diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 61db53c4..b87230ec 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -10,7 +10,9 @@ jobs: test-python: - runs-on: ubuntu-latest + # Reserved multicore instance for running tests + runs-on: + group: Beefy runners # Only run the action for the latest push # See https://docs.github.com/en/actions/using-jobs/using-concurrency#example-only-cancel-in-progress-jobs-or-runs-for-the-current-workflow @@ -56,10 +58,9 @@ jobs: poetry run install-aave-for-testing # Run tests parallel. - # By default Github gives us only 2 CPUs, but we want to parallerise a bit more. - name: Run test scripts run: | - poetry run pytest --tb=native -n 6 --dist loadscope + poetry run pytest --tb=native -n auto --dist loadscope env: BNB_CHAIN_JSON_RPC: ${{ secrets.BNB_CHAIN_JSON_RPC }} JSON_RPC_POLYGON_ARCHIVE: ${{ secrets.JSON_RPC_POLYGON_ARCHIVE }} diff --git a/.gitmodules b/.gitmodules index 1b77af81..f0c27507 100644 --- a/.gitmodules +++ b/.gitmodules @@ -10,6 +10,7 @@ [submodule "contracts/enzyme"] path = contracts/enzyme url = https://github.com/enzymefinance/protocol.git + ignore = dirty [submodule "contracts/dhedge"] path = contracts/dhedge url = https://github.com/dhedge/V2-Public.git @@ -25,3 +26,12 @@ [submodule "contracts/1delta"] path = contracts/1delta url = https://github.com/1delta-DAO/contracts-delegation.git +[submodule "contracts/guard/lib/forge-std"] + path = contracts/guard/lib/forge-std + url = https://github.com/foundry-rs/forge-std +[submodule "contracts/guard/lib/openzeppelin-contracts"] + path = contracts/guard/lib/openzeppelin-contracts + url = https://github.com/OpenZeppelin/openzeppelin-contracts +[submodule "contracts/terms-of-service"] + path = contracts/terms-of-service + url = https://github.com/tradingstrategy-ai/terms-of-service.git diff --git a/CHANGELOG.md b/CHANGELOG.md index a19f6c0c..29cafdf5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,8 +1,16 @@ # Current +- Bump web3.py to 6.12.x +- Add [Terms of Service acceptance manager integration](https://github.com/tradingstrategy-ai/terms-of-service) +- Add GuardV0 and SimpleVaultV0 implementations for creating safe automated asset managers +- Added GuardV0 support for Enzyme vaults and generic adapters - Improve logging in `wait_and_broadcast_multiple_nodes` for post-mortem analysis -- `hash(SignedTransactionWithNonce)` now is `SignedTransactionWithNonce.hash`, Ethereum transaction hash +- `hash(SignedTransactionWithNonce)` now is `SignedTransactionWithNonce.hash`, Ethereum transaction hash - Add 1delta price estimation helper `OneDeltaPriceHelper` +- Improve various utility functions +- Fix issues cleaning AST information from Enzyme contracts on certain UNIX shells +- Fix log message in the fallback provider that if we have only a single + provider don't call error handling "switching" # 0.24.6 diff --git a/Makefile b/Makefile index cfaa4950..6340c4a6 100644 --- a/Makefile +++ b/Makefile @@ -30,9 +30,33 @@ in-house: enzyme -o -name "VaultSpecificGenericAdapter.json" \ -o -name "MockEIP3009Receiver.json" \ -o -name "VaultUSDCPaymentForwarder.json" \ + -o -name "TermedVaultUSDCPaymentForwarder.json" \ + -o -name "GuardedGenericAdapter.json" \ \) \ -exec cp {} eth_defi/abi \; +# Guard and simple vault contracts +guard: + @mkdir -p eth_defi/abi/guard + @(cd contracts/guard && forge build) + @find contracts/guard/out \ + \( \ + -name "GuardV0.json" \ + -o \ + -name "SimpleVaultV0.json" \ + \) \ + -exec cp {} eth_defi/abi/guard \; + +# Terms of service acceptance manager contract +terms-of-service: + @mkdir -p eth_defi/abi/terms-of-service + @(cd contracts/terms-of-service && forge build) + @find contracts/terms-of-service/out \ + \( \ + -name "TermsOfService.json" \ + \) \ + -exec cp {} eth_defi/abi/terms-of-service \; + # Compile v3 core and periphery uniswapv3: @(cd contracts/uniswap-v3-core && yarn install && yarn compile) > /dev/null @@ -66,7 +90,8 @@ enzyme: @(cd contracts/enzyme && forge build) @mkdir -p eth_defi/abi/enzyme @find contracts/enzyme/artifacts -iname "*.json" -exec cp {} eth_defi/abi/enzyme \; - @for abi_file in eth_defi/abi/enzyme/*.json ; do cat <<< $(jq 'del(.ast)' $abi_file) > $abi_file ; done + @scripts/clean-enzyme-abi.sh + # Compile and copy dHEDGE # npm install also compiles the contracts here @@ -101,7 +126,7 @@ clean-abi: # Compile all contracts we are using # # Move ABI files to within a Python package for PyPi distribution -compile-projects-and-prepare-abi: clean-abi sushi in-house copy-uniswapv3-abi aavev3 enzyme dhedge centre 1delta +compile-projects-and-prepare-abi: clean-abi sushi in-house guard copy-uniswapv3-abi aavev3 enzyme dhedge centre 1delta all: clean-docs compile-projects-and-prepare-abi build-docs diff --git a/contracts/1delta b/contracts/1delta index bb350b36..a6aef148 160000 --- a/contracts/1delta +++ b/contracts/1delta @@ -1 +1 @@ -Subproject commit bb350b3631d53100423382e96e76effee5cf8239 +Subproject commit a6aef1486b1038029af0aed661de0125373dad3f diff --git a/contracts/guard/.github/workflows/test.yml b/contracts/guard/.github/workflows/test.yml new file mode 100644 index 00000000..9282e829 --- /dev/null +++ b/contracts/guard/.github/workflows/test.yml @@ -0,0 +1,34 @@ +name: test + +on: workflow_dispatch + +env: + FOUNDRY_PROFILE: ci + +jobs: + check: + strategy: + fail-fast: true + + name: Foundry project + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + submodules: recursive + + - name: Install Foundry + uses: foundry-rs/foundry-toolchain@v1 + with: + version: nightly + + - name: Run Forge build + run: | + forge --version + forge build --sizes + id: build + + - name: Run Forge tests + run: | + forge test -vvv + id: test diff --git a/contracts/guard/.gitignore b/contracts/guard/.gitignore new file mode 100644 index 00000000..85198aaa --- /dev/null +++ b/contracts/guard/.gitignore @@ -0,0 +1,14 @@ +# Compiler files +cache/ +out/ + +# Ignores development broadcast logs +!/broadcast +/broadcast/*/31337/ +/broadcast/**/dry-run/ + +# Docs +docs/ + +# Dotenv file +.env diff --git a/contracts/guard/README.md b/contracts/guard/README.md new file mode 100644 index 00000000..8a84a914 --- /dev/null +++ b/contracts/guard/README.md @@ -0,0 +1,48 @@ +# Guard and vault (prototype) + +This is a simple implementation of a guard smart contract and a vault smart contract + +- [GuardV0](./src/GuardV0.sol) can check whether an asset manager is allowed to do an action on behalf of the asset owners +- [SimpleVaultV0](./src/SimpleVaultV0.sol) is an example vault implementation with two roles + - Owner (who can withdraw assets) + - Asset manager (who can decide on trades) + +This code is prototype code for Trading Strategy Protocol Minimal Viable Product version +and not indented for wider distribution. + +## Guard activities + +Guard will check for activities asset manager perform, all of them which need to be whitelisted by the owner: +- Any smart contract call (contract address, selector) +- Whitelisted token (asset manager cannot trade into an unsupported token) +- Withdrawal (transfer) of assets - assets can be only withdraw back to the owner +- Uniswap v2 router swaps (approval + swap path) + +Guard can be used independently from the vault implementation. +It can be used with any asset management protocol e.g. Enzyme. + +## Simple vault + +- The vault has a guard, an asset manager and an owner +- Initially the vault is configured to allow withdrawals to the owner +- Enabling asset manager allows perform trades +- Each token needs to be separately whitelisted +- Each router needs to be separately whitelisted + +Simple vault can be used as a layer of protection for cases where the hot wallet private key +of the asset manager is compromised (asset manager can only perform legit trades, not withdraw any assets). + +## Supported protocols + +- Uniswap v2 compatibles +- Uniswap v3 compatibles +- Aave v3 compatibles (coming) +- 1delta (coming) + +## Development + +Compiling + +```shell +foundry build +``` \ No newline at end of file diff --git a/contracts/guard/foundry.toml b/contracts/guard/foundry.toml new file mode 100644 index 00000000..25b918f9 --- /dev/null +++ b/contracts/guard/foundry.toml @@ -0,0 +1,6 @@ +[profile.default] +src = "src" +out = "out" +libs = ["lib"] + +# See more config options https://github.com/foundry-rs/foundry/blob/master/crates/config/README.md#all-options diff --git a/contracts/guard/lib/forge-std b/contracts/guard/lib/forge-std new file mode 160000 index 00000000..36c303b7 --- /dev/null +++ b/contracts/guard/lib/forge-std @@ -0,0 +1 @@ +Subproject commit 36c303b7ffdd842d06b1ec2744c9b9b5fb3083f3 diff --git a/contracts/guard/lib/openzeppelin-contracts b/contracts/guard/lib/openzeppelin-contracts new file mode 160000 index 00000000..0d5f54e6 --- /dev/null +++ b/contracts/guard/lib/openzeppelin-contracts @@ -0,0 +1 @@ +Subproject commit 0d5f54e69b2a2058bc98651a2e200f558c84a953 diff --git a/contracts/guard/remappings.txt b/contracts/guard/remappings.txt new file mode 100644 index 00000000..4c90c598 --- /dev/null +++ b/contracts/guard/remappings.txt @@ -0,0 +1 @@ +@openzeppelin/=lib/openzeppelin-contracts/contracts diff --git a/contracts/guard/script/Counter.s.sol b/contracts/guard/script/Counter.s.sol new file mode 100644 index 00000000..1a47b40b --- /dev/null +++ b/contracts/guard/script/Counter.s.sol @@ -0,0 +1,12 @@ +// SPDX-License-Identifier: UNLICENSED +pragma solidity ^0.8.13; + +import {Script, console2} from "forge-std/Script.sol"; + +contract CounterScript is Script { + function setUp() public {} + + function run() public { + vm.broadcast(); + } +} diff --git a/contracts/guard/src/GuardV0.sol b/contracts/guard/src/GuardV0.sol new file mode 100644 index 00000000..3a15e2f5 --- /dev/null +++ b/contracts/guard/src/GuardV0.sol @@ -0,0 +1,253 @@ +/** + * Check for legit trade execution actions. + * + */ + +pragma solidity ^0.8.0; + +import "@openzeppelin/access/Ownable.sol"; + +interface IGuard { + function validateCall(address sender, address target, bytes memory callDataWithSelector) external; +} + +interface IUniswapV2Router02 { + function swapTokensForExactTokens( + uint amountOut, + uint amountInMax, + address[] calldata path, + address to, + uint deadline + ) external returns (uint[] memory amounts); + + function swapExactTokensForTokens( + uint amountIn, + uint amountOutMin, + address[] calldata path, + address to, + uint deadline + ) external returns (uint[] memory amounts); +} + +/** + * Prototype guard implementation. + * + * - Hardcoded actions for Uniswap v2, v3, 1delta + * + */ +contract GuardV0 is IGuard, Ownable { + + // Allowed ERC20.approve() + mapping(address target => mapping(bytes4 selector => bool allowed)) public allowedCallSites; + + // How many call sites we have enabled all-time counter. + // + // Used for diagnostics/debugging. + // + uint public callSiteCount; + + // Allowed ERC-20 tokens we may receive or send in a trade + mapping(address token => bool allowed) public allowedAssets; + + // Allowed trade executor hot wallets + mapping(address sender => bool allowed) public allowedSenders; + + // Allowed token receivers post trade + mapping(address receiver => bool allowed) public allowedReceivers; + + // Allowed owners + mapping(address destination => bool allowed) public allowedWithdrawDestinations; + + // Allowed routers + mapping(address destination => bool allowed) public allowedApprovalDestinations; + + event CallSiteApproved(address target, bytes4 selector, string notes); + event CallSiteRemoved(address target, bytes4 selector, string notes); + + event SenderApproved(address sender, string notes); + event SenderRemoved(address sender, string notes); + + event ReceiverApproved(address sender, string notes); + event ReceiverRemoved(address sender, string notes); + + event WithdrawDestinationApproved(address sender, string notes); + event WithdrawDestinationRemoved(address sender, string notes); + + event ApprovalDestinationApproved(address sender, string notes); + event ApprovalDestinationRemoved(address sender, string notes); + + event AssetApproved(address sender, string notes); + event AssetRemoved(address sender, string notes); + + constructor() Ownable() { + } + + function getSelector(string memory _func) internal pure returns (bytes4) { + // https://solidity-by-example.org/function-selector/ + return bytes4(keccak256(bytes(_func))); + } + + /** + * Get the address of the proto DAO + */ + function getGovernanceAddress() public view returns (address) { + return owner(); + } + + /** + * Track version during internal development. + * + * We bump up when new whitelistings added. + */ + function getInternalVersion() public pure returns (uint8) { + return 1; + } + + function allowCallSite(address target, bytes4 selector, string calldata notes) public onlyOwner { + allowedCallSites[target][selector] = true; + callSiteCount++; + emit CallSiteApproved(target, selector, notes); + } + + function removeCallSite(address target, bytes4 selector, string calldata notes) public onlyOwner { + delete allowedCallSites[target][selector]; + emit CallSiteRemoved(target, selector, notes); + } + + function allowSender(address sender, string calldata notes) public onlyOwner { + allowedSenders[sender] = true; + emit SenderApproved(sender, notes); + } + + function removeSender(address sender, string calldata notes) public onlyOwner { + delete allowedSenders[sender]; + emit SenderRemoved(sender, notes); + } + + function allowReceiver(address receiver, string calldata notes) public onlyOwner { + allowedReceivers[receiver] = true; + emit ReceiverApproved(receiver, notes); + } + + function removeReceiver(address receiver, string calldata notes) public onlyOwner { + delete allowedReceivers[receiver]; + emit ReceiverRemoved(receiver, notes); + } + + function allowWithdrawDestination(address destination, string calldata notes) public onlyOwner { + allowedWithdrawDestinations[destination] = true; + emit WithdrawDestinationApproved(destination, notes); + } + + function removeWithdrawDestination(address destination, string calldata notes) public onlyOwner { + delete allowedWithdrawDestinations[destination]; + emit WithdrawDestinationRemoved(destination, notes); + } + + function allowApprovalDestination(address destination, string calldata notes) public onlyOwner { + allowedApprovalDestinations[destination] = true; + emit ApprovalDestinationApproved(destination, notes); + } + + function removeApprovalDestination(address destination, string calldata notes) public onlyOwner { + delete allowedApprovalDestinations[destination]; + emit ApprovalDestinationRemoved(destination, notes); + } + + function allowAsset(address asset, string calldata notes) public onlyOwner { + allowedAssets[asset] = true; + emit AssetApproved(asset, notes); + } + + function removeAsset(address asset, string calldata notes) public onlyOwner { + delete allowedAssets[asset]; + emit AssetRemoved(asset, notes); + } + + // Basic check if any target contract is whitelisted + function isAllowedCallSite(address target, bytes4 selector) public view returns (bool) { + return allowedCallSites[target][selector]; + } + + function isAllowedSender(address sender) public view returns (bool) { + return allowedSenders[sender] == true; + } + + // Assume any tokens are send back to the vault + function isAllowedReceiver(address receiver) public view returns (bool) { + return allowedReceivers[receiver] == true; + } + + function isAllowedWithdrawDestination(address receiver) public view returns (bool) { + return allowedWithdrawDestinations[receiver] == true; + } + + function isAllowedApprovalDestination(address receiver) public view returns (bool) { + return allowedApprovalDestinations[receiver] == true; + } + + function isAllowedAsset(address token) public view returns (bool) { + return allowedAssets[token] == true; + } + + // Validate Uniswap v2 trade + function validate_swapTokensForExactTokens(bytes memory callData) public view { + (, , address[] memory path, address to, ) = abi.decode(callData, (uint, uint, address[], address, uint)); + address tokenIn = path[0]; + address tokenOut = path[path.length - 1]; + require(isAllowedReceiver(to), "Receiver address does not match"); + require(isAllowedAsset(tokenIn), "Token in not allowed"); + require(isAllowedAsset(tokenOut), "Token out not allowed"); + } + + function validate_transfer(bytes memory callData) public view { + (address to, ) = abi.decode(callData, (address, uint)); + require(isAllowedWithdrawDestination(to), "Receiver address does not match"); + } + + function validate_approve(bytes memory callData) public view { + (address to, ) = abi.decode(callData, (address, uint)); + require(isAllowedApprovalDestination(to), "Approve address does not match"); + } + + function validateCall( + address sender, + address target, + bytes calldata callDataWithSelector + ) external view { + + if(sender == getGovernanceAddress()) { + // Governance can manually recover any issue + return; + } + + require(isAllowedSender(sender), "Sender not allowed"); + + // Assume sender is trade-executor hot wallet + + bytes4 selector = bytes4(callDataWithSelector[:4]); + bytes calldata callData = callDataWithSelector[4:]; + require(isAllowedCallSite(target, selector), "Call site not allowed"); + + if(selector == getSelector("swapExactTokensForTokens(uint256,uint256,address[],address,uint256)")) { + validate_swapTokensForExactTokens(callData); + } else if(selector == getSelector("transfer(address,uint256)")) { + validate_transfer(callData); + } else if(selector == getSelector("approve(address,uint256)")) { + validate_approve(callData); + } else { + revert("Unknown function selector"); + } + } + + function whitelistToken(address token, string calldata notes) external { + allowCallSite(token, getSelector("transfer(address,uint256)"), notes); + allowCallSite(token, getSelector("approve(address,uint256)"), notes); + allowAsset(token, notes); + } + + function whitelistUniswapV2Router(address router, string calldata notes) external { + allowCallSite(router, getSelector("swapExactTokensForTokens(uint256,uint256,address[],address,uint256)"), notes); + allowApprovalDestination(router, notes); + } +} \ No newline at end of file diff --git a/contracts/guard/src/SimpleVaultV0.sol b/contracts/guard/src/SimpleVaultV0.sol new file mode 100644 index 00000000..ef7a54fd --- /dev/null +++ b/contracts/guard/src/SimpleVaultV0.sol @@ -0,0 +1,107 @@ +/** + * A very simple vault implementation. + * + */ + +pragma solidity ^0.8.0; + +import "@openzeppelin/access/Ownable.sol"; +import "@openzeppelin/token/ERC20/IERC20.sol"; + +import "./GuardV0.sol"; + + +/** + * Simple vault allowing delegating of a trading activites to a hot wallet. + * + * - Self-contained + * - Guard is used to check asset manager can only perform approved operations. + * - No shares, single owner + * - No accounting + * - No slippage protection (unlike Enzyme) + */ +contract SimpleVaultV0 is Ownable { + + address public assetManager; + + address public withdrawAddress; + + GuardV0 public guard; + + constructor(address _assetManager) Ownable() { + guard = new GuardV0(); + + // Set the initial asset manager + assetManager = _assetManager; + guard.allowSender(_assetManager, "Initial asset manager set"); + + } + + /** + * Initialise vault and guard for a withdrawal destination. + */ + function initialiseOwnership(address _owner) onlyOwner external { + // Initialise the guard where the deployer + // is the owner and can always withdraw + guard.allowWithdrawDestination(_owner, "Initial owner can withdraw"); + guard.allowReceiver(address(this), "Vault can receive tokens from a trade"); + guard.transferOwnership(_owner); // The owner of the guard is the vault creator, not the vault itself + transferOwnership(_owner); + } + + function resetGuard(GuardV0 _guard) onlyOwner external { + guard = _guard; + } + + /** + * Allow single withdrawal destination. + * + * Preferably multisig/DAO treasury address. + */ + function getWithdrawAddress() public view returns (address) { + return owner(); + } + + /** + * Asset manager can no longer trade on this vault. + * + * Emergency pause set by the governance. Disable with updateAssetManager(). + */ + function isDisabled() public view returns (bool) { + return assetManager != address(0); + } + + /** + * Change the asset manager. + * + * Set to zero address to disable asset manager. + * + */ + function updateAssetManager(address _assetManager, string calldata notes) public onlyOwner { + if(assetManager != address(0)) { + guard.removeSender(assetManager, notes); + } + assetManager = _assetManager; + if(assetManager != address(0)) { + guard.allowSender(_assetManager, notes); + } + } + + function performCall(address target, bytes calldata callData) external { + + // Check that the asset manager can perform this function + guard.validateCall(msg.sender, target, callData); + + // https://ethereum.stackexchange.com/a/69134/620 + (bool success, bytes memory returnData) = target.call(callData); + + if(!success) { + assembly{ + let revertStringLength := mload(returnData) + let revertStringPtr := add(returnData, 0x20) + revert(revertStringPtr, revertStringLength) + } + } + } + +} diff --git a/contracts/in-house/.gitignore b/contracts/in-house/.gitignore index d8a1d071..18cf2bae 100644 --- a/contracts/in-house/.gitignore +++ b/contracts/in-house/.gitignore @@ -1,2 +1,6 @@ cache/ out/ + + +# Visual studio Code +.vscode \ No newline at end of file diff --git a/contracts/in-house/foundry.toml b/contracts/in-house/foundry.toml index b8ab54bb..d1536ab2 100644 --- a/contracts/in-house/foundry.toml +++ b/contracts/in-house/foundry.toml @@ -6,6 +6,8 @@ allow_paths = ["*", "/"] # For VaultUSDCPaymentForwarder.sol solc_version = "0.6.12" +# auto_detect_solc = true + [profile.ci.fuzz] runs = 10_000 diff --git a/contracts/in-house/remappings.txt b/contracts/in-house/remappings.txt index 6f193b3e..5bf85de5 100644 --- a/contracts/in-house/remappings.txt +++ b/contracts/in-house/remappings.txt @@ -1,3 +1,2 @@ -# @openzeppelin/=lib/openzeppelin-contracts @openzeppelin/=../enzyme/node_modules/@openzeppelin @enzyme/=../enzyme/contracts \ No newline at end of file diff --git a/contracts/in-house/src/EnzymeDepositor.sol b/contracts/in-house/src/EnzymeDepositor.sol new file mode 100644 index 00000000..3dcba294 --- /dev/null +++ b/contracts/in-house/src/EnzymeDepositor.sol @@ -0,0 +1,143 @@ +/** + * Enzyme deposit manager. + * + * - Purchase shares using USDC without approve(). + * - Only USDC allowed + * - Control for the vault deposit cap + * - Check that terms of service have been agreed + * + * https://github.com/ethereum/EIPs/issues/3010 + */ + +pragma solidity 0.6.12; + +import "./IEIP3009.sol"; + +interface IEnzymeComptroller { + function buySharesOnBehalf( + address _buyer, + uint256 _investmentAmount, + uint256 _minSharesQuantity + ) external returns (uint256 sharesReceived_); +} + +/** + * Purchase shares for the user using USDC + * + * - Provide EIP-3009 wrapper around Enzyme's buyShares() function + * + * - Support receiveWithAuthorization() hooks + * + * - Support transferWithAuthorization() hooks + * + * - No approve() and extra pop-up needed when depositd to the vault + * + */ +contract VaultUSDCPaymentForwarder { + + // USDC contract + IEIP3009 public token; + + // The comptroller of the vault for which we are buying shares + // + // You can get this from vault by asking getAccessor() + // + IEnzymeComptroller public comptroller; + + // Total USDC that has passed through this contract + uint256 public amountProxied; + + constructor(IEIP3009 _token, IEnzymeComptroller _comptroller) public { + token = _token; + comptroller = _comptroller; + } + + function buySharesOnBehalfUsingTransferWithAuthorization( + address from, + address to, + uint256 value, + uint256 validAfter, + uint256 validBefore, + bytes32 nonce, + uint8 v, + bytes32 r, + bytes32 s, + uint256 minSharesQuantity + ) + public + returns (uint256) + { + + // Call EIP-3009 token and ask it to transfer the amount of tokens + // tok this contract from the sender + token.transferWithAuthorization( + from, + to, + value, + validAfter, + validBefore, + nonce, + v, + r, + s + ); + + token.approve(address(comptroller), value); + uint256 sharesReceived = comptroller.buySharesOnBehalf( + msg.sender, + value, + minSharesQuantity + ); + + // Increase the internal ledger of how much shares purchases + // we have proxied + amountProxied += value; + + return sharesReceived; + } + + function buySharesOnBehalfUsingReceiveWithAuthorization( + address from, + address to, + uint256 value, + uint256 validAfter, + uint256 validBefore, + bytes32 nonce, + uint8 v, + bytes32 r, + bytes32 s, + uint256 minSharesQuantity + ) + public + returns (uint256) + { + require(to == address(this), "Recipient is not this contract"); + + // Call EIP-3009 token and ask it to transfer the amount of tokens + // tok this contract from the sender + token.receiveWithAuthorization( + from, + to, + value, + validAfter, + validBefore, + nonce, + v, + r, + s + ); + + token.approve(address(comptroller), value); + uint256 sharesReceived = comptroller.buySharesOnBehalf( + msg.sender, + value, + minSharesQuantity + ); + + // Increase the internal ledger of how much shares purchases + // we have proxied + amountProxied += value; + + return sharesReceived; + } +} \ No newline at end of file diff --git a/contracts/in-house/src/GuardedGenericAdapter.sol b/contracts/in-house/src/GuardedGenericAdapter.sol new file mode 100644 index 00000000..2a4df502 --- /dev/null +++ b/contracts/in-house/src/GuardedGenericAdapter.sol @@ -0,0 +1,188 @@ +/** + * Guarded generic vault implementation. + */ + +pragma solidity ^0.6.12; +pragma experimental ABIEncoderV2; + + +import "@enzyme/release/extensions/integration-manager/integrations/utils/AdapterBase.sol"; +import "@enzyme/release/core/fund/vault/VaultLib.sol"; +//import "@enzyme/release/core/fund/vault/VaultLib.sol"; +//import "@enzyme/release/core/fund/vault/IVault.sol"; +//import "@enzyme/release/extensions/integration-manager/integrations/utils/AdapterBase.sol"; +//import "@enzyme/release/extensions/integration-manager/integrations/utils/AdapterBase.sol"; +//import "@enzyme/contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol"; + +//interface IVault { + // Circular imports in Enzyme +//} + +interface IGuard { + function validateCall(address sender, address target, bytes calldata callDataWithSelector) external; +} + +/** + * A generic adapter for Enzyme vault with our own guard mechanism. + * + * - Guard checks the asset manager cannot perform actions + * that are not allowed (withdraw, trade wrong tokens) + * + * - Governance address can still perform hese actions + * + * - Adapter is associated with a specific vault + * + */ +contract GuardedGenericAdapter is AdapterBase { + + // The vault this adapter is associated with. + // + // Enzyme allows adapters to serve multiple vaults, + // but we limit to a specific vault to reduce the security + // footprint. + // + IVault public vault; + + // Guard implementation associated with this vault + IGuard public guard; + + // Tell enzyme what is our selector when we call this adapter + bytes4 public constant EXECUTE_CALLS_SELECTOR = bytes4( + keccak256("executeCalls(address,bytes,bytes)") + ); + + constructor( + address _integrationManager, + IVault _vault, + IGuard _guard + ) public AdapterBase(_integrationManager) { + //vault = _whitelistedVault; + // Check the vault is proper vault contract + // Only if the crappy Solidity development tooling had interfaces people use + vault = _vault; + // Sanity check for smart contract integration - mainly checks vault providers getCreator() as an interface check + require(vault.getCreator() != 0x0000000000000000000000000000000000000000, "Encountered funny vault"); + guard = _guard; + } + + // EXTERNAL FUNCTIONS + + /// @notice Executes a sequence of calls + /// @param _vaultProxy The VaultProxy of the calling fund + /// @param _actionData Data specific to this action + function executeCalls( + address _vaultProxy, + bytes calldata _actionData, + bytes calldata + ) + external + onlyIntegrationManager + postActionIncomingAssetsTransferHandler(_vaultProxy, _actionData) + postActionSpendAssetsTransferHandler(_vaultProxy, _actionData) + { + require(_vaultProxy == address(vault), "Only calls from the whitelisted vault are allowed"); + + (, , , , bytes memory externalCallsData) = __decodeCallArgs(_actionData); + + (address[] memory contracts, bytes[] memory callsData) = __decodeExternalCallsData( + externalCallsData + ); + + for (uint256 i; i < contracts.length; i++) { + callGuarded(contracts[i], callsData[i]); + } + } + + /** + * Checks if the asset manager is allowed to do this action with the guard smart contract. + * + * Then perform the action. If the action reverts, unwind the execution. + */ + function callGuarded(address contractAddress, bytes memory callData) internal { + // TODO: Looks like currently Enzyme does not pass the asset manager + // address that initiated the call, so we just use generic adapter address + // as the asset manager + guard.validateCall(address(vault), contractAddress, callData); + + (bool success, bytes memory returnData) = contractAddress.call(callData); + + if(!success) { + assembly{ + let revertStringLength := mload(returnData) + let revertStringPtr := add(returnData, 0x20) + revert(revertStringPtr, revertStringLength) + } + } + // require(success, string(returnData)); + } + + /// @notice Parses the expected assets in a particular action + /// @param _selector The function selector for the callOnIntegration + /// @param _actionData Data specific to this action + /// @return spendAssetsHandleType_ A type that dictates how to handle granting + /// the adapter access to spend assets (hardcoded to `Transfer`) + /// @return spendAssets_ The assets to spend in the call + /// @return spendAssetAmounts_ The max asset amounts to spend in the call + /// @return incomingAssets_ The assets to receive in the call + /// @return minIncomingAssetAmounts_ The min asset amounts to receive in the call + function parseAssetsForAction( + address, + bytes4 _selector, + bytes calldata _actionData + ) + external + view + override + returns ( + IIntegrationManager.SpendAssetsHandleType spendAssetsHandleType_, + address[] memory spendAssets_, + uint256[] memory spendAssetAmounts_, + address[] memory incomingAssets_, + uint256[] memory minIncomingAssetAmounts_ + ) + { + require(_selector == EXECUTE_CALLS_SELECTOR, "parseAssetsForAction: _selector invalid"); + + ( + incomingAssets_, + minIncomingAssetAmounts_, + spendAssets_, + spendAssetAmounts_, + + ) = __decodeCallArgs(_actionData); + + return ( + IIntegrationManager.SpendAssetsHandleType.Transfer, + spendAssets_, + spendAssetAmounts_, + incomingAssets_, + minIncomingAssetAmounts_ + ); + } + + /// @dev Helper to decode the encoded callOnIntegration call arguments + function __decodeCallArgs(bytes calldata _actionData) + private + pure + returns ( + address[] memory incomingAssets_, + uint256[] memory minIncomingAssetsAmounts_, + address[] memory spendAssets_, + uint256[] memory spendAssetAmounts_, + bytes memory externalCallsData_ + ) + { + return abi.decode(_actionData, (address[], uint256[], address[], uint256[], bytes)); + } + + /// @dev Helper to decode the stack of external contract calls + function __decodeExternalCallsData(bytes memory _externalCallsData) + private + pure + returns (address[] memory contracts_, bytes[] memory callsData_) + { + (contracts_, callsData_) = abi.decode(_externalCallsData, (address[], bytes[])); + require(contracts_.length == callsData_.length, "Unequal external calls arrays lengths"); + return (contracts_, callsData_); + } +} diff --git a/contracts/in-house/src/TermedVaultUSDCPaymentForwarder.sol b/contracts/in-house/src/TermedVaultUSDCPaymentForwarder.sol new file mode 100644 index 00000000..222e40a9 --- /dev/null +++ b/contracts/in-house/src/TermedVaultUSDCPaymentForwarder.sol @@ -0,0 +1,135 @@ +/** + * Purchase shares using USDC without approve() + * + * https://github.com/ethereum/EIPs/issues/3010 + */ + +pragma solidity 0.6.12; + +import "./IEIP3009.sol"; + +/** + * Copy-pated because Enzyme compiler version differences. + */ +interface ITermsOfService { + function canAddressProceed(address sender) external returns (bool accepted); + function signTermsOfServiceBehalf(address signer, bytes32 hash, bytes calldata signature, bytes calldata metadata) external; +} + + + +interface IEnzymeComptroller { + function buySharesOnBehalf( + address _buyer, + uint256 _investmentAmount, + uint256 _minSharesQuantity + ) external returns (uint256 sharesReceived_); +} + + + +/** + * Purchase shares for the user using USDC and update terms of service. + * + * - Provide EIP-3009 wrapper around Enzyme's buyShares() function + * + * - Support receiveWithAuthorization() hooks + * + * - Support transferWithAuthorization() hooks + * + * - No approve() and extra pop-up needed when depositd to the vault + * + */ +contract TermedVaultUSDCPaymentForwarder { + + // USDC contract + IEIP3009 public token; + + // Terms of service acceptance management contract + ITermsOfService public termsOfService; + + // The comptroller of the vault for which we are buying shares + // + // You can get this from vault by asking getAccessor() + // + IEnzymeComptroller public comptroller; + + // Total USDC that has passed through this contract + uint256 public amountProxied; + + constructor(IEIP3009 _token, IEnzymeComptroller _comptroller, ITermsOfService _termsOfService) public { + token = _token; + comptroller = _comptroller; + termsOfService = _termsOfService; + } + + /** + * An interface flag to separate us from VaultUSDCPaymentForwarder for legacy compat. + */ + function isTermsOfServiceEnabled() public pure returns (bool) { + return true; + } + + /** + * + */ + function buySharesOnBehalfUsingTransferWithAuthorizationAndTermsOfService( + address from, + address to, + uint256 value, + uint256 validAfter, + uint256 validBefore, + bytes32 nonce, + uint8 v, + bytes32 r, + bytes32 s, + uint256 minSharesQuantity, + bytes32 termsOfServiceHash, + bytes calldata termsOfServiceSignature + ) + external + returns (uint256) + { + + // Check terms of service is up-to-date for this user + // (Or what frontend thought when it created the transaction) + if(termsOfServiceHash != bytes32(0)) { + // Forward signature payload to the terms of service manager + // TODO: If we pass any signTermsOfServiceBehalf(metadata) here we get + // Error: Compiler error (/Users/distiller/project/libsolidity/codegen/LValue.cpp:54):Stack too deep, try removing local variables., + // and thus metadata passing is removed + termsOfService.signTermsOfServiceBehalf(from, termsOfServiceHash, termsOfServiceSignature, ""); + } + + require(termsOfService.canAddressProceed(from), "Terms of service check failed, cannot proceed to deposit"); + + // Call EIP-3009 token and ask it to transfer the amount of tokens + // tok this contract from the sender + token.transferWithAuthorization( + from, + to, + value, + validAfter, + validBefore, + nonce, + v, + r, + s + ); + + // Buy Enzyme vaults on behalf of this user + token.approve(address(comptroller), value); + uint256 sharesReceived = comptroller.buySharesOnBehalf( + msg.sender, + value, + minSharesQuantity + ); + + // Increase the internal ledger of how much shares purchases + // we have proxied + amountProxied += value; + + return sharesReceived; + } + +} \ No newline at end of file diff --git a/contracts/in-house/src/VaultSpecificGenericAdapter.sol b/contracts/in-house/src/VaultSpecificGenericAdapter.sol index 7fdf8f56..5df06022 100644 --- a/contracts/in-house/src/VaultSpecificGenericAdapter.sol +++ b/contracts/in-house/src/VaultSpecificGenericAdapter.sol @@ -6,6 +6,7 @@ pragma experimental ABIEncoderV2; import "@enzyme/release/extensions/integration-manager/integrations/utils/AdapterBase.sol"; import "@enzyme/release/core/fund/vault/VaultLib.sol"; + /** * A vault contract specific adapter/ * diff --git a/contracts/terms-of-service b/contracts/terms-of-service new file mode 160000 index 00000000..2ca3ee96 --- /dev/null +++ b/contracts/terms-of-service @@ -0,0 +1 @@ +Subproject commit 2ca3ee964e5b959d9373207b980fcf2f4fe636b9 diff --git a/eth_defi/abi.py b/eth_defi/abi.py index e13763d0..a39dbca5 100644 --- a/eth_defi/abi.py +++ b/eth_defi/abi.py @@ -16,6 +16,8 @@ import eth_abi from eth_abi import decode from eth_typing import HexAddress +from eth_utils import encode_hex, function_abi_to_4byte_selector +from eth_utils.abi import _abi_to_signature, function_signature_to_4byte_selector from hexbytes import HexBytes from web3 import Web3 from web3._utils.abi import get_abi_input_names, get_abi_input_types @@ -25,7 +27,6 @@ # Cache loaded ABI files in-process memory for speedup from web3.datastructures import AttributeDict -from eth_defi.uniswap_v2.utils import ZERO_ADDRESS from eth_defi.utils import ZERO_ADDRESS_STR # How big are our ABI and contract caches @@ -431,3 +432,35 @@ def _get_contract_address(name: str): # print(f"Linking {contract_name} {start} {address}") return data + + +def get_function_selector(func: ContractFunction) -> bytes: + """Get Solidity function selector. + + Does not support multiple Solidity functions with the same name, but + different arguments. On multiple functions + use one first declared in ABI. + + Example: + + .. code-block:: python + + selector = get_function_selector(uniswap_v2.router.functions.swapExactTokensForTokens) + assert selector.hex() == 38ed1739 + + :param func: + Unbound or bound contract function proxy + + :return: + Solidity function selector. + + First 32-bit (4 bytes) keccak hash. + """ + + contract_abi = func.contract_abi + # https://stackoverflow.com/a/8534381/315168 + fn_abi = next((a for a in contract_abi if a.get("name") == func.fn_name), None) + assert fn_abi, f"Could not find function {func.fn_name} in Contract ABI" + function_signature = _abi_to_signature(fn_abi) + fn_selector = function_signature_to_4byte_selector(function_signature) # type: ignore + return fn_selector diff --git a/eth_defi/abi/ChainlinkAggregatorV2V3Interface.json b/eth_defi/abi/ChainlinkAggregatorV2V3Interface.json index 7c660419..d5e00375 100644 --- a/eth_defi/abi/ChainlinkAggregatorV2V3Interface.json +++ b/eth_defi/abi/ChainlinkAggregatorV2V3Interface.json @@ -1,1701 +1 @@ -{ - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "int256", - "name": "current", - "type": "int256" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "roundId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "timestamp", - "type": "uint256" - } - ], - "name": "AnswerUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint256", - "name": "roundId", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "address", - "name": "startedBy", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "startedAt", - "type": "uint256" - } - ], - "name": "NewRound", - "type": "event" - }, - { - "inputs": [], - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "description", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "roundId", - "type": "uint256" - } - ], - "name": "getAnswer", - "outputs": [ - { - "internalType": "int256", - "name": "", - "type": "int256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint80", - "name": "_roundId", - "type": "uint80" - } - ], - "name": "getRoundData", - "outputs": [ - { - "internalType": "uint80", - "name": "roundId", - "type": "uint80" - }, - { - "internalType": "int256", - "name": "answer", - "type": "int256" - }, - { - "internalType": "uint256", - "name": "startedAt", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "updatedAt", - "type": "uint256" - }, - { - "internalType": "uint80", - "name": "answeredInRound", - "type": "uint80" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "roundId", - "type": "uint256" - } - ], - "name": "getTimestamp", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "latestAnswer", - "outputs": [ - { - "internalType": "int256", - "name": "", - "type": "int256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "latestRound", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "latestRoundData", - "outputs": [ - { - "internalType": "uint80", - "name": "roundId", - "type": "uint80" - }, - { - "internalType": "int256", - "name": "answer", - "type": "int256" - }, - { - "internalType": "uint256", - "name": "startedAt", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "updatedAt", - "type": "uint256" - }, - { - "internalType": "uint80", - "name": "answeredInRound", - "type": "uint80" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "latestTimestamp", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "version", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "decimals()": "313ce567", - "description()": "7284e416", - "getAnswer(uint256)": "b5ab58dc", - "getRoundData(uint80)": "9a6fc8f5", - "getTimestamp(uint256)": "b633620c", - "latestAnswer()": "50d25bcd", - "latestRound()": "668a0f02", - "latestRoundData()": "feaf968c", - "latestTimestamp()": "8205bf6a", - "version()": "54fd4d50" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"int256\",\"name\":\"current\",\"type\":\"int256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"name\":\"AnswerUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"startedBy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"startedAt\",\"type\":\"uint256\"}],\"name\":\"NewRound\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"description\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"getAnswer\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint80\",\"name\":\"_roundId\",\"type\":\"uint80\"}],\"name\":\"getRoundData\",\"outputs\":[{\"internalType\":\"uint80\",\"name\":\"roundId\",\"type\":\"uint80\"},{\"internalType\":\"int256\",\"name\":\"answer\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"startedAt\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"updatedAt\",\"type\":\"uint256\"},{\"internalType\":\"uint80\",\"name\":\"answeredInRound\",\"type\":\"uint80\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"getTimestamp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"latestAnswer\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"latestRound\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"latestRoundData\",\"outputs\":[{\"internalType\":\"uint80\",\"name\":\"roundId\",\"type\":\"uint80\"},{\"internalType\":\"int256\",\"name\":\"answer\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"startedAt\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"updatedAt\",\"type\":\"uint256\"},{\"internalType\":\"uint80\",\"name\":\"answeredInRound\",\"type\":\"uint80\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"latestTimestamp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"title\":\"The V2 & V3 Aggregator Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Solidity V0.5 does not allow interfaces to inherit from other interfaces so this contract is a combination of v0.5 AggregatorInterface.sol and v0.5 AggregatorV3Interface.sol.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/ChainlinkAggregatorV2V3Interface.sol\":\"ChainlinkAggregatorV2V3Interface\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":# @openzeppelin/=lib/openzeppelin-contracts/\",\":@enzyme/=../enzyme/contracts/\",\":@openzeppelin/=../enzyme/node_modules/@openzeppelin/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\"]},\"sources\":{\"src/ChainlinkAggregatorV2V3Interface.sol\":{\"keccak256\":\"0x791a2add4d31037194e34fd2a881cd94e030b610093142ea0b4361267e5603ed\",\"urls\":[\"bzz-raw://95818d13ccf7908c0e48ae2c3712d51337bfce68597cc3b9b3d29e8f673e0a02\",\"dweb:/ipfs/QmNr3PQEff4CwYCJAnhp4CdoanxJdQ35GGJxrSqLfD6Bmm\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "int256", - "name": "current", - "type": "int256", - "indexed": true - }, - { - "internalType": "uint256", - "name": "roundId", - "type": "uint256", - "indexed": true - }, - { - "internalType": "uint256", - "name": "timestamp", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "AnswerUpdated", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "roundId", - "type": "uint256", - "indexed": true - }, - { - "internalType": "address", - "name": "startedBy", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "startedAt", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "NewRound", - "anonymous": false - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "description", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "roundId", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getAnswer", - "outputs": [ - { - "internalType": "int256", - "name": "", - "type": "int256" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint80", - "name": "_roundId", - "type": "uint80" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getRoundData", - "outputs": [ - { - "internalType": "uint80", - "name": "roundId", - "type": "uint80" - }, - { - "internalType": "int256", - "name": "answer", - "type": "int256" - }, - { - "internalType": "uint256", - "name": "startedAt", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "updatedAt", - "type": "uint256" - }, - { - "internalType": "uint80", - "name": "answeredInRound", - "type": "uint80" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "roundId", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getTimestamp", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "latestAnswer", - "outputs": [ - { - "internalType": "int256", - "name": "", - "type": "int256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "latestRound", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "latestRoundData", - "outputs": [ - { - "internalType": "uint80", - "name": "roundId", - "type": "uint80" - }, - { - "internalType": "int256", - "name": "answer", - "type": "int256" - }, - { - "internalType": "uint256", - "name": "startedAt", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "updatedAt", - "type": "uint256" - }, - { - "internalType": "uint80", - "name": "answeredInRound", - "type": "uint80" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "latestTimestamp", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "version", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":# @openzeppelin/=lib/openzeppelin-contracts/", - ":@enzyme/=../enzyme/contracts/", - ":@openzeppelin/=../enzyme/node_modules/@openzeppelin/", - ":openzeppelin-contracts/=lib/openzeppelin-contracts/" - ], - "optimizer": { - "enabled": true, - "runs": 200 - }, - "metadata": { - "bytecodeHash": "ipfs" - }, - "compilationTarget": { - "src/ChainlinkAggregatorV2V3Interface.sol": "ChainlinkAggregatorV2V3Interface" - }, - "libraries": {} - }, - "sources": { - "src/ChainlinkAggregatorV2V3Interface.sol": { - "keccak256": "0x791a2add4d31037194e34fd2a881cd94e030b610093142ea0b4361267e5603ed", - "urls": [ - "bzz-raw://95818d13ccf7908c0e48ae2c3712d51337bfce68597cc3b9b3d29e8f673e0a02", - "dweb:/ipfs/QmNr3PQEff4CwYCJAnhp4CdoanxJdQ35GGJxrSqLfD6Bmm" - ], - "license": null - } - }, - "version": 1 - }, - "ast": { - "absolutePath": "src/ChainlinkAggregatorV2V3Interface.sol", - "id": 7097, - "exportedSymbols": { - "ChainlinkAggregatorV2V3Interface": [ - 7096 - ] - }, - "nodeType": "SourceUnit", - "src": "113:1662:74", - "nodes": [ - { - "id": 7006, - "nodeType": "PragmaDirective", - "src": "113:24:74", - "nodes": [], - "literals": [ - "solidity", - ">=", - "0.5", - ".0" - ] - }, - { - "id": 7096, - "nodeType": "ContractDefinition", - "src": "382:1392:74", - "nodes": [ - { - "id": 7012, - "nodeType": "FunctionDefinition", - "src": "458:55:74", - "nodes": [], - "documentation": null, - "functionSelector": "50d25bcd", - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "latestAnswer", - "overrides": null, - "parameters": { - "id": 7008, - "nodeType": "ParameterList", - "parameters": [], - "src": "479:2:74" - }, - "returnParameters": { - "id": 7011, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7010, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7012, - "src": "505:6:74", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "typeName": { - "id": 7009, - "name": "int256", - "nodeType": "ElementaryTypeName", - "src": "505:6:74", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "504:8:74" - }, - "scope": 7096, - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "id": 7017, - "nodeType": "FunctionDefinition", - "src": "516:59:74", - "nodes": [], - "documentation": null, - "functionSelector": "8205bf6a", - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "latestTimestamp", - "overrides": null, - "parameters": { - "id": 7013, - "nodeType": "ParameterList", - "parameters": [], - "src": "540:2:74" - }, - "returnParameters": { - "id": 7016, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7015, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7017, - "src": "566:7:74", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7014, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "566:7:74", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "565:9:74" - }, - "scope": 7096, - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "id": 7022, - "nodeType": "FunctionDefinition", - "src": "578:55:74", - "nodes": [], - "documentation": null, - "functionSelector": "668a0f02", - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "latestRound", - "overrides": null, - "parameters": { - "id": 7018, - "nodeType": "ParameterList", - "parameters": [], - "src": "598:2:74" - }, - "returnParameters": { - "id": 7021, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7020, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7022, - "src": "624:7:74", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7019, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "624:7:74", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "623:9:74" - }, - "scope": 7096, - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "id": 7029, - "nodeType": "FunctionDefinition", - "src": "636:67:74", - "nodes": [], - "documentation": null, - "functionSelector": "b5ab58dc", - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getAnswer", - "overrides": null, - "parameters": { - "id": 7025, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7024, - "mutability": "mutable", - "name": "roundId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7029, - "src": "655:15:74", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7023, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "655:7:74", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "654:17:74" - }, - "returnParameters": { - "id": 7028, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7027, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7029, - "src": "695:6:74", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "typeName": { - "id": 7026, - "name": "int256", - "nodeType": "ElementaryTypeName", - "src": "695:6:74", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "694:8:74" - }, - "scope": 7096, - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "id": 7036, - "nodeType": "FunctionDefinition", - "src": "706:71:74", - "nodes": [], - "documentation": null, - "functionSelector": "b633620c", - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getTimestamp", - "overrides": null, - "parameters": { - "id": 7032, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7031, - "mutability": "mutable", - "name": "roundId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7036, - "src": "728:15:74", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7030, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "728:7:74", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "727:17:74" - }, - "returnParameters": { - "id": 7035, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7034, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7036, - "src": "768:7:74", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7033, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "768:7:74", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "767:9:74" - }, - "scope": 7096, - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "id": 7044, - "nodeType": "EventDefinition", - "src": "781:88:74", - "nodes": [], - "anonymous": false, - "documentation": null, - "name": "AnswerUpdated", - "parameters": { - "id": 7043, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7038, - "indexed": true, - "mutability": "mutable", - "name": "current", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7044, - "src": "801:22:74", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "typeName": { - "id": 7037, - "name": "int256", - "nodeType": "ElementaryTypeName", - "src": "801:6:74", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7040, - "indexed": true, - "mutability": "mutable", - "name": "roundId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7044, - "src": "825:23:74", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7039, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "825:7:74", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7042, - "indexed": false, - "mutability": "mutable", - "name": "timestamp", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7044, - "src": "850:17:74", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7041, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "850:7:74", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "800:68:74" - } - }, - { - "id": 7052, - "nodeType": "EventDefinition", - "src": "872:86:74", - "nodes": [], - "anonymous": false, - "documentation": null, - "name": "NewRound", - "parameters": { - "id": 7051, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7046, - "indexed": true, - "mutability": "mutable", - "name": "roundId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7052, - "src": "887:23:74", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7045, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "887:7:74", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7048, - "indexed": true, - "mutability": "mutable", - "name": "startedBy", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7052, - "src": "912:25:74", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7047, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "912:7:74", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7050, - "indexed": false, - "mutability": "mutable", - "name": "startedAt", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7052, - "src": "939:17:74", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7049, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "939:7:74", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "886:71:74" - } - }, - { - "id": 7057, - "nodeType": "FunctionDefinition", - "src": "991:50:74", - "nodes": [], - "documentation": null, - "functionSelector": "313ce567", - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "decimals", - "overrides": null, - "parameters": { - "id": 7053, - "nodeType": "ParameterList", - "parameters": [], - "src": "1008:2:74" - }, - "returnParameters": { - "id": 7056, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7055, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7057, - "src": "1034:5:74", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 7054, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "1034:5:74", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1033:7:74" - }, - "scope": 7096, - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "id": 7062, - "nodeType": "FunctionDefinition", - "src": "1044:61:74", - "nodes": [], - "documentation": null, - "functionSelector": "7284e416", - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "description", - "overrides": null, - "parameters": { - "id": 7058, - "nodeType": "ParameterList", - "parameters": [], - "src": "1064:2:74" - }, - "returnParameters": { - "id": 7061, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7060, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7062, - "src": "1090:13:74", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 7059, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "1090:6:74", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1089:15:74" - }, - "scope": 7096, - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "id": 7067, - "nodeType": "FunctionDefinition", - "src": "1108:51:74", - "nodes": [], - "documentation": null, - "functionSelector": "54fd4d50", - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "version", - "overrides": null, - "parameters": { - "id": 7063, - "nodeType": "ParameterList", - "parameters": [], - "src": "1124:2:74" - }, - "returnParameters": { - "id": 7066, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7065, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7067, - "src": "1150:7:74", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7064, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1150:7:74", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1149:9:74" - }, - "scope": 7096, - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "id": 7082, - "nodeType": "FunctionDefinition", - "src": "1374:203:74", - "nodes": [], - "documentation": null, - "functionSelector": "9a6fc8f5", - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getRoundData", - "overrides": null, - "parameters": { - "id": 7070, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7069, - "mutability": "mutable", - "name": "_roundId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7082, - "src": "1396:15:74", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint80", - "typeString": "uint80" - }, - "typeName": { - "id": 7068, - "name": "uint80", - "nodeType": "ElementaryTypeName", - "src": "1396:6:74", - "typeDescriptions": { - "typeIdentifier": "t_uint80", - "typeString": "uint80" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1395:17:74" - }, - "returnParameters": { - "id": 7081, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7072, - "mutability": "mutable", - "name": "roundId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7082, - "src": "1455:14:74", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint80", - "typeString": "uint80" - }, - "typeName": { - "id": 7071, - "name": "uint80", - "nodeType": "ElementaryTypeName", - "src": "1455:6:74", - "typeDescriptions": { - "typeIdentifier": "t_uint80", - "typeString": "uint80" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7074, - "mutability": "mutable", - "name": "answer", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7082, - "src": "1477:13:74", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "typeName": { - "id": 7073, - "name": "int256", - "nodeType": "ElementaryTypeName", - "src": "1477:6:74", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7076, - "mutability": "mutable", - "name": "startedAt", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7082, - "src": "1498:17:74", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7075, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1498:7:74", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7078, - "mutability": "mutable", - "name": "updatedAt", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7082, - "src": "1523:17:74", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7077, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1523:7:74", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7080, - "mutability": "mutable", - "name": "answeredInRound", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7082, - "src": "1548:22:74", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint80", - "typeString": "uint80" - }, - "typeName": { - "id": 7079, - "name": "uint80", - "nodeType": "ElementaryTypeName", - "src": "1548:6:74", - "typeDescriptions": { - "typeIdentifier": "t_uint80", - "typeString": "uint80" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1447:129:74" - }, - "scope": 7096, - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "id": 7095, - "nodeType": "FunctionDefinition", - "src": "1580:191:74", - "nodes": [], - "documentation": null, - "functionSelector": "feaf968c", - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "latestRoundData", - "overrides": null, - "parameters": { - "id": 7083, - "nodeType": "ParameterList", - "parameters": [], - "src": "1604:2:74" - }, - "returnParameters": { - "id": 7094, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7085, - "mutability": "mutable", - "name": "roundId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7095, - "src": "1649:14:74", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint80", - "typeString": "uint80" - }, - "typeName": { - "id": 7084, - "name": "uint80", - "nodeType": "ElementaryTypeName", - "src": "1649:6:74", - "typeDescriptions": { - "typeIdentifier": "t_uint80", - "typeString": "uint80" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7087, - "mutability": "mutable", - "name": "answer", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7095, - "src": "1671:13:74", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "typeName": { - "id": 7086, - "name": "int256", - "nodeType": "ElementaryTypeName", - "src": "1671:6:74", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7089, - "mutability": "mutable", - "name": "startedAt", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7095, - "src": "1692:17:74", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7088, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1692:7:74", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7091, - "mutability": "mutable", - "name": "updatedAt", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7095, - "src": "1717:17:74", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7090, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1717:7:74", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7093, - "mutability": "mutable", - "name": "answeredInRound", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7095, - "src": "1742:22:74", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint80", - "typeString": "uint80" - }, - "typeName": { - "id": 7092, - "name": "uint80", - "nodeType": "ElementaryTypeName", - "src": "1742:6:74", - "typeDescriptions": { - "typeIdentifier": "t_uint80", - "typeString": "uint80" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1641:129:74" - }, - "scope": 7096, - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": { - "id": 7007, - "nodeType": "StructuredDocumentation", - "src": "139:242:74", - "text": " @title The V2 & V3 Aggregator Interface\n @notice Solidity V0.5 does not allow interfaces to inherit from other\n interfaces so this contract is a combination of v0.5 AggregatorInterface.sol\n and v0.5 AggregatorV3Interface.sol." - }, - "fullyImplemented": false, - "linearizedBaseContracts": [ - 7096 - ], - "name": "ChainlinkAggregatorV2V3Interface", - "scope": 7097 - } - ], - "license": null - }, - "id": 74 -} \ No newline at end of file +{"abi":[{"type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"description","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"getAnswer","inputs":[{"name":"roundId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"int256","internalType":"int256"}],"stateMutability":"view"},{"type":"function","name":"getRoundData","inputs":[{"name":"_roundId","type":"uint80","internalType":"uint80"}],"outputs":[{"name":"roundId","type":"uint80","internalType":"uint80"},{"name":"answer","type":"int256","internalType":"int256"},{"name":"startedAt","type":"uint256","internalType":"uint256"},{"name":"updatedAt","type":"uint256","internalType":"uint256"},{"name":"answeredInRound","type":"uint80","internalType":"uint80"}],"stateMutability":"view"},{"type":"function","name":"getTimestamp","inputs":[{"name":"roundId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"latestAnswer","inputs":[],"outputs":[{"name":"","type":"int256","internalType":"int256"}],"stateMutability":"view"},{"type":"function","name":"latestRound","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"latestRoundData","inputs":[],"outputs":[{"name":"roundId","type":"uint80","internalType":"uint80"},{"name":"answer","type":"int256","internalType":"int256"},{"name":"startedAt","type":"uint256","internalType":"uint256"},{"name":"updatedAt","type":"uint256","internalType":"uint256"},{"name":"answeredInRound","type":"uint80","internalType":"uint80"}],"stateMutability":"view"},{"type":"function","name":"latestTimestamp","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"version","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"event","name":"AnswerUpdated","inputs":[{"name":"current","type":"int256","indexed":true,"internalType":"int256"},{"name":"roundId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"timestamp","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"NewRound","inputs":[{"name":"roundId","type":"uint256","indexed":true,"internalType":"uint256"},{"name":"startedBy","type":"address","indexed":true,"internalType":"address"},{"name":"startedAt","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"decimals()":"313ce567","description()":"7284e416","getAnswer(uint256)":"b5ab58dc","getRoundData(uint80)":"9a6fc8f5","getTimestamp(uint256)":"b633620c","latestAnswer()":"50d25bcd","latestRound()":"668a0f02","latestRoundData()":"feaf968c","latestTimestamp()":"8205bf6a","version()":"54fd4d50"},"rawMetadata":"{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"int256\",\"name\":\"current\",\"type\":\"int256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"name\":\"AnswerUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"startedBy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"startedAt\",\"type\":\"uint256\"}],\"name\":\"NewRound\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"description\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"getAnswer\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint80\",\"name\":\"_roundId\",\"type\":\"uint80\"}],\"name\":\"getRoundData\",\"outputs\":[{\"internalType\":\"uint80\",\"name\":\"roundId\",\"type\":\"uint80\"},{\"internalType\":\"int256\",\"name\":\"answer\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"startedAt\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"updatedAt\",\"type\":\"uint256\"},{\"internalType\":\"uint80\",\"name\":\"answeredInRound\",\"type\":\"uint80\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"}],\"name\":\"getTimestamp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"latestAnswer\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"latestRound\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"latestRoundData\",\"outputs\":[{\"internalType\":\"uint80\",\"name\":\"roundId\",\"type\":\"uint80\"},{\"internalType\":\"int256\",\"name\":\"answer\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"startedAt\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"updatedAt\",\"type\":\"uint256\"},{\"internalType\":\"uint80\",\"name\":\"answeredInRound\",\"type\":\"uint80\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"latestTimestamp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"title\":\"The V2 & V3 Aggregator Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Solidity V0.5 does not allow interfaces to inherit from other interfaces so this contract is a combination of v0.5 AggregatorInterface.sol and v0.5 AggregatorV3Interface.sol.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/ChainlinkAggregatorV2V3Interface.sol\":\"ChainlinkAggregatorV2V3Interface\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@enzyme/=../enzyme/contracts/\",\":@openzeppelin/=../enzyme/node_modules/@openzeppelin/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/openzeppelin-contracts/lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\"]},\"sources\":{\"src/ChainlinkAggregatorV2V3Interface.sol\":{\"keccak256\":\"0x791a2add4d31037194e34fd2a881cd94e030b610093142ea0b4361267e5603ed\",\"urls\":[\"bzz-raw://95818d13ccf7908c0e48ae2c3712d51337bfce68597cc3b9b3d29e8f673e0a02\",\"dweb:/ipfs/QmNr3PQEff4CwYCJAnhp4CdoanxJdQ35GGJxrSqLfD6Bmm\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.6.12+commit.27d51765"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"int256","name":"current","type":"int256","indexed":true},{"internalType":"uint256","name":"roundId","type":"uint256","indexed":true},{"internalType":"uint256","name":"timestamp","type":"uint256","indexed":false}],"type":"event","name":"AnswerUpdated","anonymous":false},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256","indexed":true},{"internalType":"address","name":"startedBy","type":"address","indexed":true},{"internalType":"uint256","name":"startedAt","type":"uint256","indexed":false}],"type":"event","name":"NewRound","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"description","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getAnswer","outputs":[{"internalType":"int256","name":"","type":"int256"}]},{"inputs":[{"internalType":"uint80","name":"_roundId","type":"uint80"}],"stateMutability":"view","type":"function","name":"getRoundData","outputs":[{"internalType":"uint80","name":"roundId","type":"uint80"},{"internalType":"int256","name":"answer","type":"int256"},{"internalType":"uint256","name":"startedAt","type":"uint256"},{"internalType":"uint256","name":"updatedAt","type":"uint256"},{"internalType":"uint80","name":"answeredInRound","type":"uint80"}]},{"inputs":[{"internalType":"uint256","name":"roundId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getTimestamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"latestAnswer","outputs":[{"internalType":"int256","name":"","type":"int256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"latestRound","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"latestRoundData","outputs":[{"internalType":"uint80","name":"roundId","type":"uint80"},{"internalType":"int256","name":"answer","type":"int256"},{"internalType":"uint256","name":"startedAt","type":"uint256"},{"internalType":"uint256","name":"updatedAt","type":"uint256"},{"internalType":"uint80","name":"answeredInRound","type":"uint80"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"latestTimestamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"version","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@enzyme/=../enzyme/contracts/","@openzeppelin/=../enzyme/node_modules/@openzeppelin/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-std/=lib/openzeppelin-contracts/lib/forge-std/src/","openzeppelin-contracts/=lib/openzeppelin-contracts/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/ChainlinkAggregatorV2V3Interface.sol":"ChainlinkAggregatorV2V3Interface"},"evmVersion":"istanbul","libraries":{}},"sources":{"src/ChainlinkAggregatorV2V3Interface.sol":{"keccak256":"0x791a2add4d31037194e34fd2a881cd94e030b610093142ea0b4361267e5603ed","urls":["bzz-raw://95818d13ccf7908c0e48ae2c3712d51337bfce68597cc3b9b3d29e8f673e0a02","dweb:/ipfs/QmNr3PQEff4CwYCJAnhp4CdoanxJdQ35GGJxrSqLfD6Bmm"],"license":null}},"version":1},"ast":{"absolutePath":"src/ChainlinkAggregatorV2V3Interface.sol","id":7097,"exportedSymbols":{"ChainlinkAggregatorV2V3Interface":[7096]},"nodeType":"SourceUnit","src":"113:1662:74","nodes":[{"id":7006,"nodeType":"PragmaDirective","src":"113:24:74","nodes":[],"literals":["solidity",">=","0.5",".0"]},{"id":7096,"nodeType":"ContractDefinition","src":"382:1392:74","nodes":[{"id":7012,"nodeType":"FunctionDefinition","src":"458:55:74","nodes":[],"documentation":null,"functionSelector":"50d25bcd","implemented":false,"kind":"function","modifiers":[],"name":"latestAnswer","overrides":null,"parameters":{"id":7008,"nodeType":"ParameterList","parameters":[],"src":"479:2:74"},"returnParameters":{"id":7011,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7010,"mutability":"mutable","name":"","nodeType":"VariableDeclaration","overrides":null,"scope":7012,"src":"505:6:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":7009,"name":"int256","nodeType":"ElementaryTypeName","src":"505:6:74","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"value":null,"visibility":"internal"}],"src":"504:8:74"},"scope":7096,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":7017,"nodeType":"FunctionDefinition","src":"516:59:74","nodes":[],"documentation":null,"functionSelector":"8205bf6a","implemented":false,"kind":"function","modifiers":[],"name":"latestTimestamp","overrides":null,"parameters":{"id":7013,"nodeType":"ParameterList","parameters":[],"src":"540:2:74"},"returnParameters":{"id":7016,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7015,"mutability":"mutable","name":"","nodeType":"VariableDeclaration","overrides":null,"scope":7017,"src":"566:7:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7014,"name":"uint256","nodeType":"ElementaryTypeName","src":"566:7:74","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"565:9:74"},"scope":7096,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":7022,"nodeType":"FunctionDefinition","src":"578:55:74","nodes":[],"documentation":null,"functionSelector":"668a0f02","implemented":false,"kind":"function","modifiers":[],"name":"latestRound","overrides":null,"parameters":{"id":7018,"nodeType":"ParameterList","parameters":[],"src":"598:2:74"},"returnParameters":{"id":7021,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7020,"mutability":"mutable","name":"","nodeType":"VariableDeclaration","overrides":null,"scope":7022,"src":"624:7:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7019,"name":"uint256","nodeType":"ElementaryTypeName","src":"624:7:74","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"623:9:74"},"scope":7096,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":7029,"nodeType":"FunctionDefinition","src":"636:67:74","nodes":[],"documentation":null,"functionSelector":"b5ab58dc","implemented":false,"kind":"function","modifiers":[],"name":"getAnswer","overrides":null,"parameters":{"id":7025,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7024,"mutability":"mutable","name":"roundId","nodeType":"VariableDeclaration","overrides":null,"scope":7029,"src":"655:15:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7023,"name":"uint256","nodeType":"ElementaryTypeName","src":"655:7:74","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"654:17:74"},"returnParameters":{"id":7028,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7027,"mutability":"mutable","name":"","nodeType":"VariableDeclaration","overrides":null,"scope":7029,"src":"695:6:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":7026,"name":"int256","nodeType":"ElementaryTypeName","src":"695:6:74","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"value":null,"visibility":"internal"}],"src":"694:8:74"},"scope":7096,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":7036,"nodeType":"FunctionDefinition","src":"706:71:74","nodes":[],"documentation":null,"functionSelector":"b633620c","implemented":false,"kind":"function","modifiers":[],"name":"getTimestamp","overrides":null,"parameters":{"id":7032,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7031,"mutability":"mutable","name":"roundId","nodeType":"VariableDeclaration","overrides":null,"scope":7036,"src":"728:15:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7030,"name":"uint256","nodeType":"ElementaryTypeName","src":"728:7:74","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"727:17:74"},"returnParameters":{"id":7035,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7034,"mutability":"mutable","name":"","nodeType":"VariableDeclaration","overrides":null,"scope":7036,"src":"768:7:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7033,"name":"uint256","nodeType":"ElementaryTypeName","src":"768:7:74","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"767:9:74"},"scope":7096,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":7044,"nodeType":"EventDefinition","src":"781:88:74","nodes":[],"anonymous":false,"documentation":null,"name":"AnswerUpdated","parameters":{"id":7043,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7038,"indexed":true,"mutability":"mutable","name":"current","nodeType":"VariableDeclaration","overrides":null,"scope":7044,"src":"801:22:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":7037,"name":"int256","nodeType":"ElementaryTypeName","src":"801:6:74","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"value":null,"visibility":"internal"},{"constant":false,"id":7040,"indexed":true,"mutability":"mutable","name":"roundId","nodeType":"VariableDeclaration","overrides":null,"scope":7044,"src":"825:23:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7039,"name":"uint256","nodeType":"ElementaryTypeName","src":"825:7:74","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":7042,"indexed":false,"mutability":"mutable","name":"timestamp","nodeType":"VariableDeclaration","overrides":null,"scope":7044,"src":"850:17:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7041,"name":"uint256","nodeType":"ElementaryTypeName","src":"850:7:74","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"800:68:74"}},{"id":7052,"nodeType":"EventDefinition","src":"872:86:74","nodes":[],"anonymous":false,"documentation":null,"name":"NewRound","parameters":{"id":7051,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7046,"indexed":true,"mutability":"mutable","name":"roundId","nodeType":"VariableDeclaration","overrides":null,"scope":7052,"src":"887:23:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7045,"name":"uint256","nodeType":"ElementaryTypeName","src":"887:7:74","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":7048,"indexed":true,"mutability":"mutable","name":"startedBy","nodeType":"VariableDeclaration","overrides":null,"scope":7052,"src":"912:25:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7047,"name":"address","nodeType":"ElementaryTypeName","src":"912:7:74","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":7050,"indexed":false,"mutability":"mutable","name":"startedAt","nodeType":"VariableDeclaration","overrides":null,"scope":7052,"src":"939:17:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7049,"name":"uint256","nodeType":"ElementaryTypeName","src":"939:7:74","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"886:71:74"}},{"id":7057,"nodeType":"FunctionDefinition","src":"991:50:74","nodes":[],"documentation":null,"functionSelector":"313ce567","implemented":false,"kind":"function","modifiers":[],"name":"decimals","overrides":null,"parameters":{"id":7053,"nodeType":"ParameterList","parameters":[],"src":"1008:2:74"},"returnParameters":{"id":7056,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7055,"mutability":"mutable","name":"","nodeType":"VariableDeclaration","overrides":null,"scope":7057,"src":"1034:5:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":7054,"name":"uint8","nodeType":"ElementaryTypeName","src":"1034:5:74","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"value":null,"visibility":"internal"}],"src":"1033:7:74"},"scope":7096,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":7062,"nodeType":"FunctionDefinition","src":"1044:61:74","nodes":[],"documentation":null,"functionSelector":"7284e416","implemented":false,"kind":"function","modifiers":[],"name":"description","overrides":null,"parameters":{"id":7058,"nodeType":"ParameterList","parameters":[],"src":"1064:2:74"},"returnParameters":{"id":7061,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7060,"mutability":"mutable","name":"","nodeType":"VariableDeclaration","overrides":null,"scope":7062,"src":"1090:13:74","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7059,"name":"string","nodeType":"ElementaryTypeName","src":"1090:6:74","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":null,"visibility":"internal"}],"src":"1089:15:74"},"scope":7096,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":7067,"nodeType":"FunctionDefinition","src":"1108:51:74","nodes":[],"documentation":null,"functionSelector":"54fd4d50","implemented":false,"kind":"function","modifiers":[],"name":"version","overrides":null,"parameters":{"id":7063,"nodeType":"ParameterList","parameters":[],"src":"1124:2:74"},"returnParameters":{"id":7066,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7065,"mutability":"mutable","name":"","nodeType":"VariableDeclaration","overrides":null,"scope":7067,"src":"1150:7:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7064,"name":"uint256","nodeType":"ElementaryTypeName","src":"1150:7:74","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"1149:9:74"},"scope":7096,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":7082,"nodeType":"FunctionDefinition","src":"1374:203:74","nodes":[],"documentation":null,"functionSelector":"9a6fc8f5","implemented":false,"kind":"function","modifiers":[],"name":"getRoundData","overrides":null,"parameters":{"id":7070,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7069,"mutability":"mutable","name":"_roundId","nodeType":"VariableDeclaration","overrides":null,"scope":7082,"src":"1396:15:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint80","typeString":"uint80"},"typeName":{"id":7068,"name":"uint80","nodeType":"ElementaryTypeName","src":"1396:6:74","typeDescriptions":{"typeIdentifier":"t_uint80","typeString":"uint80"}},"value":null,"visibility":"internal"}],"src":"1395:17:74"},"returnParameters":{"id":7081,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7072,"mutability":"mutable","name":"roundId","nodeType":"VariableDeclaration","overrides":null,"scope":7082,"src":"1455:14:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint80","typeString":"uint80"},"typeName":{"id":7071,"name":"uint80","nodeType":"ElementaryTypeName","src":"1455:6:74","typeDescriptions":{"typeIdentifier":"t_uint80","typeString":"uint80"}},"value":null,"visibility":"internal"},{"constant":false,"id":7074,"mutability":"mutable","name":"answer","nodeType":"VariableDeclaration","overrides":null,"scope":7082,"src":"1477:13:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":7073,"name":"int256","nodeType":"ElementaryTypeName","src":"1477:6:74","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"value":null,"visibility":"internal"},{"constant":false,"id":7076,"mutability":"mutable","name":"startedAt","nodeType":"VariableDeclaration","overrides":null,"scope":7082,"src":"1498:17:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7075,"name":"uint256","nodeType":"ElementaryTypeName","src":"1498:7:74","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":7078,"mutability":"mutable","name":"updatedAt","nodeType":"VariableDeclaration","overrides":null,"scope":7082,"src":"1523:17:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7077,"name":"uint256","nodeType":"ElementaryTypeName","src":"1523:7:74","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":7080,"mutability":"mutable","name":"answeredInRound","nodeType":"VariableDeclaration","overrides":null,"scope":7082,"src":"1548:22:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint80","typeString":"uint80"},"typeName":{"id":7079,"name":"uint80","nodeType":"ElementaryTypeName","src":"1548:6:74","typeDescriptions":{"typeIdentifier":"t_uint80","typeString":"uint80"}},"value":null,"visibility":"internal"}],"src":"1447:129:74"},"scope":7096,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":7095,"nodeType":"FunctionDefinition","src":"1580:191:74","nodes":[],"documentation":null,"functionSelector":"feaf968c","implemented":false,"kind":"function","modifiers":[],"name":"latestRoundData","overrides":null,"parameters":{"id":7083,"nodeType":"ParameterList","parameters":[],"src":"1604:2:74"},"returnParameters":{"id":7094,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7085,"mutability":"mutable","name":"roundId","nodeType":"VariableDeclaration","overrides":null,"scope":7095,"src":"1649:14:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint80","typeString":"uint80"},"typeName":{"id":7084,"name":"uint80","nodeType":"ElementaryTypeName","src":"1649:6:74","typeDescriptions":{"typeIdentifier":"t_uint80","typeString":"uint80"}},"value":null,"visibility":"internal"},{"constant":false,"id":7087,"mutability":"mutable","name":"answer","nodeType":"VariableDeclaration","overrides":null,"scope":7095,"src":"1671:13:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":7086,"name":"int256","nodeType":"ElementaryTypeName","src":"1671:6:74","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"value":null,"visibility":"internal"},{"constant":false,"id":7089,"mutability":"mutable","name":"startedAt","nodeType":"VariableDeclaration","overrides":null,"scope":7095,"src":"1692:17:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7088,"name":"uint256","nodeType":"ElementaryTypeName","src":"1692:7:74","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":7091,"mutability":"mutable","name":"updatedAt","nodeType":"VariableDeclaration","overrides":null,"scope":7095,"src":"1717:17:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7090,"name":"uint256","nodeType":"ElementaryTypeName","src":"1717:7:74","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":7093,"mutability":"mutable","name":"answeredInRound","nodeType":"VariableDeclaration","overrides":null,"scope":7095,"src":"1742:22:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint80","typeString":"uint80"},"typeName":{"id":7092,"name":"uint80","nodeType":"ElementaryTypeName","src":"1742:6:74","typeDescriptions":{"typeIdentifier":"t_uint80","typeString":"uint80"}},"value":null,"visibility":"internal"}],"src":"1641:129:74"},"scope":7096,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"contractDependencies":[],"contractKind":"interface","documentation":{"id":7007,"nodeType":"StructuredDocumentation","src":"139:242:74","text":" @title The V2 & V3 Aggregator Interface\n @notice Solidity V0.5 does not allow interfaces to inherit from other\n interfaces so this contract is a combination of v0.5 AggregatorInterface.sol\n and v0.5 AggregatorV3Interface.sol."},"fullyImplemented":false,"linearizedBaseContracts":[7096],"name":"ChainlinkAggregatorV2V3Interface","scope":7097}],"license":null},"id":74} \ No newline at end of file diff --git a/eth_defi/abi/ERC20MockDecimals.json b/eth_defi/abi/ERC20MockDecimals.json index c24cea81..0a0b05af 100644 --- a/eth_defi/abi/ERC20MockDecimals.json +++ b/eth_defi/abi/ERC20MockDecimals.json @@ -1,1279 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "internalType": "uint256", - "name": "supply", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "__decimals", - "type": "uint8" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "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": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "subtractedValue", - "type": "uint256" - } - ], - "name": "decreaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "addedValue", - "type": "uint256" - } - ], - "name": "increaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "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": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x60806040523480156200001157600080fd5b5060405162000e3438038062000e34833981810160405260808110156200003757600080fd5b81019080805160405193929190846401000000008211156200005857600080fd5b9083019060208201858111156200006e57600080fd5b82516401000000008111828201881017156200008957600080fd5b82525081516020918201929091019080838360005b83811015620000b85781810151838201526020016200009e565b50505050905090810190601f168015620000e65780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200010a57600080fd5b9083019060208201858111156200012057600080fd5b82516401000000008111828201881017156200013b57600080fd5b82525081516020918201929091019080838360005b838110156200016a57818101518382015260200162000150565b50505050905090810190601f168015620001985780820380516001836020036101000a031916815260200191505b50604090815260208281015192909101518651929450925085918591620001c59160039185019062000391565b508051620001db90600490602084019062000391565b50506005805460ff1916601217905550620001f733836200021b565b6005805460ff9092166101000261ff0019909216919091179055506200042d915050565b6001600160a01b03821662000277576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b62000285600083836200032a565b620002a1816002546200032f60201b620005781790919060201c565b6002556001600160a01b03821660009081526020818152604090912054620002d4918390620005786200032f821b17901c565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b505050565b6000828201838110156200038a576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620003d457805160ff191683800117855562000404565b8280016001018555821562000404579182015b8281111562000404578251825591602001919060010190620003e7565b506200041292915062000416565b5090565b5b8082111562000412576000815560010162000417565b6109f7806200043d6000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c8063395093511161007157806339509351146101d957806370a082311461020557806395d89b411461022b578063a457c2d714610233578063a9059cbb1461025f578063dd62ed3e1461028b576100a9565b806306fdde03146100ae578063095ea7b31461012b57806318160ddd1461016b57806323b872dd14610185578063313ce567146101bb575b600080fd5b6100b66102b9565b6040805160208082528351818301528351919283929083019185019080838360005b838110156100f05781810151838201526020016100d8565b50505050905090810190601f16801561011d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101576004803603604081101561014157600080fd5b506001600160a01b03813516906020013561034f565b604080519115158252519081900360200190f35b61017361036c565b60408051918252519081900360200190f35b6101576004803603606081101561019b57600080fd5b506001600160a01b03813581169160208101359091169060400135610372565b6101c36103f9565b6040805160ff9092168252519081900360200190f35b610157600480360360408110156101ef57600080fd5b506001600160a01b038135169060200135610407565b6101736004803603602081101561021b57600080fd5b50356001600160a01b0316610455565b6100b6610470565b6101576004803603604081101561024957600080fd5b506001600160a01b0381351690602001356104d1565b6101576004803603604081101561027557600080fd5b506001600160a01b038135169060200135610539565b610173600480360360408110156102a157600080fd5b506001600160a01b038135811691602001351661054d565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156103455780601f1061031a57610100808354040283529160200191610345565b820191906000526020600020905b81548152906001019060200180831161032857829003601f168201915b5050505050905090565b600061036361035c6105d9565b84846105dd565b50600192915050565b60025490565b600061037f8484846106c9565b6103ef8461038b6105d9565b6103ea8560405180606001604052806028815260200161092c602891396001600160a01b038a166000908152600160205260408120906103c96105d9565b6001600160a01b031681526020810191909152604001600020549190610824565b6105dd565b5060019392505050565b600554610100900460ff1690565b60006103636104146105d9565b846103ea85600160006104256105d9565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490610578565b6001600160a01b031660009081526020819052604090205490565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156103455780601f1061031a57610100808354040283529160200191610345565b60006103636104de6105d9565b846103ea8560405180606001604052806025815260200161099d60259139600160006105086105d9565b6001600160a01b03908116825260208083019390935260409182016000908120918d16815292529020549190610824565b60006103636105466105d9565b84846106c9565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6000828201838110156105d2576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b3390565b6001600160a01b0383166106225760405162461bcd60e51b81526004018080602001828103825260248152602001806109796024913960400191505060405180910390fd5b6001600160a01b0382166106675760405162461bcd60e51b81526004018080602001828103825260228152602001806108e46022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b03831661070e5760405162461bcd60e51b81526004018080602001828103825260258152602001806109546025913960400191505060405180910390fd5b6001600160a01b0382166107535760405162461bcd60e51b81526004018080602001828103825260238152602001806108c16023913960400191505060405180910390fd5b61075e8383836108bb565b61079b81604051806060016040528060268152602001610906602691396001600160a01b0386166000908152602081905260409020549190610824565b6001600160a01b0380851660009081526020819052604080822093909355908416815220546107ca9082610578565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600081848411156108b35760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610878578181015183820152602001610860565b50505050905090810190601f1680156108a55780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b50505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122036393d22873859445f959087ec08ad85912ff6e9a7c434a44fef08fa67e1507f64736f6c634300060c0033", - "sourceMap": "243:406:75:-:0;;;316:227;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;316:227:75;;;;;;;;;;-1:-1:-1;316:227:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;316:227:75;;;;;;;;;;-1:-1:-1;316:227:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;316:227:75;;;;;;;;;;;;;;2032:13:33;;316:227:75;;-1:-1:-1;316:227:75;-1:-1:-1;455:4:75;;461:6;;2032:13:33;;:5;;:13;;;;:::i;:::-;-1:-1:-1;2055:17:33;;;;:7;;:17;;;;;:::i;:::-;-1:-1:-1;;2082:9:33;:14;;-1:-1:-1;;2082:14:33;2094:2;2082:14;;;-1:-1:-1;479:25:75::1;485:10;497:6:::0;479:5:::1;:25::i;:::-;514:9;:22:::0;;::::1;::::0;;::::1;;;-1:-1:-1::0;;514:22:75;;::::1;::::0;;;::::1;::::0;;-1:-1:-1;243:406:75;;-1:-1:-1;;243:406:75;7832:370:33;-1:-1:-1;;;;;7915:21:33;;7907:65;;;;;-1:-1:-1;;;7907:65:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;7983:49;8012:1;8016:7;8025:6;7983:20;:49::i;:::-;8058:24;8075:6;8058:12;;:16;;;;;;:24;;;;:::i;:::-;8043:12;:39;-1:-1:-1;;;;;8113:18:33;;:9;:18;;;;;;;;;;;;:30;;8136:6;;8113:22;;;;;:30;;:::i;:::-;-1:-1:-1;;;;;8092:18:33;;:9;:18;;;;;;;;;;;:51;;;;8158:37;;;;;;;8092:18;;:9;;8158:37;;;;;;;;;;7832:370;;:::o;10701:92::-;;;;:::o;2690:175:32:-;2748:7;2779:5;;;2802:6;;;;2794:46;;;;;-1:-1:-1;;;2794:46:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;2857:1;2690:175;-1:-1:-1;;;2690:175:32:o;243:406:75:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;243:406:75;;;-1:-1:-1;243:406:75;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106100a95760003560e01c8063395093511161007157806339509351146101d957806370a082311461020557806395d89b411461022b578063a457c2d714610233578063a9059cbb1461025f578063dd62ed3e1461028b576100a9565b806306fdde03146100ae578063095ea7b31461012b57806318160ddd1461016b57806323b872dd14610185578063313ce567146101bb575b600080fd5b6100b66102b9565b6040805160208082528351818301528351919283929083019185019080838360005b838110156100f05781810151838201526020016100d8565b50505050905090810190601f16801561011d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101576004803603604081101561014157600080fd5b506001600160a01b03813516906020013561034f565b604080519115158252519081900360200190f35b61017361036c565b60408051918252519081900360200190f35b6101576004803603606081101561019b57600080fd5b506001600160a01b03813581169160208101359091169060400135610372565b6101c36103f9565b6040805160ff9092168252519081900360200190f35b610157600480360360408110156101ef57600080fd5b506001600160a01b038135169060200135610407565b6101736004803603602081101561021b57600080fd5b50356001600160a01b0316610455565b6100b6610470565b6101576004803603604081101561024957600080fd5b506001600160a01b0381351690602001356104d1565b6101576004803603604081101561027557600080fd5b506001600160a01b038135169060200135610539565b610173600480360360408110156102a157600080fd5b506001600160a01b038135811691602001351661054d565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156103455780601f1061031a57610100808354040283529160200191610345565b820191906000526020600020905b81548152906001019060200180831161032857829003601f168201915b5050505050905090565b600061036361035c6105d9565b84846105dd565b50600192915050565b60025490565b600061037f8484846106c9565b6103ef8461038b6105d9565b6103ea8560405180606001604052806028815260200161092c602891396001600160a01b038a166000908152600160205260408120906103c96105d9565b6001600160a01b031681526020810191909152604001600020549190610824565b6105dd565b5060019392505050565b600554610100900460ff1690565b60006103636104146105d9565b846103ea85600160006104256105d9565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490610578565b6001600160a01b031660009081526020819052604090205490565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156103455780601f1061031a57610100808354040283529160200191610345565b60006103636104de6105d9565b846103ea8560405180606001604052806025815260200161099d60259139600160006105086105d9565b6001600160a01b03908116825260208083019390935260409182016000908120918d16815292529020549190610824565b60006103636105466105d9565b84846106c9565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6000828201838110156105d2576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b3390565b6001600160a01b0383166106225760405162461bcd60e51b81526004018080602001828103825260248152602001806109796024913960400191505060405180910390fd5b6001600160a01b0382166106675760405162461bcd60e51b81526004018080602001828103825260228152602001806108e46022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b03831661070e5760405162461bcd60e51b81526004018080602001828103825260258152602001806109546025913960400191505060405180910390fd5b6001600160a01b0382166107535760405162461bcd60e51b81526004018080602001828103825260238152602001806108c16023913960400191505060405180910390fd5b61075e8383836108bb565b61079b81604051806060016040528060268152602001610906602691396001600160a01b0386166000908152602081905260409020549190610824565b6001600160a01b0380851660009081526020819052604080822093909355908416815220546107ca9082610578565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600081848411156108b35760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610878578181015183820152602001610860565b50505050905090810190601f1680156108a55780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b50505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122036393d22873859445f959087ec08ad85912ff6e9a7c434a44fef08fa67e1507f64736f6c634300060c0033", - "sourceMap": "243:406:75:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2168:89:33;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4244:166;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;4244:166:33;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;3235:106;;;:::i;:::-;;;;;;;;;;;;;;;;4877:317;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;4877:317:33;;;;;;;;;;;;;;;;;:::i;549:98:75:-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5589:215:33;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;5589:215:33;;;;;;;;:::i;3399:125::-;;;;;;;;;;;;;;;;-1:-1:-1;3399:125:33;-1:-1:-1;;;;;3399:125:33;;:::i;2370:93::-;;;:::i;6291:266::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;6291:266:33;;;;;;;;:::i;3727:172::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;3727:172:33;;;;;;;;:::i;3957:149::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;3957:149:33;;;;;;;;;;:::i;2168:89::-;2245:5;2238:12;;;;;;;;-1:-1:-1;;2238:12:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2213:13;;2238:12;;2245:5;;2238:12;;2245:5;2238:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2168:89;:::o;4244:166::-;4327:4;4343:39;4352:12;:10;:12::i;:::-;4366:7;4375:6;4343:8;:39::i;:::-;-1:-1:-1;4399:4:33;4244:166;;;;:::o;3235:106::-;3322:12;;3235:106;:::o;4877:317::-;4983:4;4999:36;5009:6;5017:9;5028:6;4999:9;:36::i;:::-;5045:121;5054:6;5062:12;:10;:12::i;:::-;5076:89;5114:6;5076:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5076:19:33;;;;;;:11;:19;;;;;;5096:12;:10;:12::i;:::-;-1:-1:-1;;;;;5076:33:33;;;;;;;;;;;;-1:-1:-1;5076:33:33;;;:89;:37;:89::i;:::-;5045:8;:121::i;:::-;-1:-1:-1;5183:4:33;4877:317;;;;;:::o;549:98:75:-;631:9;;;;;;;;549:98::o;5589:215:33:-;5677:4;5693:83;5702:12;:10;:12::i;:::-;5716:7;5725:50;5764:10;5725:11;:25;5737:12;:10;:12::i;:::-;-1:-1:-1;;;;;5725:25:33;;;;;;;;;;;;;;;;;-1:-1:-1;5725:25:33;;;:34;;;;;;;;;;;:38;:50::i;3399:125::-;-1:-1:-1;;;;;3499:18:33;3473:7;3499:18;;;;;;;;;;;;3399:125::o;2370:93::-;2449:7;2442:14;;;;;;;;-1:-1:-1;;2442:14:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2417:13;;2442:14;;2449:7;;2442:14;;2449:7;2442:14;;;;;;;;;;;;;;;;;;;;;;;;6291:266;6384:4;6400:129;6409:12;:10;:12::i;:::-;6423:7;6432:96;6471:15;6432:96;;;;;;;;;;;;;;;;;:11;:25;6444:12;:10;:12::i;:::-;-1:-1:-1;;;;;6432:25:33;;;;;;;;;;;;;;;;;-1:-1:-1;6432:25:33;;;:34;;;;;;;;;;;:96;:38;:96::i;3727:172::-;3813:4;3829:42;3839:12;:10;:12::i;:::-;3853:9;3864:6;3829:9;:42::i;3957:149::-;-1:-1:-1;;;;;4072:18:33;;;4046:7;4072:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;3957:149::o;2690:175:32:-;2748:7;2779:5;;;2802:6;;;;2794:46;;;;;-1:-1:-1;;;2794:46:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;2857:1;2690:175;-1:-1:-1;;;2690:175:32:o;598:104:38:-;685:10;598:104;:::o;9355:340:33:-;-1:-1:-1;;;;;9456:19:33;;9448:68;;;;-1:-1:-1;;;9448:68:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9534:21:33;;9526:68;;;;-1:-1:-1;;;9526:68:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9605:18:33;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;9656:32;;;;;;;;;;;;;;;;;9355:340;;;:::o;7031:530::-;-1:-1:-1;;;;;7136:20:33;;7128:70;;;;-1:-1:-1;;;7128:70:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7216:23:33;;7208:71;;;;-1:-1:-1;;;7208:71:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7290:47;7311:6;7319:9;7330:6;7290:20;:47::i;:::-;7368:71;7390:6;7368:71;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7368:17:33;;:9;:17;;;;;;;;;;;;:71;:21;:71::i;:::-;-1:-1:-1;;;;;7348:17:33;;;:9;:17;;;;;;;;;;;:91;;;;7472:20;;;;;;;:32;;7497:6;7472:24;:32::i;:::-;-1:-1:-1;;;;;7449:20:33;;;:9;:20;;;;;;;;;;;;:55;;;;7519:35;;;;;;;7449:20;;7519:35;;;;;;;;;;;;;7031:530;;;:::o;5432:163:32:-;5518:7;5553:12;5545:6;;;;5537:29;;;;-1:-1:-1;;;5537:29:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5583:5:32;;;5432:163::o;10701:92:33:-;;;;:::o", - "linkReferences": {} - }, - "methodIdentifiers": { - "allowance(address,address)": "dd62ed3e", - "approve(address,uint256)": "095ea7b3", - "balanceOf(address)": "70a08231", - "decimals()": "313ce567", - "decreaseAllowance(address,uint256)": "a457c2d7", - "increaseAllowance(address,uint256)": "39509351", - "name()": "06fdde03", - "symbol()": "95d89b41", - "totalSupply()": "18160ddd", - "transfer(address,uint256)": "a9059cbb", - "transferFrom(address,address,uint256)": "23b872dd" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"supply\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"__decimals\",\"type\":\"uint8\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"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\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"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\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5,05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the value {ERC20} uses, unless {_setupDecimals} is called. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.\"},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `recipient` cannot be the zero address. - the caller must have a balance of at least `amount`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. Requirements: - `sender` and `recipient` cannot be the zero address. - `sender` must have a balance of at least `amount`. - the caller must have allowance for ``sender``'s tokens of at least `amount`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"None of the libraries provide a contract that allows mock us decimals of ERC-20 token, needed for USDC mocks\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/ERC20MockDecimals.sol\":\"ERC20MockDecimals\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":# @openzeppelin/=lib/openzeppelin-contracts/\",\":@enzyme/=../enzyme/contracts/\",\":@openzeppelin/=../enzyme/node_modules/@openzeppelin/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\"]},\"sources\":{\"../enzyme/node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"../enzyme/node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"../enzyme/node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"../enzyme/node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]},\"src/ERC20MockDecimals.sol\":{\"keccak256\":\"0x2f74cf81edb034dbf2fd37ec698baf6509ef5671b014a5b5cc13f09facf0d706\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1da2897f871422708e63af7e431f3e94f83ec7a03f8238c56dcd8afe6e0628ff\",\"dweb:/ipfs/QmfXk1RgJD9nbWLj7sp4CuvfFXMeXvJgTyjioLHceSjdJR\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "internalType": "string", - "name": "symbol", - "type": "string" - }, - { - "internalType": "uint256", - "name": "supply", - "type": "uint256" - }, - { - "internalType": "uint8", - "name": "__decimals", - "type": "uint8" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "spender", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "Approval", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "to", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "Transfer", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "subtractedValue", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "decreaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "addedValue", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "increaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "allowance(address,address)": { - "details": "See {IERC20-allowance}." - }, - "approve(address,uint256)": { - "details": "See {IERC20-approve}. Requirements: - `spender` cannot be the zero address." - }, - "balanceOf(address)": { - "details": "See {IERC20-balanceOf}." - }, - "decimals()": { - "details": "Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5,05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the value {ERC20} uses, unless {_setupDecimals} is called. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}." - }, - "decreaseAllowance(address,uint256)": { - "details": "Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`." - }, - "increaseAllowance(address,uint256)": { - "details": "Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address." - }, - "name()": { - "details": "Returns the name of the token." - }, - "symbol()": { - "details": "Returns the symbol of the token, usually a shorter version of the name." - }, - "totalSupply()": { - "details": "See {IERC20-totalSupply}." - }, - "transfer(address,uint256)": { - "details": "See {IERC20-transfer}. Requirements: - `recipient` cannot be the zero address. - the caller must have a balance of at least `amount`." - }, - "transferFrom(address,address,uint256)": { - "details": "See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. Requirements: - `sender` and `recipient` cannot be the zero address. - `sender` must have a balance of at least `amount`. - the caller must have allowance for ``sender``'s tokens of at least `amount`." - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":# @openzeppelin/=lib/openzeppelin-contracts/", - ":@enzyme/=../enzyme/contracts/", - ":@openzeppelin/=../enzyme/node_modules/@openzeppelin/", - ":openzeppelin-contracts/=lib/openzeppelin-contracts/" - ], - "optimizer": { - "enabled": true, - "runs": 200 - }, - "metadata": { - "bytecodeHash": "ipfs" - }, - "compilationTarget": { - "src/ERC20MockDecimals.sol": "ERC20MockDecimals" - }, - "libraries": {} - }, - "sources": { - "../enzyme/node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "../enzyme/node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "../enzyme/node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "../enzyme/node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - }, - "src/ERC20MockDecimals.sol": { - "keccak256": "0x2f74cf81edb034dbf2fd37ec698baf6509ef5671b014a5b5cc13f09facf0d706", - "urls": [ - "bzz-raw://1da2897f871422708e63af7e431f3e94f83ec7a03f8238c56dcd8afe6e0628ff", - "dweb:/ipfs/QmfXk1RgJD9nbWLj7sp4CuvfFXMeXvJgTyjioLHceSjdJR" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "ast": { - "absolutePath": "src/ERC20MockDecimals.sol", - "id": 7141, - "exportedSymbols": { - "ERC20MockDecimals": [ - 7140 - ] - }, - "nodeType": "SourceUnit", - "src": "33:616:75", - "nodes": [ - { - "id": 7098, - "nodeType": "PragmaDirective", - "src": "33:31:75", - "nodes": [], - "literals": [ - "solidity", - ">=", - "0.6", - ".0", - "<", - "0.8", - ".0" - ] - }, - { - "id": 7099, - "nodeType": "ImportDirective", - "src": "66:55:75", - "nodes": [], - "absolutePath": "../enzyme/node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol", - "file": "@openzeppelin/contracts/token/ERC20/ERC20.sol", - "scope": 7141, - "sourceUnit": 2751, - "symbolAliases": [], - "unitAlias": "" - }, - { - "id": 7140, - "nodeType": "ContractDefinition", - "src": "243:406:75", - "nodes": [ - { - "id": 7104, - "nodeType": "VariableDeclaration", - "src": "286:23:75", - "nodes": [], - "constant": false, - "mutability": "mutable", - "name": "_decimals", - "overrides": null, - "scope": 7140, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 7103, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "286:5:75", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "private" - }, - { - "id": 7130, - "nodeType": "FunctionDefinition", - "src": "316:227:75", - "nodes": [], - "body": { - "id": 7129, - "nodeType": "Block", - "src": "469:74:75", - "nodes": [], - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7120, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "485:3:75", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 7121, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "485:10:75", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 7122, - "name": "supply", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7110, - "src": "497:6:75", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "id": 7119, - "name": "_mint", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2626, - "src": "479:5:75", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", - "typeString": "function (address,uint256)" - } - }, - "id": 7123, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "479:25:75", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7124, - "nodeType": "ExpressionStatement", - "src": "479:25:75" - }, - { - "expression": { - "argumentTypes": null, - "id": 7127, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 7125, - "name": "_decimals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7104, - "src": "514:9:75", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 7126, - "name": "__decimals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7112, - "src": "526:10:75", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "src": "514:22:75", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "id": 7128, - "nodeType": "ExpressionStatement", - "src": "514:22:75" - } - ] - }, - "documentation": null, - "implemented": true, - "kind": "constructor", - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 7115, - "name": "name", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7106, - "src": "455:4:75", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - }, - { - "argumentTypes": null, - "id": 7116, - "name": "symbol", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7108, - "src": "461:6:75", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "id": 7117, - "modifierName": { - "argumentTypes": null, - "id": 7114, - "name": "ERC20", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 2750, - "src": "449:5:75", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC20_$2750_$", - "typeString": "type(contract ERC20)" - } - }, - "nodeType": "ModifierInvocation", - "src": "449:19:75" - } - ], - "name": "", - "overrides": null, - "parameters": { - "id": 7113, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7106, - "mutability": "mutable", - "name": "name", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7130, - "src": "337:18:75", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 7105, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "337:6:75", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7108, - "mutability": "mutable", - "name": "symbol", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7130, - "src": "365:20:75", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string" - }, - "typeName": { - "id": 7107, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "365:6:75", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7110, - "mutability": "mutable", - "name": "supply", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7130, - "src": "395:14:75", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7109, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "395:7:75", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7112, - "mutability": "mutable", - "name": "__decimals", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7130, - "src": "419:16:75", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 7111, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "419:5:75", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "327:114:75" - }, - "returnParameters": { - "id": 7118, - "nodeType": "ParameterList", - "parameters": [], - "src": "469:0:75" - }, - "scope": 7140, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "id": 7139, - "nodeType": "FunctionDefinition", - "src": "549:98:75", - "nodes": [], - "body": { - "id": 7138, - "nodeType": "Block", - "src": "614:33:75", - "nodes": [], - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 7136, - "name": "_decimals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7104, - "src": "631:9:75", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "functionReturnParameters": 7135, - "id": 7137, - "nodeType": "Return", - "src": "624:16:75" - } - ] - }, - "baseFunctions": [ - 2326 - ], - "documentation": null, - "functionSelector": "313ce567", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "decimals", - "overrides": { - "id": 7132, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "589:8:75" - }, - "parameters": { - "id": 7131, - "nodeType": "ParameterList", - "parameters": [], - "src": "566:2:75" - }, - "returnParameters": { - "id": 7135, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7134, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7139, - "src": "607:5:75", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 7133, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "607:5:75", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "606:7:75" - }, - "scope": 7140, - "stateMutability": "view", - "virtual": true, - "visibility": "public" - } - ], - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 7101, - "name": "ERC20", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 2750, - "src": "273:5:75", - "typeDescriptions": { - "typeIdentifier": "t_contract$_ERC20_$2750", - "typeString": "contract ERC20" - } - }, - "id": 7102, - "nodeType": "InheritanceSpecifier", - "src": "273:5:75" - } - ], - "contractDependencies": [ - 2750, - 9542, - 9565 - ], - "contractKind": "contract", - "documentation": { - "id": 7100, - "nodeType": "StructuredDocumentation", - "src": "123:119:75", - "text": " None of the libraries provide a contract that allows mock us decimals of ERC-20 token, needed for USDC mocks" - }, - "fullyImplemented": true, - "linearizedBaseContracts": [ - 7140, - 2750, - 9542, - 9565 - ], - "name": "ERC20MockDecimals", - "scope": 7141 - } - ], - "license": "MIT" - }, - "id": 75 -} \ No newline at end of file +{"abi":[{"type":"constructor","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"symbol","type":"string","internalType":"string"},{"name":"supply","type":"uint256","internalType":"uint256"},{"name":"__decimals","type":"uint8","internalType":"uint8"}],"stateMutability":"nonpayable"},{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"decreaseAllowance","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"subtractedValue","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"increaseAllowance","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"addedValue","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"recipient","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"sender","type":"address","internalType":"address"},{"name":"recipient","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false}],"bytecode":{"object":"0x60806040523480156200001157600080fd5b5060405162000e3438038062000e34833981810160405260808110156200003757600080fd5b81019080805160405193929190846401000000008211156200005857600080fd5b9083019060208201858111156200006e57600080fd5b82516401000000008111828201881017156200008957600080fd5b82525081516020918201929091019080838360005b83811015620000b85781810151838201526020016200009e565b50505050905090810190601f168015620000e65780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200010a57600080fd5b9083019060208201858111156200012057600080fd5b82516401000000008111828201881017156200013b57600080fd5b82525081516020918201929091019080838360005b838110156200016a57818101518382015260200162000150565b50505050905090810190601f168015620001985780820380516001836020036101000a031916815260200191505b50604090815260208281015192909101518651929450925085918591620001c59160039185019062000391565b508051620001db90600490602084019062000391565b50506005805460ff1916601217905550620001f733836200021b565b6005805460ff9092166101000261ff0019909216919091179055506200042d915050565b6001600160a01b03821662000277576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b62000285600083836200032a565b620002a1816002546200032f60201b620005781790919060201c565b6002556001600160a01b03821660009081526020818152604090912054620002d4918390620005786200032f821b17901c565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b505050565b6000828201838110156200038a576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620003d457805160ff191683800117855562000404565b8280016001018555821562000404579182015b8281111562000404578251825591602001919060010190620003e7565b506200041292915062000416565b5090565b5b8082111562000412576000815560010162000417565b6109f7806200043d6000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c8063395093511161007157806339509351146101d957806370a082311461020557806395d89b411461022b578063a457c2d714610233578063a9059cbb1461025f578063dd62ed3e1461028b576100a9565b806306fdde03146100ae578063095ea7b31461012b57806318160ddd1461016b57806323b872dd14610185578063313ce567146101bb575b600080fd5b6100b66102b9565b6040805160208082528351818301528351919283929083019185019080838360005b838110156100f05781810151838201526020016100d8565b50505050905090810190601f16801561011d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101576004803603604081101561014157600080fd5b506001600160a01b03813516906020013561034f565b604080519115158252519081900360200190f35b61017361036c565b60408051918252519081900360200190f35b6101576004803603606081101561019b57600080fd5b506001600160a01b03813581169160208101359091169060400135610372565b6101c36103f9565b6040805160ff9092168252519081900360200190f35b610157600480360360408110156101ef57600080fd5b506001600160a01b038135169060200135610407565b6101736004803603602081101561021b57600080fd5b50356001600160a01b0316610455565b6100b6610470565b6101576004803603604081101561024957600080fd5b506001600160a01b0381351690602001356104d1565b6101576004803603604081101561027557600080fd5b506001600160a01b038135169060200135610539565b610173600480360360408110156102a157600080fd5b506001600160a01b038135811691602001351661054d565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156103455780601f1061031a57610100808354040283529160200191610345565b820191906000526020600020905b81548152906001019060200180831161032857829003601f168201915b5050505050905090565b600061036361035c6105d9565b84846105dd565b50600192915050565b60025490565b600061037f8484846106c9565b6103ef8461038b6105d9565b6103ea8560405180606001604052806028815260200161092c602891396001600160a01b038a166000908152600160205260408120906103c96105d9565b6001600160a01b031681526020810191909152604001600020549190610824565b6105dd565b5060019392505050565b600554610100900460ff1690565b60006103636104146105d9565b846103ea85600160006104256105d9565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490610578565b6001600160a01b031660009081526020819052604090205490565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156103455780601f1061031a57610100808354040283529160200191610345565b60006103636104de6105d9565b846103ea8560405180606001604052806025815260200161099d60259139600160006105086105d9565b6001600160a01b03908116825260208083019390935260409182016000908120918d16815292529020549190610824565b60006103636105466105d9565b84846106c9565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6000828201838110156105d2576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b3390565b6001600160a01b0383166106225760405162461bcd60e51b81526004018080602001828103825260248152602001806109796024913960400191505060405180910390fd5b6001600160a01b0382166106675760405162461bcd60e51b81526004018080602001828103825260228152602001806108e46022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b03831661070e5760405162461bcd60e51b81526004018080602001828103825260258152602001806109546025913960400191505060405180910390fd5b6001600160a01b0382166107535760405162461bcd60e51b81526004018080602001828103825260238152602001806108c16023913960400191505060405180910390fd5b61075e8383836108bb565b61079b81604051806060016040528060268152602001610906602691396001600160a01b0386166000908152602081905260409020549190610824565b6001600160a01b0380851660009081526020819052604080822093909355908416815220546107ca9082610578565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600081848411156108b35760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610878578181015183820152602001610860565b50505050905090810190601f1680156108a55780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b50505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220e1e20704162602ec63fc49e971a065fc6d04674920ab6573f2975ec0fc07da7f64736f6c634300060c0033","sourceMap":"243:406:75:-:0;;;316:227;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;316:227:75;;;;;;;;;;-1:-1:-1;316:227:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;316:227:75;;;;;;;;;;-1:-1:-1;316:227:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;316:227:75;;;;;;;;;;;;;;2032:13:33;;316:227:75;;-1:-1:-1;316:227:75;-1:-1:-1;455:4:75;;461:6;;2032:13:33;;:5;;:13;;;;:::i;:::-;-1:-1:-1;2055:17:33;;;;:7;;:17;;;;;:::i;:::-;-1:-1:-1;;2082:9:33;:14;;-1:-1:-1;;2082:14:33;2094:2;2082:14;;;-1:-1:-1;479:25:75::1;485:10;497:6:::0;479:5:::1;:25::i;:::-;514:9;:22:::0;;::::1;::::0;;::::1;;;-1:-1:-1::0;;514:22:75;;::::1;::::0;;;::::1;::::0;;-1:-1:-1;243:406:75;;-1:-1:-1;;243:406:75;7832:370:33;-1:-1:-1;;;;;7915:21:33;;7907:65;;;;;-1:-1:-1;;;7907:65:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;7983:49;8012:1;8016:7;8025:6;7983:20;:49::i;:::-;8058:24;8075:6;8058:12;;:16;;;;;;:24;;;;:::i;:::-;8043:12;:39;-1:-1:-1;;;;;8113:18:33;;:9;:18;;;;;;;;;;;;:30;;8136:6;;8113:22;;;;;:30;;:::i;:::-;-1:-1:-1;;;;;8092:18:33;;:9;:18;;;;;;;;;;;:51;;;;8158:37;;;;;;;8092:18;;:9;;8158:37;;;;;;;;;;7832:370;;:::o;10701:92::-;;;;:::o;2690:175:32:-;2748:7;2779:5;;;2802:6;;;;2794:46;;;;;-1:-1:-1;;;2794:46:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;2857:1;2690:175;-1:-1:-1;;;2690:175:32:o;243:406:75:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;243:406:75;;;-1:-1:-1;243:406:75;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100a95760003560e01c8063395093511161007157806339509351146101d957806370a082311461020557806395d89b411461022b578063a457c2d714610233578063a9059cbb1461025f578063dd62ed3e1461028b576100a9565b806306fdde03146100ae578063095ea7b31461012b57806318160ddd1461016b57806323b872dd14610185578063313ce567146101bb575b600080fd5b6100b66102b9565b6040805160208082528351818301528351919283929083019185019080838360005b838110156100f05781810151838201526020016100d8565b50505050905090810190601f16801561011d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101576004803603604081101561014157600080fd5b506001600160a01b03813516906020013561034f565b604080519115158252519081900360200190f35b61017361036c565b60408051918252519081900360200190f35b6101576004803603606081101561019b57600080fd5b506001600160a01b03813581169160208101359091169060400135610372565b6101c36103f9565b6040805160ff9092168252519081900360200190f35b610157600480360360408110156101ef57600080fd5b506001600160a01b038135169060200135610407565b6101736004803603602081101561021b57600080fd5b50356001600160a01b0316610455565b6100b6610470565b6101576004803603604081101561024957600080fd5b506001600160a01b0381351690602001356104d1565b6101576004803603604081101561027557600080fd5b506001600160a01b038135169060200135610539565b610173600480360360408110156102a157600080fd5b506001600160a01b038135811691602001351661054d565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156103455780601f1061031a57610100808354040283529160200191610345565b820191906000526020600020905b81548152906001019060200180831161032857829003601f168201915b5050505050905090565b600061036361035c6105d9565b84846105dd565b50600192915050565b60025490565b600061037f8484846106c9565b6103ef8461038b6105d9565b6103ea8560405180606001604052806028815260200161092c602891396001600160a01b038a166000908152600160205260408120906103c96105d9565b6001600160a01b031681526020810191909152604001600020549190610824565b6105dd565b5060019392505050565b600554610100900460ff1690565b60006103636104146105d9565b846103ea85600160006104256105d9565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490610578565b6001600160a01b031660009081526020819052604090205490565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156103455780601f1061031a57610100808354040283529160200191610345565b60006103636104de6105d9565b846103ea8560405180606001604052806025815260200161099d60259139600160006105086105d9565b6001600160a01b03908116825260208083019390935260409182016000908120918d16815292529020549190610824565b60006103636105466105d9565b84846106c9565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6000828201838110156105d2576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b3390565b6001600160a01b0383166106225760405162461bcd60e51b81526004018080602001828103825260248152602001806109796024913960400191505060405180910390fd5b6001600160a01b0382166106675760405162461bcd60e51b81526004018080602001828103825260228152602001806108e46022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b03831661070e5760405162461bcd60e51b81526004018080602001828103825260258152602001806109546025913960400191505060405180910390fd5b6001600160a01b0382166107535760405162461bcd60e51b81526004018080602001828103825260238152602001806108c16023913960400191505060405180910390fd5b61075e8383836108bb565b61079b81604051806060016040528060268152602001610906602691396001600160a01b0386166000908152602081905260409020549190610824565b6001600160a01b0380851660009081526020819052604080822093909355908416815220546107ca9082610578565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600081848411156108b35760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610878578181015183820152602001610860565b50505050905090810190601f1680156108a55780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b50505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220e1e20704162602ec63fc49e971a065fc6d04674920ab6573f2975ec0fc07da7f64736f6c634300060c0033","sourceMap":"243:406:75:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2168:89:33;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4244:166;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;4244:166:33;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;3235:106;;;:::i;:::-;;;;;;;;;;;;;;;;4877:317;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;4877:317:33;;;;;;;;;;;;;;;;;:::i;549:98:75:-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5589:215:33;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;5589:215:33;;;;;;;;:::i;3399:125::-;;;;;;;;;;;;;;;;-1:-1:-1;3399:125:33;-1:-1:-1;;;;;3399:125:33;;:::i;2370:93::-;;;:::i;6291:266::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;6291:266:33;;;;;;;;:::i;3727:172::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;3727:172:33;;;;;;;;:::i;3957:149::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;3957:149:33;;;;;;;;;;:::i;2168:89::-;2245:5;2238:12;;;;;;;;-1:-1:-1;;2238:12:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2213:13;;2238:12;;2245:5;;2238:12;;2245:5;2238:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2168:89;:::o;4244:166::-;4327:4;4343:39;4352:12;:10;:12::i;:::-;4366:7;4375:6;4343:8;:39::i;:::-;-1:-1:-1;4399:4:33;4244:166;;;;:::o;3235:106::-;3322:12;;3235:106;:::o;4877:317::-;4983:4;4999:36;5009:6;5017:9;5028:6;4999:9;:36::i;:::-;5045:121;5054:6;5062:12;:10;:12::i;:::-;5076:89;5114:6;5076:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5076:19:33;;;;;;:11;:19;;;;;;5096:12;:10;:12::i;:::-;-1:-1:-1;;;;;5076:33:33;;;;;;;;;;;;-1:-1:-1;5076:33:33;;;:89;:37;:89::i;:::-;5045:8;:121::i;:::-;-1:-1:-1;5183:4:33;4877:317;;;;;:::o;549:98:75:-;631:9;;;;;;;;549:98::o;5589:215:33:-;5677:4;5693:83;5702:12;:10;:12::i;:::-;5716:7;5725:50;5764:10;5725:11;:25;5737:12;:10;:12::i;:::-;-1:-1:-1;;;;;5725:25:33;;;;;;;;;;;;;;;;;-1:-1:-1;5725:25:33;;;:34;;;;;;;;;;;:38;:50::i;3399:125::-;-1:-1:-1;;;;;3499:18:33;3473:7;3499:18;;;;;;;;;;;;3399:125::o;2370:93::-;2449:7;2442:14;;;;;;;;-1:-1:-1;;2442:14:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2417:13;;2442:14;;2449:7;;2442:14;;2449:7;2442:14;;;;;;;;;;;;;;;;;;;;;;;;6291:266;6384:4;6400:129;6409:12;:10;:12::i;:::-;6423:7;6432:96;6471:15;6432:96;;;;;;;;;;;;;;;;;:11;:25;6444:12;:10;:12::i;:::-;-1:-1:-1;;;;;6432:25:33;;;;;;;;;;;;;;;;;-1:-1:-1;6432:25:33;;;:34;;;;;;;;;;;:96;:38;:96::i;3727:172::-;3813:4;3829:42;3839:12;:10;:12::i;:::-;3853:9;3864:6;3829:9;:42::i;3957:149::-;-1:-1:-1;;;;;4072:18:33;;;4046:7;4072:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;3957:149::o;2690:175:32:-;2748:7;2779:5;;;2802:6;;;;2794:46;;;;;-1:-1:-1;;;2794:46:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;2857:1;2690:175;-1:-1:-1;;;2690:175:32:o;598:104:38:-;685:10;598:104;:::o;9355:340:33:-;-1:-1:-1;;;;;9456:19:33;;9448:68;;;;-1:-1:-1;;;9448:68:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9534:21:33;;9526:68;;;;-1:-1:-1;;;9526:68:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9605:18:33;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;9656:32;;;;;;;;;;;;;;;;;9355:340;;;:::o;7031:530::-;-1:-1:-1;;;;;7136:20:33;;7128:70;;;;-1:-1:-1;;;7128:70:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7216:23:33;;7208:71;;;;-1:-1:-1;;;7208:71:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7290:47;7311:6;7319:9;7330:6;7290:20;:47::i;:::-;7368:71;7390:6;7368:71;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7368:17:33;;:9;:17;;;;;;;;;;;;:71;:21;:71::i;:::-;-1:-1:-1;;;;;7348:17:33;;;:9;:17;;;;;;;;;;;:91;;;;7472:20;;;;;;;:32;;7497:6;7472:24;:32::i;:::-;-1:-1:-1;;;;;7449:20:33;;;:9;:20;;;;;;;;;;;;:55;;;;7519:35;;;;;;;7449:20;;7519:35;;;;;;;;;;;;;7031:530;;;:::o;5432:163:32:-;5518:7;5553:12;5545:6;;;;5537:29;;;;-1:-1:-1;;;5537:29:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5583:5:32;;;5432:163::o;10701:92:33:-;;;;:::o","linkReferences":{}},"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","decimals()":"313ce567","decreaseAllowance(address,uint256)":"a457c2d7","increaseAllowance(address,uint256)":"39509351","name()":"06fdde03","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"supply\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"__decimals\",\"type\":\"uint8\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"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\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"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\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5,05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the value {ERC20} uses, unless {_setupDecimals} is called. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.\"},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `recipient` cannot be the zero address. - the caller must have a balance of at least `amount`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. Requirements: - `sender` and `recipient` cannot be the zero address. - `sender` must have a balance of at least `amount`. - the caller must have allowance for ``sender``'s tokens of at least `amount`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"None of the libraries provide a contract that allows mock us decimals of ERC-20 token, needed for USDC mocks\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/ERC20MockDecimals.sol\":\"ERC20MockDecimals\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@enzyme/=../enzyme/contracts/\",\":@openzeppelin/=../enzyme/node_modules/@openzeppelin/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/openzeppelin-contracts/lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\"]},\"sources\":{\"../enzyme/node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"../enzyme/node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"../enzyme/node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"../enzyme/node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]},\"src/ERC20MockDecimals.sol\":{\"keccak256\":\"0x2f74cf81edb034dbf2fd37ec698baf6509ef5671b014a5b5cc13f09facf0d706\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1da2897f871422708e63af7e431f3e94f83ec7a03f8238c56dcd8afe6e0628ff\",\"dweb:/ipfs/QmfXk1RgJD9nbWLj7sp4CuvfFXMeXvJgTyjioLHceSjdJR\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.6.12+commit.27d51765"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"uint256","name":"supply","type":"uint256"},{"internalType":"uint8","name":"__decimals","type":"uint8"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"spender","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"stateMutability":"view","type":"function","name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"allowance(address,address)":{"details":"See {IERC20-allowance}."},"approve(address,uint256)":{"details":"See {IERC20-approve}. Requirements: - `spender` cannot be the zero address."},"balanceOf(address)":{"details":"See {IERC20-balanceOf}."},"decimals()":{"details":"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5,05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the value {ERC20} uses, unless {_setupDecimals} is called. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}."},"decreaseAllowance(address,uint256)":{"details":"Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`."},"increaseAllowance(address,uint256)":{"details":"Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address."},"name()":{"details":"Returns the name of the token."},"symbol()":{"details":"Returns the symbol of the token, usually a shorter version of the name."},"totalSupply()":{"details":"See {IERC20-totalSupply}."},"transfer(address,uint256)":{"details":"See {IERC20-transfer}. Requirements: - `recipient` cannot be the zero address. - the caller must have a balance of at least `amount`."},"transferFrom(address,address,uint256)":{"details":"See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. Requirements: - `sender` and `recipient` cannot be the zero address. - `sender` must have a balance of at least `amount`. - the caller must have allowance for ``sender``'s tokens of at least `amount`."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@enzyme/=../enzyme/contracts/","@openzeppelin/=../enzyme/node_modules/@openzeppelin/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-std/=lib/openzeppelin-contracts/lib/forge-std/src/","openzeppelin-contracts/=lib/openzeppelin-contracts/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/ERC20MockDecimals.sol":"ERC20MockDecimals"},"evmVersion":"istanbul","libraries":{}},"sources":{"../enzyme/node_modules/@openzeppelin/contracts/math/SafeMath.sol":{"keccak256":"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52","urls":["bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c","dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR"],"license":"MIT"},"../enzyme/node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3","urls":["bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e","dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE"],"license":"MIT"},"../enzyme/node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5","urls":["bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08","dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC"],"license":"MIT"},"../enzyme/node_modules/@openzeppelin/contracts/utils/Context.sol":{"keccak256":"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0","urls":["bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f","dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96"],"license":"MIT"},"src/ERC20MockDecimals.sol":{"keccak256":"0x2f74cf81edb034dbf2fd37ec698baf6509ef5671b014a5b5cc13f09facf0d706","urls":["bzz-raw://1da2897f871422708e63af7e431f3e94f83ec7a03f8238c56dcd8afe6e0628ff","dweb:/ipfs/QmfXk1RgJD9nbWLj7sp4CuvfFXMeXvJgTyjioLHceSjdJR"],"license":"MIT"}},"version":1},"ast":{"absolutePath":"src/ERC20MockDecimals.sol","id":7141,"exportedSymbols":{"ERC20MockDecimals":[7140]},"nodeType":"SourceUnit","src":"33:616:75","nodes":[{"id":7098,"nodeType":"PragmaDirective","src":"33:31:75","nodes":[],"literals":["solidity",">=","0.6",".0","<","0.8",".0"]},{"id":7099,"nodeType":"ImportDirective","src":"66:55:75","nodes":[],"absolutePath":"../enzyme/node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol","file":"@openzeppelin/contracts/token/ERC20/ERC20.sol","scope":7141,"sourceUnit":2751,"symbolAliases":[],"unitAlias":""},{"id":7140,"nodeType":"ContractDefinition","src":"243:406:75","nodes":[{"id":7104,"nodeType":"VariableDeclaration","src":"286:23:75","nodes":[],"constant":false,"mutability":"mutable","name":"_decimals","overrides":null,"scope":7140,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":7103,"name":"uint8","nodeType":"ElementaryTypeName","src":"286:5:75","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"value":null,"visibility":"private"},{"id":7130,"nodeType":"FunctionDefinition","src":"316:227:75","nodes":[],"body":{"id":7129,"nodeType":"Block","src":"469:74:75","nodes":[],"statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"expression":{"argumentTypes":null,"id":7120,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"485:3:75","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":7121,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"485:10:75","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"argumentTypes":null,"id":7122,"name":"supply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7110,"src":"497:6:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":7119,"name":"_mint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2626,"src":"479:5:75","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":7123,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"479:25:75","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7124,"nodeType":"ExpressionStatement","src":"479:25:75"},{"expression":{"argumentTypes":null,"id":7127,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"id":7125,"name":"_decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7104,"src":"514:9:75","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"id":7126,"name":"__decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7112,"src":"526:10:75","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"514:22:75","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":7128,"nodeType":"ExpressionStatement","src":"514:22:75"}]},"documentation":null,"implemented":true,"kind":"constructor","modifiers":[{"arguments":[{"argumentTypes":null,"id":7115,"name":"name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7106,"src":"455:4:75","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"argumentTypes":null,"id":7116,"name":"symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7108,"src":"461:6:75","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"id":7117,"modifierName":{"argumentTypes":null,"id":7114,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2750,"src":"449:5:75","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ERC20_$2750_$","typeString":"type(contract ERC20)"}},"nodeType":"ModifierInvocation","src":"449:19:75"}],"name":"","overrides":null,"parameters":{"id":7113,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7106,"mutability":"mutable","name":"name","nodeType":"VariableDeclaration","overrides":null,"scope":7130,"src":"337:18:75","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7105,"name":"string","nodeType":"ElementaryTypeName","src":"337:6:75","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":null,"visibility":"internal"},{"constant":false,"id":7108,"mutability":"mutable","name":"symbol","nodeType":"VariableDeclaration","overrides":null,"scope":7130,"src":"365:20:75","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":7107,"name":"string","nodeType":"ElementaryTypeName","src":"365:6:75","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":null,"visibility":"internal"},{"constant":false,"id":7110,"mutability":"mutable","name":"supply","nodeType":"VariableDeclaration","overrides":null,"scope":7130,"src":"395:14:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7109,"name":"uint256","nodeType":"ElementaryTypeName","src":"395:7:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":7112,"mutability":"mutable","name":"__decimals","nodeType":"VariableDeclaration","overrides":null,"scope":7130,"src":"419:16:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":7111,"name":"uint8","nodeType":"ElementaryTypeName","src":"419:5:75","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"value":null,"visibility":"internal"}],"src":"327:114:75"},"returnParameters":{"id":7118,"nodeType":"ParameterList","parameters":[],"src":"469:0:75"},"scope":7140,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":7139,"nodeType":"FunctionDefinition","src":"549:98:75","nodes":[],"body":{"id":7138,"nodeType":"Block","src":"614:33:75","nodes":[],"statements":[{"expression":{"argumentTypes":null,"id":7136,"name":"_decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7104,"src":"631:9:75","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"functionReturnParameters":7135,"id":7137,"nodeType":"Return","src":"624:16:75"}]},"baseFunctions":[2326],"documentation":null,"functionSelector":"313ce567","implemented":true,"kind":"function","modifiers":[],"name":"decimals","overrides":{"id":7132,"nodeType":"OverrideSpecifier","overrides":[],"src":"589:8:75"},"parameters":{"id":7131,"nodeType":"ParameterList","parameters":[],"src":"566:2:75"},"returnParameters":{"id":7135,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7134,"mutability":"mutable","name":"","nodeType":"VariableDeclaration","overrides":null,"scope":7139,"src":"607:5:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":7133,"name":"uint8","nodeType":"ElementaryTypeName","src":"607:5:75","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"value":null,"visibility":"internal"}],"src":"606:7:75"},"scope":7140,"stateMutability":"view","virtual":true,"visibility":"public"}],"abstract":false,"baseContracts":[{"arguments":null,"baseName":{"contractScope":null,"id":7101,"name":"ERC20","nodeType":"UserDefinedTypeName","referencedDeclaration":2750,"src":"273:5:75","typeDescriptions":{"typeIdentifier":"t_contract$_ERC20_$2750","typeString":"contract ERC20"}},"id":7102,"nodeType":"InheritanceSpecifier","src":"273:5:75"}],"contractDependencies":[2750,9885,9908],"contractKind":"contract","documentation":{"id":7100,"nodeType":"StructuredDocumentation","src":"123:119:75","text":" None of the libraries provide a contract that allows mock us decimals of ERC-20 token, needed for USDC mocks"},"fullyImplemented":true,"linearizedBaseContracts":[7140,2750,9885,9908],"name":"ERC20MockDecimals","scope":7141}],"license":"MIT"},"id":75} \ No newline at end of file diff --git a/eth_defi/abi/GuardedGenericAdapter.json b/eth_defi/abi/GuardedGenericAdapter.json new file mode 100644 index 00000000..c4f5c598 --- /dev/null +++ b/eth_defi/abi/GuardedGenericAdapter.json @@ -0,0 +1 @@ +{"abi":[{"type":"constructor","inputs":[{"name":"_integrationManager","type":"address","internalType":"address"},{"name":"_vault","type":"address","internalType":"contract IVault"},{"name":"_guard","type":"address","internalType":"contract IGuard"}],"stateMutability":"nonpayable"},{"type":"function","name":"CLAIM_REWARDS_SELECTOR","inputs":[],"outputs":[{"name":"","type":"bytes4","internalType":"bytes4"}],"stateMutability":"view"},{"type":"function","name":"EXECUTE_CALLS_SELECTOR","inputs":[],"outputs":[{"name":"","type":"bytes4","internalType":"bytes4"}],"stateMutability":"view"},{"type":"function","name":"LEND_AND_STAKE_SELECTOR","inputs":[],"outputs":[{"name":"","type":"bytes4","internalType":"bytes4"}],"stateMutability":"view"},{"type":"function","name":"LEND_SELECTOR","inputs":[],"outputs":[{"name":"","type":"bytes4","internalType":"bytes4"}],"stateMutability":"view"},{"type":"function","name":"REDEEM_SELECTOR","inputs":[],"outputs":[{"name":"","type":"bytes4","internalType":"bytes4"}],"stateMutability":"view"},{"type":"function","name":"STAKE_SELECTOR","inputs":[],"outputs":[{"name":"","type":"bytes4","internalType":"bytes4"}],"stateMutability":"view"},{"type":"function","name":"TAKE_MULTIPLE_ORDERS_SELECTOR","inputs":[],"outputs":[{"name":"","type":"bytes4","internalType":"bytes4"}],"stateMutability":"view"},{"type":"function","name":"TAKE_ORDER_SELECTOR","inputs":[],"outputs":[{"name":"","type":"bytes4","internalType":"bytes4"}],"stateMutability":"view"},{"type":"function","name":"UNSTAKE_AND_REDEEM_SELECTOR","inputs":[],"outputs":[{"name":"","type":"bytes4","internalType":"bytes4"}],"stateMutability":"view"},{"type":"function","name":"UNSTAKE_SELECTOR","inputs":[],"outputs":[{"name":"","type":"bytes4","internalType":"bytes4"}],"stateMutability":"view"},{"type":"function","name":"executeCalls","inputs":[{"name":"_vaultProxy","type":"address","internalType":"address"},{"name":"_actionData","type":"bytes","internalType":"bytes"},{"name":"","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getIntegrationManager","inputs":[],"outputs":[{"name":"integrationManager_","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"guard","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IGuard"}],"stateMutability":"view"},{"type":"function","name":"parseAssetsForAction","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"_selector","type":"bytes4","internalType":"bytes4"},{"name":"_actionData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"spendAssetsHandleType_","type":"uint8","internalType":"enum IIntegrationManager.SpendAssetsHandleType"},{"name":"spendAssets_","type":"address[]","internalType":"address[]"},{"name":"spendAssetAmounts_","type":"uint256[]","internalType":"uint256[]"},{"name":"incomingAssets_","type":"address[]","internalType":"address[]"},{"name":"minIncomingAssetAmounts_","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"view"},{"type":"function","name":"vault","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IVault"}],"stateMutability":"view"}],"bytecode":{"object":"0x60a06040523480156200001157600080fd5b50604051620016553803806200165583398101604081905262000034916200015d565b606083901b6001600160601b031916608052600080546001600160a01b0319166001600160a01b0384811691909117918290556040805162ee2cb160e41b815290519290911691630ee2cb1091600480820192602092909190829003018186803b158015620000a257600080fd5b505afa158015620000b7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000dd919062000137565b6001600160a01b03166200010e5760405162461bcd60e51b81526004016200010590620001b0565b60405180910390fd5b600180546001600160a01b0319166001600160a01b039290921691909117905550620002009050565b60006020828403121562000149578081fd5b81516200015681620001e7565b9392505050565b60008060006060848603121562000172578182fd5b83516200017f81620001e7565b60208501519093506200019281620001e7565b6040850151909250620001a581620001e7565b809150509250925092565b60208082526017908201527f456e636f756e74657265642066756e6e79207661756c74000000000000000000604082015260600190565b6001600160a01b0381168114620001fd57600080fd5b50565b60805160601c61143262000223600039806102f852806104ff52506114326000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c8063863e5ad011610097578063c54efee511610066578063c54efee514610182578063e7c45690146101a6578063f7d882b5146101ae578063fbfa77cf146101b6576100f5565b8063863e5ad014610155578063b23228cf1461015d578063b7fe1a1114610165578063c32990a21461017a576100f5565b8063257cb1a3116100d3578063257cb1a3146101285780633ffc15911461013057806340da225d146101385780637ceab3b114610140576100f5565b8063080456c1146100fa57806312d9c1f614610118578063131461c014610120575b600080fd5b6101026101be565b60405161010f91906110c6565b60405180910390f35b6101026101e2565b610102610206565b61010261022a565b61010261024e565b610102610272565b610148610296565b60405161010f9190611064565b6101026102a5565b6101026102c9565b610178610173366004610c63565b6102ed565b005b610102610482565b610195610190366004610bf4565b6104a6565b60405161010f9594939291906110db565b6101486104fd565b610102610521565b610148610545565b7f8334eb99be0145865eba9889fca2ee920288090caefff4cc776038e20ad9259a81565b7fb7fe1a117cff974e3f19d303d9f97ada44b7ecad880df21ddfdc69ba0493b79681565b7f29fa046e79524c3c5ac4c01df692c35e217802b2b13b21121b76cf0ef02b138c81565b7f099f75155f0e997bf83a7993a71d5e7e7540bd386fe1e84643a09ce6b412521981565b7ffa7dd04da627f433da73c4355ead9c75682a67a8fc84d3f6170ef0922f402d2481565b7fb9dfbaccbe5cd2a84fdcf1d15f23ef25d23086f5afbaa99516065ed4a5bbc7a381565b6001546001600160a01b031681565b7f03e38a2bd7063d45c897edeafc330e71657502dd86434d3c37a489caf116af6981565b7f68e30677f607df46e87da13e15b637784cfa62374b653f35ab43d10361a2f83081565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461033e5760405162461bcd60e51b8152600401610335906111e2565b60405180910390fd5b8484848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8a018190048102820181019092528881528a9350915088908890819084018382808284376000920182905250546001600160a01b038d811691161492506103d79150505760405162461bcd60e51b815260040161033590611234565b60606103e38989610554565b9450505050506060806103f583610579565b9150915060005b825181101561043d5761043583828151811061041457fe5b602002602001015183838151811061042857fe5b60200260200101516105bc565b6001016103fc565b50505050606061044c8261069e565b5050905061045a83826106c4565b5050505060606104698261069e565b9250505061047783826106c4565b505050505050505050565b7f0e7f692dad5b88fdee426250d6eae91207e56a2e8112b7364579bed1790e5bf481565b600060608080806001600160e01b0319881663b7fe1a1160e01b146104dd5760405162461bcd60e51b815260040161033590611306565b6104e78787610554565b5060029d919c509a509198509650945050505050565b7f000000000000000000000000000000000000000000000000000000000000000090565b7fc29fa9dde84204c2908778afd0613d802d31cf046179b88f6d2b4a4e507ea2d581565b6000546001600160a01b031681565b60608080808061056686880188610ea6565b939b929a50909850965090945092505050565b606080828060200190518101906105909190610ce3565b80518251929450909250146105b75760405162461bcd60e51b815260040161033590611157565b915091565b600154600054604051636d5025f160e01b81526001600160a01b0392831692636d5025f1926105f49291169086908690600401611078565b600060405180830381600087803b15801561060e57600080fd5b505af1158015610622573d6000803e3d6000fd5b5050505060006060836001600160a01b0316836040516106429190611048565b6000604051808303816000865af19150503d806000811461067f576040519150601f19603f3d011682016040523d82523d6000602084013e610684565b606091505b509150915081610698578051602082018181fd5b50505050565b6060806060838060200190518101906106b79190610dcc565b9250925092509193909250565b6060815167ffffffffffffffff811180156106de57600080fd5b50604051908082528060200260200182016040528015610708578160200160208202803683370190505b50905060005b825181101561081957600083828151811061072557fe5b60200260200101519050806001600160a01b03166370a08231306040518263ffffffff1660e01b815260040161075b9190611064565b60206040518083038186803b15801561077357600080fd5b505afa158015610787573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ab9190610f92565b8383815181106107b757fe5b60200260200101818152505060008383815181106107d157fe5b6020026020010151111561081057610810858484815181106107ef57fe5b6020026020010151836001600160a01b03166108209092919063ffffffff16565b5060010161070e565b5092915050565b6108768363a9059cbb60e01b848460405160240161083f9291906110ad565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915261087b565b505050565b60606108d0826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031661090a9092919063ffffffff16565b80519091501561087657808060200190518101906108ee9190610f72565b6108765760405162461bcd60e51b8152600401610335906112bc565b60606109198484600085610923565b90505b9392505050565b6060824710156109455760405162461bcd60e51b81526004016103359061119c565b61094e856109e4565b61096a5760405162461bcd60e51b815260040161033590611285565b60006060866001600160a01b031685876040516109879190611048565b60006040518083038185875af1925050503d80600081146109c4576040519150601f19603f3d011682016040523d82523d6000602084013e6109c9565b606091505b50915091506109d98282866109ea565b979650505050505050565b3b151590565b606083156109f957508161091c565b825115610a095782518084602001fd5b8160405162461bcd60e51b81526004016103359190611144565b600082601f830112610a33578081fd5b8135610a46610a4182611374565b61134d565b818152915060208083019084810181840286018201871015610a6757600080fd5b60005b84811015610a8f578135610a7d816113e4565b84529282019290820190600101610a6a565b505050505092915050565b600082601f830112610aaa578081fd5b8151610ab8610a4182611374565b818152915060208083019084810181840286018201871015610ad957600080fd5b60005b84811015610a8f578151610aef816113e4565b84529282019290820190600101610adc565b600082601f830112610b11578081fd5b8135610b1f610a4182611374565b818152915060208083019084810181840286018201871015610b4057600080fd5b60005b84811015610a8f57813584529282019290820190600101610b43565b60008083601f840112610b70578182fd5b50813567ffffffffffffffff811115610b87578182fd5b602083019150836020828501011115610b9f57600080fd5b9250929050565b600082601f830112610bb6578081fd5b8135610bc4610a4182611394565b9150808252836020828501011115610bdb57600080fd5b8060208401602084013760009082016020015292915050565b60008060008060608587031215610c09578384fd5b8435610c14816113e4565b935060208501356001600160e01b031981168114610c30578384fd5b9250604085013567ffffffffffffffff811115610c4b578283fd5b610c5787828801610b5f565b95989497509550505050565b600080600080600060608688031215610c7a578081fd5b8535610c85816113e4565b9450602086013567ffffffffffffffff80821115610ca1578283fd5b610cad89838a01610b5f565b90965094506040880135915080821115610cc5578283fd5b50610cd288828901610b5f565b969995985093965092949392505050565b6000806040808486031215610cf6578283fd5b835167ffffffffffffffff80821115610d0d578485fd5b610d1987838801610a9a565b9450602091508186015181811115610d2f578485fd5b86019050601f81018713610d41578384fd5b8051610d4f610a4182611374565b81815283810190838501875b84811015610dbb57815186018c603f820112610d7557898afd5b87810151610d85610a4182611394565b8181528e8b838501011115610d98578b8cfd5b610da7828b83018d86016113b8565b865250509286019290860190600101610d5b565b50979a909950975050505050505050565b600080600060608486031215610de0578283fd5b835167ffffffffffffffff80821115610df7578485fd5b610e0387838801610a9a565b9450602091508186015181811115610e19578485fd5b8601601f81018813610e29578485fd5b8051610e37610a4182611374565b81815284810190838601868402850187018c1015610e53578889fd5b8894505b83851015610e75578051835260019490940193918601918601610e57565b5060408a0151909750945050505080821115610e8f578283fd5b50610e9c86828701610a9a565b9150509250925092565b600080600080600060a08688031215610ebd578081fd5b853567ffffffffffffffff80821115610ed4578283fd5b610ee089838a01610a23565b96506020880135915080821115610ef5578283fd5b610f0189838a01610b01565b95506040880135915080821115610f16578283fd5b610f2289838a01610a23565b94506060880135915080821115610f37578283fd5b610f4389838a01610b01565b93506080880135915080821115610f58578283fd5b50610f6588828901610ba6565b9150509295509295909350565b600060208284031215610f83578081fd5b8151801515811461091c578182fd5b600060208284031215610fa3578081fd5b5051919050565b6000815180845260208085019450808401835b83811015610fe25781516001600160a01b031687529582019590820190600101610fbd565b509495945050505050565b6000815180845260208085019450808401835b83811015610fe257815187529582019590820190600101611000565b600081518084526110348160208601602086016113b8565b601f01601f19169290920160200192915050565b6000825161105a8184602087016113b8565b9190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b038481168252831660208201526060604082018190526000906110a49083018461101c565b95945050505050565b6001600160a01b03929092168252602082015260400190565b6001600160e01b031991909116815260200190565b6000600387106110e757fe5b86825260a060208301526110fe60a0830187610faa565b82810360408401526111108187610fed565b905082810360608401526111248186610faa565b905082810360808401526111388185610fed565b98975050505050505050565b60006020825261091c602083018461101c565b60208082526025908201527f556e657175616c2065787465726e616c2063616c6c7320617272617973206c656040820152646e6774687360d81b606082015260800190565b60208082526026908201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6040820152651c8818d85b1b60d21b606082015260800190565b60208082526032908201527f4f6e6c792074686520496e746567726174696f6e4d616e616765722063616e2060408201527131b0b636103a3434b990333ab731ba34b7b760711b606082015260800190565b60208082526031908201527f4f6e6c792063616c6c732066726f6d207468652077686974656c6973746564206040820152701d985d5b1d08185c9948185b1b1bddd959607a1b606082015260800190565b6020808252601d908201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604082015260600190565b6020808252602a908201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6040820152691bdd081cdd58d8d9595960b21b606082015260800190565b60208082526027908201527f7061727365417373657473466f72416374696f6e3a205f73656c6563746f72206040820152661a5b9d985b1a5960ca1b606082015260800190565b60405181810167ffffffffffffffff8111828210171561136c57600080fd5b604052919050565b600067ffffffffffffffff82111561138a578081fd5b5060209081020190565b600067ffffffffffffffff8211156113aa578081fd5b50601f01601f191660200190565b60005b838110156113d35781810151838201526020016113bb565b838111156106985750506000910152565b6001600160a01b03811681146113f957600080fd5b5056fea2646970667358221220fc56e2557cc88106e2f6c211158320476611c38d252ee658d21f3818ec6fed0564736f6c634300060c0033","sourceMap":"1158:5663:74:-:0;;;1708:602;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1938:41:19;;;;-1:-1:-1;;;;;;1938:41:19;;;2033:5:74::1;:14:::0;;-1:-1:-1;;;;;;2033:14:74::1;-1:-1:-1::0;;;;;2033:14:74;;::::1;::::0;;;::::1;::::0;;;;2187:18:::1;::::0;;-1:-1:-1;;;2187:18:74;;;;:5;;;::::1;::::0;:16:::1;::::0;:18:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;:5;:18;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;2187:64:74::1;2179:100;;;;-1:-1:-1::0;;;2179:100:74::1;;;;;;;:::i;:::-;;;;;;;;;2289:5;:14:::0;;-1:-1:-1;;;;;;2289:14:74::1;-1:-1:-1::0;;;;;2289:14:74;;;::::1;::::0;;;::::1;::::0;;-1:-1:-1;1158:5663:74;;-1:-1:-1;1158:5663:74;488:263:-1;;603:2;591:9;582:7;578:23;574:32;571:2;;;-1:-1;;609:12;571:2;89:6;83:13;101:33;128:5;101:33;:::i;:::-;661:74;565:186;-1:-1;;;565:186::o;758:595::-;;;;937:2;925:9;916:7;912:23;908:32;905:2;;;-1:-1;;943:12;905:2;89:6;83:13;101:33;128:5;101:33;:::i;:::-;1106:2;1171:22;;410:13;995:74;;-1:-1;428:48;410:13;428:48;:::i;:::-;1240:2;1305:22;;239:13;1114:89;;-1:-1;257:48;239:13;257:48;:::i;:::-;1248:89;;;;899:454;;;;;:::o;1692:416::-;1892:2;1906:47;;;1585:2;1877:18;;;2219:19;1621:25;2259:14;;;1601:46;1666:12;;;1863:245::o;2739:117::-;-1:-1;;;;;2673:54;;2798:35;;2788:2;;2847:1;;2837:12;2788:2;2782:74;:::o;:::-;1158:5663:74;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100f55760003560e01c8063863e5ad011610097578063c54efee511610066578063c54efee514610182578063e7c45690146101a6578063f7d882b5146101ae578063fbfa77cf146101b6576100f5565b8063863e5ad014610155578063b23228cf1461015d578063b7fe1a1114610165578063c32990a21461017a576100f5565b8063257cb1a3116100d3578063257cb1a3146101285780633ffc15911461013057806340da225d146101385780637ceab3b114610140576100f5565b8063080456c1146100fa57806312d9c1f614610118578063131461c014610120575b600080fd5b6101026101be565b60405161010f91906110c6565b60405180910390f35b6101026101e2565b610102610206565b61010261022a565b61010261024e565b610102610272565b610148610296565b60405161010f9190611064565b6101026102a5565b6101026102c9565b610178610173366004610c63565b6102ed565b005b610102610482565b610195610190366004610bf4565b6104a6565b60405161010f9594939291906110db565b6101486104fd565b610102610521565b610148610545565b7f8334eb99be0145865eba9889fca2ee920288090caefff4cc776038e20ad9259a81565b7fb7fe1a117cff974e3f19d303d9f97ada44b7ecad880df21ddfdc69ba0493b79681565b7f29fa046e79524c3c5ac4c01df692c35e217802b2b13b21121b76cf0ef02b138c81565b7f099f75155f0e997bf83a7993a71d5e7e7540bd386fe1e84643a09ce6b412521981565b7ffa7dd04da627f433da73c4355ead9c75682a67a8fc84d3f6170ef0922f402d2481565b7fb9dfbaccbe5cd2a84fdcf1d15f23ef25d23086f5afbaa99516065ed4a5bbc7a381565b6001546001600160a01b031681565b7f03e38a2bd7063d45c897edeafc330e71657502dd86434d3c37a489caf116af6981565b7f68e30677f607df46e87da13e15b637784cfa62374b653f35ab43d10361a2f83081565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461033e5760405162461bcd60e51b8152600401610335906111e2565b60405180910390fd5b8484848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8a018190048102820181019092528881528a9350915088908890819084018382808284376000920182905250546001600160a01b038d811691161492506103d79150505760405162461bcd60e51b815260040161033590611234565b60606103e38989610554565b9450505050506060806103f583610579565b9150915060005b825181101561043d5761043583828151811061041457fe5b602002602001015183838151811061042857fe5b60200260200101516105bc565b6001016103fc565b50505050606061044c8261069e565b5050905061045a83826106c4565b5050505060606104698261069e565b9250505061047783826106c4565b505050505050505050565b7f0e7f692dad5b88fdee426250d6eae91207e56a2e8112b7364579bed1790e5bf481565b600060608080806001600160e01b0319881663b7fe1a1160e01b146104dd5760405162461bcd60e51b815260040161033590611306565b6104e78787610554565b5060029d919c509a509198509650945050505050565b7f000000000000000000000000000000000000000000000000000000000000000090565b7fc29fa9dde84204c2908778afd0613d802d31cf046179b88f6d2b4a4e507ea2d581565b6000546001600160a01b031681565b60608080808061056686880188610ea6565b939b929a50909850965090945092505050565b606080828060200190518101906105909190610ce3565b80518251929450909250146105b75760405162461bcd60e51b815260040161033590611157565b915091565b600154600054604051636d5025f160e01b81526001600160a01b0392831692636d5025f1926105f49291169086908690600401611078565b600060405180830381600087803b15801561060e57600080fd5b505af1158015610622573d6000803e3d6000fd5b5050505060006060836001600160a01b0316836040516106429190611048565b6000604051808303816000865af19150503d806000811461067f576040519150601f19603f3d011682016040523d82523d6000602084013e610684565b606091505b509150915081610698578051602082018181fd5b50505050565b6060806060838060200190518101906106b79190610dcc565b9250925092509193909250565b6060815167ffffffffffffffff811180156106de57600080fd5b50604051908082528060200260200182016040528015610708578160200160208202803683370190505b50905060005b825181101561081957600083828151811061072557fe5b60200260200101519050806001600160a01b03166370a08231306040518263ffffffff1660e01b815260040161075b9190611064565b60206040518083038186803b15801561077357600080fd5b505afa158015610787573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ab9190610f92565b8383815181106107b757fe5b60200260200101818152505060008383815181106107d157fe5b6020026020010151111561081057610810858484815181106107ef57fe5b6020026020010151836001600160a01b03166108209092919063ffffffff16565b5060010161070e565b5092915050565b6108768363a9059cbb60e01b848460405160240161083f9291906110ad565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915261087b565b505050565b60606108d0826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031661090a9092919063ffffffff16565b80519091501561087657808060200190518101906108ee9190610f72565b6108765760405162461bcd60e51b8152600401610335906112bc565b60606109198484600085610923565b90505b9392505050565b6060824710156109455760405162461bcd60e51b81526004016103359061119c565b61094e856109e4565b61096a5760405162461bcd60e51b815260040161033590611285565b60006060866001600160a01b031685876040516109879190611048565b60006040518083038185875af1925050503d80600081146109c4576040519150601f19603f3d011682016040523d82523d6000602084013e6109c9565b606091505b50915091506109d98282866109ea565b979650505050505050565b3b151590565b606083156109f957508161091c565b825115610a095782518084602001fd5b8160405162461bcd60e51b81526004016103359190611144565b600082601f830112610a33578081fd5b8135610a46610a4182611374565b61134d565b818152915060208083019084810181840286018201871015610a6757600080fd5b60005b84811015610a8f578135610a7d816113e4565b84529282019290820190600101610a6a565b505050505092915050565b600082601f830112610aaa578081fd5b8151610ab8610a4182611374565b818152915060208083019084810181840286018201871015610ad957600080fd5b60005b84811015610a8f578151610aef816113e4565b84529282019290820190600101610adc565b600082601f830112610b11578081fd5b8135610b1f610a4182611374565b818152915060208083019084810181840286018201871015610b4057600080fd5b60005b84811015610a8f57813584529282019290820190600101610b43565b60008083601f840112610b70578182fd5b50813567ffffffffffffffff811115610b87578182fd5b602083019150836020828501011115610b9f57600080fd5b9250929050565b600082601f830112610bb6578081fd5b8135610bc4610a4182611394565b9150808252836020828501011115610bdb57600080fd5b8060208401602084013760009082016020015292915050565b60008060008060608587031215610c09578384fd5b8435610c14816113e4565b935060208501356001600160e01b031981168114610c30578384fd5b9250604085013567ffffffffffffffff811115610c4b578283fd5b610c5787828801610b5f565b95989497509550505050565b600080600080600060608688031215610c7a578081fd5b8535610c85816113e4565b9450602086013567ffffffffffffffff80821115610ca1578283fd5b610cad89838a01610b5f565b90965094506040880135915080821115610cc5578283fd5b50610cd288828901610b5f565b969995985093965092949392505050565b6000806040808486031215610cf6578283fd5b835167ffffffffffffffff80821115610d0d578485fd5b610d1987838801610a9a565b9450602091508186015181811115610d2f578485fd5b86019050601f81018713610d41578384fd5b8051610d4f610a4182611374565b81815283810190838501875b84811015610dbb57815186018c603f820112610d7557898afd5b87810151610d85610a4182611394565b8181528e8b838501011115610d98578b8cfd5b610da7828b83018d86016113b8565b865250509286019290860190600101610d5b565b50979a909950975050505050505050565b600080600060608486031215610de0578283fd5b835167ffffffffffffffff80821115610df7578485fd5b610e0387838801610a9a565b9450602091508186015181811115610e19578485fd5b8601601f81018813610e29578485fd5b8051610e37610a4182611374565b81815284810190838601868402850187018c1015610e53578889fd5b8894505b83851015610e75578051835260019490940193918601918601610e57565b5060408a0151909750945050505080821115610e8f578283fd5b50610e9c86828701610a9a565b9150509250925092565b600080600080600060a08688031215610ebd578081fd5b853567ffffffffffffffff80821115610ed4578283fd5b610ee089838a01610a23565b96506020880135915080821115610ef5578283fd5b610f0189838a01610b01565b95506040880135915080821115610f16578283fd5b610f2289838a01610a23565b94506060880135915080821115610f37578283fd5b610f4389838a01610b01565b93506080880135915080821115610f58578283fd5b50610f6588828901610ba6565b9150509295509295909350565b600060208284031215610f83578081fd5b8151801515811461091c578182fd5b600060208284031215610fa3578081fd5b5051919050565b6000815180845260208085019450808401835b83811015610fe25781516001600160a01b031687529582019590820190600101610fbd565b509495945050505050565b6000815180845260208085019450808401835b83811015610fe257815187529582019590820190600101611000565b600081518084526110348160208601602086016113b8565b601f01601f19169290920160200192915050565b6000825161105a8184602087016113b8565b9190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b038481168252831660208201526060604082018190526000906110a49083018461101c565b95945050505050565b6001600160a01b03929092168252602082015260400190565b6001600160e01b031991909116815260200190565b6000600387106110e757fe5b86825260a060208301526110fe60a0830187610faa565b82810360408401526111108187610fed565b905082810360608401526111248186610faa565b905082810360808401526111388185610fed565b98975050505050505050565b60006020825261091c602083018461101c565b60208082526025908201527f556e657175616c2065787465726e616c2063616c6c7320617272617973206c656040820152646e6774687360d81b606082015260800190565b60208082526026908201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6040820152651c8818d85b1b60d21b606082015260800190565b60208082526032908201527f4f6e6c792074686520496e746567726174696f6e4d616e616765722063616e2060408201527131b0b636103a3434b990333ab731ba34b7b760711b606082015260800190565b60208082526031908201527f4f6e6c792063616c6c732066726f6d207468652077686974656c6973746564206040820152701d985d5b1d08185c9948185b1b1bddd959607a1b606082015260800190565b6020808252601d908201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604082015260600190565b6020808252602a908201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6040820152691bdd081cdd58d8d9595960b21b606082015260800190565b60208082526027908201527f7061727365417373657473466f72416374696f6e3a205f73656c6563746f72206040820152661a5b9d985b1a5960ca1b606082015260800190565b60405181810167ffffffffffffffff8111828210171561136c57600080fd5b604052919050565b600067ffffffffffffffff82111561138a578081fd5b5060209081020190565b600067ffffffffffffffff8211156113aa578081fd5b50601f01601f191660200190565b60005b838110156113d35781810151838201526020016113bb565b838111156106985750506000910152565b6001600160a01b03811681146113f957600080fd5b5056fea2646970667358221220fc56e2557cc88106e2f6c211158320476611c38d252ee658d21f3818ec6fed0564736f6c634300060c0033","sourceMap":"1158:5663:74:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1490:119:20;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1585:116:74;;;:::i;1373:111:20:-;;;:::i;832:85::-;;;:::i;1034:87::-;;;:::i;1240:110::-;;;:::i;1493:19:74:-;;;:::i;:::-;;;;;;;:::i;706:104:20:-;;;:::i;1127:91::-;;;:::i;2506:756:74:-;;;;;;:::i;:::-;;:::i;:::-;;577:123:20;;;:::i;4838:965:74:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;:::i;2637:128:19:-;;;:::i;923:89:20:-;;;:::i;1412:19:74:-;;;:::i;1490:119:20:-;1558:50;1490:119;:::o;1585:116:74:-;1649:46;1585:116;:::o;1373:111:20:-;1437:46;1373:111;:::o;832:85::-;878:38;832:85;:::o;1034:87::-;1081:39;1034:87;:::o;1240:110::-;1303:46;1240:110;:::o;1493:19:74:-;;;-1:-1:-1;;;;;1493:19:74;;:::o;706:104:20:-;766:43;706:104;:::o;1127:91::-;1176:41;1127:91;:::o;2506:756:74:-;1747:10:19;-1:-1:-1;;;;;1761:19:19;1747:33;;1726:130;;;;-1:-1:-1;;;1726:130:19;;;;;;;:::i;:::-;;;;;;;;;2719:11:74::1;2732;;987:278:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;;1429:247:19::2;::::0;;::::2;987:278:::1;1429:247:::0;::::2;::::0;;::::2;::::0;::::2;::::0;;;;;;;;;;2790:11:74;;-1:-1:-1;1429:247:19;-1:-1:-1;2803:11:74;;;;;;1429:247:19;::::2;2803:11:74::0;;;;1429:247:19;::::2;;::::0;::::2;::::0;;;-1:-1:-1;2861:5:74;-1:-1:-1;;;;;2838:29:74;;::::3;2861:5:::0;::::3;2838:29;::::0;-1:-1:-1;2830:91:74::3;::::0;-1:-1:-1;;2830:91:74::3;;;-1:-1:-1::0;;;2830:91:74::3;;;;;;;:::i;:::-;2941:30;2975:29;2992:11;;2975:16;:29::i;:::-;2932:72;;;;;;3016:26;3044:24:::0;3072:66:::3;3111:17;3072:25;:66::i;:::-;3015:123;;;;3154:9;3149:107;3169:9;:16;3165:1;:20;3149:107;;;3206:39;3218:9;3228:1;3218:12;;;;;;;;;;;;;;3232:9;3242:1;3232:12;;;;;;;;;;;;;;3206:11;:39::i;:::-;3187:3;;3149:107;;;;1531:1:19;;;1544:28:::2;1580:29;1598:10;1580:17;:29::i;:::-;1543:66;;;;1620:49;1644:11;1657;1620:23;:49::i;:::-;;1114:1;;;1131:31:::1;1166:29;1184:10;1166:17;:29::i;:::-;1126:69;;;;1206:52;1230:11;1243:14;1206:23;:52::i;:::-;;1866:1;;;2506:756:74::0;;;;;:::o;577:123:20:-;647:52;577:123;:::o;4838:965:74:-;5030:64;5108:29;;;;-1:-1:-1;;;;;;5320:35:74;;-1:-1:-1;;;5320:35:74;5312:87;;;;-1:-1:-1;;;5312:87:74;;;;;;;:::i;:::-;5550:29;5567:11;;5550:16;:29::i;:::-;-1:-1:-1;5611:50:74;;5410:169;;-1:-1:-1;5410:169:74;-1:-1:-1;5410:169:74;;-1:-1:-1;5410:169:74;-1:-1:-1;4838:965:74;-1:-1:-1;;;;;4838:965:74:o;2637:128:19:-;2739:19;2637:128;:::o;923:89:20:-;971:40;923:89;:::o;1412:19:74:-;;;-1:-1:-1;;;;;1412:19:74;;:::o;5884:453::-;5997:32;;;;;6254:76;;;;6265:11;6254:76;:::i;:::-;6247:83;;;;-1:-1:-1;6247:83:74;;-1:-1:-1;6247:83:74;-1:-1:-1;6247:83:74;;-1:-1:-1;5884:453:74;-1:-1:-1;;;5884:453:74:o;6410:409::-;6524:27;6553:25;6632:18;6621:52;;;;;;;;;;;;:::i;:::-;6712:17;;6691;;6594:79;;-1:-1:-1;6594:79:74;;-1:-1:-1;6691:38:74;6683:88;;;;-1:-1:-1;;;6683:88:74;;;;;;;:::i;:::-;6410:409;;;:::o;3463:731::-;3743:5;;;3770;3743:61;;-1:-1:-1;;;3743:61:74;;-1:-1:-1;;;;;3743:5:74;;;;:18;;:61;;3770:5;;;3778:15;;3795:8;;3743:61;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3816:12;3830:23;3857:15;-1:-1:-1;;;;;3857:20:74;3878:8;3857:30;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3815:72;;;;3902:7;3898:241;;3983:10;3977:17;4050:4;4038:10;4034:21;4096:18;4079:15;4072:43;3933:196;3463:731;;;;:::o;2093:332:19:-;2205:29;2248:35;2297:32;2372:10;2361:57;;;;;;;;;;;;:::i;:::-;2354:64;;;;;;2093:332;;;;;:::o;3539:585:29:-;3649:36;3737:7;:14;3723:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3723:29:29;;3701:51;;3767:9;3762:319;3782:7;:14;3778:1;:18;3762:319;;;3817:19;3845:7;3853:1;3845:10;;;;;;;;;;;;;;3817:39;;3895:13;-1:-1:-1;;;;;3895:23:29;;3927:4;3895:38;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3870:19;3890:1;3870:22;;;;;;;;;;;;;:63;;;;;3976:1;3951:19;3971:1;3951:22;;;;;;;;;;;;;;:26;3947:124;;;3997:59;4024:7;4033:19;4053:1;4033:22;;;;;;;;;;;;;;3997:13;-1:-1:-1;;;;;3997:26:29;;;:59;;;;;:::i;:::-;-1:-1:-1;3798:3:29;;3762:319;;;;3539:585;;;;:::o;704:175:36:-;786:86;806:5;836:23;;;861:2;865:5;813:58;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;813:58:36;;;;;;;;;;;;;;-1:-1:-1;;;;;813:58:36;-1:-1:-1;;;;;;813:58:36;;;;;;;;;;786:19;:86::i;:::-;704:175;;;:::o;2967:751::-;3386:23;3412:69;3440:4;3412:69;;;;;;;;;;;;;;;;;3420:5;-1:-1:-1;;;;;3412:27:36;;;:69;;;;;:::i;:::-;3495:17;;3386:95;;-1:-1:-1;3495:21:36;3491:221;;3635:10;3624:30;;;;;;;;;;;;:::i;:::-;3616:85;;;;-1:-1:-1;;;3616:85:36;;;;;;;:::i;3581:193:37:-;3684:12;3715:52;3737:6;3745:4;3751:1;3754:12;3715:21;:52::i;:::-;3708:59;;3581:193;;;;;;:::o;4608:523::-;4735:12;4792:5;4767:21;:30;;4759:81;;;;-1:-1:-1;;;4759:81:37;;;;;;;:::i;:::-;4858:18;4869:6;4858:10;:18::i;:::-;4850:60;;;;-1:-1:-1;;;4850:60:37;;;;;;;:::i;:::-;4981:12;4995:23;5022:6;-1:-1:-1;;;;;5022:11:37;5042:5;5050:4;5022:33;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4980:75;;;;5072:52;5090:7;5099:10;5111:12;5072:17;:52::i;:::-;5065:59;4608:523;-1:-1:-1;;;;;;;4608:523:37:o;726:413::-;1086:20;1124:8;;;726:413::o;7091:725::-;7206:12;7234:7;7230:580;;;-1:-1:-1;7264:10:37;7257:17;;7230:580;7375:17;;:21;7371:429;;7633:10;7627:17;7693:15;7680:10;7676:2;7672:19;7665:44;7582:145;7772:12;7765:20;;-1:-1:-1;;;7765:20:37;;;;;;;;:::i;301:707:-1:-;;418:3;411:4;403:6;399:17;395:27;385:2;;-1:-1;;426:12;385:2;473:6;460:20;495:80;510:64;567:6;510:64;:::i;:::-;495:80;:::i;:::-;603:21;;;486:89;-1:-1;647:4;660:14;;;;635:17;;;749;;;740:27;;;;737:36;-1:-1;734:2;;;786:1;;776:12;734:2;811:1;796:206;821:6;818:1;815:13;796:206;;;85:6;72:20;97:33;124:5;97:33;:::i;:::-;889:50;;953:14;;;;981;;;;843:1;836:9;796:206;;;800:14;;;;;378:630;;;;:::o;1034:722::-;;1162:3;1155:4;1147:6;1143:17;1139:27;1129:2;;-1:-1;;1170:12;1129:2;1210:6;1204:13;1232:80;1247:64;1304:6;1247:64;:::i;1232:80::-;1340:21;;;1223:89;-1:-1;1384:4;1397:14;;;;1372:17;;;1486;;;1477:27;;;;1474:36;-1:-1;1471:2;;;1523:1;;1513:12;1471:2;1548:1;1533:217;1558:6;1555:1;1552:13;1533:217;;;226:6;220:13;238:33;265:5;238:33;:::i;:::-;1626:61;;1701:14;;;;1729;;;;1580:1;1573:9;1533:217;;2519:707;;2636:3;2629:4;2621:6;2617:17;2613:27;2603:2;;-1:-1;;2644:12;2603:2;2691:6;2678:20;2713:80;2728:64;2785:6;2728:64;:::i;2713:80::-;2821:21;;;2704:89;-1:-1;2865:4;2878:14;;;;2853:17;;;2967;;;2958:27;;;;2955:36;-1:-1;2952:2;;;3004:1;;2994:12;2952:2;3029:1;3014:206;3039:6;3036:1;3033:13;3014:206;;;5577:20;;3107:50;;3171:14;;;;3199;;;;3061:1;3054:9;3014:206;;4266:336;;;4380:3;4373:4;4365:6;4361:17;4357:27;4347:2;;-1:-1;;4388:12;4347:2;-1:-1;4418:20;;4458:18;4447:30;;4444:2;;;-1:-1;;4480:12;4444:2;4524:4;4516:6;4512:17;4500:29;;4575:3;4524:4;4555:17;4516:6;4541:32;;4538:41;4535:2;;;4592:1;;4582:12;4535:2;4340:262;;;;;:::o;4611:440::-;;4712:3;4705:4;4697:6;4693:17;4689:27;4679:2;;-1:-1;;4720:12;4679:2;4767:6;4754:20;4789:64;4804:48;4845:6;4804:48;:::i;4789:64::-;4780:73;;4873:6;4866:5;4859:21;4977:3;4909:4;4968:6;4901;4959:16;;4956:25;4953:2;;;4994:1;;4984:12;4953:2;29087:6;4909:4;4901:6;4897:17;4909:4;4935:5;4931:16;29064:30;29143:1;29125:16;;;4909:4;29125:16;29118:27;4935:5;4672:379;-1:-1;;4672:379::o;5788:613::-;;;;;5944:2;5932:9;5923:7;5919:23;5915:32;5912:2;;;-1:-1;;5950:12;5912:2;85:6;72:20;97:33;124:5;97:33;:::i;:::-;6002:63;-1:-1;6102:2;6140:22;;4183:20;-1:-1;;;;;;27802:78;;29965:34;;29955:2;;-1:-1;;30003:12;29955:2;6110:62;-1:-1;6237:2;6222:18;;6209:32;6261:18;6250:30;;6247:2;;;-1:-1;;6283:12;6247:2;6321:64;6377:7;6368:6;6357:9;6353:22;6321:64;:::i;:::-;5906:495;;;;-1:-1;6303:82;-1:-1;;;;5906:495::o;6408:739::-;;;;;;6584:2;6572:9;6563:7;6559:23;6555:32;6552:2;;;-1:-1;;6590:12;6552:2;85:6;72:20;97:33;124:5;97:33;:::i;:::-;6642:63;-1:-1;6770:2;6755:18;;6742:32;6794:18;6783:30;;;6780:2;;;-1:-1;;6816:12;6780:2;6854:64;6910:7;6901:6;6890:9;6886:22;6854:64;:::i;:::-;6836:82;;-1:-1;6836:82;-1:-1;6983:2;6968:18;;6955:32;;-1:-1;6996:30;;;6993:2;;;-1:-1;;7029:12;6993:2;;7067:64;7123:7;7114:6;7103:9;7099:22;7067:64;:::i;:::-;6546:601;;;;-1:-1;6546:601;;-1:-1;7049:82;;;6546:601;-1:-1;;;6546:601::o;7154:675::-;;;7345:2;;7333:9;7324:7;7320:23;7316:32;7313:2;;;-1:-1;;7351:12;7313:2;7402:17;7396:24;7440:18;;7432:6;7429:30;7426:2;;;-1:-1;;7462:12;7426:2;7492:89;7573:7;7564:6;7553:9;7549:22;7492:89;:::i;:::-;7482:99;;7639:2;;;;7628:9;7624:18;7618:25;7440:18;7655:6;7652:30;7649:2;;;-1:-1;;7685:12;7649:2;7781:22;;;-1:-1;1910:4;1898:17;;1894:27;-1:-1;1884:2;;-1:-1;;1925:12;1884:2;1965:6;1959:13;1987:89;2002:73;2068:6;2002:73;:::i;1987:89::-;2104:21;;;2161:14;;;;2136:17;;;-1:-1;2241:246;2266:6;2263:1;2260:13;2241:246;;;2342:3;2336:10;2140:6;2324:23;5172:3;5153:17;2324:23;5153:17;5149:27;5139:2;;-1:-1;;5180:12;5139:2;7639;2324:23;;5214:13;5242:64;5257:48;5298:6;5257:48;:::i;5242:64::-;5326:6;5319:5;5312:21;5430:3;7345:2;5421:6;2324:23;5412:16;;5409:25;5406:2;;;-1:-1;;5437:12;5406:2;5457:39;5489:6;7639:2;5388:5;5384:16;7345:2;2324:23;5350:17;5457:39;:::i;:::-;2354:70;;-1:-1;;2438:14;;;;2466;;;;2288:1;2281:9;2241:246;;;-1:-1;7307:522;;7705:108;;-1:-1;7307:522;-1:-1;;;;;;;;7307:522::o;7836:922::-;;;;8060:2;8048:9;8039:7;8035:23;8031:32;8028:2;;;-1:-1;;8066:12;8028:2;8117:17;8111:24;8155:18;;8147:6;8144:30;8141:2;;;-1:-1;;8177:12;8141:2;8207:89;8288:7;8279:6;8268:9;8264:22;8207:89;:::i;:::-;8197:99;;8354:2;;;;8343:9;8339:18;8333:25;8155:18;8370:6;8367:30;8364:2;;;-1:-1;;8400:12;8364:2;8487:22;;3373:4;3361:17;;3357:27;-1:-1;3347:2;;-1:-1;;3388:12;3347:2;3428:6;3422:13;3450:80;3465:64;3522:6;3465:64;:::i;3450:80::-;3558:21;;;3615:14;;;;3590:17;;;3704;;;3695:27;;;;3692:36;-1:-1;3689:2;;;-1:-1;;3731:12;3689:2;-1:-1;3757:10;;3751:217;3776:6;3773:1;3770:13;3751:217;;;5725:13;;3844:61;;3798:1;3791:9;;;;;3919:14;;;;3947;;3751:217;;;-1:-1;8577:2;8562:18;;8556:25;8420:99;;-1:-1;8556:25;-1:-1;;;;8590:30;;;8587:2;;;-1:-1;;8623:12;8587:2;;8653:89;8734:7;8725:6;8714:9;8710:22;8653:89;:::i;:::-;8643:99;;;8022:736;;;;;:::o;8765:1391::-;;;;;;9046:3;9034:9;9025:7;9021:23;9017:33;9014:2;;;-1:-1;;9053:12;9014:2;9111:17;9098:31;9149:18;;9141:6;9138:30;9135:2;;;-1:-1;;9171:12;9135:2;9201:78;9271:7;9262:6;9251:9;9247:22;9201:78;:::i;:::-;9191:88;;9344:2;9333:9;9329:18;9316:32;9302:46;;9149:18;9360:6;9357:30;9354:2;;;-1:-1;;9390:12;9354:2;9420:78;9490:7;9481:6;9470:9;9466:22;9420:78;:::i;:::-;9410:88;;9563:2;9552:9;9548:18;9535:32;9521:46;;9149:18;9579:6;9576:30;9573:2;;;-1:-1;;9609:12;9573:2;9639:78;9709:7;9700:6;9689:9;9685:22;9639:78;:::i;:::-;9629:88;;9782:2;9771:9;9767:18;9754:32;9740:46;;9149:18;9798:6;9795:30;9792:2;;;-1:-1;;9828:12;9792:2;9858:78;9928:7;9919:6;9908:9;9904:22;9858:78;:::i;:::-;9848:88;;10001:3;9990:9;9986:19;9973:33;9959:47;;9149:18;10018:6;10015:30;10012:2;;;-1:-1;;10048:12;10012:2;;10078:62;10132:7;10123:6;10112:9;10108:22;10078:62;:::i;:::-;10068:72;;;9008:1148;;;;;;;;:::o;10163:257::-;;10275:2;10263:9;10254:7;10250:23;10246:32;10243:2;;;-1:-1;;10281:12;10243:2;4063:6;4057:13;29870:5;27715:13;27708:21;29848:5;29845:32;29835:2;;-1:-1;;29881:12;10427:263;;10542:2;10530:9;10521:7;10517:23;10513:32;10510:2;;;-1:-1;;10548:12;10510:2;-1:-1;5725:13;;10504:186;-1:-1;10504:186::o;11322:690::-;;11515:5;26009:12;26812:6;26807:3;26800:19;26849:4;;26844:3;26840:14;11527:93;;26849:4;11691:5;25705:14;-1:-1;11730:260;11755:6;11752:1;11749:13;11730:260;;;11816:13;;-1:-1;;;;;28119:54;11122:37;;10851:14;;;;26540;;;;4458:18;11770:9;11730:260;;;-1:-1;11996:10;;11446:566;-1:-1;;;;;11446:566::o;12051:690::-;;12244:5;26009:12;26812:6;26807:3;26800:19;26849:4;;26844:3;26840:14;12256:93;;26849:4;12420:5;25705:14;-1:-1;12459:260;12484:6;12481:1;12478:13;12459:260;;;12545:13;;17170:37;;11033:14;;;;26540;;;;12506:1;12499:9;12459:260;;12866:343;;13008:5;26009:12;26812:6;26807:3;26800:19;13101:52;13146:6;26849:4;26844:3;26840:14;26849:4;13127:5;13123:16;13101:52;:::i;:::-;29520:7;29504:14;-1:-1;;29500:28;13165:39;;;;26849:4;13165:39;;12956:253;-1:-1;;12956:253::o;17339:271::-;;13376:5;26009:12;13487:52;13532:6;13527:3;13520:4;13513:5;13509:16;13487:52;:::i;:::-;13551:16;;;;;17473:137;-1:-1;;17473:137::o;17617:222::-;-1:-1;;;;;28119:54;;;;11122:37;;17744:2;17729:18;;17715:124::o;17846:528::-;-1:-1;;;;;28119:54;;;11122:37;;28119:54;;18211:2;18196:18;;11122:37;18047:2;18248;18233:18;;18226:48;;;17846:528;;18288:76;;18032:18;;18350:6;18288:76;:::i;:::-;18280:84;18018:356;-1:-1;;;;;18018:356::o;18381:333::-;-1:-1;;;;;28119:54;;;;11122:37;;18700:2;18685:18;;17170:37;18536:2;18521:18;;18507:207::o;18721:218::-;-1:-1;;;;;;27802:78;;;;12818:36;;18846:2;18831:18;;18817:122::o;19464:1308::-;;29636:1;29629:5;29626:12;29616:2;;29642:9;29616:2;28943:50;14007:3;14000:74;19927:3;20070:2;20059:9;20055:18;20048:48;20110:108;19927:3;19916:9;19912:19;20204:6;20110:108;:::i;:::-;20266:9;20260:4;20256:20;20251:2;20240:9;20236:18;20229:48;20291:108;20394:4;20385:6;20291:108;:::i;:::-;20283:116;;20447:9;20441:4;20437:20;20432:2;20421:9;20417:18;20410:48;20472:108;20575:4;20566:6;20472:108;:::i;:::-;20464:116;;20629:9;20623:4;20619:20;20613:3;20602:9;20598:19;20591:49;20654:108;20757:4;20748:6;20654:108;:::i;:::-;20646:116;19898:874;-1:-1;;;;;;;;19898:874::o;20779:310::-;;20926:2;20947:17;20940:47;21001:78;20926:2;20915:9;20911:18;21065:6;21001:78;:::i;21096:416::-;21296:2;21310:47;;;14665:2;21281:18;;;26800:19;14701:34;26840:14;;;14681:55;-1:-1;;;14756:12;;;14749:29;14797:12;;;21267:245::o;21519:416::-;21719:2;21733:47;;;15048:2;21704:18;;;26800:19;15084:34;26840:14;;;15064:55;-1:-1;;;15139:12;;;15132:30;15181:12;;;21690:245::o;21942:416::-;22142:2;22156:47;;;15432:2;22127:18;;;26800:19;15468:34;26840:14;;;15448:55;-1:-1;;;15523:12;;;15516:42;15577:12;;;22113:245::o;22365:416::-;22565:2;22579:47;;;15828:2;22550:18;;;26800:19;15864:34;26840:14;;;15844:55;-1:-1;;;15919:12;;;15912:41;15972:12;;;22536:245::o;22788:416::-;22988:2;23002:47;;;16223:2;22973:18;;;26800:19;16259:31;26840:14;;;16239:52;16310:12;;;22959:245::o;23211:416::-;23411:2;23425:47;;;16561:2;23396:18;;;26800:19;16597:34;26840:14;;;16577:55;-1:-1;;;16652:12;;;16645:34;16698:12;;;23382:245::o;23634:416::-;23834:2;23848:47;;;16949:2;23819:18;;;26800:19;16985:34;26840:14;;;16965:55;-1:-1;;;17040:12;;;17033:31;17083:12;;;23805:245::o;24057:256::-;24119:2;24113:9;24145:17;;;24220:18;24205:34;;24241:22;;;24202:62;24199:2;;;24277:1;;24267:12;24199:2;24119;24286:22;24097:216;;-1:-1;24097:216::o;24320:304::-;;24479:18;24471:6;24468:30;24465:2;;;-1:-1;;24501:12;24465:2;-1:-1;24546:4;24534:17;;;24599:15;;24402:222::o;25262:321::-;;25405:18;25397:6;25394:30;25391:2;;;-1:-1;;25427:12;25391:2;-1:-1;29520:7;25481:17;-1:-1;;25477:33;25568:4;25558:15;;25328:255::o;29160:268::-;29225:1;29232:101;29246:6;29243:1;29240:13;29232:101;;;29313:11;;;29307:18;29294:11;;;29287:39;29268:2;29261:10;29232:101;;;29348:6;29345:1;29342:13;29339:2;;;-1:-1;;29225:1;29395:16;;29388:27;29209:219::o;29665:117::-;-1:-1;;;;;28119:54;;29724:35;;29714:2;;29773:1;;29763:12;29714:2;29708:74;:::o","linkReferences":{},"immutableReferences":{"1783":[{"start":760,"length":32},{"start":1279,"length":32}]}},"methodIdentifiers":{"CLAIM_REWARDS_SELECTOR()":"40da225d","EXECUTE_CALLS_SELECTOR()":"12d9c1f6","LEND_AND_STAKE_SELECTOR()":"131461c0","LEND_SELECTOR()":"257cb1a3","REDEEM_SELECTOR()":"f7d882b5","STAKE_SELECTOR()":"3ffc1591","TAKE_MULTIPLE_ORDERS_SELECTOR()":"c32990a2","TAKE_ORDER_SELECTOR()":"863e5ad0","UNSTAKE_AND_REDEEM_SELECTOR()":"080456c1","UNSTAKE_SELECTOR()":"b23228cf","executeCalls(address,bytes,bytes)":"b7fe1a11","getIntegrationManager()":"e7c45690","guard()":"7ceab3b1","parseAssetsForAction(address,bytes4,bytes)":"c54efee5","vault()":"fbfa77cf"},"rawMetadata":"{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_integrationManager\",\"type\":\"address\"},{\"internalType\":\"contract IVault\",\"name\":\"_vault\",\"type\":\"address\"},{\"internalType\":\"contract IGuard\",\"name\":\"_guard\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"CLAIM_REWARDS_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"EXECUTE_CALLS_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LEND_AND_STAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LEND_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"REDEEM_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"STAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TAKE_MULTIPLE_ORDERS_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TAKE_ORDER_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UNSTAKE_AND_REDEEM_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UNSTAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"executeCalls\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getIntegrationManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"integrationManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"guard\",\"outputs\":[{\"internalType\":\"contract IGuard\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"_selector\",\"type\":\"bytes4\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"}],\"name\":\"parseAssetsForAction\",\"outputs\":[{\"internalType\":\"enum IIntegrationManager.SpendAssetsHandleType\",\"name\":\"spendAssetsHandleType_\",\"type\":\"uint8\"},{\"internalType\":\"address[]\",\"name\":\"spendAssets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"spendAssetAmounts_\",\"type\":\"uint256[]\"},{\"internalType\":\"address[]\",\"name\":\"incomingAssets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"minIncomingAssetAmounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"vault\",\"outputs\":[{\"internalType\":\"contract IVault\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"executeCalls(address,bytes,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}},\"getIntegrationManager()\":{\"returns\":{\"integrationManager_\":\"The `INTEGRATION_MANAGER` variable value\"}},\"parseAssetsForAction(address,bytes4,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_selector\":\"The function selector for the callOnIntegration\"},\"returns\":{\"incomingAssets_\":\"The assets to receive in the call\",\"minIncomingAssetAmounts_\":\"The min asset amounts to receive in the call\",\"spendAssetAmounts_\":\"The max asset amounts to spend in the call\",\"spendAssetsHandleType_\":\"A type that dictates how to handle granting the adapter access to spend assets (hardcoded to `Transfer`)\",\"spendAssets_\":\"The assets to spend in the call\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"executeCalls(address,bytes,bytes)\":{\"notice\":\"Executes a sequence of calls\"},\"getIntegrationManager()\":{\"notice\":\"Gets the `INTEGRATION_MANAGER` variable\"},\"parseAssetsForAction(address,bytes4,bytes)\":{\"notice\":\"Parses the expected assets in a particular action\"}},\"notice\":\"A generic adapter for Enzyme vault with our own guard mechanism. - Guard checks the asset manager cannot perform actions that are not allowed (withdraw, trade wrong tokens) - Governance address can still perform hese actions - Adapter is associated with a specific vault\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/GuardedGenericAdapter.sol\":\"GuardedGenericAdapter\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@enzyme/=../enzyme/contracts/\",\":@openzeppelin/=../enzyme/node_modules/@openzeppelin/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/openzeppelin-contracts/lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\"]},\"sources\":{\"../enzyme/contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"../enzyme/contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"../enzyme/contracts/persistent/protocol-fee-reserve/interfaces/IProtocolFeeReserve1.sol\":{\"keccak256\":\"0x2728878c423db523bc95189137e8c58d2d7db9f56bbd5c6b1f988c08b551fbab\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3b0df1d2eb74151265d03ab91a7c341f7beca475dd2f4d669052dbc4ee2c06ac\",\"dweb:/ipfs/QmVx1cgrxQNYfdK1Kn15pcgqf79Uw8bF3U6i7F2HG2rj6G\"]},\"../enzyme/contracts/persistent/vault/VaultLibBase1.sol\":{\"keccak256\":\"0xa4dac1e4cdb311a2ab187135355357d8790c505ef36dd912c057fe53743d30b5\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b66efe821016ab927c949263023260515e90f5d480dc8d94eefbfeec7bf7490b\",\"dweb:/ipfs/QmNY3xKnhL9EptAbxGvXHGAXfV9pj3dDPwsZnKrPs54ZHw\"]},\"../enzyme/contracts/persistent/vault/VaultLibBase2.sol\":{\"keccak256\":\"0xf7d31f2a9a47770ed3f444be2c4fe9262ddb55fef7f25e546b1f03c9afec4c09\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9353ddce7c9b8b3c13fed23fe8edec99ca610d791b0c5b204b3d01f1f08d07d2\",\"dweb:/ipfs/QmeVsEh3joCjv49BRXeHASevnZZ5xdZXpkctHT8BPf37N2\"]},\"../enzyme/contracts/persistent/vault/VaultLibBaseCore.sol\":{\"keccak256\":\"0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd\",\"dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz\"]},\"../enzyme/contracts/persistent/vault/interfaces/IExternalPositionVault.sol\":{\"keccak256\":\"0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d\",\"dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8\"]},\"../enzyme/contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol\":{\"keccak256\":\"0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb\",\"dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU\"]},\"../enzyme/contracts/persistent/vault/interfaces/IMigratableVault.sol\":{\"keccak256\":\"0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6\",\"dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs\"]},\"../enzyme/contracts/persistent/vault/interfaces/IVaultCore.sol\":{\"keccak256\":\"0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd\",\"dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr\"]},\"../enzyme/contracts/persistent/vault/utils/ProxiableVaultLib.sol\":{\"keccak256\":\"0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44\",\"dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4\"]},\"../enzyme/contracts/persistent/vault/utils/SharesTokenBase.sol\":{\"keccak256\":\"0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8\",\"dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4\"]},\"../enzyme/contracts/persistent/vault/utils/VaultLibSafeMath.sol\":{\"keccak256\":\"0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02\",\"dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG\"]},\"../enzyme/contracts/release/core/fund/comptroller/IComptroller.sol\":{\"keccak256\":\"0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97\",\"dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L\"]},\"../enzyme/contracts/release/core/fund/vault/IVault.sol\":{\"keccak256\":\"0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599\",\"dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG\"]},\"../enzyme/contracts/release/core/fund/vault/VaultLib.sol\":{\"keccak256\":\"0x07e49445ab55c01e1b499a48baadc2a15d1eba621f1c6d3ccfdb84c87b976da8\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://56d882459248f73e137db2e097fc56b946147fb28ec21661b77431f88e856cb4\",\"dweb:/ipfs/QmRP6Ry7DCS5uoKxnnkTomHSzbaCze6cHqbR9aLdjoF6vK\"]},\"../enzyme/contracts/release/extensions/external-position-manager/IExternalPositionManager.sol\":{\"keccak256\":\"0x3af3f634e1f99fb97091b7825c0d2e2baaafc124d4e87d56cb0c17ff8554f6c6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://515470605afe5ef147f30fa75ce7818f0e00e3d321eb81a4d9bffcdefc294495\",\"dweb:/ipfs/QmPKsp99pfHoz9Tfo3ZxnkmqDqJtN9PxqacF2RmeVfxUJF\"]},\"../enzyme/contracts/release/extensions/integration-manager/IIntegrationManager.sol\":{\"keccak256\":\"0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23\",\"dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk\"]},\"../enzyme/contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol\":{\"keccak256\":\"0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336\",\"dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS\"]},\"../enzyme/contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol\":{\"keccak256\":\"0x067e49bf0d3c1655ab41a413c65ccf61d4e593308132e1ffc484a0fadfbbaf26\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://387f425017e18e89cc1893521101fa99df595314847d0b3d9a1162369f714fcf\",\"dweb:/ipfs/Qmco3jCvuWAyfCpBYpGzHrQjiFJG63w1RJKcakoTEbxRQm\"]},\"../enzyme/contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol\":{\"keccak256\":\"0xfd34c7ca8231c6935e25dede32ca2b3121738e624d0fc896f7b895a731edcf88\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d492c061963d36d07718446db191d4c5a340c0d847f6cd209f027bd99f7cb176\",\"dweb:/ipfs/QmfCvRZt56ftDdrEh6LepHXFJ4fVtcfpQGvEyY8k4zxG1A\"]},\"../enzyme/contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol\":{\"keccak256\":\"0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f\",\"dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp\"]},\"../enzyme/contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol\":{\"keccak256\":\"0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0\",\"dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2\"]},\"../enzyme/contracts/release/infrastructure/protocol-fees/IProtocolFeeTracker.sol\":{\"keccak256\":\"0x232b347f83457439064add7369bfe1930c7cb56f15930bb87d640e909c15e447\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://24f9af5eebdd373b1d7a598c096eb6def31b2640d54416d7d5a7226e1cef17e6\",\"dweb:/ipfs/QmStq9ByGuSYdKwTmZf52L1X6sZVJUfXTnoVbnjLLiUcHG\"]},\"../enzyme/contracts/release/interfaces/IGsnForwarder.sol\":{\"keccak256\":\"0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29\",\"dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G\"]},\"../enzyme/contracts/release/interfaces/IGsnPaymaster.sol\":{\"keccak256\":\"0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4\",\"dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF\"]},\"../enzyme/contracts/release/interfaces/IGsnTypes.sol\":{\"keccak256\":\"0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7\",\"dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C\"]},\"../enzyme/contracts/release/interfaces/IWETH.sol\":{\"keccak256\":\"0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2\",\"dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ\"]},\"../enzyme/contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"../enzyme/contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"../enzyme/contracts/release/utils/beacon-proxy/IBeacon.sol\":{\"keccak256\":\"0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39\",\"dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V\"]},\"../enzyme/contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol\":{\"keccak256\":\"0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be\",\"dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG\"]},\"../enzyme/node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"../enzyme/node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"../enzyme/node_modules/@openzeppelin/contracts/token/ERC20/ERC20Burnable.sol\":{\"keccak256\":\"0x9c0eb3b0e11d2480d49991dc384f1e5f9c9b9967cc81944d50916a9b9c6c4984\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99e4033d778624992e86f0b6d801a4f6d7b5c0cd5c79c1296be90a051ad5f5af\",\"dweb:/ipfs/QmShYmkUqh6pDEeoWadZ24icmCr4C2Xys1uE5boivPmbwf\"]},\"../enzyme/node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"../enzyme/node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"../enzyme/node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"../enzyme/node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]},\"src/GuardedGenericAdapter.sol\":{\"keccak256\":\"0x85d2336712324af762d8c4937a1d1504e923930d592be12465dcef5f23d47207\",\"urls\":[\"bzz-raw://65562e0e869b4a8e8a90c67a596d6356197fd80b823656354f1a6a7154cf0fcb\",\"dweb:/ipfs/QmeTt7RoYKt7wTKhF5qVEBTwE6XWCevmdPFqaP6reWiGSV\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.6.12+commit.27d51765"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"_integrationManager","type":"address"},{"internalType":"contract IVault","name":"_vault","type":"address"},{"internalType":"contract IGuard","name":"_guard","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"stateMutability":"view","type":"function","name":"CLAIM_REWARDS_SELECTOR","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"EXECUTE_CALLS_SELECTOR","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"LEND_AND_STAKE_SELECTOR","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"LEND_SELECTOR","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"REDEEM_SELECTOR","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"STAKE_SELECTOR","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"TAKE_MULTIPLE_ORDERS_SELECTOR","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"TAKE_ORDER_SELECTOR","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UNSTAKE_AND_REDEEM_SELECTOR","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UNSTAKE_SELECTOR","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}]},{"inputs":[{"internalType":"address","name":"_vaultProxy","type":"address"},{"internalType":"bytes","name":"_actionData","type":"bytes"},{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"executeCalls"},{"inputs":[],"stateMutability":"view","type":"function","name":"getIntegrationManager","outputs":[{"internalType":"address","name":"integrationManager_","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"guard","outputs":[{"internalType":"contract IGuard","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"bytes4","name":"_selector","type":"bytes4"},{"internalType":"bytes","name":"_actionData","type":"bytes"}],"stateMutability":"view","type":"function","name":"parseAssetsForAction","outputs":[{"internalType":"enum IIntegrationManager.SpendAssetsHandleType","name":"spendAssetsHandleType_","type":"uint8"},{"internalType":"address[]","name":"spendAssets_","type":"address[]"},{"internalType":"uint256[]","name":"spendAssetAmounts_","type":"uint256[]"},{"internalType":"address[]","name":"incomingAssets_","type":"address[]"},{"internalType":"uint256[]","name":"minIncomingAssetAmounts_","type":"uint256[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"vault","outputs":[{"internalType":"contract IVault","name":"","type":"address"}]}],"devdoc":{"kind":"dev","methods":{"executeCalls(address,bytes,bytes)":{"params":{"_actionData":"Data specific to this action","_vaultProxy":"The VaultProxy of the calling fund"}},"getIntegrationManager()":{"returns":{"integrationManager_":"The `INTEGRATION_MANAGER` variable value"}},"parseAssetsForAction(address,bytes4,bytes)":{"params":{"_actionData":"Data specific to this action","_selector":"The function selector for the callOnIntegration"},"returns":{"incomingAssets_":"The assets to receive in the call","minIncomingAssetAmounts_":"The min asset amounts to receive in the call","spendAssetAmounts_":"The max asset amounts to spend in the call","spendAssetsHandleType_":"A type that dictates how to handle granting the adapter access to spend assets (hardcoded to `Transfer`)","spendAssets_":"The assets to spend in the call"}}},"version":1},"userdoc":{"kind":"user","methods":{"executeCalls(address,bytes,bytes)":{"notice":"Executes a sequence of calls"},"getIntegrationManager()":{"notice":"Gets the `INTEGRATION_MANAGER` variable"},"parseAssetsForAction(address,bytes4,bytes)":{"notice":"Parses the expected assets in a particular action"}},"version":1}},"settings":{"remappings":["@enzyme/=../enzyme/contracts/","@openzeppelin/=../enzyme/node_modules/@openzeppelin/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-std/=lib/openzeppelin-contracts/lib/forge-std/src/","openzeppelin-contracts/=lib/openzeppelin-contracts/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/GuardedGenericAdapter.sol":"GuardedGenericAdapter"},"evmVersion":"istanbul","libraries":{}},"sources":{"../enzyme/contracts/persistent/dispatcher/IDispatcher.sol":{"keccak256":"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30","urls":["bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0","dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ"],"license":"GPL-3.0"},"../enzyme/contracts/persistent/external-positions/IExternalPosition.sol":{"keccak256":"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad","urls":["bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa","dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM"],"license":"GPL-3.0"},"../enzyme/contracts/persistent/protocol-fee-reserve/interfaces/IProtocolFeeReserve1.sol":{"keccak256":"0x2728878c423db523bc95189137e8c58d2d7db9f56bbd5c6b1f988c08b551fbab","urls":["bzz-raw://3b0df1d2eb74151265d03ab91a7c341f7beca475dd2f4d669052dbc4ee2c06ac","dweb:/ipfs/QmVx1cgrxQNYfdK1Kn15pcgqf79Uw8bF3U6i7F2HG2rj6G"],"license":"GPL-3.0"},"../enzyme/contracts/persistent/vault/VaultLibBase1.sol":{"keccak256":"0xa4dac1e4cdb311a2ab187135355357d8790c505ef36dd912c057fe53743d30b5","urls":["bzz-raw://b66efe821016ab927c949263023260515e90f5d480dc8d94eefbfeec7bf7490b","dweb:/ipfs/QmNY3xKnhL9EptAbxGvXHGAXfV9pj3dDPwsZnKrPs54ZHw"],"license":"GPL-3.0"},"../enzyme/contracts/persistent/vault/VaultLibBase2.sol":{"keccak256":"0xf7d31f2a9a47770ed3f444be2c4fe9262ddb55fef7f25e546b1f03c9afec4c09","urls":["bzz-raw://9353ddce7c9b8b3c13fed23fe8edec99ca610d791b0c5b204b3d01f1f08d07d2","dweb:/ipfs/QmeVsEh3joCjv49BRXeHASevnZZ5xdZXpkctHT8BPf37N2"],"license":"GPL-3.0"},"../enzyme/contracts/persistent/vault/VaultLibBaseCore.sol":{"keccak256":"0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074","urls":["bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd","dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz"],"license":"GPL-3.0"},"../enzyme/contracts/persistent/vault/interfaces/IExternalPositionVault.sol":{"keccak256":"0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6","urls":["bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d","dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8"],"license":"GPL-3.0"},"../enzyme/contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol":{"keccak256":"0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0","urls":["bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb","dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU"],"license":"GPL-3.0"},"../enzyme/contracts/persistent/vault/interfaces/IMigratableVault.sol":{"keccak256":"0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238","urls":["bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6","dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs"],"license":"GPL-3.0"},"../enzyme/contracts/persistent/vault/interfaces/IVaultCore.sol":{"keccak256":"0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80","urls":["bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd","dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr"],"license":"GPL-3.0"},"../enzyme/contracts/persistent/vault/utils/ProxiableVaultLib.sol":{"keccak256":"0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76","urls":["bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44","dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4"],"license":"GPL-3.0"},"../enzyme/contracts/persistent/vault/utils/SharesTokenBase.sol":{"keccak256":"0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113","urls":["bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8","dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4"],"license":"GPL-3.0"},"../enzyme/contracts/persistent/vault/utils/VaultLibSafeMath.sol":{"keccak256":"0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d","urls":["bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02","dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG"],"license":"GPL-3.0"},"../enzyme/contracts/release/core/fund/comptroller/IComptroller.sol":{"keccak256":"0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f","urls":["bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97","dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L"],"license":"GPL-3.0"},"../enzyme/contracts/release/core/fund/vault/IVault.sol":{"keccak256":"0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd","urls":["bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599","dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG"],"license":"GPL-3.0"},"../enzyme/contracts/release/core/fund/vault/VaultLib.sol":{"keccak256":"0x07e49445ab55c01e1b499a48baadc2a15d1eba621f1c6d3ccfdb84c87b976da8","urls":["bzz-raw://56d882459248f73e137db2e097fc56b946147fb28ec21661b77431f88e856cb4","dweb:/ipfs/QmRP6Ry7DCS5uoKxnnkTomHSzbaCze6cHqbR9aLdjoF6vK"],"license":"GPL-3.0"},"../enzyme/contracts/release/extensions/external-position-manager/IExternalPositionManager.sol":{"keccak256":"0x3af3f634e1f99fb97091b7825c0d2e2baaafc124d4e87d56cb0c17ff8554f6c6","urls":["bzz-raw://515470605afe5ef147f30fa75ce7818f0e00e3d321eb81a4d9bffcdefc294495","dweb:/ipfs/QmPKsp99pfHoz9Tfo3ZxnkmqDqJtN9PxqacF2RmeVfxUJF"],"license":"GPL-3.0"},"../enzyme/contracts/release/extensions/integration-manager/IIntegrationManager.sol":{"keccak256":"0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef","urls":["bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23","dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk"],"license":"GPL-3.0"},"../enzyme/contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol":{"keccak256":"0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1","urls":["bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336","dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS"],"license":"GPL-3.0"},"../enzyme/contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol":{"keccak256":"0x067e49bf0d3c1655ab41a413c65ccf61d4e593308132e1ffc484a0fadfbbaf26","urls":["bzz-raw://387f425017e18e89cc1893521101fa99df595314847d0b3d9a1162369f714fcf","dweb:/ipfs/Qmco3jCvuWAyfCpBYpGzHrQjiFJG63w1RJKcakoTEbxRQm"],"license":"GPL-3.0"},"../enzyme/contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol":{"keccak256":"0xfd34c7ca8231c6935e25dede32ca2b3121738e624d0fc896f7b895a731edcf88","urls":["bzz-raw://d492c061963d36d07718446db191d4c5a340c0d847f6cd209f027bd99f7cb176","dweb:/ipfs/QmfCvRZt56ftDdrEh6LepHXFJ4fVtcfpQGvEyY8k4zxG1A"],"license":"GPL-3.0"},"../enzyme/contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol":{"keccak256":"0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609","urls":["bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f","dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp"],"license":"GPL-3.0"},"../enzyme/contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol":{"keccak256":"0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01","urls":["bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0","dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2"],"license":"GPL-3.0"},"../enzyme/contracts/release/infrastructure/protocol-fees/IProtocolFeeTracker.sol":{"keccak256":"0x232b347f83457439064add7369bfe1930c7cb56f15930bb87d640e909c15e447","urls":["bzz-raw://24f9af5eebdd373b1d7a598c096eb6def31b2640d54416d7d5a7226e1cef17e6","dweb:/ipfs/QmStq9ByGuSYdKwTmZf52L1X6sZVJUfXTnoVbnjLLiUcHG"],"license":"GPL-3.0"},"../enzyme/contracts/release/interfaces/IGsnForwarder.sol":{"keccak256":"0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030","urls":["bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29","dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G"],"license":"GPL-3.0"},"../enzyme/contracts/release/interfaces/IGsnPaymaster.sol":{"keccak256":"0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c","urls":["bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4","dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF"],"license":"GPL-3.0"},"../enzyme/contracts/release/interfaces/IGsnTypes.sol":{"keccak256":"0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714","urls":["bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7","dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C"],"license":"GPL-3.0"},"../enzyme/contracts/release/interfaces/IWETH.sol":{"keccak256":"0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2","urls":["bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2","dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ"],"license":"GPL-3.0"},"../enzyme/contracts/release/utils/AddressArrayLib.sol":{"keccak256":"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f","urls":["bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6","dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap"],"license":"GPL-3.0"},"../enzyme/contracts/release/utils/AssetHelpers.sol":{"keccak256":"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f","urls":["bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b","dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E"],"license":"GPL-3.0"},"../enzyme/contracts/release/utils/beacon-proxy/IBeacon.sol":{"keccak256":"0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2","urls":["bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39","dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V"],"license":"GPL-3.0"},"../enzyme/contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol":{"keccak256":"0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc","urls":["bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be","dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG"],"license":"GPL-3.0"},"../enzyme/node_modules/@openzeppelin/contracts/math/SafeMath.sol":{"keccak256":"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52","urls":["bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c","dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR"],"license":"MIT"},"../enzyme/node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3","urls":["bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e","dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE"],"license":"MIT"},"../enzyme/node_modules/@openzeppelin/contracts/token/ERC20/ERC20Burnable.sol":{"keccak256":"0x9c0eb3b0e11d2480d49991dc384f1e5f9c9b9967cc81944d50916a9b9c6c4984","urls":["bzz-raw://99e4033d778624992e86f0b6d801a4f6d7b5c0cd5c79c1296be90a051ad5f5af","dweb:/ipfs/QmShYmkUqh6pDEeoWadZ24icmCr4C2Xys1uE5boivPmbwf"],"license":"MIT"},"../enzyme/node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5","urls":["bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08","dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC"],"license":"MIT"},"../enzyme/node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol":{"keccak256":"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc","urls":["bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a","dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ"],"license":"MIT"},"../enzyme/node_modules/@openzeppelin/contracts/utils/Address.sol":{"keccak256":"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea","urls":["bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c","dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN"],"license":"MIT"},"../enzyme/node_modules/@openzeppelin/contracts/utils/Context.sol":{"keccak256":"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0","urls":["bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f","dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96"],"license":"MIT"},"src/GuardedGenericAdapter.sol":{"keccak256":"0x85d2336712324af762d8c4937a1d1504e923930d592be12465dcef5f23d47207","urls":["bzz-raw://65562e0e869b4a8e8a90c67a596d6356197fd80b823656354f1a6a7154cf0fcb","dweb:/ipfs/QmeTt7RoYKt7wTKhF5qVEBTwE6XWCevmdPFqaP6reWiGSV"],"license":null}},"version":1},"ast":{"absolutePath":"src/GuardedGenericAdapter.sol","id":7305,"exportedSymbols":{"GuardedGenericAdapter":[7304],"IGuard":[7019]},"nodeType":"SourceUnit","src":"50:6772:74","nodes":[{"id":7006,"nodeType":"PragmaDirective","src":"50:24:74","nodes":[],"literals":["solidity","^","0.6",".12"]},{"id":7007,"nodeType":"PragmaDirective","src":"75:33:74","nodes":[],"literals":["experimental","ABIEncoderV2"]},{"id":7008,"nodeType":"ImportDirective","src":"111:91:74","nodes":[],"absolutePath":"../enzyme/contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol","file":"@enzyme/release/extensions/integration-manager/integrations/utils/AdapterBase.sol","scope":7305,"sourceUnit":1893,"symbolAliases":[],"unitAlias":""},{"id":7009,"nodeType":"ImportDirective","src":"203:54:74","nodes":[],"absolutePath":"../enzyme/contracts/release/core/fund/vault/VaultLib.sol","file":"@enzyme/release/core/fund/vault/VaultLib.sol","scope":7305,"sourceUnit":1765,"symbolAliases":[],"unitAlias":""},{"id":7019,"nodeType":"ContractDefinition","src":"723:125:74","nodes":[{"id":7018,"nodeType":"FunctionDefinition","src":"746:100:74","nodes":[],"documentation":null,"functionSelector":"6d5025f1","implemented":false,"kind":"function","modifiers":[],"name":"validateCall","overrides":null,"parameters":{"id":7016,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7011,"mutability":"mutable","name":"sender","nodeType":"VariableDeclaration","overrides":null,"scope":7018,"src":"768:14:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7010,"name":"address","nodeType":"ElementaryTypeName","src":"768:7:74","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":7013,"mutability":"mutable","name":"target","nodeType":"VariableDeclaration","overrides":null,"scope":7018,"src":"784:14:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7012,"name":"address","nodeType":"ElementaryTypeName","src":"784:7:74","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":7015,"mutability":"mutable","name":"callDataWithSelector","nodeType":"VariableDeclaration","overrides":null,"scope":7018,"src":"800:35:74","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":7014,"name":"bytes","nodeType":"ElementaryTypeName","src":"800:5:74","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"value":null,"visibility":"internal"}],"src":"767:69:74"},"returnParameters":{"id":7017,"nodeType":"ParameterList","parameters":[],"src":"845:0:74"},"scope":7019,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"contractDependencies":[],"contractKind":"interface","documentation":null,"fullyImplemented":false,"linearizedBaseContracts":[7019],"name":"IGuard","scope":7305},{"id":7304,"nodeType":"ContractDefinition","src":"1158:5663:74","nodes":[{"id":7024,"nodeType":"VariableDeclaration","src":"1412:19:74","nodes":[],"constant":false,"functionSelector":"fbfa77cf","mutability":"mutable","name":"vault","overrides":null,"scope":7304,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IVault_$7825","typeString":"contract IVault"},"typeName":{"contractScope":null,"id":7023,"name":"IVault","nodeType":"UserDefinedTypeName","referencedDeclaration":7825,"src":"1412:6:74","typeDescriptions":{"typeIdentifier":"t_contract$_IVault_$7825","typeString":"contract IVault"}},"value":null,"visibility":"public"},{"id":7026,"nodeType":"VariableDeclaration","src":"1493:19:74","nodes":[],"constant":false,"functionSelector":"7ceab3b1","mutability":"mutable","name":"guard","overrides":null,"scope":7304,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IGuard_$7019","typeString":"contract IGuard"},"typeName":{"contractScope":null,"id":7025,"name":"IGuard","nodeType":"UserDefinedTypeName","referencedDeclaration":7019,"src":"1493:6:74","typeDescriptions":{"typeIdentifier":"t_contract$_IGuard_$7019","typeString":"contract IGuard"}},"value":null,"visibility":"public"},{"id":7034,"nodeType":"VariableDeclaration","src":"1585:116:74","nodes":[],"constant":true,"functionSelector":"12d9c1f6","mutability":"constant","name":"EXECUTE_CALLS_SELECTOR","overrides":null,"scope":7304,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":7027,"name":"bytes4","nodeType":"ElementaryTypeName","src":"1585:6:74","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"value":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"hexValue":"6578656375746543616c6c7328616464726573732c62797465732c627974657329","id":7031,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1659:35:74","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_b7fe1a117cff974e3f19d303d9f97ada44b7ecad880df21ddfdc69ba0493b796","typeString":"literal_string \"executeCalls(address,bytes,bytes)\""},"value":"executeCalls(address,bytes,bytes)"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b7fe1a117cff974e3f19d303d9f97ada44b7ecad880df21ddfdc69ba0493b796","typeString":"literal_string \"executeCalls(address,bytes,bytes)\""}],"id":7030,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"1649:9:74","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":7032,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1649:46:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":7029,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1633:6:74","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes4_$","typeString":"type(bytes4)"},"typeName":{"id":7028,"name":"bytes4","nodeType":"ElementaryTypeName","src":"1633:6:74","typeDescriptions":{"typeIdentifier":null,"typeString":null}}},"id":7033,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1633:68:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"public"},{"id":7064,"nodeType":"FunctionDefinition","src":"1708:602:74","nodes":[],"body":{"id":7063,"nodeType":"Block","src":"1849:461:74","nodes":[],"statements":[{"expression":{"argumentTypes":null,"id":7048,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"id":7046,"name":"vault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7024,"src":"2033:5:74","typeDescriptions":{"typeIdentifier":"t_contract$_IVault_$7825","typeString":"contract IVault"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"id":7047,"name":"_vault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7038,"src":"2041:6:74","typeDescriptions":{"typeIdentifier":"t_contract$_IVault_$7825","typeString":"contract IVault"}},"src":"2033:14:74","typeDescriptions":{"typeIdentifier":"t_contract$_IVault_$7825","typeString":"contract IVault"}},"id":7049,"nodeType":"ExpressionStatement","src":"2033:14:74"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":7055,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"arguments":[],"expression":{"argumentTypes":[],"expression":{"argumentTypes":null,"id":7051,"name":"vault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7024,"src":"2187:5:74","typeDescriptions":{"typeIdentifier":"t_contract$_IVault_$7825","typeString":"contract IVault"}},"id":7052,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getCreator","nodeType":"MemberAccess","referencedDeclaration":9412,"src":"2187:16:74","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_address_$","typeString":"function () view external returns (address)"}},"id":7053,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2187:18:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"argumentTypes":null,"hexValue":"307830303030303030303030303030303030303030303030303030303030303030303030303030303030","id":7054,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2209:42:74","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"value":"0x0000000000000000000000000000000000000000"},"src":"2187:64:74","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"argumentTypes":null,"hexValue":"456e636f756e74657265642066756e6e79207661756c74","id":7056,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2253:25:74","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_d9f24d5023927ca575f3a944f0a2dfe553dbbc992c0ec8a6fe3b467f7effcc47","typeString":"literal_string \"Encountered funny vault\""},"value":"Encountered funny vault"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_d9f24d5023927ca575f3a944f0a2dfe553dbbc992c0ec8a6fe3b467f7effcc47","typeString":"literal_string \"Encountered funny vault\""}],"id":7050,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2179:7:74","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":7057,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2179:100:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7058,"nodeType":"ExpressionStatement","src":"2179:100:74"},{"expression":{"argumentTypes":null,"id":7061,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"id":7059,"name":"guard","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7026,"src":"2289:5:74","typeDescriptions":{"typeIdentifier":"t_contract$_IGuard_$7019","typeString":"contract IGuard"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"id":7060,"name":"_guard","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7040,"src":"2297:6:74","typeDescriptions":{"typeIdentifier":"t_contract$_IGuard_$7019","typeString":"contract IGuard"}},"src":"2289:14:74","typeDescriptions":{"typeIdentifier":"t_contract$_IGuard_$7019","typeString":"contract IGuard"}},"id":7062,"nodeType":"ExpressionStatement","src":"2289:14:74"}]},"documentation":null,"implemented":true,"kind":"constructor","modifiers":[{"arguments":[{"argumentTypes":null,"id":7043,"name":"_integrationManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7036,"src":"1828:19:74","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":7044,"modifierName":{"argumentTypes":null,"id":7042,"name":"AdapterBase","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1892,"src":"1816:11:74","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_AdapterBase_$1892_$","typeString":"type(contract AdapterBase)"}},"nodeType":"ModifierInvocation","src":"1816:32:74"}],"name":"","overrides":null,"parameters":{"id":7041,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7036,"mutability":"mutable","name":"_integrationManager","nodeType":"VariableDeclaration","overrides":null,"scope":7064,"src":"1729:27:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7035,"name":"address","nodeType":"ElementaryTypeName","src":"1729:7:74","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":7038,"mutability":"mutable","name":"_vault","nodeType":"VariableDeclaration","overrides":null,"scope":7064,"src":"1766:13:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IVault_$7825","typeString":"contract IVault"},"typeName":{"contractScope":null,"id":7037,"name":"IVault","nodeType":"UserDefinedTypeName","referencedDeclaration":7825,"src":"1766:6:74","typeDescriptions":{"typeIdentifier":"t_contract$_IVault_$7825","typeString":"contract IVault"}},"value":null,"visibility":"internal"},{"constant":false,"id":7040,"mutability":"mutable","name":"_guard","nodeType":"VariableDeclaration","overrides":null,"scope":7064,"src":"1789:13:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IGuard_$7019","typeString":"contract IGuard"},"typeName":{"contractScope":null,"id":7039,"name":"IGuard","nodeType":"UserDefinedTypeName","referencedDeclaration":7019,"src":"1789:6:74","typeDescriptions":{"typeIdentifier":"t_contract$_IGuard_$7019","typeString":"contract IGuard"}},"value":null,"visibility":"internal"}],"src":"1719:89:74"},"returnParameters":{"id":7045,"nodeType":"ParameterList","parameters":[],"src":"1849:0:74"},"scope":7304,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":7134,"nodeType":"FunctionDefinition","src":"2506:756:74","nodes":[],"body":{"id":7133,"nodeType":"Block","src":"2820:442:74","nodes":[],"statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":7090,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":7085,"name":"_vaultProxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7067,"src":"2838:11:74","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":7088,"name":"vault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7024,"src":"2861:5:74","typeDescriptions":{"typeIdentifier":"t_contract$_IVault_$7825","typeString":"contract IVault"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IVault_$7825","typeString":"contract IVault"}],"id":7087,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2853:7:74","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":7086,"name":"address","nodeType":"ElementaryTypeName","src":"2853:7:74","typeDescriptions":{"typeIdentifier":null,"typeString":null}}},"id":7089,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2853:14:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2838:29:74","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"argumentTypes":null,"hexValue":"4f6e6c792063616c6c732066726f6d207468652077686974656c6973746564207661756c742061726520616c6c6f776564","id":7091,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2869:51:74","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_92e415b8d2b5b519ac1761c134d94a6d1147c25f2893f4d94cc7ac4778336eb5","typeString":"literal_string \"Only calls from the whitelisted vault are allowed\""},"value":"Only calls from the whitelisted vault are allowed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_92e415b8d2b5b519ac1761c134d94a6d1147c25f2893f4d94cc7ac4778336eb5","typeString":"literal_string \"Only calls from the whitelisted vault are allowed\""}],"id":7084,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2830:7:74","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":7092,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2830:91:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7093,"nodeType":"ExpressionStatement","src":"2830:91:74"},{"assignments":[null,null,null,null,7095],"declarations":[null,null,null,null,{"constant":false,"id":7095,"mutability":"mutable","name":"externalCallsData","nodeType":"VariableDeclaration","overrides":null,"scope":7133,"src":"2941:30:74","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":7094,"name":"bytes","nodeType":"ElementaryTypeName","src":"2941:5:74","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"value":null,"visibility":"internal"}],"id":7099,"initialValue":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":7097,"name":"_actionData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7069,"src":"2992:11:74","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"id":7096,"name":"__decodeCallArgs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7261,"src":"2975:16:74","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_calldata_ptr_$returns$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_bytes_memory_ptr_$","typeString":"function (bytes calldata) pure returns (address[] memory,uint256[] memory,address[] memory,uint256[] memory,bytes memory)"}},"id":7098,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2975:29:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_bytes_memory_ptr_$","typeString":"tuple(address[] memory,uint256[] memory,address[] memory,uint256[] memory,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"2932:72:74"},{"assignments":[7104,7107],"declarations":[{"constant":false,"id":7104,"mutability":"mutable","name":"contracts","nodeType":"VariableDeclaration","overrides":null,"scope":7133,"src":"3016:26:74","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":7102,"name":"address","nodeType":"ElementaryTypeName","src":"3016:7:74","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":7103,"length":null,"nodeType":"ArrayTypeName","src":"3016:9:74","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"value":null,"visibility":"internal"},{"constant":false,"id":7107,"mutability":"mutable","name":"callsData","nodeType":"VariableDeclaration","overrides":null,"scope":7133,"src":"3044:24:74","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":7105,"name":"bytes","nodeType":"ElementaryTypeName","src":"3044:5:74","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":7106,"length":null,"nodeType":"ArrayTypeName","src":"3044:7:74","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"value":null,"visibility":"internal"}],"id":7111,"initialValue":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":7109,"name":"externalCallsData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7095,"src":"3111:17:74","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":7108,"name":"__decodeExternalCallsData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7303,"src":"3072:25:74","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$","typeString":"function (bytes memory) pure returns (address[] memory,bytes memory[] memory)"}},"id":7110,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3072:66:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$","typeString":"tuple(address[] memory,bytes memory[] memory)"}},"nodeType":"VariableDeclarationStatement","src":"3015:123:74"},{"body":{"id":7131,"nodeType":"Block","src":"3192:64:74","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":7123,"name":"contracts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7104,"src":"3218:9:74","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":7125,"indexExpression":{"argumentTypes":null,"id":7124,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7113,"src":"3228:1:74","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3218:12:74","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":7126,"name":"callsData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7107,"src":"3232:9:74","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":7128,"indexExpression":{"argumentTypes":null,"id":7127,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7113,"src":"3242:1:74","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3232:12:74","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":7122,"name":"callGuarded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7168,"src":"3206:11:74","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,bytes memory)"}},"id":7129,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3206:39:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7130,"nodeType":"ExpressionStatement","src":"3206:39:74"}]},"condition":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7118,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":7115,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7113,"src":"3165:1:74","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":7116,"name":"contracts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7104,"src":"3169:9:74","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":7117,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","referencedDeclaration":null,"src":"3169:16:74","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3165:20:74","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7132,"initializationExpression":{"assignments":[7113],"declarations":[{"constant":false,"id":7113,"mutability":"mutable","name":"i","nodeType":"VariableDeclaration","overrides":null,"scope":7132,"src":"3154:9:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7112,"name":"uint256","nodeType":"ElementaryTypeName","src":"3154:7:74","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"id":7114,"initialValue":null,"nodeType":"VariableDeclarationStatement","src":"3154:9:74"},"loopExpression":{"expression":{"argumentTypes":null,"id":7120,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"3187:3:74","subExpression":{"argumentTypes":null,"id":7119,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7113,"src":"3187:1:74","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":7121,"nodeType":"ExpressionStatement","src":"3187:3:74"},"nodeType":"ForStatement","src":"3149:107:74"}]},"documentation":{"id":7065,"nodeType":"StructuredDocumentation","src":"2343:158:74","text":"@notice Executes a sequence of calls\n @param _vaultProxy The VaultProxy of the calling fund\n @param _actionData Data specific to this action"},"functionSelector":"b7fe1a11","implemented":true,"kind":"function","modifiers":[{"arguments":null,"id":7074,"modifierName":{"argumentTypes":null,"id":7073,"name":"onlyIntegrationManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1841,"src":"2648:22:74","typeDescriptions":{"typeIdentifier":"t_modifier$__$","typeString":"modifier ()"}},"nodeType":"ModifierInvocation","src":"2648:22:74"},{"arguments":[{"argumentTypes":null,"id":7076,"name":"_vaultProxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7067,"src":"2719:11:74","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":7077,"name":"_actionData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7069,"src":"2732:11:74","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"id":7078,"modifierName":{"argumentTypes":null,"id":7075,"name":"postActionIncomingAssetsTransferHandler","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1806,"src":"2679:39:74","typeDescriptions":{"typeIdentifier":"t_modifier$_t_address_$_t_bytes_memory_ptr_$","typeString":"modifier (address,bytes memory)"}},"nodeType":"ModifierInvocation","src":"2679:65:74"},{"arguments":[{"argumentTypes":null,"id":7080,"name":"_vaultProxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7067,"src":"2790:11:74","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":7081,"name":"_actionData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7069,"src":"2803:11:74","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"id":7082,"modifierName":{"argumentTypes":null,"id":7079,"name":"postActionSpendAssetsTransferHandler","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1829,"src":"2753:36:74","typeDescriptions":{"typeIdentifier":"t_modifier$_t_address_$_t_bytes_memory_ptr_$","typeString":"modifier (address,bytes memory)"}},"nodeType":"ModifierInvocation","src":"2753:62:74"}],"name":"executeCalls","overrides":null,"parameters":{"id":7072,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7067,"mutability":"mutable","name":"_vaultProxy","nodeType":"VariableDeclaration","overrides":null,"scope":7134,"src":"2537:19:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7066,"name":"address","nodeType":"ElementaryTypeName","src":"2537:7:74","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":7069,"mutability":"mutable","name":"_actionData","nodeType":"VariableDeclaration","overrides":null,"scope":7134,"src":"2566:26:74","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":7068,"name":"bytes","nodeType":"ElementaryTypeName","src":"2566:5:74","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"value":null,"visibility":"internal"},{"constant":false,"id":7071,"mutability":"mutable","name":"","nodeType":"VariableDeclaration","overrides":null,"scope":7134,"src":"2602:14:74","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":7070,"name":"bytes","nodeType":"ElementaryTypeName","src":"2602:5:74","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"value":null,"visibility":"internal"}],"src":"2527:95:74"},"returnParameters":{"id":7083,"nodeType":"ParameterList","parameters":[],"src":"2820:0:74"},"scope":7304,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":7168,"nodeType":"FunctionDefinition","src":"3463:731:74","nodes":[],"body":{"id":7167,"nodeType":"Block","src":"3541:653:74","nodes":[],"statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":7147,"name":"vault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7024,"src":"3770:5:74","typeDescriptions":{"typeIdentifier":"t_contract$_IVault_$7825","typeString":"contract IVault"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IVault_$7825","typeString":"contract IVault"}],"id":7146,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3762:7:74","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":7145,"name":"address","nodeType":"ElementaryTypeName","src":"3762:7:74","typeDescriptions":{"typeIdentifier":null,"typeString":null}}},"id":7148,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3762:14:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":7149,"name":"contractAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7137,"src":"3778:15:74","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":7150,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7139,"src":"3795:8:74","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"argumentTypes":null,"id":7142,"name":"guard","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7026,"src":"3743:5:74","typeDescriptions":{"typeIdentifier":"t_contract$_IGuard_$7019","typeString":"contract IGuard"}},"id":7144,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"validateCall","nodeType":"MemberAccess","referencedDeclaration":7018,"src":"3743:18:74","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,address,bytes memory) external"}},"id":7151,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3743:61:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7152,"nodeType":"ExpressionStatement","src":"3743:61:74"},{"assignments":[7154,7156],"declarations":[{"constant":false,"id":7154,"mutability":"mutable","name":"success","nodeType":"VariableDeclaration","overrides":null,"scope":7167,"src":"3816:12:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":7153,"name":"bool","nodeType":"ElementaryTypeName","src":"3816:4:74","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":null,"visibility":"internal"},{"constant":false,"id":7156,"mutability":"mutable","name":"returnData","nodeType":"VariableDeclaration","overrides":null,"scope":7167,"src":"3830:23:74","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":7155,"name":"bytes","nodeType":"ElementaryTypeName","src":"3830:5:74","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"value":null,"visibility":"internal"}],"id":7161,"initialValue":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":7159,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7139,"src":"3878:8:74","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"argumentTypes":null,"id":7157,"name":"contractAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7137,"src":"3857:15:74","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":7158,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"call","nodeType":"MemberAccess","referencedDeclaration":null,"src":"3857:20:74","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":7160,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3857:30:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"3815:72:74"},{"condition":{"argumentTypes":null,"id":7163,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"3901:8:74","subExpression":{"argumentTypes":null,"id":7162,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7154,"src":"3902:7:74","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":null,"id":7166,"nodeType":"IfStatement","src":"3898:241:74","trueBody":{"id":7165,"nodeType":"Block","src":"3911:228:74","statements":[{"AST":{"nodeType":"YulBlock","src":"3933:196:74","statements":[{"nodeType":"YulVariableDeclaration","src":"3951:43:74","value":{"arguments":[{"name":"returnData","nodeType":"YulIdentifier","src":"3983:10:74"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"3977:5:74"},"nodeType":"YulFunctionCall","src":"3977:17:74"},"variables":[{"name":"revertStringLength","nodeType":"YulTypedName","src":"3955:18:74","type":""}]},{"nodeType":"YulVariableDeclaration","src":"4011:44:74","value":{"arguments":[{"name":"returnData","nodeType":"YulIdentifier","src":"4038:10:74"},{"kind":"number","nodeType":"YulLiteral","src":"4050:4:74","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4034:3:74"},"nodeType":"YulFunctionCall","src":"4034:21:74"},"variables":[{"name":"revertStringPtr","nodeType":"YulTypedName","src":"4015:15:74","type":""}]},{"expression":{"arguments":[{"name":"revertStringPtr","nodeType":"YulIdentifier","src":"4079:15:74"},{"name":"revertStringLength","nodeType":"YulIdentifier","src":"4096:18:74"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4072:6:74"},"nodeType":"YulFunctionCall","src":"4072:43:74"},"nodeType":"YulExpressionStatement","src":"4072:43:74"}]},"evmVersion":"istanbul","externalReferences":[{"declaration":7156,"isOffset":false,"isSlot":false,"src":"3983:10:74","valueSize":1},{"declaration":7156,"isOffset":false,"isSlot":false,"src":"4038:10:74","valueSize":1}],"id":7164,"nodeType":"InlineAssembly","src":"3925:204:74"}]}}]},"documentation":{"id":7135,"nodeType":"StructuredDocumentation","src":"3268:190:74","text":" Checks if the asset manager is allowed to do this action with the guard smart contract.\n Then perform the action. If the action reverts, unwind the execution."},"implemented":true,"kind":"function","modifiers":[],"name":"callGuarded","overrides":null,"parameters":{"id":7140,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7137,"mutability":"mutable","name":"contractAddress","nodeType":"VariableDeclaration","overrides":null,"scope":7168,"src":"3484:23:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7136,"name":"address","nodeType":"ElementaryTypeName","src":"3484:7:74","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":7139,"mutability":"mutable","name":"callData","nodeType":"VariableDeclaration","overrides":null,"scope":7168,"src":"3509:21:74","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":7138,"name":"bytes","nodeType":"ElementaryTypeName","src":"3509:5:74","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"value":null,"visibility":"internal"}],"src":"3483:48:74"},"returnParameters":{"id":7141,"nodeType":"ParameterList","parameters":[],"src":"3541:0:74"},"scope":7304,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":7220,"nodeType":"FunctionDefinition","src":"4838:965:74","nodes":[],"body":{"id":7219,"nodeType":"Block","src":"5302:501:74","nodes":[],"statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":7196,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":7194,"name":"_selector","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7173,"src":"5320:9:74","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"argumentTypes":null,"id":7195,"name":"EXECUTE_CALLS_SELECTOR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7034,"src":"5333:22:74","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"5320:35:74","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"argumentTypes":null,"hexValue":"7061727365417373657473466f72416374696f6e3a205f73656c6563746f7220696e76616c6964","id":7197,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5357:41:74","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_fa7d3951a54ad7f640a0aa9b85ad7f5ff914df62a5263210a007a27ec3c5f2c7","typeString":"literal_string \"parseAssetsForAction: _selector invalid\""},"value":"parseAssetsForAction: _selector invalid"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_fa7d3951a54ad7f640a0aa9b85ad7f5ff914df62a5263210a007a27ec3c5f2c7","typeString":"literal_string \"parseAssetsForAction: _selector invalid\""}],"id":7193,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"5312:7:74","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":7198,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5312:87:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7199,"nodeType":"ExpressionStatement","src":"5312:87:74"},{"expression":{"argumentTypes":null,"id":7208,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"components":[{"argumentTypes":null,"id":7200,"name":"incomingAssets_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7188,"src":"5424:15:74","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"argumentTypes":null,"id":7201,"name":"minIncomingAssetAmounts_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7191,"src":"5453:24:74","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"argumentTypes":null,"id":7202,"name":"spendAssets_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7182,"src":"5491:12:74","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"argumentTypes":null,"id":7203,"name":"spendAssetAmounts_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7185,"src":"5517:18:74","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},null],"id":7204,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"5410:137:74","typeDescriptions":{"typeIdentifier":"t_tuple$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$__$","typeString":"tuple(address[] memory,uint256[] memory,address[] memory,uint256[] memory,)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":7206,"name":"_actionData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7175,"src":"5567:11:74","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"id":7205,"name":"__decodeCallArgs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7261,"src":"5550:16:74","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_calldata_ptr_$returns$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_bytes_memory_ptr_$","typeString":"function (bytes calldata) pure returns (address[] memory,uint256[] memory,address[] memory,uint256[] memory,bytes memory)"}},"id":7207,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5550:29:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_bytes_memory_ptr_$","typeString":"tuple(address[] memory,uint256[] memory,address[] memory,uint256[] memory,bytes memory)"}},"src":"5410:169:74","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7209,"nodeType":"ExpressionStatement","src":"5410:169:74"},{"expression":{"argumentTypes":null,"components":[{"argumentTypes":null,"expression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":7210,"name":"IIntegrationManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":9464,"src":"5611:19:74","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IIntegrationManager_$9464_$","typeString":"type(contract IIntegrationManager)"}},"id":7211,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"SpendAssetsHandleType","nodeType":"MemberAccess","referencedDeclaration":9463,"src":"5611:41:74","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_SpendAssetsHandleType_$9463_$","typeString":"type(enum IIntegrationManager.SpendAssetsHandleType)"}},"id":7212,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"Transfer","nodeType":"MemberAccess","referencedDeclaration":null,"src":"5611:50:74","typeDescriptions":{"typeIdentifier":"t_enum$_SpendAssetsHandleType_$9463","typeString":"enum IIntegrationManager.SpendAssetsHandleType"}},{"argumentTypes":null,"id":7213,"name":"spendAssets_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7182,"src":"5675:12:74","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"argumentTypes":null,"id":7214,"name":"spendAssetAmounts_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7185,"src":"5701:18:74","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"argumentTypes":null,"id":7215,"name":"incomingAssets_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7188,"src":"5733:15:74","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"argumentTypes":null,"id":7216,"name":"minIncomingAssetAmounts_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7191,"src":"5762:24:74","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}}],"id":7217,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5597:199:74","typeDescriptions":{"typeIdentifier":"t_tuple$_t_enum$_SpendAssetsHandleType_$9463_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"tuple(enum IIntegrationManager.SpendAssetsHandleType,address[] memory,uint256[] memory,address[] memory,uint256[] memory)"}},"functionReturnParameters":7192,"id":7218,"nodeType":"Return","src":"5590:206:74"}]},"baseFunctions":[8495],"documentation":{"id":7169,"nodeType":"StructuredDocumentation","src":"4200:633:74","text":"@notice Parses the expected assets in a particular action\n @param _selector The function selector for the callOnIntegration\n @param _actionData Data specific to this action\n @return spendAssetsHandleType_ A type that dictates how to handle granting\n the adapter access to spend assets (hardcoded to `Transfer`)\n @return spendAssets_ The assets to spend in the call\n @return spendAssetAmounts_ The max asset amounts to spend in the call\n @return incomingAssets_ The assets to receive in the call\n @return minIncomingAssetAmounts_ The min asset amounts to receive in the call"},"functionSelector":"c54efee5","implemented":true,"kind":"function","modifiers":[],"name":"parseAssetsForAction","overrides":{"id":7177,"nodeType":"OverrideSpecifier","overrides":[],"src":"4991:8:74"},"parameters":{"id":7176,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7171,"mutability":"mutable","name":"","nodeType":"VariableDeclaration","overrides":null,"scope":7220,"src":"4877:7:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7170,"name":"address","nodeType":"ElementaryTypeName","src":"4877:7:74","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":7173,"mutability":"mutable","name":"_selector","nodeType":"VariableDeclaration","overrides":null,"scope":7220,"src":"4894:16:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":7172,"name":"bytes4","nodeType":"ElementaryTypeName","src":"4894:6:74","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"value":null,"visibility":"internal"},{"constant":false,"id":7175,"mutability":"mutable","name":"_actionData","nodeType":"VariableDeclaration","overrides":null,"scope":7220,"src":"4920:26:74","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":7174,"name":"bytes","nodeType":"ElementaryTypeName","src":"4920:5:74","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"value":null,"visibility":"internal"}],"src":"4867:85:74"},"returnParameters":{"id":7192,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7179,"mutability":"mutable","name":"spendAssetsHandleType_","nodeType":"VariableDeclaration","overrides":null,"scope":7220,"src":"5030:64:74","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_SpendAssetsHandleType_$9463","typeString":"enum IIntegrationManager.SpendAssetsHandleType"},"typeName":{"contractScope":null,"id":7178,"name":"IIntegrationManager.SpendAssetsHandleType","nodeType":"UserDefinedTypeName","referencedDeclaration":9463,"src":"5030:41:74","typeDescriptions":{"typeIdentifier":"t_enum$_SpendAssetsHandleType_$9463","typeString":"enum IIntegrationManager.SpendAssetsHandleType"}},"value":null,"visibility":"internal"},{"constant":false,"id":7182,"mutability":"mutable","name":"spendAssets_","nodeType":"VariableDeclaration","overrides":null,"scope":7220,"src":"5108:29:74","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":7180,"name":"address","nodeType":"ElementaryTypeName","src":"5108:7:74","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":7181,"length":null,"nodeType":"ArrayTypeName","src":"5108:9:74","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"value":null,"visibility":"internal"},{"constant":false,"id":7185,"mutability":"mutable","name":"spendAssetAmounts_","nodeType":"VariableDeclaration","overrides":null,"scope":7220,"src":"5151:35:74","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":7183,"name":"uint256","nodeType":"ElementaryTypeName","src":"5151:7:74","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":7184,"length":null,"nodeType":"ArrayTypeName","src":"5151:9:74","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"value":null,"visibility":"internal"},{"constant":false,"id":7188,"mutability":"mutable","name":"incomingAssets_","nodeType":"VariableDeclaration","overrides":null,"scope":7220,"src":"5200:32:74","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":7186,"name":"address","nodeType":"ElementaryTypeName","src":"5200:7:74","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":7187,"length":null,"nodeType":"ArrayTypeName","src":"5200:9:74","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"value":null,"visibility":"internal"},{"constant":false,"id":7191,"mutability":"mutable","name":"minIncomingAssetAmounts_","nodeType":"VariableDeclaration","overrides":null,"scope":7220,"src":"5246:41:74","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":7189,"name":"uint256","nodeType":"ElementaryTypeName","src":"5246:7:74","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":7190,"length":null,"nodeType":"ArrayTypeName","src":"5246:9:74","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"value":null,"visibility":"internal"}],"src":"5016:281:74"},"scope":7304,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":7261,"nodeType":"FunctionDefinition","src":"5884:453:74","nodes":[],"body":{"id":7260,"nodeType":"Block","src":"6237:100:74","nodes":[],"statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":7242,"name":"_actionData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7223,"src":"6265:11:74","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},{"argumentTypes":null,"components":[{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":7244,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6279:7:74","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":7243,"name":"address","nodeType":"ElementaryTypeName","src":"6279:7:74","typeDescriptions":{"typeIdentifier":null,"typeString":null}}},"id":7245,"indexExpression":null,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"IndexAccess","src":"6279:9:74","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"type(address[] memory)"}},{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":7247,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6290:7:74","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":7246,"name":"uint256","nodeType":"ElementaryTypeName","src":"6290:7:74","typeDescriptions":{"typeIdentifier":null,"typeString":null}}},"id":7248,"indexExpression":null,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"IndexAccess","src":"6290:9:74","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"type(uint256[] memory)"}},{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":7250,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6301:7:74","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":7249,"name":"address","nodeType":"ElementaryTypeName","src":"6301:7:74","typeDescriptions":{"typeIdentifier":null,"typeString":null}}},"id":7251,"indexExpression":null,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"IndexAccess","src":"6301:9:74","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"type(address[] memory)"}},{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":7253,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6312:7:74","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":7252,"name":"uint256","nodeType":"ElementaryTypeName","src":"6312:7:74","typeDescriptions":{"typeIdentifier":null,"typeString":null}}},"id":7254,"indexExpression":null,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"IndexAccess","src":"6312:9:74","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"type(uint256[] memory)"}},{"argumentTypes":null,"id":7256,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6323:5:74","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":7255,"name":"bytes","nodeType":"ElementaryTypeName","src":"6323:5:74","typeDescriptions":{"typeIdentifier":null,"typeString":null}}}],"id":7257,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"6278:51:74","typeDescriptions":{"typeIdentifier":"t_tuple$_t_type$_t_array$_t_address_$dyn_memory_ptr_$_$_t_type$_t_array$_t_uint256_$dyn_memory_ptr_$_$_t_type$_t_array$_t_address_$dyn_memory_ptr_$_$_t_type$_t_array$_t_uint256_$dyn_memory_ptr_$_$_t_type$_t_bytes_storage_ptr_$_$","typeString":"tuple(type(address[] memory),type(uint256[] memory),type(address[] memory),type(uint256[] memory),type(bytes storage pointer))"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"},{"typeIdentifier":"t_tuple$_t_type$_t_array$_t_address_$dyn_memory_ptr_$_$_t_type$_t_array$_t_uint256_$dyn_memory_ptr_$_$_t_type$_t_array$_t_address_$dyn_memory_ptr_$_$_t_type$_t_array$_t_uint256_$dyn_memory_ptr_$_$_t_type$_t_bytes_storage_ptr_$_$","typeString":"tuple(type(address[] memory),type(uint256[] memory),type(address[] memory),type(uint256[] memory),type(bytes storage pointer))"}],"expression":{"argumentTypes":null,"id":7240,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6254:3:74","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":7241,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"decode","nodeType":"MemberAccess","referencedDeclaration":null,"src":"6254:10:74","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":7258,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6254:76:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_bytes_memory_ptr_$","typeString":"tuple(address[] memory,uint256[] memory,address[] memory,uint256[] memory,bytes memory)"}},"functionReturnParameters":7239,"id":7259,"nodeType":"Return","src":"6247:83:74"}]},"documentation":{"id":7221,"nodeType":"StructuredDocumentation","src":"5809:70:74","text":"@dev Helper to decode the encoded callOnIntegration call arguments"},"implemented":true,"kind":"function","modifiers":[],"name":"__decodeCallArgs","overrides":null,"parameters":{"id":7224,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7223,"mutability":"mutable","name":"_actionData","nodeType":"VariableDeclaration","overrides":null,"scope":7261,"src":"5910:26:74","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":7222,"name":"bytes","nodeType":"ElementaryTypeName","src":"5910:5:74","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"value":null,"visibility":"internal"}],"src":"5909:28:74"},"returnParameters":{"id":7239,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7227,"mutability":"mutable","name":"incomingAssets_","nodeType":"VariableDeclaration","overrides":null,"scope":7261,"src":"5997:32:74","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":7225,"name":"address","nodeType":"ElementaryTypeName","src":"5997:7:74","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":7226,"length":null,"nodeType":"ArrayTypeName","src":"5997:9:74","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"value":null,"visibility":"internal"},{"constant":false,"id":7230,"mutability":"mutable","name":"minIncomingAssetsAmounts_","nodeType":"VariableDeclaration","overrides":null,"scope":7261,"src":"6043:42:74","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":7228,"name":"uint256","nodeType":"ElementaryTypeName","src":"6043:7:74","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":7229,"length":null,"nodeType":"ArrayTypeName","src":"6043:9:74","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"value":null,"visibility":"internal"},{"constant":false,"id":7233,"mutability":"mutable","name":"spendAssets_","nodeType":"VariableDeclaration","overrides":null,"scope":7261,"src":"6099:29:74","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":7231,"name":"address","nodeType":"ElementaryTypeName","src":"6099:7:74","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":7232,"length":null,"nodeType":"ArrayTypeName","src":"6099:9:74","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"value":null,"visibility":"internal"},{"constant":false,"id":7236,"mutability":"mutable","name":"spendAssetAmounts_","nodeType":"VariableDeclaration","overrides":null,"scope":7261,"src":"6142:35:74","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":7234,"name":"uint256","nodeType":"ElementaryTypeName","src":"6142:7:74","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":7235,"length":null,"nodeType":"ArrayTypeName","src":"6142:9:74","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"value":null,"visibility":"internal"},{"constant":false,"id":7238,"mutability":"mutable","name":"externalCallsData_","nodeType":"VariableDeclaration","overrides":null,"scope":7261,"src":"6191:31:74","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":7237,"name":"bytes","nodeType":"ElementaryTypeName","src":"6191:5:74","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"value":null,"visibility":"internal"}],"src":"5983:249:74"},"scope":7304,"stateMutability":"pure","virtual":false,"visibility":"private"},{"id":7303,"nodeType":"FunctionDefinition","src":"6410:409:74","nodes":[],"body":{"id":7302,"nodeType":"Block","src":"6584:235:74","nodes":[],"statements":[{"expression":{"argumentTypes":null,"id":7287,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"components":[{"argumentTypes":null,"id":7273,"name":"contracts_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7268,"src":"6595:10:74","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"argumentTypes":null,"id":7274,"name":"callsData_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7271,"src":"6607:10:74","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}}],"id":7275,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"6594:24:74","typeDescriptions":{"typeIdentifier":"t_tuple$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$","typeString":"tuple(address[] memory,bytes memory[] memory)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":7278,"name":"_externalCallsData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7264,"src":"6632:18:74","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"argumentTypes":null,"components":[{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":7280,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6653:7:74","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":7279,"name":"address","nodeType":"ElementaryTypeName","src":"6653:7:74","typeDescriptions":{"typeIdentifier":null,"typeString":null}}},"id":7281,"indexExpression":null,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"IndexAccess","src":"6653:9:74","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"type(address[] memory)"}},{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":7283,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6664:5:74","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":7282,"name":"bytes","nodeType":"ElementaryTypeName","src":"6664:5:74","typeDescriptions":{"typeIdentifier":null,"typeString":null}}},"id":7284,"indexExpression":null,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"IndexAccess","src":"6664:7:74","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$","typeString":"type(bytes memory[] memory)"}}],"id":7285,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"6652:20:74","typeDescriptions":{"typeIdentifier":"t_tuple$_t_type$_t_array$_t_address_$dyn_memory_ptr_$_$_t_type$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_$","typeString":"tuple(type(address[] memory),type(bytes memory[] memory))"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_tuple$_t_type$_t_array$_t_address_$dyn_memory_ptr_$_$_t_type$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_$","typeString":"tuple(type(address[] memory),type(bytes memory[] memory))"}],"expression":{"argumentTypes":null,"id":7276,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6621:3:74","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":7277,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"decode","nodeType":"MemberAccess","referencedDeclaration":null,"src":"6621:10:74","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":7286,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6621:52:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$","typeString":"tuple(address[] memory,bytes memory[] memory)"}},"src":"6594:79:74","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7288,"nodeType":"ExpressionStatement","src":"6594:79:74"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7294,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":7290,"name":"contracts_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7268,"src":"6691:10:74","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":7291,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","referencedDeclaration":null,"src":"6691:17:74","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":7292,"name":"callsData_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7271,"src":"6712:10:74","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":7293,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","referencedDeclaration":null,"src":"6712:17:74","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6691:38:74","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"argumentTypes":null,"hexValue":"556e657175616c2065787465726e616c2063616c6c7320617272617973206c656e67746873","id":7295,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6731:39:74","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_2af52529fed430f17a4f57aaf2b2e5efd652752f460c4549180b97a09616cd96","typeString":"literal_string \"Unequal external calls arrays lengths\""},"value":"Unequal external calls arrays lengths"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_2af52529fed430f17a4f57aaf2b2e5efd652752f460c4549180b97a09616cd96","typeString":"literal_string \"Unequal external calls arrays lengths\""}],"id":7289,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"6683:7:74","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":7296,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6683:88:74","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7297,"nodeType":"ExpressionStatement","src":"6683:88:74"},{"expression":{"argumentTypes":null,"components":[{"argumentTypes":null,"id":7298,"name":"contracts_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7268,"src":"6789:10:74","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"argumentTypes":null,"id":7299,"name":"callsData_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7271,"src":"6801:10:74","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}}],"id":7300,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6788:24:74","typeDescriptions":{"typeIdentifier":"t_tuple$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$","typeString":"tuple(address[] memory,bytes memory[] memory)"}},"functionReturnParameters":7272,"id":7301,"nodeType":"Return","src":"6781:31:74"}]},"documentation":{"id":7262,"nodeType":"StructuredDocumentation","src":"6343:62:74","text":"@dev Helper to decode the stack of external contract calls"},"implemented":true,"kind":"function","modifiers":[],"name":"__decodeExternalCallsData","overrides":null,"parameters":{"id":7265,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7264,"mutability":"mutable","name":"_externalCallsData","nodeType":"VariableDeclaration","overrides":null,"scope":7303,"src":"6445:31:74","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":7263,"name":"bytes","nodeType":"ElementaryTypeName","src":"6445:5:74","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"value":null,"visibility":"internal"}],"src":"6444:33:74"},"returnParameters":{"id":7272,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7268,"mutability":"mutable","name":"contracts_","nodeType":"VariableDeclaration","overrides":null,"scope":7303,"src":"6524:27:74","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":7266,"name":"address","nodeType":"ElementaryTypeName","src":"6524:7:74","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":7267,"length":null,"nodeType":"ArrayTypeName","src":"6524:9:74","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"value":null,"visibility":"internal"},{"constant":false,"id":7271,"mutability":"mutable","name":"callsData_","nodeType":"VariableDeclaration","overrides":null,"scope":7303,"src":"6553:25:74","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":7269,"name":"bytes","nodeType":"ElementaryTypeName","src":"6553:5:74","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":7270,"length":null,"nodeType":"ArrayTypeName","src":"6553:7:74","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"value":null,"visibility":"internal"}],"src":"6523:56:74"},"scope":7304,"stateMutability":"pure","virtual":false,"visibility":"private"}],"abstract":false,"baseContracts":[{"arguments":null,"baseName":{"contractScope":null,"id":7021,"name":"AdapterBase","nodeType":"UserDefinedTypeName","referencedDeclaration":1892,"src":"1192:11:74","typeDescriptions":{"typeIdentifier":"t_contract$_AdapterBase_$1892","typeString":"contract AdapterBase"}},"id":7022,"nodeType":"InheritanceSpecifier","src":"1192:11:74"}],"contractDependencies":[1892,8496,8572,8922],"contractKind":"contract","documentation":{"id":7020,"nodeType":"StructuredDocumentation","src":"850:307:74","text":" A generic adapter for Enzyme vault with our own guard mechanism.\n - Guard checks the asset manager cannot perform actions\n that are not allowed (withdraw, trade wrong tokens)\n - Governance address can still perform hese actions\n - Adapter is associated with a specific vault"},"fullyImplemented":true,"linearizedBaseContracts":[7304,1892,8922,8572,8496],"name":"GuardedGenericAdapter","scope":7305}],"license":null},"id":74} \ No newline at end of file diff --git a/eth_defi/abi/MalformedERC20.json b/eth_defi/abi/MalformedERC20.json index 1e915e6e..31c9c251 100644 --- a/eth_defi/abi/MalformedERC20.json +++ b/eth_defi/abi/MalformedERC20.json @@ -1,264 +1 @@ -{ - "abi": [ - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x60c0604052600d60808190526c2337b7b130b9002137b7b130b960991b60a090815261002e9160009190610060565b5060408051602081019182905260009081905261004d91600191610060565b5034801561005a57600080fd5b506100f3565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106100a157805160ff19168380011785556100ce565b828001600101855582156100ce579182015b828111156100ce5782518255916020019190600101906100b3565b506100da9291506100de565b5090565b5b808211156100da57600081556001016100df565b6101de806101026000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806306fdde031461003b57806395d89b41146100b8575b600080fd5b6100436100c0565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561007d578181015183820152602001610065565b50505050905090810190601f1680156100aa5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61004361014e565b6000805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156101465780601f1061011b57610100808354040283529160200191610146565b820191906000526020600020905b81548152906001019060200180831161012957829003601f168201915b505050505081565b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156101465780601f1061011b5761010080835404028352916020019161014656fea26469706673582212208119d1576b3c7d73b794725c79fdd232dd90a6f09454694eac71282b4b8409d764736f6c634300060c0033", - "sourceMap": "157:39:77:-:0;101:211;157:39;;101:211;157:39;;;-1:-1:-1;;;157:39:77;;;;;;-1:-1:-1;;157:39:77;;:::i;:::-;-1:-1:-1;230:25:77;;;;;;;;;;-1:-1:-1;230:25:77;;;;;;;;;:::i;:::-;;101:211;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;101:211:77;;;-1:-1:-1;101:211:77;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c806306fdde031461003b57806395d89b41146100b8575b600080fd5b6100436100c0565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561007d578181015183820152602001610065565b50505050905090810190601f1680156100aa5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61004361014e565b6000805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156101465780601f1061011b57610100808354040283529160200191610146565b820191906000526020600020905b81548152906001019060200180831161012957829003601f168201915b505050505081565b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156101465780601f1061011b5761010080835404028352916020019161014656fea26469706673582212208119d1576b3c7d73b794725c79fdd232dd90a6f09454694eac71282b4b8409d764736f6c634300060c0033", - "sourceMap": "101:211:77:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;157:39;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;230:25;;;:::i;157:39::-;;;;;;;;;;;;;;;-1:-1:-1;;157:39:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;230:25::-;;;;;;;;;;;;;;;-1:-1:-1;;230:25:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "methodIdentifiers": { - "name()": "06fdde03", - "symbol()": "95d89b41" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"A broken ERC-20 implementation.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/MalformedERC20.sol\":\"MalformedERC20\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":# @openzeppelin/=lib/openzeppelin-contracts/\",\":@enzyme/=../enzyme/contracts/\",\":@openzeppelin/=../enzyme/node_modules/@openzeppelin/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\"]},\"sources\":{\"src/MalformedERC20.sol\":{\"keccak256\":\"0x712cd822b97b2b670bc2bda843ae145f56559619c4b78e027bb5e89905d817f0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://713745d4d9937f1bba96b7a876593bb33ff37bfeb9406165514837e17dce9c2d\",\"dweb:/ipfs/QmUyjhQsVtZmvaEiFtue76bBhsMkweBi2ha8cKhou5ZHut\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":# @openzeppelin/=lib/openzeppelin-contracts/", - ":@enzyme/=../enzyme/contracts/", - ":@openzeppelin/=../enzyme/node_modules/@openzeppelin/", - ":openzeppelin-contracts/=lib/openzeppelin-contracts/" - ], - "optimizer": { - "enabled": true, - "runs": 200 - }, - "metadata": { - "bytecodeHash": "ipfs" - }, - "compilationTarget": { - "src/MalformedERC20.sol": "MalformedERC20" - }, - "libraries": {} - }, - "sources": { - "src/MalformedERC20.sol": { - "keccak256": "0x712cd822b97b2b670bc2bda843ae145f56559619c4b78e027bb5e89905d817f0", - "urls": [ - "bzz-raw://713745d4d9937f1bba96b7a876593bb33ff37bfeb9406165514837e17dce9c2d", - "dweb:/ipfs/QmUyjhQsVtZmvaEiFtue76bBhsMkweBi2ha8cKhou5ZHut" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "ast": { - "absolutePath": "src/MalformedERC20.sol", - "id": 7200, - "exportedSymbols": { - "MalformedERC20": [ - 7199 - ] - }, - "nodeType": "SourceUnit", - "src": "33:279:77", - "nodes": [ - { - "id": 7191, - "nodeType": "PragmaDirective", - "src": "33:23:77", - "nodes": [], - "literals": [ - "solidity", - "0.6", - ".12" - ] - }, - { - "id": 7199, - "nodeType": "ContractDefinition", - "src": "101:211:77", - "nodes": [ - { - "id": 7195, - "nodeType": "VariableDeclaration", - "src": "157:39:77", - "nodes": [], - "constant": false, - "functionSelector": "06fdde03", - "mutability": "mutable", - "name": "name", - "overrides": null, - "scope": 7199, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 7193, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "157:6:77", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "466f6f62617200426f6f626172", - "id": 7194, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "178:18:77", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_fe2694dab230d613592e43e5133aa1172ede11e30d78a146009e26aada0311fd", - "typeString": "literal_string \"Foobar\u0000Boobar\"" - }, - "value": "Foobar\u0000Boobar" - }, - "visibility": "public" - }, - { - "id": 7198, - "nodeType": "VariableDeclaration", - "src": "230:25:77", - "nodes": [], - "constant": false, - "functionSelector": "95d89b41", - "mutability": "mutable", - "name": "symbol", - "overrides": null, - "scope": 7199, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage", - "typeString": "string" - }, - "typeName": { - "id": 7196, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "230:6:77", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "value": { - "argumentTypes": null, - "hexValue": "", - "id": 7197, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "253:2:77", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", - "typeString": "literal_string \"\"" - }, - "value": "" - }, - "visibility": "public" - } - ], - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": { - "id": 7192, - "nodeType": "StructuredDocumentation", - "src": "58:42:77", - "text": " A broken ERC-20 implementation." - }, - "fullyImplemented": true, - "linearizedBaseContracts": [ - 7199 - ], - "name": "MalformedERC20", - "scope": 7200 - } - ], - "license": "MIT" - }, - "id": 77 -} \ No newline at end of file +{"abi":[{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"}],"bytecode":{"object":"0x60c0604052600d60808190526c2337b7b130b9002137b7b130b960991b60a090815261002e9160009190610060565b5060408051602081019182905260009081905261004d91600191610060565b5034801561005a57600080fd5b506100f3565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106100a157805160ff19168380011785556100ce565b828001600101855582156100ce579182015b828111156100ce5782518255916020019190600101906100b3565b506100da9291506100de565b5090565b5b808211156100da57600081556001016100df565b6101de806101026000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806306fdde031461003b57806395d89b41146100b8575b600080fd5b6100436100c0565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561007d578181015183820152602001610065565b50505050905090810190601f1680156100aa5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61004361014e565b6000805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156101465780601f1061011b57610100808354040283529160200191610146565b820191906000526020600020905b81548152906001019060200180831161012957829003601f168201915b505050505081565b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156101465780601f1061011b5761010080835404028352916020019161014656fea264697066735822122054d423a13f86557a239064a2ccb4cad9573ec4aad9a2263421ef5276baf8985d64736f6c634300060c0033","sourceMap":"157:39:78:-:0;101:211;157:39;;101:211;157:39;;;-1:-1:-1;;;157:39:78;;;;;;-1:-1:-1;;157:39:78;;:::i;:::-;-1:-1:-1;230:25:78;;;;;;;;;;-1:-1:-1;230:25:78;;;;;;;;;:::i;:::-;;101:211;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;101:211:78;;;-1:-1:-1;101:211:78;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100365760003560e01c806306fdde031461003b57806395d89b41146100b8575b600080fd5b6100436100c0565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561007d578181015183820152602001610065565b50505050905090810190601f1680156100aa5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61004361014e565b6000805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156101465780601f1061011b57610100808354040283529160200191610146565b820191906000526020600020905b81548152906001019060200180831161012957829003601f168201915b505050505081565b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156101465780601f1061011b5761010080835404028352916020019161014656fea264697066735822122054d423a13f86557a239064a2ccb4cad9573ec4aad9a2263421ef5276baf8985d64736f6c634300060c0033","sourceMap":"101:211:78:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;157:39;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;230:25;;;:::i;157:39::-;;;;;;;;;;;;;;;-1:-1:-1;;157:39:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;230:25::-;;;;;;;;;;;;;;;-1:-1:-1;;230:25:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"methodIdentifiers":{"name()":"06fdde03","symbol()":"95d89b41"},"rawMetadata":"{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"A broken ERC-20 implementation.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/MalformedERC20.sol\":\"MalformedERC20\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@enzyme/=../enzyme/contracts/\",\":@openzeppelin/=../enzyme/node_modules/@openzeppelin/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/openzeppelin-contracts/lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\"]},\"sources\":{\"src/MalformedERC20.sol\":{\"keccak256\":\"0x712cd822b97b2b670bc2bda843ae145f56559619c4b78e027bb5e89905d817f0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://713745d4d9937f1bba96b7a876593bb33ff37bfeb9406165514837e17dce9c2d\",\"dweb:/ipfs/QmUyjhQsVtZmvaEiFtue76bBhsMkweBi2ha8cKhou5ZHut\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.6.12+commit.27d51765"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@enzyme/=../enzyme/contracts/","@openzeppelin/=../enzyme/node_modules/@openzeppelin/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-std/=lib/openzeppelin-contracts/lib/forge-std/src/","openzeppelin-contracts/=lib/openzeppelin-contracts/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/MalformedERC20.sol":"MalformedERC20"},"evmVersion":"istanbul","libraries":{}},"sources":{"src/MalformedERC20.sol":{"keccak256":"0x712cd822b97b2b670bc2bda843ae145f56559619c4b78e027bb5e89905d817f0","urls":["bzz-raw://713745d4d9937f1bba96b7a876593bb33ff37bfeb9406165514837e17dce9c2d","dweb:/ipfs/QmUyjhQsVtZmvaEiFtue76bBhsMkweBi2ha8cKhou5ZHut"],"license":"MIT"}},"version":1},"ast":{"absolutePath":"src/MalformedERC20.sol","id":7381,"exportedSymbols":{"MalformedERC20":[7380]},"nodeType":"SourceUnit","src":"33:279:78","nodes":[{"id":7372,"nodeType":"PragmaDirective","src":"33:23:78","nodes":[],"literals":["solidity","0.6",".12"]},{"id":7380,"nodeType":"ContractDefinition","src":"101:211:78","nodes":[{"id":7376,"nodeType":"VariableDeclaration","src":"157:39:78","nodes":[],"constant":false,"functionSelector":"06fdde03","mutability":"mutable","name":"name","overrides":null,"scope":7380,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":7374,"name":"string","nodeType":"ElementaryTypeName","src":"157:6:78","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"argumentTypes":null,"hexValue":"466f6f62617200426f6f626172","id":7375,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"178:18:78","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_fe2694dab230d613592e43e5133aa1172ede11e30d78a146009e26aada0311fd","typeString":"literal_string \"Foobar\u0000Boobar\""},"value":"Foobar\u0000Boobar"},"visibility":"public"},{"id":7379,"nodeType":"VariableDeclaration","src":"230:25:78","nodes":[],"constant":false,"functionSelector":"95d89b41","mutability":"mutable","name":"symbol","overrides":null,"scope":7380,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":7377,"name":"string","nodeType":"ElementaryTypeName","src":"230:6:78","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"argumentTypes":null,"hexValue":"","id":7378,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"253:2:78","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""},"visibility":"public"}],"abstract":false,"baseContracts":[],"contractDependencies":[],"contractKind":"contract","documentation":{"id":7373,"nodeType":"StructuredDocumentation","src":"58:42:78","text":" A broken ERC-20 implementation."},"fullyImplemented":true,"linearizedBaseContracts":[7380],"name":"MalformedERC20","scope":7381}],"license":"MIT"},"id":78} \ No newline at end of file diff --git a/eth_defi/abi/MockChainlinkAggregator.json b/eth_defi/abi/MockChainlinkAggregator.json index f6377aae..87469147 100644 --- a/eth_defi/abi/MockChainlinkAggregator.json +++ b/eth_defi/abi/MockChainlinkAggregator.json @@ -1,1244 +1 @@ -{ - "abi": [ - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "name": "decimals", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "latestRoundData", - "outputs": [ - { - "internalType": "uint80", - "name": "roundId", - "type": "uint80" - }, - { - "internalType": "int256", - "name": "answer", - "type": "int256" - }, - { - "internalType": "uint256", - "name": "startedAt", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "updatedAt", - "type": "uint256" - }, - { - "internalType": "uint80", - "name": "answeredInRound", - "type": "uint80" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint80", - "name": "_decimals", - "type": "uint80" - } - ], - "name": "setDecimals", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint80", - "name": "_answer", - "type": "uint80" - } - ], - "name": "setValue", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x608060405234801561001057600080fd5b506008600255610172806100256000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80630ef0b0dd146100515780632923cd5014610079578063313ce5671461009f578063feaf968c146100b9575b600080fd5b6100776004803603602081101561006757600080fd5b50356001600160501b0316610105565b005b6100776004803603602081101561008f57600080fd5b50356001600160501b0316610113565b6100a7610125565b60408051918252519081900360200190f35b6100c161012b565b60405180866001600160501b03168152602001858152602001848152602001838152602001826001600160501b031681526020019550505050505060405180910390f35b6001600160501b0316600255565b6001600160501b031660005542600155565b60025481565b60008054600154829081909192939456fea26469706673582212203f6f28c95670b7632d78e02e2f703a50fd0e95eecb001424cf22f5e629a8179764736f6c634300060c0033", - "sourceMap": "415:720:78:-:0;;;565:50;;;;;;;;;-1:-1:-1;607:1:78;596:8;:12;415:720;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b506004361061004c5760003560e01c80630ef0b0dd146100515780632923cd5014610079578063313ce5671461009f578063feaf968c146100b9575b600080fd5b6100776004803603602081101561006757600080fd5b50356001600160501b0316610105565b005b6100776004803603602081101561008f57600080fd5b50356001600160501b0316610113565b6100a7610125565b60408051918252519081900360200190f35b6100c161012b565b60405180866001600160501b03168152602001858152602001848152602001838152602001826001600160501b031681526020019550505050505060405180910390f35b6001600160501b0316600255565b6001600160501b031660005542600155565b60025481565b60008054600154829081909192939456fea26469706673582212203f6f28c95670b7632d78e02e2f703a50fd0e95eecb001424cf22f5e629a8179764736f6c634300060c0033", - "sourceMap": "415:720:78:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;754:85;;;;;;;;;;;;;;;;-1:-1:-1;754:85:78;-1:-1:-1;;;;;754:85:78;;:::i;:::-;;621:127;;;;;;;;;;;;;;;;-1:-1:-1;621:127:78;-1:-1:-1;;;;;621:127:78;;:::i;535:23::-;;;:::i;:::-;;;;;;;;;;;;;;;;879:254;;;:::i;:::-;;;;;-1:-1:-1;;;;;879:254:78;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;879:254:78;;;;;;;;;;;;;;;;;;;754:85;-1:-1:-1;;;;;812:20:78;:8;:20;754:85::o;621:127::-;-1:-1:-1;;;;;674:23:78;:13;:23;726:15;707:16;:34;621:127::o;535:23::-;;;;:::o;879:254::-;945:14;1088:13;;1106:16;;945:14;;;879:254;;;;;:::o", - "linkReferences": {} - }, - "methodIdentifiers": { - "decimals()": "313ce567", - "latestRoundData()": "feaf968c", - "setDecimals(uint80)": "0ef0b0dd", - "setValue(uint80)": "2923cd50" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"latestRoundData\",\"outputs\":[{\"internalType\":\"uint80\",\"name\":\"roundId\",\"type\":\"uint80\"},{\"internalType\":\"int256\",\"name\":\"answer\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"startedAt\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"updatedAt\",\"type\":\"uint256\"},{\"internalType\":\"uint80\",\"name\":\"answeredInRound\",\"type\":\"uint80\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint80\",\"name\":\"_decimals\",\"type\":\"uint80\"}],\"name\":\"setDecimals\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint80\",\"name\":\"_answer\",\"type\":\"uint80\"}],\"name\":\"setValue\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"latestRoundData()\":{\"notice\":\"Lifter from Enzyme mocks:\"}},\"notice\":\"A mock that allows us to set the price\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/MockChainlinkAggregator.sol\":\"MockChainlinkAggregator\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":# @openzeppelin/=lib/openzeppelin-contracts/\",\":@enzyme/=../enzyme/contracts/\",\":@openzeppelin/=../enzyme/node_modules/@openzeppelin/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\"]},\"sources\":{\"src/MockChainlinkAggregator.sol\":{\"keccak256\":\"0x42d4820195e403668f2e90cb0ca013a4bdf108279cdcaa08263b01222596516d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d347b6b294e1368b7d124728aba7c37b98e573ba4be5e045ee2e0f5371333de8\",\"dweb:/ipfs/Qmb5PmBrvospAjksEe2kxR3PhdpgBaJTa3pbUcXFmAUBEA\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "decimals", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "latestRoundData", - "outputs": [ - { - "internalType": "uint80", - "name": "roundId", - "type": "uint80" - }, - { - "internalType": "int256", - "name": "answer", - "type": "int256" - }, - { - "internalType": "uint256", - "name": "startedAt", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "updatedAt", - "type": "uint256" - }, - { - "internalType": "uint80", - "name": "answeredInRound", - "type": "uint80" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint80", - "name": "_decimals", - "type": "uint80" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setDecimals" - }, - { - "inputs": [ - { - "internalType": "uint80", - "name": "_answer", - "type": "uint80" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setValue" - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "latestRoundData()": { - "notice": "Lifter from Enzyme mocks:" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":# @openzeppelin/=lib/openzeppelin-contracts/", - ":@enzyme/=../enzyme/contracts/", - ":@openzeppelin/=../enzyme/node_modules/@openzeppelin/", - ":openzeppelin-contracts/=lib/openzeppelin-contracts/" - ], - "optimizer": { - "enabled": true, - "runs": 200 - }, - "metadata": { - "bytecodeHash": "ipfs" - }, - "compilationTarget": { - "src/MockChainlinkAggregator.sol": "MockChainlinkAggregator" - }, - "libraries": {} - }, - "sources": { - "src/MockChainlinkAggregator.sol": { - "keccak256": "0x42d4820195e403668f2e90cb0ca013a4bdf108279cdcaa08263b01222596516d", - "urls": [ - "bzz-raw://d347b6b294e1368b7d124728aba7c37b98e573ba4be5e045ee2e0f5371333de8", - "dweb:/ipfs/Qmb5PmBrvospAjksEe2kxR3PhdpgBaJTa3pbUcXFmAUBEA" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "ast": { - "absolutePath": "src/MockChainlinkAggregator.sol", - "id": 7282, - "exportedSymbols": { - "IChainlinkAggregator": [ - 7215 - ], - "MockChainlinkAggregator": [ - 7281 - ] - }, - "nodeType": "SourceUnit", - "src": "33:1103:78", - "nodes": [ - { - "id": 7201, - "nodeType": "PragmaDirective", - "src": "33:23:78", - "nodes": [], - "literals": [ - "solidity", - "0.6", - ".12" - ] - }, - { - "id": 7215, - "nodeType": "ContractDefinition", - "src": "58:305:78", - "nodes": [ - { - "id": 7214, - "nodeType": "FunctionDefinition", - "src": "170:191:78", - "nodes": [], - "documentation": null, - "functionSelector": "feaf968c", - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "latestRoundData", - "overrides": null, - "parameters": { - "id": 7202, - "nodeType": "ParameterList", - "parameters": [], - "src": "194:2:78" - }, - "returnParameters": { - "id": 7213, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7204, - "mutability": "mutable", - "name": "roundId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7214, - "src": "239:14:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint80", - "typeString": "uint80" - }, - "typeName": { - "id": 7203, - "name": "uint80", - "nodeType": "ElementaryTypeName", - "src": "239:6:78", - "typeDescriptions": { - "typeIdentifier": "t_uint80", - "typeString": "uint80" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7206, - "mutability": "mutable", - "name": "answer", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7214, - "src": "261:13:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "typeName": { - "id": 7205, - "name": "int256", - "nodeType": "ElementaryTypeName", - "src": "261:6:78", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7208, - "mutability": "mutable", - "name": "startedAt", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7214, - "src": "282:17:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7207, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "282:7:78", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7210, - "mutability": "mutable", - "name": "updatedAt", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7214, - "src": "307:17:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7209, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "307:7:78", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7212, - "mutability": "mutable", - "name": "answeredInRound", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7214, - "src": "332:22:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint80", - "typeString": "uint80" - }, - "typeName": { - "id": 7211, - "name": "uint80", - "nodeType": "ElementaryTypeName", - "src": "332:6:78", - "typeDescriptions": { - "typeIdentifier": "t_uint80", - "typeString": "uint80" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "231:129:78" - }, - "scope": 7215, - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "linearizedBaseContracts": [ - 7215 - ], - "name": "IChainlinkAggregator", - "scope": 7282 - }, - { - "id": 7281, - "nodeType": "ContractDefinition", - "src": "415:720:78", - "nodes": [ - { - "id": 7220, - "nodeType": "VariableDeclaration", - "src": "478:20:78", - "nodes": [], - "constant": false, - "mutability": "mutable", - "name": "currentAnswer", - "overrides": null, - "scope": 7281, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "typeName": { - "id": 7219, - "name": "int256", - "nodeType": "ElementaryTypeName", - "src": "478:6:78", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "id": 7222, - "nodeType": "VariableDeclaration", - "src": "504:24:78", - "nodes": [], - "constant": false, - "mutability": "mutable", - "name": "currentUpdatedAt", - "overrides": null, - "scope": 7281, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7221, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "504:7:78", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "id": 7224, - "nodeType": "VariableDeclaration", - "src": "535:23:78", - "nodes": [], - "constant": false, - "functionSelector": "313ce567", - "mutability": "mutable", - "name": "decimals", - "overrides": null, - "scope": 7281, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7223, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "535:7:78", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "id": 7232, - "nodeType": "FunctionDefinition", - "src": "565:50:78", - "nodes": [], - "body": { - "id": 7231, - "nodeType": "Block", - "src": "586:29:78", - "nodes": [], - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 7229, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 7227, - "name": "decimals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7224, - "src": "596:8:78", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "hexValue": "38", - "id": 7228, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "607:1:78", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_8_by_1", - "typeString": "int_const 8" - }, - "value": "8" - }, - "src": "596:12:78", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7230, - "nodeType": "ExpressionStatement", - "src": "596:12:78" - } - ] - }, - "documentation": null, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "overrides": null, - "parameters": { - "id": 7225, - "nodeType": "ParameterList", - "parameters": [], - "src": "576:2:78" - }, - "returnParameters": { - "id": 7226, - "nodeType": "ParameterList", - "parameters": [], - "src": "586:0:78" - }, - "scope": 7281, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "id": 7247, - "nodeType": "FunctionDefinition", - "src": "621:127:78", - "nodes": [], - "body": { - "id": 7246, - "nodeType": "Block", - "src": "664:84:78", - "nodes": [], - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 7239, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 7237, - "name": "currentAnswer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7220, - "src": "674:13:78", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 7238, - "name": "_answer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7234, - "src": "690:7:78", - "typeDescriptions": { - "typeIdentifier": "t_uint80", - "typeString": "uint80" - } - }, - "src": "674:23:78", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "id": 7240, - "nodeType": "ExpressionStatement", - "src": "674:23:78" - }, - { - "expression": { - "argumentTypes": null, - "id": 7244, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 7241, - "name": "currentUpdatedAt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7222, - "src": "707:16:78", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7242, - "name": "block", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -4, - "src": "726:5:78", - "typeDescriptions": { - "typeIdentifier": "t_magic_block", - "typeString": "block" - } - }, - "id": 7243, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "timestamp", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "726:15:78", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "707:34:78", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7245, - "nodeType": "ExpressionStatement", - "src": "707:34:78" - } - ] - }, - "documentation": null, - "functionSelector": "2923cd50", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "setValue", - "overrides": null, - "parameters": { - "id": 7235, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7234, - "mutability": "mutable", - "name": "_answer", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7247, - "src": "639:14:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint80", - "typeString": "uint80" - }, - "typeName": { - "id": 7233, - "name": "uint80", - "nodeType": "ElementaryTypeName", - "src": "639:6:78", - "typeDescriptions": { - "typeIdentifier": "t_uint80", - "typeString": "uint80" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "638:16:78" - }, - "returnParameters": { - "id": 7236, - "nodeType": "ParameterList", - "parameters": [], - "src": "664:0:78" - }, - "scope": 7281, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "id": 7257, - "nodeType": "FunctionDefinition", - "src": "754:85:78", - "nodes": [], - "body": { - "id": 7256, - "nodeType": "Block", - "src": "802:37:78", - "nodes": [], - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 7254, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 7252, - "name": "decimals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7224, - "src": "812:8:78", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 7253, - "name": "_decimals", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7249, - "src": "823:9:78", - "typeDescriptions": { - "typeIdentifier": "t_uint80", - "typeString": "uint80" - } - }, - "src": "812:20:78", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7255, - "nodeType": "ExpressionStatement", - "src": "812:20:78" - } - ] - }, - "documentation": null, - "functionSelector": "0ef0b0dd", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "setDecimals", - "overrides": null, - "parameters": { - "id": 7250, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7249, - "mutability": "mutable", - "name": "_decimals", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7257, - "src": "775:16:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint80", - "typeString": "uint80" - }, - "typeName": { - "id": 7248, - "name": "uint80", - "nodeType": "ElementaryTypeName", - "src": "775:6:78", - "typeDescriptions": { - "typeIdentifier": "t_uint80", - "typeString": "uint80" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "774:18:78" - }, - "returnParameters": { - "id": 7251, - "nodeType": "ParameterList", - "parameters": [], - "src": "802:0:78" - }, - "scope": 7281, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "id": 7280, - "nodeType": "FunctionDefinition", - "src": "879:254:78", - "nodes": [], - "body": { - "id": 7279, - "nodeType": "Block", - "src": "1067:66:78", - "nodes": [], - "statements": [ - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "hexValue": "30", - "id": 7272, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1085:1:78", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - { - "argumentTypes": null, - "id": 7273, - "name": "currentAnswer", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7220, - "src": "1088:13:78", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - { - "argumentTypes": null, - "hexValue": "30", - "id": 7274, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1103:1:78", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - }, - { - "argumentTypes": null, - "id": 7275, - "name": "currentUpdatedAt", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7222, - "src": "1106:16:78", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "hexValue": "30", - "id": 7276, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1124:1:78", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_rational_0_by_1", - "typeString": "int_const 0" - }, - "value": "0" - } - ], - "id": 7277, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "1084:42:78", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_rational_0_by_1_$_t_int256_$_t_rational_0_by_1_$_t_uint256_$_t_rational_0_by_1_$", - "typeString": "tuple(int_const 0,int256,int_const 0,uint256,int_const 0)" - } - }, - "functionReturnParameters": 7271, - "id": 7278, - "nodeType": "Return", - "src": "1077:49:78" - } - ] - }, - "baseFunctions": [ - 7214 - ], - "documentation": { - "id": 7258, - "nodeType": "StructuredDocumentation", - "src": "845:29:78", - "text": "Lifter from Enzyme mocks:" - }, - "functionSelector": "feaf968c", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "latestRoundData", - "overrides": { - "id": 7260, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "915:8:78" - }, - "parameters": { - "id": 7259, - "nodeType": "ParameterList", - "parameters": [], - "src": "903:2:78" - }, - "returnParameters": { - "id": 7271, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7262, - "mutability": "mutable", - "name": "roundId", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7280, - "src": "945:14:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint80", - "typeString": "uint80" - }, - "typeName": { - "id": 7261, - "name": "uint80", - "nodeType": "ElementaryTypeName", - "src": "945:6:78", - "typeDescriptions": { - "typeIdentifier": "t_uint80", - "typeString": "uint80" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7264, - "mutability": "mutable", - "name": "answer", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7280, - "src": "967:13:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - }, - "typeName": { - "id": 7263, - "name": "int256", - "nodeType": "ElementaryTypeName", - "src": "967:6:78", - "typeDescriptions": { - "typeIdentifier": "t_int256", - "typeString": "int256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7266, - "mutability": "mutable", - "name": "startedAt", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7280, - "src": "988:17:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7265, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "988:7:78", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7268, - "mutability": "mutable", - "name": "updatedAt", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7280, - "src": "1013:17:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7267, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1013:7:78", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7270, - "mutability": "mutable", - "name": "answeredInRound", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7280, - "src": "1038:22:78", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint80", - "typeString": "uint80" - }, - "typeName": { - "id": 7269, - "name": "uint80", - "nodeType": "ElementaryTypeName", - "src": "1038:6:78", - "typeDescriptions": { - "typeIdentifier": "t_uint80", - "typeString": "uint80" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "937:129:78" - }, - "scope": 7281, - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 7217, - "name": "IChainlinkAggregator", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7215, - "src": "451:20:78", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IChainlinkAggregator_$7215", - "typeString": "contract IChainlinkAggregator" - } - }, - "id": 7218, - "nodeType": "InheritanceSpecifier", - "src": "451:20:78" - } - ], - "contractDependencies": [ - 7215 - ], - "contractKind": "contract", - "documentation": { - "id": 7216, - "nodeType": "StructuredDocumentation", - "src": "365:49:78", - "text": " A mock that allows us to set the price" - }, - "fullyImplemented": true, - "linearizedBaseContracts": [ - 7281, - 7215 - ], - "name": "MockChainlinkAggregator", - "scope": 7282 - } - ], - "license": "MIT" - }, - "id": 78 -} \ No newline at end of file +{"abi":[{"type":"constructor","inputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"latestRoundData","inputs":[],"outputs":[{"name":"roundId","type":"uint80","internalType":"uint80"},{"name":"answer","type":"int256","internalType":"int256"},{"name":"startedAt","type":"uint256","internalType":"uint256"},{"name":"updatedAt","type":"uint256","internalType":"uint256"},{"name":"answeredInRound","type":"uint80","internalType":"uint80"}],"stateMutability":"view"},{"type":"function","name":"setDecimals","inputs":[{"name":"_decimals","type":"uint80","internalType":"uint80"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setValue","inputs":[{"name":"_answer","type":"uint80","internalType":"uint80"}],"outputs":[],"stateMutability":"nonpayable"}],"bytecode":{"object":"0x608060405234801561001057600080fd5b506008600255610172806100256000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80630ef0b0dd146100515780632923cd5014610079578063313ce5671461009f578063feaf968c146100b9575b600080fd5b6100776004803603602081101561006757600080fd5b50356001600160501b0316610105565b005b6100776004803603602081101561008f57600080fd5b50356001600160501b0316610113565b6100a7610125565b60408051918252519081900360200190f35b6100c161012b565b60405180866001600160501b03168152602001858152602001848152602001838152602001826001600160501b031681526020019550505050505060405180910390f35b6001600160501b0316600255565b6001600160501b031660005542600155565b60025481565b60008054600154829081909192939456fea2646970667358221220b4c6ba12df5469995cfddd0d1cb36bbd5a93112234bebc68c6b35b7777c5cc2264736f6c634300060c0033","sourceMap":"415:720:79:-:0;;;565:50;;;;;;;;;-1:-1:-1;607:1:79;596:8;:12;415:720;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b506004361061004c5760003560e01c80630ef0b0dd146100515780632923cd5014610079578063313ce5671461009f578063feaf968c146100b9575b600080fd5b6100776004803603602081101561006757600080fd5b50356001600160501b0316610105565b005b6100776004803603602081101561008f57600080fd5b50356001600160501b0316610113565b6100a7610125565b60408051918252519081900360200190f35b6100c161012b565b60405180866001600160501b03168152602001858152602001848152602001838152602001826001600160501b031681526020019550505050505060405180910390f35b6001600160501b0316600255565b6001600160501b031660005542600155565b60025481565b60008054600154829081909192939456fea2646970667358221220b4c6ba12df5469995cfddd0d1cb36bbd5a93112234bebc68c6b35b7777c5cc2264736f6c634300060c0033","sourceMap":"415:720:79:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;754:85;;;;;;;;;;;;;;;;-1:-1:-1;754:85:79;-1:-1:-1;;;;;754:85:79;;:::i;:::-;;621:127;;;;;;;;;;;;;;;;-1:-1:-1;621:127:79;-1:-1:-1;;;;;621:127:79;;:::i;535:23::-;;;:::i;:::-;;;;;;;;;;;;;;;;879:254;;;:::i;:::-;;;;;-1:-1:-1;;;;;879:254:79;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;879:254:79;;;;;;;;;;;;;;;;;;;754:85;-1:-1:-1;;;;;812:20:79;:8;:20;754:85::o;621:127::-;-1:-1:-1;;;;;674:23:79;:13;:23;726:15;707:16;:34;621:127::o;535:23::-;;;;:::o;879:254::-;945:14;1088:13;;1106:16;;945:14;;;879:254;;;;;:::o","linkReferences":{}},"methodIdentifiers":{"decimals()":"313ce567","latestRoundData()":"feaf968c","setDecimals(uint80)":"0ef0b0dd","setValue(uint80)":"2923cd50"},"rawMetadata":"{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"latestRoundData\",\"outputs\":[{\"internalType\":\"uint80\",\"name\":\"roundId\",\"type\":\"uint80\"},{\"internalType\":\"int256\",\"name\":\"answer\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"startedAt\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"updatedAt\",\"type\":\"uint256\"},{\"internalType\":\"uint80\",\"name\":\"answeredInRound\",\"type\":\"uint80\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint80\",\"name\":\"_decimals\",\"type\":\"uint80\"}],\"name\":\"setDecimals\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint80\",\"name\":\"_answer\",\"type\":\"uint80\"}],\"name\":\"setValue\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"latestRoundData()\":{\"notice\":\"Lifter from Enzyme mocks:\"}},\"notice\":\"A mock that allows us to set the price\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/MockChainlinkAggregator.sol\":\"MockChainlinkAggregator\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@enzyme/=../enzyme/contracts/\",\":@openzeppelin/=../enzyme/node_modules/@openzeppelin/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/openzeppelin-contracts/lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\"]},\"sources\":{\"src/MockChainlinkAggregator.sol\":{\"keccak256\":\"0x42d4820195e403668f2e90cb0ca013a4bdf108279cdcaa08263b01222596516d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d347b6b294e1368b7d124728aba7c37b98e573ba4be5e045ee2e0f5371333de8\",\"dweb:/ipfs/Qmb5PmBrvospAjksEe2kxR3PhdpgBaJTa3pbUcXFmAUBEA\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.6.12+commit.27d51765"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"stateMutability":"view","type":"function","name":"decimals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"latestRoundData","outputs":[{"internalType":"uint80","name":"roundId","type":"uint80"},{"internalType":"int256","name":"answer","type":"int256"},{"internalType":"uint256","name":"startedAt","type":"uint256"},{"internalType":"uint256","name":"updatedAt","type":"uint256"},{"internalType":"uint80","name":"answeredInRound","type":"uint80"}]},{"inputs":[{"internalType":"uint80","name":"_decimals","type":"uint80"}],"stateMutability":"nonpayable","type":"function","name":"setDecimals"},{"inputs":[{"internalType":"uint80","name":"_answer","type":"uint80"}],"stateMutability":"nonpayable","type":"function","name":"setValue"}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{"latestRoundData()":{"notice":"Lifter from Enzyme mocks:"}},"version":1}},"settings":{"remappings":["@enzyme/=../enzyme/contracts/","@openzeppelin/=../enzyme/node_modules/@openzeppelin/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-std/=lib/openzeppelin-contracts/lib/forge-std/src/","openzeppelin-contracts/=lib/openzeppelin-contracts/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/MockChainlinkAggregator.sol":"MockChainlinkAggregator"},"evmVersion":"istanbul","libraries":{}},"sources":{"src/MockChainlinkAggregator.sol":{"keccak256":"0x42d4820195e403668f2e90cb0ca013a4bdf108279cdcaa08263b01222596516d","urls":["bzz-raw://d347b6b294e1368b7d124728aba7c37b98e573ba4be5e045ee2e0f5371333de8","dweb:/ipfs/Qmb5PmBrvospAjksEe2kxR3PhdpgBaJTa3pbUcXFmAUBEA"],"license":"MIT"}},"version":1},"ast":{"absolutePath":"src/MockChainlinkAggregator.sol","id":7463,"exportedSymbols":{"IChainlinkAggregator":[7396],"MockChainlinkAggregator":[7462]},"nodeType":"SourceUnit","src":"33:1103:79","nodes":[{"id":7382,"nodeType":"PragmaDirective","src":"33:23:79","nodes":[],"literals":["solidity","0.6",".12"]},{"id":7396,"nodeType":"ContractDefinition","src":"58:305:79","nodes":[{"id":7395,"nodeType":"FunctionDefinition","src":"170:191:79","nodes":[],"documentation":null,"functionSelector":"feaf968c","implemented":false,"kind":"function","modifiers":[],"name":"latestRoundData","overrides":null,"parameters":{"id":7383,"nodeType":"ParameterList","parameters":[],"src":"194:2:79"},"returnParameters":{"id":7394,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7385,"mutability":"mutable","name":"roundId","nodeType":"VariableDeclaration","overrides":null,"scope":7395,"src":"239:14:79","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint80","typeString":"uint80"},"typeName":{"id":7384,"name":"uint80","nodeType":"ElementaryTypeName","src":"239:6:79","typeDescriptions":{"typeIdentifier":"t_uint80","typeString":"uint80"}},"value":null,"visibility":"internal"},{"constant":false,"id":7387,"mutability":"mutable","name":"answer","nodeType":"VariableDeclaration","overrides":null,"scope":7395,"src":"261:13:79","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":7386,"name":"int256","nodeType":"ElementaryTypeName","src":"261:6:79","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"value":null,"visibility":"internal"},{"constant":false,"id":7389,"mutability":"mutable","name":"startedAt","nodeType":"VariableDeclaration","overrides":null,"scope":7395,"src":"282:17:79","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7388,"name":"uint256","nodeType":"ElementaryTypeName","src":"282:7:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":7391,"mutability":"mutable","name":"updatedAt","nodeType":"VariableDeclaration","overrides":null,"scope":7395,"src":"307:17:79","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7390,"name":"uint256","nodeType":"ElementaryTypeName","src":"307:7:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":7393,"mutability":"mutable","name":"answeredInRound","nodeType":"VariableDeclaration","overrides":null,"scope":7395,"src":"332:22:79","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint80","typeString":"uint80"},"typeName":{"id":7392,"name":"uint80","nodeType":"ElementaryTypeName","src":"332:6:79","typeDescriptions":{"typeIdentifier":"t_uint80","typeString":"uint80"}},"value":null,"visibility":"internal"}],"src":"231:129:79"},"scope":7396,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"contractDependencies":[],"contractKind":"interface","documentation":null,"fullyImplemented":false,"linearizedBaseContracts":[7396],"name":"IChainlinkAggregator","scope":7463},{"id":7462,"nodeType":"ContractDefinition","src":"415:720:79","nodes":[{"id":7401,"nodeType":"VariableDeclaration","src":"478:20:79","nodes":[],"constant":false,"mutability":"mutable","name":"currentAnswer","overrides":null,"scope":7462,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":7400,"name":"int256","nodeType":"ElementaryTypeName","src":"478:6:79","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"value":null,"visibility":"internal"},{"id":7403,"nodeType":"VariableDeclaration","src":"504:24:79","nodes":[],"constant":false,"mutability":"mutable","name":"currentUpdatedAt","overrides":null,"scope":7462,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7402,"name":"uint256","nodeType":"ElementaryTypeName","src":"504:7:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"id":7405,"nodeType":"VariableDeclaration","src":"535:23:79","nodes":[],"constant":false,"functionSelector":"313ce567","mutability":"mutable","name":"decimals","overrides":null,"scope":7462,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7404,"name":"uint256","nodeType":"ElementaryTypeName","src":"535:7:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"public"},{"id":7413,"nodeType":"FunctionDefinition","src":"565:50:79","nodes":[],"body":{"id":7412,"nodeType":"Block","src":"586:29:79","nodes":[],"statements":[{"expression":{"argumentTypes":null,"id":7410,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"id":7408,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7405,"src":"596:8:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"hexValue":"38","id":7409,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"607:1:79","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_8_by_1","typeString":"int_const 8"},"value":"8"},"src":"596:12:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":7411,"nodeType":"ExpressionStatement","src":"596:12:79"}]},"documentation":null,"implemented":true,"kind":"constructor","modifiers":[],"name":"","overrides":null,"parameters":{"id":7406,"nodeType":"ParameterList","parameters":[],"src":"576:2:79"},"returnParameters":{"id":7407,"nodeType":"ParameterList","parameters":[],"src":"586:0:79"},"scope":7462,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":7428,"nodeType":"FunctionDefinition","src":"621:127:79","nodes":[],"body":{"id":7427,"nodeType":"Block","src":"664:84:79","nodes":[],"statements":[{"expression":{"argumentTypes":null,"id":7420,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"id":7418,"name":"currentAnswer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7401,"src":"674:13:79","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"id":7419,"name":"_answer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7415,"src":"690:7:79","typeDescriptions":{"typeIdentifier":"t_uint80","typeString":"uint80"}},"src":"674:23:79","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":7421,"nodeType":"ExpressionStatement","src":"674:23:79"},{"expression":{"argumentTypes":null,"id":7425,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"id":7422,"name":"currentUpdatedAt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7403,"src":"707:16:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":7423,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"726:5:79","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":7424,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"timestamp","nodeType":"MemberAccess","referencedDeclaration":null,"src":"726:15:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"707:34:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":7426,"nodeType":"ExpressionStatement","src":"707:34:79"}]},"documentation":null,"functionSelector":"2923cd50","implemented":true,"kind":"function","modifiers":[],"name":"setValue","overrides":null,"parameters":{"id":7416,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7415,"mutability":"mutable","name":"_answer","nodeType":"VariableDeclaration","overrides":null,"scope":7428,"src":"639:14:79","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint80","typeString":"uint80"},"typeName":{"id":7414,"name":"uint80","nodeType":"ElementaryTypeName","src":"639:6:79","typeDescriptions":{"typeIdentifier":"t_uint80","typeString":"uint80"}},"value":null,"visibility":"internal"}],"src":"638:16:79"},"returnParameters":{"id":7417,"nodeType":"ParameterList","parameters":[],"src":"664:0:79"},"scope":7462,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":7438,"nodeType":"FunctionDefinition","src":"754:85:79","nodes":[],"body":{"id":7437,"nodeType":"Block","src":"802:37:79","nodes":[],"statements":[{"expression":{"argumentTypes":null,"id":7435,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"id":7433,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7405,"src":"812:8:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"id":7434,"name":"_decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7430,"src":"823:9:79","typeDescriptions":{"typeIdentifier":"t_uint80","typeString":"uint80"}},"src":"812:20:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":7436,"nodeType":"ExpressionStatement","src":"812:20:79"}]},"documentation":null,"functionSelector":"0ef0b0dd","implemented":true,"kind":"function","modifiers":[],"name":"setDecimals","overrides":null,"parameters":{"id":7431,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7430,"mutability":"mutable","name":"_decimals","nodeType":"VariableDeclaration","overrides":null,"scope":7438,"src":"775:16:79","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint80","typeString":"uint80"},"typeName":{"id":7429,"name":"uint80","nodeType":"ElementaryTypeName","src":"775:6:79","typeDescriptions":{"typeIdentifier":"t_uint80","typeString":"uint80"}},"value":null,"visibility":"internal"}],"src":"774:18:79"},"returnParameters":{"id":7432,"nodeType":"ParameterList","parameters":[],"src":"802:0:79"},"scope":7462,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":7461,"nodeType":"FunctionDefinition","src":"879:254:79","nodes":[],"body":{"id":7460,"nodeType":"Block","src":"1067:66:79","nodes":[],"statements":[{"expression":{"argumentTypes":null,"components":[{"argumentTypes":null,"hexValue":"30","id":7453,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1085:1:79","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"argumentTypes":null,"id":7454,"name":"currentAnswer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7401,"src":"1088:13:79","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},{"argumentTypes":null,"hexValue":"30","id":7455,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1103:1:79","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"argumentTypes":null,"id":7456,"name":"currentUpdatedAt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7403,"src":"1106:16:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"hexValue":"30","id":7457,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1124:1:79","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"id":7458,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"1084:42:79","typeDescriptions":{"typeIdentifier":"t_tuple$_t_rational_0_by_1_$_t_int256_$_t_rational_0_by_1_$_t_uint256_$_t_rational_0_by_1_$","typeString":"tuple(int_const 0,int256,int_const 0,uint256,int_const 0)"}},"functionReturnParameters":7452,"id":7459,"nodeType":"Return","src":"1077:49:79"}]},"baseFunctions":[7395],"documentation":{"id":7439,"nodeType":"StructuredDocumentation","src":"845:29:79","text":"Lifter from Enzyme mocks:"},"functionSelector":"feaf968c","implemented":true,"kind":"function","modifiers":[],"name":"latestRoundData","overrides":{"id":7441,"nodeType":"OverrideSpecifier","overrides":[],"src":"915:8:79"},"parameters":{"id":7440,"nodeType":"ParameterList","parameters":[],"src":"903:2:79"},"returnParameters":{"id":7452,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7443,"mutability":"mutable","name":"roundId","nodeType":"VariableDeclaration","overrides":null,"scope":7461,"src":"945:14:79","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint80","typeString":"uint80"},"typeName":{"id":7442,"name":"uint80","nodeType":"ElementaryTypeName","src":"945:6:79","typeDescriptions":{"typeIdentifier":"t_uint80","typeString":"uint80"}},"value":null,"visibility":"internal"},{"constant":false,"id":7445,"mutability":"mutable","name":"answer","nodeType":"VariableDeclaration","overrides":null,"scope":7461,"src":"967:13:79","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":7444,"name":"int256","nodeType":"ElementaryTypeName","src":"967:6:79","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"value":null,"visibility":"internal"},{"constant":false,"id":7447,"mutability":"mutable","name":"startedAt","nodeType":"VariableDeclaration","overrides":null,"scope":7461,"src":"988:17:79","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7446,"name":"uint256","nodeType":"ElementaryTypeName","src":"988:7:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":7449,"mutability":"mutable","name":"updatedAt","nodeType":"VariableDeclaration","overrides":null,"scope":7461,"src":"1013:17:79","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7448,"name":"uint256","nodeType":"ElementaryTypeName","src":"1013:7:79","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":7451,"mutability":"mutable","name":"answeredInRound","nodeType":"VariableDeclaration","overrides":null,"scope":7461,"src":"1038:22:79","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint80","typeString":"uint80"},"typeName":{"id":7450,"name":"uint80","nodeType":"ElementaryTypeName","src":"1038:6:79","typeDescriptions":{"typeIdentifier":"t_uint80","typeString":"uint80"}},"value":null,"visibility":"internal"}],"src":"937:129:79"},"scope":7462,"stateMutability":"view","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[{"arguments":null,"baseName":{"contractScope":null,"id":7398,"name":"IChainlinkAggregator","nodeType":"UserDefinedTypeName","referencedDeclaration":7396,"src":"451:20:79","typeDescriptions":{"typeIdentifier":"t_contract$_IChainlinkAggregator_$7396","typeString":"contract IChainlinkAggregator"}},"id":7399,"nodeType":"InheritanceSpecifier","src":"451:20:79"}],"contractDependencies":[7396],"contractKind":"contract","documentation":{"id":7397,"nodeType":"StructuredDocumentation","src":"365:49:79","text":" A mock that allows us to set the price"},"fullyImplemented":true,"linearizedBaseContracts":[7462,7396],"name":"MockChainlinkAggregator","scope":7463}],"license":"MIT"},"id":79} \ No newline at end of file diff --git a/eth_defi/abi/MockEIP3009Receiver.json b/eth_defi/abi/MockEIP3009Receiver.json index 6a6d5ef0..2b54aed9 100644 --- a/eth_defi/abi/MockEIP3009Receiver.json +++ b/eth_defi/abi/MockEIP3009Receiver.json @@ -1,1291 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "contract IEIP3009", - "name": "token", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "name": "_token", - "outputs": [ - { - "internalType": "contract IEIP3009", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "amountReceived", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "validAfter", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "validBefore", - "type": "uint256" - }, - { - "internalType": "bytes32", - "name": "nonce", - "type": "bytes32" - }, - { - "internalType": "uint8", - "name": "v", - "type": "uint8" - }, - { - "internalType": "bytes32", - "name": "r", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "s", - "type": "bytes32" - } - ], - "name": "deposit", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x608060405234801561001057600080fd5b506040516102ab3803806102ab8339818101604052602081101561003357600080fd5b5051600080546001600160a01b039092166001600160a01b0319909216919091179055610246806100656000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c8063d524b0ff14610046578063d561434714610060578063ecd0c0c3146100bf575b600080fd5b61004e6100e3565b60408051918252519081900360200190f35b61004e600480360361012081101561007757600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060808101359060a08101359060ff60c0820135169060e08101359061010001356100e9565b6100c7610201565b604080516001600160a01b039092168252519081900360200190f35b60015481565b60006001600160a01b0389163014610148576040805162461bcd60e51b815260206004820152601e60248201527f526563697069656e74206973206e6f74207468697320636f6e74726163740000604482015290519081900360640190fd5b60008054604080516377aadf6360e11b81526001600160a01b038e811660048301528d81166024830152604482018d9052606482018c9052608482018b905260a482018a905260ff891660c483015260e4820188905261010482018790529151919092169263ef55bec692610124808201939182900301818387803b1580156101d057600080fd5b505af11580156101e4573d6000803e3d6000fd5b5050600180548b0190819055925050509998505050505050505050565b6000546001600160a01b03168156fea264697066735822122026611b2ba5ef5750fd54f04d176efdf104ac4c46ea2d1246a9b57aaf0f1d589564736f6c634300060c0033", - "sourceMap": "261:1026:79:-:0;;;361:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;361:66:79;406:6;:14;;-1:-1:-1;;;;;406:14:79;;;-1:-1:-1;;;;;;406:14:79;;;;;;;;;261:1026;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106100415760003560e01c8063d524b0ff14610046578063d561434714610060578063ecd0c0c3146100bf575b600080fd5b61004e6100e3565b60408051918252519081900360200190f35b61004e600480360361012081101561007757600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060808101359060a08101359060ff60c0820135169060e08101359061010001356100e9565b6100c7610201565b604080516001600160a01b039092168252519081900360200190f35b60015481565b60006001600160a01b0389163014610148576040805162461bcd60e51b815260206004820152601e60248201527f526563697069656e74206973206e6f74207468697320636f6e74726163740000604482015290519081900360640190fd5b60008054604080516377aadf6360e11b81526001600160a01b038e811660048301528d81166024830152604482018d9052606482018c9052608482018b905260a482018a905260ff891660c483015260e4820188905261010482018790529151919092169263ef55bec692610124808201939182900301818387803b1580156101d057600080fd5b505af11580156101e4573d6000803e3d6000fd5b5050600180548b0190819055925050509998505050505050505050565b6000546001600160a01b03168156fea264697066735822122026611b2ba5ef5750fd54f04d176efdf104ac4c46ea2d1246a9b57aaf0f1d589564736f6c634300060c0033", - "sourceMap": "261:1026:79:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;325:29;;;:::i;:::-;;;;;;;;;;;;;;;;433:852;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;433:852:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;297:22::-;;;:::i;:::-;;;;-1:-1:-1;;;;;297:22:79;;;;;;;;;;;;;;325:29;;;;:::o;433:852::-;688:7;-1:-1:-1;;;;;761:19:79;;775:4;761:19;753:62;;;;;-1:-1:-1;;;753:62:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;946:6;;;:207;;;-1:-1:-1;;;946:207:79;;-1:-1:-1;;;;;946:207:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:6;;;;;:31;;:207;;;;;;;;;;;:6;;:207;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1223:14:79;:23;;;;;;;;;-1:-1:-1;;;433:852:79;;;;;;;;;;;:::o;297:22::-;;;-1:-1:-1;;;;;297:22:79;;:::o", - "linkReferences": {} - }, - "methodIdentifiers": { - "_token()": "ecd0c0c3", - "amountReceived()": "d524b0ff", - "deposit(address,address,uint256,uint256,uint256,bytes32,uint8,bytes32,bytes32)": "d5614347" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"contract IEIP3009\",\"name\":\"token\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"_token\",\"outputs\":[{\"internalType\":\"contract IEIP3009\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"amountReceived\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"validAfter\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"validBefore\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"nonce\",\"type\":\"bytes32\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"deposit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Receive tokens on this contract and increase the internal ledger of the deposits.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/MockEIP3009Receiver.sol\":\"MockEIP3009Receiver\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":# @openzeppelin/=lib/openzeppelin-contracts/\",\":@enzyme/=../enzyme/contracts/\",\":@openzeppelin/=../enzyme/node_modules/@openzeppelin/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\"]},\"sources\":{\"../enzyme/node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"../enzyme/node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"../enzyme/node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"../enzyme/node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]},\"src/IEIP3009.sol\":{\"keccak256\":\"0xb7c522dd527973629fb7386283a8b4713e4c1ad4c1e52e53acffa959b6983423\",\"urls\":[\"bzz-raw://517ff4bde29dd1c7619804d4b47dc76c9d7fcce084d0ee08cec06ff0ca91feac\",\"dweb:/ipfs/Qmb5VrRpnaXFwQaR1amifw1znmig4BQ7W7qGiTdfmQJEtp\"]},\"src/MockEIP3009Receiver.sol\":{\"keccak256\":\"0xadb81e394b8fd04aec55a433eb464e7aa6b5a29d76b2009914b6ac06f55e2ce7\",\"urls\":[\"bzz-raw://8087ed49c390e8ebf6b294b4a667baf5f282e3f7f67d0b8f2679c43f2ba031e5\",\"dweb:/ipfs/QmWQcfPXwCMknVvjSqUwSfkkZip4SoNJwDFreQKyK57BH1\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "contract IEIP3009", - "name": "token", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "_token", - "outputs": [ - { - "internalType": "contract IEIP3009", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "amountReceived", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "validAfter", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "validBefore", - "type": "uint256" - }, - { - "internalType": "bytes32", - "name": "nonce", - "type": "bytes32" - }, - { - "internalType": "uint8", - "name": "v", - "type": "uint8" - }, - { - "internalType": "bytes32", - "name": "r", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "s", - "type": "bytes32" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "deposit", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":# @openzeppelin/=lib/openzeppelin-contracts/", - ":@enzyme/=../enzyme/contracts/", - ":@openzeppelin/=../enzyme/node_modules/@openzeppelin/", - ":openzeppelin-contracts/=lib/openzeppelin-contracts/" - ], - "optimizer": { - "enabled": true, - "runs": 200 - }, - "metadata": { - "bytecodeHash": "ipfs" - }, - "compilationTarget": { - "src/MockEIP3009Receiver.sol": "MockEIP3009Receiver" - }, - "libraries": {} - }, - "sources": { - "../enzyme/node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "../enzyme/node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "../enzyme/node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "../enzyme/node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - }, - "src/IEIP3009.sol": { - "keccak256": "0xb7c522dd527973629fb7386283a8b4713e4c1ad4c1e52e53acffa959b6983423", - "urls": [ - "bzz-raw://517ff4bde29dd1c7619804d4b47dc76c9d7fcce084d0ee08cec06ff0ca91feac", - "dweb:/ipfs/Qmb5VrRpnaXFwQaR1amifw1znmig4BQ7W7qGiTdfmQJEtp" - ], - "license": null - }, - "src/MockEIP3009Receiver.sol": { - "keccak256": "0xadb81e394b8fd04aec55a433eb464e7aa6b5a29d76b2009914b6ac06f55e2ce7", - "urls": [ - "bzz-raw://8087ed49c390e8ebf6b294b4a667baf5f282e3f7f67d0b8f2679c43f2ba031e5", - "dweb:/ipfs/QmWQcfPXwCMknVvjSqUwSfkkZip4SoNJwDFreQKyK57BH1" - ], - "license": null - } - }, - "version": 1 - }, - "ast": { - "absolutePath": "src/MockEIP3009Receiver.sol", - "id": 7355, - "exportedSymbols": { - "MockEIP3009Receiver": [ - 7354 - ] - }, - "nodeType": "SourceUnit", - "src": "114:1173:79", - "nodes": [ - { - "id": 7283, - "nodeType": "PragmaDirective", - "src": "114:23:79", - "nodes": [], - "literals": [ - "solidity", - "0.6", - ".12" - ] - }, - { - "id": 7284, - "nodeType": "ImportDirective", - "src": "139:24:79", - "nodes": [], - "absolutePath": "src/IEIP3009.sol", - "file": "./IEIP3009.sol", - "scope": 7355, - "sourceUnit": 7190, - "symbolAliases": [], - "unitAlias": "" - }, - { - "id": 7354, - "nodeType": "ContractDefinition", - "src": "261:1026:79", - "nodes": [ - { - "id": 7287, - "nodeType": "VariableDeclaration", - "src": "297:22:79", - "nodes": [], - "constant": false, - "functionSelector": "ecd0c0c3", - "mutability": "mutable", - "name": "_token", - "overrides": null, - "scope": 7354, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEIP3009_$7189", - "typeString": "contract IEIP3009" - }, - "typeName": { - "contractScope": null, - "id": 7286, - "name": "IEIP3009", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7189, - "src": "297:8:79", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEIP3009_$7189", - "typeString": "contract IEIP3009" - } - }, - "value": null, - "visibility": "public" - }, - { - "id": 7289, - "nodeType": "VariableDeclaration", - "src": "325:29:79", - "nodes": [], - "constant": false, - "functionSelector": "d524b0ff", - "mutability": "mutable", - "name": "amountReceived", - "overrides": null, - "scope": 7354, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7288, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "325:7:79", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "id": 7299, - "nodeType": "FunctionDefinition", - "src": "361:66:79", - "nodes": [], - "body": { - "id": 7298, - "nodeType": "Block", - "src": "396:31:79", - "nodes": [], - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 7296, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 7294, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7287, - "src": "406:6:79", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEIP3009_$7189", - "typeString": "contract IEIP3009" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 7295, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7291, - "src": "415:5:79", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEIP3009_$7189", - "typeString": "contract IEIP3009" - } - }, - "src": "406:14:79", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEIP3009_$7189", - "typeString": "contract IEIP3009" - } - }, - "id": 7297, - "nodeType": "ExpressionStatement", - "src": "406:14:79" - } - ] - }, - "documentation": null, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "overrides": null, - "parameters": { - "id": 7292, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7291, - "mutability": "mutable", - "name": "token", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7299, - "src": "373:14:79", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEIP3009_$7189", - "typeString": "contract IEIP3009" - }, - "typeName": { - "contractScope": null, - "id": 7290, - "name": "IEIP3009", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7189, - "src": "373:8:79", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEIP3009_$7189", - "typeString": "contract IEIP3009" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "372:16:79" - }, - "returnParameters": { - "id": 7293, - "nodeType": "ParameterList", - "parameters": [], - "src": "396:0:79" - }, - "scope": 7354, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "id": 7353, - "nodeType": "FunctionDefinition", - "src": "433:852:79", - "nodes": [], - "body": { - "id": 7352, - "nodeType": "Block", - "src": "701:584:79", - "nodes": [], - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 7328, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7323, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7303, - "src": "761:2:79", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7326, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "775:4:79", - "typeDescriptions": { - "typeIdentifier": "t_contract$_MockEIP3009Receiver_$7354", - "typeString": "contract MockEIP3009Receiver" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_MockEIP3009Receiver_$7354", - "typeString": "contract MockEIP3009Receiver" - } - ], - "id": 7325, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "767:7:79", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 7324, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "767:7:79", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 7327, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "767:13:79", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "761:19:79", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "526563697069656e74206973206e6f74207468697320636f6e7472616374", - "id": 7329, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "782:32:79", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_72bf585aef932550d0e7fd29e9cc911eec6df8f06abf43dca581b20256cda86f", - "typeString": "literal_string \"Recipient is not this contract\"" - }, - "value": "Recipient is not this contract" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_72bf585aef932550d0e7fd29e9cc911eec6df8f06abf43dca581b20256cda86f", - "typeString": "literal_string \"Recipient is not this contract\"" - } - ], - "id": 7322, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "753:7:79", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7330, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "753:62:79", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7331, - "nodeType": "ExpressionStatement", - "src": "753:62:79" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7335, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7301, - "src": "991:4:79", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 7336, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7303, - "src": "1009:2:79", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 7337, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7305, - "src": "1025:5:79", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 7338, - "name": "validAfter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7307, - "src": "1044:10:79", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 7339, - "name": "validBefore", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7309, - "src": "1068:11:79", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 7340, - "name": "nonce", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7311, - "src": "1093:5:79", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 7341, - "name": "v", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7313, - "src": "1112:1:79", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "argumentTypes": null, - "id": 7342, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7315, - "src": "1127:1:79", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 7343, - "name": "s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7317, - "src": "1142:1:79", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 7332, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7287, - "src": "946:6:79", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEIP3009_$7189", - "typeString": "contract IEIP3009" - } - }, - "id": 7334, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "receiveWithAuthorization", - "nodeType": "MemberAccess", - "referencedDeclaration": 7188, - "src": "946:31:79", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$__$", - "typeString": "function (address,address,uint256,uint256,uint256,bytes32,uint8,bytes32,bytes32) external" - } - }, - "id": 7344, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "946:207:79", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7345, - "nodeType": "ExpressionStatement", - "src": "946:207:79" - }, - { - "expression": { - "argumentTypes": null, - "id": 7348, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 7346, - "name": "amountReceived", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7289, - "src": "1223:14:79", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "id": 7347, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7305, - "src": "1241:5:79", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "1223:23:79", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7349, - "nodeType": "ExpressionStatement", - "src": "1223:23:79" - }, - { - "expression": { - "argumentTypes": null, - "id": 7350, - "name": "amountReceived", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7289, - "src": "1264:14:79", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 7321, - "id": 7351, - "nodeType": "Return", - "src": "1257:21:79" - } - ] - }, - "documentation": null, - "functionSelector": "d5614347", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "deposit", - "overrides": null, - "parameters": { - "id": 7318, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7301, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7353, - "src": "459:12:79", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7300, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "459:7:79", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7303, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7353, - "src": "481:10:79", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7302, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "481:7:79", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7305, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7353, - "src": "501:13:79", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7304, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "501:7:79", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7307, - "mutability": "mutable", - "name": "validAfter", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7353, - "src": "524:18:79", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7306, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "524:7:79", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7309, - "mutability": "mutable", - "name": "validBefore", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7353, - "src": "552:19:79", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7308, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "552:7:79", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7311, - "mutability": "mutable", - "name": "nonce", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7353, - "src": "581:13:79", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 7310, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "581:7:79", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7313, - "mutability": "mutable", - "name": "v", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7353, - "src": "604:7:79", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 7312, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "604:5:79", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7315, - "mutability": "mutable", - "name": "r", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7353, - "src": "621:9:79", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 7314, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "621:7:79", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7317, - "mutability": "mutable", - "name": "s", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7353, - "src": "640:9:79", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 7316, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "640:7:79", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "449:206:79" - }, - "returnParameters": { - "id": 7321, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7320, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7353, - "src": "688:7:79", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7319, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "688:7:79", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "687:9:79" - }, - "scope": 7354, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - } - ], - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": { - "id": 7285, - "nodeType": "StructuredDocumentation", - "src": "165:95:79", - "text": " Receive tokens on this contract and increase the internal ledger of the deposits." - }, - "fullyImplemented": true, - "linearizedBaseContracts": [ - 7354 - ], - "name": "MockEIP3009Receiver", - "scope": 7355 - } - ], - "license": null - }, - "id": 79 -} \ No newline at end of file +{"abi":[{"type":"constructor","inputs":[{"name":"token","type":"address","internalType":"contract IEIP3009"}],"stateMutability":"nonpayable"},{"type":"function","name":"_token","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IEIP3009"}],"stateMutability":"view"},{"type":"function","name":"amountReceived","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"deposit","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"validAfter","type":"uint256","internalType":"uint256"},{"name":"validBefore","type":"uint256","internalType":"uint256"},{"name":"nonce","type":"bytes32","internalType":"bytes32"},{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"}],"bytecode":{"object":"0x608060405234801561001057600080fd5b506040516102ab3803806102ab8339818101604052602081101561003357600080fd5b5051600080546001600160a01b039092166001600160a01b0319909216919091179055610246806100656000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c8063d524b0ff14610046578063d561434714610060578063ecd0c0c3146100bf575b600080fd5b61004e6100e3565b60408051918252519081900360200190f35b61004e600480360361012081101561007757600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060808101359060a08101359060ff60c0820135169060e08101359061010001356100e9565b6100c7610201565b604080516001600160a01b039092168252519081900360200190f35b60015481565b60006001600160a01b0389163014610148576040805162461bcd60e51b815260206004820152601e60248201527f526563697069656e74206973206e6f74207468697320636f6e74726163740000604482015290519081900360640190fd5b60008054604080516377aadf6360e11b81526001600160a01b038e811660048301528d81166024830152604482018d9052606482018c9052608482018b905260a482018a905260ff891660c483015260e4820188905261010482018790529151919092169263ef55bec692610124808201939182900301818387803b1580156101d057600080fd5b505af11580156101e4573d6000803e3d6000fd5b5050600180548b0190819055925050509998505050505050505050565b6000546001600160a01b03168156fea26469706673582212204ac5821e58d461ad84d7c8b9d27b25c06cc5b4279904f9d6ca1ee7fa0034bdd664736f6c634300060c0033","sourceMap":"261:1026:80:-:0;;;361:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;361:66:80;406:6;:14;;-1:-1:-1;;;;;406:14:80;;;-1:-1:-1;;;;;;406:14:80;;;;;;;;;261:1026;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100415760003560e01c8063d524b0ff14610046578063d561434714610060578063ecd0c0c3146100bf575b600080fd5b61004e6100e3565b60408051918252519081900360200190f35b61004e600480360361012081101561007757600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060808101359060a08101359060ff60c0820135169060e08101359061010001356100e9565b6100c7610201565b604080516001600160a01b039092168252519081900360200190f35b60015481565b60006001600160a01b0389163014610148576040805162461bcd60e51b815260206004820152601e60248201527f526563697069656e74206973206e6f74207468697320636f6e74726163740000604482015290519081900360640190fd5b60008054604080516377aadf6360e11b81526001600160a01b038e811660048301528d81166024830152604482018d9052606482018c9052608482018b905260a482018a905260ff891660c483015260e4820188905261010482018790529151919092169263ef55bec692610124808201939182900301818387803b1580156101d057600080fd5b505af11580156101e4573d6000803e3d6000fd5b5050600180548b0190819055925050509998505050505050505050565b6000546001600160a01b03168156fea26469706673582212204ac5821e58d461ad84d7c8b9d27b25c06cc5b4279904f9d6ca1ee7fa0034bdd664736f6c634300060c0033","sourceMap":"261:1026:80:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;325:29;;;:::i;:::-;;;;;;;;;;;;;;;;433:852;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;433:852:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;297:22::-;;;:::i;:::-;;;;-1:-1:-1;;;;;297:22:80;;;;;;;;;;;;;;325:29;;;;:::o;433:852::-;688:7;-1:-1:-1;;;;;761:19:80;;775:4;761:19;753:62;;;;;-1:-1:-1;;;753:62:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;946:6;;;:207;;;-1:-1:-1;;;946:207:80;;-1:-1:-1;;;;;946:207:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:6;;;;;:31;;:207;;;;;;;;;;;:6;;:207;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1223:14:80;:23;;;;;;;;;-1:-1:-1;;;433:852:80;;;;;;;;;;;:::o;297:22::-;;;-1:-1:-1;;;;;297:22:80;;:::o","linkReferences":{}},"methodIdentifiers":{"_token()":"ecd0c0c3","amountReceived()":"d524b0ff","deposit(address,address,uint256,uint256,uint256,bytes32,uint8,bytes32,bytes32)":"d5614347"},"rawMetadata":"{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"contract IEIP3009\",\"name\":\"token\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"_token\",\"outputs\":[{\"internalType\":\"contract IEIP3009\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"amountReceived\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"validAfter\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"validBefore\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"nonce\",\"type\":\"bytes32\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"deposit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Receive tokens on this contract and increase the internal ledger of the deposits.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/MockEIP3009Receiver.sol\":\"MockEIP3009Receiver\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@enzyme/=../enzyme/contracts/\",\":@openzeppelin/=../enzyme/node_modules/@openzeppelin/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/openzeppelin-contracts/lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\"]},\"sources\":{\"../enzyme/node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"../enzyme/node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"../enzyme/node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"../enzyme/node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]},\"src/IEIP3009.sol\":{\"keccak256\":\"0xb7c522dd527973629fb7386283a8b4713e4c1ad4c1e52e53acffa959b6983423\",\"urls\":[\"bzz-raw://517ff4bde29dd1c7619804d4b47dc76c9d7fcce084d0ee08cec06ff0ca91feac\",\"dweb:/ipfs/Qmb5VrRpnaXFwQaR1amifw1znmig4BQ7W7qGiTdfmQJEtp\"]},\"src/MockEIP3009Receiver.sol\":{\"keccak256\":\"0xadb81e394b8fd04aec55a433eb464e7aa6b5a29d76b2009914b6ac06f55e2ce7\",\"urls\":[\"bzz-raw://8087ed49c390e8ebf6b294b4a667baf5f282e3f7f67d0b8f2679c43f2ba031e5\",\"dweb:/ipfs/QmWQcfPXwCMknVvjSqUwSfkkZip4SoNJwDFreQKyK57BH1\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.6.12+commit.27d51765"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"contract IEIP3009","name":"token","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"stateMutability":"view","type":"function","name":"_token","outputs":[{"internalType":"contract IEIP3009","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"amountReceived","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"validAfter","type":"uint256"},{"internalType":"uint256","name":"validBefore","type":"uint256"},{"internalType":"bytes32","name":"nonce","type":"bytes32"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"deposit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@enzyme/=../enzyme/contracts/","@openzeppelin/=../enzyme/node_modules/@openzeppelin/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-std/=lib/openzeppelin-contracts/lib/forge-std/src/","openzeppelin-contracts/=lib/openzeppelin-contracts/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/MockEIP3009Receiver.sol":"MockEIP3009Receiver"},"evmVersion":"istanbul","libraries":{}},"sources":{"../enzyme/node_modules/@openzeppelin/contracts/math/SafeMath.sol":{"keccak256":"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52","urls":["bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c","dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR"],"license":"MIT"},"../enzyme/node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3","urls":["bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e","dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE"],"license":"MIT"},"../enzyme/node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5","urls":["bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08","dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC"],"license":"MIT"},"../enzyme/node_modules/@openzeppelin/contracts/utils/Context.sol":{"keccak256":"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0","urls":["bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f","dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96"],"license":"MIT"},"src/IEIP3009.sol":{"keccak256":"0xb7c522dd527973629fb7386283a8b4713e4c1ad4c1e52e53acffa959b6983423","urls":["bzz-raw://517ff4bde29dd1c7619804d4b47dc76c9d7fcce084d0ee08cec06ff0ca91feac","dweb:/ipfs/Qmb5VrRpnaXFwQaR1amifw1znmig4BQ7W7qGiTdfmQJEtp"],"license":null},"src/MockEIP3009Receiver.sol":{"keccak256":"0xadb81e394b8fd04aec55a433eb464e7aa6b5a29d76b2009914b6ac06f55e2ce7","urls":["bzz-raw://8087ed49c390e8ebf6b294b4a667baf5f282e3f7f67d0b8f2679c43f2ba031e5","dweb:/ipfs/QmWQcfPXwCMknVvjSqUwSfkkZip4SoNJwDFreQKyK57BH1"],"license":null}},"version":1},"ast":{"absolutePath":"src/MockEIP3009Receiver.sol","id":7536,"exportedSymbols":{"MockEIP3009Receiver":[7535]},"nodeType":"SourceUnit","src":"114:1173:80","nodes":[{"id":7464,"nodeType":"PragmaDirective","src":"114:23:80","nodes":[],"literals":["solidity","0.6",".12"]},{"id":7465,"nodeType":"ImportDirective","src":"139:24:80","nodes":[],"absolutePath":"src/IEIP3009.sol","file":"./IEIP3009.sol","scope":7536,"sourceUnit":7371,"symbolAliases":[],"unitAlias":""},{"id":7535,"nodeType":"ContractDefinition","src":"261:1026:80","nodes":[{"id":7468,"nodeType":"VariableDeclaration","src":"297:22:80","nodes":[],"constant":false,"functionSelector":"ecd0c0c3","mutability":"mutable","name":"_token","overrides":null,"scope":7535,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IEIP3009_$7370","typeString":"contract IEIP3009"},"typeName":{"contractScope":null,"id":7467,"name":"IEIP3009","nodeType":"UserDefinedTypeName","referencedDeclaration":7370,"src":"297:8:80","typeDescriptions":{"typeIdentifier":"t_contract$_IEIP3009_$7370","typeString":"contract IEIP3009"}},"value":null,"visibility":"public"},{"id":7470,"nodeType":"VariableDeclaration","src":"325:29:80","nodes":[],"constant":false,"functionSelector":"d524b0ff","mutability":"mutable","name":"amountReceived","overrides":null,"scope":7535,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7469,"name":"uint256","nodeType":"ElementaryTypeName","src":"325:7:80","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"public"},{"id":7480,"nodeType":"FunctionDefinition","src":"361:66:80","nodes":[],"body":{"id":7479,"nodeType":"Block","src":"396:31:80","nodes":[],"statements":[{"expression":{"argumentTypes":null,"id":7477,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"id":7475,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7468,"src":"406:6:80","typeDescriptions":{"typeIdentifier":"t_contract$_IEIP3009_$7370","typeString":"contract IEIP3009"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"id":7476,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7472,"src":"415:5:80","typeDescriptions":{"typeIdentifier":"t_contract$_IEIP3009_$7370","typeString":"contract IEIP3009"}},"src":"406:14:80","typeDescriptions":{"typeIdentifier":"t_contract$_IEIP3009_$7370","typeString":"contract IEIP3009"}},"id":7478,"nodeType":"ExpressionStatement","src":"406:14:80"}]},"documentation":null,"implemented":true,"kind":"constructor","modifiers":[],"name":"","overrides":null,"parameters":{"id":7473,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7472,"mutability":"mutable","name":"token","nodeType":"VariableDeclaration","overrides":null,"scope":7480,"src":"373:14:80","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IEIP3009_$7370","typeString":"contract IEIP3009"},"typeName":{"contractScope":null,"id":7471,"name":"IEIP3009","nodeType":"UserDefinedTypeName","referencedDeclaration":7370,"src":"373:8:80","typeDescriptions":{"typeIdentifier":"t_contract$_IEIP3009_$7370","typeString":"contract IEIP3009"}},"value":null,"visibility":"internal"}],"src":"372:16:80"},"returnParameters":{"id":7474,"nodeType":"ParameterList","parameters":[],"src":"396:0:80"},"scope":7535,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":7534,"nodeType":"FunctionDefinition","src":"433:852:80","nodes":[],"body":{"id":7533,"nodeType":"Block","src":"701:584:80","nodes":[],"statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":7509,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":7504,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7484,"src":"761:2:80","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":7507,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"775:4:80","typeDescriptions":{"typeIdentifier":"t_contract$_MockEIP3009Receiver_$7535","typeString":"contract MockEIP3009Receiver"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_MockEIP3009Receiver_$7535","typeString":"contract MockEIP3009Receiver"}],"id":7506,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"767:7:80","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":7505,"name":"address","nodeType":"ElementaryTypeName","src":"767:7:80","typeDescriptions":{"typeIdentifier":null,"typeString":null}}},"id":7508,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"767:13:80","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"761:19:80","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"argumentTypes":null,"hexValue":"526563697069656e74206973206e6f74207468697320636f6e7472616374","id":7510,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"782:32:80","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_72bf585aef932550d0e7fd29e9cc911eec6df8f06abf43dca581b20256cda86f","typeString":"literal_string \"Recipient is not this contract\""},"value":"Recipient is not this contract"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_72bf585aef932550d0e7fd29e9cc911eec6df8f06abf43dca581b20256cda86f","typeString":"literal_string \"Recipient is not this contract\""}],"id":7503,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"753:7:80","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":7511,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"753:62:80","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7512,"nodeType":"ExpressionStatement","src":"753:62:80"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":7516,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7482,"src":"991:4:80","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":7517,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7484,"src":"1009:2:80","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":7518,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7486,"src":"1025:5:80","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"id":7519,"name":"validAfter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7488,"src":"1044:10:80","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"id":7520,"name":"validBefore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7490,"src":"1068:11:80","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"id":7521,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7492,"src":"1093:5:80","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"argumentTypes":null,"id":7522,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7494,"src":"1112:1:80","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"argumentTypes":null,"id":7523,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7496,"src":"1127:1:80","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"argumentTypes":null,"id":7524,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7498,"src":"1142:1:80","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"argumentTypes":null,"id":7513,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7468,"src":"946:6:80","typeDescriptions":{"typeIdentifier":"t_contract$_IEIP3009_$7370","typeString":"contract IEIP3009"}},"id":7515,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"receiveWithAuthorization","nodeType":"MemberAccess","referencedDeclaration":7369,"src":"946:31:80","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,address,uint256,uint256,uint256,bytes32,uint8,bytes32,bytes32) external"}},"id":7525,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"946:207:80","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7526,"nodeType":"ExpressionStatement","src":"946:207:80"},{"expression":{"argumentTypes":null,"id":7529,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"id":7527,"name":"amountReceived","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7470,"src":"1223:14:80","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"argumentTypes":null,"id":7528,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7486,"src":"1241:5:80","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1223:23:80","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":7530,"nodeType":"ExpressionStatement","src":"1223:23:80"},{"expression":{"argumentTypes":null,"id":7531,"name":"amountReceived","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7470,"src":"1264:14:80","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":7502,"id":7532,"nodeType":"Return","src":"1257:21:80"}]},"documentation":null,"functionSelector":"d5614347","implemented":true,"kind":"function","modifiers":[],"name":"deposit","overrides":null,"parameters":{"id":7499,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7482,"mutability":"mutable","name":"from","nodeType":"VariableDeclaration","overrides":null,"scope":7534,"src":"459:12:80","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7481,"name":"address","nodeType":"ElementaryTypeName","src":"459:7:80","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":7484,"mutability":"mutable","name":"to","nodeType":"VariableDeclaration","overrides":null,"scope":7534,"src":"481:10:80","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7483,"name":"address","nodeType":"ElementaryTypeName","src":"481:7:80","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":7486,"mutability":"mutable","name":"value","nodeType":"VariableDeclaration","overrides":null,"scope":7534,"src":"501:13:80","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7485,"name":"uint256","nodeType":"ElementaryTypeName","src":"501:7:80","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":7488,"mutability":"mutable","name":"validAfter","nodeType":"VariableDeclaration","overrides":null,"scope":7534,"src":"524:18:80","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7487,"name":"uint256","nodeType":"ElementaryTypeName","src":"524:7:80","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":7490,"mutability":"mutable","name":"validBefore","nodeType":"VariableDeclaration","overrides":null,"scope":7534,"src":"552:19:80","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7489,"name":"uint256","nodeType":"ElementaryTypeName","src":"552:7:80","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":7492,"mutability":"mutable","name":"nonce","nodeType":"VariableDeclaration","overrides":null,"scope":7534,"src":"581:13:80","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":7491,"name":"bytes32","nodeType":"ElementaryTypeName","src":"581:7:80","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"},{"constant":false,"id":7494,"mutability":"mutable","name":"v","nodeType":"VariableDeclaration","overrides":null,"scope":7534,"src":"604:7:80","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":7493,"name":"uint8","nodeType":"ElementaryTypeName","src":"604:5:80","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"value":null,"visibility":"internal"},{"constant":false,"id":7496,"mutability":"mutable","name":"r","nodeType":"VariableDeclaration","overrides":null,"scope":7534,"src":"621:9:80","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":7495,"name":"bytes32","nodeType":"ElementaryTypeName","src":"621:7:80","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"},{"constant":false,"id":7498,"mutability":"mutable","name":"s","nodeType":"VariableDeclaration","overrides":null,"scope":7534,"src":"640:9:80","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":7497,"name":"bytes32","nodeType":"ElementaryTypeName","src":"640:7:80","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"}],"src":"449:206:80"},"returnParameters":{"id":7502,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7501,"mutability":"mutable","name":"","nodeType":"VariableDeclaration","overrides":null,"scope":7534,"src":"688:7:80","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7500,"name":"uint256","nodeType":"ElementaryTypeName","src":"688:7:80","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"687:9:80"},"scope":7535,"stateMutability":"nonpayable","virtual":false,"visibility":"public"}],"abstract":false,"baseContracts":[],"contractDependencies":[],"contractKind":"contract","documentation":{"id":7466,"nodeType":"StructuredDocumentation","src":"165:95:80","text":" Receive tokens on this contract and increase the internal ledger of the deposits."},"fullyImplemented":true,"linearizedBaseContracts":[7535],"name":"MockEIP3009Receiver","scope":7536}],"license":null},"id":80} \ No newline at end of file diff --git a/eth_defi/abi/RevertTest.json b/eth_defi/abi/RevertTest.json index f0cc84a1..d2cd800f 100644 --- a/eth_defi/abi/RevertTest.json +++ b/eth_defi/abi/RevertTest.json @@ -1,480 +1 @@ -{ - "abi": [ - { - "inputs": [], - "name": "revert1", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "second", - "type": "address" - } - ], - "name": "revert2", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x608060405234801561001057600080fd5b50610128806100206000396000f3fe6080604052348015600f57600080fd5b506004361060325760003560e01c806325ad8c83146037578063b550276d14605c575b600080fd5b605a60048036036020811015604b57600080fd5b50356001600160a01b03166062565b005b605a60bc565b6000819050806001600160a01b031663a169ce096040518163ffffffff1660e01b8152600401600060405180830381600087803b15801560a157600080fd5b505af115801560b4573d6000803e3d6000fd5b505050505050565b6040805162461bcd60e51b81526020600482015260066024820152653337b7b130b960d11b604482015290519081900360640190fdfea2646970667358221220fea3c4496e3b986c162ea5a120caa3257b7f2ddf583aee621960042e9512aa6a64736f6c634300060c0033", - "sourceMap": "111:222:80:-:0;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x6080604052348015600f57600080fd5b506004361060325760003560e01c806325ad8c83146037578063b550276d14605c575b600080fd5b605a60048036036020811015604b57600080fd5b50356001600160a01b03166062565b005b605a60bc565b6000819050806001600160a01b031663a169ce096040518163ffffffff1660e01b8152600401600060405180830381600087803b15801560a157600080fd5b505af115801560b4573d6000803e3d6000fd5b505050505050565b6040805162461bcd60e51b81526020600482015260066024820152653337b7b130b960d11b604482015290519081900360640190fdfea2646970667358221220fea3c4496e3b986c162ea5a120caa3257b7f2ddf583aee621960042e9512aa6a64736f6c634300060c0033", - "sourceMap": "111:222:80:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;205:126;;;;;;;;;;;;;;;;-1:-1:-1;205:126:80;-1:-1:-1;;;;;205:126:80;;:::i;:::-;;138:61;;;:::i;205:126::-;257:20;292:6;257:42;;309:8;-1:-1:-1;;;;;309:13:80;;:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;205:126;;:::o;138:61::-;176:16;;;-1:-1:-1;;;176:16:80;;;;;;;;;;;;-1:-1:-1;;;176:16:80;;;;;;;;;;;;;", - "linkReferences": {} - }, - "methodIdentifiers": { - "revert1()": "b550276d", - "revert2(address)": "25ad8c83" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"revert1\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"second\",\"type\":\"address\"}],\"name\":\"revert2\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/RevertTest.sol\":\"RevertTest\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":# @openzeppelin/=lib/openzeppelin-contracts/\",\":@enzyme/=../enzyme/contracts/\",\":@openzeppelin/=../enzyme/node_modules/@openzeppelin/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\"]},\"sources\":{\"src/RevertTest.sol\":{\"keccak256\":\"0xe7d80a2a889ce60ffec7e6a45c40855b25edc87566183f1796886de8b3278c25\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6b160e805098f2261056313a55aa0d0f7e39f0429975f51fdde51f77c15eeda5\",\"dweb:/ipfs/QmeoJwbwKzVK997sKbZ1XATH27TYt4tXFF4z73n7rH32q2\"]},\"src/RevertTest2.sol\":{\"keccak256\":\"0x99d502e0f92a0fb126e4aa6ee4090fd5fb29a1045c0f22fb34e43b34fff0e22b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://84aafd27cbe372a8f5aa04d0ea993b19c58d85ec0a1f46d72a5a8d5231d125f6\",\"dweb:/ipfs/QmYCo34nPaNUpKPTPRJ656ZpsWCgWysX1GytqPtwtzq3qZ\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "revert1" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "second", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "revert2" - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":# @openzeppelin/=lib/openzeppelin-contracts/", - ":@enzyme/=../enzyme/contracts/", - ":@openzeppelin/=../enzyme/node_modules/@openzeppelin/", - ":openzeppelin-contracts/=lib/openzeppelin-contracts/" - ], - "optimizer": { - "enabled": true, - "runs": 200 - }, - "metadata": { - "bytecodeHash": "ipfs" - }, - "compilationTarget": { - "src/RevertTest.sol": "RevertTest" - }, - "libraries": {} - }, - "sources": { - "src/RevertTest.sol": { - "keccak256": "0xe7d80a2a889ce60ffec7e6a45c40855b25edc87566183f1796886de8b3278c25", - "urls": [ - "bzz-raw://6b160e805098f2261056313a55aa0d0f7e39f0429975f51fdde51f77c15eeda5", - "dweb:/ipfs/QmeoJwbwKzVK997sKbZ1XATH27TYt4tXFF4z73n7rH32q2" - ], - "license": "MIT" - }, - "src/RevertTest2.sol": { - "keccak256": "0x99d502e0f92a0fb126e4aa6ee4090fd5fb29a1045c0f22fb34e43b34fff0e22b", - "urls": [ - "bzz-raw://84aafd27cbe372a8f5aa04d0ea993b19c58d85ec0a1f46d72a5a8d5231d125f6", - "dweb:/ipfs/QmYCo34nPaNUpKPTPRJ656ZpsWCgWysX1GytqPtwtzq3qZ" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "ast": { - "absolutePath": "src/RevertTest.sol", - "id": 7384, - "exportedSymbols": { - "RevertTest": [ - 7383 - ] - }, - "nodeType": "SourceUnit", - "src": "33:301:80", - "nodes": [ - { - "id": 7356, - "nodeType": "PragmaDirective", - "src": "33:23:80", - "nodes": [], - "literals": [ - "solidity", - "0.6", - ".12" - ] - }, - { - "id": 7357, - "nodeType": "ImportDirective", - "src": "58:27:80", - "nodes": [], - "absolutePath": "src/RevertTest2.sol", - "file": "./RevertTest2.sol", - "scope": 7384, - "sourceUnit": 7395, - "symbolAliases": [], - "unitAlias": "" - }, - { - "id": 7383, - "nodeType": "ContractDefinition", - "src": "111:222:80", - "nodes": [ - { - "id": 7365, - "nodeType": "FunctionDefinition", - "src": "138:61:80", - "nodes": [], - "body": { - "id": 7364, - "nodeType": "Block", - "src": "166:33:80", - "nodes": [], - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "666f6f626172", - "id": 7361, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "183:8:80", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_38d18acb67d25c8bb9942764b62f18e17054f66a817bd4295423adf9ed98873e", - "typeString": "literal_string \"foobar\"" - }, - "value": "foobar" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_38d18acb67d25c8bb9942764b62f18e17054f66a817bd4295423adf9ed98873e", - "typeString": "literal_string \"foobar\"" - } - ], - "id": 7360, - "name": "revert", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -19, - -19 - ], - "referencedDeclaration": -19, - "src": "176:6:80", - "typeDescriptions": { - "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", - "typeString": "function (string memory) pure" - } - }, - "id": 7362, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "176:16:80", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7363, - "nodeType": "ExpressionStatement", - "src": "176:16:80" - } - ] - }, - "documentation": null, - "functionSelector": "b550276d", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "revert1", - "overrides": null, - "parameters": { - "id": 7358, - "nodeType": "ParameterList", - "parameters": [], - "src": "154:2:80" - }, - "returnParameters": { - "id": 7359, - "nodeType": "ParameterList", - "parameters": [], - "src": "166:0:80" - }, - "scope": 7383, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "id": 7382, - "nodeType": "FunctionDefinition", - "src": "205:126:80", - "nodes": [], - "body": { - "id": 7381, - "nodeType": "Block", - "src": "247:84:80", - "nodes": [], - "statements": [ - { - "assignments": [ - 7371 - ], - "declarations": [ - { - "constant": false, - "id": 7371, - "mutability": "mutable", - "name": "reverter", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7381, - "src": "257:20:80", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RevertTest2_$7394", - "typeString": "contract RevertTest2" - }, - "typeName": { - "contractScope": null, - "id": 7370, - "name": "RevertTest2", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7394, - "src": "257:11:80", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RevertTest2_$7394", - "typeString": "contract RevertTest2" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7375, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7373, - "name": "second", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7367, - "src": "292:6:80", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - } - ], - "id": 7372, - "name": "RevertTest2", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7394, - "src": "280:11:80", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_RevertTest2_$7394_$", - "typeString": "type(contract RevertTest2)" - } - }, - "id": 7374, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "280:19:80", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_RevertTest2_$7394", - "typeString": "contract RevertTest2" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "257:42:80" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 7376, - "name": "reverter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7371, - "src": "309:8:80", - "typeDescriptions": { - "typeIdentifier": "t_contract$_RevertTest2_$7394", - "typeString": "contract RevertTest2" - } - }, - "id": 7378, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "boom", - "nodeType": "MemberAccess", - "referencedDeclaration": 7393, - "src": "309:13:80", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$__$returns$__$", - "typeString": "function () external" - } - }, - "id": 7379, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "309:15:80", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7380, - "nodeType": "ExpressionStatement", - "src": "309:15:80" - } - ] - }, - "documentation": null, - "functionSelector": "25ad8c83", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "revert2", - "overrides": null, - "parameters": { - "id": 7368, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7367, - "mutability": "mutable", - "name": "second", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7382, - "src": "222:14:80", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7366, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "222:7:80", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "221:16:80" - }, - "returnParameters": { - "id": 7369, - "nodeType": "ParameterList", - "parameters": [], - "src": "247:0:80" - }, - "scope": 7383, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "linearizedBaseContracts": [ - 7383 - ], - "name": "RevertTest", - "scope": 7384 - } - ], - "license": "MIT" - }, - "id": 80 -} \ No newline at end of file +{"abi":[{"type":"function","name":"revert1","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revert2","inputs":[{"name":"second","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"}],"bytecode":{"object":"0x608060405234801561001057600080fd5b50610128806100206000396000f3fe6080604052348015600f57600080fd5b506004361060325760003560e01c806325ad8c83146037578063b550276d14605c575b600080fd5b605a60048036036020811015604b57600080fd5b50356001600160a01b03166062565b005b605a60bc565b6000819050806001600160a01b031663a169ce096040518163ffffffff1660e01b8152600401600060405180830381600087803b15801560a157600080fd5b505af115801560b4573d6000803e3d6000fd5b505050505050565b6040805162461bcd60e51b81526020600482015260066024820152653337b7b130b960d11b604482015290519081900360640190fdfea26469706673582212204dc735912d59ddfb65520055bb83f327232c16bdb2537bb60cf26a9f6e296d5664736f6c634300060c0033","sourceMap":"111:222:81:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080604052348015600f57600080fd5b506004361060325760003560e01c806325ad8c83146037578063b550276d14605c575b600080fd5b605a60048036036020811015604b57600080fd5b50356001600160a01b03166062565b005b605a60bc565b6000819050806001600160a01b031663a169ce096040518163ffffffff1660e01b8152600401600060405180830381600087803b15801560a157600080fd5b505af115801560b4573d6000803e3d6000fd5b505050505050565b6040805162461bcd60e51b81526020600482015260066024820152653337b7b130b960d11b604482015290519081900360640190fdfea26469706673582212204dc735912d59ddfb65520055bb83f327232c16bdb2537bb60cf26a9f6e296d5664736f6c634300060c0033","sourceMap":"111:222:81:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;205:126;;;;;;;;;;;;;;;;-1:-1:-1;205:126:81;-1:-1:-1;;;;;205:126:81;;:::i;:::-;;138:61;;;:::i;205:126::-;257:20;292:6;257:42;;309:8;-1:-1:-1;;;;;309:13:81;;:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;205:126;;:::o;138:61::-;176:16;;;-1:-1:-1;;;176:16:81;;;;;;;;;;;;-1:-1:-1;;;176:16:81;;;;;;;;;;;;;","linkReferences":{}},"methodIdentifiers":{"revert1()":"b550276d","revert2(address)":"25ad8c83"},"rawMetadata":"{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"revert1\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"second\",\"type\":\"address\"}],\"name\":\"revert2\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/RevertTest.sol\":\"RevertTest\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@enzyme/=../enzyme/contracts/\",\":@openzeppelin/=../enzyme/node_modules/@openzeppelin/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/openzeppelin-contracts/lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\"]},\"sources\":{\"src/RevertTest.sol\":{\"keccak256\":\"0xe7d80a2a889ce60ffec7e6a45c40855b25edc87566183f1796886de8b3278c25\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6b160e805098f2261056313a55aa0d0f7e39f0429975f51fdde51f77c15eeda5\",\"dweb:/ipfs/QmeoJwbwKzVK997sKbZ1XATH27TYt4tXFF4z73n7rH32q2\"]},\"src/RevertTest2.sol\":{\"keccak256\":\"0x99d502e0f92a0fb126e4aa6ee4090fd5fb29a1045c0f22fb34e43b34fff0e22b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://84aafd27cbe372a8f5aa04d0ea993b19c58d85ec0a1f46d72a5a8d5231d125f6\",\"dweb:/ipfs/QmYCo34nPaNUpKPTPRJ656ZpsWCgWysX1GytqPtwtzq3qZ\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.6.12+commit.27d51765"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"revert1"},{"inputs":[{"internalType":"address","name":"second","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revert2"}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@enzyme/=../enzyme/contracts/","@openzeppelin/=../enzyme/node_modules/@openzeppelin/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-std/=lib/openzeppelin-contracts/lib/forge-std/src/","openzeppelin-contracts/=lib/openzeppelin-contracts/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/RevertTest.sol":"RevertTest"},"evmVersion":"istanbul","libraries":{}},"sources":{"src/RevertTest.sol":{"keccak256":"0xe7d80a2a889ce60ffec7e6a45c40855b25edc87566183f1796886de8b3278c25","urls":["bzz-raw://6b160e805098f2261056313a55aa0d0f7e39f0429975f51fdde51f77c15eeda5","dweb:/ipfs/QmeoJwbwKzVK997sKbZ1XATH27TYt4tXFF4z73n7rH32q2"],"license":"MIT"},"src/RevertTest2.sol":{"keccak256":"0x99d502e0f92a0fb126e4aa6ee4090fd5fb29a1045c0f22fb34e43b34fff0e22b","urls":["bzz-raw://84aafd27cbe372a8f5aa04d0ea993b19c58d85ec0a1f46d72a5a8d5231d125f6","dweb:/ipfs/QmYCo34nPaNUpKPTPRJ656ZpsWCgWysX1GytqPtwtzq3qZ"],"license":"MIT"}},"version":1},"ast":{"absolutePath":"src/RevertTest.sol","id":7565,"exportedSymbols":{"RevertTest":[7564]},"nodeType":"SourceUnit","src":"33:301:81","nodes":[{"id":7537,"nodeType":"PragmaDirective","src":"33:23:81","nodes":[],"literals":["solidity","0.6",".12"]},{"id":7538,"nodeType":"ImportDirective","src":"58:27:81","nodes":[],"absolutePath":"src/RevertTest2.sol","file":"./RevertTest2.sol","scope":7565,"sourceUnit":7576,"symbolAliases":[],"unitAlias":""},{"id":7564,"nodeType":"ContractDefinition","src":"111:222:81","nodes":[{"id":7546,"nodeType":"FunctionDefinition","src":"138:61:81","nodes":[],"body":{"id":7545,"nodeType":"Block","src":"166:33:81","nodes":[],"statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"hexValue":"666f6f626172","id":7542,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"183:8:81","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_38d18acb67d25c8bb9942764b62f18e17054f66a817bd4295423adf9ed98873e","typeString":"literal_string \"foobar\""},"value":"foobar"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_38d18acb67d25c8bb9942764b62f18e17054f66a817bd4295423adf9ed98873e","typeString":"literal_string \"foobar\""}],"id":7541,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"176:6:81","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":7543,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"176:16:81","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7544,"nodeType":"ExpressionStatement","src":"176:16:81"}]},"documentation":null,"functionSelector":"b550276d","implemented":true,"kind":"function","modifiers":[],"name":"revert1","overrides":null,"parameters":{"id":7539,"nodeType":"ParameterList","parameters":[],"src":"154:2:81"},"returnParameters":{"id":7540,"nodeType":"ParameterList","parameters":[],"src":"166:0:81"},"scope":7564,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":7563,"nodeType":"FunctionDefinition","src":"205:126:81","nodes":[],"body":{"id":7562,"nodeType":"Block","src":"247:84:81","nodes":[],"statements":[{"assignments":[7552],"declarations":[{"constant":false,"id":7552,"mutability":"mutable","name":"reverter","nodeType":"VariableDeclaration","overrides":null,"scope":7562,"src":"257:20:81","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_RevertTest2_$7575","typeString":"contract RevertTest2"},"typeName":{"contractScope":null,"id":7551,"name":"RevertTest2","nodeType":"UserDefinedTypeName","referencedDeclaration":7575,"src":"257:11:81","typeDescriptions":{"typeIdentifier":"t_contract$_RevertTest2_$7575","typeString":"contract RevertTest2"}},"value":null,"visibility":"internal"}],"id":7556,"initialValue":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":7554,"name":"second","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7548,"src":"292:6:81","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":7553,"name":"RevertTest2","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7575,"src":"280:11:81","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RevertTest2_$7575_$","typeString":"type(contract RevertTest2)"}},"id":7555,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"280:19:81","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_RevertTest2_$7575","typeString":"contract RevertTest2"}},"nodeType":"VariableDeclarationStatement","src":"257:42:81"},{"expression":{"argumentTypes":null,"arguments":[],"expression":{"argumentTypes":[],"expression":{"argumentTypes":null,"id":7557,"name":"reverter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7552,"src":"309:8:81","typeDescriptions":{"typeIdentifier":"t_contract$_RevertTest2_$7575","typeString":"contract RevertTest2"}},"id":7559,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"boom","nodeType":"MemberAccess","referencedDeclaration":7574,"src":"309:13:81","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":7560,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"309:15:81","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7561,"nodeType":"ExpressionStatement","src":"309:15:81"}]},"documentation":null,"functionSelector":"25ad8c83","implemented":true,"kind":"function","modifiers":[],"name":"revert2","overrides":null,"parameters":{"id":7549,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7548,"mutability":"mutable","name":"second","nodeType":"VariableDeclaration","overrides":null,"scope":7563,"src":"222:14:81","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7547,"name":"address","nodeType":"ElementaryTypeName","src":"222:7:81","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"}],"src":"221:16:81"},"returnParameters":{"id":7550,"nodeType":"ParameterList","parameters":[],"src":"247:0:81"},"scope":7564,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"contractDependencies":[],"contractKind":"contract","documentation":null,"fullyImplemented":true,"linearizedBaseContracts":[7564],"name":"RevertTest","scope":7565}],"license":"MIT"},"id":81} \ No newline at end of file diff --git a/eth_defi/abi/RevertTest2.json b/eth_defi/abi/RevertTest2.json index 6b9e054f..6a87b6ae 100644 --- a/eth_defi/abi/RevertTest2.json +++ b/eth_defi/abi/RevertTest2.json @@ -1,225 +1 @@ -{ - "abi": [ - { - "inputs": [], - "name": "boom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x6080604052348015600f57600080fd5b5060a88061001e6000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c8063a169ce0914602d575b600080fd5b60336035565b005b6040805162461bcd60e51b815260206004820152600d60248201526c426967206261646120626f6f6d60981b604482015290519081900360640190fdfea26469706673582212201e2b20141ee4a7b15887fbe7533dfcd505122baa5e37d80d81352e8a18d1d7d864736f6c634300060c0033", - "sourceMap": "82:96:81:-:0;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x6080604052348015600f57600080fd5b506004361060285760003560e01c8063a169ce0914602d575b600080fd5b60336035565b005b6040805162461bcd60e51b815260206004820152600d60248201526c426967206261646120626f6f6d60981b604482015290519081900360640190fdfea26469706673582212201e2b20141ee4a7b15887fbe7533dfcd505122baa5e37d80d81352e8a18d1d7d864736f6c634300060c0033", - "sourceMap": "82:96:81:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;110:65;;;:::i;:::-;;;145:23;;;-1:-1:-1;;;145:23:81;;;;;;;;;;;;-1:-1:-1;;;145:23:81;;;;;;;;;;;;;", - "linkReferences": {} - }, - "methodIdentifiers": { - "boom()": "a169ce09" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"boom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/RevertTest2.sol\":\"RevertTest2\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":# @openzeppelin/=lib/openzeppelin-contracts/\",\":@enzyme/=../enzyme/contracts/\",\":@openzeppelin/=../enzyme/node_modules/@openzeppelin/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\"]},\"sources\":{\"src/RevertTest2.sol\":{\"keccak256\":\"0x99d502e0f92a0fb126e4aa6ee4090fd5fb29a1045c0f22fb34e43b34fff0e22b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://84aafd27cbe372a8f5aa04d0ea993b19c58d85ec0a1f46d72a5a8d5231d125f6\",\"dweb:/ipfs/QmYCo34nPaNUpKPTPRJ656ZpsWCgWysX1GytqPtwtzq3qZ\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "boom" - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":# @openzeppelin/=lib/openzeppelin-contracts/", - ":@enzyme/=../enzyme/contracts/", - ":@openzeppelin/=../enzyme/node_modules/@openzeppelin/", - ":openzeppelin-contracts/=lib/openzeppelin-contracts/" - ], - "optimizer": { - "enabled": true, - "runs": 200 - }, - "metadata": { - "bytecodeHash": "ipfs" - }, - "compilationTarget": { - "src/RevertTest2.sol": "RevertTest2" - }, - "libraries": {} - }, - "sources": { - "src/RevertTest2.sol": { - "keccak256": "0x99d502e0f92a0fb126e4aa6ee4090fd5fb29a1045c0f22fb34e43b34fff0e22b", - "urls": [ - "bzz-raw://84aafd27cbe372a8f5aa04d0ea993b19c58d85ec0a1f46d72a5a8d5231d125f6", - "dweb:/ipfs/QmYCo34nPaNUpKPTPRJ656ZpsWCgWysX1GytqPtwtzq3qZ" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "ast": { - "absolutePath": "src/RevertTest2.sol", - "id": 7395, - "exportedSymbols": { - "RevertTest2": [ - 7394 - ] - }, - "nodeType": "SourceUnit", - "src": "33:146:81", - "nodes": [ - { - "id": 7385, - "nodeType": "PragmaDirective", - "src": "33:23:81", - "nodes": [], - "literals": [ - "solidity", - "0.6", - ".12" - ] - }, - { - "id": 7394, - "nodeType": "ContractDefinition", - "src": "82:96:81", - "nodes": [ - { - "id": 7393, - "nodeType": "FunctionDefinition", - "src": "110:65:81", - "nodes": [], - "body": { - "id": 7392, - "nodeType": "Block", - "src": "135:40:81", - "nodes": [], - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "426967206261646120626f6f6d", - "id": 7389, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "152:15:81", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_0081cba02cb4e3d0489ab88e239c16ca176ac7f8648ac9844de330989e59af3a", - "typeString": "literal_string \"Big bada boom\"" - }, - "value": "Big bada boom" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_0081cba02cb4e3d0489ab88e239c16ca176ac7f8648ac9844de330989e59af3a", - "typeString": "literal_string \"Big bada boom\"" - } - ], - "id": 7388, - "name": "revert", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -19, - -19 - ], - "referencedDeclaration": -19, - "src": "145:6:81", - "typeDescriptions": { - "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", - "typeString": "function (string memory) pure" - } - }, - "id": 7390, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "145:23:81", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7391, - "nodeType": "ExpressionStatement", - "src": "145:23:81" - } - ] - }, - "documentation": null, - "functionSelector": "a169ce09", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "boom", - "overrides": null, - "parameters": { - "id": 7386, - "nodeType": "ParameterList", - "parameters": [], - "src": "123:2:81" - }, - "returnParameters": { - "id": 7387, - "nodeType": "ParameterList", - "parameters": [], - "src": "135:0:81" - }, - "scope": 7394, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": null, - "fullyImplemented": true, - "linearizedBaseContracts": [ - 7394 - ], - "name": "RevertTest2", - "scope": 7395 - } - ], - "license": "MIT" - }, - "id": 81 -} \ No newline at end of file +{"abi":[{"type":"function","name":"boom","inputs":[],"outputs":[],"stateMutability":"nonpayable"}],"bytecode":{"object":"0x6080604052348015600f57600080fd5b5060a88061001e6000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c8063a169ce0914602d575b600080fd5b60336035565b005b6040805162461bcd60e51b815260206004820152600d60248201526c426967206261646120626f6f6d60981b604482015290519081900360640190fdfea2646970667358221220721c849ea968ddc8e2dd647a10a9c70c292e841a623a707813e9a64d22961f0564736f6c634300060c0033","sourceMap":"82:96:82:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080604052348015600f57600080fd5b506004361060285760003560e01c8063a169ce0914602d575b600080fd5b60336035565b005b6040805162461bcd60e51b815260206004820152600d60248201526c426967206261646120626f6f6d60981b604482015290519081900360640190fdfea2646970667358221220721c849ea968ddc8e2dd647a10a9c70c292e841a623a707813e9a64d22961f0564736f6c634300060c0033","sourceMap":"82:96:82:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;110:65;;;:::i;:::-;;;145:23;;;-1:-1:-1;;;145:23:82;;;;;;;;;;;;-1:-1:-1;;;145:23:82;;;;;;;;;;;;;","linkReferences":{}},"methodIdentifiers":{"boom()":"a169ce09"},"rawMetadata":"{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"boom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/RevertTest2.sol\":\"RevertTest2\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@enzyme/=../enzyme/contracts/\",\":@openzeppelin/=../enzyme/node_modules/@openzeppelin/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/openzeppelin-contracts/lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\"]},\"sources\":{\"src/RevertTest2.sol\":{\"keccak256\":\"0x99d502e0f92a0fb126e4aa6ee4090fd5fb29a1045c0f22fb34e43b34fff0e22b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://84aafd27cbe372a8f5aa04d0ea993b19c58d85ec0a1f46d72a5a8d5231d125f6\",\"dweb:/ipfs/QmYCo34nPaNUpKPTPRJ656ZpsWCgWysX1GytqPtwtzq3qZ\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.6.12+commit.27d51765"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"boom"}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@enzyme/=../enzyme/contracts/","@openzeppelin/=../enzyme/node_modules/@openzeppelin/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-std/=lib/openzeppelin-contracts/lib/forge-std/src/","openzeppelin-contracts/=lib/openzeppelin-contracts/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/RevertTest2.sol":"RevertTest2"},"evmVersion":"istanbul","libraries":{}},"sources":{"src/RevertTest2.sol":{"keccak256":"0x99d502e0f92a0fb126e4aa6ee4090fd5fb29a1045c0f22fb34e43b34fff0e22b","urls":["bzz-raw://84aafd27cbe372a8f5aa04d0ea993b19c58d85ec0a1f46d72a5a8d5231d125f6","dweb:/ipfs/QmYCo34nPaNUpKPTPRJ656ZpsWCgWysX1GytqPtwtzq3qZ"],"license":"MIT"}},"version":1},"ast":{"absolutePath":"src/RevertTest2.sol","id":7576,"exportedSymbols":{"RevertTest2":[7575]},"nodeType":"SourceUnit","src":"33:146:82","nodes":[{"id":7566,"nodeType":"PragmaDirective","src":"33:23:82","nodes":[],"literals":["solidity","0.6",".12"]},{"id":7575,"nodeType":"ContractDefinition","src":"82:96:82","nodes":[{"id":7574,"nodeType":"FunctionDefinition","src":"110:65:82","nodes":[],"body":{"id":7573,"nodeType":"Block","src":"135:40:82","nodes":[],"statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"hexValue":"426967206261646120626f6f6d","id":7570,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"152:15:82","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_0081cba02cb4e3d0489ab88e239c16ca176ac7f8648ac9844de330989e59af3a","typeString":"literal_string \"Big bada boom\""},"value":"Big bada boom"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_0081cba02cb4e3d0489ab88e239c16ca176ac7f8648ac9844de330989e59af3a","typeString":"literal_string \"Big bada boom\""}],"id":7569,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"145:6:82","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":7571,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"145:23:82","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7572,"nodeType":"ExpressionStatement","src":"145:23:82"}]},"documentation":null,"functionSelector":"a169ce09","implemented":true,"kind":"function","modifiers":[],"name":"boom","overrides":null,"parameters":{"id":7567,"nodeType":"ParameterList","parameters":[],"src":"123:2:82"},"returnParameters":{"id":7568,"nodeType":"ParameterList","parameters":[],"src":"135:0:82"},"scope":7575,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"contractDependencies":[],"contractKind":"contract","documentation":null,"fullyImplemented":true,"linearizedBaseContracts":[7575],"name":"RevertTest2","scope":7576}],"license":"MIT"},"id":82} \ No newline at end of file diff --git a/eth_defi/abi/TermedVaultUSDCPaymentForwarder.json b/eth_defi/abi/TermedVaultUSDCPaymentForwarder.json new file mode 100644 index 00000000..a3f229ab --- /dev/null +++ b/eth_defi/abi/TermedVaultUSDCPaymentForwarder.json @@ -0,0 +1 @@ +{"abi":[{"type":"constructor","inputs":[{"name":"_token","type":"address","internalType":"contract IEIP3009"},{"name":"_comptroller","type":"address","internalType":"contract IEnzymeComptroller"},{"name":"_termsOfService","type":"address","internalType":"contract ITermsOfService"}],"stateMutability":"nonpayable"},{"type":"function","name":"amountProxied","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"buySharesOnBehalfUsingTransferWithAuthorizationAndTermsOfService","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"validAfter","type":"uint256","internalType":"uint256"},{"name":"validBefore","type":"uint256","internalType":"uint256"},{"name":"nonce","type":"bytes32","internalType":"bytes32"},{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"},{"name":"minSharesQuantity","type":"uint256","internalType":"uint256"},{"name":"termsOfServiceHash","type":"bytes32","internalType":"bytes32"},{"name":"termsOfServiceSignature","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"comptroller","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IEnzymeComptroller"}],"stateMutability":"view"},{"type":"function","name":"isTermsOfServiceEnabled","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"function","name":"termsOfService","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract ITermsOfService"}],"stateMutability":"view"},{"type":"function","name":"token","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IEIP3009"}],"stateMutability":"view"}],"bytecode":{"object":"0x608060405234801561001057600080fd5b506040516106823803806106828339818101604052606081101561003357600080fd5b5080516020820151604090920151600080546001600160a01b039384166001600160a01b03199182161790915560028054948416948216949094179093556001805492909116919092161790556105f38061008f6000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c80631e117f49146100675780635fe3b5671461008b5780636e80f2be14610093578063be81e2e4146100ad578063e6b02fac146100c9578063fc0c546a14610192575b600080fd5b61006f61019a565b604080516001600160a01b039092168252519081900360200190f35b61006f6101a9565b61009b6101b8565b60408051918252519081900360200190f35b6100b56101be565b604080519115158252519081900360200190f35b61009b60048036036101808110156100e057600080fd5b6001600160a01b03823581169260208101359091169160408201359160608101359160808201359160a08101359160ff60c0830135169160e08101359161010082013591610120810135916101408201359190810190610180810161016082013564010000000081111561015357600080fd5b82018360208201111561016557600080fd5b8035906020019184600183028401116401000000008311171561018757600080fd5b5090925090506101c3565b61006f610576565b6001546001600160a01b031681565b6002546001600160a01b031681565b60035481565b600190565b6000831561029857600160009054906101000a90046001600160a01b03166001600160a01b0316635f145fb78f8686866040518563ffffffff1660e01b815260040180856001600160a01b0316815260200184815260200180602001806020018381038352858582818152602001925080828437600081840152601f19601f8201169050808301925050508381038252600081526020016020019650505050505050600060405180830381600087803b15801561027f57600080fd5b505af1158015610293573d6000803e3d6000fd5b505050505b600160009054906101000a90046001600160a01b03166001600160a01b0316635053b5638f6040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050602060405180830381600087803b1580156102fc57600080fd5b505af1158015610310573d6000803e3d6000fd5b505050506040513d602081101561032657600080fd5b50516103635760405162461bcd60e51b81526004018080602001828103825260388152602001806105866038913960400191505060405180910390fd5b60008054906101000a90046001600160a01b03166001600160a01b031663e3ee160e8f8f8f8f8f8f8f8f8f6040518a63ffffffff1660e01b8152600401808a6001600160a01b03168152602001896001600160a01b031681526020018881526020018781526020018681526020018581526020018460ff1681526020018381526020018281526020019950505050505050505050600060405180830381600087803b15801561041157600080fd5b505af1158015610425573d6000803e3d6000fd5b5050505060008054906101000a90046001600160a01b03166001600160a01b031663095ea7b3600260009054906101000a90046001600160a01b03168e6040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b1580156104a857600080fd5b505af11580156104bc573d6000803e3d6000fd5b505050506040513d60208110156104d257600080fd5b5050600254604080516321dff62560e21b8152336004820152602481018f90526044810188905290516000926001600160a01b03169163877fd89491606480830192602092919082900301818787803b15801561052e57600080fd5b505af1158015610542573d6000803e3d6000fd5b505050506040513d602081101561055857600080fd5b5051600380548f0190559150509d9c50505050505050505050505050565b6000546001600160a01b03168156fe5465726d73206f66207365727669636520636865636b206661696c65642c2063616e6e6f742070726f6365656420746f206465706f736974a2646970667358221220213a72e231cbb9d2288c300d89cc40e0174cbcb9dafdcfb075753ae09f04056064736f6c634300060c0033","sourceMap":"1005:2890:8:-:0;;;1476:211;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1476:211:8;;;;;;;;;;;1588:5;:14;;-1:-1:-1;;;;;1588:14:8;;;-1:-1:-1;;;;;;1588:14:8;;;;;;;1612:11;:26;;;;;;;;;;;;;;;1588:14;1648:32;;;;;;;;;;;;;1005:2890;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100625760003560e01c80631e117f49146100675780635fe3b5671461008b5780636e80f2be14610093578063be81e2e4146100ad578063e6b02fac146100c9578063fc0c546a14610192575b600080fd5b61006f61019a565b604080516001600160a01b039092168252519081900360200190f35b61006f6101a9565b61009b6101b8565b60408051918252519081900360200190f35b6100b56101be565b604080519115158252519081900360200190f35b61009b60048036036101808110156100e057600080fd5b6001600160a01b03823581169260208101359091169160408201359160608101359160808201359160a08101359160ff60c0830135169160e08101359161010082013591610120810135916101408201359190810190610180810161016082013564010000000081111561015357600080fd5b82018360208201111561016557600080fd5b8035906020019184600183028401116401000000008311171561018757600080fd5b5090925090506101c3565b61006f610576565b6001546001600160a01b031681565b6002546001600160a01b031681565b60035481565b600190565b6000831561029857600160009054906101000a90046001600160a01b03166001600160a01b0316635f145fb78f8686866040518563ffffffff1660e01b815260040180856001600160a01b0316815260200184815260200180602001806020018381038352858582818152602001925080828437600081840152601f19601f8201169050808301925050508381038252600081526020016020019650505050505050600060405180830381600087803b15801561027f57600080fd5b505af1158015610293573d6000803e3d6000fd5b505050505b600160009054906101000a90046001600160a01b03166001600160a01b0316635053b5638f6040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050602060405180830381600087803b1580156102fc57600080fd5b505af1158015610310573d6000803e3d6000fd5b505050506040513d602081101561032657600080fd5b50516103635760405162461bcd60e51b81526004018080602001828103825260388152602001806105866038913960400191505060405180910390fd5b60008054906101000a90046001600160a01b03166001600160a01b031663e3ee160e8f8f8f8f8f8f8f8f8f6040518a63ffffffff1660e01b8152600401808a6001600160a01b03168152602001896001600160a01b031681526020018881526020018781526020018681526020018581526020018460ff1681526020018381526020018281526020019950505050505050505050600060405180830381600087803b15801561041157600080fd5b505af1158015610425573d6000803e3d6000fd5b5050505060008054906101000a90046001600160a01b03166001600160a01b031663095ea7b3600260009054906101000a90046001600160a01b03168e6040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b1580156104a857600080fd5b505af11580156104bc573d6000803e3d6000fd5b505050506040513d60208110156104d257600080fd5b5050600254604080516321dff62560e21b8152336004820152602481018f90526044810188905290516000926001600160a01b03169163877fd89491606480830192602092919082900301818787803b15801561052e57600080fd5b505af1158015610542573d6000803e3d6000fd5b505050506040513d602081101561055857600080fd5b5051600380548f0190559150509d9c50505050505050505050505050565b6000546001600160a01b03168156fe5465726d73206f66207365727669636520636865636b206661696c65642c2063616e6e6f742070726f6365656420746f206465706f736974a2646970667358221220213a72e231cbb9d2288c300d89cc40e0174cbcb9dafdcfb075753ae09f04056064736f6c634300060c0033","sourceMap":"1005:2890:8:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1157:37;;;:::i;:::-;;;;-1:-1:-1;;;;;1157:37:8;;;;;;;;;;;;;;1341;;;:::i;1441:28::-;;;:::i;:::-;;;;;;;;;;;;;;;;1799:90;;;:::i;:::-;;;;;;;;;;;;;;;;;;1918:1974;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1918:1974:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1918:1974:8;;-1:-1:-1;1918:1974:8;-1:-1:-1;1918:1974:8;:::i;1074:21::-;;;:::i;1157:37::-;;;-1:-1:-1;;;;;1157:37:8;;:::o;1341:::-;;;-1:-1:-1;;;;;1341:37:8;;:::o;1441:28::-;;;;:::o;1799:90::-;1878:4;1799:90;:::o;1918:1974::-;2351:7;2510:32;;2507:509;;2911:14;;;;;;;;;-1:-1:-1;;;;;2911:14:8;-1:-1:-1;;;;;2911:39:8;;2951:4;2957:18;2977:23;;2911:94;;;;;;;;;;;;;-1:-1:-1;;;;;2911:94:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2507:509;3034:14;;;;;;;;;-1:-1:-1;;;;;3034:14:8;-1:-1:-1;;;;;3034:32:8;;3067:4;3034:38;;;;;;;;;;;;;-1:-1:-1;;;;;3034:38:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3034:38:8;3026:107;;;;-1:-1:-1;;;3026:107:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3264:5;;;;;;;;-1:-1:-1;;;;;3264:5:8;-1:-1:-1;;;;;3264:31:8;;3309:4;3327:2;3343:5;3362:10;3386:11;3411:5;3430:1;3445;3460;3264:207;;;;;;;;;;;;;-1:-1:-1;;;;;3264:207:8;;;;;;-1:-1:-1;;;;;3264:207:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3534:5;;;;;;;;-1:-1:-1;;;;;3534:5:8;-1:-1:-1;;;;;3534:13:8;;3556:11;;;;;;;;;-1:-1:-1;;;;;3556:11:8;3570:5;3534:42;;;;;;;;;;;;;-1:-1:-1;;;;;3534:42:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3611:11:8;;:113;;;-1:-1:-1;;;3611:113:8;;3654:10;3611:113;;;;;;;;;;;;;;;;;;3586:22;;-1:-1:-1;;;;;3611:11:8;;:29;;:113;;;;;3534:42;;3611:113;;;;;;;3586:22;3611:11;:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3611:113:8;3831:13;:22;;;;;;3611:113;-1:-1:-1;;1918:1974:8;;;;;;;;;;;;;;;:::o;1074:21::-;;;-1:-1:-1;;;;;1074:21:8;;:::o","linkReferences":{}},"methodIdentifiers":{"amountProxied()":"6e80f2be","buySharesOnBehalfUsingTransferWithAuthorizationAndTermsOfService(address,address,uint256,uint256,uint256,bytes32,uint8,bytes32,bytes32,uint256,bytes32,bytes)":"e6b02fac","comptroller()":"5fe3b567","isTermsOfServiceEnabled()":"be81e2e4","termsOfService()":"1e117f49","token()":"fc0c546a"},"rawMetadata":"{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"contract IEIP3009\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"contract IEnzymeComptroller\",\"name\":\"_comptroller\",\"type\":\"address\"},{\"internalType\":\"contract ITermsOfService\",\"name\":\"_termsOfService\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"amountProxied\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"validAfter\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"validBefore\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"nonce\",\"type\":\"bytes32\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"minSharesQuantity\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"termsOfServiceHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"termsOfServiceSignature\",\"type\":\"bytes\"}],\"name\":\"buySharesOnBehalfUsingTransferWithAuthorizationAndTermsOfService\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"comptroller\",\"outputs\":[{\"internalType\":\"contract IEnzymeComptroller\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isTermsOfServiceEnabled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"termsOfService\",\"outputs\":[{\"internalType\":\"contract ITermsOfService\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"internalType\":\"contract IEIP3009\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"isTermsOfServiceEnabled()\":{\"notice\":\"An interface flag to separate us from VaultUSDCPaymentForwarder for legacy compat.\"}},\"notice\":\"Purchase shares for the user using USDC and update terms of service. - Provide EIP-3009 wrapper around Enzyme's buyShares() function - Support receiveWithAuthorization() hooks - Support transferWithAuthorization() hooks - No approve() and extra pop-up needed when depositd to the vault\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/TermedVaultUSDCPaymentForwarder.sol\":\"TermedVaultUSDCPaymentForwarder\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@enzyme/=../enzyme/contracts/\",\":@openzeppelin/=../enzyme/node_modules/@openzeppelin/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/openzeppelin-contracts/lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\"]},\"sources\":{\"../enzyme/node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"../enzyme/node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"../enzyme/node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"../enzyme/node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]},\"src/IEIP3009.sol\":{\"keccak256\":\"0xb7c522dd527973629fb7386283a8b4713e4c1ad4c1e52e53acffa959b6983423\",\"urls\":[\"bzz-raw://517ff4bde29dd1c7619804d4b47dc76c9d7fcce084d0ee08cec06ff0ca91feac\",\"dweb:/ipfs/Qmb5VrRpnaXFwQaR1amifw1znmig4BQ7W7qGiTdfmQJEtp\"]},\"src/TermedVaultUSDCPaymentForwarder.sol\":{\"keccak256\":\"0x43247bb88f739c5df76ab48778c23388e82e0adb4367869f1dc8d5a27ea9e83e\",\"urls\":[\"bzz-raw://cdb271e58aa3133d5ff0fcf4f1d4ebf9a2c159c6c25b13012fcf8c47b758b0fa\",\"dweb:/ipfs/QmRokGoAW6mPuFLyyoLhzoHDuU2Xa1Vp6wA5KsJWeeaNaq\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.6.12+commit.27d51765"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"contract IEIP3009","name":"_token","type":"address"},{"internalType":"contract IEnzymeComptroller","name":"_comptroller","type":"address"},{"internalType":"contract ITermsOfService","name":"_termsOfService","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"stateMutability":"view","type":"function","name":"amountProxied","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"validAfter","type":"uint256"},{"internalType":"uint256","name":"validBefore","type":"uint256"},{"internalType":"bytes32","name":"nonce","type":"bytes32"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"},{"internalType":"uint256","name":"minSharesQuantity","type":"uint256"},{"internalType":"bytes32","name":"termsOfServiceHash","type":"bytes32"},{"internalType":"bytes","name":"termsOfServiceSignature","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"buySharesOnBehalfUsingTransferWithAuthorizationAndTermsOfService","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"comptroller","outputs":[{"internalType":"contract IEnzymeComptroller","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"isTermsOfServiceEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"termsOfService","outputs":[{"internalType":"contract ITermsOfService","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"token","outputs":[{"internalType":"contract IEIP3009","name":"","type":"address"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{"isTermsOfServiceEnabled()":{"notice":"An interface flag to separate us from VaultUSDCPaymentForwarder for legacy compat."}},"version":1}},"settings":{"remappings":["@enzyme/=../enzyme/contracts/","@openzeppelin/=../enzyme/node_modules/@openzeppelin/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-std/=lib/openzeppelin-contracts/lib/forge-std/src/","openzeppelin-contracts/=lib/openzeppelin-contracts/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/TermedVaultUSDCPaymentForwarder.sol":"TermedVaultUSDCPaymentForwarder"},"evmVersion":"istanbul","libraries":{}},"sources":{"../enzyme/node_modules/@openzeppelin/contracts/math/SafeMath.sol":{"keccak256":"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52","urls":["bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c","dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR"],"license":"MIT"},"../enzyme/node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3","urls":["bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e","dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE"],"license":"MIT"},"../enzyme/node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5","urls":["bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08","dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC"],"license":"MIT"},"../enzyme/node_modules/@openzeppelin/contracts/utils/Context.sol":{"keccak256":"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0","urls":["bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f","dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96"],"license":"MIT"},"src/IEIP3009.sol":{"keccak256":"0xb7c522dd527973629fb7386283a8b4713e4c1ad4c1e52e53acffa959b6983423","urls":["bzz-raw://517ff4bde29dd1c7619804d4b47dc76c9d7fcce084d0ee08cec06ff0ca91feac","dweb:/ipfs/Qmb5VrRpnaXFwQaR1amifw1znmig4BQ7W7qGiTdfmQJEtp"],"license":null},"src/TermedVaultUSDCPaymentForwarder.sol":{"keccak256":"0x43247bb88f739c5df76ab48778c23388e82e0adb4367869f1dc8d5a27ea9e83e","urls":["bzz-raw://cdb271e58aa3133d5ff0fcf4f1d4ebf9a2c159c6c25b13012fcf8c47b758b0fa","dweb:/ipfs/QmRokGoAW6mPuFLyyoLhzoHDuU2Xa1Vp6wA5KsJWeeaNaq"],"license":null}},"version":1},"ast":{"absolutePath":"src/TermedVaultUSDCPaymentForwarder.sol","id":1179,"exportedSymbols":{"IEnzymeComptroller":[1042],"ITermsOfService":[1030],"TermedVaultUSDCPaymentForwarder":[1178]},"nodeType":"SourceUnit","src":"108:3787:8","nodes":[{"id":1009,"nodeType":"PragmaDirective","src":"108:23:8","nodes":[],"literals":["solidity","0.6",".12"]},{"id":1010,"nodeType":"ImportDirective","src":"133:24:8","nodes":[],"absolutePath":"src/IEIP3009.sol","file":"./IEIP3009.sol","scope":1179,"sourceUnit":1008,"symbolAliases":[],"unitAlias":""},{"id":1030,"nodeType":"ContractDefinition","src":"226:239:8","nodes":[{"id":1018,"nodeType":"FunctionDefinition","src":"258:76:8","nodes":[],"documentation":null,"functionSelector":"5053b563","implemented":false,"kind":"function","modifiers":[],"name":"canAddressProceed","overrides":null,"parameters":{"id":1014,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1013,"mutability":"mutable","name":"sender","nodeType":"VariableDeclaration","overrides":null,"scope":1018,"src":"285:14:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1012,"name":"address","nodeType":"ElementaryTypeName","src":"285:7:8","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"}],"src":"284:16:8"},"returnParameters":{"id":1017,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1016,"mutability":"mutable","name":"accepted","nodeType":"VariableDeclaration","overrides":null,"scope":1018,"src":"319:13:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1015,"name":"bool","nodeType":"ElementaryTypeName","src":"319:4:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":null,"visibility":"internal"}],"src":"318:15:8"},"scope":1030,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":1029,"nodeType":"FunctionDefinition","src":"339:124:8","nodes":[],"documentation":null,"functionSelector":"5f145fb7","implemented":false,"kind":"function","modifiers":[],"name":"signTermsOfServiceBehalf","overrides":null,"parameters":{"id":1027,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1020,"mutability":"mutable","name":"signer","nodeType":"VariableDeclaration","overrides":null,"scope":1029,"src":"373:14:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1019,"name":"address","nodeType":"ElementaryTypeName","src":"373:7:8","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":1022,"mutability":"mutable","name":"hash","nodeType":"VariableDeclaration","overrides":null,"scope":1029,"src":"389:12:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1021,"name":"bytes32","nodeType":"ElementaryTypeName","src":"389:7:8","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"},{"constant":false,"id":1024,"mutability":"mutable","name":"signature","nodeType":"VariableDeclaration","overrides":null,"scope":1029,"src":"403:24:8","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":1023,"name":"bytes","nodeType":"ElementaryTypeName","src":"403:5:8","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"value":null,"visibility":"internal"},{"constant":false,"id":1026,"mutability":"mutable","name":"metadata","nodeType":"VariableDeclaration","overrides":null,"scope":1029,"src":"429:23:8","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":1025,"name":"bytes","nodeType":"ElementaryTypeName","src":"429:5:8","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"value":null,"visibility":"internal"}],"src":"372:81:8"},"returnParameters":{"id":1028,"nodeType":"ParameterList","parameters":[],"src":"462:0:8"},"scope":1030,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"contractDependencies":[],"contractKind":"interface","documentation":{"id":1011,"nodeType":"StructuredDocumentation","src":"159:66:8","text":" Copy-pated because Enzyme compiler version differences."},"fullyImplemented":false,"linearizedBaseContracts":[1030],"name":"ITermsOfService","scope":1179},{"id":1042,"nodeType":"ContractDefinition","src":"469:208:8","nodes":[{"id":1041,"nodeType":"FunctionDefinition","src":"504:171:8","nodes":[],"documentation":null,"functionSelector":"877fd894","implemented":false,"kind":"function","modifiers":[],"name":"buySharesOnBehalf","overrides":null,"parameters":{"id":1037,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1032,"mutability":"mutable","name":"_buyer","nodeType":"VariableDeclaration","overrides":null,"scope":1041,"src":"540:14:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1031,"name":"address","nodeType":"ElementaryTypeName","src":"540:7:8","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":1034,"mutability":"mutable","name":"_investmentAmount","nodeType":"VariableDeclaration","overrides":null,"scope":1041,"src":"564:25:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1033,"name":"uint256","nodeType":"ElementaryTypeName","src":"564:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":1036,"mutability":"mutable","name":"_minSharesQuantity","nodeType":"VariableDeclaration","overrides":null,"scope":1041,"src":"599:26:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1035,"name":"uint256","nodeType":"ElementaryTypeName","src":"599:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"530:101:8"},"returnParameters":{"id":1040,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1039,"mutability":"mutable","name":"sharesReceived_","nodeType":"VariableDeclaration","overrides":null,"scope":1041,"src":"650:23:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1038,"name":"uint256","nodeType":"ElementaryTypeName","src":"650:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"649:25:8"},"scope":1042,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"contractDependencies":[],"contractKind":"interface","documentation":null,"fullyImplemented":false,"linearizedBaseContracts":[1042],"name":"IEnzymeComptroller","scope":1179},{"id":1178,"nodeType":"ContractDefinition","src":"1005:2890:8","nodes":[{"id":1045,"nodeType":"VariableDeclaration","src":"1074:21:8","nodes":[],"constant":false,"functionSelector":"fc0c546a","mutability":"mutable","name":"token","overrides":null,"scope":1178,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IEIP3009_$1007","typeString":"contract IEIP3009"},"typeName":{"contractScope":null,"id":1044,"name":"IEIP3009","nodeType":"UserDefinedTypeName","referencedDeclaration":1007,"src":"1074:8:8","typeDescriptions":{"typeIdentifier":"t_contract$_IEIP3009_$1007","typeString":"contract IEIP3009"}},"value":null,"visibility":"public"},{"id":1047,"nodeType":"VariableDeclaration","src":"1157:37:8","nodes":[],"constant":false,"functionSelector":"1e117f49","mutability":"mutable","name":"termsOfService","overrides":null,"scope":1178,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_ITermsOfService_$1030","typeString":"contract ITermsOfService"},"typeName":{"contractScope":null,"id":1046,"name":"ITermsOfService","nodeType":"UserDefinedTypeName","referencedDeclaration":1030,"src":"1157:15:8","typeDescriptions":{"typeIdentifier":"t_contract$_ITermsOfService_$1030","typeString":"contract ITermsOfService"}},"value":null,"visibility":"public"},{"id":1049,"nodeType":"VariableDeclaration","src":"1341:37:8","nodes":[],"constant":false,"functionSelector":"5fe3b567","mutability":"mutable","name":"comptroller","overrides":null,"scope":1178,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IEnzymeComptroller_$1042","typeString":"contract IEnzymeComptroller"},"typeName":{"contractScope":null,"id":1048,"name":"IEnzymeComptroller","nodeType":"UserDefinedTypeName","referencedDeclaration":1042,"src":"1341:18:8","typeDescriptions":{"typeIdentifier":"t_contract$_IEnzymeComptroller_$1042","typeString":"contract IEnzymeComptroller"}},"value":null,"visibility":"public"},{"id":1051,"nodeType":"VariableDeclaration","src":"1441:28:8","nodes":[],"constant":false,"functionSelector":"6e80f2be","mutability":"mutable","name":"amountProxied","overrides":null,"scope":1178,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1050,"name":"uint256","nodeType":"ElementaryTypeName","src":"1441:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"public"},{"id":1073,"nodeType":"FunctionDefinition","src":"1476:211:8","nodes":[],"body":{"id":1072,"nodeType":"Block","src":"1578:109:8","nodes":[],"statements":[{"expression":{"argumentTypes":null,"id":1062,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"id":1060,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1045,"src":"1588:5:8","typeDescriptions":{"typeIdentifier":"t_contract$_IEIP3009_$1007","typeString":"contract IEIP3009"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"id":1061,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1053,"src":"1596:6:8","typeDescriptions":{"typeIdentifier":"t_contract$_IEIP3009_$1007","typeString":"contract IEIP3009"}},"src":"1588:14:8","typeDescriptions":{"typeIdentifier":"t_contract$_IEIP3009_$1007","typeString":"contract IEIP3009"}},"id":1063,"nodeType":"ExpressionStatement","src":"1588:14:8"},{"expression":{"argumentTypes":null,"id":1066,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"id":1064,"name":"comptroller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1049,"src":"1612:11:8","typeDescriptions":{"typeIdentifier":"t_contract$_IEnzymeComptroller_$1042","typeString":"contract IEnzymeComptroller"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"id":1065,"name":"_comptroller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1055,"src":"1626:12:8","typeDescriptions":{"typeIdentifier":"t_contract$_IEnzymeComptroller_$1042","typeString":"contract IEnzymeComptroller"}},"src":"1612:26:8","typeDescriptions":{"typeIdentifier":"t_contract$_IEnzymeComptroller_$1042","typeString":"contract IEnzymeComptroller"}},"id":1067,"nodeType":"ExpressionStatement","src":"1612:26:8"},{"expression":{"argumentTypes":null,"id":1070,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"id":1068,"name":"termsOfService","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1047,"src":"1648:14:8","typeDescriptions":{"typeIdentifier":"t_contract$_ITermsOfService_$1030","typeString":"contract ITermsOfService"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"id":1069,"name":"_termsOfService","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1057,"src":"1665:15:8","typeDescriptions":{"typeIdentifier":"t_contract$_ITermsOfService_$1030","typeString":"contract ITermsOfService"}},"src":"1648:32:8","typeDescriptions":{"typeIdentifier":"t_contract$_ITermsOfService_$1030","typeString":"contract ITermsOfService"}},"id":1071,"nodeType":"ExpressionStatement","src":"1648:32:8"}]},"documentation":null,"implemented":true,"kind":"constructor","modifiers":[],"name":"","overrides":null,"parameters":{"id":1058,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1053,"mutability":"mutable","name":"_token","nodeType":"VariableDeclaration","overrides":null,"scope":1073,"src":"1488:15:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IEIP3009_$1007","typeString":"contract IEIP3009"},"typeName":{"contractScope":null,"id":1052,"name":"IEIP3009","nodeType":"UserDefinedTypeName","referencedDeclaration":1007,"src":"1488:8:8","typeDescriptions":{"typeIdentifier":"t_contract$_IEIP3009_$1007","typeString":"contract IEIP3009"}},"value":null,"visibility":"internal"},{"constant":false,"id":1055,"mutability":"mutable","name":"_comptroller","nodeType":"VariableDeclaration","overrides":null,"scope":1073,"src":"1505:31:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IEnzymeComptroller_$1042","typeString":"contract IEnzymeComptroller"},"typeName":{"contractScope":null,"id":1054,"name":"IEnzymeComptroller","nodeType":"UserDefinedTypeName","referencedDeclaration":1042,"src":"1505:18:8","typeDescriptions":{"typeIdentifier":"t_contract$_IEnzymeComptroller_$1042","typeString":"contract IEnzymeComptroller"}},"value":null,"visibility":"internal"},{"constant":false,"id":1057,"mutability":"mutable","name":"_termsOfService","nodeType":"VariableDeclaration","overrides":null,"scope":1073,"src":"1538:31:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_ITermsOfService_$1030","typeString":"contract ITermsOfService"},"typeName":{"contractScope":null,"id":1056,"name":"ITermsOfService","nodeType":"UserDefinedTypeName","referencedDeclaration":1030,"src":"1538:15:8","typeDescriptions":{"typeIdentifier":"t_contract$_ITermsOfService_$1030","typeString":"contract ITermsOfService"}},"value":null,"visibility":"internal"}],"src":"1487:83:8"},"returnParameters":{"id":1059,"nodeType":"ParameterList","parameters":[],"src":"1578:0:8"},"scope":1178,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":1082,"nodeType":"FunctionDefinition","src":"1799:90:8","nodes":[],"body":{"id":1081,"nodeType":"Block","src":"1861:28:8","nodes":[],"statements":[{"expression":{"argumentTypes":null,"hexValue":"74727565","id":1079,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"1878:4:8","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":1078,"id":1080,"nodeType":"Return","src":"1871:11:8"}]},"documentation":{"id":1074,"nodeType":"StructuredDocumentation","src":"1693:101:8","text":" An interface flag to separate us from VaultUSDCPaymentForwarder for legacy compat."},"functionSelector":"be81e2e4","implemented":true,"kind":"function","modifiers":[],"name":"isTermsOfServiceEnabled","overrides":null,"parameters":{"id":1075,"nodeType":"ParameterList","parameters":[],"src":"1831:2:8"},"returnParameters":{"id":1078,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1077,"mutability":"mutable","name":"","nodeType":"VariableDeclaration","overrides":null,"scope":1082,"src":"1855:4:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1076,"name":"bool","nodeType":"ElementaryTypeName","src":"1855:4:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":null,"visibility":"internal"}],"src":"1854:6:8"},"scope":1178,"stateMutability":"pure","virtual":false,"visibility":"public"},{"id":1177,"nodeType":"FunctionDefinition","src":"1918:1974:8","nodes":[],"body":{"id":1176,"nodeType":"Block","src":"2364:1528:8","nodes":[],"statements":[{"condition":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":1116,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":1111,"name":"termsOfServiceHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1104,"src":"2510:18:8","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"hexValue":"30","id":1114,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2540:1:8","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":1113,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2532:7:8","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":1112,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2532:7:8","typeDescriptions":{"typeIdentifier":null,"typeString":null}}},"id":1115,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2532:10:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"2510:32:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":null,"id":1127,"nodeType":"IfStatement","src":"2507:509:8","trueBody":{"id":1126,"nodeType":"Block","src":"2544:472:8","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":1120,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1084,"src":"2951:4:8","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":1121,"name":"termsOfServiceHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1104,"src":"2957:18:8","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"argumentTypes":null,"id":1122,"name":"termsOfServiceSignature","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1106,"src":"2977:23:8","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},{"argumentTypes":null,"hexValue":"","id":1123,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3002:2:8","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""},"value":""}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"},{"typeIdentifier":"t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470","typeString":"literal_string \"\""}],"expression":{"argumentTypes":null,"id":1117,"name":"termsOfService","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1047,"src":"2911:14:8","typeDescriptions":{"typeIdentifier":"t_contract$_ITermsOfService_$1030","typeString":"contract ITermsOfService"}},"id":1119,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"signTermsOfServiceBehalf","nodeType":"MemberAccess","referencedDeclaration":1029,"src":"2911:39:8","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_bytes32_$_t_bytes_memory_ptr_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,bytes32,bytes memory,bytes memory) external"}},"id":1124,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2911:94:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1125,"nodeType":"ExpressionStatement","src":"2911:94:8"}]}},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":1131,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1084,"src":"3067:4:8","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"argumentTypes":null,"id":1129,"name":"termsOfService","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1047,"src":"3034:14:8","typeDescriptions":{"typeIdentifier":"t_contract$_ITermsOfService_$1030","typeString":"contract ITermsOfService"}},"id":1130,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"canAddressProceed","nodeType":"MemberAccess","referencedDeclaration":1018,"src":"3034:32:8","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$_t_bool_$","typeString":"function (address) external returns (bool)"}},"id":1132,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3034:38:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"argumentTypes":null,"hexValue":"5465726d73206f66207365727669636520636865636b206661696c65642c2063616e6e6f742070726f6365656420746f206465706f736974","id":1133,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3074:58:8","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_ffb16387a6b73c7886f87eac69e3dc5682de0345db62841e9c926d79b90ffbcb","typeString":"literal_string \"Terms of service check failed, cannot proceed to deposit\""},"value":"Terms of service check failed, cannot proceed to deposit"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_ffb16387a6b73c7886f87eac69e3dc5682de0345db62841e9c926d79b90ffbcb","typeString":"literal_string \"Terms of service check failed, cannot proceed to deposit\""}],"id":1128,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"3026:7:8","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":1134,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3026:107:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1135,"nodeType":"ExpressionStatement","src":"3026:107:8"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":1139,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1084,"src":"3309:4:8","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":1140,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1086,"src":"3327:2:8","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":1141,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1088,"src":"3343:5:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"id":1142,"name":"validAfter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1090,"src":"3362:10:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"id":1143,"name":"validBefore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1092,"src":"3386:11:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"id":1144,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1094,"src":"3411:5:8","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"argumentTypes":null,"id":1145,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1096,"src":"3430:1:8","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"argumentTypes":null,"id":1146,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1098,"src":"3445:1:8","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"argumentTypes":null,"id":1147,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1100,"src":"3460:1:8","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"argumentTypes":null,"id":1136,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1045,"src":"3264:5:8","typeDescriptions":{"typeIdentifier":"t_contract$_IEIP3009_$1007","typeString":"contract IEIP3009"}},"id":1138,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"transferWithAuthorization","nodeType":"MemberAccess","referencedDeclaration":985,"src":"3264:31:8","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,address,uint256,uint256,uint256,bytes32,uint8,bytes32,bytes32) external"}},"id":1148,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3264:207:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1149,"nodeType":"ExpressionStatement","src":"3264:207:8"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":1155,"name":"comptroller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1049,"src":"3556:11:8","typeDescriptions":{"typeIdentifier":"t_contract$_IEnzymeComptroller_$1042","typeString":"contract IEnzymeComptroller"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IEnzymeComptroller_$1042","typeString":"contract IEnzymeComptroller"}],"id":1154,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3548:7:8","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1153,"name":"address","nodeType":"ElementaryTypeName","src":"3548:7:8","typeDescriptions":{"typeIdentifier":null,"typeString":null}}},"id":1156,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3548:20:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":1157,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1088,"src":"3570:5:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"id":1150,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1045,"src":"3534:5:8","typeDescriptions":{"typeIdentifier":"t_contract$_IEIP3009_$1007","typeString":"contract IEIP3009"}},"id":1152,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":1580,"src":"3534:13:8","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":1158,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3534:42:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1159,"nodeType":"ExpressionStatement","src":"3534:42:8"},{"assignments":[1161],"declarations":[{"constant":false,"id":1161,"mutability":"mutable","name":"sharesReceived","nodeType":"VariableDeclaration","overrides":null,"scope":1176,"src":"3586:22:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1160,"name":"uint256","nodeType":"ElementaryTypeName","src":"3586:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"id":1169,"initialValue":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"expression":{"argumentTypes":null,"id":1164,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3654:3:8","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1165,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"3654:10:8","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"argumentTypes":null,"id":1166,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1088,"src":"3678:5:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"id":1167,"name":"minSharesQuantity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1102,"src":"3697:17:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"id":1162,"name":"comptroller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1049,"src":"3611:11:8","typeDescriptions":{"typeIdentifier":"t_contract$_IEnzymeComptroller_$1042","typeString":"contract IEnzymeComptroller"}},"id":1163,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"buySharesOnBehalf","nodeType":"MemberAccess","referencedDeclaration":1041,"src":"3611:29:8","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256,uint256) external returns (uint256)"}},"id":1168,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3611:113:8","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3586:138:8"},{"expression":{"argumentTypes":null,"id":1172,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"id":1170,"name":"amountProxied","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1051,"src":"3831:13:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"argumentTypes":null,"id":1171,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1088,"src":"3848:5:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3831:22:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1173,"nodeType":"ExpressionStatement","src":"3831:22:8"},{"expression":{"argumentTypes":null,"id":1174,"name":"sharesReceived","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1161,"src":"3871:14:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":1110,"id":1175,"nodeType":"Return","src":"3864:21:8"}]},"documentation":null,"functionSelector":"e6b02fac","implemented":true,"kind":"function","modifiers":[],"name":"buySharesOnBehalfUsingTransferWithAuthorizationAndTermsOfService","overrides":null,"parameters":{"id":1107,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1084,"mutability":"mutable","name":"from","nodeType":"VariableDeclaration","overrides":null,"scope":1177,"src":"2001:12:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1083,"name":"address","nodeType":"ElementaryTypeName","src":"2001:7:8","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":1086,"mutability":"mutable","name":"to","nodeType":"VariableDeclaration","overrides":null,"scope":1177,"src":"2023:10:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1085,"name":"address","nodeType":"ElementaryTypeName","src":"2023:7:8","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":1088,"mutability":"mutable","name":"value","nodeType":"VariableDeclaration","overrides":null,"scope":1177,"src":"2043:13:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1087,"name":"uint256","nodeType":"ElementaryTypeName","src":"2043:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":1090,"mutability":"mutable","name":"validAfter","nodeType":"VariableDeclaration","overrides":null,"scope":1177,"src":"2066:18:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1089,"name":"uint256","nodeType":"ElementaryTypeName","src":"2066:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":1092,"mutability":"mutable","name":"validBefore","nodeType":"VariableDeclaration","overrides":null,"scope":1177,"src":"2094:19:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1091,"name":"uint256","nodeType":"ElementaryTypeName","src":"2094:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":1094,"mutability":"mutable","name":"nonce","nodeType":"VariableDeclaration","overrides":null,"scope":1177,"src":"2123:13:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1093,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2123:7:8","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"},{"constant":false,"id":1096,"mutability":"mutable","name":"v","nodeType":"VariableDeclaration","overrides":null,"scope":1177,"src":"2146:7:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":1095,"name":"uint8","nodeType":"ElementaryTypeName","src":"2146:5:8","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"value":null,"visibility":"internal"},{"constant":false,"id":1098,"mutability":"mutable","name":"r","nodeType":"VariableDeclaration","overrides":null,"scope":1177,"src":"2163:9:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1097,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2163:7:8","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"},{"constant":false,"id":1100,"mutability":"mutable","name":"s","nodeType":"VariableDeclaration","overrides":null,"scope":1177,"src":"2182:9:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1099,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2182:7:8","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"},{"constant":false,"id":1102,"mutability":"mutable","name":"minSharesQuantity","nodeType":"VariableDeclaration","overrides":null,"scope":1177,"src":"2201:25:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1101,"name":"uint256","nodeType":"ElementaryTypeName","src":"2201:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":1104,"mutability":"mutable","name":"termsOfServiceHash","nodeType":"VariableDeclaration","overrides":null,"scope":1177,"src":"2236:26:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1103,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2236:7:8","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"},{"constant":false,"id":1106,"mutability":"mutable","name":"termsOfServiceSignature","nodeType":"VariableDeclaration","overrides":null,"scope":1177,"src":"2272:38:8","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":1105,"name":"bytes","nodeType":"ElementaryTypeName","src":"2272:5:8","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"value":null,"visibility":"internal"}],"src":"1991:325:8"},"returnParameters":{"id":1110,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1109,"mutability":"mutable","name":"","nodeType":"VariableDeclaration","overrides":null,"scope":1177,"src":"2351:7:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1108,"name":"uint256","nodeType":"ElementaryTypeName","src":"2351:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"2350:9:8"},"scope":1178,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"contractDependencies":[],"contractKind":"contract","documentation":{"id":1043,"nodeType":"StructuredDocumentation","src":"681:323:8","text":" Purchase shares for the user using USDC and update terms of service.\n - Provide EIP-3009 wrapper around Enzyme's buyShares() function\n - Support receiveWithAuthorization() hooks\n - Support transferWithAuthorization() hooks\n - No approve() and extra pop-up needed when depositd to the vault"},"fullyImplemented":true,"linearizedBaseContracts":[1178],"name":"TermedVaultUSDCPaymentForwarder","scope":1179}],"license":null},"id":8} \ No newline at end of file diff --git a/eth_defi/abi/VaultSpecificGenericAdapter.json b/eth_defi/abi/VaultSpecificGenericAdapter.json index 760e37b0..f1f82b16 100644 --- a/eth_defi/abi/VaultSpecificGenericAdapter.json +++ b/eth_defi/abi/VaultSpecificGenericAdapter.json @@ -1,4549 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_integrationManager", - "type": "address" - }, - { - "internalType": "address payable", - "name": "_whitelistedVault", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "name": "CLAIM_REWARDS_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "EXECUTE_CALLS_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "LEND_AND_STAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "LEND_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "REDEEM_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "STAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "TAKE_MULTIPLE_ORDERS_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "TAKE_ORDER_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "UNSTAKE_AND_REDEEM_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "UNSTAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "executeCalls", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getIntegrationManager", - "outputs": [ - { - "internalType": "address", - "name": "integrationManager_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes4", - "name": "_selector", - "type": "bytes4" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - } - ], - "name": "parseAssetsForAction", - "outputs": [ - { - "internalType": "enum IIntegrationManager.SpendAssetsHandleType", - "name": "spendAssetsHandleType_", - "type": "uint8" - }, - { - "internalType": "address[]", - "name": "spendAssets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "spendAssetAmounts_", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "incomingAssets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "minIncomingAssetAmounts_", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "whitelistedVault", - "outputs": [ - { - "internalType": "address payable", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x60a06040523480156200001157600080fd5b506040516200156c3803806200156c83398101604081905262000034916200013e565b606082901b6001600160601b031916608052600080546001600160a01b0319166001600160a01b0383811691909117918290556040805162ee2cb160e41b8152905192909116918291630ee2cb10916004808301926020929190829003018186803b158015620000a357600080fd5b505afa158015620000b8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000de919062000118565b6001600160a01b03166200010f5760405162461bcd60e51b815260040162000106906200017c565b60405180910390fd5b505050620001cc565b6000602082840312156200012a578081fd5b81516200013781620001b3565b9392505050565b6000806040838503121562000151578081fd5b82516200015e81620001b3565b60208401519092506200017181620001b3565b809150509250929050565b60208082526017908201527f456e636f756e74657265642066756e6e79207661756c74000000000000000000604082015260600190565b6001600160a01b0381168114620001c957600080fd5b50565b60805160601c61137d620001ef600039806102e55280610578525061137d6000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c80639adf0ee31161008c578063c32990a211610066578063c32990a21461016f578063c54efee514610177578063e7c456901461019b578063f7d882b5146101a3576100ea565b80639adf0ee31461013d578063b23228cf14610152578063b7fe1a111461015a576100ea565b8063257cb1a3116100c8578063257cb1a31461011d5780633ffc15911461012557806340da225d1461012d578063863e5ad014610135576100ea565b8063080456c1146100ef57806312d9c1f61461010d578063131461c014610115575b600080fd5b6100f76101ab565b6040516101049190610fed565b60405180910390f35b6100f76101cf565b6100f76101f3565b6100f7610217565b6100f761023b565b6100f761025f565b6100f7610283565b6101456102a7565b6040516101049190610fc0565b6100f76102b6565b61016d610168366004610beb565b6102da565b005b6100f76104fb565b61018a610185366004610b7c565b61051f565b604051610104959493929190611002565b610145610576565b6100f761059a565b7f8334eb99be0145865eba9889fca2ee920288090caefff4cc776038e20ad9259a81565b7fb7fe1a117cff974e3f19d303d9f97ada44b7ecad880df21ddfdc69ba0493b79681565b7f29fa046e79524c3c5ac4c01df692c35e217802b2b13b21121b76cf0ef02b138c81565b7f099f75155f0e997bf83a7993a71d5e7e7540bd386fe1e84643a09ce6b412521981565b7ffa7dd04da627f433da73c4355ead9c75682a67a8fc84d3f6170ef0922f402d2481565b7fb9dfbaccbe5cd2a84fdcf1d15f23ef25d23086f5afbaa99516065ed4a5bbc7a381565b7f03e38a2bd7063d45c897edeafc330e71657502dd86434d3c37a489caf116af6981565b6000546001600160a01b031681565b7f68e30677f607df46e87da13e15b637784cfa62374b653f35ab43d10361a2f83081565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461032b5760405162461bcd60e51b815260040161032290611129565b60405180910390fd5b8484848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8a018190048102820181019092528881528a9350915088908890819084018382808284376000920182905250546001600160a01b038d811691161492506103c49150505760405162461bcd60e51b81526004016103229061117b565b60606103d089896105be565b9450505050506060806103e2836105e3565b9150915060005b82518110156104b657600083828151811061040057fe5b60200260200101519050606083838151811061041857fe5b6020026020010151905060006060836001600160a01b03168360405161043e9190610fa4565b6000604051808303816000865af19150503d806000811461047b576040519150601f19603f3d011682016040523d82523d6000602084013e610480565b606091505b50915091508181906104a55760405162461bcd60e51b8152600401610322919061106b565b5050600190930192506103e9915050565b5050505060606104c582610626565b505090506104d3838261064c565b5050505060606104e282610626565b925050506104f0838261064c565b505050505050505050565b7f0e7f692dad5b88fdee426250d6eae91207e56a2e8112b7364579bed1790e5bf481565b600060608080806001600160e01b0319881663b7fe1a1160e01b146105565760405162461bcd60e51b81526004016103229061124d565b61056087876105be565b5060029d919c509a509198509650945050505050565b7f000000000000000000000000000000000000000000000000000000000000000090565b7fc29fa9dde84204c2908778afd0613d802d31cf046179b88f6d2b4a4e507ea2d581565b6060808080806105d086880188610e2e565b939b929a50909850965090945092505050565b606080828060200190518101906105fa9190610c6b565b80518251929450909250146106215760405162461bcd60e51b81526004016103229061109e565b915091565b60608060608380602001905181019061063f9190610d54565b9250925092509193909250565b6060815167ffffffffffffffff8111801561066657600080fd5b50604051908082528060200260200182016040528015610690578160200160208202803683370190505b50905060005b82518110156107a15760008382815181106106ad57fe5b60200260200101519050806001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016106e39190610fc0565b60206040518083038186803b1580156106fb57600080fd5b505afa15801561070f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107339190610f1a565b83838151811061073f57fe5b602002602001018181525050600083838151811061075957fe5b60200260200101511115610798576107988584848151811061077757fe5b6020026020010151836001600160a01b03166107a89092919063ffffffff16565b50600101610696565b5092915050565b6107fe8363a9059cbb60e01b84846040516024016107c7929190610fd4565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610803565b505050565b6060610858826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166108929092919063ffffffff16565b8051909150156107fe57808060200190518101906108769190610efa565b6107fe5760405162461bcd60e51b815260040161032290611203565b60606108a184846000856108ab565b90505b9392505050565b6060824710156108cd5760405162461bcd60e51b8152600401610322906110e3565b6108d68561096c565b6108f25760405162461bcd60e51b8152600401610322906111cc565b60006060866001600160a01b0316858760405161090f9190610fa4565b60006040518083038185875af1925050503d806000811461094c576040519150601f19603f3d011682016040523d82523d6000602084013e610951565b606091505b5091509150610961828286610972565b979650505050505050565b3b151590565b606083156109815750816108a4565b8251156109915782518084602001fd5b8160405162461bcd60e51b8152600401610322919061106b565b600082601f8301126109bb578081fd5b81356109ce6109c9826112bb565b611294565b8181529150602080830190848101818402860182018710156109ef57600080fd5b60005b84811015610a17578135610a058161132f565b845292820192908201906001016109f2565b505050505092915050565b600082601f830112610a32578081fd5b8151610a406109c9826112bb565b818152915060208083019084810181840286018201871015610a6157600080fd5b60005b84811015610a17578151610a778161132f565b84529282019290820190600101610a64565b600082601f830112610a99578081fd5b8135610aa76109c9826112bb565b818152915060208083019084810181840286018201871015610ac857600080fd5b60005b84811015610a1757813584529282019290820190600101610acb565b60008083601f840112610af8578182fd5b50813567ffffffffffffffff811115610b0f578182fd5b602083019150836020828501011115610b2757600080fd5b9250929050565b600082601f830112610b3e578081fd5b8135610b4c6109c9826112db565b9150808252836020828501011115610b6357600080fd5b8060208401602084013760009082016020015292915050565b60008060008060608587031215610b91578384fd5b8435610b9c8161132f565b935060208501356001600160e01b031981168114610bb8578384fd5b9250604085013567ffffffffffffffff811115610bd3578283fd5b610bdf87828801610ae7565b95989497509550505050565b600080600080600060608688031215610c02578081fd5b8535610c0d8161132f565b9450602086013567ffffffffffffffff80821115610c29578283fd5b610c3589838a01610ae7565b90965094506040880135915080821115610c4d578283fd5b50610c5a88828901610ae7565b969995985093965092949392505050565b6000806040808486031215610c7e578283fd5b835167ffffffffffffffff80821115610c95578485fd5b610ca187838801610a22565b9450602091508186015181811115610cb7578485fd5b86019050601f81018713610cc9578384fd5b8051610cd76109c9826112bb565b81815283810190838501875b84811015610d4357815186018c603f820112610cfd57898afd5b87810151610d0d6109c9826112db565b8181528e8b838501011115610d20578b8cfd5b610d2f828b83018d86016112ff565b865250509286019290860190600101610ce3565b50979a909950975050505050505050565b600080600060608486031215610d68578283fd5b835167ffffffffffffffff80821115610d7f578485fd5b610d8b87838801610a22565b9450602091508186015181811115610da1578485fd5b8601601f81018813610db1578485fd5b8051610dbf6109c9826112bb565b81815284810190838601868402850187018c1015610ddb578889fd5b8894505b83851015610dfd578051835260019490940193918601918601610ddf565b5060408a0151909750945050505080821115610e17578283fd5b50610e2486828701610a22565b9150509250925092565b600080600080600060a08688031215610e45578081fd5b853567ffffffffffffffff80821115610e5c578283fd5b610e6889838a016109ab565b96506020880135915080821115610e7d578283fd5b610e8989838a01610a89565b95506040880135915080821115610e9e578283fd5b610eaa89838a016109ab565b94506060880135915080821115610ebf578283fd5b610ecb89838a01610a89565b93506080880135915080821115610ee0578283fd5b50610eed88828901610b2e565b9150509295509295909350565b600060208284031215610f0b578081fd5b815180151581146108a4578182fd5b600060208284031215610f2b578081fd5b5051919050565b6000815180845260208085019450808401835b83811015610f6a5781516001600160a01b031687529582019590820190600101610f45565b509495945050505050565b6000815180845260208085019450808401835b83811015610f6a57815187529582019590820190600101610f88565b60008251610fb68184602087016112ff565b9190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b6001600160e01b031991909116815260200190565b60006003871061100e57fe5b86825260a0602083015261102560a0830187610f32565b82810360408401526110378187610f75565b9050828103606084015261104b8186610f32565b9050828103608084015261105f8185610f75565b98975050505050505050565b600060208252825180602084015261108a8160408501602087016112ff565b601f01601f19169190910160400192915050565b60208082526025908201527f556e657175616c2065787465726e616c2063616c6c7320617272617973206c656040820152646e6774687360d81b606082015260800190565b60208082526026908201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6040820152651c8818d85b1b60d21b606082015260800190565b60208082526032908201527f4f6e6c792074686520496e746567726174696f6e4d616e616765722063616e2060408201527131b0b636103a3434b990333ab731ba34b7b760711b606082015260800190565b60208082526031908201527f4f6e6c792063616c6c732066726f6d207468652077686974656c6973746564206040820152701d985d5b1d08185c9948185b1b1bddd959607a1b606082015260800190565b6020808252601d908201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604082015260600190565b6020808252602a908201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6040820152691bdd081cdd58d8d9595960b21b606082015260800190565b60208082526027908201527f7061727365417373657473466f72416374696f6e3a205f73656c6563746f72206040820152661a5b9d985b1a5960ca1b606082015260800190565b60405181810167ffffffffffffffff811182821017156112b357600080fd5b604052919050565b600067ffffffffffffffff8211156112d1578081fd5b5060209081020190565b600067ffffffffffffffff8211156112f1578081fd5b50601f01601f191660200190565b60005b8381101561131a578181015183820152602001611302565b83811115611329576000848401525b50505050565b6001600160a01b038116811461134457600080fd5b5056fea2646970667358221220c7239bcf01edc41d7e2d52507d4b4c704156e75144d12f05d37e12aedb1fcf8664736f6c634300060c0033", - "sourceMap": "434:4552:82:-:0;;;728:492;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1938:41:19;;;;-1:-1:-1;;;;;;1938:41:19;;;876:16:82::1;:36:::0;;-1:-1:-1;;;;;;876:36:82::1;-1:-1:-1::0;;;;;876:36:82;;::::1;::::0;;;::::1;::::0;;;;1121:18:::1;::::0;;-1:-1:-1;;;1121:18:82;;;;1086:16;;;::::1;::::0;;;1121::::1;::::0;:18:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;1086:16;1121:18;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;1121:64:82::1;1113:100;;;;-1:-1:-1::0;;;1113:100:82::1;;;;;;;:::i;:::-;;;;;;;;;728:492;::::0;;434:4552;;303:263:-1;;418:2;406:9;397:7;393:23;389:32;386:2;;;-1:-1;;424:12;386:2;89:6;83:13;101:33;128:5;101:33;:::i;:::-;476:74;380:186;-1:-1;;;380:186::o;573:415::-;;;713:2;701:9;692:7;688:23;684:32;681:2;;;-1:-1;;719:12;681:2;89:6;83:13;101:33;128:5;101:33;:::i;:::-;882:2;940:22;;232:13;771:74;;-1:-1;250:41;232:13;250:41;:::i;:::-;890:82;;;;675:313;;;;;:::o;1327:416::-;1527:2;1541:47;;;1220:2;1512:18;;;1854:19;1256:25;1894:14;;;1236:46;1301:12;;;1498:245::o;2254:117::-;-1:-1;;;;;2188:54;;2313:35;;2303:2;;2362:1;;2352:12;2303:2;2297:74;:::o;:::-;434:4552:82;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106100ea5760003560e01c80639adf0ee31161008c578063c32990a211610066578063c32990a21461016f578063c54efee514610177578063e7c456901461019b578063f7d882b5146101a3576100ea565b80639adf0ee31461013d578063b23228cf14610152578063b7fe1a111461015a576100ea565b8063257cb1a3116100c8578063257cb1a31461011d5780633ffc15911461012557806340da225d1461012d578063863e5ad014610135576100ea565b8063080456c1146100ef57806312d9c1f61461010d578063131461c014610115575b600080fd5b6100f76101ab565b6040516101049190610fed565b60405180910390f35b6100f76101cf565b6100f76101f3565b6100f7610217565b6100f761023b565b6100f761025f565b6100f7610283565b6101456102a7565b6040516101049190610fc0565b6100f76102b6565b61016d610168366004610beb565b6102da565b005b6100f76104fb565b61018a610185366004610b7c565b61051f565b604051610104959493929190611002565b610145610576565b6100f761059a565b7f8334eb99be0145865eba9889fca2ee920288090caefff4cc776038e20ad9259a81565b7fb7fe1a117cff974e3f19d303d9f97ada44b7ecad880df21ddfdc69ba0493b79681565b7f29fa046e79524c3c5ac4c01df692c35e217802b2b13b21121b76cf0ef02b138c81565b7f099f75155f0e997bf83a7993a71d5e7e7540bd386fe1e84643a09ce6b412521981565b7ffa7dd04da627f433da73c4355ead9c75682a67a8fc84d3f6170ef0922f402d2481565b7fb9dfbaccbe5cd2a84fdcf1d15f23ef25d23086f5afbaa99516065ed4a5bbc7a381565b7f03e38a2bd7063d45c897edeafc330e71657502dd86434d3c37a489caf116af6981565b6000546001600160a01b031681565b7f68e30677f607df46e87da13e15b637784cfa62374b653f35ab43d10361a2f83081565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461032b5760405162461bcd60e51b815260040161032290611129565b60405180910390fd5b8484848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8a018190048102820181019092528881528a9350915088908890819084018382808284376000920182905250546001600160a01b038d811691161492506103c49150505760405162461bcd60e51b81526004016103229061117b565b60606103d089896105be565b9450505050506060806103e2836105e3565b9150915060005b82518110156104b657600083828151811061040057fe5b60200260200101519050606083838151811061041857fe5b6020026020010151905060006060836001600160a01b03168360405161043e9190610fa4565b6000604051808303816000865af19150503d806000811461047b576040519150601f19603f3d011682016040523d82523d6000602084013e610480565b606091505b50915091508181906104a55760405162461bcd60e51b8152600401610322919061106b565b5050600190930192506103e9915050565b5050505060606104c582610626565b505090506104d3838261064c565b5050505060606104e282610626565b925050506104f0838261064c565b505050505050505050565b7f0e7f692dad5b88fdee426250d6eae91207e56a2e8112b7364579bed1790e5bf481565b600060608080806001600160e01b0319881663b7fe1a1160e01b146105565760405162461bcd60e51b81526004016103229061124d565b61056087876105be565b5060029d919c509a509198509650945050505050565b7f000000000000000000000000000000000000000000000000000000000000000090565b7fc29fa9dde84204c2908778afd0613d802d31cf046179b88f6d2b4a4e507ea2d581565b6060808080806105d086880188610e2e565b939b929a50909850965090945092505050565b606080828060200190518101906105fa9190610c6b565b80518251929450909250146106215760405162461bcd60e51b81526004016103229061109e565b915091565b60608060608380602001905181019061063f9190610d54565b9250925092509193909250565b6060815167ffffffffffffffff8111801561066657600080fd5b50604051908082528060200260200182016040528015610690578160200160208202803683370190505b50905060005b82518110156107a15760008382815181106106ad57fe5b60200260200101519050806001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016106e39190610fc0565b60206040518083038186803b1580156106fb57600080fd5b505afa15801561070f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107339190610f1a565b83838151811061073f57fe5b602002602001018181525050600083838151811061075957fe5b60200260200101511115610798576107988584848151811061077757fe5b6020026020010151836001600160a01b03166107a89092919063ffffffff16565b50600101610696565b5092915050565b6107fe8363a9059cbb60e01b84846040516024016107c7929190610fd4565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610803565b505050565b6060610858826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166108929092919063ffffffff16565b8051909150156107fe57808060200190518101906108769190610efa565b6107fe5760405162461bcd60e51b815260040161032290611203565b60606108a184846000856108ab565b90505b9392505050565b6060824710156108cd5760405162461bcd60e51b8152600401610322906110e3565b6108d68561096c565b6108f25760405162461bcd60e51b8152600401610322906111cc565b60006060866001600160a01b0316858760405161090f9190610fa4565b60006040518083038185875af1925050503d806000811461094c576040519150601f19603f3d011682016040523d82523d6000602084013e610951565b606091505b5091509150610961828286610972565b979650505050505050565b3b151590565b606083156109815750816108a4565b8251156109915782518084602001fd5b8160405162461bcd60e51b8152600401610322919061106b565b600082601f8301126109bb578081fd5b81356109ce6109c9826112bb565b611294565b8181529150602080830190848101818402860182018710156109ef57600080fd5b60005b84811015610a17578135610a058161132f565b845292820192908201906001016109f2565b505050505092915050565b600082601f830112610a32578081fd5b8151610a406109c9826112bb565b818152915060208083019084810181840286018201871015610a6157600080fd5b60005b84811015610a17578151610a778161132f565b84529282019290820190600101610a64565b600082601f830112610a99578081fd5b8135610aa76109c9826112bb565b818152915060208083019084810181840286018201871015610ac857600080fd5b60005b84811015610a1757813584529282019290820190600101610acb565b60008083601f840112610af8578182fd5b50813567ffffffffffffffff811115610b0f578182fd5b602083019150836020828501011115610b2757600080fd5b9250929050565b600082601f830112610b3e578081fd5b8135610b4c6109c9826112db565b9150808252836020828501011115610b6357600080fd5b8060208401602084013760009082016020015292915050565b60008060008060608587031215610b91578384fd5b8435610b9c8161132f565b935060208501356001600160e01b031981168114610bb8578384fd5b9250604085013567ffffffffffffffff811115610bd3578283fd5b610bdf87828801610ae7565b95989497509550505050565b600080600080600060608688031215610c02578081fd5b8535610c0d8161132f565b9450602086013567ffffffffffffffff80821115610c29578283fd5b610c3589838a01610ae7565b90965094506040880135915080821115610c4d578283fd5b50610c5a88828901610ae7565b969995985093965092949392505050565b6000806040808486031215610c7e578283fd5b835167ffffffffffffffff80821115610c95578485fd5b610ca187838801610a22565b9450602091508186015181811115610cb7578485fd5b86019050601f81018713610cc9578384fd5b8051610cd76109c9826112bb565b81815283810190838501875b84811015610d4357815186018c603f820112610cfd57898afd5b87810151610d0d6109c9826112db565b8181528e8b838501011115610d20578b8cfd5b610d2f828b83018d86016112ff565b865250509286019290860190600101610ce3565b50979a909950975050505050505050565b600080600060608486031215610d68578283fd5b835167ffffffffffffffff80821115610d7f578485fd5b610d8b87838801610a22565b9450602091508186015181811115610da1578485fd5b8601601f81018813610db1578485fd5b8051610dbf6109c9826112bb565b81815284810190838601868402850187018c1015610ddb578889fd5b8894505b83851015610dfd578051835260019490940193918601918601610ddf565b5060408a0151909750945050505080821115610e17578283fd5b50610e2486828701610a22565b9150509250925092565b600080600080600060a08688031215610e45578081fd5b853567ffffffffffffffff80821115610e5c578283fd5b610e6889838a016109ab565b96506020880135915080821115610e7d578283fd5b610e8989838a01610a89565b95506040880135915080821115610e9e578283fd5b610eaa89838a016109ab565b94506060880135915080821115610ebf578283fd5b610ecb89838a01610a89565b93506080880135915080821115610ee0578283fd5b50610eed88828901610b2e565b9150509295509295909350565b600060208284031215610f0b578081fd5b815180151581146108a4578182fd5b600060208284031215610f2b578081fd5b5051919050565b6000815180845260208085019450808401835b83811015610f6a5781516001600160a01b031687529582019590820190600101610f45565b509495945050505050565b6000815180845260208085019450808401835b83811015610f6a57815187529582019590820190600101610f88565b60008251610fb68184602087016112ff565b9190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b6001600160e01b031991909116815260200190565b60006003871061100e57fe5b86825260a0602083015261102560a0830187610f32565b82810360408401526110378187610f75565b9050828103606084015261104b8186610f32565b9050828103608084015261105f8185610f75565b98975050505050505050565b600060208252825180602084015261108a8160408501602087016112ff565b601f01601f19169190910160400192915050565b60208082526025908201527f556e657175616c2065787465726e616c2063616c6c7320617272617973206c656040820152646e6774687360d81b606082015260800190565b60208082526026908201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6040820152651c8818d85b1b60d21b606082015260800190565b60208082526032908201527f4f6e6c792074686520496e746567726174696f6e4d616e616765722063616e2060408201527131b0b636103a3434b990333ab731ba34b7b760711b606082015260800190565b60208082526031908201527f4f6e6c792063616c6c732066726f6d207468652077686974656c6973746564206040820152701d985d5b1d08185c9948185b1b1bddd959607a1b606082015260800190565b6020808252601d908201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604082015260600190565b6020808252602a908201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6040820152691bdd081cdd58d8d9595960b21b606082015260800190565b60208082526027908201527f7061727365417373657473466f72416374696f6e3a205f73656c6563746f72206040820152661a5b9d985b1a5960ca1b606082015260800190565b60405181810167ffffffffffffffff811182821017156112b357600080fd5b604052919050565b600067ffffffffffffffff8211156112d1578081fd5b5060209081020190565b600067ffffffffffffffff8211156112f1578081fd5b50601f01601f191660200190565b60005b8381101561131a578181015183820152602001611302565b83811115611329576000848401525b50505050565b6001600160a01b038116811461134457600080fd5b5056fea2646970667358221220c7239bcf01edc41d7e2d52507d4b4c704156e75144d12f05d37e12aedb1fcf8664736f6c634300060c0033", - "sourceMap": "434:4552:82:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1490:119:20;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;605:116:82;;;:::i;1373:111:20:-;;;:::i;832:85::-;;;:::i;1034:87::-;;;:::i;1240:110::-;;;:::i;706:104::-;;;:::i;493:39:82:-;;;:::i;:::-;;;;;;;:::i;1127:91:20:-;;;:::i;1416:943:82:-;;;;;;:::i;:::-;;:::i;:::-;;577:123:20;;;:::i;3003:965:82:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;:::i;2637:128:19:-;;;:::i;923:89:20:-;;;:::i;1490:119::-;1558:50;1490:119;:::o;605:116:82:-;669:46;605:116;:::o;1373:111:20:-;1437:46;1373:111;:::o;832:85::-;878:38;832:85;:::o;1034:87::-;1081:39;1034:87;:::o;1240:110::-;1303:46;1240:110;:::o;706:104::-;766:43;706:104;:::o;493:39:82:-;;;-1:-1:-1;;;;;493:39:82;;:::o;1127:91:20:-;1176:41;1127:91;:::o;1416:943:82:-;1747:10:19;-1:-1:-1;;;;;1761:19:19;1747:33;;1726:130;;;;-1:-1:-1;;;1726:130:19;;;;;;;:::i;:::-;;;;;;;;;1629:11:82::1;1642;;987:278:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;;1429:247:19::2;::::0;;::::2;987:278:::1;1429:247:::0;::::2;::::0;;::::2;::::0;::::2;::::0;;;;;;;;;;1700:11:82;;-1:-1:-1;1429:247:19;-1:-1:-1;1713:11:82;;;;;;1429:247:19;::::2;1713:11:82::0;;;;1429:247:19;::::2;;::::0;::::2;::::0;;;-1:-1:-1;1763:16:82;-1:-1:-1;;;;;1748:31:82;;::::3;1763:16:::0;::::3;1748:31;::::0;-1:-1:-1;1740:93:82::3;::::0;-1:-1:-1;;1740:93:82::3;;;-1:-1:-1::0;;;1740:93:82::3;;;;;;;:::i;:::-;1853:30;1887:29;1904:11;;1887:16;:29::i;:::-;1844:72;;;;;;1928:26;1956:24:::0;1984:66:::3;2023:17;1984:25;:66::i;:::-;1927:123;;;;2066:9;2061:292;2081:9;:16;2077:1;:20;2061:292;;;2118:23;2144:9;2154:1;2144:12;;;;;;;;;;;;;;2118:38;;2170:21;2194:9;2204:1;2194:12;;;;;;;;;;;;;;2170:36;;2221:12;2235:23;2262:15;-1:-1:-1::0;;;;;2262:20:82::3;2283:8;2262:30;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2220:72;;;;2314:7;2330:10;2306:36;;;;;-1:-1:-1::0;;;2306:36:82::3;;;;;;;;:::i;:::-;-1:-1:-1::0;;2099:3:82::3;::::0;;::::3;::::0;-1:-1:-1;2061:292:82::3;::::0;-1:-1:-1;;2061:292:82::3;;;1531:1:19;;;1544:28:::2;1580:29;1598:10;1580:17;:29::i;:::-;1543:66;;;;1620:49;1644:11;1657;1620:23;:49::i;:::-;;1114:1;;;1131:31:::1;1166:29;1184:10;1166:17;:29::i;:::-;1126:69;;;;1206:52;1230:11;1243:14;1206:23;:52::i;:::-;;1866:1;;;1416:943:82::0;;;;;:::o;577:123:20:-;647:52;577:123;:::o;3003:965:82:-;3195:64;3273:29;;;;-1:-1:-1;;;;;;3485:35:82;;-1:-1:-1;;;3485:35:82;3477:87;;;;-1:-1:-1;;;3477:87:82;;;;;;;:::i;:::-;3715:29;3732:11;;3715:16;:29::i;:::-;-1:-1:-1;3776:50:82;;3575:169;;-1:-1:-1;3575:169:82;-1:-1:-1;3575:169:82;;-1:-1:-1;3575:169:82;-1:-1:-1;3003:965:82;-1:-1:-1;;;;;3003:965:82:o;2637:128:19:-;2739:19;2637:128;:::o;923:89:20:-;971:40;923:89;:::o;4049:453:82:-;4162:32;;;;;4419:76;;;;4430:11;4419:76;:::i;:::-;4412:83;;;;-1:-1:-1;4412:83:82;;-1:-1:-1;4412:83:82;-1:-1:-1;4412:83:82;;-1:-1:-1;4049:453:82;-1:-1:-1;;;4049:453:82:o;4575:409::-;4689:27;4718:25;4797:18;4786:52;;;;;;;;;;;;:::i;:::-;4877:17;;4856;;4759:79;;-1:-1:-1;4759:79:82;;-1:-1:-1;4856:38:82;4848:88;;;;-1:-1:-1;;;4848:88:82;;;;;;;:::i;:::-;4575:409;;;:::o;2093:332:19:-;2205:29;2248:35;2297:32;2372:10;2361:57;;;;;;;;;;;;:::i;:::-;2354:64;;;;;;2093:332;;;;;:::o;3539:585:29:-;3649:36;3737:7;:14;3723:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3723:29:29;;3701:51;;3767:9;3762:319;3782:7;:14;3778:1;:18;3762:319;;;3817:19;3845:7;3853:1;3845:10;;;;;;;;;;;;;;3817:39;;3895:13;-1:-1:-1;;;;;3895:23:29;;3927:4;3895:38;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3870:19;3890:1;3870:22;;;;;;;;;;;;;:63;;;;;3976:1;3951:19;3971:1;3951:22;;;;;;;;;;;;;;:26;3947:124;;;3997:59;4024:7;4033:19;4053:1;4033:22;;;;;;;;;;;;;;3997:13;-1:-1:-1;;;;;3997:26:29;;;:59;;;;;:::i;:::-;-1:-1:-1;3798:3:29;;3762:319;;;;3539:585;;;;:::o;704:175:36:-;786:86;806:5;836:23;;;861:2;865:5;813:58;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;813:58:36;;;;;;;;;;;;;;-1:-1:-1;;;;;813:58:36;-1:-1:-1;;;;;;813:58:36;;;;;;;;;;786:19;:86::i;:::-;704:175;;;:::o;2967:751::-;3386:23;3412:69;3440:4;3412:69;;;;;;;;;;;;;;;;;3420:5;-1:-1:-1;;;;;3412:27:36;;;:69;;;;;:::i;:::-;3495:17;;3386:95;;-1:-1:-1;3495:21:36;3491:221;;3635:10;3624:30;;;;;;;;;;;;:::i;:::-;3616:85;;;;-1:-1:-1;;;3616:85:36;;;;;;;:::i;3581:193:37:-;3684:12;3715:52;3737:6;3745:4;3751:1;3754:12;3715:21;:52::i;:::-;3708:59;;3581:193;;;;;;:::o;4608:523::-;4735:12;4792:5;4767:21;:30;;4759:81;;;;-1:-1:-1;;;4759:81:37;;;;;;;:::i;:::-;4858:18;4869:6;4858:10;:18::i;:::-;4850:60;;;;-1:-1:-1;;;4850:60:37;;;;;;;:::i;:::-;4981:12;4995:23;5022:6;-1:-1:-1;;;;;5022:11:37;5042:5;5050:4;5022:33;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4980:75;;;;5072:52;5090:7;5099:10;5111:12;5072:17;:52::i;:::-;5065:59;4608:523;-1:-1:-1;;;;;;;4608:523:37:o;726:413::-;1086:20;1124:8;;;726:413::o;7091:725::-;7206:12;7234:7;7230:580;;;-1:-1:-1;7264:10:37;7257:17;;7230:580;7375:17;;:21;7371:429;;7633:10;7627:17;7693:15;7680:10;7676:2;7672:19;7665:44;7582:145;7772:12;7765:20;;-1:-1:-1;;;7765:20:37;;;;;;;;:::i;301:707:-1:-;;418:3;411:4;403:6;399:17;395:27;385:2;;-1:-1;;426:12;385:2;473:6;460:20;495:80;510:64;567:6;510:64;:::i;:::-;495:80;:::i;:::-;603:21;;;486:89;-1:-1;647:4;660:14;;;;635:17;;;749;;;740:27;;;;737:36;-1:-1;734:2;;;786:1;;776:12;734:2;811:1;796:206;821:6;818:1;815:13;796:206;;;85:6;72:20;97:33;124:5;97:33;:::i;:::-;889:50;;953:14;;;;981;;;;843:1;836:9;796:206;;;800:14;;;;;378:630;;;;:::o;1034:722::-;;1162:3;1155:4;1147:6;1143:17;1139:27;1129:2;;-1:-1;;1170:12;1129:2;1210:6;1204:13;1232:80;1247:64;1304:6;1247:64;:::i;1232:80::-;1340:21;;;1223:89;-1:-1;1384:4;1397:14;;;;1372:17;;;1486;;;1477:27;;;;1474:36;-1:-1;1471:2;;;1523:1;;1513:12;1471:2;1548:1;1533:217;1558:6;1555:1;1552:13;1533:217;;;226:6;220:13;238:33;265:5;238:33;:::i;:::-;1626:61;;1701:14;;;;1729;;;;1580:1;1573:9;1533:217;;2519:707;;2636:3;2629:4;2621:6;2617:17;2613:27;2603:2;;-1:-1;;2644:12;2603:2;2691:6;2678:20;2713:80;2728:64;2785:6;2728:64;:::i;2713:80::-;2821:21;;;2704:89;-1:-1;2865:4;2878:14;;;;2853:17;;;2967;;;2958:27;;;;2955:36;-1:-1;2952:2;;;3004:1;;2994:12;2952:2;3029:1;3014:206;3039:6;3036:1;3033:13;3014:206;;;5577:20;;3107:50;;3171:14;;;;3199;;;;3061:1;3054:9;3014:206;;4266:336;;;4380:3;4373:4;4365:6;4361:17;4357:27;4347:2;;-1:-1;;4388:12;4347:2;-1:-1;4418:20;;4458:18;4447:30;;4444:2;;;-1:-1;;4480:12;4444:2;4524:4;4516:6;4512:17;4500:29;;4575:3;4524:4;4555:17;4516:6;4541:32;;4538:41;4535:2;;;4592:1;;4582:12;4535:2;4340:262;;;;;:::o;4611:440::-;;4712:3;4705:4;4697:6;4693:17;4689:27;4679:2;;-1:-1;;4720:12;4679:2;4767:6;4754:20;4789:64;4804:48;4845:6;4804:48;:::i;4789:64::-;4780:73;;4873:6;4866:5;4859:21;4977:3;4909:4;4968:6;4901;4959:16;;4956:25;4953:2;;;4994:1;;4984:12;4953:2;27130:6;4909:4;4901:6;4897:17;4909:4;4935:5;4931:16;27107:30;27186:1;27168:16;;;4909:4;27168:16;27161:27;4935:5;4672:379;-1:-1;;4672:379::o;5788:613::-;;;;;5944:2;5932:9;5923:7;5919:23;5915:32;5912:2;;;-1:-1;;5950:12;5912:2;85:6;72:20;97:33;124:5;97:33;:::i;:::-;6002:63;-1:-1;6102:2;6140:22;;4183:20;-1:-1;;;;;;26417:78;;28009:34;;27999:2;;-1:-1;;28047:12;27999:2;6110:62;-1:-1;6237:2;6222:18;;6209:32;6261:18;6250:30;;6247:2;;;-1:-1;;6283:12;6247:2;6321:64;6377:7;6368:6;6357:9;6353:22;6321:64;:::i;:::-;5906:495;;;;-1:-1;6303:82;-1:-1;;;;5906:495::o;6408:739::-;;;;;;6584:2;6572:9;6563:7;6559:23;6555:32;6552:2;;;-1:-1;;6590:12;6552:2;85:6;72:20;97:33;124:5;97:33;:::i;:::-;6642:63;-1:-1;6770:2;6755:18;;6742:32;6794:18;6783:30;;;6780:2;;;-1:-1;;6816:12;6780:2;6854:64;6910:7;6901:6;6890:9;6886:22;6854:64;:::i;:::-;6836:82;;-1:-1;6836:82;-1:-1;6983:2;6968:18;;6955:32;;-1:-1;6996:30;;;6993:2;;;-1:-1;;7029:12;6993:2;;7067:64;7123:7;7114:6;7103:9;7099:22;7067:64;:::i;:::-;6546:601;;;;-1:-1;6546:601;;-1:-1;7049:82;;;6546:601;-1:-1;;;6546:601::o;7154:675::-;;;7345:2;;7333:9;7324:7;7320:23;7316:32;7313:2;;;-1:-1;;7351:12;7313:2;7402:17;7396:24;7440:18;;7432:6;7429:30;7426:2;;;-1:-1;;7462:12;7426:2;7492:89;7573:7;7564:6;7553:9;7549:22;7492:89;:::i;:::-;7482:99;;7639:2;;;;7628:9;7624:18;7618:25;7440:18;7655:6;7652:30;7649:2;;;-1:-1;;7685:12;7649:2;7781:22;;;-1:-1;1910:4;1898:17;;1894:27;-1:-1;1884:2;;-1:-1;;1925:12;1884:2;1965:6;1959:13;1987:89;2002:73;2068:6;2002:73;:::i;1987:89::-;2104:21;;;2161:14;;;;2136:17;;;-1:-1;2241:246;2266:6;2263:1;2260:13;2241:246;;;2342:3;2336:10;2140:6;2324:23;5172:3;5153:17;2324:23;5153:17;5149:27;5139:2;;-1:-1;;5180:12;5139:2;7639;2324:23;;5214:13;5242:64;5257:48;5298:6;5257:48;:::i;5242:64::-;5326:6;5319:5;5312:21;5430:3;7345:2;5421:6;2324:23;5412:16;;5409:25;5406:2;;;-1:-1;;5437:12;5406:2;5457:39;5489:6;7639:2;5388:5;5384:16;7345:2;2324:23;5350:17;5457:39;:::i;:::-;2354:70;;-1:-1;;2438:14;;;;2466;;;;2288:1;2281:9;2241:246;;;-1:-1;7307:522;;7705:108;;-1:-1;7307:522;-1:-1;;;;;;;;7307:522::o;7836:922::-;;;;8060:2;8048:9;8039:7;8035:23;8031:32;8028:2;;;-1:-1;;8066:12;8028:2;8117:17;8111:24;8155:18;;8147:6;8144:30;8141:2;;;-1:-1;;8177:12;8141:2;8207:89;8288:7;8279:6;8268:9;8264:22;8207:89;:::i;:::-;8197:99;;8354:2;;;;8343:9;8339:18;8333:25;8155:18;8370:6;8367:30;8364:2;;;-1:-1;;8400:12;8364:2;8487:22;;3373:4;3361:17;;3357:27;-1:-1;3347:2;;-1:-1;;3388:12;3347:2;3428:6;3422:13;3450:80;3465:64;3522:6;3465:64;:::i;3450:80::-;3558:21;;;3615:14;;;;3590:17;;;3704;;;3695:27;;;;3692:36;-1:-1;3689:2;;;-1:-1;;3731:12;3689:2;-1:-1;3757:10;;3751:217;3776:6;3773:1;3770:13;3751:217;;;5725:13;;3844:61;;3798:1;3791:9;;;;;3919:14;;;;3947;;3751:217;;;-1:-1;8577:2;8562:18;;8556:25;8420:99;;-1:-1;8556:25;-1:-1;;;;8590:30;;;8587:2;;;-1:-1;;8623:12;8587:2;;8653:89;8734:7;8725:6;8714:9;8710:22;8653:89;:::i;:::-;8643:99;;;8022:736;;;;;:::o;8765:1391::-;;;;;;9046:3;9034:9;9025:7;9021:23;9017:33;9014:2;;;-1:-1;;9053:12;9014:2;9111:17;9098:31;9149:18;;9141:6;9138:30;9135:2;;;-1:-1;;9171:12;9135:2;9201:78;9271:7;9262:6;9251:9;9247:22;9201:78;:::i;:::-;9191:88;;9344:2;9333:9;9329:18;9316:32;9302:46;;9149:18;9360:6;9357:30;9354:2;;;-1:-1;;9390:12;9354:2;9420:78;9490:7;9481:6;9470:9;9466:22;9420:78;:::i;:::-;9410:88;;9563:2;9552:9;9548:18;9535:32;9521:46;;9149:18;9579:6;9576:30;9573:2;;;-1:-1;;9609:12;9573:2;9639:78;9709:7;9700:6;9689:9;9685:22;9639:78;:::i;:::-;9629:88;;9782:2;9771:9;9767:18;9754:32;9740:46;;9149:18;9798:6;9795:30;9792:2;;;-1:-1;;9828:12;9792:2;9858:78;9928:7;9919:6;9908:9;9904:22;9858:78;:::i;:::-;9848:88;;10001:3;9990:9;9986:19;9973:33;9959:47;;9149:18;10018:6;10015:30;10012:2;;;-1:-1;;10048:12;10012:2;;10078:62;10132:7;10123:6;10112:9;10108:22;10078:62;:::i;:::-;10068:72;;;9008:1148;;;;;;;;:::o;10163:257::-;;10275:2;10263:9;10254:7;10250:23;10246:32;10243:2;;;-1:-1;;10281:12;10243:2;4063:6;4057:13;27914:5;26330:13;26323:21;27892:5;27889:32;27879:2;;-1:-1;;27925:12;10427:263;;10542:2;10530:9;10521:7;10517:23;10513:32;10510:2;;;-1:-1;;10548:12;10510:2;-1:-1;5725:13;;10504:186;-1:-1;10504:186::o;11466:690::-;;11659:5;24689:12;25492:6;25487:3;25480:19;25529:4;;25524:3;25520:14;11671:93;;25529:4;11835:5;24385:14;-1:-1;11874:260;11899:6;11896:1;11893:13;11874:260;;;11960:13;;-1:-1;;;;;26736:54;11148:45;;10851:14;;;;25220;;;;4458:18;11914:9;11874:260;;;-1:-1;12140:10;;11590:566;-1:-1;;;;;11590:566::o;12195:690::-;;12388:5;24689:12;25492:6;25487:3;25480:19;25529:4;;25524:3;25520:14;12400:93;;25529:4;12564:5;24385:14;-1:-1;12603:260;12628:6;12625:1;12622:13;12603:260;;;12689:13;;16640:37;;11033:14;;;;25220;;;;12650:1;12643:9;12603:260;;16809:271;;13170:5;24689:12;13281:52;13326:6;13321:3;13314:4;13307:5;13303:16;13281:52;:::i;:::-;13345:16;;;;;16943:137;-1:-1;;16943:137::o;17087:222::-;-1:-1;;;;;26736:54;;;;11148:45;;17214:2;17199:18;;17185:124::o;17577:333::-;-1:-1;;;;;26736:54;;;;11148:45;;17896:2;17881:18;;16640:37;17732:2;17717:18;;17703:207::o;17917:218::-;-1:-1;;;;;;26417:78;;;;12962:36;;18042:2;18027:18;;18013:122::o;18142:1310::-;;27680:1;27673:5;27670:12;27660:2;;27686:9;27660:2;26985:51;13476:3;13469:75;18606:3;18750:2;18739:9;18735:18;18728:48;18790:108;18606:3;18595:9;18591:19;18884:6;18790:108;:::i;:::-;18946:9;18940:4;18936:20;18931:2;18920:9;18916:18;18909:48;18971:108;19074:4;19065:6;18971:108;:::i;:::-;18963:116;;19127:9;19121:4;19117:20;19112:2;19101:9;19097:18;19090:48;19152:108;19255:4;19246:6;19152:108;:::i;:::-;19144:116;;19309:9;19303:4;19299:20;19293:3;19282:9;19278:19;19271:49;19334:108;19437:4;19428:6;19334:108;:::i;:::-;19326:116;18577:875;-1:-1;;;;;;;;18577:875::o;19459:310::-;;19606:2;19627:17;19620:47;13701:5;24689:12;25492:6;19606:2;19595:9;19591:18;25480:19;13795:52;13840:6;25520:14;19595:9;25520:14;19606:2;13821:5;13817:16;13795:52;:::i;:::-;27563:7;27547:14;-1:-1;;27543:28;13859:39;;;;25520:14;13859:39;;19577:192;-1:-1;;19577:192::o;19776:416::-;19976:2;19990:47;;;14135:2;19961:18;;;25480:19;14171:34;25520:14;;;14151:55;-1:-1;;;14226:12;;;14219:29;14267:12;;;19947:245::o;20199:416::-;20399:2;20413:47;;;14518:2;20384:18;;;25480:19;14554:34;25520:14;;;14534:55;-1:-1;;;14609:12;;;14602:30;14651:12;;;20370:245::o;20622:416::-;20822:2;20836:47;;;14902:2;20807:18;;;25480:19;14938:34;25520:14;;;14918:55;-1:-1;;;14993:12;;;14986:42;15047:12;;;20793:245::o;21045:416::-;21245:2;21259:47;;;15298:2;21230:18;;;25480:19;15334:34;25520:14;;;15314:55;-1:-1;;;15389:12;;;15382:41;15442:12;;;21216:245::o;21468:416::-;21668:2;21682:47;;;15693:2;21653:18;;;25480:19;15729:31;25520:14;;;15709:52;15780:12;;;21639:245::o;21891:416::-;22091:2;22105:47;;;16031:2;22076:18;;;25480:19;16067:34;25520:14;;;16047:55;-1:-1;;;16122:12;;;16115:34;16168:12;;;22062:245::o;22314:416::-;22514:2;22528:47;;;16419:2;22499:18;;;25480:19;16455:34;25520:14;;;16435:55;-1:-1;;;16510:12;;;16503:31;16553:12;;;22485:245::o;22737:256::-;22799:2;22793:9;22825:17;;;22900:18;22885:34;;22921:22;;;22882:62;22879:2;;;22957:1;;22947:12;22879:2;22799;22966:22;22777:216;;-1:-1;22777:216::o;23000:304::-;;23159:18;23151:6;23148:30;23145:2;;;-1:-1;;23181:12;23145:2;-1:-1;23226:4;23214:17;;;23279:15;;23082:222::o;23942:321::-;;24085:18;24077:6;24074:30;24071:2;;;-1:-1;;24107:12;24071:2;-1:-1;27563:7;24161:17;-1:-1;;24157:33;24248:4;24238:15;;24008:255::o;27203:268::-;27268:1;27275:101;27289:6;27286:1;27283:13;27275:101;;;27356:11;;;27350:18;27337:11;;;27330:39;27311:2;27304:10;27275:101;;;27391:6;27388:1;27385:13;27382:2;;;27268:1;27447:6;27442:3;27438:16;27431:27;27382:2;;27252:219;;;:::o;27709:117::-;-1:-1;;;;;26736:54;;27768:35;;27758:2;;27817:1;;27807:12;27758:2;27752:74;:::o", - "linkReferences": {}, - "immutableReferences": { - "1783": [ - { - "start": 741, - "length": 32 - }, - { - "start": 1400, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "CLAIM_REWARDS_SELECTOR()": "40da225d", - "EXECUTE_CALLS_SELECTOR()": "12d9c1f6", - "LEND_AND_STAKE_SELECTOR()": "131461c0", - "LEND_SELECTOR()": "257cb1a3", - "REDEEM_SELECTOR()": "f7d882b5", - "STAKE_SELECTOR()": "3ffc1591", - "TAKE_MULTIPLE_ORDERS_SELECTOR()": "c32990a2", - "TAKE_ORDER_SELECTOR()": "863e5ad0", - "UNSTAKE_AND_REDEEM_SELECTOR()": "080456c1", - "UNSTAKE_SELECTOR()": "b23228cf", - "executeCalls(address,bytes,bytes)": "b7fe1a11", - "getIntegrationManager()": "e7c45690", - "parseAssetsForAction(address,bytes4,bytes)": "c54efee5", - "whitelistedVault()": "9adf0ee3" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_integrationManager\",\"type\":\"address\"},{\"internalType\":\"address payable\",\"name\":\"_whitelistedVault\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"CLAIM_REWARDS_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"EXECUTE_CALLS_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LEND_AND_STAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LEND_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"REDEEM_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"STAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TAKE_MULTIPLE_ORDERS_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TAKE_ORDER_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UNSTAKE_AND_REDEEM_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UNSTAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"executeCalls\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getIntegrationManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"integrationManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"_selector\",\"type\":\"bytes4\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"}],\"name\":\"parseAssetsForAction\",\"outputs\":[{\"internalType\":\"enum IIntegrationManager.SpendAssetsHandleType\",\"name\":\"spendAssetsHandleType_\",\"type\":\"uint8\"},{\"internalType\":\"address[]\",\"name\":\"spendAssets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"spendAssetAmounts_\",\"type\":\"uint256[]\"},{\"internalType\":\"address[]\",\"name\":\"incomingAssets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"minIncomingAssetAmounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"whitelistedVault\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"executeCalls(address,bytes,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}},\"getIntegrationManager()\":{\"returns\":{\"integrationManager_\":\"The `INTEGRATION_MANAGER` variable value\"}},\"parseAssetsForAction(address,bytes4,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_selector\":\"The function selector for the callOnIntegration\"},\"returns\":{\"incomingAssets_\":\"The assets to receive in the call\",\"minIncomingAssetAmounts_\":\"The min asset amounts to receive in the call\",\"spendAssetAmounts_\":\"The max asset amounts to spend in the call\",\"spendAssetsHandleType_\":\"A type that dictates how to handle granting the adapter access to spend assets (hardcoded to `Transfer`)\",\"spendAssets_\":\"The assets to spend in the call\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"executeCalls(address,bytes,bytes)\":{\"notice\":\"Executes a sequence of calls\"},\"getIntegrationManager()\":{\"notice\":\"Gets the `INTEGRATION_MANAGER` variable\"},\"parseAssetsForAction(address,bytes4,bytes)\":{\"notice\":\"Parses the expected assets in a particular action\"}},\"notice\":\"A vault contract specific adapter/ - Allows calls only from the whitelisted vault - The default GenericAdapter is unsafe, as anyone can steal tokens approved on it\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/VaultSpecificGenericAdapter.sol\":\"VaultSpecificGenericAdapter\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":# @openzeppelin/=lib/openzeppelin-contracts/\",\":@enzyme/=../enzyme/contracts/\",\":@openzeppelin/=../enzyme/node_modules/@openzeppelin/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\"]},\"sources\":{\"../enzyme/contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"../enzyme/contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"../enzyme/contracts/persistent/protocol-fee-reserve/interfaces/IProtocolFeeReserve1.sol\":{\"keccak256\":\"0x2728878c423db523bc95189137e8c58d2d7db9f56bbd5c6b1f988c08b551fbab\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3b0df1d2eb74151265d03ab91a7c341f7beca475dd2f4d669052dbc4ee2c06ac\",\"dweb:/ipfs/QmVx1cgrxQNYfdK1Kn15pcgqf79Uw8bF3U6i7F2HG2rj6G\"]},\"../enzyme/contracts/persistent/vault/VaultLibBase1.sol\":{\"keccak256\":\"0xa4dac1e4cdb311a2ab187135355357d8790c505ef36dd912c057fe53743d30b5\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b66efe821016ab927c949263023260515e90f5d480dc8d94eefbfeec7bf7490b\",\"dweb:/ipfs/QmNY3xKnhL9EptAbxGvXHGAXfV9pj3dDPwsZnKrPs54ZHw\"]},\"../enzyme/contracts/persistent/vault/VaultLibBase2.sol\":{\"keccak256\":\"0xf7d31f2a9a47770ed3f444be2c4fe9262ddb55fef7f25e546b1f03c9afec4c09\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9353ddce7c9b8b3c13fed23fe8edec99ca610d791b0c5b204b3d01f1f08d07d2\",\"dweb:/ipfs/QmeVsEh3joCjv49BRXeHASevnZZ5xdZXpkctHT8BPf37N2\"]},\"../enzyme/contracts/persistent/vault/VaultLibBaseCore.sol\":{\"keccak256\":\"0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd\",\"dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz\"]},\"../enzyme/contracts/persistent/vault/interfaces/IExternalPositionVault.sol\":{\"keccak256\":\"0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d\",\"dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8\"]},\"../enzyme/contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol\":{\"keccak256\":\"0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb\",\"dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU\"]},\"../enzyme/contracts/persistent/vault/interfaces/IMigratableVault.sol\":{\"keccak256\":\"0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6\",\"dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs\"]},\"../enzyme/contracts/persistent/vault/interfaces/IVaultCore.sol\":{\"keccak256\":\"0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd\",\"dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr\"]},\"../enzyme/contracts/persistent/vault/utils/ProxiableVaultLib.sol\":{\"keccak256\":\"0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44\",\"dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4\"]},\"../enzyme/contracts/persistent/vault/utils/SharesTokenBase.sol\":{\"keccak256\":\"0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8\",\"dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4\"]},\"../enzyme/contracts/persistent/vault/utils/VaultLibSafeMath.sol\":{\"keccak256\":\"0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02\",\"dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG\"]},\"../enzyme/contracts/release/core/fund/comptroller/IComptroller.sol\":{\"keccak256\":\"0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97\",\"dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L\"]},\"../enzyme/contracts/release/core/fund/vault/IVault.sol\":{\"keccak256\":\"0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599\",\"dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG\"]},\"../enzyme/contracts/release/core/fund/vault/VaultLib.sol\":{\"keccak256\":\"0x07e49445ab55c01e1b499a48baadc2a15d1eba621f1c6d3ccfdb84c87b976da8\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://56d882459248f73e137db2e097fc56b946147fb28ec21661b77431f88e856cb4\",\"dweb:/ipfs/QmRP6Ry7DCS5uoKxnnkTomHSzbaCze6cHqbR9aLdjoF6vK\"]},\"../enzyme/contracts/release/extensions/external-position-manager/IExternalPositionManager.sol\":{\"keccak256\":\"0x3af3f634e1f99fb97091b7825c0d2e2baaafc124d4e87d56cb0c17ff8554f6c6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://515470605afe5ef147f30fa75ce7818f0e00e3d321eb81a4d9bffcdefc294495\",\"dweb:/ipfs/QmPKsp99pfHoz9Tfo3ZxnkmqDqJtN9PxqacF2RmeVfxUJF\"]},\"../enzyme/contracts/release/extensions/integration-manager/IIntegrationManager.sol\":{\"keccak256\":\"0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23\",\"dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk\"]},\"../enzyme/contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol\":{\"keccak256\":\"0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336\",\"dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS\"]},\"../enzyme/contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol\":{\"keccak256\":\"0x067e49bf0d3c1655ab41a413c65ccf61d4e593308132e1ffc484a0fadfbbaf26\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://387f425017e18e89cc1893521101fa99df595314847d0b3d9a1162369f714fcf\",\"dweb:/ipfs/Qmco3jCvuWAyfCpBYpGzHrQjiFJG63w1RJKcakoTEbxRQm\"]},\"../enzyme/contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol\":{\"keccak256\":\"0xfd34c7ca8231c6935e25dede32ca2b3121738e624d0fc896f7b895a731edcf88\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d492c061963d36d07718446db191d4c5a340c0d847f6cd209f027bd99f7cb176\",\"dweb:/ipfs/QmfCvRZt56ftDdrEh6LepHXFJ4fVtcfpQGvEyY8k4zxG1A\"]},\"../enzyme/contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol\":{\"keccak256\":\"0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f\",\"dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp\"]},\"../enzyme/contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol\":{\"keccak256\":\"0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0\",\"dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2\"]},\"../enzyme/contracts/release/infrastructure/protocol-fees/IProtocolFeeTracker.sol\":{\"keccak256\":\"0x232b347f83457439064add7369bfe1930c7cb56f15930bb87d640e909c15e447\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://24f9af5eebdd373b1d7a598c096eb6def31b2640d54416d7d5a7226e1cef17e6\",\"dweb:/ipfs/QmStq9ByGuSYdKwTmZf52L1X6sZVJUfXTnoVbnjLLiUcHG\"]},\"../enzyme/contracts/release/interfaces/IGsnForwarder.sol\":{\"keccak256\":\"0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29\",\"dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G\"]},\"../enzyme/contracts/release/interfaces/IGsnPaymaster.sol\":{\"keccak256\":\"0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4\",\"dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF\"]},\"../enzyme/contracts/release/interfaces/IGsnTypes.sol\":{\"keccak256\":\"0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7\",\"dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C\"]},\"../enzyme/contracts/release/interfaces/IWETH.sol\":{\"keccak256\":\"0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2\",\"dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ\"]},\"../enzyme/contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"../enzyme/contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"../enzyme/contracts/release/utils/beacon-proxy/IBeacon.sol\":{\"keccak256\":\"0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39\",\"dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V\"]},\"../enzyme/contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol\":{\"keccak256\":\"0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be\",\"dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG\"]},\"../enzyme/node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"../enzyme/node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"../enzyme/node_modules/@openzeppelin/contracts/token/ERC20/ERC20Burnable.sol\":{\"keccak256\":\"0x9c0eb3b0e11d2480d49991dc384f1e5f9c9b9967cc81944d50916a9b9c6c4984\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99e4033d778624992e86f0b6d801a4f6d7b5c0cd5c79c1296be90a051ad5f5af\",\"dweb:/ipfs/QmShYmkUqh6pDEeoWadZ24icmCr4C2Xys1uE5boivPmbwf\"]},\"../enzyme/node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"../enzyme/node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"../enzyme/node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"../enzyme/node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]},\"src/VaultSpecificGenericAdapter.sol\":{\"keccak256\":\"0x40fbafeb268ee7fc5d0816463afc106feeca2e005c5bfc6eda3a9db72ef54c5d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://90b1acd065c4e621d7788784c72a68fcf876ac437519e145cf132867aa93e145\",\"dweb:/ipfs/QmPR5L7iQqjnBTfA3L24zCZnXio8B9BisKgyZ6zKnyztdq\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_integrationManager", - "type": "address" - }, - { - "internalType": "address payable", - "name": "_whitelistedVault", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "CLAIM_REWARDS_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "EXECUTE_CALLS_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "LEND_AND_STAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "LEND_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "REDEEM_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "STAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "TAKE_MULTIPLE_ORDERS_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "TAKE_ORDER_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "UNSTAKE_AND_REDEEM_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "UNSTAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "executeCalls" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getIntegrationManager", - "outputs": [ - { - "internalType": "address", - "name": "integrationManager_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes4", - "name": "_selector", - "type": "bytes4" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - } - ], - "stateMutability": "view", - "type": "function", - "name": "parseAssetsForAction", - "outputs": [ - { - "internalType": "enum IIntegrationManager.SpendAssetsHandleType", - "name": "spendAssetsHandleType_", - "type": "uint8" - }, - { - "internalType": "address[]", - "name": "spendAssets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "spendAssetAmounts_", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "incomingAssets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "minIncomingAssetAmounts_", - "type": "uint256[]" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "whitelistedVault", - "outputs": [ - { - "internalType": "address payable", - "name": "", - "type": "address" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "executeCalls(address,bytes,bytes)": { - "params": { - "_actionData": "Data specific to this action", - "_vaultProxy": "The VaultProxy of the calling fund" - } - }, - "getIntegrationManager()": { - "returns": { - "integrationManager_": "The `INTEGRATION_MANAGER` variable value" - } - }, - "parseAssetsForAction(address,bytes4,bytes)": { - "params": { - "_actionData": "Data specific to this action", - "_selector": "The function selector for the callOnIntegration" - }, - "returns": { - "incomingAssets_": "The assets to receive in the call", - "minIncomingAssetAmounts_": "The min asset amounts to receive in the call", - "spendAssetAmounts_": "The max asset amounts to spend in the call", - "spendAssetsHandleType_": "A type that dictates how to handle granting the adapter access to spend assets (hardcoded to `Transfer`)", - "spendAssets_": "The assets to spend in the call" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "executeCalls(address,bytes,bytes)": { - "notice": "Executes a sequence of calls" - }, - "getIntegrationManager()": { - "notice": "Gets the `INTEGRATION_MANAGER` variable" - }, - "parseAssetsForAction(address,bytes4,bytes)": { - "notice": "Parses the expected assets in a particular action" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":# @openzeppelin/=lib/openzeppelin-contracts/", - ":@enzyme/=../enzyme/contracts/", - ":@openzeppelin/=../enzyme/node_modules/@openzeppelin/", - ":openzeppelin-contracts/=lib/openzeppelin-contracts/" - ], - "optimizer": { - "enabled": true, - "runs": 200 - }, - "metadata": { - "bytecodeHash": "ipfs" - }, - "compilationTarget": { - "src/VaultSpecificGenericAdapter.sol": "VaultSpecificGenericAdapter" - }, - "libraries": {} - }, - "sources": { - "../enzyme/contracts/persistent/dispatcher/IDispatcher.sol": { - "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", - "urls": [ - "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", - "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" - ], - "license": "GPL-3.0" - }, - "../enzyme/contracts/persistent/external-positions/IExternalPosition.sol": { - "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", - "urls": [ - "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", - "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" - ], - "license": "GPL-3.0" - }, - "../enzyme/contracts/persistent/protocol-fee-reserve/interfaces/IProtocolFeeReserve1.sol": { - "keccak256": "0x2728878c423db523bc95189137e8c58d2d7db9f56bbd5c6b1f988c08b551fbab", - "urls": [ - "bzz-raw://3b0df1d2eb74151265d03ab91a7c341f7beca475dd2f4d669052dbc4ee2c06ac", - "dweb:/ipfs/QmVx1cgrxQNYfdK1Kn15pcgqf79Uw8bF3U6i7F2HG2rj6G" - ], - "license": "GPL-3.0" - }, - "../enzyme/contracts/persistent/vault/VaultLibBase1.sol": { - "keccak256": "0xa4dac1e4cdb311a2ab187135355357d8790c505ef36dd912c057fe53743d30b5", - "urls": [ - "bzz-raw://b66efe821016ab927c949263023260515e90f5d480dc8d94eefbfeec7bf7490b", - "dweb:/ipfs/QmNY3xKnhL9EptAbxGvXHGAXfV9pj3dDPwsZnKrPs54ZHw" - ], - "license": "GPL-3.0" - }, - "../enzyme/contracts/persistent/vault/VaultLibBase2.sol": { - "keccak256": "0xf7d31f2a9a47770ed3f444be2c4fe9262ddb55fef7f25e546b1f03c9afec4c09", - "urls": [ - "bzz-raw://9353ddce7c9b8b3c13fed23fe8edec99ca610d791b0c5b204b3d01f1f08d07d2", - "dweb:/ipfs/QmeVsEh3joCjv49BRXeHASevnZZ5xdZXpkctHT8BPf37N2" - ], - "license": "GPL-3.0" - }, - "../enzyme/contracts/persistent/vault/VaultLibBaseCore.sol": { - "keccak256": "0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074", - "urls": [ - "bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd", - "dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz" - ], - "license": "GPL-3.0" - }, - "../enzyme/contracts/persistent/vault/interfaces/IExternalPositionVault.sol": { - "keccak256": "0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6", - "urls": [ - "bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d", - "dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8" - ], - "license": "GPL-3.0" - }, - "../enzyme/contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol": { - "keccak256": "0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0", - "urls": [ - "bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb", - "dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU" - ], - "license": "GPL-3.0" - }, - "../enzyme/contracts/persistent/vault/interfaces/IMigratableVault.sol": { - "keccak256": "0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238", - "urls": [ - "bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6", - "dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs" - ], - "license": "GPL-3.0" - }, - "../enzyme/contracts/persistent/vault/interfaces/IVaultCore.sol": { - "keccak256": "0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80", - "urls": [ - "bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd", - "dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr" - ], - "license": "GPL-3.0" - }, - "../enzyme/contracts/persistent/vault/utils/ProxiableVaultLib.sol": { - "keccak256": "0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76", - "urls": [ - "bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44", - "dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4" - ], - "license": "GPL-3.0" - }, - "../enzyme/contracts/persistent/vault/utils/SharesTokenBase.sol": { - "keccak256": "0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113", - "urls": [ - "bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8", - "dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4" - ], - "license": "GPL-3.0" - }, - "../enzyme/contracts/persistent/vault/utils/VaultLibSafeMath.sol": { - "keccak256": "0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d", - "urls": [ - "bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02", - "dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG" - ], - "license": "GPL-3.0" - }, - "../enzyme/contracts/release/core/fund/comptroller/IComptroller.sol": { - "keccak256": "0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f", - "urls": [ - "bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97", - "dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L" - ], - "license": "GPL-3.0" - }, - "../enzyme/contracts/release/core/fund/vault/IVault.sol": { - "keccak256": "0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd", - "urls": [ - "bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599", - "dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG" - ], - "license": "GPL-3.0" - }, - "../enzyme/contracts/release/core/fund/vault/VaultLib.sol": { - "keccak256": "0x07e49445ab55c01e1b499a48baadc2a15d1eba621f1c6d3ccfdb84c87b976da8", - "urls": [ - "bzz-raw://56d882459248f73e137db2e097fc56b946147fb28ec21661b77431f88e856cb4", - "dweb:/ipfs/QmRP6Ry7DCS5uoKxnnkTomHSzbaCze6cHqbR9aLdjoF6vK" - ], - "license": "GPL-3.0" - }, - "../enzyme/contracts/release/extensions/external-position-manager/IExternalPositionManager.sol": { - "keccak256": "0x3af3f634e1f99fb97091b7825c0d2e2baaafc124d4e87d56cb0c17ff8554f6c6", - "urls": [ - "bzz-raw://515470605afe5ef147f30fa75ce7818f0e00e3d321eb81a4d9bffcdefc294495", - "dweb:/ipfs/QmPKsp99pfHoz9Tfo3ZxnkmqDqJtN9PxqacF2RmeVfxUJF" - ], - "license": "GPL-3.0" - }, - "../enzyme/contracts/release/extensions/integration-manager/IIntegrationManager.sol": { - "keccak256": "0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef", - "urls": [ - "bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23", - "dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk" - ], - "license": "GPL-3.0" - }, - "../enzyme/contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol": { - "keccak256": "0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1", - "urls": [ - "bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336", - "dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS" - ], - "license": "GPL-3.0" - }, - "../enzyme/contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol": { - "keccak256": "0x067e49bf0d3c1655ab41a413c65ccf61d4e593308132e1ffc484a0fadfbbaf26", - "urls": [ - "bzz-raw://387f425017e18e89cc1893521101fa99df595314847d0b3d9a1162369f714fcf", - "dweb:/ipfs/Qmco3jCvuWAyfCpBYpGzHrQjiFJG63w1RJKcakoTEbxRQm" - ], - "license": "GPL-3.0" - }, - "../enzyme/contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol": { - "keccak256": "0xfd34c7ca8231c6935e25dede32ca2b3121738e624d0fc896f7b895a731edcf88", - "urls": [ - "bzz-raw://d492c061963d36d07718446db191d4c5a340c0d847f6cd209f027bd99f7cb176", - "dweb:/ipfs/QmfCvRZt56ftDdrEh6LepHXFJ4fVtcfpQGvEyY8k4zxG1A" - ], - "license": "GPL-3.0" - }, - "../enzyme/contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol": { - "keccak256": "0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609", - "urls": [ - "bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f", - "dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp" - ], - "license": "GPL-3.0" - }, - "../enzyme/contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol": { - "keccak256": "0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01", - "urls": [ - "bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0", - "dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2" - ], - "license": "GPL-3.0" - }, - "../enzyme/contracts/release/infrastructure/protocol-fees/IProtocolFeeTracker.sol": { - "keccak256": "0x232b347f83457439064add7369bfe1930c7cb56f15930bb87d640e909c15e447", - "urls": [ - "bzz-raw://24f9af5eebdd373b1d7a598c096eb6def31b2640d54416d7d5a7226e1cef17e6", - "dweb:/ipfs/QmStq9ByGuSYdKwTmZf52L1X6sZVJUfXTnoVbnjLLiUcHG" - ], - "license": "GPL-3.0" - }, - "../enzyme/contracts/release/interfaces/IGsnForwarder.sol": { - "keccak256": "0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030", - "urls": [ - "bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29", - "dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G" - ], - "license": "GPL-3.0" - }, - "../enzyme/contracts/release/interfaces/IGsnPaymaster.sol": { - "keccak256": "0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c", - "urls": [ - "bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4", - "dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF" - ], - "license": "GPL-3.0" - }, - "../enzyme/contracts/release/interfaces/IGsnTypes.sol": { - "keccak256": "0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714", - "urls": [ - "bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7", - "dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C" - ], - "license": "GPL-3.0" - }, - "../enzyme/contracts/release/interfaces/IWETH.sol": { - "keccak256": "0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2", - "urls": [ - "bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2", - "dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ" - ], - "license": "GPL-3.0" - }, - "../enzyme/contracts/release/utils/AddressArrayLib.sol": { - "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", - "urls": [ - "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", - "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" - ], - "license": "GPL-3.0" - }, - "../enzyme/contracts/release/utils/AssetHelpers.sol": { - "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", - "urls": [ - "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", - "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" - ], - "license": "GPL-3.0" - }, - "../enzyme/contracts/release/utils/beacon-proxy/IBeacon.sol": { - "keccak256": "0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2", - "urls": [ - "bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39", - "dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V" - ], - "license": "GPL-3.0" - }, - "../enzyme/contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol": { - "keccak256": "0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc", - "urls": [ - "bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be", - "dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG" - ], - "license": "GPL-3.0" - }, - "../enzyme/node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "../enzyme/node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "../enzyme/node_modules/@openzeppelin/contracts/token/ERC20/ERC20Burnable.sol": { - "keccak256": "0x9c0eb3b0e11d2480d49991dc384f1e5f9c9b9967cc81944d50916a9b9c6c4984", - "urls": [ - "bzz-raw://99e4033d778624992e86f0b6d801a4f6d7b5c0cd5c79c1296be90a051ad5f5af", - "dweb:/ipfs/QmShYmkUqh6pDEeoWadZ24icmCr4C2Xys1uE5boivPmbwf" - ], - "license": "MIT" - }, - "../enzyme/node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "../enzyme/node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { - "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", - "urls": [ - "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", - "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" - ], - "license": "MIT" - }, - "../enzyme/node_modules/@openzeppelin/contracts/utils/Address.sol": { - "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", - "urls": [ - "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", - "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" - ], - "license": "MIT" - }, - "../enzyme/node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - }, - "src/VaultSpecificGenericAdapter.sol": { - "keccak256": "0x40fbafeb268ee7fc5d0816463afc106feeca2e005c5bfc6eda3a9db72ef54c5d", - "urls": [ - "bzz-raw://90b1acd065c4e621d7788784c72a68fcf876ac437519e145cf132867aa93e145", - "dweb:/ipfs/QmPR5L7iQqjnBTfA3L24zCZnXio8B9BisKgyZ6zKnyztdq" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "ast": { - "absolutePath": "src/VaultSpecificGenericAdapter.sol", - "id": 7666, - "exportedSymbols": { - "VaultSpecificGenericAdapter": [ - 7665 - ] - }, - "nodeType": "SourceUnit", - "src": "37:4950:82", - "nodes": [ - { - "id": 7396, - "nodeType": "PragmaDirective", - "src": "37:23:82", - "nodes": [], - "literals": [ - "solidity", - "0.6", - ".12" - ] - }, - { - "id": 7397, - "nodeType": "PragmaDirective", - "src": "61:33:82", - "nodes": [], - "literals": [ - "experimental", - "ABIEncoderV2" - ] - }, - { - "id": 7398, - "nodeType": "ImportDirective", - "src": "96:91:82", - "nodes": [], - "absolutePath": "../enzyme/contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol", - "file": "@enzyme/release/extensions/integration-manager/integrations/utils/AdapterBase.sol", - "scope": 7666, - "sourceUnit": 1893, - "symbolAliases": [], - "unitAlias": "" - }, - { - "id": 7399, - "nodeType": "ImportDirective", - "src": "188:54:82", - "nodes": [], - "absolutePath": "../enzyme/contracts/release/core/fund/vault/VaultLib.sol", - "file": "@enzyme/release/core/fund/vault/VaultLib.sol", - "scope": 7666, - "sourceUnit": 1765, - "symbolAliases": [], - "unitAlias": "" - }, - { - "id": 7665, - "nodeType": "ContractDefinition", - "src": "434:4552:82", - "nodes": [ - { - "id": 7404, - "nodeType": "VariableDeclaration", - "src": "493:39:82", - "nodes": [], - "constant": false, - "functionSelector": "9adf0ee3", - "mutability": "mutable", - "name": "whitelistedVault", - "overrides": null, - "scope": 7665, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "typeName": { - "id": 7403, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "493:15:82", - "stateMutability": "payable", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "value": null, - "visibility": "public" - }, - { - "id": 7412, - "nodeType": "VariableDeclaration", - "src": "605:116:82", - "nodes": [], - "constant": true, - "functionSelector": "12d9c1f6", - "mutability": "constant", - "name": "EXECUTE_CALLS_SELECTOR", - "overrides": null, - "scope": 7665, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 7405, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "605:6:82", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "hexValue": "6578656375746543616c6c7328616464726573732c62797465732c627974657329", - "id": 7409, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "679:35:82", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_b7fe1a117cff974e3f19d303d9f97ada44b7ecad880df21ddfdc69ba0493b796", - "typeString": "literal_string \"executeCalls(address,bytes,bytes)\"" - }, - "value": "executeCalls(address,bytes,bytes)" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_stringliteral_b7fe1a117cff974e3f19d303d9f97ada44b7ecad880df21ddfdc69ba0493b796", - "typeString": "literal_string \"executeCalls(address,bytes,bytes)\"" - } - ], - "id": 7408, - "name": "keccak256", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -8, - "src": "669:9:82", - "typeDescriptions": { - "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", - "typeString": "function (bytes memory) pure returns (bytes32)" - } - }, - "id": 7410, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "669:46:82", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "id": 7407, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "653:6:82", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes4_$", - "typeString": "type(bytes4)" - }, - "typeName": { - "id": 7406, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "653:6:82", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 7411, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "653:68:82", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "visibility": "public" - }, - { - "id": 7442, - "nodeType": "FunctionDefinition", - "src": "728:492:82", - "nodes": [], - "body": { - "id": 7441, - "nodeType": "Block", - "src": "866:354:82", - "nodes": [], - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 7424, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 7422, - "name": "whitelistedVault", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7404, - "src": "876:16:82", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 7423, - "name": "_whitelistedVault", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7416, - "src": "895:17:82", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "876:36:82", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "id": 7425, - "nodeType": "ExpressionStatement", - "src": "876:36:82" - }, - { - "assignments": [ - 7427 - ], - "declarations": [ - { - "constant": false, - "id": 7427, - "mutability": "mutable", - "name": "vault", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7441, - "src": "1060:14:82", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_VaultLib_$1764", - "typeString": "contract VaultLib" - }, - "typeName": { - "contractScope": null, - "id": 7426, - "name": "VaultLib", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1764, - "src": "1060:8:82", - "typeDescriptions": { - "typeIdentifier": "t_contract$_VaultLib_$1764", - "typeString": "contract VaultLib" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7431, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7429, - "name": "whitelistedVault", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7404, - "src": "1086:16:82", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - ], - "id": 7428, - "name": "VaultLib", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1764, - "src": "1077:8:82", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_VaultLib_$1764_$", - "typeString": "type(contract VaultLib)" - } - }, - "id": 7430, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1077:26:82", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_contract$_VaultLib_$1764", - "typeString": "contract VaultLib" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1060:43:82" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 7437, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "arguments": [], - "expression": { - "argumentTypes": [], - "expression": { - "argumentTypes": null, - "id": 7433, - "name": "vault", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7427, - "src": "1121:5:82", - "typeDescriptions": { - "typeIdentifier": "t_contract$_VaultLib_$1764", - "typeString": "contract VaultLib" - } - }, - "id": 7434, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "getCreator", - "nodeType": "MemberAccess", - "referencedDeclaration": 1581, - "src": "1121:16:82", - "typeDescriptions": { - "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", - "typeString": "function () view external returns (address)" - } - }, - "id": 7435, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1121:18:82", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "!=", - "rightExpression": { - "argumentTypes": null, - "hexValue": "307830303030303030303030303030303030303030303030303030303030303030303030303030303030", - "id": 7436, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "number", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1143:42:82", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "value": "0x0000000000000000000000000000000000000000" - }, - "src": "1121:64:82", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "456e636f756e74657265642066756e6e79207661756c74", - "id": 7438, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1187:25:82", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_d9f24d5023927ca575f3a944f0a2dfe553dbbc992c0ec8a6fe3b467f7effcc47", - "typeString": "literal_string \"Encountered funny vault\"" - }, - "value": "Encountered funny vault" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_d9f24d5023927ca575f3a944f0a2dfe553dbbc992c0ec8a6fe3b467f7effcc47", - "typeString": "literal_string \"Encountered funny vault\"" - } - ], - "id": 7432, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1113:7:82", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7439, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1113:100:82", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7440, - "nodeType": "ExpressionStatement", - "src": "1113:100:82" - } - ] - }, - "documentation": null, - "implemented": true, - "kind": "constructor", - "modifiers": [ - { - "arguments": [ - { - "argumentTypes": null, - "id": 7419, - "name": "_integrationManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7414, - "src": "845:19:82", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - } - ], - "id": 7420, - "modifierName": { - "argumentTypes": null, - "id": 7418, - "name": "AdapterBase", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1892, - "src": "833:11:82", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_AdapterBase_$1892_$", - "typeString": "type(contract AdapterBase)" - } - }, - "nodeType": "ModifierInvocation", - "src": "833:32:82" - } - ], - "name": "", - "overrides": null, - "parameters": { - "id": 7417, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7414, - "mutability": "mutable", - "name": "_integrationManager", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7442, - "src": "749:27:82", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7413, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "749:7:82", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7416, - "mutability": "mutable", - "name": "_whitelistedVault", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7442, - "src": "786:33:82", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - "typeName": { - "id": 7415, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "786:15:82", - "stateMutability": "payable", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "739:86:82" - }, - "returnParameters": { - "id": 7421, - "nodeType": "ParameterList", - "parameters": [], - "src": "866:0:82" - }, - "scope": 7665, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "id": 7529, - "nodeType": "FunctionDefinition", - "src": "1416:943:82", - "nodes": [], - "body": { - "id": 7528, - "nodeType": "Block", - "src": "1730:629:82", - "nodes": [], - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 7465, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7463, - "name": "_vaultProxy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7445, - "src": "1748:11:82", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 7464, - "name": "whitelistedVault", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7404, - "src": "1763:16:82", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - "src": "1748:31:82", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "4f6e6c792063616c6c732066726f6d207468652077686974656c6973746564207661756c742061726520616c6c6f776564", - "id": 7466, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "1781:51:82", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_92e415b8d2b5b519ac1761c134d94a6d1147c25f2893f4d94cc7ac4778336eb5", - "typeString": "literal_string \"Only calls from the whitelisted vault are allowed\"" - }, - "value": "Only calls from the whitelisted vault are allowed" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_92e415b8d2b5b519ac1761c134d94a6d1147c25f2893f4d94cc7ac4778336eb5", - "typeString": "literal_string \"Only calls from the whitelisted vault are allowed\"" - } - ], - "id": 7462, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "1740:7:82", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7467, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1740:93:82", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7468, - "nodeType": "ExpressionStatement", - "src": "1740:93:82" - }, - { - "assignments": [ - null, - null, - null, - null, - 7470 - ], - "declarations": [ - null, - null, - null, - null, - { - "constant": false, - "id": 7470, - "mutability": "mutable", - "name": "externalCallsData", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7528, - "src": "1853:30:82", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 7469, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1853:5:82", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7474, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7472, - "name": "_actionData", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7447, - "src": "1904:11:82", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - ], - "id": 7471, - "name": "__decodeCallArgs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7622, - "src": "1887:16:82", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes_calldata_ptr_$returns$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_bytes_memory_ptr_$", - "typeString": "function (bytes calldata) pure returns (address[] memory,uint256[] memory,address[] memory,uint256[] memory,bytes memory)" - } - }, - "id": 7473, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1887:29:82", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_bytes_memory_ptr_$", - "typeString": "tuple(address[] memory,uint256[] memory,address[] memory,uint256[] memory,bytes memory)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1844:72:82" - }, - { - "assignments": [ - 7479, - 7482 - ], - "declarations": [ - { - "constant": false, - "id": 7479, - "mutability": "mutable", - "name": "contracts", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7528, - "src": "1928:26:82", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 7477, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1928:7:82", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 7478, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1928:9:82", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7482, - "mutability": "mutable", - "name": "callsData", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7528, - "src": "1956:24:82", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", - "typeString": "bytes[]" - }, - "typeName": { - "baseType": { - "id": 7480, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1956:5:82", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "id": 7481, - "length": null, - "nodeType": "ArrayTypeName", - "src": "1956:7:82", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr", - "typeString": "bytes[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7486, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7484, - "name": "externalCallsData", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7470, - "src": "2023:17:82", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 7483, - "name": "__decodeExternalCallsData", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7664, - "src": "1984:25:82", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$", - "typeString": "function (bytes memory) pure returns (address[] memory,bytes memory[] memory)" - } - }, - "id": 7485, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1984:66:82", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$", - "typeString": "tuple(address[] memory,bytes memory[] memory)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1927:123:82" - }, - { - "body": { - "id": 7526, - "nodeType": "Block", - "src": "2104:249:82", - "statements": [ - { - "assignments": [ - 7498 - ], - "declarations": [ - { - "constant": false, - "id": 7498, - "mutability": "mutable", - "name": "contractAddress", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7526, - "src": "2118:23:82", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7497, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2118:7:82", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7502, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7499, - "name": "contracts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7479, - "src": "2144:9:82", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 7501, - "indexExpression": { - "argumentTypes": null, - "id": 7500, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7488, - "src": "2154:1:82", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2144:12:82", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2118:38:82" - }, - { - "assignments": [ - 7504 - ], - "declarations": [ - { - "constant": false, - "id": 7504, - "mutability": "mutable", - "name": "callData", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7526, - "src": "2170:21:82", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 7503, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2170:5:82", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7508, - "initialValue": { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7505, - "name": "callsData", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7482, - "src": "2194:9:82", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", - "typeString": "bytes memory[] memory" - } - }, - "id": 7507, - "indexExpression": { - "argumentTypes": null, - "id": 7506, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7488, - "src": "2204:1:82", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "isConstant": false, - "isLValue": true, - "isPure": false, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "2194:12:82", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2170:36:82" - }, - { - "assignments": [ - 7510, - 7512 - ], - "declarations": [ - { - "constant": false, - "id": 7510, - "mutability": "mutable", - "name": "success", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7526, - "src": "2221:12:82", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 7509, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "2221:4:82", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7512, - "mutability": "mutable", - "name": "returnData", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7526, - "src": "2235:23:82", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 7511, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "2235:5:82", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7517, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7515, - "name": "callData", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7504, - "src": "2283:8:82", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "expression": { - "argumentTypes": null, - "id": 7513, - "name": "contractAddress", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7498, - "src": "2262:15:82", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 7514, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "call", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2262:20:82", - "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": 7516, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2262:30:82", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", - "typeString": "tuple(bool,bytes memory)" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2220:72:82" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7519, - "name": "success", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7510, - "src": "2314:7:82", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7522, - "name": "returnData", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7512, - "src": "2330:10:82", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - ], - "id": 7521, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2323:6:82", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_string_storage_ptr_$", - "typeString": "type(string storage pointer)" - }, - "typeName": { - "id": 7520, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "2323:6:82", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 7523, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2323:18:82", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_string_memory_ptr", - "typeString": "string memory" - } - ], - "id": 7518, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2306:7:82", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7524, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2306:36:82", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7525, - "nodeType": "ExpressionStatement", - "src": "2306:36:82" - } - ] - }, - "condition": { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7493, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7490, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7488, - "src": "2077:1:82", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "<", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7491, - "name": "contracts", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7479, - "src": "2081:9:82", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 7492, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "2081:16:82", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2077:20:82", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 7527, - "initializationExpression": { - "assignments": [ - 7488 - ], - "declarations": [ - { - "constant": false, - "id": 7488, - "mutability": "mutable", - "name": "i", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7527, - "src": "2066:9:82", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7487, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2066:7:82", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7489, - "initialValue": null, - "nodeType": "VariableDeclarationStatement", - "src": "2066:9:82" - }, - "loopExpression": { - "expression": { - "argumentTypes": null, - "id": 7495, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "UnaryOperation", - "operator": "++", - "prefix": false, - "src": "2099:3:82", - "subExpression": { - "argumentTypes": null, - "id": 7494, - "name": "i", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7488, - "src": "2099:1:82", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7496, - "nodeType": "ExpressionStatement", - "src": "2099:3:82" - }, - "nodeType": "ForStatement", - "src": "2061:292:82" - } - ] - }, - "documentation": { - "id": 7443, - "nodeType": "StructuredDocumentation", - "src": "1253:158:82", - "text": "@notice Executes a sequence of calls\n @param _vaultProxy The VaultProxy of the calling fund\n @param _actionData Data specific to this action" - }, - "functionSelector": "b7fe1a11", - "implemented": true, - "kind": "function", - "modifiers": [ - { - "arguments": null, - "id": 7452, - "modifierName": { - "argumentTypes": null, - "id": 7451, - "name": "onlyIntegrationManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1841, - "src": "1558:22:82", - "typeDescriptions": { - "typeIdentifier": "t_modifier$__$", - "typeString": "modifier ()" - } - }, - "nodeType": "ModifierInvocation", - "src": "1558:22:82" - }, - { - "arguments": [ - { - "argumentTypes": null, - "id": 7454, - "name": "_vaultProxy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7445, - "src": "1629:11:82", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 7455, - "name": "_actionData", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7447, - "src": "1642:11:82", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - } - ], - "id": 7456, - "modifierName": { - "argumentTypes": null, - "id": 7453, - "name": "postActionIncomingAssetsTransferHandler", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1806, - "src": "1589:39:82", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_address_$_t_bytes_memory_ptr_$", - "typeString": "modifier (address,bytes memory)" - } - }, - "nodeType": "ModifierInvocation", - "src": "1589:65:82" - }, - { - "arguments": [ - { - "argumentTypes": null, - "id": 7458, - "name": "_vaultProxy", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7445, - "src": "1700:11:82", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 7459, - "name": "_actionData", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7447, - "src": "1713:11:82", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - } - ], - "id": 7460, - "modifierName": { - "argumentTypes": null, - "id": 7457, - "name": "postActionSpendAssetsTransferHandler", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 1829, - "src": "1663:36:82", - "typeDescriptions": { - "typeIdentifier": "t_modifier$_t_address_$_t_bytes_memory_ptr_$", - "typeString": "modifier (address,bytes memory)" - } - }, - "nodeType": "ModifierInvocation", - "src": "1663:62:82" - } - ], - "name": "executeCalls", - "overrides": null, - "parameters": { - "id": 7450, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7445, - "mutability": "mutable", - "name": "_vaultProxy", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7529, - "src": "1447:19:82", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7444, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1447:7:82", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7447, - "mutability": "mutable", - "name": "_actionData", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7529, - "src": "1476:26:82", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 7446, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1476:5:82", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7449, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7529, - "src": "1512:14:82", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 7448, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "1512:5:82", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1437:95:82" - }, - "returnParameters": { - "id": 7461, - "nodeType": "ParameterList", - "parameters": [], - "src": "1730:0:82" - }, - "scope": 7665, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "id": 7581, - "nodeType": "FunctionDefinition", - "src": "3003:965:82", - "nodes": [], - "body": { - "id": 7580, - "nodeType": "Block", - "src": "3467:501:82", - "nodes": [], - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "id": 7557, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7555, - "name": "_selector", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7534, - "src": "3485:9:82", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "id": 7556, - "name": "EXECUTE_CALLS_SELECTOR", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7412, - "src": "3498:22:82", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "src": "3485:35:82", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "7061727365417373657473466f72416374696f6e3a205f73656c6563746f7220696e76616c6964", - "id": 7558, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "3522:41:82", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_fa7d3951a54ad7f640a0aa9b85ad7f5ff914df62a5263210a007a27ec3c5f2c7", - "typeString": "literal_string \"parseAssetsForAction: _selector invalid\"" - }, - "value": "parseAssetsForAction: _selector invalid" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_fa7d3951a54ad7f640a0aa9b85ad7f5ff914df62a5263210a007a27ec3c5f2c7", - "typeString": "literal_string \"parseAssetsForAction: _selector invalid\"" - } - ], - "id": 7554, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "3477:7:82", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7559, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3477:87:82", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7560, - "nodeType": "ExpressionStatement", - "src": "3477:87:82" - }, - { - "expression": { - "argumentTypes": null, - "id": 7569, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 7561, - "name": "incomingAssets_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7549, - "src": "3589:15:82", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - { - "argumentTypes": null, - "id": 7562, - "name": "minIncomingAssetAmounts_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7552, - "src": "3618:24:82", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - { - "argumentTypes": null, - "id": 7563, - "name": "spendAssets_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7543, - "src": "3656:12:82", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - { - "argumentTypes": null, - "id": 7564, - "name": "spendAssetAmounts_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7546, - "src": "3682:18:82", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - null - ], - "id": 7565, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "3575:137:82", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$__$", - "typeString": "tuple(address[] memory,uint256[] memory,address[] memory,uint256[] memory,)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7567, - "name": "_actionData", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7536, - "src": "3732:11:82", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - ], - "id": 7566, - "name": "__decodeCallArgs", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7622, - "src": "3715:16:82", - "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes_calldata_ptr_$returns$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_bytes_memory_ptr_$", - "typeString": "function (bytes calldata) pure returns (address[] memory,uint256[] memory,address[] memory,uint256[] memory,bytes memory)" - } - }, - "id": 7568, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "3715:29:82", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_bytes_memory_ptr_$", - "typeString": "tuple(address[] memory,uint256[] memory,address[] memory,uint256[] memory,bytes memory)" - } - }, - "src": "3575:169:82", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7570, - "nodeType": "ExpressionStatement", - "src": "3575:169:82" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7571, - "name": "IIntegrationManager", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 10006, - "src": "3776:19:82", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IIntegrationManager_$10006_$", - "typeString": "type(contract IIntegrationManager)" - } - }, - "id": 7572, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "SpendAssetsHandleType", - "nodeType": "MemberAccess", - "referencedDeclaration": 10005, - "src": "3776:41:82", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_SpendAssetsHandleType_$10005_$", - "typeString": "type(enum IIntegrationManager.SpendAssetsHandleType)" - } - }, - "id": 7573, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "Transfer", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3776:50:82", - "typeDescriptions": { - "typeIdentifier": "t_enum$_SpendAssetsHandleType_$10005", - "typeString": "enum IIntegrationManager.SpendAssetsHandleType" - } - }, - { - "argumentTypes": null, - "id": 7574, - "name": "spendAssets_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7543, - "src": "3840:12:82", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - { - "argumentTypes": null, - "id": 7575, - "name": "spendAssetAmounts_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7546, - "src": "3866:18:82", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - }, - { - "argumentTypes": null, - "id": 7576, - "name": "incomingAssets_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7549, - "src": "3898:15:82", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - { - "argumentTypes": null, - "id": 7577, - "name": "minIncomingAssetAmounts_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7552, - "src": "3927:24:82", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[] memory" - } - } - ], - "id": 7578, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "3762:199:82", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_enum$_SpendAssetsHandleType_$10005_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "tuple(enum IIntegrationManager.SpendAssetsHandleType,address[] memory,uint256[] memory,address[] memory,uint256[] memory)" - } - }, - "functionReturnParameters": 7553, - "id": 7579, - "nodeType": "Return", - "src": "3755:206:82" - } - ] - }, - "baseFunctions": [ - 9037 - ], - "documentation": { - "id": 7530, - "nodeType": "StructuredDocumentation", - "src": "2365:633:82", - "text": "@notice Parses the expected assets in a particular action\n @param _selector The function selector for the callOnIntegration\n @param _actionData Data specific to this action\n @return spendAssetsHandleType_ A type that dictates how to handle granting\n the adapter access to spend assets (hardcoded to `Transfer`)\n @return spendAssets_ The assets to spend in the call\n @return spendAssetAmounts_ The max asset amounts to spend in the call\n @return incomingAssets_ The assets to receive in the call\n @return minIncomingAssetAmounts_ The min asset amounts to receive in the call" - }, - "functionSelector": "c54efee5", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "parseAssetsForAction", - "overrides": { - "id": 7538, - "nodeType": "OverrideSpecifier", - "overrides": [], - "src": "3156:8:82" - }, - "parameters": { - "id": 7537, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7532, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7581, - "src": "3042:7:82", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7531, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3042:7:82", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7534, - "mutability": "mutable", - "name": "_selector", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7581, - "src": "3059:16:82", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - }, - "typeName": { - "id": 7533, - "name": "bytes4", - "nodeType": "ElementaryTypeName", - "src": "3059:6:82", - "typeDescriptions": { - "typeIdentifier": "t_bytes4", - "typeString": "bytes4" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7536, - "mutability": "mutable", - "name": "_actionData", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7581, - "src": "3085:26:82", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 7535, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "3085:5:82", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3032:85:82" - }, - "returnParameters": { - "id": 7553, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7540, - "mutability": "mutable", - "name": "spendAssetsHandleType_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7581, - "src": "3195:64:82", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_SpendAssetsHandleType_$10005", - "typeString": "enum IIntegrationManager.SpendAssetsHandleType" - }, - "typeName": { - "contractScope": null, - "id": 7539, - "name": "IIntegrationManager.SpendAssetsHandleType", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 10005, - "src": "3195:41:82", - "typeDescriptions": { - "typeIdentifier": "t_enum$_SpendAssetsHandleType_$10005", - "typeString": "enum IIntegrationManager.SpendAssetsHandleType" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7543, - "mutability": "mutable", - "name": "spendAssets_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7581, - "src": "3273:29:82", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 7541, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3273:7:82", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 7542, - "length": null, - "nodeType": "ArrayTypeName", - "src": "3273:9:82", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7546, - "mutability": "mutable", - "name": "spendAssetAmounts_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7581, - "src": "3316:35:82", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 7544, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3316:7:82", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7545, - "length": null, - "nodeType": "ArrayTypeName", - "src": "3316:9:82", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7549, - "mutability": "mutable", - "name": "incomingAssets_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7581, - "src": "3365:32:82", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 7547, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "3365:7:82", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 7548, - "length": null, - "nodeType": "ArrayTypeName", - "src": "3365:9:82", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7552, - "mutability": "mutable", - "name": "minIncomingAssetAmounts_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7581, - "src": "3411:41:82", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 7550, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "3411:7:82", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7551, - "length": null, - "nodeType": "ArrayTypeName", - "src": "3411:9:82", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "3181:281:82" - }, - "scope": 7665, - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "id": 7622, - "nodeType": "FunctionDefinition", - "src": "4049:453:82", - "nodes": [], - "body": { - "id": 7621, - "nodeType": "Block", - "src": "4402:100:82", - "nodes": [], - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7603, - "name": "_actionData", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7584, - "src": "4430:11:82", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - } - }, - { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7605, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4444:7:82", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 7604, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4444:7:82", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 7606, - "indexExpression": null, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4444:9:82", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_array$_t_address_$dyn_memory_ptr_$", - "typeString": "type(address[] memory)" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7608, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4455:7:82", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 7607, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4455:7:82", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 7609, - "indexExpression": null, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4455:9:82", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "type(uint256[] memory)" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7611, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4466:7:82", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 7610, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4466:7:82", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 7612, - "indexExpression": null, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4466:9:82", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_array$_t_address_$dyn_memory_ptr_$", - "typeString": "type(address[] memory)" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7614, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4477:7:82", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_uint256_$", - "typeString": "type(uint256)" - }, - "typeName": { - "id": 7613, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4477:7:82", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 7615, - "indexExpression": null, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4477:9:82", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_array$_t_uint256_$dyn_memory_ptr_$", - "typeString": "type(uint256[] memory)" - } - }, - { - "argumentTypes": null, - "id": 7617, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4488:5:82", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", - "typeString": "type(bytes storage pointer)" - }, - "typeName": { - "id": 7616, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4488:5:82", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - } - ], - "id": 7618, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "4443:51:82", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_type$_t_array$_t_address_$dyn_memory_ptr_$_$_t_type$_t_array$_t_uint256_$dyn_memory_ptr_$_$_t_type$_t_array$_t_address_$dyn_memory_ptr_$_$_t_type$_t_array$_t_uint256_$dyn_memory_ptr_$_$_t_type$_t_bytes_storage_ptr_$_$", - "typeString": "tuple(type(address[] memory),type(uint256[] memory),type(address[] memory),type(uint256[] memory),type(bytes storage pointer))" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes calldata" - }, - { - "typeIdentifier": "t_tuple$_t_type$_t_array$_t_address_$dyn_memory_ptr_$_$_t_type$_t_array$_t_uint256_$dyn_memory_ptr_$_$_t_type$_t_array$_t_address_$dyn_memory_ptr_$_$_t_type$_t_array$_t_uint256_$dyn_memory_ptr_$_$_t_type$_t_bytes_storage_ptr_$_$", - "typeString": "tuple(type(address[] memory),type(uint256[] memory),type(address[] memory),type(uint256[] memory),type(bytes storage pointer))" - } - ], - "expression": { - "argumentTypes": null, - "id": 7601, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "4419:3:82", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 7602, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "decode", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4419:10:82", - "typeDescriptions": { - "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 7619, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4419:76:82", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_bytes_memory_ptr_$", - "typeString": "tuple(address[] memory,uint256[] memory,address[] memory,uint256[] memory,bytes memory)" - } - }, - "functionReturnParameters": 7600, - "id": 7620, - "nodeType": "Return", - "src": "4412:83:82" - } - ] - }, - "documentation": { - "id": 7582, - "nodeType": "StructuredDocumentation", - "src": "3974:70:82", - "text": "@dev Helper to decode the encoded callOnIntegration call arguments" - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "__decodeCallArgs", - "overrides": null, - "parameters": { - "id": 7585, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7584, - "mutability": "mutable", - "name": "_actionData", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7622, - "src": "4075:26:82", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 7583, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4075:5:82", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4074:28:82" - }, - "returnParameters": { - "id": 7600, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7588, - "mutability": "mutable", - "name": "incomingAssets_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7622, - "src": "4162:32:82", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 7586, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4162:7:82", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 7587, - "length": null, - "nodeType": "ArrayTypeName", - "src": "4162:9:82", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7591, - "mutability": "mutable", - "name": "minIncomingAssetsAmounts_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7622, - "src": "4208:42:82", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 7589, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4208:7:82", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7590, - "length": null, - "nodeType": "ArrayTypeName", - "src": "4208:9:82", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7594, - "mutability": "mutable", - "name": "spendAssets_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7622, - "src": "4264:29:82", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 7592, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4264:7:82", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 7593, - "length": null, - "nodeType": "ArrayTypeName", - "src": "4264:9:82", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7597, - "mutability": "mutable", - "name": "spendAssetAmounts_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7622, - "src": "4307:35:82", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", - "typeString": "uint256[]" - }, - "typeName": { - "baseType": { - "id": 7595, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "4307:7:82", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7596, - "length": null, - "nodeType": "ArrayTypeName", - "src": "4307:9:82", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", - "typeString": "uint256[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7599, - "mutability": "mutable", - "name": "externalCallsData_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7622, - "src": "4356:31:82", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 7598, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4356:5:82", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4148:249:82" - }, - "scope": 7665, - "stateMutability": "pure", - "virtual": false, - "visibility": "private" - }, - { - "id": 7664, - "nodeType": "FunctionDefinition", - "src": "4575:409:82", - "nodes": [], - "body": { - "id": 7663, - "nodeType": "Block", - "src": "4749:235:82", - "nodes": [], - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 7648, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 7634, - "name": "contracts_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7629, - "src": "4760:10:82", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - { - "argumentTypes": null, - "id": 7635, - "name": "callsData_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7632, - "src": "4772:10:82", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", - "typeString": "bytes memory[] memory" - } - } - ], - "id": 7636, - "isConstant": false, - "isInlineArray": false, - "isLValue": true, - "isPure": false, - "lValueRequested": true, - "nodeType": "TupleExpression", - "src": "4759:24:82", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$", - "typeString": "tuple(address[] memory,bytes memory[] memory)" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7639, - "name": "_externalCallsData", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7625, - "src": "4797:18:82", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - } - }, - { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7641, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4818:7:82", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 7640, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4818:7:82", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 7642, - "indexExpression": null, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4818:9:82", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_array$_t_address_$dyn_memory_ptr_$", - "typeString": "type(address[] memory)" - } - }, - { - "argumentTypes": null, - "baseExpression": { - "argumentTypes": null, - "id": 7644, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "4829:5:82", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", - "typeString": "type(bytes storage pointer)" - }, - "typeName": { - "id": 7643, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4829:5:82", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 7645, - "indexExpression": null, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "IndexAccess", - "src": "4829:7:82", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$", - "typeString": "type(bytes memory[] memory)" - } - } - ], - "id": 7646, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "4817:20:82", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_type$_t_array$_t_address_$dyn_memory_ptr_$_$_t_type$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_$", - "typeString": "tuple(type(address[] memory),type(bytes memory[] memory))" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes memory" - }, - { - "typeIdentifier": "t_tuple$_t_type$_t_array$_t_address_$dyn_memory_ptr_$_$_t_type$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_$", - "typeString": "tuple(type(address[] memory),type(bytes memory[] memory))" - } - ], - "expression": { - "argumentTypes": null, - "id": 7637, - "name": "abi", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -1, - "src": "4786:3:82", - "typeDescriptions": { - "typeIdentifier": "t_magic_abi", - "typeString": "abi" - } - }, - "id": 7638, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "memberName": "decode", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4786:10:82", - "typeDescriptions": { - "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", - "typeString": "function () pure" - } - }, - "id": 7647, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4786:52:82", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$", - "typeString": "tuple(address[] memory,bytes memory[] memory)" - } - }, - "src": "4759:79:82", - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7649, - "nodeType": "ExpressionStatement", - "src": "4759:79:82" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "id": 7655, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7651, - "name": "contracts_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7629, - "src": "4856:10:82", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - "id": 7652, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4856:17:82", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7653, - "name": "callsData_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7632, - "src": "4877:10:82", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", - "typeString": "bytes memory[] memory" - } - }, - "id": 7654, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "length", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "4877:17:82", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "4856:38:82", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "556e657175616c2065787465726e616c2063616c6c7320617272617973206c656e67746873", - "id": 7656, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "4896:39:82", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_2af52529fed430f17a4f57aaf2b2e5efd652752f460c4549180b97a09616cd96", - "typeString": "literal_string \"Unequal external calls arrays lengths\"" - }, - "value": "Unequal external calls arrays lengths" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_2af52529fed430f17a4f57aaf2b2e5efd652752f460c4549180b97a09616cd96", - "typeString": "literal_string \"Unequal external calls arrays lengths\"" - } - ], - "id": 7650, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "4848:7:82", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7657, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "4848:88:82", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7658, - "nodeType": "ExpressionStatement", - "src": "4848:88:82" - }, - { - "expression": { - "argumentTypes": null, - "components": [ - { - "argumentTypes": null, - "id": 7659, - "name": "contracts_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7629, - "src": "4954:10:82", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[] memory" - } - }, - { - "argumentTypes": null, - "id": 7660, - "name": "callsData_", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7632, - "src": "4966:10:82", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", - "typeString": "bytes memory[] memory" - } - } - ], - "id": 7661, - "isConstant": false, - "isInlineArray": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "nodeType": "TupleExpression", - "src": "4953:24:82", - "typeDescriptions": { - "typeIdentifier": "t_tuple$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$", - "typeString": "tuple(address[] memory,bytes memory[] memory)" - } - }, - "functionReturnParameters": 7633, - "id": 7662, - "nodeType": "Return", - "src": "4946:31:82" - } - ] - }, - "documentation": { - "id": 7623, - "nodeType": "StructuredDocumentation", - "src": "4508:62:82", - "text": "@dev Helper to decode the stack of external contract calls" - }, - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "__decodeExternalCallsData", - "overrides": null, - "parameters": { - "id": 7626, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7625, - "mutability": "mutable", - "name": "_externalCallsData", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7664, - "src": "4610:31:82", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_bytes_memory_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 7624, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4610:5:82", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4609:33:82" - }, - "returnParameters": { - "id": 7633, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7629, - "mutability": "mutable", - "name": "contracts_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7664, - "src": "4689:27:82", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", - "typeString": "address[]" - }, - "typeName": { - "baseType": { - "id": 7627, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "4689:7:82", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "id": 7628, - "length": null, - "nodeType": "ArrayTypeName", - "src": "4689:9:82", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", - "typeString": "address[]" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7632, - "mutability": "mutable", - "name": "callsData_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7664, - "src": "4718:25:82", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes_memory_ptr_$dyn_memory_ptr", - "typeString": "bytes[]" - }, - "typeName": { - "baseType": { - "id": 7630, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "4718:5:82", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "id": 7631, - "length": null, - "nodeType": "ArrayTypeName", - "src": "4718:7:82", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr", - "typeString": "bytes[]" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "4688:56:82" - }, - "scope": 7665, - "stateMutability": "pure", - "virtual": false, - "visibility": "private" - } - ], - "abstract": false, - "baseContracts": [ - { - "arguments": null, - "baseName": { - "contractScope": null, - "id": 7401, - "name": "AdapterBase", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 1892, - "src": "474:11:82", - "typeDescriptions": { - "typeIdentifier": "t_contract$_AdapterBase_$1892", - "typeString": "contract AdapterBase" - } - }, - "id": 7402, - "nodeType": "InheritanceSpecifier", - "src": "474:11:82" - } - ], - "contractDependencies": [ - 1892, - 9038, - 9114, - 9464 - ], - "contractKind": "contract", - "documentation": { - "id": 7400, - "nodeType": "StructuredDocumentation", - "src": "244:189:82", - "text": " A vault contract specific adapter/\n - Allows calls only from the whitelisted vault\n - The default GenericAdapter is unsafe, as anyone can steal tokens approved on it" - }, - "fullyImplemented": true, - "linearizedBaseContracts": [ - 7665, - 1892, - 9464, - 9114, - 9038 - ], - "name": "VaultSpecificGenericAdapter", - "scope": 7666 - } - ], - "license": "GPL-3.0" - }, - "id": 82 -} \ No newline at end of file +{"abi":[{"type":"constructor","inputs":[{"name":"_integrationManager","type":"address","internalType":"address"},{"name":"_whitelistedVault","type":"address","internalType":"address payable"}],"stateMutability":"nonpayable"},{"type":"function","name":"CLAIM_REWARDS_SELECTOR","inputs":[],"outputs":[{"name":"","type":"bytes4","internalType":"bytes4"}],"stateMutability":"view"},{"type":"function","name":"EXECUTE_CALLS_SELECTOR","inputs":[],"outputs":[{"name":"","type":"bytes4","internalType":"bytes4"}],"stateMutability":"view"},{"type":"function","name":"LEND_AND_STAKE_SELECTOR","inputs":[],"outputs":[{"name":"","type":"bytes4","internalType":"bytes4"}],"stateMutability":"view"},{"type":"function","name":"LEND_SELECTOR","inputs":[],"outputs":[{"name":"","type":"bytes4","internalType":"bytes4"}],"stateMutability":"view"},{"type":"function","name":"REDEEM_SELECTOR","inputs":[],"outputs":[{"name":"","type":"bytes4","internalType":"bytes4"}],"stateMutability":"view"},{"type":"function","name":"STAKE_SELECTOR","inputs":[],"outputs":[{"name":"","type":"bytes4","internalType":"bytes4"}],"stateMutability":"view"},{"type":"function","name":"TAKE_MULTIPLE_ORDERS_SELECTOR","inputs":[],"outputs":[{"name":"","type":"bytes4","internalType":"bytes4"}],"stateMutability":"view"},{"type":"function","name":"TAKE_ORDER_SELECTOR","inputs":[],"outputs":[{"name":"","type":"bytes4","internalType":"bytes4"}],"stateMutability":"view"},{"type":"function","name":"UNSTAKE_AND_REDEEM_SELECTOR","inputs":[],"outputs":[{"name":"","type":"bytes4","internalType":"bytes4"}],"stateMutability":"view"},{"type":"function","name":"UNSTAKE_SELECTOR","inputs":[],"outputs":[{"name":"","type":"bytes4","internalType":"bytes4"}],"stateMutability":"view"},{"type":"function","name":"executeCalls","inputs":[{"name":"_vaultProxy","type":"address","internalType":"address"},{"name":"_actionData","type":"bytes","internalType":"bytes"},{"name":"","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getIntegrationManager","inputs":[],"outputs":[{"name":"integrationManager_","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"parseAssetsForAction","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"_selector","type":"bytes4","internalType":"bytes4"},{"name":"_actionData","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"spendAssetsHandleType_","type":"uint8","internalType":"enum IIntegrationManager.SpendAssetsHandleType"},{"name":"spendAssets_","type":"address[]","internalType":"address[]"},{"name":"spendAssetAmounts_","type":"uint256[]","internalType":"uint256[]"},{"name":"incomingAssets_","type":"address[]","internalType":"address[]"},{"name":"minIncomingAssetAmounts_","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"view"},{"type":"function","name":"whitelistedVault","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address payable"}],"stateMutability":"view"}],"bytecode":{"object":"0x60a06040523480156200001157600080fd5b506040516200156c3803806200156c83398101604081905262000034916200013e565b606082901b6001600160601b031916608052600080546001600160a01b0319166001600160a01b0383811691909117918290556040805162ee2cb160e41b8152905192909116918291630ee2cb10916004808301926020929190829003018186803b158015620000a357600080fd5b505afa158015620000b8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000de919062000118565b6001600160a01b03166200010f5760405162461bcd60e51b815260040162000106906200017c565b60405180910390fd5b505050620001cc565b6000602082840312156200012a578081fd5b81516200013781620001b3565b9392505050565b6000806040838503121562000151578081fd5b82516200015e81620001b3565b60208401519092506200017181620001b3565b809150509250929050565b60208082526017908201527f456e636f756e74657265642066756e6e79207661756c74000000000000000000604082015260600190565b6001600160a01b0381168114620001c957600080fd5b50565b60805160601c61137d620001ef600039806102e55280610578525061137d6000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c80639adf0ee31161008c578063c32990a211610066578063c32990a21461016f578063c54efee514610177578063e7c456901461019b578063f7d882b5146101a3576100ea565b80639adf0ee31461013d578063b23228cf14610152578063b7fe1a111461015a576100ea565b8063257cb1a3116100c8578063257cb1a31461011d5780633ffc15911461012557806340da225d1461012d578063863e5ad014610135576100ea565b8063080456c1146100ef57806312d9c1f61461010d578063131461c014610115575b600080fd5b6100f76101ab565b6040516101049190610fed565b60405180910390f35b6100f76101cf565b6100f76101f3565b6100f7610217565b6100f761023b565b6100f761025f565b6100f7610283565b6101456102a7565b6040516101049190610fc0565b6100f76102b6565b61016d610168366004610beb565b6102da565b005b6100f76104fb565b61018a610185366004610b7c565b61051f565b604051610104959493929190611002565b610145610576565b6100f761059a565b7f8334eb99be0145865eba9889fca2ee920288090caefff4cc776038e20ad9259a81565b7fb7fe1a117cff974e3f19d303d9f97ada44b7ecad880df21ddfdc69ba0493b79681565b7f29fa046e79524c3c5ac4c01df692c35e217802b2b13b21121b76cf0ef02b138c81565b7f099f75155f0e997bf83a7993a71d5e7e7540bd386fe1e84643a09ce6b412521981565b7ffa7dd04da627f433da73c4355ead9c75682a67a8fc84d3f6170ef0922f402d2481565b7fb9dfbaccbe5cd2a84fdcf1d15f23ef25d23086f5afbaa99516065ed4a5bbc7a381565b7f03e38a2bd7063d45c897edeafc330e71657502dd86434d3c37a489caf116af6981565b6000546001600160a01b031681565b7f68e30677f607df46e87da13e15b637784cfa62374b653f35ab43d10361a2f83081565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461032b5760405162461bcd60e51b815260040161032290611129565b60405180910390fd5b8484848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8a018190048102820181019092528881528a9350915088908890819084018382808284376000920182905250546001600160a01b038d811691161492506103c49150505760405162461bcd60e51b81526004016103229061117b565b60606103d089896105be565b9450505050506060806103e2836105e3565b9150915060005b82518110156104b657600083828151811061040057fe5b60200260200101519050606083838151811061041857fe5b6020026020010151905060006060836001600160a01b03168360405161043e9190610fa4565b6000604051808303816000865af19150503d806000811461047b576040519150601f19603f3d011682016040523d82523d6000602084013e610480565b606091505b50915091508181906104a55760405162461bcd60e51b8152600401610322919061106b565b5050600190930192506103e9915050565b5050505060606104c582610626565b505090506104d3838261064c565b5050505060606104e282610626565b925050506104f0838261064c565b505050505050505050565b7f0e7f692dad5b88fdee426250d6eae91207e56a2e8112b7364579bed1790e5bf481565b600060608080806001600160e01b0319881663b7fe1a1160e01b146105565760405162461bcd60e51b81526004016103229061124d565b61056087876105be565b5060029d919c509a509198509650945050505050565b7f000000000000000000000000000000000000000000000000000000000000000090565b7fc29fa9dde84204c2908778afd0613d802d31cf046179b88f6d2b4a4e507ea2d581565b6060808080806105d086880188610e2e565b939b929a50909850965090945092505050565b606080828060200190518101906105fa9190610c6b565b80518251929450909250146106215760405162461bcd60e51b81526004016103229061109e565b915091565b60608060608380602001905181019061063f9190610d54565b9250925092509193909250565b6060815167ffffffffffffffff8111801561066657600080fd5b50604051908082528060200260200182016040528015610690578160200160208202803683370190505b50905060005b82518110156107a15760008382815181106106ad57fe5b60200260200101519050806001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016106e39190610fc0565b60206040518083038186803b1580156106fb57600080fd5b505afa15801561070f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107339190610f1a565b83838151811061073f57fe5b602002602001018181525050600083838151811061075957fe5b60200260200101511115610798576107988584848151811061077757fe5b6020026020010151836001600160a01b03166107a89092919063ffffffff16565b50600101610696565b5092915050565b6107fe8363a9059cbb60e01b84846040516024016107c7929190610fd4565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610803565b505050565b6060610858826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166108929092919063ffffffff16565b8051909150156107fe57808060200190518101906108769190610efa565b6107fe5760405162461bcd60e51b815260040161032290611203565b60606108a184846000856108ab565b90505b9392505050565b6060824710156108cd5760405162461bcd60e51b8152600401610322906110e3565b6108d68561096c565b6108f25760405162461bcd60e51b8152600401610322906111cc565b60006060866001600160a01b0316858760405161090f9190610fa4565b60006040518083038185875af1925050503d806000811461094c576040519150601f19603f3d011682016040523d82523d6000602084013e610951565b606091505b5091509150610961828286610972565b979650505050505050565b3b151590565b606083156109815750816108a4565b8251156109915782518084602001fd5b8160405162461bcd60e51b8152600401610322919061106b565b600082601f8301126109bb578081fd5b81356109ce6109c9826112bb565b611294565b8181529150602080830190848101818402860182018710156109ef57600080fd5b60005b84811015610a17578135610a058161132f565b845292820192908201906001016109f2565b505050505092915050565b600082601f830112610a32578081fd5b8151610a406109c9826112bb565b818152915060208083019084810181840286018201871015610a6157600080fd5b60005b84811015610a17578151610a778161132f565b84529282019290820190600101610a64565b600082601f830112610a99578081fd5b8135610aa76109c9826112bb565b818152915060208083019084810181840286018201871015610ac857600080fd5b60005b84811015610a1757813584529282019290820190600101610acb565b60008083601f840112610af8578182fd5b50813567ffffffffffffffff811115610b0f578182fd5b602083019150836020828501011115610b2757600080fd5b9250929050565b600082601f830112610b3e578081fd5b8135610b4c6109c9826112db565b9150808252836020828501011115610b6357600080fd5b8060208401602084013760009082016020015292915050565b60008060008060608587031215610b91578384fd5b8435610b9c8161132f565b935060208501356001600160e01b031981168114610bb8578384fd5b9250604085013567ffffffffffffffff811115610bd3578283fd5b610bdf87828801610ae7565b95989497509550505050565b600080600080600060608688031215610c02578081fd5b8535610c0d8161132f565b9450602086013567ffffffffffffffff80821115610c29578283fd5b610c3589838a01610ae7565b90965094506040880135915080821115610c4d578283fd5b50610c5a88828901610ae7565b969995985093965092949392505050565b6000806040808486031215610c7e578283fd5b835167ffffffffffffffff80821115610c95578485fd5b610ca187838801610a22565b9450602091508186015181811115610cb7578485fd5b86019050601f81018713610cc9578384fd5b8051610cd76109c9826112bb565b81815283810190838501875b84811015610d4357815186018c603f820112610cfd57898afd5b87810151610d0d6109c9826112db565b8181528e8b838501011115610d20578b8cfd5b610d2f828b83018d86016112ff565b865250509286019290860190600101610ce3565b50979a909950975050505050505050565b600080600060608486031215610d68578283fd5b835167ffffffffffffffff80821115610d7f578485fd5b610d8b87838801610a22565b9450602091508186015181811115610da1578485fd5b8601601f81018813610db1578485fd5b8051610dbf6109c9826112bb565b81815284810190838601868402850187018c1015610ddb578889fd5b8894505b83851015610dfd578051835260019490940193918601918601610ddf565b5060408a0151909750945050505080821115610e17578283fd5b50610e2486828701610a22565b9150509250925092565b600080600080600060a08688031215610e45578081fd5b853567ffffffffffffffff80821115610e5c578283fd5b610e6889838a016109ab565b96506020880135915080821115610e7d578283fd5b610e8989838a01610a89565b95506040880135915080821115610e9e578283fd5b610eaa89838a016109ab565b94506060880135915080821115610ebf578283fd5b610ecb89838a01610a89565b93506080880135915080821115610ee0578283fd5b50610eed88828901610b2e565b9150509295509295909350565b600060208284031215610f0b578081fd5b815180151581146108a4578182fd5b600060208284031215610f2b578081fd5b5051919050565b6000815180845260208085019450808401835b83811015610f6a5781516001600160a01b031687529582019590820190600101610f45565b509495945050505050565b6000815180845260208085019450808401835b83811015610f6a57815187529582019590820190600101610f88565b60008251610fb68184602087016112ff565b9190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b6001600160e01b031991909116815260200190565b60006003871061100e57fe5b86825260a0602083015261102560a0830187610f32565b82810360408401526110378187610f75565b9050828103606084015261104b8186610f32565b9050828103608084015261105f8185610f75565b98975050505050505050565b600060208252825180602084015261108a8160408501602087016112ff565b601f01601f19169190910160400192915050565b60208082526025908201527f556e657175616c2065787465726e616c2063616c6c7320617272617973206c656040820152646e6774687360d81b606082015260800190565b60208082526026908201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6040820152651c8818d85b1b60d21b606082015260800190565b60208082526032908201527f4f6e6c792074686520496e746567726174696f6e4d616e616765722063616e2060408201527131b0b636103a3434b990333ab731ba34b7b760711b606082015260800190565b60208082526031908201527f4f6e6c792063616c6c732066726f6d207468652077686974656c6973746564206040820152701d985d5b1d08185c9948185b1b1bddd959607a1b606082015260800190565b6020808252601d908201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604082015260600190565b6020808252602a908201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6040820152691bdd081cdd58d8d9595960b21b606082015260800190565b60208082526027908201527f7061727365417373657473466f72416374696f6e3a205f73656c6563746f72206040820152661a5b9d985b1a5960ca1b606082015260800190565b60405181810167ffffffffffffffff811182821017156112b357600080fd5b604052919050565b600067ffffffffffffffff8211156112d1578081fd5b5060209081020190565b600067ffffffffffffffff8211156112f1578081fd5b50601f01601f191660200190565b60005b8381101561131a578181015183820152602001611302565b83811115611329576000848401525b50505050565b6001600160a01b038116811461134457600080fd5b5056fea264697066735822122005012f04afe98d17e145919713c9ddd443249e81b5bd2375b4021d0ca8facb9664736f6c634300060c0033","sourceMap":"435:4552:84:-:0;;;729:492;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1938:41:19;;;;-1:-1:-1;;;;;;1938:41:19;;;877:16:84::1;:36:::0;;-1:-1:-1;;;;;;877:36:84::1;-1:-1:-1::0;;;;;877:36:84;;::::1;::::0;;;::::1;::::0;;;;1122:18:::1;::::0;;-1:-1:-1;;;1122:18:84;;;;1087:16;;;::::1;::::0;;;1122::::1;::::0;:18:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;1087:16;1122:18;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;1122:64:84::1;1114:100;;;;-1:-1:-1::0;;;1114:100:84::1;;;;;;;:::i;:::-;;;;;;;;;729:492;::::0;;435:4552;;303:263:-1;;418:2;406:9;397:7;393:23;389:32;386:2;;;-1:-1;;424:12;386:2;89:6;83:13;101:33;128:5;101:33;:::i;:::-;476:74;380:186;-1:-1;;;380:186::o;573:415::-;;;713:2;701:9;692:7;688:23;684:32;681:2;;;-1:-1;;719:12;681:2;89:6;83:13;101:33;128:5;101:33;:::i;:::-;882:2;940:22;;232:13;771:74;;-1:-1;250:41;232:13;250:41;:::i;:::-;890:82;;;;675:313;;;;;:::o;1327:416::-;1527:2;1541:47;;;1220:2;1512:18;;;1854:19;1256:25;1894:14;;;1236:46;1301:12;;;1498:245::o;2254:117::-;-1:-1;;;;;2188:54;;2313:35;;2303:2;;2362:1;;2352:12;2303:2;2297:74;:::o;:::-;435:4552:84;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100ea5760003560e01c80639adf0ee31161008c578063c32990a211610066578063c32990a21461016f578063c54efee514610177578063e7c456901461019b578063f7d882b5146101a3576100ea565b80639adf0ee31461013d578063b23228cf14610152578063b7fe1a111461015a576100ea565b8063257cb1a3116100c8578063257cb1a31461011d5780633ffc15911461012557806340da225d1461012d578063863e5ad014610135576100ea565b8063080456c1146100ef57806312d9c1f61461010d578063131461c014610115575b600080fd5b6100f76101ab565b6040516101049190610fed565b60405180910390f35b6100f76101cf565b6100f76101f3565b6100f7610217565b6100f761023b565b6100f761025f565b6100f7610283565b6101456102a7565b6040516101049190610fc0565b6100f76102b6565b61016d610168366004610beb565b6102da565b005b6100f76104fb565b61018a610185366004610b7c565b61051f565b604051610104959493929190611002565b610145610576565b6100f761059a565b7f8334eb99be0145865eba9889fca2ee920288090caefff4cc776038e20ad9259a81565b7fb7fe1a117cff974e3f19d303d9f97ada44b7ecad880df21ddfdc69ba0493b79681565b7f29fa046e79524c3c5ac4c01df692c35e217802b2b13b21121b76cf0ef02b138c81565b7f099f75155f0e997bf83a7993a71d5e7e7540bd386fe1e84643a09ce6b412521981565b7ffa7dd04da627f433da73c4355ead9c75682a67a8fc84d3f6170ef0922f402d2481565b7fb9dfbaccbe5cd2a84fdcf1d15f23ef25d23086f5afbaa99516065ed4a5bbc7a381565b7f03e38a2bd7063d45c897edeafc330e71657502dd86434d3c37a489caf116af6981565b6000546001600160a01b031681565b7f68e30677f607df46e87da13e15b637784cfa62374b653f35ab43d10361a2f83081565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461032b5760405162461bcd60e51b815260040161032290611129565b60405180910390fd5b8484848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8a018190048102820181019092528881528a9350915088908890819084018382808284376000920182905250546001600160a01b038d811691161492506103c49150505760405162461bcd60e51b81526004016103229061117b565b60606103d089896105be565b9450505050506060806103e2836105e3565b9150915060005b82518110156104b657600083828151811061040057fe5b60200260200101519050606083838151811061041857fe5b6020026020010151905060006060836001600160a01b03168360405161043e9190610fa4565b6000604051808303816000865af19150503d806000811461047b576040519150601f19603f3d011682016040523d82523d6000602084013e610480565b606091505b50915091508181906104a55760405162461bcd60e51b8152600401610322919061106b565b5050600190930192506103e9915050565b5050505060606104c582610626565b505090506104d3838261064c565b5050505060606104e282610626565b925050506104f0838261064c565b505050505050505050565b7f0e7f692dad5b88fdee426250d6eae91207e56a2e8112b7364579bed1790e5bf481565b600060608080806001600160e01b0319881663b7fe1a1160e01b146105565760405162461bcd60e51b81526004016103229061124d565b61056087876105be565b5060029d919c509a509198509650945050505050565b7f000000000000000000000000000000000000000000000000000000000000000090565b7fc29fa9dde84204c2908778afd0613d802d31cf046179b88f6d2b4a4e507ea2d581565b6060808080806105d086880188610e2e565b939b929a50909850965090945092505050565b606080828060200190518101906105fa9190610c6b565b80518251929450909250146106215760405162461bcd60e51b81526004016103229061109e565b915091565b60608060608380602001905181019061063f9190610d54565b9250925092509193909250565b6060815167ffffffffffffffff8111801561066657600080fd5b50604051908082528060200260200182016040528015610690578160200160208202803683370190505b50905060005b82518110156107a15760008382815181106106ad57fe5b60200260200101519050806001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016106e39190610fc0565b60206040518083038186803b1580156106fb57600080fd5b505afa15801561070f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107339190610f1a565b83838151811061073f57fe5b602002602001018181525050600083838151811061075957fe5b60200260200101511115610798576107988584848151811061077757fe5b6020026020010151836001600160a01b03166107a89092919063ffffffff16565b50600101610696565b5092915050565b6107fe8363a9059cbb60e01b84846040516024016107c7929190610fd4565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610803565b505050565b6060610858826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166108929092919063ffffffff16565b8051909150156107fe57808060200190518101906108769190610efa565b6107fe5760405162461bcd60e51b815260040161032290611203565b60606108a184846000856108ab565b90505b9392505050565b6060824710156108cd5760405162461bcd60e51b8152600401610322906110e3565b6108d68561096c565b6108f25760405162461bcd60e51b8152600401610322906111cc565b60006060866001600160a01b0316858760405161090f9190610fa4565b60006040518083038185875af1925050503d806000811461094c576040519150601f19603f3d011682016040523d82523d6000602084013e610951565b606091505b5091509150610961828286610972565b979650505050505050565b3b151590565b606083156109815750816108a4565b8251156109915782518084602001fd5b8160405162461bcd60e51b8152600401610322919061106b565b600082601f8301126109bb578081fd5b81356109ce6109c9826112bb565b611294565b8181529150602080830190848101818402860182018710156109ef57600080fd5b60005b84811015610a17578135610a058161132f565b845292820192908201906001016109f2565b505050505092915050565b600082601f830112610a32578081fd5b8151610a406109c9826112bb565b818152915060208083019084810181840286018201871015610a6157600080fd5b60005b84811015610a17578151610a778161132f565b84529282019290820190600101610a64565b600082601f830112610a99578081fd5b8135610aa76109c9826112bb565b818152915060208083019084810181840286018201871015610ac857600080fd5b60005b84811015610a1757813584529282019290820190600101610acb565b60008083601f840112610af8578182fd5b50813567ffffffffffffffff811115610b0f578182fd5b602083019150836020828501011115610b2757600080fd5b9250929050565b600082601f830112610b3e578081fd5b8135610b4c6109c9826112db565b9150808252836020828501011115610b6357600080fd5b8060208401602084013760009082016020015292915050565b60008060008060608587031215610b91578384fd5b8435610b9c8161132f565b935060208501356001600160e01b031981168114610bb8578384fd5b9250604085013567ffffffffffffffff811115610bd3578283fd5b610bdf87828801610ae7565b95989497509550505050565b600080600080600060608688031215610c02578081fd5b8535610c0d8161132f565b9450602086013567ffffffffffffffff80821115610c29578283fd5b610c3589838a01610ae7565b90965094506040880135915080821115610c4d578283fd5b50610c5a88828901610ae7565b969995985093965092949392505050565b6000806040808486031215610c7e578283fd5b835167ffffffffffffffff80821115610c95578485fd5b610ca187838801610a22565b9450602091508186015181811115610cb7578485fd5b86019050601f81018713610cc9578384fd5b8051610cd76109c9826112bb565b81815283810190838501875b84811015610d4357815186018c603f820112610cfd57898afd5b87810151610d0d6109c9826112db565b8181528e8b838501011115610d20578b8cfd5b610d2f828b83018d86016112ff565b865250509286019290860190600101610ce3565b50979a909950975050505050505050565b600080600060608486031215610d68578283fd5b835167ffffffffffffffff80821115610d7f578485fd5b610d8b87838801610a22565b9450602091508186015181811115610da1578485fd5b8601601f81018813610db1578485fd5b8051610dbf6109c9826112bb565b81815284810190838601868402850187018c1015610ddb578889fd5b8894505b83851015610dfd578051835260019490940193918601918601610ddf565b5060408a0151909750945050505080821115610e17578283fd5b50610e2486828701610a22565b9150509250925092565b600080600080600060a08688031215610e45578081fd5b853567ffffffffffffffff80821115610e5c578283fd5b610e6889838a016109ab565b96506020880135915080821115610e7d578283fd5b610e8989838a01610a89565b95506040880135915080821115610e9e578283fd5b610eaa89838a016109ab565b94506060880135915080821115610ebf578283fd5b610ecb89838a01610a89565b93506080880135915080821115610ee0578283fd5b50610eed88828901610b2e565b9150509295509295909350565b600060208284031215610f0b578081fd5b815180151581146108a4578182fd5b600060208284031215610f2b578081fd5b5051919050565b6000815180845260208085019450808401835b83811015610f6a5781516001600160a01b031687529582019590820190600101610f45565b509495945050505050565b6000815180845260208085019450808401835b83811015610f6a57815187529582019590820190600101610f88565b60008251610fb68184602087016112ff565b9190910192915050565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b6001600160e01b031991909116815260200190565b60006003871061100e57fe5b86825260a0602083015261102560a0830187610f32565b82810360408401526110378187610f75565b9050828103606084015261104b8186610f32565b9050828103608084015261105f8185610f75565b98975050505050505050565b600060208252825180602084015261108a8160408501602087016112ff565b601f01601f19169190910160400192915050565b60208082526025908201527f556e657175616c2065787465726e616c2063616c6c7320617272617973206c656040820152646e6774687360d81b606082015260800190565b60208082526026908201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6040820152651c8818d85b1b60d21b606082015260800190565b60208082526032908201527f4f6e6c792074686520496e746567726174696f6e4d616e616765722063616e2060408201527131b0b636103a3434b990333ab731ba34b7b760711b606082015260800190565b60208082526031908201527f4f6e6c792063616c6c732066726f6d207468652077686974656c6973746564206040820152701d985d5b1d08185c9948185b1b1bddd959607a1b606082015260800190565b6020808252601d908201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604082015260600190565b6020808252602a908201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6040820152691bdd081cdd58d8d9595960b21b606082015260800190565b60208082526027908201527f7061727365417373657473466f72416374696f6e3a205f73656c6563746f72206040820152661a5b9d985b1a5960ca1b606082015260800190565b60405181810167ffffffffffffffff811182821017156112b357600080fd5b604052919050565b600067ffffffffffffffff8211156112d1578081fd5b5060209081020190565b600067ffffffffffffffff8211156112f1578081fd5b50601f01601f191660200190565b60005b8381101561131a578181015183820152602001611302565b83811115611329576000848401525b50505050565b6001600160a01b038116811461134457600080fd5b5056fea264697066735822122005012f04afe98d17e145919713c9ddd443249e81b5bd2375b4021d0ca8facb9664736f6c634300060c0033","sourceMap":"435:4552:84:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1490:119:20;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;606:116:84;;;:::i;1373:111:20:-;;;:::i;832:85::-;;;:::i;1034:87::-;;;:::i;1240:110::-;;;:::i;706:104::-;;;:::i;494:39:84:-;;;:::i;:::-;;;;;;;:::i;1127:91:20:-;;;:::i;1417:943:84:-;;;;;;:::i;:::-;;:::i;:::-;;577:123:20;;;:::i;3004:965:84:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;:::i;2637:128:19:-;;;:::i;923:89:20:-;;;:::i;1490:119::-;1558:50;1490:119;:::o;606:116:84:-;670:46;606:116;:::o;1373:111:20:-;1437:46;1373:111;:::o;832:85::-;878:38;832:85;:::o;1034:87::-;1081:39;1034:87;:::o;1240:110::-;1303:46;1240:110;:::o;706:104::-;766:43;706:104;:::o;494:39:84:-;;;-1:-1:-1;;;;;494:39:84;;:::o;1127:91:20:-;1176:41;1127:91;:::o;1417:943:84:-;1747:10:19;-1:-1:-1;;;;;1761:19:19;1747:33;;1726:130;;;;-1:-1:-1;;;1726:130:19;;;;;;;:::i;:::-;;;;;;;;;1630:11:84::1;1643;;987:278:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;;1429:247:19::2;::::0;;::::2;987:278:::1;1429:247:::0;::::2;::::0;;::::2;::::0;::::2;::::0;;;;;;;;;;1701:11:84;;-1:-1:-1;1429:247:19;-1:-1:-1;1714:11:84;;;;;;1429:247:19;::::2;1714:11:84::0;;;;1429:247:19;::::2;;::::0;::::2;::::0;;;-1:-1:-1;1764:16:84;-1:-1:-1;;;;;1749:31:84;;::::3;1764:16:::0;::::3;1749:31;::::0;-1:-1:-1;1741:93:84::3;::::0;-1:-1:-1;;1741:93:84::3;;;-1:-1:-1::0;;;1741:93:84::3;;;;;;;:::i;:::-;1854:30;1888:29;1905:11;;1888:16;:29::i;:::-;1845:72;;;;;;1929:26;1957:24:::0;1985:66:::3;2024:17;1985:25;:66::i;:::-;1928:123;;;;2067:9;2062:292;2082:9;:16;2078:1;:20;2062:292;;;2119:23;2145:9;2155:1;2145:12;;;;;;;;;;;;;;2119:38;;2171:21;2195:9;2205:1;2195:12;;;;;;;;;;;;;;2171:36;;2222:12;2236:23;2263:15;-1:-1:-1::0;;;;;2263:20:84::3;2284:8;2263:30;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2221:72;;;;2315:7;2331:10;2307:36;;;;;-1:-1:-1::0;;;2307:36:84::3;;;;;;;;:::i;:::-;-1:-1:-1::0;;2100:3:84::3;::::0;;::::3;::::0;-1:-1:-1;2062:292:84::3;::::0;-1:-1:-1;;2062:292:84::3;;;1531:1:19;;;1544:28:::2;1580:29;1598:10;1580:17;:29::i;:::-;1543:66;;;;1620:49;1644:11;1657;1620:23;:49::i;:::-;;1114:1;;;1131:31:::1;1166:29;1184:10;1166:17;:29::i;:::-;1126:69;;;;1206:52;1230:11;1243:14;1206:23;:52::i;:::-;;1866:1;;;1417:943:84::0;;;;;:::o;577:123:20:-;647:52;577:123;:::o;3004:965:84:-;3196:64;3274:29;;;;-1:-1:-1;;;;;;3486:35:84;;-1:-1:-1;;;3486:35:84;3478:87;;;;-1:-1:-1;;;3478:87:84;;;;;;;:::i;:::-;3716:29;3733:11;;3716:16;:29::i;:::-;-1:-1:-1;3777:50:84;;3576:169;;-1:-1:-1;3576:169:84;-1:-1:-1;3576:169:84;;-1:-1:-1;3576:169:84;-1:-1:-1;3004:965:84;-1:-1:-1;;;;;3004:965:84:o;2637:128:19:-;2739:19;2637:128;:::o;923:89:20:-;971:40;923:89;:::o;4050:453:84:-;4163:32;;;;;4420:76;;;;4431:11;4420:76;:::i;:::-;4413:83;;;;-1:-1:-1;4413:83:84;;-1:-1:-1;4413:83:84;-1:-1:-1;4413:83:84;;-1:-1:-1;4050:453:84;-1:-1:-1;;;4050:453:84:o;4576:409::-;4690:27;4719:25;4798:18;4787:52;;;;;;;;;;;;:::i;:::-;4878:17;;4857;;4760:79;;-1:-1:-1;4760:79:84;;-1:-1:-1;4857:38:84;4849:88;;;;-1:-1:-1;;;4849:88:84;;;;;;;:::i;:::-;4576:409;;;:::o;2093:332:19:-;2205:29;2248:35;2297:32;2372:10;2361:57;;;;;;;;;;;;:::i;:::-;2354:64;;;;;;2093:332;;;;;:::o;3539:585:29:-;3649:36;3737:7;:14;3723:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3723:29:29;;3701:51;;3767:9;3762:319;3782:7;:14;3778:1;:18;3762:319;;;3817:19;3845:7;3853:1;3845:10;;;;;;;;;;;;;;3817:39;;3895:13;-1:-1:-1;;;;;3895:23:29;;3927:4;3895:38;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3870:19;3890:1;3870:22;;;;;;;;;;;;;:63;;;;;3976:1;3951:19;3971:1;3951:22;;;;;;;;;;;;;;:26;3947:124;;;3997:59;4024:7;4033:19;4053:1;4033:22;;;;;;;;;;;;;;3997:13;-1:-1:-1;;;;;3997:26:29;;;:59;;;;;:::i;:::-;-1:-1:-1;3798:3:29;;3762:319;;;;3539:585;;;;:::o;704:175:36:-;786:86;806:5;836:23;;;861:2;865:5;813:58;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;813:58:36;;;;;;;;;;;;;;-1:-1:-1;;;;;813:58:36;-1:-1:-1;;;;;;813:58:36;;;;;;;;;;786:19;:86::i;:::-;704:175;;;:::o;2967:751::-;3386:23;3412:69;3440:4;3412:69;;;;;;;;;;;;;;;;;3420:5;-1:-1:-1;;;;;3412:27:36;;;:69;;;;;:::i;:::-;3495:17;;3386:95;;-1:-1:-1;3495:21:36;3491:221;;3635:10;3624:30;;;;;;;;;;;;:::i;:::-;3616:85;;;;-1:-1:-1;;;3616:85:36;;;;;;;:::i;3581:193:37:-;3684:12;3715:52;3737:6;3745:4;3751:1;3754:12;3715:21;:52::i;:::-;3708:59;;3581:193;;;;;;:::o;4608:523::-;4735:12;4792:5;4767:21;:30;;4759:81;;;;-1:-1:-1;;;4759:81:37;;;;;;;:::i;:::-;4858:18;4869:6;4858:10;:18::i;:::-;4850:60;;;;-1:-1:-1;;;4850:60:37;;;;;;;:::i;:::-;4981:12;4995:23;5022:6;-1:-1:-1;;;;;5022:11:37;5042:5;5050:4;5022:33;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4980:75;;;;5072:52;5090:7;5099:10;5111:12;5072:17;:52::i;:::-;5065:59;4608:523;-1:-1:-1;;;;;;;4608:523:37:o;726:413::-;1086:20;1124:8;;;726:413::o;7091:725::-;7206:12;7234:7;7230:580;;;-1:-1:-1;7264:10:37;7257:17;;7230:580;7375:17;;:21;7371:429;;7633:10;7627:17;7693:15;7680:10;7676:2;7672:19;7665:44;7582:145;7772:12;7765:20;;-1:-1:-1;;;7765:20:37;;;;;;;;:::i;301:707:-1:-;;418:3;411:4;403:6;399:17;395:27;385:2;;-1:-1;;426:12;385:2;473:6;460:20;495:80;510:64;567:6;510:64;:::i;:::-;495:80;:::i;:::-;603:21;;;486:89;-1:-1;647:4;660:14;;;;635:17;;;749;;;740:27;;;;737:36;-1:-1;734:2;;;786:1;;776:12;734:2;811:1;796:206;821:6;818:1;815:13;796:206;;;85:6;72:20;97:33;124:5;97:33;:::i;:::-;889:50;;953:14;;;;981;;;;843:1;836:9;796:206;;;800:14;;;;;378:630;;;;:::o;1034:722::-;;1162:3;1155:4;1147:6;1143:17;1139:27;1129:2;;-1:-1;;1170:12;1129:2;1210:6;1204:13;1232:80;1247:64;1304:6;1247:64;:::i;1232:80::-;1340:21;;;1223:89;-1:-1;1384:4;1397:14;;;;1372:17;;;1486;;;1477:27;;;;1474:36;-1:-1;1471:2;;;1523:1;;1513:12;1471:2;1548:1;1533:217;1558:6;1555:1;1552:13;1533:217;;;226:6;220:13;238:33;265:5;238:33;:::i;:::-;1626:61;;1701:14;;;;1729;;;;1580:1;1573:9;1533:217;;2519:707;;2636:3;2629:4;2621:6;2617:17;2613:27;2603:2;;-1:-1;;2644:12;2603:2;2691:6;2678:20;2713:80;2728:64;2785:6;2728:64;:::i;2713:80::-;2821:21;;;2704:89;-1:-1;2865:4;2878:14;;;;2853:17;;;2967;;;2958:27;;;;2955:36;-1:-1;2952:2;;;3004:1;;2994:12;2952:2;3029:1;3014:206;3039:6;3036:1;3033:13;3014:206;;;5577:20;;3107:50;;3171:14;;;;3199;;;;3061:1;3054:9;3014:206;;4266:336;;;4380:3;4373:4;4365:6;4361:17;4357:27;4347:2;;-1:-1;;4388:12;4347:2;-1:-1;4418:20;;4458:18;4447:30;;4444:2;;;-1:-1;;4480:12;4444:2;4524:4;4516:6;4512:17;4500:29;;4575:3;4524:4;4555:17;4516:6;4541:32;;4538:41;4535:2;;;4592:1;;4582:12;4535:2;4340:262;;;;;:::o;4611:440::-;;4712:3;4705:4;4697:6;4693:17;4689:27;4679:2;;-1:-1;;4720:12;4679:2;4767:6;4754:20;4789:64;4804:48;4845:6;4804:48;:::i;4789:64::-;4780:73;;4873:6;4866:5;4859:21;4977:3;4909:4;4968:6;4901;4959:16;;4956:25;4953:2;;;4994:1;;4984:12;4953:2;27130:6;4909:4;4901:6;4897:17;4909:4;4935:5;4931:16;27107:30;27186:1;27168:16;;;4909:4;27168:16;27161:27;4935:5;4672:379;-1:-1;;4672:379::o;5788:613::-;;;;;5944:2;5932:9;5923:7;5919:23;5915:32;5912:2;;;-1:-1;;5950:12;5912:2;85:6;72:20;97:33;124:5;97:33;:::i;:::-;6002:63;-1:-1;6102:2;6140:22;;4183:20;-1:-1;;;;;;26417:78;;28009:34;;27999:2;;-1:-1;;28047:12;27999:2;6110:62;-1:-1;6237:2;6222:18;;6209:32;6261:18;6250:30;;6247:2;;;-1:-1;;6283:12;6247:2;6321:64;6377:7;6368:6;6357:9;6353:22;6321:64;:::i;:::-;5906:495;;;;-1:-1;6303:82;-1:-1;;;;5906:495::o;6408:739::-;;;;;;6584:2;6572:9;6563:7;6559:23;6555:32;6552:2;;;-1:-1;;6590:12;6552:2;85:6;72:20;97:33;124:5;97:33;:::i;:::-;6642:63;-1:-1;6770:2;6755:18;;6742:32;6794:18;6783:30;;;6780:2;;;-1:-1;;6816:12;6780:2;6854:64;6910:7;6901:6;6890:9;6886:22;6854:64;:::i;:::-;6836:82;;-1:-1;6836:82;-1:-1;6983:2;6968:18;;6955:32;;-1:-1;6996:30;;;6993:2;;;-1:-1;;7029:12;6993:2;;7067:64;7123:7;7114:6;7103:9;7099:22;7067:64;:::i;:::-;6546:601;;;;-1:-1;6546:601;;-1:-1;7049:82;;;6546:601;-1:-1;;;6546:601::o;7154:675::-;;;7345:2;;7333:9;7324:7;7320:23;7316:32;7313:2;;;-1:-1;;7351:12;7313:2;7402:17;7396:24;7440:18;;7432:6;7429:30;7426:2;;;-1:-1;;7462:12;7426:2;7492:89;7573:7;7564:6;7553:9;7549:22;7492:89;:::i;:::-;7482:99;;7639:2;;;;7628:9;7624:18;7618:25;7440:18;7655:6;7652:30;7649:2;;;-1:-1;;7685:12;7649:2;7781:22;;;-1:-1;1910:4;1898:17;;1894:27;-1:-1;1884:2;;-1:-1;;1925:12;1884:2;1965:6;1959:13;1987:89;2002:73;2068:6;2002:73;:::i;1987:89::-;2104:21;;;2161:14;;;;2136:17;;;-1:-1;2241:246;2266:6;2263:1;2260:13;2241:246;;;2342:3;2336:10;2140:6;2324:23;5172:3;5153:17;2324:23;5153:17;5149:27;5139:2;;-1:-1;;5180:12;5139:2;7639;2324:23;;5214:13;5242:64;5257:48;5298:6;5257:48;:::i;5242:64::-;5326:6;5319:5;5312:21;5430:3;7345:2;5421:6;2324:23;5412:16;;5409:25;5406:2;;;-1:-1;;5437:12;5406:2;5457:39;5489:6;7639:2;5388:5;5384:16;7345:2;2324:23;5350:17;5457:39;:::i;:::-;2354:70;;-1:-1;;2438:14;;;;2466;;;;2288:1;2281:9;2241:246;;;-1:-1;7307:522;;7705:108;;-1:-1;7307:522;-1:-1;;;;;;;;7307:522::o;7836:922::-;;;;8060:2;8048:9;8039:7;8035:23;8031:32;8028:2;;;-1:-1;;8066:12;8028:2;8117:17;8111:24;8155:18;;8147:6;8144:30;8141:2;;;-1:-1;;8177:12;8141:2;8207:89;8288:7;8279:6;8268:9;8264:22;8207:89;:::i;:::-;8197:99;;8354:2;;;;8343:9;8339:18;8333:25;8155:18;8370:6;8367:30;8364:2;;;-1:-1;;8400:12;8364:2;8487:22;;3373:4;3361:17;;3357:27;-1:-1;3347:2;;-1:-1;;3388:12;3347:2;3428:6;3422:13;3450:80;3465:64;3522:6;3465:64;:::i;3450:80::-;3558:21;;;3615:14;;;;3590:17;;;3704;;;3695:27;;;;3692:36;-1:-1;3689:2;;;-1:-1;;3731:12;3689:2;-1:-1;3757:10;;3751:217;3776:6;3773:1;3770:13;3751:217;;;5725:13;;3844:61;;3798:1;3791:9;;;;;3919:14;;;;3947;;3751:217;;;-1:-1;8577:2;8562:18;;8556:25;8420:99;;-1:-1;8556:25;-1:-1;;;;8590:30;;;8587:2;;;-1:-1;;8623:12;8587:2;;8653:89;8734:7;8725:6;8714:9;8710:22;8653:89;:::i;:::-;8643:99;;;8022:736;;;;;:::o;8765:1391::-;;;;;;9046:3;9034:9;9025:7;9021:23;9017:33;9014:2;;;-1:-1;;9053:12;9014:2;9111:17;9098:31;9149:18;;9141:6;9138:30;9135:2;;;-1:-1;;9171:12;9135:2;9201:78;9271:7;9262:6;9251:9;9247:22;9201:78;:::i;:::-;9191:88;;9344:2;9333:9;9329:18;9316:32;9302:46;;9149:18;9360:6;9357:30;9354:2;;;-1:-1;;9390:12;9354:2;9420:78;9490:7;9481:6;9470:9;9466:22;9420:78;:::i;:::-;9410:88;;9563:2;9552:9;9548:18;9535:32;9521:46;;9149:18;9579:6;9576:30;9573:2;;;-1:-1;;9609:12;9573:2;9639:78;9709:7;9700:6;9689:9;9685:22;9639:78;:::i;:::-;9629:88;;9782:2;9771:9;9767:18;9754:32;9740:46;;9149:18;9798:6;9795:30;9792:2;;;-1:-1;;9828:12;9792:2;9858:78;9928:7;9919:6;9908:9;9904:22;9858:78;:::i;:::-;9848:88;;10001:3;9990:9;9986:19;9973:33;9959:47;;9149:18;10018:6;10015:30;10012:2;;;-1:-1;;10048:12;10012:2;;10078:62;10132:7;10123:6;10112:9;10108:22;10078:62;:::i;:::-;10068:72;;;9008:1148;;;;;;;;:::o;10163:257::-;;10275:2;10263:9;10254:7;10250:23;10246:32;10243:2;;;-1:-1;;10281:12;10243:2;4063:6;4057:13;27914:5;26330:13;26323:21;27892:5;27889:32;27879:2;;-1:-1;;27925:12;10427:263;;10542:2;10530:9;10521:7;10517:23;10513:32;10510:2;;;-1:-1;;10548:12;10510:2;-1:-1;5725:13;;10504:186;-1:-1;10504:186::o;11466:690::-;;11659:5;24689:12;25492:6;25487:3;25480:19;25529:4;;25524:3;25520:14;11671:93;;25529:4;11835:5;24385:14;-1:-1;11874:260;11899:6;11896:1;11893:13;11874:260;;;11960:13;;-1:-1;;;;;26736:54;11148:45;;10851:14;;;;25220;;;;4458:18;11914:9;11874:260;;;-1:-1;12140:10;;11590:566;-1:-1;;;;;11590:566::o;12195:690::-;;12388:5;24689:12;25492:6;25487:3;25480:19;25529:4;;25524:3;25520:14;12400:93;;25529:4;12564:5;24385:14;-1:-1;12603:260;12628:6;12625:1;12622:13;12603:260;;;12689:13;;16640:37;;11033:14;;;;25220;;;;12650:1;12643:9;12603:260;;16809:271;;13170:5;24689:12;13281:52;13326:6;13321:3;13314:4;13307:5;13303:16;13281:52;:::i;:::-;13345:16;;;;;16943:137;-1:-1;;16943:137::o;17087:222::-;-1:-1;;;;;26736:54;;;;11148:45;;17214:2;17199:18;;17185:124::o;17577:333::-;-1:-1;;;;;26736:54;;;;11148:45;;17896:2;17881:18;;16640:37;17732:2;17717:18;;17703:207::o;17917:218::-;-1:-1;;;;;;26417:78;;;;12962:36;;18042:2;18027:18;;18013:122::o;18142:1310::-;;27680:1;27673:5;27670:12;27660:2;;27686:9;27660:2;26985:51;13476:3;13469:75;18606:3;18750:2;18739:9;18735:18;18728:48;18790:108;18606:3;18595:9;18591:19;18884:6;18790:108;:::i;:::-;18946:9;18940:4;18936:20;18931:2;18920:9;18916:18;18909:48;18971:108;19074:4;19065:6;18971:108;:::i;:::-;18963:116;;19127:9;19121:4;19117:20;19112:2;19101:9;19097:18;19090:48;19152:108;19255:4;19246:6;19152:108;:::i;:::-;19144:116;;19309:9;19303:4;19299:20;19293:3;19282:9;19278:19;19271:49;19334:108;19437:4;19428:6;19334:108;:::i;:::-;19326:116;18577:875;-1:-1;;;;;;;;18577:875::o;19459:310::-;;19606:2;19627:17;19620:47;13701:5;24689:12;25492:6;19606:2;19595:9;19591:18;25480:19;13795:52;13840:6;25520:14;19595:9;25520:14;19606:2;13821:5;13817:16;13795:52;:::i;:::-;27563:7;27547:14;-1:-1;;27543:28;13859:39;;;;25520:14;13859:39;;19577:192;-1:-1;;19577:192::o;19776:416::-;19976:2;19990:47;;;14135:2;19961:18;;;25480:19;14171:34;25520:14;;;14151:55;-1:-1;;;14226:12;;;14219:29;14267:12;;;19947:245::o;20199:416::-;20399:2;20413:47;;;14518:2;20384:18;;;25480:19;14554:34;25520:14;;;14534:55;-1:-1;;;14609:12;;;14602:30;14651:12;;;20370:245::o;20622:416::-;20822:2;20836:47;;;14902:2;20807:18;;;25480:19;14938:34;25520:14;;;14918:55;-1:-1;;;14993:12;;;14986:42;15047:12;;;20793:245::o;21045:416::-;21245:2;21259:47;;;15298:2;21230:18;;;25480:19;15334:34;25520:14;;;15314:55;-1:-1;;;15389:12;;;15382:41;15442:12;;;21216:245::o;21468:416::-;21668:2;21682:47;;;15693:2;21653:18;;;25480:19;15729:31;25520:14;;;15709:52;15780:12;;;21639:245::o;21891:416::-;22091:2;22105:47;;;16031:2;22076:18;;;25480:19;16067:34;25520:14;;;16047:55;-1:-1;;;16122:12;;;16115:34;16168:12;;;22062:245::o;22314:416::-;22514:2;22528:47;;;16419:2;22499:18;;;25480:19;16455:34;25520:14;;;16435:55;-1:-1;;;16510:12;;;16503:31;16553:12;;;22485:245::o;22737:256::-;22799:2;22793:9;22825:17;;;22900:18;22885:34;;22921:22;;;22882:62;22879:2;;;22957:1;;22947:12;22879:2;22799;22966:22;22777:216;;-1:-1;22777:216::o;23000:304::-;;23159:18;23151:6;23148:30;23145:2;;;-1:-1;;23181:12;23145:2;-1:-1;23226:4;23214:17;;;23279:15;;23082:222::o;23942:321::-;;24085:18;24077:6;24074:30;24071:2;;;-1:-1;;24107:12;24071:2;-1:-1;27563:7;24161:17;-1:-1;;24157:33;24248:4;24238:15;;24008:255::o;27203:268::-;27268:1;27275:101;27289:6;27286:1;27283:13;27275:101;;;27356:11;;;27350:18;27337:11;;;27330:39;27311:2;27304:10;27275:101;;;27391:6;27388:1;27385:13;27382:2;;;27268:1;27447:6;27442:3;27438:16;27431:27;27382:2;;27252:219;;;:::o;27709:117::-;-1:-1;;;;;26736:54;;27768:35;;27758:2;;27817:1;;27807:12;27758:2;27752:74;:::o","linkReferences":{},"immutableReferences":{"1783":[{"start":741,"length":32},{"start":1400,"length":32}]}},"methodIdentifiers":{"CLAIM_REWARDS_SELECTOR()":"40da225d","EXECUTE_CALLS_SELECTOR()":"12d9c1f6","LEND_AND_STAKE_SELECTOR()":"131461c0","LEND_SELECTOR()":"257cb1a3","REDEEM_SELECTOR()":"f7d882b5","STAKE_SELECTOR()":"3ffc1591","TAKE_MULTIPLE_ORDERS_SELECTOR()":"c32990a2","TAKE_ORDER_SELECTOR()":"863e5ad0","UNSTAKE_AND_REDEEM_SELECTOR()":"080456c1","UNSTAKE_SELECTOR()":"b23228cf","executeCalls(address,bytes,bytes)":"b7fe1a11","getIntegrationManager()":"e7c45690","parseAssetsForAction(address,bytes4,bytes)":"c54efee5","whitelistedVault()":"9adf0ee3"},"rawMetadata":"{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_integrationManager\",\"type\":\"address\"},{\"internalType\":\"address payable\",\"name\":\"_whitelistedVault\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"CLAIM_REWARDS_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"EXECUTE_CALLS_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LEND_AND_STAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LEND_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"REDEEM_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"STAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TAKE_MULTIPLE_ORDERS_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TAKE_ORDER_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UNSTAKE_AND_REDEEM_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UNSTAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"executeCalls\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getIntegrationManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"integrationManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"_selector\",\"type\":\"bytes4\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"}],\"name\":\"parseAssetsForAction\",\"outputs\":[{\"internalType\":\"enum IIntegrationManager.SpendAssetsHandleType\",\"name\":\"spendAssetsHandleType_\",\"type\":\"uint8\"},{\"internalType\":\"address[]\",\"name\":\"spendAssets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"spendAssetAmounts_\",\"type\":\"uint256[]\"},{\"internalType\":\"address[]\",\"name\":\"incomingAssets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"minIncomingAssetAmounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"whitelistedVault\",\"outputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"executeCalls(address,bytes,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}},\"getIntegrationManager()\":{\"returns\":{\"integrationManager_\":\"The `INTEGRATION_MANAGER` variable value\"}},\"parseAssetsForAction(address,bytes4,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_selector\":\"The function selector for the callOnIntegration\"},\"returns\":{\"incomingAssets_\":\"The assets to receive in the call\",\"minIncomingAssetAmounts_\":\"The min asset amounts to receive in the call\",\"spendAssetAmounts_\":\"The max asset amounts to spend in the call\",\"spendAssetsHandleType_\":\"A type that dictates how to handle granting the adapter access to spend assets (hardcoded to `Transfer`)\",\"spendAssets_\":\"The assets to spend in the call\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"executeCalls(address,bytes,bytes)\":{\"notice\":\"Executes a sequence of calls\"},\"getIntegrationManager()\":{\"notice\":\"Gets the `INTEGRATION_MANAGER` variable\"},\"parseAssetsForAction(address,bytes4,bytes)\":{\"notice\":\"Parses the expected assets in a particular action\"}},\"notice\":\"A vault contract specific adapter/ - Allows calls only from the whitelisted vault - The default GenericAdapter is unsafe, as anyone can steal tokens approved on it\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/VaultSpecificGenericAdapter.sol\":\"VaultSpecificGenericAdapter\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@enzyme/=../enzyme/contracts/\",\":@openzeppelin/=../enzyme/node_modules/@openzeppelin/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/openzeppelin-contracts/lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\"]},\"sources\":{\"../enzyme/contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"../enzyme/contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"../enzyme/contracts/persistent/protocol-fee-reserve/interfaces/IProtocolFeeReserve1.sol\":{\"keccak256\":\"0x2728878c423db523bc95189137e8c58d2d7db9f56bbd5c6b1f988c08b551fbab\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3b0df1d2eb74151265d03ab91a7c341f7beca475dd2f4d669052dbc4ee2c06ac\",\"dweb:/ipfs/QmVx1cgrxQNYfdK1Kn15pcgqf79Uw8bF3U6i7F2HG2rj6G\"]},\"../enzyme/contracts/persistent/vault/VaultLibBase1.sol\":{\"keccak256\":\"0xa4dac1e4cdb311a2ab187135355357d8790c505ef36dd912c057fe53743d30b5\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b66efe821016ab927c949263023260515e90f5d480dc8d94eefbfeec7bf7490b\",\"dweb:/ipfs/QmNY3xKnhL9EptAbxGvXHGAXfV9pj3dDPwsZnKrPs54ZHw\"]},\"../enzyme/contracts/persistent/vault/VaultLibBase2.sol\":{\"keccak256\":\"0xf7d31f2a9a47770ed3f444be2c4fe9262ddb55fef7f25e546b1f03c9afec4c09\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9353ddce7c9b8b3c13fed23fe8edec99ca610d791b0c5b204b3d01f1f08d07d2\",\"dweb:/ipfs/QmeVsEh3joCjv49BRXeHASevnZZ5xdZXpkctHT8BPf37N2\"]},\"../enzyme/contracts/persistent/vault/VaultLibBaseCore.sol\":{\"keccak256\":\"0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd\",\"dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz\"]},\"../enzyme/contracts/persistent/vault/interfaces/IExternalPositionVault.sol\":{\"keccak256\":\"0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d\",\"dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8\"]},\"../enzyme/contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol\":{\"keccak256\":\"0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb\",\"dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU\"]},\"../enzyme/contracts/persistent/vault/interfaces/IMigratableVault.sol\":{\"keccak256\":\"0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6\",\"dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs\"]},\"../enzyme/contracts/persistent/vault/interfaces/IVaultCore.sol\":{\"keccak256\":\"0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd\",\"dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr\"]},\"../enzyme/contracts/persistent/vault/utils/ProxiableVaultLib.sol\":{\"keccak256\":\"0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44\",\"dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4\"]},\"../enzyme/contracts/persistent/vault/utils/SharesTokenBase.sol\":{\"keccak256\":\"0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8\",\"dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4\"]},\"../enzyme/contracts/persistent/vault/utils/VaultLibSafeMath.sol\":{\"keccak256\":\"0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02\",\"dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG\"]},\"../enzyme/contracts/release/core/fund/comptroller/IComptroller.sol\":{\"keccak256\":\"0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97\",\"dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L\"]},\"../enzyme/contracts/release/core/fund/vault/IVault.sol\":{\"keccak256\":\"0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599\",\"dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG\"]},\"../enzyme/contracts/release/core/fund/vault/VaultLib.sol\":{\"keccak256\":\"0x07e49445ab55c01e1b499a48baadc2a15d1eba621f1c6d3ccfdb84c87b976da8\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://56d882459248f73e137db2e097fc56b946147fb28ec21661b77431f88e856cb4\",\"dweb:/ipfs/QmRP6Ry7DCS5uoKxnnkTomHSzbaCze6cHqbR9aLdjoF6vK\"]},\"../enzyme/contracts/release/extensions/external-position-manager/IExternalPositionManager.sol\":{\"keccak256\":\"0x3af3f634e1f99fb97091b7825c0d2e2baaafc124d4e87d56cb0c17ff8554f6c6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://515470605afe5ef147f30fa75ce7818f0e00e3d321eb81a4d9bffcdefc294495\",\"dweb:/ipfs/QmPKsp99pfHoz9Tfo3ZxnkmqDqJtN9PxqacF2RmeVfxUJF\"]},\"../enzyme/contracts/release/extensions/integration-manager/IIntegrationManager.sol\":{\"keccak256\":\"0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23\",\"dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk\"]},\"../enzyme/contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol\":{\"keccak256\":\"0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336\",\"dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS\"]},\"../enzyme/contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol\":{\"keccak256\":\"0x067e49bf0d3c1655ab41a413c65ccf61d4e593308132e1ffc484a0fadfbbaf26\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://387f425017e18e89cc1893521101fa99df595314847d0b3d9a1162369f714fcf\",\"dweb:/ipfs/Qmco3jCvuWAyfCpBYpGzHrQjiFJG63w1RJKcakoTEbxRQm\"]},\"../enzyme/contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol\":{\"keccak256\":\"0xfd34c7ca8231c6935e25dede32ca2b3121738e624d0fc896f7b895a731edcf88\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d492c061963d36d07718446db191d4c5a340c0d847f6cd209f027bd99f7cb176\",\"dweb:/ipfs/QmfCvRZt56ftDdrEh6LepHXFJ4fVtcfpQGvEyY8k4zxG1A\"]},\"../enzyme/contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol\":{\"keccak256\":\"0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f\",\"dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp\"]},\"../enzyme/contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol\":{\"keccak256\":\"0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0\",\"dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2\"]},\"../enzyme/contracts/release/infrastructure/protocol-fees/IProtocolFeeTracker.sol\":{\"keccak256\":\"0x232b347f83457439064add7369bfe1930c7cb56f15930bb87d640e909c15e447\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://24f9af5eebdd373b1d7a598c096eb6def31b2640d54416d7d5a7226e1cef17e6\",\"dweb:/ipfs/QmStq9ByGuSYdKwTmZf52L1X6sZVJUfXTnoVbnjLLiUcHG\"]},\"../enzyme/contracts/release/interfaces/IGsnForwarder.sol\":{\"keccak256\":\"0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29\",\"dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G\"]},\"../enzyme/contracts/release/interfaces/IGsnPaymaster.sol\":{\"keccak256\":\"0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4\",\"dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF\"]},\"../enzyme/contracts/release/interfaces/IGsnTypes.sol\":{\"keccak256\":\"0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7\",\"dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C\"]},\"../enzyme/contracts/release/interfaces/IWETH.sol\":{\"keccak256\":\"0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2\",\"dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ\"]},\"../enzyme/contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"../enzyme/contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"../enzyme/contracts/release/utils/beacon-proxy/IBeacon.sol\":{\"keccak256\":\"0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39\",\"dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V\"]},\"../enzyme/contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol\":{\"keccak256\":\"0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be\",\"dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG\"]},\"../enzyme/node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"../enzyme/node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"../enzyme/node_modules/@openzeppelin/contracts/token/ERC20/ERC20Burnable.sol\":{\"keccak256\":\"0x9c0eb3b0e11d2480d49991dc384f1e5f9c9b9967cc81944d50916a9b9c6c4984\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99e4033d778624992e86f0b6d801a4f6d7b5c0cd5c79c1296be90a051ad5f5af\",\"dweb:/ipfs/QmShYmkUqh6pDEeoWadZ24icmCr4C2Xys1uE5boivPmbwf\"]},\"../enzyme/node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"../enzyme/node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"../enzyme/node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"../enzyme/node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]},\"src/VaultSpecificGenericAdapter.sol\":{\"keccak256\":\"0x8fdeb864b39a18dde602bfefd7c62113fd2f4176b9e17ac1fba44a92880131d1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5d45a63aa71eaf154d4b01aed303b184252feff19b16cc18ecc99975e1168ab4\",\"dweb:/ipfs/QmWMKZn3vfxg8QWDaHu51UDyLtJrnEVu83iWLnhzS5tAaE\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.6.12+commit.27d51765"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"_integrationManager","type":"address"},{"internalType":"address payable","name":"_whitelistedVault","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"stateMutability":"view","type":"function","name":"CLAIM_REWARDS_SELECTOR","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"EXECUTE_CALLS_SELECTOR","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"LEND_AND_STAKE_SELECTOR","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"LEND_SELECTOR","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"REDEEM_SELECTOR","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"STAKE_SELECTOR","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"TAKE_MULTIPLE_ORDERS_SELECTOR","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"TAKE_ORDER_SELECTOR","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UNSTAKE_AND_REDEEM_SELECTOR","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UNSTAKE_SELECTOR","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}]},{"inputs":[{"internalType":"address","name":"_vaultProxy","type":"address"},{"internalType":"bytes","name":"_actionData","type":"bytes"},{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"executeCalls"},{"inputs":[],"stateMutability":"view","type":"function","name":"getIntegrationManager","outputs":[{"internalType":"address","name":"integrationManager_","type":"address"}]},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"bytes4","name":"_selector","type":"bytes4"},{"internalType":"bytes","name":"_actionData","type":"bytes"}],"stateMutability":"view","type":"function","name":"parseAssetsForAction","outputs":[{"internalType":"enum IIntegrationManager.SpendAssetsHandleType","name":"spendAssetsHandleType_","type":"uint8"},{"internalType":"address[]","name":"spendAssets_","type":"address[]"},{"internalType":"uint256[]","name":"spendAssetAmounts_","type":"uint256[]"},{"internalType":"address[]","name":"incomingAssets_","type":"address[]"},{"internalType":"uint256[]","name":"minIncomingAssetAmounts_","type":"uint256[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"whitelistedVault","outputs":[{"internalType":"address payable","name":"","type":"address"}]}],"devdoc":{"kind":"dev","methods":{"executeCalls(address,bytes,bytes)":{"params":{"_actionData":"Data specific to this action","_vaultProxy":"The VaultProxy of the calling fund"}},"getIntegrationManager()":{"returns":{"integrationManager_":"The `INTEGRATION_MANAGER` variable value"}},"parseAssetsForAction(address,bytes4,bytes)":{"params":{"_actionData":"Data specific to this action","_selector":"The function selector for the callOnIntegration"},"returns":{"incomingAssets_":"The assets to receive in the call","minIncomingAssetAmounts_":"The min asset amounts to receive in the call","spendAssetAmounts_":"The max asset amounts to spend in the call","spendAssetsHandleType_":"A type that dictates how to handle granting the adapter access to spend assets (hardcoded to `Transfer`)","spendAssets_":"The assets to spend in the call"}}},"version":1},"userdoc":{"kind":"user","methods":{"executeCalls(address,bytes,bytes)":{"notice":"Executes a sequence of calls"},"getIntegrationManager()":{"notice":"Gets the `INTEGRATION_MANAGER` variable"},"parseAssetsForAction(address,bytes4,bytes)":{"notice":"Parses the expected assets in a particular action"}},"version":1}},"settings":{"remappings":["@enzyme/=../enzyme/contracts/","@openzeppelin/=../enzyme/node_modules/@openzeppelin/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-std/=lib/openzeppelin-contracts/lib/forge-std/src/","openzeppelin-contracts/=lib/openzeppelin-contracts/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/VaultSpecificGenericAdapter.sol":"VaultSpecificGenericAdapter"},"evmVersion":"istanbul","libraries":{}},"sources":{"../enzyme/contracts/persistent/dispatcher/IDispatcher.sol":{"keccak256":"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30","urls":["bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0","dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ"],"license":"GPL-3.0"},"../enzyme/contracts/persistent/external-positions/IExternalPosition.sol":{"keccak256":"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad","urls":["bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa","dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM"],"license":"GPL-3.0"},"../enzyme/contracts/persistent/protocol-fee-reserve/interfaces/IProtocolFeeReserve1.sol":{"keccak256":"0x2728878c423db523bc95189137e8c58d2d7db9f56bbd5c6b1f988c08b551fbab","urls":["bzz-raw://3b0df1d2eb74151265d03ab91a7c341f7beca475dd2f4d669052dbc4ee2c06ac","dweb:/ipfs/QmVx1cgrxQNYfdK1Kn15pcgqf79Uw8bF3U6i7F2HG2rj6G"],"license":"GPL-3.0"},"../enzyme/contracts/persistent/vault/VaultLibBase1.sol":{"keccak256":"0xa4dac1e4cdb311a2ab187135355357d8790c505ef36dd912c057fe53743d30b5","urls":["bzz-raw://b66efe821016ab927c949263023260515e90f5d480dc8d94eefbfeec7bf7490b","dweb:/ipfs/QmNY3xKnhL9EptAbxGvXHGAXfV9pj3dDPwsZnKrPs54ZHw"],"license":"GPL-3.0"},"../enzyme/contracts/persistent/vault/VaultLibBase2.sol":{"keccak256":"0xf7d31f2a9a47770ed3f444be2c4fe9262ddb55fef7f25e546b1f03c9afec4c09","urls":["bzz-raw://9353ddce7c9b8b3c13fed23fe8edec99ca610d791b0c5b204b3d01f1f08d07d2","dweb:/ipfs/QmeVsEh3joCjv49BRXeHASevnZZ5xdZXpkctHT8BPf37N2"],"license":"GPL-3.0"},"../enzyme/contracts/persistent/vault/VaultLibBaseCore.sol":{"keccak256":"0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074","urls":["bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd","dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz"],"license":"GPL-3.0"},"../enzyme/contracts/persistent/vault/interfaces/IExternalPositionVault.sol":{"keccak256":"0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6","urls":["bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d","dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8"],"license":"GPL-3.0"},"../enzyme/contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol":{"keccak256":"0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0","urls":["bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb","dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU"],"license":"GPL-3.0"},"../enzyme/contracts/persistent/vault/interfaces/IMigratableVault.sol":{"keccak256":"0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238","urls":["bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6","dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs"],"license":"GPL-3.0"},"../enzyme/contracts/persistent/vault/interfaces/IVaultCore.sol":{"keccak256":"0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80","urls":["bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd","dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr"],"license":"GPL-3.0"},"../enzyme/contracts/persistent/vault/utils/ProxiableVaultLib.sol":{"keccak256":"0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76","urls":["bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44","dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4"],"license":"GPL-3.0"},"../enzyme/contracts/persistent/vault/utils/SharesTokenBase.sol":{"keccak256":"0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113","urls":["bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8","dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4"],"license":"GPL-3.0"},"../enzyme/contracts/persistent/vault/utils/VaultLibSafeMath.sol":{"keccak256":"0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d","urls":["bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02","dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG"],"license":"GPL-3.0"},"../enzyme/contracts/release/core/fund/comptroller/IComptroller.sol":{"keccak256":"0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f","urls":["bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97","dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L"],"license":"GPL-3.0"},"../enzyme/contracts/release/core/fund/vault/IVault.sol":{"keccak256":"0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd","urls":["bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599","dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG"],"license":"GPL-3.0"},"../enzyme/contracts/release/core/fund/vault/VaultLib.sol":{"keccak256":"0x07e49445ab55c01e1b499a48baadc2a15d1eba621f1c6d3ccfdb84c87b976da8","urls":["bzz-raw://56d882459248f73e137db2e097fc56b946147fb28ec21661b77431f88e856cb4","dweb:/ipfs/QmRP6Ry7DCS5uoKxnnkTomHSzbaCze6cHqbR9aLdjoF6vK"],"license":"GPL-3.0"},"../enzyme/contracts/release/extensions/external-position-manager/IExternalPositionManager.sol":{"keccak256":"0x3af3f634e1f99fb97091b7825c0d2e2baaafc124d4e87d56cb0c17ff8554f6c6","urls":["bzz-raw://515470605afe5ef147f30fa75ce7818f0e00e3d321eb81a4d9bffcdefc294495","dweb:/ipfs/QmPKsp99pfHoz9Tfo3ZxnkmqDqJtN9PxqacF2RmeVfxUJF"],"license":"GPL-3.0"},"../enzyme/contracts/release/extensions/integration-manager/IIntegrationManager.sol":{"keccak256":"0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef","urls":["bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23","dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk"],"license":"GPL-3.0"},"../enzyme/contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol":{"keccak256":"0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1","urls":["bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336","dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS"],"license":"GPL-3.0"},"../enzyme/contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol":{"keccak256":"0x067e49bf0d3c1655ab41a413c65ccf61d4e593308132e1ffc484a0fadfbbaf26","urls":["bzz-raw://387f425017e18e89cc1893521101fa99df595314847d0b3d9a1162369f714fcf","dweb:/ipfs/Qmco3jCvuWAyfCpBYpGzHrQjiFJG63w1RJKcakoTEbxRQm"],"license":"GPL-3.0"},"../enzyme/contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol":{"keccak256":"0xfd34c7ca8231c6935e25dede32ca2b3121738e624d0fc896f7b895a731edcf88","urls":["bzz-raw://d492c061963d36d07718446db191d4c5a340c0d847f6cd209f027bd99f7cb176","dweb:/ipfs/QmfCvRZt56ftDdrEh6LepHXFJ4fVtcfpQGvEyY8k4zxG1A"],"license":"GPL-3.0"},"../enzyme/contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol":{"keccak256":"0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609","urls":["bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f","dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp"],"license":"GPL-3.0"},"../enzyme/contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol":{"keccak256":"0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01","urls":["bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0","dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2"],"license":"GPL-3.0"},"../enzyme/contracts/release/infrastructure/protocol-fees/IProtocolFeeTracker.sol":{"keccak256":"0x232b347f83457439064add7369bfe1930c7cb56f15930bb87d640e909c15e447","urls":["bzz-raw://24f9af5eebdd373b1d7a598c096eb6def31b2640d54416d7d5a7226e1cef17e6","dweb:/ipfs/QmStq9ByGuSYdKwTmZf52L1X6sZVJUfXTnoVbnjLLiUcHG"],"license":"GPL-3.0"},"../enzyme/contracts/release/interfaces/IGsnForwarder.sol":{"keccak256":"0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030","urls":["bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29","dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G"],"license":"GPL-3.0"},"../enzyme/contracts/release/interfaces/IGsnPaymaster.sol":{"keccak256":"0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c","urls":["bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4","dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF"],"license":"GPL-3.0"},"../enzyme/contracts/release/interfaces/IGsnTypes.sol":{"keccak256":"0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714","urls":["bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7","dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C"],"license":"GPL-3.0"},"../enzyme/contracts/release/interfaces/IWETH.sol":{"keccak256":"0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2","urls":["bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2","dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ"],"license":"GPL-3.0"},"../enzyme/contracts/release/utils/AddressArrayLib.sol":{"keccak256":"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f","urls":["bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6","dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap"],"license":"GPL-3.0"},"../enzyme/contracts/release/utils/AssetHelpers.sol":{"keccak256":"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f","urls":["bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b","dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E"],"license":"GPL-3.0"},"../enzyme/contracts/release/utils/beacon-proxy/IBeacon.sol":{"keccak256":"0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2","urls":["bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39","dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V"],"license":"GPL-3.0"},"../enzyme/contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol":{"keccak256":"0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc","urls":["bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be","dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG"],"license":"GPL-3.0"},"../enzyme/node_modules/@openzeppelin/contracts/math/SafeMath.sol":{"keccak256":"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52","urls":["bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c","dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR"],"license":"MIT"},"../enzyme/node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3","urls":["bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e","dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE"],"license":"MIT"},"../enzyme/node_modules/@openzeppelin/contracts/token/ERC20/ERC20Burnable.sol":{"keccak256":"0x9c0eb3b0e11d2480d49991dc384f1e5f9c9b9967cc81944d50916a9b9c6c4984","urls":["bzz-raw://99e4033d778624992e86f0b6d801a4f6d7b5c0cd5c79c1296be90a051ad5f5af","dweb:/ipfs/QmShYmkUqh6pDEeoWadZ24icmCr4C2Xys1uE5boivPmbwf"],"license":"MIT"},"../enzyme/node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5","urls":["bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08","dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC"],"license":"MIT"},"../enzyme/node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol":{"keccak256":"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc","urls":["bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a","dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ"],"license":"MIT"},"../enzyme/node_modules/@openzeppelin/contracts/utils/Address.sol":{"keccak256":"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea","urls":["bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c","dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN"],"license":"MIT"},"../enzyme/node_modules/@openzeppelin/contracts/utils/Context.sol":{"keccak256":"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0","urls":["bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f","dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96"],"license":"MIT"},"src/VaultSpecificGenericAdapter.sol":{"keccak256":"0x8fdeb864b39a18dde602bfefd7c62113fd2f4176b9e17ac1fba44a92880131d1","urls":["bzz-raw://5d45a63aa71eaf154d4b01aed303b184252feff19b16cc18ecc99975e1168ab4","dweb:/ipfs/QmWMKZn3vfxg8QWDaHu51UDyLtJrnEVu83iWLnhzS5tAaE"],"license":"GPL-3.0"}},"version":1},"ast":{"absolutePath":"src/VaultSpecificGenericAdapter.sol","id":8009,"exportedSymbols":{"VaultSpecificGenericAdapter":[8008]},"nodeType":"SourceUnit","src":"37:4951:84","nodes":[{"id":7739,"nodeType":"PragmaDirective","src":"37:23:84","nodes":[],"literals":["solidity","0.6",".12"]},{"id":7740,"nodeType":"PragmaDirective","src":"61:33:84","nodes":[],"literals":["experimental","ABIEncoderV2"]},{"id":7741,"nodeType":"ImportDirective","src":"96:91:84","nodes":[],"absolutePath":"../enzyme/contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol","file":"@enzyme/release/extensions/integration-manager/integrations/utils/AdapterBase.sol","scope":8009,"sourceUnit":1893,"symbolAliases":[],"unitAlias":""},{"id":7742,"nodeType":"ImportDirective","src":"188:54:84","nodes":[],"absolutePath":"../enzyme/contracts/release/core/fund/vault/VaultLib.sol","file":"@enzyme/release/core/fund/vault/VaultLib.sol","scope":8009,"sourceUnit":1765,"symbolAliases":[],"unitAlias":""},{"id":8008,"nodeType":"ContractDefinition","src":"435:4552:84","nodes":[{"id":7747,"nodeType":"VariableDeclaration","src":"494:39:84","nodes":[],"constant":false,"functionSelector":"9adf0ee3","mutability":"mutable","name":"whitelistedVault","overrides":null,"scope":8008,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":7746,"name":"address","nodeType":"ElementaryTypeName","src":"494:15:84","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"value":null,"visibility":"public"},{"id":7755,"nodeType":"VariableDeclaration","src":"606:116:84","nodes":[],"constant":true,"functionSelector":"12d9c1f6","mutability":"constant","name":"EXECUTE_CALLS_SELECTOR","overrides":null,"scope":8008,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":7748,"name":"bytes4","nodeType":"ElementaryTypeName","src":"606:6:84","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"value":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"hexValue":"6578656375746543616c6c7328616464726573732c62797465732c627974657329","id":7752,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"680:35:84","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_b7fe1a117cff974e3f19d303d9f97ada44b7ecad880df21ddfdc69ba0493b796","typeString":"literal_string \"executeCalls(address,bytes,bytes)\""},"value":"executeCalls(address,bytes,bytes)"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b7fe1a117cff974e3f19d303d9f97ada44b7ecad880df21ddfdc69ba0493b796","typeString":"literal_string \"executeCalls(address,bytes,bytes)\""}],"id":7751,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"670:9:84","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":7753,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"670:46:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":7750,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"654:6:84","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes4_$","typeString":"type(bytes4)"},"typeName":{"id":7749,"name":"bytes4","nodeType":"ElementaryTypeName","src":"654:6:84","typeDescriptions":{"typeIdentifier":null,"typeString":null}}},"id":7754,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"654:68:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"public"},{"id":7785,"nodeType":"FunctionDefinition","src":"729:492:84","nodes":[],"body":{"id":7784,"nodeType":"Block","src":"867:354:84","nodes":[],"statements":[{"expression":{"argumentTypes":null,"id":7767,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"id":7765,"name":"whitelistedVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7747,"src":"877:16:84","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"id":7766,"name":"_whitelistedVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7759,"src":"896:17:84","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"src":"877:36:84","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":7768,"nodeType":"ExpressionStatement","src":"877:36:84"},{"assignments":[7770],"declarations":[{"constant":false,"id":7770,"mutability":"mutable","name":"vault","nodeType":"VariableDeclaration","overrides":null,"scope":7784,"src":"1061:14:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_VaultLib_$1764","typeString":"contract VaultLib"},"typeName":{"contractScope":null,"id":7769,"name":"VaultLib","nodeType":"UserDefinedTypeName","referencedDeclaration":1764,"src":"1061:8:84","typeDescriptions":{"typeIdentifier":"t_contract$_VaultLib_$1764","typeString":"contract VaultLib"}},"value":null,"visibility":"internal"}],"id":7774,"initialValue":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":7772,"name":"whitelistedVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7747,"src":"1087:16:84","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":7771,"name":"VaultLib","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1764,"src":"1078:8:84","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_VaultLib_$1764_$","typeString":"type(contract VaultLib)"}},"id":7773,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1078:26:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_VaultLib_$1764","typeString":"contract VaultLib"}},"nodeType":"VariableDeclarationStatement","src":"1061:43:84"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":7780,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"arguments":[],"expression":{"argumentTypes":[],"expression":{"argumentTypes":null,"id":7776,"name":"vault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7770,"src":"1122:5:84","typeDescriptions":{"typeIdentifier":"t_contract$_VaultLib_$1764","typeString":"contract VaultLib"}},"id":7777,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getCreator","nodeType":"MemberAccess","referencedDeclaration":1581,"src":"1122:16:84","typeDescriptions":{"typeIdentifier":"t_function_external_view$__$returns$_t_address_$","typeString":"function () view external returns (address)"}},"id":7778,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1122:18:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"argumentTypes":null,"hexValue":"307830303030303030303030303030303030303030303030303030303030303030303030303030303030","id":7779,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1144:42:84","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"value":"0x0000000000000000000000000000000000000000"},"src":"1122:64:84","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"argumentTypes":null,"hexValue":"456e636f756e74657265642066756e6e79207661756c74","id":7781,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1188:25:84","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_d9f24d5023927ca575f3a944f0a2dfe553dbbc992c0ec8a6fe3b467f7effcc47","typeString":"literal_string \"Encountered funny vault\""},"value":"Encountered funny vault"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_d9f24d5023927ca575f3a944f0a2dfe553dbbc992c0ec8a6fe3b467f7effcc47","typeString":"literal_string \"Encountered funny vault\""}],"id":7775,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"1114:7:84","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":7782,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1114:100:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7783,"nodeType":"ExpressionStatement","src":"1114:100:84"}]},"documentation":null,"implemented":true,"kind":"constructor","modifiers":[{"arguments":[{"argumentTypes":null,"id":7762,"name":"_integrationManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7757,"src":"846:19:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":7763,"modifierName":{"argumentTypes":null,"id":7761,"name":"AdapterBase","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1892,"src":"834:11:84","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_AdapterBase_$1892_$","typeString":"type(contract AdapterBase)"}},"nodeType":"ModifierInvocation","src":"834:32:84"}],"name":"","overrides":null,"parameters":{"id":7760,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7757,"mutability":"mutable","name":"_integrationManager","nodeType":"VariableDeclaration","overrides":null,"scope":7785,"src":"750:27:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7756,"name":"address","nodeType":"ElementaryTypeName","src":"750:7:84","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":7759,"mutability":"mutable","name":"_whitelistedVault","nodeType":"VariableDeclaration","overrides":null,"scope":7785,"src":"787:33:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"},"typeName":{"id":7758,"name":"address","nodeType":"ElementaryTypeName","src":"787:15:84","stateMutability":"payable","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"value":null,"visibility":"internal"}],"src":"740:86:84"},"returnParameters":{"id":7764,"nodeType":"ParameterList","parameters":[],"src":"867:0:84"},"scope":8008,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":7872,"nodeType":"FunctionDefinition","src":"1417:943:84","nodes":[],"body":{"id":7871,"nodeType":"Block","src":"1731:629:84","nodes":[],"statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":7808,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":7806,"name":"_vaultProxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7788,"src":"1749:11:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"argumentTypes":null,"id":7807,"name":"whitelistedVault","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7747,"src":"1764:16:84","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"src":"1749:31:84","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"argumentTypes":null,"hexValue":"4f6e6c792063616c6c732066726f6d207468652077686974656c6973746564207661756c742061726520616c6c6f776564","id":7809,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1782:51:84","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_92e415b8d2b5b519ac1761c134d94a6d1147c25f2893f4d94cc7ac4778336eb5","typeString":"literal_string \"Only calls from the whitelisted vault are allowed\""},"value":"Only calls from the whitelisted vault are allowed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_92e415b8d2b5b519ac1761c134d94a6d1147c25f2893f4d94cc7ac4778336eb5","typeString":"literal_string \"Only calls from the whitelisted vault are allowed\""}],"id":7805,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"1741:7:84","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":7810,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1741:93:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7811,"nodeType":"ExpressionStatement","src":"1741:93:84"},{"assignments":[null,null,null,null,7813],"declarations":[null,null,null,null,{"constant":false,"id":7813,"mutability":"mutable","name":"externalCallsData","nodeType":"VariableDeclaration","overrides":null,"scope":7871,"src":"1854:30:84","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":7812,"name":"bytes","nodeType":"ElementaryTypeName","src":"1854:5:84","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"value":null,"visibility":"internal"}],"id":7817,"initialValue":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":7815,"name":"_actionData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7790,"src":"1905:11:84","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"id":7814,"name":"__decodeCallArgs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7965,"src":"1888:16:84","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_calldata_ptr_$returns$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_bytes_memory_ptr_$","typeString":"function (bytes calldata) pure returns (address[] memory,uint256[] memory,address[] memory,uint256[] memory,bytes memory)"}},"id":7816,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1888:29:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_bytes_memory_ptr_$","typeString":"tuple(address[] memory,uint256[] memory,address[] memory,uint256[] memory,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"1845:72:84"},{"assignments":[7822,7825],"declarations":[{"constant":false,"id":7822,"mutability":"mutable","name":"contracts","nodeType":"VariableDeclaration","overrides":null,"scope":7871,"src":"1929:26:84","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":7820,"name":"address","nodeType":"ElementaryTypeName","src":"1929:7:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":7821,"length":null,"nodeType":"ArrayTypeName","src":"1929:9:84","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"value":null,"visibility":"internal"},{"constant":false,"id":7825,"mutability":"mutable","name":"callsData","nodeType":"VariableDeclaration","overrides":null,"scope":7871,"src":"1957:24:84","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":7823,"name":"bytes","nodeType":"ElementaryTypeName","src":"1957:5:84","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":7824,"length":null,"nodeType":"ArrayTypeName","src":"1957:7:84","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"value":null,"visibility":"internal"}],"id":7829,"initialValue":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":7827,"name":"externalCallsData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7813,"src":"2024:17:84","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":7826,"name":"__decodeExternalCallsData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":8007,"src":"1985:25:84","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_memory_ptr_$returns$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$","typeString":"function (bytes memory) pure returns (address[] memory,bytes memory[] memory)"}},"id":7828,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1985:66:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$","typeString":"tuple(address[] memory,bytes memory[] memory)"}},"nodeType":"VariableDeclarationStatement","src":"1928:123:84"},{"body":{"id":7869,"nodeType":"Block","src":"2105:249:84","statements":[{"assignments":[7841],"declarations":[{"constant":false,"id":7841,"mutability":"mutable","name":"contractAddress","nodeType":"VariableDeclaration","overrides":null,"scope":7869,"src":"2119:23:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7840,"name":"address","nodeType":"ElementaryTypeName","src":"2119:7:84","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"}],"id":7845,"initialValue":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":7842,"name":"contracts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7822,"src":"2145:9:84","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":7844,"indexExpression":{"argumentTypes":null,"id":7843,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7831,"src":"2155:1:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2145:12:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"2119:38:84"},{"assignments":[7847],"declarations":[{"constant":false,"id":7847,"mutability":"mutable","name":"callData","nodeType":"VariableDeclaration","overrides":null,"scope":7869,"src":"2171:21:84","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":7846,"name":"bytes","nodeType":"ElementaryTypeName","src":"2171:5:84","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"value":null,"visibility":"internal"}],"id":7851,"initialValue":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":7848,"name":"callsData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7825,"src":"2195:9:84","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":7850,"indexExpression":{"argumentTypes":null,"id":7849,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7831,"src":"2205:1:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2195:12:84","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"2171:36:84"},{"assignments":[7853,7855],"declarations":[{"constant":false,"id":7853,"mutability":"mutable","name":"success","nodeType":"VariableDeclaration","overrides":null,"scope":7869,"src":"2222:12:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":7852,"name":"bool","nodeType":"ElementaryTypeName","src":"2222:4:84","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":null,"visibility":"internal"},{"constant":false,"id":7855,"mutability":"mutable","name":"returnData","nodeType":"VariableDeclaration","overrides":null,"scope":7869,"src":"2236:23:84","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":7854,"name":"bytes","nodeType":"ElementaryTypeName","src":"2236:5:84","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"value":null,"visibility":"internal"}],"id":7860,"initialValue":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":7858,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7847,"src":"2284:8:84","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"argumentTypes":null,"id":7856,"name":"contractAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7841,"src":"2263:15:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":7857,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"call","nodeType":"MemberAccess","referencedDeclaration":null,"src":"2263:20:84","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":7859,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2263:30:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"2221:72:84"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":7862,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7853,"src":"2315:7:84","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":7865,"name":"returnData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7855,"src":"2331:10:84","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":7864,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2324:6:84","typeDescriptions":{"typeIdentifier":"t_type$_t_string_storage_ptr_$","typeString":"type(string storage pointer)"},"typeName":{"id":7863,"name":"string","nodeType":"ElementaryTypeName","src":"2324:6:84","typeDescriptions":{"typeIdentifier":null,"typeString":null}}},"id":7866,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2324:18:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":7861,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2307:7:84","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":7867,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2307:36:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7868,"nodeType":"ExpressionStatement","src":"2307:36:84"}]},"condition":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7836,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":7833,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7831,"src":"2078:1:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":7834,"name":"contracts","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7822,"src":"2082:9:84","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":7835,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","referencedDeclaration":null,"src":"2082:16:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2078:20:84","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7870,"initializationExpression":{"assignments":[7831],"declarations":[{"constant":false,"id":7831,"mutability":"mutable","name":"i","nodeType":"VariableDeclaration","overrides":null,"scope":7870,"src":"2067:9:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7830,"name":"uint256","nodeType":"ElementaryTypeName","src":"2067:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"id":7832,"initialValue":null,"nodeType":"VariableDeclarationStatement","src":"2067:9:84"},"loopExpression":{"expression":{"argumentTypes":null,"id":7838,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"2100:3:84","subExpression":{"argumentTypes":null,"id":7837,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7831,"src":"2100:1:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":7839,"nodeType":"ExpressionStatement","src":"2100:3:84"},"nodeType":"ForStatement","src":"2062:292:84"}]},"documentation":{"id":7786,"nodeType":"StructuredDocumentation","src":"1254:158:84","text":"@notice Executes a sequence of calls\n @param _vaultProxy The VaultProxy of the calling fund\n @param _actionData Data specific to this action"},"functionSelector":"b7fe1a11","implemented":true,"kind":"function","modifiers":[{"arguments":null,"id":7795,"modifierName":{"argumentTypes":null,"id":7794,"name":"onlyIntegrationManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1841,"src":"1559:22:84","typeDescriptions":{"typeIdentifier":"t_modifier$__$","typeString":"modifier ()"}},"nodeType":"ModifierInvocation","src":"1559:22:84"},{"arguments":[{"argumentTypes":null,"id":7797,"name":"_vaultProxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7788,"src":"1630:11:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":7798,"name":"_actionData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7790,"src":"1643:11:84","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"id":7799,"modifierName":{"argumentTypes":null,"id":7796,"name":"postActionIncomingAssetsTransferHandler","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1806,"src":"1590:39:84","typeDescriptions":{"typeIdentifier":"t_modifier$_t_address_$_t_bytes_memory_ptr_$","typeString":"modifier (address,bytes memory)"}},"nodeType":"ModifierInvocation","src":"1590:65:84"},{"arguments":[{"argumentTypes":null,"id":7801,"name":"_vaultProxy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7788,"src":"1701:11:84","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":7802,"name":"_actionData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7790,"src":"1714:11:84","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"id":7803,"modifierName":{"argumentTypes":null,"id":7800,"name":"postActionSpendAssetsTransferHandler","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1829,"src":"1664:36:84","typeDescriptions":{"typeIdentifier":"t_modifier$_t_address_$_t_bytes_memory_ptr_$","typeString":"modifier (address,bytes memory)"}},"nodeType":"ModifierInvocation","src":"1664:62:84"}],"name":"executeCalls","overrides":null,"parameters":{"id":7793,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7788,"mutability":"mutable","name":"_vaultProxy","nodeType":"VariableDeclaration","overrides":null,"scope":7872,"src":"1448:19:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7787,"name":"address","nodeType":"ElementaryTypeName","src":"1448:7:84","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":7790,"mutability":"mutable","name":"_actionData","nodeType":"VariableDeclaration","overrides":null,"scope":7872,"src":"1477:26:84","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":7789,"name":"bytes","nodeType":"ElementaryTypeName","src":"1477:5:84","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"value":null,"visibility":"internal"},{"constant":false,"id":7792,"mutability":"mutable","name":"","nodeType":"VariableDeclaration","overrides":null,"scope":7872,"src":"1513:14:84","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":7791,"name":"bytes","nodeType":"ElementaryTypeName","src":"1513:5:84","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"value":null,"visibility":"internal"}],"src":"1438:95:84"},"returnParameters":{"id":7804,"nodeType":"ParameterList","parameters":[],"src":"1731:0:84"},"scope":8008,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":7924,"nodeType":"FunctionDefinition","src":"3004:965:84","nodes":[],"body":{"id":7923,"nodeType":"Block","src":"3468:501:84","nodes":[],"statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":7900,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":7898,"name":"_selector","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7877,"src":"3486:9:84","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"argumentTypes":null,"id":7899,"name":"EXECUTE_CALLS_SELECTOR","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7755,"src":"3499:22:84","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"3486:35:84","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"argumentTypes":null,"hexValue":"7061727365417373657473466f72416374696f6e3a205f73656c6563746f7220696e76616c6964","id":7901,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3523:41:84","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_fa7d3951a54ad7f640a0aa9b85ad7f5ff914df62a5263210a007a27ec3c5f2c7","typeString":"literal_string \"parseAssetsForAction: _selector invalid\""},"value":"parseAssetsForAction: _selector invalid"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_fa7d3951a54ad7f640a0aa9b85ad7f5ff914df62a5263210a007a27ec3c5f2c7","typeString":"literal_string \"parseAssetsForAction: _selector invalid\""}],"id":7897,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"3478:7:84","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":7902,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3478:87:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7903,"nodeType":"ExpressionStatement","src":"3478:87:84"},{"expression":{"argumentTypes":null,"id":7912,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"components":[{"argumentTypes":null,"id":7904,"name":"incomingAssets_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7892,"src":"3590:15:84","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"argumentTypes":null,"id":7905,"name":"minIncomingAssetAmounts_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7895,"src":"3619:24:84","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"argumentTypes":null,"id":7906,"name":"spendAssets_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7886,"src":"3657:12:84","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"argumentTypes":null,"id":7907,"name":"spendAssetAmounts_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7889,"src":"3683:18:84","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},null],"id":7908,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"3576:137:84","typeDescriptions":{"typeIdentifier":"t_tuple$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$__$","typeString":"tuple(address[] memory,uint256[] memory,address[] memory,uint256[] memory,)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":7910,"name":"_actionData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7879,"src":"3733:11:84","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"id":7909,"name":"__decodeCallArgs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7965,"src":"3716:16:84","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_calldata_ptr_$returns$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_bytes_memory_ptr_$","typeString":"function (bytes calldata) pure returns (address[] memory,uint256[] memory,address[] memory,uint256[] memory,bytes memory)"}},"id":7911,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3716:29:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_bytes_memory_ptr_$","typeString":"tuple(address[] memory,uint256[] memory,address[] memory,uint256[] memory,bytes memory)"}},"src":"3576:169:84","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7913,"nodeType":"ExpressionStatement","src":"3576:169:84"},{"expression":{"argumentTypes":null,"components":[{"argumentTypes":null,"expression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":7914,"name":"IIntegrationManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":10349,"src":"3777:19:84","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IIntegrationManager_$10349_$","typeString":"type(contract IIntegrationManager)"}},"id":7915,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"SpendAssetsHandleType","nodeType":"MemberAccess","referencedDeclaration":10348,"src":"3777:41:84","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_SpendAssetsHandleType_$10348_$","typeString":"type(enum IIntegrationManager.SpendAssetsHandleType)"}},"id":7916,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"Transfer","nodeType":"MemberAccess","referencedDeclaration":null,"src":"3777:50:84","typeDescriptions":{"typeIdentifier":"t_enum$_SpendAssetsHandleType_$10348","typeString":"enum IIntegrationManager.SpendAssetsHandleType"}},{"argumentTypes":null,"id":7917,"name":"spendAssets_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7886,"src":"3841:12:84","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"argumentTypes":null,"id":7918,"name":"spendAssetAmounts_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7889,"src":"3867:18:84","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},{"argumentTypes":null,"id":7919,"name":"incomingAssets_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7892,"src":"3899:15:84","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"argumentTypes":null,"id":7920,"name":"minIncomingAssetAmounts_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7895,"src":"3928:24:84","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}}],"id":7921,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3763:199:84","typeDescriptions":{"typeIdentifier":"t_tuple$_t_enum$_SpendAssetsHandleType_$10348_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"tuple(enum IIntegrationManager.SpendAssetsHandleType,address[] memory,uint256[] memory,address[] memory,uint256[] memory)"}},"functionReturnParameters":7896,"id":7922,"nodeType":"Return","src":"3756:206:84"}]},"baseFunctions":[9380],"documentation":{"id":7873,"nodeType":"StructuredDocumentation","src":"2366:633:84","text":"@notice Parses the expected assets in a particular action\n @param _selector The function selector for the callOnIntegration\n @param _actionData Data specific to this action\n @return spendAssetsHandleType_ A type that dictates how to handle granting\n the adapter access to spend assets (hardcoded to `Transfer`)\n @return spendAssets_ The assets to spend in the call\n @return spendAssetAmounts_ The max asset amounts to spend in the call\n @return incomingAssets_ The assets to receive in the call\n @return minIncomingAssetAmounts_ The min asset amounts to receive in the call"},"functionSelector":"c54efee5","implemented":true,"kind":"function","modifiers":[],"name":"parseAssetsForAction","overrides":{"id":7881,"nodeType":"OverrideSpecifier","overrides":[],"src":"3157:8:84"},"parameters":{"id":7880,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7875,"mutability":"mutable","name":"","nodeType":"VariableDeclaration","overrides":null,"scope":7924,"src":"3043:7:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7874,"name":"address","nodeType":"ElementaryTypeName","src":"3043:7:84","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":7877,"mutability":"mutable","name":"_selector","nodeType":"VariableDeclaration","overrides":null,"scope":7924,"src":"3060:16:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":7876,"name":"bytes4","nodeType":"ElementaryTypeName","src":"3060:6:84","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"value":null,"visibility":"internal"},{"constant":false,"id":7879,"mutability":"mutable","name":"_actionData","nodeType":"VariableDeclaration","overrides":null,"scope":7924,"src":"3086:26:84","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":7878,"name":"bytes","nodeType":"ElementaryTypeName","src":"3086:5:84","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"value":null,"visibility":"internal"}],"src":"3033:85:84"},"returnParameters":{"id":7896,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7883,"mutability":"mutable","name":"spendAssetsHandleType_","nodeType":"VariableDeclaration","overrides":null,"scope":7924,"src":"3196:64:84","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_SpendAssetsHandleType_$10348","typeString":"enum IIntegrationManager.SpendAssetsHandleType"},"typeName":{"contractScope":null,"id":7882,"name":"IIntegrationManager.SpendAssetsHandleType","nodeType":"UserDefinedTypeName","referencedDeclaration":10348,"src":"3196:41:84","typeDescriptions":{"typeIdentifier":"t_enum$_SpendAssetsHandleType_$10348","typeString":"enum IIntegrationManager.SpendAssetsHandleType"}},"value":null,"visibility":"internal"},{"constant":false,"id":7886,"mutability":"mutable","name":"spendAssets_","nodeType":"VariableDeclaration","overrides":null,"scope":7924,"src":"3274:29:84","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":7884,"name":"address","nodeType":"ElementaryTypeName","src":"3274:7:84","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":7885,"length":null,"nodeType":"ArrayTypeName","src":"3274:9:84","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"value":null,"visibility":"internal"},{"constant":false,"id":7889,"mutability":"mutable","name":"spendAssetAmounts_","nodeType":"VariableDeclaration","overrides":null,"scope":7924,"src":"3317:35:84","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":7887,"name":"uint256","nodeType":"ElementaryTypeName","src":"3317:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":7888,"length":null,"nodeType":"ArrayTypeName","src":"3317:9:84","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"value":null,"visibility":"internal"},{"constant":false,"id":7892,"mutability":"mutable","name":"incomingAssets_","nodeType":"VariableDeclaration","overrides":null,"scope":7924,"src":"3366:32:84","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":7890,"name":"address","nodeType":"ElementaryTypeName","src":"3366:7:84","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":7891,"length":null,"nodeType":"ArrayTypeName","src":"3366:9:84","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"value":null,"visibility":"internal"},{"constant":false,"id":7895,"mutability":"mutable","name":"minIncomingAssetAmounts_","nodeType":"VariableDeclaration","overrides":null,"scope":7924,"src":"3412:41:84","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":7893,"name":"uint256","nodeType":"ElementaryTypeName","src":"3412:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":7894,"length":null,"nodeType":"ArrayTypeName","src":"3412:9:84","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"value":null,"visibility":"internal"}],"src":"3182:281:84"},"scope":8008,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":7965,"nodeType":"FunctionDefinition","src":"4050:453:84","nodes":[],"body":{"id":7964,"nodeType":"Block","src":"4403:100:84","nodes":[],"statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":7946,"name":"_actionData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7927,"src":"4431:11:84","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},{"argumentTypes":null,"components":[{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":7948,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4445:7:84","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":7947,"name":"address","nodeType":"ElementaryTypeName","src":"4445:7:84","typeDescriptions":{"typeIdentifier":null,"typeString":null}}},"id":7949,"indexExpression":null,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"IndexAccess","src":"4445:9:84","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"type(address[] memory)"}},{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":7951,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4456:7:84","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":7950,"name":"uint256","nodeType":"ElementaryTypeName","src":"4456:7:84","typeDescriptions":{"typeIdentifier":null,"typeString":null}}},"id":7952,"indexExpression":null,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"IndexAccess","src":"4456:9:84","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"type(uint256[] memory)"}},{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":7954,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4467:7:84","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":7953,"name":"address","nodeType":"ElementaryTypeName","src":"4467:7:84","typeDescriptions":{"typeIdentifier":null,"typeString":null}}},"id":7955,"indexExpression":null,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"IndexAccess","src":"4467:9:84","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"type(address[] memory)"}},{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":7957,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4478:7:84","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":7956,"name":"uint256","nodeType":"ElementaryTypeName","src":"4478:7:84","typeDescriptions":{"typeIdentifier":null,"typeString":null}}},"id":7958,"indexExpression":null,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"IndexAccess","src":"4478:9:84","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"type(uint256[] memory)"}},{"argumentTypes":null,"id":7960,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4489:5:84","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":7959,"name":"bytes","nodeType":"ElementaryTypeName","src":"4489:5:84","typeDescriptions":{"typeIdentifier":null,"typeString":null}}}],"id":7961,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"4444:51:84","typeDescriptions":{"typeIdentifier":"t_tuple$_t_type$_t_array$_t_address_$dyn_memory_ptr_$_$_t_type$_t_array$_t_uint256_$dyn_memory_ptr_$_$_t_type$_t_array$_t_address_$dyn_memory_ptr_$_$_t_type$_t_array$_t_uint256_$dyn_memory_ptr_$_$_t_type$_t_bytes_storage_ptr_$_$","typeString":"tuple(type(address[] memory),type(uint256[] memory),type(address[] memory),type(uint256[] memory),type(bytes storage pointer))"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"},{"typeIdentifier":"t_tuple$_t_type$_t_array$_t_address_$dyn_memory_ptr_$_$_t_type$_t_array$_t_uint256_$dyn_memory_ptr_$_$_t_type$_t_array$_t_address_$dyn_memory_ptr_$_$_t_type$_t_array$_t_uint256_$dyn_memory_ptr_$_$_t_type$_t_bytes_storage_ptr_$_$","typeString":"tuple(type(address[] memory),type(uint256[] memory),type(address[] memory),type(uint256[] memory),type(bytes storage pointer))"}],"expression":{"argumentTypes":null,"id":7944,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4420:3:84","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":7945,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"decode","nodeType":"MemberAccess","referencedDeclaration":null,"src":"4420:10:84","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":7962,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4420:76:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_uint256_$dyn_memory_ptr_$_t_bytes_memory_ptr_$","typeString":"tuple(address[] memory,uint256[] memory,address[] memory,uint256[] memory,bytes memory)"}},"functionReturnParameters":7943,"id":7963,"nodeType":"Return","src":"4413:83:84"}]},"documentation":{"id":7925,"nodeType":"StructuredDocumentation","src":"3975:70:84","text":"@dev Helper to decode the encoded callOnIntegration call arguments"},"implemented":true,"kind":"function","modifiers":[],"name":"__decodeCallArgs","overrides":null,"parameters":{"id":7928,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7927,"mutability":"mutable","name":"_actionData","nodeType":"VariableDeclaration","overrides":null,"scope":7965,"src":"4076:26:84","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":7926,"name":"bytes","nodeType":"ElementaryTypeName","src":"4076:5:84","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"value":null,"visibility":"internal"}],"src":"4075:28:84"},"returnParameters":{"id":7943,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7931,"mutability":"mutable","name":"incomingAssets_","nodeType":"VariableDeclaration","overrides":null,"scope":7965,"src":"4163:32:84","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":7929,"name":"address","nodeType":"ElementaryTypeName","src":"4163:7:84","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":7930,"length":null,"nodeType":"ArrayTypeName","src":"4163:9:84","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"value":null,"visibility":"internal"},{"constant":false,"id":7934,"mutability":"mutable","name":"minIncomingAssetsAmounts_","nodeType":"VariableDeclaration","overrides":null,"scope":7965,"src":"4209:42:84","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":7932,"name":"uint256","nodeType":"ElementaryTypeName","src":"4209:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":7933,"length":null,"nodeType":"ArrayTypeName","src":"4209:9:84","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"value":null,"visibility":"internal"},{"constant":false,"id":7937,"mutability":"mutable","name":"spendAssets_","nodeType":"VariableDeclaration","overrides":null,"scope":7965,"src":"4265:29:84","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":7935,"name":"address","nodeType":"ElementaryTypeName","src":"4265:7:84","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":7936,"length":null,"nodeType":"ArrayTypeName","src":"4265:9:84","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"value":null,"visibility":"internal"},{"constant":false,"id":7940,"mutability":"mutable","name":"spendAssetAmounts_","nodeType":"VariableDeclaration","overrides":null,"scope":7965,"src":"4308:35:84","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":7938,"name":"uint256","nodeType":"ElementaryTypeName","src":"4308:7:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":7939,"length":null,"nodeType":"ArrayTypeName","src":"4308:9:84","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"value":null,"visibility":"internal"},{"constant":false,"id":7942,"mutability":"mutable","name":"externalCallsData_","nodeType":"VariableDeclaration","overrides":null,"scope":7965,"src":"4357:31:84","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":7941,"name":"bytes","nodeType":"ElementaryTypeName","src":"4357:5:84","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"value":null,"visibility":"internal"}],"src":"4149:249:84"},"scope":8008,"stateMutability":"pure","virtual":false,"visibility":"private"},{"id":8007,"nodeType":"FunctionDefinition","src":"4576:409:84","nodes":[],"body":{"id":8006,"nodeType":"Block","src":"4750:235:84","nodes":[],"statements":[{"expression":{"argumentTypes":null,"id":7991,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"components":[{"argumentTypes":null,"id":7977,"name":"contracts_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7972,"src":"4761:10:84","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"argumentTypes":null,"id":7978,"name":"callsData_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7975,"src":"4773:10:84","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}}],"id":7979,"isConstant":false,"isInlineArray":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"TupleExpression","src":"4760:24:84","typeDescriptions":{"typeIdentifier":"t_tuple$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$","typeString":"tuple(address[] memory,bytes memory[] memory)"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":7982,"name":"_externalCallsData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7968,"src":"4798:18:84","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"argumentTypes":null,"components":[{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":7984,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4819:7:84","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":7983,"name":"address","nodeType":"ElementaryTypeName","src":"4819:7:84","typeDescriptions":{"typeIdentifier":null,"typeString":null}}},"id":7985,"indexExpression":null,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"IndexAccess","src":"4819:9:84","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"type(address[] memory)"}},{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":7987,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4830:5:84","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":7986,"name":"bytes","nodeType":"ElementaryTypeName","src":"4830:5:84","typeDescriptions":{"typeIdentifier":null,"typeString":null}}},"id":7988,"indexExpression":null,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"IndexAccess","src":"4830:7:84","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$","typeString":"type(bytes memory[] memory)"}}],"id":7989,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"4818:20:84","typeDescriptions":{"typeIdentifier":"t_tuple$_t_type$_t_array$_t_address_$dyn_memory_ptr_$_$_t_type$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_$","typeString":"tuple(type(address[] memory),type(bytes memory[] memory))"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_tuple$_t_type$_t_array$_t_address_$dyn_memory_ptr_$_$_t_type$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$_$","typeString":"tuple(type(address[] memory),type(bytes memory[] memory))"}],"expression":{"argumentTypes":null,"id":7980,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4787:3:84","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":7981,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberName":"decode","nodeType":"MemberAccess","referencedDeclaration":null,"src":"4787:10:84","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":7990,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4787:52:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$","typeString":"tuple(address[] memory,bytes memory[] memory)"}},"src":"4760:79:84","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7992,"nodeType":"ExpressionStatement","src":"4760:79:84"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":7998,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":7994,"name":"contracts_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7972,"src":"4857:10:84","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":7995,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","referencedDeclaration":null,"src":"4857:17:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":7996,"name":"callsData_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7975,"src":"4878:10:84","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}},"id":7997,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"length","nodeType":"MemberAccess","referencedDeclaration":null,"src":"4878:17:84","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4857:38:84","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"argumentTypes":null,"hexValue":"556e657175616c2065787465726e616c2063616c6c7320617272617973206c656e67746873","id":7999,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4897:39:84","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_2af52529fed430f17a4f57aaf2b2e5efd652752f460c4549180b97a09616cd96","typeString":"literal_string \"Unequal external calls arrays lengths\""},"value":"Unequal external calls arrays lengths"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_2af52529fed430f17a4f57aaf2b2e5efd652752f460c4549180b97a09616cd96","typeString":"literal_string \"Unequal external calls arrays lengths\""}],"id":7993,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"4849:7:84","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":8000,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4849:88:84","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":8001,"nodeType":"ExpressionStatement","src":"4849:88:84"},{"expression":{"argumentTypes":null,"components":[{"argumentTypes":null,"id":8002,"name":"contracts_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7972,"src":"4955:10:84","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},{"argumentTypes":null,"id":8003,"name":"callsData_","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7975,"src":"4967:10:84","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes memory[] memory"}}],"id":8004,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"4954:24:84","typeDescriptions":{"typeIdentifier":"t_tuple$_t_array$_t_address_$dyn_memory_ptr_$_t_array$_t_bytes_memory_ptr_$dyn_memory_ptr_$","typeString":"tuple(address[] memory,bytes memory[] memory)"}},"functionReturnParameters":7976,"id":8005,"nodeType":"Return","src":"4947:31:84"}]},"documentation":{"id":7966,"nodeType":"StructuredDocumentation","src":"4509:62:84","text":"@dev Helper to decode the stack of external contract calls"},"implemented":true,"kind":"function","modifiers":[],"name":"__decodeExternalCallsData","overrides":null,"parameters":{"id":7969,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7968,"mutability":"mutable","name":"_externalCallsData","nodeType":"VariableDeclaration","overrides":null,"scope":8007,"src":"4611:31:84","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":7967,"name":"bytes","nodeType":"ElementaryTypeName","src":"4611:5:84","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"value":null,"visibility":"internal"}],"src":"4610:33:84"},"returnParameters":{"id":7976,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7972,"mutability":"mutable","name":"contracts_","nodeType":"VariableDeclaration","overrides":null,"scope":8007,"src":"4690:27:84","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":7970,"name":"address","nodeType":"ElementaryTypeName","src":"4690:7:84","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":7971,"length":null,"nodeType":"ArrayTypeName","src":"4690:9:84","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"value":null,"visibility":"internal"},{"constant":false,"id":7975,"mutability":"mutable","name":"callsData_","nodeType":"VariableDeclaration","overrides":null,"scope":8007,"src":"4719:25:84","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":7973,"name":"bytes","nodeType":"ElementaryTypeName","src":"4719:5:84","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":7974,"length":null,"nodeType":"ArrayTypeName","src":"4719:7:84","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"value":null,"visibility":"internal"}],"src":"4689:56:84"},"scope":8008,"stateMutability":"pure","virtual":false,"visibility":"private"}],"abstract":false,"baseContracts":[{"arguments":null,"baseName":{"contractScope":null,"id":7744,"name":"AdapterBase","nodeType":"UserDefinedTypeName","referencedDeclaration":1892,"src":"475:11:84","typeDescriptions":{"typeIdentifier":"t_contract$_AdapterBase_$1892","typeString":"contract AdapterBase"}},"id":7745,"nodeType":"InheritanceSpecifier","src":"475:11:84"}],"contractDependencies":[1892,9381,9457,9807],"contractKind":"contract","documentation":{"id":7743,"nodeType":"StructuredDocumentation","src":"245:189:84","text":" A vault contract specific adapter/\n - Allows calls only from the whitelisted vault\n - The default GenericAdapter is unsafe, as anyone can steal tokens approved on it"},"fullyImplemented":true,"linearizedBaseContracts":[8008,1892,9807,9457,9381],"name":"VaultSpecificGenericAdapter","scope":8009}],"license":"GPL-3.0"},"id":84} \ No newline at end of file diff --git a/eth_defi/abi/VaultUSDCPaymentForwarder.json b/eth_defi/abi/VaultUSDCPaymentForwarder.json index 64d7418b..6034aae8 100644 --- a/eth_defi/abi/VaultUSDCPaymentForwarder.json +++ b/eth_defi/abi/VaultUSDCPaymentForwarder.json @@ -1,2969 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "contract IEIP3009", - "name": "_token", - "type": "address" - }, - { - "internalType": "contract IEnzymeComptroller", - "name": "_comptroller", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "name": "amountProxied", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "validAfter", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "validBefore", - "type": "uint256" - }, - { - "internalType": "bytes32", - "name": "nonce", - "type": "bytes32" - }, - { - "internalType": "uint8", - "name": "v", - "type": "uint8" - }, - { - "internalType": "bytes32", - "name": "r", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "s", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "minSharesQuantity", - "type": "uint256" - } - ], - "name": "buySharesOnBehalfUsingReceiveWithAuthorization", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "validAfter", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "validBefore", - "type": "uint256" - }, - { - "internalType": "bytes32", - "name": "nonce", - "type": "bytes32" - }, - { - "internalType": "uint8", - "name": "v", - "type": "uint8" - }, - { - "internalType": "bytes32", - "name": "r", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "s", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "minSharesQuantity", - "type": "uint256" - } - ], - "name": "buySharesOnBehalfUsingTransferWithAuthorization", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "comptroller", - "outputs": [ - { - "internalType": "contract IEnzymeComptroller", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "token", - "outputs": [ - { - "internalType": "contract IEIP3009", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x608060405234801561001057600080fd5b506040516105153803806105158339818101604052604081101561003357600080fd5b508051602090910151600080546001600160a01b039384166001600160a01b0319918216179091556001805493909216921691909117905561049b8061007a6000396000f3fe608060405234801561001057600080fd5b50600436106100565760003560e01c80621291eb1461005b5780635fe3b567146100d35780636e80f2be146100f75780637cc4040b146100ff578063fc0c546a14610165575b600080fd5b6100c1600480360361014081101561007257600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060808101359060a08101359060ff60c0820135169060e08101359061010081013590610120013561016d565b60408051918252519081900360200190f35b6100db6103b6565b604080516001600160a01b039092168252519081900360200190f35b6100c16103c5565b6100c1600480360361014081101561011657600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060808101359060a08101359060ff60c0820135169060e0810135906101008101359061012001356103cb565b6100db610456565b60006001600160a01b038a1630146101cc576040805162461bcd60e51b815260206004820152601e60248201527f526563697069656e74206973206e6f74207468697320636f6e74726163740000604482015290519081900360640190fd5b60008054604080516377aadf6360e11b81526001600160a01b038f811660048301528e81166024830152604482018e9052606482018d9052608482018c905260a482018b905260ff8a1660c483015260e4820189905261010482018890529151919092169263ef55bec692610124808201939182900301818387803b15801561025457600080fd5b505af1158015610268573d6000803e3d6000fd5b5050505060008054906101000a90046001600160a01b03166001600160a01b031663095ea7b3600160009054906101000a90046001600160a01b03168b6040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b1580156102eb57600080fd5b505af11580156102ff573d6000803e3d6000fd5b505050506040513d602081101561031557600080fd5b5050600154604080516321dff62560e21b8152336004820152602481018c90526044810185905290516000926001600160a01b03169163877fd89491606480830192602092919082900301818787803b15801561037157600080fd5b505af1158015610385573d6000803e3d6000fd5b505050506040513d602081101561039b57600080fd5b5051600280548c0190559150509a9950505050505050505050565b6001546001600160a01b031681565b60025481565b60008054604080516371f70b0760e11b81526001600160a01b038e811660048301528d81166024830152604482018d9052606482018c9052608482018b905260a482018a905260ff891660c483015260e4820188905261010482018790529151919092169163e3ee160e91610124808301928692919082900301818387803b15801561025457600080fd5b6000546001600160a01b03168156fea26469706673582212202ebc2a2aefcee34cf010841db80a0f66559b0a30a82bdf526000c77d708ed94b64736f6c634300060c0033", - "sourceMap": "664:2613:83:-:0;;;957:136;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;957:136:83;;;;;;;1036:5;:14;;-1:-1:-1;;;;;1036:14:83;;;-1:-1:-1;;;;;;1036:14:83;;;;;;;;1060:26;;;;;;;;;;;;;;664:2613;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106100565760003560e01c80621291eb1461005b5780635fe3b567146100d35780636e80f2be146100f75780637cc4040b146100ff578063fc0c546a14610165575b600080fd5b6100c1600480360361014081101561007257600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060808101359060a08101359060ff60c0820135169060e08101359061010081013590610120013561016d565b60408051918252519081900360200190f35b6100db6103b6565b604080516001600160a01b039092168252519081900360200190f35b6100c16103c5565b6100c1600480360361014081101561011657600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060808101359060a08101359060ff60c0820135169060e0810135906101008101359061012001356103cb565b6100db610456565b60006001600160a01b038a1630146101cc576040805162461bcd60e51b815260206004820152601e60248201527f526563697069656e74206973206e6f74207468697320636f6e74726163740000604482015290519081900360640190fd5b60008054604080516377aadf6360e11b81526001600160a01b038f811660048301528e81166024830152604482018e9052606482018d9052608482018c905260a482018b905260ff8a1660c483015260e4820189905261010482018890529151919092169263ef55bec692610124808201939182900301818387803b15801561025457600080fd5b505af1158015610268573d6000803e3d6000fd5b5050505060008054906101000a90046001600160a01b03166001600160a01b031663095ea7b3600160009054906101000a90046001600160a01b03168b6040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b1580156102eb57600080fd5b505af11580156102ff573d6000803e3d6000fd5b505050506040513d602081101561031557600080fd5b5050600154604080516321dff62560e21b8152336004820152602481018c90526044810185905290516000926001600160a01b03169163877fd89491606480830192602092919082900301818787803b15801561037157600080fd5b505af1158015610385573d6000803e3d6000fd5b505050506040513d602081101561039b57600080fd5b5051600280548c0190559150509a9950505050505050505050565b6001546001600160a01b031681565b60025481565b60008054604080516371f70b0760e11b81526001600160a01b038e811660048301528d81166024830152604482018d9052606482018c9052608482018b905260a482018a905260ff891660c483015260e4820188905261010482018790529151919092169163e3ee160e91610124808301928692919082900301818387803b15801561025457600080fd5b6000546001600160a01b03168156fea26469706673582212202ebc2a2aefcee34cf010841db80a0f66559b0a30a82bdf526000c77d708ed94b64736f6c634300060c0033", - "sourceMap": "664:2613:83:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2155:1120;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;2155:1120:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;822:37;;;:::i;:::-;;;;-1:-1:-1;;;;;822:37:83;;;;;;;;;;;;;;922:28;;;:::i;1099:1050::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1099:1050:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;727:21::-;;;:::i;2155:1120::-;2484:7;-1:-1:-1;;;;;2515:19:83;;2529:4;2515:19;2507:62;;;;;-1:-1:-1;;;2507:62:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;2700:5;;;:206;;;-1:-1:-1;;;2700:206:83;;-1:-1:-1;;;;;2700:206:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:5;;;;;:30;;:206;;;;;;;;;;;:5;;:206;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2917:5;;;;;;;;-1:-1:-1;;;;;2917:5:83;-1:-1:-1;;;;;2917:13:83;;2939:11;;;;;;;;;-1:-1:-1;;;;;2939:11:83;2953:5;2917:42;;;;;;;;;;;;;-1:-1:-1;;;;;2917:42:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2994:11:83;;:113;;;-1:-1:-1;;;2994:113:83;;3037:10;2994:113;;;;;;;;;;;;;;;;;;2969:22;;-1:-1:-1;;;;;2994:11:83;;:29;;:113;;;;;2917:42;;2994:113;;;;;;;2969:22;2994:11;:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2994:113:83;3214:13;:22;;;;;;2994:113;-1:-1:-1;;2155:1120:83;;;;;;;;;;;;:::o;822:37::-;;;-1:-1:-1;;;;;822:37:83;;:::o;922:28::-;;;;:::o;1099:1050::-;1429:7;1573:5;;:207;;;-1:-1:-1;;;1573:207:83;;-1:-1:-1;;;;;1573:207:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:5;;;;;:31;;:207;;;;;1429:7;;1573:207;;;;;;;1429:7;1573:5;:207;;;;;;;;;;727:21;;;-1:-1:-1;;;;;727:21:83;;:::o", - "linkReferences": {} - }, - "methodIdentifiers": { - "amountProxied()": "6e80f2be", - "buySharesOnBehalfUsingReceiveWithAuthorization(address,address,uint256,uint256,uint256,bytes32,uint8,bytes32,bytes32,uint256)": "001291eb", - "buySharesOnBehalfUsingTransferWithAuthorization(address,address,uint256,uint256,uint256,bytes32,uint8,bytes32,bytes32,uint256)": "7cc4040b", - "comptroller()": "5fe3b567", - "token()": "fc0c546a" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"contract IEIP3009\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"contract IEnzymeComptroller\",\"name\":\"_comptroller\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"amountProxied\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"validAfter\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"validBefore\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"nonce\",\"type\":\"bytes32\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"minSharesQuantity\",\"type\":\"uint256\"}],\"name\":\"buySharesOnBehalfUsingReceiveWithAuthorization\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"validAfter\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"validBefore\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"nonce\",\"type\":\"bytes32\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"minSharesQuantity\",\"type\":\"uint256\"}],\"name\":\"buySharesOnBehalfUsingTransferWithAuthorization\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"comptroller\",\"outputs\":[{\"internalType\":\"contract IEnzymeComptroller\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"internalType\":\"contract IEIP3009\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Purchase shares for the user using USDC - Provide EIP-3009 wrapper around Enzyme's buyShares() function - Support receiveWithAuthorization() hooks - Support transferWithAuthorization() hooks - No approve() and extra pop-up needed when depositd to the vault\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/VaultUSDCPaymentForwarder.sol\":\"VaultUSDCPaymentForwarder\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":# @openzeppelin/=lib/openzeppelin-contracts/\",\":@enzyme/=../enzyme/contracts/\",\":@openzeppelin/=../enzyme/node_modules/@openzeppelin/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\"]},\"sources\":{\"../enzyme/node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"../enzyme/node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"../enzyme/node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"../enzyme/node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]},\"src/IEIP3009.sol\":{\"keccak256\":\"0xb7c522dd527973629fb7386283a8b4713e4c1ad4c1e52e53acffa959b6983423\",\"urls\":[\"bzz-raw://517ff4bde29dd1c7619804d4b47dc76c9d7fcce084d0ee08cec06ff0ca91feac\",\"dweb:/ipfs/Qmb5VrRpnaXFwQaR1amifw1znmig4BQ7W7qGiTdfmQJEtp\"]},\"src/VaultUSDCPaymentForwarder.sol\":{\"keccak256\":\"0xb8625139fe09393956a8ebe0b3e1474225faf02ec4ab568d4c13da3205500212\",\"urls\":[\"bzz-raw://353d21729692351a71acd5cd435096ffe7d9b7cb36cb9b38daf2d2b53247793a\",\"dweb:/ipfs/Qma8szX1KuTczWjmsBURtoLpcUHftg8HKqXFnTt84iABQ8\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "contract IEIP3009", - "name": "_token", - "type": "address" - }, - { - "internalType": "contract IEnzymeComptroller", - "name": "_comptroller", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "amountProxied", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "validAfter", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "validBefore", - "type": "uint256" - }, - { - "internalType": "bytes32", - "name": "nonce", - "type": "bytes32" - }, - { - "internalType": "uint8", - "name": "v", - "type": "uint8" - }, - { - "internalType": "bytes32", - "name": "r", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "s", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "minSharesQuantity", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "buySharesOnBehalfUsingReceiveWithAuthorization", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "validAfter", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "validBefore", - "type": "uint256" - }, - { - "internalType": "bytes32", - "name": "nonce", - "type": "bytes32" - }, - { - "internalType": "uint8", - "name": "v", - "type": "uint8" - }, - { - "internalType": "bytes32", - "name": "r", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "s", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "minSharesQuantity", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "buySharesOnBehalfUsingTransferWithAuthorization", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "comptroller", - "outputs": [ - { - "internalType": "contract IEnzymeComptroller", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "token", - "outputs": [ - { - "internalType": "contract IEIP3009", - "name": "", - "type": "address" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":# @openzeppelin/=lib/openzeppelin-contracts/", - ":@enzyme/=../enzyme/contracts/", - ":@openzeppelin/=../enzyme/node_modules/@openzeppelin/", - ":openzeppelin-contracts/=lib/openzeppelin-contracts/" - ], - "optimizer": { - "enabled": true, - "runs": 200 - }, - "metadata": { - "bytecodeHash": "ipfs" - }, - "compilationTarget": { - "src/VaultUSDCPaymentForwarder.sol": "VaultUSDCPaymentForwarder" - }, - "libraries": {} - }, - "sources": { - "../enzyme/node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "../enzyme/node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "../enzyme/node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "../enzyme/node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - }, - "src/IEIP3009.sol": { - "keccak256": "0xb7c522dd527973629fb7386283a8b4713e4c1ad4c1e52e53acffa959b6983423", - "urls": [ - "bzz-raw://517ff4bde29dd1c7619804d4b47dc76c9d7fcce084d0ee08cec06ff0ca91feac", - "dweb:/ipfs/Qmb5VrRpnaXFwQaR1amifw1znmig4BQ7W7qGiTdfmQJEtp" - ], - "license": null - }, - "src/VaultUSDCPaymentForwarder.sol": { - "keccak256": "0xb8625139fe09393956a8ebe0b3e1474225faf02ec4ab568d4c13da3205500212", - "urls": [ - "bzz-raw://353d21729692351a71acd5cd435096ffe7d9b7cb36cb9b38daf2d2b53247793a", - "dweb:/ipfs/Qma8szX1KuTczWjmsBURtoLpcUHftg8HKqXFnTt84iABQ8" - ], - "license": null - } - }, - "version": 1 - }, - "ast": { - "absolutePath": "src/VaultUSDCPaymentForwarder.sol", - "id": 7847, - "exportedSymbols": { - "IEnzymeComptroller": [ - 7680 - ], - "VaultUSDCPaymentForwarder": [ - 7846 - ] - }, - "nodeType": "SourceUnit", - "src": "108:3169:83", - "nodes": [ - { - "id": 7667, - "nodeType": "PragmaDirective", - "src": "108:23:83", - "nodes": [], - "literals": [ - "solidity", - "0.6", - ".12" - ] - }, - { - "id": 7668, - "nodeType": "ImportDirective", - "src": "133:24:83", - "nodes": [], - "absolutePath": "src/IEIP3009.sol", - "file": "./IEIP3009.sol", - "scope": 7847, - "sourceUnit": 7190, - "symbolAliases": [], - "unitAlias": "" - }, - { - "id": 7680, - "nodeType": "ContractDefinition", - "src": "159:208:83", - "nodes": [ - { - "id": 7679, - "nodeType": "FunctionDefinition", - "src": "194:171:83", - "nodes": [], - "documentation": null, - "functionSelector": "877fd894", - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "buySharesOnBehalf", - "overrides": null, - "parameters": { - "id": 7675, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7670, - "mutability": "mutable", - "name": "_buyer", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7679, - "src": "230:14:83", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7669, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "230:7:83", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7672, - "mutability": "mutable", - "name": "_investmentAmount", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7679, - "src": "254:25:83", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7671, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "254:7:83", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7674, - "mutability": "mutable", - "name": "_minSharesQuantity", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7679, - "src": "289:26:83", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7673, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "289:7:83", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "220:101:83" - }, - "returnParameters": { - "id": 7678, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7677, - "mutability": "mutable", - "name": "sharesReceived_", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7679, - "src": "340:23:83", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7676, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "340:7:83", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "339:25:83" - }, - "scope": 7680, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - } - ], - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "interface", - "documentation": null, - "fullyImplemented": false, - "linearizedBaseContracts": [ - 7680 - ], - "name": "IEnzymeComptroller", - "scope": 7847 - }, - { - "id": 7846, - "nodeType": "ContractDefinition", - "src": "664:2613:83", - "nodes": [ - { - "id": 7683, - "nodeType": "VariableDeclaration", - "src": "727:21:83", - "nodes": [], - "constant": false, - "functionSelector": "fc0c546a", - "mutability": "mutable", - "name": "token", - "overrides": null, - "scope": 7846, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEIP3009_$7189", - "typeString": "contract IEIP3009" - }, - "typeName": { - "contractScope": null, - "id": 7682, - "name": "IEIP3009", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7189, - "src": "727:8:83", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEIP3009_$7189", - "typeString": "contract IEIP3009" - } - }, - "value": null, - "visibility": "public" - }, - { - "id": 7685, - "nodeType": "VariableDeclaration", - "src": "822:37:83", - "nodes": [], - "constant": false, - "functionSelector": "5fe3b567", - "mutability": "mutable", - "name": "comptroller", - "overrides": null, - "scope": 7846, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEnzymeComptroller_$7680", - "typeString": "contract IEnzymeComptroller" - }, - "typeName": { - "contractScope": null, - "id": 7684, - "name": "IEnzymeComptroller", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7680, - "src": "822:18:83", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEnzymeComptroller_$7680", - "typeString": "contract IEnzymeComptroller" - } - }, - "value": null, - "visibility": "public" - }, - { - "id": 7687, - "nodeType": "VariableDeclaration", - "src": "922:28:83", - "nodes": [], - "constant": false, - "functionSelector": "6e80f2be", - "mutability": "mutable", - "name": "amountProxied", - "overrides": null, - "scope": 7846, - "stateVariable": true, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7686, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "922:7:83", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "public" - }, - { - "id": 7703, - "nodeType": "FunctionDefinition", - "src": "957:136:83", - "nodes": [], - "body": { - "id": 7702, - "nodeType": "Block", - "src": "1026:67:83", - "nodes": [], - "statements": [ - { - "expression": { - "argumentTypes": null, - "id": 7696, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 7694, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7683, - "src": "1036:5:83", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEIP3009_$7189", - "typeString": "contract IEIP3009" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 7695, - "name": "_token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7689, - "src": "1044:6:83", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEIP3009_$7189", - "typeString": "contract IEIP3009" - } - }, - "src": "1036:14:83", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEIP3009_$7189", - "typeString": "contract IEIP3009" - } - }, - "id": 7697, - "nodeType": "ExpressionStatement", - "src": "1036:14:83" - }, - { - "expression": { - "argumentTypes": null, - "id": 7700, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 7698, - "name": "comptroller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7685, - "src": "1060:11:83", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEnzymeComptroller_$7680", - "typeString": "contract IEnzymeComptroller" - } - }, - "nodeType": "Assignment", - "operator": "=", - "rightHandSide": { - "argumentTypes": null, - "id": 7699, - "name": "_comptroller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7691, - "src": "1074:12:83", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEnzymeComptroller_$7680", - "typeString": "contract IEnzymeComptroller" - } - }, - "src": "1060:26:83", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEnzymeComptroller_$7680", - "typeString": "contract IEnzymeComptroller" - } - }, - "id": 7701, - "nodeType": "ExpressionStatement", - "src": "1060:26:83" - } - ] - }, - "documentation": null, - "implemented": true, - "kind": "constructor", - "modifiers": [], - "name": "", - "overrides": null, - "parameters": { - "id": 7692, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7689, - "mutability": "mutable", - "name": "_token", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7703, - "src": "969:15:83", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEIP3009_$7189", - "typeString": "contract IEIP3009" - }, - "typeName": { - "contractScope": null, - "id": 7688, - "name": "IEIP3009", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7189, - "src": "969:8:83", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEIP3009_$7189", - "typeString": "contract IEIP3009" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7691, - "mutability": "mutable", - "name": "_comptroller", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7703, - "src": "986:31:83", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEnzymeComptroller_$7680", - "typeString": "contract IEnzymeComptroller" - }, - "typeName": { - "contractScope": null, - "id": 7690, - "name": "IEnzymeComptroller", - "nodeType": "UserDefinedTypeName", - "referencedDeclaration": 7680, - "src": "986:18:83", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEnzymeComptroller_$7680", - "typeString": "contract IEnzymeComptroller" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "968:50:83" - }, - "returnParameters": { - "id": 7693, - "nodeType": "ParameterList", - "parameters": [], - "src": "1026:0:83" - }, - "scope": 7846, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "id": 7769, - "nodeType": "FunctionDefinition", - "src": "1099:1050:83", - "nodes": [], - "body": { - "id": 7768, - "nodeType": "Block", - "src": "1442:707:83", - "nodes": [], - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7731, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7705, - "src": "1618:4:83", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 7732, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7707, - "src": "1636:2:83", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 7733, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7709, - "src": "1652:5:83", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 7734, - "name": "validAfter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7711, - "src": "1671:10:83", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 7735, - "name": "validBefore", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7713, - "src": "1695:11:83", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 7736, - "name": "nonce", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7715, - "src": "1720:5:83", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 7737, - "name": "v", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7717, - "src": "1739:1:83", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "argumentTypes": null, - "id": 7738, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7719, - "src": "1754:1:83", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 7739, - "name": "s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7721, - "src": "1769:1:83", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 7728, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7683, - "src": "1573:5:83", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEIP3009_$7189", - "typeString": "contract IEIP3009" - } - }, - "id": 7730, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "transferWithAuthorization", - "nodeType": "MemberAccess", - "referencedDeclaration": 7167, - "src": "1573:31:83", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$__$", - "typeString": "function (address,address,uint256,uint256,uint256,bytes32,uint8,bytes32,bytes32) external" - } - }, - "id": 7740, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1573:207:83", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7741, - "nodeType": "ExpressionStatement", - "src": "1573:207:83" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7747, - "name": "comptroller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7685, - "src": "1813:11:83", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEnzymeComptroller_$7680", - "typeString": "contract IEnzymeComptroller" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IEnzymeComptroller_$7680", - "typeString": "contract IEnzymeComptroller" - } - ], - "id": 7746, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "1805:7:83", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 7745, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1805:7:83", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 7748, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1805:20:83", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 7749, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7709, - "src": "1827:5:83", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 7742, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7683, - "src": "1791:5:83", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEIP3009_$7189", - "typeString": "contract IEIP3009" - } - }, - "id": 7744, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "approve", - "nodeType": "MemberAccess", - "referencedDeclaration": 9511, - "src": "1791:13:83", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 7750, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1791:42:83", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 7751, - "nodeType": "ExpressionStatement", - "src": "1791:42:83" - }, - { - "assignments": [ - 7753 - ], - "declarations": [ - { - "constant": false, - "id": 7753, - "mutability": "mutable", - "name": "sharesReceived", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7768, - "src": "1843:22:83", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7752, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1843:7:83", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7761, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7756, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "1911:3:83", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 7757, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "1911:10:83", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 7758, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7709, - "src": "1935:5:83", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 7759, - "name": "minSharesQuantity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7723, - "src": "1954:17:83", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 7754, - "name": "comptroller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7685, - "src": "1868:11:83", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEnzymeComptroller_$7680", - "typeString": "contract IEnzymeComptroller" - } - }, - "id": 7755, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "buySharesOnBehalf", - "nodeType": "MemberAccess", - "referencedDeclaration": 7679, - "src": "1868:29:83", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,uint256,uint256) external returns (uint256)" - } - }, - "id": 7760, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "1868:113:83", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "1843:138:83" - }, - { - "expression": { - "argumentTypes": null, - "id": 7764, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 7762, - "name": "amountProxied", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7687, - "src": "2088:13:83", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "id": 7763, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7709, - "src": "2105:5:83", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "2088:22:83", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7765, - "nodeType": "ExpressionStatement", - "src": "2088:22:83" - }, - { - "expression": { - "argumentTypes": null, - "id": 7766, - "name": "sharesReceived", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7753, - "src": "2128:14:83", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 7727, - "id": 7767, - "nodeType": "Return", - "src": "2121:21:83" - } - ] - }, - "documentation": null, - "functionSelector": "7cc4040b", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "buySharesOnBehalfUsingTransferWithAuthorization", - "overrides": null, - "parameters": { - "id": 7724, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7705, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7769, - "src": "1165:12:83", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7704, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1165:7:83", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7707, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7769, - "src": "1187:10:83", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7706, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "1187:7:83", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7709, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7769, - "src": "1207:13:83", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7708, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1207:7:83", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7711, - "mutability": "mutable", - "name": "validAfter", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7769, - "src": "1230:18:83", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7710, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1230:7:83", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7713, - "mutability": "mutable", - "name": "validBefore", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7769, - "src": "1258:19:83", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7712, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1258:7:83", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7715, - "mutability": "mutable", - "name": "nonce", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7769, - "src": "1287:13:83", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 7714, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1287:7:83", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7717, - "mutability": "mutable", - "name": "v", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7769, - "src": "1310:7:83", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 7716, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "1310:5:83", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7719, - "mutability": "mutable", - "name": "r", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7769, - "src": "1327:9:83", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 7718, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1327:7:83", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7721, - "mutability": "mutable", - "name": "s", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7769, - "src": "1346:9:83", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 7720, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "1346:7:83", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7723, - "mutability": "mutable", - "name": "minSharesQuantity", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7769, - "src": "1365:25:83", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7722, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1365:7:83", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1155:241:83" - }, - "returnParameters": { - "id": 7727, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7726, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7769, - "src": "1429:7:83", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7725, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "1429:7:83", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "1428:9:83" - }, - "scope": 7846, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - }, - { - "id": 7845, - "nodeType": "FunctionDefinition", - "src": "2155:1120:83", - "nodes": [], - "body": { - "id": 7844, - "nodeType": "Block", - "src": "2497:778:83", - "nodes": [], - "statements": [ - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "commonType": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "id": 7800, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftExpression": { - "argumentTypes": null, - "id": 7795, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7773, - "src": "2515:2:83", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "nodeType": "BinaryOperation", - "operator": "==", - "rightExpression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7798, - "name": "this", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -28, - "src": "2529:4:83", - "typeDescriptions": { - "typeIdentifier": "t_contract$_VaultUSDCPaymentForwarder_$7846", - "typeString": "contract VaultUSDCPaymentForwarder" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_VaultUSDCPaymentForwarder_$7846", - "typeString": "contract VaultUSDCPaymentForwarder" - } - ], - "id": 7797, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2521:7:83", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 7796, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2521:7:83", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 7799, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2521:13:83", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "src": "2515:19:83", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - { - "argumentTypes": null, - "hexValue": "526563697069656e74206973206e6f74207468697320636f6e7472616374", - "id": 7801, - "isConstant": false, - "isLValue": false, - "isPure": true, - "kind": "string", - "lValueRequested": false, - "nodeType": "Literal", - "src": "2536:32:83", - "subdenomination": null, - "typeDescriptions": { - "typeIdentifier": "t_stringliteral_72bf585aef932550d0e7fd29e9cc911eec6df8f06abf43dca581b20256cda86f", - "typeString": "literal_string \"Recipient is not this contract\"" - }, - "value": "Recipient is not this contract" - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - { - "typeIdentifier": "t_stringliteral_72bf585aef932550d0e7fd29e9cc911eec6df8f06abf43dca581b20256cda86f", - "typeString": "literal_string \"Recipient is not this contract\"" - } - ], - "id": 7794, - "name": "require", - "nodeType": "Identifier", - "overloadedDeclarations": [ - -18, - -18 - ], - "referencedDeclaration": -18, - "src": "2507:7:83", - "typeDescriptions": { - "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", - "typeString": "function (bool,string memory) pure" - } - }, - "id": 7802, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2507:62:83", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7803, - "nodeType": "ExpressionStatement", - "src": "2507:62:83" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7807, - "name": "from", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7771, - "src": "2744:4:83", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 7808, - "name": "to", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7773, - "src": "2762:2:83", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 7809, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7775, - "src": "2778:5:83", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 7810, - "name": "validAfter", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7777, - "src": "2797:10:83", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 7811, - "name": "validBefore", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7779, - "src": "2821:11:83", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 7812, - "name": "nonce", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7781, - "src": "2846:5:83", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 7813, - "name": "v", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7783, - "src": "2865:1:83", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - { - "argumentTypes": null, - "id": 7814, - "name": "r", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7785, - "src": "2880:1:83", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - { - "argumentTypes": null, - "id": 7815, - "name": "s", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7787, - "src": "2895:1:83", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - ], - "expression": { - "argumentTypes": null, - "id": 7804, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7683, - "src": "2700:5:83", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEIP3009_$7189", - "typeString": "contract IEIP3009" - } - }, - "id": 7806, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "receiveWithAuthorization", - "nodeType": "MemberAccess", - "referencedDeclaration": 7188, - "src": "2700:30:83", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$__$", - "typeString": "function (address,address,uint256,uint256,uint256,bytes32,uint8,bytes32,bytes32) external" - } - }, - "id": 7816, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2700:206:83", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_tuple$__$", - "typeString": "tuple()" - } - }, - "id": 7817, - "nodeType": "ExpressionStatement", - "src": "2700:206:83" - }, - { - "expression": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "id": 7823, - "name": "comptroller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7685, - "src": "2939:11:83", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEnzymeComptroller_$7680", - "typeString": "contract IEnzymeComptroller" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_contract$_IEnzymeComptroller_$7680", - "typeString": "contract IEnzymeComptroller" - } - ], - "id": 7822, - "isConstant": false, - "isLValue": false, - "isPure": true, - "lValueRequested": false, - "nodeType": "ElementaryTypeNameExpression", - "src": "2931:7:83", - "typeDescriptions": { - "typeIdentifier": "t_type$_t_address_$", - "typeString": "type(address)" - }, - "typeName": { - "id": 7821, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2931:7:83", - "typeDescriptions": { - "typeIdentifier": null, - "typeString": null - } - } - }, - "id": 7824, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "typeConversion", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2931:20:83", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - { - "argumentTypes": null, - "id": 7825, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7775, - "src": "2953:5:83", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address", - "typeString": "address" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 7818, - "name": "token", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7683, - "src": "2917:5:83", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEIP3009_$7189", - "typeString": "contract IEIP3009" - } - }, - "id": 7820, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "approve", - "nodeType": "MemberAccess", - "referencedDeclaration": 9511, - "src": "2917:13:83", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$", - "typeString": "function (address,uint256) external returns (bool)" - } - }, - "id": 7826, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2917:42:83", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "id": 7827, - "nodeType": "ExpressionStatement", - "src": "2917:42:83" - }, - { - "assignments": [ - 7829 - ], - "declarations": [ - { - "constant": false, - "id": 7829, - "mutability": "mutable", - "name": "sharesReceived", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7844, - "src": "2969:22:83", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7828, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2969:7:83", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "id": 7837, - "initialValue": { - "argumentTypes": null, - "arguments": [ - { - "argumentTypes": null, - "expression": { - "argumentTypes": null, - "id": 7832, - "name": "msg", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": -15, - "src": "3037:3:83", - "typeDescriptions": { - "typeIdentifier": "t_magic_message", - "typeString": "msg" - } - }, - "id": 7833, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "sender", - "nodeType": "MemberAccess", - "referencedDeclaration": null, - "src": "3037:10:83", - "typeDescriptions": { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - } - }, - { - "argumentTypes": null, - "id": 7834, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7775, - "src": "3061:5:83", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - { - "argumentTypes": null, - "id": 7835, - "name": "minSharesQuantity", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7789, - "src": "3080:17:83", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - } - ], - "expression": { - "argumentTypes": [ - { - "typeIdentifier": "t_address_payable", - "typeString": "address payable" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - ], - "expression": { - "argumentTypes": null, - "id": 7830, - "name": "comptroller", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7685, - "src": "2994:11:83", - "typeDescriptions": { - "typeIdentifier": "t_contract$_IEnzymeComptroller_$7680", - "typeString": "contract IEnzymeComptroller" - } - }, - "id": 7831, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "memberName": "buySharesOnBehalf", - "nodeType": "MemberAccess", - "referencedDeclaration": 7679, - "src": "2994:29:83", - "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", - "typeString": "function (address,uint256,uint256) external returns (uint256)" - } - }, - "id": 7836, - "isConstant": false, - "isLValue": false, - "isPure": false, - "kind": "functionCall", - "lValueRequested": false, - "names": [], - "nodeType": "FunctionCall", - "src": "2994:113:83", - "tryCall": false, - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "VariableDeclarationStatement", - "src": "2969:138:83" - }, - { - "expression": { - "argumentTypes": null, - "id": 7840, - "isConstant": false, - "isLValue": false, - "isPure": false, - "lValueRequested": false, - "leftHandSide": { - "argumentTypes": null, - "id": 7838, - "name": "amountProxied", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7687, - "src": "3214:13:83", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "nodeType": "Assignment", - "operator": "+=", - "rightHandSide": { - "argumentTypes": null, - "id": 7839, - "name": "value", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7775, - "src": "3231:5:83", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "src": "3214:22:83", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "id": 7841, - "nodeType": "ExpressionStatement", - "src": "3214:22:83" - }, - { - "expression": { - "argumentTypes": null, - "id": 7842, - "name": "sharesReceived", - "nodeType": "Identifier", - "overloadedDeclarations": [], - "referencedDeclaration": 7829, - "src": "3254:14:83", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "functionReturnParameters": 7793, - "id": 7843, - "nodeType": "Return", - "src": "3247:21:83" - } - ] - }, - "documentation": null, - "functionSelector": "001291eb", - "implemented": true, - "kind": "function", - "modifiers": [], - "name": "buySharesOnBehalfUsingReceiveWithAuthorization", - "overrides": null, - "parameters": { - "id": 7790, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7771, - "mutability": "mutable", - "name": "from", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7845, - "src": "2220:12:83", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7770, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2220:7:83", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7773, - "mutability": "mutable", - "name": "to", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7845, - "src": "2242:10:83", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 7772, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "2242:7:83", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7775, - "mutability": "mutable", - "name": "value", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7845, - "src": "2262:13:83", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7774, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2262:7:83", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7777, - "mutability": "mutable", - "name": "validAfter", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7845, - "src": "2285:18:83", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7776, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2285:7:83", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7779, - "mutability": "mutable", - "name": "validBefore", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7845, - "src": "2313:19:83", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7778, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2313:7:83", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7781, - "mutability": "mutable", - "name": "nonce", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7845, - "src": "2342:13:83", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 7780, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2342:7:83", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7783, - "mutability": "mutable", - "name": "v", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7845, - "src": "2365:7:83", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - }, - "typeName": { - "id": 7782, - "name": "uint8", - "nodeType": "ElementaryTypeName", - "src": "2365:5:83", - "typeDescriptions": { - "typeIdentifier": "t_uint8", - "typeString": "uint8" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7785, - "mutability": "mutable", - "name": "r", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7845, - "src": "2382:9:83", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 7784, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2382:7:83", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7787, - "mutability": "mutable", - "name": "s", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7845, - "src": "2401:9:83", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - }, - "typeName": { - "id": 7786, - "name": "bytes32", - "nodeType": "ElementaryTypeName", - "src": "2401:7:83", - "typeDescriptions": { - "typeIdentifier": "t_bytes32", - "typeString": "bytes32" - } - }, - "value": null, - "visibility": "internal" - }, - { - "constant": false, - "id": 7789, - "mutability": "mutable", - "name": "minSharesQuantity", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7845, - "src": "2420:25:83", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7788, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2420:7:83", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2210:241:83" - }, - "returnParameters": { - "id": 7793, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 7792, - "mutability": "mutable", - "name": "", - "nodeType": "VariableDeclaration", - "overrides": null, - "scope": 7845, - "src": "2484:7:83", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 7791, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "2484:7:83", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "value": null, - "visibility": "internal" - } - ], - "src": "2483:9:83" - }, - "scope": 7846, - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "public" - } - ], - "abstract": false, - "baseContracts": [], - "contractDependencies": [], - "contractKind": "contract", - "documentation": { - "id": 7681, - "nodeType": "StructuredDocumentation", - "src": "369:294:83", - "text": " Purchase shares for the user using USDC\n - Provide EIP-3009 wrapper around Enzyme's buyShares() function\n - Support receiveWithAuthorization() hooks\n - Support transferWithAuthorization() hooks\n - No approve() and extra pop-up needed when depositd to the vault" - }, - "fullyImplemented": true, - "linearizedBaseContracts": [ - 7846 - ], - "name": "VaultUSDCPaymentForwarder", - "scope": 7847 - } - ], - "license": null - }, - "id": 83 -} \ No newline at end of file +{"abi":[{"type":"constructor","inputs":[{"name":"_token","type":"address","internalType":"contract IEIP3009"},{"name":"_comptroller","type":"address","internalType":"contract IEnzymeComptroller"}],"stateMutability":"nonpayable"},{"type":"function","name":"amountProxied","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"buySharesOnBehalfUsingReceiveWithAuthorization","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"validAfter","type":"uint256","internalType":"uint256"},{"name":"validBefore","type":"uint256","internalType":"uint256"},{"name":"nonce","type":"bytes32","internalType":"bytes32"},{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"},{"name":"minSharesQuantity","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"buySharesOnBehalfUsingTransferWithAuthorization","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"validAfter","type":"uint256","internalType":"uint256"},{"name":"validBefore","type":"uint256","internalType":"uint256"},{"name":"nonce","type":"bytes32","internalType":"bytes32"},{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"},{"name":"minSharesQuantity","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"comptroller","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IEnzymeComptroller"}],"stateMutability":"view"},{"type":"function","name":"token","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IEIP3009"}],"stateMutability":"view"}],"bytecode":{"object":"0x608060405234801561001057600080fd5b506040516105153803806105158339818101604052604081101561003357600080fd5b508051602090910151600080546001600160a01b039384166001600160a01b0319918216179091556001805493909216921691909117905561049b8061007a6000396000f3fe608060405234801561001057600080fd5b50600436106100565760003560e01c80621291eb1461005b5780635fe3b567146100d35780636e80f2be146100f75780637cc4040b146100ff578063fc0c546a14610165575b600080fd5b6100c1600480360361014081101561007257600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060808101359060a08101359060ff60c0820135169060e08101359061010081013590610120013561016d565b60408051918252519081900360200190f35b6100db6103b6565b604080516001600160a01b039092168252519081900360200190f35b6100c16103c5565b6100c1600480360361014081101561011657600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060808101359060a08101359060ff60c0820135169060e0810135906101008101359061012001356103cb565b6100db610456565b60006001600160a01b038a1630146101cc576040805162461bcd60e51b815260206004820152601e60248201527f526563697069656e74206973206e6f74207468697320636f6e74726163740000604482015290519081900360640190fd5b60008054604080516377aadf6360e11b81526001600160a01b038f811660048301528e81166024830152604482018e9052606482018d9052608482018c905260a482018b905260ff8a1660c483015260e4820189905261010482018890529151919092169263ef55bec692610124808201939182900301818387803b15801561025457600080fd5b505af1158015610268573d6000803e3d6000fd5b5050505060008054906101000a90046001600160a01b03166001600160a01b031663095ea7b3600160009054906101000a90046001600160a01b03168b6040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b1580156102eb57600080fd5b505af11580156102ff573d6000803e3d6000fd5b505050506040513d602081101561031557600080fd5b5050600154604080516321dff62560e21b8152336004820152602481018c90526044810185905290516000926001600160a01b03169163877fd89491606480830192602092919082900301818787803b15801561037157600080fd5b505af1158015610385573d6000803e3d6000fd5b505050506040513d602081101561039b57600080fd5b5051600280548c0190559150509a9950505050505050505050565b6001546001600160a01b031681565b60025481565b60008054604080516371f70b0760e11b81526001600160a01b038e811660048301528d81166024830152604482018d9052606482018c9052608482018b905260a482018a905260ff891660c483015260e4820188905261010482018790529151919092169163e3ee160e91610124808301928692919082900301818387803b15801561025457600080fd5b6000546001600160a01b03168156fea264697066735822122050727b1b0030523ef6b88283228288d4f50372de6257c3c97ebf729ca7c52f5164736f6c634300060c0033","sourceMap":"809:2686:76:-:0;;;1175:136;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1175:136:76;;;;;;;1254:5;:14;;-1:-1:-1;;;;;1254:14:76;;;-1:-1:-1;;;;;;1254:14:76;;;;;;;;1278:26;;;;;;;;;;;;;;809:2686;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100565760003560e01c80621291eb1461005b5780635fe3b567146100d35780636e80f2be146100f75780637cc4040b146100ff578063fc0c546a14610165575b600080fd5b6100c1600480360361014081101561007257600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060808101359060a08101359060ff60c0820135169060e08101359061010081013590610120013561016d565b60408051918252519081900360200190f35b6100db6103b6565b604080516001600160a01b039092168252519081900360200190f35b6100c16103c5565b6100c1600480360361014081101561011657600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060808101359060a08101359060ff60c0820135169060e0810135906101008101359061012001356103cb565b6100db610456565b60006001600160a01b038a1630146101cc576040805162461bcd60e51b815260206004820152601e60248201527f526563697069656e74206973206e6f74207468697320636f6e74726163740000604482015290519081900360640190fd5b60008054604080516377aadf6360e11b81526001600160a01b038f811660048301528e81166024830152604482018e9052606482018d9052608482018c905260a482018b905260ff8a1660c483015260e4820189905261010482018890529151919092169263ef55bec692610124808201939182900301818387803b15801561025457600080fd5b505af1158015610268573d6000803e3d6000fd5b5050505060008054906101000a90046001600160a01b03166001600160a01b031663095ea7b3600160009054906101000a90046001600160a01b03168b6040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b1580156102eb57600080fd5b505af11580156102ff573d6000803e3d6000fd5b505050506040513d602081101561031557600080fd5b5050600154604080516321dff62560e21b8152336004820152602481018c90526044810185905290516000926001600160a01b03169163877fd89491606480830192602092919082900301818787803b15801561037157600080fd5b505af1158015610385573d6000803e3d6000fd5b505050506040513d602081101561039b57600080fd5b5051600280548c0190559150509a9950505050505050505050565b6001546001600160a01b031681565b60025481565b60008054604080516371f70b0760e11b81526001600160a01b038e811660048301528d81166024830152604482018d9052606482018c9052608482018b905260a482018a905260ff891660c483015260e4820188905261010482018790529151919092169163e3ee160e91610124808301928692919082900301818387803b15801561025457600080fd5b6000546001600160a01b03168156fea264697066735822122050727b1b0030523ef6b88283228288d4f50372de6257c3c97ebf729ca7c52f5164736f6c634300060c0033","sourceMap":"809:2686:76:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2373:1120;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;2373:1120:76;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;1040:37;;;:::i;:::-;;;;-1:-1:-1;;;;;1040:37:76;;;;;;;;;;;;;;1140:28;;;:::i;1317:1050::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1317:1050:76;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;872:21::-;;;:::i;2373:1120::-;2702:7;-1:-1:-1;;;;;2733:19:76;;2747:4;2733:19;2725:62;;;;;-1:-1:-1;;;2725:62:76;;;;;;;;;;;;;;;;;;;;;;;;;;;;2918:5;;;:206;;;-1:-1:-1;;;2918:206:76;;-1:-1:-1;;;;;2918:206:76;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:5;;;;;:30;;:206;;;;;;;;;;;:5;;:206;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3135:5;;;;;;;;-1:-1:-1;;;;;3135:5:76;-1:-1:-1;;;;;3135:13:76;;3157:11;;;;;;;;;-1:-1:-1;;;;;3157:11:76;3171:5;3135:42;;;;;;;;;;;;;-1:-1:-1;;;;;3135:42:76;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3212:11:76;;:113;;;-1:-1:-1;;;3212:113:76;;3255:10;3212:113;;;;;;;;;;;;;;;;;;3187:22;;-1:-1:-1;;;;;3212:11:76;;:29;;:113;;;;;3135:42;;3212:113;;;;;;;3187:22;3212:11;:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3212:113:76;3432:13;:22;;;;;;3212:113;-1:-1:-1;;2373:1120:76;;;;;;;;;;;;:::o;1040:37::-;;;-1:-1:-1;;;;;1040:37:76;;:::o;1140:28::-;;;;:::o;1317:1050::-;1647:7;1791:5;;:207;;;-1:-1:-1;;;1791:207:76;;-1:-1:-1;;;;;1791:207:76;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:5;;;;;:31;;:207;;;;;1647:7;;1791:207;;;;;;;1647:7;1791:5;:207;;;;;;;;;;872:21;;;-1:-1:-1;;;;;872:21:76;;:::o","linkReferences":{}},"methodIdentifiers":{"amountProxied()":"6e80f2be","buySharesOnBehalfUsingReceiveWithAuthorization(address,address,uint256,uint256,uint256,bytes32,uint8,bytes32,bytes32,uint256)":"001291eb","buySharesOnBehalfUsingTransferWithAuthorization(address,address,uint256,uint256,uint256,bytes32,uint8,bytes32,bytes32,uint256)":"7cc4040b","comptroller()":"5fe3b567","token()":"fc0c546a"},"rawMetadata":"{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"contract IEIP3009\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"contract IEnzymeComptroller\",\"name\":\"_comptroller\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"amountProxied\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"validAfter\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"validBefore\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"nonce\",\"type\":\"bytes32\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"minSharesQuantity\",\"type\":\"uint256\"}],\"name\":\"buySharesOnBehalfUsingReceiveWithAuthorization\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"validAfter\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"validBefore\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"nonce\",\"type\":\"bytes32\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"minSharesQuantity\",\"type\":\"uint256\"}],\"name\":\"buySharesOnBehalfUsingTransferWithAuthorization\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"comptroller\",\"outputs\":[{\"internalType\":\"contract IEnzymeComptroller\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"internalType\":\"contract IEIP3009\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Purchase shares for the user using USDC - Provide EIP-3009 wrapper around Enzyme's buyShares() function - Support receiveWithAuthorization() hooks - Support transferWithAuthorization() hooks - No approve() and extra pop-up needed when depositd to the vault\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/EnzymeDepositor.sol\":\"VaultUSDCPaymentForwarder\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@enzyme/=../enzyme/contracts/\",\":@openzeppelin/=../enzyme/node_modules/@openzeppelin/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/openzeppelin-contracts/lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\"]},\"sources\":{\"../enzyme/node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"../enzyme/node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"../enzyme/node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"../enzyme/node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]},\"src/EnzymeDepositor.sol\":{\"keccak256\":\"0xc3a4072d6681377dca3f0e8eef8251dabdbba278105b88e424a4e1736972b471\",\"urls\":[\"bzz-raw://59b37c1cc37f1bbf85417245aaf472863db96deb14be24df1b54a36aa521f541\",\"dweb:/ipfs/QmbunCz7iRiWdWZjcwAde8zJzNPBE2HCgj3GrhtegqHVEo\"]},\"src/IEIP3009.sol\":{\"keccak256\":\"0xb7c522dd527973629fb7386283a8b4713e4c1ad4c1e52e53acffa959b6983423\",\"urls\":[\"bzz-raw://517ff4bde29dd1c7619804d4b47dc76c9d7fcce084d0ee08cec06ff0ca91feac\",\"dweb:/ipfs/Qmb5VrRpnaXFwQaR1amifw1znmig4BQ7W7qGiTdfmQJEtp\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.6.12+commit.27d51765"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"contract IEIP3009","name":"_token","type":"address"},{"internalType":"contract IEnzymeComptroller","name":"_comptroller","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"stateMutability":"view","type":"function","name":"amountProxied","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"validAfter","type":"uint256"},{"internalType":"uint256","name":"validBefore","type":"uint256"},{"internalType":"bytes32","name":"nonce","type":"bytes32"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"},{"internalType":"uint256","name":"minSharesQuantity","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"buySharesOnBehalfUsingReceiveWithAuthorization","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"validAfter","type":"uint256"},{"internalType":"uint256","name":"validBefore","type":"uint256"},{"internalType":"bytes32","name":"nonce","type":"bytes32"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"},{"internalType":"uint256","name":"minSharesQuantity","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"buySharesOnBehalfUsingTransferWithAuthorization","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"comptroller","outputs":[{"internalType":"contract IEnzymeComptroller","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"token","outputs":[{"internalType":"contract IEIP3009","name":"","type":"address"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@enzyme/=../enzyme/contracts/","@openzeppelin/=../enzyme/node_modules/@openzeppelin/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-std/=lib/openzeppelin-contracts/lib/forge-std/src/","openzeppelin-contracts/=lib/openzeppelin-contracts/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/EnzymeDepositor.sol":"VaultUSDCPaymentForwarder"},"evmVersion":"istanbul","libraries":{}},"sources":{"../enzyme/node_modules/@openzeppelin/contracts/math/SafeMath.sol":{"keccak256":"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52","urls":["bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c","dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR"],"license":"MIT"},"../enzyme/node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3","urls":["bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e","dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE"],"license":"MIT"},"../enzyme/node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5","urls":["bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08","dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC"],"license":"MIT"},"../enzyme/node_modules/@openzeppelin/contracts/utils/Context.sol":{"keccak256":"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0","urls":["bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f","dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96"],"license":"MIT"},"src/EnzymeDepositor.sol":{"keccak256":"0xc3a4072d6681377dca3f0e8eef8251dabdbba278105b88e424a4e1736972b471","urls":["bzz-raw://59b37c1cc37f1bbf85417245aaf472863db96deb14be24df1b54a36aa521f541","dweb:/ipfs/QmbunCz7iRiWdWZjcwAde8zJzNPBE2HCgj3GrhtegqHVEo"],"license":null},"src/IEIP3009.sol":{"keccak256":"0xb7c522dd527973629fb7386283a8b4713e4c1ad4c1e52e53acffa959b6983423","urls":["bzz-raw://517ff4bde29dd1c7619804d4b47dc76c9d7fcce084d0ee08cec06ff0ca91feac","dweb:/ipfs/Qmb5VrRpnaXFwQaR1amifw1znmig4BQ7W7qGiTdfmQJEtp"],"license":null}},"version":1},"ast":{"absolutePath":"src/EnzymeDepositor.sol","id":7322,"exportedSymbols":{"IEnzymeComptroller":[7155],"VaultUSDCPaymentForwarder":[7321]},"nodeType":"SourceUnit","src":"253:3242:76","nodes":[{"id":7142,"nodeType":"PragmaDirective","src":"253:23:76","nodes":[],"literals":["solidity","0.6",".12"]},{"id":7143,"nodeType":"ImportDirective","src":"278:24:76","nodes":[],"absolutePath":"src/IEIP3009.sol","file":"./IEIP3009.sol","scope":7322,"sourceUnit":7371,"symbolAliases":[],"unitAlias":""},{"id":7155,"nodeType":"ContractDefinition","src":"304:208:76","nodes":[{"id":7154,"nodeType":"FunctionDefinition","src":"339:171:76","nodes":[],"documentation":null,"functionSelector":"877fd894","implemented":false,"kind":"function","modifiers":[],"name":"buySharesOnBehalf","overrides":null,"parameters":{"id":7150,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7145,"mutability":"mutable","name":"_buyer","nodeType":"VariableDeclaration","overrides":null,"scope":7154,"src":"375:14:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7144,"name":"address","nodeType":"ElementaryTypeName","src":"375:7:76","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":7147,"mutability":"mutable","name":"_investmentAmount","nodeType":"VariableDeclaration","overrides":null,"scope":7154,"src":"399:25:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7146,"name":"uint256","nodeType":"ElementaryTypeName","src":"399:7:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":7149,"mutability":"mutable","name":"_minSharesQuantity","nodeType":"VariableDeclaration","overrides":null,"scope":7154,"src":"434:26:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7148,"name":"uint256","nodeType":"ElementaryTypeName","src":"434:7:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"365:101:76"},"returnParameters":{"id":7153,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7152,"mutability":"mutable","name":"sharesReceived_","nodeType":"VariableDeclaration","overrides":null,"scope":7154,"src":"485:23:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7151,"name":"uint256","nodeType":"ElementaryTypeName","src":"485:7:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"484:25:76"},"scope":7155,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"contractDependencies":[],"contractKind":"interface","documentation":null,"fullyImplemented":false,"linearizedBaseContracts":[7155],"name":"IEnzymeComptroller","scope":7322},{"id":7321,"nodeType":"ContractDefinition","src":"809:2686:76","nodes":[{"id":7158,"nodeType":"VariableDeclaration","src":"872:21:76","nodes":[],"constant":false,"functionSelector":"fc0c546a","mutability":"mutable","name":"token","overrides":null,"scope":7321,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IEIP3009_$7370","typeString":"contract IEIP3009"},"typeName":{"contractScope":null,"id":7157,"name":"IEIP3009","nodeType":"UserDefinedTypeName","referencedDeclaration":7370,"src":"872:8:76","typeDescriptions":{"typeIdentifier":"t_contract$_IEIP3009_$7370","typeString":"contract IEIP3009"}},"value":null,"visibility":"public"},{"id":7160,"nodeType":"VariableDeclaration","src":"1040:37:76","nodes":[],"constant":false,"functionSelector":"5fe3b567","mutability":"mutable","name":"comptroller","overrides":null,"scope":7321,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IEnzymeComptroller_$7155","typeString":"contract IEnzymeComptroller"},"typeName":{"contractScope":null,"id":7159,"name":"IEnzymeComptroller","nodeType":"UserDefinedTypeName","referencedDeclaration":7155,"src":"1040:18:76","typeDescriptions":{"typeIdentifier":"t_contract$_IEnzymeComptroller_$7155","typeString":"contract IEnzymeComptroller"}},"value":null,"visibility":"public"},{"id":7162,"nodeType":"VariableDeclaration","src":"1140:28:76","nodes":[],"constant":false,"functionSelector":"6e80f2be","mutability":"mutable","name":"amountProxied","overrides":null,"scope":7321,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7161,"name":"uint256","nodeType":"ElementaryTypeName","src":"1140:7:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"public"},{"id":7178,"nodeType":"FunctionDefinition","src":"1175:136:76","nodes":[],"body":{"id":7177,"nodeType":"Block","src":"1244:67:76","nodes":[],"statements":[{"expression":{"argumentTypes":null,"id":7171,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"id":7169,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7158,"src":"1254:5:76","typeDescriptions":{"typeIdentifier":"t_contract$_IEIP3009_$7370","typeString":"contract IEIP3009"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"id":7170,"name":"_token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7164,"src":"1262:6:76","typeDescriptions":{"typeIdentifier":"t_contract$_IEIP3009_$7370","typeString":"contract IEIP3009"}},"src":"1254:14:76","typeDescriptions":{"typeIdentifier":"t_contract$_IEIP3009_$7370","typeString":"contract IEIP3009"}},"id":7172,"nodeType":"ExpressionStatement","src":"1254:14:76"},{"expression":{"argumentTypes":null,"id":7175,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"id":7173,"name":"comptroller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7160,"src":"1278:11:76","typeDescriptions":{"typeIdentifier":"t_contract$_IEnzymeComptroller_$7155","typeString":"contract IEnzymeComptroller"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"id":7174,"name":"_comptroller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7166,"src":"1292:12:76","typeDescriptions":{"typeIdentifier":"t_contract$_IEnzymeComptroller_$7155","typeString":"contract IEnzymeComptroller"}},"src":"1278:26:76","typeDescriptions":{"typeIdentifier":"t_contract$_IEnzymeComptroller_$7155","typeString":"contract IEnzymeComptroller"}},"id":7176,"nodeType":"ExpressionStatement","src":"1278:26:76"}]},"documentation":null,"implemented":true,"kind":"constructor","modifiers":[],"name":"","overrides":null,"parameters":{"id":7167,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7164,"mutability":"mutable","name":"_token","nodeType":"VariableDeclaration","overrides":null,"scope":7178,"src":"1187:15:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IEIP3009_$7370","typeString":"contract IEIP3009"},"typeName":{"contractScope":null,"id":7163,"name":"IEIP3009","nodeType":"UserDefinedTypeName","referencedDeclaration":7370,"src":"1187:8:76","typeDescriptions":{"typeIdentifier":"t_contract$_IEIP3009_$7370","typeString":"contract IEIP3009"}},"value":null,"visibility":"internal"},{"constant":false,"id":7166,"mutability":"mutable","name":"_comptroller","nodeType":"VariableDeclaration","overrides":null,"scope":7178,"src":"1204:31:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IEnzymeComptroller_$7155","typeString":"contract IEnzymeComptroller"},"typeName":{"contractScope":null,"id":7165,"name":"IEnzymeComptroller","nodeType":"UserDefinedTypeName","referencedDeclaration":7155,"src":"1204:18:76","typeDescriptions":{"typeIdentifier":"t_contract$_IEnzymeComptroller_$7155","typeString":"contract IEnzymeComptroller"}},"value":null,"visibility":"internal"}],"src":"1186:50:76"},"returnParameters":{"id":7168,"nodeType":"ParameterList","parameters":[],"src":"1244:0:76"},"scope":7321,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":7244,"nodeType":"FunctionDefinition","src":"1317:1050:76","nodes":[],"body":{"id":7243,"nodeType":"Block","src":"1660:707:76","nodes":[],"statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":7206,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7180,"src":"1836:4:76","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":7207,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7182,"src":"1854:2:76","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":7208,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7184,"src":"1870:5:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"id":7209,"name":"validAfter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7186,"src":"1889:10:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"id":7210,"name":"validBefore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7188,"src":"1913:11:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"id":7211,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7190,"src":"1938:5:76","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"argumentTypes":null,"id":7212,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7192,"src":"1957:1:76","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"argumentTypes":null,"id":7213,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7194,"src":"1972:1:76","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"argumentTypes":null,"id":7214,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7196,"src":"1987:1:76","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"argumentTypes":null,"id":7203,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7158,"src":"1791:5:76","typeDescriptions":{"typeIdentifier":"t_contract$_IEIP3009_$7370","typeString":"contract IEIP3009"}},"id":7205,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"transferWithAuthorization","nodeType":"MemberAccess","referencedDeclaration":7348,"src":"1791:31:76","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,address,uint256,uint256,uint256,bytes32,uint8,bytes32,bytes32) external"}},"id":7215,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1791:207:76","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7216,"nodeType":"ExpressionStatement","src":"1791:207:76"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":7222,"name":"comptroller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7160,"src":"2031:11:76","typeDescriptions":{"typeIdentifier":"t_contract$_IEnzymeComptroller_$7155","typeString":"contract IEnzymeComptroller"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IEnzymeComptroller_$7155","typeString":"contract IEnzymeComptroller"}],"id":7221,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2023:7:76","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":7220,"name":"address","nodeType":"ElementaryTypeName","src":"2023:7:76","typeDescriptions":{"typeIdentifier":null,"typeString":null}}},"id":7223,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2023:20:76","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":7224,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7184,"src":"2045:5:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"id":7217,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7158,"src":"2009:5:76","typeDescriptions":{"typeIdentifier":"t_contract$_IEIP3009_$7370","typeString":"contract IEIP3009"}},"id":7219,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":9854,"src":"2009:13:76","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":7225,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2009:42:76","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7226,"nodeType":"ExpressionStatement","src":"2009:42:76"},{"assignments":[7228],"declarations":[{"constant":false,"id":7228,"mutability":"mutable","name":"sharesReceived","nodeType":"VariableDeclaration","overrides":null,"scope":7243,"src":"2061:22:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7227,"name":"uint256","nodeType":"ElementaryTypeName","src":"2061:7:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"id":7236,"initialValue":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"expression":{"argumentTypes":null,"id":7231,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"2129:3:76","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":7232,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"2129:10:76","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"argumentTypes":null,"id":7233,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7184,"src":"2153:5:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"id":7234,"name":"minSharesQuantity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7198,"src":"2172:17:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"id":7229,"name":"comptroller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7160,"src":"2086:11:76","typeDescriptions":{"typeIdentifier":"t_contract$_IEnzymeComptroller_$7155","typeString":"contract IEnzymeComptroller"}},"id":7230,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"buySharesOnBehalf","nodeType":"MemberAccess","referencedDeclaration":7154,"src":"2086:29:76","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256,uint256) external returns (uint256)"}},"id":7235,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2086:113:76","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2061:138:76"},{"expression":{"argumentTypes":null,"id":7239,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"id":7237,"name":"amountProxied","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7162,"src":"2306:13:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"argumentTypes":null,"id":7238,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7184,"src":"2323:5:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2306:22:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":7240,"nodeType":"ExpressionStatement","src":"2306:22:76"},{"expression":{"argumentTypes":null,"id":7241,"name":"sharesReceived","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7228,"src":"2346:14:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":7202,"id":7242,"nodeType":"Return","src":"2339:21:76"}]},"documentation":null,"functionSelector":"7cc4040b","implemented":true,"kind":"function","modifiers":[],"name":"buySharesOnBehalfUsingTransferWithAuthorization","overrides":null,"parameters":{"id":7199,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7180,"mutability":"mutable","name":"from","nodeType":"VariableDeclaration","overrides":null,"scope":7244,"src":"1383:12:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7179,"name":"address","nodeType":"ElementaryTypeName","src":"1383:7:76","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":7182,"mutability":"mutable","name":"to","nodeType":"VariableDeclaration","overrides":null,"scope":7244,"src":"1405:10:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7181,"name":"address","nodeType":"ElementaryTypeName","src":"1405:7:76","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":7184,"mutability":"mutable","name":"value","nodeType":"VariableDeclaration","overrides":null,"scope":7244,"src":"1425:13:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7183,"name":"uint256","nodeType":"ElementaryTypeName","src":"1425:7:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":7186,"mutability":"mutable","name":"validAfter","nodeType":"VariableDeclaration","overrides":null,"scope":7244,"src":"1448:18:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7185,"name":"uint256","nodeType":"ElementaryTypeName","src":"1448:7:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":7188,"mutability":"mutable","name":"validBefore","nodeType":"VariableDeclaration","overrides":null,"scope":7244,"src":"1476:19:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7187,"name":"uint256","nodeType":"ElementaryTypeName","src":"1476:7:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":7190,"mutability":"mutable","name":"nonce","nodeType":"VariableDeclaration","overrides":null,"scope":7244,"src":"1505:13:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":7189,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1505:7:76","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"},{"constant":false,"id":7192,"mutability":"mutable","name":"v","nodeType":"VariableDeclaration","overrides":null,"scope":7244,"src":"1528:7:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":7191,"name":"uint8","nodeType":"ElementaryTypeName","src":"1528:5:76","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"value":null,"visibility":"internal"},{"constant":false,"id":7194,"mutability":"mutable","name":"r","nodeType":"VariableDeclaration","overrides":null,"scope":7244,"src":"1545:9:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":7193,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1545:7:76","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"},{"constant":false,"id":7196,"mutability":"mutable","name":"s","nodeType":"VariableDeclaration","overrides":null,"scope":7244,"src":"1564:9:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":7195,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1564:7:76","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"},{"constant":false,"id":7198,"mutability":"mutable","name":"minSharesQuantity","nodeType":"VariableDeclaration","overrides":null,"scope":7244,"src":"1583:25:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7197,"name":"uint256","nodeType":"ElementaryTypeName","src":"1583:7:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"1373:241:76"},"returnParameters":{"id":7202,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7201,"mutability":"mutable","name":"","nodeType":"VariableDeclaration","overrides":null,"scope":7244,"src":"1647:7:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7200,"name":"uint256","nodeType":"ElementaryTypeName","src":"1647:7:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"1646:9:76"},"scope":7321,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":7320,"nodeType":"FunctionDefinition","src":"2373:1120:76","nodes":[],"body":{"id":7319,"nodeType":"Block","src":"2715:778:76","nodes":[],"statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":7275,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":7270,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7248,"src":"2733:2:76","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":7273,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"2747:4:76","typeDescriptions":{"typeIdentifier":"t_contract$_VaultUSDCPaymentForwarder_$7321","typeString":"contract VaultUSDCPaymentForwarder"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_VaultUSDCPaymentForwarder_$7321","typeString":"contract VaultUSDCPaymentForwarder"}],"id":7272,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2739:7:76","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":7271,"name":"address","nodeType":"ElementaryTypeName","src":"2739:7:76","typeDescriptions":{"typeIdentifier":null,"typeString":null}}},"id":7274,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2739:13:76","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2733:19:76","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"argumentTypes":null,"hexValue":"526563697069656e74206973206e6f74207468697320636f6e7472616374","id":7276,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2754:32:76","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_72bf585aef932550d0e7fd29e9cc911eec6df8f06abf43dca581b20256cda86f","typeString":"literal_string \"Recipient is not this contract\""},"value":"Recipient is not this contract"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_72bf585aef932550d0e7fd29e9cc911eec6df8f06abf43dca581b20256cda86f","typeString":"literal_string \"Recipient is not this contract\""}],"id":7269,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2725:7:76","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":7277,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2725:62:76","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7278,"nodeType":"ExpressionStatement","src":"2725:62:76"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":7282,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7246,"src":"2962:4:76","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":7283,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7248,"src":"2980:2:76","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":7284,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7250,"src":"2996:5:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"id":7285,"name":"validAfter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7252,"src":"3015:10:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"id":7286,"name":"validBefore","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7254,"src":"3039:11:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"id":7287,"name":"nonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7256,"src":"3064:5:76","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"argumentTypes":null,"id":7288,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7258,"src":"3083:1:76","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},{"argumentTypes":null,"id":7289,"name":"r","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7260,"src":"3098:1:76","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"argumentTypes":null,"id":7290,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7262,"src":"3113:1:76","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint8","typeString":"uint8"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"argumentTypes":null,"id":7279,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7158,"src":"2918:5:76","typeDescriptions":{"typeIdentifier":"t_contract$_IEIP3009_$7370","typeString":"contract IEIP3009"}},"id":7281,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"receiveWithAuthorization","nodeType":"MemberAccess","referencedDeclaration":7369,"src":"2918:30:76","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_uint256_$_t_bytes32_$_t_uint8_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (address,address,uint256,uint256,uint256,bytes32,uint8,bytes32,bytes32) external"}},"id":7291,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2918:206:76","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":7292,"nodeType":"ExpressionStatement","src":"2918:206:76"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":7298,"name":"comptroller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7160,"src":"3157:11:76","typeDescriptions":{"typeIdentifier":"t_contract$_IEnzymeComptroller_$7155","typeString":"contract IEnzymeComptroller"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IEnzymeComptroller_$7155","typeString":"contract IEnzymeComptroller"}],"id":7297,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3149:7:76","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":7296,"name":"address","nodeType":"ElementaryTypeName","src":"3149:7:76","typeDescriptions":{"typeIdentifier":null,"typeString":null}}},"id":7299,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3149:20:76","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":7300,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7250,"src":"3171:5:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"id":7293,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7158,"src":"3135:5:76","typeDescriptions":{"typeIdentifier":"t_contract$_IEIP3009_$7370","typeString":"contract IEIP3009"}},"id":7295,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"approve","nodeType":"MemberAccess","referencedDeclaration":9854,"src":"3135:13:76","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":7301,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3135:42:76","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":7302,"nodeType":"ExpressionStatement","src":"3135:42:76"},{"assignments":[7304],"declarations":[{"constant":false,"id":7304,"mutability":"mutable","name":"sharesReceived","nodeType":"VariableDeclaration","overrides":null,"scope":7319,"src":"3187:22:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7303,"name":"uint256","nodeType":"ElementaryTypeName","src":"3187:7:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"id":7312,"initialValue":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"expression":{"argumentTypes":null,"id":7307,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3255:3:76","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":7308,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"3255:10:76","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},{"argumentTypes":null,"id":7309,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7250,"src":"3279:5:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"id":7310,"name":"minSharesQuantity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7264,"src":"3298:17:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"id":7305,"name":"comptroller","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7160,"src":"3212:11:76","typeDescriptions":{"typeIdentifier":"t_contract$_IEnzymeComptroller_$7155","typeString":"contract IEnzymeComptroller"}},"id":7306,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"buySharesOnBehalf","nodeType":"MemberAccess","referencedDeclaration":7154,"src":"3212:29:76","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256,uint256) external returns (uint256)"}},"id":7311,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3212:113:76","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3187:138:76"},{"expression":{"argumentTypes":null,"id":7315,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"id":7313,"name":"amountProxied","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7162,"src":"3432:13:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"argumentTypes":null,"id":7314,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7250,"src":"3449:5:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3432:22:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":7316,"nodeType":"ExpressionStatement","src":"3432:22:76"},{"expression":{"argumentTypes":null,"id":7317,"name":"sharesReceived","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":7304,"src":"3472:14:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":7268,"id":7318,"nodeType":"Return","src":"3465:21:76"}]},"documentation":null,"functionSelector":"001291eb","implemented":true,"kind":"function","modifiers":[],"name":"buySharesOnBehalfUsingReceiveWithAuthorization","overrides":null,"parameters":{"id":7265,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7246,"mutability":"mutable","name":"from","nodeType":"VariableDeclaration","overrides":null,"scope":7320,"src":"2438:12:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7245,"name":"address","nodeType":"ElementaryTypeName","src":"2438:7:76","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":7248,"mutability":"mutable","name":"to","nodeType":"VariableDeclaration","overrides":null,"scope":7320,"src":"2460:10:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":7247,"name":"address","nodeType":"ElementaryTypeName","src":"2460:7:76","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":7250,"mutability":"mutable","name":"value","nodeType":"VariableDeclaration","overrides":null,"scope":7320,"src":"2480:13:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7249,"name":"uint256","nodeType":"ElementaryTypeName","src":"2480:7:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":7252,"mutability":"mutable","name":"validAfter","nodeType":"VariableDeclaration","overrides":null,"scope":7320,"src":"2503:18:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7251,"name":"uint256","nodeType":"ElementaryTypeName","src":"2503:7:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":7254,"mutability":"mutable","name":"validBefore","nodeType":"VariableDeclaration","overrides":null,"scope":7320,"src":"2531:19:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7253,"name":"uint256","nodeType":"ElementaryTypeName","src":"2531:7:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":7256,"mutability":"mutable","name":"nonce","nodeType":"VariableDeclaration","overrides":null,"scope":7320,"src":"2560:13:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":7255,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2560:7:76","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"},{"constant":false,"id":7258,"mutability":"mutable","name":"v","nodeType":"VariableDeclaration","overrides":null,"scope":7320,"src":"2583:7:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":7257,"name":"uint8","nodeType":"ElementaryTypeName","src":"2583:5:76","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"value":null,"visibility":"internal"},{"constant":false,"id":7260,"mutability":"mutable","name":"r","nodeType":"VariableDeclaration","overrides":null,"scope":7320,"src":"2600:9:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":7259,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2600:7:76","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"},{"constant":false,"id":7262,"mutability":"mutable","name":"s","nodeType":"VariableDeclaration","overrides":null,"scope":7320,"src":"2619:9:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":7261,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2619:7:76","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"},{"constant":false,"id":7264,"mutability":"mutable","name":"minSharesQuantity","nodeType":"VariableDeclaration","overrides":null,"scope":7320,"src":"2638:25:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7263,"name":"uint256","nodeType":"ElementaryTypeName","src":"2638:7:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"2428:241:76"},"returnParameters":{"id":7268,"nodeType":"ParameterList","parameters":[{"constant":false,"id":7267,"mutability":"mutable","name":"","nodeType":"VariableDeclaration","overrides":null,"scope":7320,"src":"2702:7:76","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":7266,"name":"uint256","nodeType":"ElementaryTypeName","src":"2702:7:76","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"2701:9:76"},"scope":7321,"stateMutability":"nonpayable","virtual":false,"visibility":"public"}],"abstract":false,"baseContracts":[],"contractDependencies":[],"contractKind":"contract","documentation":{"id":7156,"nodeType":"StructuredDocumentation","src":"514:294:76","text":" Purchase shares for the user using USDC\n - Provide EIP-3009 wrapper around Enzyme's buyShares() function\n - Support receiveWithAuthorization() hooks\n - Support transferWithAuthorization() hooks\n - No approve() and extra pop-up needed when depositd to the vault"},"fullyImplemented":true,"linearizedBaseContracts":[7321],"name":"VaultUSDCPaymentForwarder","scope":7322}],"license":null},"id":76} \ No newline at end of file diff --git a/eth_defi/abi/enzyme/AaveAdapterBase.json b/eth_defi/abi/enzyme/AaveAdapterBase.json index c3d1c2eb..ecc04693 100644 --- a/eth_defi/abi/enzyme/AaveAdapterBase.json +++ b/eth_defi/abi/enzyme/AaveAdapterBase.json @@ -1,756 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_integrationManager", - "type": "address" - }, - { - "internalType": "address", - "name": "_addressListRegistry", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_aTokenListId", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "name": "CLAIM_REWARDS_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "LEND_AND_STAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "LEND_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "REDEEM_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "STAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "TAKE_MULTIPLE_ORDERS_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "TAKE_ORDER_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "UNSTAKE_AND_REDEEM_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "UNSTAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getIntegrationManager", - "outputs": [ - { - "internalType": "address", - "name": "integrationManager_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "_assetData", - "type": "bytes" - } - ], - "name": "lend", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes4", - "name": "_selector", - "type": "bytes4" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - } - ], - "name": "parseAssetsForAction", - "outputs": [ - { - "internalType": "enum IIntegrationManager.SpendAssetsHandleType", - "name": "spendAssetsHandleType_", - "type": "uint8" - }, - { - "internalType": "address[]", - "name": "spendAssets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "spendAssetAmounts_", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "incomingAssets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "minIncomingAssetAmounts_", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "_assetData", - "type": "bytes" - } - ], - "name": "redeem", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "CLAIM_REWARDS_SELECTOR()": "40da225d", - "LEND_AND_STAKE_SELECTOR()": "131461c0", - "LEND_SELECTOR()": "257cb1a3", - "REDEEM_SELECTOR()": "f7d882b5", - "STAKE_SELECTOR()": "3ffc1591", - "TAKE_MULTIPLE_ORDERS_SELECTOR()": "c32990a2", - "TAKE_ORDER_SELECTOR()": "863e5ad0", - "UNSTAKE_AND_REDEEM_SELECTOR()": "080456c1", - "UNSTAKE_SELECTOR()": "b23228cf", - "getIntegrationManager()": "e7c45690", - "lend(address,bytes,bytes)": "099f7515", - "parseAssetsForAction(address,bytes4,bytes)": "c54efee5", - "redeem(address,bytes,bytes)": "c29fa9dd" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_integrationManager\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_addressListRegistry\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_aTokenListId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"CLAIM_REWARDS_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LEND_AND_STAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LEND_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"REDEEM_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"STAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TAKE_MULTIPLE_ORDERS_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TAKE_ORDER_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UNSTAKE_AND_REDEEM_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UNSTAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getIntegrationManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"integrationManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"_assetData\",\"type\":\"bytes\"}],\"name\":\"lend\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"_selector\",\"type\":\"bytes4\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"}],\"name\":\"parseAssetsForAction\",\"outputs\":[{\"internalType\":\"enum IIntegrationManager.SpendAssetsHandleType\",\"name\":\"spendAssetsHandleType_\",\"type\":\"uint8\"},{\"internalType\":\"address[]\",\"name\":\"spendAssets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"spendAssetAmounts_\",\"type\":\"uint256[]\"},{\"internalType\":\"address[]\",\"name\":\"incomingAssets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"minIncomingAssetAmounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"_assetData\",\"type\":\"bytes\"}],\"name\":\"redeem\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"When lending and redeeming, a small `ROUNDING_BUFFER` is subtracted from the min incoming asset amount. This is a workaround for problematic quirks in `aToken` balance rounding (due to RayMath and rebasing logic), which would otherwise lead to tx failures during IntegrationManager validation of incoming asset amounts. Due to this workaround, an `aToken` value less than `ROUNDING_BUFFER` is not usable in this adapter, which is fine because those values would not make sense (gas-wise) to lend or redeem.\",\"kind\":\"dev\",\"methods\":{\"getIntegrationManager()\":{\"returns\":{\"integrationManager_\":\"The `INTEGRATION_MANAGER` variable value\"}},\"lend(address,bytes,bytes)\":{\"params\":{\"_assetData\":\"Parsed spend assets and incoming assets data for this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}},\"parseAssetsForAction(address,bytes4,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_selector\":\"The function selector for the callOnIntegration\"},\"returns\":{\"incomingAssets_\":\"The assets to receive in the call\",\"minIncomingAssetAmounts_\":\"The min asset amounts to receive in the call\",\"spendAssetAmounts_\":\"The max asset amounts to spend in the call\",\"spendAssetsHandleType_\":\"A type that dictates how to handle granting the adapter access to spend assets (`None` by default)\",\"spendAssets_\":\"The assets to spend in the call\"}},\"redeem(address,bytes,bytes)\":{\"params\":{\"_assetData\":\"Parsed spend assets and incoming assets data for this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}}},\"title\":\"AaveAdapterBase Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getIntegrationManager()\":{\"notice\":\"Gets the `INTEGRATION_MANAGER` variable\"},\"lend(address,bytes,bytes)\":{\"notice\":\"Lends an amount of a token to AAVE\"},\"parseAssetsForAction(address,bytes4,bytes)\":{\"notice\":\"Parses the expected assets in a particular action\"},\"redeem(address,bytes,bytes)\":{\"notice\":\"Redeems an amount of aTokens from AAVE\"}},\"notice\":\"Base contract for Aave V2 and V3 lending adapters\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/integration-manager/integrations/utils/bases/AaveAdapterBase.sol\":\"AaveAdapterBase\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/address-list-registry/AddressListRegistry.sol\":{\"keccak256\":\"0xf00a9e376e3ec2a223f463f71c15ee3af3642dd028bc3762440e316b760c8048\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://01986c9327b5dfbfac21316dced6d68727931ddde1278ed1342d878004f984b9\",\"dweb:/ipfs/QmdXkFaUU43JqMTYEREbWa129rohdqN7GXy7mVRpjCfSLD\"]},\"contracts/persistent/address-list-registry/address-list-owners/utils/AddOnlyAddressListOwnerBase.sol\":{\"keccak256\":\"0xd3b355f8146b7df79e4537b021379a237d6620c0bdec25e9d96f2b741864909a\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://fcddc5b1dcbe7588943492a5d62ede92f23c46db0bf523267fda0ba9e8acafb5\",\"dweb:/ipfs/QmRssFbEBCRwELD7pvnU7GWoZzxfZocys4sFW33VL71jpt\"]},\"contracts/persistent/address-list-registry/address-list-owners/utils/AddOnlyAddressListOwnerConsumerMixin.sol\":{\"keccak256\":\"0x7eb3ee3ecc65e36bc8b6201e99d42d37bb932e85a5b24afb141a23a469cf8b6e\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://42bb22f3d4b3f2fed39b313cbb81c929d204f07f5ae49f7dc464b44d861d51e5\",\"dweb:/ipfs/QmaMgdLB4zGdZvR5ohexnKoAHdjX7xoM5h8J2ExffyFZG6\"]},\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/release/extensions/integration-manager/IIntegrationManager.sol\":{\"keccak256\":\"0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23\",\"dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk\"]},\"contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol\":{\"keccak256\":\"0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336\",\"dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS\"]},\"contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol\":{\"keccak256\":\"0x067e49bf0d3c1655ab41a413c65ccf61d4e593308132e1ffc484a0fadfbbaf26\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://387f425017e18e89cc1893521101fa99df595314847d0b3d9a1162369f714fcf\",\"dweb:/ipfs/Qmco3jCvuWAyfCpBYpGzHrQjiFJG63w1RJKcakoTEbxRQm\"]},\"contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol\":{\"keccak256\":\"0xfd34c7ca8231c6935e25dede32ca2b3121738e624d0fc896f7b895a731edcf88\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d492c061963d36d07718446db191d4c5a340c0d847f6cd209f027bd99f7cb176\",\"dweb:/ipfs/QmfCvRZt56ftDdrEh6LepHXFJ4fVtcfpQGvEyY8k4zxG1A\"]},\"contracts/release/extensions/integration-manager/integrations/utils/bases/AaveAdapterBase.sol\":{\"keccak256\":\"0x5a18966a7532149914962a46b8921bbfdf5a6c49f05372315b4423880565f3f3\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://556d798372ff8e0885b01650e2015764a5b01788a3e85c9e3181c85599480b25\",\"dweb:/ipfs/QmQGnKHfdfaG8iaPiYr859SfAeXiUprqx61AiWMaCEJTgE\"]},\"contracts/release/interfaces/IAaveAToken.sol\":{\"keccak256\":\"0x2fe53734b46e1238b7d46889774c5813fa9e132350f45028b5584dfcc254c97b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://7b4b689deca405c2f9f85132d8b1b8650499d3d521b8b302299e25aa5172d81d\",\"dweb:/ipfs/QmUTZHqVT1exEd5RUyjPS6wwkJmZBW9Dgkkb7emiFCSUMW\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_integrationManager", - "type": "address" - }, - { - "internalType": "address", - "name": "_addressListRegistry", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_aTokenListId", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "CLAIM_REWARDS_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "LEND_AND_STAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "LEND_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "REDEEM_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "STAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "TAKE_MULTIPLE_ORDERS_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "TAKE_ORDER_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "UNSTAKE_AND_REDEEM_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "UNSTAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getIntegrationManager", - "outputs": [ - { - "internalType": "address", - "name": "integrationManager_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "_assetData", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "lend" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes4", - "name": "_selector", - "type": "bytes4" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - } - ], - "stateMutability": "view", - "type": "function", - "name": "parseAssetsForAction", - "outputs": [ - { - "internalType": "enum IIntegrationManager.SpendAssetsHandleType", - "name": "spendAssetsHandleType_", - "type": "uint8" - }, - { - "internalType": "address[]", - "name": "spendAssets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "spendAssetAmounts_", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "incomingAssets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "minIncomingAssetAmounts_", - "type": "uint256[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "_assetData", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "redeem" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "getIntegrationManager()": { - "returns": { - "integrationManager_": "The `INTEGRATION_MANAGER` variable value" - } - }, - "lend(address,bytes,bytes)": { - "params": { - "_assetData": "Parsed spend assets and incoming assets data for this action", - "_vaultProxy": "The VaultProxy of the calling fund" - } - }, - "parseAssetsForAction(address,bytes4,bytes)": { - "params": { - "_actionData": "Data specific to this action", - "_selector": "The function selector for the callOnIntegration" - }, - "returns": { - "incomingAssets_": "The assets to receive in the call", - "minIncomingAssetAmounts_": "The min asset amounts to receive in the call", - "spendAssetAmounts_": "The max asset amounts to spend in the call", - "spendAssetsHandleType_": "A type that dictates how to handle granting the adapter access to spend assets (`None` by default)", - "spendAssets_": "The assets to spend in the call" - } - }, - "redeem(address,bytes,bytes)": { - "params": { - "_assetData": "Parsed spend assets and incoming assets data for this action", - "_vaultProxy": "The VaultProxy of the calling fund" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "getIntegrationManager()": { - "notice": "Gets the `INTEGRATION_MANAGER` variable" - }, - "lend(address,bytes,bytes)": { - "notice": "Lends an amount of a token to AAVE" - }, - "parseAssetsForAction(address,bytes4,bytes)": { - "notice": "Parses the expected assets in a particular action" - }, - "redeem(address,bytes,bytes)": { - "notice": "Redeems an amount of aTokens from AAVE" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/integration-manager/integrations/utils/bases/AaveAdapterBase.sol": "AaveAdapterBase" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/address-list-registry/AddressListRegistry.sol": { - "keccak256": "0xf00a9e376e3ec2a223f463f71c15ee3af3642dd028bc3762440e316b760c8048", - "urls": [ - "bzz-raw://01986c9327b5dfbfac21316dced6d68727931ddde1278ed1342d878004f984b9", - "dweb:/ipfs/QmdXkFaUU43JqMTYEREbWa129rohdqN7GXy7mVRpjCfSLD" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/address-list-registry/address-list-owners/utils/AddOnlyAddressListOwnerBase.sol": { - "keccak256": "0xd3b355f8146b7df79e4537b021379a237d6620c0bdec25e9d96f2b741864909a", - "urls": [ - "bzz-raw://fcddc5b1dcbe7588943492a5d62ede92f23c46db0bf523267fda0ba9e8acafb5", - "dweb:/ipfs/QmRssFbEBCRwELD7pvnU7GWoZzxfZocys4sFW33VL71jpt" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/address-list-registry/address-list-owners/utils/AddOnlyAddressListOwnerConsumerMixin.sol": { - "keccak256": "0x7eb3ee3ecc65e36bc8b6201e99d42d37bb932e85a5b24afb141a23a469cf8b6e", - "urls": [ - "bzz-raw://42bb22f3d4b3f2fed39b313cbb81c929d204f07f5ae49f7dc464b44d861d51e5", - "dweb:/ipfs/QmaMgdLB4zGdZvR5ohexnKoAHdjX7xoM5h8J2ExffyFZG6" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/dispatcher/IDispatcher.sol": { - "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", - "urls": [ - "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", - "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/IIntegrationManager.sol": { - "keccak256": "0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef", - "urls": [ - "bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23", - "dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol": { - "keccak256": "0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1", - "urls": [ - "bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336", - "dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol": { - "keccak256": "0x067e49bf0d3c1655ab41a413c65ccf61d4e593308132e1ffc484a0fadfbbaf26", - "urls": [ - "bzz-raw://387f425017e18e89cc1893521101fa99df595314847d0b3d9a1162369f714fcf", - "dweb:/ipfs/Qmco3jCvuWAyfCpBYpGzHrQjiFJG63w1RJKcakoTEbxRQm" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol": { - "keccak256": "0xfd34c7ca8231c6935e25dede32ca2b3121738e624d0fc896f7b895a731edcf88", - "urls": [ - "bzz-raw://d492c061963d36d07718446db191d4c5a340c0d847f6cd209f027bd99f7cb176", - "dweb:/ipfs/QmfCvRZt56ftDdrEh6LepHXFJ4fVtcfpQGvEyY8k4zxG1A" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/utils/bases/AaveAdapterBase.sol": { - "keccak256": "0x5a18966a7532149914962a46b8921bbfdf5a6c49f05372315b4423880565f3f3", - "urls": [ - "bzz-raw://556d798372ff8e0885b01650e2015764a5b01788a3e85c9e3181c85599480b25", - "dweb:/ipfs/QmQGnKHfdfaG8iaPiYr859SfAeXiUprqx61AiWMaCEJTgE" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IAaveAToken.sol": { - "keccak256": "0x2fe53734b46e1238b7d46889774c5813fa9e132350f45028b5584dfcc254c97b", - "urls": [ - "bzz-raw://7b4b689deca405c2f9f85132d8b1b8650499d3d521b8b302299e25aa5172d81d", - "dweb:/ipfs/QmUTZHqVT1exEd5RUyjPS6wwkJmZBW9Dgkkb7emiFCSUMW" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AssetHelpers.sol": { - "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", - "urls": [ - "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", - "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { - "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", - "urls": [ - "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", - "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Address.sol": { - "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", - "urls": [ - "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", - "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 200 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_integrationManager", "type": "address", "internalType": "address" }, { "name": "_addressListRegistry", "type": "address", "internalType": "address" }, { "name": "_aTokenListId", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "CLAIM_REWARDS_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "LEND_AND_STAKE_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "LEND_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "REDEEM_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "STAKE_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "TAKE_MULTIPLE_ORDERS_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "TAKE_ORDER_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "UNSTAKE_AND_REDEEM_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "UNSTAKE_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "getIntegrationManager", "inputs": [], "outputs": [ { "name": "integrationManager_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "lend", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "", "type": "bytes", "internalType": "bytes" }, { "name": "_assetData", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "parseAssetsForAction", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "_selector", "type": "bytes4", "internalType": "bytes4" }, { "name": "_actionData", "type": "bytes", "internalType": "bytes" } ], "outputs": [ { "name": "spendAssetsHandleType_", "type": "uint8", "internalType": "enum IIntegrationManager.SpendAssetsHandleType" }, { "name": "spendAssets_", "type": "address[]", "internalType": "address[]" }, { "name": "spendAssetAmounts_", "type": "uint256[]", "internalType": "uint256[]" }, { "name": "incomingAssets_", "type": "address[]", "internalType": "address[]" }, { "name": "minIncomingAssetAmounts_", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "view" }, { "type": "function", "name": "redeem", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "", "type": "bytes", "internalType": "bytes" }, { "name": "_assetData", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "CLAIM_REWARDS_SELECTOR()": "40da225d", "LEND_AND_STAKE_SELECTOR()": "131461c0", "LEND_SELECTOR()": "257cb1a3", "REDEEM_SELECTOR()": "f7d882b5", "STAKE_SELECTOR()": "3ffc1591", "TAKE_MULTIPLE_ORDERS_SELECTOR()": "c32990a2", "TAKE_ORDER_SELECTOR()": "863e5ad0", "UNSTAKE_AND_REDEEM_SELECTOR()": "080456c1", "UNSTAKE_SELECTOR()": "b23228cf", "getIntegrationManager()": "e7c45690", "lend(address,bytes,bytes)": "099f7515", "parseAssetsForAction(address,bytes4,bytes)": "c54efee5", "redeem(address,bytes,bytes)": "c29fa9dd" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_integrationManager\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_addressListRegistry\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_aTokenListId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"CLAIM_REWARDS_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LEND_AND_STAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LEND_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"REDEEM_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"STAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TAKE_MULTIPLE_ORDERS_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TAKE_ORDER_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UNSTAKE_AND_REDEEM_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UNSTAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getIntegrationManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"integrationManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"_assetData\",\"type\":\"bytes\"}],\"name\":\"lend\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"_selector\",\"type\":\"bytes4\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"}],\"name\":\"parseAssetsForAction\",\"outputs\":[{\"internalType\":\"enum IIntegrationManager.SpendAssetsHandleType\",\"name\":\"spendAssetsHandleType_\",\"type\":\"uint8\"},{\"internalType\":\"address[]\",\"name\":\"spendAssets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"spendAssetAmounts_\",\"type\":\"uint256[]\"},{\"internalType\":\"address[]\",\"name\":\"incomingAssets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"minIncomingAssetAmounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"_assetData\",\"type\":\"bytes\"}],\"name\":\"redeem\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"When lending and redeeming, a small `ROUNDING_BUFFER` is subtracted from the min incoming asset amount. This is a workaround for problematic quirks in `aToken` balance rounding (due to RayMath and rebasing logic), which would otherwise lead to tx failures during IntegrationManager validation of incoming asset amounts. Due to this workaround, an `aToken` value less than `ROUNDING_BUFFER` is not usable in this adapter, which is fine because those values would not make sense (gas-wise) to lend or redeem.\",\"kind\":\"dev\",\"methods\":{\"getIntegrationManager()\":{\"returns\":{\"integrationManager_\":\"The `INTEGRATION_MANAGER` variable value\"}},\"lend(address,bytes,bytes)\":{\"params\":{\"_assetData\":\"Parsed spend assets and incoming assets data for this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}},\"parseAssetsForAction(address,bytes4,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_selector\":\"The function selector for the callOnIntegration\"},\"returns\":{\"incomingAssets_\":\"The assets to receive in the call\",\"minIncomingAssetAmounts_\":\"The min asset amounts to receive in the call\",\"spendAssetAmounts_\":\"The max asset amounts to spend in the call\",\"spendAssetsHandleType_\":\"A type that dictates how to handle granting the adapter access to spend assets (`None` by default)\",\"spendAssets_\":\"The assets to spend in the call\"}},\"redeem(address,bytes,bytes)\":{\"params\":{\"_assetData\":\"Parsed spend assets and incoming assets data for this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}}},\"title\":\"AaveAdapterBase Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getIntegrationManager()\":{\"notice\":\"Gets the `INTEGRATION_MANAGER` variable\"},\"lend(address,bytes,bytes)\":{\"notice\":\"Lends an amount of a token to AAVE\"},\"parseAssetsForAction(address,bytes4,bytes)\":{\"notice\":\"Parses the expected assets in a particular action\"},\"redeem(address,bytes,bytes)\":{\"notice\":\"Redeems an amount of aTokens from AAVE\"}},\"notice\":\"Base contract for Aave V2 and V3 lending adapters\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/integration-manager/integrations/utils/bases/AaveAdapterBase.sol\":\"AaveAdapterBase\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/address-list-registry/AddressListRegistry.sol\":{\"keccak256\":\"0xf00a9e376e3ec2a223f463f71c15ee3af3642dd028bc3762440e316b760c8048\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://01986c9327b5dfbfac21316dced6d68727931ddde1278ed1342d878004f984b9\",\"dweb:/ipfs/QmdXkFaUU43JqMTYEREbWa129rohdqN7GXy7mVRpjCfSLD\"]},\"contracts/persistent/address-list-registry/address-list-owners/utils/AddOnlyAddressListOwnerBase.sol\":{\"keccak256\":\"0xd3b355f8146b7df79e4537b021379a237d6620c0bdec25e9d96f2b741864909a\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://fcddc5b1dcbe7588943492a5d62ede92f23c46db0bf523267fda0ba9e8acafb5\",\"dweb:/ipfs/QmRssFbEBCRwELD7pvnU7GWoZzxfZocys4sFW33VL71jpt\"]},\"contracts/persistent/address-list-registry/address-list-owners/utils/AddOnlyAddressListOwnerConsumerMixin.sol\":{\"keccak256\":\"0x7eb3ee3ecc65e36bc8b6201e99d42d37bb932e85a5b24afb141a23a469cf8b6e\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://42bb22f3d4b3f2fed39b313cbb81c929d204f07f5ae49f7dc464b44d861d51e5\",\"dweb:/ipfs/QmaMgdLB4zGdZvR5ohexnKoAHdjX7xoM5h8J2ExffyFZG6\"]},\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/release/extensions/integration-manager/IIntegrationManager.sol\":{\"keccak256\":\"0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23\",\"dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk\"]},\"contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol\":{\"keccak256\":\"0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336\",\"dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS\"]},\"contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol\":{\"keccak256\":\"0x067e49bf0d3c1655ab41a413c65ccf61d4e593308132e1ffc484a0fadfbbaf26\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://387f425017e18e89cc1893521101fa99df595314847d0b3d9a1162369f714fcf\",\"dweb:/ipfs/Qmco3jCvuWAyfCpBYpGzHrQjiFJG63w1RJKcakoTEbxRQm\"]},\"contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol\":{\"keccak256\":\"0xfd34c7ca8231c6935e25dede32ca2b3121738e624d0fc896f7b895a731edcf88\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d492c061963d36d07718446db191d4c5a340c0d847f6cd209f027bd99f7cb176\",\"dweb:/ipfs/QmfCvRZt56ftDdrEh6LepHXFJ4fVtcfpQGvEyY8k4zxG1A\"]},\"contracts/release/extensions/integration-manager/integrations/utils/bases/AaveAdapterBase.sol\":{\"keccak256\":\"0x5a18966a7532149914962a46b8921bbfdf5a6c49f05372315b4423880565f3f3\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://556d798372ff8e0885b01650e2015764a5b01788a3e85c9e3181c85599480b25\",\"dweb:/ipfs/QmQGnKHfdfaG8iaPiYr859SfAeXiUprqx61AiWMaCEJTgE\"]},\"contracts/release/interfaces/IAaveAToken.sol\":{\"keccak256\":\"0x2fe53734b46e1238b7d46889774c5813fa9e132350f45028b5584dfcc254c97b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://7b4b689deca405c2f9f85132d8b1b8650499d3d521b8b302299e25aa5172d81d\",\"dweb:/ipfs/QmUTZHqVT1exEd5RUyjPS6wwkJmZBW9Dgkkb7emiFCSUMW\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_integrationManager", "type": "address" }, { "internalType": "address", "name": "_addressListRegistry", "type": "address" }, { "internalType": "uint256", "name": "_aTokenListId", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "CLAIM_REWARDS_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "LEND_AND_STAKE_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "LEND_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "REDEEM_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "STAKE_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "TAKE_MULTIPLE_ORDERS_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "TAKE_ORDER_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "UNSTAKE_AND_REDEEM_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "UNSTAKE_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getIntegrationManager", "outputs": [ { "internalType": "address", "name": "integrationManager_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "bytes", "name": "", "type": "bytes" }, { "internalType": "bytes", "name": "_assetData", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "lend" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "bytes4", "name": "_selector", "type": "bytes4" }, { "internalType": "bytes", "name": "_actionData", "type": "bytes" } ], "stateMutability": "view", "type": "function", "name": "parseAssetsForAction", "outputs": [ { "internalType": "enum IIntegrationManager.SpendAssetsHandleType", "name": "spendAssetsHandleType_", "type": "uint8" }, { "internalType": "address[]", "name": "spendAssets_", "type": "address[]" }, { "internalType": "uint256[]", "name": "spendAssetAmounts_", "type": "uint256[]" }, { "internalType": "address[]", "name": "incomingAssets_", "type": "address[]" }, { "internalType": "uint256[]", "name": "minIncomingAssetAmounts_", "type": "uint256[]" } ] }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "bytes", "name": "", "type": "bytes" }, { "internalType": "bytes", "name": "_assetData", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "redeem" } ], "devdoc": { "kind": "dev", "methods": { "getIntegrationManager()": { "returns": { "integrationManager_": "The `INTEGRATION_MANAGER` variable value" } }, "lend(address,bytes,bytes)": { "params": { "_assetData": "Parsed spend assets and incoming assets data for this action", "_vaultProxy": "The VaultProxy of the calling fund" } }, "parseAssetsForAction(address,bytes4,bytes)": { "params": { "_actionData": "Data specific to this action", "_selector": "The function selector for the callOnIntegration" }, "returns": { "incomingAssets_": "The assets to receive in the call", "minIncomingAssetAmounts_": "The min asset amounts to receive in the call", "spendAssetAmounts_": "The max asset amounts to spend in the call", "spendAssetsHandleType_": "A type that dictates how to handle granting the adapter access to spend assets (`None` by default)", "spendAssets_": "The assets to spend in the call" } }, "redeem(address,bytes,bytes)": { "params": { "_assetData": "Parsed spend assets and incoming assets data for this action", "_vaultProxy": "The VaultProxy of the calling fund" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "getIntegrationManager()": { "notice": "Gets the `INTEGRATION_MANAGER` variable" }, "lend(address,bytes,bytes)": { "notice": "Lends an amount of a token to AAVE" }, "parseAssetsForAction(address,bytes4,bytes)": { "notice": "Parses the expected assets in a particular action" }, "redeem(address,bytes,bytes)": { "notice": "Redeems an amount of aTokens from AAVE" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/integration-manager/integrations/utils/bases/AaveAdapterBase.sol": "AaveAdapterBase" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/address-list-registry/AddressListRegistry.sol": { "keccak256": "0xf00a9e376e3ec2a223f463f71c15ee3af3642dd028bc3762440e316b760c8048", "urls": [ "bzz-raw://01986c9327b5dfbfac21316dced6d68727931ddde1278ed1342d878004f984b9", "dweb:/ipfs/QmdXkFaUU43JqMTYEREbWa129rohdqN7GXy7mVRpjCfSLD" ], "license": "GPL-3.0" }, "contracts/persistent/address-list-registry/address-list-owners/utils/AddOnlyAddressListOwnerBase.sol": { "keccak256": "0xd3b355f8146b7df79e4537b021379a237d6620c0bdec25e9d96f2b741864909a", "urls": [ "bzz-raw://fcddc5b1dcbe7588943492a5d62ede92f23c46db0bf523267fda0ba9e8acafb5", "dweb:/ipfs/QmRssFbEBCRwELD7pvnU7GWoZzxfZocys4sFW33VL71jpt" ], "license": "GPL-3.0" }, "contracts/persistent/address-list-registry/address-list-owners/utils/AddOnlyAddressListOwnerConsumerMixin.sol": { "keccak256": "0x7eb3ee3ecc65e36bc8b6201e99d42d37bb932e85a5b24afb141a23a469cf8b6e", "urls": [ "bzz-raw://42bb22f3d4b3f2fed39b313cbb81c929d204f07f5ae49f7dc464b44d861d51e5", "dweb:/ipfs/QmaMgdLB4zGdZvR5ohexnKoAHdjX7xoM5h8J2ExffyFZG6" ], "license": "GPL-3.0" }, "contracts/persistent/dispatcher/IDispatcher.sol": { "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", "urls": [ "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/IIntegrationManager.sol": { "keccak256": "0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef", "urls": [ "bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23", "dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol": { "keccak256": "0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1", "urls": [ "bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336", "dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol": { "keccak256": "0x067e49bf0d3c1655ab41a413c65ccf61d4e593308132e1ffc484a0fadfbbaf26", "urls": [ "bzz-raw://387f425017e18e89cc1893521101fa99df595314847d0b3d9a1162369f714fcf", "dweb:/ipfs/Qmco3jCvuWAyfCpBYpGzHrQjiFJG63w1RJKcakoTEbxRQm" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol": { "keccak256": "0xfd34c7ca8231c6935e25dede32ca2b3121738e624d0fc896f7b895a731edcf88", "urls": [ "bzz-raw://d492c061963d36d07718446db191d4c5a340c0d847f6cd209f027bd99f7cb176", "dweb:/ipfs/QmfCvRZt56ftDdrEh6LepHXFJ4fVtcfpQGvEyY8k4zxG1A" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/utils/bases/AaveAdapterBase.sol": { "keccak256": "0x5a18966a7532149914962a46b8921bbfdf5a6c49f05372315b4423880565f3f3", "urls": [ "bzz-raw://556d798372ff8e0885b01650e2015764a5b01788a3e85c9e3181c85599480b25", "dweb:/ipfs/QmQGnKHfdfaG8iaPiYr859SfAeXiUprqx61AiWMaCEJTgE" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IAaveAToken.sol": { "keccak256": "0x2fe53734b46e1238b7d46889774c5813fa9e132350f45028b5584dfcc254c97b", "urls": [ "bzz-raw://7b4b689deca405c2f9f85132d8b1b8650499d3d521b8b302299e25aa5172d81d", "dweb:/ipfs/QmUTZHqVT1exEd5RUyjPS6wwkJmZBW9Dgkkb7emiFCSUMW" ], "license": "GPL-3.0" }, "contracts/release/utils/AssetHelpers.sol": { "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", "urls": [ "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", "urls": [ "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Address.sol": { "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", "urls": [ "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" } }, "version": 1 }, "id": 200 } diff --git a/eth_defi/abi/enzyme/AaveDebtPositionDataDecoder.json b/eth_defi/abi/enzyme/AaveDebtPositionDataDecoder.json index 21522d1d..d18682e4 100644 --- a/eth_defi/abi/enzyme/AaveDebtPositionDataDecoder.json +++ b/eth_defi/abi/enzyme/AaveDebtPositionDataDecoder.json @@ -1,78 +1 @@ -{ - "abi": [], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": {}, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"AaveDebtPositionDataDecoder Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Abstract contract containing data decodings for AaveDebtPosition payloads\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/aave-v2-debt/AaveDebtPositionDataDecoder.sol\":\"AaveDebtPositionDataDecoder\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/external-position-manager/external-positions/aave-v2-debt/AaveDebtPositionDataDecoder.sol\":{\"keccak256\":\"0xa36c19f944dec6f5d504873abe1c9261f9c83a9915bd73d79620e66135263e62\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf64d33f97d3d8061c0cf06d168fa3f7bedadbee58ab1fe2aaf2daf0f162dc29\",\"dweb:/ipfs/Qmf7KQeazGnccc2DoUNujJ7KrmsefAn4n6k19rBSgAqXFt\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/external-position-manager/external-positions/aave-v2-debt/AaveDebtPositionDataDecoder.sol": "AaveDebtPositionDataDecoder" - }, - "libraries": {} - }, - "sources": { - "contracts/release/extensions/external-position-manager/external-positions/aave-v2-debt/AaveDebtPositionDataDecoder.sol": { - "keccak256": "0xa36c19f944dec6f5d504873abe1c9261f9c83a9915bd73d79620e66135263e62", - "urls": [ - "bzz-raw://bf64d33f97d3d8061c0cf06d168fa3f7bedadbee58ab1fe2aaf2daf0f162dc29", - "dweb:/ipfs/Qmf7KQeazGnccc2DoUNujJ7KrmsefAn4n6k19rBSgAqXFt" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 88 -} +{ "abi": [], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": {}, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"AaveDebtPositionDataDecoder Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Abstract contract containing data decodings for AaveDebtPosition payloads\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/aave-v2-debt/AaveDebtPositionDataDecoder.sol\":\"AaveDebtPositionDataDecoder\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/external-position-manager/external-positions/aave-v2-debt/AaveDebtPositionDataDecoder.sol\":{\"keccak256\":\"0xa36c19f944dec6f5d504873abe1c9261f9c83a9915bd73d79620e66135263e62\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf64d33f97d3d8061c0cf06d168fa3f7bedadbee58ab1fe2aaf2daf0f162dc29\",\"dweb:/ipfs/Qmf7KQeazGnccc2DoUNujJ7KrmsefAn4n6k19rBSgAqXFt\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/external-position-manager/external-positions/aave-v2-debt/AaveDebtPositionDataDecoder.sol": "AaveDebtPositionDataDecoder" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/extensions/external-position-manager/external-positions/aave-v2-debt/AaveDebtPositionDataDecoder.sol": { "keccak256": "0xa36c19f944dec6f5d504873abe1c9261f9c83a9915bd73d79620e66135263e62", "urls": [ "bzz-raw://bf64d33f97d3d8061c0cf06d168fa3f7bedadbee58ab1fe2aaf2daf0f162dc29", "dweb:/ipfs/Qmf7KQeazGnccc2DoUNujJ7KrmsefAn4n6k19rBSgAqXFt" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 88 } diff --git a/eth_defi/abi/enzyme/AaveDebtPositionLib.json b/eth_defi/abi/enzyme/AaveDebtPositionLib.json index bad11512..0f844a9e 100644 --- a/eth_defi/abi/enzyme/AaveDebtPositionLib.json +++ b/eth_defi/abi/enzyme/AaveDebtPositionLib.json @@ -1,682 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_aaveDataProvider", - "type": "address" - }, - { - "internalType": "address", - "name": "_aaveLendingPoolAddressProvider", - "type": "address" - }, - { - "internalType": "address", - "name": "_aaveIncentivesController", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "asset", - "type": "address" - } - ], - "name": "BorrowedAssetAdded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "asset", - "type": "address" - } - ], - "name": "BorrowedAssetRemoved", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "asset", - "type": "address" - } - ], - "name": "CollateralAssetAdded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "asset", - "type": "address" - } - ], - "name": "CollateralAssetRemoved", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_asset", - "type": "address" - } - ], - "name": "assetIsBorrowed", - "outputs": [ - { - "internalType": "bool", - "name": "isBorrowed_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_asset", - "type": "address" - } - ], - "name": "assetIsCollateral", - "outputs": [ - { - "internalType": "bool", - "name": "isCollateral_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getDebtAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "assets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "amounts_", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrowedAsset", - "type": "address" - } - ], - "name": "getDebtTokenForBorrowedAsset", - "outputs": [ - { - "internalType": "address", - "name": "debtToken_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getManagedAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "assets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "amounts_", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "init", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - } - ], - "name": "receiveCallFromVault", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x60e060405234801561001057600080fd5b50604051611ce7380380611ce78339818101604052606081101561003357600080fd5b50805160208201516040909201516001600160601b0319606092831b811660805292821b831660c052901b1660a05260805160601c60a05160601c60c05160601c611c4b61009c60003980610b605280610ec052508061129c525080610cf55250611c4b6000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c806366b4c5d11161005b57806366b4c5d11461018857806380daddb8146101ca578063e5c23a971461026b578063ecd658b41461030f5761007d565b806344c72102146100825780634ddf47d4146100bc5780634eeb4a1614610162575b600080fd5b6100a86004803603602081101561009857600080fd5b50356001600160a01b0316610317565b604080519115158252519081900360200190f35b610160600480360360208110156100d257600080fd5b810190602081018135600160201b8111156100ec57600080fd5b8201836020820111156100fe57600080fd5b803590602001918460018302840111600160201b8311171561011f57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610334945050505050565b005b6100a86004803603602081101561017857600080fd5b50356001600160a01b0316610337565b6101ae6004803603602081101561019e57600080fd5b50356001600160a01b03166103ac565b604080516001600160a01b039092168252519081900360200190f35b6101d26103ca565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156102165781810151838201526020016101fe565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561025557818101518382015260200161023d565b5050505090500194505050505060405180910390f35b6101606004803603602081101561028157600080fd5b810190602081018135600160201b81111561029b57600080fd5b8201836020820111156102ad57600080fd5b803590602001918460018302840111600160201b831117156102ce57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610530945050505050565b6101d26106a8565b600080610323836103ac565b6001600160a01b0316141592915050565b50565b60006103a682600180548060200260200160405190810160405280929190818152602001828054801561039357602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610375575b505050505061080e90919063ffffffff16565b92915050565b6001600160a01b039081166000908152600260205260409020541690565b606080600180548060200260200160405190810160405280929190818152602001828054801561042357602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610405575b50506001549395505067ffffffffffffffff8311915050801561044557600080fd5b5060405190808252806020026020018201604052801561046f578160200160208202803683370190505b50905060005b825181101561052b5782818151811061048a57fe5b60200260200101516001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156104de57600080fd5b505afa1580156104f2573d6000803e3d6000fd5b505050506040513d602081101561050857600080fd5b5051825183908390811061051857fe5b6020908102919091010152600101610475565b509091565b6000606082806020019051604081101561054957600080fd5b815160208301805160405192949293830192919084600160201b82111561056f57600080fd5b90830190602082018581111561058457600080fd5b8251600160201b81118282018810171561059d57600080fd5b82525081516020918201929091019080838360005b838110156105ca5781810151838201526020016105b2565b50505050905090810190601f1680156105f75780820380516001836020036101000a031916815260200191505b50604052505050915091506000600481111561060f57fe5b8214156106245761061f81610864565b6106a3565b60018214156106365761061f8161093b565b60028214156106485761061f81610b4c565b600382141561065a5761061f81610eac565b600482141561066c5761061f8161128d565b60405162461bcd60e51b8152600401808060200182810382526026815260200180611bb96026913960400191505060405180910390fd5b505050565b606080600080548060200260200160405190810160405280929190818152602001828054801561070157602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116106e3575b50505050509150815167ffffffffffffffff8111801561072057600080fd5b5060405190808252806020026020018201604052801561074a578160200160208202803683370190505b50905060005b825181101561052b5761077583828151811061076857fe5b60200260200101516103ac565b6001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156107c157600080fd5b505afa1580156107d5573d6000803e3d6000fd5b505050506040513d60208110156107eb57600080fd5b505182518390839081106107fb57fe5b6020908102919091010152600101610750565b6000805b835181101561085a5783818151811061082757fe5b60200260200101516001600160a01b0316836001600160a01b031614156108525760019150506103a6565b600101610812565b5060009392505050565b606061086f82611375565b50905060005b81518110156106a35761089a82828151811061088d57fe5b6020026020010151610337565b6109335760018282815181106108ac57fe5b60209081029190910181015182546001810184556000938452919092200180546001600160a01b0319166001600160a01b0390921691909117905581518290829081106108f557fe5b60200260200101516001600160a01b03167f0c7515883121475b5d9289febf21a9de4ad53f18349a856d90c7acd6e099600b60405160405180910390a25b600101610875565b60608061094783611375565b9150915060005b8251811015610b465761096683828151811061088d57fe5b6109a15760405162461bcd60e51b8152600401808060200182810382526032815260200180611b346032913960400191505060405180910390fd5b60008382815181106109af57fe5b60200260200101516001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610a0357600080fd5b505afa158015610a17573d6000803e3d6000fd5b505050506040513d6020811015610a2d57600080fd5b5051835190915060001990849084908110610a4457fe5b60200260200101511415610a6c5780838381518110610a5f57fe5b6020026020010181815250505b80838381518110610a7957fe5b60200260200101511415610af957610aae848381518110610a9657fe5b602002602001015160016114a690919063ffffffff16565b50838281518110610abb57fe5b60200260200101516001600160a01b03167f4336391ada1af9dcb966fed43ebafa4404719b6d8e42c765ab28e3abc9a24e7a60405160405180910390a25b610b3d33848481518110610b0957fe5b6020026020010151868581518110610b1d57fe5b60200260200101516001600160a01b031661159e9092919063ffffffff16565b5060010161094e565b50505050565b606080610b5883611375565b9150915060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316630261bf8b6040518163ffffffff1660e01b815260040160206040518083038186803b158015610bb757600080fd5b505afa158015610bcb573d6000803e3d6000fd5b505050506040513d6020811015610be157600080fd5b5051905060005b8351811015610ea557816001600160a01b031663a415bcad858381518110610c0c57fe5b6020026020010151858481518110610c2057fe5b60200260200101516002609e306040518663ffffffff1660e01b815260040180866001600160a01b031681526020018581526020018481526020018361ffff168152602001826001600160a01b0316815260200195505050505050600060405180830381600087803b158015610c9557600080fd5b505af1158015610ca9573d6000803e3d6000fd5b50505050610cd133848381518110610cbd57fe5b6020026020010151868481518110610b1d57fe5b610ced848281518110610ce057fe5b6020026020010151610317565b610e9d5760007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d2493b6c868481518110610d2e57fe5b60200260200101516040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060606040518083038186803b158015610d7357600080fd5b505afa158015610d87573d6000803e3d6000fd5b505050506040513d6060811015610d9d57600080fd5b506040015185519091508190600290600090889086908110610dbb57fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b031602179055506000858381518110610e1557fe5b60209081029190910181015182546001810184556000938452919092200180546001600160a01b0319166001600160a01b039092169190911790558451859083908110610e5e57fe5b60200260200101516001600160a01b03167f97f7fb70b87eb9080ffe33222b1b155c19088727253265871a270021c9b3ecad60405160405180910390a2505b600101610be8565b5050505050565b606080610eb883611375565b9150915060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316630261bf8b6040518163ffffffff1660e01b815260040160206040518083038186803b158015610f1757600080fd5b505afa158015610f2b573d6000803e3d6000fd5b505050506040513d6020811015610f4157600080fd5b5051905060005b8351811015610ea557610f60848281518110610ce057fe5b610f9b5760405162461bcd60e51b815260040180806020018281038252602d815260200180611b66602d913960400191505060405180910390fd5b610fcc848281518110610faa57fe5b602002602001015183858481518110610fbf57fe5b60200260200101516115f0565b816001600160a01b031663573ade81858381518110610fe757fe5b6020026020010151858481518110610ffb57fe5b60200260200101516002306040518563ffffffff1660e01b815260040180856001600160a01b03168152602001848152602001838152602001826001600160a01b03168152602001945050505050602060405180830381600087803b15801561106357600080fd5b505af1158015611077573d6000803e3d6000fd5b505050506040513d602081101561108d57600080fd5b505083516000908590839081106110a057fe5b60200260200101516001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156110f457600080fd5b505afa158015611108573d6000803e3d6000fd5b505050506040513d602081101561111e57600080fd5b505190508015611139576111393382878581518110610b1d57fe5b61114885838151811061076857fe5b6001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561119457600080fd5b505afa1580156111a8573d6000803e3d6000fd5b505050506040513d60208110156111be57600080fd5b505161128457600260008684815181106111d457fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154906001600160a01b03021916905561123985838151811061122157fe5b602002602001015160006114a690919063ffffffff16565b5084828151811061124657fe5b60200260200101516001600160a01b03167fe826be1b7ceed778b8cb93dde171ee088cbddd7b16b9ebbe726a019988eb5fc060405160405180910390a25b50600101610f48565b6060611298826116a8565b90507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316633111e7b382600019336040518463ffffffff1660e01b81526004018080602001848152602001836001600160a01b03168152602001828103825285818151815260200191508051906020019060200280838360005b8381101561133257818101518382015260200161131a565b50505050905001945050505050600060405180830381600087803b15801561135957600080fd5b505af115801561136d573d6000803e3d6000fd5b505050505050565b60608082806020019051604081101561138d57600080fd5b8101908080516040519392919084600160201b8211156113ac57600080fd5b9083019060208201858111156113c157600080fd5b82518660208202830111600160201b821117156113dd57600080fd5b82525081516020918201928201910280838360005b8381101561140a5781810151838201526020016113f2565b5050505090500160405260200180516040519392919084600160201b82111561143257600080fd5b90830190602082018581111561144757600080fd5b82518660208202830111600160201b8211171561146357600080fd5b82525081516020918201928201910280838360005b83811015611490578181015183820152602001611478565b5050505090500160405250505091509150915091565b8154600090815b8181101561159657836001600160a01b03168582815481106114cb57fe5b6000918252602090912001546001600160a01b0316141561158e57600182038110156115595784600183038154811061150057fe5b9060005260206000200160009054906101000a90046001600160a01b031685828154811061152a57fe5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055505b8480548061156357fe5b600082815260209020810160001990810180546001600160a01b031916905501905560019250611596565b6001016114ad565b505092915050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526106a3908490611750565b60408051636eb1769f60e11b81523060048201526001600160a01b038481166024830152915160009286169163dd62ed3e916044808301926020929190829003018186803b15801561164157600080fd5b505afa158015611655573d6000803e3d6000fd5b505050506040513d602081101561166b57600080fd5b5051905081811015610b46578015611692576116926001600160a01b038516846000611801565b610b466001600160a01b03851684600019611801565b60608180602001905160208110156116bf57600080fd5b8101908080516040519392919084600160201b8211156116de57600080fd5b9083019060208201858111156116f357600080fd5b82518660208202830111600160201b8211171561170f57600080fd5b82525081516020918201928201910280838360005b8381101561173c578181015183820152602001611724565b505050509050016040525050509050919050565b60606117a5826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166119149092919063ffffffff16565b8051909150156106a3578080602001905160208110156117c457600080fd5b50516106a35760405162461bcd60e51b815260040180806020018281038252602a815260200180611bdf602a913960400191505060405180910390fd5b801580611887575060408051636eb1769f60e11b81523060048201526001600160a01b03848116602483015291519185169163dd62ed3e91604480820192602092909190829003018186803b15801561185957600080fd5b505afa15801561186d573d6000803e3d6000fd5b505050506040513d602081101561188357600080fd5b5051155b6118c25760405162461bcd60e51b8152600401808060200182810382526036815260200180611c096036913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526106a3908490611750565b6060611923848460008561192d565b90505b9392505050565b60608247101561196e5760405162461bcd60e51b8152600401808060200182810382526026815260200180611b936026913960400191505060405180910390fd5b61197785611a89565b6119c8576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b60208310611a075780518252601f1990920191602091820191016119e8565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114611a69576040519150601f19603f3d011682016040523d82523d6000602084013e611a6e565b606091505b5091509150611a7e828286611a8f565b979650505050505050565b3b151590565b60608315611a9e575081611926565b825115611aae5782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611af8578181015183820152602001611ae0565b50505050905090810190601f168015611b255780820380516001836020036101000a031916815260200191505b509250505060405180910390fdfe5f5f72656d6f7665436f6c6c61746572616c4173736574733a20496e76616c696420636f6c6c61746572616c2061737365745f5f7265706179426f72726f7765644173736574733a20496e76616c696420626f72726f776564206173736574416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c7265636569766543616c6c46726f6d5661756c743a20496e76616c696420616374696f6e49645361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e6365a164736f6c634300060c000a", - "sourceMap": "1087:8906:89:-:0;;;1589:349;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1589:349:89;;;;;;;;;;;-1:-1:-1;;;;;;1589:349:89;1751:38;;;;;;;1799:68;;;;;;;1877:54;;;;;1087:8906;;;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b506004361061007d5760003560e01c806366b4c5d11161005b57806366b4c5d11461018857806380daddb8146101ca578063e5c23a971461026b578063ecd658b41461030f5761007d565b806344c72102146100825780634ddf47d4146100bc5780634eeb4a1614610162575b600080fd5b6100a86004803603602081101561009857600080fd5b50356001600160a01b0316610317565b604080519115158252519081900360200190f35b610160600480360360208110156100d257600080fd5b810190602081018135600160201b8111156100ec57600080fd5b8201836020820111156100fe57600080fd5b803590602001918460018302840111600160201b8311171561011f57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610334945050505050565b005b6100a86004803603602081101561017857600080fd5b50356001600160a01b0316610337565b6101ae6004803603602081101561019e57600080fd5b50356001600160a01b03166103ac565b604080516001600160a01b039092168252519081900360200190f35b6101d26103ca565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156102165781810151838201526020016101fe565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561025557818101518382015260200161023d565b5050505090500194505050505060405180910390f35b6101606004803603602081101561028157600080fd5b810190602081018135600160201b81111561029b57600080fd5b8201836020820111156102ad57600080fd5b803590602001918460018302840111600160201b831117156102ce57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610530945050505050565b6101d26106a8565b600080610323836103ac565b6001600160a01b0316141592915050565b50565b60006103a682600180548060200260200160405190810160405280929190818152602001828054801561039357602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610375575b505050505061080e90919063ffffffff16565b92915050565b6001600160a01b039081166000908152600260205260409020541690565b606080600180548060200260200160405190810160405280929190818152602001828054801561042357602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610405575b50506001549395505067ffffffffffffffff8311915050801561044557600080fd5b5060405190808252806020026020018201604052801561046f578160200160208202803683370190505b50905060005b825181101561052b5782818151811061048a57fe5b60200260200101516001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156104de57600080fd5b505afa1580156104f2573d6000803e3d6000fd5b505050506040513d602081101561050857600080fd5b5051825183908390811061051857fe5b6020908102919091010152600101610475565b509091565b6000606082806020019051604081101561054957600080fd5b815160208301805160405192949293830192919084600160201b82111561056f57600080fd5b90830190602082018581111561058457600080fd5b8251600160201b81118282018810171561059d57600080fd5b82525081516020918201929091019080838360005b838110156105ca5781810151838201526020016105b2565b50505050905090810190601f1680156105f75780820380516001836020036101000a031916815260200191505b50604052505050915091506000600481111561060f57fe5b8214156106245761061f81610864565b6106a3565b60018214156106365761061f8161093b565b60028214156106485761061f81610b4c565b600382141561065a5761061f81610eac565b600482141561066c5761061f8161128d565b60405162461bcd60e51b8152600401808060200182810382526026815260200180611bb96026913960400191505060405180910390fd5b505050565b606080600080548060200260200160405190810160405280929190818152602001828054801561070157602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116106e3575b50505050509150815167ffffffffffffffff8111801561072057600080fd5b5060405190808252806020026020018201604052801561074a578160200160208202803683370190505b50905060005b825181101561052b5761077583828151811061076857fe5b60200260200101516103ac565b6001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156107c157600080fd5b505afa1580156107d5573d6000803e3d6000fd5b505050506040513d60208110156107eb57600080fd5b505182518390839081106107fb57fe5b6020908102919091010152600101610750565b6000805b835181101561085a5783818151811061082757fe5b60200260200101516001600160a01b0316836001600160a01b031614156108525760019150506103a6565b600101610812565b5060009392505050565b606061086f82611375565b50905060005b81518110156106a35761089a82828151811061088d57fe5b6020026020010151610337565b6109335760018282815181106108ac57fe5b60209081029190910181015182546001810184556000938452919092200180546001600160a01b0319166001600160a01b0390921691909117905581518290829081106108f557fe5b60200260200101516001600160a01b03167f0c7515883121475b5d9289febf21a9de4ad53f18349a856d90c7acd6e099600b60405160405180910390a25b600101610875565b60608061094783611375565b9150915060005b8251811015610b465761096683828151811061088d57fe5b6109a15760405162461bcd60e51b8152600401808060200182810382526032815260200180611b346032913960400191505060405180910390fd5b60008382815181106109af57fe5b60200260200101516001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610a0357600080fd5b505afa158015610a17573d6000803e3d6000fd5b505050506040513d6020811015610a2d57600080fd5b5051835190915060001990849084908110610a4457fe5b60200260200101511415610a6c5780838381518110610a5f57fe5b6020026020010181815250505b80838381518110610a7957fe5b60200260200101511415610af957610aae848381518110610a9657fe5b602002602001015160016114a690919063ffffffff16565b50838281518110610abb57fe5b60200260200101516001600160a01b03167f4336391ada1af9dcb966fed43ebafa4404719b6d8e42c765ab28e3abc9a24e7a60405160405180910390a25b610b3d33848481518110610b0957fe5b6020026020010151868581518110610b1d57fe5b60200260200101516001600160a01b031661159e9092919063ffffffff16565b5060010161094e565b50505050565b606080610b5883611375565b9150915060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316630261bf8b6040518163ffffffff1660e01b815260040160206040518083038186803b158015610bb757600080fd5b505afa158015610bcb573d6000803e3d6000fd5b505050506040513d6020811015610be157600080fd5b5051905060005b8351811015610ea557816001600160a01b031663a415bcad858381518110610c0c57fe5b6020026020010151858481518110610c2057fe5b60200260200101516002609e306040518663ffffffff1660e01b815260040180866001600160a01b031681526020018581526020018481526020018361ffff168152602001826001600160a01b0316815260200195505050505050600060405180830381600087803b158015610c9557600080fd5b505af1158015610ca9573d6000803e3d6000fd5b50505050610cd133848381518110610cbd57fe5b6020026020010151868481518110610b1d57fe5b610ced848281518110610ce057fe5b6020026020010151610317565b610e9d5760007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d2493b6c868481518110610d2e57fe5b60200260200101516040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060606040518083038186803b158015610d7357600080fd5b505afa158015610d87573d6000803e3d6000fd5b505050506040513d6060811015610d9d57600080fd5b506040015185519091508190600290600090889086908110610dbb57fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b031602179055506000858381518110610e1557fe5b60209081029190910181015182546001810184556000938452919092200180546001600160a01b0319166001600160a01b039092169190911790558451859083908110610e5e57fe5b60200260200101516001600160a01b03167f97f7fb70b87eb9080ffe33222b1b155c19088727253265871a270021c9b3ecad60405160405180910390a2505b600101610be8565b5050505050565b606080610eb883611375565b9150915060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316630261bf8b6040518163ffffffff1660e01b815260040160206040518083038186803b158015610f1757600080fd5b505afa158015610f2b573d6000803e3d6000fd5b505050506040513d6020811015610f4157600080fd5b5051905060005b8351811015610ea557610f60848281518110610ce057fe5b610f9b5760405162461bcd60e51b815260040180806020018281038252602d815260200180611b66602d913960400191505060405180910390fd5b610fcc848281518110610faa57fe5b602002602001015183858481518110610fbf57fe5b60200260200101516115f0565b816001600160a01b031663573ade81858381518110610fe757fe5b6020026020010151858481518110610ffb57fe5b60200260200101516002306040518563ffffffff1660e01b815260040180856001600160a01b03168152602001848152602001838152602001826001600160a01b03168152602001945050505050602060405180830381600087803b15801561106357600080fd5b505af1158015611077573d6000803e3d6000fd5b505050506040513d602081101561108d57600080fd5b505083516000908590839081106110a057fe5b60200260200101516001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156110f457600080fd5b505afa158015611108573d6000803e3d6000fd5b505050506040513d602081101561111e57600080fd5b505190508015611139576111393382878581518110610b1d57fe5b61114885838151811061076857fe5b6001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561119457600080fd5b505afa1580156111a8573d6000803e3d6000fd5b505050506040513d60208110156111be57600080fd5b505161128457600260008684815181106111d457fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154906001600160a01b03021916905561123985838151811061122157fe5b602002602001015160006114a690919063ffffffff16565b5084828151811061124657fe5b60200260200101516001600160a01b03167fe826be1b7ceed778b8cb93dde171ee088cbddd7b16b9ebbe726a019988eb5fc060405160405180910390a25b50600101610f48565b6060611298826116a8565b90507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316633111e7b382600019336040518463ffffffff1660e01b81526004018080602001848152602001836001600160a01b03168152602001828103825285818151815260200191508051906020019060200280838360005b8381101561133257818101518382015260200161131a565b50505050905001945050505050600060405180830381600087803b15801561135957600080fd5b505af115801561136d573d6000803e3d6000fd5b505050505050565b60608082806020019051604081101561138d57600080fd5b8101908080516040519392919084600160201b8211156113ac57600080fd5b9083019060208201858111156113c157600080fd5b82518660208202830111600160201b821117156113dd57600080fd5b82525081516020918201928201910280838360005b8381101561140a5781810151838201526020016113f2565b5050505090500160405260200180516040519392919084600160201b82111561143257600080fd5b90830190602082018581111561144757600080fd5b82518660208202830111600160201b8211171561146357600080fd5b82525081516020918201928201910280838360005b83811015611490578181015183820152602001611478565b5050505090500160405250505091509150915091565b8154600090815b8181101561159657836001600160a01b03168582815481106114cb57fe5b6000918252602090912001546001600160a01b0316141561158e57600182038110156115595784600183038154811061150057fe5b9060005260206000200160009054906101000a90046001600160a01b031685828154811061152a57fe5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055505b8480548061156357fe5b600082815260209020810160001990810180546001600160a01b031916905501905560019250611596565b6001016114ad565b505092915050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526106a3908490611750565b60408051636eb1769f60e11b81523060048201526001600160a01b038481166024830152915160009286169163dd62ed3e916044808301926020929190829003018186803b15801561164157600080fd5b505afa158015611655573d6000803e3d6000fd5b505050506040513d602081101561166b57600080fd5b5051905081811015610b46578015611692576116926001600160a01b038516846000611801565b610b466001600160a01b03851684600019611801565b60608180602001905160208110156116bf57600080fd5b8101908080516040519392919084600160201b8211156116de57600080fd5b9083019060208201858111156116f357600080fd5b82518660208202830111600160201b8211171561170f57600080fd5b82525081516020918201928201910280838360005b8381101561173c578181015183820152602001611724565b505050509050016040525050509050919050565b60606117a5826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166119149092919063ffffffff16565b8051909150156106a3578080602001905160208110156117c457600080fd5b50516106a35760405162461bcd60e51b815260040180806020018281038252602a815260200180611bdf602a913960400191505060405180910390fd5b801580611887575060408051636eb1769f60e11b81523060048201526001600160a01b03848116602483015291519185169163dd62ed3e91604480820192602092909190829003018186803b15801561185957600080fd5b505afa15801561186d573d6000803e3d6000fd5b505050506040513d602081101561188357600080fd5b5051155b6118c25760405162461bcd60e51b8152600401808060200182810382526036815260200180611c096036913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526106a3908490611750565b6060611923848460008561192d565b90505b9392505050565b60608247101561196e5760405162461bcd60e51b8152600401808060200182810382526026815260200180611b936026913960400191505060405180910390fd5b61197785611a89565b6119c8576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b60208310611a075780518252601f1990920191602091820191016119e8565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114611a69576040519150601f19603f3d011682016040523d82523d6000602084013e611a6e565b606091505b5091509150611a7e828286611a8f565b979650505050505050565b3b151590565b60608315611a9e575081611926565b825115611aae5782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611af8578181015183820152602001611ae0565b50505050905090810190601f168015611b255780820380516001836020036101000a031916815260200191505b509250505060405180910390fdfe5f5f72656d6f7665436f6c6c61746572616c4173736574733a20496e76616c696420636f6c6c61746572616c2061737365745f5f7265706179426f72726f7765644173736574733a20496e76616c696420626f72726f776564206173736574416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c7265636569766543616c6c46726f6d5661756c743a20496e76616c696420616374696f6e49645361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e6365a164736f6c634300060c000a", - "sourceMap": "1087:8906:89:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9028:154;;;;;;;;;;;;;;;;-1:-1:-1;9028:154:89;-1:-1:-1;;;;;9028:154:89;;:::i;:::-;;;;;;;;;;;;;;;;;;2047:48;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2047:48:89;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2047:48:89;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2047:48:89;;-1:-1:-1;2047:48:89;;-1:-1:-1;;;;;2047:48:89:i;:::-;;9348:141;;;;;;;;;;;;;;;;-1:-1:-1;9348:141:89;-1:-1:-1;;;;;9348:141:89;;:::i;9779:212::-;;;;;;;;;;;;;;;;-1:-1:-1;9779:212:89;-1:-1:-1;;;;;9779:212:89;;:::i;:::-;;;;-1:-1:-1;;;;;9779:212:89;;;;;;;;;;;;;;8391:407;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2223:803;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2223:803:89;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2223:803:89;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2223:803:89;;-1:-1:-1;2223:803:89;;-1:-1:-1;;;;;2223:803:89:i;7789:423::-;;;:::i;9028:154::-;9090:16;;9125:36;9154:6;9125:28;:36::i;:::-;-1:-1:-1;;;;;9125:50:89;;;;9028:154;-1:-1:-1;;9028:154:89:o;2047:48::-;;:::o;9348:141::-;9412:18;9449:33;9475:6;9449:16;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9449:25:89;;;;;;;;;;;;;;;;;;;;;;;:33;;;;:::i;:::-;9442:40;9348:141;-1:-1:-1;;9348:141:89:o;9779:212::-;-1:-1:-1;;;;;9944:40:89;;;9903:18;9944:40;;;:24;:40;;;;;;;;9779:212::o;8391:407::-;8470:24;8496:25;8547:16;8537:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8537:26:89;;;;;;;;;;;;;;;;-1:-1:-1;;8598:16:89;:23;8537:26;;-1:-1:-1;;8584:38:89;;;;-1:-1:-1;;8584:38:89;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8584:38:89;;8573:49;;8638:9;8633:122;8653:7;:14;8649:1;:18;8633:122;;;8708:7;8716:1;8708:10;;;;;;;;;;;;;;-1:-1:-1;;;;;8702:27:89;;8738:4;8702:42;;;;;;;;;;;;;-1:-1:-1;;;;;8702:42:89;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8702:42:89;8688:11;;:8;;8697:1;;8688:11;;;;;;;;;;;;;;;:56;8669:3;;8633:122;;;;8391:407;;:::o;2223:803::-;2308:16;2326:23;2364:11;2353:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2353:41:89;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2353:41:89;;;;;;-1:-1:-1;2353:41:89;;;;;;;;;;-1:-1:-1;2353:41:89;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2307:87;;;;2429:21;2421:30;;;;;;;;2409:8;:42;2405:615;;;2467:33;2489:10;2467:21;:33::i;:::-;2405:615;;;2541:24;2521:8;:45;2517:503;;;2582:36;2607:10;2582:24;:36::i;2517:503::-;2659:14;2639:8;:35;2635:385;;;2690:26;2705:10;2690:14;:26::i;2635:385::-;2757:19;2737:8;:40;2733:287;;;2793:33;2815:10;2793:21;:33::i;2733:287::-;2867:20;2847:8;:41;2843:177;;;2904:26;2919:10;2904:14;:26::i;2843:177::-;2961:48;;-1:-1:-1;;;2961:48:89;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2843:177;2223:803;;;:::o;7789:423::-;7865:24;7891:25;7942:14;7932:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7932:24:89;;;;;;;;;;;;;;;;;;;;;;;7991:7;:14;7977:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7977:29:89;;7966:40;;8022:9;8017:152;8037:7;:14;8033:1;:18;8017:152;;;8092:40;8121:7;8129:1;8121:10;;;;;;;;;;;;;;8092:28;:40::i;:::-;-1:-1:-1;;;;;8086:57:89;;8152:4;8086:72;;;;;;;;;;;;;-1:-1:-1;;;;;8086:72:89;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8086:72:89;8072:11;;:8;;8081:1;;8072:11;;;;;;;;;;;;;;;:86;8053:3;;8017:152;;2489:299:354;2595:17;2633:9;2628:132;2648:5;:12;2644:1;:16;2628:132;;;2696:5;2702:1;2696:8;;;;;;;;;;;;;;-1:-1:-1;;;;;2685:19:354;:7;-1:-1:-1;;;;;2685:19:354;;2681:69;;;2731:4;2724:11;;;;;2681:69;2662:3;;2628:132;;;-1:-1:-1;2776:5:354;;2489:299;-1:-1:-1;;;2489:299:354:o;3085:387:89:-;3160:24;3190:43;3222:10;3190:31;:43::i;:::-;3159:74;;;3249:9;3244:222;3264:7;:14;3260:1;:18;3244:222;;;3304:29;3322:7;3330:1;3322:10;;;;;;;;;;;;;;3304:17;:29::i;:::-;3299:157;;3353:16;3375:7;3383:1;3375:10;;;;;;;;;;;;;;;;;;;3353:33;;;;;;;-1:-1:-1;3353:33:89;;;;;;;;;;-1:-1:-1;;;;;;3353:33:89;-1:-1:-1;;;;;3353:33:89;;;;;;;;;3430:10;;;;3438:1;;3430:10;;;;;;;;;;;;-1:-1:-1;;;;;3409:32:89;;;;;;;;;;;3299:157;3280:3;;3244:222;;5106:979;5184:24;5210;5238:68;5286:10;5238:34;:68::i;:::-;5183:123;;;;5322:9;5317:762;5337:7;:14;5333:1;:18;5317:762;;;5397:29;5415:7;5423:1;5415:10;;;;;;;5397:29;5372:138;;;;-1:-1:-1;;;5372:138:89;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5525:25;5559:7;5567:1;5559:10;;;;;;;;;;;;;;-1:-1:-1;;;;;5553:27:89;;5589:4;5553:42;;;;;;;;;;;;;-1:-1:-1;;;;;5553:42:89;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5553:42:89;5614:10;;5553:42;;-1:-1:-1;;;5628:17:89;5614:7;;5622:1;;5614:10;;;;;;;;;;;;:31;5610:100;;;5678:17;5665:7;5673:1;5665:10;;;;;;;;;;;;;:30;;;;;5610:100;5845:17;5831:7;5839:1;5831:10;;;;;;;;;;;;;;:31;5827:173;;;5882:46;5917:7;5925:1;5917:10;;;;;;;;;;;;;;5882:16;:34;;:46;;;;:::i;:::-;;5974:7;5982:1;5974:10;;;;;;;;;;;;;;-1:-1:-1;;;;;5951:34:89;;;;;;;;;;;5827:173;6014:54;6045:10;6057:7;6065:1;6057:10;;;;;;;;;;;;;;6020:7;6028:1;6020:10;;;;;;;;;;;;;;-1:-1:-1;;;;;6014:30:89;;;:54;;;;;:::i;:::-;-1:-1:-1;5353:3:89;;5317:762;;;;5106:979;;;:::o;3537:1142::-;3605:23;3630:24;3658:36;3683:10;3658:24;:36::i;:::-;3604:90;;;;3705:26;3781:34;-1:-1:-1;;;;;3734:106:89;;:108;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3734:108:89;;-1:-1:-1;3858:9:89;3853:820;3873:6;:13;3869:1;:17;3853:820;;;3926:18;-1:-1:-1;;;;;3907:45:89;;3970:6;3977:1;3970:9;;;;;;;;;;;;;;3997:7;4005:1;3997:10;;;;;;;;;;;;;;1581:1;1346:3;4109:4;3907:221;;;;;;;;;;;;;-1:-1:-1;;;;;3907:221:89;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3907:221:89;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4143:53;4173:10;4185:7;4193:1;4185:10;;;;;;;;;;;;;;4149:6;4156:1;4149:9;;;;;;;4143:53;4216:26;4232:6;4239:1;4232:9;;;;;;;;;;;;;;4216:15;:26::i;:::-;4211:452;;4356:17;4405:18;-1:-1:-1;;;;;4377:94:89;;4472:6;4479:1;4472:9;;;;;;;;;;;;;;4377:105;;;;;;;;;;;;;-1:-1:-1;;;;;4377:105:89;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4377:105:89;;;4525:9;;4377:105;;-1:-1:-1;4377:105:89;;4500:24;;:35;;4525:6;;4532:1;;4525:9;;;;;;;;;;;;-1:-1:-1;;;;;4500:35:89;-1:-1:-1;;;;;4500:35:89;;;;;;;;;;;;;:47;;;;;-1:-1:-1;;;;;4500:47:89;;;;;-1:-1:-1;;;;;4500:47:89;;;;;;4566:14;4586:6;4593:1;4586:9;;;;;;;;;;;;;;;;;;;4566:30;;;;;;;-1:-1:-1;4566:30:89;;;;;;;;;;-1:-1:-1;;;;;;4566:30:89;-1:-1:-1;;;;;4566:30:89;;;;;;;;;4638:9;;;;4645:1;;4638:9;;;;;;;;;;;;-1:-1:-1;;;;;4619:29:89;;;;;;;;;;;4211:452;;3888:3;;3853:820;;;;3537:1142;;;;:::o;6156:1387::-;6231:23;6256:24;6284:63;6327:10;6284:29;:63::i;:::-;6230:117;;;;6358:26;6434:34;-1:-1:-1;;;;;6387:106:89;;:108;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6387:108:89;;-1:-1:-1;6511:9:89;6506:1031;6526:6;:13;6522:1;:17;6506:1031;;;6568:26;6584:6;6591:1;6584:9;;;;;;;6568:26;6560:84;;;;-1:-1:-1;;;6560:84:89;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6659:68;6685:6;6692:1;6685:9;;;;;;;;;;;;;;6696:18;6716:7;6724:1;6716:10;;;;;;;;;;;;;;6659:25;:68::i;:::-;6761:18;-1:-1:-1;;;;;6742:44:89;;6804:6;6811:1;6804:9;;;;;;;;;;;;;;6831:7;6839:1;6831:10;;;;;;;;;;;;;;1581:1;6907:4;6742:184;;;;;;;;;;;;;-1:-1:-1;;;;;6742:184:89;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6742:184:89;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6974:9:89;;6941:24;;6974:6;;6981:1;;6974:9;;;;;;;;;;;;-1:-1:-1;;;;;6968:26:89;;7003:4;6968:41;;;;;;;;;;;;;-1:-1:-1;;;;;6968:41:89;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6968:41:89;;-1:-1:-1;7028:20:89;;7024:118;;7068:59;7098:10;7110:16;7074:6;7081:1;7074:9;;;;;;;7068:59;7265:39;7294:6;7301:1;7294:9;;;;;;;7265:39;-1:-1:-1;;;;;7259:56:89;;7324:4;7259:71;;;;;;;;;;;;;-1:-1:-1;;;;;7259:71:89;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7259:71:89;7255:272;;7362:24;:35;7387:6;7394:1;7387:9;;;;;;;;;;;;;;-1:-1:-1;;;;;7362:35:89;-1:-1:-1;;;;;7362:35:89;;;;;;;;;;;;;7355:42;;;;;-1:-1:-1;;;;;7355:42:89;;;;;7415:43;7448:6;7455:1;7448:9;;;;;;;;;;;;;;7415:14;:32;;:43;;;;:::i;:::-;;7502:6;7509:1;7502:9;;;;;;;;;;;;;;-1:-1:-1;;;;;7481:31:89;;;;;;;;;;;7255:272;-1:-1:-1;6541:3:89;;6506:1031;;4750:306;4817:23;4843:42;4874:10;4843:30;:42::i;:::-;4817:68;;4924:26;-1:-1:-1;;;;;4896:68:89;;4978:6;-1:-1:-1;;5029:10:89;4896:153;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4896:153:89;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4750:306;;:::o;589:243:88:-;703:25;730;789:11;778:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;778:47:88;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;778:47:88;;;;;;;;;;;;-1:-1:-1;778:47:88;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;778:47:88;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;778:47:88;;;;;;;;;;;;-1:-1:-1;778:47:88;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;771:54;;;;589:243;;;:::o;569:515:354:-;727:12;;678:13;;;749:303;769:9;765:1;:13;749:303;;;815:13;-1:-1:-1;;;;;803:25:354;:5;809:1;803:8;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;803:8:354;:25;799:243;;;868:1;856:9;:13;852:1;:17;848:95;;;904:5;922:1;910:9;:13;904:20;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;904:20:354;893:5;899:1;893:8;;;;;;;;;;;;;;;;:31;;;;;-1:-1:-1;;;;;893:31:354;;;;;-1:-1:-1;;;;;893:31:354;;;;;;848:95;960:5;:11;;;;;;;;;;;;;;;;-1:-1:-1;;960:11:354;;;;;-1:-1:-1;;;;;;960:11:354;;;;;;;;-1:-1:-1;1022:5:354;;799:243;780:3;;749:303;;;;1062:15;569:515;;;;:::o;704:175:450:-;813:58;;;-1:-1:-1;;;;;813:58:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;813:58:450;-1:-1:-1;;;813:58:450;;;786:86;;806:5;;786:19;:86::i;2554:434:355:-;2714:47;;;-1:-1:-1;;;2714:47:355;;2746:4;2714:47;;;;-1:-1:-1;;;;;2714:47:355;;;;;;;;;2694:17;;2714:23;;;;;:47;;;;;;;;;;;;;;:23;:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2714:47:355;;-1:-1:-1;2775:25:355;;;2771:211;;;2820:13;;2816:89;;2853:37;-1:-1:-1;;;;;2853:25:355;;2879:7;2888:1;2853:25;:37::i;:::-;2918:53;-1:-1:-1;;;;;2918:25:355;;2944:7;-1:-1:-1;;2918:25:355;:53::i;1215:203:88:-;1328:24;1386:11;1375:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1375:36:88;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1375:36:88;;;;;;;;;;;;-1:-1:-1;1375:36:88;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1368:43;;1215:203;;;:::o;2967:751:450:-;3386:23;3412:69;3440:4;3412:69;;;;;;;;;;;;;;;;;3420:5;-1:-1:-1;;;;;3412:27:450;;;:69;;;;;:::i;:::-;3495:17;;3386:95;;-1:-1:-1;3495:21:450;3491:221;;3635:10;3624:30;;;;;;;;;;;;;;;-1:-1:-1;3624:30:450;3616:85;;;;-1:-1:-1;;;3616:85:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1348:613;1713:10;;;1712:62;;-1:-1:-1;1729:39:450;;;-1:-1:-1;;;1729:39:450;;1753:4;1729:39;;;;-1:-1:-1;;;;;1729:39:450;;;;;;;;;:15;;;;;;:39;;;;;;;;;;;;;;;:15;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1729:39:450;:44;1712:62;1704:150;;;;-1:-1:-1;;;1704:150:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1891:62;;;-1:-1:-1;;;;;1891:62:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1891:62:450;-1:-1:-1;;;1891:62:450;;;1864:90;;1884:5;;1864:19;:90::i;3581:193:451:-;3684:12;3715:52;3737:6;3745:4;3751:1;3754:12;3715:21;:52::i;:::-;3708:59;;3581:193;;;;;;:::o;4608:523::-;4735:12;4792:5;4767:21;:30;;4759:81;;;;-1:-1:-1;;;4759:81:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4858:18;4869:6;4858:10;:18::i;:::-;4850:60;;;;;-1:-1:-1;;;4850:60:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;4981:12;4995:23;5022:6;-1:-1:-1;;;;;5022:11:451;5042:5;5050:4;5022:33;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5022:33:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4980:75;;;;5072:52;5090:7;5099:10;5111:12;5072:17;:52::i;:::-;5065:59;4608:523;-1:-1:-1;;;;;;;4608:523:451:o;726:413::-;1086:20;1124:8;;;726:413::o;7091:725::-;7206:12;7234:7;7230:580;;;-1:-1:-1;7264:10:451;7257:17;;7230:580;7375:17;;:21;7371:429;;7633:10;7627:17;7693:15;7680:10;7676:2;7672:19;7665:44;7582:145;7772:12;7765:20;;-1:-1:-1;;;7765:20:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;", - "linkReferences": {}, - "immutableReferences": { - "19980": [ - { - "start": 3317, - "length": 32 - } - ], - "19982": [ - { - "start": 4764, - "length": 32 - } - ], - "19984": [ - { - "start": 2912, - "length": 32 - }, - { - "start": 3776, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "assetIsBorrowed(address)": "44c72102", - "assetIsCollateral(address)": "4eeb4a16", - "getDebtAssets()": "ecd658b4", - "getDebtTokenForBorrowedAsset(address)": "66b4c5d1", - "getManagedAssets()": "80daddb8", - "init(bytes)": "4ddf47d4", - "receiveCallFromVault(bytes)": "e5c23a97" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_aaveDataProvider\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_aaveLendingPoolAddressProvider\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_aaveIncentivesController\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"asset\",\"type\":\"address\"}],\"name\":\"BorrowedAssetAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"asset\",\"type\":\"address\"}],\"name\":\"BorrowedAssetRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"asset\",\"type\":\"address\"}],\"name\":\"CollateralAssetAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"asset\",\"type\":\"address\"}],\"name\":\"CollateralAssetRemoved\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"}],\"name\":\"assetIsBorrowed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isBorrowed_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"}],\"name\":\"assetIsCollateral\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isCollateral_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDebtAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"assets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_borrowedAsset\",\"type\":\"address\"}],\"name\":\"getDebtTokenForBorrowedAsset\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"debtToken_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getManagedAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"assets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"}],\"name\":\"receiveCallFromVault\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"assetIsBorrowed(address)\":{\"details\":\"Checks whether an asset is borrowed\",\"returns\":{\"isBorrowed_\":\"True if the asset is part of the borrowed assets of the external position\"}},\"assetIsCollateral(address)\":{\"returns\":{\"isCollateral_\":\"True if the asset is part of the collateral assets of the external position\"}},\"getDebtAssets()\":{\"returns\":{\"amounts_\":\"Debt asset amounts\",\"assets_\":\"Debt assets\"}},\"getDebtTokenForBorrowedAsset(address)\":{\"details\":\"Returns empty if _borrowedAsset is not a valid borrowed asset\",\"params\":{\"_borrowedAsset\":\"The asset that has been borrowed\"},\"returns\":{\"debtToken_\":\"The associated debt token\"}},\"getManagedAssets()\":{\"returns\":{\"amounts_\":\"Managed asset amounts\",\"assets_\":\"Managed assets\"}},\"init(bytes)\":{\"details\":\"Nothing to initialize for this contract\"},\"receiveCallFromVault(bytes)\":{\"params\":{\"_actionData\":\"Encoded data to execute the action\"}}},\"title\":\"AaveDebtPositionLib Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"assetIsCollateral(address)\":{\"notice\":\"Checks whether an asset is collateral\"},\"getDebtAssets()\":{\"notice\":\"Retrieves the debt assets (negative value) of the external position\"},\"getDebtTokenForBorrowedAsset(address)\":{\"notice\":\"Gets the debt token associated with a specified asset that has been borrowed\"},\"getManagedAssets()\":{\"notice\":\"Retrieves the managed assets (positive value) of the external position\"},\"init(bytes)\":{\"notice\":\"Initializes the external position\"},\"receiveCallFromVault(bytes)\":{\"notice\":\"Receives and executes a call from the Vault\"}},\"notice\":\"An External Position library contract for Aave debt positions\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/aave-v2-debt/AaveDebtPositionLib.sol\":\"AaveDebtPositionLib\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/persistent/external-positions/aave-v2-debt/AaveDebtPositionLibBase1.sol\":{\"keccak256\":\"0xe7491637ebf268090a5faabf6206758411380ee6c2d1c248d8d102d4f511b20e\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://aa05f486976a51ae761ed90eb4bafd2f79afb38ebae65504e61cdee1f21995c9\",\"dweb:/ipfs/QmQAUNjxcXA3YtfVDTQ1CjVn86Sj2MZRJrypMp4mhGMTFy\"]},\"contracts/release/extensions/external-position-manager/external-positions/aave-v2-debt/AaveDebtPositionDataDecoder.sol\":{\"keccak256\":\"0xa36c19f944dec6f5d504873abe1c9261f9c83a9915bd73d79620e66135263e62\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf64d33f97d3d8061c0cf06d168fa3f7bedadbee58ab1fe2aaf2daf0f162dc29\",\"dweb:/ipfs/Qmf7KQeazGnccc2DoUNujJ7KrmsefAn4n6k19rBSgAqXFt\"]},\"contracts/release/extensions/external-position-manager/external-positions/aave-v2-debt/AaveDebtPositionLib.sol\":{\"keccak256\":\"0xa5d0e0ffa076aebf9d6222e95d328da4cc694344d37d611fb89e4e7c87863675\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://605cb01a77d9716e857c256a5c240c01cf22401bbf56e62bb44f76d33260a49d\",\"dweb:/ipfs/QmYQbrBtEnWCteQHxVwHjVPSYkg59cTwBpV9vYoiRscocE\"]},\"contracts/release/extensions/external-position-manager/external-positions/aave-v2-debt/IAaveDebtPosition.sol\":{\"keccak256\":\"0x985176b234fc2cd4d67def55a7fc5579f79e8df6c3c95de5a88e33c8f0bab945\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://4fd89871e75f2c98641f76494cb8f08a3be719209031fc454e482e586932e5b3\",\"dweb:/ipfs/QmSZMLWuvyWNFJNWKvChPn9fmr9YVb2L2D3ZMPBBhYWndf\"]},\"contracts/release/interfaces/IAaveV2IncentivesController.sol\":{\"keccak256\":\"0xe5cabf85bd2ca655a4d78416b0412871c9f677b41f3917148dead1d40aa92950\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://4116b8dc230967b226daed9d0f75eee0a2d8b45e6fe0e2762c60cf1f7d035759\",\"dweb:/ipfs/QmNjcmFDt6Biy5uYS9topvZ9VGLYTeXEvdscamKBASVVW4\"]},\"contracts/release/interfaces/IAaveV2LendingPool.sol\":{\"keccak256\":\"0xe9398d0cd11197b955d282c88a345a481cadc70fea502f7b3362234a62b64257\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://569315086744d75b6140ed19dbf53117b07ff986ea524cc6ade31820bee66d3b\",\"dweb:/ipfs/QmeBHxBHYRmBq5nUnxoqQgZ4FDUMcXnzFu6X8Qb96fwdU9\"]},\"contracts/release/interfaces/IAaveV2LendingPoolAddressProvider.sol\":{\"keccak256\":\"0xf383db1b24ec2f4bb4946422696dfeac769aa36bf692efedbf3e38e368ac5284\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://e9c8ffde2206d37a0c31566677b15eedcbb90ae3e5a131a6c811f3056c176591\",\"dweb:/ipfs/QmPkc8wVGU7VPe9BAUQA6r66w7jC3m5T3UyFW4i4zhLxEZ\"]},\"contracts/release/interfaces/IAaveV2ProtocolDataProvider.sol\":{\"keccak256\":\"0xe4fb2b7e6acb9962c5269b615a76d351dcf6733a5e53f35f53afffde63e41571\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2261270cf6ea8748b0e8ca333434a33d4e353f4397155c4560336489c4022a90\",\"dweb:/ipfs/QmPUqkSp4XuUjTEYysNRuhgW1Dnyy3sgYwy6rMqyVMeKRS\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_aaveDataProvider", - "type": "address" - }, - { - "internalType": "address", - "name": "_aaveLendingPoolAddressProvider", - "type": "address" - }, - { - "internalType": "address", - "name": "_aaveIncentivesController", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "asset", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "BorrowedAssetAdded", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "asset", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "BorrowedAssetRemoved", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "asset", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "CollateralAssetAdded", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "asset", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "CollateralAssetRemoved", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_asset", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "assetIsBorrowed", - "outputs": [ - { - "internalType": "bool", - "name": "isBorrowed_", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_asset", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "assetIsCollateral", - "outputs": [ - { - "internalType": "bool", - "name": "isCollateral_", - "type": "bool" - } - ] - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "getDebtAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "assets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "amounts_", - "type": "uint256[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrowedAsset", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getDebtTokenForBorrowedAsset", - "outputs": [ - { - "internalType": "address", - "name": "debtToken_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "getManagedAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "assets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "amounts_", - "type": "uint256[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "init" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "receiveCallFromVault" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "assetIsBorrowed(address)": { - "details": "Checks whether an asset is borrowed", - "returns": { - "isBorrowed_": "True if the asset is part of the borrowed assets of the external position" - } - }, - "assetIsCollateral(address)": { - "returns": { - "isCollateral_": "True if the asset is part of the collateral assets of the external position" - } - }, - "getDebtAssets()": { - "returns": { - "amounts_": "Debt asset amounts", - "assets_": "Debt assets" - } - }, - "getDebtTokenForBorrowedAsset(address)": { - "details": "Returns empty if _borrowedAsset is not a valid borrowed asset", - "params": { - "_borrowedAsset": "The asset that has been borrowed" - }, - "returns": { - "debtToken_": "The associated debt token" - } - }, - "getManagedAssets()": { - "returns": { - "amounts_": "Managed asset amounts", - "assets_": "Managed assets" - } - }, - "init(bytes)": { - "details": "Nothing to initialize for this contract" - }, - "receiveCallFromVault(bytes)": { - "params": { - "_actionData": "Encoded data to execute the action" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "assetIsCollateral(address)": { - "notice": "Checks whether an asset is collateral" - }, - "getDebtAssets()": { - "notice": "Retrieves the debt assets (negative value) of the external position" - }, - "getDebtTokenForBorrowedAsset(address)": { - "notice": "Gets the debt token associated with a specified asset that has been borrowed" - }, - "getManagedAssets()": { - "notice": "Retrieves the managed assets (positive value) of the external position" - }, - "init(bytes)": { - "notice": "Initializes the external position" - }, - "receiveCallFromVault(bytes)": { - "notice": "Receives and executes a call from the Vault" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/external-position-manager/external-positions/aave-v2-debt/AaveDebtPositionLib.sol": "AaveDebtPositionLib" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/external-positions/IExternalPosition.sol": { - "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", - "urls": [ - "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", - "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/external-positions/aave-v2-debt/AaveDebtPositionLibBase1.sol": { - "keccak256": "0xe7491637ebf268090a5faabf6206758411380ee6c2d1c248d8d102d4f511b20e", - "urls": [ - "bzz-raw://aa05f486976a51ae761ed90eb4bafd2f79afb38ebae65504e61cdee1f21995c9", - "dweb:/ipfs/QmQAUNjxcXA3YtfVDTQ1CjVn86Sj2MZRJrypMp4mhGMTFy" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/aave-v2-debt/AaveDebtPositionDataDecoder.sol": { - "keccak256": "0xa36c19f944dec6f5d504873abe1c9261f9c83a9915bd73d79620e66135263e62", - "urls": [ - "bzz-raw://bf64d33f97d3d8061c0cf06d168fa3f7bedadbee58ab1fe2aaf2daf0f162dc29", - "dweb:/ipfs/Qmf7KQeazGnccc2DoUNujJ7KrmsefAn4n6k19rBSgAqXFt" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/aave-v2-debt/AaveDebtPositionLib.sol": { - "keccak256": "0xa5d0e0ffa076aebf9d6222e95d328da4cc694344d37d611fb89e4e7c87863675", - "urls": [ - "bzz-raw://605cb01a77d9716e857c256a5c240c01cf22401bbf56e62bb44f76d33260a49d", - "dweb:/ipfs/QmYQbrBtEnWCteQHxVwHjVPSYkg59cTwBpV9vYoiRscocE" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/aave-v2-debt/IAaveDebtPosition.sol": { - "keccak256": "0x985176b234fc2cd4d67def55a7fc5579f79e8df6c3c95de5a88e33c8f0bab945", - "urls": [ - "bzz-raw://4fd89871e75f2c98641f76494cb8f08a3be719209031fc454e482e586932e5b3", - "dweb:/ipfs/QmSZMLWuvyWNFJNWKvChPn9fmr9YVb2L2D3ZMPBBhYWndf" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IAaveV2IncentivesController.sol": { - "keccak256": "0xe5cabf85bd2ca655a4d78416b0412871c9f677b41f3917148dead1d40aa92950", - "urls": [ - "bzz-raw://4116b8dc230967b226daed9d0f75eee0a2d8b45e6fe0e2762c60cf1f7d035759", - "dweb:/ipfs/QmNjcmFDt6Biy5uYS9topvZ9VGLYTeXEvdscamKBASVVW4" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IAaveV2LendingPool.sol": { - "keccak256": "0xe9398d0cd11197b955d282c88a345a481cadc70fea502f7b3362234a62b64257", - "urls": [ - "bzz-raw://569315086744d75b6140ed19dbf53117b07ff986ea524cc6ade31820bee66d3b", - "dweb:/ipfs/QmeBHxBHYRmBq5nUnxoqQgZ4FDUMcXnzFu6X8Qb96fwdU9" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IAaveV2LendingPoolAddressProvider.sol": { - "keccak256": "0xf383db1b24ec2f4bb4946422696dfeac769aa36bf692efedbf3e38e368ac5284", - "urls": [ - "bzz-raw://e9c8ffde2206d37a0c31566677b15eedcbb90ae3e5a131a6c811f3056c176591", - "dweb:/ipfs/QmPkc8wVGU7VPe9BAUQA6r66w7jC3m5T3UyFW4i4zhLxEZ" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IAaveV2ProtocolDataProvider.sol": { - "keccak256": "0xe4fb2b7e6acb9962c5269b615a76d351dcf6733a5e53f35f53afffde63e41571", - "urls": [ - "bzz-raw://2261270cf6ea8748b0e8ca333434a33d4e353f4397155c4560336489c4022a90", - "dweb:/ipfs/QmPUqkSp4XuUjTEYysNRuhgW1Dnyy3sgYwy6rMqyVMeKRS" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AddressArrayLib.sol": { - "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", - "urls": [ - "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", - "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AssetHelpers.sol": { - "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", - "urls": [ - "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", - "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { - "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", - "urls": [ - "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", - "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Address.sol": { - "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", - "urls": [ - "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", - "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 89 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_aaveDataProvider", "type": "address", "internalType": "address" }, { "name": "_aaveLendingPoolAddressProvider", "type": "address", "internalType": "address" }, { "name": "_aaveIncentivesController", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "assetIsBorrowed", "inputs": [ { "name": "_asset", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "isBorrowed_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "assetIsCollateral", "inputs": [ { "name": "_asset", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "isCollateral_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "getDebtAssets", "inputs": [], "outputs": [ { "name": "assets_", "type": "address[]", "internalType": "address[]" }, { "name": "amounts_", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "getDebtTokenForBorrowedAsset", "inputs": [ { "name": "_borrowedAsset", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "debtToken_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getManagedAssets", "inputs": [], "outputs": [ { "name": "assets_", "type": "address[]", "internalType": "address[]" }, { "name": "amounts_", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "init", "inputs": [ { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "receiveCallFromVault", "inputs": [ { "name": "_actionData", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "event", "name": "BorrowedAssetAdded", "inputs": [ { "name": "asset", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "BorrowedAssetRemoved", "inputs": [ { "name": "asset", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "CollateralAssetAdded", "inputs": [ { "name": "asset", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "CollateralAssetRemoved", "inputs": [ { "name": "asset", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false } ], "bytecode": { "object": "0x60e060405234801561001057600080fd5b50604051611ce7380380611ce78339818101604052606081101561003357600080fd5b50805160208201516040909201516001600160601b0319606092831b811660805292821b831660c052901b1660a05260805160601c60a05160601c60c05160601c611c4b61009c60003980610b605280610ec052508061129c525080610cf55250611c4b6000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c806366b4c5d11161005b57806366b4c5d11461018857806380daddb8146101ca578063e5c23a971461026b578063ecd658b41461030f5761007d565b806344c72102146100825780634ddf47d4146100bc5780634eeb4a1614610162575b600080fd5b6100a86004803603602081101561009857600080fd5b50356001600160a01b0316610317565b604080519115158252519081900360200190f35b610160600480360360208110156100d257600080fd5b810190602081018135600160201b8111156100ec57600080fd5b8201836020820111156100fe57600080fd5b803590602001918460018302840111600160201b8311171561011f57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610334945050505050565b005b6100a86004803603602081101561017857600080fd5b50356001600160a01b0316610337565b6101ae6004803603602081101561019e57600080fd5b50356001600160a01b03166103ac565b604080516001600160a01b039092168252519081900360200190f35b6101d26103ca565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156102165781810151838201526020016101fe565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561025557818101518382015260200161023d565b5050505090500194505050505060405180910390f35b6101606004803603602081101561028157600080fd5b810190602081018135600160201b81111561029b57600080fd5b8201836020820111156102ad57600080fd5b803590602001918460018302840111600160201b831117156102ce57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610530945050505050565b6101d26106a8565b600080610323836103ac565b6001600160a01b0316141592915050565b50565b60006103a682600180548060200260200160405190810160405280929190818152602001828054801561039357602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610375575b505050505061080e90919063ffffffff16565b92915050565b6001600160a01b039081166000908152600260205260409020541690565b606080600180548060200260200160405190810160405280929190818152602001828054801561042357602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610405575b50506001549395505067ffffffffffffffff8311915050801561044557600080fd5b5060405190808252806020026020018201604052801561046f578160200160208202803683370190505b50905060005b825181101561052b5782818151811061048a57fe5b60200260200101516001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156104de57600080fd5b505afa1580156104f2573d6000803e3d6000fd5b505050506040513d602081101561050857600080fd5b5051825183908390811061051857fe5b6020908102919091010152600101610475565b509091565b6000606082806020019051604081101561054957600080fd5b815160208301805160405192949293830192919084600160201b82111561056f57600080fd5b90830190602082018581111561058457600080fd5b8251600160201b81118282018810171561059d57600080fd5b82525081516020918201929091019080838360005b838110156105ca5781810151838201526020016105b2565b50505050905090810190601f1680156105f75780820380516001836020036101000a031916815260200191505b50604052505050915091506000600481111561060f57fe5b8214156106245761061f81610864565b6106a3565b60018214156106365761061f8161093b565b60028214156106485761061f81610b4c565b600382141561065a5761061f81610eac565b600482141561066c5761061f8161128d565b60405162461bcd60e51b8152600401808060200182810382526026815260200180611bb96026913960400191505060405180910390fd5b505050565b606080600080548060200260200160405190810160405280929190818152602001828054801561070157602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116106e3575b50505050509150815167ffffffffffffffff8111801561072057600080fd5b5060405190808252806020026020018201604052801561074a578160200160208202803683370190505b50905060005b825181101561052b5761077583828151811061076857fe5b60200260200101516103ac565b6001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156107c157600080fd5b505afa1580156107d5573d6000803e3d6000fd5b505050506040513d60208110156107eb57600080fd5b505182518390839081106107fb57fe5b6020908102919091010152600101610750565b6000805b835181101561085a5783818151811061082757fe5b60200260200101516001600160a01b0316836001600160a01b031614156108525760019150506103a6565b600101610812565b5060009392505050565b606061086f82611375565b50905060005b81518110156106a35761089a82828151811061088d57fe5b6020026020010151610337565b6109335760018282815181106108ac57fe5b60209081029190910181015182546001810184556000938452919092200180546001600160a01b0319166001600160a01b0390921691909117905581518290829081106108f557fe5b60200260200101516001600160a01b03167f0c7515883121475b5d9289febf21a9de4ad53f18349a856d90c7acd6e099600b60405160405180910390a25b600101610875565b60608061094783611375565b9150915060005b8251811015610b465761096683828151811061088d57fe5b6109a15760405162461bcd60e51b8152600401808060200182810382526032815260200180611b346032913960400191505060405180910390fd5b60008382815181106109af57fe5b60200260200101516001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610a0357600080fd5b505afa158015610a17573d6000803e3d6000fd5b505050506040513d6020811015610a2d57600080fd5b5051835190915060001990849084908110610a4457fe5b60200260200101511415610a6c5780838381518110610a5f57fe5b6020026020010181815250505b80838381518110610a7957fe5b60200260200101511415610af957610aae848381518110610a9657fe5b602002602001015160016114a690919063ffffffff16565b50838281518110610abb57fe5b60200260200101516001600160a01b03167f4336391ada1af9dcb966fed43ebafa4404719b6d8e42c765ab28e3abc9a24e7a60405160405180910390a25b610b3d33848481518110610b0957fe5b6020026020010151868581518110610b1d57fe5b60200260200101516001600160a01b031661159e9092919063ffffffff16565b5060010161094e565b50505050565b606080610b5883611375565b9150915060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316630261bf8b6040518163ffffffff1660e01b815260040160206040518083038186803b158015610bb757600080fd5b505afa158015610bcb573d6000803e3d6000fd5b505050506040513d6020811015610be157600080fd5b5051905060005b8351811015610ea557816001600160a01b031663a415bcad858381518110610c0c57fe5b6020026020010151858481518110610c2057fe5b60200260200101516002609e306040518663ffffffff1660e01b815260040180866001600160a01b031681526020018581526020018481526020018361ffff168152602001826001600160a01b0316815260200195505050505050600060405180830381600087803b158015610c9557600080fd5b505af1158015610ca9573d6000803e3d6000fd5b50505050610cd133848381518110610cbd57fe5b6020026020010151868481518110610b1d57fe5b610ced848281518110610ce057fe5b6020026020010151610317565b610e9d5760007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d2493b6c868481518110610d2e57fe5b60200260200101516040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060606040518083038186803b158015610d7357600080fd5b505afa158015610d87573d6000803e3d6000fd5b505050506040513d6060811015610d9d57600080fd5b506040015185519091508190600290600090889086908110610dbb57fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b031602179055506000858381518110610e1557fe5b60209081029190910181015182546001810184556000938452919092200180546001600160a01b0319166001600160a01b039092169190911790558451859083908110610e5e57fe5b60200260200101516001600160a01b03167f97f7fb70b87eb9080ffe33222b1b155c19088727253265871a270021c9b3ecad60405160405180910390a2505b600101610be8565b5050505050565b606080610eb883611375565b9150915060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316630261bf8b6040518163ffffffff1660e01b815260040160206040518083038186803b158015610f1757600080fd5b505afa158015610f2b573d6000803e3d6000fd5b505050506040513d6020811015610f4157600080fd5b5051905060005b8351811015610ea557610f60848281518110610ce057fe5b610f9b5760405162461bcd60e51b815260040180806020018281038252602d815260200180611b66602d913960400191505060405180910390fd5b610fcc848281518110610faa57fe5b602002602001015183858481518110610fbf57fe5b60200260200101516115f0565b816001600160a01b031663573ade81858381518110610fe757fe5b6020026020010151858481518110610ffb57fe5b60200260200101516002306040518563ffffffff1660e01b815260040180856001600160a01b03168152602001848152602001838152602001826001600160a01b03168152602001945050505050602060405180830381600087803b15801561106357600080fd5b505af1158015611077573d6000803e3d6000fd5b505050506040513d602081101561108d57600080fd5b505083516000908590839081106110a057fe5b60200260200101516001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156110f457600080fd5b505afa158015611108573d6000803e3d6000fd5b505050506040513d602081101561111e57600080fd5b505190508015611139576111393382878581518110610b1d57fe5b61114885838151811061076857fe5b6001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561119457600080fd5b505afa1580156111a8573d6000803e3d6000fd5b505050506040513d60208110156111be57600080fd5b505161128457600260008684815181106111d457fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154906001600160a01b03021916905561123985838151811061122157fe5b602002602001015160006114a690919063ffffffff16565b5084828151811061124657fe5b60200260200101516001600160a01b03167fe826be1b7ceed778b8cb93dde171ee088cbddd7b16b9ebbe726a019988eb5fc060405160405180910390a25b50600101610f48565b6060611298826116a8565b90507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316633111e7b382600019336040518463ffffffff1660e01b81526004018080602001848152602001836001600160a01b03168152602001828103825285818151815260200191508051906020019060200280838360005b8381101561133257818101518382015260200161131a565b50505050905001945050505050600060405180830381600087803b15801561135957600080fd5b505af115801561136d573d6000803e3d6000fd5b505050505050565b60608082806020019051604081101561138d57600080fd5b8101908080516040519392919084600160201b8211156113ac57600080fd5b9083019060208201858111156113c157600080fd5b82518660208202830111600160201b821117156113dd57600080fd5b82525081516020918201928201910280838360005b8381101561140a5781810151838201526020016113f2565b5050505090500160405260200180516040519392919084600160201b82111561143257600080fd5b90830190602082018581111561144757600080fd5b82518660208202830111600160201b8211171561146357600080fd5b82525081516020918201928201910280838360005b83811015611490578181015183820152602001611478565b5050505090500160405250505091509150915091565b8154600090815b8181101561159657836001600160a01b03168582815481106114cb57fe5b6000918252602090912001546001600160a01b0316141561158e57600182038110156115595784600183038154811061150057fe5b9060005260206000200160009054906101000a90046001600160a01b031685828154811061152a57fe5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055505b8480548061156357fe5b600082815260209020810160001990810180546001600160a01b031916905501905560019250611596565b6001016114ad565b505092915050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526106a3908490611750565b60408051636eb1769f60e11b81523060048201526001600160a01b038481166024830152915160009286169163dd62ed3e916044808301926020929190829003018186803b15801561164157600080fd5b505afa158015611655573d6000803e3d6000fd5b505050506040513d602081101561166b57600080fd5b5051905081811015610b46578015611692576116926001600160a01b038516846000611801565b610b466001600160a01b03851684600019611801565b60608180602001905160208110156116bf57600080fd5b8101908080516040519392919084600160201b8211156116de57600080fd5b9083019060208201858111156116f357600080fd5b82518660208202830111600160201b8211171561170f57600080fd5b82525081516020918201928201910280838360005b8381101561173c578181015183820152602001611724565b505050509050016040525050509050919050565b60606117a5826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166119149092919063ffffffff16565b8051909150156106a3578080602001905160208110156117c457600080fd5b50516106a35760405162461bcd60e51b815260040180806020018281038252602a815260200180611bdf602a913960400191505060405180910390fd5b801580611887575060408051636eb1769f60e11b81523060048201526001600160a01b03848116602483015291519185169163dd62ed3e91604480820192602092909190829003018186803b15801561185957600080fd5b505afa15801561186d573d6000803e3d6000fd5b505050506040513d602081101561188357600080fd5b5051155b6118c25760405162461bcd60e51b8152600401808060200182810382526036815260200180611c096036913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526106a3908490611750565b6060611923848460008561192d565b90505b9392505050565b60608247101561196e5760405162461bcd60e51b8152600401808060200182810382526026815260200180611b936026913960400191505060405180910390fd5b61197785611a89565b6119c8576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b60208310611a075780518252601f1990920191602091820191016119e8565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114611a69576040519150601f19603f3d011682016040523d82523d6000602084013e611a6e565b606091505b5091509150611a7e828286611a8f565b979650505050505050565b3b151590565b60608315611a9e575081611926565b825115611aae5782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611af8578181015183820152602001611ae0565b50505050905090810190601f168015611b255780820380516001836020036101000a031916815260200191505b509250505060405180910390fdfe5f5f72656d6f7665436f6c6c61746572616c4173736574733a20496e76616c696420636f6c6c61746572616c2061737365745f5f7265706179426f72726f7765644173736574733a20496e76616c696420626f72726f776564206173736574416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c7265636569766543616c6c46726f6d5661756c743a20496e76616c696420616374696f6e49645361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e6365a164736f6c634300060c000a", "sourceMap": "1087:8906:89:-:0;;;1589:349;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1589:349:89;;;;;;;;;;;-1:-1:-1;;;;;;1589:349:89;1751:38;;;;;;;1799:68;;;;;;;1877:54;;;;;1087:8906;;;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b506004361061007d5760003560e01c806366b4c5d11161005b57806366b4c5d11461018857806380daddb8146101ca578063e5c23a971461026b578063ecd658b41461030f5761007d565b806344c72102146100825780634ddf47d4146100bc5780634eeb4a1614610162575b600080fd5b6100a86004803603602081101561009857600080fd5b50356001600160a01b0316610317565b604080519115158252519081900360200190f35b610160600480360360208110156100d257600080fd5b810190602081018135600160201b8111156100ec57600080fd5b8201836020820111156100fe57600080fd5b803590602001918460018302840111600160201b8311171561011f57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610334945050505050565b005b6100a86004803603602081101561017857600080fd5b50356001600160a01b0316610337565b6101ae6004803603602081101561019e57600080fd5b50356001600160a01b03166103ac565b604080516001600160a01b039092168252519081900360200190f35b6101d26103ca565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156102165781810151838201526020016101fe565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561025557818101518382015260200161023d565b5050505090500194505050505060405180910390f35b6101606004803603602081101561028157600080fd5b810190602081018135600160201b81111561029b57600080fd5b8201836020820111156102ad57600080fd5b803590602001918460018302840111600160201b831117156102ce57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610530945050505050565b6101d26106a8565b600080610323836103ac565b6001600160a01b0316141592915050565b50565b60006103a682600180548060200260200160405190810160405280929190818152602001828054801561039357602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610375575b505050505061080e90919063ffffffff16565b92915050565b6001600160a01b039081166000908152600260205260409020541690565b606080600180548060200260200160405190810160405280929190818152602001828054801561042357602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610405575b50506001549395505067ffffffffffffffff8311915050801561044557600080fd5b5060405190808252806020026020018201604052801561046f578160200160208202803683370190505b50905060005b825181101561052b5782818151811061048a57fe5b60200260200101516001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156104de57600080fd5b505afa1580156104f2573d6000803e3d6000fd5b505050506040513d602081101561050857600080fd5b5051825183908390811061051857fe5b6020908102919091010152600101610475565b509091565b6000606082806020019051604081101561054957600080fd5b815160208301805160405192949293830192919084600160201b82111561056f57600080fd5b90830190602082018581111561058457600080fd5b8251600160201b81118282018810171561059d57600080fd5b82525081516020918201929091019080838360005b838110156105ca5781810151838201526020016105b2565b50505050905090810190601f1680156105f75780820380516001836020036101000a031916815260200191505b50604052505050915091506000600481111561060f57fe5b8214156106245761061f81610864565b6106a3565b60018214156106365761061f8161093b565b60028214156106485761061f81610b4c565b600382141561065a5761061f81610eac565b600482141561066c5761061f8161128d565b60405162461bcd60e51b8152600401808060200182810382526026815260200180611bb96026913960400191505060405180910390fd5b505050565b606080600080548060200260200160405190810160405280929190818152602001828054801561070157602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116106e3575b50505050509150815167ffffffffffffffff8111801561072057600080fd5b5060405190808252806020026020018201604052801561074a578160200160208202803683370190505b50905060005b825181101561052b5761077583828151811061076857fe5b60200260200101516103ac565b6001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156107c157600080fd5b505afa1580156107d5573d6000803e3d6000fd5b505050506040513d60208110156107eb57600080fd5b505182518390839081106107fb57fe5b6020908102919091010152600101610750565b6000805b835181101561085a5783818151811061082757fe5b60200260200101516001600160a01b0316836001600160a01b031614156108525760019150506103a6565b600101610812565b5060009392505050565b606061086f82611375565b50905060005b81518110156106a35761089a82828151811061088d57fe5b6020026020010151610337565b6109335760018282815181106108ac57fe5b60209081029190910181015182546001810184556000938452919092200180546001600160a01b0319166001600160a01b0390921691909117905581518290829081106108f557fe5b60200260200101516001600160a01b03167f0c7515883121475b5d9289febf21a9de4ad53f18349a856d90c7acd6e099600b60405160405180910390a25b600101610875565b60608061094783611375565b9150915060005b8251811015610b465761096683828151811061088d57fe5b6109a15760405162461bcd60e51b8152600401808060200182810382526032815260200180611b346032913960400191505060405180910390fd5b60008382815181106109af57fe5b60200260200101516001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610a0357600080fd5b505afa158015610a17573d6000803e3d6000fd5b505050506040513d6020811015610a2d57600080fd5b5051835190915060001990849084908110610a4457fe5b60200260200101511415610a6c5780838381518110610a5f57fe5b6020026020010181815250505b80838381518110610a7957fe5b60200260200101511415610af957610aae848381518110610a9657fe5b602002602001015160016114a690919063ffffffff16565b50838281518110610abb57fe5b60200260200101516001600160a01b03167f4336391ada1af9dcb966fed43ebafa4404719b6d8e42c765ab28e3abc9a24e7a60405160405180910390a25b610b3d33848481518110610b0957fe5b6020026020010151868581518110610b1d57fe5b60200260200101516001600160a01b031661159e9092919063ffffffff16565b5060010161094e565b50505050565b606080610b5883611375565b9150915060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316630261bf8b6040518163ffffffff1660e01b815260040160206040518083038186803b158015610bb757600080fd5b505afa158015610bcb573d6000803e3d6000fd5b505050506040513d6020811015610be157600080fd5b5051905060005b8351811015610ea557816001600160a01b031663a415bcad858381518110610c0c57fe5b6020026020010151858481518110610c2057fe5b60200260200101516002609e306040518663ffffffff1660e01b815260040180866001600160a01b031681526020018581526020018481526020018361ffff168152602001826001600160a01b0316815260200195505050505050600060405180830381600087803b158015610c9557600080fd5b505af1158015610ca9573d6000803e3d6000fd5b50505050610cd133848381518110610cbd57fe5b6020026020010151868481518110610b1d57fe5b610ced848281518110610ce057fe5b6020026020010151610317565b610e9d5760007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d2493b6c868481518110610d2e57fe5b60200260200101516040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060606040518083038186803b158015610d7357600080fd5b505afa158015610d87573d6000803e3d6000fd5b505050506040513d6060811015610d9d57600080fd5b506040015185519091508190600290600090889086908110610dbb57fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b031602179055506000858381518110610e1557fe5b60209081029190910181015182546001810184556000938452919092200180546001600160a01b0319166001600160a01b039092169190911790558451859083908110610e5e57fe5b60200260200101516001600160a01b03167f97f7fb70b87eb9080ffe33222b1b155c19088727253265871a270021c9b3ecad60405160405180910390a2505b600101610be8565b5050505050565b606080610eb883611375565b9150915060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316630261bf8b6040518163ffffffff1660e01b815260040160206040518083038186803b158015610f1757600080fd5b505afa158015610f2b573d6000803e3d6000fd5b505050506040513d6020811015610f4157600080fd5b5051905060005b8351811015610ea557610f60848281518110610ce057fe5b610f9b5760405162461bcd60e51b815260040180806020018281038252602d815260200180611b66602d913960400191505060405180910390fd5b610fcc848281518110610faa57fe5b602002602001015183858481518110610fbf57fe5b60200260200101516115f0565b816001600160a01b031663573ade81858381518110610fe757fe5b6020026020010151858481518110610ffb57fe5b60200260200101516002306040518563ffffffff1660e01b815260040180856001600160a01b03168152602001848152602001838152602001826001600160a01b03168152602001945050505050602060405180830381600087803b15801561106357600080fd5b505af1158015611077573d6000803e3d6000fd5b505050506040513d602081101561108d57600080fd5b505083516000908590839081106110a057fe5b60200260200101516001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156110f457600080fd5b505afa158015611108573d6000803e3d6000fd5b505050506040513d602081101561111e57600080fd5b505190508015611139576111393382878581518110610b1d57fe5b61114885838151811061076857fe5b6001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561119457600080fd5b505afa1580156111a8573d6000803e3d6000fd5b505050506040513d60208110156111be57600080fd5b505161128457600260008684815181106111d457fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154906001600160a01b03021916905561123985838151811061122157fe5b602002602001015160006114a690919063ffffffff16565b5084828151811061124657fe5b60200260200101516001600160a01b03167fe826be1b7ceed778b8cb93dde171ee088cbddd7b16b9ebbe726a019988eb5fc060405160405180910390a25b50600101610f48565b6060611298826116a8565b90507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316633111e7b382600019336040518463ffffffff1660e01b81526004018080602001848152602001836001600160a01b03168152602001828103825285818151815260200191508051906020019060200280838360005b8381101561133257818101518382015260200161131a565b50505050905001945050505050600060405180830381600087803b15801561135957600080fd5b505af115801561136d573d6000803e3d6000fd5b505050505050565b60608082806020019051604081101561138d57600080fd5b8101908080516040519392919084600160201b8211156113ac57600080fd5b9083019060208201858111156113c157600080fd5b82518660208202830111600160201b821117156113dd57600080fd5b82525081516020918201928201910280838360005b8381101561140a5781810151838201526020016113f2565b5050505090500160405260200180516040519392919084600160201b82111561143257600080fd5b90830190602082018581111561144757600080fd5b82518660208202830111600160201b8211171561146357600080fd5b82525081516020918201928201910280838360005b83811015611490578181015183820152602001611478565b5050505090500160405250505091509150915091565b8154600090815b8181101561159657836001600160a01b03168582815481106114cb57fe5b6000918252602090912001546001600160a01b0316141561158e57600182038110156115595784600183038154811061150057fe5b9060005260206000200160009054906101000a90046001600160a01b031685828154811061152a57fe5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055505b8480548061156357fe5b600082815260209020810160001990810180546001600160a01b031916905501905560019250611596565b6001016114ad565b505092915050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526106a3908490611750565b60408051636eb1769f60e11b81523060048201526001600160a01b038481166024830152915160009286169163dd62ed3e916044808301926020929190829003018186803b15801561164157600080fd5b505afa158015611655573d6000803e3d6000fd5b505050506040513d602081101561166b57600080fd5b5051905081811015610b46578015611692576116926001600160a01b038516846000611801565b610b466001600160a01b03851684600019611801565b60608180602001905160208110156116bf57600080fd5b8101908080516040519392919084600160201b8211156116de57600080fd5b9083019060208201858111156116f357600080fd5b82518660208202830111600160201b8211171561170f57600080fd5b82525081516020918201928201910280838360005b8381101561173c578181015183820152602001611724565b505050509050016040525050509050919050565b60606117a5826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166119149092919063ffffffff16565b8051909150156106a3578080602001905160208110156117c457600080fd5b50516106a35760405162461bcd60e51b815260040180806020018281038252602a815260200180611bdf602a913960400191505060405180910390fd5b801580611887575060408051636eb1769f60e11b81523060048201526001600160a01b03848116602483015291519185169163dd62ed3e91604480820192602092909190829003018186803b15801561185957600080fd5b505afa15801561186d573d6000803e3d6000fd5b505050506040513d602081101561188357600080fd5b5051155b6118c25760405162461bcd60e51b8152600401808060200182810382526036815260200180611c096036913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526106a3908490611750565b6060611923848460008561192d565b90505b9392505050565b60608247101561196e5760405162461bcd60e51b8152600401808060200182810382526026815260200180611b936026913960400191505060405180910390fd5b61197785611a89565b6119c8576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b60208310611a075780518252601f1990920191602091820191016119e8565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114611a69576040519150601f19603f3d011682016040523d82523d6000602084013e611a6e565b606091505b5091509150611a7e828286611a8f565b979650505050505050565b3b151590565b60608315611a9e575081611926565b825115611aae5782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611af8578181015183820152602001611ae0565b50505050905090810190601f168015611b255780820380516001836020036101000a031916815260200191505b509250505060405180910390fdfe5f5f72656d6f7665436f6c6c61746572616c4173736574733a20496e76616c696420636f6c6c61746572616c2061737365745f5f7265706179426f72726f7765644173736574733a20496e76616c696420626f72726f776564206173736574416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c7265636569766543616c6c46726f6d5661756c743a20496e76616c696420616374696f6e49645361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e6365a164736f6c634300060c000a", "sourceMap": "1087:8906:89:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9028:154;;;;;;;;;;;;;;;;-1:-1:-1;9028:154:89;-1:-1:-1;;;;;9028:154:89;;:::i;:::-;;;;;;;;;;;;;;;;;;2047:48;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2047:48:89;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2047:48:89;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2047:48:89;;-1:-1:-1;2047:48:89;;-1:-1:-1;;;;;2047:48:89:i;:::-;;9348:141;;;;;;;;;;;;;;;;-1:-1:-1;9348:141:89;-1:-1:-1;;;;;9348:141:89;;:::i;9779:212::-;;;;;;;;;;;;;;;;-1:-1:-1;9779:212:89;-1:-1:-1;;;;;9779:212:89;;:::i;:::-;;;;-1:-1:-1;;;;;9779:212:89;;;;;;;;;;;;;;8391:407;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2223:803;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2223:803:89;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2223:803:89;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2223:803:89;;-1:-1:-1;2223:803:89;;-1:-1:-1;;;;;2223:803:89:i;7789:423::-;;;:::i;9028:154::-;9090:16;;9125:36;9154:6;9125:28;:36::i;:::-;-1:-1:-1;;;;;9125:50:89;;;;9028:154;-1:-1:-1;;9028:154:89:o;2047:48::-;;:::o;9348:141::-;9412:18;9449:33;9475:6;9449:16;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9449:25:89;;;;;;;;;;;;;;;;;;;;;;;:33;;;;:::i;:::-;9442:40;9348:141;-1:-1:-1;;9348:141:89:o;9779:212::-;-1:-1:-1;;;;;9944:40:89;;;9903:18;9944:40;;;:24;:40;;;;;;;;9779:212::o;8391:407::-;8470:24;8496:25;8547:16;8537:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8537:26:89;;;;;;;;;;;;;;;;-1:-1:-1;;8598:16:89;:23;8537:26;;-1:-1:-1;;8584:38:89;;;;-1:-1:-1;;8584:38:89;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8584:38:89;;8573:49;;8638:9;8633:122;8653:7;:14;8649:1;:18;8633:122;;;8708:7;8716:1;8708:10;;;;;;;;;;;;;;-1:-1:-1;;;;;8702:27:89;;8738:4;8702:42;;;;;;;;;;;;;-1:-1:-1;;;;;8702:42:89;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8702:42:89;8688:11;;:8;;8697:1;;8688:11;;;;;;;;;;;;;;;:56;8669:3;;8633:122;;;;8391:407;;:::o;2223:803::-;2308:16;2326:23;2364:11;2353:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2353:41:89;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2353:41:89;;;;;;-1:-1:-1;2353:41:89;;;;;;;;;;-1:-1:-1;2353:41:89;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2307:87;;;;2429:21;2421:30;;;;;;;;2409:8;:42;2405:615;;;2467:33;2489:10;2467:21;:33::i;:::-;2405:615;;;2541:24;2521:8;:45;2517:503;;;2582:36;2607:10;2582:24;:36::i;2517:503::-;2659:14;2639:8;:35;2635:385;;;2690:26;2705:10;2690:14;:26::i;2635:385::-;2757:19;2737:8;:40;2733:287;;;2793:33;2815:10;2793:21;:33::i;2733:287::-;2867:20;2847:8;:41;2843:177;;;2904:26;2919:10;2904:14;:26::i;2843:177::-;2961:48;;-1:-1:-1;;;2961:48:89;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2843:177;2223:803;;;:::o;7789:423::-;7865:24;7891:25;7942:14;7932:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7932:24:89;;;;;;;;;;;;;;;;;;;;;;;7991:7;:14;7977:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7977:29:89;;7966:40;;8022:9;8017:152;8037:7;:14;8033:1;:18;8017:152;;;8092:40;8121:7;8129:1;8121:10;;;;;;;;;;;;;;8092:28;:40::i;:::-;-1:-1:-1;;;;;8086:57:89;;8152:4;8086:72;;;;;;;;;;;;;-1:-1:-1;;;;;8086:72:89;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8086:72:89;8072:11;;:8;;8081:1;;8072:11;;;;;;;;;;;;;;;:86;8053:3;;8017:152;;2489:299:354;2595:17;2633:9;2628:132;2648:5;:12;2644:1;:16;2628:132;;;2696:5;2702:1;2696:8;;;;;;;;;;;;;;-1:-1:-1;;;;;2685:19:354;:7;-1:-1:-1;;;;;2685:19:354;;2681:69;;;2731:4;2724:11;;;;;2681:69;2662:3;;2628:132;;;-1:-1:-1;2776:5:354;;2489:299;-1:-1:-1;;;2489:299:354:o;3085:387:89:-;3160:24;3190:43;3222:10;3190:31;:43::i;:::-;3159:74;;;3249:9;3244:222;3264:7;:14;3260:1;:18;3244:222;;;3304:29;3322:7;3330:1;3322:10;;;;;;;;;;;;;;3304:17;:29::i;:::-;3299:157;;3353:16;3375:7;3383:1;3375:10;;;;;;;;;;;;;;;;;;;3353:33;;;;;;;-1:-1:-1;3353:33:89;;;;;;;;;;-1:-1:-1;;;;;;3353:33:89;-1:-1:-1;;;;;3353:33:89;;;;;;;;;3430:10;;;;3438:1;;3430:10;;;;;;;;;;;;-1:-1:-1;;;;;3409:32:89;;;;;;;;;;;3299:157;3280:3;;3244:222;;5106:979;5184:24;5210;5238:68;5286:10;5238:34;:68::i;:::-;5183:123;;;;5322:9;5317:762;5337:7;:14;5333:1;:18;5317:762;;;5397:29;5415:7;5423:1;5415:10;;;;;;;5397:29;5372:138;;;;-1:-1:-1;;;5372:138:89;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5525:25;5559:7;5567:1;5559:10;;;;;;;;;;;;;;-1:-1:-1;;;;;5553:27:89;;5589:4;5553:42;;;;;;;;;;;;;-1:-1:-1;;;;;5553:42:89;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5553:42:89;5614:10;;5553:42;;-1:-1:-1;;;5628:17:89;5614:7;;5622:1;;5614:10;;;;;;;;;;;;:31;5610:100;;;5678:17;5665:7;5673:1;5665:10;;;;;;;;;;;;;:30;;;;;5610:100;5845:17;5831:7;5839:1;5831:10;;;;;;;;;;;;;;:31;5827:173;;;5882:46;5917:7;5925:1;5917:10;;;;;;;;;;;;;;5882:16;:34;;:46;;;;:::i;:::-;;5974:7;5982:1;5974:10;;;;;;;;;;;;;;-1:-1:-1;;;;;5951:34:89;;;;;;;;;;;5827:173;6014:54;6045:10;6057:7;6065:1;6057:10;;;;;;;;;;;;;;6020:7;6028:1;6020:10;;;;;;;;;;;;;;-1:-1:-1;;;;;6014:30:89;;;:54;;;;;:::i;:::-;-1:-1:-1;5353:3:89;;5317:762;;;;5106:979;;;:::o;3537:1142::-;3605:23;3630:24;3658:36;3683:10;3658:24;:36::i;:::-;3604:90;;;;3705:26;3781:34;-1:-1:-1;;;;;3734:106:89;;:108;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3734:108:89;;-1:-1:-1;3858:9:89;3853:820;3873:6;:13;3869:1;:17;3853:820;;;3926:18;-1:-1:-1;;;;;3907:45:89;;3970:6;3977:1;3970:9;;;;;;;;;;;;;;3997:7;4005:1;3997:10;;;;;;;;;;;;;;1581:1;1346:3;4109:4;3907:221;;;;;;;;;;;;;-1:-1:-1;;;;;3907:221:89;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3907:221:89;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4143:53;4173:10;4185:7;4193:1;4185:10;;;;;;;;;;;;;;4149:6;4156:1;4149:9;;;;;;;4143:53;4216:26;4232:6;4239:1;4232:9;;;;;;;;;;;;;;4216:15;:26::i;:::-;4211:452;;4356:17;4405:18;-1:-1:-1;;;;;4377:94:89;;4472:6;4479:1;4472:9;;;;;;;;;;;;;;4377:105;;;;;;;;;;;;;-1:-1:-1;;;;;4377:105:89;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4377:105:89;;;4525:9;;4377:105;;-1:-1:-1;4377:105:89;;4500:24;;:35;;4525:6;;4532:1;;4525:9;;;;;;;;;;;;-1:-1:-1;;;;;4500:35:89;-1:-1:-1;;;;;4500:35:89;;;;;;;;;;;;;:47;;;;;-1:-1:-1;;;;;4500:47:89;;;;;-1:-1:-1;;;;;4500:47:89;;;;;;4566:14;4586:6;4593:1;4586:9;;;;;;;;;;;;;;;;;;;4566:30;;;;;;;-1:-1:-1;4566:30:89;;;;;;;;;;-1:-1:-1;;;;;;4566:30:89;-1:-1:-1;;;;;4566:30:89;;;;;;;;;4638:9;;;;4645:1;;4638:9;;;;;;;;;;;;-1:-1:-1;;;;;4619:29:89;;;;;;;;;;;4211:452;;3888:3;;3853:820;;;;3537:1142;;;;:::o;6156:1387::-;6231:23;6256:24;6284:63;6327:10;6284:29;:63::i;:::-;6230:117;;;;6358:26;6434:34;-1:-1:-1;;;;;6387:106:89;;:108;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6387:108:89;;-1:-1:-1;6511:9:89;6506:1031;6526:6;:13;6522:1;:17;6506:1031;;;6568:26;6584:6;6591:1;6584:9;;;;;;;6568:26;6560:84;;;;-1:-1:-1;;;6560:84:89;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6659:68;6685:6;6692:1;6685:9;;;;;;;;;;;;;;6696:18;6716:7;6724:1;6716:10;;;;;;;;;;;;;;6659:25;:68::i;:::-;6761:18;-1:-1:-1;;;;;6742:44:89;;6804:6;6811:1;6804:9;;;;;;;;;;;;;;6831:7;6839:1;6831:10;;;;;;;;;;;;;;1581:1;6907:4;6742:184;;;;;;;;;;;;;-1:-1:-1;;;;;6742:184:89;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6742:184:89;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6974:9:89;;6941:24;;6974:6;;6981:1;;6974:9;;;;;;;;;;;;-1:-1:-1;;;;;6968:26:89;;7003:4;6968:41;;;;;;;;;;;;;-1:-1:-1;;;;;6968:41:89;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6968:41:89;;-1:-1:-1;7028:20:89;;7024:118;;7068:59;7098:10;7110:16;7074:6;7081:1;7074:9;;;;;;;7068:59;7265:39;7294:6;7301:1;7294:9;;;;;;;7265:39;-1:-1:-1;;;;;7259:56:89;;7324:4;7259:71;;;;;;;;;;;;;-1:-1:-1;;;;;7259:71:89;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7259:71:89;7255:272;;7362:24;:35;7387:6;7394:1;7387:9;;;;;;;;;;;;;;-1:-1:-1;;;;;7362:35:89;-1:-1:-1;;;;;7362:35:89;;;;;;;;;;;;;7355:42;;;;;-1:-1:-1;;;;;7355:42:89;;;;;7415:43;7448:6;7455:1;7448:9;;;;;;;;;;;;;;7415:14;:32;;:43;;;;:::i;:::-;;7502:6;7509:1;7502:9;;;;;;;;;;;;;;-1:-1:-1;;;;;7481:31:89;;;;;;;;;;;7255:272;-1:-1:-1;6541:3:89;;6506:1031;;4750:306;4817:23;4843:42;4874:10;4843:30;:42::i;:::-;4817:68;;4924:26;-1:-1:-1;;;;;4896:68:89;;4978:6;-1:-1:-1;;5029:10:89;4896:153;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4896:153:89;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4750:306;;:::o;589:243:88:-;703:25;730;789:11;778:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;778:47:88;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;778:47:88;;;;;;;;;;;;-1:-1:-1;778:47:88;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;778:47:88;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;778:47:88;;;;;;;;;;;;-1:-1:-1;778:47:88;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;771:54;;;;589:243;;;:::o;569:515:354:-;727:12;;678:13;;;749:303;769:9;765:1;:13;749:303;;;815:13;-1:-1:-1;;;;;803:25:354;:5;809:1;803:8;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;803:8:354;:25;799:243;;;868:1;856:9;:13;852:1;:17;848:95;;;904:5;922:1;910:9;:13;904:20;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;904:20:354;893:5;899:1;893:8;;;;;;;;;;;;;;;;:31;;;;;-1:-1:-1;;;;;893:31:354;;;;;-1:-1:-1;;;;;893:31:354;;;;;;848:95;960:5;:11;;;;;;;;;;;;;;;;-1:-1:-1;;960:11:354;;;;;-1:-1:-1;;;;;;960:11:354;;;;;;;;-1:-1:-1;1022:5:354;;799:243;780:3;;749:303;;;;1062:15;569:515;;;;:::o;704:175:450:-;813:58;;;-1:-1:-1;;;;;813:58:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;813:58:450;-1:-1:-1;;;813:58:450;;;786:86;;806:5;;786:19;:86::i;2554:434:355:-;2714:47;;;-1:-1:-1;;;2714:47:355;;2746:4;2714:47;;;;-1:-1:-1;;;;;2714:47:355;;;;;;;;;2694:17;;2714:23;;;;;:47;;;;;;;;;;;;;;:23;:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2714:47:355;;-1:-1:-1;2775:25:355;;;2771:211;;;2820:13;;2816:89;;2853:37;-1:-1:-1;;;;;2853:25:355;;2879:7;2888:1;2853:25;:37::i;:::-;2918:53;-1:-1:-1;;;;;2918:25:355;;2944:7;-1:-1:-1;;2918:25:355;:53::i;1215:203:88:-;1328:24;1386:11;1375:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1375:36:88;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1375:36:88;;;;;;;;;;;;-1:-1:-1;1375:36:88;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1368:43;;1215:203;;;:::o;2967:751:450:-;3386:23;3412:69;3440:4;3412:69;;;;;;;;;;;;;;;;;3420:5;-1:-1:-1;;;;;3412:27:450;;;:69;;;;;:::i;:::-;3495:17;;3386:95;;-1:-1:-1;3495:21:450;3491:221;;3635:10;3624:30;;;;;;;;;;;;;;;-1:-1:-1;3624:30:450;3616:85;;;;-1:-1:-1;;;3616:85:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1348:613;1713:10;;;1712:62;;-1:-1:-1;1729:39:450;;;-1:-1:-1;;;1729:39:450;;1753:4;1729:39;;;;-1:-1:-1;;;;;1729:39:450;;;;;;;;;:15;;;;;;:39;;;;;;;;;;;;;;;:15;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1729:39:450;:44;1712:62;1704:150;;;;-1:-1:-1;;;1704:150:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1891:62;;;-1:-1:-1;;;;;1891:62:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1891:62:450;-1:-1:-1;;;1891:62:450;;;1864:90;;1884:5;;1864:19;:90::i;3581:193:451:-;3684:12;3715:52;3737:6;3745:4;3751:1;3754:12;3715:21;:52::i;:::-;3708:59;;3581:193;;;;;;:::o;4608:523::-;4735:12;4792:5;4767:21;:30;;4759:81;;;;-1:-1:-1;;;4759:81:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4858:18;4869:6;4858:10;:18::i;:::-;4850:60;;;;;-1:-1:-1;;;4850:60:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;4981:12;4995:23;5022:6;-1:-1:-1;;;;;5022:11:451;5042:5;5050:4;5022:33;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5022:33:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4980:75;;;;5072:52;5090:7;5099:10;5111:12;5072:17;:52::i;:::-;5065:59;4608:523;-1:-1:-1;;;;;;;4608:523:451:o;726:413::-;1086:20;1124:8;;;726:413::o;7091:725::-;7206:12;7234:7;7230:580;;;-1:-1:-1;7264:10:451;7257:17;;7230:580;7375:17;;:21;7371:429;;7633:10;7627:17;7693:15;7680:10;7676:2;7672:19;7665:44;7582:145;7772:12;7765:20;;-1:-1:-1;;;7765:20:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;", "linkReferences": {}, "immutableReferences": { "19980": [ { "start": 3317, "length": 32 } ], "19982": [ { "start": 4764, "length": 32 } ], "19984": [ { "start": 2912, "length": 32 }, { "start": 3776, "length": 32 } ] } }, "methodIdentifiers": { "assetIsBorrowed(address)": "44c72102", "assetIsCollateral(address)": "4eeb4a16", "getDebtAssets()": "ecd658b4", "getDebtTokenForBorrowedAsset(address)": "66b4c5d1", "getManagedAssets()": "80daddb8", "init(bytes)": "4ddf47d4", "receiveCallFromVault(bytes)": "e5c23a97" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_aaveDataProvider\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_aaveLendingPoolAddressProvider\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_aaveIncentivesController\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"asset\",\"type\":\"address\"}],\"name\":\"BorrowedAssetAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"asset\",\"type\":\"address\"}],\"name\":\"BorrowedAssetRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"asset\",\"type\":\"address\"}],\"name\":\"CollateralAssetAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"asset\",\"type\":\"address\"}],\"name\":\"CollateralAssetRemoved\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"}],\"name\":\"assetIsBorrowed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isBorrowed_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"}],\"name\":\"assetIsCollateral\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isCollateral_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDebtAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"assets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_borrowedAsset\",\"type\":\"address\"}],\"name\":\"getDebtTokenForBorrowedAsset\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"debtToken_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getManagedAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"assets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"}],\"name\":\"receiveCallFromVault\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"assetIsBorrowed(address)\":{\"details\":\"Checks whether an asset is borrowed\",\"returns\":{\"isBorrowed_\":\"True if the asset is part of the borrowed assets of the external position\"}},\"assetIsCollateral(address)\":{\"returns\":{\"isCollateral_\":\"True if the asset is part of the collateral assets of the external position\"}},\"getDebtAssets()\":{\"returns\":{\"amounts_\":\"Debt asset amounts\",\"assets_\":\"Debt assets\"}},\"getDebtTokenForBorrowedAsset(address)\":{\"details\":\"Returns empty if _borrowedAsset is not a valid borrowed asset\",\"params\":{\"_borrowedAsset\":\"The asset that has been borrowed\"},\"returns\":{\"debtToken_\":\"The associated debt token\"}},\"getManagedAssets()\":{\"returns\":{\"amounts_\":\"Managed asset amounts\",\"assets_\":\"Managed assets\"}},\"init(bytes)\":{\"details\":\"Nothing to initialize for this contract\"},\"receiveCallFromVault(bytes)\":{\"params\":{\"_actionData\":\"Encoded data to execute the action\"}}},\"title\":\"AaveDebtPositionLib Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"assetIsCollateral(address)\":{\"notice\":\"Checks whether an asset is collateral\"},\"getDebtAssets()\":{\"notice\":\"Retrieves the debt assets (negative value) of the external position\"},\"getDebtTokenForBorrowedAsset(address)\":{\"notice\":\"Gets the debt token associated with a specified asset that has been borrowed\"},\"getManagedAssets()\":{\"notice\":\"Retrieves the managed assets (positive value) of the external position\"},\"init(bytes)\":{\"notice\":\"Initializes the external position\"},\"receiveCallFromVault(bytes)\":{\"notice\":\"Receives and executes a call from the Vault\"}},\"notice\":\"An External Position library contract for Aave debt positions\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/aave-v2-debt/AaveDebtPositionLib.sol\":\"AaveDebtPositionLib\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/persistent/external-positions/aave-v2-debt/AaveDebtPositionLibBase1.sol\":{\"keccak256\":\"0xe7491637ebf268090a5faabf6206758411380ee6c2d1c248d8d102d4f511b20e\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://aa05f486976a51ae761ed90eb4bafd2f79afb38ebae65504e61cdee1f21995c9\",\"dweb:/ipfs/QmQAUNjxcXA3YtfVDTQ1CjVn86Sj2MZRJrypMp4mhGMTFy\"]},\"contracts/release/extensions/external-position-manager/external-positions/aave-v2-debt/AaveDebtPositionDataDecoder.sol\":{\"keccak256\":\"0xa36c19f944dec6f5d504873abe1c9261f9c83a9915bd73d79620e66135263e62\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf64d33f97d3d8061c0cf06d168fa3f7bedadbee58ab1fe2aaf2daf0f162dc29\",\"dweb:/ipfs/Qmf7KQeazGnccc2DoUNujJ7KrmsefAn4n6k19rBSgAqXFt\"]},\"contracts/release/extensions/external-position-manager/external-positions/aave-v2-debt/AaveDebtPositionLib.sol\":{\"keccak256\":\"0xa5d0e0ffa076aebf9d6222e95d328da4cc694344d37d611fb89e4e7c87863675\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://605cb01a77d9716e857c256a5c240c01cf22401bbf56e62bb44f76d33260a49d\",\"dweb:/ipfs/QmYQbrBtEnWCteQHxVwHjVPSYkg59cTwBpV9vYoiRscocE\"]},\"contracts/release/extensions/external-position-manager/external-positions/aave-v2-debt/IAaveDebtPosition.sol\":{\"keccak256\":\"0x985176b234fc2cd4d67def55a7fc5579f79e8df6c3c95de5a88e33c8f0bab945\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://4fd89871e75f2c98641f76494cb8f08a3be719209031fc454e482e586932e5b3\",\"dweb:/ipfs/QmSZMLWuvyWNFJNWKvChPn9fmr9YVb2L2D3ZMPBBhYWndf\"]},\"contracts/release/interfaces/IAaveV2IncentivesController.sol\":{\"keccak256\":\"0xe5cabf85bd2ca655a4d78416b0412871c9f677b41f3917148dead1d40aa92950\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://4116b8dc230967b226daed9d0f75eee0a2d8b45e6fe0e2762c60cf1f7d035759\",\"dweb:/ipfs/QmNjcmFDt6Biy5uYS9topvZ9VGLYTeXEvdscamKBASVVW4\"]},\"contracts/release/interfaces/IAaveV2LendingPool.sol\":{\"keccak256\":\"0xe9398d0cd11197b955d282c88a345a481cadc70fea502f7b3362234a62b64257\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://569315086744d75b6140ed19dbf53117b07ff986ea524cc6ade31820bee66d3b\",\"dweb:/ipfs/QmeBHxBHYRmBq5nUnxoqQgZ4FDUMcXnzFu6X8Qb96fwdU9\"]},\"contracts/release/interfaces/IAaveV2LendingPoolAddressProvider.sol\":{\"keccak256\":\"0xf383db1b24ec2f4bb4946422696dfeac769aa36bf692efedbf3e38e368ac5284\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://e9c8ffde2206d37a0c31566677b15eedcbb90ae3e5a131a6c811f3056c176591\",\"dweb:/ipfs/QmPkc8wVGU7VPe9BAUQA6r66w7jC3m5T3UyFW4i4zhLxEZ\"]},\"contracts/release/interfaces/IAaveV2ProtocolDataProvider.sol\":{\"keccak256\":\"0xe4fb2b7e6acb9962c5269b615a76d351dcf6733a5e53f35f53afffde63e41571\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2261270cf6ea8748b0e8ca333434a33d4e353f4397155c4560336489c4022a90\",\"dweb:/ipfs/QmPUqkSp4XuUjTEYysNRuhgW1Dnyy3sgYwy6rMqyVMeKRS\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_aaveDataProvider", "type": "address" }, { "internalType": "address", "name": "_aaveLendingPoolAddressProvider", "type": "address" }, { "internalType": "address", "name": "_aaveIncentivesController", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "asset", "type": "address", "indexed": true } ], "type": "event", "name": "BorrowedAssetAdded", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "asset", "type": "address", "indexed": true } ], "type": "event", "name": "BorrowedAssetRemoved", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "asset", "type": "address", "indexed": true } ], "type": "event", "name": "CollateralAssetAdded", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "asset", "type": "address", "indexed": true } ], "type": "event", "name": "CollateralAssetRemoved", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "_asset", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "assetIsBorrowed", "outputs": [ { "internalType": "bool", "name": "isBorrowed_", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "_asset", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "assetIsCollateral", "outputs": [ { "internalType": "bool", "name": "isCollateral_", "type": "bool" } ] }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "getDebtAssets", "outputs": [ { "internalType": "address[]", "name": "assets_", "type": "address[]" }, { "internalType": "uint256[]", "name": "amounts_", "type": "uint256[]" } ] }, { "inputs": [ { "internalType": "address", "name": "_borrowedAsset", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getDebtTokenForBorrowedAsset", "outputs": [ { "internalType": "address", "name": "debtToken_", "type": "address" } ] }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "getManagedAssets", "outputs": [ { "internalType": "address[]", "name": "assets_", "type": "address[]" }, { "internalType": "uint256[]", "name": "amounts_", "type": "uint256[]" } ] }, { "inputs": [ { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "init" }, { "inputs": [ { "internalType": "bytes", "name": "_actionData", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "receiveCallFromVault" } ], "devdoc": { "kind": "dev", "methods": { "assetIsBorrowed(address)": { "details": "Checks whether an asset is borrowed", "returns": { "isBorrowed_": "True if the asset is part of the borrowed assets of the external position" } }, "assetIsCollateral(address)": { "returns": { "isCollateral_": "True if the asset is part of the collateral assets of the external position" } }, "getDebtAssets()": { "returns": { "amounts_": "Debt asset amounts", "assets_": "Debt assets" } }, "getDebtTokenForBorrowedAsset(address)": { "details": "Returns empty if _borrowedAsset is not a valid borrowed asset", "params": { "_borrowedAsset": "The asset that has been borrowed" }, "returns": { "debtToken_": "The associated debt token" } }, "getManagedAssets()": { "returns": { "amounts_": "Managed asset amounts", "assets_": "Managed assets" } }, "init(bytes)": { "details": "Nothing to initialize for this contract" }, "receiveCallFromVault(bytes)": { "params": { "_actionData": "Encoded data to execute the action" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "assetIsCollateral(address)": { "notice": "Checks whether an asset is collateral" }, "getDebtAssets()": { "notice": "Retrieves the debt assets (negative value) of the external position" }, "getDebtTokenForBorrowedAsset(address)": { "notice": "Gets the debt token associated with a specified asset that has been borrowed" }, "getManagedAssets()": { "notice": "Retrieves the managed assets (positive value) of the external position" }, "init(bytes)": { "notice": "Initializes the external position" }, "receiveCallFromVault(bytes)": { "notice": "Receives and executes a call from the Vault" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/external-position-manager/external-positions/aave-v2-debt/AaveDebtPositionLib.sol": "AaveDebtPositionLib" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/external-positions/IExternalPosition.sol": { "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", "urls": [ "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" ], "license": "GPL-3.0" }, "contracts/persistent/external-positions/aave-v2-debt/AaveDebtPositionLibBase1.sol": { "keccak256": "0xe7491637ebf268090a5faabf6206758411380ee6c2d1c248d8d102d4f511b20e", "urls": [ "bzz-raw://aa05f486976a51ae761ed90eb4bafd2f79afb38ebae65504e61cdee1f21995c9", "dweb:/ipfs/QmQAUNjxcXA3YtfVDTQ1CjVn86Sj2MZRJrypMp4mhGMTFy" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/aave-v2-debt/AaveDebtPositionDataDecoder.sol": { "keccak256": "0xa36c19f944dec6f5d504873abe1c9261f9c83a9915bd73d79620e66135263e62", "urls": [ "bzz-raw://bf64d33f97d3d8061c0cf06d168fa3f7bedadbee58ab1fe2aaf2daf0f162dc29", "dweb:/ipfs/Qmf7KQeazGnccc2DoUNujJ7KrmsefAn4n6k19rBSgAqXFt" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/aave-v2-debt/AaveDebtPositionLib.sol": { "keccak256": "0xa5d0e0ffa076aebf9d6222e95d328da4cc694344d37d611fb89e4e7c87863675", "urls": [ "bzz-raw://605cb01a77d9716e857c256a5c240c01cf22401bbf56e62bb44f76d33260a49d", "dweb:/ipfs/QmYQbrBtEnWCteQHxVwHjVPSYkg59cTwBpV9vYoiRscocE" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/aave-v2-debt/IAaveDebtPosition.sol": { "keccak256": "0x985176b234fc2cd4d67def55a7fc5579f79e8df6c3c95de5a88e33c8f0bab945", "urls": [ "bzz-raw://4fd89871e75f2c98641f76494cb8f08a3be719209031fc454e482e586932e5b3", "dweb:/ipfs/QmSZMLWuvyWNFJNWKvChPn9fmr9YVb2L2D3ZMPBBhYWndf" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IAaveV2IncentivesController.sol": { "keccak256": "0xe5cabf85bd2ca655a4d78416b0412871c9f677b41f3917148dead1d40aa92950", "urls": [ "bzz-raw://4116b8dc230967b226daed9d0f75eee0a2d8b45e6fe0e2762c60cf1f7d035759", "dweb:/ipfs/QmNjcmFDt6Biy5uYS9topvZ9VGLYTeXEvdscamKBASVVW4" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IAaveV2LendingPool.sol": { "keccak256": "0xe9398d0cd11197b955d282c88a345a481cadc70fea502f7b3362234a62b64257", "urls": [ "bzz-raw://569315086744d75b6140ed19dbf53117b07ff986ea524cc6ade31820bee66d3b", "dweb:/ipfs/QmeBHxBHYRmBq5nUnxoqQgZ4FDUMcXnzFu6X8Qb96fwdU9" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IAaveV2LendingPoolAddressProvider.sol": { "keccak256": "0xf383db1b24ec2f4bb4946422696dfeac769aa36bf692efedbf3e38e368ac5284", "urls": [ "bzz-raw://e9c8ffde2206d37a0c31566677b15eedcbb90ae3e5a131a6c811f3056c176591", "dweb:/ipfs/QmPkc8wVGU7VPe9BAUQA6r66w7jC3m5T3UyFW4i4zhLxEZ" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IAaveV2ProtocolDataProvider.sol": { "keccak256": "0xe4fb2b7e6acb9962c5269b615a76d351dcf6733a5e53f35f53afffde63e41571", "urls": [ "bzz-raw://2261270cf6ea8748b0e8ca333434a33d4e353f4397155c4560336489c4022a90", "dweb:/ipfs/QmPUqkSp4XuUjTEYysNRuhgW1Dnyy3sgYwy6rMqyVMeKRS" ], "license": "GPL-3.0" }, "contracts/release/utils/AddressArrayLib.sol": { "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", "urls": [ "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" ], "license": "GPL-3.0" }, "contracts/release/utils/AssetHelpers.sol": { "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", "urls": [ "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", "urls": [ "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Address.sol": { "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", "urls": [ "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" } }, "version": 1 }, "id": 89 } diff --git a/eth_defi/abi/enzyme/AaveDebtPositionLibBase1.json b/eth_defi/abi/enzyme/AaveDebtPositionLibBase1.json index 891de005..4ba959a4 100644 --- a/eth_defi/abi/enzyme/AaveDebtPositionLibBase1.json +++ b/eth_defi/abi/enzyme/AaveDebtPositionLibBase1.json @@ -1,184 +1 @@ -{ - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "asset", - "type": "address" - } - ], - "name": "BorrowedAssetAdded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "asset", - "type": "address" - } - ], - "name": "BorrowedAssetRemoved", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "asset", - "type": "address" - } - ], - "name": "CollateralAssetAdded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "asset", - "type": "address" - } - ], - "name": "CollateralAssetRemoved", - "type": "event" - } - ], - "bytecode": { - "object": "0x6080604052348015600f57600080fd5b50601680601d6000396000f3fe6080604052600080fdfea164736f6c634300060c000a", - "sourceMap": "758:511:27:-:0;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x6080604052600080fdfea164736f6c634300060c000a", - "sourceMap": "758:511:27:-:0;;;;;", - "linkReferences": {} - }, - "methodIdentifiers": {}, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"asset\",\"type\":\"address\"}],\"name\":\"BorrowedAssetAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"asset\",\"type\":\"address\"}],\"name\":\"BorrowedAssetRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"asset\",\"type\":\"address\"}],\"name\":\"CollateralAssetAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"asset\",\"type\":\"address\"}],\"name\":\"CollateralAssetRemoved\",\"type\":\"event\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"DO NOT EDIT CONTRACT. If new events or storage are necessary, they should be added to a numbered AaveDebtPositionLibBaseXXX that inherits the previous base. e.g., `AaveDebtPositionLibBase2 is AaveDebtPositionLibBase1`\",\"kind\":\"dev\",\"methods\":{},\"title\":\"AaveDebtPositionLibBase1 Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"A persistent contract containing all required storage variables and required functions for a AaveDebtPositionLib implementation\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/external-positions/aave-v2-debt/AaveDebtPositionLibBase1.sol\":\"AaveDebtPositionLibBase1\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/external-positions/aave-v2-debt/AaveDebtPositionLibBase1.sol\":{\"keccak256\":\"0xe7491637ebf268090a5faabf6206758411380ee6c2d1c248d8d102d4f511b20e\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://aa05f486976a51ae761ed90eb4bafd2f79afb38ebae65504e61cdee1f21995c9\",\"dweb:/ipfs/QmQAUNjxcXA3YtfVDTQ1CjVn86Sj2MZRJrypMp4mhGMTFy\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "asset", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "BorrowedAssetAdded", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "asset", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "BorrowedAssetRemoved", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "asset", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "CollateralAssetAdded", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "asset", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "CollateralAssetRemoved", - "anonymous": false - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/persistent/external-positions/aave-v2-debt/AaveDebtPositionLibBase1.sol": "AaveDebtPositionLibBase1" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/external-positions/aave-v2-debt/AaveDebtPositionLibBase1.sol": { - "keccak256": "0xe7491637ebf268090a5faabf6206758411380ee6c2d1c248d8d102d4f511b20e", - "urls": [ - "bzz-raw://aa05f486976a51ae761ed90eb4bafd2f79afb38ebae65504e61cdee1f21995c9", - "dweb:/ipfs/QmQAUNjxcXA3YtfVDTQ1CjVn86Sj2MZRJrypMp4mhGMTFy" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 27 -} +{ "abi": [ { "type": "event", "name": "BorrowedAssetAdded", "inputs": [ { "name": "asset", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "BorrowedAssetRemoved", "inputs": [ { "name": "asset", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "CollateralAssetAdded", "inputs": [ { "name": "asset", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "CollateralAssetRemoved", "inputs": [ { "name": "asset", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false } ], "bytecode": { "object": "0x6080604052348015600f57600080fd5b50601680601d6000396000f3fe6080604052600080fdfea164736f6c634300060c000a", "sourceMap": "758:511:27:-:0;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x6080604052600080fdfea164736f6c634300060c000a", "sourceMap": "758:511:27:-:0;;;;;", "linkReferences": {} }, "methodIdentifiers": {}, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"asset\",\"type\":\"address\"}],\"name\":\"BorrowedAssetAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"asset\",\"type\":\"address\"}],\"name\":\"BorrowedAssetRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"asset\",\"type\":\"address\"}],\"name\":\"CollateralAssetAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"asset\",\"type\":\"address\"}],\"name\":\"CollateralAssetRemoved\",\"type\":\"event\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"DO NOT EDIT CONTRACT. If new events or storage are necessary, they should be added to a numbered AaveDebtPositionLibBaseXXX that inherits the previous base. e.g., `AaveDebtPositionLibBase2 is AaveDebtPositionLibBase1`\",\"kind\":\"dev\",\"methods\":{},\"title\":\"AaveDebtPositionLibBase1 Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"A persistent contract containing all required storage variables and required functions for a AaveDebtPositionLib implementation\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/external-positions/aave-v2-debt/AaveDebtPositionLibBase1.sol\":\"AaveDebtPositionLibBase1\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/external-positions/aave-v2-debt/AaveDebtPositionLibBase1.sol\":{\"keccak256\":\"0xe7491637ebf268090a5faabf6206758411380ee6c2d1c248d8d102d4f511b20e\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://aa05f486976a51ae761ed90eb4bafd2f79afb38ebae65504e61cdee1f21995c9\",\"dweb:/ipfs/QmQAUNjxcXA3YtfVDTQ1CjVn86Sj2MZRJrypMp4mhGMTFy\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "asset", "type": "address", "indexed": true } ], "type": "event", "name": "BorrowedAssetAdded", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "asset", "type": "address", "indexed": true } ], "type": "event", "name": "BorrowedAssetRemoved", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "asset", "type": "address", "indexed": true } ], "type": "event", "name": "CollateralAssetAdded", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "asset", "type": "address", "indexed": true } ], "type": "event", "name": "CollateralAssetRemoved", "anonymous": false } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/persistent/external-positions/aave-v2-debt/AaveDebtPositionLibBase1.sol": "AaveDebtPositionLibBase1" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/external-positions/aave-v2-debt/AaveDebtPositionLibBase1.sol": { "keccak256": "0xe7491637ebf268090a5faabf6206758411380ee6c2d1c248d8d102d4f511b20e", "urls": [ "bzz-raw://aa05f486976a51ae761ed90eb4bafd2f79afb38ebae65504e61cdee1f21995c9", "dweb:/ipfs/QmQAUNjxcXA3YtfVDTQ1CjVn86Sj2MZRJrypMp4mhGMTFy" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 27 } diff --git a/eth_defi/abi/enzyme/AaveDebtPositionParser.json b/eth_defi/abi/enzyme/AaveDebtPositionParser.json index 6a1e7b60..379b7ddb 100644 --- a/eth_defi/abi/enzyme/AaveDebtPositionParser.json +++ b/eth_defi/abi/enzyme/AaveDebtPositionParser.json @@ -1,398 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_valueInterpreter", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_externalPosition", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_actionId", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_encodedActionArgs", - "type": "bytes" - } - ], - "name": "parseAssetsForAction", - "outputs": [ - { - "internalType": "address[]", - "name": "assetsToTransfer_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "amountsToTransfer_", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "assetsToReceive_", - "type": "address[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "parseInitArgs", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x60a060405234801561001057600080fd5b506040516107a63803806107a68339818101604052602081101561003357600080fd5b5051606081901b6001600160601b0319166080526001600160a01b031661073f61006760003980610615525061073f6000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063bbd2d6461461003b578063db16c72e146101d2575b600080fd5b6100f46004803603606081101561005157600080fd5b6001600160a01b0382351691602081013591810190606081016040820135600160201b81111561008057600080fd5b82018360208201111561009257600080fd5b803590602001918460018302840111600160201b831117156100b357600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506102fb945050505050565b60405180806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b8381101561013c578181015183820152602001610124565b50505050905001848103835286818151815260200191508051906020019060200280838360005b8381101561017b578181015183820152602001610163565b50505050905001848103825285818151815260200191508051906020019060200280838360005b838110156101ba5781810151838201526020016101a2565b50505050905001965050505050505060405180910390f35b610286600480360360408110156101e857600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561021257600080fd5b82018360208201111561022457600080fd5b803590602001918460018302840111600160201b8311171561024557600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506104ce945050505050565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102c05781810151838201526020016102a8565b50505050905090810190601f1680156102ed5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b60608080846103205761030d846104d6565b909350915061031b83610607565b6104c5565b600285141561033e57610332846104d6565b50905061031b81610607565b600185141561035857610350846104d6565b5090506104c5565b60038514156104c55761036a846104d6565b909350915060005b83518110156104c35760001983828151811061038a57fe5b602002602001015114156104bb576000876001600160a01b03166366b4c5d18684815181106103b557fe5b60200260200101516040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156103fa57600080fd5b505afa15801561040e573d6000803e3d6000fd5b505050506040513d602081101561042457600080fd5b5051604080516370a0823160e01b81526001600160a01b038b811660048301529151929350908316916370a0823191602480820192602092909190829003018186803b15801561047357600080fd5b505afa158015610487573d6000803e3d6000fd5b505050506040513d602081101561049d57600080fd5b505184518590849081106104ad57fe5b602002602001018181525050505b600101610372565b505b93509350939050565b606092915050565b6060808280602001905160408110156104ee57600080fd5b8101908080516040519392919084600160201b82111561050d57600080fd5b90830190602082018581111561052257600080fd5b82518660208202830111600160201b8211171561053e57600080fd5b82525081516020918201928201910280838360005b8381101561056b578181015183820152602001610553565b5050505090500160405260200180516040519392919084600160201b82111561059357600080fd5b9083019060208201858111156105a857600080fd5b82518660208202830111600160201b821117156105c457600080fd5b82525081516020918201928201910280838360005b838110156105f15781810151838201526020016105d9565b5050505090500160405250505091509150915091565b60005b8151811015610702577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316639be918e683838151811061064e57fe5b60200260200101516040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561069357600080fd5b505afa1580156106a7573d6000803e3d6000fd5b505050506040513d60208110156106bd57600080fd5b50516106fa5760405162461bcd60e51b815260040180806020018281038252602c815260200180610707602c913960400191505060405180910390fd5b60010161060a565b505056fe5f5f76616c6964617465537570706f727465644173736574733a20556e737570706f72746564206173736574a164736f6c634300060c000a", - "sourceMap": "606:4120:90:-:0;;;750:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;750:100:90;806:37;;;;-1:-1:-1;;;;;;806:37:90;;;-1:-1:-1;;;;;606:4120:90;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c8063bbd2d6461461003b578063db16c72e146101d2575b600080fd5b6100f46004803603606081101561005157600080fd5b6001600160a01b0382351691602081013591810190606081016040820135600160201b81111561008057600080fd5b82018360208201111561009257600080fd5b803590602001918460018302840111600160201b831117156100b357600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506102fb945050505050565b60405180806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b8381101561013c578181015183820152602001610124565b50505050905001848103835286818151815260200191508051906020019060200280838360005b8381101561017b578181015183820152602001610163565b50505050905001848103825285818151815260200191508051906020019060200280838360005b838110156101ba5781810151838201526020016101a2565b50505050905001965050505050505060405180910390f35b610286600480360360408110156101e857600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561021257600080fd5b82018360208201111561022457600080fd5b803590602001918460018302840111600160201b8311171561024557600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506104ce945050505050565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102c05781810151838201526020016102a8565b50505050905090810190601f1680156102ed5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b60608080846103205761030d846104d6565b909350915061031b83610607565b6104c5565b600285141561033e57610332846104d6565b50905061031b81610607565b600185141561035857610350846104d6565b5090506104c5565b60038514156104c55761036a846104d6565b909350915060005b83518110156104c35760001983828151811061038a57fe5b602002602001015114156104bb576000876001600160a01b03166366b4c5d18684815181106103b557fe5b60200260200101516040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156103fa57600080fd5b505afa15801561040e573d6000803e3d6000fd5b505050506040513d602081101561042457600080fd5b5051604080516370a0823160e01b81526001600160a01b038b811660048301529151929350908316916370a0823191602480820192602092909190829003018186803b15801561047357600080fd5b505afa158015610487573d6000803e3d6000fd5b505050506040513d602081101561049d57600080fd5b505184518590849081106104ad57fe5b602002602001018181525050505b600101610372565b505b93509350939050565b606092915050565b6060808280602001905160408110156104ee57600080fd5b8101908080516040519392919084600160201b82111561050d57600080fd5b90830190602082018581111561052257600080fd5b82518660208202830111600160201b8211171561053e57600080fd5b82525081516020918201928201910280838360005b8381101561056b578181015183820152602001610553565b5050505090500160405260200180516040519392919084600160201b82111561059357600080fd5b9083019060208201858111156105a857600080fd5b82518660208202830111600160201b821117156105c457600080fd5b82525081516020918201928201910280838360005b838110156105f15781810151838201526020016105d9565b5050505090500160405250505091509150915091565b60005b8151811015610702577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316639be918e683838151811061064e57fe5b60200260200101516040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561069357600080fd5b505afa1580156106a7573d6000803e3d6000fd5b505050506040513d60208110156106bd57600080fd5b50516106fa5760405162461bcd60e51b815260040180806020018281038252602c815260200180610707602c913960400191505060405180910390fd5b60010161060a565b505056fe5f5f76616c6964617465537570706f727465644173736574733a20556e737570706f72746564206173736574a164736f6c634300060c000a", - "sourceMap": "606:4120:90:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1397:2654;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1397:2654:90;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1397:2654:90;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1397:2654:90;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1397:2654:90;;-1:-1:-1;1397:2654:90;;-1:-1:-1;;;;;1397:2654:90:i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4227:89;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4227:89:90;;;;;;;;;;;;;;;-1:-1:-1;;;4227:89:90;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4227:89:90;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4227:89:90;;-1:-1:-1;4227:89:90;;-1:-1:-1;;;;;4227:89:90:i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1397:2654;1600:34;;;1759:61;1755:2134;;2042:81;2091:18;2042:31;:81::i;:::-;2000:123;;-1:-1:-1;2000:123:90;-1:-1:-1;2137:44:90;2000:123;2137:25;:44::i;:::-;1755:2134;;;2223:32;2202:9;:54;2198:1691;;;2576:44;2601:18;2576:24;:44::i;:::-;-1:-1:-1;2553:67:90;-1:-1:-1;2634:43:90;2553:67;2634:25;:43::i;2198:1691::-;2719:42;2698:9;:64;2694:1195;;;2868:54;2903:18;2868:34;:54::i;:::-;-1:-1:-1;2845:77:90;-1:-1:-1;2694:1195:90;;;2964:37;2943:9;:59;2939:950;;;3125:79;3172:18;3125:29;:79::i;:::-;3083:121;;-1:-1:-1;3083:121:90;-1:-1:-1;3224:9:90;3219:660;3239:17;:24;3235:1;:28;3219:660;;;-1:-1:-1;;3292:18:90;3311:1;3292:21;;;;;;;;;;;;;;:42;3288:577;;;3623:17;3661;-1:-1:-1;;;;;3643:90:90;;3734:17;3752:1;3734:20;;;;;;;;;;;;;;3643:112;;;;;;;;;;;;;-1:-1:-1;;;;;3643:112:90;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3643:112:90;3801:45;;;-1:-1:-1;;;3801:45:90;;-1:-1:-1;;;;;3801:45:90;;;;;;;;;3643:112;;-1:-1:-1;3801:26:90;;;;;;:45;;;;;3643:112;;3801:45;;;;;;;;:26;:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3801:45:90;3777:21;;:18;;3796:1;;3777:21;;;;;;;;;;;:69;;;;;3288:577;;3265:3;;3219:660;;;;2939:950;1397:2654;;;;;;;:::o;4227:89::-;4300:12;4227:89;;;;:::o;589:243:88:-;703:25;730;789:11;778:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;778:47:88;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;778:47:88;;;;;;;;;;;;-1:-1:-1;778:47:88;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;778:47:88;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;778:47:88;;;;;;;;;;;;-1:-1:-1;778:47:88;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;771:54;;;;589:243;;;:::o;4400:324:90:-;4489:9;4484:234;4504:7;:14;4500:1;:18;4484:234;;;4582:17;-1:-1:-1;;;;;4564:53:90;;4618:7;4626:1;4618:10;;;;;;;;;;;;;;4564:65;;;;;;;;;;;;;-1:-1:-1;;;;;4564:65:90;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4564:65:90;4539:168;;;;-1:-1:-1;;;4539:168:90;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4520:3;;4484:234;;;;4400:324;:::o", - "linkReferences": {}, - "immutableReferences": { - "20724": [ - { - "start": 1557, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "parseAssetsForAction(address,uint256,bytes)": "bbd2d646", - "parseInitArgs(address,bytes)": "db16c72e" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_valueInterpreter\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_externalPosition\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_actionId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_encodedActionArgs\",\"type\":\"bytes\"}],\"name\":\"parseAssetsForAction\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"assetsToTransfer_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amountsToTransfer_\",\"type\":\"uint256[]\"},{\"internalType\":\"address[]\",\"name\":\"assetsToReceive_\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"parseInitArgs\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"parseAssetsForAction(address,uint256,bytes)\":{\"params\":{\"_actionId\":\"The _actionId for the callOnExternalPosition\",\"_encodedActionArgs\":\"The encoded parameters for the callOnExternalPosition\",\"_externalPosition\":\"The _externalPosition to be called\"},\"returns\":{\"amountsToTransfer_\":\"The amounts to be transferred from the Vault\",\"assetsToReceive_\":\"The assets to be received at the Vault\",\"assetsToTransfer_\":\"The assets to be transferred from the Vault\"}},\"parseInitArgs(address,bytes)\":{\"details\":\"Empty for this external position type\"}},\"title\":\"AaveDebtPositionParser\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"parseAssetsForAction(address,uint256,bytes)\":{\"notice\":\"Parses the assets to send and receive for the callOnExternalPosition\"},\"parseInitArgs(address,bytes)\":{\"notice\":\"Parse and validate input arguments to be used when initializing a newly-deployed ExternalPositionProxy\"}},\"notice\":\"Parser for Aave Debt Positions\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/aave-v2-debt/AaveDebtPositionParser.sol\":\"AaveDebtPositionParser\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/extensions/external-position-manager/external-positions/IExternalPositionParser.sol\":{\"keccak256\":\"0x1662fbd65841ee5e9cf8d5329b9d04c264b24ef68ae1e0484e59a8969b0d2c46\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://580569b0f875e0344db83fae1e72dcc6c0767a049b2a6cc3e4f3c411d2284b27\",\"dweb:/ipfs/QmXFmF9QbcVsPHaBo1iq8sZHYhDkwfkMZpHmLTuJJ37NvZ\"]},\"contracts/release/extensions/external-position-manager/external-positions/aave-v2-debt/AaveDebtPositionDataDecoder.sol\":{\"keccak256\":\"0xa36c19f944dec6f5d504873abe1c9261f9c83a9915bd73d79620e66135263e62\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf64d33f97d3d8061c0cf06d168fa3f7bedadbee58ab1fe2aaf2daf0f162dc29\",\"dweb:/ipfs/Qmf7KQeazGnccc2DoUNujJ7KrmsefAn4n6k19rBSgAqXFt\"]},\"contracts/release/extensions/external-position-manager/external-positions/aave-v2-debt/AaveDebtPositionParser.sol\":{\"keccak256\":\"0xd9fba02a4c5609620b4fa0490ade415d35e209a84dda151a8f195bb25714ab71\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c7050a91e8e96b1fe988cbefe2a82f15f0c76b9188a8c031541c48e0c68dde4f\",\"dweb:/ipfs/QmNvtFCzbw8WmCQB6NeiFHDRXnQCPYuuqkv9i6GmWKHCvE\"]},\"contracts/release/extensions/external-position-manager/external-positions/aave-v2-debt/IAaveDebtPosition.sol\":{\"keccak256\":\"0x985176b234fc2cd4d67def55a7fc5579f79e8df6c3c95de5a88e33c8f0bab945\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://4fd89871e75f2c98641f76494cb8f08a3be719209031fc454e482e586932e5b3\",\"dweb:/ipfs/QmSZMLWuvyWNFJNWKvChPn9fmr9YVb2L2D3ZMPBBhYWndf\"]},\"contracts/release/infrastructure/price-feeds/derivatives/AggregatedDerivativePriceFeedMixin.sol\":{\"keccak256\":\"0x85d2ac39834dae7feb04f0e37317a38b8abeb0f950692fbc9d29078c52cd8d52\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://7bf8f1ce064d85a2812a944fc93068955b233924097f7f45898be3db826579d5\",\"dweb:/ipfs/Qme7f6AhxLVn32prM8fHaCvxtVi86A9KqFMqPA1s88kVYR\"]},\"contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol\":{\"keccak256\":\"0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e\",\"dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK\"]},\"contracts/release/infrastructure/price-feeds/primitives/ChainlinkPriceFeedMixin.sol\":{\"keccak256\":\"0x7fb0078e7387f07ff09958fe4e4e7b317e72c23884f61e8c133776cad522f8bb\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://e973f29ed0c3bf03e20154ab4b0cfc68c3a4372a52ec746f9d9f86697b30e977\",\"dweb:/ipfs/QmfMb7H1zNnj2hzmUr6742HmCTiNVuQ2PFjeR8q2M4Liyu\"]},\"contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol\":{\"keccak256\":\"0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965\",\"dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ\"]},\"contracts/release/infrastructure/value-interpreter/ValueInterpreter.sol\":{\"keccak256\":\"0x64565011785d0d29a75021cda34687cfbc0641094d6f2faf4d9c78c8cd9f0d1d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://03ea9b29a332436d18ca1a4df7e5cdf231d5142dfb916a39cb3a721342d54e0e\",\"dweb:/ipfs/QmcB8Z7A7QELAxg2FfJpD26k2bUhMNUT4wACMVKxuge3QS\"]},\"contracts/release/interfaces/IChainlinkAggregator.sol\":{\"keccak256\":\"0x8104db68d4edc00c86b29b366f4397cdbe7bd95bb9dc90f54140af4bae963788\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://4664240be22fe76bd4e84d1cbaace3998dbc96759a14345819a889f0c288d22e\",\"dweb:/ipfs/QmQ8fbA4tvXeCeaAFeS2JrLEQUPFeYrePAKoUywRtcicgA\"]},\"contracts/release/utils/FundDeployerOwnerMixin.sol\":{\"keccak256\":\"0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927\",\"dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM\"]},\"contracts/release/utils/MathHelpers.sol\":{\"keccak256\":\"0x8aef498ae98bfb40cd1df8c9ed652b4c092fbbe62d5a1fad522c53654523248e\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ed62789f6a8d5ca30a40c591f244b915e4711493a9e4b1b4d40ea2bc97b02a95\",\"dweb:/ipfs/QmWyXJ55arURtx9VMkUQokdsjk8tbgM2cC8rENFUMyz5D3\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_valueInterpreter", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_externalPosition", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_actionId", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_encodedActionArgs", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "parseAssetsForAction", - "outputs": [ - { - "internalType": "address[]", - "name": "assetsToTransfer_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "amountsToTransfer_", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "assetsToReceive_", - "type": "address[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "parseInitArgs", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "parseAssetsForAction(address,uint256,bytes)": { - "params": { - "_actionId": "The _actionId for the callOnExternalPosition", - "_encodedActionArgs": "The encoded parameters for the callOnExternalPosition", - "_externalPosition": "The _externalPosition to be called" - }, - "returns": { - "amountsToTransfer_": "The amounts to be transferred from the Vault", - "assetsToReceive_": "The assets to be received at the Vault", - "assetsToTransfer_": "The assets to be transferred from the Vault" - } - }, - "parseInitArgs(address,bytes)": { - "details": "Empty for this external position type" - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "parseAssetsForAction(address,uint256,bytes)": { - "notice": "Parses the assets to send and receive for the callOnExternalPosition" - }, - "parseInitArgs(address,bytes)": { - "notice": "Parse and validate input arguments to be used when initializing a newly-deployed ExternalPositionProxy" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/external-position-manager/external-positions/aave-v2-debt/AaveDebtPositionParser.sol": "AaveDebtPositionParser" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/external-positions/IExternalPosition.sol": { - "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", - "urls": [ - "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", - "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund-deployer/IFundDeployer.sol": { - "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", - "urls": [ - "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", - "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/IExternalPositionParser.sol": { - "keccak256": "0x1662fbd65841ee5e9cf8d5329b9d04c264b24ef68ae1e0484e59a8969b0d2c46", - "urls": [ - "bzz-raw://580569b0f875e0344db83fae1e72dcc6c0767a049b2a6cc3e4f3c411d2284b27", - "dweb:/ipfs/QmXFmF9QbcVsPHaBo1iq8sZHYhDkwfkMZpHmLTuJJ37NvZ" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/aave-v2-debt/AaveDebtPositionDataDecoder.sol": { - "keccak256": "0xa36c19f944dec6f5d504873abe1c9261f9c83a9915bd73d79620e66135263e62", - "urls": [ - "bzz-raw://bf64d33f97d3d8061c0cf06d168fa3f7bedadbee58ab1fe2aaf2daf0f162dc29", - "dweb:/ipfs/Qmf7KQeazGnccc2DoUNujJ7KrmsefAn4n6k19rBSgAqXFt" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/aave-v2-debt/AaveDebtPositionParser.sol": { - "keccak256": "0xd9fba02a4c5609620b4fa0490ade415d35e209a84dda151a8f195bb25714ab71", - "urls": [ - "bzz-raw://c7050a91e8e96b1fe988cbefe2a82f15f0c76b9188a8c031541c48e0c68dde4f", - "dweb:/ipfs/QmNvtFCzbw8WmCQB6NeiFHDRXnQCPYuuqkv9i6GmWKHCvE" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/aave-v2-debt/IAaveDebtPosition.sol": { - "keccak256": "0x985176b234fc2cd4d67def55a7fc5579f79e8df6c3c95de5a88e33c8f0bab945", - "urls": [ - "bzz-raw://4fd89871e75f2c98641f76494cb8f08a3be719209031fc454e482e586932e5b3", - "dweb:/ipfs/QmSZMLWuvyWNFJNWKvChPn9fmr9YVb2L2D3ZMPBBhYWndf" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/price-feeds/derivatives/AggregatedDerivativePriceFeedMixin.sol": { - "keccak256": "0x85d2ac39834dae7feb04f0e37317a38b8abeb0f950692fbc9d29078c52cd8d52", - "urls": [ - "bzz-raw://7bf8f1ce064d85a2812a944fc93068955b233924097f7f45898be3db826579d5", - "dweb:/ipfs/Qme7f6AhxLVn32prM8fHaCvxtVi86A9KqFMqPA1s88kVYR" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol": { - "keccak256": "0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332", - "urls": [ - "bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e", - "dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/price-feeds/primitives/ChainlinkPriceFeedMixin.sol": { - "keccak256": "0x7fb0078e7387f07ff09958fe4e4e7b317e72c23884f61e8c133776cad522f8bb", - "urls": [ - "bzz-raw://e973f29ed0c3bf03e20154ab4b0cfc68c3a4372a52ec746f9d9f86697b30e977", - "dweb:/ipfs/QmfMb7H1zNnj2hzmUr6742HmCTiNVuQ2PFjeR8q2M4Liyu" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol": { - "keccak256": "0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794", - "urls": [ - "bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965", - "dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/value-interpreter/ValueInterpreter.sol": { - "keccak256": "0x64565011785d0d29a75021cda34687cfbc0641094d6f2faf4d9c78c8cd9f0d1d", - "urls": [ - "bzz-raw://03ea9b29a332436d18ca1a4df7e5cdf231d5142dfb916a39cb3a721342d54e0e", - "dweb:/ipfs/QmcB8Z7A7QELAxg2FfJpD26k2bUhMNUT4wACMVKxuge3QS" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IChainlinkAggregator.sol": { - "keccak256": "0x8104db68d4edc00c86b29b366f4397cdbe7bd95bb9dc90f54140af4bae963788", - "urls": [ - "bzz-raw://4664240be22fe76bd4e84d1cbaace3998dbc96759a14345819a889f0c288d22e", - "dweb:/ipfs/QmQ8fbA4tvXeCeaAFeS2JrLEQUPFeYrePAKoUywRtcicgA" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/FundDeployerOwnerMixin.sol": { - "keccak256": "0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934", - "urls": [ - "bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927", - "dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/MathHelpers.sol": { - "keccak256": "0x8aef498ae98bfb40cd1df8c9ed652b4c092fbbe62d5a1fad522c53654523248e", - "urls": [ - "bzz-raw://ed62789f6a8d5ca30a40c591f244b915e4711493a9e4b1b4d40ea2bc97b02a95", - "dweb:/ipfs/QmWyXJ55arURtx9VMkUQokdsjk8tbgM2cC8rENFUMyz5D3" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 90 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_valueInterpreter", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "parseAssetsForAction", "inputs": [ { "name": "_externalPosition", "type": "address", "internalType": "address" }, { "name": "_actionId", "type": "uint256", "internalType": "uint256" }, { "name": "_encodedActionArgs", "type": "bytes", "internalType": "bytes" } ], "outputs": [ { "name": "assetsToTransfer_", "type": "address[]", "internalType": "address[]" }, { "name": "amountsToTransfer_", "type": "uint256[]", "internalType": "uint256[]" }, { "name": "assetsToReceive_", "type": "address[]", "internalType": "address[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "parseInitArgs", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [ { "name": "", "type": "bytes", "internalType": "bytes" } ], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x60a060405234801561001057600080fd5b506040516107a63803806107a68339818101604052602081101561003357600080fd5b5051606081901b6001600160601b0319166080526001600160a01b031661073f61006760003980610615525061073f6000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063bbd2d6461461003b578063db16c72e146101d2575b600080fd5b6100f46004803603606081101561005157600080fd5b6001600160a01b0382351691602081013591810190606081016040820135600160201b81111561008057600080fd5b82018360208201111561009257600080fd5b803590602001918460018302840111600160201b831117156100b357600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506102fb945050505050565b60405180806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b8381101561013c578181015183820152602001610124565b50505050905001848103835286818151815260200191508051906020019060200280838360005b8381101561017b578181015183820152602001610163565b50505050905001848103825285818151815260200191508051906020019060200280838360005b838110156101ba5781810151838201526020016101a2565b50505050905001965050505050505060405180910390f35b610286600480360360408110156101e857600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561021257600080fd5b82018360208201111561022457600080fd5b803590602001918460018302840111600160201b8311171561024557600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506104ce945050505050565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102c05781810151838201526020016102a8565b50505050905090810190601f1680156102ed5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b60608080846103205761030d846104d6565b909350915061031b83610607565b6104c5565b600285141561033e57610332846104d6565b50905061031b81610607565b600185141561035857610350846104d6565b5090506104c5565b60038514156104c55761036a846104d6565b909350915060005b83518110156104c35760001983828151811061038a57fe5b602002602001015114156104bb576000876001600160a01b03166366b4c5d18684815181106103b557fe5b60200260200101516040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156103fa57600080fd5b505afa15801561040e573d6000803e3d6000fd5b505050506040513d602081101561042457600080fd5b5051604080516370a0823160e01b81526001600160a01b038b811660048301529151929350908316916370a0823191602480820192602092909190829003018186803b15801561047357600080fd5b505afa158015610487573d6000803e3d6000fd5b505050506040513d602081101561049d57600080fd5b505184518590849081106104ad57fe5b602002602001018181525050505b600101610372565b505b93509350939050565b606092915050565b6060808280602001905160408110156104ee57600080fd5b8101908080516040519392919084600160201b82111561050d57600080fd5b90830190602082018581111561052257600080fd5b82518660208202830111600160201b8211171561053e57600080fd5b82525081516020918201928201910280838360005b8381101561056b578181015183820152602001610553565b5050505090500160405260200180516040519392919084600160201b82111561059357600080fd5b9083019060208201858111156105a857600080fd5b82518660208202830111600160201b821117156105c457600080fd5b82525081516020918201928201910280838360005b838110156105f15781810151838201526020016105d9565b5050505090500160405250505091509150915091565b60005b8151811015610702577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316639be918e683838151811061064e57fe5b60200260200101516040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561069357600080fd5b505afa1580156106a7573d6000803e3d6000fd5b505050506040513d60208110156106bd57600080fd5b50516106fa5760405162461bcd60e51b815260040180806020018281038252602c815260200180610707602c913960400191505060405180910390fd5b60010161060a565b505056fe5f5f76616c6964617465537570706f727465644173736574733a20556e737570706f72746564206173736574a164736f6c634300060c000a", "sourceMap": "606:4120:90:-:0;;;750:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;750:100:90;806:37;;;;-1:-1:-1;;;;;;806:37:90;;;-1:-1:-1;;;;;606:4120:90;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c8063bbd2d6461461003b578063db16c72e146101d2575b600080fd5b6100f46004803603606081101561005157600080fd5b6001600160a01b0382351691602081013591810190606081016040820135600160201b81111561008057600080fd5b82018360208201111561009257600080fd5b803590602001918460018302840111600160201b831117156100b357600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506102fb945050505050565b60405180806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b8381101561013c578181015183820152602001610124565b50505050905001848103835286818151815260200191508051906020019060200280838360005b8381101561017b578181015183820152602001610163565b50505050905001848103825285818151815260200191508051906020019060200280838360005b838110156101ba5781810151838201526020016101a2565b50505050905001965050505050505060405180910390f35b610286600480360360408110156101e857600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561021257600080fd5b82018360208201111561022457600080fd5b803590602001918460018302840111600160201b8311171561024557600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506104ce945050505050565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102c05781810151838201526020016102a8565b50505050905090810190601f1680156102ed5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b60608080846103205761030d846104d6565b909350915061031b83610607565b6104c5565b600285141561033e57610332846104d6565b50905061031b81610607565b600185141561035857610350846104d6565b5090506104c5565b60038514156104c55761036a846104d6565b909350915060005b83518110156104c35760001983828151811061038a57fe5b602002602001015114156104bb576000876001600160a01b03166366b4c5d18684815181106103b557fe5b60200260200101516040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156103fa57600080fd5b505afa15801561040e573d6000803e3d6000fd5b505050506040513d602081101561042457600080fd5b5051604080516370a0823160e01b81526001600160a01b038b811660048301529151929350908316916370a0823191602480820192602092909190829003018186803b15801561047357600080fd5b505afa158015610487573d6000803e3d6000fd5b505050506040513d602081101561049d57600080fd5b505184518590849081106104ad57fe5b602002602001018181525050505b600101610372565b505b93509350939050565b606092915050565b6060808280602001905160408110156104ee57600080fd5b8101908080516040519392919084600160201b82111561050d57600080fd5b90830190602082018581111561052257600080fd5b82518660208202830111600160201b8211171561053e57600080fd5b82525081516020918201928201910280838360005b8381101561056b578181015183820152602001610553565b5050505090500160405260200180516040519392919084600160201b82111561059357600080fd5b9083019060208201858111156105a857600080fd5b82518660208202830111600160201b821117156105c457600080fd5b82525081516020918201928201910280838360005b838110156105f15781810151838201526020016105d9565b5050505090500160405250505091509150915091565b60005b8151811015610702577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316639be918e683838151811061064e57fe5b60200260200101516040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561069357600080fd5b505afa1580156106a7573d6000803e3d6000fd5b505050506040513d60208110156106bd57600080fd5b50516106fa5760405162461bcd60e51b815260040180806020018281038252602c815260200180610707602c913960400191505060405180910390fd5b60010161060a565b505056fe5f5f76616c6964617465537570706f727465644173736574733a20556e737570706f72746564206173736574a164736f6c634300060c000a", "sourceMap": "606:4120:90:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1397:2654;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1397:2654:90;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1397:2654:90;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1397:2654:90;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1397:2654:90;;-1:-1:-1;1397:2654:90;;-1:-1:-1;;;;;1397:2654:90:i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4227:89;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4227:89:90;;;;;;;;;;;;;;;-1:-1:-1;;;4227:89:90;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4227:89:90;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4227:89:90;;-1:-1:-1;4227:89:90;;-1:-1:-1;;;;;4227:89:90:i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1397:2654;1600:34;;;1759:61;1755:2134;;2042:81;2091:18;2042:31;:81::i;:::-;2000:123;;-1:-1:-1;2000:123:90;-1:-1:-1;2137:44:90;2000:123;2137:25;:44::i;:::-;1755:2134;;;2223:32;2202:9;:54;2198:1691;;;2576:44;2601:18;2576:24;:44::i;:::-;-1:-1:-1;2553:67:90;-1:-1:-1;2634:43:90;2553:67;2634:25;:43::i;2198:1691::-;2719:42;2698:9;:64;2694:1195;;;2868:54;2903:18;2868:34;:54::i;:::-;-1:-1:-1;2845:77:90;-1:-1:-1;2694:1195:90;;;2964:37;2943:9;:59;2939:950;;;3125:79;3172:18;3125:29;:79::i;:::-;3083:121;;-1:-1:-1;3083:121:90;-1:-1:-1;3224:9:90;3219:660;3239:17;:24;3235:1;:28;3219:660;;;-1:-1:-1;;3292:18:90;3311:1;3292:21;;;;;;;;;;;;;;:42;3288:577;;;3623:17;3661;-1:-1:-1;;;;;3643:90:90;;3734:17;3752:1;3734:20;;;;;;;;;;;;;;3643:112;;;;;;;;;;;;;-1:-1:-1;;;;;3643:112:90;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3643:112:90;3801:45;;;-1:-1:-1;;;3801:45:90;;-1:-1:-1;;;;;3801:45:90;;;;;;;;;3643:112;;-1:-1:-1;3801:26:90;;;;;;:45;;;;;3643:112;;3801:45;;;;;;;;:26;:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3801:45:90;3777:21;;:18;;3796:1;;3777:21;;;;;;;;;;;:69;;;;;3288:577;;3265:3;;3219:660;;;;2939:950;1397:2654;;;;;;;:::o;4227:89::-;4300:12;4227:89;;;;:::o;589:243:88:-;703:25;730;789:11;778:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;778:47:88;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;778:47:88;;;;;;;;;;;;-1:-1:-1;778:47:88;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;778:47:88;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;778:47:88;;;;;;;;;;;;-1:-1:-1;778:47:88;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;771:54;;;;589:243;;;:::o;4400:324:90:-;4489:9;4484:234;4504:7;:14;4500:1;:18;4484:234;;;4582:17;-1:-1:-1;;;;;4564:53:90;;4618:7;4626:1;4618:10;;;;;;;;;;;;;;4564:65;;;;;;;;;;;;;-1:-1:-1;;;;;4564:65:90;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4564:65:90;4539:168;;;;-1:-1:-1;;;4539:168:90;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4520:3;;4484:234;;;;4400:324;:::o", "linkReferences": {}, "immutableReferences": { "20724": [ { "start": 1557, "length": 32 } ] } }, "methodIdentifiers": { "parseAssetsForAction(address,uint256,bytes)": "bbd2d646", "parseInitArgs(address,bytes)": "db16c72e" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_valueInterpreter\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_externalPosition\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_actionId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_encodedActionArgs\",\"type\":\"bytes\"}],\"name\":\"parseAssetsForAction\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"assetsToTransfer_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amountsToTransfer_\",\"type\":\"uint256[]\"},{\"internalType\":\"address[]\",\"name\":\"assetsToReceive_\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"parseInitArgs\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"parseAssetsForAction(address,uint256,bytes)\":{\"params\":{\"_actionId\":\"The _actionId for the callOnExternalPosition\",\"_encodedActionArgs\":\"The encoded parameters for the callOnExternalPosition\",\"_externalPosition\":\"The _externalPosition to be called\"},\"returns\":{\"amountsToTransfer_\":\"The amounts to be transferred from the Vault\",\"assetsToReceive_\":\"The assets to be received at the Vault\",\"assetsToTransfer_\":\"The assets to be transferred from the Vault\"}},\"parseInitArgs(address,bytes)\":{\"details\":\"Empty for this external position type\"}},\"title\":\"AaveDebtPositionParser\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"parseAssetsForAction(address,uint256,bytes)\":{\"notice\":\"Parses the assets to send and receive for the callOnExternalPosition\"},\"parseInitArgs(address,bytes)\":{\"notice\":\"Parse and validate input arguments to be used when initializing a newly-deployed ExternalPositionProxy\"}},\"notice\":\"Parser for Aave Debt Positions\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/aave-v2-debt/AaveDebtPositionParser.sol\":\"AaveDebtPositionParser\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/extensions/external-position-manager/external-positions/IExternalPositionParser.sol\":{\"keccak256\":\"0x1662fbd65841ee5e9cf8d5329b9d04c264b24ef68ae1e0484e59a8969b0d2c46\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://580569b0f875e0344db83fae1e72dcc6c0767a049b2a6cc3e4f3c411d2284b27\",\"dweb:/ipfs/QmXFmF9QbcVsPHaBo1iq8sZHYhDkwfkMZpHmLTuJJ37NvZ\"]},\"contracts/release/extensions/external-position-manager/external-positions/aave-v2-debt/AaveDebtPositionDataDecoder.sol\":{\"keccak256\":\"0xa36c19f944dec6f5d504873abe1c9261f9c83a9915bd73d79620e66135263e62\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf64d33f97d3d8061c0cf06d168fa3f7bedadbee58ab1fe2aaf2daf0f162dc29\",\"dweb:/ipfs/Qmf7KQeazGnccc2DoUNujJ7KrmsefAn4n6k19rBSgAqXFt\"]},\"contracts/release/extensions/external-position-manager/external-positions/aave-v2-debt/AaveDebtPositionParser.sol\":{\"keccak256\":\"0xd9fba02a4c5609620b4fa0490ade415d35e209a84dda151a8f195bb25714ab71\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c7050a91e8e96b1fe988cbefe2a82f15f0c76b9188a8c031541c48e0c68dde4f\",\"dweb:/ipfs/QmNvtFCzbw8WmCQB6NeiFHDRXnQCPYuuqkv9i6GmWKHCvE\"]},\"contracts/release/extensions/external-position-manager/external-positions/aave-v2-debt/IAaveDebtPosition.sol\":{\"keccak256\":\"0x985176b234fc2cd4d67def55a7fc5579f79e8df6c3c95de5a88e33c8f0bab945\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://4fd89871e75f2c98641f76494cb8f08a3be719209031fc454e482e586932e5b3\",\"dweb:/ipfs/QmSZMLWuvyWNFJNWKvChPn9fmr9YVb2L2D3ZMPBBhYWndf\"]},\"contracts/release/infrastructure/price-feeds/derivatives/AggregatedDerivativePriceFeedMixin.sol\":{\"keccak256\":\"0x85d2ac39834dae7feb04f0e37317a38b8abeb0f950692fbc9d29078c52cd8d52\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://7bf8f1ce064d85a2812a944fc93068955b233924097f7f45898be3db826579d5\",\"dweb:/ipfs/Qme7f6AhxLVn32prM8fHaCvxtVi86A9KqFMqPA1s88kVYR\"]},\"contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol\":{\"keccak256\":\"0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e\",\"dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK\"]},\"contracts/release/infrastructure/price-feeds/primitives/ChainlinkPriceFeedMixin.sol\":{\"keccak256\":\"0x7fb0078e7387f07ff09958fe4e4e7b317e72c23884f61e8c133776cad522f8bb\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://e973f29ed0c3bf03e20154ab4b0cfc68c3a4372a52ec746f9d9f86697b30e977\",\"dweb:/ipfs/QmfMb7H1zNnj2hzmUr6742HmCTiNVuQ2PFjeR8q2M4Liyu\"]},\"contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol\":{\"keccak256\":\"0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965\",\"dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ\"]},\"contracts/release/infrastructure/value-interpreter/ValueInterpreter.sol\":{\"keccak256\":\"0x64565011785d0d29a75021cda34687cfbc0641094d6f2faf4d9c78c8cd9f0d1d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://03ea9b29a332436d18ca1a4df7e5cdf231d5142dfb916a39cb3a721342d54e0e\",\"dweb:/ipfs/QmcB8Z7A7QELAxg2FfJpD26k2bUhMNUT4wACMVKxuge3QS\"]},\"contracts/release/interfaces/IChainlinkAggregator.sol\":{\"keccak256\":\"0x8104db68d4edc00c86b29b366f4397cdbe7bd95bb9dc90f54140af4bae963788\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://4664240be22fe76bd4e84d1cbaace3998dbc96759a14345819a889f0c288d22e\",\"dweb:/ipfs/QmQ8fbA4tvXeCeaAFeS2JrLEQUPFeYrePAKoUywRtcicgA\"]},\"contracts/release/utils/FundDeployerOwnerMixin.sol\":{\"keccak256\":\"0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927\",\"dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM\"]},\"contracts/release/utils/MathHelpers.sol\":{\"keccak256\":\"0x8aef498ae98bfb40cd1df8c9ed652b4c092fbbe62d5a1fad522c53654523248e\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ed62789f6a8d5ca30a40c591f244b915e4711493a9e4b1b4d40ea2bc97b02a95\",\"dweb:/ipfs/QmWyXJ55arURtx9VMkUQokdsjk8tbgM2cC8rENFUMyz5D3\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_valueInterpreter", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "_externalPosition", "type": "address" }, { "internalType": "uint256", "name": "_actionId", "type": "uint256" }, { "internalType": "bytes", "name": "_encodedActionArgs", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "parseAssetsForAction", "outputs": [ { "internalType": "address[]", "name": "assetsToTransfer_", "type": "address[]" }, { "internalType": "uint256[]", "name": "amountsToTransfer_", "type": "uint256[]" }, { "internalType": "address[]", "name": "assetsToReceive_", "type": "address[]" } ] }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "parseInitArgs", "outputs": [ { "internalType": "bytes", "name": "", "type": "bytes" } ] } ], "devdoc": { "kind": "dev", "methods": { "parseAssetsForAction(address,uint256,bytes)": { "params": { "_actionId": "The _actionId for the callOnExternalPosition", "_encodedActionArgs": "The encoded parameters for the callOnExternalPosition", "_externalPosition": "The _externalPosition to be called" }, "returns": { "amountsToTransfer_": "The amounts to be transferred from the Vault", "assetsToReceive_": "The assets to be received at the Vault", "assetsToTransfer_": "The assets to be transferred from the Vault" } }, "parseInitArgs(address,bytes)": { "details": "Empty for this external position type" } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "parseAssetsForAction(address,uint256,bytes)": { "notice": "Parses the assets to send and receive for the callOnExternalPosition" }, "parseInitArgs(address,bytes)": { "notice": "Parse and validate input arguments to be used when initializing a newly-deployed ExternalPositionProxy" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/external-position-manager/external-positions/aave-v2-debt/AaveDebtPositionParser.sol": "AaveDebtPositionParser" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/external-positions/IExternalPosition.sol": { "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", "urls": [ "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" ], "license": "GPL-3.0" }, "contracts/release/core/fund-deployer/IFundDeployer.sol": { "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", "urls": [ "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/IExternalPositionParser.sol": { "keccak256": "0x1662fbd65841ee5e9cf8d5329b9d04c264b24ef68ae1e0484e59a8969b0d2c46", "urls": [ "bzz-raw://580569b0f875e0344db83fae1e72dcc6c0767a049b2a6cc3e4f3c411d2284b27", "dweb:/ipfs/QmXFmF9QbcVsPHaBo1iq8sZHYhDkwfkMZpHmLTuJJ37NvZ" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/aave-v2-debt/AaveDebtPositionDataDecoder.sol": { "keccak256": "0xa36c19f944dec6f5d504873abe1c9261f9c83a9915bd73d79620e66135263e62", "urls": [ "bzz-raw://bf64d33f97d3d8061c0cf06d168fa3f7bedadbee58ab1fe2aaf2daf0f162dc29", "dweb:/ipfs/Qmf7KQeazGnccc2DoUNujJ7KrmsefAn4n6k19rBSgAqXFt" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/aave-v2-debt/AaveDebtPositionParser.sol": { "keccak256": "0xd9fba02a4c5609620b4fa0490ade415d35e209a84dda151a8f195bb25714ab71", "urls": [ "bzz-raw://c7050a91e8e96b1fe988cbefe2a82f15f0c76b9188a8c031541c48e0c68dde4f", "dweb:/ipfs/QmNvtFCzbw8WmCQB6NeiFHDRXnQCPYuuqkv9i6GmWKHCvE" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/aave-v2-debt/IAaveDebtPosition.sol": { "keccak256": "0x985176b234fc2cd4d67def55a7fc5579f79e8df6c3c95de5a88e33c8f0bab945", "urls": [ "bzz-raw://4fd89871e75f2c98641f76494cb8f08a3be719209031fc454e482e586932e5b3", "dweb:/ipfs/QmSZMLWuvyWNFJNWKvChPn9fmr9YVb2L2D3ZMPBBhYWndf" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/price-feeds/derivatives/AggregatedDerivativePriceFeedMixin.sol": { "keccak256": "0x85d2ac39834dae7feb04f0e37317a38b8abeb0f950692fbc9d29078c52cd8d52", "urls": [ "bzz-raw://7bf8f1ce064d85a2812a944fc93068955b233924097f7f45898be3db826579d5", "dweb:/ipfs/Qme7f6AhxLVn32prM8fHaCvxtVi86A9KqFMqPA1s88kVYR" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol": { "keccak256": "0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332", "urls": [ "bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e", "dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/price-feeds/primitives/ChainlinkPriceFeedMixin.sol": { "keccak256": "0x7fb0078e7387f07ff09958fe4e4e7b317e72c23884f61e8c133776cad522f8bb", "urls": [ "bzz-raw://e973f29ed0c3bf03e20154ab4b0cfc68c3a4372a52ec746f9d9f86697b30e977", "dweb:/ipfs/QmfMb7H1zNnj2hzmUr6742HmCTiNVuQ2PFjeR8q2M4Liyu" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol": { "keccak256": "0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794", "urls": [ "bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965", "dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/value-interpreter/ValueInterpreter.sol": { "keccak256": "0x64565011785d0d29a75021cda34687cfbc0641094d6f2faf4d9c78c8cd9f0d1d", "urls": [ "bzz-raw://03ea9b29a332436d18ca1a4df7e5cdf231d5142dfb916a39cb3a721342d54e0e", "dweb:/ipfs/QmcB8Z7A7QELAxg2FfJpD26k2bUhMNUT4wACMVKxuge3QS" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IChainlinkAggregator.sol": { "keccak256": "0x8104db68d4edc00c86b29b366f4397cdbe7bd95bb9dc90f54140af4bae963788", "urls": [ "bzz-raw://4664240be22fe76bd4e84d1cbaace3998dbc96759a14345819a889f0c288d22e", "dweb:/ipfs/QmQ8fbA4tvXeCeaAFeS2JrLEQUPFeYrePAKoUywRtcicgA" ], "license": "GPL-3.0" }, "contracts/release/utils/FundDeployerOwnerMixin.sol": { "keccak256": "0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934", "urls": [ "bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927", "dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM" ], "license": "GPL-3.0" }, "contracts/release/utils/MathHelpers.sol": { "keccak256": "0x8aef498ae98bfb40cd1df8c9ed652b4c092fbbe62d5a1fad522c53654523248e", "urls": [ "bzz-raw://ed62789f6a8d5ca30a40c591f244b915e4711493a9e4b1b4d40ea2bc97b02a95", "dweb:/ipfs/QmWyXJ55arURtx9VMkUQokdsjk8tbgM2cC8rENFUMyz5D3" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" } }, "version": 1 }, "id": 90 } diff --git a/eth_defi/abi/enzyme/AaveV2ATokenListOwner.json b/eth_defi/abi/enzyme/AaveV2ATokenListOwner.json index 516f6693..0bb6f1a9 100644 --- a/eth_defi/abi/enzyme/AaveV2ATokenListOwner.json +++ b/eth_defi/abi/enzyme/AaveV2ATokenListOwner.json @@ -1,228 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_addressListRegistry", - "type": "address" - }, - { - "internalType": "string", - "name": "_listDescription", - "type": "string" - }, - { - "internalType": "address", - "name": "_lendingPoolAddressProvider", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_items", - "type": "address[]" - } - ], - "name": "addValidatedItemsToList", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x60e06040523480156200001157600080fd5b5060405162000df138038062000df183398101604081905262000034916200028f565b6001600160601b0319606084901b16608052828260006001600160a01b03831663be68406e3060018460405190808252806020026020018201604052801562000087578160200160208202803683370190505b506040518463ffffffff1660e01b8152600401620000a893929190620004fd565b602060405180830381600087803b158015620000c357600080fd5b505af1158015620000d8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000fe9190620002fb565b60a0819052604080516001808252818301909252919250606091906020808301908036833750506040805160018082528183019092529293506060929150602082015b60608152602001906001900390816200014157905050905082826000815181106200016857fe5b60200260200101818152505083816000815181106200018357fe5b6020908102919091010152604051635a137ca360e11b81526001600160a01b0386169063b426f94690620001be908590859060040162000539565b600060405180830381600087803b158015620001d957600080fd5b505af1158015620001ee573d6000803e3d6000fd5b505050505060609490941b6001600160601b03191660c052506200066b945050505050565b8051620002208162000649565b92915050565b600082601f8301126200023857600080fd5b81516200024f620002498262000589565b62000562565b915080825260208301602083018583830111156200026c57600080fd5b62000279838284620005fe565b50505092915050565b8051620002208162000660565b600080600060608486031215620002a557600080fd5b6000620002b3868662000213565b93505060208401516001600160401b03811115620002d057600080fd5b620002de8682870162000226565b9250506040620002f18682870162000213565b9150509250925092565b6000602082840312156200030e57600080fd5b60006200031c848462000282565b949350505050565b60006200033283836200035d565b505060200190565b6000620003488383620004b2565b9392505050565b6000620003328383620004f2565b6200036881620005c4565b82525050565b60006200037b82620005b7565b620003878185620005bb565b93506200039483620005b1565b8060005b83811015620003c8578151620003af888262000324565b9750620003bc83620005b1565b92505060010162000398565b509495945050505050565b6000620003e082620005b7565b620003ec8185620005bb565b9350836020820285016200040085620005b1565b8060005b858110156200044057848403895281516200042085826200033a565b94506200042d83620005b1565b60209a909a019992505060010162000404565b5091979650505050505050565b60006200045a82620005b7565b620004668185620005bb565b93506200047383620005b1565b8060005b83811015620003c85781516200048e88826200034f565b97506200049b83620005b1565b92505060010162000477565b6200036881620005f1565b6000620004bf82620005b7565b620004cb8185620005bb565b9350620004dd818560208601620005fe565b620004e88162000631565b9093019392505050565b6200036881620005ee565b606081016200050d82866200035d565b6200051c6020830185620004a7565b81810360408301526200053081846200036e565b95945050505050565b604080825281016200054c81856200044d565b905081810360208301526200031c8184620003d3565b6040518181016001600160401b03811182821017156200058157600080fd5b604052919050565b60006001600160401b03821115620005a057600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b60006200022082620005e2565b80620005dd816200063b565b919050565b6001600160a01b031690565b90565b60006200022082620005d1565b60005b838110156200061b57818101518382015260200162000601565b838111156200062b576000848401525b50505050565b601f01601f191690565b600481106200064657fe5b50565b6200065481620005c4565b81146200064657600080fd5b6200065481620005ee565b60805160601c60a05160c05160601c6107566200069b6000398060f95250806093525080606652506107566000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063a8f0bc4114610030575b600080fd5b61004361003e36600461051d565b610045565b005b61004f82826100f5565b6040516346d1eb9b60e11b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690638da3d736906100bf907f00000000000000000000000000000000000000000000000000000000000000009086908690600401610659565b600060405180830381600087803b1580156100d957600080fd5b505af11580156100ed573d6000803e3d6000fd5b505050505050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316630261bf8b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561015057600080fd5b505afa158015610164573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061018891906104ff565b905060005b828110156102f65760008484838181106101a357fe5b90506020020160208101906101b891906104d9565b90506000816001600160a01b031663b16a19de6040518163ffffffff1660e01b815260040160206040518083038186803b1580156101f557600080fd5b505afa158015610209573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061022d91906104ff565b6040516335ea6a7560e01b81529091506001600160a01b038516906335ea6a759061025c90849060040161063b565b61018060405180830381600087803b15801561027757600080fd5b505af115801561028b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102af919061055f565b60e001516001600160a01b0316826001600160a01b0316146102ec5760405162461bcd60e51b81526004016102e390610649565b60405180910390fd5b505060010161018d565b50505050565b80356103078161070e565b92915050565b80516103078161070e565b60008083601f84011261032a57600080fd5b50813567ffffffffffffffff81111561034257600080fd5b60208301915083602082028301111561035a57600080fd5b9250929050565b60006020828403121561037357600080fd5b61037d6020610683565b9050600061038b84846104b8565b82525092915050565b600061018082840312156103a757600080fd5b6103b2610180610683565b905060006103c08484610361565b82525060206103d1848483016104ad565b60208301525060406103e5848285016104ad565b60408301525060606103f9848285016104ad565b606083015250608061040d848285016104ad565b60808301525060a0610421848285016104ad565b60a08301525060c0610435848285016104c3565b60c08301525060e06104498482850161030d565b60e08301525061010061045e8482850161030d565b610100830152506101206104748482850161030d565b6101208301525061014061048a8482850161030d565b610140830152506101606104a0848285016104ce565b6101608301525092915050565b805161030781610725565b80516103078161072e565b805161030781610737565b805161030781610740565b6000602082840312156104eb57600080fd5b60006104f784846102fc565b949350505050565b60006020828403121561051157600080fd5b60006104f7848461030d565b6000806020838503121561053057600080fd5b823567ffffffffffffffff81111561054757600080fd5b61055385828601610318565b92509250509250929050565b6000610180828403121561057257600080fd5b60006104f78484610394565b600061058a8383610592565b505060200190565b61059b816106d2565b82525050565b60006105ad83856106b3565b93506105b8826106aa565b8060005b858110156105ee576105ce82846106bc565b6105d8888261057e565b97506105e3836106ad565b9250506001016105bc565b509495945050505050565b6000610606601f836106b3565b7f5f5f76616c69646174654974656d733a20496e76616c69642061546f6b656e00815260200192915050565b61059b816106aa565b602081016103078284610592565b60208082528101610307816105f9565b604081016106678286610632565b818103602083015261067a8184866105a1565b95945050505050565b60405181810167ffffffffffffffff811182821017156106a257600080fd5b604052919050565b90565b60200190565b90815260200190565b60006106cb60208401846102fc565b9392505050565b6000610307826106f2565b6fffffffffffffffffffffffffffffffff1690565b6001600160a01b031690565b64ffffffffff1690565b60ff1690565b610717816106d2565b811461072257600080fd5b50565b610717816106dd565b610717816106aa565b610717816106fe565b6107178161070856fea164736f6c634300060c000a", - "sourceMap": "719:1201:11:-:0;;;884:358;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;802:74:14;;;;;;;1060:20:11;1082:16;914:14:14;-1:-1:-1;;;;;802:74:14;;931:52;1014:4;1046:38;914:14;1113:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1113:16:14;;931:209;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1150:16;;;;1234;;;1248:1;1234:16;;;;;;;;;1150;;-1:-1:-1;1207:24:14;;1234:16;;;;;;;;;;-1:-1:-1;;1291:15:14;;;1304:1;1291:15;;;;;;;;;1207:43;;-1:-1:-1;1260:28:14;;1291:15;-1:-1:-1;1291:15:14;;;;;;;;;;;;;;;;;;;;1260:46;;1329:6;1316:7;1324:1;1316:10;;;;;;;;;;;;;:19;;;;;1363:16;1345:12;1358:1;1345:15;;;;;;;;;;;;;;;;;:34;1390:133;;-1:-1:-1;;;1390:133:14;;-1:-1:-1;;;;;1390:53:14;;;;;:133;;1464:7;;1500:12;;1390:133;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1110:125:11::1;::::0;;;;-1:-1:-1;;;;;;1110:125:11;::::1;::::0;-1:-1:-1;719:1201:11;;-1:-1:-1;;;;;719:1201:11;5:134:-1;83:13;;101:33;83:13;101:33;:::i;:::-;68:71;;;;:::o;147:444::-;;260:3;253:4;245:6;241:17;237:27;227:2;;278:1;275;268:12;227:2;308:6;302:13;330:65;345:49;387:6;345:49;:::i;:::-;330:65;:::i;:::-;321:74;;415:6;408:5;401:21;451:4;443:6;439:17;484:4;477:5;473:16;519:3;510:6;505:3;501:16;498:25;495:2;;;536:1;533;526:12;495:2;546:39;578:6;573:3;568;546:39;:::i;:::-;220:371;;;;;;;:::o;599:134::-;677:13;;695:33;677:13;695:33;:::i;740:634::-;;;;899:2;887:9;878:7;874:23;870:32;867:2;;;915:1;912;905:12;867:2;950:1;967:64;1023:7;1003:9;967:64;:::i;:::-;957:74;;929:108;1089:2;1078:9;1074:18;1068:25;-1:-1;;;;;1105:6;1102:30;1099:2;;;1145:1;1142;1135:12;1099:2;1165:74;1231:7;1222:6;1211:9;1207:22;1165:74;:::i;:::-;1155:84;;1047:198;1276:2;1294:64;1350:7;1341:6;1330:9;1326:22;1294:64;:::i;:::-;1284:74;;1255:109;861:513;;;;;:::o;1381:263::-;;1496:2;1484:9;1475:7;1471:23;1467:32;1464:2;;;1512:1;1509;1502:12;1464:2;1547:1;1564:64;1620:7;1600:9;1564:64;:::i;:::-;1554:74;1458:186;-1:-1;;;;1458:186::o;1652:173::-;;1739:46;1781:3;1773:6;1739:46;:::i;:::-;-1:-1;;1814:4;1805:14;;1732:93::o;1834:193::-;;1955:66;2017:3;2009:6;1955:66;:::i;:::-;1941:80;1934:93;-1:-1;;;1934:93::o;2036:173::-;;2123:46;2165:3;2157:6;2123:46;:::i;2217:103::-;2290:24;2308:5;2290:24;:::i;:::-;2285:3;2278:37;2272:48;;:::o;2478:690::-;;2623:54;2671:5;2623:54;:::i;:::-;2690:86;2769:6;2764:3;2690:86;:::i;:::-;2683:93;;2797:56;2847:5;2797:56;:::i;:::-;2873:7;2901:1;2886:260;2911:6;2908:1;2905:13;2886:260;;;2978:6;2972:13;2999:63;3058:3;3043:13;2999:63;:::i;:::-;2992:70;;3079:60;3132:6;3079:60;:::i;:::-;3069:70;-1:-1;;2933:1;2926:9;2886:260;;;-1:-1;3159:3;;2602:566;-1:-1;;;;;2602:566::o;3205:928::-;;3370:64;3428:5;3370:64;:::i;:::-;3447:96;3536:6;3531:3;3447:96;:::i;:::-;3440:103;;3566:3;3608:4;3600:6;3596:17;3591:3;3587:27;3635:66;3695:5;3635:66;:::i;:::-;3721:7;3749:1;3734:360;3759:6;3756:1;3753:13;3734:360;;;3821:9;3815:4;3811:20;3806:3;3799:33;3866:6;3860:13;3888:84;3967:4;3952:13;3888:84;:::i;:::-;3880:92;;3989:70;4052:6;3989:70;:::i;:::-;4082:4;4073:14;;;;;3979:80;-1:-1;;3781:1;3774:9;3734:360;;;-1:-1;4107:4;;3349:784;-1:-1;;;;;;;3349:784::o;4172:690::-;;4317:54;4365:5;4317:54;:::i;:::-;4384:86;4463:6;4458:3;4384:86;:::i;:::-;4377:93;;4491:56;4541:5;4491:56;:::i;:::-;4567:7;4595:1;4580:260;4605:6;4602:1;4599:13;4580:260;;;4672:6;4666:13;4693:63;4752:3;4737:13;4693:63;:::i;:::-;4686:70;;4773:60;4826:6;4773:60;:::i;:::-;4763:70;-1:-1;;4627:1;4620:9;4580:260;;4870:152;4966:50;5010:5;4966:50;:::i;5029:327::-;;5131:39;5164:5;5131:39;:::i;:::-;5182:61;5236:6;5231:3;5182:61;:::i;:::-;5175:68;;5248:52;5293:6;5288:3;5281:4;5274:5;5270:16;5248:52;:::i;:::-;5321:29;5343:6;5321:29;:::i;:::-;5312:39;;;;5111:245;-1:-1;;;5111:245::o;5363:103::-;5436:24;5454:5;5436:24;:::i;5473:618::-;5719:2;5704:18;;5733:71;5708:9;5777:6;5733:71;:::i;:::-;5815:85;5896:2;5885:9;5881:18;5872:6;5815:85;:::i;:::-;5948:9;5942:4;5938:20;5933:2;5922:9;5918:18;5911:48;5973:108;6076:4;6067:6;5973:108;:::i;:::-;5965:116;5690:401;-1:-1;;;;;5690:401::o;6098:669::-;6373:2;6387:47;;;6358:18;;6448:108;6358:18;6542:6;6448:108;:::i;:::-;6440:116;;6604:9;6598:4;6594:20;6589:2;6578:9;6574:18;6567:48;6629:128;6752:4;6743:6;6629:128;:::i;6774:256::-;6836:2;6830:9;6862:17;;;-1:-1;;;;;6922:34;;6958:22;;;6919:62;6916:2;;;6994:1;6991;6984:12;6916:2;7010;7003:22;6814:216;;-1:-1;6814:216::o;7037:322::-;;-1:-1;;;;;7173:6;7170:30;7167:2;;;7213:1;7210;7203:12;7167:2;-1:-1;7344:4;7280;7257:17;;;;-1:-1;;7253:33;7334:15;;7104:255::o;7366:151::-;7490:4;7481:14;;7438:79::o;7850:137::-;7953:12;;7924:63::o;8777:178::-;8895:19;;;8944:4;8935:14;;8888:67::o;9509:91::-;;9571:24;9589:5;9571:24;:::i;9607:136::-;9684:5;9690:48;9684:5;9690:48;:::i;:::-;9667:76;;;:::o;9750:121::-;-1:-1;;;;;9812:54;;9795:76::o;9878:72::-;9940:5;9923:27::o;9957:136::-;;10049:39;10082:5;10049:39;:::i;10101:268::-;10166:1;10173:101;10187:6;10184:1;10181:13;10173:101;;;10254:11;;;10248:18;10235:11;;;10228:39;10209:2;10202:10;10173:101;;;10289:6;10286:1;10283:13;10280:2;;;10354:1;10345:6;10340:3;10336:16;10329:27;10280:2;10150:219;;;;:::o;10377:97::-;10465:2;10445:14;-1:-1;;10441:28;;10425:49::o;10482:106::-;10566:1;10559:5;10556:12;10546:2;;10572:9;10546:2;10540:48;:::o;10595:117::-;10664:24;10682:5;10664:24;:::i;:::-;10657:5;10654:35;10644:2;;10703:1;10700;10693:12;10719:117;10788:24;10806:5;10788:24;:::i;10762:74::-;719:1201:11;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c8063a8f0bc4114610030575b600080fd5b61004361003e36600461051d565b610045565b005b61004f82826100f5565b6040516346d1eb9b60e11b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690638da3d736906100bf907f00000000000000000000000000000000000000000000000000000000000000009086908690600401610659565b600060405180830381600087803b1580156100d957600080fd5b505af11580156100ed573d6000803e3d6000fd5b505050505050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316630261bf8b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561015057600080fd5b505afa158015610164573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061018891906104ff565b905060005b828110156102f65760008484838181106101a357fe5b90506020020160208101906101b891906104d9565b90506000816001600160a01b031663b16a19de6040518163ffffffff1660e01b815260040160206040518083038186803b1580156101f557600080fd5b505afa158015610209573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061022d91906104ff565b6040516335ea6a7560e01b81529091506001600160a01b038516906335ea6a759061025c90849060040161063b565b61018060405180830381600087803b15801561027757600080fd5b505af115801561028b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102af919061055f565b60e001516001600160a01b0316826001600160a01b0316146102ec5760405162461bcd60e51b81526004016102e390610649565b60405180910390fd5b505060010161018d565b50505050565b80356103078161070e565b92915050565b80516103078161070e565b60008083601f84011261032a57600080fd5b50813567ffffffffffffffff81111561034257600080fd5b60208301915083602082028301111561035a57600080fd5b9250929050565b60006020828403121561037357600080fd5b61037d6020610683565b9050600061038b84846104b8565b82525092915050565b600061018082840312156103a757600080fd5b6103b2610180610683565b905060006103c08484610361565b82525060206103d1848483016104ad565b60208301525060406103e5848285016104ad565b60408301525060606103f9848285016104ad565b606083015250608061040d848285016104ad565b60808301525060a0610421848285016104ad565b60a08301525060c0610435848285016104c3565b60c08301525060e06104498482850161030d565b60e08301525061010061045e8482850161030d565b610100830152506101206104748482850161030d565b6101208301525061014061048a8482850161030d565b610140830152506101606104a0848285016104ce565b6101608301525092915050565b805161030781610725565b80516103078161072e565b805161030781610737565b805161030781610740565b6000602082840312156104eb57600080fd5b60006104f784846102fc565b949350505050565b60006020828403121561051157600080fd5b60006104f7848461030d565b6000806020838503121561053057600080fd5b823567ffffffffffffffff81111561054757600080fd5b61055385828601610318565b92509250509250929050565b6000610180828403121561057257600080fd5b60006104f78484610394565b600061058a8383610592565b505060200190565b61059b816106d2565b82525050565b60006105ad83856106b3565b93506105b8826106aa565b8060005b858110156105ee576105ce82846106bc565b6105d8888261057e565b97506105e3836106ad565b9250506001016105bc565b509495945050505050565b6000610606601f836106b3565b7f5f5f76616c69646174654974656d733a20496e76616c69642061546f6b656e00815260200192915050565b61059b816106aa565b602081016103078284610592565b60208082528101610307816105f9565b604081016106678286610632565b818103602083015261067a8184866105a1565b95945050505050565b60405181810167ffffffffffffffff811182821017156106a257600080fd5b604052919050565b90565b60200190565b90815260200190565b60006106cb60208401846102fc565b9392505050565b6000610307826106f2565b6fffffffffffffffffffffffffffffffff1690565b6001600160a01b031690565b64ffffffffff1690565b60ff1690565b610717816106d2565b811461072257600080fd5b50565b610717816106dd565b610717816106aa565b610717816106fe565b6107178161070856fea164736f6c634300060c000a", - "sourceMap": "719:1201:11:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1692:200:14;;;;;;:::i;:::-;;:::i;:::-;;;1779:23;1795:6;;1779:15;:23::i;:::-;1813:72;;-1:-1:-1;;;1813:72:14;;-1:-1:-1;;;;;1813:30:14;:40;;;;:72;;1860:7;;1877:6;;;;1813:72;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1692:200;;:::o;1336:582:11:-;1416:38;1489;-1:-1:-1;;;;;1489:53:11;;:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1416:138;;1570:9;1565:347;1581:17;;;1565:347;;;1619:14;1636:6;;1643:1;1636:9;;;;;;;;;;;;;;;;;;;;:::i;:::-;1619:26;;1659:18;1692:6;-1:-1:-1;;;;;1680:44:11;;:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1776;;-1:-1:-1;;;1776:46:11;;1659:67;;-1:-1:-1;;;;;;1776:34:11;;;;;:46;;1659:67;;1776:46;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:60;;;-1:-1:-1;;;;;1766:70:11;:6;-1:-1:-1;;;;;1766:70:11;;1741:160;;;;-1:-1:-1;;;1741:160:11;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;1600:3:11;;1565:347;;;;1336:582;;;:::o;5:130:-1:-;72:20;;97:33;72:20;97:33;:::i;:::-;57:78;;;;:::o;142:134::-;220:13;;238:33;220:13;238:33;:::i;301:352::-;;;431:3;424:4;416:6;412:17;408:27;398:2;;449:1;446;439:12;398:2;-1:-1;469:20;;509:18;498:30;;495:2;;;541:1;538;531:12;495:2;575:4;567:6;563:17;551:29;;626:3;618:4;610:6;606:17;596:8;592:32;589:41;586:2;;;643:1;640;633:12;586:2;391:262;;;;;:::o;717:362::-;;859:4;847:9;842:3;838:19;834:30;831:2;;;877:1;874;867:12;831:2;895:20;910:4;895:20;:::i;:::-;886:29;-1:-1;965:1;997:60;1053:3;1033:9;997:60;:::i;:::-;972:86;;-1:-1;983:5;825:254;-1:-1;;825:254::o;1130:2287::-;;1260:6;1248:9;1243:3;1239:19;1235:32;1232:2;;;1280:1;1277;1270:12;1232:2;1298:22;1313:6;1298:22;:::i;:::-;1289:31;-1:-1;1379:1;1411:102;1509:3;1489:9;1411:102;:::i;:::-;1386:128;;-1:-1;1585:2;1618:60;1674:3;1650:22;;;1618:60;:::i;:::-;1611:4;1604:5;1600:16;1593:86;1535:155;1755:2;1788:60;1844:3;1835:6;1824:9;1820:22;1788:60;:::i;:::-;1781:4;1774:5;1770:16;1763:86;1700:160;1926:2;1959:60;2015:3;2006:6;1995:9;1991:22;1959:60;:::i;:::-;1952:4;1945:5;1941:16;1934:86;1870:161;2102:3;2136:60;2192:3;2183:6;2172:9;2168:22;2136:60;:::i;:::-;2129:4;2122:5;2118:16;2111:86;2041:167;2277:3;2311:60;2367:3;2358:6;2347:9;2343:22;2311:60;:::i;:::-;2304:4;2297:5;2293:16;2286:86;2218:165;2448:3;2482:59;2537:3;2528:6;2517:9;2513:22;2482:59;:::i;:::-;2475:4;2468:5;2464:16;2457:85;2393:160;2612:3;2646:60;2702:3;2693:6;2682:9;2678:22;2646:60;:::i;:::-;2639:4;2632:5;2628:16;2621:86;2563:155;2786:3;2822:60;2878:3;2869:6;2858:9;2854:22;2822:60;:::i;:::-;2813:6;2806:5;2802:18;2795:88;2728:166;2964:3;3000:60;3056:3;3047:6;3036:9;3032:22;3000:60;:::i;:::-;2991:6;2984:5;2980:18;2973:88;2904:168;3145:3;3181:60;3237:3;3228:6;3217:9;3213:22;3181:60;:::i;:::-;3172:6;3165:5;3161:18;3154:88;3082:171;3301:3;3337:58;3391:3;3382:6;3371:9;3367:22;3337:58;:::i;:::-;3328:6;3321:5;3317:18;3310:86;3263:144;1226:2191;;;;:::o;3424:134::-;3502:13;;3520:33;3502:13;3520:33;:::i;3565:134::-;3643:13;;3661:33;3643:13;3661:33;:::i;3706:132::-;3783:13;;3801:32;3783:13;3801:32;:::i;3845:130::-;3921:13;;3939:31;3921:13;3939:31;:::i;3982:241::-;;4086:2;4074:9;4065:7;4061:23;4057:32;4054:2;;;4102:1;4099;4092:12;4054:2;4137:1;4154:53;4199:7;4179:9;4154:53;:::i;:::-;4144:63;4048:175;-1:-1;;;;4048:175::o;4230:263::-;;4345:2;4333:9;4324:7;4320:23;4316:32;4313:2;;;4361:1;4358;4351:12;4313:2;4396:1;4413:64;4469:7;4449:9;4413:64;:::i;4500:397::-;;;4639:2;4627:9;4618:7;4614:23;4610:32;4607:2;;;4655:1;4652;4645:12;4607:2;4690:31;;4741:18;4730:30;;4727:2;;;4773:1;4770;4763:12;4727:2;4801:80;4873:7;4864:6;4853:9;4849:22;4801:80;:::i;:::-;4783:98;;;;4669:218;4601:296;;;;;:::o;4904:324::-;;5049:3;5037:9;5028:7;5024:23;5020:33;5017:2;;;5066:1;5063;5056:12;5017:2;5101:1;5118:94;5204:7;5184:9;5118:94;:::i;5236:173::-;;5323:46;5365:3;5357:6;5323:46;:::i;:::-;-1:-1;;5398:4;5389:14;;5316:93::o;5417:103::-;5490:24;5508:5;5490:24;:::i;:::-;5485:3;5478:37;5472:48;;:::o;5678:665::-;;5832:86;5911:6;5906:3;5832:86;:::i;:::-;5825:93;;5939:58;5991:5;5939:58;:::i;:::-;6017:7;6045:1;6030:291;6055:6;6052:1;6049:13;6030:291;;;6116:42;6151:6;6142:7;6116:42;:::i;:::-;6172:63;6231:3;6216:13;6172:63;:::i;:::-;6165:70;;6252:62;6307:6;6252:62;:::i;:::-;6242:72;-1:-1;;6077:1;6070:9;6030:291;;;-1:-1;6334:3;;5812:531;-1:-1;;;;;5812:531::o;6352:331::-;;6512:67;6576:2;6571:3;6512:67;:::i;:::-;6612:33;6592:54;;6674:2;6665:12;;6498:185;-1:-1;;6498:185::o;6691:113::-;6774:24;6792:5;6774:24;:::i;6811:222::-;6938:2;6923:18;;6952:71;6927:9;6996:6;6952:71;:::i;7040:416::-;7240:2;7254:47;;;7225:18;;7315:131;7225:18;7315:131;:::i;7463:501::-;7678:2;7663:18;;7692:71;7667:9;7736:6;7692:71;:::i;:::-;7811:9;7805:4;7801:20;7796:2;7785:9;7781:18;7774:48;7836:118;7949:4;7940:6;7932;7836:118;:::i;:::-;7828:126;7649:315;-1:-1;;;;;7649:315::o;7971:256::-;8033:2;8027:9;8059:17;;;8134:18;8119:34;;8155:22;;;8116:62;8113:2;;;8191:1;8188;8181:12;8113:2;8207;8200:22;8011:216;;-1:-1;8011:216::o;8234:118::-;8322:3;8308:44::o;8359:110::-;8459:4;8450:14;;8436:33::o;8477:178::-;8595:19;;;8644:4;8635:14;;8588:67::o;8836:119::-;;8910:39;8945:2;8940:3;8936:12;8931:3;8910:39;:::i;:::-;8901:48;8894:61;-1:-1;;;8894:61::o;8963:91::-;;9025:24;9043:5;9025:24;:::i;9061:113::-;9134:34;9123:46;;9106:68::o;9181:121::-;-1:-1;;;;;9243:54;;9226:76::o;9388:90::-;9460:12;9449:24;;9432:46::o;9485:81::-;9556:4;9545:16;;9528:38::o;9573:117::-;9642:24;9660:5;9642:24;:::i;:::-;9635:5;9632:35;9622:2;;9681:1;9678;9671:12;9622:2;9616:74;:::o;9697:117::-;9766:24;9784:5;9766:24;:::i;9821:117::-;9890:24;9908:5;9890:24;:::i;9945:115::-;10013:23;10030:5;10013:23;:::i;10067:113::-;10134:22;10150:5;10134:22;:::i", - "linkReferences": {}, - "immutableReferences": { - "2492": [ - { - "start": 249, - "length": 32 - } - ], - "2725": [ - { - "start": 102, - "length": 32 - } - ], - "2727": [ - { - "start": 147, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "addValidatedItemsToList(address[])": "a8f0bc41" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_addressListRegistry\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_listDescription\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"_lendingPoolAddressProvider\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_items\",\"type\":\"address[]\"}],\"name\":\"addValidatedItemsToList\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"addValidatedItemsToList(address[])\":{\"details\":\"Override if access control needed\",\"params\":{\"_items\":\"Items to add\"}}},\"title\":\"AaveV2ATokenListOwner Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"addValidatedItemsToList(address[])\":{\"notice\":\"Add items to the list after subjecting them to validation\"}},\"notice\":\"The AddressListRegistry owner of an Aave v2 aToken list\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/address-list-registry/address-list-owners/AaveV2ATokenListOwner.sol\":\"AaveV2ATokenListOwner\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/address-list-registry/AddressListRegistry.sol\":{\"keccak256\":\"0xf00a9e376e3ec2a223f463f71c15ee3af3642dd028bc3762440e316b760c8048\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://01986c9327b5dfbfac21316dced6d68727931ddde1278ed1342d878004f984b9\",\"dweb:/ipfs/QmdXkFaUU43JqMTYEREbWa129rohdqN7GXy7mVRpjCfSLD\"]},\"contracts/persistent/address-list-registry/address-list-owners/AaveV2ATokenListOwner.sol\":{\"keccak256\":\"0x3d2d4ef23a6a136241f9da94eca64900e1bdd7056ed9cbb7c1fc71d882191eb9\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c317e1d6f9065aabb9468e99df32b632ea8d18de2e542ffabb68cd36ff0a059d\",\"dweb:/ipfs/Qmbt1dYFVd6Bs8oZeKN8hXvqK4sAeKMvc7iaKAh63EzogC\"]},\"contracts/persistent/address-list-registry/address-list-owners/utils/AddOnlyAddressListOwnerBase.sol\":{\"keccak256\":\"0xd3b355f8146b7df79e4537b021379a237d6620c0bdec25e9d96f2b741864909a\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://fcddc5b1dcbe7588943492a5d62ede92f23c46db0bf523267fda0ba9e8acafb5\",\"dweb:/ipfs/QmRssFbEBCRwELD7pvnU7GWoZzxfZocys4sFW33VL71jpt\"]},\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/release/interfaces/IAaveAToken.sol\":{\"keccak256\":\"0x2fe53734b46e1238b7d46889774c5813fa9e132350f45028b5584dfcc254c97b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://7b4b689deca405c2f9f85132d8b1b8650499d3d521b8b302299e25aa5172d81d\",\"dweb:/ipfs/QmUTZHqVT1exEd5RUyjPS6wwkJmZBW9Dgkkb7emiFCSUMW\"]},\"contracts/release/interfaces/IAaveV2LendingPool.sol\":{\"keccak256\":\"0xe9398d0cd11197b955d282c88a345a481cadc70fea502f7b3362234a62b64257\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://569315086744d75b6140ed19dbf53117b07ff986ea524cc6ade31820bee66d3b\",\"dweb:/ipfs/QmeBHxBHYRmBq5nUnxoqQgZ4FDUMcXnzFu6X8Qb96fwdU9\"]},\"contracts/release/interfaces/IAaveV2LendingPoolAddressProvider.sol\":{\"keccak256\":\"0xf383db1b24ec2f4bb4946422696dfeac769aa36bf692efedbf3e38e368ac5284\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://e9c8ffde2206d37a0c31566677b15eedcbb90ae3e5a131a6c811f3056c176591\",\"dweb:/ipfs/QmPkc8wVGU7VPe9BAUQA6r66w7jC3m5T3UyFW4i4zhLxEZ\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_addressListRegistry", - "type": "address" - }, - { - "internalType": "string", - "name": "_listDescription", - "type": "string" - }, - { - "internalType": "address", - "name": "_lendingPoolAddressProvider", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_items", - "type": "address[]" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "addValidatedItemsToList" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "addValidatedItemsToList(address[])": { - "details": "Override if access control needed", - "params": { - "_items": "Items to add" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "addValidatedItemsToList(address[])": { - "notice": "Add items to the list after subjecting them to validation" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/persistent/address-list-registry/address-list-owners/AaveV2ATokenListOwner.sol": "AaveV2ATokenListOwner" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/address-list-registry/AddressListRegistry.sol": { - "keccak256": "0xf00a9e376e3ec2a223f463f71c15ee3af3642dd028bc3762440e316b760c8048", - "urls": [ - "bzz-raw://01986c9327b5dfbfac21316dced6d68727931ddde1278ed1342d878004f984b9", - "dweb:/ipfs/QmdXkFaUU43JqMTYEREbWa129rohdqN7GXy7mVRpjCfSLD" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/address-list-registry/address-list-owners/AaveV2ATokenListOwner.sol": { - "keccak256": "0x3d2d4ef23a6a136241f9da94eca64900e1bdd7056ed9cbb7c1fc71d882191eb9", - "urls": [ - "bzz-raw://c317e1d6f9065aabb9468e99df32b632ea8d18de2e542ffabb68cd36ff0a059d", - "dweb:/ipfs/Qmbt1dYFVd6Bs8oZeKN8hXvqK4sAeKMvc7iaKAh63EzogC" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/address-list-registry/address-list-owners/utils/AddOnlyAddressListOwnerBase.sol": { - "keccak256": "0xd3b355f8146b7df79e4537b021379a237d6620c0bdec25e9d96f2b741864909a", - "urls": [ - "bzz-raw://fcddc5b1dcbe7588943492a5d62ede92f23c46db0bf523267fda0ba9e8acafb5", - "dweb:/ipfs/QmRssFbEBCRwELD7pvnU7GWoZzxfZocys4sFW33VL71jpt" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/dispatcher/IDispatcher.sol": { - "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", - "urls": [ - "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", - "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IAaveAToken.sol": { - "keccak256": "0x2fe53734b46e1238b7d46889774c5813fa9e132350f45028b5584dfcc254c97b", - "urls": [ - "bzz-raw://7b4b689deca405c2f9f85132d8b1b8650499d3d521b8b302299e25aa5172d81d", - "dweb:/ipfs/QmUTZHqVT1exEd5RUyjPS6wwkJmZBW9Dgkkb7emiFCSUMW" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IAaveV2LendingPool.sol": { - "keccak256": "0xe9398d0cd11197b955d282c88a345a481cadc70fea502f7b3362234a62b64257", - "urls": [ - "bzz-raw://569315086744d75b6140ed19dbf53117b07ff986ea524cc6ade31820bee66d3b", - "dweb:/ipfs/QmeBHxBHYRmBq5nUnxoqQgZ4FDUMcXnzFu6X8Qb96fwdU9" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IAaveV2LendingPoolAddressProvider.sol": { - "keccak256": "0xf383db1b24ec2f4bb4946422696dfeac769aa36bf692efedbf3e38e368ac5284", - "urls": [ - "bzz-raw://e9c8ffde2206d37a0c31566677b15eedcbb90ae3e5a131a6c811f3056c176591", - "dweb:/ipfs/QmPkc8wVGU7VPe9BAUQA6r66w7jC3m5T3UyFW4i4zhLxEZ" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 11 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_addressListRegistry", "type": "address", "internalType": "address" }, { "name": "_listDescription", "type": "string", "internalType": "string" }, { "name": "_lendingPoolAddressProvider", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "addValidatedItemsToList", "inputs": [ { "name": "_items", "type": "address[]", "internalType": "address[]" } ], "outputs": [], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x60e06040523480156200001157600080fd5b5060405162000df138038062000df183398101604081905262000034916200028f565b6001600160601b0319606084901b16608052828260006001600160a01b03831663be68406e3060018460405190808252806020026020018201604052801562000087578160200160208202803683370190505b506040518463ffffffff1660e01b8152600401620000a893929190620004fd565b602060405180830381600087803b158015620000c357600080fd5b505af1158015620000d8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000fe9190620002fb565b60a0819052604080516001808252818301909252919250606091906020808301908036833750506040805160018082528183019092529293506060929150602082015b60608152602001906001900390816200014157905050905082826000815181106200016857fe5b60200260200101818152505083816000815181106200018357fe5b6020908102919091010152604051635a137ca360e11b81526001600160a01b0386169063b426f94690620001be908590859060040162000539565b600060405180830381600087803b158015620001d957600080fd5b505af1158015620001ee573d6000803e3d6000fd5b505050505060609490941b6001600160601b03191660c052506200066b945050505050565b8051620002208162000649565b92915050565b600082601f8301126200023857600080fd5b81516200024f620002498262000589565b62000562565b915080825260208301602083018583830111156200026c57600080fd5b62000279838284620005fe565b50505092915050565b8051620002208162000660565b600080600060608486031215620002a557600080fd5b6000620002b3868662000213565b93505060208401516001600160401b03811115620002d057600080fd5b620002de8682870162000226565b9250506040620002f18682870162000213565b9150509250925092565b6000602082840312156200030e57600080fd5b60006200031c848462000282565b949350505050565b60006200033283836200035d565b505060200190565b6000620003488383620004b2565b9392505050565b6000620003328383620004f2565b6200036881620005c4565b82525050565b60006200037b82620005b7565b620003878185620005bb565b93506200039483620005b1565b8060005b83811015620003c8578151620003af888262000324565b9750620003bc83620005b1565b92505060010162000398565b509495945050505050565b6000620003e082620005b7565b620003ec8185620005bb565b9350836020820285016200040085620005b1565b8060005b858110156200044057848403895281516200042085826200033a565b94506200042d83620005b1565b60209a909a019992505060010162000404565b5091979650505050505050565b60006200045a82620005b7565b620004668185620005bb565b93506200047383620005b1565b8060005b83811015620003c85781516200048e88826200034f565b97506200049b83620005b1565b92505060010162000477565b6200036881620005f1565b6000620004bf82620005b7565b620004cb8185620005bb565b9350620004dd818560208601620005fe565b620004e88162000631565b9093019392505050565b6200036881620005ee565b606081016200050d82866200035d565b6200051c6020830185620004a7565b81810360408301526200053081846200036e565b95945050505050565b604080825281016200054c81856200044d565b905081810360208301526200031c8184620003d3565b6040518181016001600160401b03811182821017156200058157600080fd5b604052919050565b60006001600160401b03821115620005a057600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b60006200022082620005e2565b80620005dd816200063b565b919050565b6001600160a01b031690565b90565b60006200022082620005d1565b60005b838110156200061b57818101518382015260200162000601565b838111156200062b576000848401525b50505050565b601f01601f191690565b600481106200064657fe5b50565b6200065481620005c4565b81146200064657600080fd5b6200065481620005ee565b60805160601c60a05160c05160601c6107566200069b6000398060f95250806093525080606652506107566000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063a8f0bc4114610030575b600080fd5b61004361003e36600461051d565b610045565b005b61004f82826100f5565b6040516346d1eb9b60e11b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690638da3d736906100bf907f00000000000000000000000000000000000000000000000000000000000000009086908690600401610659565b600060405180830381600087803b1580156100d957600080fd5b505af11580156100ed573d6000803e3d6000fd5b505050505050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316630261bf8b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561015057600080fd5b505afa158015610164573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061018891906104ff565b905060005b828110156102f65760008484838181106101a357fe5b90506020020160208101906101b891906104d9565b90506000816001600160a01b031663b16a19de6040518163ffffffff1660e01b815260040160206040518083038186803b1580156101f557600080fd5b505afa158015610209573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061022d91906104ff565b6040516335ea6a7560e01b81529091506001600160a01b038516906335ea6a759061025c90849060040161063b565b61018060405180830381600087803b15801561027757600080fd5b505af115801561028b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102af919061055f565b60e001516001600160a01b0316826001600160a01b0316146102ec5760405162461bcd60e51b81526004016102e390610649565b60405180910390fd5b505060010161018d565b50505050565b80356103078161070e565b92915050565b80516103078161070e565b60008083601f84011261032a57600080fd5b50813567ffffffffffffffff81111561034257600080fd5b60208301915083602082028301111561035a57600080fd5b9250929050565b60006020828403121561037357600080fd5b61037d6020610683565b9050600061038b84846104b8565b82525092915050565b600061018082840312156103a757600080fd5b6103b2610180610683565b905060006103c08484610361565b82525060206103d1848483016104ad565b60208301525060406103e5848285016104ad565b60408301525060606103f9848285016104ad565b606083015250608061040d848285016104ad565b60808301525060a0610421848285016104ad565b60a08301525060c0610435848285016104c3565b60c08301525060e06104498482850161030d565b60e08301525061010061045e8482850161030d565b610100830152506101206104748482850161030d565b6101208301525061014061048a8482850161030d565b610140830152506101606104a0848285016104ce565b6101608301525092915050565b805161030781610725565b80516103078161072e565b805161030781610737565b805161030781610740565b6000602082840312156104eb57600080fd5b60006104f784846102fc565b949350505050565b60006020828403121561051157600080fd5b60006104f7848461030d565b6000806020838503121561053057600080fd5b823567ffffffffffffffff81111561054757600080fd5b61055385828601610318565b92509250509250929050565b6000610180828403121561057257600080fd5b60006104f78484610394565b600061058a8383610592565b505060200190565b61059b816106d2565b82525050565b60006105ad83856106b3565b93506105b8826106aa565b8060005b858110156105ee576105ce82846106bc565b6105d8888261057e565b97506105e3836106ad565b9250506001016105bc565b509495945050505050565b6000610606601f836106b3565b7f5f5f76616c69646174654974656d733a20496e76616c69642061546f6b656e00815260200192915050565b61059b816106aa565b602081016103078284610592565b60208082528101610307816105f9565b604081016106678286610632565b818103602083015261067a8184866105a1565b95945050505050565b60405181810167ffffffffffffffff811182821017156106a257600080fd5b604052919050565b90565b60200190565b90815260200190565b60006106cb60208401846102fc565b9392505050565b6000610307826106f2565b6fffffffffffffffffffffffffffffffff1690565b6001600160a01b031690565b64ffffffffff1690565b60ff1690565b610717816106d2565b811461072257600080fd5b50565b610717816106dd565b610717816106aa565b610717816106fe565b6107178161070856fea164736f6c634300060c000a", "sourceMap": "719:1201:11:-:0;;;884:358;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;802:74:14;;;;;;;1060:20:11;1082:16;914:14:14;-1:-1:-1;;;;;802:74:14;;931:52;1014:4;1046:38;914:14;1113:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1113:16:14;;931:209;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1150:16;;;;1234;;;1248:1;1234:16;;;;;;;;;1150;;-1:-1:-1;1207:24:14;;1234:16;;;;;;;;;;-1:-1:-1;;1291:15:14;;;1304:1;1291:15;;;;;;;;;1207:43;;-1:-1:-1;1260:28:14;;1291:15;-1:-1:-1;1291:15:14;;;;;;;;;;;;;;;;;;;;1260:46;;1329:6;1316:7;1324:1;1316:10;;;;;;;;;;;;;:19;;;;;1363:16;1345:12;1358:1;1345:15;;;;;;;;;;;;;;;;;:34;1390:133;;-1:-1:-1;;;1390:133:14;;-1:-1:-1;;;;;1390:53:14;;;;;:133;;1464:7;;1500:12;;1390:133;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1110:125:11::1;::::0;;;;-1:-1:-1;;;;;;1110:125:11;::::1;::::0;-1:-1:-1;719:1201:11;;-1:-1:-1;;;;;719:1201:11;5:134:-1;83:13;;101:33;83:13;101:33;:::i;:::-;68:71;;;;:::o;147:444::-;;260:3;253:4;245:6;241:17;237:27;227:2;;278:1;275;268:12;227:2;308:6;302:13;330:65;345:49;387:6;345:49;:::i;:::-;330:65;:::i;:::-;321:74;;415:6;408:5;401:21;451:4;443:6;439:17;484:4;477:5;473:16;519:3;510:6;505:3;501:16;498:25;495:2;;;536:1;533;526:12;495:2;546:39;578:6;573:3;568;546:39;:::i;:::-;220:371;;;;;;;:::o;599:134::-;677:13;;695:33;677:13;695:33;:::i;740:634::-;;;;899:2;887:9;878:7;874:23;870:32;867:2;;;915:1;912;905:12;867:2;950:1;967:64;1023:7;1003:9;967:64;:::i;:::-;957:74;;929:108;1089:2;1078:9;1074:18;1068:25;-1:-1;;;;;1105:6;1102:30;1099:2;;;1145:1;1142;1135:12;1099:2;1165:74;1231:7;1222:6;1211:9;1207:22;1165:74;:::i;:::-;1155:84;;1047:198;1276:2;1294:64;1350:7;1341:6;1330:9;1326:22;1294:64;:::i;:::-;1284:74;;1255:109;861:513;;;;;:::o;1381:263::-;;1496:2;1484:9;1475:7;1471:23;1467:32;1464:2;;;1512:1;1509;1502:12;1464:2;1547:1;1564:64;1620:7;1600:9;1564:64;:::i;:::-;1554:74;1458:186;-1:-1;;;;1458:186::o;1652:173::-;;1739:46;1781:3;1773:6;1739:46;:::i;:::-;-1:-1;;1814:4;1805:14;;1732:93::o;1834:193::-;;1955:66;2017:3;2009:6;1955:66;:::i;:::-;1941:80;1934:93;-1:-1;;;1934:93::o;2036:173::-;;2123:46;2165:3;2157:6;2123:46;:::i;2217:103::-;2290:24;2308:5;2290:24;:::i;:::-;2285:3;2278:37;2272:48;;:::o;2478:690::-;;2623:54;2671:5;2623:54;:::i;:::-;2690:86;2769:6;2764:3;2690:86;:::i;:::-;2683:93;;2797:56;2847:5;2797:56;:::i;:::-;2873:7;2901:1;2886:260;2911:6;2908:1;2905:13;2886:260;;;2978:6;2972:13;2999:63;3058:3;3043:13;2999:63;:::i;:::-;2992:70;;3079:60;3132:6;3079:60;:::i;:::-;3069:70;-1:-1;;2933:1;2926:9;2886:260;;;-1:-1;3159:3;;2602:566;-1:-1;;;;;2602:566::o;3205:928::-;;3370:64;3428:5;3370:64;:::i;:::-;3447:96;3536:6;3531:3;3447:96;:::i;:::-;3440:103;;3566:3;3608:4;3600:6;3596:17;3591:3;3587:27;3635:66;3695:5;3635:66;:::i;:::-;3721:7;3749:1;3734:360;3759:6;3756:1;3753:13;3734:360;;;3821:9;3815:4;3811:20;3806:3;3799:33;3866:6;3860:13;3888:84;3967:4;3952:13;3888:84;:::i;:::-;3880:92;;3989:70;4052:6;3989:70;:::i;:::-;4082:4;4073:14;;;;;3979:80;-1:-1;;3781:1;3774:9;3734:360;;;-1:-1;4107:4;;3349:784;-1:-1;;;;;;;3349:784::o;4172:690::-;;4317:54;4365:5;4317:54;:::i;:::-;4384:86;4463:6;4458:3;4384:86;:::i;:::-;4377:93;;4491:56;4541:5;4491:56;:::i;:::-;4567:7;4595:1;4580:260;4605:6;4602:1;4599:13;4580:260;;;4672:6;4666:13;4693:63;4752:3;4737:13;4693:63;:::i;:::-;4686:70;;4773:60;4826:6;4773:60;:::i;:::-;4763:70;-1:-1;;4627:1;4620:9;4580:260;;4870:152;4966:50;5010:5;4966:50;:::i;5029:327::-;;5131:39;5164:5;5131:39;:::i;:::-;5182:61;5236:6;5231:3;5182:61;:::i;:::-;5175:68;;5248:52;5293:6;5288:3;5281:4;5274:5;5270:16;5248:52;:::i;:::-;5321:29;5343:6;5321:29;:::i;:::-;5312:39;;;;5111:245;-1:-1;;;5111:245::o;5363:103::-;5436:24;5454:5;5436:24;:::i;5473:618::-;5719:2;5704:18;;5733:71;5708:9;5777:6;5733:71;:::i;:::-;5815:85;5896:2;5885:9;5881:18;5872:6;5815:85;:::i;:::-;5948:9;5942:4;5938:20;5933:2;5922:9;5918:18;5911:48;5973:108;6076:4;6067:6;5973:108;:::i;:::-;5965:116;5690:401;-1:-1;;;;;5690:401::o;6098:669::-;6373:2;6387:47;;;6358:18;;6448:108;6358:18;6542:6;6448:108;:::i;:::-;6440:116;;6604:9;6598:4;6594:20;6589:2;6578:9;6574:18;6567:48;6629:128;6752:4;6743:6;6629:128;:::i;6774:256::-;6836:2;6830:9;6862:17;;;-1:-1;;;;;6922:34;;6958:22;;;6919:62;6916:2;;;6994:1;6991;6984:12;6916:2;7010;7003:22;6814:216;;-1:-1;6814:216::o;7037:322::-;;-1:-1;;;;;7173:6;7170:30;7167:2;;;7213:1;7210;7203:12;7167:2;-1:-1;7344:4;7280;7257:17;;;;-1:-1;;7253:33;7334:15;;7104:255::o;7366:151::-;7490:4;7481:14;;7438:79::o;7850:137::-;7953:12;;7924:63::o;8777:178::-;8895:19;;;8944:4;8935:14;;8888:67::o;9509:91::-;;9571:24;9589:5;9571:24;:::i;9607:136::-;9684:5;9690:48;9684:5;9690:48;:::i;:::-;9667:76;;;:::o;9750:121::-;-1:-1;;;;;9812:54;;9795:76::o;9878:72::-;9940:5;9923:27::o;9957:136::-;;10049:39;10082:5;10049:39;:::i;10101:268::-;10166:1;10173:101;10187:6;10184:1;10181:13;10173:101;;;10254:11;;;10248:18;10235:11;;;10228:39;10209:2;10202:10;10173:101;;;10289:6;10286:1;10283:13;10280:2;;;10354:1;10345:6;10340:3;10336:16;10329:27;10280:2;10150:219;;;;:::o;10377:97::-;10465:2;10445:14;-1:-1;;10441:28;;10425:49::o;10482:106::-;10566:1;10559:5;10556:12;10546:2;;10572:9;10546:2;10540:48;:::o;10595:117::-;10664:24;10682:5;10664:24;:::i;:::-;10657:5;10654:35;10644:2;;10703:1;10700;10693:12;10719:117;10788:24;10806:5;10788:24;:::i;10762:74::-;719:1201:11;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c8063a8f0bc4114610030575b600080fd5b61004361003e36600461051d565b610045565b005b61004f82826100f5565b6040516346d1eb9b60e11b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690638da3d736906100bf907f00000000000000000000000000000000000000000000000000000000000000009086908690600401610659565b600060405180830381600087803b1580156100d957600080fd5b505af11580156100ed573d6000803e3d6000fd5b505050505050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316630261bf8b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561015057600080fd5b505afa158015610164573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061018891906104ff565b905060005b828110156102f65760008484838181106101a357fe5b90506020020160208101906101b891906104d9565b90506000816001600160a01b031663b16a19de6040518163ffffffff1660e01b815260040160206040518083038186803b1580156101f557600080fd5b505afa158015610209573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061022d91906104ff565b6040516335ea6a7560e01b81529091506001600160a01b038516906335ea6a759061025c90849060040161063b565b61018060405180830381600087803b15801561027757600080fd5b505af115801561028b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102af919061055f565b60e001516001600160a01b0316826001600160a01b0316146102ec5760405162461bcd60e51b81526004016102e390610649565b60405180910390fd5b505060010161018d565b50505050565b80356103078161070e565b92915050565b80516103078161070e565b60008083601f84011261032a57600080fd5b50813567ffffffffffffffff81111561034257600080fd5b60208301915083602082028301111561035a57600080fd5b9250929050565b60006020828403121561037357600080fd5b61037d6020610683565b9050600061038b84846104b8565b82525092915050565b600061018082840312156103a757600080fd5b6103b2610180610683565b905060006103c08484610361565b82525060206103d1848483016104ad565b60208301525060406103e5848285016104ad565b60408301525060606103f9848285016104ad565b606083015250608061040d848285016104ad565b60808301525060a0610421848285016104ad565b60a08301525060c0610435848285016104c3565b60c08301525060e06104498482850161030d565b60e08301525061010061045e8482850161030d565b610100830152506101206104748482850161030d565b6101208301525061014061048a8482850161030d565b610140830152506101606104a0848285016104ce565b6101608301525092915050565b805161030781610725565b80516103078161072e565b805161030781610737565b805161030781610740565b6000602082840312156104eb57600080fd5b60006104f784846102fc565b949350505050565b60006020828403121561051157600080fd5b60006104f7848461030d565b6000806020838503121561053057600080fd5b823567ffffffffffffffff81111561054757600080fd5b61055385828601610318565b92509250509250929050565b6000610180828403121561057257600080fd5b60006104f78484610394565b600061058a8383610592565b505060200190565b61059b816106d2565b82525050565b60006105ad83856106b3565b93506105b8826106aa565b8060005b858110156105ee576105ce82846106bc565b6105d8888261057e565b97506105e3836106ad565b9250506001016105bc565b509495945050505050565b6000610606601f836106b3565b7f5f5f76616c69646174654974656d733a20496e76616c69642061546f6b656e00815260200192915050565b61059b816106aa565b602081016103078284610592565b60208082528101610307816105f9565b604081016106678286610632565b818103602083015261067a8184866105a1565b95945050505050565b60405181810167ffffffffffffffff811182821017156106a257600080fd5b604052919050565b90565b60200190565b90815260200190565b60006106cb60208401846102fc565b9392505050565b6000610307826106f2565b6fffffffffffffffffffffffffffffffff1690565b6001600160a01b031690565b64ffffffffff1690565b60ff1690565b610717816106d2565b811461072257600080fd5b50565b610717816106dd565b610717816106aa565b610717816106fe565b6107178161070856fea164736f6c634300060c000a", "sourceMap": "719:1201:11:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1692:200:14;;;;;;:::i;:::-;;:::i;:::-;;;1779:23;1795:6;;1779:15;:23::i;:::-;1813:72;;-1:-1:-1;;;1813:72:14;;-1:-1:-1;;;;;1813:30:14;:40;;;;:72;;1860:7;;1877:6;;;;1813:72;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1692:200;;:::o;1336:582:11:-;1416:38;1489;-1:-1:-1;;;;;1489:53:11;;:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1416:138;;1570:9;1565:347;1581:17;;;1565:347;;;1619:14;1636:6;;1643:1;1636:9;;;;;;;;;;;;;;;;;;;;:::i;:::-;1619:26;;1659:18;1692:6;-1:-1:-1;;;;;1680:44:11;;:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1776;;-1:-1:-1;;;1776:46:11;;1659:67;;-1:-1:-1;;;;;;1776:34:11;;;;;:46;;1659:67;;1776:46;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:60;;;-1:-1:-1;;;;;1766:70:11;:6;-1:-1:-1;;;;;1766:70:11;;1741:160;;;;-1:-1:-1;;;1741:160:11;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;1600:3:11;;1565:347;;;;1336:582;;;:::o;5:130:-1:-;72:20;;97:33;72:20;97:33;:::i;:::-;57:78;;;;:::o;142:134::-;220:13;;238:33;220:13;238:33;:::i;301:352::-;;;431:3;424:4;416:6;412:17;408:27;398:2;;449:1;446;439:12;398:2;-1:-1;469:20;;509:18;498:30;;495:2;;;541:1;538;531:12;495:2;575:4;567:6;563:17;551:29;;626:3;618:4;610:6;606:17;596:8;592:32;589:41;586:2;;;643:1;640;633:12;586:2;391:262;;;;;:::o;717:362::-;;859:4;847:9;842:3;838:19;834:30;831:2;;;877:1;874;867:12;831:2;895:20;910:4;895:20;:::i;:::-;886:29;-1:-1;965:1;997:60;1053:3;1033:9;997:60;:::i;:::-;972:86;;-1:-1;983:5;825:254;-1:-1;;825:254::o;1130:2287::-;;1260:6;1248:9;1243:3;1239:19;1235:32;1232:2;;;1280:1;1277;1270:12;1232:2;1298:22;1313:6;1298:22;:::i;:::-;1289:31;-1:-1;1379:1;1411:102;1509:3;1489:9;1411:102;:::i;:::-;1386:128;;-1:-1;1585:2;1618:60;1674:3;1650:22;;;1618:60;:::i;:::-;1611:4;1604:5;1600:16;1593:86;1535:155;1755:2;1788:60;1844:3;1835:6;1824:9;1820:22;1788:60;:::i;:::-;1781:4;1774:5;1770:16;1763:86;1700:160;1926:2;1959:60;2015:3;2006:6;1995:9;1991:22;1959:60;:::i;:::-;1952:4;1945:5;1941:16;1934:86;1870:161;2102:3;2136:60;2192:3;2183:6;2172:9;2168:22;2136:60;:::i;:::-;2129:4;2122:5;2118:16;2111:86;2041:167;2277:3;2311:60;2367:3;2358:6;2347:9;2343:22;2311:60;:::i;:::-;2304:4;2297:5;2293:16;2286:86;2218:165;2448:3;2482:59;2537:3;2528:6;2517:9;2513:22;2482:59;:::i;:::-;2475:4;2468:5;2464:16;2457:85;2393:160;2612:3;2646:60;2702:3;2693:6;2682:9;2678:22;2646:60;:::i;:::-;2639:4;2632:5;2628:16;2621:86;2563:155;2786:3;2822:60;2878:3;2869:6;2858:9;2854:22;2822:60;:::i;:::-;2813:6;2806:5;2802:18;2795:88;2728:166;2964:3;3000:60;3056:3;3047:6;3036:9;3032:22;3000:60;:::i;:::-;2991:6;2984:5;2980:18;2973:88;2904:168;3145:3;3181:60;3237:3;3228:6;3217:9;3213:22;3181:60;:::i;:::-;3172:6;3165:5;3161:18;3154:88;3082:171;3301:3;3337:58;3391:3;3382:6;3371:9;3367:22;3337:58;:::i;:::-;3328:6;3321:5;3317:18;3310:86;3263:144;1226:2191;;;;:::o;3424:134::-;3502:13;;3520:33;3502:13;3520:33;:::i;3565:134::-;3643:13;;3661:33;3643:13;3661:33;:::i;3706:132::-;3783:13;;3801:32;3783:13;3801:32;:::i;3845:130::-;3921:13;;3939:31;3921:13;3939:31;:::i;3982:241::-;;4086:2;4074:9;4065:7;4061:23;4057:32;4054:2;;;4102:1;4099;4092:12;4054:2;4137:1;4154:53;4199:7;4179:9;4154:53;:::i;:::-;4144:63;4048:175;-1:-1;;;;4048:175::o;4230:263::-;;4345:2;4333:9;4324:7;4320:23;4316:32;4313:2;;;4361:1;4358;4351:12;4313:2;4396:1;4413:64;4469:7;4449:9;4413:64;:::i;4500:397::-;;;4639:2;4627:9;4618:7;4614:23;4610:32;4607:2;;;4655:1;4652;4645:12;4607:2;4690:31;;4741:18;4730:30;;4727:2;;;4773:1;4770;4763:12;4727:2;4801:80;4873:7;4864:6;4853:9;4849:22;4801:80;:::i;:::-;4783:98;;;;4669:218;4601:296;;;;;:::o;4904:324::-;;5049:3;5037:9;5028:7;5024:23;5020:33;5017:2;;;5066:1;5063;5056:12;5017:2;5101:1;5118:94;5204:7;5184:9;5118:94;:::i;5236:173::-;;5323:46;5365:3;5357:6;5323:46;:::i;:::-;-1:-1;;5398:4;5389:14;;5316:93::o;5417:103::-;5490:24;5508:5;5490:24;:::i;:::-;5485:3;5478:37;5472:48;;:::o;5678:665::-;;5832:86;5911:6;5906:3;5832:86;:::i;:::-;5825:93;;5939:58;5991:5;5939:58;:::i;:::-;6017:7;6045:1;6030:291;6055:6;6052:1;6049:13;6030:291;;;6116:42;6151:6;6142:7;6116:42;:::i;:::-;6172:63;6231:3;6216:13;6172:63;:::i;:::-;6165:70;;6252:62;6307:6;6252:62;:::i;:::-;6242:72;-1:-1;;6077:1;6070:9;6030:291;;;-1:-1;6334:3;;5812:531;-1:-1;;;;;5812:531::o;6352:331::-;;6512:67;6576:2;6571:3;6512:67;:::i;:::-;6612:33;6592:54;;6674:2;6665:12;;6498:185;-1:-1;;6498:185::o;6691:113::-;6774:24;6792:5;6774:24;:::i;6811:222::-;6938:2;6923:18;;6952:71;6927:9;6996:6;6952:71;:::i;7040:416::-;7240:2;7254:47;;;7225:18;;7315:131;7225:18;7315:131;:::i;7463:501::-;7678:2;7663:18;;7692:71;7667:9;7736:6;7692:71;:::i;:::-;7811:9;7805:4;7801:20;7796:2;7785:9;7781:18;7774:48;7836:118;7949:4;7940:6;7932;7836:118;:::i;:::-;7828:126;7649:315;-1:-1;;;;;7649:315::o;7971:256::-;8033:2;8027:9;8059:17;;;8134:18;8119:34;;8155:22;;;8116:62;8113:2;;;8191:1;8188;8181:12;8113:2;8207;8200:22;8011:216;;-1:-1;8011:216::o;8234:118::-;8322:3;8308:44::o;8359:110::-;8459:4;8450:14;;8436:33::o;8477:178::-;8595:19;;;8644:4;8635:14;;8588:67::o;8836:119::-;;8910:39;8945:2;8940:3;8936:12;8931:3;8910:39;:::i;:::-;8901:48;8894:61;-1:-1;;;8894:61::o;8963:91::-;;9025:24;9043:5;9025:24;:::i;9061:113::-;9134:34;9123:46;;9106:68::o;9181:121::-;-1:-1;;;;;9243:54;;9226:76::o;9388:90::-;9460:12;9449:24;;9432:46::o;9485:81::-;9556:4;9545:16;;9528:38::o;9573:117::-;9642:24;9660:5;9642:24;:::i;:::-;9635:5;9632:35;9622:2;;9681:1;9678;9671:12;9622:2;9616:74;:::o;9697:117::-;9766:24;9784:5;9766:24;:::i;9821:117::-;9890:24;9908:5;9890:24;:::i;9945:115::-;10013:23;10030:5;10013:23;:::i;10067:113::-;10134:22;10150:5;10134:22;:::i", "linkReferences": {}, "immutableReferences": { "2492": [ { "start": 249, "length": 32 } ], "2725": [ { "start": 102, "length": 32 } ], "2727": [ { "start": 147, "length": 32 } ] } }, "methodIdentifiers": { "addValidatedItemsToList(address[])": "a8f0bc41" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_addressListRegistry\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_listDescription\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"_lendingPoolAddressProvider\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_items\",\"type\":\"address[]\"}],\"name\":\"addValidatedItemsToList\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"addValidatedItemsToList(address[])\":{\"details\":\"Override if access control needed\",\"params\":{\"_items\":\"Items to add\"}}},\"title\":\"AaveV2ATokenListOwner Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"addValidatedItemsToList(address[])\":{\"notice\":\"Add items to the list after subjecting them to validation\"}},\"notice\":\"The AddressListRegistry owner of an Aave v2 aToken list\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/address-list-registry/address-list-owners/AaveV2ATokenListOwner.sol\":\"AaveV2ATokenListOwner\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/address-list-registry/AddressListRegistry.sol\":{\"keccak256\":\"0xf00a9e376e3ec2a223f463f71c15ee3af3642dd028bc3762440e316b760c8048\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://01986c9327b5dfbfac21316dced6d68727931ddde1278ed1342d878004f984b9\",\"dweb:/ipfs/QmdXkFaUU43JqMTYEREbWa129rohdqN7GXy7mVRpjCfSLD\"]},\"contracts/persistent/address-list-registry/address-list-owners/AaveV2ATokenListOwner.sol\":{\"keccak256\":\"0x3d2d4ef23a6a136241f9da94eca64900e1bdd7056ed9cbb7c1fc71d882191eb9\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c317e1d6f9065aabb9468e99df32b632ea8d18de2e542ffabb68cd36ff0a059d\",\"dweb:/ipfs/Qmbt1dYFVd6Bs8oZeKN8hXvqK4sAeKMvc7iaKAh63EzogC\"]},\"contracts/persistent/address-list-registry/address-list-owners/utils/AddOnlyAddressListOwnerBase.sol\":{\"keccak256\":\"0xd3b355f8146b7df79e4537b021379a237d6620c0bdec25e9d96f2b741864909a\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://fcddc5b1dcbe7588943492a5d62ede92f23c46db0bf523267fda0ba9e8acafb5\",\"dweb:/ipfs/QmRssFbEBCRwELD7pvnU7GWoZzxfZocys4sFW33VL71jpt\"]},\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/release/interfaces/IAaveAToken.sol\":{\"keccak256\":\"0x2fe53734b46e1238b7d46889774c5813fa9e132350f45028b5584dfcc254c97b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://7b4b689deca405c2f9f85132d8b1b8650499d3d521b8b302299e25aa5172d81d\",\"dweb:/ipfs/QmUTZHqVT1exEd5RUyjPS6wwkJmZBW9Dgkkb7emiFCSUMW\"]},\"contracts/release/interfaces/IAaveV2LendingPool.sol\":{\"keccak256\":\"0xe9398d0cd11197b955d282c88a345a481cadc70fea502f7b3362234a62b64257\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://569315086744d75b6140ed19dbf53117b07ff986ea524cc6ade31820bee66d3b\",\"dweb:/ipfs/QmeBHxBHYRmBq5nUnxoqQgZ4FDUMcXnzFu6X8Qb96fwdU9\"]},\"contracts/release/interfaces/IAaveV2LendingPoolAddressProvider.sol\":{\"keccak256\":\"0xf383db1b24ec2f4bb4946422696dfeac769aa36bf692efedbf3e38e368ac5284\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://e9c8ffde2206d37a0c31566677b15eedcbb90ae3e5a131a6c811f3056c176591\",\"dweb:/ipfs/QmPkc8wVGU7VPe9BAUQA6r66w7jC3m5T3UyFW4i4zhLxEZ\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_addressListRegistry", "type": "address" }, { "internalType": "string", "name": "_listDescription", "type": "string" }, { "internalType": "address", "name": "_lendingPoolAddressProvider", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address[]", "name": "_items", "type": "address[]" } ], "stateMutability": "nonpayable", "type": "function", "name": "addValidatedItemsToList" } ], "devdoc": { "kind": "dev", "methods": { "addValidatedItemsToList(address[])": { "details": "Override if access control needed", "params": { "_items": "Items to add" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "addValidatedItemsToList(address[])": { "notice": "Add items to the list after subjecting them to validation" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/persistent/address-list-registry/address-list-owners/AaveV2ATokenListOwner.sol": "AaveV2ATokenListOwner" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/address-list-registry/AddressListRegistry.sol": { "keccak256": "0xf00a9e376e3ec2a223f463f71c15ee3af3642dd028bc3762440e316b760c8048", "urls": [ "bzz-raw://01986c9327b5dfbfac21316dced6d68727931ddde1278ed1342d878004f984b9", "dweb:/ipfs/QmdXkFaUU43JqMTYEREbWa129rohdqN7GXy7mVRpjCfSLD" ], "license": "GPL-3.0" }, "contracts/persistent/address-list-registry/address-list-owners/AaveV2ATokenListOwner.sol": { "keccak256": "0x3d2d4ef23a6a136241f9da94eca64900e1bdd7056ed9cbb7c1fc71d882191eb9", "urls": [ "bzz-raw://c317e1d6f9065aabb9468e99df32b632ea8d18de2e542ffabb68cd36ff0a059d", "dweb:/ipfs/Qmbt1dYFVd6Bs8oZeKN8hXvqK4sAeKMvc7iaKAh63EzogC" ], "license": "GPL-3.0" }, "contracts/persistent/address-list-registry/address-list-owners/utils/AddOnlyAddressListOwnerBase.sol": { "keccak256": "0xd3b355f8146b7df79e4537b021379a237d6620c0bdec25e9d96f2b741864909a", "urls": [ "bzz-raw://fcddc5b1dcbe7588943492a5d62ede92f23c46db0bf523267fda0ba9e8acafb5", "dweb:/ipfs/QmRssFbEBCRwELD7pvnU7GWoZzxfZocys4sFW33VL71jpt" ], "license": "GPL-3.0" }, "contracts/persistent/dispatcher/IDispatcher.sol": { "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", "urls": [ "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IAaveAToken.sol": { "keccak256": "0x2fe53734b46e1238b7d46889774c5813fa9e132350f45028b5584dfcc254c97b", "urls": [ "bzz-raw://7b4b689deca405c2f9f85132d8b1b8650499d3d521b8b302299e25aa5172d81d", "dweb:/ipfs/QmUTZHqVT1exEd5RUyjPS6wwkJmZBW9Dgkkb7emiFCSUMW" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IAaveV2LendingPool.sol": { "keccak256": "0xe9398d0cd11197b955d282c88a345a481cadc70fea502f7b3362234a62b64257", "urls": [ "bzz-raw://569315086744d75b6140ed19dbf53117b07ff986ea524cc6ade31820bee66d3b", "dweb:/ipfs/QmeBHxBHYRmBq5nUnxoqQgZ4FDUMcXnzFu6X8Qb96fwdU9" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IAaveV2LendingPoolAddressProvider.sol": { "keccak256": "0xf383db1b24ec2f4bb4946422696dfeac769aa36bf692efedbf3e38e368ac5284", "urls": [ "bzz-raw://e9c8ffde2206d37a0c31566677b15eedcbb90ae3e5a131a6c811f3056c176591", "dweb:/ipfs/QmPkc8wVGU7VPe9BAUQA6r66w7jC3m5T3UyFW4i4zhLxEZ" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 11 } diff --git a/eth_defi/abi/enzyme/AaveV2ActionsMixin.json b/eth_defi/abi/enzyme/AaveV2ActionsMixin.json index 199b968c..c7cf8a06 100644 --- a/eth_defi/abi/enzyme/AaveV2ActionsMixin.json +++ b/eth_defi/abi/enzyme/AaveV2ActionsMixin.json @@ -1,166 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_lendingPool", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": {}, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_lendingPool\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"AaveV2ActionsMixin Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Mixin contract for interacting with the Aave v2 lending functions\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/integration-manager/integrations/utils/actions/AaveV2ActionsMixin.sol\":\"AaveV2ActionsMixin\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/integration-manager/integrations/utils/actions/AaveV2ActionsMixin.sol\":{\"keccak256\":\"0x0a313d196a4a1dcb18cd42f67b4c660e2fb3b552c62d372a9afb07f49317bd4b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8a4897a75ef29c0000da91f308cce0de6f4e33fc7735f42c2b542a61ec35e3ec\",\"dweb:/ipfs/QmUpb3JUZzgFBX2KxXyxdmj5x6bonKUiKe3oAmnUoUPd9h\"]},\"contracts/release/interfaces/IAaveV2LendingPool.sol\":{\"keccak256\":\"0xe9398d0cd11197b955d282c88a345a481cadc70fea502f7b3362234a62b64257\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://569315086744d75b6140ed19dbf53117b07ff986ea524cc6ade31820bee66d3b\",\"dweb:/ipfs/QmeBHxBHYRmBq5nUnxoqQgZ4FDUMcXnzFu6X8Qb96fwdU9\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_lendingPool", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/integration-manager/integrations/utils/actions/AaveV2ActionsMixin.sol": "AaveV2ActionsMixin" - }, - "libraries": {} - }, - "sources": { - "contracts/release/extensions/integration-manager/integrations/utils/actions/AaveV2ActionsMixin.sol": { - "keccak256": "0x0a313d196a4a1dcb18cd42f67b4c660e2fb3b552c62d372a9afb07f49317bd4b", - "urls": [ - "bzz-raw://8a4897a75ef29c0000da91f308cce0de6f4e33fc7735f42c2b542a61ec35e3ec", - "dweb:/ipfs/QmUpb3JUZzgFBX2KxXyxdmj5x6bonKUiKe3oAmnUoUPd9h" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IAaveV2LendingPool.sol": { - "keccak256": "0xe9398d0cd11197b955d282c88a345a481cadc70fea502f7b3362234a62b64257", - "urls": [ - "bzz-raw://569315086744d75b6140ed19dbf53117b07ff986ea524cc6ade31820bee66d3b", - "dweb:/ipfs/QmeBHxBHYRmBq5nUnxoqQgZ4FDUMcXnzFu6X8Qb96fwdU9" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AssetHelpers.sol": { - "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", - "urls": [ - "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", - "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { - "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", - "urls": [ - "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", - "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Address.sol": { - "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", - "urls": [ - "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", - "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 181 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_lendingPool", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": {}, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_lendingPool\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"AaveV2ActionsMixin Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Mixin contract for interacting with the Aave v2 lending functions\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/integration-manager/integrations/utils/actions/AaveV2ActionsMixin.sol\":\"AaveV2ActionsMixin\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/integration-manager/integrations/utils/actions/AaveV2ActionsMixin.sol\":{\"keccak256\":\"0x0a313d196a4a1dcb18cd42f67b4c660e2fb3b552c62d372a9afb07f49317bd4b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8a4897a75ef29c0000da91f308cce0de6f4e33fc7735f42c2b542a61ec35e3ec\",\"dweb:/ipfs/QmUpb3JUZzgFBX2KxXyxdmj5x6bonKUiKe3oAmnUoUPd9h\"]},\"contracts/release/interfaces/IAaveV2LendingPool.sol\":{\"keccak256\":\"0xe9398d0cd11197b955d282c88a345a481cadc70fea502f7b3362234a62b64257\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://569315086744d75b6140ed19dbf53117b07ff986ea524cc6ade31820bee66d3b\",\"dweb:/ipfs/QmeBHxBHYRmBq5nUnxoqQgZ4FDUMcXnzFu6X8Qb96fwdU9\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_lendingPool", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/integration-manager/integrations/utils/actions/AaveV2ActionsMixin.sol": "AaveV2ActionsMixin" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/extensions/integration-manager/integrations/utils/actions/AaveV2ActionsMixin.sol": { "keccak256": "0x0a313d196a4a1dcb18cd42f67b4c660e2fb3b552c62d372a9afb07f49317bd4b", "urls": [ "bzz-raw://8a4897a75ef29c0000da91f308cce0de6f4e33fc7735f42c2b542a61ec35e3ec", "dweb:/ipfs/QmUpb3JUZzgFBX2KxXyxdmj5x6bonKUiKe3oAmnUoUPd9h" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IAaveV2LendingPool.sol": { "keccak256": "0xe9398d0cd11197b955d282c88a345a481cadc70fea502f7b3362234a62b64257", "urls": [ "bzz-raw://569315086744d75b6140ed19dbf53117b07ff986ea524cc6ade31820bee66d3b", "dweb:/ipfs/QmeBHxBHYRmBq5nUnxoqQgZ4FDUMcXnzFu6X8Qb96fwdU9" ], "license": "GPL-3.0" }, "contracts/release/utils/AssetHelpers.sol": { "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", "urls": [ "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", "urls": [ "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Address.sol": { "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", "urls": [ "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" } }, "version": 1 }, "id": 181 } diff --git a/eth_defi/abi/enzyme/AaveV2Adapter.json b/eth_defi/abi/enzyme/AaveV2Adapter.json index e67358c4..0da4e6db 100644 --- a/eth_defi/abi/enzyme/AaveV2Adapter.json +++ b/eth_defi/abi/enzyme/AaveV2Adapter.json @@ -1,838 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_integrationManager", - "type": "address" - }, - { - "internalType": "address", - "name": "_addressListRegistry", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_aTokenListId", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_lendingPool", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "name": "CLAIM_REWARDS_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "LEND_AND_STAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "LEND_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "REDEEM_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "STAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "TAKE_MULTIPLE_ORDERS_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "TAKE_ORDER_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "UNSTAKE_AND_REDEEM_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "UNSTAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getIntegrationManager", - "outputs": [ - { - "internalType": "address", - "name": "integrationManager_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "_assetData", - "type": "bytes" - } - ], - "name": "lend", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes4", - "name": "_selector", - "type": "bytes4" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - } - ], - "name": "parseAssetsForAction", - "outputs": [ - { - "internalType": "enum IIntegrationManager.SpendAssetsHandleType", - "name": "spendAssetsHandleType_", - "type": "uint8" - }, - { - "internalType": "address[]", - "name": "spendAssets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "spendAssetAmounts_", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "incomingAssets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "minIncomingAssetAmounts_", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "_assetData", - "type": "bytes" - } - ], - "name": "redeem", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x61012060405234801561001157600080fd5b506040516118903803806118908339818101604052608081101561003457600080fd5b5080516020808301516040808501516060958601516001600160601b031986881b81166080529684901b90961660a05260c08190528151630337992760e31b81526004810182905291519495929490938392879287928792849284926000926001600160a01b038616926319bcc93892602480840193919291829003018186803b1580156100c157600080fd5b505afa1580156100d5573d6000803e3d6000fd5b505050506040513d60208110156100eb57600080fd5b50516001600160601b0319606091821b811660e05297901b909616610100525050505050505050505060805160601c60a05160601c60c05160e05160601c6101005160601c61171d61017360003980610f905280610fed5280611056525080610bad525080610ab0525080610a815250806104ec52806106cf528061087c525061171d6000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c8063863e5ad01161008c578063c32990a211610066578063c32990a2146102c7578063c54efee5146102cf578063e7c4569014610491578063f7d882b5146104b5576100cf565b8063863e5ad0146101e9578063b23228cf146101f1578063c29fa9dd146101f9576100cf565b8063080456c1146100d4578063099f7515146100f9578063131461c0146101c9578063257cb1a3146101d15780633ffc1591146101d957806340da225d146101e1575b600080fd5b6100dc6104bd565b604080516001600160e01b03199092168252519081900360200190f35b6101c76004803603606081101561010f57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561013957600080fd5b82018360208201111561014b57600080fd5b803590602001918460018302840111600160201b8311171561016c57600080fd5b919390929091602081019035600160201b81111561018957600080fd5b82018360208201111561019b57600080fd5b803590602001918460018302840111600160201b831117156101bc57600080fd5b5090925090506104e1565b005b6100dc6105ec565b6100dc610610565b6100dc610634565b6100dc610658565b6100dc61067c565b6100dc6106a0565b6101c76004803603606081101561020f57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561023957600080fd5b82018360208201111561024b57600080fd5b803590602001918460018302840111600160201b8311171561026c57600080fd5b919390929091602081019035600160201b81111561028957600080fd5b82018360208201111561029b57600080fd5b803590602001918460018302840111600160201b831117156102bc57600080fd5b5090925090506106c4565b6100dc6107b8565b61035c600480360360608110156102e557600080fd5b6001600160a01b03823516916001600160e01b031960208201351691810190606081016040820135600160201b81111561031e57600080fd5b82018360208201111561033057600080fd5b803590602001918460018302840111600160201b8311171561035157600080fd5b5090925090506107dc565b6040518086600281111561036c57fe5b815260200180602001806020018060200180602001858103855289818151815260200191508051906020019060200280838360005b838110156103b95781810151838201526020016103a1565b50505050905001858103845288818151815260200191508051906020019060200280838360005b838110156103f85781810151838201526020016103e0565b50505050905001858103835287818151815260200191508051906020019060200280838360005b8381101561043757818101518382015260200161041f565b50505050905001858103825286818151815260200191508051906020019060200280838360005b8381101561047657818101518382015260200161045e565b50505050905001995050505050505050505060405180910390f35b61049961087a565b604080516001600160a01b039092168252519081900360200190f35b6100dc61089e565b7f8334eb99be0145865eba9889fca2ee920288090caefff4cc776038e20ad9259a81565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105485760405162461bcd60e51b81526004018080602001828103825260328152602001806116586032913960400191505060405180910390fd5b606080606061058c85858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506108c292505050565b9250925092506105af816000815181106105a257fe5b6020026020010151610a7f565b6105e288846000815181106105c057fe5b6020026020010151846000815181106105d557fe5b6020026020010151610c45565b5050505050505050565b7f29fa046e79524c3c5ac4c01df692c35e217802b2b13b21121b76cf0ef02b138c81565b7f099f75155f0e997bf83a7993a71d5e7e7540bd386fe1e84643a09ce6b412521981565b7ffa7dd04da627f433da73c4355ead9c75682a67a8fc84d3f6170ef0922f402d2481565b7fb9dfbaccbe5cd2a84fdcf1d15f23ef25d23086f5afbaa99516065ed4a5bbc7a381565b7f03e38a2bd7063d45c897edeafc330e71657502dd86434d3c37a489caf116af6981565b7f68e30677f607df46e87da13e15b637784cfa62374b653f35ab43d10361a2f83081565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461072b5760405162461bcd60e51b81526004018080602001828103825260328152602001806116586032913960400191505060405180910390fd5b606080606061076f85858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506108c292505050565b925092509250610785836000815181106105a257fe5b6105e2888260008151811061079657fe5b6020026020010151846000815181106107ab57fe5b6020026020010151610c55565b7f0e7f692dad5b88fdee426250d6eae91207e56a2e8112b7364579bed1790e5bf481565b600060608080806001600160e01b0319881663099f751560e01b1415610815576108068787610c60565b9450945094509450945061086f565b6001600160e01b0319881663c29fa9dd60e01b1415610838576108068787610e2a565b60405162461bcd60e51b81526004018080602001828103825260278152602001806116ea6027913960400191505060405180910390fd5b945094509450945094565b7f000000000000000000000000000000000000000000000000000000000000000090565b7fc29fa9dde84204c2908778afd0613d802d31cf046179b88f6d2b4a4e507ea2d581565b60608060608380602001905160608110156108dc57600080fd5b8101908080516040519392919084600160201b8211156108fb57600080fd5b90830190602082018581111561091057600080fd5b82518660208202830111600160201b8211171561092c57600080fd5b82525081516020918201928201910280838360005b83811015610959578181015183820152602001610941565b5050505090500160405260200180516040519392919084600160201b82111561098157600080fd5b90830190602082018581111561099657600080fd5b82518660208202830111600160201b821117156109b257600080fd5b82525081516020918201928201910280838360005b838110156109df5781810151838201526020016109c7565b5050505090500160405260200180516040519392919084600160201b821115610a0757600080fd5b908301906020820185811115610a1c57600080fd5b82518660208202830111600160201b82111715610a3857600080fd5b82525081516020918201928201910280838360005b83811015610a65578181015183820152602001610a4d565b505050509050016040525050509250925092509193909250565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316631c5632047f0000000000000000000000000000000000000000000000000000000000000000836040518363ffffffff1660e01b815260040180838152602001826001600160a01b031681526020019250505060206040518083038186803b158015610b1457600080fd5b505afa158015610b28573d6000803e3d6000fd5b505050506040513d6020811015610b3e57600080fd5b5051610c4257604080516001808252818301909252606091602080830190803683370190505090508181600081518110610b7457fe5b6001600160a01b0392831660209182029290920181019190915260405163a8f0bc4160e01b8152600481018281528451602483015284517f00000000000000000000000000000000000000000000000000000000000000009094169363a8f0bc419386938392604490910191858101910280838360005b83811015610c03578181015183820152602001610beb565b5050505090500192505050600060405180830381600087803b158015610c2857600080fd5b505af1158015610c3c573d6000803e3d6000fd5b50505050505b50565b610c50838383610f8a565b505050565b610c50838383611054565b6000606080606080600080610caa89898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061110d92505050565b60408051600180825281830190925292945090925060208083019080368337019050509550816001600160a01b031663b16a19de6040518163ffffffff1660e01b815260040160206040518083038186803b158015610d0857600080fd5b505afa158015610d1c573d6000803e3d6000fd5b505050506040513d6020811015610d3257600080fd5b505186518790600090610d4157fe5b6001600160a01b03929092166020928302919091018201526040805160018082528183019092529182810190803683370190505094508085600081518110610d8557fe5b6020908102919091010152604080516001808252818301909252908160200160208202803683370190505093508184600081518110610dc057fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509250610e01816002611138565b83600081518110610e0e57fe5b6020026020010181815250506002965050509295509295909350565b6000606080606080600080610e7489898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061110d92505050565b604080516001808252818301909252929450909250602080830190803683370190505095508186600081518110610ea757fe5b6001600160a01b03929092166020928302919091018201526040805160018082528183019092529182810190803683370190505094508085600081518110610eeb57fe5b602090810291909101015260408051600180825281830190925290816020016020820280368337019050509350816001600160a01b031663b16a19de6040518163ffffffff1660e01b815260040160206040518083038186803b158015610f5157600080fd5b505afa158015610f65573d6000803e3d6000fd5b505050506040513d6020811015610f7b57600080fd5b505184518590600090610dc057fe5b610fb5827f000000000000000000000000000000000000000000000000000000000000000083611195565b6040805163e8eda9df60e01b81526001600160a01b038481166004830152602482018490528581166044830152609e606483015291517f00000000000000000000000000000000000000000000000000000000000000009092169163e8eda9df9160848082019260009290919082900301818387803b15801561103757600080fd5b505af115801561104b573d6000803e3d6000fd5b50505050505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166369328dec8383866040518463ffffffff1660e01b815260040180846001600160a01b03168152602001838152602001826001600160a01b031681526020019350505050602060405180830381600087803b1580156110dc57600080fd5b505af11580156110f0573d6000803e3d6000fd5b505050506040513d602081101561110657600080fd5b5050505050565b60008082806020019051604081101561112557600080fd5b5080516020909101519092509050915091565b60008282111561118f576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60408051636eb1769f60e11b81523060048201526001600160a01b038481166024830152915160009286169163dd62ed3e916044808301926020929190829003018186803b1580156111e657600080fd5b505afa1580156111fa573d6000803e3d6000fd5b505050506040513d602081101561121057600080fd5b505190508181101561124d578015611237576112376001600160a01b038516846000611253565b61124d6001600160a01b03851684600019611253565b50505050565b8015806112d9575060408051636eb1769f60e11b81523060048201526001600160a01b03848116602483015291519185169163dd62ed3e91604480820192602092909190829003018186803b1580156112ab57600080fd5b505afa1580156112bf573d6000803e3d6000fd5b505050506040513d60208110156112d557600080fd5b5051155b6113145760405162461bcd60e51b81526004018080602001828103825260368152602001806116b46036913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052610c5090849060606113b6826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166114129092919063ffffffff16565b805190915015610c50578080602001905160208110156113d557600080fd5b5051610c505760405162461bcd60e51b815260040180806020018281038252602a81526020018061168a602a913960400191505060405180910390fd5b6060611421848460008561142b565b90505b9392505050565b60608247101561146c5760405162461bcd60e51b81526004018080602001828103825260268152602001806116326026913960400191505060405180910390fd5b61147585611587565b6114c6576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b602083106115055780518252601f1990920191602091820191016114e6565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114611567576040519150601f19603f3d011682016040523d82523d6000602084013e61156c565b606091505b509150915061157c82828661158d565b979650505050505050565b3b151590565b6060831561159c575081611424565b8251156115ac5782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156115f65781810151838201526020016115de565b50505050905090810190601f1680156116235780820380516001836020036101000a031916815260200191505b509250505060405180910390fdfe416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c4f6e6c792074686520496e746567726174696f6e4d616e616765722063616e2063616c6c20746869732066756e6374696f6e5361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e63657061727365417373657473466f72416374696f6e3a205f73656c6563746f7220696e76616c6964a164736f6c634300060c000a", - "sourceMap": "503:1042:160:-:0;;;571:298;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;571:298:160;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1938:41:179;;;;;571:298:160;1938:41:179;903:74:15;;;;;;;;;987:17;;;;1035:63;;-1:-1:-1;;;1035:63:15;;;;;;;;;;571:298:160;;;;;;;;;;;;;;;;;;1015:17:15;;-1:-1:-1;;;;;903:74:15;;;1035:54;;:63;;;;;571:298:160;;1035:63:15;;;;;;903:74;1035:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1035:63:15;-1:-1:-1;;;;;;1108:60:15;;;;;;;;801:64:181;;;;;;;;-1:-1:-1;;;;;;;;;;503:1042:160;;;;;;;;;;;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106100cf5760003560e01c8063863e5ad01161008c578063c32990a211610066578063c32990a2146102c7578063c54efee5146102cf578063e7c4569014610491578063f7d882b5146104b5576100cf565b8063863e5ad0146101e9578063b23228cf146101f1578063c29fa9dd146101f9576100cf565b8063080456c1146100d4578063099f7515146100f9578063131461c0146101c9578063257cb1a3146101d15780633ffc1591146101d957806340da225d146101e1575b600080fd5b6100dc6104bd565b604080516001600160e01b03199092168252519081900360200190f35b6101c76004803603606081101561010f57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561013957600080fd5b82018360208201111561014b57600080fd5b803590602001918460018302840111600160201b8311171561016c57600080fd5b919390929091602081019035600160201b81111561018957600080fd5b82018360208201111561019b57600080fd5b803590602001918460018302840111600160201b831117156101bc57600080fd5b5090925090506104e1565b005b6100dc6105ec565b6100dc610610565b6100dc610634565b6100dc610658565b6100dc61067c565b6100dc6106a0565b6101c76004803603606081101561020f57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561023957600080fd5b82018360208201111561024b57600080fd5b803590602001918460018302840111600160201b8311171561026c57600080fd5b919390929091602081019035600160201b81111561028957600080fd5b82018360208201111561029b57600080fd5b803590602001918460018302840111600160201b831117156102bc57600080fd5b5090925090506106c4565b6100dc6107b8565b61035c600480360360608110156102e557600080fd5b6001600160a01b03823516916001600160e01b031960208201351691810190606081016040820135600160201b81111561031e57600080fd5b82018360208201111561033057600080fd5b803590602001918460018302840111600160201b8311171561035157600080fd5b5090925090506107dc565b6040518086600281111561036c57fe5b815260200180602001806020018060200180602001858103855289818151815260200191508051906020019060200280838360005b838110156103b95781810151838201526020016103a1565b50505050905001858103845288818151815260200191508051906020019060200280838360005b838110156103f85781810151838201526020016103e0565b50505050905001858103835287818151815260200191508051906020019060200280838360005b8381101561043757818101518382015260200161041f565b50505050905001858103825286818151815260200191508051906020019060200280838360005b8381101561047657818101518382015260200161045e565b50505050905001995050505050505050505060405180910390f35b61049961087a565b604080516001600160a01b039092168252519081900360200190f35b6100dc61089e565b7f8334eb99be0145865eba9889fca2ee920288090caefff4cc776038e20ad9259a81565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105485760405162461bcd60e51b81526004018080602001828103825260328152602001806116586032913960400191505060405180910390fd5b606080606061058c85858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506108c292505050565b9250925092506105af816000815181106105a257fe5b6020026020010151610a7f565b6105e288846000815181106105c057fe5b6020026020010151846000815181106105d557fe5b6020026020010151610c45565b5050505050505050565b7f29fa046e79524c3c5ac4c01df692c35e217802b2b13b21121b76cf0ef02b138c81565b7f099f75155f0e997bf83a7993a71d5e7e7540bd386fe1e84643a09ce6b412521981565b7ffa7dd04da627f433da73c4355ead9c75682a67a8fc84d3f6170ef0922f402d2481565b7fb9dfbaccbe5cd2a84fdcf1d15f23ef25d23086f5afbaa99516065ed4a5bbc7a381565b7f03e38a2bd7063d45c897edeafc330e71657502dd86434d3c37a489caf116af6981565b7f68e30677f607df46e87da13e15b637784cfa62374b653f35ab43d10361a2f83081565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461072b5760405162461bcd60e51b81526004018080602001828103825260328152602001806116586032913960400191505060405180910390fd5b606080606061076f85858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506108c292505050565b925092509250610785836000815181106105a257fe5b6105e2888260008151811061079657fe5b6020026020010151846000815181106107ab57fe5b6020026020010151610c55565b7f0e7f692dad5b88fdee426250d6eae91207e56a2e8112b7364579bed1790e5bf481565b600060608080806001600160e01b0319881663099f751560e01b1415610815576108068787610c60565b9450945094509450945061086f565b6001600160e01b0319881663c29fa9dd60e01b1415610838576108068787610e2a565b60405162461bcd60e51b81526004018080602001828103825260278152602001806116ea6027913960400191505060405180910390fd5b945094509450945094565b7f000000000000000000000000000000000000000000000000000000000000000090565b7fc29fa9dde84204c2908778afd0613d802d31cf046179b88f6d2b4a4e507ea2d581565b60608060608380602001905160608110156108dc57600080fd5b8101908080516040519392919084600160201b8211156108fb57600080fd5b90830190602082018581111561091057600080fd5b82518660208202830111600160201b8211171561092c57600080fd5b82525081516020918201928201910280838360005b83811015610959578181015183820152602001610941565b5050505090500160405260200180516040519392919084600160201b82111561098157600080fd5b90830190602082018581111561099657600080fd5b82518660208202830111600160201b821117156109b257600080fd5b82525081516020918201928201910280838360005b838110156109df5781810151838201526020016109c7565b5050505090500160405260200180516040519392919084600160201b821115610a0757600080fd5b908301906020820185811115610a1c57600080fd5b82518660208202830111600160201b82111715610a3857600080fd5b82525081516020918201928201910280838360005b83811015610a65578181015183820152602001610a4d565b505050509050016040525050509250925092509193909250565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316631c5632047f0000000000000000000000000000000000000000000000000000000000000000836040518363ffffffff1660e01b815260040180838152602001826001600160a01b031681526020019250505060206040518083038186803b158015610b1457600080fd5b505afa158015610b28573d6000803e3d6000fd5b505050506040513d6020811015610b3e57600080fd5b5051610c4257604080516001808252818301909252606091602080830190803683370190505090508181600081518110610b7457fe5b6001600160a01b0392831660209182029290920181019190915260405163a8f0bc4160e01b8152600481018281528451602483015284517f00000000000000000000000000000000000000000000000000000000000000009094169363a8f0bc419386938392604490910191858101910280838360005b83811015610c03578181015183820152602001610beb565b5050505090500192505050600060405180830381600087803b158015610c2857600080fd5b505af1158015610c3c573d6000803e3d6000fd5b50505050505b50565b610c50838383610f8a565b505050565b610c50838383611054565b6000606080606080600080610caa89898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061110d92505050565b60408051600180825281830190925292945090925060208083019080368337019050509550816001600160a01b031663b16a19de6040518163ffffffff1660e01b815260040160206040518083038186803b158015610d0857600080fd5b505afa158015610d1c573d6000803e3d6000fd5b505050506040513d6020811015610d3257600080fd5b505186518790600090610d4157fe5b6001600160a01b03929092166020928302919091018201526040805160018082528183019092529182810190803683370190505094508085600081518110610d8557fe5b6020908102919091010152604080516001808252818301909252908160200160208202803683370190505093508184600081518110610dc057fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509250610e01816002611138565b83600081518110610e0e57fe5b6020026020010181815250506002965050509295509295909350565b6000606080606080600080610e7489898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061110d92505050565b604080516001808252818301909252929450909250602080830190803683370190505095508186600081518110610ea757fe5b6001600160a01b03929092166020928302919091018201526040805160018082528183019092529182810190803683370190505094508085600081518110610eeb57fe5b602090810291909101015260408051600180825281830190925290816020016020820280368337019050509350816001600160a01b031663b16a19de6040518163ffffffff1660e01b815260040160206040518083038186803b158015610f5157600080fd5b505afa158015610f65573d6000803e3d6000fd5b505050506040513d6020811015610f7b57600080fd5b505184518590600090610dc057fe5b610fb5827f000000000000000000000000000000000000000000000000000000000000000083611195565b6040805163e8eda9df60e01b81526001600160a01b038481166004830152602482018490528581166044830152609e606483015291517f00000000000000000000000000000000000000000000000000000000000000009092169163e8eda9df9160848082019260009290919082900301818387803b15801561103757600080fd5b505af115801561104b573d6000803e3d6000fd5b50505050505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166369328dec8383866040518463ffffffff1660e01b815260040180846001600160a01b03168152602001838152602001826001600160a01b031681526020019350505050602060405180830381600087803b1580156110dc57600080fd5b505af11580156110f0573d6000803e3d6000fd5b505050506040513d602081101561110657600080fd5b5050505050565b60008082806020019051604081101561112557600080fd5b5080516020909101519092509050915091565b60008282111561118f576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60408051636eb1769f60e11b81523060048201526001600160a01b038481166024830152915160009286169163dd62ed3e916044808301926020929190829003018186803b1580156111e657600080fd5b505afa1580156111fa573d6000803e3d6000fd5b505050506040513d602081101561121057600080fd5b505190508181101561124d578015611237576112376001600160a01b038516846000611253565b61124d6001600160a01b03851684600019611253565b50505050565b8015806112d9575060408051636eb1769f60e11b81523060048201526001600160a01b03848116602483015291519185169163dd62ed3e91604480820192602092909190829003018186803b1580156112ab57600080fd5b505afa1580156112bf573d6000803e3d6000fd5b505050506040513d60208110156112d557600080fd5b5051155b6113145760405162461bcd60e51b81526004018080602001828103825260368152602001806116b46036913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052610c5090849060606113b6826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166114129092919063ffffffff16565b805190915015610c50578080602001905160208110156113d557600080fd5b5051610c505760405162461bcd60e51b815260040180806020018281038252602a81526020018061168a602a913960400191505060405180910390fd5b6060611421848460008561142b565b90505b9392505050565b60608247101561146c5760405162461bcd60e51b81526004018080602001828103825260268152602001806116326026913960400191505060405180910390fd5b61147585611587565b6114c6576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b602083106115055780518252601f1990920191602091820191016114e6565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114611567576040519150601f19603f3d011682016040523d82523d6000602084013e61156c565b606091505b509150915061157c82828661158d565b979650505050505050565b3b151590565b6060831561159c575081611424565b8251156115ac5782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156115f65781810151838201526020016115de565b50505050905090810190601f1680156116235780820380516001836020036101000a031916815260200191505b509250505060405180910390fdfe416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c4f6e6c792074686520496e746567726174696f6e4d616e616765722063616e2063616c6c20746869732066756e6374696f6e5361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e63657061727365417373657473466f72416374696f6e3a205f73656c6563746f7220696e76616c6964a164736f6c634300060c000a", - "sourceMap": "503:1042:160:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1490:119:180;;;:::i;:::-;;;;-1:-1:-1;;;;;;1490:119:180;;;;;;;;;;;;;;2401:700:200;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2401:700:200;;;;;;;;;;;;;;;-1:-1:-1;;;2401:700:200;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2401:700:200;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2401:700:200;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2401:700:200;;;;;;;;;;-1:-1:-1;2401:700:200;;-1:-1:-1;2401:700:200;-1:-1:-1;2401:700:200;:::i;:::-;;1373:111:180;;;:::i;832:85::-;;;:::i;1034:87::-;;;:::i;1240:110::-;;;:::i;706:104::-;;;:::i;1127:91::-;;;:::i;3311:704:200:-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3311:704:200;;;;;;;;;;;;;;;-1:-1:-1;;;3311:704:200;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3311:704:200;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3311:704:200;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3311:704:200;;;;;;;;;;-1:-1:-1;3311:704:200;;-1:-1:-1;3311:704:200;-1:-1:-1;3311:704:200;:::i;577:123:180:-;;;:::i;4756:744:200:-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4756:744:200;;;;-1:-1:-1;;;;;;4756:744:200;;;;;;;;;;;;;;;;-1:-1:-1;;;4756:744:200;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4756:744:200;;;;;;;;;;-1:-1:-1;4756:744:200;;-1:-1:-1;4756:744:200;-1:-1:-1;4756:744:200;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2637:128:179;;;:::i;:::-;;;;-1:-1:-1;;;;;2637:128:179;;;;;;;;;;;;;;923:89:180;;;:::i;1490:119::-;1558:50;1490:119;:::o;2401:700:200:-;1747:10:179;-1:-1:-1;;;;;1761:19:179;1747:33;;1726:130;;;;-1:-1:-1;;;1726:130:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2565:28:200::1;2607:34:::0;2655:31:::1;2699:29;2717:10;;2699:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;2699:17:200::1;::::0;-1:-1:-1;;;2699:29:200:i:1;:::-;2551:177;;;;;;2886:57;2925:14;2940:1;2925:17;;;;;;;;;;;;;;2886:38;:57::i;:::-;2954:140;2988:11;3026;3038:1;3026:14;;;;;;;;;;;;;;3063:17;3081:1;3063:20;;;;;;;;;;;;;;2954:6;:140::i;:::-;1866:1:179;;;2401:700:200::0;;;;;:::o;1373:111:180:-;1437:46;1373:111;:::o;832:85::-;878:38;832:85;:::o;1034:87::-;1081:39;1034:87;:::o;1240:110::-;1303:46;1240:110;:::o;706:104::-;766:43;706:104;:::o;1127:91::-;1176:41;1127:91;:::o;3311:704:200:-;1747:10:179;-1:-1:-1;;;;;1761:19:179;1747:33;;1726:130;;;;-1:-1:-1;;;1726:130:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3477:28:200::1;3519:34:::0;3567:31:::1;3611:29;3629:10;;3611:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;3611:17:200::1;::::0;-1:-1:-1;;;3611:29:200:i:1;:::-;3463:177;;;;;;3798:54;3837:11;3849:1;3837:14;;;;;;;3798:54;3863:145;3899:11;3937:14;3952:1;3937:17;;;;;;;;;;;;;;3977;3995:1;3977:20;;;;;;;;;;;;;;3863:8;:145::i;577:123:180:-:0;647:52;577:123;:::o;4756:744:200:-;4948:64;5026:29;;;;-1:-1:-1;;;;;;5234:26:200;;-1:-1:-1;;;5234:26:200;5230:204;;;5283:33;5304:11;;5283:20;:33::i;:::-;5276:40;;;;;;;;;;;;5230:204;-1:-1:-1;;;;;;5337:28:200;;-1:-1:-1;;;5337:28:200;5333:101;;;5388:35;5411:11;;5388:22;:35::i;5333:101::-;5444:49;;-1:-1:-1;;;5444:49:200;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4756:744;;;;;;;;;;:::o;2637:128:179:-;2739:19;2637:128;:::o;923:89:180:-;971:40;923:89;:::o;2093:332:179:-;2205:29;2248:35;2297:32;2372:10;2361:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;-1:-1:-1;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;-1:-1:-1;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;-1:-1:-1;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2354:64;;;;;;2093:332;;;;;:::o;1430:311:15:-;1517:30;-1:-1:-1;;;;;1517:39:15;;1557:7;1566:5;1517:55;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1517:55:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1517:55:15;1512:223;;1613:16;;;1627:1;1613:16;;;;;;;;;1588:22;;1613:16;;;;;;;;;;;-1:-1:-1;1613:16:15;1588:41;;1654:5;1643;1649:1;1643:8;;;;;;;;-1:-1:-1;;;;;1643:16:15;;;:8;;;;;;;;;;:16;;;;1674:50;;-1:-1:-1;;;1674:50:15;;;;;;;;;;;;;;;;:19;:43;;;;;;1718:5;;1674:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1512:223;;1430:311;:::o;1036:223:160:-;1169:83;1195:11;1221;1243:7;1169:12;:83::i;:::-;1036:223;;;:::o;1316:227::-;1451:85;1479:11;1505;1527:7;1451:14;:85::i;5621:1092:200:-;5738:64;5816:29;5859:35;5908:32;5954:41;6021:14;6037;6055:29;6072:11;;6055:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6055:16:200;;-1:-1:-1;;;6055:29:200:i;:::-;6110:16;;;6124:1;6110:16;;;;;;;;;6020:64;;-1:-1:-1;6020:64:200;;-1:-1:-1;6110:16:200;;;;;;;;;;;-1:-1:-1;6110:16:200;6095:31;;6166:6;-1:-1:-1;;;;;6154:44:200;;:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6154:46:200;6136:15;;:12;;6149:1;;6136:15;;;;-1:-1:-1;;;;;6136:64:200;;;;:15;;;;;;;;;;:64;6231:16;;;6245:1;6231:16;;;;;;;;;;;;;;6136:15;6231:16;;;;;-1:-1:-1;6231:16:200;6210:37;;6281:6;6257:18;6276:1;6257:21;;;;;;;;;;;;;;;;;:30;6316:16;;;6330:1;6316:16;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6316:16:200;6298:34;;6363:6;6342:15;6358:1;6342:18;;;;;;;;-1:-1:-1;;;;;6342:27:200;;;;:18;;;;;;;;;;:27;6406:16;;;6420:1;6406:16;;;;;;;;;;;;;;6342:18;6406:16;;;;;-1:-1:-1;;6379:43:200;-1:-1:-1;6462:27:200;:6;1394:1;6462:10;:27::i;:::-;6432:24;6457:1;6432:27;;;;;;;;;;;;;:57;;;;;6521:50;6500:206;;;;5621:1092;;;;;;;;:::o;6836:1192::-;6955:64;7033:29;7076:35;7125:32;7171:41;7238:14;7254;7272:29;7289:11;;7272:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7272:16:200;;-1:-1:-1;;;7272:29:200:i;:::-;7327:16;;;7341:1;7327:16;;;;;;;;;7237:64;;-1:-1:-1;7237:64:200;;-1:-1:-1;7327:16:200;;;;;;;;;;;-1:-1:-1;7327:16:200;7312:31;;7371:6;7353:12;7366:1;7353:15;;;;;;;;-1:-1:-1;;;;;7353:24:200;;;;:15;;;;;;;;;;:24;7408:16;;;7422:1;7408:16;;;;;;;;;;;;;;7353:15;7408:16;;;;;-1:-1:-1;7408:16:200;7387:37;;7458:6;7434:18;7453:1;7434:21;;;;;;;;;;;;;;;;;:30;7493:16;;;7507:1;7493:16;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7493:16:200;7475:34;;7552:6;-1:-1:-1;;;;;7540:44:200;;:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7540:46:200;7519:18;;:15;;7535:1;;7519:18;;;928:510:181;1057:167;1105:11;1147:29;1206:7;1057:25;:167::i;:::-;1235:196;;;-1:-1:-1;;;1235:196:181;;-1:-1:-1;;;;;1235:196:181;;;;;;;;;;;;;;;;;;;;666:3;1235:196;;;;;;:29;:37;;;;;;:196;;;;;-1:-1:-1;;1235:196:181;;;;;;;;-1:-1:-1;1235:37:181;:196;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;928:510;;;:::o;1496:285::-;1627:29;-1:-1:-1;;;;;1627:38:181;;1693:11;1727:7;1753:10;1627:147;;;;;;;;;;;;;-1:-1:-1;;;;;1627:147:181;;;;;;;;;;;-1:-1:-1;;;;;1627:147:181;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1496:285:181:o;8119:203:200:-;8217:15;8234;8283:11;8272:43;;;;;;;;;;;;;;;-1:-1:-1;8272:43:200;;;;;;;;;-1:-1:-1;8272:43:200;-1:-1:-1;8119:203:200;;;:::o;3136:155:442:-;3194:7;3226:1;3221;:6;;3213:49;;;;;-1:-1:-1;;;3213:49:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3279:5:442;;;3136:155::o;2554:434:355:-;2714:47;;;-1:-1:-1;;;2714:47:355;;2746:4;2714:47;;;;-1:-1:-1;;;;;2714:47:355;;;;;;;;;2694:17;;2714:23;;;;;:47;;;;;;;;;;;;;;:23;:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2714:47:355;;-1:-1:-1;2775:25:355;;;2771:211;;;2820:13;;2816:89;;2853:37;-1:-1:-1;;;;;2853:25:355;;2879:7;2888:1;2853:25;:37::i;:::-;2918:53;-1:-1:-1;;;;;2918:25:355;;2944:7;-1:-1:-1;;2918:25:355;:53::i;:::-;2554:434;;;;:::o;1348:613:450:-;1713:10;;;1712:62;;-1:-1:-1;1729:39:450;;;-1:-1:-1;;;1729:39:450;;1753:4;1729:39;;;;-1:-1:-1;;;;;1729:39:450;;;;;;;;;:15;;;;;;:39;;;;;;;;;;;;;;;:15;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1729:39:450;:44;1712:62;1704:150;;;;-1:-1:-1;;;1704:150:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1891:62;;;-1:-1:-1;;;;;1891:62:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1891:62:450;-1:-1:-1;;;1891:62:450;;;1864:90;;1884:5;;3386:23;3412:69;3440:4;3412:69;;;;;;;;;;;;;;;;;3420:5;-1:-1:-1;;;;;3412:27:450;;;:69;;;;;:::i;:::-;3495:17;;3386:95;;-1:-1:-1;3495:21:450;3491:221;;3635:10;3624:30;;;;;;;;;;;;;;;-1:-1:-1;3624:30:450;3616:85;;;;-1:-1:-1;;;3616:85:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3581:193:451;3684:12;3715:52;3737:6;3745:4;3751:1;3754:12;3715:21;:52::i;:::-;3708:59;;3581:193;;;;;;:::o;4608:523::-;4735:12;4792:5;4767:21;:30;;4759:81;;;;-1:-1:-1;;;4759:81:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4858:18;4869:6;4858:10;:18::i;:::-;4850:60;;;;;-1:-1:-1;;;4850:60:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;4981:12;4995:23;5022:6;-1:-1:-1;;;;;5022:11:451;5042:5;5050:4;5022:33;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5022:33:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4980:75;;;;5072:52;5090:7;5099:10;5111:12;5072:17;:52::i;:::-;5065:59;4608:523;-1:-1:-1;;;;;;;4608:523:451:o;726:413::-;1086:20;1124:8;;;726:413::o;7091:725::-;7206:12;7234:7;7230:580;;;-1:-1:-1;7264:10:451;7257:17;;7230:580;7375:17;;:21;7371:429;;7633:10;7627:17;7693:15;7680:10;7676:2;7672:19;7665:44;7582:145;7772:12;7765:20;;-1:-1:-1;;;7765:20:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;", - "linkReferences": {}, - "immutableReferences": { - "2841": [ - { - "start": 2689, - "length": 32 - } - ], - "2843": [ - { - "start": 2736, - "length": 32 - } - ], - "2845": [ - { - "start": 2989, - "length": 32 - } - ], - "49791": [ - { - "start": 1260, - "length": 32 - }, - { - "start": 1743, - "length": 32 - }, - { - "start": 2172, - "length": 32 - } - ], - "49988": [ - { - "start": 3984, - "length": 32 - }, - { - "start": 4077, - "length": 32 - }, - { - "start": 4182, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "CLAIM_REWARDS_SELECTOR()": "40da225d", - "LEND_AND_STAKE_SELECTOR()": "131461c0", - "LEND_SELECTOR()": "257cb1a3", - "REDEEM_SELECTOR()": "f7d882b5", - "STAKE_SELECTOR()": "3ffc1591", - "TAKE_MULTIPLE_ORDERS_SELECTOR()": "c32990a2", - "TAKE_ORDER_SELECTOR()": "863e5ad0", - "UNSTAKE_AND_REDEEM_SELECTOR()": "080456c1", - "UNSTAKE_SELECTOR()": "b23228cf", - "getIntegrationManager()": "e7c45690", - "lend(address,bytes,bytes)": "099f7515", - "parseAssetsForAction(address,bytes4,bytes)": "c54efee5", - "redeem(address,bytes,bytes)": "c29fa9dd" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_integrationManager\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_addressListRegistry\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_aTokenListId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_lendingPool\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"CLAIM_REWARDS_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LEND_AND_STAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LEND_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"REDEEM_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"STAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TAKE_MULTIPLE_ORDERS_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TAKE_ORDER_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UNSTAKE_AND_REDEEM_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UNSTAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getIntegrationManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"integrationManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"_assetData\",\"type\":\"bytes\"}],\"name\":\"lend\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"_selector\",\"type\":\"bytes4\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"}],\"name\":\"parseAssetsForAction\",\"outputs\":[{\"internalType\":\"enum IIntegrationManager.SpendAssetsHandleType\",\"name\":\"spendAssetsHandleType_\",\"type\":\"uint8\"},{\"internalType\":\"address[]\",\"name\":\"spendAssets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"spendAssetAmounts_\",\"type\":\"uint256[]\"},{\"internalType\":\"address[]\",\"name\":\"incomingAssets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"minIncomingAssetAmounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"_assetData\",\"type\":\"bytes\"}],\"name\":\"redeem\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"getIntegrationManager()\":{\"returns\":{\"integrationManager_\":\"The `INTEGRATION_MANAGER` variable value\"}},\"lend(address,bytes,bytes)\":{\"params\":{\"_assetData\":\"Parsed spend assets and incoming assets data for this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}},\"parseAssetsForAction(address,bytes4,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_selector\":\"The function selector for the callOnIntegration\"},\"returns\":{\"incomingAssets_\":\"The assets to receive in the call\",\"minIncomingAssetAmounts_\":\"The min asset amounts to receive in the call\",\"spendAssetAmounts_\":\"The max asset amounts to spend in the call\",\"spendAssetsHandleType_\":\"A type that dictates how to handle granting the adapter access to spend assets (`None` by default)\",\"spendAssets_\":\"The assets to spend in the call\"}},\"redeem(address,bytes,bytes)\":{\"params\":{\"_assetData\":\"Parsed spend assets and incoming assets data for this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}}},\"title\":\"AaveV2Adapter Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getIntegrationManager()\":{\"notice\":\"Gets the `INTEGRATION_MANAGER` variable\"},\"lend(address,bytes,bytes)\":{\"notice\":\"Lends an amount of a token to AAVE\"},\"parseAssetsForAction(address,bytes4,bytes)\":{\"notice\":\"Parses the expected assets in a particular action\"},\"redeem(address,bytes,bytes)\":{\"notice\":\"Redeems an amount of aTokens from AAVE\"}},\"notice\":\"Adapter for Aave v2 lending\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/integration-manager/integrations/adapters/AaveV2Adapter.sol\":\"AaveV2Adapter\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/address-list-registry/AddressListRegistry.sol\":{\"keccak256\":\"0xf00a9e376e3ec2a223f463f71c15ee3af3642dd028bc3762440e316b760c8048\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://01986c9327b5dfbfac21316dced6d68727931ddde1278ed1342d878004f984b9\",\"dweb:/ipfs/QmdXkFaUU43JqMTYEREbWa129rohdqN7GXy7mVRpjCfSLD\"]},\"contracts/persistent/address-list-registry/address-list-owners/utils/AddOnlyAddressListOwnerBase.sol\":{\"keccak256\":\"0xd3b355f8146b7df79e4537b021379a237d6620c0bdec25e9d96f2b741864909a\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://fcddc5b1dcbe7588943492a5d62ede92f23c46db0bf523267fda0ba9e8acafb5\",\"dweb:/ipfs/QmRssFbEBCRwELD7pvnU7GWoZzxfZocys4sFW33VL71jpt\"]},\"contracts/persistent/address-list-registry/address-list-owners/utils/AddOnlyAddressListOwnerConsumerMixin.sol\":{\"keccak256\":\"0x7eb3ee3ecc65e36bc8b6201e99d42d37bb932e85a5b24afb141a23a469cf8b6e\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://42bb22f3d4b3f2fed39b313cbb81c929d204f07f5ae49f7dc464b44d861d51e5\",\"dweb:/ipfs/QmaMgdLB4zGdZvR5ohexnKoAHdjX7xoM5h8J2ExffyFZG6\"]},\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/release/extensions/integration-manager/IIntegrationManager.sol\":{\"keccak256\":\"0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23\",\"dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk\"]},\"contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol\":{\"keccak256\":\"0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336\",\"dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS\"]},\"contracts/release/extensions/integration-manager/integrations/adapters/AaveV2Adapter.sol\":{\"keccak256\":\"0xc46ccb76911df6a11d76f8ba2a8298efdf9c1073e701733dc90433e161acd62e\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://31f196d4e5f0bf86e613a31570e45bc68f3d88714db5cf29b5d611595bc1368b\",\"dweb:/ipfs/QmcoZtycJg77N457nPVrBJ3tdnYvmacjawnxkZ46zjXGvR\"]},\"contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol\":{\"keccak256\":\"0x067e49bf0d3c1655ab41a413c65ccf61d4e593308132e1ffc484a0fadfbbaf26\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://387f425017e18e89cc1893521101fa99df595314847d0b3d9a1162369f714fcf\",\"dweb:/ipfs/Qmco3jCvuWAyfCpBYpGzHrQjiFJG63w1RJKcakoTEbxRQm\"]},\"contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol\":{\"keccak256\":\"0xfd34c7ca8231c6935e25dede32ca2b3121738e624d0fc896f7b895a731edcf88\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d492c061963d36d07718446db191d4c5a340c0d847f6cd209f027bd99f7cb176\",\"dweb:/ipfs/QmfCvRZt56ftDdrEh6LepHXFJ4fVtcfpQGvEyY8k4zxG1A\"]},\"contracts/release/extensions/integration-manager/integrations/utils/actions/AaveV2ActionsMixin.sol\":{\"keccak256\":\"0x0a313d196a4a1dcb18cd42f67b4c660e2fb3b552c62d372a9afb07f49317bd4b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8a4897a75ef29c0000da91f308cce0de6f4e33fc7735f42c2b542a61ec35e3ec\",\"dweb:/ipfs/QmUpb3JUZzgFBX2KxXyxdmj5x6bonKUiKe3oAmnUoUPd9h\"]},\"contracts/release/extensions/integration-manager/integrations/utils/bases/AaveAdapterBase.sol\":{\"keccak256\":\"0x5a18966a7532149914962a46b8921bbfdf5a6c49f05372315b4423880565f3f3\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://556d798372ff8e0885b01650e2015764a5b01788a3e85c9e3181c85599480b25\",\"dweb:/ipfs/QmQGnKHfdfaG8iaPiYr859SfAeXiUprqx61AiWMaCEJTgE\"]},\"contracts/release/interfaces/IAaveAToken.sol\":{\"keccak256\":\"0x2fe53734b46e1238b7d46889774c5813fa9e132350f45028b5584dfcc254c97b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://7b4b689deca405c2f9f85132d8b1b8650499d3d521b8b302299e25aa5172d81d\",\"dweb:/ipfs/QmUTZHqVT1exEd5RUyjPS6wwkJmZBW9Dgkkb7emiFCSUMW\"]},\"contracts/release/interfaces/IAaveV2LendingPool.sol\":{\"keccak256\":\"0xe9398d0cd11197b955d282c88a345a481cadc70fea502f7b3362234a62b64257\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://569315086744d75b6140ed19dbf53117b07ff986ea524cc6ade31820bee66d3b\",\"dweb:/ipfs/QmeBHxBHYRmBq5nUnxoqQgZ4FDUMcXnzFu6X8Qb96fwdU9\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_integrationManager", - "type": "address" - }, - { - "internalType": "address", - "name": "_addressListRegistry", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_aTokenListId", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_lendingPool", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "CLAIM_REWARDS_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "LEND_AND_STAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "LEND_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "REDEEM_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "STAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "TAKE_MULTIPLE_ORDERS_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "TAKE_ORDER_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "UNSTAKE_AND_REDEEM_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "UNSTAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getIntegrationManager", - "outputs": [ - { - "internalType": "address", - "name": "integrationManager_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "_assetData", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "lend" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes4", - "name": "_selector", - "type": "bytes4" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - } - ], - "stateMutability": "view", - "type": "function", - "name": "parseAssetsForAction", - "outputs": [ - { - "internalType": "enum IIntegrationManager.SpendAssetsHandleType", - "name": "spendAssetsHandleType_", - "type": "uint8" - }, - { - "internalType": "address[]", - "name": "spendAssets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "spendAssetAmounts_", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "incomingAssets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "minIncomingAssetAmounts_", - "type": "uint256[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "_assetData", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "redeem" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "getIntegrationManager()": { - "returns": { - "integrationManager_": "The `INTEGRATION_MANAGER` variable value" - } - }, - "lend(address,bytes,bytes)": { - "params": { - "_assetData": "Parsed spend assets and incoming assets data for this action", - "_vaultProxy": "The VaultProxy of the calling fund" - } - }, - "parseAssetsForAction(address,bytes4,bytes)": { - "params": { - "_actionData": "Data specific to this action", - "_selector": "The function selector for the callOnIntegration" - }, - "returns": { - "incomingAssets_": "The assets to receive in the call", - "minIncomingAssetAmounts_": "The min asset amounts to receive in the call", - "spendAssetAmounts_": "The max asset amounts to spend in the call", - "spendAssetsHandleType_": "A type that dictates how to handle granting the adapter access to spend assets (`None` by default)", - "spendAssets_": "The assets to spend in the call" - } - }, - "redeem(address,bytes,bytes)": { - "params": { - "_assetData": "Parsed spend assets and incoming assets data for this action", - "_vaultProxy": "The VaultProxy of the calling fund" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "getIntegrationManager()": { - "notice": "Gets the `INTEGRATION_MANAGER` variable" - }, - "lend(address,bytes,bytes)": { - "notice": "Lends an amount of a token to AAVE" - }, - "parseAssetsForAction(address,bytes4,bytes)": { - "notice": "Parses the expected assets in a particular action" - }, - "redeem(address,bytes,bytes)": { - "notice": "Redeems an amount of aTokens from AAVE" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/integration-manager/integrations/adapters/AaveV2Adapter.sol": "AaveV2Adapter" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/address-list-registry/AddressListRegistry.sol": { - "keccak256": "0xf00a9e376e3ec2a223f463f71c15ee3af3642dd028bc3762440e316b760c8048", - "urls": [ - "bzz-raw://01986c9327b5dfbfac21316dced6d68727931ddde1278ed1342d878004f984b9", - "dweb:/ipfs/QmdXkFaUU43JqMTYEREbWa129rohdqN7GXy7mVRpjCfSLD" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/address-list-registry/address-list-owners/utils/AddOnlyAddressListOwnerBase.sol": { - "keccak256": "0xd3b355f8146b7df79e4537b021379a237d6620c0bdec25e9d96f2b741864909a", - "urls": [ - "bzz-raw://fcddc5b1dcbe7588943492a5d62ede92f23c46db0bf523267fda0ba9e8acafb5", - "dweb:/ipfs/QmRssFbEBCRwELD7pvnU7GWoZzxfZocys4sFW33VL71jpt" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/address-list-registry/address-list-owners/utils/AddOnlyAddressListOwnerConsumerMixin.sol": { - "keccak256": "0x7eb3ee3ecc65e36bc8b6201e99d42d37bb932e85a5b24afb141a23a469cf8b6e", - "urls": [ - "bzz-raw://42bb22f3d4b3f2fed39b313cbb81c929d204f07f5ae49f7dc464b44d861d51e5", - "dweb:/ipfs/QmaMgdLB4zGdZvR5ohexnKoAHdjX7xoM5h8J2ExffyFZG6" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/dispatcher/IDispatcher.sol": { - "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", - "urls": [ - "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", - "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/IIntegrationManager.sol": { - "keccak256": "0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef", - "urls": [ - "bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23", - "dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol": { - "keccak256": "0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1", - "urls": [ - "bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336", - "dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/adapters/AaveV2Adapter.sol": { - "keccak256": "0xc46ccb76911df6a11d76f8ba2a8298efdf9c1073e701733dc90433e161acd62e", - "urls": [ - "bzz-raw://31f196d4e5f0bf86e613a31570e45bc68f3d88714db5cf29b5d611595bc1368b", - "dweb:/ipfs/QmcoZtycJg77N457nPVrBJ3tdnYvmacjawnxkZ46zjXGvR" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol": { - "keccak256": "0x067e49bf0d3c1655ab41a413c65ccf61d4e593308132e1ffc484a0fadfbbaf26", - "urls": [ - "bzz-raw://387f425017e18e89cc1893521101fa99df595314847d0b3d9a1162369f714fcf", - "dweb:/ipfs/Qmco3jCvuWAyfCpBYpGzHrQjiFJG63w1RJKcakoTEbxRQm" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol": { - "keccak256": "0xfd34c7ca8231c6935e25dede32ca2b3121738e624d0fc896f7b895a731edcf88", - "urls": [ - "bzz-raw://d492c061963d36d07718446db191d4c5a340c0d847f6cd209f027bd99f7cb176", - "dweb:/ipfs/QmfCvRZt56ftDdrEh6LepHXFJ4fVtcfpQGvEyY8k4zxG1A" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/utils/actions/AaveV2ActionsMixin.sol": { - "keccak256": "0x0a313d196a4a1dcb18cd42f67b4c660e2fb3b552c62d372a9afb07f49317bd4b", - "urls": [ - "bzz-raw://8a4897a75ef29c0000da91f308cce0de6f4e33fc7735f42c2b542a61ec35e3ec", - "dweb:/ipfs/QmUpb3JUZzgFBX2KxXyxdmj5x6bonKUiKe3oAmnUoUPd9h" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/utils/bases/AaveAdapterBase.sol": { - "keccak256": "0x5a18966a7532149914962a46b8921bbfdf5a6c49f05372315b4423880565f3f3", - "urls": [ - "bzz-raw://556d798372ff8e0885b01650e2015764a5b01788a3e85c9e3181c85599480b25", - "dweb:/ipfs/QmQGnKHfdfaG8iaPiYr859SfAeXiUprqx61AiWMaCEJTgE" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IAaveAToken.sol": { - "keccak256": "0x2fe53734b46e1238b7d46889774c5813fa9e132350f45028b5584dfcc254c97b", - "urls": [ - "bzz-raw://7b4b689deca405c2f9f85132d8b1b8650499d3d521b8b302299e25aa5172d81d", - "dweb:/ipfs/QmUTZHqVT1exEd5RUyjPS6wwkJmZBW9Dgkkb7emiFCSUMW" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IAaveV2LendingPool.sol": { - "keccak256": "0xe9398d0cd11197b955d282c88a345a481cadc70fea502f7b3362234a62b64257", - "urls": [ - "bzz-raw://569315086744d75b6140ed19dbf53117b07ff986ea524cc6ade31820bee66d3b", - "dweb:/ipfs/QmeBHxBHYRmBq5nUnxoqQgZ4FDUMcXnzFu6X8Qb96fwdU9" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AssetHelpers.sol": { - "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", - "urls": [ - "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", - "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { - "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", - "urls": [ - "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", - "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Address.sol": { - "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", - "urls": [ - "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", - "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 160 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_integrationManager", "type": "address", "internalType": "address" }, { "name": "_addressListRegistry", "type": "address", "internalType": "address" }, { "name": "_aTokenListId", "type": "uint256", "internalType": "uint256" }, { "name": "_lendingPool", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "CLAIM_REWARDS_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "LEND_AND_STAKE_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "LEND_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "REDEEM_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "STAKE_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "TAKE_MULTIPLE_ORDERS_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "TAKE_ORDER_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "UNSTAKE_AND_REDEEM_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "UNSTAKE_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "getIntegrationManager", "inputs": [], "outputs": [ { "name": "integrationManager_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "lend", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "", "type": "bytes", "internalType": "bytes" }, { "name": "_assetData", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "parseAssetsForAction", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "_selector", "type": "bytes4", "internalType": "bytes4" }, { "name": "_actionData", "type": "bytes", "internalType": "bytes" } ], "outputs": [ { "name": "spendAssetsHandleType_", "type": "uint8", "internalType": "enum IIntegrationManager.SpendAssetsHandleType" }, { "name": "spendAssets_", "type": "address[]", "internalType": "address[]" }, { "name": "spendAssetAmounts_", "type": "uint256[]", "internalType": "uint256[]" }, { "name": "incomingAssets_", "type": "address[]", "internalType": "address[]" }, { "name": "minIncomingAssetAmounts_", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "view" }, { "type": "function", "name": "redeem", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "", "type": "bytes", "internalType": "bytes" }, { "name": "_assetData", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x61012060405234801561001157600080fd5b506040516118903803806118908339818101604052608081101561003457600080fd5b5080516020808301516040808501516060958601516001600160601b031986881b81166080529684901b90961660a05260c08190528151630337992760e31b81526004810182905291519495929490938392879287928792849284926000926001600160a01b038616926319bcc93892602480840193919291829003018186803b1580156100c157600080fd5b505afa1580156100d5573d6000803e3d6000fd5b505050506040513d60208110156100eb57600080fd5b50516001600160601b0319606091821b811660e05297901b909616610100525050505050505050505060805160601c60a05160601c60c05160e05160601c6101005160601c61171d61017360003980610f905280610fed5280611056525080610bad525080610ab0525080610a815250806104ec52806106cf528061087c525061171d6000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c8063863e5ad01161008c578063c32990a211610066578063c32990a2146102c7578063c54efee5146102cf578063e7c4569014610491578063f7d882b5146104b5576100cf565b8063863e5ad0146101e9578063b23228cf146101f1578063c29fa9dd146101f9576100cf565b8063080456c1146100d4578063099f7515146100f9578063131461c0146101c9578063257cb1a3146101d15780633ffc1591146101d957806340da225d146101e1575b600080fd5b6100dc6104bd565b604080516001600160e01b03199092168252519081900360200190f35b6101c76004803603606081101561010f57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561013957600080fd5b82018360208201111561014b57600080fd5b803590602001918460018302840111600160201b8311171561016c57600080fd5b919390929091602081019035600160201b81111561018957600080fd5b82018360208201111561019b57600080fd5b803590602001918460018302840111600160201b831117156101bc57600080fd5b5090925090506104e1565b005b6100dc6105ec565b6100dc610610565b6100dc610634565b6100dc610658565b6100dc61067c565b6100dc6106a0565b6101c76004803603606081101561020f57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561023957600080fd5b82018360208201111561024b57600080fd5b803590602001918460018302840111600160201b8311171561026c57600080fd5b919390929091602081019035600160201b81111561028957600080fd5b82018360208201111561029b57600080fd5b803590602001918460018302840111600160201b831117156102bc57600080fd5b5090925090506106c4565b6100dc6107b8565b61035c600480360360608110156102e557600080fd5b6001600160a01b03823516916001600160e01b031960208201351691810190606081016040820135600160201b81111561031e57600080fd5b82018360208201111561033057600080fd5b803590602001918460018302840111600160201b8311171561035157600080fd5b5090925090506107dc565b6040518086600281111561036c57fe5b815260200180602001806020018060200180602001858103855289818151815260200191508051906020019060200280838360005b838110156103b95781810151838201526020016103a1565b50505050905001858103845288818151815260200191508051906020019060200280838360005b838110156103f85781810151838201526020016103e0565b50505050905001858103835287818151815260200191508051906020019060200280838360005b8381101561043757818101518382015260200161041f565b50505050905001858103825286818151815260200191508051906020019060200280838360005b8381101561047657818101518382015260200161045e565b50505050905001995050505050505050505060405180910390f35b61049961087a565b604080516001600160a01b039092168252519081900360200190f35b6100dc61089e565b7f8334eb99be0145865eba9889fca2ee920288090caefff4cc776038e20ad9259a81565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105485760405162461bcd60e51b81526004018080602001828103825260328152602001806116586032913960400191505060405180910390fd5b606080606061058c85858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506108c292505050565b9250925092506105af816000815181106105a257fe5b6020026020010151610a7f565b6105e288846000815181106105c057fe5b6020026020010151846000815181106105d557fe5b6020026020010151610c45565b5050505050505050565b7f29fa046e79524c3c5ac4c01df692c35e217802b2b13b21121b76cf0ef02b138c81565b7f099f75155f0e997bf83a7993a71d5e7e7540bd386fe1e84643a09ce6b412521981565b7ffa7dd04da627f433da73c4355ead9c75682a67a8fc84d3f6170ef0922f402d2481565b7fb9dfbaccbe5cd2a84fdcf1d15f23ef25d23086f5afbaa99516065ed4a5bbc7a381565b7f03e38a2bd7063d45c897edeafc330e71657502dd86434d3c37a489caf116af6981565b7f68e30677f607df46e87da13e15b637784cfa62374b653f35ab43d10361a2f83081565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461072b5760405162461bcd60e51b81526004018080602001828103825260328152602001806116586032913960400191505060405180910390fd5b606080606061076f85858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506108c292505050565b925092509250610785836000815181106105a257fe5b6105e2888260008151811061079657fe5b6020026020010151846000815181106107ab57fe5b6020026020010151610c55565b7f0e7f692dad5b88fdee426250d6eae91207e56a2e8112b7364579bed1790e5bf481565b600060608080806001600160e01b0319881663099f751560e01b1415610815576108068787610c60565b9450945094509450945061086f565b6001600160e01b0319881663c29fa9dd60e01b1415610838576108068787610e2a565b60405162461bcd60e51b81526004018080602001828103825260278152602001806116ea6027913960400191505060405180910390fd5b945094509450945094565b7f000000000000000000000000000000000000000000000000000000000000000090565b7fc29fa9dde84204c2908778afd0613d802d31cf046179b88f6d2b4a4e507ea2d581565b60608060608380602001905160608110156108dc57600080fd5b8101908080516040519392919084600160201b8211156108fb57600080fd5b90830190602082018581111561091057600080fd5b82518660208202830111600160201b8211171561092c57600080fd5b82525081516020918201928201910280838360005b83811015610959578181015183820152602001610941565b5050505090500160405260200180516040519392919084600160201b82111561098157600080fd5b90830190602082018581111561099657600080fd5b82518660208202830111600160201b821117156109b257600080fd5b82525081516020918201928201910280838360005b838110156109df5781810151838201526020016109c7565b5050505090500160405260200180516040519392919084600160201b821115610a0757600080fd5b908301906020820185811115610a1c57600080fd5b82518660208202830111600160201b82111715610a3857600080fd5b82525081516020918201928201910280838360005b83811015610a65578181015183820152602001610a4d565b505050509050016040525050509250925092509193909250565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316631c5632047f0000000000000000000000000000000000000000000000000000000000000000836040518363ffffffff1660e01b815260040180838152602001826001600160a01b031681526020019250505060206040518083038186803b158015610b1457600080fd5b505afa158015610b28573d6000803e3d6000fd5b505050506040513d6020811015610b3e57600080fd5b5051610c4257604080516001808252818301909252606091602080830190803683370190505090508181600081518110610b7457fe5b6001600160a01b0392831660209182029290920181019190915260405163a8f0bc4160e01b8152600481018281528451602483015284517f00000000000000000000000000000000000000000000000000000000000000009094169363a8f0bc419386938392604490910191858101910280838360005b83811015610c03578181015183820152602001610beb565b5050505090500192505050600060405180830381600087803b158015610c2857600080fd5b505af1158015610c3c573d6000803e3d6000fd5b50505050505b50565b610c50838383610f8a565b505050565b610c50838383611054565b6000606080606080600080610caa89898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061110d92505050565b60408051600180825281830190925292945090925060208083019080368337019050509550816001600160a01b031663b16a19de6040518163ffffffff1660e01b815260040160206040518083038186803b158015610d0857600080fd5b505afa158015610d1c573d6000803e3d6000fd5b505050506040513d6020811015610d3257600080fd5b505186518790600090610d4157fe5b6001600160a01b03929092166020928302919091018201526040805160018082528183019092529182810190803683370190505094508085600081518110610d8557fe5b6020908102919091010152604080516001808252818301909252908160200160208202803683370190505093508184600081518110610dc057fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509250610e01816002611138565b83600081518110610e0e57fe5b6020026020010181815250506002965050509295509295909350565b6000606080606080600080610e7489898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061110d92505050565b604080516001808252818301909252929450909250602080830190803683370190505095508186600081518110610ea757fe5b6001600160a01b03929092166020928302919091018201526040805160018082528183019092529182810190803683370190505094508085600081518110610eeb57fe5b602090810291909101015260408051600180825281830190925290816020016020820280368337019050509350816001600160a01b031663b16a19de6040518163ffffffff1660e01b815260040160206040518083038186803b158015610f5157600080fd5b505afa158015610f65573d6000803e3d6000fd5b505050506040513d6020811015610f7b57600080fd5b505184518590600090610dc057fe5b610fb5827f000000000000000000000000000000000000000000000000000000000000000083611195565b6040805163e8eda9df60e01b81526001600160a01b038481166004830152602482018490528581166044830152609e606483015291517f00000000000000000000000000000000000000000000000000000000000000009092169163e8eda9df9160848082019260009290919082900301818387803b15801561103757600080fd5b505af115801561104b573d6000803e3d6000fd5b50505050505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166369328dec8383866040518463ffffffff1660e01b815260040180846001600160a01b03168152602001838152602001826001600160a01b031681526020019350505050602060405180830381600087803b1580156110dc57600080fd5b505af11580156110f0573d6000803e3d6000fd5b505050506040513d602081101561110657600080fd5b5050505050565b60008082806020019051604081101561112557600080fd5b5080516020909101519092509050915091565b60008282111561118f576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60408051636eb1769f60e11b81523060048201526001600160a01b038481166024830152915160009286169163dd62ed3e916044808301926020929190829003018186803b1580156111e657600080fd5b505afa1580156111fa573d6000803e3d6000fd5b505050506040513d602081101561121057600080fd5b505190508181101561124d578015611237576112376001600160a01b038516846000611253565b61124d6001600160a01b03851684600019611253565b50505050565b8015806112d9575060408051636eb1769f60e11b81523060048201526001600160a01b03848116602483015291519185169163dd62ed3e91604480820192602092909190829003018186803b1580156112ab57600080fd5b505afa1580156112bf573d6000803e3d6000fd5b505050506040513d60208110156112d557600080fd5b5051155b6113145760405162461bcd60e51b81526004018080602001828103825260368152602001806116b46036913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052610c5090849060606113b6826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166114129092919063ffffffff16565b805190915015610c50578080602001905160208110156113d557600080fd5b5051610c505760405162461bcd60e51b815260040180806020018281038252602a81526020018061168a602a913960400191505060405180910390fd5b6060611421848460008561142b565b90505b9392505050565b60608247101561146c5760405162461bcd60e51b81526004018080602001828103825260268152602001806116326026913960400191505060405180910390fd5b61147585611587565b6114c6576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b602083106115055780518252601f1990920191602091820191016114e6565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114611567576040519150601f19603f3d011682016040523d82523d6000602084013e61156c565b606091505b509150915061157c82828661158d565b979650505050505050565b3b151590565b6060831561159c575081611424565b8251156115ac5782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156115f65781810151838201526020016115de565b50505050905090810190601f1680156116235780820380516001836020036101000a031916815260200191505b509250505060405180910390fdfe416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c4f6e6c792074686520496e746567726174696f6e4d616e616765722063616e2063616c6c20746869732066756e6374696f6e5361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e63657061727365417373657473466f72416374696f6e3a205f73656c6563746f7220696e76616c6964a164736f6c634300060c000a", "sourceMap": "503:1042:160:-:0;;;571:298;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;571:298:160;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1938:41:179;;;;;571:298:160;1938:41:179;903:74:15;;;;;;;;;987:17;;;;1035:63;;-1:-1:-1;;;1035:63:15;;;;;;;;;;571:298:160;;;;;;;;;;;;;;;;;;1015:17:15;;-1:-1:-1;;;;;903:74:15;;;1035:54;;:63;;;;;571:298:160;;1035:63:15;;;;;;903:74;1035:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1035:63:15;-1:-1:-1;;;;;;1108:60:15;;;;;;;;801:64:181;;;;;;;;-1:-1:-1;;;;;;;;;;503:1042:160;;;;;;;;;;;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106100cf5760003560e01c8063863e5ad01161008c578063c32990a211610066578063c32990a2146102c7578063c54efee5146102cf578063e7c4569014610491578063f7d882b5146104b5576100cf565b8063863e5ad0146101e9578063b23228cf146101f1578063c29fa9dd146101f9576100cf565b8063080456c1146100d4578063099f7515146100f9578063131461c0146101c9578063257cb1a3146101d15780633ffc1591146101d957806340da225d146101e1575b600080fd5b6100dc6104bd565b604080516001600160e01b03199092168252519081900360200190f35b6101c76004803603606081101561010f57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561013957600080fd5b82018360208201111561014b57600080fd5b803590602001918460018302840111600160201b8311171561016c57600080fd5b919390929091602081019035600160201b81111561018957600080fd5b82018360208201111561019b57600080fd5b803590602001918460018302840111600160201b831117156101bc57600080fd5b5090925090506104e1565b005b6100dc6105ec565b6100dc610610565b6100dc610634565b6100dc610658565b6100dc61067c565b6100dc6106a0565b6101c76004803603606081101561020f57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561023957600080fd5b82018360208201111561024b57600080fd5b803590602001918460018302840111600160201b8311171561026c57600080fd5b919390929091602081019035600160201b81111561028957600080fd5b82018360208201111561029b57600080fd5b803590602001918460018302840111600160201b831117156102bc57600080fd5b5090925090506106c4565b6100dc6107b8565b61035c600480360360608110156102e557600080fd5b6001600160a01b03823516916001600160e01b031960208201351691810190606081016040820135600160201b81111561031e57600080fd5b82018360208201111561033057600080fd5b803590602001918460018302840111600160201b8311171561035157600080fd5b5090925090506107dc565b6040518086600281111561036c57fe5b815260200180602001806020018060200180602001858103855289818151815260200191508051906020019060200280838360005b838110156103b95781810151838201526020016103a1565b50505050905001858103845288818151815260200191508051906020019060200280838360005b838110156103f85781810151838201526020016103e0565b50505050905001858103835287818151815260200191508051906020019060200280838360005b8381101561043757818101518382015260200161041f565b50505050905001858103825286818151815260200191508051906020019060200280838360005b8381101561047657818101518382015260200161045e565b50505050905001995050505050505050505060405180910390f35b61049961087a565b604080516001600160a01b039092168252519081900360200190f35b6100dc61089e565b7f8334eb99be0145865eba9889fca2ee920288090caefff4cc776038e20ad9259a81565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105485760405162461bcd60e51b81526004018080602001828103825260328152602001806116586032913960400191505060405180910390fd5b606080606061058c85858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506108c292505050565b9250925092506105af816000815181106105a257fe5b6020026020010151610a7f565b6105e288846000815181106105c057fe5b6020026020010151846000815181106105d557fe5b6020026020010151610c45565b5050505050505050565b7f29fa046e79524c3c5ac4c01df692c35e217802b2b13b21121b76cf0ef02b138c81565b7f099f75155f0e997bf83a7993a71d5e7e7540bd386fe1e84643a09ce6b412521981565b7ffa7dd04da627f433da73c4355ead9c75682a67a8fc84d3f6170ef0922f402d2481565b7fb9dfbaccbe5cd2a84fdcf1d15f23ef25d23086f5afbaa99516065ed4a5bbc7a381565b7f03e38a2bd7063d45c897edeafc330e71657502dd86434d3c37a489caf116af6981565b7f68e30677f607df46e87da13e15b637784cfa62374b653f35ab43d10361a2f83081565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461072b5760405162461bcd60e51b81526004018080602001828103825260328152602001806116586032913960400191505060405180910390fd5b606080606061076f85858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506108c292505050565b925092509250610785836000815181106105a257fe5b6105e2888260008151811061079657fe5b6020026020010151846000815181106107ab57fe5b6020026020010151610c55565b7f0e7f692dad5b88fdee426250d6eae91207e56a2e8112b7364579bed1790e5bf481565b600060608080806001600160e01b0319881663099f751560e01b1415610815576108068787610c60565b9450945094509450945061086f565b6001600160e01b0319881663c29fa9dd60e01b1415610838576108068787610e2a565b60405162461bcd60e51b81526004018080602001828103825260278152602001806116ea6027913960400191505060405180910390fd5b945094509450945094565b7f000000000000000000000000000000000000000000000000000000000000000090565b7fc29fa9dde84204c2908778afd0613d802d31cf046179b88f6d2b4a4e507ea2d581565b60608060608380602001905160608110156108dc57600080fd5b8101908080516040519392919084600160201b8211156108fb57600080fd5b90830190602082018581111561091057600080fd5b82518660208202830111600160201b8211171561092c57600080fd5b82525081516020918201928201910280838360005b83811015610959578181015183820152602001610941565b5050505090500160405260200180516040519392919084600160201b82111561098157600080fd5b90830190602082018581111561099657600080fd5b82518660208202830111600160201b821117156109b257600080fd5b82525081516020918201928201910280838360005b838110156109df5781810151838201526020016109c7565b5050505090500160405260200180516040519392919084600160201b821115610a0757600080fd5b908301906020820185811115610a1c57600080fd5b82518660208202830111600160201b82111715610a3857600080fd5b82525081516020918201928201910280838360005b83811015610a65578181015183820152602001610a4d565b505050509050016040525050509250925092509193909250565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316631c5632047f0000000000000000000000000000000000000000000000000000000000000000836040518363ffffffff1660e01b815260040180838152602001826001600160a01b031681526020019250505060206040518083038186803b158015610b1457600080fd5b505afa158015610b28573d6000803e3d6000fd5b505050506040513d6020811015610b3e57600080fd5b5051610c4257604080516001808252818301909252606091602080830190803683370190505090508181600081518110610b7457fe5b6001600160a01b0392831660209182029290920181019190915260405163a8f0bc4160e01b8152600481018281528451602483015284517f00000000000000000000000000000000000000000000000000000000000000009094169363a8f0bc419386938392604490910191858101910280838360005b83811015610c03578181015183820152602001610beb565b5050505090500192505050600060405180830381600087803b158015610c2857600080fd5b505af1158015610c3c573d6000803e3d6000fd5b50505050505b50565b610c50838383610f8a565b505050565b610c50838383611054565b6000606080606080600080610caa89898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061110d92505050565b60408051600180825281830190925292945090925060208083019080368337019050509550816001600160a01b031663b16a19de6040518163ffffffff1660e01b815260040160206040518083038186803b158015610d0857600080fd5b505afa158015610d1c573d6000803e3d6000fd5b505050506040513d6020811015610d3257600080fd5b505186518790600090610d4157fe5b6001600160a01b03929092166020928302919091018201526040805160018082528183019092529182810190803683370190505094508085600081518110610d8557fe5b6020908102919091010152604080516001808252818301909252908160200160208202803683370190505093508184600081518110610dc057fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509250610e01816002611138565b83600081518110610e0e57fe5b6020026020010181815250506002965050509295509295909350565b6000606080606080600080610e7489898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061110d92505050565b604080516001808252818301909252929450909250602080830190803683370190505095508186600081518110610ea757fe5b6001600160a01b03929092166020928302919091018201526040805160018082528183019092529182810190803683370190505094508085600081518110610eeb57fe5b602090810291909101015260408051600180825281830190925290816020016020820280368337019050509350816001600160a01b031663b16a19de6040518163ffffffff1660e01b815260040160206040518083038186803b158015610f5157600080fd5b505afa158015610f65573d6000803e3d6000fd5b505050506040513d6020811015610f7b57600080fd5b505184518590600090610dc057fe5b610fb5827f000000000000000000000000000000000000000000000000000000000000000083611195565b6040805163e8eda9df60e01b81526001600160a01b038481166004830152602482018490528581166044830152609e606483015291517f00000000000000000000000000000000000000000000000000000000000000009092169163e8eda9df9160848082019260009290919082900301818387803b15801561103757600080fd5b505af115801561104b573d6000803e3d6000fd5b50505050505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166369328dec8383866040518463ffffffff1660e01b815260040180846001600160a01b03168152602001838152602001826001600160a01b031681526020019350505050602060405180830381600087803b1580156110dc57600080fd5b505af11580156110f0573d6000803e3d6000fd5b505050506040513d602081101561110657600080fd5b5050505050565b60008082806020019051604081101561112557600080fd5b5080516020909101519092509050915091565b60008282111561118f576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60408051636eb1769f60e11b81523060048201526001600160a01b038481166024830152915160009286169163dd62ed3e916044808301926020929190829003018186803b1580156111e657600080fd5b505afa1580156111fa573d6000803e3d6000fd5b505050506040513d602081101561121057600080fd5b505190508181101561124d578015611237576112376001600160a01b038516846000611253565b61124d6001600160a01b03851684600019611253565b50505050565b8015806112d9575060408051636eb1769f60e11b81523060048201526001600160a01b03848116602483015291519185169163dd62ed3e91604480820192602092909190829003018186803b1580156112ab57600080fd5b505afa1580156112bf573d6000803e3d6000fd5b505050506040513d60208110156112d557600080fd5b5051155b6113145760405162461bcd60e51b81526004018080602001828103825260368152602001806116b46036913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052610c5090849060606113b6826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166114129092919063ffffffff16565b805190915015610c50578080602001905160208110156113d557600080fd5b5051610c505760405162461bcd60e51b815260040180806020018281038252602a81526020018061168a602a913960400191505060405180910390fd5b6060611421848460008561142b565b90505b9392505050565b60608247101561146c5760405162461bcd60e51b81526004018080602001828103825260268152602001806116326026913960400191505060405180910390fd5b61147585611587565b6114c6576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b602083106115055780518252601f1990920191602091820191016114e6565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114611567576040519150601f19603f3d011682016040523d82523d6000602084013e61156c565b606091505b509150915061157c82828661158d565b979650505050505050565b3b151590565b6060831561159c575081611424565b8251156115ac5782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156115f65781810151838201526020016115de565b50505050905090810190601f1680156116235780820380516001836020036101000a031916815260200191505b509250505060405180910390fdfe416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c4f6e6c792074686520496e746567726174696f6e4d616e616765722063616e2063616c6c20746869732066756e6374696f6e5361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e63657061727365417373657473466f72416374696f6e3a205f73656c6563746f7220696e76616c6964a164736f6c634300060c000a", "sourceMap": "503:1042:160:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1490:119:180;;;:::i;:::-;;;;-1:-1:-1;;;;;;1490:119:180;;;;;;;;;;;;;;2401:700:200;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2401:700:200;;;;;;;;;;;;;;;-1:-1:-1;;;2401:700:200;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2401:700:200;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2401:700:200;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2401:700:200;;;;;;;;;;-1:-1:-1;2401:700:200;;-1:-1:-1;2401:700:200;-1:-1:-1;2401:700:200;:::i;:::-;;1373:111:180;;;:::i;832:85::-;;;:::i;1034:87::-;;;:::i;1240:110::-;;;:::i;706:104::-;;;:::i;1127:91::-;;;:::i;3311:704:200:-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3311:704:200;;;;;;;;;;;;;;;-1:-1:-1;;;3311:704:200;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3311:704:200;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3311:704:200;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3311:704:200;;;;;;;;;;-1:-1:-1;3311:704:200;;-1:-1:-1;3311:704:200;-1:-1:-1;3311:704:200;:::i;577:123:180:-;;;:::i;4756:744:200:-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4756:744:200;;;;-1:-1:-1;;;;;;4756:744:200;;;;;;;;;;;;;;;;-1:-1:-1;;;4756:744:200;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4756:744:200;;;;;;;;;;-1:-1:-1;4756:744:200;;-1:-1:-1;4756:744:200;-1:-1:-1;4756:744:200;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2637:128:179;;;:::i;:::-;;;;-1:-1:-1;;;;;2637:128:179;;;;;;;;;;;;;;923:89:180;;;:::i;1490:119::-;1558:50;1490:119;:::o;2401:700:200:-;1747:10:179;-1:-1:-1;;;;;1761:19:179;1747:33;;1726:130;;;;-1:-1:-1;;;1726:130:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2565:28:200::1;2607:34:::0;2655:31:::1;2699:29;2717:10;;2699:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;2699:17:200::1;::::0;-1:-1:-1;;;2699:29:200:i:1;:::-;2551:177;;;;;;2886:57;2925:14;2940:1;2925:17;;;;;;;;;;;;;;2886:38;:57::i;:::-;2954:140;2988:11;3026;3038:1;3026:14;;;;;;;;;;;;;;3063:17;3081:1;3063:20;;;;;;;;;;;;;;2954:6;:140::i;:::-;1866:1:179;;;2401:700:200::0;;;;;:::o;1373:111:180:-;1437:46;1373:111;:::o;832:85::-;878:38;832:85;:::o;1034:87::-;1081:39;1034:87;:::o;1240:110::-;1303:46;1240:110;:::o;706:104::-;766:43;706:104;:::o;1127:91::-;1176:41;1127:91;:::o;3311:704:200:-;1747:10:179;-1:-1:-1;;;;;1761:19:179;1747:33;;1726:130;;;;-1:-1:-1;;;1726:130:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3477:28:200::1;3519:34:::0;3567:31:::1;3611:29;3629:10;;3611:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;3611:17:200::1;::::0;-1:-1:-1;;;3611:29:200:i:1;:::-;3463:177;;;;;;3798:54;3837:11;3849:1;3837:14;;;;;;;3798:54;3863:145;3899:11;3937:14;3952:1;3937:17;;;;;;;;;;;;;;3977;3995:1;3977:20;;;;;;;;;;;;;;3863:8;:145::i;577:123:180:-:0;647:52;577:123;:::o;4756:744:200:-;4948:64;5026:29;;;;-1:-1:-1;;;;;;5234:26:200;;-1:-1:-1;;;5234:26:200;5230:204;;;5283:33;5304:11;;5283:20;:33::i;:::-;5276:40;;;;;;;;;;;;5230:204;-1:-1:-1;;;;;;5337:28:200;;-1:-1:-1;;;5337:28:200;5333:101;;;5388:35;5411:11;;5388:22;:35::i;5333:101::-;5444:49;;-1:-1:-1;;;5444:49:200;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4756:744;;;;;;;;;;:::o;2637:128:179:-;2739:19;2637:128;:::o;923:89:180:-;971:40;923:89;:::o;2093:332:179:-;2205:29;2248:35;2297:32;2372:10;2361:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;-1:-1:-1;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;-1:-1:-1;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;-1:-1:-1;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2354:64;;;;;;2093:332;;;;;:::o;1430:311:15:-;1517:30;-1:-1:-1;;;;;1517:39:15;;1557:7;1566:5;1517:55;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1517:55:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1517:55:15;1512:223;;1613:16;;;1627:1;1613:16;;;;;;;;;1588:22;;1613:16;;;;;;;;;;;-1:-1:-1;1613:16:15;1588:41;;1654:5;1643;1649:1;1643:8;;;;;;;;-1:-1:-1;;;;;1643:16:15;;;:8;;;;;;;;;;:16;;;;1674:50;;-1:-1:-1;;;1674:50:15;;;;;;;;;;;;;;;;:19;:43;;;;;;1718:5;;1674:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1512:223;;1430:311;:::o;1036:223:160:-;1169:83;1195:11;1221;1243:7;1169:12;:83::i;:::-;1036:223;;;:::o;1316:227::-;1451:85;1479:11;1505;1527:7;1451:14;:85::i;5621:1092:200:-;5738:64;5816:29;5859:35;5908:32;5954:41;6021:14;6037;6055:29;6072:11;;6055:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6055:16:200;;-1:-1:-1;;;6055:29:200:i;:::-;6110:16;;;6124:1;6110:16;;;;;;;;;6020:64;;-1:-1:-1;6020:64:200;;-1:-1:-1;6110:16:200;;;;;;;;;;;-1:-1:-1;6110:16:200;6095:31;;6166:6;-1:-1:-1;;;;;6154:44:200;;:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6154:46:200;6136:15;;:12;;6149:1;;6136:15;;;;-1:-1:-1;;;;;6136:64:200;;;;:15;;;;;;;;;;:64;6231:16;;;6245:1;6231:16;;;;;;;;;;;;;;6136:15;6231:16;;;;;-1:-1:-1;6231:16:200;6210:37;;6281:6;6257:18;6276:1;6257:21;;;;;;;;;;;;;;;;;:30;6316:16;;;6330:1;6316:16;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6316:16:200;6298:34;;6363:6;6342:15;6358:1;6342:18;;;;;;;;-1:-1:-1;;;;;6342:27:200;;;;:18;;;;;;;;;;:27;6406:16;;;6420:1;6406:16;;;;;;;;;;;;;;6342:18;6406:16;;;;;-1:-1:-1;;6379:43:200;-1:-1:-1;6462:27:200;:6;1394:1;6462:10;:27::i;:::-;6432:24;6457:1;6432:27;;;;;;;;;;;;;:57;;;;;6521:50;6500:206;;;;5621:1092;;;;;;;;:::o;6836:1192::-;6955:64;7033:29;7076:35;7125:32;7171:41;7238:14;7254;7272:29;7289:11;;7272:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7272:16:200;;-1:-1:-1;;;7272:29:200:i;:::-;7327:16;;;7341:1;7327:16;;;;;;;;;7237:64;;-1:-1:-1;7237:64:200;;-1:-1:-1;7327:16:200;;;;;;;;;;;-1:-1:-1;7327:16:200;7312:31;;7371:6;7353:12;7366:1;7353:15;;;;;;;;-1:-1:-1;;;;;7353:24:200;;;;:15;;;;;;;;;;:24;7408:16;;;7422:1;7408:16;;;;;;;;;;;;;;7353:15;7408:16;;;;;-1:-1:-1;7408:16:200;7387:37;;7458:6;7434:18;7453:1;7434:21;;;;;;;;;;;;;;;;;:30;7493:16;;;7507:1;7493:16;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7493:16:200;7475:34;;7552:6;-1:-1:-1;;;;;7540:44:200;;:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7540:46:200;7519:18;;:15;;7535:1;;7519:18;;;928:510:181;1057:167;1105:11;1147:29;1206:7;1057:25;:167::i;:::-;1235:196;;;-1:-1:-1;;;1235:196:181;;-1:-1:-1;;;;;1235:196:181;;;;;;;;;;;;;;;;;;;;666:3;1235:196;;;;;;:29;:37;;;;;;:196;;;;;-1:-1:-1;;1235:196:181;;;;;;;;-1:-1:-1;1235:37:181;:196;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;928:510;;;:::o;1496:285::-;1627:29;-1:-1:-1;;;;;1627:38:181;;1693:11;1727:7;1753:10;1627:147;;;;;;;;;;;;;-1:-1:-1;;;;;1627:147:181;;;;;;;;;;;-1:-1:-1;;;;;1627:147:181;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1496:285:181:o;8119:203:200:-;8217:15;8234;8283:11;8272:43;;;;;;;;;;;;;;;-1:-1:-1;8272:43:200;;;;;;;;;-1:-1:-1;8272:43:200;-1:-1:-1;8119:203:200;;;:::o;3136:155:442:-;3194:7;3226:1;3221;:6;;3213:49;;;;;-1:-1:-1;;;3213:49:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3279:5:442;;;3136:155::o;2554:434:355:-;2714:47;;;-1:-1:-1;;;2714:47:355;;2746:4;2714:47;;;;-1:-1:-1;;;;;2714:47:355;;;;;;;;;2694:17;;2714:23;;;;;:47;;;;;;;;;;;;;;:23;:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2714:47:355;;-1:-1:-1;2775:25:355;;;2771:211;;;2820:13;;2816:89;;2853:37;-1:-1:-1;;;;;2853:25:355;;2879:7;2888:1;2853:25;:37::i;:::-;2918:53;-1:-1:-1;;;;;2918:25:355;;2944:7;-1:-1:-1;;2918:25:355;:53::i;:::-;2554:434;;;;:::o;1348:613:450:-;1713:10;;;1712:62;;-1:-1:-1;1729:39:450;;;-1:-1:-1;;;1729:39:450;;1753:4;1729:39;;;;-1:-1:-1;;;;;1729:39:450;;;;;;;;;:15;;;;;;:39;;;;;;;;;;;;;;;:15;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1729:39:450;:44;1712:62;1704:150;;;;-1:-1:-1;;;1704:150:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1891:62;;;-1:-1:-1;;;;;1891:62:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1891:62:450;-1:-1:-1;;;1891:62:450;;;1864:90;;1884:5;;3386:23;3412:69;3440:4;3412:69;;;;;;;;;;;;;;;;;3420:5;-1:-1:-1;;;;;3412:27:450;;;:69;;;;;:::i;:::-;3495:17;;3386:95;;-1:-1:-1;3495:21:450;3491:221;;3635:10;3624:30;;;;;;;;;;;;;;;-1:-1:-1;3624:30:450;3616:85;;;;-1:-1:-1;;;3616:85:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3581:193:451;3684:12;3715:52;3737:6;3745:4;3751:1;3754:12;3715:21;:52::i;:::-;3708:59;;3581:193;;;;;;:::o;4608:523::-;4735:12;4792:5;4767:21;:30;;4759:81;;;;-1:-1:-1;;;4759:81:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4858:18;4869:6;4858:10;:18::i;:::-;4850:60;;;;;-1:-1:-1;;;4850:60:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;4981:12;4995:23;5022:6;-1:-1:-1;;;;;5022:11:451;5042:5;5050:4;5022:33;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5022:33:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4980:75;;;;5072:52;5090:7;5099:10;5111:12;5072:17;:52::i;:::-;5065:59;4608:523;-1:-1:-1;;;;;;;4608:523:451:o;726:413::-;1086:20;1124:8;;;726:413::o;7091:725::-;7206:12;7234:7;7230:580;;;-1:-1:-1;7264:10:451;7257:17;;7230:580;7375:17;;:21;7371:429;;7633:10;7627:17;7693:15;7680:10;7676:2;7672:19;7665:44;7582:145;7772:12;7765:20;;-1:-1:-1;;;7765:20:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;", "linkReferences": {}, "immutableReferences": { "2841": [ { "start": 2689, "length": 32 } ], "2843": [ { "start": 2736, "length": 32 } ], "2845": [ { "start": 2989, "length": 32 } ], "49791": [ { "start": 1260, "length": 32 }, { "start": 1743, "length": 32 }, { "start": 2172, "length": 32 } ], "49988": [ { "start": 3984, "length": 32 }, { "start": 4077, "length": 32 }, { "start": 4182, "length": 32 } ] } }, "methodIdentifiers": { "CLAIM_REWARDS_SELECTOR()": "40da225d", "LEND_AND_STAKE_SELECTOR()": "131461c0", "LEND_SELECTOR()": "257cb1a3", "REDEEM_SELECTOR()": "f7d882b5", "STAKE_SELECTOR()": "3ffc1591", "TAKE_MULTIPLE_ORDERS_SELECTOR()": "c32990a2", "TAKE_ORDER_SELECTOR()": "863e5ad0", "UNSTAKE_AND_REDEEM_SELECTOR()": "080456c1", "UNSTAKE_SELECTOR()": "b23228cf", "getIntegrationManager()": "e7c45690", "lend(address,bytes,bytes)": "099f7515", "parseAssetsForAction(address,bytes4,bytes)": "c54efee5", "redeem(address,bytes,bytes)": "c29fa9dd" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_integrationManager\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_addressListRegistry\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_aTokenListId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_lendingPool\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"CLAIM_REWARDS_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LEND_AND_STAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LEND_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"REDEEM_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"STAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TAKE_MULTIPLE_ORDERS_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TAKE_ORDER_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UNSTAKE_AND_REDEEM_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UNSTAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getIntegrationManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"integrationManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"_assetData\",\"type\":\"bytes\"}],\"name\":\"lend\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"_selector\",\"type\":\"bytes4\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"}],\"name\":\"parseAssetsForAction\",\"outputs\":[{\"internalType\":\"enum IIntegrationManager.SpendAssetsHandleType\",\"name\":\"spendAssetsHandleType_\",\"type\":\"uint8\"},{\"internalType\":\"address[]\",\"name\":\"spendAssets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"spendAssetAmounts_\",\"type\":\"uint256[]\"},{\"internalType\":\"address[]\",\"name\":\"incomingAssets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"minIncomingAssetAmounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"_assetData\",\"type\":\"bytes\"}],\"name\":\"redeem\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"getIntegrationManager()\":{\"returns\":{\"integrationManager_\":\"The `INTEGRATION_MANAGER` variable value\"}},\"lend(address,bytes,bytes)\":{\"params\":{\"_assetData\":\"Parsed spend assets and incoming assets data for this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}},\"parseAssetsForAction(address,bytes4,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_selector\":\"The function selector for the callOnIntegration\"},\"returns\":{\"incomingAssets_\":\"The assets to receive in the call\",\"minIncomingAssetAmounts_\":\"The min asset amounts to receive in the call\",\"spendAssetAmounts_\":\"The max asset amounts to spend in the call\",\"spendAssetsHandleType_\":\"A type that dictates how to handle granting the adapter access to spend assets (`None` by default)\",\"spendAssets_\":\"The assets to spend in the call\"}},\"redeem(address,bytes,bytes)\":{\"params\":{\"_assetData\":\"Parsed spend assets and incoming assets data for this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}}},\"title\":\"AaveV2Adapter Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getIntegrationManager()\":{\"notice\":\"Gets the `INTEGRATION_MANAGER` variable\"},\"lend(address,bytes,bytes)\":{\"notice\":\"Lends an amount of a token to AAVE\"},\"parseAssetsForAction(address,bytes4,bytes)\":{\"notice\":\"Parses the expected assets in a particular action\"},\"redeem(address,bytes,bytes)\":{\"notice\":\"Redeems an amount of aTokens from AAVE\"}},\"notice\":\"Adapter for Aave v2 lending\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/integration-manager/integrations/adapters/AaveV2Adapter.sol\":\"AaveV2Adapter\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/address-list-registry/AddressListRegistry.sol\":{\"keccak256\":\"0xf00a9e376e3ec2a223f463f71c15ee3af3642dd028bc3762440e316b760c8048\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://01986c9327b5dfbfac21316dced6d68727931ddde1278ed1342d878004f984b9\",\"dweb:/ipfs/QmdXkFaUU43JqMTYEREbWa129rohdqN7GXy7mVRpjCfSLD\"]},\"contracts/persistent/address-list-registry/address-list-owners/utils/AddOnlyAddressListOwnerBase.sol\":{\"keccak256\":\"0xd3b355f8146b7df79e4537b021379a237d6620c0bdec25e9d96f2b741864909a\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://fcddc5b1dcbe7588943492a5d62ede92f23c46db0bf523267fda0ba9e8acafb5\",\"dweb:/ipfs/QmRssFbEBCRwELD7pvnU7GWoZzxfZocys4sFW33VL71jpt\"]},\"contracts/persistent/address-list-registry/address-list-owners/utils/AddOnlyAddressListOwnerConsumerMixin.sol\":{\"keccak256\":\"0x7eb3ee3ecc65e36bc8b6201e99d42d37bb932e85a5b24afb141a23a469cf8b6e\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://42bb22f3d4b3f2fed39b313cbb81c929d204f07f5ae49f7dc464b44d861d51e5\",\"dweb:/ipfs/QmaMgdLB4zGdZvR5ohexnKoAHdjX7xoM5h8J2ExffyFZG6\"]},\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/release/extensions/integration-manager/IIntegrationManager.sol\":{\"keccak256\":\"0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23\",\"dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk\"]},\"contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol\":{\"keccak256\":\"0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336\",\"dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS\"]},\"contracts/release/extensions/integration-manager/integrations/adapters/AaveV2Adapter.sol\":{\"keccak256\":\"0xc46ccb76911df6a11d76f8ba2a8298efdf9c1073e701733dc90433e161acd62e\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://31f196d4e5f0bf86e613a31570e45bc68f3d88714db5cf29b5d611595bc1368b\",\"dweb:/ipfs/QmcoZtycJg77N457nPVrBJ3tdnYvmacjawnxkZ46zjXGvR\"]},\"contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol\":{\"keccak256\":\"0x067e49bf0d3c1655ab41a413c65ccf61d4e593308132e1ffc484a0fadfbbaf26\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://387f425017e18e89cc1893521101fa99df595314847d0b3d9a1162369f714fcf\",\"dweb:/ipfs/Qmco3jCvuWAyfCpBYpGzHrQjiFJG63w1RJKcakoTEbxRQm\"]},\"contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol\":{\"keccak256\":\"0xfd34c7ca8231c6935e25dede32ca2b3121738e624d0fc896f7b895a731edcf88\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d492c061963d36d07718446db191d4c5a340c0d847f6cd209f027bd99f7cb176\",\"dweb:/ipfs/QmfCvRZt56ftDdrEh6LepHXFJ4fVtcfpQGvEyY8k4zxG1A\"]},\"contracts/release/extensions/integration-manager/integrations/utils/actions/AaveV2ActionsMixin.sol\":{\"keccak256\":\"0x0a313d196a4a1dcb18cd42f67b4c660e2fb3b552c62d372a9afb07f49317bd4b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8a4897a75ef29c0000da91f308cce0de6f4e33fc7735f42c2b542a61ec35e3ec\",\"dweb:/ipfs/QmUpb3JUZzgFBX2KxXyxdmj5x6bonKUiKe3oAmnUoUPd9h\"]},\"contracts/release/extensions/integration-manager/integrations/utils/bases/AaveAdapterBase.sol\":{\"keccak256\":\"0x5a18966a7532149914962a46b8921bbfdf5a6c49f05372315b4423880565f3f3\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://556d798372ff8e0885b01650e2015764a5b01788a3e85c9e3181c85599480b25\",\"dweb:/ipfs/QmQGnKHfdfaG8iaPiYr859SfAeXiUprqx61AiWMaCEJTgE\"]},\"contracts/release/interfaces/IAaveAToken.sol\":{\"keccak256\":\"0x2fe53734b46e1238b7d46889774c5813fa9e132350f45028b5584dfcc254c97b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://7b4b689deca405c2f9f85132d8b1b8650499d3d521b8b302299e25aa5172d81d\",\"dweb:/ipfs/QmUTZHqVT1exEd5RUyjPS6wwkJmZBW9Dgkkb7emiFCSUMW\"]},\"contracts/release/interfaces/IAaveV2LendingPool.sol\":{\"keccak256\":\"0xe9398d0cd11197b955d282c88a345a481cadc70fea502f7b3362234a62b64257\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://569315086744d75b6140ed19dbf53117b07ff986ea524cc6ade31820bee66d3b\",\"dweb:/ipfs/QmeBHxBHYRmBq5nUnxoqQgZ4FDUMcXnzFu6X8Qb96fwdU9\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_integrationManager", "type": "address" }, { "internalType": "address", "name": "_addressListRegistry", "type": "address" }, { "internalType": "uint256", "name": "_aTokenListId", "type": "uint256" }, { "internalType": "address", "name": "_lendingPool", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "CLAIM_REWARDS_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "LEND_AND_STAKE_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "LEND_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "REDEEM_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "STAKE_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "TAKE_MULTIPLE_ORDERS_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "TAKE_ORDER_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "UNSTAKE_AND_REDEEM_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "UNSTAKE_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getIntegrationManager", "outputs": [ { "internalType": "address", "name": "integrationManager_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "bytes", "name": "", "type": "bytes" }, { "internalType": "bytes", "name": "_assetData", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "lend" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "bytes4", "name": "_selector", "type": "bytes4" }, { "internalType": "bytes", "name": "_actionData", "type": "bytes" } ], "stateMutability": "view", "type": "function", "name": "parseAssetsForAction", "outputs": [ { "internalType": "enum IIntegrationManager.SpendAssetsHandleType", "name": "spendAssetsHandleType_", "type": "uint8" }, { "internalType": "address[]", "name": "spendAssets_", "type": "address[]" }, { "internalType": "uint256[]", "name": "spendAssetAmounts_", "type": "uint256[]" }, { "internalType": "address[]", "name": "incomingAssets_", "type": "address[]" }, { "internalType": "uint256[]", "name": "minIncomingAssetAmounts_", "type": "uint256[]" } ] }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "bytes", "name": "", "type": "bytes" }, { "internalType": "bytes", "name": "_assetData", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "redeem" } ], "devdoc": { "kind": "dev", "methods": { "getIntegrationManager()": { "returns": { "integrationManager_": "The `INTEGRATION_MANAGER` variable value" } }, "lend(address,bytes,bytes)": { "params": { "_assetData": "Parsed spend assets and incoming assets data for this action", "_vaultProxy": "The VaultProxy of the calling fund" } }, "parseAssetsForAction(address,bytes4,bytes)": { "params": { "_actionData": "Data specific to this action", "_selector": "The function selector for the callOnIntegration" }, "returns": { "incomingAssets_": "The assets to receive in the call", "minIncomingAssetAmounts_": "The min asset amounts to receive in the call", "spendAssetAmounts_": "The max asset amounts to spend in the call", "spendAssetsHandleType_": "A type that dictates how to handle granting the adapter access to spend assets (`None` by default)", "spendAssets_": "The assets to spend in the call" } }, "redeem(address,bytes,bytes)": { "params": { "_assetData": "Parsed spend assets and incoming assets data for this action", "_vaultProxy": "The VaultProxy of the calling fund" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "getIntegrationManager()": { "notice": "Gets the `INTEGRATION_MANAGER` variable" }, "lend(address,bytes,bytes)": { "notice": "Lends an amount of a token to AAVE" }, "parseAssetsForAction(address,bytes4,bytes)": { "notice": "Parses the expected assets in a particular action" }, "redeem(address,bytes,bytes)": { "notice": "Redeems an amount of aTokens from AAVE" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/integration-manager/integrations/adapters/AaveV2Adapter.sol": "AaveV2Adapter" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/address-list-registry/AddressListRegistry.sol": { "keccak256": "0xf00a9e376e3ec2a223f463f71c15ee3af3642dd028bc3762440e316b760c8048", "urls": [ "bzz-raw://01986c9327b5dfbfac21316dced6d68727931ddde1278ed1342d878004f984b9", "dweb:/ipfs/QmdXkFaUU43JqMTYEREbWa129rohdqN7GXy7mVRpjCfSLD" ], "license": "GPL-3.0" }, "contracts/persistent/address-list-registry/address-list-owners/utils/AddOnlyAddressListOwnerBase.sol": { "keccak256": "0xd3b355f8146b7df79e4537b021379a237d6620c0bdec25e9d96f2b741864909a", "urls": [ "bzz-raw://fcddc5b1dcbe7588943492a5d62ede92f23c46db0bf523267fda0ba9e8acafb5", "dweb:/ipfs/QmRssFbEBCRwELD7pvnU7GWoZzxfZocys4sFW33VL71jpt" ], "license": "GPL-3.0" }, "contracts/persistent/address-list-registry/address-list-owners/utils/AddOnlyAddressListOwnerConsumerMixin.sol": { "keccak256": "0x7eb3ee3ecc65e36bc8b6201e99d42d37bb932e85a5b24afb141a23a469cf8b6e", "urls": [ "bzz-raw://42bb22f3d4b3f2fed39b313cbb81c929d204f07f5ae49f7dc464b44d861d51e5", "dweb:/ipfs/QmaMgdLB4zGdZvR5ohexnKoAHdjX7xoM5h8J2ExffyFZG6" ], "license": "GPL-3.0" }, "contracts/persistent/dispatcher/IDispatcher.sol": { "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", "urls": [ "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/IIntegrationManager.sol": { "keccak256": "0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef", "urls": [ "bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23", "dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol": { "keccak256": "0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1", "urls": [ "bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336", "dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/adapters/AaveV2Adapter.sol": { "keccak256": "0xc46ccb76911df6a11d76f8ba2a8298efdf9c1073e701733dc90433e161acd62e", "urls": [ "bzz-raw://31f196d4e5f0bf86e613a31570e45bc68f3d88714db5cf29b5d611595bc1368b", "dweb:/ipfs/QmcoZtycJg77N457nPVrBJ3tdnYvmacjawnxkZ46zjXGvR" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol": { "keccak256": "0x067e49bf0d3c1655ab41a413c65ccf61d4e593308132e1ffc484a0fadfbbaf26", "urls": [ "bzz-raw://387f425017e18e89cc1893521101fa99df595314847d0b3d9a1162369f714fcf", "dweb:/ipfs/Qmco3jCvuWAyfCpBYpGzHrQjiFJG63w1RJKcakoTEbxRQm" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol": { "keccak256": "0xfd34c7ca8231c6935e25dede32ca2b3121738e624d0fc896f7b895a731edcf88", "urls": [ "bzz-raw://d492c061963d36d07718446db191d4c5a340c0d847f6cd209f027bd99f7cb176", "dweb:/ipfs/QmfCvRZt56ftDdrEh6LepHXFJ4fVtcfpQGvEyY8k4zxG1A" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/utils/actions/AaveV2ActionsMixin.sol": { "keccak256": "0x0a313d196a4a1dcb18cd42f67b4c660e2fb3b552c62d372a9afb07f49317bd4b", "urls": [ "bzz-raw://8a4897a75ef29c0000da91f308cce0de6f4e33fc7735f42c2b542a61ec35e3ec", "dweb:/ipfs/QmUpb3JUZzgFBX2KxXyxdmj5x6bonKUiKe3oAmnUoUPd9h" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/utils/bases/AaveAdapterBase.sol": { "keccak256": "0x5a18966a7532149914962a46b8921bbfdf5a6c49f05372315b4423880565f3f3", "urls": [ "bzz-raw://556d798372ff8e0885b01650e2015764a5b01788a3e85c9e3181c85599480b25", "dweb:/ipfs/QmQGnKHfdfaG8iaPiYr859SfAeXiUprqx61AiWMaCEJTgE" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IAaveAToken.sol": { "keccak256": "0x2fe53734b46e1238b7d46889774c5813fa9e132350f45028b5584dfcc254c97b", "urls": [ "bzz-raw://7b4b689deca405c2f9f85132d8b1b8650499d3d521b8b302299e25aa5172d81d", "dweb:/ipfs/QmUTZHqVT1exEd5RUyjPS6wwkJmZBW9Dgkkb7emiFCSUMW" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IAaveV2LendingPool.sol": { "keccak256": "0xe9398d0cd11197b955d282c88a345a481cadc70fea502f7b3362234a62b64257", "urls": [ "bzz-raw://569315086744d75b6140ed19dbf53117b07ff986ea524cc6ade31820bee66d3b", "dweb:/ipfs/QmeBHxBHYRmBq5nUnxoqQgZ4FDUMcXnzFu6X8Qb96fwdU9" ], "license": "GPL-3.0" }, "contracts/release/utils/AssetHelpers.sol": { "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", "urls": [ "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", "urls": [ "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Address.sol": { "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", "urls": [ "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" } }, "version": 1 }, "id": 160 } diff --git a/eth_defi/abi/enzyme/AaveV3ATokenListOwner.json b/eth_defi/abi/enzyme/AaveV3ATokenListOwner.json index 12a47cb3..1134e53a 100644 --- a/eth_defi/abi/enzyme/AaveV3ATokenListOwner.json +++ b/eth_defi/abi/enzyme/AaveV3ATokenListOwner.json @@ -1,228 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_addressListRegistry", - "type": "address" - }, - { - "internalType": "string", - "name": "_listDescription", - "type": "string" - }, - { - "internalType": "address", - "name": "_poolAddressProvider", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_items", - "type": "address[]" - } - ], - "name": "addValidatedItemsToList", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x60e06040523480156200001157600080fd5b5060405162000e2e38038062000e2e83398101604081905262000034916200028f565b6001600160601b0319606084901b16608052828260006001600160a01b03831663be68406e3060018460405190808252806020026020018201604052801562000087578160200160208202803683370190505b506040518463ffffffff1660e01b8152600401620000a893929190620004fd565b602060405180830381600087803b158015620000c357600080fd5b505af1158015620000d8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000fe9190620002fb565b60a0819052604080516001808252818301909252919250606091906020808301908036833750506040805160018082528183019092529293506060929150602082015b60608152602001906001900390816200014157905050905082826000815181106200016857fe5b60200260200101818152505083816000815181106200018357fe5b6020908102919091010152604051635a137ca360e11b81526001600160a01b0386169063b426f94690620001be908590859060040162000539565b600060405180830381600087803b158015620001d957600080fd5b505af1158015620001ee573d6000803e3d6000fd5b505050505060609490941b6001600160601b03191660c052506200066b945050505050565b8051620002208162000649565b92915050565b600082601f8301126200023857600080fd5b81516200024f620002498262000589565b62000562565b915080825260208301602083018583830111156200026c57600080fd5b62000279838284620005fe565b50505092915050565b8051620002208162000660565b600080600060608486031215620002a557600080fd5b6000620002b3868662000213565b93505060208401516001600160401b03811115620002d057600080fd5b620002de8682870162000226565b9250506040620002f18682870162000213565b9150509250925092565b6000602082840312156200030e57600080fd5b60006200031c848462000282565b949350505050565b60006200033283836200035d565b505060200190565b6000620003488383620004b2565b9392505050565b6000620003328383620004f2565b6200036881620005c4565b82525050565b60006200037b82620005b7565b620003878185620005bb565b93506200039483620005b1565b8060005b83811015620003c8578151620003af888262000324565b9750620003bc83620005b1565b92505060010162000398565b509495945050505050565b6000620003e082620005b7565b620003ec8185620005bb565b9350836020820285016200040085620005b1565b8060005b858110156200044057848403895281516200042085826200033a565b94506200042d83620005b1565b60209a909a019992505060010162000404565b5091979650505050505050565b60006200045a82620005b7565b620004668185620005bb565b93506200047383620005b1565b8060005b83811015620003c85781516200048e88826200034f565b97506200049b83620005b1565b92505060010162000477565b6200036881620005f1565b6000620004bf82620005b7565b620004cb8185620005bb565b9350620004dd818560208601620005fe565b620004e88162000631565b9093019392505050565b6200036881620005ee565b606081016200050d82866200035d565b6200051c6020830185620004a7565b81810360408301526200053081846200036e565b95945050505050565b604080825281016200054c81856200044d565b905081810360208301526200031c8184620003d3565b6040518181016001600160401b03811182821017156200058157600080fd5b604052919050565b60006001600160401b03821115620005a057600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b60006200022082620005e2565b80620005dd816200063b565b919050565b6001600160a01b031690565b90565b60006200022082620005d1565b60005b838110156200061b57818101518382015260200162000601565b838111156200062b576000848401525b50505050565b601f01601f191690565b600481106200064657fe5b50565b6200065481620005c4565b81146200064657600080fd5b6200065481620005ee565b60805160601c60a05160c05160601c6107936200069b6000398060f95250806093525080606652506107936000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063a8f0bc4114610030575b600080fd5b61004361003e366004610559565b610045565b005b61004f82826100f5565b6040516346d1eb9b60e11b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690638da3d736906100bf907f00000000000000000000000000000000000000000000000000000000000000009086908690600401610695565b600060405180830381600087803b1580156100d957600080fd5b505af11580156100ed573d6000803e3d6000fd5b505050505050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663026b1d5f6040518163ffffffff1660e01b815260040160206040518083038186803b15801561015057600080fd5b505afa158015610164573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610188919061053b565b905060005b828110156102f05760008484838181106101a357fe5b90506020020160208101906101b89190610515565b9050826001600160a01b03166335ea6a75826001600160a01b031663b16a19de6040518163ffffffff1660e01b815260040160206040518083038186803b15801561020257600080fd5b505afa158015610216573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061023a919061053b565b6040518263ffffffff1660e01b81526004016102569190610677565b6101e060405180830381600087803b15801561027157600080fd5b505af1158015610285573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102a9919061059b565b61010001516001600160a01b0316816001600160a01b0316146102e75760405162461bcd60e51b81526004016102de90610685565b60405180910390fd5b5060010161018d565b50505050565b80356103018161074b565b92915050565b80516103018161074b565b60008083601f84011261032457600080fd5b50813567ffffffffffffffff81111561033c57600080fd5b60208301915083602082028301111561035457600080fd5b9250929050565b60006020828403121561036d57600080fd5b61037760206106bf565b9050600061038584846104ff565b82525092915050565b60006101e082840312156103a157600080fd5b6103ac6101e06106bf565b905060006103ba848461035b565b82525060206103cb848483016104e9565b60208301525060406103df848285016104e9565b60408301525060606103f3848285016104e9565b6060830152506080610407848285016104e9565b60808301525060a061041b848285016104e9565b60a08301525060c061042f8482850161050a565b60c08301525060e0610443848285016104f4565b60e08301525061010061045884828501610307565b6101008301525061012061046e84828501610307565b6101208301525061014061048484828501610307565b6101408301525061016061049a84828501610307565b610160830152506101806104b0848285016104e9565b610180830152506101a06104c6848285016104e9565b6101a0830152506101c06104dc848285016104e9565b6101c08301525092915050565b805161030181610762565b80516103018161076b565b805161030181610774565b80516103018161077d565b60006020828403121561052757600080fd5b600061053384846102f6565b949350505050565b60006020828403121561054d57600080fd5b60006105338484610307565b6000806020838503121561056c57600080fd5b823567ffffffffffffffff81111561058357600080fd5b61058f85828601610312565b92509250509250929050565b60006101e082840312156105ae57600080fd5b6000610533848461038e565b60006105c683836105ce565b505060200190565b6105d78161070e565b82525050565b60006105e983856106ef565b93506105f4826106e6565b8060005b8581101561062a5761060a82846106f8565b61061488826105ba565b975061061f836106e9565b9250506001016105f8565b509495945050505050565b6000610642601f836106ef565b7f5f5f76616c69646174654974656d733a20496e76616c69642061546f6b656e00815260200192915050565b6105d7816106e6565b6020810161030182846105ce565b6020808252810161030181610635565b604081016106a3828661066e565b81810360208301526106b68184866105dd565b95945050505050565b60405181810167ffffffffffffffff811182821017156106de57600080fd5b604052919050565b90565b60200190565b90815260200190565b600061070760208401846102f6565b9392505050565b600061030182610735565b6fffffffffffffffffffffffffffffffff1690565b61ffff1690565b6001600160a01b031690565b64ffffffffff1690565b6107548161070e565b811461075f57600080fd5b50565b61075481610719565b6107548161072e565b610754816106e6565b6107548161074156fea164736f6c634300060c000a", - "sourceMap": "705:1095:12:-:0;;;855:307;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;802:74:14;;;;;;;1024:20:12;1046:16;914:14:14;-1:-1:-1;;;;;802:74:14;;931:52;1014:4;1046:38;914:14;1113:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1113:16:14;;931:209;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1150:16;;;;1234;;;1248:1;1234:16;;;;;;;;;1150;;-1:-1:-1;1207:24:14;;1234:16;;;;;;;;;;-1:-1:-1;;1291:15:14;;;1304:1;1291:15;;;;;;;;;1207:43;;-1:-1:-1;1260:28:14;;1291:15;-1:-1:-1;1291:15:14;;;;;;;;;;;;;;;;;;;;1260:46;;1329:6;1316:7;1324:1;1316:10;;;;;;;;;;;;;:19;;;;;1363:16;1345:12;1358:1;1345:15;;;;;;;;;;;;;;;;;:34;1390:133;;-1:-1:-1;;;1390:133:14;;-1:-1:-1;;;;;1390:53:14;;;;;:133;;1464:7;;1500:12;;1390:133;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1074:81:12::1;::::0;;;;-1:-1:-1;;;;;;1074:81:12;::::1;::::0;-1:-1:-1;705:1095:12;;-1:-1:-1;;;;;705:1095:12;5:134:-1;83:13;;101:33;83:13;101:33;:::i;:::-;68:71;;;;:::o;147:444::-;;260:3;253:4;245:6;241:17;237:27;227:2;;278:1;275;268:12;227:2;308:6;302:13;330:65;345:49;387:6;345:49;:::i;:::-;330:65;:::i;:::-;321:74;;415:6;408:5;401:21;451:4;443:6;439:17;484:4;477:5;473:16;519:3;510:6;505:3;501:16;498:25;495:2;;;536:1;533;526:12;495:2;546:39;578:6;573:3;568;546:39;:::i;:::-;220:371;;;;;;;:::o;599:134::-;677:13;;695:33;677:13;695:33;:::i;740:634::-;;;;899:2;887:9;878:7;874:23;870:32;867:2;;;915:1;912;905:12;867:2;950:1;967:64;1023:7;1003:9;967:64;:::i;:::-;957:74;;929:108;1089:2;1078:9;1074:18;1068:25;-1:-1;;;;;1105:6;1102:30;1099:2;;;1145:1;1142;1135:12;1099:2;1165:74;1231:7;1222:6;1211:9;1207:22;1165:74;:::i;:::-;1155:84;;1047:198;1276:2;1294:64;1350:7;1341:6;1330:9;1326:22;1294:64;:::i;:::-;1284:74;;1255:109;861:513;;;;;:::o;1381:263::-;;1496:2;1484:9;1475:7;1471:23;1467:32;1464:2;;;1512:1;1509;1502:12;1464:2;1547:1;1564:64;1620:7;1600:9;1564:64;:::i;:::-;1554:74;1458:186;-1:-1;;;;1458:186::o;1652:173::-;;1739:46;1781:3;1773:6;1739:46;:::i;:::-;-1:-1;;1814:4;1805:14;;1732:93::o;1834:193::-;;1955:66;2017:3;2009:6;1955:66;:::i;:::-;1941:80;1934:93;-1:-1;;;1934:93::o;2036:173::-;;2123:46;2165:3;2157:6;2123:46;:::i;2217:103::-;2290:24;2308:5;2290:24;:::i;:::-;2285:3;2278:37;2272:48;;:::o;2478:690::-;;2623:54;2671:5;2623:54;:::i;:::-;2690:86;2769:6;2764:3;2690:86;:::i;:::-;2683:93;;2797:56;2847:5;2797:56;:::i;:::-;2873:7;2901:1;2886:260;2911:6;2908:1;2905:13;2886:260;;;2978:6;2972:13;2999:63;3058:3;3043:13;2999:63;:::i;:::-;2992:70;;3079:60;3132:6;3079:60;:::i;:::-;3069:70;-1:-1;;2933:1;2926:9;2886:260;;;-1:-1;3159:3;;2602:566;-1:-1;;;;;2602:566::o;3205:928::-;;3370:64;3428:5;3370:64;:::i;:::-;3447:96;3536:6;3531:3;3447:96;:::i;:::-;3440:103;;3566:3;3608:4;3600:6;3596:17;3591:3;3587:27;3635:66;3695:5;3635:66;:::i;:::-;3721:7;3749:1;3734:360;3759:6;3756:1;3753:13;3734:360;;;3821:9;3815:4;3811:20;3806:3;3799:33;3866:6;3860:13;3888:84;3967:4;3952:13;3888:84;:::i;:::-;3880:92;;3989:70;4052:6;3989:70;:::i;:::-;4082:4;4073:14;;;;;3979:80;-1:-1;;3781:1;3774:9;3734:360;;;-1:-1;4107:4;;3349:784;-1:-1;;;;;;;3349:784::o;4172:690::-;;4317:54;4365:5;4317:54;:::i;:::-;4384:86;4463:6;4458:3;4384:86;:::i;:::-;4377:93;;4491:56;4541:5;4491:56;:::i;:::-;4567:7;4595:1;4580:260;4605:6;4602:1;4599:13;4580:260;;;4672:6;4666:13;4693:63;4752:3;4737:13;4693:63;:::i;:::-;4686:70;;4773:60;4826:6;4773:60;:::i;:::-;4763:70;-1:-1;;4627:1;4620:9;4580:260;;4870:152;4966:50;5010:5;4966:50;:::i;5029:327::-;;5131:39;5164:5;5131:39;:::i;:::-;5182:61;5236:6;5231:3;5182:61;:::i;:::-;5175:68;;5248:52;5293:6;5288:3;5281:4;5274:5;5270:16;5248:52;:::i;:::-;5321:29;5343:6;5321:29;:::i;:::-;5312:39;;;;5111:245;-1:-1;;;5111:245::o;5363:103::-;5436:24;5454:5;5436:24;:::i;5473:618::-;5719:2;5704:18;;5733:71;5708:9;5777:6;5733:71;:::i;:::-;5815:85;5896:2;5885:9;5881:18;5872:6;5815:85;:::i;:::-;5948:9;5942:4;5938:20;5933:2;5922:9;5918:18;5911:48;5973:108;6076:4;6067:6;5973:108;:::i;:::-;5965:116;5690:401;-1:-1;;;;;5690:401::o;6098:669::-;6373:2;6387:47;;;6358:18;;6448:108;6358:18;6542:6;6448:108;:::i;:::-;6440:116;;6604:9;6598:4;6594:20;6589:2;6578:9;6574:18;6567:48;6629:128;6752:4;6743:6;6629:128;:::i;6774:256::-;6836:2;6830:9;6862:17;;;-1:-1;;;;;6922:34;;6958:22;;;6919:62;6916:2;;;6994:1;6991;6984:12;6916:2;7010;7003:22;6814:216;;-1:-1;6814:216::o;7037:322::-;;-1:-1;;;;;7173:6;7170:30;7167:2;;;7213:1;7210;7203:12;7167:2;-1:-1;7344:4;7280;7257:17;;;;-1:-1;;7253:33;7334:15;;7104:255::o;7366:151::-;7490:4;7481:14;;7438:79::o;7850:137::-;7953:12;;7924:63::o;8777:178::-;8895:19;;;8944:4;8935:14;;8888:67::o;9509:91::-;;9571:24;9589:5;9571:24;:::i;9607:136::-;9684:5;9690:48;9684:5;9690:48;:::i;:::-;9667:76;;;:::o;9750:121::-;-1:-1;;;;;9812:54;;9795:76::o;9878:72::-;9940:5;9923:27::o;9957:136::-;;10049:39;10082:5;10049:39;:::i;10101:268::-;10166:1;10173:101;10187:6;10184:1;10181:13;10173:101;;;10254:11;;;10248:18;10235:11;;;10228:39;10209:2;10202:10;10173:101;;;10289:6;10286:1;10283:13;10280:2;;;10354:1;10345:6;10340:3;10336:16;10329:27;10280:2;10150:219;;;;:::o;10377:97::-;10465:2;10445:14;-1:-1;;10441:28;;10425:49::o;10482:106::-;10566:1;10559:5;10556:12;10546:2;;10572:9;10546:2;10540:48;:::o;10595:117::-;10664:24;10682:5;10664:24;:::i;:::-;10657:5;10654:35;10644:2;;10703:1;10700;10693:12;10719:117;10788:24;10806:5;10788:24;:::i;10762:74::-;705:1095:12;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c8063a8f0bc4114610030575b600080fd5b61004361003e366004610559565b610045565b005b61004f82826100f5565b6040516346d1eb9b60e11b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690638da3d736906100bf907f00000000000000000000000000000000000000000000000000000000000000009086908690600401610695565b600060405180830381600087803b1580156100d957600080fd5b505af11580156100ed573d6000803e3d6000fd5b505050505050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663026b1d5f6040518163ffffffff1660e01b815260040160206040518083038186803b15801561015057600080fd5b505afa158015610164573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610188919061053b565b905060005b828110156102f05760008484838181106101a357fe5b90506020020160208101906101b89190610515565b9050826001600160a01b03166335ea6a75826001600160a01b031663b16a19de6040518163ffffffff1660e01b815260040160206040518083038186803b15801561020257600080fd5b505afa158015610216573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061023a919061053b565b6040518263ffffffff1660e01b81526004016102569190610677565b6101e060405180830381600087803b15801561027157600080fd5b505af1158015610285573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102a9919061059b565b61010001516001600160a01b0316816001600160a01b0316146102e75760405162461bcd60e51b81526004016102de90610685565b60405180910390fd5b5060010161018d565b50505050565b80356103018161074b565b92915050565b80516103018161074b565b60008083601f84011261032457600080fd5b50813567ffffffffffffffff81111561033c57600080fd5b60208301915083602082028301111561035457600080fd5b9250929050565b60006020828403121561036d57600080fd5b61037760206106bf565b9050600061038584846104ff565b82525092915050565b60006101e082840312156103a157600080fd5b6103ac6101e06106bf565b905060006103ba848461035b565b82525060206103cb848483016104e9565b60208301525060406103df848285016104e9565b60408301525060606103f3848285016104e9565b6060830152506080610407848285016104e9565b60808301525060a061041b848285016104e9565b60a08301525060c061042f8482850161050a565b60c08301525060e0610443848285016104f4565b60e08301525061010061045884828501610307565b6101008301525061012061046e84828501610307565b6101208301525061014061048484828501610307565b6101408301525061016061049a84828501610307565b610160830152506101806104b0848285016104e9565b610180830152506101a06104c6848285016104e9565b6101a0830152506101c06104dc848285016104e9565b6101c08301525092915050565b805161030181610762565b80516103018161076b565b805161030181610774565b80516103018161077d565b60006020828403121561052757600080fd5b600061053384846102f6565b949350505050565b60006020828403121561054d57600080fd5b60006105338484610307565b6000806020838503121561056c57600080fd5b823567ffffffffffffffff81111561058357600080fd5b61058f85828601610312565b92509250509250929050565b60006101e082840312156105ae57600080fd5b6000610533848461038e565b60006105c683836105ce565b505060200190565b6105d78161070e565b82525050565b60006105e983856106ef565b93506105f4826106e6565b8060005b8581101561062a5761060a82846106f8565b61061488826105ba565b975061061f836106e9565b9250506001016105f8565b509495945050505050565b6000610642601f836106ef565b7f5f5f76616c69646174654974656d733a20496e76616c69642061546f6b656e00815260200192915050565b6105d7816106e6565b6020810161030182846105ce565b6020808252810161030181610635565b604081016106a3828661066e565b81810360208301526106b68184866105dd565b95945050505050565b60405181810167ffffffffffffffff811182821017156106de57600080fd5b604052919050565b90565b60200190565b90815260200190565b600061070760208401846102f6565b9392505050565b600061030182610735565b6fffffffffffffffffffffffffffffffff1690565b61ffff1690565b6001600160a01b031690565b64ffffffffff1690565b6107548161070e565b811461075f57600080fd5b50565b61075481610719565b6107548161072e565b610754816106e6565b6107548161074156fea164736f6c634300060c000a", - "sourceMap": "705:1095:12:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1692:200:14;;;;;;:::i;:::-;;:::i;:::-;;;1779:23;1795:6;;1779:15;:23::i;:::-;1813:72;;-1:-1:-1;;;1813:72:14;;-1:-1:-1;;;;;1813:30:14;:40;;;;:72;;1860:7;;1877:6;;;;1813:72;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1692:200;;:::o;1256:542:12:-;1336:24;1375:30;-1:-1:-1;;;;;1375:38:12;;:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1336:80;;1432:9;1427:365;1443:17;;;1427:365;;;1481:14;1498:6;;1505:1;1498:9;;;;;;;;;;;;;;;;;;;;:::i;:::-;1481:26;;1577:12;-1:-1:-1;;;;;1577:52:12;;1642:6;-1:-1:-1;;;;;1630:44:12;;:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1577:100;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:139;;;-1:-1:-1;;;;;1547:169:12;:6;-1:-1:-1;;;;;1547:169:12;;1522:259;;;;-1:-1:-1;;;1522:259:12;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;1462:3:12;;1427:365;;;;1256:542;;;:::o;5:130:-1:-;72:20;;97:33;72:20;97:33;:::i;:::-;57:78;;;;:::o;142:134::-;220:13;;238:33;220:13;238:33;:::i;301:352::-;;;431:3;424:4;416:6;412:17;408:27;398:2;;449:1;446;439:12;398:2;-1:-1;469:20;;509:18;498:30;;495:2;;;541:1;538;531:12;495:2;575:4;567:6;563:17;551:29;;626:3;618:4;610:6;606:17;596:8;592:32;589:41;586:2;;;643:1;640;633:12;586:2;391:262;;;;;:::o;710:362::-;;852:4;840:9;835:3;831:19;827:30;824:2;;;870:1;867;860:12;824:2;888:20;903:4;888:20;:::i;:::-;879:29;-1:-1;958:1;990:60;1046:3;1026:9;990:60;:::i;:::-;965:86;;-1:-1;976:5;818:254;-1:-1;;818:254::o;1116:2797::-;;1246:6;1234:9;1229:3;1225:19;1221:32;1218:2;;;1266:1;1263;1256:12;1218:2;1284:22;1299:6;1284:22;:::i;:::-;1275:31;-1:-1;1365:1;1397:102;1495:3;1475:9;1397:102;:::i;:::-;1372:128;;-1:-1;1571:2;1604:60;1660:3;1636:22;;;1604:60;:::i;:::-;1597:4;1590:5;1586:16;1579:86;1521:155;1742:2;1775:60;1831:3;1822:6;1811:9;1807:22;1775:60;:::i;:::-;1768:4;1761:5;1757:16;1750:86;1686:161;1912:2;1945:60;2001:3;1992:6;1981:9;1977:22;1945:60;:::i;:::-;1938:4;1931:5;1927:16;1920:86;1857:160;2088:3;2122:60;2178:3;2169:6;2158:9;2154:22;2122:60;:::i;:::-;2115:4;2108:5;2104:16;2097:86;2027:167;2263:3;2297:60;2353:3;2344:6;2333:9;2329:22;2297:60;:::i;:::-;2290:4;2283:5;2279:16;2272:86;2204:165;2434:3;2468:59;2523:3;2514:6;2503:9;2499:22;2468:59;:::i;:::-;2461:4;2454:5;2450:16;2443:85;2379:160;2587:3;2621:59;2676:3;2667:6;2656:9;2652:22;2621:59;:::i;:::-;2614:4;2607:5;2603:16;2596:85;2549:143;2751:3;2787:60;2843:3;2834:6;2823:9;2819:22;2787:60;:::i;:::-;2778:6;2771:5;2767:18;2760:88;2702:157;2927:3;2963:60;3019:3;3010:6;2999:9;2995:22;2963:60;:::i;:::-;2954:6;2947:5;2943:18;2936:88;2869:166;3105:3;3141:60;3197:3;3188:6;3177:9;3173:22;3141:60;:::i;:::-;3132:6;3125:5;3121:18;3114:88;3045:168;3286:3;3322:60;3378:3;3369:6;3358:9;3354:22;3322:60;:::i;:::-;3313:6;3306:5;3302:18;3295:88;3223:171;3457:3;3493:60;3549:3;3540:6;3529:9;3525:22;3493:60;:::i;:::-;3484:6;3477:5;3473:18;3466:88;3404:161;3619:3;3655:60;3711:3;3702:6;3691:9;3687:22;3655:60;:::i;:::-;3646:6;3639:5;3635:18;3628:88;3575:152;3795:3;3831:60;3887:3;3878:6;3867:9;3863:22;3831:60;:::i;:::-;3822:6;3815:5;3811:18;3804:88;3737:166;1212:2701;;;;:::o;3920:134::-;3998:13;;4016:33;3998:13;4016:33;:::i;4061:132::-;4138:13;;4156:32;4138:13;4156:32;:::i;4200:134::-;4278:13;;4296:33;4278:13;4296:33;:::i;4341:132::-;4418:13;;4436:32;4418:13;4436:32;:::i;4480:241::-;;4584:2;4572:9;4563:7;4559:23;4555:32;4552:2;;;4600:1;4597;4590:12;4552:2;4635:1;4652:53;4697:7;4677:9;4652:53;:::i;:::-;4642:63;4546:175;-1:-1;;;;4546:175::o;4728:263::-;;4843:2;4831:9;4822:7;4818:23;4814:32;4811:2;;;4859:1;4856;4849:12;4811:2;4894:1;4911:64;4967:7;4947:9;4911:64;:::i;4998:397::-;;;5137:2;5125:9;5116:7;5112:23;5108:32;5105:2;;;5153:1;5150;5143:12;5105:2;5188:31;;5239:18;5228:30;;5225:2;;;5271:1;5268;5261:12;5225:2;5299:80;5371:7;5362:6;5351:9;5347:22;5299:80;:::i;:::-;5281:98;;;;5167:218;5099:296;;;;;:::o;5402:324::-;;5547:3;5535:9;5526:7;5522:23;5518:33;5515:2;;;5564:1;5561;5554:12;5515:2;5599:1;5616:94;5702:7;5682:9;5616:94;:::i;5734:173::-;;5821:46;5863:3;5855:6;5821:46;:::i;:::-;-1:-1;;5896:4;5887:14;;5814:93::o;5915:103::-;5988:24;6006:5;5988:24;:::i;:::-;5983:3;5976:37;5970:48;;:::o;6176:665::-;;6330:86;6409:6;6404:3;6330:86;:::i;:::-;6323:93;;6437:58;6489:5;6437:58;:::i;:::-;6515:7;6543:1;6528:291;6553:6;6550:1;6547:13;6528:291;;;6614:42;6649:6;6640:7;6614:42;:::i;:::-;6670:63;6729:3;6714:13;6670:63;:::i;:::-;6663:70;;6750:62;6805:6;6750:62;:::i;:::-;6740:72;-1:-1;;6575:1;6568:9;6528:291;;;-1:-1;6832:3;;6310:531;-1:-1;;;;;6310:531::o;6850:331::-;;7010:67;7074:2;7069:3;7010:67;:::i;:::-;7110:33;7090:54;;7172:2;7163:12;;6996:185;-1:-1;;6996:185::o;7189:113::-;7272:24;7290:5;7272:24;:::i;7309:222::-;7436:2;7421:18;;7450:71;7425:9;7494:6;7450:71;:::i;7538:416::-;7738:2;7752:47;;;7723:18;;7813:131;7723:18;7813:131;:::i;7961:501::-;8176:2;8161:18;;8190:71;8165:9;8234:6;8190:71;:::i;:::-;8309:9;8303:4;8299:20;8294:2;8283:9;8279:18;8272:48;8334:118;8447:4;8438:6;8430;8334:118;:::i;:::-;8326:126;8147:315;-1:-1;;;;;8147:315::o;8469:256::-;8531:2;8525:9;8557:17;;;8632:18;8617:34;;8653:22;;;8614:62;8611:2;;;8689:1;8686;8679:12;8611:2;8705;8698:22;8509:216;;-1:-1;8509:216::o;8732:118::-;8820:3;8806:44::o;8857:110::-;8957:4;8948:14;;8934:33::o;8975:178::-;9093:19;;;9142:4;9133:14;;9086:67::o;9334:119::-;;9408:39;9443:2;9438:3;9434:12;9429:3;9408:39;:::i;:::-;9399:48;9392:61;-1:-1;;;9392:61::o;9461:91::-;;9523:24;9541:5;9523:24;:::i;9559:113::-;9632:34;9621:46;;9604:68::o;9679:84::-;9751:6;9740:18;;9723:40::o;9770:121::-;-1:-1;;;;;9832:54;;9815:76::o;9977:90::-;10049:12;10038:24;;10021:46::o;10074:117::-;10143:24;10161:5;10143:24;:::i;:::-;10136:5;10133:35;10123:2;;10182:1;10179;10172:12;10123:2;10117:74;:::o;10198:117::-;10267:24;10285:5;10267:24;:::i;10322:115::-;10390:23;10407:5;10390:23;:::i;10444:117::-;10513:24;10531:5;10513:24;:::i;10568:115::-;10636:23;10653:5;10636:23;:::i", - "linkReferences": {}, - "immutableReferences": { - "2579": [ - { - "start": 249, - "length": 32 - } - ], - "2725": [ - { - "start": 102, - "length": 32 - } - ], - "2727": [ - { - "start": 147, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "addValidatedItemsToList(address[])": "a8f0bc41" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_addressListRegistry\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_listDescription\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"_poolAddressProvider\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_items\",\"type\":\"address[]\"}],\"name\":\"addValidatedItemsToList\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"addValidatedItemsToList(address[])\":{\"details\":\"Override if access control needed\",\"params\":{\"_items\":\"Items to add\"}}},\"title\":\"AaveV3ATokenListOwner Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"addValidatedItemsToList(address[])\":{\"notice\":\"Add items to the list after subjecting them to validation\"}},\"notice\":\"The AddressListRegistry owner of an Aave v3 aToken list\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/address-list-registry/address-list-owners/AaveV3ATokenListOwner.sol\":\"AaveV3ATokenListOwner\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/address-list-registry/AddressListRegistry.sol\":{\"keccak256\":\"0xf00a9e376e3ec2a223f463f71c15ee3af3642dd028bc3762440e316b760c8048\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://01986c9327b5dfbfac21316dced6d68727931ddde1278ed1342d878004f984b9\",\"dweb:/ipfs/QmdXkFaUU43JqMTYEREbWa129rohdqN7GXy7mVRpjCfSLD\"]},\"contracts/persistent/address-list-registry/address-list-owners/AaveV3ATokenListOwner.sol\":{\"keccak256\":\"0x5b035767439ddf850aa4a5cd2d64aa8b99334a87a48cc879b71fd9de81c069cd\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9258f0bf7db788f3954e7466a58702c2304c2c8c6e06184bfac22bb2737d215e\",\"dweb:/ipfs/QmfR3kFmjcph6c5bUA3f1K4Czh8isLsqyA4RZQGgWoUaN7\"]},\"contracts/persistent/address-list-registry/address-list-owners/utils/AddOnlyAddressListOwnerBase.sol\":{\"keccak256\":\"0xd3b355f8146b7df79e4537b021379a237d6620c0bdec25e9d96f2b741864909a\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://fcddc5b1dcbe7588943492a5d62ede92f23c46db0bf523267fda0ba9e8acafb5\",\"dweb:/ipfs/QmRssFbEBCRwELD7pvnU7GWoZzxfZocys4sFW33VL71jpt\"]},\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/release/interfaces/IAaveAToken.sol\":{\"keccak256\":\"0x2fe53734b46e1238b7d46889774c5813fa9e132350f45028b5584dfcc254c97b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://7b4b689deca405c2f9f85132d8b1b8650499d3d521b8b302299e25aa5172d81d\",\"dweb:/ipfs/QmUTZHqVT1exEd5RUyjPS6wwkJmZBW9Dgkkb7emiFCSUMW\"]},\"contracts/release/interfaces/IAaveV3Pool.sol\":{\"keccak256\":\"0x530751e3515c5d8c9afd4eb09b509d8f351b25ae0b73b41ea1da79ba6d6e3816\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f388a7639bfedd9c2e403bc0c20ea5b06a9ed72c9451af226d4b8b5fbfd4f639\",\"dweb:/ipfs/QmTdK9XprwhsWXqZZpAFGxGNcbSf8SfoaNYRXQ1V4ujskn\"]},\"contracts/release/interfaces/IAaveV3PoolAddressProvider.sol\":{\"keccak256\":\"0x44111cddca665e41c434817c73902e5ae3a16c8776775305255b0c2d248d8416\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f4306a2dc49c10978e68625b600e2cba3a975152ae75cccc39a7cca4ba429fea\",\"dweb:/ipfs/QmQJHZqorUqr8oAsscPUyZqzuBJp15a2F6YBMasbaQJ9ak\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_addressListRegistry", - "type": "address" - }, - { - "internalType": "string", - "name": "_listDescription", - "type": "string" - }, - { - "internalType": "address", - "name": "_poolAddressProvider", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_items", - "type": "address[]" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "addValidatedItemsToList" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "addValidatedItemsToList(address[])": { - "details": "Override if access control needed", - "params": { - "_items": "Items to add" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "addValidatedItemsToList(address[])": { - "notice": "Add items to the list after subjecting them to validation" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/persistent/address-list-registry/address-list-owners/AaveV3ATokenListOwner.sol": "AaveV3ATokenListOwner" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/address-list-registry/AddressListRegistry.sol": { - "keccak256": "0xf00a9e376e3ec2a223f463f71c15ee3af3642dd028bc3762440e316b760c8048", - "urls": [ - "bzz-raw://01986c9327b5dfbfac21316dced6d68727931ddde1278ed1342d878004f984b9", - "dweb:/ipfs/QmdXkFaUU43JqMTYEREbWa129rohdqN7GXy7mVRpjCfSLD" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/address-list-registry/address-list-owners/AaveV3ATokenListOwner.sol": { - "keccak256": "0x5b035767439ddf850aa4a5cd2d64aa8b99334a87a48cc879b71fd9de81c069cd", - "urls": [ - "bzz-raw://9258f0bf7db788f3954e7466a58702c2304c2c8c6e06184bfac22bb2737d215e", - "dweb:/ipfs/QmfR3kFmjcph6c5bUA3f1K4Czh8isLsqyA4RZQGgWoUaN7" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/address-list-registry/address-list-owners/utils/AddOnlyAddressListOwnerBase.sol": { - "keccak256": "0xd3b355f8146b7df79e4537b021379a237d6620c0bdec25e9d96f2b741864909a", - "urls": [ - "bzz-raw://fcddc5b1dcbe7588943492a5d62ede92f23c46db0bf523267fda0ba9e8acafb5", - "dweb:/ipfs/QmRssFbEBCRwELD7pvnU7GWoZzxfZocys4sFW33VL71jpt" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/dispatcher/IDispatcher.sol": { - "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", - "urls": [ - "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", - "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IAaveAToken.sol": { - "keccak256": "0x2fe53734b46e1238b7d46889774c5813fa9e132350f45028b5584dfcc254c97b", - "urls": [ - "bzz-raw://7b4b689deca405c2f9f85132d8b1b8650499d3d521b8b302299e25aa5172d81d", - "dweb:/ipfs/QmUTZHqVT1exEd5RUyjPS6wwkJmZBW9Dgkkb7emiFCSUMW" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IAaveV3Pool.sol": { - "keccak256": "0x530751e3515c5d8c9afd4eb09b509d8f351b25ae0b73b41ea1da79ba6d6e3816", - "urls": [ - "bzz-raw://f388a7639bfedd9c2e403bc0c20ea5b06a9ed72c9451af226d4b8b5fbfd4f639", - "dweb:/ipfs/QmTdK9XprwhsWXqZZpAFGxGNcbSf8SfoaNYRXQ1V4ujskn" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IAaveV3PoolAddressProvider.sol": { - "keccak256": "0x44111cddca665e41c434817c73902e5ae3a16c8776775305255b0c2d248d8416", - "urls": [ - "bzz-raw://f4306a2dc49c10978e68625b600e2cba3a975152ae75cccc39a7cca4ba429fea", - "dweb:/ipfs/QmQJHZqorUqr8oAsscPUyZqzuBJp15a2F6YBMasbaQJ9ak" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 12 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_addressListRegistry", "type": "address", "internalType": "address" }, { "name": "_listDescription", "type": "string", "internalType": "string" }, { "name": "_poolAddressProvider", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "addValidatedItemsToList", "inputs": [ { "name": "_items", "type": "address[]", "internalType": "address[]" } ], "outputs": [], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x60e06040523480156200001157600080fd5b5060405162000e2e38038062000e2e83398101604081905262000034916200028f565b6001600160601b0319606084901b16608052828260006001600160a01b03831663be68406e3060018460405190808252806020026020018201604052801562000087578160200160208202803683370190505b506040518463ffffffff1660e01b8152600401620000a893929190620004fd565b602060405180830381600087803b158015620000c357600080fd5b505af1158015620000d8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000fe9190620002fb565b60a0819052604080516001808252818301909252919250606091906020808301908036833750506040805160018082528183019092529293506060929150602082015b60608152602001906001900390816200014157905050905082826000815181106200016857fe5b60200260200101818152505083816000815181106200018357fe5b6020908102919091010152604051635a137ca360e11b81526001600160a01b0386169063b426f94690620001be908590859060040162000539565b600060405180830381600087803b158015620001d957600080fd5b505af1158015620001ee573d6000803e3d6000fd5b505050505060609490941b6001600160601b03191660c052506200066b945050505050565b8051620002208162000649565b92915050565b600082601f8301126200023857600080fd5b81516200024f620002498262000589565b62000562565b915080825260208301602083018583830111156200026c57600080fd5b62000279838284620005fe565b50505092915050565b8051620002208162000660565b600080600060608486031215620002a557600080fd5b6000620002b3868662000213565b93505060208401516001600160401b03811115620002d057600080fd5b620002de8682870162000226565b9250506040620002f18682870162000213565b9150509250925092565b6000602082840312156200030e57600080fd5b60006200031c848462000282565b949350505050565b60006200033283836200035d565b505060200190565b6000620003488383620004b2565b9392505050565b6000620003328383620004f2565b6200036881620005c4565b82525050565b60006200037b82620005b7565b620003878185620005bb565b93506200039483620005b1565b8060005b83811015620003c8578151620003af888262000324565b9750620003bc83620005b1565b92505060010162000398565b509495945050505050565b6000620003e082620005b7565b620003ec8185620005bb565b9350836020820285016200040085620005b1565b8060005b858110156200044057848403895281516200042085826200033a565b94506200042d83620005b1565b60209a909a019992505060010162000404565b5091979650505050505050565b60006200045a82620005b7565b620004668185620005bb565b93506200047383620005b1565b8060005b83811015620003c85781516200048e88826200034f565b97506200049b83620005b1565b92505060010162000477565b6200036881620005f1565b6000620004bf82620005b7565b620004cb8185620005bb565b9350620004dd818560208601620005fe565b620004e88162000631565b9093019392505050565b6200036881620005ee565b606081016200050d82866200035d565b6200051c6020830185620004a7565b81810360408301526200053081846200036e565b95945050505050565b604080825281016200054c81856200044d565b905081810360208301526200031c8184620003d3565b6040518181016001600160401b03811182821017156200058157600080fd5b604052919050565b60006001600160401b03821115620005a057600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b60006200022082620005e2565b80620005dd816200063b565b919050565b6001600160a01b031690565b90565b60006200022082620005d1565b60005b838110156200061b57818101518382015260200162000601565b838111156200062b576000848401525b50505050565b601f01601f191690565b600481106200064657fe5b50565b6200065481620005c4565b81146200064657600080fd5b6200065481620005ee565b60805160601c60a05160c05160601c6107936200069b6000398060f95250806093525080606652506107936000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063a8f0bc4114610030575b600080fd5b61004361003e366004610559565b610045565b005b61004f82826100f5565b6040516346d1eb9b60e11b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690638da3d736906100bf907f00000000000000000000000000000000000000000000000000000000000000009086908690600401610695565b600060405180830381600087803b1580156100d957600080fd5b505af11580156100ed573d6000803e3d6000fd5b505050505050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663026b1d5f6040518163ffffffff1660e01b815260040160206040518083038186803b15801561015057600080fd5b505afa158015610164573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610188919061053b565b905060005b828110156102f05760008484838181106101a357fe5b90506020020160208101906101b89190610515565b9050826001600160a01b03166335ea6a75826001600160a01b031663b16a19de6040518163ffffffff1660e01b815260040160206040518083038186803b15801561020257600080fd5b505afa158015610216573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061023a919061053b565b6040518263ffffffff1660e01b81526004016102569190610677565b6101e060405180830381600087803b15801561027157600080fd5b505af1158015610285573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102a9919061059b565b61010001516001600160a01b0316816001600160a01b0316146102e75760405162461bcd60e51b81526004016102de90610685565b60405180910390fd5b5060010161018d565b50505050565b80356103018161074b565b92915050565b80516103018161074b565b60008083601f84011261032457600080fd5b50813567ffffffffffffffff81111561033c57600080fd5b60208301915083602082028301111561035457600080fd5b9250929050565b60006020828403121561036d57600080fd5b61037760206106bf565b9050600061038584846104ff565b82525092915050565b60006101e082840312156103a157600080fd5b6103ac6101e06106bf565b905060006103ba848461035b565b82525060206103cb848483016104e9565b60208301525060406103df848285016104e9565b60408301525060606103f3848285016104e9565b6060830152506080610407848285016104e9565b60808301525060a061041b848285016104e9565b60a08301525060c061042f8482850161050a565b60c08301525060e0610443848285016104f4565b60e08301525061010061045884828501610307565b6101008301525061012061046e84828501610307565b6101208301525061014061048484828501610307565b6101408301525061016061049a84828501610307565b610160830152506101806104b0848285016104e9565b610180830152506101a06104c6848285016104e9565b6101a0830152506101c06104dc848285016104e9565b6101c08301525092915050565b805161030181610762565b80516103018161076b565b805161030181610774565b80516103018161077d565b60006020828403121561052757600080fd5b600061053384846102f6565b949350505050565b60006020828403121561054d57600080fd5b60006105338484610307565b6000806020838503121561056c57600080fd5b823567ffffffffffffffff81111561058357600080fd5b61058f85828601610312565b92509250509250929050565b60006101e082840312156105ae57600080fd5b6000610533848461038e565b60006105c683836105ce565b505060200190565b6105d78161070e565b82525050565b60006105e983856106ef565b93506105f4826106e6565b8060005b8581101561062a5761060a82846106f8565b61061488826105ba565b975061061f836106e9565b9250506001016105f8565b509495945050505050565b6000610642601f836106ef565b7f5f5f76616c69646174654974656d733a20496e76616c69642061546f6b656e00815260200192915050565b6105d7816106e6565b6020810161030182846105ce565b6020808252810161030181610635565b604081016106a3828661066e565b81810360208301526106b68184866105dd565b95945050505050565b60405181810167ffffffffffffffff811182821017156106de57600080fd5b604052919050565b90565b60200190565b90815260200190565b600061070760208401846102f6565b9392505050565b600061030182610735565b6fffffffffffffffffffffffffffffffff1690565b61ffff1690565b6001600160a01b031690565b64ffffffffff1690565b6107548161070e565b811461075f57600080fd5b50565b61075481610719565b6107548161072e565b610754816106e6565b6107548161074156fea164736f6c634300060c000a", "sourceMap": "705:1095:12:-:0;;;855:307;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;802:74:14;;;;;;;1024:20:12;1046:16;914:14:14;-1:-1:-1;;;;;802:74:14;;931:52;1014:4;1046:38;914:14;1113:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1113:16:14;;931:209;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1150:16;;;;1234;;;1248:1;1234:16;;;;;;;;;1150;;-1:-1:-1;1207:24:14;;1234:16;;;;;;;;;;-1:-1:-1;;1291:15:14;;;1304:1;1291:15;;;;;;;;;1207:43;;-1:-1:-1;1260:28:14;;1291:15;-1:-1:-1;1291:15:14;;;;;;;;;;;;;;;;;;;;1260:46;;1329:6;1316:7;1324:1;1316:10;;;;;;;;;;;;;:19;;;;;1363:16;1345:12;1358:1;1345:15;;;;;;;;;;;;;;;;;:34;1390:133;;-1:-1:-1;;;1390:133:14;;-1:-1:-1;;;;;1390:53:14;;;;;:133;;1464:7;;1500:12;;1390:133;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1074:81:12::1;::::0;;;;-1:-1:-1;;;;;;1074:81:12;::::1;::::0;-1:-1:-1;705:1095:12;;-1:-1:-1;;;;;705:1095:12;5:134:-1;83:13;;101:33;83:13;101:33;:::i;:::-;68:71;;;;:::o;147:444::-;;260:3;253:4;245:6;241:17;237:27;227:2;;278:1;275;268:12;227:2;308:6;302:13;330:65;345:49;387:6;345:49;:::i;:::-;330:65;:::i;:::-;321:74;;415:6;408:5;401:21;451:4;443:6;439:17;484:4;477:5;473:16;519:3;510:6;505:3;501:16;498:25;495:2;;;536:1;533;526:12;495:2;546:39;578:6;573:3;568;546:39;:::i;:::-;220:371;;;;;;;:::o;599:134::-;677:13;;695:33;677:13;695:33;:::i;740:634::-;;;;899:2;887:9;878:7;874:23;870:32;867:2;;;915:1;912;905:12;867:2;950:1;967:64;1023:7;1003:9;967:64;:::i;:::-;957:74;;929:108;1089:2;1078:9;1074:18;1068:25;-1:-1;;;;;1105:6;1102:30;1099:2;;;1145:1;1142;1135:12;1099:2;1165:74;1231:7;1222:6;1211:9;1207:22;1165:74;:::i;:::-;1155:84;;1047:198;1276:2;1294:64;1350:7;1341:6;1330:9;1326:22;1294:64;:::i;:::-;1284:74;;1255:109;861:513;;;;;:::o;1381:263::-;;1496:2;1484:9;1475:7;1471:23;1467:32;1464:2;;;1512:1;1509;1502:12;1464:2;1547:1;1564:64;1620:7;1600:9;1564:64;:::i;:::-;1554:74;1458:186;-1:-1;;;;1458:186::o;1652:173::-;;1739:46;1781:3;1773:6;1739:46;:::i;:::-;-1:-1;;1814:4;1805:14;;1732:93::o;1834:193::-;;1955:66;2017:3;2009:6;1955:66;:::i;:::-;1941:80;1934:93;-1:-1;;;1934:93::o;2036:173::-;;2123:46;2165:3;2157:6;2123:46;:::i;2217:103::-;2290:24;2308:5;2290:24;:::i;:::-;2285:3;2278:37;2272:48;;:::o;2478:690::-;;2623:54;2671:5;2623:54;:::i;:::-;2690:86;2769:6;2764:3;2690:86;:::i;:::-;2683:93;;2797:56;2847:5;2797:56;:::i;:::-;2873:7;2901:1;2886:260;2911:6;2908:1;2905:13;2886:260;;;2978:6;2972:13;2999:63;3058:3;3043:13;2999:63;:::i;:::-;2992:70;;3079:60;3132:6;3079:60;:::i;:::-;3069:70;-1:-1;;2933:1;2926:9;2886:260;;;-1:-1;3159:3;;2602:566;-1:-1;;;;;2602:566::o;3205:928::-;;3370:64;3428:5;3370:64;:::i;:::-;3447:96;3536:6;3531:3;3447:96;:::i;:::-;3440:103;;3566:3;3608:4;3600:6;3596:17;3591:3;3587:27;3635:66;3695:5;3635:66;:::i;:::-;3721:7;3749:1;3734:360;3759:6;3756:1;3753:13;3734:360;;;3821:9;3815:4;3811:20;3806:3;3799:33;3866:6;3860:13;3888:84;3967:4;3952:13;3888:84;:::i;:::-;3880:92;;3989:70;4052:6;3989:70;:::i;:::-;4082:4;4073:14;;;;;3979:80;-1:-1;;3781:1;3774:9;3734:360;;;-1:-1;4107:4;;3349:784;-1:-1;;;;;;;3349:784::o;4172:690::-;;4317:54;4365:5;4317:54;:::i;:::-;4384:86;4463:6;4458:3;4384:86;:::i;:::-;4377:93;;4491:56;4541:5;4491:56;:::i;:::-;4567:7;4595:1;4580:260;4605:6;4602:1;4599:13;4580:260;;;4672:6;4666:13;4693:63;4752:3;4737:13;4693:63;:::i;:::-;4686:70;;4773:60;4826:6;4773:60;:::i;:::-;4763:70;-1:-1;;4627:1;4620:9;4580:260;;4870:152;4966:50;5010:5;4966:50;:::i;5029:327::-;;5131:39;5164:5;5131:39;:::i;:::-;5182:61;5236:6;5231:3;5182:61;:::i;:::-;5175:68;;5248:52;5293:6;5288:3;5281:4;5274:5;5270:16;5248:52;:::i;:::-;5321:29;5343:6;5321:29;:::i;:::-;5312:39;;;;5111:245;-1:-1;;;5111:245::o;5363:103::-;5436:24;5454:5;5436:24;:::i;5473:618::-;5719:2;5704:18;;5733:71;5708:9;5777:6;5733:71;:::i;:::-;5815:85;5896:2;5885:9;5881:18;5872:6;5815:85;:::i;:::-;5948:9;5942:4;5938:20;5933:2;5922:9;5918:18;5911:48;5973:108;6076:4;6067:6;5973:108;:::i;:::-;5965:116;5690:401;-1:-1;;;;;5690:401::o;6098:669::-;6373:2;6387:47;;;6358:18;;6448:108;6358:18;6542:6;6448:108;:::i;:::-;6440:116;;6604:9;6598:4;6594:20;6589:2;6578:9;6574:18;6567:48;6629:128;6752:4;6743:6;6629:128;:::i;6774:256::-;6836:2;6830:9;6862:17;;;-1:-1;;;;;6922:34;;6958:22;;;6919:62;6916:2;;;6994:1;6991;6984:12;6916:2;7010;7003:22;6814:216;;-1:-1;6814:216::o;7037:322::-;;-1:-1;;;;;7173:6;7170:30;7167:2;;;7213:1;7210;7203:12;7167:2;-1:-1;7344:4;7280;7257:17;;;;-1:-1;;7253:33;7334:15;;7104:255::o;7366:151::-;7490:4;7481:14;;7438:79::o;7850:137::-;7953:12;;7924:63::o;8777:178::-;8895:19;;;8944:4;8935:14;;8888:67::o;9509:91::-;;9571:24;9589:5;9571:24;:::i;9607:136::-;9684:5;9690:48;9684:5;9690:48;:::i;:::-;9667:76;;;:::o;9750:121::-;-1:-1;;;;;9812:54;;9795:76::o;9878:72::-;9940:5;9923:27::o;9957:136::-;;10049:39;10082:5;10049:39;:::i;10101:268::-;10166:1;10173:101;10187:6;10184:1;10181:13;10173:101;;;10254:11;;;10248:18;10235:11;;;10228:39;10209:2;10202:10;10173:101;;;10289:6;10286:1;10283:13;10280:2;;;10354:1;10345:6;10340:3;10336:16;10329:27;10280:2;10150:219;;;;:::o;10377:97::-;10465:2;10445:14;-1:-1;;10441:28;;10425:49::o;10482:106::-;10566:1;10559:5;10556:12;10546:2;;10572:9;10546:2;10540:48;:::o;10595:117::-;10664:24;10682:5;10664:24;:::i;:::-;10657:5;10654:35;10644:2;;10703:1;10700;10693:12;10719:117;10788:24;10806:5;10788:24;:::i;10762:74::-;705:1095:12;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c8063a8f0bc4114610030575b600080fd5b61004361003e366004610559565b610045565b005b61004f82826100f5565b6040516346d1eb9b60e11b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690638da3d736906100bf907f00000000000000000000000000000000000000000000000000000000000000009086908690600401610695565b600060405180830381600087803b1580156100d957600080fd5b505af11580156100ed573d6000803e3d6000fd5b505050505050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663026b1d5f6040518163ffffffff1660e01b815260040160206040518083038186803b15801561015057600080fd5b505afa158015610164573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610188919061053b565b905060005b828110156102f05760008484838181106101a357fe5b90506020020160208101906101b89190610515565b9050826001600160a01b03166335ea6a75826001600160a01b031663b16a19de6040518163ffffffff1660e01b815260040160206040518083038186803b15801561020257600080fd5b505afa158015610216573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061023a919061053b565b6040518263ffffffff1660e01b81526004016102569190610677565b6101e060405180830381600087803b15801561027157600080fd5b505af1158015610285573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102a9919061059b565b61010001516001600160a01b0316816001600160a01b0316146102e75760405162461bcd60e51b81526004016102de90610685565b60405180910390fd5b5060010161018d565b50505050565b80356103018161074b565b92915050565b80516103018161074b565b60008083601f84011261032457600080fd5b50813567ffffffffffffffff81111561033c57600080fd5b60208301915083602082028301111561035457600080fd5b9250929050565b60006020828403121561036d57600080fd5b61037760206106bf565b9050600061038584846104ff565b82525092915050565b60006101e082840312156103a157600080fd5b6103ac6101e06106bf565b905060006103ba848461035b565b82525060206103cb848483016104e9565b60208301525060406103df848285016104e9565b60408301525060606103f3848285016104e9565b6060830152506080610407848285016104e9565b60808301525060a061041b848285016104e9565b60a08301525060c061042f8482850161050a565b60c08301525060e0610443848285016104f4565b60e08301525061010061045884828501610307565b6101008301525061012061046e84828501610307565b6101208301525061014061048484828501610307565b6101408301525061016061049a84828501610307565b610160830152506101806104b0848285016104e9565b610180830152506101a06104c6848285016104e9565b6101a0830152506101c06104dc848285016104e9565b6101c08301525092915050565b805161030181610762565b80516103018161076b565b805161030181610774565b80516103018161077d565b60006020828403121561052757600080fd5b600061053384846102f6565b949350505050565b60006020828403121561054d57600080fd5b60006105338484610307565b6000806020838503121561056c57600080fd5b823567ffffffffffffffff81111561058357600080fd5b61058f85828601610312565b92509250509250929050565b60006101e082840312156105ae57600080fd5b6000610533848461038e565b60006105c683836105ce565b505060200190565b6105d78161070e565b82525050565b60006105e983856106ef565b93506105f4826106e6565b8060005b8581101561062a5761060a82846106f8565b61061488826105ba565b975061061f836106e9565b9250506001016105f8565b509495945050505050565b6000610642601f836106ef565b7f5f5f76616c69646174654974656d733a20496e76616c69642061546f6b656e00815260200192915050565b6105d7816106e6565b6020810161030182846105ce565b6020808252810161030181610635565b604081016106a3828661066e565b81810360208301526106b68184866105dd565b95945050505050565b60405181810167ffffffffffffffff811182821017156106de57600080fd5b604052919050565b90565b60200190565b90815260200190565b600061070760208401846102f6565b9392505050565b600061030182610735565b6fffffffffffffffffffffffffffffffff1690565b61ffff1690565b6001600160a01b031690565b64ffffffffff1690565b6107548161070e565b811461075f57600080fd5b50565b61075481610719565b6107548161072e565b610754816106e6565b6107548161074156fea164736f6c634300060c000a", "sourceMap": "705:1095:12:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1692:200:14;;;;;;:::i;:::-;;:::i;:::-;;;1779:23;1795:6;;1779:15;:23::i;:::-;1813:72;;-1:-1:-1;;;1813:72:14;;-1:-1:-1;;;;;1813:30:14;:40;;;;:72;;1860:7;;1877:6;;;;1813:72;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1692:200;;:::o;1256:542:12:-;1336:24;1375:30;-1:-1:-1;;;;;1375:38:12;;:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1336:80;;1432:9;1427:365;1443:17;;;1427:365;;;1481:14;1498:6;;1505:1;1498:9;;;;;;;;;;;;;;;;;;;;:::i;:::-;1481:26;;1577:12;-1:-1:-1;;;;;1577:52:12;;1642:6;-1:-1:-1;;;;;1630:44:12;;:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1577:100;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:139;;;-1:-1:-1;;;;;1547:169:12;:6;-1:-1:-1;;;;;1547:169:12;;1522:259;;;;-1:-1:-1;;;1522:259:12;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;1462:3:12;;1427:365;;;;1256:542;;;:::o;5:130:-1:-;72:20;;97:33;72:20;97:33;:::i;:::-;57:78;;;;:::o;142:134::-;220:13;;238:33;220:13;238:33;:::i;301:352::-;;;431:3;424:4;416:6;412:17;408:27;398:2;;449:1;446;439:12;398:2;-1:-1;469:20;;509:18;498:30;;495:2;;;541:1;538;531:12;495:2;575:4;567:6;563:17;551:29;;626:3;618:4;610:6;606:17;596:8;592:32;589:41;586:2;;;643:1;640;633:12;586:2;391:262;;;;;:::o;710:362::-;;852:4;840:9;835:3;831:19;827:30;824:2;;;870:1;867;860:12;824:2;888:20;903:4;888:20;:::i;:::-;879:29;-1:-1;958:1;990:60;1046:3;1026:9;990:60;:::i;:::-;965:86;;-1:-1;976:5;818:254;-1:-1;;818:254::o;1116:2797::-;;1246:6;1234:9;1229:3;1225:19;1221:32;1218:2;;;1266:1;1263;1256:12;1218:2;1284:22;1299:6;1284:22;:::i;:::-;1275:31;-1:-1;1365:1;1397:102;1495:3;1475:9;1397:102;:::i;:::-;1372:128;;-1:-1;1571:2;1604:60;1660:3;1636:22;;;1604:60;:::i;:::-;1597:4;1590:5;1586:16;1579:86;1521:155;1742:2;1775:60;1831:3;1822:6;1811:9;1807:22;1775:60;:::i;:::-;1768:4;1761:5;1757:16;1750:86;1686:161;1912:2;1945:60;2001:3;1992:6;1981:9;1977:22;1945:60;:::i;:::-;1938:4;1931:5;1927:16;1920:86;1857:160;2088:3;2122:60;2178:3;2169:6;2158:9;2154:22;2122:60;:::i;:::-;2115:4;2108:5;2104:16;2097:86;2027:167;2263:3;2297:60;2353:3;2344:6;2333:9;2329:22;2297:60;:::i;:::-;2290:4;2283:5;2279:16;2272:86;2204:165;2434:3;2468:59;2523:3;2514:6;2503:9;2499:22;2468:59;:::i;:::-;2461:4;2454:5;2450:16;2443:85;2379:160;2587:3;2621:59;2676:3;2667:6;2656:9;2652:22;2621:59;:::i;:::-;2614:4;2607:5;2603:16;2596:85;2549:143;2751:3;2787:60;2843:3;2834:6;2823:9;2819:22;2787:60;:::i;:::-;2778:6;2771:5;2767:18;2760:88;2702:157;2927:3;2963:60;3019:3;3010:6;2999:9;2995:22;2963:60;:::i;:::-;2954:6;2947:5;2943:18;2936:88;2869:166;3105:3;3141:60;3197:3;3188:6;3177:9;3173:22;3141:60;:::i;:::-;3132:6;3125:5;3121:18;3114:88;3045:168;3286:3;3322:60;3378:3;3369:6;3358:9;3354:22;3322:60;:::i;:::-;3313:6;3306:5;3302:18;3295:88;3223:171;3457:3;3493:60;3549:3;3540:6;3529:9;3525:22;3493:60;:::i;:::-;3484:6;3477:5;3473:18;3466:88;3404:161;3619:3;3655:60;3711:3;3702:6;3691:9;3687:22;3655:60;:::i;:::-;3646:6;3639:5;3635:18;3628:88;3575:152;3795:3;3831:60;3887:3;3878:6;3867:9;3863:22;3831:60;:::i;:::-;3822:6;3815:5;3811:18;3804:88;3737:166;1212:2701;;;;:::o;3920:134::-;3998:13;;4016:33;3998:13;4016:33;:::i;4061:132::-;4138:13;;4156:32;4138:13;4156:32;:::i;4200:134::-;4278:13;;4296:33;4278:13;4296:33;:::i;4341:132::-;4418:13;;4436:32;4418:13;4436:32;:::i;4480:241::-;;4584:2;4572:9;4563:7;4559:23;4555:32;4552:2;;;4600:1;4597;4590:12;4552:2;4635:1;4652:53;4697:7;4677:9;4652:53;:::i;:::-;4642:63;4546:175;-1:-1;;;;4546:175::o;4728:263::-;;4843:2;4831:9;4822:7;4818:23;4814:32;4811:2;;;4859:1;4856;4849:12;4811:2;4894:1;4911:64;4967:7;4947:9;4911:64;:::i;4998:397::-;;;5137:2;5125:9;5116:7;5112:23;5108:32;5105:2;;;5153:1;5150;5143:12;5105:2;5188:31;;5239:18;5228:30;;5225:2;;;5271:1;5268;5261:12;5225:2;5299:80;5371:7;5362:6;5351:9;5347:22;5299:80;:::i;:::-;5281:98;;;;5167:218;5099:296;;;;;:::o;5402:324::-;;5547:3;5535:9;5526:7;5522:23;5518:33;5515:2;;;5564:1;5561;5554:12;5515:2;5599:1;5616:94;5702:7;5682:9;5616:94;:::i;5734:173::-;;5821:46;5863:3;5855:6;5821:46;:::i;:::-;-1:-1;;5896:4;5887:14;;5814:93::o;5915:103::-;5988:24;6006:5;5988:24;:::i;:::-;5983:3;5976:37;5970:48;;:::o;6176:665::-;;6330:86;6409:6;6404:3;6330:86;:::i;:::-;6323:93;;6437:58;6489:5;6437:58;:::i;:::-;6515:7;6543:1;6528:291;6553:6;6550:1;6547:13;6528:291;;;6614:42;6649:6;6640:7;6614:42;:::i;:::-;6670:63;6729:3;6714:13;6670:63;:::i;:::-;6663:70;;6750:62;6805:6;6750:62;:::i;:::-;6740:72;-1:-1;;6575:1;6568:9;6528:291;;;-1:-1;6832:3;;6310:531;-1:-1;;;;;6310:531::o;6850:331::-;;7010:67;7074:2;7069:3;7010:67;:::i;:::-;7110:33;7090:54;;7172:2;7163:12;;6996:185;-1:-1;;6996:185::o;7189:113::-;7272:24;7290:5;7272:24;:::i;7309:222::-;7436:2;7421:18;;7450:71;7425:9;7494:6;7450:71;:::i;7538:416::-;7738:2;7752:47;;;7723:18;;7813:131;7723:18;7813:131;:::i;7961:501::-;8176:2;8161:18;;8190:71;8165:9;8234:6;8190:71;:::i;:::-;8309:9;8303:4;8299:20;8294:2;8283:9;8279:18;8272:48;8334:118;8447:4;8438:6;8430;8334:118;:::i;:::-;8326:126;8147:315;-1:-1;;;;;8147:315::o;8469:256::-;8531:2;8525:9;8557:17;;;8632:18;8617:34;;8653:22;;;8614:62;8611:2;;;8689:1;8686;8679:12;8611:2;8705;8698:22;8509:216;;-1:-1;8509:216::o;8732:118::-;8820:3;8806:44::o;8857:110::-;8957:4;8948:14;;8934:33::o;8975:178::-;9093:19;;;9142:4;9133:14;;9086:67::o;9334:119::-;;9408:39;9443:2;9438:3;9434:12;9429:3;9408:39;:::i;:::-;9399:48;9392:61;-1:-1;;;9392:61::o;9461:91::-;;9523:24;9541:5;9523:24;:::i;9559:113::-;9632:34;9621:46;;9604:68::o;9679:84::-;9751:6;9740:18;;9723:40::o;9770:121::-;-1:-1;;;;;9832:54;;9815:76::o;9977:90::-;10049:12;10038:24;;10021:46::o;10074:117::-;10143:24;10161:5;10143:24;:::i;:::-;10136:5;10133:35;10123:2;;10182:1;10179;10172:12;10123:2;10117:74;:::o;10198:117::-;10267:24;10285:5;10267:24;:::i;10322:115::-;10390:23;10407:5;10390:23;:::i;10444:117::-;10513:24;10531:5;10513:24;:::i;10568:115::-;10636:23;10653:5;10636:23;:::i", "linkReferences": {}, "immutableReferences": { "2579": [ { "start": 249, "length": 32 } ], "2725": [ { "start": 102, "length": 32 } ], "2727": [ { "start": 147, "length": 32 } ] } }, "methodIdentifiers": { "addValidatedItemsToList(address[])": "a8f0bc41" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_addressListRegistry\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_listDescription\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"_poolAddressProvider\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_items\",\"type\":\"address[]\"}],\"name\":\"addValidatedItemsToList\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"addValidatedItemsToList(address[])\":{\"details\":\"Override if access control needed\",\"params\":{\"_items\":\"Items to add\"}}},\"title\":\"AaveV3ATokenListOwner Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"addValidatedItemsToList(address[])\":{\"notice\":\"Add items to the list after subjecting them to validation\"}},\"notice\":\"The AddressListRegistry owner of an Aave v3 aToken list\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/address-list-registry/address-list-owners/AaveV3ATokenListOwner.sol\":\"AaveV3ATokenListOwner\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/address-list-registry/AddressListRegistry.sol\":{\"keccak256\":\"0xf00a9e376e3ec2a223f463f71c15ee3af3642dd028bc3762440e316b760c8048\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://01986c9327b5dfbfac21316dced6d68727931ddde1278ed1342d878004f984b9\",\"dweb:/ipfs/QmdXkFaUU43JqMTYEREbWa129rohdqN7GXy7mVRpjCfSLD\"]},\"contracts/persistent/address-list-registry/address-list-owners/AaveV3ATokenListOwner.sol\":{\"keccak256\":\"0x5b035767439ddf850aa4a5cd2d64aa8b99334a87a48cc879b71fd9de81c069cd\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9258f0bf7db788f3954e7466a58702c2304c2c8c6e06184bfac22bb2737d215e\",\"dweb:/ipfs/QmfR3kFmjcph6c5bUA3f1K4Czh8isLsqyA4RZQGgWoUaN7\"]},\"contracts/persistent/address-list-registry/address-list-owners/utils/AddOnlyAddressListOwnerBase.sol\":{\"keccak256\":\"0xd3b355f8146b7df79e4537b021379a237d6620c0bdec25e9d96f2b741864909a\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://fcddc5b1dcbe7588943492a5d62ede92f23c46db0bf523267fda0ba9e8acafb5\",\"dweb:/ipfs/QmRssFbEBCRwELD7pvnU7GWoZzxfZocys4sFW33VL71jpt\"]},\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/release/interfaces/IAaveAToken.sol\":{\"keccak256\":\"0x2fe53734b46e1238b7d46889774c5813fa9e132350f45028b5584dfcc254c97b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://7b4b689deca405c2f9f85132d8b1b8650499d3d521b8b302299e25aa5172d81d\",\"dweb:/ipfs/QmUTZHqVT1exEd5RUyjPS6wwkJmZBW9Dgkkb7emiFCSUMW\"]},\"contracts/release/interfaces/IAaveV3Pool.sol\":{\"keccak256\":\"0x530751e3515c5d8c9afd4eb09b509d8f351b25ae0b73b41ea1da79ba6d6e3816\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f388a7639bfedd9c2e403bc0c20ea5b06a9ed72c9451af226d4b8b5fbfd4f639\",\"dweb:/ipfs/QmTdK9XprwhsWXqZZpAFGxGNcbSf8SfoaNYRXQ1V4ujskn\"]},\"contracts/release/interfaces/IAaveV3PoolAddressProvider.sol\":{\"keccak256\":\"0x44111cddca665e41c434817c73902e5ae3a16c8776775305255b0c2d248d8416\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f4306a2dc49c10978e68625b600e2cba3a975152ae75cccc39a7cca4ba429fea\",\"dweb:/ipfs/QmQJHZqorUqr8oAsscPUyZqzuBJp15a2F6YBMasbaQJ9ak\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_addressListRegistry", "type": "address" }, { "internalType": "string", "name": "_listDescription", "type": "string" }, { "internalType": "address", "name": "_poolAddressProvider", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address[]", "name": "_items", "type": "address[]" } ], "stateMutability": "nonpayable", "type": "function", "name": "addValidatedItemsToList" } ], "devdoc": { "kind": "dev", "methods": { "addValidatedItemsToList(address[])": { "details": "Override if access control needed", "params": { "_items": "Items to add" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "addValidatedItemsToList(address[])": { "notice": "Add items to the list after subjecting them to validation" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/persistent/address-list-registry/address-list-owners/AaveV3ATokenListOwner.sol": "AaveV3ATokenListOwner" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/address-list-registry/AddressListRegistry.sol": { "keccak256": "0xf00a9e376e3ec2a223f463f71c15ee3af3642dd028bc3762440e316b760c8048", "urls": [ "bzz-raw://01986c9327b5dfbfac21316dced6d68727931ddde1278ed1342d878004f984b9", "dweb:/ipfs/QmdXkFaUU43JqMTYEREbWa129rohdqN7GXy7mVRpjCfSLD" ], "license": "GPL-3.0" }, "contracts/persistent/address-list-registry/address-list-owners/AaveV3ATokenListOwner.sol": { "keccak256": "0x5b035767439ddf850aa4a5cd2d64aa8b99334a87a48cc879b71fd9de81c069cd", "urls": [ "bzz-raw://9258f0bf7db788f3954e7466a58702c2304c2c8c6e06184bfac22bb2737d215e", "dweb:/ipfs/QmfR3kFmjcph6c5bUA3f1K4Czh8isLsqyA4RZQGgWoUaN7" ], "license": "GPL-3.0" }, "contracts/persistent/address-list-registry/address-list-owners/utils/AddOnlyAddressListOwnerBase.sol": { "keccak256": "0xd3b355f8146b7df79e4537b021379a237d6620c0bdec25e9d96f2b741864909a", "urls": [ "bzz-raw://fcddc5b1dcbe7588943492a5d62ede92f23c46db0bf523267fda0ba9e8acafb5", "dweb:/ipfs/QmRssFbEBCRwELD7pvnU7GWoZzxfZocys4sFW33VL71jpt" ], "license": "GPL-3.0" }, "contracts/persistent/dispatcher/IDispatcher.sol": { "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", "urls": [ "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IAaveAToken.sol": { "keccak256": "0x2fe53734b46e1238b7d46889774c5813fa9e132350f45028b5584dfcc254c97b", "urls": [ "bzz-raw://7b4b689deca405c2f9f85132d8b1b8650499d3d521b8b302299e25aa5172d81d", "dweb:/ipfs/QmUTZHqVT1exEd5RUyjPS6wwkJmZBW9Dgkkb7emiFCSUMW" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IAaveV3Pool.sol": { "keccak256": "0x530751e3515c5d8c9afd4eb09b509d8f351b25ae0b73b41ea1da79ba6d6e3816", "urls": [ "bzz-raw://f388a7639bfedd9c2e403bc0c20ea5b06a9ed72c9451af226d4b8b5fbfd4f639", "dweb:/ipfs/QmTdK9XprwhsWXqZZpAFGxGNcbSf8SfoaNYRXQ1V4ujskn" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IAaveV3PoolAddressProvider.sol": { "keccak256": "0x44111cddca665e41c434817c73902e5ae3a16c8776775305255b0c2d248d8416", "urls": [ "bzz-raw://f4306a2dc49c10978e68625b600e2cba3a975152ae75cccc39a7cca4ba429fea", "dweb:/ipfs/QmQJHZqorUqr8oAsscPUyZqzuBJp15a2F6YBMasbaQJ9ak" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 12 } diff --git a/eth_defi/abi/enzyme/AaveV3ActionsMixin.json b/eth_defi/abi/enzyme/AaveV3ActionsMixin.json index 2aa9c36d..6b772b5a 100644 --- a/eth_defi/abi/enzyme/AaveV3ActionsMixin.json +++ b/eth_defi/abi/enzyme/AaveV3ActionsMixin.json @@ -1,176 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_pool", - "type": "address" - }, - { - "internalType": "uint16", - "name": "_referralCode", - "type": "uint16" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": {}, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_pool\",\"type\":\"address\"},{\"internalType\":\"uint16\",\"name\":\"_referralCode\",\"type\":\"uint16\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"AaveV3ActionsMixin Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Mixin contract for interacting with the Aave v3 lending functions\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/integration-manager/integrations/utils/actions/AaveV3ActionsMixin.sol\":\"AaveV3ActionsMixin\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/integration-manager/integrations/utils/actions/AaveV3ActionsMixin.sol\":{\"keccak256\":\"0x7ed3dc0540a027b634c334f36f615d274df02e0a91bb4a255a6dd797cacea801\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://687625e5eceee607c023899f61625186731b74cf563ba18e91055ebafdc03ea9\",\"dweb:/ipfs/QmWAvvBzFKpAqRbxUbhpFCDCn8qXG31qq3r9msRZ54yKRL\"]},\"contracts/release/interfaces/IAaveV3Pool.sol\":{\"keccak256\":\"0x530751e3515c5d8c9afd4eb09b509d8f351b25ae0b73b41ea1da79ba6d6e3816\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f388a7639bfedd9c2e403bc0c20ea5b06a9ed72c9451af226d4b8b5fbfd4f639\",\"dweb:/ipfs/QmTdK9XprwhsWXqZZpAFGxGNcbSf8SfoaNYRXQ1V4ujskn\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_pool", - "type": "address" - }, - { - "internalType": "uint16", - "name": "_referralCode", - "type": "uint16" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/integration-manager/integrations/utils/actions/AaveV3ActionsMixin.sol": "AaveV3ActionsMixin" - }, - "libraries": {} - }, - "sources": { - "contracts/release/extensions/integration-manager/integrations/utils/actions/AaveV3ActionsMixin.sol": { - "keccak256": "0x7ed3dc0540a027b634c334f36f615d274df02e0a91bb4a255a6dd797cacea801", - "urls": [ - "bzz-raw://687625e5eceee607c023899f61625186731b74cf563ba18e91055ebafdc03ea9", - "dweb:/ipfs/QmWAvvBzFKpAqRbxUbhpFCDCn8qXG31qq3r9msRZ54yKRL" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IAaveV3Pool.sol": { - "keccak256": "0x530751e3515c5d8c9afd4eb09b509d8f351b25ae0b73b41ea1da79ba6d6e3816", - "urls": [ - "bzz-raw://f388a7639bfedd9c2e403bc0c20ea5b06a9ed72c9451af226d4b8b5fbfd4f639", - "dweb:/ipfs/QmTdK9XprwhsWXqZZpAFGxGNcbSf8SfoaNYRXQ1V4ujskn" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AssetHelpers.sol": { - "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", - "urls": [ - "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", - "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { - "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", - "urls": [ - "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", - "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Address.sol": { - "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", - "urls": [ - "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", - "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 182 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_pool", "type": "address", "internalType": "address" }, { "name": "_referralCode", "type": "uint16", "internalType": "uint16" } ], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": {}, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_pool\",\"type\":\"address\"},{\"internalType\":\"uint16\",\"name\":\"_referralCode\",\"type\":\"uint16\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"AaveV3ActionsMixin Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Mixin contract for interacting with the Aave v3 lending functions\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/integration-manager/integrations/utils/actions/AaveV3ActionsMixin.sol\":\"AaveV3ActionsMixin\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/integration-manager/integrations/utils/actions/AaveV3ActionsMixin.sol\":{\"keccak256\":\"0x7ed3dc0540a027b634c334f36f615d274df02e0a91bb4a255a6dd797cacea801\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://687625e5eceee607c023899f61625186731b74cf563ba18e91055ebafdc03ea9\",\"dweb:/ipfs/QmWAvvBzFKpAqRbxUbhpFCDCn8qXG31qq3r9msRZ54yKRL\"]},\"contracts/release/interfaces/IAaveV3Pool.sol\":{\"keccak256\":\"0x530751e3515c5d8c9afd4eb09b509d8f351b25ae0b73b41ea1da79ba6d6e3816\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f388a7639bfedd9c2e403bc0c20ea5b06a9ed72c9451af226d4b8b5fbfd4f639\",\"dweb:/ipfs/QmTdK9XprwhsWXqZZpAFGxGNcbSf8SfoaNYRXQ1V4ujskn\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_pool", "type": "address" }, { "internalType": "uint16", "name": "_referralCode", "type": "uint16" } ], "stateMutability": "nonpayable", "type": "constructor" } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/integration-manager/integrations/utils/actions/AaveV3ActionsMixin.sol": "AaveV3ActionsMixin" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/extensions/integration-manager/integrations/utils/actions/AaveV3ActionsMixin.sol": { "keccak256": "0x7ed3dc0540a027b634c334f36f615d274df02e0a91bb4a255a6dd797cacea801", "urls": [ "bzz-raw://687625e5eceee607c023899f61625186731b74cf563ba18e91055ebafdc03ea9", "dweb:/ipfs/QmWAvvBzFKpAqRbxUbhpFCDCn8qXG31qq3r9msRZ54yKRL" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IAaveV3Pool.sol": { "keccak256": "0x530751e3515c5d8c9afd4eb09b509d8f351b25ae0b73b41ea1da79ba6d6e3816", "urls": [ "bzz-raw://f388a7639bfedd9c2e403bc0c20ea5b06a9ed72c9451af226d4b8b5fbfd4f639", "dweb:/ipfs/QmTdK9XprwhsWXqZZpAFGxGNcbSf8SfoaNYRXQ1V4ujskn" ], "license": "GPL-3.0" }, "contracts/release/utils/AssetHelpers.sol": { "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", "urls": [ "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", "urls": [ "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Address.sol": { "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", "urls": [ "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" } }, "version": 1 }, "id": 182 } diff --git a/eth_defi/abi/enzyme/AaveV3Adapter.json b/eth_defi/abi/enzyme/AaveV3Adapter.json index 11bebc25..08e2f4de 100644 --- a/eth_defi/abi/enzyme/AaveV3Adapter.json +++ b/eth_defi/abi/enzyme/AaveV3Adapter.json @@ -1,854 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_integrationManager", - "type": "address" - }, - { - "internalType": "address", - "name": "_addressListRegistry", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_aTokenListId", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_pool", - "type": "address" - }, - { - "internalType": "uint16", - "name": "_referralCode", - "type": "uint16" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "name": "CLAIM_REWARDS_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "LEND_AND_STAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "LEND_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "REDEEM_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "STAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "TAKE_MULTIPLE_ORDERS_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "TAKE_ORDER_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "UNSTAKE_AND_REDEEM_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "UNSTAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getIntegrationManager", - "outputs": [ - { - "internalType": "address", - "name": "integrationManager_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "_assetData", - "type": "bytes" - } - ], - "name": "lend", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes4", - "name": "_selector", - "type": "bytes4" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - } - ], - "name": "parseAssetsForAction", - "outputs": [ - { - "internalType": "enum IIntegrationManager.SpendAssetsHandleType", - "name": "spendAssetsHandleType_", - "type": "uint8" - }, - { - "internalType": "address[]", - "name": "spendAssets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "spendAssetAmounts_", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "incomingAssets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "minIncomingAssetAmounts_", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "_assetData", - "type": "bytes" - } - ], - "name": "redeem", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x61014060405234801561001157600080fd5b506040516118be3803806118be833981810160405260a081101561003457600080fd5b5080516020808301516040808501516060808701516080978801516001600160601b031988841b81169099529185901b90971660a05260c08290528251630337992760e31b8152600481018390529251959693959194909284928492899289928992849284926000926001600160a01b038616926319bcc9389260248083019392829003018186803b1580156100c957600080fd5b505afa1580156100dd573d6000803e3d6000fd5b505050506040513d60208110156100f357600080fd5b50516001600160601b0319606091821b811660e05298901b909716610100525050506001600160f01b031960f09390931b9290921661012052505050505050505060805160601c60a05160601c60c05160e05160601c6101005160601c6101205160f01c61171e6101a060003980610fe9525080610f905280610fb75280611088525080610bad525080610ab0525080610a815250806104ec52806106cf528061087c525061171e6000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c8063863e5ad01161008c578063c32990a211610066578063c32990a2146102c7578063c54efee5146102cf578063e7c4569014610491578063f7d882b5146104b5576100cf565b8063863e5ad0146101e9578063b23228cf146101f1578063c29fa9dd146101f9576100cf565b8063080456c1146100d4578063099f7515146100f9578063131461c0146101c9578063257cb1a3146101d15780633ffc1591146101d957806340da225d146101e1575b600080fd5b6100dc6104bd565b604080516001600160e01b03199092168252519081900360200190f35b6101c76004803603606081101561010f57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561013957600080fd5b82018360208201111561014b57600080fd5b803590602001918460018302840111600160201b8311171561016c57600080fd5b919390929091602081019035600160201b81111561018957600080fd5b82018360208201111561019b57600080fd5b803590602001918460018302840111600160201b831117156101bc57600080fd5b5090925090506104e1565b005b6100dc6105ec565b6100dc610610565b6100dc610634565b6100dc610658565b6100dc61067c565b6100dc6106a0565b6101c76004803603606081101561020f57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561023957600080fd5b82018360208201111561024b57600080fd5b803590602001918460018302840111600160201b8311171561026c57600080fd5b919390929091602081019035600160201b81111561028957600080fd5b82018360208201111561029b57600080fd5b803590602001918460018302840111600160201b831117156102bc57600080fd5b5090925090506106c4565b6100dc6107b8565b61035c600480360360608110156102e557600080fd5b6001600160a01b03823516916001600160e01b031960208201351691810190606081016040820135600160201b81111561031e57600080fd5b82018360208201111561033057600080fd5b803590602001918460018302840111600160201b8311171561035157600080fd5b5090925090506107dc565b6040518086600281111561036c57fe5b815260200180602001806020018060200180602001858103855289818151815260200191508051906020019060200280838360005b838110156103b95781810151838201526020016103a1565b50505050905001858103845288818151815260200191508051906020019060200280838360005b838110156103f85781810151838201526020016103e0565b50505050905001858103835287818151815260200191508051906020019060200280838360005b8381101561043757818101518382015260200161041f565b50505050905001858103825286818151815260200191508051906020019060200280838360005b8381101561047657818101518382015260200161045e565b50505050905001995050505050505050505060405180910390f35b61049961087a565b604080516001600160a01b039092168252519081900360200190f35b6100dc61089e565b7f8334eb99be0145865eba9889fca2ee920288090caefff4cc776038e20ad9259a81565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105485760405162461bcd60e51b81526004018080602001828103825260328152602001806116596032913960400191505060405180910390fd5b606080606061058c85858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506108c292505050565b9250925092506105af816000815181106105a257fe5b6020026020010151610a7f565b6105e288846000815181106105c057fe5b6020026020010151846000815181106105d557fe5b6020026020010151610c45565b5050505050505050565b7f29fa046e79524c3c5ac4c01df692c35e217802b2b13b21121b76cf0ef02b138c81565b7f099f75155f0e997bf83a7993a71d5e7e7540bd386fe1e84643a09ce6b412521981565b7ffa7dd04da627f433da73c4355ead9c75682a67a8fc84d3f6170ef0922f402d2481565b7fb9dfbaccbe5cd2a84fdcf1d15f23ef25d23086f5afbaa99516065ed4a5bbc7a381565b7f03e38a2bd7063d45c897edeafc330e71657502dd86434d3c37a489caf116af6981565b7f68e30677f607df46e87da13e15b637784cfa62374b653f35ab43d10361a2f83081565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461072b5760405162461bcd60e51b81526004018080602001828103825260328152602001806116596032913960400191505060405180910390fd5b606080606061076f85858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506108c292505050565b925092509250610785836000815181106105a257fe5b6105e2888260008151811061079657fe5b6020026020010151846000815181106107ab57fe5b6020026020010151610c55565b7f0e7f692dad5b88fdee426250d6eae91207e56a2e8112b7364579bed1790e5bf481565b600060608080806001600160e01b0319881663099f751560e01b1415610815576108068787610c60565b9450945094509450945061086f565b6001600160e01b0319881663c29fa9dd60e01b1415610838576108068787610e2a565b60405162461bcd60e51b81526004018080602001828103825260278152602001806116eb6027913960400191505060405180910390fd5b945094509450945094565b7f000000000000000000000000000000000000000000000000000000000000000090565b7fc29fa9dde84204c2908778afd0613d802d31cf046179b88f6d2b4a4e507ea2d581565b60608060608380602001905160608110156108dc57600080fd5b8101908080516040519392919084600160201b8211156108fb57600080fd5b90830190602082018581111561091057600080fd5b82518660208202830111600160201b8211171561092c57600080fd5b82525081516020918201928201910280838360005b83811015610959578181015183820152602001610941565b5050505090500160405260200180516040519392919084600160201b82111561098157600080fd5b90830190602082018581111561099657600080fd5b82518660208202830111600160201b821117156109b257600080fd5b82525081516020918201928201910280838360005b838110156109df5781810151838201526020016109c7565b5050505090500160405260200180516040519392919084600160201b821115610a0757600080fd5b908301906020820185811115610a1c57600080fd5b82518660208202830111600160201b82111715610a3857600080fd5b82525081516020918201928201910280838360005b83811015610a65578181015183820152602001610a4d565b505050509050016040525050509250925092509193909250565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316631c5632047f0000000000000000000000000000000000000000000000000000000000000000836040518363ffffffff1660e01b815260040180838152602001826001600160a01b031681526020019250505060206040518083038186803b158015610b1457600080fd5b505afa158015610b28573d6000803e3d6000fd5b505050506040513d6020811015610b3e57600080fd5b5051610c4257604080516001808252818301909252606091602080830190803683370190505090508181600081518110610b7457fe5b6001600160a01b0392831660209182029290920181019190915260405163a8f0bc4160e01b8152600481018281528451602483015284517f00000000000000000000000000000000000000000000000000000000000000009094169363a8f0bc419386938392604490910191858101910280838360005b83811015610c03578181015183820152602001610beb565b5050505090500192505050600060405180830381600087803b158015610c2857600080fd5b505af1158015610c3c573d6000803e3d6000fd5b50505050505b50565b610c50838383610f8a565b505050565b610c50838383611086565b6000606080606080600080610caa89898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061110e92505050565b60408051600180825281830190925292945090925060208083019080368337019050509550816001600160a01b031663b16a19de6040518163ffffffff1660e01b815260040160206040518083038186803b158015610d0857600080fd5b505afa158015610d1c573d6000803e3d6000fd5b505050506040513d6020811015610d3257600080fd5b505186518790600090610d4157fe5b6001600160a01b03929092166020928302919091018201526040805160018082528183019092529182810190803683370190505094508085600081518110610d8557fe5b6020908102919091010152604080516001808252818301909252908160200160208202803683370190505093508184600081518110610dc057fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509250610e01816002611139565b83600081518110610e0e57fe5b6020026020010181815250506002965050509295509295909350565b6000606080606080600080610e7489898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061110e92505050565b604080516001808252818301909252929450909250602080830190803683370190505095508186600081518110610ea757fe5b6001600160a01b03929092166020928302919091018201526040805160018082528183019092529182810190803683370190505094508085600081518110610eeb57fe5b602090810291909101015260408051600180825281830190925290816020016020820280368337019050509350816001600160a01b031663b16a19de6040518163ffffffff1660e01b815260040160206040518083038186803b158015610f5157600080fd5b505afa158015610f65573d6000803e3d6000fd5b505050506040513d6020811015610f7b57600080fd5b505184518590600090610dc057fe5b610fb5827f000000000000000000000000000000000000000000000000000000000000000083611196565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663617ba0378383867f00000000000000000000000000000000000000000000000000000000000000006040518563ffffffff1660e01b815260040180856001600160a01b03168152602001848152602001836001600160a01b031681526020018261ffff168152602001945050505050600060405180830381600087803b15801561106957600080fd5b505af115801561107d573d6000803e3d6000fd5b50505050505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166369328dec8383866040518463ffffffff1660e01b815260040180846001600160a01b03168152602001838152602001826001600160a01b031681526020019350505050600060405180830381600087803b15801561106957600080fd5b60008082806020019051604081101561112657600080fd5b5080516020909101519092509050915091565b600082821115611190576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60408051636eb1769f60e11b81523060048201526001600160a01b038481166024830152915160009286169163dd62ed3e916044808301926020929190829003018186803b1580156111e757600080fd5b505afa1580156111fb573d6000803e3d6000fd5b505050506040513d602081101561121157600080fd5b505190508181101561124e578015611238576112386001600160a01b038516846000611254565b61124e6001600160a01b03851684600019611254565b50505050565b8015806112da575060408051636eb1769f60e11b81523060048201526001600160a01b03848116602483015291519185169163dd62ed3e91604480820192602092909190829003018186803b1580156112ac57600080fd5b505afa1580156112c0573d6000803e3d6000fd5b505050506040513d60208110156112d657600080fd5b5051155b6113155760405162461bcd60e51b81526004018080602001828103825260368152602001806116b56036913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052610c5090849060606113b7826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166114139092919063ffffffff16565b805190915015610c50578080602001905160208110156113d657600080fd5b5051610c505760405162461bcd60e51b815260040180806020018281038252602a81526020018061168b602a913960400191505060405180910390fd5b6060611422848460008561142c565b90505b9392505050565b60608247101561146d5760405162461bcd60e51b81526004018080602001828103825260268152602001806116336026913960400191505060405180910390fd5b61147685611588565b6114c7576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b602083106115065780518252601f1990920191602091820191016114e7565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114611568576040519150601f19603f3d011682016040523d82523d6000602084013e61156d565b606091505b509150915061157d82828661158e565b979650505050505050565b3b151590565b6060831561159d575081611425565b8251156115ad5782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156115f75781810151838201526020016115df565b50505050905090810190601f1680156116245780820380516001836020036101000a031916815260200191505b509250505060405180910390fdfe416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c4f6e6c792074686520496e746567726174696f6e4d616e616765722063616e2063616c6c20746869732066756e6374696f6e5361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e63657061727365417373657473466f72416374696f6e3a205f73656c6563746f7220696e76616c6964a164736f6c634300060c000a", - "sourceMap": "503:1073:161:-:0;;;571:329;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;571:329:161;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1938:41:179;;;;;;;;903:74:15;;;;;;;571:329:161;903:74:15;987:17;;;;1035:63;;-1:-1:-1;;;1035:63:15;;;;;;;;;;571:329:161;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;903:74:15;;;1035:54;;:63;;;;;571:329:161;1035:63:15;;;;;903:74;1035:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1035:63:15;-1:-1:-1;;;;;;1108:60:15;;;;;;;;788:42:182;;;;;;;;-1:-1:-1;;;;;;;;;840:37:182;;;;;;;;;;;-1:-1:-1;;;;;;;;503:1073:161;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106100cf5760003560e01c8063863e5ad01161008c578063c32990a211610066578063c32990a2146102c7578063c54efee5146102cf578063e7c4569014610491578063f7d882b5146104b5576100cf565b8063863e5ad0146101e9578063b23228cf146101f1578063c29fa9dd146101f9576100cf565b8063080456c1146100d4578063099f7515146100f9578063131461c0146101c9578063257cb1a3146101d15780633ffc1591146101d957806340da225d146101e1575b600080fd5b6100dc6104bd565b604080516001600160e01b03199092168252519081900360200190f35b6101c76004803603606081101561010f57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561013957600080fd5b82018360208201111561014b57600080fd5b803590602001918460018302840111600160201b8311171561016c57600080fd5b919390929091602081019035600160201b81111561018957600080fd5b82018360208201111561019b57600080fd5b803590602001918460018302840111600160201b831117156101bc57600080fd5b5090925090506104e1565b005b6100dc6105ec565b6100dc610610565b6100dc610634565b6100dc610658565b6100dc61067c565b6100dc6106a0565b6101c76004803603606081101561020f57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561023957600080fd5b82018360208201111561024b57600080fd5b803590602001918460018302840111600160201b8311171561026c57600080fd5b919390929091602081019035600160201b81111561028957600080fd5b82018360208201111561029b57600080fd5b803590602001918460018302840111600160201b831117156102bc57600080fd5b5090925090506106c4565b6100dc6107b8565b61035c600480360360608110156102e557600080fd5b6001600160a01b03823516916001600160e01b031960208201351691810190606081016040820135600160201b81111561031e57600080fd5b82018360208201111561033057600080fd5b803590602001918460018302840111600160201b8311171561035157600080fd5b5090925090506107dc565b6040518086600281111561036c57fe5b815260200180602001806020018060200180602001858103855289818151815260200191508051906020019060200280838360005b838110156103b95781810151838201526020016103a1565b50505050905001858103845288818151815260200191508051906020019060200280838360005b838110156103f85781810151838201526020016103e0565b50505050905001858103835287818151815260200191508051906020019060200280838360005b8381101561043757818101518382015260200161041f565b50505050905001858103825286818151815260200191508051906020019060200280838360005b8381101561047657818101518382015260200161045e565b50505050905001995050505050505050505060405180910390f35b61049961087a565b604080516001600160a01b039092168252519081900360200190f35b6100dc61089e565b7f8334eb99be0145865eba9889fca2ee920288090caefff4cc776038e20ad9259a81565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105485760405162461bcd60e51b81526004018080602001828103825260328152602001806116596032913960400191505060405180910390fd5b606080606061058c85858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506108c292505050565b9250925092506105af816000815181106105a257fe5b6020026020010151610a7f565b6105e288846000815181106105c057fe5b6020026020010151846000815181106105d557fe5b6020026020010151610c45565b5050505050505050565b7f29fa046e79524c3c5ac4c01df692c35e217802b2b13b21121b76cf0ef02b138c81565b7f099f75155f0e997bf83a7993a71d5e7e7540bd386fe1e84643a09ce6b412521981565b7ffa7dd04da627f433da73c4355ead9c75682a67a8fc84d3f6170ef0922f402d2481565b7fb9dfbaccbe5cd2a84fdcf1d15f23ef25d23086f5afbaa99516065ed4a5bbc7a381565b7f03e38a2bd7063d45c897edeafc330e71657502dd86434d3c37a489caf116af6981565b7f68e30677f607df46e87da13e15b637784cfa62374b653f35ab43d10361a2f83081565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461072b5760405162461bcd60e51b81526004018080602001828103825260328152602001806116596032913960400191505060405180910390fd5b606080606061076f85858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506108c292505050565b925092509250610785836000815181106105a257fe5b6105e2888260008151811061079657fe5b6020026020010151846000815181106107ab57fe5b6020026020010151610c55565b7f0e7f692dad5b88fdee426250d6eae91207e56a2e8112b7364579bed1790e5bf481565b600060608080806001600160e01b0319881663099f751560e01b1415610815576108068787610c60565b9450945094509450945061086f565b6001600160e01b0319881663c29fa9dd60e01b1415610838576108068787610e2a565b60405162461bcd60e51b81526004018080602001828103825260278152602001806116eb6027913960400191505060405180910390fd5b945094509450945094565b7f000000000000000000000000000000000000000000000000000000000000000090565b7fc29fa9dde84204c2908778afd0613d802d31cf046179b88f6d2b4a4e507ea2d581565b60608060608380602001905160608110156108dc57600080fd5b8101908080516040519392919084600160201b8211156108fb57600080fd5b90830190602082018581111561091057600080fd5b82518660208202830111600160201b8211171561092c57600080fd5b82525081516020918201928201910280838360005b83811015610959578181015183820152602001610941565b5050505090500160405260200180516040519392919084600160201b82111561098157600080fd5b90830190602082018581111561099657600080fd5b82518660208202830111600160201b821117156109b257600080fd5b82525081516020918201928201910280838360005b838110156109df5781810151838201526020016109c7565b5050505090500160405260200180516040519392919084600160201b821115610a0757600080fd5b908301906020820185811115610a1c57600080fd5b82518660208202830111600160201b82111715610a3857600080fd5b82525081516020918201928201910280838360005b83811015610a65578181015183820152602001610a4d565b505050509050016040525050509250925092509193909250565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316631c5632047f0000000000000000000000000000000000000000000000000000000000000000836040518363ffffffff1660e01b815260040180838152602001826001600160a01b031681526020019250505060206040518083038186803b158015610b1457600080fd5b505afa158015610b28573d6000803e3d6000fd5b505050506040513d6020811015610b3e57600080fd5b5051610c4257604080516001808252818301909252606091602080830190803683370190505090508181600081518110610b7457fe5b6001600160a01b0392831660209182029290920181019190915260405163a8f0bc4160e01b8152600481018281528451602483015284517f00000000000000000000000000000000000000000000000000000000000000009094169363a8f0bc419386938392604490910191858101910280838360005b83811015610c03578181015183820152602001610beb565b5050505090500192505050600060405180830381600087803b158015610c2857600080fd5b505af1158015610c3c573d6000803e3d6000fd5b50505050505b50565b610c50838383610f8a565b505050565b610c50838383611086565b6000606080606080600080610caa89898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061110e92505050565b60408051600180825281830190925292945090925060208083019080368337019050509550816001600160a01b031663b16a19de6040518163ffffffff1660e01b815260040160206040518083038186803b158015610d0857600080fd5b505afa158015610d1c573d6000803e3d6000fd5b505050506040513d6020811015610d3257600080fd5b505186518790600090610d4157fe5b6001600160a01b03929092166020928302919091018201526040805160018082528183019092529182810190803683370190505094508085600081518110610d8557fe5b6020908102919091010152604080516001808252818301909252908160200160208202803683370190505093508184600081518110610dc057fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509250610e01816002611139565b83600081518110610e0e57fe5b6020026020010181815250506002965050509295509295909350565b6000606080606080600080610e7489898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061110e92505050565b604080516001808252818301909252929450909250602080830190803683370190505095508186600081518110610ea757fe5b6001600160a01b03929092166020928302919091018201526040805160018082528183019092529182810190803683370190505094508085600081518110610eeb57fe5b602090810291909101015260408051600180825281830190925290816020016020820280368337019050509350816001600160a01b031663b16a19de6040518163ffffffff1660e01b815260040160206040518083038186803b158015610f5157600080fd5b505afa158015610f65573d6000803e3d6000fd5b505050506040513d6020811015610f7b57600080fd5b505184518590600090610dc057fe5b610fb5827f000000000000000000000000000000000000000000000000000000000000000083611196565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663617ba0378383867f00000000000000000000000000000000000000000000000000000000000000006040518563ffffffff1660e01b815260040180856001600160a01b03168152602001848152602001836001600160a01b031681526020018261ffff168152602001945050505050600060405180830381600087803b15801561106957600080fd5b505af115801561107d573d6000803e3d6000fd5b50505050505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166369328dec8383866040518463ffffffff1660e01b815260040180846001600160a01b03168152602001838152602001826001600160a01b031681526020019350505050600060405180830381600087803b15801561106957600080fd5b60008082806020019051604081101561112657600080fd5b5080516020909101519092509050915091565b600082821115611190576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60408051636eb1769f60e11b81523060048201526001600160a01b038481166024830152915160009286169163dd62ed3e916044808301926020929190829003018186803b1580156111e757600080fd5b505afa1580156111fb573d6000803e3d6000fd5b505050506040513d602081101561121157600080fd5b505190508181101561124e578015611238576112386001600160a01b038516846000611254565b61124e6001600160a01b03851684600019611254565b50505050565b8015806112da575060408051636eb1769f60e11b81523060048201526001600160a01b03848116602483015291519185169163dd62ed3e91604480820192602092909190829003018186803b1580156112ac57600080fd5b505afa1580156112c0573d6000803e3d6000fd5b505050506040513d60208110156112d657600080fd5b5051155b6113155760405162461bcd60e51b81526004018080602001828103825260368152602001806116b56036913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052610c5090849060606113b7826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166114139092919063ffffffff16565b805190915015610c50578080602001905160208110156113d657600080fd5b5051610c505760405162461bcd60e51b815260040180806020018281038252602a81526020018061168b602a913960400191505060405180910390fd5b6060611422848460008561142c565b90505b9392505050565b60608247101561146d5760405162461bcd60e51b81526004018080602001828103825260268152602001806116336026913960400191505060405180910390fd5b61147685611588565b6114c7576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b602083106115065780518252601f1990920191602091820191016114e7565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114611568576040519150601f19603f3d011682016040523d82523d6000602084013e61156d565b606091505b509150915061157d82828661158e565b979650505050505050565b3b151590565b6060831561159d575081611425565b8251156115ad5782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156115f75781810151838201526020016115df565b50505050905090810190601f1680156116245780820380516001836020036101000a031916815260200191505b509250505060405180910390fdfe416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c4f6e6c792074686520496e746567726174696f6e4d616e616765722063616e2063616c6c20746869732066756e6374696f6e5361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e63657061727365417373657473466f72416374696f6e3a205f73656c6563746f7220696e76616c6964a164736f6c634300060c000a", - "sourceMap": "503:1073:161:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1490:119:180;;;:::i;:::-;;;;-1:-1:-1;;;;;;1490:119:180;;;;;;;;;;;;;;2401:700:200;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2401:700:200;;;;;;;;;;;;;;;-1:-1:-1;;;2401:700:200;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2401:700:200;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2401:700:200;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2401:700:200;;;;;;;;;;-1:-1:-1;2401:700:200;;-1:-1:-1;2401:700:200;-1:-1:-1;2401:700:200;:::i;:::-;;1373:111:180;;;:::i;832:85::-;;;:::i;1034:87::-;;;:::i;1240:110::-;;;:::i;706:104::-;;;:::i;1127:91::-;;;:::i;3311:704:200:-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3311:704:200;;;;;;;;;;;;;;;-1:-1:-1;;;3311:704:200;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3311:704:200;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3311:704:200;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3311:704:200;;;;;;;;;;-1:-1:-1;3311:704:200;;-1:-1:-1;3311:704:200;-1:-1:-1;3311:704:200;:::i;577:123:180:-;;;:::i;4756:744:200:-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4756:744:200;;;;-1:-1:-1;;;;;;4756:744:200;;;;;;;;;;;;;;;;-1:-1:-1;;;4756:744:200;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4756:744:200;;;;;;;;;;-1:-1:-1;4756:744:200;;-1:-1:-1;4756:744:200;-1:-1:-1;4756:744:200;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2637:128:179;;;:::i;:::-;;;;-1:-1:-1;;;;;2637:128:179;;;;;;;;;;;;;;923:89:180;;;:::i;1490:119::-;1558:50;1490:119;:::o;2401:700:200:-;1747:10:179;-1:-1:-1;;;;;1761:19:179;1747:33;;1726:130;;;;-1:-1:-1;;;1726:130:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2565:28:200::1;2607:34:::0;2655:31:::1;2699:29;2717:10;;2699:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;2699:17:200::1;::::0;-1:-1:-1;;;2699:29:200:i:1;:::-;2551:177;;;;;;2886:57;2925:14;2940:1;2925:17;;;;;;;;;;;;;;2886:38;:57::i;:::-;2954:140;2988:11;3026;3038:1;3026:14;;;;;;;;;;;;;;3063:17;3081:1;3063:20;;;;;;;;;;;;;;2954:6;:140::i;:::-;1866:1:179;;;2401:700:200::0;;;;;:::o;1373:111:180:-;1437:46;1373:111;:::o;832:85::-;878:38;832:85;:::o;1034:87::-;1081:39;1034:87;:::o;1240:110::-;1303:46;1240:110;:::o;706:104::-;766:43;706:104;:::o;1127:91::-;1176:41;1127:91;:::o;3311:704:200:-;1747:10:179;-1:-1:-1;;;;;1761:19:179;1747:33;;1726:130;;;;-1:-1:-1;;;1726:130:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3477:28:200::1;3519:34:::0;3567:31:::1;3611:29;3629:10;;3611:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;3611:17:200::1;::::0;-1:-1:-1;;;3611:29:200:i:1;:::-;3463:177;;;;;;3798:54;3837:11;3849:1;3837:14;;;;;;;3798:54;3863:145;3899:11;3937:14;3952:1;3937:17;;;;;;;;;;;;;;3977;3995:1;3977:20;;;;;;;;;;;;;;3863:8;:145::i;577:123:180:-:0;647:52;577:123;:::o;4756:744:200:-;4948:64;5026:29;;;;-1:-1:-1;;;;;;5234:26:200;;-1:-1:-1;;;5234:26:200;5230:204;;;5283:33;5304:11;;5283:20;:33::i;:::-;5276:40;;;;;;;;;;;;5230:204;-1:-1:-1;;;;;;5337:28:200;;-1:-1:-1;;;5337:28:200;5333:101;;;5388:35;5411:11;;5388:22;:35::i;5333:101::-;5444:49;;-1:-1:-1;;;5444:49:200;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4756:744;;;;;;;;;;:::o;2637:128:179:-;2739:19;2637:128;:::o;923:89:180:-;971:40;923:89;:::o;2093:332:179:-;2205:29;2248:35;2297:32;2372:10;2361:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;-1:-1:-1;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;-1:-1:-1;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;-1:-1:-1;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2354:64;;;;;;2093:332;;;;;:::o;1430:311:15:-;1517:30;-1:-1:-1;;;;;1517:39:15;;1557:7;1566:5;1517:55;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1517:55:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1517:55:15;1512:223;;1613:16;;;1627:1;1613:16;;;;;;;;;1588:22;;1613:16;;;;;;;;;;;-1:-1:-1;1613:16:15;1588:41;;1654:5;1643;1649:1;1643:8;;;;;;;;-1:-1:-1;;;;;1643:16:15;;;:8;;;;;;;;;;:16;;;;1674:50;;-1:-1:-1;;;1674:50:15;;;;;;;;;;;;;;;;:19;:43;;;;;;1718:5;;1674:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1512:223;;1430:311;:::o;1067:223:161:-;1200:83;1226:11;1252;1274:7;1200:12;:83::i;:::-;1067:223;;;:::o;1347:227::-;1482:85;1510:11;1536;1558:7;1482:14;:85::i;5621:1092:200:-;5738:64;5816:29;5859:35;5908:32;5954:41;6021:14;6037;6055:29;6072:11;;6055:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6055:16:200;;-1:-1:-1;;;6055:29:200:i;:::-;6110:16;;;6124:1;6110:16;;;;;;;;;6020:64;;-1:-1:-1;6020:64:200;;-1:-1:-1;6110:16:200;;;;;;;;;;;-1:-1:-1;6110:16:200;6095:31;;6166:6;-1:-1:-1;;;;;6154:44:200;;:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6154:46:200;6136:15;;:12;;6149:1;;6136:15;;;;-1:-1:-1;;;;;6136:64:200;;;;:15;;;;;;;;;;:64;6231:16;;;6245:1;6231:16;;;;;;;;;;;;;;6136:15;6231:16;;;;;-1:-1:-1;6231:16:200;6210:37;;6281:6;6257:18;6276:1;6257:21;;;;;;;;;;;;;;;;;:30;6316:16;;;6330:1;6316:16;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6316:16:200;6298:34;;6363:6;6342:15;6358:1;6342:18;;;;;;;;-1:-1:-1;;;;;6342:27:200;;;;:18;;;;;;;;;;:27;6406:16;;;6420:1;6406:16;;;;;;;;;;;;;;6342:18;6406:16;;;;;-1:-1:-1;;6379:43:200;-1:-1:-1;6462:27:200;:6;1394:1;6462:10;:27::i;:::-;6432:24;6457:1;6432:27;;;;;;;;;;;;;:57;;;;;6521:50;6500:206;;;;5621:1092;;;;;;;;:::o;6836:1192::-;6955:64;7033:29;7076:35;7125:32;7171:41;7238:14;7254;7272:29;7289:11;;7272:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7272:16:200;;-1:-1:-1;;;7272:29:200:i;:::-;7327:16;;;7341:1;7327:16;;;;;;;;;7237:64;;-1:-1:-1;7237:64:200;;-1:-1:-1;7327:16:200;;;;;;;;;;;-1:-1:-1;7327:16:200;7312:31;;7371:6;7353:12;7366:1;7353:15;;;;;;;;-1:-1:-1;;;;;7353:24:200;;;;:15;;;;;;;;;;:24;7408:16;;;7422:1;7408:16;;;;;;;;;;;;;;7353:15;7408:16;;;;;-1:-1:-1;7408:16:200;7387:37;;7458:6;7434:18;7453:1;7434:21;;;;;;;;;;;;;;;;;:30;7493:16;;;7507:1;7493:16;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7493:16:200;7475:34;;7552:6;-1:-1:-1;;;;;7540:44:200;;:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7540:46:200;7519:18;;:15;;7535:1;;7519:18;;;940:493:182;1069:159;1117:11;1159:21;1210:7;1069:25;:159::i;:::-;1239:21;-1:-1:-1;;;;;1239:28:182;;1295:11;1329:7;1355:10;1394:21;1239:187;;;;;;;;;;;;;-1:-1:-1;;;;;1239:187:182;;;;;;;;;;;-1:-1:-1;;;;;1239:187:182;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;940:493;;;:::o;1499:277::-;1630:21;-1:-1:-1;;;;;1630:30:182;;1688:11;1722:7;1748:10;1630:139;;;;;;;;;;;;;-1:-1:-1;;;;;1630:139:182;;;;;;;;;;;-1:-1:-1;;;;;1630:139:182;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8119:203:200;8217:15;8234;8283:11;8272:43;;;;;;;;;;;;;;;-1:-1:-1;8272:43:200;;;;;;;;;-1:-1:-1;8272:43:200;-1:-1:-1;8119:203:200;;;:::o;3136:155:442:-;3194:7;3226:1;3221;:6;;3213:49;;;;;-1:-1:-1;;;3213:49:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3279:5:442;;;3136:155::o;2554:434:355:-;2714:47;;;-1:-1:-1;;;2714:47:355;;2746:4;2714:47;;;;-1:-1:-1;;;;;2714:47:355;;;;;;;;;2694:17;;2714:23;;;;;:47;;;;;;;;;;;;;;:23;:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2714:47:355;;-1:-1:-1;2775:25:355;;;2771:211;;;2820:13;;2816:89;;2853:37;-1:-1:-1;;;;;2853:25:355;;2879:7;2888:1;2853:25;:37::i;:::-;2918:53;-1:-1:-1;;;;;2918:25:355;;2944:7;-1:-1:-1;;2918:25:355;:53::i;:::-;2554:434;;;;:::o;1348:613:450:-;1713:10;;;1712:62;;-1:-1:-1;1729:39:450;;;-1:-1:-1;;;1729:39:450;;1753:4;1729:39;;;;-1:-1:-1;;;;;1729:39:450;;;;;;;;;:15;;;;;;:39;;;;;;;;;;;;;;;:15;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1729:39:450;:44;1712:62;1704:150;;;;-1:-1:-1;;;1704:150:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1891:62;;;-1:-1:-1;;;;;1891:62:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1891:62:450;-1:-1:-1;;;1891:62:450;;;1864:90;;1884:5;;3386:23;3412:69;3440:4;3412:69;;;;;;;;;;;;;;;;;3420:5;-1:-1:-1;;;;;3412:27:450;;;:69;;;;;:::i;:::-;3495:17;;3386:95;;-1:-1:-1;3495:21:450;3491:221;;3635:10;3624:30;;;;;;;;;;;;;;;-1:-1:-1;3624:30:450;3616:85;;;;-1:-1:-1;;;3616:85:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3581:193:451;3684:12;3715:52;3737:6;3745:4;3751:1;3754:12;3715:21;:52::i;:::-;3708:59;;3581:193;;;;;;:::o;4608:523::-;4735:12;4792:5;4767:21;:30;;4759:81;;;;-1:-1:-1;;;4759:81:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4858:18;4869:6;4858:10;:18::i;:::-;4850:60;;;;;-1:-1:-1;;;4850:60:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;4981:12;4995:23;5022:6;-1:-1:-1;;;;;5022:11:451;5042:5;5050:4;5022:33;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5022:33:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4980:75;;;;5072:52;5090:7;5099:10;5111:12;5072:17;:52::i;:::-;5065:59;4608:523;-1:-1:-1;;;;;;;4608:523:451:o;726:413::-;1086:20;1124:8;;;726:413::o;7091:725::-;7206:12;7234:7;7230:580;;;-1:-1:-1;7264:10:451;7257:17;;7230:580;7375:17;;:21;7371:429;;7633:10;7627:17;7693:15;7680:10;7676:2;7672:19;7665:44;7582:145;7772:12;7765:20;;-1:-1:-1;;;7765:20:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;", - "linkReferences": {}, - "immutableReferences": { - "2841": [ - { - "start": 2689, - "length": 32 - } - ], - "2843": [ - { - "start": 2736, - "length": 32 - } - ], - "2845": [ - { - "start": 2989, - "length": 32 - } - ], - "49791": [ - { - "start": 1260, - "length": 32 - }, - { - "start": 1743, - "length": 32 - }, - { - "start": 2172, - "length": 32 - } - ], - "50058": [ - { - "start": 3984, - "length": 32 - }, - { - "start": 4023, - "length": 32 - }, - { - "start": 4232, - "length": 32 - } - ], - "50060": [ - { - "start": 4073, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "CLAIM_REWARDS_SELECTOR()": "40da225d", - "LEND_AND_STAKE_SELECTOR()": "131461c0", - "LEND_SELECTOR()": "257cb1a3", - "REDEEM_SELECTOR()": "f7d882b5", - "STAKE_SELECTOR()": "3ffc1591", - "TAKE_MULTIPLE_ORDERS_SELECTOR()": "c32990a2", - "TAKE_ORDER_SELECTOR()": "863e5ad0", - "UNSTAKE_AND_REDEEM_SELECTOR()": "080456c1", - "UNSTAKE_SELECTOR()": "b23228cf", - "getIntegrationManager()": "e7c45690", - "lend(address,bytes,bytes)": "099f7515", - "parseAssetsForAction(address,bytes4,bytes)": "c54efee5", - "redeem(address,bytes,bytes)": "c29fa9dd" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_integrationManager\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_addressListRegistry\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_aTokenListId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_pool\",\"type\":\"address\"},{\"internalType\":\"uint16\",\"name\":\"_referralCode\",\"type\":\"uint16\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"CLAIM_REWARDS_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LEND_AND_STAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LEND_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"REDEEM_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"STAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TAKE_MULTIPLE_ORDERS_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TAKE_ORDER_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UNSTAKE_AND_REDEEM_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UNSTAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getIntegrationManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"integrationManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"_assetData\",\"type\":\"bytes\"}],\"name\":\"lend\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"_selector\",\"type\":\"bytes4\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"}],\"name\":\"parseAssetsForAction\",\"outputs\":[{\"internalType\":\"enum IIntegrationManager.SpendAssetsHandleType\",\"name\":\"spendAssetsHandleType_\",\"type\":\"uint8\"},{\"internalType\":\"address[]\",\"name\":\"spendAssets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"spendAssetAmounts_\",\"type\":\"uint256[]\"},{\"internalType\":\"address[]\",\"name\":\"incomingAssets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"minIncomingAssetAmounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"_assetData\",\"type\":\"bytes\"}],\"name\":\"redeem\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"getIntegrationManager()\":{\"returns\":{\"integrationManager_\":\"The `INTEGRATION_MANAGER` variable value\"}},\"lend(address,bytes,bytes)\":{\"params\":{\"_assetData\":\"Parsed spend assets and incoming assets data for this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}},\"parseAssetsForAction(address,bytes4,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_selector\":\"The function selector for the callOnIntegration\"},\"returns\":{\"incomingAssets_\":\"The assets to receive in the call\",\"minIncomingAssetAmounts_\":\"The min asset amounts to receive in the call\",\"spendAssetAmounts_\":\"The max asset amounts to spend in the call\",\"spendAssetsHandleType_\":\"A type that dictates how to handle granting the adapter access to spend assets (`None` by default)\",\"spendAssets_\":\"The assets to spend in the call\"}},\"redeem(address,bytes,bytes)\":{\"params\":{\"_assetData\":\"Parsed spend assets and incoming assets data for this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}}},\"title\":\"AaveV3Adapter Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getIntegrationManager()\":{\"notice\":\"Gets the `INTEGRATION_MANAGER` variable\"},\"lend(address,bytes,bytes)\":{\"notice\":\"Lends an amount of a token to AAVE\"},\"parseAssetsForAction(address,bytes4,bytes)\":{\"notice\":\"Parses the expected assets in a particular action\"},\"redeem(address,bytes,bytes)\":{\"notice\":\"Redeems an amount of aTokens from AAVE\"}},\"notice\":\"Adapter for Aave v3 lending\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/integration-manager/integrations/adapters/AaveV3Adapter.sol\":\"AaveV3Adapter\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/address-list-registry/AddressListRegistry.sol\":{\"keccak256\":\"0xf00a9e376e3ec2a223f463f71c15ee3af3642dd028bc3762440e316b760c8048\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://01986c9327b5dfbfac21316dced6d68727931ddde1278ed1342d878004f984b9\",\"dweb:/ipfs/QmdXkFaUU43JqMTYEREbWa129rohdqN7GXy7mVRpjCfSLD\"]},\"contracts/persistent/address-list-registry/address-list-owners/utils/AddOnlyAddressListOwnerBase.sol\":{\"keccak256\":\"0xd3b355f8146b7df79e4537b021379a237d6620c0bdec25e9d96f2b741864909a\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://fcddc5b1dcbe7588943492a5d62ede92f23c46db0bf523267fda0ba9e8acafb5\",\"dweb:/ipfs/QmRssFbEBCRwELD7pvnU7GWoZzxfZocys4sFW33VL71jpt\"]},\"contracts/persistent/address-list-registry/address-list-owners/utils/AddOnlyAddressListOwnerConsumerMixin.sol\":{\"keccak256\":\"0x7eb3ee3ecc65e36bc8b6201e99d42d37bb932e85a5b24afb141a23a469cf8b6e\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://42bb22f3d4b3f2fed39b313cbb81c929d204f07f5ae49f7dc464b44d861d51e5\",\"dweb:/ipfs/QmaMgdLB4zGdZvR5ohexnKoAHdjX7xoM5h8J2ExffyFZG6\"]},\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/release/extensions/integration-manager/IIntegrationManager.sol\":{\"keccak256\":\"0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23\",\"dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk\"]},\"contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol\":{\"keccak256\":\"0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336\",\"dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS\"]},\"contracts/release/extensions/integration-manager/integrations/adapters/AaveV3Adapter.sol\":{\"keccak256\":\"0x651c57a36f87af4652cb40e57e737fa78e356adf0f031a5aff9de55af224fca2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://478f2da4d5adab9cf0b016159614ef92b19a0c5adb5e1ad01ab44eff11dca013\",\"dweb:/ipfs/QmZDt7hDa7zm5Nt8ukC8MqtRocVc3gzZskyG96opNyDiet\"]},\"contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol\":{\"keccak256\":\"0x067e49bf0d3c1655ab41a413c65ccf61d4e593308132e1ffc484a0fadfbbaf26\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://387f425017e18e89cc1893521101fa99df595314847d0b3d9a1162369f714fcf\",\"dweb:/ipfs/Qmco3jCvuWAyfCpBYpGzHrQjiFJG63w1RJKcakoTEbxRQm\"]},\"contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol\":{\"keccak256\":\"0xfd34c7ca8231c6935e25dede32ca2b3121738e624d0fc896f7b895a731edcf88\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d492c061963d36d07718446db191d4c5a340c0d847f6cd209f027bd99f7cb176\",\"dweb:/ipfs/QmfCvRZt56ftDdrEh6LepHXFJ4fVtcfpQGvEyY8k4zxG1A\"]},\"contracts/release/extensions/integration-manager/integrations/utils/actions/AaveV3ActionsMixin.sol\":{\"keccak256\":\"0x7ed3dc0540a027b634c334f36f615d274df02e0a91bb4a255a6dd797cacea801\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://687625e5eceee607c023899f61625186731b74cf563ba18e91055ebafdc03ea9\",\"dweb:/ipfs/QmWAvvBzFKpAqRbxUbhpFCDCn8qXG31qq3r9msRZ54yKRL\"]},\"contracts/release/extensions/integration-manager/integrations/utils/bases/AaveAdapterBase.sol\":{\"keccak256\":\"0x5a18966a7532149914962a46b8921bbfdf5a6c49f05372315b4423880565f3f3\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://556d798372ff8e0885b01650e2015764a5b01788a3e85c9e3181c85599480b25\",\"dweb:/ipfs/QmQGnKHfdfaG8iaPiYr859SfAeXiUprqx61AiWMaCEJTgE\"]},\"contracts/release/interfaces/IAaveAToken.sol\":{\"keccak256\":\"0x2fe53734b46e1238b7d46889774c5813fa9e132350f45028b5584dfcc254c97b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://7b4b689deca405c2f9f85132d8b1b8650499d3d521b8b302299e25aa5172d81d\",\"dweb:/ipfs/QmUTZHqVT1exEd5RUyjPS6wwkJmZBW9Dgkkb7emiFCSUMW\"]},\"contracts/release/interfaces/IAaveV3Pool.sol\":{\"keccak256\":\"0x530751e3515c5d8c9afd4eb09b509d8f351b25ae0b73b41ea1da79ba6d6e3816\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f388a7639bfedd9c2e403bc0c20ea5b06a9ed72c9451af226d4b8b5fbfd4f639\",\"dweb:/ipfs/QmTdK9XprwhsWXqZZpAFGxGNcbSf8SfoaNYRXQ1V4ujskn\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_integrationManager", - "type": "address" - }, - { - "internalType": "address", - "name": "_addressListRegistry", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_aTokenListId", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_pool", - "type": "address" - }, - { - "internalType": "uint16", - "name": "_referralCode", - "type": "uint16" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "CLAIM_REWARDS_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "LEND_AND_STAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "LEND_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "REDEEM_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "STAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "TAKE_MULTIPLE_ORDERS_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "TAKE_ORDER_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "UNSTAKE_AND_REDEEM_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "UNSTAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getIntegrationManager", - "outputs": [ - { - "internalType": "address", - "name": "integrationManager_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "_assetData", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "lend" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes4", - "name": "_selector", - "type": "bytes4" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - } - ], - "stateMutability": "view", - "type": "function", - "name": "parseAssetsForAction", - "outputs": [ - { - "internalType": "enum IIntegrationManager.SpendAssetsHandleType", - "name": "spendAssetsHandleType_", - "type": "uint8" - }, - { - "internalType": "address[]", - "name": "spendAssets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "spendAssetAmounts_", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "incomingAssets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "minIncomingAssetAmounts_", - "type": "uint256[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "_assetData", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "redeem" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "getIntegrationManager()": { - "returns": { - "integrationManager_": "The `INTEGRATION_MANAGER` variable value" - } - }, - "lend(address,bytes,bytes)": { - "params": { - "_assetData": "Parsed spend assets and incoming assets data for this action", - "_vaultProxy": "The VaultProxy of the calling fund" - } - }, - "parseAssetsForAction(address,bytes4,bytes)": { - "params": { - "_actionData": "Data specific to this action", - "_selector": "The function selector for the callOnIntegration" - }, - "returns": { - "incomingAssets_": "The assets to receive in the call", - "minIncomingAssetAmounts_": "The min asset amounts to receive in the call", - "spendAssetAmounts_": "The max asset amounts to spend in the call", - "spendAssetsHandleType_": "A type that dictates how to handle granting the adapter access to spend assets (`None` by default)", - "spendAssets_": "The assets to spend in the call" - } - }, - "redeem(address,bytes,bytes)": { - "params": { - "_assetData": "Parsed spend assets and incoming assets data for this action", - "_vaultProxy": "The VaultProxy of the calling fund" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "getIntegrationManager()": { - "notice": "Gets the `INTEGRATION_MANAGER` variable" - }, - "lend(address,bytes,bytes)": { - "notice": "Lends an amount of a token to AAVE" - }, - "parseAssetsForAction(address,bytes4,bytes)": { - "notice": "Parses the expected assets in a particular action" - }, - "redeem(address,bytes,bytes)": { - "notice": "Redeems an amount of aTokens from AAVE" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/integration-manager/integrations/adapters/AaveV3Adapter.sol": "AaveV3Adapter" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/address-list-registry/AddressListRegistry.sol": { - "keccak256": "0xf00a9e376e3ec2a223f463f71c15ee3af3642dd028bc3762440e316b760c8048", - "urls": [ - "bzz-raw://01986c9327b5dfbfac21316dced6d68727931ddde1278ed1342d878004f984b9", - "dweb:/ipfs/QmdXkFaUU43JqMTYEREbWa129rohdqN7GXy7mVRpjCfSLD" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/address-list-registry/address-list-owners/utils/AddOnlyAddressListOwnerBase.sol": { - "keccak256": "0xd3b355f8146b7df79e4537b021379a237d6620c0bdec25e9d96f2b741864909a", - "urls": [ - "bzz-raw://fcddc5b1dcbe7588943492a5d62ede92f23c46db0bf523267fda0ba9e8acafb5", - "dweb:/ipfs/QmRssFbEBCRwELD7pvnU7GWoZzxfZocys4sFW33VL71jpt" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/address-list-registry/address-list-owners/utils/AddOnlyAddressListOwnerConsumerMixin.sol": { - "keccak256": "0x7eb3ee3ecc65e36bc8b6201e99d42d37bb932e85a5b24afb141a23a469cf8b6e", - "urls": [ - "bzz-raw://42bb22f3d4b3f2fed39b313cbb81c929d204f07f5ae49f7dc464b44d861d51e5", - "dweb:/ipfs/QmaMgdLB4zGdZvR5ohexnKoAHdjX7xoM5h8J2ExffyFZG6" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/dispatcher/IDispatcher.sol": { - "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", - "urls": [ - "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", - "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/IIntegrationManager.sol": { - "keccak256": "0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef", - "urls": [ - "bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23", - "dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol": { - "keccak256": "0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1", - "urls": [ - "bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336", - "dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/adapters/AaveV3Adapter.sol": { - "keccak256": "0x651c57a36f87af4652cb40e57e737fa78e356adf0f031a5aff9de55af224fca2", - "urls": [ - "bzz-raw://478f2da4d5adab9cf0b016159614ef92b19a0c5adb5e1ad01ab44eff11dca013", - "dweb:/ipfs/QmZDt7hDa7zm5Nt8ukC8MqtRocVc3gzZskyG96opNyDiet" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol": { - "keccak256": "0x067e49bf0d3c1655ab41a413c65ccf61d4e593308132e1ffc484a0fadfbbaf26", - "urls": [ - "bzz-raw://387f425017e18e89cc1893521101fa99df595314847d0b3d9a1162369f714fcf", - "dweb:/ipfs/Qmco3jCvuWAyfCpBYpGzHrQjiFJG63w1RJKcakoTEbxRQm" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol": { - "keccak256": "0xfd34c7ca8231c6935e25dede32ca2b3121738e624d0fc896f7b895a731edcf88", - "urls": [ - "bzz-raw://d492c061963d36d07718446db191d4c5a340c0d847f6cd209f027bd99f7cb176", - "dweb:/ipfs/QmfCvRZt56ftDdrEh6LepHXFJ4fVtcfpQGvEyY8k4zxG1A" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/utils/actions/AaveV3ActionsMixin.sol": { - "keccak256": "0x7ed3dc0540a027b634c334f36f615d274df02e0a91bb4a255a6dd797cacea801", - "urls": [ - "bzz-raw://687625e5eceee607c023899f61625186731b74cf563ba18e91055ebafdc03ea9", - "dweb:/ipfs/QmWAvvBzFKpAqRbxUbhpFCDCn8qXG31qq3r9msRZ54yKRL" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/utils/bases/AaveAdapterBase.sol": { - "keccak256": "0x5a18966a7532149914962a46b8921bbfdf5a6c49f05372315b4423880565f3f3", - "urls": [ - "bzz-raw://556d798372ff8e0885b01650e2015764a5b01788a3e85c9e3181c85599480b25", - "dweb:/ipfs/QmQGnKHfdfaG8iaPiYr859SfAeXiUprqx61AiWMaCEJTgE" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IAaveAToken.sol": { - "keccak256": "0x2fe53734b46e1238b7d46889774c5813fa9e132350f45028b5584dfcc254c97b", - "urls": [ - "bzz-raw://7b4b689deca405c2f9f85132d8b1b8650499d3d521b8b302299e25aa5172d81d", - "dweb:/ipfs/QmUTZHqVT1exEd5RUyjPS6wwkJmZBW9Dgkkb7emiFCSUMW" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IAaveV3Pool.sol": { - "keccak256": "0x530751e3515c5d8c9afd4eb09b509d8f351b25ae0b73b41ea1da79ba6d6e3816", - "urls": [ - "bzz-raw://f388a7639bfedd9c2e403bc0c20ea5b06a9ed72c9451af226d4b8b5fbfd4f639", - "dweb:/ipfs/QmTdK9XprwhsWXqZZpAFGxGNcbSf8SfoaNYRXQ1V4ujskn" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AssetHelpers.sol": { - "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", - "urls": [ - "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", - "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { - "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", - "urls": [ - "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", - "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Address.sol": { - "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", - "urls": [ - "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", - "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 161 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_integrationManager", "type": "address", "internalType": "address" }, { "name": "_addressListRegistry", "type": "address", "internalType": "address" }, { "name": "_aTokenListId", "type": "uint256", "internalType": "uint256" }, { "name": "_pool", "type": "address", "internalType": "address" }, { "name": "_referralCode", "type": "uint16", "internalType": "uint16" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "CLAIM_REWARDS_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "LEND_AND_STAKE_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "LEND_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "REDEEM_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "STAKE_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "TAKE_MULTIPLE_ORDERS_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "TAKE_ORDER_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "UNSTAKE_AND_REDEEM_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "UNSTAKE_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "getIntegrationManager", "inputs": [], "outputs": [ { "name": "integrationManager_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "lend", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "", "type": "bytes", "internalType": "bytes" }, { "name": "_assetData", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "parseAssetsForAction", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "_selector", "type": "bytes4", "internalType": "bytes4" }, { "name": "_actionData", "type": "bytes", "internalType": "bytes" } ], "outputs": [ { "name": "spendAssetsHandleType_", "type": "uint8", "internalType": "enum IIntegrationManager.SpendAssetsHandleType" }, { "name": "spendAssets_", "type": "address[]", "internalType": "address[]" }, { "name": "spendAssetAmounts_", "type": "uint256[]", "internalType": "uint256[]" }, { "name": "incomingAssets_", "type": "address[]", "internalType": "address[]" }, { "name": "minIncomingAssetAmounts_", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "view" }, { "type": "function", "name": "redeem", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "", "type": "bytes", "internalType": "bytes" }, { "name": "_assetData", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x61014060405234801561001157600080fd5b506040516118be3803806118be833981810160405260a081101561003457600080fd5b5080516020808301516040808501516060808701516080978801516001600160601b031988841b81169099529185901b90971660a05260c08290528251630337992760e31b8152600481018390529251959693959194909284928492899289928992849284926000926001600160a01b038616926319bcc9389260248083019392829003018186803b1580156100c957600080fd5b505afa1580156100dd573d6000803e3d6000fd5b505050506040513d60208110156100f357600080fd5b50516001600160601b0319606091821b811660e05298901b909716610100525050506001600160f01b031960f09390931b9290921661012052505050505050505060805160601c60a05160601c60c05160e05160601c6101005160601c6101205160f01c61171e6101a060003980610fe9525080610f905280610fb75280611088525080610bad525080610ab0525080610a815250806104ec52806106cf528061087c525061171e6000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c8063863e5ad01161008c578063c32990a211610066578063c32990a2146102c7578063c54efee5146102cf578063e7c4569014610491578063f7d882b5146104b5576100cf565b8063863e5ad0146101e9578063b23228cf146101f1578063c29fa9dd146101f9576100cf565b8063080456c1146100d4578063099f7515146100f9578063131461c0146101c9578063257cb1a3146101d15780633ffc1591146101d957806340da225d146101e1575b600080fd5b6100dc6104bd565b604080516001600160e01b03199092168252519081900360200190f35b6101c76004803603606081101561010f57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561013957600080fd5b82018360208201111561014b57600080fd5b803590602001918460018302840111600160201b8311171561016c57600080fd5b919390929091602081019035600160201b81111561018957600080fd5b82018360208201111561019b57600080fd5b803590602001918460018302840111600160201b831117156101bc57600080fd5b5090925090506104e1565b005b6100dc6105ec565b6100dc610610565b6100dc610634565b6100dc610658565b6100dc61067c565b6100dc6106a0565b6101c76004803603606081101561020f57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561023957600080fd5b82018360208201111561024b57600080fd5b803590602001918460018302840111600160201b8311171561026c57600080fd5b919390929091602081019035600160201b81111561028957600080fd5b82018360208201111561029b57600080fd5b803590602001918460018302840111600160201b831117156102bc57600080fd5b5090925090506106c4565b6100dc6107b8565b61035c600480360360608110156102e557600080fd5b6001600160a01b03823516916001600160e01b031960208201351691810190606081016040820135600160201b81111561031e57600080fd5b82018360208201111561033057600080fd5b803590602001918460018302840111600160201b8311171561035157600080fd5b5090925090506107dc565b6040518086600281111561036c57fe5b815260200180602001806020018060200180602001858103855289818151815260200191508051906020019060200280838360005b838110156103b95781810151838201526020016103a1565b50505050905001858103845288818151815260200191508051906020019060200280838360005b838110156103f85781810151838201526020016103e0565b50505050905001858103835287818151815260200191508051906020019060200280838360005b8381101561043757818101518382015260200161041f565b50505050905001858103825286818151815260200191508051906020019060200280838360005b8381101561047657818101518382015260200161045e565b50505050905001995050505050505050505060405180910390f35b61049961087a565b604080516001600160a01b039092168252519081900360200190f35b6100dc61089e565b7f8334eb99be0145865eba9889fca2ee920288090caefff4cc776038e20ad9259a81565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105485760405162461bcd60e51b81526004018080602001828103825260328152602001806116596032913960400191505060405180910390fd5b606080606061058c85858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506108c292505050565b9250925092506105af816000815181106105a257fe5b6020026020010151610a7f565b6105e288846000815181106105c057fe5b6020026020010151846000815181106105d557fe5b6020026020010151610c45565b5050505050505050565b7f29fa046e79524c3c5ac4c01df692c35e217802b2b13b21121b76cf0ef02b138c81565b7f099f75155f0e997bf83a7993a71d5e7e7540bd386fe1e84643a09ce6b412521981565b7ffa7dd04da627f433da73c4355ead9c75682a67a8fc84d3f6170ef0922f402d2481565b7fb9dfbaccbe5cd2a84fdcf1d15f23ef25d23086f5afbaa99516065ed4a5bbc7a381565b7f03e38a2bd7063d45c897edeafc330e71657502dd86434d3c37a489caf116af6981565b7f68e30677f607df46e87da13e15b637784cfa62374b653f35ab43d10361a2f83081565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461072b5760405162461bcd60e51b81526004018080602001828103825260328152602001806116596032913960400191505060405180910390fd5b606080606061076f85858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506108c292505050565b925092509250610785836000815181106105a257fe5b6105e2888260008151811061079657fe5b6020026020010151846000815181106107ab57fe5b6020026020010151610c55565b7f0e7f692dad5b88fdee426250d6eae91207e56a2e8112b7364579bed1790e5bf481565b600060608080806001600160e01b0319881663099f751560e01b1415610815576108068787610c60565b9450945094509450945061086f565b6001600160e01b0319881663c29fa9dd60e01b1415610838576108068787610e2a565b60405162461bcd60e51b81526004018080602001828103825260278152602001806116eb6027913960400191505060405180910390fd5b945094509450945094565b7f000000000000000000000000000000000000000000000000000000000000000090565b7fc29fa9dde84204c2908778afd0613d802d31cf046179b88f6d2b4a4e507ea2d581565b60608060608380602001905160608110156108dc57600080fd5b8101908080516040519392919084600160201b8211156108fb57600080fd5b90830190602082018581111561091057600080fd5b82518660208202830111600160201b8211171561092c57600080fd5b82525081516020918201928201910280838360005b83811015610959578181015183820152602001610941565b5050505090500160405260200180516040519392919084600160201b82111561098157600080fd5b90830190602082018581111561099657600080fd5b82518660208202830111600160201b821117156109b257600080fd5b82525081516020918201928201910280838360005b838110156109df5781810151838201526020016109c7565b5050505090500160405260200180516040519392919084600160201b821115610a0757600080fd5b908301906020820185811115610a1c57600080fd5b82518660208202830111600160201b82111715610a3857600080fd5b82525081516020918201928201910280838360005b83811015610a65578181015183820152602001610a4d565b505050509050016040525050509250925092509193909250565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316631c5632047f0000000000000000000000000000000000000000000000000000000000000000836040518363ffffffff1660e01b815260040180838152602001826001600160a01b031681526020019250505060206040518083038186803b158015610b1457600080fd5b505afa158015610b28573d6000803e3d6000fd5b505050506040513d6020811015610b3e57600080fd5b5051610c4257604080516001808252818301909252606091602080830190803683370190505090508181600081518110610b7457fe5b6001600160a01b0392831660209182029290920181019190915260405163a8f0bc4160e01b8152600481018281528451602483015284517f00000000000000000000000000000000000000000000000000000000000000009094169363a8f0bc419386938392604490910191858101910280838360005b83811015610c03578181015183820152602001610beb565b5050505090500192505050600060405180830381600087803b158015610c2857600080fd5b505af1158015610c3c573d6000803e3d6000fd5b50505050505b50565b610c50838383610f8a565b505050565b610c50838383611086565b6000606080606080600080610caa89898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061110e92505050565b60408051600180825281830190925292945090925060208083019080368337019050509550816001600160a01b031663b16a19de6040518163ffffffff1660e01b815260040160206040518083038186803b158015610d0857600080fd5b505afa158015610d1c573d6000803e3d6000fd5b505050506040513d6020811015610d3257600080fd5b505186518790600090610d4157fe5b6001600160a01b03929092166020928302919091018201526040805160018082528183019092529182810190803683370190505094508085600081518110610d8557fe5b6020908102919091010152604080516001808252818301909252908160200160208202803683370190505093508184600081518110610dc057fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509250610e01816002611139565b83600081518110610e0e57fe5b6020026020010181815250506002965050509295509295909350565b6000606080606080600080610e7489898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061110e92505050565b604080516001808252818301909252929450909250602080830190803683370190505095508186600081518110610ea757fe5b6001600160a01b03929092166020928302919091018201526040805160018082528183019092529182810190803683370190505094508085600081518110610eeb57fe5b602090810291909101015260408051600180825281830190925290816020016020820280368337019050509350816001600160a01b031663b16a19de6040518163ffffffff1660e01b815260040160206040518083038186803b158015610f5157600080fd5b505afa158015610f65573d6000803e3d6000fd5b505050506040513d6020811015610f7b57600080fd5b505184518590600090610dc057fe5b610fb5827f000000000000000000000000000000000000000000000000000000000000000083611196565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663617ba0378383867f00000000000000000000000000000000000000000000000000000000000000006040518563ffffffff1660e01b815260040180856001600160a01b03168152602001848152602001836001600160a01b031681526020018261ffff168152602001945050505050600060405180830381600087803b15801561106957600080fd5b505af115801561107d573d6000803e3d6000fd5b50505050505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166369328dec8383866040518463ffffffff1660e01b815260040180846001600160a01b03168152602001838152602001826001600160a01b031681526020019350505050600060405180830381600087803b15801561106957600080fd5b60008082806020019051604081101561112657600080fd5b5080516020909101519092509050915091565b600082821115611190576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60408051636eb1769f60e11b81523060048201526001600160a01b038481166024830152915160009286169163dd62ed3e916044808301926020929190829003018186803b1580156111e757600080fd5b505afa1580156111fb573d6000803e3d6000fd5b505050506040513d602081101561121157600080fd5b505190508181101561124e578015611238576112386001600160a01b038516846000611254565b61124e6001600160a01b03851684600019611254565b50505050565b8015806112da575060408051636eb1769f60e11b81523060048201526001600160a01b03848116602483015291519185169163dd62ed3e91604480820192602092909190829003018186803b1580156112ac57600080fd5b505afa1580156112c0573d6000803e3d6000fd5b505050506040513d60208110156112d657600080fd5b5051155b6113155760405162461bcd60e51b81526004018080602001828103825260368152602001806116b56036913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052610c5090849060606113b7826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166114139092919063ffffffff16565b805190915015610c50578080602001905160208110156113d657600080fd5b5051610c505760405162461bcd60e51b815260040180806020018281038252602a81526020018061168b602a913960400191505060405180910390fd5b6060611422848460008561142c565b90505b9392505050565b60608247101561146d5760405162461bcd60e51b81526004018080602001828103825260268152602001806116336026913960400191505060405180910390fd5b61147685611588565b6114c7576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b602083106115065780518252601f1990920191602091820191016114e7565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114611568576040519150601f19603f3d011682016040523d82523d6000602084013e61156d565b606091505b509150915061157d82828661158e565b979650505050505050565b3b151590565b6060831561159d575081611425565b8251156115ad5782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156115f75781810151838201526020016115df565b50505050905090810190601f1680156116245780820380516001836020036101000a031916815260200191505b509250505060405180910390fdfe416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c4f6e6c792074686520496e746567726174696f6e4d616e616765722063616e2063616c6c20746869732066756e6374696f6e5361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e63657061727365417373657473466f72416374696f6e3a205f73656c6563746f7220696e76616c6964a164736f6c634300060c000a", "sourceMap": "503:1073:161:-:0;;;571:329;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;571:329:161;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1938:41:179;;;;;;;;903:74:15;;;;;;;571:329:161;903:74:15;987:17;;;;1035:63;;-1:-1:-1;;;1035:63:15;;;;;;;;;;571:329:161;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;903:74:15;;;1035:54;;:63;;;;;571:329:161;1035:63:15;;;;;903:74;1035:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1035:63:15;-1:-1:-1;;;;;;1108:60:15;;;;;;;;788:42:182;;;;;;;;-1:-1:-1;;;;;;;;;840:37:182;;;;;;;;;;;-1:-1:-1;;;;;;;;503:1073:161;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106100cf5760003560e01c8063863e5ad01161008c578063c32990a211610066578063c32990a2146102c7578063c54efee5146102cf578063e7c4569014610491578063f7d882b5146104b5576100cf565b8063863e5ad0146101e9578063b23228cf146101f1578063c29fa9dd146101f9576100cf565b8063080456c1146100d4578063099f7515146100f9578063131461c0146101c9578063257cb1a3146101d15780633ffc1591146101d957806340da225d146101e1575b600080fd5b6100dc6104bd565b604080516001600160e01b03199092168252519081900360200190f35b6101c76004803603606081101561010f57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561013957600080fd5b82018360208201111561014b57600080fd5b803590602001918460018302840111600160201b8311171561016c57600080fd5b919390929091602081019035600160201b81111561018957600080fd5b82018360208201111561019b57600080fd5b803590602001918460018302840111600160201b831117156101bc57600080fd5b5090925090506104e1565b005b6100dc6105ec565b6100dc610610565b6100dc610634565b6100dc610658565b6100dc61067c565b6100dc6106a0565b6101c76004803603606081101561020f57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561023957600080fd5b82018360208201111561024b57600080fd5b803590602001918460018302840111600160201b8311171561026c57600080fd5b919390929091602081019035600160201b81111561028957600080fd5b82018360208201111561029b57600080fd5b803590602001918460018302840111600160201b831117156102bc57600080fd5b5090925090506106c4565b6100dc6107b8565b61035c600480360360608110156102e557600080fd5b6001600160a01b03823516916001600160e01b031960208201351691810190606081016040820135600160201b81111561031e57600080fd5b82018360208201111561033057600080fd5b803590602001918460018302840111600160201b8311171561035157600080fd5b5090925090506107dc565b6040518086600281111561036c57fe5b815260200180602001806020018060200180602001858103855289818151815260200191508051906020019060200280838360005b838110156103b95781810151838201526020016103a1565b50505050905001858103845288818151815260200191508051906020019060200280838360005b838110156103f85781810151838201526020016103e0565b50505050905001858103835287818151815260200191508051906020019060200280838360005b8381101561043757818101518382015260200161041f565b50505050905001858103825286818151815260200191508051906020019060200280838360005b8381101561047657818101518382015260200161045e565b50505050905001995050505050505050505060405180910390f35b61049961087a565b604080516001600160a01b039092168252519081900360200190f35b6100dc61089e565b7f8334eb99be0145865eba9889fca2ee920288090caefff4cc776038e20ad9259a81565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105485760405162461bcd60e51b81526004018080602001828103825260328152602001806116596032913960400191505060405180910390fd5b606080606061058c85858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506108c292505050565b9250925092506105af816000815181106105a257fe5b6020026020010151610a7f565b6105e288846000815181106105c057fe5b6020026020010151846000815181106105d557fe5b6020026020010151610c45565b5050505050505050565b7f29fa046e79524c3c5ac4c01df692c35e217802b2b13b21121b76cf0ef02b138c81565b7f099f75155f0e997bf83a7993a71d5e7e7540bd386fe1e84643a09ce6b412521981565b7ffa7dd04da627f433da73c4355ead9c75682a67a8fc84d3f6170ef0922f402d2481565b7fb9dfbaccbe5cd2a84fdcf1d15f23ef25d23086f5afbaa99516065ed4a5bbc7a381565b7f03e38a2bd7063d45c897edeafc330e71657502dd86434d3c37a489caf116af6981565b7f68e30677f607df46e87da13e15b637784cfa62374b653f35ab43d10361a2f83081565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461072b5760405162461bcd60e51b81526004018080602001828103825260328152602001806116596032913960400191505060405180910390fd5b606080606061076f85858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506108c292505050565b925092509250610785836000815181106105a257fe5b6105e2888260008151811061079657fe5b6020026020010151846000815181106107ab57fe5b6020026020010151610c55565b7f0e7f692dad5b88fdee426250d6eae91207e56a2e8112b7364579bed1790e5bf481565b600060608080806001600160e01b0319881663099f751560e01b1415610815576108068787610c60565b9450945094509450945061086f565b6001600160e01b0319881663c29fa9dd60e01b1415610838576108068787610e2a565b60405162461bcd60e51b81526004018080602001828103825260278152602001806116eb6027913960400191505060405180910390fd5b945094509450945094565b7f000000000000000000000000000000000000000000000000000000000000000090565b7fc29fa9dde84204c2908778afd0613d802d31cf046179b88f6d2b4a4e507ea2d581565b60608060608380602001905160608110156108dc57600080fd5b8101908080516040519392919084600160201b8211156108fb57600080fd5b90830190602082018581111561091057600080fd5b82518660208202830111600160201b8211171561092c57600080fd5b82525081516020918201928201910280838360005b83811015610959578181015183820152602001610941565b5050505090500160405260200180516040519392919084600160201b82111561098157600080fd5b90830190602082018581111561099657600080fd5b82518660208202830111600160201b821117156109b257600080fd5b82525081516020918201928201910280838360005b838110156109df5781810151838201526020016109c7565b5050505090500160405260200180516040519392919084600160201b821115610a0757600080fd5b908301906020820185811115610a1c57600080fd5b82518660208202830111600160201b82111715610a3857600080fd5b82525081516020918201928201910280838360005b83811015610a65578181015183820152602001610a4d565b505050509050016040525050509250925092509193909250565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316631c5632047f0000000000000000000000000000000000000000000000000000000000000000836040518363ffffffff1660e01b815260040180838152602001826001600160a01b031681526020019250505060206040518083038186803b158015610b1457600080fd5b505afa158015610b28573d6000803e3d6000fd5b505050506040513d6020811015610b3e57600080fd5b5051610c4257604080516001808252818301909252606091602080830190803683370190505090508181600081518110610b7457fe5b6001600160a01b0392831660209182029290920181019190915260405163a8f0bc4160e01b8152600481018281528451602483015284517f00000000000000000000000000000000000000000000000000000000000000009094169363a8f0bc419386938392604490910191858101910280838360005b83811015610c03578181015183820152602001610beb565b5050505090500192505050600060405180830381600087803b158015610c2857600080fd5b505af1158015610c3c573d6000803e3d6000fd5b50505050505b50565b610c50838383610f8a565b505050565b610c50838383611086565b6000606080606080600080610caa89898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061110e92505050565b60408051600180825281830190925292945090925060208083019080368337019050509550816001600160a01b031663b16a19de6040518163ffffffff1660e01b815260040160206040518083038186803b158015610d0857600080fd5b505afa158015610d1c573d6000803e3d6000fd5b505050506040513d6020811015610d3257600080fd5b505186518790600090610d4157fe5b6001600160a01b03929092166020928302919091018201526040805160018082528183019092529182810190803683370190505094508085600081518110610d8557fe5b6020908102919091010152604080516001808252818301909252908160200160208202803683370190505093508184600081518110610dc057fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509250610e01816002611139565b83600081518110610e0e57fe5b6020026020010181815250506002965050509295509295909350565b6000606080606080600080610e7489898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061110e92505050565b604080516001808252818301909252929450909250602080830190803683370190505095508186600081518110610ea757fe5b6001600160a01b03929092166020928302919091018201526040805160018082528183019092529182810190803683370190505094508085600081518110610eeb57fe5b602090810291909101015260408051600180825281830190925290816020016020820280368337019050509350816001600160a01b031663b16a19de6040518163ffffffff1660e01b815260040160206040518083038186803b158015610f5157600080fd5b505afa158015610f65573d6000803e3d6000fd5b505050506040513d6020811015610f7b57600080fd5b505184518590600090610dc057fe5b610fb5827f000000000000000000000000000000000000000000000000000000000000000083611196565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663617ba0378383867f00000000000000000000000000000000000000000000000000000000000000006040518563ffffffff1660e01b815260040180856001600160a01b03168152602001848152602001836001600160a01b031681526020018261ffff168152602001945050505050600060405180830381600087803b15801561106957600080fd5b505af115801561107d573d6000803e3d6000fd5b50505050505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166369328dec8383866040518463ffffffff1660e01b815260040180846001600160a01b03168152602001838152602001826001600160a01b031681526020019350505050600060405180830381600087803b15801561106957600080fd5b60008082806020019051604081101561112657600080fd5b5080516020909101519092509050915091565b600082821115611190576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60408051636eb1769f60e11b81523060048201526001600160a01b038481166024830152915160009286169163dd62ed3e916044808301926020929190829003018186803b1580156111e757600080fd5b505afa1580156111fb573d6000803e3d6000fd5b505050506040513d602081101561121157600080fd5b505190508181101561124e578015611238576112386001600160a01b038516846000611254565b61124e6001600160a01b03851684600019611254565b50505050565b8015806112da575060408051636eb1769f60e11b81523060048201526001600160a01b03848116602483015291519185169163dd62ed3e91604480820192602092909190829003018186803b1580156112ac57600080fd5b505afa1580156112c0573d6000803e3d6000fd5b505050506040513d60208110156112d657600080fd5b5051155b6113155760405162461bcd60e51b81526004018080602001828103825260368152602001806116b56036913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052610c5090849060606113b7826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166114139092919063ffffffff16565b805190915015610c50578080602001905160208110156113d657600080fd5b5051610c505760405162461bcd60e51b815260040180806020018281038252602a81526020018061168b602a913960400191505060405180910390fd5b6060611422848460008561142c565b90505b9392505050565b60608247101561146d5760405162461bcd60e51b81526004018080602001828103825260268152602001806116336026913960400191505060405180910390fd5b61147685611588565b6114c7576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b602083106115065780518252601f1990920191602091820191016114e7565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114611568576040519150601f19603f3d011682016040523d82523d6000602084013e61156d565b606091505b509150915061157d82828661158e565b979650505050505050565b3b151590565b6060831561159d575081611425565b8251156115ad5782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156115f75781810151838201526020016115df565b50505050905090810190601f1680156116245780820380516001836020036101000a031916815260200191505b509250505060405180910390fdfe416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c4f6e6c792074686520496e746567726174696f6e4d616e616765722063616e2063616c6c20746869732066756e6374696f6e5361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e63657061727365417373657473466f72416374696f6e3a205f73656c6563746f7220696e76616c6964a164736f6c634300060c000a", "sourceMap": "503:1073:161:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1490:119:180;;;:::i;:::-;;;;-1:-1:-1;;;;;;1490:119:180;;;;;;;;;;;;;;2401:700:200;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2401:700:200;;;;;;;;;;;;;;;-1:-1:-1;;;2401:700:200;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2401:700:200;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2401:700:200;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2401:700:200;;;;;;;;;;-1:-1:-1;2401:700:200;;-1:-1:-1;2401:700:200;-1:-1:-1;2401:700:200;:::i;:::-;;1373:111:180;;;:::i;832:85::-;;;:::i;1034:87::-;;;:::i;1240:110::-;;;:::i;706:104::-;;;:::i;1127:91::-;;;:::i;3311:704:200:-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3311:704:200;;;;;;;;;;;;;;;-1:-1:-1;;;3311:704:200;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3311:704:200;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3311:704:200;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3311:704:200;;;;;;;;;;-1:-1:-1;3311:704:200;;-1:-1:-1;3311:704:200;-1:-1:-1;3311:704:200;:::i;577:123:180:-;;;:::i;4756:744:200:-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4756:744:200;;;;-1:-1:-1;;;;;;4756:744:200;;;;;;;;;;;;;;;;-1:-1:-1;;;4756:744:200;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4756:744:200;;;;;;;;;;-1:-1:-1;4756:744:200;;-1:-1:-1;4756:744:200;-1:-1:-1;4756:744:200;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2637:128:179;;;:::i;:::-;;;;-1:-1:-1;;;;;2637:128:179;;;;;;;;;;;;;;923:89:180;;;:::i;1490:119::-;1558:50;1490:119;:::o;2401:700:200:-;1747:10:179;-1:-1:-1;;;;;1761:19:179;1747:33;;1726:130;;;;-1:-1:-1;;;1726:130:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2565:28:200::1;2607:34:::0;2655:31:::1;2699:29;2717:10;;2699:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;2699:17:200::1;::::0;-1:-1:-1;;;2699:29:200:i:1;:::-;2551:177;;;;;;2886:57;2925:14;2940:1;2925:17;;;;;;;;;;;;;;2886:38;:57::i;:::-;2954:140;2988:11;3026;3038:1;3026:14;;;;;;;;;;;;;;3063:17;3081:1;3063:20;;;;;;;;;;;;;;2954:6;:140::i;:::-;1866:1:179;;;2401:700:200::0;;;;;:::o;1373:111:180:-;1437:46;1373:111;:::o;832:85::-;878:38;832:85;:::o;1034:87::-;1081:39;1034:87;:::o;1240:110::-;1303:46;1240:110;:::o;706:104::-;766:43;706:104;:::o;1127:91::-;1176:41;1127:91;:::o;3311:704:200:-;1747:10:179;-1:-1:-1;;;;;1761:19:179;1747:33;;1726:130;;;;-1:-1:-1;;;1726:130:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3477:28:200::1;3519:34:::0;3567:31:::1;3611:29;3629:10;;3611:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;3611:17:200::1;::::0;-1:-1:-1;;;3611:29:200:i:1;:::-;3463:177;;;;;;3798:54;3837:11;3849:1;3837:14;;;;;;;3798:54;3863:145;3899:11;3937:14;3952:1;3937:17;;;;;;;;;;;;;;3977;3995:1;3977:20;;;;;;;;;;;;;;3863:8;:145::i;577:123:180:-:0;647:52;577:123;:::o;4756:744:200:-;4948:64;5026:29;;;;-1:-1:-1;;;;;;5234:26:200;;-1:-1:-1;;;5234:26:200;5230:204;;;5283:33;5304:11;;5283:20;:33::i;:::-;5276:40;;;;;;;;;;;;5230:204;-1:-1:-1;;;;;;5337:28:200;;-1:-1:-1;;;5337:28:200;5333:101;;;5388:35;5411:11;;5388:22;:35::i;5333:101::-;5444:49;;-1:-1:-1;;;5444:49:200;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4756:744;;;;;;;;;;:::o;2637:128:179:-;2739:19;2637:128;:::o;923:89:180:-;971:40;923:89;:::o;2093:332:179:-;2205:29;2248:35;2297:32;2372:10;2361:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;-1:-1:-1;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;-1:-1:-1;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;-1:-1:-1;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2354:64;;;;;;2093:332;;;;;:::o;1430:311:15:-;1517:30;-1:-1:-1;;;;;1517:39:15;;1557:7;1566:5;1517:55;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1517:55:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1517:55:15;1512:223;;1613:16;;;1627:1;1613:16;;;;;;;;;1588:22;;1613:16;;;;;;;;;;;-1:-1:-1;1613:16:15;1588:41;;1654:5;1643;1649:1;1643:8;;;;;;;;-1:-1:-1;;;;;1643:16:15;;;:8;;;;;;;;;;:16;;;;1674:50;;-1:-1:-1;;;1674:50:15;;;;;;;;;;;;;;;;:19;:43;;;;;;1718:5;;1674:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1512:223;;1430:311;:::o;1067:223:161:-;1200:83;1226:11;1252;1274:7;1200:12;:83::i;:::-;1067:223;;;:::o;1347:227::-;1482:85;1510:11;1536;1558:7;1482:14;:85::i;5621:1092:200:-;5738:64;5816:29;5859:35;5908:32;5954:41;6021:14;6037;6055:29;6072:11;;6055:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6055:16:200;;-1:-1:-1;;;6055:29:200:i;:::-;6110:16;;;6124:1;6110:16;;;;;;;;;6020:64;;-1:-1:-1;6020:64:200;;-1:-1:-1;6110:16:200;;;;;;;;;;;-1:-1:-1;6110:16:200;6095:31;;6166:6;-1:-1:-1;;;;;6154:44:200;;:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6154:46:200;6136:15;;:12;;6149:1;;6136:15;;;;-1:-1:-1;;;;;6136:64:200;;;;:15;;;;;;;;;;:64;6231:16;;;6245:1;6231:16;;;;;;;;;;;;;;6136:15;6231:16;;;;;-1:-1:-1;6231:16:200;6210:37;;6281:6;6257:18;6276:1;6257:21;;;;;;;;;;;;;;;;;:30;6316:16;;;6330:1;6316:16;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6316:16:200;6298:34;;6363:6;6342:15;6358:1;6342:18;;;;;;;;-1:-1:-1;;;;;6342:27:200;;;;:18;;;;;;;;;;:27;6406:16;;;6420:1;6406:16;;;;;;;;;;;;;;6342:18;6406:16;;;;;-1:-1:-1;;6379:43:200;-1:-1:-1;6462:27:200;:6;1394:1;6462:10;:27::i;:::-;6432:24;6457:1;6432:27;;;;;;;;;;;;;:57;;;;;6521:50;6500:206;;;;5621:1092;;;;;;;;:::o;6836:1192::-;6955:64;7033:29;7076:35;7125:32;7171:41;7238:14;7254;7272:29;7289:11;;7272:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7272:16:200;;-1:-1:-1;;;7272:29:200:i;:::-;7327:16;;;7341:1;7327:16;;;;;;;;;7237:64;;-1:-1:-1;7237:64:200;;-1:-1:-1;7327:16:200;;;;;;;;;;;-1:-1:-1;7327:16:200;7312:31;;7371:6;7353:12;7366:1;7353:15;;;;;;;;-1:-1:-1;;;;;7353:24:200;;;;:15;;;;;;;;;;:24;7408:16;;;7422:1;7408:16;;;;;;;;;;;;;;7353:15;7408:16;;;;;-1:-1:-1;7408:16:200;7387:37;;7458:6;7434:18;7453:1;7434:21;;;;;;;;;;;;;;;;;:30;7493:16;;;7507:1;7493:16;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7493:16:200;7475:34;;7552:6;-1:-1:-1;;;;;7540:44:200;;:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7540:46:200;7519:18;;:15;;7535:1;;7519:18;;;940:493:182;1069:159;1117:11;1159:21;1210:7;1069:25;:159::i;:::-;1239:21;-1:-1:-1;;;;;1239:28:182;;1295:11;1329:7;1355:10;1394:21;1239:187;;;;;;;;;;;;;-1:-1:-1;;;;;1239:187:182;;;;;;;;;;;-1:-1:-1;;;;;1239:187:182;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;940:493;;;:::o;1499:277::-;1630:21;-1:-1:-1;;;;;1630:30:182;;1688:11;1722:7;1748:10;1630:139;;;;;;;;;;;;;-1:-1:-1;;;;;1630:139:182;;;;;;;;;;;-1:-1:-1;;;;;1630:139:182;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8119:203:200;8217:15;8234;8283:11;8272:43;;;;;;;;;;;;;;;-1:-1:-1;8272:43:200;;;;;;;;;-1:-1:-1;8272:43:200;-1:-1:-1;8119:203:200;;;:::o;3136:155:442:-;3194:7;3226:1;3221;:6;;3213:49;;;;;-1:-1:-1;;;3213:49:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3279:5:442;;;3136:155::o;2554:434:355:-;2714:47;;;-1:-1:-1;;;2714:47:355;;2746:4;2714:47;;;;-1:-1:-1;;;;;2714:47:355;;;;;;;;;2694:17;;2714:23;;;;;:47;;;;;;;;;;;;;;:23;:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2714:47:355;;-1:-1:-1;2775:25:355;;;2771:211;;;2820:13;;2816:89;;2853:37;-1:-1:-1;;;;;2853:25:355;;2879:7;2888:1;2853:25;:37::i;:::-;2918:53;-1:-1:-1;;;;;2918:25:355;;2944:7;-1:-1:-1;;2918:25:355;:53::i;:::-;2554:434;;;;:::o;1348:613:450:-;1713:10;;;1712:62;;-1:-1:-1;1729:39:450;;;-1:-1:-1;;;1729:39:450;;1753:4;1729:39;;;;-1:-1:-1;;;;;1729:39:450;;;;;;;;;:15;;;;;;:39;;;;;;;;;;;;;;;:15;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1729:39:450;:44;1712:62;1704:150;;;;-1:-1:-1;;;1704:150:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1891:62;;;-1:-1:-1;;;;;1891:62:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1891:62:450;-1:-1:-1;;;1891:62:450;;;1864:90;;1884:5;;3386:23;3412:69;3440:4;3412:69;;;;;;;;;;;;;;;;;3420:5;-1:-1:-1;;;;;3412:27:450;;;:69;;;;;:::i;:::-;3495:17;;3386:95;;-1:-1:-1;3495:21:450;3491:221;;3635:10;3624:30;;;;;;;;;;;;;;;-1:-1:-1;3624:30:450;3616:85;;;;-1:-1:-1;;;3616:85:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3581:193:451;3684:12;3715:52;3737:6;3745:4;3751:1;3754:12;3715:21;:52::i;:::-;3708:59;;3581:193;;;;;;:::o;4608:523::-;4735:12;4792:5;4767:21;:30;;4759:81;;;;-1:-1:-1;;;4759:81:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4858:18;4869:6;4858:10;:18::i;:::-;4850:60;;;;;-1:-1:-1;;;4850:60:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;4981:12;4995:23;5022:6;-1:-1:-1;;;;;5022:11:451;5042:5;5050:4;5022:33;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5022:33:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4980:75;;;;5072:52;5090:7;5099:10;5111:12;5072:17;:52::i;:::-;5065:59;4608:523;-1:-1:-1;;;;;;;4608:523:451:o;726:413::-;1086:20;1124:8;;;726:413::o;7091:725::-;7206:12;7234:7;7230:580;;;-1:-1:-1;7264:10:451;7257:17;;7230:580;7375:17;;:21;7371:429;;7633:10;7627:17;7693:15;7680:10;7676:2;7672:19;7665:44;7582:145;7772:12;7765:20;;-1:-1:-1;;;7765:20:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;", "linkReferences": {}, "immutableReferences": { "2841": [ { "start": 2689, "length": 32 } ], "2843": [ { "start": 2736, "length": 32 } ], "2845": [ { "start": 2989, "length": 32 } ], "49791": [ { "start": 1260, "length": 32 }, { "start": 1743, "length": 32 }, { "start": 2172, "length": 32 } ], "50058": [ { "start": 3984, "length": 32 }, { "start": 4023, "length": 32 }, { "start": 4232, "length": 32 } ], "50060": [ { "start": 4073, "length": 32 } ] } }, "methodIdentifiers": { "CLAIM_REWARDS_SELECTOR()": "40da225d", "LEND_AND_STAKE_SELECTOR()": "131461c0", "LEND_SELECTOR()": "257cb1a3", "REDEEM_SELECTOR()": "f7d882b5", "STAKE_SELECTOR()": "3ffc1591", "TAKE_MULTIPLE_ORDERS_SELECTOR()": "c32990a2", "TAKE_ORDER_SELECTOR()": "863e5ad0", "UNSTAKE_AND_REDEEM_SELECTOR()": "080456c1", "UNSTAKE_SELECTOR()": "b23228cf", "getIntegrationManager()": "e7c45690", "lend(address,bytes,bytes)": "099f7515", "parseAssetsForAction(address,bytes4,bytes)": "c54efee5", "redeem(address,bytes,bytes)": "c29fa9dd" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_integrationManager\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_addressListRegistry\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_aTokenListId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_pool\",\"type\":\"address\"},{\"internalType\":\"uint16\",\"name\":\"_referralCode\",\"type\":\"uint16\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"CLAIM_REWARDS_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LEND_AND_STAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LEND_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"REDEEM_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"STAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TAKE_MULTIPLE_ORDERS_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TAKE_ORDER_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UNSTAKE_AND_REDEEM_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UNSTAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getIntegrationManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"integrationManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"_assetData\",\"type\":\"bytes\"}],\"name\":\"lend\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"_selector\",\"type\":\"bytes4\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"}],\"name\":\"parseAssetsForAction\",\"outputs\":[{\"internalType\":\"enum IIntegrationManager.SpendAssetsHandleType\",\"name\":\"spendAssetsHandleType_\",\"type\":\"uint8\"},{\"internalType\":\"address[]\",\"name\":\"spendAssets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"spendAssetAmounts_\",\"type\":\"uint256[]\"},{\"internalType\":\"address[]\",\"name\":\"incomingAssets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"minIncomingAssetAmounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"_assetData\",\"type\":\"bytes\"}],\"name\":\"redeem\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"getIntegrationManager()\":{\"returns\":{\"integrationManager_\":\"The `INTEGRATION_MANAGER` variable value\"}},\"lend(address,bytes,bytes)\":{\"params\":{\"_assetData\":\"Parsed spend assets and incoming assets data for this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}},\"parseAssetsForAction(address,bytes4,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_selector\":\"The function selector for the callOnIntegration\"},\"returns\":{\"incomingAssets_\":\"The assets to receive in the call\",\"minIncomingAssetAmounts_\":\"The min asset amounts to receive in the call\",\"spendAssetAmounts_\":\"The max asset amounts to spend in the call\",\"spendAssetsHandleType_\":\"A type that dictates how to handle granting the adapter access to spend assets (`None` by default)\",\"spendAssets_\":\"The assets to spend in the call\"}},\"redeem(address,bytes,bytes)\":{\"params\":{\"_assetData\":\"Parsed spend assets and incoming assets data for this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}}},\"title\":\"AaveV3Adapter Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getIntegrationManager()\":{\"notice\":\"Gets the `INTEGRATION_MANAGER` variable\"},\"lend(address,bytes,bytes)\":{\"notice\":\"Lends an amount of a token to AAVE\"},\"parseAssetsForAction(address,bytes4,bytes)\":{\"notice\":\"Parses the expected assets in a particular action\"},\"redeem(address,bytes,bytes)\":{\"notice\":\"Redeems an amount of aTokens from AAVE\"}},\"notice\":\"Adapter for Aave v3 lending\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/integration-manager/integrations/adapters/AaveV3Adapter.sol\":\"AaveV3Adapter\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/address-list-registry/AddressListRegistry.sol\":{\"keccak256\":\"0xf00a9e376e3ec2a223f463f71c15ee3af3642dd028bc3762440e316b760c8048\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://01986c9327b5dfbfac21316dced6d68727931ddde1278ed1342d878004f984b9\",\"dweb:/ipfs/QmdXkFaUU43JqMTYEREbWa129rohdqN7GXy7mVRpjCfSLD\"]},\"contracts/persistent/address-list-registry/address-list-owners/utils/AddOnlyAddressListOwnerBase.sol\":{\"keccak256\":\"0xd3b355f8146b7df79e4537b021379a237d6620c0bdec25e9d96f2b741864909a\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://fcddc5b1dcbe7588943492a5d62ede92f23c46db0bf523267fda0ba9e8acafb5\",\"dweb:/ipfs/QmRssFbEBCRwELD7pvnU7GWoZzxfZocys4sFW33VL71jpt\"]},\"contracts/persistent/address-list-registry/address-list-owners/utils/AddOnlyAddressListOwnerConsumerMixin.sol\":{\"keccak256\":\"0x7eb3ee3ecc65e36bc8b6201e99d42d37bb932e85a5b24afb141a23a469cf8b6e\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://42bb22f3d4b3f2fed39b313cbb81c929d204f07f5ae49f7dc464b44d861d51e5\",\"dweb:/ipfs/QmaMgdLB4zGdZvR5ohexnKoAHdjX7xoM5h8J2ExffyFZG6\"]},\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/release/extensions/integration-manager/IIntegrationManager.sol\":{\"keccak256\":\"0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23\",\"dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk\"]},\"contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol\":{\"keccak256\":\"0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336\",\"dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS\"]},\"contracts/release/extensions/integration-manager/integrations/adapters/AaveV3Adapter.sol\":{\"keccak256\":\"0x651c57a36f87af4652cb40e57e737fa78e356adf0f031a5aff9de55af224fca2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://478f2da4d5adab9cf0b016159614ef92b19a0c5adb5e1ad01ab44eff11dca013\",\"dweb:/ipfs/QmZDt7hDa7zm5Nt8ukC8MqtRocVc3gzZskyG96opNyDiet\"]},\"contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol\":{\"keccak256\":\"0x067e49bf0d3c1655ab41a413c65ccf61d4e593308132e1ffc484a0fadfbbaf26\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://387f425017e18e89cc1893521101fa99df595314847d0b3d9a1162369f714fcf\",\"dweb:/ipfs/Qmco3jCvuWAyfCpBYpGzHrQjiFJG63w1RJKcakoTEbxRQm\"]},\"contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol\":{\"keccak256\":\"0xfd34c7ca8231c6935e25dede32ca2b3121738e624d0fc896f7b895a731edcf88\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d492c061963d36d07718446db191d4c5a340c0d847f6cd209f027bd99f7cb176\",\"dweb:/ipfs/QmfCvRZt56ftDdrEh6LepHXFJ4fVtcfpQGvEyY8k4zxG1A\"]},\"contracts/release/extensions/integration-manager/integrations/utils/actions/AaveV3ActionsMixin.sol\":{\"keccak256\":\"0x7ed3dc0540a027b634c334f36f615d274df02e0a91bb4a255a6dd797cacea801\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://687625e5eceee607c023899f61625186731b74cf563ba18e91055ebafdc03ea9\",\"dweb:/ipfs/QmWAvvBzFKpAqRbxUbhpFCDCn8qXG31qq3r9msRZ54yKRL\"]},\"contracts/release/extensions/integration-manager/integrations/utils/bases/AaveAdapterBase.sol\":{\"keccak256\":\"0x5a18966a7532149914962a46b8921bbfdf5a6c49f05372315b4423880565f3f3\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://556d798372ff8e0885b01650e2015764a5b01788a3e85c9e3181c85599480b25\",\"dweb:/ipfs/QmQGnKHfdfaG8iaPiYr859SfAeXiUprqx61AiWMaCEJTgE\"]},\"contracts/release/interfaces/IAaveAToken.sol\":{\"keccak256\":\"0x2fe53734b46e1238b7d46889774c5813fa9e132350f45028b5584dfcc254c97b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://7b4b689deca405c2f9f85132d8b1b8650499d3d521b8b302299e25aa5172d81d\",\"dweb:/ipfs/QmUTZHqVT1exEd5RUyjPS6wwkJmZBW9Dgkkb7emiFCSUMW\"]},\"contracts/release/interfaces/IAaveV3Pool.sol\":{\"keccak256\":\"0x530751e3515c5d8c9afd4eb09b509d8f351b25ae0b73b41ea1da79ba6d6e3816\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f388a7639bfedd9c2e403bc0c20ea5b06a9ed72c9451af226d4b8b5fbfd4f639\",\"dweb:/ipfs/QmTdK9XprwhsWXqZZpAFGxGNcbSf8SfoaNYRXQ1V4ujskn\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_integrationManager", "type": "address" }, { "internalType": "address", "name": "_addressListRegistry", "type": "address" }, { "internalType": "uint256", "name": "_aTokenListId", "type": "uint256" }, { "internalType": "address", "name": "_pool", "type": "address" }, { "internalType": "uint16", "name": "_referralCode", "type": "uint16" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "CLAIM_REWARDS_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "LEND_AND_STAKE_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "LEND_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "REDEEM_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "STAKE_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "TAKE_MULTIPLE_ORDERS_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "TAKE_ORDER_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "UNSTAKE_AND_REDEEM_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "UNSTAKE_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getIntegrationManager", "outputs": [ { "internalType": "address", "name": "integrationManager_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "bytes", "name": "", "type": "bytes" }, { "internalType": "bytes", "name": "_assetData", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "lend" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "bytes4", "name": "_selector", "type": "bytes4" }, { "internalType": "bytes", "name": "_actionData", "type": "bytes" } ], "stateMutability": "view", "type": "function", "name": "parseAssetsForAction", "outputs": [ { "internalType": "enum IIntegrationManager.SpendAssetsHandleType", "name": "spendAssetsHandleType_", "type": "uint8" }, { "internalType": "address[]", "name": "spendAssets_", "type": "address[]" }, { "internalType": "uint256[]", "name": "spendAssetAmounts_", "type": "uint256[]" }, { "internalType": "address[]", "name": "incomingAssets_", "type": "address[]" }, { "internalType": "uint256[]", "name": "minIncomingAssetAmounts_", "type": "uint256[]" } ] }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "bytes", "name": "", "type": "bytes" }, { "internalType": "bytes", "name": "_assetData", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "redeem" } ], "devdoc": { "kind": "dev", "methods": { "getIntegrationManager()": { "returns": { "integrationManager_": "The `INTEGRATION_MANAGER` variable value" } }, "lend(address,bytes,bytes)": { "params": { "_assetData": "Parsed spend assets and incoming assets data for this action", "_vaultProxy": "The VaultProxy of the calling fund" } }, "parseAssetsForAction(address,bytes4,bytes)": { "params": { "_actionData": "Data specific to this action", "_selector": "The function selector for the callOnIntegration" }, "returns": { "incomingAssets_": "The assets to receive in the call", "minIncomingAssetAmounts_": "The min asset amounts to receive in the call", "spendAssetAmounts_": "The max asset amounts to spend in the call", "spendAssetsHandleType_": "A type that dictates how to handle granting the adapter access to spend assets (`None` by default)", "spendAssets_": "The assets to spend in the call" } }, "redeem(address,bytes,bytes)": { "params": { "_assetData": "Parsed spend assets and incoming assets data for this action", "_vaultProxy": "The VaultProxy of the calling fund" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "getIntegrationManager()": { "notice": "Gets the `INTEGRATION_MANAGER` variable" }, "lend(address,bytes,bytes)": { "notice": "Lends an amount of a token to AAVE" }, "parseAssetsForAction(address,bytes4,bytes)": { "notice": "Parses the expected assets in a particular action" }, "redeem(address,bytes,bytes)": { "notice": "Redeems an amount of aTokens from AAVE" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/integration-manager/integrations/adapters/AaveV3Adapter.sol": "AaveV3Adapter" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/address-list-registry/AddressListRegistry.sol": { "keccak256": "0xf00a9e376e3ec2a223f463f71c15ee3af3642dd028bc3762440e316b760c8048", "urls": [ "bzz-raw://01986c9327b5dfbfac21316dced6d68727931ddde1278ed1342d878004f984b9", "dweb:/ipfs/QmdXkFaUU43JqMTYEREbWa129rohdqN7GXy7mVRpjCfSLD" ], "license": "GPL-3.0" }, "contracts/persistent/address-list-registry/address-list-owners/utils/AddOnlyAddressListOwnerBase.sol": { "keccak256": "0xd3b355f8146b7df79e4537b021379a237d6620c0bdec25e9d96f2b741864909a", "urls": [ "bzz-raw://fcddc5b1dcbe7588943492a5d62ede92f23c46db0bf523267fda0ba9e8acafb5", "dweb:/ipfs/QmRssFbEBCRwELD7pvnU7GWoZzxfZocys4sFW33VL71jpt" ], "license": "GPL-3.0" }, "contracts/persistent/address-list-registry/address-list-owners/utils/AddOnlyAddressListOwnerConsumerMixin.sol": { "keccak256": "0x7eb3ee3ecc65e36bc8b6201e99d42d37bb932e85a5b24afb141a23a469cf8b6e", "urls": [ "bzz-raw://42bb22f3d4b3f2fed39b313cbb81c929d204f07f5ae49f7dc464b44d861d51e5", "dweb:/ipfs/QmaMgdLB4zGdZvR5ohexnKoAHdjX7xoM5h8J2ExffyFZG6" ], "license": "GPL-3.0" }, "contracts/persistent/dispatcher/IDispatcher.sol": { "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", "urls": [ "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/IIntegrationManager.sol": { "keccak256": "0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef", "urls": [ "bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23", "dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol": { "keccak256": "0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1", "urls": [ "bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336", "dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/adapters/AaveV3Adapter.sol": { "keccak256": "0x651c57a36f87af4652cb40e57e737fa78e356adf0f031a5aff9de55af224fca2", "urls": [ "bzz-raw://478f2da4d5adab9cf0b016159614ef92b19a0c5adb5e1ad01ab44eff11dca013", "dweb:/ipfs/QmZDt7hDa7zm5Nt8ukC8MqtRocVc3gzZskyG96opNyDiet" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol": { "keccak256": "0x067e49bf0d3c1655ab41a413c65ccf61d4e593308132e1ffc484a0fadfbbaf26", "urls": [ "bzz-raw://387f425017e18e89cc1893521101fa99df595314847d0b3d9a1162369f714fcf", "dweb:/ipfs/Qmco3jCvuWAyfCpBYpGzHrQjiFJG63w1RJKcakoTEbxRQm" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol": { "keccak256": "0xfd34c7ca8231c6935e25dede32ca2b3121738e624d0fc896f7b895a731edcf88", "urls": [ "bzz-raw://d492c061963d36d07718446db191d4c5a340c0d847f6cd209f027bd99f7cb176", "dweb:/ipfs/QmfCvRZt56ftDdrEh6LepHXFJ4fVtcfpQGvEyY8k4zxG1A" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/utils/actions/AaveV3ActionsMixin.sol": { "keccak256": "0x7ed3dc0540a027b634c334f36f615d274df02e0a91bb4a255a6dd797cacea801", "urls": [ "bzz-raw://687625e5eceee607c023899f61625186731b74cf563ba18e91055ebafdc03ea9", "dweb:/ipfs/QmWAvvBzFKpAqRbxUbhpFCDCn8qXG31qq3r9msRZ54yKRL" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/utils/bases/AaveAdapterBase.sol": { "keccak256": "0x5a18966a7532149914962a46b8921bbfdf5a6c49f05372315b4423880565f3f3", "urls": [ "bzz-raw://556d798372ff8e0885b01650e2015764a5b01788a3e85c9e3181c85599480b25", "dweb:/ipfs/QmQGnKHfdfaG8iaPiYr859SfAeXiUprqx61AiWMaCEJTgE" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IAaveAToken.sol": { "keccak256": "0x2fe53734b46e1238b7d46889774c5813fa9e132350f45028b5584dfcc254c97b", "urls": [ "bzz-raw://7b4b689deca405c2f9f85132d8b1b8650499d3d521b8b302299e25aa5172d81d", "dweb:/ipfs/QmUTZHqVT1exEd5RUyjPS6wwkJmZBW9Dgkkb7emiFCSUMW" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IAaveV3Pool.sol": { "keccak256": "0x530751e3515c5d8c9afd4eb09b509d8f351b25ae0b73b41ea1da79ba6d6e3816", "urls": [ "bzz-raw://f388a7639bfedd9c2e403bc0c20ea5b06a9ed72c9451af226d4b8b5fbfd4f639", "dweb:/ipfs/QmTdK9XprwhsWXqZZpAFGxGNcbSf8SfoaNYRXQ1V4ujskn" ], "license": "GPL-3.0" }, "contracts/release/utils/AssetHelpers.sol": { "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", "urls": [ "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", "urls": [ "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Address.sol": { "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", "urls": [ "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" } }, "version": 1 }, "id": 161 } diff --git a/eth_defi/abi/enzyme/AdapterBase.json b/eth_defi/abi/enzyme/AdapterBase.json index 469917cf..f8dc15d6 100644 --- a/eth_defi/abi/enzyme/AdapterBase.json +++ b/eth_defi/abi/enzyme/AdapterBase.json @@ -1,562 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_integrationManager", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "name": "CLAIM_REWARDS_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "LEND_AND_STAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "LEND_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "REDEEM_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "STAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "TAKE_MULTIPLE_ORDERS_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "TAKE_ORDER_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "UNSTAKE_AND_REDEEM_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "UNSTAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getIntegrationManager", - "outputs": [ - { - "internalType": "address", - "name": "integrationManager_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes4", - "name": "_selector", - "type": "bytes4" - }, - { - "internalType": "bytes", - "name": "_encodedCallArgs", - "type": "bytes" - } - ], - "name": "parseAssetsForAction", - "outputs": [ - { - "internalType": "enum IIntegrationManager.SpendAssetsHandleType", - "name": "spendAssetsHandleType_", - "type": "uint8" - }, - { - "internalType": "address[]", - "name": "spendAssets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "spendAssetAmounts_", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "incomingAssets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "minIncomingAssetAmounts_", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "CLAIM_REWARDS_SELECTOR()": "40da225d", - "LEND_AND_STAKE_SELECTOR()": "131461c0", - "LEND_SELECTOR()": "257cb1a3", - "REDEEM_SELECTOR()": "f7d882b5", - "STAKE_SELECTOR()": "3ffc1591", - "TAKE_MULTIPLE_ORDERS_SELECTOR()": "c32990a2", - "TAKE_ORDER_SELECTOR()": "863e5ad0", - "UNSTAKE_AND_REDEEM_SELECTOR()": "080456c1", - "UNSTAKE_SELECTOR()": "b23228cf", - "getIntegrationManager()": "e7c45690", - "parseAssetsForAction(address,bytes4,bytes)": "c54efee5" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_integrationManager\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"CLAIM_REWARDS_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LEND_AND_STAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LEND_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"REDEEM_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"STAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TAKE_MULTIPLE_ORDERS_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TAKE_ORDER_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UNSTAKE_AND_REDEEM_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UNSTAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getIntegrationManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"integrationManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"_selector\",\"type\":\"bytes4\"},{\"internalType\":\"bytes\",\"name\":\"_encodedCallArgs\",\"type\":\"bytes\"}],\"name\":\"parseAssetsForAction\",\"outputs\":[{\"internalType\":\"enum IIntegrationManager.SpendAssetsHandleType\",\"name\":\"spendAssetsHandleType_\",\"type\":\"uint8\"},{\"internalType\":\"address[]\",\"name\":\"spendAssets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"spendAssetAmounts_\",\"type\":\"uint256[]\"},{\"internalType\":\"address[]\",\"name\":\"incomingAssets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"minIncomingAssetAmounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"getIntegrationManager()\":{\"returns\":{\"integrationManager_\":\"The `INTEGRATION_MANAGER` variable value\"}}},\"title\":\"AdapterBase Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getIntegrationManager()\":{\"notice\":\"Gets the `INTEGRATION_MANAGER` variable\"}},\"notice\":\"A base contract for integration adapters\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol\":\"AdapterBase\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/integration-manager/IIntegrationManager.sol\":{\"keccak256\":\"0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23\",\"dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk\"]},\"contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol\":{\"keccak256\":\"0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336\",\"dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS\"]},\"contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol\":{\"keccak256\":\"0x067e49bf0d3c1655ab41a413c65ccf61d4e593308132e1ffc484a0fadfbbaf26\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://387f425017e18e89cc1893521101fa99df595314847d0b3d9a1162369f714fcf\",\"dweb:/ipfs/Qmco3jCvuWAyfCpBYpGzHrQjiFJG63w1RJKcakoTEbxRQm\"]},\"contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol\":{\"keccak256\":\"0xfd34c7ca8231c6935e25dede32ca2b3121738e624d0fc896f7b895a731edcf88\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d492c061963d36d07718446db191d4c5a340c0d847f6cd209f027bd99f7cb176\",\"dweb:/ipfs/QmfCvRZt56ftDdrEh6LepHXFJ4fVtcfpQGvEyY8k4zxG1A\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_integrationManager", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "CLAIM_REWARDS_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "LEND_AND_STAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "LEND_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "REDEEM_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "STAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "TAKE_MULTIPLE_ORDERS_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "TAKE_ORDER_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "UNSTAKE_AND_REDEEM_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "UNSTAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getIntegrationManager", - "outputs": [ - { - "internalType": "address", - "name": "integrationManager_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes4", - "name": "_selector", - "type": "bytes4" - }, - { - "internalType": "bytes", - "name": "_encodedCallArgs", - "type": "bytes" - } - ], - "stateMutability": "view", - "type": "function", - "name": "parseAssetsForAction", - "outputs": [ - { - "internalType": "enum IIntegrationManager.SpendAssetsHandleType", - "name": "spendAssetsHandleType_", - "type": "uint8" - }, - { - "internalType": "address[]", - "name": "spendAssets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "spendAssetAmounts_", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "incomingAssets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "minIncomingAssetAmounts_", - "type": "uint256[]" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "getIntegrationManager()": { - "returns": { - "integrationManager_": "The `INTEGRATION_MANAGER` variable value" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "getIntegrationManager()": { - "notice": "Gets the `INTEGRATION_MANAGER` variable" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol": "AdapterBase" - }, - "libraries": {} - }, - "sources": { - "contracts/release/extensions/integration-manager/IIntegrationManager.sol": { - "keccak256": "0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef", - "urls": [ - "bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23", - "dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol": { - "keccak256": "0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1", - "urls": [ - "bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336", - "dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol": { - "keccak256": "0x067e49bf0d3c1655ab41a413c65ccf61d4e593308132e1ffc484a0fadfbbaf26", - "urls": [ - "bzz-raw://387f425017e18e89cc1893521101fa99df595314847d0b3d9a1162369f714fcf", - "dweb:/ipfs/Qmco3jCvuWAyfCpBYpGzHrQjiFJG63w1RJKcakoTEbxRQm" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol": { - "keccak256": "0xfd34c7ca8231c6935e25dede32ca2b3121738e624d0fc896f7b895a731edcf88", - "urls": [ - "bzz-raw://d492c061963d36d07718446db191d4c5a340c0d847f6cd209f027bd99f7cb176", - "dweb:/ipfs/QmfCvRZt56ftDdrEh6LepHXFJ4fVtcfpQGvEyY8k4zxG1A" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AssetHelpers.sol": { - "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", - "urls": [ - "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", - "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { - "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", - "urls": [ - "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", - "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Address.sol": { - "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", - "urls": [ - "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", - "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 179 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_integrationManager", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "CLAIM_REWARDS_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "LEND_AND_STAKE_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "LEND_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "REDEEM_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "STAKE_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "TAKE_MULTIPLE_ORDERS_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "TAKE_ORDER_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "UNSTAKE_AND_REDEEM_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "UNSTAKE_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "getIntegrationManager", "inputs": [], "outputs": [ { "name": "integrationManager_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "parseAssetsForAction", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_selector", "type": "bytes4", "internalType": "bytes4" }, { "name": "_encodedCallArgs", "type": "bytes", "internalType": "bytes" } ], "outputs": [ { "name": "spendAssetsHandleType_", "type": "uint8", "internalType": "enum IIntegrationManager.SpendAssetsHandleType" }, { "name": "spendAssets_", "type": "address[]", "internalType": "address[]" }, { "name": "spendAssetAmounts_", "type": "uint256[]", "internalType": "uint256[]" }, { "name": "incomingAssets_", "type": "address[]", "internalType": "address[]" }, { "name": "minIncomingAssetAmounts_", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "view" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "CLAIM_REWARDS_SELECTOR()": "40da225d", "LEND_AND_STAKE_SELECTOR()": "131461c0", "LEND_SELECTOR()": "257cb1a3", "REDEEM_SELECTOR()": "f7d882b5", "STAKE_SELECTOR()": "3ffc1591", "TAKE_MULTIPLE_ORDERS_SELECTOR()": "c32990a2", "TAKE_ORDER_SELECTOR()": "863e5ad0", "UNSTAKE_AND_REDEEM_SELECTOR()": "080456c1", "UNSTAKE_SELECTOR()": "b23228cf", "getIntegrationManager()": "e7c45690", "parseAssetsForAction(address,bytes4,bytes)": "c54efee5" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_integrationManager\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"CLAIM_REWARDS_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LEND_AND_STAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LEND_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"REDEEM_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"STAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TAKE_MULTIPLE_ORDERS_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TAKE_ORDER_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UNSTAKE_AND_REDEEM_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UNSTAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getIntegrationManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"integrationManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"_selector\",\"type\":\"bytes4\"},{\"internalType\":\"bytes\",\"name\":\"_encodedCallArgs\",\"type\":\"bytes\"}],\"name\":\"parseAssetsForAction\",\"outputs\":[{\"internalType\":\"enum IIntegrationManager.SpendAssetsHandleType\",\"name\":\"spendAssetsHandleType_\",\"type\":\"uint8\"},{\"internalType\":\"address[]\",\"name\":\"spendAssets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"spendAssetAmounts_\",\"type\":\"uint256[]\"},{\"internalType\":\"address[]\",\"name\":\"incomingAssets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"minIncomingAssetAmounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"getIntegrationManager()\":{\"returns\":{\"integrationManager_\":\"The `INTEGRATION_MANAGER` variable value\"}}},\"title\":\"AdapterBase Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getIntegrationManager()\":{\"notice\":\"Gets the `INTEGRATION_MANAGER` variable\"}},\"notice\":\"A base contract for integration adapters\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol\":\"AdapterBase\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/integration-manager/IIntegrationManager.sol\":{\"keccak256\":\"0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23\",\"dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk\"]},\"contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol\":{\"keccak256\":\"0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336\",\"dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS\"]},\"contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol\":{\"keccak256\":\"0x067e49bf0d3c1655ab41a413c65ccf61d4e593308132e1ffc484a0fadfbbaf26\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://387f425017e18e89cc1893521101fa99df595314847d0b3d9a1162369f714fcf\",\"dweb:/ipfs/Qmco3jCvuWAyfCpBYpGzHrQjiFJG63w1RJKcakoTEbxRQm\"]},\"contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol\":{\"keccak256\":\"0xfd34c7ca8231c6935e25dede32ca2b3121738e624d0fc896f7b895a731edcf88\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d492c061963d36d07718446db191d4c5a340c0d847f6cd209f027bd99f7cb176\",\"dweb:/ipfs/QmfCvRZt56ftDdrEh6LepHXFJ4fVtcfpQGvEyY8k4zxG1A\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_integrationManager", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "CLAIM_REWARDS_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "LEND_AND_STAKE_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "LEND_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "REDEEM_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "STAKE_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "TAKE_MULTIPLE_ORDERS_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "TAKE_ORDER_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "UNSTAKE_AND_REDEEM_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "UNSTAKE_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getIntegrationManager", "outputs": [ { "internalType": "address", "name": "integrationManager_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "bytes4", "name": "_selector", "type": "bytes4" }, { "internalType": "bytes", "name": "_encodedCallArgs", "type": "bytes" } ], "stateMutability": "view", "type": "function", "name": "parseAssetsForAction", "outputs": [ { "internalType": "enum IIntegrationManager.SpendAssetsHandleType", "name": "spendAssetsHandleType_", "type": "uint8" }, { "internalType": "address[]", "name": "spendAssets_", "type": "address[]" }, { "internalType": "uint256[]", "name": "spendAssetAmounts_", "type": "uint256[]" }, { "internalType": "address[]", "name": "incomingAssets_", "type": "address[]" }, { "internalType": "uint256[]", "name": "minIncomingAssetAmounts_", "type": "uint256[]" } ] } ], "devdoc": { "kind": "dev", "methods": { "getIntegrationManager()": { "returns": { "integrationManager_": "The `INTEGRATION_MANAGER` variable value" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "getIntegrationManager()": { "notice": "Gets the `INTEGRATION_MANAGER` variable" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol": "AdapterBase" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/extensions/integration-manager/IIntegrationManager.sol": { "keccak256": "0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef", "urls": [ "bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23", "dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol": { "keccak256": "0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1", "urls": [ "bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336", "dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol": { "keccak256": "0x067e49bf0d3c1655ab41a413c65ccf61d4e593308132e1ffc484a0fadfbbaf26", "urls": [ "bzz-raw://387f425017e18e89cc1893521101fa99df595314847d0b3d9a1162369f714fcf", "dweb:/ipfs/Qmco3jCvuWAyfCpBYpGzHrQjiFJG63w1RJKcakoTEbxRQm" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol": { "keccak256": "0xfd34c7ca8231c6935e25dede32ca2b3121738e624d0fc896f7b895a731edcf88", "urls": [ "bzz-raw://d492c061963d36d07718446db191d4c5a340c0d847f6cd209f027bd99f7cb176", "dweb:/ipfs/QmfCvRZt56ftDdrEh6LepHXFJ4fVtcfpQGvEyY8k4zxG1A" ], "license": "GPL-3.0" }, "contracts/release/utils/AssetHelpers.sol": { "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", "urls": [ "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", "urls": [ "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Address.sol": { "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", "urls": [ "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" } }, "version": 1 }, "id": 179 } diff --git a/eth_defi/abi/enzyme/AddOnlyAddressListOwnerBase.json b/eth_defi/abi/enzyme/AddOnlyAddressListOwnerBase.json index c79f3293..04a441c5 100644 --- a/eth_defi/abi/enzyme/AddOnlyAddressListOwnerBase.json +++ b/eth_defi/abi/enzyme/AddOnlyAddressListOwnerBase.json @@ -1,166 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_addressListRegistry", - "type": "address" - }, - { - "internalType": "string", - "name": "_listDescription", - "type": "string" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_items", - "type": "address[]" - } - ], - "name": "addValidatedItemsToList", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "addValidatedItemsToList(address[])": "a8f0bc41" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_addressListRegistry\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_listDescription\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_items\",\"type\":\"address[]\"}],\"name\":\"addValidatedItemsToList\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"addValidatedItemsToList(address[])\":{\"details\":\"Override if access control needed\",\"params\":{\"_items\":\"Items to add\"}}},\"title\":\"AddOnlyAddressListOwnerBase Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"addValidatedItemsToList(address[])\":{\"notice\":\"Add items to the list after subjecting them to validation\"}},\"notice\":\"Base contract for an owner of an AddressListRegistry list that is add-only\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/address-list-registry/address-list-owners/utils/AddOnlyAddressListOwnerBase.sol\":\"AddOnlyAddressListOwnerBase\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/address-list-registry/AddressListRegistry.sol\":{\"keccak256\":\"0xf00a9e376e3ec2a223f463f71c15ee3af3642dd028bc3762440e316b760c8048\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://01986c9327b5dfbfac21316dced6d68727931ddde1278ed1342d878004f984b9\",\"dweb:/ipfs/QmdXkFaUU43JqMTYEREbWa129rohdqN7GXy7mVRpjCfSLD\"]},\"contracts/persistent/address-list-registry/address-list-owners/utils/AddOnlyAddressListOwnerBase.sol\":{\"keccak256\":\"0xd3b355f8146b7df79e4537b021379a237d6620c0bdec25e9d96f2b741864909a\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://fcddc5b1dcbe7588943492a5d62ede92f23c46db0bf523267fda0ba9e8acafb5\",\"dweb:/ipfs/QmRssFbEBCRwELD7pvnU7GWoZzxfZocys4sFW33VL71jpt\"]},\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_addressListRegistry", - "type": "address" - }, - { - "internalType": "string", - "name": "_listDescription", - "type": "string" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_items", - "type": "address[]" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "addValidatedItemsToList" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "addValidatedItemsToList(address[])": { - "details": "Override if access control needed", - "params": { - "_items": "Items to add" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "addValidatedItemsToList(address[])": { - "notice": "Add items to the list after subjecting them to validation" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/persistent/address-list-registry/address-list-owners/utils/AddOnlyAddressListOwnerBase.sol": "AddOnlyAddressListOwnerBase" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/address-list-registry/AddressListRegistry.sol": { - "keccak256": "0xf00a9e376e3ec2a223f463f71c15ee3af3642dd028bc3762440e316b760c8048", - "urls": [ - "bzz-raw://01986c9327b5dfbfac21316dced6d68727931ddde1278ed1342d878004f984b9", - "dweb:/ipfs/QmdXkFaUU43JqMTYEREbWa129rohdqN7GXy7mVRpjCfSLD" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/address-list-registry/address-list-owners/utils/AddOnlyAddressListOwnerBase.sol": { - "keccak256": "0xd3b355f8146b7df79e4537b021379a237d6620c0bdec25e9d96f2b741864909a", - "urls": [ - "bzz-raw://fcddc5b1dcbe7588943492a5d62ede92f23c46db0bf523267fda0ba9e8acafb5", - "dweb:/ipfs/QmRssFbEBCRwELD7pvnU7GWoZzxfZocys4sFW33VL71jpt" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/dispatcher/IDispatcher.sol": { - "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", - "urls": [ - "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", - "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 14 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_addressListRegistry", "type": "address", "internalType": "address" }, { "name": "_listDescription", "type": "string", "internalType": "string" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "addValidatedItemsToList", "inputs": [ { "name": "_items", "type": "address[]", "internalType": "address[]" } ], "outputs": [], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "addValidatedItemsToList(address[])": "a8f0bc41" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_addressListRegistry\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_listDescription\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_items\",\"type\":\"address[]\"}],\"name\":\"addValidatedItemsToList\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"addValidatedItemsToList(address[])\":{\"details\":\"Override if access control needed\",\"params\":{\"_items\":\"Items to add\"}}},\"title\":\"AddOnlyAddressListOwnerBase Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"addValidatedItemsToList(address[])\":{\"notice\":\"Add items to the list after subjecting them to validation\"}},\"notice\":\"Base contract for an owner of an AddressListRegistry list that is add-only\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/address-list-registry/address-list-owners/utils/AddOnlyAddressListOwnerBase.sol\":\"AddOnlyAddressListOwnerBase\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/address-list-registry/AddressListRegistry.sol\":{\"keccak256\":\"0xf00a9e376e3ec2a223f463f71c15ee3af3642dd028bc3762440e316b760c8048\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://01986c9327b5dfbfac21316dced6d68727931ddde1278ed1342d878004f984b9\",\"dweb:/ipfs/QmdXkFaUU43JqMTYEREbWa129rohdqN7GXy7mVRpjCfSLD\"]},\"contracts/persistent/address-list-registry/address-list-owners/utils/AddOnlyAddressListOwnerBase.sol\":{\"keccak256\":\"0xd3b355f8146b7df79e4537b021379a237d6620c0bdec25e9d96f2b741864909a\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://fcddc5b1dcbe7588943492a5d62ede92f23c46db0bf523267fda0ba9e8acafb5\",\"dweb:/ipfs/QmRssFbEBCRwELD7pvnU7GWoZzxfZocys4sFW33VL71jpt\"]},\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_addressListRegistry", "type": "address" }, { "internalType": "string", "name": "_listDescription", "type": "string" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address[]", "name": "_items", "type": "address[]" } ], "stateMutability": "nonpayable", "type": "function", "name": "addValidatedItemsToList" } ], "devdoc": { "kind": "dev", "methods": { "addValidatedItemsToList(address[])": { "details": "Override if access control needed", "params": { "_items": "Items to add" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "addValidatedItemsToList(address[])": { "notice": "Add items to the list after subjecting them to validation" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/persistent/address-list-registry/address-list-owners/utils/AddOnlyAddressListOwnerBase.sol": "AddOnlyAddressListOwnerBase" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/address-list-registry/AddressListRegistry.sol": { "keccak256": "0xf00a9e376e3ec2a223f463f71c15ee3af3642dd028bc3762440e316b760c8048", "urls": [ "bzz-raw://01986c9327b5dfbfac21316dced6d68727931ddde1278ed1342d878004f984b9", "dweb:/ipfs/QmdXkFaUU43JqMTYEREbWa129rohdqN7GXy7mVRpjCfSLD" ], "license": "GPL-3.0" }, "contracts/persistent/address-list-registry/address-list-owners/utils/AddOnlyAddressListOwnerBase.sol": { "keccak256": "0xd3b355f8146b7df79e4537b021379a237d6620c0bdec25e9d96f2b741864909a", "urls": [ "bzz-raw://fcddc5b1dcbe7588943492a5d62ede92f23c46db0bf523267fda0ba9e8acafb5", "dweb:/ipfs/QmRssFbEBCRwELD7pvnU7GWoZzxfZocys4sFW33VL71jpt" ], "license": "GPL-3.0" }, "contracts/persistent/dispatcher/IDispatcher.sol": { "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", "urls": [ "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 14 } diff --git a/eth_defi/abi/enzyme/AddOnlyAddressListOwnerConsumerMixin.json b/eth_defi/abi/enzyme/AddOnlyAddressListOwnerConsumerMixin.json index 04b72811..8123ee9f 100644 --- a/eth_defi/abi/enzyme/AddOnlyAddressListOwnerConsumerMixin.json +++ b/eth_defi/abi/enzyme/AddOnlyAddressListOwnerConsumerMixin.json @@ -1,136 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_addressListRegistry", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_listId", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": {}, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_addressListRegistry\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_listId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"AddOnlyAddressListOwnerConsumerMixin Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Mixin contract for interacting with a contract that inherits `AddOnlyAddressListOwnerBase`\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/address-list-registry/address-list-owners/utils/AddOnlyAddressListOwnerConsumerMixin.sol\":\"AddOnlyAddressListOwnerConsumerMixin\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/address-list-registry/AddressListRegistry.sol\":{\"keccak256\":\"0xf00a9e376e3ec2a223f463f71c15ee3af3642dd028bc3762440e316b760c8048\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://01986c9327b5dfbfac21316dced6d68727931ddde1278ed1342d878004f984b9\",\"dweb:/ipfs/QmdXkFaUU43JqMTYEREbWa129rohdqN7GXy7mVRpjCfSLD\"]},\"contracts/persistent/address-list-registry/address-list-owners/utils/AddOnlyAddressListOwnerBase.sol\":{\"keccak256\":\"0xd3b355f8146b7df79e4537b021379a237d6620c0bdec25e9d96f2b741864909a\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://fcddc5b1dcbe7588943492a5d62ede92f23c46db0bf523267fda0ba9e8acafb5\",\"dweb:/ipfs/QmRssFbEBCRwELD7pvnU7GWoZzxfZocys4sFW33VL71jpt\"]},\"contracts/persistent/address-list-registry/address-list-owners/utils/AddOnlyAddressListOwnerConsumerMixin.sol\":{\"keccak256\":\"0x7eb3ee3ecc65e36bc8b6201e99d42d37bb932e85a5b24afb141a23a469cf8b6e\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://42bb22f3d4b3f2fed39b313cbb81c929d204f07f5ae49f7dc464b44d861d51e5\",\"dweb:/ipfs/QmaMgdLB4zGdZvR5ohexnKoAHdjX7xoM5h8J2ExffyFZG6\"]},\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_addressListRegistry", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_listId", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/persistent/address-list-registry/address-list-owners/utils/AddOnlyAddressListOwnerConsumerMixin.sol": "AddOnlyAddressListOwnerConsumerMixin" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/address-list-registry/AddressListRegistry.sol": { - "keccak256": "0xf00a9e376e3ec2a223f463f71c15ee3af3642dd028bc3762440e316b760c8048", - "urls": [ - "bzz-raw://01986c9327b5dfbfac21316dced6d68727931ddde1278ed1342d878004f984b9", - "dweb:/ipfs/QmdXkFaUU43JqMTYEREbWa129rohdqN7GXy7mVRpjCfSLD" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/address-list-registry/address-list-owners/utils/AddOnlyAddressListOwnerBase.sol": { - "keccak256": "0xd3b355f8146b7df79e4537b021379a237d6620c0bdec25e9d96f2b741864909a", - "urls": [ - "bzz-raw://fcddc5b1dcbe7588943492a5d62ede92f23c46db0bf523267fda0ba9e8acafb5", - "dweb:/ipfs/QmRssFbEBCRwELD7pvnU7GWoZzxfZocys4sFW33VL71jpt" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/address-list-registry/address-list-owners/utils/AddOnlyAddressListOwnerConsumerMixin.sol": { - "keccak256": "0x7eb3ee3ecc65e36bc8b6201e99d42d37bb932e85a5b24afb141a23a469cf8b6e", - "urls": [ - "bzz-raw://42bb22f3d4b3f2fed39b313cbb81c929d204f07f5ae49f7dc464b44d861d51e5", - "dweb:/ipfs/QmaMgdLB4zGdZvR5ohexnKoAHdjX7xoM5h8J2ExffyFZG6" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/dispatcher/IDispatcher.sol": { - "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", - "urls": [ - "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", - "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 15 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_addressListRegistry", "type": "address", "internalType": "address" }, { "name": "_listId", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": {}, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_addressListRegistry\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_listId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"AddOnlyAddressListOwnerConsumerMixin Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Mixin contract for interacting with a contract that inherits `AddOnlyAddressListOwnerBase`\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/address-list-registry/address-list-owners/utils/AddOnlyAddressListOwnerConsumerMixin.sol\":\"AddOnlyAddressListOwnerConsumerMixin\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/address-list-registry/AddressListRegistry.sol\":{\"keccak256\":\"0xf00a9e376e3ec2a223f463f71c15ee3af3642dd028bc3762440e316b760c8048\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://01986c9327b5dfbfac21316dced6d68727931ddde1278ed1342d878004f984b9\",\"dweb:/ipfs/QmdXkFaUU43JqMTYEREbWa129rohdqN7GXy7mVRpjCfSLD\"]},\"contracts/persistent/address-list-registry/address-list-owners/utils/AddOnlyAddressListOwnerBase.sol\":{\"keccak256\":\"0xd3b355f8146b7df79e4537b021379a237d6620c0bdec25e9d96f2b741864909a\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://fcddc5b1dcbe7588943492a5d62ede92f23c46db0bf523267fda0ba9e8acafb5\",\"dweb:/ipfs/QmRssFbEBCRwELD7pvnU7GWoZzxfZocys4sFW33VL71jpt\"]},\"contracts/persistent/address-list-registry/address-list-owners/utils/AddOnlyAddressListOwnerConsumerMixin.sol\":{\"keccak256\":\"0x7eb3ee3ecc65e36bc8b6201e99d42d37bb932e85a5b24afb141a23a469cf8b6e\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://42bb22f3d4b3f2fed39b313cbb81c929d204f07f5ae49f7dc464b44d861d51e5\",\"dweb:/ipfs/QmaMgdLB4zGdZvR5ohexnKoAHdjX7xoM5h8J2ExffyFZG6\"]},\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_addressListRegistry", "type": "address" }, { "internalType": "uint256", "name": "_listId", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "constructor" } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/persistent/address-list-registry/address-list-owners/utils/AddOnlyAddressListOwnerConsumerMixin.sol": "AddOnlyAddressListOwnerConsumerMixin" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/address-list-registry/AddressListRegistry.sol": { "keccak256": "0xf00a9e376e3ec2a223f463f71c15ee3af3642dd028bc3762440e316b760c8048", "urls": [ "bzz-raw://01986c9327b5dfbfac21316dced6d68727931ddde1278ed1342d878004f984b9", "dweb:/ipfs/QmdXkFaUU43JqMTYEREbWa129rohdqN7GXy7mVRpjCfSLD" ], "license": "GPL-3.0" }, "contracts/persistent/address-list-registry/address-list-owners/utils/AddOnlyAddressListOwnerBase.sol": { "keccak256": "0xd3b355f8146b7df79e4537b021379a237d6620c0bdec25e9d96f2b741864909a", "urls": [ "bzz-raw://fcddc5b1dcbe7588943492a5d62ede92f23c46db0bf523267fda0ba9e8acafb5", "dweb:/ipfs/QmRssFbEBCRwELD7pvnU7GWoZzxfZocys4sFW33VL71jpt" ], "license": "GPL-3.0" }, "contracts/persistent/address-list-registry/address-list-owners/utils/AddOnlyAddressListOwnerConsumerMixin.sol": { "keccak256": "0x7eb3ee3ecc65e36bc8b6201e99d42d37bb932e85a5b24afb141a23a469cf8b6e", "urls": [ "bzz-raw://42bb22f3d4b3f2fed39b313cbb81c929d204f07f5ae49f7dc464b44d861d51e5", "dweb:/ipfs/QmaMgdLB4zGdZvR5ohexnKoAHdjX7xoM5h8J2ExffyFZG6" ], "license": "GPL-3.0" }, "contracts/persistent/dispatcher/IDispatcher.sol": { "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", "urls": [ "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 15 } diff --git a/eth_defi/abi/enzyme/Address.json b/eth_defi/abi/enzyme/Address.json index 71320436..05846d45 100644 --- a/eth_defi/abi/enzyme/Address.json +++ b/eth_defi/abi/enzyme/Address.json @@ -1,78 +1 @@ -{ - "abi": [], - "bytecode": { - "object": "0x602d6023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c6343000706000a", - "sourceMap": "126:7684:19:-:0;;;;;;;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c6343000706000a", - "sourceMap": "126:7684:19:-:0;;;;;;;;", - "linkReferences": {} - }, - "methodIdentifiers": {}, - "rawMetadata": "{\"compiler\":{\"version\":\"0.7.6+commit.7338295f\"},\"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\":{\"node_modules/@openzeppelin-solc-0.7/contracts/utils/Address.sol\":\"Address\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"node_modules/@openzeppelin-solc-0.7/contracts/utils/Address.sol\":{\"keccak256\":\"0xf89f005a3d98f7768cdee2583707db0ac725cf567d455751af32ee68132f3db3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f963d438177764b5f43f637c02311c951c0f0025d12fe1ac7e62e295bf416c41\",\"dweb:/ipfs/QmcfVb9JsWrYeTwFUJsKVHpKB7EaWBKydAH9S4sKg2pzcK\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.7.6+commit.7338295f" - }, - "language": "Solidity", - "output": { - "abi": [], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "node_modules/@openzeppelin-solc-0.7/contracts/utils/Address.sol": "Address" - }, - "libraries": {} - }, - "sources": { - "node_modules/@openzeppelin-solc-0.7/contracts/utils/Address.sol": { - "keccak256": "0xf89f005a3d98f7768cdee2583707db0ac725cf567d455751af32ee68132f3db3", - "urls": [ - "bzz-raw://f963d438177764b5f43f637c02311c951c0f0025d12fe1ac7e62e295bf416c41", - "dweb:/ipfs/QmcfVb9JsWrYeTwFUJsKVHpKB7EaWBKydAH9S4sKg2pzcK" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 19 -} +{ "abi": [], "bytecode": { "object": "0x602d6023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c6343000706000a", "sourceMap": "126:7684:19:-:0;;;;;;;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c6343000706000a", "sourceMap": "126:7684:19:-:0;;;;;;;;", "linkReferences": {} }, "methodIdentifiers": {}, "rawMetadata": "{\"compiler\":{\"version\":\"0.7.6+commit.7338295f\"},\"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\":{\"node_modules/@openzeppelin-solc-0.7/contracts/utils/Address.sol\":\"Address\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"node_modules/@openzeppelin-solc-0.7/contracts/utils/Address.sol\":{\"keccak256\":\"0xf89f005a3d98f7768cdee2583707db0ac725cf567d455751af32ee68132f3db3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f963d438177764b5f43f637c02311c951c0f0025d12fe1ac7e62e295bf416c41\",\"dweb:/ipfs/QmcfVb9JsWrYeTwFUJsKVHpKB7EaWBKydAH9S4sKg2pzcK\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.7.6+commit.7338295f" }, "language": "Solidity", "output": { "abi": [], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "node_modules/@openzeppelin-solc-0.7/contracts/utils/Address.sol": "Address" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "node_modules/@openzeppelin-solc-0.7/contracts/utils/Address.sol": { "keccak256": "0xf89f005a3d98f7768cdee2583707db0ac725cf567d455751af32ee68132f3db3", "urls": [ "bzz-raw://f963d438177764b5f43f637c02311c951c0f0025d12fe1ac7e62e295bf416c41", "dweb:/ipfs/QmcfVb9JsWrYeTwFUJsKVHpKB7EaWBKydAH9S4sKg2pzcK" ], "license": "MIT" } }, "version": 1 }, "id": 19 } diff --git a/eth_defi/abi/enzyme/AddressArrayLib.json b/eth_defi/abi/enzyme/AddressArrayLib.json index 754ab0b4..86738a04 100644 --- a/eth_defi/abi/enzyme/AddressArrayLib.json +++ b/eth_defi/abi/enzyme/AddressArrayLib.json @@ -1,78 +1 @@ -{ - "abi": [], - "bytecode": { - "object": "0x602d6023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c634300060c000a", - "sourceMap": "425:5247:354:-:0;;;;;;;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c634300060c000a", - "sourceMap": "425:5247:354:-:0;;;;;;;;", - "linkReferences": {} - }, - "methodIdentifiers": {}, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"AddressArray Library\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"A library to extend the address array data type\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/utils/AddressArrayLib.sol\":\"AddressArrayLib\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/utils/AddressArrayLib.sol": "AddressArrayLib" - }, - "libraries": {} - }, - "sources": { - "contracts/release/utils/AddressArrayLib.sol": { - "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", - "urls": [ - "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", - "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 354 -} +{ "abi": [], "bytecode": { "object": "0x602d6023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c634300060c000a", "sourceMap": "425:5247:354:-:0;;;;;;;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c634300060c000a", "sourceMap": "425:5247:354:-:0;;;;;;;;", "linkReferences": {} }, "methodIdentifiers": {}, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"AddressArray Library\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"A library to extend the address array data type\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/utils/AddressArrayLib.sol\":\"AddressArrayLib\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/utils/AddressArrayLib.sol": "AddressArrayLib" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/utils/AddressArrayLib.sol": { "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", "urls": [ "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 354 } diff --git a/eth_defi/abi/enzyme/AddressListRegistry.json b/eth_defi/abi/enzyme/AddressListRegistry.json index 2e98f88b..71736c72 100644 --- a/eth_defi/abi/enzyme/AddressListRegistry.json +++ b/eth_defi/abi/enzyme/AddressListRegistry.json @@ -1,1343 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_dispatcher", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "item", - "type": "address" - } - ], - "name": "ItemAddedToList", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "item", - "type": "address" - } - ], - "name": "ItemRemovedFromList", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "string", - "name": "description", - "type": "string" - } - ], - "name": "ListAttested", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "creator", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "enum AddressListRegistry.UpdateType", - "name": "updateType", - "type": "uint8" - } - ], - "name": "ListCreated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "address", - "name": "nextOwner", - "type": "address" - } - ], - "name": "ListOwnerSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "enum AddressListRegistry.UpdateType", - "name": "prevUpdateType", - "type": "uint8" - }, - { - "indexed": true, - "internalType": "enum AddressListRegistry.UpdateType", - "name": "nextUpdateType", - "type": "uint8" - } - ], - "name": "ListUpdateTypeSet", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_id", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "_items", - "type": "address[]" - } - ], - "name": "addToList", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256[]", - "name": "_ids", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "_items", - "type": "address[]" - } - ], - "name": "areAllInAllLists", - "outputs": [ - { - "internalType": "bool", - "name": "areAllInAllLists_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_id", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "_items", - "type": "address[]" - } - ], - "name": "areAllInList", - "outputs": [ - { - "internalType": "bool", - "name": "areAllInList_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256[]", - "name": "_ids", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "_items", - "type": "address[]" - } - ], - "name": "areAllInSomeOfLists", - "outputs": [ - { - "internalType": "bool", - "name": "areAllInSomeOfLists_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256[]", - "name": "_ids", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "_items", - "type": "address[]" - } - ], - "name": "areAllNotInAnyOfLists", - "outputs": [ - { - "internalType": "bool", - "name": "areAllNotInAnyOfLists_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_id", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "_items", - "type": "address[]" - } - ], - "name": "areAllNotInList", - "outputs": [ - { - "internalType": "bool", - "name": "areAllNotInList_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256[]", - "name": "_ids", - "type": "uint256[]" - }, - { - "internalType": "string[]", - "name": "_descriptions", - "type": "string[]" - } - ], - "name": "attestLists", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - }, - { - "internalType": "enum AddressListRegistry.UpdateType", - "name": "_updateType", - "type": "uint8" - }, - { - "internalType": "address[]", - "name": "_initialItems", - "type": "address[]" - } - ], - "name": "createList", - "outputs": [ - { - "internalType": "uint256", - "name": "id_", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getDispatcher", - "outputs": [ - { - "internalType": "address", - "name": "dispatcher_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getListCount", - "outputs": [ - { - "internalType": "uint256", - "name": "count_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_id", - "type": "uint256" - } - ], - "name": "getListOwner", - "outputs": [ - { - "internalType": "address", - "name": "owner_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_id", - "type": "uint256" - } - ], - "name": "getListUpdateType", - "outputs": [ - { - "internalType": "enum AddressListRegistry.UpdateType", - "name": "updateType_", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256[]", - "name": "_ids", - "type": "uint256[]" - }, - { - "internalType": "address", - "name": "_item", - "type": "address" - } - ], - "name": "isInAllLists", - "outputs": [ - { - "internalType": "bool", - "name": "isInAllLists_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_id", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_item", - "type": "address" - } - ], - "name": "isInList", - "outputs": [ - { - "internalType": "bool", - "name": "isInList_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256[]", - "name": "_ids", - "type": "uint256[]" - }, - { - "internalType": "address", - "name": "_item", - "type": "address" - } - ], - "name": "isInSomeOfLists", - "outputs": [ - { - "internalType": "bool", - "name": "isInSomeOfLists_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_id", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "_items", - "type": "address[]" - } - ], - "name": "removeFromList", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_id", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_nextOwner", - "type": "address" - } - ], - "name": "setListOwner", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_id", - "type": "uint256" - }, - { - "internalType": "enum AddressListRegistry.UpdateType", - "name": "_nextUpdateType", - "type": "uint8" - } - ], - "name": "setListUpdateType", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x60a06040523480156200001157600080fd5b50604051620015dd380380620015dd8339810160408190526200003491620000ef565b606081901b6001600160601b031916608052604080518082019091526000808252602082018181528154600181018355918052825160029092027f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630180546001600160a01b039093166001600160a01b031990931692909217808355905190829060ff60a01b1916600160a01b836003811115620000ce57fe5b021790555050505062000144565b8051620000e9816200012a565b92915050565b6000602082840312156200010257600080fd5b6000620001108484620000dc565b949350505050565b60006001600160a01b038216620000e9565b620001358162000118565b81146200014157600080fd5b50565b60805160601c61147b62000162600039806109c0525061147b6000f3fe608060405234801561001057600080fd5b50600436106101165760003560e01c806375674f46116100a2578063afc8dd6111610071578063afc8dd6114610246578063b426f94614610259578063be68406e1461026c578063ebb3d5891461027f578063ee4483dc1461028757610116565b806375674f46146101fa5780638da3d7361461020d578063956e8faa14610220578063abdf62151461023357610116565b806330bdd386116100e957806330bdd3861461018c5780633a6914fe1461019f5780634446fe37146101b257806351d3a322146101c5578063539f2ab4146101da57610116565b8063107df6c51461011b57806319bcc938146101445780631c563204146101645780632ce37b1014610177575b600080fd5b61012e610129366004610f55565b61029a565b60405161013b9190611288565b60405180910390f35b610157610152366004610fb4565b6102e6565b60405161013b919061127a565b61012e610172366004610fd2565b610316565b61017f610358565b60405161013b9190611316565b61012e61019a366004610f55565b61035e565b61012e6101ad366004610f55565b61039e565b61012e6101c0366004611047565b6103d2565b6101d86101d3366004610ff1565b610413565b005b6101ed6101e8366004610fb4565b610599565b60405161013b9190611296565b61012e610208366004610f04565b6105c8565b6101d861021b366004610ff1565b610613565b6101d861022e366004610fd2565b6106cc565b61012e610241366004611047565b61075c565b61012e610254366004610f04565b61078f565b6101d8610267366004610eac565b6107c1565b61017f61027a366004610e44565b610893565b6101576109be565b6101d8610295366004611066565b6109e2565b6000805b82518110156102da576102c4848483815181106102b757fe5b602002602001015161078f565b6102d25760009150506102e0565b60010161029e565b50600190505b92915050565b60008082815481106102f457fe5b60009182526020909120600290910201546001600160a01b031690505b919050565b600080838154811061032457fe5b600091825260208083206001600160a01b03861684526001600290930201919091019052604090205460ff16905092915050565b60005490565b6000805b82518110156102da576103888484838151811061037b57fe5b60200260200101516105c8565b6103965760009150506102e0565b600101610362565b6000805b82518110156102da576103bb8484838151811061037b57fe5b156103ca5760009150506102e0565b6001016103a2565b6000805b82518110156102da576103fc848483815181106103ef57fe5b6020026020010151610316565b1561040b5760009150506102e0565b6001016103d6565b8261041e3382610ade565b6104435760405162461bcd60e51b815260040161043a906112b6565b60405180910390fd5b600061044e85610599565b9050600281600381111561045e57fe5b14806104755750600381600381111561047357fe5b145b6104915760405162461bcd60e51b815260040161043a906112e6565b60005b83811015610591576104c1868686848181106104ac57fe5b90506020020160208101906101729190610e08565b156105895760008087815481106104d457fe5b906000526020600020906002020160010160008787858181106104f357fe5b90506020020160208101906105089190610e08565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055857f810f138e6e0ca6f5ac0bf2efc960187bce2c3b5afbb1e2d05905f2be7b3810b686868481811061055e57fe5b90506020020160208101906105739190610e08565b604051610580919061127a565b60405180910390a25b600101610494565b505050505050565b60008082815481106105a757fe5b6000918252602090912060029091020154600160a01b900460ff1692915050565b6000805b8351811015610609576105f28482815181106105e457fe5b602002602001015184610316565b156106015760019150506102e0565b6001016105cc565b5060009392505050565b8261061e3382610ade565b61063a5760405162461bcd60e51b815260040161043a906112b6565b600061064585610599565b9050600181600381111561065557fe5b148061066c5750600381600381111561066a57fe5b145b6106885760405162461bcd60e51b815260040161043a906112f6565b6106c585858580806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250610bbe92505050565b5050505050565b816106d73382610ade565b6106f35760405162461bcd60e51b815260040161043a906112b6565b816000848154811061070157fe5b6000918252602082206002919091020180546001600160a01b0319166001600160a01b039384161790556040519184169185917f2d1c424d2803af2219fba896bc3092aed0ab3f7b022f412b79562b0fc2c2907d91a3505050565b6000805b82518110156102da57610779848483815181106103ef57fe5b6107875760009150506102e0565b600101610760565b6000805b83518110156102da576107ab8482815181106105e457fe5b6107b95760009150506102e0565b600101610793565b8281146107e05760405162461bcd60e51b815260040161043a906112c6565b60005b838110156106c557610807338686848181106107fb57fe5b90506020020135610ade565b6108235760405162461bcd60e51b815260040161043a906112d6565b84848281811061082f57fe5b905060200201357fddbb257b211697fab7f1ee9f59674cba284dbd7b9f6e1f3da5b645c890bf940084848481811061086357fe5b90506020028101906108759190611346565b6040516108839291906112a4565b60405180910390a26001016107e3565b600061089d610358565b905060006040518060400160405280876001600160a01b031681526020018660038111156108c757fe5b905281546001810183556000928352602092839020825160029092020180546001600160a01b0319166001600160a01b0390921691909117808255928201519192909190829060ff60a01b1916600160a01b83600381111561092557fe5b02179055505050846001600160a01b0316336001600160a01b03167fc2b2d696fda57bcf0347d9ea036ce8258434f4171cd131b4c1d22a6f0ae960d28387604051610971929190611324565b60405180910390a36109b681848480806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250610bbe92505050565b949350505050565b7f000000000000000000000000000000000000000000000000000000000000000090565b816109ed3382610ade565b610a095760405162461bcd60e51b815260040161043a906112b6565b6000610a1484610599565b90506000836003811115610a2457fe5b1480610a3b57506003816003811115610a3957fe5b145b610a575760405162461bcd60e51b815260040161043a90611306565b8260008581548110610a6557fe5b60009182526020909120600290910201805460ff60a01b1916600160a01b836003811115610a8f57fe5b0217905550826003811115610aa057fe5b847f44966c6bc2b3eef1eea6958dc704bb8527d350a282589bb13dd056819bd9d64683604051610ad09190611296565b60405180910390a350505050565b600080610aea836102e6565b9050806001600160a01b0316846001600160a01b031614806109b65750610b0f6109be565b6001600160a01b0316816001600160a01b03161480156109b65750610b326109be565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b158015610b6a57600080fd5b505afa158015610b7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ba29190610e26565b6001600160a01b0316846001600160a01b031614949350505050565b60005b8151811015610c9f57610bda838383815181106103ef57fe5b610c9757600160008481548110610bed57fe5b90600052602060002090600202016001016000848481518110610c0c57fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff021916908315150217905550827fb8848f994c7d66cdc76defd3606ffefb56ad840b408bf51230110196d5f4d8c4838381518110610c7957fe5b6020026020010151604051610c8e919061127a565b60405180910390a25b600101610bc1565b505050565b80356102e081611444565b80516102e081611444565b60008083601f840112610ccc57600080fd5b50813567ffffffffffffffff811115610ce457600080fd5b602083019150836020820283011115610cfc57600080fd5b9250929050565b600082601f830112610d1457600080fd5b8135610d27610d22826113c3565b61139c565b91508181835260208401935060208101905083856020840282011115610d4c57600080fd5b60005b83811015610d785781610d628882610ca4565b8452506020928301929190910190600101610d4f565b5050505092915050565b600082601f830112610d9357600080fd5b8135610da1610d22826113c3565b91508181835260208401935060208101905083856020840282011115610dc657600080fd5b60005b83811015610d785781610ddc8882610dfd565b8452506020928301929190910190600101610dc9565b80356102e081611458565b80356102e081611465565b600060208284031215610e1a57600080fd5b60006109b68484610ca4565b600060208284031215610e3857600080fd5b60006109b68484610caf565b60008060008060608587031215610e5a57600080fd5b6000610e668787610ca4565b9450506020610e7787828801610df2565b935050604085013567ffffffffffffffff811115610e9457600080fd5b610ea087828801610cba565b95989497509550505050565b60008060008060408587031215610ec257600080fd5b843567ffffffffffffffff811115610ed957600080fd5b610ee587828801610cba565b9450945050602085013567ffffffffffffffff811115610e9457600080fd5b60008060408385031215610f1757600080fd5b823567ffffffffffffffff811115610f2e57600080fd5b610f3a85828601610d82565b9250506020610f4b85828601610ca4565b9150509250929050565b60008060408385031215610f6857600080fd5b823567ffffffffffffffff811115610f7f57600080fd5b610f8b85828601610d82565b925050602083013567ffffffffffffffff811115610fa857600080fd5b610f4b85828601610d03565b600060208284031215610fc657600080fd5b60006109b68484610dfd565b60008060408385031215610fe557600080fd5b6000610f3a8585610dfd565b60008060006040848603121561100657600080fd5b60006110128686610dfd565b935050602084013567ffffffffffffffff81111561102f57600080fd5b61103b86828701610cba565b92509250509250925092565b6000806040838503121561105a57600080fd5b6000610f8b8585610dfd565b6000806040838503121561107957600080fd5b60006110858585610dfd565b9250506020610f4b85828601610df2565b61109f816113ed565b82525050565b61109f816113f8565b61109f81611416565b60006110c383856113e4565b93506110d0838584611421565b6110d98361142d565b9093019392505050565b60006110f0601b836113e4565b7f4f6e6c792063616c6c61626c65206279206c697374206f776e65720000000000815260200192915050565b6000611129601b836113e4565b7f6174746573744c697374733a20556e657175616c206172726179730000000000815260200192915050565b60006111626028836113e4565b7f6174746573744c697374733a204f6e6c792063616c6c61626c65206279206c6981526739ba1037bbb732b960c11b602082015260400192915050565b60006111ac6027836113e4565b7f72656d6f766546726f6d4c6973743a2043616e6e6f742072656d6f76652066728152661bdb481b1a5cdd60ca1b602082015260400192915050565b60006111f5601d836113e4565b7f616464546f4c6973743a2043616e6e6f742061646420746f206c697374000000815260200192915050565b600061122e602e836113e4565b7f7365744c697374557064617465547970653a205f6e657874557064617465547981526d1c19481b9bdd08185b1b1bddd95960921b602082015260400192915050565b61109f81611413565b602081016102e08284611096565b602081016102e082846110a5565b602081016102e082846110ae565b602080825281016109b68184866110b7565b602080825281016102e0816110e3565b602080825281016102e08161111c565b602080825281016102e081611155565b602080825281016102e08161119f565b602080825281016102e0816111e8565b602080825281016102e081611221565b602081016102e08284611271565b604081016113328285611271565b61133f60208301846110ae565b9392505050565b6000808335601e193685900301811261135e57600080fd5b80840192508235915067ffffffffffffffff82111561137c57600080fd5b60208301925060018202360383131561139457600080fd5b509250929050565b60405181810167ffffffffffffffff811182821017156113bb57600080fd5b604052919050565b600067ffffffffffffffff8211156113da57600080fd5b5060209081020190565b90815260200190565b60006102e082611407565b151590565b8061031181611437565b6001600160a01b031690565b90565b60006102e0826113fd565b82818337506000910152565b601f01601f191690565b6004811061144157fe5b50565b61144d816113ed565b811461144157600080fd5b6004811061144157600080fd5b61144d8161141356fea164736f6c634300060c000a", - "sourceMap": "516:11547:10:-:0;;;1550:258;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1600:24;;;;-1:-1:-1;;;;;;1600:24:10;;;1742:58;;;;;;;;;-1:-1:-1;1742:58:10;;;;;;;;;1731:70;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1731:70:10;;;-1:-1:-1;;;;;;1731:70:10;;;;;;;;;;;;;;;-1:-1:-1;;;;1731:70:10;-1:-1:-1;;;1731:70:10;;;;;;;;;;;;;;;;1550:258;516:11547;;5:134:-1;83:13;;101:33;83:13;101:33;:::i;:::-;68:71;;;;:::o;146:263::-;;261:2;249:9;240:7;236:23;232:32;229:2;;;277:1;274;267:12;229:2;312:1;329:64;385:7;365:9;329:64;:::i;:::-;319:74;223:186;-1:-1;;;;223:186::o;416:91::-;;-1:-1;;;;;576:54;;478:24;559:76::o;642:117::-;711:24;729:5;711:24;:::i;:::-;704:5;701:35;691:2;;750:1;747;740:12;691:2;685:74;:::o;:::-;516:11547:10;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106101165760003560e01c806375674f46116100a2578063afc8dd6111610071578063afc8dd6114610246578063b426f94614610259578063be68406e1461026c578063ebb3d5891461027f578063ee4483dc1461028757610116565b806375674f46146101fa5780638da3d7361461020d578063956e8faa14610220578063abdf62151461023357610116565b806330bdd386116100e957806330bdd3861461018c5780633a6914fe1461019f5780634446fe37146101b257806351d3a322146101c5578063539f2ab4146101da57610116565b8063107df6c51461011b57806319bcc938146101445780631c563204146101645780632ce37b1014610177575b600080fd5b61012e610129366004610f55565b61029a565b60405161013b9190611288565b60405180910390f35b610157610152366004610fb4565b6102e6565b60405161013b919061127a565b61012e610172366004610fd2565b610316565b61017f610358565b60405161013b9190611316565b61012e61019a366004610f55565b61035e565b61012e6101ad366004610f55565b61039e565b61012e6101c0366004611047565b6103d2565b6101d86101d3366004610ff1565b610413565b005b6101ed6101e8366004610fb4565b610599565b60405161013b9190611296565b61012e610208366004610f04565b6105c8565b6101d861021b366004610ff1565b610613565b6101d861022e366004610fd2565b6106cc565b61012e610241366004611047565b61075c565b61012e610254366004610f04565b61078f565b6101d8610267366004610eac565b6107c1565b61017f61027a366004610e44565b610893565b6101576109be565b6101d8610295366004611066565b6109e2565b6000805b82518110156102da576102c4848483815181106102b757fe5b602002602001015161078f565b6102d25760009150506102e0565b60010161029e565b50600190505b92915050565b60008082815481106102f457fe5b60009182526020909120600290910201546001600160a01b031690505b919050565b600080838154811061032457fe5b600091825260208083206001600160a01b03861684526001600290930201919091019052604090205460ff16905092915050565b60005490565b6000805b82518110156102da576103888484838151811061037b57fe5b60200260200101516105c8565b6103965760009150506102e0565b600101610362565b6000805b82518110156102da576103bb8484838151811061037b57fe5b156103ca5760009150506102e0565b6001016103a2565b6000805b82518110156102da576103fc848483815181106103ef57fe5b6020026020010151610316565b1561040b5760009150506102e0565b6001016103d6565b8261041e3382610ade565b6104435760405162461bcd60e51b815260040161043a906112b6565b60405180910390fd5b600061044e85610599565b9050600281600381111561045e57fe5b14806104755750600381600381111561047357fe5b145b6104915760405162461bcd60e51b815260040161043a906112e6565b60005b83811015610591576104c1868686848181106104ac57fe5b90506020020160208101906101729190610e08565b156105895760008087815481106104d457fe5b906000526020600020906002020160010160008787858181106104f357fe5b90506020020160208101906105089190610e08565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055857f810f138e6e0ca6f5ac0bf2efc960187bce2c3b5afbb1e2d05905f2be7b3810b686868481811061055e57fe5b90506020020160208101906105739190610e08565b604051610580919061127a565b60405180910390a25b600101610494565b505050505050565b60008082815481106105a757fe5b6000918252602090912060029091020154600160a01b900460ff1692915050565b6000805b8351811015610609576105f28482815181106105e457fe5b602002602001015184610316565b156106015760019150506102e0565b6001016105cc565b5060009392505050565b8261061e3382610ade565b61063a5760405162461bcd60e51b815260040161043a906112b6565b600061064585610599565b9050600181600381111561065557fe5b148061066c5750600381600381111561066a57fe5b145b6106885760405162461bcd60e51b815260040161043a906112f6565b6106c585858580806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250610bbe92505050565b5050505050565b816106d73382610ade565b6106f35760405162461bcd60e51b815260040161043a906112b6565b816000848154811061070157fe5b6000918252602082206002919091020180546001600160a01b0319166001600160a01b039384161790556040519184169185917f2d1c424d2803af2219fba896bc3092aed0ab3f7b022f412b79562b0fc2c2907d91a3505050565b6000805b82518110156102da57610779848483815181106103ef57fe5b6107875760009150506102e0565b600101610760565b6000805b83518110156102da576107ab8482815181106105e457fe5b6107b95760009150506102e0565b600101610793565b8281146107e05760405162461bcd60e51b815260040161043a906112c6565b60005b838110156106c557610807338686848181106107fb57fe5b90506020020135610ade565b6108235760405162461bcd60e51b815260040161043a906112d6565b84848281811061082f57fe5b905060200201357fddbb257b211697fab7f1ee9f59674cba284dbd7b9f6e1f3da5b645c890bf940084848481811061086357fe5b90506020028101906108759190611346565b6040516108839291906112a4565b60405180910390a26001016107e3565b600061089d610358565b905060006040518060400160405280876001600160a01b031681526020018660038111156108c757fe5b905281546001810183556000928352602092839020825160029092020180546001600160a01b0319166001600160a01b0390921691909117808255928201519192909190829060ff60a01b1916600160a01b83600381111561092557fe5b02179055505050846001600160a01b0316336001600160a01b03167fc2b2d696fda57bcf0347d9ea036ce8258434f4171cd131b4c1d22a6f0ae960d28387604051610971929190611324565b60405180910390a36109b681848480806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250610bbe92505050565b949350505050565b7f000000000000000000000000000000000000000000000000000000000000000090565b816109ed3382610ade565b610a095760405162461bcd60e51b815260040161043a906112b6565b6000610a1484610599565b90506000836003811115610a2457fe5b1480610a3b57506003816003811115610a3957fe5b145b610a575760405162461bcd60e51b815260040161043a90611306565b8260008581548110610a6557fe5b60009182526020909120600290910201805460ff60a01b1916600160a01b836003811115610a8f57fe5b0217905550826003811115610aa057fe5b847f44966c6bc2b3eef1eea6958dc704bb8527d350a282589bb13dd056819bd9d64683604051610ad09190611296565b60405180910390a350505050565b600080610aea836102e6565b9050806001600160a01b0316846001600160a01b031614806109b65750610b0f6109be565b6001600160a01b0316816001600160a01b03161480156109b65750610b326109be565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b158015610b6a57600080fd5b505afa158015610b7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ba29190610e26565b6001600160a01b0316846001600160a01b031614949350505050565b60005b8151811015610c9f57610bda838383815181106103ef57fe5b610c9757600160008481548110610bed57fe5b90600052602060002090600202016001016000848481518110610c0c57fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff021916908315150217905550827fb8848f994c7d66cdc76defd3606ffefb56ad840b408bf51230110196d5f4d8c4838381518110610c7957fe5b6020026020010151604051610c8e919061127a565b60405180910390a25b600101610bc1565b505050565b80356102e081611444565b80516102e081611444565b60008083601f840112610ccc57600080fd5b50813567ffffffffffffffff811115610ce457600080fd5b602083019150836020820283011115610cfc57600080fd5b9250929050565b600082601f830112610d1457600080fd5b8135610d27610d22826113c3565b61139c565b91508181835260208401935060208101905083856020840282011115610d4c57600080fd5b60005b83811015610d785781610d628882610ca4565b8452506020928301929190910190600101610d4f565b5050505092915050565b600082601f830112610d9357600080fd5b8135610da1610d22826113c3565b91508181835260208401935060208101905083856020840282011115610dc657600080fd5b60005b83811015610d785781610ddc8882610dfd565b8452506020928301929190910190600101610dc9565b80356102e081611458565b80356102e081611465565b600060208284031215610e1a57600080fd5b60006109b68484610ca4565b600060208284031215610e3857600080fd5b60006109b68484610caf565b60008060008060608587031215610e5a57600080fd5b6000610e668787610ca4565b9450506020610e7787828801610df2565b935050604085013567ffffffffffffffff811115610e9457600080fd5b610ea087828801610cba565b95989497509550505050565b60008060008060408587031215610ec257600080fd5b843567ffffffffffffffff811115610ed957600080fd5b610ee587828801610cba565b9450945050602085013567ffffffffffffffff811115610e9457600080fd5b60008060408385031215610f1757600080fd5b823567ffffffffffffffff811115610f2e57600080fd5b610f3a85828601610d82565b9250506020610f4b85828601610ca4565b9150509250929050565b60008060408385031215610f6857600080fd5b823567ffffffffffffffff811115610f7f57600080fd5b610f8b85828601610d82565b925050602083013567ffffffffffffffff811115610fa857600080fd5b610f4b85828601610d03565b600060208284031215610fc657600080fd5b60006109b68484610dfd565b60008060408385031215610fe557600080fd5b6000610f3a8585610dfd565b60008060006040848603121561100657600080fd5b60006110128686610dfd565b935050602084013567ffffffffffffffff81111561102f57600080fd5b61103b86828701610cba565b92509250509250925092565b6000806040838503121561105a57600080fd5b6000610f8b8585610dfd565b6000806040838503121561107957600080fd5b60006110858585610dfd565b9250506020610f4b85828601610df2565b61109f816113ed565b82525050565b61109f816113f8565b61109f81611416565b60006110c383856113e4565b93506110d0838584611421565b6110d98361142d565b9093019392505050565b60006110f0601b836113e4565b7f4f6e6c792063616c6c61626c65206279206c697374206f776e65720000000000815260200192915050565b6000611129601b836113e4565b7f6174746573744c697374733a20556e657175616c206172726179730000000000815260200192915050565b60006111626028836113e4565b7f6174746573744c697374733a204f6e6c792063616c6c61626c65206279206c6981526739ba1037bbb732b960c11b602082015260400192915050565b60006111ac6027836113e4565b7f72656d6f766546726f6d4c6973743a2043616e6e6f742072656d6f76652066728152661bdb481b1a5cdd60ca1b602082015260400192915050565b60006111f5601d836113e4565b7f616464546f4c6973743a2043616e6e6f742061646420746f206c697374000000815260200192915050565b600061122e602e836113e4565b7f7365744c697374557064617465547970653a205f6e657874557064617465547981526d1c19481b9bdd08185b1b1bddd95960921b602082015260400192915050565b61109f81611413565b602081016102e08284611096565b602081016102e082846110a5565b602081016102e082846110ae565b602080825281016109b68184866110b7565b602080825281016102e0816110e3565b602080825281016102e08161111c565b602080825281016102e081611155565b602080825281016102e08161119f565b602080825281016102e0816111e8565b602080825281016102e081611221565b602081016102e08284611271565b604081016113328285611271565b61133f60208301846110ae565b9392505050565b6000808335601e193685900301811261135e57600080fd5b80840192508235915067ffffffffffffffff82111561137c57600080fd5b60208301925060018202360383131561139457600080fd5b509250929050565b60405181810167ffffffffffffffff811182821017156113bb57600080fd5b604052919050565b600067ffffffffffffffff8211156113da57600080fd5b5060209081020190565b90815260200190565b60006102e082611407565b151590565b8061031181611437565b6001600160a01b031690565b90565b60006102e0826113fd565b82818337506000910152565b601f01601f191690565b6004811061144157fe5b50565b61144d816113ed565b811461144157600080fd5b6004811061144157600080fd5b61144d8161141356fea164736f6c634300060c000a", - "sourceMap": "516:11547:10:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8149:332;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11361:112;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;11922:139::-;;;;;;:::i;:::-;;:::i;11147:97::-;;;:::i;:::-;;;;;;;:::i;8720:341::-;;;;;;:::i;:::-;;:::i;9313:344::-;;;;;;:::i;:::-;;:::i;7560:314::-;;;;;;:::i;:::-;;:::i;4115:626::-;;;;;;:::i;:::-;;:::i;:::-;;11605:130;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;10459:310::-;;;;;;:::i;:::-;;:::i;1973:344::-;;;;;;:::i;:::-;;:::i;4876:174::-;;;;;;:::i;:::-;;:::i;7033:309::-;;;;;;:::i;:::-;;:::i;9930:305::-;;;;;;:::i;:::-;;:::i;2783:445::-;;;;;;:::i;:::-;;:::i;3574:393::-;;;;;;:::i;:::-;;:::i;10955:101::-;;;:::i;5294:486::-;;;;;;:::i;:::-;;:::i;8149:332::-;8270:22;8313:9;8308:145;8328:6;:13;8324:1;:17;8308:145;;;8367:29;8380:4;8386:6;8393:1;8386:9;;;;;;;;;;;;;;8367:12;:29::i;:::-;8362:81;;8423:5;8416:12;;;;;8362:81;8343:3;;8308:145;;;;8470:4;8463:11;;8149:332;;;;;:::o;11361:112::-;11417:14;11450:5;11456:3;11450:10;;;;;;;;;;;;;;;;;;;;;:16;-1:-1:-1;;;;;11450:16:10;;-1:-1:-1;11361:112:10;;;;:::o;11922:139::-;11989:14;12022:5;12028:3;12022:10;;;;;;;;;;;;;;;;-1:-1:-1;;;;;12022:32:10;;;;:25;:10;;;;;:25;;;;:32;;;;;;;;;-1:-1:-1;11922:139:10;;;;:::o;11147:97::-;11192:14;11225:12;11147:97;:::o;8720:341::-;8844:25;8890:9;8885:148;8905:6;:13;8901:1;:17;8885:148;;;8944:32;8960:4;8966:6;8973:1;8966:9;;;;;;;;;;;;;;8944:15;:32::i;:::-;8939:84;;9003:5;8996:12;;;;;8939:84;8920:3;;8885:148;;9313:344;9439:27;9487:9;9482:147;9502:6;:13;9498:1;:17;9482:147;;;9540:32;9556:4;9562:6;9569:1;9562:9;;;;;;;9540:32;9536:83;;;9599:5;9592:12;;;;;9536:83;9517:3;;9482:147;;7560:314;7670:21;7712:9;7707:139;7727:6;:13;7723:1;:17;7707:139;;;7765:24;7774:3;7779:6;7786:1;7779:9;;;;;;;;;;;;;;7765:8;:24::i;:::-;7761:75;;;7816:5;7809:12;;;;;7761:75;7742:3;;7707:139;;4115:626;4202:3;1464:30;1478:10;1490:3;1464:13;:30::i;:::-;1456:70;;;;-1:-1:-1;;;1456:70:10;;;;;;;:::i;:::-;;;;;;;;;4217:21:::1;4241:22;4259:3;4241:17;:22::i;:::-;4217:46:::0;-1:-1:-1;4308:21:10::1;4294:10;:35;;;;;;;;;:76;;;-1:-1:-1::0;4347:23:10::1;4333:10;:37;;;;;;;;;4294:76;4273:162;;;;-1:-1:-1::0;;;4273:162:10::1;;;;;;;:::i;:::-;4510:9;4505:230;4521:17:::0;;::::1;4505:230;;;4563:24;4572:3;4577:6;;4584:1;4577:9;;;;;;;;;;;;;;;;;;;;:::i;4563:24::-;4559:166;;;4646:5;4607::::0;4613:3:::1;4607:10;;;;;;;;;;;;;;;;;;:25;;:36;4633:6;;4640:1;4633:9;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;4607:36:10::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;4607:36:10;:44;;-1:-1:-1;;4607:44:10::1;::::0;::::1;;::::0;;;::::1;::::0;;4695:3;4675:35:::1;4700:6:::0;;4707:1;4700:9;;::::1;;;;;;;;;;;;;;;;;;:::i;:::-;4675:35;;;;;;:::i;:::-;;;;;;;;4559:166;4540:3;;4505:230;;;;1536:1;4115:626:::0;;;;:::o;11605:130::-;11666:22;11707:5;11713:3;11707:10;;;;;;;;;;;;;;;;;;;;;:21;-1:-1:-1;;;11707:21:10;;;;;11605:130;-1:-1:-1;;11605:130:10:o;10459:310::-;10567:21;10609:9;10604:136;10624:4;:11;10620:1;:15;10604:136;;;10660:24;10669:4;10674:1;10669:7;;;;;;;;;;;;;;10678:5;10660:8;:24::i;:::-;10656:74;;;10711:4;10704:11;;;;;10656:74;10637:3;;10604:136;;;-1:-1:-1;10757:5:10;;10459:310;-1:-1:-1;;;10459:310:10:o;1973:344::-;2055:3;1464:30;1478:10;1490:3;1464:13;:30::i;:::-;1456:70;;;;-1:-1:-1;;;1456:70:10;;;;;;;:::i;:::-;2070:21:::1;2094:22;2112:3;2094:17;:22::i;:::-;2070:46:::0;-1:-1:-1;2161:18:10::1;2147:10;:32;;;;;;;;;:73;;;-1:-1:-1::0;2197:23:10::1;2183:10;:37;;;;;;;;;2147:73;2126:149;;;;-1:-1:-1::0;;;2126:149:10::1;;;;;;;:::i;:::-;2286:24;2298:3;2303:6;;2286:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;2286:11:10::1;::::0;-1:-1:-1;;;2286:24:10:i:1;:::-;1536:1;1973:344:::0;;;;:::o;4876:174::-;4954:3;1464:30;1478:10;1490:3;1464:13;:30::i;:::-;1456:70;;;;-1:-1:-1;;;1456:70:10;;;;;;;:::i;:::-;4988:10:::1;4969:5;4975:3;4969:10;;;;;;;;;::::0;;;::::1;::::0;;::::1;::::0;;;::::1;;:29:::0;;-1:-1:-1;;;;;;4969:29:10::1;-1:-1:-1::0;;;;;4969:29:10;;::::1;;::::0;;5014::::1;::::0;;;::::1;::::0;5027:3;;5014:29:::1;::::0;::::1;4876:174:::0;;;:::o;7033:309::-;7140:18;7179:9;7174:140;7194:6;:13;7190:1;:17;7174:140;;;7233:24;7242:3;7247:6;7254:1;7247:9;;;;;;;7233:24;7228:76;;7284:5;7277:12;;;;;7228:76;7209:3;;7174:140;;9930:305;10035:18;10074:9;10069:138;10089:4;:11;10085:1;:15;10069:138;;;10126:24;10135:4;10140:1;10135:7;;;;;;;10126:24;10121:76;;10177:5;10170:12;;;;;10121:76;10102:3;;10069:138;;2783:445;2889:35;;;2881:75;;;;-1:-1:-1;;;2881:75:10;;;;;;;:::i;:::-;2972:9;2967:255;2983:15;;;2967:255;;;3044:34;3058:10;3070:4;;3075:1;3070:7;;;;;;;;;;;;;3044:13;:34::i;:::-;3019:133;;;;-1:-1:-1;;;3019:133:10;;;;;;;:::i;:::-;3185:4;;3190:1;3185:7;;;;;;;;;;;;;3172:39;3194:13;;3208:1;3194:16;;;;;;;;;;;;;;;;;;:::i;:::-;3172:39;;;;;;;:::i;:::-;;;;;;;;3000:3;;2967:255;;3574:393;3716:11;3745:14;:12;:14::i;:::-;3739:20;;3770:5;3781:50;;;;;;;;3798:6;-1:-1:-1;;;;;3781:50:10;;;;;3818:11;3781:50;;;;;;;;;;3770:62;;;;;;;-1:-1:-1;3770:62:10;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;3770:62:10;-1:-1:-1;;;;;3770:62:10;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;3770:62:10;-1:-1:-1;;;3770:62:10;;;;;;;;;;;;;;;;3872:6;-1:-1:-1;;;;;3848:49:10;3860:10;-1:-1:-1;;;;;3848:49:10;;3880:3;3885:11;3848:49;;;;;;;:::i;:::-;;;;;;;;3908:31;3920:3;3925:13;;3908:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3908:11:10;;-1:-1:-1;;;3908:31:10:i;:::-;3574:393;;;;;;:::o;10955:101::-;11039:10;10955:101;:::o;5294:486::-;5401:3;1464:30;1478:10;1490:3;1464:13;:30::i;:::-;1456:70;;;;-1:-1:-1;;;1456:70:10;;;;;;;:::i;:::-;5420:25:::1;5448:22;5466:3;5448:17;:22::i;:::-;5420:50:::0;-1:-1:-1;5520:15:10::1;5501;:34;;;;;;;;;:79;;;-1:-1:-1::0;5557:23:10::1;5539:14;:41;;;;;;;;;5501:79;5480:172;;;;-1:-1:-1::0;;;5480:172:10::1;;;;;;;:::i;:::-;5687:15;5663:5;5669:3;5663:10;;;;;;;;;::::0;;;::::1;::::0;;;::::1;::::0;;::::1;;:39:::0;;-1:-1:-1;;;;5663:39:10::1;-1:-1:-1::0;;;5663:39:10;::::1;::::0;::::1;;;;;;;;;;;5757:15;5718:55;;;;;;;;5736:3;5718:55;5741:14;5718:55;;;;;;:::i;:::-;;;;;;;;1536:1;5294:486:::0;;;:::o;6242:276::-;6314:17;6343:13;6359:17;6372:3;6359:12;:17::i;:::-;6343:33;;6413:5;-1:-1:-1;;;;;6405:13:10;:4;-1:-1:-1;;;;;6405:13:10;;:106;;;;6444:15;:13;:15::i;:::-;-1:-1:-1;;;;;6435:24:10;:5;-1:-1:-1;;;;;6435:24:10;;:75;;;;;6483:15;:13;:15::i;:::-;-1:-1:-1;;;;;6471:37:10;;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;6463:47:10;:4;-1:-1:-1;;;;;6463:47:10;;6386:125;6242:276;-1:-1:-1;;;;6242:276:10:o;5855:309::-;5937:9;5932:226;5952:6;:13;5948:1;:17;5932:226;;;5991:24;6000:3;6005:6;6012:1;6005:9;;;;;;;5991:24;5986:162;;6074:4;6035:5;6041:3;6035:10;;;;;;;;;;;;;;;;;;:25;;:36;6061:6;6068:1;6061:9;;;;;;;;;;;;;;-1:-1:-1;;;;;6035:36:10;-1:-1:-1;;;;;6035:36:10;;;;;;;;;;;;;:43;;;;;;;;;;;;;;;;;;6118:3;6102:31;6123:6;6130:1;6123:9;;;;;;;;;;;;;;6102:31;;;;;;:::i;:::-;;;;;;;;5986:162;5967:3;;5932:226;;;;5855:309;;:::o;5:130:-1:-;72:20;;97:33;72:20;97:33;:::i;142:134::-;220:13;;238:33;220:13;238:33;:::i;301:352::-;;;431:3;424:4;416:6;412:17;408:27;398:2;;449:1;446;439:12;398:2;-1:-1;469:20;;509:18;498:30;;495:2;;;541:1;538;531:12;495:2;575:4;567:6;563:17;551:29;;626:3;618:4;610:6;606:17;596:8;592:32;589:41;586:2;;;643:1;640;633:12;586:2;391:262;;;;;:::o;679:707::-;;796:3;789:4;781:6;777:17;773:27;763:2;;814:1;811;804:12;763:2;851:6;838:20;873:80;888:64;945:6;888:64;:::i;:::-;873:80;:::i;:::-;864:89;;970:5;995:6;988:5;981:21;1025:4;1017:6;1013:17;1003:27;;1047:4;1042:3;1038:14;1031:21;;1100:6;1147:3;1139:4;1131:6;1127:17;1122:3;1118:27;1115:36;1112:2;;;1164:1;1161;1154:12;1112:2;1189:1;1174:206;1199:6;1196:1;1193:13;1174:206;;;1257:3;1279:37;1312:3;1300:10;1279:37;:::i;:::-;1267:50;;-1:-1;1340:4;1331:14;;;;1359;;;;;1221:1;1214:9;1174:206;;;1178:14;756:630;;;;;;;:::o;2179:707::-;;2296:3;2289:4;2281:6;2277:17;2273:27;2263:2;;2314:1;2311;2304:12;2263:2;2351:6;2338:20;2373:80;2388:64;2445:6;2388:64;:::i;2373:80::-;2364:89;;2470:5;2495:6;2488:5;2481:21;2525:4;2517:6;2513:17;2503:27;;2547:4;2542:3;2538:14;2531:21;;2600:6;2647:3;2639:4;2631:6;2627:17;2622:3;2618:27;2615:36;2612:2;;;2664:1;2661;2654:12;2612:2;2689:1;2674:206;2699:6;2696:1;2693:13;2674:206;;;2757:3;2779:37;2812:3;2800:10;2779:37;:::i;:::-;2767:50;;-1:-1;2840:4;2831:14;;;;2859;;;;;2721:1;2714:9;2674:206;;2894:160;2976:20;;3001:48;2976:20;3001:48;:::i;3061:130::-;3128:20;;3153:33;3128:20;3153:33;:::i;3198:241::-;;3302:2;3290:9;3281:7;3277:23;3273:32;3270:2;;;3318:1;3315;3308:12;3270:2;3353:1;3370:53;3415:7;3395:9;3370:53;:::i;3446:263::-;;3561:2;3549:9;3540:7;3536:23;3532:32;3529:2;;;3577:1;3574;3567:12;3529:2;3612:1;3629:64;3685:7;3665:9;3629:64;:::i;3716:677::-;;;;;3904:2;3892:9;3883:7;3879:23;3875:32;3872:2;;;3920:1;3917;3910:12;3872:2;3955:1;3972:53;4017:7;3997:9;3972:53;:::i;:::-;3962:63;;3934:97;4062:2;4080:68;4140:7;4131:6;4120:9;4116:22;4080:68;:::i;:::-;4070:78;;4041:113;4213:2;4202:9;4198:18;4185:32;4237:18;4229:6;4226:30;4223:2;;;4269:1;4266;4259:12;4223:2;4297:80;4369:7;4360:6;4349:9;4345:22;4297:80;:::i;:::-;3866:527;;;;-1:-1;4279:98;-1:-1;;;;3866:527::o;4400:702::-;;;;;4603:2;4591:9;4582:7;4578:23;4574:32;4571:2;;;4619:1;4616;4609:12;4571:2;4654:31;;4705:18;4694:30;;4691:2;;;4737:1;4734;4727:12;4691:2;4765:80;4837:7;4828:6;4817:9;4813:22;4765:80;:::i;:::-;4747:98;;;;4633:218;4910:2;4899:9;4895:18;4882:32;4934:18;4926:6;4923:30;4920:2;;;4966:1;4963;4956:12;5109:502;;;5255:2;5243:9;5234:7;5230:23;5226:32;5223:2;;;5271:1;5268;5261:12;5223:2;5306:31;;5357:18;5346:30;;5343:2;;;5389:1;5386;5379:12;5343:2;5409:78;5479:7;5470:6;5459:9;5455:22;5409:78;:::i;:::-;5399:88;;5285:208;5524:2;5542:53;5587:7;5578:6;5567:9;5563:22;5542:53;:::i;:::-;5532:63;;5503:98;5217:394;;;;;:::o;5618:638::-;;;5789:2;5777:9;5768:7;5764:23;5760:32;5757:2;;;5805:1;5802;5795:12;5757:2;5840:31;;5891:18;5880:30;;5877:2;;;5923:1;5920;5913:12;5877:2;5943:78;6013:7;6004:6;5993:9;5989:22;5943:78;:::i;:::-;5933:88;;5819:208;6086:2;6075:9;6071:18;6058:32;6110:18;6102:6;6099:30;6096:2;;;6142:1;6139;6132:12;6096:2;6162:78;6232:7;6223:6;6212:9;6208:22;6162:78;:::i;6263:241::-;;6367:2;6355:9;6346:7;6342:23;6338:32;6335:2;;;6383:1;6380;6373:12;6335:2;6418:1;6435:53;6480:7;6460:9;6435:53;:::i;6511:366::-;;;6632:2;6620:9;6611:7;6607:23;6603:32;6600:2;;;6648:1;6645;6638:12;6600:2;6683:1;6700:53;6745:7;6725:9;6700:53;:::i;6884:522::-;;;;7040:2;7028:9;7019:7;7015:23;7011:32;7008:2;;;7056:1;7053;7046:12;7008:2;7091:1;7108:53;7153:7;7133:9;7108:53;:::i;:::-;7098:63;;7070:97;7226:2;7215:9;7211:18;7198:32;7250:18;7242:6;7239:30;7236:2;;;7282:1;7279;7272:12;7236:2;7310:80;7382:7;7373:6;7362:9;7358:22;7310:80;:::i;:::-;7292:98;;;;7177:219;7002:404;;;;;:::o;7413:502::-;;;7559:2;7547:9;7538:7;7534:23;7530:32;7527:2;;;7575:1;7572;7565:12;7527:2;7610:1;7627:53;7672:7;7652:9;7627:53;:::i;7922:396::-;;;8058:2;8046:9;8037:7;8033:23;8029:32;8026:2;;;8074:1;8071;8064:12;8026:2;8109:1;8126:53;8171:7;8151:9;8126:53;:::i;:::-;8116:63;;8088:97;8216:2;8234:68;8294:7;8285:6;8274:9;8270:22;8234:68;:::i;8325:113::-;8408:24;8426:5;8408:24;:::i;:::-;8403:3;8396:37;8390:48;;:::o;8445:104::-;8522:21;8537:5;8522:21;:::i;8556:152::-;8652:50;8696:5;8652:50;:::i;8740:300::-;;8856:71;8920:6;8915:3;8856:71;:::i;:::-;8849:78;;8939:43;8975:6;8970:3;8963:5;8939:43;:::i;:::-;9004:29;9026:6;9004:29;:::i;:::-;8995:39;;;;8842:198;-1:-1;;;8842:198::o;9049:327::-;;9209:67;9273:2;9268:3;9209:67;:::i;:::-;9309:29;9289:50;;9367:2;9358:12;;9195:181;-1:-1;;9195:181::o;9385:327::-;;9545:67;9609:2;9604:3;9545:67;:::i;:::-;9645:29;9625:50;;9703:2;9694:12;;9531:181;-1:-1;;9531:181::o;9721:377::-;;9881:67;9945:2;9940:3;9881:67;:::i;:::-;9981:34;9961:55;;-1:-1;;;10045:2;10036:12;;10029:32;10089:2;10080:12;;9867:231;-1:-1;;9867:231::o;10107:376::-;;10267:67;10331:2;10326:3;10267:67;:::i;:::-;10367:34;10347:55;;-1:-1;;;10431:2;10422:12;;10415:31;10474:2;10465:12;;10253:230;-1:-1;;10253:230::o;10492:329::-;;10652:67;10716:2;10711:3;10652:67;:::i;:::-;10752:31;10732:52;;10812:2;10803:12;;10638:183;-1:-1;;10638:183::o;10830:383::-;;10990:67;11054:2;11049:3;10990:67;:::i;:::-;11090:34;11070:55;;-1:-1;;;11154:2;11145:12;;11138:38;11204:2;11195:12;;10976:237;-1:-1;;10976:237::o;11221:113::-;11304:24;11322:5;11304:24;:::i;11341:222::-;11468:2;11453:18;;11482:71;11457:9;11526:6;11482:71;:::i;11570:210::-;11691:2;11676:18;;11705:65;11680:9;11743:6;11705:65;:::i;11787:248::-;11927:2;11912:18;;11941:84;11916:9;11998:6;11941:84;:::i;12042:330::-;12199:2;12213:47;;;12184:18;;12274:88;12184:18;12348:6;12340;12274:88;:::i;12379:416::-;12579:2;12593:47;;;12564:18;;12654:131;12564:18;12654:131;:::i;12802:416::-;13002:2;13016:47;;;12987:18;;13077:131;12987:18;13077:131;:::i;13225:416::-;13425:2;13439:47;;;13410:18;;13500:131;13410:18;13500:131;:::i;13648:416::-;13848:2;13862:47;;;13833:18;;13923:131;13833:18;13923:131;:::i;14071:416::-;14271:2;14285:47;;;14256:18;;14346:131;14256:18;14346:131;:::i;14494:416::-;14694:2;14708:47;;;14679:18;;14769:131;14679:18;14769:131;:::i;14917:222::-;15044:2;15029:18;;15058:71;15033:9;15102:6;15058:71;:::i;15146:359::-;15314:2;15299:18;;15328:71;15303:9;15372:6;15328:71;:::i;:::-;15410:85;15491:2;15480:9;15476:18;15467:6;15410:85;:::i;:::-;15285:220;;;;;:::o;15512:507::-;;;15635:25;;-1:-1;;15707:14;15703:29;;;15699:48;15675:73;;15665:2;;15762:1;15759;15752:12;15665:2;15793:18;15783:8;15779:33;15771:41;;15846:4;15833:18;15823:28;;15871:18;15863:6;15860:30;15857:2;;;15903:1;15900;15893:12;15857:2;15931;15925:4;15921:13;15913:21;;15985:4;15977:6;15973:17;15957:14;15953:38;15947:4;15943:49;15940:2;;;16005:1;16002;15995:12;15940:2;15603:416;;;;;;:::o;16026:256::-;16088:2;16082:9;16114:17;;;16189:18;16174:34;;16210:22;;;16171:62;16168:2;;;16246:1;16243;16236:12;16168:2;16262;16255:22;16066:216;;-1:-1;16066:216::o;16289:304::-;;16448:18;16440:6;16437:30;16434:2;;;16480:1;16477;16470:12;16434:2;-1:-1;16515:4;16503:17;;;16568:15;;16371:222::o;16912:163::-;17015:19;;;17064:4;17055:14;;17008:67::o;17083:91::-;;17145:24;17163:5;17145:24;:::i;17181:85::-;17247:13;17240:21;;17223:43::o;17273:136::-;17350:5;17356:48;17350:5;17356:48;:::i;17416:121::-;-1:-1;;;;;17478:54;;17461:76::o;17544:72::-;17606:5;17589:27::o;17623:136::-;;17715:39;17748:5;17715:39;:::i;17767:145::-;17848:6;17843:3;17838;17825:30;-1:-1;17904:1;17886:16;;17879:27;17818:94::o;17920:97::-;18008:2;17988:14;-1:-1;;17984:28;;17968:49::o;18025:106::-;18109:1;18102:5;18099:12;18089:2;;18115:9;18089:2;18083:48;:::o;18138:117::-;18207:24;18225:5;18207:24;:::i;:::-;18200:5;18197:35;18187:2;;18246:1;18243;18236:12;18262:109;18346:1;18339:5;18336:12;18326:2;;18362:1;18359;18352:12;18378:117;18447:24;18465:5;18447:24;:::i", - "linkReferences": {}, - "immutableReferences": { - "1759": [ - { - "start": 2496, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "addToList(uint256,address[])": "8da3d736", - "areAllInAllLists(uint256[],address[])": "107df6c5", - "areAllInList(uint256,address[])": "abdf6215", - "areAllInSomeOfLists(uint256[],address[])": "30bdd386", - "areAllNotInAnyOfLists(uint256[],address[])": "3a6914fe", - "areAllNotInList(uint256,address[])": "4446fe37", - "attestLists(uint256[],string[])": "b426f946", - "createList(address,uint8,address[])": "be68406e", - "getDispatcher()": "ebb3d589", - "getListCount()": "2ce37b10", - "getListOwner(uint256)": "19bcc938", - "getListUpdateType(uint256)": "539f2ab4", - "isInAllLists(uint256[],address)": "afc8dd61", - "isInList(uint256,address)": "1c563204", - "isInSomeOfLists(uint256[],address)": "75674f46", - "removeFromList(uint256,address[])": "51d3a322", - "setListOwner(uint256,address)": "956e8faa", - "setListUpdateType(uint256,uint8)": "ee4483dc" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_dispatcher\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"item\",\"type\":\"address\"}],\"name\":\"ItemAddedToList\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"item\",\"type\":\"address\"}],\"name\":\"ItemRemovedFromList\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"}],\"name\":\"ListAttested\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"creator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"enum AddressListRegistry.UpdateType\",\"name\":\"updateType\",\"type\":\"uint8\"}],\"name\":\"ListCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"nextOwner\",\"type\":\"address\"}],\"name\":\"ListOwnerSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"enum AddressListRegistry.UpdateType\",\"name\":\"prevUpdateType\",\"type\":\"uint8\"},{\"indexed\":true,\"internalType\":\"enum AddressListRegistry.UpdateType\",\"name\":\"nextUpdateType\",\"type\":\"uint8\"}],\"name\":\"ListUpdateTypeSet\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"_items\",\"type\":\"address[]\"}],\"name\":\"addToList\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"_ids\",\"type\":\"uint256[]\"},{\"internalType\":\"address[]\",\"name\":\"_items\",\"type\":\"address[]\"}],\"name\":\"areAllInAllLists\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"areAllInAllLists_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"_items\",\"type\":\"address[]\"}],\"name\":\"areAllInList\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"areAllInList_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"_ids\",\"type\":\"uint256[]\"},{\"internalType\":\"address[]\",\"name\":\"_items\",\"type\":\"address[]\"}],\"name\":\"areAllInSomeOfLists\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"areAllInSomeOfLists_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"_ids\",\"type\":\"uint256[]\"},{\"internalType\":\"address[]\",\"name\":\"_items\",\"type\":\"address[]\"}],\"name\":\"areAllNotInAnyOfLists\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"areAllNotInAnyOfLists_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"_items\",\"type\":\"address[]\"}],\"name\":\"areAllNotInList\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"areAllNotInList_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"_ids\",\"type\":\"uint256[]\"},{\"internalType\":\"string[]\",\"name\":\"_descriptions\",\"type\":\"string[]\"}],\"name\":\"attestLists\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"enum AddressListRegistry.UpdateType\",\"name\":\"_updateType\",\"type\":\"uint8\"},{\"internalType\":\"address[]\",\"name\":\"_initialItems\",\"type\":\"address[]\"}],\"name\":\"createList\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"id_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDispatcher\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"dispatcher_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getListCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"count_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"}],\"name\":\"getListOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"}],\"name\":\"getListUpdateType\",\"outputs\":[{\"internalType\":\"enum AddressListRegistry.UpdateType\",\"name\":\"updateType_\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"_ids\",\"type\":\"uint256[]\"},{\"internalType\":\"address\",\"name\":\"_item\",\"type\":\"address\"}],\"name\":\"isInAllLists\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isInAllLists_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_item\",\"type\":\"address\"}],\"name\":\"isInList\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isInList_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"_ids\",\"type\":\"uint256[]\"},{\"internalType\":\"address\",\"name\":\"_item\",\"type\":\"address\"}],\"name\":\"isInSomeOfLists\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isInSomeOfLists_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"_items\",\"type\":\"address[]\"}],\"name\":\"removeFromList\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_nextOwner\",\"type\":\"address\"}],\"name\":\"setListOwner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"},{\"internalType\":\"enum AddressListRegistry.UpdateType\",\"name\":\"_nextUpdateType\",\"type\":\"uint8\"}],\"name\":\"setListUpdateType\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"addToList(uint256,address[])\":{\"params\":{\"_id\":\"The id of the list\",\"_items\":\"The items to add to the list\"}},\"areAllInAllLists(uint256[],address[])\":{\"params\":{\"_ids\":\"The list ids\",\"_items\":\"The items to check\"},\"returns\":{\"areAllInAllLists_\":\"True if all items are in all of the lists\"}},\"areAllInList(uint256,address[])\":{\"params\":{\"_id\":\"The list id\",\"_items\":\"The items to check\"},\"returns\":{\"areAllInList_\":\"True if all items are in the list\"}},\"areAllInSomeOfLists(uint256[],address[])\":{\"params\":{\"_ids\":\"The list ids\",\"_items\":\"The items to check\"},\"returns\":{\"areAllInSomeOfLists_\":\"True if all items are in one of the lists\"}},\"areAllNotInAnyOfLists(uint256[],address[])\":{\"params\":{\"_ids\":\"The list ids\",\"_items\":\"The items to check\"},\"returns\":{\"areAllNotInAnyOfLists_\":\"True if all items are absent from all lists\"}},\"areAllNotInList(uint256,address[])\":{\"params\":{\"_id\":\"The list id\",\"_items\":\"The items to check\"},\"returns\":{\"areAllNotInList_\":\"True if no items are in the list\"}},\"attestLists(uint256[],string[])\":{\"details\":\"Since UserA can create a list on behalf of UserB, this function provides a mechanism for UserB to attest to their management of the items therein. It will not be visible on-chain, but will be available in event logs.\",\"params\":{\"_descriptions\":\"The descriptions of the lists' content\",\"_ids\":\"The ids of the lists\"}},\"createList(address,uint8,address[])\":{\"details\":\"Specify the DISPATCHER as the _owner to make the Enzyme Council the owner\",\"params\":{\"_initialItems\":\"The initial items to add to the list\",\"_owner\":\"The owner of the list\",\"_updateType\":\"The UpdateType for the list\"},\"returns\":{\"id_\":\"The id of the newly-created list\"}},\"getDispatcher()\":{\"returns\":{\"dispatcher_\":\"The `DISPATCHER` variable value\"}},\"getListCount()\":{\"returns\":{\"count_\":\"The total count\"}},\"getListOwner(uint256)\":{\"params\":{\"_id\":\"The list id\"},\"returns\":{\"owner_\":\"The owner\"}},\"getListUpdateType(uint256)\":{\"params\":{\"_id\":\"The list id\"},\"returns\":{\"updateType_\":\"The UpdateType\"}},\"isInAllLists(uint256[],address)\":{\"params\":{\"_ids\":\"The list ids\",\"_item\":\"The item to check\"},\"returns\":{\"isInAllLists_\":\"True if item is in all of the lists\"}},\"isInList(uint256,address)\":{\"params\":{\"_id\":\"The list id\",\"_item\":\"The item to check\"},\"returns\":{\"isInList_\":\"True if the item is in the list\"}},\"isInSomeOfLists(uint256[],address)\":{\"params\":{\"_ids\":\"The list ids\",\"_item\":\"The item to check\"},\"returns\":{\"isInSomeOfLists_\":\"True if item is in one of the lists\"}},\"removeFromList(uint256,address[])\":{\"params\":{\"_id\":\"The id of the list\",\"_items\":\"The items to remove from the list\"}},\"setListOwner(uint256,address)\":{\"params\":{\"_id\":\"The id of the list\",\"_nextOwner\":\"The owner to set\"}},\"setListUpdateType(uint256,uint8)\":{\"details\":\"Can only change to a less mutable option (e.g., both add and remove => add only)\",\"params\":{\"_id\":\"The id of the list\",\"_nextUpdateType\":\"The UpdateType to set\"}}},\"title\":\"AddressListRegistry Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"addToList(uint256,address[])\":{\"notice\":\"Adds items to a given list\"},\"areAllInAllLists(uint256[],address[])\":{\"notice\":\"Checks if multiple items are all in all of a given set of lists\"},\"areAllInList(uint256,address[])\":{\"notice\":\"Checks if multiple items are all in a given list\"},\"areAllInSomeOfLists(uint256[],address[])\":{\"notice\":\"Checks if multiple items are all in one of a given set of lists\"},\"areAllNotInAnyOfLists(uint256[],address[])\":{\"notice\":\"Checks if multiple items are all absent from all of a given set of lists\"},\"areAllNotInList(uint256,address[])\":{\"notice\":\"Checks if multiple items are all absent from a given list\"},\"attestLists(uint256[],string[])\":{\"notice\":\"Attests active ownership for lists and (optionally) a description of each list's content\"},\"createList(address,uint8,address[])\":{\"notice\":\"Creates a new list\"},\"getDispatcher()\":{\"notice\":\"Gets the `DISPATCHER` variable\"},\"getListCount()\":{\"notice\":\"Gets the total count of lists\"},\"getListOwner(uint256)\":{\"notice\":\"Gets the owner of a given list\"},\"getListUpdateType(uint256)\":{\"notice\":\"Gets the UpdateType of a given list\"},\"isInAllLists(uint256[],address)\":{\"notice\":\"Checks if an item is in all of a given set of lists\"},\"isInList(uint256,address)\":{\"notice\":\"Checks if an item is in a given list\"},\"isInSomeOfLists(uint256[],address)\":{\"notice\":\"Checks if an item is in at least one of a given set of lists\"},\"removeFromList(uint256,address[])\":{\"notice\":\"Removes items from a given list\"},\"setListOwner(uint256,address)\":{\"notice\":\"Sets the owner for a given list\"},\"setListUpdateType(uint256,uint8)\":{\"notice\":\"Sets the UpdateType for a given list\"}},\"notice\":\"A contract for creating and updating lists of addresses\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/address-list-registry/AddressListRegistry.sol\":\"AddressListRegistry\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/address-list-registry/AddressListRegistry.sol\":{\"keccak256\":\"0xf00a9e376e3ec2a223f463f71c15ee3af3642dd028bc3762440e316b760c8048\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://01986c9327b5dfbfac21316dced6d68727931ddde1278ed1342d878004f984b9\",\"dweb:/ipfs/QmdXkFaUU43JqMTYEREbWa129rohdqN7GXy7mVRpjCfSLD\"]},\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_dispatcher", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256", - "indexed": true - }, - { - "internalType": "address", - "name": "item", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "ItemAddedToList", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256", - "indexed": true - }, - { - "internalType": "address", - "name": "item", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "ItemRemovedFromList", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256", - "indexed": true - }, - { - "internalType": "string", - "name": "description", - "type": "string", - "indexed": false - } - ], - "type": "event", - "name": "ListAttested", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "creator", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "owner", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "id", - "type": "uint256", - "indexed": false - }, - { - "internalType": "enum AddressListRegistry.UpdateType", - "name": "updateType", - "type": "uint8", - "indexed": false - } - ], - "type": "event", - "name": "ListCreated", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256", - "indexed": true - }, - { - "internalType": "address", - "name": "nextOwner", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "ListOwnerSet", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256", - "indexed": true - }, - { - "internalType": "enum AddressListRegistry.UpdateType", - "name": "prevUpdateType", - "type": "uint8", - "indexed": false - }, - { - "internalType": "enum AddressListRegistry.UpdateType", - "name": "nextUpdateType", - "type": "uint8", - "indexed": true - } - ], - "type": "event", - "name": "ListUpdateTypeSet", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_id", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "_items", - "type": "address[]" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "addToList" - }, - { - "inputs": [ - { - "internalType": "uint256[]", - "name": "_ids", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "_items", - "type": "address[]" - } - ], - "stateMutability": "view", - "type": "function", - "name": "areAllInAllLists", - "outputs": [ - { - "internalType": "bool", - "name": "areAllInAllLists_", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_id", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "_items", - "type": "address[]" - } - ], - "stateMutability": "view", - "type": "function", - "name": "areAllInList", - "outputs": [ - { - "internalType": "bool", - "name": "areAllInList_", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256[]", - "name": "_ids", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "_items", - "type": "address[]" - } - ], - "stateMutability": "view", - "type": "function", - "name": "areAllInSomeOfLists", - "outputs": [ - { - "internalType": "bool", - "name": "areAllInSomeOfLists_", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256[]", - "name": "_ids", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "_items", - "type": "address[]" - } - ], - "stateMutability": "view", - "type": "function", - "name": "areAllNotInAnyOfLists", - "outputs": [ - { - "internalType": "bool", - "name": "areAllNotInAnyOfLists_", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_id", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "_items", - "type": "address[]" - } - ], - "stateMutability": "view", - "type": "function", - "name": "areAllNotInList", - "outputs": [ - { - "internalType": "bool", - "name": "areAllNotInList_", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256[]", - "name": "_ids", - "type": "uint256[]" - }, - { - "internalType": "string[]", - "name": "_descriptions", - "type": "string[]" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "attestLists" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - }, - { - "internalType": "enum AddressListRegistry.UpdateType", - "name": "_updateType", - "type": "uint8" - }, - { - "internalType": "address[]", - "name": "_initialItems", - "type": "address[]" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "createList", - "outputs": [ - { - "internalType": "uint256", - "name": "id_", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getDispatcher", - "outputs": [ - { - "internalType": "address", - "name": "dispatcher_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getListCount", - "outputs": [ - { - "internalType": "uint256", - "name": "count_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_id", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getListOwner", - "outputs": [ - { - "internalType": "address", - "name": "owner_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_id", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getListUpdateType", - "outputs": [ - { - "internalType": "enum AddressListRegistry.UpdateType", - "name": "updateType_", - "type": "uint8" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256[]", - "name": "_ids", - "type": "uint256[]" - }, - { - "internalType": "address", - "name": "_item", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "isInAllLists", - "outputs": [ - { - "internalType": "bool", - "name": "isInAllLists_", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_id", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_item", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "isInList", - "outputs": [ - { - "internalType": "bool", - "name": "isInList_", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256[]", - "name": "_ids", - "type": "uint256[]" - }, - { - "internalType": "address", - "name": "_item", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "isInSomeOfLists", - "outputs": [ - { - "internalType": "bool", - "name": "isInSomeOfLists_", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_id", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "_items", - "type": "address[]" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "removeFromList" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_id", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_nextOwner", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setListOwner" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_id", - "type": "uint256" - }, - { - "internalType": "enum AddressListRegistry.UpdateType", - "name": "_nextUpdateType", - "type": "uint8" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setListUpdateType" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "addToList(uint256,address[])": { - "params": { - "_id": "The id of the list", - "_items": "The items to add to the list" - } - }, - "areAllInAllLists(uint256[],address[])": { - "params": { - "_ids": "The list ids", - "_items": "The items to check" - }, - "returns": { - "areAllInAllLists_": "True if all items are in all of the lists" - } - }, - "areAllInList(uint256,address[])": { - "params": { - "_id": "The list id", - "_items": "The items to check" - }, - "returns": { - "areAllInList_": "True if all items are in the list" - } - }, - "areAllInSomeOfLists(uint256[],address[])": { - "params": { - "_ids": "The list ids", - "_items": "The items to check" - }, - "returns": { - "areAllInSomeOfLists_": "True if all items are in one of the lists" - } - }, - "areAllNotInAnyOfLists(uint256[],address[])": { - "params": { - "_ids": "The list ids", - "_items": "The items to check" - }, - "returns": { - "areAllNotInAnyOfLists_": "True if all items are absent from all lists" - } - }, - "areAllNotInList(uint256,address[])": { - "params": { - "_id": "The list id", - "_items": "The items to check" - }, - "returns": { - "areAllNotInList_": "True if no items are in the list" - } - }, - "attestLists(uint256[],string[])": { - "details": "Since UserA can create a list on behalf of UserB, this function provides a mechanism for UserB to attest to their management of the items therein. It will not be visible on-chain, but will be available in event logs.", - "params": { - "_descriptions": "The descriptions of the lists' content", - "_ids": "The ids of the lists" - } - }, - "createList(address,uint8,address[])": { - "details": "Specify the DISPATCHER as the _owner to make the Enzyme Council the owner", - "params": { - "_initialItems": "The initial items to add to the list", - "_owner": "The owner of the list", - "_updateType": "The UpdateType for the list" - }, - "returns": { - "id_": "The id of the newly-created list" - } - }, - "getDispatcher()": { - "returns": { - "dispatcher_": "The `DISPATCHER` variable value" - } - }, - "getListCount()": { - "returns": { - "count_": "The total count" - } - }, - "getListOwner(uint256)": { - "params": { - "_id": "The list id" - }, - "returns": { - "owner_": "The owner" - } - }, - "getListUpdateType(uint256)": { - "params": { - "_id": "The list id" - }, - "returns": { - "updateType_": "The UpdateType" - } - }, - "isInAllLists(uint256[],address)": { - "params": { - "_ids": "The list ids", - "_item": "The item to check" - }, - "returns": { - "isInAllLists_": "True if item is in all of the lists" - } - }, - "isInList(uint256,address)": { - "params": { - "_id": "The list id", - "_item": "The item to check" - }, - "returns": { - "isInList_": "True if the item is in the list" - } - }, - "isInSomeOfLists(uint256[],address)": { - "params": { - "_ids": "The list ids", - "_item": "The item to check" - }, - "returns": { - "isInSomeOfLists_": "True if item is in one of the lists" - } - }, - "removeFromList(uint256,address[])": { - "params": { - "_id": "The id of the list", - "_items": "The items to remove from the list" - } - }, - "setListOwner(uint256,address)": { - "params": { - "_id": "The id of the list", - "_nextOwner": "The owner to set" - } - }, - "setListUpdateType(uint256,uint8)": { - "details": "Can only change to a less mutable option (e.g., both add and remove => add only)", - "params": { - "_id": "The id of the list", - "_nextUpdateType": "The UpdateType to set" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "addToList(uint256,address[])": { - "notice": "Adds items to a given list" - }, - "areAllInAllLists(uint256[],address[])": { - "notice": "Checks if multiple items are all in all of a given set of lists" - }, - "areAllInList(uint256,address[])": { - "notice": "Checks if multiple items are all in a given list" - }, - "areAllInSomeOfLists(uint256[],address[])": { - "notice": "Checks if multiple items are all in one of a given set of lists" - }, - "areAllNotInAnyOfLists(uint256[],address[])": { - "notice": "Checks if multiple items are all absent from all of a given set of lists" - }, - "areAllNotInList(uint256,address[])": { - "notice": "Checks if multiple items are all absent from a given list" - }, - "attestLists(uint256[],string[])": { - "notice": "Attests active ownership for lists and (optionally) a description of each list's content" - }, - "createList(address,uint8,address[])": { - "notice": "Creates a new list" - }, - "getDispatcher()": { - "notice": "Gets the `DISPATCHER` variable" - }, - "getListCount()": { - "notice": "Gets the total count of lists" - }, - "getListOwner(uint256)": { - "notice": "Gets the owner of a given list" - }, - "getListUpdateType(uint256)": { - "notice": "Gets the UpdateType of a given list" - }, - "isInAllLists(uint256[],address)": { - "notice": "Checks if an item is in all of a given set of lists" - }, - "isInList(uint256,address)": { - "notice": "Checks if an item is in a given list" - }, - "isInSomeOfLists(uint256[],address)": { - "notice": "Checks if an item is in at least one of a given set of lists" - }, - "removeFromList(uint256,address[])": { - "notice": "Removes items from a given list" - }, - "setListOwner(uint256,address)": { - "notice": "Sets the owner for a given list" - }, - "setListUpdateType(uint256,uint8)": { - "notice": "Sets the UpdateType for a given list" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/persistent/address-list-registry/AddressListRegistry.sol": "AddressListRegistry" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/address-list-registry/AddressListRegistry.sol": { - "keccak256": "0xf00a9e376e3ec2a223f463f71c15ee3af3642dd028bc3762440e316b760c8048", - "urls": [ - "bzz-raw://01986c9327b5dfbfac21316dced6d68727931ddde1278ed1342d878004f984b9", - "dweb:/ipfs/QmdXkFaUU43JqMTYEREbWa129rohdqN7GXy7mVRpjCfSLD" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/dispatcher/IDispatcher.sol": { - "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", - "urls": [ - "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", - "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 10 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_dispatcher", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "addToList", "inputs": [ { "name": "_id", "type": "uint256", "internalType": "uint256" }, { "name": "_items", "type": "address[]", "internalType": "address[]" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "areAllInAllLists", "inputs": [ { "name": "_ids", "type": "uint256[]", "internalType": "uint256[]" }, { "name": "_items", "type": "address[]", "internalType": "address[]" } ], "outputs": [ { "name": "areAllInAllLists_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "areAllInList", "inputs": [ { "name": "_id", "type": "uint256", "internalType": "uint256" }, { "name": "_items", "type": "address[]", "internalType": "address[]" } ], "outputs": [ { "name": "areAllInList_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "areAllInSomeOfLists", "inputs": [ { "name": "_ids", "type": "uint256[]", "internalType": "uint256[]" }, { "name": "_items", "type": "address[]", "internalType": "address[]" } ], "outputs": [ { "name": "areAllInSomeOfLists_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "areAllNotInAnyOfLists", "inputs": [ { "name": "_ids", "type": "uint256[]", "internalType": "uint256[]" }, { "name": "_items", "type": "address[]", "internalType": "address[]" } ], "outputs": [ { "name": "areAllNotInAnyOfLists_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "areAllNotInList", "inputs": [ { "name": "_id", "type": "uint256", "internalType": "uint256" }, { "name": "_items", "type": "address[]", "internalType": "address[]" } ], "outputs": [ { "name": "areAllNotInList_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "attestLists", "inputs": [ { "name": "_ids", "type": "uint256[]", "internalType": "uint256[]" }, { "name": "_descriptions", "type": "string[]", "internalType": "string[]" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "createList", "inputs": [ { "name": "_owner", "type": "address", "internalType": "address" }, { "name": "_updateType", "type": "uint8", "internalType": "enum AddressListRegistry.UpdateType" }, { "name": "_initialItems", "type": "address[]", "internalType": "address[]" } ], "outputs": [ { "name": "id_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "getDispatcher", "inputs": [], "outputs": [ { "name": "dispatcher_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getListCount", "inputs": [], "outputs": [ { "name": "count_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "getListOwner", "inputs": [ { "name": "_id", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "owner_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getListUpdateType", "inputs": [ { "name": "_id", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "updateType_", "type": "uint8", "internalType": "enum AddressListRegistry.UpdateType" } ], "stateMutability": "view" }, { "type": "function", "name": "isInAllLists", "inputs": [ { "name": "_ids", "type": "uint256[]", "internalType": "uint256[]" }, { "name": "_item", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "isInAllLists_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "isInList", "inputs": [ { "name": "_id", "type": "uint256", "internalType": "uint256" }, { "name": "_item", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "isInList_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "isInSomeOfLists", "inputs": [ { "name": "_ids", "type": "uint256[]", "internalType": "uint256[]" }, { "name": "_item", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "isInSomeOfLists_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "removeFromList", "inputs": [ { "name": "_id", "type": "uint256", "internalType": "uint256" }, { "name": "_items", "type": "address[]", "internalType": "address[]" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setListOwner", "inputs": [ { "name": "_id", "type": "uint256", "internalType": "uint256" }, { "name": "_nextOwner", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setListUpdateType", "inputs": [ { "name": "_id", "type": "uint256", "internalType": "uint256" }, { "name": "_nextUpdateType", "type": "uint8", "internalType": "enum AddressListRegistry.UpdateType" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "event", "name": "ItemAddedToList", "inputs": [ { "name": "id", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "item", "type": "address", "indexed": false, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "ItemRemovedFromList", "inputs": [ { "name": "id", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "item", "type": "address", "indexed": false, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "ListAttested", "inputs": [ { "name": "id", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "description", "type": "string", "indexed": false, "internalType": "string" } ], "anonymous": false }, { "type": "event", "name": "ListCreated", "inputs": [ { "name": "creator", "type": "address", "indexed": true, "internalType": "address" }, { "name": "owner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "id", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "updateType", "type": "uint8", "indexed": false, "internalType": "enum AddressListRegistry.UpdateType" } ], "anonymous": false }, { "type": "event", "name": "ListOwnerSet", "inputs": [ { "name": "id", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "nextOwner", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "ListUpdateTypeSet", "inputs": [ { "name": "id", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "prevUpdateType", "type": "uint8", "indexed": false, "internalType": "enum AddressListRegistry.UpdateType" }, { "name": "nextUpdateType", "type": "uint8", "indexed": true, "internalType": "enum AddressListRegistry.UpdateType" } ], "anonymous": false } ], "bytecode": { "object": "0x60a06040523480156200001157600080fd5b50604051620015dd380380620015dd8339810160408190526200003491620000ef565b606081901b6001600160601b031916608052604080518082019091526000808252602082018181528154600181018355918052825160029092027f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630180546001600160a01b039093166001600160a01b031990931692909217808355905190829060ff60a01b1916600160a01b836003811115620000ce57fe5b021790555050505062000144565b8051620000e9816200012a565b92915050565b6000602082840312156200010257600080fd5b6000620001108484620000dc565b949350505050565b60006001600160a01b038216620000e9565b620001358162000118565b81146200014157600080fd5b50565b60805160601c61147b62000162600039806109c0525061147b6000f3fe608060405234801561001057600080fd5b50600436106101165760003560e01c806375674f46116100a2578063afc8dd6111610071578063afc8dd6114610246578063b426f94614610259578063be68406e1461026c578063ebb3d5891461027f578063ee4483dc1461028757610116565b806375674f46146101fa5780638da3d7361461020d578063956e8faa14610220578063abdf62151461023357610116565b806330bdd386116100e957806330bdd3861461018c5780633a6914fe1461019f5780634446fe37146101b257806351d3a322146101c5578063539f2ab4146101da57610116565b8063107df6c51461011b57806319bcc938146101445780631c563204146101645780632ce37b1014610177575b600080fd5b61012e610129366004610f55565b61029a565b60405161013b9190611288565b60405180910390f35b610157610152366004610fb4565b6102e6565b60405161013b919061127a565b61012e610172366004610fd2565b610316565b61017f610358565b60405161013b9190611316565b61012e61019a366004610f55565b61035e565b61012e6101ad366004610f55565b61039e565b61012e6101c0366004611047565b6103d2565b6101d86101d3366004610ff1565b610413565b005b6101ed6101e8366004610fb4565b610599565b60405161013b9190611296565b61012e610208366004610f04565b6105c8565b6101d861021b366004610ff1565b610613565b6101d861022e366004610fd2565b6106cc565b61012e610241366004611047565b61075c565b61012e610254366004610f04565b61078f565b6101d8610267366004610eac565b6107c1565b61017f61027a366004610e44565b610893565b6101576109be565b6101d8610295366004611066565b6109e2565b6000805b82518110156102da576102c4848483815181106102b757fe5b602002602001015161078f565b6102d25760009150506102e0565b60010161029e565b50600190505b92915050565b60008082815481106102f457fe5b60009182526020909120600290910201546001600160a01b031690505b919050565b600080838154811061032457fe5b600091825260208083206001600160a01b03861684526001600290930201919091019052604090205460ff16905092915050565b60005490565b6000805b82518110156102da576103888484838151811061037b57fe5b60200260200101516105c8565b6103965760009150506102e0565b600101610362565b6000805b82518110156102da576103bb8484838151811061037b57fe5b156103ca5760009150506102e0565b6001016103a2565b6000805b82518110156102da576103fc848483815181106103ef57fe5b6020026020010151610316565b1561040b5760009150506102e0565b6001016103d6565b8261041e3382610ade565b6104435760405162461bcd60e51b815260040161043a906112b6565b60405180910390fd5b600061044e85610599565b9050600281600381111561045e57fe5b14806104755750600381600381111561047357fe5b145b6104915760405162461bcd60e51b815260040161043a906112e6565b60005b83811015610591576104c1868686848181106104ac57fe5b90506020020160208101906101729190610e08565b156105895760008087815481106104d457fe5b906000526020600020906002020160010160008787858181106104f357fe5b90506020020160208101906105089190610e08565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055857f810f138e6e0ca6f5ac0bf2efc960187bce2c3b5afbb1e2d05905f2be7b3810b686868481811061055e57fe5b90506020020160208101906105739190610e08565b604051610580919061127a565b60405180910390a25b600101610494565b505050505050565b60008082815481106105a757fe5b6000918252602090912060029091020154600160a01b900460ff1692915050565b6000805b8351811015610609576105f28482815181106105e457fe5b602002602001015184610316565b156106015760019150506102e0565b6001016105cc565b5060009392505050565b8261061e3382610ade565b61063a5760405162461bcd60e51b815260040161043a906112b6565b600061064585610599565b9050600181600381111561065557fe5b148061066c5750600381600381111561066a57fe5b145b6106885760405162461bcd60e51b815260040161043a906112f6565b6106c585858580806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250610bbe92505050565b5050505050565b816106d73382610ade565b6106f35760405162461bcd60e51b815260040161043a906112b6565b816000848154811061070157fe5b6000918252602082206002919091020180546001600160a01b0319166001600160a01b039384161790556040519184169185917f2d1c424d2803af2219fba896bc3092aed0ab3f7b022f412b79562b0fc2c2907d91a3505050565b6000805b82518110156102da57610779848483815181106103ef57fe5b6107875760009150506102e0565b600101610760565b6000805b83518110156102da576107ab8482815181106105e457fe5b6107b95760009150506102e0565b600101610793565b8281146107e05760405162461bcd60e51b815260040161043a906112c6565b60005b838110156106c557610807338686848181106107fb57fe5b90506020020135610ade565b6108235760405162461bcd60e51b815260040161043a906112d6565b84848281811061082f57fe5b905060200201357fddbb257b211697fab7f1ee9f59674cba284dbd7b9f6e1f3da5b645c890bf940084848481811061086357fe5b90506020028101906108759190611346565b6040516108839291906112a4565b60405180910390a26001016107e3565b600061089d610358565b905060006040518060400160405280876001600160a01b031681526020018660038111156108c757fe5b905281546001810183556000928352602092839020825160029092020180546001600160a01b0319166001600160a01b0390921691909117808255928201519192909190829060ff60a01b1916600160a01b83600381111561092557fe5b02179055505050846001600160a01b0316336001600160a01b03167fc2b2d696fda57bcf0347d9ea036ce8258434f4171cd131b4c1d22a6f0ae960d28387604051610971929190611324565b60405180910390a36109b681848480806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250610bbe92505050565b949350505050565b7f000000000000000000000000000000000000000000000000000000000000000090565b816109ed3382610ade565b610a095760405162461bcd60e51b815260040161043a906112b6565b6000610a1484610599565b90506000836003811115610a2457fe5b1480610a3b57506003816003811115610a3957fe5b145b610a575760405162461bcd60e51b815260040161043a90611306565b8260008581548110610a6557fe5b60009182526020909120600290910201805460ff60a01b1916600160a01b836003811115610a8f57fe5b0217905550826003811115610aa057fe5b847f44966c6bc2b3eef1eea6958dc704bb8527d350a282589bb13dd056819bd9d64683604051610ad09190611296565b60405180910390a350505050565b600080610aea836102e6565b9050806001600160a01b0316846001600160a01b031614806109b65750610b0f6109be565b6001600160a01b0316816001600160a01b03161480156109b65750610b326109be565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b158015610b6a57600080fd5b505afa158015610b7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ba29190610e26565b6001600160a01b0316846001600160a01b031614949350505050565b60005b8151811015610c9f57610bda838383815181106103ef57fe5b610c9757600160008481548110610bed57fe5b90600052602060002090600202016001016000848481518110610c0c57fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff021916908315150217905550827fb8848f994c7d66cdc76defd3606ffefb56ad840b408bf51230110196d5f4d8c4838381518110610c7957fe5b6020026020010151604051610c8e919061127a565b60405180910390a25b600101610bc1565b505050565b80356102e081611444565b80516102e081611444565b60008083601f840112610ccc57600080fd5b50813567ffffffffffffffff811115610ce457600080fd5b602083019150836020820283011115610cfc57600080fd5b9250929050565b600082601f830112610d1457600080fd5b8135610d27610d22826113c3565b61139c565b91508181835260208401935060208101905083856020840282011115610d4c57600080fd5b60005b83811015610d785781610d628882610ca4565b8452506020928301929190910190600101610d4f565b5050505092915050565b600082601f830112610d9357600080fd5b8135610da1610d22826113c3565b91508181835260208401935060208101905083856020840282011115610dc657600080fd5b60005b83811015610d785781610ddc8882610dfd565b8452506020928301929190910190600101610dc9565b80356102e081611458565b80356102e081611465565b600060208284031215610e1a57600080fd5b60006109b68484610ca4565b600060208284031215610e3857600080fd5b60006109b68484610caf565b60008060008060608587031215610e5a57600080fd5b6000610e668787610ca4565b9450506020610e7787828801610df2565b935050604085013567ffffffffffffffff811115610e9457600080fd5b610ea087828801610cba565b95989497509550505050565b60008060008060408587031215610ec257600080fd5b843567ffffffffffffffff811115610ed957600080fd5b610ee587828801610cba565b9450945050602085013567ffffffffffffffff811115610e9457600080fd5b60008060408385031215610f1757600080fd5b823567ffffffffffffffff811115610f2e57600080fd5b610f3a85828601610d82565b9250506020610f4b85828601610ca4565b9150509250929050565b60008060408385031215610f6857600080fd5b823567ffffffffffffffff811115610f7f57600080fd5b610f8b85828601610d82565b925050602083013567ffffffffffffffff811115610fa857600080fd5b610f4b85828601610d03565b600060208284031215610fc657600080fd5b60006109b68484610dfd565b60008060408385031215610fe557600080fd5b6000610f3a8585610dfd565b60008060006040848603121561100657600080fd5b60006110128686610dfd565b935050602084013567ffffffffffffffff81111561102f57600080fd5b61103b86828701610cba565b92509250509250925092565b6000806040838503121561105a57600080fd5b6000610f8b8585610dfd565b6000806040838503121561107957600080fd5b60006110858585610dfd565b9250506020610f4b85828601610df2565b61109f816113ed565b82525050565b61109f816113f8565b61109f81611416565b60006110c383856113e4565b93506110d0838584611421565b6110d98361142d565b9093019392505050565b60006110f0601b836113e4565b7f4f6e6c792063616c6c61626c65206279206c697374206f776e65720000000000815260200192915050565b6000611129601b836113e4565b7f6174746573744c697374733a20556e657175616c206172726179730000000000815260200192915050565b60006111626028836113e4565b7f6174746573744c697374733a204f6e6c792063616c6c61626c65206279206c6981526739ba1037bbb732b960c11b602082015260400192915050565b60006111ac6027836113e4565b7f72656d6f766546726f6d4c6973743a2043616e6e6f742072656d6f76652066728152661bdb481b1a5cdd60ca1b602082015260400192915050565b60006111f5601d836113e4565b7f616464546f4c6973743a2043616e6e6f742061646420746f206c697374000000815260200192915050565b600061122e602e836113e4565b7f7365744c697374557064617465547970653a205f6e657874557064617465547981526d1c19481b9bdd08185b1b1bddd95960921b602082015260400192915050565b61109f81611413565b602081016102e08284611096565b602081016102e082846110a5565b602081016102e082846110ae565b602080825281016109b68184866110b7565b602080825281016102e0816110e3565b602080825281016102e08161111c565b602080825281016102e081611155565b602080825281016102e08161119f565b602080825281016102e0816111e8565b602080825281016102e081611221565b602081016102e08284611271565b604081016113328285611271565b61133f60208301846110ae565b9392505050565b6000808335601e193685900301811261135e57600080fd5b80840192508235915067ffffffffffffffff82111561137c57600080fd5b60208301925060018202360383131561139457600080fd5b509250929050565b60405181810167ffffffffffffffff811182821017156113bb57600080fd5b604052919050565b600067ffffffffffffffff8211156113da57600080fd5b5060209081020190565b90815260200190565b60006102e082611407565b151590565b8061031181611437565b6001600160a01b031690565b90565b60006102e0826113fd565b82818337506000910152565b601f01601f191690565b6004811061144157fe5b50565b61144d816113ed565b811461144157600080fd5b6004811061144157600080fd5b61144d8161141356fea164736f6c634300060c000a", "sourceMap": "516:11547:10:-:0;;;1550:258;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1600:24;;;;-1:-1:-1;;;;;;1600:24:10;;;1742:58;;;;;;;;;-1:-1:-1;1742:58:10;;;;;;;;;1731:70;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1731:70:10;;;-1:-1:-1;;;;;;1731:70:10;;;;;;;;;;;;;;;-1:-1:-1;;;;1731:70:10;-1:-1:-1;;;1731:70:10;;;;;;;;;;;;;;;;1550:258;516:11547;;5:134:-1;83:13;;101:33;83:13;101:33;:::i;:::-;68:71;;;;:::o;146:263::-;;261:2;249:9;240:7;236:23;232:32;229:2;;;277:1;274;267:12;229:2;312:1;329:64;385:7;365:9;329:64;:::i;:::-;319:74;223:186;-1:-1;;;;223:186::o;416:91::-;;-1:-1;;;;;576:54;;478:24;559:76::o;642:117::-;711:24;729:5;711:24;:::i;:::-;704:5;701:35;691:2;;750:1;747;740:12;691:2;685:74;:::o;:::-;516:11547:10;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106101165760003560e01c806375674f46116100a2578063afc8dd6111610071578063afc8dd6114610246578063b426f94614610259578063be68406e1461026c578063ebb3d5891461027f578063ee4483dc1461028757610116565b806375674f46146101fa5780638da3d7361461020d578063956e8faa14610220578063abdf62151461023357610116565b806330bdd386116100e957806330bdd3861461018c5780633a6914fe1461019f5780634446fe37146101b257806351d3a322146101c5578063539f2ab4146101da57610116565b8063107df6c51461011b57806319bcc938146101445780631c563204146101645780632ce37b1014610177575b600080fd5b61012e610129366004610f55565b61029a565b60405161013b9190611288565b60405180910390f35b610157610152366004610fb4565b6102e6565b60405161013b919061127a565b61012e610172366004610fd2565b610316565b61017f610358565b60405161013b9190611316565b61012e61019a366004610f55565b61035e565b61012e6101ad366004610f55565b61039e565b61012e6101c0366004611047565b6103d2565b6101d86101d3366004610ff1565b610413565b005b6101ed6101e8366004610fb4565b610599565b60405161013b9190611296565b61012e610208366004610f04565b6105c8565b6101d861021b366004610ff1565b610613565b6101d861022e366004610fd2565b6106cc565b61012e610241366004611047565b61075c565b61012e610254366004610f04565b61078f565b6101d8610267366004610eac565b6107c1565b61017f61027a366004610e44565b610893565b6101576109be565b6101d8610295366004611066565b6109e2565b6000805b82518110156102da576102c4848483815181106102b757fe5b602002602001015161078f565b6102d25760009150506102e0565b60010161029e565b50600190505b92915050565b60008082815481106102f457fe5b60009182526020909120600290910201546001600160a01b031690505b919050565b600080838154811061032457fe5b600091825260208083206001600160a01b03861684526001600290930201919091019052604090205460ff16905092915050565b60005490565b6000805b82518110156102da576103888484838151811061037b57fe5b60200260200101516105c8565b6103965760009150506102e0565b600101610362565b6000805b82518110156102da576103bb8484838151811061037b57fe5b156103ca5760009150506102e0565b6001016103a2565b6000805b82518110156102da576103fc848483815181106103ef57fe5b6020026020010151610316565b1561040b5760009150506102e0565b6001016103d6565b8261041e3382610ade565b6104435760405162461bcd60e51b815260040161043a906112b6565b60405180910390fd5b600061044e85610599565b9050600281600381111561045e57fe5b14806104755750600381600381111561047357fe5b145b6104915760405162461bcd60e51b815260040161043a906112e6565b60005b83811015610591576104c1868686848181106104ac57fe5b90506020020160208101906101729190610e08565b156105895760008087815481106104d457fe5b906000526020600020906002020160010160008787858181106104f357fe5b90506020020160208101906105089190610e08565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055857f810f138e6e0ca6f5ac0bf2efc960187bce2c3b5afbb1e2d05905f2be7b3810b686868481811061055e57fe5b90506020020160208101906105739190610e08565b604051610580919061127a565b60405180910390a25b600101610494565b505050505050565b60008082815481106105a757fe5b6000918252602090912060029091020154600160a01b900460ff1692915050565b6000805b8351811015610609576105f28482815181106105e457fe5b602002602001015184610316565b156106015760019150506102e0565b6001016105cc565b5060009392505050565b8261061e3382610ade565b61063a5760405162461bcd60e51b815260040161043a906112b6565b600061064585610599565b9050600181600381111561065557fe5b148061066c5750600381600381111561066a57fe5b145b6106885760405162461bcd60e51b815260040161043a906112f6565b6106c585858580806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250610bbe92505050565b5050505050565b816106d73382610ade565b6106f35760405162461bcd60e51b815260040161043a906112b6565b816000848154811061070157fe5b6000918252602082206002919091020180546001600160a01b0319166001600160a01b039384161790556040519184169185917f2d1c424d2803af2219fba896bc3092aed0ab3f7b022f412b79562b0fc2c2907d91a3505050565b6000805b82518110156102da57610779848483815181106103ef57fe5b6107875760009150506102e0565b600101610760565b6000805b83518110156102da576107ab8482815181106105e457fe5b6107b95760009150506102e0565b600101610793565b8281146107e05760405162461bcd60e51b815260040161043a906112c6565b60005b838110156106c557610807338686848181106107fb57fe5b90506020020135610ade565b6108235760405162461bcd60e51b815260040161043a906112d6565b84848281811061082f57fe5b905060200201357fddbb257b211697fab7f1ee9f59674cba284dbd7b9f6e1f3da5b645c890bf940084848481811061086357fe5b90506020028101906108759190611346565b6040516108839291906112a4565b60405180910390a26001016107e3565b600061089d610358565b905060006040518060400160405280876001600160a01b031681526020018660038111156108c757fe5b905281546001810183556000928352602092839020825160029092020180546001600160a01b0319166001600160a01b0390921691909117808255928201519192909190829060ff60a01b1916600160a01b83600381111561092557fe5b02179055505050846001600160a01b0316336001600160a01b03167fc2b2d696fda57bcf0347d9ea036ce8258434f4171cd131b4c1d22a6f0ae960d28387604051610971929190611324565b60405180910390a36109b681848480806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250610bbe92505050565b949350505050565b7f000000000000000000000000000000000000000000000000000000000000000090565b816109ed3382610ade565b610a095760405162461bcd60e51b815260040161043a906112b6565b6000610a1484610599565b90506000836003811115610a2457fe5b1480610a3b57506003816003811115610a3957fe5b145b610a575760405162461bcd60e51b815260040161043a90611306565b8260008581548110610a6557fe5b60009182526020909120600290910201805460ff60a01b1916600160a01b836003811115610a8f57fe5b0217905550826003811115610aa057fe5b847f44966c6bc2b3eef1eea6958dc704bb8527d350a282589bb13dd056819bd9d64683604051610ad09190611296565b60405180910390a350505050565b600080610aea836102e6565b9050806001600160a01b0316846001600160a01b031614806109b65750610b0f6109be565b6001600160a01b0316816001600160a01b03161480156109b65750610b326109be565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b158015610b6a57600080fd5b505afa158015610b7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ba29190610e26565b6001600160a01b0316846001600160a01b031614949350505050565b60005b8151811015610c9f57610bda838383815181106103ef57fe5b610c9757600160008481548110610bed57fe5b90600052602060002090600202016001016000848481518110610c0c57fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff021916908315150217905550827fb8848f994c7d66cdc76defd3606ffefb56ad840b408bf51230110196d5f4d8c4838381518110610c7957fe5b6020026020010151604051610c8e919061127a565b60405180910390a25b600101610bc1565b505050565b80356102e081611444565b80516102e081611444565b60008083601f840112610ccc57600080fd5b50813567ffffffffffffffff811115610ce457600080fd5b602083019150836020820283011115610cfc57600080fd5b9250929050565b600082601f830112610d1457600080fd5b8135610d27610d22826113c3565b61139c565b91508181835260208401935060208101905083856020840282011115610d4c57600080fd5b60005b83811015610d785781610d628882610ca4565b8452506020928301929190910190600101610d4f565b5050505092915050565b600082601f830112610d9357600080fd5b8135610da1610d22826113c3565b91508181835260208401935060208101905083856020840282011115610dc657600080fd5b60005b83811015610d785781610ddc8882610dfd565b8452506020928301929190910190600101610dc9565b80356102e081611458565b80356102e081611465565b600060208284031215610e1a57600080fd5b60006109b68484610ca4565b600060208284031215610e3857600080fd5b60006109b68484610caf565b60008060008060608587031215610e5a57600080fd5b6000610e668787610ca4565b9450506020610e7787828801610df2565b935050604085013567ffffffffffffffff811115610e9457600080fd5b610ea087828801610cba565b95989497509550505050565b60008060008060408587031215610ec257600080fd5b843567ffffffffffffffff811115610ed957600080fd5b610ee587828801610cba565b9450945050602085013567ffffffffffffffff811115610e9457600080fd5b60008060408385031215610f1757600080fd5b823567ffffffffffffffff811115610f2e57600080fd5b610f3a85828601610d82565b9250506020610f4b85828601610ca4565b9150509250929050565b60008060408385031215610f6857600080fd5b823567ffffffffffffffff811115610f7f57600080fd5b610f8b85828601610d82565b925050602083013567ffffffffffffffff811115610fa857600080fd5b610f4b85828601610d03565b600060208284031215610fc657600080fd5b60006109b68484610dfd565b60008060408385031215610fe557600080fd5b6000610f3a8585610dfd565b60008060006040848603121561100657600080fd5b60006110128686610dfd565b935050602084013567ffffffffffffffff81111561102f57600080fd5b61103b86828701610cba565b92509250509250925092565b6000806040838503121561105a57600080fd5b6000610f8b8585610dfd565b6000806040838503121561107957600080fd5b60006110858585610dfd565b9250506020610f4b85828601610df2565b61109f816113ed565b82525050565b61109f816113f8565b61109f81611416565b60006110c383856113e4565b93506110d0838584611421565b6110d98361142d565b9093019392505050565b60006110f0601b836113e4565b7f4f6e6c792063616c6c61626c65206279206c697374206f776e65720000000000815260200192915050565b6000611129601b836113e4565b7f6174746573744c697374733a20556e657175616c206172726179730000000000815260200192915050565b60006111626028836113e4565b7f6174746573744c697374733a204f6e6c792063616c6c61626c65206279206c6981526739ba1037bbb732b960c11b602082015260400192915050565b60006111ac6027836113e4565b7f72656d6f766546726f6d4c6973743a2043616e6e6f742072656d6f76652066728152661bdb481b1a5cdd60ca1b602082015260400192915050565b60006111f5601d836113e4565b7f616464546f4c6973743a2043616e6e6f742061646420746f206c697374000000815260200192915050565b600061122e602e836113e4565b7f7365744c697374557064617465547970653a205f6e657874557064617465547981526d1c19481b9bdd08185b1b1bddd95960921b602082015260400192915050565b61109f81611413565b602081016102e08284611096565b602081016102e082846110a5565b602081016102e082846110ae565b602080825281016109b68184866110b7565b602080825281016102e0816110e3565b602080825281016102e08161111c565b602080825281016102e081611155565b602080825281016102e08161119f565b602080825281016102e0816111e8565b602080825281016102e081611221565b602081016102e08284611271565b604081016113328285611271565b61133f60208301846110ae565b9392505050565b6000808335601e193685900301811261135e57600080fd5b80840192508235915067ffffffffffffffff82111561137c57600080fd5b60208301925060018202360383131561139457600080fd5b509250929050565b60405181810167ffffffffffffffff811182821017156113bb57600080fd5b604052919050565b600067ffffffffffffffff8211156113da57600080fd5b5060209081020190565b90815260200190565b60006102e082611407565b151590565b8061031181611437565b6001600160a01b031690565b90565b60006102e0826113fd565b82818337506000910152565b601f01601f191690565b6004811061144157fe5b50565b61144d816113ed565b811461144157600080fd5b6004811061144157600080fd5b61144d8161141356fea164736f6c634300060c000a", "sourceMap": "516:11547:10:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8149:332;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11361:112;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;11922:139::-;;;;;;:::i;:::-;;:::i;11147:97::-;;;:::i;:::-;;;;;;;:::i;8720:341::-;;;;;;:::i;:::-;;:::i;9313:344::-;;;;;;:::i;:::-;;:::i;7560:314::-;;;;;;:::i;:::-;;:::i;4115:626::-;;;;;;:::i;:::-;;:::i;:::-;;11605:130;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;10459:310::-;;;;;;:::i;:::-;;:::i;1973:344::-;;;;;;:::i;:::-;;:::i;4876:174::-;;;;;;:::i;:::-;;:::i;7033:309::-;;;;;;:::i;:::-;;:::i;9930:305::-;;;;;;:::i;:::-;;:::i;2783:445::-;;;;;;:::i;:::-;;:::i;3574:393::-;;;;;;:::i;:::-;;:::i;10955:101::-;;;:::i;5294:486::-;;;;;;:::i;:::-;;:::i;8149:332::-;8270:22;8313:9;8308:145;8328:6;:13;8324:1;:17;8308:145;;;8367:29;8380:4;8386:6;8393:1;8386:9;;;;;;;;;;;;;;8367:12;:29::i;:::-;8362:81;;8423:5;8416:12;;;;;8362:81;8343:3;;8308:145;;;;8470:4;8463:11;;8149:332;;;;;:::o;11361:112::-;11417:14;11450:5;11456:3;11450:10;;;;;;;;;;;;;;;;;;;;;:16;-1:-1:-1;;;;;11450:16:10;;-1:-1:-1;11361:112:10;;;;:::o;11922:139::-;11989:14;12022:5;12028:3;12022:10;;;;;;;;;;;;;;;;-1:-1:-1;;;;;12022:32:10;;;;:25;:10;;;;;:25;;;;:32;;;;;;;;;-1:-1:-1;11922:139:10;;;;:::o;11147:97::-;11192:14;11225:12;11147:97;:::o;8720:341::-;8844:25;8890:9;8885:148;8905:6;:13;8901:1;:17;8885:148;;;8944:32;8960:4;8966:6;8973:1;8966:9;;;;;;;;;;;;;;8944:15;:32::i;:::-;8939:84;;9003:5;8996:12;;;;;8939:84;8920:3;;8885:148;;9313:344;9439:27;9487:9;9482:147;9502:6;:13;9498:1;:17;9482:147;;;9540:32;9556:4;9562:6;9569:1;9562:9;;;;;;;9540:32;9536:83;;;9599:5;9592:12;;;;;9536:83;9517:3;;9482:147;;7560:314;7670:21;7712:9;7707:139;7727:6;:13;7723:1;:17;7707:139;;;7765:24;7774:3;7779:6;7786:1;7779:9;;;;;;;;;;;;;;7765:8;:24::i;:::-;7761:75;;;7816:5;7809:12;;;;;7761:75;7742:3;;7707:139;;4115:626;4202:3;1464:30;1478:10;1490:3;1464:13;:30::i;:::-;1456:70;;;;-1:-1:-1;;;1456:70:10;;;;;;;:::i;:::-;;;;;;;;;4217:21:::1;4241:22;4259:3;4241:17;:22::i;:::-;4217:46:::0;-1:-1:-1;4308:21:10::1;4294:10;:35;;;;;;;;;:76;;;-1:-1:-1::0;4347:23:10::1;4333:10;:37;;;;;;;;;4294:76;4273:162;;;;-1:-1:-1::0;;;4273:162:10::1;;;;;;;:::i;:::-;4510:9;4505:230;4521:17:::0;;::::1;4505:230;;;4563:24;4572:3;4577:6;;4584:1;4577:9;;;;;;;;;;;;;;;;;;;;:::i;4563:24::-;4559:166;;;4646:5;4607::::0;4613:3:::1;4607:10;;;;;;;;;;;;;;;;;;:25;;:36;4633:6;;4640:1;4633:9;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;4607:36:10::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;4607:36:10;:44;;-1:-1:-1;;4607:44:10::1;::::0;::::1;;::::0;;;::::1;::::0;;4695:3;4675:35:::1;4700:6:::0;;4707:1;4700:9;;::::1;;;;;;;;;;;;;;;;;;:::i;:::-;4675:35;;;;;;:::i;:::-;;;;;;;;4559:166;4540:3;;4505:230;;;;1536:1;4115:626:::0;;;;:::o;11605:130::-;11666:22;11707:5;11713:3;11707:10;;;;;;;;;;;;;;;;;;;;;:21;-1:-1:-1;;;11707:21:10;;;;;11605:130;-1:-1:-1;;11605:130:10:o;10459:310::-;10567:21;10609:9;10604:136;10624:4;:11;10620:1;:15;10604:136;;;10660:24;10669:4;10674:1;10669:7;;;;;;;;;;;;;;10678:5;10660:8;:24::i;:::-;10656:74;;;10711:4;10704:11;;;;;10656:74;10637:3;;10604:136;;;-1:-1:-1;10757:5:10;;10459:310;-1:-1:-1;;;10459:310:10:o;1973:344::-;2055:3;1464:30;1478:10;1490:3;1464:13;:30::i;:::-;1456:70;;;;-1:-1:-1;;;1456:70:10;;;;;;;:::i;:::-;2070:21:::1;2094:22;2112:3;2094:17;:22::i;:::-;2070:46:::0;-1:-1:-1;2161:18:10::1;2147:10;:32;;;;;;;;;:73;;;-1:-1:-1::0;2197:23:10::1;2183:10;:37;;;;;;;;;2147:73;2126:149;;;;-1:-1:-1::0;;;2126:149:10::1;;;;;;;:::i;:::-;2286:24;2298:3;2303:6;;2286:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;2286:11:10::1;::::0;-1:-1:-1;;;2286:24:10:i:1;:::-;1536:1;1973:344:::0;;;;:::o;4876:174::-;4954:3;1464:30;1478:10;1490:3;1464:13;:30::i;:::-;1456:70;;;;-1:-1:-1;;;1456:70:10;;;;;;;:::i;:::-;4988:10:::1;4969:5;4975:3;4969:10;;;;;;;;;::::0;;;::::1;::::0;;::::1;::::0;;;::::1;;:29:::0;;-1:-1:-1;;;;;;4969:29:10::1;-1:-1:-1::0;;;;;4969:29:10;;::::1;;::::0;;5014::::1;::::0;;;::::1;::::0;5027:3;;5014:29:::1;::::0;::::1;4876:174:::0;;;:::o;7033:309::-;7140:18;7179:9;7174:140;7194:6;:13;7190:1;:17;7174:140;;;7233:24;7242:3;7247:6;7254:1;7247:9;;;;;;;7233:24;7228:76;;7284:5;7277:12;;;;;7228:76;7209:3;;7174:140;;9930:305;10035:18;10074:9;10069:138;10089:4;:11;10085:1;:15;10069:138;;;10126:24;10135:4;10140:1;10135:7;;;;;;;10126:24;10121:76;;10177:5;10170:12;;;;;10121:76;10102:3;;10069:138;;2783:445;2889:35;;;2881:75;;;;-1:-1:-1;;;2881:75:10;;;;;;;:::i;:::-;2972:9;2967:255;2983:15;;;2967:255;;;3044:34;3058:10;3070:4;;3075:1;3070:7;;;;;;;;;;;;;3044:13;:34::i;:::-;3019:133;;;;-1:-1:-1;;;3019:133:10;;;;;;;:::i;:::-;3185:4;;3190:1;3185:7;;;;;;;;;;;;;3172:39;3194:13;;3208:1;3194:16;;;;;;;;;;;;;;;;;;:::i;:::-;3172:39;;;;;;;:::i;:::-;;;;;;;;3000:3;;2967:255;;3574:393;3716:11;3745:14;:12;:14::i;:::-;3739:20;;3770:5;3781:50;;;;;;;;3798:6;-1:-1:-1;;;;;3781:50:10;;;;;3818:11;3781:50;;;;;;;;;;3770:62;;;;;;;-1:-1:-1;3770:62:10;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;3770:62:10;-1:-1:-1;;;;;3770:62:10;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;3770:62:10;-1:-1:-1;;;3770:62:10;;;;;;;;;;;;;;;;3872:6;-1:-1:-1;;;;;3848:49:10;3860:10;-1:-1:-1;;;;;3848:49:10;;3880:3;3885:11;3848:49;;;;;;;:::i;:::-;;;;;;;;3908:31;3920:3;3925:13;;3908:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3908:11:10;;-1:-1:-1;;;3908:31:10:i;:::-;3574:393;;;;;;:::o;10955:101::-;11039:10;10955:101;:::o;5294:486::-;5401:3;1464:30;1478:10;1490:3;1464:13;:30::i;:::-;1456:70;;;;-1:-1:-1;;;1456:70:10;;;;;;;:::i;:::-;5420:25:::1;5448:22;5466:3;5448:17;:22::i;:::-;5420:50:::0;-1:-1:-1;5520:15:10::1;5501;:34;;;;;;;;;:79;;;-1:-1:-1::0;5557:23:10::1;5539:14;:41;;;;;;;;;5501:79;5480:172;;;;-1:-1:-1::0;;;5480:172:10::1;;;;;;;:::i;:::-;5687:15;5663:5;5669:3;5663:10;;;;;;;;;::::0;;;::::1;::::0;;;::::1;::::0;;::::1;;:39:::0;;-1:-1:-1;;;;5663:39:10::1;-1:-1:-1::0;;;5663:39:10;::::1;::::0;::::1;;;;;;;;;;;5757:15;5718:55;;;;;;;;5736:3;5718:55;5741:14;5718:55;;;;;;:::i;:::-;;;;;;;;1536:1;5294:486:::0;;;:::o;6242:276::-;6314:17;6343:13;6359:17;6372:3;6359:12;:17::i;:::-;6343:33;;6413:5;-1:-1:-1;;;;;6405:13:10;:4;-1:-1:-1;;;;;6405:13:10;;:106;;;;6444:15;:13;:15::i;:::-;-1:-1:-1;;;;;6435:24:10;:5;-1:-1:-1;;;;;6435:24:10;;:75;;;;;6483:15;:13;:15::i;:::-;-1:-1:-1;;;;;6471:37:10;;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;6463:47:10;:4;-1:-1:-1;;;;;6463:47:10;;6386:125;6242:276;-1:-1:-1;;;;6242:276:10:o;5855:309::-;5937:9;5932:226;5952:6;:13;5948:1;:17;5932:226;;;5991:24;6000:3;6005:6;6012:1;6005:9;;;;;;;5991:24;5986:162;;6074:4;6035:5;6041:3;6035:10;;;;;;;;;;;;;;;;;;:25;;:36;6061:6;6068:1;6061:9;;;;;;;;;;;;;;-1:-1:-1;;;;;6035:36:10;-1:-1:-1;;;;;6035:36:10;;;;;;;;;;;;;:43;;;;;;;;;;;;;;;;;;6118:3;6102:31;6123:6;6130:1;6123:9;;;;;;;;;;;;;;6102:31;;;;;;:::i;:::-;;;;;;;;5986:162;5967:3;;5932:226;;;;5855:309;;:::o;5:130:-1:-;72:20;;97:33;72:20;97:33;:::i;142:134::-;220:13;;238:33;220:13;238:33;:::i;301:352::-;;;431:3;424:4;416:6;412:17;408:27;398:2;;449:1;446;439:12;398:2;-1:-1;469:20;;509:18;498:30;;495:2;;;541:1;538;531:12;495:2;575:4;567:6;563:17;551:29;;626:3;618:4;610:6;606:17;596:8;592:32;589:41;586:2;;;643:1;640;633:12;586:2;391:262;;;;;:::o;679:707::-;;796:3;789:4;781:6;777:17;773:27;763:2;;814:1;811;804:12;763:2;851:6;838:20;873:80;888:64;945:6;888:64;:::i;:::-;873:80;:::i;:::-;864:89;;970:5;995:6;988:5;981:21;1025:4;1017:6;1013:17;1003:27;;1047:4;1042:3;1038:14;1031:21;;1100:6;1147:3;1139:4;1131:6;1127:17;1122:3;1118:27;1115:36;1112:2;;;1164:1;1161;1154:12;1112:2;1189:1;1174:206;1199:6;1196:1;1193:13;1174:206;;;1257:3;1279:37;1312:3;1300:10;1279:37;:::i;:::-;1267:50;;-1:-1;1340:4;1331:14;;;;1359;;;;;1221:1;1214:9;1174:206;;;1178:14;756:630;;;;;;;:::o;2179:707::-;;2296:3;2289:4;2281:6;2277:17;2273:27;2263:2;;2314:1;2311;2304:12;2263:2;2351:6;2338:20;2373:80;2388:64;2445:6;2388:64;:::i;2373:80::-;2364:89;;2470:5;2495:6;2488:5;2481:21;2525:4;2517:6;2513:17;2503:27;;2547:4;2542:3;2538:14;2531:21;;2600:6;2647:3;2639:4;2631:6;2627:17;2622:3;2618:27;2615:36;2612:2;;;2664:1;2661;2654:12;2612:2;2689:1;2674:206;2699:6;2696:1;2693:13;2674:206;;;2757:3;2779:37;2812:3;2800:10;2779:37;:::i;:::-;2767:50;;-1:-1;2840:4;2831:14;;;;2859;;;;;2721:1;2714:9;2674:206;;2894:160;2976:20;;3001:48;2976:20;3001:48;:::i;3061:130::-;3128:20;;3153:33;3128:20;3153:33;:::i;3198:241::-;;3302:2;3290:9;3281:7;3277:23;3273:32;3270:2;;;3318:1;3315;3308:12;3270:2;3353:1;3370:53;3415:7;3395:9;3370:53;:::i;3446:263::-;;3561:2;3549:9;3540:7;3536:23;3532:32;3529:2;;;3577:1;3574;3567:12;3529:2;3612:1;3629:64;3685:7;3665:9;3629:64;:::i;3716:677::-;;;;;3904:2;3892:9;3883:7;3879:23;3875:32;3872:2;;;3920:1;3917;3910:12;3872:2;3955:1;3972:53;4017:7;3997:9;3972:53;:::i;:::-;3962:63;;3934:97;4062:2;4080:68;4140:7;4131:6;4120:9;4116:22;4080:68;:::i;:::-;4070:78;;4041:113;4213:2;4202:9;4198:18;4185:32;4237:18;4229:6;4226:30;4223:2;;;4269:1;4266;4259:12;4223:2;4297:80;4369:7;4360:6;4349:9;4345:22;4297:80;:::i;:::-;3866:527;;;;-1:-1;4279:98;-1:-1;;;;3866:527::o;4400:702::-;;;;;4603:2;4591:9;4582:7;4578:23;4574:32;4571:2;;;4619:1;4616;4609:12;4571:2;4654:31;;4705:18;4694:30;;4691:2;;;4737:1;4734;4727:12;4691:2;4765:80;4837:7;4828:6;4817:9;4813:22;4765:80;:::i;:::-;4747:98;;;;4633:218;4910:2;4899:9;4895:18;4882:32;4934:18;4926:6;4923:30;4920:2;;;4966:1;4963;4956:12;5109:502;;;5255:2;5243:9;5234:7;5230:23;5226:32;5223:2;;;5271:1;5268;5261:12;5223:2;5306:31;;5357:18;5346:30;;5343:2;;;5389:1;5386;5379:12;5343:2;5409:78;5479:7;5470:6;5459:9;5455:22;5409:78;:::i;:::-;5399:88;;5285:208;5524:2;5542:53;5587:7;5578:6;5567:9;5563:22;5542:53;:::i;:::-;5532:63;;5503:98;5217:394;;;;;:::o;5618:638::-;;;5789:2;5777:9;5768:7;5764:23;5760:32;5757:2;;;5805:1;5802;5795:12;5757:2;5840:31;;5891:18;5880:30;;5877:2;;;5923:1;5920;5913:12;5877:2;5943:78;6013:7;6004:6;5993:9;5989:22;5943:78;:::i;:::-;5933:88;;5819:208;6086:2;6075:9;6071:18;6058:32;6110:18;6102:6;6099:30;6096:2;;;6142:1;6139;6132:12;6096:2;6162:78;6232:7;6223:6;6212:9;6208:22;6162:78;:::i;6263:241::-;;6367:2;6355:9;6346:7;6342:23;6338:32;6335:2;;;6383:1;6380;6373:12;6335:2;6418:1;6435:53;6480:7;6460:9;6435:53;:::i;6511:366::-;;;6632:2;6620:9;6611:7;6607:23;6603:32;6600:2;;;6648:1;6645;6638:12;6600:2;6683:1;6700:53;6745:7;6725:9;6700:53;:::i;6884:522::-;;;;7040:2;7028:9;7019:7;7015:23;7011:32;7008:2;;;7056:1;7053;7046:12;7008:2;7091:1;7108:53;7153:7;7133:9;7108:53;:::i;:::-;7098:63;;7070:97;7226:2;7215:9;7211:18;7198:32;7250:18;7242:6;7239:30;7236:2;;;7282:1;7279;7272:12;7236:2;7310:80;7382:7;7373:6;7362:9;7358:22;7310:80;:::i;:::-;7292:98;;;;7177:219;7002:404;;;;;:::o;7413:502::-;;;7559:2;7547:9;7538:7;7534:23;7530:32;7527:2;;;7575:1;7572;7565:12;7527:2;7610:1;7627:53;7672:7;7652:9;7627:53;:::i;7922:396::-;;;8058:2;8046:9;8037:7;8033:23;8029:32;8026:2;;;8074:1;8071;8064:12;8026:2;8109:1;8126:53;8171:7;8151:9;8126:53;:::i;:::-;8116:63;;8088:97;8216:2;8234:68;8294:7;8285:6;8274:9;8270:22;8234:68;:::i;8325:113::-;8408:24;8426:5;8408:24;:::i;:::-;8403:3;8396:37;8390:48;;:::o;8445:104::-;8522:21;8537:5;8522:21;:::i;8556:152::-;8652:50;8696:5;8652:50;:::i;8740:300::-;;8856:71;8920:6;8915:3;8856:71;:::i;:::-;8849:78;;8939:43;8975:6;8970:3;8963:5;8939:43;:::i;:::-;9004:29;9026:6;9004:29;:::i;:::-;8995:39;;;;8842:198;-1:-1;;;8842:198::o;9049:327::-;;9209:67;9273:2;9268:3;9209:67;:::i;:::-;9309:29;9289:50;;9367:2;9358:12;;9195:181;-1:-1;;9195:181::o;9385:327::-;;9545:67;9609:2;9604:3;9545:67;:::i;:::-;9645:29;9625:50;;9703:2;9694:12;;9531:181;-1:-1;;9531:181::o;9721:377::-;;9881:67;9945:2;9940:3;9881:67;:::i;:::-;9981:34;9961:55;;-1:-1;;;10045:2;10036:12;;10029:32;10089:2;10080:12;;9867:231;-1:-1;;9867:231::o;10107:376::-;;10267:67;10331:2;10326:3;10267:67;:::i;:::-;10367:34;10347:55;;-1:-1;;;10431:2;10422:12;;10415:31;10474:2;10465:12;;10253:230;-1:-1;;10253:230::o;10492:329::-;;10652:67;10716:2;10711:3;10652:67;:::i;:::-;10752:31;10732:52;;10812:2;10803:12;;10638:183;-1:-1;;10638:183::o;10830:383::-;;10990:67;11054:2;11049:3;10990:67;:::i;:::-;11090:34;11070:55;;-1:-1;;;11154:2;11145:12;;11138:38;11204:2;11195:12;;10976:237;-1:-1;;10976:237::o;11221:113::-;11304:24;11322:5;11304:24;:::i;11341:222::-;11468:2;11453:18;;11482:71;11457:9;11526:6;11482:71;:::i;11570:210::-;11691:2;11676:18;;11705:65;11680:9;11743:6;11705:65;:::i;11787:248::-;11927:2;11912:18;;11941:84;11916:9;11998:6;11941:84;:::i;12042:330::-;12199:2;12213:47;;;12184:18;;12274:88;12184:18;12348:6;12340;12274:88;:::i;12379:416::-;12579:2;12593:47;;;12564:18;;12654:131;12564:18;12654:131;:::i;12802:416::-;13002:2;13016:47;;;12987:18;;13077:131;12987:18;13077:131;:::i;13225:416::-;13425:2;13439:47;;;13410:18;;13500:131;13410:18;13500:131;:::i;13648:416::-;13848:2;13862:47;;;13833:18;;13923:131;13833:18;13923:131;:::i;14071:416::-;14271:2;14285:47;;;14256:18;;14346:131;14256:18;14346:131;:::i;14494:416::-;14694:2;14708:47;;;14679:18;;14769:131;14679:18;14769:131;:::i;14917:222::-;15044:2;15029:18;;15058:71;15033:9;15102:6;15058:71;:::i;15146:359::-;15314:2;15299:18;;15328:71;15303:9;15372:6;15328:71;:::i;:::-;15410:85;15491:2;15480:9;15476:18;15467:6;15410:85;:::i;:::-;15285:220;;;;;:::o;15512:507::-;;;15635:25;;-1:-1;;15707:14;15703:29;;;15699:48;15675:73;;15665:2;;15762:1;15759;15752:12;15665:2;15793:18;15783:8;15779:33;15771:41;;15846:4;15833:18;15823:28;;15871:18;15863:6;15860:30;15857:2;;;15903:1;15900;15893:12;15857:2;15931;15925:4;15921:13;15913:21;;15985:4;15977:6;15973:17;15957:14;15953:38;15947:4;15943:49;15940:2;;;16005:1;16002;15995:12;15940:2;15603:416;;;;;;:::o;16026:256::-;16088:2;16082:9;16114:17;;;16189:18;16174:34;;16210:22;;;16171:62;16168:2;;;16246:1;16243;16236:12;16168:2;16262;16255:22;16066:216;;-1:-1;16066:216::o;16289:304::-;;16448:18;16440:6;16437:30;16434:2;;;16480:1;16477;16470:12;16434:2;-1:-1;16515:4;16503:17;;;16568:15;;16371:222::o;16912:163::-;17015:19;;;17064:4;17055:14;;17008:67::o;17083:91::-;;17145:24;17163:5;17145:24;:::i;17181:85::-;17247:13;17240:21;;17223:43::o;17273:136::-;17350:5;17356:48;17350:5;17356:48;:::i;17416:121::-;-1:-1;;;;;17478:54;;17461:76::o;17544:72::-;17606:5;17589:27::o;17623:136::-;;17715:39;17748:5;17715:39;:::i;17767:145::-;17848:6;17843:3;17838;17825:30;-1:-1;17904:1;17886:16;;17879:27;17818:94::o;17920:97::-;18008:2;17988:14;-1:-1;;17984:28;;17968:49::o;18025:106::-;18109:1;18102:5;18099:12;18089:2;;18115:9;18089:2;18083:48;:::o;18138:117::-;18207:24;18225:5;18207:24;:::i;:::-;18200:5;18197:35;18187:2;;18246:1;18243;18236:12;18262:109;18346:1;18339:5;18336:12;18326:2;;18362:1;18359;18352:12;18378:117;18447:24;18465:5;18447:24;:::i", "linkReferences": {}, "immutableReferences": { "1759": [ { "start": 2496, "length": 32 } ] } }, "methodIdentifiers": { "addToList(uint256,address[])": "8da3d736", "areAllInAllLists(uint256[],address[])": "107df6c5", "areAllInList(uint256,address[])": "abdf6215", "areAllInSomeOfLists(uint256[],address[])": "30bdd386", "areAllNotInAnyOfLists(uint256[],address[])": "3a6914fe", "areAllNotInList(uint256,address[])": "4446fe37", "attestLists(uint256[],string[])": "b426f946", "createList(address,uint8,address[])": "be68406e", "getDispatcher()": "ebb3d589", "getListCount()": "2ce37b10", "getListOwner(uint256)": "19bcc938", "getListUpdateType(uint256)": "539f2ab4", "isInAllLists(uint256[],address)": "afc8dd61", "isInList(uint256,address)": "1c563204", "isInSomeOfLists(uint256[],address)": "75674f46", "removeFromList(uint256,address[])": "51d3a322", "setListOwner(uint256,address)": "956e8faa", "setListUpdateType(uint256,uint8)": "ee4483dc" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_dispatcher\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"item\",\"type\":\"address\"}],\"name\":\"ItemAddedToList\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"item\",\"type\":\"address\"}],\"name\":\"ItemRemovedFromList\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"}],\"name\":\"ListAttested\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"creator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"enum AddressListRegistry.UpdateType\",\"name\":\"updateType\",\"type\":\"uint8\"}],\"name\":\"ListCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"nextOwner\",\"type\":\"address\"}],\"name\":\"ListOwnerSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"enum AddressListRegistry.UpdateType\",\"name\":\"prevUpdateType\",\"type\":\"uint8\"},{\"indexed\":true,\"internalType\":\"enum AddressListRegistry.UpdateType\",\"name\":\"nextUpdateType\",\"type\":\"uint8\"}],\"name\":\"ListUpdateTypeSet\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"_items\",\"type\":\"address[]\"}],\"name\":\"addToList\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"_ids\",\"type\":\"uint256[]\"},{\"internalType\":\"address[]\",\"name\":\"_items\",\"type\":\"address[]\"}],\"name\":\"areAllInAllLists\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"areAllInAllLists_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"_items\",\"type\":\"address[]\"}],\"name\":\"areAllInList\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"areAllInList_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"_ids\",\"type\":\"uint256[]\"},{\"internalType\":\"address[]\",\"name\":\"_items\",\"type\":\"address[]\"}],\"name\":\"areAllInSomeOfLists\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"areAllInSomeOfLists_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"_ids\",\"type\":\"uint256[]\"},{\"internalType\":\"address[]\",\"name\":\"_items\",\"type\":\"address[]\"}],\"name\":\"areAllNotInAnyOfLists\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"areAllNotInAnyOfLists_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"_items\",\"type\":\"address[]\"}],\"name\":\"areAllNotInList\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"areAllNotInList_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"_ids\",\"type\":\"uint256[]\"},{\"internalType\":\"string[]\",\"name\":\"_descriptions\",\"type\":\"string[]\"}],\"name\":\"attestLists\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"enum AddressListRegistry.UpdateType\",\"name\":\"_updateType\",\"type\":\"uint8\"},{\"internalType\":\"address[]\",\"name\":\"_initialItems\",\"type\":\"address[]\"}],\"name\":\"createList\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"id_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDispatcher\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"dispatcher_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getListCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"count_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"}],\"name\":\"getListOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"}],\"name\":\"getListUpdateType\",\"outputs\":[{\"internalType\":\"enum AddressListRegistry.UpdateType\",\"name\":\"updateType_\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"_ids\",\"type\":\"uint256[]\"},{\"internalType\":\"address\",\"name\":\"_item\",\"type\":\"address\"}],\"name\":\"isInAllLists\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isInAllLists_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_item\",\"type\":\"address\"}],\"name\":\"isInList\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isInList_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"_ids\",\"type\":\"uint256[]\"},{\"internalType\":\"address\",\"name\":\"_item\",\"type\":\"address\"}],\"name\":\"isInSomeOfLists\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isInSomeOfLists_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"_items\",\"type\":\"address[]\"}],\"name\":\"removeFromList\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_nextOwner\",\"type\":\"address\"}],\"name\":\"setListOwner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"},{\"internalType\":\"enum AddressListRegistry.UpdateType\",\"name\":\"_nextUpdateType\",\"type\":\"uint8\"}],\"name\":\"setListUpdateType\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"addToList(uint256,address[])\":{\"params\":{\"_id\":\"The id of the list\",\"_items\":\"The items to add to the list\"}},\"areAllInAllLists(uint256[],address[])\":{\"params\":{\"_ids\":\"The list ids\",\"_items\":\"The items to check\"},\"returns\":{\"areAllInAllLists_\":\"True if all items are in all of the lists\"}},\"areAllInList(uint256,address[])\":{\"params\":{\"_id\":\"The list id\",\"_items\":\"The items to check\"},\"returns\":{\"areAllInList_\":\"True if all items are in the list\"}},\"areAllInSomeOfLists(uint256[],address[])\":{\"params\":{\"_ids\":\"The list ids\",\"_items\":\"The items to check\"},\"returns\":{\"areAllInSomeOfLists_\":\"True if all items are in one of the lists\"}},\"areAllNotInAnyOfLists(uint256[],address[])\":{\"params\":{\"_ids\":\"The list ids\",\"_items\":\"The items to check\"},\"returns\":{\"areAllNotInAnyOfLists_\":\"True if all items are absent from all lists\"}},\"areAllNotInList(uint256,address[])\":{\"params\":{\"_id\":\"The list id\",\"_items\":\"The items to check\"},\"returns\":{\"areAllNotInList_\":\"True if no items are in the list\"}},\"attestLists(uint256[],string[])\":{\"details\":\"Since UserA can create a list on behalf of UserB, this function provides a mechanism for UserB to attest to their management of the items therein. It will not be visible on-chain, but will be available in event logs.\",\"params\":{\"_descriptions\":\"The descriptions of the lists' content\",\"_ids\":\"The ids of the lists\"}},\"createList(address,uint8,address[])\":{\"details\":\"Specify the DISPATCHER as the _owner to make the Enzyme Council the owner\",\"params\":{\"_initialItems\":\"The initial items to add to the list\",\"_owner\":\"The owner of the list\",\"_updateType\":\"The UpdateType for the list\"},\"returns\":{\"id_\":\"The id of the newly-created list\"}},\"getDispatcher()\":{\"returns\":{\"dispatcher_\":\"The `DISPATCHER` variable value\"}},\"getListCount()\":{\"returns\":{\"count_\":\"The total count\"}},\"getListOwner(uint256)\":{\"params\":{\"_id\":\"The list id\"},\"returns\":{\"owner_\":\"The owner\"}},\"getListUpdateType(uint256)\":{\"params\":{\"_id\":\"The list id\"},\"returns\":{\"updateType_\":\"The UpdateType\"}},\"isInAllLists(uint256[],address)\":{\"params\":{\"_ids\":\"The list ids\",\"_item\":\"The item to check\"},\"returns\":{\"isInAllLists_\":\"True if item is in all of the lists\"}},\"isInList(uint256,address)\":{\"params\":{\"_id\":\"The list id\",\"_item\":\"The item to check\"},\"returns\":{\"isInList_\":\"True if the item is in the list\"}},\"isInSomeOfLists(uint256[],address)\":{\"params\":{\"_ids\":\"The list ids\",\"_item\":\"The item to check\"},\"returns\":{\"isInSomeOfLists_\":\"True if item is in one of the lists\"}},\"removeFromList(uint256,address[])\":{\"params\":{\"_id\":\"The id of the list\",\"_items\":\"The items to remove from the list\"}},\"setListOwner(uint256,address)\":{\"params\":{\"_id\":\"The id of the list\",\"_nextOwner\":\"The owner to set\"}},\"setListUpdateType(uint256,uint8)\":{\"details\":\"Can only change to a less mutable option (e.g., both add and remove => add only)\",\"params\":{\"_id\":\"The id of the list\",\"_nextUpdateType\":\"The UpdateType to set\"}}},\"title\":\"AddressListRegistry Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"addToList(uint256,address[])\":{\"notice\":\"Adds items to a given list\"},\"areAllInAllLists(uint256[],address[])\":{\"notice\":\"Checks if multiple items are all in all of a given set of lists\"},\"areAllInList(uint256,address[])\":{\"notice\":\"Checks if multiple items are all in a given list\"},\"areAllInSomeOfLists(uint256[],address[])\":{\"notice\":\"Checks if multiple items are all in one of a given set of lists\"},\"areAllNotInAnyOfLists(uint256[],address[])\":{\"notice\":\"Checks if multiple items are all absent from all of a given set of lists\"},\"areAllNotInList(uint256,address[])\":{\"notice\":\"Checks if multiple items are all absent from a given list\"},\"attestLists(uint256[],string[])\":{\"notice\":\"Attests active ownership for lists and (optionally) a description of each list's content\"},\"createList(address,uint8,address[])\":{\"notice\":\"Creates a new list\"},\"getDispatcher()\":{\"notice\":\"Gets the `DISPATCHER` variable\"},\"getListCount()\":{\"notice\":\"Gets the total count of lists\"},\"getListOwner(uint256)\":{\"notice\":\"Gets the owner of a given list\"},\"getListUpdateType(uint256)\":{\"notice\":\"Gets the UpdateType of a given list\"},\"isInAllLists(uint256[],address)\":{\"notice\":\"Checks if an item is in all of a given set of lists\"},\"isInList(uint256,address)\":{\"notice\":\"Checks if an item is in a given list\"},\"isInSomeOfLists(uint256[],address)\":{\"notice\":\"Checks if an item is in at least one of a given set of lists\"},\"removeFromList(uint256,address[])\":{\"notice\":\"Removes items from a given list\"},\"setListOwner(uint256,address)\":{\"notice\":\"Sets the owner for a given list\"},\"setListUpdateType(uint256,uint8)\":{\"notice\":\"Sets the UpdateType for a given list\"}},\"notice\":\"A contract for creating and updating lists of addresses\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/address-list-registry/AddressListRegistry.sol\":\"AddressListRegistry\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/address-list-registry/AddressListRegistry.sol\":{\"keccak256\":\"0xf00a9e376e3ec2a223f463f71c15ee3af3642dd028bc3762440e316b760c8048\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://01986c9327b5dfbfac21316dced6d68727931ddde1278ed1342d878004f984b9\",\"dweb:/ipfs/QmdXkFaUU43JqMTYEREbWa129rohdqN7GXy7mVRpjCfSLD\"]},\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_dispatcher", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "uint256", "name": "id", "type": "uint256", "indexed": true }, { "internalType": "address", "name": "item", "type": "address", "indexed": false } ], "type": "event", "name": "ItemAddedToList", "anonymous": false }, { "inputs": [ { "internalType": "uint256", "name": "id", "type": "uint256", "indexed": true }, { "internalType": "address", "name": "item", "type": "address", "indexed": false } ], "type": "event", "name": "ItemRemovedFromList", "anonymous": false }, { "inputs": [ { "internalType": "uint256", "name": "id", "type": "uint256", "indexed": true }, { "internalType": "string", "name": "description", "type": "string", "indexed": false } ], "type": "event", "name": "ListAttested", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "creator", "type": "address", "indexed": true }, { "internalType": "address", "name": "owner", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "id", "type": "uint256", "indexed": false }, { "internalType": "enum AddressListRegistry.UpdateType", "name": "updateType", "type": "uint8", "indexed": false } ], "type": "event", "name": "ListCreated", "anonymous": false }, { "inputs": [ { "internalType": "uint256", "name": "id", "type": "uint256", "indexed": true }, { "internalType": "address", "name": "nextOwner", "type": "address", "indexed": true } ], "type": "event", "name": "ListOwnerSet", "anonymous": false }, { "inputs": [ { "internalType": "uint256", "name": "id", "type": "uint256", "indexed": true }, { "internalType": "enum AddressListRegistry.UpdateType", "name": "prevUpdateType", "type": "uint8", "indexed": false }, { "internalType": "enum AddressListRegistry.UpdateType", "name": "nextUpdateType", "type": "uint8", "indexed": true } ], "type": "event", "name": "ListUpdateTypeSet", "anonymous": false }, { "inputs": [ { "internalType": "uint256", "name": "_id", "type": "uint256" }, { "internalType": "address[]", "name": "_items", "type": "address[]" } ], "stateMutability": "nonpayable", "type": "function", "name": "addToList" }, { "inputs": [ { "internalType": "uint256[]", "name": "_ids", "type": "uint256[]" }, { "internalType": "address[]", "name": "_items", "type": "address[]" } ], "stateMutability": "view", "type": "function", "name": "areAllInAllLists", "outputs": [ { "internalType": "bool", "name": "areAllInAllLists_", "type": "bool" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_id", "type": "uint256" }, { "internalType": "address[]", "name": "_items", "type": "address[]" } ], "stateMutability": "view", "type": "function", "name": "areAllInList", "outputs": [ { "internalType": "bool", "name": "areAllInList_", "type": "bool" } ] }, { "inputs": [ { "internalType": "uint256[]", "name": "_ids", "type": "uint256[]" }, { "internalType": "address[]", "name": "_items", "type": "address[]" } ], "stateMutability": "view", "type": "function", "name": "areAllInSomeOfLists", "outputs": [ { "internalType": "bool", "name": "areAllInSomeOfLists_", "type": "bool" } ] }, { "inputs": [ { "internalType": "uint256[]", "name": "_ids", "type": "uint256[]" }, { "internalType": "address[]", "name": "_items", "type": "address[]" } ], "stateMutability": "view", "type": "function", "name": "areAllNotInAnyOfLists", "outputs": [ { "internalType": "bool", "name": "areAllNotInAnyOfLists_", "type": "bool" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_id", "type": "uint256" }, { "internalType": "address[]", "name": "_items", "type": "address[]" } ], "stateMutability": "view", "type": "function", "name": "areAllNotInList", "outputs": [ { "internalType": "bool", "name": "areAllNotInList_", "type": "bool" } ] }, { "inputs": [ { "internalType": "uint256[]", "name": "_ids", "type": "uint256[]" }, { "internalType": "string[]", "name": "_descriptions", "type": "string[]" } ], "stateMutability": "nonpayable", "type": "function", "name": "attestLists" }, { "inputs": [ { "internalType": "address", "name": "_owner", "type": "address" }, { "internalType": "enum AddressListRegistry.UpdateType", "name": "_updateType", "type": "uint8" }, { "internalType": "address[]", "name": "_initialItems", "type": "address[]" } ], "stateMutability": "nonpayable", "type": "function", "name": "createList", "outputs": [ { "internalType": "uint256", "name": "id_", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getDispatcher", "outputs": [ { "internalType": "address", "name": "dispatcher_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getListCount", "outputs": [ { "internalType": "uint256", "name": "count_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_id", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "getListOwner", "outputs": [ { "internalType": "address", "name": "owner_", "type": "address" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_id", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "getListUpdateType", "outputs": [ { "internalType": "enum AddressListRegistry.UpdateType", "name": "updateType_", "type": "uint8" } ] }, { "inputs": [ { "internalType": "uint256[]", "name": "_ids", "type": "uint256[]" }, { "internalType": "address", "name": "_item", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "isInAllLists", "outputs": [ { "internalType": "bool", "name": "isInAllLists_", "type": "bool" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_id", "type": "uint256" }, { "internalType": "address", "name": "_item", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "isInList", "outputs": [ { "internalType": "bool", "name": "isInList_", "type": "bool" } ] }, { "inputs": [ { "internalType": "uint256[]", "name": "_ids", "type": "uint256[]" }, { "internalType": "address", "name": "_item", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "isInSomeOfLists", "outputs": [ { "internalType": "bool", "name": "isInSomeOfLists_", "type": "bool" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_id", "type": "uint256" }, { "internalType": "address[]", "name": "_items", "type": "address[]" } ], "stateMutability": "nonpayable", "type": "function", "name": "removeFromList" }, { "inputs": [ { "internalType": "uint256", "name": "_id", "type": "uint256" }, { "internalType": "address", "name": "_nextOwner", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "setListOwner" }, { "inputs": [ { "internalType": "uint256", "name": "_id", "type": "uint256" }, { "internalType": "enum AddressListRegistry.UpdateType", "name": "_nextUpdateType", "type": "uint8" } ], "stateMutability": "nonpayable", "type": "function", "name": "setListUpdateType" } ], "devdoc": { "kind": "dev", "methods": { "addToList(uint256,address[])": { "params": { "_id": "The id of the list", "_items": "The items to add to the list" } }, "areAllInAllLists(uint256[],address[])": { "params": { "_ids": "The list ids", "_items": "The items to check" }, "returns": { "areAllInAllLists_": "True if all items are in all of the lists" } }, "areAllInList(uint256,address[])": { "params": { "_id": "The list id", "_items": "The items to check" }, "returns": { "areAllInList_": "True if all items are in the list" } }, "areAllInSomeOfLists(uint256[],address[])": { "params": { "_ids": "The list ids", "_items": "The items to check" }, "returns": { "areAllInSomeOfLists_": "True if all items are in one of the lists" } }, "areAllNotInAnyOfLists(uint256[],address[])": { "params": { "_ids": "The list ids", "_items": "The items to check" }, "returns": { "areAllNotInAnyOfLists_": "True if all items are absent from all lists" } }, "areAllNotInList(uint256,address[])": { "params": { "_id": "The list id", "_items": "The items to check" }, "returns": { "areAllNotInList_": "True if no items are in the list" } }, "attestLists(uint256[],string[])": { "details": "Since UserA can create a list on behalf of UserB, this function provides a mechanism for UserB to attest to their management of the items therein. It will not be visible on-chain, but will be available in event logs.", "params": { "_descriptions": "The descriptions of the lists' content", "_ids": "The ids of the lists" } }, "createList(address,uint8,address[])": { "details": "Specify the DISPATCHER as the _owner to make the Enzyme Council the owner", "params": { "_initialItems": "The initial items to add to the list", "_owner": "The owner of the list", "_updateType": "The UpdateType for the list" }, "returns": { "id_": "The id of the newly-created list" } }, "getDispatcher()": { "returns": { "dispatcher_": "The `DISPATCHER` variable value" } }, "getListCount()": { "returns": { "count_": "The total count" } }, "getListOwner(uint256)": { "params": { "_id": "The list id" }, "returns": { "owner_": "The owner" } }, "getListUpdateType(uint256)": { "params": { "_id": "The list id" }, "returns": { "updateType_": "The UpdateType" } }, "isInAllLists(uint256[],address)": { "params": { "_ids": "The list ids", "_item": "The item to check" }, "returns": { "isInAllLists_": "True if item is in all of the lists" } }, "isInList(uint256,address)": { "params": { "_id": "The list id", "_item": "The item to check" }, "returns": { "isInList_": "True if the item is in the list" } }, "isInSomeOfLists(uint256[],address)": { "params": { "_ids": "The list ids", "_item": "The item to check" }, "returns": { "isInSomeOfLists_": "True if item is in one of the lists" } }, "removeFromList(uint256,address[])": { "params": { "_id": "The id of the list", "_items": "The items to remove from the list" } }, "setListOwner(uint256,address)": { "params": { "_id": "The id of the list", "_nextOwner": "The owner to set" } }, "setListUpdateType(uint256,uint8)": { "details": "Can only change to a less mutable option (e.g., both add and remove => add only)", "params": { "_id": "The id of the list", "_nextUpdateType": "The UpdateType to set" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "addToList(uint256,address[])": { "notice": "Adds items to a given list" }, "areAllInAllLists(uint256[],address[])": { "notice": "Checks if multiple items are all in all of a given set of lists" }, "areAllInList(uint256,address[])": { "notice": "Checks if multiple items are all in a given list" }, "areAllInSomeOfLists(uint256[],address[])": { "notice": "Checks if multiple items are all in one of a given set of lists" }, "areAllNotInAnyOfLists(uint256[],address[])": { "notice": "Checks if multiple items are all absent from all of a given set of lists" }, "areAllNotInList(uint256,address[])": { "notice": "Checks if multiple items are all absent from a given list" }, "attestLists(uint256[],string[])": { "notice": "Attests active ownership for lists and (optionally) a description of each list's content" }, "createList(address,uint8,address[])": { "notice": "Creates a new list" }, "getDispatcher()": { "notice": "Gets the `DISPATCHER` variable" }, "getListCount()": { "notice": "Gets the total count of lists" }, "getListOwner(uint256)": { "notice": "Gets the owner of a given list" }, "getListUpdateType(uint256)": { "notice": "Gets the UpdateType of a given list" }, "isInAllLists(uint256[],address)": { "notice": "Checks if an item is in all of a given set of lists" }, "isInList(uint256,address)": { "notice": "Checks if an item is in a given list" }, "isInSomeOfLists(uint256[],address)": { "notice": "Checks if an item is in at least one of a given set of lists" }, "removeFromList(uint256,address[])": { "notice": "Removes items from a given list" }, "setListOwner(uint256,address)": { "notice": "Sets the owner for a given list" }, "setListUpdateType(uint256,uint8)": { "notice": "Sets the UpdateType for a given list" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/persistent/address-list-registry/AddressListRegistry.sol": "AddressListRegistry" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/address-list-registry/AddressListRegistry.sol": { "keccak256": "0xf00a9e376e3ec2a223f463f71c15ee3af3642dd028bc3762440e316b760c8048", "urls": [ "bzz-raw://01986c9327b5dfbfac21316dced6d68727931ddde1278ed1342d878004f984b9", "dweb:/ipfs/QmdXkFaUU43JqMTYEREbWa129rohdqN7GXy7mVRpjCfSLD" ], "license": "GPL-3.0" }, "contracts/persistent/dispatcher/IDispatcher.sol": { "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", "urls": [ "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 10 } diff --git a/eth_defi/abi/enzyme/AddressListRegistryPerUserPolicyBase.json b/eth_defi/abi/enzyme/AddressListRegistryPerUserPolicyBase.json index 841f50db..eb41a764 100644 --- a/eth_defi/abi/enzyme/AddressListRegistryPerUserPolicyBase.json +++ b/eth_defi/abi/enzyme/AddressListRegistryPerUserPolicyBase.json @@ -1,785 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_policyUser", - "type": "address" - }, - { - "internalType": "address", - "name": "_addressListRegistry", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "comptrollerProxy", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "listIds", - "type": "uint256[]" - } - ], - "name": "ListsSetForFundAndUser", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "activateForFund", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_encodedSettings", - "type": "bytes" - } - ], - "name": "addFundSettings", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "canDisable", - "outputs": [ - { - "internalType": "bool", - "name": "canDisable_", - "type": "bool" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_user", - "type": "address" - } - ], - "name": "getListIdsForFundAndUser", - "outputs": [ - { - "internalType": "uint256[]", - "name": "listIds_", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getPolicyManager", - "outputs": [ - { - "internalType": "address", - "name": "policyManager_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "identifier", - "outputs": [ - { - "internalType": "string", - "name": "identifier_", - "type": "string" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "implementedHooks", - "outputs": [ - { - "internalType": "enum IPolicyManager.PolicyHook[]", - "name": "implementedHooks_", - "type": "uint8[]" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "updateFundSettings", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "enum IPolicyManager.PolicyHook", - "name": "_hook", - "type": "uint8" - }, - { - "internalType": "bytes", - "name": "_encodedArgs", - "type": "bytes" - } - ], - "name": "validateRule", - "outputs": [ - { - "internalType": "bool", - "name": "isValid_", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "activateForFund(address)": "ceb9a0ad", - "addFundSettings(address,bytes)": "0f5f6b4f", - "canDisable()": "1ef92578", - "getListIdsForFundAndUser(address,address)": "b174666c", - "getPolicyManager()": "d44ad6cb", - "identifier()": "7998a1c4", - "implementedHooks()": "cbf54bb2", - "updateFundSettings(address,bytes)": "0d4d7510", - "validateRule(address,uint8,bytes)": "579be718" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_policyUser\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_addressListRegistry\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"listIds\",\"type\":\"uint256[]\"}],\"name\":\"ListsSetForFundAndUser\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"activateForFund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_encodedSettings\",\"type\":\"bytes\"}],\"name\":\"addFundSettings\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"canDisable\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"canDisable_\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"getListIdsForFundAndUser\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"listIds_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPolicyManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"policyManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"identifier\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"identifier_\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"implementedHooks\",\"outputs\":[{\"internalType\":\"enum IPolicyManager.PolicyHook[]\",\"name\":\"implementedHooks_\",\"type\":\"uint8[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"updateFundSettings\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"enum IPolicyManager.PolicyHook\",\"name\":\"_hook\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"_encodedArgs\",\"type\":\"bytes\"}],\"name\":\"validateRule\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isValid_\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"activateForFund(address)\":{\"details\":\"Unimplemented by default, can be overridden by the policy\"},\"addFundSettings(address,bytes)\":{\"params\":{\"_comptrollerProxy\":\"The fund's ComptrollerProxy address\",\"_encodedSettings\":\"Encoded settings to apply to a fund\"}},\"canDisable()\":{\"details\":\"False by default, can be overridden by the policy\",\"returns\":{\"canDisable_\":\"True if the policy can be disabled\"}},\"getListIdsForFundAndUser(address,address)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\",\"_user\":\"The user of the fund\"},\"returns\":{\"listIds_\":\"The list ids\"}},\"getPolicyManager()\":{\"returns\":{\"policyManager_\":\"The `POLICY_MANAGER` variable value\"}},\"updateFundSettings(address,bytes)\":{\"details\":\"Disallowed by default, can be overridden by the policy\"}},\"title\":\"AddressListRegistryPerUserPolicyBase Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"activateForFund(address)\":{\"notice\":\"Validates and initializes a policy as necessary prior to fund activation\"},\"addFundSettings(address,bytes)\":{\"notice\":\"Adds the initial policy settings for a fund\"},\"canDisable()\":{\"notice\":\"Whether or not the policy can be disabled\"},\"getListIdsForFundAndUser(address,address)\":{\"notice\":\"Gets the list ids used by a given fund and user\"},\"getPolicyManager()\":{\"notice\":\"Gets the `POLICY_MANAGER` variable value\"},\"updateFundSettings(address,bytes)\":{\"notice\":\"Updates the policy settings for a fund\"}},\"notice\":\"Base contract inheritable by any policy that uses the AddressListRegistry and wants to track lists per fund user\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/policy-manager/policies/utils/AddressListRegistryPerUserPolicyBase.sol\":\"AddressListRegistryPerUserPolicyBase\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/address-list-registry/AddressListRegistry.sol\":{\"keccak256\":\"0xf00a9e376e3ec2a223f463f71c15ee3af3642dd028bc3762440e316b760c8048\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://01986c9327b5dfbfac21316dced6d68727931ddde1278ed1342d878004f984b9\",\"dweb:/ipfs/QmdXkFaUU43JqMTYEREbWa129rohdqN7GXy7mVRpjCfSLD\"]},\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/persistent/vault/interfaces/IExternalPositionVault.sol\":{\"keccak256\":\"0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d\",\"dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8\"]},\"contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol\":{\"keccak256\":\"0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb\",\"dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU\"]},\"contracts/persistent/vault/interfaces/IMigratableVault.sol\":{\"keccak256\":\"0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6\",\"dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs\"]},\"contracts/persistent/vault/interfaces/IVaultCore.sol\":{\"keccak256\":\"0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd\",\"dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr\"]},\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/core/fund/comptroller/ComptrollerLib.sol\":{\"keccak256\":\"0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579\",\"dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq\"]},\"contracts/release/core/fund/comptroller/IComptroller.sol\":{\"keccak256\":\"0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97\",\"dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L\"]},\"contracts/release/core/fund/vault/IVault.sol\":{\"keccak256\":\"0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599\",\"dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG\"]},\"contracts/release/extensions/IExtension.sol\":{\"keccak256\":\"0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70\",\"dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t\"]},\"contracts/release/extensions/fee-manager/IFeeManager.sol\":{\"keccak256\":\"0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22\",\"dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod\"]},\"contracts/release/extensions/policy-manager/IPolicy.sol\":{\"keccak256\":\"0xc12663ca72065b256c3b934ab738fde26c147c7b0399de43650df89dd52ee467\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://be8fecfcba0f3fda615f0a1bb3c766750c23761ef751d7c4472dfe540e460cd1\",\"dweb:/ipfs/QmaarPoRTsX6NiJ8V4u2f3Qh6d7tUs28bw9R14An3t5Bs1\"]},\"contracts/release/extensions/policy-manager/IPolicyManager.sol\":{\"keccak256\":\"0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa\",\"dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb\"]},\"contracts/release/extensions/policy-manager/policies/utils/AddressListRegistryPerUserPolicyBase.sol\":{\"keccak256\":\"0x64c2bf7e45fa9337d198d99aaea1c0c57b05cc4b2e8783fd2d6275cac026ed84\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://20a3e36b4c666e5a1bc89557e82aed53b06a5942845ce5ba309896c221278f4a\",\"dweb:/ipfs/QmUjfEJUhZ4jBbyVsaLkC8SdHC86a9Vtvz2SXBmLe6pTza\"]},\"contracts/release/extensions/policy-manager/policies/utils/PolicyBase.sol\":{\"keccak256\":\"0x972311abb98f0da815b4aca83d5afdd219d3604ec19cf5e3773c0c305bd9b3f1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2452f3d1f3b1d8e8459a07489146a2d0d8a10463715937995cbe77ee5de8c069\",\"dweb:/ipfs/Qmf2hhd2DVbjpxmbNGAhRZNZkqpGZA2mX3eA1WNwtv6t5Y\"]},\"contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol\":{\"keccak256\":\"0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f\",\"dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol\":{\"keccak256\":\"0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0\",\"dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol\":{\"keccak256\":\"0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b\",\"dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3\"]},\"contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol\":{\"keccak256\":\"0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965\",\"dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ\"]},\"contracts/release/interfaces/IGsnForwarder.sol\":{\"keccak256\":\"0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29\",\"dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G\"]},\"contracts/release/interfaces/IGsnPaymaster.sol\":{\"keccak256\":\"0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4\",\"dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF\"]},\"contracts/release/interfaces/IGsnTypes.sol\":{\"keccak256\":\"0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7\",\"dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/beacon-proxy/IBeacon.sol\":{\"keccak256\":\"0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39\",\"dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V\"]},\"contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol\":{\"keccak256\":\"0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be\",\"dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_policyUser", - "type": "address" - }, - { - "internalType": "address", - "name": "_addressListRegistry", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "comptrollerProxy", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "user", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256[]", - "name": "listIds", - "type": "uint256[]", - "indexed": false - } - ], - "type": "event", - "name": "ListsSetForFundAndUser", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "activateForFund" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_encodedSettings", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "addFundSettings" - }, - { - "inputs": [], - "stateMutability": "pure", - "type": "function", - "name": "canDisable", - "outputs": [ - { - "internalType": "bool", - "name": "canDisable_", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_user", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getListIdsForFundAndUser", - "outputs": [ - { - "internalType": "uint256[]", - "name": "listIds_", - "type": "uint256[]" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getPolicyManager", - "outputs": [ - { - "internalType": "address", - "name": "policyManager_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "pure", - "type": "function", - "name": "identifier", - "outputs": [ - { - "internalType": "string", - "name": "identifier_", - "type": "string" - } - ] - }, - { - "inputs": [], - "stateMutability": "pure", - "type": "function", - "name": "implementedHooks", - "outputs": [ - { - "internalType": "enum IPolicyManager.PolicyHook[]", - "name": "implementedHooks_", - "type": "uint8[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "updateFundSettings" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "enum IPolicyManager.PolicyHook", - "name": "_hook", - "type": "uint8" - }, - { - "internalType": "bytes", - "name": "_encodedArgs", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "validateRule", - "outputs": [ - { - "internalType": "bool", - "name": "isValid_", - "type": "bool" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "activateForFund(address)": { - "details": "Unimplemented by default, can be overridden by the policy" - }, - "addFundSettings(address,bytes)": { - "params": { - "_comptrollerProxy": "The fund's ComptrollerProxy address", - "_encodedSettings": "Encoded settings to apply to a fund" - } - }, - "canDisable()": { - "details": "False by default, can be overridden by the policy", - "returns": { - "canDisable_": "True if the policy can be disabled" - } - }, - "getListIdsForFundAndUser(address,address)": { - "params": { - "_comptrollerProxy": "The ComptrollerProxy of the fund", - "_user": "The user of the fund" - }, - "returns": { - "listIds_": "The list ids" - } - }, - "getPolicyManager()": { - "returns": { - "policyManager_": "The `POLICY_MANAGER` variable value" - } - }, - "updateFundSettings(address,bytes)": { - "details": "Disallowed by default, can be overridden by the policy" - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "activateForFund(address)": { - "notice": "Validates and initializes a policy as necessary prior to fund activation" - }, - "addFundSettings(address,bytes)": { - "notice": "Adds the initial policy settings for a fund" - }, - "canDisable()": { - "notice": "Whether or not the policy can be disabled" - }, - "getListIdsForFundAndUser(address,address)": { - "notice": "Gets the list ids used by a given fund and user" - }, - "getPolicyManager()": { - "notice": "Gets the `POLICY_MANAGER` variable value" - }, - "updateFundSettings(address,bytes)": { - "notice": "Updates the policy settings for a fund" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/policy-manager/policies/utils/AddressListRegistryPerUserPolicyBase.sol": "AddressListRegistryPerUserPolicyBase" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/address-list-registry/AddressListRegistry.sol": { - "keccak256": "0xf00a9e376e3ec2a223f463f71c15ee3af3642dd028bc3762440e316b760c8048", - "urls": [ - "bzz-raw://01986c9327b5dfbfac21316dced6d68727931ddde1278ed1342d878004f984b9", - "dweb:/ipfs/QmdXkFaUU43JqMTYEREbWa129rohdqN7GXy7mVRpjCfSLD" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/dispatcher/IDispatcher.sol": { - "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", - "urls": [ - "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", - "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/external-positions/IExternalPosition.sol": { - "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", - "urls": [ - "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", - "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IExternalPositionVault.sol": { - "keccak256": "0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6", - "urls": [ - "bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d", - "dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol": { - "keccak256": "0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0", - "urls": [ - "bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb", - "dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IMigratableVault.sol": { - "keccak256": "0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238", - "urls": [ - "bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6", - "dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IVaultCore.sol": { - "keccak256": "0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80", - "urls": [ - "bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd", - "dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund-deployer/IFundDeployer.sol": { - "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", - "urls": [ - "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", - "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/comptroller/ComptrollerLib.sol": { - "keccak256": "0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64", - "urls": [ - "bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579", - "dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/comptroller/IComptroller.sol": { - "keccak256": "0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f", - "urls": [ - "bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97", - "dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/vault/IVault.sol": { - "keccak256": "0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd", - "urls": [ - "bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599", - "dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/IExtension.sol": { - "keccak256": "0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b", - "urls": [ - "bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70", - "dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/fee-manager/IFeeManager.sol": { - "keccak256": "0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51", - "urls": [ - "bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22", - "dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/policy-manager/IPolicy.sol": { - "keccak256": "0xc12663ca72065b256c3b934ab738fde26c147c7b0399de43650df89dd52ee467", - "urls": [ - "bzz-raw://be8fecfcba0f3fda615f0a1bb3c766750c23761ef751d7c4472dfe540e460cd1", - "dweb:/ipfs/QmaarPoRTsX6NiJ8V4u2f3Qh6d7tUs28bw9R14An3t5Bs1" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/policy-manager/IPolicyManager.sol": { - "keccak256": "0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32", - "urls": [ - "bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa", - "dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/policy-manager/policies/utils/AddressListRegistryPerUserPolicyBase.sol": { - "keccak256": "0x64c2bf7e45fa9337d198d99aaea1c0c57b05cc4b2e8783fd2d6275cac026ed84", - "urls": [ - "bzz-raw://20a3e36b4c666e5a1bc89557e82aed53b06a5942845ce5ba309896c221278f4a", - "dweb:/ipfs/QmUjfEJUhZ4jBbyVsaLkC8SdHC86a9Vtvz2SXBmLe6pTza" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/policy-manager/policies/utils/PolicyBase.sol": { - "keccak256": "0x972311abb98f0da815b4aca83d5afdd219d3604ec19cf5e3773c0c305bd9b3f1", - "urls": [ - "bzz-raw://2452f3d1f3b1d8e8459a07489146a2d0d8a10463715937995cbe77ee5de8c069", - "dweb:/ipfs/Qmf2hhd2DVbjpxmbNGAhRZNZkqpGZA2mX3eA1WNwtv6t5Y" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol": { - "keccak256": "0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609", - "urls": [ - "bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f", - "dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol": { - "keccak256": "0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01", - "urls": [ - "bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0", - "dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol": { - "keccak256": "0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196", - "urls": [ - "bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b", - "dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol": { - "keccak256": "0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794", - "urls": [ - "bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965", - "dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IGsnForwarder.sol": { - "keccak256": "0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030", - "urls": [ - "bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29", - "dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IGsnPaymaster.sol": { - "keccak256": "0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c", - "urls": [ - "bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4", - "dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IGsnTypes.sol": { - "keccak256": "0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714", - "urls": [ - "bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7", - "dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AddressArrayLib.sol": { - "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", - "urls": [ - "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", - "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/beacon-proxy/IBeacon.sol": { - "keccak256": "0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2", - "urls": [ - "bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39", - "dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol": { - "keccak256": "0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc", - "urls": [ - "bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be", - "dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { - "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", - "urls": [ - "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", - "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Address.sol": { - "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", - "urls": [ - "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", - "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 220 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_policyUser", "type": "address", "internalType": "address" }, { "name": "_addressListRegistry", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "activateForFund", "inputs": [ { "name": "", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "addFundSettings", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" }, { "name": "_encodedSettings", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "canDisable", "inputs": [], "outputs": [ { "name": "canDisable_", "type": "bool", "internalType": "bool" } ], "stateMutability": "pure" }, { "type": "function", "name": "getListIdsForFundAndUser", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" }, { "name": "_user", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "listIds_", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "view" }, { "type": "function", "name": "getPolicyManager", "inputs": [], "outputs": [ { "name": "policyManager_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "identifier", "inputs": [], "outputs": [ { "name": "identifier_", "type": "string", "internalType": "string" } ], "stateMutability": "pure" }, { "type": "function", "name": "implementedHooks", "inputs": [], "outputs": [ { "name": "implementedHooks_", "type": "uint8[]", "internalType": "enum IPolicyManager.PolicyHook[]" } ], "stateMutability": "pure" }, { "type": "function", "name": "updateFundSettings", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "validateRule", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" }, { "name": "_hook", "type": "uint8", "internalType": "enum IPolicyManager.PolicyHook" }, { "name": "_encodedArgs", "type": "bytes", "internalType": "bytes" } ], "outputs": [ { "name": "isValid_", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "event", "name": "ListsSetForFundAndUser", "inputs": [ { "name": "comptrollerProxy", "type": "address", "indexed": true, "internalType": "address" }, { "name": "user", "type": "address", "indexed": true, "internalType": "address" }, { "name": "listIds", "type": "uint256[]", "indexed": false, "internalType": "uint256[]" } ], "anonymous": false } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "activateForFund(address)": "ceb9a0ad", "addFundSettings(address,bytes)": "0f5f6b4f", "canDisable()": "1ef92578", "getListIdsForFundAndUser(address,address)": "b174666c", "getPolicyManager()": "d44ad6cb", "identifier()": "7998a1c4", "implementedHooks()": "cbf54bb2", "updateFundSettings(address,bytes)": "0d4d7510", "validateRule(address,uint8,bytes)": "579be718" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_policyUser\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_addressListRegistry\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"listIds\",\"type\":\"uint256[]\"}],\"name\":\"ListsSetForFundAndUser\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"activateForFund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_encodedSettings\",\"type\":\"bytes\"}],\"name\":\"addFundSettings\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"canDisable\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"canDisable_\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"getListIdsForFundAndUser\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"listIds_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPolicyManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"policyManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"identifier\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"identifier_\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"implementedHooks\",\"outputs\":[{\"internalType\":\"enum IPolicyManager.PolicyHook[]\",\"name\":\"implementedHooks_\",\"type\":\"uint8[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"updateFundSettings\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"enum IPolicyManager.PolicyHook\",\"name\":\"_hook\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"_encodedArgs\",\"type\":\"bytes\"}],\"name\":\"validateRule\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isValid_\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"activateForFund(address)\":{\"details\":\"Unimplemented by default, can be overridden by the policy\"},\"addFundSettings(address,bytes)\":{\"params\":{\"_comptrollerProxy\":\"The fund's ComptrollerProxy address\",\"_encodedSettings\":\"Encoded settings to apply to a fund\"}},\"canDisable()\":{\"details\":\"False by default, can be overridden by the policy\",\"returns\":{\"canDisable_\":\"True if the policy can be disabled\"}},\"getListIdsForFundAndUser(address,address)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\",\"_user\":\"The user of the fund\"},\"returns\":{\"listIds_\":\"The list ids\"}},\"getPolicyManager()\":{\"returns\":{\"policyManager_\":\"The `POLICY_MANAGER` variable value\"}},\"updateFundSettings(address,bytes)\":{\"details\":\"Disallowed by default, can be overridden by the policy\"}},\"title\":\"AddressListRegistryPerUserPolicyBase Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"activateForFund(address)\":{\"notice\":\"Validates and initializes a policy as necessary prior to fund activation\"},\"addFundSettings(address,bytes)\":{\"notice\":\"Adds the initial policy settings for a fund\"},\"canDisable()\":{\"notice\":\"Whether or not the policy can be disabled\"},\"getListIdsForFundAndUser(address,address)\":{\"notice\":\"Gets the list ids used by a given fund and user\"},\"getPolicyManager()\":{\"notice\":\"Gets the `POLICY_MANAGER` variable value\"},\"updateFundSettings(address,bytes)\":{\"notice\":\"Updates the policy settings for a fund\"}},\"notice\":\"Base contract inheritable by any policy that uses the AddressListRegistry and wants to track lists per fund user\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/policy-manager/policies/utils/AddressListRegistryPerUserPolicyBase.sol\":\"AddressListRegistryPerUserPolicyBase\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/address-list-registry/AddressListRegistry.sol\":{\"keccak256\":\"0xf00a9e376e3ec2a223f463f71c15ee3af3642dd028bc3762440e316b760c8048\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://01986c9327b5dfbfac21316dced6d68727931ddde1278ed1342d878004f984b9\",\"dweb:/ipfs/QmdXkFaUU43JqMTYEREbWa129rohdqN7GXy7mVRpjCfSLD\"]},\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/persistent/vault/interfaces/IExternalPositionVault.sol\":{\"keccak256\":\"0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d\",\"dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8\"]},\"contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol\":{\"keccak256\":\"0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb\",\"dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU\"]},\"contracts/persistent/vault/interfaces/IMigratableVault.sol\":{\"keccak256\":\"0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6\",\"dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs\"]},\"contracts/persistent/vault/interfaces/IVaultCore.sol\":{\"keccak256\":\"0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd\",\"dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr\"]},\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/core/fund/comptroller/ComptrollerLib.sol\":{\"keccak256\":\"0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579\",\"dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq\"]},\"contracts/release/core/fund/comptroller/IComptroller.sol\":{\"keccak256\":\"0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97\",\"dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L\"]},\"contracts/release/core/fund/vault/IVault.sol\":{\"keccak256\":\"0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599\",\"dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG\"]},\"contracts/release/extensions/IExtension.sol\":{\"keccak256\":\"0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70\",\"dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t\"]},\"contracts/release/extensions/fee-manager/IFeeManager.sol\":{\"keccak256\":\"0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22\",\"dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod\"]},\"contracts/release/extensions/policy-manager/IPolicy.sol\":{\"keccak256\":\"0xc12663ca72065b256c3b934ab738fde26c147c7b0399de43650df89dd52ee467\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://be8fecfcba0f3fda615f0a1bb3c766750c23761ef751d7c4472dfe540e460cd1\",\"dweb:/ipfs/QmaarPoRTsX6NiJ8V4u2f3Qh6d7tUs28bw9R14An3t5Bs1\"]},\"contracts/release/extensions/policy-manager/IPolicyManager.sol\":{\"keccak256\":\"0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa\",\"dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb\"]},\"contracts/release/extensions/policy-manager/policies/utils/AddressListRegistryPerUserPolicyBase.sol\":{\"keccak256\":\"0x64c2bf7e45fa9337d198d99aaea1c0c57b05cc4b2e8783fd2d6275cac026ed84\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://20a3e36b4c666e5a1bc89557e82aed53b06a5942845ce5ba309896c221278f4a\",\"dweb:/ipfs/QmUjfEJUhZ4jBbyVsaLkC8SdHC86a9Vtvz2SXBmLe6pTza\"]},\"contracts/release/extensions/policy-manager/policies/utils/PolicyBase.sol\":{\"keccak256\":\"0x972311abb98f0da815b4aca83d5afdd219d3604ec19cf5e3773c0c305bd9b3f1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2452f3d1f3b1d8e8459a07489146a2d0d8a10463715937995cbe77ee5de8c069\",\"dweb:/ipfs/Qmf2hhd2DVbjpxmbNGAhRZNZkqpGZA2mX3eA1WNwtv6t5Y\"]},\"contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol\":{\"keccak256\":\"0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f\",\"dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol\":{\"keccak256\":\"0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0\",\"dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol\":{\"keccak256\":\"0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b\",\"dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3\"]},\"contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol\":{\"keccak256\":\"0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965\",\"dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ\"]},\"contracts/release/interfaces/IGsnForwarder.sol\":{\"keccak256\":\"0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29\",\"dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G\"]},\"contracts/release/interfaces/IGsnPaymaster.sol\":{\"keccak256\":\"0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4\",\"dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF\"]},\"contracts/release/interfaces/IGsnTypes.sol\":{\"keccak256\":\"0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7\",\"dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/beacon-proxy/IBeacon.sol\":{\"keccak256\":\"0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39\",\"dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V\"]},\"contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol\":{\"keccak256\":\"0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be\",\"dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_policyUser", "type": "address" }, { "internalType": "address", "name": "_addressListRegistry", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "comptrollerProxy", "type": "address", "indexed": true }, { "internalType": "address", "name": "user", "type": "address", "indexed": true }, { "internalType": "uint256[]", "name": "listIds", "type": "uint256[]", "indexed": false } ], "type": "event", "name": "ListsSetForFundAndUser", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "activateForFund" }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" }, { "internalType": "bytes", "name": "_encodedSettings", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "addFundSettings" }, { "inputs": [], "stateMutability": "pure", "type": "function", "name": "canDisable", "outputs": [ { "internalType": "bool", "name": "canDisable_", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" }, { "internalType": "address", "name": "_user", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getListIdsForFundAndUser", "outputs": [ { "internalType": "uint256[]", "name": "listIds_", "type": "uint256[]" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getPolicyManager", "outputs": [ { "internalType": "address", "name": "policyManager_", "type": "address" } ] }, { "inputs": [], "stateMutability": "pure", "type": "function", "name": "identifier", "outputs": [ { "internalType": "string", "name": "identifier_", "type": "string" } ] }, { "inputs": [], "stateMutability": "pure", "type": "function", "name": "implementedHooks", "outputs": [ { "internalType": "enum IPolicyManager.PolicyHook[]", "name": "implementedHooks_", "type": "uint8[]" } ] }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "updateFundSettings" }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" }, { "internalType": "enum IPolicyManager.PolicyHook", "name": "_hook", "type": "uint8" }, { "internalType": "bytes", "name": "_encodedArgs", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "validateRule", "outputs": [ { "internalType": "bool", "name": "isValid_", "type": "bool" } ] } ], "devdoc": { "kind": "dev", "methods": { "activateForFund(address)": { "details": "Unimplemented by default, can be overridden by the policy" }, "addFundSettings(address,bytes)": { "params": { "_comptrollerProxy": "The fund's ComptrollerProxy address", "_encodedSettings": "Encoded settings to apply to a fund" } }, "canDisable()": { "details": "False by default, can be overridden by the policy", "returns": { "canDisable_": "True if the policy can be disabled" } }, "getListIdsForFundAndUser(address,address)": { "params": { "_comptrollerProxy": "The ComptrollerProxy of the fund", "_user": "The user of the fund" }, "returns": { "listIds_": "The list ids" } }, "getPolicyManager()": { "returns": { "policyManager_": "The `POLICY_MANAGER` variable value" } }, "updateFundSettings(address,bytes)": { "details": "Disallowed by default, can be overridden by the policy" } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "activateForFund(address)": { "notice": "Validates and initializes a policy as necessary prior to fund activation" }, "addFundSettings(address,bytes)": { "notice": "Adds the initial policy settings for a fund" }, "canDisable()": { "notice": "Whether or not the policy can be disabled" }, "getListIdsForFundAndUser(address,address)": { "notice": "Gets the list ids used by a given fund and user" }, "getPolicyManager()": { "notice": "Gets the `POLICY_MANAGER` variable value" }, "updateFundSettings(address,bytes)": { "notice": "Updates the policy settings for a fund" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/policy-manager/policies/utils/AddressListRegistryPerUserPolicyBase.sol": "AddressListRegistryPerUserPolicyBase" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/address-list-registry/AddressListRegistry.sol": { "keccak256": "0xf00a9e376e3ec2a223f463f71c15ee3af3642dd028bc3762440e316b760c8048", "urls": [ "bzz-raw://01986c9327b5dfbfac21316dced6d68727931ddde1278ed1342d878004f984b9", "dweb:/ipfs/QmdXkFaUU43JqMTYEREbWa129rohdqN7GXy7mVRpjCfSLD" ], "license": "GPL-3.0" }, "contracts/persistent/dispatcher/IDispatcher.sol": { "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", "urls": [ "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" ], "license": "GPL-3.0" }, "contracts/persistent/external-positions/IExternalPosition.sol": { "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", "urls": [ "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IExternalPositionVault.sol": { "keccak256": "0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6", "urls": [ "bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d", "dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol": { "keccak256": "0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0", "urls": [ "bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb", "dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IMigratableVault.sol": { "keccak256": "0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238", "urls": [ "bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6", "dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IVaultCore.sol": { "keccak256": "0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80", "urls": [ "bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd", "dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr" ], "license": "GPL-3.0" }, "contracts/release/core/fund-deployer/IFundDeployer.sol": { "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", "urls": [ "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" ], "license": "GPL-3.0" }, "contracts/release/core/fund/comptroller/ComptrollerLib.sol": { "keccak256": "0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64", "urls": [ "bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579", "dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq" ], "license": "GPL-3.0" }, "contracts/release/core/fund/comptroller/IComptroller.sol": { "keccak256": "0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f", "urls": [ "bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97", "dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L" ], "license": "GPL-3.0" }, "contracts/release/core/fund/vault/IVault.sol": { "keccak256": "0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd", "urls": [ "bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599", "dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG" ], "license": "GPL-3.0" }, "contracts/release/extensions/IExtension.sol": { "keccak256": "0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b", "urls": [ "bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70", "dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t" ], "license": "GPL-3.0" }, "contracts/release/extensions/fee-manager/IFeeManager.sol": { "keccak256": "0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51", "urls": [ "bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22", "dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod" ], "license": "GPL-3.0" }, "contracts/release/extensions/policy-manager/IPolicy.sol": { "keccak256": "0xc12663ca72065b256c3b934ab738fde26c147c7b0399de43650df89dd52ee467", "urls": [ "bzz-raw://be8fecfcba0f3fda615f0a1bb3c766750c23761ef751d7c4472dfe540e460cd1", "dweb:/ipfs/QmaarPoRTsX6NiJ8V4u2f3Qh6d7tUs28bw9R14An3t5Bs1" ], "license": "GPL-3.0" }, "contracts/release/extensions/policy-manager/IPolicyManager.sol": { "keccak256": "0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32", "urls": [ "bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa", "dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb" ], "license": "GPL-3.0" }, "contracts/release/extensions/policy-manager/policies/utils/AddressListRegistryPerUserPolicyBase.sol": { "keccak256": "0x64c2bf7e45fa9337d198d99aaea1c0c57b05cc4b2e8783fd2d6275cac026ed84", "urls": [ "bzz-raw://20a3e36b4c666e5a1bc89557e82aed53b06a5942845ce5ba309896c221278f4a", "dweb:/ipfs/QmUjfEJUhZ4jBbyVsaLkC8SdHC86a9Vtvz2SXBmLe6pTza" ], "license": "GPL-3.0" }, "contracts/release/extensions/policy-manager/policies/utils/PolicyBase.sol": { "keccak256": "0x972311abb98f0da815b4aca83d5afdd219d3604ec19cf5e3773c0c305bd9b3f1", "urls": [ "bzz-raw://2452f3d1f3b1d8e8459a07489146a2d0d8a10463715937995cbe77ee5de8c069", "dweb:/ipfs/Qmf2hhd2DVbjpxmbNGAhRZNZkqpGZA2mX3eA1WNwtv6t5Y" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol": { "keccak256": "0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609", "urls": [ "bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f", "dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol": { "keccak256": "0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01", "urls": [ "bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0", "dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol": { "keccak256": "0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196", "urls": [ "bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b", "dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol": { "keccak256": "0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794", "urls": [ "bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965", "dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IGsnForwarder.sol": { "keccak256": "0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030", "urls": [ "bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29", "dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IGsnPaymaster.sol": { "keccak256": "0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c", "urls": [ "bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4", "dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IGsnTypes.sol": { "keccak256": "0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714", "urls": [ "bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7", "dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C" ], "license": "GPL-3.0" }, "contracts/release/utils/AddressArrayLib.sol": { "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", "urls": [ "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" ], "license": "GPL-3.0" }, "contracts/release/utils/beacon-proxy/IBeacon.sol": { "keccak256": "0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2", "urls": [ "bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39", "dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V" ], "license": "GPL-3.0" }, "contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol": { "keccak256": "0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc", "urls": [ "bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be", "dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", "urls": [ "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Address.sol": { "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", "urls": [ "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" } }, "version": 1 }, "id": 220 } diff --git a/eth_defi/abi/enzyme/AddressListRegistryPolicyBase.json b/eth_defi/abi/enzyme/AddressListRegistryPolicyBase.json index 260f35f3..1b347d65 100644 --- a/eth_defi/abi/enzyme/AddressListRegistryPolicyBase.json +++ b/eth_defi/abi/enzyme/AddressListRegistryPolicyBase.json @@ -1,797 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_policyManager", - "type": "address" - }, - { - "internalType": "address", - "name": "_addressListRegistry", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "comptrollerProxy", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "listIds", - "type": "uint256[]" - } - ], - "name": "ListsSetForFund", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "activateForFund", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_encodedSettings", - "type": "bytes" - } - ], - "name": "addFundSettings", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "canDisable", - "outputs": [ - { - "internalType": "bool", - "name": "canDisable_", - "type": "bool" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "getAddressListRegistry", - "outputs": [ - { - "internalType": "address", - "name": "addressListRegistry_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - } - ], - "name": "getListIdsForFund", - "outputs": [ - { - "internalType": "uint256[]", - "name": "listIds_", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getPolicyManager", - "outputs": [ - { - "internalType": "address", - "name": "policyManager_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "identifier", - "outputs": [ - { - "internalType": "string", - "name": "identifier_", - "type": "string" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "implementedHooks", - "outputs": [ - { - "internalType": "enum IPolicyManager.PolicyHook[]", - "name": "implementedHooks_", - "type": "uint8[]" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "updateFundSettings", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "enum IPolicyManager.PolicyHook", - "name": "_hook", - "type": "uint8" - }, - { - "internalType": "bytes", - "name": "_encodedArgs", - "type": "bytes" - } - ], - "name": "validateRule", - "outputs": [ - { - "internalType": "bool", - "name": "isValid_", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "activateForFund(address)": "ceb9a0ad", - "addFundSettings(address,bytes)": "0f5f6b4f", - "canDisable()": "1ef92578", - "getAddressListRegistry()": "74708934", - "getListIdsForFund(address)": "dffd7c6f", - "getPolicyManager()": "d44ad6cb", - "identifier()": "7998a1c4", - "implementedHooks()": "cbf54bb2", - "updateFundSettings(address,bytes)": "0d4d7510", - "validateRule(address,uint8,bytes)": "579be718" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_policyManager\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_addressListRegistry\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"listIds\",\"type\":\"uint256[]\"}],\"name\":\"ListsSetForFund\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"activateForFund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_encodedSettings\",\"type\":\"bytes\"}],\"name\":\"addFundSettings\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"canDisable\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"canDisable_\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAddressListRegistry\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"addressListRegistry_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"}],\"name\":\"getListIdsForFund\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"listIds_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPolicyManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"policyManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"identifier\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"identifier_\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"implementedHooks\",\"outputs\":[{\"internalType\":\"enum IPolicyManager.PolicyHook[]\",\"name\":\"implementedHooks_\",\"type\":\"uint8[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"updateFundSettings\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"enum IPolicyManager.PolicyHook\",\"name\":\"_hook\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"_encodedArgs\",\"type\":\"bytes\"}],\"name\":\"validateRule\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isValid_\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"activateForFund(address)\":{\"details\":\"Unimplemented by default, can be overridden by the policy\"},\"addFundSettings(address,bytes)\":{\"params\":{\"_comptrollerProxy\":\"The fund's ComptrollerProxy address\",\"_encodedSettings\":\"Encoded settings to apply to a fund\"}},\"canDisable()\":{\"details\":\"False by default, can be overridden by the policy\",\"returns\":{\"canDisable_\":\"True if the policy can be disabled\"}},\"getAddressListRegistry()\":{\"returns\":{\"addressListRegistry_\":\"The `ADDRESS_LIST_REGISTRY` variable value\"}},\"getListIdsForFund(address)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\"},\"returns\":{\"listIds_\":\"The list ids\"}},\"getPolicyManager()\":{\"returns\":{\"policyManager_\":\"The `POLICY_MANAGER` variable value\"}},\"updateFundSettings(address,bytes)\":{\"details\":\"Disallowed by default, can be overridden by the policy\"}},\"title\":\"AddressListRegistryPolicyBase Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"activateForFund(address)\":{\"notice\":\"Validates and initializes a policy as necessary prior to fund activation\"},\"addFundSettings(address,bytes)\":{\"notice\":\"Adds the initial policy settings for a fund\"},\"canDisable()\":{\"notice\":\"Whether or not the policy can be disabled\"},\"getAddressListRegistry()\":{\"notice\":\"Gets the `ADDRESS_LIST_REGISTRY` variable value\"},\"getListIdsForFund(address)\":{\"notice\":\"Gets the list ids used by a given fund\"},\"getPolicyManager()\":{\"notice\":\"Gets the `POLICY_MANAGER` variable value\"},\"updateFundSettings(address,bytes)\":{\"notice\":\"Updates the policy settings for a fund\"}},\"notice\":\"Base contract inheritable by any policy that uses the AddressListRegistry\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/policy-manager/policies/utils/AddressListRegistryPolicyBase.sol\":\"AddressListRegistryPolicyBase\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/address-list-registry/AddressListRegistry.sol\":{\"keccak256\":\"0xf00a9e376e3ec2a223f463f71c15ee3af3642dd028bc3762440e316b760c8048\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://01986c9327b5dfbfac21316dced6d68727931ddde1278ed1342d878004f984b9\",\"dweb:/ipfs/QmdXkFaUU43JqMTYEREbWa129rohdqN7GXy7mVRpjCfSLD\"]},\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/persistent/vault/interfaces/IExternalPositionVault.sol\":{\"keccak256\":\"0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d\",\"dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8\"]},\"contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol\":{\"keccak256\":\"0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb\",\"dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU\"]},\"contracts/persistent/vault/interfaces/IMigratableVault.sol\":{\"keccak256\":\"0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6\",\"dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs\"]},\"contracts/persistent/vault/interfaces/IVaultCore.sol\":{\"keccak256\":\"0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd\",\"dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr\"]},\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/core/fund/comptroller/ComptrollerLib.sol\":{\"keccak256\":\"0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579\",\"dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq\"]},\"contracts/release/core/fund/comptroller/IComptroller.sol\":{\"keccak256\":\"0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97\",\"dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L\"]},\"contracts/release/core/fund/vault/IVault.sol\":{\"keccak256\":\"0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599\",\"dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG\"]},\"contracts/release/extensions/IExtension.sol\":{\"keccak256\":\"0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70\",\"dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t\"]},\"contracts/release/extensions/fee-manager/IFeeManager.sol\":{\"keccak256\":\"0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22\",\"dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod\"]},\"contracts/release/extensions/policy-manager/IPolicy.sol\":{\"keccak256\":\"0xc12663ca72065b256c3b934ab738fde26c147c7b0399de43650df89dd52ee467\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://be8fecfcba0f3fda615f0a1bb3c766750c23761ef751d7c4472dfe540e460cd1\",\"dweb:/ipfs/QmaarPoRTsX6NiJ8V4u2f3Qh6d7tUs28bw9R14An3t5Bs1\"]},\"contracts/release/extensions/policy-manager/IPolicyManager.sol\":{\"keccak256\":\"0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa\",\"dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb\"]},\"contracts/release/extensions/policy-manager/policies/utils/AddressListRegistryPolicyBase.sol\":{\"keccak256\":\"0x3fdcf3e45c9d6b9cf5221aeb95858060dfc18abf744f664b5ce9bf2f0a6a7bdc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://48b3ed06e509a45f122112129bf3d221ae30afad87722a123f7405a4a24e6645\",\"dweb:/ipfs/QmSA3cJB7C6x6BasicDpzwnHuxFkL6k8hR5fDRD42BWsGc\"]},\"contracts/release/extensions/policy-manager/policies/utils/PolicyBase.sol\":{\"keccak256\":\"0x972311abb98f0da815b4aca83d5afdd219d3604ec19cf5e3773c0c305bd9b3f1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2452f3d1f3b1d8e8459a07489146a2d0d8a10463715937995cbe77ee5de8c069\",\"dweb:/ipfs/Qmf2hhd2DVbjpxmbNGAhRZNZkqpGZA2mX3eA1WNwtv6t5Y\"]},\"contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol\":{\"keccak256\":\"0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f\",\"dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol\":{\"keccak256\":\"0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0\",\"dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol\":{\"keccak256\":\"0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b\",\"dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3\"]},\"contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol\":{\"keccak256\":\"0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965\",\"dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ\"]},\"contracts/release/interfaces/IGsnForwarder.sol\":{\"keccak256\":\"0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29\",\"dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G\"]},\"contracts/release/interfaces/IGsnPaymaster.sol\":{\"keccak256\":\"0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4\",\"dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF\"]},\"contracts/release/interfaces/IGsnTypes.sol\":{\"keccak256\":\"0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7\",\"dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/beacon-proxy/IBeacon.sol\":{\"keccak256\":\"0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39\",\"dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V\"]},\"contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol\":{\"keccak256\":\"0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be\",\"dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_policyManager", - "type": "address" - }, - { - "internalType": "address", - "name": "_addressListRegistry", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "comptrollerProxy", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256[]", - "name": "listIds", - "type": "uint256[]", - "indexed": false - } - ], - "type": "event", - "name": "ListsSetForFund", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "activateForFund" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_encodedSettings", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "addFundSettings" - }, - { - "inputs": [], - "stateMutability": "pure", - "type": "function", - "name": "canDisable", - "outputs": [ - { - "internalType": "bool", - "name": "canDisable_", - "type": "bool" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getAddressListRegistry", - "outputs": [ - { - "internalType": "address", - "name": "addressListRegistry_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getListIdsForFund", - "outputs": [ - { - "internalType": "uint256[]", - "name": "listIds_", - "type": "uint256[]" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getPolicyManager", - "outputs": [ - { - "internalType": "address", - "name": "policyManager_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "pure", - "type": "function", - "name": "identifier", - "outputs": [ - { - "internalType": "string", - "name": "identifier_", - "type": "string" - } - ] - }, - { - "inputs": [], - "stateMutability": "pure", - "type": "function", - "name": "implementedHooks", - "outputs": [ - { - "internalType": "enum IPolicyManager.PolicyHook[]", - "name": "implementedHooks_", - "type": "uint8[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "updateFundSettings" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "enum IPolicyManager.PolicyHook", - "name": "_hook", - "type": "uint8" - }, - { - "internalType": "bytes", - "name": "_encodedArgs", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "validateRule", - "outputs": [ - { - "internalType": "bool", - "name": "isValid_", - "type": "bool" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "activateForFund(address)": { - "details": "Unimplemented by default, can be overridden by the policy" - }, - "addFundSettings(address,bytes)": { - "params": { - "_comptrollerProxy": "The fund's ComptrollerProxy address", - "_encodedSettings": "Encoded settings to apply to a fund" - } - }, - "canDisable()": { - "details": "False by default, can be overridden by the policy", - "returns": { - "canDisable_": "True if the policy can be disabled" - } - }, - "getAddressListRegistry()": { - "returns": { - "addressListRegistry_": "The `ADDRESS_LIST_REGISTRY` variable value" - } - }, - "getListIdsForFund(address)": { - "params": { - "_comptrollerProxy": "The ComptrollerProxy of the fund" - }, - "returns": { - "listIds_": "The list ids" - } - }, - "getPolicyManager()": { - "returns": { - "policyManager_": "The `POLICY_MANAGER` variable value" - } - }, - "updateFundSettings(address,bytes)": { - "details": "Disallowed by default, can be overridden by the policy" - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "activateForFund(address)": { - "notice": "Validates and initializes a policy as necessary prior to fund activation" - }, - "addFundSettings(address,bytes)": { - "notice": "Adds the initial policy settings for a fund" - }, - "canDisable()": { - "notice": "Whether or not the policy can be disabled" - }, - "getAddressListRegistry()": { - "notice": "Gets the `ADDRESS_LIST_REGISTRY` variable value" - }, - "getListIdsForFund(address)": { - "notice": "Gets the list ids used by a given fund" - }, - "getPolicyManager()": { - "notice": "Gets the `POLICY_MANAGER` variable value" - }, - "updateFundSettings(address,bytes)": { - "notice": "Updates the policy settings for a fund" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/policy-manager/policies/utils/AddressListRegistryPolicyBase.sol": "AddressListRegistryPolicyBase" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/address-list-registry/AddressListRegistry.sol": { - "keccak256": "0xf00a9e376e3ec2a223f463f71c15ee3af3642dd028bc3762440e316b760c8048", - "urls": [ - "bzz-raw://01986c9327b5dfbfac21316dced6d68727931ddde1278ed1342d878004f984b9", - "dweb:/ipfs/QmdXkFaUU43JqMTYEREbWa129rohdqN7GXy7mVRpjCfSLD" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/dispatcher/IDispatcher.sol": { - "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", - "urls": [ - "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", - "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/external-positions/IExternalPosition.sol": { - "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", - "urls": [ - "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", - "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IExternalPositionVault.sol": { - "keccak256": "0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6", - "urls": [ - "bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d", - "dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol": { - "keccak256": "0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0", - "urls": [ - "bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb", - "dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IMigratableVault.sol": { - "keccak256": "0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238", - "urls": [ - "bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6", - "dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IVaultCore.sol": { - "keccak256": "0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80", - "urls": [ - "bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd", - "dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund-deployer/IFundDeployer.sol": { - "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", - "urls": [ - "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", - "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/comptroller/ComptrollerLib.sol": { - "keccak256": "0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64", - "urls": [ - "bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579", - "dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/comptroller/IComptroller.sol": { - "keccak256": "0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f", - "urls": [ - "bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97", - "dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/vault/IVault.sol": { - "keccak256": "0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd", - "urls": [ - "bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599", - "dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/IExtension.sol": { - "keccak256": "0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b", - "urls": [ - "bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70", - "dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/fee-manager/IFeeManager.sol": { - "keccak256": "0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51", - "urls": [ - "bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22", - "dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/policy-manager/IPolicy.sol": { - "keccak256": "0xc12663ca72065b256c3b934ab738fde26c147c7b0399de43650df89dd52ee467", - "urls": [ - "bzz-raw://be8fecfcba0f3fda615f0a1bb3c766750c23761ef751d7c4472dfe540e460cd1", - "dweb:/ipfs/QmaarPoRTsX6NiJ8V4u2f3Qh6d7tUs28bw9R14An3t5Bs1" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/policy-manager/IPolicyManager.sol": { - "keccak256": "0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32", - "urls": [ - "bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa", - "dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/policy-manager/policies/utils/AddressListRegistryPolicyBase.sol": { - "keccak256": "0x3fdcf3e45c9d6b9cf5221aeb95858060dfc18abf744f664b5ce9bf2f0a6a7bdc", - "urls": [ - "bzz-raw://48b3ed06e509a45f122112129bf3d221ae30afad87722a123f7405a4a24e6645", - "dweb:/ipfs/QmSA3cJB7C6x6BasicDpzwnHuxFkL6k8hR5fDRD42BWsGc" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/policy-manager/policies/utils/PolicyBase.sol": { - "keccak256": "0x972311abb98f0da815b4aca83d5afdd219d3604ec19cf5e3773c0c305bd9b3f1", - "urls": [ - "bzz-raw://2452f3d1f3b1d8e8459a07489146a2d0d8a10463715937995cbe77ee5de8c069", - "dweb:/ipfs/Qmf2hhd2DVbjpxmbNGAhRZNZkqpGZA2mX3eA1WNwtv6t5Y" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol": { - "keccak256": "0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609", - "urls": [ - "bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f", - "dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol": { - "keccak256": "0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01", - "urls": [ - "bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0", - "dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol": { - "keccak256": "0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196", - "urls": [ - "bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b", - "dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol": { - "keccak256": "0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794", - "urls": [ - "bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965", - "dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IGsnForwarder.sol": { - "keccak256": "0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030", - "urls": [ - "bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29", - "dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IGsnPaymaster.sol": { - "keccak256": "0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c", - "urls": [ - "bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4", - "dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IGsnTypes.sol": { - "keccak256": "0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714", - "urls": [ - "bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7", - "dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AddressArrayLib.sol": { - "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", - "urls": [ - "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", - "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/beacon-proxy/IBeacon.sol": { - "keccak256": "0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2", - "urls": [ - "bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39", - "dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol": { - "keccak256": "0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc", - "urls": [ - "bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be", - "dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { - "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", - "urls": [ - "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", - "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Address.sol": { - "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", - "urls": [ - "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", - "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 221 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_policyManager", "type": "address", "internalType": "address" }, { "name": "_addressListRegistry", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "activateForFund", "inputs": [ { "name": "", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "addFundSettings", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" }, { "name": "_encodedSettings", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "canDisable", "inputs": [], "outputs": [ { "name": "canDisable_", "type": "bool", "internalType": "bool" } ], "stateMutability": "pure" }, { "type": "function", "name": "getAddressListRegistry", "inputs": [], "outputs": [ { "name": "addressListRegistry_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getListIdsForFund", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "listIds_", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "view" }, { "type": "function", "name": "getPolicyManager", "inputs": [], "outputs": [ { "name": "policyManager_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "identifier", "inputs": [], "outputs": [ { "name": "identifier_", "type": "string", "internalType": "string" } ], "stateMutability": "pure" }, { "type": "function", "name": "implementedHooks", "inputs": [], "outputs": [ { "name": "implementedHooks_", "type": "uint8[]", "internalType": "enum IPolicyManager.PolicyHook[]" } ], "stateMutability": "pure" }, { "type": "function", "name": "updateFundSettings", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "validateRule", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" }, { "name": "_hook", "type": "uint8", "internalType": "enum IPolicyManager.PolicyHook" }, { "name": "_encodedArgs", "type": "bytes", "internalType": "bytes" } ], "outputs": [ { "name": "isValid_", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "event", "name": "ListsSetForFund", "inputs": [ { "name": "comptrollerProxy", "type": "address", "indexed": true, "internalType": "address" }, { "name": "listIds", "type": "uint256[]", "indexed": false, "internalType": "uint256[]" } ], "anonymous": false } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "activateForFund(address)": "ceb9a0ad", "addFundSettings(address,bytes)": "0f5f6b4f", "canDisable()": "1ef92578", "getAddressListRegistry()": "74708934", "getListIdsForFund(address)": "dffd7c6f", "getPolicyManager()": "d44ad6cb", "identifier()": "7998a1c4", "implementedHooks()": "cbf54bb2", "updateFundSettings(address,bytes)": "0d4d7510", "validateRule(address,uint8,bytes)": "579be718" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_policyManager\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_addressListRegistry\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"listIds\",\"type\":\"uint256[]\"}],\"name\":\"ListsSetForFund\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"activateForFund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_encodedSettings\",\"type\":\"bytes\"}],\"name\":\"addFundSettings\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"canDisable\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"canDisable_\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAddressListRegistry\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"addressListRegistry_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"}],\"name\":\"getListIdsForFund\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"listIds_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPolicyManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"policyManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"identifier\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"identifier_\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"implementedHooks\",\"outputs\":[{\"internalType\":\"enum IPolicyManager.PolicyHook[]\",\"name\":\"implementedHooks_\",\"type\":\"uint8[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"updateFundSettings\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"enum IPolicyManager.PolicyHook\",\"name\":\"_hook\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"_encodedArgs\",\"type\":\"bytes\"}],\"name\":\"validateRule\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isValid_\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"activateForFund(address)\":{\"details\":\"Unimplemented by default, can be overridden by the policy\"},\"addFundSettings(address,bytes)\":{\"params\":{\"_comptrollerProxy\":\"The fund's ComptrollerProxy address\",\"_encodedSettings\":\"Encoded settings to apply to a fund\"}},\"canDisable()\":{\"details\":\"False by default, can be overridden by the policy\",\"returns\":{\"canDisable_\":\"True if the policy can be disabled\"}},\"getAddressListRegistry()\":{\"returns\":{\"addressListRegistry_\":\"The `ADDRESS_LIST_REGISTRY` variable value\"}},\"getListIdsForFund(address)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\"},\"returns\":{\"listIds_\":\"The list ids\"}},\"getPolicyManager()\":{\"returns\":{\"policyManager_\":\"The `POLICY_MANAGER` variable value\"}},\"updateFundSettings(address,bytes)\":{\"details\":\"Disallowed by default, can be overridden by the policy\"}},\"title\":\"AddressListRegistryPolicyBase Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"activateForFund(address)\":{\"notice\":\"Validates and initializes a policy as necessary prior to fund activation\"},\"addFundSettings(address,bytes)\":{\"notice\":\"Adds the initial policy settings for a fund\"},\"canDisable()\":{\"notice\":\"Whether or not the policy can be disabled\"},\"getAddressListRegistry()\":{\"notice\":\"Gets the `ADDRESS_LIST_REGISTRY` variable value\"},\"getListIdsForFund(address)\":{\"notice\":\"Gets the list ids used by a given fund\"},\"getPolicyManager()\":{\"notice\":\"Gets the `POLICY_MANAGER` variable value\"},\"updateFundSettings(address,bytes)\":{\"notice\":\"Updates the policy settings for a fund\"}},\"notice\":\"Base contract inheritable by any policy that uses the AddressListRegistry\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/policy-manager/policies/utils/AddressListRegistryPolicyBase.sol\":\"AddressListRegistryPolicyBase\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/address-list-registry/AddressListRegistry.sol\":{\"keccak256\":\"0xf00a9e376e3ec2a223f463f71c15ee3af3642dd028bc3762440e316b760c8048\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://01986c9327b5dfbfac21316dced6d68727931ddde1278ed1342d878004f984b9\",\"dweb:/ipfs/QmdXkFaUU43JqMTYEREbWa129rohdqN7GXy7mVRpjCfSLD\"]},\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/persistent/vault/interfaces/IExternalPositionVault.sol\":{\"keccak256\":\"0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d\",\"dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8\"]},\"contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol\":{\"keccak256\":\"0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb\",\"dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU\"]},\"contracts/persistent/vault/interfaces/IMigratableVault.sol\":{\"keccak256\":\"0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6\",\"dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs\"]},\"contracts/persistent/vault/interfaces/IVaultCore.sol\":{\"keccak256\":\"0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd\",\"dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr\"]},\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/core/fund/comptroller/ComptrollerLib.sol\":{\"keccak256\":\"0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579\",\"dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq\"]},\"contracts/release/core/fund/comptroller/IComptroller.sol\":{\"keccak256\":\"0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97\",\"dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L\"]},\"contracts/release/core/fund/vault/IVault.sol\":{\"keccak256\":\"0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599\",\"dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG\"]},\"contracts/release/extensions/IExtension.sol\":{\"keccak256\":\"0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70\",\"dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t\"]},\"contracts/release/extensions/fee-manager/IFeeManager.sol\":{\"keccak256\":\"0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22\",\"dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod\"]},\"contracts/release/extensions/policy-manager/IPolicy.sol\":{\"keccak256\":\"0xc12663ca72065b256c3b934ab738fde26c147c7b0399de43650df89dd52ee467\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://be8fecfcba0f3fda615f0a1bb3c766750c23761ef751d7c4472dfe540e460cd1\",\"dweb:/ipfs/QmaarPoRTsX6NiJ8V4u2f3Qh6d7tUs28bw9R14An3t5Bs1\"]},\"contracts/release/extensions/policy-manager/IPolicyManager.sol\":{\"keccak256\":\"0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa\",\"dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb\"]},\"contracts/release/extensions/policy-manager/policies/utils/AddressListRegistryPolicyBase.sol\":{\"keccak256\":\"0x3fdcf3e45c9d6b9cf5221aeb95858060dfc18abf744f664b5ce9bf2f0a6a7bdc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://48b3ed06e509a45f122112129bf3d221ae30afad87722a123f7405a4a24e6645\",\"dweb:/ipfs/QmSA3cJB7C6x6BasicDpzwnHuxFkL6k8hR5fDRD42BWsGc\"]},\"contracts/release/extensions/policy-manager/policies/utils/PolicyBase.sol\":{\"keccak256\":\"0x972311abb98f0da815b4aca83d5afdd219d3604ec19cf5e3773c0c305bd9b3f1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2452f3d1f3b1d8e8459a07489146a2d0d8a10463715937995cbe77ee5de8c069\",\"dweb:/ipfs/Qmf2hhd2DVbjpxmbNGAhRZNZkqpGZA2mX3eA1WNwtv6t5Y\"]},\"contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol\":{\"keccak256\":\"0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f\",\"dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol\":{\"keccak256\":\"0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0\",\"dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol\":{\"keccak256\":\"0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b\",\"dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3\"]},\"contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol\":{\"keccak256\":\"0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965\",\"dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ\"]},\"contracts/release/interfaces/IGsnForwarder.sol\":{\"keccak256\":\"0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29\",\"dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G\"]},\"contracts/release/interfaces/IGsnPaymaster.sol\":{\"keccak256\":\"0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4\",\"dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF\"]},\"contracts/release/interfaces/IGsnTypes.sol\":{\"keccak256\":\"0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7\",\"dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/beacon-proxy/IBeacon.sol\":{\"keccak256\":\"0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39\",\"dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V\"]},\"contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol\":{\"keccak256\":\"0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be\",\"dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_policyManager", "type": "address" }, { "internalType": "address", "name": "_addressListRegistry", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "comptrollerProxy", "type": "address", "indexed": true }, { "internalType": "uint256[]", "name": "listIds", "type": "uint256[]", "indexed": false } ], "type": "event", "name": "ListsSetForFund", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "activateForFund" }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" }, { "internalType": "bytes", "name": "_encodedSettings", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "addFundSettings" }, { "inputs": [], "stateMutability": "pure", "type": "function", "name": "canDisable", "outputs": [ { "internalType": "bool", "name": "canDisable_", "type": "bool" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getAddressListRegistry", "outputs": [ { "internalType": "address", "name": "addressListRegistry_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getListIdsForFund", "outputs": [ { "internalType": "uint256[]", "name": "listIds_", "type": "uint256[]" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getPolicyManager", "outputs": [ { "internalType": "address", "name": "policyManager_", "type": "address" } ] }, { "inputs": [], "stateMutability": "pure", "type": "function", "name": "identifier", "outputs": [ { "internalType": "string", "name": "identifier_", "type": "string" } ] }, { "inputs": [], "stateMutability": "pure", "type": "function", "name": "implementedHooks", "outputs": [ { "internalType": "enum IPolicyManager.PolicyHook[]", "name": "implementedHooks_", "type": "uint8[]" } ] }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "updateFundSettings" }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" }, { "internalType": "enum IPolicyManager.PolicyHook", "name": "_hook", "type": "uint8" }, { "internalType": "bytes", "name": "_encodedArgs", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "validateRule", "outputs": [ { "internalType": "bool", "name": "isValid_", "type": "bool" } ] } ], "devdoc": { "kind": "dev", "methods": { "activateForFund(address)": { "details": "Unimplemented by default, can be overridden by the policy" }, "addFundSettings(address,bytes)": { "params": { "_comptrollerProxy": "The fund's ComptrollerProxy address", "_encodedSettings": "Encoded settings to apply to a fund" } }, "canDisable()": { "details": "False by default, can be overridden by the policy", "returns": { "canDisable_": "True if the policy can be disabled" } }, "getAddressListRegistry()": { "returns": { "addressListRegistry_": "The `ADDRESS_LIST_REGISTRY` variable value" } }, "getListIdsForFund(address)": { "params": { "_comptrollerProxy": "The ComptrollerProxy of the fund" }, "returns": { "listIds_": "The list ids" } }, "getPolicyManager()": { "returns": { "policyManager_": "The `POLICY_MANAGER` variable value" } }, "updateFundSettings(address,bytes)": { "details": "Disallowed by default, can be overridden by the policy" } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "activateForFund(address)": { "notice": "Validates and initializes a policy as necessary prior to fund activation" }, "addFundSettings(address,bytes)": { "notice": "Adds the initial policy settings for a fund" }, "canDisable()": { "notice": "Whether or not the policy can be disabled" }, "getAddressListRegistry()": { "notice": "Gets the `ADDRESS_LIST_REGISTRY` variable value" }, "getListIdsForFund(address)": { "notice": "Gets the list ids used by a given fund" }, "getPolicyManager()": { "notice": "Gets the `POLICY_MANAGER` variable value" }, "updateFundSettings(address,bytes)": { "notice": "Updates the policy settings for a fund" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/policy-manager/policies/utils/AddressListRegistryPolicyBase.sol": "AddressListRegistryPolicyBase" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/address-list-registry/AddressListRegistry.sol": { "keccak256": "0xf00a9e376e3ec2a223f463f71c15ee3af3642dd028bc3762440e316b760c8048", "urls": [ "bzz-raw://01986c9327b5dfbfac21316dced6d68727931ddde1278ed1342d878004f984b9", "dweb:/ipfs/QmdXkFaUU43JqMTYEREbWa129rohdqN7GXy7mVRpjCfSLD" ], "license": "GPL-3.0" }, "contracts/persistent/dispatcher/IDispatcher.sol": { "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", "urls": [ "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" ], "license": "GPL-3.0" }, "contracts/persistent/external-positions/IExternalPosition.sol": { "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", "urls": [ "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IExternalPositionVault.sol": { "keccak256": "0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6", "urls": [ "bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d", "dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol": { "keccak256": "0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0", "urls": [ "bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb", "dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IMigratableVault.sol": { "keccak256": "0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238", "urls": [ "bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6", "dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IVaultCore.sol": { "keccak256": "0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80", "urls": [ "bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd", "dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr" ], "license": "GPL-3.0" }, "contracts/release/core/fund-deployer/IFundDeployer.sol": { "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", "urls": [ "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" ], "license": "GPL-3.0" }, "contracts/release/core/fund/comptroller/ComptrollerLib.sol": { "keccak256": "0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64", "urls": [ "bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579", "dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq" ], "license": "GPL-3.0" }, "contracts/release/core/fund/comptroller/IComptroller.sol": { "keccak256": "0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f", "urls": [ "bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97", "dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L" ], "license": "GPL-3.0" }, "contracts/release/core/fund/vault/IVault.sol": { "keccak256": "0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd", "urls": [ "bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599", "dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG" ], "license": "GPL-3.0" }, "contracts/release/extensions/IExtension.sol": { "keccak256": "0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b", "urls": [ "bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70", "dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t" ], "license": "GPL-3.0" }, "contracts/release/extensions/fee-manager/IFeeManager.sol": { "keccak256": "0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51", "urls": [ "bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22", "dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod" ], "license": "GPL-3.0" }, "contracts/release/extensions/policy-manager/IPolicy.sol": { "keccak256": "0xc12663ca72065b256c3b934ab738fde26c147c7b0399de43650df89dd52ee467", "urls": [ "bzz-raw://be8fecfcba0f3fda615f0a1bb3c766750c23761ef751d7c4472dfe540e460cd1", "dweb:/ipfs/QmaarPoRTsX6NiJ8V4u2f3Qh6d7tUs28bw9R14An3t5Bs1" ], "license": "GPL-3.0" }, "contracts/release/extensions/policy-manager/IPolicyManager.sol": { "keccak256": "0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32", "urls": [ "bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa", "dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb" ], "license": "GPL-3.0" }, "contracts/release/extensions/policy-manager/policies/utils/AddressListRegistryPolicyBase.sol": { "keccak256": "0x3fdcf3e45c9d6b9cf5221aeb95858060dfc18abf744f664b5ce9bf2f0a6a7bdc", "urls": [ "bzz-raw://48b3ed06e509a45f122112129bf3d221ae30afad87722a123f7405a4a24e6645", "dweb:/ipfs/QmSA3cJB7C6x6BasicDpzwnHuxFkL6k8hR5fDRD42BWsGc" ], "license": "GPL-3.0" }, "contracts/release/extensions/policy-manager/policies/utils/PolicyBase.sol": { "keccak256": "0x972311abb98f0da815b4aca83d5afdd219d3604ec19cf5e3773c0c305bd9b3f1", "urls": [ "bzz-raw://2452f3d1f3b1d8e8459a07489146a2d0d8a10463715937995cbe77ee5de8c069", "dweb:/ipfs/Qmf2hhd2DVbjpxmbNGAhRZNZkqpGZA2mX3eA1WNwtv6t5Y" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol": { "keccak256": "0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609", "urls": [ "bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f", "dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol": { "keccak256": "0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01", "urls": [ "bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0", "dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol": { "keccak256": "0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196", "urls": [ "bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b", "dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol": { "keccak256": "0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794", "urls": [ "bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965", "dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IGsnForwarder.sol": { "keccak256": "0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030", "urls": [ "bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29", "dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IGsnPaymaster.sol": { "keccak256": "0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c", "urls": [ "bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4", "dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IGsnTypes.sol": { "keccak256": "0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714", "urls": [ "bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7", "dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C" ], "license": "GPL-3.0" }, "contracts/release/utils/AddressArrayLib.sol": { "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", "urls": [ "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" ], "license": "GPL-3.0" }, "contracts/release/utils/beacon-proxy/IBeacon.sol": { "keccak256": "0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2", "urls": [ "bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39", "dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V" ], "license": "GPL-3.0" }, "contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol": { "keccak256": "0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc", "urls": [ "bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be", "dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", "urls": [ "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Address.sol": { "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", "urls": [ "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" } }, "version": 1 }, "id": 221 } diff --git a/eth_defi/abi/enzyme/AggregatedDerivativePriceFeedMixin.json b/eth_defi/abi/enzyme/AggregatedDerivativePriceFeedMixin.json index ee654efa..9daab0cb 100644 --- a/eth_defi/abi/enzyme/AggregatedDerivativePriceFeedMixin.json +++ b/eth_defi/abi/enzyme/AggregatedDerivativePriceFeedMixin.json @@ -1,202 +1 @@ -{ - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "derivative", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "priceFeed", - "type": "address" - } - ], - "name": "DerivativeAdded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "derivative", - "type": "address" - } - ], - "name": "DerivativeRemoved", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_derivative", - "type": "address" - } - ], - "name": "getPriceFeedForDerivative", - "outputs": [ - { - "internalType": "address", - "name": "priceFeed_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "getPriceFeedForDerivative(address)": "68e81c6d" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"derivative\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"priceFeed\",\"type\":\"address\"}],\"name\":\"DerivativeAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"derivative\",\"type\":\"address\"}],\"name\":\"DerivativeRemoved\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_derivative\",\"type\":\"address\"}],\"name\":\"getPriceFeedForDerivative\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"priceFeed_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"getPriceFeedForDerivative(address)\":{\"returns\":{\"priceFeed_\":\"The price feed contract address\"}}},\"title\":\"AggregatedDerivativePriceFeedMixin Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getPriceFeedForDerivative(address)\":{\"notice\":\"Gets the registered price feed for a given derivative\"}},\"notice\":\"Aggregates multiple derivative price feeds (e.g., Compound, Chai) and dispatches rate requests to the appropriate feed\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/infrastructure/price-feeds/derivatives/AggregatedDerivativePriceFeedMixin.sol\":\"AggregatedDerivativePriceFeedMixin\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/infrastructure/price-feeds/derivatives/AggregatedDerivativePriceFeedMixin.sol\":{\"keccak256\":\"0x85d2ac39834dae7feb04f0e37317a38b8abeb0f950692fbc9d29078c52cd8d52\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://7bf8f1ce064d85a2812a944fc93068955b233924097f7f45898be3db826579d5\",\"dweb:/ipfs/Qme7f6AhxLVn32prM8fHaCvxtVi86A9KqFMqPA1s88kVYR\"]},\"contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol\":{\"keccak256\":\"0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e\",\"dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "derivative", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "priceFeed", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "DerivativeAdded", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "derivative", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "DerivativeRemoved", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_derivative", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getPriceFeedForDerivative", - "outputs": [ - { - "internalType": "address", - "name": "priceFeed_", - "type": "address" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "getPriceFeedForDerivative(address)": { - "returns": { - "priceFeed_": "The price feed contract address" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "getPriceFeedForDerivative(address)": { - "notice": "Gets the registered price feed for a given derivative" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/infrastructure/price-feeds/derivatives/AggregatedDerivativePriceFeedMixin.sol": "AggregatedDerivativePriceFeedMixin" - }, - "libraries": {} - }, - "sources": { - "contracts/release/infrastructure/price-feeds/derivatives/AggregatedDerivativePriceFeedMixin.sol": { - "keccak256": "0x85d2ac39834dae7feb04f0e37317a38b8abeb0f950692fbc9d29078c52cd8d52", - "urls": [ - "bzz-raw://7bf8f1ce064d85a2812a944fc93068955b233924097f7f45898be3db826579d5", - "dweb:/ipfs/Qme7f6AhxLVn32prM8fHaCvxtVi86A9KqFMqPA1s88kVYR" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol": { - "keccak256": "0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332", - "urls": [ - "bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e", - "dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 234 -} +{ "abi": [ { "type": "function", "name": "getPriceFeedForDerivative", "inputs": [ { "name": "_derivative", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "priceFeed_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "event", "name": "DerivativeAdded", "inputs": [ { "name": "derivative", "type": "address", "indexed": true, "internalType": "address" }, { "name": "priceFeed", "type": "address", "indexed": false, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "DerivativeRemoved", "inputs": [ { "name": "derivative", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "getPriceFeedForDerivative(address)": "68e81c6d" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"derivative\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"priceFeed\",\"type\":\"address\"}],\"name\":\"DerivativeAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"derivative\",\"type\":\"address\"}],\"name\":\"DerivativeRemoved\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_derivative\",\"type\":\"address\"}],\"name\":\"getPriceFeedForDerivative\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"priceFeed_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"getPriceFeedForDerivative(address)\":{\"returns\":{\"priceFeed_\":\"The price feed contract address\"}}},\"title\":\"AggregatedDerivativePriceFeedMixin Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getPriceFeedForDerivative(address)\":{\"notice\":\"Gets the registered price feed for a given derivative\"}},\"notice\":\"Aggregates multiple derivative price feeds (e.g., Compound, Chai) and dispatches rate requests to the appropriate feed\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/infrastructure/price-feeds/derivatives/AggregatedDerivativePriceFeedMixin.sol\":\"AggregatedDerivativePriceFeedMixin\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/infrastructure/price-feeds/derivatives/AggregatedDerivativePriceFeedMixin.sol\":{\"keccak256\":\"0x85d2ac39834dae7feb04f0e37317a38b8abeb0f950692fbc9d29078c52cd8d52\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://7bf8f1ce064d85a2812a944fc93068955b233924097f7f45898be3db826579d5\",\"dweb:/ipfs/Qme7f6AhxLVn32prM8fHaCvxtVi86A9KqFMqPA1s88kVYR\"]},\"contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol\":{\"keccak256\":\"0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e\",\"dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "derivative", "type": "address", "indexed": true }, { "internalType": "address", "name": "priceFeed", "type": "address", "indexed": false } ], "type": "event", "name": "DerivativeAdded", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "derivative", "type": "address", "indexed": true } ], "type": "event", "name": "DerivativeRemoved", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "_derivative", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getPriceFeedForDerivative", "outputs": [ { "internalType": "address", "name": "priceFeed_", "type": "address" } ] } ], "devdoc": { "kind": "dev", "methods": { "getPriceFeedForDerivative(address)": { "returns": { "priceFeed_": "The price feed contract address" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "getPriceFeedForDerivative(address)": { "notice": "Gets the registered price feed for a given derivative" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/infrastructure/price-feeds/derivatives/AggregatedDerivativePriceFeedMixin.sol": "AggregatedDerivativePriceFeedMixin" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/infrastructure/price-feeds/derivatives/AggregatedDerivativePriceFeedMixin.sol": { "keccak256": "0x85d2ac39834dae7feb04f0e37317a38b8abeb0f950692fbc9d29078c52cd8d52", "urls": [ "bzz-raw://7bf8f1ce064d85a2812a944fc93068955b233924097f7f45898be3db826579d5", "dweb:/ipfs/Qme7f6AhxLVn32prM8fHaCvxtVi86A9KqFMqPA1s88kVYR" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol": { "keccak256": "0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332", "urls": [ "bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e", "dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 234 } diff --git a/eth_defi/abi/enzyme/AllowedAdapterIncomingAssetsPolicy.json b/eth_defi/abi/enzyme/AllowedAdapterIncomingAssetsPolicy.json index 6fef283d..433746a2 100644 --- a/eth_defi/abi/enzyme/AllowedAdapterIncomingAssetsPolicy.json +++ b/eth_defi/abi/enzyme/AllowedAdapterIncomingAssetsPolicy.json @@ -1,913 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_policyManager", - "type": "address" - }, - { - "internalType": "address", - "name": "_addressListRegistry", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "comptrollerProxy", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "listIds", - "type": "uint256[]" - } - ], - "name": "ListsSetForFund", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "activateForFund", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_encodedSettings", - "type": "bytes" - } - ], - "name": "addFundSettings", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "canDisable", - "outputs": [ - { - "internalType": "bool", - "name": "canDisable_", - "type": "bool" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "getAddressListRegistry", - "outputs": [ - { - "internalType": "address", - "name": "addressListRegistry_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - } - ], - "name": "getListIdsForFund", - "outputs": [ - { - "internalType": "uint256[]", - "name": "listIds_", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getPolicyManager", - "outputs": [ - { - "internalType": "address", - "name": "policyManager_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "identifier", - "outputs": [ - { - "internalType": "string", - "name": "identifier_", - "type": "string" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "implementedHooks", - "outputs": [ - { - "internalType": "enum IPolicyManager.PolicyHook[]", - "name": "implementedHooks_", - "type": "uint8[]" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "address[]", - "name": "_assets", - "type": "address[]" - } - ], - "name": "passesRule", - "outputs": [ - { - "internalType": "bool", - "name": "isValid_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "updateFundSettings", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "enum IPolicyManager.PolicyHook", - "name": "", - "type": "uint8" - }, - { - "internalType": "bytes", - "name": "_encodedArgs", - "type": "bytes" - } - ], - "name": "validateRule", - "outputs": [ - { - "internalType": "bool", - "name": "isValid_", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x60c06040523480156200001157600080fd5b506040516200145738038062001457833981016040819052620000349162000066565b6001600160601b0319606092831b8116608052911b1660a052620000d1565b80516200006081620000b7565b92915050565b600080604083850312156200007a57600080fd5b600062000088858562000053565b92505060206200009b8582860162000053565b9150509250929050565b60006001600160a01b03821662000060565b620000c281620000a5565b8114620000ce57600080fd5b50565b60805160601c60a05160601c61135762000100600039806102735250806101c052806103c052506113576000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c80637998a1c4116100715780637998a1c41461011c578063c18a633814610131578063cbf54bb214610144578063ceb9a0ad14610159578063d44ad6cb1461016c578063dffd7c6f14610174576100a9565b80630d4d7510146100ae5780630f5f6b4f146100c35780631ef92578146100d6578063579be718146100f45780637470893414610107575b600080fd5b6100c16100bc366004610ce4565b610194565b005b6100c16100d1366004610ce4565b6101b5565b6100de61020d565b6040516100eb9190611182565b60405180910390f35b6100de610102366004610d39565b610212565b61010f610271565b6040516100eb9190611100565b610124610295565b6040516100eb9190611190565b6100de61013f366004610c93565b6102cc565b61014c610364565b6040516100eb919061113b565b6100c1610167366004610b57565b6103bb565b61010f6103be565b610187610182366004610b57565b6103e2565b6040516100eb919061114c565b60405162461bcd60e51b81526004016101ac906111a1565b60405180910390fd5b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146101fd5760405162461bcd60e51b81526004016101ac906111b1565b61020883838361044d565b505050565b600090565b6000606061025584848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061070f92505050565b505050935050505061026786826102cc565b9695505050505050565b7f000000000000000000000000000000000000000000000000000000000000000090565b60408051808201909152601f81527f414c4c4f5745445f414441505445525f494e434f4d494e475f41535345545300602082015290565b60006102d6610271565b6001600160a01b03166330bdd3866102ed856103e2565b846040518363ffffffff1660e01b815260040161030b92919061115d565b60206040518083038186803b15801561032357600080fd5b505afa158015610337573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061035b9190610dfd565b90505b92915050565b6040805160018082528183019092526060916020808301908036833701905050905060018160008151811061039557fe5b602002602001019060098111156103a857fe5b908160098111156103b557fe5b90525090565b50565b7f000000000000000000000000000000000000000000000000000000000000000090565b6001600160a01b0381166000908152602081815260409182902080548351818402810184019094528084526060939283018282801561044057602002820191906000526020600020905b81548152602001906001019080831161042c575b505050505090505b919050565b60608061045c83850185610da0565b91509150606081518351016001600160401b038111801561047c57600080fd5b506040519080825280602002602001820160405280156104a6578160200160208202803683370190505b5090508051600014156104cb5760405162461bcd60e51b81526004016101ac906111c1565b6001600160a01b0386166000908152602081905260409020541561050a576001600160a01b038616600090815260208190526040812061050a9161080a565b60005b835181101561059d5783818151811061052257fe5b602002602001015182828151811061053657fe5b602002602001018181525050600080886001600160a01b03166001600160a01b0316815260200190815260200160002084828151811061057257fe5b602090810291909101810151825460018181018555600094855292909320909201919091550161050d565b508151156106c6576000866001600160a01b031663c98091876040518163ffffffff1660e01b815260040160206040518083038186803b1580156105e057600080fd5b505afa1580156105f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106189190610b7d565b905060005b83518110156106c357600081865101905061064b8386848151811061063e57fe5b6020026020010151610745565b84828151811061065757fe5b6020026020010181815250506000808a6001600160a01b03166001600160a01b0316815260200190815260200160002084828151811061069357fe5b6020908102919091018101518254600181810185556000948552929093209092019190915591909101905061061d565b50505b856001600160a01b03167fd63f5b55f54cdda3234eab3aa26d85b99854a43efea66e0c459220fd7b3a332f826040516106ff919061114c565b60405180910390a2505050505050565b60008060006060806060808780602001905181019061072e9190610b9b565b959e949d50929b5090995097509550909350915050565b6000806060610753846107e9565b9150915061075f610271565b6001600160a01b031663be68406e8684846040518463ffffffff1660e01b815260040161078e9392919061110e565b602060405180830381600087803b1580156107a857600080fd5b505af11580156107bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107e09190610e62565b95945050505050565b60006060828060200190518101906108019190610e1b565b91509150915091565b50805460008255906000526020600020908101906103bb91905b808211156108385760008155600101610824565b5090565b803561035e81611301565b805161035e81611301565b600082601f83011261086357600080fd5b8135610876610871826111f7565b6111d1565b9150818183526020840193506020810190508385602084028201111561089b57600080fd5b60005b838110156108c757816108b1888261083c565b845250602092830192919091019060010161089e565b5050505092915050565b600082601f8301126108e257600080fd5b81516108f0610871826111f7565b9150818183526020840193506020810190508385602084028201111561091557600080fd5b60005b838110156108c7578161092b8882610847565b8452506020928301929190910190600101610918565b600082601f83011261095257600080fd5b8135610960610871826111f7565b81815260209384019390925082018360005b838110156108c757813586016109888882610adc565b8452506020928301929190910190600101610972565b600082601f8301126109af57600080fd5b81356109bd610871826111f7565b915081818352602084019350602081019050838560208402820111156109e257600080fd5b60005b838110156108c757816109f88882610b41565b84525060209283019291909101906001016109e5565b600082601f830112610a1f57600080fd5b8151610a2d610871826111f7565b91508181835260208401935060208101905083856020840282011115610a5257600080fd5b60005b838110156108c75781610a688882610b4c565b8452506020928301929190910190600101610a55565b805161035e81611315565b805161035e8161131e565b60008083601f840112610aa657600080fd5b5081356001600160401b03811115610abd57600080fd5b602083019150836001820283011115610ad557600080fd5b9250929050565b600082601f830112610aed57600080fd5b8135610afb61087182611217565b91508082526020830160208301858383011115610b1757600080fd5b610b228382846112a7565b50505092915050565b803561035e81611327565b805161035e81611334565b803561035e81611341565b805161035e81611341565b600060208284031215610b6957600080fd5b6000610b75848461083c565b949350505050565b600060208284031215610b8f57600080fd5b6000610b758484610847565b600080600080600080600060e0888a031215610bb657600080fd5b6000610bc28a8a610847565b9750506020610bd38a828b01610847565b9650506040610be48a828b01610a89565b95505060608801516001600160401b03811115610c0057600080fd5b610c0c8a828b016108d1565b94505060808801516001600160401b03811115610c2857600080fd5b610c348a828b01610a0e565b93505060a08801516001600160401b03811115610c5057600080fd5b610c5c8a828b016108d1565b92505060c08801516001600160401b03811115610c7857600080fd5b610c848a828b01610a0e565b91505092959891949750929550565b60008060408385031215610ca657600080fd5b6000610cb2858561083c565b92505060208301356001600160401b03811115610cce57600080fd5b610cda85828601610852565b9150509250929050565b600080600060408486031215610cf957600080fd5b6000610d05868661083c565b93505060208401356001600160401b03811115610d2157600080fd5b610d2d86828701610a94565b92509250509250925092565b60008060008060608587031215610d4f57600080fd5b6000610d5b878761083c565b9450506020610d6c87828801610b2b565b93505060408501356001600160401b03811115610d8857600080fd5b610d9487828801610a94565b95989497509550505050565b60008060408385031215610db357600080fd5b82356001600160401b03811115610dc957600080fd5b610dd58582860161099e565b92505060208301356001600160401b03811115610df157600080fd5b610cda85828601610941565b600060208284031215610e0f57600080fd5b6000610b758484610a7e565b60008060408385031215610e2e57600080fd5b6000610e3a8585610b36565b92505060208301516001600160401b03811115610e5657600080fd5b610cda858286016108d1565b600060208284031215610e7457600080fd5b6000610b758484610b4c565b6000610e8c8383610eac565b505060200190565b6000610e8c8383610fb9565b6000610e8c83836110f7565b610eb581611251565b82525050565b6000610ec682611244565b610ed08185611248565b9350610edb8361123e565b8060005b83811015610f09578151610ef38882610e80565b9750610efe8361123e565b925050600101610edf565b509495945050505050565b6000610f1f82611244565b610f298185611248565b9350610f348361123e565b8060005b83811015610f09578151610f4c8882610e94565b9750610f578361123e565b925050600101610f38565b6000610f6d82611244565b610f778185611248565b9350610f828361123e565b8060005b83811015610f09578151610f9a8882610ea0565b9750610fa58361123e565b925050600101610f86565b610eb58161125c565b610eb581611291565b610eb58161129c565b6000610fd682611244565b610fe08185611248565b9350610ff08185602086016112b3565b610ff9816112e3565b9093019392505050565b6000611010603783611248565b7f75706461746546756e6453657474696e67733a2055706461746573206e6f742081527f616c6c6f77656420666f72207468697320706f6c696379000000000000000000602082015260400192915050565b600061106f602983611248565b7f4f6e6c792074686520506f6c6963794d616e616765722063616e206d616b65208152681d1a1a5cc818d85b1b60ba1b602082015260400192915050565b60006110ba602883611248565b7f5f5f7570646174654c69737473466f7246756e643a204e6f206c6973747320738152671c1958da599a595960c21b602082015260400192915050565b610eb58161128e565b6020810161035e8284610eac565b6060810161111c8286610eac565b6111296020830185610fc2565b81810360408301526107e08184610ebb565b6020808252810161035b8184610f14565b6020808252810161035b8184610f62565b6040808252810161116e8185610f62565b90508181036020830152610b758184610ebb565b6020810161035e8284610fb0565b6020808252810161035b8184610fcb565b6020808252810161035e81611003565b6020808252810161035e81611062565b6020808252810161035e816110ad565b6040518181016001600160401b03811182821017156111ef57600080fd5b604052919050565b60006001600160401b0382111561120d57600080fd5b5060209081020190565b60006001600160401b0382111561122d57600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b600061035e82611282565b151590565b6001600160e01b03191690565b80610448816112ed565b80610448816112f7565b6001600160a01b031690565b90565b600061035e8261126e565b600061035e82611278565b82818337506000910152565b60005b838110156112ce5781810151838201526020016112b6565b838111156112dd576000848401525b50505050565b601f01601f191690565b600a81106103bb57fe5b600481106103bb57fe5b61130a81611251565b81146103bb57600080fd5b61130a8161125c565b61130a81611261565b600a81106103bb57600080fd5b600481106103bb57600080fd5b61130a8161128e56fea164736f6c634300060c000a", - "sourceMap": "559:2459:207:-:0;;;642:163;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;737:31:223;;;;;;;;1052:44:221;;;::::1;::::0;559:2459:207;;5:134:-1;83:13;;101:33;83:13;101:33;:::i;:::-;68:71;;;;:::o;146:399::-;;;278:2;266:9;257:7;253:23;249:32;246:2;;;294:1;291;284:12;246:2;329:1;346:64;402:7;382:9;346:64;:::i;:::-;336:74;;308:108;447:2;465:64;521:7;512:6;501:9;497:22;465:64;:::i;:::-;455:74;;426:109;240:305;;;;;:::o;552:91::-;;-1:-1;;;;;712:54;;614:24;695:76::o;778:117::-;847:24;865:5;847:24;:::i;:::-;840:5;837:35;827:2;;886:1;883;876:12;827:2;821:74;:::o;:::-;559:2459:207;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106100a95760003560e01c80637998a1c4116100715780637998a1c41461011c578063c18a633814610131578063cbf54bb214610144578063ceb9a0ad14610159578063d44ad6cb1461016c578063dffd7c6f14610174576100a9565b80630d4d7510146100ae5780630f5f6b4f146100c35780631ef92578146100d6578063579be718146100f45780637470893414610107575b600080fd5b6100c16100bc366004610ce4565b610194565b005b6100c16100d1366004610ce4565b6101b5565b6100de61020d565b6040516100eb9190611182565b60405180910390f35b6100de610102366004610d39565b610212565b61010f610271565b6040516100eb9190611100565b610124610295565b6040516100eb9190611190565b6100de61013f366004610c93565b6102cc565b61014c610364565b6040516100eb919061113b565b6100c1610167366004610b57565b6103bb565b61010f6103be565b610187610182366004610b57565b6103e2565b6040516100eb919061114c565b60405162461bcd60e51b81526004016101ac906111a1565b60405180910390fd5b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146101fd5760405162461bcd60e51b81526004016101ac906111b1565b61020883838361044d565b505050565b600090565b6000606061025584848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061070f92505050565b505050935050505061026786826102cc565b9695505050505050565b7f000000000000000000000000000000000000000000000000000000000000000090565b60408051808201909152601f81527f414c4c4f5745445f414441505445525f494e434f4d494e475f41535345545300602082015290565b60006102d6610271565b6001600160a01b03166330bdd3866102ed856103e2565b846040518363ffffffff1660e01b815260040161030b92919061115d565b60206040518083038186803b15801561032357600080fd5b505afa158015610337573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061035b9190610dfd565b90505b92915050565b6040805160018082528183019092526060916020808301908036833701905050905060018160008151811061039557fe5b602002602001019060098111156103a857fe5b908160098111156103b557fe5b90525090565b50565b7f000000000000000000000000000000000000000000000000000000000000000090565b6001600160a01b0381166000908152602081815260409182902080548351818402810184019094528084526060939283018282801561044057602002820191906000526020600020905b81548152602001906001019080831161042c575b505050505090505b919050565b60608061045c83850185610da0565b91509150606081518351016001600160401b038111801561047c57600080fd5b506040519080825280602002602001820160405280156104a6578160200160208202803683370190505b5090508051600014156104cb5760405162461bcd60e51b81526004016101ac906111c1565b6001600160a01b0386166000908152602081905260409020541561050a576001600160a01b038616600090815260208190526040812061050a9161080a565b60005b835181101561059d5783818151811061052257fe5b602002602001015182828151811061053657fe5b602002602001018181525050600080886001600160a01b03166001600160a01b0316815260200190815260200160002084828151811061057257fe5b602090810291909101810151825460018181018555600094855292909320909201919091550161050d565b508151156106c6576000866001600160a01b031663c98091876040518163ffffffff1660e01b815260040160206040518083038186803b1580156105e057600080fd5b505afa1580156105f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106189190610b7d565b905060005b83518110156106c357600081865101905061064b8386848151811061063e57fe5b6020026020010151610745565b84828151811061065757fe5b6020026020010181815250506000808a6001600160a01b03166001600160a01b0316815260200190815260200160002084828151811061069357fe5b6020908102919091018101518254600181810185556000948552929093209092019190915591909101905061061d565b50505b856001600160a01b03167fd63f5b55f54cdda3234eab3aa26d85b99854a43efea66e0c459220fd7b3a332f826040516106ff919061114c565b60405180910390a2505050505050565b60008060006060806060808780602001905181019061072e9190610b9b565b959e949d50929b5090995097509550909350915050565b6000806060610753846107e9565b9150915061075f610271565b6001600160a01b031663be68406e8684846040518463ffffffff1660e01b815260040161078e9392919061110e565b602060405180830381600087803b1580156107a857600080fd5b505af11580156107bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107e09190610e62565b95945050505050565b60006060828060200190518101906108019190610e1b565b91509150915091565b50805460008255906000526020600020908101906103bb91905b808211156108385760008155600101610824565b5090565b803561035e81611301565b805161035e81611301565b600082601f83011261086357600080fd5b8135610876610871826111f7565b6111d1565b9150818183526020840193506020810190508385602084028201111561089b57600080fd5b60005b838110156108c757816108b1888261083c565b845250602092830192919091019060010161089e565b5050505092915050565b600082601f8301126108e257600080fd5b81516108f0610871826111f7565b9150818183526020840193506020810190508385602084028201111561091557600080fd5b60005b838110156108c7578161092b8882610847565b8452506020928301929190910190600101610918565b600082601f83011261095257600080fd5b8135610960610871826111f7565b81815260209384019390925082018360005b838110156108c757813586016109888882610adc565b8452506020928301929190910190600101610972565b600082601f8301126109af57600080fd5b81356109bd610871826111f7565b915081818352602084019350602081019050838560208402820111156109e257600080fd5b60005b838110156108c757816109f88882610b41565b84525060209283019291909101906001016109e5565b600082601f830112610a1f57600080fd5b8151610a2d610871826111f7565b91508181835260208401935060208101905083856020840282011115610a5257600080fd5b60005b838110156108c75781610a688882610b4c565b8452506020928301929190910190600101610a55565b805161035e81611315565b805161035e8161131e565b60008083601f840112610aa657600080fd5b5081356001600160401b03811115610abd57600080fd5b602083019150836001820283011115610ad557600080fd5b9250929050565b600082601f830112610aed57600080fd5b8135610afb61087182611217565b91508082526020830160208301858383011115610b1757600080fd5b610b228382846112a7565b50505092915050565b803561035e81611327565b805161035e81611334565b803561035e81611341565b805161035e81611341565b600060208284031215610b6957600080fd5b6000610b75848461083c565b949350505050565b600060208284031215610b8f57600080fd5b6000610b758484610847565b600080600080600080600060e0888a031215610bb657600080fd5b6000610bc28a8a610847565b9750506020610bd38a828b01610847565b9650506040610be48a828b01610a89565b95505060608801516001600160401b03811115610c0057600080fd5b610c0c8a828b016108d1565b94505060808801516001600160401b03811115610c2857600080fd5b610c348a828b01610a0e565b93505060a08801516001600160401b03811115610c5057600080fd5b610c5c8a828b016108d1565b92505060c08801516001600160401b03811115610c7857600080fd5b610c848a828b01610a0e565b91505092959891949750929550565b60008060408385031215610ca657600080fd5b6000610cb2858561083c565b92505060208301356001600160401b03811115610cce57600080fd5b610cda85828601610852565b9150509250929050565b600080600060408486031215610cf957600080fd5b6000610d05868661083c565b93505060208401356001600160401b03811115610d2157600080fd5b610d2d86828701610a94565b92509250509250925092565b60008060008060608587031215610d4f57600080fd5b6000610d5b878761083c565b9450506020610d6c87828801610b2b565b93505060408501356001600160401b03811115610d8857600080fd5b610d9487828801610a94565b95989497509550505050565b60008060408385031215610db357600080fd5b82356001600160401b03811115610dc957600080fd5b610dd58582860161099e565b92505060208301356001600160401b03811115610df157600080fd5b610cda85828601610941565b600060208284031215610e0f57600080fd5b6000610b758484610a7e565b60008060408385031215610e2e57600080fd5b6000610e3a8585610b36565b92505060208301516001600160401b03811115610e5657600080fd5b610cda858286016108d1565b600060208284031215610e7457600080fd5b6000610b758484610b4c565b6000610e8c8383610eac565b505060200190565b6000610e8c8383610fb9565b6000610e8c83836110f7565b610eb581611251565b82525050565b6000610ec682611244565b610ed08185611248565b9350610edb8361123e565b8060005b83811015610f09578151610ef38882610e80565b9750610efe8361123e565b925050600101610edf565b509495945050505050565b6000610f1f82611244565b610f298185611248565b9350610f348361123e565b8060005b83811015610f09578151610f4c8882610e94565b9750610f578361123e565b925050600101610f38565b6000610f6d82611244565b610f778185611248565b9350610f828361123e565b8060005b83811015610f09578151610f9a8882610ea0565b9750610fa58361123e565b925050600101610f86565b610eb58161125c565b610eb581611291565b610eb58161129c565b6000610fd682611244565b610fe08185611248565b9350610ff08185602086016112b3565b610ff9816112e3565b9093019392505050565b6000611010603783611248565b7f75706461746546756e6453657474696e67733a2055706461746573206e6f742081527f616c6c6f77656420666f72207468697320706f6c696379000000000000000000602082015260400192915050565b600061106f602983611248565b7f4f6e6c792074686520506f6c6963794d616e616765722063616e206d616b65208152681d1a1a5cc818d85b1b60ba1b602082015260400192915050565b60006110ba602883611248565b7f5f5f7570646174654c69737473466f7246756e643a204e6f206c6973747320738152671c1958da599a595960c21b602082015260400192915050565b610eb58161128e565b6020810161035e8284610eac565b6060810161111c8286610eac565b6111296020830185610fc2565b81810360408301526107e08184610ebb565b6020808252810161035b8184610f14565b6020808252810161035b8184610f62565b6040808252810161116e8185610f62565b90508181036020830152610b758184610ebb565b6020810161035e8284610fb0565b6020808252810161035b8184610fcb565b6020808252810161035e81611003565b6020808252810161035e81611062565b6020808252810161035e816110ad565b6040518181016001600160401b03811182821017156111ef57600080fd5b604052919050565b60006001600160401b0382111561120d57600080fd5b5060209081020190565b60006001600160401b0382111561122d57600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b600061035e82611282565b151590565b6001600160e01b03191690565b80610448816112ed565b80610448816112f7565b6001600160a01b031690565b90565b600061035e8261126e565b600061035e82611278565b82818337506000910152565b60005b838110156112ce5781810151838201526020016112b6565b838111156112dd576000848401525b50505050565b601f01601f191690565b600a81106103bb57fe5b600481106103bb57fe5b61130a81611251565b81146103bb57600080fd5b61130a8161125c565b61130a81611261565b600a81106103bb57600080fd5b600481106103bb57600080fd5b61130a8161128e56fea164736f6c634300060c000a", - "sourceMap": "559:2459:207:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1452:161:223;;;;;;:::i;:::-;;:::i;:::-;;1333:239:221;;;;;;:::i;:::-;;:::i;1214:109:223:-;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1938:444:207;;;;;;:::i;:::-;;:::i;4613:130:221:-;;;:::i;:::-;;;;;;;:::i;955:138:207:-;;;:::i;:::-;;;;;;;:::i;2685:331::-;;;;;;:::i;:::-;;:::i;1223:336::-;;;:::i;:::-;;;;;;;:::i;941:83:223:-;;;;;;:::i;:::-;;:::i;6755:113::-;;;:::i;4908:198:221:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1452:161:223:-;1541:65;;-1:-1:-1;;;1541:65:223;;;;;;;:::i;:::-;;;;;;;;1333:239:221;586:10:223;-1:-1:-1;;;;;600:14:223;586:28;;578:82;;;;-1:-1:-1;;;578:82:223;;;;;;;:::i;:::-;1508:57:221::1;1529:17;1548:16;;1508:20;:57::i;:::-;1333:239:::0;;;:::o;1214:109:223:-;1276:16;1214:109;:::o;1938:444:207:-;2100:13;2181:31;2255:57;2299:12;;2255:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2255:43:207;;-1:-1:-1;;;2255:57:207:i;:::-;2125:187;;;;;;;;2330:45;2341:17;2360:14;2330:10;:45::i;:::-;2323:52;1938:444;-1:-1:-1;;;;;;1938:444:207:o;4613:130:221:-;4715:21;4613:130;:::o;955:138:207:-;1046:40;;;;;;;;;;;;;;;;;955:138;:::o;2685:331::-;2803:13;2871:24;:22;:24::i;:::-;-1:-1:-1;;;;;2851:65:207;;2934:36;2952:17;2934;:36::i;:::-;2988:7;2851:158;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2832:177;;2685:331;;;;;:::o;1223:336::-;1403:34;;;1435:1;1403:34;;;;;;;;;1315:52;;1403:34;;;;;;;;;;;-1:-1:-1;1403:34:207;1383:54;;1470:47;1447:17;1465:1;1447:20;;;;;;;;;;;;;:70;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1223:336:207;:::o;941:83:223:-;;:::o;6755:113::-;6847:14;6755:113;:::o;4908:198:221:-;-1:-1:-1;;;;;5055:44:221;;:25;:44;;;;;;;;;;;;5048:51;;;;;;;;;;;;;;;;;5007:25;;5048:51;;;5055:44;5048:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4908:198;;;;:::o;2752:1638::-;2874:32;;2939:84;;;;2963:16;2939:84;:::i;:::-;2873:150;;;;3034:28;3104:12;:19;3079:15;:22;:44;-1:-1:-1;;;;;3065:59:221;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3065:59:221;;3034:90;;3142:11;:18;3164:1;3142:23;;3134:76;;;;-1:-1:-1;;;3134:76:221;;;;;;;:::i;:::-;-1:-1:-1;;;;;3283:44:221;;3337:1;3283:44;;;;;;;;;;:51;:55;3279:137;;-1:-1:-1;;;;;3361:44:221;;:25;:44;;;;;;;;;;3354:51;;;:::i;:::-;3553:9;3548:192;3568:15;:22;3564:1;:26;3548:192;;;3628:15;3644:1;3628:18;;;;;;;;;;;;;;3611:11;3623:1;3611:14;;;;;;;;;;;;;:35;;;;;3660:25;:44;3686:17;-1:-1:-1;;;;;3660:44:221;-1:-1:-1;;;;;3660:44:221;;;;;;;;;;;;3710:15;3726:1;3710:18;;;;;;;;;;;;;;;;;;;3660:69;;;;;;;;-1:-1:-1;3660:69:221;;;;;;;;;;;;;;3592:3;3548:192;;;-1:-1:-1;3794:19:221;;:23;3790:531;;3833:18;3869:17;-1:-1:-1;;;;;3854:47:221;;:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3833:70;;3922:9;3917:394;3937:12;:19;3933:1;:23;3917:394;;;3981:24;4033:1;4008:15;:22;:26;3981:53;;4084:114;4133:10;4165:12;4178:1;4165:15;;;;;;;;;;;;;;4084:27;:114::i;:::-;4052:11;4064:16;4052:29;;;;;;;;;;;;;:146;;;;;4216:25;:44;4242:17;-1:-1:-1;;;;;4216:44:221;-1:-1:-1;;;;;4216:44:221;;;;;;;;;;;;4266:11;4278:16;4266:29;;;;;;;;;;;;;;;;;;;4216:80;;;;;;;;-1:-1:-1;4216:80:221;;;;;;;;;;;;;;3958:3;;;;;-1:-1:-1;3917:394:221;;;;3790:531;;4352:17;-1:-1:-1;;;;;4336:47:221;;4371:11;4336:47;;;;;;:::i;:::-;;;;;;;;2752:1638;;;;;;:::o;4190:604:223:-;4333:15;4362:16;4392;4422:32;4468:38;4520:29;4563:35;4670:15;4642:145;;;;;;;;;;;;:::i;:::-;4623:164;;;;-1:-1:-1;4623:164:223;;-1:-1:-1;4623:164:223;;-1:-1:-1;4623:164:223;-1:-1:-1;4623:164:223;-1:-1:-1;4623:164:223;;-1:-1:-1;4190:604:223;-1:-1:-1;;4190:604:223:o;1662:488:221:-;1781:15;1826:41;1881:29;1923:33;1943:12;1923:19;:33::i;:::-;1812:144;;;;2006:24;:22;:24::i;:::-;-1:-1:-1;;;;;1986:56:221;;2060:11;2089:10;2117:12;1986:157;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1967:176;1662:488;-1:-1:-1;;;;;1662:488:221:o;2200:276::-;2303:42;2347:30;2411:12;2400:69;;;;;;;;;;;;:::i;:::-;2393:76;;;;2200:276;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5:130::-;72:20;;97:33;72:20;97:33;:::i;142:134::-;220:13;;238:33;220:13;238:33;:::i;458:707::-;;575:3;568:4;560:6;556:17;552:27;542:2;;593:1;590;583:12;542:2;630:6;617:20;652:80;667:64;724:6;667:64;:::i;:::-;652:80;:::i;:::-;643:89;;749:5;774:6;767:5;760:21;804:4;796:6;792:17;782:27;;826:4;821:3;817:14;810:21;;879:6;926:3;918:4;910:6;906:17;901:3;897:27;894:36;891:2;;;943:1;940;933:12;891:2;968:1;953:206;978:6;975:1;972:13;953:206;;;1036:3;1058:37;1091:3;1079:10;1058:37;:::i;:::-;1046:50;;-1:-1;1119:4;1110:14;;;;1138;;;;;1000:1;993:9;953:206;;;957:14;535:630;;;;;;;:::o;1191:722::-;;1319:3;1312:4;1304:6;1300:17;1296:27;1286:2;;1337:1;1334;1327:12;1286:2;1367:6;1361:13;1389:80;1404:64;1461:6;1404:64;:::i;1389:80::-;1380:89;;1486:5;1511:6;1504:5;1497:21;1541:4;1533:6;1529:17;1519:27;;1563:4;1558:3;1554:14;1547:21;;1616:6;1663:3;1655:4;1647:6;1643:17;1638:3;1634:27;1631:36;1628:2;;;1680:1;1677;1670:12;1628:2;1705:1;1690:217;1715:6;1712:1;1709:13;1690:217;;;1773:3;1795:48;1839:3;1827:10;1795:48;:::i;:::-;1783:61;;-1:-1;1867:4;1858:14;;;;1886;;;;;1737:1;1730:9;1690:217;;1937:705;;2063:3;2056:4;2048:6;2044:17;2040:27;2030:2;;2081:1;2078;2071:12;2030:2;2118:6;2105:20;2140:89;2155:73;2221:6;2155:73;:::i;2140:89::-;2257:21;;;2301:4;2289:17;;;;2131:98;;-1:-1;2314:14;;2289:17;2409:1;2394:242;2419:6;2416:1;2413:13;2394:242;;;2502:3;2489:17;2481:6;2477:30;2526:46;2568:3;2556:10;2526:46;:::i;:::-;2514:59;;-1:-1;2596:4;2587:14;;;;2615;;;;;2441:1;2434:9;2394:242;;2668:707;;2785:3;2778:4;2770:6;2766:17;2762:27;2752:2;;2803:1;2800;2793:12;2752:2;2840:6;2827:20;2862:80;2877:64;2934:6;2877:64;:::i;2862:80::-;2853:89;;2959:5;2984:6;2977:5;2970:21;3014:4;3006:6;3002:17;2992:27;;3036:4;3031:3;3027:14;3020:21;;3089:6;3136:3;3128:4;3120:6;3116:17;3111:3;3107:27;3104:36;3101:2;;;3153:1;3150;3143:12;3101:2;3178:1;3163:206;3188:6;3185:1;3182:13;3163:206;;;3246:3;3268:37;3301:3;3289:10;3268:37;:::i;:::-;3256:50;;-1:-1;3329:4;3320:14;;;;3348;;;;;3210:1;3203:9;3163:206;;3401:722;;3529:3;3522:4;3514:6;3510:17;3506:27;3496:2;;3547:1;3544;3537:12;3496:2;3577:6;3571:13;3599:80;3614:64;3671:6;3614:64;:::i;3599:80::-;3590:89;;3696:5;3721:6;3714:5;3707:21;3751:4;3743:6;3739:17;3729:27;;3773:4;3768:3;3764:14;3757:21;;3826:6;3873:3;3865:4;3857:6;3853:17;3848:3;3844:27;3841:36;3838:2;;;3890:1;3887;3880:12;3838:2;3915:1;3900:217;3925:6;3922:1;3919:13;3900:217;;;3983:3;4005:48;4049:3;4037:10;4005:48;:::i;:::-;3993:61;;-1:-1;4077:4;4068:14;;;;4096;;;;;3947:1;3940:9;3900:217;;4131:128;4206:13;;4224:30;4206:13;4224:30;:::i;4266:132::-;4343:13;;4361:32;4343:13;4361:32;:::i;4419:336::-;;;4533:3;4526:4;4518:6;4514:17;4510:27;4500:2;;4551:1;4548;4541:12;4500:2;-1:-1;4571:20;;-1:-1;;;;;4600:30;;4597:2;;;4643:1;4640;4633:12;4597:2;4677:4;4669:6;4665:17;4653:29;;4728:3;4720:4;4712:6;4708:17;4698:8;4694:32;4691:41;4688:2;;;4745:1;4742;4735:12;4688:2;4493:262;;;;;:::o;4764:440::-;;4865:3;4858:4;4850:6;4846:17;4842:27;4832:2;;4883:1;4880;4873:12;4832:2;4920:6;4907:20;4942:64;4957:48;4998:6;4957:48;:::i;4942:64::-;4933:73;;5026:6;5019:5;5012:21;5062:4;5054:6;5050:17;5095:4;5088:5;5084:16;5130:3;5121:6;5116:3;5112:16;5109:25;5106:2;;;5147:1;5144;5137:12;5106:2;5157:41;5191:6;5186:3;5181;5157:41;:::i;:::-;4825:379;;;;;;;:::o;5212:162::-;5295:20;;5320:49;5295:20;5320:49;:::i;5381:164::-;5474:13;;5492:48;5474:13;5492:48;:::i;5552:130::-;5619:20;;5644:33;5619:20;5644:33;:::i;5689:134::-;5767:13;;5785:33;5767:13;5785:33;:::i;5830:241::-;;5934:2;5922:9;5913:7;5909:23;5905:32;5902:2;;;5950:1;5947;5940:12;5902:2;5985:1;6002:53;6047:7;6027:9;6002:53;:::i;:::-;5992:63;5896:175;-1:-1;;;;5896:175::o;6078:263::-;;6193:2;6181:9;6172:7;6168:23;6164:32;6161:2;;;6209:1;6206;6199:12;6161:2;6244:1;6261:64;6317:7;6297:9;6261:64;:::i;6348:1629::-;;;;;;;;6680:3;6668:9;6659:7;6655:23;6651:33;6648:2;;;6697:1;6694;6687:12;6648:2;6732:1;6749:72;6813:7;6793:9;6749:72;:::i;:::-;6739:82;;6711:116;6858:2;6876:72;6940:7;6931:6;6920:9;6916:22;6876:72;:::i;:::-;6866:82;;6837:117;6985:2;7003:63;7058:7;7049:6;7038:9;7034:22;7003:63;:::i;:::-;6993:73;;6964:108;7124:2;7113:9;7109:18;7103:25;-1:-1;;;;;7140:6;7137:30;7134:2;;;7180:1;7177;7170:12;7134:2;7200:89;7281:7;7272:6;7261:9;7257:22;7200:89;:::i;:::-;7190:99;;7082:213;7347:3;7336:9;7332:19;7326:26;-1:-1;;;;;7364:6;7361:30;7358:2;;;7404:1;7401;7394:12;7358:2;7424:89;7505:7;7496:6;7485:9;7481:22;7424:89;:::i;:::-;7414:99;;7305:214;7571:3;7560:9;7556:19;7550:26;-1:-1;;;;;7588:6;7585:30;7582:2;;;7628:1;7625;7618:12;7582:2;7648:89;7729:7;7720:6;7709:9;7705:22;7648:89;:::i;:::-;7638:99;;7529:214;7795:3;7784:9;7780:19;7774:26;-1:-1;;;;;7812:6;7809:30;7806:2;;;7852:1;7849;7842:12;7806:2;7872:89;7953:7;7944:6;7933:9;7929:22;7872:89;:::i;:::-;7862:99;;7753:214;6642:1335;;;;;;;;;;:::o;7984:502::-;;;8130:2;8118:9;8109:7;8105:23;8101:32;8098:2;;;8146:1;8143;8136:12;8098:2;8181:1;8198:53;8243:7;8223:9;8198:53;:::i;:::-;8188:63;;8160:97;8316:2;8305:9;8301:18;8288:32;-1:-1;;;;;8332:6;8329:30;8326:2;;;8372:1;8369;8362:12;8326:2;8392:78;8462:7;8453:6;8442:9;8438:22;8392:78;:::i;:::-;8382:88;;8267:209;8092:394;;;;;:::o;8493:490::-;;;;8633:2;8621:9;8612:7;8608:23;8604:32;8601:2;;;8649:1;8646;8639:12;8601:2;8684:1;8701:53;8746:7;8726:9;8701:53;:::i;:::-;8691:63;;8663:97;8819:2;8808:9;8804:18;8791:32;-1:-1;;;;;8835:6;8832:30;8829:2;;;8875:1;8872;8865:12;8829:2;8903:64;8959:7;8950:6;8939:9;8935:22;8903:64;:::i;:::-;8885:82;;;;8770:203;8595:388;;;;;:::o;8990:647::-;;;;;9163:2;9151:9;9142:7;9138:23;9134:32;9131:2;;;9179:1;9176;9169:12;9131:2;9214:1;9231:53;9276:7;9256:9;9231:53;:::i;:::-;9221:63;;9193:97;9321:2;9339:69;9400:7;9391:6;9380:9;9376:22;9339:69;:::i;:::-;9329:79;;9300:114;9473:2;9462:9;9458:18;9445:32;-1:-1;;;;;9489:6;9486:30;9483:2;;;9529:1;9526;9519:12;9483:2;9557:64;9613:7;9604:6;9593:9;9589:22;9557:64;:::i;:::-;9125:512;;;;-1:-1;9539:82;-1:-1;;;;9125:512::o;9644:656::-;;;9824:2;9812:9;9803:7;9799:23;9795:32;9792:2;;;9840:1;9837;9830:12;9792:2;9875:31;;-1:-1;;;;;9915:30;;9912:2;;;9958:1;9955;9948:12;9912:2;9978:78;10048:7;10039:6;10028:9;10024:22;9978:78;:::i;:::-;9968:88;;9854:208;10121:2;10110:9;10106:18;10093:32;-1:-1;;;;;10137:6;10134:30;10131:2;;;10177:1;10174;10167:12;10131:2;10197:87;10276:7;10267:6;10256:9;10252:22;10197:87;:::i;10307:257::-;;10419:2;10407:9;10398:7;10394:23;10390:32;10387:2;;;10435:1;10432;10425:12;10387:2;10470:1;10487:61;10540:7;10520:9;10487:61;:::i;10571:558::-;;;10743:2;10731:9;10722:7;10718:23;10714:32;10711:2;;;10759:1;10756;10749:12;10711:2;10794:1;10811:79;10882:7;10862:9;10811:79;:::i;:::-;10801:89;;10773:123;10948:2;10937:9;10933:18;10927:25;-1:-1;;;;;10964:6;10961:30;10958:2;;;11004:1;11001;10994:12;10958:2;11024:89;11105:7;11096:6;11085:9;11081:22;11024:89;:::i;11136:263::-;;11251:2;11239:9;11230:7;11226:23;11222:32;11219:2;;;11267:1;11264;11257:12;11219:2;11302:1;11319:64;11375:7;11355:9;11319:64;:::i;11407:173::-;;11494:46;11536:3;11528:6;11494:46;:::i;:::-;-1:-1;;11569:4;11560:14;;11487:93::o;11589:201::-;;11690:60;11746:3;11738:6;11690:60;:::i;11799:173::-;;11886:46;11928:3;11920:6;11886:46;:::i;11980:103::-;12053:24;12071:5;12053:24;:::i;:::-;12048:3;12041:37;12035:48;;:::o;12241:690::-;;12386:54;12434:5;12386:54;:::i;:::-;12453:86;12532:6;12527:3;12453:86;:::i;:::-;12446:93;;12560:56;12610:5;12560:56;:::i;:::-;12636:7;12664:1;12649:260;12674:6;12671:1;12668:13;12649:260;;;12741:6;12735:13;12762:63;12821:3;12806:13;12762:63;:::i;:::-;12755:70;;12842:60;12895:6;12842:60;:::i;:::-;12832:70;-1:-1;;12696:1;12689:9;12649:260;;;-1:-1;12922:3;;12365:566;-1:-1;;;;;12365:566::o;12991:764::-;;13150:70;13214:5;13150:70;:::i;:::-;13233:84;13310:6;13305:3;13233:84;:::i;:::-;13226:91;;13338:72;13404:5;13338:72;:::i;:::-;13430:7;13458:1;13443:290;13468:6;13465:1;13462:13;13443:290;;;13535:6;13529:13;13556:77;13629:3;13614:13;13556:77;:::i;:::-;13549:84;;13650:76;13719:6;13650:76;:::i;:::-;13640:86;-1:-1;;13490:1;13483:9;13443:290;;13794:690;;13939:54;13987:5;13939:54;:::i;:::-;14006:86;14085:6;14080:3;14006:86;:::i;:::-;13999:93;;14113:56;14163:5;14113:56;:::i;:::-;14189:7;14217:1;14202:260;14227:6;14224:1;14221:13;14202:260;;;14294:6;14288:13;14315:63;14374:3;14359:13;14315:63;:::i;:::-;14308:70;;14395:60;14448:6;14395:60;:::i;:::-;14385:70;-1:-1;;14249:1;14242:9;14202:260;;14492:104;14569:21;14584:5;14569:21;:::i;14603:144::-;14690:51;14735:5;14690:51;:::i;14754:152::-;14850:50;14894:5;14850:50;:::i;14913:347::-;;15025:39;15058:5;15025:39;:::i;:::-;15076:71;15140:6;15135:3;15076:71;:::i;:::-;15069:78;;15152:52;15197:6;15192:3;15185:4;15178:5;15174:16;15152:52;:::i;:::-;15225:29;15247:6;15225:29;:::i;:::-;15216:39;;;;15005:255;-1:-1;;;15005:255::o;15268:392::-;;15428:67;15492:2;15487:3;15428:67;:::i;:::-;15528:34;15508:55;;15597:25;15592:2;15583:12;;15576:47;15651:2;15642:12;;15414:246;-1:-1;;15414:246::o;15669:378::-;;15829:67;15893:2;15888:3;15829:67;:::i;:::-;15929:34;15909:55;;-1:-1;;;15993:2;15984:12;;15977:33;16038:2;16029:12;;15815:232;-1:-1;;15815:232::o;16056:377::-;;16216:67;16280:2;16275:3;16216:67;:::i;:::-;16316:34;16296:55;;-1:-1;;;16380:2;16371:12;;16364:32;16424:2;16415:12;;16202:231;-1:-1;;16202:231::o;16441:103::-;16514:24;16532:5;16514:24;:::i;16551:222::-;16678:2;16663:18;;16692:71;16667:9;16736:6;16692:71;:::i;16780:618::-;17026:2;17011:18;;17040:71;17015:9;17084:6;17040:71;:::i;:::-;17122:85;17203:2;17192:9;17188:18;17179:6;17122:85;:::i;:::-;17255:9;17249:4;17245:20;17240:2;17229:9;17225:18;17218:48;17280:108;17383:4;17374:6;17280:108;:::i;17405:398::-;17596:2;17610:47;;;17581:18;;17671:122;17581:18;17779:6;17671:122;:::i;17810:370::-;17987:2;18001:47;;;17972:18;;18062:108;17972:18;18156:6;18062:108;:::i;18187:629::-;18442:2;18456:47;;;18427:18;;18517:108;18427:18;18611:6;18517:108;:::i;:::-;18509:116;;18673:9;18667:4;18663:20;18658:2;18647:9;18643:18;18636:48;18698:108;18801:4;18792:6;18698:108;:::i;18823:210::-;18944:2;18929:18;;18958:65;18933:9;18996:6;18958:65;:::i;19040:310::-;19187:2;19201:47;;;19172:18;;19262:78;19172:18;19326:6;19262:78;:::i;19357:416::-;19557:2;19571:47;;;19542:18;;19632:131;19542:18;19632:131;:::i;19780:416::-;19980:2;19994:47;;;19965:18;;20055:131;19965:18;20055:131;:::i;20203:416::-;20403:2;20417:47;;;20388:18;;20478:131;20388:18;20478:131;:::i;20626:256::-;20688:2;20682:9;20714:17;;;-1:-1;;;;;20774:34;;20810:22;;;20771:62;20768:2;;;20846:1;20843;20836:12;20768:2;20862;20855:22;20666:216;;-1:-1;20666:216::o;20889:304::-;;-1:-1;;;;;21040:6;21037:30;21034:2;;;21080:1;21077;21070:12;21034:2;-1:-1;21115:4;21103:17;;;21168:15;;20971:222::o;21831:321::-;;-1:-1;;;;;21966:6;21963:30;21960:2;;;22006:1;22003;21996:12;21960:2;-1:-1;22137:4;22073;22050:17;;;;-1:-1;;22046:33;22127:15;;21897:255::o;22159:151::-;22283:4;22274:14;;22231:79::o;22649:137::-;22752:12;;22723:63::o;23588:178::-;23706:19;;;23755:4;23746:14;;23699:67::o;24318:91::-;;24380:24;24398:5;24380:24;:::i;24522:85::-;24588:13;24581:21;;24564:43::o;24614:144::-;-1:-1;;;;;;24675:78;;24658:100::o;24765:138::-;24843:5;24849:49;24843:5;24849:49;:::i;24910:136::-;24987:5;24993:48;24987:5;24993:48;:::i;25053:121::-;-1:-1;;;;;25115:54;;25098:76::o;25181:72::-;25243:5;25226:27::o;25260:138::-;;25353:40;25387:5;25353:40;:::i;25405:136::-;;25497:39;25530:5;25497:39;:::i;25549:145::-;25630:6;25625:3;25620;25607:30;-1:-1;25686:1;25668:16;;25661:27;25600:94::o;25703:268::-;25768:1;25775:101;25789:6;25786:1;25783:13;25775:101;;;25856:11;;;25850:18;25837:11;;;25830:39;25811:2;25804:10;25775:101;;;25891:6;25888:1;25885:13;25882:2;;;25956:1;25947:6;25942:3;25938:16;25931:27;25882:2;25752:219;;;;:::o;25979:97::-;26067:2;26047:14;-1:-1;;26043:28;;26027:49::o;26084:108::-;26169:2;26162:5;26159:13;26149:2;;26176:9;26199:106;26283:1;26276:5;26273:12;26263:2;;26289:9;26312:117;26381:24;26399:5;26381:24;:::i;:::-;26374:5;26371:35;26361:2;;26420:1;26417;26410:12;26576:111;26642:21;26657:5;26642:21;:::i;26694:115::-;26762:23;26779:5;26762:23;:::i;26816:111::-;26901:2;26894:5;26891:13;26881:2;;26918:1;26915;26908:12;26934:109;27018:1;27011:5;27008:12;26998:2;;27034:1;27031;27024:12;27050:117;27119:24;27137:5;27119:24;:::i", - "linkReferences": {}, - "immutableReferences": { - "59555": [ - { - "start": 627, - "length": 32 - } - ], - "59893": [ - { - "start": 448, - "length": 32 - }, - { - "start": 960, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "activateForFund(address)": "ceb9a0ad", - "addFundSettings(address,bytes)": "0f5f6b4f", - "canDisable()": "1ef92578", - "getAddressListRegistry()": "74708934", - "getListIdsForFund(address)": "dffd7c6f", - "getPolicyManager()": "d44ad6cb", - "identifier()": "7998a1c4", - "implementedHooks()": "cbf54bb2", - "passesRule(address,address[])": "c18a6338", - "updateFundSettings(address,bytes)": "0d4d7510", - "validateRule(address,uint8,bytes)": "579be718" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_policyManager\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_addressListRegistry\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"listIds\",\"type\":\"uint256[]\"}],\"name\":\"ListsSetForFund\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"activateForFund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_encodedSettings\",\"type\":\"bytes\"}],\"name\":\"addFundSettings\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"canDisable\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"canDisable_\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAddressListRegistry\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"addressListRegistry_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"}],\"name\":\"getListIdsForFund\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"listIds_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPolicyManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"policyManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"identifier\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"identifier_\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"implementedHooks\",\"outputs\":[{\"internalType\":\"enum IPolicyManager.PolicyHook[]\",\"name\":\"implementedHooks_\",\"type\":\"uint8[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"address[]\",\"name\":\"_assets\",\"type\":\"address[]\"}],\"name\":\"passesRule\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isValid_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"updateFundSettings\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"enum IPolicyManager.PolicyHook\",\"name\":\"\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"_encodedArgs\",\"type\":\"bytes\"}],\"name\":\"validateRule\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isValid_\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"activateForFund(address)\":{\"details\":\"Unimplemented by default, can be overridden by the policy\"},\"addFundSettings(address,bytes)\":{\"params\":{\"_comptrollerProxy\":\"The fund's ComptrollerProxy address\",\"_encodedSettings\":\"Encoded settings to apply to a fund\"}},\"canDisable()\":{\"details\":\"False by default, can be overridden by the policy\",\"returns\":{\"canDisable_\":\"True if the policy can be disabled\"}},\"getAddressListRegistry()\":{\"returns\":{\"addressListRegistry_\":\"The `ADDRESS_LIST_REGISTRY` variable value\"}},\"getListIdsForFund(address)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\"},\"returns\":{\"listIds_\":\"The list ids\"}},\"getPolicyManager()\":{\"returns\":{\"policyManager_\":\"The `POLICY_MANAGER` variable value\"}},\"identifier()\":{\"returns\":{\"identifier_\":\"The identifier string\"}},\"implementedHooks()\":{\"returns\":{\"implementedHooks_\":\"The implemented PolicyHooks\"}},\"passesRule(address,address[])\":{\"params\":{\"_assets\":\"The assets for which to check the rule\",\"_comptrollerProxy\":\"The fund's ComptrollerProxy address\"},\"returns\":{\"isValid_\":\"True if the rule passes\"}},\"updateFundSettings(address,bytes)\":{\"details\":\"Disallowed by default, can be overridden by the policy\"},\"validateRule(address,uint8,bytes)\":{\"details\":\"onlyPolicyManager validation not necessary, as state is not updated and no events are fired\",\"params\":{\"_comptrollerProxy\":\"The fund's ComptrollerProxy address\",\"_encodedArgs\":\"Encoded args with which to validate the rule\"},\"returns\":{\"isValid_\":\"True if the rule passes\"}}},\"title\":\"AllowedAdapterIncomingAssetsPolicy Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"activateForFund(address)\":{\"notice\":\"Validates and initializes a policy as necessary prior to fund activation\"},\"addFundSettings(address,bytes)\":{\"notice\":\"Adds the initial policy settings for a fund\"},\"canDisable()\":{\"notice\":\"Whether or not the policy can be disabled\"},\"getAddressListRegistry()\":{\"notice\":\"Gets the `ADDRESS_LIST_REGISTRY` variable value\"},\"getListIdsForFund(address)\":{\"notice\":\"Gets the list ids used by a given fund\"},\"getPolicyManager()\":{\"notice\":\"Gets the `POLICY_MANAGER` variable value\"},\"identifier()\":{\"notice\":\"Provides a constant string identifier for a policy\"},\"implementedHooks()\":{\"notice\":\"Gets the implemented PolicyHooks for a policy\"},\"passesRule(address,address[])\":{\"notice\":\"Checks whether a particular condition passes the rule for a particular fund\"},\"updateFundSettings(address,bytes)\":{\"notice\":\"Updates the policy settings for a fund\"},\"validateRule(address,uint8,bytes)\":{\"notice\":\"Apply the rule with the specified parameters of a PolicyHook\"}},\"notice\":\"A policy that limits assets that can be received via an adapter action\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/policy-manager/policies/asset-managers/AllowedAdapterIncomingAssetsPolicy.sol\":\"AllowedAdapterIncomingAssetsPolicy\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/address-list-registry/AddressListRegistry.sol\":{\"keccak256\":\"0xf00a9e376e3ec2a223f463f71c15ee3af3642dd028bc3762440e316b760c8048\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://01986c9327b5dfbfac21316dced6d68727931ddde1278ed1342d878004f984b9\",\"dweb:/ipfs/QmdXkFaUU43JqMTYEREbWa129rohdqN7GXy7mVRpjCfSLD\"]},\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/persistent/vault/interfaces/IExternalPositionVault.sol\":{\"keccak256\":\"0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d\",\"dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8\"]},\"contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol\":{\"keccak256\":\"0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb\",\"dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU\"]},\"contracts/persistent/vault/interfaces/IMigratableVault.sol\":{\"keccak256\":\"0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6\",\"dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs\"]},\"contracts/persistent/vault/interfaces/IVaultCore.sol\":{\"keccak256\":\"0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd\",\"dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr\"]},\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/core/fund/comptroller/ComptrollerLib.sol\":{\"keccak256\":\"0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579\",\"dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq\"]},\"contracts/release/core/fund/comptroller/IComptroller.sol\":{\"keccak256\":\"0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97\",\"dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L\"]},\"contracts/release/core/fund/vault/IVault.sol\":{\"keccak256\":\"0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599\",\"dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG\"]},\"contracts/release/extensions/IExtension.sol\":{\"keccak256\":\"0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70\",\"dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t\"]},\"contracts/release/extensions/fee-manager/IFeeManager.sol\":{\"keccak256\":\"0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22\",\"dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod\"]},\"contracts/release/extensions/policy-manager/IPolicy.sol\":{\"keccak256\":\"0xc12663ca72065b256c3b934ab738fde26c147c7b0399de43650df89dd52ee467\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://be8fecfcba0f3fda615f0a1bb3c766750c23761ef751d7c4472dfe540e460cd1\",\"dweb:/ipfs/QmaarPoRTsX6NiJ8V4u2f3Qh6d7tUs28bw9R14An3t5Bs1\"]},\"contracts/release/extensions/policy-manager/IPolicyManager.sol\":{\"keccak256\":\"0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa\",\"dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb\"]},\"contracts/release/extensions/policy-manager/policies/asset-managers/AllowedAdapterIncomingAssetsPolicy.sol\":{\"keccak256\":\"0xfd2980267c815b0f56bb2c8d545f53795915455cc44c8eb93974d8ae79674184\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c8eaa0430a6a128c2d601ec174b382cea2b25825442e929a2cbda7a3bcd03cd4\",\"dweb:/ipfs/QmT7EZnwhvMTv8L9AgVAXe3zVzsc5eJYabSi5KTPSS3A3N\"]},\"contracts/release/extensions/policy-manager/policies/utils/AddressListRegistryPolicyBase.sol\":{\"keccak256\":\"0x3fdcf3e45c9d6b9cf5221aeb95858060dfc18abf744f664b5ce9bf2f0a6a7bdc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://48b3ed06e509a45f122112129bf3d221ae30afad87722a123f7405a4a24e6645\",\"dweb:/ipfs/QmSA3cJB7C6x6BasicDpzwnHuxFkL6k8hR5fDRD42BWsGc\"]},\"contracts/release/extensions/policy-manager/policies/utils/PolicyBase.sol\":{\"keccak256\":\"0x972311abb98f0da815b4aca83d5afdd219d3604ec19cf5e3773c0c305bd9b3f1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2452f3d1f3b1d8e8459a07489146a2d0d8a10463715937995cbe77ee5de8c069\",\"dweb:/ipfs/Qmf2hhd2DVbjpxmbNGAhRZNZkqpGZA2mX3eA1WNwtv6t5Y\"]},\"contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol\":{\"keccak256\":\"0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f\",\"dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol\":{\"keccak256\":\"0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0\",\"dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol\":{\"keccak256\":\"0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b\",\"dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3\"]},\"contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol\":{\"keccak256\":\"0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965\",\"dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ\"]},\"contracts/release/interfaces/IGsnForwarder.sol\":{\"keccak256\":\"0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29\",\"dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G\"]},\"contracts/release/interfaces/IGsnPaymaster.sol\":{\"keccak256\":\"0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4\",\"dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF\"]},\"contracts/release/interfaces/IGsnTypes.sol\":{\"keccak256\":\"0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7\",\"dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/beacon-proxy/IBeacon.sol\":{\"keccak256\":\"0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39\",\"dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V\"]},\"contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol\":{\"keccak256\":\"0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be\",\"dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_policyManager", - "type": "address" - }, - { - "internalType": "address", - "name": "_addressListRegistry", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "comptrollerProxy", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256[]", - "name": "listIds", - "type": "uint256[]", - "indexed": false - } - ], - "type": "event", - "name": "ListsSetForFund", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "activateForFund" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_encodedSettings", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "addFundSettings" - }, - { - "inputs": [], - "stateMutability": "pure", - "type": "function", - "name": "canDisable", - "outputs": [ - { - "internalType": "bool", - "name": "canDisable_", - "type": "bool" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getAddressListRegistry", - "outputs": [ - { - "internalType": "address", - "name": "addressListRegistry_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getListIdsForFund", - "outputs": [ - { - "internalType": "uint256[]", - "name": "listIds_", - "type": "uint256[]" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getPolicyManager", - "outputs": [ - { - "internalType": "address", - "name": "policyManager_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "pure", - "type": "function", - "name": "identifier", - "outputs": [ - { - "internalType": "string", - "name": "identifier_", - "type": "string" - } - ] - }, - { - "inputs": [], - "stateMutability": "pure", - "type": "function", - "name": "implementedHooks", - "outputs": [ - { - "internalType": "enum IPolicyManager.PolicyHook[]", - "name": "implementedHooks_", - "type": "uint8[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "address[]", - "name": "_assets", - "type": "address[]" - } - ], - "stateMutability": "view", - "type": "function", - "name": "passesRule", - "outputs": [ - { - "internalType": "bool", - "name": "isValid_", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "updateFundSettings" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "enum IPolicyManager.PolicyHook", - "name": "", - "type": "uint8" - }, - { - "internalType": "bytes", - "name": "_encodedArgs", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "validateRule", - "outputs": [ - { - "internalType": "bool", - "name": "isValid_", - "type": "bool" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "activateForFund(address)": { - "details": "Unimplemented by default, can be overridden by the policy" - }, - "addFundSettings(address,bytes)": { - "params": { - "_comptrollerProxy": "The fund's ComptrollerProxy address", - "_encodedSettings": "Encoded settings to apply to a fund" - } - }, - "canDisable()": { - "details": "False by default, can be overridden by the policy", - "returns": { - "canDisable_": "True if the policy can be disabled" - } - }, - "getAddressListRegistry()": { - "returns": { - "addressListRegistry_": "The `ADDRESS_LIST_REGISTRY` variable value" - } - }, - "getListIdsForFund(address)": { - "params": { - "_comptrollerProxy": "The ComptrollerProxy of the fund" - }, - "returns": { - "listIds_": "The list ids" - } - }, - "getPolicyManager()": { - "returns": { - "policyManager_": "The `POLICY_MANAGER` variable value" - } - }, - "identifier()": { - "returns": { - "identifier_": "The identifier string" - } - }, - "implementedHooks()": { - "returns": { - "implementedHooks_": "The implemented PolicyHooks" - } - }, - "passesRule(address,address[])": { - "params": { - "_assets": "The assets for which to check the rule", - "_comptrollerProxy": "The fund's ComptrollerProxy address" - }, - "returns": { - "isValid_": "True if the rule passes" - } - }, - "updateFundSettings(address,bytes)": { - "details": "Disallowed by default, can be overridden by the policy" - }, - "validateRule(address,uint8,bytes)": { - "details": "onlyPolicyManager validation not necessary, as state is not updated and no events are fired", - "params": { - "_comptrollerProxy": "The fund's ComptrollerProxy address", - "_encodedArgs": "Encoded args with which to validate the rule" - }, - "returns": { - "isValid_": "True if the rule passes" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "activateForFund(address)": { - "notice": "Validates and initializes a policy as necessary prior to fund activation" - }, - "addFundSettings(address,bytes)": { - "notice": "Adds the initial policy settings for a fund" - }, - "canDisable()": { - "notice": "Whether or not the policy can be disabled" - }, - "getAddressListRegistry()": { - "notice": "Gets the `ADDRESS_LIST_REGISTRY` variable value" - }, - "getListIdsForFund(address)": { - "notice": "Gets the list ids used by a given fund" - }, - "getPolicyManager()": { - "notice": "Gets the `POLICY_MANAGER` variable value" - }, - "identifier()": { - "notice": "Provides a constant string identifier for a policy" - }, - "implementedHooks()": { - "notice": "Gets the implemented PolicyHooks for a policy" - }, - "passesRule(address,address[])": { - "notice": "Checks whether a particular condition passes the rule for a particular fund" - }, - "updateFundSettings(address,bytes)": { - "notice": "Updates the policy settings for a fund" - }, - "validateRule(address,uint8,bytes)": { - "notice": "Apply the rule with the specified parameters of a PolicyHook" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/policy-manager/policies/asset-managers/AllowedAdapterIncomingAssetsPolicy.sol": "AllowedAdapterIncomingAssetsPolicy" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/address-list-registry/AddressListRegistry.sol": { - "keccak256": "0xf00a9e376e3ec2a223f463f71c15ee3af3642dd028bc3762440e316b760c8048", - "urls": [ - "bzz-raw://01986c9327b5dfbfac21316dced6d68727931ddde1278ed1342d878004f984b9", - "dweb:/ipfs/QmdXkFaUU43JqMTYEREbWa129rohdqN7GXy7mVRpjCfSLD" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/dispatcher/IDispatcher.sol": { - "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", - "urls": [ - "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", - "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/external-positions/IExternalPosition.sol": { - "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", - "urls": [ - "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", - "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IExternalPositionVault.sol": { - "keccak256": "0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6", - "urls": [ - "bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d", - "dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol": { - "keccak256": "0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0", - "urls": [ - "bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb", - "dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IMigratableVault.sol": { - "keccak256": "0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238", - "urls": [ - "bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6", - "dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IVaultCore.sol": { - "keccak256": "0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80", - "urls": [ - "bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd", - "dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund-deployer/IFundDeployer.sol": { - "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", - "urls": [ - "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", - "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/comptroller/ComptrollerLib.sol": { - "keccak256": "0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64", - "urls": [ - "bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579", - "dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/comptroller/IComptroller.sol": { - "keccak256": "0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f", - "urls": [ - "bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97", - "dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/vault/IVault.sol": { - "keccak256": "0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd", - "urls": [ - "bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599", - "dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/IExtension.sol": { - "keccak256": "0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b", - "urls": [ - "bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70", - "dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/fee-manager/IFeeManager.sol": { - "keccak256": "0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51", - "urls": [ - "bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22", - "dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/policy-manager/IPolicy.sol": { - "keccak256": "0xc12663ca72065b256c3b934ab738fde26c147c7b0399de43650df89dd52ee467", - "urls": [ - "bzz-raw://be8fecfcba0f3fda615f0a1bb3c766750c23761ef751d7c4472dfe540e460cd1", - "dweb:/ipfs/QmaarPoRTsX6NiJ8V4u2f3Qh6d7tUs28bw9R14An3t5Bs1" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/policy-manager/IPolicyManager.sol": { - "keccak256": "0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32", - "urls": [ - "bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa", - "dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/policy-manager/policies/asset-managers/AllowedAdapterIncomingAssetsPolicy.sol": { - "keccak256": "0xfd2980267c815b0f56bb2c8d545f53795915455cc44c8eb93974d8ae79674184", - "urls": [ - "bzz-raw://c8eaa0430a6a128c2d601ec174b382cea2b25825442e929a2cbda7a3bcd03cd4", - "dweb:/ipfs/QmT7EZnwhvMTv8L9AgVAXe3zVzsc5eJYabSi5KTPSS3A3N" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/policy-manager/policies/utils/AddressListRegistryPolicyBase.sol": { - "keccak256": "0x3fdcf3e45c9d6b9cf5221aeb95858060dfc18abf744f664b5ce9bf2f0a6a7bdc", - "urls": [ - "bzz-raw://48b3ed06e509a45f122112129bf3d221ae30afad87722a123f7405a4a24e6645", - "dweb:/ipfs/QmSA3cJB7C6x6BasicDpzwnHuxFkL6k8hR5fDRD42BWsGc" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/policy-manager/policies/utils/PolicyBase.sol": { - "keccak256": "0x972311abb98f0da815b4aca83d5afdd219d3604ec19cf5e3773c0c305bd9b3f1", - "urls": [ - "bzz-raw://2452f3d1f3b1d8e8459a07489146a2d0d8a10463715937995cbe77ee5de8c069", - "dweb:/ipfs/Qmf2hhd2DVbjpxmbNGAhRZNZkqpGZA2mX3eA1WNwtv6t5Y" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol": { - "keccak256": "0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609", - "urls": [ - "bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f", - "dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol": { - "keccak256": "0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01", - "urls": [ - "bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0", - "dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol": { - "keccak256": "0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196", - "urls": [ - "bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b", - "dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol": { - "keccak256": "0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794", - "urls": [ - "bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965", - "dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IGsnForwarder.sol": { - "keccak256": "0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030", - "urls": [ - "bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29", - "dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IGsnPaymaster.sol": { - "keccak256": "0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c", - "urls": [ - "bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4", - "dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IGsnTypes.sol": { - "keccak256": "0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714", - "urls": [ - "bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7", - "dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AddressArrayLib.sol": { - "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", - "urls": [ - "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", - "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/beacon-proxy/IBeacon.sol": { - "keccak256": "0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2", - "urls": [ - "bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39", - "dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol": { - "keccak256": "0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc", - "urls": [ - "bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be", - "dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { - "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", - "urls": [ - "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", - "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Address.sol": { - "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", - "urls": [ - "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", - "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 207 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_policyManager", "type": "address", "internalType": "address" }, { "name": "_addressListRegistry", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "activateForFund", "inputs": [ { "name": "", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "addFundSettings", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" }, { "name": "_encodedSettings", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "canDisable", "inputs": [], "outputs": [ { "name": "canDisable_", "type": "bool", "internalType": "bool" } ], "stateMutability": "pure" }, { "type": "function", "name": "getAddressListRegistry", "inputs": [], "outputs": [ { "name": "addressListRegistry_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getListIdsForFund", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "listIds_", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "view" }, { "type": "function", "name": "getPolicyManager", "inputs": [], "outputs": [ { "name": "policyManager_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "identifier", "inputs": [], "outputs": [ { "name": "identifier_", "type": "string", "internalType": "string" } ], "stateMutability": "pure" }, { "type": "function", "name": "implementedHooks", "inputs": [], "outputs": [ { "name": "implementedHooks_", "type": "uint8[]", "internalType": "enum IPolicyManager.PolicyHook[]" } ], "stateMutability": "pure" }, { "type": "function", "name": "passesRule", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" }, { "name": "_assets", "type": "address[]", "internalType": "address[]" } ], "outputs": [ { "name": "isValid_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "updateFundSettings", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "validateRule", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" }, { "name": "", "type": "uint8", "internalType": "enum IPolicyManager.PolicyHook" }, { "name": "_encodedArgs", "type": "bytes", "internalType": "bytes" } ], "outputs": [ { "name": "isValid_", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "event", "name": "ListsSetForFund", "inputs": [ { "name": "comptrollerProxy", "type": "address", "indexed": true, "internalType": "address" }, { "name": "listIds", "type": "uint256[]", "indexed": false, "internalType": "uint256[]" } ], "anonymous": false } ], "bytecode": { "object": "0x60c06040523480156200001157600080fd5b506040516200145738038062001457833981016040819052620000349162000066565b6001600160601b0319606092831b8116608052911b1660a052620000d1565b80516200006081620000b7565b92915050565b600080604083850312156200007a57600080fd5b600062000088858562000053565b92505060206200009b8582860162000053565b9150509250929050565b60006001600160a01b03821662000060565b620000c281620000a5565b8114620000ce57600080fd5b50565b60805160601c60a05160601c61135762000100600039806102735250806101c052806103c052506113576000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c80637998a1c4116100715780637998a1c41461011c578063c18a633814610131578063cbf54bb214610144578063ceb9a0ad14610159578063d44ad6cb1461016c578063dffd7c6f14610174576100a9565b80630d4d7510146100ae5780630f5f6b4f146100c35780631ef92578146100d6578063579be718146100f45780637470893414610107575b600080fd5b6100c16100bc366004610ce4565b610194565b005b6100c16100d1366004610ce4565b6101b5565b6100de61020d565b6040516100eb9190611182565b60405180910390f35b6100de610102366004610d39565b610212565b61010f610271565b6040516100eb9190611100565b610124610295565b6040516100eb9190611190565b6100de61013f366004610c93565b6102cc565b61014c610364565b6040516100eb919061113b565b6100c1610167366004610b57565b6103bb565b61010f6103be565b610187610182366004610b57565b6103e2565b6040516100eb919061114c565b60405162461bcd60e51b81526004016101ac906111a1565b60405180910390fd5b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146101fd5760405162461bcd60e51b81526004016101ac906111b1565b61020883838361044d565b505050565b600090565b6000606061025584848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061070f92505050565b505050935050505061026786826102cc565b9695505050505050565b7f000000000000000000000000000000000000000000000000000000000000000090565b60408051808201909152601f81527f414c4c4f5745445f414441505445525f494e434f4d494e475f41535345545300602082015290565b60006102d6610271565b6001600160a01b03166330bdd3866102ed856103e2565b846040518363ffffffff1660e01b815260040161030b92919061115d565b60206040518083038186803b15801561032357600080fd5b505afa158015610337573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061035b9190610dfd565b90505b92915050565b6040805160018082528183019092526060916020808301908036833701905050905060018160008151811061039557fe5b602002602001019060098111156103a857fe5b908160098111156103b557fe5b90525090565b50565b7f000000000000000000000000000000000000000000000000000000000000000090565b6001600160a01b0381166000908152602081815260409182902080548351818402810184019094528084526060939283018282801561044057602002820191906000526020600020905b81548152602001906001019080831161042c575b505050505090505b919050565b60608061045c83850185610da0565b91509150606081518351016001600160401b038111801561047c57600080fd5b506040519080825280602002602001820160405280156104a6578160200160208202803683370190505b5090508051600014156104cb5760405162461bcd60e51b81526004016101ac906111c1565b6001600160a01b0386166000908152602081905260409020541561050a576001600160a01b038616600090815260208190526040812061050a9161080a565b60005b835181101561059d5783818151811061052257fe5b602002602001015182828151811061053657fe5b602002602001018181525050600080886001600160a01b03166001600160a01b0316815260200190815260200160002084828151811061057257fe5b602090810291909101810151825460018181018555600094855292909320909201919091550161050d565b508151156106c6576000866001600160a01b031663c98091876040518163ffffffff1660e01b815260040160206040518083038186803b1580156105e057600080fd5b505afa1580156105f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106189190610b7d565b905060005b83518110156106c357600081865101905061064b8386848151811061063e57fe5b6020026020010151610745565b84828151811061065757fe5b6020026020010181815250506000808a6001600160a01b03166001600160a01b0316815260200190815260200160002084828151811061069357fe5b6020908102919091018101518254600181810185556000948552929093209092019190915591909101905061061d565b50505b856001600160a01b03167fd63f5b55f54cdda3234eab3aa26d85b99854a43efea66e0c459220fd7b3a332f826040516106ff919061114c565b60405180910390a2505050505050565b60008060006060806060808780602001905181019061072e9190610b9b565b959e949d50929b5090995097509550909350915050565b6000806060610753846107e9565b9150915061075f610271565b6001600160a01b031663be68406e8684846040518463ffffffff1660e01b815260040161078e9392919061110e565b602060405180830381600087803b1580156107a857600080fd5b505af11580156107bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107e09190610e62565b95945050505050565b60006060828060200190518101906108019190610e1b565b91509150915091565b50805460008255906000526020600020908101906103bb91905b808211156108385760008155600101610824565b5090565b803561035e81611301565b805161035e81611301565b600082601f83011261086357600080fd5b8135610876610871826111f7565b6111d1565b9150818183526020840193506020810190508385602084028201111561089b57600080fd5b60005b838110156108c757816108b1888261083c565b845250602092830192919091019060010161089e565b5050505092915050565b600082601f8301126108e257600080fd5b81516108f0610871826111f7565b9150818183526020840193506020810190508385602084028201111561091557600080fd5b60005b838110156108c7578161092b8882610847565b8452506020928301929190910190600101610918565b600082601f83011261095257600080fd5b8135610960610871826111f7565b81815260209384019390925082018360005b838110156108c757813586016109888882610adc565b8452506020928301929190910190600101610972565b600082601f8301126109af57600080fd5b81356109bd610871826111f7565b915081818352602084019350602081019050838560208402820111156109e257600080fd5b60005b838110156108c757816109f88882610b41565b84525060209283019291909101906001016109e5565b600082601f830112610a1f57600080fd5b8151610a2d610871826111f7565b91508181835260208401935060208101905083856020840282011115610a5257600080fd5b60005b838110156108c75781610a688882610b4c565b8452506020928301929190910190600101610a55565b805161035e81611315565b805161035e8161131e565b60008083601f840112610aa657600080fd5b5081356001600160401b03811115610abd57600080fd5b602083019150836001820283011115610ad557600080fd5b9250929050565b600082601f830112610aed57600080fd5b8135610afb61087182611217565b91508082526020830160208301858383011115610b1757600080fd5b610b228382846112a7565b50505092915050565b803561035e81611327565b805161035e81611334565b803561035e81611341565b805161035e81611341565b600060208284031215610b6957600080fd5b6000610b75848461083c565b949350505050565b600060208284031215610b8f57600080fd5b6000610b758484610847565b600080600080600080600060e0888a031215610bb657600080fd5b6000610bc28a8a610847565b9750506020610bd38a828b01610847565b9650506040610be48a828b01610a89565b95505060608801516001600160401b03811115610c0057600080fd5b610c0c8a828b016108d1565b94505060808801516001600160401b03811115610c2857600080fd5b610c348a828b01610a0e565b93505060a08801516001600160401b03811115610c5057600080fd5b610c5c8a828b016108d1565b92505060c08801516001600160401b03811115610c7857600080fd5b610c848a828b01610a0e565b91505092959891949750929550565b60008060408385031215610ca657600080fd5b6000610cb2858561083c565b92505060208301356001600160401b03811115610cce57600080fd5b610cda85828601610852565b9150509250929050565b600080600060408486031215610cf957600080fd5b6000610d05868661083c565b93505060208401356001600160401b03811115610d2157600080fd5b610d2d86828701610a94565b92509250509250925092565b60008060008060608587031215610d4f57600080fd5b6000610d5b878761083c565b9450506020610d6c87828801610b2b565b93505060408501356001600160401b03811115610d8857600080fd5b610d9487828801610a94565b95989497509550505050565b60008060408385031215610db357600080fd5b82356001600160401b03811115610dc957600080fd5b610dd58582860161099e565b92505060208301356001600160401b03811115610df157600080fd5b610cda85828601610941565b600060208284031215610e0f57600080fd5b6000610b758484610a7e565b60008060408385031215610e2e57600080fd5b6000610e3a8585610b36565b92505060208301516001600160401b03811115610e5657600080fd5b610cda858286016108d1565b600060208284031215610e7457600080fd5b6000610b758484610b4c565b6000610e8c8383610eac565b505060200190565b6000610e8c8383610fb9565b6000610e8c83836110f7565b610eb581611251565b82525050565b6000610ec682611244565b610ed08185611248565b9350610edb8361123e565b8060005b83811015610f09578151610ef38882610e80565b9750610efe8361123e565b925050600101610edf565b509495945050505050565b6000610f1f82611244565b610f298185611248565b9350610f348361123e565b8060005b83811015610f09578151610f4c8882610e94565b9750610f578361123e565b925050600101610f38565b6000610f6d82611244565b610f778185611248565b9350610f828361123e565b8060005b83811015610f09578151610f9a8882610ea0565b9750610fa58361123e565b925050600101610f86565b610eb58161125c565b610eb581611291565b610eb58161129c565b6000610fd682611244565b610fe08185611248565b9350610ff08185602086016112b3565b610ff9816112e3565b9093019392505050565b6000611010603783611248565b7f75706461746546756e6453657474696e67733a2055706461746573206e6f742081527f616c6c6f77656420666f72207468697320706f6c696379000000000000000000602082015260400192915050565b600061106f602983611248565b7f4f6e6c792074686520506f6c6963794d616e616765722063616e206d616b65208152681d1a1a5cc818d85b1b60ba1b602082015260400192915050565b60006110ba602883611248565b7f5f5f7570646174654c69737473466f7246756e643a204e6f206c6973747320738152671c1958da599a595960c21b602082015260400192915050565b610eb58161128e565b6020810161035e8284610eac565b6060810161111c8286610eac565b6111296020830185610fc2565b81810360408301526107e08184610ebb565b6020808252810161035b8184610f14565b6020808252810161035b8184610f62565b6040808252810161116e8185610f62565b90508181036020830152610b758184610ebb565b6020810161035e8284610fb0565b6020808252810161035b8184610fcb565b6020808252810161035e81611003565b6020808252810161035e81611062565b6020808252810161035e816110ad565b6040518181016001600160401b03811182821017156111ef57600080fd5b604052919050565b60006001600160401b0382111561120d57600080fd5b5060209081020190565b60006001600160401b0382111561122d57600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b600061035e82611282565b151590565b6001600160e01b03191690565b80610448816112ed565b80610448816112f7565b6001600160a01b031690565b90565b600061035e8261126e565b600061035e82611278565b82818337506000910152565b60005b838110156112ce5781810151838201526020016112b6565b838111156112dd576000848401525b50505050565b601f01601f191690565b600a81106103bb57fe5b600481106103bb57fe5b61130a81611251565b81146103bb57600080fd5b61130a8161125c565b61130a81611261565b600a81106103bb57600080fd5b600481106103bb57600080fd5b61130a8161128e56fea164736f6c634300060c000a", "sourceMap": "559:2459:207:-:0;;;642:163;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;737:31:223;;;;;;;;1052:44:221;;;::::1;::::0;559:2459:207;;5:134:-1;83:13;;101:33;83:13;101:33;:::i;:::-;68:71;;;;:::o;146:399::-;;;278:2;266:9;257:7;253:23;249:32;246:2;;;294:1;291;284:12;246:2;329:1;346:64;402:7;382:9;346:64;:::i;:::-;336:74;;308:108;447:2;465:64;521:7;512:6;501:9;497:22;465:64;:::i;:::-;455:74;;426:109;240:305;;;;;:::o;552:91::-;;-1:-1;;;;;712:54;;614:24;695:76::o;778:117::-;847:24;865:5;847:24;:::i;:::-;840:5;837:35;827:2;;886:1;883;876:12;827:2;821:74;:::o;:::-;559:2459:207;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106100a95760003560e01c80637998a1c4116100715780637998a1c41461011c578063c18a633814610131578063cbf54bb214610144578063ceb9a0ad14610159578063d44ad6cb1461016c578063dffd7c6f14610174576100a9565b80630d4d7510146100ae5780630f5f6b4f146100c35780631ef92578146100d6578063579be718146100f45780637470893414610107575b600080fd5b6100c16100bc366004610ce4565b610194565b005b6100c16100d1366004610ce4565b6101b5565b6100de61020d565b6040516100eb9190611182565b60405180910390f35b6100de610102366004610d39565b610212565b61010f610271565b6040516100eb9190611100565b610124610295565b6040516100eb9190611190565b6100de61013f366004610c93565b6102cc565b61014c610364565b6040516100eb919061113b565b6100c1610167366004610b57565b6103bb565b61010f6103be565b610187610182366004610b57565b6103e2565b6040516100eb919061114c565b60405162461bcd60e51b81526004016101ac906111a1565b60405180910390fd5b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146101fd5760405162461bcd60e51b81526004016101ac906111b1565b61020883838361044d565b505050565b600090565b6000606061025584848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061070f92505050565b505050935050505061026786826102cc565b9695505050505050565b7f000000000000000000000000000000000000000000000000000000000000000090565b60408051808201909152601f81527f414c4c4f5745445f414441505445525f494e434f4d494e475f41535345545300602082015290565b60006102d6610271565b6001600160a01b03166330bdd3866102ed856103e2565b846040518363ffffffff1660e01b815260040161030b92919061115d565b60206040518083038186803b15801561032357600080fd5b505afa158015610337573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061035b9190610dfd565b90505b92915050565b6040805160018082528183019092526060916020808301908036833701905050905060018160008151811061039557fe5b602002602001019060098111156103a857fe5b908160098111156103b557fe5b90525090565b50565b7f000000000000000000000000000000000000000000000000000000000000000090565b6001600160a01b0381166000908152602081815260409182902080548351818402810184019094528084526060939283018282801561044057602002820191906000526020600020905b81548152602001906001019080831161042c575b505050505090505b919050565b60608061045c83850185610da0565b91509150606081518351016001600160401b038111801561047c57600080fd5b506040519080825280602002602001820160405280156104a6578160200160208202803683370190505b5090508051600014156104cb5760405162461bcd60e51b81526004016101ac906111c1565b6001600160a01b0386166000908152602081905260409020541561050a576001600160a01b038616600090815260208190526040812061050a9161080a565b60005b835181101561059d5783818151811061052257fe5b602002602001015182828151811061053657fe5b602002602001018181525050600080886001600160a01b03166001600160a01b0316815260200190815260200160002084828151811061057257fe5b602090810291909101810151825460018181018555600094855292909320909201919091550161050d565b508151156106c6576000866001600160a01b031663c98091876040518163ffffffff1660e01b815260040160206040518083038186803b1580156105e057600080fd5b505afa1580156105f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106189190610b7d565b905060005b83518110156106c357600081865101905061064b8386848151811061063e57fe5b6020026020010151610745565b84828151811061065757fe5b6020026020010181815250506000808a6001600160a01b03166001600160a01b0316815260200190815260200160002084828151811061069357fe5b6020908102919091018101518254600181810185556000948552929093209092019190915591909101905061061d565b50505b856001600160a01b03167fd63f5b55f54cdda3234eab3aa26d85b99854a43efea66e0c459220fd7b3a332f826040516106ff919061114c565b60405180910390a2505050505050565b60008060006060806060808780602001905181019061072e9190610b9b565b959e949d50929b5090995097509550909350915050565b6000806060610753846107e9565b9150915061075f610271565b6001600160a01b031663be68406e8684846040518463ffffffff1660e01b815260040161078e9392919061110e565b602060405180830381600087803b1580156107a857600080fd5b505af11580156107bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107e09190610e62565b95945050505050565b60006060828060200190518101906108019190610e1b565b91509150915091565b50805460008255906000526020600020908101906103bb91905b808211156108385760008155600101610824565b5090565b803561035e81611301565b805161035e81611301565b600082601f83011261086357600080fd5b8135610876610871826111f7565b6111d1565b9150818183526020840193506020810190508385602084028201111561089b57600080fd5b60005b838110156108c757816108b1888261083c565b845250602092830192919091019060010161089e565b5050505092915050565b600082601f8301126108e257600080fd5b81516108f0610871826111f7565b9150818183526020840193506020810190508385602084028201111561091557600080fd5b60005b838110156108c7578161092b8882610847565b8452506020928301929190910190600101610918565b600082601f83011261095257600080fd5b8135610960610871826111f7565b81815260209384019390925082018360005b838110156108c757813586016109888882610adc565b8452506020928301929190910190600101610972565b600082601f8301126109af57600080fd5b81356109bd610871826111f7565b915081818352602084019350602081019050838560208402820111156109e257600080fd5b60005b838110156108c757816109f88882610b41565b84525060209283019291909101906001016109e5565b600082601f830112610a1f57600080fd5b8151610a2d610871826111f7565b91508181835260208401935060208101905083856020840282011115610a5257600080fd5b60005b838110156108c75781610a688882610b4c565b8452506020928301929190910190600101610a55565b805161035e81611315565b805161035e8161131e565b60008083601f840112610aa657600080fd5b5081356001600160401b03811115610abd57600080fd5b602083019150836001820283011115610ad557600080fd5b9250929050565b600082601f830112610aed57600080fd5b8135610afb61087182611217565b91508082526020830160208301858383011115610b1757600080fd5b610b228382846112a7565b50505092915050565b803561035e81611327565b805161035e81611334565b803561035e81611341565b805161035e81611341565b600060208284031215610b6957600080fd5b6000610b75848461083c565b949350505050565b600060208284031215610b8f57600080fd5b6000610b758484610847565b600080600080600080600060e0888a031215610bb657600080fd5b6000610bc28a8a610847565b9750506020610bd38a828b01610847565b9650506040610be48a828b01610a89565b95505060608801516001600160401b03811115610c0057600080fd5b610c0c8a828b016108d1565b94505060808801516001600160401b03811115610c2857600080fd5b610c348a828b01610a0e565b93505060a08801516001600160401b03811115610c5057600080fd5b610c5c8a828b016108d1565b92505060c08801516001600160401b03811115610c7857600080fd5b610c848a828b01610a0e565b91505092959891949750929550565b60008060408385031215610ca657600080fd5b6000610cb2858561083c565b92505060208301356001600160401b03811115610cce57600080fd5b610cda85828601610852565b9150509250929050565b600080600060408486031215610cf957600080fd5b6000610d05868661083c565b93505060208401356001600160401b03811115610d2157600080fd5b610d2d86828701610a94565b92509250509250925092565b60008060008060608587031215610d4f57600080fd5b6000610d5b878761083c565b9450506020610d6c87828801610b2b565b93505060408501356001600160401b03811115610d8857600080fd5b610d9487828801610a94565b95989497509550505050565b60008060408385031215610db357600080fd5b82356001600160401b03811115610dc957600080fd5b610dd58582860161099e565b92505060208301356001600160401b03811115610df157600080fd5b610cda85828601610941565b600060208284031215610e0f57600080fd5b6000610b758484610a7e565b60008060408385031215610e2e57600080fd5b6000610e3a8585610b36565b92505060208301516001600160401b03811115610e5657600080fd5b610cda858286016108d1565b600060208284031215610e7457600080fd5b6000610b758484610b4c565b6000610e8c8383610eac565b505060200190565b6000610e8c8383610fb9565b6000610e8c83836110f7565b610eb581611251565b82525050565b6000610ec682611244565b610ed08185611248565b9350610edb8361123e565b8060005b83811015610f09578151610ef38882610e80565b9750610efe8361123e565b925050600101610edf565b509495945050505050565b6000610f1f82611244565b610f298185611248565b9350610f348361123e565b8060005b83811015610f09578151610f4c8882610e94565b9750610f578361123e565b925050600101610f38565b6000610f6d82611244565b610f778185611248565b9350610f828361123e565b8060005b83811015610f09578151610f9a8882610ea0565b9750610fa58361123e565b925050600101610f86565b610eb58161125c565b610eb581611291565b610eb58161129c565b6000610fd682611244565b610fe08185611248565b9350610ff08185602086016112b3565b610ff9816112e3565b9093019392505050565b6000611010603783611248565b7f75706461746546756e6453657474696e67733a2055706461746573206e6f742081527f616c6c6f77656420666f72207468697320706f6c696379000000000000000000602082015260400192915050565b600061106f602983611248565b7f4f6e6c792074686520506f6c6963794d616e616765722063616e206d616b65208152681d1a1a5cc818d85b1b60ba1b602082015260400192915050565b60006110ba602883611248565b7f5f5f7570646174654c69737473466f7246756e643a204e6f206c6973747320738152671c1958da599a595960c21b602082015260400192915050565b610eb58161128e565b6020810161035e8284610eac565b6060810161111c8286610eac565b6111296020830185610fc2565b81810360408301526107e08184610ebb565b6020808252810161035b8184610f14565b6020808252810161035b8184610f62565b6040808252810161116e8185610f62565b90508181036020830152610b758184610ebb565b6020810161035e8284610fb0565b6020808252810161035b8184610fcb565b6020808252810161035e81611003565b6020808252810161035e81611062565b6020808252810161035e816110ad565b6040518181016001600160401b03811182821017156111ef57600080fd5b604052919050565b60006001600160401b0382111561120d57600080fd5b5060209081020190565b60006001600160401b0382111561122d57600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b600061035e82611282565b151590565b6001600160e01b03191690565b80610448816112ed565b80610448816112f7565b6001600160a01b031690565b90565b600061035e8261126e565b600061035e82611278565b82818337506000910152565b60005b838110156112ce5781810151838201526020016112b6565b838111156112dd576000848401525b50505050565b601f01601f191690565b600a81106103bb57fe5b600481106103bb57fe5b61130a81611251565b81146103bb57600080fd5b61130a8161125c565b61130a81611261565b600a81106103bb57600080fd5b600481106103bb57600080fd5b61130a8161128e56fea164736f6c634300060c000a", "sourceMap": "559:2459:207:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1452:161:223;;;;;;:::i;:::-;;:::i;:::-;;1333:239:221;;;;;;:::i;:::-;;:::i;1214:109:223:-;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1938:444:207;;;;;;:::i;:::-;;:::i;4613:130:221:-;;;:::i;:::-;;;;;;;:::i;955:138:207:-;;;:::i;:::-;;;;;;;:::i;2685:331::-;;;;;;:::i;:::-;;:::i;1223:336::-;;;:::i;:::-;;;;;;;:::i;941:83:223:-;;;;;;:::i;:::-;;:::i;6755:113::-;;;:::i;4908:198:221:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1452:161:223:-;1541:65;;-1:-1:-1;;;1541:65:223;;;;;;;:::i;:::-;;;;;;;;1333:239:221;586:10:223;-1:-1:-1;;;;;600:14:223;586:28;;578:82;;;;-1:-1:-1;;;578:82:223;;;;;;;:::i;:::-;1508:57:221::1;1529:17;1548:16;;1508:20;:57::i;:::-;1333:239:::0;;;:::o;1214:109:223:-;1276:16;1214:109;:::o;1938:444:207:-;2100:13;2181:31;2255:57;2299:12;;2255:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2255:43:207;;-1:-1:-1;;;2255:57:207:i;:::-;2125:187;;;;;;;;2330:45;2341:17;2360:14;2330:10;:45::i;:::-;2323:52;1938:444;-1:-1:-1;;;;;;1938:444:207:o;4613:130:221:-;4715:21;4613:130;:::o;955:138:207:-;1046:40;;;;;;;;;;;;;;;;;955:138;:::o;2685:331::-;2803:13;2871:24;:22;:24::i;:::-;-1:-1:-1;;;;;2851:65:207;;2934:36;2952:17;2934;:36::i;:::-;2988:7;2851:158;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2832:177;;2685:331;;;;;:::o;1223:336::-;1403:34;;;1435:1;1403:34;;;;;;;;;1315:52;;1403:34;;;;;;;;;;;-1:-1:-1;1403:34:207;1383:54;;1470:47;1447:17;1465:1;1447:20;;;;;;;;;;;;;:70;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1223:336:207;:::o;941:83:223:-;;:::o;6755:113::-;6847:14;6755:113;:::o;4908:198:221:-;-1:-1:-1;;;;;5055:44:221;;:25;:44;;;;;;;;;;;;5048:51;;;;;;;;;;;;;;;;;5007:25;;5048:51;;;5055:44;5048:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4908:198;;;;:::o;2752:1638::-;2874:32;;2939:84;;;;2963:16;2939:84;:::i;:::-;2873:150;;;;3034:28;3104:12;:19;3079:15;:22;:44;-1:-1:-1;;;;;3065:59:221;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3065:59:221;;3034:90;;3142:11;:18;3164:1;3142:23;;3134:76;;;;-1:-1:-1;;;3134:76:221;;;;;;;:::i;:::-;-1:-1:-1;;;;;3283:44:221;;3337:1;3283:44;;;;;;;;;;:51;:55;3279:137;;-1:-1:-1;;;;;3361:44:221;;:25;:44;;;;;;;;;;3354:51;;;:::i;:::-;3553:9;3548:192;3568:15;:22;3564:1;:26;3548:192;;;3628:15;3644:1;3628:18;;;;;;;;;;;;;;3611:11;3623:1;3611:14;;;;;;;;;;;;;:35;;;;;3660:25;:44;3686:17;-1:-1:-1;;;;;3660:44:221;-1:-1:-1;;;;;3660:44:221;;;;;;;;;;;;3710:15;3726:1;3710:18;;;;;;;;;;;;;;;;;;;3660:69;;;;;;;;-1:-1:-1;3660:69:221;;;;;;;;;;;;;;3592:3;3548:192;;;-1:-1:-1;3794:19:221;;:23;3790:531;;3833:18;3869:17;-1:-1:-1;;;;;3854:47:221;;:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3833:70;;3922:9;3917:394;3937:12;:19;3933:1;:23;3917:394;;;3981:24;4033:1;4008:15;:22;:26;3981:53;;4084:114;4133:10;4165:12;4178:1;4165:15;;;;;;;;;;;;;;4084:27;:114::i;:::-;4052:11;4064:16;4052:29;;;;;;;;;;;;;:146;;;;;4216:25;:44;4242:17;-1:-1:-1;;;;;4216:44:221;-1:-1:-1;;;;;4216:44:221;;;;;;;;;;;;4266:11;4278:16;4266:29;;;;;;;;;;;;;;;;;;;4216:80;;;;;;;;-1:-1:-1;4216:80:221;;;;;;;;;;;;;;3958:3;;;;;-1:-1:-1;3917:394:221;;;;3790:531;;4352:17;-1:-1:-1;;;;;4336:47:221;;4371:11;4336:47;;;;;;:::i;:::-;;;;;;;;2752:1638;;;;;;:::o;4190:604:223:-;4333:15;4362:16;4392;4422:32;4468:38;4520:29;4563:35;4670:15;4642:145;;;;;;;;;;;;:::i;:::-;4623:164;;;;-1:-1:-1;4623:164:223;;-1:-1:-1;4623:164:223;;-1:-1:-1;4623:164:223;-1:-1:-1;4623:164:223;-1:-1:-1;4623:164:223;;-1:-1:-1;4190:604:223;-1:-1:-1;;4190:604:223:o;1662:488:221:-;1781:15;1826:41;1881:29;1923:33;1943:12;1923:19;:33::i;:::-;1812:144;;;;2006:24;:22;:24::i;:::-;-1:-1:-1;;;;;1986:56:221;;2060:11;2089:10;2117:12;1986:157;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1967:176;1662:488;-1:-1:-1;;;;;1662:488:221:o;2200:276::-;2303:42;2347:30;2411:12;2400:69;;;;;;;;;;;;:::i;:::-;2393:76;;;;2200:276;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5:130::-;72:20;;97:33;72:20;97:33;:::i;142:134::-;220:13;;238:33;220:13;238:33;:::i;458:707::-;;575:3;568:4;560:6;556:17;552:27;542:2;;593:1;590;583:12;542:2;630:6;617:20;652:80;667:64;724:6;667:64;:::i;:::-;652:80;:::i;:::-;643:89;;749:5;774:6;767:5;760:21;804:4;796:6;792:17;782:27;;826:4;821:3;817:14;810:21;;879:6;926:3;918:4;910:6;906:17;901:3;897:27;894:36;891:2;;;943:1;940;933:12;891:2;968:1;953:206;978:6;975:1;972:13;953:206;;;1036:3;1058:37;1091:3;1079:10;1058:37;:::i;:::-;1046:50;;-1:-1;1119:4;1110:14;;;;1138;;;;;1000:1;993:9;953:206;;;957:14;535:630;;;;;;;:::o;1191:722::-;;1319:3;1312:4;1304:6;1300:17;1296:27;1286:2;;1337:1;1334;1327:12;1286:2;1367:6;1361:13;1389:80;1404:64;1461:6;1404:64;:::i;1389:80::-;1380:89;;1486:5;1511:6;1504:5;1497:21;1541:4;1533:6;1529:17;1519:27;;1563:4;1558:3;1554:14;1547:21;;1616:6;1663:3;1655:4;1647:6;1643:17;1638:3;1634:27;1631:36;1628:2;;;1680:1;1677;1670:12;1628:2;1705:1;1690:217;1715:6;1712:1;1709:13;1690:217;;;1773:3;1795:48;1839:3;1827:10;1795:48;:::i;:::-;1783:61;;-1:-1;1867:4;1858:14;;;;1886;;;;;1737:1;1730:9;1690:217;;1937:705;;2063:3;2056:4;2048:6;2044:17;2040:27;2030:2;;2081:1;2078;2071:12;2030:2;2118:6;2105:20;2140:89;2155:73;2221:6;2155:73;:::i;2140:89::-;2257:21;;;2301:4;2289:17;;;;2131:98;;-1:-1;2314:14;;2289:17;2409:1;2394:242;2419:6;2416:1;2413:13;2394:242;;;2502:3;2489:17;2481:6;2477:30;2526:46;2568:3;2556:10;2526:46;:::i;:::-;2514:59;;-1:-1;2596:4;2587:14;;;;2615;;;;;2441:1;2434:9;2394:242;;2668:707;;2785:3;2778:4;2770:6;2766:17;2762:27;2752:2;;2803:1;2800;2793:12;2752:2;2840:6;2827:20;2862:80;2877:64;2934:6;2877:64;:::i;2862:80::-;2853:89;;2959:5;2984:6;2977:5;2970:21;3014:4;3006:6;3002:17;2992:27;;3036:4;3031:3;3027:14;3020:21;;3089:6;3136:3;3128:4;3120:6;3116:17;3111:3;3107:27;3104:36;3101:2;;;3153:1;3150;3143:12;3101:2;3178:1;3163:206;3188:6;3185:1;3182:13;3163:206;;;3246:3;3268:37;3301:3;3289:10;3268:37;:::i;:::-;3256:50;;-1:-1;3329:4;3320:14;;;;3348;;;;;3210:1;3203:9;3163:206;;3401:722;;3529:3;3522:4;3514:6;3510:17;3506:27;3496:2;;3547:1;3544;3537:12;3496:2;3577:6;3571:13;3599:80;3614:64;3671:6;3614:64;:::i;3599:80::-;3590:89;;3696:5;3721:6;3714:5;3707:21;3751:4;3743:6;3739:17;3729:27;;3773:4;3768:3;3764:14;3757:21;;3826:6;3873:3;3865:4;3857:6;3853:17;3848:3;3844:27;3841:36;3838:2;;;3890:1;3887;3880:12;3838:2;3915:1;3900:217;3925:6;3922:1;3919:13;3900:217;;;3983:3;4005:48;4049:3;4037:10;4005:48;:::i;:::-;3993:61;;-1:-1;4077:4;4068:14;;;;4096;;;;;3947:1;3940:9;3900:217;;4131:128;4206:13;;4224:30;4206:13;4224:30;:::i;4266:132::-;4343:13;;4361:32;4343:13;4361:32;:::i;4419:336::-;;;4533:3;4526:4;4518:6;4514:17;4510:27;4500:2;;4551:1;4548;4541:12;4500:2;-1:-1;4571:20;;-1:-1;;;;;4600:30;;4597:2;;;4643:1;4640;4633:12;4597:2;4677:4;4669:6;4665:17;4653:29;;4728:3;4720:4;4712:6;4708:17;4698:8;4694:32;4691:41;4688:2;;;4745:1;4742;4735:12;4688:2;4493:262;;;;;:::o;4764:440::-;;4865:3;4858:4;4850:6;4846:17;4842:27;4832:2;;4883:1;4880;4873:12;4832:2;4920:6;4907:20;4942:64;4957:48;4998:6;4957:48;:::i;4942:64::-;4933:73;;5026:6;5019:5;5012:21;5062:4;5054:6;5050:17;5095:4;5088:5;5084:16;5130:3;5121:6;5116:3;5112:16;5109:25;5106:2;;;5147:1;5144;5137:12;5106:2;5157:41;5191:6;5186:3;5181;5157:41;:::i;:::-;4825:379;;;;;;;:::o;5212:162::-;5295:20;;5320:49;5295:20;5320:49;:::i;5381:164::-;5474:13;;5492:48;5474:13;5492:48;:::i;5552:130::-;5619:20;;5644:33;5619:20;5644:33;:::i;5689:134::-;5767:13;;5785:33;5767:13;5785:33;:::i;5830:241::-;;5934:2;5922:9;5913:7;5909:23;5905:32;5902:2;;;5950:1;5947;5940:12;5902:2;5985:1;6002:53;6047:7;6027:9;6002:53;:::i;:::-;5992:63;5896:175;-1:-1;;;;5896:175::o;6078:263::-;;6193:2;6181:9;6172:7;6168:23;6164:32;6161:2;;;6209:1;6206;6199:12;6161:2;6244:1;6261:64;6317:7;6297:9;6261:64;:::i;6348:1629::-;;;;;;;;6680:3;6668:9;6659:7;6655:23;6651:33;6648:2;;;6697:1;6694;6687:12;6648:2;6732:1;6749:72;6813:7;6793:9;6749:72;:::i;:::-;6739:82;;6711:116;6858:2;6876:72;6940:7;6931:6;6920:9;6916:22;6876:72;:::i;:::-;6866:82;;6837:117;6985:2;7003:63;7058:7;7049:6;7038:9;7034:22;7003:63;:::i;:::-;6993:73;;6964:108;7124:2;7113:9;7109:18;7103:25;-1:-1;;;;;7140:6;7137:30;7134:2;;;7180:1;7177;7170:12;7134:2;7200:89;7281:7;7272:6;7261:9;7257:22;7200:89;:::i;:::-;7190:99;;7082:213;7347:3;7336:9;7332:19;7326:26;-1:-1;;;;;7364:6;7361:30;7358:2;;;7404:1;7401;7394:12;7358:2;7424:89;7505:7;7496:6;7485:9;7481:22;7424:89;:::i;:::-;7414:99;;7305:214;7571:3;7560:9;7556:19;7550:26;-1:-1;;;;;7588:6;7585:30;7582:2;;;7628:1;7625;7618:12;7582:2;7648:89;7729:7;7720:6;7709:9;7705:22;7648:89;:::i;:::-;7638:99;;7529:214;7795:3;7784:9;7780:19;7774:26;-1:-1;;;;;7812:6;7809:30;7806:2;;;7852:1;7849;7842:12;7806:2;7872:89;7953:7;7944:6;7933:9;7929:22;7872:89;:::i;:::-;7862:99;;7753:214;6642:1335;;;;;;;;;;:::o;7984:502::-;;;8130:2;8118:9;8109:7;8105:23;8101:32;8098:2;;;8146:1;8143;8136:12;8098:2;8181:1;8198:53;8243:7;8223:9;8198:53;:::i;:::-;8188:63;;8160:97;8316:2;8305:9;8301:18;8288:32;-1:-1;;;;;8332:6;8329:30;8326:2;;;8372:1;8369;8362:12;8326:2;8392:78;8462:7;8453:6;8442:9;8438:22;8392:78;:::i;:::-;8382:88;;8267:209;8092:394;;;;;:::o;8493:490::-;;;;8633:2;8621:9;8612:7;8608:23;8604:32;8601:2;;;8649:1;8646;8639:12;8601:2;8684:1;8701:53;8746:7;8726:9;8701:53;:::i;:::-;8691:63;;8663:97;8819:2;8808:9;8804:18;8791:32;-1:-1;;;;;8835:6;8832:30;8829:2;;;8875:1;8872;8865:12;8829:2;8903:64;8959:7;8950:6;8939:9;8935:22;8903:64;:::i;:::-;8885:82;;;;8770:203;8595:388;;;;;:::o;8990:647::-;;;;;9163:2;9151:9;9142:7;9138:23;9134:32;9131:2;;;9179:1;9176;9169:12;9131:2;9214:1;9231:53;9276:7;9256:9;9231:53;:::i;:::-;9221:63;;9193:97;9321:2;9339:69;9400:7;9391:6;9380:9;9376:22;9339:69;:::i;:::-;9329:79;;9300:114;9473:2;9462:9;9458:18;9445:32;-1:-1;;;;;9489:6;9486:30;9483:2;;;9529:1;9526;9519:12;9483:2;9557:64;9613:7;9604:6;9593:9;9589:22;9557:64;:::i;:::-;9125:512;;;;-1:-1;9539:82;-1:-1;;;;9125:512::o;9644:656::-;;;9824:2;9812:9;9803:7;9799:23;9795:32;9792:2;;;9840:1;9837;9830:12;9792:2;9875:31;;-1:-1;;;;;9915:30;;9912:2;;;9958:1;9955;9948:12;9912:2;9978:78;10048:7;10039:6;10028:9;10024:22;9978:78;:::i;:::-;9968:88;;9854:208;10121:2;10110:9;10106:18;10093:32;-1:-1;;;;;10137:6;10134:30;10131:2;;;10177:1;10174;10167:12;10131:2;10197:87;10276:7;10267:6;10256:9;10252:22;10197:87;:::i;10307:257::-;;10419:2;10407:9;10398:7;10394:23;10390:32;10387:2;;;10435:1;10432;10425:12;10387:2;10470:1;10487:61;10540:7;10520:9;10487:61;:::i;10571:558::-;;;10743:2;10731:9;10722:7;10718:23;10714:32;10711:2;;;10759:1;10756;10749:12;10711:2;10794:1;10811:79;10882:7;10862:9;10811:79;:::i;:::-;10801:89;;10773:123;10948:2;10937:9;10933:18;10927:25;-1:-1;;;;;10964:6;10961:30;10958:2;;;11004:1;11001;10994:12;10958:2;11024:89;11105:7;11096:6;11085:9;11081:22;11024:89;:::i;11136:263::-;;11251:2;11239:9;11230:7;11226:23;11222:32;11219:2;;;11267:1;11264;11257:12;11219:2;11302:1;11319:64;11375:7;11355:9;11319:64;:::i;11407:173::-;;11494:46;11536:3;11528:6;11494:46;:::i;:::-;-1:-1;;11569:4;11560:14;;11487:93::o;11589:201::-;;11690:60;11746:3;11738:6;11690:60;:::i;11799:173::-;;11886:46;11928:3;11920:6;11886:46;:::i;11980:103::-;12053:24;12071:5;12053:24;:::i;:::-;12048:3;12041:37;12035:48;;:::o;12241:690::-;;12386:54;12434:5;12386:54;:::i;:::-;12453:86;12532:6;12527:3;12453:86;:::i;:::-;12446:93;;12560:56;12610:5;12560:56;:::i;:::-;12636:7;12664:1;12649:260;12674:6;12671:1;12668:13;12649:260;;;12741:6;12735:13;12762:63;12821:3;12806:13;12762:63;:::i;:::-;12755:70;;12842:60;12895:6;12842:60;:::i;:::-;12832:70;-1:-1;;12696:1;12689:9;12649:260;;;-1:-1;12922:3;;12365:566;-1:-1;;;;;12365:566::o;12991:764::-;;13150:70;13214:5;13150:70;:::i;:::-;13233:84;13310:6;13305:3;13233:84;:::i;:::-;13226:91;;13338:72;13404:5;13338:72;:::i;:::-;13430:7;13458:1;13443:290;13468:6;13465:1;13462:13;13443:290;;;13535:6;13529:13;13556:77;13629:3;13614:13;13556:77;:::i;:::-;13549:84;;13650:76;13719:6;13650:76;:::i;:::-;13640:86;-1:-1;;13490:1;13483:9;13443:290;;13794:690;;13939:54;13987:5;13939:54;:::i;:::-;14006:86;14085:6;14080:3;14006:86;:::i;:::-;13999:93;;14113:56;14163:5;14113:56;:::i;:::-;14189:7;14217:1;14202:260;14227:6;14224:1;14221:13;14202:260;;;14294:6;14288:13;14315:63;14374:3;14359:13;14315:63;:::i;:::-;14308:70;;14395:60;14448:6;14395:60;:::i;:::-;14385:70;-1:-1;;14249:1;14242:9;14202:260;;14492:104;14569:21;14584:5;14569:21;:::i;14603:144::-;14690:51;14735:5;14690:51;:::i;14754:152::-;14850:50;14894:5;14850:50;:::i;14913:347::-;;15025:39;15058:5;15025:39;:::i;:::-;15076:71;15140:6;15135:3;15076:71;:::i;:::-;15069:78;;15152:52;15197:6;15192:3;15185:4;15178:5;15174:16;15152:52;:::i;:::-;15225:29;15247:6;15225:29;:::i;:::-;15216:39;;;;15005:255;-1:-1;;;15005:255::o;15268:392::-;;15428:67;15492:2;15487:3;15428:67;:::i;:::-;15528:34;15508:55;;15597:25;15592:2;15583:12;;15576:47;15651:2;15642:12;;15414:246;-1:-1;;15414:246::o;15669:378::-;;15829:67;15893:2;15888:3;15829:67;:::i;:::-;15929:34;15909:55;;-1:-1;;;15993:2;15984:12;;15977:33;16038:2;16029:12;;15815:232;-1:-1;;15815:232::o;16056:377::-;;16216:67;16280:2;16275:3;16216:67;:::i;:::-;16316:34;16296:55;;-1:-1;;;16380:2;16371:12;;16364:32;16424:2;16415:12;;16202:231;-1:-1;;16202:231::o;16441:103::-;16514:24;16532:5;16514:24;:::i;16551:222::-;16678:2;16663:18;;16692:71;16667:9;16736:6;16692:71;:::i;16780:618::-;17026:2;17011:18;;17040:71;17015:9;17084:6;17040:71;:::i;:::-;17122:85;17203:2;17192:9;17188:18;17179:6;17122:85;:::i;:::-;17255:9;17249:4;17245:20;17240:2;17229:9;17225:18;17218:48;17280:108;17383:4;17374:6;17280:108;:::i;17405:398::-;17596:2;17610:47;;;17581:18;;17671:122;17581:18;17779:6;17671:122;:::i;17810:370::-;17987:2;18001:47;;;17972:18;;18062:108;17972:18;18156:6;18062:108;:::i;18187:629::-;18442:2;18456:47;;;18427:18;;18517:108;18427:18;18611:6;18517:108;:::i;:::-;18509:116;;18673:9;18667:4;18663:20;18658:2;18647:9;18643:18;18636:48;18698:108;18801:4;18792:6;18698:108;:::i;18823:210::-;18944:2;18929:18;;18958:65;18933:9;18996:6;18958:65;:::i;19040:310::-;19187:2;19201:47;;;19172:18;;19262:78;19172:18;19326:6;19262:78;:::i;19357:416::-;19557:2;19571:47;;;19542:18;;19632:131;19542:18;19632:131;:::i;19780:416::-;19980:2;19994:47;;;19965:18;;20055:131;19965:18;20055:131;:::i;20203:416::-;20403:2;20417:47;;;20388:18;;20478:131;20388:18;20478:131;:::i;20626:256::-;20688:2;20682:9;20714:17;;;-1:-1;;;;;20774:34;;20810:22;;;20771:62;20768:2;;;20846:1;20843;20836:12;20768:2;20862;20855:22;20666:216;;-1:-1;20666:216::o;20889:304::-;;-1:-1;;;;;21040:6;21037:30;21034:2;;;21080:1;21077;21070:12;21034:2;-1:-1;21115:4;21103:17;;;21168:15;;20971:222::o;21831:321::-;;-1:-1;;;;;21966:6;21963:30;21960:2;;;22006:1;22003;21996:12;21960:2;-1:-1;22137:4;22073;22050:17;;;;-1:-1;;22046:33;22127:15;;21897:255::o;22159:151::-;22283:4;22274:14;;22231:79::o;22649:137::-;22752:12;;22723:63::o;23588:178::-;23706:19;;;23755:4;23746:14;;23699:67::o;24318:91::-;;24380:24;24398:5;24380:24;:::i;24522:85::-;24588:13;24581:21;;24564:43::o;24614:144::-;-1:-1;;;;;;24675:78;;24658:100::o;24765:138::-;24843:5;24849:49;24843:5;24849:49;:::i;24910:136::-;24987:5;24993:48;24987:5;24993:48;:::i;25053:121::-;-1:-1;;;;;25115:54;;25098:76::o;25181:72::-;25243:5;25226:27::o;25260:138::-;;25353:40;25387:5;25353:40;:::i;25405:136::-;;25497:39;25530:5;25497:39;:::i;25549:145::-;25630:6;25625:3;25620;25607:30;-1:-1;25686:1;25668:16;;25661:27;25600:94::o;25703:268::-;25768:1;25775:101;25789:6;25786:1;25783:13;25775:101;;;25856:11;;;25850:18;25837:11;;;25830:39;25811:2;25804:10;25775:101;;;25891:6;25888:1;25885:13;25882:2;;;25956:1;25947:6;25942:3;25938:16;25931:27;25882:2;25752:219;;;;:::o;25979:97::-;26067:2;26047:14;-1:-1;;26043:28;;26027:49::o;26084:108::-;26169:2;26162:5;26159:13;26149:2;;26176:9;26199:106;26283:1;26276:5;26273:12;26263:2;;26289:9;26312:117;26381:24;26399:5;26381:24;:::i;:::-;26374:5;26371:35;26361:2;;26420:1;26417;26410:12;26576:111;26642:21;26657:5;26642:21;:::i;26694:115::-;26762:23;26779:5;26762:23;:::i;26816:111::-;26901:2;26894:5;26891:13;26881:2;;26918:1;26915;26908:12;26934:109;27018:1;27011:5;27008:12;26998:2;;27034:1;27031;27024:12;27050:117;27119:24;27137:5;27119:24;:::i", "linkReferences": {}, "immutableReferences": { "59555": [ { "start": 627, "length": 32 } ], "59893": [ { "start": 448, "length": 32 }, { "start": 960, "length": 32 } ] } }, "methodIdentifiers": { "activateForFund(address)": "ceb9a0ad", "addFundSettings(address,bytes)": "0f5f6b4f", "canDisable()": "1ef92578", "getAddressListRegistry()": "74708934", "getListIdsForFund(address)": "dffd7c6f", "getPolicyManager()": "d44ad6cb", "identifier()": "7998a1c4", "implementedHooks()": "cbf54bb2", "passesRule(address,address[])": "c18a6338", "updateFundSettings(address,bytes)": "0d4d7510", "validateRule(address,uint8,bytes)": "579be718" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_policyManager\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_addressListRegistry\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"listIds\",\"type\":\"uint256[]\"}],\"name\":\"ListsSetForFund\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"activateForFund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_encodedSettings\",\"type\":\"bytes\"}],\"name\":\"addFundSettings\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"canDisable\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"canDisable_\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAddressListRegistry\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"addressListRegistry_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"}],\"name\":\"getListIdsForFund\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"listIds_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPolicyManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"policyManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"identifier\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"identifier_\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"implementedHooks\",\"outputs\":[{\"internalType\":\"enum IPolicyManager.PolicyHook[]\",\"name\":\"implementedHooks_\",\"type\":\"uint8[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"address[]\",\"name\":\"_assets\",\"type\":\"address[]\"}],\"name\":\"passesRule\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isValid_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"updateFundSettings\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"enum IPolicyManager.PolicyHook\",\"name\":\"\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"_encodedArgs\",\"type\":\"bytes\"}],\"name\":\"validateRule\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isValid_\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"activateForFund(address)\":{\"details\":\"Unimplemented by default, can be overridden by the policy\"},\"addFundSettings(address,bytes)\":{\"params\":{\"_comptrollerProxy\":\"The fund's ComptrollerProxy address\",\"_encodedSettings\":\"Encoded settings to apply to a fund\"}},\"canDisable()\":{\"details\":\"False by default, can be overridden by the policy\",\"returns\":{\"canDisable_\":\"True if the policy can be disabled\"}},\"getAddressListRegistry()\":{\"returns\":{\"addressListRegistry_\":\"The `ADDRESS_LIST_REGISTRY` variable value\"}},\"getListIdsForFund(address)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\"},\"returns\":{\"listIds_\":\"The list ids\"}},\"getPolicyManager()\":{\"returns\":{\"policyManager_\":\"The `POLICY_MANAGER` variable value\"}},\"identifier()\":{\"returns\":{\"identifier_\":\"The identifier string\"}},\"implementedHooks()\":{\"returns\":{\"implementedHooks_\":\"The implemented PolicyHooks\"}},\"passesRule(address,address[])\":{\"params\":{\"_assets\":\"The assets for which to check the rule\",\"_comptrollerProxy\":\"The fund's ComptrollerProxy address\"},\"returns\":{\"isValid_\":\"True if the rule passes\"}},\"updateFundSettings(address,bytes)\":{\"details\":\"Disallowed by default, can be overridden by the policy\"},\"validateRule(address,uint8,bytes)\":{\"details\":\"onlyPolicyManager validation not necessary, as state is not updated and no events are fired\",\"params\":{\"_comptrollerProxy\":\"The fund's ComptrollerProxy address\",\"_encodedArgs\":\"Encoded args with which to validate the rule\"},\"returns\":{\"isValid_\":\"True if the rule passes\"}}},\"title\":\"AllowedAdapterIncomingAssetsPolicy Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"activateForFund(address)\":{\"notice\":\"Validates and initializes a policy as necessary prior to fund activation\"},\"addFundSettings(address,bytes)\":{\"notice\":\"Adds the initial policy settings for a fund\"},\"canDisable()\":{\"notice\":\"Whether or not the policy can be disabled\"},\"getAddressListRegistry()\":{\"notice\":\"Gets the `ADDRESS_LIST_REGISTRY` variable value\"},\"getListIdsForFund(address)\":{\"notice\":\"Gets the list ids used by a given fund\"},\"getPolicyManager()\":{\"notice\":\"Gets the `POLICY_MANAGER` variable value\"},\"identifier()\":{\"notice\":\"Provides a constant string identifier for a policy\"},\"implementedHooks()\":{\"notice\":\"Gets the implemented PolicyHooks for a policy\"},\"passesRule(address,address[])\":{\"notice\":\"Checks whether a particular condition passes the rule for a particular fund\"},\"updateFundSettings(address,bytes)\":{\"notice\":\"Updates the policy settings for a fund\"},\"validateRule(address,uint8,bytes)\":{\"notice\":\"Apply the rule with the specified parameters of a PolicyHook\"}},\"notice\":\"A policy that limits assets that can be received via an adapter action\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/policy-manager/policies/asset-managers/AllowedAdapterIncomingAssetsPolicy.sol\":\"AllowedAdapterIncomingAssetsPolicy\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/address-list-registry/AddressListRegistry.sol\":{\"keccak256\":\"0xf00a9e376e3ec2a223f463f71c15ee3af3642dd028bc3762440e316b760c8048\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://01986c9327b5dfbfac21316dced6d68727931ddde1278ed1342d878004f984b9\",\"dweb:/ipfs/QmdXkFaUU43JqMTYEREbWa129rohdqN7GXy7mVRpjCfSLD\"]},\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/persistent/vault/interfaces/IExternalPositionVault.sol\":{\"keccak256\":\"0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d\",\"dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8\"]},\"contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol\":{\"keccak256\":\"0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb\",\"dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU\"]},\"contracts/persistent/vault/interfaces/IMigratableVault.sol\":{\"keccak256\":\"0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6\",\"dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs\"]},\"contracts/persistent/vault/interfaces/IVaultCore.sol\":{\"keccak256\":\"0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd\",\"dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr\"]},\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/core/fund/comptroller/ComptrollerLib.sol\":{\"keccak256\":\"0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579\",\"dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq\"]},\"contracts/release/core/fund/comptroller/IComptroller.sol\":{\"keccak256\":\"0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97\",\"dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L\"]},\"contracts/release/core/fund/vault/IVault.sol\":{\"keccak256\":\"0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599\",\"dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG\"]},\"contracts/release/extensions/IExtension.sol\":{\"keccak256\":\"0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70\",\"dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t\"]},\"contracts/release/extensions/fee-manager/IFeeManager.sol\":{\"keccak256\":\"0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22\",\"dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod\"]},\"contracts/release/extensions/policy-manager/IPolicy.sol\":{\"keccak256\":\"0xc12663ca72065b256c3b934ab738fde26c147c7b0399de43650df89dd52ee467\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://be8fecfcba0f3fda615f0a1bb3c766750c23761ef751d7c4472dfe540e460cd1\",\"dweb:/ipfs/QmaarPoRTsX6NiJ8V4u2f3Qh6d7tUs28bw9R14An3t5Bs1\"]},\"contracts/release/extensions/policy-manager/IPolicyManager.sol\":{\"keccak256\":\"0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa\",\"dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb\"]},\"contracts/release/extensions/policy-manager/policies/asset-managers/AllowedAdapterIncomingAssetsPolicy.sol\":{\"keccak256\":\"0xfd2980267c815b0f56bb2c8d545f53795915455cc44c8eb93974d8ae79674184\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c8eaa0430a6a128c2d601ec174b382cea2b25825442e929a2cbda7a3bcd03cd4\",\"dweb:/ipfs/QmT7EZnwhvMTv8L9AgVAXe3zVzsc5eJYabSi5KTPSS3A3N\"]},\"contracts/release/extensions/policy-manager/policies/utils/AddressListRegistryPolicyBase.sol\":{\"keccak256\":\"0x3fdcf3e45c9d6b9cf5221aeb95858060dfc18abf744f664b5ce9bf2f0a6a7bdc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://48b3ed06e509a45f122112129bf3d221ae30afad87722a123f7405a4a24e6645\",\"dweb:/ipfs/QmSA3cJB7C6x6BasicDpzwnHuxFkL6k8hR5fDRD42BWsGc\"]},\"contracts/release/extensions/policy-manager/policies/utils/PolicyBase.sol\":{\"keccak256\":\"0x972311abb98f0da815b4aca83d5afdd219d3604ec19cf5e3773c0c305bd9b3f1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2452f3d1f3b1d8e8459a07489146a2d0d8a10463715937995cbe77ee5de8c069\",\"dweb:/ipfs/Qmf2hhd2DVbjpxmbNGAhRZNZkqpGZA2mX3eA1WNwtv6t5Y\"]},\"contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol\":{\"keccak256\":\"0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f\",\"dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol\":{\"keccak256\":\"0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0\",\"dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol\":{\"keccak256\":\"0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b\",\"dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3\"]},\"contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol\":{\"keccak256\":\"0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965\",\"dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ\"]},\"contracts/release/interfaces/IGsnForwarder.sol\":{\"keccak256\":\"0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29\",\"dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G\"]},\"contracts/release/interfaces/IGsnPaymaster.sol\":{\"keccak256\":\"0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4\",\"dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF\"]},\"contracts/release/interfaces/IGsnTypes.sol\":{\"keccak256\":\"0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7\",\"dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/beacon-proxy/IBeacon.sol\":{\"keccak256\":\"0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39\",\"dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V\"]},\"contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol\":{\"keccak256\":\"0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be\",\"dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_policyManager", "type": "address" }, { "internalType": "address", "name": "_addressListRegistry", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "comptrollerProxy", "type": "address", "indexed": true }, { "internalType": "uint256[]", "name": "listIds", "type": "uint256[]", "indexed": false } ], "type": "event", "name": "ListsSetForFund", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "activateForFund" }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" }, { "internalType": "bytes", "name": "_encodedSettings", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "addFundSettings" }, { "inputs": [], "stateMutability": "pure", "type": "function", "name": "canDisable", "outputs": [ { "internalType": "bool", "name": "canDisable_", "type": "bool" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getAddressListRegistry", "outputs": [ { "internalType": "address", "name": "addressListRegistry_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getListIdsForFund", "outputs": [ { "internalType": "uint256[]", "name": "listIds_", "type": "uint256[]" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getPolicyManager", "outputs": [ { "internalType": "address", "name": "policyManager_", "type": "address" } ] }, { "inputs": [], "stateMutability": "pure", "type": "function", "name": "identifier", "outputs": [ { "internalType": "string", "name": "identifier_", "type": "string" } ] }, { "inputs": [], "stateMutability": "pure", "type": "function", "name": "implementedHooks", "outputs": [ { "internalType": "enum IPolicyManager.PolicyHook[]", "name": "implementedHooks_", "type": "uint8[]" } ] }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" }, { "internalType": "address[]", "name": "_assets", "type": "address[]" } ], "stateMutability": "view", "type": "function", "name": "passesRule", "outputs": [ { "internalType": "bool", "name": "isValid_", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "updateFundSettings" }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" }, { "internalType": "enum IPolicyManager.PolicyHook", "name": "", "type": "uint8" }, { "internalType": "bytes", "name": "_encodedArgs", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "validateRule", "outputs": [ { "internalType": "bool", "name": "isValid_", "type": "bool" } ] } ], "devdoc": { "kind": "dev", "methods": { "activateForFund(address)": { "details": "Unimplemented by default, can be overridden by the policy" }, "addFundSettings(address,bytes)": { "params": { "_comptrollerProxy": "The fund's ComptrollerProxy address", "_encodedSettings": "Encoded settings to apply to a fund" } }, "canDisable()": { "details": "False by default, can be overridden by the policy", "returns": { "canDisable_": "True if the policy can be disabled" } }, "getAddressListRegistry()": { "returns": { "addressListRegistry_": "The `ADDRESS_LIST_REGISTRY` variable value" } }, "getListIdsForFund(address)": { "params": { "_comptrollerProxy": "The ComptrollerProxy of the fund" }, "returns": { "listIds_": "The list ids" } }, "getPolicyManager()": { "returns": { "policyManager_": "The `POLICY_MANAGER` variable value" } }, "identifier()": { "returns": { "identifier_": "The identifier string" } }, "implementedHooks()": { "returns": { "implementedHooks_": "The implemented PolicyHooks" } }, "passesRule(address,address[])": { "params": { "_assets": "The assets for which to check the rule", "_comptrollerProxy": "The fund's ComptrollerProxy address" }, "returns": { "isValid_": "True if the rule passes" } }, "updateFundSettings(address,bytes)": { "details": "Disallowed by default, can be overridden by the policy" }, "validateRule(address,uint8,bytes)": { "details": "onlyPolicyManager validation not necessary, as state is not updated and no events are fired", "params": { "_comptrollerProxy": "The fund's ComptrollerProxy address", "_encodedArgs": "Encoded args with which to validate the rule" }, "returns": { "isValid_": "True if the rule passes" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "activateForFund(address)": { "notice": "Validates and initializes a policy as necessary prior to fund activation" }, "addFundSettings(address,bytes)": { "notice": "Adds the initial policy settings for a fund" }, "canDisable()": { "notice": "Whether or not the policy can be disabled" }, "getAddressListRegistry()": { "notice": "Gets the `ADDRESS_LIST_REGISTRY` variable value" }, "getListIdsForFund(address)": { "notice": "Gets the list ids used by a given fund" }, "getPolicyManager()": { "notice": "Gets the `POLICY_MANAGER` variable value" }, "identifier()": { "notice": "Provides a constant string identifier for a policy" }, "implementedHooks()": { "notice": "Gets the implemented PolicyHooks for a policy" }, "passesRule(address,address[])": { "notice": "Checks whether a particular condition passes the rule for a particular fund" }, "updateFundSettings(address,bytes)": { "notice": "Updates the policy settings for a fund" }, "validateRule(address,uint8,bytes)": { "notice": "Apply the rule with the specified parameters of a PolicyHook" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/policy-manager/policies/asset-managers/AllowedAdapterIncomingAssetsPolicy.sol": "AllowedAdapterIncomingAssetsPolicy" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/address-list-registry/AddressListRegistry.sol": { "keccak256": "0xf00a9e376e3ec2a223f463f71c15ee3af3642dd028bc3762440e316b760c8048", "urls": [ "bzz-raw://01986c9327b5dfbfac21316dced6d68727931ddde1278ed1342d878004f984b9", "dweb:/ipfs/QmdXkFaUU43JqMTYEREbWa129rohdqN7GXy7mVRpjCfSLD" ], "license": "GPL-3.0" }, "contracts/persistent/dispatcher/IDispatcher.sol": { "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", "urls": [ "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" ], "license": "GPL-3.0" }, "contracts/persistent/external-positions/IExternalPosition.sol": { "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", "urls": [ "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IExternalPositionVault.sol": { "keccak256": "0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6", "urls": [ "bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d", "dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol": { "keccak256": "0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0", "urls": [ "bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb", "dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IMigratableVault.sol": { "keccak256": "0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238", "urls": [ "bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6", "dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IVaultCore.sol": { "keccak256": "0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80", "urls": [ "bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd", "dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr" ], "license": "GPL-3.0" }, "contracts/release/core/fund-deployer/IFundDeployer.sol": { "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", "urls": [ "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" ], "license": "GPL-3.0" }, "contracts/release/core/fund/comptroller/ComptrollerLib.sol": { "keccak256": "0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64", "urls": [ "bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579", "dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq" ], "license": "GPL-3.0" }, "contracts/release/core/fund/comptroller/IComptroller.sol": { "keccak256": "0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f", "urls": [ "bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97", "dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L" ], "license": "GPL-3.0" }, "contracts/release/core/fund/vault/IVault.sol": { "keccak256": "0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd", "urls": [ "bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599", "dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG" ], "license": "GPL-3.0" }, "contracts/release/extensions/IExtension.sol": { "keccak256": "0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b", "urls": [ "bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70", "dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t" ], "license": "GPL-3.0" }, "contracts/release/extensions/fee-manager/IFeeManager.sol": { "keccak256": "0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51", "urls": [ "bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22", "dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod" ], "license": "GPL-3.0" }, "contracts/release/extensions/policy-manager/IPolicy.sol": { "keccak256": "0xc12663ca72065b256c3b934ab738fde26c147c7b0399de43650df89dd52ee467", "urls": [ "bzz-raw://be8fecfcba0f3fda615f0a1bb3c766750c23761ef751d7c4472dfe540e460cd1", "dweb:/ipfs/QmaarPoRTsX6NiJ8V4u2f3Qh6d7tUs28bw9R14An3t5Bs1" ], "license": "GPL-3.0" }, "contracts/release/extensions/policy-manager/IPolicyManager.sol": { "keccak256": "0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32", "urls": [ "bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa", "dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb" ], "license": "GPL-3.0" }, "contracts/release/extensions/policy-manager/policies/asset-managers/AllowedAdapterIncomingAssetsPolicy.sol": { "keccak256": "0xfd2980267c815b0f56bb2c8d545f53795915455cc44c8eb93974d8ae79674184", "urls": [ "bzz-raw://c8eaa0430a6a128c2d601ec174b382cea2b25825442e929a2cbda7a3bcd03cd4", "dweb:/ipfs/QmT7EZnwhvMTv8L9AgVAXe3zVzsc5eJYabSi5KTPSS3A3N" ], "license": "GPL-3.0" }, "contracts/release/extensions/policy-manager/policies/utils/AddressListRegistryPolicyBase.sol": { "keccak256": "0x3fdcf3e45c9d6b9cf5221aeb95858060dfc18abf744f664b5ce9bf2f0a6a7bdc", "urls": [ "bzz-raw://48b3ed06e509a45f122112129bf3d221ae30afad87722a123f7405a4a24e6645", "dweb:/ipfs/QmSA3cJB7C6x6BasicDpzwnHuxFkL6k8hR5fDRD42BWsGc" ], "license": "GPL-3.0" }, "contracts/release/extensions/policy-manager/policies/utils/PolicyBase.sol": { "keccak256": "0x972311abb98f0da815b4aca83d5afdd219d3604ec19cf5e3773c0c305bd9b3f1", "urls": [ "bzz-raw://2452f3d1f3b1d8e8459a07489146a2d0d8a10463715937995cbe77ee5de8c069", "dweb:/ipfs/Qmf2hhd2DVbjpxmbNGAhRZNZkqpGZA2mX3eA1WNwtv6t5Y" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol": { "keccak256": "0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609", "urls": [ "bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f", "dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol": { "keccak256": "0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01", "urls": [ "bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0", "dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol": { "keccak256": "0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196", "urls": [ "bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b", "dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol": { "keccak256": "0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794", "urls": [ "bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965", "dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IGsnForwarder.sol": { "keccak256": "0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030", "urls": [ "bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29", "dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IGsnPaymaster.sol": { "keccak256": "0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c", "urls": [ "bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4", "dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IGsnTypes.sol": { "keccak256": "0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714", "urls": [ "bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7", "dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C" ], "license": "GPL-3.0" }, "contracts/release/utils/AddressArrayLib.sol": { "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", "urls": [ "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" ], "license": "GPL-3.0" }, "contracts/release/utils/beacon-proxy/IBeacon.sol": { "keccak256": "0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2", "urls": [ "bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39", "dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V" ], "license": "GPL-3.0" }, "contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol": { "keccak256": "0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc", "urls": [ "bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be", "dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", "urls": [ "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Address.sol": { "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", "urls": [ "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" } }, "version": 1 }, "id": 207 } diff --git a/eth_defi/abi/enzyme/AllowedAdaptersPerManagerPolicy.json b/eth_defi/abi/enzyme/AllowedAdaptersPerManagerPolicy.json index cf42bf8b..e090f854 100644 --- a/eth_defi/abi/enzyme/AllowedAdaptersPerManagerPolicy.json +++ b/eth_defi/abi/enzyme/AllowedAdaptersPerManagerPolicy.json @@ -1,1042 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_policyManager", - "type": "address" - }, - { - "internalType": "address", - "name": "_addressListRegistry", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "comptrollerProxy", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "listIds", - "type": "uint256[]" - } - ], - "name": "ListsSetForFundAndUser", - "type": "event" - }, - { - "inputs": [], - "name": "BYPASS_FLAG", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "activateForFund", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_encodedSettings", - "type": "bytes" - } - ], - "name": "addFundSettings", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "canDisable", - "outputs": [ - { - "internalType": "bool", - "name": "canDisable_", - "type": "bool" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_user", - "type": "address" - } - ], - "name": "getListIdsForFundAndUser", - "outputs": [ - { - "internalType": "uint256[]", - "name": "listIds_", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getPolicyManager", - "outputs": [ - { - "internalType": "address", - "name": "policyManager_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "identifier", - "outputs": [ - { - "internalType": "string", - "name": "identifier_", - "type": "string" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "implementedHooks", - "outputs": [ - { - "internalType": "enum IPolicyManager.PolicyHook[]", - "name": "implementedHooks_", - "type": "uint8[]" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_caller", - "type": "address" - }, - { - "internalType": "address", - "name": "_adapter", - "type": "address" - } - ], - "name": "passesRule", - "outputs": [ - { - "internalType": "bool", - "name": "isValid_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_encodedSettings", - "type": "bytes" - } - ], - "name": "updateFundSettings", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "enum IPolicyManager.PolicyHook", - "name": "", - "type": "uint8" - }, - { - "internalType": "bytes", - "name": "_encodedArgs", - "type": "bytes" - } - ], - "name": "validateRule", - "outputs": [ - { - "internalType": "bool", - "name": "isValid_", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x60c06040523480156200001157600080fd5b50604051620016b8380380620016b8833981016040819052620000349162000066565b6001600160601b0319606092831b8116608052911b1660a052620000d1565b80516200006081620000b7565b92915050565b600080604083850312156200007a57600080fd5b600062000088858562000053565b92505060206200009b8582860162000053565b9150509250929050565b60006001600160a01b03821662000060565b620000c281620000a5565b8114620000ce57600080fd5b50565b60805160601c60a05160601c6115b362000105600039806104c8528061096b525080610199528061055f52506115b36000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c80637998a1c4116100715780637998a1c414610109578063b174666c1461011e578063cbf54bb21461013e578063ccdf1caf14610153578063ceb9a0ad14610166578063d44ad6cb14610179576100a9565b80630d4d7510146100ae5780630f5f6b4f146100ae5780631ef92578146100c3578063572a45e1146100e1578063579be718146100f6575b600080fd5b6100c16100bc366004610f48565b61018e565b005b6100cb6101ef565b6040516100d891906113db565b60405180910390f35b6100e96101f4565b6040516100d8919061141a565b6100cb610104366004610f9d565b6101fa565b61011161025d565b6040516100d891906113e9565b61013161012c366004610ec1565b610294565b6040516100d891906113aa565b61014661030c565b6040516100d89190611399565b6100cb610161366004610efb565b610363565b6100c1610174366004610d85565b61055a565b61018161055d565b6040516100d8919061135e565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146101df5760405162461bcd60e51b81526004016101d69061140a565b60405180910390fd5b6101ea838383610581565b505050565b600190565b60001981565b600080600061023e85858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061060092505050565b505050505091509150610252878383610363565b979650505050505050565b60408051808201909152601c81527f414c4c4f5745445f41444150544552535f5045525f4d414e4147455200000000602082015290565b6001600160a01b038083166000908152602081815260408083209385168352928152908290208054835181840281018401909452808452606093928301828280156102fe57602002820191906000526020600020905b8154815260200190600101908083116102ea575b505050505090505b92915050565b6040805160018082528183019092526060916020808301908036833701905050905060018160008151811061033d57fe5b6020026020010190600981111561035057fe5b9081600981111561035d57fe5b90525090565b6000836001600160a01b031663c98091876040518163ffffffff1660e01b815260040160206040518083038186803b15801561039e57600080fd5b505afa1580156103b2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103d69190610dab565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561040e57600080fd5b505afa158015610422573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104469190610dab565b6001600160a01b0316836001600160a01b0316141561046757506001610553565b60606104738585610294565b9050805160001415610489576000915050610553565b6000198160008151811061049957fe5b602002602001015114156104b1576001915050610553565b604051633ab3a7a360e11b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906375674f46906104ff90849087906004016113bb565b60206040518083038186803b15801561051757600080fd5b505afa15801561052b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061054f91906110be565b9150505b9392505050565b50565b7f000000000000000000000000000000000000000000000000000000000000000090565b60608061058e8484610636565b9150915080518251146105b35760405162461bcd60e51b81526004016101d6906113fa565b60005b81518110156105f8576105f0868483815181106105cf57fe5b60200260200101518484815181106105e357fe5b6020026020010151610651565b6001016105b6565b505050505050565b60008060006060806060808780602001905181019061061f9190610dc9565b959e949d50929b5090995097509550909350915050565b60608061064583850185611004565b915091505b9250929050565b60608061065d83610921565b6001600160a01b03808816600090815260208181526040808320938a16835292905220549193509150156106b9576001600160a01b0380861660009081526020818152604080832093881683529290529081206106b991610a17565b606081518351016001600160401b03811180156106d557600080fd5b506040519080825280602002602001820160405280156106ff578160200160208202803683370190505b508051909150156108ce5760005b83518110156107a15783818151811061072257fe5b602002602001015182828151811061073657fe5b6020908102919091018101919091526001600160a01b0380891660009081528083526040808220928a168252919092529020845185908390811061077657fe5b602090810291909101810151825460018181018555600094855292909320909201919091550161070d565b508151156108ce576000866001600160a01b031663c98091876040518163ffffffff1660e01b815260040160206040518083038186803b1580156107e457600080fd5b505afa1580156107f8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061081c9190610dab565b905060005b83518110156108cb57600081865101905061084f8386848151811061084257fe5b6020026020010151610941565b84828151811061085b57fe5b6020908102919091018101919091526001600160a01b03808b1660009081528083526040808220928c168252919092529020845185908390811061089b57fe5b60209081029190910181015182546001818101855560009485529290932090920191909155919091019050610821565b50505b846001600160a01b0316866001600160a01b03167fe737257df130e7ddcae83b49adac67dc3dcc32950b3e5ee558eae2f0b842a50f8360405161091191906113aa565b60405180910390a3505050505050565b606080828060200190518101906109389190611061565b91509150915091565b600080606061094f846109ff565b604051635f34203760e11b815291935091506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063be68406e906109a49088908690869060040161136c565b602060405180830381600087803b1580156109be57600080fd5b505af11580156109d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109f69190611123565b95945050505050565b600060608280602001905181019061093891906110dc565b508054600082559060005260206000209081019061055a91905b80821115610a455760008155600101610a31565b5090565b80356103068161155d565b80516103068161155d565b600082601f830112610a7057600080fd5b8135610a83610a7e8261144e565b611428565b91508181835260208401935060208101905083856020840282011115610aa857600080fd5b60005b83811015610ad45781610abe8882610a49565b8452506020928301929190910190600101610aab565b5050505092915050565b600082601f830112610aef57600080fd5b8151610afd610a7e8261144e565b91508181835260208401935060208101905083856020840282011115610b2257600080fd5b60005b83811015610ad45781610b388882610a54565b8452506020928301929190910190600101610b25565b600082601f830112610b5f57600080fd5b8135610b6d610a7e8261144e565b81815260209384019390925082018360005b83811015610ad45781358601610b958882610ccf565b8452506020928301929190910190600101610b7f565b600082601f830112610bbc57600080fd5b8151610bca610a7e8261144e565b81815260209384019390925082018360005b83811015610ad45781518601610bf28882610d1e565b8452506020928301929190910190600101610bdc565b600082601f830112610c1957600080fd5b8151610c27610a7e8261144e565b91508181835260208401935060208101905083856020840282011115610c4c57600080fd5b60005b83811015610ad45781610c628882610d7a565b8452506020928301929190910190600101610c4f565b805161030681611571565b80516103068161157a565b60008083601f840112610ca057600080fd5b5081356001600160401b03811115610cb757600080fd5b60208301915083600182028301111561064a57600080fd5b600082601f830112610ce057600080fd5b8135610cee610a7e8261146e565b91508082526020830160208301858383011115610d0a57600080fd5b610d15838284611503565b50505092915050565b600082601f830112610d2f57600080fd5b8151610d3d610a7e8261146e565b91508082526020830160208301858383011115610d5957600080fd5b610d1583828461150f565b803561030681611583565b805161030681611590565b80516103068161159d565b600060208284031215610d9757600080fd5b6000610da38484610a49565b949350505050565b600060208284031215610dbd57600080fd5b6000610da38484610a54565b600080600080600080600060e0888a031215610de457600080fd5b6000610df08a8a610a54565b9750506020610e018a828b01610a54565b9650506040610e128a828b01610c83565b95505060608801516001600160401b03811115610e2e57600080fd5b610e3a8a828b01610ade565b94505060808801516001600160401b03811115610e5657600080fd5b610e628a828b01610c08565b93505060a08801516001600160401b03811115610e7e57600080fd5b610e8a8a828b01610ade565b92505060c08801516001600160401b03811115610ea657600080fd5b610eb28a828b01610c08565b91505092959891949750929550565b60008060408385031215610ed457600080fd5b6000610ee08585610a49565b9250506020610ef185828601610a49565b9150509250929050565b600080600060608486031215610f1057600080fd5b6000610f1c8686610a49565b9350506020610f2d86828701610a49565b9250506040610f3e86828701610a49565b9150509250925092565b600080600060408486031215610f5d57600080fd5b6000610f698686610a49565b93505060208401356001600160401b03811115610f8557600080fd5b610f9186828701610c8e565b92509250509250925092565b60008060008060608587031215610fb357600080fd5b6000610fbf8787610a49565b9450506020610fd087828801610d64565b93505060408501356001600160401b03811115610fec57600080fd5b610ff887828801610c8e565b95989497509550505050565b6000806040838503121561101757600080fd5b82356001600160401b0381111561102d57600080fd5b61103985828601610a5f565b92505060208301356001600160401b0381111561105557600080fd5b610ef185828601610b4e565b6000806040838503121561107457600080fd5b82516001600160401b0381111561108a57600080fd5b61109685828601610c08565b92505060208301516001600160401b038111156110b257600080fd5b610ef185828601610bab565b6000602082840312156110d057600080fd5b6000610da38484610c78565b600080604083850312156110ef57600080fd5b60006110fb8585610d6f565b92505060208301516001600160401b0381111561111757600080fd5b610ef185828601610ade565b60006020828403121561113557600080fd5b6000610da38484610d7a565b600061114d838361116d565b505060200190565b600061114d838361127a565b600061114d8383611355565b611176816114a8565b82525050565b60006111878261149b565b611191818561149f565b935061119c83611495565b8060005b838110156111ca5781516111b48882611141565b97506111bf83611495565b9250506001016111a0565b509495945050505050565b60006111e08261149b565b6111ea818561149f565b93506111f583611495565b8060005b838110156111ca57815161120d8882611155565b975061121883611495565b9250506001016111f9565b600061122e8261149b565b611238818561149f565b935061124383611495565b8060005b838110156111ca57815161125b8882611161565b975061126683611495565b925050600101611247565b611176816114b3565b611176816114ed565b611176816114f8565b60006112978261149b565b6112a1818561149f565b93506112b181856020860161150f565b6112ba8161153f565b9093019392505050565b60006112d160248361149f565b7f5f5f7570646174654c69737473466f7246756e643a20756e657175616c2061728152637261797360e01b602082015260400192915050565b600061131760298361149f565b7f4f6e6c792074686520506f6c6963794d616e616765722063616e206d616b65208152681d1a1a5cc818d85b1b60ba1b602082015260400192915050565b611176816114ea565b60208101610306828461116d565b6060810161137a828661116d565b6113876020830185611283565b81810360408301526109f6818461117c565b6020808252810161055381846111d5565b602080825281016105538184611223565b604080825281016113cc8185611223565b9050610553602083018461116d565b602081016103068284611271565b60208082528101610553818461128c565b60208082528101610306816112c4565b602080825281016103068161130a565b602081016103068284611355565b6040518181016001600160401b038111828210171561144657600080fd5b604052919050565b60006001600160401b0382111561146457600080fd5b5060209081020190565b60006001600160401b0382111561148457600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b6000610306826114de565b151590565b6001600160e01b03191690565b806114cf81611549565b919050565b806114cf81611553565b6001600160a01b031690565b90565b6000610306826114c5565b6000610306826114d4565b82818337506000910152565b60005b8381101561152a578181015183820152602001611512565b83811115611539576000848401525b50505050565b601f01601f191690565b600a811061055a57fe5b6004811061055a57fe5b611566816114a8565b811461055a57600080fd5b611566816114b3565b611566816114b8565b600a811061055a57600080fd5b6004811061055a57600080fd5b611566816114ea56fea164736f6c634300060c000a", - "sourceMap": "684:3818:208:-:0;;;833:170;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;737:31:223;;;;;;;;1186:74:220;;;::::1;::::0;684:3818:208;;5:134:-1;83:13;;101:33;83:13;101:33;:::i;:::-;68:71;;;;:::o;146:399::-;;;278:2;266:9;257:7;253:23;249:32;246:2;;;294:1;291;284:12;246:2;329:1;346:64;402:7;382:9;346:64;:::i;:::-;336:74;;308:108;447:2;465:64;521:7;512:6;501:9;497:22;465:64;:::i;:::-;455:74;;426:109;240:305;;;;;:::o;552:91::-;;-1:-1;;;;;712:54;;614:24;695:76::o;778:117::-;847:24;865:5;847:24;:::i;:::-;840:5;837:35;827:2;;886:1;883;876:12;827:2;821:74;:::o;:::-;684:3818:208;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106100a95760003560e01c80637998a1c4116100715780637998a1c414610109578063b174666c1461011e578063cbf54bb21461013e578063ccdf1caf14610153578063ceb9a0ad14610166578063d44ad6cb14610179576100a9565b80630d4d7510146100ae5780630f5f6b4f146100ae5780631ef92578146100c3578063572a45e1146100e1578063579be718146100f6575b600080fd5b6100c16100bc366004610f48565b61018e565b005b6100cb6101ef565b6040516100d891906113db565b60405180910390f35b6100e96101f4565b6040516100d8919061141a565b6100cb610104366004610f9d565b6101fa565b61011161025d565b6040516100d891906113e9565b61013161012c366004610ec1565b610294565b6040516100d891906113aa565b61014661030c565b6040516100d89190611399565b6100cb610161366004610efb565b610363565b6100c1610174366004610d85565b61055a565b61018161055d565b6040516100d8919061135e565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146101df5760405162461bcd60e51b81526004016101d69061140a565b60405180910390fd5b6101ea838383610581565b505050565b600190565b60001981565b600080600061023e85858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061060092505050565b505050505091509150610252878383610363565b979650505050505050565b60408051808201909152601c81527f414c4c4f5745445f41444150544552535f5045525f4d414e4147455200000000602082015290565b6001600160a01b038083166000908152602081815260408083209385168352928152908290208054835181840281018401909452808452606093928301828280156102fe57602002820191906000526020600020905b8154815260200190600101908083116102ea575b505050505090505b92915050565b6040805160018082528183019092526060916020808301908036833701905050905060018160008151811061033d57fe5b6020026020010190600981111561035057fe5b9081600981111561035d57fe5b90525090565b6000836001600160a01b031663c98091876040518163ffffffff1660e01b815260040160206040518083038186803b15801561039e57600080fd5b505afa1580156103b2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103d69190610dab565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561040e57600080fd5b505afa158015610422573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104469190610dab565b6001600160a01b0316836001600160a01b0316141561046757506001610553565b60606104738585610294565b9050805160001415610489576000915050610553565b6000198160008151811061049957fe5b602002602001015114156104b1576001915050610553565b604051633ab3a7a360e11b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906375674f46906104ff90849087906004016113bb565b60206040518083038186803b15801561051757600080fd5b505afa15801561052b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061054f91906110be565b9150505b9392505050565b50565b7f000000000000000000000000000000000000000000000000000000000000000090565b60608061058e8484610636565b9150915080518251146105b35760405162461bcd60e51b81526004016101d6906113fa565b60005b81518110156105f8576105f0868483815181106105cf57fe5b60200260200101518484815181106105e357fe5b6020026020010151610651565b6001016105b6565b505050505050565b60008060006060806060808780602001905181019061061f9190610dc9565b959e949d50929b5090995097509550909350915050565b60608061064583850185611004565b915091505b9250929050565b60608061065d83610921565b6001600160a01b03808816600090815260208181526040808320938a16835292905220549193509150156106b9576001600160a01b0380861660009081526020818152604080832093881683529290529081206106b991610a17565b606081518351016001600160401b03811180156106d557600080fd5b506040519080825280602002602001820160405280156106ff578160200160208202803683370190505b508051909150156108ce5760005b83518110156107a15783818151811061072257fe5b602002602001015182828151811061073657fe5b6020908102919091018101919091526001600160a01b0380891660009081528083526040808220928a168252919092529020845185908390811061077657fe5b602090810291909101810151825460018181018555600094855292909320909201919091550161070d565b508151156108ce576000866001600160a01b031663c98091876040518163ffffffff1660e01b815260040160206040518083038186803b1580156107e457600080fd5b505afa1580156107f8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061081c9190610dab565b905060005b83518110156108cb57600081865101905061084f8386848151811061084257fe5b6020026020010151610941565b84828151811061085b57fe5b6020908102919091018101919091526001600160a01b03808b1660009081528083526040808220928c168252919092529020845185908390811061089b57fe5b60209081029190910181015182546001818101855560009485529290932090920191909155919091019050610821565b50505b846001600160a01b0316866001600160a01b03167fe737257df130e7ddcae83b49adac67dc3dcc32950b3e5ee558eae2f0b842a50f8360405161091191906113aa565b60405180910390a3505050505050565b606080828060200190518101906109389190611061565b91509150915091565b600080606061094f846109ff565b604051635f34203760e11b815291935091506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063be68406e906109a49088908690869060040161136c565b602060405180830381600087803b1580156109be57600080fd5b505af11580156109d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109f69190611123565b95945050505050565b600060608280602001905181019061093891906110dc565b508054600082559060005260206000209081019061055a91905b80821115610a455760008155600101610a31565b5090565b80356103068161155d565b80516103068161155d565b600082601f830112610a7057600080fd5b8135610a83610a7e8261144e565b611428565b91508181835260208401935060208101905083856020840282011115610aa857600080fd5b60005b83811015610ad45781610abe8882610a49565b8452506020928301929190910190600101610aab565b5050505092915050565b600082601f830112610aef57600080fd5b8151610afd610a7e8261144e565b91508181835260208401935060208101905083856020840282011115610b2257600080fd5b60005b83811015610ad45781610b388882610a54565b8452506020928301929190910190600101610b25565b600082601f830112610b5f57600080fd5b8135610b6d610a7e8261144e565b81815260209384019390925082018360005b83811015610ad45781358601610b958882610ccf565b8452506020928301929190910190600101610b7f565b600082601f830112610bbc57600080fd5b8151610bca610a7e8261144e565b81815260209384019390925082018360005b83811015610ad45781518601610bf28882610d1e565b8452506020928301929190910190600101610bdc565b600082601f830112610c1957600080fd5b8151610c27610a7e8261144e565b91508181835260208401935060208101905083856020840282011115610c4c57600080fd5b60005b83811015610ad45781610c628882610d7a565b8452506020928301929190910190600101610c4f565b805161030681611571565b80516103068161157a565b60008083601f840112610ca057600080fd5b5081356001600160401b03811115610cb757600080fd5b60208301915083600182028301111561064a57600080fd5b600082601f830112610ce057600080fd5b8135610cee610a7e8261146e565b91508082526020830160208301858383011115610d0a57600080fd5b610d15838284611503565b50505092915050565b600082601f830112610d2f57600080fd5b8151610d3d610a7e8261146e565b91508082526020830160208301858383011115610d5957600080fd5b610d1583828461150f565b803561030681611583565b805161030681611590565b80516103068161159d565b600060208284031215610d9757600080fd5b6000610da38484610a49565b949350505050565b600060208284031215610dbd57600080fd5b6000610da38484610a54565b600080600080600080600060e0888a031215610de457600080fd5b6000610df08a8a610a54565b9750506020610e018a828b01610a54565b9650506040610e128a828b01610c83565b95505060608801516001600160401b03811115610e2e57600080fd5b610e3a8a828b01610ade565b94505060808801516001600160401b03811115610e5657600080fd5b610e628a828b01610c08565b93505060a08801516001600160401b03811115610e7e57600080fd5b610e8a8a828b01610ade565b92505060c08801516001600160401b03811115610ea657600080fd5b610eb28a828b01610c08565b91505092959891949750929550565b60008060408385031215610ed457600080fd5b6000610ee08585610a49565b9250506020610ef185828601610a49565b9150509250929050565b600080600060608486031215610f1057600080fd5b6000610f1c8686610a49565b9350506020610f2d86828701610a49565b9250506040610f3e86828701610a49565b9150509250925092565b600080600060408486031215610f5d57600080fd5b6000610f698686610a49565b93505060208401356001600160401b03811115610f8557600080fd5b610f9186828701610c8e565b92509250509250925092565b60008060008060608587031215610fb357600080fd5b6000610fbf8787610a49565b9450506020610fd087828801610d64565b93505060408501356001600160401b03811115610fec57600080fd5b610ff887828801610c8e565b95989497509550505050565b6000806040838503121561101757600080fd5b82356001600160401b0381111561102d57600080fd5b61103985828601610a5f565b92505060208301356001600160401b0381111561105557600080fd5b610ef185828601610b4e565b6000806040838503121561107457600080fd5b82516001600160401b0381111561108a57600080fd5b61109685828601610c08565b92505060208301516001600160401b038111156110b257600080fd5b610ef185828601610bab565b6000602082840312156110d057600080fd5b6000610da38484610c78565b600080604083850312156110ef57600080fd5b60006110fb8585610d6f565b92505060208301516001600160401b0381111561111757600080fd5b610ef185828601610ade565b60006020828403121561113557600080fd5b6000610da38484610d7a565b600061114d838361116d565b505060200190565b600061114d838361127a565b600061114d8383611355565b611176816114a8565b82525050565b60006111878261149b565b611191818561149f565b935061119c83611495565b8060005b838110156111ca5781516111b48882611141565b97506111bf83611495565b9250506001016111a0565b509495945050505050565b60006111e08261149b565b6111ea818561149f565b93506111f583611495565b8060005b838110156111ca57815161120d8882611155565b975061121883611495565b9250506001016111f9565b600061122e8261149b565b611238818561149f565b935061124383611495565b8060005b838110156111ca57815161125b8882611161565b975061126683611495565b925050600101611247565b611176816114b3565b611176816114ed565b611176816114f8565b60006112978261149b565b6112a1818561149f565b93506112b181856020860161150f565b6112ba8161153f565b9093019392505050565b60006112d160248361149f565b7f5f5f7570646174654c69737473466f7246756e643a20756e657175616c2061728152637261797360e01b602082015260400192915050565b600061131760298361149f565b7f4f6e6c792074686520506f6c6963794d616e616765722063616e206d616b65208152681d1a1a5cc818d85b1b60ba1b602082015260400192915050565b611176816114ea565b60208101610306828461116d565b6060810161137a828661116d565b6113876020830185611283565b81810360408301526109f6818461117c565b6020808252810161055381846111d5565b602080825281016105538184611223565b604080825281016113cc8185611223565b9050610553602083018461116d565b602081016103068284611271565b60208082528101610553818461128c565b60208082528101610306816112c4565b602080825281016103068161130a565b602081016103068284611355565b6040518181016001600160401b038111828210171561144657600080fd5b604052919050565b60006001600160401b0382111561146457600080fd5b5060209081020190565b60006001600160401b0382111561148457600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b6000610306826114de565b151590565b6001600160e01b03191690565b806114cf81611549565b919050565b806114cf81611553565b6001600160a01b031690565b90565b6000610306826114c5565b6000610306826114d4565b82818337506000910152565b60005b8381101561152a578181015183820152602001611512565b83811115611539576000848401525b50505050565b601f01601f191690565b600a811061055a57fe5b6004811061055a57fe5b611566816114a8565b811461055a57600080fd5b611566816114b3565b611566816114b8565b600a811061055a57600080fd5b6004811061055a57600080fd5b611566816114ea56fea164736f6c634300060c000a", - "sourceMap": "684:3818:208:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2283:226;;;;;;:::i;:::-;;:::i;:::-;;1157:108;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;771:55;;;:::i;:::-;;;;;;;:::i;2888:383::-;;;;;;:::i;:::-;;:::i;1387:135::-;;;:::i;:::-;;;;;;;:::i;6179:233:220:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1652:336:208:-;;;:::i;:::-;;;;;;;:::i;3638:862::-;;;;;;:::i;:::-;;:::i;941:83:223:-;;;;;;:::i;:::-;;:::i;6755:113::-;;;:::i;:::-;;;;;;;:::i;2283:226:208:-;586:10:223;-1:-1:-1;;;;;600:14:223;586:28;;578:82;;;;-1:-1:-1;;;578:82:223;;;;;;;:::i;:::-;;;;;;;;;2445:57:208::1;2466:17;2485:16;;2445:20;:57::i;:::-;2283:226:::0;;;:::o;1157:108::-;1254:4;1157:108;:::o;771:55::-;-1:-1:-1;;771:55:208;:::o;2888:383::-;3050:13;3076:14;3092:15;3121:79;3178:12;;3121:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3121:43:208;;-1:-1:-1;;;3121:79:208:i;:::-;3075:125;;;;;;;;;3218:46;3229:17;3248:6;3256:7;3218:10;:46::i;:::-;3211:53;2888:383;-1:-1:-1;;;;;;;2888:383:208:o;1387:135::-;1478:37;;;;;;;;;;;;;;;;;1387:135;:::o;6179:233:220:-;-1:-1:-1;;;;;6348:50:220;;;:31;:50;;;;;;;;;;;:57;;;;;;;;;;;;6341:64;;;;;;;;;;;;;;;;;6300:25;;6341:64;;;6348:57;6341:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6179:233;;;;;:::o;1652:336:208:-;1832:34;;;1864:1;1832:34;;;;;;;;;1744:52;;1832:34;;;;;;;;;;;-1:-1:-1;1832:34:208;1812:54;;1899:47;1876:17;1894:1;1876:20;;;;;;;;;;;;;:70;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1652:336:208;:::o;3638:862::-;3771:13;3868:17;-1:-1:-1;;;;;3853:47:208;;:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;3836:77:208;;:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;3813:102:208;:7;-1:-1:-1;;;;;3813:102:208;;3796:215;;;-1:-1:-1;3996:4:208;3989:11;;3796:215;4021:24;4048:52;4073:17;4092:7;4048:24;:52::i;:::-;4021:79;;4115:7;:14;4133:1;4115:19;4111:139;;;4234:5;4227:12;;;;;4111:139;-1:-1:-1;;4264:7:208;4272:1;4264:10;;;;;;;;;;;;;;:25;4260:151;;;4396:4;4389:11;;;;;4260:151;4428:65;;-1:-1:-1;;;4428:65:208;;-1:-1:-1;;;;;4428:30:208;:46;;;;:65;;4475:7;;4484:8;;4428:65;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4421:72;;;3638:862;;;;;;:::o;941:83:223:-;;:::o;6755:113::-;6847:14;6755:113;:::o;1856:483:220:-;1978:22;2002:24;2030:62;2066:16;;2030:22;:62::i;:::-;1977:115;;;;2127:9;:16;2111:5;:12;:32;2103:81;;;;-1:-1:-1;;;2103:81:220;;;;;;;:::i;:::-;2200:9;2195:138;2215:9;:16;2211:1;:20;2195:138;;;2252:70;2280:17;2299:5;2305:1;2299:8;;;;;;;;;;;;;;2309:9;2319:1;2309:12;;;;;;;;;;;;;;2252:27;:70::i;:::-;2233:3;;2195:138;;;;1856:483;;;;;:::o;4190:604:223:-;4333:15;4362:16;4392;4422:32;4468:38;4520:29;4563:35;4670:15;4642:145;;;;;;;;;;;;:::i;:::-;4623:164;;;;-1:-1:-1;4623:164:223;;-1:-1:-1;4623:164:223;;-1:-1:-1;4623:164:223;-1:-1:-1;4623:164:223;-1:-1:-1;4623:164:223;;-1:-1:-1;4190:604:223;-1:-1:-1;;4190:604:223:o;3264:241:220:-;3375:23;;3448:50;;;;3459:16;3448:50;:::i;:::-;3441:57;;;;3264:241;;;;;;:::o;4106:1784::-;4258:32;4292:27;4323:54;4358:9;4323:21;:54::i;:::-;-1:-1:-1;;;;;4450:50:220;;;4517:1;4450:50;;;;;;;;;;;:57;;;;;;;;;:64;4257:120;;-1:-1:-1;4257:120:220;-1:-1:-1;4450:68:220;4446:163;;-1:-1:-1;;;;;4541:50:220;;;:31;:50;;;;;;;;;;;:57;;;;;;;;;;;4534:64;;;:::i;:::-;4619:28;4689:12;:19;4664:15;:22;:44;-1:-1:-1;;;;;4650:59:220;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4650:59:220;-1:-1:-1;4724:18:220;;4619:90;;-1:-1:-1;4724:22:220;4720:1087;;4897:9;4892:217;4912:15;:22;4908:1;:26;4892:217;;;4976:15;4992:1;4976:18;;;;;;;;;;;;;;4959:11;4971:1;4959:14;;;;;;;;;;;;;;;;;;:35;;;;-1:-1:-1;;;;;5012:50:220;;;:31;:50;;;;;;;;;;:57;;;;;;;;;;;5075:18;;:15;;5091:1;;5075:18;;;;;;;;;;;;;;;;;5012:82;;;;;;;;-1:-1:-1;5012:82:220;;;;;;;;;;;;;;4936:3;4892:217;;;-1:-1:-1;5171:19:220;;:23;5167:630;;5214:18;5250:17;-1:-1:-1;;;;;5235:47:220;;:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5214:70;;5307:9;5302:481;5322:12;:19;5318:1;:23;5302:481;;;5370:24;5422:1;5397:15;:22;:26;5370:53;;5477:126;5530:10;5566:12;5579:1;5566:15;;;;;;;;;;;;;;5477:27;:126::i;:::-;5445:11;5457:16;5445:29;;;;;;;;;;;;;;;;;;:158;;;;-1:-1:-1;;;;;5625:50:220;;;:31;:50;;;;;;;;;;:57;;;;;;;;;;;5713:29;;:11;;5725:16;;5713:29;;;;;;;;;;;;;;;;;5625:139;;;;;;;;-1:-1:-1;5625:139:220;;;;;;;;;;;;;;5343:3;;;;;-1:-1:-1;5302:481:220;;;;5167:630;;5864:5;-1:-1:-1;;;;;5822:61:220;5845:17;-1:-1:-1;;;;;5822:61:220;;5871:11;5822:61;;;;;;:::i;:::-;;;;;;;;4106:1784;;;;;;:::o;3585:237::-;3686:33;3721:28;3783:9;3772:43;;;;;;;;;;;;:::i;:::-;3765:50;;;;3585:237;;;:::o;2428:398::-;2546:15;2591:41;2646:29;2688:33;2708:12;2688:19;:33::i;:::-;2739:80;;-1:-1:-1;;;2739:80:220;;2577:144;;-1:-1:-1;2577:144:220;-1:-1:-1;;;;;;2739:30:220;:41;;;;:80;;2781:11;;2577:144;;;;2739:80;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2732:87;2428:398;-1:-1:-1;;;;;2428:398:220:o;2898:275::-;3000:42;3044:30;3108:12;3097:69;;;;;;;;;;;;:::i;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5:130::-;72:20;;97:33;72:20;97:33;:::i;142:134::-;220:13;;238:33;220:13;238:33;:::i;458:707::-;;575:3;568:4;560:6;556:17;552:27;542:2;;593:1;590;583:12;542:2;630:6;617:20;652:80;667:64;724:6;667:64;:::i;:::-;652:80;:::i;:::-;643:89;;749:5;774:6;767:5;760:21;804:4;796:6;792:17;782:27;;826:4;821:3;817:14;810:21;;879:6;926:3;918:4;910:6;906:17;901:3;897:27;894:36;891:2;;;943:1;940;933:12;891:2;968:1;953:206;978:6;975:1;972:13;953:206;;;1036:3;1058:37;1091:3;1079:10;1058:37;:::i;:::-;1046:50;;-1:-1;1119:4;1110:14;;;;1138;;;;;1000:1;993:9;953:206;;;957:14;535:630;;;;;;;:::o;1191:722::-;;1319:3;1312:4;1304:6;1300:17;1296:27;1286:2;;1337:1;1334;1327:12;1286:2;1367:6;1361:13;1389:80;1404:64;1461:6;1404:64;:::i;1389:80::-;1380:89;;1486:5;1511:6;1504:5;1497:21;1541:4;1533:6;1529:17;1519:27;;1563:4;1558:3;1554:14;1547:21;;1616:6;1663:3;1655:4;1647:6;1643:17;1638:3;1634:27;1631:36;1628:2;;;1680:1;1677;1670:12;1628:2;1705:1;1690:217;1715:6;1712:1;1709:13;1690:217;;;1773:3;1795:48;1839:3;1827:10;1795:48;:::i;:::-;1783:61;;-1:-1;1867:4;1858:14;;;;1886;;;;;1737:1;1730:9;1690:217;;1937:705;;2063:3;2056:4;2048:6;2044:17;2040:27;2030:2;;2081:1;2078;2071:12;2030:2;2118:6;2105:20;2140:89;2155:73;2221:6;2155:73;:::i;2140:89::-;2257:21;;;2301:4;2289:17;;;;2131:98;;-1:-1;2314:14;;2289:17;2409:1;2394:242;2419:6;2416:1;2413:13;2394:242;;;2502:3;2489:17;2481:6;2477:30;2526:46;2568:3;2556:10;2526:46;:::i;:::-;2514:59;;-1:-1;2596:4;2587:14;;;;2615;;;;;2441:1;2434:9;2394:242;;2666:713;;2803:3;2796:4;2788:6;2784:17;2780:27;2770:2;;2821:1;2818;2811:12;2770:2;2851:6;2845:13;2873:89;2888:73;2954:6;2888:73;:::i;2873:89::-;2990:21;;;3034:4;3022:17;;;;2864:98;;-1:-1;3047:14;;3022:17;3142:1;3127:246;3152:6;3149:1;3146:13;3127:246;;;3228:3;3222:10;3214:6;3210:23;3252:57;3305:3;3293:10;3252:57;:::i;:::-;3240:70;;-1:-1;3333:4;3324:14;;;;3352;;;;;3174:1;3167:9;3127:246;;3405:722;;3533:3;3526:4;3518:6;3514:17;3510:27;3500:2;;3551:1;3548;3541:12;3500:2;3581:6;3575:13;3603:80;3618:64;3675:6;3618:64;:::i;3603:80::-;3594:89;;3700:5;3725:6;3718:5;3711:21;3755:4;3747:6;3743:17;3733:27;;3777:4;3772:3;3768:14;3761:21;;3830:6;3877:3;3869:4;3861:6;3857:17;3852:3;3848:27;3845:36;3842:2;;;3894:1;3891;3884:12;3842:2;3919:1;3904:217;3929:6;3926:1;3923:13;3904:217;;;3987:3;4009:48;4053:3;4041:10;4009:48;:::i;:::-;3997:61;;-1:-1;4081:4;4072:14;;;;4100;;;;;3951:1;3944:9;3904:217;;4135:128;4210:13;;4228:30;4210:13;4228:30;:::i;4270:132::-;4347:13;;4365:32;4347:13;4365:32;:::i;4423:336::-;;;4537:3;4530:4;4522:6;4518:17;4514:27;4504:2;;4555:1;4552;4545:12;4504:2;-1:-1;4575:20;;-1:-1;;;;;4604:30;;4601:2;;;4647:1;4644;4637:12;4601:2;4681:4;4673:6;4669:17;4657:29;;4732:3;4724:4;4716:6;4712:17;4702:8;4698:32;4695:41;4692:2;;;4749:1;4746;4739:12;4768:440;;4869:3;4862:4;4854:6;4850:17;4846:27;4836:2;;4887:1;4884;4877:12;4836:2;4924:6;4911:20;4946:64;4961:48;5002:6;4961:48;:::i;4946:64::-;4937:73;;5030:6;5023:5;5016:21;5066:4;5058:6;5054:17;5099:4;5092:5;5088:16;5134:3;5125:6;5120:3;5116:16;5113:25;5110:2;;;5151:1;5148;5141:12;5110:2;5161:41;5195:6;5190:3;5185;5161:41;:::i;:::-;4829:379;;;;;;;:::o;5217:442::-;;5329:3;5322:4;5314:6;5310:17;5306:27;5296:2;;5347:1;5344;5337:12;5296:2;5377:6;5371:13;5399:64;5414:48;5455:6;5414:48;:::i;5399:64::-;5390:73;;5483:6;5476:5;5469:21;5519:4;5511:6;5507:17;5552:4;5545:5;5541:16;5587:3;5578:6;5573:3;5569:16;5566:25;5563:2;;;5604:1;5601;5594:12;5563:2;5614:39;5646:6;5641:3;5636;5614:39;:::i;5667:162::-;5750:20;;5775:49;5750:20;5775:49;:::i;5836:164::-;5929:13;;5947:48;5929:13;5947:48;:::i;6007:134::-;6085:13;;6103:33;6085:13;6103:33;:::i;6148:241::-;;6252:2;6240:9;6231:7;6227:23;6223:32;6220:2;;;6268:1;6265;6258:12;6220:2;6303:1;6320:53;6365:7;6345:9;6320:53;:::i;:::-;6310:63;6214:175;-1:-1;;;;6214:175::o;6396:263::-;;6511:2;6499:9;6490:7;6486:23;6482:32;6479:2;;;6527:1;6524;6517:12;6479:2;6562:1;6579:64;6635:7;6615:9;6579:64;:::i;6666:1629::-;;;;;;;;6998:3;6986:9;6977:7;6973:23;6969:33;6966:2;;;7015:1;7012;7005:12;6966:2;7050:1;7067:72;7131:7;7111:9;7067:72;:::i;:::-;7057:82;;7029:116;7176:2;7194:72;7258:7;7249:6;7238:9;7234:22;7194:72;:::i;:::-;7184:82;;7155:117;7303:2;7321:63;7376:7;7367:6;7356:9;7352:22;7321:63;:::i;:::-;7311:73;;7282:108;7442:2;7431:9;7427:18;7421:25;-1:-1;;;;;7458:6;7455:30;7452:2;;;7498:1;7495;7488:12;7452:2;7518:89;7599:7;7590:6;7579:9;7575:22;7518:89;:::i;:::-;7508:99;;7400:213;7665:3;7654:9;7650:19;7644:26;-1:-1;;;;;7682:6;7679:30;7676:2;;;7722:1;7719;7712:12;7676:2;7742:89;7823:7;7814:6;7803:9;7799:22;7742:89;:::i;:::-;7732:99;;7623:214;7889:3;7878:9;7874:19;7868:26;-1:-1;;;;;7906:6;7903:30;7900:2;;;7946:1;7943;7936:12;7900:2;7966:89;8047:7;8038:6;8027:9;8023:22;7966:89;:::i;:::-;7956:99;;7847:214;8113:3;8102:9;8098:19;8092:26;-1:-1;;;;;8130:6;8127:30;8124:2;;;8170:1;8167;8160:12;8124:2;8190:89;8271:7;8262:6;8251:9;8247:22;8190:89;:::i;:::-;8180:99;;8071:214;6960:1335;;;;;;;;;;:::o;8302:366::-;;;8423:2;8411:9;8402:7;8398:23;8394:32;8391:2;;;8439:1;8436;8429:12;8391:2;8474:1;8491:53;8536:7;8516:9;8491:53;:::i;:::-;8481:63;;8453:97;8581:2;8599:53;8644:7;8635:6;8624:9;8620:22;8599:53;:::i;:::-;8589:63;;8560:98;8385:283;;;;;:::o;8675:491::-;;;;8813:2;8801:9;8792:7;8788:23;8784:32;8781:2;;;8829:1;8826;8819:12;8781:2;8864:1;8881:53;8926:7;8906:9;8881:53;:::i;:::-;8871:63;;8843:97;8971:2;8989:53;9034:7;9025:6;9014:9;9010:22;8989:53;:::i;:::-;8979:63;;8950:98;9079:2;9097:53;9142:7;9133:6;9122:9;9118:22;9097:53;:::i;:::-;9087:63;;9058:98;8775:391;;;;;:::o;9173:490::-;;;;9313:2;9301:9;9292:7;9288:23;9284:32;9281:2;;;9329:1;9326;9319:12;9281:2;9364:1;9381:53;9426:7;9406:9;9381:53;:::i;:::-;9371:63;;9343:97;9499:2;9488:9;9484:18;9471:32;-1:-1;;;;;9515:6;9512:30;9509:2;;;9555:1;9552;9545:12;9509:2;9583:64;9639:7;9630:6;9619:9;9615:22;9583:64;:::i;:::-;9565:82;;;;9450:203;9275:388;;;;;:::o;9670:647::-;;;;;9843:2;9831:9;9822:7;9818:23;9814:32;9811:2;;;9859:1;9856;9849:12;9811:2;9894:1;9911:53;9956:7;9936:9;9911:53;:::i;:::-;9901:63;;9873:97;10001:2;10019:69;10080:7;10071:6;10060:9;10056:22;10019:69;:::i;:::-;10009:79;;9980:114;10153:2;10142:9;10138:18;10125:32;-1:-1;;;;;10169:6;10166:30;10163:2;;;10209:1;10206;10199:12;10163:2;10237:64;10293:7;10284:6;10273:9;10269:22;10237:64;:::i;:::-;9805:512;;;;-1:-1;10219:82;-1:-1;;;;9805:512::o;10324:656::-;;;10504:2;10492:9;10483:7;10479:23;10475:32;10472:2;;;10520:1;10517;10510:12;10472:2;10555:31;;-1:-1;;;;;10595:30;;10592:2;;;10638:1;10635;10628:12;10592:2;10658:78;10728:7;10719:6;10708:9;10704:22;10658:78;:::i;:::-;10648:88;;10534:208;10801:2;10790:9;10786:18;10773:32;-1:-1;;;;;10817:6;10814:30;10811:2;;;10857:1;10854;10847:12;10811:2;10877:87;10956:7;10947:6;10936:9;10932:22;10877:87;:::i;10987:675::-;;;11178:2;11166:9;11157:7;11153:23;11149:32;11146:2;;;11194:1;11191;11184:12;11146:2;11229:24;;-1:-1;;;;;11262:30;;11259:2;;;11305:1;11302;11295:12;11259:2;11325:89;11406:7;11397:6;11386:9;11382:22;11325:89;:::i;:::-;11315:99;;11208:212;11472:2;11461:9;11457:18;11451:25;-1:-1;;;;;11488:6;11485:30;11482:2;;;11528:1;11525;11518:12;11482:2;11548:98;11638:7;11629:6;11618:9;11614:22;11548:98;:::i;11669:257::-;;11781:2;11769:9;11760:7;11756:23;11752:32;11749:2;;;11797:1;11794;11787:12;11749:2;11832:1;11849:61;11902:7;11882:9;11849:61;:::i;11933:558::-;;;12105:2;12093:9;12084:7;12080:23;12076:32;12073:2;;;12121:1;12118;12111:12;12073:2;12156:1;12173:79;12244:7;12224:9;12173:79;:::i;:::-;12163:89;;12135:123;12310:2;12299:9;12295:18;12289:25;-1:-1;;;;;12326:6;12323:30;12320:2;;;12366:1;12363;12356:12;12320:2;12386:89;12467:7;12458:6;12447:9;12443:22;12386:89;:::i;12498:263::-;;12613:2;12601:9;12592:7;12588:23;12584:32;12581:2;;;12629:1;12626;12619:12;12581:2;12664:1;12681:64;12737:7;12717:9;12681:64;:::i;12769:173::-;;12856:46;12898:3;12890:6;12856:46;:::i;:::-;-1:-1;;12931:4;12922:14;;12849:93::o;12951:201::-;;13052:60;13108:3;13100:6;13052:60;:::i;13161:173::-;;13248:46;13290:3;13282:6;13248:46;:::i;13342:103::-;13415:24;13433:5;13415:24;:::i;:::-;13410:3;13403:37;13397:48;;:::o;13603:690::-;;13748:54;13796:5;13748:54;:::i;:::-;13815:86;13894:6;13889:3;13815:86;:::i;:::-;13808:93;;13922:56;13972:5;13922:56;:::i;:::-;13998:7;14026:1;14011:260;14036:6;14033:1;14030:13;14011:260;;;14103:6;14097:13;14124:63;14183:3;14168:13;14124:63;:::i;:::-;14117:70;;14204:60;14257:6;14204:60;:::i;:::-;14194:70;-1:-1;;14058:1;14051:9;14011:260;;;-1:-1;14284:3;;13727:566;-1:-1;;;;;13727:566::o;14353:764::-;;14512:70;14576:5;14512:70;:::i;:::-;14595:84;14672:6;14667:3;14595:84;:::i;:::-;14588:91;;14700:72;14766:5;14700:72;:::i;:::-;14792:7;14820:1;14805:290;14830:6;14827:1;14824:13;14805:290;;;14897:6;14891:13;14918:77;14991:3;14976:13;14918:77;:::i;:::-;14911:84;;15012:76;15081:6;15012:76;:::i;:::-;15002:86;-1:-1;;14852:1;14845:9;14805:290;;15156:690;;15301:54;15349:5;15301:54;:::i;:::-;15368:86;15447:6;15442:3;15368:86;:::i;:::-;15361:93;;15475:56;15525:5;15475:56;:::i;:::-;15551:7;15579:1;15564:260;15589:6;15586:1;15583:13;15564:260;;;15656:6;15650:13;15677:63;15736:3;15721:13;15677:63;:::i;:::-;15670:70;;15757:60;15810:6;15757:60;:::i;:::-;15747:70;-1:-1;;15611:1;15604:9;15564:260;;15854:104;15931:21;15946:5;15931:21;:::i;15965:144::-;16052:51;16097:5;16052:51;:::i;16116:152::-;16212:50;16256:5;16212:50;:::i;16275:347::-;;16387:39;16420:5;16387:39;:::i;:::-;16438:71;16502:6;16497:3;16438:71;:::i;:::-;16431:78;;16514:52;16559:6;16554:3;16547:4;16540:5;16536:16;16514:52;:::i;:::-;16587:29;16609:6;16587:29;:::i;:::-;16578:39;;;;16367:255;-1:-1;;;16367:255::o;16630:373::-;;16790:67;16854:2;16849:3;16790:67;:::i;:::-;16890:34;16870:55;;-1:-1;;;16954:2;16945:12;;16938:28;16994:2;16985:12;;16776:227;-1:-1;;16776:227::o;17012:378::-;;17172:67;17236:2;17231:3;17172:67;:::i;:::-;17272:34;17252:55;;-1:-1;;;17336:2;17327:12;;17320:33;17381:2;17372:12;;17158:232;-1:-1;;17158:232::o;17398:103::-;17471:24;17489:5;17471:24;:::i;17628:222::-;17755:2;17740:18;;17769:71;17744:9;17813:6;17769:71;:::i;17857:618::-;18103:2;18088:18;;18117:71;18092:9;18161:6;18117:71;:::i;:::-;18199:85;18280:2;18269:9;18265:18;18256:6;18199:85;:::i;:::-;18332:9;18326:4;18322:20;18317:2;18306:9;18302:18;18295:48;18357:108;18460:4;18451:6;18357:108;:::i;18482:398::-;18673:2;18687:47;;;18658:18;;18748:122;18658:18;18856:6;18748:122;:::i;18887:370::-;19064:2;19078:47;;;19049:18;;19139:108;19049:18;19233:6;19139:108;:::i;19264:481::-;19469:2;19483:47;;;19454:18;;19544:108;19454:18;19638:6;19544:108;:::i;:::-;19536:116;;19663:72;19731:2;19720:9;19716:18;19707:6;19663:72;:::i;19752:210::-;19873:2;19858:18;;19887:65;19862:9;19925:6;19887:65;:::i;19969:310::-;20116:2;20130:47;;;20101:18;;20191:78;20101:18;20255:6;20191:78;:::i;20286:416::-;20486:2;20500:47;;;20471:18;;20561:131;20471:18;20561:131;:::i;20709:416::-;20909:2;20923:47;;;20894:18;;20984:131;20894:18;20984:131;:::i;21132:222::-;21259:2;21244:18;;21273:71;21248:9;21317:6;21273:71;:::i;21361:256::-;21423:2;21417:9;21449:17;;;-1:-1;;;;;21509:34;;21545:22;;;21506:62;21503:2;;;21581:1;21578;21571:12;21503:2;21597;21590:22;21401:216;;-1:-1;21401:216::o;21624:304::-;;-1:-1;;;;;21775:6;21772:30;21769:2;;;21815:1;21812;21805:12;21769:2;-1:-1;21850:4;21838:17;;;21903:15;;21706:222::o;22566:321::-;;-1:-1;;;;;22701:6;22698:30;22695:2;;;22741:1;22738;22731:12;22695:2;-1:-1;22872:4;22808;22785:17;;;;-1:-1;;22781:33;22862:15;;22632:255::o;22894:151::-;23018:4;23009:14;;22966:79::o;23384:137::-;23487:12;;23458:63::o;24323:178::-;24441:19;;;24490:4;24481:14;;24434:67::o;25053:91::-;;25115:24;25133:5;25115:24;:::i;25257:85::-;25323:13;25316:21;;25299:43::o;25349:144::-;-1:-1;;;;;;25410:78;;25393:100::o;25500:138::-;25578:5;25584:49;25578:5;25584:49;:::i;:::-;25561:77;;;:::o;25645:136::-;25722:5;25728:48;25722:5;25728:48;:::i;25788:121::-;-1:-1;;;;;25850:54;;25833:76::o;25916:72::-;25978:5;25961:27::o;25995:138::-;;26088:40;26122:5;26088:40;:::i;26140:136::-;;26232:39;26265:5;26232:39;:::i;26284:145::-;26365:6;26360:3;26355;26342:30;-1:-1;26421:1;26403:16;;26396:27;26335:94::o;26438:268::-;26503:1;26510:101;26524:6;26521:1;26518:13;26510:101;;;26591:11;;;26585:18;26572:11;;;26565:39;26546:2;26539:10;26510:101;;;26626:6;26623:1;26620:13;26617:2;;;26691:1;26682:6;26677:3;26673:16;26666:27;26617:2;26487:219;;;;:::o;26714:97::-;26802:2;26782:14;-1:-1;;26778:28;;26762:49::o;26819:108::-;26904:2;26897:5;26894:13;26884:2;;26911:9;26934:106;27018:1;27011:5;27008:12;26998:2;;27024:9;27047:117;27116:24;27134:5;27116:24;:::i;:::-;27109:5;27106:35;27096:2;;27155:1;27152;27145:12;27311:111;27377:21;27392:5;27377:21;:::i;27429:115::-;27497:23;27514:5;27497:23;:::i;27551:111::-;27636:2;27629:5;27626:13;27616:2;;27653:1;27650;27643:12;27669:109;27753:1;27746:5;27743:12;27733:2;;27769:1;27766;27759:12;27785:117;27854:24;27872:5;27854:24;:::i", - "linkReferences": {}, - "immutableReferences": { - "59171": [ - { - "start": 1224, - "length": 32 - }, - { - "start": 2411, - "length": 32 - } - ], - "59893": [ - { - "start": 409, - "length": 32 - }, - { - "start": 1375, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "BYPASS_FLAG()": "572a45e1", - "activateForFund(address)": "ceb9a0ad", - "addFundSettings(address,bytes)": "0f5f6b4f", - "canDisable()": "1ef92578", - "getListIdsForFundAndUser(address,address)": "b174666c", - "getPolicyManager()": "d44ad6cb", - "identifier()": "7998a1c4", - "implementedHooks()": "cbf54bb2", - "passesRule(address,address,address)": "ccdf1caf", - "updateFundSettings(address,bytes)": "0d4d7510", - "validateRule(address,uint8,bytes)": "579be718" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_policyManager\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_addressListRegistry\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"listIds\",\"type\":\"uint256[]\"}],\"name\":\"ListsSetForFundAndUser\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"BYPASS_FLAG\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"activateForFund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_encodedSettings\",\"type\":\"bytes\"}],\"name\":\"addFundSettings\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"canDisable\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"canDisable_\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"getListIdsForFundAndUser\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"listIds_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPolicyManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"policyManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"identifier\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"identifier_\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"implementedHooks\",\"outputs\":[{\"internalType\":\"enum IPolicyManager.PolicyHook[]\",\"name\":\"implementedHooks_\",\"type\":\"uint8[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_caller\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_adapter\",\"type\":\"address\"}],\"name\":\"passesRule\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isValid_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_encodedSettings\",\"type\":\"bytes\"}],\"name\":\"updateFundSettings\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"enum IPolicyManager.PolicyHook\",\"name\":\"\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"_encodedArgs\",\"type\":\"bytes\"}],\"name\":\"validateRule\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isValid_\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"activateForFund(address)\":{\"details\":\"Unimplemented by default, can be overridden by the policy\"},\"addFundSettings(address,bytes)\":{\"params\":{\"_comptrollerProxy\":\"The fund's ComptrollerProxy address\",\"_encodedSettings\":\"Encoded settings to apply to a fund\"}},\"canDisable()\":{\"returns\":{\"canDisable_\":\"True if the policy can be disabled\"}},\"getListIdsForFundAndUser(address,address)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\",\"_user\":\"The user of the fund\"},\"returns\":{\"listIds_\":\"The list ids\"}},\"getPolicyManager()\":{\"returns\":{\"policyManager_\":\"The `POLICY_MANAGER` variable value\"}},\"identifier()\":{\"returns\":{\"identifier_\":\"The identifer string\"}},\"implementedHooks()\":{\"returns\":{\"implementedHooks_\":\"The implemented PolicyHooks\"}},\"passesRule(address,address,address)\":{\"params\":{\"_adapter\":\"The adapter for which to check the rule\",\"_caller\":\"The caller for which to check the rule\",\"_comptrollerProxy\":\"The fund's ComptrollerProxy address\"},\"returns\":{\"isValid_\":\"True if the rule passes\"}},\"updateFundSettings(address,bytes)\":{\"details\":\"Assigns a new array of lists (does not add/remove lists nor update items in a list)\",\"params\":{\"_comptrollerProxy\":\"The fund's ComptrollerProxy address\",\"_encodedSettings\":\"Encoded settings to apply to a fund\"}},\"validateRule(address,uint8,bytes)\":{\"details\":\"onlyPolicyManager validation not necessary, as state is not updated and no events are fired\",\"params\":{\"_comptrollerProxy\":\"The fund's ComptrollerProxy address\",\"_encodedArgs\":\"Encoded args with which to validate the rule\"},\"returns\":{\"isValid_\":\"True if the rule passes\"}}},\"title\":\"AllowedAdaptersPerManagerPolicy Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"activateForFund(address)\":{\"notice\":\"Validates and initializes a policy as necessary prior to fund activation\"},\"addFundSettings(address,bytes)\":{\"notice\":\"Adds the initial policy settings for a fund\"},\"canDisable()\":{\"notice\":\"Whether or not the policy can be disabled\"},\"getListIdsForFundAndUser(address,address)\":{\"notice\":\"Gets the list ids used by a given fund and user\"},\"getPolicyManager()\":{\"notice\":\"Gets the `POLICY_MANAGER` variable value\"},\"identifier()\":{\"notice\":\"Provides a constant string identifier for a policy\"},\"implementedHooks()\":{\"notice\":\"Gets the implemented PolicyHooks for a policy\"},\"passesRule(address,address,address)\":{\"notice\":\"Checks whether a particular condition passes the rule for a particular fund\"},\"updateFundSettings(address,bytes)\":{\"notice\":\"Updates the policy settings for a fund\"},\"validateRule(address,uint8,bytes)\":{\"notice\":\"Apply the rule with the specified parameters of a PolicyHook\"}},\"notice\":\"A policy that limits which adapters an asset manager can use for a given fund\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/policy-manager/policies/asset-managers/AllowedAdaptersPerManagerPolicy.sol\":\"AllowedAdaptersPerManagerPolicy\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/address-list-registry/AddressListRegistry.sol\":{\"keccak256\":\"0xf00a9e376e3ec2a223f463f71c15ee3af3642dd028bc3762440e316b760c8048\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://01986c9327b5dfbfac21316dced6d68727931ddde1278ed1342d878004f984b9\",\"dweb:/ipfs/QmdXkFaUU43JqMTYEREbWa129rohdqN7GXy7mVRpjCfSLD\"]},\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/persistent/protocol-fee-reserve/interfaces/IProtocolFeeReserve1.sol\":{\"keccak256\":\"0x2728878c423db523bc95189137e8c58d2d7db9f56bbd5c6b1f988c08b551fbab\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3b0df1d2eb74151265d03ab91a7c341f7beca475dd2f4d669052dbc4ee2c06ac\",\"dweb:/ipfs/QmVx1cgrxQNYfdK1Kn15pcgqf79Uw8bF3U6i7F2HG2rj6G\"]},\"contracts/persistent/vault/VaultLibBase1.sol\":{\"keccak256\":\"0xa4dac1e4cdb311a2ab187135355357d8790c505ef36dd912c057fe53743d30b5\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b66efe821016ab927c949263023260515e90f5d480dc8d94eefbfeec7bf7490b\",\"dweb:/ipfs/QmNY3xKnhL9EptAbxGvXHGAXfV9pj3dDPwsZnKrPs54ZHw\"]},\"contracts/persistent/vault/VaultLibBase2.sol\":{\"keccak256\":\"0xf7d31f2a9a47770ed3f444be2c4fe9262ddb55fef7f25e546b1f03c9afec4c09\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9353ddce7c9b8b3c13fed23fe8edec99ca610d791b0c5b204b3d01f1f08d07d2\",\"dweb:/ipfs/QmeVsEh3joCjv49BRXeHASevnZZ5xdZXpkctHT8BPf37N2\"]},\"contracts/persistent/vault/VaultLibBaseCore.sol\":{\"keccak256\":\"0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd\",\"dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz\"]},\"contracts/persistent/vault/interfaces/IExternalPositionVault.sol\":{\"keccak256\":\"0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d\",\"dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8\"]},\"contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol\":{\"keccak256\":\"0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb\",\"dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU\"]},\"contracts/persistent/vault/interfaces/IMigratableVault.sol\":{\"keccak256\":\"0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6\",\"dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs\"]},\"contracts/persistent/vault/interfaces/IVaultCore.sol\":{\"keccak256\":\"0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd\",\"dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr\"]},\"contracts/persistent/vault/utils/ProxiableVaultLib.sol\":{\"keccak256\":\"0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44\",\"dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4\"]},\"contracts/persistent/vault/utils/SharesTokenBase.sol\":{\"keccak256\":\"0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8\",\"dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4\"]},\"contracts/persistent/vault/utils/VaultLibSafeMath.sol\":{\"keccak256\":\"0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02\",\"dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG\"]},\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/core/fund/comptroller/ComptrollerLib.sol\":{\"keccak256\":\"0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579\",\"dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq\"]},\"contracts/release/core/fund/comptroller/IComptroller.sol\":{\"keccak256\":\"0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97\",\"dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L\"]},\"contracts/release/core/fund/vault/IVault.sol\":{\"keccak256\":\"0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599\",\"dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG\"]},\"contracts/release/core/fund/vault/VaultLib.sol\":{\"keccak256\":\"0x07e49445ab55c01e1b499a48baadc2a15d1eba621f1c6d3ccfdb84c87b976da8\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://56d882459248f73e137db2e097fc56b946147fb28ec21661b77431f88e856cb4\",\"dweb:/ipfs/QmRP6Ry7DCS5uoKxnnkTomHSzbaCze6cHqbR9aLdjoF6vK\"]},\"contracts/release/extensions/IExtension.sol\":{\"keccak256\":\"0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70\",\"dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t\"]},\"contracts/release/extensions/external-position-manager/IExternalPositionManager.sol\":{\"keccak256\":\"0x3af3f634e1f99fb97091b7825c0d2e2baaafc124d4e87d56cb0c17ff8554f6c6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://515470605afe5ef147f30fa75ce7818f0e00e3d321eb81a4d9bffcdefc294495\",\"dweb:/ipfs/QmPKsp99pfHoz9Tfo3ZxnkmqDqJtN9PxqacF2RmeVfxUJF\"]},\"contracts/release/extensions/fee-manager/IFeeManager.sol\":{\"keccak256\":\"0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22\",\"dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod\"]},\"contracts/release/extensions/policy-manager/IPolicy.sol\":{\"keccak256\":\"0xc12663ca72065b256c3b934ab738fde26c147c7b0399de43650df89dd52ee467\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://be8fecfcba0f3fda615f0a1bb3c766750c23761ef751d7c4472dfe540e460cd1\",\"dweb:/ipfs/QmaarPoRTsX6NiJ8V4u2f3Qh6d7tUs28bw9R14An3t5Bs1\"]},\"contracts/release/extensions/policy-manager/IPolicyManager.sol\":{\"keccak256\":\"0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa\",\"dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb\"]},\"contracts/release/extensions/policy-manager/policies/asset-managers/AllowedAdaptersPerManagerPolicy.sol\":{\"keccak256\":\"0xf269138acf6b021e08606a861e9f2d41334711fec9ace49901f535100072703a\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6e540ee7f48aa19c01777e6bd1ee006c2b6adeda81b0bc02854e425852beb9b4\",\"dweb:/ipfs/QmfSjpJiMb31VpDZKnZEsxizMmxyHwixWNh64SDvxudaTh\"]},\"contracts/release/extensions/policy-manager/policies/utils/AddressListRegistryPerUserPolicyBase.sol\":{\"keccak256\":\"0x64c2bf7e45fa9337d198d99aaea1c0c57b05cc4b2e8783fd2d6275cac026ed84\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://20a3e36b4c666e5a1bc89557e82aed53b06a5942845ce5ba309896c221278f4a\",\"dweb:/ipfs/QmUjfEJUhZ4jBbyVsaLkC8SdHC86a9Vtvz2SXBmLe6pTza\"]},\"contracts/release/extensions/policy-manager/policies/utils/PolicyBase.sol\":{\"keccak256\":\"0x972311abb98f0da815b4aca83d5afdd219d3604ec19cf5e3773c0c305bd9b3f1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2452f3d1f3b1d8e8459a07489146a2d0d8a10463715937995cbe77ee5de8c069\",\"dweb:/ipfs/Qmf2hhd2DVbjpxmbNGAhRZNZkqpGZA2mX3eA1WNwtv6t5Y\"]},\"contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol\":{\"keccak256\":\"0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f\",\"dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol\":{\"keccak256\":\"0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0\",\"dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol\":{\"keccak256\":\"0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b\",\"dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3\"]},\"contracts/release/infrastructure/protocol-fees/IProtocolFeeTracker.sol\":{\"keccak256\":\"0x232b347f83457439064add7369bfe1930c7cb56f15930bb87d640e909c15e447\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://24f9af5eebdd373b1d7a598c096eb6def31b2640d54416d7d5a7226e1cef17e6\",\"dweb:/ipfs/QmStq9ByGuSYdKwTmZf52L1X6sZVJUfXTnoVbnjLLiUcHG\"]},\"contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol\":{\"keccak256\":\"0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965\",\"dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ\"]},\"contracts/release/interfaces/IGsnForwarder.sol\":{\"keccak256\":\"0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29\",\"dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G\"]},\"contracts/release/interfaces/IGsnPaymaster.sol\":{\"keccak256\":\"0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4\",\"dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF\"]},\"contracts/release/interfaces/IGsnTypes.sol\":{\"keccak256\":\"0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7\",\"dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C\"]},\"contracts/release/interfaces/IWETH.sol\":{\"keccak256\":\"0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2\",\"dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/beacon-proxy/IBeacon.sol\":{\"keccak256\":\"0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39\",\"dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V\"]},\"contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol\":{\"keccak256\":\"0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be\",\"dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20Burnable.sol\":{\"keccak256\":\"0x9c0eb3b0e11d2480d49991dc384f1e5f9c9b9967cc81944d50916a9b9c6c4984\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99e4033d778624992e86f0b6d801a4f6d7b5c0cd5c79c1296be90a051ad5f5af\",\"dweb:/ipfs/QmShYmkUqh6pDEeoWadZ24icmCr4C2Xys1uE5boivPmbwf\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_policyManager", - "type": "address" - }, - { - "internalType": "address", - "name": "_addressListRegistry", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "comptrollerProxy", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "user", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256[]", - "name": "listIds", - "type": "uint256[]", - "indexed": false - } - ], - "type": "event", - "name": "ListsSetForFundAndUser", - "anonymous": false - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "BYPASS_FLAG", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "activateForFund" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_encodedSettings", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "addFundSettings" - }, - { - "inputs": [], - "stateMutability": "pure", - "type": "function", - "name": "canDisable", - "outputs": [ - { - "internalType": "bool", - "name": "canDisable_", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_user", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getListIdsForFundAndUser", - "outputs": [ - { - "internalType": "uint256[]", - "name": "listIds_", - "type": "uint256[]" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getPolicyManager", - "outputs": [ - { - "internalType": "address", - "name": "policyManager_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "pure", - "type": "function", - "name": "identifier", - "outputs": [ - { - "internalType": "string", - "name": "identifier_", - "type": "string" - } - ] - }, - { - "inputs": [], - "stateMutability": "pure", - "type": "function", - "name": "implementedHooks", - "outputs": [ - { - "internalType": "enum IPolicyManager.PolicyHook[]", - "name": "implementedHooks_", - "type": "uint8[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_caller", - "type": "address" - }, - { - "internalType": "address", - "name": "_adapter", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "passesRule", - "outputs": [ - { - "internalType": "bool", - "name": "isValid_", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_encodedSettings", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "updateFundSettings" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "enum IPolicyManager.PolicyHook", - "name": "", - "type": "uint8" - }, - { - "internalType": "bytes", - "name": "_encodedArgs", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "validateRule", - "outputs": [ - { - "internalType": "bool", - "name": "isValid_", - "type": "bool" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "activateForFund(address)": { - "details": "Unimplemented by default, can be overridden by the policy" - }, - "addFundSettings(address,bytes)": { - "params": { - "_comptrollerProxy": "The fund's ComptrollerProxy address", - "_encodedSettings": "Encoded settings to apply to a fund" - } - }, - "canDisable()": { - "returns": { - "canDisable_": "True if the policy can be disabled" - } - }, - "getListIdsForFundAndUser(address,address)": { - "params": { - "_comptrollerProxy": "The ComptrollerProxy of the fund", - "_user": "The user of the fund" - }, - "returns": { - "listIds_": "The list ids" - } - }, - "getPolicyManager()": { - "returns": { - "policyManager_": "The `POLICY_MANAGER` variable value" - } - }, - "identifier()": { - "returns": { - "identifier_": "The identifer string" - } - }, - "implementedHooks()": { - "returns": { - "implementedHooks_": "The implemented PolicyHooks" - } - }, - "passesRule(address,address,address)": { - "params": { - "_adapter": "The adapter for which to check the rule", - "_caller": "The caller for which to check the rule", - "_comptrollerProxy": "The fund's ComptrollerProxy address" - }, - "returns": { - "isValid_": "True if the rule passes" - } - }, - "updateFundSettings(address,bytes)": { - "details": "Assigns a new array of lists (does not add/remove lists nor update items in a list)", - "params": { - "_comptrollerProxy": "The fund's ComptrollerProxy address", - "_encodedSettings": "Encoded settings to apply to a fund" - } - }, - "validateRule(address,uint8,bytes)": { - "details": "onlyPolicyManager validation not necessary, as state is not updated and no events are fired", - "params": { - "_comptrollerProxy": "The fund's ComptrollerProxy address", - "_encodedArgs": "Encoded args with which to validate the rule" - }, - "returns": { - "isValid_": "True if the rule passes" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "activateForFund(address)": { - "notice": "Validates and initializes a policy as necessary prior to fund activation" - }, - "addFundSettings(address,bytes)": { - "notice": "Adds the initial policy settings for a fund" - }, - "canDisable()": { - "notice": "Whether or not the policy can be disabled" - }, - "getListIdsForFundAndUser(address,address)": { - "notice": "Gets the list ids used by a given fund and user" - }, - "getPolicyManager()": { - "notice": "Gets the `POLICY_MANAGER` variable value" - }, - "identifier()": { - "notice": "Provides a constant string identifier for a policy" - }, - "implementedHooks()": { - "notice": "Gets the implemented PolicyHooks for a policy" - }, - "passesRule(address,address,address)": { - "notice": "Checks whether a particular condition passes the rule for a particular fund" - }, - "updateFundSettings(address,bytes)": { - "notice": "Updates the policy settings for a fund" - }, - "validateRule(address,uint8,bytes)": { - "notice": "Apply the rule with the specified parameters of a PolicyHook" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/policy-manager/policies/asset-managers/AllowedAdaptersPerManagerPolicy.sol": "AllowedAdaptersPerManagerPolicy" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/address-list-registry/AddressListRegistry.sol": { - "keccak256": "0xf00a9e376e3ec2a223f463f71c15ee3af3642dd028bc3762440e316b760c8048", - "urls": [ - "bzz-raw://01986c9327b5dfbfac21316dced6d68727931ddde1278ed1342d878004f984b9", - "dweb:/ipfs/QmdXkFaUU43JqMTYEREbWa129rohdqN7GXy7mVRpjCfSLD" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/dispatcher/IDispatcher.sol": { - "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", - "urls": [ - "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", - "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/external-positions/IExternalPosition.sol": { - "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", - "urls": [ - "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", - "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/protocol-fee-reserve/interfaces/IProtocolFeeReserve1.sol": { - "keccak256": "0x2728878c423db523bc95189137e8c58d2d7db9f56bbd5c6b1f988c08b551fbab", - "urls": [ - "bzz-raw://3b0df1d2eb74151265d03ab91a7c341f7beca475dd2f4d669052dbc4ee2c06ac", - "dweb:/ipfs/QmVx1cgrxQNYfdK1Kn15pcgqf79Uw8bF3U6i7F2HG2rj6G" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/VaultLibBase1.sol": { - "keccak256": "0xa4dac1e4cdb311a2ab187135355357d8790c505ef36dd912c057fe53743d30b5", - "urls": [ - "bzz-raw://b66efe821016ab927c949263023260515e90f5d480dc8d94eefbfeec7bf7490b", - "dweb:/ipfs/QmNY3xKnhL9EptAbxGvXHGAXfV9pj3dDPwsZnKrPs54ZHw" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/VaultLibBase2.sol": { - "keccak256": "0xf7d31f2a9a47770ed3f444be2c4fe9262ddb55fef7f25e546b1f03c9afec4c09", - "urls": [ - "bzz-raw://9353ddce7c9b8b3c13fed23fe8edec99ca610d791b0c5b204b3d01f1f08d07d2", - "dweb:/ipfs/QmeVsEh3joCjv49BRXeHASevnZZ5xdZXpkctHT8BPf37N2" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/VaultLibBaseCore.sol": { - "keccak256": "0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074", - "urls": [ - "bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd", - "dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IExternalPositionVault.sol": { - "keccak256": "0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6", - "urls": [ - "bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d", - "dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol": { - "keccak256": "0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0", - "urls": [ - "bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb", - "dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IMigratableVault.sol": { - "keccak256": "0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238", - "urls": [ - "bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6", - "dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IVaultCore.sol": { - "keccak256": "0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80", - "urls": [ - "bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd", - "dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/utils/ProxiableVaultLib.sol": { - "keccak256": "0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76", - "urls": [ - "bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44", - "dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/utils/SharesTokenBase.sol": { - "keccak256": "0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113", - "urls": [ - "bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8", - "dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/utils/VaultLibSafeMath.sol": { - "keccak256": "0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d", - "urls": [ - "bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02", - "dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund-deployer/IFundDeployer.sol": { - "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", - "urls": [ - "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", - "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/comptroller/ComptrollerLib.sol": { - "keccak256": "0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64", - "urls": [ - "bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579", - "dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/comptroller/IComptroller.sol": { - "keccak256": "0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f", - "urls": [ - "bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97", - "dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/vault/IVault.sol": { - "keccak256": "0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd", - "urls": [ - "bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599", - "dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/vault/VaultLib.sol": { - "keccak256": "0x07e49445ab55c01e1b499a48baadc2a15d1eba621f1c6d3ccfdb84c87b976da8", - "urls": [ - "bzz-raw://56d882459248f73e137db2e097fc56b946147fb28ec21661b77431f88e856cb4", - "dweb:/ipfs/QmRP6Ry7DCS5uoKxnnkTomHSzbaCze6cHqbR9aLdjoF6vK" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/IExtension.sol": { - "keccak256": "0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b", - "urls": [ - "bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70", - "dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/IExternalPositionManager.sol": { - "keccak256": "0x3af3f634e1f99fb97091b7825c0d2e2baaafc124d4e87d56cb0c17ff8554f6c6", - "urls": [ - "bzz-raw://515470605afe5ef147f30fa75ce7818f0e00e3d321eb81a4d9bffcdefc294495", - "dweb:/ipfs/QmPKsp99pfHoz9Tfo3ZxnkmqDqJtN9PxqacF2RmeVfxUJF" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/fee-manager/IFeeManager.sol": { - "keccak256": "0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51", - "urls": [ - "bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22", - "dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/policy-manager/IPolicy.sol": { - "keccak256": "0xc12663ca72065b256c3b934ab738fde26c147c7b0399de43650df89dd52ee467", - "urls": [ - "bzz-raw://be8fecfcba0f3fda615f0a1bb3c766750c23761ef751d7c4472dfe540e460cd1", - "dweb:/ipfs/QmaarPoRTsX6NiJ8V4u2f3Qh6d7tUs28bw9R14An3t5Bs1" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/policy-manager/IPolicyManager.sol": { - "keccak256": "0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32", - "urls": [ - "bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa", - "dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/policy-manager/policies/asset-managers/AllowedAdaptersPerManagerPolicy.sol": { - "keccak256": "0xf269138acf6b021e08606a861e9f2d41334711fec9ace49901f535100072703a", - "urls": [ - "bzz-raw://6e540ee7f48aa19c01777e6bd1ee006c2b6adeda81b0bc02854e425852beb9b4", - "dweb:/ipfs/QmfSjpJiMb31VpDZKnZEsxizMmxyHwixWNh64SDvxudaTh" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/policy-manager/policies/utils/AddressListRegistryPerUserPolicyBase.sol": { - "keccak256": "0x64c2bf7e45fa9337d198d99aaea1c0c57b05cc4b2e8783fd2d6275cac026ed84", - "urls": [ - "bzz-raw://20a3e36b4c666e5a1bc89557e82aed53b06a5942845ce5ba309896c221278f4a", - "dweb:/ipfs/QmUjfEJUhZ4jBbyVsaLkC8SdHC86a9Vtvz2SXBmLe6pTza" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/policy-manager/policies/utils/PolicyBase.sol": { - "keccak256": "0x972311abb98f0da815b4aca83d5afdd219d3604ec19cf5e3773c0c305bd9b3f1", - "urls": [ - "bzz-raw://2452f3d1f3b1d8e8459a07489146a2d0d8a10463715937995cbe77ee5de8c069", - "dweb:/ipfs/Qmf2hhd2DVbjpxmbNGAhRZNZkqpGZA2mX3eA1WNwtv6t5Y" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol": { - "keccak256": "0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609", - "urls": [ - "bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f", - "dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol": { - "keccak256": "0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01", - "urls": [ - "bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0", - "dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol": { - "keccak256": "0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196", - "urls": [ - "bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b", - "dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/protocol-fees/IProtocolFeeTracker.sol": { - "keccak256": "0x232b347f83457439064add7369bfe1930c7cb56f15930bb87d640e909c15e447", - "urls": [ - "bzz-raw://24f9af5eebdd373b1d7a598c096eb6def31b2640d54416d7d5a7226e1cef17e6", - "dweb:/ipfs/QmStq9ByGuSYdKwTmZf52L1X6sZVJUfXTnoVbnjLLiUcHG" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol": { - "keccak256": "0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794", - "urls": [ - "bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965", - "dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IGsnForwarder.sol": { - "keccak256": "0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030", - "urls": [ - "bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29", - "dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IGsnPaymaster.sol": { - "keccak256": "0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c", - "urls": [ - "bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4", - "dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IGsnTypes.sol": { - "keccak256": "0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714", - "urls": [ - "bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7", - "dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IWETH.sol": { - "keccak256": "0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2", - "urls": [ - "bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2", - "dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AddressArrayLib.sol": { - "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", - "urls": [ - "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", - "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/beacon-proxy/IBeacon.sol": { - "keccak256": "0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2", - "urls": [ - "bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39", - "dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol": { - "keccak256": "0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc", - "urls": [ - "bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be", - "dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20Burnable.sol": { - "keccak256": "0x9c0eb3b0e11d2480d49991dc384f1e5f9c9b9967cc81944d50916a9b9c6c4984", - "urls": [ - "bzz-raw://99e4033d778624992e86f0b6d801a4f6d7b5c0cd5c79c1296be90a051ad5f5af", - "dweb:/ipfs/QmShYmkUqh6pDEeoWadZ24icmCr4C2Xys1uE5boivPmbwf" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { - "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", - "urls": [ - "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", - "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Address.sol": { - "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", - "urls": [ - "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", - "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 208 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_policyManager", "type": "address", "internalType": "address" }, { "name": "_addressListRegistry", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "BYPASS_FLAG", "inputs": [], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "activateForFund", "inputs": [ { "name": "", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "addFundSettings", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" }, { "name": "_encodedSettings", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "canDisable", "inputs": [], "outputs": [ { "name": "canDisable_", "type": "bool", "internalType": "bool" } ], "stateMutability": "pure" }, { "type": "function", "name": "getListIdsForFundAndUser", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" }, { "name": "_user", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "listIds_", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "view" }, { "type": "function", "name": "getPolicyManager", "inputs": [], "outputs": [ { "name": "policyManager_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "identifier", "inputs": [], "outputs": [ { "name": "identifier_", "type": "string", "internalType": "string" } ], "stateMutability": "pure" }, { "type": "function", "name": "implementedHooks", "inputs": [], "outputs": [ { "name": "implementedHooks_", "type": "uint8[]", "internalType": "enum IPolicyManager.PolicyHook[]" } ], "stateMutability": "pure" }, { "type": "function", "name": "passesRule", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" }, { "name": "_caller", "type": "address", "internalType": "address" }, { "name": "_adapter", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "isValid_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "updateFundSettings", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" }, { "name": "_encodedSettings", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "validateRule", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" }, { "name": "", "type": "uint8", "internalType": "enum IPolicyManager.PolicyHook" }, { "name": "_encodedArgs", "type": "bytes", "internalType": "bytes" } ], "outputs": [ { "name": "isValid_", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "event", "name": "ListsSetForFundAndUser", "inputs": [ { "name": "comptrollerProxy", "type": "address", "indexed": true, "internalType": "address" }, { "name": "user", "type": "address", "indexed": true, "internalType": "address" }, { "name": "listIds", "type": "uint256[]", "indexed": false, "internalType": "uint256[]" } ], "anonymous": false } ], "bytecode": { "object": "0x60c06040523480156200001157600080fd5b50604051620016b8380380620016b8833981016040819052620000349162000066565b6001600160601b0319606092831b8116608052911b1660a052620000d1565b80516200006081620000b7565b92915050565b600080604083850312156200007a57600080fd5b600062000088858562000053565b92505060206200009b8582860162000053565b9150509250929050565b60006001600160a01b03821662000060565b620000c281620000a5565b8114620000ce57600080fd5b50565b60805160601c60a05160601c6115b362000105600039806104c8528061096b525080610199528061055f52506115b36000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c80637998a1c4116100715780637998a1c414610109578063b174666c1461011e578063cbf54bb21461013e578063ccdf1caf14610153578063ceb9a0ad14610166578063d44ad6cb14610179576100a9565b80630d4d7510146100ae5780630f5f6b4f146100ae5780631ef92578146100c3578063572a45e1146100e1578063579be718146100f6575b600080fd5b6100c16100bc366004610f48565b61018e565b005b6100cb6101ef565b6040516100d891906113db565b60405180910390f35b6100e96101f4565b6040516100d8919061141a565b6100cb610104366004610f9d565b6101fa565b61011161025d565b6040516100d891906113e9565b61013161012c366004610ec1565b610294565b6040516100d891906113aa565b61014661030c565b6040516100d89190611399565b6100cb610161366004610efb565b610363565b6100c1610174366004610d85565b61055a565b61018161055d565b6040516100d8919061135e565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146101df5760405162461bcd60e51b81526004016101d69061140a565b60405180910390fd5b6101ea838383610581565b505050565b600190565b60001981565b600080600061023e85858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061060092505050565b505050505091509150610252878383610363565b979650505050505050565b60408051808201909152601c81527f414c4c4f5745445f41444150544552535f5045525f4d414e4147455200000000602082015290565b6001600160a01b038083166000908152602081815260408083209385168352928152908290208054835181840281018401909452808452606093928301828280156102fe57602002820191906000526020600020905b8154815260200190600101908083116102ea575b505050505090505b92915050565b6040805160018082528183019092526060916020808301908036833701905050905060018160008151811061033d57fe5b6020026020010190600981111561035057fe5b9081600981111561035d57fe5b90525090565b6000836001600160a01b031663c98091876040518163ffffffff1660e01b815260040160206040518083038186803b15801561039e57600080fd5b505afa1580156103b2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103d69190610dab565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561040e57600080fd5b505afa158015610422573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104469190610dab565b6001600160a01b0316836001600160a01b0316141561046757506001610553565b60606104738585610294565b9050805160001415610489576000915050610553565b6000198160008151811061049957fe5b602002602001015114156104b1576001915050610553565b604051633ab3a7a360e11b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906375674f46906104ff90849087906004016113bb565b60206040518083038186803b15801561051757600080fd5b505afa15801561052b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061054f91906110be565b9150505b9392505050565b50565b7f000000000000000000000000000000000000000000000000000000000000000090565b60608061058e8484610636565b9150915080518251146105b35760405162461bcd60e51b81526004016101d6906113fa565b60005b81518110156105f8576105f0868483815181106105cf57fe5b60200260200101518484815181106105e357fe5b6020026020010151610651565b6001016105b6565b505050505050565b60008060006060806060808780602001905181019061061f9190610dc9565b959e949d50929b5090995097509550909350915050565b60608061064583850185611004565b915091505b9250929050565b60608061065d83610921565b6001600160a01b03808816600090815260208181526040808320938a16835292905220549193509150156106b9576001600160a01b0380861660009081526020818152604080832093881683529290529081206106b991610a17565b606081518351016001600160401b03811180156106d557600080fd5b506040519080825280602002602001820160405280156106ff578160200160208202803683370190505b508051909150156108ce5760005b83518110156107a15783818151811061072257fe5b602002602001015182828151811061073657fe5b6020908102919091018101919091526001600160a01b0380891660009081528083526040808220928a168252919092529020845185908390811061077657fe5b602090810291909101810151825460018181018555600094855292909320909201919091550161070d565b508151156108ce576000866001600160a01b031663c98091876040518163ffffffff1660e01b815260040160206040518083038186803b1580156107e457600080fd5b505afa1580156107f8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061081c9190610dab565b905060005b83518110156108cb57600081865101905061084f8386848151811061084257fe5b6020026020010151610941565b84828151811061085b57fe5b6020908102919091018101919091526001600160a01b03808b1660009081528083526040808220928c168252919092529020845185908390811061089b57fe5b60209081029190910181015182546001818101855560009485529290932090920191909155919091019050610821565b50505b846001600160a01b0316866001600160a01b03167fe737257df130e7ddcae83b49adac67dc3dcc32950b3e5ee558eae2f0b842a50f8360405161091191906113aa565b60405180910390a3505050505050565b606080828060200190518101906109389190611061565b91509150915091565b600080606061094f846109ff565b604051635f34203760e11b815291935091506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063be68406e906109a49088908690869060040161136c565b602060405180830381600087803b1580156109be57600080fd5b505af11580156109d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109f69190611123565b95945050505050565b600060608280602001905181019061093891906110dc565b508054600082559060005260206000209081019061055a91905b80821115610a455760008155600101610a31565b5090565b80356103068161155d565b80516103068161155d565b600082601f830112610a7057600080fd5b8135610a83610a7e8261144e565b611428565b91508181835260208401935060208101905083856020840282011115610aa857600080fd5b60005b83811015610ad45781610abe8882610a49565b8452506020928301929190910190600101610aab565b5050505092915050565b600082601f830112610aef57600080fd5b8151610afd610a7e8261144e565b91508181835260208401935060208101905083856020840282011115610b2257600080fd5b60005b83811015610ad45781610b388882610a54565b8452506020928301929190910190600101610b25565b600082601f830112610b5f57600080fd5b8135610b6d610a7e8261144e565b81815260209384019390925082018360005b83811015610ad45781358601610b958882610ccf565b8452506020928301929190910190600101610b7f565b600082601f830112610bbc57600080fd5b8151610bca610a7e8261144e565b81815260209384019390925082018360005b83811015610ad45781518601610bf28882610d1e565b8452506020928301929190910190600101610bdc565b600082601f830112610c1957600080fd5b8151610c27610a7e8261144e565b91508181835260208401935060208101905083856020840282011115610c4c57600080fd5b60005b83811015610ad45781610c628882610d7a565b8452506020928301929190910190600101610c4f565b805161030681611571565b80516103068161157a565b60008083601f840112610ca057600080fd5b5081356001600160401b03811115610cb757600080fd5b60208301915083600182028301111561064a57600080fd5b600082601f830112610ce057600080fd5b8135610cee610a7e8261146e565b91508082526020830160208301858383011115610d0a57600080fd5b610d15838284611503565b50505092915050565b600082601f830112610d2f57600080fd5b8151610d3d610a7e8261146e565b91508082526020830160208301858383011115610d5957600080fd5b610d1583828461150f565b803561030681611583565b805161030681611590565b80516103068161159d565b600060208284031215610d9757600080fd5b6000610da38484610a49565b949350505050565b600060208284031215610dbd57600080fd5b6000610da38484610a54565b600080600080600080600060e0888a031215610de457600080fd5b6000610df08a8a610a54565b9750506020610e018a828b01610a54565b9650506040610e128a828b01610c83565b95505060608801516001600160401b03811115610e2e57600080fd5b610e3a8a828b01610ade565b94505060808801516001600160401b03811115610e5657600080fd5b610e628a828b01610c08565b93505060a08801516001600160401b03811115610e7e57600080fd5b610e8a8a828b01610ade565b92505060c08801516001600160401b03811115610ea657600080fd5b610eb28a828b01610c08565b91505092959891949750929550565b60008060408385031215610ed457600080fd5b6000610ee08585610a49565b9250506020610ef185828601610a49565b9150509250929050565b600080600060608486031215610f1057600080fd5b6000610f1c8686610a49565b9350506020610f2d86828701610a49565b9250506040610f3e86828701610a49565b9150509250925092565b600080600060408486031215610f5d57600080fd5b6000610f698686610a49565b93505060208401356001600160401b03811115610f8557600080fd5b610f9186828701610c8e565b92509250509250925092565b60008060008060608587031215610fb357600080fd5b6000610fbf8787610a49565b9450506020610fd087828801610d64565b93505060408501356001600160401b03811115610fec57600080fd5b610ff887828801610c8e565b95989497509550505050565b6000806040838503121561101757600080fd5b82356001600160401b0381111561102d57600080fd5b61103985828601610a5f565b92505060208301356001600160401b0381111561105557600080fd5b610ef185828601610b4e565b6000806040838503121561107457600080fd5b82516001600160401b0381111561108a57600080fd5b61109685828601610c08565b92505060208301516001600160401b038111156110b257600080fd5b610ef185828601610bab565b6000602082840312156110d057600080fd5b6000610da38484610c78565b600080604083850312156110ef57600080fd5b60006110fb8585610d6f565b92505060208301516001600160401b0381111561111757600080fd5b610ef185828601610ade565b60006020828403121561113557600080fd5b6000610da38484610d7a565b600061114d838361116d565b505060200190565b600061114d838361127a565b600061114d8383611355565b611176816114a8565b82525050565b60006111878261149b565b611191818561149f565b935061119c83611495565b8060005b838110156111ca5781516111b48882611141565b97506111bf83611495565b9250506001016111a0565b509495945050505050565b60006111e08261149b565b6111ea818561149f565b93506111f583611495565b8060005b838110156111ca57815161120d8882611155565b975061121883611495565b9250506001016111f9565b600061122e8261149b565b611238818561149f565b935061124383611495565b8060005b838110156111ca57815161125b8882611161565b975061126683611495565b925050600101611247565b611176816114b3565b611176816114ed565b611176816114f8565b60006112978261149b565b6112a1818561149f565b93506112b181856020860161150f565b6112ba8161153f565b9093019392505050565b60006112d160248361149f565b7f5f5f7570646174654c69737473466f7246756e643a20756e657175616c2061728152637261797360e01b602082015260400192915050565b600061131760298361149f565b7f4f6e6c792074686520506f6c6963794d616e616765722063616e206d616b65208152681d1a1a5cc818d85b1b60ba1b602082015260400192915050565b611176816114ea565b60208101610306828461116d565b6060810161137a828661116d565b6113876020830185611283565b81810360408301526109f6818461117c565b6020808252810161055381846111d5565b602080825281016105538184611223565b604080825281016113cc8185611223565b9050610553602083018461116d565b602081016103068284611271565b60208082528101610553818461128c565b60208082528101610306816112c4565b602080825281016103068161130a565b602081016103068284611355565b6040518181016001600160401b038111828210171561144657600080fd5b604052919050565b60006001600160401b0382111561146457600080fd5b5060209081020190565b60006001600160401b0382111561148457600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b6000610306826114de565b151590565b6001600160e01b03191690565b806114cf81611549565b919050565b806114cf81611553565b6001600160a01b031690565b90565b6000610306826114c5565b6000610306826114d4565b82818337506000910152565b60005b8381101561152a578181015183820152602001611512565b83811115611539576000848401525b50505050565b601f01601f191690565b600a811061055a57fe5b6004811061055a57fe5b611566816114a8565b811461055a57600080fd5b611566816114b3565b611566816114b8565b600a811061055a57600080fd5b6004811061055a57600080fd5b611566816114ea56fea164736f6c634300060c000a", "sourceMap": "684:3818:208:-:0;;;833:170;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;737:31:223;;;;;;;;1186:74:220;;;::::1;::::0;684:3818:208;;5:134:-1;83:13;;101:33;83:13;101:33;:::i;:::-;68:71;;;;:::o;146:399::-;;;278:2;266:9;257:7;253:23;249:32;246:2;;;294:1;291;284:12;246:2;329:1;346:64;402:7;382:9;346:64;:::i;:::-;336:74;;308:108;447:2;465:64;521:7;512:6;501:9;497:22;465:64;:::i;:::-;455:74;;426:109;240:305;;;;;:::o;552:91::-;;-1:-1;;;;;712:54;;614:24;695:76::o;778:117::-;847:24;865:5;847:24;:::i;:::-;840:5;837:35;827:2;;886:1;883;876:12;827:2;821:74;:::o;:::-;684:3818:208;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106100a95760003560e01c80637998a1c4116100715780637998a1c414610109578063b174666c1461011e578063cbf54bb21461013e578063ccdf1caf14610153578063ceb9a0ad14610166578063d44ad6cb14610179576100a9565b80630d4d7510146100ae5780630f5f6b4f146100ae5780631ef92578146100c3578063572a45e1146100e1578063579be718146100f6575b600080fd5b6100c16100bc366004610f48565b61018e565b005b6100cb6101ef565b6040516100d891906113db565b60405180910390f35b6100e96101f4565b6040516100d8919061141a565b6100cb610104366004610f9d565b6101fa565b61011161025d565b6040516100d891906113e9565b61013161012c366004610ec1565b610294565b6040516100d891906113aa565b61014661030c565b6040516100d89190611399565b6100cb610161366004610efb565b610363565b6100c1610174366004610d85565b61055a565b61018161055d565b6040516100d8919061135e565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146101df5760405162461bcd60e51b81526004016101d69061140a565b60405180910390fd5b6101ea838383610581565b505050565b600190565b60001981565b600080600061023e85858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061060092505050565b505050505091509150610252878383610363565b979650505050505050565b60408051808201909152601c81527f414c4c4f5745445f41444150544552535f5045525f4d414e4147455200000000602082015290565b6001600160a01b038083166000908152602081815260408083209385168352928152908290208054835181840281018401909452808452606093928301828280156102fe57602002820191906000526020600020905b8154815260200190600101908083116102ea575b505050505090505b92915050565b6040805160018082528183019092526060916020808301908036833701905050905060018160008151811061033d57fe5b6020026020010190600981111561035057fe5b9081600981111561035d57fe5b90525090565b6000836001600160a01b031663c98091876040518163ffffffff1660e01b815260040160206040518083038186803b15801561039e57600080fd5b505afa1580156103b2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103d69190610dab565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561040e57600080fd5b505afa158015610422573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104469190610dab565b6001600160a01b0316836001600160a01b0316141561046757506001610553565b60606104738585610294565b9050805160001415610489576000915050610553565b6000198160008151811061049957fe5b602002602001015114156104b1576001915050610553565b604051633ab3a7a360e11b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906375674f46906104ff90849087906004016113bb565b60206040518083038186803b15801561051757600080fd5b505afa15801561052b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061054f91906110be565b9150505b9392505050565b50565b7f000000000000000000000000000000000000000000000000000000000000000090565b60608061058e8484610636565b9150915080518251146105b35760405162461bcd60e51b81526004016101d6906113fa565b60005b81518110156105f8576105f0868483815181106105cf57fe5b60200260200101518484815181106105e357fe5b6020026020010151610651565b6001016105b6565b505050505050565b60008060006060806060808780602001905181019061061f9190610dc9565b959e949d50929b5090995097509550909350915050565b60608061064583850185611004565b915091505b9250929050565b60608061065d83610921565b6001600160a01b03808816600090815260208181526040808320938a16835292905220549193509150156106b9576001600160a01b0380861660009081526020818152604080832093881683529290529081206106b991610a17565b606081518351016001600160401b03811180156106d557600080fd5b506040519080825280602002602001820160405280156106ff578160200160208202803683370190505b508051909150156108ce5760005b83518110156107a15783818151811061072257fe5b602002602001015182828151811061073657fe5b6020908102919091018101919091526001600160a01b0380891660009081528083526040808220928a168252919092529020845185908390811061077657fe5b602090810291909101810151825460018181018555600094855292909320909201919091550161070d565b508151156108ce576000866001600160a01b031663c98091876040518163ffffffff1660e01b815260040160206040518083038186803b1580156107e457600080fd5b505afa1580156107f8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061081c9190610dab565b905060005b83518110156108cb57600081865101905061084f8386848151811061084257fe5b6020026020010151610941565b84828151811061085b57fe5b6020908102919091018101919091526001600160a01b03808b1660009081528083526040808220928c168252919092529020845185908390811061089b57fe5b60209081029190910181015182546001818101855560009485529290932090920191909155919091019050610821565b50505b846001600160a01b0316866001600160a01b03167fe737257df130e7ddcae83b49adac67dc3dcc32950b3e5ee558eae2f0b842a50f8360405161091191906113aa565b60405180910390a3505050505050565b606080828060200190518101906109389190611061565b91509150915091565b600080606061094f846109ff565b604051635f34203760e11b815291935091506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063be68406e906109a49088908690869060040161136c565b602060405180830381600087803b1580156109be57600080fd5b505af11580156109d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109f69190611123565b95945050505050565b600060608280602001905181019061093891906110dc565b508054600082559060005260206000209081019061055a91905b80821115610a455760008155600101610a31565b5090565b80356103068161155d565b80516103068161155d565b600082601f830112610a7057600080fd5b8135610a83610a7e8261144e565b611428565b91508181835260208401935060208101905083856020840282011115610aa857600080fd5b60005b83811015610ad45781610abe8882610a49565b8452506020928301929190910190600101610aab565b5050505092915050565b600082601f830112610aef57600080fd5b8151610afd610a7e8261144e565b91508181835260208401935060208101905083856020840282011115610b2257600080fd5b60005b83811015610ad45781610b388882610a54565b8452506020928301929190910190600101610b25565b600082601f830112610b5f57600080fd5b8135610b6d610a7e8261144e565b81815260209384019390925082018360005b83811015610ad45781358601610b958882610ccf565b8452506020928301929190910190600101610b7f565b600082601f830112610bbc57600080fd5b8151610bca610a7e8261144e565b81815260209384019390925082018360005b83811015610ad45781518601610bf28882610d1e565b8452506020928301929190910190600101610bdc565b600082601f830112610c1957600080fd5b8151610c27610a7e8261144e565b91508181835260208401935060208101905083856020840282011115610c4c57600080fd5b60005b83811015610ad45781610c628882610d7a565b8452506020928301929190910190600101610c4f565b805161030681611571565b80516103068161157a565b60008083601f840112610ca057600080fd5b5081356001600160401b03811115610cb757600080fd5b60208301915083600182028301111561064a57600080fd5b600082601f830112610ce057600080fd5b8135610cee610a7e8261146e565b91508082526020830160208301858383011115610d0a57600080fd5b610d15838284611503565b50505092915050565b600082601f830112610d2f57600080fd5b8151610d3d610a7e8261146e565b91508082526020830160208301858383011115610d5957600080fd5b610d1583828461150f565b803561030681611583565b805161030681611590565b80516103068161159d565b600060208284031215610d9757600080fd5b6000610da38484610a49565b949350505050565b600060208284031215610dbd57600080fd5b6000610da38484610a54565b600080600080600080600060e0888a031215610de457600080fd5b6000610df08a8a610a54565b9750506020610e018a828b01610a54565b9650506040610e128a828b01610c83565b95505060608801516001600160401b03811115610e2e57600080fd5b610e3a8a828b01610ade565b94505060808801516001600160401b03811115610e5657600080fd5b610e628a828b01610c08565b93505060a08801516001600160401b03811115610e7e57600080fd5b610e8a8a828b01610ade565b92505060c08801516001600160401b03811115610ea657600080fd5b610eb28a828b01610c08565b91505092959891949750929550565b60008060408385031215610ed457600080fd5b6000610ee08585610a49565b9250506020610ef185828601610a49565b9150509250929050565b600080600060608486031215610f1057600080fd5b6000610f1c8686610a49565b9350506020610f2d86828701610a49565b9250506040610f3e86828701610a49565b9150509250925092565b600080600060408486031215610f5d57600080fd5b6000610f698686610a49565b93505060208401356001600160401b03811115610f8557600080fd5b610f9186828701610c8e565b92509250509250925092565b60008060008060608587031215610fb357600080fd5b6000610fbf8787610a49565b9450506020610fd087828801610d64565b93505060408501356001600160401b03811115610fec57600080fd5b610ff887828801610c8e565b95989497509550505050565b6000806040838503121561101757600080fd5b82356001600160401b0381111561102d57600080fd5b61103985828601610a5f565b92505060208301356001600160401b0381111561105557600080fd5b610ef185828601610b4e565b6000806040838503121561107457600080fd5b82516001600160401b0381111561108a57600080fd5b61109685828601610c08565b92505060208301516001600160401b038111156110b257600080fd5b610ef185828601610bab565b6000602082840312156110d057600080fd5b6000610da38484610c78565b600080604083850312156110ef57600080fd5b60006110fb8585610d6f565b92505060208301516001600160401b0381111561111757600080fd5b610ef185828601610ade565b60006020828403121561113557600080fd5b6000610da38484610d7a565b600061114d838361116d565b505060200190565b600061114d838361127a565b600061114d8383611355565b611176816114a8565b82525050565b60006111878261149b565b611191818561149f565b935061119c83611495565b8060005b838110156111ca5781516111b48882611141565b97506111bf83611495565b9250506001016111a0565b509495945050505050565b60006111e08261149b565b6111ea818561149f565b93506111f583611495565b8060005b838110156111ca57815161120d8882611155565b975061121883611495565b9250506001016111f9565b600061122e8261149b565b611238818561149f565b935061124383611495565b8060005b838110156111ca57815161125b8882611161565b975061126683611495565b925050600101611247565b611176816114b3565b611176816114ed565b611176816114f8565b60006112978261149b565b6112a1818561149f565b93506112b181856020860161150f565b6112ba8161153f565b9093019392505050565b60006112d160248361149f565b7f5f5f7570646174654c69737473466f7246756e643a20756e657175616c2061728152637261797360e01b602082015260400192915050565b600061131760298361149f565b7f4f6e6c792074686520506f6c6963794d616e616765722063616e206d616b65208152681d1a1a5cc818d85b1b60ba1b602082015260400192915050565b611176816114ea565b60208101610306828461116d565b6060810161137a828661116d565b6113876020830185611283565b81810360408301526109f6818461117c565b6020808252810161055381846111d5565b602080825281016105538184611223565b604080825281016113cc8185611223565b9050610553602083018461116d565b602081016103068284611271565b60208082528101610553818461128c565b60208082528101610306816112c4565b602080825281016103068161130a565b602081016103068284611355565b6040518181016001600160401b038111828210171561144657600080fd5b604052919050565b60006001600160401b0382111561146457600080fd5b5060209081020190565b60006001600160401b0382111561148457600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b6000610306826114de565b151590565b6001600160e01b03191690565b806114cf81611549565b919050565b806114cf81611553565b6001600160a01b031690565b90565b6000610306826114c5565b6000610306826114d4565b82818337506000910152565b60005b8381101561152a578181015183820152602001611512565b83811115611539576000848401525b50505050565b601f01601f191690565b600a811061055a57fe5b6004811061055a57fe5b611566816114a8565b811461055a57600080fd5b611566816114b3565b611566816114b8565b600a811061055a57600080fd5b6004811061055a57600080fd5b611566816114ea56fea164736f6c634300060c000a", "sourceMap": "684:3818:208:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2283:226;;;;;;:::i;:::-;;:::i;:::-;;1157:108;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;771:55;;;:::i;:::-;;;;;;;:::i;2888:383::-;;;;;;:::i;:::-;;:::i;1387:135::-;;;:::i;:::-;;;;;;;:::i;6179:233:220:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1652:336:208:-;;;:::i;:::-;;;;;;;:::i;3638:862::-;;;;;;:::i;:::-;;:::i;941:83:223:-;;;;;;:::i;:::-;;:::i;6755:113::-;;;:::i;:::-;;;;;;;:::i;2283:226:208:-;586:10:223;-1:-1:-1;;;;;600:14:223;586:28;;578:82;;;;-1:-1:-1;;;578:82:223;;;;;;;:::i;:::-;;;;;;;;;2445:57:208::1;2466:17;2485:16;;2445:20;:57::i;:::-;2283:226:::0;;;:::o;1157:108::-;1254:4;1157:108;:::o;771:55::-;-1:-1:-1;;771:55:208;:::o;2888:383::-;3050:13;3076:14;3092:15;3121:79;3178:12;;3121:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3121:43:208;;-1:-1:-1;;;3121:79:208:i;:::-;3075:125;;;;;;;;;3218:46;3229:17;3248:6;3256:7;3218:10;:46::i;:::-;3211:53;2888:383;-1:-1:-1;;;;;;;2888:383:208:o;1387:135::-;1478:37;;;;;;;;;;;;;;;;;1387:135;:::o;6179:233:220:-;-1:-1:-1;;;;;6348:50:220;;;:31;:50;;;;;;;;;;;:57;;;;;;;;;;;;6341:64;;;;;;;;;;;;;;;;;6300:25;;6341:64;;;6348:57;6341:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6179:233;;;;;:::o;1652:336:208:-;1832:34;;;1864:1;1832:34;;;;;;;;;1744:52;;1832:34;;;;;;;;;;;-1:-1:-1;1832:34:208;1812:54;;1899:47;1876:17;1894:1;1876:20;;;;;;;;;;;;;:70;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1652:336:208;:::o;3638:862::-;3771:13;3868:17;-1:-1:-1;;;;;3853:47:208;;:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;3836:77:208;;:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;3813:102:208;:7;-1:-1:-1;;;;;3813:102:208;;3796:215;;;-1:-1:-1;3996:4:208;3989:11;;3796:215;4021:24;4048:52;4073:17;4092:7;4048:24;:52::i;:::-;4021:79;;4115:7;:14;4133:1;4115:19;4111:139;;;4234:5;4227:12;;;;;4111:139;-1:-1:-1;;4264:7:208;4272:1;4264:10;;;;;;;;;;;;;;:25;4260:151;;;4396:4;4389:11;;;;;4260:151;4428:65;;-1:-1:-1;;;4428:65:208;;-1:-1:-1;;;;;4428:30:208;:46;;;;:65;;4475:7;;4484:8;;4428:65;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4421:72;;;3638:862;;;;;;:::o;941:83:223:-;;:::o;6755:113::-;6847:14;6755:113;:::o;1856:483:220:-;1978:22;2002:24;2030:62;2066:16;;2030:22;:62::i;:::-;1977:115;;;;2127:9;:16;2111:5;:12;:32;2103:81;;;;-1:-1:-1;;;2103:81:220;;;;;;;:::i;:::-;2200:9;2195:138;2215:9;:16;2211:1;:20;2195:138;;;2252:70;2280:17;2299:5;2305:1;2299:8;;;;;;;;;;;;;;2309:9;2319:1;2309:12;;;;;;;;;;;;;;2252:27;:70::i;:::-;2233:3;;2195:138;;;;1856:483;;;;;:::o;4190:604:223:-;4333:15;4362:16;4392;4422:32;4468:38;4520:29;4563:35;4670:15;4642:145;;;;;;;;;;;;:::i;:::-;4623:164;;;;-1:-1:-1;4623:164:223;;-1:-1:-1;4623:164:223;;-1:-1:-1;4623:164:223;-1:-1:-1;4623:164:223;-1:-1:-1;4623:164:223;;-1:-1:-1;4190:604:223;-1:-1:-1;;4190:604:223:o;3264:241:220:-;3375:23;;3448:50;;;;3459:16;3448:50;:::i;:::-;3441:57;;;;3264:241;;;;;;:::o;4106:1784::-;4258:32;4292:27;4323:54;4358:9;4323:21;:54::i;:::-;-1:-1:-1;;;;;4450:50:220;;;4517:1;4450:50;;;;;;;;;;;:57;;;;;;;;;:64;4257:120;;-1:-1:-1;4257:120:220;-1:-1:-1;4450:68:220;4446:163;;-1:-1:-1;;;;;4541:50:220;;;:31;:50;;;;;;;;;;;:57;;;;;;;;;;;4534:64;;;:::i;:::-;4619:28;4689:12;:19;4664:15;:22;:44;-1:-1:-1;;;;;4650:59:220;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4650:59:220;-1:-1:-1;4724:18:220;;4619:90;;-1:-1:-1;4724:22:220;4720:1087;;4897:9;4892:217;4912:15;:22;4908:1;:26;4892:217;;;4976:15;4992:1;4976:18;;;;;;;;;;;;;;4959:11;4971:1;4959:14;;;;;;;;;;;;;;;;;;:35;;;;-1:-1:-1;;;;;5012:50:220;;;:31;:50;;;;;;;;;;:57;;;;;;;;;;;5075:18;;:15;;5091:1;;5075:18;;;;;;;;;;;;;;;;;5012:82;;;;;;;;-1:-1:-1;5012:82:220;;;;;;;;;;;;;;4936:3;4892:217;;;-1:-1:-1;5171:19:220;;:23;5167:630;;5214:18;5250:17;-1:-1:-1;;;;;5235:47:220;;:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5214:70;;5307:9;5302:481;5322:12;:19;5318:1;:23;5302:481;;;5370:24;5422:1;5397:15;:22;:26;5370:53;;5477:126;5530:10;5566:12;5579:1;5566:15;;;;;;;;;;;;;;5477:27;:126::i;:::-;5445:11;5457:16;5445:29;;;;;;;;;;;;;;;;;;:158;;;;-1:-1:-1;;;;;5625:50:220;;;:31;:50;;;;;;;;;;:57;;;;;;;;;;;5713:29;;:11;;5725:16;;5713:29;;;;;;;;;;;;;;;;;5625:139;;;;;;;;-1:-1:-1;5625:139:220;;;;;;;;;;;;;;5343:3;;;;;-1:-1:-1;5302:481:220;;;;5167:630;;5864:5;-1:-1:-1;;;;;5822:61:220;5845:17;-1:-1:-1;;;;;5822:61:220;;5871:11;5822:61;;;;;;:::i;:::-;;;;;;;;4106:1784;;;;;;:::o;3585:237::-;3686:33;3721:28;3783:9;3772:43;;;;;;;;;;;;:::i;:::-;3765:50;;;;3585:237;;;:::o;2428:398::-;2546:15;2591:41;2646:29;2688:33;2708:12;2688:19;:33::i;:::-;2739:80;;-1:-1:-1;;;2739:80:220;;2577:144;;-1:-1:-1;2577:144:220;-1:-1:-1;;;;;;2739:30:220;:41;;;;:80;;2781:11;;2577:144;;;;2739:80;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2732:87;2428:398;-1:-1:-1;;;;;2428:398:220:o;2898:275::-;3000:42;3044:30;3108:12;3097:69;;;;;;;;;;;;:::i;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5:130::-;72:20;;97:33;72:20;97:33;:::i;142:134::-;220:13;;238:33;220:13;238:33;:::i;458:707::-;;575:3;568:4;560:6;556:17;552:27;542:2;;593:1;590;583:12;542:2;630:6;617:20;652:80;667:64;724:6;667:64;:::i;:::-;652:80;:::i;:::-;643:89;;749:5;774:6;767:5;760:21;804:4;796:6;792:17;782:27;;826:4;821:3;817:14;810:21;;879:6;926:3;918:4;910:6;906:17;901:3;897:27;894:36;891:2;;;943:1;940;933:12;891:2;968:1;953:206;978:6;975:1;972:13;953:206;;;1036:3;1058:37;1091:3;1079:10;1058:37;:::i;:::-;1046:50;;-1:-1;1119:4;1110:14;;;;1138;;;;;1000:1;993:9;953:206;;;957:14;535:630;;;;;;;:::o;1191:722::-;;1319:3;1312:4;1304:6;1300:17;1296:27;1286:2;;1337:1;1334;1327:12;1286:2;1367:6;1361:13;1389:80;1404:64;1461:6;1404:64;:::i;1389:80::-;1380:89;;1486:5;1511:6;1504:5;1497:21;1541:4;1533:6;1529:17;1519:27;;1563:4;1558:3;1554:14;1547:21;;1616:6;1663:3;1655:4;1647:6;1643:17;1638:3;1634:27;1631:36;1628:2;;;1680:1;1677;1670:12;1628:2;1705:1;1690:217;1715:6;1712:1;1709:13;1690:217;;;1773:3;1795:48;1839:3;1827:10;1795:48;:::i;:::-;1783:61;;-1:-1;1867:4;1858:14;;;;1886;;;;;1737:1;1730:9;1690:217;;1937:705;;2063:3;2056:4;2048:6;2044:17;2040:27;2030:2;;2081:1;2078;2071:12;2030:2;2118:6;2105:20;2140:89;2155:73;2221:6;2155:73;:::i;2140:89::-;2257:21;;;2301:4;2289:17;;;;2131:98;;-1:-1;2314:14;;2289:17;2409:1;2394:242;2419:6;2416:1;2413:13;2394:242;;;2502:3;2489:17;2481:6;2477:30;2526:46;2568:3;2556:10;2526:46;:::i;:::-;2514:59;;-1:-1;2596:4;2587:14;;;;2615;;;;;2441:1;2434:9;2394:242;;2666:713;;2803:3;2796:4;2788:6;2784:17;2780:27;2770:2;;2821:1;2818;2811:12;2770:2;2851:6;2845:13;2873:89;2888:73;2954:6;2888:73;:::i;2873:89::-;2990:21;;;3034:4;3022:17;;;;2864:98;;-1:-1;3047:14;;3022:17;3142:1;3127:246;3152:6;3149:1;3146:13;3127:246;;;3228:3;3222:10;3214:6;3210:23;3252:57;3305:3;3293:10;3252:57;:::i;:::-;3240:70;;-1:-1;3333:4;3324:14;;;;3352;;;;;3174:1;3167:9;3127:246;;3405:722;;3533:3;3526:4;3518:6;3514:17;3510:27;3500:2;;3551:1;3548;3541:12;3500:2;3581:6;3575:13;3603:80;3618:64;3675:6;3618:64;:::i;3603:80::-;3594:89;;3700:5;3725:6;3718:5;3711:21;3755:4;3747:6;3743:17;3733:27;;3777:4;3772:3;3768:14;3761:21;;3830:6;3877:3;3869:4;3861:6;3857:17;3852:3;3848:27;3845:36;3842:2;;;3894:1;3891;3884:12;3842:2;3919:1;3904:217;3929:6;3926:1;3923:13;3904:217;;;3987:3;4009:48;4053:3;4041:10;4009:48;:::i;:::-;3997:61;;-1:-1;4081:4;4072:14;;;;4100;;;;;3951:1;3944:9;3904:217;;4135:128;4210:13;;4228:30;4210:13;4228:30;:::i;4270:132::-;4347:13;;4365:32;4347:13;4365:32;:::i;4423:336::-;;;4537:3;4530:4;4522:6;4518:17;4514:27;4504:2;;4555:1;4552;4545:12;4504:2;-1:-1;4575:20;;-1:-1;;;;;4604:30;;4601:2;;;4647:1;4644;4637:12;4601:2;4681:4;4673:6;4669:17;4657:29;;4732:3;4724:4;4716:6;4712:17;4702:8;4698:32;4695:41;4692:2;;;4749:1;4746;4739:12;4768:440;;4869:3;4862:4;4854:6;4850:17;4846:27;4836:2;;4887:1;4884;4877:12;4836:2;4924:6;4911:20;4946:64;4961:48;5002:6;4961:48;:::i;4946:64::-;4937:73;;5030:6;5023:5;5016:21;5066:4;5058:6;5054:17;5099:4;5092:5;5088:16;5134:3;5125:6;5120:3;5116:16;5113:25;5110:2;;;5151:1;5148;5141:12;5110:2;5161:41;5195:6;5190:3;5185;5161:41;:::i;:::-;4829:379;;;;;;;:::o;5217:442::-;;5329:3;5322:4;5314:6;5310:17;5306:27;5296:2;;5347:1;5344;5337:12;5296:2;5377:6;5371:13;5399:64;5414:48;5455:6;5414:48;:::i;5399:64::-;5390:73;;5483:6;5476:5;5469:21;5519:4;5511:6;5507:17;5552:4;5545:5;5541:16;5587:3;5578:6;5573:3;5569:16;5566:25;5563:2;;;5604:1;5601;5594:12;5563:2;5614:39;5646:6;5641:3;5636;5614:39;:::i;5667:162::-;5750:20;;5775:49;5750:20;5775:49;:::i;5836:164::-;5929:13;;5947:48;5929:13;5947:48;:::i;6007:134::-;6085:13;;6103:33;6085:13;6103:33;:::i;6148:241::-;;6252:2;6240:9;6231:7;6227:23;6223:32;6220:2;;;6268:1;6265;6258:12;6220:2;6303:1;6320:53;6365:7;6345:9;6320:53;:::i;:::-;6310:63;6214:175;-1:-1;;;;6214:175::o;6396:263::-;;6511:2;6499:9;6490:7;6486:23;6482:32;6479:2;;;6527:1;6524;6517:12;6479:2;6562:1;6579:64;6635:7;6615:9;6579:64;:::i;6666:1629::-;;;;;;;;6998:3;6986:9;6977:7;6973:23;6969:33;6966:2;;;7015:1;7012;7005:12;6966:2;7050:1;7067:72;7131:7;7111:9;7067:72;:::i;:::-;7057:82;;7029:116;7176:2;7194:72;7258:7;7249:6;7238:9;7234:22;7194:72;:::i;:::-;7184:82;;7155:117;7303:2;7321:63;7376:7;7367:6;7356:9;7352:22;7321:63;:::i;:::-;7311:73;;7282:108;7442:2;7431:9;7427:18;7421:25;-1:-1;;;;;7458:6;7455:30;7452:2;;;7498:1;7495;7488:12;7452:2;7518:89;7599:7;7590:6;7579:9;7575:22;7518:89;:::i;:::-;7508:99;;7400:213;7665:3;7654:9;7650:19;7644:26;-1:-1;;;;;7682:6;7679:30;7676:2;;;7722:1;7719;7712:12;7676:2;7742:89;7823:7;7814:6;7803:9;7799:22;7742:89;:::i;:::-;7732:99;;7623:214;7889:3;7878:9;7874:19;7868:26;-1:-1;;;;;7906:6;7903:30;7900:2;;;7946:1;7943;7936:12;7900:2;7966:89;8047:7;8038:6;8027:9;8023:22;7966:89;:::i;:::-;7956:99;;7847:214;8113:3;8102:9;8098:19;8092:26;-1:-1;;;;;8130:6;8127:30;8124:2;;;8170:1;8167;8160:12;8124:2;8190:89;8271:7;8262:6;8251:9;8247:22;8190:89;:::i;:::-;8180:99;;8071:214;6960:1335;;;;;;;;;;:::o;8302:366::-;;;8423:2;8411:9;8402:7;8398:23;8394:32;8391:2;;;8439:1;8436;8429:12;8391:2;8474:1;8491:53;8536:7;8516:9;8491:53;:::i;:::-;8481:63;;8453:97;8581:2;8599:53;8644:7;8635:6;8624:9;8620:22;8599:53;:::i;:::-;8589:63;;8560:98;8385:283;;;;;:::o;8675:491::-;;;;8813:2;8801:9;8792:7;8788:23;8784:32;8781:2;;;8829:1;8826;8819:12;8781:2;8864:1;8881:53;8926:7;8906:9;8881:53;:::i;:::-;8871:63;;8843:97;8971:2;8989:53;9034:7;9025:6;9014:9;9010:22;8989:53;:::i;:::-;8979:63;;8950:98;9079:2;9097:53;9142:7;9133:6;9122:9;9118:22;9097:53;:::i;:::-;9087:63;;9058:98;8775:391;;;;;:::o;9173:490::-;;;;9313:2;9301:9;9292:7;9288:23;9284:32;9281:2;;;9329:1;9326;9319:12;9281:2;9364:1;9381:53;9426:7;9406:9;9381:53;:::i;:::-;9371:63;;9343:97;9499:2;9488:9;9484:18;9471:32;-1:-1;;;;;9515:6;9512:30;9509:2;;;9555:1;9552;9545:12;9509:2;9583:64;9639:7;9630:6;9619:9;9615:22;9583:64;:::i;:::-;9565:82;;;;9450:203;9275:388;;;;;:::o;9670:647::-;;;;;9843:2;9831:9;9822:7;9818:23;9814:32;9811:2;;;9859:1;9856;9849:12;9811:2;9894:1;9911:53;9956:7;9936:9;9911:53;:::i;:::-;9901:63;;9873:97;10001:2;10019:69;10080:7;10071:6;10060:9;10056:22;10019:69;:::i;:::-;10009:79;;9980:114;10153:2;10142:9;10138:18;10125:32;-1:-1;;;;;10169:6;10166:30;10163:2;;;10209:1;10206;10199:12;10163:2;10237:64;10293:7;10284:6;10273:9;10269:22;10237:64;:::i;:::-;9805:512;;;;-1:-1;10219:82;-1:-1;;;;9805:512::o;10324:656::-;;;10504:2;10492:9;10483:7;10479:23;10475:32;10472:2;;;10520:1;10517;10510:12;10472:2;10555:31;;-1:-1;;;;;10595:30;;10592:2;;;10638:1;10635;10628:12;10592:2;10658:78;10728:7;10719:6;10708:9;10704:22;10658:78;:::i;:::-;10648:88;;10534:208;10801:2;10790:9;10786:18;10773:32;-1:-1;;;;;10817:6;10814:30;10811:2;;;10857:1;10854;10847:12;10811:2;10877:87;10956:7;10947:6;10936:9;10932:22;10877:87;:::i;10987:675::-;;;11178:2;11166:9;11157:7;11153:23;11149:32;11146:2;;;11194:1;11191;11184:12;11146:2;11229:24;;-1:-1;;;;;11262:30;;11259:2;;;11305:1;11302;11295:12;11259:2;11325:89;11406:7;11397:6;11386:9;11382:22;11325:89;:::i;:::-;11315:99;;11208:212;11472:2;11461:9;11457:18;11451:25;-1:-1;;;;;11488:6;11485:30;11482:2;;;11528:1;11525;11518:12;11482:2;11548:98;11638:7;11629:6;11618:9;11614:22;11548:98;:::i;11669:257::-;;11781:2;11769:9;11760:7;11756:23;11752:32;11749:2;;;11797:1;11794;11787:12;11749:2;11832:1;11849:61;11902:7;11882:9;11849:61;:::i;11933:558::-;;;12105:2;12093:9;12084:7;12080:23;12076:32;12073:2;;;12121:1;12118;12111:12;12073:2;12156:1;12173:79;12244:7;12224:9;12173:79;:::i;:::-;12163:89;;12135:123;12310:2;12299:9;12295:18;12289:25;-1:-1;;;;;12326:6;12323:30;12320:2;;;12366:1;12363;12356:12;12320:2;12386:89;12467:7;12458:6;12447:9;12443:22;12386:89;:::i;12498:263::-;;12613:2;12601:9;12592:7;12588:23;12584:32;12581:2;;;12629:1;12626;12619:12;12581:2;12664:1;12681:64;12737:7;12717:9;12681:64;:::i;12769:173::-;;12856:46;12898:3;12890:6;12856:46;:::i;:::-;-1:-1;;12931:4;12922:14;;12849:93::o;12951:201::-;;13052:60;13108:3;13100:6;13052:60;:::i;13161:173::-;;13248:46;13290:3;13282:6;13248:46;:::i;13342:103::-;13415:24;13433:5;13415:24;:::i;:::-;13410:3;13403:37;13397:48;;:::o;13603:690::-;;13748:54;13796:5;13748:54;:::i;:::-;13815:86;13894:6;13889:3;13815:86;:::i;:::-;13808:93;;13922:56;13972:5;13922:56;:::i;:::-;13998:7;14026:1;14011:260;14036:6;14033:1;14030:13;14011:260;;;14103:6;14097:13;14124:63;14183:3;14168:13;14124:63;:::i;:::-;14117:70;;14204:60;14257:6;14204:60;:::i;:::-;14194:70;-1:-1;;14058:1;14051:9;14011:260;;;-1:-1;14284:3;;13727:566;-1:-1;;;;;13727:566::o;14353:764::-;;14512:70;14576:5;14512:70;:::i;:::-;14595:84;14672:6;14667:3;14595:84;:::i;:::-;14588:91;;14700:72;14766:5;14700:72;:::i;:::-;14792:7;14820:1;14805:290;14830:6;14827:1;14824:13;14805:290;;;14897:6;14891:13;14918:77;14991:3;14976:13;14918:77;:::i;:::-;14911:84;;15012:76;15081:6;15012:76;:::i;:::-;15002:86;-1:-1;;14852:1;14845:9;14805:290;;15156:690;;15301:54;15349:5;15301:54;:::i;:::-;15368:86;15447:6;15442:3;15368:86;:::i;:::-;15361:93;;15475:56;15525:5;15475:56;:::i;:::-;15551:7;15579:1;15564:260;15589:6;15586:1;15583:13;15564:260;;;15656:6;15650:13;15677:63;15736:3;15721:13;15677:63;:::i;:::-;15670:70;;15757:60;15810:6;15757:60;:::i;:::-;15747:70;-1:-1;;15611:1;15604:9;15564:260;;15854:104;15931:21;15946:5;15931:21;:::i;15965:144::-;16052:51;16097:5;16052:51;:::i;16116:152::-;16212:50;16256:5;16212:50;:::i;16275:347::-;;16387:39;16420:5;16387:39;:::i;:::-;16438:71;16502:6;16497:3;16438:71;:::i;:::-;16431:78;;16514:52;16559:6;16554:3;16547:4;16540:5;16536:16;16514:52;:::i;:::-;16587:29;16609:6;16587:29;:::i;:::-;16578:39;;;;16367:255;-1:-1;;;16367:255::o;16630:373::-;;16790:67;16854:2;16849:3;16790:67;:::i;:::-;16890:34;16870:55;;-1:-1;;;16954:2;16945:12;;16938:28;16994:2;16985:12;;16776:227;-1:-1;;16776:227::o;17012:378::-;;17172:67;17236:2;17231:3;17172:67;:::i;:::-;17272:34;17252:55;;-1:-1;;;17336:2;17327:12;;17320:33;17381:2;17372:12;;17158:232;-1:-1;;17158:232::o;17398:103::-;17471:24;17489:5;17471:24;:::i;17628:222::-;17755:2;17740:18;;17769:71;17744:9;17813:6;17769:71;:::i;17857:618::-;18103:2;18088:18;;18117:71;18092:9;18161:6;18117:71;:::i;:::-;18199:85;18280:2;18269:9;18265:18;18256:6;18199:85;:::i;:::-;18332:9;18326:4;18322:20;18317:2;18306:9;18302:18;18295:48;18357:108;18460:4;18451:6;18357:108;:::i;18482:398::-;18673:2;18687:47;;;18658:18;;18748:122;18658:18;18856:6;18748:122;:::i;18887:370::-;19064:2;19078:47;;;19049:18;;19139:108;19049:18;19233:6;19139:108;:::i;19264:481::-;19469:2;19483:47;;;19454:18;;19544:108;19454:18;19638:6;19544:108;:::i;:::-;19536:116;;19663:72;19731:2;19720:9;19716:18;19707:6;19663:72;:::i;19752:210::-;19873:2;19858:18;;19887:65;19862:9;19925:6;19887:65;:::i;19969:310::-;20116:2;20130:47;;;20101:18;;20191:78;20101:18;20255:6;20191:78;:::i;20286:416::-;20486:2;20500:47;;;20471:18;;20561:131;20471:18;20561:131;:::i;20709:416::-;20909:2;20923:47;;;20894:18;;20984:131;20894:18;20984:131;:::i;21132:222::-;21259:2;21244:18;;21273:71;21248:9;21317:6;21273:71;:::i;21361:256::-;21423:2;21417:9;21449:17;;;-1:-1;;;;;21509:34;;21545:22;;;21506:62;21503:2;;;21581:1;21578;21571:12;21503:2;21597;21590:22;21401:216;;-1:-1;21401:216::o;21624:304::-;;-1:-1;;;;;21775:6;21772:30;21769:2;;;21815:1;21812;21805:12;21769:2;-1:-1;21850:4;21838:17;;;21903:15;;21706:222::o;22566:321::-;;-1:-1;;;;;22701:6;22698:30;22695:2;;;22741:1;22738;22731:12;22695:2;-1:-1;22872:4;22808;22785:17;;;;-1:-1;;22781:33;22862:15;;22632:255::o;22894:151::-;23018:4;23009:14;;22966:79::o;23384:137::-;23487:12;;23458:63::o;24323:178::-;24441:19;;;24490:4;24481:14;;24434:67::o;25053:91::-;;25115:24;25133:5;25115:24;:::i;25257:85::-;25323:13;25316:21;;25299:43::o;25349:144::-;-1:-1;;;;;;25410:78;;25393:100::o;25500:138::-;25578:5;25584:49;25578:5;25584:49;:::i;:::-;25561:77;;;:::o;25645:136::-;25722:5;25728:48;25722:5;25728:48;:::i;25788:121::-;-1:-1;;;;;25850:54;;25833:76::o;25916:72::-;25978:5;25961:27::o;25995:138::-;;26088:40;26122:5;26088:40;:::i;26140:136::-;;26232:39;26265:5;26232:39;:::i;26284:145::-;26365:6;26360:3;26355;26342:30;-1:-1;26421:1;26403:16;;26396:27;26335:94::o;26438:268::-;26503:1;26510:101;26524:6;26521:1;26518:13;26510:101;;;26591:11;;;26585:18;26572:11;;;26565:39;26546:2;26539:10;26510:101;;;26626:6;26623:1;26620:13;26617:2;;;26691:1;26682:6;26677:3;26673:16;26666:27;26617:2;26487:219;;;;:::o;26714:97::-;26802:2;26782:14;-1:-1;;26778:28;;26762:49::o;26819:108::-;26904:2;26897:5;26894:13;26884:2;;26911:9;26934:106;27018:1;27011:5;27008:12;26998:2;;27024:9;27047:117;27116:24;27134:5;27116:24;:::i;:::-;27109:5;27106:35;27096:2;;27155:1;27152;27145:12;27311:111;27377:21;27392:5;27377:21;:::i;27429:115::-;27497:23;27514:5;27497:23;:::i;27551:111::-;27636:2;27629:5;27626:13;27616:2;;27653:1;27650;27643:12;27669:109;27753:1;27746:5;27743:12;27733:2;;27769:1;27766;27759:12;27785:117;27854:24;27872:5;27854:24;:::i", "linkReferences": {}, "immutableReferences": { "59171": [ { "start": 1224, "length": 32 }, { "start": 2411, "length": 32 } ], "59893": [ { "start": 409, "length": 32 }, { "start": 1375, "length": 32 } ] } }, "methodIdentifiers": { "BYPASS_FLAG()": "572a45e1", "activateForFund(address)": "ceb9a0ad", "addFundSettings(address,bytes)": "0f5f6b4f", "canDisable()": "1ef92578", "getListIdsForFundAndUser(address,address)": "b174666c", "getPolicyManager()": "d44ad6cb", "identifier()": "7998a1c4", "implementedHooks()": "cbf54bb2", "passesRule(address,address,address)": "ccdf1caf", "updateFundSettings(address,bytes)": "0d4d7510", "validateRule(address,uint8,bytes)": "579be718" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_policyManager\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_addressListRegistry\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"listIds\",\"type\":\"uint256[]\"}],\"name\":\"ListsSetForFundAndUser\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"BYPASS_FLAG\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"activateForFund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_encodedSettings\",\"type\":\"bytes\"}],\"name\":\"addFundSettings\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"canDisable\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"canDisable_\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"getListIdsForFundAndUser\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"listIds_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPolicyManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"policyManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"identifier\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"identifier_\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"implementedHooks\",\"outputs\":[{\"internalType\":\"enum IPolicyManager.PolicyHook[]\",\"name\":\"implementedHooks_\",\"type\":\"uint8[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_caller\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_adapter\",\"type\":\"address\"}],\"name\":\"passesRule\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isValid_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_encodedSettings\",\"type\":\"bytes\"}],\"name\":\"updateFundSettings\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"enum IPolicyManager.PolicyHook\",\"name\":\"\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"_encodedArgs\",\"type\":\"bytes\"}],\"name\":\"validateRule\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isValid_\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"activateForFund(address)\":{\"details\":\"Unimplemented by default, can be overridden by the policy\"},\"addFundSettings(address,bytes)\":{\"params\":{\"_comptrollerProxy\":\"The fund's ComptrollerProxy address\",\"_encodedSettings\":\"Encoded settings to apply to a fund\"}},\"canDisable()\":{\"returns\":{\"canDisable_\":\"True if the policy can be disabled\"}},\"getListIdsForFundAndUser(address,address)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\",\"_user\":\"The user of the fund\"},\"returns\":{\"listIds_\":\"The list ids\"}},\"getPolicyManager()\":{\"returns\":{\"policyManager_\":\"The `POLICY_MANAGER` variable value\"}},\"identifier()\":{\"returns\":{\"identifier_\":\"The identifer string\"}},\"implementedHooks()\":{\"returns\":{\"implementedHooks_\":\"The implemented PolicyHooks\"}},\"passesRule(address,address,address)\":{\"params\":{\"_adapter\":\"The adapter for which to check the rule\",\"_caller\":\"The caller for which to check the rule\",\"_comptrollerProxy\":\"The fund's ComptrollerProxy address\"},\"returns\":{\"isValid_\":\"True if the rule passes\"}},\"updateFundSettings(address,bytes)\":{\"details\":\"Assigns a new array of lists (does not add/remove lists nor update items in a list)\",\"params\":{\"_comptrollerProxy\":\"The fund's ComptrollerProxy address\",\"_encodedSettings\":\"Encoded settings to apply to a fund\"}},\"validateRule(address,uint8,bytes)\":{\"details\":\"onlyPolicyManager validation not necessary, as state is not updated and no events are fired\",\"params\":{\"_comptrollerProxy\":\"The fund's ComptrollerProxy address\",\"_encodedArgs\":\"Encoded args with which to validate the rule\"},\"returns\":{\"isValid_\":\"True if the rule passes\"}}},\"title\":\"AllowedAdaptersPerManagerPolicy Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"activateForFund(address)\":{\"notice\":\"Validates and initializes a policy as necessary prior to fund activation\"},\"addFundSettings(address,bytes)\":{\"notice\":\"Adds the initial policy settings for a fund\"},\"canDisable()\":{\"notice\":\"Whether or not the policy can be disabled\"},\"getListIdsForFundAndUser(address,address)\":{\"notice\":\"Gets the list ids used by a given fund and user\"},\"getPolicyManager()\":{\"notice\":\"Gets the `POLICY_MANAGER` variable value\"},\"identifier()\":{\"notice\":\"Provides a constant string identifier for a policy\"},\"implementedHooks()\":{\"notice\":\"Gets the implemented PolicyHooks for a policy\"},\"passesRule(address,address,address)\":{\"notice\":\"Checks whether a particular condition passes the rule for a particular fund\"},\"updateFundSettings(address,bytes)\":{\"notice\":\"Updates the policy settings for a fund\"},\"validateRule(address,uint8,bytes)\":{\"notice\":\"Apply the rule with the specified parameters of a PolicyHook\"}},\"notice\":\"A policy that limits which adapters an asset manager can use for a given fund\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/policy-manager/policies/asset-managers/AllowedAdaptersPerManagerPolicy.sol\":\"AllowedAdaptersPerManagerPolicy\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/address-list-registry/AddressListRegistry.sol\":{\"keccak256\":\"0xf00a9e376e3ec2a223f463f71c15ee3af3642dd028bc3762440e316b760c8048\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://01986c9327b5dfbfac21316dced6d68727931ddde1278ed1342d878004f984b9\",\"dweb:/ipfs/QmdXkFaUU43JqMTYEREbWa129rohdqN7GXy7mVRpjCfSLD\"]},\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/persistent/protocol-fee-reserve/interfaces/IProtocolFeeReserve1.sol\":{\"keccak256\":\"0x2728878c423db523bc95189137e8c58d2d7db9f56bbd5c6b1f988c08b551fbab\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3b0df1d2eb74151265d03ab91a7c341f7beca475dd2f4d669052dbc4ee2c06ac\",\"dweb:/ipfs/QmVx1cgrxQNYfdK1Kn15pcgqf79Uw8bF3U6i7F2HG2rj6G\"]},\"contracts/persistent/vault/VaultLibBase1.sol\":{\"keccak256\":\"0xa4dac1e4cdb311a2ab187135355357d8790c505ef36dd912c057fe53743d30b5\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b66efe821016ab927c949263023260515e90f5d480dc8d94eefbfeec7bf7490b\",\"dweb:/ipfs/QmNY3xKnhL9EptAbxGvXHGAXfV9pj3dDPwsZnKrPs54ZHw\"]},\"contracts/persistent/vault/VaultLibBase2.sol\":{\"keccak256\":\"0xf7d31f2a9a47770ed3f444be2c4fe9262ddb55fef7f25e546b1f03c9afec4c09\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9353ddce7c9b8b3c13fed23fe8edec99ca610d791b0c5b204b3d01f1f08d07d2\",\"dweb:/ipfs/QmeVsEh3joCjv49BRXeHASevnZZ5xdZXpkctHT8BPf37N2\"]},\"contracts/persistent/vault/VaultLibBaseCore.sol\":{\"keccak256\":\"0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd\",\"dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz\"]},\"contracts/persistent/vault/interfaces/IExternalPositionVault.sol\":{\"keccak256\":\"0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d\",\"dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8\"]},\"contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol\":{\"keccak256\":\"0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb\",\"dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU\"]},\"contracts/persistent/vault/interfaces/IMigratableVault.sol\":{\"keccak256\":\"0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6\",\"dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs\"]},\"contracts/persistent/vault/interfaces/IVaultCore.sol\":{\"keccak256\":\"0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd\",\"dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr\"]},\"contracts/persistent/vault/utils/ProxiableVaultLib.sol\":{\"keccak256\":\"0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44\",\"dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4\"]},\"contracts/persistent/vault/utils/SharesTokenBase.sol\":{\"keccak256\":\"0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8\",\"dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4\"]},\"contracts/persistent/vault/utils/VaultLibSafeMath.sol\":{\"keccak256\":\"0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02\",\"dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG\"]},\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/core/fund/comptroller/ComptrollerLib.sol\":{\"keccak256\":\"0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579\",\"dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq\"]},\"contracts/release/core/fund/comptroller/IComptroller.sol\":{\"keccak256\":\"0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97\",\"dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L\"]},\"contracts/release/core/fund/vault/IVault.sol\":{\"keccak256\":\"0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599\",\"dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG\"]},\"contracts/release/core/fund/vault/VaultLib.sol\":{\"keccak256\":\"0x07e49445ab55c01e1b499a48baadc2a15d1eba621f1c6d3ccfdb84c87b976da8\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://56d882459248f73e137db2e097fc56b946147fb28ec21661b77431f88e856cb4\",\"dweb:/ipfs/QmRP6Ry7DCS5uoKxnnkTomHSzbaCze6cHqbR9aLdjoF6vK\"]},\"contracts/release/extensions/IExtension.sol\":{\"keccak256\":\"0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70\",\"dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t\"]},\"contracts/release/extensions/external-position-manager/IExternalPositionManager.sol\":{\"keccak256\":\"0x3af3f634e1f99fb97091b7825c0d2e2baaafc124d4e87d56cb0c17ff8554f6c6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://515470605afe5ef147f30fa75ce7818f0e00e3d321eb81a4d9bffcdefc294495\",\"dweb:/ipfs/QmPKsp99pfHoz9Tfo3ZxnkmqDqJtN9PxqacF2RmeVfxUJF\"]},\"contracts/release/extensions/fee-manager/IFeeManager.sol\":{\"keccak256\":\"0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22\",\"dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod\"]},\"contracts/release/extensions/policy-manager/IPolicy.sol\":{\"keccak256\":\"0xc12663ca72065b256c3b934ab738fde26c147c7b0399de43650df89dd52ee467\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://be8fecfcba0f3fda615f0a1bb3c766750c23761ef751d7c4472dfe540e460cd1\",\"dweb:/ipfs/QmaarPoRTsX6NiJ8V4u2f3Qh6d7tUs28bw9R14An3t5Bs1\"]},\"contracts/release/extensions/policy-manager/IPolicyManager.sol\":{\"keccak256\":\"0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa\",\"dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb\"]},\"contracts/release/extensions/policy-manager/policies/asset-managers/AllowedAdaptersPerManagerPolicy.sol\":{\"keccak256\":\"0xf269138acf6b021e08606a861e9f2d41334711fec9ace49901f535100072703a\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6e540ee7f48aa19c01777e6bd1ee006c2b6adeda81b0bc02854e425852beb9b4\",\"dweb:/ipfs/QmfSjpJiMb31VpDZKnZEsxizMmxyHwixWNh64SDvxudaTh\"]},\"contracts/release/extensions/policy-manager/policies/utils/AddressListRegistryPerUserPolicyBase.sol\":{\"keccak256\":\"0x64c2bf7e45fa9337d198d99aaea1c0c57b05cc4b2e8783fd2d6275cac026ed84\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://20a3e36b4c666e5a1bc89557e82aed53b06a5942845ce5ba309896c221278f4a\",\"dweb:/ipfs/QmUjfEJUhZ4jBbyVsaLkC8SdHC86a9Vtvz2SXBmLe6pTza\"]},\"contracts/release/extensions/policy-manager/policies/utils/PolicyBase.sol\":{\"keccak256\":\"0x972311abb98f0da815b4aca83d5afdd219d3604ec19cf5e3773c0c305bd9b3f1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2452f3d1f3b1d8e8459a07489146a2d0d8a10463715937995cbe77ee5de8c069\",\"dweb:/ipfs/Qmf2hhd2DVbjpxmbNGAhRZNZkqpGZA2mX3eA1WNwtv6t5Y\"]},\"contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol\":{\"keccak256\":\"0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f\",\"dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol\":{\"keccak256\":\"0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0\",\"dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol\":{\"keccak256\":\"0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b\",\"dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3\"]},\"contracts/release/infrastructure/protocol-fees/IProtocolFeeTracker.sol\":{\"keccak256\":\"0x232b347f83457439064add7369bfe1930c7cb56f15930bb87d640e909c15e447\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://24f9af5eebdd373b1d7a598c096eb6def31b2640d54416d7d5a7226e1cef17e6\",\"dweb:/ipfs/QmStq9ByGuSYdKwTmZf52L1X6sZVJUfXTnoVbnjLLiUcHG\"]},\"contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol\":{\"keccak256\":\"0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965\",\"dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ\"]},\"contracts/release/interfaces/IGsnForwarder.sol\":{\"keccak256\":\"0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29\",\"dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G\"]},\"contracts/release/interfaces/IGsnPaymaster.sol\":{\"keccak256\":\"0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4\",\"dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF\"]},\"contracts/release/interfaces/IGsnTypes.sol\":{\"keccak256\":\"0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7\",\"dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C\"]},\"contracts/release/interfaces/IWETH.sol\":{\"keccak256\":\"0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2\",\"dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/beacon-proxy/IBeacon.sol\":{\"keccak256\":\"0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39\",\"dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V\"]},\"contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol\":{\"keccak256\":\"0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be\",\"dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20Burnable.sol\":{\"keccak256\":\"0x9c0eb3b0e11d2480d49991dc384f1e5f9c9b9967cc81944d50916a9b9c6c4984\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99e4033d778624992e86f0b6d801a4f6d7b5c0cd5c79c1296be90a051ad5f5af\",\"dweb:/ipfs/QmShYmkUqh6pDEeoWadZ24icmCr4C2Xys1uE5boivPmbwf\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_policyManager", "type": "address" }, { "internalType": "address", "name": "_addressListRegistry", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "comptrollerProxy", "type": "address", "indexed": true }, { "internalType": "address", "name": "user", "type": "address", "indexed": true }, { "internalType": "uint256[]", "name": "listIds", "type": "uint256[]", "indexed": false } ], "type": "event", "name": "ListsSetForFundAndUser", "anonymous": false }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "BYPASS_FLAG", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "activateForFund" }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" }, { "internalType": "bytes", "name": "_encodedSettings", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "addFundSettings" }, { "inputs": [], "stateMutability": "pure", "type": "function", "name": "canDisable", "outputs": [ { "internalType": "bool", "name": "canDisable_", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" }, { "internalType": "address", "name": "_user", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getListIdsForFundAndUser", "outputs": [ { "internalType": "uint256[]", "name": "listIds_", "type": "uint256[]" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getPolicyManager", "outputs": [ { "internalType": "address", "name": "policyManager_", "type": "address" } ] }, { "inputs": [], "stateMutability": "pure", "type": "function", "name": "identifier", "outputs": [ { "internalType": "string", "name": "identifier_", "type": "string" } ] }, { "inputs": [], "stateMutability": "pure", "type": "function", "name": "implementedHooks", "outputs": [ { "internalType": "enum IPolicyManager.PolicyHook[]", "name": "implementedHooks_", "type": "uint8[]" } ] }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" }, { "internalType": "address", "name": "_caller", "type": "address" }, { "internalType": "address", "name": "_adapter", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "passesRule", "outputs": [ { "internalType": "bool", "name": "isValid_", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" }, { "internalType": "bytes", "name": "_encodedSettings", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "updateFundSettings" }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" }, { "internalType": "enum IPolicyManager.PolicyHook", "name": "", "type": "uint8" }, { "internalType": "bytes", "name": "_encodedArgs", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "validateRule", "outputs": [ { "internalType": "bool", "name": "isValid_", "type": "bool" } ] } ], "devdoc": { "kind": "dev", "methods": { "activateForFund(address)": { "details": "Unimplemented by default, can be overridden by the policy" }, "addFundSettings(address,bytes)": { "params": { "_comptrollerProxy": "The fund's ComptrollerProxy address", "_encodedSettings": "Encoded settings to apply to a fund" } }, "canDisable()": { "returns": { "canDisable_": "True if the policy can be disabled" } }, "getListIdsForFundAndUser(address,address)": { "params": { "_comptrollerProxy": "The ComptrollerProxy of the fund", "_user": "The user of the fund" }, "returns": { "listIds_": "The list ids" } }, "getPolicyManager()": { "returns": { "policyManager_": "The `POLICY_MANAGER` variable value" } }, "identifier()": { "returns": { "identifier_": "The identifer string" } }, "implementedHooks()": { "returns": { "implementedHooks_": "The implemented PolicyHooks" } }, "passesRule(address,address,address)": { "params": { "_adapter": "The adapter for which to check the rule", "_caller": "The caller for which to check the rule", "_comptrollerProxy": "The fund's ComptrollerProxy address" }, "returns": { "isValid_": "True if the rule passes" } }, "updateFundSettings(address,bytes)": { "details": "Assigns a new array of lists (does not add/remove lists nor update items in a list)", "params": { "_comptrollerProxy": "The fund's ComptrollerProxy address", "_encodedSettings": "Encoded settings to apply to a fund" } }, "validateRule(address,uint8,bytes)": { "details": "onlyPolicyManager validation not necessary, as state is not updated and no events are fired", "params": { "_comptrollerProxy": "The fund's ComptrollerProxy address", "_encodedArgs": "Encoded args with which to validate the rule" }, "returns": { "isValid_": "True if the rule passes" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "activateForFund(address)": { "notice": "Validates and initializes a policy as necessary prior to fund activation" }, "addFundSettings(address,bytes)": { "notice": "Adds the initial policy settings for a fund" }, "canDisable()": { "notice": "Whether or not the policy can be disabled" }, "getListIdsForFundAndUser(address,address)": { "notice": "Gets the list ids used by a given fund and user" }, "getPolicyManager()": { "notice": "Gets the `POLICY_MANAGER` variable value" }, "identifier()": { "notice": "Provides a constant string identifier for a policy" }, "implementedHooks()": { "notice": "Gets the implemented PolicyHooks for a policy" }, "passesRule(address,address,address)": { "notice": "Checks whether a particular condition passes the rule for a particular fund" }, "updateFundSettings(address,bytes)": { "notice": "Updates the policy settings for a fund" }, "validateRule(address,uint8,bytes)": { "notice": "Apply the rule with the specified parameters of a PolicyHook" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/policy-manager/policies/asset-managers/AllowedAdaptersPerManagerPolicy.sol": "AllowedAdaptersPerManagerPolicy" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/address-list-registry/AddressListRegistry.sol": { "keccak256": "0xf00a9e376e3ec2a223f463f71c15ee3af3642dd028bc3762440e316b760c8048", "urls": [ "bzz-raw://01986c9327b5dfbfac21316dced6d68727931ddde1278ed1342d878004f984b9", "dweb:/ipfs/QmdXkFaUU43JqMTYEREbWa129rohdqN7GXy7mVRpjCfSLD" ], "license": "GPL-3.0" }, "contracts/persistent/dispatcher/IDispatcher.sol": { "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", "urls": [ "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" ], "license": "GPL-3.0" }, "contracts/persistent/external-positions/IExternalPosition.sol": { "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", "urls": [ "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" ], "license": "GPL-3.0" }, "contracts/persistent/protocol-fee-reserve/interfaces/IProtocolFeeReserve1.sol": { "keccak256": "0x2728878c423db523bc95189137e8c58d2d7db9f56bbd5c6b1f988c08b551fbab", "urls": [ "bzz-raw://3b0df1d2eb74151265d03ab91a7c341f7beca475dd2f4d669052dbc4ee2c06ac", "dweb:/ipfs/QmVx1cgrxQNYfdK1Kn15pcgqf79Uw8bF3U6i7F2HG2rj6G" ], "license": "GPL-3.0" }, "contracts/persistent/vault/VaultLibBase1.sol": { "keccak256": "0xa4dac1e4cdb311a2ab187135355357d8790c505ef36dd912c057fe53743d30b5", "urls": [ "bzz-raw://b66efe821016ab927c949263023260515e90f5d480dc8d94eefbfeec7bf7490b", "dweb:/ipfs/QmNY3xKnhL9EptAbxGvXHGAXfV9pj3dDPwsZnKrPs54ZHw" ], "license": "GPL-3.0" }, "contracts/persistent/vault/VaultLibBase2.sol": { "keccak256": "0xf7d31f2a9a47770ed3f444be2c4fe9262ddb55fef7f25e546b1f03c9afec4c09", "urls": [ "bzz-raw://9353ddce7c9b8b3c13fed23fe8edec99ca610d791b0c5b204b3d01f1f08d07d2", "dweb:/ipfs/QmeVsEh3joCjv49BRXeHASevnZZ5xdZXpkctHT8BPf37N2" ], "license": "GPL-3.0" }, "contracts/persistent/vault/VaultLibBaseCore.sol": { "keccak256": "0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074", "urls": [ "bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd", "dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IExternalPositionVault.sol": { "keccak256": "0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6", "urls": [ "bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d", "dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol": { "keccak256": "0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0", "urls": [ "bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb", "dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IMigratableVault.sol": { "keccak256": "0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238", "urls": [ "bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6", "dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IVaultCore.sol": { "keccak256": "0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80", "urls": [ "bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd", "dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr" ], "license": "GPL-3.0" }, "contracts/persistent/vault/utils/ProxiableVaultLib.sol": { "keccak256": "0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76", "urls": [ "bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44", "dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4" ], "license": "GPL-3.0" }, "contracts/persistent/vault/utils/SharesTokenBase.sol": { "keccak256": "0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113", "urls": [ "bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8", "dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4" ], "license": "GPL-3.0" }, "contracts/persistent/vault/utils/VaultLibSafeMath.sol": { "keccak256": "0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d", "urls": [ "bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02", "dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG" ], "license": "GPL-3.0" }, "contracts/release/core/fund-deployer/IFundDeployer.sol": { "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", "urls": [ "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" ], "license": "GPL-3.0" }, "contracts/release/core/fund/comptroller/ComptrollerLib.sol": { "keccak256": "0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64", "urls": [ "bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579", "dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq" ], "license": "GPL-3.0" }, "contracts/release/core/fund/comptroller/IComptroller.sol": { "keccak256": "0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f", "urls": [ "bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97", "dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L" ], "license": "GPL-3.0" }, "contracts/release/core/fund/vault/IVault.sol": { "keccak256": "0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd", "urls": [ "bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599", "dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG" ], "license": "GPL-3.0" }, "contracts/release/core/fund/vault/VaultLib.sol": { "keccak256": "0x07e49445ab55c01e1b499a48baadc2a15d1eba621f1c6d3ccfdb84c87b976da8", "urls": [ "bzz-raw://56d882459248f73e137db2e097fc56b946147fb28ec21661b77431f88e856cb4", "dweb:/ipfs/QmRP6Ry7DCS5uoKxnnkTomHSzbaCze6cHqbR9aLdjoF6vK" ], "license": "GPL-3.0" }, "contracts/release/extensions/IExtension.sol": { "keccak256": "0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b", "urls": [ "bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70", "dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/IExternalPositionManager.sol": { "keccak256": "0x3af3f634e1f99fb97091b7825c0d2e2baaafc124d4e87d56cb0c17ff8554f6c6", "urls": [ "bzz-raw://515470605afe5ef147f30fa75ce7818f0e00e3d321eb81a4d9bffcdefc294495", "dweb:/ipfs/QmPKsp99pfHoz9Tfo3ZxnkmqDqJtN9PxqacF2RmeVfxUJF" ], "license": "GPL-3.0" }, "contracts/release/extensions/fee-manager/IFeeManager.sol": { "keccak256": "0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51", "urls": [ "bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22", "dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod" ], "license": "GPL-3.0" }, "contracts/release/extensions/policy-manager/IPolicy.sol": { "keccak256": "0xc12663ca72065b256c3b934ab738fde26c147c7b0399de43650df89dd52ee467", "urls": [ "bzz-raw://be8fecfcba0f3fda615f0a1bb3c766750c23761ef751d7c4472dfe540e460cd1", "dweb:/ipfs/QmaarPoRTsX6NiJ8V4u2f3Qh6d7tUs28bw9R14An3t5Bs1" ], "license": "GPL-3.0" }, "contracts/release/extensions/policy-manager/IPolicyManager.sol": { "keccak256": "0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32", "urls": [ "bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa", "dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb" ], "license": "GPL-3.0" }, "contracts/release/extensions/policy-manager/policies/asset-managers/AllowedAdaptersPerManagerPolicy.sol": { "keccak256": "0xf269138acf6b021e08606a861e9f2d41334711fec9ace49901f535100072703a", "urls": [ "bzz-raw://6e540ee7f48aa19c01777e6bd1ee006c2b6adeda81b0bc02854e425852beb9b4", "dweb:/ipfs/QmfSjpJiMb31VpDZKnZEsxizMmxyHwixWNh64SDvxudaTh" ], "license": "GPL-3.0" }, "contracts/release/extensions/policy-manager/policies/utils/AddressListRegistryPerUserPolicyBase.sol": { "keccak256": "0x64c2bf7e45fa9337d198d99aaea1c0c57b05cc4b2e8783fd2d6275cac026ed84", "urls": [ "bzz-raw://20a3e36b4c666e5a1bc89557e82aed53b06a5942845ce5ba309896c221278f4a", "dweb:/ipfs/QmUjfEJUhZ4jBbyVsaLkC8SdHC86a9Vtvz2SXBmLe6pTza" ], "license": "GPL-3.0" }, "contracts/release/extensions/policy-manager/policies/utils/PolicyBase.sol": { "keccak256": "0x972311abb98f0da815b4aca83d5afdd219d3604ec19cf5e3773c0c305bd9b3f1", "urls": [ "bzz-raw://2452f3d1f3b1d8e8459a07489146a2d0d8a10463715937995cbe77ee5de8c069", "dweb:/ipfs/Qmf2hhd2DVbjpxmbNGAhRZNZkqpGZA2mX3eA1WNwtv6t5Y" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol": { "keccak256": "0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609", "urls": [ "bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f", "dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol": { "keccak256": "0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01", "urls": [ "bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0", "dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol": { "keccak256": "0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196", "urls": [ "bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b", "dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/protocol-fees/IProtocolFeeTracker.sol": { "keccak256": "0x232b347f83457439064add7369bfe1930c7cb56f15930bb87d640e909c15e447", "urls": [ "bzz-raw://24f9af5eebdd373b1d7a598c096eb6def31b2640d54416d7d5a7226e1cef17e6", "dweb:/ipfs/QmStq9ByGuSYdKwTmZf52L1X6sZVJUfXTnoVbnjLLiUcHG" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol": { "keccak256": "0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794", "urls": [ "bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965", "dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IGsnForwarder.sol": { "keccak256": "0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030", "urls": [ "bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29", "dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IGsnPaymaster.sol": { "keccak256": "0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c", "urls": [ "bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4", "dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IGsnTypes.sol": { "keccak256": "0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714", "urls": [ "bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7", "dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IWETH.sol": { "keccak256": "0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2", "urls": [ "bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2", "dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ" ], "license": "GPL-3.0" }, "contracts/release/utils/AddressArrayLib.sol": { "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", "urls": [ "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" ], "license": "GPL-3.0" }, "contracts/release/utils/beacon-proxy/IBeacon.sol": { "keccak256": "0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2", "urls": [ "bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39", "dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V" ], "license": "GPL-3.0" }, "contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol": { "keccak256": "0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc", "urls": [ "bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be", "dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20Burnable.sol": { "keccak256": "0x9c0eb3b0e11d2480d49991dc384f1e5f9c9b9967cc81944d50916a9b9c6c4984", "urls": [ "bzz-raw://99e4033d778624992e86f0b6d801a4f6d7b5c0cd5c79c1296be90a051ad5f5af", "dweb:/ipfs/QmShYmkUqh6pDEeoWadZ24icmCr4C2Xys1uE5boivPmbwf" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", "urls": [ "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Address.sol": { "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", "urls": [ "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" } }, "version": 1 }, "id": 208 } diff --git a/eth_defi/abi/enzyme/AllowedAdaptersPolicy.json b/eth_defi/abi/enzyme/AllowedAdaptersPolicy.json index 615bec01..bee7d38e 100644 --- a/eth_defi/abi/enzyme/AllowedAdaptersPolicy.json +++ b/eth_defi/abi/enzyme/AllowedAdaptersPolicy.json @@ -1,913 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_policyManager", - "type": "address" - }, - { - "internalType": "address", - "name": "_addressListRegistry", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "comptrollerProxy", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "listIds", - "type": "uint256[]" - } - ], - "name": "ListsSetForFund", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "activateForFund", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_encodedSettings", - "type": "bytes" - } - ], - "name": "addFundSettings", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "canDisable", - "outputs": [ - { - "internalType": "bool", - "name": "canDisable_", - "type": "bool" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "getAddressListRegistry", - "outputs": [ - { - "internalType": "address", - "name": "addressListRegistry_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - } - ], - "name": "getListIdsForFund", - "outputs": [ - { - "internalType": "uint256[]", - "name": "listIds_", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getPolicyManager", - "outputs": [ - { - "internalType": "address", - "name": "policyManager_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "identifier", - "outputs": [ - { - "internalType": "string", - "name": "identifier_", - "type": "string" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "implementedHooks", - "outputs": [ - { - "internalType": "enum IPolicyManager.PolicyHook[]", - "name": "implementedHooks_", - "type": "uint8[]" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_adapter", - "type": "address" - } - ], - "name": "passesRule", - "outputs": [ - { - "internalType": "bool", - "name": "isValid_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "updateFundSettings", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "enum IPolicyManager.PolicyHook", - "name": "", - "type": "uint8" - }, - { - "internalType": "bytes", - "name": "_encodedArgs", - "type": "bytes" - } - ], - "name": "validateRule", - "outputs": [ - { - "internalType": "bool", - "name": "isValid_", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x60c06040523480156200001157600080fd5b50604051620013c4380380620013c4833981016040819052620000349162000066565b6001600160601b0319606092831b8116608052911b1660a052620000d1565b80516200006081620000b7565b92915050565b600080604083850312156200007a57600080fd5b600062000088858562000053565b92505060206200009b8582860162000053565b9150509250929050565b60006001600160a01b03821662000060565b620000c281620000a5565b8114620000ce57600080fd5b50565b60805160601c60a05160601c6112c462000100600039806102725250806101c052806103b252506112c46000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c80637998a1c4116100715780637998a1c41461011c578063b67cb40c14610131578063cbf54bb214610144578063ceb9a0ad14610159578063d44ad6cb1461016c578063dffd7c6f14610174576100a9565b80630d4d7510146100ae5780630f5f6b4f146100c35780631ef92578146100d6578063579be718146100f45780637470893414610107575b600080fd5b6100c16100bc366004610c4f565b610194565b005b6100c16100d1366004610c4f565b6101b5565b6100de61020d565b6040516100eb91906110ef565b60405180910390f35b6100de610102366004610ca4565b610212565b61010f610270565b6040516100eb919061106b565b610124610294565b6040516100eb91906110fd565b6100de61013f366004610c15565b6102be565b61014c610356565b6040516100eb91906110a6565b6100c1610167366004610ad9565b6103ad565b61010f6103b0565b610187610182366004610ad9565b6103d4565b6040516100eb91906110b7565b60405162461bcd60e51b81526004016101ac9061110e565b60405180910390fd5b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146101fd5760405162461bcd60e51b81526004016101ac9061111e565b61020883838361043f565b505050565b600090565b60008061025484848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061070192505050565b505050505091505061026686826102be565b9695505050505050565b7f000000000000000000000000000000000000000000000000000000000000000090565b60408051808201909152601081526f414c4c4f5745445f414441505445525360801b602082015290565b60006102c8610270565b6001600160a01b03166375674f466102df856103d4565b846040518363ffffffff1660e01b81526004016102fd9291906110c8565b60206040518083038186803b15801561031557600080fd5b505afa158015610329573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061034d9190610d68565b90505b92915050565b6040805160018082528183019092526060916020808301908036833701905050905060018160008151811061038757fe5b6020026020010190600981111561039a57fe5b908160098111156103a757fe5b90525090565b50565b7f000000000000000000000000000000000000000000000000000000000000000090565b6001600160a01b0381166000908152602081815260409182902080548351818402810184019094528084526060939283018282801561043257602002820191906000526020600020905b81548152602001906001019080831161041e575b505050505090505b919050565b60608061044e83850185610d0b565b91509150606081518351016001600160401b038111801561046e57600080fd5b50604051908082528060200260200182016040528015610498578160200160208202803683370190505b5090508051600014156104bd5760405162461bcd60e51b81526004016101ac9061112e565b6001600160a01b038616600090815260208190526040902054156104fc576001600160a01b03861660009081526020819052604081206104fc916107fc565b60005b835181101561058f5783818151811061051457fe5b602002602001015182828151811061052857fe5b602002602001018181525050600080886001600160a01b03166001600160a01b0316815260200190815260200160002084828151811061056457fe5b60209081029190910181015182546001818101855560009485529290932090920191909155016104ff565b508151156106b8576000866001600160a01b031663c98091876040518163ffffffff1660e01b815260040160206040518083038186803b1580156105d257600080fd5b505afa1580156105e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061060a9190610aff565b905060005b83518110156106b557600081865101905061063d8386848151811061063057fe5b6020026020010151610737565b84828151811061064957fe5b6020026020010181815250506000808a6001600160a01b03166001600160a01b0316815260200190815260200160002084828151811061068557fe5b6020908102919091018101518254600181810185556000948552929093209092019190915591909101905061060f565b50505b856001600160a01b03167fd63f5b55f54cdda3234eab3aa26d85b99854a43efea66e0c459220fd7b3a332f826040516106f191906110b7565b60405180910390a2505050505050565b6000806000606080606080878060200190518101906107209190610b1d565b959e949d50929b5090995097509550909350915050565b6000806060610745846107db565b91509150610751610270565b6001600160a01b031663be68406e8684846040518463ffffffff1660e01b815260040161078093929190611079565b602060405180830381600087803b15801561079a57600080fd5b505af11580156107ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107d29190610dcd565b95945050505050565b60006060828060200190518101906107f39190610d86565b91509150915091565b50805460008255906000526020600020908101906103ad91905b8082111561082a5760008155600101610816565b5090565b80356103508161126e565b80516103508161126e565b600082601f83011261085557600080fd5b815161086861086382611164565b61113e565b9150818183526020840193506020810190508385602084028201111561088d57600080fd5b60005b838110156108b957816108a38882610839565b8452506020928301929190910190600101610890565b5050505092915050565b600082601f8301126108d457600080fd5b81356108e261086382611164565b81815260209384019390925082018360005b838110156108b9578135860161090a8882610a5e565b84525060209283019291909101906001016108f4565b600082601f83011261093157600080fd5b813561093f61086382611164565b9150818183526020840193506020810190508385602084028201111561096457600080fd5b60005b838110156108b9578161097a8882610ac3565b8452506020928301929190910190600101610967565b600082601f8301126109a157600080fd5b81516109af61086382611164565b915081818352602084019350602081019050838560208402820111156109d457600080fd5b60005b838110156108b957816109ea8882610ace565b84525060209283019291909101906001016109d7565b805161035081611282565b80516103508161128b565b60008083601f840112610a2857600080fd5b5081356001600160401b03811115610a3f57600080fd5b602083019150836001820283011115610a5757600080fd5b9250929050565b600082601f830112610a6f57600080fd5b8135610a7d61086382611184565b91508082526020830160208301858383011115610a9957600080fd5b610aa4838284611214565b50505092915050565b803561035081611294565b8051610350816112a1565b8035610350816112ae565b8051610350816112ae565b600060208284031215610aeb57600080fd5b6000610af7848461082e565b949350505050565b600060208284031215610b1157600080fd5b6000610af78484610839565b600080600080600080600060e0888a031215610b3857600080fd5b6000610b448a8a610839565b9750506020610b558a828b01610839565b9650506040610b668a828b01610a0b565b95505060608801516001600160401b03811115610b8257600080fd5b610b8e8a828b01610844565b94505060808801516001600160401b03811115610baa57600080fd5b610bb68a828b01610990565b93505060a08801516001600160401b03811115610bd257600080fd5b610bde8a828b01610844565b92505060c08801516001600160401b03811115610bfa57600080fd5b610c068a828b01610990565b91505092959891949750929550565b60008060408385031215610c2857600080fd5b6000610c34858561082e565b9250506020610c458582860161082e565b9150509250929050565b600080600060408486031215610c6457600080fd5b6000610c70868661082e565b93505060208401356001600160401b03811115610c8c57600080fd5b610c9886828701610a16565b92509250509250925092565b60008060008060608587031215610cba57600080fd5b6000610cc6878761082e565b9450506020610cd787828801610aad565b93505060408501356001600160401b03811115610cf357600080fd5b610cff87828801610a16565b95989497509550505050565b60008060408385031215610d1e57600080fd5b82356001600160401b03811115610d3457600080fd5b610d4085828601610920565b92505060208301356001600160401b03811115610d5c57600080fd5b610c45858286016108c3565b600060208284031215610d7a57600080fd5b6000610af78484610a00565b60008060408385031215610d9957600080fd5b6000610da58585610ab8565b92505060208301516001600160401b03811115610dc157600080fd5b610c4585828601610844565b600060208284031215610ddf57600080fd5b6000610af78484610ace565b6000610df78383610e17565b505060200190565b6000610df78383610f24565b6000610df78383611062565b610e20816111be565b82525050565b6000610e31826111b1565b610e3b81856111b5565b9350610e46836111ab565b8060005b83811015610e74578151610e5e8882610deb565b9750610e69836111ab565b925050600101610e4a565b509495945050505050565b6000610e8a826111b1565b610e9481856111b5565b9350610e9f836111ab565b8060005b83811015610e74578151610eb78882610dff565b9750610ec2836111ab565b925050600101610ea3565b6000610ed8826111b1565b610ee281856111b5565b9350610eed836111ab565b8060005b83811015610e74578151610f058882610e0b565b9750610f10836111ab565b925050600101610ef1565b610e20816111c9565b610e20816111fe565b610e2081611209565b6000610f41826111b1565b610f4b81856111b5565b9350610f5b818560208601611220565b610f6481611250565b9093019392505050565b6000610f7b6037836111b5565b7f75706461746546756e6453657474696e67733a2055706461746573206e6f742081527f616c6c6f77656420666f72207468697320706f6c696379000000000000000000602082015260400192915050565b6000610fda6029836111b5565b7f4f6e6c792074686520506f6c6963794d616e616765722063616e206d616b65208152681d1a1a5cc818d85b1b60ba1b602082015260400192915050565b60006110256028836111b5565b7f5f5f7570646174654c69737473466f7246756e643a204e6f206c6973747320738152671c1958da599a595960c21b602082015260400192915050565b610e20816111fb565b602081016103508284610e17565b606081016110878286610e17565b6110946020830185610f2d565b81810360408301526107d28184610e26565b6020808252810161034d8184610e7f565b6020808252810161034d8184610ecd565b604080825281016110d98185610ecd565b90506110e86020830184610e17565b9392505050565b602081016103508284610f1b565b6020808252810161034d8184610f36565b6020808252810161035081610f6e565b6020808252810161035081610fcd565b6020808252810161035081611018565b6040518181016001600160401b038111828210171561115c57600080fd5b604052919050565b60006001600160401b0382111561117a57600080fd5b5060209081020190565b60006001600160401b0382111561119a57600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b6000610350826111ef565b151590565b6001600160e01b03191690565b8061043a8161125a565b8061043a81611264565b6001600160a01b031690565b90565b6000610350826111db565b6000610350826111e5565b82818337506000910152565b60005b8381101561123b578181015183820152602001611223565b8381111561124a576000848401525b50505050565b601f01601f191690565b600a81106103ad57fe5b600481106103ad57fe5b611277816111be565b81146103ad57600080fd5b611277816111c9565b611277816111ce565b600a81106103ad57600080fd5b600481106103ad57600080fd5b611277816111fb56fea164736f6c634300060c000a", - "sourceMap": "532:2316:209:-:0;;;602:163;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;737:31:223;;;;;;;;1052:44:221;;;::::1;::::0;532:2316:209;;5:134:-1;83:13;;101:33;83:13;101:33;:::i;:::-;68:71;;;;:::o;146:399::-;;;278:2;266:9;257:7;253:23;249:32;246:2;;;294:1;291;284:12;246:2;329:1;346:64;402:7;382:9;346:64;:::i;:::-;336:74;;308:108;447:2;465:64;521:7;512:6;501:9;497:22;465:64;:::i;:::-;455:74;;426:109;240:305;;;;;:::o;552:91::-;;-1:-1;;;;;712:54;;614:24;695:76::o;778:117::-;847:24;865:5;847:24;:::i;:::-;840:5;837:35;827:2;;886:1;883;876:12;827:2;821:74;:::o;:::-;532:2316:209;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106100a95760003560e01c80637998a1c4116100715780637998a1c41461011c578063b67cb40c14610131578063cbf54bb214610144578063ceb9a0ad14610159578063d44ad6cb1461016c578063dffd7c6f14610174576100a9565b80630d4d7510146100ae5780630f5f6b4f146100c35780631ef92578146100d6578063579be718146100f45780637470893414610107575b600080fd5b6100c16100bc366004610c4f565b610194565b005b6100c16100d1366004610c4f565b6101b5565b6100de61020d565b6040516100eb91906110ef565b60405180910390f35b6100de610102366004610ca4565b610212565b61010f610270565b6040516100eb919061106b565b610124610294565b6040516100eb91906110fd565b6100de61013f366004610c15565b6102be565b61014c610356565b6040516100eb91906110a6565b6100c1610167366004610ad9565b6103ad565b61010f6103b0565b610187610182366004610ad9565b6103d4565b6040516100eb91906110b7565b60405162461bcd60e51b81526004016101ac9061110e565b60405180910390fd5b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146101fd5760405162461bcd60e51b81526004016101ac9061111e565b61020883838361043f565b505050565b600090565b60008061025484848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061070192505050565b505050505091505061026686826102be565b9695505050505050565b7f000000000000000000000000000000000000000000000000000000000000000090565b60408051808201909152601081526f414c4c4f5745445f414441505445525360801b602082015290565b60006102c8610270565b6001600160a01b03166375674f466102df856103d4565b846040518363ffffffff1660e01b81526004016102fd9291906110c8565b60206040518083038186803b15801561031557600080fd5b505afa158015610329573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061034d9190610d68565b90505b92915050565b6040805160018082528183019092526060916020808301908036833701905050905060018160008151811061038757fe5b6020026020010190600981111561039a57fe5b908160098111156103a757fe5b90525090565b50565b7f000000000000000000000000000000000000000000000000000000000000000090565b6001600160a01b0381166000908152602081815260409182902080548351818402810184019094528084526060939283018282801561043257602002820191906000526020600020905b81548152602001906001019080831161041e575b505050505090505b919050565b60608061044e83850185610d0b565b91509150606081518351016001600160401b038111801561046e57600080fd5b50604051908082528060200260200182016040528015610498578160200160208202803683370190505b5090508051600014156104bd5760405162461bcd60e51b81526004016101ac9061112e565b6001600160a01b038616600090815260208190526040902054156104fc576001600160a01b03861660009081526020819052604081206104fc916107fc565b60005b835181101561058f5783818151811061051457fe5b602002602001015182828151811061052857fe5b602002602001018181525050600080886001600160a01b03166001600160a01b0316815260200190815260200160002084828151811061056457fe5b60209081029190910181015182546001818101855560009485529290932090920191909155016104ff565b508151156106b8576000866001600160a01b031663c98091876040518163ffffffff1660e01b815260040160206040518083038186803b1580156105d257600080fd5b505afa1580156105e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061060a9190610aff565b905060005b83518110156106b557600081865101905061063d8386848151811061063057fe5b6020026020010151610737565b84828151811061064957fe5b6020026020010181815250506000808a6001600160a01b03166001600160a01b0316815260200190815260200160002084828151811061068557fe5b6020908102919091018101518254600181810185556000948552929093209092019190915591909101905061060f565b50505b856001600160a01b03167fd63f5b55f54cdda3234eab3aa26d85b99854a43efea66e0c459220fd7b3a332f826040516106f191906110b7565b60405180910390a2505050505050565b6000806000606080606080878060200190518101906107209190610b1d565b959e949d50929b5090995097509550909350915050565b6000806060610745846107db565b91509150610751610270565b6001600160a01b031663be68406e8684846040518463ffffffff1660e01b815260040161078093929190611079565b602060405180830381600087803b15801561079a57600080fd5b505af11580156107ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107d29190610dcd565b95945050505050565b60006060828060200190518101906107f39190610d86565b91509150915091565b50805460008255906000526020600020908101906103ad91905b8082111561082a5760008155600101610816565b5090565b80356103508161126e565b80516103508161126e565b600082601f83011261085557600080fd5b815161086861086382611164565b61113e565b9150818183526020840193506020810190508385602084028201111561088d57600080fd5b60005b838110156108b957816108a38882610839565b8452506020928301929190910190600101610890565b5050505092915050565b600082601f8301126108d457600080fd5b81356108e261086382611164565b81815260209384019390925082018360005b838110156108b9578135860161090a8882610a5e565b84525060209283019291909101906001016108f4565b600082601f83011261093157600080fd5b813561093f61086382611164565b9150818183526020840193506020810190508385602084028201111561096457600080fd5b60005b838110156108b9578161097a8882610ac3565b8452506020928301929190910190600101610967565b600082601f8301126109a157600080fd5b81516109af61086382611164565b915081818352602084019350602081019050838560208402820111156109d457600080fd5b60005b838110156108b957816109ea8882610ace565b84525060209283019291909101906001016109d7565b805161035081611282565b80516103508161128b565b60008083601f840112610a2857600080fd5b5081356001600160401b03811115610a3f57600080fd5b602083019150836001820283011115610a5757600080fd5b9250929050565b600082601f830112610a6f57600080fd5b8135610a7d61086382611184565b91508082526020830160208301858383011115610a9957600080fd5b610aa4838284611214565b50505092915050565b803561035081611294565b8051610350816112a1565b8035610350816112ae565b8051610350816112ae565b600060208284031215610aeb57600080fd5b6000610af7848461082e565b949350505050565b600060208284031215610b1157600080fd5b6000610af78484610839565b600080600080600080600060e0888a031215610b3857600080fd5b6000610b448a8a610839565b9750506020610b558a828b01610839565b9650506040610b668a828b01610a0b565b95505060608801516001600160401b03811115610b8257600080fd5b610b8e8a828b01610844565b94505060808801516001600160401b03811115610baa57600080fd5b610bb68a828b01610990565b93505060a08801516001600160401b03811115610bd257600080fd5b610bde8a828b01610844565b92505060c08801516001600160401b03811115610bfa57600080fd5b610c068a828b01610990565b91505092959891949750929550565b60008060408385031215610c2857600080fd5b6000610c34858561082e565b9250506020610c458582860161082e565b9150509250929050565b600080600060408486031215610c6457600080fd5b6000610c70868661082e565b93505060208401356001600160401b03811115610c8c57600080fd5b610c9886828701610a16565b92509250509250925092565b60008060008060608587031215610cba57600080fd5b6000610cc6878761082e565b9450506020610cd787828801610aad565b93505060408501356001600160401b03811115610cf357600080fd5b610cff87828801610a16565b95989497509550505050565b60008060408385031215610d1e57600080fd5b82356001600160401b03811115610d3457600080fd5b610d4085828601610920565b92505060208301356001600160401b03811115610d5c57600080fd5b610c45858286016108c3565b600060208284031215610d7a57600080fd5b6000610af78484610a00565b60008060408385031215610d9957600080fd5b6000610da58585610ab8565b92505060208301516001600160401b03811115610dc157600080fd5b610c4585828601610844565b600060208284031215610ddf57600080fd5b6000610af78484610ace565b6000610df78383610e17565b505060200190565b6000610df78383610f24565b6000610df78383611062565b610e20816111be565b82525050565b6000610e31826111b1565b610e3b81856111b5565b9350610e46836111ab565b8060005b83811015610e74578151610e5e8882610deb565b9750610e69836111ab565b925050600101610e4a565b509495945050505050565b6000610e8a826111b1565b610e9481856111b5565b9350610e9f836111ab565b8060005b83811015610e74578151610eb78882610dff565b9750610ec2836111ab565b925050600101610ea3565b6000610ed8826111b1565b610ee281856111b5565b9350610eed836111ab565b8060005b83811015610e74578151610f058882610e0b565b9750610f10836111ab565b925050600101610ef1565b610e20816111c9565b610e20816111fe565b610e2081611209565b6000610f41826111b1565b610f4b81856111b5565b9350610f5b818560208601611220565b610f6481611250565b9093019392505050565b6000610f7b6037836111b5565b7f75706461746546756e6453657474696e67733a2055706461746573206e6f742081527f616c6c6f77656420666f72207468697320706f6c696379000000000000000000602082015260400192915050565b6000610fda6029836111b5565b7f4f6e6c792074686520506f6c6963794d616e616765722063616e206d616b65208152681d1a1a5cc818d85b1b60ba1b602082015260400192915050565b60006110256028836111b5565b7f5f5f7570646174654c69737473466f7246756e643a204e6f206c6973747320738152671c1958da599a595960c21b602082015260400192915050565b610e20816111fb565b602081016103508284610e17565b606081016110878286610e17565b6110946020830185610f2d565b81810360408301526107d28184610e26565b6020808252810161034d8184610e7f565b6020808252810161034d8184610ecd565b604080825281016110d98185610ecd565b90506110e86020830184610e17565b9392505050565b602081016103508284610f1b565b6020808252810161034d8184610f36565b6020808252810161035081610f6e565b6020808252810161035081610fcd565b6020808252810161035081611018565b6040518181016001600160401b038111828210171561115c57600080fd5b604052919050565b60006001600160401b0382111561117a57600080fd5b5060209081020190565b60006001600160401b0382111561119a57600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b6000610350826111ef565b151590565b6001600160e01b03191690565b8061043a8161125a565b8061043a81611264565b6001600160a01b031690565b90565b6000610350826111db565b6000610350826111e5565b82818337506000910152565b60005b8381101561123b578181015183820152602001611223565b8381111561124a576000848401525b50505050565b601f01601f191690565b600a81106103ad57fe5b600481106103ad57fe5b611277816111be565b81146103ad57600080fd5b611277816111c9565b611277816111ce565b600a81106103ad57600080fd5b600481106103ad57600080fd5b611277816111fb56fea164736f6c634300060c000a", - "sourceMap": "532:2316:209:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1452:161:223;;;;;;:::i;:::-;;:::i;:::-;;1333:239:221;;;;;;:::i;:::-;;:::i;1214:109:223:-;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1882:339:209;;;;;;:::i;:::-;;:::i;4613:130:221:-;;;:::i;:::-;;;;;;;:::i;914:123:209:-;;;:::i;:::-;;;;;;;:::i;2526:320::-;;;;;;:::i;:::-;;:::i;1167:336::-;;;:::i;:::-;;;;;;;:::i;941:83:223:-;;;;;;:::i;:::-;;:::i;6755:113::-;;;:::i;4908:198:221:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1452:161:223:-;1541:65;;-1:-1:-1;;;1541:65:223;;;;;;;:::i;:::-;;;;;;;;1333:239:221;586:10:223;-1:-1:-1;;;;;600:14:223;586:28;;578:82;;;;-1:-1:-1;;;578:82:223;;;;;;;:::i;:::-;1508:57:221::1;1529:17;1548:16;;1508:20;:57::i;:::-;1333:239:::0;;;:::o;1214:109:223:-;1276:16;1214:109;:::o;1882:339:209:-;2044:13;2072:15;2101:57;2145:12;;2101:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2101:43:209;;-1:-1:-1;;;2101:57:209:i;:::-;2069:89;;;;;;;;2176:38;2187:17;2206:7;2176:10;:38::i;:::-;2169:45;1882:339;-1:-1:-1;;;;;;1882:339:209:o;4613:130:221:-;4715:21;4613:130;:::o;914:123:209:-;1005:25;;;;;;;;;;;;-1:-1:-1;;;1005:25:209;;;;914:123;:::o;2526:320::-;2636:13;2704:24;:22;:24::i;:::-;-1:-1:-1;;;;;2684:61:209;;2763:36;2781:17;2763;:36::i;:::-;2817:8;2684:155;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2665:174;;2526:320;;;;;:::o;1167:336::-;1347:34;;;1379:1;1347:34;;;;;;;;;1259:52;;1347:34;;;;;;;;;;;-1:-1:-1;1347:34:209;1327:54;;1414:47;1391:17;1409:1;1391:20;;;;;;;;;;;;;:70;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1167:336:209;:::o;941:83:223:-;;:::o;6755:113::-;6847:14;6755:113;:::o;4908:198:221:-;-1:-1:-1;;;;;5055:44:221;;:25;:44;;;;;;;;;;;;5048:51;;;;;;;;;;;;;;;;;5007:25;;5048:51;;;5055:44;5048:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4908:198;;;;:::o;2752:1638::-;2874:32;;2939:84;;;;2963:16;2939:84;:::i;:::-;2873:150;;;;3034:28;3104:12;:19;3079:15;:22;:44;-1:-1:-1;;;;;3065:59:221;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3065:59:221;;3034:90;;3142:11;:18;3164:1;3142:23;;3134:76;;;;-1:-1:-1;;;3134:76:221;;;;;;;:::i;:::-;-1:-1:-1;;;;;3283:44:221;;3337:1;3283:44;;;;;;;;;;:51;:55;3279:137;;-1:-1:-1;;;;;3361:44:221;;:25;:44;;;;;;;;;;3354:51;;;:::i;:::-;3553:9;3548:192;3568:15;:22;3564:1;:26;3548:192;;;3628:15;3644:1;3628:18;;;;;;;;;;;;;;3611:11;3623:1;3611:14;;;;;;;;;;;;;:35;;;;;3660:25;:44;3686:17;-1:-1:-1;;;;;3660:44:221;-1:-1:-1;;;;;3660:44:221;;;;;;;;;;;;3710:15;3726:1;3710:18;;;;;;;;;;;;;;;;;;;3660:69;;;;;;;;-1:-1:-1;3660:69:221;;;;;;;;;;;;;;3592:3;3548:192;;;-1:-1:-1;3794:19:221;;:23;3790:531;;3833:18;3869:17;-1:-1:-1;;;;;3854:47:221;;:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3833:70;;3922:9;3917:394;3937:12;:19;3933:1;:23;3917:394;;;3981:24;4033:1;4008:15;:22;:26;3981:53;;4084:114;4133:10;4165:12;4178:1;4165:15;;;;;;;;;;;;;;4084:27;:114::i;:::-;4052:11;4064:16;4052:29;;;;;;;;;;;;;:146;;;;;4216:25;:44;4242:17;-1:-1:-1;;;;;4216:44:221;-1:-1:-1;;;;;4216:44:221;;;;;;;;;;;;4266:11;4278:16;4266:29;;;;;;;;;;;;;;;;;;;4216:80;;;;;;;;-1:-1:-1;4216:80:221;;;;;;;;;;;;;;3958:3;;;;;-1:-1:-1;3917:394:221;;;;3790:531;;4352:17;-1:-1:-1;;;;;4336:47:221;;4371:11;4336:47;;;;;;:::i;:::-;;;;;;;;2752:1638;;;;;;:::o;4190:604:223:-;4333:15;4362:16;4392;4422:32;4468:38;4520:29;4563:35;4670:15;4642:145;;;;;;;;;;;;:::i;:::-;4623:164;;;;-1:-1:-1;4623:164:223;;-1:-1:-1;4623:164:223;;-1:-1:-1;4623:164:223;-1:-1:-1;4623:164:223;-1:-1:-1;4623:164:223;;-1:-1:-1;4190:604:223;-1:-1:-1;;4190:604:223:o;1662:488:221:-;1781:15;1826:41;1881:29;1923:33;1943:12;1923:19;:33::i;:::-;1812:144;;;;2006:24;:22;:24::i;:::-;-1:-1:-1;;;;;1986:56:221;;2060:11;2089:10;2117:12;1986:157;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1967:176;1662:488;-1:-1:-1;;;;;1662:488:221:o;2200:276::-;2303:42;2347:30;2411:12;2400:69;;;;;;;;;;;;:::i;:::-;2393:76;;;;2200:276;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5:130::-;72:20;;97:33;72:20;97:33;:::i;142:134::-;220:13;;238:33;220:13;238:33;:::i;458:722::-;;586:3;579:4;571:6;567:17;563:27;553:2;;604:1;601;594:12;553:2;634:6;628:13;656:80;671:64;728:6;671:64;:::i;:::-;656:80;:::i;:::-;647:89;;753:5;778:6;771:5;764:21;808:4;800:6;796:17;786:27;;830:4;825:3;821:14;814:21;;883:6;930:3;922:4;914:6;910:17;905:3;901:27;898:36;895:2;;;947:1;944;937:12;895:2;972:1;957:217;982:6;979:1;976:13;957:217;;;1040:3;1062:48;1106:3;1094:10;1062:48;:::i;:::-;1050:61;;-1:-1;1134:4;1125:14;;;;1153;;;;;1004:1;997:9;957:217;;;961:14;546:634;;;;;;;:::o;1204:705::-;;1330:3;1323:4;1315:6;1311:17;1307:27;1297:2;;1348:1;1345;1338:12;1297:2;1385:6;1372:20;1407:89;1422:73;1488:6;1422:73;:::i;1407:89::-;1524:21;;;1568:4;1556:17;;;;1398:98;;-1:-1;1581:14;;1556:17;1676:1;1661:242;1686:6;1683:1;1680:13;1661:242;;;1769:3;1756:17;1748:6;1744:30;1793:46;1835:3;1823:10;1793:46;:::i;:::-;1781:59;;-1:-1;1863:4;1854:14;;;;1882;;;;;1708:1;1701:9;1661:242;;1935:707;;2052:3;2045:4;2037:6;2033:17;2029:27;2019:2;;2070:1;2067;2060:12;2019:2;2107:6;2094:20;2129:80;2144:64;2201:6;2144:64;:::i;2129:80::-;2120:89;;2226:5;2251:6;2244:5;2237:21;2281:4;2273:6;2269:17;2259:27;;2303:4;2298:3;2294:14;2287:21;;2356:6;2403:3;2395:4;2387:6;2383:17;2378:3;2374:27;2371:36;2368:2;;;2420:1;2417;2410:12;2368:2;2445:1;2430:206;2455:6;2452:1;2449:13;2430:206;;;2513:3;2535:37;2568:3;2556:10;2535:37;:::i;:::-;2523:50;;-1:-1;2596:4;2587:14;;;;2615;;;;;2477:1;2470:9;2430:206;;2668:722;;2796:3;2789:4;2781:6;2777:17;2773:27;2763:2;;2814:1;2811;2804:12;2763:2;2844:6;2838:13;2866:80;2881:64;2938:6;2881:64;:::i;2866:80::-;2857:89;;2963:5;2988:6;2981:5;2974:21;3018:4;3010:6;3006:17;2996:27;;3040:4;3035:3;3031:14;3024:21;;3093:6;3140:3;3132:4;3124:6;3120:17;3115:3;3111:27;3108:36;3105:2;;;3157:1;3154;3147:12;3105:2;3182:1;3167:217;3192:6;3189:1;3186:13;3167:217;;;3250:3;3272:48;3316:3;3304:10;3272:48;:::i;:::-;3260:61;;-1:-1;3344:4;3335:14;;;;3363;;;;;3214:1;3207:9;3167:217;;3398:128;3473:13;;3491:30;3473:13;3491:30;:::i;3533:132::-;3610:13;;3628:32;3610:13;3628:32;:::i;3686:336::-;;;3800:3;3793:4;3785:6;3781:17;3777:27;3767:2;;3818:1;3815;3808:12;3767:2;-1:-1;3838:20;;-1:-1;;;;;3867:30;;3864:2;;;3910:1;3907;3900:12;3864:2;3944:4;3936:6;3932:17;3920:29;;3995:3;3987:4;3979:6;3975:17;3965:8;3961:32;3958:41;3955:2;;;4012:1;4009;4002:12;3955:2;3760:262;;;;;:::o;4031:440::-;;4132:3;4125:4;4117:6;4113:17;4109:27;4099:2;;4150:1;4147;4140:12;4099:2;4187:6;4174:20;4209:64;4224:48;4265:6;4224:48;:::i;4209:64::-;4200:73;;4293:6;4286:5;4279:21;4329:4;4321:6;4317:17;4362:4;4355:5;4351:16;4397:3;4388:6;4383:3;4379:16;4376:25;4373:2;;;4414:1;4411;4404:12;4373:2;4424:41;4458:6;4453:3;4448;4424:41;:::i;:::-;4092:379;;;;;;;:::o;4479:162::-;4562:20;;4587:49;4562:20;4587:49;:::i;4648:164::-;4741:13;;4759:48;4741:13;4759:48;:::i;4819:130::-;4886:20;;4911:33;4886:20;4911:33;:::i;4956:134::-;5034:13;;5052:33;5034:13;5052:33;:::i;5097:241::-;;5201:2;5189:9;5180:7;5176:23;5172:32;5169:2;;;5217:1;5214;5207:12;5169:2;5252:1;5269:53;5314:7;5294:9;5269:53;:::i;:::-;5259:63;5163:175;-1:-1;;;;5163:175::o;5345:263::-;;5460:2;5448:9;5439:7;5435:23;5431:32;5428:2;;;5476:1;5473;5466:12;5428:2;5511:1;5528:64;5584:7;5564:9;5528:64;:::i;5615:1629::-;;;;;;;;5947:3;5935:9;5926:7;5922:23;5918:33;5915:2;;;5964:1;5961;5954:12;5915:2;5999:1;6016:72;6080:7;6060:9;6016:72;:::i;:::-;6006:82;;5978:116;6125:2;6143:72;6207:7;6198:6;6187:9;6183:22;6143:72;:::i;:::-;6133:82;;6104:117;6252:2;6270:63;6325:7;6316:6;6305:9;6301:22;6270:63;:::i;:::-;6260:73;;6231:108;6391:2;6380:9;6376:18;6370:25;-1:-1;;;;;6407:6;6404:30;6401:2;;;6447:1;6444;6437:12;6401:2;6467:89;6548:7;6539:6;6528:9;6524:22;6467:89;:::i;:::-;6457:99;;6349:213;6614:3;6603:9;6599:19;6593:26;-1:-1;;;;;6631:6;6628:30;6625:2;;;6671:1;6668;6661:12;6625:2;6691:89;6772:7;6763:6;6752:9;6748:22;6691:89;:::i;:::-;6681:99;;6572:214;6838:3;6827:9;6823:19;6817:26;-1:-1;;;;;6855:6;6852:30;6849:2;;;6895:1;6892;6885:12;6849:2;6915:89;6996:7;6987:6;6976:9;6972:22;6915:89;:::i;:::-;6905:99;;6796:214;7062:3;7051:9;7047:19;7041:26;-1:-1;;;;;7079:6;7076:30;7073:2;;;7119:1;7116;7109:12;7073:2;7139:89;7220:7;7211:6;7200:9;7196:22;7139:89;:::i;:::-;7129:99;;7020:214;5909:1335;;;;;;;;;;:::o;7251:366::-;;;7372:2;7360:9;7351:7;7347:23;7343:32;7340:2;;;7388:1;7385;7378:12;7340:2;7423:1;7440:53;7485:7;7465:9;7440:53;:::i;:::-;7430:63;;7402:97;7530:2;7548:53;7593:7;7584:6;7573:9;7569:22;7548:53;:::i;:::-;7538:63;;7509:98;7334:283;;;;;:::o;7624:490::-;;;;7764:2;7752:9;7743:7;7739:23;7735:32;7732:2;;;7780:1;7777;7770:12;7732:2;7815:1;7832:53;7877:7;7857:9;7832:53;:::i;:::-;7822:63;;7794:97;7950:2;7939:9;7935:18;7922:32;-1:-1;;;;;7966:6;7963:30;7960:2;;;8006:1;8003;7996:12;7960:2;8034:64;8090:7;8081:6;8070:9;8066:22;8034:64;:::i;:::-;8016:82;;;;7901:203;7726:388;;;;;:::o;8121:647::-;;;;;8294:2;8282:9;8273:7;8269:23;8265:32;8262:2;;;8310:1;8307;8300:12;8262:2;8345:1;8362:53;8407:7;8387:9;8362:53;:::i;:::-;8352:63;;8324:97;8452:2;8470:69;8531:7;8522:6;8511:9;8507:22;8470:69;:::i;:::-;8460:79;;8431:114;8604:2;8593:9;8589:18;8576:32;-1:-1;;;;;8620:6;8617:30;8614:2;;;8660:1;8657;8650:12;8614:2;8688:64;8744:7;8735:6;8724:9;8720:22;8688:64;:::i;:::-;8256:512;;;;-1:-1;8670:82;-1:-1;;;;8256:512::o;8775:656::-;;;8955:2;8943:9;8934:7;8930:23;8926:32;8923:2;;;8971:1;8968;8961:12;8923:2;9006:31;;-1:-1;;;;;9046:30;;9043:2;;;9089:1;9086;9079:12;9043:2;9109:78;9179:7;9170:6;9159:9;9155:22;9109:78;:::i;:::-;9099:88;;8985:208;9252:2;9241:9;9237:18;9224:32;-1:-1;;;;;9268:6;9265:30;9262:2;;;9308:1;9305;9298:12;9262:2;9328:87;9407:7;9398:6;9387:9;9383:22;9328:87;:::i;9438:257::-;;9550:2;9538:9;9529:7;9525:23;9521:32;9518:2;;;9566:1;9563;9556:12;9518:2;9601:1;9618:61;9671:7;9651:9;9618:61;:::i;9702:558::-;;;9874:2;9862:9;9853:7;9849:23;9845:32;9842:2;;;9890:1;9887;9880:12;9842:2;9925:1;9942:79;10013:7;9993:9;9942:79;:::i;:::-;9932:89;;9904:123;10079:2;10068:9;10064:18;10058:25;-1:-1;;;;;10095:6;10092:30;10089:2;;;10135:1;10132;10125:12;10089:2;10155:89;10236:7;10227:6;10216:9;10212:22;10155:89;:::i;10267:263::-;;10382:2;10370:9;10361:7;10357:23;10353:32;10350:2;;;10398:1;10395;10388:12;10350:2;10433:1;10450:64;10506:7;10486:9;10450:64;:::i;10538:173::-;;10625:46;10667:3;10659:6;10625:46;:::i;:::-;-1:-1;;10700:4;10691:14;;10618:93::o;10720:201::-;;10821:60;10877:3;10869:6;10821:60;:::i;10930:173::-;;11017:46;11059:3;11051:6;11017:46;:::i;11111:103::-;11184:24;11202:5;11184:24;:::i;:::-;11179:3;11172:37;11166:48;;:::o;11372:690::-;;11517:54;11565:5;11517:54;:::i;:::-;11584:86;11663:6;11658:3;11584:86;:::i;:::-;11577:93;;11691:56;11741:5;11691:56;:::i;:::-;11767:7;11795:1;11780:260;11805:6;11802:1;11799:13;11780:260;;;11872:6;11866:13;11893:63;11952:3;11937:13;11893:63;:::i;:::-;11886:70;;11973:60;12026:6;11973:60;:::i;:::-;11963:70;-1:-1;;11827:1;11820:9;11780:260;;;-1:-1;12053:3;;11496:566;-1:-1;;;;;11496:566::o;12122:764::-;;12281:70;12345:5;12281:70;:::i;:::-;12364:84;12441:6;12436:3;12364:84;:::i;:::-;12357:91;;12469:72;12535:5;12469:72;:::i;:::-;12561:7;12589:1;12574:290;12599:6;12596:1;12593:13;12574:290;;;12666:6;12660:13;12687:77;12760:3;12745:13;12687:77;:::i;:::-;12680:84;;12781:76;12850:6;12781:76;:::i;:::-;12771:86;-1:-1;;12621:1;12614:9;12574:290;;12925:690;;13070:54;13118:5;13070:54;:::i;:::-;13137:86;13216:6;13211:3;13137:86;:::i;:::-;13130:93;;13244:56;13294:5;13244:56;:::i;:::-;13320:7;13348:1;13333:260;13358:6;13355:1;13352:13;13333:260;;;13425:6;13419:13;13446:63;13505:3;13490:13;13446:63;:::i;:::-;13439:70;;13526:60;13579:6;13526:60;:::i;:::-;13516:70;-1:-1;;13380:1;13373:9;13333:260;;13623:104;13700:21;13715:5;13700:21;:::i;13734:144::-;13821:51;13866:5;13821:51;:::i;13885:152::-;13981:50;14025:5;13981:50;:::i;14044:347::-;;14156:39;14189:5;14156:39;:::i;:::-;14207:71;14271:6;14266:3;14207:71;:::i;:::-;14200:78;;14283:52;14328:6;14323:3;14316:4;14309:5;14305:16;14283:52;:::i;:::-;14356:29;14378:6;14356:29;:::i;:::-;14347:39;;;;14136:255;-1:-1;;;14136:255::o;14399:392::-;;14559:67;14623:2;14618:3;14559:67;:::i;:::-;14659:34;14639:55;;14728:25;14723:2;14714:12;;14707:47;14782:2;14773:12;;14545:246;-1:-1;;14545:246::o;14800:378::-;;14960:67;15024:2;15019:3;14960:67;:::i;:::-;15060:34;15040:55;;-1:-1;;;15124:2;15115:12;;15108:33;15169:2;15160:12;;14946:232;-1:-1;;14946:232::o;15187:377::-;;15347:67;15411:2;15406:3;15347:67;:::i;:::-;15447:34;15427:55;;-1:-1;;;15511:2;15502:12;;15495:32;15555:2;15546:12;;15333:231;-1:-1;;15333:231::o;15572:103::-;15645:24;15663:5;15645:24;:::i;15682:222::-;15809:2;15794:18;;15823:71;15798:9;15867:6;15823:71;:::i;15911:618::-;16157:2;16142:18;;16171:71;16146:9;16215:6;16171:71;:::i;:::-;16253:85;16334:2;16323:9;16319:18;16310:6;16253:85;:::i;:::-;16386:9;16380:4;16376:20;16371:2;16360:9;16356:18;16349:48;16411:108;16514:4;16505:6;16411:108;:::i;16536:398::-;16727:2;16741:47;;;16712:18;;16802:122;16712:18;16910:6;16802:122;:::i;16941:370::-;17118:2;17132:47;;;17103:18;;17193:108;17103:18;17287:6;17193:108;:::i;17318:481::-;17523:2;17537:47;;;17508:18;;17598:108;17508:18;17692:6;17598:108;:::i;:::-;17590:116;;17717:72;17785:2;17774:9;17770:18;17761:6;17717:72;:::i;:::-;17494:305;;;;;:::o;17806:210::-;17927:2;17912:18;;17941:65;17916:9;17979:6;17941:65;:::i;18023:310::-;18170:2;18184:47;;;18155:18;;18245:78;18155:18;18309:6;18245:78;:::i;18340:416::-;18540:2;18554:47;;;18525:18;;18615:131;18525:18;18615:131;:::i;18763:416::-;18963:2;18977:47;;;18948:18;;19038:131;18948:18;19038:131;:::i;19186:416::-;19386:2;19400:47;;;19371:18;;19461:131;19371:18;19461:131;:::i;19609:256::-;19671:2;19665:9;19697:17;;;-1:-1;;;;;19757:34;;19793:22;;;19754:62;19751:2;;;19829:1;19826;19819:12;19751:2;19845;19838:22;19649:216;;-1:-1;19649:216::o;19872:304::-;;-1:-1;;;;;20023:6;20020:30;20017:2;;;20063:1;20060;20053:12;20017:2;-1:-1;20098:4;20086:17;;;20151:15;;19954:222::o;20814:321::-;;-1:-1;;;;;20949:6;20946:30;20943:2;;;20989:1;20986;20979:12;20943:2;-1:-1;21120:4;21056;21033:17;;;;-1:-1;;21029:33;21110:15;;20880:255::o;21142:151::-;21266:4;21257:14;;21214:79::o;21632:137::-;21735:12;;21706:63::o;22571:178::-;22689:19;;;22738:4;22729:14;;22682:67::o;23301:91::-;;23363:24;23381:5;23363:24;:::i;23505:85::-;23571:13;23564:21;;23547:43::o;23597:144::-;-1:-1;;;;;;23658:78;;23641:100::o;23748:138::-;23826:5;23832:49;23826:5;23832:49;:::i;23893:136::-;23970:5;23976:48;23970:5;23976:48;:::i;24036:121::-;-1:-1;;;;;24098:54;;24081:76::o;24164:72::-;24226:5;24209:27::o;24243:138::-;;24336:40;24370:5;24336:40;:::i;24388:136::-;;24480:39;24513:5;24480:39;:::i;24532:145::-;24613:6;24608:3;24603;24590:30;-1:-1;24669:1;24651:16;;24644:27;24583:94::o;24686:268::-;24751:1;24758:101;24772:6;24769:1;24766:13;24758:101;;;24839:11;;;24833:18;24820:11;;;24813:39;24794:2;24787:10;24758:101;;;24874:6;24871:1;24868:13;24865:2;;;24939:1;24930:6;24925:3;24921:16;24914:27;24865:2;24735:219;;;;:::o;24962:97::-;25050:2;25030:14;-1:-1;;25026:28;;25010:49::o;25067:108::-;25152:2;25145:5;25142:13;25132:2;;25159:9;25182:106;25266:1;25259:5;25256:12;25246:2;;25272:9;25295:117;25364:24;25382:5;25364:24;:::i;:::-;25357:5;25354:35;25344:2;;25403:1;25400;25393:12;25559:111;25625:21;25640:5;25625:21;:::i;25677:115::-;25745:23;25762:5;25745:23;:::i;25799:111::-;25884:2;25877:5;25874:13;25864:2;;25901:1;25898;25891:12;25917:109;26001:1;25994:5;25991:12;25981:2;;26017:1;26014;26007:12;26033:117;26102:24;26120:5;26102:24;:::i", - "linkReferences": {}, - "immutableReferences": { - "59555": [ - { - "start": 626, - "length": 32 - } - ], - "59893": [ - { - "start": 448, - "length": 32 - }, - { - "start": 946, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "activateForFund(address)": "ceb9a0ad", - "addFundSettings(address,bytes)": "0f5f6b4f", - "canDisable()": "1ef92578", - "getAddressListRegistry()": "74708934", - "getListIdsForFund(address)": "dffd7c6f", - "getPolicyManager()": "d44ad6cb", - "identifier()": "7998a1c4", - "implementedHooks()": "cbf54bb2", - "passesRule(address,address)": "b67cb40c", - "updateFundSettings(address,bytes)": "0d4d7510", - "validateRule(address,uint8,bytes)": "579be718" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_policyManager\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_addressListRegistry\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"listIds\",\"type\":\"uint256[]\"}],\"name\":\"ListsSetForFund\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"activateForFund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_encodedSettings\",\"type\":\"bytes\"}],\"name\":\"addFundSettings\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"canDisable\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"canDisable_\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAddressListRegistry\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"addressListRegistry_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"}],\"name\":\"getListIdsForFund\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"listIds_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPolicyManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"policyManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"identifier\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"identifier_\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"implementedHooks\",\"outputs\":[{\"internalType\":\"enum IPolicyManager.PolicyHook[]\",\"name\":\"implementedHooks_\",\"type\":\"uint8[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_adapter\",\"type\":\"address\"}],\"name\":\"passesRule\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isValid_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"updateFundSettings\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"enum IPolicyManager.PolicyHook\",\"name\":\"\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"_encodedArgs\",\"type\":\"bytes\"}],\"name\":\"validateRule\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isValid_\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"activateForFund(address)\":{\"details\":\"Unimplemented by default, can be overridden by the policy\"},\"addFundSettings(address,bytes)\":{\"params\":{\"_comptrollerProxy\":\"The fund's ComptrollerProxy address\",\"_encodedSettings\":\"Encoded settings to apply to a fund\"}},\"canDisable()\":{\"details\":\"False by default, can be overridden by the policy\",\"returns\":{\"canDisable_\":\"True if the policy can be disabled\"}},\"getAddressListRegistry()\":{\"returns\":{\"addressListRegistry_\":\"The `ADDRESS_LIST_REGISTRY` variable value\"}},\"getListIdsForFund(address)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\"},\"returns\":{\"listIds_\":\"The list ids\"}},\"getPolicyManager()\":{\"returns\":{\"policyManager_\":\"The `POLICY_MANAGER` variable value\"}},\"identifier()\":{\"returns\":{\"identifier_\":\"The identifer string\"}},\"implementedHooks()\":{\"returns\":{\"implementedHooks_\":\"The implemented PolicyHooks\"}},\"passesRule(address,address)\":{\"params\":{\"_adapter\":\"The adapter for which to check the rule\",\"_comptrollerProxy\":\"The fund's ComptrollerProxy address\"},\"returns\":{\"isValid_\":\"True if the rule passes\"}},\"updateFundSettings(address,bytes)\":{\"details\":\"Disallowed by default, can be overridden by the policy\"},\"validateRule(address,uint8,bytes)\":{\"details\":\"onlyPolicyManager validation not necessary, as state is not updated and no events are fired\",\"params\":{\"_comptrollerProxy\":\"The fund's ComptrollerProxy address\",\"_encodedArgs\":\"Encoded args with which to validate the rule\"},\"returns\":{\"isValid_\":\"True if the rule passes\"}}},\"title\":\"AllowedAdaptersPolicy Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"activateForFund(address)\":{\"notice\":\"Validates and initializes a policy as necessary prior to fund activation\"},\"addFundSettings(address,bytes)\":{\"notice\":\"Adds the initial policy settings for a fund\"},\"canDisable()\":{\"notice\":\"Whether or not the policy can be disabled\"},\"getAddressListRegistry()\":{\"notice\":\"Gets the `ADDRESS_LIST_REGISTRY` variable value\"},\"getListIdsForFund(address)\":{\"notice\":\"Gets the list ids used by a given fund\"},\"getPolicyManager()\":{\"notice\":\"Gets the `POLICY_MANAGER` variable value\"},\"identifier()\":{\"notice\":\"Provides a constant string identifier for a policy\"},\"implementedHooks()\":{\"notice\":\"Gets the implemented PolicyHooks for a policy\"},\"passesRule(address,address)\":{\"notice\":\"Checks whether a particular condition passes the rule for a particular fund\"},\"updateFundSettings(address,bytes)\":{\"notice\":\"Updates the policy settings for a fund\"},\"validateRule(address,uint8,bytes)\":{\"notice\":\"Apply the rule with the specified parameters of a PolicyHook\"}},\"notice\":\"A policy that limits adapters that can be used by a fund\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/policy-manager/policies/asset-managers/AllowedAdaptersPolicy.sol\":\"AllowedAdaptersPolicy\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/address-list-registry/AddressListRegistry.sol\":{\"keccak256\":\"0xf00a9e376e3ec2a223f463f71c15ee3af3642dd028bc3762440e316b760c8048\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://01986c9327b5dfbfac21316dced6d68727931ddde1278ed1342d878004f984b9\",\"dweb:/ipfs/QmdXkFaUU43JqMTYEREbWa129rohdqN7GXy7mVRpjCfSLD\"]},\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/persistent/vault/interfaces/IExternalPositionVault.sol\":{\"keccak256\":\"0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d\",\"dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8\"]},\"contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol\":{\"keccak256\":\"0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb\",\"dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU\"]},\"contracts/persistent/vault/interfaces/IMigratableVault.sol\":{\"keccak256\":\"0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6\",\"dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs\"]},\"contracts/persistent/vault/interfaces/IVaultCore.sol\":{\"keccak256\":\"0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd\",\"dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr\"]},\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/core/fund/comptroller/ComptrollerLib.sol\":{\"keccak256\":\"0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579\",\"dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq\"]},\"contracts/release/core/fund/comptroller/IComptroller.sol\":{\"keccak256\":\"0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97\",\"dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L\"]},\"contracts/release/core/fund/vault/IVault.sol\":{\"keccak256\":\"0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599\",\"dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG\"]},\"contracts/release/extensions/IExtension.sol\":{\"keccak256\":\"0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70\",\"dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t\"]},\"contracts/release/extensions/fee-manager/IFeeManager.sol\":{\"keccak256\":\"0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22\",\"dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod\"]},\"contracts/release/extensions/policy-manager/IPolicy.sol\":{\"keccak256\":\"0xc12663ca72065b256c3b934ab738fde26c147c7b0399de43650df89dd52ee467\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://be8fecfcba0f3fda615f0a1bb3c766750c23761ef751d7c4472dfe540e460cd1\",\"dweb:/ipfs/QmaarPoRTsX6NiJ8V4u2f3Qh6d7tUs28bw9R14An3t5Bs1\"]},\"contracts/release/extensions/policy-manager/IPolicyManager.sol\":{\"keccak256\":\"0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa\",\"dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb\"]},\"contracts/release/extensions/policy-manager/policies/asset-managers/AllowedAdaptersPolicy.sol\":{\"keccak256\":\"0x10f1748339a65a137b0ca0760a50274216719573310fa9be5d0780037a521798\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9a5f61075889fdae41260ca7749bb53bf35021f82fe577c8d419c53531cb16c7\",\"dweb:/ipfs/QmV3eJyyhAQ6nEZqwRVRrxYEQ4w2p564UXM7LLKybq5sL1\"]},\"contracts/release/extensions/policy-manager/policies/utils/AddressListRegistryPolicyBase.sol\":{\"keccak256\":\"0x3fdcf3e45c9d6b9cf5221aeb95858060dfc18abf744f664b5ce9bf2f0a6a7bdc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://48b3ed06e509a45f122112129bf3d221ae30afad87722a123f7405a4a24e6645\",\"dweb:/ipfs/QmSA3cJB7C6x6BasicDpzwnHuxFkL6k8hR5fDRD42BWsGc\"]},\"contracts/release/extensions/policy-manager/policies/utils/PolicyBase.sol\":{\"keccak256\":\"0x972311abb98f0da815b4aca83d5afdd219d3604ec19cf5e3773c0c305bd9b3f1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2452f3d1f3b1d8e8459a07489146a2d0d8a10463715937995cbe77ee5de8c069\",\"dweb:/ipfs/Qmf2hhd2DVbjpxmbNGAhRZNZkqpGZA2mX3eA1WNwtv6t5Y\"]},\"contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol\":{\"keccak256\":\"0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f\",\"dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol\":{\"keccak256\":\"0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0\",\"dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol\":{\"keccak256\":\"0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b\",\"dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3\"]},\"contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol\":{\"keccak256\":\"0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965\",\"dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ\"]},\"contracts/release/interfaces/IGsnForwarder.sol\":{\"keccak256\":\"0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29\",\"dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G\"]},\"contracts/release/interfaces/IGsnPaymaster.sol\":{\"keccak256\":\"0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4\",\"dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF\"]},\"contracts/release/interfaces/IGsnTypes.sol\":{\"keccak256\":\"0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7\",\"dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/beacon-proxy/IBeacon.sol\":{\"keccak256\":\"0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39\",\"dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V\"]},\"contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol\":{\"keccak256\":\"0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be\",\"dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_policyManager", - "type": "address" - }, - { - "internalType": "address", - "name": "_addressListRegistry", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "comptrollerProxy", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256[]", - "name": "listIds", - "type": "uint256[]", - "indexed": false - } - ], - "type": "event", - "name": "ListsSetForFund", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "activateForFund" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_encodedSettings", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "addFundSettings" - }, - { - "inputs": [], - "stateMutability": "pure", - "type": "function", - "name": "canDisable", - "outputs": [ - { - "internalType": "bool", - "name": "canDisable_", - "type": "bool" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getAddressListRegistry", - "outputs": [ - { - "internalType": "address", - "name": "addressListRegistry_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getListIdsForFund", - "outputs": [ - { - "internalType": "uint256[]", - "name": "listIds_", - "type": "uint256[]" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getPolicyManager", - "outputs": [ - { - "internalType": "address", - "name": "policyManager_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "pure", - "type": "function", - "name": "identifier", - "outputs": [ - { - "internalType": "string", - "name": "identifier_", - "type": "string" - } - ] - }, - { - "inputs": [], - "stateMutability": "pure", - "type": "function", - "name": "implementedHooks", - "outputs": [ - { - "internalType": "enum IPolicyManager.PolicyHook[]", - "name": "implementedHooks_", - "type": "uint8[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_adapter", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "passesRule", - "outputs": [ - { - "internalType": "bool", - "name": "isValid_", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "updateFundSettings" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "enum IPolicyManager.PolicyHook", - "name": "", - "type": "uint8" - }, - { - "internalType": "bytes", - "name": "_encodedArgs", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "validateRule", - "outputs": [ - { - "internalType": "bool", - "name": "isValid_", - "type": "bool" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "activateForFund(address)": { - "details": "Unimplemented by default, can be overridden by the policy" - }, - "addFundSettings(address,bytes)": { - "params": { - "_comptrollerProxy": "The fund's ComptrollerProxy address", - "_encodedSettings": "Encoded settings to apply to a fund" - } - }, - "canDisable()": { - "details": "False by default, can be overridden by the policy", - "returns": { - "canDisable_": "True if the policy can be disabled" - } - }, - "getAddressListRegistry()": { - "returns": { - "addressListRegistry_": "The `ADDRESS_LIST_REGISTRY` variable value" - } - }, - "getListIdsForFund(address)": { - "params": { - "_comptrollerProxy": "The ComptrollerProxy of the fund" - }, - "returns": { - "listIds_": "The list ids" - } - }, - "getPolicyManager()": { - "returns": { - "policyManager_": "The `POLICY_MANAGER` variable value" - } - }, - "identifier()": { - "returns": { - "identifier_": "The identifer string" - } - }, - "implementedHooks()": { - "returns": { - "implementedHooks_": "The implemented PolicyHooks" - } - }, - "passesRule(address,address)": { - "params": { - "_adapter": "The adapter for which to check the rule", - "_comptrollerProxy": "The fund's ComptrollerProxy address" - }, - "returns": { - "isValid_": "True if the rule passes" - } - }, - "updateFundSettings(address,bytes)": { - "details": "Disallowed by default, can be overridden by the policy" - }, - "validateRule(address,uint8,bytes)": { - "details": "onlyPolicyManager validation not necessary, as state is not updated and no events are fired", - "params": { - "_comptrollerProxy": "The fund's ComptrollerProxy address", - "_encodedArgs": "Encoded args with which to validate the rule" - }, - "returns": { - "isValid_": "True if the rule passes" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "activateForFund(address)": { - "notice": "Validates and initializes a policy as necessary prior to fund activation" - }, - "addFundSettings(address,bytes)": { - "notice": "Adds the initial policy settings for a fund" - }, - "canDisable()": { - "notice": "Whether or not the policy can be disabled" - }, - "getAddressListRegistry()": { - "notice": "Gets the `ADDRESS_LIST_REGISTRY` variable value" - }, - "getListIdsForFund(address)": { - "notice": "Gets the list ids used by a given fund" - }, - "getPolicyManager()": { - "notice": "Gets the `POLICY_MANAGER` variable value" - }, - "identifier()": { - "notice": "Provides a constant string identifier for a policy" - }, - "implementedHooks()": { - "notice": "Gets the implemented PolicyHooks for a policy" - }, - "passesRule(address,address)": { - "notice": "Checks whether a particular condition passes the rule for a particular fund" - }, - "updateFundSettings(address,bytes)": { - "notice": "Updates the policy settings for a fund" - }, - "validateRule(address,uint8,bytes)": { - "notice": "Apply the rule with the specified parameters of a PolicyHook" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/policy-manager/policies/asset-managers/AllowedAdaptersPolicy.sol": "AllowedAdaptersPolicy" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/address-list-registry/AddressListRegistry.sol": { - "keccak256": "0xf00a9e376e3ec2a223f463f71c15ee3af3642dd028bc3762440e316b760c8048", - "urls": [ - "bzz-raw://01986c9327b5dfbfac21316dced6d68727931ddde1278ed1342d878004f984b9", - "dweb:/ipfs/QmdXkFaUU43JqMTYEREbWa129rohdqN7GXy7mVRpjCfSLD" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/dispatcher/IDispatcher.sol": { - "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", - "urls": [ - "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", - "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/external-positions/IExternalPosition.sol": { - "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", - "urls": [ - "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", - "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IExternalPositionVault.sol": { - "keccak256": "0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6", - "urls": [ - "bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d", - "dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol": { - "keccak256": "0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0", - "urls": [ - "bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb", - "dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IMigratableVault.sol": { - "keccak256": "0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238", - "urls": [ - "bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6", - "dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IVaultCore.sol": { - "keccak256": "0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80", - "urls": [ - "bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd", - "dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund-deployer/IFundDeployer.sol": { - "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", - "urls": [ - "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", - "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/comptroller/ComptrollerLib.sol": { - "keccak256": "0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64", - "urls": [ - "bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579", - "dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/comptroller/IComptroller.sol": { - "keccak256": "0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f", - "urls": [ - "bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97", - "dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/vault/IVault.sol": { - "keccak256": "0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd", - "urls": [ - "bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599", - "dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/IExtension.sol": { - "keccak256": "0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b", - "urls": [ - "bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70", - "dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/fee-manager/IFeeManager.sol": { - "keccak256": "0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51", - "urls": [ - "bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22", - "dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/policy-manager/IPolicy.sol": { - "keccak256": "0xc12663ca72065b256c3b934ab738fde26c147c7b0399de43650df89dd52ee467", - "urls": [ - "bzz-raw://be8fecfcba0f3fda615f0a1bb3c766750c23761ef751d7c4472dfe540e460cd1", - "dweb:/ipfs/QmaarPoRTsX6NiJ8V4u2f3Qh6d7tUs28bw9R14An3t5Bs1" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/policy-manager/IPolicyManager.sol": { - "keccak256": "0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32", - "urls": [ - "bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa", - "dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/policy-manager/policies/asset-managers/AllowedAdaptersPolicy.sol": { - "keccak256": "0x10f1748339a65a137b0ca0760a50274216719573310fa9be5d0780037a521798", - "urls": [ - "bzz-raw://9a5f61075889fdae41260ca7749bb53bf35021f82fe577c8d419c53531cb16c7", - "dweb:/ipfs/QmV3eJyyhAQ6nEZqwRVRrxYEQ4w2p564UXM7LLKybq5sL1" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/policy-manager/policies/utils/AddressListRegistryPolicyBase.sol": { - "keccak256": "0x3fdcf3e45c9d6b9cf5221aeb95858060dfc18abf744f664b5ce9bf2f0a6a7bdc", - "urls": [ - "bzz-raw://48b3ed06e509a45f122112129bf3d221ae30afad87722a123f7405a4a24e6645", - "dweb:/ipfs/QmSA3cJB7C6x6BasicDpzwnHuxFkL6k8hR5fDRD42BWsGc" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/policy-manager/policies/utils/PolicyBase.sol": { - "keccak256": "0x972311abb98f0da815b4aca83d5afdd219d3604ec19cf5e3773c0c305bd9b3f1", - "urls": [ - "bzz-raw://2452f3d1f3b1d8e8459a07489146a2d0d8a10463715937995cbe77ee5de8c069", - "dweb:/ipfs/Qmf2hhd2DVbjpxmbNGAhRZNZkqpGZA2mX3eA1WNwtv6t5Y" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol": { - "keccak256": "0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609", - "urls": [ - "bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f", - "dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol": { - "keccak256": "0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01", - "urls": [ - "bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0", - "dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol": { - "keccak256": "0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196", - "urls": [ - "bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b", - "dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol": { - "keccak256": "0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794", - "urls": [ - "bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965", - "dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IGsnForwarder.sol": { - "keccak256": "0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030", - "urls": [ - "bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29", - "dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IGsnPaymaster.sol": { - "keccak256": "0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c", - "urls": [ - "bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4", - "dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IGsnTypes.sol": { - "keccak256": "0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714", - "urls": [ - "bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7", - "dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AddressArrayLib.sol": { - "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", - "urls": [ - "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", - "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/beacon-proxy/IBeacon.sol": { - "keccak256": "0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2", - "urls": [ - "bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39", - "dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol": { - "keccak256": "0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc", - "urls": [ - "bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be", - "dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { - "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", - "urls": [ - "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", - "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Address.sol": { - "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", - "urls": [ - "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", - "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 209 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_policyManager", "type": "address", "internalType": "address" }, { "name": "_addressListRegistry", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "activateForFund", "inputs": [ { "name": "", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "addFundSettings", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" }, { "name": "_encodedSettings", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "canDisable", "inputs": [], "outputs": [ { "name": "canDisable_", "type": "bool", "internalType": "bool" } ], "stateMutability": "pure" }, { "type": "function", "name": "getAddressListRegistry", "inputs": [], "outputs": [ { "name": "addressListRegistry_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getListIdsForFund", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "listIds_", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "view" }, { "type": "function", "name": "getPolicyManager", "inputs": [], "outputs": [ { "name": "policyManager_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "identifier", "inputs": [], "outputs": [ { "name": "identifier_", "type": "string", "internalType": "string" } ], "stateMutability": "pure" }, { "type": "function", "name": "implementedHooks", "inputs": [], "outputs": [ { "name": "implementedHooks_", "type": "uint8[]", "internalType": "enum IPolicyManager.PolicyHook[]" } ], "stateMutability": "pure" }, { "type": "function", "name": "passesRule", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" }, { "name": "_adapter", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "isValid_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "updateFundSettings", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "validateRule", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" }, { "name": "", "type": "uint8", "internalType": "enum IPolicyManager.PolicyHook" }, { "name": "_encodedArgs", "type": "bytes", "internalType": "bytes" } ], "outputs": [ { "name": "isValid_", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "event", "name": "ListsSetForFund", "inputs": [ { "name": "comptrollerProxy", "type": "address", "indexed": true, "internalType": "address" }, { "name": "listIds", "type": "uint256[]", "indexed": false, "internalType": "uint256[]" } ], "anonymous": false } ], "bytecode": { "object": "0x60c06040523480156200001157600080fd5b50604051620013c4380380620013c4833981016040819052620000349162000066565b6001600160601b0319606092831b8116608052911b1660a052620000d1565b80516200006081620000b7565b92915050565b600080604083850312156200007a57600080fd5b600062000088858562000053565b92505060206200009b8582860162000053565b9150509250929050565b60006001600160a01b03821662000060565b620000c281620000a5565b8114620000ce57600080fd5b50565b60805160601c60a05160601c6112c462000100600039806102725250806101c052806103b252506112c46000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c80637998a1c4116100715780637998a1c41461011c578063b67cb40c14610131578063cbf54bb214610144578063ceb9a0ad14610159578063d44ad6cb1461016c578063dffd7c6f14610174576100a9565b80630d4d7510146100ae5780630f5f6b4f146100c35780631ef92578146100d6578063579be718146100f45780637470893414610107575b600080fd5b6100c16100bc366004610c4f565b610194565b005b6100c16100d1366004610c4f565b6101b5565b6100de61020d565b6040516100eb91906110ef565b60405180910390f35b6100de610102366004610ca4565b610212565b61010f610270565b6040516100eb919061106b565b610124610294565b6040516100eb91906110fd565b6100de61013f366004610c15565b6102be565b61014c610356565b6040516100eb91906110a6565b6100c1610167366004610ad9565b6103ad565b61010f6103b0565b610187610182366004610ad9565b6103d4565b6040516100eb91906110b7565b60405162461bcd60e51b81526004016101ac9061110e565b60405180910390fd5b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146101fd5760405162461bcd60e51b81526004016101ac9061111e565b61020883838361043f565b505050565b600090565b60008061025484848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061070192505050565b505050505091505061026686826102be565b9695505050505050565b7f000000000000000000000000000000000000000000000000000000000000000090565b60408051808201909152601081526f414c4c4f5745445f414441505445525360801b602082015290565b60006102c8610270565b6001600160a01b03166375674f466102df856103d4565b846040518363ffffffff1660e01b81526004016102fd9291906110c8565b60206040518083038186803b15801561031557600080fd5b505afa158015610329573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061034d9190610d68565b90505b92915050565b6040805160018082528183019092526060916020808301908036833701905050905060018160008151811061038757fe5b6020026020010190600981111561039a57fe5b908160098111156103a757fe5b90525090565b50565b7f000000000000000000000000000000000000000000000000000000000000000090565b6001600160a01b0381166000908152602081815260409182902080548351818402810184019094528084526060939283018282801561043257602002820191906000526020600020905b81548152602001906001019080831161041e575b505050505090505b919050565b60608061044e83850185610d0b565b91509150606081518351016001600160401b038111801561046e57600080fd5b50604051908082528060200260200182016040528015610498578160200160208202803683370190505b5090508051600014156104bd5760405162461bcd60e51b81526004016101ac9061112e565b6001600160a01b038616600090815260208190526040902054156104fc576001600160a01b03861660009081526020819052604081206104fc916107fc565b60005b835181101561058f5783818151811061051457fe5b602002602001015182828151811061052857fe5b602002602001018181525050600080886001600160a01b03166001600160a01b0316815260200190815260200160002084828151811061056457fe5b60209081029190910181015182546001818101855560009485529290932090920191909155016104ff565b508151156106b8576000866001600160a01b031663c98091876040518163ffffffff1660e01b815260040160206040518083038186803b1580156105d257600080fd5b505afa1580156105e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061060a9190610aff565b905060005b83518110156106b557600081865101905061063d8386848151811061063057fe5b6020026020010151610737565b84828151811061064957fe5b6020026020010181815250506000808a6001600160a01b03166001600160a01b0316815260200190815260200160002084828151811061068557fe5b6020908102919091018101518254600181810185556000948552929093209092019190915591909101905061060f565b50505b856001600160a01b03167fd63f5b55f54cdda3234eab3aa26d85b99854a43efea66e0c459220fd7b3a332f826040516106f191906110b7565b60405180910390a2505050505050565b6000806000606080606080878060200190518101906107209190610b1d565b959e949d50929b5090995097509550909350915050565b6000806060610745846107db565b91509150610751610270565b6001600160a01b031663be68406e8684846040518463ffffffff1660e01b815260040161078093929190611079565b602060405180830381600087803b15801561079a57600080fd5b505af11580156107ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107d29190610dcd565b95945050505050565b60006060828060200190518101906107f39190610d86565b91509150915091565b50805460008255906000526020600020908101906103ad91905b8082111561082a5760008155600101610816565b5090565b80356103508161126e565b80516103508161126e565b600082601f83011261085557600080fd5b815161086861086382611164565b61113e565b9150818183526020840193506020810190508385602084028201111561088d57600080fd5b60005b838110156108b957816108a38882610839565b8452506020928301929190910190600101610890565b5050505092915050565b600082601f8301126108d457600080fd5b81356108e261086382611164565b81815260209384019390925082018360005b838110156108b9578135860161090a8882610a5e565b84525060209283019291909101906001016108f4565b600082601f83011261093157600080fd5b813561093f61086382611164565b9150818183526020840193506020810190508385602084028201111561096457600080fd5b60005b838110156108b9578161097a8882610ac3565b8452506020928301929190910190600101610967565b600082601f8301126109a157600080fd5b81516109af61086382611164565b915081818352602084019350602081019050838560208402820111156109d457600080fd5b60005b838110156108b957816109ea8882610ace565b84525060209283019291909101906001016109d7565b805161035081611282565b80516103508161128b565b60008083601f840112610a2857600080fd5b5081356001600160401b03811115610a3f57600080fd5b602083019150836001820283011115610a5757600080fd5b9250929050565b600082601f830112610a6f57600080fd5b8135610a7d61086382611184565b91508082526020830160208301858383011115610a9957600080fd5b610aa4838284611214565b50505092915050565b803561035081611294565b8051610350816112a1565b8035610350816112ae565b8051610350816112ae565b600060208284031215610aeb57600080fd5b6000610af7848461082e565b949350505050565b600060208284031215610b1157600080fd5b6000610af78484610839565b600080600080600080600060e0888a031215610b3857600080fd5b6000610b448a8a610839565b9750506020610b558a828b01610839565b9650506040610b668a828b01610a0b565b95505060608801516001600160401b03811115610b8257600080fd5b610b8e8a828b01610844565b94505060808801516001600160401b03811115610baa57600080fd5b610bb68a828b01610990565b93505060a08801516001600160401b03811115610bd257600080fd5b610bde8a828b01610844565b92505060c08801516001600160401b03811115610bfa57600080fd5b610c068a828b01610990565b91505092959891949750929550565b60008060408385031215610c2857600080fd5b6000610c34858561082e565b9250506020610c458582860161082e565b9150509250929050565b600080600060408486031215610c6457600080fd5b6000610c70868661082e565b93505060208401356001600160401b03811115610c8c57600080fd5b610c9886828701610a16565b92509250509250925092565b60008060008060608587031215610cba57600080fd5b6000610cc6878761082e565b9450506020610cd787828801610aad565b93505060408501356001600160401b03811115610cf357600080fd5b610cff87828801610a16565b95989497509550505050565b60008060408385031215610d1e57600080fd5b82356001600160401b03811115610d3457600080fd5b610d4085828601610920565b92505060208301356001600160401b03811115610d5c57600080fd5b610c45858286016108c3565b600060208284031215610d7a57600080fd5b6000610af78484610a00565b60008060408385031215610d9957600080fd5b6000610da58585610ab8565b92505060208301516001600160401b03811115610dc157600080fd5b610c4585828601610844565b600060208284031215610ddf57600080fd5b6000610af78484610ace565b6000610df78383610e17565b505060200190565b6000610df78383610f24565b6000610df78383611062565b610e20816111be565b82525050565b6000610e31826111b1565b610e3b81856111b5565b9350610e46836111ab565b8060005b83811015610e74578151610e5e8882610deb565b9750610e69836111ab565b925050600101610e4a565b509495945050505050565b6000610e8a826111b1565b610e9481856111b5565b9350610e9f836111ab565b8060005b83811015610e74578151610eb78882610dff565b9750610ec2836111ab565b925050600101610ea3565b6000610ed8826111b1565b610ee281856111b5565b9350610eed836111ab565b8060005b83811015610e74578151610f058882610e0b565b9750610f10836111ab565b925050600101610ef1565b610e20816111c9565b610e20816111fe565b610e2081611209565b6000610f41826111b1565b610f4b81856111b5565b9350610f5b818560208601611220565b610f6481611250565b9093019392505050565b6000610f7b6037836111b5565b7f75706461746546756e6453657474696e67733a2055706461746573206e6f742081527f616c6c6f77656420666f72207468697320706f6c696379000000000000000000602082015260400192915050565b6000610fda6029836111b5565b7f4f6e6c792074686520506f6c6963794d616e616765722063616e206d616b65208152681d1a1a5cc818d85b1b60ba1b602082015260400192915050565b60006110256028836111b5565b7f5f5f7570646174654c69737473466f7246756e643a204e6f206c6973747320738152671c1958da599a595960c21b602082015260400192915050565b610e20816111fb565b602081016103508284610e17565b606081016110878286610e17565b6110946020830185610f2d565b81810360408301526107d28184610e26565b6020808252810161034d8184610e7f565b6020808252810161034d8184610ecd565b604080825281016110d98185610ecd565b90506110e86020830184610e17565b9392505050565b602081016103508284610f1b565b6020808252810161034d8184610f36565b6020808252810161035081610f6e565b6020808252810161035081610fcd565b6020808252810161035081611018565b6040518181016001600160401b038111828210171561115c57600080fd5b604052919050565b60006001600160401b0382111561117a57600080fd5b5060209081020190565b60006001600160401b0382111561119a57600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b6000610350826111ef565b151590565b6001600160e01b03191690565b8061043a8161125a565b8061043a81611264565b6001600160a01b031690565b90565b6000610350826111db565b6000610350826111e5565b82818337506000910152565b60005b8381101561123b578181015183820152602001611223565b8381111561124a576000848401525b50505050565b601f01601f191690565b600a81106103ad57fe5b600481106103ad57fe5b611277816111be565b81146103ad57600080fd5b611277816111c9565b611277816111ce565b600a81106103ad57600080fd5b600481106103ad57600080fd5b611277816111fb56fea164736f6c634300060c000a", "sourceMap": "532:2316:209:-:0;;;602:163;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;737:31:223;;;;;;;;1052:44:221;;;::::1;::::0;532:2316:209;;5:134:-1;83:13;;101:33;83:13;101:33;:::i;:::-;68:71;;;;:::o;146:399::-;;;278:2;266:9;257:7;253:23;249:32;246:2;;;294:1;291;284:12;246:2;329:1;346:64;402:7;382:9;346:64;:::i;:::-;336:74;;308:108;447:2;465:64;521:7;512:6;501:9;497:22;465:64;:::i;:::-;455:74;;426:109;240:305;;;;;:::o;552:91::-;;-1:-1;;;;;712:54;;614:24;695:76::o;778:117::-;847:24;865:5;847:24;:::i;:::-;840:5;837:35;827:2;;886:1;883;876:12;827:2;821:74;:::o;:::-;532:2316:209;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106100a95760003560e01c80637998a1c4116100715780637998a1c41461011c578063b67cb40c14610131578063cbf54bb214610144578063ceb9a0ad14610159578063d44ad6cb1461016c578063dffd7c6f14610174576100a9565b80630d4d7510146100ae5780630f5f6b4f146100c35780631ef92578146100d6578063579be718146100f45780637470893414610107575b600080fd5b6100c16100bc366004610c4f565b610194565b005b6100c16100d1366004610c4f565b6101b5565b6100de61020d565b6040516100eb91906110ef565b60405180910390f35b6100de610102366004610ca4565b610212565b61010f610270565b6040516100eb919061106b565b610124610294565b6040516100eb91906110fd565b6100de61013f366004610c15565b6102be565b61014c610356565b6040516100eb91906110a6565b6100c1610167366004610ad9565b6103ad565b61010f6103b0565b610187610182366004610ad9565b6103d4565b6040516100eb91906110b7565b60405162461bcd60e51b81526004016101ac9061110e565b60405180910390fd5b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146101fd5760405162461bcd60e51b81526004016101ac9061111e565b61020883838361043f565b505050565b600090565b60008061025484848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061070192505050565b505050505091505061026686826102be565b9695505050505050565b7f000000000000000000000000000000000000000000000000000000000000000090565b60408051808201909152601081526f414c4c4f5745445f414441505445525360801b602082015290565b60006102c8610270565b6001600160a01b03166375674f466102df856103d4565b846040518363ffffffff1660e01b81526004016102fd9291906110c8565b60206040518083038186803b15801561031557600080fd5b505afa158015610329573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061034d9190610d68565b90505b92915050565b6040805160018082528183019092526060916020808301908036833701905050905060018160008151811061038757fe5b6020026020010190600981111561039a57fe5b908160098111156103a757fe5b90525090565b50565b7f000000000000000000000000000000000000000000000000000000000000000090565b6001600160a01b0381166000908152602081815260409182902080548351818402810184019094528084526060939283018282801561043257602002820191906000526020600020905b81548152602001906001019080831161041e575b505050505090505b919050565b60608061044e83850185610d0b565b91509150606081518351016001600160401b038111801561046e57600080fd5b50604051908082528060200260200182016040528015610498578160200160208202803683370190505b5090508051600014156104bd5760405162461bcd60e51b81526004016101ac9061112e565b6001600160a01b038616600090815260208190526040902054156104fc576001600160a01b03861660009081526020819052604081206104fc916107fc565b60005b835181101561058f5783818151811061051457fe5b602002602001015182828151811061052857fe5b602002602001018181525050600080886001600160a01b03166001600160a01b0316815260200190815260200160002084828151811061056457fe5b60209081029190910181015182546001818101855560009485529290932090920191909155016104ff565b508151156106b8576000866001600160a01b031663c98091876040518163ffffffff1660e01b815260040160206040518083038186803b1580156105d257600080fd5b505afa1580156105e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061060a9190610aff565b905060005b83518110156106b557600081865101905061063d8386848151811061063057fe5b6020026020010151610737565b84828151811061064957fe5b6020026020010181815250506000808a6001600160a01b03166001600160a01b0316815260200190815260200160002084828151811061068557fe5b6020908102919091018101518254600181810185556000948552929093209092019190915591909101905061060f565b50505b856001600160a01b03167fd63f5b55f54cdda3234eab3aa26d85b99854a43efea66e0c459220fd7b3a332f826040516106f191906110b7565b60405180910390a2505050505050565b6000806000606080606080878060200190518101906107209190610b1d565b959e949d50929b5090995097509550909350915050565b6000806060610745846107db565b91509150610751610270565b6001600160a01b031663be68406e8684846040518463ffffffff1660e01b815260040161078093929190611079565b602060405180830381600087803b15801561079a57600080fd5b505af11580156107ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107d29190610dcd565b95945050505050565b60006060828060200190518101906107f39190610d86565b91509150915091565b50805460008255906000526020600020908101906103ad91905b8082111561082a5760008155600101610816565b5090565b80356103508161126e565b80516103508161126e565b600082601f83011261085557600080fd5b815161086861086382611164565b61113e565b9150818183526020840193506020810190508385602084028201111561088d57600080fd5b60005b838110156108b957816108a38882610839565b8452506020928301929190910190600101610890565b5050505092915050565b600082601f8301126108d457600080fd5b81356108e261086382611164565b81815260209384019390925082018360005b838110156108b9578135860161090a8882610a5e565b84525060209283019291909101906001016108f4565b600082601f83011261093157600080fd5b813561093f61086382611164565b9150818183526020840193506020810190508385602084028201111561096457600080fd5b60005b838110156108b9578161097a8882610ac3565b8452506020928301929190910190600101610967565b600082601f8301126109a157600080fd5b81516109af61086382611164565b915081818352602084019350602081019050838560208402820111156109d457600080fd5b60005b838110156108b957816109ea8882610ace565b84525060209283019291909101906001016109d7565b805161035081611282565b80516103508161128b565b60008083601f840112610a2857600080fd5b5081356001600160401b03811115610a3f57600080fd5b602083019150836001820283011115610a5757600080fd5b9250929050565b600082601f830112610a6f57600080fd5b8135610a7d61086382611184565b91508082526020830160208301858383011115610a9957600080fd5b610aa4838284611214565b50505092915050565b803561035081611294565b8051610350816112a1565b8035610350816112ae565b8051610350816112ae565b600060208284031215610aeb57600080fd5b6000610af7848461082e565b949350505050565b600060208284031215610b1157600080fd5b6000610af78484610839565b600080600080600080600060e0888a031215610b3857600080fd5b6000610b448a8a610839565b9750506020610b558a828b01610839565b9650506040610b668a828b01610a0b565b95505060608801516001600160401b03811115610b8257600080fd5b610b8e8a828b01610844565b94505060808801516001600160401b03811115610baa57600080fd5b610bb68a828b01610990565b93505060a08801516001600160401b03811115610bd257600080fd5b610bde8a828b01610844565b92505060c08801516001600160401b03811115610bfa57600080fd5b610c068a828b01610990565b91505092959891949750929550565b60008060408385031215610c2857600080fd5b6000610c34858561082e565b9250506020610c458582860161082e565b9150509250929050565b600080600060408486031215610c6457600080fd5b6000610c70868661082e565b93505060208401356001600160401b03811115610c8c57600080fd5b610c9886828701610a16565b92509250509250925092565b60008060008060608587031215610cba57600080fd5b6000610cc6878761082e565b9450506020610cd787828801610aad565b93505060408501356001600160401b03811115610cf357600080fd5b610cff87828801610a16565b95989497509550505050565b60008060408385031215610d1e57600080fd5b82356001600160401b03811115610d3457600080fd5b610d4085828601610920565b92505060208301356001600160401b03811115610d5c57600080fd5b610c45858286016108c3565b600060208284031215610d7a57600080fd5b6000610af78484610a00565b60008060408385031215610d9957600080fd5b6000610da58585610ab8565b92505060208301516001600160401b03811115610dc157600080fd5b610c4585828601610844565b600060208284031215610ddf57600080fd5b6000610af78484610ace565b6000610df78383610e17565b505060200190565b6000610df78383610f24565b6000610df78383611062565b610e20816111be565b82525050565b6000610e31826111b1565b610e3b81856111b5565b9350610e46836111ab565b8060005b83811015610e74578151610e5e8882610deb565b9750610e69836111ab565b925050600101610e4a565b509495945050505050565b6000610e8a826111b1565b610e9481856111b5565b9350610e9f836111ab565b8060005b83811015610e74578151610eb78882610dff565b9750610ec2836111ab565b925050600101610ea3565b6000610ed8826111b1565b610ee281856111b5565b9350610eed836111ab565b8060005b83811015610e74578151610f058882610e0b565b9750610f10836111ab565b925050600101610ef1565b610e20816111c9565b610e20816111fe565b610e2081611209565b6000610f41826111b1565b610f4b81856111b5565b9350610f5b818560208601611220565b610f6481611250565b9093019392505050565b6000610f7b6037836111b5565b7f75706461746546756e6453657474696e67733a2055706461746573206e6f742081527f616c6c6f77656420666f72207468697320706f6c696379000000000000000000602082015260400192915050565b6000610fda6029836111b5565b7f4f6e6c792074686520506f6c6963794d616e616765722063616e206d616b65208152681d1a1a5cc818d85b1b60ba1b602082015260400192915050565b60006110256028836111b5565b7f5f5f7570646174654c69737473466f7246756e643a204e6f206c6973747320738152671c1958da599a595960c21b602082015260400192915050565b610e20816111fb565b602081016103508284610e17565b606081016110878286610e17565b6110946020830185610f2d565b81810360408301526107d28184610e26565b6020808252810161034d8184610e7f565b6020808252810161034d8184610ecd565b604080825281016110d98185610ecd565b90506110e86020830184610e17565b9392505050565b602081016103508284610f1b565b6020808252810161034d8184610f36565b6020808252810161035081610f6e565b6020808252810161035081610fcd565b6020808252810161035081611018565b6040518181016001600160401b038111828210171561115c57600080fd5b604052919050565b60006001600160401b0382111561117a57600080fd5b5060209081020190565b60006001600160401b0382111561119a57600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b6000610350826111ef565b151590565b6001600160e01b03191690565b8061043a8161125a565b8061043a81611264565b6001600160a01b031690565b90565b6000610350826111db565b6000610350826111e5565b82818337506000910152565b60005b8381101561123b578181015183820152602001611223565b8381111561124a576000848401525b50505050565b601f01601f191690565b600a81106103ad57fe5b600481106103ad57fe5b611277816111be565b81146103ad57600080fd5b611277816111c9565b611277816111ce565b600a81106103ad57600080fd5b600481106103ad57600080fd5b611277816111fb56fea164736f6c634300060c000a", "sourceMap": "532:2316:209:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1452:161:223;;;;;;:::i;:::-;;:::i;:::-;;1333:239:221;;;;;;:::i;:::-;;:::i;1214:109:223:-;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1882:339:209;;;;;;:::i;:::-;;:::i;4613:130:221:-;;;:::i;:::-;;;;;;;:::i;914:123:209:-;;;:::i;:::-;;;;;;;:::i;2526:320::-;;;;;;:::i;:::-;;:::i;1167:336::-;;;:::i;:::-;;;;;;;:::i;941:83:223:-;;;;;;:::i;:::-;;:::i;6755:113::-;;;:::i;4908:198:221:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1452:161:223:-;1541:65;;-1:-1:-1;;;1541:65:223;;;;;;;:::i;:::-;;;;;;;;1333:239:221;586:10:223;-1:-1:-1;;;;;600:14:223;586:28;;578:82;;;;-1:-1:-1;;;578:82:223;;;;;;;:::i;:::-;1508:57:221::1;1529:17;1548:16;;1508:20;:57::i;:::-;1333:239:::0;;;:::o;1214:109:223:-;1276:16;1214:109;:::o;1882:339:209:-;2044:13;2072:15;2101:57;2145:12;;2101:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2101:43:209;;-1:-1:-1;;;2101:57:209:i;:::-;2069:89;;;;;;;;2176:38;2187:17;2206:7;2176:10;:38::i;:::-;2169:45;1882:339;-1:-1:-1;;;;;;1882:339:209:o;4613:130:221:-;4715:21;4613:130;:::o;914:123:209:-;1005:25;;;;;;;;;;;;-1:-1:-1;;;1005:25:209;;;;914:123;:::o;2526:320::-;2636:13;2704:24;:22;:24::i;:::-;-1:-1:-1;;;;;2684:61:209;;2763:36;2781:17;2763;:36::i;:::-;2817:8;2684:155;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2665:174;;2526:320;;;;;:::o;1167:336::-;1347:34;;;1379:1;1347:34;;;;;;;;;1259:52;;1347:34;;;;;;;;;;;-1:-1:-1;1347:34:209;1327:54;;1414:47;1391:17;1409:1;1391:20;;;;;;;;;;;;;:70;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1167:336:209;:::o;941:83:223:-;;:::o;6755:113::-;6847:14;6755:113;:::o;4908:198:221:-;-1:-1:-1;;;;;5055:44:221;;:25;:44;;;;;;;;;;;;5048:51;;;;;;;;;;;;;;;;;5007:25;;5048:51;;;5055:44;5048:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4908:198;;;;:::o;2752:1638::-;2874:32;;2939:84;;;;2963:16;2939:84;:::i;:::-;2873:150;;;;3034:28;3104:12;:19;3079:15;:22;:44;-1:-1:-1;;;;;3065:59:221;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3065:59:221;;3034:90;;3142:11;:18;3164:1;3142:23;;3134:76;;;;-1:-1:-1;;;3134:76:221;;;;;;;:::i;:::-;-1:-1:-1;;;;;3283:44:221;;3337:1;3283:44;;;;;;;;;;:51;:55;3279:137;;-1:-1:-1;;;;;3361:44:221;;:25;:44;;;;;;;;;;3354:51;;;:::i;:::-;3553:9;3548:192;3568:15;:22;3564:1;:26;3548:192;;;3628:15;3644:1;3628:18;;;;;;;;;;;;;;3611:11;3623:1;3611:14;;;;;;;;;;;;;:35;;;;;3660:25;:44;3686:17;-1:-1:-1;;;;;3660:44:221;-1:-1:-1;;;;;3660:44:221;;;;;;;;;;;;3710:15;3726:1;3710:18;;;;;;;;;;;;;;;;;;;3660:69;;;;;;;;-1:-1:-1;3660:69:221;;;;;;;;;;;;;;3592:3;3548:192;;;-1:-1:-1;3794:19:221;;:23;3790:531;;3833:18;3869:17;-1:-1:-1;;;;;3854:47:221;;:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3833:70;;3922:9;3917:394;3937:12;:19;3933:1;:23;3917:394;;;3981:24;4033:1;4008:15;:22;:26;3981:53;;4084:114;4133:10;4165:12;4178:1;4165:15;;;;;;;;;;;;;;4084:27;:114::i;:::-;4052:11;4064:16;4052:29;;;;;;;;;;;;;:146;;;;;4216:25;:44;4242:17;-1:-1:-1;;;;;4216:44:221;-1:-1:-1;;;;;4216:44:221;;;;;;;;;;;;4266:11;4278:16;4266:29;;;;;;;;;;;;;;;;;;;4216:80;;;;;;;;-1:-1:-1;4216:80:221;;;;;;;;;;;;;;3958:3;;;;;-1:-1:-1;3917:394:221;;;;3790:531;;4352:17;-1:-1:-1;;;;;4336:47:221;;4371:11;4336:47;;;;;;:::i;:::-;;;;;;;;2752:1638;;;;;;:::o;4190:604:223:-;4333:15;4362:16;4392;4422:32;4468:38;4520:29;4563:35;4670:15;4642:145;;;;;;;;;;;;:::i;:::-;4623:164;;;;-1:-1:-1;4623:164:223;;-1:-1:-1;4623:164:223;;-1:-1:-1;4623:164:223;-1:-1:-1;4623:164:223;-1:-1:-1;4623:164:223;;-1:-1:-1;4190:604:223;-1:-1:-1;;4190:604:223:o;1662:488:221:-;1781:15;1826:41;1881:29;1923:33;1943:12;1923:19;:33::i;:::-;1812:144;;;;2006:24;:22;:24::i;:::-;-1:-1:-1;;;;;1986:56:221;;2060:11;2089:10;2117:12;1986:157;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1967:176;1662:488;-1:-1:-1;;;;;1662:488:221:o;2200:276::-;2303:42;2347:30;2411:12;2400:69;;;;;;;;;;;;:::i;:::-;2393:76;;;;2200:276;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5:130::-;72:20;;97:33;72:20;97:33;:::i;142:134::-;220:13;;238:33;220:13;238:33;:::i;458:722::-;;586:3;579:4;571:6;567:17;563:27;553:2;;604:1;601;594:12;553:2;634:6;628:13;656:80;671:64;728:6;671:64;:::i;:::-;656:80;:::i;:::-;647:89;;753:5;778:6;771:5;764:21;808:4;800:6;796:17;786:27;;830:4;825:3;821:14;814:21;;883:6;930:3;922:4;914:6;910:17;905:3;901:27;898:36;895:2;;;947:1;944;937:12;895:2;972:1;957:217;982:6;979:1;976:13;957:217;;;1040:3;1062:48;1106:3;1094:10;1062:48;:::i;:::-;1050:61;;-1:-1;1134:4;1125:14;;;;1153;;;;;1004:1;997:9;957:217;;;961:14;546:634;;;;;;;:::o;1204:705::-;;1330:3;1323:4;1315:6;1311:17;1307:27;1297:2;;1348:1;1345;1338:12;1297:2;1385:6;1372:20;1407:89;1422:73;1488:6;1422:73;:::i;1407:89::-;1524:21;;;1568:4;1556:17;;;;1398:98;;-1:-1;1581:14;;1556:17;1676:1;1661:242;1686:6;1683:1;1680:13;1661:242;;;1769:3;1756:17;1748:6;1744:30;1793:46;1835:3;1823:10;1793:46;:::i;:::-;1781:59;;-1:-1;1863:4;1854:14;;;;1882;;;;;1708:1;1701:9;1661:242;;1935:707;;2052:3;2045:4;2037:6;2033:17;2029:27;2019:2;;2070:1;2067;2060:12;2019:2;2107:6;2094:20;2129:80;2144:64;2201:6;2144:64;:::i;2129:80::-;2120:89;;2226:5;2251:6;2244:5;2237:21;2281:4;2273:6;2269:17;2259:27;;2303:4;2298:3;2294:14;2287:21;;2356:6;2403:3;2395:4;2387:6;2383:17;2378:3;2374:27;2371:36;2368:2;;;2420:1;2417;2410:12;2368:2;2445:1;2430:206;2455:6;2452:1;2449:13;2430:206;;;2513:3;2535:37;2568:3;2556:10;2535:37;:::i;:::-;2523:50;;-1:-1;2596:4;2587:14;;;;2615;;;;;2477:1;2470:9;2430:206;;2668:722;;2796:3;2789:4;2781:6;2777:17;2773:27;2763:2;;2814:1;2811;2804:12;2763:2;2844:6;2838:13;2866:80;2881:64;2938:6;2881:64;:::i;2866:80::-;2857:89;;2963:5;2988:6;2981:5;2974:21;3018:4;3010:6;3006:17;2996:27;;3040:4;3035:3;3031:14;3024:21;;3093:6;3140:3;3132:4;3124:6;3120:17;3115:3;3111:27;3108:36;3105:2;;;3157:1;3154;3147:12;3105:2;3182:1;3167:217;3192:6;3189:1;3186:13;3167:217;;;3250:3;3272:48;3316:3;3304:10;3272:48;:::i;:::-;3260:61;;-1:-1;3344:4;3335:14;;;;3363;;;;;3214:1;3207:9;3167:217;;3398:128;3473:13;;3491:30;3473:13;3491:30;:::i;3533:132::-;3610:13;;3628:32;3610:13;3628:32;:::i;3686:336::-;;;3800:3;3793:4;3785:6;3781:17;3777:27;3767:2;;3818:1;3815;3808:12;3767:2;-1:-1;3838:20;;-1:-1;;;;;3867:30;;3864:2;;;3910:1;3907;3900:12;3864:2;3944:4;3936:6;3932:17;3920:29;;3995:3;3987:4;3979:6;3975:17;3965:8;3961:32;3958:41;3955:2;;;4012:1;4009;4002:12;3955:2;3760:262;;;;;:::o;4031:440::-;;4132:3;4125:4;4117:6;4113:17;4109:27;4099:2;;4150:1;4147;4140:12;4099:2;4187:6;4174:20;4209:64;4224:48;4265:6;4224:48;:::i;4209:64::-;4200:73;;4293:6;4286:5;4279:21;4329:4;4321:6;4317:17;4362:4;4355:5;4351:16;4397:3;4388:6;4383:3;4379:16;4376:25;4373:2;;;4414:1;4411;4404:12;4373:2;4424:41;4458:6;4453:3;4448;4424:41;:::i;:::-;4092:379;;;;;;;:::o;4479:162::-;4562:20;;4587:49;4562:20;4587:49;:::i;4648:164::-;4741:13;;4759:48;4741:13;4759:48;:::i;4819:130::-;4886:20;;4911:33;4886:20;4911:33;:::i;4956:134::-;5034:13;;5052:33;5034:13;5052:33;:::i;5097:241::-;;5201:2;5189:9;5180:7;5176:23;5172:32;5169:2;;;5217:1;5214;5207:12;5169:2;5252:1;5269:53;5314:7;5294:9;5269:53;:::i;:::-;5259:63;5163:175;-1:-1;;;;5163:175::o;5345:263::-;;5460:2;5448:9;5439:7;5435:23;5431:32;5428:2;;;5476:1;5473;5466:12;5428:2;5511:1;5528:64;5584:7;5564:9;5528:64;:::i;5615:1629::-;;;;;;;;5947:3;5935:9;5926:7;5922:23;5918:33;5915:2;;;5964:1;5961;5954:12;5915:2;5999:1;6016:72;6080:7;6060:9;6016:72;:::i;:::-;6006:82;;5978:116;6125:2;6143:72;6207:7;6198:6;6187:9;6183:22;6143:72;:::i;:::-;6133:82;;6104:117;6252:2;6270:63;6325:7;6316:6;6305:9;6301:22;6270:63;:::i;:::-;6260:73;;6231:108;6391:2;6380:9;6376:18;6370:25;-1:-1;;;;;6407:6;6404:30;6401:2;;;6447:1;6444;6437:12;6401:2;6467:89;6548:7;6539:6;6528:9;6524:22;6467:89;:::i;:::-;6457:99;;6349:213;6614:3;6603:9;6599:19;6593:26;-1:-1;;;;;6631:6;6628:30;6625:2;;;6671:1;6668;6661:12;6625:2;6691:89;6772:7;6763:6;6752:9;6748:22;6691:89;:::i;:::-;6681:99;;6572:214;6838:3;6827:9;6823:19;6817:26;-1:-1;;;;;6855:6;6852:30;6849:2;;;6895:1;6892;6885:12;6849:2;6915:89;6996:7;6987:6;6976:9;6972:22;6915:89;:::i;:::-;6905:99;;6796:214;7062:3;7051:9;7047:19;7041:26;-1:-1;;;;;7079:6;7076:30;7073:2;;;7119:1;7116;7109:12;7073:2;7139:89;7220:7;7211:6;7200:9;7196:22;7139:89;:::i;:::-;7129:99;;7020:214;5909:1335;;;;;;;;;;:::o;7251:366::-;;;7372:2;7360:9;7351:7;7347:23;7343:32;7340:2;;;7388:1;7385;7378:12;7340:2;7423:1;7440:53;7485:7;7465:9;7440:53;:::i;:::-;7430:63;;7402:97;7530:2;7548:53;7593:7;7584:6;7573:9;7569:22;7548:53;:::i;:::-;7538:63;;7509:98;7334:283;;;;;:::o;7624:490::-;;;;7764:2;7752:9;7743:7;7739:23;7735:32;7732:2;;;7780:1;7777;7770:12;7732:2;7815:1;7832:53;7877:7;7857:9;7832:53;:::i;:::-;7822:63;;7794:97;7950:2;7939:9;7935:18;7922:32;-1:-1;;;;;7966:6;7963:30;7960:2;;;8006:1;8003;7996:12;7960:2;8034:64;8090:7;8081:6;8070:9;8066:22;8034:64;:::i;:::-;8016:82;;;;7901:203;7726:388;;;;;:::o;8121:647::-;;;;;8294:2;8282:9;8273:7;8269:23;8265:32;8262:2;;;8310:1;8307;8300:12;8262:2;8345:1;8362:53;8407:7;8387:9;8362:53;:::i;:::-;8352:63;;8324:97;8452:2;8470:69;8531:7;8522:6;8511:9;8507:22;8470:69;:::i;:::-;8460:79;;8431:114;8604:2;8593:9;8589:18;8576:32;-1:-1;;;;;8620:6;8617:30;8614:2;;;8660:1;8657;8650:12;8614:2;8688:64;8744:7;8735:6;8724:9;8720:22;8688:64;:::i;:::-;8256:512;;;;-1:-1;8670:82;-1:-1;;;;8256:512::o;8775:656::-;;;8955:2;8943:9;8934:7;8930:23;8926:32;8923:2;;;8971:1;8968;8961:12;8923:2;9006:31;;-1:-1;;;;;9046:30;;9043:2;;;9089:1;9086;9079:12;9043:2;9109:78;9179:7;9170:6;9159:9;9155:22;9109:78;:::i;:::-;9099:88;;8985:208;9252:2;9241:9;9237:18;9224:32;-1:-1;;;;;9268:6;9265:30;9262:2;;;9308:1;9305;9298:12;9262:2;9328:87;9407:7;9398:6;9387:9;9383:22;9328:87;:::i;9438:257::-;;9550:2;9538:9;9529:7;9525:23;9521:32;9518:2;;;9566:1;9563;9556:12;9518:2;9601:1;9618:61;9671:7;9651:9;9618:61;:::i;9702:558::-;;;9874:2;9862:9;9853:7;9849:23;9845:32;9842:2;;;9890:1;9887;9880:12;9842:2;9925:1;9942:79;10013:7;9993:9;9942:79;:::i;:::-;9932:89;;9904:123;10079:2;10068:9;10064:18;10058:25;-1:-1;;;;;10095:6;10092:30;10089:2;;;10135:1;10132;10125:12;10089:2;10155:89;10236:7;10227:6;10216:9;10212:22;10155:89;:::i;10267:263::-;;10382:2;10370:9;10361:7;10357:23;10353:32;10350:2;;;10398:1;10395;10388:12;10350:2;10433:1;10450:64;10506:7;10486:9;10450:64;:::i;10538:173::-;;10625:46;10667:3;10659:6;10625:46;:::i;:::-;-1:-1;;10700:4;10691:14;;10618:93::o;10720:201::-;;10821:60;10877:3;10869:6;10821:60;:::i;10930:173::-;;11017:46;11059:3;11051:6;11017:46;:::i;11111:103::-;11184:24;11202:5;11184:24;:::i;:::-;11179:3;11172:37;11166:48;;:::o;11372:690::-;;11517:54;11565:5;11517:54;:::i;:::-;11584:86;11663:6;11658:3;11584:86;:::i;:::-;11577:93;;11691:56;11741:5;11691:56;:::i;:::-;11767:7;11795:1;11780:260;11805:6;11802:1;11799:13;11780:260;;;11872:6;11866:13;11893:63;11952:3;11937:13;11893:63;:::i;:::-;11886:70;;11973:60;12026:6;11973:60;:::i;:::-;11963:70;-1:-1;;11827:1;11820:9;11780:260;;;-1:-1;12053:3;;11496:566;-1:-1;;;;;11496:566::o;12122:764::-;;12281:70;12345:5;12281:70;:::i;:::-;12364:84;12441:6;12436:3;12364:84;:::i;:::-;12357:91;;12469:72;12535:5;12469:72;:::i;:::-;12561:7;12589:1;12574:290;12599:6;12596:1;12593:13;12574:290;;;12666:6;12660:13;12687:77;12760:3;12745:13;12687:77;:::i;:::-;12680:84;;12781:76;12850:6;12781:76;:::i;:::-;12771:86;-1:-1;;12621:1;12614:9;12574:290;;12925:690;;13070:54;13118:5;13070:54;:::i;:::-;13137:86;13216:6;13211:3;13137:86;:::i;:::-;13130:93;;13244:56;13294:5;13244:56;:::i;:::-;13320:7;13348:1;13333:260;13358:6;13355:1;13352:13;13333:260;;;13425:6;13419:13;13446:63;13505:3;13490:13;13446:63;:::i;:::-;13439:70;;13526:60;13579:6;13526:60;:::i;:::-;13516:70;-1:-1;;13380:1;13373:9;13333:260;;13623:104;13700:21;13715:5;13700:21;:::i;13734:144::-;13821:51;13866:5;13821:51;:::i;13885:152::-;13981:50;14025:5;13981:50;:::i;14044:347::-;;14156:39;14189:5;14156:39;:::i;:::-;14207:71;14271:6;14266:3;14207:71;:::i;:::-;14200:78;;14283:52;14328:6;14323:3;14316:4;14309:5;14305:16;14283:52;:::i;:::-;14356:29;14378:6;14356:29;:::i;:::-;14347:39;;;;14136:255;-1:-1;;;14136:255::o;14399:392::-;;14559:67;14623:2;14618:3;14559:67;:::i;:::-;14659:34;14639:55;;14728:25;14723:2;14714:12;;14707:47;14782:2;14773:12;;14545:246;-1:-1;;14545:246::o;14800:378::-;;14960:67;15024:2;15019:3;14960:67;:::i;:::-;15060:34;15040:55;;-1:-1;;;15124:2;15115:12;;15108:33;15169:2;15160:12;;14946:232;-1:-1;;14946:232::o;15187:377::-;;15347:67;15411:2;15406:3;15347:67;:::i;:::-;15447:34;15427:55;;-1:-1;;;15511:2;15502:12;;15495:32;15555:2;15546:12;;15333:231;-1:-1;;15333:231::o;15572:103::-;15645:24;15663:5;15645:24;:::i;15682:222::-;15809:2;15794:18;;15823:71;15798:9;15867:6;15823:71;:::i;15911:618::-;16157:2;16142:18;;16171:71;16146:9;16215:6;16171:71;:::i;:::-;16253:85;16334:2;16323:9;16319:18;16310:6;16253:85;:::i;:::-;16386:9;16380:4;16376:20;16371:2;16360:9;16356:18;16349:48;16411:108;16514:4;16505:6;16411:108;:::i;16536:398::-;16727:2;16741:47;;;16712:18;;16802:122;16712:18;16910:6;16802:122;:::i;16941:370::-;17118:2;17132:47;;;17103:18;;17193:108;17103:18;17287:6;17193:108;:::i;17318:481::-;17523:2;17537:47;;;17508:18;;17598:108;17508:18;17692:6;17598:108;:::i;:::-;17590:116;;17717:72;17785:2;17774:9;17770:18;17761:6;17717:72;:::i;:::-;17494:305;;;;;:::o;17806:210::-;17927:2;17912:18;;17941:65;17916:9;17979:6;17941:65;:::i;18023:310::-;18170:2;18184:47;;;18155:18;;18245:78;18155:18;18309:6;18245:78;:::i;18340:416::-;18540:2;18554:47;;;18525:18;;18615:131;18525:18;18615:131;:::i;18763:416::-;18963:2;18977:47;;;18948:18;;19038:131;18948:18;19038:131;:::i;19186:416::-;19386:2;19400:47;;;19371:18;;19461:131;19371:18;19461:131;:::i;19609:256::-;19671:2;19665:9;19697:17;;;-1:-1;;;;;19757:34;;19793:22;;;19754:62;19751:2;;;19829:1;19826;19819:12;19751:2;19845;19838:22;19649:216;;-1:-1;19649:216::o;19872:304::-;;-1:-1;;;;;20023:6;20020:30;20017:2;;;20063:1;20060;20053:12;20017:2;-1:-1;20098:4;20086:17;;;20151:15;;19954:222::o;20814:321::-;;-1:-1;;;;;20949:6;20946:30;20943:2;;;20989:1;20986;20979:12;20943:2;-1:-1;21120:4;21056;21033:17;;;;-1:-1;;21029:33;21110:15;;20880:255::o;21142:151::-;21266:4;21257:14;;21214:79::o;21632:137::-;21735:12;;21706:63::o;22571:178::-;22689:19;;;22738:4;22729:14;;22682:67::o;23301:91::-;;23363:24;23381:5;23363:24;:::i;23505:85::-;23571:13;23564:21;;23547:43::o;23597:144::-;-1:-1;;;;;;23658:78;;23641:100::o;23748:138::-;23826:5;23832:49;23826:5;23832:49;:::i;23893:136::-;23970:5;23976:48;23970:5;23976:48;:::i;24036:121::-;-1:-1;;;;;24098:54;;24081:76::o;24164:72::-;24226:5;24209:27::o;24243:138::-;;24336:40;24370:5;24336:40;:::i;24388:136::-;;24480:39;24513:5;24480:39;:::i;24532:145::-;24613:6;24608:3;24603;24590:30;-1:-1;24669:1;24651:16;;24644:27;24583:94::o;24686:268::-;24751:1;24758:101;24772:6;24769:1;24766:13;24758:101;;;24839:11;;;24833:18;24820:11;;;24813:39;24794:2;24787:10;24758:101;;;24874:6;24871:1;24868:13;24865:2;;;24939:1;24930:6;24925:3;24921:16;24914:27;24865:2;24735:219;;;;:::o;24962:97::-;25050:2;25030:14;-1:-1;;25026:28;;25010:49::o;25067:108::-;25152:2;25145:5;25142:13;25132:2;;25159:9;25182:106;25266:1;25259:5;25256:12;25246:2;;25272:9;25295:117;25364:24;25382:5;25364:24;:::i;:::-;25357:5;25354:35;25344:2;;25403:1;25400;25393:12;25559:111;25625:21;25640:5;25625:21;:::i;25677:115::-;25745:23;25762:5;25745:23;:::i;25799:111::-;25884:2;25877:5;25874:13;25864:2;;25901:1;25898;25891:12;25917:109;26001:1;25994:5;25991:12;25981:2;;26017:1;26014;26007:12;26033:117;26102:24;26120:5;26102:24;:::i", "linkReferences": {}, "immutableReferences": { "59555": [ { "start": 626, "length": 32 } ], "59893": [ { "start": 448, "length": 32 }, { "start": 946, "length": 32 } ] } }, "methodIdentifiers": { "activateForFund(address)": "ceb9a0ad", "addFundSettings(address,bytes)": "0f5f6b4f", "canDisable()": "1ef92578", "getAddressListRegistry()": "74708934", "getListIdsForFund(address)": "dffd7c6f", "getPolicyManager()": "d44ad6cb", "identifier()": "7998a1c4", "implementedHooks()": "cbf54bb2", "passesRule(address,address)": "b67cb40c", "updateFundSettings(address,bytes)": "0d4d7510", "validateRule(address,uint8,bytes)": "579be718" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_policyManager\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_addressListRegistry\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"listIds\",\"type\":\"uint256[]\"}],\"name\":\"ListsSetForFund\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"activateForFund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_encodedSettings\",\"type\":\"bytes\"}],\"name\":\"addFundSettings\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"canDisable\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"canDisable_\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAddressListRegistry\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"addressListRegistry_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"}],\"name\":\"getListIdsForFund\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"listIds_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPolicyManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"policyManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"identifier\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"identifier_\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"implementedHooks\",\"outputs\":[{\"internalType\":\"enum IPolicyManager.PolicyHook[]\",\"name\":\"implementedHooks_\",\"type\":\"uint8[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_adapter\",\"type\":\"address\"}],\"name\":\"passesRule\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isValid_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"updateFundSettings\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"enum IPolicyManager.PolicyHook\",\"name\":\"\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"_encodedArgs\",\"type\":\"bytes\"}],\"name\":\"validateRule\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isValid_\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"activateForFund(address)\":{\"details\":\"Unimplemented by default, can be overridden by the policy\"},\"addFundSettings(address,bytes)\":{\"params\":{\"_comptrollerProxy\":\"The fund's ComptrollerProxy address\",\"_encodedSettings\":\"Encoded settings to apply to a fund\"}},\"canDisable()\":{\"details\":\"False by default, can be overridden by the policy\",\"returns\":{\"canDisable_\":\"True if the policy can be disabled\"}},\"getAddressListRegistry()\":{\"returns\":{\"addressListRegistry_\":\"The `ADDRESS_LIST_REGISTRY` variable value\"}},\"getListIdsForFund(address)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\"},\"returns\":{\"listIds_\":\"The list ids\"}},\"getPolicyManager()\":{\"returns\":{\"policyManager_\":\"The `POLICY_MANAGER` variable value\"}},\"identifier()\":{\"returns\":{\"identifier_\":\"The identifer string\"}},\"implementedHooks()\":{\"returns\":{\"implementedHooks_\":\"The implemented PolicyHooks\"}},\"passesRule(address,address)\":{\"params\":{\"_adapter\":\"The adapter for which to check the rule\",\"_comptrollerProxy\":\"The fund's ComptrollerProxy address\"},\"returns\":{\"isValid_\":\"True if the rule passes\"}},\"updateFundSettings(address,bytes)\":{\"details\":\"Disallowed by default, can be overridden by the policy\"},\"validateRule(address,uint8,bytes)\":{\"details\":\"onlyPolicyManager validation not necessary, as state is not updated and no events are fired\",\"params\":{\"_comptrollerProxy\":\"The fund's ComptrollerProxy address\",\"_encodedArgs\":\"Encoded args with which to validate the rule\"},\"returns\":{\"isValid_\":\"True if the rule passes\"}}},\"title\":\"AllowedAdaptersPolicy Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"activateForFund(address)\":{\"notice\":\"Validates and initializes a policy as necessary prior to fund activation\"},\"addFundSettings(address,bytes)\":{\"notice\":\"Adds the initial policy settings for a fund\"},\"canDisable()\":{\"notice\":\"Whether or not the policy can be disabled\"},\"getAddressListRegistry()\":{\"notice\":\"Gets the `ADDRESS_LIST_REGISTRY` variable value\"},\"getListIdsForFund(address)\":{\"notice\":\"Gets the list ids used by a given fund\"},\"getPolicyManager()\":{\"notice\":\"Gets the `POLICY_MANAGER` variable value\"},\"identifier()\":{\"notice\":\"Provides a constant string identifier for a policy\"},\"implementedHooks()\":{\"notice\":\"Gets the implemented PolicyHooks for a policy\"},\"passesRule(address,address)\":{\"notice\":\"Checks whether a particular condition passes the rule for a particular fund\"},\"updateFundSettings(address,bytes)\":{\"notice\":\"Updates the policy settings for a fund\"},\"validateRule(address,uint8,bytes)\":{\"notice\":\"Apply the rule with the specified parameters of a PolicyHook\"}},\"notice\":\"A policy that limits adapters that can be used by a fund\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/policy-manager/policies/asset-managers/AllowedAdaptersPolicy.sol\":\"AllowedAdaptersPolicy\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/address-list-registry/AddressListRegistry.sol\":{\"keccak256\":\"0xf00a9e376e3ec2a223f463f71c15ee3af3642dd028bc3762440e316b760c8048\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://01986c9327b5dfbfac21316dced6d68727931ddde1278ed1342d878004f984b9\",\"dweb:/ipfs/QmdXkFaUU43JqMTYEREbWa129rohdqN7GXy7mVRpjCfSLD\"]},\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/persistent/vault/interfaces/IExternalPositionVault.sol\":{\"keccak256\":\"0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d\",\"dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8\"]},\"contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol\":{\"keccak256\":\"0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb\",\"dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU\"]},\"contracts/persistent/vault/interfaces/IMigratableVault.sol\":{\"keccak256\":\"0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6\",\"dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs\"]},\"contracts/persistent/vault/interfaces/IVaultCore.sol\":{\"keccak256\":\"0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd\",\"dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr\"]},\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/core/fund/comptroller/ComptrollerLib.sol\":{\"keccak256\":\"0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579\",\"dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq\"]},\"contracts/release/core/fund/comptroller/IComptroller.sol\":{\"keccak256\":\"0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97\",\"dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L\"]},\"contracts/release/core/fund/vault/IVault.sol\":{\"keccak256\":\"0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599\",\"dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG\"]},\"contracts/release/extensions/IExtension.sol\":{\"keccak256\":\"0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70\",\"dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t\"]},\"contracts/release/extensions/fee-manager/IFeeManager.sol\":{\"keccak256\":\"0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22\",\"dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod\"]},\"contracts/release/extensions/policy-manager/IPolicy.sol\":{\"keccak256\":\"0xc12663ca72065b256c3b934ab738fde26c147c7b0399de43650df89dd52ee467\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://be8fecfcba0f3fda615f0a1bb3c766750c23761ef751d7c4472dfe540e460cd1\",\"dweb:/ipfs/QmaarPoRTsX6NiJ8V4u2f3Qh6d7tUs28bw9R14An3t5Bs1\"]},\"contracts/release/extensions/policy-manager/IPolicyManager.sol\":{\"keccak256\":\"0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa\",\"dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb\"]},\"contracts/release/extensions/policy-manager/policies/asset-managers/AllowedAdaptersPolicy.sol\":{\"keccak256\":\"0x10f1748339a65a137b0ca0760a50274216719573310fa9be5d0780037a521798\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9a5f61075889fdae41260ca7749bb53bf35021f82fe577c8d419c53531cb16c7\",\"dweb:/ipfs/QmV3eJyyhAQ6nEZqwRVRrxYEQ4w2p564UXM7LLKybq5sL1\"]},\"contracts/release/extensions/policy-manager/policies/utils/AddressListRegistryPolicyBase.sol\":{\"keccak256\":\"0x3fdcf3e45c9d6b9cf5221aeb95858060dfc18abf744f664b5ce9bf2f0a6a7bdc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://48b3ed06e509a45f122112129bf3d221ae30afad87722a123f7405a4a24e6645\",\"dweb:/ipfs/QmSA3cJB7C6x6BasicDpzwnHuxFkL6k8hR5fDRD42BWsGc\"]},\"contracts/release/extensions/policy-manager/policies/utils/PolicyBase.sol\":{\"keccak256\":\"0x972311abb98f0da815b4aca83d5afdd219d3604ec19cf5e3773c0c305bd9b3f1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2452f3d1f3b1d8e8459a07489146a2d0d8a10463715937995cbe77ee5de8c069\",\"dweb:/ipfs/Qmf2hhd2DVbjpxmbNGAhRZNZkqpGZA2mX3eA1WNwtv6t5Y\"]},\"contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol\":{\"keccak256\":\"0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f\",\"dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol\":{\"keccak256\":\"0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0\",\"dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol\":{\"keccak256\":\"0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b\",\"dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3\"]},\"contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol\":{\"keccak256\":\"0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965\",\"dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ\"]},\"contracts/release/interfaces/IGsnForwarder.sol\":{\"keccak256\":\"0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29\",\"dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G\"]},\"contracts/release/interfaces/IGsnPaymaster.sol\":{\"keccak256\":\"0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4\",\"dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF\"]},\"contracts/release/interfaces/IGsnTypes.sol\":{\"keccak256\":\"0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7\",\"dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/beacon-proxy/IBeacon.sol\":{\"keccak256\":\"0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39\",\"dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V\"]},\"contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol\":{\"keccak256\":\"0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be\",\"dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_policyManager", "type": "address" }, { "internalType": "address", "name": "_addressListRegistry", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "comptrollerProxy", "type": "address", "indexed": true }, { "internalType": "uint256[]", "name": "listIds", "type": "uint256[]", "indexed": false } ], "type": "event", "name": "ListsSetForFund", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "activateForFund" }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" }, { "internalType": "bytes", "name": "_encodedSettings", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "addFundSettings" }, { "inputs": [], "stateMutability": "pure", "type": "function", "name": "canDisable", "outputs": [ { "internalType": "bool", "name": "canDisable_", "type": "bool" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getAddressListRegistry", "outputs": [ { "internalType": "address", "name": "addressListRegistry_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getListIdsForFund", "outputs": [ { "internalType": "uint256[]", "name": "listIds_", "type": "uint256[]" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getPolicyManager", "outputs": [ { "internalType": "address", "name": "policyManager_", "type": "address" } ] }, { "inputs": [], "stateMutability": "pure", "type": "function", "name": "identifier", "outputs": [ { "internalType": "string", "name": "identifier_", "type": "string" } ] }, { "inputs": [], "stateMutability": "pure", "type": "function", "name": "implementedHooks", "outputs": [ { "internalType": "enum IPolicyManager.PolicyHook[]", "name": "implementedHooks_", "type": "uint8[]" } ] }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" }, { "internalType": "address", "name": "_adapter", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "passesRule", "outputs": [ { "internalType": "bool", "name": "isValid_", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "updateFundSettings" }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" }, { "internalType": "enum IPolicyManager.PolicyHook", "name": "", "type": "uint8" }, { "internalType": "bytes", "name": "_encodedArgs", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "validateRule", "outputs": [ { "internalType": "bool", "name": "isValid_", "type": "bool" } ] } ], "devdoc": { "kind": "dev", "methods": { "activateForFund(address)": { "details": "Unimplemented by default, can be overridden by the policy" }, "addFundSettings(address,bytes)": { "params": { "_comptrollerProxy": "The fund's ComptrollerProxy address", "_encodedSettings": "Encoded settings to apply to a fund" } }, "canDisable()": { "details": "False by default, can be overridden by the policy", "returns": { "canDisable_": "True if the policy can be disabled" } }, "getAddressListRegistry()": { "returns": { "addressListRegistry_": "The `ADDRESS_LIST_REGISTRY` variable value" } }, "getListIdsForFund(address)": { "params": { "_comptrollerProxy": "The ComptrollerProxy of the fund" }, "returns": { "listIds_": "The list ids" } }, "getPolicyManager()": { "returns": { "policyManager_": "The `POLICY_MANAGER` variable value" } }, "identifier()": { "returns": { "identifier_": "The identifer string" } }, "implementedHooks()": { "returns": { "implementedHooks_": "The implemented PolicyHooks" } }, "passesRule(address,address)": { "params": { "_adapter": "The adapter for which to check the rule", "_comptrollerProxy": "The fund's ComptrollerProxy address" }, "returns": { "isValid_": "True if the rule passes" } }, "updateFundSettings(address,bytes)": { "details": "Disallowed by default, can be overridden by the policy" }, "validateRule(address,uint8,bytes)": { "details": "onlyPolicyManager validation not necessary, as state is not updated and no events are fired", "params": { "_comptrollerProxy": "The fund's ComptrollerProxy address", "_encodedArgs": "Encoded args with which to validate the rule" }, "returns": { "isValid_": "True if the rule passes" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "activateForFund(address)": { "notice": "Validates and initializes a policy as necessary prior to fund activation" }, "addFundSettings(address,bytes)": { "notice": "Adds the initial policy settings for a fund" }, "canDisable()": { "notice": "Whether or not the policy can be disabled" }, "getAddressListRegistry()": { "notice": "Gets the `ADDRESS_LIST_REGISTRY` variable value" }, "getListIdsForFund(address)": { "notice": "Gets the list ids used by a given fund" }, "getPolicyManager()": { "notice": "Gets the `POLICY_MANAGER` variable value" }, "identifier()": { "notice": "Provides a constant string identifier for a policy" }, "implementedHooks()": { "notice": "Gets the implemented PolicyHooks for a policy" }, "passesRule(address,address)": { "notice": "Checks whether a particular condition passes the rule for a particular fund" }, "updateFundSettings(address,bytes)": { "notice": "Updates the policy settings for a fund" }, "validateRule(address,uint8,bytes)": { "notice": "Apply the rule with the specified parameters of a PolicyHook" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/policy-manager/policies/asset-managers/AllowedAdaptersPolicy.sol": "AllowedAdaptersPolicy" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/address-list-registry/AddressListRegistry.sol": { "keccak256": "0xf00a9e376e3ec2a223f463f71c15ee3af3642dd028bc3762440e316b760c8048", "urls": [ "bzz-raw://01986c9327b5dfbfac21316dced6d68727931ddde1278ed1342d878004f984b9", "dweb:/ipfs/QmdXkFaUU43JqMTYEREbWa129rohdqN7GXy7mVRpjCfSLD" ], "license": "GPL-3.0" }, "contracts/persistent/dispatcher/IDispatcher.sol": { "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", "urls": [ "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" ], "license": "GPL-3.0" }, "contracts/persistent/external-positions/IExternalPosition.sol": { "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", "urls": [ "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IExternalPositionVault.sol": { "keccak256": "0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6", "urls": [ "bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d", "dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol": { "keccak256": "0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0", "urls": [ "bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb", "dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IMigratableVault.sol": { "keccak256": "0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238", "urls": [ "bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6", "dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IVaultCore.sol": { "keccak256": "0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80", "urls": [ "bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd", "dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr" ], "license": "GPL-3.0" }, "contracts/release/core/fund-deployer/IFundDeployer.sol": { "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", "urls": [ "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" ], "license": "GPL-3.0" }, "contracts/release/core/fund/comptroller/ComptrollerLib.sol": { "keccak256": "0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64", "urls": [ "bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579", "dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq" ], "license": "GPL-3.0" }, "contracts/release/core/fund/comptroller/IComptroller.sol": { "keccak256": "0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f", "urls": [ "bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97", "dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L" ], "license": "GPL-3.0" }, "contracts/release/core/fund/vault/IVault.sol": { "keccak256": "0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd", "urls": [ "bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599", "dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG" ], "license": "GPL-3.0" }, "contracts/release/extensions/IExtension.sol": { "keccak256": "0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b", "urls": [ "bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70", "dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t" ], "license": "GPL-3.0" }, "contracts/release/extensions/fee-manager/IFeeManager.sol": { "keccak256": "0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51", "urls": [ "bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22", "dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod" ], "license": "GPL-3.0" }, "contracts/release/extensions/policy-manager/IPolicy.sol": { "keccak256": "0xc12663ca72065b256c3b934ab738fde26c147c7b0399de43650df89dd52ee467", "urls": [ "bzz-raw://be8fecfcba0f3fda615f0a1bb3c766750c23761ef751d7c4472dfe540e460cd1", "dweb:/ipfs/QmaarPoRTsX6NiJ8V4u2f3Qh6d7tUs28bw9R14An3t5Bs1" ], "license": "GPL-3.0" }, "contracts/release/extensions/policy-manager/IPolicyManager.sol": { "keccak256": "0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32", "urls": [ "bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa", "dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb" ], "license": "GPL-3.0" }, "contracts/release/extensions/policy-manager/policies/asset-managers/AllowedAdaptersPolicy.sol": { "keccak256": "0x10f1748339a65a137b0ca0760a50274216719573310fa9be5d0780037a521798", "urls": [ "bzz-raw://9a5f61075889fdae41260ca7749bb53bf35021f82fe577c8d419c53531cb16c7", "dweb:/ipfs/QmV3eJyyhAQ6nEZqwRVRrxYEQ4w2p564UXM7LLKybq5sL1" ], "license": "GPL-3.0" }, "contracts/release/extensions/policy-manager/policies/utils/AddressListRegistryPolicyBase.sol": { "keccak256": "0x3fdcf3e45c9d6b9cf5221aeb95858060dfc18abf744f664b5ce9bf2f0a6a7bdc", "urls": [ "bzz-raw://48b3ed06e509a45f122112129bf3d221ae30afad87722a123f7405a4a24e6645", "dweb:/ipfs/QmSA3cJB7C6x6BasicDpzwnHuxFkL6k8hR5fDRD42BWsGc" ], "license": "GPL-3.0" }, "contracts/release/extensions/policy-manager/policies/utils/PolicyBase.sol": { "keccak256": "0x972311abb98f0da815b4aca83d5afdd219d3604ec19cf5e3773c0c305bd9b3f1", "urls": [ "bzz-raw://2452f3d1f3b1d8e8459a07489146a2d0d8a10463715937995cbe77ee5de8c069", "dweb:/ipfs/Qmf2hhd2DVbjpxmbNGAhRZNZkqpGZA2mX3eA1WNwtv6t5Y" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol": { "keccak256": "0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609", "urls": [ "bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f", "dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol": { "keccak256": "0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01", "urls": [ "bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0", "dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol": { "keccak256": "0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196", "urls": [ "bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b", "dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol": { "keccak256": "0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794", "urls": [ "bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965", "dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IGsnForwarder.sol": { "keccak256": "0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030", "urls": [ "bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29", "dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IGsnPaymaster.sol": { "keccak256": "0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c", "urls": [ "bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4", "dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IGsnTypes.sol": { "keccak256": "0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714", "urls": [ "bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7", "dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C" ], "license": "GPL-3.0" }, "contracts/release/utils/AddressArrayLib.sol": { "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", "urls": [ "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" ], "license": "GPL-3.0" }, "contracts/release/utils/beacon-proxy/IBeacon.sol": { "keccak256": "0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2", "urls": [ "bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39", "dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V" ], "license": "GPL-3.0" }, "contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol": { "keccak256": "0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc", "urls": [ "bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be", "dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", "urls": [ "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Address.sol": { "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", "urls": [ "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" } }, "version": 1 }, "id": 209 } diff --git a/eth_defi/abi/enzyme/AllowedAssetsForRedemptionPolicy.json b/eth_defi/abi/enzyme/AllowedAssetsForRedemptionPolicy.json index 2c481f5e..abbbd8ab 100644 --- a/eth_defi/abi/enzyme/AllowedAssetsForRedemptionPolicy.json +++ b/eth_defi/abi/enzyme/AllowedAssetsForRedemptionPolicy.json @@ -1,912 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_policyManager", - "type": "address" - }, - { - "internalType": "address", - "name": "_addressListRegistry", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "comptrollerProxy", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "listIds", - "type": "uint256[]" - } - ], - "name": "ListsSetForFund", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "activateForFund", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_encodedSettings", - "type": "bytes" - } - ], - "name": "addFundSettings", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "canDisable", - "outputs": [ - { - "internalType": "bool", - "name": "canDisable_", - "type": "bool" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "getAddressListRegistry", - "outputs": [ - { - "internalType": "address", - "name": "addressListRegistry_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - } - ], - "name": "getListIdsForFund", - "outputs": [ - { - "internalType": "uint256[]", - "name": "listIds_", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getPolicyManager", - "outputs": [ - { - "internalType": "address", - "name": "policyManager_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "identifier", - "outputs": [ - { - "internalType": "string", - "name": "identifier_", - "type": "string" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "implementedHooks", - "outputs": [ - { - "internalType": "enum IPolicyManager.PolicyHook[]", - "name": "implementedHooks_", - "type": "uint8[]" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "address[]", - "name": "_assets", - "type": "address[]" - } - ], - "name": "passesRule", - "outputs": [ - { - "internalType": "bool", - "name": "isValid_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "updateFundSettings", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "enum IPolicyManager.PolicyHook", - "name": "", - "type": "uint8" - }, - { - "internalType": "bytes", - "name": "_encodedArgs", - "type": "bytes" - } - ], - "name": "validateRule", - "outputs": [ - { - "internalType": "bool", - "name": "isValid_", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x60c06040523480156200001157600080fd5b50604051620013ee380380620013ee833981016040819052620000349162000066565b6001600160601b0319606092831b8116608052911b1660a052620000d1565b80516200006081620000b7565b92915050565b600080604083850312156200007a57600080fd5b600062000088858562000053565b92505060206200009b8582860162000053565b9150509250929050565b60006001600160a01b03821662000060565b620000c281620000a5565b8114620000ce57600080fd5b50565b60805160601c60a05160601c6112ee62000100600039806102725250806101c052806103bf52506112ee6000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c80637998a1c4116100715780637998a1c41461011c578063c18a633814610131578063cbf54bb214610144578063ceb9a0ad14610159578063d44ad6cb1461016c578063dffd7c6f14610174576100a9565b80630d4d7510146100ae5780630f5f6b4f146100c35780631ef92578146100d6578063579be718146100f45780637470893414610107575b600080fd5b6100c16100bc366004610c91565b610194565b005b6100c16100d1366004610c91565b6101b5565b6100de61020d565b6040516100eb919061112f565b60405180910390f35b6100de610102366004610ce6565b610212565b61010f610270565b6040516100eb91906110ad565b610124610294565b6040516100eb919061113d565b6100de61013f366004610c40565b6102cb565b61014c610363565b6040516100eb91906110e8565b6100c1610167366004610b47565b6103ba565b61010f6103bd565b610187610182366004610b47565b6103e1565b6040516100eb91906110f9565b60405162461bcd60e51b81526004016101ac9061114e565b60405180910390fd5b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146101fd5760405162461bcd60e51b81526004016101ac9061115e565b61020883838361044c565b505050565b600190565b6000606061025584848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061070e92505050565b5050935050505061026686826102cb565b9695505050505050565b7f000000000000000000000000000000000000000000000000000000000000000090565b60408051808201909152601d81527f414c4c4f5745445f4153534554535f464f525f524544454d5054494f4e000000602082015290565b60006102d5610270565b6001600160a01b03166330bdd3866102ec856103e1565b846040518363ffffffff1660e01b815260040161030a92919061110a565b60206040518083038186803b15801561032257600080fd5b505afa158015610336573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061035a9190610daa565b90505b92915050565b6040805160018082528183019092526060916020808301908036833701905050905060038160008151811061039457fe5b602002602001019060098111156103a757fe5b908160098111156103b457fe5b90525090565b50565b7f000000000000000000000000000000000000000000000000000000000000000090565b6001600160a01b0381166000908152602081815260409182902080548351818402810184019094528084526060939283018282801561043f57602002820191906000526020600020905b81548152602001906001019080831161042b575b505050505090505b919050565b60608061045b83850185610d4d565b91509150606081518351016001600160401b038111801561047b57600080fd5b506040519080825280602002602001820160405280156104a5578160200160208202803683370190505b5090508051600014156104ca5760405162461bcd60e51b81526004016101ac9061116e565b6001600160a01b03861660009081526020819052604090205415610509576001600160a01b038616600090815260208190526040812061050991610805565b60005b835181101561059c5783818151811061052157fe5b602002602001015182828151811061053557fe5b602002602001018181525050600080886001600160a01b03166001600160a01b0316815260200190815260200160002084828151811061057157fe5b602090810291909101810151825460018181018555600094855292909320909201919091550161050c565b508151156106c5576000866001600160a01b031663c98091876040518163ffffffff1660e01b815260040160206040518083038186803b1580156105df57600080fd5b505afa1580156105f3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106179190610b6d565b905060005b83518110156106c257600081865101905061064a8386848151811061063d57fe5b6020026020010151610740565b84828151811061065657fe5b6020026020010181815250506000808a6001600160a01b03166001600160a01b0316815260200190815260200160002084828151811061069257fe5b6020908102919091018101518254600181810185556000948552929093209092019190915591909101905061061c565b50505b856001600160a01b03167fd63f5b55f54cdda3234eab3aa26d85b99854a43efea66e0c459220fd7b3a332f826040516106fe91906110f9565b60405180910390a2505050505050565b600080600060608060008680602001905181019061072c9190610b8b565b949c939b5091995097509550909350915050565b600080606061074e846107e4565b9150915061075a610270565b6001600160a01b031663be68406e8684846040518463ffffffff1660e01b8152600401610789939291906110bb565b602060405180830381600087803b1580156107a357600080fd5b505af11580156107b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107db9190610e0f565b95945050505050565b60006060828060200190518101906107fc9190610dc8565b91509150915091565b50805460008255906000526020600020908101906103ba91905b80821115610833576000815560010161081f565b5090565b803561035d816112a1565b805161035d816112a1565b600082601f83011261085e57600080fd5b813561087161086c826111a4565b61117e565b9150818183526020840193506020810190508385602084028201111561089657600080fd5b60005b838110156108c257816108ac8882610837565b8452506020928301929190910190600101610899565b5050505092915050565b600082601f8301126108dd57600080fd5b81516108eb61086c826111a4565b9150818183526020840193506020810190508385602084028201111561091057600080fd5b60005b838110156108c257816109268882610842565b8452506020928301929190910190600101610913565b600082601f83011261094d57600080fd5b813561095b61086c826111a4565b81815260209384019390925082018360005b838110156108c257813586016109838882610acc565b845250602092830192919091019060010161096d565b600082601f8301126109aa57600080fd5b81356109b861086c826111a4565b915081818352602084019350602081019050838560208402820111156109dd57600080fd5b60005b838110156108c257816109f38882610b31565b84525060209283019291909101906001016109e0565b600082601f830112610a1a57600080fd5b8151610a2861086c826111a4565b91508181835260208401935060208101905083856020840282011115610a4d57600080fd5b60005b838110156108c25781610a638882610b3c565b8452506020928301929190910190600101610a50565b805161035d816112b5565b60008083601f840112610a9657600080fd5b5081356001600160401b03811115610aad57600080fd5b602083019150836001820283011115610ac557600080fd5b9250929050565b600082601f830112610add57600080fd5b8135610aeb61086c826111c4565b91508082526020830160208301858383011115610b0757600080fd5b610b12838284611247565b50505092915050565b803561035d816112be565b805161035d816112cb565b803561035d816112d8565b805161035d816112d8565b600060208284031215610b5957600080fd5b6000610b658484610837565b949350505050565b600060208284031215610b7f57600080fd5b6000610b658484610842565b60008060008060008060c08789031215610ba457600080fd5b6000610bb08989610842565b9650506020610bc189828a01610842565b9550506040610bd289828a01610b3c565b94505060608701516001600160401b03811115610bee57600080fd5b610bfa89828a016108cc565b93505060808701516001600160401b03811115610c1657600080fd5b610c2289828a01610a09565b92505060a0610c3389828a01610b3c565b9150509295509295509295565b60008060408385031215610c5357600080fd5b6000610c5f8585610837565b92505060208301356001600160401b03811115610c7b57600080fd5b610c878582860161084d565b9150509250929050565b600080600060408486031215610ca657600080fd5b6000610cb28686610837565b93505060208401356001600160401b03811115610cce57600080fd5b610cda86828701610a84565b92509250509250925092565b60008060008060608587031215610cfc57600080fd5b6000610d088787610837565b9450506020610d1987828801610b1b565b93505060408501356001600160401b03811115610d3557600080fd5b610d4187828801610a84565b95989497509550505050565b60008060408385031215610d6057600080fd5b82356001600160401b03811115610d7657600080fd5b610d8285828601610999565b92505060208301356001600160401b03811115610d9e57600080fd5b610c878582860161093c565b600060208284031215610dbc57600080fd5b6000610b658484610a79565b60008060408385031215610ddb57600080fd5b6000610de78585610b26565b92505060208301516001600160401b03811115610e0357600080fd5b610c87858286016108cc565b600060208284031215610e2157600080fd5b6000610b658484610b3c565b6000610e398383610e59565b505060200190565b6000610e398383610f66565b6000610e3983836110a4565b610e62816111fe565b82525050565b6000610e73826111f1565b610e7d81856111f5565b9350610e88836111eb565b8060005b83811015610eb6578151610ea08882610e2d565b9750610eab836111eb565b925050600101610e8c565b509495945050505050565b6000610ecc826111f1565b610ed681856111f5565b9350610ee1836111eb565b8060005b83811015610eb6578151610ef98882610e41565b9750610f04836111eb565b925050600101610ee5565b6000610f1a826111f1565b610f2481856111f5565b9350610f2f836111eb565b8060005b83811015610eb6578151610f478882610e4d565b9750610f52836111eb565b925050600101610f33565b610e6281611209565b610e6281611231565b610e628161123c565b6000610f83826111f1565b610f8d81856111f5565b9350610f9d818560208601611253565b610fa681611283565b9093019392505050565b6000610fbd6037836111f5565b7f75706461746546756e6453657474696e67733a2055706461746573206e6f742081527f616c6c6f77656420666f72207468697320706f6c696379000000000000000000602082015260400192915050565b600061101c6029836111f5565b7f4f6e6c792074686520506f6c6963794d616e616765722063616e206d616b65208152681d1a1a5cc818d85b1b60ba1b602082015260400192915050565b60006110676028836111f5565b7f5f5f7570646174654c69737473466f7246756e643a204e6f206c6973747320738152671c1958da599a595960c21b602082015260400192915050565b610e628161122e565b6020810161035d8284610e59565b606081016110c98286610e59565b6110d66020830185610f6f565b81810360408301526107db8184610e68565b6020808252810161035a8184610ec1565b6020808252810161035a8184610f0f565b6040808252810161111b8185610f0f565b90508181036020830152610b658184610e68565b6020810161035d8284610f5d565b6020808252810161035a8184610f78565b6020808252810161035d81610fb0565b6020808252810161035d8161100f565b6020808252810161035d8161105a565b6040518181016001600160401b038111828210171561119c57600080fd5b604052919050565b60006001600160401b038211156111ba57600080fd5b5060209081020190565b60006001600160401b038211156111da57600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b600061035d82611222565b151590565b806104478161128d565b8061044781611297565b6001600160a01b031690565b90565b600061035d8261120e565b600061035d82611218565b82818337506000910152565b60005b8381101561126e578181015183820152602001611256565b8381111561127d576000848401525b50505050565b601f01601f191690565b600a81106103ba57fe5b600481106103ba57fe5b6112aa816111fe565b81146103ba57600080fd5b6112aa81611209565b600a81106103ba57600080fd5b600481106103ba57600080fd5b6112aa8161122e56fea164736f6c634300060c000a", - "sourceMap": "564:2628:215:-:0;;;645:163;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;737:31:223;;;;;;;;1052:44:221;;;::::1;::::0;564:2628:215;;5:134:-1;83:13;;101:33;83:13;101:33;:::i;:::-;68:71;;;;:::o;146:399::-;;;278:2;266:9;257:7;253:23;249:32;246:2;;;294:1;291;284:12;246:2;329:1;346:64;402:7;382:9;346:64;:::i;:::-;336:74;;308:108;447:2;465:64;521:7;512:6;501:9;497:22;465:64;:::i;:::-;455:74;;426:109;240:305;;;;;:::o;552:91::-;;-1:-1;;;;;712:54;;614:24;695:76::o;778:117::-;847:24;865:5;847:24;:::i;:::-;840:5;837:35;827:2;;886:1;883;876:12;827:2;821:74;:::o;:::-;564:2628:215;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106100a95760003560e01c80637998a1c4116100715780637998a1c41461011c578063c18a633814610131578063cbf54bb214610144578063ceb9a0ad14610159578063d44ad6cb1461016c578063dffd7c6f14610174576100a9565b80630d4d7510146100ae5780630f5f6b4f146100c35780631ef92578146100d6578063579be718146100f45780637470893414610107575b600080fd5b6100c16100bc366004610c91565b610194565b005b6100c16100d1366004610c91565b6101b5565b6100de61020d565b6040516100eb919061112f565b60405180910390f35b6100de610102366004610ce6565b610212565b61010f610270565b6040516100eb91906110ad565b610124610294565b6040516100eb919061113d565b6100de61013f366004610c40565b6102cb565b61014c610363565b6040516100eb91906110e8565b6100c1610167366004610b47565b6103ba565b61010f6103bd565b610187610182366004610b47565b6103e1565b6040516100eb91906110f9565b60405162461bcd60e51b81526004016101ac9061114e565b60405180910390fd5b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146101fd5760405162461bcd60e51b81526004016101ac9061115e565b61020883838361044c565b505050565b600190565b6000606061025584848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061070e92505050565b5050935050505061026686826102cb565b9695505050505050565b7f000000000000000000000000000000000000000000000000000000000000000090565b60408051808201909152601d81527f414c4c4f5745445f4153534554535f464f525f524544454d5054494f4e000000602082015290565b60006102d5610270565b6001600160a01b03166330bdd3866102ec856103e1565b846040518363ffffffff1660e01b815260040161030a92919061110a565b60206040518083038186803b15801561032257600080fd5b505afa158015610336573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061035a9190610daa565b90505b92915050565b6040805160018082528183019092526060916020808301908036833701905050905060038160008151811061039457fe5b602002602001019060098111156103a757fe5b908160098111156103b457fe5b90525090565b50565b7f000000000000000000000000000000000000000000000000000000000000000090565b6001600160a01b0381166000908152602081815260409182902080548351818402810184019094528084526060939283018282801561043f57602002820191906000526020600020905b81548152602001906001019080831161042b575b505050505090505b919050565b60608061045b83850185610d4d565b91509150606081518351016001600160401b038111801561047b57600080fd5b506040519080825280602002602001820160405280156104a5578160200160208202803683370190505b5090508051600014156104ca5760405162461bcd60e51b81526004016101ac9061116e565b6001600160a01b03861660009081526020819052604090205415610509576001600160a01b038616600090815260208190526040812061050991610805565b60005b835181101561059c5783818151811061052157fe5b602002602001015182828151811061053557fe5b602002602001018181525050600080886001600160a01b03166001600160a01b0316815260200190815260200160002084828151811061057157fe5b602090810291909101810151825460018181018555600094855292909320909201919091550161050c565b508151156106c5576000866001600160a01b031663c98091876040518163ffffffff1660e01b815260040160206040518083038186803b1580156105df57600080fd5b505afa1580156105f3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106179190610b6d565b905060005b83518110156106c257600081865101905061064a8386848151811061063d57fe5b6020026020010151610740565b84828151811061065657fe5b6020026020010181815250506000808a6001600160a01b03166001600160a01b0316815260200190815260200160002084828151811061069257fe5b6020908102919091018101518254600181810185556000948552929093209092019190915591909101905061061c565b50505b856001600160a01b03167fd63f5b55f54cdda3234eab3aa26d85b99854a43efea66e0c459220fd7b3a332f826040516106fe91906110f9565b60405180910390a2505050505050565b600080600060608060008680602001905181019061072c9190610b8b565b949c939b5091995097509550909350915050565b600080606061074e846107e4565b9150915061075a610270565b6001600160a01b031663be68406e8684846040518463ffffffff1660e01b8152600401610789939291906110bb565b602060405180830381600087803b1580156107a357600080fd5b505af11580156107b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107db9190610e0f565b95945050505050565b60006060828060200190518101906107fc9190610dc8565b91509150915091565b50805460008255906000526020600020908101906103ba91905b80821115610833576000815560010161081f565b5090565b803561035d816112a1565b805161035d816112a1565b600082601f83011261085e57600080fd5b813561087161086c826111a4565b61117e565b9150818183526020840193506020810190508385602084028201111561089657600080fd5b60005b838110156108c257816108ac8882610837565b8452506020928301929190910190600101610899565b5050505092915050565b600082601f8301126108dd57600080fd5b81516108eb61086c826111a4565b9150818183526020840193506020810190508385602084028201111561091057600080fd5b60005b838110156108c257816109268882610842565b8452506020928301929190910190600101610913565b600082601f83011261094d57600080fd5b813561095b61086c826111a4565b81815260209384019390925082018360005b838110156108c257813586016109838882610acc565b845250602092830192919091019060010161096d565b600082601f8301126109aa57600080fd5b81356109b861086c826111a4565b915081818352602084019350602081019050838560208402820111156109dd57600080fd5b60005b838110156108c257816109f38882610b31565b84525060209283019291909101906001016109e0565b600082601f830112610a1a57600080fd5b8151610a2861086c826111a4565b91508181835260208401935060208101905083856020840282011115610a4d57600080fd5b60005b838110156108c25781610a638882610b3c565b8452506020928301929190910190600101610a50565b805161035d816112b5565b60008083601f840112610a9657600080fd5b5081356001600160401b03811115610aad57600080fd5b602083019150836001820283011115610ac557600080fd5b9250929050565b600082601f830112610add57600080fd5b8135610aeb61086c826111c4565b91508082526020830160208301858383011115610b0757600080fd5b610b12838284611247565b50505092915050565b803561035d816112be565b805161035d816112cb565b803561035d816112d8565b805161035d816112d8565b600060208284031215610b5957600080fd5b6000610b658484610837565b949350505050565b600060208284031215610b7f57600080fd5b6000610b658484610842565b60008060008060008060c08789031215610ba457600080fd5b6000610bb08989610842565b9650506020610bc189828a01610842565b9550506040610bd289828a01610b3c565b94505060608701516001600160401b03811115610bee57600080fd5b610bfa89828a016108cc565b93505060808701516001600160401b03811115610c1657600080fd5b610c2289828a01610a09565b92505060a0610c3389828a01610b3c565b9150509295509295509295565b60008060408385031215610c5357600080fd5b6000610c5f8585610837565b92505060208301356001600160401b03811115610c7b57600080fd5b610c878582860161084d565b9150509250929050565b600080600060408486031215610ca657600080fd5b6000610cb28686610837565b93505060208401356001600160401b03811115610cce57600080fd5b610cda86828701610a84565b92509250509250925092565b60008060008060608587031215610cfc57600080fd5b6000610d088787610837565b9450506020610d1987828801610b1b565b93505060408501356001600160401b03811115610d3557600080fd5b610d4187828801610a84565b95989497509550505050565b60008060408385031215610d6057600080fd5b82356001600160401b03811115610d7657600080fd5b610d8285828601610999565b92505060208301356001600160401b03811115610d9e57600080fd5b610c878582860161093c565b600060208284031215610dbc57600080fd5b6000610b658484610a79565b60008060408385031215610ddb57600080fd5b6000610de78585610b26565b92505060208301516001600160401b03811115610e0357600080fd5b610c87858286016108cc565b600060208284031215610e2157600080fd5b6000610b658484610b3c565b6000610e398383610e59565b505060200190565b6000610e398383610f66565b6000610e3983836110a4565b610e62816111fe565b82525050565b6000610e73826111f1565b610e7d81856111f5565b9350610e88836111eb565b8060005b83811015610eb6578151610ea08882610e2d565b9750610eab836111eb565b925050600101610e8c565b509495945050505050565b6000610ecc826111f1565b610ed681856111f5565b9350610ee1836111eb565b8060005b83811015610eb6578151610ef98882610e41565b9750610f04836111eb565b925050600101610ee5565b6000610f1a826111f1565b610f2481856111f5565b9350610f2f836111eb565b8060005b83811015610eb6578151610f478882610e4d565b9750610f52836111eb565b925050600101610f33565b610e6281611209565b610e6281611231565b610e628161123c565b6000610f83826111f1565b610f8d81856111f5565b9350610f9d818560208601611253565b610fa681611283565b9093019392505050565b6000610fbd6037836111f5565b7f75706461746546756e6453657474696e67733a2055706461746573206e6f742081527f616c6c6f77656420666f72207468697320706f6c696379000000000000000000602082015260400192915050565b600061101c6029836111f5565b7f4f6e6c792074686520506f6c6963794d616e616765722063616e206d616b65208152681d1a1a5cc818d85b1b60ba1b602082015260400192915050565b60006110676028836111f5565b7f5f5f7570646174654c69737473466f7246756e643a204e6f206c6973747320738152671c1958da599a595960c21b602082015260400192915050565b610e628161122e565b6020810161035d8284610e59565b606081016110c98286610e59565b6110d66020830185610f6f565b81810360408301526107db8184610e68565b6020808252810161035a8184610ec1565b6020808252810161035a8184610f0f565b6040808252810161111b8185610f0f565b90508181036020830152610b658184610e68565b6020810161035d8284610f5d565b6020808252810161035a8184610f78565b6020808252810161035d81610fb0565b6020808252810161035d8161100f565b6020808252810161035d8161105a565b6040518181016001600160401b038111828210171561119c57600080fd5b604052919050565b60006001600160401b038211156111ba57600080fd5b5060209081020190565b60006001600160401b038211156111da57600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b600061035d82611222565b151590565b806104478161128d565b8061044781611297565b6001600160a01b031690565b90565b600061035d8261120e565b600061035d82611218565b82818337506000910152565b60005b8381101561126e578181015183820152602001611256565b8381111561127d576000848401525b50505050565b601f01601f191690565b600a81106103ba57fe5b600481106103ba57fe5b6112aa816111fe565b81146103ba57600080fd5b6112aa81611209565b600a81106103ba57600080fd5b600481106103ba57600080fd5b6112aa8161122e56fea164736f6c634300060c000a", - "sourceMap": "564:2628:215:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1452:161:223;;;;;;:::i;:::-;;:::i;:::-;;1333:239:221;;;;;;:::i;:::-;;:::i;962:108:215:-;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2182:374;;;;;;:::i;:::-;;:::i;4613:130:221:-;;;:::i;:::-;;;;;;;:::i;1193:136:215:-;;;:::i;:::-;;;;;;;:::i;2859:331::-;;;;;;:::i;:::-;;:::i;1459:344::-;;;:::i;:::-;;;;;;;:::i;941:83:223:-;;;;;;:::i;:::-;;:::i;6755:113::-;;;:::i;4908:198:221:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1452:161:223:-;1541:65;;-1:-1:-1;;;1541:65:223;;;;;;;:::i;:::-;;;;;;;;1333:239:221;586:10:223;-1:-1:-1;;;;;600:14:223;586:28;;578:82;;;;-1:-1:-1;;;578:82:223;;;;;;;:::i;:::-;1508:57:221::1;1529:17;1548:16;;1508:20;:57::i;:::-;1333:239:::0;;;:::o;962:108:215:-;1059:4;962:108;:::o;2182:374::-;2344:13;2376:23;2407:87;2472:12;;2407:87;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2407:51:215;;-1:-1:-1;;;2407:87:215:i;:::-;2369:125;;;;;;;2512:37;2523:17;2542:6;2512:10;:37::i;:::-;2505:44;2182:374;-1:-1:-1;;;;;;2182:374:215:o;4613:130:221:-;4715:21;4613:130;:::o;1193:136:215:-;1284:38;;;;;;;;;;;;;;;;;1193:136;:::o;2859:331::-;2977:13;3045:24;:22;:24::i;:::-;-1:-1:-1;;;;;3025:65:215;;3108:36;3126:17;3108;:36::i;:::-;3162:7;3025:158;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3006:177;;2859:331;;;;;:::o;1459:344::-;1639:34;;;1671:1;1639:34;;;;;;;;;1551:52;;1639:34;;;;;;;;;;;-1:-1:-1;1639:34:215;1619:54;;1706:55;1683:17;1701:1;1683:20;;;;;;;;;;;;;:78;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1459:344:215;:::o;941:83:223:-;;:::o;6755:113::-;6847:14;6755:113;:::o;4908:198:221:-;-1:-1:-1;;;;;5055:44:221;;:25;:44;;;;;;;;;;;;5048:51;;;;;;;;;;;;;;;;;5007:25;;5048:51;;;5055:44;5048:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4908:198;;;;:::o;2752:1638::-;2874:32;;2939:84;;;;2963:16;2939:84;:::i;:::-;2873:150;;;;3034:28;3104:12;:19;3079:15;:22;:44;-1:-1:-1;;;;;3065:59:221;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3065:59:221;;3034:90;;3142:11;:18;3164:1;3142:23;;3134:76;;;;-1:-1:-1;;;3134:76:221;;;;;;;:::i;:::-;-1:-1:-1;;;;;3283:44:221;;3337:1;3283:44;;;;;;;;;;:51;:55;3279:137;;-1:-1:-1;;;;;3361:44:221;;:25;:44;;;;;;;;;;3354:51;;;:::i;:::-;3553:9;3548:192;3568:15;:22;3564:1;:26;3548:192;;;3628:15;3644:1;3628:18;;;;;;;;;;;;;;3611:11;3623:1;3611:14;;;;;;;;;;;;;:35;;;;;3660:25;:44;3686:17;-1:-1:-1;;;;;3660:44:221;-1:-1:-1;;;;;3660:44:221;;;;;;;;;;;;3710:15;3726:1;3710:18;;;;;;;;;;;;;;;;;;;3660:69;;;;;;;;-1:-1:-1;3660:69:221;;;;;;;;;;;;;;3592:3;3548:192;;;-1:-1:-1;3794:19:221;;:23;3790:531;;3833:18;3869:17;-1:-1:-1;;;;;3854:47:221;;:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3833:70;;3922:9;3917:394;3937:12;:19;3933:1;:23;3917:394;;;3981:24;4033:1;4008:15;:22;:26;3981:53;;4084:114;4133:10;4165:12;4178:1;4165:15;;;;;;;;;;;;;;4084:27;:114::i;:::-;4052:11;4064:16;4052:29;;;;;;;;;;;;;:146;;;;;4216:25;:44;4242:17;-1:-1:-1;;;;;4216:44:221;-1:-1:-1;;;;;4216:44:221;;;;;;;;;;;;4266:11;4278:16;4266:29;;;;;;;;;;;;;;;;;;;4216:80;;;;;;;;-1:-1:-1;4216:80:221;;;;;;;;;;;;;;3958:3;;;;;-1:-1:-1;3917:394:221;;;;3790:531;;4352:17;-1:-1:-1;;;;;4336:47:221;;4371:11;4336:47;;;;;;:::i;:::-;;;;;;;;2752:1638;;;;;;:::o;5285:546:223:-;5436:17;5467:18;5499:31;5544:24;5582:30;5626:21;5719:15;5691:133;;;;;;;;;;;;:::i;:::-;5672:152;;;;-1:-1:-1;5672:152:223;;-1:-1:-1;5672:152:223;-1:-1:-1;5672:152:223;-1:-1:-1;5672:152:223;;-1:-1:-1;5285:546:223;-1:-1:-1;;5285:546:223:o;1662:488:221:-;1781:15;1826:41;1881:29;1923:33;1943:12;1923:19;:33::i;:::-;1812:144;;;;2006:24;:22;:24::i;:::-;-1:-1:-1;;;;;1986:56:221;;2060:11;2089:10;2117:12;1986:157;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1967:176;1662:488;-1:-1:-1;;;;;1662:488:221:o;2200:276::-;2303:42;2347:30;2411:12;2400:69;;;;;;;;;;;;:::i;:::-;2393:76;;;;2200:276;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5:130::-;72:20;;97:33;72:20;97:33;:::i;142:134::-;220:13;;238:33;220:13;238:33;:::i;458:707::-;;575:3;568:4;560:6;556:17;552:27;542:2;;593:1;590;583:12;542:2;630:6;617:20;652:80;667:64;724:6;667:64;:::i;:::-;652:80;:::i;:::-;643:89;;749:5;774:6;767:5;760:21;804:4;796:6;792:17;782:27;;826:4;821:3;817:14;810:21;;879:6;926:3;918:4;910:6;906:17;901:3;897:27;894:36;891:2;;;943:1;940;933:12;891:2;968:1;953:206;978:6;975:1;972:13;953:206;;;1036:3;1058:37;1091:3;1079:10;1058:37;:::i;:::-;1046:50;;-1:-1;1119:4;1110:14;;;;1138;;;;;1000:1;993:9;953:206;;;957:14;535:630;;;;;;;:::o;1191:722::-;;1319:3;1312:4;1304:6;1300:17;1296:27;1286:2;;1337:1;1334;1327:12;1286:2;1367:6;1361:13;1389:80;1404:64;1461:6;1404:64;:::i;1389:80::-;1380:89;;1486:5;1511:6;1504:5;1497:21;1541:4;1533:6;1529:17;1519:27;;1563:4;1558:3;1554:14;1547:21;;1616:6;1663:3;1655:4;1647:6;1643:17;1638:3;1634:27;1631:36;1628:2;;;1680:1;1677;1670:12;1628:2;1705:1;1690:217;1715:6;1712:1;1709:13;1690:217;;;1773:3;1795:48;1839:3;1827:10;1795:48;:::i;:::-;1783:61;;-1:-1;1867:4;1858:14;;;;1886;;;;;1737:1;1730:9;1690:217;;1937:705;;2063:3;2056:4;2048:6;2044:17;2040:27;2030:2;;2081:1;2078;2071:12;2030:2;2118:6;2105:20;2140:89;2155:73;2221:6;2155:73;:::i;2140:89::-;2257:21;;;2301:4;2289:17;;;;2131:98;;-1:-1;2314:14;;2289:17;2409:1;2394:242;2419:6;2416:1;2413:13;2394:242;;;2502:3;2489:17;2481:6;2477:30;2526:46;2568:3;2556:10;2526:46;:::i;:::-;2514:59;;-1:-1;2596:4;2587:14;;;;2615;;;;;2441:1;2434:9;2394:242;;2668:707;;2785:3;2778:4;2770:6;2766:17;2762:27;2752:2;;2803:1;2800;2793:12;2752:2;2840:6;2827:20;2862:80;2877:64;2934:6;2877:64;:::i;2862:80::-;2853:89;;2959:5;2984:6;2977:5;2970:21;3014:4;3006:6;3002:17;2992:27;;3036:4;3031:3;3027:14;3020:21;;3089:6;3136:3;3128:4;3120:6;3116:17;3111:3;3107:27;3104:36;3101:2;;;3153:1;3150;3143:12;3101:2;3178:1;3163:206;3188:6;3185:1;3182:13;3163:206;;;3246:3;3268:37;3301:3;3289:10;3268:37;:::i;:::-;3256:50;;-1:-1;3329:4;3320:14;;;;3348;;;;;3210:1;3203:9;3163:206;;3401:722;;3529:3;3522:4;3514:6;3510:17;3506:27;3496:2;;3547:1;3544;3537:12;3496:2;3577:6;3571:13;3599:80;3614:64;3671:6;3614:64;:::i;3599:80::-;3590:89;;3696:5;3721:6;3714:5;3707:21;3751:4;3743:6;3739:17;3729:27;;3773:4;3768:3;3764:14;3757:21;;3826:6;3873:3;3865:4;3857:6;3853:17;3848:3;3844:27;3841:36;3838:2;;;3890:1;3887;3880:12;3838:2;3915:1;3900:217;3925:6;3922:1;3919:13;3900:217;;;3983:3;4005:48;4049:3;4037:10;4005:48;:::i;:::-;3993:61;;-1:-1;4077:4;4068:14;;;;4096;;;;;3947:1;3940:9;3900:217;;4131:128;4206:13;;4224:30;4206:13;4224:30;:::i;4280:336::-;;;4394:3;4387:4;4379:6;4375:17;4371:27;4361:2;;4412:1;4409;4402:12;4361:2;-1:-1;4432:20;;-1:-1;;;;;4461:30;;4458:2;;;4504:1;4501;4494:12;4458:2;4538:4;4530:6;4526:17;4514:29;;4589:3;4581:4;4573:6;4569:17;4559:8;4555:32;4552:41;4549:2;;;4606:1;4603;4596:12;4549:2;4354:262;;;;;:::o;4625:440::-;;4726:3;4719:4;4711:6;4707:17;4703:27;4693:2;;4744:1;4741;4734:12;4693:2;4781:6;4768:20;4803:64;4818:48;4859:6;4818:48;:::i;4803:64::-;4794:73;;4887:6;4880:5;4873:21;4923:4;4915:6;4911:17;4956:4;4949:5;4945:16;4991:3;4982:6;4977:3;4973:16;4970:25;4967:2;;;5008:1;5005;4998:12;4967:2;5018:41;5052:6;5047:3;5042;5018:41;:::i;:::-;4686:379;;;;;;;:::o;5073:162::-;5156:20;;5181:49;5156:20;5181:49;:::i;5242:164::-;5335:13;;5353:48;5335:13;5353:48;:::i;5413:130::-;5480:20;;5505:33;5480:20;5505:33;:::i;5550:134::-;5628:13;;5646:33;5628:13;5646:33;:::i;5691:241::-;;5795:2;5783:9;5774:7;5770:23;5766:32;5763:2;;;5811:1;5808;5801:12;5763:2;5846:1;5863:53;5908:7;5888:9;5863:53;:::i;:::-;5853:63;5757:175;-1:-1;;;;5757:175::o;5939:263::-;;6054:2;6042:9;6033:7;6029:23;6025:32;6022:2;;;6070:1;6067;6060:12;6022:2;6105:1;6122:64;6178:7;6158:9;6122:64;:::i;6209:1236::-;;;;;;;6475:3;6463:9;6454:7;6450:23;6446:33;6443:2;;;6492:1;6489;6482:12;6443:2;6527:1;6544:72;6608:7;6588:9;6544:72;:::i;:::-;6534:82;;6506:116;6653:2;6671:72;6735:7;6726:6;6715:9;6711:22;6671:72;:::i;:::-;6661:82;;6632:117;6780:2;6798:64;6854:7;6845:6;6834:9;6830:22;6798:64;:::i;:::-;6788:74;;6759:109;6920:2;6909:9;6905:18;6899:25;-1:-1;;;;;6936:6;6933:30;6930:2;;;6976:1;6973;6966:12;6930:2;6996:89;7077:7;7068:6;7057:9;7053:22;6996:89;:::i;:::-;6986:99;;6878:213;7143:3;7132:9;7128:19;7122:26;-1:-1;;;;;7160:6;7157:30;7154:2;;;7200:1;7197;7190:12;7154:2;7220:89;7301:7;7292:6;7281:9;7277:22;7220:89;:::i;:::-;7210:99;;7101:214;7346:3;7365:64;7421:7;7412:6;7401:9;7397:22;7365:64;:::i;:::-;7355:74;;7325:110;6437:1008;;;;;;;;:::o;7452:502::-;;;7598:2;7586:9;7577:7;7573:23;7569:32;7566:2;;;7614:1;7611;7604:12;7566:2;7649:1;7666:53;7711:7;7691:9;7666:53;:::i;:::-;7656:63;;7628:97;7784:2;7773:9;7769:18;7756:32;-1:-1;;;;;7800:6;7797:30;7794:2;;;7840:1;7837;7830:12;7794:2;7860:78;7930:7;7921:6;7910:9;7906:22;7860:78;:::i;:::-;7850:88;;7735:209;7560:394;;;;;:::o;7961:490::-;;;;8101:2;8089:9;8080:7;8076:23;8072:32;8069:2;;;8117:1;8114;8107:12;8069:2;8152:1;8169:53;8214:7;8194:9;8169:53;:::i;:::-;8159:63;;8131:97;8287:2;8276:9;8272:18;8259:32;-1:-1;;;;;8303:6;8300:30;8297:2;;;8343:1;8340;8333:12;8297:2;8371:64;8427:7;8418:6;8407:9;8403:22;8371:64;:::i;:::-;8353:82;;;;8238:203;8063:388;;;;;:::o;8458:647::-;;;;;8631:2;8619:9;8610:7;8606:23;8602:32;8599:2;;;8647:1;8644;8637:12;8599:2;8682:1;8699:53;8744:7;8724:9;8699:53;:::i;:::-;8689:63;;8661:97;8789:2;8807:69;8868:7;8859:6;8848:9;8844:22;8807:69;:::i;:::-;8797:79;;8768:114;8941:2;8930:9;8926:18;8913:32;-1:-1;;;;;8957:6;8954:30;8951:2;;;8997:1;8994;8987:12;8951:2;9025:64;9081:7;9072:6;9061:9;9057:22;9025:64;:::i;:::-;8593:512;;;;-1:-1;9007:82;-1:-1;;;;8593:512::o;9112:656::-;;;9292:2;9280:9;9271:7;9267:23;9263:32;9260:2;;;9308:1;9305;9298:12;9260:2;9343:31;;-1:-1;;;;;9383:30;;9380:2;;;9426:1;9423;9416:12;9380:2;9446:78;9516:7;9507:6;9496:9;9492:22;9446:78;:::i;:::-;9436:88;;9322:208;9589:2;9578:9;9574:18;9561:32;-1:-1;;;;;9605:6;9602:30;9599:2;;;9645:1;9642;9635:12;9599:2;9665:87;9744:7;9735:6;9724:9;9720:22;9665:87;:::i;9775:257::-;;9887:2;9875:9;9866:7;9862:23;9858:32;9855:2;;;9903:1;9900;9893:12;9855:2;9938:1;9955:61;10008:7;9988:9;9955:61;:::i;10039:558::-;;;10211:2;10199:9;10190:7;10186:23;10182:32;10179:2;;;10227:1;10224;10217:12;10179:2;10262:1;10279:79;10350:7;10330:9;10279:79;:::i;:::-;10269:89;;10241:123;10416:2;10405:9;10401:18;10395:25;-1:-1;;;;;10432:6;10429:30;10426:2;;;10472:1;10469;10462:12;10426:2;10492:89;10573:7;10564:6;10553:9;10549:22;10492:89;:::i;10604:263::-;;10719:2;10707:9;10698:7;10694:23;10690:32;10687:2;;;10735:1;10732;10725:12;10687:2;10770:1;10787:64;10843:7;10823:9;10787:64;:::i;10875:173::-;;10962:46;11004:3;10996:6;10962:46;:::i;:::-;-1:-1;;11037:4;11028:14;;10955:93::o;11057:201::-;;11158:60;11214:3;11206:6;11158:60;:::i;11267:173::-;;11354:46;11396:3;11388:6;11354:46;:::i;11448:103::-;11521:24;11539:5;11521:24;:::i;:::-;11516:3;11509:37;11503:48;;:::o;11709:690::-;;11854:54;11902:5;11854:54;:::i;:::-;11921:86;12000:6;11995:3;11921:86;:::i;:::-;11914:93;;12028:56;12078:5;12028:56;:::i;:::-;12104:7;12132:1;12117:260;12142:6;12139:1;12136:13;12117:260;;;12209:6;12203:13;12230:63;12289:3;12274:13;12230:63;:::i;:::-;12223:70;;12310:60;12363:6;12310:60;:::i;:::-;12300:70;-1:-1;;12164:1;12157:9;12117:260;;;-1:-1;12390:3;;11833:566;-1:-1;;;;;11833:566::o;12459:764::-;;12618:70;12682:5;12618:70;:::i;:::-;12701:84;12778:6;12773:3;12701:84;:::i;:::-;12694:91;;12806:72;12872:5;12806:72;:::i;:::-;12898:7;12926:1;12911:290;12936:6;12933:1;12930:13;12911:290;;;13003:6;12997:13;13024:77;13097:3;13082:13;13024:77;:::i;:::-;13017:84;;13118:76;13187:6;13118:76;:::i;:::-;13108:86;-1:-1;;12958:1;12951:9;12911:290;;13262:690;;13407:54;13455:5;13407:54;:::i;:::-;13474:86;13553:6;13548:3;13474:86;:::i;:::-;13467:93;;13581:56;13631:5;13581:56;:::i;:::-;13657:7;13685:1;13670:260;13695:6;13692:1;13689:13;13670:260;;;13762:6;13756:13;13783:63;13842:3;13827:13;13783:63;:::i;:::-;13776:70;;13863:60;13916:6;13863:60;:::i;:::-;13853:70;-1:-1;;13717:1;13710:9;13670:260;;13960:104;14037:21;14052:5;14037:21;:::i;14071:144::-;14158:51;14203:5;14158:51;:::i;14222:152::-;14318:50;14362:5;14318:50;:::i;14381:347::-;;14493:39;14526:5;14493:39;:::i;:::-;14544:71;14608:6;14603:3;14544:71;:::i;:::-;14537:78;;14620:52;14665:6;14660:3;14653:4;14646:5;14642:16;14620:52;:::i;:::-;14693:29;14715:6;14693:29;:::i;:::-;14684:39;;;;14473:255;-1:-1;;;14473:255::o;14736:392::-;;14896:67;14960:2;14955:3;14896:67;:::i;:::-;14996:34;14976:55;;15065:25;15060:2;15051:12;;15044:47;15119:2;15110:12;;14882:246;-1:-1;;14882:246::o;15137:378::-;;15297:67;15361:2;15356:3;15297:67;:::i;:::-;15397:34;15377:55;;-1:-1;;;15461:2;15452:12;;15445:33;15506:2;15497:12;;15283:232;-1:-1;;15283:232::o;15524:377::-;;15684:67;15748:2;15743:3;15684:67;:::i;:::-;15784:34;15764:55;;-1:-1;;;15848:2;15839:12;;15832:32;15892:2;15883:12;;15670:231;-1:-1;;15670:231::o;15909:103::-;15982:24;16000:5;15982:24;:::i;16019:222::-;16146:2;16131:18;;16160:71;16135:9;16204:6;16160:71;:::i;16248:618::-;16494:2;16479:18;;16508:71;16483:9;16552:6;16508:71;:::i;:::-;16590:85;16671:2;16660:9;16656:18;16647:6;16590:85;:::i;:::-;16723:9;16717:4;16713:20;16708:2;16697:9;16693:18;16686:48;16748:108;16851:4;16842:6;16748:108;:::i;16873:398::-;17064:2;17078:47;;;17049:18;;17139:122;17049:18;17247:6;17139:122;:::i;17278:370::-;17455:2;17469:47;;;17440:18;;17530:108;17440:18;17624:6;17530:108;:::i;17655:629::-;17910:2;17924:47;;;17895:18;;17985:108;17895:18;18079:6;17985:108;:::i;:::-;17977:116;;18141:9;18135:4;18131:20;18126:2;18115:9;18111:18;18104:48;18166:108;18269:4;18260:6;18166:108;:::i;18291:210::-;18412:2;18397:18;;18426:65;18401:9;18464:6;18426:65;:::i;18508:310::-;18655:2;18669:47;;;18640:18;;18730:78;18640:18;18794:6;18730:78;:::i;18825:416::-;19025:2;19039:47;;;19010:18;;19100:131;19010:18;19100:131;:::i;19248:416::-;19448:2;19462:47;;;19433:18;;19523:131;19433:18;19523:131;:::i;19671:416::-;19871:2;19885:47;;;19856:18;;19946:131;19856:18;19946:131;:::i;20094:256::-;20156:2;20150:9;20182:17;;;-1:-1;;;;;20242:34;;20278:22;;;20239:62;20236:2;;;20314:1;20311;20304:12;20236:2;20330;20323:22;20134:216;;-1:-1;20134:216::o;20357:304::-;;-1:-1;;;;;20508:6;20505:30;20502:2;;;20548:1;20545;20538:12;20502:2;-1:-1;20583:4;20571:17;;;20636:15;;20439:222::o;21299:321::-;;-1:-1;;;;;21434:6;21431:30;21428:2;;;21474:1;21471;21464:12;21428:2;-1:-1;21605:4;21541;21518:17;;;;-1:-1;;21514:33;21595:15;;21365:255::o;21627:151::-;21751:4;21742:14;;21699:79::o;22117:137::-;22220:12;;22191:63::o;23056:178::-;23174:19;;;23223:4;23214:14;;23167:67::o;23786:91::-;;23848:24;23866:5;23848:24;:::i;23990:85::-;24056:13;24049:21;;24032:43::o;24082:138::-;24160:5;24166:49;24160:5;24166:49;:::i;24227:136::-;24304:5;24310:48;24304:5;24310:48;:::i;24370:121::-;-1:-1;;;;;24432:54;;24415:76::o;24498:72::-;24560:5;24543:27::o;24577:138::-;;24670:40;24704:5;24670:40;:::i;24722:136::-;;24814:39;24847:5;24814:39;:::i;24866:145::-;24947:6;24942:3;24937;24924:30;-1:-1;25003:1;24985:16;;24978:27;24917:94::o;25020:268::-;25085:1;25092:101;25106:6;25103:1;25100:13;25092:101;;;25173:11;;;25167:18;25154:11;;;25147:39;25128:2;25121:10;25092:101;;;25208:6;25205:1;25202:13;25199:2;;;25273:1;25264:6;25259:3;25255:16;25248:27;25199:2;25069:219;;;;:::o;25296:97::-;25384:2;25364:14;-1:-1;;25360:28;;25344:49::o;25401:108::-;25486:2;25479:5;25476:13;25466:2;;25493:9;25516:106;25600:1;25593:5;25590:12;25580:2;;25606:9;25629:117;25698:24;25716:5;25698:24;:::i;:::-;25691:5;25688:35;25678:2;;25737:1;25734;25727:12;25893:111;25959:21;25974:5;25959:21;:::i;26011:111::-;26096:2;26089:5;26086:13;26076:2;;26113:1;26110;26103:12;26129:109;26213:1;26206:5;26203:12;26193:2;;26229:1;26226;26219:12;26245:117;26314:24;26332:5;26314:24;:::i", - "linkReferences": {}, - "immutableReferences": { - "59555": [ - { - "start": 626, - "length": 32 - } - ], - "59893": [ - { - "start": 448, - "length": 32 - }, - { - "start": 959, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "activateForFund(address)": "ceb9a0ad", - "addFundSettings(address,bytes)": "0f5f6b4f", - "canDisable()": "1ef92578", - "getAddressListRegistry()": "74708934", - "getListIdsForFund(address)": "dffd7c6f", - "getPolicyManager()": "d44ad6cb", - "identifier()": "7998a1c4", - "implementedHooks()": "cbf54bb2", - "passesRule(address,address[])": "c18a6338", - "updateFundSettings(address,bytes)": "0d4d7510", - "validateRule(address,uint8,bytes)": "579be718" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_policyManager\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_addressListRegistry\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"listIds\",\"type\":\"uint256[]\"}],\"name\":\"ListsSetForFund\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"activateForFund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_encodedSettings\",\"type\":\"bytes\"}],\"name\":\"addFundSettings\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"canDisable\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"canDisable_\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAddressListRegistry\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"addressListRegistry_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"}],\"name\":\"getListIdsForFund\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"listIds_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPolicyManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"policyManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"identifier\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"identifier_\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"implementedHooks\",\"outputs\":[{\"internalType\":\"enum IPolicyManager.PolicyHook[]\",\"name\":\"implementedHooks_\",\"type\":\"uint8[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"address[]\",\"name\":\"_assets\",\"type\":\"address[]\"}],\"name\":\"passesRule\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isValid_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"updateFundSettings\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"enum IPolicyManager.PolicyHook\",\"name\":\"\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"_encodedArgs\",\"type\":\"bytes\"}],\"name\":\"validateRule\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isValid_\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"activateForFund(address)\":{\"details\":\"Unimplemented by default, can be overridden by the policy\"},\"addFundSettings(address,bytes)\":{\"params\":{\"_comptrollerProxy\":\"The fund's ComptrollerProxy address\",\"_encodedSettings\":\"Encoded settings to apply to a fund\"}},\"canDisable()\":{\"returns\":{\"canDisable_\":\"True if the policy can be disabled\"}},\"getAddressListRegistry()\":{\"returns\":{\"addressListRegistry_\":\"The `ADDRESS_LIST_REGISTRY` variable value\"}},\"getListIdsForFund(address)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\"},\"returns\":{\"listIds_\":\"The list ids\"}},\"getPolicyManager()\":{\"returns\":{\"policyManager_\":\"The `POLICY_MANAGER` variable value\"}},\"identifier()\":{\"returns\":{\"identifier_\":\"The identifier string\"}},\"implementedHooks()\":{\"returns\":{\"implementedHooks_\":\"The implemented PolicyHooks\"}},\"passesRule(address,address[])\":{\"params\":{\"_assets\":\"The assets for which to check the rule\",\"_comptrollerProxy\":\"The fund's ComptrollerProxy address\"},\"returns\":{\"isValid_\":\"True if the rule passes\"}},\"updateFundSettings(address,bytes)\":{\"details\":\"Disallowed by default, can be overridden by the policy\"},\"validateRule(address,uint8,bytes)\":{\"details\":\"onlyPolicyManager validation not necessary, as state is not updated and no events are fired\",\"params\":{\"_comptrollerProxy\":\"The fund's ComptrollerProxy address\",\"_encodedArgs\":\"Encoded args with which to validate the rule\"},\"returns\":{\"isValid_\":\"True if the rule passes\"}}},\"title\":\"AllowedAssetsForRedemptionPolicy Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"activateForFund(address)\":{\"notice\":\"Validates and initializes a policy as necessary prior to fund activation\"},\"addFundSettings(address,bytes)\":{\"notice\":\"Adds the initial policy settings for a fund\"},\"canDisable()\":{\"notice\":\"Whether or not the policy can be disabled\"},\"getAddressListRegistry()\":{\"notice\":\"Gets the `ADDRESS_LIST_REGISTRY` variable value\"},\"getListIdsForFund(address)\":{\"notice\":\"Gets the list ids used by a given fund\"},\"getPolicyManager()\":{\"notice\":\"Gets the `POLICY_MANAGER` variable value\"},\"identifier()\":{\"notice\":\"Provides a constant string identifier for a policy\"},\"implementedHooks()\":{\"notice\":\"Gets the implemented PolicyHooks for a policy\"},\"passesRule(address,address[])\":{\"notice\":\"Checks whether a particular condition passes the rule for a particular fund\"},\"updateFundSettings(address,bytes)\":{\"notice\":\"Updates the policy settings for a fund\"},\"validateRule(address,uint8,bytes)\":{\"notice\":\"Apply the rule with the specified parameters of a PolicyHook\"}},\"notice\":\"A policy that limits assets that can be redeemed by specific asset redemption\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/policy-manager/policies/current-shareholders/AllowedAssetsForRedemptionPolicy.sol\":\"AllowedAssetsForRedemptionPolicy\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/address-list-registry/AddressListRegistry.sol\":{\"keccak256\":\"0xf00a9e376e3ec2a223f463f71c15ee3af3642dd028bc3762440e316b760c8048\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://01986c9327b5dfbfac21316dced6d68727931ddde1278ed1342d878004f984b9\",\"dweb:/ipfs/QmdXkFaUU43JqMTYEREbWa129rohdqN7GXy7mVRpjCfSLD\"]},\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/persistent/vault/interfaces/IExternalPositionVault.sol\":{\"keccak256\":\"0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d\",\"dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8\"]},\"contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol\":{\"keccak256\":\"0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb\",\"dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU\"]},\"contracts/persistent/vault/interfaces/IMigratableVault.sol\":{\"keccak256\":\"0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6\",\"dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs\"]},\"contracts/persistent/vault/interfaces/IVaultCore.sol\":{\"keccak256\":\"0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd\",\"dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr\"]},\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/core/fund/comptroller/ComptrollerLib.sol\":{\"keccak256\":\"0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579\",\"dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq\"]},\"contracts/release/core/fund/comptroller/IComptroller.sol\":{\"keccak256\":\"0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97\",\"dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L\"]},\"contracts/release/core/fund/vault/IVault.sol\":{\"keccak256\":\"0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599\",\"dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG\"]},\"contracts/release/extensions/IExtension.sol\":{\"keccak256\":\"0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70\",\"dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t\"]},\"contracts/release/extensions/fee-manager/IFeeManager.sol\":{\"keccak256\":\"0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22\",\"dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod\"]},\"contracts/release/extensions/policy-manager/IPolicy.sol\":{\"keccak256\":\"0xc12663ca72065b256c3b934ab738fde26c147c7b0399de43650df89dd52ee467\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://be8fecfcba0f3fda615f0a1bb3c766750c23761ef751d7c4472dfe540e460cd1\",\"dweb:/ipfs/QmaarPoRTsX6NiJ8V4u2f3Qh6d7tUs28bw9R14An3t5Bs1\"]},\"contracts/release/extensions/policy-manager/IPolicyManager.sol\":{\"keccak256\":\"0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa\",\"dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb\"]},\"contracts/release/extensions/policy-manager/policies/current-shareholders/AllowedAssetsForRedemptionPolicy.sol\":{\"keccak256\":\"0x73f4cb3c6c94a36c6d3c6c3d4bb28d341fc8522b9ac7de79b705a465a0e70e5b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9220418e3dbd5b292571848e5986ee40356a1ecfe6a0538d8aa89363693c02af\",\"dweb:/ipfs/QmdZS5N45r2HrwpU9bSREYTbuyahu6ppSdLpqyoXQz4enX\"]},\"contracts/release/extensions/policy-manager/policies/utils/AddressListRegistryPolicyBase.sol\":{\"keccak256\":\"0x3fdcf3e45c9d6b9cf5221aeb95858060dfc18abf744f664b5ce9bf2f0a6a7bdc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://48b3ed06e509a45f122112129bf3d221ae30afad87722a123f7405a4a24e6645\",\"dweb:/ipfs/QmSA3cJB7C6x6BasicDpzwnHuxFkL6k8hR5fDRD42BWsGc\"]},\"contracts/release/extensions/policy-manager/policies/utils/PolicyBase.sol\":{\"keccak256\":\"0x972311abb98f0da815b4aca83d5afdd219d3604ec19cf5e3773c0c305bd9b3f1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2452f3d1f3b1d8e8459a07489146a2d0d8a10463715937995cbe77ee5de8c069\",\"dweb:/ipfs/Qmf2hhd2DVbjpxmbNGAhRZNZkqpGZA2mX3eA1WNwtv6t5Y\"]},\"contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol\":{\"keccak256\":\"0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f\",\"dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol\":{\"keccak256\":\"0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0\",\"dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol\":{\"keccak256\":\"0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b\",\"dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3\"]},\"contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol\":{\"keccak256\":\"0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965\",\"dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ\"]},\"contracts/release/interfaces/IGsnForwarder.sol\":{\"keccak256\":\"0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29\",\"dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G\"]},\"contracts/release/interfaces/IGsnPaymaster.sol\":{\"keccak256\":\"0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4\",\"dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF\"]},\"contracts/release/interfaces/IGsnTypes.sol\":{\"keccak256\":\"0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7\",\"dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/beacon-proxy/IBeacon.sol\":{\"keccak256\":\"0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39\",\"dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V\"]},\"contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol\":{\"keccak256\":\"0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be\",\"dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_policyManager", - "type": "address" - }, - { - "internalType": "address", - "name": "_addressListRegistry", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "comptrollerProxy", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256[]", - "name": "listIds", - "type": "uint256[]", - "indexed": false - } - ], - "type": "event", - "name": "ListsSetForFund", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "activateForFund" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_encodedSettings", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "addFundSettings" - }, - { - "inputs": [], - "stateMutability": "pure", - "type": "function", - "name": "canDisable", - "outputs": [ - { - "internalType": "bool", - "name": "canDisable_", - "type": "bool" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getAddressListRegistry", - "outputs": [ - { - "internalType": "address", - "name": "addressListRegistry_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getListIdsForFund", - "outputs": [ - { - "internalType": "uint256[]", - "name": "listIds_", - "type": "uint256[]" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getPolicyManager", - "outputs": [ - { - "internalType": "address", - "name": "policyManager_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "pure", - "type": "function", - "name": "identifier", - "outputs": [ - { - "internalType": "string", - "name": "identifier_", - "type": "string" - } - ] - }, - { - "inputs": [], - "stateMutability": "pure", - "type": "function", - "name": "implementedHooks", - "outputs": [ - { - "internalType": "enum IPolicyManager.PolicyHook[]", - "name": "implementedHooks_", - "type": "uint8[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "address[]", - "name": "_assets", - "type": "address[]" - } - ], - "stateMutability": "view", - "type": "function", - "name": "passesRule", - "outputs": [ - { - "internalType": "bool", - "name": "isValid_", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "updateFundSettings" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "enum IPolicyManager.PolicyHook", - "name": "", - "type": "uint8" - }, - { - "internalType": "bytes", - "name": "_encodedArgs", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "validateRule", - "outputs": [ - { - "internalType": "bool", - "name": "isValid_", - "type": "bool" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "activateForFund(address)": { - "details": "Unimplemented by default, can be overridden by the policy" - }, - "addFundSettings(address,bytes)": { - "params": { - "_comptrollerProxy": "The fund's ComptrollerProxy address", - "_encodedSettings": "Encoded settings to apply to a fund" - } - }, - "canDisable()": { - "returns": { - "canDisable_": "True if the policy can be disabled" - } - }, - "getAddressListRegistry()": { - "returns": { - "addressListRegistry_": "The `ADDRESS_LIST_REGISTRY` variable value" - } - }, - "getListIdsForFund(address)": { - "params": { - "_comptrollerProxy": "The ComptrollerProxy of the fund" - }, - "returns": { - "listIds_": "The list ids" - } - }, - "getPolicyManager()": { - "returns": { - "policyManager_": "The `POLICY_MANAGER` variable value" - } - }, - "identifier()": { - "returns": { - "identifier_": "The identifier string" - } - }, - "implementedHooks()": { - "returns": { - "implementedHooks_": "The implemented PolicyHooks" - } - }, - "passesRule(address,address[])": { - "params": { - "_assets": "The assets for which to check the rule", - "_comptrollerProxy": "The fund's ComptrollerProxy address" - }, - "returns": { - "isValid_": "True if the rule passes" - } - }, - "updateFundSettings(address,bytes)": { - "details": "Disallowed by default, can be overridden by the policy" - }, - "validateRule(address,uint8,bytes)": { - "details": "onlyPolicyManager validation not necessary, as state is not updated and no events are fired", - "params": { - "_comptrollerProxy": "The fund's ComptrollerProxy address", - "_encodedArgs": "Encoded args with which to validate the rule" - }, - "returns": { - "isValid_": "True if the rule passes" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "activateForFund(address)": { - "notice": "Validates and initializes a policy as necessary prior to fund activation" - }, - "addFundSettings(address,bytes)": { - "notice": "Adds the initial policy settings for a fund" - }, - "canDisable()": { - "notice": "Whether or not the policy can be disabled" - }, - "getAddressListRegistry()": { - "notice": "Gets the `ADDRESS_LIST_REGISTRY` variable value" - }, - "getListIdsForFund(address)": { - "notice": "Gets the list ids used by a given fund" - }, - "getPolicyManager()": { - "notice": "Gets the `POLICY_MANAGER` variable value" - }, - "identifier()": { - "notice": "Provides a constant string identifier for a policy" - }, - "implementedHooks()": { - "notice": "Gets the implemented PolicyHooks for a policy" - }, - "passesRule(address,address[])": { - "notice": "Checks whether a particular condition passes the rule for a particular fund" - }, - "updateFundSettings(address,bytes)": { - "notice": "Updates the policy settings for a fund" - }, - "validateRule(address,uint8,bytes)": { - "notice": "Apply the rule with the specified parameters of a PolicyHook" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/policy-manager/policies/current-shareholders/AllowedAssetsForRedemptionPolicy.sol": "AllowedAssetsForRedemptionPolicy" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/address-list-registry/AddressListRegistry.sol": { - "keccak256": "0xf00a9e376e3ec2a223f463f71c15ee3af3642dd028bc3762440e316b760c8048", - "urls": [ - "bzz-raw://01986c9327b5dfbfac21316dced6d68727931ddde1278ed1342d878004f984b9", - "dweb:/ipfs/QmdXkFaUU43JqMTYEREbWa129rohdqN7GXy7mVRpjCfSLD" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/dispatcher/IDispatcher.sol": { - "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", - "urls": [ - "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", - "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/external-positions/IExternalPosition.sol": { - "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", - "urls": [ - "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", - "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IExternalPositionVault.sol": { - "keccak256": "0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6", - "urls": [ - "bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d", - "dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol": { - "keccak256": "0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0", - "urls": [ - "bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb", - "dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IMigratableVault.sol": { - "keccak256": "0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238", - "urls": [ - "bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6", - "dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IVaultCore.sol": { - "keccak256": "0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80", - "urls": [ - "bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd", - "dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund-deployer/IFundDeployer.sol": { - "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", - "urls": [ - "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", - "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/comptroller/ComptrollerLib.sol": { - "keccak256": "0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64", - "urls": [ - "bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579", - "dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/comptroller/IComptroller.sol": { - "keccak256": "0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f", - "urls": [ - "bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97", - "dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/vault/IVault.sol": { - "keccak256": "0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd", - "urls": [ - "bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599", - "dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/IExtension.sol": { - "keccak256": "0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b", - "urls": [ - "bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70", - "dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/fee-manager/IFeeManager.sol": { - "keccak256": "0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51", - "urls": [ - "bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22", - "dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/policy-manager/IPolicy.sol": { - "keccak256": "0xc12663ca72065b256c3b934ab738fde26c147c7b0399de43650df89dd52ee467", - "urls": [ - "bzz-raw://be8fecfcba0f3fda615f0a1bb3c766750c23761ef751d7c4472dfe540e460cd1", - "dweb:/ipfs/QmaarPoRTsX6NiJ8V4u2f3Qh6d7tUs28bw9R14An3t5Bs1" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/policy-manager/IPolicyManager.sol": { - "keccak256": "0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32", - "urls": [ - "bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa", - "dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/policy-manager/policies/current-shareholders/AllowedAssetsForRedemptionPolicy.sol": { - "keccak256": "0x73f4cb3c6c94a36c6d3c6c3d4bb28d341fc8522b9ac7de79b705a465a0e70e5b", - "urls": [ - "bzz-raw://9220418e3dbd5b292571848e5986ee40356a1ecfe6a0538d8aa89363693c02af", - "dweb:/ipfs/QmdZS5N45r2HrwpU9bSREYTbuyahu6ppSdLpqyoXQz4enX" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/policy-manager/policies/utils/AddressListRegistryPolicyBase.sol": { - "keccak256": "0x3fdcf3e45c9d6b9cf5221aeb95858060dfc18abf744f664b5ce9bf2f0a6a7bdc", - "urls": [ - "bzz-raw://48b3ed06e509a45f122112129bf3d221ae30afad87722a123f7405a4a24e6645", - "dweb:/ipfs/QmSA3cJB7C6x6BasicDpzwnHuxFkL6k8hR5fDRD42BWsGc" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/policy-manager/policies/utils/PolicyBase.sol": { - "keccak256": "0x972311abb98f0da815b4aca83d5afdd219d3604ec19cf5e3773c0c305bd9b3f1", - "urls": [ - "bzz-raw://2452f3d1f3b1d8e8459a07489146a2d0d8a10463715937995cbe77ee5de8c069", - "dweb:/ipfs/Qmf2hhd2DVbjpxmbNGAhRZNZkqpGZA2mX3eA1WNwtv6t5Y" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol": { - "keccak256": "0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609", - "urls": [ - "bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f", - "dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol": { - "keccak256": "0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01", - "urls": [ - "bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0", - "dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol": { - "keccak256": "0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196", - "urls": [ - "bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b", - "dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol": { - "keccak256": "0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794", - "urls": [ - "bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965", - "dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IGsnForwarder.sol": { - "keccak256": "0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030", - "urls": [ - "bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29", - "dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IGsnPaymaster.sol": { - "keccak256": "0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c", - "urls": [ - "bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4", - "dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IGsnTypes.sol": { - "keccak256": "0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714", - "urls": [ - "bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7", - "dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AddressArrayLib.sol": { - "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", - "urls": [ - "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", - "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/beacon-proxy/IBeacon.sol": { - "keccak256": "0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2", - "urls": [ - "bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39", - "dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol": { - "keccak256": "0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc", - "urls": [ - "bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be", - "dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { - "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", - "urls": [ - "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", - "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Address.sol": { - "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", - "urls": [ - "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", - "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 215 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_policyManager", "type": "address", "internalType": "address" }, { "name": "_addressListRegistry", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "activateForFund", "inputs": [ { "name": "", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "addFundSettings", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" }, { "name": "_encodedSettings", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "canDisable", "inputs": [], "outputs": [ { "name": "canDisable_", "type": "bool", "internalType": "bool" } ], "stateMutability": "pure" }, { "type": "function", "name": "getAddressListRegistry", "inputs": [], "outputs": [ { "name": "addressListRegistry_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getListIdsForFund", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "listIds_", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "view" }, { "type": "function", "name": "getPolicyManager", "inputs": [], "outputs": [ { "name": "policyManager_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "identifier", "inputs": [], "outputs": [ { "name": "identifier_", "type": "string", "internalType": "string" } ], "stateMutability": "pure" }, { "type": "function", "name": "implementedHooks", "inputs": [], "outputs": [ { "name": "implementedHooks_", "type": "uint8[]", "internalType": "enum IPolicyManager.PolicyHook[]" } ], "stateMutability": "pure" }, { "type": "function", "name": "passesRule", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" }, { "name": "_assets", "type": "address[]", "internalType": "address[]" } ], "outputs": [ { "name": "isValid_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "updateFundSettings", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "validateRule", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" }, { "name": "", "type": "uint8", "internalType": "enum IPolicyManager.PolicyHook" }, { "name": "_encodedArgs", "type": "bytes", "internalType": "bytes" } ], "outputs": [ { "name": "isValid_", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "event", "name": "ListsSetForFund", "inputs": [ { "name": "comptrollerProxy", "type": "address", "indexed": true, "internalType": "address" }, { "name": "listIds", "type": "uint256[]", "indexed": false, "internalType": "uint256[]" } ], "anonymous": false } ], "bytecode": { "object": "0x60c06040523480156200001157600080fd5b50604051620013ee380380620013ee833981016040819052620000349162000066565b6001600160601b0319606092831b8116608052911b1660a052620000d1565b80516200006081620000b7565b92915050565b600080604083850312156200007a57600080fd5b600062000088858562000053565b92505060206200009b8582860162000053565b9150509250929050565b60006001600160a01b03821662000060565b620000c281620000a5565b8114620000ce57600080fd5b50565b60805160601c60a05160601c6112ee62000100600039806102725250806101c052806103bf52506112ee6000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c80637998a1c4116100715780637998a1c41461011c578063c18a633814610131578063cbf54bb214610144578063ceb9a0ad14610159578063d44ad6cb1461016c578063dffd7c6f14610174576100a9565b80630d4d7510146100ae5780630f5f6b4f146100c35780631ef92578146100d6578063579be718146100f45780637470893414610107575b600080fd5b6100c16100bc366004610c91565b610194565b005b6100c16100d1366004610c91565b6101b5565b6100de61020d565b6040516100eb919061112f565b60405180910390f35b6100de610102366004610ce6565b610212565b61010f610270565b6040516100eb91906110ad565b610124610294565b6040516100eb919061113d565b6100de61013f366004610c40565b6102cb565b61014c610363565b6040516100eb91906110e8565b6100c1610167366004610b47565b6103ba565b61010f6103bd565b610187610182366004610b47565b6103e1565b6040516100eb91906110f9565b60405162461bcd60e51b81526004016101ac9061114e565b60405180910390fd5b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146101fd5760405162461bcd60e51b81526004016101ac9061115e565b61020883838361044c565b505050565b600190565b6000606061025584848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061070e92505050565b5050935050505061026686826102cb565b9695505050505050565b7f000000000000000000000000000000000000000000000000000000000000000090565b60408051808201909152601d81527f414c4c4f5745445f4153534554535f464f525f524544454d5054494f4e000000602082015290565b60006102d5610270565b6001600160a01b03166330bdd3866102ec856103e1565b846040518363ffffffff1660e01b815260040161030a92919061110a565b60206040518083038186803b15801561032257600080fd5b505afa158015610336573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061035a9190610daa565b90505b92915050565b6040805160018082528183019092526060916020808301908036833701905050905060038160008151811061039457fe5b602002602001019060098111156103a757fe5b908160098111156103b457fe5b90525090565b50565b7f000000000000000000000000000000000000000000000000000000000000000090565b6001600160a01b0381166000908152602081815260409182902080548351818402810184019094528084526060939283018282801561043f57602002820191906000526020600020905b81548152602001906001019080831161042b575b505050505090505b919050565b60608061045b83850185610d4d565b91509150606081518351016001600160401b038111801561047b57600080fd5b506040519080825280602002602001820160405280156104a5578160200160208202803683370190505b5090508051600014156104ca5760405162461bcd60e51b81526004016101ac9061116e565b6001600160a01b03861660009081526020819052604090205415610509576001600160a01b038616600090815260208190526040812061050991610805565b60005b835181101561059c5783818151811061052157fe5b602002602001015182828151811061053557fe5b602002602001018181525050600080886001600160a01b03166001600160a01b0316815260200190815260200160002084828151811061057157fe5b602090810291909101810151825460018181018555600094855292909320909201919091550161050c565b508151156106c5576000866001600160a01b031663c98091876040518163ffffffff1660e01b815260040160206040518083038186803b1580156105df57600080fd5b505afa1580156105f3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106179190610b6d565b905060005b83518110156106c257600081865101905061064a8386848151811061063d57fe5b6020026020010151610740565b84828151811061065657fe5b6020026020010181815250506000808a6001600160a01b03166001600160a01b0316815260200190815260200160002084828151811061069257fe5b6020908102919091018101518254600181810185556000948552929093209092019190915591909101905061061c565b50505b856001600160a01b03167fd63f5b55f54cdda3234eab3aa26d85b99854a43efea66e0c459220fd7b3a332f826040516106fe91906110f9565b60405180910390a2505050505050565b600080600060608060008680602001905181019061072c9190610b8b565b949c939b5091995097509550909350915050565b600080606061074e846107e4565b9150915061075a610270565b6001600160a01b031663be68406e8684846040518463ffffffff1660e01b8152600401610789939291906110bb565b602060405180830381600087803b1580156107a357600080fd5b505af11580156107b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107db9190610e0f565b95945050505050565b60006060828060200190518101906107fc9190610dc8565b91509150915091565b50805460008255906000526020600020908101906103ba91905b80821115610833576000815560010161081f565b5090565b803561035d816112a1565b805161035d816112a1565b600082601f83011261085e57600080fd5b813561087161086c826111a4565b61117e565b9150818183526020840193506020810190508385602084028201111561089657600080fd5b60005b838110156108c257816108ac8882610837565b8452506020928301929190910190600101610899565b5050505092915050565b600082601f8301126108dd57600080fd5b81516108eb61086c826111a4565b9150818183526020840193506020810190508385602084028201111561091057600080fd5b60005b838110156108c257816109268882610842565b8452506020928301929190910190600101610913565b600082601f83011261094d57600080fd5b813561095b61086c826111a4565b81815260209384019390925082018360005b838110156108c257813586016109838882610acc565b845250602092830192919091019060010161096d565b600082601f8301126109aa57600080fd5b81356109b861086c826111a4565b915081818352602084019350602081019050838560208402820111156109dd57600080fd5b60005b838110156108c257816109f38882610b31565b84525060209283019291909101906001016109e0565b600082601f830112610a1a57600080fd5b8151610a2861086c826111a4565b91508181835260208401935060208101905083856020840282011115610a4d57600080fd5b60005b838110156108c25781610a638882610b3c565b8452506020928301929190910190600101610a50565b805161035d816112b5565b60008083601f840112610a9657600080fd5b5081356001600160401b03811115610aad57600080fd5b602083019150836001820283011115610ac557600080fd5b9250929050565b600082601f830112610add57600080fd5b8135610aeb61086c826111c4565b91508082526020830160208301858383011115610b0757600080fd5b610b12838284611247565b50505092915050565b803561035d816112be565b805161035d816112cb565b803561035d816112d8565b805161035d816112d8565b600060208284031215610b5957600080fd5b6000610b658484610837565b949350505050565b600060208284031215610b7f57600080fd5b6000610b658484610842565b60008060008060008060c08789031215610ba457600080fd5b6000610bb08989610842565b9650506020610bc189828a01610842565b9550506040610bd289828a01610b3c565b94505060608701516001600160401b03811115610bee57600080fd5b610bfa89828a016108cc565b93505060808701516001600160401b03811115610c1657600080fd5b610c2289828a01610a09565b92505060a0610c3389828a01610b3c565b9150509295509295509295565b60008060408385031215610c5357600080fd5b6000610c5f8585610837565b92505060208301356001600160401b03811115610c7b57600080fd5b610c878582860161084d565b9150509250929050565b600080600060408486031215610ca657600080fd5b6000610cb28686610837565b93505060208401356001600160401b03811115610cce57600080fd5b610cda86828701610a84565b92509250509250925092565b60008060008060608587031215610cfc57600080fd5b6000610d088787610837565b9450506020610d1987828801610b1b565b93505060408501356001600160401b03811115610d3557600080fd5b610d4187828801610a84565b95989497509550505050565b60008060408385031215610d6057600080fd5b82356001600160401b03811115610d7657600080fd5b610d8285828601610999565b92505060208301356001600160401b03811115610d9e57600080fd5b610c878582860161093c565b600060208284031215610dbc57600080fd5b6000610b658484610a79565b60008060408385031215610ddb57600080fd5b6000610de78585610b26565b92505060208301516001600160401b03811115610e0357600080fd5b610c87858286016108cc565b600060208284031215610e2157600080fd5b6000610b658484610b3c565b6000610e398383610e59565b505060200190565b6000610e398383610f66565b6000610e3983836110a4565b610e62816111fe565b82525050565b6000610e73826111f1565b610e7d81856111f5565b9350610e88836111eb565b8060005b83811015610eb6578151610ea08882610e2d565b9750610eab836111eb565b925050600101610e8c565b509495945050505050565b6000610ecc826111f1565b610ed681856111f5565b9350610ee1836111eb565b8060005b83811015610eb6578151610ef98882610e41565b9750610f04836111eb565b925050600101610ee5565b6000610f1a826111f1565b610f2481856111f5565b9350610f2f836111eb565b8060005b83811015610eb6578151610f478882610e4d565b9750610f52836111eb565b925050600101610f33565b610e6281611209565b610e6281611231565b610e628161123c565b6000610f83826111f1565b610f8d81856111f5565b9350610f9d818560208601611253565b610fa681611283565b9093019392505050565b6000610fbd6037836111f5565b7f75706461746546756e6453657474696e67733a2055706461746573206e6f742081527f616c6c6f77656420666f72207468697320706f6c696379000000000000000000602082015260400192915050565b600061101c6029836111f5565b7f4f6e6c792074686520506f6c6963794d616e616765722063616e206d616b65208152681d1a1a5cc818d85b1b60ba1b602082015260400192915050565b60006110676028836111f5565b7f5f5f7570646174654c69737473466f7246756e643a204e6f206c6973747320738152671c1958da599a595960c21b602082015260400192915050565b610e628161122e565b6020810161035d8284610e59565b606081016110c98286610e59565b6110d66020830185610f6f565b81810360408301526107db8184610e68565b6020808252810161035a8184610ec1565b6020808252810161035a8184610f0f565b6040808252810161111b8185610f0f565b90508181036020830152610b658184610e68565b6020810161035d8284610f5d565b6020808252810161035a8184610f78565b6020808252810161035d81610fb0565b6020808252810161035d8161100f565b6020808252810161035d8161105a565b6040518181016001600160401b038111828210171561119c57600080fd5b604052919050565b60006001600160401b038211156111ba57600080fd5b5060209081020190565b60006001600160401b038211156111da57600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b600061035d82611222565b151590565b806104478161128d565b8061044781611297565b6001600160a01b031690565b90565b600061035d8261120e565b600061035d82611218565b82818337506000910152565b60005b8381101561126e578181015183820152602001611256565b8381111561127d576000848401525b50505050565b601f01601f191690565b600a81106103ba57fe5b600481106103ba57fe5b6112aa816111fe565b81146103ba57600080fd5b6112aa81611209565b600a81106103ba57600080fd5b600481106103ba57600080fd5b6112aa8161122e56fea164736f6c634300060c000a", "sourceMap": "564:2628:215:-:0;;;645:163;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;737:31:223;;;;;;;;1052:44:221;;;::::1;::::0;564:2628:215;;5:134:-1;83:13;;101:33;83:13;101:33;:::i;:::-;68:71;;;;:::o;146:399::-;;;278:2;266:9;257:7;253:23;249:32;246:2;;;294:1;291;284:12;246:2;329:1;346:64;402:7;382:9;346:64;:::i;:::-;336:74;;308:108;447:2;465:64;521:7;512:6;501:9;497:22;465:64;:::i;:::-;455:74;;426:109;240:305;;;;;:::o;552:91::-;;-1:-1;;;;;712:54;;614:24;695:76::o;778:117::-;847:24;865:5;847:24;:::i;:::-;840:5;837:35;827:2;;886:1;883;876:12;827:2;821:74;:::o;:::-;564:2628:215;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106100a95760003560e01c80637998a1c4116100715780637998a1c41461011c578063c18a633814610131578063cbf54bb214610144578063ceb9a0ad14610159578063d44ad6cb1461016c578063dffd7c6f14610174576100a9565b80630d4d7510146100ae5780630f5f6b4f146100c35780631ef92578146100d6578063579be718146100f45780637470893414610107575b600080fd5b6100c16100bc366004610c91565b610194565b005b6100c16100d1366004610c91565b6101b5565b6100de61020d565b6040516100eb919061112f565b60405180910390f35b6100de610102366004610ce6565b610212565b61010f610270565b6040516100eb91906110ad565b610124610294565b6040516100eb919061113d565b6100de61013f366004610c40565b6102cb565b61014c610363565b6040516100eb91906110e8565b6100c1610167366004610b47565b6103ba565b61010f6103bd565b610187610182366004610b47565b6103e1565b6040516100eb91906110f9565b60405162461bcd60e51b81526004016101ac9061114e565b60405180910390fd5b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146101fd5760405162461bcd60e51b81526004016101ac9061115e565b61020883838361044c565b505050565b600190565b6000606061025584848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061070e92505050565b5050935050505061026686826102cb565b9695505050505050565b7f000000000000000000000000000000000000000000000000000000000000000090565b60408051808201909152601d81527f414c4c4f5745445f4153534554535f464f525f524544454d5054494f4e000000602082015290565b60006102d5610270565b6001600160a01b03166330bdd3866102ec856103e1565b846040518363ffffffff1660e01b815260040161030a92919061110a565b60206040518083038186803b15801561032257600080fd5b505afa158015610336573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061035a9190610daa565b90505b92915050565b6040805160018082528183019092526060916020808301908036833701905050905060038160008151811061039457fe5b602002602001019060098111156103a757fe5b908160098111156103b457fe5b90525090565b50565b7f000000000000000000000000000000000000000000000000000000000000000090565b6001600160a01b0381166000908152602081815260409182902080548351818402810184019094528084526060939283018282801561043f57602002820191906000526020600020905b81548152602001906001019080831161042b575b505050505090505b919050565b60608061045b83850185610d4d565b91509150606081518351016001600160401b038111801561047b57600080fd5b506040519080825280602002602001820160405280156104a5578160200160208202803683370190505b5090508051600014156104ca5760405162461bcd60e51b81526004016101ac9061116e565b6001600160a01b03861660009081526020819052604090205415610509576001600160a01b038616600090815260208190526040812061050991610805565b60005b835181101561059c5783818151811061052157fe5b602002602001015182828151811061053557fe5b602002602001018181525050600080886001600160a01b03166001600160a01b0316815260200190815260200160002084828151811061057157fe5b602090810291909101810151825460018181018555600094855292909320909201919091550161050c565b508151156106c5576000866001600160a01b031663c98091876040518163ffffffff1660e01b815260040160206040518083038186803b1580156105df57600080fd5b505afa1580156105f3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106179190610b6d565b905060005b83518110156106c257600081865101905061064a8386848151811061063d57fe5b6020026020010151610740565b84828151811061065657fe5b6020026020010181815250506000808a6001600160a01b03166001600160a01b0316815260200190815260200160002084828151811061069257fe5b6020908102919091018101518254600181810185556000948552929093209092019190915591909101905061061c565b50505b856001600160a01b03167fd63f5b55f54cdda3234eab3aa26d85b99854a43efea66e0c459220fd7b3a332f826040516106fe91906110f9565b60405180910390a2505050505050565b600080600060608060008680602001905181019061072c9190610b8b565b949c939b5091995097509550909350915050565b600080606061074e846107e4565b9150915061075a610270565b6001600160a01b031663be68406e8684846040518463ffffffff1660e01b8152600401610789939291906110bb565b602060405180830381600087803b1580156107a357600080fd5b505af11580156107b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107db9190610e0f565b95945050505050565b60006060828060200190518101906107fc9190610dc8565b91509150915091565b50805460008255906000526020600020908101906103ba91905b80821115610833576000815560010161081f565b5090565b803561035d816112a1565b805161035d816112a1565b600082601f83011261085e57600080fd5b813561087161086c826111a4565b61117e565b9150818183526020840193506020810190508385602084028201111561089657600080fd5b60005b838110156108c257816108ac8882610837565b8452506020928301929190910190600101610899565b5050505092915050565b600082601f8301126108dd57600080fd5b81516108eb61086c826111a4565b9150818183526020840193506020810190508385602084028201111561091057600080fd5b60005b838110156108c257816109268882610842565b8452506020928301929190910190600101610913565b600082601f83011261094d57600080fd5b813561095b61086c826111a4565b81815260209384019390925082018360005b838110156108c257813586016109838882610acc565b845250602092830192919091019060010161096d565b600082601f8301126109aa57600080fd5b81356109b861086c826111a4565b915081818352602084019350602081019050838560208402820111156109dd57600080fd5b60005b838110156108c257816109f38882610b31565b84525060209283019291909101906001016109e0565b600082601f830112610a1a57600080fd5b8151610a2861086c826111a4565b91508181835260208401935060208101905083856020840282011115610a4d57600080fd5b60005b838110156108c25781610a638882610b3c565b8452506020928301929190910190600101610a50565b805161035d816112b5565b60008083601f840112610a9657600080fd5b5081356001600160401b03811115610aad57600080fd5b602083019150836001820283011115610ac557600080fd5b9250929050565b600082601f830112610add57600080fd5b8135610aeb61086c826111c4565b91508082526020830160208301858383011115610b0757600080fd5b610b12838284611247565b50505092915050565b803561035d816112be565b805161035d816112cb565b803561035d816112d8565b805161035d816112d8565b600060208284031215610b5957600080fd5b6000610b658484610837565b949350505050565b600060208284031215610b7f57600080fd5b6000610b658484610842565b60008060008060008060c08789031215610ba457600080fd5b6000610bb08989610842565b9650506020610bc189828a01610842565b9550506040610bd289828a01610b3c565b94505060608701516001600160401b03811115610bee57600080fd5b610bfa89828a016108cc565b93505060808701516001600160401b03811115610c1657600080fd5b610c2289828a01610a09565b92505060a0610c3389828a01610b3c565b9150509295509295509295565b60008060408385031215610c5357600080fd5b6000610c5f8585610837565b92505060208301356001600160401b03811115610c7b57600080fd5b610c878582860161084d565b9150509250929050565b600080600060408486031215610ca657600080fd5b6000610cb28686610837565b93505060208401356001600160401b03811115610cce57600080fd5b610cda86828701610a84565b92509250509250925092565b60008060008060608587031215610cfc57600080fd5b6000610d088787610837565b9450506020610d1987828801610b1b565b93505060408501356001600160401b03811115610d3557600080fd5b610d4187828801610a84565b95989497509550505050565b60008060408385031215610d6057600080fd5b82356001600160401b03811115610d7657600080fd5b610d8285828601610999565b92505060208301356001600160401b03811115610d9e57600080fd5b610c878582860161093c565b600060208284031215610dbc57600080fd5b6000610b658484610a79565b60008060408385031215610ddb57600080fd5b6000610de78585610b26565b92505060208301516001600160401b03811115610e0357600080fd5b610c87858286016108cc565b600060208284031215610e2157600080fd5b6000610b658484610b3c565b6000610e398383610e59565b505060200190565b6000610e398383610f66565b6000610e3983836110a4565b610e62816111fe565b82525050565b6000610e73826111f1565b610e7d81856111f5565b9350610e88836111eb565b8060005b83811015610eb6578151610ea08882610e2d565b9750610eab836111eb565b925050600101610e8c565b509495945050505050565b6000610ecc826111f1565b610ed681856111f5565b9350610ee1836111eb565b8060005b83811015610eb6578151610ef98882610e41565b9750610f04836111eb565b925050600101610ee5565b6000610f1a826111f1565b610f2481856111f5565b9350610f2f836111eb565b8060005b83811015610eb6578151610f478882610e4d565b9750610f52836111eb565b925050600101610f33565b610e6281611209565b610e6281611231565b610e628161123c565b6000610f83826111f1565b610f8d81856111f5565b9350610f9d818560208601611253565b610fa681611283565b9093019392505050565b6000610fbd6037836111f5565b7f75706461746546756e6453657474696e67733a2055706461746573206e6f742081527f616c6c6f77656420666f72207468697320706f6c696379000000000000000000602082015260400192915050565b600061101c6029836111f5565b7f4f6e6c792074686520506f6c6963794d616e616765722063616e206d616b65208152681d1a1a5cc818d85b1b60ba1b602082015260400192915050565b60006110676028836111f5565b7f5f5f7570646174654c69737473466f7246756e643a204e6f206c6973747320738152671c1958da599a595960c21b602082015260400192915050565b610e628161122e565b6020810161035d8284610e59565b606081016110c98286610e59565b6110d66020830185610f6f565b81810360408301526107db8184610e68565b6020808252810161035a8184610ec1565b6020808252810161035a8184610f0f565b6040808252810161111b8185610f0f565b90508181036020830152610b658184610e68565b6020810161035d8284610f5d565b6020808252810161035a8184610f78565b6020808252810161035d81610fb0565b6020808252810161035d8161100f565b6020808252810161035d8161105a565b6040518181016001600160401b038111828210171561119c57600080fd5b604052919050565b60006001600160401b038211156111ba57600080fd5b5060209081020190565b60006001600160401b038211156111da57600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b600061035d82611222565b151590565b806104478161128d565b8061044781611297565b6001600160a01b031690565b90565b600061035d8261120e565b600061035d82611218565b82818337506000910152565b60005b8381101561126e578181015183820152602001611256565b8381111561127d576000848401525b50505050565b601f01601f191690565b600a81106103ba57fe5b600481106103ba57fe5b6112aa816111fe565b81146103ba57600080fd5b6112aa81611209565b600a81106103ba57600080fd5b600481106103ba57600080fd5b6112aa8161122e56fea164736f6c634300060c000a", "sourceMap": "564:2628:215:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1452:161:223;;;;;;:::i;:::-;;:::i;:::-;;1333:239:221;;;;;;:::i;:::-;;:::i;962:108:215:-;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2182:374;;;;;;:::i;:::-;;:::i;4613:130:221:-;;;:::i;:::-;;;;;;;:::i;1193:136:215:-;;;:::i;:::-;;;;;;;:::i;2859:331::-;;;;;;:::i;:::-;;:::i;1459:344::-;;;:::i;:::-;;;;;;;:::i;941:83:223:-;;;;;;:::i;:::-;;:::i;6755:113::-;;;:::i;4908:198:221:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1452:161:223:-;1541:65;;-1:-1:-1;;;1541:65:223;;;;;;;:::i;:::-;;;;;;;;1333:239:221;586:10:223;-1:-1:-1;;;;;600:14:223;586:28;;578:82;;;;-1:-1:-1;;;578:82:223;;;;;;;:::i;:::-;1508:57:221::1;1529:17;1548:16;;1508:20;:57::i;:::-;1333:239:::0;;;:::o;962:108:215:-;1059:4;962:108;:::o;2182:374::-;2344:13;2376:23;2407:87;2472:12;;2407:87;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2407:51:215;;-1:-1:-1;;;2407:87:215:i;:::-;2369:125;;;;;;;2512:37;2523:17;2542:6;2512:10;:37::i;:::-;2505:44;2182:374;-1:-1:-1;;;;;;2182:374:215:o;4613:130:221:-;4715:21;4613:130;:::o;1193:136:215:-;1284:38;;;;;;;;;;;;;;;;;1193:136;:::o;2859:331::-;2977:13;3045:24;:22;:24::i;:::-;-1:-1:-1;;;;;3025:65:215;;3108:36;3126:17;3108;:36::i;:::-;3162:7;3025:158;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3006:177;;2859:331;;;;;:::o;1459:344::-;1639:34;;;1671:1;1639:34;;;;;;;;;1551:52;;1639:34;;;;;;;;;;;-1:-1:-1;1639:34:215;1619:54;;1706:55;1683:17;1701:1;1683:20;;;;;;;;;;;;;:78;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1459:344:215;:::o;941:83:223:-;;:::o;6755:113::-;6847:14;6755:113;:::o;4908:198:221:-;-1:-1:-1;;;;;5055:44:221;;:25;:44;;;;;;;;;;;;5048:51;;;;;;;;;;;;;;;;;5007:25;;5048:51;;;5055:44;5048:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4908:198;;;;:::o;2752:1638::-;2874:32;;2939:84;;;;2963:16;2939:84;:::i;:::-;2873:150;;;;3034:28;3104:12;:19;3079:15;:22;:44;-1:-1:-1;;;;;3065:59:221;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3065:59:221;;3034:90;;3142:11;:18;3164:1;3142:23;;3134:76;;;;-1:-1:-1;;;3134:76:221;;;;;;;:::i;:::-;-1:-1:-1;;;;;3283:44:221;;3337:1;3283:44;;;;;;;;;;:51;:55;3279:137;;-1:-1:-1;;;;;3361:44:221;;:25;:44;;;;;;;;;;3354:51;;;:::i;:::-;3553:9;3548:192;3568:15;:22;3564:1;:26;3548:192;;;3628:15;3644:1;3628:18;;;;;;;;;;;;;;3611:11;3623:1;3611:14;;;;;;;;;;;;;:35;;;;;3660:25;:44;3686:17;-1:-1:-1;;;;;3660:44:221;-1:-1:-1;;;;;3660:44:221;;;;;;;;;;;;3710:15;3726:1;3710:18;;;;;;;;;;;;;;;;;;;3660:69;;;;;;;;-1:-1:-1;3660:69:221;;;;;;;;;;;;;;3592:3;3548:192;;;-1:-1:-1;3794:19:221;;:23;3790:531;;3833:18;3869:17;-1:-1:-1;;;;;3854:47:221;;:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3833:70;;3922:9;3917:394;3937:12;:19;3933:1;:23;3917:394;;;3981:24;4033:1;4008:15;:22;:26;3981:53;;4084:114;4133:10;4165:12;4178:1;4165:15;;;;;;;;;;;;;;4084:27;:114::i;:::-;4052:11;4064:16;4052:29;;;;;;;;;;;;;:146;;;;;4216:25;:44;4242:17;-1:-1:-1;;;;;4216:44:221;-1:-1:-1;;;;;4216:44:221;;;;;;;;;;;;4266:11;4278:16;4266:29;;;;;;;;;;;;;;;;;;;4216:80;;;;;;;;-1:-1:-1;4216:80:221;;;;;;;;;;;;;;3958:3;;;;;-1:-1:-1;3917:394:221;;;;3790:531;;4352:17;-1:-1:-1;;;;;4336:47:221;;4371:11;4336:47;;;;;;:::i;:::-;;;;;;;;2752:1638;;;;;;:::o;5285:546:223:-;5436:17;5467:18;5499:31;5544:24;5582:30;5626:21;5719:15;5691:133;;;;;;;;;;;;:::i;:::-;5672:152;;;;-1:-1:-1;5672:152:223;;-1:-1:-1;5672:152:223;-1:-1:-1;5672:152:223;-1:-1:-1;5672:152:223;;-1:-1:-1;5285:546:223;-1:-1:-1;;5285:546:223:o;1662:488:221:-;1781:15;1826:41;1881:29;1923:33;1943:12;1923:19;:33::i;:::-;1812:144;;;;2006:24;:22;:24::i;:::-;-1:-1:-1;;;;;1986:56:221;;2060:11;2089:10;2117:12;1986:157;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1967:176;1662:488;-1:-1:-1;;;;;1662:488:221:o;2200:276::-;2303:42;2347:30;2411:12;2400:69;;;;;;;;;;;;:::i;:::-;2393:76;;;;2200:276;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5:130::-;72:20;;97:33;72:20;97:33;:::i;142:134::-;220:13;;238:33;220:13;238:33;:::i;458:707::-;;575:3;568:4;560:6;556:17;552:27;542:2;;593:1;590;583:12;542:2;630:6;617:20;652:80;667:64;724:6;667:64;:::i;:::-;652:80;:::i;:::-;643:89;;749:5;774:6;767:5;760:21;804:4;796:6;792:17;782:27;;826:4;821:3;817:14;810:21;;879:6;926:3;918:4;910:6;906:17;901:3;897:27;894:36;891:2;;;943:1;940;933:12;891:2;968:1;953:206;978:6;975:1;972:13;953:206;;;1036:3;1058:37;1091:3;1079:10;1058:37;:::i;:::-;1046:50;;-1:-1;1119:4;1110:14;;;;1138;;;;;1000:1;993:9;953:206;;;957:14;535:630;;;;;;;:::o;1191:722::-;;1319:3;1312:4;1304:6;1300:17;1296:27;1286:2;;1337:1;1334;1327:12;1286:2;1367:6;1361:13;1389:80;1404:64;1461:6;1404:64;:::i;1389:80::-;1380:89;;1486:5;1511:6;1504:5;1497:21;1541:4;1533:6;1529:17;1519:27;;1563:4;1558:3;1554:14;1547:21;;1616:6;1663:3;1655:4;1647:6;1643:17;1638:3;1634:27;1631:36;1628:2;;;1680:1;1677;1670:12;1628:2;1705:1;1690:217;1715:6;1712:1;1709:13;1690:217;;;1773:3;1795:48;1839:3;1827:10;1795:48;:::i;:::-;1783:61;;-1:-1;1867:4;1858:14;;;;1886;;;;;1737:1;1730:9;1690:217;;1937:705;;2063:3;2056:4;2048:6;2044:17;2040:27;2030:2;;2081:1;2078;2071:12;2030:2;2118:6;2105:20;2140:89;2155:73;2221:6;2155:73;:::i;2140:89::-;2257:21;;;2301:4;2289:17;;;;2131:98;;-1:-1;2314:14;;2289:17;2409:1;2394:242;2419:6;2416:1;2413:13;2394:242;;;2502:3;2489:17;2481:6;2477:30;2526:46;2568:3;2556:10;2526:46;:::i;:::-;2514:59;;-1:-1;2596:4;2587:14;;;;2615;;;;;2441:1;2434:9;2394:242;;2668:707;;2785:3;2778:4;2770:6;2766:17;2762:27;2752:2;;2803:1;2800;2793:12;2752:2;2840:6;2827:20;2862:80;2877:64;2934:6;2877:64;:::i;2862:80::-;2853:89;;2959:5;2984:6;2977:5;2970:21;3014:4;3006:6;3002:17;2992:27;;3036:4;3031:3;3027:14;3020:21;;3089:6;3136:3;3128:4;3120:6;3116:17;3111:3;3107:27;3104:36;3101:2;;;3153:1;3150;3143:12;3101:2;3178:1;3163:206;3188:6;3185:1;3182:13;3163:206;;;3246:3;3268:37;3301:3;3289:10;3268:37;:::i;:::-;3256:50;;-1:-1;3329:4;3320:14;;;;3348;;;;;3210:1;3203:9;3163:206;;3401:722;;3529:3;3522:4;3514:6;3510:17;3506:27;3496:2;;3547:1;3544;3537:12;3496:2;3577:6;3571:13;3599:80;3614:64;3671:6;3614:64;:::i;3599:80::-;3590:89;;3696:5;3721:6;3714:5;3707:21;3751:4;3743:6;3739:17;3729:27;;3773:4;3768:3;3764:14;3757:21;;3826:6;3873:3;3865:4;3857:6;3853:17;3848:3;3844:27;3841:36;3838:2;;;3890:1;3887;3880:12;3838:2;3915:1;3900:217;3925:6;3922:1;3919:13;3900:217;;;3983:3;4005:48;4049:3;4037:10;4005:48;:::i;:::-;3993:61;;-1:-1;4077:4;4068:14;;;;4096;;;;;3947:1;3940:9;3900:217;;4131:128;4206:13;;4224:30;4206:13;4224:30;:::i;4280:336::-;;;4394:3;4387:4;4379:6;4375:17;4371:27;4361:2;;4412:1;4409;4402:12;4361:2;-1:-1;4432:20;;-1:-1;;;;;4461:30;;4458:2;;;4504:1;4501;4494:12;4458:2;4538:4;4530:6;4526:17;4514:29;;4589:3;4581:4;4573:6;4569:17;4559:8;4555:32;4552:41;4549:2;;;4606:1;4603;4596:12;4549:2;4354:262;;;;;:::o;4625:440::-;;4726:3;4719:4;4711:6;4707:17;4703:27;4693:2;;4744:1;4741;4734:12;4693:2;4781:6;4768:20;4803:64;4818:48;4859:6;4818:48;:::i;4803:64::-;4794:73;;4887:6;4880:5;4873:21;4923:4;4915:6;4911:17;4956:4;4949:5;4945:16;4991:3;4982:6;4977:3;4973:16;4970:25;4967:2;;;5008:1;5005;4998:12;4967:2;5018:41;5052:6;5047:3;5042;5018:41;:::i;:::-;4686:379;;;;;;;:::o;5073:162::-;5156:20;;5181:49;5156:20;5181:49;:::i;5242:164::-;5335:13;;5353:48;5335:13;5353:48;:::i;5413:130::-;5480:20;;5505:33;5480:20;5505:33;:::i;5550:134::-;5628:13;;5646:33;5628:13;5646:33;:::i;5691:241::-;;5795:2;5783:9;5774:7;5770:23;5766:32;5763:2;;;5811:1;5808;5801:12;5763:2;5846:1;5863:53;5908:7;5888:9;5863:53;:::i;:::-;5853:63;5757:175;-1:-1;;;;5757:175::o;5939:263::-;;6054:2;6042:9;6033:7;6029:23;6025:32;6022:2;;;6070:1;6067;6060:12;6022:2;6105:1;6122:64;6178:7;6158:9;6122:64;:::i;6209:1236::-;;;;;;;6475:3;6463:9;6454:7;6450:23;6446:33;6443:2;;;6492:1;6489;6482:12;6443:2;6527:1;6544:72;6608:7;6588:9;6544:72;:::i;:::-;6534:82;;6506:116;6653:2;6671:72;6735:7;6726:6;6715:9;6711:22;6671:72;:::i;:::-;6661:82;;6632:117;6780:2;6798:64;6854:7;6845:6;6834:9;6830:22;6798:64;:::i;:::-;6788:74;;6759:109;6920:2;6909:9;6905:18;6899:25;-1:-1;;;;;6936:6;6933:30;6930:2;;;6976:1;6973;6966:12;6930:2;6996:89;7077:7;7068:6;7057:9;7053:22;6996:89;:::i;:::-;6986:99;;6878:213;7143:3;7132:9;7128:19;7122:26;-1:-1;;;;;7160:6;7157:30;7154:2;;;7200:1;7197;7190:12;7154:2;7220:89;7301:7;7292:6;7281:9;7277:22;7220:89;:::i;:::-;7210:99;;7101:214;7346:3;7365:64;7421:7;7412:6;7401:9;7397:22;7365:64;:::i;:::-;7355:74;;7325:110;6437:1008;;;;;;;;:::o;7452:502::-;;;7598:2;7586:9;7577:7;7573:23;7569:32;7566:2;;;7614:1;7611;7604:12;7566:2;7649:1;7666:53;7711:7;7691:9;7666:53;:::i;:::-;7656:63;;7628:97;7784:2;7773:9;7769:18;7756:32;-1:-1;;;;;7800:6;7797:30;7794:2;;;7840:1;7837;7830:12;7794:2;7860:78;7930:7;7921:6;7910:9;7906:22;7860:78;:::i;:::-;7850:88;;7735:209;7560:394;;;;;:::o;7961:490::-;;;;8101:2;8089:9;8080:7;8076:23;8072:32;8069:2;;;8117:1;8114;8107:12;8069:2;8152:1;8169:53;8214:7;8194:9;8169:53;:::i;:::-;8159:63;;8131:97;8287:2;8276:9;8272:18;8259:32;-1:-1;;;;;8303:6;8300:30;8297:2;;;8343:1;8340;8333:12;8297:2;8371:64;8427:7;8418:6;8407:9;8403:22;8371:64;:::i;:::-;8353:82;;;;8238:203;8063:388;;;;;:::o;8458:647::-;;;;;8631:2;8619:9;8610:7;8606:23;8602:32;8599:2;;;8647:1;8644;8637:12;8599:2;8682:1;8699:53;8744:7;8724:9;8699:53;:::i;:::-;8689:63;;8661:97;8789:2;8807:69;8868:7;8859:6;8848:9;8844:22;8807:69;:::i;:::-;8797:79;;8768:114;8941:2;8930:9;8926:18;8913:32;-1:-1;;;;;8957:6;8954:30;8951:2;;;8997:1;8994;8987:12;8951:2;9025:64;9081:7;9072:6;9061:9;9057:22;9025:64;:::i;:::-;8593:512;;;;-1:-1;9007:82;-1:-1;;;;8593:512::o;9112:656::-;;;9292:2;9280:9;9271:7;9267:23;9263:32;9260:2;;;9308:1;9305;9298:12;9260:2;9343:31;;-1:-1;;;;;9383:30;;9380:2;;;9426:1;9423;9416:12;9380:2;9446:78;9516:7;9507:6;9496:9;9492:22;9446:78;:::i;:::-;9436:88;;9322:208;9589:2;9578:9;9574:18;9561:32;-1:-1;;;;;9605:6;9602:30;9599:2;;;9645:1;9642;9635:12;9599:2;9665:87;9744:7;9735:6;9724:9;9720:22;9665:87;:::i;9775:257::-;;9887:2;9875:9;9866:7;9862:23;9858:32;9855:2;;;9903:1;9900;9893:12;9855:2;9938:1;9955:61;10008:7;9988:9;9955:61;:::i;10039:558::-;;;10211:2;10199:9;10190:7;10186:23;10182:32;10179:2;;;10227:1;10224;10217:12;10179:2;10262:1;10279:79;10350:7;10330:9;10279:79;:::i;:::-;10269:89;;10241:123;10416:2;10405:9;10401:18;10395:25;-1:-1;;;;;10432:6;10429:30;10426:2;;;10472:1;10469;10462:12;10426:2;10492:89;10573:7;10564:6;10553:9;10549:22;10492:89;:::i;10604:263::-;;10719:2;10707:9;10698:7;10694:23;10690:32;10687:2;;;10735:1;10732;10725:12;10687:2;10770:1;10787:64;10843:7;10823:9;10787:64;:::i;10875:173::-;;10962:46;11004:3;10996:6;10962:46;:::i;:::-;-1:-1;;11037:4;11028:14;;10955:93::o;11057:201::-;;11158:60;11214:3;11206:6;11158:60;:::i;11267:173::-;;11354:46;11396:3;11388:6;11354:46;:::i;11448:103::-;11521:24;11539:5;11521:24;:::i;:::-;11516:3;11509:37;11503:48;;:::o;11709:690::-;;11854:54;11902:5;11854:54;:::i;:::-;11921:86;12000:6;11995:3;11921:86;:::i;:::-;11914:93;;12028:56;12078:5;12028:56;:::i;:::-;12104:7;12132:1;12117:260;12142:6;12139:1;12136:13;12117:260;;;12209:6;12203:13;12230:63;12289:3;12274:13;12230:63;:::i;:::-;12223:70;;12310:60;12363:6;12310:60;:::i;:::-;12300:70;-1:-1;;12164:1;12157:9;12117:260;;;-1:-1;12390:3;;11833:566;-1:-1;;;;;11833:566::o;12459:764::-;;12618:70;12682:5;12618:70;:::i;:::-;12701:84;12778:6;12773:3;12701:84;:::i;:::-;12694:91;;12806:72;12872:5;12806:72;:::i;:::-;12898:7;12926:1;12911:290;12936:6;12933:1;12930:13;12911:290;;;13003:6;12997:13;13024:77;13097:3;13082:13;13024:77;:::i;:::-;13017:84;;13118:76;13187:6;13118:76;:::i;:::-;13108:86;-1:-1;;12958:1;12951:9;12911:290;;13262:690;;13407:54;13455:5;13407:54;:::i;:::-;13474:86;13553:6;13548:3;13474:86;:::i;:::-;13467:93;;13581:56;13631:5;13581:56;:::i;:::-;13657:7;13685:1;13670:260;13695:6;13692:1;13689:13;13670:260;;;13762:6;13756:13;13783:63;13842:3;13827:13;13783:63;:::i;:::-;13776:70;;13863:60;13916:6;13863:60;:::i;:::-;13853:70;-1:-1;;13717:1;13710:9;13670:260;;13960:104;14037:21;14052:5;14037:21;:::i;14071:144::-;14158:51;14203:5;14158:51;:::i;14222:152::-;14318:50;14362:5;14318:50;:::i;14381:347::-;;14493:39;14526:5;14493:39;:::i;:::-;14544:71;14608:6;14603:3;14544:71;:::i;:::-;14537:78;;14620:52;14665:6;14660:3;14653:4;14646:5;14642:16;14620:52;:::i;:::-;14693:29;14715:6;14693:29;:::i;:::-;14684:39;;;;14473:255;-1:-1;;;14473:255::o;14736:392::-;;14896:67;14960:2;14955:3;14896:67;:::i;:::-;14996:34;14976:55;;15065:25;15060:2;15051:12;;15044:47;15119:2;15110:12;;14882:246;-1:-1;;14882:246::o;15137:378::-;;15297:67;15361:2;15356:3;15297:67;:::i;:::-;15397:34;15377:55;;-1:-1;;;15461:2;15452:12;;15445:33;15506:2;15497:12;;15283:232;-1:-1;;15283:232::o;15524:377::-;;15684:67;15748:2;15743:3;15684:67;:::i;:::-;15784:34;15764:55;;-1:-1;;;15848:2;15839:12;;15832:32;15892:2;15883:12;;15670:231;-1:-1;;15670:231::o;15909:103::-;15982:24;16000:5;15982:24;:::i;16019:222::-;16146:2;16131:18;;16160:71;16135:9;16204:6;16160:71;:::i;16248:618::-;16494:2;16479:18;;16508:71;16483:9;16552:6;16508:71;:::i;:::-;16590:85;16671:2;16660:9;16656:18;16647:6;16590:85;:::i;:::-;16723:9;16717:4;16713:20;16708:2;16697:9;16693:18;16686:48;16748:108;16851:4;16842:6;16748:108;:::i;16873:398::-;17064:2;17078:47;;;17049:18;;17139:122;17049:18;17247:6;17139:122;:::i;17278:370::-;17455:2;17469:47;;;17440:18;;17530:108;17440:18;17624:6;17530:108;:::i;17655:629::-;17910:2;17924:47;;;17895:18;;17985:108;17895:18;18079:6;17985:108;:::i;:::-;17977:116;;18141:9;18135:4;18131:20;18126:2;18115:9;18111:18;18104:48;18166:108;18269:4;18260:6;18166:108;:::i;18291:210::-;18412:2;18397:18;;18426:65;18401:9;18464:6;18426:65;:::i;18508:310::-;18655:2;18669:47;;;18640:18;;18730:78;18640:18;18794:6;18730:78;:::i;18825:416::-;19025:2;19039:47;;;19010:18;;19100:131;19010:18;19100:131;:::i;19248:416::-;19448:2;19462:47;;;19433:18;;19523:131;19433:18;19523:131;:::i;19671:416::-;19871:2;19885:47;;;19856:18;;19946:131;19856:18;19946:131;:::i;20094:256::-;20156:2;20150:9;20182:17;;;-1:-1;;;;;20242:34;;20278:22;;;20239:62;20236:2;;;20314:1;20311;20304:12;20236:2;20330;20323:22;20134:216;;-1:-1;20134:216::o;20357:304::-;;-1:-1;;;;;20508:6;20505:30;20502:2;;;20548:1;20545;20538:12;20502:2;-1:-1;20583:4;20571:17;;;20636:15;;20439:222::o;21299:321::-;;-1:-1;;;;;21434:6;21431:30;21428:2;;;21474:1;21471;21464:12;21428:2;-1:-1;21605:4;21541;21518:17;;;;-1:-1;;21514:33;21595:15;;21365:255::o;21627:151::-;21751:4;21742:14;;21699:79::o;22117:137::-;22220:12;;22191:63::o;23056:178::-;23174:19;;;23223:4;23214:14;;23167:67::o;23786:91::-;;23848:24;23866:5;23848:24;:::i;23990:85::-;24056:13;24049:21;;24032:43::o;24082:138::-;24160:5;24166:49;24160:5;24166:49;:::i;24227:136::-;24304:5;24310:48;24304:5;24310:48;:::i;24370:121::-;-1:-1;;;;;24432:54;;24415:76::o;24498:72::-;24560:5;24543:27::o;24577:138::-;;24670:40;24704:5;24670:40;:::i;24722:136::-;;24814:39;24847:5;24814:39;:::i;24866:145::-;24947:6;24942:3;24937;24924:30;-1:-1;25003:1;24985:16;;24978:27;24917:94::o;25020:268::-;25085:1;25092:101;25106:6;25103:1;25100:13;25092:101;;;25173:11;;;25167:18;25154:11;;;25147:39;25128:2;25121:10;25092:101;;;25208:6;25205:1;25202:13;25199:2;;;25273:1;25264:6;25259:3;25255:16;25248:27;25199:2;25069:219;;;;:::o;25296:97::-;25384:2;25364:14;-1:-1;;25360:28;;25344:49::o;25401:108::-;25486:2;25479:5;25476:13;25466:2;;25493:9;25516:106;25600:1;25593:5;25590:12;25580:2;;25606:9;25629:117;25698:24;25716:5;25698:24;:::i;:::-;25691:5;25688:35;25678:2;;25737:1;25734;25727:12;25893:111;25959:21;25974:5;25959:21;:::i;26011:111::-;26096:2;26089:5;26086:13;26076:2;;26113:1;26110;26103:12;26129:109;26213:1;26206:5;26203:12;26193:2;;26229:1;26226;26219:12;26245:117;26314:24;26332:5;26314:24;:::i", "linkReferences": {}, "immutableReferences": { "59555": [ { "start": 626, "length": 32 } ], "59893": [ { "start": 448, "length": 32 }, { "start": 959, "length": 32 } ] } }, "methodIdentifiers": { "activateForFund(address)": "ceb9a0ad", "addFundSettings(address,bytes)": "0f5f6b4f", "canDisable()": "1ef92578", "getAddressListRegistry()": "74708934", "getListIdsForFund(address)": "dffd7c6f", "getPolicyManager()": "d44ad6cb", "identifier()": "7998a1c4", "implementedHooks()": "cbf54bb2", "passesRule(address,address[])": "c18a6338", "updateFundSettings(address,bytes)": "0d4d7510", "validateRule(address,uint8,bytes)": "579be718" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_policyManager\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_addressListRegistry\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"listIds\",\"type\":\"uint256[]\"}],\"name\":\"ListsSetForFund\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"activateForFund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_encodedSettings\",\"type\":\"bytes\"}],\"name\":\"addFundSettings\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"canDisable\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"canDisable_\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAddressListRegistry\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"addressListRegistry_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"}],\"name\":\"getListIdsForFund\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"listIds_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPolicyManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"policyManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"identifier\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"identifier_\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"implementedHooks\",\"outputs\":[{\"internalType\":\"enum IPolicyManager.PolicyHook[]\",\"name\":\"implementedHooks_\",\"type\":\"uint8[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"address[]\",\"name\":\"_assets\",\"type\":\"address[]\"}],\"name\":\"passesRule\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isValid_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"updateFundSettings\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"enum IPolicyManager.PolicyHook\",\"name\":\"\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"_encodedArgs\",\"type\":\"bytes\"}],\"name\":\"validateRule\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isValid_\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"activateForFund(address)\":{\"details\":\"Unimplemented by default, can be overridden by the policy\"},\"addFundSettings(address,bytes)\":{\"params\":{\"_comptrollerProxy\":\"The fund's ComptrollerProxy address\",\"_encodedSettings\":\"Encoded settings to apply to a fund\"}},\"canDisable()\":{\"returns\":{\"canDisable_\":\"True if the policy can be disabled\"}},\"getAddressListRegistry()\":{\"returns\":{\"addressListRegistry_\":\"The `ADDRESS_LIST_REGISTRY` variable value\"}},\"getListIdsForFund(address)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\"},\"returns\":{\"listIds_\":\"The list ids\"}},\"getPolicyManager()\":{\"returns\":{\"policyManager_\":\"The `POLICY_MANAGER` variable value\"}},\"identifier()\":{\"returns\":{\"identifier_\":\"The identifier string\"}},\"implementedHooks()\":{\"returns\":{\"implementedHooks_\":\"The implemented PolicyHooks\"}},\"passesRule(address,address[])\":{\"params\":{\"_assets\":\"The assets for which to check the rule\",\"_comptrollerProxy\":\"The fund's ComptrollerProxy address\"},\"returns\":{\"isValid_\":\"True if the rule passes\"}},\"updateFundSettings(address,bytes)\":{\"details\":\"Disallowed by default, can be overridden by the policy\"},\"validateRule(address,uint8,bytes)\":{\"details\":\"onlyPolicyManager validation not necessary, as state is not updated and no events are fired\",\"params\":{\"_comptrollerProxy\":\"The fund's ComptrollerProxy address\",\"_encodedArgs\":\"Encoded args with which to validate the rule\"},\"returns\":{\"isValid_\":\"True if the rule passes\"}}},\"title\":\"AllowedAssetsForRedemptionPolicy Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"activateForFund(address)\":{\"notice\":\"Validates and initializes a policy as necessary prior to fund activation\"},\"addFundSettings(address,bytes)\":{\"notice\":\"Adds the initial policy settings for a fund\"},\"canDisable()\":{\"notice\":\"Whether or not the policy can be disabled\"},\"getAddressListRegistry()\":{\"notice\":\"Gets the `ADDRESS_LIST_REGISTRY` variable value\"},\"getListIdsForFund(address)\":{\"notice\":\"Gets the list ids used by a given fund\"},\"getPolicyManager()\":{\"notice\":\"Gets the `POLICY_MANAGER` variable value\"},\"identifier()\":{\"notice\":\"Provides a constant string identifier for a policy\"},\"implementedHooks()\":{\"notice\":\"Gets the implemented PolicyHooks for a policy\"},\"passesRule(address,address[])\":{\"notice\":\"Checks whether a particular condition passes the rule for a particular fund\"},\"updateFundSettings(address,bytes)\":{\"notice\":\"Updates the policy settings for a fund\"},\"validateRule(address,uint8,bytes)\":{\"notice\":\"Apply the rule with the specified parameters of a PolicyHook\"}},\"notice\":\"A policy that limits assets that can be redeemed by specific asset redemption\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/policy-manager/policies/current-shareholders/AllowedAssetsForRedemptionPolicy.sol\":\"AllowedAssetsForRedemptionPolicy\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/address-list-registry/AddressListRegistry.sol\":{\"keccak256\":\"0xf00a9e376e3ec2a223f463f71c15ee3af3642dd028bc3762440e316b760c8048\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://01986c9327b5dfbfac21316dced6d68727931ddde1278ed1342d878004f984b9\",\"dweb:/ipfs/QmdXkFaUU43JqMTYEREbWa129rohdqN7GXy7mVRpjCfSLD\"]},\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/persistent/vault/interfaces/IExternalPositionVault.sol\":{\"keccak256\":\"0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d\",\"dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8\"]},\"contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol\":{\"keccak256\":\"0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb\",\"dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU\"]},\"contracts/persistent/vault/interfaces/IMigratableVault.sol\":{\"keccak256\":\"0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6\",\"dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs\"]},\"contracts/persistent/vault/interfaces/IVaultCore.sol\":{\"keccak256\":\"0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd\",\"dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr\"]},\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/core/fund/comptroller/ComptrollerLib.sol\":{\"keccak256\":\"0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579\",\"dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq\"]},\"contracts/release/core/fund/comptroller/IComptroller.sol\":{\"keccak256\":\"0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97\",\"dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L\"]},\"contracts/release/core/fund/vault/IVault.sol\":{\"keccak256\":\"0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599\",\"dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG\"]},\"contracts/release/extensions/IExtension.sol\":{\"keccak256\":\"0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70\",\"dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t\"]},\"contracts/release/extensions/fee-manager/IFeeManager.sol\":{\"keccak256\":\"0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22\",\"dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod\"]},\"contracts/release/extensions/policy-manager/IPolicy.sol\":{\"keccak256\":\"0xc12663ca72065b256c3b934ab738fde26c147c7b0399de43650df89dd52ee467\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://be8fecfcba0f3fda615f0a1bb3c766750c23761ef751d7c4472dfe540e460cd1\",\"dweb:/ipfs/QmaarPoRTsX6NiJ8V4u2f3Qh6d7tUs28bw9R14An3t5Bs1\"]},\"contracts/release/extensions/policy-manager/IPolicyManager.sol\":{\"keccak256\":\"0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa\",\"dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb\"]},\"contracts/release/extensions/policy-manager/policies/current-shareholders/AllowedAssetsForRedemptionPolicy.sol\":{\"keccak256\":\"0x73f4cb3c6c94a36c6d3c6c3d4bb28d341fc8522b9ac7de79b705a465a0e70e5b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9220418e3dbd5b292571848e5986ee40356a1ecfe6a0538d8aa89363693c02af\",\"dweb:/ipfs/QmdZS5N45r2HrwpU9bSREYTbuyahu6ppSdLpqyoXQz4enX\"]},\"contracts/release/extensions/policy-manager/policies/utils/AddressListRegistryPolicyBase.sol\":{\"keccak256\":\"0x3fdcf3e45c9d6b9cf5221aeb95858060dfc18abf744f664b5ce9bf2f0a6a7bdc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://48b3ed06e509a45f122112129bf3d221ae30afad87722a123f7405a4a24e6645\",\"dweb:/ipfs/QmSA3cJB7C6x6BasicDpzwnHuxFkL6k8hR5fDRD42BWsGc\"]},\"contracts/release/extensions/policy-manager/policies/utils/PolicyBase.sol\":{\"keccak256\":\"0x972311abb98f0da815b4aca83d5afdd219d3604ec19cf5e3773c0c305bd9b3f1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2452f3d1f3b1d8e8459a07489146a2d0d8a10463715937995cbe77ee5de8c069\",\"dweb:/ipfs/Qmf2hhd2DVbjpxmbNGAhRZNZkqpGZA2mX3eA1WNwtv6t5Y\"]},\"contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol\":{\"keccak256\":\"0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f\",\"dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol\":{\"keccak256\":\"0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0\",\"dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol\":{\"keccak256\":\"0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b\",\"dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3\"]},\"contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol\":{\"keccak256\":\"0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965\",\"dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ\"]},\"contracts/release/interfaces/IGsnForwarder.sol\":{\"keccak256\":\"0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29\",\"dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G\"]},\"contracts/release/interfaces/IGsnPaymaster.sol\":{\"keccak256\":\"0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4\",\"dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF\"]},\"contracts/release/interfaces/IGsnTypes.sol\":{\"keccak256\":\"0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7\",\"dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/beacon-proxy/IBeacon.sol\":{\"keccak256\":\"0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39\",\"dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V\"]},\"contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol\":{\"keccak256\":\"0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be\",\"dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_policyManager", "type": "address" }, { "internalType": "address", "name": "_addressListRegistry", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "comptrollerProxy", "type": "address", "indexed": true }, { "internalType": "uint256[]", "name": "listIds", "type": "uint256[]", "indexed": false } ], "type": "event", "name": "ListsSetForFund", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "activateForFund" }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" }, { "internalType": "bytes", "name": "_encodedSettings", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "addFundSettings" }, { "inputs": [], "stateMutability": "pure", "type": "function", "name": "canDisable", "outputs": [ { "internalType": "bool", "name": "canDisable_", "type": "bool" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getAddressListRegistry", "outputs": [ { "internalType": "address", "name": "addressListRegistry_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getListIdsForFund", "outputs": [ { "internalType": "uint256[]", "name": "listIds_", "type": "uint256[]" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getPolicyManager", "outputs": [ { "internalType": "address", "name": "policyManager_", "type": "address" } ] }, { "inputs": [], "stateMutability": "pure", "type": "function", "name": "identifier", "outputs": [ { "internalType": "string", "name": "identifier_", "type": "string" } ] }, { "inputs": [], "stateMutability": "pure", "type": "function", "name": "implementedHooks", "outputs": [ { "internalType": "enum IPolicyManager.PolicyHook[]", "name": "implementedHooks_", "type": "uint8[]" } ] }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" }, { "internalType": "address[]", "name": "_assets", "type": "address[]" } ], "stateMutability": "view", "type": "function", "name": "passesRule", "outputs": [ { "internalType": "bool", "name": "isValid_", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "updateFundSettings" }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" }, { "internalType": "enum IPolicyManager.PolicyHook", "name": "", "type": "uint8" }, { "internalType": "bytes", "name": "_encodedArgs", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "validateRule", "outputs": [ { "internalType": "bool", "name": "isValid_", "type": "bool" } ] } ], "devdoc": { "kind": "dev", "methods": { "activateForFund(address)": { "details": "Unimplemented by default, can be overridden by the policy" }, "addFundSettings(address,bytes)": { "params": { "_comptrollerProxy": "The fund's ComptrollerProxy address", "_encodedSettings": "Encoded settings to apply to a fund" } }, "canDisable()": { "returns": { "canDisable_": "True if the policy can be disabled" } }, "getAddressListRegistry()": { "returns": { "addressListRegistry_": "The `ADDRESS_LIST_REGISTRY` variable value" } }, "getListIdsForFund(address)": { "params": { "_comptrollerProxy": "The ComptrollerProxy of the fund" }, "returns": { "listIds_": "The list ids" } }, "getPolicyManager()": { "returns": { "policyManager_": "The `POLICY_MANAGER` variable value" } }, "identifier()": { "returns": { "identifier_": "The identifier string" } }, "implementedHooks()": { "returns": { "implementedHooks_": "The implemented PolicyHooks" } }, "passesRule(address,address[])": { "params": { "_assets": "The assets for which to check the rule", "_comptrollerProxy": "The fund's ComptrollerProxy address" }, "returns": { "isValid_": "True if the rule passes" } }, "updateFundSettings(address,bytes)": { "details": "Disallowed by default, can be overridden by the policy" }, "validateRule(address,uint8,bytes)": { "details": "onlyPolicyManager validation not necessary, as state is not updated and no events are fired", "params": { "_comptrollerProxy": "The fund's ComptrollerProxy address", "_encodedArgs": "Encoded args with which to validate the rule" }, "returns": { "isValid_": "True if the rule passes" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "activateForFund(address)": { "notice": "Validates and initializes a policy as necessary prior to fund activation" }, "addFundSettings(address,bytes)": { "notice": "Adds the initial policy settings for a fund" }, "canDisable()": { "notice": "Whether or not the policy can be disabled" }, "getAddressListRegistry()": { "notice": "Gets the `ADDRESS_LIST_REGISTRY` variable value" }, "getListIdsForFund(address)": { "notice": "Gets the list ids used by a given fund" }, "getPolicyManager()": { "notice": "Gets the `POLICY_MANAGER` variable value" }, "identifier()": { "notice": "Provides a constant string identifier for a policy" }, "implementedHooks()": { "notice": "Gets the implemented PolicyHooks for a policy" }, "passesRule(address,address[])": { "notice": "Checks whether a particular condition passes the rule for a particular fund" }, "updateFundSettings(address,bytes)": { "notice": "Updates the policy settings for a fund" }, "validateRule(address,uint8,bytes)": { "notice": "Apply the rule with the specified parameters of a PolicyHook" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/policy-manager/policies/current-shareholders/AllowedAssetsForRedemptionPolicy.sol": "AllowedAssetsForRedemptionPolicy" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/address-list-registry/AddressListRegistry.sol": { "keccak256": "0xf00a9e376e3ec2a223f463f71c15ee3af3642dd028bc3762440e316b760c8048", "urls": [ "bzz-raw://01986c9327b5dfbfac21316dced6d68727931ddde1278ed1342d878004f984b9", "dweb:/ipfs/QmdXkFaUU43JqMTYEREbWa129rohdqN7GXy7mVRpjCfSLD" ], "license": "GPL-3.0" }, "contracts/persistent/dispatcher/IDispatcher.sol": { "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", "urls": [ "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" ], "license": "GPL-3.0" }, "contracts/persistent/external-positions/IExternalPosition.sol": { "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", "urls": [ "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IExternalPositionVault.sol": { "keccak256": "0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6", "urls": [ "bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d", "dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol": { "keccak256": "0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0", "urls": [ "bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb", "dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IMigratableVault.sol": { "keccak256": "0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238", "urls": [ "bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6", "dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IVaultCore.sol": { "keccak256": "0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80", "urls": [ "bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd", "dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr" ], "license": "GPL-3.0" }, "contracts/release/core/fund-deployer/IFundDeployer.sol": { "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", "urls": [ "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" ], "license": "GPL-3.0" }, "contracts/release/core/fund/comptroller/ComptrollerLib.sol": { "keccak256": "0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64", "urls": [ "bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579", "dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq" ], "license": "GPL-3.0" }, "contracts/release/core/fund/comptroller/IComptroller.sol": { "keccak256": "0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f", "urls": [ "bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97", "dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L" ], "license": "GPL-3.0" }, "contracts/release/core/fund/vault/IVault.sol": { "keccak256": "0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd", "urls": [ "bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599", "dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG" ], "license": "GPL-3.0" }, "contracts/release/extensions/IExtension.sol": { "keccak256": "0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b", "urls": [ "bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70", "dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t" ], "license": "GPL-3.0" }, "contracts/release/extensions/fee-manager/IFeeManager.sol": { "keccak256": "0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51", "urls": [ "bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22", "dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod" ], "license": "GPL-3.0" }, "contracts/release/extensions/policy-manager/IPolicy.sol": { "keccak256": "0xc12663ca72065b256c3b934ab738fde26c147c7b0399de43650df89dd52ee467", "urls": [ "bzz-raw://be8fecfcba0f3fda615f0a1bb3c766750c23761ef751d7c4472dfe540e460cd1", "dweb:/ipfs/QmaarPoRTsX6NiJ8V4u2f3Qh6d7tUs28bw9R14An3t5Bs1" ], "license": "GPL-3.0" }, "contracts/release/extensions/policy-manager/IPolicyManager.sol": { "keccak256": "0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32", "urls": [ "bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa", "dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb" ], "license": "GPL-3.0" }, "contracts/release/extensions/policy-manager/policies/current-shareholders/AllowedAssetsForRedemptionPolicy.sol": { "keccak256": "0x73f4cb3c6c94a36c6d3c6c3d4bb28d341fc8522b9ac7de79b705a465a0e70e5b", "urls": [ "bzz-raw://9220418e3dbd5b292571848e5986ee40356a1ecfe6a0538d8aa89363693c02af", "dweb:/ipfs/QmdZS5N45r2HrwpU9bSREYTbuyahu6ppSdLpqyoXQz4enX" ], "license": "GPL-3.0" }, "contracts/release/extensions/policy-manager/policies/utils/AddressListRegistryPolicyBase.sol": { "keccak256": "0x3fdcf3e45c9d6b9cf5221aeb95858060dfc18abf744f664b5ce9bf2f0a6a7bdc", "urls": [ "bzz-raw://48b3ed06e509a45f122112129bf3d221ae30afad87722a123f7405a4a24e6645", "dweb:/ipfs/QmSA3cJB7C6x6BasicDpzwnHuxFkL6k8hR5fDRD42BWsGc" ], "license": "GPL-3.0" }, "contracts/release/extensions/policy-manager/policies/utils/PolicyBase.sol": { "keccak256": "0x972311abb98f0da815b4aca83d5afdd219d3604ec19cf5e3773c0c305bd9b3f1", "urls": [ "bzz-raw://2452f3d1f3b1d8e8459a07489146a2d0d8a10463715937995cbe77ee5de8c069", "dweb:/ipfs/Qmf2hhd2DVbjpxmbNGAhRZNZkqpGZA2mX3eA1WNwtv6t5Y" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol": { "keccak256": "0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609", "urls": [ "bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f", "dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol": { "keccak256": "0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01", "urls": [ "bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0", "dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol": { "keccak256": "0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196", "urls": [ "bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b", "dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol": { "keccak256": "0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794", "urls": [ "bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965", "dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IGsnForwarder.sol": { "keccak256": "0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030", "urls": [ "bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29", "dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IGsnPaymaster.sol": { "keccak256": "0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c", "urls": [ "bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4", "dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IGsnTypes.sol": { "keccak256": "0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714", "urls": [ "bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7", "dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C" ], "license": "GPL-3.0" }, "contracts/release/utils/AddressArrayLib.sol": { "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", "urls": [ "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" ], "license": "GPL-3.0" }, "contracts/release/utils/beacon-proxy/IBeacon.sol": { "keccak256": "0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2", "urls": [ "bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39", "dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V" ], "license": "GPL-3.0" }, "contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol": { "keccak256": "0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc", "urls": [ "bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be", "dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", "urls": [ "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Address.sol": { "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", "urls": [ "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" } }, "version": 1 }, "id": 215 } diff --git a/eth_defi/abi/enzyme/AllowedDepositRecipientsPolicy.json b/eth_defi/abi/enzyme/AllowedDepositRecipientsPolicy.json index 3147fd5f..5e6d4122 100644 --- a/eth_defi/abi/enzyme/AllowedDepositRecipientsPolicy.json +++ b/eth_defi/abi/enzyme/AllowedDepositRecipientsPolicy.json @@ -1,916 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_policyManager", - "type": "address" - }, - { - "internalType": "address", - "name": "_addressListRegistry", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "comptrollerProxy", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "listIds", - "type": "uint256[]" - } - ], - "name": "ListsSetForFund", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "activateForFund", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_encodedSettings", - "type": "bytes" - } - ], - "name": "addFundSettings", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "canDisable", - "outputs": [ - { - "internalType": "bool", - "name": "canDisable_", - "type": "bool" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "getAddressListRegistry", - "outputs": [ - { - "internalType": "address", - "name": "addressListRegistry_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - } - ], - "name": "getListIdsForFund", - "outputs": [ - { - "internalType": "uint256[]", - "name": "listIds_", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getPolicyManager", - "outputs": [ - { - "internalType": "address", - "name": "policyManager_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "identifier", - "outputs": [ - { - "internalType": "string", - "name": "identifier_", - "type": "string" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "implementedHooks", - "outputs": [ - { - "internalType": "enum IPolicyManager.PolicyHook[]", - "name": "implementedHooks_", - "type": "uint8[]" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_recipient", - "type": "address" - } - ], - "name": "passesRule", - "outputs": [ - { - "internalType": "bool", - "name": "isValid_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_encodedSettings", - "type": "bytes" - } - ], - "name": "updateFundSettings", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "enum IPolicyManager.PolicyHook", - "name": "", - "type": "uint8" - }, - { - "internalType": "bytes", - "name": "_encodedArgs", - "type": "bytes" - } - ], - "name": "validateRule", - "outputs": [ - { - "internalType": "bool", - "name": "isValid_", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x60c06040523480156200001157600080fd5b506040516200120938038062001209833981016040819052620000349162000066565b6001600160601b0319606092831b8116608052911b1660a052620000d1565b80516200006081620000b7565b92915050565b600080604083850312156200007a57600080fd5b600062000088858562000053565b92505060206200009b8582860162000053565b9150509250929050565b60006001600160a01b03821662000060565b620000c281620000a5565b8114620000ce57600080fd5b50565b60805160601c60a05160601c611109620001006000398061024452508061018c528061039152506111096000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c80637998a1c4116100715780637998a1c414610109578063b67cb40c1461011e578063cbf54bb214610131578063ceb9a0ad14610146578063d44ad6cb14610159578063dffd7c6f14610161576100a9565b80630d4d7510146100ae5780630f5f6b4f146100ae5780631ef92578146100c3578063579be718146100e157806374708934146100f4575b600080fd5b6100c16100bc366004610b11565b610181565b005b6100cb6101e2565b6040516100d89190610f57565b60405180910390f35b6100cb6100ef366004610b67565b6101e7565b6100fc610242565b6040516100d89190610ed3565b610111610266565b6040516100d89190610f65565b6100cb61012c366004610ad7565b61029d565b610139610335565b6040516100d89190610f0e565b6100c1610154366004610a32565b61038c565b6100fc61038f565b61017461016f366004610a32565b6103b3565b6040516100d89190610f1f565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146101d25760405162461bcd60e51b81526004016101c990610f76565b60405180910390fd5b6101dd83838361041e565b505050565b600190565b60008061022984848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506106e192505050565b5050509050610238868261029d565b9695505050505050565b7f000000000000000000000000000000000000000000000000000000000000000090565b60408051808201909152601a81527f414c4c4f5745445f4445504f5349545f524543495049454e5453000000000000602082015290565b60006102a7610242565b6001600160a01b03166375674f466102be856103b3565b846040518363ffffffff1660e01b81526004016102dc929190610f30565b60206040518083038186803b1580156102f457600080fd5b505afa158015610308573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061032c9190610c2e565b90505b92915050565b6040805160018082528183019092526060916020808301908036833701905050905060008160008151811061036657fe5b6020026020010190600981111561037957fe5b9081600981111561038657fe5b90525090565b50565b7f000000000000000000000000000000000000000000000000000000000000000090565b6001600160a01b0381166000908152602081815260409182902080548351818402810184019094528084526060939283018282801561041157602002820191906000526020600020905b8154815260200190600101908083116103fd575b505050505090505b919050565b60608061042d83850185610bcf565b915091506060815183510167ffffffffffffffff8111801561044e57600080fd5b50604051908082528060200260200182016040528015610478578160200160208202803683370190505b50905080516000141561049d5760405162461bcd60e51b81526004016101c990610f86565b6001600160a01b038616600090815260208190526040902054156104dc576001600160a01b03861660009081526020819052604081206104dc916107cf565b60005b835181101561056f578381815181106104f457fe5b602002602001015182828151811061050857fe5b602002602001018181525050600080886001600160a01b03166001600160a01b0316815260200190815260200160002084828151811061054457fe5b60209081029190910181015182546001818101855560009485529290932090920191909155016104df565b50815115610698576000866001600160a01b031663c98091876040518163ffffffff1660e01b815260040160206040518083038186803b1580156105b257600080fd5b505afa1580156105c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105ea9190610a58565b905060005b835181101561069557600081865101905061061d8386848151811061061057fe5b602002602001015161070a565b84828151811061062957fe5b6020026020010181815250506000808a6001600160a01b03166001600160a01b0316815260200190815260200160002084828151811061066557fe5b602090810291909101810151825460018181018555600094855292909320909201919091559190910190506105ef565b50505b856001600160a01b03167fd63f5b55f54cdda3234eab3aa26d85b99854a43efea66e0c459220fd7b3a332f826040516106d19190610f1f565b60405180910390a2505050505050565b600080600080848060200190518101906106fb9190610a76565b93509350935093509193509193565b6000806060610718846107ae565b91509150610724610242565b6001600160a01b031663be68406e8684846040518463ffffffff1660e01b815260040161075393929190610ee1565b602060405180830381600087803b15801561076d57600080fd5b505af1158015610781573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107a59190610c94565b95945050505050565b60006060828060200190518101906107c69190610c4c565b91509150915091565b508054600082559060005260206000209081019061038c91905b808211156107fd57600081556001016107e9565b5090565b803561032f816110bc565b805161032f816110bc565b600082601f83011261082857600080fd5b815161083b61083682610fbd565b610f96565b9150818183526020840193506020810190508385602084028201111561086057600080fd5b60005b8381101561088c5781610876888261080c565b8452506020928301929190910190600101610863565b5050505092915050565b600082601f8301126108a757600080fd5b81356108b561083682610fbd565b81815260209384019390925082018360005b8381101561088c57813586016108dd88826109b7565b84525060209283019291909101906001016108c7565b600082601f83011261090457600080fd5b813561091261083682610fbd565b9150818183526020840193506020810190508385602084028201111561093757600080fd5b60005b8381101561088c578161094d8882610a1c565b845250602092830192919091019060010161093a565b805161032f816110d0565b60008083601f84011261098057600080fd5b50813567ffffffffffffffff81111561099857600080fd5b6020830191508360018202830111156109b057600080fd5b9250929050565b600082601f8301126109c857600080fd5b81356109d661083682610fde565b915080825260208301602083018583830111156109f257600080fd5b6109fd838284611062565b50505092915050565b803561032f816110d9565b805161032f816110e6565b803561032f816110f3565b805161032f816110f3565b600060208284031215610a4457600080fd5b6000610a508484610801565b949350505050565b600060208284031215610a6a57600080fd5b6000610a50848461080c565b60008060008060808587031215610a8c57600080fd5b6000610a98878761080c565b9450506020610aa987828801610a27565b9350506040610aba87828801610a27565b9250506060610acb87828801610a27565b91505092959194509250565b60008060408385031215610aea57600080fd5b6000610af68585610801565b9250506020610b0785828601610801565b9150509250929050565b600080600060408486031215610b2657600080fd5b6000610b328686610801565b935050602084013567ffffffffffffffff811115610b4f57600080fd5b610b5b8682870161096e565b92509250509250925092565b60008060008060608587031215610b7d57600080fd5b6000610b898787610801565b9450506020610b9a87828801610a06565b935050604085013567ffffffffffffffff811115610bb757600080fd5b610bc38782880161096e565b95989497509550505050565b60008060408385031215610be257600080fd5b823567ffffffffffffffff811115610bf957600080fd5b610c05858286016108f3565b925050602083013567ffffffffffffffff811115610c2257600080fd5b610b0785828601610896565b600060208284031215610c4057600080fd5b6000610a508484610963565b60008060408385031215610c5f57600080fd5b6000610c6b8585610a11565b925050602083015167ffffffffffffffff811115610c8857600080fd5b610b0785828601610817565b600060208284031215610ca657600080fd5b6000610a508484610a27565b6000610cbe8383610cde565b505060200190565b6000610cbe8383610deb565b6000610cbe8383610eca565b610ce781611019565b82525050565b6000610cf88261100c565b610d028185611010565b9350610d0d83611006565b8060005b83811015610d3b578151610d258882610cb2565b9750610d3083611006565b925050600101610d11565b509495945050505050565b6000610d518261100c565b610d5b8185611010565b9350610d6683611006565b8060005b83811015610d3b578151610d7e8882610cc6565b9750610d8983611006565b925050600101610d6a565b6000610d9f8261100c565b610da98185611010565b9350610db483611006565b8060005b83811015610d3b578151610dcc8882610cd2565b9750610dd783611006565b925050600101610db8565b610ce781611024565b610ce78161104c565b610ce781611057565b6000610e088261100c565b610e128185611010565b9350610e2281856020860161106e565b610e2b8161109e565b9093019392505050565b6000610e42602983611010565b7f4f6e6c792074686520506f6c6963794d616e616765722063616e206d616b65208152681d1a1a5cc818d85b1b60ba1b602082015260400192915050565b6000610e8d602883611010565b7f5f5f7570646174654c69737473466f7246756e643a204e6f206c6973747320738152671c1958da599a595960c21b602082015260400192915050565b610ce781611049565b6020810161032f8284610cde565b60608101610eef8286610cde565b610efc6020830185610df4565b81810360408301526107a58184610ced565b6020808252810161032c8184610d46565b6020808252810161032c8184610d94565b60408082528101610f418185610d94565b9050610f506020830184610cde565b9392505050565b6020810161032f8284610de2565b6020808252810161032c8184610dfd565b6020808252810161032f81610e35565b6020808252810161032f81610e80565b60405181810167ffffffffffffffff81118282101715610fb557600080fd5b604052919050565b600067ffffffffffffffff821115610fd457600080fd5b5060209081020190565b600067ffffffffffffffff821115610ff557600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b600061032f8261103d565b151590565b80610419816110a8565b80610419816110b2565b6001600160a01b031690565b90565b600061032f82611029565b600061032f82611033565b82818337506000910152565b60005b83811015611089578181015183820152602001611071565b83811115611098576000848401525b50505050565b601f01601f191690565b600a811061038c57fe5b6004811061038c57fe5b6110c581611019565b811461038c57600080fd5b6110c581611024565b600a811061038c57600080fd5b6004811061038c57600080fd5b6110c58161104956fea164736f6c634300060c000a", - "sourceMap": "554:3046:217:-:0;;;633:163;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;737:31:223;;;;;;;;1052:44:221;;;::::1;::::0;554:3046:217;;5:134:-1;83:13;;101:33;83:13;101:33;:::i;:::-;68:71;;;;:::o;146:399::-;;;278:2;266:9;257:7;253:23;249:32;246:2;;;294:1;291;284:12;246:2;329:1;346:64;402:7;382:9;346:64;:::i;:::-;336:74;;308:108;447:2;465:64;521:7;512:6;501:9;497:22;465:64;:::i;:::-;455:74;;426:109;240:305;;;;;:::o;552:91::-;;-1:-1;;;;;712:54;;614:24;695:76::o;778:117::-;847:24;865:5;847:24;:::i;:::-;840:5;837:35;827:2;;886:1;883;876:12;827:2;821:74;:::o;:::-;554:3046:217;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106100a95760003560e01c80637998a1c4116100715780637998a1c414610109578063b67cb40c1461011e578063cbf54bb214610131578063ceb9a0ad14610146578063d44ad6cb14610159578063dffd7c6f14610161576100a9565b80630d4d7510146100ae5780630f5f6b4f146100ae5780631ef92578146100c3578063579be718146100e157806374708934146100f4575b600080fd5b6100c16100bc366004610b11565b610181565b005b6100cb6101e2565b6040516100d89190610f57565b60405180910390f35b6100cb6100ef366004610b67565b6101e7565b6100fc610242565b6040516100d89190610ed3565b610111610266565b6040516100d89190610f65565b6100cb61012c366004610ad7565b61029d565b610139610335565b6040516100d89190610f0e565b6100c1610154366004610a32565b61038c565b6100fc61038f565b61017461016f366004610a32565b6103b3565b6040516100d89190610f1f565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146101d25760405162461bcd60e51b81526004016101c990610f76565b60405180910390fd5b6101dd83838361041e565b505050565b600190565b60008061022984848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506106e192505050565b5050509050610238868261029d565b9695505050505050565b7f000000000000000000000000000000000000000000000000000000000000000090565b60408051808201909152601a81527f414c4c4f5745445f4445504f5349545f524543495049454e5453000000000000602082015290565b60006102a7610242565b6001600160a01b03166375674f466102be856103b3565b846040518363ffffffff1660e01b81526004016102dc929190610f30565b60206040518083038186803b1580156102f457600080fd5b505afa158015610308573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061032c9190610c2e565b90505b92915050565b6040805160018082528183019092526060916020808301908036833701905050905060008160008151811061036657fe5b6020026020010190600981111561037957fe5b9081600981111561038657fe5b90525090565b50565b7f000000000000000000000000000000000000000000000000000000000000000090565b6001600160a01b0381166000908152602081815260409182902080548351818402810184019094528084526060939283018282801561041157602002820191906000526020600020905b8154815260200190600101908083116103fd575b505050505090505b919050565b60608061042d83850185610bcf565b915091506060815183510167ffffffffffffffff8111801561044e57600080fd5b50604051908082528060200260200182016040528015610478578160200160208202803683370190505b50905080516000141561049d5760405162461bcd60e51b81526004016101c990610f86565b6001600160a01b038616600090815260208190526040902054156104dc576001600160a01b03861660009081526020819052604081206104dc916107cf565b60005b835181101561056f578381815181106104f457fe5b602002602001015182828151811061050857fe5b602002602001018181525050600080886001600160a01b03166001600160a01b0316815260200190815260200160002084828151811061054457fe5b60209081029190910181015182546001818101855560009485529290932090920191909155016104df565b50815115610698576000866001600160a01b031663c98091876040518163ffffffff1660e01b815260040160206040518083038186803b1580156105b257600080fd5b505afa1580156105c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105ea9190610a58565b905060005b835181101561069557600081865101905061061d8386848151811061061057fe5b602002602001015161070a565b84828151811061062957fe5b6020026020010181815250506000808a6001600160a01b03166001600160a01b0316815260200190815260200160002084828151811061066557fe5b602090810291909101810151825460018181018555600094855292909320909201919091559190910190506105ef565b50505b856001600160a01b03167fd63f5b55f54cdda3234eab3aa26d85b99854a43efea66e0c459220fd7b3a332f826040516106d19190610f1f565b60405180910390a2505050505050565b600080600080848060200190518101906106fb9190610a76565b93509350935093509193509193565b6000806060610718846107ae565b91509150610724610242565b6001600160a01b031663be68406e8684846040518463ffffffff1660e01b815260040161075393929190610ee1565b602060405180830381600087803b15801561076d57600080fd5b505af1158015610781573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107a59190610c94565b95945050505050565b60006060828060200190518101906107c69190610c4c565b91509150915091565b508054600082559060005260206000209081019061038c91905b808211156107fd57600081556001016107e9565b5090565b803561032f816110bc565b805161032f816110bc565b600082601f83011261082857600080fd5b815161083b61083682610fbd565b610f96565b9150818183526020840193506020810190508385602084028201111561086057600080fd5b60005b8381101561088c5781610876888261080c565b8452506020928301929190910190600101610863565b5050505092915050565b600082601f8301126108a757600080fd5b81356108b561083682610fbd565b81815260209384019390925082018360005b8381101561088c57813586016108dd88826109b7565b84525060209283019291909101906001016108c7565b600082601f83011261090457600080fd5b813561091261083682610fbd565b9150818183526020840193506020810190508385602084028201111561093757600080fd5b60005b8381101561088c578161094d8882610a1c565b845250602092830192919091019060010161093a565b805161032f816110d0565b60008083601f84011261098057600080fd5b50813567ffffffffffffffff81111561099857600080fd5b6020830191508360018202830111156109b057600080fd5b9250929050565b600082601f8301126109c857600080fd5b81356109d661083682610fde565b915080825260208301602083018583830111156109f257600080fd5b6109fd838284611062565b50505092915050565b803561032f816110d9565b805161032f816110e6565b803561032f816110f3565b805161032f816110f3565b600060208284031215610a4457600080fd5b6000610a508484610801565b949350505050565b600060208284031215610a6a57600080fd5b6000610a50848461080c565b60008060008060808587031215610a8c57600080fd5b6000610a98878761080c565b9450506020610aa987828801610a27565b9350506040610aba87828801610a27565b9250506060610acb87828801610a27565b91505092959194509250565b60008060408385031215610aea57600080fd5b6000610af68585610801565b9250506020610b0785828601610801565b9150509250929050565b600080600060408486031215610b2657600080fd5b6000610b328686610801565b935050602084013567ffffffffffffffff811115610b4f57600080fd5b610b5b8682870161096e565b92509250509250925092565b60008060008060608587031215610b7d57600080fd5b6000610b898787610801565b9450506020610b9a87828801610a06565b935050604085013567ffffffffffffffff811115610bb757600080fd5b610bc38782880161096e565b95989497509550505050565b60008060408385031215610be257600080fd5b823567ffffffffffffffff811115610bf957600080fd5b610c05858286016108f3565b925050602083013567ffffffffffffffff811115610c2257600080fd5b610b0785828601610896565b600060208284031215610c4057600080fd5b6000610a508484610963565b60008060408385031215610c5f57600080fd5b6000610c6b8585610a11565b925050602083015167ffffffffffffffff811115610c8857600080fd5b610b0785828601610817565b600060208284031215610ca657600080fd5b6000610a508484610a27565b6000610cbe8383610cde565b505060200190565b6000610cbe8383610deb565b6000610cbe8383610eca565b610ce781611019565b82525050565b6000610cf88261100c565b610d028185611010565b9350610d0d83611006565b8060005b83811015610d3b578151610d258882610cb2565b9750610d3083611006565b925050600101610d11565b509495945050505050565b6000610d518261100c565b610d5b8185611010565b9350610d6683611006565b8060005b83811015610d3b578151610d7e8882610cc6565b9750610d8983611006565b925050600101610d6a565b6000610d9f8261100c565b610da98185611010565b9350610db483611006565b8060005b83811015610d3b578151610dcc8882610cd2565b9750610dd783611006565b925050600101610db8565b610ce781611024565b610ce78161104c565b610ce781611057565b6000610e088261100c565b610e128185611010565b9350610e2281856020860161106e565b610e2b8161109e565b9093019392505050565b6000610e42602983611010565b7f4f6e6c792074686520506f6c6963794d616e616765722063616e206d616b65208152681d1a1a5cc818d85b1b60ba1b602082015260400192915050565b6000610e8d602883611010565b7f5f5f7570646174654c69737473466f7246756e643a204e6f206c6973747320738152671c1958da599a595960c21b602082015260400192915050565b610ce781611049565b6020810161032f8284610cde565b60608101610eef8286610cde565b610efc6020830185610df4565b81810360408301526107a58184610ced565b6020808252810161032c8184610d46565b6020808252810161032c8184610d94565b60408082528101610f418185610d94565b9050610f506020830184610cde565b9392505050565b6020810161032f8284610de2565b6020808252810161032c8184610dfd565b6020808252810161032f81610e35565b6020808252810161032f81610e80565b60405181810167ffffffffffffffff81118282101715610fb557600080fd5b604052919050565b600067ffffffffffffffff821115610fd457600080fd5b5060209081020190565b600067ffffffffffffffff821115610ff557600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b600061032f8261103d565b151590565b80610419816110a8565b80610419816110b2565b6001600160a01b031690565b90565b600061032f82611029565b600061032f82611033565b82818337506000910152565b60005b83811015611089578181015183820152602001611071565b83811115611098576000848401525b50505050565b601f01601f191690565b600a811061038c57fe5b6004811061038c57fe5b6110c581611019565b811461038c57600080fd5b6110c581611024565b600a811061038c57600080fd5b6004811061038c57600080fd5b6110c58161104956fea164736f6c634300060c000a", - "sourceMap": "554:3046:217:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2040:226;;;;;;:::i;:::-;;:::i;:::-;;950:108;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2645:321;;;;;;:::i;:::-;;:::i;4613:130:221:-;;;:::i;:::-;;;;;;;:::i;1180:133:217:-;;;:::i;:::-;;;;;;;:::i;3274:324::-;;;;;;:::i;:::-;;:::i;1443:328::-;;;:::i;:::-;;;;;;;:::i;941:83:223:-;;;;;;:::i;:::-;;:::i;6755:113::-;;;:::i;4908:198:221:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;2040:226:217:-;586:10:223;-1:-1:-1;;;;;600:14:223;586:28;;578:82;;;;-1:-1:-1;;;578:82:223;;;;;;;:::i;:::-;;;;;;;;;2202:57:217::1;2223:17;2242:16;;2202:20;:57::i;:::-;2040:226:::0;;;:::o;950:108::-;1047:4;950:108;:::o;2645:321::-;2807:13;2833;2856:49;2892:12;;2856:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2856:35:217;;-1:-1:-1;;;2856:49:217:i;:::-;2832:73;;;;;2923:36;2934:17;2953:5;2923:10;:36::i;:::-;2916:43;2645:321;-1:-1:-1;;;;;;2645:321:217:o;4613:130:221:-;4715:21;4613:130;:::o;1180:133:217:-;1271:35;;;;;;;;;;;;;;;;;1180:133;:::o;3274:324::-;3386:13;3454:24;:22;:24::i;:::-;-1:-1:-1;;;;;3434:61:217;;3513:36;3531:17;3513;:36::i;:::-;3567:10;3434:157;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3415:176;;3274:324;;;;;:::o;1443:328::-;1623:34;;;1655:1;1623:34;;;;;;;;;1535:52;;1623:34;;;;;;;;;;;-1:-1:-1;1623:34:217;1603:54;;1690:39;1667:17;1685:1;1667:20;;;;;;;;;;;;;:62;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1443:328:217;:::o;941:83:223:-;;:::o;6755:113::-;6847:14;6755:113;:::o;4908:198:221:-;-1:-1:-1;;;;;5055:44:221;;:25;:44;;;;;;;;;;;;5048:51;;;;;;;;;;;;;;;;;5007:25;;5048:51;;;5055:44;5048:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4908:198;;;;:::o;2752:1638::-;2874:32;;2939:84;;;;2963:16;2939:84;:::i;:::-;2873:150;;;;3034:28;3104:12;:19;3079:15;:22;:44;3065:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3065:59:221;;3034:90;;3142:11;:18;3164:1;3142:23;;3134:76;;;;-1:-1:-1;;;3134:76:221;;;;;;;:::i;:::-;-1:-1:-1;;;;;3283:44:221;;3337:1;3283:44;;;;;;;;;;:51;:55;3279:137;;-1:-1:-1;;;;;3361:44:221;;:25;:44;;;;;;;;;;3354:51;;;:::i;:::-;3553:9;3548:192;3568:15;:22;3564:1;:26;3548:192;;;3628:15;3644:1;3628:18;;;;;;;;;;;;;;3611:11;3623:1;3611:14;;;;;;;;;;;;;:35;;;;;3660:25;:44;3686:17;-1:-1:-1;;;;;3660:44:221;-1:-1:-1;;;;;3660:44:221;;;;;;;;;;;;3710:15;3726:1;3710:18;;;;;;;;;;;;;;;;;;;3660:69;;;;;;;;-1:-1:-1;3660:69:221;;;;;;;;;;;;;;3592:3;3548:192;;;-1:-1:-1;3794:19:221;;:23;3790:531;;3833:18;3869:17;-1:-1:-1;;;;;3854:47:221;;:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3833:70;;3922:9;3917:394;3937:12;:19;3933:1;:23;3917:394;;;3981:24;4033:1;4008:15;:22;:26;3981:53;;4084:114;4133:10;4165:12;4178:1;4165:15;;;;;;;;;;;;;;4084:27;:114::i;:::-;4052:11;4064:16;4052:29;;;;;;;;;;;;;:146;;;;;4216:25;:44;4242:17;-1:-1:-1;;;;;4216:44:221;-1:-1:-1;;;;;4216:44:221;;;;;;;;;;;;4266:11;4278:16;4266:29;;;;;;;;;;;;;;;;;;;4216:80;;;;;;;;-1:-1:-1;4216:80:221;;;;;;;;;;;;;;3958:3;;;;;-1:-1:-1;3917:394:221;;;;3790:531;;4352:17;-1:-1:-1;;;;;4336:47:221;;4371:11;4336:47;;;;;;:::i;:::-;;;;;;;;2752:1638;;;;;;:::o;3033:353:223:-;3168:14;3196:25;3235:21;3270:12;3325:15;3314:65;;;;;;;;;;;;:::i;:::-;3307:72;;;;;;;;3033:353;;;;;:::o;1662:488:221:-;1781:15;1826:41;1881:29;1923:33;1943:12;1923:19;:33::i;:::-;1812:144;;;;2006:24;:22;:24::i;:::-;-1:-1:-1;;;;;1986:56:221;;2060:11;2089:10;2117:12;1986:157;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1967:176;1662:488;-1:-1:-1;;;;;1662:488:221:o;2200:276::-;2303:42;2347:30;2411:12;2400:69;;;;;;;;;;;;:::i;:::-;2393:76;;;;2200:276;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5:130::-;72:20;;97:33;72:20;97:33;:::i;142:134::-;220:13;;238:33;220:13;238:33;:::i;458:722::-;;586:3;579:4;571:6;567:17;563:27;553:2;;604:1;601;594:12;553:2;634:6;628:13;656:80;671:64;728:6;671:64;:::i;:::-;656:80;:::i;:::-;647:89;;753:5;778:6;771:5;764:21;808:4;800:6;796:17;786:27;;830:4;825:3;821:14;814:21;;883:6;930:3;922:4;914:6;910:17;905:3;901:27;898:36;895:2;;;947:1;944;937:12;895:2;972:1;957:217;982:6;979:1;976:13;957:217;;;1040:3;1062:48;1106:3;1094:10;1062:48;:::i;:::-;1050:61;;-1:-1;1134:4;1125:14;;;;1153;;;;;1004:1;997:9;957:217;;;961:14;546:634;;;;;;;:::o;1204:705::-;;1330:3;1323:4;1315:6;1311:17;1307:27;1297:2;;1348:1;1345;1338:12;1297:2;1385:6;1372:20;1407:89;1422:73;1488:6;1422:73;:::i;1407:89::-;1524:21;;;1568:4;1556:17;;;;1398:98;;-1:-1;1581:14;;1556:17;1676:1;1661:242;1686:6;1683:1;1680:13;1661:242;;;1769:3;1756:17;1748:6;1744:30;1793:46;1835:3;1823:10;1793:46;:::i;:::-;1781:59;;-1:-1;1863:4;1854:14;;;;1882;;;;;1708:1;1701:9;1661:242;;1935:707;;2052:3;2045:4;2037:6;2033:17;2029:27;2019:2;;2070:1;2067;2060:12;2019:2;2107:6;2094:20;2129:80;2144:64;2201:6;2144:64;:::i;2129:80::-;2120:89;;2226:5;2251:6;2244:5;2237:21;2281:4;2273:6;2269:17;2259:27;;2303:4;2298:3;2294:14;2287:21;;2356:6;2403:3;2395:4;2387:6;2383:17;2378:3;2374:27;2371:36;2368:2;;;2420:1;2417;2410:12;2368:2;2445:1;2430:206;2455:6;2452:1;2449:13;2430:206;;;2513:3;2535:37;2568:3;2556:10;2535:37;:::i;:::-;2523:50;;-1:-1;2596:4;2587:14;;;;2615;;;;;2477:1;2470:9;2430:206;;2650:128;2725:13;;2743:30;2725:13;2743:30;:::i;2799:336::-;;;2913:3;2906:4;2898:6;2894:17;2890:27;2880:2;;2931:1;2928;2921:12;2880:2;-1:-1;2951:20;;2991:18;2980:30;;2977:2;;;3023:1;3020;3013:12;2977:2;3057:4;3049:6;3045:17;3033:29;;3108:3;3100:4;3092:6;3088:17;3078:8;3074:32;3071:41;3068:2;;;3125:1;3122;3115:12;3068:2;2873:262;;;;;:::o;3144:440::-;;3245:3;3238:4;3230:6;3226:17;3222:27;3212:2;;3263:1;3260;3253:12;3212:2;3300:6;3287:20;3322:64;3337:48;3378:6;3337:48;:::i;3322:64::-;3313:73;;3406:6;3399:5;3392:21;3442:4;3434:6;3430:17;3475:4;3468:5;3464:16;3510:3;3501:6;3496:3;3492:16;3489:25;3486:2;;;3527:1;3524;3517:12;3486:2;3537:41;3571:6;3566:3;3561;3537:41;:::i;:::-;3205:379;;;;;;;:::o;3592:162::-;3675:20;;3700:49;3675:20;3700:49;:::i;3761:164::-;3854:13;;3872:48;3854:13;3872:48;:::i;3932:130::-;3999:20;;4024:33;3999:20;4024:33;:::i;4069:134::-;4147:13;;4165:33;4147:13;4165:33;:::i;4210:241::-;;4314:2;4302:9;4293:7;4289:23;4285:32;4282:2;;;4330:1;4327;4320:12;4282:2;4365:1;4382:53;4427:7;4407:9;4382:53;:::i;:::-;4372:63;4276:175;-1:-1;;;;4276:175::o;4458:263::-;;4573:2;4561:9;4552:7;4548:23;4544:32;4541:2;;;4589:1;4586;4579:12;4541:2;4624:1;4641:64;4697:7;4677:9;4641:64;:::i;4728:688::-;;;;;4902:3;4890:9;4881:7;4877:23;4873:33;4870:2;;;4919:1;4916;4909:12;4870:2;4954:1;4971:72;5035:7;5015:9;4971:72;:::i;:::-;4961:82;;4933:116;5080:2;5098:64;5154:7;5145:6;5134:9;5130:22;5098:64;:::i;:::-;5088:74;;5059:109;5199:2;5217:64;5273:7;5264:6;5253:9;5249:22;5217:64;:::i;:::-;5207:74;;5178:109;5318:2;5336:64;5392:7;5383:6;5372:9;5368:22;5336:64;:::i;:::-;5326:74;;5297:109;4864:552;;;;;;;:::o;5423:366::-;;;5544:2;5532:9;5523:7;5519:23;5515:32;5512:2;;;5560:1;5557;5550:12;5512:2;5595:1;5612:53;5657:7;5637:9;5612:53;:::i;:::-;5602:63;;5574:97;5702:2;5720:53;5765:7;5756:6;5745:9;5741:22;5720:53;:::i;:::-;5710:63;;5681:98;5506:283;;;;;:::o;5796:490::-;;;;5936:2;5924:9;5915:7;5911:23;5907:32;5904:2;;;5952:1;5949;5942:12;5904:2;5987:1;6004:53;6049:7;6029:9;6004:53;:::i;:::-;5994:63;;5966:97;6122:2;6111:9;6107:18;6094:32;6146:18;6138:6;6135:30;6132:2;;;6178:1;6175;6168:12;6132:2;6206:64;6262:7;6253:6;6242:9;6238:22;6206:64;:::i;:::-;6188:82;;;;6073:203;5898:388;;;;;:::o;6293:647::-;;;;;6466:2;6454:9;6445:7;6441:23;6437:32;6434:2;;;6482:1;6479;6472:12;6434:2;6517:1;6534:53;6579:7;6559:9;6534:53;:::i;:::-;6524:63;;6496:97;6624:2;6642:69;6703:7;6694:6;6683:9;6679:22;6642:69;:::i;:::-;6632:79;;6603:114;6776:2;6765:9;6761:18;6748:32;6800:18;6792:6;6789:30;6786:2;;;6832:1;6829;6822:12;6786:2;6860:64;6916:7;6907:6;6896:9;6892:22;6860:64;:::i;:::-;6428:512;;;;-1:-1;6842:82;-1:-1;;;;6428:512::o;6947:656::-;;;7127:2;7115:9;7106:7;7102:23;7098:32;7095:2;;;7143:1;7140;7133:12;7095:2;7178:31;;7229:18;7218:30;;7215:2;;;7261:1;7258;7251:12;7215:2;7281:78;7351:7;7342:6;7331:9;7327:22;7281:78;:::i;:::-;7271:88;;7157:208;7424:2;7413:9;7409:18;7396:32;7448:18;7440:6;7437:30;7434:2;;;7480:1;7477;7470:12;7434:2;7500:87;7579:7;7570:6;7559:9;7555:22;7500:87;:::i;7610:257::-;;7722:2;7710:9;7701:7;7697:23;7693:32;7690:2;;;7738:1;7735;7728:12;7690:2;7773:1;7790:61;7843:7;7823:9;7790:61;:::i;7874:558::-;;;8046:2;8034:9;8025:7;8021:23;8017:32;8014:2;;;8062:1;8059;8052:12;8014:2;8097:1;8114:79;8185:7;8165:9;8114:79;:::i;:::-;8104:89;;8076:123;8251:2;8240:9;8236:18;8230:25;8275:18;8267:6;8264:30;8261:2;;;8307:1;8304;8297:12;8261:2;8327:89;8408:7;8399:6;8388:9;8384:22;8327:89;:::i;8439:263::-;;8554:2;8542:9;8533:7;8529:23;8525:32;8522:2;;;8570:1;8567;8560:12;8522:2;8605:1;8622:64;8678:7;8658:9;8622:64;:::i;8710:173::-;;8797:46;8839:3;8831:6;8797:46;:::i;:::-;-1:-1;;8872:4;8863:14;;8790:93::o;8892:201::-;;8993:60;9049:3;9041:6;8993:60;:::i;9102:173::-;;9189:46;9231:3;9223:6;9189:46;:::i;9283:103::-;9356:24;9374:5;9356:24;:::i;:::-;9351:3;9344:37;9338:48;;:::o;9544:690::-;;9689:54;9737:5;9689:54;:::i;:::-;9756:86;9835:6;9830:3;9756:86;:::i;:::-;9749:93;;9863:56;9913:5;9863:56;:::i;:::-;9939:7;9967:1;9952:260;9977:6;9974:1;9971:13;9952:260;;;10044:6;10038:13;10065:63;10124:3;10109:13;10065:63;:::i;:::-;10058:70;;10145:60;10198:6;10145:60;:::i;:::-;10135:70;-1:-1;;9999:1;9992:9;9952:260;;;-1:-1;10225:3;;9668:566;-1:-1;;;;;9668:566::o;10294:764::-;;10453:70;10517:5;10453:70;:::i;:::-;10536:84;10613:6;10608:3;10536:84;:::i;:::-;10529:91;;10641:72;10707:5;10641:72;:::i;:::-;10733:7;10761:1;10746:290;10771:6;10768:1;10765:13;10746:290;;;10838:6;10832:13;10859:77;10932:3;10917:13;10859:77;:::i;:::-;10852:84;;10953:76;11022:6;10953:76;:::i;:::-;10943:86;-1:-1;;10793:1;10786:9;10746:290;;11097:690;;11242:54;11290:5;11242:54;:::i;:::-;11309:86;11388:6;11383:3;11309:86;:::i;:::-;11302:93;;11416:56;11466:5;11416:56;:::i;:::-;11492:7;11520:1;11505:260;11530:6;11527:1;11524:13;11505:260;;;11597:6;11591:13;11618:63;11677:3;11662:13;11618:63;:::i;:::-;11611:70;;11698:60;11751:6;11698:60;:::i;:::-;11688:70;-1:-1;;11552:1;11545:9;11505:260;;11795:104;11872:21;11887:5;11872:21;:::i;11906:144::-;11993:51;12038:5;11993:51;:::i;12057:152::-;12153:50;12197:5;12153:50;:::i;12216:347::-;;12328:39;12361:5;12328:39;:::i;:::-;12379:71;12443:6;12438:3;12379:71;:::i;:::-;12372:78;;12455:52;12500:6;12495:3;12488:4;12481:5;12477:16;12455:52;:::i;:::-;12528:29;12550:6;12528:29;:::i;:::-;12519:39;;;;12308:255;-1:-1;;;12308:255::o;12571:378::-;;12731:67;12795:2;12790:3;12731:67;:::i;:::-;12831:34;12811:55;;-1:-1;;;12895:2;12886:12;;12879:33;12940:2;12931:12;;12717:232;-1:-1;;12717:232::o;12958:377::-;;13118:67;13182:2;13177:3;13118:67;:::i;:::-;13218:34;13198:55;;-1:-1;;;13282:2;13273:12;;13266:32;13326:2;13317:12;;13104:231;-1:-1;;13104:231::o;13343:103::-;13416:24;13434:5;13416:24;:::i;13453:222::-;13580:2;13565:18;;13594:71;13569:9;13638:6;13594:71;:::i;13682:618::-;13928:2;13913:18;;13942:71;13917:9;13986:6;13942:71;:::i;:::-;14024:85;14105:2;14094:9;14090:18;14081:6;14024:85;:::i;:::-;14157:9;14151:4;14147:20;14142:2;14131:9;14127:18;14120:48;14182:108;14285:4;14276:6;14182:108;:::i;14307:398::-;14498:2;14512:47;;;14483:18;;14573:122;14483:18;14681:6;14573:122;:::i;14712:370::-;14889:2;14903:47;;;14874:18;;14964:108;14874:18;15058:6;14964:108;:::i;15089:481::-;15294:2;15308:47;;;15279:18;;15369:108;15279:18;15463:6;15369:108;:::i;:::-;15361:116;;15488:72;15556:2;15545:9;15541:18;15532:6;15488:72;:::i;:::-;15265:305;;;;;:::o;15577:210::-;15698:2;15683:18;;15712:65;15687:9;15750:6;15712:65;:::i;15794:310::-;15941:2;15955:47;;;15926:18;;16016:78;15926:18;16080:6;16016:78;:::i;16111:416::-;16311:2;16325:47;;;16296:18;;16386:131;16296:18;16386:131;:::i;16534:416::-;16734:2;16748:47;;;16719:18;;16809:131;16719:18;16809:131;:::i;16957:256::-;17019:2;17013:9;17045:17;;;17120:18;17105:34;;17141:22;;;17102:62;17099:2;;;17177:1;17174;17167:12;17099:2;17193;17186:22;16997:216;;-1:-1;16997:216::o;17220:304::-;;17379:18;17371:6;17368:30;17365:2;;;17411:1;17408;17401:12;17365:2;-1:-1;17446:4;17434:17;;;17499:15;;17302:222::o;18162:321::-;;18305:18;18297:6;18294:30;18291:2;;;18337:1;18334;18327:12;18291:2;-1:-1;18468:4;18404;18381:17;;;;-1:-1;;18377:33;18458:15;;18228:255::o;18490:151::-;18614:4;18605:14;;18562:79::o;18980:137::-;19083:12;;19054:63::o;19919:178::-;20037:19;;;20086:4;20077:14;;20030:67::o;20649:91::-;;20711:24;20729:5;20711:24;:::i;20853:85::-;20919:13;20912:21;;20895:43::o;20945:138::-;21023:5;21029:49;21023:5;21029:49;:::i;21090:136::-;21167:5;21173:48;21167:5;21173:48;:::i;21233:121::-;-1:-1;;;;;21295:54;;21278:76::o;21361:72::-;21423:5;21406:27::o;21440:138::-;;21533:40;21567:5;21533:40;:::i;21585:136::-;;21677:39;21710:5;21677:39;:::i;21729:145::-;21810:6;21805:3;21800;21787:30;-1:-1;21866:1;21848:16;;21841:27;21780:94::o;21883:268::-;21948:1;21955:101;21969:6;21966:1;21963:13;21955:101;;;22036:11;;;22030:18;22017:11;;;22010:39;21991:2;21984:10;21955:101;;;22071:6;22068:1;22065:13;22062:2;;;22136:1;22127:6;22122:3;22118:16;22111:27;22062:2;21932:219;;;;:::o;22159:97::-;22247:2;22227:14;-1:-1;;22223:28;;22207:49::o;22264:108::-;22349:2;22342:5;22339:13;22329:2;;22356:9;22379:106;22463:1;22456:5;22453:12;22443:2;;22469:9;22492:117;22561:24;22579:5;22561:24;:::i;:::-;22554:5;22551:35;22541:2;;22600:1;22597;22590:12;22756:111;22822:21;22837:5;22822:21;:::i;22874:111::-;22959:2;22952:5;22949:13;22939:2;;22976:1;22973;22966:12;22992:109;23076:1;23069:5;23066:12;23056:2;;23092:1;23089;23082:12;23108:117;23177:24;23195:5;23177:24;:::i", - "linkReferences": {}, - "immutableReferences": { - "59555": [ - { - "start": 580, - "length": 32 - } - ], - "59893": [ - { - "start": 396, - "length": 32 - }, - { - "start": 913, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "activateForFund(address)": "ceb9a0ad", - "addFundSettings(address,bytes)": "0f5f6b4f", - "canDisable()": "1ef92578", - "getAddressListRegistry()": "74708934", - "getListIdsForFund(address)": "dffd7c6f", - "getPolicyManager()": "d44ad6cb", - "identifier()": "7998a1c4", - "implementedHooks()": "cbf54bb2", - "passesRule(address,address)": "b67cb40c", - "updateFundSettings(address,bytes)": "0d4d7510", - "validateRule(address,uint8,bytes)": "579be718" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_policyManager\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_addressListRegistry\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"listIds\",\"type\":\"uint256[]\"}],\"name\":\"ListsSetForFund\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"activateForFund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_encodedSettings\",\"type\":\"bytes\"}],\"name\":\"addFundSettings\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"canDisable\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"canDisable_\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAddressListRegistry\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"addressListRegistry_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"}],\"name\":\"getListIdsForFund\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"listIds_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPolicyManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"policyManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"identifier\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"identifier_\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"implementedHooks\",\"outputs\":[{\"internalType\":\"enum IPolicyManager.PolicyHook[]\",\"name\":\"implementedHooks_\",\"type\":\"uint8[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_recipient\",\"type\":\"address\"}],\"name\":\"passesRule\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isValid_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_encodedSettings\",\"type\":\"bytes\"}],\"name\":\"updateFundSettings\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"enum IPolicyManager.PolicyHook\",\"name\":\"\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"_encodedArgs\",\"type\":\"bytes\"}],\"name\":\"validateRule\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isValid_\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"activateForFund(address)\":{\"details\":\"Unimplemented by default, can be overridden by the policy\"},\"addFundSettings(address,bytes)\":{\"params\":{\"_comptrollerProxy\":\"The fund's ComptrollerProxy address\",\"_encodedSettings\":\"Encoded settings to apply to a fund\"}},\"canDisable()\":{\"returns\":{\"canDisable_\":\"True if the policy can be disabled\"}},\"getAddressListRegistry()\":{\"returns\":{\"addressListRegistry_\":\"The `ADDRESS_LIST_REGISTRY` variable value\"}},\"getListIdsForFund(address)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\"},\"returns\":{\"listIds_\":\"The list ids\"}},\"getPolicyManager()\":{\"returns\":{\"policyManager_\":\"The `POLICY_MANAGER` variable value\"}},\"identifier()\":{\"returns\":{\"identifier_\":\"The identifer string\"}},\"implementedHooks()\":{\"returns\":{\"implementedHooks_\":\"The implemented PolicyHooks\"}},\"passesRule(address,address)\":{\"params\":{\"_comptrollerProxy\":\"The fund's ComptrollerProxy address\",\"_recipient\":\"The recipient of shares from the deposit\"},\"returns\":{\"isValid_\":\"True if the rule passes\"}},\"updateFundSettings(address,bytes)\":{\"details\":\"Used to assign a new list (not update items in that list)\",\"params\":{\"_comptrollerProxy\":\"The fund's ComptrollerProxy address\",\"_encodedSettings\":\"Encoded settings to apply to a fund\"}},\"validateRule(address,uint8,bytes)\":{\"details\":\"onlyPolicyManager validation not necessary, as state is not updated and no events are fired\",\"params\":{\"_comptrollerProxy\":\"The fund's ComptrollerProxy address\",\"_encodedArgs\":\"Encoded args with which to validate the rule\"},\"returns\":{\"isValid_\":\"True if the rule passes\"}}},\"title\":\"AllowedDepositRecipientsPolicy Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"activateForFund(address)\":{\"notice\":\"Validates and initializes a policy as necessary prior to fund activation\"},\"addFundSettings(address,bytes)\":{\"notice\":\"Adds the initial policy settings for a fund\"},\"canDisable()\":{\"notice\":\"Whether or not the policy can be disabled\"},\"getAddressListRegistry()\":{\"notice\":\"Gets the `ADDRESS_LIST_REGISTRY` variable value\"},\"getListIdsForFund(address)\":{\"notice\":\"Gets the list ids used by a given fund\"},\"getPolicyManager()\":{\"notice\":\"Gets the `POLICY_MANAGER` variable value\"},\"identifier()\":{\"notice\":\"Provides a constant string identifier for a policy\"},\"implementedHooks()\":{\"notice\":\"Gets the implemented PolicyHooks for a policy\"},\"passesRule(address,address)\":{\"notice\":\"Checks whether a particular condition passes the rule for a particular fund\"},\"updateFundSettings(address,bytes)\":{\"notice\":\"Updates the policy settings for a fund\"},\"validateRule(address,uint8,bytes)\":{\"notice\":\"Apply the rule with the specified parameters of a PolicyHook\"}},\"notice\":\"A policy that limits the accounts that can receive shares via deposit\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/policy-manager/policies/new-shareholders/AllowedDepositRecipientsPolicy.sol\":\"AllowedDepositRecipientsPolicy\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/address-list-registry/AddressListRegistry.sol\":{\"keccak256\":\"0xf00a9e376e3ec2a223f463f71c15ee3af3642dd028bc3762440e316b760c8048\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://01986c9327b5dfbfac21316dced6d68727931ddde1278ed1342d878004f984b9\",\"dweb:/ipfs/QmdXkFaUU43JqMTYEREbWa129rohdqN7GXy7mVRpjCfSLD\"]},\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/persistent/vault/interfaces/IExternalPositionVault.sol\":{\"keccak256\":\"0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d\",\"dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8\"]},\"contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol\":{\"keccak256\":\"0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb\",\"dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU\"]},\"contracts/persistent/vault/interfaces/IMigratableVault.sol\":{\"keccak256\":\"0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6\",\"dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs\"]},\"contracts/persistent/vault/interfaces/IVaultCore.sol\":{\"keccak256\":\"0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd\",\"dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr\"]},\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/core/fund/comptroller/ComptrollerLib.sol\":{\"keccak256\":\"0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579\",\"dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq\"]},\"contracts/release/core/fund/comptroller/IComptroller.sol\":{\"keccak256\":\"0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97\",\"dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L\"]},\"contracts/release/core/fund/vault/IVault.sol\":{\"keccak256\":\"0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599\",\"dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG\"]},\"contracts/release/extensions/IExtension.sol\":{\"keccak256\":\"0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70\",\"dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t\"]},\"contracts/release/extensions/fee-manager/IFeeManager.sol\":{\"keccak256\":\"0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22\",\"dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod\"]},\"contracts/release/extensions/policy-manager/IPolicy.sol\":{\"keccak256\":\"0xc12663ca72065b256c3b934ab738fde26c147c7b0399de43650df89dd52ee467\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://be8fecfcba0f3fda615f0a1bb3c766750c23761ef751d7c4472dfe540e460cd1\",\"dweb:/ipfs/QmaarPoRTsX6NiJ8V4u2f3Qh6d7tUs28bw9R14An3t5Bs1\"]},\"contracts/release/extensions/policy-manager/IPolicyManager.sol\":{\"keccak256\":\"0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa\",\"dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb\"]},\"contracts/release/extensions/policy-manager/policies/new-shareholders/AllowedDepositRecipientsPolicy.sol\":{\"keccak256\":\"0x506f243b58f69aad51bea98ca911fd469cf721965ab79916a42f1c475bd90c89\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f67e1fa56dca16ac4d97bf98247fafb2d71f6baa8e5d21a88562adf80146549d\",\"dweb:/ipfs/QmbjwdRNnA3GrTzuBnchFSwrUeTp1vAbvmeCMe3fMnMjXp\"]},\"contracts/release/extensions/policy-manager/policies/utils/AddressListRegistryPolicyBase.sol\":{\"keccak256\":\"0x3fdcf3e45c9d6b9cf5221aeb95858060dfc18abf744f664b5ce9bf2f0a6a7bdc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://48b3ed06e509a45f122112129bf3d221ae30afad87722a123f7405a4a24e6645\",\"dweb:/ipfs/QmSA3cJB7C6x6BasicDpzwnHuxFkL6k8hR5fDRD42BWsGc\"]},\"contracts/release/extensions/policy-manager/policies/utils/PolicyBase.sol\":{\"keccak256\":\"0x972311abb98f0da815b4aca83d5afdd219d3604ec19cf5e3773c0c305bd9b3f1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2452f3d1f3b1d8e8459a07489146a2d0d8a10463715937995cbe77ee5de8c069\",\"dweb:/ipfs/Qmf2hhd2DVbjpxmbNGAhRZNZkqpGZA2mX3eA1WNwtv6t5Y\"]},\"contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol\":{\"keccak256\":\"0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f\",\"dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol\":{\"keccak256\":\"0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0\",\"dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol\":{\"keccak256\":\"0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b\",\"dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3\"]},\"contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol\":{\"keccak256\":\"0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965\",\"dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ\"]},\"contracts/release/interfaces/IGsnForwarder.sol\":{\"keccak256\":\"0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29\",\"dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G\"]},\"contracts/release/interfaces/IGsnPaymaster.sol\":{\"keccak256\":\"0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4\",\"dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF\"]},\"contracts/release/interfaces/IGsnTypes.sol\":{\"keccak256\":\"0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7\",\"dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/beacon-proxy/IBeacon.sol\":{\"keccak256\":\"0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39\",\"dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V\"]},\"contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol\":{\"keccak256\":\"0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be\",\"dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_policyManager", - "type": "address" - }, - { - "internalType": "address", - "name": "_addressListRegistry", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "comptrollerProxy", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256[]", - "name": "listIds", - "type": "uint256[]", - "indexed": false - } - ], - "type": "event", - "name": "ListsSetForFund", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "activateForFund" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_encodedSettings", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "addFundSettings" - }, - { - "inputs": [], - "stateMutability": "pure", - "type": "function", - "name": "canDisable", - "outputs": [ - { - "internalType": "bool", - "name": "canDisable_", - "type": "bool" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getAddressListRegistry", - "outputs": [ - { - "internalType": "address", - "name": "addressListRegistry_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getListIdsForFund", - "outputs": [ - { - "internalType": "uint256[]", - "name": "listIds_", - "type": "uint256[]" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getPolicyManager", - "outputs": [ - { - "internalType": "address", - "name": "policyManager_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "pure", - "type": "function", - "name": "identifier", - "outputs": [ - { - "internalType": "string", - "name": "identifier_", - "type": "string" - } - ] - }, - { - "inputs": [], - "stateMutability": "pure", - "type": "function", - "name": "implementedHooks", - "outputs": [ - { - "internalType": "enum IPolicyManager.PolicyHook[]", - "name": "implementedHooks_", - "type": "uint8[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_recipient", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "passesRule", - "outputs": [ - { - "internalType": "bool", - "name": "isValid_", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_encodedSettings", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "updateFundSettings" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "enum IPolicyManager.PolicyHook", - "name": "", - "type": "uint8" - }, - { - "internalType": "bytes", - "name": "_encodedArgs", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "validateRule", - "outputs": [ - { - "internalType": "bool", - "name": "isValid_", - "type": "bool" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "activateForFund(address)": { - "details": "Unimplemented by default, can be overridden by the policy" - }, - "addFundSettings(address,bytes)": { - "params": { - "_comptrollerProxy": "The fund's ComptrollerProxy address", - "_encodedSettings": "Encoded settings to apply to a fund" - } - }, - "canDisable()": { - "returns": { - "canDisable_": "True if the policy can be disabled" - } - }, - "getAddressListRegistry()": { - "returns": { - "addressListRegistry_": "The `ADDRESS_LIST_REGISTRY` variable value" - } - }, - "getListIdsForFund(address)": { - "params": { - "_comptrollerProxy": "The ComptrollerProxy of the fund" - }, - "returns": { - "listIds_": "The list ids" - } - }, - "getPolicyManager()": { - "returns": { - "policyManager_": "The `POLICY_MANAGER` variable value" - } - }, - "identifier()": { - "returns": { - "identifier_": "The identifer string" - } - }, - "implementedHooks()": { - "returns": { - "implementedHooks_": "The implemented PolicyHooks" - } - }, - "passesRule(address,address)": { - "params": { - "_comptrollerProxy": "The fund's ComptrollerProxy address", - "_recipient": "The recipient of shares from the deposit" - }, - "returns": { - "isValid_": "True if the rule passes" - } - }, - "updateFundSettings(address,bytes)": { - "details": "Used to assign a new list (not update items in that list)", - "params": { - "_comptrollerProxy": "The fund's ComptrollerProxy address", - "_encodedSettings": "Encoded settings to apply to a fund" - } - }, - "validateRule(address,uint8,bytes)": { - "details": "onlyPolicyManager validation not necessary, as state is not updated and no events are fired", - "params": { - "_comptrollerProxy": "The fund's ComptrollerProxy address", - "_encodedArgs": "Encoded args with which to validate the rule" - }, - "returns": { - "isValid_": "True if the rule passes" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "activateForFund(address)": { - "notice": "Validates and initializes a policy as necessary prior to fund activation" - }, - "addFundSettings(address,bytes)": { - "notice": "Adds the initial policy settings for a fund" - }, - "canDisable()": { - "notice": "Whether or not the policy can be disabled" - }, - "getAddressListRegistry()": { - "notice": "Gets the `ADDRESS_LIST_REGISTRY` variable value" - }, - "getListIdsForFund(address)": { - "notice": "Gets the list ids used by a given fund" - }, - "getPolicyManager()": { - "notice": "Gets the `POLICY_MANAGER` variable value" - }, - "identifier()": { - "notice": "Provides a constant string identifier for a policy" - }, - "implementedHooks()": { - "notice": "Gets the implemented PolicyHooks for a policy" - }, - "passesRule(address,address)": { - "notice": "Checks whether a particular condition passes the rule for a particular fund" - }, - "updateFundSettings(address,bytes)": { - "notice": "Updates the policy settings for a fund" - }, - "validateRule(address,uint8,bytes)": { - "notice": "Apply the rule with the specified parameters of a PolicyHook" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/policy-manager/policies/new-shareholders/AllowedDepositRecipientsPolicy.sol": "AllowedDepositRecipientsPolicy" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/address-list-registry/AddressListRegistry.sol": { - "keccak256": "0xf00a9e376e3ec2a223f463f71c15ee3af3642dd028bc3762440e316b760c8048", - "urls": [ - "bzz-raw://01986c9327b5dfbfac21316dced6d68727931ddde1278ed1342d878004f984b9", - "dweb:/ipfs/QmdXkFaUU43JqMTYEREbWa129rohdqN7GXy7mVRpjCfSLD" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/dispatcher/IDispatcher.sol": { - "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", - "urls": [ - "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", - "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/external-positions/IExternalPosition.sol": { - "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", - "urls": [ - "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", - "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IExternalPositionVault.sol": { - "keccak256": "0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6", - "urls": [ - "bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d", - "dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol": { - "keccak256": "0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0", - "urls": [ - "bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb", - "dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IMigratableVault.sol": { - "keccak256": "0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238", - "urls": [ - "bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6", - "dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IVaultCore.sol": { - "keccak256": "0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80", - "urls": [ - "bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd", - "dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund-deployer/IFundDeployer.sol": { - "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", - "urls": [ - "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", - "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/comptroller/ComptrollerLib.sol": { - "keccak256": "0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64", - "urls": [ - "bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579", - "dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/comptroller/IComptroller.sol": { - "keccak256": "0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f", - "urls": [ - "bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97", - "dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/vault/IVault.sol": { - "keccak256": "0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd", - "urls": [ - "bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599", - "dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/IExtension.sol": { - "keccak256": "0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b", - "urls": [ - "bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70", - "dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/fee-manager/IFeeManager.sol": { - "keccak256": "0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51", - "urls": [ - "bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22", - "dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/policy-manager/IPolicy.sol": { - "keccak256": "0xc12663ca72065b256c3b934ab738fde26c147c7b0399de43650df89dd52ee467", - "urls": [ - "bzz-raw://be8fecfcba0f3fda615f0a1bb3c766750c23761ef751d7c4472dfe540e460cd1", - "dweb:/ipfs/QmaarPoRTsX6NiJ8V4u2f3Qh6d7tUs28bw9R14An3t5Bs1" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/policy-manager/IPolicyManager.sol": { - "keccak256": "0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32", - "urls": [ - "bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa", - "dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/policy-manager/policies/new-shareholders/AllowedDepositRecipientsPolicy.sol": { - "keccak256": "0x506f243b58f69aad51bea98ca911fd469cf721965ab79916a42f1c475bd90c89", - "urls": [ - "bzz-raw://f67e1fa56dca16ac4d97bf98247fafb2d71f6baa8e5d21a88562adf80146549d", - "dweb:/ipfs/QmbjwdRNnA3GrTzuBnchFSwrUeTp1vAbvmeCMe3fMnMjXp" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/policy-manager/policies/utils/AddressListRegistryPolicyBase.sol": { - "keccak256": "0x3fdcf3e45c9d6b9cf5221aeb95858060dfc18abf744f664b5ce9bf2f0a6a7bdc", - "urls": [ - "bzz-raw://48b3ed06e509a45f122112129bf3d221ae30afad87722a123f7405a4a24e6645", - "dweb:/ipfs/QmSA3cJB7C6x6BasicDpzwnHuxFkL6k8hR5fDRD42BWsGc" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/policy-manager/policies/utils/PolicyBase.sol": { - "keccak256": "0x972311abb98f0da815b4aca83d5afdd219d3604ec19cf5e3773c0c305bd9b3f1", - "urls": [ - "bzz-raw://2452f3d1f3b1d8e8459a07489146a2d0d8a10463715937995cbe77ee5de8c069", - "dweb:/ipfs/Qmf2hhd2DVbjpxmbNGAhRZNZkqpGZA2mX3eA1WNwtv6t5Y" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol": { - "keccak256": "0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609", - "urls": [ - "bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f", - "dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol": { - "keccak256": "0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01", - "urls": [ - "bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0", - "dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol": { - "keccak256": "0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196", - "urls": [ - "bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b", - "dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol": { - "keccak256": "0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794", - "urls": [ - "bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965", - "dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IGsnForwarder.sol": { - "keccak256": "0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030", - "urls": [ - "bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29", - "dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IGsnPaymaster.sol": { - "keccak256": "0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c", - "urls": [ - "bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4", - "dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IGsnTypes.sol": { - "keccak256": "0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714", - "urls": [ - "bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7", - "dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AddressArrayLib.sol": { - "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", - "urls": [ - "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", - "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/beacon-proxy/IBeacon.sol": { - "keccak256": "0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2", - "urls": [ - "bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39", - "dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol": { - "keccak256": "0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc", - "urls": [ - "bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be", - "dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { - "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", - "urls": [ - "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", - "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Address.sol": { - "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", - "urls": [ - "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", - "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 217 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_policyManager", "type": "address", "internalType": "address" }, { "name": "_addressListRegistry", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "activateForFund", "inputs": [ { "name": "", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "addFundSettings", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" }, { "name": "_encodedSettings", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "canDisable", "inputs": [], "outputs": [ { "name": "canDisable_", "type": "bool", "internalType": "bool" } ], "stateMutability": "pure" }, { "type": "function", "name": "getAddressListRegistry", "inputs": [], "outputs": [ { "name": "addressListRegistry_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getListIdsForFund", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "listIds_", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "view" }, { "type": "function", "name": "getPolicyManager", "inputs": [], "outputs": [ { "name": "policyManager_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "identifier", "inputs": [], "outputs": [ { "name": "identifier_", "type": "string", "internalType": "string" } ], "stateMutability": "pure" }, { "type": "function", "name": "implementedHooks", "inputs": [], "outputs": [ { "name": "implementedHooks_", "type": "uint8[]", "internalType": "enum IPolicyManager.PolicyHook[]" } ], "stateMutability": "pure" }, { "type": "function", "name": "passesRule", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" }, { "name": "_recipient", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "isValid_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "updateFundSettings", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" }, { "name": "_encodedSettings", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "validateRule", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" }, { "name": "", "type": "uint8", "internalType": "enum IPolicyManager.PolicyHook" }, { "name": "_encodedArgs", "type": "bytes", "internalType": "bytes" } ], "outputs": [ { "name": "isValid_", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "event", "name": "ListsSetForFund", "inputs": [ { "name": "comptrollerProxy", "type": "address", "indexed": true, "internalType": "address" }, { "name": "listIds", "type": "uint256[]", "indexed": false, "internalType": "uint256[]" } ], "anonymous": false } ], "bytecode": { "object": "0x60c06040523480156200001157600080fd5b506040516200120938038062001209833981016040819052620000349162000066565b6001600160601b0319606092831b8116608052911b1660a052620000d1565b80516200006081620000b7565b92915050565b600080604083850312156200007a57600080fd5b600062000088858562000053565b92505060206200009b8582860162000053565b9150509250929050565b60006001600160a01b03821662000060565b620000c281620000a5565b8114620000ce57600080fd5b50565b60805160601c60a05160601c611109620001006000398061024452508061018c528061039152506111096000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c80637998a1c4116100715780637998a1c414610109578063b67cb40c1461011e578063cbf54bb214610131578063ceb9a0ad14610146578063d44ad6cb14610159578063dffd7c6f14610161576100a9565b80630d4d7510146100ae5780630f5f6b4f146100ae5780631ef92578146100c3578063579be718146100e157806374708934146100f4575b600080fd5b6100c16100bc366004610b11565b610181565b005b6100cb6101e2565b6040516100d89190610f57565b60405180910390f35b6100cb6100ef366004610b67565b6101e7565b6100fc610242565b6040516100d89190610ed3565b610111610266565b6040516100d89190610f65565b6100cb61012c366004610ad7565b61029d565b610139610335565b6040516100d89190610f0e565b6100c1610154366004610a32565b61038c565b6100fc61038f565b61017461016f366004610a32565b6103b3565b6040516100d89190610f1f565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146101d25760405162461bcd60e51b81526004016101c990610f76565b60405180910390fd5b6101dd83838361041e565b505050565b600190565b60008061022984848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506106e192505050565b5050509050610238868261029d565b9695505050505050565b7f000000000000000000000000000000000000000000000000000000000000000090565b60408051808201909152601a81527f414c4c4f5745445f4445504f5349545f524543495049454e5453000000000000602082015290565b60006102a7610242565b6001600160a01b03166375674f466102be856103b3565b846040518363ffffffff1660e01b81526004016102dc929190610f30565b60206040518083038186803b1580156102f457600080fd5b505afa158015610308573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061032c9190610c2e565b90505b92915050565b6040805160018082528183019092526060916020808301908036833701905050905060008160008151811061036657fe5b6020026020010190600981111561037957fe5b9081600981111561038657fe5b90525090565b50565b7f000000000000000000000000000000000000000000000000000000000000000090565b6001600160a01b0381166000908152602081815260409182902080548351818402810184019094528084526060939283018282801561041157602002820191906000526020600020905b8154815260200190600101908083116103fd575b505050505090505b919050565b60608061042d83850185610bcf565b915091506060815183510167ffffffffffffffff8111801561044e57600080fd5b50604051908082528060200260200182016040528015610478578160200160208202803683370190505b50905080516000141561049d5760405162461bcd60e51b81526004016101c990610f86565b6001600160a01b038616600090815260208190526040902054156104dc576001600160a01b03861660009081526020819052604081206104dc916107cf565b60005b835181101561056f578381815181106104f457fe5b602002602001015182828151811061050857fe5b602002602001018181525050600080886001600160a01b03166001600160a01b0316815260200190815260200160002084828151811061054457fe5b60209081029190910181015182546001818101855560009485529290932090920191909155016104df565b50815115610698576000866001600160a01b031663c98091876040518163ffffffff1660e01b815260040160206040518083038186803b1580156105b257600080fd5b505afa1580156105c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105ea9190610a58565b905060005b835181101561069557600081865101905061061d8386848151811061061057fe5b602002602001015161070a565b84828151811061062957fe5b6020026020010181815250506000808a6001600160a01b03166001600160a01b0316815260200190815260200160002084828151811061066557fe5b602090810291909101810151825460018181018555600094855292909320909201919091559190910190506105ef565b50505b856001600160a01b03167fd63f5b55f54cdda3234eab3aa26d85b99854a43efea66e0c459220fd7b3a332f826040516106d19190610f1f565b60405180910390a2505050505050565b600080600080848060200190518101906106fb9190610a76565b93509350935093509193509193565b6000806060610718846107ae565b91509150610724610242565b6001600160a01b031663be68406e8684846040518463ffffffff1660e01b815260040161075393929190610ee1565b602060405180830381600087803b15801561076d57600080fd5b505af1158015610781573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107a59190610c94565b95945050505050565b60006060828060200190518101906107c69190610c4c565b91509150915091565b508054600082559060005260206000209081019061038c91905b808211156107fd57600081556001016107e9565b5090565b803561032f816110bc565b805161032f816110bc565b600082601f83011261082857600080fd5b815161083b61083682610fbd565b610f96565b9150818183526020840193506020810190508385602084028201111561086057600080fd5b60005b8381101561088c5781610876888261080c565b8452506020928301929190910190600101610863565b5050505092915050565b600082601f8301126108a757600080fd5b81356108b561083682610fbd565b81815260209384019390925082018360005b8381101561088c57813586016108dd88826109b7565b84525060209283019291909101906001016108c7565b600082601f83011261090457600080fd5b813561091261083682610fbd565b9150818183526020840193506020810190508385602084028201111561093757600080fd5b60005b8381101561088c578161094d8882610a1c565b845250602092830192919091019060010161093a565b805161032f816110d0565b60008083601f84011261098057600080fd5b50813567ffffffffffffffff81111561099857600080fd5b6020830191508360018202830111156109b057600080fd5b9250929050565b600082601f8301126109c857600080fd5b81356109d661083682610fde565b915080825260208301602083018583830111156109f257600080fd5b6109fd838284611062565b50505092915050565b803561032f816110d9565b805161032f816110e6565b803561032f816110f3565b805161032f816110f3565b600060208284031215610a4457600080fd5b6000610a508484610801565b949350505050565b600060208284031215610a6a57600080fd5b6000610a50848461080c565b60008060008060808587031215610a8c57600080fd5b6000610a98878761080c565b9450506020610aa987828801610a27565b9350506040610aba87828801610a27565b9250506060610acb87828801610a27565b91505092959194509250565b60008060408385031215610aea57600080fd5b6000610af68585610801565b9250506020610b0785828601610801565b9150509250929050565b600080600060408486031215610b2657600080fd5b6000610b328686610801565b935050602084013567ffffffffffffffff811115610b4f57600080fd5b610b5b8682870161096e565b92509250509250925092565b60008060008060608587031215610b7d57600080fd5b6000610b898787610801565b9450506020610b9a87828801610a06565b935050604085013567ffffffffffffffff811115610bb757600080fd5b610bc38782880161096e565b95989497509550505050565b60008060408385031215610be257600080fd5b823567ffffffffffffffff811115610bf957600080fd5b610c05858286016108f3565b925050602083013567ffffffffffffffff811115610c2257600080fd5b610b0785828601610896565b600060208284031215610c4057600080fd5b6000610a508484610963565b60008060408385031215610c5f57600080fd5b6000610c6b8585610a11565b925050602083015167ffffffffffffffff811115610c8857600080fd5b610b0785828601610817565b600060208284031215610ca657600080fd5b6000610a508484610a27565b6000610cbe8383610cde565b505060200190565b6000610cbe8383610deb565b6000610cbe8383610eca565b610ce781611019565b82525050565b6000610cf88261100c565b610d028185611010565b9350610d0d83611006565b8060005b83811015610d3b578151610d258882610cb2565b9750610d3083611006565b925050600101610d11565b509495945050505050565b6000610d518261100c565b610d5b8185611010565b9350610d6683611006565b8060005b83811015610d3b578151610d7e8882610cc6565b9750610d8983611006565b925050600101610d6a565b6000610d9f8261100c565b610da98185611010565b9350610db483611006565b8060005b83811015610d3b578151610dcc8882610cd2565b9750610dd783611006565b925050600101610db8565b610ce781611024565b610ce78161104c565b610ce781611057565b6000610e088261100c565b610e128185611010565b9350610e2281856020860161106e565b610e2b8161109e565b9093019392505050565b6000610e42602983611010565b7f4f6e6c792074686520506f6c6963794d616e616765722063616e206d616b65208152681d1a1a5cc818d85b1b60ba1b602082015260400192915050565b6000610e8d602883611010565b7f5f5f7570646174654c69737473466f7246756e643a204e6f206c6973747320738152671c1958da599a595960c21b602082015260400192915050565b610ce781611049565b6020810161032f8284610cde565b60608101610eef8286610cde565b610efc6020830185610df4565b81810360408301526107a58184610ced565b6020808252810161032c8184610d46565b6020808252810161032c8184610d94565b60408082528101610f418185610d94565b9050610f506020830184610cde565b9392505050565b6020810161032f8284610de2565b6020808252810161032c8184610dfd565b6020808252810161032f81610e35565b6020808252810161032f81610e80565b60405181810167ffffffffffffffff81118282101715610fb557600080fd5b604052919050565b600067ffffffffffffffff821115610fd457600080fd5b5060209081020190565b600067ffffffffffffffff821115610ff557600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b600061032f8261103d565b151590565b80610419816110a8565b80610419816110b2565b6001600160a01b031690565b90565b600061032f82611029565b600061032f82611033565b82818337506000910152565b60005b83811015611089578181015183820152602001611071565b83811115611098576000848401525b50505050565b601f01601f191690565b600a811061038c57fe5b6004811061038c57fe5b6110c581611019565b811461038c57600080fd5b6110c581611024565b600a811061038c57600080fd5b6004811061038c57600080fd5b6110c58161104956fea164736f6c634300060c000a", "sourceMap": "554:3046:217:-:0;;;633:163;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;737:31:223;;;;;;;;1052:44:221;;;::::1;::::0;554:3046:217;;5:134:-1;83:13;;101:33;83:13;101:33;:::i;:::-;68:71;;;;:::o;146:399::-;;;278:2;266:9;257:7;253:23;249:32;246:2;;;294:1;291;284:12;246:2;329:1;346:64;402:7;382:9;346:64;:::i;:::-;336:74;;308:108;447:2;465:64;521:7;512:6;501:9;497:22;465:64;:::i;:::-;455:74;;426:109;240:305;;;;;:::o;552:91::-;;-1:-1;;;;;712:54;;614:24;695:76::o;778:117::-;847:24;865:5;847:24;:::i;:::-;840:5;837:35;827:2;;886:1;883;876:12;827:2;821:74;:::o;:::-;554:3046:217;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106100a95760003560e01c80637998a1c4116100715780637998a1c414610109578063b67cb40c1461011e578063cbf54bb214610131578063ceb9a0ad14610146578063d44ad6cb14610159578063dffd7c6f14610161576100a9565b80630d4d7510146100ae5780630f5f6b4f146100ae5780631ef92578146100c3578063579be718146100e157806374708934146100f4575b600080fd5b6100c16100bc366004610b11565b610181565b005b6100cb6101e2565b6040516100d89190610f57565b60405180910390f35b6100cb6100ef366004610b67565b6101e7565b6100fc610242565b6040516100d89190610ed3565b610111610266565b6040516100d89190610f65565b6100cb61012c366004610ad7565b61029d565b610139610335565b6040516100d89190610f0e565b6100c1610154366004610a32565b61038c565b6100fc61038f565b61017461016f366004610a32565b6103b3565b6040516100d89190610f1f565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146101d25760405162461bcd60e51b81526004016101c990610f76565b60405180910390fd5b6101dd83838361041e565b505050565b600190565b60008061022984848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506106e192505050565b5050509050610238868261029d565b9695505050505050565b7f000000000000000000000000000000000000000000000000000000000000000090565b60408051808201909152601a81527f414c4c4f5745445f4445504f5349545f524543495049454e5453000000000000602082015290565b60006102a7610242565b6001600160a01b03166375674f466102be856103b3565b846040518363ffffffff1660e01b81526004016102dc929190610f30565b60206040518083038186803b1580156102f457600080fd5b505afa158015610308573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061032c9190610c2e565b90505b92915050565b6040805160018082528183019092526060916020808301908036833701905050905060008160008151811061036657fe5b6020026020010190600981111561037957fe5b9081600981111561038657fe5b90525090565b50565b7f000000000000000000000000000000000000000000000000000000000000000090565b6001600160a01b0381166000908152602081815260409182902080548351818402810184019094528084526060939283018282801561041157602002820191906000526020600020905b8154815260200190600101908083116103fd575b505050505090505b919050565b60608061042d83850185610bcf565b915091506060815183510167ffffffffffffffff8111801561044e57600080fd5b50604051908082528060200260200182016040528015610478578160200160208202803683370190505b50905080516000141561049d5760405162461bcd60e51b81526004016101c990610f86565b6001600160a01b038616600090815260208190526040902054156104dc576001600160a01b03861660009081526020819052604081206104dc916107cf565b60005b835181101561056f578381815181106104f457fe5b602002602001015182828151811061050857fe5b602002602001018181525050600080886001600160a01b03166001600160a01b0316815260200190815260200160002084828151811061054457fe5b60209081029190910181015182546001818101855560009485529290932090920191909155016104df565b50815115610698576000866001600160a01b031663c98091876040518163ffffffff1660e01b815260040160206040518083038186803b1580156105b257600080fd5b505afa1580156105c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105ea9190610a58565b905060005b835181101561069557600081865101905061061d8386848151811061061057fe5b602002602001015161070a565b84828151811061062957fe5b6020026020010181815250506000808a6001600160a01b03166001600160a01b0316815260200190815260200160002084828151811061066557fe5b602090810291909101810151825460018181018555600094855292909320909201919091559190910190506105ef565b50505b856001600160a01b03167fd63f5b55f54cdda3234eab3aa26d85b99854a43efea66e0c459220fd7b3a332f826040516106d19190610f1f565b60405180910390a2505050505050565b600080600080848060200190518101906106fb9190610a76565b93509350935093509193509193565b6000806060610718846107ae565b91509150610724610242565b6001600160a01b031663be68406e8684846040518463ffffffff1660e01b815260040161075393929190610ee1565b602060405180830381600087803b15801561076d57600080fd5b505af1158015610781573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107a59190610c94565b95945050505050565b60006060828060200190518101906107c69190610c4c565b91509150915091565b508054600082559060005260206000209081019061038c91905b808211156107fd57600081556001016107e9565b5090565b803561032f816110bc565b805161032f816110bc565b600082601f83011261082857600080fd5b815161083b61083682610fbd565b610f96565b9150818183526020840193506020810190508385602084028201111561086057600080fd5b60005b8381101561088c5781610876888261080c565b8452506020928301929190910190600101610863565b5050505092915050565b600082601f8301126108a757600080fd5b81356108b561083682610fbd565b81815260209384019390925082018360005b8381101561088c57813586016108dd88826109b7565b84525060209283019291909101906001016108c7565b600082601f83011261090457600080fd5b813561091261083682610fbd565b9150818183526020840193506020810190508385602084028201111561093757600080fd5b60005b8381101561088c578161094d8882610a1c565b845250602092830192919091019060010161093a565b805161032f816110d0565b60008083601f84011261098057600080fd5b50813567ffffffffffffffff81111561099857600080fd5b6020830191508360018202830111156109b057600080fd5b9250929050565b600082601f8301126109c857600080fd5b81356109d661083682610fde565b915080825260208301602083018583830111156109f257600080fd5b6109fd838284611062565b50505092915050565b803561032f816110d9565b805161032f816110e6565b803561032f816110f3565b805161032f816110f3565b600060208284031215610a4457600080fd5b6000610a508484610801565b949350505050565b600060208284031215610a6a57600080fd5b6000610a50848461080c565b60008060008060808587031215610a8c57600080fd5b6000610a98878761080c565b9450506020610aa987828801610a27565b9350506040610aba87828801610a27565b9250506060610acb87828801610a27565b91505092959194509250565b60008060408385031215610aea57600080fd5b6000610af68585610801565b9250506020610b0785828601610801565b9150509250929050565b600080600060408486031215610b2657600080fd5b6000610b328686610801565b935050602084013567ffffffffffffffff811115610b4f57600080fd5b610b5b8682870161096e565b92509250509250925092565b60008060008060608587031215610b7d57600080fd5b6000610b898787610801565b9450506020610b9a87828801610a06565b935050604085013567ffffffffffffffff811115610bb757600080fd5b610bc38782880161096e565b95989497509550505050565b60008060408385031215610be257600080fd5b823567ffffffffffffffff811115610bf957600080fd5b610c05858286016108f3565b925050602083013567ffffffffffffffff811115610c2257600080fd5b610b0785828601610896565b600060208284031215610c4057600080fd5b6000610a508484610963565b60008060408385031215610c5f57600080fd5b6000610c6b8585610a11565b925050602083015167ffffffffffffffff811115610c8857600080fd5b610b0785828601610817565b600060208284031215610ca657600080fd5b6000610a508484610a27565b6000610cbe8383610cde565b505060200190565b6000610cbe8383610deb565b6000610cbe8383610eca565b610ce781611019565b82525050565b6000610cf88261100c565b610d028185611010565b9350610d0d83611006565b8060005b83811015610d3b578151610d258882610cb2565b9750610d3083611006565b925050600101610d11565b509495945050505050565b6000610d518261100c565b610d5b8185611010565b9350610d6683611006565b8060005b83811015610d3b578151610d7e8882610cc6565b9750610d8983611006565b925050600101610d6a565b6000610d9f8261100c565b610da98185611010565b9350610db483611006565b8060005b83811015610d3b578151610dcc8882610cd2565b9750610dd783611006565b925050600101610db8565b610ce781611024565b610ce78161104c565b610ce781611057565b6000610e088261100c565b610e128185611010565b9350610e2281856020860161106e565b610e2b8161109e565b9093019392505050565b6000610e42602983611010565b7f4f6e6c792074686520506f6c6963794d616e616765722063616e206d616b65208152681d1a1a5cc818d85b1b60ba1b602082015260400192915050565b6000610e8d602883611010565b7f5f5f7570646174654c69737473466f7246756e643a204e6f206c6973747320738152671c1958da599a595960c21b602082015260400192915050565b610ce781611049565b6020810161032f8284610cde565b60608101610eef8286610cde565b610efc6020830185610df4565b81810360408301526107a58184610ced565b6020808252810161032c8184610d46565b6020808252810161032c8184610d94565b60408082528101610f418185610d94565b9050610f506020830184610cde565b9392505050565b6020810161032f8284610de2565b6020808252810161032c8184610dfd565b6020808252810161032f81610e35565b6020808252810161032f81610e80565b60405181810167ffffffffffffffff81118282101715610fb557600080fd5b604052919050565b600067ffffffffffffffff821115610fd457600080fd5b5060209081020190565b600067ffffffffffffffff821115610ff557600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b600061032f8261103d565b151590565b80610419816110a8565b80610419816110b2565b6001600160a01b031690565b90565b600061032f82611029565b600061032f82611033565b82818337506000910152565b60005b83811015611089578181015183820152602001611071565b83811115611098576000848401525b50505050565b601f01601f191690565b600a811061038c57fe5b6004811061038c57fe5b6110c581611019565b811461038c57600080fd5b6110c581611024565b600a811061038c57600080fd5b6004811061038c57600080fd5b6110c58161104956fea164736f6c634300060c000a", "sourceMap": "554:3046:217:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2040:226;;;;;;:::i;:::-;;:::i;:::-;;950:108;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2645:321;;;;;;:::i;:::-;;:::i;4613:130:221:-;;;:::i;:::-;;;;;;;:::i;1180:133:217:-;;;:::i;:::-;;;;;;;:::i;3274:324::-;;;;;;:::i;:::-;;:::i;1443:328::-;;;:::i;:::-;;;;;;;:::i;941:83:223:-;;;;;;:::i;:::-;;:::i;6755:113::-;;;:::i;4908:198:221:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;2040:226:217:-;586:10:223;-1:-1:-1;;;;;600:14:223;586:28;;578:82;;;;-1:-1:-1;;;578:82:223;;;;;;;:::i;:::-;;;;;;;;;2202:57:217::1;2223:17;2242:16;;2202:20;:57::i;:::-;2040:226:::0;;;:::o;950:108::-;1047:4;950:108;:::o;2645:321::-;2807:13;2833;2856:49;2892:12;;2856:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2856:35:217;;-1:-1:-1;;;2856:49:217:i;:::-;2832:73;;;;;2923:36;2934:17;2953:5;2923:10;:36::i;:::-;2916:43;2645:321;-1:-1:-1;;;;;;2645:321:217:o;4613:130:221:-;4715:21;4613:130;:::o;1180:133:217:-;1271:35;;;;;;;;;;;;;;;;;1180:133;:::o;3274:324::-;3386:13;3454:24;:22;:24::i;:::-;-1:-1:-1;;;;;3434:61:217;;3513:36;3531:17;3513;:36::i;:::-;3567:10;3434:157;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3415:176;;3274:324;;;;;:::o;1443:328::-;1623:34;;;1655:1;1623:34;;;;;;;;;1535:52;;1623:34;;;;;;;;;;;-1:-1:-1;1623:34:217;1603:54;;1690:39;1667:17;1685:1;1667:20;;;;;;;;;;;;;:62;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1443:328:217;:::o;941:83:223:-;;:::o;6755:113::-;6847:14;6755:113;:::o;4908:198:221:-;-1:-1:-1;;;;;5055:44:221;;:25;:44;;;;;;;;;;;;5048:51;;;;;;;;;;;;;;;;;5007:25;;5048:51;;;5055:44;5048:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4908:198;;;;:::o;2752:1638::-;2874:32;;2939:84;;;;2963:16;2939:84;:::i;:::-;2873:150;;;;3034:28;3104:12;:19;3079:15;:22;:44;3065:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3065:59:221;;3034:90;;3142:11;:18;3164:1;3142:23;;3134:76;;;;-1:-1:-1;;;3134:76:221;;;;;;;:::i;:::-;-1:-1:-1;;;;;3283:44:221;;3337:1;3283:44;;;;;;;;;;:51;:55;3279:137;;-1:-1:-1;;;;;3361:44:221;;:25;:44;;;;;;;;;;3354:51;;;:::i;:::-;3553:9;3548:192;3568:15;:22;3564:1;:26;3548:192;;;3628:15;3644:1;3628:18;;;;;;;;;;;;;;3611:11;3623:1;3611:14;;;;;;;;;;;;;:35;;;;;3660:25;:44;3686:17;-1:-1:-1;;;;;3660:44:221;-1:-1:-1;;;;;3660:44:221;;;;;;;;;;;;3710:15;3726:1;3710:18;;;;;;;;;;;;;;;;;;;3660:69;;;;;;;;-1:-1:-1;3660:69:221;;;;;;;;;;;;;;3592:3;3548:192;;;-1:-1:-1;3794:19:221;;:23;3790:531;;3833:18;3869:17;-1:-1:-1;;;;;3854:47:221;;:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3833:70;;3922:9;3917:394;3937:12;:19;3933:1;:23;3917:394;;;3981:24;4033:1;4008:15;:22;:26;3981:53;;4084:114;4133:10;4165:12;4178:1;4165:15;;;;;;;;;;;;;;4084:27;:114::i;:::-;4052:11;4064:16;4052:29;;;;;;;;;;;;;:146;;;;;4216:25;:44;4242:17;-1:-1:-1;;;;;4216:44:221;-1:-1:-1;;;;;4216:44:221;;;;;;;;;;;;4266:11;4278:16;4266:29;;;;;;;;;;;;;;;;;;;4216:80;;;;;;;;-1:-1:-1;4216:80:221;;;;;;;;;;;;;;3958:3;;;;;-1:-1:-1;3917:394:221;;;;3790:531;;4352:17;-1:-1:-1;;;;;4336:47:221;;4371:11;4336:47;;;;;;:::i;:::-;;;;;;;;2752:1638;;;;;;:::o;3033:353:223:-;3168:14;3196:25;3235:21;3270:12;3325:15;3314:65;;;;;;;;;;;;:::i;:::-;3307:72;;;;;;;;3033:353;;;;;:::o;1662:488:221:-;1781:15;1826:41;1881:29;1923:33;1943:12;1923:19;:33::i;:::-;1812:144;;;;2006:24;:22;:24::i;:::-;-1:-1:-1;;;;;1986:56:221;;2060:11;2089:10;2117:12;1986:157;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1967:176;1662:488;-1:-1:-1;;;;;1662:488:221:o;2200:276::-;2303:42;2347:30;2411:12;2400:69;;;;;;;;;;;;:::i;:::-;2393:76;;;;2200:276;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5:130::-;72:20;;97:33;72:20;97:33;:::i;142:134::-;220:13;;238:33;220:13;238:33;:::i;458:722::-;;586:3;579:4;571:6;567:17;563:27;553:2;;604:1;601;594:12;553:2;634:6;628:13;656:80;671:64;728:6;671:64;:::i;:::-;656:80;:::i;:::-;647:89;;753:5;778:6;771:5;764:21;808:4;800:6;796:17;786:27;;830:4;825:3;821:14;814:21;;883:6;930:3;922:4;914:6;910:17;905:3;901:27;898:36;895:2;;;947:1;944;937:12;895:2;972:1;957:217;982:6;979:1;976:13;957:217;;;1040:3;1062:48;1106:3;1094:10;1062:48;:::i;:::-;1050:61;;-1:-1;1134:4;1125:14;;;;1153;;;;;1004:1;997:9;957:217;;;961:14;546:634;;;;;;;:::o;1204:705::-;;1330:3;1323:4;1315:6;1311:17;1307:27;1297:2;;1348:1;1345;1338:12;1297:2;1385:6;1372:20;1407:89;1422:73;1488:6;1422:73;:::i;1407:89::-;1524:21;;;1568:4;1556:17;;;;1398:98;;-1:-1;1581:14;;1556:17;1676:1;1661:242;1686:6;1683:1;1680:13;1661:242;;;1769:3;1756:17;1748:6;1744:30;1793:46;1835:3;1823:10;1793:46;:::i;:::-;1781:59;;-1:-1;1863:4;1854:14;;;;1882;;;;;1708:1;1701:9;1661:242;;1935:707;;2052:3;2045:4;2037:6;2033:17;2029:27;2019:2;;2070:1;2067;2060:12;2019:2;2107:6;2094:20;2129:80;2144:64;2201:6;2144:64;:::i;2129:80::-;2120:89;;2226:5;2251:6;2244:5;2237:21;2281:4;2273:6;2269:17;2259:27;;2303:4;2298:3;2294:14;2287:21;;2356:6;2403:3;2395:4;2387:6;2383:17;2378:3;2374:27;2371:36;2368:2;;;2420:1;2417;2410:12;2368:2;2445:1;2430:206;2455:6;2452:1;2449:13;2430:206;;;2513:3;2535:37;2568:3;2556:10;2535:37;:::i;:::-;2523:50;;-1:-1;2596:4;2587:14;;;;2615;;;;;2477:1;2470:9;2430:206;;2650:128;2725:13;;2743:30;2725:13;2743:30;:::i;2799:336::-;;;2913:3;2906:4;2898:6;2894:17;2890:27;2880:2;;2931:1;2928;2921:12;2880:2;-1:-1;2951:20;;2991:18;2980:30;;2977:2;;;3023:1;3020;3013:12;2977:2;3057:4;3049:6;3045:17;3033:29;;3108:3;3100:4;3092:6;3088:17;3078:8;3074:32;3071:41;3068:2;;;3125:1;3122;3115:12;3068:2;2873:262;;;;;:::o;3144:440::-;;3245:3;3238:4;3230:6;3226:17;3222:27;3212:2;;3263:1;3260;3253:12;3212:2;3300:6;3287:20;3322:64;3337:48;3378:6;3337:48;:::i;3322:64::-;3313:73;;3406:6;3399:5;3392:21;3442:4;3434:6;3430:17;3475:4;3468:5;3464:16;3510:3;3501:6;3496:3;3492:16;3489:25;3486:2;;;3527:1;3524;3517:12;3486:2;3537:41;3571:6;3566:3;3561;3537:41;:::i;:::-;3205:379;;;;;;;:::o;3592:162::-;3675:20;;3700:49;3675:20;3700:49;:::i;3761:164::-;3854:13;;3872:48;3854:13;3872:48;:::i;3932:130::-;3999:20;;4024:33;3999:20;4024:33;:::i;4069:134::-;4147:13;;4165:33;4147:13;4165:33;:::i;4210:241::-;;4314:2;4302:9;4293:7;4289:23;4285:32;4282:2;;;4330:1;4327;4320:12;4282:2;4365:1;4382:53;4427:7;4407:9;4382:53;:::i;:::-;4372:63;4276:175;-1:-1;;;;4276:175::o;4458:263::-;;4573:2;4561:9;4552:7;4548:23;4544:32;4541:2;;;4589:1;4586;4579:12;4541:2;4624:1;4641:64;4697:7;4677:9;4641:64;:::i;4728:688::-;;;;;4902:3;4890:9;4881:7;4877:23;4873:33;4870:2;;;4919:1;4916;4909:12;4870:2;4954:1;4971:72;5035:7;5015:9;4971:72;:::i;:::-;4961:82;;4933:116;5080:2;5098:64;5154:7;5145:6;5134:9;5130:22;5098:64;:::i;:::-;5088:74;;5059:109;5199:2;5217:64;5273:7;5264:6;5253:9;5249:22;5217:64;:::i;:::-;5207:74;;5178:109;5318:2;5336:64;5392:7;5383:6;5372:9;5368:22;5336:64;:::i;:::-;5326:74;;5297:109;4864:552;;;;;;;:::o;5423:366::-;;;5544:2;5532:9;5523:7;5519:23;5515:32;5512:2;;;5560:1;5557;5550:12;5512:2;5595:1;5612:53;5657:7;5637:9;5612:53;:::i;:::-;5602:63;;5574:97;5702:2;5720:53;5765:7;5756:6;5745:9;5741:22;5720:53;:::i;:::-;5710:63;;5681:98;5506:283;;;;;:::o;5796:490::-;;;;5936:2;5924:9;5915:7;5911:23;5907:32;5904:2;;;5952:1;5949;5942:12;5904:2;5987:1;6004:53;6049:7;6029:9;6004:53;:::i;:::-;5994:63;;5966:97;6122:2;6111:9;6107:18;6094:32;6146:18;6138:6;6135:30;6132:2;;;6178:1;6175;6168:12;6132:2;6206:64;6262:7;6253:6;6242:9;6238:22;6206:64;:::i;:::-;6188:82;;;;6073:203;5898:388;;;;;:::o;6293:647::-;;;;;6466:2;6454:9;6445:7;6441:23;6437:32;6434:2;;;6482:1;6479;6472:12;6434:2;6517:1;6534:53;6579:7;6559:9;6534:53;:::i;:::-;6524:63;;6496:97;6624:2;6642:69;6703:7;6694:6;6683:9;6679:22;6642:69;:::i;:::-;6632:79;;6603:114;6776:2;6765:9;6761:18;6748:32;6800:18;6792:6;6789:30;6786:2;;;6832:1;6829;6822:12;6786:2;6860:64;6916:7;6907:6;6896:9;6892:22;6860:64;:::i;:::-;6428:512;;;;-1:-1;6842:82;-1:-1;;;;6428:512::o;6947:656::-;;;7127:2;7115:9;7106:7;7102:23;7098:32;7095:2;;;7143:1;7140;7133:12;7095:2;7178:31;;7229:18;7218:30;;7215:2;;;7261:1;7258;7251:12;7215:2;7281:78;7351:7;7342:6;7331:9;7327:22;7281:78;:::i;:::-;7271:88;;7157:208;7424:2;7413:9;7409:18;7396:32;7448:18;7440:6;7437:30;7434:2;;;7480:1;7477;7470:12;7434:2;7500:87;7579:7;7570:6;7559:9;7555:22;7500:87;:::i;7610:257::-;;7722:2;7710:9;7701:7;7697:23;7693:32;7690:2;;;7738:1;7735;7728:12;7690:2;7773:1;7790:61;7843:7;7823:9;7790:61;:::i;7874:558::-;;;8046:2;8034:9;8025:7;8021:23;8017:32;8014:2;;;8062:1;8059;8052:12;8014:2;8097:1;8114:79;8185:7;8165:9;8114:79;:::i;:::-;8104:89;;8076:123;8251:2;8240:9;8236:18;8230:25;8275:18;8267:6;8264:30;8261:2;;;8307:1;8304;8297:12;8261:2;8327:89;8408:7;8399:6;8388:9;8384:22;8327:89;:::i;8439:263::-;;8554:2;8542:9;8533:7;8529:23;8525:32;8522:2;;;8570:1;8567;8560:12;8522:2;8605:1;8622:64;8678:7;8658:9;8622:64;:::i;8710:173::-;;8797:46;8839:3;8831:6;8797:46;:::i;:::-;-1:-1;;8872:4;8863:14;;8790:93::o;8892:201::-;;8993:60;9049:3;9041:6;8993:60;:::i;9102:173::-;;9189:46;9231:3;9223:6;9189:46;:::i;9283:103::-;9356:24;9374:5;9356:24;:::i;:::-;9351:3;9344:37;9338:48;;:::o;9544:690::-;;9689:54;9737:5;9689:54;:::i;:::-;9756:86;9835:6;9830:3;9756:86;:::i;:::-;9749:93;;9863:56;9913:5;9863:56;:::i;:::-;9939:7;9967:1;9952:260;9977:6;9974:1;9971:13;9952:260;;;10044:6;10038:13;10065:63;10124:3;10109:13;10065:63;:::i;:::-;10058:70;;10145:60;10198:6;10145:60;:::i;:::-;10135:70;-1:-1;;9999:1;9992:9;9952:260;;;-1:-1;10225:3;;9668:566;-1:-1;;;;;9668:566::o;10294:764::-;;10453:70;10517:5;10453:70;:::i;:::-;10536:84;10613:6;10608:3;10536:84;:::i;:::-;10529:91;;10641:72;10707:5;10641:72;:::i;:::-;10733:7;10761:1;10746:290;10771:6;10768:1;10765:13;10746:290;;;10838:6;10832:13;10859:77;10932:3;10917:13;10859:77;:::i;:::-;10852:84;;10953:76;11022:6;10953:76;:::i;:::-;10943:86;-1:-1;;10793:1;10786:9;10746:290;;11097:690;;11242:54;11290:5;11242:54;:::i;:::-;11309:86;11388:6;11383:3;11309:86;:::i;:::-;11302:93;;11416:56;11466:5;11416:56;:::i;:::-;11492:7;11520:1;11505:260;11530:6;11527:1;11524:13;11505:260;;;11597:6;11591:13;11618:63;11677:3;11662:13;11618:63;:::i;:::-;11611:70;;11698:60;11751:6;11698:60;:::i;:::-;11688:70;-1:-1;;11552:1;11545:9;11505:260;;11795:104;11872:21;11887:5;11872:21;:::i;11906:144::-;11993:51;12038:5;11993:51;:::i;12057:152::-;12153:50;12197:5;12153:50;:::i;12216:347::-;;12328:39;12361:5;12328:39;:::i;:::-;12379:71;12443:6;12438:3;12379:71;:::i;:::-;12372:78;;12455:52;12500:6;12495:3;12488:4;12481:5;12477:16;12455:52;:::i;:::-;12528:29;12550:6;12528:29;:::i;:::-;12519:39;;;;12308:255;-1:-1;;;12308:255::o;12571:378::-;;12731:67;12795:2;12790:3;12731:67;:::i;:::-;12831:34;12811:55;;-1:-1;;;12895:2;12886:12;;12879:33;12940:2;12931:12;;12717:232;-1:-1;;12717:232::o;12958:377::-;;13118:67;13182:2;13177:3;13118:67;:::i;:::-;13218:34;13198:55;;-1:-1;;;13282:2;13273:12;;13266:32;13326:2;13317:12;;13104:231;-1:-1;;13104:231::o;13343:103::-;13416:24;13434:5;13416:24;:::i;13453:222::-;13580:2;13565:18;;13594:71;13569:9;13638:6;13594:71;:::i;13682:618::-;13928:2;13913:18;;13942:71;13917:9;13986:6;13942:71;:::i;:::-;14024:85;14105:2;14094:9;14090:18;14081:6;14024:85;:::i;:::-;14157:9;14151:4;14147:20;14142:2;14131:9;14127:18;14120:48;14182:108;14285:4;14276:6;14182:108;:::i;14307:398::-;14498:2;14512:47;;;14483:18;;14573:122;14483:18;14681:6;14573:122;:::i;14712:370::-;14889:2;14903:47;;;14874:18;;14964:108;14874:18;15058:6;14964:108;:::i;15089:481::-;15294:2;15308:47;;;15279:18;;15369:108;15279:18;15463:6;15369:108;:::i;:::-;15361:116;;15488:72;15556:2;15545:9;15541:18;15532:6;15488:72;:::i;:::-;15265:305;;;;;:::o;15577:210::-;15698:2;15683:18;;15712:65;15687:9;15750:6;15712:65;:::i;15794:310::-;15941:2;15955:47;;;15926:18;;16016:78;15926:18;16080:6;16016:78;:::i;16111:416::-;16311:2;16325:47;;;16296:18;;16386:131;16296:18;16386:131;:::i;16534:416::-;16734:2;16748:47;;;16719:18;;16809:131;16719:18;16809:131;:::i;16957:256::-;17019:2;17013:9;17045:17;;;17120:18;17105:34;;17141:22;;;17102:62;17099:2;;;17177:1;17174;17167:12;17099:2;17193;17186:22;16997:216;;-1:-1;16997:216::o;17220:304::-;;17379:18;17371:6;17368:30;17365:2;;;17411:1;17408;17401:12;17365:2;-1:-1;17446:4;17434:17;;;17499:15;;17302:222::o;18162:321::-;;18305:18;18297:6;18294:30;18291:2;;;18337:1;18334;18327:12;18291:2;-1:-1;18468:4;18404;18381:17;;;;-1:-1;;18377:33;18458:15;;18228:255::o;18490:151::-;18614:4;18605:14;;18562:79::o;18980:137::-;19083:12;;19054:63::o;19919:178::-;20037:19;;;20086:4;20077:14;;20030:67::o;20649:91::-;;20711:24;20729:5;20711:24;:::i;20853:85::-;20919:13;20912:21;;20895:43::o;20945:138::-;21023:5;21029:49;21023:5;21029:49;:::i;21090:136::-;21167:5;21173:48;21167:5;21173:48;:::i;21233:121::-;-1:-1;;;;;21295:54;;21278:76::o;21361:72::-;21423:5;21406:27::o;21440:138::-;;21533:40;21567:5;21533:40;:::i;21585:136::-;;21677:39;21710:5;21677:39;:::i;21729:145::-;21810:6;21805:3;21800;21787:30;-1:-1;21866:1;21848:16;;21841:27;21780:94::o;21883:268::-;21948:1;21955:101;21969:6;21966:1;21963:13;21955:101;;;22036:11;;;22030:18;22017:11;;;22010:39;21991:2;21984:10;21955:101;;;22071:6;22068:1;22065:13;22062:2;;;22136:1;22127:6;22122:3;22118:16;22111:27;22062:2;21932:219;;;;:::o;22159:97::-;22247:2;22227:14;-1:-1;;22223:28;;22207:49::o;22264:108::-;22349:2;22342:5;22339:13;22329:2;;22356:9;22379:106;22463:1;22456:5;22453:12;22443:2;;22469:9;22492:117;22561:24;22579:5;22561:24;:::i;:::-;22554:5;22551:35;22541:2;;22600:1;22597;22590:12;22756:111;22822:21;22837:5;22822:21;:::i;22874:111::-;22959:2;22952:5;22949:13;22939:2;;22976:1;22973;22966:12;22992:109;23076:1;23069:5;23066:12;23056:2;;23092:1;23089;23082:12;23108:117;23177:24;23195:5;23177:24;:::i", "linkReferences": {}, "immutableReferences": { "59555": [ { "start": 580, "length": 32 } ], "59893": [ { "start": 396, "length": 32 }, { "start": 913, "length": 32 } ] } }, "methodIdentifiers": { "activateForFund(address)": "ceb9a0ad", "addFundSettings(address,bytes)": "0f5f6b4f", "canDisable()": "1ef92578", "getAddressListRegistry()": "74708934", "getListIdsForFund(address)": "dffd7c6f", "getPolicyManager()": "d44ad6cb", "identifier()": "7998a1c4", "implementedHooks()": "cbf54bb2", "passesRule(address,address)": "b67cb40c", "updateFundSettings(address,bytes)": "0d4d7510", "validateRule(address,uint8,bytes)": "579be718" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_policyManager\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_addressListRegistry\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"listIds\",\"type\":\"uint256[]\"}],\"name\":\"ListsSetForFund\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"activateForFund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_encodedSettings\",\"type\":\"bytes\"}],\"name\":\"addFundSettings\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"canDisable\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"canDisable_\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAddressListRegistry\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"addressListRegistry_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"}],\"name\":\"getListIdsForFund\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"listIds_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPolicyManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"policyManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"identifier\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"identifier_\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"implementedHooks\",\"outputs\":[{\"internalType\":\"enum IPolicyManager.PolicyHook[]\",\"name\":\"implementedHooks_\",\"type\":\"uint8[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_recipient\",\"type\":\"address\"}],\"name\":\"passesRule\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isValid_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_encodedSettings\",\"type\":\"bytes\"}],\"name\":\"updateFundSettings\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"enum IPolicyManager.PolicyHook\",\"name\":\"\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"_encodedArgs\",\"type\":\"bytes\"}],\"name\":\"validateRule\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isValid_\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"activateForFund(address)\":{\"details\":\"Unimplemented by default, can be overridden by the policy\"},\"addFundSettings(address,bytes)\":{\"params\":{\"_comptrollerProxy\":\"The fund's ComptrollerProxy address\",\"_encodedSettings\":\"Encoded settings to apply to a fund\"}},\"canDisable()\":{\"returns\":{\"canDisable_\":\"True if the policy can be disabled\"}},\"getAddressListRegistry()\":{\"returns\":{\"addressListRegistry_\":\"The `ADDRESS_LIST_REGISTRY` variable value\"}},\"getListIdsForFund(address)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\"},\"returns\":{\"listIds_\":\"The list ids\"}},\"getPolicyManager()\":{\"returns\":{\"policyManager_\":\"The `POLICY_MANAGER` variable value\"}},\"identifier()\":{\"returns\":{\"identifier_\":\"The identifer string\"}},\"implementedHooks()\":{\"returns\":{\"implementedHooks_\":\"The implemented PolicyHooks\"}},\"passesRule(address,address)\":{\"params\":{\"_comptrollerProxy\":\"The fund's ComptrollerProxy address\",\"_recipient\":\"The recipient of shares from the deposit\"},\"returns\":{\"isValid_\":\"True if the rule passes\"}},\"updateFundSettings(address,bytes)\":{\"details\":\"Used to assign a new list (not update items in that list)\",\"params\":{\"_comptrollerProxy\":\"The fund's ComptrollerProxy address\",\"_encodedSettings\":\"Encoded settings to apply to a fund\"}},\"validateRule(address,uint8,bytes)\":{\"details\":\"onlyPolicyManager validation not necessary, as state is not updated and no events are fired\",\"params\":{\"_comptrollerProxy\":\"The fund's ComptrollerProxy address\",\"_encodedArgs\":\"Encoded args with which to validate the rule\"},\"returns\":{\"isValid_\":\"True if the rule passes\"}}},\"title\":\"AllowedDepositRecipientsPolicy Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"activateForFund(address)\":{\"notice\":\"Validates and initializes a policy as necessary prior to fund activation\"},\"addFundSettings(address,bytes)\":{\"notice\":\"Adds the initial policy settings for a fund\"},\"canDisable()\":{\"notice\":\"Whether or not the policy can be disabled\"},\"getAddressListRegistry()\":{\"notice\":\"Gets the `ADDRESS_LIST_REGISTRY` variable value\"},\"getListIdsForFund(address)\":{\"notice\":\"Gets the list ids used by a given fund\"},\"getPolicyManager()\":{\"notice\":\"Gets the `POLICY_MANAGER` variable value\"},\"identifier()\":{\"notice\":\"Provides a constant string identifier for a policy\"},\"implementedHooks()\":{\"notice\":\"Gets the implemented PolicyHooks for a policy\"},\"passesRule(address,address)\":{\"notice\":\"Checks whether a particular condition passes the rule for a particular fund\"},\"updateFundSettings(address,bytes)\":{\"notice\":\"Updates the policy settings for a fund\"},\"validateRule(address,uint8,bytes)\":{\"notice\":\"Apply the rule with the specified parameters of a PolicyHook\"}},\"notice\":\"A policy that limits the accounts that can receive shares via deposit\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/policy-manager/policies/new-shareholders/AllowedDepositRecipientsPolicy.sol\":\"AllowedDepositRecipientsPolicy\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/address-list-registry/AddressListRegistry.sol\":{\"keccak256\":\"0xf00a9e376e3ec2a223f463f71c15ee3af3642dd028bc3762440e316b760c8048\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://01986c9327b5dfbfac21316dced6d68727931ddde1278ed1342d878004f984b9\",\"dweb:/ipfs/QmdXkFaUU43JqMTYEREbWa129rohdqN7GXy7mVRpjCfSLD\"]},\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/persistent/vault/interfaces/IExternalPositionVault.sol\":{\"keccak256\":\"0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d\",\"dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8\"]},\"contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol\":{\"keccak256\":\"0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb\",\"dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU\"]},\"contracts/persistent/vault/interfaces/IMigratableVault.sol\":{\"keccak256\":\"0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6\",\"dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs\"]},\"contracts/persistent/vault/interfaces/IVaultCore.sol\":{\"keccak256\":\"0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd\",\"dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr\"]},\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/core/fund/comptroller/ComptrollerLib.sol\":{\"keccak256\":\"0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579\",\"dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq\"]},\"contracts/release/core/fund/comptroller/IComptroller.sol\":{\"keccak256\":\"0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97\",\"dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L\"]},\"contracts/release/core/fund/vault/IVault.sol\":{\"keccak256\":\"0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599\",\"dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG\"]},\"contracts/release/extensions/IExtension.sol\":{\"keccak256\":\"0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70\",\"dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t\"]},\"contracts/release/extensions/fee-manager/IFeeManager.sol\":{\"keccak256\":\"0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22\",\"dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod\"]},\"contracts/release/extensions/policy-manager/IPolicy.sol\":{\"keccak256\":\"0xc12663ca72065b256c3b934ab738fde26c147c7b0399de43650df89dd52ee467\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://be8fecfcba0f3fda615f0a1bb3c766750c23761ef751d7c4472dfe540e460cd1\",\"dweb:/ipfs/QmaarPoRTsX6NiJ8V4u2f3Qh6d7tUs28bw9R14An3t5Bs1\"]},\"contracts/release/extensions/policy-manager/IPolicyManager.sol\":{\"keccak256\":\"0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa\",\"dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb\"]},\"contracts/release/extensions/policy-manager/policies/new-shareholders/AllowedDepositRecipientsPolicy.sol\":{\"keccak256\":\"0x506f243b58f69aad51bea98ca911fd469cf721965ab79916a42f1c475bd90c89\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f67e1fa56dca16ac4d97bf98247fafb2d71f6baa8e5d21a88562adf80146549d\",\"dweb:/ipfs/QmbjwdRNnA3GrTzuBnchFSwrUeTp1vAbvmeCMe3fMnMjXp\"]},\"contracts/release/extensions/policy-manager/policies/utils/AddressListRegistryPolicyBase.sol\":{\"keccak256\":\"0x3fdcf3e45c9d6b9cf5221aeb95858060dfc18abf744f664b5ce9bf2f0a6a7bdc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://48b3ed06e509a45f122112129bf3d221ae30afad87722a123f7405a4a24e6645\",\"dweb:/ipfs/QmSA3cJB7C6x6BasicDpzwnHuxFkL6k8hR5fDRD42BWsGc\"]},\"contracts/release/extensions/policy-manager/policies/utils/PolicyBase.sol\":{\"keccak256\":\"0x972311abb98f0da815b4aca83d5afdd219d3604ec19cf5e3773c0c305bd9b3f1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2452f3d1f3b1d8e8459a07489146a2d0d8a10463715937995cbe77ee5de8c069\",\"dweb:/ipfs/Qmf2hhd2DVbjpxmbNGAhRZNZkqpGZA2mX3eA1WNwtv6t5Y\"]},\"contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol\":{\"keccak256\":\"0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f\",\"dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol\":{\"keccak256\":\"0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0\",\"dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol\":{\"keccak256\":\"0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b\",\"dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3\"]},\"contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol\":{\"keccak256\":\"0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965\",\"dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ\"]},\"contracts/release/interfaces/IGsnForwarder.sol\":{\"keccak256\":\"0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29\",\"dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G\"]},\"contracts/release/interfaces/IGsnPaymaster.sol\":{\"keccak256\":\"0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4\",\"dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF\"]},\"contracts/release/interfaces/IGsnTypes.sol\":{\"keccak256\":\"0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7\",\"dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/beacon-proxy/IBeacon.sol\":{\"keccak256\":\"0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39\",\"dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V\"]},\"contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol\":{\"keccak256\":\"0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be\",\"dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_policyManager", "type": "address" }, { "internalType": "address", "name": "_addressListRegistry", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "comptrollerProxy", "type": "address", "indexed": true }, { "internalType": "uint256[]", "name": "listIds", "type": "uint256[]", "indexed": false } ], "type": "event", "name": "ListsSetForFund", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "activateForFund" }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" }, { "internalType": "bytes", "name": "_encodedSettings", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "addFundSettings" }, { "inputs": [], "stateMutability": "pure", "type": "function", "name": "canDisable", "outputs": [ { "internalType": "bool", "name": "canDisable_", "type": "bool" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getAddressListRegistry", "outputs": [ { "internalType": "address", "name": "addressListRegistry_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getListIdsForFund", "outputs": [ { "internalType": "uint256[]", "name": "listIds_", "type": "uint256[]" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getPolicyManager", "outputs": [ { "internalType": "address", "name": "policyManager_", "type": "address" } ] }, { "inputs": [], "stateMutability": "pure", "type": "function", "name": "identifier", "outputs": [ { "internalType": "string", "name": "identifier_", "type": "string" } ] }, { "inputs": [], "stateMutability": "pure", "type": "function", "name": "implementedHooks", "outputs": [ { "internalType": "enum IPolicyManager.PolicyHook[]", "name": "implementedHooks_", "type": "uint8[]" } ] }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" }, { "internalType": "address", "name": "_recipient", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "passesRule", "outputs": [ { "internalType": "bool", "name": "isValid_", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" }, { "internalType": "bytes", "name": "_encodedSettings", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "updateFundSettings" }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" }, { "internalType": "enum IPolicyManager.PolicyHook", "name": "", "type": "uint8" }, { "internalType": "bytes", "name": "_encodedArgs", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "validateRule", "outputs": [ { "internalType": "bool", "name": "isValid_", "type": "bool" } ] } ], "devdoc": { "kind": "dev", "methods": { "activateForFund(address)": { "details": "Unimplemented by default, can be overridden by the policy" }, "addFundSettings(address,bytes)": { "params": { "_comptrollerProxy": "The fund's ComptrollerProxy address", "_encodedSettings": "Encoded settings to apply to a fund" } }, "canDisable()": { "returns": { "canDisable_": "True if the policy can be disabled" } }, "getAddressListRegistry()": { "returns": { "addressListRegistry_": "The `ADDRESS_LIST_REGISTRY` variable value" } }, "getListIdsForFund(address)": { "params": { "_comptrollerProxy": "The ComptrollerProxy of the fund" }, "returns": { "listIds_": "The list ids" } }, "getPolicyManager()": { "returns": { "policyManager_": "The `POLICY_MANAGER` variable value" } }, "identifier()": { "returns": { "identifier_": "The identifer string" } }, "implementedHooks()": { "returns": { "implementedHooks_": "The implemented PolicyHooks" } }, "passesRule(address,address)": { "params": { "_comptrollerProxy": "The fund's ComptrollerProxy address", "_recipient": "The recipient of shares from the deposit" }, "returns": { "isValid_": "True if the rule passes" } }, "updateFundSettings(address,bytes)": { "details": "Used to assign a new list (not update items in that list)", "params": { "_comptrollerProxy": "The fund's ComptrollerProxy address", "_encodedSettings": "Encoded settings to apply to a fund" } }, "validateRule(address,uint8,bytes)": { "details": "onlyPolicyManager validation not necessary, as state is not updated and no events are fired", "params": { "_comptrollerProxy": "The fund's ComptrollerProxy address", "_encodedArgs": "Encoded args with which to validate the rule" }, "returns": { "isValid_": "True if the rule passes" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "activateForFund(address)": { "notice": "Validates and initializes a policy as necessary prior to fund activation" }, "addFundSettings(address,bytes)": { "notice": "Adds the initial policy settings for a fund" }, "canDisable()": { "notice": "Whether or not the policy can be disabled" }, "getAddressListRegistry()": { "notice": "Gets the `ADDRESS_LIST_REGISTRY` variable value" }, "getListIdsForFund(address)": { "notice": "Gets the list ids used by a given fund" }, "getPolicyManager()": { "notice": "Gets the `POLICY_MANAGER` variable value" }, "identifier()": { "notice": "Provides a constant string identifier for a policy" }, "implementedHooks()": { "notice": "Gets the implemented PolicyHooks for a policy" }, "passesRule(address,address)": { "notice": "Checks whether a particular condition passes the rule for a particular fund" }, "updateFundSettings(address,bytes)": { "notice": "Updates the policy settings for a fund" }, "validateRule(address,uint8,bytes)": { "notice": "Apply the rule with the specified parameters of a PolicyHook" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/policy-manager/policies/new-shareholders/AllowedDepositRecipientsPolicy.sol": "AllowedDepositRecipientsPolicy" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/address-list-registry/AddressListRegistry.sol": { "keccak256": "0xf00a9e376e3ec2a223f463f71c15ee3af3642dd028bc3762440e316b760c8048", "urls": [ "bzz-raw://01986c9327b5dfbfac21316dced6d68727931ddde1278ed1342d878004f984b9", "dweb:/ipfs/QmdXkFaUU43JqMTYEREbWa129rohdqN7GXy7mVRpjCfSLD" ], "license": "GPL-3.0" }, "contracts/persistent/dispatcher/IDispatcher.sol": { "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", "urls": [ "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" ], "license": "GPL-3.0" }, "contracts/persistent/external-positions/IExternalPosition.sol": { "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", "urls": [ "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IExternalPositionVault.sol": { "keccak256": "0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6", "urls": [ "bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d", "dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol": { "keccak256": "0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0", "urls": [ "bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb", "dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IMigratableVault.sol": { "keccak256": "0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238", "urls": [ "bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6", "dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IVaultCore.sol": { "keccak256": "0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80", "urls": [ "bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd", "dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr" ], "license": "GPL-3.0" }, "contracts/release/core/fund-deployer/IFundDeployer.sol": { "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", "urls": [ "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" ], "license": "GPL-3.0" }, "contracts/release/core/fund/comptroller/ComptrollerLib.sol": { "keccak256": "0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64", "urls": [ "bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579", "dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq" ], "license": "GPL-3.0" }, "contracts/release/core/fund/comptroller/IComptroller.sol": { "keccak256": "0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f", "urls": [ "bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97", "dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L" ], "license": "GPL-3.0" }, "contracts/release/core/fund/vault/IVault.sol": { "keccak256": "0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd", "urls": [ "bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599", "dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG" ], "license": "GPL-3.0" }, "contracts/release/extensions/IExtension.sol": { "keccak256": "0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b", "urls": [ "bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70", "dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t" ], "license": "GPL-3.0" }, "contracts/release/extensions/fee-manager/IFeeManager.sol": { "keccak256": "0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51", "urls": [ "bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22", "dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod" ], "license": "GPL-3.0" }, "contracts/release/extensions/policy-manager/IPolicy.sol": { "keccak256": "0xc12663ca72065b256c3b934ab738fde26c147c7b0399de43650df89dd52ee467", "urls": [ "bzz-raw://be8fecfcba0f3fda615f0a1bb3c766750c23761ef751d7c4472dfe540e460cd1", "dweb:/ipfs/QmaarPoRTsX6NiJ8V4u2f3Qh6d7tUs28bw9R14An3t5Bs1" ], "license": "GPL-3.0" }, "contracts/release/extensions/policy-manager/IPolicyManager.sol": { "keccak256": "0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32", "urls": [ "bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa", "dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb" ], "license": "GPL-3.0" }, "contracts/release/extensions/policy-manager/policies/new-shareholders/AllowedDepositRecipientsPolicy.sol": { "keccak256": "0x506f243b58f69aad51bea98ca911fd469cf721965ab79916a42f1c475bd90c89", "urls": [ "bzz-raw://f67e1fa56dca16ac4d97bf98247fafb2d71f6baa8e5d21a88562adf80146549d", "dweb:/ipfs/QmbjwdRNnA3GrTzuBnchFSwrUeTp1vAbvmeCMe3fMnMjXp" ], "license": "GPL-3.0" }, "contracts/release/extensions/policy-manager/policies/utils/AddressListRegistryPolicyBase.sol": { "keccak256": "0x3fdcf3e45c9d6b9cf5221aeb95858060dfc18abf744f664b5ce9bf2f0a6a7bdc", "urls": [ "bzz-raw://48b3ed06e509a45f122112129bf3d221ae30afad87722a123f7405a4a24e6645", "dweb:/ipfs/QmSA3cJB7C6x6BasicDpzwnHuxFkL6k8hR5fDRD42BWsGc" ], "license": "GPL-3.0" }, "contracts/release/extensions/policy-manager/policies/utils/PolicyBase.sol": { "keccak256": "0x972311abb98f0da815b4aca83d5afdd219d3604ec19cf5e3773c0c305bd9b3f1", "urls": [ "bzz-raw://2452f3d1f3b1d8e8459a07489146a2d0d8a10463715937995cbe77ee5de8c069", "dweb:/ipfs/Qmf2hhd2DVbjpxmbNGAhRZNZkqpGZA2mX3eA1WNwtv6t5Y" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol": { "keccak256": "0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609", "urls": [ "bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f", "dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol": { "keccak256": "0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01", "urls": [ "bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0", "dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol": { "keccak256": "0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196", "urls": [ "bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b", "dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol": { "keccak256": "0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794", "urls": [ "bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965", "dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IGsnForwarder.sol": { "keccak256": "0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030", "urls": [ "bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29", "dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IGsnPaymaster.sol": { "keccak256": "0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c", "urls": [ "bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4", "dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IGsnTypes.sol": { "keccak256": "0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714", "urls": [ "bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7", "dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C" ], "license": "GPL-3.0" }, "contracts/release/utils/AddressArrayLib.sol": { "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", "urls": [ "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" ], "license": "GPL-3.0" }, "contracts/release/utils/beacon-proxy/IBeacon.sol": { "keccak256": "0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2", "urls": [ "bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39", "dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V" ], "license": "GPL-3.0" }, "contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol": { "keccak256": "0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc", "urls": [ "bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be", "dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", "urls": [ "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Address.sol": { "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", "urls": [ "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" } }, "version": 1 }, "id": 217 } diff --git a/eth_defi/abi/enzyme/AllowedExternalPositionTypesPerManagerPolicy.json b/eth_defi/abi/enzyme/AllowedExternalPositionTypesPerManagerPolicy.json index 5d915578..39a7d3da 100644 --- a/eth_defi/abi/enzyme/AllowedExternalPositionTypesPerManagerPolicy.json +++ b/eth_defi/abi/enzyme/AllowedExternalPositionTypesPerManagerPolicy.json @@ -1,1051 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_policyManager", - "type": "address" - }, - { - "internalType": "address", - "name": "_uintListRegistry", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "comptrollerProxy", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "listIds", - "type": "uint256[]" - } - ], - "name": "ListsSetForFundAndUser", - "type": "event" - }, - { - "inputs": [], - "name": "BYPASS_FLAG", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "activateForFund", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_encodedSettings", - "type": "bytes" - } - ], - "name": "addFundSettings", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "canDisable", - "outputs": [ - { - "internalType": "bool", - "name": "canDisable_", - "type": "bool" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_user", - "type": "address" - } - ], - "name": "getListIdsForFundAndUser", - "outputs": [ - { - "internalType": "uint256[]", - "name": "listIds_", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getPolicyManager", - "outputs": [ - { - "internalType": "address", - "name": "policyManager_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "identifier", - "outputs": [ - { - "internalType": "string", - "name": "identifier_", - "type": "string" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "implementedHooks", - "outputs": [ - { - "internalType": "enum IPolicyManager.PolicyHook[]", - "name": "implementedHooks_", - "type": "uint8[]" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_caller", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_externalPositionTypeId", - "type": "uint256" - } - ], - "name": "passesRule", - "outputs": [ - { - "internalType": "bool", - "name": "isValid_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_encodedSettings", - "type": "bytes" - } - ], - "name": "updateFundSettings", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "enum IPolicyManager.PolicyHook", - "name": "_hook", - "type": "uint8" - }, - { - "internalType": "bytes", - "name": "_encodedArgs", - "type": "bytes" - } - ], - "name": "validateRule", - "outputs": [ - { - "internalType": "bool", - "name": "isValid_", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x60c06040523480156200001157600080fd5b50604051620019e9380380620019e9833981016040819052620000349162000066565b6001600160601b0319606092831b8116608052911b1660a052620000d1565b80516200006081620000b7565b92915050565b600080604083850312156200007a57600080fd5b600062000088858562000053565b92505060206200009b8582860162000053565b9150509250929050565b60006001600160a01b03821662000060565b620000c281620000a5565b8114620000ce57600080fd5b50565b60805160601c60a05160601c6118e462000105600039806107915280610c6c525080610199528061082852506118e46000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c80637998a1c4116100715780637998a1c414610109578063b174666c1461011e578063cbf54bb21461013e578063cdb6552c14610153578063ceb9a0ad14610166578063d44ad6cb14610179576100a9565b80630d4d7510146100ae5780630f5f6b4f146100ae5780631ef92578146100c3578063572a45e1146100e1578063579be718146100f6575b600080fd5b6100c16100bc3660046112be565b61018e565b005b6100cb6101ef565b6040516100d891906116f7565b60405180910390f35b6100e96101f4565b6040516100d89190611736565b6100cb610104366004611313565b6101fa565b6101116104a3565b6040516100d89190611705565b61013161012c36600461124b565b6104c3565b6040516100d891906116c6565b61014661053b565b6040516100d891906116b5565b6100cb61016136600461127b565b61062c565b6100c1610174366004611086565b610823565b610181610826565b6040516100d8919061167a565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146101df5760405162461bcd60e51b81526004016101d690611726565b60405180910390fd5b6101ea83838361084a565b505050565b600190565b60001981565b60008080600686600981111561020c57fe5b141561025b5761025185858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506108c992505050565b509250905061048d565b600786600981111561026957fe5b14156103395760006102b086868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506108ef92505050565b5050604080516304af029160e21b81529051949650929450506001600160a01b038416926312bc0a44926004808201935060209291829003018186803b1580156102f957600080fd5b505afa15801561030d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103319190611499565b92505061048d565b600986600981111561034757fe5b14156103cf57600061038e86868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061092092505050565b8092508193505050806001600160a01b03166312bc0a446040518163ffffffff1660e01b815260040160206040518083038186803b1580156102f957600080fd5b600061041086868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061092092505050565b8092508193505050806001600160a01b03166312bc0a446040518163ffffffff1660e01b815260040160206040518083038186803b15801561045157600080fd5b505afa158015610465573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104899190611499565b9250505b61049887828461062c565b979650505050505050565b60606040518060600160405280602b81526020016118ad602b9139905090565b6001600160a01b0380831660009081526020818152604080832093851683529281529082902080548351818402810184019094528084526060939283018282801561052d57602002820191906000526020600020905b815481526020019060010190808311610519575b505050505090505b92915050565b60408051600480825260a082019092526060916020820160808036833701905050905060068160008151811061056d57fe5b6020026020010190600981111561058057fe5b9081600981111561058d57fe5b815250506007816001815181106105a057fe5b602002602001019060098111156105b357fe5b908160098111156105c057fe5b815250506009816002815181106105d357fe5b602002602001019060098111156105e657fe5b908160098111156105f357fe5b8152505060088160038151811061060657fe5b6020026020010190600981111561061957fe5b9081600981111561062657fe5b90525090565b6000836001600160a01b031663c98091876040518163ffffffff1660e01b815260040160206040518083038186803b15801561066757600080fd5b505afa15801561067b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061069f91906110ac565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b1580156106d757600080fd5b505afa1580156106eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061070f91906110ac565b6001600160a01b0316836001600160a01b031614156107305750600161081c565b606061073c85856104c3565b905080516000141561075257600091505061081c565b6000198160008151811061076257fe5b6020026020010151141561077a57600191505061081c565b604051632772da5560e11b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690634ee5b4aa906107c890849087906004016116d7565b60206040518083038186803b1580156107e057600080fd5b505afa1580156107f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108189190611434565b9150505b9392505050565b50565b7f000000000000000000000000000000000000000000000000000000000000000090565b6060806108578484610940565b91509150805182511461087c5760405162461bcd60e51b81526004016101d690611716565b60005b81518110156108c1576108b98684838151811061089857fe5b60200260200101518484815181106108ac57fe5b602002602001015161095b565b60010161087f565b505050505050565b6000806060838060200190518101906108e291906111e7565b9250925092509193909250565b6000806060806060808680602001905181019061090c9190611104565b949c939b5091995097509550909350915050565b6000808280602001905181019061093791906110ca565b91509150915091565b60608061094f8385018561137a565b915091505b9250929050565b60608061096783610c2b565b6001600160a01b03808816600090815260208181526040808320938a16835292905220549193509150156109c3576001600160a01b0380861660009081526020818152604080832093881683529290529081206109c391610d18565b606081518351016001600160401b03811180156109df57600080fd5b50604051908082528060200260200182016040528015610a09578160200160208202803683370190505b50805190915015610bd85760005b8351811015610aab57838181518110610a2c57fe5b6020026020010151828281518110610a4057fe5b6020908102919091018101919091526001600160a01b0380891660009081528083526040808220928a1682529190925290208451859083908110610a8057fe5b6020908102919091018101518254600181810185556000948552929093209092019190915501610a17565b50815115610bd8576000866001600160a01b031663c98091876040518163ffffffff1660e01b815260040160206040518083038186803b158015610aee57600080fd5b505afa158015610b02573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b2691906110ac565b905060005b8351811015610bd5576000818651019050610b5983868481518110610b4c57fe5b6020026020010151610c42565b848281518110610b6557fe5b6020908102919091018101919091526001600160a01b03808b1660009081528083526040808220928c1682529190925290208451859083908110610ba557fe5b60209081029190910181015182546001818101855560009485529290932090920191909155919091019050610b2b565b50505b846001600160a01b0316866001600160a01b03167fe737257df130e7ddcae83b49adac67dc3dcc32950b3e5ee558eae2f0b842a50f83604051610c1b91906116c6565b60405180910390a3505050505050565b6060808280602001905181019061093791906113d7565b6000806060610c5084610d00565b60405163f71e466960e01b815291935091506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063f71e466990610ca590889086908690600401611688565b602060405180830381600087803b158015610cbf57600080fd5b505af1158015610cd3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cf79190611499565b95945050505050565b60006060828060200190518101906109379190611452565b508054600082559060005260206000209081019061082391905b80821115610d465760008155600101610d32565b5090565b80356105358161186c565b80516105358161186c565b600082601f830112610d7157600080fd5b8135610d84610d7f8261176a565b611744565b91508181835260208401935060208101905083856020840282011115610da957600080fd5b60005b83811015610dd55781610dbf8882610d4a565b8452506020928301929190910190600101610dac565b5050505092915050565b600082601f830112610df057600080fd5b8151610dfe610d7f8261176a565b91508181835260208401935060208101905083856020840282011115610e2357600080fd5b60005b83811015610dd55781610e398882610d55565b8452506020928301929190910190600101610e26565b600082601f830112610e6057600080fd5b8135610e6e610d7f8261176a565b81815260209384019390925082018360005b83811015610dd55781358601610e968882610fc5565b8452506020928301929190910190600101610e80565b600082601f830112610ebd57600080fd5b8151610ecb610d7f8261176a565b81815260209384019390925082018360005b83811015610dd55781518601610ef38882611014565b8452506020928301929190910190600101610edd565b600082601f830112610f1a57600080fd5b8151610f28610d7f8261176a565b91508181835260208401935060208101905083856020840282011115610f4d57600080fd5b60005b83811015610dd55781610f63888261107b565b8452506020928301929190910190600101610f50565b805161053581611880565b60008083601f840112610f9657600080fd5b5081356001600160401b03811115610fad57600080fd5b60208301915083600182028301111561095457600080fd5b600082601f830112610fd657600080fd5b8135610fe4610d7f8261178a565b9150808252602083016020830185838301111561100057600080fd5b61100b838284611812565b50505092915050565b600082601f83011261102557600080fd5b8151611033610d7f8261178a565b9150808252602083016020830185838301111561104f57600080fd5b61100b83828461181e565b803561053581611889565b805161053581611896565b8035610535816118a3565b8051610535816118a3565b60006020828403121561109857600080fd5b60006110a48484610d4a565b949350505050565b6000602082840312156110be57600080fd5b60006110a48484610d55565b600080604083850312156110dd57600080fd5b60006110e98585610d55565b92505060206110fa85828601610d55565b9150509250929050565b60008060008060008060c0878903121561111d57600080fd5b60006111298989610d55565b965050602061113a89828a01610d55565b95505060408701516001600160401b0381111561115657600080fd5b61116289828a01610ddf565b94505060608701516001600160401b0381111561117e57600080fd5b61118a89828a01610f09565b93505060808701516001600160401b038111156111a657600080fd5b6111b289828a01610ddf565b92505060a08701516001600160401b038111156111ce57600080fd5b6111da89828a01611014565b9150509295509295509295565b6000806000606084860312156111fc57600080fd5b60006112088686610d55565b93505060206112198682870161107b565b92505060408401516001600160401b0381111561123557600080fd5b61124186828701611014565b9150509250925092565b6000806040838503121561125e57600080fd5b600061126a8585610d4a565b92505060206110fa85828601610d4a565b60008060006060848603121561129057600080fd5b600061129c8686610d4a565b93505060206112ad86828701610d4a565b925050604061124186828701611070565b6000806000604084860312156112d357600080fd5b60006112df8686610d4a565b93505060208401356001600160401b038111156112fb57600080fd5b61130786828701610f84565b92509250509250925092565b6000806000806060858703121561132957600080fd5b60006113358787610d4a565b94505060206113468782880161105a565b93505060408501356001600160401b0381111561136257600080fd5b61136e87828801610f84565b95989497509550505050565b6000806040838503121561138d57600080fd5b82356001600160401b038111156113a357600080fd5b6113af85828601610d60565b92505060208301356001600160401b038111156113cb57600080fd5b6110fa85828601610e4f565b600080604083850312156113ea57600080fd5b82516001600160401b0381111561140057600080fd5b61140c85828601610f09565b92505060208301516001600160401b0381111561142857600080fd5b6110fa85828601610eac565b60006020828403121561144657600080fd5b60006110a48484610f79565b6000806040838503121561146557600080fd5b60006114718585611065565b92505060208301516001600160401b0381111561148d57600080fd5b6110fa85828601610f09565b6000602082840312156114ab57600080fd5b60006110a4848461107b565b60006114c38383611596565b505060200190565b60006114c38383611671565b6114e0816117c4565b82525050565b60006114f1826117b7565b6114fb81856117bb565b9350611506836117b1565b8060005b8381101561153457815161151e88826114b7565b9750611529836117b1565b92505060010161150a565b509495945050505050565b600061154a826117b7565b61155481856117bb565b935061155f836117b1565b8060005b8381101561153457815161157788826114cb565b9750611582836117b1565b925050600101611563565b6114e0816117cf565b6114e0816117fc565b6114e081611807565b60006115b3826117b7565b6115bd81856117bb565b93506115cd81856020860161181e565b6115d68161184e565b9093019392505050565b60006115ed6024836117bb565b7f5f5f7570646174654c69737473466f7246756e643a20756e657175616c2061728152637261797360e01b602082015260400192915050565b60006116336029836117bb565b7f4f6e6c792074686520506f6c6963794d616e616765722063616e206d616b65208152681d1a1a5cc818d85b1b60ba1b602082015260400192915050565b6114e0816117f9565b6020810161053582846114d7565b6060810161169682866114d7565b6116a3602083018561159f565b8181036040830152610cf7818461153f565b6020808252810161081c81846114e6565b6020808252810161081c818461153f565b604080825281016116e8818561153f565b905061081c6020830184611671565b60208101610535828461158d565b6020808252810161081c81846115a8565b60208082528101610535816115e0565b6020808252810161053581611626565b602081016105358284611671565b6040518181016001600160401b038111828210171561176257600080fd5b604052919050565b60006001600160401b0382111561178057600080fd5b5060209081020190565b60006001600160401b038211156117a057600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b6000610535826117ed565b151590565b806117de81611858565b919050565b806117de81611862565b6001600160a01b031690565b90565b6000610535826117d4565b6000610535826117e3565b82818337506000910152565b60005b83811015611839578181015183820152602001611821565b83811115611848576000848401525b50505050565b601f01601f191690565b600a811061082357fe5b6004811061082357fe5b611875816117c4565b811461082357600080fd5b611875816117cf565b600a811061082357600080fd5b6004811061082357600080fd5b611875816117f956fe414c4c4f5745445f45585445524e414c5f504f534954494f4e5f54595045535f5045525f4d414e41474552a164736f6c634300060c000a", - "sourceMap": "791:5478:210:-:0;;;950:161;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;737:31:223;;;;;;;;1160:65:225;;;::::1;::::0;791:5478:210;;5:134:-1;83:13;;101:33;83:13;101:33;:::i;:::-;68:71;;;;:::o;146:399::-;;;278:2;266:9;257:7;253:23;249:32;246:2;;;294:1;291;284:12;246:2;329:1;346:64;402:7;382:9;346:64;:::i;:::-;336:74;;308:108;447:2;465:64;521:7;512:6;501:9;497:22;465:64;:::i;:::-;455:74;;426:109;240:305;;;;;:::o;552:91::-;;-1:-1;;;;;712:54;;614:24;695:76::o;778:117::-;847:24;865:5;847:24;:::i;:::-;840:5;837:35;827:2;;886:1;883;876:12;827:2;821:74;:::o;:::-;791:5478:210;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106100a95760003560e01c80637998a1c4116100715780637998a1c414610109578063b174666c1461011e578063cbf54bb21461013e578063cdb6552c14610153578063ceb9a0ad14610166578063d44ad6cb14610179576100a9565b80630d4d7510146100ae5780630f5f6b4f146100ae5780631ef92578146100c3578063572a45e1146100e1578063579be718146100f6575b600080fd5b6100c16100bc3660046112be565b61018e565b005b6100cb6101ef565b6040516100d891906116f7565b60405180910390f35b6100e96101f4565b6040516100d89190611736565b6100cb610104366004611313565b6101fa565b6101116104a3565b6040516100d89190611705565b61013161012c36600461124b565b6104c3565b6040516100d891906116c6565b61014661053b565b6040516100d891906116b5565b6100cb61016136600461127b565b61062c565b6100c1610174366004611086565b610823565b610181610826565b6040516100d8919061167a565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146101df5760405162461bcd60e51b81526004016101d690611726565b60405180910390fd5b6101ea83838361084a565b505050565b600190565b60001981565b60008080600686600981111561020c57fe5b141561025b5761025185858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506108c992505050565b509250905061048d565b600786600981111561026957fe5b14156103395760006102b086868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506108ef92505050565b5050604080516304af029160e21b81529051949650929450506001600160a01b038416926312bc0a44926004808201935060209291829003018186803b1580156102f957600080fd5b505afa15801561030d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103319190611499565b92505061048d565b600986600981111561034757fe5b14156103cf57600061038e86868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061092092505050565b8092508193505050806001600160a01b03166312bc0a446040518163ffffffff1660e01b815260040160206040518083038186803b1580156102f957600080fd5b600061041086868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061092092505050565b8092508193505050806001600160a01b03166312bc0a446040518163ffffffff1660e01b815260040160206040518083038186803b15801561045157600080fd5b505afa158015610465573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104899190611499565b9250505b61049887828461062c565b979650505050505050565b60606040518060600160405280602b81526020016118ad602b9139905090565b6001600160a01b0380831660009081526020818152604080832093851683529281529082902080548351818402810184019094528084526060939283018282801561052d57602002820191906000526020600020905b815481526020019060010190808311610519575b505050505090505b92915050565b60408051600480825260a082019092526060916020820160808036833701905050905060068160008151811061056d57fe5b6020026020010190600981111561058057fe5b9081600981111561058d57fe5b815250506007816001815181106105a057fe5b602002602001019060098111156105b357fe5b908160098111156105c057fe5b815250506009816002815181106105d357fe5b602002602001019060098111156105e657fe5b908160098111156105f357fe5b8152505060088160038151811061060657fe5b6020026020010190600981111561061957fe5b9081600981111561062657fe5b90525090565b6000836001600160a01b031663c98091876040518163ffffffff1660e01b815260040160206040518083038186803b15801561066757600080fd5b505afa15801561067b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061069f91906110ac565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b1580156106d757600080fd5b505afa1580156106eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061070f91906110ac565b6001600160a01b0316836001600160a01b031614156107305750600161081c565b606061073c85856104c3565b905080516000141561075257600091505061081c565b6000198160008151811061076257fe5b6020026020010151141561077a57600191505061081c565b604051632772da5560e11b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690634ee5b4aa906107c890849087906004016116d7565b60206040518083038186803b1580156107e057600080fd5b505afa1580156107f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108189190611434565b9150505b9392505050565b50565b7f000000000000000000000000000000000000000000000000000000000000000090565b6060806108578484610940565b91509150805182511461087c5760405162461bcd60e51b81526004016101d690611716565b60005b81518110156108c1576108b98684838151811061089857fe5b60200260200101518484815181106108ac57fe5b602002602001015161095b565b60010161087f565b505050505050565b6000806060838060200190518101906108e291906111e7565b9250925092509193909250565b6000806060806060808680602001905181019061090c9190611104565b949c939b5091995097509550909350915050565b6000808280602001905181019061093791906110ca565b91509150915091565b60608061094f8385018561137a565b915091505b9250929050565b60608061096783610c2b565b6001600160a01b03808816600090815260208181526040808320938a16835292905220549193509150156109c3576001600160a01b0380861660009081526020818152604080832093881683529290529081206109c391610d18565b606081518351016001600160401b03811180156109df57600080fd5b50604051908082528060200260200182016040528015610a09578160200160208202803683370190505b50805190915015610bd85760005b8351811015610aab57838181518110610a2c57fe5b6020026020010151828281518110610a4057fe5b6020908102919091018101919091526001600160a01b0380891660009081528083526040808220928a1682529190925290208451859083908110610a8057fe5b6020908102919091018101518254600181810185556000948552929093209092019190915501610a17565b50815115610bd8576000866001600160a01b031663c98091876040518163ffffffff1660e01b815260040160206040518083038186803b158015610aee57600080fd5b505afa158015610b02573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b2691906110ac565b905060005b8351811015610bd5576000818651019050610b5983868481518110610b4c57fe5b6020026020010151610c42565b848281518110610b6557fe5b6020908102919091018101919091526001600160a01b03808b1660009081528083526040808220928c1682529190925290208451859083908110610ba557fe5b60209081029190910181015182546001818101855560009485529290932090920191909155919091019050610b2b565b50505b846001600160a01b0316866001600160a01b03167fe737257df130e7ddcae83b49adac67dc3dcc32950b3e5ee558eae2f0b842a50f83604051610c1b91906116c6565b60405180910390a3505050505050565b6060808280602001905181019061093791906113d7565b6000806060610c5084610d00565b60405163f71e466960e01b815291935091506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063f71e466990610ca590889086908690600401611688565b602060405180830381600087803b158015610cbf57600080fd5b505af1158015610cd3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cf79190611499565b95945050505050565b60006060828060200190518101906109379190611452565b508054600082559060005260206000209081019061082391905b80821115610d465760008155600101610d32565b5090565b80356105358161186c565b80516105358161186c565b600082601f830112610d7157600080fd5b8135610d84610d7f8261176a565b611744565b91508181835260208401935060208101905083856020840282011115610da957600080fd5b60005b83811015610dd55781610dbf8882610d4a565b8452506020928301929190910190600101610dac565b5050505092915050565b600082601f830112610df057600080fd5b8151610dfe610d7f8261176a565b91508181835260208401935060208101905083856020840282011115610e2357600080fd5b60005b83811015610dd55781610e398882610d55565b8452506020928301929190910190600101610e26565b600082601f830112610e6057600080fd5b8135610e6e610d7f8261176a565b81815260209384019390925082018360005b83811015610dd55781358601610e968882610fc5565b8452506020928301929190910190600101610e80565b600082601f830112610ebd57600080fd5b8151610ecb610d7f8261176a565b81815260209384019390925082018360005b83811015610dd55781518601610ef38882611014565b8452506020928301929190910190600101610edd565b600082601f830112610f1a57600080fd5b8151610f28610d7f8261176a565b91508181835260208401935060208101905083856020840282011115610f4d57600080fd5b60005b83811015610dd55781610f63888261107b565b8452506020928301929190910190600101610f50565b805161053581611880565b60008083601f840112610f9657600080fd5b5081356001600160401b03811115610fad57600080fd5b60208301915083600182028301111561095457600080fd5b600082601f830112610fd657600080fd5b8135610fe4610d7f8261178a565b9150808252602083016020830185838301111561100057600080fd5b61100b838284611812565b50505092915050565b600082601f83011261102557600080fd5b8151611033610d7f8261178a565b9150808252602083016020830185838301111561104f57600080fd5b61100b83828461181e565b803561053581611889565b805161053581611896565b8035610535816118a3565b8051610535816118a3565b60006020828403121561109857600080fd5b60006110a48484610d4a565b949350505050565b6000602082840312156110be57600080fd5b60006110a48484610d55565b600080604083850312156110dd57600080fd5b60006110e98585610d55565b92505060206110fa85828601610d55565b9150509250929050565b60008060008060008060c0878903121561111d57600080fd5b60006111298989610d55565b965050602061113a89828a01610d55565b95505060408701516001600160401b0381111561115657600080fd5b61116289828a01610ddf565b94505060608701516001600160401b0381111561117e57600080fd5b61118a89828a01610f09565b93505060808701516001600160401b038111156111a657600080fd5b6111b289828a01610ddf565b92505060a08701516001600160401b038111156111ce57600080fd5b6111da89828a01611014565b9150509295509295509295565b6000806000606084860312156111fc57600080fd5b60006112088686610d55565b93505060206112198682870161107b565b92505060408401516001600160401b0381111561123557600080fd5b61124186828701611014565b9150509250925092565b6000806040838503121561125e57600080fd5b600061126a8585610d4a565b92505060206110fa85828601610d4a565b60008060006060848603121561129057600080fd5b600061129c8686610d4a565b93505060206112ad86828701610d4a565b925050604061124186828701611070565b6000806000604084860312156112d357600080fd5b60006112df8686610d4a565b93505060208401356001600160401b038111156112fb57600080fd5b61130786828701610f84565b92509250509250925092565b6000806000806060858703121561132957600080fd5b60006113358787610d4a565b94505060206113468782880161105a565b93505060408501356001600160401b0381111561136257600080fd5b61136e87828801610f84565b95989497509550505050565b6000806040838503121561138d57600080fd5b82356001600160401b038111156113a357600080fd5b6113af85828601610d60565b92505060208301356001600160401b038111156113cb57600080fd5b6110fa85828601610e4f565b600080604083850312156113ea57600080fd5b82516001600160401b0381111561140057600080fd5b61140c85828601610f09565b92505060208301516001600160401b0381111561142857600080fd5b6110fa85828601610eac565b60006020828403121561144657600080fd5b60006110a48484610f79565b6000806040838503121561146557600080fd5b60006114718585611065565b92505060208301516001600160401b0381111561148d57600080fd5b6110fa85828601610f09565b6000602082840312156114ab57600080fd5b60006110a4848461107b565b60006114c38383611596565b505060200190565b60006114c38383611671565b6114e0816117c4565b82525050565b60006114f1826117b7565b6114fb81856117bb565b9350611506836117b1565b8060005b8381101561153457815161151e88826114b7565b9750611529836117b1565b92505060010161150a565b509495945050505050565b600061154a826117b7565b61155481856117bb565b935061155f836117b1565b8060005b8381101561153457815161157788826114cb565b9750611582836117b1565b925050600101611563565b6114e0816117cf565b6114e0816117fc565b6114e081611807565b60006115b3826117b7565b6115bd81856117bb565b93506115cd81856020860161181e565b6115d68161184e565b9093019392505050565b60006115ed6024836117bb565b7f5f5f7570646174654c69737473466f7246756e643a20756e657175616c2061728152637261797360e01b602082015260400192915050565b60006116336029836117bb565b7f4f6e6c792074686520506f6c6963794d616e616765722063616e206d616b65208152681d1a1a5cc818d85b1b60ba1b602082015260400192915050565b6114e0816117f9565b6020810161053582846114d7565b6060810161169682866114d7565b6116a3602083018561159f565b8181036040830152610cf7818461153f565b6020808252810161081c81846114e6565b6020808252810161081c818461153f565b604080825281016116e8818561153f565b905061081c6020830184611671565b60208101610535828461158d565b6020808252810161081c81846115a8565b60208082528101610535816115e0565b6020808252810161053581611626565b602081016105358284611671565b6040518181016001600160401b038111828210171561176257600080fd5b604052919050565b60006001600160401b0382111561178057600080fd5b5060209081020190565b60006001600160401b038211156117a057600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b6000610535826117ed565b151590565b806117de81611858565b919050565b806117de81611862565b6001600160a01b031690565b90565b6000610535826117d4565b6000610535826117e3565b82818337506000910152565b60005b83811015611839578181015183820152602001611821565b83811115611848576000848401525b50505050565b601f01601f191690565b600a811061082357fe5b6004811061082357fe5b611875816117c4565b811461082357600080fd5b611875816117cf565b600a811061082357600080fd5b6004811061082357600080fd5b611875816117f956fe414c4c4f5745445f45585445524e414c5f504f534954494f4e5f54595045535f5045525f4d414e41474552a164736f6c634300060c000a", - "sourceMap": "791:5478:210:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2659:226;;;;;;:::i;:::-;;:::i;:::-;;1265:108;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;888:55;;;:::i;:::-;;;;;;;:::i;3300:1678::-;;;;;;:::i;:::-;;:::i;1496:150::-;;;:::i;:::-;;;;;;;:::i;6126:233:225:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1776:588:210:-;;;:::i;:::-;;;;;;;:::i;5378:889::-;;;;;;:::i;:::-;;:::i;941:83:223:-;;;;;;:::i;:::-;;:::i;6755:113::-;;;:::i;:::-;;;;;;;:::i;2659:226:210:-;586:10:223;-1:-1:-1;;;;;600:14:223;586:28;;578:82;;;;-1:-1:-1;;;578:82:223;;;;;;;:::i;:::-;;;;;;;;;2821:57:210::1;2842:17;2861:16;;2821:20;:57::i;:::-;2659:226:::0;;;:::o;1265:108::-;1362:4;1265:108;:::o;888:55::-;-1:-1:-1;;888:55:210;:::o;3300:1678::-;3468:13;;;3570:48;3561:5;:57;;;;;;;;;3557:1336;;;3671:88;3733:12;;3671:88;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3671:44:210;;-1:-1:-1;;;3671:88:210:i;:::-;-1:-1:-1;3634:125:210;-1:-1:-1;3634:125:210;-1:-1:-1;3557:1336:210;;;3789:52;3780:5;:61;;;;;;;;;3776:1117;;;3857:24;3932:92;3998:12;;3932:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3932:48:210;;-1:-1:-1;;;3932:92:210:i;:::-;-1:-1:-1;;4063:83:210;;;-1:-1:-1;;;4063:83:210;;;;3895:129;;-1:-1:-1;3895:129:210;;-1:-1:-1;;;;;;;4063:81:210;;;;;:83;;;;;-1:-1:-1;4063:83:210;;;;;;;;:81;:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4038:108;;3776:1117;;;;4176:52;4167:5;:61;;;;;;;;;4163:730;;;4244:24;4311:92;4377:12;;4311:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4311:48:210;;-1:-1:-1;;;4311:92:210:i;:::-;4282:121;;;;;;;;4465:16;-1:-1:-1;;;;;4442:81:210;;:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4163:730;4605:24;4672:88;4734:12;;4672:88;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4672:44:210;;-1:-1:-1;;;4672:88:210:i;:::-;4643:117;;;;;;;;4822:16;-1:-1:-1;;;;;4799:81:210;;:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4774:108;;4163:730;;4910:61;4921:17;4940:6;4948:22;4910:10;:61::i;:::-;4903:68;3300:1678;-1:-1:-1;;;;;;;3300:1678:210:o;1496:150::-;1550:25;1587:52;;;;;;;;;;;;;;;;;;;1496:150;:::o;6126:233:225:-;-1:-1:-1;;;;;6295:50:225;;;:31;:50;;;;;;;;;;;:57;;;;;;;;;;;;6288:64;;;;;;;;;;;;;;;;;6247:25;;6288:64;;;6295:57;6288:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6126:233;;;;;:::o;1776:588:210:-;1956:34;;;1988:1;1956:34;;;;;;;;;1868:52;;1956:34;;;;;;;;;;-1:-1:-1;1956:34:210;1936:54;;2023:48;2000:17;2018:1;2000:20;;;;;;;;;;;;;:71;;;;;;;;;;;;;;;;;;;;;;;2104:52;2081:17;2099:1;2081:20;;;;;;;;;;;;;:75;;;;;;;;;;;;;;;;;;;;;;;2189:52;2166:17;2184:1;2166:20;;;;;;;;;;;;;:75;;;;;;;;;;;;;;;;;;;;;;;2274:48;2251:17;2269:1;2251:20;;;;;;;;;;;;;:71;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1776:588:210;:::o;5378:889::-;5526:13;5623:17;-1:-1:-1;;;;;5608:47:210;;:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;5591:77:210;;:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;5568:102:210;:7;-1:-1:-1;;;;;5568:102:210;;5551:215;;;-1:-1:-1;5751:4:210;5744:11;;5551:215;5776:24;5803:52;5828:17;5847:7;5803:24;:52::i;:::-;5776:79;;5870:7;:14;5888:1;5870:19;5866:139;;;5989:5;5982:12;;;;;5866:139;-1:-1:-1;;6019:7:210;6027:1;6019:10;;;;;;;;;;;;;;:25;6015:151;;;6151:4;6144:11;;;;;6015:151;6183:77;;-1:-1:-1;;;6183:77:210;;-1:-1:-1;;;;;6183:27:210;:43;;;;:77;;6227:7;;6236:23;;6183:77;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6176:84;;;5378:889;;;;;;:::o;941:83:223:-;;:::o;6755:113::-;6847:14;6755:113;:::o;1821:483:225:-;1943:22;1967:24;1995:62;2031:16;;1995:22;:62::i;:::-;1942:115;;;;2092:9;:16;2076:5;:12;:32;2068:81;;;;-1:-1:-1;;;2068:81:225;;;;;;;:::i;:::-;2165:9;2160:138;2180:9;:16;2176:1;:20;2160:138;;;2217:70;2245:17;2264:5;2270:1;2264:8;;;;;;;;;;;;;;2274:9;2284:1;2274:12;;;;;;;;;;;;;;2217:27;:70::i;:::-;2198:3;;2160:138;;;;1821:483;;;;;:::o;2184:327:223:-;2328:15;2357;2386:32;2461:15;2450:54;;;;;;;;;;;;:::i;:::-;2443:61;;;;;;2184:327;;;;;:::o;3503:575::-;3651:15;3680:25;3719:34;3767:35;3816:33;3863:31;3966:15;3938:133;;;;;;;;;;;;:::i;:::-;3919:152;;;;-1:-1:-1;3919:152:223;;-1:-1:-1;3919:152:223;-1:-1:-1;3919:152:223;-1:-1:-1;3919:152:223;;-1:-1:-1;3503:575:223;-1:-1:-1;;3503:575:223:o;4911:254::-;5046:15;5063:25;5122:15;5111:47;;;;;;;;;;;;:::i;:::-;5104:54;;;;4911:254;;;:::o;3214:241:225:-;3325:23;;3398:50;;;;3409:16;3398:50;:::i;:::-;3391:57;;;;3214:241;;;;;;:::o;4056:1781::-;4208:32;4242:27;4273:54;4308:9;4273:21;:54::i;:::-;-1:-1:-1;;;;;4400:50:225;;;4467:1;4400:50;;;;;;;;;;;:57;;;;;;;;;:64;4207:120;;-1:-1:-1;4207:120:225;-1:-1:-1;4400:68:225;4396:163;;-1:-1:-1;;;;;4491:50:225;;;:31;:50;;;;;;;;;;;:57;;;;;;;;;;;4484:64;;;:::i;:::-;4569:28;4639:12;:19;4614:15;:22;:44;-1:-1:-1;;;;;4600:59:225;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4600:59:225;-1:-1:-1;4674:18:225;;4569:90;;-1:-1:-1;4674:22:225;4670:1084;;4847:9;4842:217;4862:15;:22;4858:1;:26;4842:217;;;4926:15;4942:1;4926:18;;;;;;;;;;;;;;4909:11;4921:1;4909:14;;;;;;;;;;;;;;;;;;:35;;;;-1:-1:-1;;;;;4962:50:225;;;:31;:50;;;;;;;;;;:57;;;;;;;;;;;5025:18;;:15;;5041:1;;5025:18;;;;;;;;;;;;;;;;;4962:82;;;;;;;;-1:-1:-1;4962:82:225;;;;;;;;;;;;;;4886:3;4842:217;;;-1:-1:-1;5121:19:225;;:23;5117:627;;5164:18;5200:17;-1:-1:-1;;;;;5185:47:225;;:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5164:70;;5257:9;5252:478;5272:12;:19;5268:1;:23;5252:478;;;5320:24;5372:1;5347:15;:22;:26;5320:53;;5427:123;5477:10;5513:12;5526:1;5513:15;;;;;;;;;;;;;;5427:24;:123::i;:::-;5395:11;5407:16;5395:29;;;;;;;;;;;;;;;;;;:155;;;;-1:-1:-1;;;;;5572:50:225;;;:31;:50;;;;;;;;;;:57;;;;;;;;;;;5660:29;;:11;;5672:16;;5660:29;;;;;;;;;;;;;;;;;5572:139;;;;;;;;-1:-1:-1;5572:139:225;;;;;;;;;;;;;;5293:3;;;;;-1:-1:-1;5252:478:225;;;;5117:627;;5811:5;-1:-1:-1;;;;;5769:61:225;5792:17;-1:-1:-1;;;;;5769:61:225;;5818:11;5769:61;;;;;;:::i;:::-;;;;;;;;4056:1781;;;;;;:::o;3535:237::-;3636:33;3671:28;3733:9;3722:43;;;;;;;;;;;;:::i;2393:389::-;2508:15;2553:38;2605:29;2647:33;2667:12;2647:19;:33::i;:::-;2698:77;;-1:-1:-1;;;2698:77:225;;2539:141;;-1:-1:-1;2539:141:225;-1:-1:-1;;;;;;2698:27:225;:38;;;;:77;;2737:11;;2539:141;;;;2698:77;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2691:84;2393:389;-1:-1:-1;;;;;2393:389:225:o;2854:269::-;2956:39;2997:30;3061:12;3050:66;;;;;;;;;;;;:::i;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5:130::-;72:20;;97:33;72:20;97:33;:::i;142:134::-;220:13;;238:33;220:13;238:33;:::i;458:707::-;;575:3;568:4;560:6;556:17;552:27;542:2;;593:1;590;583:12;542:2;630:6;617:20;652:80;667:64;724:6;667:64;:::i;:::-;652:80;:::i;:::-;643:89;;749:5;774:6;767:5;760:21;804:4;796:6;792:17;782:27;;826:4;821:3;817:14;810:21;;879:6;926:3;918:4;910:6;906:17;901:3;897:27;894:36;891:2;;;943:1;940;933:12;891:2;968:1;953:206;978:6;975:1;972:13;953:206;;;1036:3;1058:37;1091:3;1079:10;1058:37;:::i;:::-;1046:50;;-1:-1;1119:4;1110:14;;;;1138;;;;;1000:1;993:9;953:206;;;957:14;535:630;;;;;;;:::o;1191:722::-;;1319:3;1312:4;1304:6;1300:17;1296:27;1286:2;;1337:1;1334;1327:12;1286:2;1367:6;1361:13;1389:80;1404:64;1461:6;1404:64;:::i;1389:80::-;1380:89;;1486:5;1511:6;1504:5;1497:21;1541:4;1533:6;1529:17;1519:27;;1563:4;1558:3;1554:14;1547:21;;1616:6;1663:3;1655:4;1647:6;1643:17;1638:3;1634:27;1631:36;1628:2;;;1680:1;1677;1670:12;1628:2;1705:1;1690:217;1715:6;1712:1;1709:13;1690:217;;;1773:3;1795:48;1839:3;1827:10;1795:48;:::i;:::-;1783:61;;-1:-1;1867:4;1858:14;;;;1886;;;;;1737:1;1730:9;1690:217;;1937:705;;2063:3;2056:4;2048:6;2044:17;2040:27;2030:2;;2081:1;2078;2071:12;2030:2;2118:6;2105:20;2140:89;2155:73;2221:6;2155:73;:::i;2140:89::-;2257:21;;;2301:4;2289:17;;;;2131:98;;-1:-1;2314:14;;2289:17;2409:1;2394:242;2419:6;2416:1;2413:13;2394:242;;;2502:3;2489:17;2481:6;2477:30;2526:46;2568:3;2556:10;2526:46;:::i;:::-;2514:59;;-1:-1;2596:4;2587:14;;;;2615;;;;;2441:1;2434:9;2394:242;;2666:713;;2803:3;2796:4;2788:6;2784:17;2780:27;2770:2;;2821:1;2818;2811:12;2770:2;2851:6;2845:13;2873:89;2888:73;2954:6;2888:73;:::i;2873:89::-;2990:21;;;3034:4;3022:17;;;;2864:98;;-1:-1;3047:14;;3022:17;3142:1;3127:246;3152:6;3149:1;3146:13;3127:246;;;3228:3;3222:10;3214:6;3210:23;3252:57;3305:3;3293:10;3252:57;:::i;:::-;3240:70;;-1:-1;3333:4;3324:14;;;;3352;;;;;3174:1;3167:9;3127:246;;3405:722;;3533:3;3526:4;3518:6;3514:17;3510:27;3500:2;;3551:1;3548;3541:12;3500:2;3581:6;3575:13;3603:80;3618:64;3675:6;3618:64;:::i;3603:80::-;3594:89;;3700:5;3725:6;3718:5;3711:21;3755:4;3747:6;3743:17;3733:27;;3777:4;3772:3;3768:14;3761:21;;3830:6;3877:3;3869:4;3861:6;3857:17;3852:3;3848:27;3845:36;3842:2;;;3894:1;3891;3884:12;3842:2;3919:1;3904:217;3929:6;3926:1;3923:13;3904:217;;;3987:3;4009:48;4053:3;4041:10;4009:48;:::i;:::-;3997:61;;-1:-1;4081:4;4072:14;;;;4100;;;;;3951:1;3944:9;3904:217;;4135:128;4210:13;;4228:30;4210:13;4228:30;:::i;4284:336::-;;;4398:3;4391:4;4383:6;4379:17;4375:27;4365:2;;4416:1;4413;4406:12;4365:2;-1:-1;4436:20;;-1:-1;;;;;4465:30;;4462:2;;;4508:1;4505;4498:12;4462:2;4542:4;4534:6;4530:17;4518:29;;4593:3;4585:4;4577:6;4573:17;4563:8;4559:32;4556:41;4553:2;;;4610:1;4607;4600:12;4629:440;;4730:3;4723:4;4715:6;4711:17;4707:27;4697:2;;4748:1;4745;4738:12;4697:2;4785:6;4772:20;4807:64;4822:48;4863:6;4822:48;:::i;4807:64::-;4798:73;;4891:6;4884:5;4877:21;4927:4;4919:6;4915:17;4960:4;4953:5;4949:16;4995:3;4986:6;4981:3;4977:16;4974:25;4971:2;;;5012:1;5009;5002:12;4971:2;5022:41;5056:6;5051:3;5046;5022:41;:::i;:::-;4690:379;;;;;;;:::o;5078:442::-;;5190:3;5183:4;5175:6;5171:17;5167:27;5157:2;;5208:1;5205;5198:12;5157:2;5238:6;5232:13;5260:64;5275:48;5316:6;5275:48;:::i;5260:64::-;5251:73;;5344:6;5337:5;5330:21;5380:4;5372:6;5368:17;5413:4;5406:5;5402:16;5448:3;5439:6;5434:3;5430:16;5427:25;5424:2;;;5465:1;5462;5455:12;5424:2;5475:39;5507:6;5502:3;5497;5475:39;:::i;5528:162::-;5611:20;;5636:49;5611:20;5636:49;:::i;5697:166::-;5791:13;;5809:49;5791:13;5809:49;:::i;5870:130::-;5937:20;;5962:33;5937:20;5962:33;:::i;6007:134::-;6085:13;;6103:33;6085:13;6103:33;:::i;6148:241::-;;6252:2;6240:9;6231:7;6227:23;6223:32;6220:2;;;6268:1;6265;6258:12;6220:2;6303:1;6320:53;6365:7;6345:9;6320:53;:::i;:::-;6310:63;6214:175;-1:-1;;;;6214:175::o;6396:263::-;;6511:2;6499:9;6490:7;6486:23;6482:32;6479:2;;;6527:1;6524;6517:12;6479:2;6562:1;6579:64;6635:7;6615:9;6579:64;:::i;6666:431::-;;;6814:2;6802:9;6793:7;6789:23;6785:32;6782:2;;;6830:1;6827;6820:12;6782:2;6865:1;6882:72;6946:7;6926:9;6882:72;:::i;:::-;6872:82;;6844:116;6991:2;7009:72;7073:7;7064:6;7053:9;7049:22;7009:72;:::i;:::-;6999:82;;6970:117;6776:321;;;;;:::o;7104:1462::-;;;;;;;7404:3;7392:9;7383:7;7379:23;7375:33;7372:2;;;7421:1;7418;7411:12;7372:2;7456:1;7473:72;7537:7;7517:9;7473:72;:::i;:::-;7463:82;;7435:116;7582:2;7600:72;7664:7;7655:6;7644:9;7640:22;7600:72;:::i;:::-;7590:82;;7561:117;7730:2;7719:9;7715:18;7709:25;-1:-1;;;;;7746:6;7743:30;7740:2;;;7786:1;7783;7776:12;7740:2;7806:89;7887:7;7878:6;7867:9;7863:22;7806:89;:::i;:::-;7796:99;;7688:213;7953:2;7942:9;7938:18;7932:25;-1:-1;;;;;7969:6;7966:30;7963:2;;;8009:1;8006;7999:12;7963:2;8029:89;8110:7;8101:6;8090:9;8086:22;8029:89;:::i;:::-;8019:99;;7911:213;8176:3;8165:9;8161:19;8155:26;-1:-1;;;;;8193:6;8190:30;8187:2;;;8233:1;8230;8223:12;8187:2;8253:89;8334:7;8325:6;8314:9;8310:22;8253:89;:::i;:::-;8243:99;;8134:214;8400:3;8389:9;8385:19;8379:26;-1:-1;;;;;8417:6;8414:30;8411:2;;;8457:1;8454;8447:12;8411:2;8477:73;8542:7;8533:6;8522:9;8518:22;8477:73;:::i;:::-;8467:83;;8358:198;7366:1200;;;;;;;;:::o;8573:648::-;;;;8739:2;8727:9;8718:7;8714:23;8710:32;8707:2;;;8755:1;8752;8745:12;8707:2;8790:1;8807:72;8871:7;8851:9;8807:72;:::i;:::-;8797:82;;8769:116;8916:2;8934:64;8990:7;8981:6;8970:9;8966:22;8934:64;:::i;:::-;8924:74;;8895:109;9056:2;9045:9;9041:18;9035:25;-1:-1;;;;;9072:6;9069:30;9066:2;;;9112:1;9109;9102:12;9066:2;9132:73;9197:7;9188:6;9177:9;9173:22;9132:73;:::i;:::-;9122:83;;9014:197;8701:520;;;;;:::o;9228:366::-;;;9349:2;9337:9;9328:7;9324:23;9320:32;9317:2;;;9365:1;9362;9355:12;9317:2;9400:1;9417:53;9462:7;9442:9;9417:53;:::i;:::-;9407:63;;9379:97;9507:2;9525:53;9570:7;9561:6;9550:9;9546:22;9525:53;:::i;9601:491::-;;;;9739:2;9727:9;9718:7;9714:23;9710:32;9707:2;;;9755:1;9752;9745:12;9707:2;9790:1;9807:53;9852:7;9832:9;9807:53;:::i;:::-;9797:63;;9769:97;9897:2;9915:53;9960:7;9951:6;9940:9;9936:22;9915:53;:::i;:::-;9905:63;;9876:98;10005:2;10023:53;10068:7;10059:6;10048:9;10044:22;10023:53;:::i;10099:490::-;;;;10239:2;10227:9;10218:7;10214:23;10210:32;10207:2;;;10255:1;10252;10245:12;10207:2;10290:1;10307:53;10352:7;10332:9;10307:53;:::i;:::-;10297:63;;10269:97;10425:2;10414:9;10410:18;10397:32;-1:-1;;;;;10441:6;10438:30;10435:2;;;10481:1;10478;10471:12;10435:2;10509:64;10565:7;10556:6;10545:9;10541:22;10509:64;:::i;:::-;10491:82;;;;10376:203;10201:388;;;;;:::o;10596:647::-;;;;;10769:2;10757:9;10748:7;10744:23;10740:32;10737:2;;;10785:1;10782;10775:12;10737:2;10820:1;10837:53;10882:7;10862:9;10837:53;:::i;:::-;10827:63;;10799:97;10927:2;10945:69;11006:7;10997:6;10986:9;10982:22;10945:69;:::i;:::-;10935:79;;10906:114;11079:2;11068:9;11064:18;11051:32;-1:-1;;;;;11095:6;11092:30;11089:2;;;11135:1;11132;11125:12;11089:2;11163:64;11219:7;11210:6;11199:9;11195:22;11163:64;:::i;:::-;10731:512;;;;-1:-1;11145:82;-1:-1;;;;10731:512::o;11250:656::-;;;11430:2;11418:9;11409:7;11405:23;11401:32;11398:2;;;11446:1;11443;11436:12;11398:2;11481:31;;-1:-1;;;;;11521:30;;11518:2;;;11564:1;11561;11554:12;11518:2;11584:78;11654:7;11645:6;11634:9;11630:22;11584:78;:::i;:::-;11574:88;;11460:208;11727:2;11716:9;11712:18;11699:32;-1:-1;;;;;11743:6;11740:30;11737:2;;;11783:1;11780;11773:12;11737:2;11803:87;11882:7;11873:6;11862:9;11858:22;11803:87;:::i;11913:675::-;;;12104:2;12092:9;12083:7;12079:23;12075:32;12072:2;;;12120:1;12117;12110:12;12072:2;12155:24;;-1:-1;;;;;12188:30;;12185:2;;;12231:1;12228;12221:12;12185:2;12251:89;12332:7;12323:6;12312:9;12308:22;12251:89;:::i;:::-;12241:99;;12134:212;12398:2;12387:9;12383:18;12377:25;-1:-1;;;;;12414:6;12411:30;12408:2;;;12454:1;12451;12444:12;12408:2;12474:98;12564:7;12555:6;12544:9;12540:22;12474:98;:::i;12595:257::-;;12707:2;12695:9;12686:7;12682:23;12678:32;12675:2;;;12723:1;12720;12713:12;12675:2;12758:1;12775:61;12828:7;12808:9;12775:61;:::i;12859:560::-;;;13032:2;13020:9;13011:7;13007:23;13003:32;13000:2;;;13048:1;13045;13038:12;13000:2;13083:1;13100:80;13172:7;13152:9;13100:80;:::i;:::-;13090:90;;13062:124;13238:2;13227:9;13223:18;13217:25;-1:-1;;;;;13254:6;13251:30;13248:2;;;13294:1;13291;13284:12;13248:2;13314:89;13395:7;13386:6;13375:9;13371:22;13314:89;:::i;13426:263::-;;13541:2;13529:9;13520:7;13516:23;13512:32;13509:2;;;13557:1;13554;13547:12;13509:2;13592:1;13609:64;13665:7;13645:9;13609:64;:::i;13697:201::-;;13798:60;13854:3;13846:6;13798:60;:::i;:::-;-1:-1;;13887:4;13878:14;;13791:107::o;13907:173::-;;13994:46;14036:3;14028:6;13994:46;:::i;14088:113::-;14171:24;14189:5;14171:24;:::i;:::-;14166:3;14159:37;14153:48;;:::o;14260:764::-;;14419:70;14483:5;14419:70;:::i;:::-;14502:84;14579:6;14574:3;14502:84;:::i;:::-;14495:91;;14607:72;14673:5;14607:72;:::i;:::-;14699:7;14727:1;14712:290;14737:6;14734:1;14731:13;14712:290;;;14804:6;14798:13;14825:77;14898:3;14883:13;14825:77;:::i;:::-;14818:84;;14919:76;14988:6;14919:76;:::i;:::-;14909:86;-1:-1;;14759:1;14752:9;14712:290;;;-1:-1;15015:3;;14398:626;-1:-1;;;;;14398:626::o;15063:690::-;;15208:54;15256:5;15208:54;:::i;:::-;15275:86;15354:6;15349:3;15275:86;:::i;:::-;15268:93;;15382:56;15432:5;15382:56;:::i;:::-;15458:7;15486:1;15471:260;15496:6;15493:1;15490:13;15471:260;;;15563:6;15557:13;15584:63;15643:3;15628:13;15584:63;:::i;:::-;15577:70;;15664:60;15717:6;15664:60;:::i;:::-;15654:70;-1:-1;;15518:1;15511:9;15471:260;;15761:104;15838:21;15853:5;15838:21;:::i;15872:144::-;15959:51;16004:5;15959:51;:::i;16023:154::-;16120:51;16165:5;16120:51;:::i;16184:347::-;;16296:39;16329:5;16296:39;:::i;:::-;16347:71;16411:6;16406:3;16347:71;:::i;:::-;16340:78;;16423:52;16468:6;16463:3;16456:4;16449:5;16445:16;16423:52;:::i;:::-;16496:29;16518:6;16496:29;:::i;:::-;16487:39;;;;16276:255;-1:-1;;;16276:255::o;16539:373::-;;16699:67;16763:2;16758:3;16699:67;:::i;:::-;16799:34;16779:55;;-1:-1;;;16863:2;16854:12;;16847:28;16903:2;16894:12;;16685:227;-1:-1;;16685:227::o;16921:378::-;;17081:67;17145:2;17140:3;17081:67;:::i;:::-;17181:34;17161:55;;-1:-1;;;17245:2;17236:12;;17229:33;17290:2;17281:12;;17067:232;-1:-1;;17067:232::o;17307:103::-;17380:24;17398:5;17380:24;:::i;17537:222::-;17664:2;17649:18;;17678:71;17653:9;17722:6;17678:71;:::i;17766:620::-;18013:2;17998:18;;18027:71;18002:9;18071:6;18027:71;:::i;:::-;18109:86;18191:2;18180:9;18176:18;18167:6;18109:86;:::i;:::-;18243:9;18237:4;18233:20;18228:2;18217:9;18213:18;18206:48;18268:108;18371:4;18362:6;18268:108;:::i;18393:398::-;18584:2;18598:47;;;18569:18;;18659:122;18569:18;18767:6;18659:122;:::i;18798:370::-;18975:2;18989:47;;;18960:18;;19050:108;18960:18;19144:6;19050:108;:::i;19175:481::-;19380:2;19394:47;;;19365:18;;19455:108;19365:18;19549:6;19455:108;:::i;:::-;19447:116;;19574:72;19642:2;19631:9;19627:18;19618:6;19574:72;:::i;19663:210::-;19784:2;19769:18;;19798:65;19773:9;19836:6;19798:65;:::i;19880:310::-;20027:2;20041:47;;;20012:18;;20102:78;20012:18;20166:6;20102:78;:::i;20197:416::-;20397:2;20411:47;;;20382:18;;20472:131;20382:18;20472:131;:::i;20620:416::-;20820:2;20834:47;;;20805:18;;20895:131;20805:18;20895:131;:::i;21043:222::-;21170:2;21155:18;;21184:71;21159:9;21228:6;21184:71;:::i;21272:256::-;21334:2;21328:9;21360:17;;;-1:-1;;;;;21420:34;;21456:22;;;21417:62;21414:2;;;21492:1;21489;21482:12;21414:2;21508;21501:22;21312:216;;-1:-1;21312:216::o;21535:304::-;;-1:-1;;;;;21686:6;21683:30;21680:2;;;21726:1;21723;21716:12;21680:2;-1:-1;21761:4;21749:17;;;21814:15;;21617:222::o;22477:321::-;;-1:-1;;;;;22612:6;22609:30;22606:2;;;22652:1;22649;22642:12;22606:2;-1:-1;22783:4;22719;22696:17;;;;-1:-1;;22692:33;22773:15;;22543:255::o;22805:167::-;22945:4;22936:14;;22893:79::o;23137:153::-;23256:12;;23227:63::o;23817:178::-;23935:19;;;23984:4;23975:14;;23928:67::o;24360:91::-;;24422:24;24440:5;24422:24;:::i;24564:85::-;24630:13;24623:21;;24606:43::o;24656:138::-;24734:5;24740:49;24734:5;24740:49;:::i;:::-;24717:77;;;:::o;24801:138::-;24879:5;24885:49;24879:5;24885:49;:::i;24946:121::-;-1:-1;;;;;25008:54;;24991:76::o;25074:72::-;25136:5;25119:27::o;25153:138::-;;25246:40;25280:5;25246:40;:::i;25298:138::-;;25391:40;25425:5;25391:40;:::i;25444:145::-;25525:6;25520:3;25515;25502:30;-1:-1;25581:1;25563:16;;25556:27;25495:94::o;25598:268::-;25663:1;25670:101;25684:6;25681:1;25678:13;25670:101;;;25751:11;;;25745:18;25732:11;;;25725:39;25706:2;25699:10;25670:101;;;25786:6;25783:1;25780:13;25777:2;;;25851:1;25842:6;25837:3;25833:16;25826:27;25777:2;25647:219;;;;:::o;25874:97::-;25962:2;25942:14;-1:-1;;25938:28;;25922:49::o;25979:108::-;26064:2;26057:5;26054:13;26044:2;;26071:9;26094:107;26179:1;26172:5;26169:12;26159:2;;26185:9;26208:117;26277:24;26295:5;26277:24;:::i;:::-;26270:5;26267:35;26257:2;;26316:1;26313;26306:12;26472:111;26538:21;26553:5;26538:21;:::i;26590:111::-;26675:2;26668:5;26665:13;26655:2;;26692:1;26689;26682:12;26708:110;26793:1;26786:5;26783:12;26773:2;;26809:1;26806;26799:12;26825:117;26894:24;26912:5;26894:24;:::i", - "linkReferences": {}, - "immutableReferences": { - "59893": [ - { - "start": 409, - "length": 32 - }, - { - "start": 2088, - "length": 32 - } - ], - "60586": [ - { - "start": 1937, - "length": 32 - }, - { - "start": 3180, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "BYPASS_FLAG()": "572a45e1", - "activateForFund(address)": "ceb9a0ad", - "addFundSettings(address,bytes)": "0f5f6b4f", - "canDisable()": "1ef92578", - "getListIdsForFundAndUser(address,address)": "b174666c", - "getPolicyManager()": "d44ad6cb", - "identifier()": "7998a1c4", - "implementedHooks()": "cbf54bb2", - "passesRule(address,address,uint256)": "cdb6552c", - "updateFundSettings(address,bytes)": "0d4d7510", - "validateRule(address,uint8,bytes)": "579be718" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_policyManager\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_uintListRegistry\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"listIds\",\"type\":\"uint256[]\"}],\"name\":\"ListsSetForFundAndUser\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"BYPASS_FLAG\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"activateForFund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_encodedSettings\",\"type\":\"bytes\"}],\"name\":\"addFundSettings\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"canDisable\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"canDisable_\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"getListIdsForFundAndUser\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"listIds_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPolicyManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"policyManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"identifier\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"identifier_\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"implementedHooks\",\"outputs\":[{\"internalType\":\"enum IPolicyManager.PolicyHook[]\",\"name\":\"implementedHooks_\",\"type\":\"uint8[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_caller\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_externalPositionTypeId\",\"type\":\"uint256\"}],\"name\":\"passesRule\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isValid_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_encodedSettings\",\"type\":\"bytes\"}],\"name\":\"updateFundSettings\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"enum IPolicyManager.PolicyHook\",\"name\":\"_hook\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"_encodedArgs\",\"type\":\"bytes\"}],\"name\":\"validateRule\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isValid_\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"activateForFund(address)\":{\"details\":\"Unimplemented by default, can be overridden by the policy\"},\"addFundSettings(address,bytes)\":{\"params\":{\"_comptrollerProxy\":\"The fund's ComptrollerProxy address\",\"_encodedSettings\":\"Encoded settings to apply to a fund\"}},\"canDisable()\":{\"returns\":{\"canDisable_\":\"True if the policy can be disabled\"}},\"getListIdsForFundAndUser(address,address)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\",\"_user\":\"The user of the fund\"},\"returns\":{\"listIds_\":\"The list ids\"}},\"getPolicyManager()\":{\"returns\":{\"policyManager_\":\"The `POLICY_MANAGER` variable value\"}},\"identifier()\":{\"returns\":{\"identifier_\":\"The identifier string\"}},\"implementedHooks()\":{\"returns\":{\"implementedHooks_\":\"The implemented PolicyHooks\"}},\"passesRule(address,address,uint256)\":{\"params\":{\"_caller\":\"The caller for which to check the rule\",\"_comptrollerProxy\":\"The fund's ComptrollerProxy address\",\"_externalPositionTypeId\":\"The external position type id for which to check the rule\"},\"returns\":{\"isValid_\":\"True if the rule passes\"}},\"updateFundSettings(address,bytes)\":{\"details\":\"Assigns a new array of lists (does not add/remove lists nor update items in a list)\",\"params\":{\"_comptrollerProxy\":\"The fund's ComptrollerProxy address\",\"_encodedSettings\":\"Encoded settings to apply to a fund\"}},\"validateRule(address,uint8,bytes)\":{\"details\":\"onlyPolicyManager validation not necessary, as state is not updated and no events are fired\",\"params\":{\"_comptrollerProxy\":\"The fund's ComptrollerProxy address\",\"_encodedArgs\":\"Encoded args with which to validate the rule\",\"_hook\":\"The PolicyHook\"},\"returns\":{\"isValid_\":\"True if the rule passes\"}}},\"title\":\"AllowedExternalPositionTypesPerManagerPolicy Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"activateForFund(address)\":{\"notice\":\"Validates and initializes a policy as necessary prior to fund activation\"},\"addFundSettings(address,bytes)\":{\"notice\":\"Adds the initial policy settings for a fund\"},\"canDisable()\":{\"notice\":\"Whether or not the policy can be disabled\"},\"getListIdsForFundAndUser(address,address)\":{\"notice\":\"Gets the list ids used by a given fund and user\"},\"getPolicyManager()\":{\"notice\":\"Gets the `POLICY_MANAGER` variable value\"},\"identifier()\":{\"notice\":\"Provides a constant string identifier for a policy\"},\"implementedHooks()\":{\"notice\":\"Gets the implemented PolicyHooks for a policy\"},\"passesRule(address,address,uint256)\":{\"notice\":\"Checks whether a particular condition passes the rule for a particular fund\"},\"updateFundSettings(address,bytes)\":{\"notice\":\"Updates the policy settings for a fund\"},\"validateRule(address,uint8,bytes)\":{\"notice\":\"Apply the rule with the specified parameters of a PolicyHook\"}},\"notice\":\"A policy that limits which external position types an asset manager can use for a given fund\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/policy-manager/policies/asset-managers/AllowedExternalPositionTypesPerManagerPolicy.sol\":\"AllowedExternalPositionTypesPerManagerPolicy\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/persistent/external-positions/IExternalPositionProxy.sol\":{\"keccak256\":\"0xc74e623dbdc949df49e9cef31e0f958b17c715d89198dbbc1754d8f9c21e90de\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://074daf0a9f4e667964e6d50039986e3d792860cdece05d21e3606d33358a02b2\",\"dweb:/ipfs/QmVHXiKry9fYfjSNd6dxmtSr7DubNJvYJTNXtLDKGer2xH\"]},\"contracts/persistent/protocol-fee-reserve/interfaces/IProtocolFeeReserve1.sol\":{\"keccak256\":\"0x2728878c423db523bc95189137e8c58d2d7db9f56bbd5c6b1f988c08b551fbab\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3b0df1d2eb74151265d03ab91a7c341f7beca475dd2f4d669052dbc4ee2c06ac\",\"dweb:/ipfs/QmVx1cgrxQNYfdK1Kn15pcgqf79Uw8bF3U6i7F2HG2rj6G\"]},\"contracts/persistent/uint-list-registry/UintListRegistry.sol\":{\"keccak256\":\"0x79b8f209651bbeffcb7274a88753a929f022689a9bce9575a53ff03658ee2825\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a8e334b6b57232ab6dae49e38cf4cbbe376ff9bb8e4f71665a7cca33c2aed99d\",\"dweb:/ipfs/QmNiTw8WyGBjhqAy4JB1dGscKEBxvrpWNJYuPvb3ojxG6y\"]},\"contracts/persistent/vault/VaultLibBase1.sol\":{\"keccak256\":\"0xa4dac1e4cdb311a2ab187135355357d8790c505ef36dd912c057fe53743d30b5\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b66efe821016ab927c949263023260515e90f5d480dc8d94eefbfeec7bf7490b\",\"dweb:/ipfs/QmNY3xKnhL9EptAbxGvXHGAXfV9pj3dDPwsZnKrPs54ZHw\"]},\"contracts/persistent/vault/VaultLibBase2.sol\":{\"keccak256\":\"0xf7d31f2a9a47770ed3f444be2c4fe9262ddb55fef7f25e546b1f03c9afec4c09\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9353ddce7c9b8b3c13fed23fe8edec99ca610d791b0c5b204b3d01f1f08d07d2\",\"dweb:/ipfs/QmeVsEh3joCjv49BRXeHASevnZZ5xdZXpkctHT8BPf37N2\"]},\"contracts/persistent/vault/VaultLibBaseCore.sol\":{\"keccak256\":\"0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd\",\"dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz\"]},\"contracts/persistent/vault/interfaces/IExternalPositionVault.sol\":{\"keccak256\":\"0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d\",\"dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8\"]},\"contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol\":{\"keccak256\":\"0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb\",\"dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU\"]},\"contracts/persistent/vault/interfaces/IMigratableVault.sol\":{\"keccak256\":\"0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6\",\"dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs\"]},\"contracts/persistent/vault/interfaces/IVaultCore.sol\":{\"keccak256\":\"0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd\",\"dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr\"]},\"contracts/persistent/vault/utils/ProxiableVaultLib.sol\":{\"keccak256\":\"0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44\",\"dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4\"]},\"contracts/persistent/vault/utils/SharesTokenBase.sol\":{\"keccak256\":\"0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8\",\"dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4\"]},\"contracts/persistent/vault/utils/VaultLibSafeMath.sol\":{\"keccak256\":\"0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02\",\"dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG\"]},\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/core/fund/comptroller/ComptrollerLib.sol\":{\"keccak256\":\"0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579\",\"dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq\"]},\"contracts/release/core/fund/comptroller/IComptroller.sol\":{\"keccak256\":\"0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97\",\"dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L\"]},\"contracts/release/core/fund/vault/IVault.sol\":{\"keccak256\":\"0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599\",\"dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG\"]},\"contracts/release/core/fund/vault/VaultLib.sol\":{\"keccak256\":\"0x07e49445ab55c01e1b499a48baadc2a15d1eba621f1c6d3ccfdb84c87b976da8\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://56d882459248f73e137db2e097fc56b946147fb28ec21661b77431f88e856cb4\",\"dweb:/ipfs/QmRP6Ry7DCS5uoKxnnkTomHSzbaCze6cHqbR9aLdjoF6vK\"]},\"contracts/release/extensions/IExtension.sol\":{\"keccak256\":\"0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70\",\"dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t\"]},\"contracts/release/extensions/external-position-manager/IExternalPositionManager.sol\":{\"keccak256\":\"0x3af3f634e1f99fb97091b7825c0d2e2baaafc124d4e87d56cb0c17ff8554f6c6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://515470605afe5ef147f30fa75ce7818f0e00e3d321eb81a4d9bffcdefc294495\",\"dweb:/ipfs/QmPKsp99pfHoz9Tfo3ZxnkmqDqJtN9PxqacF2RmeVfxUJF\"]},\"contracts/release/extensions/fee-manager/IFeeManager.sol\":{\"keccak256\":\"0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22\",\"dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod\"]},\"contracts/release/extensions/policy-manager/IPolicy.sol\":{\"keccak256\":\"0xc12663ca72065b256c3b934ab738fde26c147c7b0399de43650df89dd52ee467\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://be8fecfcba0f3fda615f0a1bb3c766750c23761ef751d7c4472dfe540e460cd1\",\"dweb:/ipfs/QmaarPoRTsX6NiJ8V4u2f3Qh6d7tUs28bw9R14An3t5Bs1\"]},\"contracts/release/extensions/policy-manager/IPolicyManager.sol\":{\"keccak256\":\"0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa\",\"dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb\"]},\"contracts/release/extensions/policy-manager/policies/asset-managers/AllowedExternalPositionTypesPerManagerPolicy.sol\":{\"keccak256\":\"0x213839d5d035141b5773ac47b6f3da8977c8f0a603f2a677e45b56802f2016ec\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://e302726a3996f3325ef45b3e4795e89a5e8206b2ab67dd25467eaf3e23e0607f\",\"dweb:/ipfs/QmeSyr2cJ9fkhfWNs4ZpoQM3jPUdPEPRQrvqXYnKgUXNDb\"]},\"contracts/release/extensions/policy-manager/policies/utils/PolicyBase.sol\":{\"keccak256\":\"0x972311abb98f0da815b4aca83d5afdd219d3604ec19cf5e3773c0c305bd9b3f1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2452f3d1f3b1d8e8459a07489146a2d0d8a10463715937995cbe77ee5de8c069\",\"dweb:/ipfs/Qmf2hhd2DVbjpxmbNGAhRZNZkqpGZA2mX3eA1WNwtv6t5Y\"]},\"contracts/release/extensions/policy-manager/policies/utils/UintListRegistryPerUserPolicyBase.sol\":{\"keccak256\":\"0x1c17f73b9dc14b9a6695c7bb74c1bee95b5d2d2e012817196f06b3b858b852f4\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://7461f0c59077138b3242c47a7f5fe0208b0183107afc5df8ef2b6d68500ff68d\",\"dweb:/ipfs/QmRFY3XGKkmvc5TBmVQ1wQu3dsBD78N82EM7SdZMG5teoX\"]},\"contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol\":{\"keccak256\":\"0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f\",\"dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol\":{\"keccak256\":\"0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0\",\"dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol\":{\"keccak256\":\"0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b\",\"dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3\"]},\"contracts/release/infrastructure/protocol-fees/IProtocolFeeTracker.sol\":{\"keccak256\":\"0x232b347f83457439064add7369bfe1930c7cb56f15930bb87d640e909c15e447\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://24f9af5eebdd373b1d7a598c096eb6def31b2640d54416d7d5a7226e1cef17e6\",\"dweb:/ipfs/QmStq9ByGuSYdKwTmZf52L1X6sZVJUfXTnoVbnjLLiUcHG\"]},\"contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol\":{\"keccak256\":\"0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965\",\"dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ\"]},\"contracts/release/interfaces/IGsnForwarder.sol\":{\"keccak256\":\"0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29\",\"dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G\"]},\"contracts/release/interfaces/IGsnPaymaster.sol\":{\"keccak256\":\"0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4\",\"dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF\"]},\"contracts/release/interfaces/IGsnTypes.sol\":{\"keccak256\":\"0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7\",\"dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C\"]},\"contracts/release/interfaces/IWETH.sol\":{\"keccak256\":\"0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2\",\"dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/beacon-proxy/IBeacon.sol\":{\"keccak256\":\"0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39\",\"dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V\"]},\"contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol\":{\"keccak256\":\"0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be\",\"dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20Burnable.sol\":{\"keccak256\":\"0x9c0eb3b0e11d2480d49991dc384f1e5f9c9b9967cc81944d50916a9b9c6c4984\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99e4033d778624992e86f0b6d801a4f6d7b5c0cd5c79c1296be90a051ad5f5af\",\"dweb:/ipfs/QmShYmkUqh6pDEeoWadZ24icmCr4C2Xys1uE5boivPmbwf\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_policyManager", - "type": "address" - }, - { - "internalType": "address", - "name": "_uintListRegistry", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "comptrollerProxy", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "user", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256[]", - "name": "listIds", - "type": "uint256[]", - "indexed": false - } - ], - "type": "event", - "name": "ListsSetForFundAndUser", - "anonymous": false - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "BYPASS_FLAG", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "activateForFund" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_encodedSettings", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "addFundSettings" - }, - { - "inputs": [], - "stateMutability": "pure", - "type": "function", - "name": "canDisable", - "outputs": [ - { - "internalType": "bool", - "name": "canDisable_", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_user", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getListIdsForFundAndUser", - "outputs": [ - { - "internalType": "uint256[]", - "name": "listIds_", - "type": "uint256[]" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getPolicyManager", - "outputs": [ - { - "internalType": "address", - "name": "policyManager_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "pure", - "type": "function", - "name": "identifier", - "outputs": [ - { - "internalType": "string", - "name": "identifier_", - "type": "string" - } - ] - }, - { - "inputs": [], - "stateMutability": "pure", - "type": "function", - "name": "implementedHooks", - "outputs": [ - { - "internalType": "enum IPolicyManager.PolicyHook[]", - "name": "implementedHooks_", - "type": "uint8[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_caller", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_externalPositionTypeId", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "passesRule", - "outputs": [ - { - "internalType": "bool", - "name": "isValid_", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_encodedSettings", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "updateFundSettings" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "enum IPolicyManager.PolicyHook", - "name": "_hook", - "type": "uint8" - }, - { - "internalType": "bytes", - "name": "_encodedArgs", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "validateRule", - "outputs": [ - { - "internalType": "bool", - "name": "isValid_", - "type": "bool" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "activateForFund(address)": { - "details": "Unimplemented by default, can be overridden by the policy" - }, - "addFundSettings(address,bytes)": { - "params": { - "_comptrollerProxy": "The fund's ComptrollerProxy address", - "_encodedSettings": "Encoded settings to apply to a fund" - } - }, - "canDisable()": { - "returns": { - "canDisable_": "True if the policy can be disabled" - } - }, - "getListIdsForFundAndUser(address,address)": { - "params": { - "_comptrollerProxy": "The ComptrollerProxy of the fund", - "_user": "The user of the fund" - }, - "returns": { - "listIds_": "The list ids" - } - }, - "getPolicyManager()": { - "returns": { - "policyManager_": "The `POLICY_MANAGER` variable value" - } - }, - "identifier()": { - "returns": { - "identifier_": "The identifier string" - } - }, - "implementedHooks()": { - "returns": { - "implementedHooks_": "The implemented PolicyHooks" - } - }, - "passesRule(address,address,uint256)": { - "params": { - "_caller": "The caller for which to check the rule", - "_comptrollerProxy": "The fund's ComptrollerProxy address", - "_externalPositionTypeId": "The external position type id for which to check the rule" - }, - "returns": { - "isValid_": "True if the rule passes" - } - }, - "updateFundSettings(address,bytes)": { - "details": "Assigns a new array of lists (does not add/remove lists nor update items in a list)", - "params": { - "_comptrollerProxy": "The fund's ComptrollerProxy address", - "_encodedSettings": "Encoded settings to apply to a fund" - } - }, - "validateRule(address,uint8,bytes)": { - "details": "onlyPolicyManager validation not necessary, as state is not updated and no events are fired", - "params": { - "_comptrollerProxy": "The fund's ComptrollerProxy address", - "_encodedArgs": "Encoded args with which to validate the rule", - "_hook": "The PolicyHook" - }, - "returns": { - "isValid_": "True if the rule passes" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "activateForFund(address)": { - "notice": "Validates and initializes a policy as necessary prior to fund activation" - }, - "addFundSettings(address,bytes)": { - "notice": "Adds the initial policy settings for a fund" - }, - "canDisable()": { - "notice": "Whether or not the policy can be disabled" - }, - "getListIdsForFundAndUser(address,address)": { - "notice": "Gets the list ids used by a given fund and user" - }, - "getPolicyManager()": { - "notice": "Gets the `POLICY_MANAGER` variable value" - }, - "identifier()": { - "notice": "Provides a constant string identifier for a policy" - }, - "implementedHooks()": { - "notice": "Gets the implemented PolicyHooks for a policy" - }, - "passesRule(address,address,uint256)": { - "notice": "Checks whether a particular condition passes the rule for a particular fund" - }, - "updateFundSettings(address,bytes)": { - "notice": "Updates the policy settings for a fund" - }, - "validateRule(address,uint8,bytes)": { - "notice": "Apply the rule with the specified parameters of a PolicyHook" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/policy-manager/policies/asset-managers/AllowedExternalPositionTypesPerManagerPolicy.sol": "AllowedExternalPositionTypesPerManagerPolicy" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/dispatcher/IDispatcher.sol": { - "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", - "urls": [ - "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", - "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/external-positions/IExternalPosition.sol": { - "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", - "urls": [ - "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", - "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/external-positions/IExternalPositionProxy.sol": { - "keccak256": "0xc74e623dbdc949df49e9cef31e0f958b17c715d89198dbbc1754d8f9c21e90de", - "urls": [ - "bzz-raw://074daf0a9f4e667964e6d50039986e3d792860cdece05d21e3606d33358a02b2", - "dweb:/ipfs/QmVHXiKry9fYfjSNd6dxmtSr7DubNJvYJTNXtLDKGer2xH" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/protocol-fee-reserve/interfaces/IProtocolFeeReserve1.sol": { - "keccak256": "0x2728878c423db523bc95189137e8c58d2d7db9f56bbd5c6b1f988c08b551fbab", - "urls": [ - "bzz-raw://3b0df1d2eb74151265d03ab91a7c341f7beca475dd2f4d669052dbc4ee2c06ac", - "dweb:/ipfs/QmVx1cgrxQNYfdK1Kn15pcgqf79Uw8bF3U6i7F2HG2rj6G" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/uint-list-registry/UintListRegistry.sol": { - "keccak256": "0x79b8f209651bbeffcb7274a88753a929f022689a9bce9575a53ff03658ee2825", - "urls": [ - "bzz-raw://a8e334b6b57232ab6dae49e38cf4cbbe376ff9bb8e4f71665a7cca33c2aed99d", - "dweb:/ipfs/QmNiTw8WyGBjhqAy4JB1dGscKEBxvrpWNJYuPvb3ojxG6y" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/VaultLibBase1.sol": { - "keccak256": "0xa4dac1e4cdb311a2ab187135355357d8790c505ef36dd912c057fe53743d30b5", - "urls": [ - "bzz-raw://b66efe821016ab927c949263023260515e90f5d480dc8d94eefbfeec7bf7490b", - "dweb:/ipfs/QmNY3xKnhL9EptAbxGvXHGAXfV9pj3dDPwsZnKrPs54ZHw" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/VaultLibBase2.sol": { - "keccak256": "0xf7d31f2a9a47770ed3f444be2c4fe9262ddb55fef7f25e546b1f03c9afec4c09", - "urls": [ - "bzz-raw://9353ddce7c9b8b3c13fed23fe8edec99ca610d791b0c5b204b3d01f1f08d07d2", - "dweb:/ipfs/QmeVsEh3joCjv49BRXeHASevnZZ5xdZXpkctHT8BPf37N2" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/VaultLibBaseCore.sol": { - "keccak256": "0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074", - "urls": [ - "bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd", - "dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IExternalPositionVault.sol": { - "keccak256": "0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6", - "urls": [ - "bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d", - "dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol": { - "keccak256": "0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0", - "urls": [ - "bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb", - "dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IMigratableVault.sol": { - "keccak256": "0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238", - "urls": [ - "bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6", - "dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IVaultCore.sol": { - "keccak256": "0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80", - "urls": [ - "bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd", - "dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/utils/ProxiableVaultLib.sol": { - "keccak256": "0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76", - "urls": [ - "bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44", - "dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/utils/SharesTokenBase.sol": { - "keccak256": "0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113", - "urls": [ - "bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8", - "dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/utils/VaultLibSafeMath.sol": { - "keccak256": "0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d", - "urls": [ - "bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02", - "dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund-deployer/IFundDeployer.sol": { - "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", - "urls": [ - "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", - "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/comptroller/ComptrollerLib.sol": { - "keccak256": "0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64", - "urls": [ - "bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579", - "dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/comptroller/IComptroller.sol": { - "keccak256": "0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f", - "urls": [ - "bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97", - "dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/vault/IVault.sol": { - "keccak256": "0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd", - "urls": [ - "bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599", - "dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/vault/VaultLib.sol": { - "keccak256": "0x07e49445ab55c01e1b499a48baadc2a15d1eba621f1c6d3ccfdb84c87b976da8", - "urls": [ - "bzz-raw://56d882459248f73e137db2e097fc56b946147fb28ec21661b77431f88e856cb4", - "dweb:/ipfs/QmRP6Ry7DCS5uoKxnnkTomHSzbaCze6cHqbR9aLdjoF6vK" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/IExtension.sol": { - "keccak256": "0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b", - "urls": [ - "bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70", - "dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/IExternalPositionManager.sol": { - "keccak256": "0x3af3f634e1f99fb97091b7825c0d2e2baaafc124d4e87d56cb0c17ff8554f6c6", - "urls": [ - "bzz-raw://515470605afe5ef147f30fa75ce7818f0e00e3d321eb81a4d9bffcdefc294495", - "dweb:/ipfs/QmPKsp99pfHoz9Tfo3ZxnkmqDqJtN9PxqacF2RmeVfxUJF" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/fee-manager/IFeeManager.sol": { - "keccak256": "0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51", - "urls": [ - "bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22", - "dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/policy-manager/IPolicy.sol": { - "keccak256": "0xc12663ca72065b256c3b934ab738fde26c147c7b0399de43650df89dd52ee467", - "urls": [ - "bzz-raw://be8fecfcba0f3fda615f0a1bb3c766750c23761ef751d7c4472dfe540e460cd1", - "dweb:/ipfs/QmaarPoRTsX6NiJ8V4u2f3Qh6d7tUs28bw9R14An3t5Bs1" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/policy-manager/IPolicyManager.sol": { - "keccak256": "0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32", - "urls": [ - "bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa", - "dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/policy-manager/policies/asset-managers/AllowedExternalPositionTypesPerManagerPolicy.sol": { - "keccak256": "0x213839d5d035141b5773ac47b6f3da8977c8f0a603f2a677e45b56802f2016ec", - "urls": [ - "bzz-raw://e302726a3996f3325ef45b3e4795e89a5e8206b2ab67dd25467eaf3e23e0607f", - "dweb:/ipfs/QmeSyr2cJ9fkhfWNs4ZpoQM3jPUdPEPRQrvqXYnKgUXNDb" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/policy-manager/policies/utils/PolicyBase.sol": { - "keccak256": "0x972311abb98f0da815b4aca83d5afdd219d3604ec19cf5e3773c0c305bd9b3f1", - "urls": [ - "bzz-raw://2452f3d1f3b1d8e8459a07489146a2d0d8a10463715937995cbe77ee5de8c069", - "dweb:/ipfs/Qmf2hhd2DVbjpxmbNGAhRZNZkqpGZA2mX3eA1WNwtv6t5Y" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/policy-manager/policies/utils/UintListRegistryPerUserPolicyBase.sol": { - "keccak256": "0x1c17f73b9dc14b9a6695c7bb74c1bee95b5d2d2e012817196f06b3b858b852f4", - "urls": [ - "bzz-raw://7461f0c59077138b3242c47a7f5fe0208b0183107afc5df8ef2b6d68500ff68d", - "dweb:/ipfs/QmRFY3XGKkmvc5TBmVQ1wQu3dsBD78N82EM7SdZMG5teoX" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol": { - "keccak256": "0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609", - "urls": [ - "bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f", - "dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol": { - "keccak256": "0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01", - "urls": [ - "bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0", - "dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol": { - "keccak256": "0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196", - "urls": [ - "bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b", - "dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/protocol-fees/IProtocolFeeTracker.sol": { - "keccak256": "0x232b347f83457439064add7369bfe1930c7cb56f15930bb87d640e909c15e447", - "urls": [ - "bzz-raw://24f9af5eebdd373b1d7a598c096eb6def31b2640d54416d7d5a7226e1cef17e6", - "dweb:/ipfs/QmStq9ByGuSYdKwTmZf52L1X6sZVJUfXTnoVbnjLLiUcHG" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol": { - "keccak256": "0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794", - "urls": [ - "bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965", - "dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IGsnForwarder.sol": { - "keccak256": "0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030", - "urls": [ - "bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29", - "dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IGsnPaymaster.sol": { - "keccak256": "0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c", - "urls": [ - "bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4", - "dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IGsnTypes.sol": { - "keccak256": "0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714", - "urls": [ - "bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7", - "dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IWETH.sol": { - "keccak256": "0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2", - "urls": [ - "bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2", - "dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AddressArrayLib.sol": { - "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", - "urls": [ - "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", - "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/beacon-proxy/IBeacon.sol": { - "keccak256": "0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2", - "urls": [ - "bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39", - "dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol": { - "keccak256": "0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc", - "urls": [ - "bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be", - "dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20Burnable.sol": { - "keccak256": "0x9c0eb3b0e11d2480d49991dc384f1e5f9c9b9967cc81944d50916a9b9c6c4984", - "urls": [ - "bzz-raw://99e4033d778624992e86f0b6d801a4f6d7b5c0cd5c79c1296be90a051ad5f5af", - "dweb:/ipfs/QmShYmkUqh6pDEeoWadZ24icmCr4C2Xys1uE5boivPmbwf" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { - "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", - "urls": [ - "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", - "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Address.sol": { - "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", - "urls": [ - "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", - "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 210 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_policyManager", "type": "address", "internalType": "address" }, { "name": "_uintListRegistry", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "BYPASS_FLAG", "inputs": [], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "activateForFund", "inputs": [ { "name": "", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "addFundSettings", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" }, { "name": "_encodedSettings", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "canDisable", "inputs": [], "outputs": [ { "name": "canDisable_", "type": "bool", "internalType": "bool" } ], "stateMutability": "pure" }, { "type": "function", "name": "getListIdsForFundAndUser", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" }, { "name": "_user", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "listIds_", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "view" }, { "type": "function", "name": "getPolicyManager", "inputs": [], "outputs": [ { "name": "policyManager_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "identifier", "inputs": [], "outputs": [ { "name": "identifier_", "type": "string", "internalType": "string" } ], "stateMutability": "pure" }, { "type": "function", "name": "implementedHooks", "inputs": [], "outputs": [ { "name": "implementedHooks_", "type": "uint8[]", "internalType": "enum IPolicyManager.PolicyHook[]" } ], "stateMutability": "pure" }, { "type": "function", "name": "passesRule", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" }, { "name": "_caller", "type": "address", "internalType": "address" }, { "name": "_externalPositionTypeId", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "isValid_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "updateFundSettings", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" }, { "name": "_encodedSettings", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "validateRule", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" }, { "name": "_hook", "type": "uint8", "internalType": "enum IPolicyManager.PolicyHook" }, { "name": "_encodedArgs", "type": "bytes", "internalType": "bytes" } ], "outputs": [ { "name": "isValid_", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "event", "name": "ListsSetForFundAndUser", "inputs": [ { "name": "comptrollerProxy", "type": "address", "indexed": true, "internalType": "address" }, { "name": "user", "type": "address", "indexed": true, "internalType": "address" }, { "name": "listIds", "type": "uint256[]", "indexed": false, "internalType": "uint256[]" } ], "anonymous": false } ], "bytecode": { "object": "0x60c06040523480156200001157600080fd5b50604051620019e9380380620019e9833981016040819052620000349162000066565b6001600160601b0319606092831b8116608052911b1660a052620000d1565b80516200006081620000b7565b92915050565b600080604083850312156200007a57600080fd5b600062000088858562000053565b92505060206200009b8582860162000053565b9150509250929050565b60006001600160a01b03821662000060565b620000c281620000a5565b8114620000ce57600080fd5b50565b60805160601c60a05160601c6118e462000105600039806107915280610c6c525080610199528061082852506118e46000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c80637998a1c4116100715780637998a1c414610109578063b174666c1461011e578063cbf54bb21461013e578063cdb6552c14610153578063ceb9a0ad14610166578063d44ad6cb14610179576100a9565b80630d4d7510146100ae5780630f5f6b4f146100ae5780631ef92578146100c3578063572a45e1146100e1578063579be718146100f6575b600080fd5b6100c16100bc3660046112be565b61018e565b005b6100cb6101ef565b6040516100d891906116f7565b60405180910390f35b6100e96101f4565b6040516100d89190611736565b6100cb610104366004611313565b6101fa565b6101116104a3565b6040516100d89190611705565b61013161012c36600461124b565b6104c3565b6040516100d891906116c6565b61014661053b565b6040516100d891906116b5565b6100cb61016136600461127b565b61062c565b6100c1610174366004611086565b610823565b610181610826565b6040516100d8919061167a565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146101df5760405162461bcd60e51b81526004016101d690611726565b60405180910390fd5b6101ea83838361084a565b505050565b600190565b60001981565b60008080600686600981111561020c57fe5b141561025b5761025185858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506108c992505050565b509250905061048d565b600786600981111561026957fe5b14156103395760006102b086868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506108ef92505050565b5050604080516304af029160e21b81529051949650929450506001600160a01b038416926312bc0a44926004808201935060209291829003018186803b1580156102f957600080fd5b505afa15801561030d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103319190611499565b92505061048d565b600986600981111561034757fe5b14156103cf57600061038e86868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061092092505050565b8092508193505050806001600160a01b03166312bc0a446040518163ffffffff1660e01b815260040160206040518083038186803b1580156102f957600080fd5b600061041086868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061092092505050565b8092508193505050806001600160a01b03166312bc0a446040518163ffffffff1660e01b815260040160206040518083038186803b15801561045157600080fd5b505afa158015610465573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104899190611499565b9250505b61049887828461062c565b979650505050505050565b60606040518060600160405280602b81526020016118ad602b9139905090565b6001600160a01b0380831660009081526020818152604080832093851683529281529082902080548351818402810184019094528084526060939283018282801561052d57602002820191906000526020600020905b815481526020019060010190808311610519575b505050505090505b92915050565b60408051600480825260a082019092526060916020820160808036833701905050905060068160008151811061056d57fe5b6020026020010190600981111561058057fe5b9081600981111561058d57fe5b815250506007816001815181106105a057fe5b602002602001019060098111156105b357fe5b908160098111156105c057fe5b815250506009816002815181106105d357fe5b602002602001019060098111156105e657fe5b908160098111156105f357fe5b8152505060088160038151811061060657fe5b6020026020010190600981111561061957fe5b9081600981111561062657fe5b90525090565b6000836001600160a01b031663c98091876040518163ffffffff1660e01b815260040160206040518083038186803b15801561066757600080fd5b505afa15801561067b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061069f91906110ac565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b1580156106d757600080fd5b505afa1580156106eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061070f91906110ac565b6001600160a01b0316836001600160a01b031614156107305750600161081c565b606061073c85856104c3565b905080516000141561075257600091505061081c565b6000198160008151811061076257fe5b6020026020010151141561077a57600191505061081c565b604051632772da5560e11b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690634ee5b4aa906107c890849087906004016116d7565b60206040518083038186803b1580156107e057600080fd5b505afa1580156107f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108189190611434565b9150505b9392505050565b50565b7f000000000000000000000000000000000000000000000000000000000000000090565b6060806108578484610940565b91509150805182511461087c5760405162461bcd60e51b81526004016101d690611716565b60005b81518110156108c1576108b98684838151811061089857fe5b60200260200101518484815181106108ac57fe5b602002602001015161095b565b60010161087f565b505050505050565b6000806060838060200190518101906108e291906111e7565b9250925092509193909250565b6000806060806060808680602001905181019061090c9190611104565b949c939b5091995097509550909350915050565b6000808280602001905181019061093791906110ca565b91509150915091565b60608061094f8385018561137a565b915091505b9250929050565b60608061096783610c2b565b6001600160a01b03808816600090815260208181526040808320938a16835292905220549193509150156109c3576001600160a01b0380861660009081526020818152604080832093881683529290529081206109c391610d18565b606081518351016001600160401b03811180156109df57600080fd5b50604051908082528060200260200182016040528015610a09578160200160208202803683370190505b50805190915015610bd85760005b8351811015610aab57838181518110610a2c57fe5b6020026020010151828281518110610a4057fe5b6020908102919091018101919091526001600160a01b0380891660009081528083526040808220928a1682529190925290208451859083908110610a8057fe5b6020908102919091018101518254600181810185556000948552929093209092019190915501610a17565b50815115610bd8576000866001600160a01b031663c98091876040518163ffffffff1660e01b815260040160206040518083038186803b158015610aee57600080fd5b505afa158015610b02573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b2691906110ac565b905060005b8351811015610bd5576000818651019050610b5983868481518110610b4c57fe5b6020026020010151610c42565b848281518110610b6557fe5b6020908102919091018101919091526001600160a01b03808b1660009081528083526040808220928c1682529190925290208451859083908110610ba557fe5b60209081029190910181015182546001818101855560009485529290932090920191909155919091019050610b2b565b50505b846001600160a01b0316866001600160a01b03167fe737257df130e7ddcae83b49adac67dc3dcc32950b3e5ee558eae2f0b842a50f83604051610c1b91906116c6565b60405180910390a3505050505050565b6060808280602001905181019061093791906113d7565b6000806060610c5084610d00565b60405163f71e466960e01b815291935091506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063f71e466990610ca590889086908690600401611688565b602060405180830381600087803b158015610cbf57600080fd5b505af1158015610cd3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cf79190611499565b95945050505050565b60006060828060200190518101906109379190611452565b508054600082559060005260206000209081019061082391905b80821115610d465760008155600101610d32565b5090565b80356105358161186c565b80516105358161186c565b600082601f830112610d7157600080fd5b8135610d84610d7f8261176a565b611744565b91508181835260208401935060208101905083856020840282011115610da957600080fd5b60005b83811015610dd55781610dbf8882610d4a565b8452506020928301929190910190600101610dac565b5050505092915050565b600082601f830112610df057600080fd5b8151610dfe610d7f8261176a565b91508181835260208401935060208101905083856020840282011115610e2357600080fd5b60005b83811015610dd55781610e398882610d55565b8452506020928301929190910190600101610e26565b600082601f830112610e6057600080fd5b8135610e6e610d7f8261176a565b81815260209384019390925082018360005b83811015610dd55781358601610e968882610fc5565b8452506020928301929190910190600101610e80565b600082601f830112610ebd57600080fd5b8151610ecb610d7f8261176a565b81815260209384019390925082018360005b83811015610dd55781518601610ef38882611014565b8452506020928301929190910190600101610edd565b600082601f830112610f1a57600080fd5b8151610f28610d7f8261176a565b91508181835260208401935060208101905083856020840282011115610f4d57600080fd5b60005b83811015610dd55781610f63888261107b565b8452506020928301929190910190600101610f50565b805161053581611880565b60008083601f840112610f9657600080fd5b5081356001600160401b03811115610fad57600080fd5b60208301915083600182028301111561095457600080fd5b600082601f830112610fd657600080fd5b8135610fe4610d7f8261178a565b9150808252602083016020830185838301111561100057600080fd5b61100b838284611812565b50505092915050565b600082601f83011261102557600080fd5b8151611033610d7f8261178a565b9150808252602083016020830185838301111561104f57600080fd5b61100b83828461181e565b803561053581611889565b805161053581611896565b8035610535816118a3565b8051610535816118a3565b60006020828403121561109857600080fd5b60006110a48484610d4a565b949350505050565b6000602082840312156110be57600080fd5b60006110a48484610d55565b600080604083850312156110dd57600080fd5b60006110e98585610d55565b92505060206110fa85828601610d55565b9150509250929050565b60008060008060008060c0878903121561111d57600080fd5b60006111298989610d55565b965050602061113a89828a01610d55565b95505060408701516001600160401b0381111561115657600080fd5b61116289828a01610ddf565b94505060608701516001600160401b0381111561117e57600080fd5b61118a89828a01610f09565b93505060808701516001600160401b038111156111a657600080fd5b6111b289828a01610ddf565b92505060a08701516001600160401b038111156111ce57600080fd5b6111da89828a01611014565b9150509295509295509295565b6000806000606084860312156111fc57600080fd5b60006112088686610d55565b93505060206112198682870161107b565b92505060408401516001600160401b0381111561123557600080fd5b61124186828701611014565b9150509250925092565b6000806040838503121561125e57600080fd5b600061126a8585610d4a565b92505060206110fa85828601610d4a565b60008060006060848603121561129057600080fd5b600061129c8686610d4a565b93505060206112ad86828701610d4a565b925050604061124186828701611070565b6000806000604084860312156112d357600080fd5b60006112df8686610d4a565b93505060208401356001600160401b038111156112fb57600080fd5b61130786828701610f84565b92509250509250925092565b6000806000806060858703121561132957600080fd5b60006113358787610d4a565b94505060206113468782880161105a565b93505060408501356001600160401b0381111561136257600080fd5b61136e87828801610f84565b95989497509550505050565b6000806040838503121561138d57600080fd5b82356001600160401b038111156113a357600080fd5b6113af85828601610d60565b92505060208301356001600160401b038111156113cb57600080fd5b6110fa85828601610e4f565b600080604083850312156113ea57600080fd5b82516001600160401b0381111561140057600080fd5b61140c85828601610f09565b92505060208301516001600160401b0381111561142857600080fd5b6110fa85828601610eac565b60006020828403121561144657600080fd5b60006110a48484610f79565b6000806040838503121561146557600080fd5b60006114718585611065565b92505060208301516001600160401b0381111561148d57600080fd5b6110fa85828601610f09565b6000602082840312156114ab57600080fd5b60006110a4848461107b565b60006114c38383611596565b505060200190565b60006114c38383611671565b6114e0816117c4565b82525050565b60006114f1826117b7565b6114fb81856117bb565b9350611506836117b1565b8060005b8381101561153457815161151e88826114b7565b9750611529836117b1565b92505060010161150a565b509495945050505050565b600061154a826117b7565b61155481856117bb565b935061155f836117b1565b8060005b8381101561153457815161157788826114cb565b9750611582836117b1565b925050600101611563565b6114e0816117cf565b6114e0816117fc565b6114e081611807565b60006115b3826117b7565b6115bd81856117bb565b93506115cd81856020860161181e565b6115d68161184e565b9093019392505050565b60006115ed6024836117bb565b7f5f5f7570646174654c69737473466f7246756e643a20756e657175616c2061728152637261797360e01b602082015260400192915050565b60006116336029836117bb565b7f4f6e6c792074686520506f6c6963794d616e616765722063616e206d616b65208152681d1a1a5cc818d85b1b60ba1b602082015260400192915050565b6114e0816117f9565b6020810161053582846114d7565b6060810161169682866114d7565b6116a3602083018561159f565b8181036040830152610cf7818461153f565b6020808252810161081c81846114e6565b6020808252810161081c818461153f565b604080825281016116e8818561153f565b905061081c6020830184611671565b60208101610535828461158d565b6020808252810161081c81846115a8565b60208082528101610535816115e0565b6020808252810161053581611626565b602081016105358284611671565b6040518181016001600160401b038111828210171561176257600080fd5b604052919050565b60006001600160401b0382111561178057600080fd5b5060209081020190565b60006001600160401b038211156117a057600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b6000610535826117ed565b151590565b806117de81611858565b919050565b806117de81611862565b6001600160a01b031690565b90565b6000610535826117d4565b6000610535826117e3565b82818337506000910152565b60005b83811015611839578181015183820152602001611821565b83811115611848576000848401525b50505050565b601f01601f191690565b600a811061082357fe5b6004811061082357fe5b611875816117c4565b811461082357600080fd5b611875816117cf565b600a811061082357600080fd5b6004811061082357600080fd5b611875816117f956fe414c4c4f5745445f45585445524e414c5f504f534954494f4e5f54595045535f5045525f4d414e41474552a164736f6c634300060c000a", "sourceMap": "791:5478:210:-:0;;;950:161;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;737:31:223;;;;;;;;1160:65:225;;;::::1;::::0;791:5478:210;;5:134:-1;83:13;;101:33;83:13;101:33;:::i;:::-;68:71;;;;:::o;146:399::-;;;278:2;266:9;257:7;253:23;249:32;246:2;;;294:1;291;284:12;246:2;329:1;346:64;402:7;382:9;346:64;:::i;:::-;336:74;;308:108;447:2;465:64;521:7;512:6;501:9;497:22;465:64;:::i;:::-;455:74;;426:109;240:305;;;;;:::o;552:91::-;;-1:-1;;;;;712:54;;614:24;695:76::o;778:117::-;847:24;865:5;847:24;:::i;:::-;840:5;837:35;827:2;;886:1;883;876:12;827:2;821:74;:::o;:::-;791:5478:210;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106100a95760003560e01c80637998a1c4116100715780637998a1c414610109578063b174666c1461011e578063cbf54bb21461013e578063cdb6552c14610153578063ceb9a0ad14610166578063d44ad6cb14610179576100a9565b80630d4d7510146100ae5780630f5f6b4f146100ae5780631ef92578146100c3578063572a45e1146100e1578063579be718146100f6575b600080fd5b6100c16100bc3660046112be565b61018e565b005b6100cb6101ef565b6040516100d891906116f7565b60405180910390f35b6100e96101f4565b6040516100d89190611736565b6100cb610104366004611313565b6101fa565b6101116104a3565b6040516100d89190611705565b61013161012c36600461124b565b6104c3565b6040516100d891906116c6565b61014661053b565b6040516100d891906116b5565b6100cb61016136600461127b565b61062c565b6100c1610174366004611086565b610823565b610181610826565b6040516100d8919061167a565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146101df5760405162461bcd60e51b81526004016101d690611726565b60405180910390fd5b6101ea83838361084a565b505050565b600190565b60001981565b60008080600686600981111561020c57fe5b141561025b5761025185858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506108c992505050565b509250905061048d565b600786600981111561026957fe5b14156103395760006102b086868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506108ef92505050565b5050604080516304af029160e21b81529051949650929450506001600160a01b038416926312bc0a44926004808201935060209291829003018186803b1580156102f957600080fd5b505afa15801561030d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103319190611499565b92505061048d565b600986600981111561034757fe5b14156103cf57600061038e86868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061092092505050565b8092508193505050806001600160a01b03166312bc0a446040518163ffffffff1660e01b815260040160206040518083038186803b1580156102f957600080fd5b600061041086868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061092092505050565b8092508193505050806001600160a01b03166312bc0a446040518163ffffffff1660e01b815260040160206040518083038186803b15801561045157600080fd5b505afa158015610465573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104899190611499565b9250505b61049887828461062c565b979650505050505050565b60606040518060600160405280602b81526020016118ad602b9139905090565b6001600160a01b0380831660009081526020818152604080832093851683529281529082902080548351818402810184019094528084526060939283018282801561052d57602002820191906000526020600020905b815481526020019060010190808311610519575b505050505090505b92915050565b60408051600480825260a082019092526060916020820160808036833701905050905060068160008151811061056d57fe5b6020026020010190600981111561058057fe5b9081600981111561058d57fe5b815250506007816001815181106105a057fe5b602002602001019060098111156105b357fe5b908160098111156105c057fe5b815250506009816002815181106105d357fe5b602002602001019060098111156105e657fe5b908160098111156105f357fe5b8152505060088160038151811061060657fe5b6020026020010190600981111561061957fe5b9081600981111561062657fe5b90525090565b6000836001600160a01b031663c98091876040518163ffffffff1660e01b815260040160206040518083038186803b15801561066757600080fd5b505afa15801561067b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061069f91906110ac565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b1580156106d757600080fd5b505afa1580156106eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061070f91906110ac565b6001600160a01b0316836001600160a01b031614156107305750600161081c565b606061073c85856104c3565b905080516000141561075257600091505061081c565b6000198160008151811061076257fe5b6020026020010151141561077a57600191505061081c565b604051632772da5560e11b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690634ee5b4aa906107c890849087906004016116d7565b60206040518083038186803b1580156107e057600080fd5b505afa1580156107f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108189190611434565b9150505b9392505050565b50565b7f000000000000000000000000000000000000000000000000000000000000000090565b6060806108578484610940565b91509150805182511461087c5760405162461bcd60e51b81526004016101d690611716565b60005b81518110156108c1576108b98684838151811061089857fe5b60200260200101518484815181106108ac57fe5b602002602001015161095b565b60010161087f565b505050505050565b6000806060838060200190518101906108e291906111e7565b9250925092509193909250565b6000806060806060808680602001905181019061090c9190611104565b949c939b5091995097509550909350915050565b6000808280602001905181019061093791906110ca565b91509150915091565b60608061094f8385018561137a565b915091505b9250929050565b60608061096783610c2b565b6001600160a01b03808816600090815260208181526040808320938a16835292905220549193509150156109c3576001600160a01b0380861660009081526020818152604080832093881683529290529081206109c391610d18565b606081518351016001600160401b03811180156109df57600080fd5b50604051908082528060200260200182016040528015610a09578160200160208202803683370190505b50805190915015610bd85760005b8351811015610aab57838181518110610a2c57fe5b6020026020010151828281518110610a4057fe5b6020908102919091018101919091526001600160a01b0380891660009081528083526040808220928a1682529190925290208451859083908110610a8057fe5b6020908102919091018101518254600181810185556000948552929093209092019190915501610a17565b50815115610bd8576000866001600160a01b031663c98091876040518163ffffffff1660e01b815260040160206040518083038186803b158015610aee57600080fd5b505afa158015610b02573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b2691906110ac565b905060005b8351811015610bd5576000818651019050610b5983868481518110610b4c57fe5b6020026020010151610c42565b848281518110610b6557fe5b6020908102919091018101919091526001600160a01b03808b1660009081528083526040808220928c1682529190925290208451859083908110610ba557fe5b60209081029190910181015182546001818101855560009485529290932090920191909155919091019050610b2b565b50505b846001600160a01b0316866001600160a01b03167fe737257df130e7ddcae83b49adac67dc3dcc32950b3e5ee558eae2f0b842a50f83604051610c1b91906116c6565b60405180910390a3505050505050565b6060808280602001905181019061093791906113d7565b6000806060610c5084610d00565b60405163f71e466960e01b815291935091506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063f71e466990610ca590889086908690600401611688565b602060405180830381600087803b158015610cbf57600080fd5b505af1158015610cd3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cf79190611499565b95945050505050565b60006060828060200190518101906109379190611452565b508054600082559060005260206000209081019061082391905b80821115610d465760008155600101610d32565b5090565b80356105358161186c565b80516105358161186c565b600082601f830112610d7157600080fd5b8135610d84610d7f8261176a565b611744565b91508181835260208401935060208101905083856020840282011115610da957600080fd5b60005b83811015610dd55781610dbf8882610d4a565b8452506020928301929190910190600101610dac565b5050505092915050565b600082601f830112610df057600080fd5b8151610dfe610d7f8261176a565b91508181835260208401935060208101905083856020840282011115610e2357600080fd5b60005b83811015610dd55781610e398882610d55565b8452506020928301929190910190600101610e26565b600082601f830112610e6057600080fd5b8135610e6e610d7f8261176a565b81815260209384019390925082018360005b83811015610dd55781358601610e968882610fc5565b8452506020928301929190910190600101610e80565b600082601f830112610ebd57600080fd5b8151610ecb610d7f8261176a565b81815260209384019390925082018360005b83811015610dd55781518601610ef38882611014565b8452506020928301929190910190600101610edd565b600082601f830112610f1a57600080fd5b8151610f28610d7f8261176a565b91508181835260208401935060208101905083856020840282011115610f4d57600080fd5b60005b83811015610dd55781610f63888261107b565b8452506020928301929190910190600101610f50565b805161053581611880565b60008083601f840112610f9657600080fd5b5081356001600160401b03811115610fad57600080fd5b60208301915083600182028301111561095457600080fd5b600082601f830112610fd657600080fd5b8135610fe4610d7f8261178a565b9150808252602083016020830185838301111561100057600080fd5b61100b838284611812565b50505092915050565b600082601f83011261102557600080fd5b8151611033610d7f8261178a565b9150808252602083016020830185838301111561104f57600080fd5b61100b83828461181e565b803561053581611889565b805161053581611896565b8035610535816118a3565b8051610535816118a3565b60006020828403121561109857600080fd5b60006110a48484610d4a565b949350505050565b6000602082840312156110be57600080fd5b60006110a48484610d55565b600080604083850312156110dd57600080fd5b60006110e98585610d55565b92505060206110fa85828601610d55565b9150509250929050565b60008060008060008060c0878903121561111d57600080fd5b60006111298989610d55565b965050602061113a89828a01610d55565b95505060408701516001600160401b0381111561115657600080fd5b61116289828a01610ddf565b94505060608701516001600160401b0381111561117e57600080fd5b61118a89828a01610f09565b93505060808701516001600160401b038111156111a657600080fd5b6111b289828a01610ddf565b92505060a08701516001600160401b038111156111ce57600080fd5b6111da89828a01611014565b9150509295509295509295565b6000806000606084860312156111fc57600080fd5b60006112088686610d55565b93505060206112198682870161107b565b92505060408401516001600160401b0381111561123557600080fd5b61124186828701611014565b9150509250925092565b6000806040838503121561125e57600080fd5b600061126a8585610d4a565b92505060206110fa85828601610d4a565b60008060006060848603121561129057600080fd5b600061129c8686610d4a565b93505060206112ad86828701610d4a565b925050604061124186828701611070565b6000806000604084860312156112d357600080fd5b60006112df8686610d4a565b93505060208401356001600160401b038111156112fb57600080fd5b61130786828701610f84565b92509250509250925092565b6000806000806060858703121561132957600080fd5b60006113358787610d4a565b94505060206113468782880161105a565b93505060408501356001600160401b0381111561136257600080fd5b61136e87828801610f84565b95989497509550505050565b6000806040838503121561138d57600080fd5b82356001600160401b038111156113a357600080fd5b6113af85828601610d60565b92505060208301356001600160401b038111156113cb57600080fd5b6110fa85828601610e4f565b600080604083850312156113ea57600080fd5b82516001600160401b0381111561140057600080fd5b61140c85828601610f09565b92505060208301516001600160401b0381111561142857600080fd5b6110fa85828601610eac565b60006020828403121561144657600080fd5b60006110a48484610f79565b6000806040838503121561146557600080fd5b60006114718585611065565b92505060208301516001600160401b0381111561148d57600080fd5b6110fa85828601610f09565b6000602082840312156114ab57600080fd5b60006110a4848461107b565b60006114c38383611596565b505060200190565b60006114c38383611671565b6114e0816117c4565b82525050565b60006114f1826117b7565b6114fb81856117bb565b9350611506836117b1565b8060005b8381101561153457815161151e88826114b7565b9750611529836117b1565b92505060010161150a565b509495945050505050565b600061154a826117b7565b61155481856117bb565b935061155f836117b1565b8060005b8381101561153457815161157788826114cb565b9750611582836117b1565b925050600101611563565b6114e0816117cf565b6114e0816117fc565b6114e081611807565b60006115b3826117b7565b6115bd81856117bb565b93506115cd81856020860161181e565b6115d68161184e565b9093019392505050565b60006115ed6024836117bb565b7f5f5f7570646174654c69737473466f7246756e643a20756e657175616c2061728152637261797360e01b602082015260400192915050565b60006116336029836117bb565b7f4f6e6c792074686520506f6c6963794d616e616765722063616e206d616b65208152681d1a1a5cc818d85b1b60ba1b602082015260400192915050565b6114e0816117f9565b6020810161053582846114d7565b6060810161169682866114d7565b6116a3602083018561159f565b8181036040830152610cf7818461153f565b6020808252810161081c81846114e6565b6020808252810161081c818461153f565b604080825281016116e8818561153f565b905061081c6020830184611671565b60208101610535828461158d565b6020808252810161081c81846115a8565b60208082528101610535816115e0565b6020808252810161053581611626565b602081016105358284611671565b6040518181016001600160401b038111828210171561176257600080fd5b604052919050565b60006001600160401b0382111561178057600080fd5b5060209081020190565b60006001600160401b038211156117a057600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b6000610535826117ed565b151590565b806117de81611858565b919050565b806117de81611862565b6001600160a01b031690565b90565b6000610535826117d4565b6000610535826117e3565b82818337506000910152565b60005b83811015611839578181015183820152602001611821565b83811115611848576000848401525b50505050565b601f01601f191690565b600a811061082357fe5b6004811061082357fe5b611875816117c4565b811461082357600080fd5b611875816117cf565b600a811061082357600080fd5b6004811061082357600080fd5b611875816117f956fe414c4c4f5745445f45585445524e414c5f504f534954494f4e5f54595045535f5045525f4d414e41474552a164736f6c634300060c000a", "sourceMap": "791:5478:210:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2659:226;;;;;;:::i;:::-;;:::i;:::-;;1265:108;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;888:55;;;:::i;:::-;;;;;;;:::i;3300:1678::-;;;;;;:::i;:::-;;:::i;1496:150::-;;;:::i;:::-;;;;;;;:::i;6126:233:225:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1776:588:210:-;;;:::i;:::-;;;;;;;:::i;5378:889::-;;;;;;:::i;:::-;;:::i;941:83:223:-;;;;;;:::i;:::-;;:::i;6755:113::-;;;:::i;:::-;;;;;;;:::i;2659:226:210:-;586:10:223;-1:-1:-1;;;;;600:14:223;586:28;;578:82;;;;-1:-1:-1;;;578:82:223;;;;;;;:::i;:::-;;;;;;;;;2821:57:210::1;2842:17;2861:16;;2821:20;:57::i;:::-;2659:226:::0;;;:::o;1265:108::-;1362:4;1265:108;:::o;888:55::-;-1:-1:-1;;888:55:210;:::o;3300:1678::-;3468:13;;;3570:48;3561:5;:57;;;;;;;;;3557:1336;;;3671:88;3733:12;;3671:88;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3671:44:210;;-1:-1:-1;;;3671:88:210:i;:::-;-1:-1:-1;3634:125:210;-1:-1:-1;3634:125:210;-1:-1:-1;3557:1336:210;;;3789:52;3780:5;:61;;;;;;;;;3776:1117;;;3857:24;3932:92;3998:12;;3932:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3932:48:210;;-1:-1:-1;;;3932:92:210:i;:::-;-1:-1:-1;;4063:83:210;;;-1:-1:-1;;;4063:83:210;;;;3895:129;;-1:-1:-1;3895:129:210;;-1:-1:-1;;;;;;;4063:81:210;;;;;:83;;;;;-1:-1:-1;4063:83:210;;;;;;;;:81;:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4038:108;;3776:1117;;;;4176:52;4167:5;:61;;;;;;;;;4163:730;;;4244:24;4311:92;4377:12;;4311:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4311:48:210;;-1:-1:-1;;;4311:92:210:i;:::-;4282:121;;;;;;;;4465:16;-1:-1:-1;;;;;4442:81:210;;:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4163:730;4605:24;4672:88;4734:12;;4672:88;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4672:44:210;;-1:-1:-1;;;4672:88:210:i;:::-;4643:117;;;;;;;;4822:16;-1:-1:-1;;;;;4799:81:210;;:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4774:108;;4163:730;;4910:61;4921:17;4940:6;4948:22;4910:10;:61::i;:::-;4903:68;3300:1678;-1:-1:-1;;;;;;;3300:1678:210:o;1496:150::-;1550:25;1587:52;;;;;;;;;;;;;;;;;;;1496:150;:::o;6126:233:225:-;-1:-1:-1;;;;;6295:50:225;;;:31;:50;;;;;;;;;;;:57;;;;;;;;;;;;6288:64;;;;;;;;;;;;;;;;;6247:25;;6288:64;;;6295:57;6288:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6126:233;;;;;:::o;1776:588:210:-;1956:34;;;1988:1;1956:34;;;;;;;;;1868:52;;1956:34;;;;;;;;;;-1:-1:-1;1956:34:210;1936:54;;2023:48;2000:17;2018:1;2000:20;;;;;;;;;;;;;:71;;;;;;;;;;;;;;;;;;;;;;;2104:52;2081:17;2099:1;2081:20;;;;;;;;;;;;;:75;;;;;;;;;;;;;;;;;;;;;;;2189:52;2166:17;2184:1;2166:20;;;;;;;;;;;;;:75;;;;;;;;;;;;;;;;;;;;;;;2274:48;2251:17;2269:1;2251:20;;;;;;;;;;;;;:71;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1776:588:210;:::o;5378:889::-;5526:13;5623:17;-1:-1:-1;;;;;5608:47:210;;:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;5591:77:210;;:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;5568:102:210;:7;-1:-1:-1;;;;;5568:102:210;;5551:215;;;-1:-1:-1;5751:4:210;5744:11;;5551:215;5776:24;5803:52;5828:17;5847:7;5803:24;:52::i;:::-;5776:79;;5870:7;:14;5888:1;5870:19;5866:139;;;5989:5;5982:12;;;;;5866:139;-1:-1:-1;;6019:7:210;6027:1;6019:10;;;;;;;;;;;;;;:25;6015:151;;;6151:4;6144:11;;;;;6015:151;6183:77;;-1:-1:-1;;;6183:77:210;;-1:-1:-1;;;;;6183:27:210;:43;;;;:77;;6227:7;;6236:23;;6183:77;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6176:84;;;5378:889;;;;;;:::o;941:83:223:-;;:::o;6755:113::-;6847:14;6755:113;:::o;1821:483:225:-;1943:22;1967:24;1995:62;2031:16;;1995:22;:62::i;:::-;1942:115;;;;2092:9;:16;2076:5;:12;:32;2068:81;;;;-1:-1:-1;;;2068:81:225;;;;;;;:::i;:::-;2165:9;2160:138;2180:9;:16;2176:1;:20;2160:138;;;2217:70;2245:17;2264:5;2270:1;2264:8;;;;;;;;;;;;;;2274:9;2284:1;2274:12;;;;;;;;;;;;;;2217:27;:70::i;:::-;2198:3;;2160:138;;;;1821:483;;;;;:::o;2184:327:223:-;2328:15;2357;2386:32;2461:15;2450:54;;;;;;;;;;;;:::i;:::-;2443:61;;;;;;2184:327;;;;;:::o;3503:575::-;3651:15;3680:25;3719:34;3767:35;3816:33;3863:31;3966:15;3938:133;;;;;;;;;;;;:::i;:::-;3919:152;;;;-1:-1:-1;3919:152:223;;-1:-1:-1;3919:152:223;-1:-1:-1;3919:152:223;-1:-1:-1;3919:152:223;;-1:-1:-1;3503:575:223;-1:-1:-1;;3503:575:223:o;4911:254::-;5046:15;5063:25;5122:15;5111:47;;;;;;;;;;;;:::i;:::-;5104:54;;;;4911:254;;;:::o;3214:241:225:-;3325:23;;3398:50;;;;3409:16;3398:50;:::i;:::-;3391:57;;;;3214:241;;;;;;:::o;4056:1781::-;4208:32;4242:27;4273:54;4308:9;4273:21;:54::i;:::-;-1:-1:-1;;;;;4400:50:225;;;4467:1;4400:50;;;;;;;;;;;:57;;;;;;;;;:64;4207:120;;-1:-1:-1;4207:120:225;-1:-1:-1;4400:68:225;4396:163;;-1:-1:-1;;;;;4491:50:225;;;:31;:50;;;;;;;;;;;:57;;;;;;;;;;;4484:64;;;:::i;:::-;4569:28;4639:12;:19;4614:15;:22;:44;-1:-1:-1;;;;;4600:59:225;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4600:59:225;-1:-1:-1;4674:18:225;;4569:90;;-1:-1:-1;4674:22:225;4670:1084;;4847:9;4842:217;4862:15;:22;4858:1;:26;4842:217;;;4926:15;4942:1;4926:18;;;;;;;;;;;;;;4909:11;4921:1;4909:14;;;;;;;;;;;;;;;;;;:35;;;;-1:-1:-1;;;;;4962:50:225;;;:31;:50;;;;;;;;;;:57;;;;;;;;;;;5025:18;;:15;;5041:1;;5025:18;;;;;;;;;;;;;;;;;4962:82;;;;;;;;-1:-1:-1;4962:82:225;;;;;;;;;;;;;;4886:3;4842:217;;;-1:-1:-1;5121:19:225;;:23;5117:627;;5164:18;5200:17;-1:-1:-1;;;;;5185:47:225;;:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5164:70;;5257:9;5252:478;5272:12;:19;5268:1;:23;5252:478;;;5320:24;5372:1;5347:15;:22;:26;5320:53;;5427:123;5477:10;5513:12;5526:1;5513:15;;;;;;;;;;;;;;5427:24;:123::i;:::-;5395:11;5407:16;5395:29;;;;;;;;;;;;;;;;;;:155;;;;-1:-1:-1;;;;;5572:50:225;;;:31;:50;;;;;;;;;;:57;;;;;;;;;;;5660:29;;:11;;5672:16;;5660:29;;;;;;;;;;;;;;;;;5572:139;;;;;;;;-1:-1:-1;5572:139:225;;;;;;;;;;;;;;5293:3;;;;;-1:-1:-1;5252:478:225;;;;5117:627;;5811:5;-1:-1:-1;;;;;5769:61:225;5792:17;-1:-1:-1;;;;;5769:61:225;;5818:11;5769:61;;;;;;:::i;:::-;;;;;;;;4056:1781;;;;;;:::o;3535:237::-;3636:33;3671:28;3733:9;3722:43;;;;;;;;;;;;:::i;2393:389::-;2508:15;2553:38;2605:29;2647:33;2667:12;2647:19;:33::i;:::-;2698:77;;-1:-1:-1;;;2698:77:225;;2539:141;;-1:-1:-1;2539:141:225;-1:-1:-1;;;;;;2698:27:225;:38;;;;:77;;2737:11;;2539:141;;;;2698:77;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2691:84;2393:389;-1:-1:-1;;;;;2393:389:225:o;2854:269::-;2956:39;2997:30;3061:12;3050:66;;;;;;;;;;;;:::i;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5:130::-;72:20;;97:33;72:20;97:33;:::i;142:134::-;220:13;;238:33;220:13;238:33;:::i;458:707::-;;575:3;568:4;560:6;556:17;552:27;542:2;;593:1;590;583:12;542:2;630:6;617:20;652:80;667:64;724:6;667:64;:::i;:::-;652:80;:::i;:::-;643:89;;749:5;774:6;767:5;760:21;804:4;796:6;792:17;782:27;;826:4;821:3;817:14;810:21;;879:6;926:3;918:4;910:6;906:17;901:3;897:27;894:36;891:2;;;943:1;940;933:12;891:2;968:1;953:206;978:6;975:1;972:13;953:206;;;1036:3;1058:37;1091:3;1079:10;1058:37;:::i;:::-;1046:50;;-1:-1;1119:4;1110:14;;;;1138;;;;;1000:1;993:9;953:206;;;957:14;535:630;;;;;;;:::o;1191:722::-;;1319:3;1312:4;1304:6;1300:17;1296:27;1286:2;;1337:1;1334;1327:12;1286:2;1367:6;1361:13;1389:80;1404:64;1461:6;1404:64;:::i;1389:80::-;1380:89;;1486:5;1511:6;1504:5;1497:21;1541:4;1533:6;1529:17;1519:27;;1563:4;1558:3;1554:14;1547:21;;1616:6;1663:3;1655:4;1647:6;1643:17;1638:3;1634:27;1631:36;1628:2;;;1680:1;1677;1670:12;1628:2;1705:1;1690:217;1715:6;1712:1;1709:13;1690:217;;;1773:3;1795:48;1839:3;1827:10;1795:48;:::i;:::-;1783:61;;-1:-1;1867:4;1858:14;;;;1886;;;;;1737:1;1730:9;1690:217;;1937:705;;2063:3;2056:4;2048:6;2044:17;2040:27;2030:2;;2081:1;2078;2071:12;2030:2;2118:6;2105:20;2140:89;2155:73;2221:6;2155:73;:::i;2140:89::-;2257:21;;;2301:4;2289:17;;;;2131:98;;-1:-1;2314:14;;2289:17;2409:1;2394:242;2419:6;2416:1;2413:13;2394:242;;;2502:3;2489:17;2481:6;2477:30;2526:46;2568:3;2556:10;2526:46;:::i;:::-;2514:59;;-1:-1;2596:4;2587:14;;;;2615;;;;;2441:1;2434:9;2394:242;;2666:713;;2803:3;2796:4;2788:6;2784:17;2780:27;2770:2;;2821:1;2818;2811:12;2770:2;2851:6;2845:13;2873:89;2888:73;2954:6;2888:73;:::i;2873:89::-;2990:21;;;3034:4;3022:17;;;;2864:98;;-1:-1;3047:14;;3022:17;3142:1;3127:246;3152:6;3149:1;3146:13;3127:246;;;3228:3;3222:10;3214:6;3210:23;3252:57;3305:3;3293:10;3252:57;:::i;:::-;3240:70;;-1:-1;3333:4;3324:14;;;;3352;;;;;3174:1;3167:9;3127:246;;3405:722;;3533:3;3526:4;3518:6;3514:17;3510:27;3500:2;;3551:1;3548;3541:12;3500:2;3581:6;3575:13;3603:80;3618:64;3675:6;3618:64;:::i;3603:80::-;3594:89;;3700:5;3725:6;3718:5;3711:21;3755:4;3747:6;3743:17;3733:27;;3777:4;3772:3;3768:14;3761:21;;3830:6;3877:3;3869:4;3861:6;3857:17;3852:3;3848:27;3845:36;3842:2;;;3894:1;3891;3884:12;3842:2;3919:1;3904:217;3929:6;3926:1;3923:13;3904:217;;;3987:3;4009:48;4053:3;4041:10;4009:48;:::i;:::-;3997:61;;-1:-1;4081:4;4072:14;;;;4100;;;;;3951:1;3944:9;3904:217;;4135:128;4210:13;;4228:30;4210:13;4228:30;:::i;4284:336::-;;;4398:3;4391:4;4383:6;4379:17;4375:27;4365:2;;4416:1;4413;4406:12;4365:2;-1:-1;4436:20;;-1:-1;;;;;4465:30;;4462:2;;;4508:1;4505;4498:12;4462:2;4542:4;4534:6;4530:17;4518:29;;4593:3;4585:4;4577:6;4573:17;4563:8;4559:32;4556:41;4553:2;;;4610:1;4607;4600:12;4629:440;;4730:3;4723:4;4715:6;4711:17;4707:27;4697:2;;4748:1;4745;4738:12;4697:2;4785:6;4772:20;4807:64;4822:48;4863:6;4822:48;:::i;4807:64::-;4798:73;;4891:6;4884:5;4877:21;4927:4;4919:6;4915:17;4960:4;4953:5;4949:16;4995:3;4986:6;4981:3;4977:16;4974:25;4971:2;;;5012:1;5009;5002:12;4971:2;5022:41;5056:6;5051:3;5046;5022:41;:::i;:::-;4690:379;;;;;;;:::o;5078:442::-;;5190:3;5183:4;5175:6;5171:17;5167:27;5157:2;;5208:1;5205;5198:12;5157:2;5238:6;5232:13;5260:64;5275:48;5316:6;5275:48;:::i;5260:64::-;5251:73;;5344:6;5337:5;5330:21;5380:4;5372:6;5368:17;5413:4;5406:5;5402:16;5448:3;5439:6;5434:3;5430:16;5427:25;5424:2;;;5465:1;5462;5455:12;5424:2;5475:39;5507:6;5502:3;5497;5475:39;:::i;5528:162::-;5611:20;;5636:49;5611:20;5636:49;:::i;5697:166::-;5791:13;;5809:49;5791:13;5809:49;:::i;5870:130::-;5937:20;;5962:33;5937:20;5962:33;:::i;6007:134::-;6085:13;;6103:33;6085:13;6103:33;:::i;6148:241::-;;6252:2;6240:9;6231:7;6227:23;6223:32;6220:2;;;6268:1;6265;6258:12;6220:2;6303:1;6320:53;6365:7;6345:9;6320:53;:::i;:::-;6310:63;6214:175;-1:-1;;;;6214:175::o;6396:263::-;;6511:2;6499:9;6490:7;6486:23;6482:32;6479:2;;;6527:1;6524;6517:12;6479:2;6562:1;6579:64;6635:7;6615:9;6579:64;:::i;6666:431::-;;;6814:2;6802:9;6793:7;6789:23;6785:32;6782:2;;;6830:1;6827;6820:12;6782:2;6865:1;6882:72;6946:7;6926:9;6882:72;:::i;:::-;6872:82;;6844:116;6991:2;7009:72;7073:7;7064:6;7053:9;7049:22;7009:72;:::i;:::-;6999:82;;6970:117;6776:321;;;;;:::o;7104:1462::-;;;;;;;7404:3;7392:9;7383:7;7379:23;7375:33;7372:2;;;7421:1;7418;7411:12;7372:2;7456:1;7473:72;7537:7;7517:9;7473:72;:::i;:::-;7463:82;;7435:116;7582:2;7600:72;7664:7;7655:6;7644:9;7640:22;7600:72;:::i;:::-;7590:82;;7561:117;7730:2;7719:9;7715:18;7709:25;-1:-1;;;;;7746:6;7743:30;7740:2;;;7786:1;7783;7776:12;7740:2;7806:89;7887:7;7878:6;7867:9;7863:22;7806:89;:::i;:::-;7796:99;;7688:213;7953:2;7942:9;7938:18;7932:25;-1:-1;;;;;7969:6;7966:30;7963:2;;;8009:1;8006;7999:12;7963:2;8029:89;8110:7;8101:6;8090:9;8086:22;8029:89;:::i;:::-;8019:99;;7911:213;8176:3;8165:9;8161:19;8155:26;-1:-1;;;;;8193:6;8190:30;8187:2;;;8233:1;8230;8223:12;8187:2;8253:89;8334:7;8325:6;8314:9;8310:22;8253:89;:::i;:::-;8243:99;;8134:214;8400:3;8389:9;8385:19;8379:26;-1:-1;;;;;8417:6;8414:30;8411:2;;;8457:1;8454;8447:12;8411:2;8477:73;8542:7;8533:6;8522:9;8518:22;8477:73;:::i;:::-;8467:83;;8358:198;7366:1200;;;;;;;;:::o;8573:648::-;;;;8739:2;8727:9;8718:7;8714:23;8710:32;8707:2;;;8755:1;8752;8745:12;8707:2;8790:1;8807:72;8871:7;8851:9;8807:72;:::i;:::-;8797:82;;8769:116;8916:2;8934:64;8990:7;8981:6;8970:9;8966:22;8934:64;:::i;:::-;8924:74;;8895:109;9056:2;9045:9;9041:18;9035:25;-1:-1;;;;;9072:6;9069:30;9066:2;;;9112:1;9109;9102:12;9066:2;9132:73;9197:7;9188:6;9177:9;9173:22;9132:73;:::i;:::-;9122:83;;9014:197;8701:520;;;;;:::o;9228:366::-;;;9349:2;9337:9;9328:7;9324:23;9320:32;9317:2;;;9365:1;9362;9355:12;9317:2;9400:1;9417:53;9462:7;9442:9;9417:53;:::i;:::-;9407:63;;9379:97;9507:2;9525:53;9570:7;9561:6;9550:9;9546:22;9525:53;:::i;9601:491::-;;;;9739:2;9727:9;9718:7;9714:23;9710:32;9707:2;;;9755:1;9752;9745:12;9707:2;9790:1;9807:53;9852:7;9832:9;9807:53;:::i;:::-;9797:63;;9769:97;9897:2;9915:53;9960:7;9951:6;9940:9;9936:22;9915:53;:::i;:::-;9905:63;;9876:98;10005:2;10023:53;10068:7;10059:6;10048:9;10044:22;10023:53;:::i;10099:490::-;;;;10239:2;10227:9;10218:7;10214:23;10210:32;10207:2;;;10255:1;10252;10245:12;10207:2;10290:1;10307:53;10352:7;10332:9;10307:53;:::i;:::-;10297:63;;10269:97;10425:2;10414:9;10410:18;10397:32;-1:-1;;;;;10441:6;10438:30;10435:2;;;10481:1;10478;10471:12;10435:2;10509:64;10565:7;10556:6;10545:9;10541:22;10509:64;:::i;:::-;10491:82;;;;10376:203;10201:388;;;;;:::o;10596:647::-;;;;;10769:2;10757:9;10748:7;10744:23;10740:32;10737:2;;;10785:1;10782;10775:12;10737:2;10820:1;10837:53;10882:7;10862:9;10837:53;:::i;:::-;10827:63;;10799:97;10927:2;10945:69;11006:7;10997:6;10986:9;10982:22;10945:69;:::i;:::-;10935:79;;10906:114;11079:2;11068:9;11064:18;11051:32;-1:-1;;;;;11095:6;11092:30;11089:2;;;11135:1;11132;11125:12;11089:2;11163:64;11219:7;11210:6;11199:9;11195:22;11163:64;:::i;:::-;10731:512;;;;-1:-1;11145:82;-1:-1;;;;10731:512::o;11250:656::-;;;11430:2;11418:9;11409:7;11405:23;11401:32;11398:2;;;11446:1;11443;11436:12;11398:2;11481:31;;-1:-1;;;;;11521:30;;11518:2;;;11564:1;11561;11554:12;11518:2;11584:78;11654:7;11645:6;11634:9;11630:22;11584:78;:::i;:::-;11574:88;;11460:208;11727:2;11716:9;11712:18;11699:32;-1:-1;;;;;11743:6;11740:30;11737:2;;;11783:1;11780;11773:12;11737:2;11803:87;11882:7;11873:6;11862:9;11858:22;11803:87;:::i;11913:675::-;;;12104:2;12092:9;12083:7;12079:23;12075:32;12072:2;;;12120:1;12117;12110:12;12072:2;12155:24;;-1:-1;;;;;12188:30;;12185:2;;;12231:1;12228;12221:12;12185:2;12251:89;12332:7;12323:6;12312:9;12308:22;12251:89;:::i;:::-;12241:99;;12134:212;12398:2;12387:9;12383:18;12377:25;-1:-1;;;;;12414:6;12411:30;12408:2;;;12454:1;12451;12444:12;12408:2;12474:98;12564:7;12555:6;12544:9;12540:22;12474:98;:::i;12595:257::-;;12707:2;12695:9;12686:7;12682:23;12678:32;12675:2;;;12723:1;12720;12713:12;12675:2;12758:1;12775:61;12828:7;12808:9;12775:61;:::i;12859:560::-;;;13032:2;13020:9;13011:7;13007:23;13003:32;13000:2;;;13048:1;13045;13038:12;13000:2;13083:1;13100:80;13172:7;13152:9;13100:80;:::i;:::-;13090:90;;13062:124;13238:2;13227:9;13223:18;13217:25;-1:-1;;;;;13254:6;13251:30;13248:2;;;13294:1;13291;13284:12;13248:2;13314:89;13395:7;13386:6;13375:9;13371:22;13314:89;:::i;13426:263::-;;13541:2;13529:9;13520:7;13516:23;13512:32;13509:2;;;13557:1;13554;13547:12;13509:2;13592:1;13609:64;13665:7;13645:9;13609:64;:::i;13697:201::-;;13798:60;13854:3;13846:6;13798:60;:::i;:::-;-1:-1;;13887:4;13878:14;;13791:107::o;13907:173::-;;13994:46;14036:3;14028:6;13994:46;:::i;14088:113::-;14171:24;14189:5;14171:24;:::i;:::-;14166:3;14159:37;14153:48;;:::o;14260:764::-;;14419:70;14483:5;14419:70;:::i;:::-;14502:84;14579:6;14574:3;14502:84;:::i;:::-;14495:91;;14607:72;14673:5;14607:72;:::i;:::-;14699:7;14727:1;14712:290;14737:6;14734:1;14731:13;14712:290;;;14804:6;14798:13;14825:77;14898:3;14883:13;14825:77;:::i;:::-;14818:84;;14919:76;14988:6;14919:76;:::i;:::-;14909:86;-1:-1;;14759:1;14752:9;14712:290;;;-1:-1;15015:3;;14398:626;-1:-1;;;;;14398:626::o;15063:690::-;;15208:54;15256:5;15208:54;:::i;:::-;15275:86;15354:6;15349:3;15275:86;:::i;:::-;15268:93;;15382:56;15432:5;15382:56;:::i;:::-;15458:7;15486:1;15471:260;15496:6;15493:1;15490:13;15471:260;;;15563:6;15557:13;15584:63;15643:3;15628:13;15584:63;:::i;:::-;15577:70;;15664:60;15717:6;15664:60;:::i;:::-;15654:70;-1:-1;;15518:1;15511:9;15471:260;;15761:104;15838:21;15853:5;15838:21;:::i;15872:144::-;15959:51;16004:5;15959:51;:::i;16023:154::-;16120:51;16165:5;16120:51;:::i;16184:347::-;;16296:39;16329:5;16296:39;:::i;:::-;16347:71;16411:6;16406:3;16347:71;:::i;:::-;16340:78;;16423:52;16468:6;16463:3;16456:4;16449:5;16445:16;16423:52;:::i;:::-;16496:29;16518:6;16496:29;:::i;:::-;16487:39;;;;16276:255;-1:-1;;;16276:255::o;16539:373::-;;16699:67;16763:2;16758:3;16699:67;:::i;:::-;16799:34;16779:55;;-1:-1;;;16863:2;16854:12;;16847:28;16903:2;16894:12;;16685:227;-1:-1;;16685:227::o;16921:378::-;;17081:67;17145:2;17140:3;17081:67;:::i;:::-;17181:34;17161:55;;-1:-1;;;17245:2;17236:12;;17229:33;17290:2;17281:12;;17067:232;-1:-1;;17067:232::o;17307:103::-;17380:24;17398:5;17380:24;:::i;17537:222::-;17664:2;17649:18;;17678:71;17653:9;17722:6;17678:71;:::i;17766:620::-;18013:2;17998:18;;18027:71;18002:9;18071:6;18027:71;:::i;:::-;18109:86;18191:2;18180:9;18176:18;18167:6;18109:86;:::i;:::-;18243:9;18237:4;18233:20;18228:2;18217:9;18213:18;18206:48;18268:108;18371:4;18362:6;18268:108;:::i;18393:398::-;18584:2;18598:47;;;18569:18;;18659:122;18569:18;18767:6;18659:122;:::i;18798:370::-;18975:2;18989:47;;;18960:18;;19050:108;18960:18;19144:6;19050:108;:::i;19175:481::-;19380:2;19394:47;;;19365:18;;19455:108;19365:18;19549:6;19455:108;:::i;:::-;19447:116;;19574:72;19642:2;19631:9;19627:18;19618:6;19574:72;:::i;19663:210::-;19784:2;19769:18;;19798:65;19773:9;19836:6;19798:65;:::i;19880:310::-;20027:2;20041:47;;;20012:18;;20102:78;20012:18;20166:6;20102:78;:::i;20197:416::-;20397:2;20411:47;;;20382:18;;20472:131;20382:18;20472:131;:::i;20620:416::-;20820:2;20834:47;;;20805:18;;20895:131;20805:18;20895:131;:::i;21043:222::-;21170:2;21155:18;;21184:71;21159:9;21228:6;21184:71;:::i;21272:256::-;21334:2;21328:9;21360:17;;;-1:-1;;;;;21420:34;;21456:22;;;21417:62;21414:2;;;21492:1;21489;21482:12;21414:2;21508;21501:22;21312:216;;-1:-1;21312:216::o;21535:304::-;;-1:-1;;;;;21686:6;21683:30;21680:2;;;21726:1;21723;21716:12;21680:2;-1:-1;21761:4;21749:17;;;21814:15;;21617:222::o;22477:321::-;;-1:-1;;;;;22612:6;22609:30;22606:2;;;22652:1;22649;22642:12;22606:2;-1:-1;22783:4;22719;22696:17;;;;-1:-1;;22692:33;22773:15;;22543:255::o;22805:167::-;22945:4;22936:14;;22893:79::o;23137:153::-;23256:12;;23227:63::o;23817:178::-;23935:19;;;23984:4;23975:14;;23928:67::o;24360:91::-;;24422:24;24440:5;24422:24;:::i;24564:85::-;24630:13;24623:21;;24606:43::o;24656:138::-;24734:5;24740:49;24734:5;24740:49;:::i;:::-;24717:77;;;:::o;24801:138::-;24879:5;24885:49;24879:5;24885:49;:::i;24946:121::-;-1:-1;;;;;25008:54;;24991:76::o;25074:72::-;25136:5;25119:27::o;25153:138::-;;25246:40;25280:5;25246:40;:::i;25298:138::-;;25391:40;25425:5;25391:40;:::i;25444:145::-;25525:6;25520:3;25515;25502:30;-1:-1;25581:1;25563:16;;25556:27;25495:94::o;25598:268::-;25663:1;25670:101;25684:6;25681:1;25678:13;25670:101;;;25751:11;;;25745:18;25732:11;;;25725:39;25706:2;25699:10;25670:101;;;25786:6;25783:1;25780:13;25777:2;;;25851:1;25842:6;25837:3;25833:16;25826:27;25777:2;25647:219;;;;:::o;25874:97::-;25962:2;25942:14;-1:-1;;25938:28;;25922:49::o;25979:108::-;26064:2;26057:5;26054:13;26044:2;;26071:9;26094:107;26179:1;26172:5;26169:12;26159:2;;26185:9;26208:117;26277:24;26295:5;26277:24;:::i;:::-;26270:5;26267:35;26257:2;;26316:1;26313;26306:12;26472:111;26538:21;26553:5;26538:21;:::i;26590:111::-;26675:2;26668:5;26665:13;26655:2;;26692:1;26689;26682:12;26708:110;26793:1;26786:5;26783:12;26773:2;;26809:1;26806;26799:12;26825:117;26894:24;26912:5;26894:24;:::i", "linkReferences": {}, "immutableReferences": { "59893": [ { "start": 409, "length": 32 }, { "start": 2088, "length": 32 } ], "60586": [ { "start": 1937, "length": 32 }, { "start": 3180, "length": 32 } ] } }, "methodIdentifiers": { "BYPASS_FLAG()": "572a45e1", "activateForFund(address)": "ceb9a0ad", "addFundSettings(address,bytes)": "0f5f6b4f", "canDisable()": "1ef92578", "getListIdsForFundAndUser(address,address)": "b174666c", "getPolicyManager()": "d44ad6cb", "identifier()": "7998a1c4", "implementedHooks()": "cbf54bb2", "passesRule(address,address,uint256)": "cdb6552c", "updateFundSettings(address,bytes)": "0d4d7510", "validateRule(address,uint8,bytes)": "579be718" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_policyManager\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_uintListRegistry\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"listIds\",\"type\":\"uint256[]\"}],\"name\":\"ListsSetForFundAndUser\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"BYPASS_FLAG\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"activateForFund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_encodedSettings\",\"type\":\"bytes\"}],\"name\":\"addFundSettings\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"canDisable\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"canDisable_\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"getListIdsForFundAndUser\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"listIds_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPolicyManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"policyManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"identifier\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"identifier_\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"implementedHooks\",\"outputs\":[{\"internalType\":\"enum IPolicyManager.PolicyHook[]\",\"name\":\"implementedHooks_\",\"type\":\"uint8[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_caller\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_externalPositionTypeId\",\"type\":\"uint256\"}],\"name\":\"passesRule\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isValid_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_encodedSettings\",\"type\":\"bytes\"}],\"name\":\"updateFundSettings\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"enum IPolicyManager.PolicyHook\",\"name\":\"_hook\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"_encodedArgs\",\"type\":\"bytes\"}],\"name\":\"validateRule\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isValid_\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"activateForFund(address)\":{\"details\":\"Unimplemented by default, can be overridden by the policy\"},\"addFundSettings(address,bytes)\":{\"params\":{\"_comptrollerProxy\":\"The fund's ComptrollerProxy address\",\"_encodedSettings\":\"Encoded settings to apply to a fund\"}},\"canDisable()\":{\"returns\":{\"canDisable_\":\"True if the policy can be disabled\"}},\"getListIdsForFundAndUser(address,address)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\",\"_user\":\"The user of the fund\"},\"returns\":{\"listIds_\":\"The list ids\"}},\"getPolicyManager()\":{\"returns\":{\"policyManager_\":\"The `POLICY_MANAGER` variable value\"}},\"identifier()\":{\"returns\":{\"identifier_\":\"The identifier string\"}},\"implementedHooks()\":{\"returns\":{\"implementedHooks_\":\"The implemented PolicyHooks\"}},\"passesRule(address,address,uint256)\":{\"params\":{\"_caller\":\"The caller for which to check the rule\",\"_comptrollerProxy\":\"The fund's ComptrollerProxy address\",\"_externalPositionTypeId\":\"The external position type id for which to check the rule\"},\"returns\":{\"isValid_\":\"True if the rule passes\"}},\"updateFundSettings(address,bytes)\":{\"details\":\"Assigns a new array of lists (does not add/remove lists nor update items in a list)\",\"params\":{\"_comptrollerProxy\":\"The fund's ComptrollerProxy address\",\"_encodedSettings\":\"Encoded settings to apply to a fund\"}},\"validateRule(address,uint8,bytes)\":{\"details\":\"onlyPolicyManager validation not necessary, as state is not updated and no events are fired\",\"params\":{\"_comptrollerProxy\":\"The fund's ComptrollerProxy address\",\"_encodedArgs\":\"Encoded args with which to validate the rule\",\"_hook\":\"The PolicyHook\"},\"returns\":{\"isValid_\":\"True if the rule passes\"}}},\"title\":\"AllowedExternalPositionTypesPerManagerPolicy Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"activateForFund(address)\":{\"notice\":\"Validates and initializes a policy as necessary prior to fund activation\"},\"addFundSettings(address,bytes)\":{\"notice\":\"Adds the initial policy settings for a fund\"},\"canDisable()\":{\"notice\":\"Whether or not the policy can be disabled\"},\"getListIdsForFundAndUser(address,address)\":{\"notice\":\"Gets the list ids used by a given fund and user\"},\"getPolicyManager()\":{\"notice\":\"Gets the `POLICY_MANAGER` variable value\"},\"identifier()\":{\"notice\":\"Provides a constant string identifier for a policy\"},\"implementedHooks()\":{\"notice\":\"Gets the implemented PolicyHooks for a policy\"},\"passesRule(address,address,uint256)\":{\"notice\":\"Checks whether a particular condition passes the rule for a particular fund\"},\"updateFundSettings(address,bytes)\":{\"notice\":\"Updates the policy settings for a fund\"},\"validateRule(address,uint8,bytes)\":{\"notice\":\"Apply the rule with the specified parameters of a PolicyHook\"}},\"notice\":\"A policy that limits which external position types an asset manager can use for a given fund\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/policy-manager/policies/asset-managers/AllowedExternalPositionTypesPerManagerPolicy.sol\":\"AllowedExternalPositionTypesPerManagerPolicy\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/persistent/external-positions/IExternalPositionProxy.sol\":{\"keccak256\":\"0xc74e623dbdc949df49e9cef31e0f958b17c715d89198dbbc1754d8f9c21e90de\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://074daf0a9f4e667964e6d50039986e3d792860cdece05d21e3606d33358a02b2\",\"dweb:/ipfs/QmVHXiKry9fYfjSNd6dxmtSr7DubNJvYJTNXtLDKGer2xH\"]},\"contracts/persistent/protocol-fee-reserve/interfaces/IProtocolFeeReserve1.sol\":{\"keccak256\":\"0x2728878c423db523bc95189137e8c58d2d7db9f56bbd5c6b1f988c08b551fbab\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3b0df1d2eb74151265d03ab91a7c341f7beca475dd2f4d669052dbc4ee2c06ac\",\"dweb:/ipfs/QmVx1cgrxQNYfdK1Kn15pcgqf79Uw8bF3U6i7F2HG2rj6G\"]},\"contracts/persistent/uint-list-registry/UintListRegistry.sol\":{\"keccak256\":\"0x79b8f209651bbeffcb7274a88753a929f022689a9bce9575a53ff03658ee2825\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a8e334b6b57232ab6dae49e38cf4cbbe376ff9bb8e4f71665a7cca33c2aed99d\",\"dweb:/ipfs/QmNiTw8WyGBjhqAy4JB1dGscKEBxvrpWNJYuPvb3ojxG6y\"]},\"contracts/persistent/vault/VaultLibBase1.sol\":{\"keccak256\":\"0xa4dac1e4cdb311a2ab187135355357d8790c505ef36dd912c057fe53743d30b5\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b66efe821016ab927c949263023260515e90f5d480dc8d94eefbfeec7bf7490b\",\"dweb:/ipfs/QmNY3xKnhL9EptAbxGvXHGAXfV9pj3dDPwsZnKrPs54ZHw\"]},\"contracts/persistent/vault/VaultLibBase2.sol\":{\"keccak256\":\"0xf7d31f2a9a47770ed3f444be2c4fe9262ddb55fef7f25e546b1f03c9afec4c09\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9353ddce7c9b8b3c13fed23fe8edec99ca610d791b0c5b204b3d01f1f08d07d2\",\"dweb:/ipfs/QmeVsEh3joCjv49BRXeHASevnZZ5xdZXpkctHT8BPf37N2\"]},\"contracts/persistent/vault/VaultLibBaseCore.sol\":{\"keccak256\":\"0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd\",\"dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz\"]},\"contracts/persistent/vault/interfaces/IExternalPositionVault.sol\":{\"keccak256\":\"0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d\",\"dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8\"]},\"contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol\":{\"keccak256\":\"0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb\",\"dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU\"]},\"contracts/persistent/vault/interfaces/IMigratableVault.sol\":{\"keccak256\":\"0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6\",\"dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs\"]},\"contracts/persistent/vault/interfaces/IVaultCore.sol\":{\"keccak256\":\"0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd\",\"dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr\"]},\"contracts/persistent/vault/utils/ProxiableVaultLib.sol\":{\"keccak256\":\"0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44\",\"dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4\"]},\"contracts/persistent/vault/utils/SharesTokenBase.sol\":{\"keccak256\":\"0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8\",\"dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4\"]},\"contracts/persistent/vault/utils/VaultLibSafeMath.sol\":{\"keccak256\":\"0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02\",\"dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG\"]},\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/core/fund/comptroller/ComptrollerLib.sol\":{\"keccak256\":\"0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579\",\"dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq\"]},\"contracts/release/core/fund/comptroller/IComptroller.sol\":{\"keccak256\":\"0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97\",\"dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L\"]},\"contracts/release/core/fund/vault/IVault.sol\":{\"keccak256\":\"0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599\",\"dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG\"]},\"contracts/release/core/fund/vault/VaultLib.sol\":{\"keccak256\":\"0x07e49445ab55c01e1b499a48baadc2a15d1eba621f1c6d3ccfdb84c87b976da8\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://56d882459248f73e137db2e097fc56b946147fb28ec21661b77431f88e856cb4\",\"dweb:/ipfs/QmRP6Ry7DCS5uoKxnnkTomHSzbaCze6cHqbR9aLdjoF6vK\"]},\"contracts/release/extensions/IExtension.sol\":{\"keccak256\":\"0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70\",\"dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t\"]},\"contracts/release/extensions/external-position-manager/IExternalPositionManager.sol\":{\"keccak256\":\"0x3af3f634e1f99fb97091b7825c0d2e2baaafc124d4e87d56cb0c17ff8554f6c6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://515470605afe5ef147f30fa75ce7818f0e00e3d321eb81a4d9bffcdefc294495\",\"dweb:/ipfs/QmPKsp99pfHoz9Tfo3ZxnkmqDqJtN9PxqacF2RmeVfxUJF\"]},\"contracts/release/extensions/fee-manager/IFeeManager.sol\":{\"keccak256\":\"0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22\",\"dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod\"]},\"contracts/release/extensions/policy-manager/IPolicy.sol\":{\"keccak256\":\"0xc12663ca72065b256c3b934ab738fde26c147c7b0399de43650df89dd52ee467\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://be8fecfcba0f3fda615f0a1bb3c766750c23761ef751d7c4472dfe540e460cd1\",\"dweb:/ipfs/QmaarPoRTsX6NiJ8V4u2f3Qh6d7tUs28bw9R14An3t5Bs1\"]},\"contracts/release/extensions/policy-manager/IPolicyManager.sol\":{\"keccak256\":\"0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa\",\"dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb\"]},\"contracts/release/extensions/policy-manager/policies/asset-managers/AllowedExternalPositionTypesPerManagerPolicy.sol\":{\"keccak256\":\"0x213839d5d035141b5773ac47b6f3da8977c8f0a603f2a677e45b56802f2016ec\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://e302726a3996f3325ef45b3e4795e89a5e8206b2ab67dd25467eaf3e23e0607f\",\"dweb:/ipfs/QmeSyr2cJ9fkhfWNs4ZpoQM3jPUdPEPRQrvqXYnKgUXNDb\"]},\"contracts/release/extensions/policy-manager/policies/utils/PolicyBase.sol\":{\"keccak256\":\"0x972311abb98f0da815b4aca83d5afdd219d3604ec19cf5e3773c0c305bd9b3f1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2452f3d1f3b1d8e8459a07489146a2d0d8a10463715937995cbe77ee5de8c069\",\"dweb:/ipfs/Qmf2hhd2DVbjpxmbNGAhRZNZkqpGZA2mX3eA1WNwtv6t5Y\"]},\"contracts/release/extensions/policy-manager/policies/utils/UintListRegistryPerUserPolicyBase.sol\":{\"keccak256\":\"0x1c17f73b9dc14b9a6695c7bb74c1bee95b5d2d2e012817196f06b3b858b852f4\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://7461f0c59077138b3242c47a7f5fe0208b0183107afc5df8ef2b6d68500ff68d\",\"dweb:/ipfs/QmRFY3XGKkmvc5TBmVQ1wQu3dsBD78N82EM7SdZMG5teoX\"]},\"contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol\":{\"keccak256\":\"0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f\",\"dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol\":{\"keccak256\":\"0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0\",\"dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol\":{\"keccak256\":\"0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b\",\"dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3\"]},\"contracts/release/infrastructure/protocol-fees/IProtocolFeeTracker.sol\":{\"keccak256\":\"0x232b347f83457439064add7369bfe1930c7cb56f15930bb87d640e909c15e447\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://24f9af5eebdd373b1d7a598c096eb6def31b2640d54416d7d5a7226e1cef17e6\",\"dweb:/ipfs/QmStq9ByGuSYdKwTmZf52L1X6sZVJUfXTnoVbnjLLiUcHG\"]},\"contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol\":{\"keccak256\":\"0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965\",\"dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ\"]},\"contracts/release/interfaces/IGsnForwarder.sol\":{\"keccak256\":\"0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29\",\"dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G\"]},\"contracts/release/interfaces/IGsnPaymaster.sol\":{\"keccak256\":\"0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4\",\"dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF\"]},\"contracts/release/interfaces/IGsnTypes.sol\":{\"keccak256\":\"0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7\",\"dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C\"]},\"contracts/release/interfaces/IWETH.sol\":{\"keccak256\":\"0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2\",\"dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/beacon-proxy/IBeacon.sol\":{\"keccak256\":\"0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39\",\"dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V\"]},\"contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol\":{\"keccak256\":\"0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be\",\"dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20Burnable.sol\":{\"keccak256\":\"0x9c0eb3b0e11d2480d49991dc384f1e5f9c9b9967cc81944d50916a9b9c6c4984\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99e4033d778624992e86f0b6d801a4f6d7b5c0cd5c79c1296be90a051ad5f5af\",\"dweb:/ipfs/QmShYmkUqh6pDEeoWadZ24icmCr4C2Xys1uE5boivPmbwf\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_policyManager", "type": "address" }, { "internalType": "address", "name": "_uintListRegistry", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "comptrollerProxy", "type": "address", "indexed": true }, { "internalType": "address", "name": "user", "type": "address", "indexed": true }, { "internalType": "uint256[]", "name": "listIds", "type": "uint256[]", "indexed": false } ], "type": "event", "name": "ListsSetForFundAndUser", "anonymous": false }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "BYPASS_FLAG", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "activateForFund" }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" }, { "internalType": "bytes", "name": "_encodedSettings", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "addFundSettings" }, { "inputs": [], "stateMutability": "pure", "type": "function", "name": "canDisable", "outputs": [ { "internalType": "bool", "name": "canDisable_", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" }, { "internalType": "address", "name": "_user", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getListIdsForFundAndUser", "outputs": [ { "internalType": "uint256[]", "name": "listIds_", "type": "uint256[]" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getPolicyManager", "outputs": [ { "internalType": "address", "name": "policyManager_", "type": "address" } ] }, { "inputs": [], "stateMutability": "pure", "type": "function", "name": "identifier", "outputs": [ { "internalType": "string", "name": "identifier_", "type": "string" } ] }, { "inputs": [], "stateMutability": "pure", "type": "function", "name": "implementedHooks", "outputs": [ { "internalType": "enum IPolicyManager.PolicyHook[]", "name": "implementedHooks_", "type": "uint8[]" } ] }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" }, { "internalType": "address", "name": "_caller", "type": "address" }, { "internalType": "uint256", "name": "_externalPositionTypeId", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "passesRule", "outputs": [ { "internalType": "bool", "name": "isValid_", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" }, { "internalType": "bytes", "name": "_encodedSettings", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "updateFundSettings" }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" }, { "internalType": "enum IPolicyManager.PolicyHook", "name": "_hook", "type": "uint8" }, { "internalType": "bytes", "name": "_encodedArgs", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "validateRule", "outputs": [ { "internalType": "bool", "name": "isValid_", "type": "bool" } ] } ], "devdoc": { "kind": "dev", "methods": { "activateForFund(address)": { "details": "Unimplemented by default, can be overridden by the policy" }, "addFundSettings(address,bytes)": { "params": { "_comptrollerProxy": "The fund's ComptrollerProxy address", "_encodedSettings": "Encoded settings to apply to a fund" } }, "canDisable()": { "returns": { "canDisable_": "True if the policy can be disabled" } }, "getListIdsForFundAndUser(address,address)": { "params": { "_comptrollerProxy": "The ComptrollerProxy of the fund", "_user": "The user of the fund" }, "returns": { "listIds_": "The list ids" } }, "getPolicyManager()": { "returns": { "policyManager_": "The `POLICY_MANAGER` variable value" } }, "identifier()": { "returns": { "identifier_": "The identifier string" } }, "implementedHooks()": { "returns": { "implementedHooks_": "The implemented PolicyHooks" } }, "passesRule(address,address,uint256)": { "params": { "_caller": "The caller for which to check the rule", "_comptrollerProxy": "The fund's ComptrollerProxy address", "_externalPositionTypeId": "The external position type id for which to check the rule" }, "returns": { "isValid_": "True if the rule passes" } }, "updateFundSettings(address,bytes)": { "details": "Assigns a new array of lists (does not add/remove lists nor update items in a list)", "params": { "_comptrollerProxy": "The fund's ComptrollerProxy address", "_encodedSettings": "Encoded settings to apply to a fund" } }, "validateRule(address,uint8,bytes)": { "details": "onlyPolicyManager validation not necessary, as state is not updated and no events are fired", "params": { "_comptrollerProxy": "The fund's ComptrollerProxy address", "_encodedArgs": "Encoded args with which to validate the rule", "_hook": "The PolicyHook" }, "returns": { "isValid_": "True if the rule passes" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "activateForFund(address)": { "notice": "Validates and initializes a policy as necessary prior to fund activation" }, "addFundSettings(address,bytes)": { "notice": "Adds the initial policy settings for a fund" }, "canDisable()": { "notice": "Whether or not the policy can be disabled" }, "getListIdsForFundAndUser(address,address)": { "notice": "Gets the list ids used by a given fund and user" }, "getPolicyManager()": { "notice": "Gets the `POLICY_MANAGER` variable value" }, "identifier()": { "notice": "Provides a constant string identifier for a policy" }, "implementedHooks()": { "notice": "Gets the implemented PolicyHooks for a policy" }, "passesRule(address,address,uint256)": { "notice": "Checks whether a particular condition passes the rule for a particular fund" }, "updateFundSettings(address,bytes)": { "notice": "Updates the policy settings for a fund" }, "validateRule(address,uint8,bytes)": { "notice": "Apply the rule with the specified parameters of a PolicyHook" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/policy-manager/policies/asset-managers/AllowedExternalPositionTypesPerManagerPolicy.sol": "AllowedExternalPositionTypesPerManagerPolicy" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/dispatcher/IDispatcher.sol": { "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", "urls": [ "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" ], "license": "GPL-3.0" }, "contracts/persistent/external-positions/IExternalPosition.sol": { "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", "urls": [ "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" ], "license": "GPL-3.0" }, "contracts/persistent/external-positions/IExternalPositionProxy.sol": { "keccak256": "0xc74e623dbdc949df49e9cef31e0f958b17c715d89198dbbc1754d8f9c21e90de", "urls": [ "bzz-raw://074daf0a9f4e667964e6d50039986e3d792860cdece05d21e3606d33358a02b2", "dweb:/ipfs/QmVHXiKry9fYfjSNd6dxmtSr7DubNJvYJTNXtLDKGer2xH" ], "license": "GPL-3.0" }, "contracts/persistent/protocol-fee-reserve/interfaces/IProtocolFeeReserve1.sol": { "keccak256": "0x2728878c423db523bc95189137e8c58d2d7db9f56bbd5c6b1f988c08b551fbab", "urls": [ "bzz-raw://3b0df1d2eb74151265d03ab91a7c341f7beca475dd2f4d669052dbc4ee2c06ac", "dweb:/ipfs/QmVx1cgrxQNYfdK1Kn15pcgqf79Uw8bF3U6i7F2HG2rj6G" ], "license": "GPL-3.0" }, "contracts/persistent/uint-list-registry/UintListRegistry.sol": { "keccak256": "0x79b8f209651bbeffcb7274a88753a929f022689a9bce9575a53ff03658ee2825", "urls": [ "bzz-raw://a8e334b6b57232ab6dae49e38cf4cbbe376ff9bb8e4f71665a7cca33c2aed99d", "dweb:/ipfs/QmNiTw8WyGBjhqAy4JB1dGscKEBxvrpWNJYuPvb3ojxG6y" ], "license": "GPL-3.0" }, "contracts/persistent/vault/VaultLibBase1.sol": { "keccak256": "0xa4dac1e4cdb311a2ab187135355357d8790c505ef36dd912c057fe53743d30b5", "urls": [ "bzz-raw://b66efe821016ab927c949263023260515e90f5d480dc8d94eefbfeec7bf7490b", "dweb:/ipfs/QmNY3xKnhL9EptAbxGvXHGAXfV9pj3dDPwsZnKrPs54ZHw" ], "license": "GPL-3.0" }, "contracts/persistent/vault/VaultLibBase2.sol": { "keccak256": "0xf7d31f2a9a47770ed3f444be2c4fe9262ddb55fef7f25e546b1f03c9afec4c09", "urls": [ "bzz-raw://9353ddce7c9b8b3c13fed23fe8edec99ca610d791b0c5b204b3d01f1f08d07d2", "dweb:/ipfs/QmeVsEh3joCjv49BRXeHASevnZZ5xdZXpkctHT8BPf37N2" ], "license": "GPL-3.0" }, "contracts/persistent/vault/VaultLibBaseCore.sol": { "keccak256": "0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074", "urls": [ "bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd", "dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IExternalPositionVault.sol": { "keccak256": "0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6", "urls": [ "bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d", "dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol": { "keccak256": "0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0", "urls": [ "bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb", "dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IMigratableVault.sol": { "keccak256": "0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238", "urls": [ "bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6", "dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IVaultCore.sol": { "keccak256": "0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80", "urls": [ "bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd", "dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr" ], "license": "GPL-3.0" }, "contracts/persistent/vault/utils/ProxiableVaultLib.sol": { "keccak256": "0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76", "urls": [ "bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44", "dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4" ], "license": "GPL-3.0" }, "contracts/persistent/vault/utils/SharesTokenBase.sol": { "keccak256": "0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113", "urls": [ "bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8", "dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4" ], "license": "GPL-3.0" }, "contracts/persistent/vault/utils/VaultLibSafeMath.sol": { "keccak256": "0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d", "urls": [ "bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02", "dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG" ], "license": "GPL-3.0" }, "contracts/release/core/fund-deployer/IFundDeployer.sol": { "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", "urls": [ "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" ], "license": "GPL-3.0" }, "contracts/release/core/fund/comptroller/ComptrollerLib.sol": { "keccak256": "0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64", "urls": [ "bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579", "dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq" ], "license": "GPL-3.0" }, "contracts/release/core/fund/comptroller/IComptroller.sol": { "keccak256": "0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f", "urls": [ "bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97", "dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L" ], "license": "GPL-3.0" }, "contracts/release/core/fund/vault/IVault.sol": { "keccak256": "0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd", "urls": [ "bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599", "dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG" ], "license": "GPL-3.0" }, "contracts/release/core/fund/vault/VaultLib.sol": { "keccak256": "0x07e49445ab55c01e1b499a48baadc2a15d1eba621f1c6d3ccfdb84c87b976da8", "urls": [ "bzz-raw://56d882459248f73e137db2e097fc56b946147fb28ec21661b77431f88e856cb4", "dweb:/ipfs/QmRP6Ry7DCS5uoKxnnkTomHSzbaCze6cHqbR9aLdjoF6vK" ], "license": "GPL-3.0" }, "contracts/release/extensions/IExtension.sol": { "keccak256": "0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b", "urls": [ "bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70", "dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/IExternalPositionManager.sol": { "keccak256": "0x3af3f634e1f99fb97091b7825c0d2e2baaafc124d4e87d56cb0c17ff8554f6c6", "urls": [ "bzz-raw://515470605afe5ef147f30fa75ce7818f0e00e3d321eb81a4d9bffcdefc294495", "dweb:/ipfs/QmPKsp99pfHoz9Tfo3ZxnkmqDqJtN9PxqacF2RmeVfxUJF" ], "license": "GPL-3.0" }, "contracts/release/extensions/fee-manager/IFeeManager.sol": { "keccak256": "0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51", "urls": [ "bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22", "dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod" ], "license": "GPL-3.0" }, "contracts/release/extensions/policy-manager/IPolicy.sol": { "keccak256": "0xc12663ca72065b256c3b934ab738fde26c147c7b0399de43650df89dd52ee467", "urls": [ "bzz-raw://be8fecfcba0f3fda615f0a1bb3c766750c23761ef751d7c4472dfe540e460cd1", "dweb:/ipfs/QmaarPoRTsX6NiJ8V4u2f3Qh6d7tUs28bw9R14An3t5Bs1" ], "license": "GPL-3.0" }, "contracts/release/extensions/policy-manager/IPolicyManager.sol": { "keccak256": "0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32", "urls": [ "bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa", "dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb" ], "license": "GPL-3.0" }, "contracts/release/extensions/policy-manager/policies/asset-managers/AllowedExternalPositionTypesPerManagerPolicy.sol": { "keccak256": "0x213839d5d035141b5773ac47b6f3da8977c8f0a603f2a677e45b56802f2016ec", "urls": [ "bzz-raw://e302726a3996f3325ef45b3e4795e89a5e8206b2ab67dd25467eaf3e23e0607f", "dweb:/ipfs/QmeSyr2cJ9fkhfWNs4ZpoQM3jPUdPEPRQrvqXYnKgUXNDb" ], "license": "GPL-3.0" }, "contracts/release/extensions/policy-manager/policies/utils/PolicyBase.sol": { "keccak256": "0x972311abb98f0da815b4aca83d5afdd219d3604ec19cf5e3773c0c305bd9b3f1", "urls": [ "bzz-raw://2452f3d1f3b1d8e8459a07489146a2d0d8a10463715937995cbe77ee5de8c069", "dweb:/ipfs/Qmf2hhd2DVbjpxmbNGAhRZNZkqpGZA2mX3eA1WNwtv6t5Y" ], "license": "GPL-3.0" }, "contracts/release/extensions/policy-manager/policies/utils/UintListRegistryPerUserPolicyBase.sol": { "keccak256": "0x1c17f73b9dc14b9a6695c7bb74c1bee95b5d2d2e012817196f06b3b858b852f4", "urls": [ "bzz-raw://7461f0c59077138b3242c47a7f5fe0208b0183107afc5df8ef2b6d68500ff68d", "dweb:/ipfs/QmRFY3XGKkmvc5TBmVQ1wQu3dsBD78N82EM7SdZMG5teoX" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol": { "keccak256": "0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609", "urls": [ "bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f", "dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol": { "keccak256": "0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01", "urls": [ "bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0", "dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol": { "keccak256": "0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196", "urls": [ "bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b", "dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/protocol-fees/IProtocolFeeTracker.sol": { "keccak256": "0x232b347f83457439064add7369bfe1930c7cb56f15930bb87d640e909c15e447", "urls": [ "bzz-raw://24f9af5eebdd373b1d7a598c096eb6def31b2640d54416d7d5a7226e1cef17e6", "dweb:/ipfs/QmStq9ByGuSYdKwTmZf52L1X6sZVJUfXTnoVbnjLLiUcHG" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol": { "keccak256": "0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794", "urls": [ "bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965", "dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IGsnForwarder.sol": { "keccak256": "0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030", "urls": [ "bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29", "dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IGsnPaymaster.sol": { "keccak256": "0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c", "urls": [ "bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4", "dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IGsnTypes.sol": { "keccak256": "0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714", "urls": [ "bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7", "dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IWETH.sol": { "keccak256": "0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2", "urls": [ "bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2", "dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ" ], "license": "GPL-3.0" }, "contracts/release/utils/AddressArrayLib.sol": { "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", "urls": [ "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" ], "license": "GPL-3.0" }, "contracts/release/utils/beacon-proxy/IBeacon.sol": { "keccak256": "0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2", "urls": [ "bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39", "dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V" ], "license": "GPL-3.0" }, "contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol": { "keccak256": "0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc", "urls": [ "bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be", "dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20Burnable.sol": { "keccak256": "0x9c0eb3b0e11d2480d49991dc384f1e5f9c9b9967cc81944d50916a9b9c6c4984", "urls": [ "bzz-raw://99e4033d778624992e86f0b6d801a4f6d7b5c0cd5c79c1296be90a051ad5f5af", "dweb:/ipfs/QmShYmkUqh6pDEeoWadZ24icmCr4C2Xys1uE5boivPmbwf" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", "urls": [ "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Address.sol": { "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", "urls": [ "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" } }, "version": 1 }, "id": 210 } diff --git a/eth_defi/abi/enzyme/AllowedExternalPositionTypesPolicy.json b/eth_defi/abi/enzyme/AllowedExternalPositionTypesPolicy.json index dc1cecbf..a364ae74 100644 --- a/eth_defi/abi/enzyme/AllowedExternalPositionTypesPolicy.json +++ b/eth_defi/abi/enzyme/AllowedExternalPositionTypesPolicy.json @@ -1,908 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_policyManager", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "comptrollerProxy", - "type": "address" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "externalPositionTypeId", - "type": "uint256" - } - ], - "name": "AllowedExternalPositionTypeAddedForFund", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - } - ], - "name": "activateForFund", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_encodedSettings", - "type": "bytes" - } - ], - "name": "addFundSettings", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "canDisable", - "outputs": [ - { - "internalType": "bool", - "name": "canDisable_", - "type": "bool" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_externalPositionTypeId", - "type": "uint256" - } - ], - "name": "externalPositionTypeIsAllowedForFund", - "outputs": [ - { - "internalType": "bool", - "name": "isAllowed_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getPolicyManager", - "outputs": [ - { - "internalType": "address", - "name": "policyManager_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "identifier", - "outputs": [ - { - "internalType": "string", - "name": "identifier_", - "type": "string" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "implementedHooks", - "outputs": [ - { - "internalType": "enum IPolicyManager.PolicyHook[]", - "name": "implementedHooks_", - "type": "uint8[]" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "updateFundSettings", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "enum IPolicyManager.PolicyHook", - "name": "_hook", - "type": "uint8" - }, - { - "internalType": "bytes", - "name": "_encodedArgs", - "type": "bytes" - } - ], - "name": "validateRule", - "outputs": [ - { - "internalType": "bool", - "name": "isValid_", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x60a060405234801561001057600080fd5b50604051610c6d380380610c6d8339818101604052602081101561003357600080fd5b5051606081901b6001600160601b0319166080526001600160a01b0316610bfc610071600039806103c5528061078d5280610a325250610bfc6000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c806373f8d40e1161006657806373f8d40e146102385780637998a1c414610264578063cbf54bb2146102e1578063ceb9a0ad14610339578063d44ad6cb1461035f57610093565b80630d4d7510146100985780630f5f6b4f146101185780631ef9257814610196578063579be718146101b2575b600080fd5b610116600480360360408110156100ae57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b8111156100d857600080fd5b8201836020820111156100ea57600080fd5b803590602001918460018302840111600160201b8311171561010b57600080fd5b509092509050610383565b005b6101166004803603604081101561012e57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561015857600080fd5b82018360208201111561016a57600080fd5b803590602001918460018302840111600160201b8311171561018b57600080fd5b5090925090506103ba565b61019e610574565b604080519115158252519081900360200190f35b61019e600480360360608110156101c857600080fd5b6001600160a01b038235169160ff60208201351691810190606081016040820135600160201b8111156101fa57600080fd5b82018360208201111561020c57600080fd5b803590602001918460018302840111600160201b8311171561022d57600080fd5b509092509050610579565b61019e6004803603604081101561024e57600080fd5b506001600160a01b03813516906020013561069a565b61026c6106c3565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102a657818101518382015260200161028e565b50505050905090810190601f1680156102d35780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102e96106fa565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561032557818101518382015260200161030d565b505050509050019250505060405180910390f35b6101166004803603602081101561034f57600080fd5b50356001600160a01b0316610782565b610367610a30565b604080516001600160a01b039092168252519081900360200190f35b60405162461bcd60e51b8152600401808060200182810382526037815260200180610b606037913960400191505060405180910390fd5b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104215760405162461bcd60e51b8152600401808060200182810382526029815260200180610b976029913960400191505060405180910390fd5b60608282602081101561043357600080fd5b810190602081018135600160201b81111561044d57600080fd5b82018360208201111561045f57600080fd5b803590602001918460208302840111600160201b8311171561048057600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092018290525093975092955050505050505b815181101561056d576001600160a01b03851660009081526020819052604081208351600192908590859081106104ee57fe5b6020026020010151815260200190815260200160002060006101000a81548160ff02191690831515021790555081818151811061052757fe5b6020026020010151856001600160a01b03167f1a00471f7050c952312b148cb5d6f7bfab7e1f6909dcd0630a99e304dc8403fb60405160405180910390a36001016104bb565b5050505050565b600090565b600080600685600981111561058a57fe5b14156105d9576105cf84848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610a5492505050565b5091506106869050565b600061061a85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610b3492505050565b915050806001600160a01b03166312bc0a446040518163ffffffff1660e01b815260040160206040518083038186803b15801561065657600080fd5b505afa15801561066a573d6000803e3d6000fd5b505050506040513d602081101561068057600080fd5b50519150505b610690868261069a565b9695505050505050565b6001600160a01b0391909116600090815260208181526040808320938352929052205460ff1690565b60408051808201909152601f81527f414c4c4f5745445f45585445524e414c5f504f534954494f4e5f545950455300602082015290565b604080516002808252606080830184529260208301908036833701905050905060068160008151811061072957fe5b6020026020010190600981111561073c57fe5b9081600981111561074957fe5b8152505060098160018151811061075c57fe5b6020026020010190600981111561076f57fe5b9081600981111561077c57fe5b90525090565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146107e95760405162461bcd60e51b8152600401808060200182810382526029815260200180610b976029913960400191505060405180910390fd5b6060816001600160a01b031663c98091876040518163ffffffff1660e01b815260040160206040518083038186803b15801561082457600080fd5b505afa158015610838573d6000803e3d6000fd5b505050506040513d602081101561084e57600080fd5b50516040805163b8b7f14760e01b815290516001600160a01b039092169163b8b7f14791600480820192600092909190829003018186803b15801561089257600080fd5b505afa1580156108a6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260208110156108cf57600080fd5b8101908080516040519392919084600160201b8211156108ee57600080fd5b90830190602082018581111561090357600080fd5b82518660208202830111600160201b8211171561091f57600080fd5b82525081516020918201928201910280838360005b8381101561094c578181015183820152602001610934565b50505050905001604052505050905060005b8151811015610a2b576109e88383838151811061097757fe5b60200260200101516001600160a01b03166312bc0a446040518163ffffffff1660e01b815260040160206040518083038186803b1580156109b757600080fd5b505afa1580156109cb573d6000803e3d6000fd5b505050506040513d60208110156109e157600080fd5b505161069a565b610a235760405162461bcd60e51b8152600401808060200182810382526030815260200180610bc06030913960400191505060405180910390fd5b60010161095e565b505050565b7f000000000000000000000000000000000000000000000000000000000000000090565b6000806060838060200190516060811015610a6e57600080fd5b81516020830151604080850180519151939592948301929184600160201b821115610a9857600080fd5b908301906020820185811115610aad57600080fd5b8251600160201b811182820188101715610ac657600080fd5b82525081516020918201929091019080838360005b83811015610af3578181015183820152602001610adb565b50505050905090810190601f168015610b205780820380516001836020036101000a031916815260200191505b506040525050509250925092509193909250565b600080828060200190516040811015610b4c57600080fd5b508051602090910151909250905091509156fe75706461746546756e6453657474696e67733a2055706461746573206e6f7420616c6c6f77656420666f72207468697320706f6c6963794f6e6c792074686520506f6c6963794d616e616765722063616e206d616b6520746869732063616c6c6163746976617465466f7246756e643a20446973616c6c6f7765642045787465726e616c506f736974696f6e54797065a164736f6c634300060c000a", - "sourceMap": "703:5090:211:-:0;;;915:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;915:72:211;737:31:223;;;;-1:-1:-1;;;;;;737:31:223;;;-1:-1:-1;;;;;703:5090:211;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106100935760003560e01c806373f8d40e1161006657806373f8d40e146102385780637998a1c414610264578063cbf54bb2146102e1578063ceb9a0ad14610339578063d44ad6cb1461035f57610093565b80630d4d7510146100985780630f5f6b4f146101185780631ef9257814610196578063579be718146101b2575b600080fd5b610116600480360360408110156100ae57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b8111156100d857600080fd5b8201836020820111156100ea57600080fd5b803590602001918460018302840111600160201b8311171561010b57600080fd5b509092509050610383565b005b6101166004803603604081101561012e57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561015857600080fd5b82018360208201111561016a57600080fd5b803590602001918460018302840111600160201b8311171561018b57600080fd5b5090925090506103ba565b61019e610574565b604080519115158252519081900360200190f35b61019e600480360360608110156101c857600080fd5b6001600160a01b038235169160ff60208201351691810190606081016040820135600160201b8111156101fa57600080fd5b82018360208201111561020c57600080fd5b803590602001918460018302840111600160201b8311171561022d57600080fd5b509092509050610579565b61019e6004803603604081101561024e57600080fd5b506001600160a01b03813516906020013561069a565b61026c6106c3565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102a657818101518382015260200161028e565b50505050905090810190601f1680156102d35780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102e96106fa565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561032557818101518382015260200161030d565b505050509050019250505060405180910390f35b6101166004803603602081101561034f57600080fd5b50356001600160a01b0316610782565b610367610a30565b604080516001600160a01b039092168252519081900360200190f35b60405162461bcd60e51b8152600401808060200182810382526037815260200180610b606037913960400191505060405180910390fd5b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104215760405162461bcd60e51b8152600401808060200182810382526029815260200180610b976029913960400191505060405180910390fd5b60608282602081101561043357600080fd5b810190602081018135600160201b81111561044d57600080fd5b82018360208201111561045f57600080fd5b803590602001918460208302840111600160201b8311171561048057600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092018290525093975092955050505050505b815181101561056d576001600160a01b03851660009081526020819052604081208351600192908590859081106104ee57fe5b6020026020010151815260200190815260200160002060006101000a81548160ff02191690831515021790555081818151811061052757fe5b6020026020010151856001600160a01b03167f1a00471f7050c952312b148cb5d6f7bfab7e1f6909dcd0630a99e304dc8403fb60405160405180910390a36001016104bb565b5050505050565b600090565b600080600685600981111561058a57fe5b14156105d9576105cf84848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610a5492505050565b5091506106869050565b600061061a85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610b3492505050565b915050806001600160a01b03166312bc0a446040518163ffffffff1660e01b815260040160206040518083038186803b15801561065657600080fd5b505afa15801561066a573d6000803e3d6000fd5b505050506040513d602081101561068057600080fd5b50519150505b610690868261069a565b9695505050505050565b6001600160a01b0391909116600090815260208181526040808320938352929052205460ff1690565b60408051808201909152601f81527f414c4c4f5745445f45585445524e414c5f504f534954494f4e5f545950455300602082015290565b604080516002808252606080830184529260208301908036833701905050905060068160008151811061072957fe5b6020026020010190600981111561073c57fe5b9081600981111561074957fe5b8152505060098160018151811061075c57fe5b6020026020010190600981111561076f57fe5b9081600981111561077c57fe5b90525090565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146107e95760405162461bcd60e51b8152600401808060200182810382526029815260200180610b976029913960400191505060405180910390fd5b6060816001600160a01b031663c98091876040518163ffffffff1660e01b815260040160206040518083038186803b15801561082457600080fd5b505afa158015610838573d6000803e3d6000fd5b505050506040513d602081101561084e57600080fd5b50516040805163b8b7f14760e01b815290516001600160a01b039092169163b8b7f14791600480820192600092909190829003018186803b15801561089257600080fd5b505afa1580156108a6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260208110156108cf57600080fd5b8101908080516040519392919084600160201b8211156108ee57600080fd5b90830190602082018581111561090357600080fd5b82518660208202830111600160201b8211171561091f57600080fd5b82525081516020918201928201910280838360005b8381101561094c578181015183820152602001610934565b50505050905001604052505050905060005b8151811015610a2b576109e88383838151811061097757fe5b60200260200101516001600160a01b03166312bc0a446040518163ffffffff1660e01b815260040160206040518083038186803b1580156109b757600080fd5b505afa1580156109cb573d6000803e3d6000fd5b505050506040513d60208110156109e157600080fd5b505161069a565b610a235760405162461bcd60e51b8152600401808060200182810382526030815260200180610bc06030913960400191505060405180910390fd5b60010161095e565b505050565b7f000000000000000000000000000000000000000000000000000000000000000090565b6000806060838060200190516060811015610a6e57600080fd5b81516020830151604080850180519151939592948301929184600160201b821115610a9857600080fd5b908301906020820185811115610aad57600080fd5b8251600160201b811182820188101715610ac657600080fd5b82525081516020918201929091019080838360005b83811015610af3578181015183820152602001610adb565b50505050905090810190601f168015610b205780820380516001836020036101000a031916815260200191505b506040525050509250925092509193909250565b600080828060200190516040811015610b4c57600080fd5b508051602090910151909250905091509156fe75706461746546756e6453657474696e67733a2055706461746573206e6f7420616c6c6f77656420666f72207468697320706f6c6963794f6e6c792074686520506f6c6963794d616e616765722063616e206d616b6520746869732063616c6c6163746976617465466f7246756e643a20446973616c6c6f7765642045787465726e616c506f736974696f6e54797065a164736f6c634300060c000a", - "sourceMap": "703:5090:211:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1452:161:223;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1452:161:223;;;;;;;;;;;;;;;-1:-1:-1;;;1452:161:223;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1452:161:223;;;;;;;;;;-1:-1:-1;1452:161:223;;-1:-1:-1;1452:161:223;-1:-1:-1;1452:161:223;:::i;:::-;;2299:688:211;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2299:688:211;;;;;;;;;;;;;;;-1:-1:-1;;;2299:688:211;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2299:688:211;;;;;;;;;;-1:-1:-1;2299:688:211;;-1:-1:-1;2299:688:211;-1:-1:-1;2299:688:211;:::i;1214:109:223:-;;;:::i;:::-;;;;;;;;;;;;;;;;;;4215:872:211;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4215:872:211;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4215:872:211;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4215:872:211;;;;;;;;;;-1:-1:-1;4215:872:211;;-1:-1:-1;4215:872:211;-1:-1:-1;4215:872:211;:::i;5466:325::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;5466:325:211;;;;;;;;:::i;3110:138::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3378:422;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1268:656;;;;;;;;;;;;;;;;-1:-1:-1;1268:656:211;-1:-1:-1;;;;;1268:656:211;;:::i;6755:113:223:-;;;:::i;:::-;;;;-1:-1:-1;;;;;6755:113:223;;;;;;;;;;;;;;1452:161;1541:65;;-1:-1:-1;;;1541:65:223;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2299:688:211;586:10:223;-1:-1:-1;;;;;600:14:223;586:28;;578:82;;;;-1:-1:-1;;;578:82:223;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2458:47:211::1;2532:16;;2508:75;;;;;;;::::0;::::1;;::::0;::::1;::::0;::::1;::::0;::::1;::::0;::::1;-1:-1:-1::0;;;2508:75:211;::::1;;;;;::::0;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;-1:-1:-1::0;;;2508:75:211::1;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;-1:-1:-1;2508:75:211;;-1:-1:-1;2508:75:211;;-1:-1:-1;;;;;;2593:388:211::1;2613:30;:37;2609:1;:41;2593:388;;;-1:-1:-1::0;;;;;2671:68:211;::::1;:49;:68:::0;;;::::1;::::0;;;;;;2757:33;;2807:4:::1;::::0;2671:49;2757:30;;2788:1;;2757:33;::::1;;;;;;;;;;;2671:133;;;;;;;;;;;;:140;;;;;;;;;;;;;;;;;;2923:30;2954:1;2923:33;;;;;;;;;;;;;;2888:17;-1:-1:-1::0;;;;;2831:139:211::1;;;;;;;;;;;2652:3;;2593:388;;;;670:1:223;2299:688:211::0;;;:::o;1214:109:223:-;1276:16;1214:109;:::o;4215:872:211:-;4383:13;;4461:48;4452:5;:57;;;;;;;;;4448:536;;;4556:88;4618:12;;4556:88;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4556:44:211;;-1:-1:-1;;;4556:88:211:i;:::-;-1:-1:-1;4525:119:211;-1:-1:-1;4448:536:211;;-1:-1:-1;4448:536:211;;4731:24;4759:92;4825:12;;4759:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4759:48:211;;-1:-1:-1;;;4759:92:211:i;:::-;4728:123;;;4913:16;-1:-1:-1;;;;;4890:81:211;;:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4890:83:211;;-1:-1:-1;;4448:536:211;5001:79;5038:17;5057:22;5001:36;:79::i;:::-;4994:86;4215:872;-1:-1:-1;;;;;;4215:872:211:o;5466:325::-;-1:-1:-1;;;;;5661:68:211;;;;5615:15;5661:68;;;;;;;;;;;:123;;;;;;;;;;;5466:325::o;3110:138::-;3201:40;;;;;;;;;;;;;;;;;3110:138;:::o;3378:422::-;3558:34;;;3590:1;3558:34;;;3470:52;3558:34;;;;;3470:52;3558:34;;;;;;;;;;-1:-1:-1;3558:34:211;3538:54;;3625:48;3602:17;3620:1;3602:20;;;;;;;;;;;;;:71;;;;;;;;;;;;;;;;;;;;;;;3706:52;3683:17;3701:1;3683:20;;;;;;;;;;;;;:75;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3378:422:211;:::o;1268:656::-;586:10:223;-1:-1:-1;;;;;600:14:223;586:28;;578:82;;;;-1:-1:-1;;;578:82:223;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1366:40:211::1;1454:17;-1:-1:-1::0;;;;;1439:47:211::1;;:49;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;1439:49:211;1409:119:::1;::::0;;-1:-1:-1;;;1409:119:211;;;;-1:-1:-1;;;;;1409:117:211;;::::1;::::0;::::1;::::0;:119:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;:117;:119;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;::::0;;::::1;-1:-1:-1::0;;1409:119:211::1;::::0;::::1;;::::0;::::1;::::0;::::1;;;;;::::0;::::1;;;;;;;;;;;;;;;-1:-1:-1::0;;;1409:119:211::1;;;;;;::::0;::::1;;::::0;;::::1;::::0;::::1;::::0;::::1;::::0;;::::1;;;;;::::0;::::1;;;;;;;;;;;-1:-1:-1::0;;;1409:119:211::1;;;;;;;::::0;::::1;;::::0;;-1:-1:-1;1409:119:211;;::::1;::::0;;::::1;::::0;;::::1;::::0;::::1;::::0;;;::::1;;;;;;;;::::0;;::::1;::::0;;;::::1;::::0;::::1;;;;;;;;;;;;;;::::0;::::1;;1366:162;;1543:9;1538:380;1558:23;:30;1554:1;:34;1538:380;;;1634:191;1692:17;1754:23;1778:1;1754:26;;;;;;;;;;;;;;-1:-1:-1::0;;;;;1731:74:211::1;;:76;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;1731:76:211;1634:36:::1;:191::i;:::-;1609:298;;;;-1:-1:-1::0;;;1609:298:211::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1590:3;;1538:380;;;;670:1:223;1268:656:211::0;:::o;6755:113:223:-;6847:14;6755:113;:::o;2184:327::-;2328:15;2357;2386:32;2461:15;2450:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2450:54:223;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2450:54:223;;;;;;-1:-1:-1;2450:54:223;;;;;;;;;;-1:-1:-1;2450:54:223;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2443:61;;;;;;2184:327;;;;;:::o;4911:254::-;5046:15;5063:25;5122:15;5111:47;;;;;;;;;;;;;;;-1:-1:-1;5111:47:223;;;;;;;;;-1:-1:-1;5111:47:223;-1:-1:-1;4911:254:223;;;:::o", - "linkReferences": {}, - "immutableReferences": { - "59893": [ - { - "start": 965, - "length": 32 - }, - { - "start": 1933, - "length": 32 - }, - { - "start": 2610, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "activateForFund(address)": "ceb9a0ad", - "addFundSettings(address,bytes)": "0f5f6b4f", - "canDisable()": "1ef92578", - "externalPositionTypeIsAllowedForFund(address,uint256)": "73f8d40e", - "getPolicyManager()": "d44ad6cb", - "identifier()": "7998a1c4", - "implementedHooks()": "cbf54bb2", - "updateFundSettings(address,bytes)": "0d4d7510", - "validateRule(address,uint8,bytes)": "579be718" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_policyManager\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"externalPositionTypeId\",\"type\":\"uint256\"}],\"name\":\"AllowedExternalPositionTypeAddedForFund\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"}],\"name\":\"activateForFund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_encodedSettings\",\"type\":\"bytes\"}],\"name\":\"addFundSettings\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"canDisable\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"canDisable_\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_externalPositionTypeId\",\"type\":\"uint256\"}],\"name\":\"externalPositionTypeIsAllowedForFund\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isAllowed_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPolicyManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"policyManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"identifier\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"identifier_\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"implementedHooks\",\"outputs\":[{\"internalType\":\"enum IPolicyManager.PolicyHook[]\",\"name\":\"implementedHooks_\",\"type\":\"uint8[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"updateFundSettings\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"enum IPolicyManager.PolicyHook\",\"name\":\"_hook\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"_encodedArgs\",\"type\":\"bytes\"}],\"name\":\"validateRule\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isValid_\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"activateForFund(address)\":{\"params\":{\"_comptrollerProxy\":\"The fund's ComptrollerProxy address\"}},\"addFundSettings(address,bytes)\":{\"details\":\"Most funds that use this policy will likely not allow any external positions. Does not prohibit specifying not-yet-defined external position type ids.\",\"params\":{\"_comptrollerProxy\":\"The fund's ComptrollerProxy address\",\"_encodedSettings\":\"Encoded settings to apply to a fund\"}},\"canDisable()\":{\"details\":\"False by default, can be overridden by the policy\",\"returns\":{\"canDisable_\":\"True if the policy can be disabled\"}},\"externalPositionTypeIsAllowedForFund(address,uint256)\":{\"params\":{\"_comptrollerProxy\":\"The fund's ComptrollerProxy address\",\"_externalPositionTypeId\":\"The external position type id\"},\"returns\":{\"isAllowed_\":\"True if the external position type is allowed\"}},\"getPolicyManager()\":{\"returns\":{\"policyManager_\":\"The `POLICY_MANAGER` variable value\"}},\"identifier()\":{\"returns\":{\"identifier_\":\"The identifier string\"}},\"implementedHooks()\":{\"returns\":{\"implementedHooks_\":\"The implemented PolicyHooks\"}},\"updateFundSettings(address,bytes)\":{\"details\":\"Disallowed by default, can be overridden by the policy\"},\"validateRule(address,uint8,bytes)\":{\"details\":\"onlyPolicyManager validation not necessary, as state is not updated and no events are fired\",\"params\":{\"_comptrollerProxy\":\"The fund's ComptrollerProxy address\",\"_encodedArgs\":\"Encoded args with which to validate the rule\",\"_hook\":\"The PolicyHook\"},\"returns\":{\"isValid_\":\"True if the rule passes\"}}},\"title\":\"AllowedExternalPositionTypesPolicy Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"activateForFund(address)\":{\"notice\":\"Validates and initializes a policy as necessary prior to fund activation\"},\"addFundSettings(address,bytes)\":{\"notice\":\"Adds the initial policy settings for a fund\"},\"canDisable()\":{\"notice\":\"Whether or not the policy can be disabled\"},\"externalPositionTypeIsAllowedForFund(address,uint256)\":{\"notice\":\"Checks whether a given external position type is allowed by a given fund\"},\"getPolicyManager()\":{\"notice\":\"Gets the `POLICY_MANAGER` variable value\"},\"identifier()\":{\"notice\":\"Provides a constant string identifier for a policy\"},\"implementedHooks()\":{\"notice\":\"Gets the implemented PolicyHooks for a policy\"},\"updateFundSettings(address,bytes)\":{\"notice\":\"Updates the policy settings for a fund\"},\"validateRule(address,uint8,bytes)\":{\"notice\":\"Apply the rule with the specified parameters of a PolicyHook\"}},\"notice\":\"A policy that limits external position types that can be used by a fund\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/policy-manager/policies/asset-managers/AllowedExternalPositionTypesPolicy.sol\":\"AllowedExternalPositionTypesPolicy\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/persistent/external-positions/IExternalPositionProxy.sol\":{\"keccak256\":\"0xc74e623dbdc949df49e9cef31e0f958b17c715d89198dbbc1754d8f9c21e90de\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://074daf0a9f4e667964e6d50039986e3d792860cdece05d21e3606d33358a02b2\",\"dweb:/ipfs/QmVHXiKry9fYfjSNd6dxmtSr7DubNJvYJTNXtLDKGer2xH\"]},\"contracts/persistent/protocol-fee-reserve/interfaces/IProtocolFeeReserve1.sol\":{\"keccak256\":\"0x2728878c423db523bc95189137e8c58d2d7db9f56bbd5c6b1f988c08b551fbab\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3b0df1d2eb74151265d03ab91a7c341f7beca475dd2f4d669052dbc4ee2c06ac\",\"dweb:/ipfs/QmVx1cgrxQNYfdK1Kn15pcgqf79Uw8bF3U6i7F2HG2rj6G\"]},\"contracts/persistent/vault/VaultLibBase1.sol\":{\"keccak256\":\"0xa4dac1e4cdb311a2ab187135355357d8790c505ef36dd912c057fe53743d30b5\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b66efe821016ab927c949263023260515e90f5d480dc8d94eefbfeec7bf7490b\",\"dweb:/ipfs/QmNY3xKnhL9EptAbxGvXHGAXfV9pj3dDPwsZnKrPs54ZHw\"]},\"contracts/persistent/vault/VaultLibBase2.sol\":{\"keccak256\":\"0xf7d31f2a9a47770ed3f444be2c4fe9262ddb55fef7f25e546b1f03c9afec4c09\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9353ddce7c9b8b3c13fed23fe8edec99ca610d791b0c5b204b3d01f1f08d07d2\",\"dweb:/ipfs/QmeVsEh3joCjv49BRXeHASevnZZ5xdZXpkctHT8BPf37N2\"]},\"contracts/persistent/vault/VaultLibBaseCore.sol\":{\"keccak256\":\"0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd\",\"dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz\"]},\"contracts/persistent/vault/interfaces/IExternalPositionVault.sol\":{\"keccak256\":\"0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d\",\"dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8\"]},\"contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol\":{\"keccak256\":\"0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb\",\"dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU\"]},\"contracts/persistent/vault/interfaces/IMigratableVault.sol\":{\"keccak256\":\"0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6\",\"dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs\"]},\"contracts/persistent/vault/interfaces/IVaultCore.sol\":{\"keccak256\":\"0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd\",\"dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr\"]},\"contracts/persistent/vault/utils/ProxiableVaultLib.sol\":{\"keccak256\":\"0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44\",\"dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4\"]},\"contracts/persistent/vault/utils/SharesTokenBase.sol\":{\"keccak256\":\"0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8\",\"dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4\"]},\"contracts/persistent/vault/utils/VaultLibSafeMath.sol\":{\"keccak256\":\"0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02\",\"dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG\"]},\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/core/fund/comptroller/ComptrollerLib.sol\":{\"keccak256\":\"0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579\",\"dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq\"]},\"contracts/release/core/fund/comptroller/IComptroller.sol\":{\"keccak256\":\"0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97\",\"dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L\"]},\"contracts/release/core/fund/vault/IVault.sol\":{\"keccak256\":\"0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599\",\"dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG\"]},\"contracts/release/core/fund/vault/VaultLib.sol\":{\"keccak256\":\"0x07e49445ab55c01e1b499a48baadc2a15d1eba621f1c6d3ccfdb84c87b976da8\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://56d882459248f73e137db2e097fc56b946147fb28ec21661b77431f88e856cb4\",\"dweb:/ipfs/QmRP6Ry7DCS5uoKxnnkTomHSzbaCze6cHqbR9aLdjoF6vK\"]},\"contracts/release/extensions/IExtension.sol\":{\"keccak256\":\"0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70\",\"dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t\"]},\"contracts/release/extensions/external-position-manager/IExternalPositionManager.sol\":{\"keccak256\":\"0x3af3f634e1f99fb97091b7825c0d2e2baaafc124d4e87d56cb0c17ff8554f6c6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://515470605afe5ef147f30fa75ce7818f0e00e3d321eb81a4d9bffcdefc294495\",\"dweb:/ipfs/QmPKsp99pfHoz9Tfo3ZxnkmqDqJtN9PxqacF2RmeVfxUJF\"]},\"contracts/release/extensions/fee-manager/IFeeManager.sol\":{\"keccak256\":\"0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22\",\"dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod\"]},\"contracts/release/extensions/policy-manager/IPolicy.sol\":{\"keccak256\":\"0xc12663ca72065b256c3b934ab738fde26c147c7b0399de43650df89dd52ee467\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://be8fecfcba0f3fda615f0a1bb3c766750c23761ef751d7c4472dfe540e460cd1\",\"dweb:/ipfs/QmaarPoRTsX6NiJ8V4u2f3Qh6d7tUs28bw9R14An3t5Bs1\"]},\"contracts/release/extensions/policy-manager/IPolicyManager.sol\":{\"keccak256\":\"0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa\",\"dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb\"]},\"contracts/release/extensions/policy-manager/policies/asset-managers/AllowedExternalPositionTypesPolicy.sol\":{\"keccak256\":\"0xb26015b01a0d4ef3ac0fadf62edb9b9246fb3a448197b894ac429497b8f1d778\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://86deaccba747ea2dbf4b916d0f1579b7c515dd286bbfe5a0191d005f84296f53\",\"dweb:/ipfs/QmRVd4VjckLAcqNrvb5oqYKNejycaezDTJcnvbCzuxk7ub\"]},\"contracts/release/extensions/policy-manager/policies/utils/PolicyBase.sol\":{\"keccak256\":\"0x972311abb98f0da815b4aca83d5afdd219d3604ec19cf5e3773c0c305bd9b3f1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2452f3d1f3b1d8e8459a07489146a2d0d8a10463715937995cbe77ee5de8c069\",\"dweb:/ipfs/Qmf2hhd2DVbjpxmbNGAhRZNZkqpGZA2mX3eA1WNwtv6t5Y\"]},\"contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol\":{\"keccak256\":\"0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f\",\"dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol\":{\"keccak256\":\"0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0\",\"dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol\":{\"keccak256\":\"0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b\",\"dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3\"]},\"contracts/release/infrastructure/protocol-fees/IProtocolFeeTracker.sol\":{\"keccak256\":\"0x232b347f83457439064add7369bfe1930c7cb56f15930bb87d640e909c15e447\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://24f9af5eebdd373b1d7a598c096eb6def31b2640d54416d7d5a7226e1cef17e6\",\"dweb:/ipfs/QmStq9ByGuSYdKwTmZf52L1X6sZVJUfXTnoVbnjLLiUcHG\"]},\"contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol\":{\"keccak256\":\"0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965\",\"dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ\"]},\"contracts/release/interfaces/IGsnForwarder.sol\":{\"keccak256\":\"0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29\",\"dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G\"]},\"contracts/release/interfaces/IGsnPaymaster.sol\":{\"keccak256\":\"0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4\",\"dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF\"]},\"contracts/release/interfaces/IGsnTypes.sol\":{\"keccak256\":\"0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7\",\"dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C\"]},\"contracts/release/interfaces/IWETH.sol\":{\"keccak256\":\"0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2\",\"dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/beacon-proxy/IBeacon.sol\":{\"keccak256\":\"0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39\",\"dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V\"]},\"contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol\":{\"keccak256\":\"0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be\",\"dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20Burnable.sol\":{\"keccak256\":\"0x9c0eb3b0e11d2480d49991dc384f1e5f9c9b9967cc81944d50916a9b9c6c4984\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99e4033d778624992e86f0b6d801a4f6d7b5c0cd5c79c1296be90a051ad5f5af\",\"dweb:/ipfs/QmShYmkUqh6pDEeoWadZ24icmCr4C2Xys1uE5boivPmbwf\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_policyManager", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "comptrollerProxy", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "externalPositionTypeId", - "type": "uint256", - "indexed": true - } - ], - "type": "event", - "name": "AllowedExternalPositionTypeAddedForFund", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "activateForFund" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_encodedSettings", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "addFundSettings" - }, - { - "inputs": [], - "stateMutability": "pure", - "type": "function", - "name": "canDisable", - "outputs": [ - { - "internalType": "bool", - "name": "canDisable_", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_externalPositionTypeId", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "externalPositionTypeIsAllowedForFund", - "outputs": [ - { - "internalType": "bool", - "name": "isAllowed_", - "type": "bool" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getPolicyManager", - "outputs": [ - { - "internalType": "address", - "name": "policyManager_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "pure", - "type": "function", - "name": "identifier", - "outputs": [ - { - "internalType": "string", - "name": "identifier_", - "type": "string" - } - ] - }, - { - "inputs": [], - "stateMutability": "pure", - "type": "function", - "name": "implementedHooks", - "outputs": [ - { - "internalType": "enum IPolicyManager.PolicyHook[]", - "name": "implementedHooks_", - "type": "uint8[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "updateFundSettings" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "enum IPolicyManager.PolicyHook", - "name": "_hook", - "type": "uint8" - }, - { - "internalType": "bytes", - "name": "_encodedArgs", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "validateRule", - "outputs": [ - { - "internalType": "bool", - "name": "isValid_", - "type": "bool" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "activateForFund(address)": { - "params": { - "_comptrollerProxy": "The fund's ComptrollerProxy address" - } - }, - "addFundSettings(address,bytes)": { - "details": "Most funds that use this policy will likely not allow any external positions. Does not prohibit specifying not-yet-defined external position type ids.", - "params": { - "_comptrollerProxy": "The fund's ComptrollerProxy address", - "_encodedSettings": "Encoded settings to apply to a fund" - } - }, - "canDisable()": { - "details": "False by default, can be overridden by the policy", - "returns": { - "canDisable_": "True if the policy can be disabled" - } - }, - "externalPositionTypeIsAllowedForFund(address,uint256)": { - "params": { - "_comptrollerProxy": "The fund's ComptrollerProxy address", - "_externalPositionTypeId": "The external position type id" - }, - "returns": { - "isAllowed_": "True if the external position type is allowed" - } - }, - "getPolicyManager()": { - "returns": { - "policyManager_": "The `POLICY_MANAGER` variable value" - } - }, - "identifier()": { - "returns": { - "identifier_": "The identifier string" - } - }, - "implementedHooks()": { - "returns": { - "implementedHooks_": "The implemented PolicyHooks" - } - }, - "updateFundSettings(address,bytes)": { - "details": "Disallowed by default, can be overridden by the policy" - }, - "validateRule(address,uint8,bytes)": { - "details": "onlyPolicyManager validation not necessary, as state is not updated and no events are fired", - "params": { - "_comptrollerProxy": "The fund's ComptrollerProxy address", - "_encodedArgs": "Encoded args with which to validate the rule", - "_hook": "The PolicyHook" - }, - "returns": { - "isValid_": "True if the rule passes" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "activateForFund(address)": { - "notice": "Validates and initializes a policy as necessary prior to fund activation" - }, - "addFundSettings(address,bytes)": { - "notice": "Adds the initial policy settings for a fund" - }, - "canDisable()": { - "notice": "Whether or not the policy can be disabled" - }, - "externalPositionTypeIsAllowedForFund(address,uint256)": { - "notice": "Checks whether a given external position type is allowed by a given fund" - }, - "getPolicyManager()": { - "notice": "Gets the `POLICY_MANAGER` variable value" - }, - "identifier()": { - "notice": "Provides a constant string identifier for a policy" - }, - "implementedHooks()": { - "notice": "Gets the implemented PolicyHooks for a policy" - }, - "updateFundSettings(address,bytes)": { - "notice": "Updates the policy settings for a fund" - }, - "validateRule(address,uint8,bytes)": { - "notice": "Apply the rule with the specified parameters of a PolicyHook" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/policy-manager/policies/asset-managers/AllowedExternalPositionTypesPolicy.sol": "AllowedExternalPositionTypesPolicy" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/dispatcher/IDispatcher.sol": { - "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", - "urls": [ - "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", - "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/external-positions/IExternalPosition.sol": { - "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", - "urls": [ - "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", - "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/external-positions/IExternalPositionProxy.sol": { - "keccak256": "0xc74e623dbdc949df49e9cef31e0f958b17c715d89198dbbc1754d8f9c21e90de", - "urls": [ - "bzz-raw://074daf0a9f4e667964e6d50039986e3d792860cdece05d21e3606d33358a02b2", - "dweb:/ipfs/QmVHXiKry9fYfjSNd6dxmtSr7DubNJvYJTNXtLDKGer2xH" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/protocol-fee-reserve/interfaces/IProtocolFeeReserve1.sol": { - "keccak256": "0x2728878c423db523bc95189137e8c58d2d7db9f56bbd5c6b1f988c08b551fbab", - "urls": [ - "bzz-raw://3b0df1d2eb74151265d03ab91a7c341f7beca475dd2f4d669052dbc4ee2c06ac", - "dweb:/ipfs/QmVx1cgrxQNYfdK1Kn15pcgqf79Uw8bF3U6i7F2HG2rj6G" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/VaultLibBase1.sol": { - "keccak256": "0xa4dac1e4cdb311a2ab187135355357d8790c505ef36dd912c057fe53743d30b5", - "urls": [ - "bzz-raw://b66efe821016ab927c949263023260515e90f5d480dc8d94eefbfeec7bf7490b", - "dweb:/ipfs/QmNY3xKnhL9EptAbxGvXHGAXfV9pj3dDPwsZnKrPs54ZHw" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/VaultLibBase2.sol": { - "keccak256": "0xf7d31f2a9a47770ed3f444be2c4fe9262ddb55fef7f25e546b1f03c9afec4c09", - "urls": [ - "bzz-raw://9353ddce7c9b8b3c13fed23fe8edec99ca610d791b0c5b204b3d01f1f08d07d2", - "dweb:/ipfs/QmeVsEh3joCjv49BRXeHASevnZZ5xdZXpkctHT8BPf37N2" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/VaultLibBaseCore.sol": { - "keccak256": "0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074", - "urls": [ - "bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd", - "dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IExternalPositionVault.sol": { - "keccak256": "0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6", - "urls": [ - "bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d", - "dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol": { - "keccak256": "0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0", - "urls": [ - "bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb", - "dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IMigratableVault.sol": { - "keccak256": "0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238", - "urls": [ - "bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6", - "dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IVaultCore.sol": { - "keccak256": "0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80", - "urls": [ - "bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd", - "dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/utils/ProxiableVaultLib.sol": { - "keccak256": "0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76", - "urls": [ - "bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44", - "dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/utils/SharesTokenBase.sol": { - "keccak256": "0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113", - "urls": [ - "bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8", - "dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/utils/VaultLibSafeMath.sol": { - "keccak256": "0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d", - "urls": [ - "bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02", - "dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund-deployer/IFundDeployer.sol": { - "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", - "urls": [ - "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", - "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/comptroller/ComptrollerLib.sol": { - "keccak256": "0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64", - "urls": [ - "bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579", - "dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/comptroller/IComptroller.sol": { - "keccak256": "0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f", - "urls": [ - "bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97", - "dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/vault/IVault.sol": { - "keccak256": "0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd", - "urls": [ - "bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599", - "dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/vault/VaultLib.sol": { - "keccak256": "0x07e49445ab55c01e1b499a48baadc2a15d1eba621f1c6d3ccfdb84c87b976da8", - "urls": [ - "bzz-raw://56d882459248f73e137db2e097fc56b946147fb28ec21661b77431f88e856cb4", - "dweb:/ipfs/QmRP6Ry7DCS5uoKxnnkTomHSzbaCze6cHqbR9aLdjoF6vK" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/IExtension.sol": { - "keccak256": "0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b", - "urls": [ - "bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70", - "dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/IExternalPositionManager.sol": { - "keccak256": "0x3af3f634e1f99fb97091b7825c0d2e2baaafc124d4e87d56cb0c17ff8554f6c6", - "urls": [ - "bzz-raw://515470605afe5ef147f30fa75ce7818f0e00e3d321eb81a4d9bffcdefc294495", - "dweb:/ipfs/QmPKsp99pfHoz9Tfo3ZxnkmqDqJtN9PxqacF2RmeVfxUJF" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/fee-manager/IFeeManager.sol": { - "keccak256": "0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51", - "urls": [ - "bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22", - "dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/policy-manager/IPolicy.sol": { - "keccak256": "0xc12663ca72065b256c3b934ab738fde26c147c7b0399de43650df89dd52ee467", - "urls": [ - "bzz-raw://be8fecfcba0f3fda615f0a1bb3c766750c23761ef751d7c4472dfe540e460cd1", - "dweb:/ipfs/QmaarPoRTsX6NiJ8V4u2f3Qh6d7tUs28bw9R14An3t5Bs1" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/policy-manager/IPolicyManager.sol": { - "keccak256": "0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32", - "urls": [ - "bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa", - "dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/policy-manager/policies/asset-managers/AllowedExternalPositionTypesPolicy.sol": { - "keccak256": "0xb26015b01a0d4ef3ac0fadf62edb9b9246fb3a448197b894ac429497b8f1d778", - "urls": [ - "bzz-raw://86deaccba747ea2dbf4b916d0f1579b7c515dd286bbfe5a0191d005f84296f53", - "dweb:/ipfs/QmRVd4VjckLAcqNrvb5oqYKNejycaezDTJcnvbCzuxk7ub" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/policy-manager/policies/utils/PolicyBase.sol": { - "keccak256": "0x972311abb98f0da815b4aca83d5afdd219d3604ec19cf5e3773c0c305bd9b3f1", - "urls": [ - "bzz-raw://2452f3d1f3b1d8e8459a07489146a2d0d8a10463715937995cbe77ee5de8c069", - "dweb:/ipfs/Qmf2hhd2DVbjpxmbNGAhRZNZkqpGZA2mX3eA1WNwtv6t5Y" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol": { - "keccak256": "0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609", - "urls": [ - "bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f", - "dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol": { - "keccak256": "0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01", - "urls": [ - "bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0", - "dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol": { - "keccak256": "0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196", - "urls": [ - "bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b", - "dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/protocol-fees/IProtocolFeeTracker.sol": { - "keccak256": "0x232b347f83457439064add7369bfe1930c7cb56f15930bb87d640e909c15e447", - "urls": [ - "bzz-raw://24f9af5eebdd373b1d7a598c096eb6def31b2640d54416d7d5a7226e1cef17e6", - "dweb:/ipfs/QmStq9ByGuSYdKwTmZf52L1X6sZVJUfXTnoVbnjLLiUcHG" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol": { - "keccak256": "0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794", - "urls": [ - "bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965", - "dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IGsnForwarder.sol": { - "keccak256": "0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030", - "urls": [ - "bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29", - "dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IGsnPaymaster.sol": { - "keccak256": "0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c", - "urls": [ - "bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4", - "dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IGsnTypes.sol": { - "keccak256": "0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714", - "urls": [ - "bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7", - "dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IWETH.sol": { - "keccak256": "0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2", - "urls": [ - "bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2", - "dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AddressArrayLib.sol": { - "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", - "urls": [ - "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", - "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/beacon-proxy/IBeacon.sol": { - "keccak256": "0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2", - "urls": [ - "bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39", - "dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol": { - "keccak256": "0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc", - "urls": [ - "bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be", - "dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20Burnable.sol": { - "keccak256": "0x9c0eb3b0e11d2480d49991dc384f1e5f9c9b9967cc81944d50916a9b9c6c4984", - "urls": [ - "bzz-raw://99e4033d778624992e86f0b6d801a4f6d7b5c0cd5c79c1296be90a051ad5f5af", - "dweb:/ipfs/QmShYmkUqh6pDEeoWadZ24icmCr4C2Xys1uE5boivPmbwf" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { - "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", - "urls": [ - "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", - "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Address.sol": { - "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", - "urls": [ - "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", - "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 211 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_policyManager", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "activateForFund", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "addFundSettings", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" }, { "name": "_encodedSettings", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "canDisable", "inputs": [], "outputs": [ { "name": "canDisable_", "type": "bool", "internalType": "bool" } ], "stateMutability": "pure" }, { "type": "function", "name": "externalPositionTypeIsAllowedForFund", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" }, { "name": "_externalPositionTypeId", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "isAllowed_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "getPolicyManager", "inputs": [], "outputs": [ { "name": "policyManager_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "identifier", "inputs": [], "outputs": [ { "name": "identifier_", "type": "string", "internalType": "string" } ], "stateMutability": "pure" }, { "type": "function", "name": "implementedHooks", "inputs": [], "outputs": [ { "name": "implementedHooks_", "type": "uint8[]", "internalType": "enum IPolicyManager.PolicyHook[]" } ], "stateMutability": "pure" }, { "type": "function", "name": "updateFundSettings", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "validateRule", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" }, { "name": "_hook", "type": "uint8", "internalType": "enum IPolicyManager.PolicyHook" }, { "name": "_encodedArgs", "type": "bytes", "internalType": "bytes" } ], "outputs": [ { "name": "isValid_", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "event", "name": "AllowedExternalPositionTypeAddedForFund", "inputs": [ { "name": "comptrollerProxy", "type": "address", "indexed": true, "internalType": "address" }, { "name": "externalPositionTypeId", "type": "uint256", "indexed": true, "internalType": "uint256" } ], "anonymous": false } ], "bytecode": { "object": "0x60a060405234801561001057600080fd5b50604051610c6d380380610c6d8339818101604052602081101561003357600080fd5b5051606081901b6001600160601b0319166080526001600160a01b0316610bfc610071600039806103c5528061078d5280610a325250610bfc6000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c806373f8d40e1161006657806373f8d40e146102385780637998a1c414610264578063cbf54bb2146102e1578063ceb9a0ad14610339578063d44ad6cb1461035f57610093565b80630d4d7510146100985780630f5f6b4f146101185780631ef9257814610196578063579be718146101b2575b600080fd5b610116600480360360408110156100ae57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b8111156100d857600080fd5b8201836020820111156100ea57600080fd5b803590602001918460018302840111600160201b8311171561010b57600080fd5b509092509050610383565b005b6101166004803603604081101561012e57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561015857600080fd5b82018360208201111561016a57600080fd5b803590602001918460018302840111600160201b8311171561018b57600080fd5b5090925090506103ba565b61019e610574565b604080519115158252519081900360200190f35b61019e600480360360608110156101c857600080fd5b6001600160a01b038235169160ff60208201351691810190606081016040820135600160201b8111156101fa57600080fd5b82018360208201111561020c57600080fd5b803590602001918460018302840111600160201b8311171561022d57600080fd5b509092509050610579565b61019e6004803603604081101561024e57600080fd5b506001600160a01b03813516906020013561069a565b61026c6106c3565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102a657818101518382015260200161028e565b50505050905090810190601f1680156102d35780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102e96106fa565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561032557818101518382015260200161030d565b505050509050019250505060405180910390f35b6101166004803603602081101561034f57600080fd5b50356001600160a01b0316610782565b610367610a30565b604080516001600160a01b039092168252519081900360200190f35b60405162461bcd60e51b8152600401808060200182810382526037815260200180610b606037913960400191505060405180910390fd5b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104215760405162461bcd60e51b8152600401808060200182810382526029815260200180610b976029913960400191505060405180910390fd5b60608282602081101561043357600080fd5b810190602081018135600160201b81111561044d57600080fd5b82018360208201111561045f57600080fd5b803590602001918460208302840111600160201b8311171561048057600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092018290525093975092955050505050505b815181101561056d576001600160a01b03851660009081526020819052604081208351600192908590859081106104ee57fe5b6020026020010151815260200190815260200160002060006101000a81548160ff02191690831515021790555081818151811061052757fe5b6020026020010151856001600160a01b03167f1a00471f7050c952312b148cb5d6f7bfab7e1f6909dcd0630a99e304dc8403fb60405160405180910390a36001016104bb565b5050505050565b600090565b600080600685600981111561058a57fe5b14156105d9576105cf84848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610a5492505050565b5091506106869050565b600061061a85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610b3492505050565b915050806001600160a01b03166312bc0a446040518163ffffffff1660e01b815260040160206040518083038186803b15801561065657600080fd5b505afa15801561066a573d6000803e3d6000fd5b505050506040513d602081101561068057600080fd5b50519150505b610690868261069a565b9695505050505050565b6001600160a01b0391909116600090815260208181526040808320938352929052205460ff1690565b60408051808201909152601f81527f414c4c4f5745445f45585445524e414c5f504f534954494f4e5f545950455300602082015290565b604080516002808252606080830184529260208301908036833701905050905060068160008151811061072957fe5b6020026020010190600981111561073c57fe5b9081600981111561074957fe5b8152505060098160018151811061075c57fe5b6020026020010190600981111561076f57fe5b9081600981111561077c57fe5b90525090565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146107e95760405162461bcd60e51b8152600401808060200182810382526029815260200180610b976029913960400191505060405180910390fd5b6060816001600160a01b031663c98091876040518163ffffffff1660e01b815260040160206040518083038186803b15801561082457600080fd5b505afa158015610838573d6000803e3d6000fd5b505050506040513d602081101561084e57600080fd5b50516040805163b8b7f14760e01b815290516001600160a01b039092169163b8b7f14791600480820192600092909190829003018186803b15801561089257600080fd5b505afa1580156108a6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260208110156108cf57600080fd5b8101908080516040519392919084600160201b8211156108ee57600080fd5b90830190602082018581111561090357600080fd5b82518660208202830111600160201b8211171561091f57600080fd5b82525081516020918201928201910280838360005b8381101561094c578181015183820152602001610934565b50505050905001604052505050905060005b8151811015610a2b576109e88383838151811061097757fe5b60200260200101516001600160a01b03166312bc0a446040518163ffffffff1660e01b815260040160206040518083038186803b1580156109b757600080fd5b505afa1580156109cb573d6000803e3d6000fd5b505050506040513d60208110156109e157600080fd5b505161069a565b610a235760405162461bcd60e51b8152600401808060200182810382526030815260200180610bc06030913960400191505060405180910390fd5b60010161095e565b505050565b7f000000000000000000000000000000000000000000000000000000000000000090565b6000806060838060200190516060811015610a6e57600080fd5b81516020830151604080850180519151939592948301929184600160201b821115610a9857600080fd5b908301906020820185811115610aad57600080fd5b8251600160201b811182820188101715610ac657600080fd5b82525081516020918201929091019080838360005b83811015610af3578181015183820152602001610adb565b50505050905090810190601f168015610b205780820380516001836020036101000a031916815260200191505b506040525050509250925092509193909250565b600080828060200190516040811015610b4c57600080fd5b508051602090910151909250905091509156fe75706461746546756e6453657474696e67733a2055706461746573206e6f7420616c6c6f77656420666f72207468697320706f6c6963794f6e6c792074686520506f6c6963794d616e616765722063616e206d616b6520746869732063616c6c6163746976617465466f7246756e643a20446973616c6c6f7765642045787465726e616c506f736974696f6e54797065a164736f6c634300060c000a", "sourceMap": "703:5090:211:-:0;;;915:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;915:72:211;737:31:223;;;;-1:-1:-1;;;;;;737:31:223;;;-1:-1:-1;;;;;703:5090:211;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106100935760003560e01c806373f8d40e1161006657806373f8d40e146102385780637998a1c414610264578063cbf54bb2146102e1578063ceb9a0ad14610339578063d44ad6cb1461035f57610093565b80630d4d7510146100985780630f5f6b4f146101185780631ef9257814610196578063579be718146101b2575b600080fd5b610116600480360360408110156100ae57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b8111156100d857600080fd5b8201836020820111156100ea57600080fd5b803590602001918460018302840111600160201b8311171561010b57600080fd5b509092509050610383565b005b6101166004803603604081101561012e57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561015857600080fd5b82018360208201111561016a57600080fd5b803590602001918460018302840111600160201b8311171561018b57600080fd5b5090925090506103ba565b61019e610574565b604080519115158252519081900360200190f35b61019e600480360360608110156101c857600080fd5b6001600160a01b038235169160ff60208201351691810190606081016040820135600160201b8111156101fa57600080fd5b82018360208201111561020c57600080fd5b803590602001918460018302840111600160201b8311171561022d57600080fd5b509092509050610579565b61019e6004803603604081101561024e57600080fd5b506001600160a01b03813516906020013561069a565b61026c6106c3565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102a657818101518382015260200161028e565b50505050905090810190601f1680156102d35780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102e96106fa565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561032557818101518382015260200161030d565b505050509050019250505060405180910390f35b6101166004803603602081101561034f57600080fd5b50356001600160a01b0316610782565b610367610a30565b604080516001600160a01b039092168252519081900360200190f35b60405162461bcd60e51b8152600401808060200182810382526037815260200180610b606037913960400191505060405180910390fd5b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104215760405162461bcd60e51b8152600401808060200182810382526029815260200180610b976029913960400191505060405180910390fd5b60608282602081101561043357600080fd5b810190602081018135600160201b81111561044d57600080fd5b82018360208201111561045f57600080fd5b803590602001918460208302840111600160201b8311171561048057600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092018290525093975092955050505050505b815181101561056d576001600160a01b03851660009081526020819052604081208351600192908590859081106104ee57fe5b6020026020010151815260200190815260200160002060006101000a81548160ff02191690831515021790555081818151811061052757fe5b6020026020010151856001600160a01b03167f1a00471f7050c952312b148cb5d6f7bfab7e1f6909dcd0630a99e304dc8403fb60405160405180910390a36001016104bb565b5050505050565b600090565b600080600685600981111561058a57fe5b14156105d9576105cf84848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610a5492505050565b5091506106869050565b600061061a85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610b3492505050565b915050806001600160a01b03166312bc0a446040518163ffffffff1660e01b815260040160206040518083038186803b15801561065657600080fd5b505afa15801561066a573d6000803e3d6000fd5b505050506040513d602081101561068057600080fd5b50519150505b610690868261069a565b9695505050505050565b6001600160a01b0391909116600090815260208181526040808320938352929052205460ff1690565b60408051808201909152601f81527f414c4c4f5745445f45585445524e414c5f504f534954494f4e5f545950455300602082015290565b604080516002808252606080830184529260208301908036833701905050905060068160008151811061072957fe5b6020026020010190600981111561073c57fe5b9081600981111561074957fe5b8152505060098160018151811061075c57fe5b6020026020010190600981111561076f57fe5b9081600981111561077c57fe5b90525090565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146107e95760405162461bcd60e51b8152600401808060200182810382526029815260200180610b976029913960400191505060405180910390fd5b6060816001600160a01b031663c98091876040518163ffffffff1660e01b815260040160206040518083038186803b15801561082457600080fd5b505afa158015610838573d6000803e3d6000fd5b505050506040513d602081101561084e57600080fd5b50516040805163b8b7f14760e01b815290516001600160a01b039092169163b8b7f14791600480820192600092909190829003018186803b15801561089257600080fd5b505afa1580156108a6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260208110156108cf57600080fd5b8101908080516040519392919084600160201b8211156108ee57600080fd5b90830190602082018581111561090357600080fd5b82518660208202830111600160201b8211171561091f57600080fd5b82525081516020918201928201910280838360005b8381101561094c578181015183820152602001610934565b50505050905001604052505050905060005b8151811015610a2b576109e88383838151811061097757fe5b60200260200101516001600160a01b03166312bc0a446040518163ffffffff1660e01b815260040160206040518083038186803b1580156109b757600080fd5b505afa1580156109cb573d6000803e3d6000fd5b505050506040513d60208110156109e157600080fd5b505161069a565b610a235760405162461bcd60e51b8152600401808060200182810382526030815260200180610bc06030913960400191505060405180910390fd5b60010161095e565b505050565b7f000000000000000000000000000000000000000000000000000000000000000090565b6000806060838060200190516060811015610a6e57600080fd5b81516020830151604080850180519151939592948301929184600160201b821115610a9857600080fd5b908301906020820185811115610aad57600080fd5b8251600160201b811182820188101715610ac657600080fd5b82525081516020918201929091019080838360005b83811015610af3578181015183820152602001610adb565b50505050905090810190601f168015610b205780820380516001836020036101000a031916815260200191505b506040525050509250925092509193909250565b600080828060200190516040811015610b4c57600080fd5b508051602090910151909250905091509156fe75706461746546756e6453657474696e67733a2055706461746573206e6f7420616c6c6f77656420666f72207468697320706f6c6963794f6e6c792074686520506f6c6963794d616e616765722063616e206d616b6520746869732063616c6c6163746976617465466f7246756e643a20446973616c6c6f7765642045787465726e616c506f736974696f6e54797065a164736f6c634300060c000a", "sourceMap": "703:5090:211:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1452:161:223;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1452:161:223;;;;;;;;;;;;;;;-1:-1:-1;;;1452:161:223;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1452:161:223;;;;;;;;;;-1:-1:-1;1452:161:223;;-1:-1:-1;1452:161:223;-1:-1:-1;1452:161:223;:::i;:::-;;2299:688:211;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2299:688:211;;;;;;;;;;;;;;;-1:-1:-1;;;2299:688:211;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2299:688:211;;;;;;;;;;-1:-1:-1;2299:688:211;;-1:-1:-1;2299:688:211;-1:-1:-1;2299:688:211;:::i;1214:109:223:-;;;:::i;:::-;;;;;;;;;;;;;;;;;;4215:872:211;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4215:872:211;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4215:872:211;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4215:872:211;;;;;;;;;;-1:-1:-1;4215:872:211;;-1:-1:-1;4215:872:211;-1:-1:-1;4215:872:211;:::i;5466:325::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;5466:325:211;;;;;;;;:::i;3110:138::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3378:422;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1268:656;;;;;;;;;;;;;;;;-1:-1:-1;1268:656:211;-1:-1:-1;;;;;1268:656:211;;:::i;6755:113:223:-;;;:::i;:::-;;;;-1:-1:-1;;;;;6755:113:223;;;;;;;;;;;;;;1452:161;1541:65;;-1:-1:-1;;;1541:65:223;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2299:688:211;586:10:223;-1:-1:-1;;;;;600:14:223;586:28;;578:82;;;;-1:-1:-1;;;578:82:223;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2458:47:211::1;2532:16;;2508:75;;;;;;;::::0;::::1;;::::0;::::1;::::0;::::1;::::0;::::1;::::0;::::1;-1:-1:-1::0;;;2508:75:211;::::1;;;;;::::0;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;-1:-1:-1::0;;;2508:75:211::1;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;-1:-1:-1;2508:75:211;;-1:-1:-1;2508:75:211;;-1:-1:-1;;;;;;2593:388:211::1;2613:30;:37;2609:1;:41;2593:388;;;-1:-1:-1::0;;;;;2671:68:211;::::1;:49;:68:::0;;;::::1;::::0;;;;;;2757:33;;2807:4:::1;::::0;2671:49;2757:30;;2788:1;;2757:33;::::1;;;;;;;;;;;2671:133;;;;;;;;;;;;:140;;;;;;;;;;;;;;;;;;2923:30;2954:1;2923:33;;;;;;;;;;;;;;2888:17;-1:-1:-1::0;;;;;2831:139:211::1;;;;;;;;;;;2652:3;;2593:388;;;;670:1:223;2299:688:211::0;;;:::o;1214:109:223:-;1276:16;1214:109;:::o;4215:872:211:-;4383:13;;4461:48;4452:5;:57;;;;;;;;;4448:536;;;4556:88;4618:12;;4556:88;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4556:44:211;;-1:-1:-1;;;4556:88:211:i;:::-;-1:-1:-1;4525:119:211;-1:-1:-1;4448:536:211;;-1:-1:-1;4448:536:211;;4731:24;4759:92;4825:12;;4759:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4759:48:211;;-1:-1:-1;;;4759:92:211:i;:::-;4728:123;;;4913:16;-1:-1:-1;;;;;4890:81:211;;:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4890:83:211;;-1:-1:-1;;4448:536:211;5001:79;5038:17;5057:22;5001:36;:79::i;:::-;4994:86;4215:872;-1:-1:-1;;;;;;4215:872:211:o;5466:325::-;-1:-1:-1;;;;;5661:68:211;;;;5615:15;5661:68;;;;;;;;;;;:123;;;;;;;;;;;5466:325::o;3110:138::-;3201:40;;;;;;;;;;;;;;;;;3110:138;:::o;3378:422::-;3558:34;;;3590:1;3558:34;;;3470:52;3558:34;;;;;3470:52;3558:34;;;;;;;;;;-1:-1:-1;3558:34:211;3538:54;;3625:48;3602:17;3620:1;3602:20;;;;;;;;;;;;;:71;;;;;;;;;;;;;;;;;;;;;;;3706:52;3683:17;3701:1;3683:20;;;;;;;;;;;;;:75;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3378:422:211;:::o;1268:656::-;586:10:223;-1:-1:-1;;;;;600:14:223;586:28;;578:82;;;;-1:-1:-1;;;578:82:223;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1366:40:211::1;1454:17;-1:-1:-1::0;;;;;1439:47:211::1;;:49;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;1439:49:211;1409:119:::1;::::0;;-1:-1:-1;;;1409:119:211;;;;-1:-1:-1;;;;;1409:117:211;;::::1;::::0;::::1;::::0;:119:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;:117;:119;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;::::0;;::::1;-1:-1:-1::0;;1409:119:211::1;::::0;::::1;;::::0;::::1;::::0;::::1;;;;;::::0;::::1;;;;;;;;;;;;;;;-1:-1:-1::0;;;1409:119:211::1;;;;;;::::0;::::1;;::::0;;::::1;::::0;::::1;::::0;::::1;::::0;;::::1;;;;;::::0;::::1;;;;;;;;;;;-1:-1:-1::0;;;1409:119:211::1;;;;;;;::::0;::::1;;::::0;;-1:-1:-1;1409:119:211;;::::1;::::0;;::::1;::::0;;::::1;::::0;::::1;::::0;;;::::1;;;;;;;;::::0;;::::1;::::0;;;::::1;::::0;::::1;;;;;;;;;;;;;;::::0;::::1;;1366:162;;1543:9;1538:380;1558:23;:30;1554:1;:34;1538:380;;;1634:191;1692:17;1754:23;1778:1;1754:26;;;;;;;;;;;;;;-1:-1:-1::0;;;;;1731:74:211::1;;:76;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;1731:76:211;1634:36:::1;:191::i;:::-;1609:298;;;;-1:-1:-1::0;;;1609:298:211::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1590:3;;1538:380;;;;670:1:223;1268:656:211::0;:::o;6755:113:223:-;6847:14;6755:113;:::o;2184:327::-;2328:15;2357;2386:32;2461:15;2450:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2450:54:223;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2450:54:223;;;;;;-1:-1:-1;2450:54:223;;;;;;;;;;-1:-1:-1;2450:54:223;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2443:61;;;;;;2184:327;;;;;:::o;4911:254::-;5046:15;5063:25;5122:15;5111:47;;;;;;;;;;;;;;;-1:-1:-1;5111:47:223;;;;;;;;;-1:-1:-1;5111:47:223;-1:-1:-1;4911:254:223;;;:::o", "linkReferences": {}, "immutableReferences": { "59893": [ { "start": 965, "length": 32 }, { "start": 1933, "length": 32 }, { "start": 2610, "length": 32 } ] } }, "methodIdentifiers": { "activateForFund(address)": "ceb9a0ad", "addFundSettings(address,bytes)": "0f5f6b4f", "canDisable()": "1ef92578", "externalPositionTypeIsAllowedForFund(address,uint256)": "73f8d40e", "getPolicyManager()": "d44ad6cb", "identifier()": "7998a1c4", "implementedHooks()": "cbf54bb2", "updateFundSettings(address,bytes)": "0d4d7510", "validateRule(address,uint8,bytes)": "579be718" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_policyManager\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"externalPositionTypeId\",\"type\":\"uint256\"}],\"name\":\"AllowedExternalPositionTypeAddedForFund\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"}],\"name\":\"activateForFund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_encodedSettings\",\"type\":\"bytes\"}],\"name\":\"addFundSettings\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"canDisable\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"canDisable_\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_externalPositionTypeId\",\"type\":\"uint256\"}],\"name\":\"externalPositionTypeIsAllowedForFund\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isAllowed_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPolicyManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"policyManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"identifier\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"identifier_\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"implementedHooks\",\"outputs\":[{\"internalType\":\"enum IPolicyManager.PolicyHook[]\",\"name\":\"implementedHooks_\",\"type\":\"uint8[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"updateFundSettings\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"enum IPolicyManager.PolicyHook\",\"name\":\"_hook\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"_encodedArgs\",\"type\":\"bytes\"}],\"name\":\"validateRule\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isValid_\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"activateForFund(address)\":{\"params\":{\"_comptrollerProxy\":\"The fund's ComptrollerProxy address\"}},\"addFundSettings(address,bytes)\":{\"details\":\"Most funds that use this policy will likely not allow any external positions. Does not prohibit specifying not-yet-defined external position type ids.\",\"params\":{\"_comptrollerProxy\":\"The fund's ComptrollerProxy address\",\"_encodedSettings\":\"Encoded settings to apply to a fund\"}},\"canDisable()\":{\"details\":\"False by default, can be overridden by the policy\",\"returns\":{\"canDisable_\":\"True if the policy can be disabled\"}},\"externalPositionTypeIsAllowedForFund(address,uint256)\":{\"params\":{\"_comptrollerProxy\":\"The fund's ComptrollerProxy address\",\"_externalPositionTypeId\":\"The external position type id\"},\"returns\":{\"isAllowed_\":\"True if the external position type is allowed\"}},\"getPolicyManager()\":{\"returns\":{\"policyManager_\":\"The `POLICY_MANAGER` variable value\"}},\"identifier()\":{\"returns\":{\"identifier_\":\"The identifier string\"}},\"implementedHooks()\":{\"returns\":{\"implementedHooks_\":\"The implemented PolicyHooks\"}},\"updateFundSettings(address,bytes)\":{\"details\":\"Disallowed by default, can be overridden by the policy\"},\"validateRule(address,uint8,bytes)\":{\"details\":\"onlyPolicyManager validation not necessary, as state is not updated and no events are fired\",\"params\":{\"_comptrollerProxy\":\"The fund's ComptrollerProxy address\",\"_encodedArgs\":\"Encoded args with which to validate the rule\",\"_hook\":\"The PolicyHook\"},\"returns\":{\"isValid_\":\"True if the rule passes\"}}},\"title\":\"AllowedExternalPositionTypesPolicy Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"activateForFund(address)\":{\"notice\":\"Validates and initializes a policy as necessary prior to fund activation\"},\"addFundSettings(address,bytes)\":{\"notice\":\"Adds the initial policy settings for a fund\"},\"canDisable()\":{\"notice\":\"Whether or not the policy can be disabled\"},\"externalPositionTypeIsAllowedForFund(address,uint256)\":{\"notice\":\"Checks whether a given external position type is allowed by a given fund\"},\"getPolicyManager()\":{\"notice\":\"Gets the `POLICY_MANAGER` variable value\"},\"identifier()\":{\"notice\":\"Provides a constant string identifier for a policy\"},\"implementedHooks()\":{\"notice\":\"Gets the implemented PolicyHooks for a policy\"},\"updateFundSettings(address,bytes)\":{\"notice\":\"Updates the policy settings for a fund\"},\"validateRule(address,uint8,bytes)\":{\"notice\":\"Apply the rule with the specified parameters of a PolicyHook\"}},\"notice\":\"A policy that limits external position types that can be used by a fund\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/policy-manager/policies/asset-managers/AllowedExternalPositionTypesPolicy.sol\":\"AllowedExternalPositionTypesPolicy\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/persistent/external-positions/IExternalPositionProxy.sol\":{\"keccak256\":\"0xc74e623dbdc949df49e9cef31e0f958b17c715d89198dbbc1754d8f9c21e90de\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://074daf0a9f4e667964e6d50039986e3d792860cdece05d21e3606d33358a02b2\",\"dweb:/ipfs/QmVHXiKry9fYfjSNd6dxmtSr7DubNJvYJTNXtLDKGer2xH\"]},\"contracts/persistent/protocol-fee-reserve/interfaces/IProtocolFeeReserve1.sol\":{\"keccak256\":\"0x2728878c423db523bc95189137e8c58d2d7db9f56bbd5c6b1f988c08b551fbab\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3b0df1d2eb74151265d03ab91a7c341f7beca475dd2f4d669052dbc4ee2c06ac\",\"dweb:/ipfs/QmVx1cgrxQNYfdK1Kn15pcgqf79Uw8bF3U6i7F2HG2rj6G\"]},\"contracts/persistent/vault/VaultLibBase1.sol\":{\"keccak256\":\"0xa4dac1e4cdb311a2ab187135355357d8790c505ef36dd912c057fe53743d30b5\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b66efe821016ab927c949263023260515e90f5d480dc8d94eefbfeec7bf7490b\",\"dweb:/ipfs/QmNY3xKnhL9EptAbxGvXHGAXfV9pj3dDPwsZnKrPs54ZHw\"]},\"contracts/persistent/vault/VaultLibBase2.sol\":{\"keccak256\":\"0xf7d31f2a9a47770ed3f444be2c4fe9262ddb55fef7f25e546b1f03c9afec4c09\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9353ddce7c9b8b3c13fed23fe8edec99ca610d791b0c5b204b3d01f1f08d07d2\",\"dweb:/ipfs/QmeVsEh3joCjv49BRXeHASevnZZ5xdZXpkctHT8BPf37N2\"]},\"contracts/persistent/vault/VaultLibBaseCore.sol\":{\"keccak256\":\"0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd\",\"dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz\"]},\"contracts/persistent/vault/interfaces/IExternalPositionVault.sol\":{\"keccak256\":\"0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d\",\"dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8\"]},\"contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol\":{\"keccak256\":\"0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb\",\"dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU\"]},\"contracts/persistent/vault/interfaces/IMigratableVault.sol\":{\"keccak256\":\"0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6\",\"dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs\"]},\"contracts/persistent/vault/interfaces/IVaultCore.sol\":{\"keccak256\":\"0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd\",\"dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr\"]},\"contracts/persistent/vault/utils/ProxiableVaultLib.sol\":{\"keccak256\":\"0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44\",\"dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4\"]},\"contracts/persistent/vault/utils/SharesTokenBase.sol\":{\"keccak256\":\"0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8\",\"dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4\"]},\"contracts/persistent/vault/utils/VaultLibSafeMath.sol\":{\"keccak256\":\"0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02\",\"dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG\"]},\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/core/fund/comptroller/ComptrollerLib.sol\":{\"keccak256\":\"0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579\",\"dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq\"]},\"contracts/release/core/fund/comptroller/IComptroller.sol\":{\"keccak256\":\"0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97\",\"dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L\"]},\"contracts/release/core/fund/vault/IVault.sol\":{\"keccak256\":\"0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599\",\"dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG\"]},\"contracts/release/core/fund/vault/VaultLib.sol\":{\"keccak256\":\"0x07e49445ab55c01e1b499a48baadc2a15d1eba621f1c6d3ccfdb84c87b976da8\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://56d882459248f73e137db2e097fc56b946147fb28ec21661b77431f88e856cb4\",\"dweb:/ipfs/QmRP6Ry7DCS5uoKxnnkTomHSzbaCze6cHqbR9aLdjoF6vK\"]},\"contracts/release/extensions/IExtension.sol\":{\"keccak256\":\"0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70\",\"dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t\"]},\"contracts/release/extensions/external-position-manager/IExternalPositionManager.sol\":{\"keccak256\":\"0x3af3f634e1f99fb97091b7825c0d2e2baaafc124d4e87d56cb0c17ff8554f6c6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://515470605afe5ef147f30fa75ce7818f0e00e3d321eb81a4d9bffcdefc294495\",\"dweb:/ipfs/QmPKsp99pfHoz9Tfo3ZxnkmqDqJtN9PxqacF2RmeVfxUJF\"]},\"contracts/release/extensions/fee-manager/IFeeManager.sol\":{\"keccak256\":\"0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22\",\"dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod\"]},\"contracts/release/extensions/policy-manager/IPolicy.sol\":{\"keccak256\":\"0xc12663ca72065b256c3b934ab738fde26c147c7b0399de43650df89dd52ee467\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://be8fecfcba0f3fda615f0a1bb3c766750c23761ef751d7c4472dfe540e460cd1\",\"dweb:/ipfs/QmaarPoRTsX6NiJ8V4u2f3Qh6d7tUs28bw9R14An3t5Bs1\"]},\"contracts/release/extensions/policy-manager/IPolicyManager.sol\":{\"keccak256\":\"0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa\",\"dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb\"]},\"contracts/release/extensions/policy-manager/policies/asset-managers/AllowedExternalPositionTypesPolicy.sol\":{\"keccak256\":\"0xb26015b01a0d4ef3ac0fadf62edb9b9246fb3a448197b894ac429497b8f1d778\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://86deaccba747ea2dbf4b916d0f1579b7c515dd286bbfe5a0191d005f84296f53\",\"dweb:/ipfs/QmRVd4VjckLAcqNrvb5oqYKNejycaezDTJcnvbCzuxk7ub\"]},\"contracts/release/extensions/policy-manager/policies/utils/PolicyBase.sol\":{\"keccak256\":\"0x972311abb98f0da815b4aca83d5afdd219d3604ec19cf5e3773c0c305bd9b3f1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2452f3d1f3b1d8e8459a07489146a2d0d8a10463715937995cbe77ee5de8c069\",\"dweb:/ipfs/Qmf2hhd2DVbjpxmbNGAhRZNZkqpGZA2mX3eA1WNwtv6t5Y\"]},\"contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol\":{\"keccak256\":\"0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f\",\"dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol\":{\"keccak256\":\"0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0\",\"dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol\":{\"keccak256\":\"0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b\",\"dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3\"]},\"contracts/release/infrastructure/protocol-fees/IProtocolFeeTracker.sol\":{\"keccak256\":\"0x232b347f83457439064add7369bfe1930c7cb56f15930bb87d640e909c15e447\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://24f9af5eebdd373b1d7a598c096eb6def31b2640d54416d7d5a7226e1cef17e6\",\"dweb:/ipfs/QmStq9ByGuSYdKwTmZf52L1X6sZVJUfXTnoVbnjLLiUcHG\"]},\"contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol\":{\"keccak256\":\"0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965\",\"dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ\"]},\"contracts/release/interfaces/IGsnForwarder.sol\":{\"keccak256\":\"0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29\",\"dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G\"]},\"contracts/release/interfaces/IGsnPaymaster.sol\":{\"keccak256\":\"0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4\",\"dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF\"]},\"contracts/release/interfaces/IGsnTypes.sol\":{\"keccak256\":\"0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7\",\"dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C\"]},\"contracts/release/interfaces/IWETH.sol\":{\"keccak256\":\"0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2\",\"dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/beacon-proxy/IBeacon.sol\":{\"keccak256\":\"0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39\",\"dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V\"]},\"contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol\":{\"keccak256\":\"0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be\",\"dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20Burnable.sol\":{\"keccak256\":\"0x9c0eb3b0e11d2480d49991dc384f1e5f9c9b9967cc81944d50916a9b9c6c4984\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99e4033d778624992e86f0b6d801a4f6d7b5c0cd5c79c1296be90a051ad5f5af\",\"dweb:/ipfs/QmShYmkUqh6pDEeoWadZ24icmCr4C2Xys1uE5boivPmbwf\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_policyManager", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "comptrollerProxy", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "externalPositionTypeId", "type": "uint256", "indexed": true } ], "type": "event", "name": "AllowedExternalPositionTypeAddedForFund", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "activateForFund" }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" }, { "internalType": "bytes", "name": "_encodedSettings", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "addFundSettings" }, { "inputs": [], "stateMutability": "pure", "type": "function", "name": "canDisable", "outputs": [ { "internalType": "bool", "name": "canDisable_", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" }, { "internalType": "uint256", "name": "_externalPositionTypeId", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "externalPositionTypeIsAllowedForFund", "outputs": [ { "internalType": "bool", "name": "isAllowed_", "type": "bool" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getPolicyManager", "outputs": [ { "internalType": "address", "name": "policyManager_", "type": "address" } ] }, { "inputs": [], "stateMutability": "pure", "type": "function", "name": "identifier", "outputs": [ { "internalType": "string", "name": "identifier_", "type": "string" } ] }, { "inputs": [], "stateMutability": "pure", "type": "function", "name": "implementedHooks", "outputs": [ { "internalType": "enum IPolicyManager.PolicyHook[]", "name": "implementedHooks_", "type": "uint8[]" } ] }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "updateFundSettings" }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" }, { "internalType": "enum IPolicyManager.PolicyHook", "name": "_hook", "type": "uint8" }, { "internalType": "bytes", "name": "_encodedArgs", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "validateRule", "outputs": [ { "internalType": "bool", "name": "isValid_", "type": "bool" } ] } ], "devdoc": { "kind": "dev", "methods": { "activateForFund(address)": { "params": { "_comptrollerProxy": "The fund's ComptrollerProxy address" } }, "addFundSettings(address,bytes)": { "details": "Most funds that use this policy will likely not allow any external positions. Does not prohibit specifying not-yet-defined external position type ids.", "params": { "_comptrollerProxy": "The fund's ComptrollerProxy address", "_encodedSettings": "Encoded settings to apply to a fund" } }, "canDisable()": { "details": "False by default, can be overridden by the policy", "returns": { "canDisable_": "True if the policy can be disabled" } }, "externalPositionTypeIsAllowedForFund(address,uint256)": { "params": { "_comptrollerProxy": "The fund's ComptrollerProxy address", "_externalPositionTypeId": "The external position type id" }, "returns": { "isAllowed_": "True if the external position type is allowed" } }, "getPolicyManager()": { "returns": { "policyManager_": "The `POLICY_MANAGER` variable value" } }, "identifier()": { "returns": { "identifier_": "The identifier string" } }, "implementedHooks()": { "returns": { "implementedHooks_": "The implemented PolicyHooks" } }, "updateFundSettings(address,bytes)": { "details": "Disallowed by default, can be overridden by the policy" }, "validateRule(address,uint8,bytes)": { "details": "onlyPolicyManager validation not necessary, as state is not updated and no events are fired", "params": { "_comptrollerProxy": "The fund's ComptrollerProxy address", "_encodedArgs": "Encoded args with which to validate the rule", "_hook": "The PolicyHook" }, "returns": { "isValid_": "True if the rule passes" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "activateForFund(address)": { "notice": "Validates and initializes a policy as necessary prior to fund activation" }, "addFundSettings(address,bytes)": { "notice": "Adds the initial policy settings for a fund" }, "canDisable()": { "notice": "Whether or not the policy can be disabled" }, "externalPositionTypeIsAllowedForFund(address,uint256)": { "notice": "Checks whether a given external position type is allowed by a given fund" }, "getPolicyManager()": { "notice": "Gets the `POLICY_MANAGER` variable value" }, "identifier()": { "notice": "Provides a constant string identifier for a policy" }, "implementedHooks()": { "notice": "Gets the implemented PolicyHooks for a policy" }, "updateFundSettings(address,bytes)": { "notice": "Updates the policy settings for a fund" }, "validateRule(address,uint8,bytes)": { "notice": "Apply the rule with the specified parameters of a PolicyHook" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/policy-manager/policies/asset-managers/AllowedExternalPositionTypesPolicy.sol": "AllowedExternalPositionTypesPolicy" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/dispatcher/IDispatcher.sol": { "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", "urls": [ "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" ], "license": "GPL-3.0" }, "contracts/persistent/external-positions/IExternalPosition.sol": { "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", "urls": [ "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" ], "license": "GPL-3.0" }, "contracts/persistent/external-positions/IExternalPositionProxy.sol": { "keccak256": "0xc74e623dbdc949df49e9cef31e0f958b17c715d89198dbbc1754d8f9c21e90de", "urls": [ "bzz-raw://074daf0a9f4e667964e6d50039986e3d792860cdece05d21e3606d33358a02b2", "dweb:/ipfs/QmVHXiKry9fYfjSNd6dxmtSr7DubNJvYJTNXtLDKGer2xH" ], "license": "GPL-3.0" }, "contracts/persistent/protocol-fee-reserve/interfaces/IProtocolFeeReserve1.sol": { "keccak256": "0x2728878c423db523bc95189137e8c58d2d7db9f56bbd5c6b1f988c08b551fbab", "urls": [ "bzz-raw://3b0df1d2eb74151265d03ab91a7c341f7beca475dd2f4d669052dbc4ee2c06ac", "dweb:/ipfs/QmVx1cgrxQNYfdK1Kn15pcgqf79Uw8bF3U6i7F2HG2rj6G" ], "license": "GPL-3.0" }, "contracts/persistent/vault/VaultLibBase1.sol": { "keccak256": "0xa4dac1e4cdb311a2ab187135355357d8790c505ef36dd912c057fe53743d30b5", "urls": [ "bzz-raw://b66efe821016ab927c949263023260515e90f5d480dc8d94eefbfeec7bf7490b", "dweb:/ipfs/QmNY3xKnhL9EptAbxGvXHGAXfV9pj3dDPwsZnKrPs54ZHw" ], "license": "GPL-3.0" }, "contracts/persistent/vault/VaultLibBase2.sol": { "keccak256": "0xf7d31f2a9a47770ed3f444be2c4fe9262ddb55fef7f25e546b1f03c9afec4c09", "urls": [ "bzz-raw://9353ddce7c9b8b3c13fed23fe8edec99ca610d791b0c5b204b3d01f1f08d07d2", "dweb:/ipfs/QmeVsEh3joCjv49BRXeHASevnZZ5xdZXpkctHT8BPf37N2" ], "license": "GPL-3.0" }, "contracts/persistent/vault/VaultLibBaseCore.sol": { "keccak256": "0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074", "urls": [ "bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd", "dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IExternalPositionVault.sol": { "keccak256": "0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6", "urls": [ "bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d", "dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol": { "keccak256": "0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0", "urls": [ "bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb", "dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IMigratableVault.sol": { "keccak256": "0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238", "urls": [ "bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6", "dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IVaultCore.sol": { "keccak256": "0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80", "urls": [ "bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd", "dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr" ], "license": "GPL-3.0" }, "contracts/persistent/vault/utils/ProxiableVaultLib.sol": { "keccak256": "0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76", "urls": [ "bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44", "dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4" ], "license": "GPL-3.0" }, "contracts/persistent/vault/utils/SharesTokenBase.sol": { "keccak256": "0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113", "urls": [ "bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8", "dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4" ], "license": "GPL-3.0" }, "contracts/persistent/vault/utils/VaultLibSafeMath.sol": { "keccak256": "0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d", "urls": [ "bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02", "dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG" ], "license": "GPL-3.0" }, "contracts/release/core/fund-deployer/IFundDeployer.sol": { "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", "urls": [ "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" ], "license": "GPL-3.0" }, "contracts/release/core/fund/comptroller/ComptrollerLib.sol": { "keccak256": "0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64", "urls": [ "bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579", "dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq" ], "license": "GPL-3.0" }, "contracts/release/core/fund/comptroller/IComptroller.sol": { "keccak256": "0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f", "urls": [ "bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97", "dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L" ], "license": "GPL-3.0" }, "contracts/release/core/fund/vault/IVault.sol": { "keccak256": "0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd", "urls": [ "bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599", "dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG" ], "license": "GPL-3.0" }, "contracts/release/core/fund/vault/VaultLib.sol": { "keccak256": "0x07e49445ab55c01e1b499a48baadc2a15d1eba621f1c6d3ccfdb84c87b976da8", "urls": [ "bzz-raw://56d882459248f73e137db2e097fc56b946147fb28ec21661b77431f88e856cb4", "dweb:/ipfs/QmRP6Ry7DCS5uoKxnnkTomHSzbaCze6cHqbR9aLdjoF6vK" ], "license": "GPL-3.0" }, "contracts/release/extensions/IExtension.sol": { "keccak256": "0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b", "urls": [ "bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70", "dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/IExternalPositionManager.sol": { "keccak256": "0x3af3f634e1f99fb97091b7825c0d2e2baaafc124d4e87d56cb0c17ff8554f6c6", "urls": [ "bzz-raw://515470605afe5ef147f30fa75ce7818f0e00e3d321eb81a4d9bffcdefc294495", "dweb:/ipfs/QmPKsp99pfHoz9Tfo3ZxnkmqDqJtN9PxqacF2RmeVfxUJF" ], "license": "GPL-3.0" }, "contracts/release/extensions/fee-manager/IFeeManager.sol": { "keccak256": "0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51", "urls": [ "bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22", "dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod" ], "license": "GPL-3.0" }, "contracts/release/extensions/policy-manager/IPolicy.sol": { "keccak256": "0xc12663ca72065b256c3b934ab738fde26c147c7b0399de43650df89dd52ee467", "urls": [ "bzz-raw://be8fecfcba0f3fda615f0a1bb3c766750c23761ef751d7c4472dfe540e460cd1", "dweb:/ipfs/QmaarPoRTsX6NiJ8V4u2f3Qh6d7tUs28bw9R14An3t5Bs1" ], "license": "GPL-3.0" }, "contracts/release/extensions/policy-manager/IPolicyManager.sol": { "keccak256": "0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32", "urls": [ "bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa", "dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb" ], "license": "GPL-3.0" }, "contracts/release/extensions/policy-manager/policies/asset-managers/AllowedExternalPositionTypesPolicy.sol": { "keccak256": "0xb26015b01a0d4ef3ac0fadf62edb9b9246fb3a448197b894ac429497b8f1d778", "urls": [ "bzz-raw://86deaccba747ea2dbf4b916d0f1579b7c515dd286bbfe5a0191d005f84296f53", "dweb:/ipfs/QmRVd4VjckLAcqNrvb5oqYKNejycaezDTJcnvbCzuxk7ub" ], "license": "GPL-3.0" }, "contracts/release/extensions/policy-manager/policies/utils/PolicyBase.sol": { "keccak256": "0x972311abb98f0da815b4aca83d5afdd219d3604ec19cf5e3773c0c305bd9b3f1", "urls": [ "bzz-raw://2452f3d1f3b1d8e8459a07489146a2d0d8a10463715937995cbe77ee5de8c069", "dweb:/ipfs/Qmf2hhd2DVbjpxmbNGAhRZNZkqpGZA2mX3eA1WNwtv6t5Y" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol": { "keccak256": "0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609", "urls": [ "bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f", "dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol": { "keccak256": "0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01", "urls": [ "bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0", "dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol": { "keccak256": "0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196", "urls": [ "bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b", "dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/protocol-fees/IProtocolFeeTracker.sol": { "keccak256": "0x232b347f83457439064add7369bfe1930c7cb56f15930bb87d640e909c15e447", "urls": [ "bzz-raw://24f9af5eebdd373b1d7a598c096eb6def31b2640d54416d7d5a7226e1cef17e6", "dweb:/ipfs/QmStq9ByGuSYdKwTmZf52L1X6sZVJUfXTnoVbnjLLiUcHG" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol": { "keccak256": "0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794", "urls": [ "bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965", "dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IGsnForwarder.sol": { "keccak256": "0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030", "urls": [ "bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29", "dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IGsnPaymaster.sol": { "keccak256": "0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c", "urls": [ "bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4", "dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IGsnTypes.sol": { "keccak256": "0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714", "urls": [ "bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7", "dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IWETH.sol": { "keccak256": "0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2", "urls": [ "bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2", "dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ" ], "license": "GPL-3.0" }, "contracts/release/utils/AddressArrayLib.sol": { "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", "urls": [ "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" ], "license": "GPL-3.0" }, "contracts/release/utils/beacon-proxy/IBeacon.sol": { "keccak256": "0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2", "urls": [ "bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39", "dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V" ], "license": "GPL-3.0" }, "contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol": { "keccak256": "0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc", "urls": [ "bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be", "dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20Burnable.sol": { "keccak256": "0x9c0eb3b0e11d2480d49991dc384f1e5f9c9b9967cc81944d50916a9b9c6c4984", "urls": [ "bzz-raw://99e4033d778624992e86f0b6d801a4f6d7b5c0cd5c79c1296be90a051ad5f5af", "dweb:/ipfs/QmShYmkUqh6pDEeoWadZ24icmCr4C2Xys1uE5boivPmbwf" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", "urls": [ "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Address.sol": { "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", "urls": [ "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" } }, "version": 1 }, "id": 211 } diff --git a/eth_defi/abi/enzyme/AllowedSharesTransferRecipientsPolicy.json b/eth_defi/abi/enzyme/AllowedSharesTransferRecipientsPolicy.json index e30c1f1f..108768e1 100644 --- a/eth_defi/abi/enzyme/AllowedSharesTransferRecipientsPolicy.json +++ b/eth_defi/abi/enzyme/AllowedSharesTransferRecipientsPolicy.json @@ -1,916 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_policyManager", - "type": "address" - }, - { - "internalType": "address", - "name": "_addressListRegistry", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "comptrollerProxy", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "listIds", - "type": "uint256[]" - } - ], - "name": "ListsSetForFund", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "activateForFund", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_encodedSettings", - "type": "bytes" - } - ], - "name": "addFundSettings", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "canDisable", - "outputs": [ - { - "internalType": "bool", - "name": "canDisable_", - "type": "bool" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "getAddressListRegistry", - "outputs": [ - { - "internalType": "address", - "name": "addressListRegistry_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - } - ], - "name": "getListIdsForFund", - "outputs": [ - { - "internalType": "uint256[]", - "name": "listIds_", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getPolicyManager", - "outputs": [ - { - "internalType": "address", - "name": "policyManager_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "identifier", - "outputs": [ - { - "internalType": "string", - "name": "identifier_", - "type": "string" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "implementedHooks", - "outputs": [ - { - "internalType": "enum IPolicyManager.PolicyHook[]", - "name": "implementedHooks_", - "type": "uint8[]" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_recipient", - "type": "address" - } - ], - "name": "passesRule", - "outputs": [ - { - "internalType": "bool", - "name": "isValid_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_encodedSettings", - "type": "bytes" - } - ], - "name": "updateFundSettings", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "enum IPolicyManager.PolicyHook", - "name": "", - "type": "uint8" - }, - { - "internalType": "bytes", - "name": "_encodedArgs", - "type": "bytes" - } - ], - "name": "validateRule", - "outputs": [ - { - "internalType": "bool", - "name": "isValid_", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x60c06040523480156200001157600080fd5b50604051620011fc380380620011fc833981016040819052620000349162000066565b6001600160601b0319606092831b8116608052911b1660a052620000d1565b80516200006081620000b7565b92915050565b600080604083850312156200007a57600080fd5b600062000088858562000053565b92505060206200009b8582860162000053565b9150509250929050565b60006001600160a01b03821662000060565b620000c281620000a5565b8114620000ce57600080fd5b50565b60805160601c60a05160601c6110fc620001006000398061024352508061018c528061037952506110fc6000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c80637998a1c4116100715780637998a1c414610109578063b67cb40c1461011e578063cbf54bb214610131578063ceb9a0ad14610146578063d44ad6cb14610159578063dffd7c6f14610161576100a9565b80630d4d7510146100ae5780630f5f6b4f146100ae5780631ef92578146100c3578063579be718146100e157806374708934146100f4575b600080fd5b6100c16100bc366004610ae2565b610181565b005b6100cb6101e2565b6040516100d89190610f28565b60405180910390f35b6100cb6100ef366004610b38565b6101e7565b6100fc610241565b6040516100d89190610ea4565b610111610265565b6040516100d89190610f36565b6100cb61012c366004610aa8565b610285565b61013961031d565b6040516100d89190610edf565b6100c1610154366004610a17565b610374565b6100fc610377565b61017461016f366004610a17565b61039b565b6040516100d89190610ef0565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146101d25760405162461bcd60e51b81526004016101c990610f47565b60405180910390fd5b6101dd838383610406565b505050565b600190565b60008061022984848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506106c992505050565b509150506102378682610285565b9695505050505050565b7f000000000000000000000000000000000000000000000000000000000000000090565b60606040518060600160405280602281526020016110ce60229139905090565b600061028f610241565b6001600160a01b03166375674f466102a68561039b565b846040518363ffffffff1660e01b81526004016102c4929190610f01565b60206040518083038186803b1580156102dc57600080fd5b505afa1580156102f0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103149190610bff565b90505b92915050565b6040805160018082528183019092526060916020808301908036833701905050905060028160008151811061034e57fe5b6020026020010190600981111561036157fe5b9081600981111561036e57fe5b90525090565b50565b7f000000000000000000000000000000000000000000000000000000000000000090565b6001600160a01b038116600090815260208181526040918290208054835181840281018401909452808452606093928301828280156103f957602002820191906000526020600020905b8154815260200190600101908083116103e5575b505050505090505b919050565b60608061041583850185610ba0565b915091506060815183510167ffffffffffffffff8111801561043657600080fd5b50604051908082528060200260200182016040528015610460578160200160208202803683370190505b5090508051600014156104855760405162461bcd60e51b81526004016101c990610f57565b6001600160a01b038616600090815260208190526040902054156104c4576001600160a01b03861660009081526020819052604081206104c4916107b4565b60005b8351811015610557578381815181106104dc57fe5b60200260200101518282815181106104f057fe5b602002602001018181525050600080886001600160a01b03166001600160a01b0316815260200190815260200160002084828151811061052c57fe5b60209081029190910181015182546001818101855560009485529290932090920191909155016104c7565b50815115610680576000866001600160a01b031663c98091876040518163ffffffff1660e01b815260040160206040518083038186803b15801561059a57600080fd5b505afa1580156105ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105d29190610a3d565b905060005b835181101561067d576000818651019050610605838684815181106105f857fe5b60200260200101516106ef565b84828151811061061157fe5b6020026020010181815250506000808a6001600160a01b03166001600160a01b0316815260200190815260200160002084828151811061064d57fe5b602090810291909101810151825460018181018555600094855292909320909201919091559190910190506105d7565b50505b856001600160a01b03167fd63f5b55f54cdda3234eab3aa26d85b99854a43efea66e0c459220fd7b3a332f826040516106b99190610ef0565b60405180910390a2505050505050565b6000806000838060200190518101906106e29190610a5b565b9250925092509193909250565b60008060606106fd84610793565b91509150610709610241565b6001600160a01b031663be68406e8684846040518463ffffffff1660e01b815260040161073893929190610eb2565b602060405180830381600087803b15801561075257600080fd5b505af1158015610766573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061078a9190610c65565b95945050505050565b60006060828060200190518101906107ab9190610c1d565b91509150915091565b508054600082559060005260206000209081019061037491905b808211156107e257600081556001016107ce565b5090565b80356103178161108d565b80516103178161108d565b600082601f83011261080d57600080fd5b815161082061081b82610f8e565b610f67565b9150818183526020840193506020810190508385602084028201111561084557600080fd5b60005b83811015610871578161085b88826107f1565b8452506020928301929190910190600101610848565b5050505092915050565b600082601f83011261088c57600080fd5b813561089a61081b82610f8e565b81815260209384019390925082018360005b8381101561087157813586016108c2888261099c565b84525060209283019291909101906001016108ac565b600082601f8301126108e957600080fd5b81356108f761081b82610f8e565b9150818183526020840193506020810190508385602084028201111561091c57600080fd5b60005b8381101561087157816109328882610a01565b845250602092830192919091019060010161091f565b8051610317816110a1565b60008083601f84011261096557600080fd5b50813567ffffffffffffffff81111561097d57600080fd5b60208301915083600182028301111561099557600080fd5b9250929050565b600082601f8301126109ad57600080fd5b81356109bb61081b82610faf565b915080825260208301602083018583830111156109d757600080fd5b6109e2838284611033565b50505092915050565b8035610317816110aa565b8051610317816110b7565b8035610317816110c4565b8051610317816110c4565b600060208284031215610a2957600080fd5b6000610a3584846107e6565b949350505050565b600060208284031215610a4f57600080fd5b6000610a3584846107f1565b600080600060608486031215610a7057600080fd5b6000610a7c86866107f1565b9350506020610a8d868287016107f1565b9250506040610a9e86828701610a0c565b9150509250925092565b60008060408385031215610abb57600080fd5b6000610ac785856107e6565b9250506020610ad8858286016107e6565b9150509250929050565b600080600060408486031215610af757600080fd5b6000610b0386866107e6565b935050602084013567ffffffffffffffff811115610b2057600080fd5b610b2c86828701610953565b92509250509250925092565b60008060008060608587031215610b4e57600080fd5b6000610b5a87876107e6565b9450506020610b6b878288016109eb565b935050604085013567ffffffffffffffff811115610b8857600080fd5b610b9487828801610953565b95989497509550505050565b60008060408385031215610bb357600080fd5b823567ffffffffffffffff811115610bca57600080fd5b610bd6858286016108d8565b925050602083013567ffffffffffffffff811115610bf357600080fd5b610ad88582860161087b565b600060208284031215610c1157600080fd5b6000610a358484610948565b60008060408385031215610c3057600080fd5b6000610c3c85856109f6565b925050602083015167ffffffffffffffff811115610c5957600080fd5b610ad8858286016107fc565b600060208284031215610c7757600080fd5b6000610a358484610a0c565b6000610c8f8383610caf565b505060200190565b6000610c8f8383610dbc565b6000610c8f8383610e9b565b610cb881610fea565b82525050565b6000610cc982610fdd565b610cd38185610fe1565b9350610cde83610fd7565b8060005b83811015610d0c578151610cf68882610c83565b9750610d0183610fd7565b925050600101610ce2565b509495945050505050565b6000610d2282610fdd565b610d2c8185610fe1565b9350610d3783610fd7565b8060005b83811015610d0c578151610d4f8882610c97565b9750610d5a83610fd7565b925050600101610d3b565b6000610d7082610fdd565b610d7a8185610fe1565b9350610d8583610fd7565b8060005b83811015610d0c578151610d9d8882610ca3565b9750610da883610fd7565b925050600101610d89565b610cb881610ff5565b610cb88161101d565b610cb881611028565b6000610dd982610fdd565b610de38185610fe1565b9350610df381856020860161103f565b610dfc8161106f565b9093019392505050565b6000610e13602983610fe1565b7f4f6e6c792074686520506f6c6963794d616e616765722063616e206d616b65208152681d1a1a5cc818d85b1b60ba1b602082015260400192915050565b6000610e5e602883610fe1565b7f5f5f7570646174654c69737473466f7246756e643a204e6f206c6973747320738152671c1958da599a595960c21b602082015260400192915050565b610cb88161101a565b602081016103178284610caf565b60608101610ec08286610caf565b610ecd6020830185610dc5565b818103604083015261078a8184610cbe565b602080825281016103148184610d17565b602080825281016103148184610d65565b60408082528101610f128185610d65565b9050610f216020830184610caf565b9392505050565b602081016103178284610db3565b602080825281016103148184610dce565b6020808252810161031781610e06565b6020808252810161031781610e51565b60405181810167ffffffffffffffff81118282101715610f8657600080fd5b604052919050565b600067ffffffffffffffff821115610fa557600080fd5b5060209081020190565b600067ffffffffffffffff821115610fc657600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b60006103178261100e565b151590565b8061040181611079565b8061040181611083565b6001600160a01b031690565b90565b600061031782610ffa565b600061031782611004565b82818337506000910152565b60005b8381101561105a578181015183820152602001611042565b83811115611069576000848401525b50505050565b601f01601f191690565b600a811061037457fe5b6004811061037457fe5b61109681610fea565b811461037457600080fd5b61109681610ff5565b600a811061037457600080fd5b6004811061037457600080fd5b6110968161101a56fe414c4c4f5745445f5348415245535f5452414e534645525f524543495049454e5453a164736f6c634300060c000a", - "sourceMap": "562:3076:218:-:0;;;648:163;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;737:31:223;;;;;;;;1052:44:221;;;::::1;::::0;562:3076:218;;5:134:-1;83:13;;101:33;83:13;101:33;:::i;:::-;68:71;;;;:::o;146:399::-;;;278:2;266:9;257:7;253:23;249:32;246:2;;;294:1;291;284:12;246:2;329:1;346:64;402:7;382:9;346:64;:::i;:::-;336:74;;308:108;447:2;465:64;521:7;512:6;501:9;497:22;465:64;:::i;:::-;455:74;;426:109;240:305;;;;;:::o;552:91::-;;-1:-1;;;;;712:54;;614:24;695:76::o;778:117::-;847:24;865:5;847:24;:::i;:::-;840:5;837:35;827:2;;886:1;883;876:12;827:2;821:74;:::o;:::-;562:3076:218;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106100a95760003560e01c80637998a1c4116100715780637998a1c414610109578063b67cb40c1461011e578063cbf54bb214610131578063ceb9a0ad14610146578063d44ad6cb14610159578063dffd7c6f14610161576100a9565b80630d4d7510146100ae5780630f5f6b4f146100ae5780631ef92578146100c3578063579be718146100e157806374708934146100f4575b600080fd5b6100c16100bc366004610ae2565b610181565b005b6100cb6101e2565b6040516100d89190610f28565b60405180910390f35b6100cb6100ef366004610b38565b6101e7565b6100fc610241565b6040516100d89190610ea4565b610111610265565b6040516100d89190610f36565b6100cb61012c366004610aa8565b610285565b61013961031d565b6040516100d89190610edf565b6100c1610154366004610a17565b610374565b6100fc610377565b61017461016f366004610a17565b61039b565b6040516100d89190610ef0565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146101d25760405162461bcd60e51b81526004016101c990610f47565b60405180910390fd5b6101dd838383610406565b505050565b600190565b60008061022984848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506106c992505050565b509150506102378682610285565b9695505050505050565b7f000000000000000000000000000000000000000000000000000000000000000090565b60606040518060600160405280602281526020016110ce60229139905090565b600061028f610241565b6001600160a01b03166375674f466102a68561039b565b846040518363ffffffff1660e01b81526004016102c4929190610f01565b60206040518083038186803b1580156102dc57600080fd5b505afa1580156102f0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103149190610bff565b90505b92915050565b6040805160018082528183019092526060916020808301908036833701905050905060028160008151811061034e57fe5b6020026020010190600981111561036157fe5b9081600981111561036e57fe5b90525090565b50565b7f000000000000000000000000000000000000000000000000000000000000000090565b6001600160a01b038116600090815260208181526040918290208054835181840281018401909452808452606093928301828280156103f957602002820191906000526020600020905b8154815260200190600101908083116103e5575b505050505090505b919050565b60608061041583850185610ba0565b915091506060815183510167ffffffffffffffff8111801561043657600080fd5b50604051908082528060200260200182016040528015610460578160200160208202803683370190505b5090508051600014156104855760405162461bcd60e51b81526004016101c990610f57565b6001600160a01b038616600090815260208190526040902054156104c4576001600160a01b03861660009081526020819052604081206104c4916107b4565b60005b8351811015610557578381815181106104dc57fe5b60200260200101518282815181106104f057fe5b602002602001018181525050600080886001600160a01b03166001600160a01b0316815260200190815260200160002084828151811061052c57fe5b60209081029190910181015182546001818101855560009485529290932090920191909155016104c7565b50815115610680576000866001600160a01b031663c98091876040518163ffffffff1660e01b815260040160206040518083038186803b15801561059a57600080fd5b505afa1580156105ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105d29190610a3d565b905060005b835181101561067d576000818651019050610605838684815181106105f857fe5b60200260200101516106ef565b84828151811061061157fe5b6020026020010181815250506000808a6001600160a01b03166001600160a01b0316815260200190815260200160002084828151811061064d57fe5b602090810291909101810151825460018181018555600094855292909320909201919091559190910190506105d7565b50505b856001600160a01b03167fd63f5b55f54cdda3234eab3aa26d85b99854a43efea66e0c459220fd7b3a332f826040516106b99190610ef0565b60405180910390a2505050505050565b6000806000838060200190518101906106e29190610a5b565b9250925092509193909250565b60008060606106fd84610793565b91509150610709610241565b6001600160a01b031663be68406e8684846040518463ffffffff1660e01b815260040161073893929190610eb2565b602060405180830381600087803b15801561075257600080fd5b505af1158015610766573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061078a9190610c65565b95945050505050565b60006060828060200190518101906107ab9190610c1d565b91509150915091565b508054600082559060005260206000209081019061037491905b808211156107e257600081556001016107ce565b5090565b80356103178161108d565b80516103178161108d565b600082601f83011261080d57600080fd5b815161082061081b82610f8e565b610f67565b9150818183526020840193506020810190508385602084028201111561084557600080fd5b60005b83811015610871578161085b88826107f1565b8452506020928301929190910190600101610848565b5050505092915050565b600082601f83011261088c57600080fd5b813561089a61081b82610f8e565b81815260209384019390925082018360005b8381101561087157813586016108c2888261099c565b84525060209283019291909101906001016108ac565b600082601f8301126108e957600080fd5b81356108f761081b82610f8e565b9150818183526020840193506020810190508385602084028201111561091c57600080fd5b60005b8381101561087157816109328882610a01565b845250602092830192919091019060010161091f565b8051610317816110a1565b60008083601f84011261096557600080fd5b50813567ffffffffffffffff81111561097d57600080fd5b60208301915083600182028301111561099557600080fd5b9250929050565b600082601f8301126109ad57600080fd5b81356109bb61081b82610faf565b915080825260208301602083018583830111156109d757600080fd5b6109e2838284611033565b50505092915050565b8035610317816110aa565b8051610317816110b7565b8035610317816110c4565b8051610317816110c4565b600060208284031215610a2957600080fd5b6000610a3584846107e6565b949350505050565b600060208284031215610a4f57600080fd5b6000610a3584846107f1565b600080600060608486031215610a7057600080fd5b6000610a7c86866107f1565b9350506020610a8d868287016107f1565b9250506040610a9e86828701610a0c565b9150509250925092565b60008060408385031215610abb57600080fd5b6000610ac785856107e6565b9250506020610ad8858286016107e6565b9150509250929050565b600080600060408486031215610af757600080fd5b6000610b0386866107e6565b935050602084013567ffffffffffffffff811115610b2057600080fd5b610b2c86828701610953565b92509250509250925092565b60008060008060608587031215610b4e57600080fd5b6000610b5a87876107e6565b9450506020610b6b878288016109eb565b935050604085013567ffffffffffffffff811115610b8857600080fd5b610b9487828801610953565b95989497509550505050565b60008060408385031215610bb357600080fd5b823567ffffffffffffffff811115610bca57600080fd5b610bd6858286016108d8565b925050602083013567ffffffffffffffff811115610bf357600080fd5b610ad88582860161087b565b600060208284031215610c1157600080fd5b6000610a358484610948565b60008060408385031215610c3057600080fd5b6000610c3c85856109f6565b925050602083015167ffffffffffffffff811115610c5957600080fd5b610ad8858286016107fc565b600060208284031215610c7757600080fd5b6000610a358484610a0c565b6000610c8f8383610caf565b505060200190565b6000610c8f8383610dbc565b6000610c8f8383610e9b565b610cb881610fea565b82525050565b6000610cc982610fdd565b610cd38185610fe1565b9350610cde83610fd7565b8060005b83811015610d0c578151610cf68882610c83565b9750610d0183610fd7565b925050600101610ce2565b509495945050505050565b6000610d2282610fdd565b610d2c8185610fe1565b9350610d3783610fd7565b8060005b83811015610d0c578151610d4f8882610c97565b9750610d5a83610fd7565b925050600101610d3b565b6000610d7082610fdd565b610d7a8185610fe1565b9350610d8583610fd7565b8060005b83811015610d0c578151610d9d8882610ca3565b9750610da883610fd7565b925050600101610d89565b610cb881610ff5565b610cb88161101d565b610cb881611028565b6000610dd982610fdd565b610de38185610fe1565b9350610df381856020860161103f565b610dfc8161106f565b9093019392505050565b6000610e13602983610fe1565b7f4f6e6c792074686520506f6c6963794d616e616765722063616e206d616b65208152681d1a1a5cc818d85b1b60ba1b602082015260400192915050565b6000610e5e602883610fe1565b7f5f5f7570646174654c69737473466f7246756e643a204e6f206c6973747320738152671c1958da599a595960c21b602082015260400192915050565b610cb88161101a565b602081016103178284610caf565b60608101610ec08286610caf565b610ecd6020830185610dc5565b818103604083015261078a8184610cbe565b602080825281016103148184610d17565b602080825281016103148184610d65565b60408082528101610f128185610d65565b9050610f216020830184610caf565b9392505050565b602081016103178284610db3565b602080825281016103148184610dce565b6020808252810161031781610e06565b6020808252810161031781610e51565b60405181810167ffffffffffffffff81118282101715610f8657600080fd5b604052919050565b600067ffffffffffffffff821115610fa557600080fd5b5060209081020190565b600067ffffffffffffffff821115610fc657600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b60006103178261100e565b151590565b8061040181611079565b8061040181611083565b6001600160a01b031690565b90565b600061031782610ffa565b600061031782611004565b82818337506000910152565b60005b8381101561105a578181015183820152602001611042565b83811115611069576000848401525b50505050565b601f01601f191690565b600a811061037457fe5b6004811061037457fe5b61109681610fea565b811461037457600080fd5b61109681610ff5565b600a811061037457600080fd5b6004811061037457600080fd5b6110968161101a56fe414c4c4f5745445f5348415245535f5452414e534645525f524543495049454e5453a164736f6c634300060c000a", - "sourceMap": "562:3076:218:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2067:226;;;;;;:::i;:::-;;:::i;:::-;;965:108;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2672:331;;;;;;:::i;:::-;;:::i;4613:130:221:-;;;:::i;:::-;;;;;;;:::i;1195:141:218:-;;;:::i;:::-;;;;;;;:::i;3312:324::-;;;;;;:::i;:::-;;:::i;1466:332::-;;;:::i;:::-;;;;;;;:::i;941:83:223:-;;;;;;:::i;:::-;;:::i;6755:113::-;;;:::i;4908:198:221:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;2067:226:218:-;586:10:223;-1:-1:-1;;;;;600:14:223;586:28;;578:82;;;;-1:-1:-1;;;578:82:223;;;;;;;:::i;:::-;;;;;;;;;2229:57:218::1;2250:17;2269:16;;2229:20;:57::i;:::-;2067:226:::0;;;:::o;965:108::-;1062:4;965:108;:::o;2672:331::-;2834:13;2862:17;2885:53;2925:12;;2885:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2885:39:218;;-1:-1:-1;;;2885:53:218:i;:::-;2859:79;;;;2956:40;2967:17;2986:9;2956:10;:40::i;:::-;2949:47;2672:331;-1:-1:-1;;;;;;2672:331:218:o;4613:130:221:-;4715:21;4613:130;:::o;1195:141:218:-;1249:25;1286:43;;;;;;;;;;;;;;;;;;;1195:141;:::o;3312:324::-;3424:13;3492:24;:22;:24::i;:::-;-1:-1:-1;;;;;3472:61:218;;3551:36;3569:17;3551;:36::i;:::-;3605:10;3472:157;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3453:176;;3312:324;;;;;:::o;1466:332::-;1646:34;;;1678:1;1646:34;;;;;;;;;1558:52;;1646:34;;;;;;;;;;;-1:-1:-1;1646:34:218;1626:54;;1713:43;1690:17;1708:1;1690:20;;;;;;;;;;;;;:66;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1466:332:218;:::o;941:83:223:-;;:::o;6755:113::-;6847:14;6755:113;:::o;4908:198:221:-;-1:-1:-1;;;;;5055:44:221;;:25;:44;;;;;;;;;;;;5048:51;;;;;;;;;;;;;;;;;5007:25;;5048:51;;;5055:44;5048:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4908:198;;;;:::o;2752:1638::-;2874:32;;2939:84;;;;2963:16;2939:84;:::i;:::-;2873:150;;;;3034:28;3104:12;:19;3079:15;:22;:44;3065:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3065:59:221;;3034:90;;3142:11;:18;3164:1;3142:23;;3134:76;;;;-1:-1:-1;;;3134:76:221;;;;;;;:::i;:::-;-1:-1:-1;;;;;3283:44:221;;3337:1;3283:44;;;;;;;;;;:51;:55;3279:137;;-1:-1:-1;;;;;3361:44:221;;:25;:44;;;;;;;;;;3354:51;;;:::i;:::-;3553:9;3548:192;3568:15;:22;3564:1;:26;3548:192;;;3628:15;3644:1;3628:18;;;;;;;;;;;;;;3611:11;3623:1;3611:14;;;;;;;;;;;;;:35;;;;;3660:25;:44;3686:17;-1:-1:-1;;;;;3660:44:221;-1:-1:-1;;;;;3660:44:221;;;;;;;;;;;;3710:15;3726:1;3710:18;;;;;;;;;;;;;;;;;;;3660:69;;;;;;;;-1:-1:-1;3660:69:221;;;;;;;;;;;;;;3592:3;3548:192;;;-1:-1:-1;3794:19:221;;:23;3790:531;;3833:18;3869:17;-1:-1:-1;;;;;3854:47:221;;:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3833:70;;3922:9;3917:394;3937:12;:19;3933:1;:23;3917:394;;;3981:24;4033:1;4008:15;:22;:26;3981:53;;4084:114;4133:10;4165:12;4178:1;4165:15;;;;;;;;;;;;;;4084:27;:114::i;:::-;4052:11;4064:16;4052:29;;;;;;;;;;;;;:146;;;;;4216:25;:44;4242:17;-1:-1:-1;;;;;4216:44:221;-1:-1:-1;;;;;4216:44:221;;;;;;;;;;;;4266:11;4278:16;4266:29;;;;;;;;;;;;;;;;;;;4216:80;;;;;;;;-1:-1:-1;4216:80:221;;;;;;;;;;;;;;3958:3;;;;;-1:-1:-1;3917:394:221;;;;3790:531;;4352:17;-1:-1:-1;;;;;4336:47:221;;4371:11;4336:47;;;;;;:::i;:::-;;;;;;;;2752:1638;;;;;;:::o;2619:310:223:-;2758:15;2787:18;2819:15;2877;2866:56;;;;;;;;;;;;:::i;:::-;2859:63;;;;;;2619:310;;;;;:::o;1662:488:221:-;1781:15;1826:41;1881:29;1923:33;1943:12;1923:19;:33::i;:::-;1812:144;;;;2006:24;:22;:24::i;:::-;-1:-1:-1;;;;;1986:56:221;;2060:11;2089:10;2117:12;1986:157;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1967:176;1662:488;-1:-1:-1;;;;;1662:488:221:o;2200:276::-;2303:42;2347:30;2411:12;2400:69;;;;;;;;;;;;:::i;:::-;2393:76;;;;2200:276;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5:130::-;72:20;;97:33;72:20;97:33;:::i;142:134::-;220:13;;238:33;220:13;238:33;:::i;458:722::-;;586:3;579:4;571:6;567:17;563:27;553:2;;604:1;601;594:12;553:2;634:6;628:13;656:80;671:64;728:6;671:64;:::i;:::-;656:80;:::i;:::-;647:89;;753:5;778:6;771:5;764:21;808:4;800:6;796:17;786:27;;830:4;825:3;821:14;814:21;;883:6;930:3;922:4;914:6;910:17;905:3;901:27;898:36;895:2;;;947:1;944;937:12;895:2;972:1;957:217;982:6;979:1;976:13;957:217;;;1040:3;1062:48;1106:3;1094:10;1062:48;:::i;:::-;1050:61;;-1:-1;1134:4;1125:14;;;;1153;;;;;1004:1;997:9;957:217;;;961:14;546:634;;;;;;;:::o;1204:705::-;;1330:3;1323:4;1315:6;1311:17;1307:27;1297:2;;1348:1;1345;1338:12;1297:2;1385:6;1372:20;1407:89;1422:73;1488:6;1422:73;:::i;1407:89::-;1524:21;;;1568:4;1556:17;;;;1398:98;;-1:-1;1581:14;;1556:17;1676:1;1661:242;1686:6;1683:1;1680:13;1661:242;;;1769:3;1756:17;1748:6;1744:30;1793:46;1835:3;1823:10;1793:46;:::i;:::-;1781:59;;-1:-1;1863:4;1854:14;;;;1882;;;;;1708:1;1701:9;1661:242;;1935:707;;2052:3;2045:4;2037:6;2033:17;2029:27;2019:2;;2070:1;2067;2060:12;2019:2;2107:6;2094:20;2129:80;2144:64;2201:6;2144:64;:::i;2129:80::-;2120:89;;2226:5;2251:6;2244:5;2237:21;2281:4;2273:6;2269:17;2259:27;;2303:4;2298:3;2294:14;2287:21;;2356:6;2403:3;2395:4;2387:6;2383:17;2378:3;2374:27;2371:36;2368:2;;;2420:1;2417;2410:12;2368:2;2445:1;2430:206;2455:6;2452:1;2449:13;2430:206;;;2513:3;2535:37;2568:3;2556:10;2535:37;:::i;:::-;2523:50;;-1:-1;2596:4;2587:14;;;;2615;;;;;2477:1;2470:9;2430:206;;2650:128;2725:13;;2743:30;2725:13;2743:30;:::i;2799:336::-;;;2913:3;2906:4;2898:6;2894:17;2890:27;2880:2;;2931:1;2928;2921:12;2880:2;-1:-1;2951:20;;2991:18;2980:30;;2977:2;;;3023:1;3020;3013:12;2977:2;3057:4;3049:6;3045:17;3033:29;;3108:3;3100:4;3092:6;3088:17;3078:8;3074:32;3071:41;3068:2;;;3125:1;3122;3115:12;3068:2;2873:262;;;;;:::o;3144:440::-;;3245:3;3238:4;3230:6;3226:17;3222:27;3212:2;;3263:1;3260;3253:12;3212:2;3300:6;3287:20;3322:64;3337:48;3378:6;3337:48;:::i;3322:64::-;3313:73;;3406:6;3399:5;3392:21;3442:4;3434:6;3430:17;3475:4;3468:5;3464:16;3510:3;3501:6;3496:3;3492:16;3489:25;3486:2;;;3527:1;3524;3517:12;3486:2;3537:41;3571:6;3566:3;3561;3537:41;:::i;:::-;3205:379;;;;;;;:::o;3592:162::-;3675:20;;3700:49;3675:20;3700:49;:::i;3761:164::-;3854:13;;3872:48;3854:13;3872:48;:::i;3932:130::-;3999:20;;4024:33;3999:20;4024:33;:::i;4069:134::-;4147:13;;4165:33;4147:13;4165:33;:::i;4210:241::-;;4314:2;4302:9;4293:7;4289:23;4285:32;4282:2;;;4330:1;4327;4320:12;4282:2;4365:1;4382:53;4427:7;4407:9;4382:53;:::i;:::-;4372:63;4276:175;-1:-1;;;;4276:175::o;4458:263::-;;4573:2;4561:9;4552:7;4548:23;4544:32;4541:2;;;4589:1;4586;4579:12;4541:2;4624:1;4641:64;4697:7;4677:9;4641:64;:::i;4728:567::-;;;;4893:2;4881:9;4872:7;4868:23;4864:32;4861:2;;;4909:1;4906;4899:12;4861:2;4944:1;4961:72;5025:7;5005:9;4961:72;:::i;:::-;4951:82;;4923:116;5070:2;5088:72;5152:7;5143:6;5132:9;5128:22;5088:72;:::i;:::-;5078:82;;5049:117;5197:2;5215:64;5271:7;5262:6;5251:9;5247:22;5215:64;:::i;:::-;5205:74;;5176:109;4855:440;;;;;:::o;5302:366::-;;;5423:2;5411:9;5402:7;5398:23;5394:32;5391:2;;;5439:1;5436;5429:12;5391:2;5474:1;5491:53;5536:7;5516:9;5491:53;:::i;:::-;5481:63;;5453:97;5581:2;5599:53;5644:7;5635:6;5624:9;5620:22;5599:53;:::i;:::-;5589:63;;5560:98;5385:283;;;;;:::o;5675:490::-;;;;5815:2;5803:9;5794:7;5790:23;5786:32;5783:2;;;5831:1;5828;5821:12;5783:2;5866:1;5883:53;5928:7;5908:9;5883:53;:::i;:::-;5873:63;;5845:97;6001:2;5990:9;5986:18;5973:32;6025:18;6017:6;6014:30;6011:2;;;6057:1;6054;6047:12;6011:2;6085:64;6141:7;6132:6;6121:9;6117:22;6085:64;:::i;:::-;6067:82;;;;5952:203;5777:388;;;;;:::o;6172:647::-;;;;;6345:2;6333:9;6324:7;6320:23;6316:32;6313:2;;;6361:1;6358;6351:12;6313:2;6396:1;6413:53;6458:7;6438:9;6413:53;:::i;:::-;6403:63;;6375:97;6503:2;6521:69;6582:7;6573:6;6562:9;6558:22;6521:69;:::i;:::-;6511:79;;6482:114;6655:2;6644:9;6640:18;6627:32;6679:18;6671:6;6668:30;6665:2;;;6711:1;6708;6701:12;6665:2;6739:64;6795:7;6786:6;6775:9;6771:22;6739:64;:::i;:::-;6307:512;;;;-1:-1;6721:82;-1:-1;;;;6307:512::o;6826:656::-;;;7006:2;6994:9;6985:7;6981:23;6977:32;6974:2;;;7022:1;7019;7012:12;6974:2;7057:31;;7108:18;7097:30;;7094:2;;;7140:1;7137;7130:12;7094:2;7160:78;7230:7;7221:6;7210:9;7206:22;7160:78;:::i;:::-;7150:88;;7036:208;7303:2;7292:9;7288:18;7275:32;7327:18;7319:6;7316:30;7313:2;;;7359:1;7356;7349:12;7313:2;7379:87;7458:7;7449:6;7438:9;7434:22;7379:87;:::i;7489:257::-;;7601:2;7589:9;7580:7;7576:23;7572:32;7569:2;;;7617:1;7614;7607:12;7569:2;7652:1;7669:61;7722:7;7702:9;7669:61;:::i;7753:558::-;;;7925:2;7913:9;7904:7;7900:23;7896:32;7893:2;;;7941:1;7938;7931:12;7893:2;7976:1;7993:79;8064:7;8044:9;7993:79;:::i;:::-;7983:89;;7955:123;8130:2;8119:9;8115:18;8109:25;8154:18;8146:6;8143:30;8140:2;;;8186:1;8183;8176:12;8140:2;8206:89;8287:7;8278:6;8267:9;8263:22;8206:89;:::i;8318:263::-;;8433:2;8421:9;8412:7;8408:23;8404:32;8401:2;;;8449:1;8446;8439:12;8401:2;8484:1;8501:64;8557:7;8537:9;8501:64;:::i;8589:173::-;;8676:46;8718:3;8710:6;8676:46;:::i;:::-;-1:-1;;8751:4;8742:14;;8669:93::o;8771:201::-;;8872:60;8928:3;8920:6;8872:60;:::i;8981:173::-;;9068:46;9110:3;9102:6;9068:46;:::i;9162:103::-;9235:24;9253:5;9235:24;:::i;:::-;9230:3;9223:37;9217:48;;:::o;9423:690::-;;9568:54;9616:5;9568:54;:::i;:::-;9635:86;9714:6;9709:3;9635:86;:::i;:::-;9628:93;;9742:56;9792:5;9742:56;:::i;:::-;9818:7;9846:1;9831:260;9856:6;9853:1;9850:13;9831:260;;;9923:6;9917:13;9944:63;10003:3;9988:13;9944:63;:::i;:::-;9937:70;;10024:60;10077:6;10024:60;:::i;:::-;10014:70;-1:-1;;9878:1;9871:9;9831:260;;;-1:-1;10104:3;;9547:566;-1:-1;;;;;9547:566::o;10173:764::-;;10332:70;10396:5;10332:70;:::i;:::-;10415:84;10492:6;10487:3;10415:84;:::i;:::-;10408:91;;10520:72;10586:5;10520:72;:::i;:::-;10612:7;10640:1;10625:290;10650:6;10647:1;10644:13;10625:290;;;10717:6;10711:13;10738:77;10811:3;10796:13;10738:77;:::i;:::-;10731:84;;10832:76;10901:6;10832:76;:::i;:::-;10822:86;-1:-1;;10672:1;10665:9;10625:290;;10976:690;;11121:54;11169:5;11121:54;:::i;:::-;11188:86;11267:6;11262:3;11188:86;:::i;:::-;11181:93;;11295:56;11345:5;11295:56;:::i;:::-;11371:7;11399:1;11384:260;11409:6;11406:1;11403:13;11384:260;;;11476:6;11470:13;11497:63;11556:3;11541:13;11497:63;:::i;:::-;11490:70;;11577:60;11630:6;11577:60;:::i;:::-;11567:70;-1:-1;;11431:1;11424:9;11384:260;;11674:104;11751:21;11766:5;11751:21;:::i;11785:144::-;11872:51;11917:5;11872:51;:::i;11936:152::-;12032:50;12076:5;12032:50;:::i;12095:347::-;;12207:39;12240:5;12207:39;:::i;:::-;12258:71;12322:6;12317:3;12258:71;:::i;:::-;12251:78;;12334:52;12379:6;12374:3;12367:4;12360:5;12356:16;12334:52;:::i;:::-;12407:29;12429:6;12407:29;:::i;:::-;12398:39;;;;12187:255;-1:-1;;;12187:255::o;12450:378::-;;12610:67;12674:2;12669:3;12610:67;:::i;:::-;12710:34;12690:55;;-1:-1;;;12774:2;12765:12;;12758:33;12819:2;12810:12;;12596:232;-1:-1;;12596:232::o;12837:377::-;;12997:67;13061:2;13056:3;12997:67;:::i;:::-;13097:34;13077:55;;-1:-1;;;13161:2;13152:12;;13145:32;13205:2;13196:12;;12983:231;-1:-1;;12983:231::o;13222:103::-;13295:24;13313:5;13295:24;:::i;13332:222::-;13459:2;13444:18;;13473:71;13448:9;13517:6;13473:71;:::i;13561:618::-;13807:2;13792:18;;13821:71;13796:9;13865:6;13821:71;:::i;:::-;13903:85;13984:2;13973:9;13969:18;13960:6;13903:85;:::i;:::-;14036:9;14030:4;14026:20;14021:2;14010:9;14006:18;13999:48;14061:108;14164:4;14155:6;14061:108;:::i;14186:398::-;14377:2;14391:47;;;14362:18;;14452:122;14362:18;14560:6;14452:122;:::i;14591:370::-;14768:2;14782:47;;;14753:18;;14843:108;14753:18;14937:6;14843:108;:::i;14968:481::-;15173:2;15187:47;;;15158:18;;15248:108;15158:18;15342:6;15248:108;:::i;:::-;15240:116;;15367:72;15435:2;15424:9;15420:18;15411:6;15367:72;:::i;:::-;15144:305;;;;;:::o;15456:210::-;15577:2;15562:18;;15591:65;15566:9;15629:6;15591:65;:::i;15673:310::-;15820:2;15834:47;;;15805:18;;15895:78;15805:18;15959:6;15895:78;:::i;15990:416::-;16190:2;16204:47;;;16175:18;;16265:131;16175:18;16265:131;:::i;16413:416::-;16613:2;16627:47;;;16598:18;;16688:131;16598:18;16688:131;:::i;16836:256::-;16898:2;16892:9;16924:17;;;16999:18;16984:34;;17020:22;;;16981:62;16978:2;;;17056:1;17053;17046:12;16978:2;17072;17065:22;16876:216;;-1:-1;16876:216::o;17099:304::-;;17258:18;17250:6;17247:30;17244:2;;;17290:1;17287;17280:12;17244:2;-1:-1;17325:4;17313:17;;;17378:15;;17181:222::o;18041:321::-;;18184:18;18176:6;18173:30;18170:2;;;18216:1;18213;18206:12;18170:2;-1:-1;18347:4;18283;18260:17;;;;-1:-1;;18256:33;18337:15;;18107:255::o;18369:151::-;18493:4;18484:14;;18441:79::o;18859:137::-;18962:12;;18933:63::o;19798:178::-;19916:19;;;19965:4;19956:14;;19909:67::o;20528:91::-;;20590:24;20608:5;20590:24;:::i;20732:85::-;20798:13;20791:21;;20774:43::o;20824:138::-;20902:5;20908:49;20902:5;20908:49;:::i;20969:136::-;21046:5;21052:48;21046:5;21052:48;:::i;21112:121::-;-1:-1;;;;;21174:54;;21157:76::o;21240:72::-;21302:5;21285:27::o;21319:138::-;;21412:40;21446:5;21412:40;:::i;21464:136::-;;21556:39;21589:5;21556:39;:::i;21608:145::-;21689:6;21684:3;21679;21666:30;-1:-1;21745:1;21727:16;;21720:27;21659:94::o;21762:268::-;21827:1;21834:101;21848:6;21845:1;21842:13;21834:101;;;21915:11;;;21909:18;21896:11;;;21889:39;21870:2;21863:10;21834:101;;;21950:6;21947:1;21944:13;21941:2;;;22015:1;22006:6;22001:3;21997:16;21990:27;21941:2;21811:219;;;;:::o;22038:97::-;22126:2;22106:14;-1:-1;;22102:28;;22086:49::o;22143:108::-;22228:2;22221:5;22218:13;22208:2;;22235:9;22258:106;22342:1;22335:5;22332:12;22322:2;;22348:9;22371:117;22440:24;22458:5;22440:24;:::i;:::-;22433:5;22430:35;22420:2;;22479:1;22476;22469:12;22635:111;22701:21;22716:5;22701:21;:::i;22753:111::-;22838:2;22831:5;22828:13;22818:2;;22855:1;22852;22845:12;22871:109;22955:1;22948:5;22945:12;22935:2;;22971:1;22968;22961:12;22987:117;23056:24;23074:5;23056:24;:::i", - "linkReferences": {}, - "immutableReferences": { - "59555": [ - { - "start": 579, - "length": 32 - } - ], - "59893": [ - { - "start": 396, - "length": 32 - }, - { - "start": 889, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "activateForFund(address)": "ceb9a0ad", - "addFundSettings(address,bytes)": "0f5f6b4f", - "canDisable()": "1ef92578", - "getAddressListRegistry()": "74708934", - "getListIdsForFund(address)": "dffd7c6f", - "getPolicyManager()": "d44ad6cb", - "identifier()": "7998a1c4", - "implementedHooks()": "cbf54bb2", - "passesRule(address,address)": "b67cb40c", - "updateFundSettings(address,bytes)": "0d4d7510", - "validateRule(address,uint8,bytes)": "579be718" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_policyManager\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_addressListRegistry\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"listIds\",\"type\":\"uint256[]\"}],\"name\":\"ListsSetForFund\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"activateForFund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_encodedSettings\",\"type\":\"bytes\"}],\"name\":\"addFundSettings\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"canDisable\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"canDisable_\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAddressListRegistry\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"addressListRegistry_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"}],\"name\":\"getListIdsForFund\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"listIds_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPolicyManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"policyManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"identifier\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"identifier_\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"implementedHooks\",\"outputs\":[{\"internalType\":\"enum IPolicyManager.PolicyHook[]\",\"name\":\"implementedHooks_\",\"type\":\"uint8[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_recipient\",\"type\":\"address\"}],\"name\":\"passesRule\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isValid_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_encodedSettings\",\"type\":\"bytes\"}],\"name\":\"updateFundSettings\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"enum IPolicyManager.PolicyHook\",\"name\":\"\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"_encodedArgs\",\"type\":\"bytes\"}],\"name\":\"validateRule\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isValid_\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"activateForFund(address)\":{\"details\":\"Unimplemented by default, can be overridden by the policy\"},\"addFundSettings(address,bytes)\":{\"params\":{\"_comptrollerProxy\":\"The fund's ComptrollerProxy address\",\"_encodedSettings\":\"Encoded settings to apply to a fund\"}},\"canDisable()\":{\"returns\":{\"canDisable_\":\"True if the policy can be disabled\"}},\"getAddressListRegistry()\":{\"returns\":{\"addressListRegistry_\":\"The `ADDRESS_LIST_REGISTRY` variable value\"}},\"getListIdsForFund(address)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\"},\"returns\":{\"listIds_\":\"The list ids\"}},\"getPolicyManager()\":{\"returns\":{\"policyManager_\":\"The `POLICY_MANAGER` variable value\"}},\"identifier()\":{\"returns\":{\"identifier_\":\"The identifer string\"}},\"implementedHooks()\":{\"returns\":{\"implementedHooks_\":\"The implemented PolicyHooks\"}},\"passesRule(address,address)\":{\"params\":{\"_comptrollerProxy\":\"The fund's ComptrollerProxy address\",\"_recipient\":\"The recipient of shares from the transfer\"},\"returns\":{\"isValid_\":\"True if the rule passes\"}},\"updateFundSettings(address,bytes)\":{\"details\":\"Used to assign a new list (not update items in that list)\",\"params\":{\"_comptrollerProxy\":\"The fund's ComptrollerProxy address\",\"_encodedSettings\":\"Encoded settings to apply to a fund\"}},\"validateRule(address,uint8,bytes)\":{\"details\":\"onlyPolicyManager validation not necessary, as state is not updated and no events are fired\",\"params\":{\"_comptrollerProxy\":\"The fund's ComptrollerProxy address\",\"_encodedArgs\":\"Encoded args with which to validate the rule\"},\"returns\":{\"isValid_\":\"True if the rule passes\"}}},\"title\":\"AllowedSharesTransferRecipientsPolicy Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"activateForFund(address)\":{\"notice\":\"Validates and initializes a policy as necessary prior to fund activation\"},\"addFundSettings(address,bytes)\":{\"notice\":\"Adds the initial policy settings for a fund\"},\"canDisable()\":{\"notice\":\"Whether or not the policy can be disabled\"},\"getAddressListRegistry()\":{\"notice\":\"Gets the `ADDRESS_LIST_REGISTRY` variable value\"},\"getListIdsForFund(address)\":{\"notice\":\"Gets the list ids used by a given fund\"},\"getPolicyManager()\":{\"notice\":\"Gets the `POLICY_MANAGER` variable value\"},\"identifier()\":{\"notice\":\"Provides a constant string identifier for a policy\"},\"implementedHooks()\":{\"notice\":\"Gets the implemented PolicyHooks for a policy\"},\"passesRule(address,address)\":{\"notice\":\"Checks whether a particular condition passes the rule for a particular fund\"},\"updateFundSettings(address,bytes)\":{\"notice\":\"Updates the policy settings for a fund\"},\"validateRule(address,uint8,bytes)\":{\"notice\":\"Apply the rule with the specified parameters of a PolicyHook\"}},\"notice\":\"A policy that limits the accounts that can receive shares via transfer\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/policy-manager/policies/new-shareholders/AllowedSharesTransferRecipientsPolicy.sol\":\"AllowedSharesTransferRecipientsPolicy\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/address-list-registry/AddressListRegistry.sol\":{\"keccak256\":\"0xf00a9e376e3ec2a223f463f71c15ee3af3642dd028bc3762440e316b760c8048\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://01986c9327b5dfbfac21316dced6d68727931ddde1278ed1342d878004f984b9\",\"dweb:/ipfs/QmdXkFaUU43JqMTYEREbWa129rohdqN7GXy7mVRpjCfSLD\"]},\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/persistent/vault/interfaces/IExternalPositionVault.sol\":{\"keccak256\":\"0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d\",\"dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8\"]},\"contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol\":{\"keccak256\":\"0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb\",\"dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU\"]},\"contracts/persistent/vault/interfaces/IMigratableVault.sol\":{\"keccak256\":\"0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6\",\"dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs\"]},\"contracts/persistent/vault/interfaces/IVaultCore.sol\":{\"keccak256\":\"0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd\",\"dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr\"]},\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/core/fund/comptroller/ComptrollerLib.sol\":{\"keccak256\":\"0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579\",\"dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq\"]},\"contracts/release/core/fund/comptroller/IComptroller.sol\":{\"keccak256\":\"0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97\",\"dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L\"]},\"contracts/release/core/fund/vault/IVault.sol\":{\"keccak256\":\"0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599\",\"dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG\"]},\"contracts/release/extensions/IExtension.sol\":{\"keccak256\":\"0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70\",\"dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t\"]},\"contracts/release/extensions/fee-manager/IFeeManager.sol\":{\"keccak256\":\"0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22\",\"dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod\"]},\"contracts/release/extensions/policy-manager/IPolicy.sol\":{\"keccak256\":\"0xc12663ca72065b256c3b934ab738fde26c147c7b0399de43650df89dd52ee467\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://be8fecfcba0f3fda615f0a1bb3c766750c23761ef751d7c4472dfe540e460cd1\",\"dweb:/ipfs/QmaarPoRTsX6NiJ8V4u2f3Qh6d7tUs28bw9R14An3t5Bs1\"]},\"contracts/release/extensions/policy-manager/IPolicyManager.sol\":{\"keccak256\":\"0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa\",\"dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb\"]},\"contracts/release/extensions/policy-manager/policies/new-shareholders/AllowedSharesTransferRecipientsPolicy.sol\":{\"keccak256\":\"0xbc53bf9efc40861564aef9f0f7ae17c2dff6a9bb564ce061a7d2f06aa57d17e1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c402ba17f0081617b975cd5aadc096c52da72ca7a3ce463adf1e888fd6e6538e\",\"dweb:/ipfs/QmTmbN86eFVMPALpijgiuhfZqHTPio6XENJDZhFbfMf9hA\"]},\"contracts/release/extensions/policy-manager/policies/utils/AddressListRegistryPolicyBase.sol\":{\"keccak256\":\"0x3fdcf3e45c9d6b9cf5221aeb95858060dfc18abf744f664b5ce9bf2f0a6a7bdc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://48b3ed06e509a45f122112129bf3d221ae30afad87722a123f7405a4a24e6645\",\"dweb:/ipfs/QmSA3cJB7C6x6BasicDpzwnHuxFkL6k8hR5fDRD42BWsGc\"]},\"contracts/release/extensions/policy-manager/policies/utils/PolicyBase.sol\":{\"keccak256\":\"0x972311abb98f0da815b4aca83d5afdd219d3604ec19cf5e3773c0c305bd9b3f1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2452f3d1f3b1d8e8459a07489146a2d0d8a10463715937995cbe77ee5de8c069\",\"dweb:/ipfs/Qmf2hhd2DVbjpxmbNGAhRZNZkqpGZA2mX3eA1WNwtv6t5Y\"]},\"contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol\":{\"keccak256\":\"0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f\",\"dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol\":{\"keccak256\":\"0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0\",\"dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol\":{\"keccak256\":\"0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b\",\"dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3\"]},\"contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol\":{\"keccak256\":\"0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965\",\"dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ\"]},\"contracts/release/interfaces/IGsnForwarder.sol\":{\"keccak256\":\"0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29\",\"dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G\"]},\"contracts/release/interfaces/IGsnPaymaster.sol\":{\"keccak256\":\"0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4\",\"dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF\"]},\"contracts/release/interfaces/IGsnTypes.sol\":{\"keccak256\":\"0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7\",\"dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/beacon-proxy/IBeacon.sol\":{\"keccak256\":\"0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39\",\"dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V\"]},\"contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol\":{\"keccak256\":\"0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be\",\"dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_policyManager", - "type": "address" - }, - { - "internalType": "address", - "name": "_addressListRegistry", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "comptrollerProxy", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256[]", - "name": "listIds", - "type": "uint256[]", - "indexed": false - } - ], - "type": "event", - "name": "ListsSetForFund", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "activateForFund" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_encodedSettings", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "addFundSettings" - }, - { - "inputs": [], - "stateMutability": "pure", - "type": "function", - "name": "canDisable", - "outputs": [ - { - "internalType": "bool", - "name": "canDisable_", - "type": "bool" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getAddressListRegistry", - "outputs": [ - { - "internalType": "address", - "name": "addressListRegistry_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getListIdsForFund", - "outputs": [ - { - "internalType": "uint256[]", - "name": "listIds_", - "type": "uint256[]" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getPolicyManager", - "outputs": [ - { - "internalType": "address", - "name": "policyManager_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "pure", - "type": "function", - "name": "identifier", - "outputs": [ - { - "internalType": "string", - "name": "identifier_", - "type": "string" - } - ] - }, - { - "inputs": [], - "stateMutability": "pure", - "type": "function", - "name": "implementedHooks", - "outputs": [ - { - "internalType": "enum IPolicyManager.PolicyHook[]", - "name": "implementedHooks_", - "type": "uint8[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_recipient", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "passesRule", - "outputs": [ - { - "internalType": "bool", - "name": "isValid_", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_encodedSettings", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "updateFundSettings" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "enum IPolicyManager.PolicyHook", - "name": "", - "type": "uint8" - }, - { - "internalType": "bytes", - "name": "_encodedArgs", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "validateRule", - "outputs": [ - { - "internalType": "bool", - "name": "isValid_", - "type": "bool" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "activateForFund(address)": { - "details": "Unimplemented by default, can be overridden by the policy" - }, - "addFundSettings(address,bytes)": { - "params": { - "_comptrollerProxy": "The fund's ComptrollerProxy address", - "_encodedSettings": "Encoded settings to apply to a fund" - } - }, - "canDisable()": { - "returns": { - "canDisable_": "True if the policy can be disabled" - } - }, - "getAddressListRegistry()": { - "returns": { - "addressListRegistry_": "The `ADDRESS_LIST_REGISTRY` variable value" - } - }, - "getListIdsForFund(address)": { - "params": { - "_comptrollerProxy": "The ComptrollerProxy of the fund" - }, - "returns": { - "listIds_": "The list ids" - } - }, - "getPolicyManager()": { - "returns": { - "policyManager_": "The `POLICY_MANAGER` variable value" - } - }, - "identifier()": { - "returns": { - "identifier_": "The identifer string" - } - }, - "implementedHooks()": { - "returns": { - "implementedHooks_": "The implemented PolicyHooks" - } - }, - "passesRule(address,address)": { - "params": { - "_comptrollerProxy": "The fund's ComptrollerProxy address", - "_recipient": "The recipient of shares from the transfer" - }, - "returns": { - "isValid_": "True if the rule passes" - } - }, - "updateFundSettings(address,bytes)": { - "details": "Used to assign a new list (not update items in that list)", - "params": { - "_comptrollerProxy": "The fund's ComptrollerProxy address", - "_encodedSettings": "Encoded settings to apply to a fund" - } - }, - "validateRule(address,uint8,bytes)": { - "details": "onlyPolicyManager validation not necessary, as state is not updated and no events are fired", - "params": { - "_comptrollerProxy": "The fund's ComptrollerProxy address", - "_encodedArgs": "Encoded args with which to validate the rule" - }, - "returns": { - "isValid_": "True if the rule passes" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "activateForFund(address)": { - "notice": "Validates and initializes a policy as necessary prior to fund activation" - }, - "addFundSettings(address,bytes)": { - "notice": "Adds the initial policy settings for a fund" - }, - "canDisable()": { - "notice": "Whether or not the policy can be disabled" - }, - "getAddressListRegistry()": { - "notice": "Gets the `ADDRESS_LIST_REGISTRY` variable value" - }, - "getListIdsForFund(address)": { - "notice": "Gets the list ids used by a given fund" - }, - "getPolicyManager()": { - "notice": "Gets the `POLICY_MANAGER` variable value" - }, - "identifier()": { - "notice": "Provides a constant string identifier for a policy" - }, - "implementedHooks()": { - "notice": "Gets the implemented PolicyHooks for a policy" - }, - "passesRule(address,address)": { - "notice": "Checks whether a particular condition passes the rule for a particular fund" - }, - "updateFundSettings(address,bytes)": { - "notice": "Updates the policy settings for a fund" - }, - "validateRule(address,uint8,bytes)": { - "notice": "Apply the rule with the specified parameters of a PolicyHook" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/policy-manager/policies/new-shareholders/AllowedSharesTransferRecipientsPolicy.sol": "AllowedSharesTransferRecipientsPolicy" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/address-list-registry/AddressListRegistry.sol": { - "keccak256": "0xf00a9e376e3ec2a223f463f71c15ee3af3642dd028bc3762440e316b760c8048", - "urls": [ - "bzz-raw://01986c9327b5dfbfac21316dced6d68727931ddde1278ed1342d878004f984b9", - "dweb:/ipfs/QmdXkFaUU43JqMTYEREbWa129rohdqN7GXy7mVRpjCfSLD" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/dispatcher/IDispatcher.sol": { - "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", - "urls": [ - "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", - "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/external-positions/IExternalPosition.sol": { - "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", - "urls": [ - "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", - "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IExternalPositionVault.sol": { - "keccak256": "0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6", - "urls": [ - "bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d", - "dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol": { - "keccak256": "0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0", - "urls": [ - "bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb", - "dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IMigratableVault.sol": { - "keccak256": "0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238", - "urls": [ - "bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6", - "dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IVaultCore.sol": { - "keccak256": "0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80", - "urls": [ - "bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd", - "dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund-deployer/IFundDeployer.sol": { - "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", - "urls": [ - "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", - "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/comptroller/ComptrollerLib.sol": { - "keccak256": "0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64", - "urls": [ - "bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579", - "dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/comptroller/IComptroller.sol": { - "keccak256": "0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f", - "urls": [ - "bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97", - "dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/vault/IVault.sol": { - "keccak256": "0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd", - "urls": [ - "bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599", - "dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/IExtension.sol": { - "keccak256": "0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b", - "urls": [ - "bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70", - "dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/fee-manager/IFeeManager.sol": { - "keccak256": "0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51", - "urls": [ - "bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22", - "dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/policy-manager/IPolicy.sol": { - "keccak256": "0xc12663ca72065b256c3b934ab738fde26c147c7b0399de43650df89dd52ee467", - "urls": [ - "bzz-raw://be8fecfcba0f3fda615f0a1bb3c766750c23761ef751d7c4472dfe540e460cd1", - "dweb:/ipfs/QmaarPoRTsX6NiJ8V4u2f3Qh6d7tUs28bw9R14An3t5Bs1" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/policy-manager/IPolicyManager.sol": { - "keccak256": "0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32", - "urls": [ - "bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa", - "dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/policy-manager/policies/new-shareholders/AllowedSharesTransferRecipientsPolicy.sol": { - "keccak256": "0xbc53bf9efc40861564aef9f0f7ae17c2dff6a9bb564ce061a7d2f06aa57d17e1", - "urls": [ - "bzz-raw://c402ba17f0081617b975cd5aadc096c52da72ca7a3ce463adf1e888fd6e6538e", - "dweb:/ipfs/QmTmbN86eFVMPALpijgiuhfZqHTPio6XENJDZhFbfMf9hA" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/policy-manager/policies/utils/AddressListRegistryPolicyBase.sol": { - "keccak256": "0x3fdcf3e45c9d6b9cf5221aeb95858060dfc18abf744f664b5ce9bf2f0a6a7bdc", - "urls": [ - "bzz-raw://48b3ed06e509a45f122112129bf3d221ae30afad87722a123f7405a4a24e6645", - "dweb:/ipfs/QmSA3cJB7C6x6BasicDpzwnHuxFkL6k8hR5fDRD42BWsGc" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/policy-manager/policies/utils/PolicyBase.sol": { - "keccak256": "0x972311abb98f0da815b4aca83d5afdd219d3604ec19cf5e3773c0c305bd9b3f1", - "urls": [ - "bzz-raw://2452f3d1f3b1d8e8459a07489146a2d0d8a10463715937995cbe77ee5de8c069", - "dweb:/ipfs/Qmf2hhd2DVbjpxmbNGAhRZNZkqpGZA2mX3eA1WNwtv6t5Y" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol": { - "keccak256": "0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609", - "urls": [ - "bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f", - "dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol": { - "keccak256": "0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01", - "urls": [ - "bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0", - "dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol": { - "keccak256": "0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196", - "urls": [ - "bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b", - "dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol": { - "keccak256": "0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794", - "urls": [ - "bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965", - "dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IGsnForwarder.sol": { - "keccak256": "0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030", - "urls": [ - "bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29", - "dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IGsnPaymaster.sol": { - "keccak256": "0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c", - "urls": [ - "bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4", - "dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IGsnTypes.sol": { - "keccak256": "0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714", - "urls": [ - "bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7", - "dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AddressArrayLib.sol": { - "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", - "urls": [ - "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", - "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/beacon-proxy/IBeacon.sol": { - "keccak256": "0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2", - "urls": [ - "bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39", - "dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol": { - "keccak256": "0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc", - "urls": [ - "bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be", - "dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { - "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", - "urls": [ - "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", - "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Address.sol": { - "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", - "urls": [ - "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", - "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 218 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_policyManager", "type": "address", "internalType": "address" }, { "name": "_addressListRegistry", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "activateForFund", "inputs": [ { "name": "", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "addFundSettings", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" }, { "name": "_encodedSettings", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "canDisable", "inputs": [], "outputs": [ { "name": "canDisable_", "type": "bool", "internalType": "bool" } ], "stateMutability": "pure" }, { "type": "function", "name": "getAddressListRegistry", "inputs": [], "outputs": [ { "name": "addressListRegistry_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getListIdsForFund", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "listIds_", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "view" }, { "type": "function", "name": "getPolicyManager", "inputs": [], "outputs": [ { "name": "policyManager_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "identifier", "inputs": [], "outputs": [ { "name": "identifier_", "type": "string", "internalType": "string" } ], "stateMutability": "pure" }, { "type": "function", "name": "implementedHooks", "inputs": [], "outputs": [ { "name": "implementedHooks_", "type": "uint8[]", "internalType": "enum IPolicyManager.PolicyHook[]" } ], "stateMutability": "pure" }, { "type": "function", "name": "passesRule", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" }, { "name": "_recipient", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "isValid_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "updateFundSettings", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" }, { "name": "_encodedSettings", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "validateRule", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" }, { "name": "", "type": "uint8", "internalType": "enum IPolicyManager.PolicyHook" }, { "name": "_encodedArgs", "type": "bytes", "internalType": "bytes" } ], "outputs": [ { "name": "isValid_", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "event", "name": "ListsSetForFund", "inputs": [ { "name": "comptrollerProxy", "type": "address", "indexed": true, "internalType": "address" }, { "name": "listIds", "type": "uint256[]", "indexed": false, "internalType": "uint256[]" } ], "anonymous": false } ], "bytecode": { "object": "0x60c06040523480156200001157600080fd5b50604051620011fc380380620011fc833981016040819052620000349162000066565b6001600160601b0319606092831b8116608052911b1660a052620000d1565b80516200006081620000b7565b92915050565b600080604083850312156200007a57600080fd5b600062000088858562000053565b92505060206200009b8582860162000053565b9150509250929050565b60006001600160a01b03821662000060565b620000c281620000a5565b8114620000ce57600080fd5b50565b60805160601c60a05160601c6110fc620001006000398061024352508061018c528061037952506110fc6000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c80637998a1c4116100715780637998a1c414610109578063b67cb40c1461011e578063cbf54bb214610131578063ceb9a0ad14610146578063d44ad6cb14610159578063dffd7c6f14610161576100a9565b80630d4d7510146100ae5780630f5f6b4f146100ae5780631ef92578146100c3578063579be718146100e157806374708934146100f4575b600080fd5b6100c16100bc366004610ae2565b610181565b005b6100cb6101e2565b6040516100d89190610f28565b60405180910390f35b6100cb6100ef366004610b38565b6101e7565b6100fc610241565b6040516100d89190610ea4565b610111610265565b6040516100d89190610f36565b6100cb61012c366004610aa8565b610285565b61013961031d565b6040516100d89190610edf565b6100c1610154366004610a17565b610374565b6100fc610377565b61017461016f366004610a17565b61039b565b6040516100d89190610ef0565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146101d25760405162461bcd60e51b81526004016101c990610f47565b60405180910390fd5b6101dd838383610406565b505050565b600190565b60008061022984848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506106c992505050565b509150506102378682610285565b9695505050505050565b7f000000000000000000000000000000000000000000000000000000000000000090565b60606040518060600160405280602281526020016110ce60229139905090565b600061028f610241565b6001600160a01b03166375674f466102a68561039b565b846040518363ffffffff1660e01b81526004016102c4929190610f01565b60206040518083038186803b1580156102dc57600080fd5b505afa1580156102f0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103149190610bff565b90505b92915050565b6040805160018082528183019092526060916020808301908036833701905050905060028160008151811061034e57fe5b6020026020010190600981111561036157fe5b9081600981111561036e57fe5b90525090565b50565b7f000000000000000000000000000000000000000000000000000000000000000090565b6001600160a01b038116600090815260208181526040918290208054835181840281018401909452808452606093928301828280156103f957602002820191906000526020600020905b8154815260200190600101908083116103e5575b505050505090505b919050565b60608061041583850185610ba0565b915091506060815183510167ffffffffffffffff8111801561043657600080fd5b50604051908082528060200260200182016040528015610460578160200160208202803683370190505b5090508051600014156104855760405162461bcd60e51b81526004016101c990610f57565b6001600160a01b038616600090815260208190526040902054156104c4576001600160a01b03861660009081526020819052604081206104c4916107b4565b60005b8351811015610557578381815181106104dc57fe5b60200260200101518282815181106104f057fe5b602002602001018181525050600080886001600160a01b03166001600160a01b0316815260200190815260200160002084828151811061052c57fe5b60209081029190910181015182546001818101855560009485529290932090920191909155016104c7565b50815115610680576000866001600160a01b031663c98091876040518163ffffffff1660e01b815260040160206040518083038186803b15801561059a57600080fd5b505afa1580156105ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105d29190610a3d565b905060005b835181101561067d576000818651019050610605838684815181106105f857fe5b60200260200101516106ef565b84828151811061061157fe5b6020026020010181815250506000808a6001600160a01b03166001600160a01b0316815260200190815260200160002084828151811061064d57fe5b602090810291909101810151825460018181018555600094855292909320909201919091559190910190506105d7565b50505b856001600160a01b03167fd63f5b55f54cdda3234eab3aa26d85b99854a43efea66e0c459220fd7b3a332f826040516106b99190610ef0565b60405180910390a2505050505050565b6000806000838060200190518101906106e29190610a5b565b9250925092509193909250565b60008060606106fd84610793565b91509150610709610241565b6001600160a01b031663be68406e8684846040518463ffffffff1660e01b815260040161073893929190610eb2565b602060405180830381600087803b15801561075257600080fd5b505af1158015610766573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061078a9190610c65565b95945050505050565b60006060828060200190518101906107ab9190610c1d565b91509150915091565b508054600082559060005260206000209081019061037491905b808211156107e257600081556001016107ce565b5090565b80356103178161108d565b80516103178161108d565b600082601f83011261080d57600080fd5b815161082061081b82610f8e565b610f67565b9150818183526020840193506020810190508385602084028201111561084557600080fd5b60005b83811015610871578161085b88826107f1565b8452506020928301929190910190600101610848565b5050505092915050565b600082601f83011261088c57600080fd5b813561089a61081b82610f8e565b81815260209384019390925082018360005b8381101561087157813586016108c2888261099c565b84525060209283019291909101906001016108ac565b600082601f8301126108e957600080fd5b81356108f761081b82610f8e565b9150818183526020840193506020810190508385602084028201111561091c57600080fd5b60005b8381101561087157816109328882610a01565b845250602092830192919091019060010161091f565b8051610317816110a1565b60008083601f84011261096557600080fd5b50813567ffffffffffffffff81111561097d57600080fd5b60208301915083600182028301111561099557600080fd5b9250929050565b600082601f8301126109ad57600080fd5b81356109bb61081b82610faf565b915080825260208301602083018583830111156109d757600080fd5b6109e2838284611033565b50505092915050565b8035610317816110aa565b8051610317816110b7565b8035610317816110c4565b8051610317816110c4565b600060208284031215610a2957600080fd5b6000610a3584846107e6565b949350505050565b600060208284031215610a4f57600080fd5b6000610a3584846107f1565b600080600060608486031215610a7057600080fd5b6000610a7c86866107f1565b9350506020610a8d868287016107f1565b9250506040610a9e86828701610a0c565b9150509250925092565b60008060408385031215610abb57600080fd5b6000610ac785856107e6565b9250506020610ad8858286016107e6565b9150509250929050565b600080600060408486031215610af757600080fd5b6000610b0386866107e6565b935050602084013567ffffffffffffffff811115610b2057600080fd5b610b2c86828701610953565b92509250509250925092565b60008060008060608587031215610b4e57600080fd5b6000610b5a87876107e6565b9450506020610b6b878288016109eb565b935050604085013567ffffffffffffffff811115610b8857600080fd5b610b9487828801610953565b95989497509550505050565b60008060408385031215610bb357600080fd5b823567ffffffffffffffff811115610bca57600080fd5b610bd6858286016108d8565b925050602083013567ffffffffffffffff811115610bf357600080fd5b610ad88582860161087b565b600060208284031215610c1157600080fd5b6000610a358484610948565b60008060408385031215610c3057600080fd5b6000610c3c85856109f6565b925050602083015167ffffffffffffffff811115610c5957600080fd5b610ad8858286016107fc565b600060208284031215610c7757600080fd5b6000610a358484610a0c565b6000610c8f8383610caf565b505060200190565b6000610c8f8383610dbc565b6000610c8f8383610e9b565b610cb881610fea565b82525050565b6000610cc982610fdd565b610cd38185610fe1565b9350610cde83610fd7565b8060005b83811015610d0c578151610cf68882610c83565b9750610d0183610fd7565b925050600101610ce2565b509495945050505050565b6000610d2282610fdd565b610d2c8185610fe1565b9350610d3783610fd7565b8060005b83811015610d0c578151610d4f8882610c97565b9750610d5a83610fd7565b925050600101610d3b565b6000610d7082610fdd565b610d7a8185610fe1565b9350610d8583610fd7565b8060005b83811015610d0c578151610d9d8882610ca3565b9750610da883610fd7565b925050600101610d89565b610cb881610ff5565b610cb88161101d565b610cb881611028565b6000610dd982610fdd565b610de38185610fe1565b9350610df381856020860161103f565b610dfc8161106f565b9093019392505050565b6000610e13602983610fe1565b7f4f6e6c792074686520506f6c6963794d616e616765722063616e206d616b65208152681d1a1a5cc818d85b1b60ba1b602082015260400192915050565b6000610e5e602883610fe1565b7f5f5f7570646174654c69737473466f7246756e643a204e6f206c6973747320738152671c1958da599a595960c21b602082015260400192915050565b610cb88161101a565b602081016103178284610caf565b60608101610ec08286610caf565b610ecd6020830185610dc5565b818103604083015261078a8184610cbe565b602080825281016103148184610d17565b602080825281016103148184610d65565b60408082528101610f128185610d65565b9050610f216020830184610caf565b9392505050565b602081016103178284610db3565b602080825281016103148184610dce565b6020808252810161031781610e06565b6020808252810161031781610e51565b60405181810167ffffffffffffffff81118282101715610f8657600080fd5b604052919050565b600067ffffffffffffffff821115610fa557600080fd5b5060209081020190565b600067ffffffffffffffff821115610fc657600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b60006103178261100e565b151590565b8061040181611079565b8061040181611083565b6001600160a01b031690565b90565b600061031782610ffa565b600061031782611004565b82818337506000910152565b60005b8381101561105a578181015183820152602001611042565b83811115611069576000848401525b50505050565b601f01601f191690565b600a811061037457fe5b6004811061037457fe5b61109681610fea565b811461037457600080fd5b61109681610ff5565b600a811061037457600080fd5b6004811061037457600080fd5b6110968161101a56fe414c4c4f5745445f5348415245535f5452414e534645525f524543495049454e5453a164736f6c634300060c000a", "sourceMap": "562:3076:218:-:0;;;648:163;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;737:31:223;;;;;;;;1052:44:221;;;::::1;::::0;562:3076:218;;5:134:-1;83:13;;101:33;83:13;101:33;:::i;:::-;68:71;;;;:::o;146:399::-;;;278:2;266:9;257:7;253:23;249:32;246:2;;;294:1;291;284:12;246:2;329:1;346:64;402:7;382:9;346:64;:::i;:::-;336:74;;308:108;447:2;465:64;521:7;512:6;501:9;497:22;465:64;:::i;:::-;455:74;;426:109;240:305;;;;;:::o;552:91::-;;-1:-1;;;;;712:54;;614:24;695:76::o;778:117::-;847:24;865:5;847:24;:::i;:::-;840:5;837:35;827:2;;886:1;883;876:12;827:2;821:74;:::o;:::-;562:3076:218;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106100a95760003560e01c80637998a1c4116100715780637998a1c414610109578063b67cb40c1461011e578063cbf54bb214610131578063ceb9a0ad14610146578063d44ad6cb14610159578063dffd7c6f14610161576100a9565b80630d4d7510146100ae5780630f5f6b4f146100ae5780631ef92578146100c3578063579be718146100e157806374708934146100f4575b600080fd5b6100c16100bc366004610ae2565b610181565b005b6100cb6101e2565b6040516100d89190610f28565b60405180910390f35b6100cb6100ef366004610b38565b6101e7565b6100fc610241565b6040516100d89190610ea4565b610111610265565b6040516100d89190610f36565b6100cb61012c366004610aa8565b610285565b61013961031d565b6040516100d89190610edf565b6100c1610154366004610a17565b610374565b6100fc610377565b61017461016f366004610a17565b61039b565b6040516100d89190610ef0565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146101d25760405162461bcd60e51b81526004016101c990610f47565b60405180910390fd5b6101dd838383610406565b505050565b600190565b60008061022984848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506106c992505050565b509150506102378682610285565b9695505050505050565b7f000000000000000000000000000000000000000000000000000000000000000090565b60606040518060600160405280602281526020016110ce60229139905090565b600061028f610241565b6001600160a01b03166375674f466102a68561039b565b846040518363ffffffff1660e01b81526004016102c4929190610f01565b60206040518083038186803b1580156102dc57600080fd5b505afa1580156102f0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103149190610bff565b90505b92915050565b6040805160018082528183019092526060916020808301908036833701905050905060028160008151811061034e57fe5b6020026020010190600981111561036157fe5b9081600981111561036e57fe5b90525090565b50565b7f000000000000000000000000000000000000000000000000000000000000000090565b6001600160a01b038116600090815260208181526040918290208054835181840281018401909452808452606093928301828280156103f957602002820191906000526020600020905b8154815260200190600101908083116103e5575b505050505090505b919050565b60608061041583850185610ba0565b915091506060815183510167ffffffffffffffff8111801561043657600080fd5b50604051908082528060200260200182016040528015610460578160200160208202803683370190505b5090508051600014156104855760405162461bcd60e51b81526004016101c990610f57565b6001600160a01b038616600090815260208190526040902054156104c4576001600160a01b03861660009081526020819052604081206104c4916107b4565b60005b8351811015610557578381815181106104dc57fe5b60200260200101518282815181106104f057fe5b602002602001018181525050600080886001600160a01b03166001600160a01b0316815260200190815260200160002084828151811061052c57fe5b60209081029190910181015182546001818101855560009485529290932090920191909155016104c7565b50815115610680576000866001600160a01b031663c98091876040518163ffffffff1660e01b815260040160206040518083038186803b15801561059a57600080fd5b505afa1580156105ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105d29190610a3d565b905060005b835181101561067d576000818651019050610605838684815181106105f857fe5b60200260200101516106ef565b84828151811061061157fe5b6020026020010181815250506000808a6001600160a01b03166001600160a01b0316815260200190815260200160002084828151811061064d57fe5b602090810291909101810151825460018181018555600094855292909320909201919091559190910190506105d7565b50505b856001600160a01b03167fd63f5b55f54cdda3234eab3aa26d85b99854a43efea66e0c459220fd7b3a332f826040516106b99190610ef0565b60405180910390a2505050505050565b6000806000838060200190518101906106e29190610a5b565b9250925092509193909250565b60008060606106fd84610793565b91509150610709610241565b6001600160a01b031663be68406e8684846040518463ffffffff1660e01b815260040161073893929190610eb2565b602060405180830381600087803b15801561075257600080fd5b505af1158015610766573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061078a9190610c65565b95945050505050565b60006060828060200190518101906107ab9190610c1d565b91509150915091565b508054600082559060005260206000209081019061037491905b808211156107e257600081556001016107ce565b5090565b80356103178161108d565b80516103178161108d565b600082601f83011261080d57600080fd5b815161082061081b82610f8e565b610f67565b9150818183526020840193506020810190508385602084028201111561084557600080fd5b60005b83811015610871578161085b88826107f1565b8452506020928301929190910190600101610848565b5050505092915050565b600082601f83011261088c57600080fd5b813561089a61081b82610f8e565b81815260209384019390925082018360005b8381101561087157813586016108c2888261099c565b84525060209283019291909101906001016108ac565b600082601f8301126108e957600080fd5b81356108f761081b82610f8e565b9150818183526020840193506020810190508385602084028201111561091c57600080fd5b60005b8381101561087157816109328882610a01565b845250602092830192919091019060010161091f565b8051610317816110a1565b60008083601f84011261096557600080fd5b50813567ffffffffffffffff81111561097d57600080fd5b60208301915083600182028301111561099557600080fd5b9250929050565b600082601f8301126109ad57600080fd5b81356109bb61081b82610faf565b915080825260208301602083018583830111156109d757600080fd5b6109e2838284611033565b50505092915050565b8035610317816110aa565b8051610317816110b7565b8035610317816110c4565b8051610317816110c4565b600060208284031215610a2957600080fd5b6000610a3584846107e6565b949350505050565b600060208284031215610a4f57600080fd5b6000610a3584846107f1565b600080600060608486031215610a7057600080fd5b6000610a7c86866107f1565b9350506020610a8d868287016107f1565b9250506040610a9e86828701610a0c565b9150509250925092565b60008060408385031215610abb57600080fd5b6000610ac785856107e6565b9250506020610ad8858286016107e6565b9150509250929050565b600080600060408486031215610af757600080fd5b6000610b0386866107e6565b935050602084013567ffffffffffffffff811115610b2057600080fd5b610b2c86828701610953565b92509250509250925092565b60008060008060608587031215610b4e57600080fd5b6000610b5a87876107e6565b9450506020610b6b878288016109eb565b935050604085013567ffffffffffffffff811115610b8857600080fd5b610b9487828801610953565b95989497509550505050565b60008060408385031215610bb357600080fd5b823567ffffffffffffffff811115610bca57600080fd5b610bd6858286016108d8565b925050602083013567ffffffffffffffff811115610bf357600080fd5b610ad88582860161087b565b600060208284031215610c1157600080fd5b6000610a358484610948565b60008060408385031215610c3057600080fd5b6000610c3c85856109f6565b925050602083015167ffffffffffffffff811115610c5957600080fd5b610ad8858286016107fc565b600060208284031215610c7757600080fd5b6000610a358484610a0c565b6000610c8f8383610caf565b505060200190565b6000610c8f8383610dbc565b6000610c8f8383610e9b565b610cb881610fea565b82525050565b6000610cc982610fdd565b610cd38185610fe1565b9350610cde83610fd7565b8060005b83811015610d0c578151610cf68882610c83565b9750610d0183610fd7565b925050600101610ce2565b509495945050505050565b6000610d2282610fdd565b610d2c8185610fe1565b9350610d3783610fd7565b8060005b83811015610d0c578151610d4f8882610c97565b9750610d5a83610fd7565b925050600101610d3b565b6000610d7082610fdd565b610d7a8185610fe1565b9350610d8583610fd7565b8060005b83811015610d0c578151610d9d8882610ca3565b9750610da883610fd7565b925050600101610d89565b610cb881610ff5565b610cb88161101d565b610cb881611028565b6000610dd982610fdd565b610de38185610fe1565b9350610df381856020860161103f565b610dfc8161106f565b9093019392505050565b6000610e13602983610fe1565b7f4f6e6c792074686520506f6c6963794d616e616765722063616e206d616b65208152681d1a1a5cc818d85b1b60ba1b602082015260400192915050565b6000610e5e602883610fe1565b7f5f5f7570646174654c69737473466f7246756e643a204e6f206c6973747320738152671c1958da599a595960c21b602082015260400192915050565b610cb88161101a565b602081016103178284610caf565b60608101610ec08286610caf565b610ecd6020830185610dc5565b818103604083015261078a8184610cbe565b602080825281016103148184610d17565b602080825281016103148184610d65565b60408082528101610f128185610d65565b9050610f216020830184610caf565b9392505050565b602081016103178284610db3565b602080825281016103148184610dce565b6020808252810161031781610e06565b6020808252810161031781610e51565b60405181810167ffffffffffffffff81118282101715610f8657600080fd5b604052919050565b600067ffffffffffffffff821115610fa557600080fd5b5060209081020190565b600067ffffffffffffffff821115610fc657600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b60006103178261100e565b151590565b8061040181611079565b8061040181611083565b6001600160a01b031690565b90565b600061031782610ffa565b600061031782611004565b82818337506000910152565b60005b8381101561105a578181015183820152602001611042565b83811115611069576000848401525b50505050565b601f01601f191690565b600a811061037457fe5b6004811061037457fe5b61109681610fea565b811461037457600080fd5b61109681610ff5565b600a811061037457600080fd5b6004811061037457600080fd5b6110968161101a56fe414c4c4f5745445f5348415245535f5452414e534645525f524543495049454e5453a164736f6c634300060c000a", "sourceMap": "562:3076:218:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2067:226;;;;;;:::i;:::-;;:::i;:::-;;965:108;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2672:331;;;;;;:::i;:::-;;:::i;4613:130:221:-;;;:::i;:::-;;;;;;;:::i;1195:141:218:-;;;:::i;:::-;;;;;;;:::i;3312:324::-;;;;;;:::i;:::-;;:::i;1466:332::-;;;:::i;:::-;;;;;;;:::i;941:83:223:-;;;;;;:::i;:::-;;:::i;6755:113::-;;;:::i;4908:198:221:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;2067:226:218:-;586:10:223;-1:-1:-1;;;;;600:14:223;586:28;;578:82;;;;-1:-1:-1;;;578:82:223;;;;;;;:::i;:::-;;;;;;;;;2229:57:218::1;2250:17;2269:16;;2229:20;:57::i;:::-;2067:226:::0;;;:::o;965:108::-;1062:4;965:108;:::o;2672:331::-;2834:13;2862:17;2885:53;2925:12;;2885:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2885:39:218;;-1:-1:-1;;;2885:53:218:i;:::-;2859:79;;;;2956:40;2967:17;2986:9;2956:10;:40::i;:::-;2949:47;2672:331;-1:-1:-1;;;;;;2672:331:218:o;4613:130:221:-;4715:21;4613:130;:::o;1195:141:218:-;1249:25;1286:43;;;;;;;;;;;;;;;;;;;1195:141;:::o;3312:324::-;3424:13;3492:24;:22;:24::i;:::-;-1:-1:-1;;;;;3472:61:218;;3551:36;3569:17;3551;:36::i;:::-;3605:10;3472:157;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3453:176;;3312:324;;;;;:::o;1466:332::-;1646:34;;;1678:1;1646:34;;;;;;;;;1558:52;;1646:34;;;;;;;;;;;-1:-1:-1;1646:34:218;1626:54;;1713:43;1690:17;1708:1;1690:20;;;;;;;;;;;;;:66;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1466:332:218;:::o;941:83:223:-;;:::o;6755:113::-;6847:14;6755:113;:::o;4908:198:221:-;-1:-1:-1;;;;;5055:44:221;;:25;:44;;;;;;;;;;;;5048:51;;;;;;;;;;;;;;;;;5007:25;;5048:51;;;5055:44;5048:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4908:198;;;;:::o;2752:1638::-;2874:32;;2939:84;;;;2963:16;2939:84;:::i;:::-;2873:150;;;;3034:28;3104:12;:19;3079:15;:22;:44;3065:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3065:59:221;;3034:90;;3142:11;:18;3164:1;3142:23;;3134:76;;;;-1:-1:-1;;;3134:76:221;;;;;;;:::i;:::-;-1:-1:-1;;;;;3283:44:221;;3337:1;3283:44;;;;;;;;;;:51;:55;3279:137;;-1:-1:-1;;;;;3361:44:221;;:25;:44;;;;;;;;;;3354:51;;;:::i;:::-;3553:9;3548:192;3568:15;:22;3564:1;:26;3548:192;;;3628:15;3644:1;3628:18;;;;;;;;;;;;;;3611:11;3623:1;3611:14;;;;;;;;;;;;;:35;;;;;3660:25;:44;3686:17;-1:-1:-1;;;;;3660:44:221;-1:-1:-1;;;;;3660:44:221;;;;;;;;;;;;3710:15;3726:1;3710:18;;;;;;;;;;;;;;;;;;;3660:69;;;;;;;;-1:-1:-1;3660:69:221;;;;;;;;;;;;;;3592:3;3548:192;;;-1:-1:-1;3794:19:221;;:23;3790:531;;3833:18;3869:17;-1:-1:-1;;;;;3854:47:221;;:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3833:70;;3922:9;3917:394;3937:12;:19;3933:1;:23;3917:394;;;3981:24;4033:1;4008:15;:22;:26;3981:53;;4084:114;4133:10;4165:12;4178:1;4165:15;;;;;;;;;;;;;;4084:27;:114::i;:::-;4052:11;4064:16;4052:29;;;;;;;;;;;;;:146;;;;;4216:25;:44;4242:17;-1:-1:-1;;;;;4216:44:221;-1:-1:-1;;;;;4216:44:221;;;;;;;;;;;;4266:11;4278:16;4266:29;;;;;;;;;;;;;;;;;;;4216:80;;;;;;;;-1:-1:-1;4216:80:221;;;;;;;;;;;;;;3958:3;;;;;-1:-1:-1;3917:394:221;;;;3790:531;;4352:17;-1:-1:-1;;;;;4336:47:221;;4371:11;4336:47;;;;;;:::i;:::-;;;;;;;;2752:1638;;;;;;:::o;2619:310:223:-;2758:15;2787:18;2819:15;2877;2866:56;;;;;;;;;;;;:::i;:::-;2859:63;;;;;;2619:310;;;;;:::o;1662:488:221:-;1781:15;1826:41;1881:29;1923:33;1943:12;1923:19;:33::i;:::-;1812:144;;;;2006:24;:22;:24::i;:::-;-1:-1:-1;;;;;1986:56:221;;2060:11;2089:10;2117:12;1986:157;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1967:176;1662:488;-1:-1:-1;;;;;1662:488:221:o;2200:276::-;2303:42;2347:30;2411:12;2400:69;;;;;;;;;;;;:::i;:::-;2393:76;;;;2200:276;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5:130::-;72:20;;97:33;72:20;97:33;:::i;142:134::-;220:13;;238:33;220:13;238:33;:::i;458:722::-;;586:3;579:4;571:6;567:17;563:27;553:2;;604:1;601;594:12;553:2;634:6;628:13;656:80;671:64;728:6;671:64;:::i;:::-;656:80;:::i;:::-;647:89;;753:5;778:6;771:5;764:21;808:4;800:6;796:17;786:27;;830:4;825:3;821:14;814:21;;883:6;930:3;922:4;914:6;910:17;905:3;901:27;898:36;895:2;;;947:1;944;937:12;895:2;972:1;957:217;982:6;979:1;976:13;957:217;;;1040:3;1062:48;1106:3;1094:10;1062:48;:::i;:::-;1050:61;;-1:-1;1134:4;1125:14;;;;1153;;;;;1004:1;997:9;957:217;;;961:14;546:634;;;;;;;:::o;1204:705::-;;1330:3;1323:4;1315:6;1311:17;1307:27;1297:2;;1348:1;1345;1338:12;1297:2;1385:6;1372:20;1407:89;1422:73;1488:6;1422:73;:::i;1407:89::-;1524:21;;;1568:4;1556:17;;;;1398:98;;-1:-1;1581:14;;1556:17;1676:1;1661:242;1686:6;1683:1;1680:13;1661:242;;;1769:3;1756:17;1748:6;1744:30;1793:46;1835:3;1823:10;1793:46;:::i;:::-;1781:59;;-1:-1;1863:4;1854:14;;;;1882;;;;;1708:1;1701:9;1661:242;;1935:707;;2052:3;2045:4;2037:6;2033:17;2029:27;2019:2;;2070:1;2067;2060:12;2019:2;2107:6;2094:20;2129:80;2144:64;2201:6;2144:64;:::i;2129:80::-;2120:89;;2226:5;2251:6;2244:5;2237:21;2281:4;2273:6;2269:17;2259:27;;2303:4;2298:3;2294:14;2287:21;;2356:6;2403:3;2395:4;2387:6;2383:17;2378:3;2374:27;2371:36;2368:2;;;2420:1;2417;2410:12;2368:2;2445:1;2430:206;2455:6;2452:1;2449:13;2430:206;;;2513:3;2535:37;2568:3;2556:10;2535:37;:::i;:::-;2523:50;;-1:-1;2596:4;2587:14;;;;2615;;;;;2477:1;2470:9;2430:206;;2650:128;2725:13;;2743:30;2725:13;2743:30;:::i;2799:336::-;;;2913:3;2906:4;2898:6;2894:17;2890:27;2880:2;;2931:1;2928;2921:12;2880:2;-1:-1;2951:20;;2991:18;2980:30;;2977:2;;;3023:1;3020;3013:12;2977:2;3057:4;3049:6;3045:17;3033:29;;3108:3;3100:4;3092:6;3088:17;3078:8;3074:32;3071:41;3068:2;;;3125:1;3122;3115:12;3068:2;2873:262;;;;;:::o;3144:440::-;;3245:3;3238:4;3230:6;3226:17;3222:27;3212:2;;3263:1;3260;3253:12;3212:2;3300:6;3287:20;3322:64;3337:48;3378:6;3337:48;:::i;3322:64::-;3313:73;;3406:6;3399:5;3392:21;3442:4;3434:6;3430:17;3475:4;3468:5;3464:16;3510:3;3501:6;3496:3;3492:16;3489:25;3486:2;;;3527:1;3524;3517:12;3486:2;3537:41;3571:6;3566:3;3561;3537:41;:::i;:::-;3205:379;;;;;;;:::o;3592:162::-;3675:20;;3700:49;3675:20;3700:49;:::i;3761:164::-;3854:13;;3872:48;3854:13;3872:48;:::i;3932:130::-;3999:20;;4024:33;3999:20;4024:33;:::i;4069:134::-;4147:13;;4165:33;4147:13;4165:33;:::i;4210:241::-;;4314:2;4302:9;4293:7;4289:23;4285:32;4282:2;;;4330:1;4327;4320:12;4282:2;4365:1;4382:53;4427:7;4407:9;4382:53;:::i;:::-;4372:63;4276:175;-1:-1;;;;4276:175::o;4458:263::-;;4573:2;4561:9;4552:7;4548:23;4544:32;4541:2;;;4589:1;4586;4579:12;4541:2;4624:1;4641:64;4697:7;4677:9;4641:64;:::i;4728:567::-;;;;4893:2;4881:9;4872:7;4868:23;4864:32;4861:2;;;4909:1;4906;4899:12;4861:2;4944:1;4961:72;5025:7;5005:9;4961:72;:::i;:::-;4951:82;;4923:116;5070:2;5088:72;5152:7;5143:6;5132:9;5128:22;5088:72;:::i;:::-;5078:82;;5049:117;5197:2;5215:64;5271:7;5262:6;5251:9;5247:22;5215:64;:::i;:::-;5205:74;;5176:109;4855:440;;;;;:::o;5302:366::-;;;5423:2;5411:9;5402:7;5398:23;5394:32;5391:2;;;5439:1;5436;5429:12;5391:2;5474:1;5491:53;5536:7;5516:9;5491:53;:::i;:::-;5481:63;;5453:97;5581:2;5599:53;5644:7;5635:6;5624:9;5620:22;5599:53;:::i;:::-;5589:63;;5560:98;5385:283;;;;;:::o;5675:490::-;;;;5815:2;5803:9;5794:7;5790:23;5786:32;5783:2;;;5831:1;5828;5821:12;5783:2;5866:1;5883:53;5928:7;5908:9;5883:53;:::i;:::-;5873:63;;5845:97;6001:2;5990:9;5986:18;5973:32;6025:18;6017:6;6014:30;6011:2;;;6057:1;6054;6047:12;6011:2;6085:64;6141:7;6132:6;6121:9;6117:22;6085:64;:::i;:::-;6067:82;;;;5952:203;5777:388;;;;;:::o;6172:647::-;;;;;6345:2;6333:9;6324:7;6320:23;6316:32;6313:2;;;6361:1;6358;6351:12;6313:2;6396:1;6413:53;6458:7;6438:9;6413:53;:::i;:::-;6403:63;;6375:97;6503:2;6521:69;6582:7;6573:6;6562:9;6558:22;6521:69;:::i;:::-;6511:79;;6482:114;6655:2;6644:9;6640:18;6627:32;6679:18;6671:6;6668:30;6665:2;;;6711:1;6708;6701:12;6665:2;6739:64;6795:7;6786:6;6775:9;6771:22;6739:64;:::i;:::-;6307:512;;;;-1:-1;6721:82;-1:-1;;;;6307:512::o;6826:656::-;;;7006:2;6994:9;6985:7;6981:23;6977:32;6974:2;;;7022:1;7019;7012:12;6974:2;7057:31;;7108:18;7097:30;;7094:2;;;7140:1;7137;7130:12;7094:2;7160:78;7230:7;7221:6;7210:9;7206:22;7160:78;:::i;:::-;7150:88;;7036:208;7303:2;7292:9;7288:18;7275:32;7327:18;7319:6;7316:30;7313:2;;;7359:1;7356;7349:12;7313:2;7379:87;7458:7;7449:6;7438:9;7434:22;7379:87;:::i;7489:257::-;;7601:2;7589:9;7580:7;7576:23;7572:32;7569:2;;;7617:1;7614;7607:12;7569:2;7652:1;7669:61;7722:7;7702:9;7669:61;:::i;7753:558::-;;;7925:2;7913:9;7904:7;7900:23;7896:32;7893:2;;;7941:1;7938;7931:12;7893:2;7976:1;7993:79;8064:7;8044:9;7993:79;:::i;:::-;7983:89;;7955:123;8130:2;8119:9;8115:18;8109:25;8154:18;8146:6;8143:30;8140:2;;;8186:1;8183;8176:12;8140:2;8206:89;8287:7;8278:6;8267:9;8263:22;8206:89;:::i;8318:263::-;;8433:2;8421:9;8412:7;8408:23;8404:32;8401:2;;;8449:1;8446;8439:12;8401:2;8484:1;8501:64;8557:7;8537:9;8501:64;:::i;8589:173::-;;8676:46;8718:3;8710:6;8676:46;:::i;:::-;-1:-1;;8751:4;8742:14;;8669:93::o;8771:201::-;;8872:60;8928:3;8920:6;8872:60;:::i;8981:173::-;;9068:46;9110:3;9102:6;9068:46;:::i;9162:103::-;9235:24;9253:5;9235:24;:::i;:::-;9230:3;9223:37;9217:48;;:::o;9423:690::-;;9568:54;9616:5;9568:54;:::i;:::-;9635:86;9714:6;9709:3;9635:86;:::i;:::-;9628:93;;9742:56;9792:5;9742:56;:::i;:::-;9818:7;9846:1;9831:260;9856:6;9853:1;9850:13;9831:260;;;9923:6;9917:13;9944:63;10003:3;9988:13;9944:63;:::i;:::-;9937:70;;10024:60;10077:6;10024:60;:::i;:::-;10014:70;-1:-1;;9878:1;9871:9;9831:260;;;-1:-1;10104:3;;9547:566;-1:-1;;;;;9547:566::o;10173:764::-;;10332:70;10396:5;10332:70;:::i;:::-;10415:84;10492:6;10487:3;10415:84;:::i;:::-;10408:91;;10520:72;10586:5;10520:72;:::i;:::-;10612:7;10640:1;10625:290;10650:6;10647:1;10644:13;10625:290;;;10717:6;10711:13;10738:77;10811:3;10796:13;10738:77;:::i;:::-;10731:84;;10832:76;10901:6;10832:76;:::i;:::-;10822:86;-1:-1;;10672:1;10665:9;10625:290;;10976:690;;11121:54;11169:5;11121:54;:::i;:::-;11188:86;11267:6;11262:3;11188:86;:::i;:::-;11181:93;;11295:56;11345:5;11295:56;:::i;:::-;11371:7;11399:1;11384:260;11409:6;11406:1;11403:13;11384:260;;;11476:6;11470:13;11497:63;11556:3;11541:13;11497:63;:::i;:::-;11490:70;;11577:60;11630:6;11577:60;:::i;:::-;11567:70;-1:-1;;11431:1;11424:9;11384:260;;11674:104;11751:21;11766:5;11751:21;:::i;11785:144::-;11872:51;11917:5;11872:51;:::i;11936:152::-;12032:50;12076:5;12032:50;:::i;12095:347::-;;12207:39;12240:5;12207:39;:::i;:::-;12258:71;12322:6;12317:3;12258:71;:::i;:::-;12251:78;;12334:52;12379:6;12374:3;12367:4;12360:5;12356:16;12334:52;:::i;:::-;12407:29;12429:6;12407:29;:::i;:::-;12398:39;;;;12187:255;-1:-1;;;12187:255::o;12450:378::-;;12610:67;12674:2;12669:3;12610:67;:::i;:::-;12710:34;12690:55;;-1:-1;;;12774:2;12765:12;;12758:33;12819:2;12810:12;;12596:232;-1:-1;;12596:232::o;12837:377::-;;12997:67;13061:2;13056:3;12997:67;:::i;:::-;13097:34;13077:55;;-1:-1;;;13161:2;13152:12;;13145:32;13205:2;13196:12;;12983:231;-1:-1;;12983:231::o;13222:103::-;13295:24;13313:5;13295:24;:::i;13332:222::-;13459:2;13444:18;;13473:71;13448:9;13517:6;13473:71;:::i;13561:618::-;13807:2;13792:18;;13821:71;13796:9;13865:6;13821:71;:::i;:::-;13903:85;13984:2;13973:9;13969:18;13960:6;13903:85;:::i;:::-;14036:9;14030:4;14026:20;14021:2;14010:9;14006:18;13999:48;14061:108;14164:4;14155:6;14061:108;:::i;14186:398::-;14377:2;14391:47;;;14362:18;;14452:122;14362:18;14560:6;14452:122;:::i;14591:370::-;14768:2;14782:47;;;14753:18;;14843:108;14753:18;14937:6;14843:108;:::i;14968:481::-;15173:2;15187:47;;;15158:18;;15248:108;15158:18;15342:6;15248:108;:::i;:::-;15240:116;;15367:72;15435:2;15424:9;15420:18;15411:6;15367:72;:::i;:::-;15144:305;;;;;:::o;15456:210::-;15577:2;15562:18;;15591:65;15566:9;15629:6;15591:65;:::i;15673:310::-;15820:2;15834:47;;;15805:18;;15895:78;15805:18;15959:6;15895:78;:::i;15990:416::-;16190:2;16204:47;;;16175:18;;16265:131;16175:18;16265:131;:::i;16413:416::-;16613:2;16627:47;;;16598:18;;16688:131;16598:18;16688:131;:::i;16836:256::-;16898:2;16892:9;16924:17;;;16999:18;16984:34;;17020:22;;;16981:62;16978:2;;;17056:1;17053;17046:12;16978:2;17072;17065:22;16876:216;;-1:-1;16876:216::o;17099:304::-;;17258:18;17250:6;17247:30;17244:2;;;17290:1;17287;17280:12;17244:2;-1:-1;17325:4;17313:17;;;17378:15;;17181:222::o;18041:321::-;;18184:18;18176:6;18173:30;18170:2;;;18216:1;18213;18206:12;18170:2;-1:-1;18347:4;18283;18260:17;;;;-1:-1;;18256:33;18337:15;;18107:255::o;18369:151::-;18493:4;18484:14;;18441:79::o;18859:137::-;18962:12;;18933:63::o;19798:178::-;19916:19;;;19965:4;19956:14;;19909:67::o;20528:91::-;;20590:24;20608:5;20590:24;:::i;20732:85::-;20798:13;20791:21;;20774:43::o;20824:138::-;20902:5;20908:49;20902:5;20908:49;:::i;20969:136::-;21046:5;21052:48;21046:5;21052:48;:::i;21112:121::-;-1:-1;;;;;21174:54;;21157:76::o;21240:72::-;21302:5;21285:27::o;21319:138::-;;21412:40;21446:5;21412:40;:::i;21464:136::-;;21556:39;21589:5;21556:39;:::i;21608:145::-;21689:6;21684:3;21679;21666:30;-1:-1;21745:1;21727:16;;21720:27;21659:94::o;21762:268::-;21827:1;21834:101;21848:6;21845:1;21842:13;21834:101;;;21915:11;;;21909:18;21896:11;;;21889:39;21870:2;21863:10;21834:101;;;21950:6;21947:1;21944:13;21941:2;;;22015:1;22006:6;22001:3;21997:16;21990:27;21941:2;21811:219;;;;:::o;22038:97::-;22126:2;22106:14;-1:-1;;22102:28;;22086:49::o;22143:108::-;22228:2;22221:5;22218:13;22208:2;;22235:9;22258:106;22342:1;22335:5;22332:12;22322:2;;22348:9;22371:117;22440:24;22458:5;22440:24;:::i;:::-;22433:5;22430:35;22420:2;;22479:1;22476;22469:12;22635:111;22701:21;22716:5;22701:21;:::i;22753:111::-;22838:2;22831:5;22828:13;22818:2;;22855:1;22852;22845:12;22871:109;22955:1;22948:5;22945:12;22935:2;;22971:1;22968;22961:12;22987:117;23056:24;23074:5;23056:24;:::i", "linkReferences": {}, "immutableReferences": { "59555": [ { "start": 579, "length": 32 } ], "59893": [ { "start": 396, "length": 32 }, { "start": 889, "length": 32 } ] } }, "methodIdentifiers": { "activateForFund(address)": "ceb9a0ad", "addFundSettings(address,bytes)": "0f5f6b4f", "canDisable()": "1ef92578", "getAddressListRegistry()": "74708934", "getListIdsForFund(address)": "dffd7c6f", "getPolicyManager()": "d44ad6cb", "identifier()": "7998a1c4", "implementedHooks()": "cbf54bb2", "passesRule(address,address)": "b67cb40c", "updateFundSettings(address,bytes)": "0d4d7510", "validateRule(address,uint8,bytes)": "579be718" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_policyManager\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_addressListRegistry\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"listIds\",\"type\":\"uint256[]\"}],\"name\":\"ListsSetForFund\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"activateForFund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_encodedSettings\",\"type\":\"bytes\"}],\"name\":\"addFundSettings\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"canDisable\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"canDisable_\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAddressListRegistry\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"addressListRegistry_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"}],\"name\":\"getListIdsForFund\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"listIds_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPolicyManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"policyManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"identifier\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"identifier_\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"implementedHooks\",\"outputs\":[{\"internalType\":\"enum IPolicyManager.PolicyHook[]\",\"name\":\"implementedHooks_\",\"type\":\"uint8[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_recipient\",\"type\":\"address\"}],\"name\":\"passesRule\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isValid_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_encodedSettings\",\"type\":\"bytes\"}],\"name\":\"updateFundSettings\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"enum IPolicyManager.PolicyHook\",\"name\":\"\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"_encodedArgs\",\"type\":\"bytes\"}],\"name\":\"validateRule\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isValid_\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"activateForFund(address)\":{\"details\":\"Unimplemented by default, can be overridden by the policy\"},\"addFundSettings(address,bytes)\":{\"params\":{\"_comptrollerProxy\":\"The fund's ComptrollerProxy address\",\"_encodedSettings\":\"Encoded settings to apply to a fund\"}},\"canDisable()\":{\"returns\":{\"canDisable_\":\"True if the policy can be disabled\"}},\"getAddressListRegistry()\":{\"returns\":{\"addressListRegistry_\":\"The `ADDRESS_LIST_REGISTRY` variable value\"}},\"getListIdsForFund(address)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\"},\"returns\":{\"listIds_\":\"The list ids\"}},\"getPolicyManager()\":{\"returns\":{\"policyManager_\":\"The `POLICY_MANAGER` variable value\"}},\"identifier()\":{\"returns\":{\"identifier_\":\"The identifer string\"}},\"implementedHooks()\":{\"returns\":{\"implementedHooks_\":\"The implemented PolicyHooks\"}},\"passesRule(address,address)\":{\"params\":{\"_comptrollerProxy\":\"The fund's ComptrollerProxy address\",\"_recipient\":\"The recipient of shares from the transfer\"},\"returns\":{\"isValid_\":\"True if the rule passes\"}},\"updateFundSettings(address,bytes)\":{\"details\":\"Used to assign a new list (not update items in that list)\",\"params\":{\"_comptrollerProxy\":\"The fund's ComptrollerProxy address\",\"_encodedSettings\":\"Encoded settings to apply to a fund\"}},\"validateRule(address,uint8,bytes)\":{\"details\":\"onlyPolicyManager validation not necessary, as state is not updated and no events are fired\",\"params\":{\"_comptrollerProxy\":\"The fund's ComptrollerProxy address\",\"_encodedArgs\":\"Encoded args with which to validate the rule\"},\"returns\":{\"isValid_\":\"True if the rule passes\"}}},\"title\":\"AllowedSharesTransferRecipientsPolicy Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"activateForFund(address)\":{\"notice\":\"Validates and initializes a policy as necessary prior to fund activation\"},\"addFundSettings(address,bytes)\":{\"notice\":\"Adds the initial policy settings for a fund\"},\"canDisable()\":{\"notice\":\"Whether or not the policy can be disabled\"},\"getAddressListRegistry()\":{\"notice\":\"Gets the `ADDRESS_LIST_REGISTRY` variable value\"},\"getListIdsForFund(address)\":{\"notice\":\"Gets the list ids used by a given fund\"},\"getPolicyManager()\":{\"notice\":\"Gets the `POLICY_MANAGER` variable value\"},\"identifier()\":{\"notice\":\"Provides a constant string identifier for a policy\"},\"implementedHooks()\":{\"notice\":\"Gets the implemented PolicyHooks for a policy\"},\"passesRule(address,address)\":{\"notice\":\"Checks whether a particular condition passes the rule for a particular fund\"},\"updateFundSettings(address,bytes)\":{\"notice\":\"Updates the policy settings for a fund\"},\"validateRule(address,uint8,bytes)\":{\"notice\":\"Apply the rule with the specified parameters of a PolicyHook\"}},\"notice\":\"A policy that limits the accounts that can receive shares via transfer\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/policy-manager/policies/new-shareholders/AllowedSharesTransferRecipientsPolicy.sol\":\"AllowedSharesTransferRecipientsPolicy\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/address-list-registry/AddressListRegistry.sol\":{\"keccak256\":\"0xf00a9e376e3ec2a223f463f71c15ee3af3642dd028bc3762440e316b760c8048\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://01986c9327b5dfbfac21316dced6d68727931ddde1278ed1342d878004f984b9\",\"dweb:/ipfs/QmdXkFaUU43JqMTYEREbWa129rohdqN7GXy7mVRpjCfSLD\"]},\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/persistent/vault/interfaces/IExternalPositionVault.sol\":{\"keccak256\":\"0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d\",\"dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8\"]},\"contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol\":{\"keccak256\":\"0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb\",\"dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU\"]},\"contracts/persistent/vault/interfaces/IMigratableVault.sol\":{\"keccak256\":\"0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6\",\"dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs\"]},\"contracts/persistent/vault/interfaces/IVaultCore.sol\":{\"keccak256\":\"0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd\",\"dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr\"]},\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/core/fund/comptroller/ComptrollerLib.sol\":{\"keccak256\":\"0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579\",\"dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq\"]},\"contracts/release/core/fund/comptroller/IComptroller.sol\":{\"keccak256\":\"0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97\",\"dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L\"]},\"contracts/release/core/fund/vault/IVault.sol\":{\"keccak256\":\"0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599\",\"dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG\"]},\"contracts/release/extensions/IExtension.sol\":{\"keccak256\":\"0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70\",\"dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t\"]},\"contracts/release/extensions/fee-manager/IFeeManager.sol\":{\"keccak256\":\"0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22\",\"dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod\"]},\"contracts/release/extensions/policy-manager/IPolicy.sol\":{\"keccak256\":\"0xc12663ca72065b256c3b934ab738fde26c147c7b0399de43650df89dd52ee467\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://be8fecfcba0f3fda615f0a1bb3c766750c23761ef751d7c4472dfe540e460cd1\",\"dweb:/ipfs/QmaarPoRTsX6NiJ8V4u2f3Qh6d7tUs28bw9R14An3t5Bs1\"]},\"contracts/release/extensions/policy-manager/IPolicyManager.sol\":{\"keccak256\":\"0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa\",\"dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb\"]},\"contracts/release/extensions/policy-manager/policies/new-shareholders/AllowedSharesTransferRecipientsPolicy.sol\":{\"keccak256\":\"0xbc53bf9efc40861564aef9f0f7ae17c2dff6a9bb564ce061a7d2f06aa57d17e1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c402ba17f0081617b975cd5aadc096c52da72ca7a3ce463adf1e888fd6e6538e\",\"dweb:/ipfs/QmTmbN86eFVMPALpijgiuhfZqHTPio6XENJDZhFbfMf9hA\"]},\"contracts/release/extensions/policy-manager/policies/utils/AddressListRegistryPolicyBase.sol\":{\"keccak256\":\"0x3fdcf3e45c9d6b9cf5221aeb95858060dfc18abf744f664b5ce9bf2f0a6a7bdc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://48b3ed06e509a45f122112129bf3d221ae30afad87722a123f7405a4a24e6645\",\"dweb:/ipfs/QmSA3cJB7C6x6BasicDpzwnHuxFkL6k8hR5fDRD42BWsGc\"]},\"contracts/release/extensions/policy-manager/policies/utils/PolicyBase.sol\":{\"keccak256\":\"0x972311abb98f0da815b4aca83d5afdd219d3604ec19cf5e3773c0c305bd9b3f1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2452f3d1f3b1d8e8459a07489146a2d0d8a10463715937995cbe77ee5de8c069\",\"dweb:/ipfs/Qmf2hhd2DVbjpxmbNGAhRZNZkqpGZA2mX3eA1WNwtv6t5Y\"]},\"contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol\":{\"keccak256\":\"0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f\",\"dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol\":{\"keccak256\":\"0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0\",\"dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol\":{\"keccak256\":\"0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b\",\"dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3\"]},\"contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol\":{\"keccak256\":\"0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965\",\"dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ\"]},\"contracts/release/interfaces/IGsnForwarder.sol\":{\"keccak256\":\"0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29\",\"dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G\"]},\"contracts/release/interfaces/IGsnPaymaster.sol\":{\"keccak256\":\"0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4\",\"dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF\"]},\"contracts/release/interfaces/IGsnTypes.sol\":{\"keccak256\":\"0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7\",\"dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/beacon-proxy/IBeacon.sol\":{\"keccak256\":\"0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39\",\"dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V\"]},\"contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol\":{\"keccak256\":\"0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be\",\"dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_policyManager", "type": "address" }, { "internalType": "address", "name": "_addressListRegistry", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "comptrollerProxy", "type": "address", "indexed": true }, { "internalType": "uint256[]", "name": "listIds", "type": "uint256[]", "indexed": false } ], "type": "event", "name": "ListsSetForFund", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "activateForFund" }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" }, { "internalType": "bytes", "name": "_encodedSettings", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "addFundSettings" }, { "inputs": [], "stateMutability": "pure", "type": "function", "name": "canDisable", "outputs": [ { "internalType": "bool", "name": "canDisable_", "type": "bool" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getAddressListRegistry", "outputs": [ { "internalType": "address", "name": "addressListRegistry_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getListIdsForFund", "outputs": [ { "internalType": "uint256[]", "name": "listIds_", "type": "uint256[]" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getPolicyManager", "outputs": [ { "internalType": "address", "name": "policyManager_", "type": "address" } ] }, { "inputs": [], "stateMutability": "pure", "type": "function", "name": "identifier", "outputs": [ { "internalType": "string", "name": "identifier_", "type": "string" } ] }, { "inputs": [], "stateMutability": "pure", "type": "function", "name": "implementedHooks", "outputs": [ { "internalType": "enum IPolicyManager.PolicyHook[]", "name": "implementedHooks_", "type": "uint8[]" } ] }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" }, { "internalType": "address", "name": "_recipient", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "passesRule", "outputs": [ { "internalType": "bool", "name": "isValid_", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" }, { "internalType": "bytes", "name": "_encodedSettings", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "updateFundSettings" }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" }, { "internalType": "enum IPolicyManager.PolicyHook", "name": "", "type": "uint8" }, { "internalType": "bytes", "name": "_encodedArgs", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "validateRule", "outputs": [ { "internalType": "bool", "name": "isValid_", "type": "bool" } ] } ], "devdoc": { "kind": "dev", "methods": { "activateForFund(address)": { "details": "Unimplemented by default, can be overridden by the policy" }, "addFundSettings(address,bytes)": { "params": { "_comptrollerProxy": "The fund's ComptrollerProxy address", "_encodedSettings": "Encoded settings to apply to a fund" } }, "canDisable()": { "returns": { "canDisable_": "True if the policy can be disabled" } }, "getAddressListRegistry()": { "returns": { "addressListRegistry_": "The `ADDRESS_LIST_REGISTRY` variable value" } }, "getListIdsForFund(address)": { "params": { "_comptrollerProxy": "The ComptrollerProxy of the fund" }, "returns": { "listIds_": "The list ids" } }, "getPolicyManager()": { "returns": { "policyManager_": "The `POLICY_MANAGER` variable value" } }, "identifier()": { "returns": { "identifier_": "The identifer string" } }, "implementedHooks()": { "returns": { "implementedHooks_": "The implemented PolicyHooks" } }, "passesRule(address,address)": { "params": { "_comptrollerProxy": "The fund's ComptrollerProxy address", "_recipient": "The recipient of shares from the transfer" }, "returns": { "isValid_": "True if the rule passes" } }, "updateFundSettings(address,bytes)": { "details": "Used to assign a new list (not update items in that list)", "params": { "_comptrollerProxy": "The fund's ComptrollerProxy address", "_encodedSettings": "Encoded settings to apply to a fund" } }, "validateRule(address,uint8,bytes)": { "details": "onlyPolicyManager validation not necessary, as state is not updated and no events are fired", "params": { "_comptrollerProxy": "The fund's ComptrollerProxy address", "_encodedArgs": "Encoded args with which to validate the rule" }, "returns": { "isValid_": "True if the rule passes" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "activateForFund(address)": { "notice": "Validates and initializes a policy as necessary prior to fund activation" }, "addFundSettings(address,bytes)": { "notice": "Adds the initial policy settings for a fund" }, "canDisable()": { "notice": "Whether or not the policy can be disabled" }, "getAddressListRegistry()": { "notice": "Gets the `ADDRESS_LIST_REGISTRY` variable value" }, "getListIdsForFund(address)": { "notice": "Gets the list ids used by a given fund" }, "getPolicyManager()": { "notice": "Gets the `POLICY_MANAGER` variable value" }, "identifier()": { "notice": "Provides a constant string identifier for a policy" }, "implementedHooks()": { "notice": "Gets the implemented PolicyHooks for a policy" }, "passesRule(address,address)": { "notice": "Checks whether a particular condition passes the rule for a particular fund" }, "updateFundSettings(address,bytes)": { "notice": "Updates the policy settings for a fund" }, "validateRule(address,uint8,bytes)": { "notice": "Apply the rule with the specified parameters of a PolicyHook" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/policy-manager/policies/new-shareholders/AllowedSharesTransferRecipientsPolicy.sol": "AllowedSharesTransferRecipientsPolicy" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/address-list-registry/AddressListRegistry.sol": { "keccak256": "0xf00a9e376e3ec2a223f463f71c15ee3af3642dd028bc3762440e316b760c8048", "urls": [ "bzz-raw://01986c9327b5dfbfac21316dced6d68727931ddde1278ed1342d878004f984b9", "dweb:/ipfs/QmdXkFaUU43JqMTYEREbWa129rohdqN7GXy7mVRpjCfSLD" ], "license": "GPL-3.0" }, "contracts/persistent/dispatcher/IDispatcher.sol": { "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", "urls": [ "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" ], "license": "GPL-3.0" }, "contracts/persistent/external-positions/IExternalPosition.sol": { "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", "urls": [ "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IExternalPositionVault.sol": { "keccak256": "0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6", "urls": [ "bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d", "dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol": { "keccak256": "0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0", "urls": [ "bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb", "dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IMigratableVault.sol": { "keccak256": "0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238", "urls": [ "bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6", "dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IVaultCore.sol": { "keccak256": "0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80", "urls": [ "bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd", "dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr" ], "license": "GPL-3.0" }, "contracts/release/core/fund-deployer/IFundDeployer.sol": { "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", "urls": [ "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" ], "license": "GPL-3.0" }, "contracts/release/core/fund/comptroller/ComptrollerLib.sol": { "keccak256": "0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64", "urls": [ "bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579", "dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq" ], "license": "GPL-3.0" }, "contracts/release/core/fund/comptroller/IComptroller.sol": { "keccak256": "0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f", "urls": [ "bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97", "dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L" ], "license": "GPL-3.0" }, "contracts/release/core/fund/vault/IVault.sol": { "keccak256": "0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd", "urls": [ "bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599", "dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG" ], "license": "GPL-3.0" }, "contracts/release/extensions/IExtension.sol": { "keccak256": "0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b", "urls": [ "bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70", "dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t" ], "license": "GPL-3.0" }, "contracts/release/extensions/fee-manager/IFeeManager.sol": { "keccak256": "0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51", "urls": [ "bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22", "dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod" ], "license": "GPL-3.0" }, "contracts/release/extensions/policy-manager/IPolicy.sol": { "keccak256": "0xc12663ca72065b256c3b934ab738fde26c147c7b0399de43650df89dd52ee467", "urls": [ "bzz-raw://be8fecfcba0f3fda615f0a1bb3c766750c23761ef751d7c4472dfe540e460cd1", "dweb:/ipfs/QmaarPoRTsX6NiJ8V4u2f3Qh6d7tUs28bw9R14An3t5Bs1" ], "license": "GPL-3.0" }, "contracts/release/extensions/policy-manager/IPolicyManager.sol": { "keccak256": "0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32", "urls": [ "bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa", "dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb" ], "license": "GPL-3.0" }, "contracts/release/extensions/policy-manager/policies/new-shareholders/AllowedSharesTransferRecipientsPolicy.sol": { "keccak256": "0xbc53bf9efc40861564aef9f0f7ae17c2dff6a9bb564ce061a7d2f06aa57d17e1", "urls": [ "bzz-raw://c402ba17f0081617b975cd5aadc096c52da72ca7a3ce463adf1e888fd6e6538e", "dweb:/ipfs/QmTmbN86eFVMPALpijgiuhfZqHTPio6XENJDZhFbfMf9hA" ], "license": "GPL-3.0" }, "contracts/release/extensions/policy-manager/policies/utils/AddressListRegistryPolicyBase.sol": { "keccak256": "0x3fdcf3e45c9d6b9cf5221aeb95858060dfc18abf744f664b5ce9bf2f0a6a7bdc", "urls": [ "bzz-raw://48b3ed06e509a45f122112129bf3d221ae30afad87722a123f7405a4a24e6645", "dweb:/ipfs/QmSA3cJB7C6x6BasicDpzwnHuxFkL6k8hR5fDRD42BWsGc" ], "license": "GPL-3.0" }, "contracts/release/extensions/policy-manager/policies/utils/PolicyBase.sol": { "keccak256": "0x972311abb98f0da815b4aca83d5afdd219d3604ec19cf5e3773c0c305bd9b3f1", "urls": [ "bzz-raw://2452f3d1f3b1d8e8459a07489146a2d0d8a10463715937995cbe77ee5de8c069", "dweb:/ipfs/Qmf2hhd2DVbjpxmbNGAhRZNZkqpGZA2mX3eA1WNwtv6t5Y" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol": { "keccak256": "0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609", "urls": [ "bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f", "dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol": { "keccak256": "0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01", "urls": [ "bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0", "dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol": { "keccak256": "0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196", "urls": [ "bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b", "dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol": { "keccak256": "0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794", "urls": [ "bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965", "dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IGsnForwarder.sol": { "keccak256": "0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030", "urls": [ "bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29", "dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IGsnPaymaster.sol": { "keccak256": "0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c", "urls": [ "bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4", "dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IGsnTypes.sol": { "keccak256": "0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714", "urls": [ "bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7", "dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C" ], "license": "GPL-3.0" }, "contracts/release/utils/AddressArrayLib.sol": { "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", "urls": [ "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" ], "license": "GPL-3.0" }, "contracts/release/utils/beacon-proxy/IBeacon.sol": { "keccak256": "0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2", "urls": [ "bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39", "dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V" ], "license": "GPL-3.0" }, "contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol": { "keccak256": "0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc", "urls": [ "bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be", "dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", "urls": [ "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Address.sol": { "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", "urls": [ "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" } }, "version": 1 }, "id": 218 } diff --git a/eth_defi/abi/enzyme/ArbitraryLoanFixedInterestModule.json b/eth_defi/abi/enzyme/ArbitraryLoanFixedInterestModule.json index 514f9e08..ac0407d3 100644 --- a/eth_defi/abi/enzyme/ArbitraryLoanFixedInterestModule.json +++ b/eth_defi/abi/enzyme/ArbitraryLoanFixedInterestModule.json @@ -1,796 +1 @@ -{ - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "loan", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "scaledPerSecondRatePreMaturity", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "scaledPerSecondRatePostMaturity", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "maturity", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "enum ArbitraryLoanFixedInterestModule.RepaymentTrackingType", - "name": "repaymentTrackingType", - "type": "uint8" - }, - { - "indexed": false, - "internalType": "bool", - "name": "faceValueIsPrincipalOnly", - "type": "bool" - } - ], - "name": "ConfigSetForLoan", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "loan", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "totalInterest", - "type": "uint256" - } - ], - "name": "TotalInterestUpdatedForLoan", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "loan", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "totalPrincipalRepaid", - "type": "uint256" - } - ], - "name": "TotalPrincipalRepaidUpdatedForLoan", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_totalBorrowed", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_totalRepaid", - "type": "uint256" - } - ], - "name": "calcFaceValue", - "outputs": [ - { - "internalType": "uint256", - "name": "faceValue_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "_configData", - "type": "bytes" - } - ], - "name": "configure", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_loan", - "type": "address" - } - ], - "name": "getAccountingInfoForLoan", - "outputs": [ - { - "components": [ - { - "internalType": "uint128", - "name": "totalInterestCached", - "type": "uint128" - }, - { - "internalType": "uint32", - "name": "totalInterestCachedTimestamp", - "type": "uint32" - }, - { - "internalType": "uint96", - "name": "scaledPerSecondRatePreMaturity", - "type": "uint96" - }, - { - "internalType": "uint96", - "name": "scaledPerSecondRatePostMaturity", - "type": "uint96" - }, - { - "internalType": "uint32", - "name": "maturity", - "type": "uint32" - }, - { - "internalType": "uint112", - "name": "totalPrincipalRepaid", - "type": "uint112" - }, - { - "internalType": "enum ArbitraryLoanFixedInterestModule.RepaymentTrackingType", - "name": "repaymentTrackingType", - "type": "uint8" - }, - { - "internalType": "bool", - "name": "faceValueIsPrincipalOnly", - "type": "bool" - } - ], - "internalType": "struct ArbitraryLoanFixedInterestModule.AccountingInfo", - "name": "accountingInfo_", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_prevTotalBorrowed", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_totalRepaid", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "preBorrow", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "preClose", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_totalBorrowed", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_prevTotalRepaid", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_repayableLoanAssetAmount", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "", - "type": "address[]" - } - ], - "name": "preReconcile", - "outputs": [ - { - "internalType": "uint256", - "name": "repayAmount_", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_totalBorrowed", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_prevTotalRepaid", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_repayAmountInput", - "type": "uint256" - } - ], - "name": "preRepay", - "outputs": [ - { - "internalType": "uint256", - "name": "repayAmount_", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "receiveCallFromLoan", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x608060405234801561001057600080fd5b5061157a806100206000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c80637bb6668e1161005b5780637bb6668e146100fe5780638602074e146101115780639e950b2214610124578063e00c34901461013757610088565b8063118fa5751461008d5780631324041c146100b65780631770ac3a146100d657806346739e73146100eb575b600080fd5b6100a061009b366004610ddf565b61014a565b6040516100ad91906113d7565b60405180910390f35b6100c96100c4366004610e6c565b61022b565b6040516100ad91906113e6565b6100e96100e4366004610e32565b6102af565b005b6100e96100f9366004610dfd565b6102b3565b6100c961010c366004610e32565b610550565b6100e961011f366004610e6c565b6105c6565b6100e9610132366004610dfd565b6105d6565b6100c9610145366004610eb9565b6105ee565b610152610cbb565b6001600160a01b0382166000908152602081815260409182902082516101008101845281546001600160801b0381168252600160801b80820463ffffffff90811695840195909552600160a01b9091046001600160601b039081169583019590955260018301549485166060830152600160601b850490931660808201529183046001600160701b031660a0830152909160c0830190600160f01b900460ff1660028111156101fd57fe5b600281111561020857fe5b815260019190910154600160f81b900460ff16151560209091015290505b919050565b600033610239818686610639565b600061025886866102498561014a565b516001600160801b031661070a565b905060001984141561026c57809250610299565b808411156102955760405162461bcd60e51b815260040161028c906113a7565b60405180910390fd5b8392505b6102a582878786610727565b50505b9392505050565b5050565b60003390506000806000806000868060200190518101906102d49190610f37565b94509450945094509450428363ffffffff161180610312575063ffffffff83161580156103125750836001600160601b0316856001600160601b0316145b61032e5760405162461bcd60e51b815260040161028c90611337565b8015806103475750600082600281111561034457fe5b14155b6103635760405162461bcd60e51b815260040161028c906113b7565b60405180610100016040528060006001600160801b03168152602001600063ffffffff168152602001866001600160601b03168152602001856001600160601b031681526020018463ffffffff16815260200160006001600160701b031681526020018360028111156103d257fe5b81528215156020918201526001600160a01b0388811660009081528083526040908190208451815494860151928601516001600160801b03199095166001600160801b039091161763ffffffff60801b1916600160801b63ffffffff938416810291909117909316600160a01b6001600160601b03958616021781556060850151600182018054608088015160a08901516bffffffffffffffffffffffff19909216939097169290921763ffffffff60601b1916600160601b969094169590950292909217600160801b600160f01b0319166001600160701b039092169092021780835560c084015191929060ff60f01b1916600160f01b8360028111156104d657fe5b021790555060e082015181600101601f6101000a81548160ff021916908315150217905550905050856001600160a01b03167f3acd149726e001f5c76f974ab7a0a932794e7acea35cbc88fc2e93d90d50c2ab868686868660405161053f9594939291906113f4565b60405180910390a250505050505050565b60003361055b610cbb565b6105648261014a565b90508060e00151156105925760a08101516105899086906001600160701b03166108d1565b925050506105c0565b6105bb85856105b66105a5868a8a6108f9565b85516001600160801b031690610aac565b61070a565b925050505b92915050565b6105d1338484610639565b505050565b60405162461bcd60e51b815260040161028c906113c7565b6000336105fc818888610639565b600061060c88886102498561014a565b90508086111561061e57809250610622565b8592505b61062e82898986610727565b505095945050505050565b6001600160a01b03831660009081526020819052604081209061065d8585856108f9565b905080156106e857815460009061067d906001600160801b031683610aac565b905061068881610ad1565b83546001600160801b0319166001600160801b03919091161783556040516001600160a01b038716907f9500a489ed014d7675b6f72f4f9d8bebb645a36aeb864a13dcb223f269672971906106de9084906113e6565b60405180910390a2505b50805463ffffffff60801b1916600160801b4263ffffffff1602179055505050565b600061071f6107198584610aac565b84610afa565b949350505050565b61072f610cbb565b6107388561014a565b905060008160c00151600281111561074c57fe5b141561075857506108cb565b600061077a8260a001516001600160701b0316866108d190919063ffffffff16565b9050806107885750506108cb565b600060018360c00151600281111561079c57fe5b14156107d0578184106107b05750846107cb565b60a08301516107c8906001600160701b031685610aac565b90505b610842565b60006107ea878786600001516001600160801b031661070a565b90508085106107fb57869150610840565b600061080782856108d1565b90508086111561083e5761083b81610835888860a001516001600160701b0316610aac90919063ffffffff16565b906108d1565b92505b505b505b80156108c75761085181610b16565b6001600160a01b0388166000818152602081905260409081902060010180546001600160701b0394909416600160801b02600160801b600160f01b03199094169390931790925590517f1ce9ccee357c3e4e9a4e096cd199734532d89ca0b35b73ebba49990b496316d69061053f9084906113e6565b5050505b50505050565b6000828211156108f35760405162461bcd60e51b815260040161028c90611377565b50900390565b6000610903610cbb565b61090c8561014a565b905042816020015163ffffffff16141561092a5760009150506102a8565b805160009061094d906109479087906001600160801b0316610aac565b85610afa565b90508061095f576000925050506102a8565b816080015163ffffffff1642111580610991575081606001516001600160601b031682604001516001600160601b0316145b156109d3576109ca8183604001516001600160601b03166109c5856020015163ffffffff16426108d190919063ffffffff16565b610b3b565b925050506102a8565b816080015163ffffffff16826020015163ffffffff1610610a1d576109ca8183606001516001600160601b03166109c5856020015163ffffffff16426108d190919063ffffffff16565b6000610a588284604001516001600160601b03166109c5866020015163ffffffff16876080015163ffffffff166108d190919063ffffffff16565b90506000610a94610a698484610aac565b85606001516001600160601b03166109c5876080015163ffffffff16426108d190919063ffffffff16565b9050610aa08282610aac565b98975050505050505050565b6000828201838110156102a85760405162461bcd60e51b815260040161028c90611357565b6000600160801b8210610af65760405162461bcd60e51b815260040161028c90611367565b5090565b600081831115610b0d57508082036105c0565b50600092915050565b6000600160701b8210610af65760405162461bcd60e51b815260040161028c90611347565b600082610b4a575060006102a8565b61071f6b033b2e3c9fd0803ce8000000610b8b610b846b033b2e3c9fd0803ce800000061083588886b033b2e3c9fd0803ce8000000610b91565b8790610c4f565b90610c89565b6000838015610c3257600184168015610bac57859250610bb0565b8392505b50600283046002850494505b8415610c2c578586028687820414610bd357600080fd5b81810181811015610be357600080fd5b85810497506002870615610c1f578785028589820414158915151615610c0857600080fd5b83810181811015610c1857600080fd5b8790049550505b5050600285049450610bbc565b50610c47565b838015610c4257600092506102a5565b839250505b509392505050565b600082610c5e575060006105c0565b82820282848281610c6b57fe5b04146102a85760405162461bcd60e51b815260040161028c90611397565b6000808211610caa5760405162461bcd60e51b815260040161028c90611387565b818381610cb357fe5b049392505050565b6040805161010081018252600080825260208201819052918101829052606081018290526080810182905260a081018290529060c08201908152600060209091015290565b80356105c081611528565b60008083601f840112610d1d57600080fd5b50813567ffffffffffffffff811115610d3557600080fd5b602083019150836020820283011115610d4d57600080fd5b9250929050565b80516105c08161153c565b600082601f830112610d7057600080fd5b8135610d83610d7e82611467565b611440565b91508082526020830160208301858383011115610d9f57600080fd5b610daa83828461150f565b50505092915050565b80516105c081611545565b80356105c081611552565b80516105c08161155b565b80516105c081611564565b600060208284031215610df157600080fd5b600061071f8484610d00565b600060208284031215610e0f57600080fd5b813567ffffffffffffffff811115610e2657600080fd5b61071f84828501610d5f565b60008060408385031215610e4557600080fd5b6000610e518585610dbe565b9250506020610e6285828601610dbe565b9150509250929050565b600080600060608486031215610e8157600080fd5b6000610e8d8686610dbe565b9350506020610e9e86828701610dbe565b9250506040610eaf86828701610dbe565b9150509250925092565b600080600080600060808688031215610ed157600080fd5b6000610edd8888610dbe565b9550506020610eee88828901610dbe565b9450506040610eff88828901610dbe565b935050606086013567ffffffffffffffff811115610f1c57600080fd5b610f2888828901610d0b565b92509250509295509295909350565b600080600080600060a08688031215610f4f57600080fd5b6000610f5b8888610dd4565b9550506020610f6c88828901610dd4565b9450506040610f7d88828901610dc9565b9350506060610f8e88828901610db3565b9250506080610f9f88828901610d54565b9150509295509295909350565b610fb5816114a3565b82525050565b610fb5816114ee565b6000610fd160348361148f565b7f636f6e6669677572653a20506f73742d6d61747572697479207261746520776981527374686f75742076616c6964206d6174757269747960601b602082015260400192915050565b600061102760308361148f565b7f5f5f736166654361737455696e743131323a2056616c756520646f65736e277481526f2066697420696e20313132206269747360801b602082015260400192915050565b6000611079601b8361148f565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b60006110b260278361148f565b7f53616665436173743a2076616c756520646f65736e27742066697420696e20318152663238206269747360c81b602082015260400192915050565b60006110fb601e8361148f565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000611134601a8361148f565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b600061116d60218361148f565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b60006111b060158361148f565b741c1c9954995c185e4e8813dd995c9c185e5b595b9d605a1b815260200192915050565b60006111e160248361148f565b7f636f6e6669677572653a20496e76616c696420666163652076616c756520636f8152636e66696760e01b602082015260400192915050565b600061122760258361148f565b7f7265636569766543616c6c46726f6d4c6f616e3a20496e76616c6964206163748152641a5bdb925960da1b602082015260400192915050565b80516101008301906112738482611301565b506020820151611286602085018261131c565b506040820151611299604085018261132e565b5060608201516112ac606085018261132e565b5060808201516112bf608085018261131c565b5060a08201516112d260a08501826112f8565b5060c08201516112e560c0850182610fbb565b5060e08201516108cb60e0850182610fac565b610fb5816114b2565b610fb5816114be565b610fb5816114d6565b610fb5816114f9565b610fb5816114d9565b610fb581611504565b610fb5816114e2565b602080825281016105c081610fc4565b602080825281016105c08161101a565b602080825281016105c08161106c565b602080825281016105c0816110a5565b602080825281016105c0816110ee565b602080825281016105c081611127565b602080825281016105c081611160565b602080825281016105c0816111a3565b602080825281016105c0816111d4565b602080825281016105c08161121a565b61010081016105c08284611261565b602081016105c0828461130a565b60a081016114028288611325565b61140f6020830187611325565b61141c6040830186611313565b6114296060830185610fbb565b6114366080830184610fac565b9695505050505050565b60405181810167ffffffffffffffff8111828210171561145f57600080fd5b604052919050565b600067ffffffffffffffff82111561147e57600080fd5b506020601f91909101601f19160190565b90815260200190565b60006105c0826114ca565b151590565b806102268161151b565b6001600160701b031690565b6001600160801b031690565b6001600160a01b031690565b90565b63ffffffff1690565b6001600160601b031690565b60006105c0826114a8565b60006105c0826114d9565b60006105c0826114e2565b82818337506000910152565b6003811061152557fe5b50565b61153181611498565b811461152557600080fd5b611531816114a3565b6003811061152557600080fd5b611531816114d6565b611531816114d9565b611531816114e256fea164736f6c634300060c000a", - "sourceMap": "745:16203:96:-:0;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106100885760003560e01c80637bb6668e1161005b5780637bb6668e146100fe5780638602074e146101115780639e950b2214610124578063e00c34901461013757610088565b8063118fa5751461008d5780631324041c146100b65780631770ac3a146100d657806346739e73146100eb575b600080fd5b6100a061009b366004610ddf565b61014a565b6040516100ad91906113d7565b60405180910390f35b6100c96100c4366004610e6c565b61022b565b6040516100ad91906113e6565b6100e96100e4366004610e32565b6102af565b005b6100e96100f9366004610dfd565b6102b3565b6100c961010c366004610e32565b610550565b6100e961011f366004610e6c565b6105c6565b6100e9610132366004610dfd565b6105d6565b6100c9610145366004610eb9565b6105ee565b610152610cbb565b6001600160a01b0382166000908152602081815260409182902082516101008101845281546001600160801b0381168252600160801b80820463ffffffff90811695840195909552600160a01b9091046001600160601b039081169583019590955260018301549485166060830152600160601b850490931660808201529183046001600160701b031660a0830152909160c0830190600160f01b900460ff1660028111156101fd57fe5b600281111561020857fe5b815260019190910154600160f81b900460ff16151560209091015290505b919050565b600033610239818686610639565b600061025886866102498561014a565b516001600160801b031661070a565b905060001984141561026c57809250610299565b808411156102955760405162461bcd60e51b815260040161028c906113a7565b60405180910390fd5b8392505b6102a582878786610727565b50505b9392505050565b5050565b60003390506000806000806000868060200190518101906102d49190610f37565b94509450945094509450428363ffffffff161180610312575063ffffffff83161580156103125750836001600160601b0316856001600160601b0316145b61032e5760405162461bcd60e51b815260040161028c90611337565b8015806103475750600082600281111561034457fe5b14155b6103635760405162461bcd60e51b815260040161028c906113b7565b60405180610100016040528060006001600160801b03168152602001600063ffffffff168152602001866001600160601b03168152602001856001600160601b031681526020018463ffffffff16815260200160006001600160701b031681526020018360028111156103d257fe5b81528215156020918201526001600160a01b0388811660009081528083526040908190208451815494860151928601516001600160801b03199095166001600160801b039091161763ffffffff60801b1916600160801b63ffffffff938416810291909117909316600160a01b6001600160601b03958616021781556060850151600182018054608088015160a08901516bffffffffffffffffffffffff19909216939097169290921763ffffffff60601b1916600160601b969094169590950292909217600160801b600160f01b0319166001600160701b039092169092021780835560c084015191929060ff60f01b1916600160f01b8360028111156104d657fe5b021790555060e082015181600101601f6101000a81548160ff021916908315150217905550905050856001600160a01b03167f3acd149726e001f5c76f974ab7a0a932794e7acea35cbc88fc2e93d90d50c2ab868686868660405161053f9594939291906113f4565b60405180910390a250505050505050565b60003361055b610cbb565b6105648261014a565b90508060e00151156105925760a08101516105899086906001600160701b03166108d1565b925050506105c0565b6105bb85856105b66105a5868a8a6108f9565b85516001600160801b031690610aac565b61070a565b925050505b92915050565b6105d1338484610639565b505050565b60405162461bcd60e51b815260040161028c906113c7565b6000336105fc818888610639565b600061060c88886102498561014a565b90508086111561061e57809250610622565b8592505b61062e82898986610727565b505095945050505050565b6001600160a01b03831660009081526020819052604081209061065d8585856108f9565b905080156106e857815460009061067d906001600160801b031683610aac565b905061068881610ad1565b83546001600160801b0319166001600160801b03919091161783556040516001600160a01b038716907f9500a489ed014d7675b6f72f4f9d8bebb645a36aeb864a13dcb223f269672971906106de9084906113e6565b60405180910390a2505b50805463ffffffff60801b1916600160801b4263ffffffff1602179055505050565b600061071f6107198584610aac565b84610afa565b949350505050565b61072f610cbb565b6107388561014a565b905060008160c00151600281111561074c57fe5b141561075857506108cb565b600061077a8260a001516001600160701b0316866108d190919063ffffffff16565b9050806107885750506108cb565b600060018360c00151600281111561079c57fe5b14156107d0578184106107b05750846107cb565b60a08301516107c8906001600160701b031685610aac565b90505b610842565b60006107ea878786600001516001600160801b031661070a565b90508085106107fb57869150610840565b600061080782856108d1565b90508086111561083e5761083b81610835888860a001516001600160701b0316610aac90919063ffffffff16565b906108d1565b92505b505b505b80156108c75761085181610b16565b6001600160a01b0388166000818152602081905260409081902060010180546001600160701b0394909416600160801b02600160801b600160f01b03199094169390931790925590517f1ce9ccee357c3e4e9a4e096cd199734532d89ca0b35b73ebba49990b496316d69061053f9084906113e6565b5050505b50505050565b6000828211156108f35760405162461bcd60e51b815260040161028c90611377565b50900390565b6000610903610cbb565b61090c8561014a565b905042816020015163ffffffff16141561092a5760009150506102a8565b805160009061094d906109479087906001600160801b0316610aac565b85610afa565b90508061095f576000925050506102a8565b816080015163ffffffff1642111580610991575081606001516001600160601b031682604001516001600160601b0316145b156109d3576109ca8183604001516001600160601b03166109c5856020015163ffffffff16426108d190919063ffffffff16565b610b3b565b925050506102a8565b816080015163ffffffff16826020015163ffffffff1610610a1d576109ca8183606001516001600160601b03166109c5856020015163ffffffff16426108d190919063ffffffff16565b6000610a588284604001516001600160601b03166109c5866020015163ffffffff16876080015163ffffffff166108d190919063ffffffff16565b90506000610a94610a698484610aac565b85606001516001600160601b03166109c5876080015163ffffffff16426108d190919063ffffffff16565b9050610aa08282610aac565b98975050505050505050565b6000828201838110156102a85760405162461bcd60e51b815260040161028c90611357565b6000600160801b8210610af65760405162461bcd60e51b815260040161028c90611367565b5090565b600081831115610b0d57508082036105c0565b50600092915050565b6000600160701b8210610af65760405162461bcd60e51b815260040161028c90611347565b600082610b4a575060006102a8565b61071f6b033b2e3c9fd0803ce8000000610b8b610b846b033b2e3c9fd0803ce800000061083588886b033b2e3c9fd0803ce8000000610b91565b8790610c4f565b90610c89565b6000838015610c3257600184168015610bac57859250610bb0565b8392505b50600283046002850494505b8415610c2c578586028687820414610bd357600080fd5b81810181811015610be357600080fd5b85810497506002870615610c1f578785028589820414158915151615610c0857600080fd5b83810181811015610c1857600080fd5b8790049550505b5050600285049450610bbc565b50610c47565b838015610c4257600092506102a5565b839250505b509392505050565b600082610c5e575060006105c0565b82820282848281610c6b57fe5b04146102a85760405162461bcd60e51b815260040161028c90611397565b6000808211610caa5760405162461bcd60e51b815260040161028c90611387565b818381610cb357fe5b049392505050565b6040805161010081018252600080825260208201819052918101829052606081018290526080810182905260a081018290529060c08201908152600060209091015290565b80356105c081611528565b60008083601f840112610d1d57600080fd5b50813567ffffffffffffffff811115610d3557600080fd5b602083019150836020820283011115610d4d57600080fd5b9250929050565b80516105c08161153c565b600082601f830112610d7057600080fd5b8135610d83610d7e82611467565b611440565b91508082526020830160208301858383011115610d9f57600080fd5b610daa83828461150f565b50505092915050565b80516105c081611545565b80356105c081611552565b80516105c08161155b565b80516105c081611564565b600060208284031215610df157600080fd5b600061071f8484610d00565b600060208284031215610e0f57600080fd5b813567ffffffffffffffff811115610e2657600080fd5b61071f84828501610d5f565b60008060408385031215610e4557600080fd5b6000610e518585610dbe565b9250506020610e6285828601610dbe565b9150509250929050565b600080600060608486031215610e8157600080fd5b6000610e8d8686610dbe565b9350506020610e9e86828701610dbe565b9250506040610eaf86828701610dbe565b9150509250925092565b600080600080600060808688031215610ed157600080fd5b6000610edd8888610dbe565b9550506020610eee88828901610dbe565b9450506040610eff88828901610dbe565b935050606086013567ffffffffffffffff811115610f1c57600080fd5b610f2888828901610d0b565b92509250509295509295909350565b600080600080600060a08688031215610f4f57600080fd5b6000610f5b8888610dd4565b9550506020610f6c88828901610dd4565b9450506040610f7d88828901610dc9565b9350506060610f8e88828901610db3565b9250506080610f9f88828901610d54565b9150509295509295909350565b610fb5816114a3565b82525050565b610fb5816114ee565b6000610fd160348361148f565b7f636f6e6669677572653a20506f73742d6d61747572697479207261746520776981527374686f75742076616c6964206d6174757269747960601b602082015260400192915050565b600061102760308361148f565b7f5f5f736166654361737455696e743131323a2056616c756520646f65736e277481526f2066697420696e20313132206269747360801b602082015260400192915050565b6000611079601b8361148f565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b60006110b260278361148f565b7f53616665436173743a2076616c756520646f65736e27742066697420696e20318152663238206269747360c81b602082015260400192915050565b60006110fb601e8361148f565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000611134601a8361148f565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b600061116d60218361148f565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b60006111b060158361148f565b741c1c9954995c185e4e8813dd995c9c185e5b595b9d605a1b815260200192915050565b60006111e160248361148f565b7f636f6e6669677572653a20496e76616c696420666163652076616c756520636f8152636e66696760e01b602082015260400192915050565b600061122760258361148f565b7f7265636569766543616c6c46726f6d4c6f616e3a20496e76616c6964206163748152641a5bdb925960da1b602082015260400192915050565b80516101008301906112738482611301565b506020820151611286602085018261131c565b506040820151611299604085018261132e565b5060608201516112ac606085018261132e565b5060808201516112bf608085018261131c565b5060a08201516112d260a08501826112f8565b5060c08201516112e560c0850182610fbb565b5060e08201516108cb60e0850182610fac565b610fb5816114b2565b610fb5816114be565b610fb5816114d6565b610fb5816114f9565b610fb5816114d9565b610fb581611504565b610fb5816114e2565b602080825281016105c081610fc4565b602080825281016105c08161101a565b602080825281016105c08161106c565b602080825281016105c0816110a5565b602080825281016105c0816110ee565b602080825281016105c081611127565b602080825281016105c081611160565b602080825281016105c0816111a3565b602080825281016105c0816111d4565b602080825281016105c08161121a565b61010081016105c08284611261565b602081016105c0828461130a565b60a081016114028288611325565b61140f6020830187611325565b61141c6040830186611313565b6114296060830185610fbb565b6114366080830184610fac565b9695505050505050565b60405181810167ffffffffffffffff8111828210171561145f57600080fd5b604052919050565b600067ffffffffffffffff82111561147e57600080fd5b506020601f91909101601f19160190565b90815260200190565b60006105c0826114ca565b151590565b806102268161151b565b6001600160701b031690565b6001600160801b031690565b6001600160a01b031690565b90565b63ffffffff1690565b6001600160601b031690565b60006105c0826114a8565b60006105c0826114d9565b60006105c0826114e2565b82818337506000910152565b6003811061152557fe5b50565b61153181611498565b811461152557600080fd5b611531816114a3565b6003811061152557600080fd5b611531816114d6565b611531816114d9565b611531816114e256fea164736f6c634300060c000a", - "sourceMap": "745:16203:96:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16758:188;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7871:982;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;5793:56::-;;;;;;:::i;:::-;;:::i;:::-;;3350:1853;;;;;;:::i;:::-;;:::i;2551:706::-;;;;;;:::i;:::-;;:::i;5452:209::-;;;;;;:::i;:::-;;:::i;8989:125::-;;;;;;:::i;:::-;;:::i;6520:894::-;;;;;;:::i;:::-;;:::i;16758:188::-;16852:37;;:::i;:::-;-1:-1:-1;;;;;16912:27:96;;:20;:27;;;;;;;;;;;;16905:34;;;;;;;;;-1:-1:-1;;;;;16905:34:96;;;;-1:-1:-1;;;16905:34:96;;;;;;;;;;;;;;-1:-1:-1;;;16905:34:96;;;-1:-1:-1;;;;;16905:34:96;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;16905:34:96;;;;;;;;;;;;-1:-1:-1;;;;;16905:34:96;;;;;;;;;;;-1:-1:-1;;;16905:34:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;16905:34:96;;;;;;;;;;;;-1:-1:-1;16758:188:96;;;;:::o;7871:982::-;8023:20;8070:10;8091:60;8070:10;8118:14;8134:16;8091:20;:60::i;:::-;8162:19;8184:149;8215:14;8243:16;8273:30;8298:4;8273:24;:30::i;:::-;:50;-1:-1:-1;;;;;8184:149:96;:17;:149::i;:::-;8162:171;;-1:-1:-1;;8404:17:96;:38;8400:326;;;8473:11;8458:26;;8400:326;;;8631:11;8610:17;:32;;8602:66;;;;-1:-1:-1;;;8602:66:96;;;;;;;:::i;:::-;;;;;;;;;8698:17;8683:32;;8400:326;8736:80;8763:4;8769:14;8785:16;8803:12;8736:26;:80::i;:::-;8827:19;;7871:982;;;;;;:::o;5793:56::-;;;:::o;3350:1853::-;3423:12;3438:10;3423:25;;3472:37;3523:38;3575:15;3604:43;3661:29;3714:11;3703:78;;;;;;;;;;;;:::i;:::-;3458:323;;;;;;;;;;3974:15;3963:8;:26;;;:150;;;-1:-1:-1;4010:13:96;;;;:102;;;;;4081:31;-1:-1:-1;;;;;4047:65:96;:30;-1:-1:-1;;;;;4047:65:96;;4010:102;3942:249;;;;-1:-1:-1;;;3942:249:96;;;;;;;:::i;:::-;4319:24;4318:25;:80;;;-1:-1:-1;4372:26:96;4347:21;:51;;;;;;;;;;4318:80;4297:163;;;;-1:-1:-1;;;4297:163:96;;;;;;;:::i;:::-;4500:452;;;;;;;;4550:1;-1:-1:-1;;;;;4500:452:96;;;;;4595:1;4500:452;;;;;;4642:30;-1:-1:-1;;;;;4500:452:96;;;;;4719:31;-1:-1:-1;;;;;4500:452:96;;;;;4774:8;4500:452;;;;;;4818:1;-1:-1:-1;;;;;4500:452:96;;;;;4856:21;4500:452;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4471:26:96;;;-1:-1:-1;4471:26:96;;;;;;;;;;;:481;;;;;;;;;;;;-1:-1:-1;;;;;;4471:481:96;;;-1:-1:-1;;;;;4471:481:96;;;;-1:-1:-1;;;;4471:481:96;-1:-1:-1;;;4471:481:96;;;;;;;;;;;;;-1:-1:-1;;;;;;;;4471:481:96;;;;;;;;;;;-1:-1:-1;4471:481:96;;;;;;;;;;;;-1:-1:-1;;4471:481:96;;;;;;;;;;;-1:-1:-1;;;;4471:481:96;-1:-1:-1;;;4471:481:96;;;;;;;;;;;;-1:-1:-1;;;;;;;;4471:481:96;-1:-1:-1;;;;;4471:481:96;;;;;;;;;;;;;;:26;;:481;-1:-1:-1;;;;4471:481:96;-1:-1:-1;;;4471:481:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4998:4;-1:-1:-1;;;;;4968:228:96;;5016:30;5060:31;5105:8;5127:21;5162:24;4968:228;;;;;;;;;;:::i;:::-;;;;;;;;3350:1853;;;;;;;:::o;2551:706::-;2684:18;2733:10;2753:36;;:::i;:::-;2792:30;2817:4;2792:24;:30::i;:::-;2753:69;;2837:14;:39;;;2833:132;;;2918:35;;;;2899:55;;:14;;-1:-1:-1;;;;;2899:55:96;:18;:55::i;:::-;2892:62;;;;;;2833:132;2994:256;3029:14;3061:12;3091:145;3160:58;3183:4;3189:14;3205:12;3160:22;:58::i;:::-;3099:34;;-1:-1:-1;;;;;3091:43:96;;:47;:145::i;:::-;2994:17;:256::i;:::-;2975:275;;;;2551:706;;;;;:::o;5452:209::-;5588:66;5609:10;5621:18;5641:12;5588:20;:66::i;:::-;5452:209;;;:::o;8989:125::-;9060:47;;-1:-1:-1;;;9060:47:96;;;;;;;:::i;6520:894::-;6712:20;6759:10;6780:60;6759:10;6807:14;6823:16;6780:20;:60::i;:::-;6851:19;6873:149;6904:14;6932:16;6962:30;6987:4;6962:24;:30::i;6873:149::-;6851:171;;7065:11;7037:25;:39;7033:254;;;7194:11;7179:26;;7033:254;;;7251:25;7236:40;;7033:254;7297:80;7324:4;7330:14;7346:16;7364:12;7297:26;:80::i;:::-;7388:19;;6520:894;;;;;;;:::o;9195:810::-;-1:-1:-1;;;;;9374:27:96;;9334:37;9374:27;;;;;;;;;;;9439:59;9395:5;9469:14;9485:12;9439:22;:59::i;:::-;9412:86;-1:-1:-1;9512:20:96;;9508:316;;9580:34;;9548:21;;9572:95;;-1:-1:-1;;;;;9580:34:96;9637:16;9572:47;:95::i;:::-;9548:119;;9719:25;:13;:23;:25::i;:::-;9682:62;;-1:-1:-1;;;;;;9682:62:96;-1:-1:-1;;;;;9682:62:96;;;;;;;9764:49;;-1:-1:-1;;;;;9764:49:96;;;;;;;9799:13;;9764:49;:::i;:::-;;;;;;;;9508:316;;-1:-1:-1;9929:69:96;;-1:-1:-1;;;;9929:69:96;-1:-1:-1;;;9982:15:96;9929:69;;;;;;-1:-1:-1;;;9195:810:96:o;13664:252::-;13813:16;13848:61;13860:34;:14;13879;13860:18;:34::i;:::-;13896:12;13848:11;:61::i;:::-;13841:68;13664:252;-1:-1:-1;;;;13664:252:96:o;10163:2331::-;10342:36;;:::i;:::-;10381:31;10406:5;10381:24;:31::i;:::-;10342:70;-1:-1:-1;10467:26:96;10427:14;:36;;;:66;;;;;;;;;10423:103;;;10509:7;;;10423:103;10536:28;10567:55;10586:14;:35;;;-1:-1:-1;;;;;10567:55:96;:14;:18;;:55;;;;:::i;:::-;10536:86;-1:-1:-1;10636:25:96;10632:62;;10677:7;;;;10632:62;10704:32;10790:36;10750:14;:36;;;:76;;;;;;;;;10746:1462;;;10940:20;10924:12;:36;10920:282;;-1:-1:-1;11007:14:96;10920:282;;;11095:35;;;;11087:100;;-1:-1:-1;;;;;11087:44:96;11157:12;11087:48;:100::i;:::-;11060:127;;10920:282;10746:1462;;;11415:23;11441:149;11476:14;11508:16;11542:14;:34;;;-1:-1:-1;;;;;11441:149:96;:17;:149::i;:::-;11415:175;;11625:15;11609:12;:31;11605:593;;11746:14;11719:41;;11605:593;;;11855:25;11883:41;:15;11903:20;11883:19;:41::i;:::-;11855:69;;11962:17;11947:12;:32;11943:241;;;12030:135;12147:17;12030:87;12104:12;12038:14;:35;;;-1:-1:-1;;;;;12030:44:96;:73;;:87;;;;:::i;:::-;:116;;:135::i;:::-;12003:162;;11943:241;11605:593;;10746:1462;;12222:28;;12218:270;;12317:73;12352:24;12317:17;:73::i;:::-;-1:-1:-1;;;;;12266:27:96;;:20;:27;;;;;;;;;;;;:48;;:124;;-1:-1:-1;;;;;12266:124:96;;;;-1:-1:-1;;;12266:124:96;-1:-1:-1;;;;;;;;12266:124:96;;;;;;;;;;12410:67;;;;;;12452:24;;12410:67;:::i;12218:270::-;10163:2331;;;;;;;;:::o;3136:155:442:-;3194:7;3226:1;3221;:6;;3213:49;;;;-1:-1:-1;;;3213:49:442;;;;;;;:::i;:::-;-1:-1:-1;3279:5:442;;;3136:155::o;13973:2559:96:-;14118:25;14155:36;;:::i;:::-;14194:31;14219:5;14194:24;:31::i;:::-;14155:70;;14287:15;14240:14;:43;;;:62;;;14236:101;;;14325:1;14318:8;;;;;14236:101;14425:34;;14347:31;;14381:115;;14406:54;;:14;;-1:-1:-1;;;;;14406:54:96;:18;:54::i;:::-;14474:12;14381:11;:115::i;:::-;14347:149;-1:-1:-1;14510:28:96;14506:67;;14561:1;14554:8;;;;;;14506:67;14808:14;:23;;;14789:42;;:15;:42;;:165;;;;14908:14;:46;;;-1:-1:-1;;;;;14847:107:96;:14;:45;;;-1:-1:-1;;;;;14847:107:96;;14789:165;14772:493;;;15002:252;15060:23;15105:14;:45;;;-1:-1:-1;;;;;15002:252:96;15172:64;15192:14;:43;;;15172:64;;:15;:19;;:64;;;;:::i;:::-;15002:36;:252::i;:::-;14979:275;;;;;;14772:493;15404:14;:23;;;15357:70;;:14;:43;;;:70;;;15353:377;;15466:253;15524:23;15569:14;:46;;;-1:-1:-1;;;;;15466:253:96;15637:64;15657:14;:43;;;15637:64;;:15;:19;;:64;;;;:::i;15353:377::-;15927:27;15957:237;16007:23;16044:14;:45;;;-1:-1:-1;;;;;15957:237:96;16103:81;16140:14;:43;;;16103:81;;16111:14;:23;;;16103:32;;:36;;:81;;;;:::i;15957:237::-;15927:267;-1:-1:-1;16205:28:96;16236:226;16286:48;:23;15927:267;16286:27;:48::i;:::-;16348:14;:46;;;-1:-1:-1;;;;;16236:226:96;16408:44;16428:14;:23;;;16408:44;;:15;:19;;:44;;;;:::i;16236:226::-;16205:257;-1:-1:-1;16480:45:96;:19;16205:257;16480:23;:45::i;:::-;16473:52;13973:2559;-1:-1:-1;;;;;;;;13973:2559:96:o;2690:175:442:-;2748:7;2779:5;;;2802:6;;;;2794:46;;;;-1:-1:-1;;;2794:46:442;;;;;;;:::i;1086:181:454:-;1143:7;-1:-1:-1;;;1170:5:454;:14;1162:67;;;;-1:-1:-1;;;1162:67:454;;;;;;;:::i;:::-;-1:-1:-1;1254:5:454;1086:181::o;1127:205:360:-;1207:12;1246:8;1235;:19;1231:76;;;-1:-1:-1;1277:19:360;;;1270:26;;1231:76;-1:-1:-1;1324:1:360;1127:205;;;;:::o;12547:210:96:-;12611:20;-1:-1:-1;;;12651:5:96;:14;12643:75;;;;-1:-1:-1;;;12643:75:96;;;;;;;:::i;12906:671::-;13089:17;13122:25;13118:64;;-1:-1:-1;13170:1:96;13163:8;;13118:64;13211:359;2175:6;13211:300;13266:227;2175:6;13266:185;13298:20;13344:23;2175:6;13266;:185::i;:227::-;13211:12;;:33;:300::i;:::-;:321;;:359::i;1233:1086:359:-;1311:10;1363:2;1366:57;;;;1469:10;;;1480:22;;;;1519:2;1513:8;;1462:61;;1480:22;1495:5;1489:11;;1462:61;;1563:1;1556:5;1552:13;1602:1;1598:2;1594:10;1588:16;;1582:687;1607:2;1582:687;;;1670:2;1666;1662:11;1720:2;1715;1711;1707:11;1704:19;1694:2;;1736:1;1734;1727:11;1694:2;1784:4;1780:2;1776:13;1825:2;1816:7;1813:15;1810:2;;;1840:1;1838;1831:11;1810:2;1884:5;1875:7;1871:19;1865:25;;1921:1;1918:2;1914:9;1911:2;;;1968;1964;1960:11;2046:2;2041;2037;2033:11;2030:19;2023:27;2017:2;2010:10;2003:18;1999:52;1996:2;;;2063:1;2061;2054:11;1996:2;2115:4;2111:2;2107:13;2160:2;2151:7;2148:15;2145:2;;;2175:1;2173;2166:11;2145:2;2210:19;;;;-1:-1:-1;;1911:2:359;1630:639;;1625:1;1622:2;1618:9;1612:15;;1582:687;;;1444:839;1356:927;;1366:57;1381:2;1384:20;;;;1420:1;1414:7;;1374:48;;1384:20;1398:5;1392:11;;1374:48;1356:927;;1233:1086;;;;;:::o;3538:215:442:-;3596:7;3619:6;3615:20;;-1:-1:-1;3634:1:442;3627:8;;3615:20;3657:5;;;3661:1;3657;:5;:1;3680:5;;;;;:10;3672:56;;;;-1:-1:-1;;;3672:56:442;;;;;;;:::i;4217:150::-;4275:7;4306:1;4302;:5;4294:44;;;;-1:-1:-1;;;4294:44:442;;;;;;;:::i;:::-;4359:1;4355;:5;;;;;;;4217:150;-1:-1:-1;;;4217:150:442:o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5:130::-;72:20;;97:33;72:20;97:33;:::i;160:352::-;;;290:3;283:4;275:6;271:17;267:27;257:2;;308:1;305;298:12;257:2;-1:-1;328:20;;368:18;357:30;;354:2;;;400:1;397;390:12;354:2;434:4;426:6;422:17;410:29;;485:3;477:4;469:6;465:17;455:8;451:32;448:41;445:2;;;502:1;499;492:12;445:2;250:262;;;;;:::o;520:128::-;595:13;;613:30;595:13;613:30;:::i;656:440::-;;757:3;750:4;742:6;738:17;734:27;724:2;;775:1;772;765:12;724:2;812:6;799:20;834:64;849:48;890:6;849:48;:::i;:::-;834:64;:::i;:::-;825:73;;918:6;911:5;904:21;954:4;946:6;942:17;987:4;980:5;976:16;1022:3;1013:6;1008:3;1004:16;1001:25;998:2;;;1039:1;1036;1029:12;998:2;1049:41;1083:6;1078:3;1073;1049:41;:::i;:::-;717:379;;;;;;;:::o;1104:188::-;1209:13;;1227:60;1209:13;1227:60;:::i;1299:130::-;1366:20;;1391:33;1366:20;1391:33;:::i;1436:132::-;1513:13;;1531:32;1513:13;1531:32;:::i;1575:132::-;1652:13;;1670:32;1652:13;1670:32;:::i;1714:241::-;;1818:2;1806:9;1797:7;1793:23;1789:32;1786:2;;;1834:1;1831;1824:12;1786:2;1869:1;1886:53;1931:7;1911:9;1886:53;:::i;1962:345::-;;2075:2;2063:9;2054:7;2050:23;2046:32;2043:2;;;2091:1;2088;2081:12;2043:2;2126:31;;2177:18;2166:30;;2163:2;;;2209:1;2206;2199:12;2163:2;2229:62;2283:7;2274:6;2263:9;2259:22;2229:62;:::i;2314:366::-;;;2435:2;2423:9;2414:7;2410:23;2406:32;2403:2;;;2451:1;2448;2441:12;2403:2;2486:1;2503:53;2548:7;2528:9;2503:53;:::i;:::-;2493:63;;2465:97;2593:2;2611:53;2656:7;2647:6;2636:9;2632:22;2611:53;:::i;:::-;2601:63;;2572:98;2397:283;;;;;:::o;2687:491::-;;;;2825:2;2813:9;2804:7;2800:23;2796:32;2793:2;;;2841:1;2838;2831:12;2793:2;2876:1;2893:53;2938:7;2918:9;2893:53;:::i;:::-;2883:63;;2855:97;2983:2;3001:53;3046:7;3037:6;3026:9;3022:22;3001:53;:::i;:::-;2991:63;;2962:98;3091:2;3109:53;3154:7;3145:6;3134:9;3130:22;3109:53;:::i;:::-;3099:63;;3070:98;2787:391;;;;;:::o;3185:773::-;;;;;;3375:3;3363:9;3354:7;3350:23;3346:33;3343:2;;;3392:1;3389;3382:12;3343:2;3427:1;3444:53;3489:7;3469:9;3444:53;:::i;:::-;3434:63;;3406:97;3534:2;3552:53;3597:7;3588:6;3577:9;3573:22;3552:53;:::i;:::-;3542:63;;3513:98;3642:2;3660:53;3705:7;3696:6;3685:9;3681:22;3660:53;:::i;:::-;3650:63;;3621:98;3778:2;3767:9;3763:18;3750:32;3802:18;3794:6;3791:30;3788:2;;;3834:1;3831;3824:12;3788:2;3862:80;3934:7;3925:6;3914:9;3910:22;3862:80;:::i;:::-;3844:98;;;;3729:219;3337:621;;;;;;;;:::o;3965:851::-;;;;;;4169:3;4157:9;4148:7;4144:23;4140:33;4137:2;;;4186:1;4183;4176:12;4137:2;4221:1;4238:63;4293:7;4273:9;4238:63;:::i;:::-;4228:73;;4200:107;4338:2;4356:63;4411:7;4402:6;4391:9;4387:22;4356:63;:::i;:::-;4346:73;;4317:108;4456:2;4474:63;4529:7;4520:6;4509:9;4505:22;4474:63;:::i;:::-;4464:73;;4435:108;4574:2;4592:91;4675:7;4666:6;4655:9;4651:22;4592:91;:::i;:::-;4582:101;;4553:136;4720:3;4739:61;4792:7;4783:6;4772:9;4768:22;4739:61;:::i;:::-;4729:71;;4699:107;4131:685;;;;;;;;:::o;4823:94::-;4890:21;4905:5;4890:21;:::i;:::-;4885:3;4878:34;4872:45;;:::o;5035:166::-;5133:62;5189:5;5133:62;:::i;5392:389::-;;5552:67;5616:2;5611:3;5552:67;:::i;:::-;5652:34;5632:55;;-1:-1;;;5716:2;5707:12;;5700:44;5772:2;5763:12;;5538:243;-1:-1;;5538:243::o;5790:385::-;;5950:67;6014:2;6009:3;5950:67;:::i;:::-;6050:34;6030:55;;-1:-1;;;6114:2;6105:12;;6098:40;6166:2;6157:12;;5936:239;-1:-1;;5936:239::o;6184:327::-;;6344:67;6408:2;6403:3;6344:67;:::i;:::-;6444:29;6424:50;;6502:2;6493:12;;6330:181;-1:-1;;6330:181::o;6520:376::-;;6680:67;6744:2;6739:3;6680:67;:::i;:::-;6780:34;6760:55;;-1:-1;;;6844:2;6835:12;;6828:31;6887:2;6878:12;;6666:230;-1:-1;;6666:230::o;6905:330::-;;7065:67;7129:2;7124:3;7065:67;:::i;:::-;7165:32;7145:53;;7226:2;7217:12;;7051:184;-1:-1;;7051:184::o;7244:326::-;;7404:67;7468:2;7463:3;7404:67;:::i;:::-;7504:28;7484:49;;7561:2;7552:12;;7390:180;-1:-1;;7390:180::o;7579:370::-;;7739:67;7803:2;7798:3;7739:67;:::i;:::-;7839:34;7819:55;;-1:-1;;;7903:2;7894:12;;7887:25;7940:2;7931:12;;7725:224;-1:-1;;7725:224::o;7958:321::-;;8118:67;8182:2;8177:3;8118:67;:::i;:::-;-1:-1;;;8198:44;;8270:2;8261:12;;8104:175;-1:-1;;8104:175::o;8288:373::-;;8448:67;8512:2;8507:3;8448:67;:::i;:::-;8548:34;8528:55;;-1:-1;;;8612:2;8603:12;;8596:28;8652:2;8643:12;;8434:227;-1:-1;;8434:227::o;8670:374::-;;8830:67;8894:2;8889:3;8830:67;:::i;:::-;8930:34;8910:55;;-1:-1;;;8994:2;8985:12;;8978:29;9035:2;9026:12;;8816:228;-1:-1;;8816:228::o;9171:1578::-;9413:23;;9330:6;9321:16;;;9442:63;9325:3;9413:23;9442:63;:::i;:::-;9352:159;9608:4;9601:5;9597:16;9591:23;9620:61;9675:4;9670:3;9666:14;9652:12;9620:61;:::i;:::-;9521:166;9786:4;9779:5;9775:16;9769:23;9798:61;9853:4;9848:3;9844:14;9830:12;9798:61;:::i;:::-;9697:168;9965:4;9958:5;9954:16;9948:23;9977:61;10032:4;10027:3;10023:14;10009:12;9977:61;:::i;:::-;9875:169;10121:4;10114:5;10110:16;10104:23;10133:61;10188:4;10183:3;10179:14;10165:12;10133:61;:::i;:::-;10054:146;10289:4;10282:5;10278:16;10272:23;10301:63;10358:4;10353:3;10349:14;10335:12;10301:63;:::i;:::-;10210:160;10460:4;10453:5;10449:16;10443:23;10472:88;10554:4;10549:3;10545:14;10531:12;10472:88;:::i;:::-;10380:186;10659:4;10652:5;10648:16;10642:23;10671:57;10722:4;10717:3;10713:14;10699:12;10671:57;:::i;10756:103::-;10829:24;10847:5;10829:24;:::i;10866:103::-;10939:24;10957:5;10939:24;:::i;10976:113::-;11059:24;11077:5;11059:24;:::i;11096:124::-;11178:36;11208:5;11178:36;:::i;11227:100::-;11298:23;11315:5;11298:23;:::i;11334:124::-;11416:36;11446:5;11416:36;:::i;11465:100::-;11536:23;11553:5;11536:23;:::i;11572:416::-;11772:2;11786:47;;;11757:18;;11847:131;11757:18;11847:131;:::i;11995:416::-;12195:2;12209:47;;;12180:18;;12270:131;12180:18;12270:131;:::i;12418:416::-;12618:2;12632:47;;;12603:18;;12693:131;12603:18;12693:131;:::i;12841:416::-;13041:2;13055:47;;;13026:18;;13116:131;13026:18;13116:131;:::i;13264:416::-;13464:2;13478:47;;;13449:18;;13539:131;13449:18;13539:131;:::i;13687:416::-;13887:2;13901:47;;;13872:18;;13962:131;13872:18;13962:131;:::i;14110:416::-;14310:2;14324:47;;;14295:18;;14385:131;14295:18;14385:131;:::i;14533:416::-;14733:2;14747:47;;;14718:18;;14808:131;14718:18;14808:131;:::i;14956:416::-;15156:2;15170:47;;;15141:18;;15231:131;15141:18;15231:131;:::i;15379:416::-;15579:2;15593:47;;;15564:18;;15654:131;15564:18;15654:131;:::i;15802:355::-;15995:3;15980:19;;16010:137;15984:9;16120:6;16010:137;:::i;16164:222::-;16291:2;16276:18;;16305:71;16280:9;16349:6;16305:71;:::i;16393:700::-;16648:3;16633:19;;16663:70;16637:9;16706:6;16663:70;:::i;:::-;16744:71;16811:2;16800:9;16796:18;16787:6;16744:71;:::i;:::-;16826;16893:2;16882:9;16878:18;16869:6;16826:71;:::i;:::-;16908:97;17001:2;16990:9;16986:18;16977:6;16908:97;:::i;:::-;17016:67;17078:3;17067:9;17063:19;17054:6;17016:67;:::i;:::-;16619:474;;;;;;;;:::o;17100:256::-;17162:2;17156:9;17188:17;;;17263:18;17248:34;;17284:22;;;17245:62;17242:2;;;17320:1;17317;17310:12;17242:2;17336;17329:22;17140:216;;-1:-1;17140:216::o;17363:321::-;;17506:18;17498:6;17495:30;17492:2;;;17538:1;17535;17528:12;17492:2;-1:-1;17669:4;17605;17582:17;;;;-1:-1;;17578:33;17659:15;;17429:255::o;17692:163::-;17795:19;;;17844:4;17835:14;;17788:67::o;17863:91::-;;17925:24;17943:5;17925:24;:::i;17961:85::-;18027:13;18020:21;;18003:43::o;18053:160::-;18142:5;18148:60;18142:5;18148:60;:::i;18220:109::-;-1:-1;;;;;18282:42;;18265:64::o;18336:113::-;-1:-1;;;;;18398:46;;18381:68::o;18456:121::-;-1:-1;;;;;18518:54;;18501:76::o;18584:72::-;18646:5;18629:27::o;18663:88::-;18735:10;18724:22;;18707:44::o;18758:104::-;-1:-1;;;;;18819:38;;18802:60::o;18869:160::-;;18973:51;19018:5;18973:51;:::i;19036:106::-;;19114:23;19131:5;19114:23;:::i;19149:106::-;;19227:23;19244:5;19227:23;:::i;19263:145::-;19344:6;19339:3;19334;19321:30;-1:-1;19400:1;19382:16;;19375:27;19314:94::o;19416:118::-;19512:1;19505:5;19502:12;19492:2;;19518:9;19492:2;19486:48;:::o;19541:117::-;19610:24;19628:5;19610:24;:::i;:::-;19603:5;19600:35;19590:2;;19649:1;19646;19639:12;19665:111;19731:21;19746:5;19731:21;:::i;19783:121::-;19879:1;19872:5;19869:12;19859:2;;19895:1;19892;19885:12;19911:117;19980:24;19998:5;19980:24;:::i;20035:115::-;20103:23;20120:5;20103:23;:::i;20157:115::-;20225:23;20242:5;20225:23;:::i", - "linkReferences": {} - }, - "methodIdentifiers": { - "calcFaceValue(uint256,uint256)": "7bb6668e", - "configure(bytes)": "46739e73", - "getAccountingInfoForLoan(address)": "118fa575", - "preBorrow(uint256,uint256,uint256)": "8602074e", - "preClose(uint256,uint256)": "1770ac3a", - "preReconcile(uint256,uint256,uint256,address[])": "e00c3490", - "preRepay(uint256,uint256,uint256)": "1324041c", - "receiveCallFromLoan(bytes)": "9e950b22" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"loan\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"scaledPerSecondRatePreMaturity\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"scaledPerSecondRatePostMaturity\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"maturity\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"enum ArbitraryLoanFixedInterestModule.RepaymentTrackingType\",\"name\":\"repaymentTrackingType\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"faceValueIsPrincipalOnly\",\"type\":\"bool\"}],\"name\":\"ConfigSetForLoan\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"loan\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"totalInterest\",\"type\":\"uint256\"}],\"name\":\"TotalInterestUpdatedForLoan\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"loan\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"totalPrincipalRepaid\",\"type\":\"uint256\"}],\"name\":\"TotalPrincipalRepaidUpdatedForLoan\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_totalBorrowed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_totalRepaid\",\"type\":\"uint256\"}],\"name\":\"calcFaceValue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"faceValue_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_configData\",\"type\":\"bytes\"}],\"name\":\"configure\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_loan\",\"type\":\"address\"}],\"name\":\"getAccountingInfoForLoan\",\"outputs\":[{\"components\":[{\"internalType\":\"uint128\",\"name\":\"totalInterestCached\",\"type\":\"uint128\"},{\"internalType\":\"uint32\",\"name\":\"totalInterestCachedTimestamp\",\"type\":\"uint32\"},{\"internalType\":\"uint96\",\"name\":\"scaledPerSecondRatePreMaturity\",\"type\":\"uint96\"},{\"internalType\":\"uint96\",\"name\":\"scaledPerSecondRatePostMaturity\",\"type\":\"uint96\"},{\"internalType\":\"uint32\",\"name\":\"maturity\",\"type\":\"uint32\"},{\"internalType\":\"uint112\",\"name\":\"totalPrincipalRepaid\",\"type\":\"uint112\"},{\"internalType\":\"enum ArbitraryLoanFixedInterestModule.RepaymentTrackingType\",\"name\":\"repaymentTrackingType\",\"type\":\"uint8\"},{\"internalType\":\"bool\",\"name\":\"faceValueIsPrincipalOnly\",\"type\":\"bool\"}],\"internalType\":\"struct ArbitraryLoanFixedInterestModule.AccountingInfo\",\"name\":\"accountingInfo_\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_prevTotalBorrowed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_totalRepaid\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"preBorrow\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"preClose\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_totalBorrowed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_prevTotalRepaid\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_repayableLoanAssetAmount\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"name\":\"preReconcile\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"repayAmount_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_totalBorrowed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_prevTotalRepaid\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_repayAmountInput\",\"type\":\"uint256\"}],\"name\":\"preRepay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"repayAmount_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"receiveCallFromLoan\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"calcFaceValue(uint256,uint256)\":{\"params\":{\"_totalBorrowed\":\"The total borrowed amount\",\"_totalRepaid\":\"The total repaid amount\"},\"returns\":{\"faceValue_\":\"The face value\"}},\"configure(bytes)\":{\"params\":{\"_configData\":\"Encoded options\"}},\"getAccountingInfoForLoan(address)\":{\"params\":{\"_loan\":\"The loan address\"},\"returns\":{\"accountingInfo_\":\"The accounting info\"}},\"preBorrow(uint256,uint256,uint256)\":{\"params\":{\"_prevTotalBorrowed\":\"The total borrowed amount not including the new borrow amount\",\"_totalRepaid\":\"The total repaid amount\"}},\"preClose(uint256,uint256)\":{\"details\":\"Unimplemented\"},\"preReconcile(uint256,uint256,uint256,address[])\":{\"details\":\"Should not revert in case of over-repayment. Instead, it is recommended to return the full loan balance as repayAmount_ where necessary.\",\"params\":{\"_prevTotalRepaid\":\"The total repaid amount not including the reconciled assets\",\"_repayableLoanAssetAmount\":\"The loanAsset amount available for repayment\",\"_totalBorrowed\":\"The total borrowed amount\"},\"returns\":{\"repayAmount_\":\"The formatted amount to consider as repayment in terms of the loanAsset\"}},\"preRepay(uint256,uint256,uint256)\":{\"params\":{\"_prevTotalRepaid\":\"The total repaid amount not including the new repay amount\",\"_repayAmountInput\":\"The user-input repay amount\",\"_totalBorrowed\":\"The total borrowed amount\",\"repayAmount_\":\"The formatted amount to repay\"}},\"receiveCallFromLoan(bytes)\":{\"details\":\"No actions implemented in this module\"}},\"title\":\"ArbitraryLoanFixedInterestModule Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"calcFaceValue(uint256,uint256)\":{\"notice\":\"Calculates the canonical face value of the loan\"},\"configure(bytes)\":{\"notice\":\"Configures options per-loan\"},\"getAccountingInfoForLoan(address)\":{\"notice\":\"Gets the AccountingInfo for a given loan\"},\"preBorrow(uint256,uint256,uint256)\":{\"notice\":\"Implements logic immediately prior to effects and interactions during a borrow\"},\"preClose(uint256,uint256)\":{\"notice\":\"Implements logic immediately prior to effects and interactions when closing a loan\"},\"preReconcile(uint256,uint256,uint256,address[])\":{\"notice\":\"Implements logic immediately prior to effects and interactions during a reconciliation, and returns the formatted amount to consider as a repayment\"},\"preRepay(uint256,uint256,uint256)\":{\"notice\":\"Implements logic immediately prior to effects and interactions during a repay, and returns the formatted amount to repay (e.g., in the case of a user-input max)\"},\"receiveCallFromLoan(bytes)\":{\"notice\":\"Receives and executes an arbitrary call from the loan contract\"}},\"notice\":\"An accounting module for a loan to apply fixed interest tracking\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/arbitrary-loan/modules/ArbitraryLoanFixedInterestModule.sol\":\"ArbitraryLoanFixedInterestModule\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/external-position-manager/external-positions/arbitrary-loan/modules/ArbitraryLoanFixedInterestModule.sol\":{\"keccak256\":\"0xe2e6543d5b6bb46dad8b90d433e5c9c01aee49ac63e3ff98d6f9b59d783276b2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://de3c6aef9dafac6421c9f2ad05646326a04b6bd0be84e177febe58730804e4da\",\"dweb:/ipfs/QmPfBwVapVSzgbj23q5cnK2otNhVAJ5QmuVn9gXwhK2kbq\"]},\"contracts/release/extensions/external-position-manager/external-positions/arbitrary-loan/modules/IArbitraryLoanAccountingModule.sol\":{\"keccak256\":\"0x95b63e11b0e628c5a0bd382fb07b6fbd06bdd130ff7b8afa429f49990991c5f7\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8f7ecd88d1158d6ec02a0ae1a76c8c9cfdab49fe3d0fb344c0313376e2dc744f\",\"dweb:/ipfs/QmWeJjbsXX27ADWJpDV7pABtdGADs2nk4gmSUN9dtA7X2S\"]},\"contracts/release/utils/MakerDaoMath.sol\":{\"keccak256\":\"0x4bee0614f0164208a5a65a371f8853976e236db1ad25e75aec4357ef96b32dcb\",\"license\":\"AGPL-3.0-or-later\",\"urls\":[\"bzz-raw://eff29315081b02fe1267e23c65b0368f07c640352e41d26b64f6a77ddd307080\",\"dweb:/ipfs/QmQH7itbaMjEt189WsKbygmwJdBrS5ghnwt94w8JRgh3mg\"]},\"contracts/release/utils/MathHelpers.sol\":{\"keccak256\":\"0x8aef498ae98bfb40cd1df8c9ed652b4c092fbbe62d5a1fad522c53654523248e\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ed62789f6a8d5ca30a40c591f244b915e4711493a9e4b1b4d40ea2bc97b02a95\",\"dweb:/ipfs/QmWyXJ55arURtx9VMkUQokdsjk8tbgM2cC8rENFUMyz5D3\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/utils/SafeCast.sol\":{\"keccak256\":\"0x7b2b8baa20fd60ab4a328c8e34c64a353651b80ba4b5b157cbb61813f6f85d55\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://125b7f9efa390e663d630c62b97ae4e0707f31623bea989ef94c97ca9d777dd2\",\"dweb:/ipfs/QmaaLSuwvqK7wqcgyS3utHgfmB7RntcvP7eJSuvQod8Z9P\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "loan", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "scaledPerSecondRatePreMaturity", - "type": "uint256", - "indexed": false - }, - { - "internalType": "uint256", - "name": "scaledPerSecondRatePostMaturity", - "type": "uint256", - "indexed": false - }, - { - "internalType": "uint256", - "name": "maturity", - "type": "uint256", - "indexed": false - }, - { - "internalType": "enum ArbitraryLoanFixedInterestModule.RepaymentTrackingType", - "name": "repaymentTrackingType", - "type": "uint8", - "indexed": false - }, - { - "internalType": "bool", - "name": "faceValueIsPrincipalOnly", - "type": "bool", - "indexed": false - } - ], - "type": "event", - "name": "ConfigSetForLoan", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "loan", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "totalInterest", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "TotalInterestUpdatedForLoan", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "loan", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "totalPrincipalRepaid", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "TotalPrincipalRepaidUpdatedForLoan", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_totalBorrowed", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_totalRepaid", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "calcFaceValue", - "outputs": [ - { - "internalType": "uint256", - "name": "faceValue_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "_configData", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "configure" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_loan", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getAccountingInfoForLoan", - "outputs": [ - { - "internalType": "struct ArbitraryLoanFixedInterestModule.AccountingInfo", - "name": "accountingInfo_", - "type": "tuple", - "components": [ - { - "internalType": "uint128", - "name": "totalInterestCached", - "type": "uint128" - }, - { - "internalType": "uint32", - "name": "totalInterestCachedTimestamp", - "type": "uint32" - }, - { - "internalType": "uint96", - "name": "scaledPerSecondRatePreMaturity", - "type": "uint96" - }, - { - "internalType": "uint96", - "name": "scaledPerSecondRatePostMaturity", - "type": "uint96" - }, - { - "internalType": "uint32", - "name": "maturity", - "type": "uint32" - }, - { - "internalType": "uint112", - "name": "totalPrincipalRepaid", - "type": "uint112" - }, - { - "internalType": "enum ArbitraryLoanFixedInterestModule.RepaymentTrackingType", - "name": "repaymentTrackingType", - "type": "uint8" - }, - { - "internalType": "bool", - "name": "faceValueIsPrincipalOnly", - "type": "bool" - } - ] - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_prevTotalBorrowed", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_totalRepaid", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "preBorrow" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "preClose" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_totalBorrowed", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_prevTotalRepaid", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_repayableLoanAssetAmount", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "", - "type": "address[]" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "preReconcile", - "outputs": [ - { - "internalType": "uint256", - "name": "repayAmount_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_totalBorrowed", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_prevTotalRepaid", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_repayAmountInput", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "preRepay", - "outputs": [ - { - "internalType": "uint256", - "name": "repayAmount_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "receiveCallFromLoan" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "calcFaceValue(uint256,uint256)": { - "params": { - "_totalBorrowed": "The total borrowed amount", - "_totalRepaid": "The total repaid amount" - }, - "returns": { - "faceValue_": "The face value" - } - }, - "configure(bytes)": { - "params": { - "_configData": "Encoded options" - } - }, - "getAccountingInfoForLoan(address)": { - "params": { - "_loan": "The loan address" - }, - "returns": { - "accountingInfo_": "The accounting info" - } - }, - "preBorrow(uint256,uint256,uint256)": { - "params": { - "_prevTotalBorrowed": "The total borrowed amount not including the new borrow amount", - "_totalRepaid": "The total repaid amount" - } - }, - "preClose(uint256,uint256)": { - "details": "Unimplemented" - }, - "preReconcile(uint256,uint256,uint256,address[])": { - "details": "Should not revert in case of over-repayment. Instead, it is recommended to return the full loan balance as repayAmount_ where necessary.", - "params": { - "_prevTotalRepaid": "The total repaid amount not including the reconciled assets", - "_repayableLoanAssetAmount": "The loanAsset amount available for repayment", - "_totalBorrowed": "The total borrowed amount" - }, - "returns": { - "repayAmount_": "The formatted amount to consider as repayment in terms of the loanAsset" - } - }, - "preRepay(uint256,uint256,uint256)": { - "params": { - "_prevTotalRepaid": "The total repaid amount not including the new repay amount", - "_repayAmountInput": "The user-input repay amount", - "_totalBorrowed": "The total borrowed amount", - "repayAmount_": "The formatted amount to repay" - } - }, - "receiveCallFromLoan(bytes)": { - "details": "No actions implemented in this module" - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "calcFaceValue(uint256,uint256)": { - "notice": "Calculates the canonical face value of the loan" - }, - "configure(bytes)": { - "notice": "Configures options per-loan" - }, - "getAccountingInfoForLoan(address)": { - "notice": "Gets the AccountingInfo for a given loan" - }, - "preBorrow(uint256,uint256,uint256)": { - "notice": "Implements logic immediately prior to effects and interactions during a borrow" - }, - "preClose(uint256,uint256)": { - "notice": "Implements logic immediately prior to effects and interactions when closing a loan" - }, - "preReconcile(uint256,uint256,uint256,address[])": { - "notice": "Implements logic immediately prior to effects and interactions during a reconciliation, and returns the formatted amount to consider as a repayment" - }, - "preRepay(uint256,uint256,uint256)": { - "notice": "Implements logic immediately prior to effects and interactions during a repay, and returns the formatted amount to repay (e.g., in the case of a user-input max)" - }, - "receiveCallFromLoan(bytes)": { - "notice": "Receives and executes an arbitrary call from the loan contract" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/external-position-manager/external-positions/arbitrary-loan/modules/ArbitraryLoanFixedInterestModule.sol": "ArbitraryLoanFixedInterestModule" - }, - "libraries": {} - }, - "sources": { - "contracts/release/extensions/external-position-manager/external-positions/arbitrary-loan/modules/ArbitraryLoanFixedInterestModule.sol": { - "keccak256": "0xe2e6543d5b6bb46dad8b90d433e5c9c01aee49ac63e3ff98d6f9b59d783276b2", - "urls": [ - "bzz-raw://de3c6aef9dafac6421c9f2ad05646326a04b6bd0be84e177febe58730804e4da", - "dweb:/ipfs/QmPfBwVapVSzgbj23q5cnK2otNhVAJ5QmuVn9gXwhK2kbq" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/arbitrary-loan/modules/IArbitraryLoanAccountingModule.sol": { - "keccak256": "0x95b63e11b0e628c5a0bd382fb07b6fbd06bdd130ff7b8afa429f49990991c5f7", - "urls": [ - "bzz-raw://8f7ecd88d1158d6ec02a0ae1a76c8c9cfdab49fe3d0fb344c0313376e2dc744f", - "dweb:/ipfs/QmWeJjbsXX27ADWJpDV7pABtdGADs2nk4gmSUN9dtA7X2S" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/MakerDaoMath.sol": { - "keccak256": "0x4bee0614f0164208a5a65a371f8853976e236db1ad25e75aec4357ef96b32dcb", - "urls": [ - "bzz-raw://eff29315081b02fe1267e23c65b0368f07c640352e41d26b64f6a77ddd307080", - "dweb:/ipfs/QmQH7itbaMjEt189WsKbygmwJdBrS5ghnwt94w8JRgh3mg" - ], - "license": "AGPL-3.0-or-later" - }, - "contracts/release/utils/MathHelpers.sol": { - "keccak256": "0x8aef498ae98bfb40cd1df8c9ed652b4c092fbbe62d5a1fad522c53654523248e", - "urls": [ - "bzz-raw://ed62789f6a8d5ca30a40c591f244b915e4711493a9e4b1b4d40ea2bc97b02a95", - "dweb:/ipfs/QmWyXJ55arURtx9VMkUQokdsjk8tbgM2cC8rENFUMyz5D3" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/SafeCast.sol": { - "keccak256": "0x7b2b8baa20fd60ab4a328c8e34c64a353651b80ba4b5b157cbb61813f6f85d55", - "urls": [ - "bzz-raw://125b7f9efa390e663d630c62b97ae4e0707f31623bea989ef94c97ca9d777dd2", - "dweb:/ipfs/QmaaLSuwvqK7wqcgyS3utHgfmB7RntcvP7eJSuvQod8Z9P" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 96 -} +{ "abi": [ { "type": "function", "name": "calcFaceValue", "inputs": [ { "name": "_totalBorrowed", "type": "uint256", "internalType": "uint256" }, { "name": "_totalRepaid", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "faceValue_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "configure", "inputs": [ { "name": "_configData", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "getAccountingInfoForLoan", "inputs": [ { "name": "_loan", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "accountingInfo_", "type": "tuple", "internalType": "struct ArbitraryLoanFixedInterestModule.AccountingInfo", "components": [ { "name": "totalInterestCached", "type": "uint128", "internalType": "uint128" }, { "name": "totalInterestCachedTimestamp", "type": "uint32", "internalType": "uint32" }, { "name": "scaledPerSecondRatePreMaturity", "type": "uint96", "internalType": "uint96" }, { "name": "scaledPerSecondRatePostMaturity", "type": "uint96", "internalType": "uint96" }, { "name": "maturity", "type": "uint32", "internalType": "uint32" }, { "name": "totalPrincipalRepaid", "type": "uint112", "internalType": "uint112" }, { "name": "repaymentTrackingType", "type": "uint8", "internalType": "enum ArbitraryLoanFixedInterestModule.RepaymentTrackingType" }, { "name": "faceValueIsPrincipalOnly", "type": "bool", "internalType": "bool" } ] } ], "stateMutability": "view" }, { "type": "function", "name": "preBorrow", "inputs": [ { "name": "_prevTotalBorrowed", "type": "uint256", "internalType": "uint256" }, { "name": "_totalRepaid", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "preClose", "inputs": [ { "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "preReconcile", "inputs": [ { "name": "_totalBorrowed", "type": "uint256", "internalType": "uint256" }, { "name": "_prevTotalRepaid", "type": "uint256", "internalType": "uint256" }, { "name": "_repayableLoanAssetAmount", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "address[]", "internalType": "address[]" } ], "outputs": [ { "name": "repayAmount_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "preRepay", "inputs": [ { "name": "_totalBorrowed", "type": "uint256", "internalType": "uint256" }, { "name": "_prevTotalRepaid", "type": "uint256", "internalType": "uint256" }, { "name": "_repayAmountInput", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "repayAmount_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "receiveCallFromLoan", "inputs": [ { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "event", "name": "ConfigSetForLoan", "inputs": [ { "name": "loan", "type": "address", "indexed": true, "internalType": "address" }, { "name": "scaledPerSecondRatePreMaturity", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "scaledPerSecondRatePostMaturity", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "maturity", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "repaymentTrackingType", "type": "uint8", "indexed": false, "internalType": "enum ArbitraryLoanFixedInterestModule.RepaymentTrackingType" }, { "name": "faceValueIsPrincipalOnly", "type": "bool", "indexed": false, "internalType": "bool" } ], "anonymous": false }, { "type": "event", "name": "TotalInterestUpdatedForLoan", "inputs": [ { "name": "loan", "type": "address", "indexed": true, "internalType": "address" }, { "name": "totalInterest", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "TotalPrincipalRepaidUpdatedForLoan", "inputs": [ { "name": "loan", "type": "address", "indexed": true, "internalType": "address" }, { "name": "totalPrincipalRepaid", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false } ], "bytecode": { "object": "0x608060405234801561001057600080fd5b5061157a806100206000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c80637bb6668e1161005b5780637bb6668e146100fe5780638602074e146101115780639e950b2214610124578063e00c34901461013757610088565b8063118fa5751461008d5780631324041c146100b65780631770ac3a146100d657806346739e73146100eb575b600080fd5b6100a061009b366004610ddf565b61014a565b6040516100ad91906113d7565b60405180910390f35b6100c96100c4366004610e6c565b61022b565b6040516100ad91906113e6565b6100e96100e4366004610e32565b6102af565b005b6100e96100f9366004610dfd565b6102b3565b6100c961010c366004610e32565b610550565b6100e961011f366004610e6c565b6105c6565b6100e9610132366004610dfd565b6105d6565b6100c9610145366004610eb9565b6105ee565b610152610cbb565b6001600160a01b0382166000908152602081815260409182902082516101008101845281546001600160801b0381168252600160801b80820463ffffffff90811695840195909552600160a01b9091046001600160601b039081169583019590955260018301549485166060830152600160601b850490931660808201529183046001600160701b031660a0830152909160c0830190600160f01b900460ff1660028111156101fd57fe5b600281111561020857fe5b815260019190910154600160f81b900460ff16151560209091015290505b919050565b600033610239818686610639565b600061025886866102498561014a565b516001600160801b031661070a565b905060001984141561026c57809250610299565b808411156102955760405162461bcd60e51b815260040161028c906113a7565b60405180910390fd5b8392505b6102a582878786610727565b50505b9392505050565b5050565b60003390506000806000806000868060200190518101906102d49190610f37565b94509450945094509450428363ffffffff161180610312575063ffffffff83161580156103125750836001600160601b0316856001600160601b0316145b61032e5760405162461bcd60e51b815260040161028c90611337565b8015806103475750600082600281111561034457fe5b14155b6103635760405162461bcd60e51b815260040161028c906113b7565b60405180610100016040528060006001600160801b03168152602001600063ffffffff168152602001866001600160601b03168152602001856001600160601b031681526020018463ffffffff16815260200160006001600160701b031681526020018360028111156103d257fe5b81528215156020918201526001600160a01b0388811660009081528083526040908190208451815494860151928601516001600160801b03199095166001600160801b039091161763ffffffff60801b1916600160801b63ffffffff938416810291909117909316600160a01b6001600160601b03958616021781556060850151600182018054608088015160a08901516bffffffffffffffffffffffff19909216939097169290921763ffffffff60601b1916600160601b969094169590950292909217600160801b600160f01b0319166001600160701b039092169092021780835560c084015191929060ff60f01b1916600160f01b8360028111156104d657fe5b021790555060e082015181600101601f6101000a81548160ff021916908315150217905550905050856001600160a01b03167f3acd149726e001f5c76f974ab7a0a932794e7acea35cbc88fc2e93d90d50c2ab868686868660405161053f9594939291906113f4565b60405180910390a250505050505050565b60003361055b610cbb565b6105648261014a565b90508060e00151156105925760a08101516105899086906001600160701b03166108d1565b925050506105c0565b6105bb85856105b66105a5868a8a6108f9565b85516001600160801b031690610aac565b61070a565b925050505b92915050565b6105d1338484610639565b505050565b60405162461bcd60e51b815260040161028c906113c7565b6000336105fc818888610639565b600061060c88886102498561014a565b90508086111561061e57809250610622565b8592505b61062e82898986610727565b505095945050505050565b6001600160a01b03831660009081526020819052604081209061065d8585856108f9565b905080156106e857815460009061067d906001600160801b031683610aac565b905061068881610ad1565b83546001600160801b0319166001600160801b03919091161783556040516001600160a01b038716907f9500a489ed014d7675b6f72f4f9d8bebb645a36aeb864a13dcb223f269672971906106de9084906113e6565b60405180910390a2505b50805463ffffffff60801b1916600160801b4263ffffffff1602179055505050565b600061071f6107198584610aac565b84610afa565b949350505050565b61072f610cbb565b6107388561014a565b905060008160c00151600281111561074c57fe5b141561075857506108cb565b600061077a8260a001516001600160701b0316866108d190919063ffffffff16565b9050806107885750506108cb565b600060018360c00151600281111561079c57fe5b14156107d0578184106107b05750846107cb565b60a08301516107c8906001600160701b031685610aac565b90505b610842565b60006107ea878786600001516001600160801b031661070a565b90508085106107fb57869150610840565b600061080782856108d1565b90508086111561083e5761083b81610835888860a001516001600160701b0316610aac90919063ffffffff16565b906108d1565b92505b505b505b80156108c75761085181610b16565b6001600160a01b0388166000818152602081905260409081902060010180546001600160701b0394909416600160801b02600160801b600160f01b03199094169390931790925590517f1ce9ccee357c3e4e9a4e096cd199734532d89ca0b35b73ebba49990b496316d69061053f9084906113e6565b5050505b50505050565b6000828211156108f35760405162461bcd60e51b815260040161028c90611377565b50900390565b6000610903610cbb565b61090c8561014a565b905042816020015163ffffffff16141561092a5760009150506102a8565b805160009061094d906109479087906001600160801b0316610aac565b85610afa565b90508061095f576000925050506102a8565b816080015163ffffffff1642111580610991575081606001516001600160601b031682604001516001600160601b0316145b156109d3576109ca8183604001516001600160601b03166109c5856020015163ffffffff16426108d190919063ffffffff16565b610b3b565b925050506102a8565b816080015163ffffffff16826020015163ffffffff1610610a1d576109ca8183606001516001600160601b03166109c5856020015163ffffffff16426108d190919063ffffffff16565b6000610a588284604001516001600160601b03166109c5866020015163ffffffff16876080015163ffffffff166108d190919063ffffffff16565b90506000610a94610a698484610aac565b85606001516001600160601b03166109c5876080015163ffffffff16426108d190919063ffffffff16565b9050610aa08282610aac565b98975050505050505050565b6000828201838110156102a85760405162461bcd60e51b815260040161028c90611357565b6000600160801b8210610af65760405162461bcd60e51b815260040161028c90611367565b5090565b600081831115610b0d57508082036105c0565b50600092915050565b6000600160701b8210610af65760405162461bcd60e51b815260040161028c90611347565b600082610b4a575060006102a8565b61071f6b033b2e3c9fd0803ce8000000610b8b610b846b033b2e3c9fd0803ce800000061083588886b033b2e3c9fd0803ce8000000610b91565b8790610c4f565b90610c89565b6000838015610c3257600184168015610bac57859250610bb0565b8392505b50600283046002850494505b8415610c2c578586028687820414610bd357600080fd5b81810181811015610be357600080fd5b85810497506002870615610c1f578785028589820414158915151615610c0857600080fd5b83810181811015610c1857600080fd5b8790049550505b5050600285049450610bbc565b50610c47565b838015610c4257600092506102a5565b839250505b509392505050565b600082610c5e575060006105c0565b82820282848281610c6b57fe5b04146102a85760405162461bcd60e51b815260040161028c90611397565b6000808211610caa5760405162461bcd60e51b815260040161028c90611387565b818381610cb357fe5b049392505050565b6040805161010081018252600080825260208201819052918101829052606081018290526080810182905260a081018290529060c08201908152600060209091015290565b80356105c081611528565b60008083601f840112610d1d57600080fd5b50813567ffffffffffffffff811115610d3557600080fd5b602083019150836020820283011115610d4d57600080fd5b9250929050565b80516105c08161153c565b600082601f830112610d7057600080fd5b8135610d83610d7e82611467565b611440565b91508082526020830160208301858383011115610d9f57600080fd5b610daa83828461150f565b50505092915050565b80516105c081611545565b80356105c081611552565b80516105c08161155b565b80516105c081611564565b600060208284031215610df157600080fd5b600061071f8484610d00565b600060208284031215610e0f57600080fd5b813567ffffffffffffffff811115610e2657600080fd5b61071f84828501610d5f565b60008060408385031215610e4557600080fd5b6000610e518585610dbe565b9250506020610e6285828601610dbe565b9150509250929050565b600080600060608486031215610e8157600080fd5b6000610e8d8686610dbe565b9350506020610e9e86828701610dbe565b9250506040610eaf86828701610dbe565b9150509250925092565b600080600080600060808688031215610ed157600080fd5b6000610edd8888610dbe565b9550506020610eee88828901610dbe565b9450506040610eff88828901610dbe565b935050606086013567ffffffffffffffff811115610f1c57600080fd5b610f2888828901610d0b565b92509250509295509295909350565b600080600080600060a08688031215610f4f57600080fd5b6000610f5b8888610dd4565b9550506020610f6c88828901610dd4565b9450506040610f7d88828901610dc9565b9350506060610f8e88828901610db3565b9250506080610f9f88828901610d54565b9150509295509295909350565b610fb5816114a3565b82525050565b610fb5816114ee565b6000610fd160348361148f565b7f636f6e6669677572653a20506f73742d6d61747572697479207261746520776981527374686f75742076616c6964206d6174757269747960601b602082015260400192915050565b600061102760308361148f565b7f5f5f736166654361737455696e743131323a2056616c756520646f65736e277481526f2066697420696e20313132206269747360801b602082015260400192915050565b6000611079601b8361148f565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b60006110b260278361148f565b7f53616665436173743a2076616c756520646f65736e27742066697420696e20318152663238206269747360c81b602082015260400192915050565b60006110fb601e8361148f565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000611134601a8361148f565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b600061116d60218361148f565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b60006111b060158361148f565b741c1c9954995c185e4e8813dd995c9c185e5b595b9d605a1b815260200192915050565b60006111e160248361148f565b7f636f6e6669677572653a20496e76616c696420666163652076616c756520636f8152636e66696760e01b602082015260400192915050565b600061122760258361148f565b7f7265636569766543616c6c46726f6d4c6f616e3a20496e76616c6964206163748152641a5bdb925960da1b602082015260400192915050565b80516101008301906112738482611301565b506020820151611286602085018261131c565b506040820151611299604085018261132e565b5060608201516112ac606085018261132e565b5060808201516112bf608085018261131c565b5060a08201516112d260a08501826112f8565b5060c08201516112e560c0850182610fbb565b5060e08201516108cb60e0850182610fac565b610fb5816114b2565b610fb5816114be565b610fb5816114d6565b610fb5816114f9565b610fb5816114d9565b610fb581611504565b610fb5816114e2565b602080825281016105c081610fc4565b602080825281016105c08161101a565b602080825281016105c08161106c565b602080825281016105c0816110a5565b602080825281016105c0816110ee565b602080825281016105c081611127565b602080825281016105c081611160565b602080825281016105c0816111a3565b602080825281016105c0816111d4565b602080825281016105c08161121a565b61010081016105c08284611261565b602081016105c0828461130a565b60a081016114028288611325565b61140f6020830187611325565b61141c6040830186611313565b6114296060830185610fbb565b6114366080830184610fac565b9695505050505050565b60405181810167ffffffffffffffff8111828210171561145f57600080fd5b604052919050565b600067ffffffffffffffff82111561147e57600080fd5b506020601f91909101601f19160190565b90815260200190565b60006105c0826114ca565b151590565b806102268161151b565b6001600160701b031690565b6001600160801b031690565b6001600160a01b031690565b90565b63ffffffff1690565b6001600160601b031690565b60006105c0826114a8565b60006105c0826114d9565b60006105c0826114e2565b82818337506000910152565b6003811061152557fe5b50565b61153181611498565b811461152557600080fd5b611531816114a3565b6003811061152557600080fd5b611531816114d6565b611531816114d9565b611531816114e256fea164736f6c634300060c000a", "sourceMap": "745:16203:96:-:0;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106100885760003560e01c80637bb6668e1161005b5780637bb6668e146100fe5780638602074e146101115780639e950b2214610124578063e00c34901461013757610088565b8063118fa5751461008d5780631324041c146100b65780631770ac3a146100d657806346739e73146100eb575b600080fd5b6100a061009b366004610ddf565b61014a565b6040516100ad91906113d7565b60405180910390f35b6100c96100c4366004610e6c565b61022b565b6040516100ad91906113e6565b6100e96100e4366004610e32565b6102af565b005b6100e96100f9366004610dfd565b6102b3565b6100c961010c366004610e32565b610550565b6100e961011f366004610e6c565b6105c6565b6100e9610132366004610dfd565b6105d6565b6100c9610145366004610eb9565b6105ee565b610152610cbb565b6001600160a01b0382166000908152602081815260409182902082516101008101845281546001600160801b0381168252600160801b80820463ffffffff90811695840195909552600160a01b9091046001600160601b039081169583019590955260018301549485166060830152600160601b850490931660808201529183046001600160701b031660a0830152909160c0830190600160f01b900460ff1660028111156101fd57fe5b600281111561020857fe5b815260019190910154600160f81b900460ff16151560209091015290505b919050565b600033610239818686610639565b600061025886866102498561014a565b516001600160801b031661070a565b905060001984141561026c57809250610299565b808411156102955760405162461bcd60e51b815260040161028c906113a7565b60405180910390fd5b8392505b6102a582878786610727565b50505b9392505050565b5050565b60003390506000806000806000868060200190518101906102d49190610f37565b94509450945094509450428363ffffffff161180610312575063ffffffff83161580156103125750836001600160601b0316856001600160601b0316145b61032e5760405162461bcd60e51b815260040161028c90611337565b8015806103475750600082600281111561034457fe5b14155b6103635760405162461bcd60e51b815260040161028c906113b7565b60405180610100016040528060006001600160801b03168152602001600063ffffffff168152602001866001600160601b03168152602001856001600160601b031681526020018463ffffffff16815260200160006001600160701b031681526020018360028111156103d257fe5b81528215156020918201526001600160a01b0388811660009081528083526040908190208451815494860151928601516001600160801b03199095166001600160801b039091161763ffffffff60801b1916600160801b63ffffffff938416810291909117909316600160a01b6001600160601b03958616021781556060850151600182018054608088015160a08901516bffffffffffffffffffffffff19909216939097169290921763ffffffff60601b1916600160601b969094169590950292909217600160801b600160f01b0319166001600160701b039092169092021780835560c084015191929060ff60f01b1916600160f01b8360028111156104d657fe5b021790555060e082015181600101601f6101000a81548160ff021916908315150217905550905050856001600160a01b03167f3acd149726e001f5c76f974ab7a0a932794e7acea35cbc88fc2e93d90d50c2ab868686868660405161053f9594939291906113f4565b60405180910390a250505050505050565b60003361055b610cbb565b6105648261014a565b90508060e00151156105925760a08101516105899086906001600160701b03166108d1565b925050506105c0565b6105bb85856105b66105a5868a8a6108f9565b85516001600160801b031690610aac565b61070a565b925050505b92915050565b6105d1338484610639565b505050565b60405162461bcd60e51b815260040161028c906113c7565b6000336105fc818888610639565b600061060c88886102498561014a565b90508086111561061e57809250610622565b8592505b61062e82898986610727565b505095945050505050565b6001600160a01b03831660009081526020819052604081209061065d8585856108f9565b905080156106e857815460009061067d906001600160801b031683610aac565b905061068881610ad1565b83546001600160801b0319166001600160801b03919091161783556040516001600160a01b038716907f9500a489ed014d7675b6f72f4f9d8bebb645a36aeb864a13dcb223f269672971906106de9084906113e6565b60405180910390a2505b50805463ffffffff60801b1916600160801b4263ffffffff1602179055505050565b600061071f6107198584610aac565b84610afa565b949350505050565b61072f610cbb565b6107388561014a565b905060008160c00151600281111561074c57fe5b141561075857506108cb565b600061077a8260a001516001600160701b0316866108d190919063ffffffff16565b9050806107885750506108cb565b600060018360c00151600281111561079c57fe5b14156107d0578184106107b05750846107cb565b60a08301516107c8906001600160701b031685610aac565b90505b610842565b60006107ea878786600001516001600160801b031661070a565b90508085106107fb57869150610840565b600061080782856108d1565b90508086111561083e5761083b81610835888860a001516001600160701b0316610aac90919063ffffffff16565b906108d1565b92505b505b505b80156108c75761085181610b16565b6001600160a01b0388166000818152602081905260409081902060010180546001600160701b0394909416600160801b02600160801b600160f01b03199094169390931790925590517f1ce9ccee357c3e4e9a4e096cd199734532d89ca0b35b73ebba49990b496316d69061053f9084906113e6565b5050505b50505050565b6000828211156108f35760405162461bcd60e51b815260040161028c90611377565b50900390565b6000610903610cbb565b61090c8561014a565b905042816020015163ffffffff16141561092a5760009150506102a8565b805160009061094d906109479087906001600160801b0316610aac565b85610afa565b90508061095f576000925050506102a8565b816080015163ffffffff1642111580610991575081606001516001600160601b031682604001516001600160601b0316145b156109d3576109ca8183604001516001600160601b03166109c5856020015163ffffffff16426108d190919063ffffffff16565b610b3b565b925050506102a8565b816080015163ffffffff16826020015163ffffffff1610610a1d576109ca8183606001516001600160601b03166109c5856020015163ffffffff16426108d190919063ffffffff16565b6000610a588284604001516001600160601b03166109c5866020015163ffffffff16876080015163ffffffff166108d190919063ffffffff16565b90506000610a94610a698484610aac565b85606001516001600160601b03166109c5876080015163ffffffff16426108d190919063ffffffff16565b9050610aa08282610aac565b98975050505050505050565b6000828201838110156102a85760405162461bcd60e51b815260040161028c90611357565b6000600160801b8210610af65760405162461bcd60e51b815260040161028c90611367565b5090565b600081831115610b0d57508082036105c0565b50600092915050565b6000600160701b8210610af65760405162461bcd60e51b815260040161028c90611347565b600082610b4a575060006102a8565b61071f6b033b2e3c9fd0803ce8000000610b8b610b846b033b2e3c9fd0803ce800000061083588886b033b2e3c9fd0803ce8000000610b91565b8790610c4f565b90610c89565b6000838015610c3257600184168015610bac57859250610bb0565b8392505b50600283046002850494505b8415610c2c578586028687820414610bd357600080fd5b81810181811015610be357600080fd5b85810497506002870615610c1f578785028589820414158915151615610c0857600080fd5b83810181811015610c1857600080fd5b8790049550505b5050600285049450610bbc565b50610c47565b838015610c4257600092506102a5565b839250505b509392505050565b600082610c5e575060006105c0565b82820282848281610c6b57fe5b04146102a85760405162461bcd60e51b815260040161028c90611397565b6000808211610caa5760405162461bcd60e51b815260040161028c90611387565b818381610cb357fe5b049392505050565b6040805161010081018252600080825260208201819052918101829052606081018290526080810182905260a081018290529060c08201908152600060209091015290565b80356105c081611528565b60008083601f840112610d1d57600080fd5b50813567ffffffffffffffff811115610d3557600080fd5b602083019150836020820283011115610d4d57600080fd5b9250929050565b80516105c08161153c565b600082601f830112610d7057600080fd5b8135610d83610d7e82611467565b611440565b91508082526020830160208301858383011115610d9f57600080fd5b610daa83828461150f565b50505092915050565b80516105c081611545565b80356105c081611552565b80516105c08161155b565b80516105c081611564565b600060208284031215610df157600080fd5b600061071f8484610d00565b600060208284031215610e0f57600080fd5b813567ffffffffffffffff811115610e2657600080fd5b61071f84828501610d5f565b60008060408385031215610e4557600080fd5b6000610e518585610dbe565b9250506020610e6285828601610dbe565b9150509250929050565b600080600060608486031215610e8157600080fd5b6000610e8d8686610dbe565b9350506020610e9e86828701610dbe565b9250506040610eaf86828701610dbe565b9150509250925092565b600080600080600060808688031215610ed157600080fd5b6000610edd8888610dbe565b9550506020610eee88828901610dbe565b9450506040610eff88828901610dbe565b935050606086013567ffffffffffffffff811115610f1c57600080fd5b610f2888828901610d0b565b92509250509295509295909350565b600080600080600060a08688031215610f4f57600080fd5b6000610f5b8888610dd4565b9550506020610f6c88828901610dd4565b9450506040610f7d88828901610dc9565b9350506060610f8e88828901610db3565b9250506080610f9f88828901610d54565b9150509295509295909350565b610fb5816114a3565b82525050565b610fb5816114ee565b6000610fd160348361148f565b7f636f6e6669677572653a20506f73742d6d61747572697479207261746520776981527374686f75742076616c6964206d6174757269747960601b602082015260400192915050565b600061102760308361148f565b7f5f5f736166654361737455696e743131323a2056616c756520646f65736e277481526f2066697420696e20313132206269747360801b602082015260400192915050565b6000611079601b8361148f565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b60006110b260278361148f565b7f53616665436173743a2076616c756520646f65736e27742066697420696e20318152663238206269747360c81b602082015260400192915050565b60006110fb601e8361148f565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000611134601a8361148f565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b600061116d60218361148f565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b60006111b060158361148f565b741c1c9954995c185e4e8813dd995c9c185e5b595b9d605a1b815260200192915050565b60006111e160248361148f565b7f636f6e6669677572653a20496e76616c696420666163652076616c756520636f8152636e66696760e01b602082015260400192915050565b600061122760258361148f565b7f7265636569766543616c6c46726f6d4c6f616e3a20496e76616c6964206163748152641a5bdb925960da1b602082015260400192915050565b80516101008301906112738482611301565b506020820151611286602085018261131c565b506040820151611299604085018261132e565b5060608201516112ac606085018261132e565b5060808201516112bf608085018261131c565b5060a08201516112d260a08501826112f8565b5060c08201516112e560c0850182610fbb565b5060e08201516108cb60e0850182610fac565b610fb5816114b2565b610fb5816114be565b610fb5816114d6565b610fb5816114f9565b610fb5816114d9565b610fb581611504565b610fb5816114e2565b602080825281016105c081610fc4565b602080825281016105c08161101a565b602080825281016105c08161106c565b602080825281016105c0816110a5565b602080825281016105c0816110ee565b602080825281016105c081611127565b602080825281016105c081611160565b602080825281016105c0816111a3565b602080825281016105c0816111d4565b602080825281016105c08161121a565b61010081016105c08284611261565b602081016105c0828461130a565b60a081016114028288611325565b61140f6020830187611325565b61141c6040830186611313565b6114296060830185610fbb565b6114366080830184610fac565b9695505050505050565b60405181810167ffffffffffffffff8111828210171561145f57600080fd5b604052919050565b600067ffffffffffffffff82111561147e57600080fd5b506020601f91909101601f19160190565b90815260200190565b60006105c0826114ca565b151590565b806102268161151b565b6001600160701b031690565b6001600160801b031690565b6001600160a01b031690565b90565b63ffffffff1690565b6001600160601b031690565b60006105c0826114a8565b60006105c0826114d9565b60006105c0826114e2565b82818337506000910152565b6003811061152557fe5b50565b61153181611498565b811461152557600080fd5b611531816114a3565b6003811061152557600080fd5b611531816114d6565b611531816114d9565b611531816114e256fea164736f6c634300060c000a", "sourceMap": "745:16203:96:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16758:188;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7871:982;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;5793:56::-;;;;;;:::i;:::-;;:::i;:::-;;3350:1853;;;;;;:::i;:::-;;:::i;2551:706::-;;;;;;:::i;:::-;;:::i;5452:209::-;;;;;;:::i;:::-;;:::i;8989:125::-;;;;;;:::i;:::-;;:::i;6520:894::-;;;;;;:::i;:::-;;:::i;16758:188::-;16852:37;;:::i;:::-;-1:-1:-1;;;;;16912:27:96;;:20;:27;;;;;;;;;;;;16905:34;;;;;;;;;-1:-1:-1;;;;;16905:34:96;;;;-1:-1:-1;;;16905:34:96;;;;;;;;;;;;;;-1:-1:-1;;;16905:34:96;;;-1:-1:-1;;;;;16905:34:96;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;16905:34:96;;;;;;;;;;;;-1:-1:-1;;;;;16905:34:96;;;;;;;;;;;-1:-1:-1;;;16905:34:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;16905:34:96;;;;;;;;;;;;-1:-1:-1;16758:188:96;;;;:::o;7871:982::-;8023:20;8070:10;8091:60;8070:10;8118:14;8134:16;8091:20;:60::i;:::-;8162:19;8184:149;8215:14;8243:16;8273:30;8298:4;8273:24;:30::i;:::-;:50;-1:-1:-1;;;;;8184:149:96;:17;:149::i;:::-;8162:171;;-1:-1:-1;;8404:17:96;:38;8400:326;;;8473:11;8458:26;;8400:326;;;8631:11;8610:17;:32;;8602:66;;;;-1:-1:-1;;;8602:66:96;;;;;;;:::i;:::-;;;;;;;;;8698:17;8683:32;;8400:326;8736:80;8763:4;8769:14;8785:16;8803:12;8736:26;:80::i;:::-;8827:19;;7871:982;;;;;;:::o;5793:56::-;;;:::o;3350:1853::-;3423:12;3438:10;3423:25;;3472:37;3523:38;3575:15;3604:43;3661:29;3714:11;3703:78;;;;;;;;;;;;:::i;:::-;3458:323;;;;;;;;;;3974:15;3963:8;:26;;;:150;;;-1:-1:-1;4010:13:96;;;;:102;;;;;4081:31;-1:-1:-1;;;;;4047:65:96;:30;-1:-1:-1;;;;;4047:65:96;;4010:102;3942:249;;;;-1:-1:-1;;;3942:249:96;;;;;;;:::i;:::-;4319:24;4318:25;:80;;;-1:-1:-1;4372:26:96;4347:21;:51;;;;;;;;;;4318:80;4297:163;;;;-1:-1:-1;;;4297:163:96;;;;;;;:::i;:::-;4500:452;;;;;;;;4550:1;-1:-1:-1;;;;;4500:452:96;;;;;4595:1;4500:452;;;;;;4642:30;-1:-1:-1;;;;;4500:452:96;;;;;4719:31;-1:-1:-1;;;;;4500:452:96;;;;;4774:8;4500:452;;;;;;4818:1;-1:-1:-1;;;;;4500:452:96;;;;;4856:21;4500:452;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4471:26:96;;;-1:-1:-1;4471:26:96;;;;;;;;;;;:481;;;;;;;;;;;;-1:-1:-1;;;;;;4471:481:96;;;-1:-1:-1;;;;;4471:481:96;;;;-1:-1:-1;;;;4471:481:96;-1:-1:-1;;;4471:481:96;;;;;;;;;;;;;-1:-1:-1;;;;;;;;4471:481:96;;;;;;;;;;;-1:-1:-1;4471:481:96;;;;;;;;;;;;-1:-1:-1;;4471:481:96;;;;;;;;;;;-1:-1:-1;;;;4471:481:96;-1:-1:-1;;;4471:481:96;;;;;;;;;;;;-1:-1:-1;;;;;;;;4471:481:96;-1:-1:-1;;;;;4471:481:96;;;;;;;;;;;;;;:26;;:481;-1:-1:-1;;;;4471:481:96;-1:-1:-1;;;4471:481:96;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4998:4;-1:-1:-1;;;;;4968:228:96;;5016:30;5060:31;5105:8;5127:21;5162:24;4968:228;;;;;;;;;;:::i;:::-;;;;;;;;3350:1853;;;;;;;:::o;2551:706::-;2684:18;2733:10;2753:36;;:::i;:::-;2792:30;2817:4;2792:24;:30::i;:::-;2753:69;;2837:14;:39;;;2833:132;;;2918:35;;;;2899:55;;:14;;-1:-1:-1;;;;;2899:55:96;:18;:55::i;:::-;2892:62;;;;;;2833:132;2994:256;3029:14;3061:12;3091:145;3160:58;3183:4;3189:14;3205:12;3160:22;:58::i;:::-;3099:34;;-1:-1:-1;;;;;3091:43:96;;:47;:145::i;:::-;2994:17;:256::i;:::-;2975:275;;;;2551:706;;;;;:::o;5452:209::-;5588:66;5609:10;5621:18;5641:12;5588:20;:66::i;:::-;5452:209;;;:::o;8989:125::-;9060:47;;-1:-1:-1;;;9060:47:96;;;;;;;:::i;6520:894::-;6712:20;6759:10;6780:60;6759:10;6807:14;6823:16;6780:20;:60::i;:::-;6851:19;6873:149;6904:14;6932:16;6962:30;6987:4;6962:24;:30::i;6873:149::-;6851:171;;7065:11;7037:25;:39;7033:254;;;7194:11;7179:26;;7033:254;;;7251:25;7236:40;;7033:254;7297:80;7324:4;7330:14;7346:16;7364:12;7297:26;:80::i;:::-;7388:19;;6520:894;;;;;;;:::o;9195:810::-;-1:-1:-1;;;;;9374:27:96;;9334:37;9374:27;;;;;;;;;;;9439:59;9395:5;9469:14;9485:12;9439:22;:59::i;:::-;9412:86;-1:-1:-1;9512:20:96;;9508:316;;9580:34;;9548:21;;9572:95;;-1:-1:-1;;;;;9580:34:96;9637:16;9572:47;:95::i;:::-;9548:119;;9719:25;:13;:23;:25::i;:::-;9682:62;;-1:-1:-1;;;;;;9682:62:96;-1:-1:-1;;;;;9682:62:96;;;;;;;9764:49;;-1:-1:-1;;;;;9764:49:96;;;;;;;9799:13;;9764:49;:::i;:::-;;;;;;;;9508:316;;-1:-1:-1;9929:69:96;;-1:-1:-1;;;;9929:69:96;-1:-1:-1;;;9982:15:96;9929:69;;;;;;-1:-1:-1;;;9195:810:96:o;13664:252::-;13813:16;13848:61;13860:34;:14;13879;13860:18;:34::i;:::-;13896:12;13848:11;:61::i;:::-;13841:68;13664:252;-1:-1:-1;;;;13664:252:96:o;10163:2331::-;10342:36;;:::i;:::-;10381:31;10406:5;10381:24;:31::i;:::-;10342:70;-1:-1:-1;10467:26:96;10427:14;:36;;;:66;;;;;;;;;10423:103;;;10509:7;;;10423:103;10536:28;10567:55;10586:14;:35;;;-1:-1:-1;;;;;10567:55:96;:14;:18;;:55;;;;:::i;:::-;10536:86;-1:-1:-1;10636:25:96;10632:62;;10677:7;;;;10632:62;10704:32;10790:36;10750:14;:36;;;:76;;;;;;;;;10746:1462;;;10940:20;10924:12;:36;10920:282;;-1:-1:-1;11007:14:96;10920:282;;;11095:35;;;;11087:100;;-1:-1:-1;;;;;11087:44:96;11157:12;11087:48;:100::i;:::-;11060:127;;10920:282;10746:1462;;;11415:23;11441:149;11476:14;11508:16;11542:14;:34;;;-1:-1:-1;;;;;11441:149:96;:17;:149::i;:::-;11415:175;;11625:15;11609:12;:31;11605:593;;11746:14;11719:41;;11605:593;;;11855:25;11883:41;:15;11903:20;11883:19;:41::i;:::-;11855:69;;11962:17;11947:12;:32;11943:241;;;12030:135;12147:17;12030:87;12104:12;12038:14;:35;;;-1:-1:-1;;;;;12030:44:96;:73;;:87;;;;:::i;:::-;:116;;:135::i;:::-;12003:162;;11943:241;11605:593;;10746:1462;;12222:28;;12218:270;;12317:73;12352:24;12317:17;:73::i;:::-;-1:-1:-1;;;;;12266:27:96;;:20;:27;;;;;;;;;;;;:48;;:124;;-1:-1:-1;;;;;12266:124:96;;;;-1:-1:-1;;;12266:124:96;-1:-1:-1;;;;;;;;12266:124:96;;;;;;;;;;12410:67;;;;;;12452:24;;12410:67;:::i;12218:270::-;10163:2331;;;;;;;;:::o;3136:155:442:-;3194:7;3226:1;3221;:6;;3213:49;;;;-1:-1:-1;;;3213:49:442;;;;;;;:::i;:::-;-1:-1:-1;3279:5:442;;;3136:155::o;13973:2559:96:-;14118:25;14155:36;;:::i;:::-;14194:31;14219:5;14194:24;:31::i;:::-;14155:70;;14287:15;14240:14;:43;;;:62;;;14236:101;;;14325:1;14318:8;;;;;14236:101;14425:34;;14347:31;;14381:115;;14406:54;;:14;;-1:-1:-1;;;;;14406:54:96;:18;:54::i;:::-;14474:12;14381:11;:115::i;:::-;14347:149;-1:-1:-1;14510:28:96;14506:67;;14561:1;14554:8;;;;;;14506:67;14808:14;:23;;;14789:42;;:15;:42;;:165;;;;14908:14;:46;;;-1:-1:-1;;;;;14847:107:96;:14;:45;;;-1:-1:-1;;;;;14847:107:96;;14789:165;14772:493;;;15002:252;15060:23;15105:14;:45;;;-1:-1:-1;;;;;15002:252:96;15172:64;15192:14;:43;;;15172:64;;:15;:19;;:64;;;;:::i;:::-;15002:36;:252::i;:::-;14979:275;;;;;;14772:493;15404:14;:23;;;15357:70;;:14;:43;;;:70;;;15353:377;;15466:253;15524:23;15569:14;:46;;;-1:-1:-1;;;;;15466:253:96;15637:64;15657:14;:43;;;15637:64;;:15;:19;;:64;;;;:::i;15353:377::-;15927:27;15957:237;16007:23;16044:14;:45;;;-1:-1:-1;;;;;15957:237:96;16103:81;16140:14;:43;;;16103:81;;16111:14;:23;;;16103:32;;:36;;:81;;;;:::i;15957:237::-;15927:267;-1:-1:-1;16205:28:96;16236:226;16286:48;:23;15927:267;16286:27;:48::i;:::-;16348:14;:46;;;-1:-1:-1;;;;;16236:226:96;16408:44;16428:14;:23;;;16408:44;;:15;:19;;:44;;;;:::i;16236:226::-;16205:257;-1:-1:-1;16480:45:96;:19;16205:257;16480:23;:45::i;:::-;16473:52;13973:2559;-1:-1:-1;;;;;;;;13973:2559:96:o;2690:175:442:-;2748:7;2779:5;;;2802:6;;;;2794:46;;;;-1:-1:-1;;;2794:46:442;;;;;;;:::i;1086:181:454:-;1143:7;-1:-1:-1;;;1170:5:454;:14;1162:67;;;;-1:-1:-1;;;1162:67:454;;;;;;;:::i;:::-;-1:-1:-1;1254:5:454;1086:181::o;1127:205:360:-;1207:12;1246:8;1235;:19;1231:76;;;-1:-1:-1;1277:19:360;;;1270:26;;1231:76;-1:-1:-1;1324:1:360;1127:205;;;;:::o;12547:210:96:-;12611:20;-1:-1:-1;;;12651:5:96;:14;12643:75;;;;-1:-1:-1;;;12643:75:96;;;;;;;:::i;12906:671::-;13089:17;13122:25;13118:64;;-1:-1:-1;13170:1:96;13163:8;;13118:64;13211:359;2175:6;13211:300;13266:227;2175:6;13266:185;13298:20;13344:23;2175:6;13266;:185::i;:227::-;13211:12;;:33;:300::i;:::-;:321;;:359::i;1233:1086:359:-;1311:10;1363:2;1366:57;;;;1469:10;;;1480:22;;;;1519:2;1513:8;;1462:61;;1480:22;1495:5;1489:11;;1462:61;;1563:1;1556:5;1552:13;1602:1;1598:2;1594:10;1588:16;;1582:687;1607:2;1582:687;;;1670:2;1666;1662:11;1720:2;1715;1711;1707:11;1704:19;1694:2;;1736:1;1734;1727:11;1694:2;1784:4;1780:2;1776:13;1825:2;1816:7;1813:15;1810:2;;;1840:1;1838;1831:11;1810:2;1884:5;1875:7;1871:19;1865:25;;1921:1;1918:2;1914:9;1911:2;;;1968;1964;1960:11;2046:2;2041;2037;2033:11;2030:19;2023:27;2017:2;2010:10;2003:18;1999:52;1996:2;;;2063:1;2061;2054:11;1996:2;2115:4;2111:2;2107:13;2160:2;2151:7;2148:15;2145:2;;;2175:1;2173;2166:11;2145:2;2210:19;;;;-1:-1:-1;;1911:2:359;1630:639;;1625:1;1622:2;1618:9;1612:15;;1582:687;;;1444:839;1356:927;;1366:57;1381:2;1384:20;;;;1420:1;1414:7;;1374:48;;1384:20;1398:5;1392:11;;1374:48;1356:927;;1233:1086;;;;;:::o;3538:215:442:-;3596:7;3619:6;3615:20;;-1:-1:-1;3634:1:442;3627:8;;3615:20;3657:5;;;3661:1;3657;:5;:1;3680:5;;;;;:10;3672:56;;;;-1:-1:-1;;;3672:56:442;;;;;;;:::i;4217:150::-;4275:7;4306:1;4302;:5;4294:44;;;;-1:-1:-1;;;4294:44:442;;;;;;;:::i;:::-;4359:1;4355;:5;;;;;;;4217:150;-1:-1:-1;;;4217:150:442:o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5:130::-;72:20;;97:33;72:20;97:33;:::i;160:352::-;;;290:3;283:4;275:6;271:17;267:27;257:2;;308:1;305;298:12;257:2;-1:-1;328:20;;368:18;357:30;;354:2;;;400:1;397;390:12;354:2;434:4;426:6;422:17;410:29;;485:3;477:4;469:6;465:17;455:8;451:32;448:41;445:2;;;502:1;499;492:12;445:2;250:262;;;;;:::o;520:128::-;595:13;;613:30;595:13;613:30;:::i;656:440::-;;757:3;750:4;742:6;738:17;734:27;724:2;;775:1;772;765:12;724:2;812:6;799:20;834:64;849:48;890:6;849:48;:::i;:::-;834:64;:::i;:::-;825:73;;918:6;911:5;904:21;954:4;946:6;942:17;987:4;980:5;976:16;1022:3;1013:6;1008:3;1004:16;1001:25;998:2;;;1039:1;1036;1029:12;998:2;1049:41;1083:6;1078:3;1073;1049:41;:::i;:::-;717:379;;;;;;;:::o;1104:188::-;1209:13;;1227:60;1209:13;1227:60;:::i;1299:130::-;1366:20;;1391:33;1366:20;1391:33;:::i;1436:132::-;1513:13;;1531:32;1513:13;1531:32;:::i;1575:132::-;1652:13;;1670:32;1652:13;1670:32;:::i;1714:241::-;;1818:2;1806:9;1797:7;1793:23;1789:32;1786:2;;;1834:1;1831;1824:12;1786:2;1869:1;1886:53;1931:7;1911:9;1886:53;:::i;1962:345::-;;2075:2;2063:9;2054:7;2050:23;2046:32;2043:2;;;2091:1;2088;2081:12;2043:2;2126:31;;2177:18;2166:30;;2163:2;;;2209:1;2206;2199:12;2163:2;2229:62;2283:7;2274:6;2263:9;2259:22;2229:62;:::i;2314:366::-;;;2435:2;2423:9;2414:7;2410:23;2406:32;2403:2;;;2451:1;2448;2441:12;2403:2;2486:1;2503:53;2548:7;2528:9;2503:53;:::i;:::-;2493:63;;2465:97;2593:2;2611:53;2656:7;2647:6;2636:9;2632:22;2611:53;:::i;:::-;2601:63;;2572:98;2397:283;;;;;:::o;2687:491::-;;;;2825:2;2813:9;2804:7;2800:23;2796:32;2793:2;;;2841:1;2838;2831:12;2793:2;2876:1;2893:53;2938:7;2918:9;2893:53;:::i;:::-;2883:63;;2855:97;2983:2;3001:53;3046:7;3037:6;3026:9;3022:22;3001:53;:::i;:::-;2991:63;;2962:98;3091:2;3109:53;3154:7;3145:6;3134:9;3130:22;3109:53;:::i;:::-;3099:63;;3070:98;2787:391;;;;;:::o;3185:773::-;;;;;;3375:3;3363:9;3354:7;3350:23;3346:33;3343:2;;;3392:1;3389;3382:12;3343:2;3427:1;3444:53;3489:7;3469:9;3444:53;:::i;:::-;3434:63;;3406:97;3534:2;3552:53;3597:7;3588:6;3577:9;3573:22;3552:53;:::i;:::-;3542:63;;3513:98;3642:2;3660:53;3705:7;3696:6;3685:9;3681:22;3660:53;:::i;:::-;3650:63;;3621:98;3778:2;3767:9;3763:18;3750:32;3802:18;3794:6;3791:30;3788:2;;;3834:1;3831;3824:12;3788:2;3862:80;3934:7;3925:6;3914:9;3910:22;3862:80;:::i;:::-;3844:98;;;;3729:219;3337:621;;;;;;;;:::o;3965:851::-;;;;;;4169:3;4157:9;4148:7;4144:23;4140:33;4137:2;;;4186:1;4183;4176:12;4137:2;4221:1;4238:63;4293:7;4273:9;4238:63;:::i;:::-;4228:73;;4200:107;4338:2;4356:63;4411:7;4402:6;4391:9;4387:22;4356:63;:::i;:::-;4346:73;;4317:108;4456:2;4474:63;4529:7;4520:6;4509:9;4505:22;4474:63;:::i;:::-;4464:73;;4435:108;4574:2;4592:91;4675:7;4666:6;4655:9;4651:22;4592:91;:::i;:::-;4582:101;;4553:136;4720:3;4739:61;4792:7;4783:6;4772:9;4768:22;4739:61;:::i;:::-;4729:71;;4699:107;4131:685;;;;;;;;:::o;4823:94::-;4890:21;4905:5;4890:21;:::i;:::-;4885:3;4878:34;4872:45;;:::o;5035:166::-;5133:62;5189:5;5133:62;:::i;5392:389::-;;5552:67;5616:2;5611:3;5552:67;:::i;:::-;5652:34;5632:55;;-1:-1;;;5716:2;5707:12;;5700:44;5772:2;5763:12;;5538:243;-1:-1;;5538:243::o;5790:385::-;;5950:67;6014:2;6009:3;5950:67;:::i;:::-;6050:34;6030:55;;-1:-1;;;6114:2;6105:12;;6098:40;6166:2;6157:12;;5936:239;-1:-1;;5936:239::o;6184:327::-;;6344:67;6408:2;6403:3;6344:67;:::i;:::-;6444:29;6424:50;;6502:2;6493:12;;6330:181;-1:-1;;6330:181::o;6520:376::-;;6680:67;6744:2;6739:3;6680:67;:::i;:::-;6780:34;6760:55;;-1:-1;;;6844:2;6835:12;;6828:31;6887:2;6878:12;;6666:230;-1:-1;;6666:230::o;6905:330::-;;7065:67;7129:2;7124:3;7065:67;:::i;:::-;7165:32;7145:53;;7226:2;7217:12;;7051:184;-1:-1;;7051:184::o;7244:326::-;;7404:67;7468:2;7463:3;7404:67;:::i;:::-;7504:28;7484:49;;7561:2;7552:12;;7390:180;-1:-1;;7390:180::o;7579:370::-;;7739:67;7803:2;7798:3;7739:67;:::i;:::-;7839:34;7819:55;;-1:-1;;;7903:2;7894:12;;7887:25;7940:2;7931:12;;7725:224;-1:-1;;7725:224::o;7958:321::-;;8118:67;8182:2;8177:3;8118:67;:::i;:::-;-1:-1;;;8198:44;;8270:2;8261:12;;8104:175;-1:-1;;8104:175::o;8288:373::-;;8448:67;8512:2;8507:3;8448:67;:::i;:::-;8548:34;8528:55;;-1:-1;;;8612:2;8603:12;;8596:28;8652:2;8643:12;;8434:227;-1:-1;;8434:227::o;8670:374::-;;8830:67;8894:2;8889:3;8830:67;:::i;:::-;8930:34;8910:55;;-1:-1;;;8994:2;8985:12;;8978:29;9035:2;9026:12;;8816:228;-1:-1;;8816:228::o;9171:1578::-;9413:23;;9330:6;9321:16;;;9442:63;9325:3;9413:23;9442:63;:::i;:::-;9352:159;9608:4;9601:5;9597:16;9591:23;9620:61;9675:4;9670:3;9666:14;9652:12;9620:61;:::i;:::-;9521:166;9786:4;9779:5;9775:16;9769:23;9798:61;9853:4;9848:3;9844:14;9830:12;9798:61;:::i;:::-;9697:168;9965:4;9958:5;9954:16;9948:23;9977:61;10032:4;10027:3;10023:14;10009:12;9977:61;:::i;:::-;9875:169;10121:4;10114:5;10110:16;10104:23;10133:61;10188:4;10183:3;10179:14;10165:12;10133:61;:::i;:::-;10054:146;10289:4;10282:5;10278:16;10272:23;10301:63;10358:4;10353:3;10349:14;10335:12;10301:63;:::i;:::-;10210:160;10460:4;10453:5;10449:16;10443:23;10472:88;10554:4;10549:3;10545:14;10531:12;10472:88;:::i;:::-;10380:186;10659:4;10652:5;10648:16;10642:23;10671:57;10722:4;10717:3;10713:14;10699:12;10671:57;:::i;10756:103::-;10829:24;10847:5;10829:24;:::i;10866:103::-;10939:24;10957:5;10939:24;:::i;10976:113::-;11059:24;11077:5;11059:24;:::i;11096:124::-;11178:36;11208:5;11178:36;:::i;11227:100::-;11298:23;11315:5;11298:23;:::i;11334:124::-;11416:36;11446:5;11416:36;:::i;11465:100::-;11536:23;11553:5;11536:23;:::i;11572:416::-;11772:2;11786:47;;;11757:18;;11847:131;11757:18;11847:131;:::i;11995:416::-;12195:2;12209:47;;;12180:18;;12270:131;12180:18;12270:131;:::i;12418:416::-;12618:2;12632:47;;;12603:18;;12693:131;12603:18;12693:131;:::i;12841:416::-;13041:2;13055:47;;;13026:18;;13116:131;13026:18;13116:131;:::i;13264:416::-;13464:2;13478:47;;;13449:18;;13539:131;13449:18;13539:131;:::i;13687:416::-;13887:2;13901:47;;;13872:18;;13962:131;13872:18;13962:131;:::i;14110:416::-;14310:2;14324:47;;;14295:18;;14385:131;14295:18;14385:131;:::i;14533:416::-;14733:2;14747:47;;;14718:18;;14808:131;14718:18;14808:131;:::i;14956:416::-;15156:2;15170:47;;;15141:18;;15231:131;15141:18;15231:131;:::i;15379:416::-;15579:2;15593:47;;;15564:18;;15654:131;15564:18;15654:131;:::i;15802:355::-;15995:3;15980:19;;16010:137;15984:9;16120:6;16010:137;:::i;16164:222::-;16291:2;16276:18;;16305:71;16280:9;16349:6;16305:71;:::i;16393:700::-;16648:3;16633:19;;16663:70;16637:9;16706:6;16663:70;:::i;:::-;16744:71;16811:2;16800:9;16796:18;16787:6;16744:71;:::i;:::-;16826;16893:2;16882:9;16878:18;16869:6;16826:71;:::i;:::-;16908:97;17001:2;16990:9;16986:18;16977:6;16908:97;:::i;:::-;17016:67;17078:3;17067:9;17063:19;17054:6;17016:67;:::i;:::-;16619:474;;;;;;;;:::o;17100:256::-;17162:2;17156:9;17188:17;;;17263:18;17248:34;;17284:22;;;17245:62;17242:2;;;17320:1;17317;17310:12;17242:2;17336;17329:22;17140:216;;-1:-1;17140:216::o;17363:321::-;;17506:18;17498:6;17495:30;17492:2;;;17538:1;17535;17528:12;17492:2;-1:-1;17669:4;17605;17582:17;;;;-1:-1;;17578:33;17659:15;;17429:255::o;17692:163::-;17795:19;;;17844:4;17835:14;;17788:67::o;17863:91::-;;17925:24;17943:5;17925:24;:::i;17961:85::-;18027:13;18020:21;;18003:43::o;18053:160::-;18142:5;18148:60;18142:5;18148:60;:::i;18220:109::-;-1:-1;;;;;18282:42;;18265:64::o;18336:113::-;-1:-1;;;;;18398:46;;18381:68::o;18456:121::-;-1:-1;;;;;18518:54;;18501:76::o;18584:72::-;18646:5;18629:27::o;18663:88::-;18735:10;18724:22;;18707:44::o;18758:104::-;-1:-1;;;;;18819:38;;18802:60::o;18869:160::-;;18973:51;19018:5;18973:51;:::i;19036:106::-;;19114:23;19131:5;19114:23;:::i;19149:106::-;;19227:23;19244:5;19227:23;:::i;19263:145::-;19344:6;19339:3;19334;19321:30;-1:-1;19400:1;19382:16;;19375:27;19314:94::o;19416:118::-;19512:1;19505:5;19502:12;19492:2;;19518:9;19492:2;19486:48;:::o;19541:117::-;19610:24;19628:5;19610:24;:::i;:::-;19603:5;19600:35;19590:2;;19649:1;19646;19639:12;19665:111;19731:21;19746:5;19731:21;:::i;19783:121::-;19879:1;19872:5;19869:12;19859:2;;19895:1;19892;19885:12;19911:117;19980:24;19998:5;19980:24;:::i;20035:115::-;20103:23;20120:5;20103:23;:::i;20157:115::-;20225:23;20242:5;20225:23;:::i", "linkReferences": {} }, "methodIdentifiers": { "calcFaceValue(uint256,uint256)": "7bb6668e", "configure(bytes)": "46739e73", "getAccountingInfoForLoan(address)": "118fa575", "preBorrow(uint256,uint256,uint256)": "8602074e", "preClose(uint256,uint256)": "1770ac3a", "preReconcile(uint256,uint256,uint256,address[])": "e00c3490", "preRepay(uint256,uint256,uint256)": "1324041c", "receiveCallFromLoan(bytes)": "9e950b22" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"loan\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"scaledPerSecondRatePreMaturity\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"scaledPerSecondRatePostMaturity\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"maturity\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"enum ArbitraryLoanFixedInterestModule.RepaymentTrackingType\",\"name\":\"repaymentTrackingType\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"faceValueIsPrincipalOnly\",\"type\":\"bool\"}],\"name\":\"ConfigSetForLoan\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"loan\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"totalInterest\",\"type\":\"uint256\"}],\"name\":\"TotalInterestUpdatedForLoan\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"loan\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"totalPrincipalRepaid\",\"type\":\"uint256\"}],\"name\":\"TotalPrincipalRepaidUpdatedForLoan\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_totalBorrowed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_totalRepaid\",\"type\":\"uint256\"}],\"name\":\"calcFaceValue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"faceValue_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_configData\",\"type\":\"bytes\"}],\"name\":\"configure\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_loan\",\"type\":\"address\"}],\"name\":\"getAccountingInfoForLoan\",\"outputs\":[{\"components\":[{\"internalType\":\"uint128\",\"name\":\"totalInterestCached\",\"type\":\"uint128\"},{\"internalType\":\"uint32\",\"name\":\"totalInterestCachedTimestamp\",\"type\":\"uint32\"},{\"internalType\":\"uint96\",\"name\":\"scaledPerSecondRatePreMaturity\",\"type\":\"uint96\"},{\"internalType\":\"uint96\",\"name\":\"scaledPerSecondRatePostMaturity\",\"type\":\"uint96\"},{\"internalType\":\"uint32\",\"name\":\"maturity\",\"type\":\"uint32\"},{\"internalType\":\"uint112\",\"name\":\"totalPrincipalRepaid\",\"type\":\"uint112\"},{\"internalType\":\"enum ArbitraryLoanFixedInterestModule.RepaymentTrackingType\",\"name\":\"repaymentTrackingType\",\"type\":\"uint8\"},{\"internalType\":\"bool\",\"name\":\"faceValueIsPrincipalOnly\",\"type\":\"bool\"}],\"internalType\":\"struct ArbitraryLoanFixedInterestModule.AccountingInfo\",\"name\":\"accountingInfo_\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_prevTotalBorrowed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_totalRepaid\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"preBorrow\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"preClose\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_totalBorrowed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_prevTotalRepaid\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_repayableLoanAssetAmount\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"name\":\"preReconcile\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"repayAmount_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_totalBorrowed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_prevTotalRepaid\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_repayAmountInput\",\"type\":\"uint256\"}],\"name\":\"preRepay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"repayAmount_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"receiveCallFromLoan\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"calcFaceValue(uint256,uint256)\":{\"params\":{\"_totalBorrowed\":\"The total borrowed amount\",\"_totalRepaid\":\"The total repaid amount\"},\"returns\":{\"faceValue_\":\"The face value\"}},\"configure(bytes)\":{\"params\":{\"_configData\":\"Encoded options\"}},\"getAccountingInfoForLoan(address)\":{\"params\":{\"_loan\":\"The loan address\"},\"returns\":{\"accountingInfo_\":\"The accounting info\"}},\"preBorrow(uint256,uint256,uint256)\":{\"params\":{\"_prevTotalBorrowed\":\"The total borrowed amount not including the new borrow amount\",\"_totalRepaid\":\"The total repaid amount\"}},\"preClose(uint256,uint256)\":{\"details\":\"Unimplemented\"},\"preReconcile(uint256,uint256,uint256,address[])\":{\"details\":\"Should not revert in case of over-repayment. Instead, it is recommended to return the full loan balance as repayAmount_ where necessary.\",\"params\":{\"_prevTotalRepaid\":\"The total repaid amount not including the reconciled assets\",\"_repayableLoanAssetAmount\":\"The loanAsset amount available for repayment\",\"_totalBorrowed\":\"The total borrowed amount\"},\"returns\":{\"repayAmount_\":\"The formatted amount to consider as repayment in terms of the loanAsset\"}},\"preRepay(uint256,uint256,uint256)\":{\"params\":{\"_prevTotalRepaid\":\"The total repaid amount not including the new repay amount\",\"_repayAmountInput\":\"The user-input repay amount\",\"_totalBorrowed\":\"The total borrowed amount\",\"repayAmount_\":\"The formatted amount to repay\"}},\"receiveCallFromLoan(bytes)\":{\"details\":\"No actions implemented in this module\"}},\"title\":\"ArbitraryLoanFixedInterestModule Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"calcFaceValue(uint256,uint256)\":{\"notice\":\"Calculates the canonical face value of the loan\"},\"configure(bytes)\":{\"notice\":\"Configures options per-loan\"},\"getAccountingInfoForLoan(address)\":{\"notice\":\"Gets the AccountingInfo for a given loan\"},\"preBorrow(uint256,uint256,uint256)\":{\"notice\":\"Implements logic immediately prior to effects and interactions during a borrow\"},\"preClose(uint256,uint256)\":{\"notice\":\"Implements logic immediately prior to effects and interactions when closing a loan\"},\"preReconcile(uint256,uint256,uint256,address[])\":{\"notice\":\"Implements logic immediately prior to effects and interactions during a reconciliation, and returns the formatted amount to consider as a repayment\"},\"preRepay(uint256,uint256,uint256)\":{\"notice\":\"Implements logic immediately prior to effects and interactions during a repay, and returns the formatted amount to repay (e.g., in the case of a user-input max)\"},\"receiveCallFromLoan(bytes)\":{\"notice\":\"Receives and executes an arbitrary call from the loan contract\"}},\"notice\":\"An accounting module for a loan to apply fixed interest tracking\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/arbitrary-loan/modules/ArbitraryLoanFixedInterestModule.sol\":\"ArbitraryLoanFixedInterestModule\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/external-position-manager/external-positions/arbitrary-loan/modules/ArbitraryLoanFixedInterestModule.sol\":{\"keccak256\":\"0xe2e6543d5b6bb46dad8b90d433e5c9c01aee49ac63e3ff98d6f9b59d783276b2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://de3c6aef9dafac6421c9f2ad05646326a04b6bd0be84e177febe58730804e4da\",\"dweb:/ipfs/QmPfBwVapVSzgbj23q5cnK2otNhVAJ5QmuVn9gXwhK2kbq\"]},\"contracts/release/extensions/external-position-manager/external-positions/arbitrary-loan/modules/IArbitraryLoanAccountingModule.sol\":{\"keccak256\":\"0x95b63e11b0e628c5a0bd382fb07b6fbd06bdd130ff7b8afa429f49990991c5f7\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8f7ecd88d1158d6ec02a0ae1a76c8c9cfdab49fe3d0fb344c0313376e2dc744f\",\"dweb:/ipfs/QmWeJjbsXX27ADWJpDV7pABtdGADs2nk4gmSUN9dtA7X2S\"]},\"contracts/release/utils/MakerDaoMath.sol\":{\"keccak256\":\"0x4bee0614f0164208a5a65a371f8853976e236db1ad25e75aec4357ef96b32dcb\",\"license\":\"AGPL-3.0-or-later\",\"urls\":[\"bzz-raw://eff29315081b02fe1267e23c65b0368f07c640352e41d26b64f6a77ddd307080\",\"dweb:/ipfs/QmQH7itbaMjEt189WsKbygmwJdBrS5ghnwt94w8JRgh3mg\"]},\"contracts/release/utils/MathHelpers.sol\":{\"keccak256\":\"0x8aef498ae98bfb40cd1df8c9ed652b4c092fbbe62d5a1fad522c53654523248e\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ed62789f6a8d5ca30a40c591f244b915e4711493a9e4b1b4d40ea2bc97b02a95\",\"dweb:/ipfs/QmWyXJ55arURtx9VMkUQokdsjk8tbgM2cC8rENFUMyz5D3\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/utils/SafeCast.sol\":{\"keccak256\":\"0x7b2b8baa20fd60ab4a328c8e34c64a353651b80ba4b5b157cbb61813f6f85d55\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://125b7f9efa390e663d630c62b97ae4e0707f31623bea989ef94c97ca9d777dd2\",\"dweb:/ipfs/QmaaLSuwvqK7wqcgyS3utHgfmB7RntcvP7eJSuvQod8Z9P\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "loan", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "scaledPerSecondRatePreMaturity", "type": "uint256", "indexed": false }, { "internalType": "uint256", "name": "scaledPerSecondRatePostMaturity", "type": "uint256", "indexed": false }, { "internalType": "uint256", "name": "maturity", "type": "uint256", "indexed": false }, { "internalType": "enum ArbitraryLoanFixedInterestModule.RepaymentTrackingType", "name": "repaymentTrackingType", "type": "uint8", "indexed": false }, { "internalType": "bool", "name": "faceValueIsPrincipalOnly", "type": "bool", "indexed": false } ], "type": "event", "name": "ConfigSetForLoan", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "loan", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "totalInterest", "type": "uint256", "indexed": false } ], "type": "event", "name": "TotalInterestUpdatedForLoan", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "loan", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "totalPrincipalRepaid", "type": "uint256", "indexed": false } ], "type": "event", "name": "TotalPrincipalRepaidUpdatedForLoan", "anonymous": false }, { "inputs": [ { "internalType": "uint256", "name": "_totalBorrowed", "type": "uint256" }, { "internalType": "uint256", "name": "_totalRepaid", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "calcFaceValue", "outputs": [ { "internalType": "uint256", "name": "faceValue_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "bytes", "name": "_configData", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "configure" }, { "inputs": [ { "internalType": "address", "name": "_loan", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getAccountingInfoForLoan", "outputs": [ { "internalType": "struct ArbitraryLoanFixedInterestModule.AccountingInfo", "name": "accountingInfo_", "type": "tuple", "components": [ { "internalType": "uint128", "name": "totalInterestCached", "type": "uint128" }, { "internalType": "uint32", "name": "totalInterestCachedTimestamp", "type": "uint32" }, { "internalType": "uint96", "name": "scaledPerSecondRatePreMaturity", "type": "uint96" }, { "internalType": "uint96", "name": "scaledPerSecondRatePostMaturity", "type": "uint96" }, { "internalType": "uint32", "name": "maturity", "type": "uint32" }, { "internalType": "uint112", "name": "totalPrincipalRepaid", "type": "uint112" }, { "internalType": "enum ArbitraryLoanFixedInterestModule.RepaymentTrackingType", "name": "repaymentTrackingType", "type": "uint8" }, { "internalType": "bool", "name": "faceValueIsPrincipalOnly", "type": "bool" } ] } ] }, { "inputs": [ { "internalType": "uint256", "name": "_prevTotalBorrowed", "type": "uint256" }, { "internalType": "uint256", "name": "_totalRepaid", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "preBorrow" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "preClose" }, { "inputs": [ { "internalType": "uint256", "name": "_totalBorrowed", "type": "uint256" }, { "internalType": "uint256", "name": "_prevTotalRepaid", "type": "uint256" }, { "internalType": "uint256", "name": "_repayableLoanAssetAmount", "type": "uint256" }, { "internalType": "address[]", "name": "", "type": "address[]" } ], "stateMutability": "nonpayable", "type": "function", "name": "preReconcile", "outputs": [ { "internalType": "uint256", "name": "repayAmount_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_totalBorrowed", "type": "uint256" }, { "internalType": "uint256", "name": "_prevTotalRepaid", "type": "uint256" }, { "internalType": "uint256", "name": "_repayAmountInput", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "preRepay", "outputs": [ { "internalType": "uint256", "name": "repayAmount_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "receiveCallFromLoan" } ], "devdoc": { "kind": "dev", "methods": { "calcFaceValue(uint256,uint256)": { "params": { "_totalBorrowed": "The total borrowed amount", "_totalRepaid": "The total repaid amount" }, "returns": { "faceValue_": "The face value" } }, "configure(bytes)": { "params": { "_configData": "Encoded options" } }, "getAccountingInfoForLoan(address)": { "params": { "_loan": "The loan address" }, "returns": { "accountingInfo_": "The accounting info" } }, "preBorrow(uint256,uint256,uint256)": { "params": { "_prevTotalBorrowed": "The total borrowed amount not including the new borrow amount", "_totalRepaid": "The total repaid amount" } }, "preClose(uint256,uint256)": { "details": "Unimplemented" }, "preReconcile(uint256,uint256,uint256,address[])": { "details": "Should not revert in case of over-repayment. Instead, it is recommended to return the full loan balance as repayAmount_ where necessary.", "params": { "_prevTotalRepaid": "The total repaid amount not including the reconciled assets", "_repayableLoanAssetAmount": "The loanAsset amount available for repayment", "_totalBorrowed": "The total borrowed amount" }, "returns": { "repayAmount_": "The formatted amount to consider as repayment in terms of the loanAsset" } }, "preRepay(uint256,uint256,uint256)": { "params": { "_prevTotalRepaid": "The total repaid amount not including the new repay amount", "_repayAmountInput": "The user-input repay amount", "_totalBorrowed": "The total borrowed amount", "repayAmount_": "The formatted amount to repay" } }, "receiveCallFromLoan(bytes)": { "details": "No actions implemented in this module" } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "calcFaceValue(uint256,uint256)": { "notice": "Calculates the canonical face value of the loan" }, "configure(bytes)": { "notice": "Configures options per-loan" }, "getAccountingInfoForLoan(address)": { "notice": "Gets the AccountingInfo for a given loan" }, "preBorrow(uint256,uint256,uint256)": { "notice": "Implements logic immediately prior to effects and interactions during a borrow" }, "preClose(uint256,uint256)": { "notice": "Implements logic immediately prior to effects and interactions when closing a loan" }, "preReconcile(uint256,uint256,uint256,address[])": { "notice": "Implements logic immediately prior to effects and interactions during a reconciliation, and returns the formatted amount to consider as a repayment" }, "preRepay(uint256,uint256,uint256)": { "notice": "Implements logic immediately prior to effects and interactions during a repay, and returns the formatted amount to repay (e.g., in the case of a user-input max)" }, "receiveCallFromLoan(bytes)": { "notice": "Receives and executes an arbitrary call from the loan contract" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/external-position-manager/external-positions/arbitrary-loan/modules/ArbitraryLoanFixedInterestModule.sol": "ArbitraryLoanFixedInterestModule" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/extensions/external-position-manager/external-positions/arbitrary-loan/modules/ArbitraryLoanFixedInterestModule.sol": { "keccak256": "0xe2e6543d5b6bb46dad8b90d433e5c9c01aee49ac63e3ff98d6f9b59d783276b2", "urls": [ "bzz-raw://de3c6aef9dafac6421c9f2ad05646326a04b6bd0be84e177febe58730804e4da", "dweb:/ipfs/QmPfBwVapVSzgbj23q5cnK2otNhVAJ5QmuVn9gXwhK2kbq" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/arbitrary-loan/modules/IArbitraryLoanAccountingModule.sol": { "keccak256": "0x95b63e11b0e628c5a0bd382fb07b6fbd06bdd130ff7b8afa429f49990991c5f7", "urls": [ "bzz-raw://8f7ecd88d1158d6ec02a0ae1a76c8c9cfdab49fe3d0fb344c0313376e2dc744f", "dweb:/ipfs/QmWeJjbsXX27ADWJpDV7pABtdGADs2nk4gmSUN9dtA7X2S" ], "license": "GPL-3.0" }, "contracts/release/utils/MakerDaoMath.sol": { "keccak256": "0x4bee0614f0164208a5a65a371f8853976e236db1ad25e75aec4357ef96b32dcb", "urls": [ "bzz-raw://eff29315081b02fe1267e23c65b0368f07c640352e41d26b64f6a77ddd307080", "dweb:/ipfs/QmQH7itbaMjEt189WsKbygmwJdBrS5ghnwt94w8JRgh3mg" ], "license": "AGPL-3.0-or-later" }, "contracts/release/utils/MathHelpers.sol": { "keccak256": "0x8aef498ae98bfb40cd1df8c9ed652b4c092fbbe62d5a1fad522c53654523248e", "urls": [ "bzz-raw://ed62789f6a8d5ca30a40c591f244b915e4711493a9e4b1b4d40ea2bc97b02a95", "dweb:/ipfs/QmWyXJ55arURtx9VMkUQokdsjk8tbgM2cC8rENFUMyz5D3" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/SafeCast.sol": { "keccak256": "0x7b2b8baa20fd60ab4a328c8e34c64a353651b80ba4b5b157cbb61813f6f85d55", "urls": [ "bzz-raw://125b7f9efa390e663d630c62b97ae4e0707f31623bea989ef94c97ca9d777dd2", "dweb:/ipfs/QmaaLSuwvqK7wqcgyS3utHgfmB7RntcvP7eJSuvQod8Z9P" ], "license": "MIT" } }, "version": 1 }, "id": 96 } diff --git a/eth_defi/abi/enzyme/ArbitraryLoanPositionDataDecoder.json b/eth_defi/abi/enzyme/ArbitraryLoanPositionDataDecoder.json index 9e3d7046..3d78379b 100644 --- a/eth_defi/abi/enzyme/ArbitraryLoanPositionDataDecoder.json +++ b/eth_defi/abi/enzyme/ArbitraryLoanPositionDataDecoder.json @@ -1,78 +1 @@ -{ - "abi": [], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": {}, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ArbitraryLoanPositionDataDecoder Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Abstract contract containing data decodings for ArbitraryLoanPosition payloads\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/arbitrary-loan/ArbitraryLoanPositionDataDecoder.sol\":\"ArbitraryLoanPositionDataDecoder\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/external-position-manager/external-positions/arbitrary-loan/ArbitraryLoanPositionDataDecoder.sol\":{\"keccak256\":\"0xef4f598d56281e2e8221170dad687a0db70d3adc9966b8280afdbd968f93be11\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://439ae7e28086dc3df565dd23f41945920447ab48f12a4688497e49cda3fee6a0\",\"dweb:/ipfs/QmR361jpyXyym1ectcCRRCotdyHir95HePSEErEpVhcopr\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/external-position-manager/external-positions/arbitrary-loan/ArbitraryLoanPositionDataDecoder.sol": "ArbitraryLoanPositionDataDecoder" - }, - "libraries": {} - }, - "sources": { - "contracts/release/extensions/external-position-manager/external-positions/arbitrary-loan/ArbitraryLoanPositionDataDecoder.sol": { - "keccak256": "0xef4f598d56281e2e8221170dad687a0db70d3adc9966b8280afdbd968f93be11", - "urls": [ - "bzz-raw://439ae7e28086dc3df565dd23f41945920447ab48f12a4688497e49cda3fee6a0", - "dweb:/ipfs/QmR361jpyXyym1ectcCRRCotdyHir95HePSEErEpVhcopr" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 92 -} +{ "abi": [], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": {}, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ArbitraryLoanPositionDataDecoder Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Abstract contract containing data decodings for ArbitraryLoanPosition payloads\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/arbitrary-loan/ArbitraryLoanPositionDataDecoder.sol\":\"ArbitraryLoanPositionDataDecoder\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/external-position-manager/external-positions/arbitrary-loan/ArbitraryLoanPositionDataDecoder.sol\":{\"keccak256\":\"0xef4f598d56281e2e8221170dad687a0db70d3adc9966b8280afdbd968f93be11\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://439ae7e28086dc3df565dd23f41945920447ab48f12a4688497e49cda3fee6a0\",\"dweb:/ipfs/QmR361jpyXyym1ectcCRRCotdyHir95HePSEErEpVhcopr\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/external-position-manager/external-positions/arbitrary-loan/ArbitraryLoanPositionDataDecoder.sol": "ArbitraryLoanPositionDataDecoder" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/extensions/external-position-manager/external-positions/arbitrary-loan/ArbitraryLoanPositionDataDecoder.sol": { "keccak256": "0xef4f598d56281e2e8221170dad687a0db70d3adc9966b8280afdbd968f93be11", "urls": [ "bzz-raw://439ae7e28086dc3df565dd23f41945920447ab48f12a4688497e49cda3fee6a0", "dweb:/ipfs/QmR361jpyXyym1ectcCRRCotdyHir95HePSEErEpVhcopr" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 92 } diff --git a/eth_defi/abi/enzyme/ArbitraryLoanPositionLib.json b/eth_defi/abi/enzyme/ArbitraryLoanPositionLib.json index 03e94a58..27cadf11 100644 --- a/eth_defi/abi/enzyme/ArbitraryLoanPositionLib.json +++ b/eth_defi/abi/enzyme/ArbitraryLoanPositionLib.json @@ -1,877 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_wrappedNativeAsset", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "borrowableAmount", - "type": "uint256" - } - ], - "name": "BorrowableAmountUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [], - "name": "LoanClosed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "borrower", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "loanAsset", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "accountingModule", - "type": "address" - }, - { - "indexed": false, - "internalType": "bytes32", - "name": "description", - "type": "bytes32" - } - ], - "name": "LoanConfigured", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "totalBorrowed", - "type": "uint256" - } - ], - "name": "TotalBorrowedUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "totalRepaid", - "type": "uint256" - } - ], - "name": "TotalRepaidUpdated", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "borrow", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getAccountingModule", - "outputs": [ - { - "internalType": "address", - "name": "accountingModule_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getBorrowableAmount", - "outputs": [ - { - "internalType": "uint256", - "name": "borrowableAmount_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getBorrower", - "outputs": [ - { - "internalType": "address", - "name": "borrower_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getDebtAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "assets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "amounts_", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getLoanAsset", - "outputs": [ - { - "internalType": "address", - "name": "asset_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getManagedAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "assets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "amounts_", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getTotalBorrowed", - "outputs": [ - { - "internalType": "uint256", - "name": "totalBorrowed_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getTotalRepaid", - "outputs": [ - { - "internalType": "uint256", - "name": "totalRepaid_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "init", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "loanIsClosed", - "outputs": [ - { - "internalType": "bool", - "name": "isClosed_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - } - ], - "name": "receiveCallFromVault", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "repay", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x60a060405234801561001057600080fd5b50604051611d49380380611d498339818101604052602081101561003357600080fd5b5051606081901b6001600160601b0319166080526001600160a01b0316611cdd61006c600039806114ea52806115205250611cdd6000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c80636d82f6451161008c578063acf8982e11610066578063acf8982e146102aa578063c5ebeaec146102b2578063e5c23a97146102cf578063ecd658b414610373576100cf565b80636d82f645146101e557806377658e80146101ed57806380daddb814610209576100cf565b80630307c4a1146100d457806307758efb146100ee5780631cb0c3e714610112578063371fd8e61461011a5780634ddf47d41461013957806358414300146101dd575b600080fd5b6100dc61037b565b60408051918252519081900360200190f35b6100f661038a565b604080516001600160a01b039092168252519081900360200190f35b6100f6610399565b6101376004803603602081101561013057600080fd5b50356103a8565b005b6101376004803603602081101561014f57600080fd5b810190602081018135600160201b81111561016957600080fd5b82018360208201111561017b57600080fd5b803590602001918460018302840111600160201b8311171561019c57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610576945050505050565b6100dc610579565b6100dc61058f565b6101f5610595565b604080519115158252519081900360200190f35b6102116105a5565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b8381101561025557818101518382015260200161023d565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561029457818101518382015260200161027c565b5050505090500194505050505060405180910390f35b6100f661072b565b610137600480360360208110156102c857600080fd5b503561073a565b610137600480360360208110156102e557600080fd5b810190602081018135600160201b8111156102ff57600080fd5b82018360208201111561031157600080fd5b803590602001918460018302840111600160201b8311171561033257600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955061092f945050505050565b610211610aa7565b6003546001600160801b031690565b6000546001600160a01b031690565b6001546001600160a01b031690565b60006103b2610579565b905060006103be61038a565b905060006001600160a01b0382161561046157816001600160a01b0316631324041c6103e861037b565b85876040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050602060405180830381600087803b15801561042e57600080fd5b505af1158015610442573d6000803e3d6000fd5b505050506040513d602081101561045857600080fd5b50519050610486565b6000198414156104835761047c61047661037b565b84610aad565b9050610486565b50825b600081116104db576040805162461bcd60e51b815260206004820152601760248201527f72657061793a204e6f7468696e6720746f207265706179000000000000000000604482015290519081900360640190fd5b6104ed6104e88483610aca565b610b2b565b61057033306001600160a01b031663c98091876040518163ffffffff1660e01b815260040160206040518083038186803b15801561052a57600080fd5b505afa15801561053e573d6000803e3d6000fd5b505050506040513d602081101561055457600080fd5b50518361055f61072b565b6001600160a01b0316929190610b87565b50505050565b50565b600354600160801b90046001600160801b031690565b60025490565b600454600160a01b900460ff1690565b6060806105b0610595565b156105ba57610727565b60006105c461038a565b905060006001600160a01b0382161561066457816001600160a01b0316637bb6668e6105ee61037b565b6105f6610579565b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561063157600080fd5b505afa158015610645573d6000803e3d6000fd5b505050506040513d602081101561065b57600080fd5b5051905061067f565b61067c61066f61037b565b610677610579565b610aad565b90505b61069161068a61058f565b8290610aca565b90508061069f575050610727565b60408051600180825281830190925290602080830190803683370190505093506106c761072b565b846000815181106106d457fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509250808360008151811061071857fe5b60200260200101818152505050505b9091565b6004546001600160a01b031690565b610742610399565b6001600160a01b0316336001600160a01b03161461079e576040805162461bcd60e51b8152602060048201526014602482015273189bdc9c9bddce88155b985d5d1a1bdc9a5e995960621b604482015290519081900360640190fd5b600081116107eb576040805162461bcd60e51b8152602060048201526015602482015274189bdc9c9bddce88115b5c1d1e4817d85b5bdd5b9d605a1b604482015290519081900360640190fd5b60006107f561037b565b9050600061080161038a565b90506001600160a01b0381161561088857806001600160a01b0316638602074e8361082a610579565b866040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b15801561086f57600080fd5b505af1158015610883573d6000803e3d6000fd5b505050505b6108a261089d8461089761058f565b90610be1565b610c3e565b6108ac8284610aca565b91506108b782610c79565b600380546fffffffffffffffffffffffffffffffff19166001600160801b03929092169190911790556004546108f7906001600160a01b03163385610cc1565b6040805183815290517f17f13fd3f7c4712af33f1770ebcb822dd20a2dbc00850eab48d786623d97b9599181900360200190a1505050565b6000606082806020019051604081101561094857600080fd5b815160208301805160405192949293830192919084600160201b82111561096e57600080fd5b90830190602082018581111561098357600080fd5b8251600160201b81118282018810171561099c57600080fd5b82525081516020918201929091019080838360005b838110156109c95781810151838201526020016109b1565b50505050905090810190601f1680156109f65780820380516001836020036101000a031916815260200191505b506040525050509150915060006004811115610a0e57fe5b821415610a2357610a1e81610d13565b610aa2565b6001821415610a3557610a1e81610f91565b6002821415610a4757610a1e8161104b565b6003821415610a5957610a1e81611115565b6004821415610a6b57610a1e81611128565b60405162461bcd60e51b8152600401808060200182810382526026815260200180611bdf6026913960400191505060405180910390fd5b505050565b60608091565b600081831115610ac05750808203610ac4565b5060005b92915050565b600082820183811015610b24576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b610b3481610c79565b600380546001600160801b03928316600160801b0292169190911790556040805182815290517f5fbda7f48544d8b75745d0afbdee80c8795852baa78a9c2d6aed0b244f9367ef9181900360200190a150565b604080516001600160a01b0380861660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b17905261057090859061126f565b600082821115610c38576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60028190556040805182815290517fefab1a36212873214a245322bb960227417faad7a04286819bc74cb820a633429181900360200190a150565b6000600160801b8210610cbd5760405162461bcd60e51b8152600401808060200182810382526027815260200180611b926027913960400191505060405180910390fd5b5090565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610aa290849061126f565b6000610d1d61072b565b6001600160a01b031614610d625760405162461bcd60e51b8152600401808060200182810382526029815260200180611ca86029913960400191505060405180910390fd5b60008060008060606000610d7587611320565b95509550955095509550955060006001600160a01b0316866001600160a01b03161415610dd35760405162461bcd60e51b8152600401808060200182810382526025815260200180611c5c6025913960400191505060405180910390fd5b6001600160a01b038516610e185760405162461bcd60e51b8152600401808060200182810382526027815260200180611c816027913960400191505060405180910390fd5b600180546001600160a01b038089166001600160a01b031992831617909255600480548884169216919091179055831615610f2457600080546001600160a01b0319166001600160a01b03851690811782556040516346739e7360e01b815260206004820181815286516024840152865193946346739e73948894929384936044019290860191908190849084905b83811015610ebf578181015183820152602001610ea7565b50505050905090810190601f168015610eec5780820380516001836020036101000a031916815260200191505b5092505050600060405180830381600087803b158015610f0b57600080fd5b505af1158015610f1f573d6000803e3d6000fd5b505050505b826001600160a01b0316856001600160a01b0316876001600160a01b03167f0d48a14589e59522bbc3a98345ee51dcdd958b27ec84f512c139ea74626c3aa3846040518082815260200191505060405180910390a48315610f8857610f8884610c3e565b50505050505050565b610f99610595565b15610feb576040805162461bcd60e51b815260206004820152601a60248201527f6f6e6c794e6f74436c6f7365643a204c6f616e20636c6f736564000000000000604482015290519081900360640190fd5b6000610ff682611421565b9050600081121561103257600081900361101561089d8261089761058f565b60045461102c906001600160a01b03163383610cc1565b50611047565b61104761089d8261104161058f565b90610aca565b5050565b61105361038a565b6001600160a01b0316639e950b22826040518263ffffffff1660e01b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156110ae578181015183820152602001611096565b50505050905090810190601f1680156110db5780820380516001836020036101000a031916815260200191505b5092505050600060405180830381600087803b1580156110fa57600080fd5b505af115801561110e573d6000803e3d6000fd5b5050505050565b61057661112182611440565b60006114e8565b611130610595565b15611182576040805162461bcd60e51b815260206004820152601a60248201527f6f6e6c794e6f74436c6f7365643a204c6f616e20636c6f736564000000000000604482015290519081900360640190fd5b61119561118e82611440565b60016114e8565b600061119f61038a565b90506001600160a01b0381161561122557806001600160a01b0316631770ac3a6111c761037b565b6111cf610579565b6040518363ffffffff1660e01b81526004018083815260200182815260200192505050600060405180830381600087803b15801561120c57600080fd5b505af1158015611220573d6000803e3d6000fd5b505050505b61122f6000610c3e565b6004805460ff60a01b1916600160a01b1790556040517f409fced1b85ae32a29fb1e18894d8361a5f2653dc27adf7102d86175c2901d7c90600090a15050565b60606112c4826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166117c39092919063ffffffff16565b805190915015610aa2578080602001905160208110156112e357600080fd5b5051610aa25760405162461bcd60e51b815260040180806020018281038252602a815260200180611c32602a913960400191505060405180910390fd5b600080600080606060008680602001905160c081101561133f57600080fd5b8151602083015160408085015160608601516080870180519351959794969295919491939282019284600160201b82111561137957600080fd5b90830190602082018581111561138e57600080fd5b8251600160201b8111828201881017156113a757600080fd5b82525081516020918201929091019080838360005b838110156113d45781810151838201526020016113bc565b50505050905090810190601f1680156114015780820380516001836020036101000a031916815260200191505b5060405260200151969e959d50939b509199509750929550909350505050565b600081806020019051602081101561143857600080fd5b505192915050565b606081806020019051602081101561145757600080fd5b8101908080516040519392919084600160201b82111561147657600080fd5b90830190602082018581111561148b57600080fd5b82518660208202830111600160201b821117156114a757600080fd5b82525081516020918201928201910280838360005b838110156114d45781810151838201526020016114bc565b505050509050016040525050509050919050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161561159557478015611593577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b15801561157957600080fd5b505af115801561158d573d6000803e3d6000fd5b50505050505b505b600061159f61072b565b90506115ab83826117da565b156115e75760405162461bcd60e51b815260040180806020018281038252602d815260200180611c05602d913960400191505060405180910390fd5b6000816001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561163657600080fd5b505afa15801561164a573d6000803e3d6000fd5b505050506040513d602081101561166057600080fd5b5051905060006116728261067761058f565b9050801561178d57600080611685610579565b9050600061169161038a565b90506001600160a01b0381161561177857806001600160a01b031663e00c34906116b961037b565b84878c6040518563ffffffff1660e01b81526004018085815260200184815260200183815260200180602001828103825283818151815260200191508051906020019060200280838360005b8381101561171d578181015183820152602001611705565b5050505090500195505050505050602060405180830381600087803b15801561174557600080fd5b505af1158015611759573d6000803e3d6000fd5b505050506040513d602081101561176f57600080fd5b5051925061177c565b8392505b6117896104e88385610aca565b5050505b6000841561179c57508161179f565b50805b80156117b9576117b96001600160a01b0385163383610cc1565b610f883387611830565b60606117d2848460008561198b565b949350505050565b6000805b8351811015611826578381815181106117f357fe5b60200260200101516001600160a01b0316836001600160a01b0316141561181e576001915050610ac4565b6001016117de565b5060009392505050565b6060815167ffffffffffffffff8111801561184a57600080fd5b50604051908082528060200260200182016040528015611874578160200160208202803683370190505b50905060005b825181101561198457600083828151811061189157fe5b60200260200101519050806001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156118e857600080fd5b505afa1580156118fc573d6000803e3d6000fd5b505050506040513d602081101561191257600080fd5b5051835184908490811061192257fe5b602002602001018181525050600083838151811061193c57fe5b6020026020010151111561197b5761197b8584848151811061195a57fe5b6020026020010151836001600160a01b0316610cc19092919063ffffffff16565b5060010161187a565b5092915050565b6060824710156119cc5760405162461bcd60e51b8152600401808060200182810382526026815260200180611bb96026913960400191505060405180910390fd5b6119d585611ae7565b611a26576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b60208310611a655780518252601f199092019160209182019101611a46565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114611ac7576040519150601f19603f3d011682016040523d82523d6000602084013e611acc565b606091505b5091509150611adc828286611aed565b979650505050505050565b3b151590565b60608315611afc575081610b24565b825115611b0c5782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611b56578181015183820152602001611b3e565b50505050905090810190601f168015611b835780820380516001836020036101000a031916815260200191505b509250505060405180910390fdfe53616665436173743a2076616c756520646f65736e27742066697420696e203132382062697473416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c7265636569766543616c6c46726f6d5661756c743a20496e76616c696420616374696f6e49645f5f7265636f6e63696c653a2045787472612061737365747320636f6e7461696e73206c6f616e2061737365745361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645f5f616374696f6e436f6e6669677572654c6f616e3a20456d70747920626f72726f7765725f5f616374696f6e436f6e6669677572654c6f616e3a20456d707479206c6f616e2061737365745f5f616374696f6e436f6e6669677572654c6f616e3a20416c726561647920636f6e66696775726564a164736f6c634300060c000a", - "sourceMap": "1395:14131:93:-:0;;;1845:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1845:107:93;1903:42;;;;-1:-1:-1;;;;;;1903:42:93;;;-1:-1:-1;;;;;1395:14131:93;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106100cf5760003560e01c80636d82f6451161008c578063acf8982e11610066578063acf8982e146102aa578063c5ebeaec146102b2578063e5c23a97146102cf578063ecd658b414610373576100cf565b80636d82f645146101e557806377658e80146101ed57806380daddb814610209576100cf565b80630307c4a1146100d457806307758efb146100ee5780631cb0c3e714610112578063371fd8e61461011a5780634ddf47d41461013957806358414300146101dd575b600080fd5b6100dc61037b565b60408051918252519081900360200190f35b6100f661038a565b604080516001600160a01b039092168252519081900360200190f35b6100f6610399565b6101376004803603602081101561013057600080fd5b50356103a8565b005b6101376004803603602081101561014f57600080fd5b810190602081018135600160201b81111561016957600080fd5b82018360208201111561017b57600080fd5b803590602001918460018302840111600160201b8311171561019c57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610576945050505050565b6100dc610579565b6100dc61058f565b6101f5610595565b604080519115158252519081900360200190f35b6102116105a5565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b8381101561025557818101518382015260200161023d565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561029457818101518382015260200161027c565b5050505090500194505050505060405180910390f35b6100f661072b565b610137600480360360208110156102c857600080fd5b503561073a565b610137600480360360208110156102e557600080fd5b810190602081018135600160201b8111156102ff57600080fd5b82018360208201111561031157600080fd5b803590602001918460018302840111600160201b8311171561033257600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955061092f945050505050565b610211610aa7565b6003546001600160801b031690565b6000546001600160a01b031690565b6001546001600160a01b031690565b60006103b2610579565b905060006103be61038a565b905060006001600160a01b0382161561046157816001600160a01b0316631324041c6103e861037b565b85876040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050602060405180830381600087803b15801561042e57600080fd5b505af1158015610442573d6000803e3d6000fd5b505050506040513d602081101561045857600080fd5b50519050610486565b6000198414156104835761047c61047661037b565b84610aad565b9050610486565b50825b600081116104db576040805162461bcd60e51b815260206004820152601760248201527f72657061793a204e6f7468696e6720746f207265706179000000000000000000604482015290519081900360640190fd5b6104ed6104e88483610aca565b610b2b565b61057033306001600160a01b031663c98091876040518163ffffffff1660e01b815260040160206040518083038186803b15801561052a57600080fd5b505afa15801561053e573d6000803e3d6000fd5b505050506040513d602081101561055457600080fd5b50518361055f61072b565b6001600160a01b0316929190610b87565b50505050565b50565b600354600160801b90046001600160801b031690565b60025490565b600454600160a01b900460ff1690565b6060806105b0610595565b156105ba57610727565b60006105c461038a565b905060006001600160a01b0382161561066457816001600160a01b0316637bb6668e6105ee61037b565b6105f6610579565b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561063157600080fd5b505afa158015610645573d6000803e3d6000fd5b505050506040513d602081101561065b57600080fd5b5051905061067f565b61067c61066f61037b565b610677610579565b610aad565b90505b61069161068a61058f565b8290610aca565b90508061069f575050610727565b60408051600180825281830190925290602080830190803683370190505093506106c761072b565b846000815181106106d457fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509250808360008151811061071857fe5b60200260200101818152505050505b9091565b6004546001600160a01b031690565b610742610399565b6001600160a01b0316336001600160a01b03161461079e576040805162461bcd60e51b8152602060048201526014602482015273189bdc9c9bddce88155b985d5d1a1bdc9a5e995960621b604482015290519081900360640190fd5b600081116107eb576040805162461bcd60e51b8152602060048201526015602482015274189bdc9c9bddce88115b5c1d1e4817d85b5bdd5b9d605a1b604482015290519081900360640190fd5b60006107f561037b565b9050600061080161038a565b90506001600160a01b0381161561088857806001600160a01b0316638602074e8361082a610579565b866040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b15801561086f57600080fd5b505af1158015610883573d6000803e3d6000fd5b505050505b6108a261089d8461089761058f565b90610be1565b610c3e565b6108ac8284610aca565b91506108b782610c79565b600380546fffffffffffffffffffffffffffffffff19166001600160801b03929092169190911790556004546108f7906001600160a01b03163385610cc1565b6040805183815290517f17f13fd3f7c4712af33f1770ebcb822dd20a2dbc00850eab48d786623d97b9599181900360200190a1505050565b6000606082806020019051604081101561094857600080fd5b815160208301805160405192949293830192919084600160201b82111561096e57600080fd5b90830190602082018581111561098357600080fd5b8251600160201b81118282018810171561099c57600080fd5b82525081516020918201929091019080838360005b838110156109c95781810151838201526020016109b1565b50505050905090810190601f1680156109f65780820380516001836020036101000a031916815260200191505b506040525050509150915060006004811115610a0e57fe5b821415610a2357610a1e81610d13565b610aa2565b6001821415610a3557610a1e81610f91565b6002821415610a4757610a1e8161104b565b6003821415610a5957610a1e81611115565b6004821415610a6b57610a1e81611128565b60405162461bcd60e51b8152600401808060200182810382526026815260200180611bdf6026913960400191505060405180910390fd5b505050565b60608091565b600081831115610ac05750808203610ac4565b5060005b92915050565b600082820183811015610b24576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b610b3481610c79565b600380546001600160801b03928316600160801b0292169190911790556040805182815290517f5fbda7f48544d8b75745d0afbdee80c8795852baa78a9c2d6aed0b244f9367ef9181900360200190a150565b604080516001600160a01b0380861660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b17905261057090859061126f565b600082821115610c38576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60028190556040805182815290517fefab1a36212873214a245322bb960227417faad7a04286819bc74cb820a633429181900360200190a150565b6000600160801b8210610cbd5760405162461bcd60e51b8152600401808060200182810382526027815260200180611b926027913960400191505060405180910390fd5b5090565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610aa290849061126f565b6000610d1d61072b565b6001600160a01b031614610d625760405162461bcd60e51b8152600401808060200182810382526029815260200180611ca86029913960400191505060405180910390fd5b60008060008060606000610d7587611320565b95509550955095509550955060006001600160a01b0316866001600160a01b03161415610dd35760405162461bcd60e51b8152600401808060200182810382526025815260200180611c5c6025913960400191505060405180910390fd5b6001600160a01b038516610e185760405162461bcd60e51b8152600401808060200182810382526027815260200180611c816027913960400191505060405180910390fd5b600180546001600160a01b038089166001600160a01b031992831617909255600480548884169216919091179055831615610f2457600080546001600160a01b0319166001600160a01b03851690811782556040516346739e7360e01b815260206004820181815286516024840152865193946346739e73948894929384936044019290860191908190849084905b83811015610ebf578181015183820152602001610ea7565b50505050905090810190601f168015610eec5780820380516001836020036101000a031916815260200191505b5092505050600060405180830381600087803b158015610f0b57600080fd5b505af1158015610f1f573d6000803e3d6000fd5b505050505b826001600160a01b0316856001600160a01b0316876001600160a01b03167f0d48a14589e59522bbc3a98345ee51dcdd958b27ec84f512c139ea74626c3aa3846040518082815260200191505060405180910390a48315610f8857610f8884610c3e565b50505050505050565b610f99610595565b15610feb576040805162461bcd60e51b815260206004820152601a60248201527f6f6e6c794e6f74436c6f7365643a204c6f616e20636c6f736564000000000000604482015290519081900360640190fd5b6000610ff682611421565b9050600081121561103257600081900361101561089d8261089761058f565b60045461102c906001600160a01b03163383610cc1565b50611047565b61104761089d8261104161058f565b90610aca565b5050565b61105361038a565b6001600160a01b0316639e950b22826040518263ffffffff1660e01b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156110ae578181015183820152602001611096565b50505050905090810190601f1680156110db5780820380516001836020036101000a031916815260200191505b5092505050600060405180830381600087803b1580156110fa57600080fd5b505af115801561110e573d6000803e3d6000fd5b5050505050565b61057661112182611440565b60006114e8565b611130610595565b15611182576040805162461bcd60e51b815260206004820152601a60248201527f6f6e6c794e6f74436c6f7365643a204c6f616e20636c6f736564000000000000604482015290519081900360640190fd5b61119561118e82611440565b60016114e8565b600061119f61038a565b90506001600160a01b0381161561122557806001600160a01b0316631770ac3a6111c761037b565b6111cf610579565b6040518363ffffffff1660e01b81526004018083815260200182815260200192505050600060405180830381600087803b15801561120c57600080fd5b505af1158015611220573d6000803e3d6000fd5b505050505b61122f6000610c3e565b6004805460ff60a01b1916600160a01b1790556040517f409fced1b85ae32a29fb1e18894d8361a5f2653dc27adf7102d86175c2901d7c90600090a15050565b60606112c4826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166117c39092919063ffffffff16565b805190915015610aa2578080602001905160208110156112e357600080fd5b5051610aa25760405162461bcd60e51b815260040180806020018281038252602a815260200180611c32602a913960400191505060405180910390fd5b600080600080606060008680602001905160c081101561133f57600080fd5b8151602083015160408085015160608601516080870180519351959794969295919491939282019284600160201b82111561137957600080fd5b90830190602082018581111561138e57600080fd5b8251600160201b8111828201881017156113a757600080fd5b82525081516020918201929091019080838360005b838110156113d45781810151838201526020016113bc565b50505050905090810190601f1680156114015780820380516001836020036101000a031916815260200191505b5060405260200151969e959d50939b509199509750929550909350505050565b600081806020019051602081101561143857600080fd5b505192915050565b606081806020019051602081101561145757600080fd5b8101908080516040519392919084600160201b82111561147657600080fd5b90830190602082018581111561148b57600080fd5b82518660208202830111600160201b821117156114a757600080fd5b82525081516020918201928201910280838360005b838110156114d45781810151838201526020016114bc565b505050509050016040525050509050919050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161561159557478015611593577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b15801561157957600080fd5b505af115801561158d573d6000803e3d6000fd5b50505050505b505b600061159f61072b565b90506115ab83826117da565b156115e75760405162461bcd60e51b815260040180806020018281038252602d815260200180611c05602d913960400191505060405180910390fd5b6000816001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561163657600080fd5b505afa15801561164a573d6000803e3d6000fd5b505050506040513d602081101561166057600080fd5b5051905060006116728261067761058f565b9050801561178d57600080611685610579565b9050600061169161038a565b90506001600160a01b0381161561177857806001600160a01b031663e00c34906116b961037b565b84878c6040518563ffffffff1660e01b81526004018085815260200184815260200183815260200180602001828103825283818151815260200191508051906020019060200280838360005b8381101561171d578181015183820152602001611705565b5050505090500195505050505050602060405180830381600087803b15801561174557600080fd5b505af1158015611759573d6000803e3d6000fd5b505050506040513d602081101561176f57600080fd5b5051925061177c565b8392505b6117896104e88385610aca565b5050505b6000841561179c57508161179f565b50805b80156117b9576117b96001600160a01b0385163383610cc1565b610f883387611830565b60606117d2848460008561198b565b949350505050565b6000805b8351811015611826578381815181106117f357fe5b60200260200101516001600160a01b0316836001600160a01b0316141561181e576001915050610ac4565b6001016117de565b5060009392505050565b6060815167ffffffffffffffff8111801561184a57600080fd5b50604051908082528060200260200182016040528015611874578160200160208202803683370190505b50905060005b825181101561198457600083828151811061189157fe5b60200260200101519050806001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156118e857600080fd5b505afa1580156118fc573d6000803e3d6000fd5b505050506040513d602081101561191257600080fd5b5051835184908490811061192257fe5b602002602001018181525050600083838151811061193c57fe5b6020026020010151111561197b5761197b8584848151811061195a57fe5b6020026020010151836001600160a01b0316610cc19092919063ffffffff16565b5060010161187a565b5092915050565b6060824710156119cc5760405162461bcd60e51b8152600401808060200182810382526026815260200180611bb96026913960400191505060405180910390fd5b6119d585611ae7565b611a26576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b60208310611a655780518252601f199092019160209182019101611a46565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114611ac7576040519150601f19603f3d011682016040523d82523d6000602084013e611acc565b606091505b5091509150611adc828286611aed565b979650505050505050565b3b151590565b60608315611afc575081610b24565b825115611b0c5782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611b56578181015183820152602001611b3e565b50505050905090810190601f168015611b835780820380516001836020036101000a031916815260200191505b509250505060405180910390fdfe53616665436173743a2076616c756520646f65736e27742066697420696e203132382062697473416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c7265636569766543616c6c46726f6d5661756c743a20496e76616c696420616374696f6e49645f5f7265636f6e63696c653a2045787472612061737365747320636f6e7461696e73206c6f616e2061737365745361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645f5f616374696f6e436f6e6669677572654c6f616e3a20456d70747920626f72726f7765725f5f616374696f6e436f6e6669677572654c6f616e3a20456d707479206c6f616e2061737365745f5f616374696f6e436f6e6669677572654c6f616e3a20416c726561647920636f6e66696775726564a164736f6c634300060c000a", - "sourceMap": "1395:14131:93:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15004:110;;;:::i;:::-;;;;;;;;;;;;;;;;14192:119;;;:::i;:::-;;;;-1:-1:-1;;;;;14192:119:93;;;;;;;;;;;;;;14619:95;;;:::i;11242:1000::-;;;;;;;;;;;;;;;;-1:-1:-1;11242:1000:93;;:::i;:::-;;2121:48;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2121:48:93;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2121:48:93;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2121:48:93;;-1:-1:-1;2121:48:93;;-1:-1:-1;;;;;2121:48:93:i;15218:104::-;;;:::i;14416:119::-;;;:::i;15431:93::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;12843:1158;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14791:103;;;:::i;9835:888::-;;;;;;;;;;;;;;;;-1:-1:-1;9835:888:93;;:::i;2297:841::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2297:841:93;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2297:841:93;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2297:841:93;;-1:-1:-1;2297:841:93;;-1:-1:-1;;;;;2297:841:93:i;12488:176::-;;;:::i;15004:110::-;15094:13;;-1:-1:-1;;;;;15094:13:93;15004:110;:::o;14192:119::-;14244:25;14288:16;-1:-1:-1;;;;;14288:16:93;14192:119;:::o;14619:95::-;14699:8;;-1:-1:-1;;;;;14699:8:93;14619:95;:::o;11242:1000::-;11293:22;11318:16;:14;:16::i;:::-;11293:41;;11344:27;11374:21;:19;:21::i;:::-;11344:51;-1:-1:-1;11406:19:93;-1:-1:-1;;;;;11439:33:93;;;11435:502;;11612:19;-1:-1:-1;;;;;11581:60:93;;11659:18;:16;:18::i;:::-;11695:14;11727:7;11581:167;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11581:167:93;;-1:-1:-1;11435:502:93;;;-1:-1:-1;;11769:7:93;:28;11765:172;;;11827:47;11839:18;:16;:18::i;:::-;11859:14;11827:11;:47::i;:::-;11813:61;;11765:172;;;-1:-1:-1;11919:7:93;11765:172;11968:1;11954:11;:15;11946:51;;;;;-1:-1:-1;;;11946:51:93;;;;;;;;;;;;;;;;;;;;;;;;;;;;12008:52;12028:31;:14;12047:11;12028:18;:31::i;:::-;12008:19;:52::i;:::-;12071:164;12123:10;12178:4;-1:-1:-1;;;;;12147:51:93;;:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12147:53:93;12214:11;12077:14;:12;:14::i;:::-;-1:-1:-1;;;;;12071:38:93;;:164;;:38;:164::i;:::-;11242:1000;;;;:::o;2121:48::-;;:::o;15218:104::-;15304:11;;-1:-1:-1;;;15304:11:93;;-1:-1:-1;;;;;15304:11:93;;15218:104::o;14416:119::-;14512:16;;14416:119;:::o;15431:93::-;15509:8;;-1:-1:-1;;;15509:8:93;;;;;15431:93::o;12843:1158::-;12922:24;12948:25;12993:14;:12;:14::i;:::-;12989:71;;;13023:26;;12989:71;13070:27;13100:21;:19;:21::i;:::-;13070:51;-1:-1:-1;13131:20:93;-1:-1:-1;;;;;13166:33:93;;;13162:323;;13261:19;-1:-1:-1;;;;;13230:65:93;;13313:18;:16;:18::i;:::-;13349:16;:14;:16::i;:::-;13230:149;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13230:149:93;;-1:-1:-1;13162:323:93;;;13425:49;13437:18;:16;:18::i;:::-;13457:16;:14;:16::i;:::-;13425:11;:49::i;:::-;13410:64;;13162:323;13687:39;13704:21;:19;:21::i;:::-;13687:12;;:16;:39::i;:::-;13672:54;-1:-1:-1;13740:17:93;13736:74;;13773:26;;;;13736:74;13830:16;;;13844:1;13830:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13830:16:93;13820:26;;13869:14;:12;:14::i;:::-;13856:7;13864:1;13856:10;;;;;;;;-1:-1:-1;;;;;13856:27:93;;;;:10;;;;;;;;;;:27;13905:16;;;13919:1;13905:16;;;;;;;;;;;;;;13856:10;13905:16;;;;;-1:-1:-1;13905:16:93;13894:27;;13945:12;13931:8;13940:1;13931:11;;;;;;;;;;;;;:26;;;;;13968;;12843:1158;;;:::o;14791:103::-;14878:9;;-1:-1:-1;;;;;14878:9:93;14791:103;:::o;9835:888::-;9909:13;:11;:13::i;:::-;-1:-1:-1;;;;;9895:27:93;:10;-1:-1:-1;;;;;9895:27:93;;9887:60;;;;;-1:-1:-1;;;9887:60:93;;;;;;;;;;;;-1:-1:-1;;;9887:60:93;;;;;;;;;;;;;;;9975:1;9965:7;:11;9957:45;;;;;-1:-1:-1;;;9957:45:93;;;;;;;;;;;;-1:-1:-1;;;9957:45:93;;;;;;;;;;;;;;;10013:24;10040:18;:16;:18::i;:::-;10013:45;;10069:27;10099:21;:19;:21::i;:::-;10069:51;-1:-1:-1;;;;;;10134:33:93;;;10130:232;;10214:19;-1:-1:-1;;;;;10183:61:93;;10262:16;10296;:14;:16::i;:::-;10330:7;10183:168;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10130:232;10428:60;10453:34;10479:7;10453:21;:19;:21::i;:::-;:25;;:34::i;:::-;10428:24;:60::i;:::-;10518:29;:16;10539:7;10518:20;:29::i;:::-;10499:48;;10573:28;:16;:26;:28::i;:::-;10557:13;:44;;-1:-1:-1;;10557:44:93;-1:-1:-1;;;;;10557:44:93;;;;;;;;;;10618:9;;10612:50;;-1:-1:-1;;;;;10618:9:93;10642:10;10654:7;10612:29;:50::i;:::-;10678:38;;;;;;;;;;;;;;;;;9835:888;;;:::o;2297:841::-;2382:16;2400:23;2438:11;2427:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2427:41:93;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2427:41:93;;;;;;-1:-1:-1;2427:41:93;;;;;;;;;;-1:-1:-1;2427:41:93;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2381:87;;;;2503:21;2495:30;;;;;;;;2483:8;:42;2479:653;;;2541:33;2563:10;2541:21;:33::i;:::-;2479:653;;;2615:30;2595:8;:51;2591:541;;;2662:42;2693:10;2662:30;:42::i;2591:541::-;2745:30;2725:8;:51;2721:411;;;2792:42;2823:10;2792:30;:42::i;2721:411::-;2875:17;2855:8;:38;2851:281;;;2909:29;2927:10;2909:17;:29::i;2851:281::-;2979:17;2959:8;:38;2955:177;;;3013:29;3031:10;3013:17;:29::i;2955:177::-;3073:48;;-1:-1:-1;;;3073:48:93;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2955:177;2297:841;;;:::o;12488:176::-;12564:24;12590:25;12488:176;:::o;1127:205:360:-;1207:12;1246:8;1235;:19;1231:76;;;-1:-1:-1;1277:19:360;;;1270:26;;1231:76;-1:-1:-1;1324:1:360;1127:205;;;;;:::o;2690:175:442:-;2748:7;2779:5;;;2802:6;;;;2794:46;;;;;-1:-1:-1;;;2794:46:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;2857:1;2690:175;-1:-1:-1;;;2690:175:442:o;9486:174:93:-;9573:28;:16;:26;:28::i;:::-;9559:11;:42;;-1:-1:-1;;;;;9559:42:93;;;-1:-1:-1;;;9559:42:93;;;;;;;;;9617:36;;;;;;;;;;;;;;;;;9486:174;:::o;885:203:450:-;1012:68;;;-1:-1:-1;;;;;1012:68:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1012:68:450;-1:-1:-1;;;1012:68:450;;;985:96;;1005:5;;985:19;:96::i;3136:155:442:-;3194:7;3226:1;3221;:6;;3213:49;;;;;-1:-1:-1;;;3213:49:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3279:5:442;;;3136:155::o;9234:192:93:-;9317:16;:40;;;9373:46;;;;;;;;;;;;;;;;;9234:192;:::o;1086:181:454:-;1143:7;-1:-1:-1;;;1170:5:454;:14;1162:67;;;;-1:-1:-1;;;1162:67:454;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1254:5:454;1086:181::o;704:175:450:-;813:58;;;-1:-1:-1;;;;;813:58:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;813:58:450;-1:-1:-1;;;813:58:450;;;786:86;;806:5;;786:19;:86::i;4261:1167:93:-;4370:1;4344:14;:12;:14::i;:::-;-1:-1:-1;;;;;4344:28:93;;4336:82;;;;-1:-1:-1;;;4336:82:93;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4443:19;4476:20;4510:14;4538:27;4579:39;4632:19;4664:44;4696:11;4664:31;:44::i;:::-;4429:279;;;;;;;;;;;;4750:1;-1:-1:-1;;;;;4727:25:93;:11;-1:-1:-1;;;;;4727:25:93;;;4719:75;;;;-1:-1:-1;;;4719:75:93;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4812:26:93;;4804:78;;;;-1:-1:-1;;;4804:78:93;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4893:8;:22;;-1:-1:-1;;;;;4893:22:93;;;-1:-1:-1;;;;;;4893:22:93;;;;;;;4925:9;:24;;;;;;;;;;;;;4964:33;;;4960:236;;5013:16;:38;;-1:-1:-1;;;;;;5013:38:93;-1:-1:-1;;;;;5013:38:93;;;;;;;5066:119;;-1:-1:-1;;;5066:119:93;;;;;;;;;;;;;;;;;5013:38;;5066:61;;:119;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4960:236;5253:19;-1:-1:-1;;;;;5211:75:93;5239:12;-1:-1:-1;;;;;5211:75:93;5226:11;-1:-1:-1;;;;;5211:75:93;;5274:11;5211:75;;;;;;;;;;;;;;;;;;5353:10;;5349:73;;5379:32;5404:6;5379:24;:32::i;:::-;4261:1167;;;;;;;:::o;5725:631::-;2002:14;:12;:14::i;:::-;2001:15;1993:54;;;;;-1:-1:-1;;;1993:54:93;;;;;;;;;;;;;;;;;;;;;;;;;;;;5823:18:::1;5844:53;5885:11;5844:40;:53::i;:::-;5823:74;;5926:1;5912:11;:15;5908:442;;;5943:22;5976:12:::0;;::::1;6004:67;6029:41;5976:12:::0;6029:21:::1;:19;:21::i;6004:67::-;6184:9;::::0;6178:57:::1;::::0;-1:-1:-1;;;;;6184:9:93::1;6208:10;6220:14:::0;6178:29:::1;:57::i;:::-;5908:442;;;;6266:73;6291:47;6325:11;6291:21;:19;:21::i;:::-;:25:::0;::::1;:47::i;6266:73::-;2057:1;5725:631:::0;:::o;3273:177::-;3388:21;:19;:21::i;:::-;-1:-1:-1;;;;;3357:73:93;;3431:11;3357:86;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3273:177;:::o;5520:138::-;5591:60;5603:40;5631:11;5603:27;:40::i;:::-;5645:5;5591:11;:60::i;3682:521::-;2002:14;:12;:14::i;:::-;2001:15;1993:54;;;;;-1:-1:-1;;;1993:54:93;;;;;;;;;;;;;;;;;;;;;;;;;;;;3767:59:::1;3779:40;3807:11;3779:27;:40::i;:::-;3821:4;3767:11;:59::i;:::-;3837:27;3867:21;:19;:21::i;:::-;3837:51:::0;-1:-1:-1;;;;;;3902:33:93;::::1;::::0;3898:208:::1;;3982:19;-1:-1:-1::0;;;;;3951:60:93::1;;4029:18;:16;:18::i;:::-;4065:16;:14;:16::i;:::-;3951:144;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;3898:208;4116:27;4141:1;4116:24;:27::i;:::-;4153:8;:15:::0;;-1:-1:-1;;;;4153:15:93::1;-1:-1:-1::0;;;4153:15:93::1;::::0;;4184:12:::1;::::0;::::1;::::0;4153:15;;4184:12:::1;2057:1;3682:521:::0;:::o;2967:751:450:-;3386:23;3412:69;3440:4;3412:69;;;;;;;;;;;;;;;;;3420:5;-1:-1:-1;;;;;3412:27:450;;;:69;;;;;:::i;:::-;3495:17;;3386:95;;-1:-1:-1;3495:21:450;3491:221;;3635:10;3624:30;;;;;;;;;;;;;;;-1:-1:-1;3624:30:450;3616:85;;;;-1:-1:-1;;;3616:85:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;890:444:92;1017:17;1048:14;1076:15;1105:25;1144:40;1198:20;1261:11;1250:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1250:77:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1250:77:92;;;;;;-1:-1:-1;1250:77:92;;;;;;;;;;-1:-1:-1;1250:77:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1250:77:92;;;;;1243:84;;;;-1:-1:-1;1243:84:92;;-1:-1:-1;1243:84:92;;-1:-1:-1;1243:84:92;-1:-1:-1;1250:77:92;;-1:-1:-1;890:444:92;;-1:-1:-1;;;;890:444:92:o;1707:205::-;1830:19;1883:11;1872:33;;;;;;;;;;;;;;;-1:-1:-1;1872:33:92;;1707:205;-1:-1:-1;;1707:205:92:o;1408:212::-;1518:36;1588:11;1577:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1577:36:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1577:36:92;;;;;;;;;;;;-1:-1:-1;1577:36:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1570:43;;1408:212;;;:::o;6593:2583:93:-;6757:20;-1:-1:-1;;;;;6757:34:93;;6753:254;;6836:21;6876:22;;6872:125;;6924:20;-1:-1:-1;;;;;6918:35:93;;6961:18;6918:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6872:125;6753:254;;7017:23;7049:14;:12;:14::i;:::-;7017:47;-1:-1:-1;7097:56:93;:19;7017:47;7097:28;:56::i;:::-;7096:57;7075:149;;;;-1:-1:-1;;;7075:149:93;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7235:24;7262:17;-1:-1:-1;;;;;7262:27:93;;7298:4;7262:42;;;;;;;;;;;;;-1:-1:-1;;;;;7262:42:93;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7262:42:93;;-1:-1:-1;7315:33:93;7351:52;7262:42;7381:21;:19;:21::i;7351:52::-;7315:88;-1:-1:-1;7575:29:93;;7571:898;;7620:19;7653:22;7678:16;:14;:16::i;:::-;7653:41;;7708:27;7738:21;:19;:21::i;:::-;7708:51;-1:-1:-1;;;;;;7778:33:93;;;7774:618;;8084:19;-1:-1:-1;;;;;8053:64:93;;8139:18;:16;:18::i;:::-;8179:14;8215:25;8262:19;8053:246;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8053:246:93;;-1:-1:-1;7774:618:93;;;8352:25;8338:39;;7774:618;8406:52;8426:31;:14;8445:11;8426:18;:31::i;8406:52::-;7571:898;;;;8535:33;8582:6;8578:323;;;-1:-1:-1;8693:16:93;8578:323;;;-1:-1:-1;8865:25:93;8578:323;8914:29;;8910:129;;8959:69;-1:-1:-1;;;;;8959:30:93;;8990:10;9002:25;8959:30;:69::i;:::-;9113:56;9137:10;9149:19;9113:23;:56::i;3581:193:451:-;3684:12;3715:52;3737:6;3745:4;3751:1;3754:12;3715:21;:52::i;:::-;3708:59;3581:193;-1:-1:-1;;;;3581:193:451:o;2489:299:354:-;2595:17;2633:9;2628:132;2648:5;:12;2644:1;:16;2628:132;;;2696:5;2702:1;2696:8;;;;;;;;;;;;;;-1:-1:-1;;;;;2685:19:354;:7;-1:-1:-1;;;;;2685:19:354;;2681:69;;;2731:4;2724:11;;;;;2681:69;2662:3;;2628:132;;;-1:-1:-1;2776:5:354;;2489:299;-1:-1:-1;;;2489:299:354:o;3539:585:355:-;3649:36;3737:7;:14;3723:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3723:29:355;;3701:51;;3767:9;3762:319;3782:7;:14;3778:1;:18;3762:319;;;3817:19;3845:7;3853:1;3845:10;;;;;;;;;;;;;;3817:39;;3895:13;-1:-1:-1;;;;;3895:23:355;;3927:4;3895:38;;;;;;;;;;;;;-1:-1:-1;;;;;3895:38:355;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3895:38:355;3870:22;;:19;;3890:1;;3870:22;;;;;;;;;;;:63;;;;;3976:1;3951:19;3971:1;3951:22;;;;;;;;;;;;;;:26;3947:124;;;3997:59;4024:7;4033:19;4053:1;4033:22;;;;;;;;;;;;;;3997:13;-1:-1:-1;;;;;3997:26:355;;;:59;;;;;:::i;:::-;-1:-1:-1;3798:3:355;;3762:319;;;;3539:585;;;;:::o;4608:523:451:-;4735:12;4792:5;4767:21;:30;;4759:81;;;;-1:-1:-1;;;4759:81:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4858:18;4869:6;4858:10;:18::i;:::-;4850:60;;;;;-1:-1:-1;;;4850:60:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;4981:12;4995:23;5022:6;-1:-1:-1;;;;;5022:11:451;5042:5;5050:4;5022:33;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5022:33:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4980:75;;;;5072:52;5090:7;5099:10;5111:12;5072:17;:52::i;:::-;5065:59;4608:523;-1:-1:-1;;;;;;;4608:523:451:o;726:413::-;1086:20;1124:8;;;726:413::o;7091:725::-;7206:12;7234:7;7230:580;;;-1:-1:-1;7264:10:451;7257:17;;7230:580;7375:17;;:21;7371:429;;7633:10;7627:17;7693:15;7680:10;7676:2;7672:19;7665:44;7582:145;7772:12;7765:20;;-1:-1:-1;;;7765:20:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;", - "linkReferences": {}, - "immutableReferences": { - "21085": [ - { - "start": 5354, - "length": 32 - }, - { - "start": 5408, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "borrow(uint256)": "c5ebeaec", - "getAccountingModule()": "07758efb", - "getBorrowableAmount()": "6d82f645", - "getBorrower()": "1cb0c3e7", - "getDebtAssets()": "ecd658b4", - "getLoanAsset()": "acf8982e", - "getManagedAssets()": "80daddb8", - "getTotalBorrowed()": "0307c4a1", - "getTotalRepaid()": "58414300", - "init(bytes)": "4ddf47d4", - "loanIsClosed()": "77658e80", - "receiveCallFromVault(bytes)": "e5c23a97", - "repay(uint256)": "371fd8e6" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_wrappedNativeAsset\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"borrowableAmount\",\"type\":\"uint256\"}],\"name\":\"BorrowableAmountUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"LoanClosed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"borrower\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"loanAsset\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"accountingModule\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"description\",\"type\":\"bytes32\"}],\"name\":\"LoanConfigured\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"totalBorrowed\",\"type\":\"uint256\"}],\"name\":\"TotalBorrowedUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"totalRepaid\",\"type\":\"uint256\"}],\"name\":\"TotalRepaidUpdated\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"borrow\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAccountingModule\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"accountingModule_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBorrowableAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"borrowableAmount_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBorrower\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"borrower_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDebtAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"assets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getLoanAsset\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"asset_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getManagedAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"assets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getTotalBorrowed\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"totalBorrowed_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getTotalRepaid\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"totalRepaid_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"loanIsClosed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isClosed_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"}],\"name\":\"receiveCallFromVault\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"repay\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"This contract is intended for loan assets with standard behaviors. Tokens with non-standard behaviors (e.g., rebasing or fee-on-transfer) can still work, but may lead to unexpected results (e.g., borrowable amount).\",\"kind\":\"dev\",\"methods\":{\"borrow(uint256)\":{\"params\":{\"_amount\":\"The amount to borrow\"}},\"constructor\":{\"details\":\"Only set _wrappedNativeAsset if the asset adheres to IWETH.deposit()\"},\"getAccountingModule()\":{\"returns\":{\"accountingModule_\":\"The accounting module address\"}},\"getBorrowableAmount()\":{\"returns\":{\"borrowableAmount_\":\"The borrowable amount\"}},\"getBorrower()\":{\"returns\":{\"borrower_\":\"The borrower\"}},\"getDebtAssets()\":{\"returns\":{\"amounts_\":\"Debt asset amounts\",\"assets_\":\"Debt assets\"}},\"getLoanAsset()\":{\"returns\":{\"asset_\":\"The asset\"}},\"getManagedAssets()\":{\"returns\":{\"amounts_\":\"Managed asset amounts\",\"assets_\":\"Managed assets\"}},\"getTotalBorrowed()\":{\"returns\":{\"totalBorrowed_\":\"The total amount borrowed\"}},\"getTotalRepaid()\":{\"returns\":{\"totalRepaid_\":\"The total amount repaid\"}},\"loanIsClosed()\":{\"returns\":{\"isClosed_\":\"True if the loan is closed\"}},\"receiveCallFromVault(bytes)\":{\"params\":{\"_actionData\":\"Encoded data to execute the action\"}},\"repay(uint256)\":{\"details\":\"Anybody can repay. It is possible to pay more than the max loan balance. Users wanting to pay the exact loan balance should use `_amount = type(uint256).max`. As this function call comes directly from an end user, it does not pass through architecture to add the loan asset as a trackedAsset of the VaultProxy. Asset managers should make sure to always track the loan asset.\",\"params\":{\"_amount\":\"The amount to repay\"}}},\"title\":\"ArbitraryLoanPositionLib Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"borrow(uint256)\":{\"notice\":\"Borrows a specified amount\"},\"getAccountingModule()\":{\"notice\":\"Gets the accounting module used\"},\"getBorrowableAmount()\":{\"notice\":\"Gets the borrowable amount\"},\"getBorrower()\":{\"notice\":\"Gets the loan borrower\"},\"getDebtAssets()\":{\"notice\":\"Retrieves the debt assets (negative value) of the external position\"},\"getLoanAsset()\":{\"notice\":\"Gets the loaned asset\"},\"getManagedAssets()\":{\"notice\":\"Retrieves the managed assets (positive value) of the external position\"},\"getTotalBorrowed()\":{\"notice\":\"Gets the total amount borrowed\"},\"getTotalRepaid()\":{\"notice\":\"Gets the total amount repaid\"},\"init(bytes)\":{\"notice\":\"Initializes the external position\"},\"loanIsClosed()\":{\"notice\":\"Checks whether the loan is closed\"},\"receiveCallFromVault(bytes)\":{\"notice\":\"Receives and executes a call from the Vault\"},\"repay(uint256)\":{\"notice\":\"Repays a specified amount\"}},\"notice\":\"Library contract for ArbitraryLoanPosition\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/arbitrary-loan/ArbitraryLoanPositionLib.sol\":\"ArbitraryLoanPositionLib\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/persistent/external-positions/IExternalPositionProxy.sol\":{\"keccak256\":\"0xc74e623dbdc949df49e9cef31e0f958b17c715d89198dbbc1754d8f9c21e90de\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://074daf0a9f4e667964e6d50039986e3d792860cdece05d21e3606d33358a02b2\",\"dweb:/ipfs/QmVHXiKry9fYfjSNd6dxmtSr7DubNJvYJTNXtLDKGer2xH\"]},\"contracts/persistent/external-positions/arbitrary-loan/ArbitraryLoanPositionLibBase1.sol\":{\"keccak256\":\"0xa2ade9413265102ceb73d9ade641687ae3c4bb56b867abe5596fb68f00ac0730\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f5da2100ab79e090bf1ac2dd7cb0fd8852eef7dd062a730c3c63ca5243379b2e\",\"dweb:/ipfs/QmSM6BMxwF8FTbvd1vMw9CevJhB6EoT7athSFzXV1Bpmeg\"]},\"contracts/release/extensions/external-position-manager/external-positions/arbitrary-loan/ArbitraryLoanPositionDataDecoder.sol\":{\"keccak256\":\"0xef4f598d56281e2e8221170dad687a0db70d3adc9966b8280afdbd968f93be11\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://439ae7e28086dc3df565dd23f41945920447ab48f12a4688497e49cda3fee6a0\",\"dweb:/ipfs/QmR361jpyXyym1ectcCRRCotdyHir95HePSEErEpVhcopr\"]},\"contracts/release/extensions/external-position-manager/external-positions/arbitrary-loan/ArbitraryLoanPositionLib.sol\":{\"keccak256\":\"0xe3b5dee7eff0637df8d7130a63b74a68c5eb6689e60d6e23648d1ffb100cd0d4\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://46f942b1fddbc356aecb69354f41f06f23462e9208f6a2bd41a0708c35545e92\",\"dweb:/ipfs/QmeZef74XcVX8xZpjtXVVnZ65VjR2qoVwaPPyRHns9BdF1\"]},\"contracts/release/extensions/external-position-manager/external-positions/arbitrary-loan/IArbitraryLoanPosition.sol\":{\"keccak256\":\"0xb1226be44c1d6ddff3db0bb1288c1aa5b8e5a5506b1dcf0fc7def95932036481\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://e3c7a393c5aa08cdaddf39d17066d3caeb1aba6f6c70f56d6e188059edd46bcb\",\"dweb:/ipfs/QmepBkEjBTNCAG5unqLwcyJ8pFGskcfLuFGdMWMKCyKA6H\"]},\"contracts/release/extensions/external-position-manager/external-positions/arbitrary-loan/modules/IArbitraryLoanAccountingModule.sol\":{\"keccak256\":\"0x95b63e11b0e628c5a0bd382fb07b6fbd06bdd130ff7b8afa429f49990991c5f7\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8f7ecd88d1158d6ec02a0ae1a76c8c9cfdab49fe3d0fb344c0313376e2dc744f\",\"dweb:/ipfs/QmWeJjbsXX27ADWJpDV7pABtdGADs2nk4gmSUN9dtA7X2S\"]},\"contracts/release/interfaces/IWETH.sol\":{\"keccak256\":\"0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2\",\"dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"contracts/release/utils/MathHelpers.sol\":{\"keccak256\":\"0x8aef498ae98bfb40cd1df8c9ed652b4c092fbbe62d5a1fad522c53654523248e\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ed62789f6a8d5ca30a40c591f244b915e4711493a9e4b1b4d40ea2bc97b02a95\",\"dweb:/ipfs/QmWyXJ55arURtx9VMkUQokdsjk8tbgM2cC8rENFUMyz5D3\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]},\"node_modules/@openzeppelin/contracts/utils/SafeCast.sol\":{\"keccak256\":\"0x7b2b8baa20fd60ab4a328c8e34c64a353651b80ba4b5b157cbb61813f6f85d55\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://125b7f9efa390e663d630c62b97ae4e0707f31623bea989ef94c97ca9d777dd2\",\"dweb:/ipfs/QmaaLSuwvqK7wqcgyS3utHgfmB7RntcvP7eJSuvQod8Z9P\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_wrappedNativeAsset", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "borrowableAmount", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "BorrowableAmountUpdated", - "anonymous": false - }, - { - "inputs": [], - "type": "event", - "name": "LoanClosed", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "borrower", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "loanAsset", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "accountingModule", - "type": "address", - "indexed": true - }, - { - "internalType": "bytes32", - "name": "description", - "type": "bytes32", - "indexed": false - } - ], - "type": "event", - "name": "LoanConfigured", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "totalBorrowed", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "TotalBorrowedUpdated", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "totalRepaid", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "TotalRepaidUpdated", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "borrow" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getAccountingModule", - "outputs": [ - { - "internalType": "address", - "name": "accountingModule_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getBorrowableAmount", - "outputs": [ - { - "internalType": "uint256", - "name": "borrowableAmount_", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getBorrower", - "outputs": [ - { - "internalType": "address", - "name": "borrower_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "getDebtAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "assets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "amounts_", - "type": "uint256[]" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getLoanAsset", - "outputs": [ - { - "internalType": "address", - "name": "asset_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "getManagedAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "assets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "amounts_", - "type": "uint256[]" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getTotalBorrowed", - "outputs": [ - { - "internalType": "uint256", - "name": "totalBorrowed_", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getTotalRepaid", - "outputs": [ - { - "internalType": "uint256", - "name": "totalRepaid_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "init" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "loanIsClosed", - "outputs": [ - { - "internalType": "bool", - "name": "isClosed_", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "receiveCallFromVault" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "repay" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "borrow(uint256)": { - "params": { - "_amount": "The amount to borrow" - } - }, - "constructor": { - "details": "Only set _wrappedNativeAsset if the asset adheres to IWETH.deposit()" - }, - "getAccountingModule()": { - "returns": { - "accountingModule_": "The accounting module address" - } - }, - "getBorrowableAmount()": { - "returns": { - "borrowableAmount_": "The borrowable amount" - } - }, - "getBorrower()": { - "returns": { - "borrower_": "The borrower" - } - }, - "getDebtAssets()": { - "returns": { - "amounts_": "Debt asset amounts", - "assets_": "Debt assets" - } - }, - "getLoanAsset()": { - "returns": { - "asset_": "The asset" - } - }, - "getManagedAssets()": { - "returns": { - "amounts_": "Managed asset amounts", - "assets_": "Managed assets" - } - }, - "getTotalBorrowed()": { - "returns": { - "totalBorrowed_": "The total amount borrowed" - } - }, - "getTotalRepaid()": { - "returns": { - "totalRepaid_": "The total amount repaid" - } - }, - "loanIsClosed()": { - "returns": { - "isClosed_": "True if the loan is closed" - } - }, - "receiveCallFromVault(bytes)": { - "params": { - "_actionData": "Encoded data to execute the action" - } - }, - "repay(uint256)": { - "details": "Anybody can repay. It is possible to pay more than the max loan balance. Users wanting to pay the exact loan balance should use `_amount = type(uint256).max`. As this function call comes directly from an end user, it does not pass through architecture to add the loan asset as a trackedAsset of the VaultProxy. Asset managers should make sure to always track the loan asset.", - "params": { - "_amount": "The amount to repay" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "borrow(uint256)": { - "notice": "Borrows a specified amount" - }, - "getAccountingModule()": { - "notice": "Gets the accounting module used" - }, - "getBorrowableAmount()": { - "notice": "Gets the borrowable amount" - }, - "getBorrower()": { - "notice": "Gets the loan borrower" - }, - "getDebtAssets()": { - "notice": "Retrieves the debt assets (negative value) of the external position" - }, - "getLoanAsset()": { - "notice": "Gets the loaned asset" - }, - "getManagedAssets()": { - "notice": "Retrieves the managed assets (positive value) of the external position" - }, - "getTotalBorrowed()": { - "notice": "Gets the total amount borrowed" - }, - "getTotalRepaid()": { - "notice": "Gets the total amount repaid" - }, - "init(bytes)": { - "notice": "Initializes the external position" - }, - "loanIsClosed()": { - "notice": "Checks whether the loan is closed" - }, - "receiveCallFromVault(bytes)": { - "notice": "Receives and executes a call from the Vault" - }, - "repay(uint256)": { - "notice": "Repays a specified amount" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/external-position-manager/external-positions/arbitrary-loan/ArbitraryLoanPositionLib.sol": "ArbitraryLoanPositionLib" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/external-positions/IExternalPosition.sol": { - "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", - "urls": [ - "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", - "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/external-positions/IExternalPositionProxy.sol": { - "keccak256": "0xc74e623dbdc949df49e9cef31e0f958b17c715d89198dbbc1754d8f9c21e90de", - "urls": [ - "bzz-raw://074daf0a9f4e667964e6d50039986e3d792860cdece05d21e3606d33358a02b2", - "dweb:/ipfs/QmVHXiKry9fYfjSNd6dxmtSr7DubNJvYJTNXtLDKGer2xH" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/external-positions/arbitrary-loan/ArbitraryLoanPositionLibBase1.sol": { - "keccak256": "0xa2ade9413265102ceb73d9ade641687ae3c4bb56b867abe5596fb68f00ac0730", - "urls": [ - "bzz-raw://f5da2100ab79e090bf1ac2dd7cb0fd8852eef7dd062a730c3c63ca5243379b2e", - "dweb:/ipfs/QmSM6BMxwF8FTbvd1vMw9CevJhB6EoT7athSFzXV1Bpmeg" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/arbitrary-loan/ArbitraryLoanPositionDataDecoder.sol": { - "keccak256": "0xef4f598d56281e2e8221170dad687a0db70d3adc9966b8280afdbd968f93be11", - "urls": [ - "bzz-raw://439ae7e28086dc3df565dd23f41945920447ab48f12a4688497e49cda3fee6a0", - "dweb:/ipfs/QmR361jpyXyym1ectcCRRCotdyHir95HePSEErEpVhcopr" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/arbitrary-loan/ArbitraryLoanPositionLib.sol": { - "keccak256": "0xe3b5dee7eff0637df8d7130a63b74a68c5eb6689e60d6e23648d1ffb100cd0d4", - "urls": [ - "bzz-raw://46f942b1fddbc356aecb69354f41f06f23462e9208f6a2bd41a0708c35545e92", - "dweb:/ipfs/QmeZef74XcVX8xZpjtXVVnZ65VjR2qoVwaPPyRHns9BdF1" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/arbitrary-loan/IArbitraryLoanPosition.sol": { - "keccak256": "0xb1226be44c1d6ddff3db0bb1288c1aa5b8e5a5506b1dcf0fc7def95932036481", - "urls": [ - "bzz-raw://e3c7a393c5aa08cdaddf39d17066d3caeb1aba6f6c70f56d6e188059edd46bcb", - "dweb:/ipfs/QmepBkEjBTNCAG5unqLwcyJ8pFGskcfLuFGdMWMKCyKA6H" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/arbitrary-loan/modules/IArbitraryLoanAccountingModule.sol": { - "keccak256": "0x95b63e11b0e628c5a0bd382fb07b6fbd06bdd130ff7b8afa429f49990991c5f7", - "urls": [ - "bzz-raw://8f7ecd88d1158d6ec02a0ae1a76c8c9cfdab49fe3d0fb344c0313376e2dc744f", - "dweb:/ipfs/QmWeJjbsXX27ADWJpDV7pABtdGADs2nk4gmSUN9dtA7X2S" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IWETH.sol": { - "keccak256": "0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2", - "urls": [ - "bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2", - "dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AddressArrayLib.sol": { - "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", - "urls": [ - "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", - "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AssetHelpers.sol": { - "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", - "urls": [ - "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", - "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/MathHelpers.sol": { - "keccak256": "0x8aef498ae98bfb40cd1df8c9ed652b4c092fbbe62d5a1fad522c53654523248e", - "urls": [ - "bzz-raw://ed62789f6a8d5ca30a40c591f244b915e4711493a9e4b1b4d40ea2bc97b02a95", - "dweb:/ipfs/QmWyXJ55arURtx9VMkUQokdsjk8tbgM2cC8rENFUMyz5D3" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { - "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", - "urls": [ - "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", - "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Address.sol": { - "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", - "urls": [ - "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", - "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/SafeCast.sol": { - "keccak256": "0x7b2b8baa20fd60ab4a328c8e34c64a353651b80ba4b5b157cbb61813f6f85d55", - "urls": [ - "bzz-raw://125b7f9efa390e663d630c62b97ae4e0707f31623bea989ef94c97ca9d777dd2", - "dweb:/ipfs/QmaaLSuwvqK7wqcgyS3utHgfmB7RntcvP7eJSuvQod8Z9P" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 93 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_wrappedNativeAsset", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "borrow", "inputs": [ { "name": "_amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "getAccountingModule", "inputs": [], "outputs": [ { "name": "accountingModule_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getBorrowableAmount", "inputs": [], "outputs": [ { "name": "borrowableAmount_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "getBorrower", "inputs": [], "outputs": [ { "name": "borrower_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getDebtAssets", "inputs": [], "outputs": [ { "name": "assets_", "type": "address[]", "internalType": "address[]" }, { "name": "amounts_", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "getLoanAsset", "inputs": [], "outputs": [ { "name": "asset_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getManagedAssets", "inputs": [], "outputs": [ { "name": "assets_", "type": "address[]", "internalType": "address[]" }, { "name": "amounts_", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "getTotalBorrowed", "inputs": [], "outputs": [ { "name": "totalBorrowed_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "getTotalRepaid", "inputs": [], "outputs": [ { "name": "totalRepaid_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "init", "inputs": [ { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "loanIsClosed", "inputs": [], "outputs": [ { "name": "isClosed_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "receiveCallFromVault", "inputs": [ { "name": "_actionData", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "repay", "inputs": [ { "name": "_amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "event", "name": "BorrowableAmountUpdated", "inputs": [ { "name": "borrowableAmount", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "LoanClosed", "inputs": [], "anonymous": false }, { "type": "event", "name": "LoanConfigured", "inputs": [ { "name": "borrower", "type": "address", "indexed": true, "internalType": "address" }, { "name": "loanAsset", "type": "address", "indexed": true, "internalType": "address" }, { "name": "accountingModule", "type": "address", "indexed": true, "internalType": "address" }, { "name": "description", "type": "bytes32", "indexed": false, "internalType": "bytes32" } ], "anonymous": false }, { "type": "event", "name": "TotalBorrowedUpdated", "inputs": [ { "name": "totalBorrowed", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "TotalRepaidUpdated", "inputs": [ { "name": "totalRepaid", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false } ], "bytecode": { "object": "0x60a060405234801561001057600080fd5b50604051611d49380380611d498339818101604052602081101561003357600080fd5b5051606081901b6001600160601b0319166080526001600160a01b0316611cdd61006c600039806114ea52806115205250611cdd6000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c80636d82f6451161008c578063acf8982e11610066578063acf8982e146102aa578063c5ebeaec146102b2578063e5c23a97146102cf578063ecd658b414610373576100cf565b80636d82f645146101e557806377658e80146101ed57806380daddb814610209576100cf565b80630307c4a1146100d457806307758efb146100ee5780631cb0c3e714610112578063371fd8e61461011a5780634ddf47d41461013957806358414300146101dd575b600080fd5b6100dc61037b565b60408051918252519081900360200190f35b6100f661038a565b604080516001600160a01b039092168252519081900360200190f35b6100f6610399565b6101376004803603602081101561013057600080fd5b50356103a8565b005b6101376004803603602081101561014f57600080fd5b810190602081018135600160201b81111561016957600080fd5b82018360208201111561017b57600080fd5b803590602001918460018302840111600160201b8311171561019c57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610576945050505050565b6100dc610579565b6100dc61058f565b6101f5610595565b604080519115158252519081900360200190f35b6102116105a5565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b8381101561025557818101518382015260200161023d565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561029457818101518382015260200161027c565b5050505090500194505050505060405180910390f35b6100f661072b565b610137600480360360208110156102c857600080fd5b503561073a565b610137600480360360208110156102e557600080fd5b810190602081018135600160201b8111156102ff57600080fd5b82018360208201111561031157600080fd5b803590602001918460018302840111600160201b8311171561033257600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955061092f945050505050565b610211610aa7565b6003546001600160801b031690565b6000546001600160a01b031690565b6001546001600160a01b031690565b60006103b2610579565b905060006103be61038a565b905060006001600160a01b0382161561046157816001600160a01b0316631324041c6103e861037b565b85876040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050602060405180830381600087803b15801561042e57600080fd5b505af1158015610442573d6000803e3d6000fd5b505050506040513d602081101561045857600080fd5b50519050610486565b6000198414156104835761047c61047661037b565b84610aad565b9050610486565b50825b600081116104db576040805162461bcd60e51b815260206004820152601760248201527f72657061793a204e6f7468696e6720746f207265706179000000000000000000604482015290519081900360640190fd5b6104ed6104e88483610aca565b610b2b565b61057033306001600160a01b031663c98091876040518163ffffffff1660e01b815260040160206040518083038186803b15801561052a57600080fd5b505afa15801561053e573d6000803e3d6000fd5b505050506040513d602081101561055457600080fd5b50518361055f61072b565b6001600160a01b0316929190610b87565b50505050565b50565b600354600160801b90046001600160801b031690565b60025490565b600454600160a01b900460ff1690565b6060806105b0610595565b156105ba57610727565b60006105c461038a565b905060006001600160a01b0382161561066457816001600160a01b0316637bb6668e6105ee61037b565b6105f6610579565b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561063157600080fd5b505afa158015610645573d6000803e3d6000fd5b505050506040513d602081101561065b57600080fd5b5051905061067f565b61067c61066f61037b565b610677610579565b610aad565b90505b61069161068a61058f565b8290610aca565b90508061069f575050610727565b60408051600180825281830190925290602080830190803683370190505093506106c761072b565b846000815181106106d457fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509250808360008151811061071857fe5b60200260200101818152505050505b9091565b6004546001600160a01b031690565b610742610399565b6001600160a01b0316336001600160a01b03161461079e576040805162461bcd60e51b8152602060048201526014602482015273189bdc9c9bddce88155b985d5d1a1bdc9a5e995960621b604482015290519081900360640190fd5b600081116107eb576040805162461bcd60e51b8152602060048201526015602482015274189bdc9c9bddce88115b5c1d1e4817d85b5bdd5b9d605a1b604482015290519081900360640190fd5b60006107f561037b565b9050600061080161038a565b90506001600160a01b0381161561088857806001600160a01b0316638602074e8361082a610579565b866040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b15801561086f57600080fd5b505af1158015610883573d6000803e3d6000fd5b505050505b6108a261089d8461089761058f565b90610be1565b610c3e565b6108ac8284610aca565b91506108b782610c79565b600380546fffffffffffffffffffffffffffffffff19166001600160801b03929092169190911790556004546108f7906001600160a01b03163385610cc1565b6040805183815290517f17f13fd3f7c4712af33f1770ebcb822dd20a2dbc00850eab48d786623d97b9599181900360200190a1505050565b6000606082806020019051604081101561094857600080fd5b815160208301805160405192949293830192919084600160201b82111561096e57600080fd5b90830190602082018581111561098357600080fd5b8251600160201b81118282018810171561099c57600080fd5b82525081516020918201929091019080838360005b838110156109c95781810151838201526020016109b1565b50505050905090810190601f1680156109f65780820380516001836020036101000a031916815260200191505b506040525050509150915060006004811115610a0e57fe5b821415610a2357610a1e81610d13565b610aa2565b6001821415610a3557610a1e81610f91565b6002821415610a4757610a1e8161104b565b6003821415610a5957610a1e81611115565b6004821415610a6b57610a1e81611128565b60405162461bcd60e51b8152600401808060200182810382526026815260200180611bdf6026913960400191505060405180910390fd5b505050565b60608091565b600081831115610ac05750808203610ac4565b5060005b92915050565b600082820183811015610b24576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b610b3481610c79565b600380546001600160801b03928316600160801b0292169190911790556040805182815290517f5fbda7f48544d8b75745d0afbdee80c8795852baa78a9c2d6aed0b244f9367ef9181900360200190a150565b604080516001600160a01b0380861660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b17905261057090859061126f565b600082821115610c38576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60028190556040805182815290517fefab1a36212873214a245322bb960227417faad7a04286819bc74cb820a633429181900360200190a150565b6000600160801b8210610cbd5760405162461bcd60e51b8152600401808060200182810382526027815260200180611b926027913960400191505060405180910390fd5b5090565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610aa290849061126f565b6000610d1d61072b565b6001600160a01b031614610d625760405162461bcd60e51b8152600401808060200182810382526029815260200180611ca86029913960400191505060405180910390fd5b60008060008060606000610d7587611320565b95509550955095509550955060006001600160a01b0316866001600160a01b03161415610dd35760405162461bcd60e51b8152600401808060200182810382526025815260200180611c5c6025913960400191505060405180910390fd5b6001600160a01b038516610e185760405162461bcd60e51b8152600401808060200182810382526027815260200180611c816027913960400191505060405180910390fd5b600180546001600160a01b038089166001600160a01b031992831617909255600480548884169216919091179055831615610f2457600080546001600160a01b0319166001600160a01b03851690811782556040516346739e7360e01b815260206004820181815286516024840152865193946346739e73948894929384936044019290860191908190849084905b83811015610ebf578181015183820152602001610ea7565b50505050905090810190601f168015610eec5780820380516001836020036101000a031916815260200191505b5092505050600060405180830381600087803b158015610f0b57600080fd5b505af1158015610f1f573d6000803e3d6000fd5b505050505b826001600160a01b0316856001600160a01b0316876001600160a01b03167f0d48a14589e59522bbc3a98345ee51dcdd958b27ec84f512c139ea74626c3aa3846040518082815260200191505060405180910390a48315610f8857610f8884610c3e565b50505050505050565b610f99610595565b15610feb576040805162461bcd60e51b815260206004820152601a60248201527f6f6e6c794e6f74436c6f7365643a204c6f616e20636c6f736564000000000000604482015290519081900360640190fd5b6000610ff682611421565b9050600081121561103257600081900361101561089d8261089761058f565b60045461102c906001600160a01b03163383610cc1565b50611047565b61104761089d8261104161058f565b90610aca565b5050565b61105361038a565b6001600160a01b0316639e950b22826040518263ffffffff1660e01b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156110ae578181015183820152602001611096565b50505050905090810190601f1680156110db5780820380516001836020036101000a031916815260200191505b5092505050600060405180830381600087803b1580156110fa57600080fd5b505af115801561110e573d6000803e3d6000fd5b5050505050565b61057661112182611440565b60006114e8565b611130610595565b15611182576040805162461bcd60e51b815260206004820152601a60248201527f6f6e6c794e6f74436c6f7365643a204c6f616e20636c6f736564000000000000604482015290519081900360640190fd5b61119561118e82611440565b60016114e8565b600061119f61038a565b90506001600160a01b0381161561122557806001600160a01b0316631770ac3a6111c761037b565b6111cf610579565b6040518363ffffffff1660e01b81526004018083815260200182815260200192505050600060405180830381600087803b15801561120c57600080fd5b505af1158015611220573d6000803e3d6000fd5b505050505b61122f6000610c3e565b6004805460ff60a01b1916600160a01b1790556040517f409fced1b85ae32a29fb1e18894d8361a5f2653dc27adf7102d86175c2901d7c90600090a15050565b60606112c4826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166117c39092919063ffffffff16565b805190915015610aa2578080602001905160208110156112e357600080fd5b5051610aa25760405162461bcd60e51b815260040180806020018281038252602a815260200180611c32602a913960400191505060405180910390fd5b600080600080606060008680602001905160c081101561133f57600080fd5b8151602083015160408085015160608601516080870180519351959794969295919491939282019284600160201b82111561137957600080fd5b90830190602082018581111561138e57600080fd5b8251600160201b8111828201881017156113a757600080fd5b82525081516020918201929091019080838360005b838110156113d45781810151838201526020016113bc565b50505050905090810190601f1680156114015780820380516001836020036101000a031916815260200191505b5060405260200151969e959d50939b509199509750929550909350505050565b600081806020019051602081101561143857600080fd5b505192915050565b606081806020019051602081101561145757600080fd5b8101908080516040519392919084600160201b82111561147657600080fd5b90830190602082018581111561148b57600080fd5b82518660208202830111600160201b821117156114a757600080fd5b82525081516020918201928201910280838360005b838110156114d45781810151838201526020016114bc565b505050509050016040525050509050919050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161561159557478015611593577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b15801561157957600080fd5b505af115801561158d573d6000803e3d6000fd5b50505050505b505b600061159f61072b565b90506115ab83826117da565b156115e75760405162461bcd60e51b815260040180806020018281038252602d815260200180611c05602d913960400191505060405180910390fd5b6000816001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561163657600080fd5b505afa15801561164a573d6000803e3d6000fd5b505050506040513d602081101561166057600080fd5b5051905060006116728261067761058f565b9050801561178d57600080611685610579565b9050600061169161038a565b90506001600160a01b0381161561177857806001600160a01b031663e00c34906116b961037b565b84878c6040518563ffffffff1660e01b81526004018085815260200184815260200183815260200180602001828103825283818151815260200191508051906020019060200280838360005b8381101561171d578181015183820152602001611705565b5050505090500195505050505050602060405180830381600087803b15801561174557600080fd5b505af1158015611759573d6000803e3d6000fd5b505050506040513d602081101561176f57600080fd5b5051925061177c565b8392505b6117896104e88385610aca565b5050505b6000841561179c57508161179f565b50805b80156117b9576117b96001600160a01b0385163383610cc1565b610f883387611830565b60606117d2848460008561198b565b949350505050565b6000805b8351811015611826578381815181106117f357fe5b60200260200101516001600160a01b0316836001600160a01b0316141561181e576001915050610ac4565b6001016117de565b5060009392505050565b6060815167ffffffffffffffff8111801561184a57600080fd5b50604051908082528060200260200182016040528015611874578160200160208202803683370190505b50905060005b825181101561198457600083828151811061189157fe5b60200260200101519050806001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156118e857600080fd5b505afa1580156118fc573d6000803e3d6000fd5b505050506040513d602081101561191257600080fd5b5051835184908490811061192257fe5b602002602001018181525050600083838151811061193c57fe5b6020026020010151111561197b5761197b8584848151811061195a57fe5b6020026020010151836001600160a01b0316610cc19092919063ffffffff16565b5060010161187a565b5092915050565b6060824710156119cc5760405162461bcd60e51b8152600401808060200182810382526026815260200180611bb96026913960400191505060405180910390fd5b6119d585611ae7565b611a26576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b60208310611a655780518252601f199092019160209182019101611a46565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114611ac7576040519150601f19603f3d011682016040523d82523d6000602084013e611acc565b606091505b5091509150611adc828286611aed565b979650505050505050565b3b151590565b60608315611afc575081610b24565b825115611b0c5782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611b56578181015183820152602001611b3e565b50505050905090810190601f168015611b835780820380516001836020036101000a031916815260200191505b509250505060405180910390fdfe53616665436173743a2076616c756520646f65736e27742066697420696e203132382062697473416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c7265636569766543616c6c46726f6d5661756c743a20496e76616c696420616374696f6e49645f5f7265636f6e63696c653a2045787472612061737365747320636f6e7461696e73206c6f616e2061737365745361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645f5f616374696f6e436f6e6669677572654c6f616e3a20456d70747920626f72726f7765725f5f616374696f6e436f6e6669677572654c6f616e3a20456d707479206c6f616e2061737365745f5f616374696f6e436f6e6669677572654c6f616e3a20416c726561647920636f6e66696775726564a164736f6c634300060c000a", "sourceMap": "1395:14131:93:-:0;;;1845:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1845:107:93;1903:42;;;;-1:-1:-1;;;;;;1903:42:93;;;-1:-1:-1;;;;;1395:14131:93;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106100cf5760003560e01c80636d82f6451161008c578063acf8982e11610066578063acf8982e146102aa578063c5ebeaec146102b2578063e5c23a97146102cf578063ecd658b414610373576100cf565b80636d82f645146101e557806377658e80146101ed57806380daddb814610209576100cf565b80630307c4a1146100d457806307758efb146100ee5780631cb0c3e714610112578063371fd8e61461011a5780634ddf47d41461013957806358414300146101dd575b600080fd5b6100dc61037b565b60408051918252519081900360200190f35b6100f661038a565b604080516001600160a01b039092168252519081900360200190f35b6100f6610399565b6101376004803603602081101561013057600080fd5b50356103a8565b005b6101376004803603602081101561014f57600080fd5b810190602081018135600160201b81111561016957600080fd5b82018360208201111561017b57600080fd5b803590602001918460018302840111600160201b8311171561019c57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610576945050505050565b6100dc610579565b6100dc61058f565b6101f5610595565b604080519115158252519081900360200190f35b6102116105a5565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b8381101561025557818101518382015260200161023d565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561029457818101518382015260200161027c565b5050505090500194505050505060405180910390f35b6100f661072b565b610137600480360360208110156102c857600080fd5b503561073a565b610137600480360360208110156102e557600080fd5b810190602081018135600160201b8111156102ff57600080fd5b82018360208201111561031157600080fd5b803590602001918460018302840111600160201b8311171561033257600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955061092f945050505050565b610211610aa7565b6003546001600160801b031690565b6000546001600160a01b031690565b6001546001600160a01b031690565b60006103b2610579565b905060006103be61038a565b905060006001600160a01b0382161561046157816001600160a01b0316631324041c6103e861037b565b85876040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050602060405180830381600087803b15801561042e57600080fd5b505af1158015610442573d6000803e3d6000fd5b505050506040513d602081101561045857600080fd5b50519050610486565b6000198414156104835761047c61047661037b565b84610aad565b9050610486565b50825b600081116104db576040805162461bcd60e51b815260206004820152601760248201527f72657061793a204e6f7468696e6720746f207265706179000000000000000000604482015290519081900360640190fd5b6104ed6104e88483610aca565b610b2b565b61057033306001600160a01b031663c98091876040518163ffffffff1660e01b815260040160206040518083038186803b15801561052a57600080fd5b505afa15801561053e573d6000803e3d6000fd5b505050506040513d602081101561055457600080fd5b50518361055f61072b565b6001600160a01b0316929190610b87565b50505050565b50565b600354600160801b90046001600160801b031690565b60025490565b600454600160a01b900460ff1690565b6060806105b0610595565b156105ba57610727565b60006105c461038a565b905060006001600160a01b0382161561066457816001600160a01b0316637bb6668e6105ee61037b565b6105f6610579565b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561063157600080fd5b505afa158015610645573d6000803e3d6000fd5b505050506040513d602081101561065b57600080fd5b5051905061067f565b61067c61066f61037b565b610677610579565b610aad565b90505b61069161068a61058f565b8290610aca565b90508061069f575050610727565b60408051600180825281830190925290602080830190803683370190505093506106c761072b565b846000815181106106d457fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509250808360008151811061071857fe5b60200260200101818152505050505b9091565b6004546001600160a01b031690565b610742610399565b6001600160a01b0316336001600160a01b03161461079e576040805162461bcd60e51b8152602060048201526014602482015273189bdc9c9bddce88155b985d5d1a1bdc9a5e995960621b604482015290519081900360640190fd5b600081116107eb576040805162461bcd60e51b8152602060048201526015602482015274189bdc9c9bddce88115b5c1d1e4817d85b5bdd5b9d605a1b604482015290519081900360640190fd5b60006107f561037b565b9050600061080161038a565b90506001600160a01b0381161561088857806001600160a01b0316638602074e8361082a610579565b866040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b15801561086f57600080fd5b505af1158015610883573d6000803e3d6000fd5b505050505b6108a261089d8461089761058f565b90610be1565b610c3e565b6108ac8284610aca565b91506108b782610c79565b600380546fffffffffffffffffffffffffffffffff19166001600160801b03929092169190911790556004546108f7906001600160a01b03163385610cc1565b6040805183815290517f17f13fd3f7c4712af33f1770ebcb822dd20a2dbc00850eab48d786623d97b9599181900360200190a1505050565b6000606082806020019051604081101561094857600080fd5b815160208301805160405192949293830192919084600160201b82111561096e57600080fd5b90830190602082018581111561098357600080fd5b8251600160201b81118282018810171561099c57600080fd5b82525081516020918201929091019080838360005b838110156109c95781810151838201526020016109b1565b50505050905090810190601f1680156109f65780820380516001836020036101000a031916815260200191505b506040525050509150915060006004811115610a0e57fe5b821415610a2357610a1e81610d13565b610aa2565b6001821415610a3557610a1e81610f91565b6002821415610a4757610a1e8161104b565b6003821415610a5957610a1e81611115565b6004821415610a6b57610a1e81611128565b60405162461bcd60e51b8152600401808060200182810382526026815260200180611bdf6026913960400191505060405180910390fd5b505050565b60608091565b600081831115610ac05750808203610ac4565b5060005b92915050565b600082820183811015610b24576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b610b3481610c79565b600380546001600160801b03928316600160801b0292169190911790556040805182815290517f5fbda7f48544d8b75745d0afbdee80c8795852baa78a9c2d6aed0b244f9367ef9181900360200190a150565b604080516001600160a01b0380861660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b17905261057090859061126f565b600082821115610c38576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60028190556040805182815290517fefab1a36212873214a245322bb960227417faad7a04286819bc74cb820a633429181900360200190a150565b6000600160801b8210610cbd5760405162461bcd60e51b8152600401808060200182810382526027815260200180611b926027913960400191505060405180910390fd5b5090565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610aa290849061126f565b6000610d1d61072b565b6001600160a01b031614610d625760405162461bcd60e51b8152600401808060200182810382526029815260200180611ca86029913960400191505060405180910390fd5b60008060008060606000610d7587611320565b95509550955095509550955060006001600160a01b0316866001600160a01b03161415610dd35760405162461bcd60e51b8152600401808060200182810382526025815260200180611c5c6025913960400191505060405180910390fd5b6001600160a01b038516610e185760405162461bcd60e51b8152600401808060200182810382526027815260200180611c816027913960400191505060405180910390fd5b600180546001600160a01b038089166001600160a01b031992831617909255600480548884169216919091179055831615610f2457600080546001600160a01b0319166001600160a01b03851690811782556040516346739e7360e01b815260206004820181815286516024840152865193946346739e73948894929384936044019290860191908190849084905b83811015610ebf578181015183820152602001610ea7565b50505050905090810190601f168015610eec5780820380516001836020036101000a031916815260200191505b5092505050600060405180830381600087803b158015610f0b57600080fd5b505af1158015610f1f573d6000803e3d6000fd5b505050505b826001600160a01b0316856001600160a01b0316876001600160a01b03167f0d48a14589e59522bbc3a98345ee51dcdd958b27ec84f512c139ea74626c3aa3846040518082815260200191505060405180910390a48315610f8857610f8884610c3e565b50505050505050565b610f99610595565b15610feb576040805162461bcd60e51b815260206004820152601a60248201527f6f6e6c794e6f74436c6f7365643a204c6f616e20636c6f736564000000000000604482015290519081900360640190fd5b6000610ff682611421565b9050600081121561103257600081900361101561089d8261089761058f565b60045461102c906001600160a01b03163383610cc1565b50611047565b61104761089d8261104161058f565b90610aca565b5050565b61105361038a565b6001600160a01b0316639e950b22826040518263ffffffff1660e01b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156110ae578181015183820152602001611096565b50505050905090810190601f1680156110db5780820380516001836020036101000a031916815260200191505b5092505050600060405180830381600087803b1580156110fa57600080fd5b505af115801561110e573d6000803e3d6000fd5b5050505050565b61057661112182611440565b60006114e8565b611130610595565b15611182576040805162461bcd60e51b815260206004820152601a60248201527f6f6e6c794e6f74436c6f7365643a204c6f616e20636c6f736564000000000000604482015290519081900360640190fd5b61119561118e82611440565b60016114e8565b600061119f61038a565b90506001600160a01b0381161561122557806001600160a01b0316631770ac3a6111c761037b565b6111cf610579565b6040518363ffffffff1660e01b81526004018083815260200182815260200192505050600060405180830381600087803b15801561120c57600080fd5b505af1158015611220573d6000803e3d6000fd5b505050505b61122f6000610c3e565b6004805460ff60a01b1916600160a01b1790556040517f409fced1b85ae32a29fb1e18894d8361a5f2653dc27adf7102d86175c2901d7c90600090a15050565b60606112c4826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166117c39092919063ffffffff16565b805190915015610aa2578080602001905160208110156112e357600080fd5b5051610aa25760405162461bcd60e51b815260040180806020018281038252602a815260200180611c32602a913960400191505060405180910390fd5b600080600080606060008680602001905160c081101561133f57600080fd5b8151602083015160408085015160608601516080870180519351959794969295919491939282019284600160201b82111561137957600080fd5b90830190602082018581111561138e57600080fd5b8251600160201b8111828201881017156113a757600080fd5b82525081516020918201929091019080838360005b838110156113d45781810151838201526020016113bc565b50505050905090810190601f1680156114015780820380516001836020036101000a031916815260200191505b5060405260200151969e959d50939b509199509750929550909350505050565b600081806020019051602081101561143857600080fd5b505192915050565b606081806020019051602081101561145757600080fd5b8101908080516040519392919084600160201b82111561147657600080fd5b90830190602082018581111561148b57600080fd5b82518660208202830111600160201b821117156114a757600080fd5b82525081516020918201928201910280838360005b838110156114d45781810151838201526020016114bc565b505050509050016040525050509050919050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161561159557478015611593577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b15801561157957600080fd5b505af115801561158d573d6000803e3d6000fd5b50505050505b505b600061159f61072b565b90506115ab83826117da565b156115e75760405162461bcd60e51b815260040180806020018281038252602d815260200180611c05602d913960400191505060405180910390fd5b6000816001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561163657600080fd5b505afa15801561164a573d6000803e3d6000fd5b505050506040513d602081101561166057600080fd5b5051905060006116728261067761058f565b9050801561178d57600080611685610579565b9050600061169161038a565b90506001600160a01b0381161561177857806001600160a01b031663e00c34906116b961037b565b84878c6040518563ffffffff1660e01b81526004018085815260200184815260200183815260200180602001828103825283818151815260200191508051906020019060200280838360005b8381101561171d578181015183820152602001611705565b5050505090500195505050505050602060405180830381600087803b15801561174557600080fd5b505af1158015611759573d6000803e3d6000fd5b505050506040513d602081101561176f57600080fd5b5051925061177c565b8392505b6117896104e88385610aca565b5050505b6000841561179c57508161179f565b50805b80156117b9576117b96001600160a01b0385163383610cc1565b610f883387611830565b60606117d2848460008561198b565b949350505050565b6000805b8351811015611826578381815181106117f357fe5b60200260200101516001600160a01b0316836001600160a01b0316141561181e576001915050610ac4565b6001016117de565b5060009392505050565b6060815167ffffffffffffffff8111801561184a57600080fd5b50604051908082528060200260200182016040528015611874578160200160208202803683370190505b50905060005b825181101561198457600083828151811061189157fe5b60200260200101519050806001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156118e857600080fd5b505afa1580156118fc573d6000803e3d6000fd5b505050506040513d602081101561191257600080fd5b5051835184908490811061192257fe5b602002602001018181525050600083838151811061193c57fe5b6020026020010151111561197b5761197b8584848151811061195a57fe5b6020026020010151836001600160a01b0316610cc19092919063ffffffff16565b5060010161187a565b5092915050565b6060824710156119cc5760405162461bcd60e51b8152600401808060200182810382526026815260200180611bb96026913960400191505060405180910390fd5b6119d585611ae7565b611a26576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b60208310611a655780518252601f199092019160209182019101611a46565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114611ac7576040519150601f19603f3d011682016040523d82523d6000602084013e611acc565b606091505b5091509150611adc828286611aed565b979650505050505050565b3b151590565b60608315611afc575081610b24565b825115611b0c5782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611b56578181015183820152602001611b3e565b50505050905090810190601f168015611b835780820380516001836020036101000a031916815260200191505b509250505060405180910390fdfe53616665436173743a2076616c756520646f65736e27742066697420696e203132382062697473416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c7265636569766543616c6c46726f6d5661756c743a20496e76616c696420616374696f6e49645f5f7265636f6e63696c653a2045787472612061737365747320636f6e7461696e73206c6f616e2061737365745361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645f5f616374696f6e436f6e6669677572654c6f616e3a20456d70747920626f72726f7765725f5f616374696f6e436f6e6669677572654c6f616e3a20456d707479206c6f616e2061737365745f5f616374696f6e436f6e6669677572654c6f616e3a20416c726561647920636f6e66696775726564a164736f6c634300060c000a", "sourceMap": "1395:14131:93:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15004:110;;;:::i;:::-;;;;;;;;;;;;;;;;14192:119;;;:::i;:::-;;;;-1:-1:-1;;;;;14192:119:93;;;;;;;;;;;;;;14619:95;;;:::i;11242:1000::-;;;;;;;;;;;;;;;;-1:-1:-1;11242:1000:93;;:::i;:::-;;2121:48;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2121:48:93;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2121:48:93;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2121:48:93;;-1:-1:-1;2121:48:93;;-1:-1:-1;;;;;2121:48:93:i;15218:104::-;;;:::i;14416:119::-;;;:::i;15431:93::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;12843:1158;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14791:103;;;:::i;9835:888::-;;;;;;;;;;;;;;;;-1:-1:-1;9835:888:93;;:::i;2297:841::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2297:841:93;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2297:841:93;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2297:841:93;;-1:-1:-1;2297:841:93;;-1:-1:-1;;;;;2297:841:93:i;12488:176::-;;;:::i;15004:110::-;15094:13;;-1:-1:-1;;;;;15094:13:93;15004:110;:::o;14192:119::-;14244:25;14288:16;-1:-1:-1;;;;;14288:16:93;14192:119;:::o;14619:95::-;14699:8;;-1:-1:-1;;;;;14699:8:93;14619:95;:::o;11242:1000::-;11293:22;11318:16;:14;:16::i;:::-;11293:41;;11344:27;11374:21;:19;:21::i;:::-;11344:51;-1:-1:-1;11406:19:93;-1:-1:-1;;;;;11439:33:93;;;11435:502;;11612:19;-1:-1:-1;;;;;11581:60:93;;11659:18;:16;:18::i;:::-;11695:14;11727:7;11581:167;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11581:167:93;;-1:-1:-1;11435:502:93;;;-1:-1:-1;;11769:7:93;:28;11765:172;;;11827:47;11839:18;:16;:18::i;:::-;11859:14;11827:11;:47::i;:::-;11813:61;;11765:172;;;-1:-1:-1;11919:7:93;11765:172;11968:1;11954:11;:15;11946:51;;;;;-1:-1:-1;;;11946:51:93;;;;;;;;;;;;;;;;;;;;;;;;;;;;12008:52;12028:31;:14;12047:11;12028:18;:31::i;:::-;12008:19;:52::i;:::-;12071:164;12123:10;12178:4;-1:-1:-1;;;;;12147:51:93;;:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12147:53:93;12214:11;12077:14;:12;:14::i;:::-;-1:-1:-1;;;;;12071:38:93;;:164;;:38;:164::i;:::-;11242:1000;;;;:::o;2121:48::-;;:::o;15218:104::-;15304:11;;-1:-1:-1;;;15304:11:93;;-1:-1:-1;;;;;15304:11:93;;15218:104::o;14416:119::-;14512:16;;14416:119;:::o;15431:93::-;15509:8;;-1:-1:-1;;;15509:8:93;;;;;15431:93::o;12843:1158::-;12922:24;12948:25;12993:14;:12;:14::i;:::-;12989:71;;;13023:26;;12989:71;13070:27;13100:21;:19;:21::i;:::-;13070:51;-1:-1:-1;13131:20:93;-1:-1:-1;;;;;13166:33:93;;;13162:323;;13261:19;-1:-1:-1;;;;;13230:65:93;;13313:18;:16;:18::i;:::-;13349:16;:14;:16::i;:::-;13230:149;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13230:149:93;;-1:-1:-1;13162:323:93;;;13425:49;13437:18;:16;:18::i;:::-;13457:16;:14;:16::i;:::-;13425:11;:49::i;:::-;13410:64;;13162:323;13687:39;13704:21;:19;:21::i;:::-;13687:12;;:16;:39::i;:::-;13672:54;-1:-1:-1;13740:17:93;13736:74;;13773:26;;;;13736:74;13830:16;;;13844:1;13830:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13830:16:93;13820:26;;13869:14;:12;:14::i;:::-;13856:7;13864:1;13856:10;;;;;;;;-1:-1:-1;;;;;13856:27:93;;;;:10;;;;;;;;;;:27;13905:16;;;13919:1;13905:16;;;;;;;;;;;;;;13856:10;13905:16;;;;;-1:-1:-1;13905:16:93;13894:27;;13945:12;13931:8;13940:1;13931:11;;;;;;;;;;;;;:26;;;;;13968;;12843:1158;;;:::o;14791:103::-;14878:9;;-1:-1:-1;;;;;14878:9:93;14791:103;:::o;9835:888::-;9909:13;:11;:13::i;:::-;-1:-1:-1;;;;;9895:27:93;:10;-1:-1:-1;;;;;9895:27:93;;9887:60;;;;;-1:-1:-1;;;9887:60:93;;;;;;;;;;;;-1:-1:-1;;;9887:60:93;;;;;;;;;;;;;;;9975:1;9965:7;:11;9957:45;;;;;-1:-1:-1;;;9957:45:93;;;;;;;;;;;;-1:-1:-1;;;9957:45:93;;;;;;;;;;;;;;;10013:24;10040:18;:16;:18::i;:::-;10013:45;;10069:27;10099:21;:19;:21::i;:::-;10069:51;-1:-1:-1;;;;;;10134:33:93;;;10130:232;;10214:19;-1:-1:-1;;;;;10183:61:93;;10262:16;10296;:14;:16::i;:::-;10330:7;10183:168;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10130:232;10428:60;10453:34;10479:7;10453:21;:19;:21::i;:::-;:25;;:34::i;:::-;10428:24;:60::i;:::-;10518:29;:16;10539:7;10518:20;:29::i;:::-;10499:48;;10573:28;:16;:26;:28::i;:::-;10557:13;:44;;-1:-1:-1;;10557:44:93;-1:-1:-1;;;;;10557:44:93;;;;;;;;;;10618:9;;10612:50;;-1:-1:-1;;;;;10618:9:93;10642:10;10654:7;10612:29;:50::i;:::-;10678:38;;;;;;;;;;;;;;;;;9835:888;;;:::o;2297:841::-;2382:16;2400:23;2438:11;2427:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2427:41:93;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2427:41:93;;;;;;-1:-1:-1;2427:41:93;;;;;;;;;;-1:-1:-1;2427:41:93;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2381:87;;;;2503:21;2495:30;;;;;;;;2483:8;:42;2479:653;;;2541:33;2563:10;2541:21;:33::i;:::-;2479:653;;;2615:30;2595:8;:51;2591:541;;;2662:42;2693:10;2662:30;:42::i;2591:541::-;2745:30;2725:8;:51;2721:411;;;2792:42;2823:10;2792:30;:42::i;2721:411::-;2875:17;2855:8;:38;2851:281;;;2909:29;2927:10;2909:17;:29::i;2851:281::-;2979:17;2959:8;:38;2955:177;;;3013:29;3031:10;3013:17;:29::i;2955:177::-;3073:48;;-1:-1:-1;;;3073:48:93;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2955:177;2297:841;;;:::o;12488:176::-;12564:24;12590:25;12488:176;:::o;1127:205:360:-;1207:12;1246:8;1235;:19;1231:76;;;-1:-1:-1;1277:19:360;;;1270:26;;1231:76;-1:-1:-1;1324:1:360;1127:205;;;;;:::o;2690:175:442:-;2748:7;2779:5;;;2802:6;;;;2794:46;;;;;-1:-1:-1;;;2794:46:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;2857:1;2690:175;-1:-1:-1;;;2690:175:442:o;9486:174:93:-;9573:28;:16;:26;:28::i;:::-;9559:11;:42;;-1:-1:-1;;;;;9559:42:93;;;-1:-1:-1;;;9559:42:93;;;;;;;;;9617:36;;;;;;;;;;;;;;;;;9486:174;:::o;885:203:450:-;1012:68;;;-1:-1:-1;;;;;1012:68:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1012:68:450;-1:-1:-1;;;1012:68:450;;;985:96;;1005:5;;985:19;:96::i;3136:155:442:-;3194:7;3226:1;3221;:6;;3213:49;;;;;-1:-1:-1;;;3213:49:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3279:5:442;;;3136:155::o;9234:192:93:-;9317:16;:40;;;9373:46;;;;;;;;;;;;;;;;;9234:192;:::o;1086:181:454:-;1143:7;-1:-1:-1;;;1170:5:454;:14;1162:67;;;;-1:-1:-1;;;1162:67:454;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1254:5:454;1086:181::o;704:175:450:-;813:58;;;-1:-1:-1;;;;;813:58:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;813:58:450;-1:-1:-1;;;813:58:450;;;786:86;;806:5;;786:19;:86::i;4261:1167:93:-;4370:1;4344:14;:12;:14::i;:::-;-1:-1:-1;;;;;4344:28:93;;4336:82;;;;-1:-1:-1;;;4336:82:93;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4443:19;4476:20;4510:14;4538:27;4579:39;4632:19;4664:44;4696:11;4664:31;:44::i;:::-;4429:279;;;;;;;;;;;;4750:1;-1:-1:-1;;;;;4727:25:93;:11;-1:-1:-1;;;;;4727:25:93;;;4719:75;;;;-1:-1:-1;;;4719:75:93;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4812:26:93;;4804:78;;;;-1:-1:-1;;;4804:78:93;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4893:8;:22;;-1:-1:-1;;;;;4893:22:93;;;-1:-1:-1;;;;;;4893:22:93;;;;;;;4925:9;:24;;;;;;;;;;;;;4964:33;;;4960:236;;5013:16;:38;;-1:-1:-1;;;;;;5013:38:93;-1:-1:-1;;;;;5013:38:93;;;;;;;5066:119;;-1:-1:-1;;;5066:119:93;;;;;;;;;;;;;;;;;5013:38;;5066:61;;:119;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4960:236;5253:19;-1:-1:-1;;;;;5211:75:93;5239:12;-1:-1:-1;;;;;5211:75:93;5226:11;-1:-1:-1;;;;;5211:75:93;;5274:11;5211:75;;;;;;;;;;;;;;;;;;5353:10;;5349:73;;5379:32;5404:6;5379:24;:32::i;:::-;4261:1167;;;;;;;:::o;5725:631::-;2002:14;:12;:14::i;:::-;2001:15;1993:54;;;;;-1:-1:-1;;;1993:54:93;;;;;;;;;;;;;;;;;;;;;;;;;;;;5823:18:::1;5844:53;5885:11;5844:40;:53::i;:::-;5823:74;;5926:1;5912:11;:15;5908:442;;;5943:22;5976:12:::0;;::::1;6004:67;6029:41;5976:12:::0;6029:21:::1;:19;:21::i;6004:67::-;6184:9;::::0;6178:57:::1;::::0;-1:-1:-1;;;;;6184:9:93::1;6208:10;6220:14:::0;6178:29:::1;:57::i;:::-;5908:442;;;;6266:73;6291:47;6325:11;6291:21;:19;:21::i;:::-;:25:::0;::::1;:47::i;6266:73::-;2057:1;5725:631:::0;:::o;3273:177::-;3388:21;:19;:21::i;:::-;-1:-1:-1;;;;;3357:73:93;;3431:11;3357:86;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3273:177;:::o;5520:138::-;5591:60;5603:40;5631:11;5603:27;:40::i;:::-;5645:5;5591:11;:60::i;3682:521::-;2002:14;:12;:14::i;:::-;2001:15;1993:54;;;;;-1:-1:-1;;;1993:54:93;;;;;;;;;;;;;;;;;;;;;;;;;;;;3767:59:::1;3779:40;3807:11;3779:27;:40::i;:::-;3821:4;3767:11;:59::i;:::-;3837:27;3867:21;:19;:21::i;:::-;3837:51:::0;-1:-1:-1;;;;;;3902:33:93;::::1;::::0;3898:208:::1;;3982:19;-1:-1:-1::0;;;;;3951:60:93::1;;4029:18;:16;:18::i;:::-;4065:16;:14;:16::i;:::-;3951:144;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;3898:208;4116:27;4141:1;4116:24;:27::i;:::-;4153:8;:15:::0;;-1:-1:-1;;;;4153:15:93::1;-1:-1:-1::0;;;4153:15:93::1;::::0;;4184:12:::1;::::0;::::1;::::0;4153:15;;4184:12:::1;2057:1;3682:521:::0;:::o;2967:751:450:-;3386:23;3412:69;3440:4;3412:69;;;;;;;;;;;;;;;;;3420:5;-1:-1:-1;;;;;3412:27:450;;;:69;;;;;:::i;:::-;3495:17;;3386:95;;-1:-1:-1;3495:21:450;3491:221;;3635:10;3624:30;;;;;;;;;;;;;;;-1:-1:-1;3624:30:450;3616:85;;;;-1:-1:-1;;;3616:85:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;890:444:92;1017:17;1048:14;1076:15;1105:25;1144:40;1198:20;1261:11;1250:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1250:77:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1250:77:92;;;;;;-1:-1:-1;1250:77:92;;;;;;;;;;-1:-1:-1;1250:77:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1250:77:92;;;;;1243:84;;;;-1:-1:-1;1243:84:92;;-1:-1:-1;1243:84:92;;-1:-1:-1;1243:84:92;-1:-1:-1;1250:77:92;;-1:-1:-1;890:444:92;;-1:-1:-1;;;;890:444:92:o;1707:205::-;1830:19;1883:11;1872:33;;;;;;;;;;;;;;;-1:-1:-1;1872:33:92;;1707:205;-1:-1:-1;;1707:205:92:o;1408:212::-;1518:36;1588:11;1577:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1577:36:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1577:36:92;;;;;;;;;;;;-1:-1:-1;1577:36:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1570:43;;1408:212;;;:::o;6593:2583:93:-;6757:20;-1:-1:-1;;;;;6757:34:93;;6753:254;;6836:21;6876:22;;6872:125;;6924:20;-1:-1:-1;;;;;6918:35:93;;6961:18;6918:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6872:125;6753:254;;7017:23;7049:14;:12;:14::i;:::-;7017:47;-1:-1:-1;7097:56:93;:19;7017:47;7097:28;:56::i;:::-;7096:57;7075:149;;;;-1:-1:-1;;;7075:149:93;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7235:24;7262:17;-1:-1:-1;;;;;7262:27:93;;7298:4;7262:42;;;;;;;;;;;;;-1:-1:-1;;;;;7262:42:93;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7262:42:93;;-1:-1:-1;7315:33:93;7351:52;7262:42;7381:21;:19;:21::i;7351:52::-;7315:88;-1:-1:-1;7575:29:93;;7571:898;;7620:19;7653:22;7678:16;:14;:16::i;:::-;7653:41;;7708:27;7738:21;:19;:21::i;:::-;7708:51;-1:-1:-1;;;;;;7778:33:93;;;7774:618;;8084:19;-1:-1:-1;;;;;8053:64:93;;8139:18;:16;:18::i;:::-;8179:14;8215:25;8262:19;8053:246;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8053:246:93;;-1:-1:-1;7774:618:93;;;8352:25;8338:39;;7774:618;8406:52;8426:31;:14;8445:11;8426:18;:31::i;8406:52::-;7571:898;;;;8535:33;8582:6;8578:323;;;-1:-1:-1;8693:16:93;8578:323;;;-1:-1:-1;8865:25:93;8578:323;8914:29;;8910:129;;8959:69;-1:-1:-1;;;;;8959:30:93;;8990:10;9002:25;8959:30;:69::i;:::-;9113:56;9137:10;9149:19;9113:23;:56::i;3581:193:451:-;3684:12;3715:52;3737:6;3745:4;3751:1;3754:12;3715:21;:52::i;:::-;3708:59;3581:193;-1:-1:-1;;;;3581:193:451:o;2489:299:354:-;2595:17;2633:9;2628:132;2648:5;:12;2644:1;:16;2628:132;;;2696:5;2702:1;2696:8;;;;;;;;;;;;;;-1:-1:-1;;;;;2685:19:354;:7;-1:-1:-1;;;;;2685:19:354;;2681:69;;;2731:4;2724:11;;;;;2681:69;2662:3;;2628:132;;;-1:-1:-1;2776:5:354;;2489:299;-1:-1:-1;;;2489:299:354:o;3539:585:355:-;3649:36;3737:7;:14;3723:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3723:29:355;;3701:51;;3767:9;3762:319;3782:7;:14;3778:1;:18;3762:319;;;3817:19;3845:7;3853:1;3845:10;;;;;;;;;;;;;;3817:39;;3895:13;-1:-1:-1;;;;;3895:23:355;;3927:4;3895:38;;;;;;;;;;;;;-1:-1:-1;;;;;3895:38:355;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3895:38:355;3870:22;;:19;;3890:1;;3870:22;;;;;;;;;;;:63;;;;;3976:1;3951:19;3971:1;3951:22;;;;;;;;;;;;;;:26;3947:124;;;3997:59;4024:7;4033:19;4053:1;4033:22;;;;;;;;;;;;;;3997:13;-1:-1:-1;;;;;3997:26:355;;;:59;;;;;:::i;:::-;-1:-1:-1;3798:3:355;;3762:319;;;;3539:585;;;;:::o;4608:523:451:-;4735:12;4792:5;4767:21;:30;;4759:81;;;;-1:-1:-1;;;4759:81:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4858:18;4869:6;4858:10;:18::i;:::-;4850:60;;;;;-1:-1:-1;;;4850:60:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;4981:12;4995:23;5022:6;-1:-1:-1;;;;;5022:11:451;5042:5;5050:4;5022:33;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5022:33:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4980:75;;;;5072:52;5090:7;5099:10;5111:12;5072:17;:52::i;:::-;5065:59;4608:523;-1:-1:-1;;;;;;;4608:523:451:o;726:413::-;1086:20;1124:8;;;726:413::o;7091:725::-;7206:12;7234:7;7230:580;;;-1:-1:-1;7264:10:451;7257:17;;7230:580;7375:17;;:21;7371:429;;7633:10;7627:17;7693:15;7680:10;7676:2;7672:19;7665:44;7582:145;7772:12;7765:20;;-1:-1:-1;;;7765:20:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;", "linkReferences": {}, "immutableReferences": { "21085": [ { "start": 5354, "length": 32 }, { "start": 5408, "length": 32 } ] } }, "methodIdentifiers": { "borrow(uint256)": "c5ebeaec", "getAccountingModule()": "07758efb", "getBorrowableAmount()": "6d82f645", "getBorrower()": "1cb0c3e7", "getDebtAssets()": "ecd658b4", "getLoanAsset()": "acf8982e", "getManagedAssets()": "80daddb8", "getTotalBorrowed()": "0307c4a1", "getTotalRepaid()": "58414300", "init(bytes)": "4ddf47d4", "loanIsClosed()": "77658e80", "receiveCallFromVault(bytes)": "e5c23a97", "repay(uint256)": "371fd8e6" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_wrappedNativeAsset\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"borrowableAmount\",\"type\":\"uint256\"}],\"name\":\"BorrowableAmountUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"LoanClosed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"borrower\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"loanAsset\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"accountingModule\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"description\",\"type\":\"bytes32\"}],\"name\":\"LoanConfigured\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"totalBorrowed\",\"type\":\"uint256\"}],\"name\":\"TotalBorrowedUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"totalRepaid\",\"type\":\"uint256\"}],\"name\":\"TotalRepaidUpdated\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"borrow\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAccountingModule\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"accountingModule_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBorrowableAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"borrowableAmount_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBorrower\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"borrower_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDebtAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"assets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getLoanAsset\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"asset_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getManagedAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"assets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getTotalBorrowed\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"totalBorrowed_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getTotalRepaid\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"totalRepaid_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"loanIsClosed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isClosed_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"}],\"name\":\"receiveCallFromVault\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"repay\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"This contract is intended for loan assets with standard behaviors. Tokens with non-standard behaviors (e.g., rebasing or fee-on-transfer) can still work, but may lead to unexpected results (e.g., borrowable amount).\",\"kind\":\"dev\",\"methods\":{\"borrow(uint256)\":{\"params\":{\"_amount\":\"The amount to borrow\"}},\"constructor\":{\"details\":\"Only set _wrappedNativeAsset if the asset adheres to IWETH.deposit()\"},\"getAccountingModule()\":{\"returns\":{\"accountingModule_\":\"The accounting module address\"}},\"getBorrowableAmount()\":{\"returns\":{\"borrowableAmount_\":\"The borrowable amount\"}},\"getBorrower()\":{\"returns\":{\"borrower_\":\"The borrower\"}},\"getDebtAssets()\":{\"returns\":{\"amounts_\":\"Debt asset amounts\",\"assets_\":\"Debt assets\"}},\"getLoanAsset()\":{\"returns\":{\"asset_\":\"The asset\"}},\"getManagedAssets()\":{\"returns\":{\"amounts_\":\"Managed asset amounts\",\"assets_\":\"Managed assets\"}},\"getTotalBorrowed()\":{\"returns\":{\"totalBorrowed_\":\"The total amount borrowed\"}},\"getTotalRepaid()\":{\"returns\":{\"totalRepaid_\":\"The total amount repaid\"}},\"loanIsClosed()\":{\"returns\":{\"isClosed_\":\"True if the loan is closed\"}},\"receiveCallFromVault(bytes)\":{\"params\":{\"_actionData\":\"Encoded data to execute the action\"}},\"repay(uint256)\":{\"details\":\"Anybody can repay. It is possible to pay more than the max loan balance. Users wanting to pay the exact loan balance should use `_amount = type(uint256).max`. As this function call comes directly from an end user, it does not pass through architecture to add the loan asset as a trackedAsset of the VaultProxy. Asset managers should make sure to always track the loan asset.\",\"params\":{\"_amount\":\"The amount to repay\"}}},\"title\":\"ArbitraryLoanPositionLib Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"borrow(uint256)\":{\"notice\":\"Borrows a specified amount\"},\"getAccountingModule()\":{\"notice\":\"Gets the accounting module used\"},\"getBorrowableAmount()\":{\"notice\":\"Gets the borrowable amount\"},\"getBorrower()\":{\"notice\":\"Gets the loan borrower\"},\"getDebtAssets()\":{\"notice\":\"Retrieves the debt assets (negative value) of the external position\"},\"getLoanAsset()\":{\"notice\":\"Gets the loaned asset\"},\"getManagedAssets()\":{\"notice\":\"Retrieves the managed assets (positive value) of the external position\"},\"getTotalBorrowed()\":{\"notice\":\"Gets the total amount borrowed\"},\"getTotalRepaid()\":{\"notice\":\"Gets the total amount repaid\"},\"init(bytes)\":{\"notice\":\"Initializes the external position\"},\"loanIsClosed()\":{\"notice\":\"Checks whether the loan is closed\"},\"receiveCallFromVault(bytes)\":{\"notice\":\"Receives and executes a call from the Vault\"},\"repay(uint256)\":{\"notice\":\"Repays a specified amount\"}},\"notice\":\"Library contract for ArbitraryLoanPosition\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/arbitrary-loan/ArbitraryLoanPositionLib.sol\":\"ArbitraryLoanPositionLib\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/persistent/external-positions/IExternalPositionProxy.sol\":{\"keccak256\":\"0xc74e623dbdc949df49e9cef31e0f958b17c715d89198dbbc1754d8f9c21e90de\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://074daf0a9f4e667964e6d50039986e3d792860cdece05d21e3606d33358a02b2\",\"dweb:/ipfs/QmVHXiKry9fYfjSNd6dxmtSr7DubNJvYJTNXtLDKGer2xH\"]},\"contracts/persistent/external-positions/arbitrary-loan/ArbitraryLoanPositionLibBase1.sol\":{\"keccak256\":\"0xa2ade9413265102ceb73d9ade641687ae3c4bb56b867abe5596fb68f00ac0730\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f5da2100ab79e090bf1ac2dd7cb0fd8852eef7dd062a730c3c63ca5243379b2e\",\"dweb:/ipfs/QmSM6BMxwF8FTbvd1vMw9CevJhB6EoT7athSFzXV1Bpmeg\"]},\"contracts/release/extensions/external-position-manager/external-positions/arbitrary-loan/ArbitraryLoanPositionDataDecoder.sol\":{\"keccak256\":\"0xef4f598d56281e2e8221170dad687a0db70d3adc9966b8280afdbd968f93be11\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://439ae7e28086dc3df565dd23f41945920447ab48f12a4688497e49cda3fee6a0\",\"dweb:/ipfs/QmR361jpyXyym1ectcCRRCotdyHir95HePSEErEpVhcopr\"]},\"contracts/release/extensions/external-position-manager/external-positions/arbitrary-loan/ArbitraryLoanPositionLib.sol\":{\"keccak256\":\"0xe3b5dee7eff0637df8d7130a63b74a68c5eb6689e60d6e23648d1ffb100cd0d4\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://46f942b1fddbc356aecb69354f41f06f23462e9208f6a2bd41a0708c35545e92\",\"dweb:/ipfs/QmeZef74XcVX8xZpjtXVVnZ65VjR2qoVwaPPyRHns9BdF1\"]},\"contracts/release/extensions/external-position-manager/external-positions/arbitrary-loan/IArbitraryLoanPosition.sol\":{\"keccak256\":\"0xb1226be44c1d6ddff3db0bb1288c1aa5b8e5a5506b1dcf0fc7def95932036481\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://e3c7a393c5aa08cdaddf39d17066d3caeb1aba6f6c70f56d6e188059edd46bcb\",\"dweb:/ipfs/QmepBkEjBTNCAG5unqLwcyJ8pFGskcfLuFGdMWMKCyKA6H\"]},\"contracts/release/extensions/external-position-manager/external-positions/arbitrary-loan/modules/IArbitraryLoanAccountingModule.sol\":{\"keccak256\":\"0x95b63e11b0e628c5a0bd382fb07b6fbd06bdd130ff7b8afa429f49990991c5f7\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8f7ecd88d1158d6ec02a0ae1a76c8c9cfdab49fe3d0fb344c0313376e2dc744f\",\"dweb:/ipfs/QmWeJjbsXX27ADWJpDV7pABtdGADs2nk4gmSUN9dtA7X2S\"]},\"contracts/release/interfaces/IWETH.sol\":{\"keccak256\":\"0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2\",\"dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"contracts/release/utils/MathHelpers.sol\":{\"keccak256\":\"0x8aef498ae98bfb40cd1df8c9ed652b4c092fbbe62d5a1fad522c53654523248e\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ed62789f6a8d5ca30a40c591f244b915e4711493a9e4b1b4d40ea2bc97b02a95\",\"dweb:/ipfs/QmWyXJ55arURtx9VMkUQokdsjk8tbgM2cC8rENFUMyz5D3\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]},\"node_modules/@openzeppelin/contracts/utils/SafeCast.sol\":{\"keccak256\":\"0x7b2b8baa20fd60ab4a328c8e34c64a353651b80ba4b5b157cbb61813f6f85d55\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://125b7f9efa390e663d630c62b97ae4e0707f31623bea989ef94c97ca9d777dd2\",\"dweb:/ipfs/QmaaLSuwvqK7wqcgyS3utHgfmB7RntcvP7eJSuvQod8Z9P\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_wrappedNativeAsset", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "uint256", "name": "borrowableAmount", "type": "uint256", "indexed": false } ], "type": "event", "name": "BorrowableAmountUpdated", "anonymous": false }, { "inputs": [], "type": "event", "name": "LoanClosed", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "borrower", "type": "address", "indexed": true }, { "internalType": "address", "name": "loanAsset", "type": "address", "indexed": true }, { "internalType": "address", "name": "accountingModule", "type": "address", "indexed": true }, { "internalType": "bytes32", "name": "description", "type": "bytes32", "indexed": false } ], "type": "event", "name": "LoanConfigured", "anonymous": false }, { "inputs": [ { "internalType": "uint256", "name": "totalBorrowed", "type": "uint256", "indexed": false } ], "type": "event", "name": "TotalBorrowedUpdated", "anonymous": false }, { "inputs": [ { "internalType": "uint256", "name": "totalRepaid", "type": "uint256", "indexed": false } ], "type": "event", "name": "TotalRepaidUpdated", "anonymous": false }, { "inputs": [ { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "borrow" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getAccountingModule", "outputs": [ { "internalType": "address", "name": "accountingModule_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getBorrowableAmount", "outputs": [ { "internalType": "uint256", "name": "borrowableAmount_", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getBorrower", "outputs": [ { "internalType": "address", "name": "borrower_", "type": "address" } ] }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "getDebtAssets", "outputs": [ { "internalType": "address[]", "name": "assets_", "type": "address[]" }, { "internalType": "uint256[]", "name": "amounts_", "type": "uint256[]" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getLoanAsset", "outputs": [ { "internalType": "address", "name": "asset_", "type": "address" } ] }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "getManagedAssets", "outputs": [ { "internalType": "address[]", "name": "assets_", "type": "address[]" }, { "internalType": "uint256[]", "name": "amounts_", "type": "uint256[]" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getTotalBorrowed", "outputs": [ { "internalType": "uint256", "name": "totalBorrowed_", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getTotalRepaid", "outputs": [ { "internalType": "uint256", "name": "totalRepaid_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "init" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "loanIsClosed", "outputs": [ { "internalType": "bool", "name": "isClosed_", "type": "bool" } ] }, { "inputs": [ { "internalType": "bytes", "name": "_actionData", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "receiveCallFromVault" }, { "inputs": [ { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "repay" } ], "devdoc": { "kind": "dev", "methods": { "borrow(uint256)": { "params": { "_amount": "The amount to borrow" } }, "constructor": { "details": "Only set _wrappedNativeAsset if the asset adheres to IWETH.deposit()" }, "getAccountingModule()": { "returns": { "accountingModule_": "The accounting module address" } }, "getBorrowableAmount()": { "returns": { "borrowableAmount_": "The borrowable amount" } }, "getBorrower()": { "returns": { "borrower_": "The borrower" } }, "getDebtAssets()": { "returns": { "amounts_": "Debt asset amounts", "assets_": "Debt assets" } }, "getLoanAsset()": { "returns": { "asset_": "The asset" } }, "getManagedAssets()": { "returns": { "amounts_": "Managed asset amounts", "assets_": "Managed assets" } }, "getTotalBorrowed()": { "returns": { "totalBorrowed_": "The total amount borrowed" } }, "getTotalRepaid()": { "returns": { "totalRepaid_": "The total amount repaid" } }, "loanIsClosed()": { "returns": { "isClosed_": "True if the loan is closed" } }, "receiveCallFromVault(bytes)": { "params": { "_actionData": "Encoded data to execute the action" } }, "repay(uint256)": { "details": "Anybody can repay. It is possible to pay more than the max loan balance. Users wanting to pay the exact loan balance should use `_amount = type(uint256).max`. As this function call comes directly from an end user, it does not pass through architecture to add the loan asset as a trackedAsset of the VaultProxy. Asset managers should make sure to always track the loan asset.", "params": { "_amount": "The amount to repay" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "borrow(uint256)": { "notice": "Borrows a specified amount" }, "getAccountingModule()": { "notice": "Gets the accounting module used" }, "getBorrowableAmount()": { "notice": "Gets the borrowable amount" }, "getBorrower()": { "notice": "Gets the loan borrower" }, "getDebtAssets()": { "notice": "Retrieves the debt assets (negative value) of the external position" }, "getLoanAsset()": { "notice": "Gets the loaned asset" }, "getManagedAssets()": { "notice": "Retrieves the managed assets (positive value) of the external position" }, "getTotalBorrowed()": { "notice": "Gets the total amount borrowed" }, "getTotalRepaid()": { "notice": "Gets the total amount repaid" }, "init(bytes)": { "notice": "Initializes the external position" }, "loanIsClosed()": { "notice": "Checks whether the loan is closed" }, "receiveCallFromVault(bytes)": { "notice": "Receives and executes a call from the Vault" }, "repay(uint256)": { "notice": "Repays a specified amount" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/external-position-manager/external-positions/arbitrary-loan/ArbitraryLoanPositionLib.sol": "ArbitraryLoanPositionLib" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/external-positions/IExternalPosition.sol": { "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", "urls": [ "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" ], "license": "GPL-3.0" }, "contracts/persistent/external-positions/IExternalPositionProxy.sol": { "keccak256": "0xc74e623dbdc949df49e9cef31e0f958b17c715d89198dbbc1754d8f9c21e90de", "urls": [ "bzz-raw://074daf0a9f4e667964e6d50039986e3d792860cdece05d21e3606d33358a02b2", "dweb:/ipfs/QmVHXiKry9fYfjSNd6dxmtSr7DubNJvYJTNXtLDKGer2xH" ], "license": "GPL-3.0" }, "contracts/persistent/external-positions/arbitrary-loan/ArbitraryLoanPositionLibBase1.sol": { "keccak256": "0xa2ade9413265102ceb73d9ade641687ae3c4bb56b867abe5596fb68f00ac0730", "urls": [ "bzz-raw://f5da2100ab79e090bf1ac2dd7cb0fd8852eef7dd062a730c3c63ca5243379b2e", "dweb:/ipfs/QmSM6BMxwF8FTbvd1vMw9CevJhB6EoT7athSFzXV1Bpmeg" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/arbitrary-loan/ArbitraryLoanPositionDataDecoder.sol": { "keccak256": "0xef4f598d56281e2e8221170dad687a0db70d3adc9966b8280afdbd968f93be11", "urls": [ "bzz-raw://439ae7e28086dc3df565dd23f41945920447ab48f12a4688497e49cda3fee6a0", "dweb:/ipfs/QmR361jpyXyym1ectcCRRCotdyHir95HePSEErEpVhcopr" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/arbitrary-loan/ArbitraryLoanPositionLib.sol": { "keccak256": "0xe3b5dee7eff0637df8d7130a63b74a68c5eb6689e60d6e23648d1ffb100cd0d4", "urls": [ "bzz-raw://46f942b1fddbc356aecb69354f41f06f23462e9208f6a2bd41a0708c35545e92", "dweb:/ipfs/QmeZef74XcVX8xZpjtXVVnZ65VjR2qoVwaPPyRHns9BdF1" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/arbitrary-loan/IArbitraryLoanPosition.sol": { "keccak256": "0xb1226be44c1d6ddff3db0bb1288c1aa5b8e5a5506b1dcf0fc7def95932036481", "urls": [ "bzz-raw://e3c7a393c5aa08cdaddf39d17066d3caeb1aba6f6c70f56d6e188059edd46bcb", "dweb:/ipfs/QmepBkEjBTNCAG5unqLwcyJ8pFGskcfLuFGdMWMKCyKA6H" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/arbitrary-loan/modules/IArbitraryLoanAccountingModule.sol": { "keccak256": "0x95b63e11b0e628c5a0bd382fb07b6fbd06bdd130ff7b8afa429f49990991c5f7", "urls": [ "bzz-raw://8f7ecd88d1158d6ec02a0ae1a76c8c9cfdab49fe3d0fb344c0313376e2dc744f", "dweb:/ipfs/QmWeJjbsXX27ADWJpDV7pABtdGADs2nk4gmSUN9dtA7X2S" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IWETH.sol": { "keccak256": "0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2", "urls": [ "bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2", "dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ" ], "license": "GPL-3.0" }, "contracts/release/utils/AddressArrayLib.sol": { "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", "urls": [ "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" ], "license": "GPL-3.0" }, "contracts/release/utils/AssetHelpers.sol": { "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", "urls": [ "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" ], "license": "GPL-3.0" }, "contracts/release/utils/MathHelpers.sol": { "keccak256": "0x8aef498ae98bfb40cd1df8c9ed652b4c092fbbe62d5a1fad522c53654523248e", "urls": [ "bzz-raw://ed62789f6a8d5ca30a40c591f244b915e4711493a9e4b1b4d40ea2bc97b02a95", "dweb:/ipfs/QmWyXJ55arURtx9VMkUQokdsjk8tbgM2cC8rENFUMyz5D3" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", "urls": [ "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Address.sol": { "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", "urls": [ "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/SafeCast.sol": { "keccak256": "0x7b2b8baa20fd60ab4a328c8e34c64a353651b80ba4b5b157cbb61813f6f85d55", "urls": [ "bzz-raw://125b7f9efa390e663d630c62b97ae4e0707f31623bea989ef94c97ca9d777dd2", "dweb:/ipfs/QmaaLSuwvqK7wqcgyS3utHgfmB7RntcvP7eJSuvQod8Z9P" ], "license": "MIT" } }, "version": 1 }, "id": 93 } diff --git a/eth_defi/abi/enzyme/ArbitraryLoanPositionLibBase1.json b/eth_defi/abi/enzyme/ArbitraryLoanPositionLibBase1.json index 77a34d3e..09028dcb 100644 --- a/eth_defi/abi/enzyme/ArbitraryLoanPositionLibBase1.json +++ b/eth_defi/abi/enzyme/ArbitraryLoanPositionLibBase1.json @@ -1,232 +1 @@ -{ - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "borrowableAmount", - "type": "uint256" - } - ], - "name": "BorrowableAmountUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [], - "name": "LoanClosed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "borrower", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "loanAsset", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "accountingModule", - "type": "address" - }, - { - "indexed": false, - "internalType": "bytes32", - "name": "description", - "type": "bytes32" - } - ], - "name": "LoanConfigured", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "totalBorrowed", - "type": "uint256" - } - ], - "name": "TotalBorrowedUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "totalRepaid", - "type": "uint256" - } - ], - "name": "TotalRepaidUpdated", - "type": "event" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": {}, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"borrowableAmount\",\"type\":\"uint256\"}],\"name\":\"BorrowableAmountUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"LoanClosed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"borrower\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"loanAsset\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"accountingModule\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"description\",\"type\":\"bytes32\"}],\"name\":\"LoanConfigured\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"totalBorrowed\",\"type\":\"uint256\"}],\"name\":\"TotalBorrowedUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"totalRepaid\",\"type\":\"uint256\"}],\"name\":\"TotalRepaidUpdated\",\"type\":\"event\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"DO NOT EDIT CONTRACT (with exception of OracleType noted below). If new events or storage are necessary, they should be added to a numbered ArbitraryLoanPositionLibBaseXXX that inherits the previous base. e.g., `ArbitraryLoanPositionLibBase2 is ArbitraryLoanPositionLibBase1`\",\"kind\":\"dev\",\"methods\":{},\"title\":\"ArbitraryLoanPositionLibBase1 Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"A persistent contract containing all required storage variables and required functions for a ArbitraryLoanPositionLib implementation\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/external-positions/arbitrary-loan/ArbitraryLoanPositionLibBase1.sol\":\"ArbitraryLoanPositionLibBase1\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/external-positions/arbitrary-loan/ArbitraryLoanPositionLibBase1.sol\":{\"keccak256\":\"0xa2ade9413265102ceb73d9ade641687ae3c4bb56b867abe5596fb68f00ac0730\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f5da2100ab79e090bf1ac2dd7cb0fd8852eef7dd062a730c3c63ca5243379b2e\",\"dweb:/ipfs/QmSM6BMxwF8FTbvd1vMw9CevJhB6EoT7athSFzXV1Bpmeg\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "uint256", - "name": "borrowableAmount", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "BorrowableAmountUpdated", - "anonymous": false - }, - { - "inputs": [], - "type": "event", - "name": "LoanClosed", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "borrower", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "loanAsset", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "accountingModule", - "type": "address", - "indexed": true - }, - { - "internalType": "bytes32", - "name": "description", - "type": "bytes32", - "indexed": false - } - ], - "type": "event", - "name": "LoanConfigured", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "totalBorrowed", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "TotalBorrowedUpdated", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "totalRepaid", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "TotalRepaidUpdated", - "anonymous": false - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/persistent/external-positions/arbitrary-loan/ArbitraryLoanPositionLibBase1.sol": "ArbitraryLoanPositionLibBase1" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/external-positions/arbitrary-loan/ArbitraryLoanPositionLibBase1.sol": { - "keccak256": "0xa2ade9413265102ceb73d9ade641687ae3c4bb56b867abe5596fb68f00ac0730", - "urls": [ - "bzz-raw://f5da2100ab79e090bf1ac2dd7cb0fd8852eef7dd062a730c3c63ca5243379b2e", - "dweb:/ipfs/QmSM6BMxwF8FTbvd1vMw9CevJhB6EoT7athSFzXV1Bpmeg" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 28 -} +{ "abi": [ { "type": "event", "name": "BorrowableAmountUpdated", "inputs": [ { "name": "borrowableAmount", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "LoanClosed", "inputs": [], "anonymous": false }, { "type": "event", "name": "LoanConfigured", "inputs": [ { "name": "borrower", "type": "address", "indexed": true, "internalType": "address" }, { "name": "loanAsset", "type": "address", "indexed": true, "internalType": "address" }, { "name": "accountingModule", "type": "address", "indexed": true, "internalType": "address" }, { "name": "description", "type": "bytes32", "indexed": false, "internalType": "bytes32" } ], "anonymous": false }, { "type": "event", "name": "TotalBorrowedUpdated", "inputs": [ { "name": "totalBorrowed", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "TotalRepaidUpdated", "inputs": [ { "name": "totalRepaid", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": {}, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"borrowableAmount\",\"type\":\"uint256\"}],\"name\":\"BorrowableAmountUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"LoanClosed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"borrower\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"loanAsset\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"accountingModule\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"description\",\"type\":\"bytes32\"}],\"name\":\"LoanConfigured\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"totalBorrowed\",\"type\":\"uint256\"}],\"name\":\"TotalBorrowedUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"totalRepaid\",\"type\":\"uint256\"}],\"name\":\"TotalRepaidUpdated\",\"type\":\"event\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"DO NOT EDIT CONTRACT (with exception of OracleType noted below). If new events or storage are necessary, they should be added to a numbered ArbitraryLoanPositionLibBaseXXX that inherits the previous base. e.g., `ArbitraryLoanPositionLibBase2 is ArbitraryLoanPositionLibBase1`\",\"kind\":\"dev\",\"methods\":{},\"title\":\"ArbitraryLoanPositionLibBase1 Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"A persistent contract containing all required storage variables and required functions for a ArbitraryLoanPositionLib implementation\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/external-positions/arbitrary-loan/ArbitraryLoanPositionLibBase1.sol\":\"ArbitraryLoanPositionLibBase1\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/external-positions/arbitrary-loan/ArbitraryLoanPositionLibBase1.sol\":{\"keccak256\":\"0xa2ade9413265102ceb73d9ade641687ae3c4bb56b867abe5596fb68f00ac0730\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f5da2100ab79e090bf1ac2dd7cb0fd8852eef7dd062a730c3c63ca5243379b2e\",\"dweb:/ipfs/QmSM6BMxwF8FTbvd1vMw9CevJhB6EoT7athSFzXV1Bpmeg\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "uint256", "name": "borrowableAmount", "type": "uint256", "indexed": false } ], "type": "event", "name": "BorrowableAmountUpdated", "anonymous": false }, { "inputs": [], "type": "event", "name": "LoanClosed", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "borrower", "type": "address", "indexed": true }, { "internalType": "address", "name": "loanAsset", "type": "address", "indexed": true }, { "internalType": "address", "name": "accountingModule", "type": "address", "indexed": true }, { "internalType": "bytes32", "name": "description", "type": "bytes32", "indexed": false } ], "type": "event", "name": "LoanConfigured", "anonymous": false }, { "inputs": [ { "internalType": "uint256", "name": "totalBorrowed", "type": "uint256", "indexed": false } ], "type": "event", "name": "TotalBorrowedUpdated", "anonymous": false }, { "inputs": [ { "internalType": "uint256", "name": "totalRepaid", "type": "uint256", "indexed": false } ], "type": "event", "name": "TotalRepaidUpdated", "anonymous": false } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/persistent/external-positions/arbitrary-loan/ArbitraryLoanPositionLibBase1.sol": "ArbitraryLoanPositionLibBase1" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/external-positions/arbitrary-loan/ArbitraryLoanPositionLibBase1.sol": { "keccak256": "0xa2ade9413265102ceb73d9ade641687ae3c4bb56b867abe5596fb68f00ac0730", "urls": [ "bzz-raw://f5da2100ab79e090bf1ac2dd7cb0fd8852eef7dd062a730c3c63ca5243379b2e", "dweb:/ipfs/QmSM6BMxwF8FTbvd1vMw9CevJhB6EoT7athSFzXV1Bpmeg" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 28 } diff --git a/eth_defi/abi/enzyme/ArbitraryLoanPositionParser.json b/eth_defi/abi/enzyme/ArbitraryLoanPositionParser.json index 51285b67..a86a4c86 100644 --- a/eth_defi/abi/enzyme/ArbitraryLoanPositionParser.json +++ b/eth_defi/abi/enzyme/ArbitraryLoanPositionParser.json @@ -1,320 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_externalPosition", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_actionId", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_encodedActionArgs", - "type": "bytes" - } - ], - "name": "parseAssetsForAction", - "outputs": [ - { - "internalType": "address[]", - "name": "assetsToTransfer_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "amountsToTransfer_", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "assetsToReceive_", - "type": "address[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "parseInitArgs", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x608060405234801561001057600080fd5b50610ab3806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063bbd2d6461461003b578063db16c72e146101d2575b600080fd5b6100f46004803603606081101561005157600080fd5b6001600160a01b0382351691602081013591810190606081016040820135600160201b81111561008057600080fd5b82018360208201111561009257600080fd5b803590602001918460018302840111600160201b831117156100b357600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506102fb945050505050565b60405180806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b8381101561013c578181015183820152602001610124565b50505050905001848103835286818151815260200191508051906020019060200280838360005b8381101561017b578181015183820152602001610163565b50505050905001848103825285818151815260200191508051906020019060200280838360005b838110156101ba5781810151838201526020016101a2565b50505050905001965050505050505060405180910390f35b610286600480360360408110156101e857600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561021257600080fd5b82018360208201111561022457600080fd5b803590602001918460018302840111600160201b8311171561024557600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955061078a945050505050565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102c05781810151838201526020016102a8565b50505050905090810190601f1680156102ed5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b60608080846103a75760008061031086610792565b505050925092505060008111156103a0576040805160018082528183019092529060208083019080368337019050509450818560008151811061034f57fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509350808460008151811061039357fe5b6020026020010181815250505b5050610781565b60018514156105665760006103bb85610893565b9050600081121561047d576040805160018082528183019092529060208083019080368337019050509150866001600160a01b031663acf8982e6040518163ffffffff1660e01b815260040160206040518083038186803b15801561041f57600080fd5b505afa158015610433573d6000803e3d6000fd5b505050506040513d602081101561044957600080fd5b50518251839060009061045857fe5b60200260200101906001600160a01b031690816001600160a01b031681525050610560565b6040805160018082528183019092529060208083019080368337019050509350866001600160a01b031663acf8982e6040518163ffffffff1660e01b815260040160206040518083038186803b1580156104d657600080fd5b505afa1580156104ea573d6000803e3d6000fd5b505050506040513d602081101561050057600080fd5b50518451859060009061050f57fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509250808360008151811061055357fe5b6020026020010181815250505b50610781565b600485141561067557610578846108b2565b90506000866001600160a01b031663acf8982e6040518163ffffffff1660e01b815260040160206040518083038186803b1580156105b557600080fd5b505afa1580156105c9573d6000803e3d6000fd5b505050506040513d60208110156105df57600080fd5b5051604080516370a0823160e01b81526001600160a01b038a811660048301529151929350600092918416916370a0823191602480820192602092909190829003018186803b15801561063157600080fd5b505afa158015610645573d6000803e3d6000fd5b505050506040513d602081101561065b57600080fd5b505111156105605761066d828261095a565b915050610781565b600385141561078157610687846108b2565b90506000866001600160a01b031663acf8982e6040518163ffffffff1660e01b815260040160206040518083038186803b1580156106c457600080fd5b505afa1580156106d8573d6000803e3d6000fd5b505050506040513d60208110156106ee57600080fd5b5051604080516370a0823160e01b81526001600160a01b038a811660048301529151929350600092918416916370a0823191602480820192602092909190829003018186803b15801561074057600080fd5b505afa158015610754573d6000803e3d6000fd5b505050506040513d602081101561076a57600080fd5b5051111561077f5761077c828261095a565b91505b505b93509350939050565b606092915050565b600080600080606060008680602001905160c08110156107b157600080fd5b8151602083015160408085015160608601516080870180519351959794969295919491939282019284600160201b8211156107eb57600080fd5b90830190602082018581111561080057600080fd5b8251600160201b81118282018810171561081957600080fd5b82525081516020918201929091019080838360005b8381101561084657818101518382015260200161082e565b50505050905090810190601f1680156108735780820380516001836020036101000a031916815260200191505b5060405260200151969e959d50939b509199509750929550909350505050565b60008180602001905160208110156108aa57600080fd5b505192915050565b60608180602001905160208110156108c957600080fd5b8101908080516040519392919084600160201b8211156108e857600080fd5b9083019060208201858111156108fd57600080fd5b82518660208202830111600160201b8211171561091957600080fd5b82525081516020918201928201910280838360005b8381101561094657818101518382015260200161092e565b505050509050016040525050509050919050565b60606109668383610985565b1561097257508161097f565b61097c83836109db565b90505b92915050565b6000805b83518110156109d15783818151811061099e57fe5b60200260200101516001600160a01b0316836001600160a01b031614156109c957600191505061097f565b600101610989565b5060009392505050565b6060825160010167ffffffffffffffff811180156109f857600080fd5b50604051908082528060200260200182016040528015610a22578160200160208202803683370190505b50905060005b8351811015610a7157838181518110610a3d57fe5b6020026020010151828281518110610a5157fe5b6001600160a01b0390921660209283029190910190910152600101610a28565b508181845181518110610a8057fe5b60200260200101906001600160a01b031690816001600160a01b0316815250509291505056fea164736f6c634300060c000a", - "sourceMap": "742:3415:94:-:0;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c8063bbd2d6461461003b578063db16c72e146101d2575b600080fd5b6100f46004803603606081101561005157600080fd5b6001600160a01b0382351691602081013591810190606081016040820135600160201b81111561008057600080fd5b82018360208201111561009257600080fd5b803590602001918460018302840111600160201b831117156100b357600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506102fb945050505050565b60405180806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b8381101561013c578181015183820152602001610124565b50505050905001848103835286818151815260200191508051906020019060200280838360005b8381101561017b578181015183820152602001610163565b50505050905001848103825285818151815260200191508051906020019060200280838360005b838110156101ba5781810151838201526020016101a2565b50505050905001965050505050505060405180910390f35b610286600480360360408110156101e857600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561021257600080fd5b82018360208201111561022457600080fd5b803590602001918460018302840111600160201b8311171561024557600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955061078a945050505050565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102c05781810151838201526020016102a8565b50505050905090810190601f1680156102ed5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b60608080846103a75760008061031086610792565b505050925092505060008111156103a0576040805160018082528183019092529060208083019080368337019050509450818560008151811061034f57fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509350808460008151811061039357fe5b6020026020010181815250505b5050610781565b60018514156105665760006103bb85610893565b9050600081121561047d576040805160018082528183019092529060208083019080368337019050509150866001600160a01b031663acf8982e6040518163ffffffff1660e01b815260040160206040518083038186803b15801561041f57600080fd5b505afa158015610433573d6000803e3d6000fd5b505050506040513d602081101561044957600080fd5b50518251839060009061045857fe5b60200260200101906001600160a01b031690816001600160a01b031681525050610560565b6040805160018082528183019092529060208083019080368337019050509350866001600160a01b031663acf8982e6040518163ffffffff1660e01b815260040160206040518083038186803b1580156104d657600080fd5b505afa1580156104ea573d6000803e3d6000fd5b505050506040513d602081101561050057600080fd5b50518451859060009061050f57fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509250808360008151811061055357fe5b6020026020010181815250505b50610781565b600485141561067557610578846108b2565b90506000866001600160a01b031663acf8982e6040518163ffffffff1660e01b815260040160206040518083038186803b1580156105b557600080fd5b505afa1580156105c9573d6000803e3d6000fd5b505050506040513d60208110156105df57600080fd5b5051604080516370a0823160e01b81526001600160a01b038a811660048301529151929350600092918416916370a0823191602480820192602092909190829003018186803b15801561063157600080fd5b505afa158015610645573d6000803e3d6000fd5b505050506040513d602081101561065b57600080fd5b505111156105605761066d828261095a565b915050610781565b600385141561078157610687846108b2565b90506000866001600160a01b031663acf8982e6040518163ffffffff1660e01b815260040160206040518083038186803b1580156106c457600080fd5b505afa1580156106d8573d6000803e3d6000fd5b505050506040513d60208110156106ee57600080fd5b5051604080516370a0823160e01b81526001600160a01b038a811660048301529151929350600092918416916370a0823191602480820192602092909190829003018186803b15801561074057600080fd5b505afa158015610754573d6000803e3d6000fd5b505050506040513d602081101561076a57600080fd5b5051111561077f5761077c828261095a565b91505b505b93509350939050565b606092915050565b600080600080606060008680602001905160c08110156107b157600080fd5b8151602083015160408085015160608601516080870180519351959794969295919491939282019284600160201b8211156107eb57600080fd5b90830190602082018581111561080057600080fd5b8251600160201b81118282018810171561081957600080fd5b82525081516020918201929091019080838360005b8381101561084657818101518382015260200161082e565b50505050905090810190601f1680156108735780820380516001836020036101000a031916815260200191505b5060405260200151969e959d50939b509199509750929550909350505050565b60008180602001905160208110156108aa57600080fd5b505192915050565b60608180602001905160208110156108c957600080fd5b8101908080516040519392919084600160201b8211156108e857600080fd5b9083019060208201858111156108fd57600080fd5b82518660208202830111600160201b8211171561091957600080fd5b82525081516020918201928201910280838360005b8381101561094657818101518382015260200161092e565b505050509050016040525050509050919050565b60606109668383610985565b1561097257508161097f565b61097c83836109db565b90505b92915050565b6000805b83518110156109d15783818151811061099e57fe5b60200260200101516001600160a01b0316836001600160a01b031614156109c957600191505061097f565b600101610989565b5060009392505050565b6060825160010167ffffffffffffffff811180156109f857600080fd5b50604051908082528060200260200182016040528015610a22578160200160208202803683370190505b50905060005b8351811015610a7157838181518110610a3d57fe5b6020026020010151828281518110610a5157fe5b6001600160a01b0390921660209283029190910190910152600101610a28565b508181845181518110610a8057fe5b60200260200101906001600160a01b031690816001600160a01b0316815250509291505056fea164736f6c634300060c000a", - "sourceMap": "742:3415:94:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1429:2492;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1429:2492:94;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1429:2492:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1429:2492:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1429:2492:94;;-1:-1:-1;1429:2492:94;;-1:-1:-1;;;;;1429:2492:94:i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4066:89;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4066:89:94;;;;;;;;;;;;;;;-1:-1:-1;;;4066:89:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4066:89:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4066:89:94;;-1:-1:-1;4066:89:94;;-1:-1:-1;;;;;4066:89:94:i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1429:2492;1632:34;;;1791:66;1787:2053;;1876:13;1891:14;1915:81;1964:18;1915:31;:81::i;:::-;1873:123;;;;;;;;2024:1;2015:6;:10;2011:235;;;2065:16;;;2079:1;2065:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2065:16:94;2045:36;;2122:5;2099:17;2117:1;2099:20;;;;;;;;-1:-1:-1;;;;;2099:28:94;;;;:20;;;;;;;;;;:28;2167:16;;;2181:1;2167:16;;;;;;;;;;;;;;2099:20;2167:16;;;;;-1:-1:-1;2167:16:94;2146:37;;2225:6;2201:18;2220:1;2201:21;;;;;;;;;;;;;:30;;;;;2011:235;1787:2053;;;;;2287:53;2266:9;:75;2262:1578;;;2357:18;2378:60;2419:18;2378:40;:60::i;:::-;2357:81;;2471:1;2457:11;:15;2453:475;;;2511:16;;;2525:1;2511:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2511:16:94;2492:35;;2590:17;-1:-1:-1;;;;;2567:54:94;;:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2567:56:94;2545:19;;:16;;2562:1;;2545:19;;;;;;;;;:78;-1:-1:-1;;;;;2545:78:94;;;-1:-1:-1;;;;;2545:78:94;;;;;2453:475;;;2682:16;;;2696:1;2682:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2682:16:94;2662:36;;2762:17;-1:-1:-1;;;;;2739:54:94;;:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2739:56:94;2716:20;;:17;;2734:1;;2716:20;;;;-1:-1:-1;;;;;2716:79:94;;;;:20;;;;;;;;;;:79;2835:16;;;2849:1;2835:16;;;;;;;;;;;;;;2716:20;2835:16;;;;;-1:-1:-1;2835:16:94;2814:37;;2901:11;2869:18;2888:1;2869:21;;;;;;;;;;;;;:44;;;;;2453:475;2262:1578;;;;2969:40;2948:9;:62;2944:896;;;3079:47;3107:18;3079:27;:47::i;:::-;3060:66;;3141:17;3184;-1:-1:-1;;;;;3161:54:94;;:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3161:56:94;3235:45;;;-1:-1:-1;;;3235:45:94;;-1:-1:-1;;;;;3235:45:94;;;;;;;;;3161:56;;-1:-1:-1;3283:1:94;;3235:26;;;;;;:45;;;;;3161:56;;3235:45;;;;;;;;:26;:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3235:45:94;:49;3231:148;;;3323:41;:16;3354:9;3323:30;:41::i;:::-;3304:60;;2944:896;;;;3420:40;3399:9;:62;3395:445;;;3530:47;3558:18;3530:27;:47::i;:::-;3511:66;;3592:17;3635;-1:-1:-1;;;;;3612:54:94;;:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3612:56:94;3686:45;;;-1:-1:-1;;;3686:45:94;;-1:-1:-1;;;;;3686:45:94;;;;;;;;;3612:56;;-1:-1:-1;3734:1:94;;3686:26;;;;;;:45;;;;;3612:56;;3686:45;;;;;;;;:26;:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3686:45:94;:49;3682:148;;;3774:41;:16;3805:9;3774:30;:41::i;:::-;3755:60;;3682:148;3395:445;;1429:2492;;;;;;;:::o;4066:89::-;4139:12;4066:89;;;;:::o;890:444:92:-;1017:17;1048:14;1076:15;1105:25;1144:40;1198:20;1261:11;1250:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1250:77:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1250:77:92;;;;;;-1:-1:-1;1250:77:92;;;;;;;;;;-1:-1:-1;1250:77:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1250:77:92;;;;;1243:84;;;;-1:-1:-1;1243:84:92;;-1:-1:-1;1243:84:92;;-1:-1:-1;1243:84:92;-1:-1:-1;1250:77:92;;-1:-1:-1;890:444:92;;-1:-1:-1;;;;890:444:92:o;1707:205::-;1830:19;1883:11;1872:33;;;;;;;;;;;;;;;-1:-1:-1;1872:33:92;;1707:205;-1:-1:-1;;1707:205:92:o;600:212::-;710:36;780:11;769:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;769:36:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;769:36:92;;;;;;;;;;;;-1:-1:-1;769:36:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;762:43;;600:212;;;:::o;2136:277:354:-;2250:27;2297;2306:5;2313:10;2297:8;:27::i;:::-;2293:70;;;-1:-1:-1;2347:5:354;2340:12;;2293:70;2380:26;2388:5;2395:10;2380:7;:26::i;:::-;2373:33;;2136:277;;;;;:::o;2489:299::-;2595:17;2633:9;2628:132;2648:5;:12;2644:1;:16;2628:132;;;2696:5;2702:1;2696:8;;;;;;;;;;;;;;-1:-1:-1;;;;;2685:19:354;:7;-1:-1:-1;;;;;2685:19:354;;2681:69;;;2731:4;2724:11;;;;;2681:69;2662:3;;2628:132;;;-1:-1:-1;2776:5:354;;2489:299;-1:-1:-1;;;2489:299:354:o;1668:374::-;1776:27;1846:5;:12;1861:1;1846:16;1832:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1832:31:354;;1819:44;;1878:9;1873:88;1893:5;:12;1889:1;:16;1873:88;;;1942:5;1948:1;1942:8;;;;;;;;;;;;;;1926:10;1937:1;1926:13;;;;;;;;-1:-1:-1;;;;;1926:24:354;;;:13;;;;;;;;;;;:24;1907:3;;1873:88;;;;1997:10;1970;1981:5;:12;1970:24;;;;;;;;;;;;;:37;-1:-1:-1;;;;;1970:37:354;;;-1:-1:-1;;;;;1970:37:354;;;;;1668:374;;;;:::o", - "linkReferences": {} - }, - "methodIdentifiers": { - "parseAssetsForAction(address,uint256,bytes)": "bbd2d646", - "parseInitArgs(address,bytes)": "db16c72e" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_externalPosition\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_actionId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_encodedActionArgs\",\"type\":\"bytes\"}],\"name\":\"parseAssetsForAction\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"assetsToTransfer_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amountsToTransfer_\",\"type\":\"uint256[]\"},{\"internalType\":\"address[]\",\"name\":\"assetsToReceive_\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"parseInitArgs\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"parseAssetsForAction(address,uint256,bytes)\":{\"params\":{\"_actionId\":\"The _actionId for the callOnExternalPosition\",\"_encodedActionArgs\":\"The encoded parameters for the callOnExternalPosition\",\"_externalPosition\":\"The _externalPosition to be called\"},\"returns\":{\"amountsToTransfer_\":\"The amounts to be transferred from the Vault\",\"assetsToReceive_\":\"The assets to be received at the Vault\",\"assetsToTransfer_\":\"The assets to be transferred from the Vault\"}},\"parseInitArgs(address,bytes)\":{\"details\":\"Unused\"}},\"title\":\"ArbitraryLoanPositionParser\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"parseAssetsForAction(address,uint256,bytes)\":{\"notice\":\"Parses the assets to send and receive for the callOnExternalPosition\"},\"parseInitArgs(address,bytes)\":{\"notice\":\"Parse and validate input arguments to be used when initializing a newly-deployed ExternalPositionProxy\"}},\"notice\":\"Parser contract for ArbitraryLoanPosition\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/arbitrary-loan/ArbitraryLoanPositionParser.sol\":\"ArbitraryLoanPositionParser\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/address-list-registry/AddressListRegistry.sol\":{\"keccak256\":\"0xf00a9e376e3ec2a223f463f71c15ee3af3642dd028bc3762440e316b760c8048\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://01986c9327b5dfbfac21316dced6d68727931ddde1278ed1342d878004f984b9\",\"dweb:/ipfs/QmdXkFaUU43JqMTYEREbWa129rohdqN7GXy7mVRpjCfSLD\"]},\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/release/extensions/external-position-manager/external-positions/IExternalPositionParser.sol\":{\"keccak256\":\"0x1662fbd65841ee5e9cf8d5329b9d04c264b24ef68ae1e0484e59a8969b0d2c46\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://580569b0f875e0344db83fae1e72dcc6c0767a049b2a6cc3e4f3c411d2284b27\",\"dweb:/ipfs/QmXFmF9QbcVsPHaBo1iq8sZHYhDkwfkMZpHmLTuJJ37NvZ\"]},\"contracts/release/extensions/external-position-manager/external-positions/arbitrary-loan/ArbitraryLoanPositionDataDecoder.sol\":{\"keccak256\":\"0xef4f598d56281e2e8221170dad687a0db70d3adc9966b8280afdbd968f93be11\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://439ae7e28086dc3df565dd23f41945920447ab48f12a4688497e49cda3fee6a0\",\"dweb:/ipfs/QmR361jpyXyym1ectcCRRCotdyHir95HePSEErEpVhcopr\"]},\"contracts/release/extensions/external-position-manager/external-positions/arbitrary-loan/ArbitraryLoanPositionParser.sol\":{\"keccak256\":\"0x3a78cf493bb80a9373b902e3211dbc3d39e821e651b7e241a8c06527742feee7\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://7d27cd2f4d159fc762b0dc67d989da97637aa51e95512735af7e4e65bd2308d9\",\"dweb:/ipfs/QmR86DQdE1zWTXt6Qkv8oYaAJrXwHjSPzUUVmasoRnQsEc\"]},\"contracts/release/extensions/external-position-manager/external-positions/arbitrary-loan/IArbitraryLoanPosition.sol\":{\"keccak256\":\"0xb1226be44c1d6ddff3db0bb1288c1aa5b8e5a5506b1dcf0fc7def95932036481\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://e3c7a393c5aa08cdaddf39d17066d3caeb1aba6f6c70f56d6e188059edd46bcb\",\"dweb:/ipfs/QmepBkEjBTNCAG5unqLwcyJ8pFGskcfLuFGdMWMKCyKA6H\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_externalPosition", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_actionId", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_encodedActionArgs", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "parseAssetsForAction", - "outputs": [ - { - "internalType": "address[]", - "name": "assetsToTransfer_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "amountsToTransfer_", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "assetsToReceive_", - "type": "address[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "parseInitArgs", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "parseAssetsForAction(address,uint256,bytes)": { - "params": { - "_actionId": "The _actionId for the callOnExternalPosition", - "_encodedActionArgs": "The encoded parameters for the callOnExternalPosition", - "_externalPosition": "The _externalPosition to be called" - }, - "returns": { - "amountsToTransfer_": "The amounts to be transferred from the Vault", - "assetsToReceive_": "The assets to be received at the Vault", - "assetsToTransfer_": "The assets to be transferred from the Vault" - } - }, - "parseInitArgs(address,bytes)": { - "details": "Unused" - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "parseAssetsForAction(address,uint256,bytes)": { - "notice": "Parses the assets to send and receive for the callOnExternalPosition" - }, - "parseInitArgs(address,bytes)": { - "notice": "Parse and validate input arguments to be used when initializing a newly-deployed ExternalPositionProxy" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/external-position-manager/external-positions/arbitrary-loan/ArbitraryLoanPositionParser.sol": "ArbitraryLoanPositionParser" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/address-list-registry/AddressListRegistry.sol": { - "keccak256": "0xf00a9e376e3ec2a223f463f71c15ee3af3642dd028bc3762440e316b760c8048", - "urls": [ - "bzz-raw://01986c9327b5dfbfac21316dced6d68727931ddde1278ed1342d878004f984b9", - "dweb:/ipfs/QmdXkFaUU43JqMTYEREbWa129rohdqN7GXy7mVRpjCfSLD" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/dispatcher/IDispatcher.sol": { - "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", - "urls": [ - "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", - "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/external-positions/IExternalPosition.sol": { - "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", - "urls": [ - "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", - "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/IExternalPositionParser.sol": { - "keccak256": "0x1662fbd65841ee5e9cf8d5329b9d04c264b24ef68ae1e0484e59a8969b0d2c46", - "urls": [ - "bzz-raw://580569b0f875e0344db83fae1e72dcc6c0767a049b2a6cc3e4f3c411d2284b27", - "dweb:/ipfs/QmXFmF9QbcVsPHaBo1iq8sZHYhDkwfkMZpHmLTuJJ37NvZ" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/arbitrary-loan/ArbitraryLoanPositionDataDecoder.sol": { - "keccak256": "0xef4f598d56281e2e8221170dad687a0db70d3adc9966b8280afdbd968f93be11", - "urls": [ - "bzz-raw://439ae7e28086dc3df565dd23f41945920447ab48f12a4688497e49cda3fee6a0", - "dweb:/ipfs/QmR361jpyXyym1ectcCRRCotdyHir95HePSEErEpVhcopr" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/arbitrary-loan/ArbitraryLoanPositionParser.sol": { - "keccak256": "0x3a78cf493bb80a9373b902e3211dbc3d39e821e651b7e241a8c06527742feee7", - "urls": [ - "bzz-raw://7d27cd2f4d159fc762b0dc67d989da97637aa51e95512735af7e4e65bd2308d9", - "dweb:/ipfs/QmR86DQdE1zWTXt6Qkv8oYaAJrXwHjSPzUUVmasoRnQsEc" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/arbitrary-loan/IArbitraryLoanPosition.sol": { - "keccak256": "0xb1226be44c1d6ddff3db0bb1288c1aa5b8e5a5506b1dcf0fc7def95932036481", - "urls": [ - "bzz-raw://e3c7a393c5aa08cdaddf39d17066d3caeb1aba6f6c70f56d6e188059edd46bcb", - "dweb:/ipfs/QmepBkEjBTNCAG5unqLwcyJ8pFGskcfLuFGdMWMKCyKA6H" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AddressArrayLib.sol": { - "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", - "urls": [ - "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", - "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 94 -} +{ "abi": [ { "type": "function", "name": "parseAssetsForAction", "inputs": [ { "name": "_externalPosition", "type": "address", "internalType": "address" }, { "name": "_actionId", "type": "uint256", "internalType": "uint256" }, { "name": "_encodedActionArgs", "type": "bytes", "internalType": "bytes" } ], "outputs": [ { "name": "assetsToTransfer_", "type": "address[]", "internalType": "address[]" }, { "name": "amountsToTransfer_", "type": "uint256[]", "internalType": "uint256[]" }, { "name": "assetsToReceive_", "type": "address[]", "internalType": "address[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "parseInitArgs", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [ { "name": "", "type": "bytes", "internalType": "bytes" } ], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x608060405234801561001057600080fd5b50610ab3806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063bbd2d6461461003b578063db16c72e146101d2575b600080fd5b6100f46004803603606081101561005157600080fd5b6001600160a01b0382351691602081013591810190606081016040820135600160201b81111561008057600080fd5b82018360208201111561009257600080fd5b803590602001918460018302840111600160201b831117156100b357600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506102fb945050505050565b60405180806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b8381101561013c578181015183820152602001610124565b50505050905001848103835286818151815260200191508051906020019060200280838360005b8381101561017b578181015183820152602001610163565b50505050905001848103825285818151815260200191508051906020019060200280838360005b838110156101ba5781810151838201526020016101a2565b50505050905001965050505050505060405180910390f35b610286600480360360408110156101e857600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561021257600080fd5b82018360208201111561022457600080fd5b803590602001918460018302840111600160201b8311171561024557600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955061078a945050505050565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102c05781810151838201526020016102a8565b50505050905090810190601f1680156102ed5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b60608080846103a75760008061031086610792565b505050925092505060008111156103a0576040805160018082528183019092529060208083019080368337019050509450818560008151811061034f57fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509350808460008151811061039357fe5b6020026020010181815250505b5050610781565b60018514156105665760006103bb85610893565b9050600081121561047d576040805160018082528183019092529060208083019080368337019050509150866001600160a01b031663acf8982e6040518163ffffffff1660e01b815260040160206040518083038186803b15801561041f57600080fd5b505afa158015610433573d6000803e3d6000fd5b505050506040513d602081101561044957600080fd5b50518251839060009061045857fe5b60200260200101906001600160a01b031690816001600160a01b031681525050610560565b6040805160018082528183019092529060208083019080368337019050509350866001600160a01b031663acf8982e6040518163ffffffff1660e01b815260040160206040518083038186803b1580156104d657600080fd5b505afa1580156104ea573d6000803e3d6000fd5b505050506040513d602081101561050057600080fd5b50518451859060009061050f57fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509250808360008151811061055357fe5b6020026020010181815250505b50610781565b600485141561067557610578846108b2565b90506000866001600160a01b031663acf8982e6040518163ffffffff1660e01b815260040160206040518083038186803b1580156105b557600080fd5b505afa1580156105c9573d6000803e3d6000fd5b505050506040513d60208110156105df57600080fd5b5051604080516370a0823160e01b81526001600160a01b038a811660048301529151929350600092918416916370a0823191602480820192602092909190829003018186803b15801561063157600080fd5b505afa158015610645573d6000803e3d6000fd5b505050506040513d602081101561065b57600080fd5b505111156105605761066d828261095a565b915050610781565b600385141561078157610687846108b2565b90506000866001600160a01b031663acf8982e6040518163ffffffff1660e01b815260040160206040518083038186803b1580156106c457600080fd5b505afa1580156106d8573d6000803e3d6000fd5b505050506040513d60208110156106ee57600080fd5b5051604080516370a0823160e01b81526001600160a01b038a811660048301529151929350600092918416916370a0823191602480820192602092909190829003018186803b15801561074057600080fd5b505afa158015610754573d6000803e3d6000fd5b505050506040513d602081101561076a57600080fd5b5051111561077f5761077c828261095a565b91505b505b93509350939050565b606092915050565b600080600080606060008680602001905160c08110156107b157600080fd5b8151602083015160408085015160608601516080870180519351959794969295919491939282019284600160201b8211156107eb57600080fd5b90830190602082018581111561080057600080fd5b8251600160201b81118282018810171561081957600080fd5b82525081516020918201929091019080838360005b8381101561084657818101518382015260200161082e565b50505050905090810190601f1680156108735780820380516001836020036101000a031916815260200191505b5060405260200151969e959d50939b509199509750929550909350505050565b60008180602001905160208110156108aa57600080fd5b505192915050565b60608180602001905160208110156108c957600080fd5b8101908080516040519392919084600160201b8211156108e857600080fd5b9083019060208201858111156108fd57600080fd5b82518660208202830111600160201b8211171561091957600080fd5b82525081516020918201928201910280838360005b8381101561094657818101518382015260200161092e565b505050509050016040525050509050919050565b60606109668383610985565b1561097257508161097f565b61097c83836109db565b90505b92915050565b6000805b83518110156109d15783818151811061099e57fe5b60200260200101516001600160a01b0316836001600160a01b031614156109c957600191505061097f565b600101610989565b5060009392505050565b6060825160010167ffffffffffffffff811180156109f857600080fd5b50604051908082528060200260200182016040528015610a22578160200160208202803683370190505b50905060005b8351811015610a7157838181518110610a3d57fe5b6020026020010151828281518110610a5157fe5b6001600160a01b0390921660209283029190910190910152600101610a28565b508181845181518110610a8057fe5b60200260200101906001600160a01b031690816001600160a01b0316815250509291505056fea164736f6c634300060c000a", "sourceMap": "742:3415:94:-:0;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c8063bbd2d6461461003b578063db16c72e146101d2575b600080fd5b6100f46004803603606081101561005157600080fd5b6001600160a01b0382351691602081013591810190606081016040820135600160201b81111561008057600080fd5b82018360208201111561009257600080fd5b803590602001918460018302840111600160201b831117156100b357600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506102fb945050505050565b60405180806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b8381101561013c578181015183820152602001610124565b50505050905001848103835286818151815260200191508051906020019060200280838360005b8381101561017b578181015183820152602001610163565b50505050905001848103825285818151815260200191508051906020019060200280838360005b838110156101ba5781810151838201526020016101a2565b50505050905001965050505050505060405180910390f35b610286600480360360408110156101e857600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561021257600080fd5b82018360208201111561022457600080fd5b803590602001918460018302840111600160201b8311171561024557600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955061078a945050505050565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102c05781810151838201526020016102a8565b50505050905090810190601f1680156102ed5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b60608080846103a75760008061031086610792565b505050925092505060008111156103a0576040805160018082528183019092529060208083019080368337019050509450818560008151811061034f57fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509350808460008151811061039357fe5b6020026020010181815250505b5050610781565b60018514156105665760006103bb85610893565b9050600081121561047d576040805160018082528183019092529060208083019080368337019050509150866001600160a01b031663acf8982e6040518163ffffffff1660e01b815260040160206040518083038186803b15801561041f57600080fd5b505afa158015610433573d6000803e3d6000fd5b505050506040513d602081101561044957600080fd5b50518251839060009061045857fe5b60200260200101906001600160a01b031690816001600160a01b031681525050610560565b6040805160018082528183019092529060208083019080368337019050509350866001600160a01b031663acf8982e6040518163ffffffff1660e01b815260040160206040518083038186803b1580156104d657600080fd5b505afa1580156104ea573d6000803e3d6000fd5b505050506040513d602081101561050057600080fd5b50518451859060009061050f57fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509250808360008151811061055357fe5b6020026020010181815250505b50610781565b600485141561067557610578846108b2565b90506000866001600160a01b031663acf8982e6040518163ffffffff1660e01b815260040160206040518083038186803b1580156105b557600080fd5b505afa1580156105c9573d6000803e3d6000fd5b505050506040513d60208110156105df57600080fd5b5051604080516370a0823160e01b81526001600160a01b038a811660048301529151929350600092918416916370a0823191602480820192602092909190829003018186803b15801561063157600080fd5b505afa158015610645573d6000803e3d6000fd5b505050506040513d602081101561065b57600080fd5b505111156105605761066d828261095a565b915050610781565b600385141561078157610687846108b2565b90506000866001600160a01b031663acf8982e6040518163ffffffff1660e01b815260040160206040518083038186803b1580156106c457600080fd5b505afa1580156106d8573d6000803e3d6000fd5b505050506040513d60208110156106ee57600080fd5b5051604080516370a0823160e01b81526001600160a01b038a811660048301529151929350600092918416916370a0823191602480820192602092909190829003018186803b15801561074057600080fd5b505afa158015610754573d6000803e3d6000fd5b505050506040513d602081101561076a57600080fd5b5051111561077f5761077c828261095a565b91505b505b93509350939050565b606092915050565b600080600080606060008680602001905160c08110156107b157600080fd5b8151602083015160408085015160608601516080870180519351959794969295919491939282019284600160201b8211156107eb57600080fd5b90830190602082018581111561080057600080fd5b8251600160201b81118282018810171561081957600080fd5b82525081516020918201929091019080838360005b8381101561084657818101518382015260200161082e565b50505050905090810190601f1680156108735780820380516001836020036101000a031916815260200191505b5060405260200151969e959d50939b509199509750929550909350505050565b60008180602001905160208110156108aa57600080fd5b505192915050565b60608180602001905160208110156108c957600080fd5b8101908080516040519392919084600160201b8211156108e857600080fd5b9083019060208201858111156108fd57600080fd5b82518660208202830111600160201b8211171561091957600080fd5b82525081516020918201928201910280838360005b8381101561094657818101518382015260200161092e565b505050509050016040525050509050919050565b60606109668383610985565b1561097257508161097f565b61097c83836109db565b90505b92915050565b6000805b83518110156109d15783818151811061099e57fe5b60200260200101516001600160a01b0316836001600160a01b031614156109c957600191505061097f565b600101610989565b5060009392505050565b6060825160010167ffffffffffffffff811180156109f857600080fd5b50604051908082528060200260200182016040528015610a22578160200160208202803683370190505b50905060005b8351811015610a7157838181518110610a3d57fe5b6020026020010151828281518110610a5157fe5b6001600160a01b0390921660209283029190910190910152600101610a28565b508181845181518110610a8057fe5b60200260200101906001600160a01b031690816001600160a01b0316815250509291505056fea164736f6c634300060c000a", "sourceMap": "742:3415:94:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1429:2492;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1429:2492:94;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1429:2492:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1429:2492:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1429:2492:94;;-1:-1:-1;1429:2492:94;;-1:-1:-1;;;;;1429:2492:94:i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4066:89;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4066:89:94;;;;;;;;;;;;;;;-1:-1:-1;;;4066:89:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4066:89:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4066:89:94;;-1:-1:-1;4066:89:94;;-1:-1:-1;;;;;4066:89:94:i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1429:2492;1632:34;;;1791:66;1787:2053;;1876:13;1891:14;1915:81;1964:18;1915:31;:81::i;:::-;1873:123;;;;;;;;2024:1;2015:6;:10;2011:235;;;2065:16;;;2079:1;2065:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2065:16:94;2045:36;;2122:5;2099:17;2117:1;2099:20;;;;;;;;-1:-1:-1;;;;;2099:28:94;;;;:20;;;;;;;;;;:28;2167:16;;;2181:1;2167:16;;;;;;;;;;;;;;2099:20;2167:16;;;;;-1:-1:-1;2167:16:94;2146:37;;2225:6;2201:18;2220:1;2201:21;;;;;;;;;;;;;:30;;;;;2011:235;1787:2053;;;;;2287:53;2266:9;:75;2262:1578;;;2357:18;2378:60;2419:18;2378:40;:60::i;:::-;2357:81;;2471:1;2457:11;:15;2453:475;;;2511:16;;;2525:1;2511:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2511:16:94;2492:35;;2590:17;-1:-1:-1;;;;;2567:54:94;;:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2567:56:94;2545:19;;:16;;2562:1;;2545:19;;;;;;;;;:78;-1:-1:-1;;;;;2545:78:94;;;-1:-1:-1;;;;;2545:78:94;;;;;2453:475;;;2682:16;;;2696:1;2682:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2682:16:94;2662:36;;2762:17;-1:-1:-1;;;;;2739:54:94;;:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2739:56:94;2716:20;;:17;;2734:1;;2716:20;;;;-1:-1:-1;;;;;2716:79:94;;;;:20;;;;;;;;;;:79;2835:16;;;2849:1;2835:16;;;;;;;;;;;;;;2716:20;2835:16;;;;;-1:-1:-1;2835:16:94;2814:37;;2901:11;2869:18;2888:1;2869:21;;;;;;;;;;;;;:44;;;;;2453:475;2262:1578;;;;2969:40;2948:9;:62;2944:896;;;3079:47;3107:18;3079:27;:47::i;:::-;3060:66;;3141:17;3184;-1:-1:-1;;;;;3161:54:94;;:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3161:56:94;3235:45;;;-1:-1:-1;;;3235:45:94;;-1:-1:-1;;;;;3235:45:94;;;;;;;;;3161:56;;-1:-1:-1;3283:1:94;;3235:26;;;;;;:45;;;;;3161:56;;3235:45;;;;;;;;:26;:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3235:45:94;:49;3231:148;;;3323:41;:16;3354:9;3323:30;:41::i;:::-;3304:60;;2944:896;;;;3420:40;3399:9;:62;3395:445;;;3530:47;3558:18;3530:27;:47::i;:::-;3511:66;;3592:17;3635;-1:-1:-1;;;;;3612:54:94;;:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3612:56:94;3686:45;;;-1:-1:-1;;;3686:45:94;;-1:-1:-1;;;;;3686:45:94;;;;;;;;;3612:56;;-1:-1:-1;3734:1:94;;3686:26;;;;;;:45;;;;;3612:56;;3686:45;;;;;;;;:26;:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3686:45:94;:49;3682:148;;;3774:41;:16;3805:9;3774:30;:41::i;:::-;3755:60;;3682:148;3395:445;;1429:2492;;;;;;;:::o;4066:89::-;4139:12;4066:89;;;;:::o;890:444:92:-;1017:17;1048:14;1076:15;1105:25;1144:40;1198:20;1261:11;1250:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1250:77:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1250:77:92;;;;;;-1:-1:-1;1250:77:92;;;;;;;;;;-1:-1:-1;1250:77:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1250:77:92;;;;;1243:84;;;;-1:-1:-1;1243:84:92;;-1:-1:-1;1243:84:92;;-1:-1:-1;1243:84:92;-1:-1:-1;1250:77:92;;-1:-1:-1;890:444:92;;-1:-1:-1;;;;890:444:92:o;1707:205::-;1830:19;1883:11;1872:33;;;;;;;;;;;;;;;-1:-1:-1;1872:33:92;;1707:205;-1:-1:-1;;1707:205:92:o;600:212::-;710:36;780:11;769:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;769:36:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;769:36:92;;;;;;;;;;;;-1:-1:-1;769:36:92;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;762:43;;600:212;;;:::o;2136:277:354:-;2250:27;2297;2306:5;2313:10;2297:8;:27::i;:::-;2293:70;;;-1:-1:-1;2347:5:354;2340:12;;2293:70;2380:26;2388:5;2395:10;2380:7;:26::i;:::-;2373:33;;2136:277;;;;;:::o;2489:299::-;2595:17;2633:9;2628:132;2648:5;:12;2644:1;:16;2628:132;;;2696:5;2702:1;2696:8;;;;;;;;;;;;;;-1:-1:-1;;;;;2685:19:354;:7;-1:-1:-1;;;;;2685:19:354;;2681:69;;;2731:4;2724:11;;;;;2681:69;2662:3;;2628:132;;;-1:-1:-1;2776:5:354;;2489:299;-1:-1:-1;;;2489:299:354:o;1668:374::-;1776:27;1846:5;:12;1861:1;1846:16;1832:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1832:31:354;;1819:44;;1878:9;1873:88;1893:5;:12;1889:1;:16;1873:88;;;1942:5;1948:1;1942:8;;;;;;;;;;;;;;1926:10;1937:1;1926:13;;;;;;;;-1:-1:-1;;;;;1926:24:354;;;:13;;;;;;;;;;;:24;1907:3;;1873:88;;;;1997:10;1970;1981:5;:12;1970:24;;;;;;;;;;;;;:37;-1:-1:-1;;;;;1970:37:354;;;-1:-1:-1;;;;;1970:37:354;;;;;1668:374;;;;:::o", "linkReferences": {} }, "methodIdentifiers": { "parseAssetsForAction(address,uint256,bytes)": "bbd2d646", "parseInitArgs(address,bytes)": "db16c72e" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_externalPosition\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_actionId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_encodedActionArgs\",\"type\":\"bytes\"}],\"name\":\"parseAssetsForAction\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"assetsToTransfer_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amountsToTransfer_\",\"type\":\"uint256[]\"},{\"internalType\":\"address[]\",\"name\":\"assetsToReceive_\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"parseInitArgs\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"parseAssetsForAction(address,uint256,bytes)\":{\"params\":{\"_actionId\":\"The _actionId for the callOnExternalPosition\",\"_encodedActionArgs\":\"The encoded parameters for the callOnExternalPosition\",\"_externalPosition\":\"The _externalPosition to be called\"},\"returns\":{\"amountsToTransfer_\":\"The amounts to be transferred from the Vault\",\"assetsToReceive_\":\"The assets to be received at the Vault\",\"assetsToTransfer_\":\"The assets to be transferred from the Vault\"}},\"parseInitArgs(address,bytes)\":{\"details\":\"Unused\"}},\"title\":\"ArbitraryLoanPositionParser\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"parseAssetsForAction(address,uint256,bytes)\":{\"notice\":\"Parses the assets to send and receive for the callOnExternalPosition\"},\"parseInitArgs(address,bytes)\":{\"notice\":\"Parse and validate input arguments to be used when initializing a newly-deployed ExternalPositionProxy\"}},\"notice\":\"Parser contract for ArbitraryLoanPosition\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/arbitrary-loan/ArbitraryLoanPositionParser.sol\":\"ArbitraryLoanPositionParser\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/address-list-registry/AddressListRegistry.sol\":{\"keccak256\":\"0xf00a9e376e3ec2a223f463f71c15ee3af3642dd028bc3762440e316b760c8048\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://01986c9327b5dfbfac21316dced6d68727931ddde1278ed1342d878004f984b9\",\"dweb:/ipfs/QmdXkFaUU43JqMTYEREbWa129rohdqN7GXy7mVRpjCfSLD\"]},\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/release/extensions/external-position-manager/external-positions/IExternalPositionParser.sol\":{\"keccak256\":\"0x1662fbd65841ee5e9cf8d5329b9d04c264b24ef68ae1e0484e59a8969b0d2c46\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://580569b0f875e0344db83fae1e72dcc6c0767a049b2a6cc3e4f3c411d2284b27\",\"dweb:/ipfs/QmXFmF9QbcVsPHaBo1iq8sZHYhDkwfkMZpHmLTuJJ37NvZ\"]},\"contracts/release/extensions/external-position-manager/external-positions/arbitrary-loan/ArbitraryLoanPositionDataDecoder.sol\":{\"keccak256\":\"0xef4f598d56281e2e8221170dad687a0db70d3adc9966b8280afdbd968f93be11\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://439ae7e28086dc3df565dd23f41945920447ab48f12a4688497e49cda3fee6a0\",\"dweb:/ipfs/QmR361jpyXyym1ectcCRRCotdyHir95HePSEErEpVhcopr\"]},\"contracts/release/extensions/external-position-manager/external-positions/arbitrary-loan/ArbitraryLoanPositionParser.sol\":{\"keccak256\":\"0x3a78cf493bb80a9373b902e3211dbc3d39e821e651b7e241a8c06527742feee7\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://7d27cd2f4d159fc762b0dc67d989da97637aa51e95512735af7e4e65bd2308d9\",\"dweb:/ipfs/QmR86DQdE1zWTXt6Qkv8oYaAJrXwHjSPzUUVmasoRnQsEc\"]},\"contracts/release/extensions/external-position-manager/external-positions/arbitrary-loan/IArbitraryLoanPosition.sol\":{\"keccak256\":\"0xb1226be44c1d6ddff3db0bb1288c1aa5b8e5a5506b1dcf0fc7def95932036481\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://e3c7a393c5aa08cdaddf39d17066d3caeb1aba6f6c70f56d6e188059edd46bcb\",\"dweb:/ipfs/QmepBkEjBTNCAG5unqLwcyJ8pFGskcfLuFGdMWMKCyKA6H\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_externalPosition", "type": "address" }, { "internalType": "uint256", "name": "_actionId", "type": "uint256" }, { "internalType": "bytes", "name": "_encodedActionArgs", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "parseAssetsForAction", "outputs": [ { "internalType": "address[]", "name": "assetsToTransfer_", "type": "address[]" }, { "internalType": "uint256[]", "name": "amountsToTransfer_", "type": "uint256[]" }, { "internalType": "address[]", "name": "assetsToReceive_", "type": "address[]" } ] }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "parseInitArgs", "outputs": [ { "internalType": "bytes", "name": "", "type": "bytes" } ] } ], "devdoc": { "kind": "dev", "methods": { "parseAssetsForAction(address,uint256,bytes)": { "params": { "_actionId": "The _actionId for the callOnExternalPosition", "_encodedActionArgs": "The encoded parameters for the callOnExternalPosition", "_externalPosition": "The _externalPosition to be called" }, "returns": { "amountsToTransfer_": "The amounts to be transferred from the Vault", "assetsToReceive_": "The assets to be received at the Vault", "assetsToTransfer_": "The assets to be transferred from the Vault" } }, "parseInitArgs(address,bytes)": { "details": "Unused" } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "parseAssetsForAction(address,uint256,bytes)": { "notice": "Parses the assets to send and receive for the callOnExternalPosition" }, "parseInitArgs(address,bytes)": { "notice": "Parse and validate input arguments to be used when initializing a newly-deployed ExternalPositionProxy" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/external-position-manager/external-positions/arbitrary-loan/ArbitraryLoanPositionParser.sol": "ArbitraryLoanPositionParser" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/address-list-registry/AddressListRegistry.sol": { "keccak256": "0xf00a9e376e3ec2a223f463f71c15ee3af3642dd028bc3762440e316b760c8048", "urls": [ "bzz-raw://01986c9327b5dfbfac21316dced6d68727931ddde1278ed1342d878004f984b9", "dweb:/ipfs/QmdXkFaUU43JqMTYEREbWa129rohdqN7GXy7mVRpjCfSLD" ], "license": "GPL-3.0" }, "contracts/persistent/dispatcher/IDispatcher.sol": { "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", "urls": [ "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" ], "license": "GPL-3.0" }, "contracts/persistent/external-positions/IExternalPosition.sol": { "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", "urls": [ "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/IExternalPositionParser.sol": { "keccak256": "0x1662fbd65841ee5e9cf8d5329b9d04c264b24ef68ae1e0484e59a8969b0d2c46", "urls": [ "bzz-raw://580569b0f875e0344db83fae1e72dcc6c0767a049b2a6cc3e4f3c411d2284b27", "dweb:/ipfs/QmXFmF9QbcVsPHaBo1iq8sZHYhDkwfkMZpHmLTuJJ37NvZ" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/arbitrary-loan/ArbitraryLoanPositionDataDecoder.sol": { "keccak256": "0xef4f598d56281e2e8221170dad687a0db70d3adc9966b8280afdbd968f93be11", "urls": [ "bzz-raw://439ae7e28086dc3df565dd23f41945920447ab48f12a4688497e49cda3fee6a0", "dweb:/ipfs/QmR361jpyXyym1ectcCRRCotdyHir95HePSEErEpVhcopr" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/arbitrary-loan/ArbitraryLoanPositionParser.sol": { "keccak256": "0x3a78cf493bb80a9373b902e3211dbc3d39e821e651b7e241a8c06527742feee7", "urls": [ "bzz-raw://7d27cd2f4d159fc762b0dc67d989da97637aa51e95512735af7e4e65bd2308d9", "dweb:/ipfs/QmR86DQdE1zWTXt6Qkv8oYaAJrXwHjSPzUUVmasoRnQsEc" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/arbitrary-loan/IArbitraryLoanPosition.sol": { "keccak256": "0xb1226be44c1d6ddff3db0bb1288c1aa5b8e5a5506b1dcf0fc7def95932036481", "urls": [ "bzz-raw://e3c7a393c5aa08cdaddf39d17066d3caeb1aba6f6c70f56d6e188059edd46bcb", "dweb:/ipfs/QmepBkEjBTNCAG5unqLwcyJ8pFGskcfLuFGdMWMKCyKA6H" ], "license": "GPL-3.0" }, "contracts/release/utils/AddressArrayLib.sol": { "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", "urls": [ "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" } }, "version": 1 }, "id": 94 } diff --git a/eth_defi/abi/enzyme/ArbitraryLoanTotalNominalDeltaOracleModule.json b/eth_defi/abi/enzyme/ArbitraryLoanTotalNominalDeltaOracleModule.json index a8fdf20f..7737b06d 100644 --- a/eth_defi/abi/enzyme/ArbitraryLoanTotalNominalDeltaOracleModule.json +++ b/eth_defi/abi/enzyme/ArbitraryLoanTotalNominalDeltaOracleModule.json @@ -1,611 +1 @@ -{ - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "loan", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "oracle", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint32", - "name": "stalenessThreshold", - "type": "uint32" - } - ], - "name": "OracleSetForLoan", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_totalBorrowed", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_totalRepaid", - "type": "uint256" - } - ], - "name": "calcFaceValue", - "outputs": [ - { - "internalType": "uint256", - "name": "faceValue_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "_configData", - "type": "bytes" - } - ], - "name": "configure", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_loan", - "type": "address" - } - ], - "name": "getOracleInfoForLoan", - "outputs": [ - { - "components": [ - { - "internalType": "address", - "name": "oracle", - "type": "address" - }, - { - "internalType": "uint32", - "name": "stalenessThreshold", - "type": "uint32" - } - ], - "internalType": "struct ArbitraryLoanTotalNominalDeltaOracleModule.OracleInfo", - "name": "oracleInfo_", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "preBorrow", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "preClose", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_repayableLoanAssetAmount", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "", - "type": "address[]" - } - ], - "name": "preReconcile", - "outputs": [ - { - "internalType": "uint256", - "name": "repayAmount_", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_totalBorrowed", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_prevTotalRepaid", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_repayAmountInput", - "type": "uint256" - } - ], - "name": "preRepay", - "outputs": [ - { - "internalType": "uint256", - "name": "repayAmount_", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "receiveCallFromLoan", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x608060405234801561001057600080fd5b50610b13806100206000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c80638602074e1161005b5780638602074e146100f15780639e950b2214610104578063b70d1c7e14610117578063e00c34901461013757610088565b80631324041c1461008d5780631770ac3a146100b657806346739e73146100cb5780637bb6668e146100de575b600080fd5b6100a061009b36600461073b565b61014a565b6040516100ad9190610a3a565b60405180910390f35b6100c96100c436600461070b565b610172565b005b6100c96100d9366004610688565b610176565b6100a06100ec36600461070b565b61026d565b6100c96100ff36600461073b565b610283565b6100c9610112366004610688565b610288565b61012a610125366004610628565b6102a0565b6040516100ad9190610a2c565b6100a0610145366004610788565b6102ea565b6000600019821415610168576101613385856102f3565b905061016b565b50805b9392505050565b5050565b600033905060008083806020019051810190610192919061064e565b90925090506001600160a01b0382166101c65760405162461bcd60e51b81526004016101bd906109ec565b60405180910390fd5b6040805180820182526001600160a01b0384811680835263ffffffff8581166020808601918252898516600081815291829052908790209551865492516001600160a01b031990931695169490941763ffffffff60a01b1916600160a01b91909216021790925591519091907fb28cf685cf80ef726582ae8f60c1ee6dfdb57895eac21aa2c752d93495196eb69061025f908590610a48565b60405180910390a350505050565b600061027a3384846102f3565b90505b92915050565b505050565b60405162461bcd60e51b81526004016101bd90610a0c565b6102a861053d565b506001600160a01b03908116600090815260208181526040918290208251808401909352549283168252600160a01b90920463ffffffff169181019190915290565b50909392505050565b60006102fd61053d565b610306856102a0565b9050600080826020015163ffffffff1611156103d957600082600001516001600160a01b0316634def98556040518163ffffffff1660e01b8152600401604080518083038186803b15801561035a57600080fd5b505afa15801561036e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061039291906106db565b90925090506103a14282610489565b836020015163ffffffff161015806103b7575081155b6103d35760405162461bcd60e51b81526004016101bd906109cc565b50610451565b81600001516001600160a01b031663209652556040518163ffffffff1660e01b815260040160206040518083038186803b15801561041657600080fd5b505afa15801561042a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061044e91906106bd565b90505b60006104678561046188856104b1565b906104f7565b9050600081131561047c57925061016b915050565b5060009695505050505050565b6000828211156104ab5760405162461bcd60e51b81526004016101bd906109fc565b50900390565b60008282018183128015906104c65750838112155b806104db57506000831280156104db57508381125b61027a5760405162461bcd60e51b81526004016101bd906109dc565b600081830381831280159061050c5750838113155b80610521575060008312801561052157508381135b61027a5760405162461bcd60e51b81526004016101bd90610a1c565b604080518082019091526000808252602082015290565b803561027d81610add565b805161027d81610add565b60008083601f84011261057c57600080fd5b50813567ffffffffffffffff81111561059457600080fd5b6020830191508360208202830111156105ac57600080fd5b9250929050565b600082601f8301126105c457600080fd5b81356105d76105d282610a7d565b610a56565b915080825260208301602083018583830111156105f357600080fd5b6105fe838284610ad1565b50505092915050565b805161027d81610af4565b803561027d81610af4565b805161027d81610afd565b60006020828403121561063a57600080fd5b60006106468484610554565b949350505050565b6000806040838503121561066157600080fd5b600061066d858561055f565b925050602061067e8582860161061d565b9150509250929050565b60006020828403121561069a57600080fd5b813567ffffffffffffffff8111156106b157600080fd5b610646848285016105b3565b6000602082840312156106cf57600080fd5b60006106468484610607565b600080604083850312156106ee57600080fd5b60006106fa8585610607565b925050602061067e85828601610607565b6000806040838503121561071e57600080fd5b600061072a8585610612565b925050602061067e85828601610612565b60008060006060848603121561075057600080fd5b600061075c8686610612565b935050602061076d86828701610612565b925050604061077e86828701610612565b9150509250925092565b6000806000806000608086880312156107a057600080fd5b60006107ac8888610612565b95505060206107bd88828901610612565b94505060406107ce88828901610612565b935050606086013567ffffffffffffffff8111156107eb57600080fd5b6107f78882890161056a565b92509250509295509295909350565b61080f81610aae565b82525050565b6000610822601b83610aa5565b7f63616c634661636556616c75653a205374616c65206f7261636c650000000000815260200192915050565b600061085b602183610aa5565b7f5369676e6564536166654d6174683a206164646974696f6e206f766572666c6f8152607760f81b602082015260400192915050565b600061089e601783610aa5565b7f636f6e6669677572653a20456d707479206f7261636c65000000000000000000815260200192915050565b60006108d7601e83610aa5565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000610910602583610aa5565b7f7265636569766543616c6c46726f6d4c6f616e3a20496e76616c6964206163748152641a5bdb925960da1b602082015260400192915050565b6000610957602483610aa5565b7f5369676e6564536166654d6174683a207375627472616374696f6e206f766572815263666c6f7760e01b602082015260400192915050565b805160408301906109a18482610806565b5060208201516109b460208501826109c3565b50505050565b61080f81610ab9565b61080f81610ac8565b6020808252810161027d81610815565b6020808252810161027d8161084e565b6020808252810161027d81610891565b6020808252810161027d816108ca565b6020808252810161027d81610903565b6020808252810161027d8161094a565b6040810161027d8284610990565b6020810161027d82846109ba565b6020810161027d82846109c3565b60405181810167ffffffffffffffff81118282101715610a7557600080fd5b604052919050565b600067ffffffffffffffff821115610a9457600080fd5b506020601f91909101601f19160190565b90815260200190565b600061027d82610abc565b90565b6001600160a01b031690565b63ffffffff1690565b82818337506000910152565b610ae681610aae565b8114610af157600080fd5b50565b610ae681610ab9565b610ae681610ac856fea164736f6c634300060c000a", - "sourceMap": "996:5456:97:-:0;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106100885760003560e01c80638602074e1161005b5780638602074e146100f15780639e950b2214610104578063b70d1c7e14610117578063e00c34901461013757610088565b80631324041c1461008d5780631770ac3a146100b657806346739e73146100cb5780637bb6668e146100de575b600080fd5b6100a061009b36600461073b565b61014a565b6040516100ad9190610a3a565b60405180910390f35b6100c96100c436600461070b565b610172565b005b6100c96100d9366004610688565b610176565b6100a06100ec36600461070b565b61026d565b6100c96100ff36600461073b565b610283565b6100c9610112366004610688565b610288565b61012a610125366004610628565b6102a0565b6040516100ad9190610a2c565b6100a0610145366004610788565b6102ea565b6000600019821415610168576101613385856102f3565b905061016b565b50805b9392505050565b5050565b600033905060008083806020019051810190610192919061064e565b90925090506001600160a01b0382166101c65760405162461bcd60e51b81526004016101bd906109ec565b60405180910390fd5b6040805180820182526001600160a01b0384811680835263ffffffff8581166020808601918252898516600081815291829052908790209551865492516001600160a01b031990931695169490941763ffffffff60a01b1916600160a01b91909216021790925591519091907fb28cf685cf80ef726582ae8f60c1ee6dfdb57895eac21aa2c752d93495196eb69061025f908590610a48565b60405180910390a350505050565b600061027a3384846102f3565b90505b92915050565b505050565b60405162461bcd60e51b81526004016101bd90610a0c565b6102a861053d565b506001600160a01b03908116600090815260208181526040918290208251808401909352549283168252600160a01b90920463ffffffff169181019190915290565b50909392505050565b60006102fd61053d565b610306856102a0565b9050600080826020015163ffffffff1611156103d957600082600001516001600160a01b0316634def98556040518163ffffffff1660e01b8152600401604080518083038186803b15801561035a57600080fd5b505afa15801561036e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061039291906106db565b90925090506103a14282610489565b836020015163ffffffff161015806103b7575081155b6103d35760405162461bcd60e51b81526004016101bd906109cc565b50610451565b81600001516001600160a01b031663209652556040518163ffffffff1660e01b815260040160206040518083038186803b15801561041657600080fd5b505afa15801561042a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061044e91906106bd565b90505b60006104678561046188856104b1565b906104f7565b9050600081131561047c57925061016b915050565b5060009695505050505050565b6000828211156104ab5760405162461bcd60e51b81526004016101bd906109fc565b50900390565b60008282018183128015906104c65750838112155b806104db57506000831280156104db57508381125b61027a5760405162461bcd60e51b81526004016101bd906109dc565b600081830381831280159061050c5750838113155b80610521575060008312801561052157508381135b61027a5760405162461bcd60e51b81526004016101bd90610a1c565b604080518082019091526000808252602082015290565b803561027d81610add565b805161027d81610add565b60008083601f84011261057c57600080fd5b50813567ffffffffffffffff81111561059457600080fd5b6020830191508360208202830111156105ac57600080fd5b9250929050565b600082601f8301126105c457600080fd5b81356105d76105d282610a7d565b610a56565b915080825260208301602083018583830111156105f357600080fd5b6105fe838284610ad1565b50505092915050565b805161027d81610af4565b803561027d81610af4565b805161027d81610afd565b60006020828403121561063a57600080fd5b60006106468484610554565b949350505050565b6000806040838503121561066157600080fd5b600061066d858561055f565b925050602061067e8582860161061d565b9150509250929050565b60006020828403121561069a57600080fd5b813567ffffffffffffffff8111156106b157600080fd5b610646848285016105b3565b6000602082840312156106cf57600080fd5b60006106468484610607565b600080604083850312156106ee57600080fd5b60006106fa8585610607565b925050602061067e85828601610607565b6000806040838503121561071e57600080fd5b600061072a8585610612565b925050602061067e85828601610612565b60008060006060848603121561075057600080fd5b600061075c8686610612565b935050602061076d86828701610612565b925050604061077e86828701610612565b9150509250925092565b6000806000806000608086880312156107a057600080fd5b60006107ac8888610612565b95505060206107bd88828901610612565b94505060406107ce88828901610612565b935050606086013567ffffffffffffffff8111156107eb57600080fd5b6107f78882890161056a565b92509250509295509295909350565b61080f81610aae565b82525050565b6000610822601b83610aa5565b7f63616c634661636556616c75653a205374616c65206f7261636c650000000000815260200192915050565b600061085b602183610aa5565b7f5369676e6564536166654d6174683a206164646974696f6e206f766572666c6f8152607760f81b602082015260400192915050565b600061089e601783610aa5565b7f636f6e6669677572653a20456d707479206f7261636c65000000000000000000815260200192915050565b60006108d7601e83610aa5565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000610910602583610aa5565b7f7265636569766543616c6c46726f6d4c6f616e3a20496e76616c6964206163748152641a5bdb925960da1b602082015260400192915050565b6000610957602483610aa5565b7f5369676e6564536166654d6174683a207375627472616374696f6e206f766572815263666c6f7760e01b602082015260400192915050565b805160408301906109a18482610806565b5060208201516109b460208501826109c3565b50505050565b61080f81610ab9565b61080f81610ac8565b6020808252810161027d81610815565b6020808252810161027d8161084e565b6020808252810161027d81610891565b6020808252810161027d816108ca565b6020808252810161027d81610903565b6020808252810161027d8161094a565b6040810161027d8284610990565b6020810161027d82846109ba565b6020810161027d82846109c3565b60405181810167ffffffffffffffff81118282101715610a7557600080fd5b604052919050565b600067ffffffffffffffff821115610a9457600080fd5b506020601f91909101601f19160190565b90815260200190565b600061027d82610abc565b90565b6001600160a01b031690565b63ffffffff1690565b82818337506000910152565b610ae681610aae565b8114610af157600080fd5b50565b610ae681610ab9565b610ae681610ac856fea164736f6c634300060c000a", - "sourceMap": "996:5456:97:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4164:420;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2897:56;;;;;;:::i;:::-;;:::i;:::-;;2068:473;;;;;;:::i;:::-;;:::i;1735:240::-;;;;;;:::i;:::-;;:::i;2669:96::-;;;;;;:::i;:::-;;:::i;4720:125::-;;;;;;:::i;:::-;;:::i;6278:172::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;3476:231::-;;;;;;:::i;:::-;;:::i;4164:420::-;4316:20;-1:-1:-1;;4408:17:97;:38;4404:139;;;4469:63;4487:10;4499:14;4515:16;4469:17;:63::i;:::-;4462:70;;;;4404:139;-1:-1:-1;4560:17:97;4164:420;;;;;;:::o;2897:56::-;;;:::o;2068:473::-;2141:12;2156:10;2141:25;;2177:14;2193:25;2233:11;2222:42;;;;;;;;;;;;:::i;:::-;2176:88;;-1:-1:-1;2176:88:97;-1:-1:-1;;;;;;2282:20:97;;2274:56;;;;-1:-1:-1;;;2274:56:97;;;;;;;:::i;:::-;;;;;;;;;2366:102;;;;;;;;-1:-1:-1;;;;;2366:102:97;;;;;;;;;;;;;;;;;2341:22;;;-1:-1:-1;2341:22:97;;;;;;;;;;;:127;;;;;;-1:-1:-1;;;;;;2341:127:97;;;;;;;;;-1:-1:-1;;;;2341:127:97;-1:-1:-1;;;2341:127:97;;;;;;;;;2484:50;;2366:102;;2341:22;2484:50;;;;2366:102;;2484:50;:::i;:::-;;;;;;;;2068:473;;;;:::o;1735:240::-;1868:18;1909:59;1927:10;1939:14;1955:12;1909:17;:59::i;:::-;1902:66;;1735:240;;;;;:::o;2669:96::-;;;;:::o;4720:125::-;4791:47;;-1:-1:-1;;;4791:47:97;;;;;;;:::i;6278:172::-;6368:29;;:::i;:::-;-1:-1:-1;;;;;;6420:23:97;;;:16;:23;;;;;;;;;;;;6413:30;;;;;;;;;;;;;;-1:-1:-1;;;6413:30:97;;;;;;;;;;;;;6278:172::o;3476:231::-;-1:-1:-1;3675:25:97;;3476:231;-1:-1:-1;;;3476:231:97:o;4927:1137::-;5067:16;5095:28;;:::i;:::-;5126:27;5147:5;5126:20;:27::i;:::-;5095:58;;5163:18;5295:1;5263:10;:29;;;:33;;;5259:589;;;5312:19;5396:10;:17;;;-1:-1:-1;;;;;5374:79:97;;:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5345:110;;-1:-1:-1;5345:110:97;-1:-1:-1;5608:32:97;:15;5345:110;5608:19;:32::i;:::-;5575:10;:29;;;:65;;;;:105;;;-1:-1:-1;5664:16:97;;5575:105;5550:191;;;;-1:-1:-1;;;5550:191:97;;;;;;;:::i;:::-;5259:589;;;;5808:10;:17;;;-1:-1:-1;;;;;5786:49:97;;:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5772:65;;5259:589;5858:22;5883:65;5934:12;5883:39;5890:14;5910:11;5883:26;:39::i;:::-;:43;;:65::i;:::-;5858:90;;5980:1;5962:15;:19;5958:81;;;6012:15;-1:-1:-1;5997:31:97;;-1:-1:-1;;5997:31:97;5958:81;-1:-1:-1;6056:1:97;;4927:1137;-1:-1:-1;;;;;;4927:1137:97:o;3136:155:442:-;3194:7;3226:1;3221;:6;;3213:49;;;;-1:-1:-1;;;3213:49:442;;;;;;;:::i;:::-;-1:-1:-1;3279:5:442;;;3136:155::o;2454:210:443:-;2510:6;2539:5;;;2563:6;;;;;;:16;;;2578:1;2573;:6;;2563:16;2562:38;;;;2589:1;2585;:5;:14;;;;;2598:1;2594;:5;2585:14;2554:84;;;;-1:-1:-1;;;2554:84:443;;;;;;;:::i;2008:213::-;2064:6;2093:5;;;2117:6;;;;;;:16;;;2132:1;2127;:6;;2117:16;2116:38;;;;2143:1;2139;:5;:14;;;;;2152:1;2148;:5;2139:14;2108:87;;;;-1:-1:-1;;;2108:87:443;;;;;;;:::i;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;:::o;5:130::-;72:20;;97:33;72:20;97:33;:::i;142:150::-;228:13;;246:41;228:13;246:41;:::i;317:352::-;;;447:3;440:4;432:6;428:17;424:27;414:2;;465:1;462;455:12;414:2;-1:-1;485:20;;525:18;514:30;;511:2;;;557:1;554;547:12;511:2;591:4;583:6;579:17;567:29;;642:3;634:4;626:6;622:17;612:8;608:32;605:41;602:2;;;659:1;656;649:12;602:2;407:262;;;;;:::o;678:440::-;;779:3;772:4;764:6;760:17;756:27;746:2;;797:1;794;787:12;746:2;834:6;821:20;856:64;871:48;912:6;871:48;:::i;:::-;856:64;:::i;:::-;847:73;;940:6;933:5;926:21;976:4;968:6;964:17;1009:4;1002:5;998:16;1044:3;1035:6;1030:3;1026:16;1023:25;1020:2;;;1061:1;1058;1051:12;1020:2;1071:41;1105:6;1100:3;1095;1071:41;:::i;:::-;739:379;;;;;;;:::o;1126:132::-;1203:13;;1221:32;1203:13;1221:32;:::i;1265:130::-;1332:20;;1357:33;1332:20;1357:33;:::i;1543:132::-;1620:13;;1638:32;1620:13;1638:32;:::i;1682:241::-;;1786:2;1774:9;1765:7;1761:23;1757:32;1754:2;;;1802:1;1799;1792:12;1754:2;1837:1;1854:53;1899:7;1879:9;1854:53;:::i;:::-;1844:63;1748:175;-1:-1;;;;1748:175::o;1930:413::-;;;2069:2;2057:9;2048:7;2044:23;2040:32;2037:2;;;2085:1;2082;2075:12;2037:2;2120:1;2137:72;2201:7;2181:9;2137:72;:::i;:::-;2127:82;;2099:116;2246:2;2264:63;2319:7;2310:6;2299:9;2295:22;2264:63;:::i;:::-;2254:73;;2225:108;2031:312;;;;;:::o;2350:345::-;;2463:2;2451:9;2442:7;2438:23;2434:32;2431:2;;;2479:1;2476;2469:12;2431:2;2514:31;;2565:18;2554:30;;2551:2;;;2597:1;2594;2587:12;2551:2;2617:62;2671:7;2662:6;2651:9;2647:22;2617:62;:::i;2702:261::-;;2816:2;2804:9;2795:7;2791:23;2787:32;2784:2;;;2832:1;2829;2822:12;2784:2;2867:1;2884:63;2939:7;2919:9;2884:63;:::i;2970:397::-;;;3101:2;3089:9;3080:7;3076:23;3072:32;3069:2;;;3117:1;3114;3107:12;3069:2;3152:1;3169:63;3224:7;3204:9;3169:63;:::i;:::-;3159:73;;3131:107;3269:2;3287:64;3343:7;3334:6;3323:9;3319:22;3287:64;:::i;3374:366::-;;;3495:2;3483:9;3474:7;3470:23;3466:32;3463:2;;;3511:1;3508;3501:12;3463:2;3546:1;3563:53;3608:7;3588:9;3563:53;:::i;:::-;3553:63;;3525:97;3653:2;3671:53;3716:7;3707:6;3696:9;3692:22;3671:53;:::i;3747:491::-;;;;3885:2;3873:9;3864:7;3860:23;3856:32;3853:2;;;3901:1;3898;3891:12;3853:2;3936:1;3953:53;3998:7;3978:9;3953:53;:::i;:::-;3943:63;;3915:97;4043:2;4061:53;4106:7;4097:6;4086:9;4082:22;4061:53;:::i;:::-;4051:63;;4022:98;4151:2;4169:53;4214:7;4205:6;4194:9;4190:22;4169:53;:::i;:::-;4159:63;;4130:98;3847:391;;;;;:::o;4245:773::-;;;;;;4435:3;4423:9;4414:7;4410:23;4406:33;4403:2;;;4452:1;4449;4442:12;4403:2;4487:1;4504:53;4549:7;4529:9;4504:53;:::i;:::-;4494:63;;4466:97;4594:2;4612:53;4657:7;4648:6;4637:9;4633:22;4612:53;:::i;:::-;4602:63;;4573:98;4702:2;4720:53;4765:7;4756:6;4745:9;4741:22;4720:53;:::i;:::-;4710:63;;4681:98;4838:2;4827:9;4823:18;4810:32;4862:18;4854:6;4851:30;4848:2;;;4894:1;4891;4884:12;4848:2;4922:80;4994:7;4985:6;4974:9;4970:22;4922:80;:::i;:::-;4904:98;;;;4789:219;4397:621;;;;;;;;:::o;5025:103::-;5098:24;5116:5;5098:24;:::i;:::-;5093:3;5086:37;5080:48;;:::o;5136:327::-;;5296:67;5360:2;5355:3;5296:67;:::i;:::-;5396:29;5376:50;;5454:2;5445:12;;5282:181;-1:-1;;5282:181::o;5472:370::-;;5632:67;5696:2;5691:3;5632:67;:::i;:::-;5732:34;5712:55;;-1:-1;;;5796:2;5787:12;;5780:25;5833:2;5824:12;;5618:224;-1:-1;;5618:224::o;5851:323::-;;6011:67;6075:2;6070:3;6011:67;:::i;:::-;6111:25;6091:46;;6165:2;6156:12;;5997:177;-1:-1;;5997:177::o;6183:330::-;;6343:67;6407:2;6402:3;6343:67;:::i;:::-;6443:32;6423:53;;6504:2;6495:12;;6329:184;-1:-1;;6329:184::o;6522:374::-;;6682:67;6746:2;6741:3;6682:67;:::i;:::-;6782:34;6762:55;;-1:-1;;;6846:2;6837:12;;6830:29;6887:2;6878:12;;6668:228;-1:-1;;6668:228::o;6905:373::-;;7065:67;7129:2;7124:3;7065:67;:::i;:::-;7165:34;7145:55;;-1:-1;;;7229:2;7220:12;;7213:28;7269:2;7260:12;;7051:227;-1:-1;;7051:227::o;7417:498::-;7636:23;;7568:4;7559:14;;;7665:63;7563:3;7636:23;7665:63;:::i;:::-;7588:146;7821:4;7814:5;7810:16;7804:23;7833:61;7888:4;7883:3;7879:14;7865:12;7833:61;:::i;:::-;7744:156;7541:374;;;:::o;7922:113::-;8005:24;8023:5;8005:24;:::i;8042:100::-;8113:23;8130:5;8113:23;:::i;8266:416::-;8466:2;8480:47;;;8451:18;;8541:131;8451:18;8541:131;:::i;8689:416::-;8889:2;8903:47;;;8874:18;;8964:131;8874:18;8964:131;:::i;9112:416::-;9312:2;9326:47;;;9297:18;;9387:131;9297:18;9387:131;:::i;9535:416::-;9735:2;9749:47;;;9720:18;;9810:131;9720:18;9810:131;:::i;9958:416::-;10158:2;10172:47;;;10143:18;;10233:131;10143:18;10233:131;:::i;10381:416::-;10581:2;10595:47;;;10566:18;;10656:131;10566:18;10656:131;:::i;10804:338::-;10989:2;10974:18;;11003:129;10978:9;11105:6;11003:129;:::i;11149:222::-;11276:2;11261:18;;11290:71;11265:9;11334:6;11290:71;:::i;11378:218::-;11503:2;11488:18;;11517:69;11492:9;11559:6;11517:69;:::i;11603:256::-;11665:2;11659:9;11691:17;;;11766:18;11751:34;;11787:22;;;11748:62;11745:2;;;11823:1;11820;11813:12;11745:2;11839;11832:22;11643:216;;-1:-1;11643:216::o;11866:321::-;;12009:18;12001:6;11998:30;11995:2;;;12041:1;12038;12031:12;11995:2;-1:-1;12172:4;12108;12085:17;;;;-1:-1;;12081:33;12162:15;;11932:255::o;12195:163::-;12298:19;;;12347:4;12338:14;;12291:67::o;12366:91::-;;12428:24;12446:5;12428:24;:::i;12570:71::-;12631:5;12614:27::o;12648:121::-;-1:-1;;;;;12710:54;;12693:76::o;12855:88::-;12927:10;12916:22;;12899:44::o;12951:145::-;13032:6;13027:3;13022;13009:30;-1:-1;13088:1;13070:16;;13063:27;13002:94::o;13104:117::-;13173:24;13191:5;13173:24;:::i;:::-;13166:5;13163:35;13153:2;;13212:1;13209;13202:12;13153:2;13147:74;:::o;13368:115::-;13436:23;13453:5;13436:23;:::i;13614:115::-;13682:23;13699:5;13682:23;:::i", - "linkReferences": {} - }, - "methodIdentifiers": { - "calcFaceValue(uint256,uint256)": "7bb6668e", - "configure(bytes)": "46739e73", - "getOracleInfoForLoan(address)": "b70d1c7e", - "preBorrow(uint256,uint256,uint256)": "8602074e", - "preClose(uint256,uint256)": "1770ac3a", - "preReconcile(uint256,uint256,uint256,address[])": "e00c3490", - "preRepay(uint256,uint256,uint256)": "1324041c", - "receiveCallFromLoan(bytes)": "9e950b22" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"loan\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"oracle\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint32\",\"name\":\"stalenessThreshold\",\"type\":\"uint32\"}],\"name\":\"OracleSetForLoan\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_totalBorrowed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_totalRepaid\",\"type\":\"uint256\"}],\"name\":\"calcFaceValue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"faceValue_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_configData\",\"type\":\"bytes\"}],\"name\":\"configure\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_loan\",\"type\":\"address\"}],\"name\":\"getOracleInfoForLoan\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"oracle\",\"type\":\"address\"},{\"internalType\":\"uint32\",\"name\":\"stalenessThreshold\",\"type\":\"uint32\"}],\"internalType\":\"struct ArbitraryLoanTotalNominalDeltaOracleModule.OracleInfo\",\"name\":\"oracleInfo_\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"preBorrow\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"preClose\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_repayableLoanAssetAmount\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"name\":\"preReconcile\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"repayAmount_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_totalBorrowed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_prevTotalRepaid\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_repayAmountInput\",\"type\":\"uint256\"}],\"name\":\"preRepay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"repayAmount_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"receiveCallFromLoan\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"This method of reporting value helps to prevent an oracle getting out-of-sync, e.g., when new amounts are borrowed or repaid to the loan\",\"kind\":\"dev\",\"methods\":{\"calcFaceValue(uint256,uint256)\":{\"params\":{\"_totalBorrowed\":\"The total borrowed amount\",\"_totalRepaid\":\"The total repaid amount\"},\"returns\":{\"faceValue_\":\"The face value\"}},\"configure(bytes)\":{\"params\":{\"_configData\":\"Encoded options\"}},\"getOracleInfoForLoan(address)\":{\"params\":{\"_loan\":\"The loan address\"},\"returns\":{\"oracleInfo_\":\"The oracle info\"}},\"preBorrow(uint256,uint256,uint256)\":{\"details\":\"Unimplemented\"},\"preClose(uint256,uint256)\":{\"details\":\"Unimplemented\"},\"preReconcile(uint256,uint256,uint256,address[])\":{\"details\":\"Should not revert in case of over-repayment. Instead, it is recommended to return the full loan balance as repayAmount_ where necessary.\",\"params\":{\"_repayableLoanAssetAmount\":\"The loanAsset amount available for repayment\"},\"returns\":{\"repayAmount_\":\"The formatted amount to consider as repayment in terms of the loanAsset\"}},\"preRepay(uint256,uint256,uint256)\":{\"params\":{\"_prevTotalRepaid\":\"The total repaid amount not including the new repay amount\",\"_repayAmountInput\":\"The user-input repay amount\",\"_totalBorrowed\":\"The total borrowed amount\",\"repayAmount_\":\"The formatted amount to repay\"}},\"receiveCallFromLoan(bytes)\":{\"details\":\"No actions implemented in this module\"}},\"title\":\"ArbitraryLoanTotalNominalDeltaOracleModule Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"calcFaceValue(uint256,uint256)\":{\"notice\":\"Calculates the canonical face value of the loan\"},\"configure(bytes)\":{\"notice\":\"Configures options per-loan\"},\"getOracleInfoForLoan(address)\":{\"notice\":\"Gets the OracleInfo for a given loan\"},\"preBorrow(uint256,uint256,uint256)\":{\"notice\":\"Implements logic immediately prior to effects and interactions during a borrow\"},\"preClose(uint256,uint256)\":{\"notice\":\"Implements logic immediately prior to effects and interactions when closing a loan\"},\"preReconcile(uint256,uint256,uint256,address[])\":{\"notice\":\"Implements logic immediately prior to effects and interactions during a reconciliation, and returns the formatted amount to consider as a repayment\"},\"preRepay(uint256,uint256,uint256)\":{\"notice\":\"Implements logic immediately prior to effects and interactions during a repay, and returns the formatted amount to repay (e.g., in the case of a user-input max)\"},\"receiveCallFromLoan(bytes)\":{\"notice\":\"Receives and executes an arbitrary call from the loan contract\"}},\"notice\":\"An accounting module for a loan to apply gains or losses, via an oracle that reports the nominal delta of the total amount borrowed (ignores repayments)\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/arbitrary-loan/modules/ArbitraryLoanTotalNominalDeltaOracleModule.sol\":\"ArbitraryLoanTotalNominalDeltaOracleModule\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/arbitrary-value-oracles/IArbitraryValueOracle.sol\":{\"keccak256\":\"0x333a51889276bf987405f310cf4c585f51f86bf496c658e0451412123f675890\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ad4e7e1f597bd399c48c27b391c669893e6b557dbdd06a1725070ac29d087cf0\",\"dweb:/ipfs/QmQrWo7nActQP5Ahh1SzkRNfpxbsPQLgNd3rUkNGUfDPKW\"]},\"contracts/release/extensions/external-position-manager/external-positions/arbitrary-loan/modules/ArbitraryLoanTotalNominalDeltaOracleModule.sol\":{\"keccak256\":\"0x5d4f0797bbb381f1a72ce68b5a4b2d5608ec1809aec2ff4bd447530009d2a87e\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://0c7cd4d3dc69c62aa6733563e05bcc0d252a23f95d2637bd70ef70d9e6586346\",\"dweb:/ipfs/QmNpDEM2TyVFmtS9zrZYrQZWCmwxGc9Qj8XYzX7HzRW7yy\"]},\"contracts/release/extensions/external-position-manager/external-positions/arbitrary-loan/modules/IArbitraryLoanAccountingModule.sol\":{\"keccak256\":\"0x95b63e11b0e628c5a0bd382fb07b6fbd06bdd130ff7b8afa429f49990991c5f7\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8f7ecd88d1158d6ec02a0ae1a76c8c9cfdab49fe3d0fb344c0313376e2dc744f\",\"dweb:/ipfs/QmWeJjbsXX27ADWJpDV7pABtdGADs2nk4gmSUN9dtA7X2S\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/math/SignedSafeMath.sol\":{\"keccak256\":\"0xd17ac7e1d8f83d20d80e652adfed83da122f3a3c7b69fefa2985d85aebf0a3e9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://64e13936e5e7382737f9c12918f5365fd9e68bf96e83d66f3323f47b1d7162c7\",\"dweb:/ipfs/Qmd2qkUCFdpAXJ6NNTkPxmkKaPzYYmeBhDey8N8XN39wqw\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "loan", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "oracle", - "type": "address", - "indexed": true - }, - { - "internalType": "uint32", - "name": "stalenessThreshold", - "type": "uint32", - "indexed": false - } - ], - "type": "event", - "name": "OracleSetForLoan", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_totalBorrowed", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_totalRepaid", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "calcFaceValue", - "outputs": [ - { - "internalType": "uint256", - "name": "faceValue_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "_configData", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "configure" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_loan", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getOracleInfoForLoan", - "outputs": [ - { - "internalType": "struct ArbitraryLoanTotalNominalDeltaOracleModule.OracleInfo", - "name": "oracleInfo_", - "type": "tuple", - "components": [ - { - "internalType": "address", - "name": "oracle", - "type": "address" - }, - { - "internalType": "uint32", - "name": "stalenessThreshold", - "type": "uint32" - } - ] - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "preBorrow" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "preClose" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_repayableLoanAssetAmount", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "", - "type": "address[]" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "preReconcile", - "outputs": [ - { - "internalType": "uint256", - "name": "repayAmount_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_totalBorrowed", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_prevTotalRepaid", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_repayAmountInput", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "preRepay", - "outputs": [ - { - "internalType": "uint256", - "name": "repayAmount_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "receiveCallFromLoan" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "calcFaceValue(uint256,uint256)": { - "params": { - "_totalBorrowed": "The total borrowed amount", - "_totalRepaid": "The total repaid amount" - }, - "returns": { - "faceValue_": "The face value" - } - }, - "configure(bytes)": { - "params": { - "_configData": "Encoded options" - } - }, - "getOracleInfoForLoan(address)": { - "params": { - "_loan": "The loan address" - }, - "returns": { - "oracleInfo_": "The oracle info" - } - }, - "preBorrow(uint256,uint256,uint256)": { - "details": "Unimplemented" - }, - "preClose(uint256,uint256)": { - "details": "Unimplemented" - }, - "preReconcile(uint256,uint256,uint256,address[])": { - "details": "Should not revert in case of over-repayment. Instead, it is recommended to return the full loan balance as repayAmount_ where necessary.", - "params": { - "_repayableLoanAssetAmount": "The loanAsset amount available for repayment" - }, - "returns": { - "repayAmount_": "The formatted amount to consider as repayment in terms of the loanAsset" - } - }, - "preRepay(uint256,uint256,uint256)": { - "params": { - "_prevTotalRepaid": "The total repaid amount not including the new repay amount", - "_repayAmountInput": "The user-input repay amount", - "_totalBorrowed": "The total borrowed amount", - "repayAmount_": "The formatted amount to repay" - } - }, - "receiveCallFromLoan(bytes)": { - "details": "No actions implemented in this module" - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "calcFaceValue(uint256,uint256)": { - "notice": "Calculates the canonical face value of the loan" - }, - "configure(bytes)": { - "notice": "Configures options per-loan" - }, - "getOracleInfoForLoan(address)": { - "notice": "Gets the OracleInfo for a given loan" - }, - "preBorrow(uint256,uint256,uint256)": { - "notice": "Implements logic immediately prior to effects and interactions during a borrow" - }, - "preClose(uint256,uint256)": { - "notice": "Implements logic immediately prior to effects and interactions when closing a loan" - }, - "preReconcile(uint256,uint256,uint256,address[])": { - "notice": "Implements logic immediately prior to effects and interactions during a reconciliation, and returns the formatted amount to consider as a repayment" - }, - "preRepay(uint256,uint256,uint256)": { - "notice": "Implements logic immediately prior to effects and interactions during a repay, and returns the formatted amount to repay (e.g., in the case of a user-input max)" - }, - "receiveCallFromLoan(bytes)": { - "notice": "Receives and executes an arbitrary call from the loan contract" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/external-position-manager/external-positions/arbitrary-loan/modules/ArbitraryLoanTotalNominalDeltaOracleModule.sol": "ArbitraryLoanTotalNominalDeltaOracleModule" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/arbitrary-value-oracles/IArbitraryValueOracle.sol": { - "keccak256": "0x333a51889276bf987405f310cf4c585f51f86bf496c658e0451412123f675890", - "urls": [ - "bzz-raw://ad4e7e1f597bd399c48c27b391c669893e6b557dbdd06a1725070ac29d087cf0", - "dweb:/ipfs/QmQrWo7nActQP5Ahh1SzkRNfpxbsPQLgNd3rUkNGUfDPKW" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/arbitrary-loan/modules/ArbitraryLoanTotalNominalDeltaOracleModule.sol": { - "keccak256": "0x5d4f0797bbb381f1a72ce68b5a4b2d5608ec1809aec2ff4bd447530009d2a87e", - "urls": [ - "bzz-raw://0c7cd4d3dc69c62aa6733563e05bcc0d252a23f95d2637bd70ef70d9e6586346", - "dweb:/ipfs/QmNpDEM2TyVFmtS9zrZYrQZWCmwxGc9Qj8XYzX7HzRW7yy" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/arbitrary-loan/modules/IArbitraryLoanAccountingModule.sol": { - "keccak256": "0x95b63e11b0e628c5a0bd382fb07b6fbd06bdd130ff7b8afa429f49990991c5f7", - "urls": [ - "bzz-raw://8f7ecd88d1158d6ec02a0ae1a76c8c9cfdab49fe3d0fb344c0313376e2dc744f", - "dweb:/ipfs/QmWeJjbsXX27ADWJpDV7pABtdGADs2nk4gmSUN9dtA7X2S" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/math/SignedSafeMath.sol": { - "keccak256": "0xd17ac7e1d8f83d20d80e652adfed83da122f3a3c7b69fefa2985d85aebf0a3e9", - "urls": [ - "bzz-raw://64e13936e5e7382737f9c12918f5365fd9e68bf96e83d66f3323f47b1d7162c7", - "dweb:/ipfs/Qmd2qkUCFdpAXJ6NNTkPxmkKaPzYYmeBhDey8N8XN39wqw" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 97 -} +{ "abi": [ { "type": "function", "name": "calcFaceValue", "inputs": [ { "name": "_totalBorrowed", "type": "uint256", "internalType": "uint256" }, { "name": "_totalRepaid", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "faceValue_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "configure", "inputs": [ { "name": "_configData", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "getOracleInfoForLoan", "inputs": [ { "name": "_loan", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "oracleInfo_", "type": "tuple", "internalType": "struct ArbitraryLoanTotalNominalDeltaOracleModule.OracleInfo", "components": [ { "name": "oracle", "type": "address", "internalType": "address" }, { "name": "stalenessThreshold", "type": "uint32", "internalType": "uint32" } ] } ], "stateMutability": "view" }, { "type": "function", "name": "preBorrow", "inputs": [ { "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "preClose", "inputs": [ { "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "preReconcile", "inputs": [ { "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "_repayableLoanAssetAmount", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "address[]", "internalType": "address[]" } ], "outputs": [ { "name": "repayAmount_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "preRepay", "inputs": [ { "name": "_totalBorrowed", "type": "uint256", "internalType": "uint256" }, { "name": "_prevTotalRepaid", "type": "uint256", "internalType": "uint256" }, { "name": "_repayAmountInput", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "repayAmount_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "receiveCallFromLoan", "inputs": [ { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "event", "name": "OracleSetForLoan", "inputs": [ { "name": "loan", "type": "address", "indexed": true, "internalType": "address" }, { "name": "oracle", "type": "address", "indexed": true, "internalType": "address" }, { "name": "stalenessThreshold", "type": "uint32", "indexed": false, "internalType": "uint32" } ], "anonymous": false } ], "bytecode": { "object": "0x608060405234801561001057600080fd5b50610b13806100206000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c80638602074e1161005b5780638602074e146100f15780639e950b2214610104578063b70d1c7e14610117578063e00c34901461013757610088565b80631324041c1461008d5780631770ac3a146100b657806346739e73146100cb5780637bb6668e146100de575b600080fd5b6100a061009b36600461073b565b61014a565b6040516100ad9190610a3a565b60405180910390f35b6100c96100c436600461070b565b610172565b005b6100c96100d9366004610688565b610176565b6100a06100ec36600461070b565b61026d565b6100c96100ff36600461073b565b610283565b6100c9610112366004610688565b610288565b61012a610125366004610628565b6102a0565b6040516100ad9190610a2c565b6100a0610145366004610788565b6102ea565b6000600019821415610168576101613385856102f3565b905061016b565b50805b9392505050565b5050565b600033905060008083806020019051810190610192919061064e565b90925090506001600160a01b0382166101c65760405162461bcd60e51b81526004016101bd906109ec565b60405180910390fd5b6040805180820182526001600160a01b0384811680835263ffffffff8581166020808601918252898516600081815291829052908790209551865492516001600160a01b031990931695169490941763ffffffff60a01b1916600160a01b91909216021790925591519091907fb28cf685cf80ef726582ae8f60c1ee6dfdb57895eac21aa2c752d93495196eb69061025f908590610a48565b60405180910390a350505050565b600061027a3384846102f3565b90505b92915050565b505050565b60405162461bcd60e51b81526004016101bd90610a0c565b6102a861053d565b506001600160a01b03908116600090815260208181526040918290208251808401909352549283168252600160a01b90920463ffffffff169181019190915290565b50909392505050565b60006102fd61053d565b610306856102a0565b9050600080826020015163ffffffff1611156103d957600082600001516001600160a01b0316634def98556040518163ffffffff1660e01b8152600401604080518083038186803b15801561035a57600080fd5b505afa15801561036e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061039291906106db565b90925090506103a14282610489565b836020015163ffffffff161015806103b7575081155b6103d35760405162461bcd60e51b81526004016101bd906109cc565b50610451565b81600001516001600160a01b031663209652556040518163ffffffff1660e01b815260040160206040518083038186803b15801561041657600080fd5b505afa15801561042a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061044e91906106bd565b90505b60006104678561046188856104b1565b906104f7565b9050600081131561047c57925061016b915050565b5060009695505050505050565b6000828211156104ab5760405162461bcd60e51b81526004016101bd906109fc565b50900390565b60008282018183128015906104c65750838112155b806104db57506000831280156104db57508381125b61027a5760405162461bcd60e51b81526004016101bd906109dc565b600081830381831280159061050c5750838113155b80610521575060008312801561052157508381135b61027a5760405162461bcd60e51b81526004016101bd90610a1c565b604080518082019091526000808252602082015290565b803561027d81610add565b805161027d81610add565b60008083601f84011261057c57600080fd5b50813567ffffffffffffffff81111561059457600080fd5b6020830191508360208202830111156105ac57600080fd5b9250929050565b600082601f8301126105c457600080fd5b81356105d76105d282610a7d565b610a56565b915080825260208301602083018583830111156105f357600080fd5b6105fe838284610ad1565b50505092915050565b805161027d81610af4565b803561027d81610af4565b805161027d81610afd565b60006020828403121561063a57600080fd5b60006106468484610554565b949350505050565b6000806040838503121561066157600080fd5b600061066d858561055f565b925050602061067e8582860161061d565b9150509250929050565b60006020828403121561069a57600080fd5b813567ffffffffffffffff8111156106b157600080fd5b610646848285016105b3565b6000602082840312156106cf57600080fd5b60006106468484610607565b600080604083850312156106ee57600080fd5b60006106fa8585610607565b925050602061067e85828601610607565b6000806040838503121561071e57600080fd5b600061072a8585610612565b925050602061067e85828601610612565b60008060006060848603121561075057600080fd5b600061075c8686610612565b935050602061076d86828701610612565b925050604061077e86828701610612565b9150509250925092565b6000806000806000608086880312156107a057600080fd5b60006107ac8888610612565b95505060206107bd88828901610612565b94505060406107ce88828901610612565b935050606086013567ffffffffffffffff8111156107eb57600080fd5b6107f78882890161056a565b92509250509295509295909350565b61080f81610aae565b82525050565b6000610822601b83610aa5565b7f63616c634661636556616c75653a205374616c65206f7261636c650000000000815260200192915050565b600061085b602183610aa5565b7f5369676e6564536166654d6174683a206164646974696f6e206f766572666c6f8152607760f81b602082015260400192915050565b600061089e601783610aa5565b7f636f6e6669677572653a20456d707479206f7261636c65000000000000000000815260200192915050565b60006108d7601e83610aa5565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000610910602583610aa5565b7f7265636569766543616c6c46726f6d4c6f616e3a20496e76616c6964206163748152641a5bdb925960da1b602082015260400192915050565b6000610957602483610aa5565b7f5369676e6564536166654d6174683a207375627472616374696f6e206f766572815263666c6f7760e01b602082015260400192915050565b805160408301906109a18482610806565b5060208201516109b460208501826109c3565b50505050565b61080f81610ab9565b61080f81610ac8565b6020808252810161027d81610815565b6020808252810161027d8161084e565b6020808252810161027d81610891565b6020808252810161027d816108ca565b6020808252810161027d81610903565b6020808252810161027d8161094a565b6040810161027d8284610990565b6020810161027d82846109ba565b6020810161027d82846109c3565b60405181810167ffffffffffffffff81118282101715610a7557600080fd5b604052919050565b600067ffffffffffffffff821115610a9457600080fd5b506020601f91909101601f19160190565b90815260200190565b600061027d82610abc565b90565b6001600160a01b031690565b63ffffffff1690565b82818337506000910152565b610ae681610aae565b8114610af157600080fd5b50565b610ae681610ab9565b610ae681610ac856fea164736f6c634300060c000a", "sourceMap": "996:5456:97:-:0;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106100885760003560e01c80638602074e1161005b5780638602074e146100f15780639e950b2214610104578063b70d1c7e14610117578063e00c34901461013757610088565b80631324041c1461008d5780631770ac3a146100b657806346739e73146100cb5780637bb6668e146100de575b600080fd5b6100a061009b36600461073b565b61014a565b6040516100ad9190610a3a565b60405180910390f35b6100c96100c436600461070b565b610172565b005b6100c96100d9366004610688565b610176565b6100a06100ec36600461070b565b61026d565b6100c96100ff36600461073b565b610283565b6100c9610112366004610688565b610288565b61012a610125366004610628565b6102a0565b6040516100ad9190610a2c565b6100a0610145366004610788565b6102ea565b6000600019821415610168576101613385856102f3565b905061016b565b50805b9392505050565b5050565b600033905060008083806020019051810190610192919061064e565b90925090506001600160a01b0382166101c65760405162461bcd60e51b81526004016101bd906109ec565b60405180910390fd5b6040805180820182526001600160a01b0384811680835263ffffffff8581166020808601918252898516600081815291829052908790209551865492516001600160a01b031990931695169490941763ffffffff60a01b1916600160a01b91909216021790925591519091907fb28cf685cf80ef726582ae8f60c1ee6dfdb57895eac21aa2c752d93495196eb69061025f908590610a48565b60405180910390a350505050565b600061027a3384846102f3565b90505b92915050565b505050565b60405162461bcd60e51b81526004016101bd90610a0c565b6102a861053d565b506001600160a01b03908116600090815260208181526040918290208251808401909352549283168252600160a01b90920463ffffffff169181019190915290565b50909392505050565b60006102fd61053d565b610306856102a0565b9050600080826020015163ffffffff1611156103d957600082600001516001600160a01b0316634def98556040518163ffffffff1660e01b8152600401604080518083038186803b15801561035a57600080fd5b505afa15801561036e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061039291906106db565b90925090506103a14282610489565b836020015163ffffffff161015806103b7575081155b6103d35760405162461bcd60e51b81526004016101bd906109cc565b50610451565b81600001516001600160a01b031663209652556040518163ffffffff1660e01b815260040160206040518083038186803b15801561041657600080fd5b505afa15801561042a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061044e91906106bd565b90505b60006104678561046188856104b1565b906104f7565b9050600081131561047c57925061016b915050565b5060009695505050505050565b6000828211156104ab5760405162461bcd60e51b81526004016101bd906109fc565b50900390565b60008282018183128015906104c65750838112155b806104db57506000831280156104db57508381125b61027a5760405162461bcd60e51b81526004016101bd906109dc565b600081830381831280159061050c5750838113155b80610521575060008312801561052157508381135b61027a5760405162461bcd60e51b81526004016101bd90610a1c565b604080518082019091526000808252602082015290565b803561027d81610add565b805161027d81610add565b60008083601f84011261057c57600080fd5b50813567ffffffffffffffff81111561059457600080fd5b6020830191508360208202830111156105ac57600080fd5b9250929050565b600082601f8301126105c457600080fd5b81356105d76105d282610a7d565b610a56565b915080825260208301602083018583830111156105f357600080fd5b6105fe838284610ad1565b50505092915050565b805161027d81610af4565b803561027d81610af4565b805161027d81610afd565b60006020828403121561063a57600080fd5b60006106468484610554565b949350505050565b6000806040838503121561066157600080fd5b600061066d858561055f565b925050602061067e8582860161061d565b9150509250929050565b60006020828403121561069a57600080fd5b813567ffffffffffffffff8111156106b157600080fd5b610646848285016105b3565b6000602082840312156106cf57600080fd5b60006106468484610607565b600080604083850312156106ee57600080fd5b60006106fa8585610607565b925050602061067e85828601610607565b6000806040838503121561071e57600080fd5b600061072a8585610612565b925050602061067e85828601610612565b60008060006060848603121561075057600080fd5b600061075c8686610612565b935050602061076d86828701610612565b925050604061077e86828701610612565b9150509250925092565b6000806000806000608086880312156107a057600080fd5b60006107ac8888610612565b95505060206107bd88828901610612565b94505060406107ce88828901610612565b935050606086013567ffffffffffffffff8111156107eb57600080fd5b6107f78882890161056a565b92509250509295509295909350565b61080f81610aae565b82525050565b6000610822601b83610aa5565b7f63616c634661636556616c75653a205374616c65206f7261636c650000000000815260200192915050565b600061085b602183610aa5565b7f5369676e6564536166654d6174683a206164646974696f6e206f766572666c6f8152607760f81b602082015260400192915050565b600061089e601783610aa5565b7f636f6e6669677572653a20456d707479206f7261636c65000000000000000000815260200192915050565b60006108d7601e83610aa5565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000610910602583610aa5565b7f7265636569766543616c6c46726f6d4c6f616e3a20496e76616c6964206163748152641a5bdb925960da1b602082015260400192915050565b6000610957602483610aa5565b7f5369676e6564536166654d6174683a207375627472616374696f6e206f766572815263666c6f7760e01b602082015260400192915050565b805160408301906109a18482610806565b5060208201516109b460208501826109c3565b50505050565b61080f81610ab9565b61080f81610ac8565b6020808252810161027d81610815565b6020808252810161027d8161084e565b6020808252810161027d81610891565b6020808252810161027d816108ca565b6020808252810161027d81610903565b6020808252810161027d8161094a565b6040810161027d8284610990565b6020810161027d82846109ba565b6020810161027d82846109c3565b60405181810167ffffffffffffffff81118282101715610a7557600080fd5b604052919050565b600067ffffffffffffffff821115610a9457600080fd5b506020601f91909101601f19160190565b90815260200190565b600061027d82610abc565b90565b6001600160a01b031690565b63ffffffff1690565b82818337506000910152565b610ae681610aae565b8114610af157600080fd5b50565b610ae681610ab9565b610ae681610ac856fea164736f6c634300060c000a", "sourceMap": "996:5456:97:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4164:420;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2897:56;;;;;;:::i;:::-;;:::i;:::-;;2068:473;;;;;;:::i;:::-;;:::i;1735:240::-;;;;;;:::i;:::-;;:::i;2669:96::-;;;;;;:::i;:::-;;:::i;4720:125::-;;;;;;:::i;:::-;;:::i;6278:172::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;3476:231::-;;;;;;:::i;:::-;;:::i;4164:420::-;4316:20;-1:-1:-1;;4408:17:97;:38;4404:139;;;4469:63;4487:10;4499:14;4515:16;4469:17;:63::i;:::-;4462:70;;;;4404:139;-1:-1:-1;4560:17:97;4164:420;;;;;;:::o;2897:56::-;;;:::o;2068:473::-;2141:12;2156:10;2141:25;;2177:14;2193:25;2233:11;2222:42;;;;;;;;;;;;:::i;:::-;2176:88;;-1:-1:-1;2176:88:97;-1:-1:-1;;;;;;2282:20:97;;2274:56;;;;-1:-1:-1;;;2274:56:97;;;;;;;:::i;:::-;;;;;;;;;2366:102;;;;;;;;-1:-1:-1;;;;;2366:102:97;;;;;;;;;;;;;;;;;2341:22;;;-1:-1:-1;2341:22:97;;;;;;;;;;;:127;;;;;;-1:-1:-1;;;;;;2341:127:97;;;;;;;;;-1:-1:-1;;;;2341:127:97;-1:-1:-1;;;2341:127:97;;;;;;;;;2484:50;;2366:102;;2341:22;2484:50;;;;2366:102;;2484:50;:::i;:::-;;;;;;;;2068:473;;;;:::o;1735:240::-;1868:18;1909:59;1927:10;1939:14;1955:12;1909:17;:59::i;:::-;1902:66;;1735:240;;;;;:::o;2669:96::-;;;;:::o;4720:125::-;4791:47;;-1:-1:-1;;;4791:47:97;;;;;;;:::i;6278:172::-;6368:29;;:::i;:::-;-1:-1:-1;;;;;;6420:23:97;;;:16;:23;;;;;;;;;;;;6413:30;;;;;;;;;;;;;;-1:-1:-1;;;6413:30:97;;;;;;;;;;;;;6278:172::o;3476:231::-;-1:-1:-1;3675:25:97;;3476:231;-1:-1:-1;;;3476:231:97:o;4927:1137::-;5067:16;5095:28;;:::i;:::-;5126:27;5147:5;5126:20;:27::i;:::-;5095:58;;5163:18;5295:1;5263:10;:29;;;:33;;;5259:589;;;5312:19;5396:10;:17;;;-1:-1:-1;;;;;5374:79:97;;:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5345:110;;-1:-1:-1;5345:110:97;-1:-1:-1;5608:32:97;:15;5345:110;5608:19;:32::i;:::-;5575:10;:29;;;:65;;;;:105;;;-1:-1:-1;5664:16:97;;5575:105;5550:191;;;;-1:-1:-1;;;5550:191:97;;;;;;;:::i;:::-;5259:589;;;;5808:10;:17;;;-1:-1:-1;;;;;5786:49:97;;:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5772:65;;5259:589;5858:22;5883:65;5934:12;5883:39;5890:14;5910:11;5883:26;:39::i;:::-;:43;;:65::i;:::-;5858:90;;5980:1;5962:15;:19;5958:81;;;6012:15;-1:-1:-1;5997:31:97;;-1:-1:-1;;5997:31:97;5958:81;-1:-1:-1;6056:1:97;;4927:1137;-1:-1:-1;;;;;;4927:1137:97:o;3136:155:442:-;3194:7;3226:1;3221;:6;;3213:49;;;;-1:-1:-1;;;3213:49:442;;;;;;;:::i;:::-;-1:-1:-1;3279:5:442;;;3136:155::o;2454:210:443:-;2510:6;2539:5;;;2563:6;;;;;;:16;;;2578:1;2573;:6;;2563:16;2562:38;;;;2589:1;2585;:5;:14;;;;;2598:1;2594;:5;2585:14;2554:84;;;;-1:-1:-1;;;2554:84:443;;;;;;;:::i;2008:213::-;2064:6;2093:5;;;2117:6;;;;;;:16;;;2132:1;2127;:6;;2117:16;2116:38;;;;2143:1;2139;:5;:14;;;;;2152:1;2148;:5;2139:14;2108:87;;;;-1:-1:-1;;;2108:87:443;;;;;;;:::i;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;:::o;5:130::-;72:20;;97:33;72:20;97:33;:::i;142:150::-;228:13;;246:41;228:13;246:41;:::i;317:352::-;;;447:3;440:4;432:6;428:17;424:27;414:2;;465:1;462;455:12;414:2;-1:-1;485:20;;525:18;514:30;;511:2;;;557:1;554;547:12;511:2;591:4;583:6;579:17;567:29;;642:3;634:4;626:6;622:17;612:8;608:32;605:41;602:2;;;659:1;656;649:12;602:2;407:262;;;;;:::o;678:440::-;;779:3;772:4;764:6;760:17;756:27;746:2;;797:1;794;787:12;746:2;834:6;821:20;856:64;871:48;912:6;871:48;:::i;:::-;856:64;:::i;:::-;847:73;;940:6;933:5;926:21;976:4;968:6;964:17;1009:4;1002:5;998:16;1044:3;1035:6;1030:3;1026:16;1023:25;1020:2;;;1061:1;1058;1051:12;1020:2;1071:41;1105:6;1100:3;1095;1071:41;:::i;:::-;739:379;;;;;;;:::o;1126:132::-;1203:13;;1221:32;1203:13;1221:32;:::i;1265:130::-;1332:20;;1357:33;1332:20;1357:33;:::i;1543:132::-;1620:13;;1638:32;1620:13;1638:32;:::i;1682:241::-;;1786:2;1774:9;1765:7;1761:23;1757:32;1754:2;;;1802:1;1799;1792:12;1754:2;1837:1;1854:53;1899:7;1879:9;1854:53;:::i;:::-;1844:63;1748:175;-1:-1;;;;1748:175::o;1930:413::-;;;2069:2;2057:9;2048:7;2044:23;2040:32;2037:2;;;2085:1;2082;2075:12;2037:2;2120:1;2137:72;2201:7;2181:9;2137:72;:::i;:::-;2127:82;;2099:116;2246:2;2264:63;2319:7;2310:6;2299:9;2295:22;2264:63;:::i;:::-;2254:73;;2225:108;2031:312;;;;;:::o;2350:345::-;;2463:2;2451:9;2442:7;2438:23;2434:32;2431:2;;;2479:1;2476;2469:12;2431:2;2514:31;;2565:18;2554:30;;2551:2;;;2597:1;2594;2587:12;2551:2;2617:62;2671:7;2662:6;2651:9;2647:22;2617:62;:::i;2702:261::-;;2816:2;2804:9;2795:7;2791:23;2787:32;2784:2;;;2832:1;2829;2822:12;2784:2;2867:1;2884:63;2939:7;2919:9;2884:63;:::i;2970:397::-;;;3101:2;3089:9;3080:7;3076:23;3072:32;3069:2;;;3117:1;3114;3107:12;3069:2;3152:1;3169:63;3224:7;3204:9;3169:63;:::i;:::-;3159:73;;3131:107;3269:2;3287:64;3343:7;3334:6;3323:9;3319:22;3287:64;:::i;3374:366::-;;;3495:2;3483:9;3474:7;3470:23;3466:32;3463:2;;;3511:1;3508;3501:12;3463:2;3546:1;3563:53;3608:7;3588:9;3563:53;:::i;:::-;3553:63;;3525:97;3653:2;3671:53;3716:7;3707:6;3696:9;3692:22;3671:53;:::i;3747:491::-;;;;3885:2;3873:9;3864:7;3860:23;3856:32;3853:2;;;3901:1;3898;3891:12;3853:2;3936:1;3953:53;3998:7;3978:9;3953:53;:::i;:::-;3943:63;;3915:97;4043:2;4061:53;4106:7;4097:6;4086:9;4082:22;4061:53;:::i;:::-;4051:63;;4022:98;4151:2;4169:53;4214:7;4205:6;4194:9;4190:22;4169:53;:::i;:::-;4159:63;;4130:98;3847:391;;;;;:::o;4245:773::-;;;;;;4435:3;4423:9;4414:7;4410:23;4406:33;4403:2;;;4452:1;4449;4442:12;4403:2;4487:1;4504:53;4549:7;4529:9;4504:53;:::i;:::-;4494:63;;4466:97;4594:2;4612:53;4657:7;4648:6;4637:9;4633:22;4612:53;:::i;:::-;4602:63;;4573:98;4702:2;4720:53;4765:7;4756:6;4745:9;4741:22;4720:53;:::i;:::-;4710:63;;4681:98;4838:2;4827:9;4823:18;4810:32;4862:18;4854:6;4851:30;4848:2;;;4894:1;4891;4884:12;4848:2;4922:80;4994:7;4985:6;4974:9;4970:22;4922:80;:::i;:::-;4904:98;;;;4789:219;4397:621;;;;;;;;:::o;5025:103::-;5098:24;5116:5;5098:24;:::i;:::-;5093:3;5086:37;5080:48;;:::o;5136:327::-;;5296:67;5360:2;5355:3;5296:67;:::i;:::-;5396:29;5376:50;;5454:2;5445:12;;5282:181;-1:-1;;5282:181::o;5472:370::-;;5632:67;5696:2;5691:3;5632:67;:::i;:::-;5732:34;5712:55;;-1:-1;;;5796:2;5787:12;;5780:25;5833:2;5824:12;;5618:224;-1:-1;;5618:224::o;5851:323::-;;6011:67;6075:2;6070:3;6011:67;:::i;:::-;6111:25;6091:46;;6165:2;6156:12;;5997:177;-1:-1;;5997:177::o;6183:330::-;;6343:67;6407:2;6402:3;6343:67;:::i;:::-;6443:32;6423:53;;6504:2;6495:12;;6329:184;-1:-1;;6329:184::o;6522:374::-;;6682:67;6746:2;6741:3;6682:67;:::i;:::-;6782:34;6762:55;;-1:-1;;;6846:2;6837:12;;6830:29;6887:2;6878:12;;6668:228;-1:-1;;6668:228::o;6905:373::-;;7065:67;7129:2;7124:3;7065:67;:::i;:::-;7165:34;7145:55;;-1:-1;;;7229:2;7220:12;;7213:28;7269:2;7260:12;;7051:227;-1:-1;;7051:227::o;7417:498::-;7636:23;;7568:4;7559:14;;;7665:63;7563:3;7636:23;7665:63;:::i;:::-;7588:146;7821:4;7814:5;7810:16;7804:23;7833:61;7888:4;7883:3;7879:14;7865:12;7833:61;:::i;:::-;7744:156;7541:374;;;:::o;7922:113::-;8005:24;8023:5;8005:24;:::i;8042:100::-;8113:23;8130:5;8113:23;:::i;8266:416::-;8466:2;8480:47;;;8451:18;;8541:131;8451:18;8541:131;:::i;8689:416::-;8889:2;8903:47;;;8874:18;;8964:131;8874:18;8964:131;:::i;9112:416::-;9312:2;9326:47;;;9297:18;;9387:131;9297:18;9387:131;:::i;9535:416::-;9735:2;9749:47;;;9720:18;;9810:131;9720:18;9810:131;:::i;9958:416::-;10158:2;10172:47;;;10143:18;;10233:131;10143:18;10233:131;:::i;10381:416::-;10581:2;10595:47;;;10566:18;;10656:131;10566:18;10656:131;:::i;10804:338::-;10989:2;10974:18;;11003:129;10978:9;11105:6;11003:129;:::i;11149:222::-;11276:2;11261:18;;11290:71;11265:9;11334:6;11290:71;:::i;11378:218::-;11503:2;11488:18;;11517:69;11492:9;11559:6;11517:69;:::i;11603:256::-;11665:2;11659:9;11691:17;;;11766:18;11751:34;;11787:22;;;11748:62;11745:2;;;11823:1;11820;11813:12;11745:2;11839;11832:22;11643:216;;-1:-1;11643:216::o;11866:321::-;;12009:18;12001:6;11998:30;11995:2;;;12041:1;12038;12031:12;11995:2;-1:-1;12172:4;12108;12085:17;;;;-1:-1;;12081:33;12162:15;;11932:255::o;12195:163::-;12298:19;;;12347:4;12338:14;;12291:67::o;12366:91::-;;12428:24;12446:5;12428:24;:::i;12570:71::-;12631:5;12614:27::o;12648:121::-;-1:-1;;;;;12710:54;;12693:76::o;12855:88::-;12927:10;12916:22;;12899:44::o;12951:145::-;13032:6;13027:3;13022;13009:30;-1:-1;13088:1;13070:16;;13063:27;13002:94::o;13104:117::-;13173:24;13191:5;13173:24;:::i;:::-;13166:5;13163:35;13153:2;;13212:1;13209;13202:12;13153:2;13147:74;:::o;13368:115::-;13436:23;13453:5;13436:23;:::i;13614:115::-;13682:23;13699:5;13682:23;:::i", "linkReferences": {} }, "methodIdentifiers": { "calcFaceValue(uint256,uint256)": "7bb6668e", "configure(bytes)": "46739e73", "getOracleInfoForLoan(address)": "b70d1c7e", "preBorrow(uint256,uint256,uint256)": "8602074e", "preClose(uint256,uint256)": "1770ac3a", "preReconcile(uint256,uint256,uint256,address[])": "e00c3490", "preRepay(uint256,uint256,uint256)": "1324041c", "receiveCallFromLoan(bytes)": "9e950b22" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"loan\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"oracle\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint32\",\"name\":\"stalenessThreshold\",\"type\":\"uint32\"}],\"name\":\"OracleSetForLoan\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_totalBorrowed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_totalRepaid\",\"type\":\"uint256\"}],\"name\":\"calcFaceValue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"faceValue_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_configData\",\"type\":\"bytes\"}],\"name\":\"configure\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_loan\",\"type\":\"address\"}],\"name\":\"getOracleInfoForLoan\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"oracle\",\"type\":\"address\"},{\"internalType\":\"uint32\",\"name\":\"stalenessThreshold\",\"type\":\"uint32\"}],\"internalType\":\"struct ArbitraryLoanTotalNominalDeltaOracleModule.OracleInfo\",\"name\":\"oracleInfo_\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"preBorrow\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"preClose\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_repayableLoanAssetAmount\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"name\":\"preReconcile\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"repayAmount_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_totalBorrowed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_prevTotalRepaid\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_repayAmountInput\",\"type\":\"uint256\"}],\"name\":\"preRepay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"repayAmount_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"receiveCallFromLoan\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"This method of reporting value helps to prevent an oracle getting out-of-sync, e.g., when new amounts are borrowed or repaid to the loan\",\"kind\":\"dev\",\"methods\":{\"calcFaceValue(uint256,uint256)\":{\"params\":{\"_totalBorrowed\":\"The total borrowed amount\",\"_totalRepaid\":\"The total repaid amount\"},\"returns\":{\"faceValue_\":\"The face value\"}},\"configure(bytes)\":{\"params\":{\"_configData\":\"Encoded options\"}},\"getOracleInfoForLoan(address)\":{\"params\":{\"_loan\":\"The loan address\"},\"returns\":{\"oracleInfo_\":\"The oracle info\"}},\"preBorrow(uint256,uint256,uint256)\":{\"details\":\"Unimplemented\"},\"preClose(uint256,uint256)\":{\"details\":\"Unimplemented\"},\"preReconcile(uint256,uint256,uint256,address[])\":{\"details\":\"Should not revert in case of over-repayment. Instead, it is recommended to return the full loan balance as repayAmount_ where necessary.\",\"params\":{\"_repayableLoanAssetAmount\":\"The loanAsset amount available for repayment\"},\"returns\":{\"repayAmount_\":\"The formatted amount to consider as repayment in terms of the loanAsset\"}},\"preRepay(uint256,uint256,uint256)\":{\"params\":{\"_prevTotalRepaid\":\"The total repaid amount not including the new repay amount\",\"_repayAmountInput\":\"The user-input repay amount\",\"_totalBorrowed\":\"The total borrowed amount\",\"repayAmount_\":\"The formatted amount to repay\"}},\"receiveCallFromLoan(bytes)\":{\"details\":\"No actions implemented in this module\"}},\"title\":\"ArbitraryLoanTotalNominalDeltaOracleModule Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"calcFaceValue(uint256,uint256)\":{\"notice\":\"Calculates the canonical face value of the loan\"},\"configure(bytes)\":{\"notice\":\"Configures options per-loan\"},\"getOracleInfoForLoan(address)\":{\"notice\":\"Gets the OracleInfo for a given loan\"},\"preBorrow(uint256,uint256,uint256)\":{\"notice\":\"Implements logic immediately prior to effects and interactions during a borrow\"},\"preClose(uint256,uint256)\":{\"notice\":\"Implements logic immediately prior to effects and interactions when closing a loan\"},\"preReconcile(uint256,uint256,uint256,address[])\":{\"notice\":\"Implements logic immediately prior to effects and interactions during a reconciliation, and returns the formatted amount to consider as a repayment\"},\"preRepay(uint256,uint256,uint256)\":{\"notice\":\"Implements logic immediately prior to effects and interactions during a repay, and returns the formatted amount to repay (e.g., in the case of a user-input max)\"},\"receiveCallFromLoan(bytes)\":{\"notice\":\"Receives and executes an arbitrary call from the loan contract\"}},\"notice\":\"An accounting module for a loan to apply gains or losses, via an oracle that reports the nominal delta of the total amount borrowed (ignores repayments)\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/arbitrary-loan/modules/ArbitraryLoanTotalNominalDeltaOracleModule.sol\":\"ArbitraryLoanTotalNominalDeltaOracleModule\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/arbitrary-value-oracles/IArbitraryValueOracle.sol\":{\"keccak256\":\"0x333a51889276bf987405f310cf4c585f51f86bf496c658e0451412123f675890\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ad4e7e1f597bd399c48c27b391c669893e6b557dbdd06a1725070ac29d087cf0\",\"dweb:/ipfs/QmQrWo7nActQP5Ahh1SzkRNfpxbsPQLgNd3rUkNGUfDPKW\"]},\"contracts/release/extensions/external-position-manager/external-positions/arbitrary-loan/modules/ArbitraryLoanTotalNominalDeltaOracleModule.sol\":{\"keccak256\":\"0x5d4f0797bbb381f1a72ce68b5a4b2d5608ec1809aec2ff4bd447530009d2a87e\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://0c7cd4d3dc69c62aa6733563e05bcc0d252a23f95d2637bd70ef70d9e6586346\",\"dweb:/ipfs/QmNpDEM2TyVFmtS9zrZYrQZWCmwxGc9Qj8XYzX7HzRW7yy\"]},\"contracts/release/extensions/external-position-manager/external-positions/arbitrary-loan/modules/IArbitraryLoanAccountingModule.sol\":{\"keccak256\":\"0x95b63e11b0e628c5a0bd382fb07b6fbd06bdd130ff7b8afa429f49990991c5f7\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8f7ecd88d1158d6ec02a0ae1a76c8c9cfdab49fe3d0fb344c0313376e2dc744f\",\"dweb:/ipfs/QmWeJjbsXX27ADWJpDV7pABtdGADs2nk4gmSUN9dtA7X2S\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/math/SignedSafeMath.sol\":{\"keccak256\":\"0xd17ac7e1d8f83d20d80e652adfed83da122f3a3c7b69fefa2985d85aebf0a3e9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://64e13936e5e7382737f9c12918f5365fd9e68bf96e83d66f3323f47b1d7162c7\",\"dweb:/ipfs/Qmd2qkUCFdpAXJ6NNTkPxmkKaPzYYmeBhDey8N8XN39wqw\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "loan", "type": "address", "indexed": true }, { "internalType": "address", "name": "oracle", "type": "address", "indexed": true }, { "internalType": "uint32", "name": "stalenessThreshold", "type": "uint32", "indexed": false } ], "type": "event", "name": "OracleSetForLoan", "anonymous": false }, { "inputs": [ { "internalType": "uint256", "name": "_totalBorrowed", "type": "uint256" }, { "internalType": "uint256", "name": "_totalRepaid", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "calcFaceValue", "outputs": [ { "internalType": "uint256", "name": "faceValue_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "bytes", "name": "_configData", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "configure" }, { "inputs": [ { "internalType": "address", "name": "_loan", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getOracleInfoForLoan", "outputs": [ { "internalType": "struct ArbitraryLoanTotalNominalDeltaOracleModule.OracleInfo", "name": "oracleInfo_", "type": "tuple", "components": [ { "internalType": "address", "name": "oracle", "type": "address" }, { "internalType": "uint32", "name": "stalenessThreshold", "type": "uint32" } ] } ] }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "preBorrow" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "preClose" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "_repayableLoanAssetAmount", "type": "uint256" }, { "internalType": "address[]", "name": "", "type": "address[]" } ], "stateMutability": "nonpayable", "type": "function", "name": "preReconcile", "outputs": [ { "internalType": "uint256", "name": "repayAmount_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_totalBorrowed", "type": "uint256" }, { "internalType": "uint256", "name": "_prevTotalRepaid", "type": "uint256" }, { "internalType": "uint256", "name": "_repayAmountInput", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "preRepay", "outputs": [ { "internalType": "uint256", "name": "repayAmount_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "receiveCallFromLoan" } ], "devdoc": { "kind": "dev", "methods": { "calcFaceValue(uint256,uint256)": { "params": { "_totalBorrowed": "The total borrowed amount", "_totalRepaid": "The total repaid amount" }, "returns": { "faceValue_": "The face value" } }, "configure(bytes)": { "params": { "_configData": "Encoded options" } }, "getOracleInfoForLoan(address)": { "params": { "_loan": "The loan address" }, "returns": { "oracleInfo_": "The oracle info" } }, "preBorrow(uint256,uint256,uint256)": { "details": "Unimplemented" }, "preClose(uint256,uint256)": { "details": "Unimplemented" }, "preReconcile(uint256,uint256,uint256,address[])": { "details": "Should not revert in case of over-repayment. Instead, it is recommended to return the full loan balance as repayAmount_ where necessary.", "params": { "_repayableLoanAssetAmount": "The loanAsset amount available for repayment" }, "returns": { "repayAmount_": "The formatted amount to consider as repayment in terms of the loanAsset" } }, "preRepay(uint256,uint256,uint256)": { "params": { "_prevTotalRepaid": "The total repaid amount not including the new repay amount", "_repayAmountInput": "The user-input repay amount", "_totalBorrowed": "The total borrowed amount", "repayAmount_": "The formatted amount to repay" } }, "receiveCallFromLoan(bytes)": { "details": "No actions implemented in this module" } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "calcFaceValue(uint256,uint256)": { "notice": "Calculates the canonical face value of the loan" }, "configure(bytes)": { "notice": "Configures options per-loan" }, "getOracleInfoForLoan(address)": { "notice": "Gets the OracleInfo for a given loan" }, "preBorrow(uint256,uint256,uint256)": { "notice": "Implements logic immediately prior to effects and interactions during a borrow" }, "preClose(uint256,uint256)": { "notice": "Implements logic immediately prior to effects and interactions when closing a loan" }, "preReconcile(uint256,uint256,uint256,address[])": { "notice": "Implements logic immediately prior to effects and interactions during a reconciliation, and returns the formatted amount to consider as a repayment" }, "preRepay(uint256,uint256,uint256)": { "notice": "Implements logic immediately prior to effects and interactions during a repay, and returns the formatted amount to repay (e.g., in the case of a user-input max)" }, "receiveCallFromLoan(bytes)": { "notice": "Receives and executes an arbitrary call from the loan contract" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/external-position-manager/external-positions/arbitrary-loan/modules/ArbitraryLoanTotalNominalDeltaOracleModule.sol": "ArbitraryLoanTotalNominalDeltaOracleModule" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/arbitrary-value-oracles/IArbitraryValueOracle.sol": { "keccak256": "0x333a51889276bf987405f310cf4c585f51f86bf496c658e0451412123f675890", "urls": [ "bzz-raw://ad4e7e1f597bd399c48c27b391c669893e6b557dbdd06a1725070ac29d087cf0", "dweb:/ipfs/QmQrWo7nActQP5Ahh1SzkRNfpxbsPQLgNd3rUkNGUfDPKW" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/arbitrary-loan/modules/ArbitraryLoanTotalNominalDeltaOracleModule.sol": { "keccak256": "0x5d4f0797bbb381f1a72ce68b5a4b2d5608ec1809aec2ff4bd447530009d2a87e", "urls": [ "bzz-raw://0c7cd4d3dc69c62aa6733563e05bcc0d252a23f95d2637bd70ef70d9e6586346", "dweb:/ipfs/QmNpDEM2TyVFmtS9zrZYrQZWCmwxGc9Qj8XYzX7HzRW7yy" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/arbitrary-loan/modules/IArbitraryLoanAccountingModule.sol": { "keccak256": "0x95b63e11b0e628c5a0bd382fb07b6fbd06bdd130ff7b8afa429f49990991c5f7", "urls": [ "bzz-raw://8f7ecd88d1158d6ec02a0ae1a76c8c9cfdab49fe3d0fb344c0313376e2dc744f", "dweb:/ipfs/QmWeJjbsXX27ADWJpDV7pABtdGADs2nk4gmSUN9dtA7X2S" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/math/SignedSafeMath.sol": { "keccak256": "0xd17ac7e1d8f83d20d80e652adfed83da122f3a3c7b69fefa2985d85aebf0a3e9", "urls": [ "bzz-raw://64e13936e5e7382737f9c12918f5365fd9e68bf96e83d66f3323f47b1d7162c7", "dweb:/ipfs/Qmd2qkUCFdpAXJ6NNTkPxmkKaPzYYmeBhDey8N8XN39wqw" ], "license": "MIT" } }, "version": 1 }, "id": 97 } diff --git a/eth_defi/abi/enzyme/ArbitraryTokenPhasedSharesWrapperFactory.json b/eth_defi/abi/enzyme/ArbitraryTokenPhasedSharesWrapperFactory.json index 5832746b..4899e066 100644 --- a/eth_defi/abi/enzyme/ArbitraryTokenPhasedSharesWrapperFactory.json +++ b/eth_defi/abi/enzyme/ArbitraryTokenPhasedSharesWrapperFactory.json @@ -1,702 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_dispatcher", - "type": "address" - }, - { - "internalType": "address", - "name": "_addressListRegistry", - "type": "address" - }, - { - "internalType": "address", - "name": "_fundDeployerV4", - "type": "address" - }, - { - "internalType": "address", - "name": "_protocolFeeRecipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_protocolFeeBps", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "caller", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "proxy", - "type": "address" - } - ], - "name": "ProxyDeployed", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_depositToken", - "type": "address" - }, - { - "internalType": "uint128", - "name": "_allowedDepositorListId", - "type": "uint128" - }, - { - "internalType": "bool", - "name": "_transfersAllowed", - "type": "bool" - }, - { - "internalType": "uint128", - "name": "_totalDepositMax", - "type": "uint128" - }, - { - "internalType": "address", - "name": "_feeRecipient", - "type": "address" - }, - { - "internalType": "uint16", - "name": "_feeBps", - "type": "uint16" - }, - { - "internalType": "bool", - "name": "_feeExcludesDepositTokenPrincipal", - "type": "bool" - }, - { - "internalType": "address", - "name": "_manager", - "type": "address" - } - ], - "name": "deploy", - "outputs": [ - { - "internalType": "address", - "name": "wrapperProxy_", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x60a060405234801561001057600080fd5b50604051614653380380614653833981810160405260a081101561003357600080fd5b508051602082015160408084015160608501516080909501519151939492939092919085908590859085908590309061006b906100db565b6001600160a01b039687168152948616602086015292851660408086019190915291851660608501526080840152921660a082015290519081900360c001906000f0801580156100bf573d6000803e3d6000fd5b5060601b6001600160601b031916608052506100e89350505050565b613fec8061066783390190565b60805160601c6105626101056000398061015752506105626000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063e050772d14610030575b600080fd5b6100a3600480360361012081101561004757600080fd5b506001600160a01b03813581169160208101358216916001600160801b036040830135811692606081013515159260808201359092169160a082013581169161ffff60c0820135169160e08201351515916101000135166100bf565b604080516001600160a01b039092168252519081900360200190f35b604080516001600160a01b03808c166024830152808b1660448301526001600160801b03808b1660648401528915156084840152881660a483015280871660c483015261ffff861660e48301528415156101048301528316610124808301919091528251808303909101815261014490910182526020810180516001600160e01b0316635732957b60e11b17905290516000919081907f00000000000000000000000000000000000000000000000000000000000000009061018090610268565b8080602001836001600160a01b03168152602001828103825284818151815260200191508051906020019080838360005b838110156101c95781810151838201526020016101b1565b50505050905090810190601f1680156101f65780820380516001836020036101000a031916815260200191505b509350505050604051809103906000f080158015610218573d6000803e3d6000fd5b50604080516001600160a01b0383168152905191935033917f3d2489efb661e8b1c3679865db649ca1de61d76a71184a1234de2e55786a6aad9181900360200190a2509998505050505050505050565b6102e0806102768339019056fe60a060405234801561001057600080fd5b506040516102e03803806102e08339818101604052604081101561003357600080fd5b810190808051604051939291908464010000000082111561005357600080fd5b90830190602082018581111561006857600080fd5b825164010000000081118282018810171561008257600080fd5b82525081516020918201929091019080838360005b838110156100af578181015183820152602001610097565b50505050905090810190601f1680156100dc5780820380516001836020036101000a031916815260200191505b50604052602001805190602001909291905050508181806001600160a01b03166080816001600160a01b031660601b81525050807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5560006060826001600160a01b0316846040518082805190602001908083835b602083106101705780518252601f199092019160209182019101610151565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d80600081146101d0576040519150601f19603f3d011682016040523d82523d6000602084013e6101d5565b606091505b50915091508181906102655760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561022a578181015183820152602001610212565b50505050905090810190601f1680156102575780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5050505050505060805160601c605a6102866000398060065250605a6000f3fe60806040527f00000000000000000000000000000000000000000000000000000000000000003660008037600080366000846127105a03f43d806000803e818015604857816000f35b816000fdfea164736f6c634300060c000aa164736f6c634300060c000a6101606040523480156200001257600080fd5b5060405162003fec38038062003fec833981810160405260c08110156200003857600080fd5b5080516020808301516040808501516060860151608087015160a09097015183518085018552601981527f5772617070656420456e7a796d6520536861726573204c696200000000000000818801908152855180870190965260098652683ba2a72d2316b634b160b91b97860197909752805197989597939692959491939092620000c7916003919062000135565b508051620000dd90600490602084019062000135565b50506005805460ff19166012179055506001600160601b0319606095861b811660805295851b861660a05292841b851660c05291831b841660e05261010091909152811b9091166101205230901b61014052620001d1565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200017857805160ff1916838001178555620001a8565b82800160010185558215620001a8579182015b82811115620001a85782518255916020019190600101906200018b565b50620001b6929150620001ba565b5090565b5b80821115620001b65760008155600101620001bb565b60805160601c60a05160601c60c05160601c60e05160601c610100516101205160601c6101405160601c613db06200023c600039806107775280611692525080612cb0525080612c1e525080611dc3525080611e2c525080611e565250806121955250613db06000f3fe608060405234801561001057600080fd5b50600436106101e55760003560e01c8063907e3df31161010f578063b6b55f25116100a2578063dd62ed3e11610071578063dd62ed3e146106b6578063e9085cc7146106e4578063ecb6abd61461070a578063fb1b5c7b14610762576101e5565b8063b6b55f2514610663578063c980918714610680578063d0ebdbe714610688578063d5009584146106ae576101e5565b8063a161a512116100de578063a161a51214610590578063a457c2d714610598578063a9059cbb146105c4578063ae652af6146105f0576101e5565b8063907e3df31461044c578063913cc04a1461045457806395d89b411461047a57806399eca69f14610482576101e5565b8063313ce567116101875780636edac21b116101565780636edac21b146103a857806370a08231146103b0578063851bda82146103d65780638c43447114610444576101e5565b8063313ce56714610330578063395093511461034e57806340806ae61461037a5780634ccb20c014610384576101e5565b80631865c57d116101c35780631865c57d146102c15780632207b386146102ea57806323b872dd146102f25780632c92809814610328576101e5565b806306fdde03146101ea578063095ea7b31461026757806318160ddd146102a7575b600080fd5b6101f261076a565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561022c578181015183820152602001610214565b50505050905090810190601f1680156102595780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102936004803603604081101561027d57600080fd5b506001600160a01b038135169060200135610956565b604080519115158252519081900360200190f35b6102af610974565b60408051918252519081900360200190f35b6102c961097a565b604051808260028111156102d957fe5b815260200191505060405180910390f35b6102af61098a565b6102936004803603606081101561030857600080fd5b506001600160a01b038135811691602081013590911690604001356109a0565b6102af610a10565b610338610a21565b6040805160ff9092168252519081900360200190f35b6102936004803603604081101561036457600080fd5b506001600160a01b038135169060200135610a26565b610382610a79565b005b61038c610e59565b604080516001600160a01b039092168252519081900360200190f35b610293610e68565b6102af600480360360208110156103c657600080fd5b50356001600160a01b0316610e78565b610382600480360360208110156103ec57600080fd5b810190602081018135600160201b81111561040657600080fd5b82018360208201111561041857600080fd5b803590602001918460208302840111600160201b8311171561043957600080fd5b509092509050610e97565b6102af6115eb565b6102936115fa565b6103826004803603602081101561046a57600080fd5b50356001600160801b031661160a565b6101f2611685565b6104f76004803603604081101561049857600080fd5b81359190810190604081016020820135600160201b8111156104b957600080fd5b8201836020820111156104cb57600080fd5b803590602001918460208302840111600160201b831117156104ec57600080fd5b509092509050611828565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b8381101561053b578181015183820152602001610523565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561057a578181015183820152602001610562565b5050505090500194505050505060405180910390f35b6102af611cd8565b610293600480360360408110156105ae57600080fd5b506001600160a01b038135169060200135611ceb565b610293600480360360408110156105da57600080fd5b506001600160a01b038135169060200135611d53565b610382600480360361012081101561060757600080fd5b506001600160a01b03813581169160208101358216916001600160801b036040830135811692606081013515159260808201359092169160a082013581169161ffff60c0820135169160e0820135151591610100013516611db8565b6103826004803603602081101561067957600080fd5b50356120f5565b61038c6123f4565b6103826004803603602081101561069e57600080fd5b50356001600160a01b0316612403565b61038c612476565b6102af600480360360408110156106cc57600080fd5b506001600160a01b038135811691602001351661248a565b610382600480360360208110156106fa57600080fd5b50356001600160801b03166124b5565b610712612528565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561074e578181015183820152602001610736565b505050509050019250505060405180910390f35b61038c61258a565b6060306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156107ac576107a5612599565b9050610953565b6107b46123f4565b6001600160a01b03166306fdde036040518163ffffffff1660e01b815260040160006040518083038186803b1580156107ec57600080fd5b505afa158015610800573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561082957600080fd5b8101908080516040519392919084600160201b82111561084857600080fd5b90830190602082018581111561085d57600080fd5b8251600160201b81118282018810171561087657600080fd5b82525081516020918201929091019080838360005b838110156108a357818101518382015260200161088b565b50505050905090810190601f1680156108d05780820380516001836020036101000a031916815260200191505b5060405250505060405160200180806702bb930b83832b2160c51b81525060080182805190602001908083835b6020831061091c5780518252601f1990920191602091820191016108fd565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405160208183030381529060405290505b90565b600061096a610963612626565b848461262a565b5060015b92915050565b60025490565b600754600160a01b900460ff1690565b600854600160801b90046001600160801b031690565b60006109aa610e68565b6109fb576040805162461bcd60e51b815260206004820181905260248201527f6f6e6c795472616e7366657273416c6c6f7765643a20446973616c6c6f776564604482015290519081900360640190fd5b610a06848484612716565b90505b9392505050565b600954600160c01b900461ffff1690565b601290565b600061096a610a33612626565b84610a748560016000610a44612626565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490612798565b61262a565b6000610a836123f4565b9050610a8f33826127f2565b6000610a9961097a565b6002811115610aa457fe5b14610af6576040805162461bcd60e51b815260206004820152601f60248201527f656e7465724c6f636b656453746174653a20496e76616c696420737461746500604482015290519081900360640190fd5b6000816001600160a01b0316635a53e3486040518163ffffffff1660e01b815260040160206040518083038186803b158015610b3157600080fd5b505afa158015610b45573d6000803e3d6000fd5b505050506040513d6020811015610b5b57600080fd5b505160408051637134e1eb60e11b815290519192506000916001600160a01b0384169163e269c3d6916004808301926020929190829003018186803b158015610ba357600080fd5b505afa158015610bb7573d6000803e3d6000fd5b505050506040513d6020811015610bcd57600080fd5b5051604080516370a0823160e01b815230600482015290519192506000916001600160a01b038416916370a08231916024808301926020929190829003018186803b158015610c1b57600080fd5b505afa158015610c2f573d6000803e3d6000fd5b505050506040513d6020811015610c4557600080fd5b50519050610c5d6001600160a01b0383168483612871565b6000836001600160a01b031663beebc5da8360016040518363ffffffff1660e01b81526004018083815260200182815260200192505050602060405180830381600087803b158015610cae57600080fd5b505af1158015610cc2573d6000803e3d6000fd5b505050506040513d6020811015610cd857600080fd5b5051604080516318160ddd60e01b81529051919250600091610d589184916001600160a01b038a16916318160ddd916004808301926020929190829003018186803b158015610d2657600080fd5b505afa158015610d3a573d6000803e3d6000fd5b505050506040513d6020811015610d5057600080fd5b505190612989565b9050801580610d715750610d6e816127106129e6565b82115b610dac5760405162461bcd60e51b8152600401808060200182810382526024815260200180613c236024913960400191505060405180910390fd5b610db66001612a3f565b6000610dc061258a565b9050610e5087826001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610e1357600080fd5b505afa158015610e27573d6000803e3d6000fd5b505050506040513d6020811015610e3d57600080fd5b50516001600160a01b0384169190612aa8565b50505050505050565b6009546001600160a01b031690565b600954600160e01b900460ff1690565b6001600160a01b0381166000908152602081905260409020545b919050565b6000610ea16123f4565b9050610ead33826127f2565b6001610eb761097a565b6002811115610ec257fe5b14610f14576040805162461bcd60e51b815260206004820152601f60248201527f656e74657252656465656d53746174653a20496e76616c696420737461746500604482015290519081900360640190fd5b6060816001600160a01b031663b8b7f1476040518163ffffffff1660e01b815260040160006040518083038186803b158015610f4f57600080fd5b505afa158015610f63573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526020811015610f8c57600080fd5b8101908080516040519392919084600160201b821115610fab57600080fd5b908301906020820185811115610fc057600080fd5b82518660208202830111600160201b82111715610fdc57600080fd5b82525081516020918201928201910280838360005b83811015611009578181015183820152602001610ff1565b50505050905001604052505050905060005b815181101561123457606082828151811061103257fe5b60200260200101516001600160a01b03166380daddb86040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561107457600080fd5b505af1158015611088573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160409081528110156110b157600080fd5b8101908080516040519392919084600160201b8211156110d057600080fd5b9083019060208201858111156110e557600080fd5b82518660208202830111600160201b8211171561110157600080fd5b82525081516020918201928201910280838360005b8381101561112e578181015183820152602001611116565b5050505090500160405260200180516040519392919084600160201b82111561115657600080fd5b90830190602082018581111561116b57600080fd5b82518660208202830111600160201b8211171561118757600080fd5b82525081516020918201928201910280838360005b838110156111b457818101518382015260200161119c565b5050505090500160405250505091505060005b815181101561122a578181815181106111dc57fe5b60200260200101516000146112225760405162461bcd60e51b8152600401808060200182810382526032815260200180613bc86032913960400191505060405180910390fd5b6001016111c7565b505060010161101b565b50600061123f6123f4565b6001600160a01b0316635a53e3486040518163ffffffff1660e01b815260040160206040518083038186803b15801561127757600080fd5b505afa15801561128b573d6000803e3d6000fd5b505050506040513d60208110156112a157600080fd5b5051905060606112ee6112b261258a565b8787808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509293925050612afa9050565b90506060806001600160a01b038416636af8e7eb30600019866000604051908082528060200260200182016040528015611332578160200160208202803683370190505b506040518563ffffffff1660e01b815260040180856001600160a01b031681526020018481526020018060200180602001838103835285818151815260200191508051906020019060200280838360005b8381101561139b578181015183820152602001611383565b50505050905001838103825284818151815260200191508051906020019060200280838360005b838110156113da5781810151838201526020016113c2565b505050509050019650505050505050600060405180830381600087803b15801561140357600080fd5b505af1158015611417573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604090815281101561144057600080fd5b8101908080516040519392919084600160201b82111561145f57600080fd5b90830190602082018581111561147457600080fd5b82518660208202830111600160201b8211171561149057600080fd5b82525081516020918201928201910280838360005b838110156114bd5781810151838201526020016114a5565b5050505090500160405260200180516040519392919084600160201b8211156114e557600080fd5b9083019060208201858111156114fa57600080fd5b82518660208202830111600160201b8211171561151657600080fd5b82525081516020918201928201910280838360005b8381101561154357818101518382015260200161152b565b5050505090500160405250505091509150606060005b83518110156115af57600083828151811061157057fe5b602002602001015111156115a7576115a484828151811061158d57fe5b602002602001015183612b1890919063ffffffff16565b91505b600101611559565b5080516115c390600a906020840190613a8e565b506115cd81612be3565b6115d681612d61565b6115e06002612a3f565b505050505050505050565b6008546001600160801b031690565b600954600160d01b900460ff1690565b61161a6116156123f4565b612f68565b6001600160a01b0316336001600160a01b031614611679576040805162461bcd60e51b81526020600482015260176024820152761bdb9b1e53dddb995c8e88155b985d5d1a1bdc9a5e9959604a1b604482015290519081900360640190fd5b61168281612fd5565b50565b6060306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156116c0576107a5613028565b6116c86123f4565b6001600160a01b03166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b15801561170057600080fd5b505afa158015611714573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561173d57600080fd5b8101908080516040519392919084600160201b82111561175c57600080fd5b90830190602082018581111561177157600080fd5b8251600160201b81118282018810171561178a57600080fd5b82525081516020918201929091019080838360005b838110156117b757818101518382015260200161179f565b50505050905090810190601f1680156117e45780820380516001836020036101000a031916815260200191505b506040525050506040516020018080607760f81b81525060010182805190602001908083836020831061091c5780518252601f1990920191602091820191016108fd565b6009546060908190600160d81b900460ff161561188c576040805162461bcd60e51b815260206004820152601860248201527f6e6f6e5265656e7472616e743a205265656e7472616e63790000000000000000604482015290519081900360640190fd5b6009805460ff60d81b1916600160d81b17905560006118a961097a565b905060018160028111156118b957fe5b141561190c576040805162461bcd60e51b815260206004820152601960248201527f77697468647261773a20556e616c6c6f77656420537461746500000000000000604482015290519081900360640190fd5b600081600281111561191a57fe5b14156119b757831561195d5760405162461bcd60e51b8152600401808060200182810382526029815260200180613bfa6029913960400191505060405180910390fd5b604080516001808252818301909252906020808301908036833701905050925061198561258a565b8360008151811061199257fe5b60200260200101906001600160a01b031690816001600160a01b031681525050611a77565b6119f385858080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061308992505050565b611a2e5760405162461bcd60e51b8152600401808060200182810382526025815260200180613c906025913960400191505060405180910390fd5b611a74858580806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250611a6e9250612528915050565b90613113565b92505b6000611a81610974565b9050611a8d3388613267565b835167ffffffffffffffff81118015611aa557600080fd5b50604051908082528060200260200182016040528015611acf578160200160208202803683370190505b50925060005b8451811015611bf1576000858281518110611aec57fe5b60200260200101519050611b8383611b7d8b846001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015611b4b57600080fd5b505afa158015611b5f573d6000803e3d6000fd5b505050506040513d6020811015611b7557600080fd5b5051906129e6565b90613363565b858381518110611b8f57fe5b6020026020010181815250506000858381518110611ba957fe5b60200260200101511115611be857611be833868481518110611bc757fe5b6020026020010151836001600160a01b0316612aa89092919063ffffffff16565b50600101611ad5565b50336001600160a01b03167f3e4e319c3be0696253cf2e6260a96ddf9a8fa8cfc0e7186500bbcfcef899194d888686604051808481526020018060200180602001838103835285818151815260200191508051906020019060200280838360005b83811015611c6a578181015183820152602001611c52565b50505050905001838103825284818151815260200191508051906020019060200280838360005b83811015611ca9578181015183820152602001611c91565b505050509050019550505050505060405180910390a250506009805460ff60d81b191690559094909350915050565b600954600160a01b900463ffffffff1690565b600061096a611cf8612626565b84610a7485604051806060016040528060258152602001613d7f6025913960016000611d22612626565b6001600160a01b03908116825260208083019390935260409182016000908120918d168152925290205491906133ca565b6000611d5d610e68565b611dae576040805162461bcd60e51b815260206004820181905260248201527f6f6e6c795472616e7366657273416c6c6f7765643a20446973616c6c6f776564604482015290519081900360640190fd5b610a098383613461565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611e2a576040805162461bcd60e51b81526020600482015260126024820152711a5b9a5d0e88155b985d5d1a1bdc9a5e995960721b604482015290519081900360640190fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316633d7c74f88b6040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015611ec157600080fd5b505afa158015611ed5573d6000803e3d6000fd5b505050506040513d6020811015611eeb57600080fd5b50516001600160a01b031614611f48576040805162461bcd60e51b815260206004820152601760248201527f696e69743a20426164207661756c742076657273696f6e000000000000000000604482015290519081900360640190fd5b600780546001600160a01b03808b166001600160a01b03199283161790925560068054928c16929091169190911790556001600160801b03871615611f9057611f9087613475565b6001600160a01b03811615611fa857611fa8816134d2565b6001600160801b03851615611fc057611fc085612fd5565b8515611fda576009805460ff60e01b1916600160e01b1790555b6001600160a01b03841615612085576127108361ffff161061203c576040805162461bcd60e51b81526020600482015260166024820152751a5b9a5d0e8813585e0819995948195e18d95959195960521b604482015290519081900360640190fd5b6009805461ffff60c01b1916600160c01b61ffff861602176001600160a01b0319166001600160a01b0386161790558115612085576009805460ff60d01b1916600160d01b1790555b604080516001600160a01b03808c168252808b166020830152881515828401528616606082015261ffff8516608082015283151560a082015290517fbd8aba18aec1b83d675f3b473e0bfb62d8e3a73b7c786d663bee96d559b450359181900360c00190a1505050505050505050565b60006120ff61097a565b600281111561210a57fe5b1461215c576040805162461bcd60e51b815260206004820152601860248201527f6465706f7369743a20556e616c6c6f7765642053746174650000000000000000604482015290519081900360640190fd5b60006121666115eb565b9050801561225857604080516307158c8160e21b81526004810183905233602482015290516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691631c563204916044808301926020929190829003018186803b1580156121db57600080fd5b505afa1580156121ef573d6000803e3d6000fd5b505050506040513d602081101561220557600080fd5b5051612258576040805162461bcd60e51b815260206004820152601960248201527f6465706f7369743a20556e616c6c6f7765642063616c6c657200000000000000604482015290519081900360640190fd5b600061226261258a565b9050600061226e61098a565b9050801561234557806122fa85846001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156122c857600080fd5b505afa1580156122dc573d6000803e3d6000fd5b505050506040513d60208110156122f257600080fd5b505190612798565b1115612345576040805162461bcd60e51b815260206004820152601560248201527419195c1bdcda5d0e8813585e08195e18d959591959605a1b604482015290519081900360640190fd5b61234d610974565b612399576009805463ffffffff60a01b1916600160a01b4263ffffffff16021790556040517f5798aa338c5b99bf36b74070080d9d2efadbd4a0c383148e08e3daa7219ab00c90600090a15b6123a3338561352e565b6123b86001600160a01b03831633308761361e565b60408051858152905133917f2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c4919081900360200190a250505050565b6006546001600160a01b031690565b61240e6116156123f4565b6001600160a01b0316336001600160a01b03161461246d576040805162461bcd60e51b81526020600482015260176024820152761bdb9b1e53dddb995c8e88155b985d5d1a1bdc9a5e9959604a1b604482015290519081900360640190fd5b611682816134d2565b60055461010090046001600160a01b031690565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6124c06116156123f4565b6001600160a01b0316336001600160a01b03161461251f576040805162461bcd60e51b81526020600482015260176024820152761bdb9b1e53dddb995c8e88155b985d5d1a1bdc9a5e9959604a1b604482015290519081900360640190fd5b61168281613475565b6060600a80548060200260200160405190810160405280929190818152602001828054801561258057602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311612562575b5050505050905090565b6007546001600160a01b031690565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156125805780601f106125fa57610100808354040283529160200191612580565b820191906000526020600020905b81548152906001019060200180831161260857509395945050505050565b3390565b6001600160a01b03831661266f5760405162461bcd60e51b8152600401808060200182810382526024815260200180613cfb6024913960400191505060405180910390fd5b6001600160a01b0382166126b45760405162461bcd60e51b8152600401808060200182810382526022815260200180613b586022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b600061272384848461367e565b61278e8461272f612626565b610a7485604051806060016040528060288152602001613c68602891396001600160a01b038a1660009081526001602052604081209061276d612626565b6001600160a01b0316815260208101919091526040016000205491906133ca565b5060019392505050565b600082820183811015610a09576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6127fa612476565b6001600160a01b0316826001600160a01b03161480612832575061281d81612f68565b6001600160a01b0316826001600160a01b0316145b61286d5760405162461bcd60e51b8152600401808060200182810382526028815260200180613b7a6028913960400191505060405180910390fd5b5050565b8015806128f7575060408051636eb1769f60e11b81523060048201526001600160a01b03848116602483015291519185169163dd62ed3e91604480820192602092909190829003018186803b1580156128c957600080fd5b505afa1580156128dd573d6000803e3d6000fd5b505050506040513d60208110156128f357600080fd5b5051155b6129325760405162461bcd60e51b8152600401808060200182810382526036815260200180613d496036913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526129849084906137d9565b505050565b6000828211156129e0576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6000826129f55750600061096e565b82820282848281612a0257fe5b0414610a095760405162461bcd60e51b8152600401808060200182810382526021815260200180613c476021913960400191505060405180910390fd5b6007805482919060ff60a01b1916600160a01b836002811115612a5e57fe5b02179055507fc635bb75c392e81c891d50372a48cfa81b6799ac6d594cb4c28a8c5e8bef6e9b8160405180826002811115612a9557fe5b815260200191505060405180910390a150565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526129849084906137d9565b6060612b06838361388a565b15612b1257508161096e565b610a0983835b6060825160010167ffffffffffffffff81118015612b3557600080fd5b50604051908082528060200260200182016040528015612b5f578160200160208202803683370190505b50905060005b8351811015612bae57838181518110612b7a57fe5b6020026020010151828281518110612b8e57fe5b6001600160a01b0390921660209283029190910190910152600101612b65565b508181845181518110612bbd57fe5b60200260200101906001600160a01b031690816001600160a01b03168152505092915050565b6000612bf7612bf0611cd8565b4290612989565b905060005b8251811015612984576000612ca36301e187e0611b7d612710611b7d87612c9d7f00000000000000000000000000000000000000000000000000000000000000008b8a81518110612c4957fe5b60200260200101516001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015611b4b57600080fd5b906129e6565b90508015612d5857612cfc7f000000000000000000000000000000000000000000000000000000000000000082868581518110612cdc57fe5b60200260200101516001600160a01b0316612aa89092919063ffffffff16565b7fb87e607f6030a23ed9b7dac1a717610f3a3b07325269f18808ba763bdcefe7ae848381518110612d2957fe5b60200260200101518260405180836001600160a01b031681526020018281526020019250505060405180910390a15b50600101612bfc565b6000612d6b610a10565b905080612d785750611682565b6000612d82610e59565b90506000612d8e6115fa565b15612d9e57612d9b61258a565b90505b60005b8451811015612f61576000858281518110612db857fe5b602002602001015190506000836001600160a01b0316826001600160a01b03161415612e6e57612e67826001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015612e2e57600080fd5b505afa158015612e42573d6000803e3d6000fd5b505050506040513d6020811015612e5857600080fd5b5051612e62610974565b6138e0565b9050612ee3565b604080516370a0823160e01b815230600482015290516001600160a01b038416916370a08231916024808301926020929190829003018186803b158015612eb457600080fd5b505afa158015612ec8573d6000803e3d6000fd5b505050506040513d6020811015612ede57600080fd5b505190505b6000612ef5612710611b7d848a6129e6565b90508015612f5657612f116001600160a01b0384168783612aa8565b604080516001600160a01b03851681526020810183905281517f075a2720282fdf622141dae0b048ef90a21a7e57c134c76912d19d006b3b3f6f929181900390910190a15b505050600101612da1565b5050505050565b6000816001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b158015612fa357600080fd5b505afa158015612fb7573d6000803e3d6000fd5b505050506040513d6020811015612fcd57600080fd5b505192915050565b600880546001600160801b03808416600160801b8102919092161790915560408051918252517f0e280fa5ecedea20784caab60fae774807664c009e5e229629e5eef871207db69181900360200190a150565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156125805780601f106125fa57610100808354040283529160200191612580565b6000600182511161309c57506001610e92565b815160005b8181101561278e57600181015b8281101561310a578481815181106130c257fe5b60200260200101516001600160a01b03168583815181106130df57fe5b60200260200101516001600160a01b031614156131025760009350505050610e92565b6001016130ae565b506001016130a1565b60606000805b83518110156131525761313f8585838151811061313257fe5b602002602001015161388a565b61314a576001909101905b600101613119565b5080613161578391505061096e565b8084510167ffffffffffffffff8111801561317b57600080fd5b506040519080825280602002602001820160405280156131a5578160200160208202803683370190505b50915060005b84518110156131f4578481815181106131c057fe5b60200260200101518382815181106131d457fe5b6001600160a01b03909216602092830291909101909101526001016131ab565b50835160005b845181101561325e576132138686838151811061313257fe5b6132565784818151811061322357fe5b602002602001015184838151811061323757fe5b6001600160a01b03909216602092830291909101909101526001909101905b6001016131fa565b50505092915050565b6001600160a01b0382166132ac5760405162461bcd60e51b8152600401808060200182810382526021815260200180613cb56021913960400191505060405180910390fd5b6132b882600083612984565b6132f581604051806060016040528060228152602001613b36602291396001600160a01b03851660009081526020819052604090205491906133ca565b6001600160a01b03831660009081526020819052604090205560025461331b9082612989565b6002556040805182815290516000916001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b60008082116133b9576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b8183816133c257fe5b049392505050565b600081848411156134595760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561341e578181015183820152602001613406565b50505050905090810190601f16801561344b5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600061096a61346e612626565b848461367e565b600880546001600160801b0383166fffffffffffffffffffffffffffffffff19909116811790915560408051918252517f3083d42989efabd593f083885067da3d51d2c2d68342a98d68a55eff8beed8d69181900360200190a150565b600580546001600160a01b0383166101008102610100600160a81b03199092169190911790915560408051918252517f60a0f5b9f9e81e98216071b85826681c796256fe3d1354ecb675580fba64fa699181900360200190a150565b6001600160a01b038216613589576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b61359560008383612984565b6002546135a29082612798565b6002556001600160a01b0382166000908152602081905260409020546135c89082612798565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b604080516001600160a01b0380861660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b1790526136789085906137d9565b50505050565b6001600160a01b0383166136c35760405162461bcd60e51b8152600401808060200182810382526025815260200180613cd66025913960400191505060405180910390fd5b6001600160a01b0382166137085760405162461bcd60e51b8152600401808060200182810382526023815260200180613b136023913960400191505060405180910390fd5b613713838383612984565b61375081604051806060016040528060268152602001613ba2602691396001600160a01b03861660009081526020819052604090205491906133ca565b6001600160a01b03808516600090815260208190526040808220939093559084168152205461377f9082612798565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b606061382e826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166138fc9092919063ffffffff16565b8051909150156129845780806020019051602081101561384d57600080fd5b50516129845760405162461bcd60e51b815260040180806020018281038252602a815260200180613d1f602a913960400191505060405180910390fd5b6000805b83518110156138d6578381815181106138a357fe5b60200260200101516001600160a01b0316836001600160a01b031614156138ce57600191505061096e565b60010161388e565b5060009392505050565b6000818311156138f3575080820361096e565b50600092915050565b6060610a0684846000858561391085613a22565b613961576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b602083106139a05780518252601f199092019160209182019101613981565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114613a02576040519150601f19603f3d011682016040523d82523d6000602084013e613a07565b606091505b5091509150613a17828286613a28565b979650505050505050565b3b151590565b60608315613a37575081610a09565b825115613a475782518084602001fd5b60405162461bcd60e51b815260206004820181815284516024840152845185939192839260440191908501908083836000831561341e578181015183820152602001613406565b828054828255906000526020600020908101928215613ae3579160200282015b82811115613ae357825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190613aae565b50613aef929150613af3565b5090565b5b80821115613aef5780546001600160a01b0319168155600101613af456fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a20617070726f766520746f20746865207a65726f20616464726573735f5f76616c696461746549734d616e616765724f724f776e65723a20556e617574686f72697a656445524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365656e74657252656465656d53746174653a204e6f6e2d7a65726f2076616c75652065787465726e616c20706f736974696f6e77697468647261773a204f6e6c79206465706f73697420746f6b656e20776974686472617761626c65656e7465724c6f636b656453746174653a204d696e20736861726573206e6f74206d6574536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636577697468647261773a204475706c6963617465205f6164646974696f6e616c41737365747345524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f20616464726573735361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa164736f6c634300060c000a", - "sourceMap": "664:2440:351:-:0;;;821:508;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;821:508:351;;;;;;;;;;;;;;;;;;;;1055:257;;821:508;;;;;;;;;;;;;;;;;;1293:4;;1055:257;;;:::i;:::-;-1:-1:-1;;;;;1055:257:351;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1055:257:351;;;;;;;;;;;;;;;-1:-1:-1;1028:294:351;;-1:-1:-1;;;;;;1028:294:351;;;-1:-1:-1;664:2440:351;;-1:-1:-1;;;;664:2440:351;;;;;;;;;:::o;:::-;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c8063e050772d14610030575b600080fd5b6100a3600480360361012081101561004757600080fd5b506001600160a01b03813581169160208101358216916001600160801b036040830135811692606081013515159260808201359092169160a082013581169161ffff60c0820135169160e08201351515916101000135166100bf565b604080516001600160a01b039092168252519081900360200190f35b604080516001600160a01b03808c166024830152808b1660448301526001600160801b03808b1660648401528915156084840152881660a483015280871660c483015261ffff861660e48301528415156101048301528316610124808301919091528251808303909101815261014490910182526020810180516001600160e01b0316635732957b60e11b17905290516000919081907f00000000000000000000000000000000000000000000000000000000000000009061018090610268565b8080602001836001600160a01b03168152602001828103825284818151815260200191508051906020019080838360005b838110156101c95781810151838201526020016101b1565b50505050905090810190601f1680156101f65780820380516001836020036101000a031916815260200191505b509350505050604051809103906000f080158015610218573d6000803e3d6000fd5b50604080516001600160a01b0383168152905191935033917f3d2489efb661e8b1c3679865db649ca1de61d76a71184a1234de2e55786a6aad9181900360200190a2509998505050505050505050565b6102e0806102768339019056fe60a060405234801561001057600080fd5b506040516102e03803806102e08339818101604052604081101561003357600080fd5b810190808051604051939291908464010000000082111561005357600080fd5b90830190602082018581111561006857600080fd5b825164010000000081118282018810171561008257600080fd5b82525081516020918201929091019080838360005b838110156100af578181015183820152602001610097565b50505050905090810190601f1680156100dc5780820380516001836020036101000a031916815260200191505b50604052602001805190602001909291905050508181806001600160a01b03166080816001600160a01b031660601b81525050807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5560006060826001600160a01b0316846040518082805190602001908083835b602083106101705780518252601f199092019160209182019101610151565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d80600081146101d0576040519150601f19603f3d011682016040523d82523d6000602084013e6101d5565b606091505b50915091508181906102655760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561022a578181015183820152602001610212565b50505050905090810190601f1680156102575780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5050505050505060805160601c605a6102866000398060065250605a6000f3fe60806040527f00000000000000000000000000000000000000000000000000000000000000003660008037600080366000846127105a03f43d806000803e818015604857816000f35b816000fdfea164736f6c634300060c000aa164736f6c634300060c000a", - "sourceMap": "664:2440:351:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2149:953;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;2149:953:351;;;;;;;;;;;;-1:-1:-1;;;;;2149:953:351;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;2149:953:351;;;;;;;;;;;;;;;2547:363;;;-1:-1:-1;;;;;2547:363:351;;;;;;;;;;;;;;-1:-1:-1;;;;;2547:363:351;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2547:363:351;-1:-1:-1;;;2547:363:351;;;2945:62;;2485:21;;2547:363;;;3003:3;;2945:62;;;:::i;:::-;;;;;;-1:-1:-1;;;;;2945:62:351;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3024:40:351;;;-1:-1:-1;;;;;3024:40:351;;;;;;2921:87;;-1:-1:-1;3038:10:351;;3024:40;;;;;;;;;3075:20;2149:953;;;;;;;;;;;:::o;-1:-1:-1:-;;;;;;;;:::o", - "linkReferences": {}, - "immutableReferences": { - "74835": [ - { - "start": 343, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "deploy(address,address,uint128,bool,uint128,address,uint16,bool,address)": "e050772d" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_dispatcher\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_addressListRegistry\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_fundDeployerV4\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_protocolFeeRecipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_protocolFeeBps\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"proxy\",\"type\":\"address\"}],\"name\":\"ProxyDeployed\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_depositToken\",\"type\":\"address\"},{\"internalType\":\"uint128\",\"name\":\"_allowedDepositorListId\",\"type\":\"uint128\"},{\"internalType\":\"bool\",\"name\":\"_transfersAllowed\",\"type\":\"bool\"},{\"internalType\":\"uint128\",\"name\":\"_totalDepositMax\",\"type\":\"uint128\"},{\"internalType\":\"address\",\"name\":\"_feeRecipient\",\"type\":\"address\"},{\"internalType\":\"uint16\",\"name\":\"_feeBps\",\"type\":\"uint16\"},{\"internalType\":\"bool\",\"name\":\"_feeExcludesDepositTokenPrincipal\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"_manager\",\"type\":\"address\"}],\"name\":\"deploy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"wrapperProxy_\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"deploy(address,address,uint128,bool,uint128,address,uint16,bool,address)\":{\"params\":{\"_allowedDepositorListId\":\"The id of an AddressListRegistry list to use for validating allowed depositors\",\"_depositToken\":\"The token that users deposit to the wrapper to receive wrapped shares\",\"_feeBps\":\"The wrapper fee amount in bps\",\"_feeExcludesDepositTokenPrincipal\":\"True if the fee excludes the total _depositToken amount deposited\",\"_feeRecipient\":\"The recipient of the wrapper fee\",\"_manager\":\"The manager of the wrapper\",\"_totalDepositMax\":\"The total amount of deposit token that can be deposited\",\"_transfersAllowed\":\"True if wrapped shares transfers are allowed\",\"_vaultProxy\":\"The VaultProxy that will have its shares wrapped\"}}},\"title\":\"ArbitraryTokenPhasedSharesWrapperFactory Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"deploy(address,address,uint128,bool,uint128,address,uint16,bool,address)\":{\"notice\":\"Deploys a ArbitraryTokenPhasedSharesWrapperProxy instance\"}},\"notice\":\"A contract factory for ArbitraryTokenPhasedSharesWrapperProxy instances\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/peripheral/shares-wrappers/arbitrary-token-phased/ArbitraryTokenPhasedSharesWrapperFactory.sol\":\"ArbitraryTokenPhasedSharesWrapperFactory\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/address-list-registry/AddressListRegistry.sol\":{\"keccak256\":\"0xf00a9e376e3ec2a223f463f71c15ee3af3642dd028bc3762440e316b760c8048\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://01986c9327b5dfbfac21316dced6d68727931ddde1278ed1342d878004f984b9\",\"dweb:/ipfs/QmdXkFaUU43JqMTYEREbWa129rohdqN7GXy7mVRpjCfSLD\"]},\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/persistent/protocol-fee-reserve/interfaces/IProtocolFeeReserve1.sol\":{\"keccak256\":\"0x2728878c423db523bc95189137e8c58d2d7db9f56bbd5c6b1f988c08b551fbab\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3b0df1d2eb74151265d03ab91a7c341f7beca475dd2f4d669052dbc4ee2c06ac\",\"dweb:/ipfs/QmVx1cgrxQNYfdK1Kn15pcgqf79Uw8bF3U6i7F2HG2rj6G\"]},\"contracts/persistent/vault/VaultLibBase1.sol\":{\"keccak256\":\"0xa4dac1e4cdb311a2ab187135355357d8790c505ef36dd912c057fe53743d30b5\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b66efe821016ab927c949263023260515e90f5d480dc8d94eefbfeec7bf7490b\",\"dweb:/ipfs/QmNY3xKnhL9EptAbxGvXHGAXfV9pj3dDPwsZnKrPs54ZHw\"]},\"contracts/persistent/vault/VaultLibBase2.sol\":{\"keccak256\":\"0xf7d31f2a9a47770ed3f444be2c4fe9262ddb55fef7f25e546b1f03c9afec4c09\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9353ddce7c9b8b3c13fed23fe8edec99ca610d791b0c5b204b3d01f1f08d07d2\",\"dweb:/ipfs/QmeVsEh3joCjv49BRXeHASevnZZ5xdZXpkctHT8BPf37N2\"]},\"contracts/persistent/vault/VaultLibBaseCore.sol\":{\"keccak256\":\"0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd\",\"dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz\"]},\"contracts/persistent/vault/interfaces/IExternalPositionVault.sol\":{\"keccak256\":\"0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d\",\"dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8\"]},\"contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol\":{\"keccak256\":\"0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb\",\"dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU\"]},\"contracts/persistent/vault/interfaces/IMigratableVault.sol\":{\"keccak256\":\"0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6\",\"dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs\"]},\"contracts/persistent/vault/interfaces/IVaultCore.sol\":{\"keccak256\":\"0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd\",\"dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr\"]},\"contracts/persistent/vault/utils/ProxiableVaultLib.sol\":{\"keccak256\":\"0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44\",\"dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4\"]},\"contracts/persistent/vault/utils/SharesTokenBase.sol\":{\"keccak256\":\"0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8\",\"dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4\"]},\"contracts/persistent/vault/utils/VaultLibSafeMath.sol\":{\"keccak256\":\"0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02\",\"dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG\"]},\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/core/fund/comptroller/ComptrollerLib.sol\":{\"keccak256\":\"0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579\",\"dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq\"]},\"contracts/release/core/fund/comptroller/IComptroller.sol\":{\"keccak256\":\"0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97\",\"dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L\"]},\"contracts/release/core/fund/vault/IVault.sol\":{\"keccak256\":\"0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599\",\"dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG\"]},\"contracts/release/core/fund/vault/VaultLib.sol\":{\"keccak256\":\"0x07e49445ab55c01e1b499a48baadc2a15d1eba621f1c6d3ccfdb84c87b976da8\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://56d882459248f73e137db2e097fc56b946147fb28ec21661b77431f88e856cb4\",\"dweb:/ipfs/QmRP6Ry7DCS5uoKxnnkTomHSzbaCze6cHqbR9aLdjoF6vK\"]},\"contracts/release/extensions/IExtension.sol\":{\"keccak256\":\"0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70\",\"dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t\"]},\"contracts/release/extensions/external-position-manager/IExternalPositionManager.sol\":{\"keccak256\":\"0x3af3f634e1f99fb97091b7825c0d2e2baaafc124d4e87d56cb0c17ff8554f6c6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://515470605afe5ef147f30fa75ce7818f0e00e3d321eb81a4d9bffcdefc294495\",\"dweb:/ipfs/QmPKsp99pfHoz9Tfo3ZxnkmqDqJtN9PxqacF2RmeVfxUJF\"]},\"contracts/release/extensions/fee-manager/IFeeManager.sol\":{\"keccak256\":\"0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22\",\"dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod\"]},\"contracts/release/extensions/policy-manager/IPolicyManager.sol\":{\"keccak256\":\"0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa\",\"dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb\"]},\"contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol\":{\"keccak256\":\"0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f\",\"dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol\":{\"keccak256\":\"0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0\",\"dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol\":{\"keccak256\":\"0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b\",\"dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3\"]},\"contracts/release/infrastructure/protocol-fees/IProtocolFeeTracker.sol\":{\"keccak256\":\"0x232b347f83457439064add7369bfe1930c7cb56f15930bb87d640e909c15e447\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://24f9af5eebdd373b1d7a598c096eb6def31b2640d54416d7d5a7226e1cef17e6\",\"dweb:/ipfs/QmStq9ByGuSYdKwTmZf52L1X6sZVJUfXTnoVbnjLLiUcHG\"]},\"contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol\":{\"keccak256\":\"0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965\",\"dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ\"]},\"contracts/release/interfaces/IGsnForwarder.sol\":{\"keccak256\":\"0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29\",\"dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G\"]},\"contracts/release/interfaces/IGsnPaymaster.sol\":{\"keccak256\":\"0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4\",\"dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF\"]},\"contracts/release/interfaces/IGsnTypes.sol\":{\"keccak256\":\"0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7\",\"dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C\"]},\"contracts/release/interfaces/IWETH.sol\":{\"keccak256\":\"0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2\",\"dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ\"]},\"contracts/release/peripheral/shares-wrappers/arbitrary-token-phased/ArbitraryTokenPhasedSharesWrapperFactory.sol\":{\"keccak256\":\"0xe5abfb756aee066effadd35793d45911efc9dfe2600b5e3fd08f3d327e64a987\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c5aeff5df386d5b82a70c6253a3cba16ab4004de024f3558df1437e5fd8abd4c\",\"dweb:/ipfs/QmQv4RimWL5fbKYxtbcaYLdHwowi7kypaDm2AhWnPKdhR9\"]},\"contracts/release/peripheral/shares-wrappers/arbitrary-token-phased/ArbitraryTokenPhasedSharesWrapperLib.sol\":{\"keccak256\":\"0xc30ef4e60784b2b7f9cfde28f19b632f122b10e8c0ee6e651cb4103164b6266c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a8f196fcadc70d8e6eebad3dfd1147e929bb41e2813cac84650ed6d898d40db6\",\"dweb:/ipfs/QmSDEnTBR9mqLwGFxDECctyWBgNUuQv5oSCMZW9BFoTXtE\"]},\"contracts/release/peripheral/shares-wrappers/arbitrary-token-phased/ArbitraryTokenPhasedSharesWrapperProxy.sol\":{\"keccak256\":\"0xfa6eb5b0ffa230b6f230fe320c4a84f105ce71f5724f0eacc5b51006a654511a\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://12b6c555e7d72e6f02e2e1dc2865ee7a685c1c7f13adbefc1bbc0bf14a33b837\",\"dweb:/ipfs/QmXNk54TCHpzf49zHunTdDRCGnQujb69RZhGfw8mdM7QX2\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"contracts/release/utils/MathHelpers.sol\":{\"keccak256\":\"0x8aef498ae98bfb40cd1df8c9ed652b4c092fbbe62d5a1fad522c53654523248e\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ed62789f6a8d5ca30a40c591f244b915e4711493a9e4b1b4d40ea2bc97b02a95\",\"dweb:/ipfs/QmWyXJ55arURtx9VMkUQokdsjk8tbgM2cC8rENFUMyz5D3\"]},\"contracts/release/utils/NonUpgradableProxy.sol\":{\"keccak256\":\"0x7d70145a2a0ff8c36318b23ac6ca662f133584dd823933230c66143b89e2d53d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b05ea625a428fdf3f908db3e97a358a4117d4998abde806ba3839c7fad821bca\",\"dweb:/ipfs/QmSLzFT1ktLTZ7rAKYjcg6dBRuxVMzrGXjGJSsH5nSVx2G\"]},\"contracts/release/utils/beacon-proxy/IBeacon.sol\":{\"keccak256\":\"0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39\",\"dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V\"]},\"contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol\":{\"keccak256\":\"0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be\",\"dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20Burnable.sol\":{\"keccak256\":\"0x9c0eb3b0e11d2480d49991dc384f1e5f9c9b9967cc81944d50916a9b9c6c4984\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99e4033d778624992e86f0b6d801a4f6d7b5c0cd5c79c1296be90a051ad5f5af\",\"dweb:/ipfs/QmShYmkUqh6pDEeoWadZ24icmCr4C2Xys1uE5boivPmbwf\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_dispatcher", - "type": "address" - }, - { - "internalType": "address", - "name": "_addressListRegistry", - "type": "address" - }, - { - "internalType": "address", - "name": "_fundDeployerV4", - "type": "address" - }, - { - "internalType": "address", - "name": "_protocolFeeRecipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_protocolFeeBps", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "caller", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "proxy", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "ProxyDeployed", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_depositToken", - "type": "address" - }, - { - "internalType": "uint128", - "name": "_allowedDepositorListId", - "type": "uint128" - }, - { - "internalType": "bool", - "name": "_transfersAllowed", - "type": "bool" - }, - { - "internalType": "uint128", - "name": "_totalDepositMax", - "type": "uint128" - }, - { - "internalType": "address", - "name": "_feeRecipient", - "type": "address" - }, - { - "internalType": "uint16", - "name": "_feeBps", - "type": "uint16" - }, - { - "internalType": "bool", - "name": "_feeExcludesDepositTokenPrincipal", - "type": "bool" - }, - { - "internalType": "address", - "name": "_manager", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "deploy", - "outputs": [ - { - "internalType": "address", - "name": "wrapperProxy_", - "type": "address" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "deploy(address,address,uint128,bool,uint128,address,uint16,bool,address)": { - "params": { - "_allowedDepositorListId": "The id of an AddressListRegistry list to use for validating allowed depositors", - "_depositToken": "The token that users deposit to the wrapper to receive wrapped shares", - "_feeBps": "The wrapper fee amount in bps", - "_feeExcludesDepositTokenPrincipal": "True if the fee excludes the total _depositToken amount deposited", - "_feeRecipient": "The recipient of the wrapper fee", - "_manager": "The manager of the wrapper", - "_totalDepositMax": "The total amount of deposit token that can be deposited", - "_transfersAllowed": "True if wrapped shares transfers are allowed", - "_vaultProxy": "The VaultProxy that will have its shares wrapped" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "deploy(address,address,uint128,bool,uint128,address,uint16,bool,address)": { - "notice": "Deploys a ArbitraryTokenPhasedSharesWrapperProxy instance" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/peripheral/shares-wrappers/arbitrary-token-phased/ArbitraryTokenPhasedSharesWrapperFactory.sol": "ArbitraryTokenPhasedSharesWrapperFactory" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/address-list-registry/AddressListRegistry.sol": { - "keccak256": "0xf00a9e376e3ec2a223f463f71c15ee3af3642dd028bc3762440e316b760c8048", - "urls": [ - "bzz-raw://01986c9327b5dfbfac21316dced6d68727931ddde1278ed1342d878004f984b9", - "dweb:/ipfs/QmdXkFaUU43JqMTYEREbWa129rohdqN7GXy7mVRpjCfSLD" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/dispatcher/IDispatcher.sol": { - "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", - "urls": [ - "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", - "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/external-positions/IExternalPosition.sol": { - "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", - "urls": [ - "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", - "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/protocol-fee-reserve/interfaces/IProtocolFeeReserve1.sol": { - "keccak256": "0x2728878c423db523bc95189137e8c58d2d7db9f56bbd5c6b1f988c08b551fbab", - "urls": [ - "bzz-raw://3b0df1d2eb74151265d03ab91a7c341f7beca475dd2f4d669052dbc4ee2c06ac", - "dweb:/ipfs/QmVx1cgrxQNYfdK1Kn15pcgqf79Uw8bF3U6i7F2HG2rj6G" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/VaultLibBase1.sol": { - "keccak256": "0xa4dac1e4cdb311a2ab187135355357d8790c505ef36dd912c057fe53743d30b5", - "urls": [ - "bzz-raw://b66efe821016ab927c949263023260515e90f5d480dc8d94eefbfeec7bf7490b", - "dweb:/ipfs/QmNY3xKnhL9EptAbxGvXHGAXfV9pj3dDPwsZnKrPs54ZHw" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/VaultLibBase2.sol": { - "keccak256": "0xf7d31f2a9a47770ed3f444be2c4fe9262ddb55fef7f25e546b1f03c9afec4c09", - "urls": [ - "bzz-raw://9353ddce7c9b8b3c13fed23fe8edec99ca610d791b0c5b204b3d01f1f08d07d2", - "dweb:/ipfs/QmeVsEh3joCjv49BRXeHASevnZZ5xdZXpkctHT8BPf37N2" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/VaultLibBaseCore.sol": { - "keccak256": "0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074", - "urls": [ - "bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd", - "dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IExternalPositionVault.sol": { - "keccak256": "0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6", - "urls": [ - "bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d", - "dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol": { - "keccak256": "0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0", - "urls": [ - "bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb", - "dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IMigratableVault.sol": { - "keccak256": "0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238", - "urls": [ - "bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6", - "dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IVaultCore.sol": { - "keccak256": "0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80", - "urls": [ - "bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd", - "dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/utils/ProxiableVaultLib.sol": { - "keccak256": "0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76", - "urls": [ - "bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44", - "dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/utils/SharesTokenBase.sol": { - "keccak256": "0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113", - "urls": [ - "bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8", - "dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/utils/VaultLibSafeMath.sol": { - "keccak256": "0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d", - "urls": [ - "bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02", - "dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund-deployer/IFundDeployer.sol": { - "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", - "urls": [ - "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", - "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/comptroller/ComptrollerLib.sol": { - "keccak256": "0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64", - "urls": [ - "bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579", - "dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/comptroller/IComptroller.sol": { - "keccak256": "0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f", - "urls": [ - "bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97", - "dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/vault/IVault.sol": { - "keccak256": "0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd", - "urls": [ - "bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599", - "dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/vault/VaultLib.sol": { - "keccak256": "0x07e49445ab55c01e1b499a48baadc2a15d1eba621f1c6d3ccfdb84c87b976da8", - "urls": [ - "bzz-raw://56d882459248f73e137db2e097fc56b946147fb28ec21661b77431f88e856cb4", - "dweb:/ipfs/QmRP6Ry7DCS5uoKxnnkTomHSzbaCze6cHqbR9aLdjoF6vK" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/IExtension.sol": { - "keccak256": "0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b", - "urls": [ - "bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70", - "dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/IExternalPositionManager.sol": { - "keccak256": "0x3af3f634e1f99fb97091b7825c0d2e2baaafc124d4e87d56cb0c17ff8554f6c6", - "urls": [ - "bzz-raw://515470605afe5ef147f30fa75ce7818f0e00e3d321eb81a4d9bffcdefc294495", - "dweb:/ipfs/QmPKsp99pfHoz9Tfo3ZxnkmqDqJtN9PxqacF2RmeVfxUJF" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/fee-manager/IFeeManager.sol": { - "keccak256": "0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51", - "urls": [ - "bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22", - "dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/policy-manager/IPolicyManager.sol": { - "keccak256": "0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32", - "urls": [ - "bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa", - "dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol": { - "keccak256": "0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609", - "urls": [ - "bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f", - "dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol": { - "keccak256": "0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01", - "urls": [ - "bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0", - "dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol": { - "keccak256": "0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196", - "urls": [ - "bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b", - "dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/protocol-fees/IProtocolFeeTracker.sol": { - "keccak256": "0x232b347f83457439064add7369bfe1930c7cb56f15930bb87d640e909c15e447", - "urls": [ - "bzz-raw://24f9af5eebdd373b1d7a598c096eb6def31b2640d54416d7d5a7226e1cef17e6", - "dweb:/ipfs/QmStq9ByGuSYdKwTmZf52L1X6sZVJUfXTnoVbnjLLiUcHG" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol": { - "keccak256": "0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794", - "urls": [ - "bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965", - "dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IGsnForwarder.sol": { - "keccak256": "0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030", - "urls": [ - "bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29", - "dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IGsnPaymaster.sol": { - "keccak256": "0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c", - "urls": [ - "bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4", - "dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IGsnTypes.sol": { - "keccak256": "0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714", - "urls": [ - "bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7", - "dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IWETH.sol": { - "keccak256": "0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2", - "urls": [ - "bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2", - "dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ" - ], - "license": "GPL-3.0" - }, - "contracts/release/peripheral/shares-wrappers/arbitrary-token-phased/ArbitraryTokenPhasedSharesWrapperFactory.sol": { - "keccak256": "0xe5abfb756aee066effadd35793d45911efc9dfe2600b5e3fd08f3d327e64a987", - "urls": [ - "bzz-raw://c5aeff5df386d5b82a70c6253a3cba16ab4004de024f3558df1437e5fd8abd4c", - "dweb:/ipfs/QmQv4RimWL5fbKYxtbcaYLdHwowi7kypaDm2AhWnPKdhR9" - ], - "license": "GPL-3.0" - }, - "contracts/release/peripheral/shares-wrappers/arbitrary-token-phased/ArbitraryTokenPhasedSharesWrapperLib.sol": { - "keccak256": "0xc30ef4e60784b2b7f9cfde28f19b632f122b10e8c0ee6e651cb4103164b6266c", - "urls": [ - "bzz-raw://a8f196fcadc70d8e6eebad3dfd1147e929bb41e2813cac84650ed6d898d40db6", - "dweb:/ipfs/QmSDEnTBR9mqLwGFxDECctyWBgNUuQv5oSCMZW9BFoTXtE" - ], - "license": "GPL-3.0" - }, - "contracts/release/peripheral/shares-wrappers/arbitrary-token-phased/ArbitraryTokenPhasedSharesWrapperProxy.sol": { - "keccak256": "0xfa6eb5b0ffa230b6f230fe320c4a84f105ce71f5724f0eacc5b51006a654511a", - "urls": [ - "bzz-raw://12b6c555e7d72e6f02e2e1dc2865ee7a685c1c7f13adbefc1bbc0bf14a33b837", - "dweb:/ipfs/QmXNk54TCHpzf49zHunTdDRCGnQujb69RZhGfw8mdM7QX2" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AddressArrayLib.sol": { - "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", - "urls": [ - "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", - "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AssetHelpers.sol": { - "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", - "urls": [ - "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", - "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/MathHelpers.sol": { - "keccak256": "0x8aef498ae98bfb40cd1df8c9ed652b4c092fbbe62d5a1fad522c53654523248e", - "urls": [ - "bzz-raw://ed62789f6a8d5ca30a40c591f244b915e4711493a9e4b1b4d40ea2bc97b02a95", - "dweb:/ipfs/QmWyXJ55arURtx9VMkUQokdsjk8tbgM2cC8rENFUMyz5D3" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/NonUpgradableProxy.sol": { - "keccak256": "0x7d70145a2a0ff8c36318b23ac6ca662f133584dd823933230c66143b89e2d53d", - "urls": [ - "bzz-raw://b05ea625a428fdf3f908db3e97a358a4117d4998abde806ba3839c7fad821bca", - "dweb:/ipfs/QmSLzFT1ktLTZ7rAKYjcg6dBRuxVMzrGXjGJSsH5nSVx2G" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/beacon-proxy/IBeacon.sol": { - "keccak256": "0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2", - "urls": [ - "bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39", - "dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol": { - "keccak256": "0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc", - "urls": [ - "bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be", - "dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20Burnable.sol": { - "keccak256": "0x9c0eb3b0e11d2480d49991dc384f1e5f9c9b9967cc81944d50916a9b9c6c4984", - "urls": [ - "bzz-raw://99e4033d778624992e86f0b6d801a4f6d7b5c0cd5c79c1296be90a051ad5f5af", - "dweb:/ipfs/QmShYmkUqh6pDEeoWadZ24icmCr4C2Xys1uE5boivPmbwf" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { - "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", - "urls": [ - "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", - "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Address.sol": { - "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", - "urls": [ - "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", - "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 351 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_dispatcher", "type": "address", "internalType": "address" }, { "name": "_addressListRegistry", "type": "address", "internalType": "address" }, { "name": "_fundDeployerV4", "type": "address", "internalType": "address" }, { "name": "_protocolFeeRecipient", "type": "address", "internalType": "address" }, { "name": "_protocolFeeBps", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "deploy", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_depositToken", "type": "address", "internalType": "address" }, { "name": "_allowedDepositorListId", "type": "uint128", "internalType": "uint128" }, { "name": "_transfersAllowed", "type": "bool", "internalType": "bool" }, { "name": "_totalDepositMax", "type": "uint128", "internalType": "uint128" }, { "name": "_feeRecipient", "type": "address", "internalType": "address" }, { "name": "_feeBps", "type": "uint16", "internalType": "uint16" }, { "name": "_feeExcludesDepositTokenPrincipal", "type": "bool", "internalType": "bool" }, { "name": "_manager", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "wrapperProxy_", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "event", "name": "ProxyDeployed", "inputs": [ { "name": "caller", "type": "address", "indexed": true, "internalType": "address" }, { "name": "proxy", "type": "address", "indexed": false, "internalType": "address" } ], "anonymous": false } ], "bytecode": { "object": "0x60a060405234801561001057600080fd5b50604051614653380380614653833981810160405260a081101561003357600080fd5b508051602082015160408084015160608501516080909501519151939492939092919085908590859085908590309061006b906100db565b6001600160a01b039687168152948616602086015292851660408086019190915291851660608501526080840152921660a082015290519081900360c001906000f0801580156100bf573d6000803e3d6000fd5b5060601b6001600160601b031916608052506100e89350505050565b613fec8061066783390190565b60805160601c6105626101056000398061015752506105626000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063e050772d14610030575b600080fd5b6100a3600480360361012081101561004757600080fd5b506001600160a01b03813581169160208101358216916001600160801b036040830135811692606081013515159260808201359092169160a082013581169161ffff60c0820135169160e08201351515916101000135166100bf565b604080516001600160a01b039092168252519081900360200190f35b604080516001600160a01b03808c166024830152808b1660448301526001600160801b03808b1660648401528915156084840152881660a483015280871660c483015261ffff861660e48301528415156101048301528316610124808301919091528251808303909101815261014490910182526020810180516001600160e01b0316635732957b60e11b17905290516000919081907f00000000000000000000000000000000000000000000000000000000000000009061018090610268565b8080602001836001600160a01b03168152602001828103825284818151815260200191508051906020019080838360005b838110156101c95781810151838201526020016101b1565b50505050905090810190601f1680156101f65780820380516001836020036101000a031916815260200191505b509350505050604051809103906000f080158015610218573d6000803e3d6000fd5b50604080516001600160a01b0383168152905191935033917f3d2489efb661e8b1c3679865db649ca1de61d76a71184a1234de2e55786a6aad9181900360200190a2509998505050505050505050565b6102e0806102768339019056fe60a060405234801561001057600080fd5b506040516102e03803806102e08339818101604052604081101561003357600080fd5b810190808051604051939291908464010000000082111561005357600080fd5b90830190602082018581111561006857600080fd5b825164010000000081118282018810171561008257600080fd5b82525081516020918201929091019080838360005b838110156100af578181015183820152602001610097565b50505050905090810190601f1680156100dc5780820380516001836020036101000a031916815260200191505b50604052602001805190602001909291905050508181806001600160a01b03166080816001600160a01b031660601b81525050807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5560006060826001600160a01b0316846040518082805190602001908083835b602083106101705780518252601f199092019160209182019101610151565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d80600081146101d0576040519150601f19603f3d011682016040523d82523d6000602084013e6101d5565b606091505b50915091508181906102655760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561022a578181015183820152602001610212565b50505050905090810190601f1680156102575780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5050505050505060805160601c605a6102866000398060065250605a6000f3fe60806040527f00000000000000000000000000000000000000000000000000000000000000003660008037600080366000846127105a03f43d806000803e818015604857816000f35b816000fdfea164736f6c634300060c000aa164736f6c634300060c000a6101606040523480156200001257600080fd5b5060405162003fec38038062003fec833981810160405260c08110156200003857600080fd5b5080516020808301516040808501516060860151608087015160a09097015183518085018552601981527f5772617070656420456e7a796d6520536861726573204c696200000000000000818801908152855180870190965260098652683ba2a72d2316b634b160b91b97860197909752805197989597939692959491939092620000c7916003919062000135565b508051620000dd90600490602084019062000135565b50506005805460ff19166012179055506001600160601b0319606095861b811660805295851b861660a05292841b851660c05291831b841660e05261010091909152811b9091166101205230901b61014052620001d1565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200017857805160ff1916838001178555620001a8565b82800160010185558215620001a8579182015b82811115620001a85782518255916020019190600101906200018b565b50620001b6929150620001ba565b5090565b5b80821115620001b65760008155600101620001bb565b60805160601c60a05160601c60c05160601c60e05160601c610100516101205160601c6101405160601c613db06200023c600039806107775280611692525080612cb0525080612c1e525080611dc3525080611e2c525080611e565250806121955250613db06000f3fe608060405234801561001057600080fd5b50600436106101e55760003560e01c8063907e3df31161010f578063b6b55f25116100a2578063dd62ed3e11610071578063dd62ed3e146106b6578063e9085cc7146106e4578063ecb6abd61461070a578063fb1b5c7b14610762576101e5565b8063b6b55f2514610663578063c980918714610680578063d0ebdbe714610688578063d5009584146106ae576101e5565b8063a161a512116100de578063a161a51214610590578063a457c2d714610598578063a9059cbb146105c4578063ae652af6146105f0576101e5565b8063907e3df31461044c578063913cc04a1461045457806395d89b411461047a57806399eca69f14610482576101e5565b8063313ce567116101875780636edac21b116101565780636edac21b146103a857806370a08231146103b0578063851bda82146103d65780638c43447114610444576101e5565b8063313ce56714610330578063395093511461034e57806340806ae61461037a5780634ccb20c014610384576101e5565b80631865c57d116101c35780631865c57d146102c15780632207b386146102ea57806323b872dd146102f25780632c92809814610328576101e5565b806306fdde03146101ea578063095ea7b31461026757806318160ddd146102a7575b600080fd5b6101f261076a565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561022c578181015183820152602001610214565b50505050905090810190601f1680156102595780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102936004803603604081101561027d57600080fd5b506001600160a01b038135169060200135610956565b604080519115158252519081900360200190f35b6102af610974565b60408051918252519081900360200190f35b6102c961097a565b604051808260028111156102d957fe5b815260200191505060405180910390f35b6102af61098a565b6102936004803603606081101561030857600080fd5b506001600160a01b038135811691602081013590911690604001356109a0565b6102af610a10565b610338610a21565b6040805160ff9092168252519081900360200190f35b6102936004803603604081101561036457600080fd5b506001600160a01b038135169060200135610a26565b610382610a79565b005b61038c610e59565b604080516001600160a01b039092168252519081900360200190f35b610293610e68565b6102af600480360360208110156103c657600080fd5b50356001600160a01b0316610e78565b610382600480360360208110156103ec57600080fd5b810190602081018135600160201b81111561040657600080fd5b82018360208201111561041857600080fd5b803590602001918460208302840111600160201b8311171561043957600080fd5b509092509050610e97565b6102af6115eb565b6102936115fa565b6103826004803603602081101561046a57600080fd5b50356001600160801b031661160a565b6101f2611685565b6104f76004803603604081101561049857600080fd5b81359190810190604081016020820135600160201b8111156104b957600080fd5b8201836020820111156104cb57600080fd5b803590602001918460208302840111600160201b831117156104ec57600080fd5b509092509050611828565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b8381101561053b578181015183820152602001610523565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561057a578181015183820152602001610562565b5050505090500194505050505060405180910390f35b6102af611cd8565b610293600480360360408110156105ae57600080fd5b506001600160a01b038135169060200135611ceb565b610293600480360360408110156105da57600080fd5b506001600160a01b038135169060200135611d53565b610382600480360361012081101561060757600080fd5b506001600160a01b03813581169160208101358216916001600160801b036040830135811692606081013515159260808201359092169160a082013581169161ffff60c0820135169160e0820135151591610100013516611db8565b6103826004803603602081101561067957600080fd5b50356120f5565b61038c6123f4565b6103826004803603602081101561069e57600080fd5b50356001600160a01b0316612403565b61038c612476565b6102af600480360360408110156106cc57600080fd5b506001600160a01b038135811691602001351661248a565b610382600480360360208110156106fa57600080fd5b50356001600160801b03166124b5565b610712612528565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561074e578181015183820152602001610736565b505050509050019250505060405180910390f35b61038c61258a565b6060306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156107ac576107a5612599565b9050610953565b6107b46123f4565b6001600160a01b03166306fdde036040518163ffffffff1660e01b815260040160006040518083038186803b1580156107ec57600080fd5b505afa158015610800573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561082957600080fd5b8101908080516040519392919084600160201b82111561084857600080fd5b90830190602082018581111561085d57600080fd5b8251600160201b81118282018810171561087657600080fd5b82525081516020918201929091019080838360005b838110156108a357818101518382015260200161088b565b50505050905090810190601f1680156108d05780820380516001836020036101000a031916815260200191505b5060405250505060405160200180806702bb930b83832b2160c51b81525060080182805190602001908083835b6020831061091c5780518252601f1990920191602091820191016108fd565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405160208183030381529060405290505b90565b600061096a610963612626565b848461262a565b5060015b92915050565b60025490565b600754600160a01b900460ff1690565b600854600160801b90046001600160801b031690565b60006109aa610e68565b6109fb576040805162461bcd60e51b815260206004820181905260248201527f6f6e6c795472616e7366657273416c6c6f7765643a20446973616c6c6f776564604482015290519081900360640190fd5b610a06848484612716565b90505b9392505050565b600954600160c01b900461ffff1690565b601290565b600061096a610a33612626565b84610a748560016000610a44612626565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490612798565b61262a565b6000610a836123f4565b9050610a8f33826127f2565b6000610a9961097a565b6002811115610aa457fe5b14610af6576040805162461bcd60e51b815260206004820152601f60248201527f656e7465724c6f636b656453746174653a20496e76616c696420737461746500604482015290519081900360640190fd5b6000816001600160a01b0316635a53e3486040518163ffffffff1660e01b815260040160206040518083038186803b158015610b3157600080fd5b505afa158015610b45573d6000803e3d6000fd5b505050506040513d6020811015610b5b57600080fd5b505160408051637134e1eb60e11b815290519192506000916001600160a01b0384169163e269c3d6916004808301926020929190829003018186803b158015610ba357600080fd5b505afa158015610bb7573d6000803e3d6000fd5b505050506040513d6020811015610bcd57600080fd5b5051604080516370a0823160e01b815230600482015290519192506000916001600160a01b038416916370a08231916024808301926020929190829003018186803b158015610c1b57600080fd5b505afa158015610c2f573d6000803e3d6000fd5b505050506040513d6020811015610c4557600080fd5b50519050610c5d6001600160a01b0383168483612871565b6000836001600160a01b031663beebc5da8360016040518363ffffffff1660e01b81526004018083815260200182815260200192505050602060405180830381600087803b158015610cae57600080fd5b505af1158015610cc2573d6000803e3d6000fd5b505050506040513d6020811015610cd857600080fd5b5051604080516318160ddd60e01b81529051919250600091610d589184916001600160a01b038a16916318160ddd916004808301926020929190829003018186803b158015610d2657600080fd5b505afa158015610d3a573d6000803e3d6000fd5b505050506040513d6020811015610d5057600080fd5b505190612989565b9050801580610d715750610d6e816127106129e6565b82115b610dac5760405162461bcd60e51b8152600401808060200182810382526024815260200180613c236024913960400191505060405180910390fd5b610db66001612a3f565b6000610dc061258a565b9050610e5087826001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610e1357600080fd5b505afa158015610e27573d6000803e3d6000fd5b505050506040513d6020811015610e3d57600080fd5b50516001600160a01b0384169190612aa8565b50505050505050565b6009546001600160a01b031690565b600954600160e01b900460ff1690565b6001600160a01b0381166000908152602081905260409020545b919050565b6000610ea16123f4565b9050610ead33826127f2565b6001610eb761097a565b6002811115610ec257fe5b14610f14576040805162461bcd60e51b815260206004820152601f60248201527f656e74657252656465656d53746174653a20496e76616c696420737461746500604482015290519081900360640190fd5b6060816001600160a01b031663b8b7f1476040518163ffffffff1660e01b815260040160006040518083038186803b158015610f4f57600080fd5b505afa158015610f63573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526020811015610f8c57600080fd5b8101908080516040519392919084600160201b821115610fab57600080fd5b908301906020820185811115610fc057600080fd5b82518660208202830111600160201b82111715610fdc57600080fd5b82525081516020918201928201910280838360005b83811015611009578181015183820152602001610ff1565b50505050905001604052505050905060005b815181101561123457606082828151811061103257fe5b60200260200101516001600160a01b03166380daddb86040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561107457600080fd5b505af1158015611088573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160409081528110156110b157600080fd5b8101908080516040519392919084600160201b8211156110d057600080fd5b9083019060208201858111156110e557600080fd5b82518660208202830111600160201b8211171561110157600080fd5b82525081516020918201928201910280838360005b8381101561112e578181015183820152602001611116565b5050505090500160405260200180516040519392919084600160201b82111561115657600080fd5b90830190602082018581111561116b57600080fd5b82518660208202830111600160201b8211171561118757600080fd5b82525081516020918201928201910280838360005b838110156111b457818101518382015260200161119c565b5050505090500160405250505091505060005b815181101561122a578181815181106111dc57fe5b60200260200101516000146112225760405162461bcd60e51b8152600401808060200182810382526032815260200180613bc86032913960400191505060405180910390fd5b6001016111c7565b505060010161101b565b50600061123f6123f4565b6001600160a01b0316635a53e3486040518163ffffffff1660e01b815260040160206040518083038186803b15801561127757600080fd5b505afa15801561128b573d6000803e3d6000fd5b505050506040513d60208110156112a157600080fd5b5051905060606112ee6112b261258a565b8787808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509293925050612afa9050565b90506060806001600160a01b038416636af8e7eb30600019866000604051908082528060200260200182016040528015611332578160200160208202803683370190505b506040518563ffffffff1660e01b815260040180856001600160a01b031681526020018481526020018060200180602001838103835285818151815260200191508051906020019060200280838360005b8381101561139b578181015183820152602001611383565b50505050905001838103825284818151815260200191508051906020019060200280838360005b838110156113da5781810151838201526020016113c2565b505050509050019650505050505050600060405180830381600087803b15801561140357600080fd5b505af1158015611417573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604090815281101561144057600080fd5b8101908080516040519392919084600160201b82111561145f57600080fd5b90830190602082018581111561147457600080fd5b82518660208202830111600160201b8211171561149057600080fd5b82525081516020918201928201910280838360005b838110156114bd5781810151838201526020016114a5565b5050505090500160405260200180516040519392919084600160201b8211156114e557600080fd5b9083019060208201858111156114fa57600080fd5b82518660208202830111600160201b8211171561151657600080fd5b82525081516020918201928201910280838360005b8381101561154357818101518382015260200161152b565b5050505090500160405250505091509150606060005b83518110156115af57600083828151811061157057fe5b602002602001015111156115a7576115a484828151811061158d57fe5b602002602001015183612b1890919063ffffffff16565b91505b600101611559565b5080516115c390600a906020840190613a8e565b506115cd81612be3565b6115d681612d61565b6115e06002612a3f565b505050505050505050565b6008546001600160801b031690565b600954600160d01b900460ff1690565b61161a6116156123f4565b612f68565b6001600160a01b0316336001600160a01b031614611679576040805162461bcd60e51b81526020600482015260176024820152761bdb9b1e53dddb995c8e88155b985d5d1a1bdc9a5e9959604a1b604482015290519081900360640190fd5b61168281612fd5565b50565b6060306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156116c0576107a5613028565b6116c86123f4565b6001600160a01b03166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b15801561170057600080fd5b505afa158015611714573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561173d57600080fd5b8101908080516040519392919084600160201b82111561175c57600080fd5b90830190602082018581111561177157600080fd5b8251600160201b81118282018810171561178a57600080fd5b82525081516020918201929091019080838360005b838110156117b757818101518382015260200161179f565b50505050905090810190601f1680156117e45780820380516001836020036101000a031916815260200191505b506040525050506040516020018080607760f81b81525060010182805190602001908083836020831061091c5780518252601f1990920191602091820191016108fd565b6009546060908190600160d81b900460ff161561188c576040805162461bcd60e51b815260206004820152601860248201527f6e6f6e5265656e7472616e743a205265656e7472616e63790000000000000000604482015290519081900360640190fd5b6009805460ff60d81b1916600160d81b17905560006118a961097a565b905060018160028111156118b957fe5b141561190c576040805162461bcd60e51b815260206004820152601960248201527f77697468647261773a20556e616c6c6f77656420537461746500000000000000604482015290519081900360640190fd5b600081600281111561191a57fe5b14156119b757831561195d5760405162461bcd60e51b8152600401808060200182810382526029815260200180613bfa6029913960400191505060405180910390fd5b604080516001808252818301909252906020808301908036833701905050925061198561258a565b8360008151811061199257fe5b60200260200101906001600160a01b031690816001600160a01b031681525050611a77565b6119f385858080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061308992505050565b611a2e5760405162461bcd60e51b8152600401808060200182810382526025815260200180613c906025913960400191505060405180910390fd5b611a74858580806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250611a6e9250612528915050565b90613113565b92505b6000611a81610974565b9050611a8d3388613267565b835167ffffffffffffffff81118015611aa557600080fd5b50604051908082528060200260200182016040528015611acf578160200160208202803683370190505b50925060005b8451811015611bf1576000858281518110611aec57fe5b60200260200101519050611b8383611b7d8b846001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015611b4b57600080fd5b505afa158015611b5f573d6000803e3d6000fd5b505050506040513d6020811015611b7557600080fd5b5051906129e6565b90613363565b858381518110611b8f57fe5b6020026020010181815250506000858381518110611ba957fe5b60200260200101511115611be857611be833868481518110611bc757fe5b6020026020010151836001600160a01b0316612aa89092919063ffffffff16565b50600101611ad5565b50336001600160a01b03167f3e4e319c3be0696253cf2e6260a96ddf9a8fa8cfc0e7186500bbcfcef899194d888686604051808481526020018060200180602001838103835285818151815260200191508051906020019060200280838360005b83811015611c6a578181015183820152602001611c52565b50505050905001838103825284818151815260200191508051906020019060200280838360005b83811015611ca9578181015183820152602001611c91565b505050509050019550505050505060405180910390a250506009805460ff60d81b191690559094909350915050565b600954600160a01b900463ffffffff1690565b600061096a611cf8612626565b84610a7485604051806060016040528060258152602001613d7f6025913960016000611d22612626565b6001600160a01b03908116825260208083019390935260409182016000908120918d168152925290205491906133ca565b6000611d5d610e68565b611dae576040805162461bcd60e51b815260206004820181905260248201527f6f6e6c795472616e7366657273416c6c6f7765643a20446973616c6c6f776564604482015290519081900360640190fd5b610a098383613461565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611e2a576040805162461bcd60e51b81526020600482015260126024820152711a5b9a5d0e88155b985d5d1a1bdc9a5e995960721b604482015290519081900360640190fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316633d7c74f88b6040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015611ec157600080fd5b505afa158015611ed5573d6000803e3d6000fd5b505050506040513d6020811015611eeb57600080fd5b50516001600160a01b031614611f48576040805162461bcd60e51b815260206004820152601760248201527f696e69743a20426164207661756c742076657273696f6e000000000000000000604482015290519081900360640190fd5b600780546001600160a01b03808b166001600160a01b03199283161790925560068054928c16929091169190911790556001600160801b03871615611f9057611f9087613475565b6001600160a01b03811615611fa857611fa8816134d2565b6001600160801b03851615611fc057611fc085612fd5565b8515611fda576009805460ff60e01b1916600160e01b1790555b6001600160a01b03841615612085576127108361ffff161061203c576040805162461bcd60e51b81526020600482015260166024820152751a5b9a5d0e8813585e0819995948195e18d95959195960521b604482015290519081900360640190fd5b6009805461ffff60c01b1916600160c01b61ffff861602176001600160a01b0319166001600160a01b0386161790558115612085576009805460ff60d01b1916600160d01b1790555b604080516001600160a01b03808c168252808b166020830152881515828401528616606082015261ffff8516608082015283151560a082015290517fbd8aba18aec1b83d675f3b473e0bfb62d8e3a73b7c786d663bee96d559b450359181900360c00190a1505050505050505050565b60006120ff61097a565b600281111561210a57fe5b1461215c576040805162461bcd60e51b815260206004820152601860248201527f6465706f7369743a20556e616c6c6f7765642053746174650000000000000000604482015290519081900360640190fd5b60006121666115eb565b9050801561225857604080516307158c8160e21b81526004810183905233602482015290516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691631c563204916044808301926020929190829003018186803b1580156121db57600080fd5b505afa1580156121ef573d6000803e3d6000fd5b505050506040513d602081101561220557600080fd5b5051612258576040805162461bcd60e51b815260206004820152601960248201527f6465706f7369743a20556e616c6c6f7765642063616c6c657200000000000000604482015290519081900360640190fd5b600061226261258a565b9050600061226e61098a565b9050801561234557806122fa85846001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156122c857600080fd5b505afa1580156122dc573d6000803e3d6000fd5b505050506040513d60208110156122f257600080fd5b505190612798565b1115612345576040805162461bcd60e51b815260206004820152601560248201527419195c1bdcda5d0e8813585e08195e18d959591959605a1b604482015290519081900360640190fd5b61234d610974565b612399576009805463ffffffff60a01b1916600160a01b4263ffffffff16021790556040517f5798aa338c5b99bf36b74070080d9d2efadbd4a0c383148e08e3daa7219ab00c90600090a15b6123a3338561352e565b6123b86001600160a01b03831633308761361e565b60408051858152905133917f2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c4919081900360200190a250505050565b6006546001600160a01b031690565b61240e6116156123f4565b6001600160a01b0316336001600160a01b03161461246d576040805162461bcd60e51b81526020600482015260176024820152761bdb9b1e53dddb995c8e88155b985d5d1a1bdc9a5e9959604a1b604482015290519081900360640190fd5b611682816134d2565b60055461010090046001600160a01b031690565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6124c06116156123f4565b6001600160a01b0316336001600160a01b03161461251f576040805162461bcd60e51b81526020600482015260176024820152761bdb9b1e53dddb995c8e88155b985d5d1a1bdc9a5e9959604a1b604482015290519081900360640190fd5b61168281613475565b6060600a80548060200260200160405190810160405280929190818152602001828054801561258057602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311612562575b5050505050905090565b6007546001600160a01b031690565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156125805780601f106125fa57610100808354040283529160200191612580565b820191906000526020600020905b81548152906001019060200180831161260857509395945050505050565b3390565b6001600160a01b03831661266f5760405162461bcd60e51b8152600401808060200182810382526024815260200180613cfb6024913960400191505060405180910390fd5b6001600160a01b0382166126b45760405162461bcd60e51b8152600401808060200182810382526022815260200180613b586022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b600061272384848461367e565b61278e8461272f612626565b610a7485604051806060016040528060288152602001613c68602891396001600160a01b038a1660009081526001602052604081209061276d612626565b6001600160a01b0316815260208101919091526040016000205491906133ca565b5060019392505050565b600082820183811015610a09576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6127fa612476565b6001600160a01b0316826001600160a01b03161480612832575061281d81612f68565b6001600160a01b0316826001600160a01b0316145b61286d5760405162461bcd60e51b8152600401808060200182810382526028815260200180613b7a6028913960400191505060405180910390fd5b5050565b8015806128f7575060408051636eb1769f60e11b81523060048201526001600160a01b03848116602483015291519185169163dd62ed3e91604480820192602092909190829003018186803b1580156128c957600080fd5b505afa1580156128dd573d6000803e3d6000fd5b505050506040513d60208110156128f357600080fd5b5051155b6129325760405162461bcd60e51b8152600401808060200182810382526036815260200180613d496036913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526129849084906137d9565b505050565b6000828211156129e0576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6000826129f55750600061096e565b82820282848281612a0257fe5b0414610a095760405162461bcd60e51b8152600401808060200182810382526021815260200180613c476021913960400191505060405180910390fd5b6007805482919060ff60a01b1916600160a01b836002811115612a5e57fe5b02179055507fc635bb75c392e81c891d50372a48cfa81b6799ac6d594cb4c28a8c5e8bef6e9b8160405180826002811115612a9557fe5b815260200191505060405180910390a150565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526129849084906137d9565b6060612b06838361388a565b15612b1257508161096e565b610a0983835b6060825160010167ffffffffffffffff81118015612b3557600080fd5b50604051908082528060200260200182016040528015612b5f578160200160208202803683370190505b50905060005b8351811015612bae57838181518110612b7a57fe5b6020026020010151828281518110612b8e57fe5b6001600160a01b0390921660209283029190910190910152600101612b65565b508181845181518110612bbd57fe5b60200260200101906001600160a01b031690816001600160a01b03168152505092915050565b6000612bf7612bf0611cd8565b4290612989565b905060005b8251811015612984576000612ca36301e187e0611b7d612710611b7d87612c9d7f00000000000000000000000000000000000000000000000000000000000000008b8a81518110612c4957fe5b60200260200101516001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015611b4b57600080fd5b906129e6565b90508015612d5857612cfc7f000000000000000000000000000000000000000000000000000000000000000082868581518110612cdc57fe5b60200260200101516001600160a01b0316612aa89092919063ffffffff16565b7fb87e607f6030a23ed9b7dac1a717610f3a3b07325269f18808ba763bdcefe7ae848381518110612d2957fe5b60200260200101518260405180836001600160a01b031681526020018281526020019250505060405180910390a15b50600101612bfc565b6000612d6b610a10565b905080612d785750611682565b6000612d82610e59565b90506000612d8e6115fa565b15612d9e57612d9b61258a565b90505b60005b8451811015612f61576000858281518110612db857fe5b602002602001015190506000836001600160a01b0316826001600160a01b03161415612e6e57612e67826001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015612e2e57600080fd5b505afa158015612e42573d6000803e3d6000fd5b505050506040513d6020811015612e5857600080fd5b5051612e62610974565b6138e0565b9050612ee3565b604080516370a0823160e01b815230600482015290516001600160a01b038416916370a08231916024808301926020929190829003018186803b158015612eb457600080fd5b505afa158015612ec8573d6000803e3d6000fd5b505050506040513d6020811015612ede57600080fd5b505190505b6000612ef5612710611b7d848a6129e6565b90508015612f5657612f116001600160a01b0384168783612aa8565b604080516001600160a01b03851681526020810183905281517f075a2720282fdf622141dae0b048ef90a21a7e57c134c76912d19d006b3b3f6f929181900390910190a15b505050600101612da1565b5050505050565b6000816001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b158015612fa357600080fd5b505afa158015612fb7573d6000803e3d6000fd5b505050506040513d6020811015612fcd57600080fd5b505192915050565b600880546001600160801b03808416600160801b8102919092161790915560408051918252517f0e280fa5ecedea20784caab60fae774807664c009e5e229629e5eef871207db69181900360200190a150565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156125805780601f106125fa57610100808354040283529160200191612580565b6000600182511161309c57506001610e92565b815160005b8181101561278e57600181015b8281101561310a578481815181106130c257fe5b60200260200101516001600160a01b03168583815181106130df57fe5b60200260200101516001600160a01b031614156131025760009350505050610e92565b6001016130ae565b506001016130a1565b60606000805b83518110156131525761313f8585838151811061313257fe5b602002602001015161388a565b61314a576001909101905b600101613119565b5080613161578391505061096e565b8084510167ffffffffffffffff8111801561317b57600080fd5b506040519080825280602002602001820160405280156131a5578160200160208202803683370190505b50915060005b84518110156131f4578481815181106131c057fe5b60200260200101518382815181106131d457fe5b6001600160a01b03909216602092830291909101909101526001016131ab565b50835160005b845181101561325e576132138686838151811061313257fe5b6132565784818151811061322357fe5b602002602001015184838151811061323757fe5b6001600160a01b03909216602092830291909101909101526001909101905b6001016131fa565b50505092915050565b6001600160a01b0382166132ac5760405162461bcd60e51b8152600401808060200182810382526021815260200180613cb56021913960400191505060405180910390fd5b6132b882600083612984565b6132f581604051806060016040528060228152602001613b36602291396001600160a01b03851660009081526020819052604090205491906133ca565b6001600160a01b03831660009081526020819052604090205560025461331b9082612989565b6002556040805182815290516000916001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b60008082116133b9576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b8183816133c257fe5b049392505050565b600081848411156134595760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561341e578181015183820152602001613406565b50505050905090810190601f16801561344b5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600061096a61346e612626565b848461367e565b600880546001600160801b0383166fffffffffffffffffffffffffffffffff19909116811790915560408051918252517f3083d42989efabd593f083885067da3d51d2c2d68342a98d68a55eff8beed8d69181900360200190a150565b600580546001600160a01b0383166101008102610100600160a81b03199092169190911790915560408051918252517f60a0f5b9f9e81e98216071b85826681c796256fe3d1354ecb675580fba64fa699181900360200190a150565b6001600160a01b038216613589576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b61359560008383612984565b6002546135a29082612798565b6002556001600160a01b0382166000908152602081905260409020546135c89082612798565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b604080516001600160a01b0380861660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b1790526136789085906137d9565b50505050565b6001600160a01b0383166136c35760405162461bcd60e51b8152600401808060200182810382526025815260200180613cd66025913960400191505060405180910390fd5b6001600160a01b0382166137085760405162461bcd60e51b8152600401808060200182810382526023815260200180613b136023913960400191505060405180910390fd5b613713838383612984565b61375081604051806060016040528060268152602001613ba2602691396001600160a01b03861660009081526020819052604090205491906133ca565b6001600160a01b03808516600090815260208190526040808220939093559084168152205461377f9082612798565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b606061382e826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166138fc9092919063ffffffff16565b8051909150156129845780806020019051602081101561384d57600080fd5b50516129845760405162461bcd60e51b815260040180806020018281038252602a815260200180613d1f602a913960400191505060405180910390fd5b6000805b83518110156138d6578381815181106138a357fe5b60200260200101516001600160a01b0316836001600160a01b031614156138ce57600191505061096e565b60010161388e565b5060009392505050565b6000818311156138f3575080820361096e565b50600092915050565b6060610a0684846000858561391085613a22565b613961576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b602083106139a05780518252601f199092019160209182019101613981565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114613a02576040519150601f19603f3d011682016040523d82523d6000602084013e613a07565b606091505b5091509150613a17828286613a28565b979650505050505050565b3b151590565b60608315613a37575081610a09565b825115613a475782518084602001fd5b60405162461bcd60e51b815260206004820181815284516024840152845185939192839260440191908501908083836000831561341e578181015183820152602001613406565b828054828255906000526020600020908101928215613ae3579160200282015b82811115613ae357825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190613aae565b50613aef929150613af3565b5090565b5b80821115613aef5780546001600160a01b0319168155600101613af456fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a20617070726f766520746f20746865207a65726f20616464726573735f5f76616c696461746549734d616e616765724f724f776e65723a20556e617574686f72697a656445524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365656e74657252656465656d53746174653a204e6f6e2d7a65726f2076616c75652065787465726e616c20706f736974696f6e77697468647261773a204f6e6c79206465706f73697420746f6b656e20776974686472617761626c65656e7465724c6f636b656453746174653a204d696e20736861726573206e6f74206d6574536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636577697468647261773a204475706c6963617465205f6164646974696f6e616c41737365747345524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f20616464726573735361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa164736f6c634300060c000a", "sourceMap": "664:2440:351:-:0;;;821:508;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;821:508:351;;;;;;;;;;;;;;;;;;;;1055:257;;821:508;;;;;;;;;;;;;;;;;;1293:4;;1055:257;;;:::i;:::-;-1:-1:-1;;;;;1055:257:351;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1055:257:351;;;;;;;;;;;;;;;-1:-1:-1;1028:294:351;;-1:-1:-1;;;;;;1028:294:351;;;-1:-1:-1;664:2440:351;;-1:-1:-1;;;;664:2440:351;;;;;;;;;:::o;:::-;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c8063e050772d14610030575b600080fd5b6100a3600480360361012081101561004757600080fd5b506001600160a01b03813581169160208101358216916001600160801b036040830135811692606081013515159260808201359092169160a082013581169161ffff60c0820135169160e08201351515916101000135166100bf565b604080516001600160a01b039092168252519081900360200190f35b604080516001600160a01b03808c166024830152808b1660448301526001600160801b03808b1660648401528915156084840152881660a483015280871660c483015261ffff861660e48301528415156101048301528316610124808301919091528251808303909101815261014490910182526020810180516001600160e01b0316635732957b60e11b17905290516000919081907f00000000000000000000000000000000000000000000000000000000000000009061018090610268565b8080602001836001600160a01b03168152602001828103825284818151815260200191508051906020019080838360005b838110156101c95781810151838201526020016101b1565b50505050905090810190601f1680156101f65780820380516001836020036101000a031916815260200191505b509350505050604051809103906000f080158015610218573d6000803e3d6000fd5b50604080516001600160a01b0383168152905191935033917f3d2489efb661e8b1c3679865db649ca1de61d76a71184a1234de2e55786a6aad9181900360200190a2509998505050505050505050565b6102e0806102768339019056fe60a060405234801561001057600080fd5b506040516102e03803806102e08339818101604052604081101561003357600080fd5b810190808051604051939291908464010000000082111561005357600080fd5b90830190602082018581111561006857600080fd5b825164010000000081118282018810171561008257600080fd5b82525081516020918201929091019080838360005b838110156100af578181015183820152602001610097565b50505050905090810190601f1680156100dc5780820380516001836020036101000a031916815260200191505b50604052602001805190602001909291905050508181806001600160a01b03166080816001600160a01b031660601b81525050807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5560006060826001600160a01b0316846040518082805190602001908083835b602083106101705780518252601f199092019160209182019101610151565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d80600081146101d0576040519150601f19603f3d011682016040523d82523d6000602084013e6101d5565b606091505b50915091508181906102655760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561022a578181015183820152602001610212565b50505050905090810190601f1680156102575780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5050505050505060805160601c605a6102866000398060065250605a6000f3fe60806040527f00000000000000000000000000000000000000000000000000000000000000003660008037600080366000846127105a03f43d806000803e818015604857816000f35b816000fdfea164736f6c634300060c000aa164736f6c634300060c000a", "sourceMap": "664:2440:351:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2149:953;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;2149:953:351;;;;;;;;;;;;-1:-1:-1;;;;;2149:953:351;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;2149:953:351;;;;;;;;;;;;;;;2547:363;;;-1:-1:-1;;;;;2547:363:351;;;;;;;;;;;;;;-1:-1:-1;;;;;2547:363:351;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2547:363:351;-1:-1:-1;;;2547:363:351;;;2945:62;;2485:21;;2547:363;;;3003:3;;2945:62;;;:::i;:::-;;;;;;-1:-1:-1;;;;;2945:62:351;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3024:40:351;;;-1:-1:-1;;;;;3024:40:351;;;;;;2921:87;;-1:-1:-1;3038:10:351;;3024:40;;;;;;;;;3075:20;2149:953;;;;;;;;;;;:::o;-1:-1:-1:-;;;;;;;;:::o", "linkReferences": {}, "immutableReferences": { "74835": [ { "start": 343, "length": 32 } ] } }, "methodIdentifiers": { "deploy(address,address,uint128,bool,uint128,address,uint16,bool,address)": "e050772d" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_dispatcher\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_addressListRegistry\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_fundDeployerV4\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_protocolFeeRecipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_protocolFeeBps\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"proxy\",\"type\":\"address\"}],\"name\":\"ProxyDeployed\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_depositToken\",\"type\":\"address\"},{\"internalType\":\"uint128\",\"name\":\"_allowedDepositorListId\",\"type\":\"uint128\"},{\"internalType\":\"bool\",\"name\":\"_transfersAllowed\",\"type\":\"bool\"},{\"internalType\":\"uint128\",\"name\":\"_totalDepositMax\",\"type\":\"uint128\"},{\"internalType\":\"address\",\"name\":\"_feeRecipient\",\"type\":\"address\"},{\"internalType\":\"uint16\",\"name\":\"_feeBps\",\"type\":\"uint16\"},{\"internalType\":\"bool\",\"name\":\"_feeExcludesDepositTokenPrincipal\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"_manager\",\"type\":\"address\"}],\"name\":\"deploy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"wrapperProxy_\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"deploy(address,address,uint128,bool,uint128,address,uint16,bool,address)\":{\"params\":{\"_allowedDepositorListId\":\"The id of an AddressListRegistry list to use for validating allowed depositors\",\"_depositToken\":\"The token that users deposit to the wrapper to receive wrapped shares\",\"_feeBps\":\"The wrapper fee amount in bps\",\"_feeExcludesDepositTokenPrincipal\":\"True if the fee excludes the total _depositToken amount deposited\",\"_feeRecipient\":\"The recipient of the wrapper fee\",\"_manager\":\"The manager of the wrapper\",\"_totalDepositMax\":\"The total amount of deposit token that can be deposited\",\"_transfersAllowed\":\"True if wrapped shares transfers are allowed\",\"_vaultProxy\":\"The VaultProxy that will have its shares wrapped\"}}},\"title\":\"ArbitraryTokenPhasedSharesWrapperFactory Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"deploy(address,address,uint128,bool,uint128,address,uint16,bool,address)\":{\"notice\":\"Deploys a ArbitraryTokenPhasedSharesWrapperProxy instance\"}},\"notice\":\"A contract factory for ArbitraryTokenPhasedSharesWrapperProxy instances\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/peripheral/shares-wrappers/arbitrary-token-phased/ArbitraryTokenPhasedSharesWrapperFactory.sol\":\"ArbitraryTokenPhasedSharesWrapperFactory\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/address-list-registry/AddressListRegistry.sol\":{\"keccak256\":\"0xf00a9e376e3ec2a223f463f71c15ee3af3642dd028bc3762440e316b760c8048\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://01986c9327b5dfbfac21316dced6d68727931ddde1278ed1342d878004f984b9\",\"dweb:/ipfs/QmdXkFaUU43JqMTYEREbWa129rohdqN7GXy7mVRpjCfSLD\"]},\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/persistent/protocol-fee-reserve/interfaces/IProtocolFeeReserve1.sol\":{\"keccak256\":\"0x2728878c423db523bc95189137e8c58d2d7db9f56bbd5c6b1f988c08b551fbab\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3b0df1d2eb74151265d03ab91a7c341f7beca475dd2f4d669052dbc4ee2c06ac\",\"dweb:/ipfs/QmVx1cgrxQNYfdK1Kn15pcgqf79Uw8bF3U6i7F2HG2rj6G\"]},\"contracts/persistent/vault/VaultLibBase1.sol\":{\"keccak256\":\"0xa4dac1e4cdb311a2ab187135355357d8790c505ef36dd912c057fe53743d30b5\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b66efe821016ab927c949263023260515e90f5d480dc8d94eefbfeec7bf7490b\",\"dweb:/ipfs/QmNY3xKnhL9EptAbxGvXHGAXfV9pj3dDPwsZnKrPs54ZHw\"]},\"contracts/persistent/vault/VaultLibBase2.sol\":{\"keccak256\":\"0xf7d31f2a9a47770ed3f444be2c4fe9262ddb55fef7f25e546b1f03c9afec4c09\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9353ddce7c9b8b3c13fed23fe8edec99ca610d791b0c5b204b3d01f1f08d07d2\",\"dweb:/ipfs/QmeVsEh3joCjv49BRXeHASevnZZ5xdZXpkctHT8BPf37N2\"]},\"contracts/persistent/vault/VaultLibBaseCore.sol\":{\"keccak256\":\"0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd\",\"dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz\"]},\"contracts/persistent/vault/interfaces/IExternalPositionVault.sol\":{\"keccak256\":\"0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d\",\"dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8\"]},\"contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol\":{\"keccak256\":\"0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb\",\"dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU\"]},\"contracts/persistent/vault/interfaces/IMigratableVault.sol\":{\"keccak256\":\"0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6\",\"dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs\"]},\"contracts/persistent/vault/interfaces/IVaultCore.sol\":{\"keccak256\":\"0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd\",\"dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr\"]},\"contracts/persistent/vault/utils/ProxiableVaultLib.sol\":{\"keccak256\":\"0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44\",\"dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4\"]},\"contracts/persistent/vault/utils/SharesTokenBase.sol\":{\"keccak256\":\"0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8\",\"dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4\"]},\"contracts/persistent/vault/utils/VaultLibSafeMath.sol\":{\"keccak256\":\"0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02\",\"dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG\"]},\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/core/fund/comptroller/ComptrollerLib.sol\":{\"keccak256\":\"0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579\",\"dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq\"]},\"contracts/release/core/fund/comptroller/IComptroller.sol\":{\"keccak256\":\"0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97\",\"dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L\"]},\"contracts/release/core/fund/vault/IVault.sol\":{\"keccak256\":\"0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599\",\"dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG\"]},\"contracts/release/core/fund/vault/VaultLib.sol\":{\"keccak256\":\"0x07e49445ab55c01e1b499a48baadc2a15d1eba621f1c6d3ccfdb84c87b976da8\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://56d882459248f73e137db2e097fc56b946147fb28ec21661b77431f88e856cb4\",\"dweb:/ipfs/QmRP6Ry7DCS5uoKxnnkTomHSzbaCze6cHqbR9aLdjoF6vK\"]},\"contracts/release/extensions/IExtension.sol\":{\"keccak256\":\"0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70\",\"dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t\"]},\"contracts/release/extensions/external-position-manager/IExternalPositionManager.sol\":{\"keccak256\":\"0x3af3f634e1f99fb97091b7825c0d2e2baaafc124d4e87d56cb0c17ff8554f6c6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://515470605afe5ef147f30fa75ce7818f0e00e3d321eb81a4d9bffcdefc294495\",\"dweb:/ipfs/QmPKsp99pfHoz9Tfo3ZxnkmqDqJtN9PxqacF2RmeVfxUJF\"]},\"contracts/release/extensions/fee-manager/IFeeManager.sol\":{\"keccak256\":\"0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22\",\"dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod\"]},\"contracts/release/extensions/policy-manager/IPolicyManager.sol\":{\"keccak256\":\"0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa\",\"dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb\"]},\"contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol\":{\"keccak256\":\"0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f\",\"dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol\":{\"keccak256\":\"0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0\",\"dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol\":{\"keccak256\":\"0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b\",\"dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3\"]},\"contracts/release/infrastructure/protocol-fees/IProtocolFeeTracker.sol\":{\"keccak256\":\"0x232b347f83457439064add7369bfe1930c7cb56f15930bb87d640e909c15e447\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://24f9af5eebdd373b1d7a598c096eb6def31b2640d54416d7d5a7226e1cef17e6\",\"dweb:/ipfs/QmStq9ByGuSYdKwTmZf52L1X6sZVJUfXTnoVbnjLLiUcHG\"]},\"contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol\":{\"keccak256\":\"0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965\",\"dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ\"]},\"contracts/release/interfaces/IGsnForwarder.sol\":{\"keccak256\":\"0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29\",\"dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G\"]},\"contracts/release/interfaces/IGsnPaymaster.sol\":{\"keccak256\":\"0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4\",\"dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF\"]},\"contracts/release/interfaces/IGsnTypes.sol\":{\"keccak256\":\"0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7\",\"dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C\"]},\"contracts/release/interfaces/IWETH.sol\":{\"keccak256\":\"0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2\",\"dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ\"]},\"contracts/release/peripheral/shares-wrappers/arbitrary-token-phased/ArbitraryTokenPhasedSharesWrapperFactory.sol\":{\"keccak256\":\"0xe5abfb756aee066effadd35793d45911efc9dfe2600b5e3fd08f3d327e64a987\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c5aeff5df386d5b82a70c6253a3cba16ab4004de024f3558df1437e5fd8abd4c\",\"dweb:/ipfs/QmQv4RimWL5fbKYxtbcaYLdHwowi7kypaDm2AhWnPKdhR9\"]},\"contracts/release/peripheral/shares-wrappers/arbitrary-token-phased/ArbitraryTokenPhasedSharesWrapperLib.sol\":{\"keccak256\":\"0xc30ef4e60784b2b7f9cfde28f19b632f122b10e8c0ee6e651cb4103164b6266c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a8f196fcadc70d8e6eebad3dfd1147e929bb41e2813cac84650ed6d898d40db6\",\"dweb:/ipfs/QmSDEnTBR9mqLwGFxDECctyWBgNUuQv5oSCMZW9BFoTXtE\"]},\"contracts/release/peripheral/shares-wrappers/arbitrary-token-phased/ArbitraryTokenPhasedSharesWrapperProxy.sol\":{\"keccak256\":\"0xfa6eb5b0ffa230b6f230fe320c4a84f105ce71f5724f0eacc5b51006a654511a\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://12b6c555e7d72e6f02e2e1dc2865ee7a685c1c7f13adbefc1bbc0bf14a33b837\",\"dweb:/ipfs/QmXNk54TCHpzf49zHunTdDRCGnQujb69RZhGfw8mdM7QX2\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"contracts/release/utils/MathHelpers.sol\":{\"keccak256\":\"0x8aef498ae98bfb40cd1df8c9ed652b4c092fbbe62d5a1fad522c53654523248e\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ed62789f6a8d5ca30a40c591f244b915e4711493a9e4b1b4d40ea2bc97b02a95\",\"dweb:/ipfs/QmWyXJ55arURtx9VMkUQokdsjk8tbgM2cC8rENFUMyz5D3\"]},\"contracts/release/utils/NonUpgradableProxy.sol\":{\"keccak256\":\"0x7d70145a2a0ff8c36318b23ac6ca662f133584dd823933230c66143b89e2d53d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b05ea625a428fdf3f908db3e97a358a4117d4998abde806ba3839c7fad821bca\",\"dweb:/ipfs/QmSLzFT1ktLTZ7rAKYjcg6dBRuxVMzrGXjGJSsH5nSVx2G\"]},\"contracts/release/utils/beacon-proxy/IBeacon.sol\":{\"keccak256\":\"0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39\",\"dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V\"]},\"contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol\":{\"keccak256\":\"0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be\",\"dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20Burnable.sol\":{\"keccak256\":\"0x9c0eb3b0e11d2480d49991dc384f1e5f9c9b9967cc81944d50916a9b9c6c4984\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99e4033d778624992e86f0b6d801a4f6d7b5c0cd5c79c1296be90a051ad5f5af\",\"dweb:/ipfs/QmShYmkUqh6pDEeoWadZ24icmCr4C2Xys1uE5boivPmbwf\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_dispatcher", "type": "address" }, { "internalType": "address", "name": "_addressListRegistry", "type": "address" }, { "internalType": "address", "name": "_fundDeployerV4", "type": "address" }, { "internalType": "address", "name": "_protocolFeeRecipient", "type": "address" }, { "internalType": "uint256", "name": "_protocolFeeBps", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "caller", "type": "address", "indexed": true }, { "internalType": "address", "name": "proxy", "type": "address", "indexed": false } ], "type": "event", "name": "ProxyDeployed", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "address", "name": "_depositToken", "type": "address" }, { "internalType": "uint128", "name": "_allowedDepositorListId", "type": "uint128" }, { "internalType": "bool", "name": "_transfersAllowed", "type": "bool" }, { "internalType": "uint128", "name": "_totalDepositMax", "type": "uint128" }, { "internalType": "address", "name": "_feeRecipient", "type": "address" }, { "internalType": "uint16", "name": "_feeBps", "type": "uint16" }, { "internalType": "bool", "name": "_feeExcludesDepositTokenPrincipal", "type": "bool" }, { "internalType": "address", "name": "_manager", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "deploy", "outputs": [ { "internalType": "address", "name": "wrapperProxy_", "type": "address" } ] } ], "devdoc": { "kind": "dev", "methods": { "deploy(address,address,uint128,bool,uint128,address,uint16,bool,address)": { "params": { "_allowedDepositorListId": "The id of an AddressListRegistry list to use for validating allowed depositors", "_depositToken": "The token that users deposit to the wrapper to receive wrapped shares", "_feeBps": "The wrapper fee amount in bps", "_feeExcludesDepositTokenPrincipal": "True if the fee excludes the total _depositToken amount deposited", "_feeRecipient": "The recipient of the wrapper fee", "_manager": "The manager of the wrapper", "_totalDepositMax": "The total amount of deposit token that can be deposited", "_transfersAllowed": "True if wrapped shares transfers are allowed", "_vaultProxy": "The VaultProxy that will have its shares wrapped" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "deploy(address,address,uint128,bool,uint128,address,uint16,bool,address)": { "notice": "Deploys a ArbitraryTokenPhasedSharesWrapperProxy instance" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/peripheral/shares-wrappers/arbitrary-token-phased/ArbitraryTokenPhasedSharesWrapperFactory.sol": "ArbitraryTokenPhasedSharesWrapperFactory" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/address-list-registry/AddressListRegistry.sol": { "keccak256": "0xf00a9e376e3ec2a223f463f71c15ee3af3642dd028bc3762440e316b760c8048", "urls": [ "bzz-raw://01986c9327b5dfbfac21316dced6d68727931ddde1278ed1342d878004f984b9", "dweb:/ipfs/QmdXkFaUU43JqMTYEREbWa129rohdqN7GXy7mVRpjCfSLD" ], "license": "GPL-3.0" }, "contracts/persistent/dispatcher/IDispatcher.sol": { "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", "urls": [ "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" ], "license": "GPL-3.0" }, "contracts/persistent/external-positions/IExternalPosition.sol": { "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", "urls": [ "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" ], "license": "GPL-3.0" }, "contracts/persistent/protocol-fee-reserve/interfaces/IProtocolFeeReserve1.sol": { "keccak256": "0x2728878c423db523bc95189137e8c58d2d7db9f56bbd5c6b1f988c08b551fbab", "urls": [ "bzz-raw://3b0df1d2eb74151265d03ab91a7c341f7beca475dd2f4d669052dbc4ee2c06ac", "dweb:/ipfs/QmVx1cgrxQNYfdK1Kn15pcgqf79Uw8bF3U6i7F2HG2rj6G" ], "license": "GPL-3.0" }, "contracts/persistent/vault/VaultLibBase1.sol": { "keccak256": "0xa4dac1e4cdb311a2ab187135355357d8790c505ef36dd912c057fe53743d30b5", "urls": [ "bzz-raw://b66efe821016ab927c949263023260515e90f5d480dc8d94eefbfeec7bf7490b", "dweb:/ipfs/QmNY3xKnhL9EptAbxGvXHGAXfV9pj3dDPwsZnKrPs54ZHw" ], "license": "GPL-3.0" }, "contracts/persistent/vault/VaultLibBase2.sol": { "keccak256": "0xf7d31f2a9a47770ed3f444be2c4fe9262ddb55fef7f25e546b1f03c9afec4c09", "urls": [ "bzz-raw://9353ddce7c9b8b3c13fed23fe8edec99ca610d791b0c5b204b3d01f1f08d07d2", "dweb:/ipfs/QmeVsEh3joCjv49BRXeHASevnZZ5xdZXpkctHT8BPf37N2" ], "license": "GPL-3.0" }, "contracts/persistent/vault/VaultLibBaseCore.sol": { "keccak256": "0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074", "urls": [ "bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd", "dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IExternalPositionVault.sol": { "keccak256": "0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6", "urls": [ "bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d", "dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol": { "keccak256": "0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0", "urls": [ "bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb", "dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IMigratableVault.sol": { "keccak256": "0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238", "urls": [ "bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6", "dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IVaultCore.sol": { "keccak256": "0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80", "urls": [ "bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd", "dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr" ], "license": "GPL-3.0" }, "contracts/persistent/vault/utils/ProxiableVaultLib.sol": { "keccak256": "0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76", "urls": [ "bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44", "dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4" ], "license": "GPL-3.0" }, "contracts/persistent/vault/utils/SharesTokenBase.sol": { "keccak256": "0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113", "urls": [ "bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8", "dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4" ], "license": "GPL-3.0" }, "contracts/persistent/vault/utils/VaultLibSafeMath.sol": { "keccak256": "0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d", "urls": [ "bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02", "dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG" ], "license": "GPL-3.0" }, "contracts/release/core/fund-deployer/IFundDeployer.sol": { "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", "urls": [ "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" ], "license": "GPL-3.0" }, "contracts/release/core/fund/comptroller/ComptrollerLib.sol": { "keccak256": "0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64", "urls": [ "bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579", "dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq" ], "license": "GPL-3.0" }, "contracts/release/core/fund/comptroller/IComptroller.sol": { "keccak256": "0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f", "urls": [ "bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97", "dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L" ], "license": "GPL-3.0" }, "contracts/release/core/fund/vault/IVault.sol": { "keccak256": "0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd", "urls": [ "bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599", "dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG" ], "license": "GPL-3.0" }, "contracts/release/core/fund/vault/VaultLib.sol": { "keccak256": "0x07e49445ab55c01e1b499a48baadc2a15d1eba621f1c6d3ccfdb84c87b976da8", "urls": [ "bzz-raw://56d882459248f73e137db2e097fc56b946147fb28ec21661b77431f88e856cb4", "dweb:/ipfs/QmRP6Ry7DCS5uoKxnnkTomHSzbaCze6cHqbR9aLdjoF6vK" ], "license": "GPL-3.0" }, "contracts/release/extensions/IExtension.sol": { "keccak256": "0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b", "urls": [ "bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70", "dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/IExternalPositionManager.sol": { "keccak256": "0x3af3f634e1f99fb97091b7825c0d2e2baaafc124d4e87d56cb0c17ff8554f6c6", "urls": [ "bzz-raw://515470605afe5ef147f30fa75ce7818f0e00e3d321eb81a4d9bffcdefc294495", "dweb:/ipfs/QmPKsp99pfHoz9Tfo3ZxnkmqDqJtN9PxqacF2RmeVfxUJF" ], "license": "GPL-3.0" }, "contracts/release/extensions/fee-manager/IFeeManager.sol": { "keccak256": "0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51", "urls": [ "bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22", "dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod" ], "license": "GPL-3.0" }, "contracts/release/extensions/policy-manager/IPolicyManager.sol": { "keccak256": "0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32", "urls": [ "bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa", "dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol": { "keccak256": "0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609", "urls": [ "bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f", "dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol": { "keccak256": "0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01", "urls": [ "bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0", "dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol": { "keccak256": "0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196", "urls": [ "bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b", "dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/protocol-fees/IProtocolFeeTracker.sol": { "keccak256": "0x232b347f83457439064add7369bfe1930c7cb56f15930bb87d640e909c15e447", "urls": [ "bzz-raw://24f9af5eebdd373b1d7a598c096eb6def31b2640d54416d7d5a7226e1cef17e6", "dweb:/ipfs/QmStq9ByGuSYdKwTmZf52L1X6sZVJUfXTnoVbnjLLiUcHG" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol": { "keccak256": "0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794", "urls": [ "bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965", "dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IGsnForwarder.sol": { "keccak256": "0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030", "urls": [ "bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29", "dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IGsnPaymaster.sol": { "keccak256": "0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c", "urls": [ "bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4", "dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IGsnTypes.sol": { "keccak256": "0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714", "urls": [ "bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7", "dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IWETH.sol": { "keccak256": "0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2", "urls": [ "bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2", "dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ" ], "license": "GPL-3.0" }, "contracts/release/peripheral/shares-wrappers/arbitrary-token-phased/ArbitraryTokenPhasedSharesWrapperFactory.sol": { "keccak256": "0xe5abfb756aee066effadd35793d45911efc9dfe2600b5e3fd08f3d327e64a987", "urls": [ "bzz-raw://c5aeff5df386d5b82a70c6253a3cba16ab4004de024f3558df1437e5fd8abd4c", "dweb:/ipfs/QmQv4RimWL5fbKYxtbcaYLdHwowi7kypaDm2AhWnPKdhR9" ], "license": "GPL-3.0" }, "contracts/release/peripheral/shares-wrappers/arbitrary-token-phased/ArbitraryTokenPhasedSharesWrapperLib.sol": { "keccak256": "0xc30ef4e60784b2b7f9cfde28f19b632f122b10e8c0ee6e651cb4103164b6266c", "urls": [ "bzz-raw://a8f196fcadc70d8e6eebad3dfd1147e929bb41e2813cac84650ed6d898d40db6", "dweb:/ipfs/QmSDEnTBR9mqLwGFxDECctyWBgNUuQv5oSCMZW9BFoTXtE" ], "license": "GPL-3.0" }, "contracts/release/peripheral/shares-wrappers/arbitrary-token-phased/ArbitraryTokenPhasedSharesWrapperProxy.sol": { "keccak256": "0xfa6eb5b0ffa230b6f230fe320c4a84f105ce71f5724f0eacc5b51006a654511a", "urls": [ "bzz-raw://12b6c555e7d72e6f02e2e1dc2865ee7a685c1c7f13adbefc1bbc0bf14a33b837", "dweb:/ipfs/QmXNk54TCHpzf49zHunTdDRCGnQujb69RZhGfw8mdM7QX2" ], "license": "GPL-3.0" }, "contracts/release/utils/AddressArrayLib.sol": { "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", "urls": [ "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" ], "license": "GPL-3.0" }, "contracts/release/utils/AssetHelpers.sol": { "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", "urls": [ "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" ], "license": "GPL-3.0" }, "contracts/release/utils/MathHelpers.sol": { "keccak256": "0x8aef498ae98bfb40cd1df8c9ed652b4c092fbbe62d5a1fad522c53654523248e", "urls": [ "bzz-raw://ed62789f6a8d5ca30a40c591f244b915e4711493a9e4b1b4d40ea2bc97b02a95", "dweb:/ipfs/QmWyXJ55arURtx9VMkUQokdsjk8tbgM2cC8rENFUMyz5D3" ], "license": "GPL-3.0" }, "contracts/release/utils/NonUpgradableProxy.sol": { "keccak256": "0x7d70145a2a0ff8c36318b23ac6ca662f133584dd823933230c66143b89e2d53d", "urls": [ "bzz-raw://b05ea625a428fdf3f908db3e97a358a4117d4998abde806ba3839c7fad821bca", "dweb:/ipfs/QmSLzFT1ktLTZ7rAKYjcg6dBRuxVMzrGXjGJSsH5nSVx2G" ], "license": "GPL-3.0" }, "contracts/release/utils/beacon-proxy/IBeacon.sol": { "keccak256": "0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2", "urls": [ "bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39", "dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V" ], "license": "GPL-3.0" }, "contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol": { "keccak256": "0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc", "urls": [ "bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be", "dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20Burnable.sol": { "keccak256": "0x9c0eb3b0e11d2480d49991dc384f1e5f9c9b9967cc81944d50916a9b9c6c4984", "urls": [ "bzz-raw://99e4033d778624992e86f0b6d801a4f6d7b5c0cd5c79c1296be90a051ad5f5af", "dweb:/ipfs/QmShYmkUqh6pDEeoWadZ24icmCr4C2Xys1uE5boivPmbwf" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", "urls": [ "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Address.sol": { "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", "urls": [ "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" } }, "version": 1 }, "id": 351 } diff --git a/eth_defi/abi/enzyme/ArbitraryTokenPhasedSharesWrapperLib.json b/eth_defi/abi/enzyme/ArbitraryTokenPhasedSharesWrapperLib.json index fbafaa4a..783bd487 100644 --- a/eth_defi/abi/enzyme/ArbitraryTokenPhasedSharesWrapperLib.json +++ b/eth_defi/abi/enzyme/ArbitraryTokenPhasedSharesWrapperLib.json @@ -1,2339 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_dispatcher", - "type": "address" - }, - { - "internalType": "address", - "name": "_addressListRegistry", - "type": "address" - }, - { - "internalType": "address", - "name": "_fundDeployerV4", - "type": "address" - }, - { - "internalType": "address", - "name": "_protocolFeeRecipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_protocolFeeBps", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_initializer", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "listId", - "type": "uint256" - } - ], - "name": "AllowedDepositorListIdSet", - "type": "event" - }, - { - "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": "user", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "Deposited", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "FeePaid", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "vaultProxy", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "depositToken", - "type": "address" - }, - { - "indexed": false, - "internalType": "bool", - "name": "transfersAllowed", - "type": "bool" - }, - { - "indexed": false, - "internalType": "address", - "name": "feeRecipient", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint16", - "name": "feeBps", - "type": "uint16" - }, - { - "indexed": false, - "internalType": "bool", - "name": "feeExcludesDepositTokenPrincipal", - "type": "bool" - } - ], - "name": "Initialized", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "manager", - "type": "address" - } - ], - "name": "ManagerSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "ProtocolFeePaid", - "type": "event" - }, - { - "anonymous": false, - "inputs": [], - "name": "ProtocolFeeStarted", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "enum ArbitraryTokenPhasedSharesWrapperLib.State", - "name": "state", - "type": "uint8" - } - ], - "name": "StateSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "totalDepositMax", - "type": "uint256" - } - ], - "name": "TotalDepositMaxSet", - "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" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address[]", - "name": "claimedAssets", - "type": "address[]" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "claimedAssetAmounts", - "type": "uint256[]" - } - ], - "name": "Withdrawn", - "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": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "decimals_", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "subtractedValue", - "type": "uint256" - } - ], - "name": "decreaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "deposit", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "enterLockedState", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_untrackedAssetsToClaim", - "type": "address[]" - } - ], - "name": "enterRedeemState", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getAllowedDepositorListId", - "outputs": [ - { - "internalType": "uint256", - "name": "allowedDepositorListId_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getDepositToken", - "outputs": [ - { - "internalType": "address", - "name": "depositToken_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getFeeBps", - "outputs": [ - { - "internalType": "uint256", - "name": "feeBps_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getFeeExcludesDepositTokenPrincipal", - "outputs": [ - { - "internalType": "bool", - "name": "excludesPrincipal_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getFeeRecipient", - "outputs": [ - { - "internalType": "address", - "name": "feeRecipient_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getManager", - "outputs": [ - { - "internalType": "address", - "name": "manager_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getProtocolFeeStart", - "outputs": [ - { - "internalType": "uint256", - "name": "protocolFeeStart_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getRedeemedAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "redeemedAssets_", - "type": "address[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getState", - "outputs": [ - { - "internalType": "enum ArbitraryTokenPhasedSharesWrapperLib.State", - "name": "state_", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getTotalDepositMax", - "outputs": [ - { - "internalType": "uint256", - "name": "totalDepositMax_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getTransfersAllowed", - "outputs": [ - { - "internalType": "bool", - "name": "transfersAllowed_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getVaultProxy", - "outputs": [ - { - "internalType": "address", - "name": "vaultProxy_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "addedValue", - "type": "uint256" - } - ], - "name": "increaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_depositToken", - "type": "address" - }, - { - "internalType": "uint128", - "name": "_allowedDepositorListId", - "type": "uint128" - }, - { - "internalType": "bool", - "name": "_transfersAllowed", - "type": "bool" - }, - { - "internalType": "uint128", - "name": "_totalDepositMax", - "type": "uint128" - }, - { - "internalType": "address", - "name": "_feeRecipient", - "type": "address" - }, - { - "internalType": "uint16", - "name": "_feeBps", - "type": "uint16" - }, - { - "internalType": "bool", - "name": "_feeExcludesDepositTokenPrincipal", - "type": "bool" - }, - { - "internalType": "address", - "name": "_manager", - "type": "address" - } - ], - "name": "init", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "name_", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint128", - "name": "_nextAllowedDepositorListId", - "type": "uint128" - } - ], - "name": "setAllowedDepositorListId", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_nextManager", - "type": "address" - } - ], - "name": "setManager", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint128", - "name": "_nextTotalDepositMax", - "type": "uint128" - } - ], - "name": "setTotalDepositMax", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "symbol_", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "success_", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_sender", - "type": "address" - }, - { - "internalType": "address", - "name": "_recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "success_", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "_additionalAssets", - "type": "address[]" - } - ], - "name": "withdraw", - "outputs": [ - { - "internalType": "address[]", - "name": "claimedAssets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "claimedAssetAmounts_", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x6101606040523480156200001257600080fd5b5060405162003fec38038062003fec833981810160405260c08110156200003857600080fd5b5080516020808301516040808501516060860151608087015160a09097015183518085018552601981527f5772617070656420456e7a796d6520536861726573204c696200000000000000818801908152855180870190965260098652683ba2a72d2316b634b160b91b97860197909752805197989597939692959491939092620000c7916003919062000135565b508051620000dd90600490602084019062000135565b50506005805460ff19166012179055506001600160601b0319606095861b811660805295851b861660a05292841b851660c05291831b841660e05261010091909152811b9091166101205230901b61014052620001d1565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200017857805160ff1916838001178555620001a8565b82800160010185558215620001a8579182015b82811115620001a85782518255916020019190600101906200018b565b50620001b6929150620001ba565b5090565b5b80821115620001b65760008155600101620001bb565b60805160601c60a05160601c60c05160601c60e05160601c610100516101205160601c6101405160601c613db06200023c600039806107775280611692525080612cb0525080612c1e525080611dc3525080611e2c525080611e565250806121955250613db06000f3fe608060405234801561001057600080fd5b50600436106101e55760003560e01c8063907e3df31161010f578063b6b55f25116100a2578063dd62ed3e11610071578063dd62ed3e146106b6578063e9085cc7146106e4578063ecb6abd61461070a578063fb1b5c7b14610762576101e5565b8063b6b55f2514610663578063c980918714610680578063d0ebdbe714610688578063d5009584146106ae576101e5565b8063a161a512116100de578063a161a51214610590578063a457c2d714610598578063a9059cbb146105c4578063ae652af6146105f0576101e5565b8063907e3df31461044c578063913cc04a1461045457806395d89b411461047a57806399eca69f14610482576101e5565b8063313ce567116101875780636edac21b116101565780636edac21b146103a857806370a08231146103b0578063851bda82146103d65780638c43447114610444576101e5565b8063313ce56714610330578063395093511461034e57806340806ae61461037a5780634ccb20c014610384576101e5565b80631865c57d116101c35780631865c57d146102c15780632207b386146102ea57806323b872dd146102f25780632c92809814610328576101e5565b806306fdde03146101ea578063095ea7b31461026757806318160ddd146102a7575b600080fd5b6101f261076a565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561022c578181015183820152602001610214565b50505050905090810190601f1680156102595780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102936004803603604081101561027d57600080fd5b506001600160a01b038135169060200135610956565b604080519115158252519081900360200190f35b6102af610974565b60408051918252519081900360200190f35b6102c961097a565b604051808260028111156102d957fe5b815260200191505060405180910390f35b6102af61098a565b6102936004803603606081101561030857600080fd5b506001600160a01b038135811691602081013590911690604001356109a0565b6102af610a10565b610338610a21565b6040805160ff9092168252519081900360200190f35b6102936004803603604081101561036457600080fd5b506001600160a01b038135169060200135610a26565b610382610a79565b005b61038c610e59565b604080516001600160a01b039092168252519081900360200190f35b610293610e68565b6102af600480360360208110156103c657600080fd5b50356001600160a01b0316610e78565b610382600480360360208110156103ec57600080fd5b810190602081018135600160201b81111561040657600080fd5b82018360208201111561041857600080fd5b803590602001918460208302840111600160201b8311171561043957600080fd5b509092509050610e97565b6102af6115eb565b6102936115fa565b6103826004803603602081101561046a57600080fd5b50356001600160801b031661160a565b6101f2611685565b6104f76004803603604081101561049857600080fd5b81359190810190604081016020820135600160201b8111156104b957600080fd5b8201836020820111156104cb57600080fd5b803590602001918460208302840111600160201b831117156104ec57600080fd5b509092509050611828565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b8381101561053b578181015183820152602001610523565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561057a578181015183820152602001610562565b5050505090500194505050505060405180910390f35b6102af611cd8565b610293600480360360408110156105ae57600080fd5b506001600160a01b038135169060200135611ceb565b610293600480360360408110156105da57600080fd5b506001600160a01b038135169060200135611d53565b610382600480360361012081101561060757600080fd5b506001600160a01b03813581169160208101358216916001600160801b036040830135811692606081013515159260808201359092169160a082013581169161ffff60c0820135169160e0820135151591610100013516611db8565b6103826004803603602081101561067957600080fd5b50356120f5565b61038c6123f4565b6103826004803603602081101561069e57600080fd5b50356001600160a01b0316612403565b61038c612476565b6102af600480360360408110156106cc57600080fd5b506001600160a01b038135811691602001351661248a565b610382600480360360208110156106fa57600080fd5b50356001600160801b03166124b5565b610712612528565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561074e578181015183820152602001610736565b505050509050019250505060405180910390f35b61038c61258a565b6060306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156107ac576107a5612599565b9050610953565b6107b46123f4565b6001600160a01b03166306fdde036040518163ffffffff1660e01b815260040160006040518083038186803b1580156107ec57600080fd5b505afa158015610800573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561082957600080fd5b8101908080516040519392919084600160201b82111561084857600080fd5b90830190602082018581111561085d57600080fd5b8251600160201b81118282018810171561087657600080fd5b82525081516020918201929091019080838360005b838110156108a357818101518382015260200161088b565b50505050905090810190601f1680156108d05780820380516001836020036101000a031916815260200191505b5060405250505060405160200180806702bb930b83832b2160c51b81525060080182805190602001908083835b6020831061091c5780518252601f1990920191602091820191016108fd565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405160208183030381529060405290505b90565b600061096a610963612626565b848461262a565b5060015b92915050565b60025490565b600754600160a01b900460ff1690565b600854600160801b90046001600160801b031690565b60006109aa610e68565b6109fb576040805162461bcd60e51b815260206004820181905260248201527f6f6e6c795472616e7366657273416c6c6f7765643a20446973616c6c6f776564604482015290519081900360640190fd5b610a06848484612716565b90505b9392505050565b600954600160c01b900461ffff1690565b601290565b600061096a610a33612626565b84610a748560016000610a44612626565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490612798565b61262a565b6000610a836123f4565b9050610a8f33826127f2565b6000610a9961097a565b6002811115610aa457fe5b14610af6576040805162461bcd60e51b815260206004820152601f60248201527f656e7465724c6f636b656453746174653a20496e76616c696420737461746500604482015290519081900360640190fd5b6000816001600160a01b0316635a53e3486040518163ffffffff1660e01b815260040160206040518083038186803b158015610b3157600080fd5b505afa158015610b45573d6000803e3d6000fd5b505050506040513d6020811015610b5b57600080fd5b505160408051637134e1eb60e11b815290519192506000916001600160a01b0384169163e269c3d6916004808301926020929190829003018186803b158015610ba357600080fd5b505afa158015610bb7573d6000803e3d6000fd5b505050506040513d6020811015610bcd57600080fd5b5051604080516370a0823160e01b815230600482015290519192506000916001600160a01b038416916370a08231916024808301926020929190829003018186803b158015610c1b57600080fd5b505afa158015610c2f573d6000803e3d6000fd5b505050506040513d6020811015610c4557600080fd5b50519050610c5d6001600160a01b0383168483612871565b6000836001600160a01b031663beebc5da8360016040518363ffffffff1660e01b81526004018083815260200182815260200192505050602060405180830381600087803b158015610cae57600080fd5b505af1158015610cc2573d6000803e3d6000fd5b505050506040513d6020811015610cd857600080fd5b5051604080516318160ddd60e01b81529051919250600091610d589184916001600160a01b038a16916318160ddd916004808301926020929190829003018186803b158015610d2657600080fd5b505afa158015610d3a573d6000803e3d6000fd5b505050506040513d6020811015610d5057600080fd5b505190612989565b9050801580610d715750610d6e816127106129e6565b82115b610dac5760405162461bcd60e51b8152600401808060200182810382526024815260200180613c236024913960400191505060405180910390fd5b610db66001612a3f565b6000610dc061258a565b9050610e5087826001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610e1357600080fd5b505afa158015610e27573d6000803e3d6000fd5b505050506040513d6020811015610e3d57600080fd5b50516001600160a01b0384169190612aa8565b50505050505050565b6009546001600160a01b031690565b600954600160e01b900460ff1690565b6001600160a01b0381166000908152602081905260409020545b919050565b6000610ea16123f4565b9050610ead33826127f2565b6001610eb761097a565b6002811115610ec257fe5b14610f14576040805162461bcd60e51b815260206004820152601f60248201527f656e74657252656465656d53746174653a20496e76616c696420737461746500604482015290519081900360640190fd5b6060816001600160a01b031663b8b7f1476040518163ffffffff1660e01b815260040160006040518083038186803b158015610f4f57600080fd5b505afa158015610f63573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526020811015610f8c57600080fd5b8101908080516040519392919084600160201b821115610fab57600080fd5b908301906020820185811115610fc057600080fd5b82518660208202830111600160201b82111715610fdc57600080fd5b82525081516020918201928201910280838360005b83811015611009578181015183820152602001610ff1565b50505050905001604052505050905060005b815181101561123457606082828151811061103257fe5b60200260200101516001600160a01b03166380daddb86040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561107457600080fd5b505af1158015611088573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160409081528110156110b157600080fd5b8101908080516040519392919084600160201b8211156110d057600080fd5b9083019060208201858111156110e557600080fd5b82518660208202830111600160201b8211171561110157600080fd5b82525081516020918201928201910280838360005b8381101561112e578181015183820152602001611116565b5050505090500160405260200180516040519392919084600160201b82111561115657600080fd5b90830190602082018581111561116b57600080fd5b82518660208202830111600160201b8211171561118757600080fd5b82525081516020918201928201910280838360005b838110156111b457818101518382015260200161119c565b5050505090500160405250505091505060005b815181101561122a578181815181106111dc57fe5b60200260200101516000146112225760405162461bcd60e51b8152600401808060200182810382526032815260200180613bc86032913960400191505060405180910390fd5b6001016111c7565b505060010161101b565b50600061123f6123f4565b6001600160a01b0316635a53e3486040518163ffffffff1660e01b815260040160206040518083038186803b15801561127757600080fd5b505afa15801561128b573d6000803e3d6000fd5b505050506040513d60208110156112a157600080fd5b5051905060606112ee6112b261258a565b8787808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509293925050612afa9050565b90506060806001600160a01b038416636af8e7eb30600019866000604051908082528060200260200182016040528015611332578160200160208202803683370190505b506040518563ffffffff1660e01b815260040180856001600160a01b031681526020018481526020018060200180602001838103835285818151815260200191508051906020019060200280838360005b8381101561139b578181015183820152602001611383565b50505050905001838103825284818151815260200191508051906020019060200280838360005b838110156113da5781810151838201526020016113c2565b505050509050019650505050505050600060405180830381600087803b15801561140357600080fd5b505af1158015611417573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604090815281101561144057600080fd5b8101908080516040519392919084600160201b82111561145f57600080fd5b90830190602082018581111561147457600080fd5b82518660208202830111600160201b8211171561149057600080fd5b82525081516020918201928201910280838360005b838110156114bd5781810151838201526020016114a5565b5050505090500160405260200180516040519392919084600160201b8211156114e557600080fd5b9083019060208201858111156114fa57600080fd5b82518660208202830111600160201b8211171561151657600080fd5b82525081516020918201928201910280838360005b8381101561154357818101518382015260200161152b565b5050505090500160405250505091509150606060005b83518110156115af57600083828151811061157057fe5b602002602001015111156115a7576115a484828151811061158d57fe5b602002602001015183612b1890919063ffffffff16565b91505b600101611559565b5080516115c390600a906020840190613a8e565b506115cd81612be3565b6115d681612d61565b6115e06002612a3f565b505050505050505050565b6008546001600160801b031690565b600954600160d01b900460ff1690565b61161a6116156123f4565b612f68565b6001600160a01b0316336001600160a01b031614611679576040805162461bcd60e51b81526020600482015260176024820152761bdb9b1e53dddb995c8e88155b985d5d1a1bdc9a5e9959604a1b604482015290519081900360640190fd5b61168281612fd5565b50565b6060306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156116c0576107a5613028565b6116c86123f4565b6001600160a01b03166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b15801561170057600080fd5b505afa158015611714573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561173d57600080fd5b8101908080516040519392919084600160201b82111561175c57600080fd5b90830190602082018581111561177157600080fd5b8251600160201b81118282018810171561178a57600080fd5b82525081516020918201929091019080838360005b838110156117b757818101518382015260200161179f565b50505050905090810190601f1680156117e45780820380516001836020036101000a031916815260200191505b506040525050506040516020018080607760f81b81525060010182805190602001908083836020831061091c5780518252601f1990920191602091820191016108fd565b6009546060908190600160d81b900460ff161561188c576040805162461bcd60e51b815260206004820152601860248201527f6e6f6e5265656e7472616e743a205265656e7472616e63790000000000000000604482015290519081900360640190fd5b6009805460ff60d81b1916600160d81b17905560006118a961097a565b905060018160028111156118b957fe5b141561190c576040805162461bcd60e51b815260206004820152601960248201527f77697468647261773a20556e616c6c6f77656420537461746500000000000000604482015290519081900360640190fd5b600081600281111561191a57fe5b14156119b757831561195d5760405162461bcd60e51b8152600401808060200182810382526029815260200180613bfa6029913960400191505060405180910390fd5b604080516001808252818301909252906020808301908036833701905050925061198561258a565b8360008151811061199257fe5b60200260200101906001600160a01b031690816001600160a01b031681525050611a77565b6119f385858080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061308992505050565b611a2e5760405162461bcd60e51b8152600401808060200182810382526025815260200180613c906025913960400191505060405180910390fd5b611a74858580806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250611a6e9250612528915050565b90613113565b92505b6000611a81610974565b9050611a8d3388613267565b835167ffffffffffffffff81118015611aa557600080fd5b50604051908082528060200260200182016040528015611acf578160200160208202803683370190505b50925060005b8451811015611bf1576000858281518110611aec57fe5b60200260200101519050611b8383611b7d8b846001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015611b4b57600080fd5b505afa158015611b5f573d6000803e3d6000fd5b505050506040513d6020811015611b7557600080fd5b5051906129e6565b90613363565b858381518110611b8f57fe5b6020026020010181815250506000858381518110611ba957fe5b60200260200101511115611be857611be833868481518110611bc757fe5b6020026020010151836001600160a01b0316612aa89092919063ffffffff16565b50600101611ad5565b50336001600160a01b03167f3e4e319c3be0696253cf2e6260a96ddf9a8fa8cfc0e7186500bbcfcef899194d888686604051808481526020018060200180602001838103835285818151815260200191508051906020019060200280838360005b83811015611c6a578181015183820152602001611c52565b50505050905001838103825284818151815260200191508051906020019060200280838360005b83811015611ca9578181015183820152602001611c91565b505050509050019550505050505060405180910390a250506009805460ff60d81b191690559094909350915050565b600954600160a01b900463ffffffff1690565b600061096a611cf8612626565b84610a7485604051806060016040528060258152602001613d7f6025913960016000611d22612626565b6001600160a01b03908116825260208083019390935260409182016000908120918d168152925290205491906133ca565b6000611d5d610e68565b611dae576040805162461bcd60e51b815260206004820181905260248201527f6f6e6c795472616e7366657273416c6c6f7765643a20446973616c6c6f776564604482015290519081900360640190fd5b610a098383613461565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611e2a576040805162461bcd60e51b81526020600482015260126024820152711a5b9a5d0e88155b985d5d1a1bdc9a5e995960721b604482015290519081900360640190fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316633d7c74f88b6040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015611ec157600080fd5b505afa158015611ed5573d6000803e3d6000fd5b505050506040513d6020811015611eeb57600080fd5b50516001600160a01b031614611f48576040805162461bcd60e51b815260206004820152601760248201527f696e69743a20426164207661756c742076657273696f6e000000000000000000604482015290519081900360640190fd5b600780546001600160a01b03808b166001600160a01b03199283161790925560068054928c16929091169190911790556001600160801b03871615611f9057611f9087613475565b6001600160a01b03811615611fa857611fa8816134d2565b6001600160801b03851615611fc057611fc085612fd5565b8515611fda576009805460ff60e01b1916600160e01b1790555b6001600160a01b03841615612085576127108361ffff161061203c576040805162461bcd60e51b81526020600482015260166024820152751a5b9a5d0e8813585e0819995948195e18d95959195960521b604482015290519081900360640190fd5b6009805461ffff60c01b1916600160c01b61ffff861602176001600160a01b0319166001600160a01b0386161790558115612085576009805460ff60d01b1916600160d01b1790555b604080516001600160a01b03808c168252808b166020830152881515828401528616606082015261ffff8516608082015283151560a082015290517fbd8aba18aec1b83d675f3b473e0bfb62d8e3a73b7c786d663bee96d559b450359181900360c00190a1505050505050505050565b60006120ff61097a565b600281111561210a57fe5b1461215c576040805162461bcd60e51b815260206004820152601860248201527f6465706f7369743a20556e616c6c6f7765642053746174650000000000000000604482015290519081900360640190fd5b60006121666115eb565b9050801561225857604080516307158c8160e21b81526004810183905233602482015290516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691631c563204916044808301926020929190829003018186803b1580156121db57600080fd5b505afa1580156121ef573d6000803e3d6000fd5b505050506040513d602081101561220557600080fd5b5051612258576040805162461bcd60e51b815260206004820152601960248201527f6465706f7369743a20556e616c6c6f7765642063616c6c657200000000000000604482015290519081900360640190fd5b600061226261258a565b9050600061226e61098a565b9050801561234557806122fa85846001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156122c857600080fd5b505afa1580156122dc573d6000803e3d6000fd5b505050506040513d60208110156122f257600080fd5b505190612798565b1115612345576040805162461bcd60e51b815260206004820152601560248201527419195c1bdcda5d0e8813585e08195e18d959591959605a1b604482015290519081900360640190fd5b61234d610974565b612399576009805463ffffffff60a01b1916600160a01b4263ffffffff16021790556040517f5798aa338c5b99bf36b74070080d9d2efadbd4a0c383148e08e3daa7219ab00c90600090a15b6123a3338561352e565b6123b86001600160a01b03831633308761361e565b60408051858152905133917f2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c4919081900360200190a250505050565b6006546001600160a01b031690565b61240e6116156123f4565b6001600160a01b0316336001600160a01b03161461246d576040805162461bcd60e51b81526020600482015260176024820152761bdb9b1e53dddb995c8e88155b985d5d1a1bdc9a5e9959604a1b604482015290519081900360640190fd5b611682816134d2565b60055461010090046001600160a01b031690565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6124c06116156123f4565b6001600160a01b0316336001600160a01b03161461251f576040805162461bcd60e51b81526020600482015260176024820152761bdb9b1e53dddb995c8e88155b985d5d1a1bdc9a5e9959604a1b604482015290519081900360640190fd5b61168281613475565b6060600a80548060200260200160405190810160405280929190818152602001828054801561258057602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311612562575b5050505050905090565b6007546001600160a01b031690565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156125805780601f106125fa57610100808354040283529160200191612580565b820191906000526020600020905b81548152906001019060200180831161260857509395945050505050565b3390565b6001600160a01b03831661266f5760405162461bcd60e51b8152600401808060200182810382526024815260200180613cfb6024913960400191505060405180910390fd5b6001600160a01b0382166126b45760405162461bcd60e51b8152600401808060200182810382526022815260200180613b586022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b600061272384848461367e565b61278e8461272f612626565b610a7485604051806060016040528060288152602001613c68602891396001600160a01b038a1660009081526001602052604081209061276d612626565b6001600160a01b0316815260208101919091526040016000205491906133ca565b5060019392505050565b600082820183811015610a09576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6127fa612476565b6001600160a01b0316826001600160a01b03161480612832575061281d81612f68565b6001600160a01b0316826001600160a01b0316145b61286d5760405162461bcd60e51b8152600401808060200182810382526028815260200180613b7a6028913960400191505060405180910390fd5b5050565b8015806128f7575060408051636eb1769f60e11b81523060048201526001600160a01b03848116602483015291519185169163dd62ed3e91604480820192602092909190829003018186803b1580156128c957600080fd5b505afa1580156128dd573d6000803e3d6000fd5b505050506040513d60208110156128f357600080fd5b5051155b6129325760405162461bcd60e51b8152600401808060200182810382526036815260200180613d496036913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526129849084906137d9565b505050565b6000828211156129e0576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6000826129f55750600061096e565b82820282848281612a0257fe5b0414610a095760405162461bcd60e51b8152600401808060200182810382526021815260200180613c476021913960400191505060405180910390fd5b6007805482919060ff60a01b1916600160a01b836002811115612a5e57fe5b02179055507fc635bb75c392e81c891d50372a48cfa81b6799ac6d594cb4c28a8c5e8bef6e9b8160405180826002811115612a9557fe5b815260200191505060405180910390a150565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526129849084906137d9565b6060612b06838361388a565b15612b1257508161096e565b610a0983835b6060825160010167ffffffffffffffff81118015612b3557600080fd5b50604051908082528060200260200182016040528015612b5f578160200160208202803683370190505b50905060005b8351811015612bae57838181518110612b7a57fe5b6020026020010151828281518110612b8e57fe5b6001600160a01b0390921660209283029190910190910152600101612b65565b508181845181518110612bbd57fe5b60200260200101906001600160a01b031690816001600160a01b03168152505092915050565b6000612bf7612bf0611cd8565b4290612989565b905060005b8251811015612984576000612ca36301e187e0611b7d612710611b7d87612c9d7f00000000000000000000000000000000000000000000000000000000000000008b8a81518110612c4957fe5b60200260200101516001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015611b4b57600080fd5b906129e6565b90508015612d5857612cfc7f000000000000000000000000000000000000000000000000000000000000000082868581518110612cdc57fe5b60200260200101516001600160a01b0316612aa89092919063ffffffff16565b7fb87e607f6030a23ed9b7dac1a717610f3a3b07325269f18808ba763bdcefe7ae848381518110612d2957fe5b60200260200101518260405180836001600160a01b031681526020018281526020019250505060405180910390a15b50600101612bfc565b6000612d6b610a10565b905080612d785750611682565b6000612d82610e59565b90506000612d8e6115fa565b15612d9e57612d9b61258a565b90505b60005b8451811015612f61576000858281518110612db857fe5b602002602001015190506000836001600160a01b0316826001600160a01b03161415612e6e57612e67826001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015612e2e57600080fd5b505afa158015612e42573d6000803e3d6000fd5b505050506040513d6020811015612e5857600080fd5b5051612e62610974565b6138e0565b9050612ee3565b604080516370a0823160e01b815230600482015290516001600160a01b038416916370a08231916024808301926020929190829003018186803b158015612eb457600080fd5b505afa158015612ec8573d6000803e3d6000fd5b505050506040513d6020811015612ede57600080fd5b505190505b6000612ef5612710611b7d848a6129e6565b90508015612f5657612f116001600160a01b0384168783612aa8565b604080516001600160a01b03851681526020810183905281517f075a2720282fdf622141dae0b048ef90a21a7e57c134c76912d19d006b3b3f6f929181900390910190a15b505050600101612da1565b5050505050565b6000816001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b158015612fa357600080fd5b505afa158015612fb7573d6000803e3d6000fd5b505050506040513d6020811015612fcd57600080fd5b505192915050565b600880546001600160801b03808416600160801b8102919092161790915560408051918252517f0e280fa5ecedea20784caab60fae774807664c009e5e229629e5eef871207db69181900360200190a150565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156125805780601f106125fa57610100808354040283529160200191612580565b6000600182511161309c57506001610e92565b815160005b8181101561278e57600181015b8281101561310a578481815181106130c257fe5b60200260200101516001600160a01b03168583815181106130df57fe5b60200260200101516001600160a01b031614156131025760009350505050610e92565b6001016130ae565b506001016130a1565b60606000805b83518110156131525761313f8585838151811061313257fe5b602002602001015161388a565b61314a576001909101905b600101613119565b5080613161578391505061096e565b8084510167ffffffffffffffff8111801561317b57600080fd5b506040519080825280602002602001820160405280156131a5578160200160208202803683370190505b50915060005b84518110156131f4578481815181106131c057fe5b60200260200101518382815181106131d457fe5b6001600160a01b03909216602092830291909101909101526001016131ab565b50835160005b845181101561325e576132138686838151811061313257fe5b6132565784818151811061322357fe5b602002602001015184838151811061323757fe5b6001600160a01b03909216602092830291909101909101526001909101905b6001016131fa565b50505092915050565b6001600160a01b0382166132ac5760405162461bcd60e51b8152600401808060200182810382526021815260200180613cb56021913960400191505060405180910390fd5b6132b882600083612984565b6132f581604051806060016040528060228152602001613b36602291396001600160a01b03851660009081526020819052604090205491906133ca565b6001600160a01b03831660009081526020819052604090205560025461331b9082612989565b6002556040805182815290516000916001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b60008082116133b9576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b8183816133c257fe5b049392505050565b600081848411156134595760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561341e578181015183820152602001613406565b50505050905090810190601f16801561344b5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600061096a61346e612626565b848461367e565b600880546001600160801b0383166fffffffffffffffffffffffffffffffff19909116811790915560408051918252517f3083d42989efabd593f083885067da3d51d2c2d68342a98d68a55eff8beed8d69181900360200190a150565b600580546001600160a01b0383166101008102610100600160a81b03199092169190911790915560408051918252517f60a0f5b9f9e81e98216071b85826681c796256fe3d1354ecb675580fba64fa699181900360200190a150565b6001600160a01b038216613589576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b61359560008383612984565b6002546135a29082612798565b6002556001600160a01b0382166000908152602081905260409020546135c89082612798565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b604080516001600160a01b0380861660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b1790526136789085906137d9565b50505050565b6001600160a01b0383166136c35760405162461bcd60e51b8152600401808060200182810382526025815260200180613cd66025913960400191505060405180910390fd5b6001600160a01b0382166137085760405162461bcd60e51b8152600401808060200182810382526023815260200180613b136023913960400191505060405180910390fd5b613713838383612984565b61375081604051806060016040528060268152602001613ba2602691396001600160a01b03861660009081526020819052604090205491906133ca565b6001600160a01b03808516600090815260208190526040808220939093559084168152205461377f9082612798565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b606061382e826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166138fc9092919063ffffffff16565b8051909150156129845780806020019051602081101561384d57600080fd5b50516129845760405162461bcd60e51b815260040180806020018281038252602a815260200180613d1f602a913960400191505060405180910390fd5b6000805b83518110156138d6578381815181106138a357fe5b60200260200101516001600160a01b0316836001600160a01b031614156138ce57600191505061096e565b60010161388e565b5060009392505050565b6000818311156138f3575080820361096e565b50600092915050565b6060610a0684846000858561391085613a22565b613961576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b602083106139a05780518252601f199092019160209182019101613981565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114613a02576040519150601f19603f3d011682016040523d82523d6000602084013e613a07565b606091505b5091509150613a17828286613a28565b979650505050505050565b3b151590565b60608315613a37575081610a09565b825115613a475782518084602001fd5b60405162461bcd60e51b815260206004820181815284516024840152845185939192839260440191908501908083836000831561341e578181015183820152602001613406565b828054828255906000526020600020908101928215613ae3579160200282015b82811115613ae357825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190613aae565b50613aef929150613af3565b5090565b5b80821115613aef5780546001600160a01b0319168155600101613af456fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a20617070726f766520746f20746865207a65726f20616464726573735f5f76616c696461746549734d616e616765724f724f776e65723a20556e617574686f72697a656445524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365656e74657252656465656d53746174653a204e6f6e2d7a65726f2076616c75652065787465726e616c20706f736974696f6e77697468647261773a204f6e6c79206465706f73697420746f6b656e20776974686472617761626c65656e7465724c6f636b656453746174653a204d696e20736861726573206e6f74206d6574536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636577697468647261773a204475706c6963617465205f6164646974696f6e616c41737365747345524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f20616464726573735361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa164736f6c634300060c000a", - "sourceMap": "2151:23830:352:-:0;;;4682:636;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4682:636:352;;;;;;;;;;;;;;;;;;;;;;;;;1958:145:447;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1958:145:447;;;;;;;2032:13;;4682:636:352;;;;;;;;;;;1958:145:447;;2032:13;;:5;;1958:145;2032:13;:::i;:::-;-1:-1:-1;2055:17:447;;;;:7;;:17;;;;;:::i;:::-;-1:-1:-1;;2082:9:447;:14;;-1:-1:-1;;2082:14:447;2094:2;2082:14;;;-1:-1:-1;;;;4967:74:352;;;;;::::1;::::0;5051:46;;;;;::::1;::::0;5107:34;;;;;::::1;::::0;5151:26;;;;;::::1;::::0;2082:14:447;5187:34:352;;;;5231:46;;;;;::::1;::::0;5306:4:::1;5287:24:::0;::::1;;::::0;2151:23830;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2151:23830:352;;;-1:-1:-1;2151:23830:352;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106101e55760003560e01c8063907e3df31161010f578063b6b55f25116100a2578063dd62ed3e11610071578063dd62ed3e146106b6578063e9085cc7146106e4578063ecb6abd61461070a578063fb1b5c7b14610762576101e5565b8063b6b55f2514610663578063c980918714610680578063d0ebdbe714610688578063d5009584146106ae576101e5565b8063a161a512116100de578063a161a51214610590578063a457c2d714610598578063a9059cbb146105c4578063ae652af6146105f0576101e5565b8063907e3df31461044c578063913cc04a1461045457806395d89b411461047a57806399eca69f14610482576101e5565b8063313ce567116101875780636edac21b116101565780636edac21b146103a857806370a08231146103b0578063851bda82146103d65780638c43447114610444576101e5565b8063313ce56714610330578063395093511461034e57806340806ae61461037a5780634ccb20c014610384576101e5565b80631865c57d116101c35780631865c57d146102c15780632207b386146102ea57806323b872dd146102f25780632c92809814610328576101e5565b806306fdde03146101ea578063095ea7b31461026757806318160ddd146102a7575b600080fd5b6101f261076a565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561022c578181015183820152602001610214565b50505050905090810190601f1680156102595780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102936004803603604081101561027d57600080fd5b506001600160a01b038135169060200135610956565b604080519115158252519081900360200190f35b6102af610974565b60408051918252519081900360200190f35b6102c961097a565b604051808260028111156102d957fe5b815260200191505060405180910390f35b6102af61098a565b6102936004803603606081101561030857600080fd5b506001600160a01b038135811691602081013590911690604001356109a0565b6102af610a10565b610338610a21565b6040805160ff9092168252519081900360200190f35b6102936004803603604081101561036457600080fd5b506001600160a01b038135169060200135610a26565b610382610a79565b005b61038c610e59565b604080516001600160a01b039092168252519081900360200190f35b610293610e68565b6102af600480360360208110156103c657600080fd5b50356001600160a01b0316610e78565b610382600480360360208110156103ec57600080fd5b810190602081018135600160201b81111561040657600080fd5b82018360208201111561041857600080fd5b803590602001918460208302840111600160201b8311171561043957600080fd5b509092509050610e97565b6102af6115eb565b6102936115fa565b6103826004803603602081101561046a57600080fd5b50356001600160801b031661160a565b6101f2611685565b6104f76004803603604081101561049857600080fd5b81359190810190604081016020820135600160201b8111156104b957600080fd5b8201836020820111156104cb57600080fd5b803590602001918460208302840111600160201b831117156104ec57600080fd5b509092509050611828565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b8381101561053b578181015183820152602001610523565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561057a578181015183820152602001610562565b5050505090500194505050505060405180910390f35b6102af611cd8565b610293600480360360408110156105ae57600080fd5b506001600160a01b038135169060200135611ceb565b610293600480360360408110156105da57600080fd5b506001600160a01b038135169060200135611d53565b610382600480360361012081101561060757600080fd5b506001600160a01b03813581169160208101358216916001600160801b036040830135811692606081013515159260808201359092169160a082013581169161ffff60c0820135169160e0820135151591610100013516611db8565b6103826004803603602081101561067957600080fd5b50356120f5565b61038c6123f4565b6103826004803603602081101561069e57600080fd5b50356001600160a01b0316612403565b61038c612476565b6102af600480360360408110156106cc57600080fd5b506001600160a01b038135811691602001351661248a565b610382600480360360208110156106fa57600080fd5b50356001600160801b03166124b5565b610712612528565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561074e578181015183820152602001610736565b505050509050019250505060405180910390f35b61038c61258a565b6060306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156107ac576107a5612599565b9050610953565b6107b46123f4565b6001600160a01b03166306fdde036040518163ffffffff1660e01b815260040160006040518083038186803b1580156107ec57600080fd5b505afa158015610800573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561082957600080fd5b8101908080516040519392919084600160201b82111561084857600080fd5b90830190602082018581111561085d57600080fd5b8251600160201b81118282018810171561087657600080fd5b82525081516020918201929091019080838360005b838110156108a357818101518382015260200161088b565b50505050905090810190601f1680156108d05780820380516001836020036101000a031916815260200191505b5060405250505060405160200180806702bb930b83832b2160c51b81525060080182805190602001908083835b6020831061091c5780518252601f1990920191602091820191016108fd565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405160208183030381529060405290505b90565b600061096a610963612626565b848461262a565b5060015b92915050565b60025490565b600754600160a01b900460ff1690565b600854600160801b90046001600160801b031690565b60006109aa610e68565b6109fb576040805162461bcd60e51b815260206004820181905260248201527f6f6e6c795472616e7366657273416c6c6f7765643a20446973616c6c6f776564604482015290519081900360640190fd5b610a06848484612716565b90505b9392505050565b600954600160c01b900461ffff1690565b601290565b600061096a610a33612626565b84610a748560016000610a44612626565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490612798565b61262a565b6000610a836123f4565b9050610a8f33826127f2565b6000610a9961097a565b6002811115610aa457fe5b14610af6576040805162461bcd60e51b815260206004820152601f60248201527f656e7465724c6f636b656453746174653a20496e76616c696420737461746500604482015290519081900360640190fd5b6000816001600160a01b0316635a53e3486040518163ffffffff1660e01b815260040160206040518083038186803b158015610b3157600080fd5b505afa158015610b45573d6000803e3d6000fd5b505050506040513d6020811015610b5b57600080fd5b505160408051637134e1eb60e11b815290519192506000916001600160a01b0384169163e269c3d6916004808301926020929190829003018186803b158015610ba357600080fd5b505afa158015610bb7573d6000803e3d6000fd5b505050506040513d6020811015610bcd57600080fd5b5051604080516370a0823160e01b815230600482015290519192506000916001600160a01b038416916370a08231916024808301926020929190829003018186803b158015610c1b57600080fd5b505afa158015610c2f573d6000803e3d6000fd5b505050506040513d6020811015610c4557600080fd5b50519050610c5d6001600160a01b0383168483612871565b6000836001600160a01b031663beebc5da8360016040518363ffffffff1660e01b81526004018083815260200182815260200192505050602060405180830381600087803b158015610cae57600080fd5b505af1158015610cc2573d6000803e3d6000fd5b505050506040513d6020811015610cd857600080fd5b5051604080516318160ddd60e01b81529051919250600091610d589184916001600160a01b038a16916318160ddd916004808301926020929190829003018186803b158015610d2657600080fd5b505afa158015610d3a573d6000803e3d6000fd5b505050506040513d6020811015610d5057600080fd5b505190612989565b9050801580610d715750610d6e816127106129e6565b82115b610dac5760405162461bcd60e51b8152600401808060200182810382526024815260200180613c236024913960400191505060405180910390fd5b610db66001612a3f565b6000610dc061258a565b9050610e5087826001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610e1357600080fd5b505afa158015610e27573d6000803e3d6000fd5b505050506040513d6020811015610e3d57600080fd5b50516001600160a01b0384169190612aa8565b50505050505050565b6009546001600160a01b031690565b600954600160e01b900460ff1690565b6001600160a01b0381166000908152602081905260409020545b919050565b6000610ea16123f4565b9050610ead33826127f2565b6001610eb761097a565b6002811115610ec257fe5b14610f14576040805162461bcd60e51b815260206004820152601f60248201527f656e74657252656465656d53746174653a20496e76616c696420737461746500604482015290519081900360640190fd5b6060816001600160a01b031663b8b7f1476040518163ffffffff1660e01b815260040160006040518083038186803b158015610f4f57600080fd5b505afa158015610f63573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526020811015610f8c57600080fd5b8101908080516040519392919084600160201b821115610fab57600080fd5b908301906020820185811115610fc057600080fd5b82518660208202830111600160201b82111715610fdc57600080fd5b82525081516020918201928201910280838360005b83811015611009578181015183820152602001610ff1565b50505050905001604052505050905060005b815181101561123457606082828151811061103257fe5b60200260200101516001600160a01b03166380daddb86040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561107457600080fd5b505af1158015611088573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160409081528110156110b157600080fd5b8101908080516040519392919084600160201b8211156110d057600080fd5b9083019060208201858111156110e557600080fd5b82518660208202830111600160201b8211171561110157600080fd5b82525081516020918201928201910280838360005b8381101561112e578181015183820152602001611116565b5050505090500160405260200180516040519392919084600160201b82111561115657600080fd5b90830190602082018581111561116b57600080fd5b82518660208202830111600160201b8211171561118757600080fd5b82525081516020918201928201910280838360005b838110156111b457818101518382015260200161119c565b5050505090500160405250505091505060005b815181101561122a578181815181106111dc57fe5b60200260200101516000146112225760405162461bcd60e51b8152600401808060200182810382526032815260200180613bc86032913960400191505060405180910390fd5b6001016111c7565b505060010161101b565b50600061123f6123f4565b6001600160a01b0316635a53e3486040518163ffffffff1660e01b815260040160206040518083038186803b15801561127757600080fd5b505afa15801561128b573d6000803e3d6000fd5b505050506040513d60208110156112a157600080fd5b5051905060606112ee6112b261258a565b8787808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509293925050612afa9050565b90506060806001600160a01b038416636af8e7eb30600019866000604051908082528060200260200182016040528015611332578160200160208202803683370190505b506040518563ffffffff1660e01b815260040180856001600160a01b031681526020018481526020018060200180602001838103835285818151815260200191508051906020019060200280838360005b8381101561139b578181015183820152602001611383565b50505050905001838103825284818151815260200191508051906020019060200280838360005b838110156113da5781810151838201526020016113c2565b505050509050019650505050505050600060405180830381600087803b15801561140357600080fd5b505af1158015611417573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604090815281101561144057600080fd5b8101908080516040519392919084600160201b82111561145f57600080fd5b90830190602082018581111561147457600080fd5b82518660208202830111600160201b8211171561149057600080fd5b82525081516020918201928201910280838360005b838110156114bd5781810151838201526020016114a5565b5050505090500160405260200180516040519392919084600160201b8211156114e557600080fd5b9083019060208201858111156114fa57600080fd5b82518660208202830111600160201b8211171561151657600080fd5b82525081516020918201928201910280838360005b8381101561154357818101518382015260200161152b565b5050505090500160405250505091509150606060005b83518110156115af57600083828151811061157057fe5b602002602001015111156115a7576115a484828151811061158d57fe5b602002602001015183612b1890919063ffffffff16565b91505b600101611559565b5080516115c390600a906020840190613a8e565b506115cd81612be3565b6115d681612d61565b6115e06002612a3f565b505050505050505050565b6008546001600160801b031690565b600954600160d01b900460ff1690565b61161a6116156123f4565b612f68565b6001600160a01b0316336001600160a01b031614611679576040805162461bcd60e51b81526020600482015260176024820152761bdb9b1e53dddb995c8e88155b985d5d1a1bdc9a5e9959604a1b604482015290519081900360640190fd5b61168281612fd5565b50565b6060306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156116c0576107a5613028565b6116c86123f4565b6001600160a01b03166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b15801561170057600080fd5b505afa158015611714573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561173d57600080fd5b8101908080516040519392919084600160201b82111561175c57600080fd5b90830190602082018581111561177157600080fd5b8251600160201b81118282018810171561178a57600080fd5b82525081516020918201929091019080838360005b838110156117b757818101518382015260200161179f565b50505050905090810190601f1680156117e45780820380516001836020036101000a031916815260200191505b506040525050506040516020018080607760f81b81525060010182805190602001908083836020831061091c5780518252601f1990920191602091820191016108fd565b6009546060908190600160d81b900460ff161561188c576040805162461bcd60e51b815260206004820152601860248201527f6e6f6e5265656e7472616e743a205265656e7472616e63790000000000000000604482015290519081900360640190fd5b6009805460ff60d81b1916600160d81b17905560006118a961097a565b905060018160028111156118b957fe5b141561190c576040805162461bcd60e51b815260206004820152601960248201527f77697468647261773a20556e616c6c6f77656420537461746500000000000000604482015290519081900360640190fd5b600081600281111561191a57fe5b14156119b757831561195d5760405162461bcd60e51b8152600401808060200182810382526029815260200180613bfa6029913960400191505060405180910390fd5b604080516001808252818301909252906020808301908036833701905050925061198561258a565b8360008151811061199257fe5b60200260200101906001600160a01b031690816001600160a01b031681525050611a77565b6119f385858080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061308992505050565b611a2e5760405162461bcd60e51b8152600401808060200182810382526025815260200180613c906025913960400191505060405180910390fd5b611a74858580806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250611a6e9250612528915050565b90613113565b92505b6000611a81610974565b9050611a8d3388613267565b835167ffffffffffffffff81118015611aa557600080fd5b50604051908082528060200260200182016040528015611acf578160200160208202803683370190505b50925060005b8451811015611bf1576000858281518110611aec57fe5b60200260200101519050611b8383611b7d8b846001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015611b4b57600080fd5b505afa158015611b5f573d6000803e3d6000fd5b505050506040513d6020811015611b7557600080fd5b5051906129e6565b90613363565b858381518110611b8f57fe5b6020026020010181815250506000858381518110611ba957fe5b60200260200101511115611be857611be833868481518110611bc757fe5b6020026020010151836001600160a01b0316612aa89092919063ffffffff16565b50600101611ad5565b50336001600160a01b03167f3e4e319c3be0696253cf2e6260a96ddf9a8fa8cfc0e7186500bbcfcef899194d888686604051808481526020018060200180602001838103835285818151815260200191508051906020019060200280838360005b83811015611c6a578181015183820152602001611c52565b50505050905001838103825284818151815260200191508051906020019060200280838360005b83811015611ca9578181015183820152602001611c91565b505050509050019550505050505060405180910390a250506009805460ff60d81b191690559094909350915050565b600954600160a01b900463ffffffff1690565b600061096a611cf8612626565b84610a7485604051806060016040528060258152602001613d7f6025913960016000611d22612626565b6001600160a01b03908116825260208083019390935260409182016000908120918d168152925290205491906133ca565b6000611d5d610e68565b611dae576040805162461bcd60e51b815260206004820181905260248201527f6f6e6c795472616e7366657273416c6c6f7765643a20446973616c6c6f776564604482015290519081900360640190fd5b610a098383613461565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611e2a576040805162461bcd60e51b81526020600482015260126024820152711a5b9a5d0e88155b985d5d1a1bdc9a5e995960721b604482015290519081900360640190fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316633d7c74f88b6040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015611ec157600080fd5b505afa158015611ed5573d6000803e3d6000fd5b505050506040513d6020811015611eeb57600080fd5b50516001600160a01b031614611f48576040805162461bcd60e51b815260206004820152601760248201527f696e69743a20426164207661756c742076657273696f6e000000000000000000604482015290519081900360640190fd5b600780546001600160a01b03808b166001600160a01b03199283161790925560068054928c16929091169190911790556001600160801b03871615611f9057611f9087613475565b6001600160a01b03811615611fa857611fa8816134d2565b6001600160801b03851615611fc057611fc085612fd5565b8515611fda576009805460ff60e01b1916600160e01b1790555b6001600160a01b03841615612085576127108361ffff161061203c576040805162461bcd60e51b81526020600482015260166024820152751a5b9a5d0e8813585e0819995948195e18d95959195960521b604482015290519081900360640190fd5b6009805461ffff60c01b1916600160c01b61ffff861602176001600160a01b0319166001600160a01b0386161790558115612085576009805460ff60d01b1916600160d01b1790555b604080516001600160a01b03808c168252808b166020830152881515828401528616606082015261ffff8516608082015283151560a082015290517fbd8aba18aec1b83d675f3b473e0bfb62d8e3a73b7c786d663bee96d559b450359181900360c00190a1505050505050505050565b60006120ff61097a565b600281111561210a57fe5b1461215c576040805162461bcd60e51b815260206004820152601860248201527f6465706f7369743a20556e616c6c6f7765642053746174650000000000000000604482015290519081900360640190fd5b60006121666115eb565b9050801561225857604080516307158c8160e21b81526004810183905233602482015290516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691631c563204916044808301926020929190829003018186803b1580156121db57600080fd5b505afa1580156121ef573d6000803e3d6000fd5b505050506040513d602081101561220557600080fd5b5051612258576040805162461bcd60e51b815260206004820152601960248201527f6465706f7369743a20556e616c6c6f7765642063616c6c657200000000000000604482015290519081900360640190fd5b600061226261258a565b9050600061226e61098a565b9050801561234557806122fa85846001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156122c857600080fd5b505afa1580156122dc573d6000803e3d6000fd5b505050506040513d60208110156122f257600080fd5b505190612798565b1115612345576040805162461bcd60e51b815260206004820152601560248201527419195c1bdcda5d0e8813585e08195e18d959591959605a1b604482015290519081900360640190fd5b61234d610974565b612399576009805463ffffffff60a01b1916600160a01b4263ffffffff16021790556040517f5798aa338c5b99bf36b74070080d9d2efadbd4a0c383148e08e3daa7219ab00c90600090a15b6123a3338561352e565b6123b86001600160a01b03831633308761361e565b60408051858152905133917f2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c4919081900360200190a250505050565b6006546001600160a01b031690565b61240e6116156123f4565b6001600160a01b0316336001600160a01b03161461246d576040805162461bcd60e51b81526020600482015260176024820152761bdb9b1e53dddb995c8e88155b985d5d1a1bdc9a5e9959604a1b604482015290519081900360640190fd5b611682816134d2565b60055461010090046001600160a01b031690565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6124c06116156123f4565b6001600160a01b0316336001600160a01b03161461251f576040805162461bcd60e51b81526020600482015260176024820152761bdb9b1e53dddb995c8e88155b985d5d1a1bdc9a5e9959604a1b604482015290519081900360640190fd5b61168281613475565b6060600a80548060200260200160405190810160405280929190818152602001828054801561258057602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311612562575b5050505050905090565b6007546001600160a01b031690565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156125805780601f106125fa57610100808354040283529160200191612580565b820191906000526020600020905b81548152906001019060200180831161260857509395945050505050565b3390565b6001600160a01b03831661266f5760405162461bcd60e51b8152600401808060200182810382526024815260200180613cfb6024913960400191505060405180910390fd5b6001600160a01b0382166126b45760405162461bcd60e51b8152600401808060200182810382526022815260200180613b586022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b600061272384848461367e565b61278e8461272f612626565b610a7485604051806060016040528060288152602001613c68602891396001600160a01b038a1660009081526001602052604081209061276d612626565b6001600160a01b0316815260208101919091526040016000205491906133ca565b5060019392505050565b600082820183811015610a09576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6127fa612476565b6001600160a01b0316826001600160a01b03161480612832575061281d81612f68565b6001600160a01b0316826001600160a01b0316145b61286d5760405162461bcd60e51b8152600401808060200182810382526028815260200180613b7a6028913960400191505060405180910390fd5b5050565b8015806128f7575060408051636eb1769f60e11b81523060048201526001600160a01b03848116602483015291519185169163dd62ed3e91604480820192602092909190829003018186803b1580156128c957600080fd5b505afa1580156128dd573d6000803e3d6000fd5b505050506040513d60208110156128f357600080fd5b5051155b6129325760405162461bcd60e51b8152600401808060200182810382526036815260200180613d496036913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526129849084906137d9565b505050565b6000828211156129e0576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6000826129f55750600061096e565b82820282848281612a0257fe5b0414610a095760405162461bcd60e51b8152600401808060200182810382526021815260200180613c476021913960400191505060405180910390fd5b6007805482919060ff60a01b1916600160a01b836002811115612a5e57fe5b02179055507fc635bb75c392e81c891d50372a48cfa81b6799ac6d594cb4c28a8c5e8bef6e9b8160405180826002811115612a9557fe5b815260200191505060405180910390a150565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526129849084906137d9565b6060612b06838361388a565b15612b1257508161096e565b610a0983835b6060825160010167ffffffffffffffff81118015612b3557600080fd5b50604051908082528060200260200182016040528015612b5f578160200160208202803683370190505b50905060005b8351811015612bae57838181518110612b7a57fe5b6020026020010151828281518110612b8e57fe5b6001600160a01b0390921660209283029190910190910152600101612b65565b508181845181518110612bbd57fe5b60200260200101906001600160a01b031690816001600160a01b03168152505092915050565b6000612bf7612bf0611cd8565b4290612989565b905060005b8251811015612984576000612ca36301e187e0611b7d612710611b7d87612c9d7f00000000000000000000000000000000000000000000000000000000000000008b8a81518110612c4957fe5b60200260200101516001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015611b4b57600080fd5b906129e6565b90508015612d5857612cfc7f000000000000000000000000000000000000000000000000000000000000000082868581518110612cdc57fe5b60200260200101516001600160a01b0316612aa89092919063ffffffff16565b7fb87e607f6030a23ed9b7dac1a717610f3a3b07325269f18808ba763bdcefe7ae848381518110612d2957fe5b60200260200101518260405180836001600160a01b031681526020018281526020019250505060405180910390a15b50600101612bfc565b6000612d6b610a10565b905080612d785750611682565b6000612d82610e59565b90506000612d8e6115fa565b15612d9e57612d9b61258a565b90505b60005b8451811015612f61576000858281518110612db857fe5b602002602001015190506000836001600160a01b0316826001600160a01b03161415612e6e57612e67826001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015612e2e57600080fd5b505afa158015612e42573d6000803e3d6000fd5b505050506040513d6020811015612e5857600080fd5b5051612e62610974565b6138e0565b9050612ee3565b604080516370a0823160e01b815230600482015290516001600160a01b038416916370a08231916024808301926020929190829003018186803b158015612eb457600080fd5b505afa158015612ec8573d6000803e3d6000fd5b505050506040513d6020811015612ede57600080fd5b505190505b6000612ef5612710611b7d848a6129e6565b90508015612f5657612f116001600160a01b0384168783612aa8565b604080516001600160a01b03851681526020810183905281517f075a2720282fdf622141dae0b048ef90a21a7e57c134c76912d19d006b3b3f6f929181900390910190a15b505050600101612da1565b5050505050565b6000816001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b158015612fa357600080fd5b505afa158015612fb7573d6000803e3d6000fd5b505050506040513d6020811015612fcd57600080fd5b505192915050565b600880546001600160801b03808416600160801b8102919092161790915560408051918252517f0e280fa5ecedea20784caab60fae774807664c009e5e229629e5eef871207db69181900360200190a150565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156125805780601f106125fa57610100808354040283529160200191612580565b6000600182511161309c57506001610e92565b815160005b8181101561278e57600181015b8281101561310a578481815181106130c257fe5b60200260200101516001600160a01b03168583815181106130df57fe5b60200260200101516001600160a01b031614156131025760009350505050610e92565b6001016130ae565b506001016130a1565b60606000805b83518110156131525761313f8585838151811061313257fe5b602002602001015161388a565b61314a576001909101905b600101613119565b5080613161578391505061096e565b8084510167ffffffffffffffff8111801561317b57600080fd5b506040519080825280602002602001820160405280156131a5578160200160208202803683370190505b50915060005b84518110156131f4578481815181106131c057fe5b60200260200101518382815181106131d457fe5b6001600160a01b03909216602092830291909101909101526001016131ab565b50835160005b845181101561325e576132138686838151811061313257fe5b6132565784818151811061322357fe5b602002602001015184838151811061323757fe5b6001600160a01b03909216602092830291909101909101526001909101905b6001016131fa565b50505092915050565b6001600160a01b0382166132ac5760405162461bcd60e51b8152600401808060200182810382526021815260200180613cb56021913960400191505060405180910390fd5b6132b882600083612984565b6132f581604051806060016040528060228152602001613b36602291396001600160a01b03851660009081526020819052604090205491906133ca565b6001600160a01b03831660009081526020819052604090205560025461331b9082612989565b6002556040805182815290516000916001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b60008082116133b9576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b8183816133c257fe5b049392505050565b600081848411156134595760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561341e578181015183820152602001613406565b50505050905090810190601f16801561344b5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600061096a61346e612626565b848461367e565b600880546001600160801b0383166fffffffffffffffffffffffffffffffff19909116811790915560408051918252517f3083d42989efabd593f083885067da3d51d2c2d68342a98d68a55eff8beed8d69181900360200190a150565b600580546001600160a01b0383166101008102610100600160a81b03199092169190911790915560408051918252517f60a0f5b9f9e81e98216071b85826681c796256fe3d1354ecb675580fba64fa699181900360200190a150565b6001600160a01b038216613589576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b61359560008383612984565b6002546135a29082612798565b6002556001600160a01b0382166000908152602081905260409020546135c89082612798565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b604080516001600160a01b0380861660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b1790526136789085906137d9565b50505050565b6001600160a01b0383166136c35760405162461bcd60e51b8152600401808060200182810382526025815260200180613cd66025913960400191505060405180910390fd5b6001600160a01b0382166137085760405162461bcd60e51b8152600401808060200182810382526023815260200180613b136023913960400191505060405180910390fd5b613713838383612984565b61375081604051806060016040528060268152602001613ba2602691396001600160a01b03861660009081526020819052604090205491906133ca565b6001600160a01b03808516600090815260208190526040808220939093559084168152205461377f9082612798565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b606061382e826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166138fc9092919063ffffffff16565b8051909150156129845780806020019051602081101561384d57600080fd5b50516129845760405162461bcd60e51b815260040180806020018281038252602a815260200180613d1f602a913960400191505060405180910390fd5b6000805b83518110156138d6578381815181106138a357fe5b60200260200101516001600160a01b0316836001600160a01b031614156138ce57600191505061096e565b60010161388e565b5060009392505050565b6000818311156138f3575080820361096e565b50600092915050565b6060610a0684846000858561391085613a22565b613961576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b602083106139a05780518252601f199092019160209182019101613981565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114613a02576040519150601f19603f3d011682016040523d82523d6000602084013e613a07565b606091505b5091509150613a17828286613a28565b979650505050505050565b3b151590565b60608315613a37575081610a09565b825115613a475782518084602001fd5b60405162461bcd60e51b815260206004820181815284516024840152845185939192839260440191908501908083836000831561341e578181015183820152602001613406565b828054828255906000526020600020908101928215613ae3579160200282015b82811115613ae357825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190613aae565b50613aef929150613af3565b5090565b5b80821115613aef5780546001600160a01b0319168155600101613af456fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a20617070726f766520746f20746865207a65726f20616464726573735f5f76616c696461746549734d616e616765724f724f776e65723a20556e617574686f72697a656445524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365656e74657252656465656d53746174653a204e6f6e2d7a65726f2076616c75652065787465726e616c20706f736974696f6e77697468647261773a204f6e6c79206465706f73697420746f6b656e20776974686472617761626c65656e7465724c6f636b656453746174653a204d696e20736861726573206e6f74206d6574536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636577697468647261773a204475706c6963617465205f6164646974696f6e616c41737365747345524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f20616464726573735361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa164736f6c634300060c000a", - "sourceMap": "2151:23830:352:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9309:243;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4244:166:447;;;;;;;;;;;;;;;;-1:-1:-1;4244:166:447;;-1:-1:-1;;;;;4244:166:447;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;3235:106;;;:::i;:::-;;;;;;;;;;;;;;;;25244:84:352;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;25438:116;;;:::i;10546:239::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;10546:239:352;;;;;;;;;;;;;;;;;:::i;23933:89::-;;;:::i;10024:93::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5589:215:447;;;;;;;;;;;;;;;;-1:-1:-1;5589:215:447;;-1:-1:-1;;;;;5589:215:447;;;;;;:::i;15379:1583:352:-;;;:::i;:::-;;24418:107;;;:::i;:::-;;;;-1:-1:-1;;;;;24418:107:352;;;;;;;;;;;;;;25667:116;;;:::i;3399:125:447:-;;;;;;;;;;;;;;;;-1:-1:-1;3399:125:447;-1:-1:-1;;;;;3399:125:447;;:::i;17398:2346:352:-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;17398:2346:352;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;17398:2346:352;;;;;;;;;;-1:-1:-1;17398:2346:352;;-1:-1:-1;17398:2346:352;-1:-1:-1;17398:2346:352;:::i;23505:137::-;;;:::i;24168:149::-;;;:::i;23165:136::-;;;;;;;;;;;;;;;;-1:-1:-1;23165:136:352;-1:-1:-1;;;;;23165:136:352;;:::i;9653:244::-;;;:::i;13137:1725::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;13137:1725:352;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;13137:1725:352;;;;;;;;;;-1:-1:-1;13137:1725:352;;-1:-1:-1;13137:1725:352;-1:-1:-1;13137:1725:352;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24816:119;;;:::i;6291:266:447:-;;;;;;;;;;;;;;;;-1:-1:-1;6291:266:447;;-1:-1:-1;;;;;6291:266:447;;;;;;:::i;10224:211:352:-;;;;;;;;;;;;;;;;-1:-1:-1;10224:211:352;;-1:-1:-1;;;;;10224:211:352;;;;;;:::i;6272:1899::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;6272:1899:352;;;;;;;;;;;;-1:-1:-1;;;;;6272:1899:352;;;;;;;;;;;;;;-1:-1:-1;6272:1899:352;;;;;;;-1:-1:-1;6272:1899:352;;;;;;;;;;;;;;;;;;;;;;;;;:::i;11020:1433::-;;;;;;;;;;;;;;;;-1:-1:-1;11020:1433:352;;:::i;25878:101::-;;;:::i;22943:104::-;;;;;;;;;;;;;;;;-1:-1:-1;22943:104:352;-1:-1:-1;;;;;22943:104:352;;:::i;24611:92::-;;;:::i;3957:149:447:-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;3957:149:447;;;;;;;;;;:::i;22685:164:352:-;;;;;;;;;;;;;;;;-1:-1:-1;22685:164:352;-1:-1:-1;;;;;22685:164:352;;:::i;25042:122::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23743:107;;;:::i;9309:243::-;9355:19;9407:8;-1:-1:-1;;;;;9390:25:352;9398:4;9390:25;9386:75;;;9438:12;:10;:12::i;:::-;9431:19;;;;9386:75;9520:15;:13;:15::i;:::-;-1:-1:-1;;;;;9514:27:352;;:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9514:29:352;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;9514:29:352;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9514:29:352;;;;;;;;;;;;-1:-1:-1;9514:29:352;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9485:59;;;;;;-1:-1:-1;;;9485:59:352;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9485:59:352;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9471:74;;9309:243;;:::o;4244:166:447:-;4327:4;4343:39;4352:12;:10;:12::i;:::-;4366:7;4375:6;4343:8;:39::i;:::-;-1:-1:-1;4399:4:447;4244:166;;;;;:::o;3235:106::-;3322:12;;3235:106;:::o;25244:84:352:-;25316:5;;-1:-1:-1;;;25316:5:352;;;;;25244:84::o;25438:116::-;25532:15;;-1:-1:-1;;;25532:15:352;;-1:-1:-1;;;;;25532:15:352;;25438:116::o;10546:239::-;10698:13;4600:21;:19;:21::i;:::-;4592:66;;;;;-1:-1:-1;;;4592:66:352;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10730:48:::1;10749:7;10758:10;10770:7;10730:18;:48::i;:::-;10723:55;;4668:1;10546:239:::0;;;;;:::o;23933:89::-;24009:6;;-1:-1:-1;;;24009:6:352;;;;;23933:89::o;10024:93::-;10108:2;10024:93;:::o;5589:215:447:-;5677:4;5693:83;5702:12;:10;:12::i;:::-;5716:7;5725:50;5764:10;5725:11;:25;5737:12;:10;:12::i;:::-;-1:-1:-1;;;;;5725:25:447;;;;;;;;;;;;;;;;;-1:-1:-1;5725:25:447;;;:34;;;;;;;;;;;:38;:50::i;:::-;5693:8;:83::i;15379:1583:352:-;15426:21;15450:15;:13;:15::i;:::-;15426:39;;15475:53;15502:10;15514:13;15475:26;:53::i;:::-;15561:13;15547:10;:8;:10::i;:::-;:27;;;;;;;;;15539:71;;;;;-1:-1:-1;;;15539:71:352;;;;;;;;;;;;;;;;;;;;;;;;;;;;15733:39;15820:13;-1:-1:-1;;;;;15803:44:352;;:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15803:46:352;15909:47;;;-1:-1:-1;;;15909:47:352;;;;15803:46;;-1:-1:-1;15869:31:352;;-1:-1:-1;;;;;15909:45:352;;;;;:47;;;;;15803:46;;15909:47;;;;;;;:45;:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15909:47:352;15994:50;;;-1:-1:-1;;;15994:50:352;;16038:4;15994:50;;;;;;15909:47;;-1:-1:-1;;;;;;;;15994:35:352;;;-1:-1:-1;;15994:50:352;;;;;15909:47;;15994:50;;;;;;;:35;:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15994:50:352;;-1:-1:-1;16055:90:352;-1:-1:-1;;;;;16055:37:352;;16101:24;15994:50;16055:37;:90::i;:::-;16180:55;;;-1:-1:-1;;;16180:55:352;;;;;;;;-1:-1:-1;16180:55:352;;;;;;16155:22;;-1:-1:-1;;;;;16180:34:352;;;;;:55;;;;;;;;;;;;;;;16155:22;16180:34;:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;16180:55:352;16427:34;;;-1:-1:-1;;;16427:34:352;;;;16180:55;;-1:-1:-1;16400:24:352;;16427:54;;16180:55;;-1:-1:-1;;;;;16427:32:352;;;-1:-1:-1;;16427:34:352;;;;;16180:55;;16427:34;;;;;;;:32;:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;16427:34:352;;:38;:54::i;:::-;16400:81;-1:-1:-1;16512:21:352;;;:71;;-1:-1:-1;16554:29:352;:16;3179:5;16554:20;:29::i;:::-;16537:14;:46;16512:71;16491:154;;;;-1:-1:-1;;;16491:154:352;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16688:24;16699:12;16688:10;:24::i;:::-;16763:26;16798:17;:15;:17::i;:::-;16900:45;;;-1:-1:-1;;;16900:45:352;;16939:4;16900:45;;;;;;16763:53;;-1:-1:-1;16826:129:352;;16873:13;;-1:-1:-1;;;;;16900:30:352;;;;;:45;;;;;;;;;;;;;;;:30;:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;16900:45:352;-1:-1:-1;;;;;16826:33:352;;;;;:129::i;:::-;15379:1583;;;;;;;:::o;24418:107::-;24506:12;;-1:-1:-1;;;;;24506:12:352;;24418:107::o;25667:116::-;25760:16;;-1:-1:-1;;;25760:16:352;;;;;25667:116::o;3399:125:447:-;-1:-1:-1;;;;;3499:18:447;;3473:7;3499:18;;;;;;;;;;;3399:125;;;;:::o;17398:2346:352:-;17487:21;17511:15;:13;:15::i;:::-;17487:39;;17536:53;17563:10;17575:13;17536:26;:53::i;:::-;17622:12;17608:10;:8;:10::i;:::-;:26;;;;;;;;;17600:70;;;;;-1:-1:-1;;;17600:70:352;;;;;;;;;;;;;;;;;;;;;;;;;;;;17859:34;17913:13;-1:-1:-1;;;;;17896:72:352;;:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;17896:74:352;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;17896:74:352;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;17896:74:352;;;;;;;;-1:-1:-1;17896:74:352;;;;;;;;;;-1:-1:-1;17896:74:352;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17859:111;;17985:9;17980:441;18000:17;:24;17996:1;:28;17980:441;;;18048:36;18106:17;18124:1;18106:20;;;;;;;;;;;;;;-1:-1:-1;;;;;18088:73:352;;:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;18088:75:352;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;18088:75:352;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;18088:75:352;;;;;;;;-1:-1:-1;18088:75:352;;;;;;;;;;-1:-1:-1;18088:75:352;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;18088:75:352;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;18088:75:352;;;;;;;;-1:-1:-1;18088:75:352;;;;;;;;;;-1:-1:-1;18088:75:352;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18045:118;;;18182:9;18177:234;18197:19;:26;18193:1;:30;18177:234;;;18277:19;18297:1;18277:22;;;;;;;;;;;;;;18303:1;18277:27;18248:148;;;;-1:-1:-1;;;18248:148:352;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18225:3;;18177:234;;;-1:-1:-1;;18026:3:352;;17980:441;;;;18518:39;18605:15;:13;:15::i;:::-;-1:-1:-1;;;;;18588:46:352;;:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;18588:48:352;;-1:-1:-1;18784:40:352;18827:78;18878:17;:15;:17::i;:::-;18827:23;;:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;18827:37:352;;:78;-1:-1:-1;;18827:37:352;:78;-1:-1:-1;18827:78:352:i;:::-;19163:16;;;-1:-1:-1;19163:16:352;;;;;;;;;;;-1:-1:-1;;;18982:211:352;;;19064:4;18982:211;;;;;;-1:-1:-1;;18982:211:352;;;;;;;;;;;;;;;;;;;;;18784:121;;-1:-1:-1;18917:29:352;;;;-1:-1:-1;;;;;18982:56:352;;;;;-1:-1:-1;;18784:121:352;;19163:16;;18982:211;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;18982:211:352;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;18982:211:352;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;18982:211:352;;;;;;;;-1:-1:-1;18982:211:352;;;;;;;;;;-1:-1:-1;18982:211:352;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;18982:211:352;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;18982:211:352;;;;;;;;-1:-1:-1;18982:211:352;;;;;;;;;;-1:-1:-1;18982:211:352;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18916:277;;;;19250:31;19296:9;19291:185;19311:12;:19;19307:1;:23;19291:185;;;19374:1;19355:13;19369:1;19355:16;;;;;;;;;;;;;;:20;19351:115;;;19412:39;19435:12;19448:1;19435:15;;;;;;;;;;;;;;19412:14;:22;;:39;;;;:::i;:::-;19395:56;;19351:115;19332:3;;19291:185;;;-1:-1:-1;19486:31:352;;;;:14;;:31;;;;;:::i;:::-;;19591:36;19612:14;19591:20;:36::i;:::-;19637:33;19655:14;19637:17;:33::i;:::-;19713:24;19724:12;19713:10;:24::i;:::-;17398:2346;;;;;;;;;:::o;23505:137::-;23613:22;;-1:-1:-1;;;;;23613:22:352;;23505:137::o;24168:149::-;24278:32;;-1:-1:-1;;;24278:32:352;;;;;24168:149::o;23165:136::-;4459:39;4482:15;:13;:15::i;:::-;4459:22;:39::i;:::-;-1:-1:-1;;;;;4445:53:352;:10;:53;4437:89;;;;;-1:-1:-1;;;4437:89:352;;;;;;;;;;;;-1:-1:-1;;;4437:89:352;;;;;;;;;;;;;;;23252:42:::1;23273:20;23252;:42::i;:::-;23165:136:::0;:::o;9653:244::-;9701:21;9755:8;-1:-1:-1;;;;;9738:25:352;9746:4;9738:25;9734:77;;;9786:14;:12;:14::i;9734:77::-;9863:15;:13;:15::i;:::-;-1:-1:-1;;;;;9857:29:352;;:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9857:31:352;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;9857:31:352;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9857:31:352;;;;;;;;;;;;-1:-1:-1;9857:31:352;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9835:54;;;;;;-1:-1:-1;;;9835:54:352;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9835:54:352;;;;;;;;;;;;13137:1725;4282:11;;13265:31;;;;-1:-1:-1;;;4282:11:352;;;;4281:12;4273:49;;;;;-1:-1:-1;;;4273:49:352;;;;;;;;;;;;;;;;;;;;;;;;;;;;4333:11;:18;;-1:-1:-1;;;;4333:18:352;-1:-1:-1;;;4333:18:352;;;-1:-1:-1;13420:10:352::1;:8;:10::i;:::-;13403:27:::0;-1:-1:-1;13460:12:352::1;13448:8;:24;;;;;;;;;;13440:62;;;::::0;;-1:-1:-1;;;13440:62:352;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;13529:13;13517:8;:25;;;;;;;;;13513:508;;;13643:29:::0;;13635:83:::1;;;;-1:-1:-1::0;;;13635:83:352::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13750:16;::::0;;13764:1:::1;13750:16:::0;;;;;::::1;::::0;;;;::::1;::::0;;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;13750:16:352::1;13733:33;;13800:17;:15;:17::i;:::-;13780:14;13795:1;13780:17;;;;;;;;-1:-1:-1::0;;;;;13780:37:352;;::::1;:17;::::0;;::::1;::::0;;;;;;;:37;13513:508:::1;;;13856:31;:17;;:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;13856:29:352::1;::::0;-1:-1:-1;;;13856:31:352:i:1;:::-;13848:81;;;;-1:-1:-1::0;;;13848:81:352::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13961:49;13992:17;;13961:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;13961:19:352::1;::::0;-1:-1:-1;13961:17:352::1;::::0;-1:-1:-1;;13961:19:352:i:1;:::-;:30:::0;::::1;:49::i;:::-;13944:66;;13513:508;14062:27;14092:13;:11;:13::i;:::-;14062:43;;14161:26;14167:10;14179:7;14161:5;:26::i;:::-;14276:14;:21;14262:36;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;-1:-1:-1;14262:36:352::1;;14239:59;;14313:9;14308:408;14328:14;:21;14324:1;:25;14308:408;;;14370:19;14398:14;14413:1;14398:17;;;;;;;;;::::0;;::::1;::::0;;;;;;;14456:38:::1;::::0;;-1:-1:-1;;;14456:38:352;;14488:4:::1;14456:38;::::0;::::1;::::0;;;14398:17;;-1:-1:-1;14456:106:352::1;::::0;14529:19;;14456:51:::1;::::0;14499:7;;-1:-1:-1;;;;;14456:23:352;::::1;::::0;::::1;::::0;:38;;;;;14398:17;14456:38;;;;;;:23;:38;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;14456:38:352;;:42:::1;:51::i;:::-;:55:::0;::::1;:106::i;:::-;14430:20;14451:1;14430:23;;;;;;;;;;;;;:132;;;::::0;::::1;14607:1;14581:20;14602:1;14581:23;;;;;;;;;;;;;;:27;14577:129;;;14628:63;14655:10;14667:20;14688:1;14667:23;;;;;;;;;::::0;;::::1;::::0;;;;;;-1:-1:-1;;;;;14628:26:352;::::1;::::0;:63;:26:::1;:63::i;:::-;-1:-1:-1::0;14351:3:352::1;;14308:408;;;;14741:10;-1:-1:-1::0;;;;;14731:68:352::1;;14753:7;14762:14;14778:20;14731:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;;::::1;::::0;;;::::1;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;;::::1;::::0;;;::::1;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;4374:11:352;:19;;-1:-1:-1;;;;4374:19:352;;;13137:1725;;;;-1:-1:-1;13137:1725:352;-1:-1:-1;;13137:1725:352:o;24816:119::-;24912:16;;-1:-1:-1;;;24912:16:352;;;;;24816:119::o;6291:266:447:-;6384:4;6400:129;6409:12;:10;:12::i;:::-;6423:7;6432:96;6471:15;6432:96;;;;;;;;;;;;;;;;;:11;:25;6444:12;:10;:12::i;:::-;-1:-1:-1;;;;;6432:25:447;;;;;;;;;;;;;;;;;-1:-1:-1;6432:25:447;;;:34;;;;;;;;;;;;:38;:96::i;10224:211:352:-;10357:13;4600:21;:19;:21::i;:::-;4592:66;;;;;-1:-1:-1;;;4592:66:352;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10393:35:::1;10408:10;10420:7;10393:14;:35::i;6272:1899::-:0;6629:11;-1:-1:-1;;;;;6615:25:352;:10;:25;6607:56;;;;;-1:-1:-1;;;6607:56:352;;;;;;;;;;;;-1:-1:-1;;;6607:56:352;;;;;;;;;;;;;;;6798:61;;;-1:-1:-1;;;6798:61:352;;-1:-1:-1;;;;;6798:61:352;;;;;;;;;6863:16;6798:81;;;:19;:48;;;;:61;;;;;;;;;;;;;;:48;:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6798:61:352;-1:-1:-1;;;;;6798:81:352;;6777:151;;;;;-1:-1:-1;;;6777:151:352;;;;;;;;;;;;;;;;;;;;;;;;;;;;6939:12;:28;;-1:-1:-1;;;;;6939:28:352;;;-1:-1:-1;;;;;;6939:28:352;;;;;;;6977:10;:24;;;;;;;;;;;;;;;-1:-1:-1;;;;;7069:27:352;;;7065:110;;7112:52;7140:23;7112:27;:52::i;:::-;-1:-1:-1;;;;;7242:22:352;;;7238:75;;7280:22;7293:8;7280:12;:22::i;:::-;-1:-1:-1;;;;;7380:20:352;;;7376:89;;7416:38;7437:16;7416:20;:38::i;:::-;7522:17;7518:71;;;7555:16;:23;;-1:-1:-1;;;;7555:23:352;-1:-1:-1;;;7555:23:352;;;7518:71;-1:-1:-1;;;;;7646:27:352;;;7642:308;;3179:5;7697:7;:17;;;7689:52;;;;;-1:-1:-1;;;7689:52:352;;;;;;;;;;;;-1:-1:-1;;;7689:52:352;;;;;;;;;;;;;;;7756:6;:16;;-1:-1:-1;;;;7756:16:352;-1:-1:-1;;;;7756:16:352;;;;-1:-1:-1;;;;;;7786:28:352;-1:-1:-1;;;;;7786:28:352;;;;;7829:111;;;;7886:32;:39;;-1:-1:-1;;;;7886:39:352;-1:-1:-1;;;7886:39:352;;;7829:111;7965:199;;;-1:-1:-1;;;;;7965:199:352;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7965:199:352;;;;;;;;;;;;;;6272:1899;;;;;;;;;:::o;11020:1433::-;11095:13;11081:10;:8;:10::i;:::-;:27;;;;;;;;;11073:64;;;;;-1:-1:-1;;;11073:64:352;;;;;;;;;;;;;;;;;;;;;;;;;;;;11183:33;11219:27;:25;:27::i;:::-;11183:63;-1:-1:-1;11260:29:352;;11256:222;;11330:78;;;-1:-1:-1;;;11330:78:352;;;;;;;;11397:10;11330:78;;;;;;:30;-1:-1:-1;;;;;11330:39:352;;;;:78;;;;;;;;;;;;;;:39;:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11330:78:352;11305:162;;;;;-1:-1:-1;;;11305:162:352;;;;;;;;;;;;;;;;;;;;;;;;;;;;11488:26;11523:17;:15;:17::i;:::-;11488:53;;11594:26;11623:20;:18;:20::i;:::-;11594:49;-1:-1:-1;11657:22:352;;11653:213;;11720:45;;;-1:-1:-1;;;11720:45:352;;11759:4;11720:45;;;;;;11782:18;;11720:58;;11770:7;;-1:-1:-1;;;;;11720:30:352;;;;;:45;;;;;;;;;;;;;;;:30;:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11720:45:352;;:49;:58::i;:::-;:80;;11695:160;;;;;-1:-1:-1;;;11695:160:352;;;;;;;;;;;;-1:-1:-1;;;11695:160:352;;;;;;;;;;;;;;;12099:13;:11;:13::i;:::-;12095:131;;12133:16;:42;;-1:-1:-1;;;;12133:42:352;-1:-1:-1;;;;12159:15:352;12133:42;;;;;12195:20;;;;-1:-1:-1;;12195:20:352;12095:131;12290:26;12296:10;12308:7;12290:5;:26::i;:::-;12327:73;-1:-1:-1;;;;;12327:37:352;;12365:10;12385:4;12392:7;12327:37;:73::i;:::-;12416:30;;;;;;;;12426:10;;12416:30;;;;;;;;;;11020:1433;;;;:::o;25878:101::-;25962:10;;-1:-1:-1;;;;;25962:10:352;;25878:101::o;22943:104::-;4459:39;4482:15;:13;:15::i;4459:39::-;-1:-1:-1;;;;;4445:53:352;:10;:53;4437:89;;;;;-1:-1:-1;;;4437:89:352;;;;;;;;;;;;-1:-1:-1;;;4437:89:352;;;;;;;;;;;;;;;23014:26:::1;23027:12;23014;:26::i;24611:92::-:0;24689:7;;;;;-1:-1:-1;;;;;24689:7:352;;24611:92::o;3957:149:447:-;-1:-1:-1;;;;;4072:18:447;;;4046:7;4072:18;;;-1:-1:-1;4072:18:447;;;;;;;;:27;;;;;;;;;;;;;3957:149::o;22685:164:352:-;4459:39;4482:15;:13;:15::i;4459:39::-;-1:-1:-1;;;;;4445:53:352;:10;:53;4437:89;;;;;-1:-1:-1;;;4437:89:352;;;;;;;;;;;;-1:-1:-1;;;4437:89:352;;;;;;;;;;;;;;;22786:56:::1;22814:27;22786;:56::i;25042:122::-:0;25092:32;25143:14;25136:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;25136:21:352;;;-1:-1:-1;25136:21:352;;;;;;;;;;;;;;;;;;;25042:122;:::o;23743:107::-;23831:12;;-1:-1:-1;;;;;23831:12:352;;23743:107::o;2168:89:447:-;2245:5;2238:12;;;;;;;;;;;;;-1:-1:-1;;2238:12:447;;;;;;;;;;;;;;;;;;;;;;;;;;2213:13;;2238:12;;2245:5;;2238:12;;;2245:5;2238:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2238:12:447;;2168:89;-1:-1:-1;;;;;2168:89:447:o;598:104:452:-;685:10;598:104;:::o;9355:340:447:-;-1:-1:-1;;;;;9456:19:447;;9448:68;;;;-1:-1:-1;;;9448:68:447;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9534:21:447;;9526:68;;;;-1:-1:-1;;;9526:68:447;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9605:18:447;;;;;;;-1:-1:-1;9605:18:447;;;;;;;;:27;;;;;;;;;;;;;:36;;;9656:32;;;;;;;;;;;;;;;;;9355:340;;;:::o;4877:317::-;4983:4;4999:36;5009:6;5017:9;5028:6;4999:9;:36::i;:::-;5045:121;5054:6;5062:12;:10;:12::i;:::-;5076:89;5114:6;5076:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5076:19:447;;;;;;-1:-1:-1;5076:19:447;;;;;;5096:12;:10;:12::i;:::-;-1:-1:-1;;;;;5076:33:447;;;;;;;;;;;;-1:-1:-1;5076:33:447;;;;:37;:89::i;5045:121::-;-1:-1:-1;5183:4:447;4877:317;;;;;:::o;2690:175:442:-;2748:7;2779:5;;;2802:6;;;;2794:46;;;;;-1:-1:-1;;;2794:46:442;;;;;;;;;;;;;;;;;;;;;;;;;;;22224:255:352;22347:12;:10;:12::i;:::-;-1:-1:-1;;;;;22339:20:352;;;;;;;:67;;;22371:35;22394:11;22371:22;:35::i;:::-;-1:-1:-1;;;;;22363:43:352;;;;;;22339:67;22318:154;;;;-1:-1:-1;;;22318:154:352;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22224:255;;:::o;1348:613:450:-;1713:10;;;1712:62;;-1:-1:-1;1729:39:450;;;-1:-1:-1;;;1729:39:450;;1753:4;1729:39;;;;-1:-1:-1;;;;;1729:39:450;;;;;;;;;:15;;;;;;:39;;;;;;;;;;;;;;;:15;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1729:39:450;:44;1712:62;1704:150;;;;-1:-1:-1;;;1704:150:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1891:62;;;-1:-1:-1;;;;;1891:62:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1891:62:450;-1:-1:-1;;;1891:62:450;;;1864:90;;1884:5;;1864:19;:90::i;:::-;1348:613;;;:::o;3136:155:442:-;3194:7;3226:1;3221;:6;;3213:49;;;;;-1:-1:-1;;;3213:49:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3279:5:442;;;3136:155::o;3538:215::-;3596:7;3619:6;3615:20;;-1:-1:-1;3634:1:442;3627:8;;3615:20;3657:5;;;3661:1;3657;:5;:1;3680:5;;;;;:10;3672:56;;;;-1:-1:-1;;;3672:56:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21999:117:352;22055:5;:18;;22063:10;;22055:5;-1:-1:-1;;;;22055:18:352;-1:-1:-1;;;22063:10:352;22055:18;;;;;;;;;;;;;22089:20;22098:10;22089:20;;;;;;;;;;;;;;;;;;;;;;;;;;21999:117;:::o;704:175:450:-;813:58;;;-1:-1:-1;;;;;813:58:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;813:58:450;-1:-1:-1;;;813:58:450;;;786:86;;806:5;;786:19;:86::i;2136:277:354:-;2250:27;2297;2306:5;2313:10;2297:8;:27::i;:::-;2293:70;;;-1:-1:-1;2347:5:354;2340:12;;2293:70;2380:26;2388:5;2395:10;1668:374;1776:27;1846:5;:12;1861:1;1846:16;1832:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1832:31:354;;1819:44;;1878:9;1873:88;1893:5;:12;1889:1;:16;1873:88;;;1942:5;1948:1;1942:8;;;;;;;;;;;;;;1926:10;1937:1;1926:13;;;;;;;;-1:-1:-1;;;;;1926:24:354;;;;:13;;;;;;;;;;;:24;-1:-1:-1;1907:3:354;1873:88;;;;1997:10;1970;1981:5;:12;1970:24;;;;;;;;-1:-1:-1;;;;;1970:37:354;;;:24;;;;;;;;;;;:37;1668:374;;-1:-1:-1;;1668:374:354:o;21309:641:352:-;21383:23;21409:42;21429:21;:19;:21::i;:::-;21409:15;;:19;:42::i;:::-;21383:68;;21467:9;21462:482;21482:7;:14;21478:1;:18;21462:482;;;21517:17;21537:204;3233:8;21537:166;3179:5;21537:136;21657:15;21537:98;21618:16;21543:7;21551:1;21543:10;;;;;;;;;;;;;;;;;;;21537:59;;;-1:-1:-1;;;21537:59:352;;21590:4;21537:59;;;;;;-1:-1:-1;;;;;21537:44:352;;;;;;:59;;;;;;;;;;:44;:59;;;;;;;;;;:98;:119;;:136::i;:204::-;21517:224;-1:-1:-1;21759:13:352;;21755:179;;21792:65;21823:22;21847:9;21798:7;21806:1;21798:10;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;21792:30:352;;:65;:30;:65::i;:::-;21881:38;21897:7;21905:1;21897:10;;;;;;;;;;;;;;21909:9;21881:38;;;;-1:-1:-1;;;;;21881:38:352;;;;;;;;;;;;;;;;;;;;;21755:179;-1:-1:-1;21498:3:352;;21462:482;;19819:1440;19890:17;19910:11;:9;:11::i;:::-;19890:31;-1:-1:-1;19935:14:352;19931:51;;19965:7;;;19931:51;19992:23;20018:17;:15;:17::i;:::-;19992:43;;20045:39;20098:37;:35;:37::i;:::-;20094:119;;;20185:17;:15;:17::i;:::-;20151:51;;20094:119;20228:9;20223:1030;20243:7;:14;20239:1;:18;20223:1030;;;20278:19;20306:7;20314:1;20306:10;;;;;;;;;;;;;;;;;;;-1:-1:-1;20332:28:352;-1:-1:-1;;;;;20378:57:352;;;;;;;20374:600;;;20768:38;;;-1:-1:-1;;;20768:38:352;;20800:4;20768:38;;;;;;20735:124;;-1:-1:-1;;;;;20768:23:352;;;;;:38;;;;;;;;;;;;;;;:23;:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;20768:38:352;20828:13;:11;:13::i;:::-;20735:11;:124::i;:::-;20712:147;;20374:600;;;20921:38;;;-1:-1:-1;;;20921:38:352;;20953:4;20921:38;;;;;;-1:-1:-1;;;;;20921:23:352;;;-1:-1:-1;;20921:38:352;;;;;;;;;;;;;;:23;:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;20921:38:352;;-1:-1:-1;20374:600:352;20988:17;21008:48;3179:5;21008:35;:20;21033:9;21008:24;:35::i;:48::-;20988:68;-1:-1:-1;21075:13:352;;21071:172;;21108:54;-1:-1:-1;;;;;21108:26:352;;21135:15;21152:9;21108:26;:54::i;:::-;21186:42;;;-1:-1:-1;;;;;21186:42:352;;;;;;;;;;;;;;;;;;;;;;;21071:172;-1:-1:-1;;;20259:3:352;;20223:1030;;;;19819:1440;;;;:::o;8281:156::-;8356:14;8406:11;-1:-1:-1;;;;;8389:39:352;;:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8389:41:352;;8281:156;-1:-1:-1;;8281:156:352:o;8956:179::-;9034:15;:38;;-1:-1:-1;;;;;;;;9034:38:352;;;;;;;;;;;;;;;9088:40;;;;;;;;;;;;;;;;8956:179;:::o;2370:93:447:-;2449:7;2442:14;;;;;;;;;;;;;-1:-1:-1;;2442:14:447;;;;;;;;;;;;;;;;;;;;;;;;;;2417:13;;2442:14;;2449:7;;2442:14;;;2449:7;2442:14;;;;;;;;;;;;;;;;;;;;;;;;3999:454:354;4067:14;4113:1;4097:5;:12;:17;4093:59;;-1:-1:-1;4137:4:354;4130:11;;4093:59;4184:12;;4162:19;4206:219;4226:11;4222:1;:15;4206:219;;;4279:1;4275:5;;4258:157;4286:11;4282:1;:15;4258:157;;;4338:5;4344:1;4338:8;;;;;;;;;;;;;;-1:-1:-1;;;;;4326:20:354;:5;4332:1;4326:8;;;;;;;;;;;;;;-1:-1:-1;;;;;4326:20:354;;4322:79;;;4377:5;4370:12;;;;;;;4322:79;4299:3;;4258:157;;;-1:-1:-1;4239:3:354;;4206:219;;2967:924;3090:27;3133:26;3174:9;3169:164;3189:13;:20;3185:1;:24;3169:164;;;3235:33;3244:5;3251:13;3265:1;3251:16;;;;;;;;;;;;;;3235:8;:33::i;:::-;3230:93;;3288:20;;;;;3230:93;3211:3;;3169:164;;;-1:-1:-1;3347:23:354;3343:66;;3393:5;3386:12;;;;;3343:66;3461:18;3446:5;:12;:33;3432:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3432:48:354;;3419:61;;3495:9;3490:88;3510:5;:12;3506:1;:16;3490:88;;;3559:5;3565:1;3559:8;;;;;;;;;;;;;;3543:10;3554:1;3543:13;;;;;;;;-1:-1:-1;;;;;3543:24:354;;;;:13;;;;;;;;;;;:24;-1:-1:-1;3524:3:354;3490:88;;;-1:-1:-1;3612:12:354;;3587:22;3634:223;3654:13;:20;3650:1;:24;3634:223;;;3700:33;3709:5;3716:13;3730:1;3716:16;;;;;;;3700:33;3695:152;;3782:13;3796:1;3782:16;;;;;;;;;;;;;;3753:10;3764:14;3753:26;;;;;;;;-1:-1:-1;;;;;3753:45:354;;;;:26;;;;;;;;;;;:45;-1:-1:-1;3816:16:354;;;;;3695:152;3676:3;;3634:223;;;;3867:17;;2967:924;;;;:::o;8522:410:447:-;-1:-1:-1;;;;;8605:21:447;;8597:67;;;;-1:-1:-1;;;8597:67:447;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8675:49;8696:7;8713:1;8717:6;8675:20;:49::i;:::-;8756:68;8779:6;8756:68;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8756:18:447;;:9;:18;;;;;;;;;;;;;:22;:68::i;:::-;-1:-1:-1;;;;;8735:18:447;;:9;:18;;;;;;;;;;:89;8849:12;;:24;;8866:6;8849:16;:24::i;:::-;8834:12;:39;8888:37;;;;;;;;8914:1;;-1:-1:-1;;;;;8888:37:447;;;;;;;;;;;;8522:410;;:::o;4217:150:442:-;4275:7;4306:1;4302;:5;4294:44;;;;;-1:-1:-1;;;4294:44:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;4359:1;4355;:5;;;;;;;4217:150;-1:-1:-1;;;4217:150:442:o;5432:163::-;5518:7;5553:12;5545:6;;;;5537:29;;;;-1:-1:-1;;;5537:29:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5583:5:442;;;5432:163::o;3727:172:447:-;3813:4;3829:42;3839:12;:10;:12::i;:::-;3853:9;3864:6;3829:9;:42::i;8500:221:352:-;8592:22;:52;;-1:-1:-1;;8592:52:352;-1:-1:-1;;;;;8592:52:352;;;;;;;;8660:54;;;;;;;;;;;;;;;;;8500:221;:::o;8766:131::-;8828:7;:22;;-1:-1:-1;;;;;;8828:22:352;;-1:-1:-1;;;;;8828:22:352;;;;;;;;;;;;8866:24;;;;;;;;;;;;;;;;;8766:131;:::o;7832:370:447:-;-1:-1:-1;;;;;7915:21:447;;7907:65;;;;;-1:-1:-1;;;7907:65:447;;;;;;;;;;;;;;;;;;;;;;;;;;;;7983:49;8012:1;8016:7;8025:6;7983:20;:49::i;:::-;8058:12;;:24;;8075:6;8058:16;:24::i;:::-;8043:12;:39;-1:-1:-1;;;;;8113:18:447;;:9;:18;;;;;;;;;;;:30;;8136:6;8113:22;:30::i;:::-;-1:-1:-1;;;;;8092:18:447;;:9;:18;;;;;;;;;;;:51;;;;8158:37;;;;;;;8092:18;;:9;;8158:37;;;;;;;;;;7832:370;;:::o;885:203:450:-;1012:68;;;-1:-1:-1;;;;;1012:68:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1012:68:450;-1:-1:-1;;;1012:68:450;;;985:96;;1005:5;;985:19;:96::i;:::-;885:203;;;;:::o;7031:530:447:-;-1:-1:-1;;;;;7136:20:447;;7128:70;;;;-1:-1:-1;;;7128:70:447;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7216:23:447;;7208:71;;;;-1:-1:-1;;;7208:71:447;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7290:47;7311:6;7319:9;7330:6;7290:20;:47::i;:::-;7368:71;7390:6;7368:71;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7368:17:447;;:9;:17;;;;;;;;;;;;;:21;:71::i;:::-;-1:-1:-1;;;;;7348:17:447;;;:9;:17;;;;;;;;;;;:91;;;;7472:20;;;;;;;:32;;7497:6;7472:24;:32::i;:::-;-1:-1:-1;;;;;7449:20:447;;;:9;:20;;;;;;;;;;;;:55;;;;7519:35;;;;;;;7449:20;;7519:35;;;;;;;;;;;;;7031:530;;;:::o;2967:751:450:-;3412:69;;;;;;;;;;;;;;;;;;3386:23;;3412:69;;-1:-1:-1;;;;;3412:27:450;;;3440:4;;3412:27;:69::i;:::-;3495:17;;3386:95;;-1:-1:-1;3495:21:450;3491:221;;3635:10;3624:30;;;;;;;;;;;;;;;-1:-1:-1;3624:30:450;3616:85;;;;-1:-1:-1;;;3616:85:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2489:299:354;2595:17;2633:9;2628:132;2648:5;:12;2644:1;:16;2628:132;;;2696:5;2702:1;2696:8;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2685:19:354;;;;;;2681:69;;;2731:4;2724:11;;;;;2681:69;2662:3;;2628:132;;;-1:-1:-1;2776:5:354;;2489:299;-1:-1:-1;;;2489:299:354:o;1127:205:360:-;1207:12;1246:8;1235;:19;1231:76;;;-1:-1:-1;1277:19:360;;;1270:26;;1231:76;-1:-1:-1;1324:1:360;1127:205;;;;:::o;3581:193:451:-;3684:12;3715:52;3737:6;3745:4;3751:1;3754:12;3684;4858:18;4869:6;4858:10;:18::i;:::-;4850:60;;;;;-1:-1:-1;;;4850:60:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;4981:12;4995:23;5022:6;-1:-1:-1;;;;;5022:11:451;5042:5;5050:4;5022:33;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5022:33:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4980:75;;;;5072:52;5090:7;5099:10;5111:12;5072:17;:52::i;:::-;5065:59;4608:523;-1:-1:-1;;;;;;;4608:523:451:o;726:413::-;1086:20;1124:8;;;726:413::o;7091:725::-;7206:12;7234:7;7230:580;;;-1:-1:-1;7264:10:451;7257:17;;7230:580;7375:17;;:21;7371:429;;7633:10;7627:17;7693:15;7680:10;7676:2;7672:19;7665:44;7582:145;7765:20;;-1:-1:-1;;;7765:20:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7765:20:451;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;", - "linkReferences": {}, - "immutableReferences": { - "75029": [ - { - "start": 8597, - "length": 32 - } - ], - "75031": [ - { - "start": 7766, - "length": 32 - } - ], - "75033": [ - { - "start": 7724, - "length": 32 - } - ], - "75035": [ - { - "start": 7619, - "length": 32 - } - ], - "75037": [ - { - "start": 11294, - "length": 32 - } - ], - "75039": [ - { - "start": 11440, - "length": 32 - } - ], - "75041": [ - { - "start": 1911, - "length": 32 - }, - { - "start": 5778, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "allowance(address,address)": "dd62ed3e", - "approve(address,uint256)": "095ea7b3", - "balanceOf(address)": "70a08231", - "decimals()": "313ce567", - "decreaseAllowance(address,uint256)": "a457c2d7", - "deposit(uint256)": "b6b55f25", - "enterLockedState()": "40806ae6", - "enterRedeemState(address[])": "851bda82", - "getAllowedDepositorListId()": "8c434471", - "getDepositToken()": "fb1b5c7b", - "getFeeBps()": "2c928098", - "getFeeExcludesDepositTokenPrincipal()": "907e3df3", - "getFeeRecipient()": "4ccb20c0", - "getManager()": "d5009584", - "getProtocolFeeStart()": "a161a512", - "getRedeemedAssets()": "ecb6abd6", - "getState()": "1865c57d", - "getTotalDepositMax()": "2207b386", - "getTransfersAllowed()": "6edac21b", - "getVaultProxy()": "c9809187", - "increaseAllowance(address,uint256)": "39509351", - "init(address,address,uint128,bool,uint128,address,uint16,bool,address)": "ae652af6", - "name()": "06fdde03", - "setAllowedDepositorListId(uint128)": "e9085cc7", - "setManager(address)": "d0ebdbe7", - "setTotalDepositMax(uint128)": "913cc04a", - "symbol()": "95d89b41", - "totalSupply()": "18160ddd", - "transfer(address,uint256)": "a9059cbb", - "transferFrom(address,address,uint256)": "23b872dd", - "withdraw(uint256,address[])": "99eca69f" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_dispatcher\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_addressListRegistry\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_fundDeployerV4\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_protocolFeeRecipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_protocolFeeBps\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_initializer\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"listId\",\"type\":\"uint256\"}],\"name\":\"AllowedDepositorListIdSet\",\"type\":\"event\"},{\"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\":\"user\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Deposited\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"FeePaid\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"vaultProxy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"depositToken\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"transfersAllowed\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"feeRecipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint16\",\"name\":\"feeBps\",\"type\":\"uint16\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"feeExcludesDepositTokenPrincipal\",\"type\":\"bool\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"manager\",\"type\":\"address\"}],\"name\":\"ManagerSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"ProtocolFeePaid\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"ProtocolFeeStarted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"enum ArbitraryTokenPhasedSharesWrapperLib.State\",\"name\":\"state\",\"type\":\"uint8\"}],\"name\":\"StateSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"totalDepositMax\",\"type\":\"uint256\"}],\"name\":\"TotalDepositMaxSet\",\"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\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"claimedAssets\",\"type\":\"address[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"claimedAssetAmounts\",\"type\":\"uint256[]\"}],\"name\":\"Withdrawn\",\"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\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"decimals_\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"deposit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"enterLockedState\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_untrackedAssetsToClaim\",\"type\":\"address[]\"}],\"name\":\"enterRedeemState\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAllowedDepositorListId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"allowedDepositorListId_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDepositToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"depositToken_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFeeBps\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"feeBps_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFeeExcludesDepositTokenPrincipal\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"excludesPrincipal_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFeeRecipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"feeRecipient_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"manager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getProtocolFeeStart\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"protocolFeeStart_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRedeemedAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"redeemedAssets_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getState\",\"outputs\":[{\"internalType\":\"enum ArbitraryTokenPhasedSharesWrapperLib.State\",\"name\":\"state_\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getTotalDepositMax\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"totalDepositMax_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getTransfersAllowed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"transfersAllowed_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getVaultProxy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"vaultProxy_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_depositToken\",\"type\":\"address\"},{\"internalType\":\"uint128\",\"name\":\"_allowedDepositorListId\",\"type\":\"uint128\"},{\"internalType\":\"bool\",\"name\":\"_transfersAllowed\",\"type\":\"bool\"},{\"internalType\":\"uint128\",\"name\":\"_totalDepositMax\",\"type\":\"uint128\"},{\"internalType\":\"address\",\"name\":\"_feeRecipient\",\"type\":\"address\"},{\"internalType\":\"uint16\",\"name\":\"_feeBps\",\"type\":\"uint16\"},{\"internalType\":\"bool\",\"name\":\"_feeExcludesDepositTokenPrincipal\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"_manager\",\"type\":\"address\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"name_\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint128\",\"name\":\"_nextAllowedDepositorListId\",\"type\":\"uint128\"}],\"name\":\"setAllowedDepositorListId\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nextManager\",\"type\":\"address\"}],\"name\":\"setManager\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint128\",\"name\":\"_nextTotalDepositMax\",\"type\":\"uint128\"}],\"name\":\"setTotalDepositMax\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"symbol_\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success_\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success_\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"_additionalAssets\",\"type\":\"address[]\"}],\"name\":\"withdraw\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"claimedAssets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"claimedAssetAmounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"This contract is only intended for use by vaults on Enzyme v4, or hotfix releases that maintain the same essential logic and interfaces. Owners should NOT upgrade to a new version of the core protocol while this wrapper is in a non-Redeem state, unless certain that the new version adheres to the same required interfaces and general logical assumptions. Core protocol fees are assumed to be turned off for any vault using this wrapper, which instead applies a protocol fee locally (requires Enzyme Council action). This is due to the challenges of fairly applying the fee on the dilutive mechanism for depositing untracked assets. The owner defers to `VaultProxy.owner`, to maintain the same trust assumptions of the fund. Requires a fund setup where: - the fund owner is trusted by depositors - untrusted asset managers cannot untrack assets or untrack external positions with positive value - all other generally-recommended policies are in-place for limiting untrusted asset manager interactions with adapters and external positions\",\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"decimals()\":{\"returns\":{\"decimals_\":\"The number of decimals\"}},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.\"},\"deposit(uint256)\":{\"params\":{\"_amount\":\"The amount of the deposit token to deposit\"}},\"enterLockedState()\":{\"details\":\"Requires that the current contract contains some amount of the denomination asset with which to buy vault shares. It is recommended to use an insignificant amount of value, as wrapped shareholders will have a claim to a pro-rata share.\"},\"enterRedeemState(address[])\":{\"details\":\"Vault managers must move all value into the vault and should track all assets prior to calling this function. Any untracked assets can also be claimed by specifying them in _untrackedAssetsToClaim.\",\"params\":{\"_untrackedAssetsToClaim\":\"A list of any assets to claim that are untracked in the vault\"}},\"getAllowedDepositorListId()\":{\"returns\":{\"allowedDepositorListId_\":\"The allowedDepositorListId value\"}},\"getDepositToken()\":{\"returns\":{\"depositToken_\":\"The depositToken value\"}},\"getFeeBps()\":{\"returns\":{\"feeBps_\":\"The feeBps value\"}},\"getFeeExcludesDepositTokenPrincipal()\":{\"returns\":{\"excludesPrincipal_\":\"The feeExcludesDepositTokenPrincipal value\"}},\"getFeeRecipient()\":{\"returns\":{\"feeRecipient_\":\"The feeRecipient value\"}},\"getManager()\":{\"returns\":{\"manager_\":\"The manager value\"}},\"getProtocolFeeStart()\":{\"returns\":{\"protocolFeeStart_\":\"The protocolFeeStart value\"}},\"getRedeemedAssets()\":{\"returns\":{\"redeemedAssets_\":\"The redeemedAssets value\"}},\"getState()\":{\"returns\":{\"state_\":\"The state value\"}},\"getTotalDepositMax()\":{\"returns\":{\"totalDepositMax_\":\"The totalDepositMax value\"}},\"getTransfersAllowed()\":{\"returns\":{\"transfersAllowed_\":\"The transfersAllowed value\"}},\"getVaultProxy()\":{\"returns\":{\"vaultProxy_\":\"The vaultProxy value\"}},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address.\"},\"init(address,address,uint128,bool,uint128,address,uint16,bool,address)\":{\"details\":\"Validating via INITIALIZER makes deployments cheaper than checking a storage var, but INITIALIZER must be trusted to not call more than once.\",\"params\":{\"_allowedDepositorListId\":\"The id of an AddressListRegistry list to use for validating allowed depositors\",\"_depositToken\":\"The token that users deposit to the wrapper to receive wrapped shares\",\"_feeBps\":\"The wrapper fee amount in bps\",\"_feeExcludesDepositTokenPrincipal\":\"True if the fee excludes the total _depositToken amount deposited\",\"_feeRecipient\":\"The recipient of the wrapper fee\",\"_manager\":\"The manager of the wrapper\",\"_totalDepositMax\":\"The total amount of deposit token that can be deposited\",\"_transfersAllowed\":\"True if wrapped shares transfers are allowed\",\"_vaultProxy\":\"The VaultProxy that will have its shares wrapped\"}},\"name()\":{\"returns\":{\"name_\":\"The name\"}},\"setAllowedDepositorListId(uint128)\":{\"params\":{\"_nextAllowedDepositorListId\":\"The next allowedDepositorListId value\"}},\"setManager(address)\":{\"params\":{\"_nextManager\":\"The next manager value\"}},\"setTotalDepositMax(uint128)\":{\"params\":{\"_nextTotalDepositMax\":\"The next totalDepositMax value\"}},\"symbol()\":{\"returns\":{\"symbol_\":\"The symbol\"}},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"Standard implementation of ERC20's transfer(). Blocks transfers if not allowed.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Standard implementation of ERC20's transferFrom(). Blocks transfers if not allowed.\"},\"withdraw(uint256,address[])\":{\"details\":\"Any assets not claimed will be forfeited. All should be included automatically via redeemedAssets, unless a vault manager error occurs, such as forgetting to claim untracked assets during redemption, which they would then need to send to the wrapper manually.\",\"params\":{\"_additionalAssets\":\"A list of any additional assets to claim (not stored in redeemedAssets)\",\"_amount\":\"The amount of shares to exchange\"},\"returns\":{\"claimedAssetAmounts_\":\"The actual amounts of assets claimed\",\"claimedAssets_\":\"The ordered assets claimed\"}}},\"title\":\"ArbitraryTokenPhasedSharesWrapperLib Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"decimals()\":{\"notice\":\"Gets the number of decimals of the wrapped shares token\"},\"deposit(uint256)\":{\"notice\":\"Deposits an amount of the deposit token in exchange for wrapped shares\"},\"enterLockedState()\":{\"notice\":\"Enters Locked state, transferring the deposit token to the vault and buying vault shares in the process\"},\"enterRedeemState(address[])\":{\"notice\":\"Enters Redeem state, redeeming all vault shares and paying out both protocol and wrapper fees\"},\"getAllowedDepositorListId()\":{\"notice\":\"Gets the allowedDepositorListId var\"},\"getDepositToken()\":{\"notice\":\"Gets the depositToken var\"},\"getFeeBps()\":{\"notice\":\"Gets the feeBps var\"},\"getFeeExcludesDepositTokenPrincipal()\":{\"notice\":\"Gets the feeExcludesDepositTokenPrincipal var\"},\"getFeeRecipient()\":{\"notice\":\"Gets the feeRecipient var\"},\"getManager()\":{\"notice\":\"Gets the manager var\"},\"getProtocolFeeStart()\":{\"notice\":\"Gets the protocolFeeStart var\"},\"getRedeemedAssets()\":{\"notice\":\"Gets the redeemedAssets var\"},\"getState()\":{\"notice\":\"Gets the state var\"},\"getTotalDepositMax()\":{\"notice\":\"Gets the totalDepositMax var\"},\"getTransfersAllowed()\":{\"notice\":\"Gets the transfersAllowed var\"},\"getVaultProxy()\":{\"notice\":\"Gets the vaultProxy var\"},\"init(address,address,uint128,bool,uint128,address,uint16,bool,address)\":{\"notice\":\"Initializes a proxy instance\"},\"name()\":{\"notice\":\"Gets the name of the wrapped shares token\"},\"setAllowedDepositorListId(uint128)\":{\"notice\":\"Sets the allowedDepositorListId var\"},\"setManager(address)\":{\"notice\":\"Sets the manager var\"},\"setTotalDepositMax(uint128)\":{\"notice\":\"Sets the totalDepositMax var\"},\"symbol()\":{\"notice\":\"Gets the symbol of the wrapped shares token\"},\"withdraw(uint256,address[])\":{\"notice\":\"Withdraws a pro-rata share of all assets in exchange for burning wrapped shares\"}},\"notice\":\"An ERC20 wrapper for Enzyme vault shares that facilitates an arbitrary deposit token, using a phased mechanism for accepting deposits and allowing withdrawals\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/peripheral/shares-wrappers/arbitrary-token-phased/ArbitraryTokenPhasedSharesWrapperLib.sol\":\"ArbitraryTokenPhasedSharesWrapperLib\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/address-list-registry/AddressListRegistry.sol\":{\"keccak256\":\"0xf00a9e376e3ec2a223f463f71c15ee3af3642dd028bc3762440e316b760c8048\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://01986c9327b5dfbfac21316dced6d68727931ddde1278ed1342d878004f984b9\",\"dweb:/ipfs/QmdXkFaUU43JqMTYEREbWa129rohdqN7GXy7mVRpjCfSLD\"]},\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/persistent/protocol-fee-reserve/interfaces/IProtocolFeeReserve1.sol\":{\"keccak256\":\"0x2728878c423db523bc95189137e8c58d2d7db9f56bbd5c6b1f988c08b551fbab\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3b0df1d2eb74151265d03ab91a7c341f7beca475dd2f4d669052dbc4ee2c06ac\",\"dweb:/ipfs/QmVx1cgrxQNYfdK1Kn15pcgqf79Uw8bF3U6i7F2HG2rj6G\"]},\"contracts/persistent/vault/VaultLibBase1.sol\":{\"keccak256\":\"0xa4dac1e4cdb311a2ab187135355357d8790c505ef36dd912c057fe53743d30b5\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b66efe821016ab927c949263023260515e90f5d480dc8d94eefbfeec7bf7490b\",\"dweb:/ipfs/QmNY3xKnhL9EptAbxGvXHGAXfV9pj3dDPwsZnKrPs54ZHw\"]},\"contracts/persistent/vault/VaultLibBase2.sol\":{\"keccak256\":\"0xf7d31f2a9a47770ed3f444be2c4fe9262ddb55fef7f25e546b1f03c9afec4c09\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9353ddce7c9b8b3c13fed23fe8edec99ca610d791b0c5b204b3d01f1f08d07d2\",\"dweb:/ipfs/QmeVsEh3joCjv49BRXeHASevnZZ5xdZXpkctHT8BPf37N2\"]},\"contracts/persistent/vault/VaultLibBaseCore.sol\":{\"keccak256\":\"0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd\",\"dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz\"]},\"contracts/persistent/vault/interfaces/IExternalPositionVault.sol\":{\"keccak256\":\"0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d\",\"dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8\"]},\"contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol\":{\"keccak256\":\"0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb\",\"dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU\"]},\"contracts/persistent/vault/interfaces/IMigratableVault.sol\":{\"keccak256\":\"0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6\",\"dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs\"]},\"contracts/persistent/vault/interfaces/IVaultCore.sol\":{\"keccak256\":\"0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd\",\"dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr\"]},\"contracts/persistent/vault/utils/ProxiableVaultLib.sol\":{\"keccak256\":\"0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44\",\"dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4\"]},\"contracts/persistent/vault/utils/SharesTokenBase.sol\":{\"keccak256\":\"0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8\",\"dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4\"]},\"contracts/persistent/vault/utils/VaultLibSafeMath.sol\":{\"keccak256\":\"0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02\",\"dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG\"]},\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/core/fund/comptroller/ComptrollerLib.sol\":{\"keccak256\":\"0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579\",\"dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq\"]},\"contracts/release/core/fund/comptroller/IComptroller.sol\":{\"keccak256\":\"0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97\",\"dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L\"]},\"contracts/release/core/fund/vault/IVault.sol\":{\"keccak256\":\"0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599\",\"dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG\"]},\"contracts/release/core/fund/vault/VaultLib.sol\":{\"keccak256\":\"0x07e49445ab55c01e1b499a48baadc2a15d1eba621f1c6d3ccfdb84c87b976da8\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://56d882459248f73e137db2e097fc56b946147fb28ec21661b77431f88e856cb4\",\"dweb:/ipfs/QmRP6Ry7DCS5uoKxnnkTomHSzbaCze6cHqbR9aLdjoF6vK\"]},\"contracts/release/extensions/IExtension.sol\":{\"keccak256\":\"0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70\",\"dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t\"]},\"contracts/release/extensions/external-position-manager/IExternalPositionManager.sol\":{\"keccak256\":\"0x3af3f634e1f99fb97091b7825c0d2e2baaafc124d4e87d56cb0c17ff8554f6c6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://515470605afe5ef147f30fa75ce7818f0e00e3d321eb81a4d9bffcdefc294495\",\"dweb:/ipfs/QmPKsp99pfHoz9Tfo3ZxnkmqDqJtN9PxqacF2RmeVfxUJF\"]},\"contracts/release/extensions/fee-manager/IFeeManager.sol\":{\"keccak256\":\"0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22\",\"dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod\"]},\"contracts/release/extensions/policy-manager/IPolicyManager.sol\":{\"keccak256\":\"0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa\",\"dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb\"]},\"contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol\":{\"keccak256\":\"0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f\",\"dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol\":{\"keccak256\":\"0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0\",\"dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol\":{\"keccak256\":\"0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b\",\"dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3\"]},\"contracts/release/infrastructure/protocol-fees/IProtocolFeeTracker.sol\":{\"keccak256\":\"0x232b347f83457439064add7369bfe1930c7cb56f15930bb87d640e909c15e447\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://24f9af5eebdd373b1d7a598c096eb6def31b2640d54416d7d5a7226e1cef17e6\",\"dweb:/ipfs/QmStq9ByGuSYdKwTmZf52L1X6sZVJUfXTnoVbnjLLiUcHG\"]},\"contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol\":{\"keccak256\":\"0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965\",\"dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ\"]},\"contracts/release/interfaces/IGsnForwarder.sol\":{\"keccak256\":\"0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29\",\"dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G\"]},\"contracts/release/interfaces/IGsnPaymaster.sol\":{\"keccak256\":\"0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4\",\"dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF\"]},\"contracts/release/interfaces/IGsnTypes.sol\":{\"keccak256\":\"0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7\",\"dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C\"]},\"contracts/release/interfaces/IWETH.sol\":{\"keccak256\":\"0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2\",\"dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ\"]},\"contracts/release/peripheral/shares-wrappers/arbitrary-token-phased/ArbitraryTokenPhasedSharesWrapperLib.sol\":{\"keccak256\":\"0xc30ef4e60784b2b7f9cfde28f19b632f122b10e8c0ee6e651cb4103164b6266c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a8f196fcadc70d8e6eebad3dfd1147e929bb41e2813cac84650ed6d898d40db6\",\"dweb:/ipfs/QmSDEnTBR9mqLwGFxDECctyWBgNUuQv5oSCMZW9BFoTXtE\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"contracts/release/utils/MathHelpers.sol\":{\"keccak256\":\"0x8aef498ae98bfb40cd1df8c9ed652b4c092fbbe62d5a1fad522c53654523248e\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ed62789f6a8d5ca30a40c591f244b915e4711493a9e4b1b4d40ea2bc97b02a95\",\"dweb:/ipfs/QmWyXJ55arURtx9VMkUQokdsjk8tbgM2cC8rENFUMyz5D3\"]},\"contracts/release/utils/beacon-proxy/IBeacon.sol\":{\"keccak256\":\"0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39\",\"dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V\"]},\"contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol\":{\"keccak256\":\"0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be\",\"dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20Burnable.sol\":{\"keccak256\":\"0x9c0eb3b0e11d2480d49991dc384f1e5f9c9b9967cc81944d50916a9b9c6c4984\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99e4033d778624992e86f0b6d801a4f6d7b5c0cd5c79c1296be90a051ad5f5af\",\"dweb:/ipfs/QmShYmkUqh6pDEeoWadZ24icmCr4C2Xys1uE5boivPmbwf\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_dispatcher", - "type": "address" - }, - { - "internalType": "address", - "name": "_addressListRegistry", - "type": "address" - }, - { - "internalType": "address", - "name": "_fundDeployerV4", - "type": "address" - }, - { - "internalType": "address", - "name": "_protocolFeeRecipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_protocolFeeBps", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_initializer", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "listId", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "AllowedDepositorListIdSet", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "spender", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "Approval", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "user", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "Deposited", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "token", - "type": "address", - "indexed": false - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "FeePaid", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "vaultProxy", - "type": "address", - "indexed": false - }, - { - "internalType": "address", - "name": "depositToken", - "type": "address", - "indexed": false - }, - { - "internalType": "bool", - "name": "transfersAllowed", - "type": "bool", - "indexed": false - }, - { - "internalType": "address", - "name": "feeRecipient", - "type": "address", - "indexed": false - }, - { - "internalType": "uint16", - "name": "feeBps", - "type": "uint16", - "indexed": false - }, - { - "internalType": "bool", - "name": "feeExcludesDepositTokenPrincipal", - "type": "bool", - "indexed": false - } - ], - "type": "event", - "name": "Initialized", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "manager", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "ManagerSet", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "token", - "type": "address", - "indexed": false - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "ProtocolFeePaid", - "anonymous": false - }, - { - "inputs": [], - "type": "event", - "name": "ProtocolFeeStarted", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "enum ArbitraryTokenPhasedSharesWrapperLib.State", - "name": "state", - "type": "uint8", - "indexed": false - } - ], - "type": "event", - "name": "StateSet", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "totalDepositMax", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "TotalDepositMaxSet", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "to", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "Transfer", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "user", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256", - "indexed": false - }, - { - "internalType": "address[]", - "name": "claimedAssets", - "type": "address[]", - "indexed": false - }, - { - "internalType": "uint256[]", - "name": "claimedAssetAmounts", - "type": "uint256[]", - "indexed": false - } - ], - "type": "event", - "name": "Withdrawn", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "decimals_", - "type": "uint8" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "subtractedValue", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "decreaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "deposit" - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "enterLockedState" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_untrackedAssetsToClaim", - "type": "address[]" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "enterRedeemState" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getAllowedDepositorListId", - "outputs": [ - { - "internalType": "uint256", - "name": "allowedDepositorListId_", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getDepositToken", - "outputs": [ - { - "internalType": "address", - "name": "depositToken_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getFeeBps", - "outputs": [ - { - "internalType": "uint256", - "name": "feeBps_", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getFeeExcludesDepositTokenPrincipal", - "outputs": [ - { - "internalType": "bool", - "name": "excludesPrincipal_", - "type": "bool" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getFeeRecipient", - "outputs": [ - { - "internalType": "address", - "name": "feeRecipient_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getManager", - "outputs": [ - { - "internalType": "address", - "name": "manager_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getProtocolFeeStart", - "outputs": [ - { - "internalType": "uint256", - "name": "protocolFeeStart_", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getRedeemedAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "redeemedAssets_", - "type": "address[]" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getState", - "outputs": [ - { - "internalType": "enum ArbitraryTokenPhasedSharesWrapperLib.State", - "name": "state_", - "type": "uint8" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getTotalDepositMax", - "outputs": [ - { - "internalType": "uint256", - "name": "totalDepositMax_", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getTransfersAllowed", - "outputs": [ - { - "internalType": "bool", - "name": "transfersAllowed_", - "type": "bool" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getVaultProxy", - "outputs": [ - { - "internalType": "address", - "name": "vaultProxy_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "addedValue", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "increaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_depositToken", - "type": "address" - }, - { - "internalType": "uint128", - "name": "_allowedDepositorListId", - "type": "uint128" - }, - { - "internalType": "bool", - "name": "_transfersAllowed", - "type": "bool" - }, - { - "internalType": "uint128", - "name": "_totalDepositMax", - "type": "uint128" - }, - { - "internalType": "address", - "name": "_feeRecipient", - "type": "address" - }, - { - "internalType": "uint16", - "name": "_feeBps", - "type": "uint16" - }, - { - "internalType": "bool", - "name": "_feeExcludesDepositTokenPrincipal", - "type": "bool" - }, - { - "internalType": "address", - "name": "_manager", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "init" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "name_", - "type": "string" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint128", - "name": "_nextAllowedDepositorListId", - "type": "uint128" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setAllowedDepositorListId" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_nextManager", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setManager" - }, - { - "inputs": [ - { - "internalType": "uint128", - "name": "_nextTotalDepositMax", - "type": "uint128" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setTotalDepositMax" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "symbol_", - "type": "string" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "success_", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_sender", - "type": "address" - }, - { - "internalType": "address", - "name": "_recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "success_", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "_additionalAssets", - "type": "address[]" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "withdraw", - "outputs": [ - { - "internalType": "address[]", - "name": "claimedAssets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "claimedAssetAmounts_", - "type": "uint256[]" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "allowance(address,address)": { - "details": "See {IERC20-allowance}." - }, - "approve(address,uint256)": { - "details": "See {IERC20-approve}. Requirements: - `spender` cannot be the zero address." - }, - "balanceOf(address)": { - "details": "See {IERC20-balanceOf}." - }, - "decimals()": { - "returns": { - "decimals_": "The number of decimals" - } - }, - "decreaseAllowance(address,uint256)": { - "details": "Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`." - }, - "deposit(uint256)": { - "params": { - "_amount": "The amount of the deposit token to deposit" - } - }, - "enterLockedState()": { - "details": "Requires that the current contract contains some amount of the denomination asset with which to buy vault shares. It is recommended to use an insignificant amount of value, as wrapped shareholders will have a claim to a pro-rata share." - }, - "enterRedeemState(address[])": { - "details": "Vault managers must move all value into the vault and should track all assets prior to calling this function. Any untracked assets can also be claimed by specifying them in _untrackedAssetsToClaim.", - "params": { - "_untrackedAssetsToClaim": "A list of any assets to claim that are untracked in the vault" - } - }, - "getAllowedDepositorListId()": { - "returns": { - "allowedDepositorListId_": "The allowedDepositorListId value" - } - }, - "getDepositToken()": { - "returns": { - "depositToken_": "The depositToken value" - } - }, - "getFeeBps()": { - "returns": { - "feeBps_": "The feeBps value" - } - }, - "getFeeExcludesDepositTokenPrincipal()": { - "returns": { - "excludesPrincipal_": "The feeExcludesDepositTokenPrincipal value" - } - }, - "getFeeRecipient()": { - "returns": { - "feeRecipient_": "The feeRecipient value" - } - }, - "getManager()": { - "returns": { - "manager_": "The manager value" - } - }, - "getProtocolFeeStart()": { - "returns": { - "protocolFeeStart_": "The protocolFeeStart value" - } - }, - "getRedeemedAssets()": { - "returns": { - "redeemedAssets_": "The redeemedAssets value" - } - }, - "getState()": { - "returns": { - "state_": "The state value" - } - }, - "getTotalDepositMax()": { - "returns": { - "totalDepositMax_": "The totalDepositMax value" - } - }, - "getTransfersAllowed()": { - "returns": { - "transfersAllowed_": "The transfersAllowed value" - } - }, - "getVaultProxy()": { - "returns": { - "vaultProxy_": "The vaultProxy value" - } - }, - "increaseAllowance(address,uint256)": { - "details": "Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address." - }, - "init(address,address,uint128,bool,uint128,address,uint16,bool,address)": { - "details": "Validating via INITIALIZER makes deployments cheaper than checking a storage var, but INITIALIZER must be trusted to not call more than once.", - "params": { - "_allowedDepositorListId": "The id of an AddressListRegistry list to use for validating allowed depositors", - "_depositToken": "The token that users deposit to the wrapper to receive wrapped shares", - "_feeBps": "The wrapper fee amount in bps", - "_feeExcludesDepositTokenPrincipal": "True if the fee excludes the total _depositToken amount deposited", - "_feeRecipient": "The recipient of the wrapper fee", - "_manager": "The manager of the wrapper", - "_totalDepositMax": "The total amount of deposit token that can be deposited", - "_transfersAllowed": "True if wrapped shares transfers are allowed", - "_vaultProxy": "The VaultProxy that will have its shares wrapped" - } - }, - "name()": { - "returns": { - "name_": "The name" - } - }, - "setAllowedDepositorListId(uint128)": { - "params": { - "_nextAllowedDepositorListId": "The next allowedDepositorListId value" - } - }, - "setManager(address)": { - "params": { - "_nextManager": "The next manager value" - } - }, - "setTotalDepositMax(uint128)": { - "params": { - "_nextTotalDepositMax": "The next totalDepositMax value" - } - }, - "symbol()": { - "returns": { - "symbol_": "The symbol" - } - }, - "totalSupply()": { - "details": "See {IERC20-totalSupply}." - }, - "transfer(address,uint256)": { - "details": "Standard implementation of ERC20's transfer(). Blocks transfers if not allowed." - }, - "transferFrom(address,address,uint256)": { - "details": "Standard implementation of ERC20's transferFrom(). Blocks transfers if not allowed." - }, - "withdraw(uint256,address[])": { - "details": "Any assets not claimed will be forfeited. All should be included automatically via redeemedAssets, unless a vault manager error occurs, such as forgetting to claim untracked assets during redemption, which they would then need to send to the wrapper manually.", - "params": { - "_additionalAssets": "A list of any additional assets to claim (not stored in redeemedAssets)", - "_amount": "The amount of shares to exchange" - }, - "returns": { - "claimedAssetAmounts_": "The actual amounts of assets claimed", - "claimedAssets_": "The ordered assets claimed" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "decimals()": { - "notice": "Gets the number of decimals of the wrapped shares token" - }, - "deposit(uint256)": { - "notice": "Deposits an amount of the deposit token in exchange for wrapped shares" - }, - "enterLockedState()": { - "notice": "Enters Locked state, transferring the deposit token to the vault and buying vault shares in the process" - }, - "enterRedeemState(address[])": { - "notice": "Enters Redeem state, redeeming all vault shares and paying out both protocol and wrapper fees" - }, - "getAllowedDepositorListId()": { - "notice": "Gets the allowedDepositorListId var" - }, - "getDepositToken()": { - "notice": "Gets the depositToken var" - }, - "getFeeBps()": { - "notice": "Gets the feeBps var" - }, - "getFeeExcludesDepositTokenPrincipal()": { - "notice": "Gets the feeExcludesDepositTokenPrincipal var" - }, - "getFeeRecipient()": { - "notice": "Gets the feeRecipient var" - }, - "getManager()": { - "notice": "Gets the manager var" - }, - "getProtocolFeeStart()": { - "notice": "Gets the protocolFeeStart var" - }, - "getRedeemedAssets()": { - "notice": "Gets the redeemedAssets var" - }, - "getState()": { - "notice": "Gets the state var" - }, - "getTotalDepositMax()": { - "notice": "Gets the totalDepositMax var" - }, - "getTransfersAllowed()": { - "notice": "Gets the transfersAllowed var" - }, - "getVaultProxy()": { - "notice": "Gets the vaultProxy var" - }, - "init(address,address,uint128,bool,uint128,address,uint16,bool,address)": { - "notice": "Initializes a proxy instance" - }, - "name()": { - "notice": "Gets the name of the wrapped shares token" - }, - "setAllowedDepositorListId(uint128)": { - "notice": "Sets the allowedDepositorListId var" - }, - "setManager(address)": { - "notice": "Sets the manager var" - }, - "setTotalDepositMax(uint128)": { - "notice": "Sets the totalDepositMax var" - }, - "symbol()": { - "notice": "Gets the symbol of the wrapped shares token" - }, - "withdraw(uint256,address[])": { - "notice": "Withdraws a pro-rata share of all assets in exchange for burning wrapped shares" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/peripheral/shares-wrappers/arbitrary-token-phased/ArbitraryTokenPhasedSharesWrapperLib.sol": "ArbitraryTokenPhasedSharesWrapperLib" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/address-list-registry/AddressListRegistry.sol": { - "keccak256": "0xf00a9e376e3ec2a223f463f71c15ee3af3642dd028bc3762440e316b760c8048", - "urls": [ - "bzz-raw://01986c9327b5dfbfac21316dced6d68727931ddde1278ed1342d878004f984b9", - "dweb:/ipfs/QmdXkFaUU43JqMTYEREbWa129rohdqN7GXy7mVRpjCfSLD" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/dispatcher/IDispatcher.sol": { - "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", - "urls": [ - "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", - "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/external-positions/IExternalPosition.sol": { - "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", - "urls": [ - "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", - "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/protocol-fee-reserve/interfaces/IProtocolFeeReserve1.sol": { - "keccak256": "0x2728878c423db523bc95189137e8c58d2d7db9f56bbd5c6b1f988c08b551fbab", - "urls": [ - "bzz-raw://3b0df1d2eb74151265d03ab91a7c341f7beca475dd2f4d669052dbc4ee2c06ac", - "dweb:/ipfs/QmVx1cgrxQNYfdK1Kn15pcgqf79Uw8bF3U6i7F2HG2rj6G" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/VaultLibBase1.sol": { - "keccak256": "0xa4dac1e4cdb311a2ab187135355357d8790c505ef36dd912c057fe53743d30b5", - "urls": [ - "bzz-raw://b66efe821016ab927c949263023260515e90f5d480dc8d94eefbfeec7bf7490b", - "dweb:/ipfs/QmNY3xKnhL9EptAbxGvXHGAXfV9pj3dDPwsZnKrPs54ZHw" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/VaultLibBase2.sol": { - "keccak256": "0xf7d31f2a9a47770ed3f444be2c4fe9262ddb55fef7f25e546b1f03c9afec4c09", - "urls": [ - "bzz-raw://9353ddce7c9b8b3c13fed23fe8edec99ca610d791b0c5b204b3d01f1f08d07d2", - "dweb:/ipfs/QmeVsEh3joCjv49BRXeHASevnZZ5xdZXpkctHT8BPf37N2" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/VaultLibBaseCore.sol": { - "keccak256": "0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074", - "urls": [ - "bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd", - "dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IExternalPositionVault.sol": { - "keccak256": "0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6", - "urls": [ - "bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d", - "dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol": { - "keccak256": "0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0", - "urls": [ - "bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb", - "dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IMigratableVault.sol": { - "keccak256": "0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238", - "urls": [ - "bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6", - "dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IVaultCore.sol": { - "keccak256": "0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80", - "urls": [ - "bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd", - "dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/utils/ProxiableVaultLib.sol": { - "keccak256": "0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76", - "urls": [ - "bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44", - "dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/utils/SharesTokenBase.sol": { - "keccak256": "0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113", - "urls": [ - "bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8", - "dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/utils/VaultLibSafeMath.sol": { - "keccak256": "0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d", - "urls": [ - "bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02", - "dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund-deployer/IFundDeployer.sol": { - "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", - "urls": [ - "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", - "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/comptroller/ComptrollerLib.sol": { - "keccak256": "0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64", - "urls": [ - "bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579", - "dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/comptroller/IComptroller.sol": { - "keccak256": "0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f", - "urls": [ - "bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97", - "dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/vault/IVault.sol": { - "keccak256": "0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd", - "urls": [ - "bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599", - "dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/vault/VaultLib.sol": { - "keccak256": "0x07e49445ab55c01e1b499a48baadc2a15d1eba621f1c6d3ccfdb84c87b976da8", - "urls": [ - "bzz-raw://56d882459248f73e137db2e097fc56b946147fb28ec21661b77431f88e856cb4", - "dweb:/ipfs/QmRP6Ry7DCS5uoKxnnkTomHSzbaCze6cHqbR9aLdjoF6vK" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/IExtension.sol": { - "keccak256": "0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b", - "urls": [ - "bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70", - "dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/IExternalPositionManager.sol": { - "keccak256": "0x3af3f634e1f99fb97091b7825c0d2e2baaafc124d4e87d56cb0c17ff8554f6c6", - "urls": [ - "bzz-raw://515470605afe5ef147f30fa75ce7818f0e00e3d321eb81a4d9bffcdefc294495", - "dweb:/ipfs/QmPKsp99pfHoz9Tfo3ZxnkmqDqJtN9PxqacF2RmeVfxUJF" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/fee-manager/IFeeManager.sol": { - "keccak256": "0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51", - "urls": [ - "bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22", - "dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/policy-manager/IPolicyManager.sol": { - "keccak256": "0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32", - "urls": [ - "bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa", - "dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol": { - "keccak256": "0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609", - "urls": [ - "bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f", - "dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol": { - "keccak256": "0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01", - "urls": [ - "bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0", - "dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol": { - "keccak256": "0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196", - "urls": [ - "bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b", - "dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/protocol-fees/IProtocolFeeTracker.sol": { - "keccak256": "0x232b347f83457439064add7369bfe1930c7cb56f15930bb87d640e909c15e447", - "urls": [ - "bzz-raw://24f9af5eebdd373b1d7a598c096eb6def31b2640d54416d7d5a7226e1cef17e6", - "dweb:/ipfs/QmStq9ByGuSYdKwTmZf52L1X6sZVJUfXTnoVbnjLLiUcHG" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol": { - "keccak256": "0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794", - "urls": [ - "bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965", - "dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IGsnForwarder.sol": { - "keccak256": "0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030", - "urls": [ - "bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29", - "dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IGsnPaymaster.sol": { - "keccak256": "0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c", - "urls": [ - "bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4", - "dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IGsnTypes.sol": { - "keccak256": "0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714", - "urls": [ - "bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7", - "dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IWETH.sol": { - "keccak256": "0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2", - "urls": [ - "bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2", - "dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ" - ], - "license": "GPL-3.0" - }, - "contracts/release/peripheral/shares-wrappers/arbitrary-token-phased/ArbitraryTokenPhasedSharesWrapperLib.sol": { - "keccak256": "0xc30ef4e60784b2b7f9cfde28f19b632f122b10e8c0ee6e651cb4103164b6266c", - "urls": [ - "bzz-raw://a8f196fcadc70d8e6eebad3dfd1147e929bb41e2813cac84650ed6d898d40db6", - "dweb:/ipfs/QmSDEnTBR9mqLwGFxDECctyWBgNUuQv5oSCMZW9BFoTXtE" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AddressArrayLib.sol": { - "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", - "urls": [ - "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", - "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AssetHelpers.sol": { - "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", - "urls": [ - "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", - "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/MathHelpers.sol": { - "keccak256": "0x8aef498ae98bfb40cd1df8c9ed652b4c092fbbe62d5a1fad522c53654523248e", - "urls": [ - "bzz-raw://ed62789f6a8d5ca30a40c591f244b915e4711493a9e4b1b4d40ea2bc97b02a95", - "dweb:/ipfs/QmWyXJ55arURtx9VMkUQokdsjk8tbgM2cC8rENFUMyz5D3" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/beacon-proxy/IBeacon.sol": { - "keccak256": "0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2", - "urls": [ - "bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39", - "dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol": { - "keccak256": "0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc", - "urls": [ - "bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be", - "dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20Burnable.sol": { - "keccak256": "0x9c0eb3b0e11d2480d49991dc384f1e5f9c9b9967cc81944d50916a9b9c6c4984", - "urls": [ - "bzz-raw://99e4033d778624992e86f0b6d801a4f6d7b5c0cd5c79c1296be90a051ad5f5af", - "dweb:/ipfs/QmShYmkUqh6pDEeoWadZ24icmCr4C2Xys1uE5boivPmbwf" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { - "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", - "urls": [ - "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", - "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Address.sol": { - "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", - "urls": [ - "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", - "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 352 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_dispatcher", "type": "address", "internalType": "address" }, { "name": "_addressListRegistry", "type": "address", "internalType": "address" }, { "name": "_fundDeployerV4", "type": "address", "internalType": "address" }, { "name": "_protocolFeeRecipient", "type": "address", "internalType": "address" }, { "name": "_protocolFeeBps", "type": "uint256", "internalType": "uint256" }, { "name": "_initializer", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "allowance", "inputs": [ { "name": "owner", "type": "address", "internalType": "address" }, { "name": "spender", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "approve", "inputs": [ { "name": "spender", "type": "address", "internalType": "address" }, { "name": "amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "balanceOf", "inputs": [ { "name": "account", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "decimals", "inputs": [], "outputs": [ { "name": "decimals_", "type": "uint8", "internalType": "uint8" } ], "stateMutability": "view" }, { "type": "function", "name": "decreaseAllowance", "inputs": [ { "name": "spender", "type": "address", "internalType": "address" }, { "name": "subtractedValue", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "deposit", "inputs": [ { "name": "_amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "enterLockedState", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "enterRedeemState", "inputs": [ { "name": "_untrackedAssetsToClaim", "type": "address[]", "internalType": "address[]" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "getAllowedDepositorListId", "inputs": [], "outputs": [ { "name": "allowedDepositorListId_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "getDepositToken", "inputs": [], "outputs": [ { "name": "depositToken_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getFeeBps", "inputs": [], "outputs": [ { "name": "feeBps_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "getFeeExcludesDepositTokenPrincipal", "inputs": [], "outputs": [ { "name": "excludesPrincipal_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "getFeeRecipient", "inputs": [], "outputs": [ { "name": "feeRecipient_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getManager", "inputs": [], "outputs": [ { "name": "manager_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getProtocolFeeStart", "inputs": [], "outputs": [ { "name": "protocolFeeStart_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "getRedeemedAssets", "inputs": [], "outputs": [ { "name": "redeemedAssets_", "type": "address[]", "internalType": "address[]" } ], "stateMutability": "view" }, { "type": "function", "name": "getState", "inputs": [], "outputs": [ { "name": "state_", "type": "uint8", "internalType": "enum ArbitraryTokenPhasedSharesWrapperLib.State" } ], "stateMutability": "view" }, { "type": "function", "name": "getTotalDepositMax", "inputs": [], "outputs": [ { "name": "totalDepositMax_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "getTransfersAllowed", "inputs": [], "outputs": [ { "name": "transfersAllowed_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "getVaultProxy", "inputs": [], "outputs": [ { "name": "vaultProxy_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "increaseAllowance", "inputs": [ { "name": "spender", "type": "address", "internalType": "address" }, { "name": "addedValue", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "init", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_depositToken", "type": "address", "internalType": "address" }, { "name": "_allowedDepositorListId", "type": "uint128", "internalType": "uint128" }, { "name": "_transfersAllowed", "type": "bool", "internalType": "bool" }, { "name": "_totalDepositMax", "type": "uint128", "internalType": "uint128" }, { "name": "_feeRecipient", "type": "address", "internalType": "address" }, { "name": "_feeBps", "type": "uint16", "internalType": "uint16" }, { "name": "_feeExcludesDepositTokenPrincipal", "type": "bool", "internalType": "bool" }, { "name": "_manager", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "name", "inputs": [], "outputs": [ { "name": "name_", "type": "string", "internalType": "string" } ], "stateMutability": "view" }, { "type": "function", "name": "setAllowedDepositorListId", "inputs": [ { "name": "_nextAllowedDepositorListId", "type": "uint128", "internalType": "uint128" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setManager", "inputs": [ { "name": "_nextManager", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTotalDepositMax", "inputs": [ { "name": "_nextTotalDepositMax", "type": "uint128", "internalType": "uint128" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "symbol", "inputs": [], "outputs": [ { "name": "symbol_", "type": "string", "internalType": "string" } ], "stateMutability": "view" }, { "type": "function", "name": "totalSupply", "inputs": [], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "transfer", "inputs": [ { "name": "_recipient", "type": "address", "internalType": "address" }, { "name": "_amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "success_", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "transferFrom", "inputs": [ { "name": "_sender", "type": "address", "internalType": "address" }, { "name": "_recipient", "type": "address", "internalType": "address" }, { "name": "_amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "success_", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "withdraw", "inputs": [ { "name": "_amount", "type": "uint256", "internalType": "uint256" }, { "name": "_additionalAssets", "type": "address[]", "internalType": "address[]" } ], "outputs": [ { "name": "claimedAssets_", "type": "address[]", "internalType": "address[]" }, { "name": "claimedAssetAmounts_", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "nonpayable" }, { "type": "event", "name": "AllowedDepositorListIdSet", "inputs": [ { "name": "listId", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "Approval", "inputs": [ { "name": "owner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "spender", "type": "address", "indexed": true, "internalType": "address" }, { "name": "value", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "Deposited", "inputs": [ { "name": "user", "type": "address", "indexed": true, "internalType": "address" }, { "name": "amount", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "FeePaid", "inputs": [ { "name": "token", "type": "address", "indexed": false, "internalType": "address" }, { "name": "amount", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "Initialized", "inputs": [ { "name": "vaultProxy", "type": "address", "indexed": false, "internalType": "address" }, { "name": "depositToken", "type": "address", "indexed": false, "internalType": "address" }, { "name": "transfersAllowed", "type": "bool", "indexed": false, "internalType": "bool" }, { "name": "feeRecipient", "type": "address", "indexed": false, "internalType": "address" }, { "name": "feeBps", "type": "uint16", "indexed": false, "internalType": "uint16" }, { "name": "feeExcludesDepositTokenPrincipal", "type": "bool", "indexed": false, "internalType": "bool" } ], "anonymous": false }, { "type": "event", "name": "ManagerSet", "inputs": [ { "name": "manager", "type": "address", "indexed": false, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "ProtocolFeePaid", "inputs": [ { "name": "token", "type": "address", "indexed": false, "internalType": "address" }, { "name": "amount", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "ProtocolFeeStarted", "inputs": [], "anonymous": false }, { "type": "event", "name": "StateSet", "inputs": [ { "name": "state", "type": "uint8", "indexed": false, "internalType": "enum ArbitraryTokenPhasedSharesWrapperLib.State" } ], "anonymous": false }, { "type": "event", "name": "TotalDepositMaxSet", "inputs": [ { "name": "totalDepositMax", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "Transfer", "inputs": [ { "name": "from", "type": "address", "indexed": true, "internalType": "address" }, { "name": "to", "type": "address", "indexed": true, "internalType": "address" }, { "name": "value", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "Withdrawn", "inputs": [ { "name": "user", "type": "address", "indexed": true, "internalType": "address" }, { "name": "amount", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "claimedAssets", "type": "address[]", "indexed": false, "internalType": "address[]" }, { "name": "claimedAssetAmounts", "type": "uint256[]", "indexed": false, "internalType": "uint256[]" } ], "anonymous": false } ], "bytecode": { "object": "0x6101606040523480156200001257600080fd5b5060405162003fec38038062003fec833981810160405260c08110156200003857600080fd5b5080516020808301516040808501516060860151608087015160a09097015183518085018552601981527f5772617070656420456e7a796d6520536861726573204c696200000000000000818801908152855180870190965260098652683ba2a72d2316b634b160b91b97860197909752805197989597939692959491939092620000c7916003919062000135565b508051620000dd90600490602084019062000135565b50506005805460ff19166012179055506001600160601b0319606095861b811660805295851b861660a05292841b851660c05291831b841660e05261010091909152811b9091166101205230901b61014052620001d1565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200017857805160ff1916838001178555620001a8565b82800160010185558215620001a8579182015b82811115620001a85782518255916020019190600101906200018b565b50620001b6929150620001ba565b5090565b5b80821115620001b65760008155600101620001bb565b60805160601c60a05160601c60c05160601c60e05160601c610100516101205160601c6101405160601c613db06200023c600039806107775280611692525080612cb0525080612c1e525080611dc3525080611e2c525080611e565250806121955250613db06000f3fe608060405234801561001057600080fd5b50600436106101e55760003560e01c8063907e3df31161010f578063b6b55f25116100a2578063dd62ed3e11610071578063dd62ed3e146106b6578063e9085cc7146106e4578063ecb6abd61461070a578063fb1b5c7b14610762576101e5565b8063b6b55f2514610663578063c980918714610680578063d0ebdbe714610688578063d5009584146106ae576101e5565b8063a161a512116100de578063a161a51214610590578063a457c2d714610598578063a9059cbb146105c4578063ae652af6146105f0576101e5565b8063907e3df31461044c578063913cc04a1461045457806395d89b411461047a57806399eca69f14610482576101e5565b8063313ce567116101875780636edac21b116101565780636edac21b146103a857806370a08231146103b0578063851bda82146103d65780638c43447114610444576101e5565b8063313ce56714610330578063395093511461034e57806340806ae61461037a5780634ccb20c014610384576101e5565b80631865c57d116101c35780631865c57d146102c15780632207b386146102ea57806323b872dd146102f25780632c92809814610328576101e5565b806306fdde03146101ea578063095ea7b31461026757806318160ddd146102a7575b600080fd5b6101f261076a565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561022c578181015183820152602001610214565b50505050905090810190601f1680156102595780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102936004803603604081101561027d57600080fd5b506001600160a01b038135169060200135610956565b604080519115158252519081900360200190f35b6102af610974565b60408051918252519081900360200190f35b6102c961097a565b604051808260028111156102d957fe5b815260200191505060405180910390f35b6102af61098a565b6102936004803603606081101561030857600080fd5b506001600160a01b038135811691602081013590911690604001356109a0565b6102af610a10565b610338610a21565b6040805160ff9092168252519081900360200190f35b6102936004803603604081101561036457600080fd5b506001600160a01b038135169060200135610a26565b610382610a79565b005b61038c610e59565b604080516001600160a01b039092168252519081900360200190f35b610293610e68565b6102af600480360360208110156103c657600080fd5b50356001600160a01b0316610e78565b610382600480360360208110156103ec57600080fd5b810190602081018135600160201b81111561040657600080fd5b82018360208201111561041857600080fd5b803590602001918460208302840111600160201b8311171561043957600080fd5b509092509050610e97565b6102af6115eb565b6102936115fa565b6103826004803603602081101561046a57600080fd5b50356001600160801b031661160a565b6101f2611685565b6104f76004803603604081101561049857600080fd5b81359190810190604081016020820135600160201b8111156104b957600080fd5b8201836020820111156104cb57600080fd5b803590602001918460208302840111600160201b831117156104ec57600080fd5b509092509050611828565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b8381101561053b578181015183820152602001610523565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561057a578181015183820152602001610562565b5050505090500194505050505060405180910390f35b6102af611cd8565b610293600480360360408110156105ae57600080fd5b506001600160a01b038135169060200135611ceb565b610293600480360360408110156105da57600080fd5b506001600160a01b038135169060200135611d53565b610382600480360361012081101561060757600080fd5b506001600160a01b03813581169160208101358216916001600160801b036040830135811692606081013515159260808201359092169160a082013581169161ffff60c0820135169160e0820135151591610100013516611db8565b6103826004803603602081101561067957600080fd5b50356120f5565b61038c6123f4565b6103826004803603602081101561069e57600080fd5b50356001600160a01b0316612403565b61038c612476565b6102af600480360360408110156106cc57600080fd5b506001600160a01b038135811691602001351661248a565b610382600480360360208110156106fa57600080fd5b50356001600160801b03166124b5565b610712612528565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561074e578181015183820152602001610736565b505050509050019250505060405180910390f35b61038c61258a565b6060306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156107ac576107a5612599565b9050610953565b6107b46123f4565b6001600160a01b03166306fdde036040518163ffffffff1660e01b815260040160006040518083038186803b1580156107ec57600080fd5b505afa158015610800573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561082957600080fd5b8101908080516040519392919084600160201b82111561084857600080fd5b90830190602082018581111561085d57600080fd5b8251600160201b81118282018810171561087657600080fd5b82525081516020918201929091019080838360005b838110156108a357818101518382015260200161088b565b50505050905090810190601f1680156108d05780820380516001836020036101000a031916815260200191505b5060405250505060405160200180806702bb930b83832b2160c51b81525060080182805190602001908083835b6020831061091c5780518252601f1990920191602091820191016108fd565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405160208183030381529060405290505b90565b600061096a610963612626565b848461262a565b5060015b92915050565b60025490565b600754600160a01b900460ff1690565b600854600160801b90046001600160801b031690565b60006109aa610e68565b6109fb576040805162461bcd60e51b815260206004820181905260248201527f6f6e6c795472616e7366657273416c6c6f7765643a20446973616c6c6f776564604482015290519081900360640190fd5b610a06848484612716565b90505b9392505050565b600954600160c01b900461ffff1690565b601290565b600061096a610a33612626565b84610a748560016000610a44612626565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490612798565b61262a565b6000610a836123f4565b9050610a8f33826127f2565b6000610a9961097a565b6002811115610aa457fe5b14610af6576040805162461bcd60e51b815260206004820152601f60248201527f656e7465724c6f636b656453746174653a20496e76616c696420737461746500604482015290519081900360640190fd5b6000816001600160a01b0316635a53e3486040518163ffffffff1660e01b815260040160206040518083038186803b158015610b3157600080fd5b505afa158015610b45573d6000803e3d6000fd5b505050506040513d6020811015610b5b57600080fd5b505160408051637134e1eb60e11b815290519192506000916001600160a01b0384169163e269c3d6916004808301926020929190829003018186803b158015610ba357600080fd5b505afa158015610bb7573d6000803e3d6000fd5b505050506040513d6020811015610bcd57600080fd5b5051604080516370a0823160e01b815230600482015290519192506000916001600160a01b038416916370a08231916024808301926020929190829003018186803b158015610c1b57600080fd5b505afa158015610c2f573d6000803e3d6000fd5b505050506040513d6020811015610c4557600080fd5b50519050610c5d6001600160a01b0383168483612871565b6000836001600160a01b031663beebc5da8360016040518363ffffffff1660e01b81526004018083815260200182815260200192505050602060405180830381600087803b158015610cae57600080fd5b505af1158015610cc2573d6000803e3d6000fd5b505050506040513d6020811015610cd857600080fd5b5051604080516318160ddd60e01b81529051919250600091610d589184916001600160a01b038a16916318160ddd916004808301926020929190829003018186803b158015610d2657600080fd5b505afa158015610d3a573d6000803e3d6000fd5b505050506040513d6020811015610d5057600080fd5b505190612989565b9050801580610d715750610d6e816127106129e6565b82115b610dac5760405162461bcd60e51b8152600401808060200182810382526024815260200180613c236024913960400191505060405180910390fd5b610db66001612a3f565b6000610dc061258a565b9050610e5087826001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610e1357600080fd5b505afa158015610e27573d6000803e3d6000fd5b505050506040513d6020811015610e3d57600080fd5b50516001600160a01b0384169190612aa8565b50505050505050565b6009546001600160a01b031690565b600954600160e01b900460ff1690565b6001600160a01b0381166000908152602081905260409020545b919050565b6000610ea16123f4565b9050610ead33826127f2565b6001610eb761097a565b6002811115610ec257fe5b14610f14576040805162461bcd60e51b815260206004820152601f60248201527f656e74657252656465656d53746174653a20496e76616c696420737461746500604482015290519081900360640190fd5b6060816001600160a01b031663b8b7f1476040518163ffffffff1660e01b815260040160006040518083038186803b158015610f4f57600080fd5b505afa158015610f63573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526020811015610f8c57600080fd5b8101908080516040519392919084600160201b821115610fab57600080fd5b908301906020820185811115610fc057600080fd5b82518660208202830111600160201b82111715610fdc57600080fd5b82525081516020918201928201910280838360005b83811015611009578181015183820152602001610ff1565b50505050905001604052505050905060005b815181101561123457606082828151811061103257fe5b60200260200101516001600160a01b03166380daddb86040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561107457600080fd5b505af1158015611088573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160409081528110156110b157600080fd5b8101908080516040519392919084600160201b8211156110d057600080fd5b9083019060208201858111156110e557600080fd5b82518660208202830111600160201b8211171561110157600080fd5b82525081516020918201928201910280838360005b8381101561112e578181015183820152602001611116565b5050505090500160405260200180516040519392919084600160201b82111561115657600080fd5b90830190602082018581111561116b57600080fd5b82518660208202830111600160201b8211171561118757600080fd5b82525081516020918201928201910280838360005b838110156111b457818101518382015260200161119c565b5050505090500160405250505091505060005b815181101561122a578181815181106111dc57fe5b60200260200101516000146112225760405162461bcd60e51b8152600401808060200182810382526032815260200180613bc86032913960400191505060405180910390fd5b6001016111c7565b505060010161101b565b50600061123f6123f4565b6001600160a01b0316635a53e3486040518163ffffffff1660e01b815260040160206040518083038186803b15801561127757600080fd5b505afa15801561128b573d6000803e3d6000fd5b505050506040513d60208110156112a157600080fd5b5051905060606112ee6112b261258a565b8787808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509293925050612afa9050565b90506060806001600160a01b038416636af8e7eb30600019866000604051908082528060200260200182016040528015611332578160200160208202803683370190505b506040518563ffffffff1660e01b815260040180856001600160a01b031681526020018481526020018060200180602001838103835285818151815260200191508051906020019060200280838360005b8381101561139b578181015183820152602001611383565b50505050905001838103825284818151815260200191508051906020019060200280838360005b838110156113da5781810151838201526020016113c2565b505050509050019650505050505050600060405180830381600087803b15801561140357600080fd5b505af1158015611417573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604090815281101561144057600080fd5b8101908080516040519392919084600160201b82111561145f57600080fd5b90830190602082018581111561147457600080fd5b82518660208202830111600160201b8211171561149057600080fd5b82525081516020918201928201910280838360005b838110156114bd5781810151838201526020016114a5565b5050505090500160405260200180516040519392919084600160201b8211156114e557600080fd5b9083019060208201858111156114fa57600080fd5b82518660208202830111600160201b8211171561151657600080fd5b82525081516020918201928201910280838360005b8381101561154357818101518382015260200161152b565b5050505090500160405250505091509150606060005b83518110156115af57600083828151811061157057fe5b602002602001015111156115a7576115a484828151811061158d57fe5b602002602001015183612b1890919063ffffffff16565b91505b600101611559565b5080516115c390600a906020840190613a8e565b506115cd81612be3565b6115d681612d61565b6115e06002612a3f565b505050505050505050565b6008546001600160801b031690565b600954600160d01b900460ff1690565b61161a6116156123f4565b612f68565b6001600160a01b0316336001600160a01b031614611679576040805162461bcd60e51b81526020600482015260176024820152761bdb9b1e53dddb995c8e88155b985d5d1a1bdc9a5e9959604a1b604482015290519081900360640190fd5b61168281612fd5565b50565b6060306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156116c0576107a5613028565b6116c86123f4565b6001600160a01b03166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b15801561170057600080fd5b505afa158015611714573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561173d57600080fd5b8101908080516040519392919084600160201b82111561175c57600080fd5b90830190602082018581111561177157600080fd5b8251600160201b81118282018810171561178a57600080fd5b82525081516020918201929091019080838360005b838110156117b757818101518382015260200161179f565b50505050905090810190601f1680156117e45780820380516001836020036101000a031916815260200191505b506040525050506040516020018080607760f81b81525060010182805190602001908083836020831061091c5780518252601f1990920191602091820191016108fd565b6009546060908190600160d81b900460ff161561188c576040805162461bcd60e51b815260206004820152601860248201527f6e6f6e5265656e7472616e743a205265656e7472616e63790000000000000000604482015290519081900360640190fd5b6009805460ff60d81b1916600160d81b17905560006118a961097a565b905060018160028111156118b957fe5b141561190c576040805162461bcd60e51b815260206004820152601960248201527f77697468647261773a20556e616c6c6f77656420537461746500000000000000604482015290519081900360640190fd5b600081600281111561191a57fe5b14156119b757831561195d5760405162461bcd60e51b8152600401808060200182810382526029815260200180613bfa6029913960400191505060405180910390fd5b604080516001808252818301909252906020808301908036833701905050925061198561258a565b8360008151811061199257fe5b60200260200101906001600160a01b031690816001600160a01b031681525050611a77565b6119f385858080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061308992505050565b611a2e5760405162461bcd60e51b8152600401808060200182810382526025815260200180613c906025913960400191505060405180910390fd5b611a74858580806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250611a6e9250612528915050565b90613113565b92505b6000611a81610974565b9050611a8d3388613267565b835167ffffffffffffffff81118015611aa557600080fd5b50604051908082528060200260200182016040528015611acf578160200160208202803683370190505b50925060005b8451811015611bf1576000858281518110611aec57fe5b60200260200101519050611b8383611b7d8b846001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015611b4b57600080fd5b505afa158015611b5f573d6000803e3d6000fd5b505050506040513d6020811015611b7557600080fd5b5051906129e6565b90613363565b858381518110611b8f57fe5b6020026020010181815250506000858381518110611ba957fe5b60200260200101511115611be857611be833868481518110611bc757fe5b6020026020010151836001600160a01b0316612aa89092919063ffffffff16565b50600101611ad5565b50336001600160a01b03167f3e4e319c3be0696253cf2e6260a96ddf9a8fa8cfc0e7186500bbcfcef899194d888686604051808481526020018060200180602001838103835285818151815260200191508051906020019060200280838360005b83811015611c6a578181015183820152602001611c52565b50505050905001838103825284818151815260200191508051906020019060200280838360005b83811015611ca9578181015183820152602001611c91565b505050509050019550505050505060405180910390a250506009805460ff60d81b191690559094909350915050565b600954600160a01b900463ffffffff1690565b600061096a611cf8612626565b84610a7485604051806060016040528060258152602001613d7f6025913960016000611d22612626565b6001600160a01b03908116825260208083019390935260409182016000908120918d168152925290205491906133ca565b6000611d5d610e68565b611dae576040805162461bcd60e51b815260206004820181905260248201527f6f6e6c795472616e7366657273416c6c6f7765643a20446973616c6c6f776564604482015290519081900360640190fd5b610a098383613461565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611e2a576040805162461bcd60e51b81526020600482015260126024820152711a5b9a5d0e88155b985d5d1a1bdc9a5e995960721b604482015290519081900360640190fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316633d7c74f88b6040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015611ec157600080fd5b505afa158015611ed5573d6000803e3d6000fd5b505050506040513d6020811015611eeb57600080fd5b50516001600160a01b031614611f48576040805162461bcd60e51b815260206004820152601760248201527f696e69743a20426164207661756c742076657273696f6e000000000000000000604482015290519081900360640190fd5b600780546001600160a01b03808b166001600160a01b03199283161790925560068054928c16929091169190911790556001600160801b03871615611f9057611f9087613475565b6001600160a01b03811615611fa857611fa8816134d2565b6001600160801b03851615611fc057611fc085612fd5565b8515611fda576009805460ff60e01b1916600160e01b1790555b6001600160a01b03841615612085576127108361ffff161061203c576040805162461bcd60e51b81526020600482015260166024820152751a5b9a5d0e8813585e0819995948195e18d95959195960521b604482015290519081900360640190fd5b6009805461ffff60c01b1916600160c01b61ffff861602176001600160a01b0319166001600160a01b0386161790558115612085576009805460ff60d01b1916600160d01b1790555b604080516001600160a01b03808c168252808b166020830152881515828401528616606082015261ffff8516608082015283151560a082015290517fbd8aba18aec1b83d675f3b473e0bfb62d8e3a73b7c786d663bee96d559b450359181900360c00190a1505050505050505050565b60006120ff61097a565b600281111561210a57fe5b1461215c576040805162461bcd60e51b815260206004820152601860248201527f6465706f7369743a20556e616c6c6f7765642053746174650000000000000000604482015290519081900360640190fd5b60006121666115eb565b9050801561225857604080516307158c8160e21b81526004810183905233602482015290516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691631c563204916044808301926020929190829003018186803b1580156121db57600080fd5b505afa1580156121ef573d6000803e3d6000fd5b505050506040513d602081101561220557600080fd5b5051612258576040805162461bcd60e51b815260206004820152601960248201527f6465706f7369743a20556e616c6c6f7765642063616c6c657200000000000000604482015290519081900360640190fd5b600061226261258a565b9050600061226e61098a565b9050801561234557806122fa85846001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156122c857600080fd5b505afa1580156122dc573d6000803e3d6000fd5b505050506040513d60208110156122f257600080fd5b505190612798565b1115612345576040805162461bcd60e51b815260206004820152601560248201527419195c1bdcda5d0e8813585e08195e18d959591959605a1b604482015290519081900360640190fd5b61234d610974565b612399576009805463ffffffff60a01b1916600160a01b4263ffffffff16021790556040517f5798aa338c5b99bf36b74070080d9d2efadbd4a0c383148e08e3daa7219ab00c90600090a15b6123a3338561352e565b6123b86001600160a01b03831633308761361e565b60408051858152905133917f2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c4919081900360200190a250505050565b6006546001600160a01b031690565b61240e6116156123f4565b6001600160a01b0316336001600160a01b03161461246d576040805162461bcd60e51b81526020600482015260176024820152761bdb9b1e53dddb995c8e88155b985d5d1a1bdc9a5e9959604a1b604482015290519081900360640190fd5b611682816134d2565b60055461010090046001600160a01b031690565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6124c06116156123f4565b6001600160a01b0316336001600160a01b03161461251f576040805162461bcd60e51b81526020600482015260176024820152761bdb9b1e53dddb995c8e88155b985d5d1a1bdc9a5e9959604a1b604482015290519081900360640190fd5b61168281613475565b6060600a80548060200260200160405190810160405280929190818152602001828054801561258057602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311612562575b5050505050905090565b6007546001600160a01b031690565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156125805780601f106125fa57610100808354040283529160200191612580565b820191906000526020600020905b81548152906001019060200180831161260857509395945050505050565b3390565b6001600160a01b03831661266f5760405162461bcd60e51b8152600401808060200182810382526024815260200180613cfb6024913960400191505060405180910390fd5b6001600160a01b0382166126b45760405162461bcd60e51b8152600401808060200182810382526022815260200180613b586022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b600061272384848461367e565b61278e8461272f612626565b610a7485604051806060016040528060288152602001613c68602891396001600160a01b038a1660009081526001602052604081209061276d612626565b6001600160a01b0316815260208101919091526040016000205491906133ca565b5060019392505050565b600082820183811015610a09576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6127fa612476565b6001600160a01b0316826001600160a01b03161480612832575061281d81612f68565b6001600160a01b0316826001600160a01b0316145b61286d5760405162461bcd60e51b8152600401808060200182810382526028815260200180613b7a6028913960400191505060405180910390fd5b5050565b8015806128f7575060408051636eb1769f60e11b81523060048201526001600160a01b03848116602483015291519185169163dd62ed3e91604480820192602092909190829003018186803b1580156128c957600080fd5b505afa1580156128dd573d6000803e3d6000fd5b505050506040513d60208110156128f357600080fd5b5051155b6129325760405162461bcd60e51b8152600401808060200182810382526036815260200180613d496036913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526129849084906137d9565b505050565b6000828211156129e0576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6000826129f55750600061096e565b82820282848281612a0257fe5b0414610a095760405162461bcd60e51b8152600401808060200182810382526021815260200180613c476021913960400191505060405180910390fd5b6007805482919060ff60a01b1916600160a01b836002811115612a5e57fe5b02179055507fc635bb75c392e81c891d50372a48cfa81b6799ac6d594cb4c28a8c5e8bef6e9b8160405180826002811115612a9557fe5b815260200191505060405180910390a150565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526129849084906137d9565b6060612b06838361388a565b15612b1257508161096e565b610a0983835b6060825160010167ffffffffffffffff81118015612b3557600080fd5b50604051908082528060200260200182016040528015612b5f578160200160208202803683370190505b50905060005b8351811015612bae57838181518110612b7a57fe5b6020026020010151828281518110612b8e57fe5b6001600160a01b0390921660209283029190910190910152600101612b65565b508181845181518110612bbd57fe5b60200260200101906001600160a01b031690816001600160a01b03168152505092915050565b6000612bf7612bf0611cd8565b4290612989565b905060005b8251811015612984576000612ca36301e187e0611b7d612710611b7d87612c9d7f00000000000000000000000000000000000000000000000000000000000000008b8a81518110612c4957fe5b60200260200101516001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015611b4b57600080fd5b906129e6565b90508015612d5857612cfc7f000000000000000000000000000000000000000000000000000000000000000082868581518110612cdc57fe5b60200260200101516001600160a01b0316612aa89092919063ffffffff16565b7fb87e607f6030a23ed9b7dac1a717610f3a3b07325269f18808ba763bdcefe7ae848381518110612d2957fe5b60200260200101518260405180836001600160a01b031681526020018281526020019250505060405180910390a15b50600101612bfc565b6000612d6b610a10565b905080612d785750611682565b6000612d82610e59565b90506000612d8e6115fa565b15612d9e57612d9b61258a565b90505b60005b8451811015612f61576000858281518110612db857fe5b602002602001015190506000836001600160a01b0316826001600160a01b03161415612e6e57612e67826001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015612e2e57600080fd5b505afa158015612e42573d6000803e3d6000fd5b505050506040513d6020811015612e5857600080fd5b5051612e62610974565b6138e0565b9050612ee3565b604080516370a0823160e01b815230600482015290516001600160a01b038416916370a08231916024808301926020929190829003018186803b158015612eb457600080fd5b505afa158015612ec8573d6000803e3d6000fd5b505050506040513d6020811015612ede57600080fd5b505190505b6000612ef5612710611b7d848a6129e6565b90508015612f5657612f116001600160a01b0384168783612aa8565b604080516001600160a01b03851681526020810183905281517f075a2720282fdf622141dae0b048ef90a21a7e57c134c76912d19d006b3b3f6f929181900390910190a15b505050600101612da1565b5050505050565b6000816001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b158015612fa357600080fd5b505afa158015612fb7573d6000803e3d6000fd5b505050506040513d6020811015612fcd57600080fd5b505192915050565b600880546001600160801b03808416600160801b8102919092161790915560408051918252517f0e280fa5ecedea20784caab60fae774807664c009e5e229629e5eef871207db69181900360200190a150565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156125805780601f106125fa57610100808354040283529160200191612580565b6000600182511161309c57506001610e92565b815160005b8181101561278e57600181015b8281101561310a578481815181106130c257fe5b60200260200101516001600160a01b03168583815181106130df57fe5b60200260200101516001600160a01b031614156131025760009350505050610e92565b6001016130ae565b506001016130a1565b60606000805b83518110156131525761313f8585838151811061313257fe5b602002602001015161388a565b61314a576001909101905b600101613119565b5080613161578391505061096e565b8084510167ffffffffffffffff8111801561317b57600080fd5b506040519080825280602002602001820160405280156131a5578160200160208202803683370190505b50915060005b84518110156131f4578481815181106131c057fe5b60200260200101518382815181106131d457fe5b6001600160a01b03909216602092830291909101909101526001016131ab565b50835160005b845181101561325e576132138686838151811061313257fe5b6132565784818151811061322357fe5b602002602001015184838151811061323757fe5b6001600160a01b03909216602092830291909101909101526001909101905b6001016131fa565b50505092915050565b6001600160a01b0382166132ac5760405162461bcd60e51b8152600401808060200182810382526021815260200180613cb56021913960400191505060405180910390fd5b6132b882600083612984565b6132f581604051806060016040528060228152602001613b36602291396001600160a01b03851660009081526020819052604090205491906133ca565b6001600160a01b03831660009081526020819052604090205560025461331b9082612989565b6002556040805182815290516000916001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b60008082116133b9576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b8183816133c257fe5b049392505050565b600081848411156134595760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561341e578181015183820152602001613406565b50505050905090810190601f16801561344b5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600061096a61346e612626565b848461367e565b600880546001600160801b0383166fffffffffffffffffffffffffffffffff19909116811790915560408051918252517f3083d42989efabd593f083885067da3d51d2c2d68342a98d68a55eff8beed8d69181900360200190a150565b600580546001600160a01b0383166101008102610100600160a81b03199092169190911790915560408051918252517f60a0f5b9f9e81e98216071b85826681c796256fe3d1354ecb675580fba64fa699181900360200190a150565b6001600160a01b038216613589576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b61359560008383612984565b6002546135a29082612798565b6002556001600160a01b0382166000908152602081905260409020546135c89082612798565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b604080516001600160a01b0380861660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b1790526136789085906137d9565b50505050565b6001600160a01b0383166136c35760405162461bcd60e51b8152600401808060200182810382526025815260200180613cd66025913960400191505060405180910390fd5b6001600160a01b0382166137085760405162461bcd60e51b8152600401808060200182810382526023815260200180613b136023913960400191505060405180910390fd5b613713838383612984565b61375081604051806060016040528060268152602001613ba2602691396001600160a01b03861660009081526020819052604090205491906133ca565b6001600160a01b03808516600090815260208190526040808220939093559084168152205461377f9082612798565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b606061382e826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166138fc9092919063ffffffff16565b8051909150156129845780806020019051602081101561384d57600080fd5b50516129845760405162461bcd60e51b815260040180806020018281038252602a815260200180613d1f602a913960400191505060405180910390fd5b6000805b83518110156138d6578381815181106138a357fe5b60200260200101516001600160a01b0316836001600160a01b031614156138ce57600191505061096e565b60010161388e565b5060009392505050565b6000818311156138f3575080820361096e565b50600092915050565b6060610a0684846000858561391085613a22565b613961576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b602083106139a05780518252601f199092019160209182019101613981565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114613a02576040519150601f19603f3d011682016040523d82523d6000602084013e613a07565b606091505b5091509150613a17828286613a28565b979650505050505050565b3b151590565b60608315613a37575081610a09565b825115613a475782518084602001fd5b60405162461bcd60e51b815260206004820181815284516024840152845185939192839260440191908501908083836000831561341e578181015183820152602001613406565b828054828255906000526020600020908101928215613ae3579160200282015b82811115613ae357825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190613aae565b50613aef929150613af3565b5090565b5b80821115613aef5780546001600160a01b0319168155600101613af456fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a20617070726f766520746f20746865207a65726f20616464726573735f5f76616c696461746549734d616e616765724f724f776e65723a20556e617574686f72697a656445524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365656e74657252656465656d53746174653a204e6f6e2d7a65726f2076616c75652065787465726e616c20706f736974696f6e77697468647261773a204f6e6c79206465706f73697420746f6b656e20776974686472617761626c65656e7465724c6f636b656453746174653a204d696e20736861726573206e6f74206d6574536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636577697468647261773a204475706c6963617465205f6164646974696f6e616c41737365747345524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f20616464726573735361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa164736f6c634300060c000a", "sourceMap": "2151:23830:352:-:0;;;4682:636;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4682:636:352;;;;;;;;;;;;;;;;;;;;;;;;;1958:145:447;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1958:145:447;;;;;;;2032:13;;4682:636:352;;;;;;;;;;;1958:145:447;;2032:13;;:5;;1958:145;2032:13;:::i;:::-;-1:-1:-1;2055:17:447;;;;:7;;:17;;;;;:::i;:::-;-1:-1:-1;;2082:9:447;:14;;-1:-1:-1;;2082:14:447;2094:2;2082:14;;;-1:-1:-1;;;;4967:74:352;;;;;::::1;::::0;5051:46;;;;;::::1;::::0;5107:34;;;;;::::1;::::0;5151:26;;;;;::::1;::::0;2082:14:447;5187:34:352;;;;5231:46;;;;;::::1;::::0;5306:4:::1;5287:24:::0;::::1;;::::0;2151:23830;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2151:23830:352;;;-1:-1:-1;2151:23830:352;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106101e55760003560e01c8063907e3df31161010f578063b6b55f25116100a2578063dd62ed3e11610071578063dd62ed3e146106b6578063e9085cc7146106e4578063ecb6abd61461070a578063fb1b5c7b14610762576101e5565b8063b6b55f2514610663578063c980918714610680578063d0ebdbe714610688578063d5009584146106ae576101e5565b8063a161a512116100de578063a161a51214610590578063a457c2d714610598578063a9059cbb146105c4578063ae652af6146105f0576101e5565b8063907e3df31461044c578063913cc04a1461045457806395d89b411461047a57806399eca69f14610482576101e5565b8063313ce567116101875780636edac21b116101565780636edac21b146103a857806370a08231146103b0578063851bda82146103d65780638c43447114610444576101e5565b8063313ce56714610330578063395093511461034e57806340806ae61461037a5780634ccb20c014610384576101e5565b80631865c57d116101c35780631865c57d146102c15780632207b386146102ea57806323b872dd146102f25780632c92809814610328576101e5565b806306fdde03146101ea578063095ea7b31461026757806318160ddd146102a7575b600080fd5b6101f261076a565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561022c578181015183820152602001610214565b50505050905090810190601f1680156102595780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102936004803603604081101561027d57600080fd5b506001600160a01b038135169060200135610956565b604080519115158252519081900360200190f35b6102af610974565b60408051918252519081900360200190f35b6102c961097a565b604051808260028111156102d957fe5b815260200191505060405180910390f35b6102af61098a565b6102936004803603606081101561030857600080fd5b506001600160a01b038135811691602081013590911690604001356109a0565b6102af610a10565b610338610a21565b6040805160ff9092168252519081900360200190f35b6102936004803603604081101561036457600080fd5b506001600160a01b038135169060200135610a26565b610382610a79565b005b61038c610e59565b604080516001600160a01b039092168252519081900360200190f35b610293610e68565b6102af600480360360208110156103c657600080fd5b50356001600160a01b0316610e78565b610382600480360360208110156103ec57600080fd5b810190602081018135600160201b81111561040657600080fd5b82018360208201111561041857600080fd5b803590602001918460208302840111600160201b8311171561043957600080fd5b509092509050610e97565b6102af6115eb565b6102936115fa565b6103826004803603602081101561046a57600080fd5b50356001600160801b031661160a565b6101f2611685565b6104f76004803603604081101561049857600080fd5b81359190810190604081016020820135600160201b8111156104b957600080fd5b8201836020820111156104cb57600080fd5b803590602001918460208302840111600160201b831117156104ec57600080fd5b509092509050611828565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b8381101561053b578181015183820152602001610523565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561057a578181015183820152602001610562565b5050505090500194505050505060405180910390f35b6102af611cd8565b610293600480360360408110156105ae57600080fd5b506001600160a01b038135169060200135611ceb565b610293600480360360408110156105da57600080fd5b506001600160a01b038135169060200135611d53565b610382600480360361012081101561060757600080fd5b506001600160a01b03813581169160208101358216916001600160801b036040830135811692606081013515159260808201359092169160a082013581169161ffff60c0820135169160e0820135151591610100013516611db8565b6103826004803603602081101561067957600080fd5b50356120f5565b61038c6123f4565b6103826004803603602081101561069e57600080fd5b50356001600160a01b0316612403565b61038c612476565b6102af600480360360408110156106cc57600080fd5b506001600160a01b038135811691602001351661248a565b610382600480360360208110156106fa57600080fd5b50356001600160801b03166124b5565b610712612528565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561074e578181015183820152602001610736565b505050509050019250505060405180910390f35b61038c61258a565b6060306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156107ac576107a5612599565b9050610953565b6107b46123f4565b6001600160a01b03166306fdde036040518163ffffffff1660e01b815260040160006040518083038186803b1580156107ec57600080fd5b505afa158015610800573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561082957600080fd5b8101908080516040519392919084600160201b82111561084857600080fd5b90830190602082018581111561085d57600080fd5b8251600160201b81118282018810171561087657600080fd5b82525081516020918201929091019080838360005b838110156108a357818101518382015260200161088b565b50505050905090810190601f1680156108d05780820380516001836020036101000a031916815260200191505b5060405250505060405160200180806702bb930b83832b2160c51b81525060080182805190602001908083835b6020831061091c5780518252601f1990920191602091820191016108fd565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405160208183030381529060405290505b90565b600061096a610963612626565b848461262a565b5060015b92915050565b60025490565b600754600160a01b900460ff1690565b600854600160801b90046001600160801b031690565b60006109aa610e68565b6109fb576040805162461bcd60e51b815260206004820181905260248201527f6f6e6c795472616e7366657273416c6c6f7765643a20446973616c6c6f776564604482015290519081900360640190fd5b610a06848484612716565b90505b9392505050565b600954600160c01b900461ffff1690565b601290565b600061096a610a33612626565b84610a748560016000610a44612626565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490612798565b61262a565b6000610a836123f4565b9050610a8f33826127f2565b6000610a9961097a565b6002811115610aa457fe5b14610af6576040805162461bcd60e51b815260206004820152601f60248201527f656e7465724c6f636b656453746174653a20496e76616c696420737461746500604482015290519081900360640190fd5b6000816001600160a01b0316635a53e3486040518163ffffffff1660e01b815260040160206040518083038186803b158015610b3157600080fd5b505afa158015610b45573d6000803e3d6000fd5b505050506040513d6020811015610b5b57600080fd5b505160408051637134e1eb60e11b815290519192506000916001600160a01b0384169163e269c3d6916004808301926020929190829003018186803b158015610ba357600080fd5b505afa158015610bb7573d6000803e3d6000fd5b505050506040513d6020811015610bcd57600080fd5b5051604080516370a0823160e01b815230600482015290519192506000916001600160a01b038416916370a08231916024808301926020929190829003018186803b158015610c1b57600080fd5b505afa158015610c2f573d6000803e3d6000fd5b505050506040513d6020811015610c4557600080fd5b50519050610c5d6001600160a01b0383168483612871565b6000836001600160a01b031663beebc5da8360016040518363ffffffff1660e01b81526004018083815260200182815260200192505050602060405180830381600087803b158015610cae57600080fd5b505af1158015610cc2573d6000803e3d6000fd5b505050506040513d6020811015610cd857600080fd5b5051604080516318160ddd60e01b81529051919250600091610d589184916001600160a01b038a16916318160ddd916004808301926020929190829003018186803b158015610d2657600080fd5b505afa158015610d3a573d6000803e3d6000fd5b505050506040513d6020811015610d5057600080fd5b505190612989565b9050801580610d715750610d6e816127106129e6565b82115b610dac5760405162461bcd60e51b8152600401808060200182810382526024815260200180613c236024913960400191505060405180910390fd5b610db66001612a3f565b6000610dc061258a565b9050610e5087826001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610e1357600080fd5b505afa158015610e27573d6000803e3d6000fd5b505050506040513d6020811015610e3d57600080fd5b50516001600160a01b0384169190612aa8565b50505050505050565b6009546001600160a01b031690565b600954600160e01b900460ff1690565b6001600160a01b0381166000908152602081905260409020545b919050565b6000610ea16123f4565b9050610ead33826127f2565b6001610eb761097a565b6002811115610ec257fe5b14610f14576040805162461bcd60e51b815260206004820152601f60248201527f656e74657252656465656d53746174653a20496e76616c696420737461746500604482015290519081900360640190fd5b6060816001600160a01b031663b8b7f1476040518163ffffffff1660e01b815260040160006040518083038186803b158015610f4f57600080fd5b505afa158015610f63573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526020811015610f8c57600080fd5b8101908080516040519392919084600160201b821115610fab57600080fd5b908301906020820185811115610fc057600080fd5b82518660208202830111600160201b82111715610fdc57600080fd5b82525081516020918201928201910280838360005b83811015611009578181015183820152602001610ff1565b50505050905001604052505050905060005b815181101561123457606082828151811061103257fe5b60200260200101516001600160a01b03166380daddb86040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561107457600080fd5b505af1158015611088573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160409081528110156110b157600080fd5b8101908080516040519392919084600160201b8211156110d057600080fd5b9083019060208201858111156110e557600080fd5b82518660208202830111600160201b8211171561110157600080fd5b82525081516020918201928201910280838360005b8381101561112e578181015183820152602001611116565b5050505090500160405260200180516040519392919084600160201b82111561115657600080fd5b90830190602082018581111561116b57600080fd5b82518660208202830111600160201b8211171561118757600080fd5b82525081516020918201928201910280838360005b838110156111b457818101518382015260200161119c565b5050505090500160405250505091505060005b815181101561122a578181815181106111dc57fe5b60200260200101516000146112225760405162461bcd60e51b8152600401808060200182810382526032815260200180613bc86032913960400191505060405180910390fd5b6001016111c7565b505060010161101b565b50600061123f6123f4565b6001600160a01b0316635a53e3486040518163ffffffff1660e01b815260040160206040518083038186803b15801561127757600080fd5b505afa15801561128b573d6000803e3d6000fd5b505050506040513d60208110156112a157600080fd5b5051905060606112ee6112b261258a565b8787808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509293925050612afa9050565b90506060806001600160a01b038416636af8e7eb30600019866000604051908082528060200260200182016040528015611332578160200160208202803683370190505b506040518563ffffffff1660e01b815260040180856001600160a01b031681526020018481526020018060200180602001838103835285818151815260200191508051906020019060200280838360005b8381101561139b578181015183820152602001611383565b50505050905001838103825284818151815260200191508051906020019060200280838360005b838110156113da5781810151838201526020016113c2565b505050509050019650505050505050600060405180830381600087803b15801561140357600080fd5b505af1158015611417573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604090815281101561144057600080fd5b8101908080516040519392919084600160201b82111561145f57600080fd5b90830190602082018581111561147457600080fd5b82518660208202830111600160201b8211171561149057600080fd5b82525081516020918201928201910280838360005b838110156114bd5781810151838201526020016114a5565b5050505090500160405260200180516040519392919084600160201b8211156114e557600080fd5b9083019060208201858111156114fa57600080fd5b82518660208202830111600160201b8211171561151657600080fd5b82525081516020918201928201910280838360005b8381101561154357818101518382015260200161152b565b5050505090500160405250505091509150606060005b83518110156115af57600083828151811061157057fe5b602002602001015111156115a7576115a484828151811061158d57fe5b602002602001015183612b1890919063ffffffff16565b91505b600101611559565b5080516115c390600a906020840190613a8e565b506115cd81612be3565b6115d681612d61565b6115e06002612a3f565b505050505050505050565b6008546001600160801b031690565b600954600160d01b900460ff1690565b61161a6116156123f4565b612f68565b6001600160a01b0316336001600160a01b031614611679576040805162461bcd60e51b81526020600482015260176024820152761bdb9b1e53dddb995c8e88155b985d5d1a1bdc9a5e9959604a1b604482015290519081900360640190fd5b61168281612fd5565b50565b6060306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156116c0576107a5613028565b6116c86123f4565b6001600160a01b03166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b15801561170057600080fd5b505afa158015611714573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561173d57600080fd5b8101908080516040519392919084600160201b82111561175c57600080fd5b90830190602082018581111561177157600080fd5b8251600160201b81118282018810171561178a57600080fd5b82525081516020918201929091019080838360005b838110156117b757818101518382015260200161179f565b50505050905090810190601f1680156117e45780820380516001836020036101000a031916815260200191505b506040525050506040516020018080607760f81b81525060010182805190602001908083836020831061091c5780518252601f1990920191602091820191016108fd565b6009546060908190600160d81b900460ff161561188c576040805162461bcd60e51b815260206004820152601860248201527f6e6f6e5265656e7472616e743a205265656e7472616e63790000000000000000604482015290519081900360640190fd5b6009805460ff60d81b1916600160d81b17905560006118a961097a565b905060018160028111156118b957fe5b141561190c576040805162461bcd60e51b815260206004820152601960248201527f77697468647261773a20556e616c6c6f77656420537461746500000000000000604482015290519081900360640190fd5b600081600281111561191a57fe5b14156119b757831561195d5760405162461bcd60e51b8152600401808060200182810382526029815260200180613bfa6029913960400191505060405180910390fd5b604080516001808252818301909252906020808301908036833701905050925061198561258a565b8360008151811061199257fe5b60200260200101906001600160a01b031690816001600160a01b031681525050611a77565b6119f385858080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061308992505050565b611a2e5760405162461bcd60e51b8152600401808060200182810382526025815260200180613c906025913960400191505060405180910390fd5b611a74858580806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250611a6e9250612528915050565b90613113565b92505b6000611a81610974565b9050611a8d3388613267565b835167ffffffffffffffff81118015611aa557600080fd5b50604051908082528060200260200182016040528015611acf578160200160208202803683370190505b50925060005b8451811015611bf1576000858281518110611aec57fe5b60200260200101519050611b8383611b7d8b846001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015611b4b57600080fd5b505afa158015611b5f573d6000803e3d6000fd5b505050506040513d6020811015611b7557600080fd5b5051906129e6565b90613363565b858381518110611b8f57fe5b6020026020010181815250506000858381518110611ba957fe5b60200260200101511115611be857611be833868481518110611bc757fe5b6020026020010151836001600160a01b0316612aa89092919063ffffffff16565b50600101611ad5565b50336001600160a01b03167f3e4e319c3be0696253cf2e6260a96ddf9a8fa8cfc0e7186500bbcfcef899194d888686604051808481526020018060200180602001838103835285818151815260200191508051906020019060200280838360005b83811015611c6a578181015183820152602001611c52565b50505050905001838103825284818151815260200191508051906020019060200280838360005b83811015611ca9578181015183820152602001611c91565b505050509050019550505050505060405180910390a250506009805460ff60d81b191690559094909350915050565b600954600160a01b900463ffffffff1690565b600061096a611cf8612626565b84610a7485604051806060016040528060258152602001613d7f6025913960016000611d22612626565b6001600160a01b03908116825260208083019390935260409182016000908120918d168152925290205491906133ca565b6000611d5d610e68565b611dae576040805162461bcd60e51b815260206004820181905260248201527f6f6e6c795472616e7366657273416c6c6f7765643a20446973616c6c6f776564604482015290519081900360640190fd5b610a098383613461565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611e2a576040805162461bcd60e51b81526020600482015260126024820152711a5b9a5d0e88155b985d5d1a1bdc9a5e995960721b604482015290519081900360640190fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316633d7c74f88b6040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015611ec157600080fd5b505afa158015611ed5573d6000803e3d6000fd5b505050506040513d6020811015611eeb57600080fd5b50516001600160a01b031614611f48576040805162461bcd60e51b815260206004820152601760248201527f696e69743a20426164207661756c742076657273696f6e000000000000000000604482015290519081900360640190fd5b600780546001600160a01b03808b166001600160a01b03199283161790925560068054928c16929091169190911790556001600160801b03871615611f9057611f9087613475565b6001600160a01b03811615611fa857611fa8816134d2565b6001600160801b03851615611fc057611fc085612fd5565b8515611fda576009805460ff60e01b1916600160e01b1790555b6001600160a01b03841615612085576127108361ffff161061203c576040805162461bcd60e51b81526020600482015260166024820152751a5b9a5d0e8813585e0819995948195e18d95959195960521b604482015290519081900360640190fd5b6009805461ffff60c01b1916600160c01b61ffff861602176001600160a01b0319166001600160a01b0386161790558115612085576009805460ff60d01b1916600160d01b1790555b604080516001600160a01b03808c168252808b166020830152881515828401528616606082015261ffff8516608082015283151560a082015290517fbd8aba18aec1b83d675f3b473e0bfb62d8e3a73b7c786d663bee96d559b450359181900360c00190a1505050505050505050565b60006120ff61097a565b600281111561210a57fe5b1461215c576040805162461bcd60e51b815260206004820152601860248201527f6465706f7369743a20556e616c6c6f7765642053746174650000000000000000604482015290519081900360640190fd5b60006121666115eb565b9050801561225857604080516307158c8160e21b81526004810183905233602482015290516001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691631c563204916044808301926020929190829003018186803b1580156121db57600080fd5b505afa1580156121ef573d6000803e3d6000fd5b505050506040513d602081101561220557600080fd5b5051612258576040805162461bcd60e51b815260206004820152601960248201527f6465706f7369743a20556e616c6c6f7765642063616c6c657200000000000000604482015290519081900360640190fd5b600061226261258a565b9050600061226e61098a565b9050801561234557806122fa85846001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156122c857600080fd5b505afa1580156122dc573d6000803e3d6000fd5b505050506040513d60208110156122f257600080fd5b505190612798565b1115612345576040805162461bcd60e51b815260206004820152601560248201527419195c1bdcda5d0e8813585e08195e18d959591959605a1b604482015290519081900360640190fd5b61234d610974565b612399576009805463ffffffff60a01b1916600160a01b4263ffffffff16021790556040517f5798aa338c5b99bf36b74070080d9d2efadbd4a0c383148e08e3daa7219ab00c90600090a15b6123a3338561352e565b6123b86001600160a01b03831633308761361e565b60408051858152905133917f2da466a7b24304f47e87fa2e1e5a81b9831ce54fec19055ce277ca2f39ba42c4919081900360200190a250505050565b6006546001600160a01b031690565b61240e6116156123f4565b6001600160a01b0316336001600160a01b03161461246d576040805162461bcd60e51b81526020600482015260176024820152761bdb9b1e53dddb995c8e88155b985d5d1a1bdc9a5e9959604a1b604482015290519081900360640190fd5b611682816134d2565b60055461010090046001600160a01b031690565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6124c06116156123f4565b6001600160a01b0316336001600160a01b03161461251f576040805162461bcd60e51b81526020600482015260176024820152761bdb9b1e53dddb995c8e88155b985d5d1a1bdc9a5e9959604a1b604482015290519081900360640190fd5b61168281613475565b6060600a80548060200260200160405190810160405280929190818152602001828054801561258057602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311612562575b5050505050905090565b6007546001600160a01b031690565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156125805780601f106125fa57610100808354040283529160200191612580565b820191906000526020600020905b81548152906001019060200180831161260857509395945050505050565b3390565b6001600160a01b03831661266f5760405162461bcd60e51b8152600401808060200182810382526024815260200180613cfb6024913960400191505060405180910390fd5b6001600160a01b0382166126b45760405162461bcd60e51b8152600401808060200182810382526022815260200180613b586022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b600061272384848461367e565b61278e8461272f612626565b610a7485604051806060016040528060288152602001613c68602891396001600160a01b038a1660009081526001602052604081209061276d612626565b6001600160a01b0316815260208101919091526040016000205491906133ca565b5060019392505050565b600082820183811015610a09576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6127fa612476565b6001600160a01b0316826001600160a01b03161480612832575061281d81612f68565b6001600160a01b0316826001600160a01b0316145b61286d5760405162461bcd60e51b8152600401808060200182810382526028815260200180613b7a6028913960400191505060405180910390fd5b5050565b8015806128f7575060408051636eb1769f60e11b81523060048201526001600160a01b03848116602483015291519185169163dd62ed3e91604480820192602092909190829003018186803b1580156128c957600080fd5b505afa1580156128dd573d6000803e3d6000fd5b505050506040513d60208110156128f357600080fd5b5051155b6129325760405162461bcd60e51b8152600401808060200182810382526036815260200180613d496036913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526129849084906137d9565b505050565b6000828211156129e0576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6000826129f55750600061096e565b82820282848281612a0257fe5b0414610a095760405162461bcd60e51b8152600401808060200182810382526021815260200180613c476021913960400191505060405180910390fd5b6007805482919060ff60a01b1916600160a01b836002811115612a5e57fe5b02179055507fc635bb75c392e81c891d50372a48cfa81b6799ac6d594cb4c28a8c5e8bef6e9b8160405180826002811115612a9557fe5b815260200191505060405180910390a150565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526129849084906137d9565b6060612b06838361388a565b15612b1257508161096e565b610a0983835b6060825160010167ffffffffffffffff81118015612b3557600080fd5b50604051908082528060200260200182016040528015612b5f578160200160208202803683370190505b50905060005b8351811015612bae57838181518110612b7a57fe5b6020026020010151828281518110612b8e57fe5b6001600160a01b0390921660209283029190910190910152600101612b65565b508181845181518110612bbd57fe5b60200260200101906001600160a01b031690816001600160a01b03168152505092915050565b6000612bf7612bf0611cd8565b4290612989565b905060005b8251811015612984576000612ca36301e187e0611b7d612710611b7d87612c9d7f00000000000000000000000000000000000000000000000000000000000000008b8a81518110612c4957fe5b60200260200101516001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015611b4b57600080fd5b906129e6565b90508015612d5857612cfc7f000000000000000000000000000000000000000000000000000000000000000082868581518110612cdc57fe5b60200260200101516001600160a01b0316612aa89092919063ffffffff16565b7fb87e607f6030a23ed9b7dac1a717610f3a3b07325269f18808ba763bdcefe7ae848381518110612d2957fe5b60200260200101518260405180836001600160a01b031681526020018281526020019250505060405180910390a15b50600101612bfc565b6000612d6b610a10565b905080612d785750611682565b6000612d82610e59565b90506000612d8e6115fa565b15612d9e57612d9b61258a565b90505b60005b8451811015612f61576000858281518110612db857fe5b602002602001015190506000836001600160a01b0316826001600160a01b03161415612e6e57612e67826001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015612e2e57600080fd5b505afa158015612e42573d6000803e3d6000fd5b505050506040513d6020811015612e5857600080fd5b5051612e62610974565b6138e0565b9050612ee3565b604080516370a0823160e01b815230600482015290516001600160a01b038416916370a08231916024808301926020929190829003018186803b158015612eb457600080fd5b505afa158015612ec8573d6000803e3d6000fd5b505050506040513d6020811015612ede57600080fd5b505190505b6000612ef5612710611b7d848a6129e6565b90508015612f5657612f116001600160a01b0384168783612aa8565b604080516001600160a01b03851681526020810183905281517f075a2720282fdf622141dae0b048ef90a21a7e57c134c76912d19d006b3b3f6f929181900390910190a15b505050600101612da1565b5050505050565b6000816001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b158015612fa357600080fd5b505afa158015612fb7573d6000803e3d6000fd5b505050506040513d6020811015612fcd57600080fd5b505192915050565b600880546001600160801b03808416600160801b8102919092161790915560408051918252517f0e280fa5ecedea20784caab60fae774807664c009e5e229629e5eef871207db69181900360200190a150565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156125805780601f106125fa57610100808354040283529160200191612580565b6000600182511161309c57506001610e92565b815160005b8181101561278e57600181015b8281101561310a578481815181106130c257fe5b60200260200101516001600160a01b03168583815181106130df57fe5b60200260200101516001600160a01b031614156131025760009350505050610e92565b6001016130ae565b506001016130a1565b60606000805b83518110156131525761313f8585838151811061313257fe5b602002602001015161388a565b61314a576001909101905b600101613119565b5080613161578391505061096e565b8084510167ffffffffffffffff8111801561317b57600080fd5b506040519080825280602002602001820160405280156131a5578160200160208202803683370190505b50915060005b84518110156131f4578481815181106131c057fe5b60200260200101518382815181106131d457fe5b6001600160a01b03909216602092830291909101909101526001016131ab565b50835160005b845181101561325e576132138686838151811061313257fe5b6132565784818151811061322357fe5b602002602001015184838151811061323757fe5b6001600160a01b03909216602092830291909101909101526001909101905b6001016131fa565b50505092915050565b6001600160a01b0382166132ac5760405162461bcd60e51b8152600401808060200182810382526021815260200180613cb56021913960400191505060405180910390fd5b6132b882600083612984565b6132f581604051806060016040528060228152602001613b36602291396001600160a01b03851660009081526020819052604090205491906133ca565b6001600160a01b03831660009081526020819052604090205560025461331b9082612989565b6002556040805182815290516000916001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b60008082116133b9576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b8183816133c257fe5b049392505050565b600081848411156134595760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561341e578181015183820152602001613406565b50505050905090810190601f16801561344b5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600061096a61346e612626565b848461367e565b600880546001600160801b0383166fffffffffffffffffffffffffffffffff19909116811790915560408051918252517f3083d42989efabd593f083885067da3d51d2c2d68342a98d68a55eff8beed8d69181900360200190a150565b600580546001600160a01b0383166101008102610100600160a81b03199092169190911790915560408051918252517f60a0f5b9f9e81e98216071b85826681c796256fe3d1354ecb675580fba64fa699181900360200190a150565b6001600160a01b038216613589576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b61359560008383612984565b6002546135a29082612798565b6002556001600160a01b0382166000908152602081905260409020546135c89082612798565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b604080516001600160a01b0380861660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b1790526136789085906137d9565b50505050565b6001600160a01b0383166136c35760405162461bcd60e51b8152600401808060200182810382526025815260200180613cd66025913960400191505060405180910390fd5b6001600160a01b0382166137085760405162461bcd60e51b8152600401808060200182810382526023815260200180613b136023913960400191505060405180910390fd5b613713838383612984565b61375081604051806060016040528060268152602001613ba2602691396001600160a01b03861660009081526020819052604090205491906133ca565b6001600160a01b03808516600090815260208190526040808220939093559084168152205461377f9082612798565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b606061382e826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166138fc9092919063ffffffff16565b8051909150156129845780806020019051602081101561384d57600080fd5b50516129845760405162461bcd60e51b815260040180806020018281038252602a815260200180613d1f602a913960400191505060405180910390fd5b6000805b83518110156138d6578381815181106138a357fe5b60200260200101516001600160a01b0316836001600160a01b031614156138ce57600191505061096e565b60010161388e565b5060009392505050565b6000818311156138f3575080820361096e565b50600092915050565b6060610a0684846000858561391085613a22565b613961576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b602083106139a05780518252601f199092019160209182019101613981565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114613a02576040519150601f19603f3d011682016040523d82523d6000602084013e613a07565b606091505b5091509150613a17828286613a28565b979650505050505050565b3b151590565b60608315613a37575081610a09565b825115613a475782518084602001fd5b60405162461bcd60e51b815260206004820181815284516024840152845185939192839260440191908501908083836000831561341e578181015183820152602001613406565b828054828255906000526020600020908101928215613ae3579160200282015b82811115613ae357825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190613aae565b50613aef929150613af3565b5090565b5b80821115613aef5780546001600160a01b0319168155600101613af456fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a20617070726f766520746f20746865207a65726f20616464726573735f5f76616c696461746549734d616e616765724f724f776e65723a20556e617574686f72697a656445524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365656e74657252656465656d53746174653a204e6f6e2d7a65726f2076616c75652065787465726e616c20706f736974696f6e77697468647261773a204f6e6c79206465706f73697420746f6b656e20776974686472617761626c65656e7465724c6f636b656453746174653a204d696e20736861726573206e6f74206d6574536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636577697468647261773a204475706c6963617465205f6164646974696f6e616c41737365747345524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f20616464726573735361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa164736f6c634300060c000a", "sourceMap": "2151:23830:352:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9309:243;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4244:166:447;;;;;;;;;;;;;;;;-1:-1:-1;4244:166:447;;-1:-1:-1;;;;;4244:166:447;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;3235:106;;;:::i;:::-;;;;;;;;;;;;;;;;25244:84:352;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;25438:116;;;:::i;10546:239::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;10546:239:352;;;;;;;;;;;;;;;;;:::i;23933:89::-;;;:::i;10024:93::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5589:215:447;;;;;;;;;;;;;;;;-1:-1:-1;5589:215:447;;-1:-1:-1;;;;;5589:215:447;;;;;;:::i;15379:1583:352:-;;;:::i;:::-;;24418:107;;;:::i;:::-;;;;-1:-1:-1;;;;;24418:107:352;;;;;;;;;;;;;;25667:116;;;:::i;3399:125:447:-;;;;;;;;;;;;;;;;-1:-1:-1;3399:125:447;-1:-1:-1;;;;;3399:125:447;;:::i;17398:2346:352:-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;17398:2346:352;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;17398:2346:352;;;;;;;;;;-1:-1:-1;17398:2346:352;;-1:-1:-1;17398:2346:352;-1:-1:-1;17398:2346:352;:::i;23505:137::-;;;:::i;24168:149::-;;;:::i;23165:136::-;;;;;;;;;;;;;;;;-1:-1:-1;23165:136:352;-1:-1:-1;;;;;23165:136:352;;:::i;9653:244::-;;;:::i;13137:1725::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;13137:1725:352;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;13137:1725:352;;;;;;;;;;-1:-1:-1;13137:1725:352;;-1:-1:-1;13137:1725:352;-1:-1:-1;13137:1725:352;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24816:119;;;:::i;6291:266:447:-;;;;;;;;;;;;;;;;-1:-1:-1;6291:266:447;;-1:-1:-1;;;;;6291:266:447;;;;;;:::i;10224:211:352:-;;;;;;;;;;;;;;;;-1:-1:-1;10224:211:352;;-1:-1:-1;;;;;10224:211:352;;;;;;:::i;6272:1899::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;6272:1899:352;;;;;;;;;;;;-1:-1:-1;;;;;6272:1899:352;;;;;;;;;;;;;;-1:-1:-1;6272:1899:352;;;;;;;-1:-1:-1;6272:1899:352;;;;;;;;;;;;;;;;;;;;;;;;;:::i;11020:1433::-;;;;;;;;;;;;;;;;-1:-1:-1;11020:1433:352;;:::i;25878:101::-;;;:::i;22943:104::-;;;;;;;;;;;;;;;;-1:-1:-1;22943:104:352;-1:-1:-1;;;;;22943:104:352;;:::i;24611:92::-;;;:::i;3957:149:447:-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;3957:149:447;;;;;;;;;;:::i;22685:164:352:-;;;;;;;;;;;;;;;;-1:-1:-1;22685:164:352;-1:-1:-1;;;;;22685:164:352;;:::i;25042:122::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23743:107;;;:::i;9309:243::-;9355:19;9407:8;-1:-1:-1;;;;;9390:25:352;9398:4;9390:25;9386:75;;;9438:12;:10;:12::i;:::-;9431:19;;;;9386:75;9520:15;:13;:15::i;:::-;-1:-1:-1;;;;;9514:27:352;;:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9514:29:352;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;9514:29:352;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9514:29:352;;;;;;;;;;;;-1:-1:-1;9514:29:352;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9485:59;;;;;;-1:-1:-1;;;9485:59:352;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9485:59:352;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9471:74;;9309:243;;:::o;4244:166:447:-;4327:4;4343:39;4352:12;:10;:12::i;:::-;4366:7;4375:6;4343:8;:39::i;:::-;-1:-1:-1;4399:4:447;4244:166;;;;;:::o;3235:106::-;3322:12;;3235:106;:::o;25244:84:352:-;25316:5;;-1:-1:-1;;;25316:5:352;;;;;25244:84::o;25438:116::-;25532:15;;-1:-1:-1;;;25532:15:352;;-1:-1:-1;;;;;25532:15:352;;25438:116::o;10546:239::-;10698:13;4600:21;:19;:21::i;:::-;4592:66;;;;;-1:-1:-1;;;4592:66:352;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10730:48:::1;10749:7;10758:10;10770:7;10730:18;:48::i;:::-;10723:55;;4668:1;10546:239:::0;;;;;:::o;23933:89::-;24009:6;;-1:-1:-1;;;24009:6:352;;;;;23933:89::o;10024:93::-;10108:2;10024:93;:::o;5589:215:447:-;5677:4;5693:83;5702:12;:10;:12::i;:::-;5716:7;5725:50;5764:10;5725:11;:25;5737:12;:10;:12::i;:::-;-1:-1:-1;;;;;5725:25:447;;;;;;;;;;;;;;;;;-1:-1:-1;5725:25:447;;;:34;;;;;;;;;;;:38;:50::i;:::-;5693:8;:83::i;15379:1583:352:-;15426:21;15450:15;:13;:15::i;:::-;15426:39;;15475:53;15502:10;15514:13;15475:26;:53::i;:::-;15561:13;15547:10;:8;:10::i;:::-;:27;;;;;;;;;15539:71;;;;;-1:-1:-1;;;15539:71:352;;;;;;;;;;;;;;;;;;;;;;;;;;;;15733:39;15820:13;-1:-1:-1;;;;;15803:44:352;;:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15803:46:352;15909:47;;;-1:-1:-1;;;15909:47:352;;;;15803:46;;-1:-1:-1;15869:31:352;;-1:-1:-1;;;;;15909:45:352;;;;;:47;;;;;15803:46;;15909:47;;;;;;;:45;:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15909:47:352;15994:50;;;-1:-1:-1;;;15994:50:352;;16038:4;15994:50;;;;;;15909:47;;-1:-1:-1;;;;;;;;15994:35:352;;;-1:-1:-1;;15994:50:352;;;;;15909:47;;15994:50;;;;;;;:35;:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15994:50:352;;-1:-1:-1;16055:90:352;-1:-1:-1;;;;;16055:37:352;;16101:24;15994:50;16055:37;:90::i;:::-;16180:55;;;-1:-1:-1;;;16180:55:352;;;;;;;;-1:-1:-1;16180:55:352;;;;;;16155:22;;-1:-1:-1;;;;;16180:34:352;;;;;:55;;;;;;;;;;;;;;;16155:22;16180:34;:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;16180:55:352;16427:34;;;-1:-1:-1;;;16427:34:352;;;;16180:55;;-1:-1:-1;16400:24:352;;16427:54;;16180:55;;-1:-1:-1;;;;;16427:32:352;;;-1:-1:-1;;16427:34:352;;;;;16180:55;;16427:34;;;;;;;:32;:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;16427:34:352;;:38;:54::i;:::-;16400:81;-1:-1:-1;16512:21:352;;;:71;;-1:-1:-1;16554:29:352;:16;3179:5;16554:20;:29::i;:::-;16537:14;:46;16512:71;16491:154;;;;-1:-1:-1;;;16491:154:352;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16688:24;16699:12;16688:10;:24::i;:::-;16763:26;16798:17;:15;:17::i;:::-;16900:45;;;-1:-1:-1;;;16900:45:352;;16939:4;16900:45;;;;;;16763:53;;-1:-1:-1;16826:129:352;;16873:13;;-1:-1:-1;;;;;16900:30:352;;;;;:45;;;;;;;;;;;;;;;:30;:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;16900:45:352;-1:-1:-1;;;;;16826:33:352;;;;;:129::i;:::-;15379:1583;;;;;;;:::o;24418:107::-;24506:12;;-1:-1:-1;;;;;24506:12:352;;24418:107::o;25667:116::-;25760:16;;-1:-1:-1;;;25760:16:352;;;;;25667:116::o;3399:125:447:-;-1:-1:-1;;;;;3499:18:447;;3473:7;3499:18;;;;;;;;;;;3399:125;;;;:::o;17398:2346:352:-;17487:21;17511:15;:13;:15::i;:::-;17487:39;;17536:53;17563:10;17575:13;17536:26;:53::i;:::-;17622:12;17608:10;:8;:10::i;:::-;:26;;;;;;;;;17600:70;;;;;-1:-1:-1;;;17600:70:352;;;;;;;;;;;;;;;;;;;;;;;;;;;;17859:34;17913:13;-1:-1:-1;;;;;17896:72:352;;:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;17896:74:352;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;17896:74:352;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;17896:74:352;;;;;;;;-1:-1:-1;17896:74:352;;;;;;;;;;-1:-1:-1;17896:74:352;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17859:111;;17985:9;17980:441;18000:17;:24;17996:1;:28;17980:441;;;18048:36;18106:17;18124:1;18106:20;;;;;;;;;;;;;;-1:-1:-1;;;;;18088:73:352;;:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;18088:75:352;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;18088:75:352;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;18088:75:352;;;;;;;;-1:-1:-1;18088:75:352;;;;;;;;;;-1:-1:-1;18088:75:352;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;18088:75:352;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;18088:75:352;;;;;;;;-1:-1:-1;18088:75:352;;;;;;;;;;-1:-1:-1;18088:75:352;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18045:118;;;18182:9;18177:234;18197:19;:26;18193:1;:30;18177:234;;;18277:19;18297:1;18277:22;;;;;;;;;;;;;;18303:1;18277:27;18248:148;;;;-1:-1:-1;;;18248:148:352;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18225:3;;18177:234;;;-1:-1:-1;;18026:3:352;;17980:441;;;;18518:39;18605:15;:13;:15::i;:::-;-1:-1:-1;;;;;18588:46:352;;:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;18588:48:352;;-1:-1:-1;18784:40:352;18827:78;18878:17;:15;:17::i;:::-;18827:23;;:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;18827:37:352;;:78;-1:-1:-1;;18827:37:352;:78;-1:-1:-1;18827:78:352:i;:::-;19163:16;;;-1:-1:-1;19163:16:352;;;;;;;;;;;-1:-1:-1;;;18982:211:352;;;19064:4;18982:211;;;;;;-1:-1:-1;;18982:211:352;;;;;;;;;;;;;;;;;;;;;18784:121;;-1:-1:-1;18917:29:352;;;;-1:-1:-1;;;;;18982:56:352;;;;;-1:-1:-1;;18784:121:352;;19163:16;;18982:211;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;18982:211:352;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;18982:211:352;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;18982:211:352;;;;;;;;-1:-1:-1;18982:211:352;;;;;;;;;;-1:-1:-1;18982:211:352;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;18982:211:352;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;18982:211:352;;;;;;;;-1:-1:-1;18982:211:352;;;;;;;;;;-1:-1:-1;18982:211:352;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18916:277;;;;19250:31;19296:9;19291:185;19311:12;:19;19307:1;:23;19291:185;;;19374:1;19355:13;19369:1;19355:16;;;;;;;;;;;;;;:20;19351:115;;;19412:39;19435:12;19448:1;19435:15;;;;;;;;;;;;;;19412:14;:22;;:39;;;;:::i;:::-;19395:56;;19351:115;19332:3;;19291:185;;;-1:-1:-1;19486:31:352;;;;:14;;:31;;;;;:::i;:::-;;19591:36;19612:14;19591:20;:36::i;:::-;19637:33;19655:14;19637:17;:33::i;:::-;19713:24;19724:12;19713:10;:24::i;:::-;17398:2346;;;;;;;;;:::o;23505:137::-;23613:22;;-1:-1:-1;;;;;23613:22:352;;23505:137::o;24168:149::-;24278:32;;-1:-1:-1;;;24278:32:352;;;;;24168:149::o;23165:136::-;4459:39;4482:15;:13;:15::i;:::-;4459:22;:39::i;:::-;-1:-1:-1;;;;;4445:53:352;:10;:53;4437:89;;;;;-1:-1:-1;;;4437:89:352;;;;;;;;;;;;-1:-1:-1;;;4437:89:352;;;;;;;;;;;;;;;23252:42:::1;23273:20;23252;:42::i;:::-;23165:136:::0;:::o;9653:244::-;9701:21;9755:8;-1:-1:-1;;;;;9738:25:352;9746:4;9738:25;9734:77;;;9786:14;:12;:14::i;9734:77::-;9863:15;:13;:15::i;:::-;-1:-1:-1;;;;;9857:29:352;;:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9857:31:352;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;9857:31:352;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9857:31:352;;;;;;;;;;;;-1:-1:-1;9857:31:352;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9835:54;;;;;;-1:-1:-1;;;9835:54:352;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9835:54:352;;;;;;;;;;;;13137:1725;4282:11;;13265:31;;;;-1:-1:-1;;;4282:11:352;;;;4281:12;4273:49;;;;;-1:-1:-1;;;4273:49:352;;;;;;;;;;;;;;;;;;;;;;;;;;;;4333:11;:18;;-1:-1:-1;;;;4333:18:352;-1:-1:-1;;;4333:18:352;;;-1:-1:-1;13420:10:352::1;:8;:10::i;:::-;13403:27:::0;-1:-1:-1;13460:12:352::1;13448:8;:24;;;;;;;;;;13440:62;;;::::0;;-1:-1:-1;;;13440:62:352;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;13529:13;13517:8;:25;;;;;;;;;13513:508;;;13643:29:::0;;13635:83:::1;;;;-1:-1:-1::0;;;13635:83:352::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13750:16;::::0;;13764:1:::1;13750:16:::0;;;;;::::1;::::0;;;;::::1;::::0;;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;13750:16:352::1;13733:33;;13800:17;:15;:17::i;:::-;13780:14;13795:1;13780:17;;;;;;;;-1:-1:-1::0;;;;;13780:37:352;;::::1;:17;::::0;;::::1;::::0;;;;;;;:37;13513:508:::1;;;13856:31;:17;;:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;13856:29:352::1;::::0;-1:-1:-1;;;13856:31:352:i:1;:::-;13848:81;;;;-1:-1:-1::0;;;13848:81:352::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13961:49;13992:17;;13961:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;13961:19:352::1;::::0;-1:-1:-1;13961:17:352::1;::::0;-1:-1:-1;;13961:19:352:i:1;:::-;:30:::0;::::1;:49::i;:::-;13944:66;;13513:508;14062:27;14092:13;:11;:13::i;:::-;14062:43;;14161:26;14167:10;14179:7;14161:5;:26::i;:::-;14276:14;:21;14262:36;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;-1:-1:-1;14262:36:352::1;;14239:59;;14313:9;14308:408;14328:14;:21;14324:1;:25;14308:408;;;14370:19;14398:14;14413:1;14398:17;;;;;;;;;::::0;;::::1;::::0;;;;;;;14456:38:::1;::::0;;-1:-1:-1;;;14456:38:352;;14488:4:::1;14456:38;::::0;::::1;::::0;;;14398:17;;-1:-1:-1;14456:106:352::1;::::0;14529:19;;14456:51:::1;::::0;14499:7;;-1:-1:-1;;;;;14456:23:352;::::1;::::0;::::1;::::0;:38;;;;;14398:17;14456:38;;;;;;:23;:38;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;14456:38:352;;:42:::1;:51::i;:::-;:55:::0;::::1;:106::i;:::-;14430:20;14451:1;14430:23;;;;;;;;;;;;;:132;;;::::0;::::1;14607:1;14581:20;14602:1;14581:23;;;;;;;;;;;;;;:27;14577:129;;;14628:63;14655:10;14667:20;14688:1;14667:23;;;;;;;;;::::0;;::::1;::::0;;;;;;-1:-1:-1;;;;;14628:26:352;::::1;::::0;:63;:26:::1;:63::i;:::-;-1:-1:-1::0;14351:3:352::1;;14308:408;;;;14741:10;-1:-1:-1::0;;;;;14731:68:352::1;;14753:7;14762:14;14778:20;14731:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;;::::1;::::0;;;::::1;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;;::::1;::::0;;;::::1;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;4374:11:352;:19;;-1:-1:-1;;;;4374:19:352;;;13137:1725;;;;-1:-1:-1;13137:1725:352;-1:-1:-1;;13137:1725:352:o;24816:119::-;24912:16;;-1:-1:-1;;;24912:16:352;;;;;24816:119::o;6291:266:447:-;6384:4;6400:129;6409:12;:10;:12::i;:::-;6423:7;6432:96;6471:15;6432:96;;;;;;;;;;;;;;;;;:11;:25;6444:12;:10;:12::i;:::-;-1:-1:-1;;;;;6432:25:447;;;;;;;;;;;;;;;;;-1:-1:-1;6432:25:447;;;:34;;;;;;;;;;;;:38;:96::i;10224:211:352:-;10357:13;4600:21;:19;:21::i;:::-;4592:66;;;;;-1:-1:-1;;;4592:66:352;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10393:35:::1;10408:10;10420:7;10393:14;:35::i;6272:1899::-:0;6629:11;-1:-1:-1;;;;;6615:25:352;:10;:25;6607:56;;;;;-1:-1:-1;;;6607:56:352;;;;;;;;;;;;-1:-1:-1;;;6607:56:352;;;;;;;;;;;;;;;6798:61;;;-1:-1:-1;;;6798:61:352;;-1:-1:-1;;;;;6798:61:352;;;;;;;;;6863:16;6798:81;;;:19;:48;;;;:61;;;;;;;;;;;;;;:48;:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6798:61:352;-1:-1:-1;;;;;6798:81:352;;6777:151;;;;;-1:-1:-1;;;6777:151:352;;;;;;;;;;;;;;;;;;;;;;;;;;;;6939:12;:28;;-1:-1:-1;;;;;6939:28:352;;;-1:-1:-1;;;;;;6939:28:352;;;;;;;6977:10;:24;;;;;;;;;;;;;;;-1:-1:-1;;;;;7069:27:352;;;7065:110;;7112:52;7140:23;7112:27;:52::i;:::-;-1:-1:-1;;;;;7242:22:352;;;7238:75;;7280:22;7293:8;7280:12;:22::i;:::-;-1:-1:-1;;;;;7380:20:352;;;7376:89;;7416:38;7437:16;7416:20;:38::i;:::-;7522:17;7518:71;;;7555:16;:23;;-1:-1:-1;;;;7555:23:352;-1:-1:-1;;;7555:23:352;;;7518:71;-1:-1:-1;;;;;7646:27:352;;;7642:308;;3179:5;7697:7;:17;;;7689:52;;;;;-1:-1:-1;;;7689:52:352;;;;;;;;;;;;-1:-1:-1;;;7689:52:352;;;;;;;;;;;;;;;7756:6;:16;;-1:-1:-1;;;;7756:16:352;-1:-1:-1;;;;7756:16:352;;;;-1:-1:-1;;;;;;7786:28:352;-1:-1:-1;;;;;7786:28:352;;;;;7829:111;;;;7886:32;:39;;-1:-1:-1;;;;7886:39:352;-1:-1:-1;;;7886:39:352;;;7829:111;7965:199;;;-1:-1:-1;;;;;7965:199:352;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7965:199:352;;;;;;;;;;;;;;6272:1899;;;;;;;;;:::o;11020:1433::-;11095:13;11081:10;:8;:10::i;:::-;:27;;;;;;;;;11073:64;;;;;-1:-1:-1;;;11073:64:352;;;;;;;;;;;;;;;;;;;;;;;;;;;;11183:33;11219:27;:25;:27::i;:::-;11183:63;-1:-1:-1;11260:29:352;;11256:222;;11330:78;;;-1:-1:-1;;;11330:78:352;;;;;;;;11397:10;11330:78;;;;;;:30;-1:-1:-1;;;;;11330:39:352;;;;:78;;;;;;;;;;;;;;:39;:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11330:78:352;11305:162;;;;;-1:-1:-1;;;11305:162:352;;;;;;;;;;;;;;;;;;;;;;;;;;;;11488:26;11523:17;:15;:17::i;:::-;11488:53;;11594:26;11623:20;:18;:20::i;:::-;11594:49;-1:-1:-1;11657:22:352;;11653:213;;11720:45;;;-1:-1:-1;;;11720:45:352;;11759:4;11720:45;;;;;;11782:18;;11720:58;;11770:7;;-1:-1:-1;;;;;11720:30:352;;;;;:45;;;;;;;;;;;;;;;:30;:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11720:45:352;;:49;:58::i;:::-;:80;;11695:160;;;;;-1:-1:-1;;;11695:160:352;;;;;;;;;;;;-1:-1:-1;;;11695:160:352;;;;;;;;;;;;;;;12099:13;:11;:13::i;:::-;12095:131;;12133:16;:42;;-1:-1:-1;;;;12133:42:352;-1:-1:-1;;;;12159:15:352;12133:42;;;;;12195:20;;;;-1:-1:-1;;12195:20:352;12095:131;12290:26;12296:10;12308:7;12290:5;:26::i;:::-;12327:73;-1:-1:-1;;;;;12327:37:352;;12365:10;12385:4;12392:7;12327:37;:73::i;:::-;12416:30;;;;;;;;12426:10;;12416:30;;;;;;;;;;11020:1433;;;;:::o;25878:101::-;25962:10;;-1:-1:-1;;;;;25962:10:352;;25878:101::o;22943:104::-;4459:39;4482:15;:13;:15::i;4459:39::-;-1:-1:-1;;;;;4445:53:352;:10;:53;4437:89;;;;;-1:-1:-1;;;4437:89:352;;;;;;;;;;;;-1:-1:-1;;;4437:89:352;;;;;;;;;;;;;;;23014:26:::1;23027:12;23014;:26::i;24611:92::-:0;24689:7;;;;;-1:-1:-1;;;;;24689:7:352;;24611:92::o;3957:149:447:-;-1:-1:-1;;;;;4072:18:447;;;4046:7;4072:18;;;-1:-1:-1;4072:18:447;;;;;;;;:27;;;;;;;;;;;;;3957:149::o;22685:164:352:-;4459:39;4482:15;:13;:15::i;4459:39::-;-1:-1:-1;;;;;4445:53:352;:10;:53;4437:89;;;;;-1:-1:-1;;;4437:89:352;;;;;;;;;;;;-1:-1:-1;;;4437:89:352;;;;;;;;;;;;;;;22786:56:::1;22814:27;22786;:56::i;25042:122::-:0;25092:32;25143:14;25136:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;25136:21:352;;;-1:-1:-1;25136:21:352;;;;;;;;;;;;;;;;;;;25042:122;:::o;23743:107::-;23831:12;;-1:-1:-1;;;;;23831:12:352;;23743:107::o;2168:89:447:-;2245:5;2238:12;;;;;;;;;;;;;-1:-1:-1;;2238:12:447;;;;;;;;;;;;;;;;;;;;;;;;;;2213:13;;2238:12;;2245:5;;2238:12;;;2245:5;2238:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2238:12:447;;2168:89;-1:-1:-1;;;;;2168:89:447:o;598:104:452:-;685:10;598:104;:::o;9355:340:447:-;-1:-1:-1;;;;;9456:19:447;;9448:68;;;;-1:-1:-1;;;9448:68:447;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9534:21:447;;9526:68;;;;-1:-1:-1;;;9526:68:447;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9605:18:447;;;;;;;-1:-1:-1;9605:18:447;;;;;;;;:27;;;;;;;;;;;;;:36;;;9656:32;;;;;;;;;;;;;;;;;9355:340;;;:::o;4877:317::-;4983:4;4999:36;5009:6;5017:9;5028:6;4999:9;:36::i;:::-;5045:121;5054:6;5062:12;:10;:12::i;:::-;5076:89;5114:6;5076:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5076:19:447;;;;;;-1:-1:-1;5076:19:447;;;;;;5096:12;:10;:12::i;:::-;-1:-1:-1;;;;;5076:33:447;;;;;;;;;;;;-1:-1:-1;5076:33:447;;;;:37;:89::i;5045:121::-;-1:-1:-1;5183:4:447;4877:317;;;;;:::o;2690:175:442:-;2748:7;2779:5;;;2802:6;;;;2794:46;;;;;-1:-1:-1;;;2794:46:442;;;;;;;;;;;;;;;;;;;;;;;;;;;22224:255:352;22347:12;:10;:12::i;:::-;-1:-1:-1;;;;;22339:20:352;;;;;;;:67;;;22371:35;22394:11;22371:22;:35::i;:::-;-1:-1:-1;;;;;22363:43:352;;;;;;22339:67;22318:154;;;;-1:-1:-1;;;22318:154:352;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22224:255;;:::o;1348:613:450:-;1713:10;;;1712:62;;-1:-1:-1;1729:39:450;;;-1:-1:-1;;;1729:39:450;;1753:4;1729:39;;;;-1:-1:-1;;;;;1729:39:450;;;;;;;;;:15;;;;;;:39;;;;;;;;;;;;;;;:15;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1729:39:450;:44;1712:62;1704:150;;;;-1:-1:-1;;;1704:150:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1891:62;;;-1:-1:-1;;;;;1891:62:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1891:62:450;-1:-1:-1;;;1891:62:450;;;1864:90;;1884:5;;1864:19;:90::i;:::-;1348:613;;;:::o;3136:155:442:-;3194:7;3226:1;3221;:6;;3213:49;;;;;-1:-1:-1;;;3213:49:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3279:5:442;;;3136:155::o;3538:215::-;3596:7;3619:6;3615:20;;-1:-1:-1;3634:1:442;3627:8;;3615:20;3657:5;;;3661:1;3657;:5;:1;3680:5;;;;;:10;3672:56;;;;-1:-1:-1;;;3672:56:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21999:117:352;22055:5;:18;;22063:10;;22055:5;-1:-1:-1;;;;22055:18:352;-1:-1:-1;;;22063:10:352;22055:18;;;;;;;;;;;;;22089:20;22098:10;22089:20;;;;;;;;;;;;;;;;;;;;;;;;;;21999:117;:::o;704:175:450:-;813:58;;;-1:-1:-1;;;;;813:58:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;813:58:450;-1:-1:-1;;;813:58:450;;;786:86;;806:5;;786:19;:86::i;2136:277:354:-;2250:27;2297;2306:5;2313:10;2297:8;:27::i;:::-;2293:70;;;-1:-1:-1;2347:5:354;2340:12;;2293:70;2380:26;2388:5;2395:10;1668:374;1776:27;1846:5;:12;1861:1;1846:16;1832:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1832:31:354;;1819:44;;1878:9;1873:88;1893:5;:12;1889:1;:16;1873:88;;;1942:5;1948:1;1942:8;;;;;;;;;;;;;;1926:10;1937:1;1926:13;;;;;;;;-1:-1:-1;;;;;1926:24:354;;;;:13;;;;;;;;;;;:24;-1:-1:-1;1907:3:354;1873:88;;;;1997:10;1970;1981:5;:12;1970:24;;;;;;;;-1:-1:-1;;;;;1970:37:354;;;:24;;;;;;;;;;;:37;1668:374;;-1:-1:-1;;1668:374:354:o;21309:641:352:-;21383:23;21409:42;21429:21;:19;:21::i;:::-;21409:15;;:19;:42::i;:::-;21383:68;;21467:9;21462:482;21482:7;:14;21478:1;:18;21462:482;;;21517:17;21537:204;3233:8;21537:166;3179:5;21537:136;21657:15;21537:98;21618:16;21543:7;21551:1;21543:10;;;;;;;;;;;;;;;;;;;21537:59;;;-1:-1:-1;;;21537:59:352;;21590:4;21537:59;;;;;;-1:-1:-1;;;;;21537:44:352;;;;;;:59;;;;;;;;;;:44;:59;;;;;;;;;;:98;:119;;:136::i;:204::-;21517:224;-1:-1:-1;21759:13:352;;21755:179;;21792:65;21823:22;21847:9;21798:7;21806:1;21798:10;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;21792:30:352;;:65;:30;:65::i;:::-;21881:38;21897:7;21905:1;21897:10;;;;;;;;;;;;;;21909:9;21881:38;;;;-1:-1:-1;;;;;21881:38:352;;;;;;;;;;;;;;;;;;;;;21755:179;-1:-1:-1;21498:3:352;;21462:482;;19819:1440;19890:17;19910:11;:9;:11::i;:::-;19890:31;-1:-1:-1;19935:14:352;19931:51;;19965:7;;;19931:51;19992:23;20018:17;:15;:17::i;:::-;19992:43;;20045:39;20098:37;:35;:37::i;:::-;20094:119;;;20185:17;:15;:17::i;:::-;20151:51;;20094:119;20228:9;20223:1030;20243:7;:14;20239:1;:18;20223:1030;;;20278:19;20306:7;20314:1;20306:10;;;;;;;;;;;;;;;;;;;-1:-1:-1;20332:28:352;-1:-1:-1;;;;;20378:57:352;;;;;;;20374:600;;;20768:38;;;-1:-1:-1;;;20768:38:352;;20800:4;20768:38;;;;;;20735:124;;-1:-1:-1;;;;;20768:23:352;;;;;:38;;;;;;;;;;;;;;;:23;:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;20768:38:352;20828:13;:11;:13::i;:::-;20735:11;:124::i;:::-;20712:147;;20374:600;;;20921:38;;;-1:-1:-1;;;20921:38:352;;20953:4;20921:38;;;;;;-1:-1:-1;;;;;20921:23:352;;;-1:-1:-1;;20921:38:352;;;;;;;;;;;;;;:23;:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;20921:38:352;;-1:-1:-1;20374:600:352;20988:17;21008:48;3179:5;21008:35;:20;21033:9;21008:24;:35::i;:48::-;20988:68;-1:-1:-1;21075:13:352;;21071:172;;21108:54;-1:-1:-1;;;;;21108:26:352;;21135:15;21152:9;21108:26;:54::i;:::-;21186:42;;;-1:-1:-1;;;;;21186:42:352;;;;;;;;;;;;;;;;;;;;;;;21071:172;-1:-1:-1;;;20259:3:352;;20223:1030;;;;19819:1440;;;;:::o;8281:156::-;8356:14;8406:11;-1:-1:-1;;;;;8389:39:352;;:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8389:41:352;;8281:156;-1:-1:-1;;8281:156:352:o;8956:179::-;9034:15;:38;;-1:-1:-1;;;;;;;;9034:38:352;;;;;;;;;;;;;;;9088:40;;;;;;;;;;;;;;;;8956:179;:::o;2370:93:447:-;2449:7;2442:14;;;;;;;;;;;;;-1:-1:-1;;2442:14:447;;;;;;;;;;;;;;;;;;;;;;;;;;2417:13;;2442:14;;2449:7;;2442:14;;;2449:7;2442:14;;;;;;;;;;;;;;;;;;;;;;;;3999:454:354;4067:14;4113:1;4097:5;:12;:17;4093:59;;-1:-1:-1;4137:4:354;4130:11;;4093:59;4184:12;;4162:19;4206:219;4226:11;4222:1;:15;4206:219;;;4279:1;4275:5;;4258:157;4286:11;4282:1;:15;4258:157;;;4338:5;4344:1;4338:8;;;;;;;;;;;;;;-1:-1:-1;;;;;4326:20:354;:5;4332:1;4326:8;;;;;;;;;;;;;;-1:-1:-1;;;;;4326:20:354;;4322:79;;;4377:5;4370:12;;;;;;;4322:79;4299:3;;4258:157;;;-1:-1:-1;4239:3:354;;4206:219;;2967:924;3090:27;3133:26;3174:9;3169:164;3189:13;:20;3185:1;:24;3169:164;;;3235:33;3244:5;3251:13;3265:1;3251:16;;;;;;;;;;;;;;3235:8;:33::i;:::-;3230:93;;3288:20;;;;;3230:93;3211:3;;3169:164;;;-1:-1:-1;3347:23:354;3343:66;;3393:5;3386:12;;;;;3343:66;3461:18;3446:5;:12;:33;3432:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3432:48:354;;3419:61;;3495:9;3490:88;3510:5;:12;3506:1;:16;3490:88;;;3559:5;3565:1;3559:8;;;;;;;;;;;;;;3543:10;3554:1;3543:13;;;;;;;;-1:-1:-1;;;;;3543:24:354;;;;:13;;;;;;;;;;;:24;-1:-1:-1;3524:3:354;3490:88;;;-1:-1:-1;3612:12:354;;3587:22;3634:223;3654:13;:20;3650:1;:24;3634:223;;;3700:33;3709:5;3716:13;3730:1;3716:16;;;;;;;3700:33;3695:152;;3782:13;3796:1;3782:16;;;;;;;;;;;;;;3753:10;3764:14;3753:26;;;;;;;;-1:-1:-1;;;;;3753:45:354;;;;:26;;;;;;;;;;;:45;-1:-1:-1;3816:16:354;;;;;3695:152;3676:3;;3634:223;;;;3867:17;;2967:924;;;;:::o;8522:410:447:-;-1:-1:-1;;;;;8605:21:447;;8597:67;;;;-1:-1:-1;;;8597:67:447;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8675:49;8696:7;8713:1;8717:6;8675:20;:49::i;:::-;8756:68;8779:6;8756:68;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8756:18:447;;:9;:18;;;;;;;;;;;;;:22;:68::i;:::-;-1:-1:-1;;;;;8735:18:447;;:9;:18;;;;;;;;;;:89;8849:12;;:24;;8866:6;8849:16;:24::i;:::-;8834:12;:39;8888:37;;;;;;;;8914:1;;-1:-1:-1;;;;;8888:37:447;;;;;;;;;;;;8522:410;;:::o;4217:150:442:-;4275:7;4306:1;4302;:5;4294:44;;;;;-1:-1:-1;;;4294:44:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;4359:1;4355;:5;;;;;;;4217:150;-1:-1:-1;;;4217:150:442:o;5432:163::-;5518:7;5553:12;5545:6;;;;5537:29;;;;-1:-1:-1;;;5537:29:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5583:5:442;;;5432:163::o;3727:172:447:-;3813:4;3829:42;3839:12;:10;:12::i;:::-;3853:9;3864:6;3829:9;:42::i;8500:221:352:-;8592:22;:52;;-1:-1:-1;;8592:52:352;-1:-1:-1;;;;;8592:52:352;;;;;;;;8660:54;;;;;;;;;;;;;;;;;8500:221;:::o;8766:131::-;8828:7;:22;;-1:-1:-1;;;;;;8828:22:352;;-1:-1:-1;;;;;8828:22:352;;;;;;;;;;;;8866:24;;;;;;;;;;;;;;;;;8766:131;:::o;7832:370:447:-;-1:-1:-1;;;;;7915:21:447;;7907:65;;;;;-1:-1:-1;;;7907:65:447;;;;;;;;;;;;;;;;;;;;;;;;;;;;7983:49;8012:1;8016:7;8025:6;7983:20;:49::i;:::-;8058:12;;:24;;8075:6;8058:16;:24::i;:::-;8043:12;:39;-1:-1:-1;;;;;8113:18:447;;:9;:18;;;;;;;;;;;:30;;8136:6;8113:22;:30::i;:::-;-1:-1:-1;;;;;8092:18:447;;:9;:18;;;;;;;;;;;:51;;;;8158:37;;;;;;;8092:18;;:9;;8158:37;;;;;;;;;;7832:370;;:::o;885:203:450:-;1012:68;;;-1:-1:-1;;;;;1012:68:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1012:68:450;-1:-1:-1;;;1012:68:450;;;985:96;;1005:5;;985:19;:96::i;:::-;885:203;;;;:::o;7031:530:447:-;-1:-1:-1;;;;;7136:20:447;;7128:70;;;;-1:-1:-1;;;7128:70:447;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7216:23:447;;7208:71;;;;-1:-1:-1;;;7208:71:447;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7290:47;7311:6;7319:9;7330:6;7290:20;:47::i;:::-;7368:71;7390:6;7368:71;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7368:17:447;;:9;:17;;;;;;;;;;;;;:21;:71::i;:::-;-1:-1:-1;;;;;7348:17:447;;;:9;:17;;;;;;;;;;;:91;;;;7472:20;;;;;;;:32;;7497:6;7472:24;:32::i;:::-;-1:-1:-1;;;;;7449:20:447;;;:9;:20;;;;;;;;;;;;:55;;;;7519:35;;;;;;;7449:20;;7519:35;;;;;;;;;;;;;7031:530;;;:::o;2967:751:450:-;3412:69;;;;;;;;;;;;;;;;;;3386:23;;3412:69;;-1:-1:-1;;;;;3412:27:450;;;3440:4;;3412:27;:69::i;:::-;3495:17;;3386:95;;-1:-1:-1;3495:21:450;3491:221;;3635:10;3624:30;;;;;;;;;;;;;;;-1:-1:-1;3624:30:450;3616:85;;;;-1:-1:-1;;;3616:85:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2489:299:354;2595:17;2633:9;2628:132;2648:5;:12;2644:1;:16;2628:132;;;2696:5;2702:1;2696:8;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2685:19:354;;;;;;2681:69;;;2731:4;2724:11;;;;;2681:69;2662:3;;2628:132;;;-1:-1:-1;2776:5:354;;2489:299;-1:-1:-1;;;2489:299:354:o;1127:205:360:-;1207:12;1246:8;1235;:19;1231:76;;;-1:-1:-1;1277:19:360;;;1270:26;;1231:76;-1:-1:-1;1324:1:360;1127:205;;;;:::o;3581:193:451:-;3684:12;3715:52;3737:6;3745:4;3751:1;3754:12;3684;4858:18;4869:6;4858:10;:18::i;:::-;4850:60;;;;;-1:-1:-1;;;4850:60:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;4981:12;4995:23;5022:6;-1:-1:-1;;;;;5022:11:451;5042:5;5050:4;5022:33;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5022:33:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4980:75;;;;5072:52;5090:7;5099:10;5111:12;5072:17;:52::i;:::-;5065:59;4608:523;-1:-1:-1;;;;;;;4608:523:451:o;726:413::-;1086:20;1124:8;;;726:413::o;7091:725::-;7206:12;7234:7;7230:580;;;-1:-1:-1;7264:10:451;7257:17;;7230:580;7375:17;;:21;7371:429;;7633:10;7627:17;7693:15;7680:10;7676:2;7672:19;7665:44;7582:145;7765:20;;-1:-1:-1;;;7765:20:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7765:20:451;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;", "linkReferences": {}, "immutableReferences": { "75029": [ { "start": 8597, "length": 32 } ], "75031": [ { "start": 7766, "length": 32 } ], "75033": [ { "start": 7724, "length": 32 } ], "75035": [ { "start": 7619, "length": 32 } ], "75037": [ { "start": 11294, "length": 32 } ], "75039": [ { "start": 11440, "length": 32 } ], "75041": [ { "start": 1911, "length": 32 }, { "start": 5778, "length": 32 } ] } }, "methodIdentifiers": { "allowance(address,address)": "dd62ed3e", "approve(address,uint256)": "095ea7b3", "balanceOf(address)": "70a08231", "decimals()": "313ce567", "decreaseAllowance(address,uint256)": "a457c2d7", "deposit(uint256)": "b6b55f25", "enterLockedState()": "40806ae6", "enterRedeemState(address[])": "851bda82", "getAllowedDepositorListId()": "8c434471", "getDepositToken()": "fb1b5c7b", "getFeeBps()": "2c928098", "getFeeExcludesDepositTokenPrincipal()": "907e3df3", "getFeeRecipient()": "4ccb20c0", "getManager()": "d5009584", "getProtocolFeeStart()": "a161a512", "getRedeemedAssets()": "ecb6abd6", "getState()": "1865c57d", "getTotalDepositMax()": "2207b386", "getTransfersAllowed()": "6edac21b", "getVaultProxy()": "c9809187", "increaseAllowance(address,uint256)": "39509351", "init(address,address,uint128,bool,uint128,address,uint16,bool,address)": "ae652af6", "name()": "06fdde03", "setAllowedDepositorListId(uint128)": "e9085cc7", "setManager(address)": "d0ebdbe7", "setTotalDepositMax(uint128)": "913cc04a", "symbol()": "95d89b41", "totalSupply()": "18160ddd", "transfer(address,uint256)": "a9059cbb", "transferFrom(address,address,uint256)": "23b872dd", "withdraw(uint256,address[])": "99eca69f" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_dispatcher\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_addressListRegistry\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_fundDeployerV4\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_protocolFeeRecipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_protocolFeeBps\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_initializer\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"listId\",\"type\":\"uint256\"}],\"name\":\"AllowedDepositorListIdSet\",\"type\":\"event\"},{\"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\":\"user\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Deposited\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"FeePaid\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"vaultProxy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"depositToken\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"transfersAllowed\",\"type\":\"bool\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"feeRecipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint16\",\"name\":\"feeBps\",\"type\":\"uint16\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"feeExcludesDepositTokenPrincipal\",\"type\":\"bool\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"manager\",\"type\":\"address\"}],\"name\":\"ManagerSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"ProtocolFeePaid\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"ProtocolFeeStarted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"enum ArbitraryTokenPhasedSharesWrapperLib.State\",\"name\":\"state\",\"type\":\"uint8\"}],\"name\":\"StateSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"totalDepositMax\",\"type\":\"uint256\"}],\"name\":\"TotalDepositMaxSet\",\"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\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"claimedAssets\",\"type\":\"address[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"claimedAssetAmounts\",\"type\":\"uint256[]\"}],\"name\":\"Withdrawn\",\"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\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"decimals_\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"deposit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"enterLockedState\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_untrackedAssetsToClaim\",\"type\":\"address[]\"}],\"name\":\"enterRedeemState\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAllowedDepositorListId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"allowedDepositorListId_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDepositToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"depositToken_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFeeBps\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"feeBps_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFeeExcludesDepositTokenPrincipal\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"excludesPrincipal_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFeeRecipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"feeRecipient_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"manager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getProtocolFeeStart\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"protocolFeeStart_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRedeemedAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"redeemedAssets_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getState\",\"outputs\":[{\"internalType\":\"enum ArbitraryTokenPhasedSharesWrapperLib.State\",\"name\":\"state_\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getTotalDepositMax\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"totalDepositMax_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getTransfersAllowed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"transfersAllowed_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getVaultProxy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"vaultProxy_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_depositToken\",\"type\":\"address\"},{\"internalType\":\"uint128\",\"name\":\"_allowedDepositorListId\",\"type\":\"uint128\"},{\"internalType\":\"bool\",\"name\":\"_transfersAllowed\",\"type\":\"bool\"},{\"internalType\":\"uint128\",\"name\":\"_totalDepositMax\",\"type\":\"uint128\"},{\"internalType\":\"address\",\"name\":\"_feeRecipient\",\"type\":\"address\"},{\"internalType\":\"uint16\",\"name\":\"_feeBps\",\"type\":\"uint16\"},{\"internalType\":\"bool\",\"name\":\"_feeExcludesDepositTokenPrincipal\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"_manager\",\"type\":\"address\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"name_\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint128\",\"name\":\"_nextAllowedDepositorListId\",\"type\":\"uint128\"}],\"name\":\"setAllowedDepositorListId\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nextManager\",\"type\":\"address\"}],\"name\":\"setManager\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint128\",\"name\":\"_nextTotalDepositMax\",\"type\":\"uint128\"}],\"name\":\"setTotalDepositMax\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"symbol_\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success_\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success_\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"_additionalAssets\",\"type\":\"address[]\"}],\"name\":\"withdraw\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"claimedAssets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"claimedAssetAmounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"This contract is only intended for use by vaults on Enzyme v4, or hotfix releases that maintain the same essential logic and interfaces. Owners should NOT upgrade to a new version of the core protocol while this wrapper is in a non-Redeem state, unless certain that the new version adheres to the same required interfaces and general logical assumptions. Core protocol fees are assumed to be turned off for any vault using this wrapper, which instead applies a protocol fee locally (requires Enzyme Council action). This is due to the challenges of fairly applying the fee on the dilutive mechanism for depositing untracked assets. The owner defers to `VaultProxy.owner`, to maintain the same trust assumptions of the fund. Requires a fund setup where: - the fund owner is trusted by depositors - untrusted asset managers cannot untrack assets or untrack external positions with positive value - all other generally-recommended policies are in-place for limiting untrusted asset manager interactions with adapters and external positions\",\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"decimals()\":{\"returns\":{\"decimals_\":\"The number of decimals\"}},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.\"},\"deposit(uint256)\":{\"params\":{\"_amount\":\"The amount of the deposit token to deposit\"}},\"enterLockedState()\":{\"details\":\"Requires that the current contract contains some amount of the denomination asset with which to buy vault shares. It is recommended to use an insignificant amount of value, as wrapped shareholders will have a claim to a pro-rata share.\"},\"enterRedeemState(address[])\":{\"details\":\"Vault managers must move all value into the vault and should track all assets prior to calling this function. Any untracked assets can also be claimed by specifying them in _untrackedAssetsToClaim.\",\"params\":{\"_untrackedAssetsToClaim\":\"A list of any assets to claim that are untracked in the vault\"}},\"getAllowedDepositorListId()\":{\"returns\":{\"allowedDepositorListId_\":\"The allowedDepositorListId value\"}},\"getDepositToken()\":{\"returns\":{\"depositToken_\":\"The depositToken value\"}},\"getFeeBps()\":{\"returns\":{\"feeBps_\":\"The feeBps value\"}},\"getFeeExcludesDepositTokenPrincipal()\":{\"returns\":{\"excludesPrincipal_\":\"The feeExcludesDepositTokenPrincipal value\"}},\"getFeeRecipient()\":{\"returns\":{\"feeRecipient_\":\"The feeRecipient value\"}},\"getManager()\":{\"returns\":{\"manager_\":\"The manager value\"}},\"getProtocolFeeStart()\":{\"returns\":{\"protocolFeeStart_\":\"The protocolFeeStart value\"}},\"getRedeemedAssets()\":{\"returns\":{\"redeemedAssets_\":\"The redeemedAssets value\"}},\"getState()\":{\"returns\":{\"state_\":\"The state value\"}},\"getTotalDepositMax()\":{\"returns\":{\"totalDepositMax_\":\"The totalDepositMax value\"}},\"getTransfersAllowed()\":{\"returns\":{\"transfersAllowed_\":\"The transfersAllowed value\"}},\"getVaultProxy()\":{\"returns\":{\"vaultProxy_\":\"The vaultProxy value\"}},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address.\"},\"init(address,address,uint128,bool,uint128,address,uint16,bool,address)\":{\"details\":\"Validating via INITIALIZER makes deployments cheaper than checking a storage var, but INITIALIZER must be trusted to not call more than once.\",\"params\":{\"_allowedDepositorListId\":\"The id of an AddressListRegistry list to use for validating allowed depositors\",\"_depositToken\":\"The token that users deposit to the wrapper to receive wrapped shares\",\"_feeBps\":\"The wrapper fee amount in bps\",\"_feeExcludesDepositTokenPrincipal\":\"True if the fee excludes the total _depositToken amount deposited\",\"_feeRecipient\":\"The recipient of the wrapper fee\",\"_manager\":\"The manager of the wrapper\",\"_totalDepositMax\":\"The total amount of deposit token that can be deposited\",\"_transfersAllowed\":\"True if wrapped shares transfers are allowed\",\"_vaultProxy\":\"The VaultProxy that will have its shares wrapped\"}},\"name()\":{\"returns\":{\"name_\":\"The name\"}},\"setAllowedDepositorListId(uint128)\":{\"params\":{\"_nextAllowedDepositorListId\":\"The next allowedDepositorListId value\"}},\"setManager(address)\":{\"params\":{\"_nextManager\":\"The next manager value\"}},\"setTotalDepositMax(uint128)\":{\"params\":{\"_nextTotalDepositMax\":\"The next totalDepositMax value\"}},\"symbol()\":{\"returns\":{\"symbol_\":\"The symbol\"}},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"Standard implementation of ERC20's transfer(). Blocks transfers if not allowed.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Standard implementation of ERC20's transferFrom(). Blocks transfers if not allowed.\"},\"withdraw(uint256,address[])\":{\"details\":\"Any assets not claimed will be forfeited. All should be included automatically via redeemedAssets, unless a vault manager error occurs, such as forgetting to claim untracked assets during redemption, which they would then need to send to the wrapper manually.\",\"params\":{\"_additionalAssets\":\"A list of any additional assets to claim (not stored in redeemedAssets)\",\"_amount\":\"The amount of shares to exchange\"},\"returns\":{\"claimedAssetAmounts_\":\"The actual amounts of assets claimed\",\"claimedAssets_\":\"The ordered assets claimed\"}}},\"title\":\"ArbitraryTokenPhasedSharesWrapperLib Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"decimals()\":{\"notice\":\"Gets the number of decimals of the wrapped shares token\"},\"deposit(uint256)\":{\"notice\":\"Deposits an amount of the deposit token in exchange for wrapped shares\"},\"enterLockedState()\":{\"notice\":\"Enters Locked state, transferring the deposit token to the vault and buying vault shares in the process\"},\"enterRedeemState(address[])\":{\"notice\":\"Enters Redeem state, redeeming all vault shares and paying out both protocol and wrapper fees\"},\"getAllowedDepositorListId()\":{\"notice\":\"Gets the allowedDepositorListId var\"},\"getDepositToken()\":{\"notice\":\"Gets the depositToken var\"},\"getFeeBps()\":{\"notice\":\"Gets the feeBps var\"},\"getFeeExcludesDepositTokenPrincipal()\":{\"notice\":\"Gets the feeExcludesDepositTokenPrincipal var\"},\"getFeeRecipient()\":{\"notice\":\"Gets the feeRecipient var\"},\"getManager()\":{\"notice\":\"Gets the manager var\"},\"getProtocolFeeStart()\":{\"notice\":\"Gets the protocolFeeStart var\"},\"getRedeemedAssets()\":{\"notice\":\"Gets the redeemedAssets var\"},\"getState()\":{\"notice\":\"Gets the state var\"},\"getTotalDepositMax()\":{\"notice\":\"Gets the totalDepositMax var\"},\"getTransfersAllowed()\":{\"notice\":\"Gets the transfersAllowed var\"},\"getVaultProxy()\":{\"notice\":\"Gets the vaultProxy var\"},\"init(address,address,uint128,bool,uint128,address,uint16,bool,address)\":{\"notice\":\"Initializes a proxy instance\"},\"name()\":{\"notice\":\"Gets the name of the wrapped shares token\"},\"setAllowedDepositorListId(uint128)\":{\"notice\":\"Sets the allowedDepositorListId var\"},\"setManager(address)\":{\"notice\":\"Sets the manager var\"},\"setTotalDepositMax(uint128)\":{\"notice\":\"Sets the totalDepositMax var\"},\"symbol()\":{\"notice\":\"Gets the symbol of the wrapped shares token\"},\"withdraw(uint256,address[])\":{\"notice\":\"Withdraws a pro-rata share of all assets in exchange for burning wrapped shares\"}},\"notice\":\"An ERC20 wrapper for Enzyme vault shares that facilitates an arbitrary deposit token, using a phased mechanism for accepting deposits and allowing withdrawals\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/peripheral/shares-wrappers/arbitrary-token-phased/ArbitraryTokenPhasedSharesWrapperLib.sol\":\"ArbitraryTokenPhasedSharesWrapperLib\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/address-list-registry/AddressListRegistry.sol\":{\"keccak256\":\"0xf00a9e376e3ec2a223f463f71c15ee3af3642dd028bc3762440e316b760c8048\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://01986c9327b5dfbfac21316dced6d68727931ddde1278ed1342d878004f984b9\",\"dweb:/ipfs/QmdXkFaUU43JqMTYEREbWa129rohdqN7GXy7mVRpjCfSLD\"]},\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/persistent/protocol-fee-reserve/interfaces/IProtocolFeeReserve1.sol\":{\"keccak256\":\"0x2728878c423db523bc95189137e8c58d2d7db9f56bbd5c6b1f988c08b551fbab\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3b0df1d2eb74151265d03ab91a7c341f7beca475dd2f4d669052dbc4ee2c06ac\",\"dweb:/ipfs/QmVx1cgrxQNYfdK1Kn15pcgqf79Uw8bF3U6i7F2HG2rj6G\"]},\"contracts/persistent/vault/VaultLibBase1.sol\":{\"keccak256\":\"0xa4dac1e4cdb311a2ab187135355357d8790c505ef36dd912c057fe53743d30b5\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b66efe821016ab927c949263023260515e90f5d480dc8d94eefbfeec7bf7490b\",\"dweb:/ipfs/QmNY3xKnhL9EptAbxGvXHGAXfV9pj3dDPwsZnKrPs54ZHw\"]},\"contracts/persistent/vault/VaultLibBase2.sol\":{\"keccak256\":\"0xf7d31f2a9a47770ed3f444be2c4fe9262ddb55fef7f25e546b1f03c9afec4c09\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9353ddce7c9b8b3c13fed23fe8edec99ca610d791b0c5b204b3d01f1f08d07d2\",\"dweb:/ipfs/QmeVsEh3joCjv49BRXeHASevnZZ5xdZXpkctHT8BPf37N2\"]},\"contracts/persistent/vault/VaultLibBaseCore.sol\":{\"keccak256\":\"0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd\",\"dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz\"]},\"contracts/persistent/vault/interfaces/IExternalPositionVault.sol\":{\"keccak256\":\"0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d\",\"dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8\"]},\"contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol\":{\"keccak256\":\"0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb\",\"dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU\"]},\"contracts/persistent/vault/interfaces/IMigratableVault.sol\":{\"keccak256\":\"0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6\",\"dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs\"]},\"contracts/persistent/vault/interfaces/IVaultCore.sol\":{\"keccak256\":\"0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd\",\"dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr\"]},\"contracts/persistent/vault/utils/ProxiableVaultLib.sol\":{\"keccak256\":\"0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44\",\"dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4\"]},\"contracts/persistent/vault/utils/SharesTokenBase.sol\":{\"keccak256\":\"0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8\",\"dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4\"]},\"contracts/persistent/vault/utils/VaultLibSafeMath.sol\":{\"keccak256\":\"0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02\",\"dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG\"]},\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/core/fund/comptroller/ComptrollerLib.sol\":{\"keccak256\":\"0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579\",\"dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq\"]},\"contracts/release/core/fund/comptroller/IComptroller.sol\":{\"keccak256\":\"0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97\",\"dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L\"]},\"contracts/release/core/fund/vault/IVault.sol\":{\"keccak256\":\"0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599\",\"dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG\"]},\"contracts/release/core/fund/vault/VaultLib.sol\":{\"keccak256\":\"0x07e49445ab55c01e1b499a48baadc2a15d1eba621f1c6d3ccfdb84c87b976da8\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://56d882459248f73e137db2e097fc56b946147fb28ec21661b77431f88e856cb4\",\"dweb:/ipfs/QmRP6Ry7DCS5uoKxnnkTomHSzbaCze6cHqbR9aLdjoF6vK\"]},\"contracts/release/extensions/IExtension.sol\":{\"keccak256\":\"0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70\",\"dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t\"]},\"contracts/release/extensions/external-position-manager/IExternalPositionManager.sol\":{\"keccak256\":\"0x3af3f634e1f99fb97091b7825c0d2e2baaafc124d4e87d56cb0c17ff8554f6c6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://515470605afe5ef147f30fa75ce7818f0e00e3d321eb81a4d9bffcdefc294495\",\"dweb:/ipfs/QmPKsp99pfHoz9Tfo3ZxnkmqDqJtN9PxqacF2RmeVfxUJF\"]},\"contracts/release/extensions/fee-manager/IFeeManager.sol\":{\"keccak256\":\"0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22\",\"dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod\"]},\"contracts/release/extensions/policy-manager/IPolicyManager.sol\":{\"keccak256\":\"0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa\",\"dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb\"]},\"contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol\":{\"keccak256\":\"0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f\",\"dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol\":{\"keccak256\":\"0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0\",\"dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol\":{\"keccak256\":\"0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b\",\"dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3\"]},\"contracts/release/infrastructure/protocol-fees/IProtocolFeeTracker.sol\":{\"keccak256\":\"0x232b347f83457439064add7369bfe1930c7cb56f15930bb87d640e909c15e447\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://24f9af5eebdd373b1d7a598c096eb6def31b2640d54416d7d5a7226e1cef17e6\",\"dweb:/ipfs/QmStq9ByGuSYdKwTmZf52L1X6sZVJUfXTnoVbnjLLiUcHG\"]},\"contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol\":{\"keccak256\":\"0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965\",\"dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ\"]},\"contracts/release/interfaces/IGsnForwarder.sol\":{\"keccak256\":\"0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29\",\"dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G\"]},\"contracts/release/interfaces/IGsnPaymaster.sol\":{\"keccak256\":\"0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4\",\"dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF\"]},\"contracts/release/interfaces/IGsnTypes.sol\":{\"keccak256\":\"0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7\",\"dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C\"]},\"contracts/release/interfaces/IWETH.sol\":{\"keccak256\":\"0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2\",\"dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ\"]},\"contracts/release/peripheral/shares-wrappers/arbitrary-token-phased/ArbitraryTokenPhasedSharesWrapperLib.sol\":{\"keccak256\":\"0xc30ef4e60784b2b7f9cfde28f19b632f122b10e8c0ee6e651cb4103164b6266c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a8f196fcadc70d8e6eebad3dfd1147e929bb41e2813cac84650ed6d898d40db6\",\"dweb:/ipfs/QmSDEnTBR9mqLwGFxDECctyWBgNUuQv5oSCMZW9BFoTXtE\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"contracts/release/utils/MathHelpers.sol\":{\"keccak256\":\"0x8aef498ae98bfb40cd1df8c9ed652b4c092fbbe62d5a1fad522c53654523248e\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ed62789f6a8d5ca30a40c591f244b915e4711493a9e4b1b4d40ea2bc97b02a95\",\"dweb:/ipfs/QmWyXJ55arURtx9VMkUQokdsjk8tbgM2cC8rENFUMyz5D3\"]},\"contracts/release/utils/beacon-proxy/IBeacon.sol\":{\"keccak256\":\"0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39\",\"dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V\"]},\"contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol\":{\"keccak256\":\"0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be\",\"dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20Burnable.sol\":{\"keccak256\":\"0x9c0eb3b0e11d2480d49991dc384f1e5f9c9b9967cc81944d50916a9b9c6c4984\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99e4033d778624992e86f0b6d801a4f6d7b5c0cd5c79c1296be90a051ad5f5af\",\"dweb:/ipfs/QmShYmkUqh6pDEeoWadZ24icmCr4C2Xys1uE5boivPmbwf\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_dispatcher", "type": "address" }, { "internalType": "address", "name": "_addressListRegistry", "type": "address" }, { "internalType": "address", "name": "_fundDeployerV4", "type": "address" }, { "internalType": "address", "name": "_protocolFeeRecipient", "type": "address" }, { "internalType": "uint256", "name": "_protocolFeeBps", "type": "uint256" }, { "internalType": "address", "name": "_initializer", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "uint256", "name": "listId", "type": "uint256", "indexed": false } ], "type": "event", "name": "AllowedDepositorListIdSet", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address", "indexed": true }, { "internalType": "address", "name": "spender", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "value", "type": "uint256", "indexed": false } ], "type": "event", "name": "Approval", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "user", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "amount", "type": "uint256", "indexed": false } ], "type": "event", "name": "Deposited", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "token", "type": "address", "indexed": false }, { "internalType": "uint256", "name": "amount", "type": "uint256", "indexed": false } ], "type": "event", "name": "FeePaid", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "vaultProxy", "type": "address", "indexed": false }, { "internalType": "address", "name": "depositToken", "type": "address", "indexed": false }, { "internalType": "bool", "name": "transfersAllowed", "type": "bool", "indexed": false }, { "internalType": "address", "name": "feeRecipient", "type": "address", "indexed": false }, { "internalType": "uint16", "name": "feeBps", "type": "uint16", "indexed": false }, { "internalType": "bool", "name": "feeExcludesDepositTokenPrincipal", "type": "bool", "indexed": false } ], "type": "event", "name": "Initialized", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "manager", "type": "address", "indexed": false } ], "type": "event", "name": "ManagerSet", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "token", "type": "address", "indexed": false }, { "internalType": "uint256", "name": "amount", "type": "uint256", "indexed": false } ], "type": "event", "name": "ProtocolFeePaid", "anonymous": false }, { "inputs": [], "type": "event", "name": "ProtocolFeeStarted", "anonymous": false }, { "inputs": [ { "internalType": "enum ArbitraryTokenPhasedSharesWrapperLib.State", "name": "state", "type": "uint8", "indexed": false } ], "type": "event", "name": "StateSet", "anonymous": false }, { "inputs": [ { "internalType": "uint256", "name": "totalDepositMax", "type": "uint256", "indexed": false } ], "type": "event", "name": "TotalDepositMaxSet", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address", "indexed": true }, { "internalType": "address", "name": "to", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "value", "type": "uint256", "indexed": false } ], "type": "event", "name": "Transfer", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "user", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "amount", "type": "uint256", "indexed": false }, { "internalType": "address[]", "name": "claimedAssets", "type": "address[]", "indexed": false }, { "internalType": "uint256[]", "name": "claimedAssetAmounts", "type": "uint256[]", "indexed": false } ], "type": "event", "name": "Withdrawn", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "decimals_", "type": "uint8" } ] }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "subtractedValue", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "decreaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "deposit" }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "enterLockedState" }, { "inputs": [ { "internalType": "address[]", "name": "_untrackedAssetsToClaim", "type": "address[]" } ], "stateMutability": "nonpayable", "type": "function", "name": "enterRedeemState" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getAllowedDepositorListId", "outputs": [ { "internalType": "uint256", "name": "allowedDepositorListId_", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getDepositToken", "outputs": [ { "internalType": "address", "name": "depositToken_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getFeeBps", "outputs": [ { "internalType": "uint256", "name": "feeBps_", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getFeeExcludesDepositTokenPrincipal", "outputs": [ { "internalType": "bool", "name": "excludesPrincipal_", "type": "bool" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getFeeRecipient", "outputs": [ { "internalType": "address", "name": "feeRecipient_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getManager", "outputs": [ { "internalType": "address", "name": "manager_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getProtocolFeeStart", "outputs": [ { "internalType": "uint256", "name": "protocolFeeStart_", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getRedeemedAssets", "outputs": [ { "internalType": "address[]", "name": "redeemedAssets_", "type": "address[]" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getState", "outputs": [ { "internalType": "enum ArbitraryTokenPhasedSharesWrapperLib.State", "name": "state_", "type": "uint8" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getTotalDepositMax", "outputs": [ { "internalType": "uint256", "name": "totalDepositMax_", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getTransfersAllowed", "outputs": [ { "internalType": "bool", "name": "transfersAllowed_", "type": "bool" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getVaultProxy", "outputs": [ { "internalType": "address", "name": "vaultProxy_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "addedValue", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "increaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "address", "name": "_depositToken", "type": "address" }, { "internalType": "uint128", "name": "_allowedDepositorListId", "type": "uint128" }, { "internalType": "bool", "name": "_transfersAllowed", "type": "bool" }, { "internalType": "uint128", "name": "_totalDepositMax", "type": "uint128" }, { "internalType": "address", "name": "_feeRecipient", "type": "address" }, { "internalType": "uint16", "name": "_feeBps", "type": "uint16" }, { "internalType": "bool", "name": "_feeExcludesDepositTokenPrincipal", "type": "bool" }, { "internalType": "address", "name": "_manager", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "init" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "name", "outputs": [ { "internalType": "string", "name": "name_", "type": "string" } ] }, { "inputs": [ { "internalType": "uint128", "name": "_nextAllowedDepositorListId", "type": "uint128" } ], "stateMutability": "nonpayable", "type": "function", "name": "setAllowedDepositorListId" }, { "inputs": [ { "internalType": "address", "name": "_nextManager", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "setManager" }, { "inputs": [ { "internalType": "uint128", "name": "_nextTotalDepositMax", "type": "uint128" } ], "stateMutability": "nonpayable", "type": "function", "name": "setTotalDepositMax" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "symbol", "outputs": [ { "internalType": "string", "name": "symbol_", "type": "string" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "_recipient", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "transfer", "outputs": [ { "internalType": "bool", "name": "success_", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "_sender", "type": "address" }, { "internalType": "address", "name": "_recipient", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "success_", "type": "bool" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_amount", "type": "uint256" }, { "internalType": "address[]", "name": "_additionalAssets", "type": "address[]" } ], "stateMutability": "nonpayable", "type": "function", "name": "withdraw", "outputs": [ { "internalType": "address[]", "name": "claimedAssets_", "type": "address[]" }, { "internalType": "uint256[]", "name": "claimedAssetAmounts_", "type": "uint256[]" } ] } ], "devdoc": { "kind": "dev", "methods": { "allowance(address,address)": { "details": "See {IERC20-allowance}." }, "approve(address,uint256)": { "details": "See {IERC20-approve}. Requirements: - `spender` cannot be the zero address." }, "balanceOf(address)": { "details": "See {IERC20-balanceOf}." }, "decimals()": { "returns": { "decimals_": "The number of decimals" } }, "decreaseAllowance(address,uint256)": { "details": "Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`." }, "deposit(uint256)": { "params": { "_amount": "The amount of the deposit token to deposit" } }, "enterLockedState()": { "details": "Requires that the current contract contains some amount of the denomination asset with which to buy vault shares. It is recommended to use an insignificant amount of value, as wrapped shareholders will have a claim to a pro-rata share." }, "enterRedeemState(address[])": { "details": "Vault managers must move all value into the vault and should track all assets prior to calling this function. Any untracked assets can also be claimed by specifying them in _untrackedAssetsToClaim.", "params": { "_untrackedAssetsToClaim": "A list of any assets to claim that are untracked in the vault" } }, "getAllowedDepositorListId()": { "returns": { "allowedDepositorListId_": "The allowedDepositorListId value" } }, "getDepositToken()": { "returns": { "depositToken_": "The depositToken value" } }, "getFeeBps()": { "returns": { "feeBps_": "The feeBps value" } }, "getFeeExcludesDepositTokenPrincipal()": { "returns": { "excludesPrincipal_": "The feeExcludesDepositTokenPrincipal value" } }, "getFeeRecipient()": { "returns": { "feeRecipient_": "The feeRecipient value" } }, "getManager()": { "returns": { "manager_": "The manager value" } }, "getProtocolFeeStart()": { "returns": { "protocolFeeStart_": "The protocolFeeStart value" } }, "getRedeemedAssets()": { "returns": { "redeemedAssets_": "The redeemedAssets value" } }, "getState()": { "returns": { "state_": "The state value" } }, "getTotalDepositMax()": { "returns": { "totalDepositMax_": "The totalDepositMax value" } }, "getTransfersAllowed()": { "returns": { "transfersAllowed_": "The transfersAllowed value" } }, "getVaultProxy()": { "returns": { "vaultProxy_": "The vaultProxy value" } }, "increaseAllowance(address,uint256)": { "details": "Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address." }, "init(address,address,uint128,bool,uint128,address,uint16,bool,address)": { "details": "Validating via INITIALIZER makes deployments cheaper than checking a storage var, but INITIALIZER must be trusted to not call more than once.", "params": { "_allowedDepositorListId": "The id of an AddressListRegistry list to use for validating allowed depositors", "_depositToken": "The token that users deposit to the wrapper to receive wrapped shares", "_feeBps": "The wrapper fee amount in bps", "_feeExcludesDepositTokenPrincipal": "True if the fee excludes the total _depositToken amount deposited", "_feeRecipient": "The recipient of the wrapper fee", "_manager": "The manager of the wrapper", "_totalDepositMax": "The total amount of deposit token that can be deposited", "_transfersAllowed": "True if wrapped shares transfers are allowed", "_vaultProxy": "The VaultProxy that will have its shares wrapped" } }, "name()": { "returns": { "name_": "The name" } }, "setAllowedDepositorListId(uint128)": { "params": { "_nextAllowedDepositorListId": "The next allowedDepositorListId value" } }, "setManager(address)": { "params": { "_nextManager": "The next manager value" } }, "setTotalDepositMax(uint128)": { "params": { "_nextTotalDepositMax": "The next totalDepositMax value" } }, "symbol()": { "returns": { "symbol_": "The symbol" } }, "totalSupply()": { "details": "See {IERC20-totalSupply}." }, "transfer(address,uint256)": { "details": "Standard implementation of ERC20's transfer(). Blocks transfers if not allowed." }, "transferFrom(address,address,uint256)": { "details": "Standard implementation of ERC20's transferFrom(). Blocks transfers if not allowed." }, "withdraw(uint256,address[])": { "details": "Any assets not claimed will be forfeited. All should be included automatically via redeemedAssets, unless a vault manager error occurs, such as forgetting to claim untracked assets during redemption, which they would then need to send to the wrapper manually.", "params": { "_additionalAssets": "A list of any additional assets to claim (not stored in redeemedAssets)", "_amount": "The amount of shares to exchange" }, "returns": { "claimedAssetAmounts_": "The actual amounts of assets claimed", "claimedAssets_": "The ordered assets claimed" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "decimals()": { "notice": "Gets the number of decimals of the wrapped shares token" }, "deposit(uint256)": { "notice": "Deposits an amount of the deposit token in exchange for wrapped shares" }, "enterLockedState()": { "notice": "Enters Locked state, transferring the deposit token to the vault and buying vault shares in the process" }, "enterRedeemState(address[])": { "notice": "Enters Redeem state, redeeming all vault shares and paying out both protocol and wrapper fees" }, "getAllowedDepositorListId()": { "notice": "Gets the allowedDepositorListId var" }, "getDepositToken()": { "notice": "Gets the depositToken var" }, "getFeeBps()": { "notice": "Gets the feeBps var" }, "getFeeExcludesDepositTokenPrincipal()": { "notice": "Gets the feeExcludesDepositTokenPrincipal var" }, "getFeeRecipient()": { "notice": "Gets the feeRecipient var" }, "getManager()": { "notice": "Gets the manager var" }, "getProtocolFeeStart()": { "notice": "Gets the protocolFeeStart var" }, "getRedeemedAssets()": { "notice": "Gets the redeemedAssets var" }, "getState()": { "notice": "Gets the state var" }, "getTotalDepositMax()": { "notice": "Gets the totalDepositMax var" }, "getTransfersAllowed()": { "notice": "Gets the transfersAllowed var" }, "getVaultProxy()": { "notice": "Gets the vaultProxy var" }, "init(address,address,uint128,bool,uint128,address,uint16,bool,address)": { "notice": "Initializes a proxy instance" }, "name()": { "notice": "Gets the name of the wrapped shares token" }, "setAllowedDepositorListId(uint128)": { "notice": "Sets the allowedDepositorListId var" }, "setManager(address)": { "notice": "Sets the manager var" }, "setTotalDepositMax(uint128)": { "notice": "Sets the totalDepositMax var" }, "symbol()": { "notice": "Gets the symbol of the wrapped shares token" }, "withdraw(uint256,address[])": { "notice": "Withdraws a pro-rata share of all assets in exchange for burning wrapped shares" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/peripheral/shares-wrappers/arbitrary-token-phased/ArbitraryTokenPhasedSharesWrapperLib.sol": "ArbitraryTokenPhasedSharesWrapperLib" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/address-list-registry/AddressListRegistry.sol": { "keccak256": "0xf00a9e376e3ec2a223f463f71c15ee3af3642dd028bc3762440e316b760c8048", "urls": [ "bzz-raw://01986c9327b5dfbfac21316dced6d68727931ddde1278ed1342d878004f984b9", "dweb:/ipfs/QmdXkFaUU43JqMTYEREbWa129rohdqN7GXy7mVRpjCfSLD" ], "license": "GPL-3.0" }, "contracts/persistent/dispatcher/IDispatcher.sol": { "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", "urls": [ "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" ], "license": "GPL-3.0" }, "contracts/persistent/external-positions/IExternalPosition.sol": { "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", "urls": [ "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" ], "license": "GPL-3.0" }, "contracts/persistent/protocol-fee-reserve/interfaces/IProtocolFeeReserve1.sol": { "keccak256": "0x2728878c423db523bc95189137e8c58d2d7db9f56bbd5c6b1f988c08b551fbab", "urls": [ "bzz-raw://3b0df1d2eb74151265d03ab91a7c341f7beca475dd2f4d669052dbc4ee2c06ac", "dweb:/ipfs/QmVx1cgrxQNYfdK1Kn15pcgqf79Uw8bF3U6i7F2HG2rj6G" ], "license": "GPL-3.0" }, "contracts/persistent/vault/VaultLibBase1.sol": { "keccak256": "0xa4dac1e4cdb311a2ab187135355357d8790c505ef36dd912c057fe53743d30b5", "urls": [ "bzz-raw://b66efe821016ab927c949263023260515e90f5d480dc8d94eefbfeec7bf7490b", "dweb:/ipfs/QmNY3xKnhL9EptAbxGvXHGAXfV9pj3dDPwsZnKrPs54ZHw" ], "license": "GPL-3.0" }, "contracts/persistent/vault/VaultLibBase2.sol": { "keccak256": "0xf7d31f2a9a47770ed3f444be2c4fe9262ddb55fef7f25e546b1f03c9afec4c09", "urls": [ "bzz-raw://9353ddce7c9b8b3c13fed23fe8edec99ca610d791b0c5b204b3d01f1f08d07d2", "dweb:/ipfs/QmeVsEh3joCjv49BRXeHASevnZZ5xdZXpkctHT8BPf37N2" ], "license": "GPL-3.0" }, "contracts/persistent/vault/VaultLibBaseCore.sol": { "keccak256": "0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074", "urls": [ "bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd", "dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IExternalPositionVault.sol": { "keccak256": "0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6", "urls": [ "bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d", "dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol": { "keccak256": "0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0", "urls": [ "bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb", "dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IMigratableVault.sol": { "keccak256": "0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238", "urls": [ "bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6", "dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IVaultCore.sol": { "keccak256": "0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80", "urls": [ "bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd", "dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr" ], "license": "GPL-3.0" }, "contracts/persistent/vault/utils/ProxiableVaultLib.sol": { "keccak256": "0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76", "urls": [ "bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44", "dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4" ], "license": "GPL-3.0" }, "contracts/persistent/vault/utils/SharesTokenBase.sol": { "keccak256": "0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113", "urls": [ "bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8", "dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4" ], "license": "GPL-3.0" }, "contracts/persistent/vault/utils/VaultLibSafeMath.sol": { "keccak256": "0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d", "urls": [ "bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02", "dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG" ], "license": "GPL-3.0" }, "contracts/release/core/fund-deployer/IFundDeployer.sol": { "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", "urls": [ "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" ], "license": "GPL-3.0" }, "contracts/release/core/fund/comptroller/ComptrollerLib.sol": { "keccak256": "0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64", "urls": [ "bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579", "dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq" ], "license": "GPL-3.0" }, "contracts/release/core/fund/comptroller/IComptroller.sol": { "keccak256": "0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f", "urls": [ "bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97", "dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L" ], "license": "GPL-3.0" }, "contracts/release/core/fund/vault/IVault.sol": { "keccak256": "0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd", "urls": [ "bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599", "dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG" ], "license": "GPL-3.0" }, "contracts/release/core/fund/vault/VaultLib.sol": { "keccak256": "0x07e49445ab55c01e1b499a48baadc2a15d1eba621f1c6d3ccfdb84c87b976da8", "urls": [ "bzz-raw://56d882459248f73e137db2e097fc56b946147fb28ec21661b77431f88e856cb4", "dweb:/ipfs/QmRP6Ry7DCS5uoKxnnkTomHSzbaCze6cHqbR9aLdjoF6vK" ], "license": "GPL-3.0" }, "contracts/release/extensions/IExtension.sol": { "keccak256": "0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b", "urls": [ "bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70", "dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/IExternalPositionManager.sol": { "keccak256": "0x3af3f634e1f99fb97091b7825c0d2e2baaafc124d4e87d56cb0c17ff8554f6c6", "urls": [ "bzz-raw://515470605afe5ef147f30fa75ce7818f0e00e3d321eb81a4d9bffcdefc294495", "dweb:/ipfs/QmPKsp99pfHoz9Tfo3ZxnkmqDqJtN9PxqacF2RmeVfxUJF" ], "license": "GPL-3.0" }, "contracts/release/extensions/fee-manager/IFeeManager.sol": { "keccak256": "0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51", "urls": [ "bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22", "dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod" ], "license": "GPL-3.0" }, "contracts/release/extensions/policy-manager/IPolicyManager.sol": { "keccak256": "0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32", "urls": [ "bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa", "dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol": { "keccak256": "0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609", "urls": [ "bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f", "dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol": { "keccak256": "0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01", "urls": [ "bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0", "dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol": { "keccak256": "0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196", "urls": [ "bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b", "dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/protocol-fees/IProtocolFeeTracker.sol": { "keccak256": "0x232b347f83457439064add7369bfe1930c7cb56f15930bb87d640e909c15e447", "urls": [ "bzz-raw://24f9af5eebdd373b1d7a598c096eb6def31b2640d54416d7d5a7226e1cef17e6", "dweb:/ipfs/QmStq9ByGuSYdKwTmZf52L1X6sZVJUfXTnoVbnjLLiUcHG" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol": { "keccak256": "0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794", "urls": [ "bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965", "dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IGsnForwarder.sol": { "keccak256": "0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030", "urls": [ "bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29", "dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IGsnPaymaster.sol": { "keccak256": "0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c", "urls": [ "bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4", "dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IGsnTypes.sol": { "keccak256": "0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714", "urls": [ "bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7", "dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IWETH.sol": { "keccak256": "0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2", "urls": [ "bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2", "dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ" ], "license": "GPL-3.0" }, "contracts/release/peripheral/shares-wrappers/arbitrary-token-phased/ArbitraryTokenPhasedSharesWrapperLib.sol": { "keccak256": "0xc30ef4e60784b2b7f9cfde28f19b632f122b10e8c0ee6e651cb4103164b6266c", "urls": [ "bzz-raw://a8f196fcadc70d8e6eebad3dfd1147e929bb41e2813cac84650ed6d898d40db6", "dweb:/ipfs/QmSDEnTBR9mqLwGFxDECctyWBgNUuQv5oSCMZW9BFoTXtE" ], "license": "GPL-3.0" }, "contracts/release/utils/AddressArrayLib.sol": { "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", "urls": [ "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" ], "license": "GPL-3.0" }, "contracts/release/utils/AssetHelpers.sol": { "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", "urls": [ "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" ], "license": "GPL-3.0" }, "contracts/release/utils/MathHelpers.sol": { "keccak256": "0x8aef498ae98bfb40cd1df8c9ed652b4c092fbbe62d5a1fad522c53654523248e", "urls": [ "bzz-raw://ed62789f6a8d5ca30a40c591f244b915e4711493a9e4b1b4d40ea2bc97b02a95", "dweb:/ipfs/QmWyXJ55arURtx9VMkUQokdsjk8tbgM2cC8rENFUMyz5D3" ], "license": "GPL-3.0" }, "contracts/release/utils/beacon-proxy/IBeacon.sol": { "keccak256": "0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2", "urls": [ "bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39", "dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V" ], "license": "GPL-3.0" }, "contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol": { "keccak256": "0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc", "urls": [ "bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be", "dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20Burnable.sol": { "keccak256": "0x9c0eb3b0e11d2480d49991dc384f1e5f9c9b9967cc81944d50916a9b9c6c4984", "urls": [ "bzz-raw://99e4033d778624992e86f0b6d801a4f6d7b5c0cd5c79c1296be90a051ad5f5af", "dweb:/ipfs/QmShYmkUqh6pDEeoWadZ24icmCr4C2Xys1uE5boivPmbwf" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", "urls": [ "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Address.sol": { "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", "urls": [ "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" } }, "version": 1 }, "id": 352 } diff --git a/eth_defi/abi/enzyme/ArbitraryTokenPhasedSharesWrapperProxy.json b/eth_defi/abi/enzyme/ArbitraryTokenPhasedSharesWrapperProxy.json index af13ffa3..2ef1ba24 100644 --- a/eth_defi/abi/enzyme/ArbitraryTokenPhasedSharesWrapperProxy.json +++ b/eth_defi/abi/enzyme/ArbitraryTokenPhasedSharesWrapperProxy.json @@ -1,137 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "bytes", - "name": "_constructData", - "type": "bytes" - }, - { - "internalType": "address", - "name": "_lib", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "stateMutability": "payable", - "type": "fallback" - } - ], - "bytecode": { - "object": "0x60a060405234801561001057600080fd5b506040516102e03803806102e08339818101604052604081101561003357600080fd5b810190808051604051939291908464010000000082111561005357600080fd5b90830190602082018581111561006857600080fd5b825164010000000081118282018810171561008257600080fd5b82525081516020918201929091019080838360005b838110156100af578181015183820152602001610097565b50505050905090810190601f1680156100dc5780820380516001836020036101000a031916815260200191505b50604052602001805190602001909291905050508181806001600160a01b03166080816001600160a01b031660601b81525050807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5560006060826001600160a01b0316846040518082805190602001908083835b602083106101705780518252601f199092019160209182019101610151565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d80600081146101d0576040519150601f19603f3d011682016040523d82523d6000602084013e6101d5565b606091505b50915091508181906102655760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561022a578181015183820152602001610212565b50505050905090810190601f1680156102575780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5050505050505060805160601c605a6102866000398060065250605a6000f3fe60806040527f00000000000000000000000000000000000000000000000000000000000000003660008037600080366000846127105a03f43d806000803e818015604857816000f35b816000fdfea164736f6c634300060c000a", - "sourceMap": "522:203:353:-:0;;;598:125;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;598:125:353;;;;;;;;;;-1:-1:-1;598:125:353;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;598:125:353;;;;;;;;;925:31:362;;;;-1:-1:-1;;925:31:362;;;1110:66;1086:136;;;1283:43;;598:125:353;;-1:-1:-1;1283:43:362;;-1:-1:-1;598:125:353;;1242:12:362;;925:31;;-1:-1:-1;;;;;925:31:362;;;1283:43;;598:125:353;;;;1283:43:362;;;;598:125:353;1283:43:362;;;;;;;;;;;-1:-1:-1;;1283:43:362;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1241:85;;;;1344:7;1360:10;1336:36;;;;;-1:-1:-1;;;1336:36:362;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;843:536;;;;598:125:353;;522:203;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x60806040527f00000000000000000000000000000000000000000000000000000000000000003660008037600080366000846127105a03f43d806000803e818015604857816000f35b816000fdfea164736f6c634300060c000a", - "sourceMap": "522:203:353:-:0;;;1500:14:362;1571;1476:21;;1548:38;1782:1;1763;1731:14;1710:3;1679:13;1655:5;1648;1644:17;1614:183;1823:16;1873:5;1870:1;1867;1852:27;1899:7;1919:55;;;;2023:5;2020:1;2013:16;1919:55;1954:5;1951:1;1944:16", - "linkReferences": {}, - "immutableReferences": { - "78944": [ - { - "start": 6, - "length": 32 - } - ] - } - }, - "methodIdentifiers": {}, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_constructData\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"_lib\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"stateMutability\":\"payable\",\"type\":\"fallback\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ArbitraryTokenPhasedSharesWrapperProxy Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"A proxy contract for all ArbitraryTokenPhasedSharesWrapper instances\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/peripheral/shares-wrappers/arbitrary-token-phased/ArbitraryTokenPhasedSharesWrapperProxy.sol\":\"ArbitraryTokenPhasedSharesWrapperProxy\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/peripheral/shares-wrappers/arbitrary-token-phased/ArbitraryTokenPhasedSharesWrapperProxy.sol\":{\"keccak256\":\"0xfa6eb5b0ffa230b6f230fe320c4a84f105ce71f5724f0eacc5b51006a654511a\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://12b6c555e7d72e6f02e2e1dc2865ee7a685c1c7f13adbefc1bbc0bf14a33b837\",\"dweb:/ipfs/QmXNk54TCHpzf49zHunTdDRCGnQujb69RZhGfw8mdM7QX2\"]},\"contracts/release/utils/NonUpgradableProxy.sol\":{\"keccak256\":\"0x7d70145a2a0ff8c36318b23ac6ca662f133584dd823933230c66143b89e2d53d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b05ea625a428fdf3f908db3e97a358a4117d4998abde806ba3839c7fad821bca\",\"dweb:/ipfs/QmSLzFT1ktLTZ7rAKYjcg6dBRuxVMzrGXjGJSsH5nSVx2G\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "bytes", - "name": "_constructData", - "type": "bytes" - }, - { - "internalType": "address", - "name": "_lib", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "stateMutability": "payable", - "type": "fallback" - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/peripheral/shares-wrappers/arbitrary-token-phased/ArbitraryTokenPhasedSharesWrapperProxy.sol": "ArbitraryTokenPhasedSharesWrapperProxy" - }, - "libraries": {} - }, - "sources": { - "contracts/release/peripheral/shares-wrappers/arbitrary-token-phased/ArbitraryTokenPhasedSharesWrapperProxy.sol": { - "keccak256": "0xfa6eb5b0ffa230b6f230fe320c4a84f105ce71f5724f0eacc5b51006a654511a", - "urls": [ - "bzz-raw://12b6c555e7d72e6f02e2e1dc2865ee7a685c1c7f13adbefc1bbc0bf14a33b837", - "dweb:/ipfs/QmXNk54TCHpzf49zHunTdDRCGnQujb69RZhGfw8mdM7QX2" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/NonUpgradableProxy.sol": { - "keccak256": "0x7d70145a2a0ff8c36318b23ac6ca662f133584dd823933230c66143b89e2d53d", - "urls": [ - "bzz-raw://b05ea625a428fdf3f908db3e97a358a4117d4998abde806ba3839c7fad821bca", - "dweb:/ipfs/QmSLzFT1ktLTZ7rAKYjcg6dBRuxVMzrGXjGJSsH5nSVx2G" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 353 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_constructData", "type": "bytes", "internalType": "bytes" }, { "name": "_lib", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "fallback", "stateMutability": "payable" } ], "bytecode": { "object": "0x60a060405234801561001057600080fd5b506040516102e03803806102e08339818101604052604081101561003357600080fd5b810190808051604051939291908464010000000082111561005357600080fd5b90830190602082018581111561006857600080fd5b825164010000000081118282018810171561008257600080fd5b82525081516020918201929091019080838360005b838110156100af578181015183820152602001610097565b50505050905090810190601f1680156100dc5780820380516001836020036101000a031916815260200191505b50604052602001805190602001909291905050508181806001600160a01b03166080816001600160a01b031660601b81525050807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5560006060826001600160a01b0316846040518082805190602001908083835b602083106101705780518252601f199092019160209182019101610151565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d80600081146101d0576040519150601f19603f3d011682016040523d82523d6000602084013e6101d5565b606091505b50915091508181906102655760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561022a578181015183820152602001610212565b50505050905090810190601f1680156102575780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5050505050505060805160601c605a6102866000398060065250605a6000f3fe60806040527f00000000000000000000000000000000000000000000000000000000000000003660008037600080366000846127105a03f43d806000803e818015604857816000f35b816000fdfea164736f6c634300060c000a", "sourceMap": "522:203:353:-:0;;;598:125;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;598:125:353;;;;;;;;;;-1:-1:-1;598:125:353;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;598:125:353;;;;;;;;;925:31:362;;;;-1:-1:-1;;925:31:362;;;1110:66;1086:136;;;1283:43;;598:125:353;;-1:-1:-1;1283:43:362;;-1:-1:-1;598:125:353;;1242:12:362;;925:31;;-1:-1:-1;;;;;925:31:362;;;1283:43;;598:125:353;;;;1283:43:362;;;;598:125:353;1283:43:362;;;;;;;;;;;-1:-1:-1;;1283:43:362;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1241:85;;;;1344:7;1360:10;1336:36;;;;;-1:-1:-1;;;1336:36:362;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;843:536;;;;598:125:353;;522:203;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x60806040527f00000000000000000000000000000000000000000000000000000000000000003660008037600080366000846127105a03f43d806000803e818015604857816000f35b816000fdfea164736f6c634300060c000a", "sourceMap": "522:203:353:-:0;;;1500:14:362;1571;1476:21;;1548:38;1782:1;1763;1731:14;1710:3;1679:13;1655:5;1648;1644:17;1614:183;1823:16;1873:5;1870:1;1867;1852:27;1899:7;1919:55;;;;2023:5;2020:1;2013:16;1919:55;1954:5;1951:1;1944:16", "linkReferences": {}, "immutableReferences": { "78944": [ { "start": 6, "length": 32 } ] } }, "methodIdentifiers": {}, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_constructData\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"_lib\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"stateMutability\":\"payable\",\"type\":\"fallback\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ArbitraryTokenPhasedSharesWrapperProxy Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"A proxy contract for all ArbitraryTokenPhasedSharesWrapper instances\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/peripheral/shares-wrappers/arbitrary-token-phased/ArbitraryTokenPhasedSharesWrapperProxy.sol\":\"ArbitraryTokenPhasedSharesWrapperProxy\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/peripheral/shares-wrappers/arbitrary-token-phased/ArbitraryTokenPhasedSharesWrapperProxy.sol\":{\"keccak256\":\"0xfa6eb5b0ffa230b6f230fe320c4a84f105ce71f5724f0eacc5b51006a654511a\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://12b6c555e7d72e6f02e2e1dc2865ee7a685c1c7f13adbefc1bbc0bf14a33b837\",\"dweb:/ipfs/QmXNk54TCHpzf49zHunTdDRCGnQujb69RZhGfw8mdM7QX2\"]},\"contracts/release/utils/NonUpgradableProxy.sol\":{\"keccak256\":\"0x7d70145a2a0ff8c36318b23ac6ca662f133584dd823933230c66143b89e2d53d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b05ea625a428fdf3f908db3e97a358a4117d4998abde806ba3839c7fad821bca\",\"dweb:/ipfs/QmSLzFT1ktLTZ7rAKYjcg6dBRuxVMzrGXjGJSsH5nSVx2G\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "bytes", "name": "_constructData", "type": "bytes" }, { "internalType": "address", "name": "_lib", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "stateMutability": "payable", "type": "fallback" } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/peripheral/shares-wrappers/arbitrary-token-phased/ArbitraryTokenPhasedSharesWrapperProxy.sol": "ArbitraryTokenPhasedSharesWrapperProxy" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/peripheral/shares-wrappers/arbitrary-token-phased/ArbitraryTokenPhasedSharesWrapperProxy.sol": { "keccak256": "0xfa6eb5b0ffa230b6f230fe320c4a84f105ce71f5724f0eacc5b51006a654511a", "urls": [ "bzz-raw://12b6c555e7d72e6f02e2e1dc2865ee7a685c1c7f13adbefc1bbc0bf14a33b837", "dweb:/ipfs/QmXNk54TCHpzf49zHunTdDRCGnQujb69RZhGfw8mdM7QX2" ], "license": "GPL-3.0" }, "contracts/release/utils/NonUpgradableProxy.sol": { "keccak256": "0x7d70145a2a0ff8c36318b23ac6ca662f133584dd823933230c66143b89e2d53d", "urls": [ "bzz-raw://b05ea625a428fdf3f908db3e97a358a4117d4998abde806ba3839c7fad821bca", "dweb:/ipfs/QmSLzFT1ktLTZ7rAKYjcg6dBRuxVMzrGXjGJSsH5nSVx2G" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 353 } diff --git a/eth_defi/abi/enzyme/AssetHelpers.json b/eth_defi/abi/enzyme/AssetHelpers.json index 4a5b4d1b..18e649c6 100644 --- a/eth_defi/abi/enzyme/AssetHelpers.json +++ b/eth_defi/abi/enzyme/AssetHelpers.json @@ -1,126 +1 @@ -{ - "abi": [], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": {}, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"AssetHelpers Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"A util contract for common token actions\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/utils/AssetHelpers.sol\":\"AssetHelpers\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/utils/AssetHelpers.sol": "AssetHelpers" - }, - "libraries": {} - }, - "sources": { - "contracts/release/utils/AssetHelpers.sol": { - "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", - "urls": [ - "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", - "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { - "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", - "urls": [ - "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", - "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Address.sol": { - "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", - "urls": [ - "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", - "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 355 -} +{ "abi": [], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": {}, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"AssetHelpers Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"A util contract for common token actions\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/utils/AssetHelpers.sol\":\"AssetHelpers\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/utils/AssetHelpers.sol": "AssetHelpers" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/utils/AssetHelpers.sol": { "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", "urls": [ "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", "urls": [ "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Address.sol": { "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", "urls": [ "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" } }, "version": 1 }, "id": 355 } diff --git a/eth_defi/abi/enzyme/AuraBalancerV2LpStakingAdapter.json b/eth_defi/abi/enzyme/AuraBalancerV2LpStakingAdapter.json index 2db370e8..4b63fb69 100644 --- a/eth_defi/abi/enzyme/AuraBalancerV2LpStakingAdapter.json +++ b/eth_defi/abi/enzyme/AuraBalancerV2LpStakingAdapter.json @@ -1,1162 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_integrationManager", - "type": "address" - }, - { - "internalType": "address", - "name": "_balancerVault", - "type": "address" - }, - { - "internalType": "address", - "name": "_stakingWrapperFactory", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "name": "CLAIM_REWARDS_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "LEND_AND_STAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "LEND_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "REDEEM_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "STAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "TAKE_MULTIPLE_ORDERS_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "TAKE_ORDER_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "UNSTAKE_AND_REDEEM_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "UNSTAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "claimRewards", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getIntegrationManager", - "outputs": [ - { - "internalType": "address", - "name": "integrationManager_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "lendAndStake", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes4", - "name": "_selector", - "type": "bytes4" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - } - ], - "name": "parseAssetsForAction", - "outputs": [ - { - "internalType": "enum IIntegrationManager.SpendAssetsHandleType", - "name": "spendAssetsHandleType_", - "type": "uint8" - }, - { - "internalType": "address[]", - "name": "spendAssets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "spendAssetAmounts_", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "incomingAssets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "minIncomingAssetAmounts_", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "stake", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "takeOrder", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "unstake", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "unstakeAndRedeem", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x60e06040523480156200001157600080fd5b50604051620038bf380380620038bf83398101604081905262000034916200006f565b6001600160601b0319606093841b811660805291831b821660a05290911b1660c052620000ef565b80516200006981620000d5565b92915050565b6000806000606084860312156200008557600080fd5b60006200009386866200005c565b9350506020620000a6868287016200005c565b9250506040620000b9868287016200005c565b9150509250925092565b60006001600160a01b03821662000069565b620000e081620000c3565b8114620000ec57600080fd5b50565b60805160601c60a05160601c60c05160601c6137636200015c60003980611dd85250806103685280610ea2528061105a528061123b5280611efd5280611fa5525080610226528061072d528061087252806109155280610ac35280610c7e5280610ccf52506137636000f3fe608060405234801561001057600080fd5b506004361061010b5760003560e01c80638334eb99116100a2578063c32990a211610071578063c32990a2146101bf578063c54efee5146101c7578063e7c45690146101eb578063f7d882b514610200578063fa7dd04d146102085761010b565b80638334eb9914610189578063863e5ad01461019c578063b23228cf146101a4578063b9dfbacc146101ac5761010b565b806329fa046e116100de57806329fa046e146101535780633ffc15911461016657806340da225d1461016e57806368e30677146101765761010b565b806303e38a2b14610110578063080456c114610125578063131461c014610143578063257cb1a31461014b575b600080fd5b61012361011e366004612a3c565b61021b565b005b61012d6106b6565b60405161013a919061345e565b60405180910390f35b61012d6106da565b61012d6106fe565b610123610161366004612a3c565b610722565b61012d61081f565b61012d610843565b610123610184366004612a3c565b610867565b610123610197366004612a3c565b61090a565b61012d610a70565b61012d610a94565b6101236101ba366004612a3c565b610ab8565b61012d610b4f565b6101da6101d53660046129d5565b610b73565b60405161013a95949392919061346c565b6101f3610c7c565b60405161013a9190613379565b61012d610ca0565b610123610216366004612a3c565b610cc4565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461026c5760405162461bcd60e51b81526004016102639061358a565b60405180910390fd5b60006060806060806102b389898080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610d5d92505050565b945094509450945094506000808451905060005b818110156103ee5760008582815181106102dd57fe5b602002602001015113156103935760008582815181106102f957fe5b6020026020010151905060006001600160a01b031685838151811061031a57fe5b60200260200101516001600160a01b03161461034f5761034f303087858151811061034157fe5b602002602001015184610d8b565b61038d87838151811061035e57fe5b60200260200101517f000000000000000000000000000000000000000000000000000000000000000083610d9f565b506103e6565b60008582815181106103a157fe5b60200260200101511280156103dc575060006001600160a01b03168482815181106103c857fe5b60200260200101516001600160a01b031614155b156103e657600192505b6001016102c7565b50606061040b3084610400578e610402565b305b8a8a8a8a610e5b565b905060005b828110156106a657600086828151811061042657fe5b602002602001015113156105565760006001600160a01b031685828151811061044b57fe5b60200260200101516001600160a01b0316141580156104755750600189600181111561047357fe5b145b1561053357600087828151811061048857fe5b60200260200101516001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016104bb9190613379565b60206040518083038186803b1580156104d357600080fd5b505afa1580156104e7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061050b9190612c41565b90508015610531576105318f87848151811061052357fe5b602002602001015183610f43565b505b6105508e88838151811061054357fe5b6020026020010151610f5c565b5061069e565b600086828151811061056457fe5b6020026020010151121561066b5760006001600160a01b031685828151811061058957fe5b60200260200101516001600160a01b0316146106505761064b8e8683815181106105af57fe5b60200260200101518984815181106105c357fe5b60200260200101516001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016105f69190613379565b60206040518083038186803b15801561060e57600080fd5b505afa158015610622573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106469190612c41565b610f43565b610666565b8315610666576105508e88838151811061054357fe5b61069e565b81818151811061067757fe5b602002602001015160001461069e5760405162461bcd60e51b81526004016102639061359a565b600101610410565b5050505050505050505050505050565b7f8334eb99be0145865eba9889fca2ee920288090caefff4cc776038e20ad9259a81565b7f29fa046e79524c3c5ac4c01df692c35e217802b2b13b21121b76cf0ef02b138c81565b7f099f75155f0e997bf83a7993a71d5e7e7540bd386fe1e84643a09ce6b412521981565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461076a5760405162461bcd60e51b81526004016102639061358a565b60008060608061077861247d565b6107b789898080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610ffd92505050565b95509550955050945094506107cf3085858585611035565b6108088a866107dd876110a7565b6001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016105f69190613379565b6108128a846110b2565b5050505050505050505050565b7ffa7dd04da627f433da73c4355ead9c75682a67a8fc84d3f6170ef0922f402d2481565b7fb9dfbaccbe5cd2a84fdcf1d15f23ef25d23086f5afbaa99516065ed4a5bbc7a381565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146108af5760405162461bcd60e51b81526004016102639061358a565b6000806108f186868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061120d92505050565b9150915061090187888484610d8b565b50505050505050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146109525760405162461bcd60e51b81526004016102639061358a565b6000806000606061096161247d565b6109a089898080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610ffd92505050565b95505094509450945094506109b78a308786610d8b565b6109c48a8585858561122d565b60006109cf856110a7565b90506000816001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016109ff9190613379565b60206040518083038186803b158015610a1757600080fd5b505afa158015610a2b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a4f9190612c41565b90508015610a6257610a628c8883610f43565b505050505050505050505050565b7f03e38a2bd7063d45c897edeafc330e71657502dd86434d3c37a489caf116af6981565b7f68e30677f607df46e87da13e15b637784cfa62374b653f35ab43d10361a2f83081565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610b005760405162461bcd60e51b81526004016102639061358a565b610b4885610b4386868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506114cd92505050565b6114e3565b5050505050565b7f0e7f692dad5b88fdee426250d6eae91207e56a2e8112b7364579bed1790e5bf481565b600060608080806001600160e01b03198816632e77eeb360e21b1415610baa57610b9b6114f1565b94509450945094509450610c71565b6001600160e01b031988166314fd023760e11b1415610bcd57610b9b8787611551565b6001600160e01b03198816638334eb9960e01b1415610bf057610b9b8787611664565b6001600160e01b031988166303e38a2b60e01b1415610c1357610b9b878761168a565b6001600160e01b0319881663fa7dd04d60e01b1415610c3657610b9b8787611a58565b6001600160e01b031988166368e3067760e01b1415610c5957610b9b8787611bcf565b60405162461bcd60e51b8152600401610263906135ea565b945094509450945094565b7f000000000000000000000000000000000000000000000000000000000000000090565b7fc29fa9dde84204c2908778afd0613d802d31cf046179b88f6d2b4a4e507ea2d581565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610d0c5760405162461bcd60e51b81526004016102639061358a565b600080610d4e86868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061120d92505050565b91509150610901878383610f43565b600060608060608085806020019051810190610d799190612b70565b939a9299509097509550909350915050565b610d99828585846000611be1565b50505050565b604051636eb1769f60e11b81526000906001600160a01b0385169063dd62ed3e90610dd09030908790600401613387565b60206040518083038186803b158015610de857600080fd5b505afa158015610dfc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e209190612c41565b905081811015610d99578015610e4557610e456001600160a01b038516846000611cc4565b610d996001600160a01b03851684600019611cc4565b6060610e656124a7565b50604080516080810182526001600160a01b03808a168252600060208301819052898216838501526060830152915163945bcec960e01b815290917f0000000000000000000000000000000000000000000000000000000000000000169063945bcec990610ee19089908990899087908a9042906004016134d3565b600060405180830381600087803b158015610efb57600080fd5b505af1158015610f0f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610f379190810190612b1e565b98975050505050505050565b610f57828483610f5286611dbe565b611e5d565b505050565b6040516370a0823160e01b81526000906001600160a01b038316906370a0823190610f8b903090600401613379565b60206040518083038186803b158015610fa357600080fd5b505afa158015610fb7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fdb9190612c41565b90508015610ff757610ff76001600160a01b0383168483611ec7565b92915050565b600080600060608061100d61247d565b8680602001905181019061102191906128cf565b949c939b5091995097509550909350915050565b60005b835181101561109a5761109284828151811061105057fe5b60200260200101517f000000000000000000000000000000000000000000000000000000000000000085848151811061108557fe5b6020026020010151610d9f565b600101611038565b50610b4884308784611ee6565b606081901c5b919050565b606081516001600160401b03811180156110cb57600080fd5b506040519080825280602002602001820160405280156110f5578160200160208202803683370190505b50905060005b825181101561120657600083828151811061111257fe5b60200260200101519050806001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016111489190613379565b60206040518083038186803b15801561116057600080fd5b505afa158015611174573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111989190612c41565b8383815181106111a457fe5b60200260200101818152505060008383815181106111be57fe5b602002602001015111156111fd576111fd858484815181106111dc57fe5b6020026020010151836001600160a01b0316611ec79092919063ffffffff16565b506001016110fb565b5092915050565b60008082806020019051810190611224919061299b565b91509150915091565b611260611239856110a7565b7f000000000000000000000000000000000000000000000000000000000000000085610d9f565b815181515103606081156113a6578251516001600160401b038111801561128657600080fd5b506040519080825280602002602001820160405280156112b0578160200160208202803683370190505b5090508160005b81156113a3576112e7856000015182815181106112d057fe5b602002602001015187611f3890919063ffffffff16565b61139b5784518051829081106112f957fe5b60200260200101516001600160a01b03166370a082318a6040518263ffffffff1660e01b815260040161132c9190613379565b60206040518083038186803b15801561134457600080fd5b505afa158015611358573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061137c9190612c41565b83828151811061138857fe5b6020908102919091010152600019909101905b6001016112b7565b50505b6113b286308986611f8e565b81156109015760005b82156114c3576113eb846000015182815181106113d457fe5b602002602001015186611f3890919063ffffffff16565b6114bb578181815181106113fb57fe5b60200260200101518460000151828151811061141357fe5b60200260200101516001600160a01b03166370a082318a6040518263ffffffff1660e01b81526004016114469190613379565b60206040518083038186803b15801561145e57600080fd5b505afa158015611472573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114969190612c41565b146114b35760405162461bcd60e51b81526004016102639061354a565b600019909201915b6001016113bb565b5050505050505050565b600081806020019051810190610ff791906128b1565b6114ed8183611fe0565b5050565b600060608080808480604051908082528060200260200182016040528015611523578160200160208202803683370190505b5060408051600080825260208201818152828401918252606083019093529399929850965094509092509050565b6040805160018082528183019092526000916060918291829182916020808301908036833750506040805160018082528183019092529294509050602080830190803683370190505090506000806115a761247d565b6115e68a8a8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610ffd92505050565b896000815181106115f357fe5b6020908102919091010193909352909a50985090945090925090506116188284612062565b61162581606001516120a3565b818560008151811061163357fe5b60200260200101906001600160a01b031690816001600160a01b031681525050600297505050509295509295909350565b600060608060608061167687876120c4565b60019c939b50919950975095509350505050565b600060608060608060608060606116d68a8a8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610d5d92505050565b945094509450505060008060005b855181101561173f5760008582815181106116fb57fe5b6020026020010151131561171457600190920191611737565b600085828151811061172257fe5b60200260200101511215611737576001909101905b6001016116e4565b50816001600160401b038111801561175657600080fd5b50604051908082528060200260200182016040528015611780578160200160208202803683370190505b509850816001600160401b038111801561179957600080fd5b506040519080825280602002602001820160405280156117c3578160200160208202803683370190505b509750806001600160401b03811180156117dc57600080fd5b50604051908082528060200260200182016040528015611806578160200160208202803683370190505b509650806001600160401b038111801561181f57600080fd5b50604051908082528060200260200182016040528015611849578160200160208202803683370190505b50955060005b8551811015611a4457600085828151811061186657fe5b60200260200101519050600081131561195657600087838151811061188757fe5b60200260200101519050600086848151811061189f57fe5b6020026020010151905060006001600160a01b0316816001600160a01b031614611900576118cc81611dbe565b6001600160a01b0316826001600160a01b0316146118fc5760405162461bcd60e51b81526004016102639061355a565b8091505b858060019003965050818d878151811061191657fe5b60200260200101906001600160a01b031690816001600160a01b031681525050828c878151811061194357fe5b6020026020010181815250505050611a3b565b6000811215611a3b57600087838151811061196d57fe5b60200260200101519050600086848151811061198557fe5b6020026020010151905060006001600160a01b0316816001600160a01b0316146119e6576119b281611dbe565b6001600160a01b0316826001600160a01b0316146119e25760405162461bcd60e51b81526004016102639061355a565b8091505b848060019003955050818b86815181106119fc57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050826000038a8681518110611a2c57fe5b60200260200101818152505050505b5060010161184f565b506002995050505050509295509295909350565b6000606080606080600080611aa289898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061120d92505050565b60408051600180825281830190925292945090925060208083019080368337505060408051600180825281830190925292985090506020808301908036833750506040805160018082528183019092529297509050602080830190803683375050604080516001808252818301909252929650905060208083019080368337019050509250611b3082611dbe565b86600081518110611b3d57fe5b60200260200101906001600160a01b031690816001600160a01b0316815250508085600081518110611b6b57fe5b6020026020010181815250508184600081518110611b8557fe5b60200260200101906001600160a01b031690816001600160a01b0316815250508083600081518110611bb357fe5b6020026020010181815250506002965050509295509295909350565b600060608060608061167687876121a6565b6001600160a01b038416301415611c5957604051631cf88a4360e21b81526001600160a01b038616906373e2290c90611c22908690869086906004016133f2565b600060405180830381600087803b158015611c3c57600080fd5b505af1158015611c50573d6000803e3d6000fd5b50505050610b48565b60405163167d7d5f60e11b81526001600160a01b03861690632cfafabe90611c8b9087908790879087906004016133a2565b600060405180830381600087803b158015611ca557600080fd5b505af1158015611cb9573d6000803e3d6000fd5b505050505050505050565b801580611d4c5750604051636eb1769f60e11b81526001600160a01b0384169063dd62ed3e90611cfa9030908690600401613387565b60206040518083038186803b158015611d1257600080fd5b505afa158015611d26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d4a9190612c41565b155b611d685760405162461bcd60e51b8152600401610263906135da565b610f578363095ea7b360e01b8484604051602401611d879291906133d7565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526122d3565b60405163456b4a3760e01b81526000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063456b4a3790611e0d908590600401613379565b60206040518083038186803b158015611e2557600080fd5b505afa158015611e39573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ff791906128b1565b611e68818584610d9f565b60405160016255295b60e01b031981526001600160a01b0385169063ffaad6a590611e9990869086906004016133d7565b600060405180830381600087803b158015611eb357600080fd5b505af11580156114c3573d6000803e3d6000fd5b610f578363a9059cbb60e01b8484604051602401611d879291906133d7565b60405163172b958560e31b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063b95cac2890611e9990879087908790879060040161341a565b6000805b8351811015611f8457838181518110611f5157fe5b60200260200101516001600160a01b0316836001600160a01b03161415611f7c576001915050610ff7565b600101611f3c565b5060009392505050565b604051638bdb391360e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690638bdb391390611e9990879087908790879060040161341a565b604051631ac6d19d60e01b81526001600160a01b03831690631ac6d19d9061200c908490600401613379565b600060405180830381600087803b15801561202657600080fd5b505af115801561203a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610d999190810190612ac1565b61206b816110a7565b6001600160a01b031661207d83611dbe565b6001600160a01b0316146114ed5760405162461bcd60e51b81526004016102639061356a565b80156120c15760405162461bcd60e51b8152600401610263906135aa565b50565b60408051600180825281830190925260009160609182918291829160208083019080368337505060408051600180825281830190925292965090506020808301908036833701905050925060008061211a61247d565b6121598a8a8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610ffd92505050565b8b60008151811061216657fe5b60209081029190910101939093529098509650909450909250905061218b8284612062565b61219881606001516120a3565b818760008151811061163357fe5b60006060806060806000806121f089898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061120d92505050565b60408051600180825281830190925292945090925060208083019080368337505060408051600180825281830190925292985090506020808301908036833750506040805160018082528183019092529297509050602080830190803683375050604080516001808252818301909252929650905060208083019080368337019050509250818660008151811061228357fe5b60200260200101906001600160a01b031690816001600160a01b03168152505080856000815181106122b157fe5b6020026020010181815250506122c682611dbe565b84600081518110611b8557fe5b6060612328826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166123629092919063ffffffff16565b805190915015610f5757808060200190518101906123469190612b52565b610f575760405162461bcd60e51b8152600401610263906135ca565b6060612371848460008561237b565b90505b9392505050565b60608247101561239d5760405162461bcd60e51b81526004016102639061357a565b6123a68561243e565b6123c25760405162461bcd60e51b8152600401610263906135ba565b60006060866001600160a01b031685876040516123df919061336d565b60006040518083038185875af1925050503d806000811461241c576040519150601f19603f3d011682016040523d82523d6000602084013e612421565b606091505b5091509150612431828286612444565b925050505b949350505050565b3b151590565b60608315612453575081612374565b8251156124635782518084602001fd5b8160405162461bcd60e51b81526004016102639190613539565b60405180608001604052806060815260200160608152602001606081526020016000151581525090565b60408051608081018252600080825260208201819052918101829052606081019190915290565b8035610ff78161371a565b8051610ff78161371a565b600082601f8301126124f557600080fd5b815161250861250382613620565b6135fa565b9150818183526020840193506020810190508385602084028201111561252d57600080fd5b60005b83811015612559578161254388826124d9565b8452506020928301929190910190600101612530565b5050505092915050565b600082601f83011261257457600080fd5b815161258261250382613620565b915081818352602084019350602081019050838560208402820111156125a757600080fd5b60005b8381101561255957816125bd88826126ab565b84525060209283019291909101906001016125aa565b600082601f8301126125e457600080fd5b81516125f261250382613620565b81815260209384019390925082018360005b83811015612559578151860161261a8882612763565b8452506020928301929190910190600101612604565b600082601f83011261264157600080fd5b815161264f61250382613620565b9150818183526020840193506020810190508385602084028201111561267457600080fd5b60005b83811015612559578161268a88826126ab565b8452506020928301929190910190600101612677565b8051610ff78161372e565b8051610ff781613737565b8035610ff781613740565b60008083601f8401126126d357600080fd5b5081356001600160401b038111156126ea57600080fd5b60208301915083600182028301111561270257600080fd5b9250929050565b600082601f83011261271a57600080fd5b815161272861250382613640565b9150808252602083016020830185838301111561274457600080fd5b61274f8382846136d0565b50505092915050565b8051610ff781613749565b600060a0828403121561277557600080fd5b61277f60a06135fa565b9050600061278d84846126ab565b825250602061279e848483016126ab565b60208301525060406127b2848285016126ab565b60408301525060606127c6848285016126ab565b60608301525060808201516001600160401b038111156127e557600080fd5b6127f184828501612709565b60808301525092915050565b60006080828403121561280f57600080fd5b61281960806135fa565b82519091506001600160401b0381111561283257600080fd5b61283e848285016124e4565b82525060208201516001600160401b0381111561285a57600080fd5b61286684828501612630565b60208301525060408201516001600160401b0381111561288557600080fd5b61289184828501612709565b60408301525060606128a5848285016126a0565b60608301525092915050565b6000602082840312156128c357600080fd5b600061243684846124d9565b60008060008060008060c087890312156128e857600080fd5b60006128f489896124d9565b965050602061290589828a016126ab565b955050604061291689828a016126ab565b94505060608701516001600160401b0381111561293257600080fd5b61293e89828a016124e4565b93505060808701516001600160401b0381111561295a57600080fd5b61296689828a01612630565b92505060a08701516001600160401b0381111561298257600080fd5b61298e89828a016127fd565b9150509295509295509295565b600080604083850312156129ae57600080fd5b60006129ba85856124d9565b92505060206129cb858286016126ab565b9150509250929050565b600080600080606085870312156129eb57600080fd5b60006129f787876124ce565b9450506020612a08878288016126b6565b93505060408501356001600160401b03811115612a2457600080fd5b612a30878288016126c1565b95989497509550505050565b600080600080600060608688031215612a5457600080fd5b6000612a6088886124ce565b95505060208601356001600160401b03811115612a7c57600080fd5b612a88888289016126c1565b945094505060408601356001600160401b03811115612aa657600080fd5b612ab2888289016126c1565b92509250509295509295909350565b60008060408385031215612ad457600080fd5b82516001600160401b03811115612aea57600080fd5b612af6858286016124e4565b92505060208301516001600160401b03811115612b1257600080fd5b6129cb85828601612630565b600060208284031215612b3057600080fd5b81516001600160401b03811115612b4657600080fd5b61243684828501612563565b600060208284031215612b6457600080fd5b600061243684846126a0565b600080600080600060a08688031215612b8857600080fd5b6000612b948888612758565b95505060208601516001600160401b03811115612bb057600080fd5b612bbc888289016125d3565b94505060408601516001600160401b03811115612bd857600080fd5b612be4888289016124e4565b93505060608601516001600160401b03811115612c0057600080fd5b612c0c88828901612563565b92505060808601516001600160401b03811115612c2857600080fd5b612c34888289016124e4565b9150509295509295909350565b600060208284031215612c5357600080fd5b600061243684846126ab565b6000612c6b8383612c8b565b505060200190565b6000612c6b8383612ea2565b6000612374838361324c565b612c948161367a565b82525050565b6000612ca58261366d565b612caf8185613671565b9350612cba83613667565b8060005b83811015612ce8578151612cd28882612c5f565b9750612cdd83613667565b925050600101612cbe565b509495945050505050565b6000612cfe8261366d565b612d088185613671565b9350612d1383613667565b8060005b83811015612ce8578151612d2b8882612c5f565b9750612d3683613667565b925050600101612d17565b6000612d4c8261366d565b612d568185613671565b9350612d6183613667565b8060005b83811015612ce8578151612d798882612c73565b9750612d8483613667565b925050600101612d65565b6000612d9a8261366d565b612da48185613671565b935083602082028501612db685613667565b8060005b85811015612df05784840389528151612dd38582612c7f565b9450612dde83613667565b60209a909a0199925050600101612dba565b5091979650505050505050565b6000612e088261366d565b612e128185613671565b9350612e1d83613667565b8060005b83811015612ce8578151612e358882612c73565b9750612e4083613667565b925050600101612e21565b6000612e568261366d565b612e608185613671565b9350612e6b83613667565b8060005b83811015612ce8578151612e838882612c73565b9750612e8e83613667565b925050600101612e6f565b612c9481613685565b612c948161368a565b612c948161368d565b6000612ebf8261366d565b612ec98185613671565b9350612ed98185602086016136d0565b612ee2816136fc565b9093019392505050565b6000612ef78261366d565b612f0181856110ad565b9350612f118185602086016136d0565b9290920192915050565b612c94816136ba565b612c94816136c5565b6000612f3a602b83613671565b7f5f5f62616c616e63657252656465656d3a20556e65787065637465642061737381526a195d081c9958d95a5d995960aa1b602082015260400192915050565b6000612f87602783613671565b7f5f5f7061727365417373657473466f7254616b654f726465723a20425054206d8152660d2e6dac2e8c6d60cb1b602082015260400192915050565b6000612fd0602583613671565b7f5f5f76616c6964617465427074466f725374616b696e67546f6b656e3a20496e8152641d985b1a5960da1b602082015260400192915050565b6000613017602683613671565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f8152651c8818d85b1b60d21b602082015260400192915050565b600061305f603283613671565b7f4f6e6c792074686520496e746567726174696f6e4d616e616765722063616e2081527131b0b636103a3434b990333ab731ba34b7b760711b602082015260400192915050565b60006130b3602083613671565b7f74616b654f726465723a206c6566746f76657220696e7465726d656469617279815260200192915050565b60006130ec602583613671565b7f5f5f76616c69646174654e6f496e7465726e616c42616c616e6365733a20496e8152641d985b1a5960da1b602082015260400192915050565b6000613133601d83613671565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000815260200192915050565b600061316c602a83613671565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e8152691bdd081cdd58d8d9595960b21b602082015260400192915050565b60006131b8603683613671565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f81527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b602082015260400192915050565b6000613210602783613671565b7f7061727365417373657473466f72416374696f6e3a205f73656c6563746f72208152661a5b9d985b1a5960ca1b602082015260400192915050565b805160009060a08401906132608582612ea2565b5060208301516132736020860182612ea2565b5060408301516132866040860182612ea2565b5060608301516132996060860182612ea2565b50608083015184820360808601526132b18282612eb4565b95945050505050565b805160808301906132cb8482612c8b565b5060208201516132de6020850182612e99565b5060408201516132f16040850182612c8b565b506060820151610d996060850182612e99565b805160808084526000919084019061331c8282612c9a565b915050602083015184820360208601526133368282612dfd565b915050604083015184820360408601526133508282612eb4565b91505060608301516133656060860182612e99565b509392505050565b60006123748284612eec565b60208101610ff78284612c8b565b604081016133958285612c8b565b6123746020830184612c8b565b608081016133b08287612c8b565b6133bd6020830186612c8b565b6133ca6040830185612ea2565b6132b16060830184612e99565b604081016133e58285612c8b565b6123746020830184612ea2565b606081016134008286612c8b565b61340d6020830185612ea2565b6124366040830184612e99565b608081016134288287612ea2565b6134356020830186612c8b565b6134426040830185612c8b565b81810360608301526134548184613304565b9695505050505050565b60208101610ff78284612eab565b60a0810161347a8288612f1b565b818103602083015261348c8187612cf3565b905081810360408301526134a08186612e4b565b905081810360608301526134b48185612cf3565b905081810360808301526134c88184612e4b565b979650505050505050565b61012081016134e28289612f24565b81810360208301526134f48188612d8f565b905081810360408301526135088187612cf3565b905061351760608301866132ba565b81810360e08301526135298185612d41565b90506134c8610100830184612ea2565b602080825281016123748184612eb4565b60208082528101610ff781612f2d565b60208082528101610ff781612f7a565b60208082528101610ff781612fc3565b60208082528101610ff78161300a565b60208082528101610ff781613052565b60208082528101610ff7816130a6565b60208082528101610ff7816130df565b60208082528101610ff781613126565b60208082528101610ff78161315f565b60208082528101610ff7816131ab565b60208082528101610ff781613203565b6040518181016001600160401b038111828210171561361857600080fd5b604052919050565b60006001600160401b0382111561363657600080fd5b5060209081020190565b60006001600160401b0382111561365657600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b6000610ff7826136ae565b151590565b90565b6001600160e01b03191690565b806110ad81613706565b806110ad81613710565b6001600160a01b031690565b6000610ff78261369a565b6000610ff7826136a4565b60005b838110156136eb5781810151838201526020016136d3565b83811115610d995750506000910152565b601f01601f191690565b600381106120c157fe5b600281106120c157fe5b6137238161367a565b81146120c157600080fd5b61372381613685565b6137238161368a565b6137238161368d565b600281106120c157600080fdfea164736f6c634300060c000a", - "sourceMap": "567:4240:162:-:0;;;778:337;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;1938:41:179;;;;;;;;657:58:183;;;;;;;990:118:162;;;;::::1;::::0;567:4240;;5:134:-1;83:13;;101:33;83:13;101:33;:::i;:::-;68:71;;;;:::o;146:535::-;;;;295:2;283:9;274:7;270:23;266:32;263:2;;;311:1;308;301:12;263:2;346:1;363:64;419:7;399:9;363:64;:::i;:::-;353:74;;325:108;464:2;482:64;538:7;529:6;518:9;514:22;482:64;:::i;:::-;472:74;;443:109;583:2;601:64;657:7;648:6;637:9;633:22;601:64;:::i;:::-;591:74;;562:109;257:424;;;;;:::o;688:91::-;;-1:-1;;;;;848:54;;750:24;831:76::o;914:117::-;983:24;1001:5;983:24;:::i;:::-;976:5;973:35;963:2;;1022:1;1019;1012:12;963:2;957:74;:::o;:::-;567:4240:162;;;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b506004361061010b5760003560e01c80638334eb99116100a2578063c32990a211610071578063c32990a2146101bf578063c54efee5146101c7578063e7c45690146101eb578063f7d882b514610200578063fa7dd04d146102085761010b565b80638334eb9914610189578063863e5ad01461019c578063b23228cf146101a4578063b9dfbacc146101ac5761010b565b806329fa046e116100de57806329fa046e146101535780633ffc15911461016657806340da225d1461016e57806368e30677146101765761010b565b806303e38a2b14610110578063080456c114610125578063131461c014610143578063257cb1a31461014b575b600080fd5b61012361011e366004612a3c565b61021b565b005b61012d6106b6565b60405161013a919061345e565b60405180910390f35b61012d6106da565b61012d6106fe565b610123610161366004612a3c565b610722565b61012d61081f565b61012d610843565b610123610184366004612a3c565b610867565b610123610197366004612a3c565b61090a565b61012d610a70565b61012d610a94565b6101236101ba366004612a3c565b610ab8565b61012d610b4f565b6101da6101d53660046129d5565b610b73565b60405161013a95949392919061346c565b6101f3610c7c565b60405161013a9190613379565b61012d610ca0565b610123610216366004612a3c565b610cc4565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461026c5760405162461bcd60e51b81526004016102639061358a565b60405180910390fd5b60006060806060806102b389898080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610d5d92505050565b945094509450945094506000808451905060005b818110156103ee5760008582815181106102dd57fe5b602002602001015113156103935760008582815181106102f957fe5b6020026020010151905060006001600160a01b031685838151811061031a57fe5b60200260200101516001600160a01b03161461034f5761034f303087858151811061034157fe5b602002602001015184610d8b565b61038d87838151811061035e57fe5b60200260200101517f000000000000000000000000000000000000000000000000000000000000000083610d9f565b506103e6565b60008582815181106103a157fe5b60200260200101511280156103dc575060006001600160a01b03168482815181106103c857fe5b60200260200101516001600160a01b031614155b156103e657600192505b6001016102c7565b50606061040b3084610400578e610402565b305b8a8a8a8a610e5b565b905060005b828110156106a657600086828151811061042657fe5b602002602001015113156105565760006001600160a01b031685828151811061044b57fe5b60200260200101516001600160a01b0316141580156104755750600189600181111561047357fe5b145b1561053357600087828151811061048857fe5b60200260200101516001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016104bb9190613379565b60206040518083038186803b1580156104d357600080fd5b505afa1580156104e7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061050b9190612c41565b90508015610531576105318f87848151811061052357fe5b602002602001015183610f43565b505b6105508e88838151811061054357fe5b6020026020010151610f5c565b5061069e565b600086828151811061056457fe5b6020026020010151121561066b5760006001600160a01b031685828151811061058957fe5b60200260200101516001600160a01b0316146106505761064b8e8683815181106105af57fe5b60200260200101518984815181106105c357fe5b60200260200101516001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016105f69190613379565b60206040518083038186803b15801561060e57600080fd5b505afa158015610622573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106469190612c41565b610f43565b610666565b8315610666576105508e88838151811061054357fe5b61069e565b81818151811061067757fe5b602002602001015160001461069e5760405162461bcd60e51b81526004016102639061359a565b600101610410565b5050505050505050505050505050565b7f8334eb99be0145865eba9889fca2ee920288090caefff4cc776038e20ad9259a81565b7f29fa046e79524c3c5ac4c01df692c35e217802b2b13b21121b76cf0ef02b138c81565b7f099f75155f0e997bf83a7993a71d5e7e7540bd386fe1e84643a09ce6b412521981565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461076a5760405162461bcd60e51b81526004016102639061358a565b60008060608061077861247d565b6107b789898080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610ffd92505050565b95509550955050945094506107cf3085858585611035565b6108088a866107dd876110a7565b6001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016105f69190613379565b6108128a846110b2565b5050505050505050505050565b7ffa7dd04da627f433da73c4355ead9c75682a67a8fc84d3f6170ef0922f402d2481565b7fb9dfbaccbe5cd2a84fdcf1d15f23ef25d23086f5afbaa99516065ed4a5bbc7a381565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146108af5760405162461bcd60e51b81526004016102639061358a565b6000806108f186868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061120d92505050565b9150915061090187888484610d8b565b50505050505050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146109525760405162461bcd60e51b81526004016102639061358a565b6000806000606061096161247d565b6109a089898080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610ffd92505050565b95505094509450945094506109b78a308786610d8b565b6109c48a8585858561122d565b60006109cf856110a7565b90506000816001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016109ff9190613379565b60206040518083038186803b158015610a1757600080fd5b505afa158015610a2b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a4f9190612c41565b90508015610a6257610a628c8883610f43565b505050505050505050505050565b7f03e38a2bd7063d45c897edeafc330e71657502dd86434d3c37a489caf116af6981565b7f68e30677f607df46e87da13e15b637784cfa62374b653f35ab43d10361a2f83081565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610b005760405162461bcd60e51b81526004016102639061358a565b610b4885610b4386868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506114cd92505050565b6114e3565b5050505050565b7f0e7f692dad5b88fdee426250d6eae91207e56a2e8112b7364579bed1790e5bf481565b600060608080806001600160e01b03198816632e77eeb360e21b1415610baa57610b9b6114f1565b94509450945094509450610c71565b6001600160e01b031988166314fd023760e11b1415610bcd57610b9b8787611551565b6001600160e01b03198816638334eb9960e01b1415610bf057610b9b8787611664565b6001600160e01b031988166303e38a2b60e01b1415610c1357610b9b878761168a565b6001600160e01b0319881663fa7dd04d60e01b1415610c3657610b9b8787611a58565b6001600160e01b031988166368e3067760e01b1415610c5957610b9b8787611bcf565b60405162461bcd60e51b8152600401610263906135ea565b945094509450945094565b7f000000000000000000000000000000000000000000000000000000000000000090565b7fc29fa9dde84204c2908778afd0613d802d31cf046179b88f6d2b4a4e507ea2d581565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610d0c5760405162461bcd60e51b81526004016102639061358a565b600080610d4e86868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061120d92505050565b91509150610901878383610f43565b600060608060608085806020019051810190610d799190612b70565b939a9299509097509550909350915050565b610d99828585846000611be1565b50505050565b604051636eb1769f60e11b81526000906001600160a01b0385169063dd62ed3e90610dd09030908790600401613387565b60206040518083038186803b158015610de857600080fd5b505afa158015610dfc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e209190612c41565b905081811015610d99578015610e4557610e456001600160a01b038516846000611cc4565b610d996001600160a01b03851684600019611cc4565b6060610e656124a7565b50604080516080810182526001600160a01b03808a168252600060208301819052898216838501526060830152915163945bcec960e01b815290917f0000000000000000000000000000000000000000000000000000000000000000169063945bcec990610ee19089908990899087908a9042906004016134d3565b600060405180830381600087803b158015610efb57600080fd5b505af1158015610f0f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610f379190810190612b1e565b98975050505050505050565b610f57828483610f5286611dbe565b611e5d565b505050565b6040516370a0823160e01b81526000906001600160a01b038316906370a0823190610f8b903090600401613379565b60206040518083038186803b158015610fa357600080fd5b505afa158015610fb7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fdb9190612c41565b90508015610ff757610ff76001600160a01b0383168483611ec7565b92915050565b600080600060608061100d61247d565b8680602001905181019061102191906128cf565b949c939b5091995097509550909350915050565b60005b835181101561109a5761109284828151811061105057fe5b60200260200101517f000000000000000000000000000000000000000000000000000000000000000085848151811061108557fe5b6020026020010151610d9f565b600101611038565b50610b4884308784611ee6565b606081901c5b919050565b606081516001600160401b03811180156110cb57600080fd5b506040519080825280602002602001820160405280156110f5578160200160208202803683370190505b50905060005b825181101561120657600083828151811061111257fe5b60200260200101519050806001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016111489190613379565b60206040518083038186803b15801561116057600080fd5b505afa158015611174573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111989190612c41565b8383815181106111a457fe5b60200260200101818152505060008383815181106111be57fe5b602002602001015111156111fd576111fd858484815181106111dc57fe5b6020026020010151836001600160a01b0316611ec79092919063ffffffff16565b506001016110fb565b5092915050565b60008082806020019051810190611224919061299b565b91509150915091565b611260611239856110a7565b7f000000000000000000000000000000000000000000000000000000000000000085610d9f565b815181515103606081156113a6578251516001600160401b038111801561128657600080fd5b506040519080825280602002602001820160405280156112b0578160200160208202803683370190505b5090508160005b81156113a3576112e7856000015182815181106112d057fe5b602002602001015187611f3890919063ffffffff16565b61139b5784518051829081106112f957fe5b60200260200101516001600160a01b03166370a082318a6040518263ffffffff1660e01b815260040161132c9190613379565b60206040518083038186803b15801561134457600080fd5b505afa158015611358573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061137c9190612c41565b83828151811061138857fe5b6020908102919091010152600019909101905b6001016112b7565b50505b6113b286308986611f8e565b81156109015760005b82156114c3576113eb846000015182815181106113d457fe5b602002602001015186611f3890919063ffffffff16565b6114bb578181815181106113fb57fe5b60200260200101518460000151828151811061141357fe5b60200260200101516001600160a01b03166370a082318a6040518263ffffffff1660e01b81526004016114469190613379565b60206040518083038186803b15801561145e57600080fd5b505afa158015611472573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114969190612c41565b146114b35760405162461bcd60e51b81526004016102639061354a565b600019909201915b6001016113bb565b5050505050505050565b600081806020019051810190610ff791906128b1565b6114ed8183611fe0565b5050565b600060608080808480604051908082528060200260200182016040528015611523578160200160208202803683370190505b5060408051600080825260208201818152828401918252606083019093529399929850965094509092509050565b6040805160018082528183019092526000916060918291829182916020808301908036833750506040805160018082528183019092529294509050602080830190803683370190505090506000806115a761247d565b6115e68a8a8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610ffd92505050565b896000815181106115f357fe5b6020908102919091010193909352909a50985090945090925090506116188284612062565b61162581606001516120a3565b818560008151811061163357fe5b60200260200101906001600160a01b031690816001600160a01b031681525050600297505050509295509295909350565b600060608060608061167687876120c4565b60019c939b50919950975095509350505050565b600060608060608060608060606116d68a8a8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610d5d92505050565b945094509450505060008060005b855181101561173f5760008582815181106116fb57fe5b6020026020010151131561171457600190920191611737565b600085828151811061172257fe5b60200260200101511215611737576001909101905b6001016116e4565b50816001600160401b038111801561175657600080fd5b50604051908082528060200260200182016040528015611780578160200160208202803683370190505b509850816001600160401b038111801561179957600080fd5b506040519080825280602002602001820160405280156117c3578160200160208202803683370190505b509750806001600160401b03811180156117dc57600080fd5b50604051908082528060200260200182016040528015611806578160200160208202803683370190505b509650806001600160401b038111801561181f57600080fd5b50604051908082528060200260200182016040528015611849578160200160208202803683370190505b50955060005b8551811015611a4457600085828151811061186657fe5b60200260200101519050600081131561195657600087838151811061188757fe5b60200260200101519050600086848151811061189f57fe5b6020026020010151905060006001600160a01b0316816001600160a01b031614611900576118cc81611dbe565b6001600160a01b0316826001600160a01b0316146118fc5760405162461bcd60e51b81526004016102639061355a565b8091505b858060019003965050818d878151811061191657fe5b60200260200101906001600160a01b031690816001600160a01b031681525050828c878151811061194357fe5b6020026020010181815250505050611a3b565b6000811215611a3b57600087838151811061196d57fe5b60200260200101519050600086848151811061198557fe5b6020026020010151905060006001600160a01b0316816001600160a01b0316146119e6576119b281611dbe565b6001600160a01b0316826001600160a01b0316146119e25760405162461bcd60e51b81526004016102639061355a565b8091505b848060019003955050818b86815181106119fc57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050826000038a8681518110611a2c57fe5b60200260200101818152505050505b5060010161184f565b506002995050505050509295509295909350565b6000606080606080600080611aa289898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061120d92505050565b60408051600180825281830190925292945090925060208083019080368337505060408051600180825281830190925292985090506020808301908036833750506040805160018082528183019092529297509050602080830190803683375050604080516001808252818301909252929650905060208083019080368337019050509250611b3082611dbe565b86600081518110611b3d57fe5b60200260200101906001600160a01b031690816001600160a01b0316815250508085600081518110611b6b57fe5b6020026020010181815250508184600081518110611b8557fe5b60200260200101906001600160a01b031690816001600160a01b0316815250508083600081518110611bb357fe5b6020026020010181815250506002965050509295509295909350565b600060608060608061167687876121a6565b6001600160a01b038416301415611c5957604051631cf88a4360e21b81526001600160a01b038616906373e2290c90611c22908690869086906004016133f2565b600060405180830381600087803b158015611c3c57600080fd5b505af1158015611c50573d6000803e3d6000fd5b50505050610b48565b60405163167d7d5f60e11b81526001600160a01b03861690632cfafabe90611c8b9087908790879087906004016133a2565b600060405180830381600087803b158015611ca557600080fd5b505af1158015611cb9573d6000803e3d6000fd5b505050505050505050565b801580611d4c5750604051636eb1769f60e11b81526001600160a01b0384169063dd62ed3e90611cfa9030908690600401613387565b60206040518083038186803b158015611d1257600080fd5b505afa158015611d26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d4a9190612c41565b155b611d685760405162461bcd60e51b8152600401610263906135da565b610f578363095ea7b360e01b8484604051602401611d879291906133d7565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526122d3565b60405163456b4a3760e01b81526000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063456b4a3790611e0d908590600401613379565b60206040518083038186803b158015611e2557600080fd5b505afa158015611e39573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ff791906128b1565b611e68818584610d9f565b60405160016255295b60e01b031981526001600160a01b0385169063ffaad6a590611e9990869086906004016133d7565b600060405180830381600087803b158015611eb357600080fd5b505af11580156114c3573d6000803e3d6000fd5b610f578363a9059cbb60e01b8484604051602401611d879291906133d7565b60405163172b958560e31b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063b95cac2890611e9990879087908790879060040161341a565b6000805b8351811015611f8457838181518110611f5157fe5b60200260200101516001600160a01b0316836001600160a01b03161415611f7c576001915050610ff7565b600101611f3c565b5060009392505050565b604051638bdb391360e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690638bdb391390611e9990879087908790879060040161341a565b604051631ac6d19d60e01b81526001600160a01b03831690631ac6d19d9061200c908490600401613379565b600060405180830381600087803b15801561202657600080fd5b505af115801561203a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610d999190810190612ac1565b61206b816110a7565b6001600160a01b031661207d83611dbe565b6001600160a01b0316146114ed5760405162461bcd60e51b81526004016102639061356a565b80156120c15760405162461bcd60e51b8152600401610263906135aa565b50565b60408051600180825281830190925260009160609182918291829160208083019080368337505060408051600180825281830190925292965090506020808301908036833701905050925060008061211a61247d565b6121598a8a8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610ffd92505050565b8b60008151811061216657fe5b60209081029190910101939093529098509650909450909250905061218b8284612062565b61219881606001516120a3565b818760008151811061163357fe5b60006060806060806000806121f089898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061120d92505050565b60408051600180825281830190925292945090925060208083019080368337505060408051600180825281830190925292985090506020808301908036833750506040805160018082528183019092529297509050602080830190803683375050604080516001808252818301909252929650905060208083019080368337019050509250818660008151811061228357fe5b60200260200101906001600160a01b031690816001600160a01b03168152505080856000815181106122b157fe5b6020026020010181815250506122c682611dbe565b84600081518110611b8557fe5b6060612328826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166123629092919063ffffffff16565b805190915015610f5757808060200190518101906123469190612b52565b610f575760405162461bcd60e51b8152600401610263906135ca565b6060612371848460008561237b565b90505b9392505050565b60608247101561239d5760405162461bcd60e51b81526004016102639061357a565b6123a68561243e565b6123c25760405162461bcd60e51b8152600401610263906135ba565b60006060866001600160a01b031685876040516123df919061336d565b60006040518083038185875af1925050503d806000811461241c576040519150601f19603f3d011682016040523d82523d6000602084013e612421565b606091505b5091509150612431828286612444565b925050505b949350505050565b3b151590565b60608315612453575081612374565b8251156124635782518084602001fd5b8160405162461bcd60e51b81526004016102639190613539565b60405180608001604052806060815260200160608152602001606081526020016000151581525090565b60408051608081018252600080825260208201819052918101829052606081019190915290565b8035610ff78161371a565b8051610ff78161371a565b600082601f8301126124f557600080fd5b815161250861250382613620565b6135fa565b9150818183526020840193506020810190508385602084028201111561252d57600080fd5b60005b83811015612559578161254388826124d9565b8452506020928301929190910190600101612530565b5050505092915050565b600082601f83011261257457600080fd5b815161258261250382613620565b915081818352602084019350602081019050838560208402820111156125a757600080fd5b60005b8381101561255957816125bd88826126ab565b84525060209283019291909101906001016125aa565b600082601f8301126125e457600080fd5b81516125f261250382613620565b81815260209384019390925082018360005b83811015612559578151860161261a8882612763565b8452506020928301929190910190600101612604565b600082601f83011261264157600080fd5b815161264f61250382613620565b9150818183526020840193506020810190508385602084028201111561267457600080fd5b60005b83811015612559578161268a88826126ab565b8452506020928301929190910190600101612677565b8051610ff78161372e565b8051610ff781613737565b8035610ff781613740565b60008083601f8401126126d357600080fd5b5081356001600160401b038111156126ea57600080fd5b60208301915083600182028301111561270257600080fd5b9250929050565b600082601f83011261271a57600080fd5b815161272861250382613640565b9150808252602083016020830185838301111561274457600080fd5b61274f8382846136d0565b50505092915050565b8051610ff781613749565b600060a0828403121561277557600080fd5b61277f60a06135fa565b9050600061278d84846126ab565b825250602061279e848483016126ab565b60208301525060406127b2848285016126ab565b60408301525060606127c6848285016126ab565b60608301525060808201516001600160401b038111156127e557600080fd5b6127f184828501612709565b60808301525092915050565b60006080828403121561280f57600080fd5b61281960806135fa565b82519091506001600160401b0381111561283257600080fd5b61283e848285016124e4565b82525060208201516001600160401b0381111561285a57600080fd5b61286684828501612630565b60208301525060408201516001600160401b0381111561288557600080fd5b61289184828501612709565b60408301525060606128a5848285016126a0565b60608301525092915050565b6000602082840312156128c357600080fd5b600061243684846124d9565b60008060008060008060c087890312156128e857600080fd5b60006128f489896124d9565b965050602061290589828a016126ab565b955050604061291689828a016126ab565b94505060608701516001600160401b0381111561293257600080fd5b61293e89828a016124e4565b93505060808701516001600160401b0381111561295a57600080fd5b61296689828a01612630565b92505060a08701516001600160401b0381111561298257600080fd5b61298e89828a016127fd565b9150509295509295509295565b600080604083850312156129ae57600080fd5b60006129ba85856124d9565b92505060206129cb858286016126ab565b9150509250929050565b600080600080606085870312156129eb57600080fd5b60006129f787876124ce565b9450506020612a08878288016126b6565b93505060408501356001600160401b03811115612a2457600080fd5b612a30878288016126c1565b95989497509550505050565b600080600080600060608688031215612a5457600080fd5b6000612a6088886124ce565b95505060208601356001600160401b03811115612a7c57600080fd5b612a88888289016126c1565b945094505060408601356001600160401b03811115612aa657600080fd5b612ab2888289016126c1565b92509250509295509295909350565b60008060408385031215612ad457600080fd5b82516001600160401b03811115612aea57600080fd5b612af6858286016124e4565b92505060208301516001600160401b03811115612b1257600080fd5b6129cb85828601612630565b600060208284031215612b3057600080fd5b81516001600160401b03811115612b4657600080fd5b61243684828501612563565b600060208284031215612b6457600080fd5b600061243684846126a0565b600080600080600060a08688031215612b8857600080fd5b6000612b948888612758565b95505060208601516001600160401b03811115612bb057600080fd5b612bbc888289016125d3565b94505060408601516001600160401b03811115612bd857600080fd5b612be4888289016124e4565b93505060608601516001600160401b03811115612c0057600080fd5b612c0c88828901612563565b92505060808601516001600160401b03811115612c2857600080fd5b612c34888289016124e4565b9150509295509295909350565b600060208284031215612c5357600080fd5b600061243684846126ab565b6000612c6b8383612c8b565b505060200190565b6000612c6b8383612ea2565b6000612374838361324c565b612c948161367a565b82525050565b6000612ca58261366d565b612caf8185613671565b9350612cba83613667565b8060005b83811015612ce8578151612cd28882612c5f565b9750612cdd83613667565b925050600101612cbe565b509495945050505050565b6000612cfe8261366d565b612d088185613671565b9350612d1383613667565b8060005b83811015612ce8578151612d2b8882612c5f565b9750612d3683613667565b925050600101612d17565b6000612d4c8261366d565b612d568185613671565b9350612d6183613667565b8060005b83811015612ce8578151612d798882612c73565b9750612d8483613667565b925050600101612d65565b6000612d9a8261366d565b612da48185613671565b935083602082028501612db685613667565b8060005b85811015612df05784840389528151612dd38582612c7f565b9450612dde83613667565b60209a909a0199925050600101612dba565b5091979650505050505050565b6000612e088261366d565b612e128185613671565b9350612e1d83613667565b8060005b83811015612ce8578151612e358882612c73565b9750612e4083613667565b925050600101612e21565b6000612e568261366d565b612e608185613671565b9350612e6b83613667565b8060005b83811015612ce8578151612e838882612c73565b9750612e8e83613667565b925050600101612e6f565b612c9481613685565b612c948161368a565b612c948161368d565b6000612ebf8261366d565b612ec98185613671565b9350612ed98185602086016136d0565b612ee2816136fc565b9093019392505050565b6000612ef78261366d565b612f0181856110ad565b9350612f118185602086016136d0565b9290920192915050565b612c94816136ba565b612c94816136c5565b6000612f3a602b83613671565b7f5f5f62616c616e63657252656465656d3a20556e65787065637465642061737381526a195d081c9958d95a5d995960aa1b602082015260400192915050565b6000612f87602783613671565b7f5f5f7061727365417373657473466f7254616b654f726465723a20425054206d8152660d2e6dac2e8c6d60cb1b602082015260400192915050565b6000612fd0602583613671565b7f5f5f76616c6964617465427074466f725374616b696e67546f6b656e3a20496e8152641d985b1a5960da1b602082015260400192915050565b6000613017602683613671565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f8152651c8818d85b1b60d21b602082015260400192915050565b600061305f603283613671565b7f4f6e6c792074686520496e746567726174696f6e4d616e616765722063616e2081527131b0b636103a3434b990333ab731ba34b7b760711b602082015260400192915050565b60006130b3602083613671565b7f74616b654f726465723a206c6566746f76657220696e7465726d656469617279815260200192915050565b60006130ec602583613671565b7f5f5f76616c69646174654e6f496e7465726e616c42616c616e6365733a20496e8152641d985b1a5960da1b602082015260400192915050565b6000613133601d83613671565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000815260200192915050565b600061316c602a83613671565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e8152691bdd081cdd58d8d9595960b21b602082015260400192915050565b60006131b8603683613671565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f81527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b602082015260400192915050565b6000613210602783613671565b7f7061727365417373657473466f72416374696f6e3a205f73656c6563746f72208152661a5b9d985b1a5960ca1b602082015260400192915050565b805160009060a08401906132608582612ea2565b5060208301516132736020860182612ea2565b5060408301516132866040860182612ea2565b5060608301516132996060860182612ea2565b50608083015184820360808601526132b18282612eb4565b95945050505050565b805160808301906132cb8482612c8b565b5060208201516132de6020850182612e99565b5060408201516132f16040850182612c8b565b506060820151610d996060850182612e99565b805160808084526000919084019061331c8282612c9a565b915050602083015184820360208601526133368282612dfd565b915050604083015184820360408601526133508282612eb4565b91505060608301516133656060860182612e99565b509392505050565b60006123748284612eec565b60208101610ff78284612c8b565b604081016133958285612c8b565b6123746020830184612c8b565b608081016133b08287612c8b565b6133bd6020830186612c8b565b6133ca6040830185612ea2565b6132b16060830184612e99565b604081016133e58285612c8b565b6123746020830184612ea2565b606081016134008286612c8b565b61340d6020830185612ea2565b6124366040830184612e99565b608081016134288287612ea2565b6134356020830186612c8b565b6134426040830185612c8b565b81810360608301526134548184613304565b9695505050505050565b60208101610ff78284612eab565b60a0810161347a8288612f1b565b818103602083015261348c8187612cf3565b905081810360408301526134a08186612e4b565b905081810360608301526134b48185612cf3565b905081810360808301526134c88184612e4b565b979650505050505050565b61012081016134e28289612f24565b81810360208301526134f48188612d8f565b905081810360408301526135088187612cf3565b905061351760608301866132ba565b81810360e08301526135298185612d41565b90506134c8610100830184612ea2565b602080825281016123748184612eb4565b60208082528101610ff781612f2d565b60208082528101610ff781612f7a565b60208082528101610ff781612fc3565b60208082528101610ff78161300a565b60208082528101610ff781613052565b60208082528101610ff7816130a6565b60208082528101610ff7816130df565b60208082528101610ff781613126565b60208082528101610ff78161315f565b60208082528101610ff7816131ab565b60208082528101610ff781613203565b6040518181016001600160401b038111828210171561361857600080fd5b604052919050565b60006001600160401b0382111561363657600080fd5b5060209081020190565b60006001600160401b0382111561365657600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b6000610ff7826136ae565b151590565b90565b6001600160e01b03191690565b806110ad81613706565b806110ad81613710565b6001600160a01b031690565b6000610ff78261369a565b6000610ff7826136a4565b60005b838110156136eb5781810151838201526020016136d3565b83811115610d995750506000910152565b601f01601f191690565b600381106120c157fe5b600281106120c157fe5b6137238161367a565b81146120c157600080fd5b61372381613685565b6137238161368a565b6137238161368d565b600281106120c157600080fdfea164736f6c634300060c000a", - "sourceMap": "567:4240:162:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5515:3627:201;;;;;;:::i;:::-;;:::i;:::-;;1490:119:180;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1373:111;;;:::i;832:85::-;;;:::i;3069:892:201:-;;;;;;:::i;:::-;;:::i;1034:87:180:-;;;:::i;1240:110::-;;;:::i;9301:318:201:-;;;;;;:::i;:::-;;:::i;9797:1081::-;;;;;;:::i;:::-;;:::i;706:104:180:-;;;:::i;1127:91::-;;;:::i;2630:236:201:-;;;;;;:::i;:::-;;:::i;577:123:180:-;;;:::i;14355:1235:201:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;:::i;2637:128:179:-;;;:::i;:::-;;;;;;;:::i;923:89:180:-;;;:::i;4118:301:201:-;;;;;;:::i;:::-;;:::i;5515:3627::-;1747:10:179;-1:-1:-1;;;;;1761:19:179;1747:33;;1726:130;;;;-1:-1:-1;;;1726:130:179;;;;;;;:::i;:::-;;;;;;;;;5685:30:201::1;5729:45;5788:23:::0;5825:22:::1;5861:30:::0;5904:38:::1;5930:11;;5904:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;5904:25:201::1;::::0;-1:-1:-1;;;5904:38:201:i:1;:::-;5671:271;;;;;;;;;;6002:25;6037:18:::0;6058:6:::1;:13;6037:34;;6086:9;6081:899;6101:10;6097:1;:14;6081:899;;;6148:1;6136:6;6143:1;6136:9;;;;;;;;;;;;;;:13;6132:838;;;6169:24;6204:6;6211:1;6204:9;;;;;;;;;;;;;;6169:45;;6296:1;-1:-1:-1::0;;;;;6268:30:201::1;:13;6282:1;6268:16;;;;;;;;;;;;;;-1:-1:-1::0;;;;;6268:30:201::1;;6264:318;;6322:241;6373:4;6424;6470:13;6484:1;6470:16;;;;;;;;;;;;;;6524;6322:9;:241::i;:::-;6636:200;6692:6;6699:1;6692:9;;;;;;;;;;;;;;6740:23;6801:16;6636:25;:200::i;:::-;6132:838;;;;6873:1;6861:6;6868:1;6861:9;;;;;;;;;;;;;;:13;:47;;;;;6906:1;-1:-1:-1::0;;;;;6878:30:201::1;:13;6892:1;6878:16;;;;;;;;;;;;;;-1:-1:-1::0;;;;;6878:30:201::1;;;6861:47;6857:113;;;6951:4;6928:27;;6857:113;6113:3;;6081:899;;;;7020:27;7050:255;7103:4;7134:20;:50;;7173:11;7134:50;;;7165:4;7134:50;7205:4;7231:5;7259:6;7288;7050:21;:255::i;:::-;7020:285;;7371:9;7366:1770;7386:10;7382:1;:14;7366:1770;;;7433:1;7421:6;7428:1;7421:9;;;;;;;;;;;;;;:13;7417:1709;;;7724:1;-1:-1:-1::0;;;;;7696:30:201::1;:13;7710:1;7696:16;;;;;;;;;;;;;;-1:-1:-1::0;;;;;7696:30:201::1;;;:77;;;;-1:-1:-1::0;7738:35:201::1;7730:4;:43;;;;;;;;;7696:77;7671:513;;;7814:17;7840:6;7847:1;7840:9;;;;;;;;;;;;;;-1:-1:-1::0;;;;;7834:26:201::1;;7869:4;7834:41;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7814:61:::0;-1:-1:-1;7901:13:201;;7897:269:::1;;7942:201;7993:11;8049:13;8063:1;8049:16;;;;;;;;;;;;;;8107:9;7942:7;:201::i;:::-;7671:513;;8278:65;8311:11;8332:6;8339:1;8332:9;;;;;;;;;;;;;;8278:22;:65::i;:::-;;7417:1709;;;8380:1;8368:6;8375:1;8368:9;;;;;;;;;;;;;;:13;8364:762;;;8433:1;-1:-1:-1::0;;;;;8405:30:201::1;:13;8419:1;8405:16;;;;;;;;;;;;;;-1:-1:-1::0;;;;;8405:30:201::1;;8401:515;;8459:217;8506:11;8558:13;8572:1;8558:16;;;;;;;;;;;;;;8618:6;8625:1;8618:9;;;;;;;;;;;;;;-1:-1:-1::0;;;;;8612:26:201::1;;8647:4;8612:41;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8459:7;:217::i;:::-;8401:515;;;8705:20;8701:215;;;8832:65;8865:11;8886:6;8893:1;8886:9;;;;;;;8701:215;8364:762;;;9055:11;9067:1;9055:14;;;;;;;;;;;;;;9073:1;9055:19;9047:64;;;;-1:-1:-1::0;;;9047:64:201::1;;;;;;;:::i;:::-;7398:3;;7366:1770;;;;1866:1:179;;;;;;;;5515:3627:201::0;;;;;:::o;1490:119:180:-;1558:50;1490:119;:::o;1373:111::-;1437:46;1373:111;:::o;832:85::-;878:38;832:85;:::o;3069:892:201:-;1747:10:179;-1:-1:-1;;;;;1761:19:179;1747:33;;1726:130;;;;-1:-1:-1;;;1726:130:179;;;;;;;:::i;:::-;3242:20:201::1;3276:14:::0;3318:28:::1;3360:34:::0;3408:49:::1;;:::i;:::-;3470:43;3501:11;;3470:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;3470:30:201::1;::::0;-1:-1:-1;;;3470:43:201:i:1;:::-;3228:285;;;;;;;;;;;3524:70;3539:4;3546:6;3554:11;3567:17;3586:7;3524:6;:70::i;:::-;3605:148;3626:11;3651:12;3683:34;3710:6;3683:26;:34::i;:::-;-1:-1:-1::0;;;;;3677:51:201::1;;3737:4;3677:66;;;;;;;;;;;;;;;:::i;3605:148::-;3905:49;3929:11;3942;3905:23;:49::i;:::-;;1866:1:179;;;;;3069:892:201::0;;;;;:::o;1034:87:180:-;1081:39;1034:87;:::o;1240:110::-;1303:46;1240:110;:::o;9301:318:201:-;1747:10:179;-1:-1:-1;;;;;1761:19:179;1747:33;;1726:130;;;;-1:-1:-1;;;1726:130:179;;;;;;;:::i;:::-;9456:20:201::1;9478:17:::0;9499:42:::1;9529:11;;9499:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;9499:29:201::1;::::0;-1:-1:-1;;;9499:42:201:i:1;:::-;9455:86;;;;9552:60;9562:11;9575;9588:12;9602:9;9552;:60::i;:::-;1866:1:179;;9301:318:201::0;;;;;:::o;9797:1081::-;1747:10:179;-1:-1:-1;;;;;1761:19:179;1747:33;;1726:130;;;;-1:-1:-1;;;1726:130:179;;;;;;;:::i;:::-;9974:20:201::1;10008:14:::0;10036:17:::1;10067:39;10134:49;;:::i;:::-;10196:43;10227:11;;10196:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;10196:30:201::1;::::0;-1:-1:-1;;;10196:43:201:i:1;:::-;9960:279;;;;;;;;;;;10250:62;10260:11;10281:4;10288:12;10302:9;10250;:62::i;:::-;10323:73;10332:11;10345:6;10353:9;10364:22;10388:7;10323:8;:73::i;:::-;10582:11;10596:34;10623:6;10596:26;:34::i;:::-;10582:48;;10640:20;10669:3;-1:-1:-1::0;;;;;10663:20:201::1;;10692:4;10663:35;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10640:58:::0;-1:-1:-1;10712:16:201;;10708:95:::1;;10744:48;10752:11;10765:12;10779;10744:7;:48::i;:::-;1866:1:179;;;;;;;9797:1081:201::0;;;;;:::o;706:104:180:-;766:43;706:104;:::o;1127:91::-;1176:41;1127:91;:::o;2630:236:201:-;1747:10:179;-1:-1:-1;;;;;1761:19:179;1747:33;;1726:130;;;;-1:-1:-1;;;1726:130:179;;;;;;;:::i;:::-;2789:70:201::1;2804:11;2817:41;2846:11;;2817:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;2817:28:201::1;::::0;-1:-1:-1;;;2817:41:201:i:1;:::-;2789:14;:70::i;:::-;2630:236:::0;;;;;:::o;577:123:180:-;647:52;577:123;:::o;14355:1235:201:-;14561:64;14639:29;;;;-1:-1:-1;;;;;;14847:35:201;;-1:-1:-1;;;14847:35:201;14843:681;;;14905:30;:28;:30::i;:::-;14898:37;;;;;;;;;;;;14843:681;-1:-1:-1;;;;;;14956:36:201;;-1:-1:-1;;;14956:36:201;14952:572;;;15015:41;15044:11;;15015:28;:41::i;14952:572::-;-1:-1:-1;;;;;;15077:40:201;;-1:-1:-1;;;15077:40:201;15073:451;;;15140:45;15173:11;;15140:32;:45::i;15073:451::-;-1:-1:-1;;;;;;15206:32:201;;-1:-1:-1;;;15206:32:201;15202:322;;;15261:38;15287:11;;15261:25;:38::i;15202:322::-;-1:-1:-1;;;;;;15320:27:201;;-1:-1:-1;;;15320:27:201;15316:208;;;15370:34;15392:11;;15370:21;:34::i;15316:208::-;-1:-1:-1;;;;;;15425:29:201;;-1:-1:-1;;;15425:29:201;15421:103;;;15477:36;15501:11;;15477:23;:36::i;15421:103::-;15534:49;;-1:-1:-1;;;15534:49:201;;;;;;;:::i;14355:1235::-;;;;;;;;;;:::o;2637:128:179:-;2739:19;2637:128;:::o;923:89:180:-;971:40;923:89;:::o;4118:301:201:-;1747:10:179;-1:-1:-1;;;;;1761:19:179;1747:33;;1726:130;;;;-1:-1:-1;;;1726:130:179;;;;;;;:::i;:::-;4271:20:201::1;4293:17:::0;4314:42:::1;4344:11;;4314:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;4314:29:201::1;::::0;-1:-1:-1;;;4314:42:201:i:1;:::-;4270:86;;;;4367:45;4375:11;4388:12;4402:9;4367:7;:45::i;27488:674::-:0;27613:31;27658:46;27718:24;27756:23;27793:31;27896:16;27868:287;;;;;;;;;;;;:::i;:::-;27849:306;;;;-1:-1:-1;27849:306:201;;-1:-1:-1;27849:306:201;-1:-1:-1;27849:306:201;;-1:-1:-1;27488:674:201;-1:-1:-1;;27488:674:201:o;2411:246:162:-;2574:76;2598:13;2613:5;2620:10;2632;2644:5;2574:23;:76::i;:::-;2411:246;;;;:::o;2554:434:355:-;2714:47;;-1:-1:-1;;;2714:47:355;;2694:17;;-1:-1:-1;;;;;2714:23:355;;;;;:47;;2746:4;;2753:7;;2714:47;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2694:67;;2787:13;2775:9;:25;2771:211;;;2820:13;;2816:89;;2853:37;-1:-1:-1;;;;;2853:25:355;;2879:7;2888:1;2853:25;:37::i;:::-;2918:53;-1:-1:-1;;;;;2918:25:355;;2944:7;-1:-1:-1;;2918:25:355;:53::i;862:844:183:-;1134:28;1174:44;;:::i;:::-;-1:-1:-1;1221:194:183;;;;;;;;-1:-1:-1;;;;;1221:194:183;;;;;-1:-1:-1;1221:194:183;;;;;;;;;;;;;;;;;1445:254;;-1:-1:-1;;;1445:254:183;;1221:194;;1445:23;:33;;;;:254;;1504:5;;1535:6;;1568:7;;1221:194;;1633:7;;1669:15;;1445:254;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1445:254:183;;;;;;;;;;;;:::i;:::-;1426:273;862:844;-1:-1:-1;;;;;;;;862:844:183:o;2039:305:162:-;2178:159;2213:13;2240:11;2265:10;2289:38;2313:13;2289:23;:38::i;:::-;2178:21;:159::i;:::-;2039:305;;;:::o;3083:360:355:-;3245:38;;-1:-1:-1;;;3245:38:355;;3182:26;;-1:-1:-1;;;;;3245:23:355;;;;;:38;;3277:4;;3245:38;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3224:59;-1:-1:-1;3297:22:355;;3293:108;;3335:55;-1:-1:-1;;;;;3335:26:355;;3362:7;3371:18;3335:26;:55::i;:::-;3083:360;;;;:::o;25959:829:201:-;26090:21;26125:15;26154:18;26186:28;26284:34;26388:50;;:::i;:::-;26510:16;26482:299;;;;;;;;;;;;:::i;:::-;26463:318;;;;-1:-1:-1;26463:318:201;;-1:-1:-1;26463:318:201;-1:-1:-1;26463:318:201;-1:-1:-1;26463:318:201;;-1:-1:-1;25959:829:201;-1:-1:-1;;25959:829:201:o;10970:549::-;11213:9;11208:232;11228:12;:19;11224:1;:23;11208:232;;;11268:161;11311:12;11324:1;11311:15;;;;;;;;;;;;;;11352:23;11394:18;11413:1;11394:21;;;;;;;;;;;;;;11268:25;:161::i;:::-;11249:3;;11208:232;;;;11450:62;11467:7;11484:4;11491:10;11503:8;11450:16;:62::i;24915:187::-;25087:6;25066:28;;;24915:187;;;;:::o;3539:585:355:-;3649:36;3737:7;:14;-1:-1:-1;;;;;3723:29:355;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3723:29:355;;3701:51;;3767:9;3762:319;3782:7;:14;3778:1;:18;3762:319;;;3817:19;3845:7;3853:1;3845:10;;;;;;;;;;;;;;3817:39;;3895:13;-1:-1:-1;;;;;3895:23:355;;3927:4;3895:38;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3870:19;3890:1;3870:22;;;;;;;;;;;;;:63;;;;;3976:1;3951:19;3971:1;3951:22;;;;;;;;;;;;;;:26;3947:124;;;3997:59;4024:7;4033:19;4053:1;4033:22;;;;;;;;;;;;;;3997:13;-1:-1:-1;;;;;3997:26:355;;;:59;;;;;:::i;:::-;-1:-1:-1;3798:3:355;;3762:319;;;;3539:585;;;;:::o;27135:236:201:-;27252:21;27275:18;27327:16;27316:48;;;;;;;;;;;;:::i;:::-;27309:55;;;;27135:236;;;:::o;11590:1989::-;11830:159;11869:35;11896:7;11869:26;:35::i;:::-;11926:23;11964:15;11830:25;:159::i;:::-;12358:30;;12333:15;;:22;:55;12398:43;12455:21;;12451:524;;12535:15;;:22;-1:-1:-1;;;;;12521:37:201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12521:37:201;-1:-1:-1;12492:66:201;-1:-1:-1;12597:17:201;12572:22;12628:337;12644:18;;12628:337;;12692:52;12725:8;:15;;;12741:1;12725:18;;;;;;;;;;;;;;12692:23;:32;;:52;;;;:::i;:::-;12687:264;;12806:15;;:18;;12822:1;;12806:18;;;;;;;;;;;;-1:-1:-1;;;;;12800:35:201;;12861:11;12800:94;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12768:26;12795:1;12768:29;;;;;;;;;;;;;;;;;:126;-1:-1:-1;;12916:16:201;;;;12687:264;12664:3;;12628:337;;;;12451:524;;12985:74;13004:7;13021:4;13036:11;13050:8;12985:18;:74::i;:::-;13074:21;;13070:503;;13116:9;13111:452;13127:21;;13111:452;;13178:52;13211:8;:15;;;13227:1;13211:18;;;;;;;;;;;;;;13178:23;:32;;:52;;;;:::i;:::-;13173:376;;13367:26;13394:1;13367:29;;;;;;;;;;;;;;13293:8;:15;;;13309:1;13293:18;;;;;;;;;;;;;;-1:-1:-1;;;;;13287:35:201;;13323:11;13287:48;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:109;13254:235;;;;-1:-1:-1;;;13254:235:201;;;;;;;:::i;:::-;-1:-1:-1;;13511:19:201;;;;13173:376;13150:3;;13111:452;;;;11590:1989;;;;;;;:::o;26872:196::-;26983:21;27038:11;27027:34;;;;;;;;;;;;:::i;1295:162:162:-;1391:59;1423:13;1438:11;1391:31;:59::i;:::-;1295:162;;:::o;15766:602:201:-;15882:64;15960:29;;;;15882:64;;16245:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;16245:16:201;-1:-1:-1;16275:16:201;;;16289:1;16275:16;;;;;;16305;;;;;;16335;;;;;;;;;16164:197;;;;-1:-1:-1;16275:16:201;-1:-1:-1;16275:16:201;-1:-1:-1;16305:16:201;;-1:-1:-1;15766:602:201;-1:-1:-1;15766:602:201:o;16489:1263::-;16936:16;;;16950:1;16936:16;;;;;;;;;16636:64;;16714:29;;;;;;;;16936:16;;;;;;;;;-1:-1:-1;;16989:16:201;;;17003:1;16989:16;;;;;;;;;16918:34;;-1:-1:-1;17003:1:201;-1:-1:-1;16989:16:201;;;;;;;;;;;-1:-1:-1;16989:16:201;16962:43;;17016:14;17040:20;17070:49;;:::i;:::-;17308:48;17339:16;;17308:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;17308:30:201;;-1:-1:-1;;;17308:48:201:i;:::-;17189:24;17214:1;17189:27;;;;;;;;;;;;;;;;;17129:227;;;;;;-1:-1:-1;17129:227:201;-1:-1:-1;17129:227:201;;-1:-1:-1;17129:227:201;;-1:-1:-1;17129:227:201;-1:-1:-1;17367:51:201;17129:227;;17367:29;:51::i;:::-;17428:56;17457:7;:26;;;17428:28;:56::i;:::-;17516:12;17495:15;17511:1;17495:18;;;;;;;;;;;;;:33;-1:-1:-1;;;;;17495:33:201;;;-1:-1:-1;;;;;17495:33:201;;;;;17560:50;17539:206;;;;;16489:1263;;;;;;;;:::o;3911:894:162:-;4058:64;4136:29;4179:35;4228:32;4274:41;4422:64;4474:11;;4422:51;:64::i;:::-;4614:49;;4340:146;;-1:-1:-1;4340:146:162;;-1:-1:-1;4340:146:162;-1:-1:-1;4340:146:162;-1:-1:-1;3911:894:162;-1:-1:-1;;;;3911:894:162:o;19147:2843:201:-;19274:64;19352:29;19395:35;19444:32;19490:41;19598:23;19635:22;19671:30;19714:43;19740:16;;19714:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;19714:25:201;;-1:-1:-1;;;19714:43:201:i;:::-;19556:201;;;;;;;;19850:24;19884:27;19926:9;19921:213;19941:6;:13;19937:1;:17;19921:213;;;19991:1;19979:6;19986:1;19979:9;;;;;;;;;;;;;;:13;19975:149;;;20012:18;;;;;19975:149;;;20067:1;20055:6;20062:1;20055:9;;;;;;;;;;;;;;:13;20051:73;;;20088:21;;;;;20051:73;19956:3;;19921:213;;;;20173:16;-1:-1:-1;;;;;20159:31:201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;20159:31:201;;20144:46;;20235:16;-1:-1:-1;;;;;20221:31:201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;20221:31:201;;20200:52;;20295:19;-1:-1:-1;;;;;20281:34:201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;20281:34:201;;20263:52;;20366:19;-1:-1:-1;;;;;20352:34:201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;20352:34:201;;20325:61;;20402:9;20397:1370;20417:6;:13;20413:1;:17;20397:1370;;;20451:12;20466:6;20473:1;20466:9;;;;;;;;;;;;;;20451:24;;20502:1;20494:5;:9;20490:1267;;;20523:18;20544:6;20551:1;20544:9;;;;;;;;;;;;;;20523:30;;20571:20;20594:13;20608:1;20594:16;;;;;;;;;;;;;;20571:39;;20657:1;-1:-1:-1;;;;;20633:26:201;:12;-1:-1:-1;;;;;20633:26:201;;20629:293;;20730:37;20754:12;20730:23;:37::i;:::-;-1:-1:-1;;;;;20716:51:201;:10;-1:-1:-1;;;;;20716:51:201;;20683:173;;;;-1:-1:-1;;;20683:173:201;;;;;;;:::i;:::-;20891:12;20878:25;;20629:293;20940:18;;;;;;;;21009:10;20976:12;20989:16;20976:30;;;;;;;;;;;;;:43;-1:-1:-1;;;;;20976:43:201;;;-1:-1:-1;;;;;20976:43:201;;;;;21084:5;21037:18;21056:16;21037:36;;;;;;;;;;;;;:53;;;;;20490:1267;;;;;21123:1;21115:5;:9;21111:646;;;21144:21;21168:6;21175:1;21168:9;;;;;;;;;;;;;;21144:33;;21195:20;21218:13;21232:1;21218:16;;;;;;;;;;;;;;21195:39;;21281:1;-1:-1:-1;;;;;21257:26:201;:12;-1:-1:-1;;;;;21257:26:201;;21253:299;;21357:37;21381:12;21357:23;:37::i;:::-;-1:-1:-1;;;;;21340:54:201;:13;-1:-1:-1;;;;;21340:54:201;;21307:176;;;;-1:-1:-1;;;21307:176:201;;;;;;;:::i;:::-;21521:12;21505:28;;21253:299;21570:21;;;;;;;;21648:13;21609:15;21625:19;21609:36;;;;;;;;;;;;;:52;-1:-1:-1;;;;;21609:52:201;;;-1:-1:-1;;;;;21609:52:201;;;;;21736:5;21735:6;;21679:24;21704:19;21679:45;;;;;;;;;;;;;:63;;;;;21111:646;;;-1:-1:-1;20432:3:201;;20397:1370;;;;21798:50;21777:206;;;;;;;19147:2843;;;;;;;;:::o;17874:1147::-;18014:64;18092:29;18135:35;18184:32;18230:41;18297:20;18319:17;18340:69;18383:16;;18340:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;18340:29:201;;-1:-1:-1;;;18340:69:201:i;:::-;18435:16;;;18449:1;18435:16;;;;;;;;;18296:113;;-1:-1:-1;18296:113:201;;-1:-1:-1;18435:16:201;;;;;;;;;-1:-1:-1;;18482:16:201;;;18496:1;18482:16;;;;;;;;;18420:31;;-1:-1:-1;18496:1:201;-1:-1:-1;18482:16:201;;;;;;;;;-1:-1:-1;;18526:16:201;;;18540:1;18526:16;;;;;;;;;18461:37;;-1:-1:-1;18540:1:201;-1:-1:-1;18526:16:201;;;;;;;;;-1:-1:-1;;18579:16:201;;;18593:1;18579:16;;;;;;;;;18508:34;;-1:-1:-1;18593:1:201;-1:-1:-1;18579:16:201;;;;;;;;;;;-1:-1:-1;18579:16:201;18552:43;;18624:37;18648:12;18624:23;:37::i;:::-;18606:12;18619:1;18606:15;;;;;;;;;;;;;:55;-1:-1:-1;;;;;18606:55:201;;;-1:-1:-1;;;;;18606:55:201;;;;;18695:9;18671:18;18690:1;18671:21;;;;;;;;;;;;;:33;;;;;18736:12;18715:15;18731:1;18715:18;;;;;;;;;;;;;:33;-1:-1:-1;;;;;18715:33:201;;;-1:-1:-1;;;;;18715:33:201;;;;;18788:9;18758:24;18783:1;18758:27;;;;;;;;;;;;;:39;;;;;18829:50;18808:206;;;;17874:1147;;;;;;;;:::o;2902:876:162:-;3040:64;3118:29;3161:35;3210:32;3256:41;3404:55;3447:11;;3404:42;:55::i;1305:645:194:-;-1:-1:-1;;;;;1490:22:194;;1507:4;1490:22;1486:458;;;1528:166;;-1:-1:-1;;;1528:166:194;;-1:-1:-1;;;;;1528:36:194;;;;;:166;;1588:3;;1618:7;;1666:13;;1528:166;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1486:458;;;1725:208;;-1:-1:-1;;;1725:208:194;;-1:-1:-1;;;;;1725:44:194;;;;;:208;;1799:5;;1827:3;;1857:7;;1905:13;;1725:208;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1305:645;;;;;:::o;1348:613:450:-;1713:10;;;1712:62;;-1:-1:-1;1729:39:450;;-1:-1:-1;;;1729:39:450;;-1:-1:-1;;;;;1729:15:450;;;;;:39;;1753:4;;1760:7;;1729:39;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:44;1712:62;1704:150;;;;-1:-1:-1;;;1704:150:450;;;;;;;:::i;:::-;1864:90;1884:5;1914:22;;;1938:7;1947:5;1891:62;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;1891:62:450;;;;;;;;;;;;;;-1:-1:-1;;;;;1891:62:450;-1:-1:-1;;;;;;1891:62:450;;;;;;;;;;1864:19;:90::i;1597:235:162:-;1752:73;;-1:-1:-1;;;1752:73:162;;1717:12;;-1:-1:-1;;;;;1752:32:162;:58;;;;:73;;1811:13;;1752:73;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;945:286:194:-;1105:60;1131:14;1147:8;1157:7;1105:25;:60::i;:::-;1175:49;;-1:-1:-1;;;;;;1175:49:194;;-1:-1:-1;;;;;1175:35:194;;;;;:49;;1211:3;;1216:7;;1175:49;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;704:175:450;786:86;806:5;836:23;;;861:2;865:5;813:58;;;;;;;;;:::i;1749:268:183:-;1938:72;;-1:-1:-1;;;1938:72:183;;-1:-1:-1;;;;;1938:23:183;:32;;;;:72;;1971:7;;1980;;1989:10;;2001:8;;1938:72;;;:::i;2489:299:354:-;2595:17;2633:9;2628:132;2648:5;:12;2644:1;:16;2628:132;;;2696:5;2702:1;2696:8;;;;;;;;;;;;;;-1:-1:-1;;;;;2685:19:354;:7;-1:-1:-1;;;;;2685:19:354;;2681:69;;;2731:4;2724:11;;;;;2681:69;2662:3;;2628:132;;;-1:-1:-1;2776:5:354;;2489:299;-1:-1:-1;;;2489:299:354:o;2063:278:183:-;2262:72;;-1:-1:-1;;;2262:72:183;;-1:-1:-1;;;;;2262:23:183;:32;;;;:72;;2295:7;;2304;;2313:10;;2325:8;;2262:72;;;:::i;727:146:194:-;819:47;;-1:-1:-1;;;819:47:194;;-1:-1:-1;;;;;819:41:194;;;;;:47;;861:4;;819:47;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;819:47:194;;;;;;;;;;;;:::i;25320:271:201:-;25486:35;25513:7;25486:26;:35::i;:::-;-1:-1:-1;;;;;25444:77:201;:38;25468:13;25444:23;:38::i;:::-;-1:-1:-1;;;;;25444:77:201;;25423:161;;;;-1:-1:-1;;;25423:161:201;;;;;;;:::i;25669:167::-;25767:20;25766:21;25758:71;;;;-1:-1:-1;;;25758:71:201;;;;;;;:::i;:::-;25669:167;:::o;23396:1258::-;23844:16;;;23858:1;23844:16;;;;;;;;;23547:64;;23625:29;;;;;;;;23844:16;;;;;;;;;-1:-1:-1;;23891:16:201;;;23905:1;23891:16;;;;;;;;;23829:31;;-1:-1:-1;23905:1:201;-1:-1:-1;23891:16:201;;;;;;;;;;;-1:-1:-1;23891:16:201;23870:37;;23918:14;23942:20;23972:49;;:::i;:::-;24213:48;24244:16;;24213:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;24213:30:201;;-1:-1:-1;;;24213:48:201:i;:::-;24091:18;24110:1;24091:21;;;;;;;;;;;;;;;;;24031:230;;;;;;-1:-1:-1;24031:230:201;-1:-1:-1;24031:230:201;;-1:-1:-1;24031:230:201;;-1:-1:-1;24031:230:201;-1:-1:-1;24272:51:201;24031:230;;24272:29;:51::i;:::-;24333:56;24362:7;:26;;;24333:28;:56::i;:::-;24418:12;24400;24413:1;24400:15;;;;;;;22114:1149;22256:64;22334:29;22377:35;22426:32;22472:41;22539:20;22561:17;22582:69;22625:16;;22582:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;22582:29:201;;-1:-1:-1;;;22582:69:201:i;:::-;22677:16;;;22691:1;22677:16;;;;;;;;;22538:113;;-1:-1:-1;22538:113:201;;-1:-1:-1;22677:16:201;;;;;;;;;-1:-1:-1;;22724:16:201;;;22738:1;22724:16;;;;;;;;;22662:31;;-1:-1:-1;22738:1:201;-1:-1:-1;22724:16:201;;;;;;;;;-1:-1:-1;;22768:16:201;;;22782:1;22768:16;;;;;;;;;22703:37;;-1:-1:-1;22782:1:201;-1:-1:-1;22768:16:201;;;;;;;;;-1:-1:-1;;22821:16:201;;;22835:1;22821:16;;;;;;;;;22750:34;;-1:-1:-1;22835:1:201;-1:-1:-1;22821:16:201;;;;;;;;;;;-1:-1:-1;22821:16:201;22794:43;;22866:12;22848;22861:1;22848:15;;;;;;;;;;;;;:30;-1:-1:-1;;;;;22848:30:201;;;-1:-1:-1;;;;;22848:30:201;;;;;22912:9;22888:18;22907:1;22888:21;;;;;;;;;;;;;:33;;;;;22953:37;22977:12;22953:23;:37::i;:::-;22932:15;22948:1;22932:18;;;;;;;2967:751:450;3386:23;3412:69;3440:4;3412:69;;;;;;;;;;;;;;;;;3420:5;-1:-1:-1;;;;;3412:27:450;;;:69;;;;;:::i;:::-;3495:17;;3386:95;;-1:-1:-1;3495:21:450;3491:221;;3635:10;3624:30;;;;;;;;;;;;:::i;:::-;3616:85;;;;-1:-1:-1;;;3616:85:450;;;;;;;:::i;3581:193:451:-;3684:12;3715:52;3737:6;3745:4;3751:1;3754:12;3715:21;:52::i;:::-;3708:59;;3581:193;;;;;;:::o;4608:523::-;4735:12;4792:5;4767:21;:30;;4759:81;;;;-1:-1:-1;;;4759:81:451;;;;;;;:::i;:::-;4858:18;4869:6;4858:10;:18::i;:::-;4850:60;;;;-1:-1:-1;;;4850:60:451;;;;;;;:::i;:::-;4981:12;4995:23;5022:6;-1:-1:-1;;;;;5022:11:451;5042:5;5050:4;5022:33;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4980:75;;;;5072:52;5090:7;5099:10;5111:12;5072:17;:52::i;:::-;5065:59;;;;4608:523;;;;;;;:::o;726:413::-;1086:20;1124:8;;;726:413::o;7091:725::-;7206:12;7234:7;7230:580;;;-1:-1:-1;7264:10:451;7257:17;;7230:580;7375:17;;:21;7371:429;;7633:10;7627:17;7693:15;7680:10;7676:2;7672:19;7665:44;7582:145;7772:12;7765:20;;-1:-1:-1;;;7765:20:451;;;;;;;;:::i;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5:130::-;72:20;;97:33;72:20;97:33;:::i;142:134::-;220:13;;238:33;220:13;238:33;:::i;458:722::-;;586:3;579:4;571:6;567:17;563:27;553:2;;604:1;601;594:12;553:2;634:6;628:13;656:80;671:64;728:6;671:64;:::i;:::-;656:80;:::i;:::-;647:89;;753:5;778:6;771:5;764:21;808:4;800:6;796:17;786:27;;830:4;825:3;821:14;814:21;;883:6;930:3;922:4;914:6;910:17;905:3;901:27;898:36;895:2;;;947:1;944;937:12;895:2;972:1;957:217;982:6;979:1;976:13;957:217;;;1040:3;1062:48;1106:3;1094:10;1062:48;:::i;:::-;1050:61;;-1:-1;1134:4;1125:14;;;;1153;;;;;1004:1;997:9;957:217;;;961:14;546:634;;;;;;;:::o;1205:719::-;;1332:3;1325:4;1317:6;1313:17;1309:27;1299:2;;1350:1;1347;1340:12;1299:2;1380:6;1374:13;1402:79;1417:63;1473:6;1417:63;:::i;1402:79::-;1393:88;;1498:5;1523:6;1516:5;1509:21;1553:4;1545:6;1541:17;1531:27;;1575:4;1570:3;1566:14;1559:21;;1628:6;1675:3;1667:4;1659:6;1655:17;1650:3;1646:27;1643:36;1640:2;;;1692:1;1689;1682:12;1640:2;1717:1;1702:216;1727:6;1724:1;1721:13;1702:216;;;1785:3;1807:47;1850:3;1838:10;1807:47;:::i;:::-;1795:60;;-1:-1;1878:4;1869:14;;;;1897;;;;;1749:1;1742:9;1702:216;;1980:782;;2140:3;2133:4;2125:6;2121:17;2117:27;2107:2;;2158:1;2155;2148:12;2107:2;2188:6;2182:13;2210:112;2225:96;2314:6;2225:96;:::i;2210:112::-;2350:21;;;2394:4;2382:17;;;;2201:121;;-1:-1;2407:14;;2382:17;2502:1;2487:269;2512:6;2509:1;2506:13;2487:269;;;2588:3;2582:10;2574:6;2570:23;2612:80;2688:3;2676:10;2612:80;:::i;:::-;2600:93;;-1:-1;2716:4;2707:14;;;;2735;;;;;2534:1;2527:9;2487:269;;2788:722;;2916:3;2909:4;2901:6;2897:17;2893:27;2883:2;;2934:1;2931;2924:12;2883:2;2964:6;2958:13;2986:80;3001:64;3058:6;3001:64;:::i;2986:80::-;2977:89;;3083:5;3108:6;3101:5;3094:21;3138:4;3130:6;3126:17;3116:27;;3160:4;3155:3;3151:14;3144:21;;3213:6;3260:3;3252:4;3244:6;3240:17;3235:3;3231:27;3228:36;3225:2;;;3277:1;3274;3267:12;3225:2;3302:1;3287:217;3312:6;3309:1;3306:13;3287:217;;;3370:3;3392:48;3436:3;3424:10;3392:48;:::i;:::-;3380:61;;-1:-1;3464:4;3455:14;;;;3483;;;;;3334:1;3327:9;3287:217;;3518:128;3593:13;;3611:30;3593:13;3611:30;:::i;3653:134::-;3731:13;;3749:33;3731:13;3749:33;:::i;3794:128::-;3860:20;;3885:32;3860:20;3885:32;:::i;3943:336::-;;;4057:3;4050:4;4042:6;4038:17;4034:27;4024:2;;4075:1;4072;4065:12;4024:2;-1:-1;4095:20;;-1:-1;;;;;4124:30;;4121:2;;;4167:1;4164;4157:12;4121:2;4201:4;4193:6;4189:17;4177:29;;4252:3;4244:4;4236:6;4232:17;4222:8;4218:32;4215:41;4212:2;;;4269:1;4266;4259:12;4212:2;4017:262;;;;;:::o;4288:442::-;;4400:3;4393:4;4385:6;4381:17;4377:27;4367:2;;4418:1;4415;4408:12;4367:2;4448:6;4442:13;4470:64;4485:48;4526:6;4485:48;:::i;4470:64::-;4461:73;;4554:6;4547:5;4540:21;4590:4;4582:6;4578:17;4623:4;4616:5;4612:16;4658:3;4649:6;4644:3;4640:16;4637:25;4634:2;;;4675:1;4672;4665:12;4634:2;4685:39;4717:6;4712:3;4707;4685:39;:::i;:::-;4360:370;;;;;;;:::o;4738:162::-;4830:13;;4848:47;4830:13;4848:47;:::i;5090:1086::-;;5222:4;5210:9;5205:3;5201:19;5197:30;5194:2;;;5240:1;5237;5230:12;5194:2;5258:20;5273:4;5258:20;:::i;:::-;5249:29;-1:-1;5330:1;5362:60;5418:3;5398:9;5362:60;:::i;:::-;5337:86;;-1:-1;5492:2;5525:60;5581:3;5557:22;;;5525:60;:::i;:::-;5518:4;5511:5;5507:16;5500:86;5444:153;5656:2;5689:60;5745:3;5736:6;5725:9;5721:22;5689:60;:::i;:::-;5682:4;5675:5;5671:16;5664:86;5607:154;5813:2;5846:60;5902:3;5893:6;5882:9;5878:22;5846:60;:::i;:::-;5839:4;5832:5;5828:16;5821:86;5771:147;5993:3;5982:9;5978:19;5972:26;-1:-1;;;;;6010:6;6007:30;6004:2;;;6050:1;6047;6040:12;6004:2;6085:69;6150:3;6141:6;6130:9;6126:22;6085:69;:::i;:::-;6078:4;6071:5;6067:16;6060:95;5928:238;5188:988;;;;:::o;6231:1136::-;;6367:4;6355:9;6350:3;6346:19;6342:30;6339:2;;;6385:1;6382;6375:12;6339:2;6403:20;6418:4;6403:20;:::i;:::-;6475:24;;6394:29;;-1:-1;;;;;;6508:30;;6505:2;;;6551:1;6548;6541:12;6505:2;6586:85;6667:3;6658:6;6647:9;6643:22;6586:85;:::i;:::-;6561:111;;-1:-1;6756:2;6741:18;;6735:25;-1:-1;;;;;6769:30;;6766:2;;;6812:1;6809;6802:12;6766:2;6847:85;6928:3;6919:6;6908:9;6904:22;6847:85;:::i;:::-;6840:4;6833:5;6829:16;6822:111;6693:251;7019:2;7008:9;7004:18;6998:25;-1:-1;;;;;7035:6;7032:30;7029:2;;;7075:1;7072;7065:12;7029:2;7110:69;7175:3;7166:6;7155:9;7151:22;7110:69;:::i;:::-;7103:4;7096:5;7092:16;7085:95;6954:237;7255:2;7288:57;7341:3;7332:6;7321:9;7317:22;7288:57;:::i;:::-;7281:4;7274:5;7270:16;7263:83;7201:156;6333:1034;;;;:::o;7515:263::-;;7630:2;7618:9;7609:7;7605:23;7601:32;7598:2;;;7646:1;7643;7636:12;7598:2;7681:1;7698:64;7754:7;7734:9;7698:64;:::i;8071:1371::-;;;;;;;8365:3;8353:9;8344:7;8340:23;8336:33;8333:2;;;8382:1;8379;8372:12;8333:2;8417:1;8434:72;8498:7;8478:9;8434:72;:::i;:::-;8424:82;;8396:116;8543:2;8561:64;8617:7;8608:6;8597:9;8593:22;8561:64;:::i;:::-;8551:74;;8522:109;8662:2;8680:64;8736:7;8727:6;8716:9;8712:22;8680:64;:::i;:::-;8670:74;;8641:109;8802:2;8791:9;8787:18;8781:25;-1:-1;;;;;8818:6;8815:30;8812:2;;;8858:1;8855;8848:12;8812:2;8878:89;8959:7;8950:6;8939:9;8935:22;8878:89;:::i;:::-;8868:99;;8760:213;9025:3;9014:9;9010:19;9004:26;-1:-1;;;;;9042:6;9039:30;9036:2;;;9082:1;9079;9072:12;9036:2;9102:89;9183:7;9174:6;9163:9;9159:22;9102:89;:::i;:::-;9092:99;;8983:214;9249:3;9238:9;9234:19;9228:26;-1:-1;;;;;9266:6;9263:30;9260:2;;;9306:1;9303;9296:12;9260:2;9326:100;9418:7;9409:6;9398:9;9394:22;9326:100;:::i;:::-;9316:110;;9207:225;8327:1115;;;;;;;;:::o;9449:415::-;;;9589:2;9577:9;9568:7;9564:23;9560:32;9557:2;;;9605:1;9602;9595:12;9557:2;9640:1;9657:72;9721:7;9701:9;9657:72;:::i;:::-;9647:82;;9619:116;9766:2;9784:64;9840:7;9831:6;9820:9;9816:22;9784:64;:::i;:::-;9774:74;;9745:109;9551:313;;;;;:::o;9871:613::-;;;;;10027:2;10015:9;10006:7;10002:23;9998:32;9995:2;;;10043:1;10040;10033:12;9995:2;10078:1;10095:53;10140:7;10120:9;10095:53;:::i;:::-;10085:63;;10057:97;10185:2;10203:52;10247:7;10238:6;10227:9;10223:22;10203:52;:::i;:::-;10193:62;;10164:97;10320:2;10309:9;10305:18;10292:32;-1:-1;;;;;10336:6;10333:30;10330:2;;;10376:1;10373;10366:12;10330:2;10404:64;10460:7;10451:6;10440:9;10436:22;10404:64;:::i;:::-;9989:495;;;;-1:-1;10386:82;-1:-1;;;;9989:495::o;10491:739::-;;;;;;10667:2;10655:9;10646:7;10642:23;10638:32;10635:2;;;10683:1;10680;10673:12;10635:2;10718:1;10735:53;10780:7;10760:9;10735:53;:::i;:::-;10725:63;;10697:97;10853:2;10842:9;10838:18;10825:32;-1:-1;;;;;10869:6;10866:30;10863:2;;;10909:1;10906;10899:12;10863:2;10937:64;10993:7;10984:6;10973:9;10969:22;10937:64;:::i;:::-;10919:82;;;;10804:203;11066:2;11055:9;11051:18;11038:32;-1:-1;;;;;11082:6;11079:30;11076:2;;;11122:1;11119;11112:12;11076:2;11150:64;11206:7;11197:6;11186:9;11182:22;11150:64;:::i;:::-;11132:82;;;;11017:203;10629:601;;;;;;;;:::o;11237:657::-;;;11419:2;11407:9;11398:7;11394:23;11390:32;11387:2;;;11435:1;11432;11425:12;11387:2;11470:24;;-1:-1;;;;;11503:30;;11500:2;;;11546:1;11543;11536:12;11500:2;11566:89;11647:7;11638:6;11627:9;11623:22;11566:89;:::i;:::-;11556:99;;11449:212;11713:2;11702:9;11698:18;11692:25;-1:-1;;;;;11729:6;11726:30;11723:2;;;11769:1;11766;11759:12;11723:2;11789:89;11870:7;11861:6;11850:9;11846:22;11789:89;:::i;11901:390::-;;12040:2;12028:9;12019:7;12015:23;12011:32;12008:2;;;12056:1;12053;12046:12;12008:2;12091:24;;-1:-1;;;;;12124:30;;12121:2;;;12167:1;12164;12157:12;12121:2;12187:88;12267:7;12258:6;12247:9;12243:22;12187:88;:::i;12298:257::-;;12410:2;12398:9;12389:7;12385:23;12381:32;12378:2;;;12426:1;12423;12416:12;12378:2;12461:1;12478:61;12531:7;12511:9;12478:61;:::i;12562:1415::-;;;;;;12890:3;12878:9;12869:7;12865:23;12861:33;12858:2;;;12907:1;12904;12897:12;12858:2;12942:1;12959:78;13029:7;13009:9;12959:78;:::i;:::-;12949:88;;12921:122;13095:2;13084:9;13080:18;13074:25;-1:-1;;;;;13111:6;13108:30;13105:2;;;13151:1;13148;13141:12;13105:2;13171:121;13284:7;13275:6;13264:9;13260:22;13171:121;:::i;:::-;13161:131;;13053:245;13350:2;13339:9;13335:18;13329:25;-1:-1;;;;;13366:6;13363:30;13360:2;;;13406:1;13403;13396:12;13360:2;13426:89;13507:7;13498:6;13487:9;13483:22;13426:89;:::i;:::-;13416:99;;13308:213;13573:2;13562:9;13558:18;13552:25;-1:-1;;;;;13589:6;13586:30;13583:2;;;13629:1;13626;13619:12;13583:2;13649:88;13729:7;13720:6;13709:9;13705:22;13649:88;:::i;:::-;13639:98;;13531:212;13795:3;13784:9;13780:19;13774:26;-1:-1;;;;;13812:6;13809:30;13806:2;;;13852:1;13849;13842:12;13806:2;13872:89;13953:7;13944:6;13933:9;13929:22;13872:89;:::i;:::-;13862:99;;13753:214;12852:1125;;;;;;;;:::o;13984:263::-;;14099:2;14087:9;14078:7;14074:23;14070:32;14067:2;;;14115:1;14112;14105:12;14067:2;14150:1;14167:64;14223:7;14203:9;14167:64;:::i;14255:173::-;;14342:46;14384:3;14376:6;14342:46;:::i;:::-;-1:-1;;14417:4;14408:14;;14335:93::o;14437:169::-;;14522:44;14562:3;14554:6;14522:44;:::i;14615:281::-;;14780:110;14886:3;14878:6;14780:110;:::i;15086:127::-;15175:32;15201:5;15175:32;:::i;:::-;15170:3;15163:45;15157:56;;:::o;15625:670::-;;15760:54;15808:5;15760:54;:::i;:::-;15827:76;15896:6;15891:3;15827:76;:::i;:::-;15820:83;;15924:56;15974:5;15924:56;:::i;:::-;16000:7;16028:1;16013:260;16038:6;16035:1;16032:13;16013:260;;;16105:6;16099:13;16126:63;16185:3;16170:13;16126:63;:::i;:::-;16119:70;;16206:60;16259:6;16206:60;:::i;:::-;16196:70;-1:-1;;16060:1;16053:9;16013:260;;;-1:-1;16286:3;;15739:556;-1:-1;;;;;15739:556::o;16334:690::-;;16479:54;16527:5;16479:54;:::i;:::-;16546:86;16625:6;16620:3;16546:86;:::i;:::-;16539:93;;16653:56;16703:5;16653:56;:::i;:::-;16729:7;16757:1;16742:260;16767:6;16764:1;16761:13;16742:260;;;16834:6;16828:13;16855:63;16914:3;16899:13;16855:63;:::i;:::-;16848:70;;16935:60;16988:6;16935:60;:::i;:::-;16925:70;-1:-1;;16789:1;16782:9;16742:260;;17061:682;;17204:53;17251:5;17204:53;:::i;:::-;17270:85;17348:6;17343:3;17270:85;:::i;:::-;17263:92;;17376:55;17425:5;17376:55;:::i;:::-;17451:7;17479:1;17464:257;17489:6;17486:1;17483:13;17464:257;;;17556:6;17550:13;17577:61;17634:3;17619:13;17577:61;:::i;:::-;17570:68;;17655:59;17707:6;17655:59;:::i;:::-;17645:69;-1:-1;;17511:1;17504:9;17464:257;;17842:1104;;18051:86;18131:5;18051:86;:::i;:::-;18150:118;18261:6;18256:3;18150:118;:::i;:::-;18143:125;;18291:3;18333:4;18325:6;18321:17;18316:3;18312:27;18360:88;18442:5;18360:88;:::i;:::-;18468:7;18496:1;18481:426;18506:6;18503:1;18500:13;18481:426;;;18568:9;18562:4;18558:20;18553:3;18546:33;18613:6;18607:13;18635:128;18758:4;18743:13;18635:128;:::i;:::-;18627:136;;18780:92;18865:6;18780:92;:::i;:::-;18895:4;18886:14;;;;;18770:102;-1:-1;;18528:1;18521:9;18481:426;;;-1:-1;18920:4;;18030:916;-1:-1;;;;;;;18030:916::o;18985:670::-;;19120:54;19168:5;19120:54;:::i;:::-;19187:76;19256:6;19251:3;19187:76;:::i;:::-;19180:83;;19284:56;19334:5;19284:56;:::i;:::-;19360:7;19388:1;19373:260;19398:6;19395:1;19392:13;19373:260;;;19465:6;19459:13;19486:63;19545:3;19530:13;19486:63;:::i;:::-;19479:70;;19566:60;19619:6;19566:60;:::i;:::-;19556:70;-1:-1;;19420:1;19413:9;19373:260;;19694:690;;19839:54;19887:5;19839:54;:::i;:::-;19906:86;19985:6;19980:3;19906:86;:::i;:::-;19899:93;;20013:56;20063:5;20013:56;:::i;:::-;20089:7;20117:1;20102:260;20127:6;20124:1;20121:13;20102:260;;;20194:6;20188:13;20215:63;20274:3;20259:13;20215:63;:::i;:::-;20208:70;;20295:60;20348:6;20295:60;:::i;:::-;20285:70;-1:-1;;20149:1;20142:9;20102:260;;20392:94;20459:21;20474:5;20459:21;:::i;20604:103::-;20677:24;20695:5;20677:24;:::i;20834:110::-;20915:23;20932:5;20915:23;:::i;20951:323::-;;21051:38;21083:5;21051:38;:::i;:::-;21101:60;21154:6;21149:3;21101:60;:::i;:::-;21094:67;;21166:52;21211:6;21206:3;21199:4;21192:5;21188:16;21166:52;:::i;:::-;21239:29;21261:6;21239:29;:::i;:::-;21230:39;;;;21031:243;-1:-1;;;21031:243::o;21281:356::-;;21409:38;21441:5;21409:38;:::i;:::-;21459:88;21540:6;21535:3;21459:88;:::i;:::-;21452:95;;21552:52;21597:6;21592:3;21585:4;21578:5;21574:16;21552:52;:::i;:::-;21616:16;;;;;21389:248;-1:-1;;21389:248::o;21644:176::-;21752:62;21808:5;21752:62;:::i;21827:150::-;21922:49;21965:5;21922:49;:::i;22446:380::-;;22606:67;22670:2;22665:3;22606:67;:::i;:::-;22706:34;22686:55;;-1:-1;;;22770:2;22761:12;;22754:35;22817:2;22808:12;;22592:234;-1:-1;;22592:234::o;22835:376::-;;22995:67;23059:2;23054:3;22995:67;:::i;:::-;23095:34;23075:55;;-1:-1;;;23159:2;23150:12;;23143:31;23202:2;23193:12;;22981:230;-1:-1;;22981:230::o;23220:374::-;;23380:67;23444:2;23439:3;23380:67;:::i;:::-;23480:34;23460:55;;-1:-1;;;23544:2;23535:12;;23528:29;23585:2;23576:12;;23366:228;-1:-1;;23366:228::o;23603:375::-;;23763:67;23827:2;23822:3;23763:67;:::i;:::-;23863:34;23843:55;;-1:-1;;;23927:2;23918:12;;23911:30;23969:2;23960:12;;23749:229;-1:-1;;23749:229::o;23987:387::-;;24147:67;24211:2;24206:3;24147:67;:::i;:::-;24247:34;24227:55;;-1:-1;;;24311:2;24302:12;;24295:42;24365:2;24356:12;;24133:241;-1:-1;;24133:241::o;24383:332::-;;24543:67;24607:2;24602:3;24543:67;:::i;:::-;24643:34;24623:55;;24706:2;24697:12;;24529:186;-1:-1;;24529:186::o;24724:374::-;;24884:67;24948:2;24943:3;24884:67;:::i;:::-;24984:34;24964:55;;-1:-1;;;25048:2;25039:12;;25032:29;25089:2;25080:12;;24870:228;-1:-1;;24870:228::o;25107:329::-;;25267:67;25331:2;25326:3;25267:67;:::i;:::-;25367:31;25347:52;;25427:2;25418:12;;25253:183;-1:-1;;25253:183::o;25445:379::-;;25605:67;25669:2;25664:3;25605:67;:::i;:::-;25705:34;25685:55;;-1:-1;;;25769:2;25760:12;;25753:34;25815:2;25806:12;;25591:233;-1:-1;;25591:233::o;25833:391::-;;25993:67;26057:2;26052:3;25993:67;:::i;:::-;26093:34;26073:55;;-1:-1;;;26157:2;26148:12;;26141:46;26215:2;26206:12;;25979:245;-1:-1;;25979:245::o;26233:376::-;;26393:67;26457:2;26452:3;26393:67;:::i;:::-;26493:34;26473:55;;-1:-1;;;26557:2;26548:12;;26541:31;26600:2;26591:12;;26379:230;-1:-1;;26379:230::o;26702:1060::-;26925:23;;26702:1060;;26857:4;26848:14;;;26954:63;26852:3;26925:23;26954:63;:::i;:::-;26877:146;27104:4;27097:5;27093:16;27087:23;27116:63;27173:4;27168:3;27164:14;27150:12;27116:63;:::i;:::-;27033:152;27267:4;27260:5;27256:16;27250:23;27279:63;27336:4;27331:3;27327:14;27313:12;27279:63;:::i;:::-;27195:153;27423:4;27416:5;27412:16;27406:23;27435:63;27492:4;27487:3;27483:14;27469:12;27435:63;:::i;:::-;27358:146;27581:4;27574:5;27570:16;27564:23;27633:3;27627:4;27623:14;27616:4;27611:3;27607:14;27600:38;27653:71;27719:4;27705:12;27653:71;:::i;:::-;27645:79;26830:932;-1:-1;;;;;26830:932::o;27856:839::-;28083:23;;28015:4;28006:14;;;28112:63;28010:3;28083:23;28112:63;:::i;:::-;28035:146;28269:4;28262:5;28258:16;28252:23;28281:57;28332:4;28327:3;28323:14;28309:12;28281:57;:::i;:::-;28191:153;28422:4;28415:5;28411:16;28405:23;28434:79;28507:4;28502:3;28498:14;28484:12;28434:79;:::i;:::-;28354:165;28605:4;28598:5;28594:16;28588:23;28617:57;28668:4;28663:3;28659:14;28645:12;28617:57;:::i;28795:1127::-;29036:23;;28968:4;29072:38;;;28795:1127;;28959:14;;;;29125:103;28959:14;29036:23;29125:103;:::i;:::-;29117:111;;28988:252;29315:4;29308:5;29304:16;29298:23;29367:3;29361:4;29357:14;29350:4;29345:3;29341:14;29334:38;29387:103;29485:4;29471:12;29387:103;:::i;:::-;29379:111;;29250:252;29579:4;29572:5;29568:16;29562:23;29631:3;29625:4;29621:14;29614:4;29609:3;29605:14;29598:38;29651:71;29717:4;29703:12;29651:71;:::i;:::-;29643:79;;29512:222;29821:4;29814:5;29810:16;29804:23;29833:57;29884:4;29879:3;29875:14;29861:12;29833:57;:::i;:::-;-1:-1;29913:4;28941:981;-1:-1;;;28941:981::o;30159:271::-;;30312:93;30401:3;30392:6;30312:93;:::i;30437:222::-;30564:2;30549:18;;30578:71;30553:9;30622:6;30578:71;:::i;30666:333::-;30821:2;30806:18;;30835:71;30810:9;30879:6;30835:71;:::i;:::-;30917:72;30985:2;30974:9;30970:18;30961:6;30917:72;:::i;31006:544::-;31211:3;31196:19;;31226:71;31200:9;31270:6;31226:71;:::i;:::-;31308:72;31376:2;31365:9;31361:18;31352:6;31308:72;:::i;:::-;31391;31459:2;31448:9;31444:18;31435:6;31391:72;:::i;:::-;31474:66;31536:2;31525:9;31521:18;31512:6;31474:66;:::i;31557:333::-;31712:2;31697:18;;31726:71;31701:9;31770:6;31726:71;:::i;:::-;31808:72;31876:2;31865:9;31861:18;31852:6;31808:72;:::i;31897:432::-;32074:2;32059:18;;32088:71;32063:9;32132:6;32088:71;:::i;:::-;32170:72;32238:2;32227:9;32223:18;32214:6;32170:72;:::i;:::-;32253:66;32315:2;32304:9;32300:18;32291:6;32253:66;:::i;32336:780::-;32635:3;32620:19;;32650:71;32624:9;32694:6;32650:71;:::i;:::-;32732:72;32800:2;32789:9;32785:18;32776:6;32732:72;:::i;:::-;32815:88;32899:2;32888:9;32884:18;32875:6;32815:88;:::i;:::-;32951:9;32945:4;32941:20;32936:2;32925:9;32921:18;32914:48;32976:130;33101:4;33092:6;32976:130;:::i;:::-;32968:138;32606:510;-1:-1;;;;;;32606:510::o;33878:218::-;34003:2;33988:18;;34017:69;33992:9;34059:6;34017:69;:::i;34103:1310::-;34567:3;34552:19;;34582:96;34556:9;34651:6;34582:96;:::i;:::-;34726:9;34720:4;34716:20;34711:2;34700:9;34696:18;34689:48;34751:108;34854:4;34845:6;34751:108;:::i;:::-;34743:116;;34907:9;34901:4;34897:20;34892:2;34881:9;34877:18;34870:48;34932:108;35035:4;35026:6;34932:108;:::i;:::-;34924:116;;35088:9;35082:4;35078:20;35073:2;35062:9;35058:18;35051:48;35113:108;35216:4;35207:6;35113:108;:::i;:::-;35105:116;;35270:9;35264:4;35260:20;35254:3;35243:9;35239:19;35232:49;35295:108;35398:4;35389:6;35295:108;:::i;:::-;35287:116;34538:875;-1:-1;;;;;;;34538:875::o;35420:1504::-;35977:3;35962:19;;35992:83;35966:9;36048:6;35992:83;:::i;:::-;36123:9;36117:4;36113:20;36108:2;36097:9;36093:18;36086:48;36148:172;36315:4;36306:6;36148:172;:::i;:::-;36140:180;;36368:9;36362:4;36358:20;36353:2;36342:9;36338:18;36331:48;36393:108;36496:4;36487:6;36393:108;:::i;:::-;36385:116;;36512:138;36646:2;36635:9;36631:18;36622:6;36512:138;:::i;:::-;36699:9;36693:4;36689:20;36683:3;36672:9;36668:19;36661:49;36724:106;36825:4;36816:6;36724:106;:::i;:::-;36716:114;;36841:73;36909:3;36898:9;36894:19;36885:6;36841:73;:::i;36931:310::-;37078:2;37092:47;;;37063:18;;37153:78;37063:18;37217:6;37153:78;:::i;37248:416::-;37448:2;37462:47;;;37433:18;;37523:131;37433:18;37523:131;:::i;37671:416::-;37871:2;37885:47;;;37856:18;;37946:131;37856:18;37946:131;:::i;38094:416::-;38294:2;38308:47;;;38279:18;;38369:131;38279:18;38369:131;:::i;38517:416::-;38717:2;38731:47;;;38702:18;;38792:131;38702:18;38792:131;:::i;38940:416::-;39140:2;39154:47;;;39125:18;;39215:131;39125:18;39215:131;:::i;39363:416::-;39563:2;39577:47;;;39548:18;;39638:131;39548:18;39638:131;:::i;39786:416::-;39986:2;40000:47;;;39971:18;;40061:131;39971:18;40061:131;:::i;40209:416::-;40409:2;40423:47;;;40394:18;;40484:131;40394:18;40484:131;:::i;40632:416::-;40832:2;40846:47;;;40817:18;;40907:131;40817:18;40907:131;:::i;41055:416::-;41255:2;41269:47;;;41240:18;;41330:131;41240:18;41330:131;:::i;41478:416::-;41678:2;41692:47;;;41663:18;;41753:131;41663:18;41753:131;:::i;41901:256::-;41963:2;41957:9;41989:17;;;-1:-1;;;;;42049:34;;42085:22;;;42046:62;42043:2;;;42121:1;42118;42111:12;42043:2;42137;42130:22;41941:216;;-1:-1;41941:216::o;42164:304::-;;-1:-1;;;;;42315:6;42312:30;42309:2;;;42355:1;42352;42345:12;42309:2;-1:-1;42390:4;42378:17;;;42443:15;;42246:222::o;43439:321::-;;-1:-1;;;;;43574:6;43571:30;43568:2;;;43614:1;43611;43604:12;43568:2;-1:-1;43745:4;43681;43658:17;;;;-1:-1;;43654:33;43735:15;;43505:255::o;43767:151::-;43891:4;43882:14;;43839:79::o;44430:137::-;44533:12;;44504:63::o;45786:168::-;45894:19;;;45943:4;45934:14;;45887:67::o;47404:91::-;;47466:24;47484:5;47466:24;:::i;47608:85::-;47674:13;47667:21;;47650:43::o;47700:72::-;47762:5;47745:27::o;47779:144::-;-1:-1;;;;;;47840:78;;47823:100::o;47930:160::-;48019:5;48025:60;48019:5;48025:60;:::i;48097:134::-;48173:5;48179:47;48173:5;48179:47;:::i;48316:121::-;-1:-1;;;;;48378:54;;48361:76::o;48523:160::-;;48627:51;48672:5;48627:51;:::i;48690:134::-;;48781:38;48813:5;48781:38;:::i;48832:268::-;48897:1;48904:101;48918:6;48915:1;48912:13;48904:101;;;48985:11;;;48979:18;48966:11;;;48959:39;48940:2;48933:10;48904:101;;;49020:6;49017:1;49014:13;49011:2;;;-1:-1;;49085:1;49067:16;;49060:27;48881:219::o;49108:97::-;49196:2;49176:14;-1:-1;;49172:28;;49156:49::o;49213:118::-;49309:1;49302:5;49299:12;49289:2;;49315:9;49338:105;49421:1;49414:5;49411:12;49401:2;;49427:9;49450:117;49519:24;49537:5;49519:24;:::i;:::-;49512:5;49509:35;49499:2;;49558:1;49555;49548:12;49714:111;49780:21;49795:5;49780:21;:::i;49832:117::-;49901:24;49919:5;49901:24;:::i;49956:115::-;50024:23;50041:5;50024:23;:::i;50078:108::-;50161:1;50154:5;50151:12;50141:2;;50177:1;50174;50167:12", - "linkReferences": {}, - "immutableReferences": { - "41869": [ - { - "start": 7640, - "length": 32 - } - ], - "49791": [ - { - "start": 550, - "length": 32 - }, - { - "start": 1837, - "length": 32 - }, - { - "start": 2162, - "length": 32 - }, - { - "start": 2325, - "length": 32 - }, - { - "start": 2755, - "length": 32 - }, - { - "start": 3198, - "length": 32 - }, - { - "start": 3279, - "length": 32 - } - ], - "50133": [ - { - "start": 872, - "length": 32 - }, - { - "start": 3746, - "length": 32 - }, - { - "start": 4186, - "length": 32 - }, - { - "start": 4667, - "length": 32 - }, - { - "start": 7933, - "length": 32 - }, - { - "start": 8101, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "CLAIM_REWARDS_SELECTOR()": "40da225d", - "LEND_AND_STAKE_SELECTOR()": "131461c0", - "LEND_SELECTOR()": "257cb1a3", - "REDEEM_SELECTOR()": "f7d882b5", - "STAKE_SELECTOR()": "3ffc1591", - "TAKE_MULTIPLE_ORDERS_SELECTOR()": "c32990a2", - "TAKE_ORDER_SELECTOR()": "863e5ad0", - "UNSTAKE_AND_REDEEM_SELECTOR()": "080456c1", - "UNSTAKE_SELECTOR()": "b23228cf", - "claimRewards(address,bytes,bytes)": "b9dfbacc", - "getIntegrationManager()": "e7c45690", - "lendAndStake(address,bytes,bytes)": "29fa046e", - "parseAssetsForAction(address,bytes4,bytes)": "c54efee5", - "stake(address,bytes,bytes)": "fa7dd04d", - "takeOrder(address,bytes,bytes)": "03e38a2b", - "unstake(address,bytes,bytes)": "68e30677", - "unstakeAndRedeem(address,bytes,bytes)": "8334eb99" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_integrationManager\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_balancerVault\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_stakingWrapperFactory\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"CLAIM_REWARDS_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LEND_AND_STAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LEND_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"REDEEM_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"STAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TAKE_MULTIPLE_ORDERS_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TAKE_ORDER_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UNSTAKE_AND_REDEEM_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UNSTAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"claimRewards\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getIntegrationManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"integrationManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"lendAndStake\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"_selector\",\"type\":\"bytes4\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"}],\"name\":\"parseAssetsForAction\",\"outputs\":[{\"internalType\":\"enum IIntegrationManager.SpendAssetsHandleType\",\"name\":\"spendAssetsHandleType_\",\"type\":\"uint8\"},{\"internalType\":\"address[]\",\"name\":\"spendAssets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"spendAssetAmounts_\",\"type\":\"uint256[]\"},{\"internalType\":\"address[]\",\"name\":\"incomingAssets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"minIncomingAssetAmounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"stake\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"takeOrder\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"unstake\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"unstakeAndRedeem\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"claimRewards(address,bytes,bytes)\":{\"details\":\"Needs `onlyIntegrationManager` because Minter claiming permission is given by the fund\",\"params\":{\"_actionData\":\"Data specific to this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}},\"getIntegrationManager()\":{\"returns\":{\"integrationManager_\":\"The `INTEGRATION_MANAGER` variable value\"}},\"lendAndStake(address,bytes,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}},\"parseAssetsForAction(address,bytes4,bytes)\":{\"params\":{\"_actionData\":\"The encoded parameters for the callOnIntegration\",\"_selector\":\"The function selector for the callOnIntegration\"},\"returns\":{\"incomingAssets_\":\"The assets to receive in the call\",\"minIncomingAssetAmounts_\":\"The min asset amounts to receive in the call\",\"spendAssetAmounts_\":\"The max asset amounts to spend in the call\",\"spendAssetsHandleType_\":\"A type that dictates how to handle granting the adapter access to spend assets (`None` by default)\",\"spendAssets_\":\"The assets to spend in the call\"}},\"stake(address,bytes,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}},\"takeOrder(address,bytes,bytes)\":{\"details\":\"All `_actionData` inputs are Balancer `batchSwap()` params, with the exception of `stakingTokens`. \\\"Spend assets\\\" and \\\"incoming assets\\\" are parsed from the `limits` values corresponding to `assets`: - limit > 0 is a spend asset - limit < 0 is an incoming asset (including a partially-consumed intermediary asset) - limit == 0 is an intermediary asset that is completely consumed in the swap This function can also used for \\\"LPing\\\" with ComposableStablePool instances, since those pools contain their own BPT as an underlying asset. `stakingTokens` facilitates \\\"lend and stake\\\" and \\\"unstake and redeem\\\"-like functionality for such pools. If `stakingTokens[i]` is non-empty, it is considered to be the actual spend/incoming asset that must be unstaked to / staked from the BPT specified in `assets[i]` before/after the batchSawp().\",\"params\":{\"_actionData\":\"Data specific to this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}},\"unstake(address,bytes,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}},\"unstakeAndRedeem(address,bytes,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}}},\"title\":\"AuraBalancerV2LpStakingAdapter Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"claimRewards(address,bytes,bytes)\":{\"notice\":\"Claims all rewards\"},\"getIntegrationManager()\":{\"notice\":\"Gets the `INTEGRATION_MANAGER` variable\"},\"lendAndStake(address,bytes,bytes)\":{\"notice\":\"Lends assets for LP tokens, then stakes the received LP tokens\"},\"parseAssetsForAction(address,bytes4,bytes)\":{\"notice\":\"Parses the expected assets to receive from a call on integration\"},\"stake(address,bytes,bytes)\":{\"notice\":\"Stakes LP tokens\"},\"takeOrder(address,bytes,bytes)\":{\"notice\":\"Swaps assets on Balancer via batchSwap()\"},\"unstake(address,bytes,bytes)\":{\"notice\":\"Unstakes LP tokens\"},\"unstakeAndRedeem(address,bytes,bytes)\":{\"notice\":\"Unstakes LP tokens, then redeems them\"}},\"notice\":\"Adapter for staking Balancer pool tokens via Aura with optional combined end-to-end liquidity provision via Balancer\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/integration-manager/integrations/adapters/AuraBalancerV2LpStakingAdapter.sol\":\"AuraBalancerV2LpStakingAdapter\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/release/extensions/integration-manager/IIntegrationManager.sol\":{\"keccak256\":\"0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23\",\"dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk\"]},\"contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol\":{\"keccak256\":\"0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336\",\"dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS\"]},\"contracts/release/extensions/integration-manager/integrations/adapters/AuraBalancerV2LpStakingAdapter.sol\":{\"keccak256\":\"0x25756a6041d14bbae9b52e0ba070d3fa9106c30ce6d4984a40d77ccda0fb3a33\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6485de3b935e690e33032b1fecb8e4d602d7d4f3a9da00b8dc70e346a5b5e2a6\",\"dweb:/ipfs/QmcxFX1sdhPWkFk64LuXoEoh9KC4fz3HYfeJaqmFPNcWvv\"]},\"contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol\":{\"keccak256\":\"0x067e49bf0d3c1655ab41a413c65ccf61d4e593308132e1ffc484a0fadfbbaf26\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://387f425017e18e89cc1893521101fa99df595314847d0b3d9a1162369f714fcf\",\"dweb:/ipfs/Qmco3jCvuWAyfCpBYpGzHrQjiFJG63w1RJKcakoTEbxRQm\"]},\"contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol\":{\"keccak256\":\"0xfd34c7ca8231c6935e25dede32ca2b3121738e624d0fc896f7b895a731edcf88\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d492c061963d36d07718446db191d4c5a340c0d847f6cd209f027bd99f7cb176\",\"dweb:/ipfs/QmfCvRZt56ftDdrEh6LepHXFJ4fVtcfpQGvEyY8k4zxG1A\"]},\"contracts/release/extensions/integration-manager/integrations/utils/actions/BalancerV2ActionsMixin.sol\":{\"keccak256\":\"0xf2411ca1c42e8881a6aed8381294a03e363738bb4bf7b030dad47871ba27411f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://7916355a56eaa4337d28019dc84249e9e5abe5cc188718f11f945d92afc593f0\",\"dweb:/ipfs/QmXSe7UDdrutvCf5RujJxeurLUEotkTzm8Tn27xDqvwc6X\"]},\"contracts/release/extensions/integration-manager/integrations/utils/actions/StakingWrapperActionsMixin.sol\":{\"keccak256\":\"0x3b3cf5217bfdb046eb76336fbdb95e0bc389dee5964b1067f0239338acccea08\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://7ee1ece29be26ef9d16370487950bbbe2e8371642dd3f5c661423f59bf6d7072\",\"dweb:/ipfs/QmfXvVKe78qCysfTLb8WQzUCnKmBPpgFhF6aK13ZsEUoRK\"]},\"contracts/release/extensions/integration-manager/integrations/utils/bases/BalancerV2LiquidityAdapterBase.sol\":{\"keccak256\":\"0x584e1b88ebc1c7911d8df42b3f4d7739863a5c9922e3d007a0e97b261c24ff71\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://55299164a30b0e3170d3c9d4973559afa609410d19ff6c177fd4f7879ba11959\",\"dweb:/ipfs/QmaviuM17N3UtGmwo67MAavncrKWv99PnDx3yv2kUqoe3T\"]},\"contracts/release/infrastructure/staking-wrappers/IStakingWrapper.sol\":{\"keccak256\":\"0xaeb9aba4e74eb3243a85090fded7b157969cf83e1f4159b1da2f662a3e7b15be\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://92346911c044a54808d2d425fe58c6dc9594dfafb8d83496f6599e3bc23803d0\",\"dweb:/ipfs/QmYWf7yx9ZfUnP81K1hjvApthqNhpXzUhGuFBm4gX1aDRB\"]},\"contracts/release/infrastructure/staking-wrappers/StakingWrapperBase.sol\":{\"keccak256\":\"0x3e28050fbe625f1469701b231772ce321e719ddbce4f84b6caa1d8d634a4234a\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f0871b7d6b595e444e598f68751225a596d969267c289a465462fdeb67530fc8\",\"dweb:/ipfs/QmX2z5QGP3kpKx9ruGnZHYH5bDCD9sjRGTRhg9SRiowctg\"]},\"contracts/release/infrastructure/staking-wrappers/StakingWrapperLibBase.sol\":{\"keccak256\":\"0x94d4057419743d9354d77774e1e5279a5ed2fc70012ef28115357f9921bfb5be\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d1e461f460a0339cada6cdfb0107bde47d236b336fec0ed470235ce7928666bb\",\"dweb:/ipfs/QmcMzSrcWTKyqgBAACVCidd2dpMfbeUtcQYu4D1ASiyFzk\"]},\"contracts/release/infrastructure/staking-wrappers/aura-balancer-v2-lp/AuraBalancerV2LpStakingWrapperFactory.sol\":{\"keccak256\":\"0x5d350891df10d2874125741a6346e91a8d05995df035e914676fab1ffaa45562\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5cd06518169b6df46ed6778b7f13b8b7bd27a6806932347f6ed0fdf68f464c03\",\"dweb:/ipfs/QmTburYKxytgdccKgKJVNX4HCFfxGTRZWSb3yjYJyootSi\"]},\"contracts/release/infrastructure/staking-wrappers/convex-curve-lp/ConvexCurveLpStakingWrapperFactory.sol\":{\"keccak256\":\"0x4f7394dea52858ea7734ed8586377d1ebef39e1ca6aa5ed684fea7a7fe82b16a\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c7a5181757151d6210193dfa97b3076edcfe3017b4fefbfbbe3ab848878d5996\",\"dweb:/ipfs/Qme9tTYoAhMkHVLbwKQoSdVJTec1p9zAPwzSe7RZFvnkYu\"]},\"contracts/release/infrastructure/staking-wrappers/convex-curve-lp/ConvexCurveLpStakingWrapperLib.sol\":{\"keccak256\":\"0x1ec08f37e592766bb7f0d62edb04261bcd3c26154bb5dc437465f836fabf3427\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://0265250d2255bcb61fdb1842e7dbb26e4d56a11a1e3fd87f0790644277bb7259\",\"dweb:/ipfs/Qmb5kVMTr86qYkJu8o1YNwnCrbUJMhmhnFHMrdx2vZhdED\"]},\"contracts/release/interfaces/IBalancerV2Vault.sol\":{\"keccak256\":\"0xb3c8da122ab160129c74ffeb0310ff96c4977d65eef12888bc1a8276fa2a3fd2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c9c89c1e04327c6fa45fbdf9ae8fd132ed95c9101ab49d078ef99c6590c30867\",\"dweb:/ipfs/QmWKrLQg5xBVmi6snaAwU3zUTjxQ6ugYj6n45x1hqRxv9A\"]},\"contracts/release/interfaces/IConvexBaseRewardPool.sol\":{\"keccak256\":\"0x7c82b546c3c339c6f602191bc9062d6887af7db438800359c0547aa6bb025acc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://13a488b1d715000d1ed9415917a8f9c347ec91b04770b74746facacd88e2e105\",\"dweb:/ipfs/QmaHJKxagREc7Mbq8SkSbWgzwk8bNSFTwojAD5hNemwy1Y\"]},\"contracts/release/interfaces/IConvexBooster.sol\":{\"keccak256\":\"0x6e7561d2d7e71a0c89a6e62445de5c54c2e50d17877b23d8b5af10721dd90ed5\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://772cf7f429a04a557d3b0ed36a73390da64fd93a9df253e0c7e9ebeeecd063ea\",\"dweb:/ipfs/QmXjfnXmtGV67wypxof8nWVTkXAEZqBpFjYePfr17K8rAL\"]},\"contracts/release/interfaces/IConvexVirtualBalanceRewardPool.sol\":{\"keccak256\":\"0x45a7d783e4088cf1b5dcb548da2fce6b0caa9c572c43af9f39aff46498fa101c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://82ed678230fe900991bd81a6c31dae01d120fe5521f96d1cc36c40334385f907\",\"dweb:/ipfs/QmYre4JtyoXmetrYUwFMrPKwBY1NEm2XYdgMiAR7Z7P2jW\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"contracts/release/utils/beacon-proxy/BeaconProxy.sol\":{\"keccak256\":\"0x7a0a6c511a30434a9b329226b0cf1a05ec426ddbfc4e1d9b9083978ee4cf6d53\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://692d3a116ecf306f20a3d29dc70846099ce46ba281524a502336325a6cd05667\",\"dweb:/ipfs/QmTGxmDWMcMtGEsPLzVB8eyK3WDqaCwoChuc24RXuSzwVb\"]},\"contracts/release/utils/beacon-proxy/BeaconProxyFactory.sol\":{\"keccak256\":\"0xd35fa5134e3a8694ed1dbbc8dcd4b4d5b459608c23097a95984e1b98af3e64d9\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1c008f83ac64b316479406cbf0287593a810d453825a2f669b5810c51429f9fc\",\"dweb:/ipfs/QmNtdtcWGZFpnb3LsshwV5BiM5H1Vz8SGpoqMchUyfuhQx\"]},\"contracts/release/utils/beacon-proxy/IBeacon.sol\":{\"keccak256\":\"0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39\",\"dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V\"]},\"contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol\":{\"keccak256\":\"0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be\",\"dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]},\"node_modules/@openzeppelin/contracts/utils/ReentrancyGuard.sol\":{\"keccak256\":\"0x8bbbc2f5c10065ee272592ae0a7a6ceb23de2fbd81564ee0bb015ecf404d5f61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b95e56c1640d0ef789fc5c16269e141e992f6c8ac97cc6d377bd3825e9cab182\",\"dweb:/ipfs/QmVzaxJZY51EhagrcNnkxoU6Uq17RhATe7aHvtkC6wUkgK\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_integrationManager", - "type": "address" - }, - { - "internalType": "address", - "name": "_balancerVault", - "type": "address" - }, - { - "internalType": "address", - "name": "_stakingWrapperFactory", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "CLAIM_REWARDS_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "LEND_AND_STAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "LEND_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "REDEEM_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "STAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "TAKE_MULTIPLE_ORDERS_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "TAKE_ORDER_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "UNSTAKE_AND_REDEEM_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "UNSTAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "claimRewards" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getIntegrationManager", - "outputs": [ - { - "internalType": "address", - "name": "integrationManager_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "lendAndStake" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes4", - "name": "_selector", - "type": "bytes4" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - } - ], - "stateMutability": "view", - "type": "function", - "name": "parseAssetsForAction", - "outputs": [ - { - "internalType": "enum IIntegrationManager.SpendAssetsHandleType", - "name": "spendAssetsHandleType_", - "type": "uint8" - }, - { - "internalType": "address[]", - "name": "spendAssets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "spendAssetAmounts_", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "incomingAssets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "minIncomingAssetAmounts_", - "type": "uint256[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "stake" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "takeOrder" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "unstake" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "unstakeAndRedeem" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "claimRewards(address,bytes,bytes)": { - "details": "Needs `onlyIntegrationManager` because Minter claiming permission is given by the fund", - "params": { - "_actionData": "Data specific to this action", - "_vaultProxy": "The VaultProxy of the calling fund" - } - }, - "getIntegrationManager()": { - "returns": { - "integrationManager_": "The `INTEGRATION_MANAGER` variable value" - } - }, - "lendAndStake(address,bytes,bytes)": { - "params": { - "_actionData": "Data specific to this action", - "_vaultProxy": "The VaultProxy of the calling fund" - } - }, - "parseAssetsForAction(address,bytes4,bytes)": { - "params": { - "_actionData": "The encoded parameters for the callOnIntegration", - "_selector": "The function selector for the callOnIntegration" - }, - "returns": { - "incomingAssets_": "The assets to receive in the call", - "minIncomingAssetAmounts_": "The min asset amounts to receive in the call", - "spendAssetAmounts_": "The max asset amounts to spend in the call", - "spendAssetsHandleType_": "A type that dictates how to handle granting the adapter access to spend assets (`None` by default)", - "spendAssets_": "The assets to spend in the call" - } - }, - "stake(address,bytes,bytes)": { - "params": { - "_actionData": "Data specific to this action", - "_vaultProxy": "The VaultProxy of the calling fund" - } - }, - "takeOrder(address,bytes,bytes)": { - "details": "All `_actionData` inputs are Balancer `batchSwap()` params, with the exception of `stakingTokens`. \"Spend assets\" and \"incoming assets\" are parsed from the `limits` values corresponding to `assets`: - limit > 0 is a spend asset - limit < 0 is an incoming asset (including a partially-consumed intermediary asset) - limit == 0 is an intermediary asset that is completely consumed in the swap This function can also used for \"LPing\" with ComposableStablePool instances, since those pools contain their own BPT as an underlying asset. `stakingTokens` facilitates \"lend and stake\" and \"unstake and redeem\"-like functionality for such pools. If `stakingTokens[i]` is non-empty, it is considered to be the actual spend/incoming asset that must be unstaked to / staked from the BPT specified in `assets[i]` before/after the batchSawp().", - "params": { - "_actionData": "Data specific to this action", - "_vaultProxy": "The VaultProxy of the calling fund" - } - }, - "unstake(address,bytes,bytes)": { - "params": { - "_actionData": "Data specific to this action", - "_vaultProxy": "The VaultProxy of the calling fund" - } - }, - "unstakeAndRedeem(address,bytes,bytes)": { - "params": { - "_actionData": "Data specific to this action", - "_vaultProxy": "The VaultProxy of the calling fund" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "claimRewards(address,bytes,bytes)": { - "notice": "Claims all rewards" - }, - "getIntegrationManager()": { - "notice": "Gets the `INTEGRATION_MANAGER` variable" - }, - "lendAndStake(address,bytes,bytes)": { - "notice": "Lends assets for LP tokens, then stakes the received LP tokens" - }, - "parseAssetsForAction(address,bytes4,bytes)": { - "notice": "Parses the expected assets to receive from a call on integration" - }, - "stake(address,bytes,bytes)": { - "notice": "Stakes LP tokens" - }, - "takeOrder(address,bytes,bytes)": { - "notice": "Swaps assets on Balancer via batchSwap()" - }, - "unstake(address,bytes,bytes)": { - "notice": "Unstakes LP tokens" - }, - "unstakeAndRedeem(address,bytes,bytes)": { - "notice": "Unstakes LP tokens, then redeems them" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/integration-manager/integrations/adapters/AuraBalancerV2LpStakingAdapter.sol": "AuraBalancerV2LpStakingAdapter" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/dispatcher/IDispatcher.sol": { - "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", - "urls": [ - "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", - "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/IIntegrationManager.sol": { - "keccak256": "0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef", - "urls": [ - "bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23", - "dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol": { - "keccak256": "0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1", - "urls": [ - "bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336", - "dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/adapters/AuraBalancerV2LpStakingAdapter.sol": { - "keccak256": "0x25756a6041d14bbae9b52e0ba070d3fa9106c30ce6d4984a40d77ccda0fb3a33", - "urls": [ - "bzz-raw://6485de3b935e690e33032b1fecb8e4d602d7d4f3a9da00b8dc70e346a5b5e2a6", - "dweb:/ipfs/QmcxFX1sdhPWkFk64LuXoEoh9KC4fz3HYfeJaqmFPNcWvv" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol": { - "keccak256": "0x067e49bf0d3c1655ab41a413c65ccf61d4e593308132e1ffc484a0fadfbbaf26", - "urls": [ - "bzz-raw://387f425017e18e89cc1893521101fa99df595314847d0b3d9a1162369f714fcf", - "dweb:/ipfs/Qmco3jCvuWAyfCpBYpGzHrQjiFJG63w1RJKcakoTEbxRQm" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol": { - "keccak256": "0xfd34c7ca8231c6935e25dede32ca2b3121738e624d0fc896f7b895a731edcf88", - "urls": [ - "bzz-raw://d492c061963d36d07718446db191d4c5a340c0d847f6cd209f027bd99f7cb176", - "dweb:/ipfs/QmfCvRZt56ftDdrEh6LepHXFJ4fVtcfpQGvEyY8k4zxG1A" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/utils/actions/BalancerV2ActionsMixin.sol": { - "keccak256": "0xf2411ca1c42e8881a6aed8381294a03e363738bb4bf7b030dad47871ba27411f", - "urls": [ - "bzz-raw://7916355a56eaa4337d28019dc84249e9e5abe5cc188718f11f945d92afc593f0", - "dweb:/ipfs/QmXSe7UDdrutvCf5RujJxeurLUEotkTzm8Tn27xDqvwc6X" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/utils/actions/StakingWrapperActionsMixin.sol": { - "keccak256": "0x3b3cf5217bfdb046eb76336fbdb95e0bc389dee5964b1067f0239338acccea08", - "urls": [ - "bzz-raw://7ee1ece29be26ef9d16370487950bbbe2e8371642dd3f5c661423f59bf6d7072", - "dweb:/ipfs/QmfXvVKe78qCysfTLb8WQzUCnKmBPpgFhF6aK13ZsEUoRK" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/utils/bases/BalancerV2LiquidityAdapterBase.sol": { - "keccak256": "0x584e1b88ebc1c7911d8df42b3f4d7739863a5c9922e3d007a0e97b261c24ff71", - "urls": [ - "bzz-raw://55299164a30b0e3170d3c9d4973559afa609410d19ff6c177fd4f7879ba11959", - "dweb:/ipfs/QmaviuM17N3UtGmwo67MAavncrKWv99PnDx3yv2kUqoe3T" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/staking-wrappers/IStakingWrapper.sol": { - "keccak256": "0xaeb9aba4e74eb3243a85090fded7b157969cf83e1f4159b1da2f662a3e7b15be", - "urls": [ - "bzz-raw://92346911c044a54808d2d425fe58c6dc9594dfafb8d83496f6599e3bc23803d0", - "dweb:/ipfs/QmYWf7yx9ZfUnP81K1hjvApthqNhpXzUhGuFBm4gX1aDRB" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/staking-wrappers/StakingWrapperBase.sol": { - "keccak256": "0x3e28050fbe625f1469701b231772ce321e719ddbce4f84b6caa1d8d634a4234a", - "urls": [ - "bzz-raw://f0871b7d6b595e444e598f68751225a596d969267c289a465462fdeb67530fc8", - "dweb:/ipfs/QmX2z5QGP3kpKx9ruGnZHYH5bDCD9sjRGTRhg9SRiowctg" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/staking-wrappers/StakingWrapperLibBase.sol": { - "keccak256": "0x94d4057419743d9354d77774e1e5279a5ed2fc70012ef28115357f9921bfb5be", - "urls": [ - "bzz-raw://d1e461f460a0339cada6cdfb0107bde47d236b336fec0ed470235ce7928666bb", - "dweb:/ipfs/QmcMzSrcWTKyqgBAACVCidd2dpMfbeUtcQYu4D1ASiyFzk" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/staking-wrappers/aura-balancer-v2-lp/AuraBalancerV2LpStakingWrapperFactory.sol": { - "keccak256": "0x5d350891df10d2874125741a6346e91a8d05995df035e914676fab1ffaa45562", - "urls": [ - "bzz-raw://5cd06518169b6df46ed6778b7f13b8b7bd27a6806932347f6ed0fdf68f464c03", - "dweb:/ipfs/QmTburYKxytgdccKgKJVNX4HCFfxGTRZWSb3yjYJyootSi" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/staking-wrappers/convex-curve-lp/ConvexCurveLpStakingWrapperFactory.sol": { - "keccak256": "0x4f7394dea52858ea7734ed8586377d1ebef39e1ca6aa5ed684fea7a7fe82b16a", - "urls": [ - "bzz-raw://c7a5181757151d6210193dfa97b3076edcfe3017b4fefbfbbe3ab848878d5996", - "dweb:/ipfs/Qme9tTYoAhMkHVLbwKQoSdVJTec1p9zAPwzSe7RZFvnkYu" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/staking-wrappers/convex-curve-lp/ConvexCurveLpStakingWrapperLib.sol": { - "keccak256": "0x1ec08f37e592766bb7f0d62edb04261bcd3c26154bb5dc437465f836fabf3427", - "urls": [ - "bzz-raw://0265250d2255bcb61fdb1842e7dbb26e4d56a11a1e3fd87f0790644277bb7259", - "dweb:/ipfs/Qmb5kVMTr86qYkJu8o1YNwnCrbUJMhmhnFHMrdx2vZhdED" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IBalancerV2Vault.sol": { - "keccak256": "0xb3c8da122ab160129c74ffeb0310ff96c4977d65eef12888bc1a8276fa2a3fd2", - "urls": [ - "bzz-raw://c9c89c1e04327c6fa45fbdf9ae8fd132ed95c9101ab49d078ef99c6590c30867", - "dweb:/ipfs/QmWKrLQg5xBVmi6snaAwU3zUTjxQ6ugYj6n45x1hqRxv9A" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IConvexBaseRewardPool.sol": { - "keccak256": "0x7c82b546c3c339c6f602191bc9062d6887af7db438800359c0547aa6bb025acc", - "urls": [ - "bzz-raw://13a488b1d715000d1ed9415917a8f9c347ec91b04770b74746facacd88e2e105", - "dweb:/ipfs/QmaHJKxagREc7Mbq8SkSbWgzwk8bNSFTwojAD5hNemwy1Y" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IConvexBooster.sol": { - "keccak256": "0x6e7561d2d7e71a0c89a6e62445de5c54c2e50d17877b23d8b5af10721dd90ed5", - "urls": [ - "bzz-raw://772cf7f429a04a557d3b0ed36a73390da64fd93a9df253e0c7e9ebeeecd063ea", - "dweb:/ipfs/QmXjfnXmtGV67wypxof8nWVTkXAEZqBpFjYePfr17K8rAL" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IConvexVirtualBalanceRewardPool.sol": { - "keccak256": "0x45a7d783e4088cf1b5dcb548da2fce6b0caa9c572c43af9f39aff46498fa101c", - "urls": [ - "bzz-raw://82ed678230fe900991bd81a6c31dae01d120fe5521f96d1cc36c40334385f907", - "dweb:/ipfs/QmYre4JtyoXmetrYUwFMrPKwBY1NEm2XYdgMiAR7Z7P2jW" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AddressArrayLib.sol": { - "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", - "urls": [ - "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", - "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AssetHelpers.sol": { - "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", - "urls": [ - "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", - "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/beacon-proxy/BeaconProxy.sol": { - "keccak256": "0x7a0a6c511a30434a9b329226b0cf1a05ec426ddbfc4e1d9b9083978ee4cf6d53", - "urls": [ - "bzz-raw://692d3a116ecf306f20a3d29dc70846099ce46ba281524a502336325a6cd05667", - "dweb:/ipfs/QmTGxmDWMcMtGEsPLzVB8eyK3WDqaCwoChuc24RXuSzwVb" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/beacon-proxy/BeaconProxyFactory.sol": { - "keccak256": "0xd35fa5134e3a8694ed1dbbc8dcd4b4d5b459608c23097a95984e1b98af3e64d9", - "urls": [ - "bzz-raw://1c008f83ac64b316479406cbf0287593a810d453825a2f669b5810c51429f9fc", - "dweb:/ipfs/QmNtdtcWGZFpnb3LsshwV5BiM5H1Vz8SGpoqMchUyfuhQx" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/beacon-proxy/IBeacon.sol": { - "keccak256": "0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2", - "urls": [ - "bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39", - "dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol": { - "keccak256": "0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc", - "urls": [ - "bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be", - "dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { - "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", - "urls": [ - "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", - "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Address.sol": { - "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", - "urls": [ - "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", - "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/ReentrancyGuard.sol": { - "keccak256": "0x8bbbc2f5c10065ee272592ae0a7a6ceb23de2fbd81564ee0bb015ecf404d5f61", - "urls": [ - "bzz-raw://b95e56c1640d0ef789fc5c16269e141e992f6c8ac97cc6d377bd3825e9cab182", - "dweb:/ipfs/QmVzaxJZY51EhagrcNnkxoU6Uq17RhATe7aHvtkC6wUkgK" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 162 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_integrationManager", "type": "address", "internalType": "address" }, { "name": "_balancerVault", "type": "address", "internalType": "address" }, { "name": "_stakingWrapperFactory", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "CLAIM_REWARDS_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "LEND_AND_STAKE_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "LEND_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "REDEEM_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "STAKE_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "TAKE_MULTIPLE_ORDERS_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "TAKE_ORDER_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "UNSTAKE_AND_REDEEM_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "UNSTAKE_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "claimRewards", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_actionData", "type": "bytes", "internalType": "bytes" }, { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "getIntegrationManager", "inputs": [], "outputs": [ { "name": "integrationManager_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "lendAndStake", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_actionData", "type": "bytes", "internalType": "bytes" }, { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "parseAssetsForAction", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "_selector", "type": "bytes4", "internalType": "bytes4" }, { "name": "_actionData", "type": "bytes", "internalType": "bytes" } ], "outputs": [ { "name": "spendAssetsHandleType_", "type": "uint8", "internalType": "enum IIntegrationManager.SpendAssetsHandleType" }, { "name": "spendAssets_", "type": "address[]", "internalType": "address[]" }, { "name": "spendAssetAmounts_", "type": "uint256[]", "internalType": "uint256[]" }, { "name": "incomingAssets_", "type": "address[]", "internalType": "address[]" }, { "name": "minIncomingAssetAmounts_", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "view" }, { "type": "function", "name": "stake", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_actionData", "type": "bytes", "internalType": "bytes" }, { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "takeOrder", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_actionData", "type": "bytes", "internalType": "bytes" }, { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "unstake", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_actionData", "type": "bytes", "internalType": "bytes" }, { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "unstakeAndRedeem", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_actionData", "type": "bytes", "internalType": "bytes" }, { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x60e06040523480156200001157600080fd5b50604051620038bf380380620038bf83398101604081905262000034916200006f565b6001600160601b0319606093841b811660805291831b821660a05290911b1660c052620000ef565b80516200006981620000d5565b92915050565b6000806000606084860312156200008557600080fd5b60006200009386866200005c565b9350506020620000a6868287016200005c565b9250506040620000b9868287016200005c565b9150509250925092565b60006001600160a01b03821662000069565b620000e081620000c3565b8114620000ec57600080fd5b50565b60805160601c60a05160601c60c05160601c6137636200015c60003980611dd85250806103685280610ea2528061105a528061123b5280611efd5280611fa5525080610226528061072d528061087252806109155280610ac35280610c7e5280610ccf52506137636000f3fe608060405234801561001057600080fd5b506004361061010b5760003560e01c80638334eb99116100a2578063c32990a211610071578063c32990a2146101bf578063c54efee5146101c7578063e7c45690146101eb578063f7d882b514610200578063fa7dd04d146102085761010b565b80638334eb9914610189578063863e5ad01461019c578063b23228cf146101a4578063b9dfbacc146101ac5761010b565b806329fa046e116100de57806329fa046e146101535780633ffc15911461016657806340da225d1461016e57806368e30677146101765761010b565b806303e38a2b14610110578063080456c114610125578063131461c014610143578063257cb1a31461014b575b600080fd5b61012361011e366004612a3c565b61021b565b005b61012d6106b6565b60405161013a919061345e565b60405180910390f35b61012d6106da565b61012d6106fe565b610123610161366004612a3c565b610722565b61012d61081f565b61012d610843565b610123610184366004612a3c565b610867565b610123610197366004612a3c565b61090a565b61012d610a70565b61012d610a94565b6101236101ba366004612a3c565b610ab8565b61012d610b4f565b6101da6101d53660046129d5565b610b73565b60405161013a95949392919061346c565b6101f3610c7c565b60405161013a9190613379565b61012d610ca0565b610123610216366004612a3c565b610cc4565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461026c5760405162461bcd60e51b81526004016102639061358a565b60405180910390fd5b60006060806060806102b389898080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610d5d92505050565b945094509450945094506000808451905060005b818110156103ee5760008582815181106102dd57fe5b602002602001015113156103935760008582815181106102f957fe5b6020026020010151905060006001600160a01b031685838151811061031a57fe5b60200260200101516001600160a01b03161461034f5761034f303087858151811061034157fe5b602002602001015184610d8b565b61038d87838151811061035e57fe5b60200260200101517f000000000000000000000000000000000000000000000000000000000000000083610d9f565b506103e6565b60008582815181106103a157fe5b60200260200101511280156103dc575060006001600160a01b03168482815181106103c857fe5b60200260200101516001600160a01b031614155b156103e657600192505b6001016102c7565b50606061040b3084610400578e610402565b305b8a8a8a8a610e5b565b905060005b828110156106a657600086828151811061042657fe5b602002602001015113156105565760006001600160a01b031685828151811061044b57fe5b60200260200101516001600160a01b0316141580156104755750600189600181111561047357fe5b145b1561053357600087828151811061048857fe5b60200260200101516001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016104bb9190613379565b60206040518083038186803b1580156104d357600080fd5b505afa1580156104e7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061050b9190612c41565b90508015610531576105318f87848151811061052357fe5b602002602001015183610f43565b505b6105508e88838151811061054357fe5b6020026020010151610f5c565b5061069e565b600086828151811061056457fe5b6020026020010151121561066b5760006001600160a01b031685828151811061058957fe5b60200260200101516001600160a01b0316146106505761064b8e8683815181106105af57fe5b60200260200101518984815181106105c357fe5b60200260200101516001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016105f69190613379565b60206040518083038186803b15801561060e57600080fd5b505afa158015610622573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106469190612c41565b610f43565b610666565b8315610666576105508e88838151811061054357fe5b61069e565b81818151811061067757fe5b602002602001015160001461069e5760405162461bcd60e51b81526004016102639061359a565b600101610410565b5050505050505050505050505050565b7f8334eb99be0145865eba9889fca2ee920288090caefff4cc776038e20ad9259a81565b7f29fa046e79524c3c5ac4c01df692c35e217802b2b13b21121b76cf0ef02b138c81565b7f099f75155f0e997bf83a7993a71d5e7e7540bd386fe1e84643a09ce6b412521981565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461076a5760405162461bcd60e51b81526004016102639061358a565b60008060608061077861247d565b6107b789898080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610ffd92505050565b95509550955050945094506107cf3085858585611035565b6108088a866107dd876110a7565b6001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016105f69190613379565b6108128a846110b2565b5050505050505050505050565b7ffa7dd04da627f433da73c4355ead9c75682a67a8fc84d3f6170ef0922f402d2481565b7fb9dfbaccbe5cd2a84fdcf1d15f23ef25d23086f5afbaa99516065ed4a5bbc7a381565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146108af5760405162461bcd60e51b81526004016102639061358a565b6000806108f186868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061120d92505050565b9150915061090187888484610d8b565b50505050505050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146109525760405162461bcd60e51b81526004016102639061358a565b6000806000606061096161247d565b6109a089898080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610ffd92505050565b95505094509450945094506109b78a308786610d8b565b6109c48a8585858561122d565b60006109cf856110a7565b90506000816001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016109ff9190613379565b60206040518083038186803b158015610a1757600080fd5b505afa158015610a2b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a4f9190612c41565b90508015610a6257610a628c8883610f43565b505050505050505050505050565b7f03e38a2bd7063d45c897edeafc330e71657502dd86434d3c37a489caf116af6981565b7f68e30677f607df46e87da13e15b637784cfa62374b653f35ab43d10361a2f83081565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610b005760405162461bcd60e51b81526004016102639061358a565b610b4885610b4386868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506114cd92505050565b6114e3565b5050505050565b7f0e7f692dad5b88fdee426250d6eae91207e56a2e8112b7364579bed1790e5bf481565b600060608080806001600160e01b03198816632e77eeb360e21b1415610baa57610b9b6114f1565b94509450945094509450610c71565b6001600160e01b031988166314fd023760e11b1415610bcd57610b9b8787611551565b6001600160e01b03198816638334eb9960e01b1415610bf057610b9b8787611664565b6001600160e01b031988166303e38a2b60e01b1415610c1357610b9b878761168a565b6001600160e01b0319881663fa7dd04d60e01b1415610c3657610b9b8787611a58565b6001600160e01b031988166368e3067760e01b1415610c5957610b9b8787611bcf565b60405162461bcd60e51b8152600401610263906135ea565b945094509450945094565b7f000000000000000000000000000000000000000000000000000000000000000090565b7fc29fa9dde84204c2908778afd0613d802d31cf046179b88f6d2b4a4e507ea2d581565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610d0c5760405162461bcd60e51b81526004016102639061358a565b600080610d4e86868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061120d92505050565b91509150610901878383610f43565b600060608060608085806020019051810190610d799190612b70565b939a9299509097509550909350915050565b610d99828585846000611be1565b50505050565b604051636eb1769f60e11b81526000906001600160a01b0385169063dd62ed3e90610dd09030908790600401613387565b60206040518083038186803b158015610de857600080fd5b505afa158015610dfc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e209190612c41565b905081811015610d99578015610e4557610e456001600160a01b038516846000611cc4565b610d996001600160a01b03851684600019611cc4565b6060610e656124a7565b50604080516080810182526001600160a01b03808a168252600060208301819052898216838501526060830152915163945bcec960e01b815290917f0000000000000000000000000000000000000000000000000000000000000000169063945bcec990610ee19089908990899087908a9042906004016134d3565b600060405180830381600087803b158015610efb57600080fd5b505af1158015610f0f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610f379190810190612b1e565b98975050505050505050565b610f57828483610f5286611dbe565b611e5d565b505050565b6040516370a0823160e01b81526000906001600160a01b038316906370a0823190610f8b903090600401613379565b60206040518083038186803b158015610fa357600080fd5b505afa158015610fb7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fdb9190612c41565b90508015610ff757610ff76001600160a01b0383168483611ec7565b92915050565b600080600060608061100d61247d565b8680602001905181019061102191906128cf565b949c939b5091995097509550909350915050565b60005b835181101561109a5761109284828151811061105057fe5b60200260200101517f000000000000000000000000000000000000000000000000000000000000000085848151811061108557fe5b6020026020010151610d9f565b600101611038565b50610b4884308784611ee6565b606081901c5b919050565b606081516001600160401b03811180156110cb57600080fd5b506040519080825280602002602001820160405280156110f5578160200160208202803683370190505b50905060005b825181101561120657600083828151811061111257fe5b60200260200101519050806001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016111489190613379565b60206040518083038186803b15801561116057600080fd5b505afa158015611174573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111989190612c41565b8383815181106111a457fe5b60200260200101818152505060008383815181106111be57fe5b602002602001015111156111fd576111fd858484815181106111dc57fe5b6020026020010151836001600160a01b0316611ec79092919063ffffffff16565b506001016110fb565b5092915050565b60008082806020019051810190611224919061299b565b91509150915091565b611260611239856110a7565b7f000000000000000000000000000000000000000000000000000000000000000085610d9f565b815181515103606081156113a6578251516001600160401b038111801561128657600080fd5b506040519080825280602002602001820160405280156112b0578160200160208202803683370190505b5090508160005b81156113a3576112e7856000015182815181106112d057fe5b602002602001015187611f3890919063ffffffff16565b61139b5784518051829081106112f957fe5b60200260200101516001600160a01b03166370a082318a6040518263ffffffff1660e01b815260040161132c9190613379565b60206040518083038186803b15801561134457600080fd5b505afa158015611358573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061137c9190612c41565b83828151811061138857fe5b6020908102919091010152600019909101905b6001016112b7565b50505b6113b286308986611f8e565b81156109015760005b82156114c3576113eb846000015182815181106113d457fe5b602002602001015186611f3890919063ffffffff16565b6114bb578181815181106113fb57fe5b60200260200101518460000151828151811061141357fe5b60200260200101516001600160a01b03166370a082318a6040518263ffffffff1660e01b81526004016114469190613379565b60206040518083038186803b15801561145e57600080fd5b505afa158015611472573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114969190612c41565b146114b35760405162461bcd60e51b81526004016102639061354a565b600019909201915b6001016113bb565b5050505050505050565b600081806020019051810190610ff791906128b1565b6114ed8183611fe0565b5050565b600060608080808480604051908082528060200260200182016040528015611523578160200160208202803683370190505b5060408051600080825260208201818152828401918252606083019093529399929850965094509092509050565b6040805160018082528183019092526000916060918291829182916020808301908036833750506040805160018082528183019092529294509050602080830190803683370190505090506000806115a761247d565b6115e68a8a8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610ffd92505050565b896000815181106115f357fe5b6020908102919091010193909352909a50985090945090925090506116188284612062565b61162581606001516120a3565b818560008151811061163357fe5b60200260200101906001600160a01b031690816001600160a01b031681525050600297505050509295509295909350565b600060608060608061167687876120c4565b60019c939b50919950975095509350505050565b600060608060608060608060606116d68a8a8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610d5d92505050565b945094509450505060008060005b855181101561173f5760008582815181106116fb57fe5b6020026020010151131561171457600190920191611737565b600085828151811061172257fe5b60200260200101511215611737576001909101905b6001016116e4565b50816001600160401b038111801561175657600080fd5b50604051908082528060200260200182016040528015611780578160200160208202803683370190505b509850816001600160401b038111801561179957600080fd5b506040519080825280602002602001820160405280156117c3578160200160208202803683370190505b509750806001600160401b03811180156117dc57600080fd5b50604051908082528060200260200182016040528015611806578160200160208202803683370190505b509650806001600160401b038111801561181f57600080fd5b50604051908082528060200260200182016040528015611849578160200160208202803683370190505b50955060005b8551811015611a4457600085828151811061186657fe5b60200260200101519050600081131561195657600087838151811061188757fe5b60200260200101519050600086848151811061189f57fe5b6020026020010151905060006001600160a01b0316816001600160a01b031614611900576118cc81611dbe565b6001600160a01b0316826001600160a01b0316146118fc5760405162461bcd60e51b81526004016102639061355a565b8091505b858060019003965050818d878151811061191657fe5b60200260200101906001600160a01b031690816001600160a01b031681525050828c878151811061194357fe5b6020026020010181815250505050611a3b565b6000811215611a3b57600087838151811061196d57fe5b60200260200101519050600086848151811061198557fe5b6020026020010151905060006001600160a01b0316816001600160a01b0316146119e6576119b281611dbe565b6001600160a01b0316826001600160a01b0316146119e25760405162461bcd60e51b81526004016102639061355a565b8091505b848060019003955050818b86815181106119fc57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050826000038a8681518110611a2c57fe5b60200260200101818152505050505b5060010161184f565b506002995050505050509295509295909350565b6000606080606080600080611aa289898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061120d92505050565b60408051600180825281830190925292945090925060208083019080368337505060408051600180825281830190925292985090506020808301908036833750506040805160018082528183019092529297509050602080830190803683375050604080516001808252818301909252929650905060208083019080368337019050509250611b3082611dbe565b86600081518110611b3d57fe5b60200260200101906001600160a01b031690816001600160a01b0316815250508085600081518110611b6b57fe5b6020026020010181815250508184600081518110611b8557fe5b60200260200101906001600160a01b031690816001600160a01b0316815250508083600081518110611bb357fe5b6020026020010181815250506002965050509295509295909350565b600060608060608061167687876121a6565b6001600160a01b038416301415611c5957604051631cf88a4360e21b81526001600160a01b038616906373e2290c90611c22908690869086906004016133f2565b600060405180830381600087803b158015611c3c57600080fd5b505af1158015611c50573d6000803e3d6000fd5b50505050610b48565b60405163167d7d5f60e11b81526001600160a01b03861690632cfafabe90611c8b9087908790879087906004016133a2565b600060405180830381600087803b158015611ca557600080fd5b505af1158015611cb9573d6000803e3d6000fd5b505050505050505050565b801580611d4c5750604051636eb1769f60e11b81526001600160a01b0384169063dd62ed3e90611cfa9030908690600401613387565b60206040518083038186803b158015611d1257600080fd5b505afa158015611d26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d4a9190612c41565b155b611d685760405162461bcd60e51b8152600401610263906135da565b610f578363095ea7b360e01b8484604051602401611d879291906133d7565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526122d3565b60405163456b4a3760e01b81526000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063456b4a3790611e0d908590600401613379565b60206040518083038186803b158015611e2557600080fd5b505afa158015611e39573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ff791906128b1565b611e68818584610d9f565b60405160016255295b60e01b031981526001600160a01b0385169063ffaad6a590611e9990869086906004016133d7565b600060405180830381600087803b158015611eb357600080fd5b505af11580156114c3573d6000803e3d6000fd5b610f578363a9059cbb60e01b8484604051602401611d879291906133d7565b60405163172b958560e31b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063b95cac2890611e9990879087908790879060040161341a565b6000805b8351811015611f8457838181518110611f5157fe5b60200260200101516001600160a01b0316836001600160a01b03161415611f7c576001915050610ff7565b600101611f3c565b5060009392505050565b604051638bdb391360e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690638bdb391390611e9990879087908790879060040161341a565b604051631ac6d19d60e01b81526001600160a01b03831690631ac6d19d9061200c908490600401613379565b600060405180830381600087803b15801561202657600080fd5b505af115801561203a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610d999190810190612ac1565b61206b816110a7565b6001600160a01b031661207d83611dbe565b6001600160a01b0316146114ed5760405162461bcd60e51b81526004016102639061356a565b80156120c15760405162461bcd60e51b8152600401610263906135aa565b50565b60408051600180825281830190925260009160609182918291829160208083019080368337505060408051600180825281830190925292965090506020808301908036833701905050925060008061211a61247d565b6121598a8a8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610ffd92505050565b8b60008151811061216657fe5b60209081029190910101939093529098509650909450909250905061218b8284612062565b61219881606001516120a3565b818760008151811061163357fe5b60006060806060806000806121f089898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061120d92505050565b60408051600180825281830190925292945090925060208083019080368337505060408051600180825281830190925292985090506020808301908036833750506040805160018082528183019092529297509050602080830190803683375050604080516001808252818301909252929650905060208083019080368337019050509250818660008151811061228357fe5b60200260200101906001600160a01b031690816001600160a01b03168152505080856000815181106122b157fe5b6020026020010181815250506122c682611dbe565b84600081518110611b8557fe5b6060612328826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166123629092919063ffffffff16565b805190915015610f5757808060200190518101906123469190612b52565b610f575760405162461bcd60e51b8152600401610263906135ca565b6060612371848460008561237b565b90505b9392505050565b60608247101561239d5760405162461bcd60e51b81526004016102639061357a565b6123a68561243e565b6123c25760405162461bcd60e51b8152600401610263906135ba565b60006060866001600160a01b031685876040516123df919061336d565b60006040518083038185875af1925050503d806000811461241c576040519150601f19603f3d011682016040523d82523d6000602084013e612421565b606091505b5091509150612431828286612444565b925050505b949350505050565b3b151590565b60608315612453575081612374565b8251156124635782518084602001fd5b8160405162461bcd60e51b81526004016102639190613539565b60405180608001604052806060815260200160608152602001606081526020016000151581525090565b60408051608081018252600080825260208201819052918101829052606081019190915290565b8035610ff78161371a565b8051610ff78161371a565b600082601f8301126124f557600080fd5b815161250861250382613620565b6135fa565b9150818183526020840193506020810190508385602084028201111561252d57600080fd5b60005b83811015612559578161254388826124d9565b8452506020928301929190910190600101612530565b5050505092915050565b600082601f83011261257457600080fd5b815161258261250382613620565b915081818352602084019350602081019050838560208402820111156125a757600080fd5b60005b8381101561255957816125bd88826126ab565b84525060209283019291909101906001016125aa565b600082601f8301126125e457600080fd5b81516125f261250382613620565b81815260209384019390925082018360005b83811015612559578151860161261a8882612763565b8452506020928301929190910190600101612604565b600082601f83011261264157600080fd5b815161264f61250382613620565b9150818183526020840193506020810190508385602084028201111561267457600080fd5b60005b83811015612559578161268a88826126ab565b8452506020928301929190910190600101612677565b8051610ff78161372e565b8051610ff781613737565b8035610ff781613740565b60008083601f8401126126d357600080fd5b5081356001600160401b038111156126ea57600080fd5b60208301915083600182028301111561270257600080fd5b9250929050565b600082601f83011261271a57600080fd5b815161272861250382613640565b9150808252602083016020830185838301111561274457600080fd5b61274f8382846136d0565b50505092915050565b8051610ff781613749565b600060a0828403121561277557600080fd5b61277f60a06135fa565b9050600061278d84846126ab565b825250602061279e848483016126ab565b60208301525060406127b2848285016126ab565b60408301525060606127c6848285016126ab565b60608301525060808201516001600160401b038111156127e557600080fd5b6127f184828501612709565b60808301525092915050565b60006080828403121561280f57600080fd5b61281960806135fa565b82519091506001600160401b0381111561283257600080fd5b61283e848285016124e4565b82525060208201516001600160401b0381111561285a57600080fd5b61286684828501612630565b60208301525060408201516001600160401b0381111561288557600080fd5b61289184828501612709565b60408301525060606128a5848285016126a0565b60608301525092915050565b6000602082840312156128c357600080fd5b600061243684846124d9565b60008060008060008060c087890312156128e857600080fd5b60006128f489896124d9565b965050602061290589828a016126ab565b955050604061291689828a016126ab565b94505060608701516001600160401b0381111561293257600080fd5b61293e89828a016124e4565b93505060808701516001600160401b0381111561295a57600080fd5b61296689828a01612630565b92505060a08701516001600160401b0381111561298257600080fd5b61298e89828a016127fd565b9150509295509295509295565b600080604083850312156129ae57600080fd5b60006129ba85856124d9565b92505060206129cb858286016126ab565b9150509250929050565b600080600080606085870312156129eb57600080fd5b60006129f787876124ce565b9450506020612a08878288016126b6565b93505060408501356001600160401b03811115612a2457600080fd5b612a30878288016126c1565b95989497509550505050565b600080600080600060608688031215612a5457600080fd5b6000612a6088886124ce565b95505060208601356001600160401b03811115612a7c57600080fd5b612a88888289016126c1565b945094505060408601356001600160401b03811115612aa657600080fd5b612ab2888289016126c1565b92509250509295509295909350565b60008060408385031215612ad457600080fd5b82516001600160401b03811115612aea57600080fd5b612af6858286016124e4565b92505060208301516001600160401b03811115612b1257600080fd5b6129cb85828601612630565b600060208284031215612b3057600080fd5b81516001600160401b03811115612b4657600080fd5b61243684828501612563565b600060208284031215612b6457600080fd5b600061243684846126a0565b600080600080600060a08688031215612b8857600080fd5b6000612b948888612758565b95505060208601516001600160401b03811115612bb057600080fd5b612bbc888289016125d3565b94505060408601516001600160401b03811115612bd857600080fd5b612be4888289016124e4565b93505060608601516001600160401b03811115612c0057600080fd5b612c0c88828901612563565b92505060808601516001600160401b03811115612c2857600080fd5b612c34888289016124e4565b9150509295509295909350565b600060208284031215612c5357600080fd5b600061243684846126ab565b6000612c6b8383612c8b565b505060200190565b6000612c6b8383612ea2565b6000612374838361324c565b612c948161367a565b82525050565b6000612ca58261366d565b612caf8185613671565b9350612cba83613667565b8060005b83811015612ce8578151612cd28882612c5f565b9750612cdd83613667565b925050600101612cbe565b509495945050505050565b6000612cfe8261366d565b612d088185613671565b9350612d1383613667565b8060005b83811015612ce8578151612d2b8882612c5f565b9750612d3683613667565b925050600101612d17565b6000612d4c8261366d565b612d568185613671565b9350612d6183613667565b8060005b83811015612ce8578151612d798882612c73565b9750612d8483613667565b925050600101612d65565b6000612d9a8261366d565b612da48185613671565b935083602082028501612db685613667565b8060005b85811015612df05784840389528151612dd38582612c7f565b9450612dde83613667565b60209a909a0199925050600101612dba565b5091979650505050505050565b6000612e088261366d565b612e128185613671565b9350612e1d83613667565b8060005b83811015612ce8578151612e358882612c73565b9750612e4083613667565b925050600101612e21565b6000612e568261366d565b612e608185613671565b9350612e6b83613667565b8060005b83811015612ce8578151612e838882612c73565b9750612e8e83613667565b925050600101612e6f565b612c9481613685565b612c948161368a565b612c948161368d565b6000612ebf8261366d565b612ec98185613671565b9350612ed98185602086016136d0565b612ee2816136fc565b9093019392505050565b6000612ef78261366d565b612f0181856110ad565b9350612f118185602086016136d0565b9290920192915050565b612c94816136ba565b612c94816136c5565b6000612f3a602b83613671565b7f5f5f62616c616e63657252656465656d3a20556e65787065637465642061737381526a195d081c9958d95a5d995960aa1b602082015260400192915050565b6000612f87602783613671565b7f5f5f7061727365417373657473466f7254616b654f726465723a20425054206d8152660d2e6dac2e8c6d60cb1b602082015260400192915050565b6000612fd0602583613671565b7f5f5f76616c6964617465427074466f725374616b696e67546f6b656e3a20496e8152641d985b1a5960da1b602082015260400192915050565b6000613017602683613671565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f8152651c8818d85b1b60d21b602082015260400192915050565b600061305f603283613671565b7f4f6e6c792074686520496e746567726174696f6e4d616e616765722063616e2081527131b0b636103a3434b990333ab731ba34b7b760711b602082015260400192915050565b60006130b3602083613671565b7f74616b654f726465723a206c6566746f76657220696e7465726d656469617279815260200192915050565b60006130ec602583613671565b7f5f5f76616c69646174654e6f496e7465726e616c42616c616e6365733a20496e8152641d985b1a5960da1b602082015260400192915050565b6000613133601d83613671565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000815260200192915050565b600061316c602a83613671565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e8152691bdd081cdd58d8d9595960b21b602082015260400192915050565b60006131b8603683613671565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f81527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b602082015260400192915050565b6000613210602783613671565b7f7061727365417373657473466f72416374696f6e3a205f73656c6563746f72208152661a5b9d985b1a5960ca1b602082015260400192915050565b805160009060a08401906132608582612ea2565b5060208301516132736020860182612ea2565b5060408301516132866040860182612ea2565b5060608301516132996060860182612ea2565b50608083015184820360808601526132b18282612eb4565b95945050505050565b805160808301906132cb8482612c8b565b5060208201516132de6020850182612e99565b5060408201516132f16040850182612c8b565b506060820151610d996060850182612e99565b805160808084526000919084019061331c8282612c9a565b915050602083015184820360208601526133368282612dfd565b915050604083015184820360408601526133508282612eb4565b91505060608301516133656060860182612e99565b509392505050565b60006123748284612eec565b60208101610ff78284612c8b565b604081016133958285612c8b565b6123746020830184612c8b565b608081016133b08287612c8b565b6133bd6020830186612c8b565b6133ca6040830185612ea2565b6132b16060830184612e99565b604081016133e58285612c8b565b6123746020830184612ea2565b606081016134008286612c8b565b61340d6020830185612ea2565b6124366040830184612e99565b608081016134288287612ea2565b6134356020830186612c8b565b6134426040830185612c8b565b81810360608301526134548184613304565b9695505050505050565b60208101610ff78284612eab565b60a0810161347a8288612f1b565b818103602083015261348c8187612cf3565b905081810360408301526134a08186612e4b565b905081810360608301526134b48185612cf3565b905081810360808301526134c88184612e4b565b979650505050505050565b61012081016134e28289612f24565b81810360208301526134f48188612d8f565b905081810360408301526135088187612cf3565b905061351760608301866132ba565b81810360e08301526135298185612d41565b90506134c8610100830184612ea2565b602080825281016123748184612eb4565b60208082528101610ff781612f2d565b60208082528101610ff781612f7a565b60208082528101610ff781612fc3565b60208082528101610ff78161300a565b60208082528101610ff781613052565b60208082528101610ff7816130a6565b60208082528101610ff7816130df565b60208082528101610ff781613126565b60208082528101610ff78161315f565b60208082528101610ff7816131ab565b60208082528101610ff781613203565b6040518181016001600160401b038111828210171561361857600080fd5b604052919050565b60006001600160401b0382111561363657600080fd5b5060209081020190565b60006001600160401b0382111561365657600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b6000610ff7826136ae565b151590565b90565b6001600160e01b03191690565b806110ad81613706565b806110ad81613710565b6001600160a01b031690565b6000610ff78261369a565b6000610ff7826136a4565b60005b838110156136eb5781810151838201526020016136d3565b83811115610d995750506000910152565b601f01601f191690565b600381106120c157fe5b600281106120c157fe5b6137238161367a565b81146120c157600080fd5b61372381613685565b6137238161368a565b6137238161368d565b600281106120c157600080fdfea164736f6c634300060c000a", "sourceMap": "567:4240:162:-:0;;;778:337;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;1938:41:179;;;;;;;;657:58:183;;;;;;;990:118:162;;;;::::1;::::0;567:4240;;5:134:-1;83:13;;101:33;83:13;101:33;:::i;:::-;68:71;;;;:::o;146:535::-;;;;295:2;283:9;274:7;270:23;266:32;263:2;;;311:1;308;301:12;263:2;346:1;363:64;419:7;399:9;363:64;:::i;:::-;353:74;;325:108;464:2;482:64;538:7;529:6;518:9;514:22;482:64;:::i;:::-;472:74;;443:109;583:2;601:64;657:7;648:6;637:9;633:22;601:64;:::i;:::-;591:74;;562:109;257:424;;;;;:::o;688:91::-;;-1:-1;;;;;848:54;;750:24;831:76::o;914:117::-;983:24;1001:5;983:24;:::i;:::-;976:5;973:35;963:2;;1022:1;1019;1012:12;963:2;957:74;:::o;:::-;567:4240:162;;;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b506004361061010b5760003560e01c80638334eb99116100a2578063c32990a211610071578063c32990a2146101bf578063c54efee5146101c7578063e7c45690146101eb578063f7d882b514610200578063fa7dd04d146102085761010b565b80638334eb9914610189578063863e5ad01461019c578063b23228cf146101a4578063b9dfbacc146101ac5761010b565b806329fa046e116100de57806329fa046e146101535780633ffc15911461016657806340da225d1461016e57806368e30677146101765761010b565b806303e38a2b14610110578063080456c114610125578063131461c014610143578063257cb1a31461014b575b600080fd5b61012361011e366004612a3c565b61021b565b005b61012d6106b6565b60405161013a919061345e565b60405180910390f35b61012d6106da565b61012d6106fe565b610123610161366004612a3c565b610722565b61012d61081f565b61012d610843565b610123610184366004612a3c565b610867565b610123610197366004612a3c565b61090a565b61012d610a70565b61012d610a94565b6101236101ba366004612a3c565b610ab8565b61012d610b4f565b6101da6101d53660046129d5565b610b73565b60405161013a95949392919061346c565b6101f3610c7c565b60405161013a9190613379565b61012d610ca0565b610123610216366004612a3c565b610cc4565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461026c5760405162461bcd60e51b81526004016102639061358a565b60405180910390fd5b60006060806060806102b389898080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610d5d92505050565b945094509450945094506000808451905060005b818110156103ee5760008582815181106102dd57fe5b602002602001015113156103935760008582815181106102f957fe5b6020026020010151905060006001600160a01b031685838151811061031a57fe5b60200260200101516001600160a01b03161461034f5761034f303087858151811061034157fe5b602002602001015184610d8b565b61038d87838151811061035e57fe5b60200260200101517f000000000000000000000000000000000000000000000000000000000000000083610d9f565b506103e6565b60008582815181106103a157fe5b60200260200101511280156103dc575060006001600160a01b03168482815181106103c857fe5b60200260200101516001600160a01b031614155b156103e657600192505b6001016102c7565b50606061040b3084610400578e610402565b305b8a8a8a8a610e5b565b905060005b828110156106a657600086828151811061042657fe5b602002602001015113156105565760006001600160a01b031685828151811061044b57fe5b60200260200101516001600160a01b0316141580156104755750600189600181111561047357fe5b145b1561053357600087828151811061048857fe5b60200260200101516001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016104bb9190613379565b60206040518083038186803b1580156104d357600080fd5b505afa1580156104e7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061050b9190612c41565b90508015610531576105318f87848151811061052357fe5b602002602001015183610f43565b505b6105508e88838151811061054357fe5b6020026020010151610f5c565b5061069e565b600086828151811061056457fe5b6020026020010151121561066b5760006001600160a01b031685828151811061058957fe5b60200260200101516001600160a01b0316146106505761064b8e8683815181106105af57fe5b60200260200101518984815181106105c357fe5b60200260200101516001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016105f69190613379565b60206040518083038186803b15801561060e57600080fd5b505afa158015610622573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106469190612c41565b610f43565b610666565b8315610666576105508e88838151811061054357fe5b61069e565b81818151811061067757fe5b602002602001015160001461069e5760405162461bcd60e51b81526004016102639061359a565b600101610410565b5050505050505050505050505050565b7f8334eb99be0145865eba9889fca2ee920288090caefff4cc776038e20ad9259a81565b7f29fa046e79524c3c5ac4c01df692c35e217802b2b13b21121b76cf0ef02b138c81565b7f099f75155f0e997bf83a7993a71d5e7e7540bd386fe1e84643a09ce6b412521981565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461076a5760405162461bcd60e51b81526004016102639061358a565b60008060608061077861247d565b6107b789898080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610ffd92505050565b95509550955050945094506107cf3085858585611035565b6108088a866107dd876110a7565b6001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016105f69190613379565b6108128a846110b2565b5050505050505050505050565b7ffa7dd04da627f433da73c4355ead9c75682a67a8fc84d3f6170ef0922f402d2481565b7fb9dfbaccbe5cd2a84fdcf1d15f23ef25d23086f5afbaa99516065ed4a5bbc7a381565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146108af5760405162461bcd60e51b81526004016102639061358a565b6000806108f186868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061120d92505050565b9150915061090187888484610d8b565b50505050505050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146109525760405162461bcd60e51b81526004016102639061358a565b6000806000606061096161247d565b6109a089898080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610ffd92505050565b95505094509450945094506109b78a308786610d8b565b6109c48a8585858561122d565b60006109cf856110a7565b90506000816001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016109ff9190613379565b60206040518083038186803b158015610a1757600080fd5b505afa158015610a2b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a4f9190612c41565b90508015610a6257610a628c8883610f43565b505050505050505050505050565b7f03e38a2bd7063d45c897edeafc330e71657502dd86434d3c37a489caf116af6981565b7f68e30677f607df46e87da13e15b637784cfa62374b653f35ab43d10361a2f83081565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610b005760405162461bcd60e51b81526004016102639061358a565b610b4885610b4386868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506114cd92505050565b6114e3565b5050505050565b7f0e7f692dad5b88fdee426250d6eae91207e56a2e8112b7364579bed1790e5bf481565b600060608080806001600160e01b03198816632e77eeb360e21b1415610baa57610b9b6114f1565b94509450945094509450610c71565b6001600160e01b031988166314fd023760e11b1415610bcd57610b9b8787611551565b6001600160e01b03198816638334eb9960e01b1415610bf057610b9b8787611664565b6001600160e01b031988166303e38a2b60e01b1415610c1357610b9b878761168a565b6001600160e01b0319881663fa7dd04d60e01b1415610c3657610b9b8787611a58565b6001600160e01b031988166368e3067760e01b1415610c5957610b9b8787611bcf565b60405162461bcd60e51b8152600401610263906135ea565b945094509450945094565b7f000000000000000000000000000000000000000000000000000000000000000090565b7fc29fa9dde84204c2908778afd0613d802d31cf046179b88f6d2b4a4e507ea2d581565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610d0c5760405162461bcd60e51b81526004016102639061358a565b600080610d4e86868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061120d92505050565b91509150610901878383610f43565b600060608060608085806020019051810190610d799190612b70565b939a9299509097509550909350915050565b610d99828585846000611be1565b50505050565b604051636eb1769f60e11b81526000906001600160a01b0385169063dd62ed3e90610dd09030908790600401613387565b60206040518083038186803b158015610de857600080fd5b505afa158015610dfc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e209190612c41565b905081811015610d99578015610e4557610e456001600160a01b038516846000611cc4565b610d996001600160a01b03851684600019611cc4565b6060610e656124a7565b50604080516080810182526001600160a01b03808a168252600060208301819052898216838501526060830152915163945bcec960e01b815290917f0000000000000000000000000000000000000000000000000000000000000000169063945bcec990610ee19089908990899087908a9042906004016134d3565b600060405180830381600087803b158015610efb57600080fd5b505af1158015610f0f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610f379190810190612b1e565b98975050505050505050565b610f57828483610f5286611dbe565b611e5d565b505050565b6040516370a0823160e01b81526000906001600160a01b038316906370a0823190610f8b903090600401613379565b60206040518083038186803b158015610fa357600080fd5b505afa158015610fb7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fdb9190612c41565b90508015610ff757610ff76001600160a01b0383168483611ec7565b92915050565b600080600060608061100d61247d565b8680602001905181019061102191906128cf565b949c939b5091995097509550909350915050565b60005b835181101561109a5761109284828151811061105057fe5b60200260200101517f000000000000000000000000000000000000000000000000000000000000000085848151811061108557fe5b6020026020010151610d9f565b600101611038565b50610b4884308784611ee6565b606081901c5b919050565b606081516001600160401b03811180156110cb57600080fd5b506040519080825280602002602001820160405280156110f5578160200160208202803683370190505b50905060005b825181101561120657600083828151811061111257fe5b60200260200101519050806001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016111489190613379565b60206040518083038186803b15801561116057600080fd5b505afa158015611174573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111989190612c41565b8383815181106111a457fe5b60200260200101818152505060008383815181106111be57fe5b602002602001015111156111fd576111fd858484815181106111dc57fe5b6020026020010151836001600160a01b0316611ec79092919063ffffffff16565b506001016110fb565b5092915050565b60008082806020019051810190611224919061299b565b91509150915091565b611260611239856110a7565b7f000000000000000000000000000000000000000000000000000000000000000085610d9f565b815181515103606081156113a6578251516001600160401b038111801561128657600080fd5b506040519080825280602002602001820160405280156112b0578160200160208202803683370190505b5090508160005b81156113a3576112e7856000015182815181106112d057fe5b602002602001015187611f3890919063ffffffff16565b61139b5784518051829081106112f957fe5b60200260200101516001600160a01b03166370a082318a6040518263ffffffff1660e01b815260040161132c9190613379565b60206040518083038186803b15801561134457600080fd5b505afa158015611358573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061137c9190612c41565b83828151811061138857fe5b6020908102919091010152600019909101905b6001016112b7565b50505b6113b286308986611f8e565b81156109015760005b82156114c3576113eb846000015182815181106113d457fe5b602002602001015186611f3890919063ffffffff16565b6114bb578181815181106113fb57fe5b60200260200101518460000151828151811061141357fe5b60200260200101516001600160a01b03166370a082318a6040518263ffffffff1660e01b81526004016114469190613379565b60206040518083038186803b15801561145e57600080fd5b505afa158015611472573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114969190612c41565b146114b35760405162461bcd60e51b81526004016102639061354a565b600019909201915b6001016113bb565b5050505050505050565b600081806020019051810190610ff791906128b1565b6114ed8183611fe0565b5050565b600060608080808480604051908082528060200260200182016040528015611523578160200160208202803683370190505b5060408051600080825260208201818152828401918252606083019093529399929850965094509092509050565b6040805160018082528183019092526000916060918291829182916020808301908036833750506040805160018082528183019092529294509050602080830190803683370190505090506000806115a761247d565b6115e68a8a8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610ffd92505050565b896000815181106115f357fe5b6020908102919091010193909352909a50985090945090925090506116188284612062565b61162581606001516120a3565b818560008151811061163357fe5b60200260200101906001600160a01b031690816001600160a01b031681525050600297505050509295509295909350565b600060608060608061167687876120c4565b60019c939b50919950975095509350505050565b600060608060608060608060606116d68a8a8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610d5d92505050565b945094509450505060008060005b855181101561173f5760008582815181106116fb57fe5b6020026020010151131561171457600190920191611737565b600085828151811061172257fe5b60200260200101511215611737576001909101905b6001016116e4565b50816001600160401b038111801561175657600080fd5b50604051908082528060200260200182016040528015611780578160200160208202803683370190505b509850816001600160401b038111801561179957600080fd5b506040519080825280602002602001820160405280156117c3578160200160208202803683370190505b509750806001600160401b03811180156117dc57600080fd5b50604051908082528060200260200182016040528015611806578160200160208202803683370190505b509650806001600160401b038111801561181f57600080fd5b50604051908082528060200260200182016040528015611849578160200160208202803683370190505b50955060005b8551811015611a4457600085828151811061186657fe5b60200260200101519050600081131561195657600087838151811061188757fe5b60200260200101519050600086848151811061189f57fe5b6020026020010151905060006001600160a01b0316816001600160a01b031614611900576118cc81611dbe565b6001600160a01b0316826001600160a01b0316146118fc5760405162461bcd60e51b81526004016102639061355a565b8091505b858060019003965050818d878151811061191657fe5b60200260200101906001600160a01b031690816001600160a01b031681525050828c878151811061194357fe5b6020026020010181815250505050611a3b565b6000811215611a3b57600087838151811061196d57fe5b60200260200101519050600086848151811061198557fe5b6020026020010151905060006001600160a01b0316816001600160a01b0316146119e6576119b281611dbe565b6001600160a01b0316826001600160a01b0316146119e25760405162461bcd60e51b81526004016102639061355a565b8091505b848060019003955050818b86815181106119fc57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050826000038a8681518110611a2c57fe5b60200260200101818152505050505b5060010161184f565b506002995050505050509295509295909350565b6000606080606080600080611aa289898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061120d92505050565b60408051600180825281830190925292945090925060208083019080368337505060408051600180825281830190925292985090506020808301908036833750506040805160018082528183019092529297509050602080830190803683375050604080516001808252818301909252929650905060208083019080368337019050509250611b3082611dbe565b86600081518110611b3d57fe5b60200260200101906001600160a01b031690816001600160a01b0316815250508085600081518110611b6b57fe5b6020026020010181815250508184600081518110611b8557fe5b60200260200101906001600160a01b031690816001600160a01b0316815250508083600081518110611bb357fe5b6020026020010181815250506002965050509295509295909350565b600060608060608061167687876121a6565b6001600160a01b038416301415611c5957604051631cf88a4360e21b81526001600160a01b038616906373e2290c90611c22908690869086906004016133f2565b600060405180830381600087803b158015611c3c57600080fd5b505af1158015611c50573d6000803e3d6000fd5b50505050610b48565b60405163167d7d5f60e11b81526001600160a01b03861690632cfafabe90611c8b9087908790879087906004016133a2565b600060405180830381600087803b158015611ca557600080fd5b505af1158015611cb9573d6000803e3d6000fd5b505050505050505050565b801580611d4c5750604051636eb1769f60e11b81526001600160a01b0384169063dd62ed3e90611cfa9030908690600401613387565b60206040518083038186803b158015611d1257600080fd5b505afa158015611d26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d4a9190612c41565b155b611d685760405162461bcd60e51b8152600401610263906135da565b610f578363095ea7b360e01b8484604051602401611d879291906133d7565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526122d3565b60405163456b4a3760e01b81526000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063456b4a3790611e0d908590600401613379565b60206040518083038186803b158015611e2557600080fd5b505afa158015611e39573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ff791906128b1565b611e68818584610d9f565b60405160016255295b60e01b031981526001600160a01b0385169063ffaad6a590611e9990869086906004016133d7565b600060405180830381600087803b158015611eb357600080fd5b505af11580156114c3573d6000803e3d6000fd5b610f578363a9059cbb60e01b8484604051602401611d879291906133d7565b60405163172b958560e31b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063b95cac2890611e9990879087908790879060040161341a565b6000805b8351811015611f8457838181518110611f5157fe5b60200260200101516001600160a01b0316836001600160a01b03161415611f7c576001915050610ff7565b600101611f3c565b5060009392505050565b604051638bdb391360e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690638bdb391390611e9990879087908790879060040161341a565b604051631ac6d19d60e01b81526001600160a01b03831690631ac6d19d9061200c908490600401613379565b600060405180830381600087803b15801561202657600080fd5b505af115801561203a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610d999190810190612ac1565b61206b816110a7565b6001600160a01b031661207d83611dbe565b6001600160a01b0316146114ed5760405162461bcd60e51b81526004016102639061356a565b80156120c15760405162461bcd60e51b8152600401610263906135aa565b50565b60408051600180825281830190925260009160609182918291829160208083019080368337505060408051600180825281830190925292965090506020808301908036833701905050925060008061211a61247d565b6121598a8a8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610ffd92505050565b8b60008151811061216657fe5b60209081029190910101939093529098509650909450909250905061218b8284612062565b61219881606001516120a3565b818760008151811061163357fe5b60006060806060806000806121f089898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061120d92505050565b60408051600180825281830190925292945090925060208083019080368337505060408051600180825281830190925292985090506020808301908036833750506040805160018082528183019092529297509050602080830190803683375050604080516001808252818301909252929650905060208083019080368337019050509250818660008151811061228357fe5b60200260200101906001600160a01b031690816001600160a01b03168152505080856000815181106122b157fe5b6020026020010181815250506122c682611dbe565b84600081518110611b8557fe5b6060612328826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166123629092919063ffffffff16565b805190915015610f5757808060200190518101906123469190612b52565b610f575760405162461bcd60e51b8152600401610263906135ca565b6060612371848460008561237b565b90505b9392505050565b60608247101561239d5760405162461bcd60e51b81526004016102639061357a565b6123a68561243e565b6123c25760405162461bcd60e51b8152600401610263906135ba565b60006060866001600160a01b031685876040516123df919061336d565b60006040518083038185875af1925050503d806000811461241c576040519150601f19603f3d011682016040523d82523d6000602084013e612421565b606091505b5091509150612431828286612444565b925050505b949350505050565b3b151590565b60608315612453575081612374565b8251156124635782518084602001fd5b8160405162461bcd60e51b81526004016102639190613539565b60405180608001604052806060815260200160608152602001606081526020016000151581525090565b60408051608081018252600080825260208201819052918101829052606081019190915290565b8035610ff78161371a565b8051610ff78161371a565b600082601f8301126124f557600080fd5b815161250861250382613620565b6135fa565b9150818183526020840193506020810190508385602084028201111561252d57600080fd5b60005b83811015612559578161254388826124d9565b8452506020928301929190910190600101612530565b5050505092915050565b600082601f83011261257457600080fd5b815161258261250382613620565b915081818352602084019350602081019050838560208402820111156125a757600080fd5b60005b8381101561255957816125bd88826126ab565b84525060209283019291909101906001016125aa565b600082601f8301126125e457600080fd5b81516125f261250382613620565b81815260209384019390925082018360005b83811015612559578151860161261a8882612763565b8452506020928301929190910190600101612604565b600082601f83011261264157600080fd5b815161264f61250382613620565b9150818183526020840193506020810190508385602084028201111561267457600080fd5b60005b83811015612559578161268a88826126ab565b8452506020928301929190910190600101612677565b8051610ff78161372e565b8051610ff781613737565b8035610ff781613740565b60008083601f8401126126d357600080fd5b5081356001600160401b038111156126ea57600080fd5b60208301915083600182028301111561270257600080fd5b9250929050565b600082601f83011261271a57600080fd5b815161272861250382613640565b9150808252602083016020830185838301111561274457600080fd5b61274f8382846136d0565b50505092915050565b8051610ff781613749565b600060a0828403121561277557600080fd5b61277f60a06135fa565b9050600061278d84846126ab565b825250602061279e848483016126ab565b60208301525060406127b2848285016126ab565b60408301525060606127c6848285016126ab565b60608301525060808201516001600160401b038111156127e557600080fd5b6127f184828501612709565b60808301525092915050565b60006080828403121561280f57600080fd5b61281960806135fa565b82519091506001600160401b0381111561283257600080fd5b61283e848285016124e4565b82525060208201516001600160401b0381111561285a57600080fd5b61286684828501612630565b60208301525060408201516001600160401b0381111561288557600080fd5b61289184828501612709565b60408301525060606128a5848285016126a0565b60608301525092915050565b6000602082840312156128c357600080fd5b600061243684846124d9565b60008060008060008060c087890312156128e857600080fd5b60006128f489896124d9565b965050602061290589828a016126ab565b955050604061291689828a016126ab565b94505060608701516001600160401b0381111561293257600080fd5b61293e89828a016124e4565b93505060808701516001600160401b0381111561295a57600080fd5b61296689828a01612630565b92505060a08701516001600160401b0381111561298257600080fd5b61298e89828a016127fd565b9150509295509295509295565b600080604083850312156129ae57600080fd5b60006129ba85856124d9565b92505060206129cb858286016126ab565b9150509250929050565b600080600080606085870312156129eb57600080fd5b60006129f787876124ce565b9450506020612a08878288016126b6565b93505060408501356001600160401b03811115612a2457600080fd5b612a30878288016126c1565b95989497509550505050565b600080600080600060608688031215612a5457600080fd5b6000612a6088886124ce565b95505060208601356001600160401b03811115612a7c57600080fd5b612a88888289016126c1565b945094505060408601356001600160401b03811115612aa657600080fd5b612ab2888289016126c1565b92509250509295509295909350565b60008060408385031215612ad457600080fd5b82516001600160401b03811115612aea57600080fd5b612af6858286016124e4565b92505060208301516001600160401b03811115612b1257600080fd5b6129cb85828601612630565b600060208284031215612b3057600080fd5b81516001600160401b03811115612b4657600080fd5b61243684828501612563565b600060208284031215612b6457600080fd5b600061243684846126a0565b600080600080600060a08688031215612b8857600080fd5b6000612b948888612758565b95505060208601516001600160401b03811115612bb057600080fd5b612bbc888289016125d3565b94505060408601516001600160401b03811115612bd857600080fd5b612be4888289016124e4565b93505060608601516001600160401b03811115612c0057600080fd5b612c0c88828901612563565b92505060808601516001600160401b03811115612c2857600080fd5b612c34888289016124e4565b9150509295509295909350565b600060208284031215612c5357600080fd5b600061243684846126ab565b6000612c6b8383612c8b565b505060200190565b6000612c6b8383612ea2565b6000612374838361324c565b612c948161367a565b82525050565b6000612ca58261366d565b612caf8185613671565b9350612cba83613667565b8060005b83811015612ce8578151612cd28882612c5f565b9750612cdd83613667565b925050600101612cbe565b509495945050505050565b6000612cfe8261366d565b612d088185613671565b9350612d1383613667565b8060005b83811015612ce8578151612d2b8882612c5f565b9750612d3683613667565b925050600101612d17565b6000612d4c8261366d565b612d568185613671565b9350612d6183613667565b8060005b83811015612ce8578151612d798882612c73565b9750612d8483613667565b925050600101612d65565b6000612d9a8261366d565b612da48185613671565b935083602082028501612db685613667565b8060005b85811015612df05784840389528151612dd38582612c7f565b9450612dde83613667565b60209a909a0199925050600101612dba565b5091979650505050505050565b6000612e088261366d565b612e128185613671565b9350612e1d83613667565b8060005b83811015612ce8578151612e358882612c73565b9750612e4083613667565b925050600101612e21565b6000612e568261366d565b612e608185613671565b9350612e6b83613667565b8060005b83811015612ce8578151612e838882612c73565b9750612e8e83613667565b925050600101612e6f565b612c9481613685565b612c948161368a565b612c948161368d565b6000612ebf8261366d565b612ec98185613671565b9350612ed98185602086016136d0565b612ee2816136fc565b9093019392505050565b6000612ef78261366d565b612f0181856110ad565b9350612f118185602086016136d0565b9290920192915050565b612c94816136ba565b612c94816136c5565b6000612f3a602b83613671565b7f5f5f62616c616e63657252656465656d3a20556e65787065637465642061737381526a195d081c9958d95a5d995960aa1b602082015260400192915050565b6000612f87602783613671565b7f5f5f7061727365417373657473466f7254616b654f726465723a20425054206d8152660d2e6dac2e8c6d60cb1b602082015260400192915050565b6000612fd0602583613671565b7f5f5f76616c6964617465427074466f725374616b696e67546f6b656e3a20496e8152641d985b1a5960da1b602082015260400192915050565b6000613017602683613671565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f8152651c8818d85b1b60d21b602082015260400192915050565b600061305f603283613671565b7f4f6e6c792074686520496e746567726174696f6e4d616e616765722063616e2081527131b0b636103a3434b990333ab731ba34b7b760711b602082015260400192915050565b60006130b3602083613671565b7f74616b654f726465723a206c6566746f76657220696e7465726d656469617279815260200192915050565b60006130ec602583613671565b7f5f5f76616c69646174654e6f496e7465726e616c42616c616e6365733a20496e8152641d985b1a5960da1b602082015260400192915050565b6000613133601d83613671565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000815260200192915050565b600061316c602a83613671565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e8152691bdd081cdd58d8d9595960b21b602082015260400192915050565b60006131b8603683613671565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f81527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b602082015260400192915050565b6000613210602783613671565b7f7061727365417373657473466f72416374696f6e3a205f73656c6563746f72208152661a5b9d985b1a5960ca1b602082015260400192915050565b805160009060a08401906132608582612ea2565b5060208301516132736020860182612ea2565b5060408301516132866040860182612ea2565b5060608301516132996060860182612ea2565b50608083015184820360808601526132b18282612eb4565b95945050505050565b805160808301906132cb8482612c8b565b5060208201516132de6020850182612e99565b5060408201516132f16040850182612c8b565b506060820151610d996060850182612e99565b805160808084526000919084019061331c8282612c9a565b915050602083015184820360208601526133368282612dfd565b915050604083015184820360408601526133508282612eb4565b91505060608301516133656060860182612e99565b509392505050565b60006123748284612eec565b60208101610ff78284612c8b565b604081016133958285612c8b565b6123746020830184612c8b565b608081016133b08287612c8b565b6133bd6020830186612c8b565b6133ca6040830185612ea2565b6132b16060830184612e99565b604081016133e58285612c8b565b6123746020830184612ea2565b606081016134008286612c8b565b61340d6020830185612ea2565b6124366040830184612e99565b608081016134288287612ea2565b6134356020830186612c8b565b6134426040830185612c8b565b81810360608301526134548184613304565b9695505050505050565b60208101610ff78284612eab565b60a0810161347a8288612f1b565b818103602083015261348c8187612cf3565b905081810360408301526134a08186612e4b565b905081810360608301526134b48185612cf3565b905081810360808301526134c88184612e4b565b979650505050505050565b61012081016134e28289612f24565b81810360208301526134f48188612d8f565b905081810360408301526135088187612cf3565b905061351760608301866132ba565b81810360e08301526135298185612d41565b90506134c8610100830184612ea2565b602080825281016123748184612eb4565b60208082528101610ff781612f2d565b60208082528101610ff781612f7a565b60208082528101610ff781612fc3565b60208082528101610ff78161300a565b60208082528101610ff781613052565b60208082528101610ff7816130a6565b60208082528101610ff7816130df565b60208082528101610ff781613126565b60208082528101610ff78161315f565b60208082528101610ff7816131ab565b60208082528101610ff781613203565b6040518181016001600160401b038111828210171561361857600080fd5b604052919050565b60006001600160401b0382111561363657600080fd5b5060209081020190565b60006001600160401b0382111561365657600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b6000610ff7826136ae565b151590565b90565b6001600160e01b03191690565b806110ad81613706565b806110ad81613710565b6001600160a01b031690565b6000610ff78261369a565b6000610ff7826136a4565b60005b838110156136eb5781810151838201526020016136d3565b83811115610d995750506000910152565b601f01601f191690565b600381106120c157fe5b600281106120c157fe5b6137238161367a565b81146120c157600080fd5b61372381613685565b6137238161368a565b6137238161368d565b600281106120c157600080fdfea164736f6c634300060c000a", "sourceMap": "567:4240:162:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5515:3627:201;;;;;;:::i;:::-;;:::i;:::-;;1490:119:180;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1373:111;;;:::i;832:85::-;;;:::i;3069:892:201:-;;;;;;:::i;:::-;;:::i;1034:87:180:-;;;:::i;1240:110::-;;;:::i;9301:318:201:-;;;;;;:::i;:::-;;:::i;9797:1081::-;;;;;;:::i;:::-;;:::i;706:104:180:-;;;:::i;1127:91::-;;;:::i;2630:236:201:-;;;;;;:::i;:::-;;:::i;577:123:180:-;;;:::i;14355:1235:201:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;:::i;2637:128:179:-;;;:::i;:::-;;;;;;;:::i;923:89:180:-;;;:::i;4118:301:201:-;;;;;;:::i;:::-;;:::i;5515:3627::-;1747:10:179;-1:-1:-1;;;;;1761:19:179;1747:33;;1726:130;;;;-1:-1:-1;;;1726:130:179;;;;;;;:::i;:::-;;;;;;;;;5685:30:201::1;5729:45;5788:23:::0;5825:22:::1;5861:30:::0;5904:38:::1;5930:11;;5904:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;5904:25:201::1;::::0;-1:-1:-1;;;5904:38:201:i:1;:::-;5671:271;;;;;;;;;;6002:25;6037:18:::0;6058:6:::1;:13;6037:34;;6086:9;6081:899;6101:10;6097:1;:14;6081:899;;;6148:1;6136:6;6143:1;6136:9;;;;;;;;;;;;;;:13;6132:838;;;6169:24;6204:6;6211:1;6204:9;;;;;;;;;;;;;;6169:45;;6296:1;-1:-1:-1::0;;;;;6268:30:201::1;:13;6282:1;6268:16;;;;;;;;;;;;;;-1:-1:-1::0;;;;;6268:30:201::1;;6264:318;;6322:241;6373:4;6424;6470:13;6484:1;6470:16;;;;;;;;;;;;;;6524;6322:9;:241::i;:::-;6636:200;6692:6;6699:1;6692:9;;;;;;;;;;;;;;6740:23;6801:16;6636:25;:200::i;:::-;6132:838;;;;6873:1;6861:6;6868:1;6861:9;;;;;;;;;;;;;;:13;:47;;;;;6906:1;-1:-1:-1::0;;;;;6878:30:201::1;:13;6892:1;6878:16;;;;;;;;;;;;;;-1:-1:-1::0;;;;;6878:30:201::1;;;6861:47;6857:113;;;6951:4;6928:27;;6857:113;6113:3;;6081:899;;;;7020:27;7050:255;7103:4;7134:20;:50;;7173:11;7134:50;;;7165:4;7134:50;7205:4;7231:5;7259:6;7288;7050:21;:255::i;:::-;7020:285;;7371:9;7366:1770;7386:10;7382:1;:14;7366:1770;;;7433:1;7421:6;7428:1;7421:9;;;;;;;;;;;;;;:13;7417:1709;;;7724:1;-1:-1:-1::0;;;;;7696:30:201::1;:13;7710:1;7696:16;;;;;;;;;;;;;;-1:-1:-1::0;;;;;7696:30:201::1;;;:77;;;;-1:-1:-1::0;7738:35:201::1;7730:4;:43;;;;;;;;;7696:77;7671:513;;;7814:17;7840:6;7847:1;7840:9;;;;;;;;;;;;;;-1:-1:-1::0;;;;;7834:26:201::1;;7869:4;7834:41;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7814:61:::0;-1:-1:-1;7901:13:201;;7897:269:::1;;7942:201;7993:11;8049:13;8063:1;8049:16;;;;;;;;;;;;;;8107:9;7942:7;:201::i;:::-;7671:513;;8278:65;8311:11;8332:6;8339:1;8332:9;;;;;;;;;;;;;;8278:22;:65::i;:::-;;7417:1709;;;8380:1;8368:6;8375:1;8368:9;;;;;;;;;;;;;;:13;8364:762;;;8433:1;-1:-1:-1::0;;;;;8405:30:201::1;:13;8419:1;8405:16;;;;;;;;;;;;;;-1:-1:-1::0;;;;;8405:30:201::1;;8401:515;;8459:217;8506:11;8558:13;8572:1;8558:16;;;;;;;;;;;;;;8618:6;8625:1;8618:9;;;;;;;;;;;;;;-1:-1:-1::0;;;;;8612:26:201::1;;8647:4;8612:41;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8459:7;:217::i;:::-;8401:515;;;8705:20;8701:215;;;8832:65;8865:11;8886:6;8893:1;8886:9;;;;;;;8701:215;8364:762;;;9055:11;9067:1;9055:14;;;;;;;;;;;;;;9073:1;9055:19;9047:64;;;;-1:-1:-1::0;;;9047:64:201::1;;;;;;;:::i;:::-;7398:3;;7366:1770;;;;1866:1:179;;;;;;;;5515:3627:201::0;;;;;:::o;1490:119:180:-;1558:50;1490:119;:::o;1373:111::-;1437:46;1373:111;:::o;832:85::-;878:38;832:85;:::o;3069:892:201:-;1747:10:179;-1:-1:-1;;;;;1761:19:179;1747:33;;1726:130;;;;-1:-1:-1;;;1726:130:179;;;;;;;:::i;:::-;3242:20:201::1;3276:14:::0;3318:28:::1;3360:34:::0;3408:49:::1;;:::i;:::-;3470:43;3501:11;;3470:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;3470:30:201::1;::::0;-1:-1:-1;;;3470:43:201:i:1;:::-;3228:285;;;;;;;;;;;3524:70;3539:4;3546:6;3554:11;3567:17;3586:7;3524:6;:70::i;:::-;3605:148;3626:11;3651:12;3683:34;3710:6;3683:26;:34::i;:::-;-1:-1:-1::0;;;;;3677:51:201::1;;3737:4;3677:66;;;;;;;;;;;;;;;:::i;3605:148::-;3905:49;3929:11;3942;3905:23;:49::i;:::-;;1866:1:179;;;;;3069:892:201::0;;;;;:::o;1034:87:180:-;1081:39;1034:87;:::o;1240:110::-;1303:46;1240:110;:::o;9301:318:201:-;1747:10:179;-1:-1:-1;;;;;1761:19:179;1747:33;;1726:130;;;;-1:-1:-1;;;1726:130:179;;;;;;;:::i;:::-;9456:20:201::1;9478:17:::0;9499:42:::1;9529:11;;9499:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;9499:29:201::1;::::0;-1:-1:-1;;;9499:42:201:i:1;:::-;9455:86;;;;9552:60;9562:11;9575;9588:12;9602:9;9552;:60::i;:::-;1866:1:179;;9301:318:201::0;;;;;:::o;9797:1081::-;1747:10:179;-1:-1:-1;;;;;1761:19:179;1747:33;;1726:130;;;;-1:-1:-1;;;1726:130:179;;;;;;;:::i;:::-;9974:20:201::1;10008:14:::0;10036:17:::1;10067:39;10134:49;;:::i;:::-;10196:43;10227:11;;10196:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;10196:30:201::1;::::0;-1:-1:-1;;;10196:43:201:i:1;:::-;9960:279;;;;;;;;;;;10250:62;10260:11;10281:4;10288:12;10302:9;10250;:62::i;:::-;10323:73;10332:11;10345:6;10353:9;10364:22;10388:7;10323:8;:73::i;:::-;10582:11;10596:34;10623:6;10596:26;:34::i;:::-;10582:48;;10640:20;10669:3;-1:-1:-1::0;;;;;10663:20:201::1;;10692:4;10663:35;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10640:58:::0;-1:-1:-1;10712:16:201;;10708:95:::1;;10744:48;10752:11;10765:12;10779;10744:7;:48::i;:::-;1866:1:179;;;;;;;9797:1081:201::0;;;;;:::o;706:104:180:-;766:43;706:104;:::o;1127:91::-;1176:41;1127:91;:::o;2630:236:201:-;1747:10:179;-1:-1:-1;;;;;1761:19:179;1747:33;;1726:130;;;;-1:-1:-1;;;1726:130:179;;;;;;;:::i;:::-;2789:70:201::1;2804:11;2817:41;2846:11;;2817:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;2817:28:201::1;::::0;-1:-1:-1;;;2817:41:201:i:1;:::-;2789:14;:70::i;:::-;2630:236:::0;;;;;:::o;577:123:180:-;647:52;577:123;:::o;14355:1235:201:-;14561:64;14639:29;;;;-1:-1:-1;;;;;;14847:35:201;;-1:-1:-1;;;14847:35:201;14843:681;;;14905:30;:28;:30::i;:::-;14898:37;;;;;;;;;;;;14843:681;-1:-1:-1;;;;;;14956:36:201;;-1:-1:-1;;;14956:36:201;14952:572;;;15015:41;15044:11;;15015:28;:41::i;14952:572::-;-1:-1:-1;;;;;;15077:40:201;;-1:-1:-1;;;15077:40:201;15073:451;;;15140:45;15173:11;;15140:32;:45::i;15073:451::-;-1:-1:-1;;;;;;15206:32:201;;-1:-1:-1;;;15206:32:201;15202:322;;;15261:38;15287:11;;15261:25;:38::i;15202:322::-;-1:-1:-1;;;;;;15320:27:201;;-1:-1:-1;;;15320:27:201;15316:208;;;15370:34;15392:11;;15370:21;:34::i;15316:208::-;-1:-1:-1;;;;;;15425:29:201;;-1:-1:-1;;;15425:29:201;15421:103;;;15477:36;15501:11;;15477:23;:36::i;15421:103::-;15534:49;;-1:-1:-1;;;15534:49:201;;;;;;;:::i;14355:1235::-;;;;;;;;;;:::o;2637:128:179:-;2739:19;2637:128;:::o;923:89:180:-;971:40;923:89;:::o;4118:301:201:-;1747:10:179;-1:-1:-1;;;;;1761:19:179;1747:33;;1726:130;;;;-1:-1:-1;;;1726:130:179;;;;;;;:::i;:::-;4271:20:201::1;4293:17:::0;4314:42:::1;4344:11;;4314:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;4314:29:201::1;::::0;-1:-1:-1;;;4314:42:201:i:1;:::-;4270:86;;;;4367:45;4375:11;4388:12;4402:9;4367:7;:45::i;27488:674::-:0;27613:31;27658:46;27718:24;27756:23;27793:31;27896:16;27868:287;;;;;;;;;;;;:::i;:::-;27849:306;;;;-1:-1:-1;27849:306:201;;-1:-1:-1;27849:306:201;-1:-1:-1;27849:306:201;;-1:-1:-1;27488:674:201;-1:-1:-1;;27488:674:201:o;2411:246:162:-;2574:76;2598:13;2613:5;2620:10;2632;2644:5;2574:23;:76::i;:::-;2411:246;;;;:::o;2554:434:355:-;2714:47;;-1:-1:-1;;;2714:47:355;;2694:17;;-1:-1:-1;;;;;2714:23:355;;;;;:47;;2746:4;;2753:7;;2714:47;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2694:67;;2787:13;2775:9;:25;2771:211;;;2820:13;;2816:89;;2853:37;-1:-1:-1;;;;;2853:25:355;;2879:7;2888:1;2853:25;:37::i;:::-;2918:53;-1:-1:-1;;;;;2918:25:355;;2944:7;-1:-1:-1;;2918:25:355;:53::i;862:844:183:-;1134:28;1174:44;;:::i;:::-;-1:-1:-1;1221:194:183;;;;;;;;-1:-1:-1;;;;;1221:194:183;;;;;-1:-1:-1;1221:194:183;;;;;;;;;;;;;;;;;1445:254;;-1:-1:-1;;;1445:254:183;;1221:194;;1445:23;:33;;;;:254;;1504:5;;1535:6;;1568:7;;1221:194;;1633:7;;1669:15;;1445:254;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1445:254:183;;;;;;;;;;;;:::i;:::-;1426:273;862:844;-1:-1:-1;;;;;;;;862:844:183:o;2039:305:162:-;2178:159;2213:13;2240:11;2265:10;2289:38;2313:13;2289:23;:38::i;:::-;2178:21;:159::i;:::-;2039:305;;;:::o;3083:360:355:-;3245:38;;-1:-1:-1;;;3245:38:355;;3182:26;;-1:-1:-1;;;;;3245:23:355;;;;;:38;;3277:4;;3245:38;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3224:59;-1:-1:-1;3297:22:355;;3293:108;;3335:55;-1:-1:-1;;;;;3335:26:355;;3362:7;3371:18;3335:26;:55::i;:::-;3083:360;;;;:::o;25959:829:201:-;26090:21;26125:15;26154:18;26186:28;26284:34;26388:50;;:::i;:::-;26510:16;26482:299;;;;;;;;;;;;:::i;:::-;26463:318;;;;-1:-1:-1;26463:318:201;;-1:-1:-1;26463:318:201;-1:-1:-1;26463:318:201;-1:-1:-1;26463:318:201;;-1:-1:-1;25959:829:201;-1:-1:-1;;25959:829:201:o;10970:549::-;11213:9;11208:232;11228:12;:19;11224:1;:23;11208:232;;;11268:161;11311:12;11324:1;11311:15;;;;;;;;;;;;;;11352:23;11394:18;11413:1;11394:21;;;;;;;;;;;;;;11268:25;:161::i;:::-;11249:3;;11208:232;;;;11450:62;11467:7;11484:4;11491:10;11503:8;11450:16;:62::i;24915:187::-;25087:6;25066:28;;;24915:187;;;;:::o;3539:585:355:-;3649:36;3737:7;:14;-1:-1:-1;;;;;3723:29:355;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3723:29:355;;3701:51;;3767:9;3762:319;3782:7;:14;3778:1;:18;3762:319;;;3817:19;3845:7;3853:1;3845:10;;;;;;;;;;;;;;3817:39;;3895:13;-1:-1:-1;;;;;3895:23:355;;3927:4;3895:38;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3870:19;3890:1;3870:22;;;;;;;;;;;;;:63;;;;;3976:1;3951:19;3971:1;3951:22;;;;;;;;;;;;;;:26;3947:124;;;3997:59;4024:7;4033:19;4053:1;4033:22;;;;;;;;;;;;;;3997:13;-1:-1:-1;;;;;3997:26:355;;;:59;;;;;:::i;:::-;-1:-1:-1;3798:3:355;;3762:319;;;;3539:585;;;;:::o;27135:236:201:-;27252:21;27275:18;27327:16;27316:48;;;;;;;;;;;;:::i;:::-;27309:55;;;;27135:236;;;:::o;11590:1989::-;11830:159;11869:35;11896:7;11869:26;:35::i;:::-;11926:23;11964:15;11830:25;:159::i;:::-;12358:30;;12333:15;;:22;:55;12398:43;12455:21;;12451:524;;12535:15;;:22;-1:-1:-1;;;;;12521:37:201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12521:37:201;-1:-1:-1;12492:66:201;-1:-1:-1;12597:17:201;12572:22;12628:337;12644:18;;12628:337;;12692:52;12725:8;:15;;;12741:1;12725:18;;;;;;;;;;;;;;12692:23;:32;;:52;;;;:::i;:::-;12687:264;;12806:15;;:18;;12822:1;;12806:18;;;;;;;;;;;;-1:-1:-1;;;;;12800:35:201;;12861:11;12800:94;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12768:26;12795:1;12768:29;;;;;;;;;;;;;;;;;:126;-1:-1:-1;;12916:16:201;;;;12687:264;12664:3;;12628:337;;;;12451:524;;12985:74;13004:7;13021:4;13036:11;13050:8;12985:18;:74::i;:::-;13074:21;;13070:503;;13116:9;13111:452;13127:21;;13111:452;;13178:52;13211:8;:15;;;13227:1;13211:18;;;;;;;;;;;;;;13178:23;:32;;:52;;;;:::i;:::-;13173:376;;13367:26;13394:1;13367:29;;;;;;;;;;;;;;13293:8;:15;;;13309:1;13293:18;;;;;;;;;;;;;;-1:-1:-1;;;;;13287:35:201;;13323:11;13287:48;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:109;13254:235;;;;-1:-1:-1;;;13254:235:201;;;;;;;:::i;:::-;-1:-1:-1;;13511:19:201;;;;13173:376;13150:3;;13111:452;;;;11590:1989;;;;;;;:::o;26872:196::-;26983:21;27038:11;27027:34;;;;;;;;;;;;:::i;1295:162:162:-;1391:59;1423:13;1438:11;1391:31;:59::i;:::-;1295:162;;:::o;15766:602:201:-;15882:64;15960:29;;;;15882:64;;16245:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;16245:16:201;-1:-1:-1;16275:16:201;;;16289:1;16275:16;;;;;;16305;;;;;;16335;;;;;;;;;16164:197;;;;-1:-1:-1;16275:16:201;-1:-1:-1;16275:16:201;-1:-1:-1;16305:16:201;;-1:-1:-1;15766:602:201;-1:-1:-1;15766:602:201:o;16489:1263::-;16936:16;;;16950:1;16936:16;;;;;;;;;16636:64;;16714:29;;;;;;;;16936:16;;;;;;;;;-1:-1:-1;;16989:16:201;;;17003:1;16989:16;;;;;;;;;16918:34;;-1:-1:-1;17003:1:201;-1:-1:-1;16989:16:201;;;;;;;;;;;-1:-1:-1;16989:16:201;16962:43;;17016:14;17040:20;17070:49;;:::i;:::-;17308:48;17339:16;;17308:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;17308:30:201;;-1:-1:-1;;;17308:48:201:i;:::-;17189:24;17214:1;17189:27;;;;;;;;;;;;;;;;;17129:227;;;;;;-1:-1:-1;17129:227:201;-1:-1:-1;17129:227:201;;-1:-1:-1;17129:227:201;;-1:-1:-1;17129:227:201;-1:-1:-1;17367:51:201;17129:227;;17367:29;:51::i;:::-;17428:56;17457:7;:26;;;17428:28;:56::i;:::-;17516:12;17495:15;17511:1;17495:18;;;;;;;;;;;;;:33;-1:-1:-1;;;;;17495:33:201;;;-1:-1:-1;;;;;17495:33:201;;;;;17560:50;17539:206;;;;;16489:1263;;;;;;;;:::o;3911:894:162:-;4058:64;4136:29;4179:35;4228:32;4274:41;4422:64;4474:11;;4422:51;:64::i;:::-;4614:49;;4340:146;;-1:-1:-1;4340:146:162;;-1:-1:-1;4340:146:162;-1:-1:-1;4340:146:162;-1:-1:-1;3911:894:162;-1:-1:-1;;;;3911:894:162:o;19147:2843:201:-;19274:64;19352:29;19395:35;19444:32;19490:41;19598:23;19635:22;19671:30;19714:43;19740:16;;19714:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;19714:25:201;;-1:-1:-1;;;19714:43:201:i;:::-;19556:201;;;;;;;;19850:24;19884:27;19926:9;19921:213;19941:6;:13;19937:1;:17;19921:213;;;19991:1;19979:6;19986:1;19979:9;;;;;;;;;;;;;;:13;19975:149;;;20012:18;;;;;19975:149;;;20067:1;20055:6;20062:1;20055:9;;;;;;;;;;;;;;:13;20051:73;;;20088:21;;;;;20051:73;19956:3;;19921:213;;;;20173:16;-1:-1:-1;;;;;20159:31:201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;20159:31:201;;20144:46;;20235:16;-1:-1:-1;;;;;20221:31:201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;20221:31:201;;20200:52;;20295:19;-1:-1:-1;;;;;20281:34:201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;20281:34:201;;20263:52;;20366:19;-1:-1:-1;;;;;20352:34:201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;20352:34:201;;20325:61;;20402:9;20397:1370;20417:6;:13;20413:1;:17;20397:1370;;;20451:12;20466:6;20473:1;20466:9;;;;;;;;;;;;;;20451:24;;20502:1;20494:5;:9;20490:1267;;;20523:18;20544:6;20551:1;20544:9;;;;;;;;;;;;;;20523:30;;20571:20;20594:13;20608:1;20594:16;;;;;;;;;;;;;;20571:39;;20657:1;-1:-1:-1;;;;;20633:26:201;:12;-1:-1:-1;;;;;20633:26:201;;20629:293;;20730:37;20754:12;20730:23;:37::i;:::-;-1:-1:-1;;;;;20716:51:201;:10;-1:-1:-1;;;;;20716:51:201;;20683:173;;;;-1:-1:-1;;;20683:173:201;;;;;;;:::i;:::-;20891:12;20878:25;;20629:293;20940:18;;;;;;;;21009:10;20976:12;20989:16;20976:30;;;;;;;;;;;;;:43;-1:-1:-1;;;;;20976:43:201;;;-1:-1:-1;;;;;20976:43:201;;;;;21084:5;21037:18;21056:16;21037:36;;;;;;;;;;;;;:53;;;;;20490:1267;;;;;21123:1;21115:5;:9;21111:646;;;21144:21;21168:6;21175:1;21168:9;;;;;;;;;;;;;;21144:33;;21195:20;21218:13;21232:1;21218:16;;;;;;;;;;;;;;21195:39;;21281:1;-1:-1:-1;;;;;21257:26:201;:12;-1:-1:-1;;;;;21257:26:201;;21253:299;;21357:37;21381:12;21357:23;:37::i;:::-;-1:-1:-1;;;;;21340:54:201;:13;-1:-1:-1;;;;;21340:54:201;;21307:176;;;;-1:-1:-1;;;21307:176:201;;;;;;;:::i;:::-;21521:12;21505:28;;21253:299;21570:21;;;;;;;;21648:13;21609:15;21625:19;21609:36;;;;;;;;;;;;;:52;-1:-1:-1;;;;;21609:52:201;;;-1:-1:-1;;;;;21609:52:201;;;;;21736:5;21735:6;;21679:24;21704:19;21679:45;;;;;;;;;;;;;:63;;;;;21111:646;;;-1:-1:-1;20432:3:201;;20397:1370;;;;21798:50;21777:206;;;;;;;19147:2843;;;;;;;;:::o;17874:1147::-;18014:64;18092:29;18135:35;18184:32;18230:41;18297:20;18319:17;18340:69;18383:16;;18340:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;18340:29:201;;-1:-1:-1;;;18340:69:201:i;:::-;18435:16;;;18449:1;18435:16;;;;;;;;;18296:113;;-1:-1:-1;18296:113:201;;-1:-1:-1;18435:16:201;;;;;;;;;-1:-1:-1;;18482:16:201;;;18496:1;18482:16;;;;;;;;;18420:31;;-1:-1:-1;18496:1:201;-1:-1:-1;18482:16:201;;;;;;;;;-1:-1:-1;;18526:16:201;;;18540:1;18526:16;;;;;;;;;18461:37;;-1:-1:-1;18540:1:201;-1:-1:-1;18526:16:201;;;;;;;;;-1:-1:-1;;18579:16:201;;;18593:1;18579:16;;;;;;;;;18508:34;;-1:-1:-1;18593:1:201;-1:-1:-1;18579:16:201;;;;;;;;;;;-1:-1:-1;18579:16:201;18552:43;;18624:37;18648:12;18624:23;:37::i;:::-;18606:12;18619:1;18606:15;;;;;;;;;;;;;:55;-1:-1:-1;;;;;18606:55:201;;;-1:-1:-1;;;;;18606:55:201;;;;;18695:9;18671:18;18690:1;18671:21;;;;;;;;;;;;;:33;;;;;18736:12;18715:15;18731:1;18715:18;;;;;;;;;;;;;:33;-1:-1:-1;;;;;18715:33:201;;;-1:-1:-1;;;;;18715:33:201;;;;;18788:9;18758:24;18783:1;18758:27;;;;;;;;;;;;;:39;;;;;18829:50;18808:206;;;;17874:1147;;;;;;;;:::o;2902:876:162:-;3040:64;3118:29;3161:35;3210:32;3256:41;3404:55;3447:11;;3404:42;:55::i;1305:645:194:-;-1:-1:-1;;;;;1490:22:194;;1507:4;1490:22;1486:458;;;1528:166;;-1:-1:-1;;;1528:166:194;;-1:-1:-1;;;;;1528:36:194;;;;;:166;;1588:3;;1618:7;;1666:13;;1528:166;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1486:458;;;1725:208;;-1:-1:-1;;;1725:208:194;;-1:-1:-1;;;;;1725:44:194;;;;;:208;;1799:5;;1827:3;;1857:7;;1905:13;;1725:208;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1305:645;;;;;:::o;1348:613:450:-;1713:10;;;1712:62;;-1:-1:-1;1729:39:450;;-1:-1:-1;;;1729:39:450;;-1:-1:-1;;;;;1729:15:450;;;;;:39;;1753:4;;1760:7;;1729:39;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:44;1712:62;1704:150;;;;-1:-1:-1;;;1704:150:450;;;;;;;:::i;:::-;1864:90;1884:5;1914:22;;;1938:7;1947:5;1891:62;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;1891:62:450;;;;;;;;;;;;;;-1:-1:-1;;;;;1891:62:450;-1:-1:-1;;;;;;1891:62:450;;;;;;;;;;1864:19;:90::i;1597:235:162:-;1752:73;;-1:-1:-1;;;1752:73:162;;1717:12;;-1:-1:-1;;;;;1752:32:162;:58;;;;:73;;1811:13;;1752:73;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;945:286:194:-;1105:60;1131:14;1147:8;1157:7;1105:25;:60::i;:::-;1175:49;;-1:-1:-1;;;;;;1175:49:194;;-1:-1:-1;;;;;1175:35:194;;;;;:49;;1211:3;;1216:7;;1175:49;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;704:175:450;786:86;806:5;836:23;;;861:2;865:5;813:58;;;;;;;;;:::i;1749:268:183:-;1938:72;;-1:-1:-1;;;1938:72:183;;-1:-1:-1;;;;;1938:23:183;:32;;;;:72;;1971:7;;1980;;1989:10;;2001:8;;1938:72;;;:::i;2489:299:354:-;2595:17;2633:9;2628:132;2648:5;:12;2644:1;:16;2628:132;;;2696:5;2702:1;2696:8;;;;;;;;;;;;;;-1:-1:-1;;;;;2685:19:354;:7;-1:-1:-1;;;;;2685:19:354;;2681:69;;;2731:4;2724:11;;;;;2681:69;2662:3;;2628:132;;;-1:-1:-1;2776:5:354;;2489:299;-1:-1:-1;;;2489:299:354:o;2063:278:183:-;2262:72;;-1:-1:-1;;;2262:72:183;;-1:-1:-1;;;;;2262:23:183;:32;;;;:72;;2295:7;;2304;;2313:10;;2325:8;;2262:72;;;:::i;727:146:194:-;819:47;;-1:-1:-1;;;819:47:194;;-1:-1:-1;;;;;819:41:194;;;;;:47;;861:4;;819:47;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;819:47:194;;;;;;;;;;;;:::i;25320:271:201:-;25486:35;25513:7;25486:26;:35::i;:::-;-1:-1:-1;;;;;25444:77:201;:38;25468:13;25444:23;:38::i;:::-;-1:-1:-1;;;;;25444:77:201;;25423:161;;;;-1:-1:-1;;;25423:161:201;;;;;;;:::i;25669:167::-;25767:20;25766:21;25758:71;;;;-1:-1:-1;;;25758:71:201;;;;;;;:::i;:::-;25669:167;:::o;23396:1258::-;23844:16;;;23858:1;23844:16;;;;;;;;;23547:64;;23625:29;;;;;;;;23844:16;;;;;;;;;-1:-1:-1;;23891:16:201;;;23905:1;23891:16;;;;;;;;;23829:31;;-1:-1:-1;23905:1:201;-1:-1:-1;23891:16:201;;;;;;;;;;;-1:-1:-1;23891:16:201;23870:37;;23918:14;23942:20;23972:49;;:::i;:::-;24213:48;24244:16;;24213:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;24213:30:201;;-1:-1:-1;;;24213:48:201:i;:::-;24091:18;24110:1;24091:21;;;;;;;;;;;;;;;;;24031:230;;;;;;-1:-1:-1;24031:230:201;-1:-1:-1;24031:230:201;;-1:-1:-1;24031:230:201;;-1:-1:-1;24031:230:201;-1:-1:-1;24272:51:201;24031:230;;24272:29;:51::i;:::-;24333:56;24362:7;:26;;;24333:28;:56::i;:::-;24418:12;24400;24413:1;24400:15;;;;;;;22114:1149;22256:64;22334:29;22377:35;22426:32;22472:41;22539:20;22561:17;22582:69;22625:16;;22582:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;22582:29:201;;-1:-1:-1;;;22582:69:201:i;:::-;22677:16;;;22691:1;22677:16;;;;;;;;;22538:113;;-1:-1:-1;22538:113:201;;-1:-1:-1;22677:16:201;;;;;;;;;-1:-1:-1;;22724:16:201;;;22738:1;22724:16;;;;;;;;;22662:31;;-1:-1:-1;22738:1:201;-1:-1:-1;22724:16:201;;;;;;;;;-1:-1:-1;;22768:16:201;;;22782:1;22768:16;;;;;;;;;22703:37;;-1:-1:-1;22782:1:201;-1:-1:-1;22768:16:201;;;;;;;;;-1:-1:-1;;22821:16:201;;;22835:1;22821:16;;;;;;;;;22750:34;;-1:-1:-1;22835:1:201;-1:-1:-1;22821:16:201;;;;;;;;;;;-1:-1:-1;22821:16:201;22794:43;;22866:12;22848;22861:1;22848:15;;;;;;;;;;;;;:30;-1:-1:-1;;;;;22848:30:201;;;-1:-1:-1;;;;;22848:30:201;;;;;22912:9;22888:18;22907:1;22888:21;;;;;;;;;;;;;:33;;;;;22953:37;22977:12;22953:23;:37::i;:::-;22932:15;22948:1;22932:18;;;;;;;2967:751:450;3386:23;3412:69;3440:4;3412:69;;;;;;;;;;;;;;;;;3420:5;-1:-1:-1;;;;;3412:27:450;;;:69;;;;;:::i;:::-;3495:17;;3386:95;;-1:-1:-1;3495:21:450;3491:221;;3635:10;3624:30;;;;;;;;;;;;:::i;:::-;3616:85;;;;-1:-1:-1;;;3616:85:450;;;;;;;:::i;3581:193:451:-;3684:12;3715:52;3737:6;3745:4;3751:1;3754:12;3715:21;:52::i;:::-;3708:59;;3581:193;;;;;;:::o;4608:523::-;4735:12;4792:5;4767:21;:30;;4759:81;;;;-1:-1:-1;;;4759:81:451;;;;;;;:::i;:::-;4858:18;4869:6;4858:10;:18::i;:::-;4850:60;;;;-1:-1:-1;;;4850:60:451;;;;;;;:::i;:::-;4981:12;4995:23;5022:6;-1:-1:-1;;;;;5022:11:451;5042:5;5050:4;5022:33;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4980:75;;;;5072:52;5090:7;5099:10;5111:12;5072:17;:52::i;:::-;5065:59;;;;4608:523;;;;;;;:::o;726:413::-;1086:20;1124:8;;;726:413::o;7091:725::-;7206:12;7234:7;7230:580;;;-1:-1:-1;7264:10:451;7257:17;;7230:580;7375:17;;:21;7371:429;;7633:10;7627:17;7693:15;7680:10;7676:2;7672:19;7665:44;7582:145;7772:12;7765:20;;-1:-1:-1;;;7765:20:451;;;;;;;;:::i;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5:130::-;72:20;;97:33;72:20;97:33;:::i;142:134::-;220:13;;238:33;220:13;238:33;:::i;458:722::-;;586:3;579:4;571:6;567:17;563:27;553:2;;604:1;601;594:12;553:2;634:6;628:13;656:80;671:64;728:6;671:64;:::i;:::-;656:80;:::i;:::-;647:89;;753:5;778:6;771:5;764:21;808:4;800:6;796:17;786:27;;830:4;825:3;821:14;814:21;;883:6;930:3;922:4;914:6;910:17;905:3;901:27;898:36;895:2;;;947:1;944;937:12;895:2;972:1;957:217;982:6;979:1;976:13;957:217;;;1040:3;1062:48;1106:3;1094:10;1062:48;:::i;:::-;1050:61;;-1:-1;1134:4;1125:14;;;;1153;;;;;1004:1;997:9;957:217;;;961:14;546:634;;;;;;;:::o;1205:719::-;;1332:3;1325:4;1317:6;1313:17;1309:27;1299:2;;1350:1;1347;1340:12;1299:2;1380:6;1374:13;1402:79;1417:63;1473:6;1417:63;:::i;1402:79::-;1393:88;;1498:5;1523:6;1516:5;1509:21;1553:4;1545:6;1541:17;1531:27;;1575:4;1570:3;1566:14;1559:21;;1628:6;1675:3;1667:4;1659:6;1655:17;1650:3;1646:27;1643:36;1640:2;;;1692:1;1689;1682:12;1640:2;1717:1;1702:216;1727:6;1724:1;1721:13;1702:216;;;1785:3;1807:47;1850:3;1838:10;1807:47;:::i;:::-;1795:60;;-1:-1;1878:4;1869:14;;;;1897;;;;;1749:1;1742:9;1702:216;;1980:782;;2140:3;2133:4;2125:6;2121:17;2117:27;2107:2;;2158:1;2155;2148:12;2107:2;2188:6;2182:13;2210:112;2225:96;2314:6;2225:96;:::i;2210:112::-;2350:21;;;2394:4;2382:17;;;;2201:121;;-1:-1;2407:14;;2382:17;2502:1;2487:269;2512:6;2509:1;2506:13;2487:269;;;2588:3;2582:10;2574:6;2570:23;2612:80;2688:3;2676:10;2612:80;:::i;:::-;2600:93;;-1:-1;2716:4;2707:14;;;;2735;;;;;2534:1;2527:9;2487:269;;2788:722;;2916:3;2909:4;2901:6;2897:17;2893:27;2883:2;;2934:1;2931;2924:12;2883:2;2964:6;2958:13;2986:80;3001:64;3058:6;3001:64;:::i;2986:80::-;2977:89;;3083:5;3108:6;3101:5;3094:21;3138:4;3130:6;3126:17;3116:27;;3160:4;3155:3;3151:14;3144:21;;3213:6;3260:3;3252:4;3244:6;3240:17;3235:3;3231:27;3228:36;3225:2;;;3277:1;3274;3267:12;3225:2;3302:1;3287:217;3312:6;3309:1;3306:13;3287:217;;;3370:3;3392:48;3436:3;3424:10;3392:48;:::i;:::-;3380:61;;-1:-1;3464:4;3455:14;;;;3483;;;;;3334:1;3327:9;3287:217;;3518:128;3593:13;;3611:30;3593:13;3611:30;:::i;3653:134::-;3731:13;;3749:33;3731:13;3749:33;:::i;3794:128::-;3860:20;;3885:32;3860:20;3885:32;:::i;3943:336::-;;;4057:3;4050:4;4042:6;4038:17;4034:27;4024:2;;4075:1;4072;4065:12;4024:2;-1:-1;4095:20;;-1:-1;;;;;4124:30;;4121:2;;;4167:1;4164;4157:12;4121:2;4201:4;4193:6;4189:17;4177:29;;4252:3;4244:4;4236:6;4232:17;4222:8;4218:32;4215:41;4212:2;;;4269:1;4266;4259:12;4212:2;4017:262;;;;;:::o;4288:442::-;;4400:3;4393:4;4385:6;4381:17;4377:27;4367:2;;4418:1;4415;4408:12;4367:2;4448:6;4442:13;4470:64;4485:48;4526:6;4485:48;:::i;4470:64::-;4461:73;;4554:6;4547:5;4540:21;4590:4;4582:6;4578:17;4623:4;4616:5;4612:16;4658:3;4649:6;4644:3;4640:16;4637:25;4634:2;;;4675:1;4672;4665:12;4634:2;4685:39;4717:6;4712:3;4707;4685:39;:::i;:::-;4360:370;;;;;;;:::o;4738:162::-;4830:13;;4848:47;4830:13;4848:47;:::i;5090:1086::-;;5222:4;5210:9;5205:3;5201:19;5197:30;5194:2;;;5240:1;5237;5230:12;5194:2;5258:20;5273:4;5258:20;:::i;:::-;5249:29;-1:-1;5330:1;5362:60;5418:3;5398:9;5362:60;:::i;:::-;5337:86;;-1:-1;5492:2;5525:60;5581:3;5557:22;;;5525:60;:::i;:::-;5518:4;5511:5;5507:16;5500:86;5444:153;5656:2;5689:60;5745:3;5736:6;5725:9;5721:22;5689:60;:::i;:::-;5682:4;5675:5;5671:16;5664:86;5607:154;5813:2;5846:60;5902:3;5893:6;5882:9;5878:22;5846:60;:::i;:::-;5839:4;5832:5;5828:16;5821:86;5771:147;5993:3;5982:9;5978:19;5972:26;-1:-1;;;;;6010:6;6007:30;6004:2;;;6050:1;6047;6040:12;6004:2;6085:69;6150:3;6141:6;6130:9;6126:22;6085:69;:::i;:::-;6078:4;6071:5;6067:16;6060:95;5928:238;5188:988;;;;:::o;6231:1136::-;;6367:4;6355:9;6350:3;6346:19;6342:30;6339:2;;;6385:1;6382;6375:12;6339:2;6403:20;6418:4;6403:20;:::i;:::-;6475:24;;6394:29;;-1:-1;;;;;;6508:30;;6505:2;;;6551:1;6548;6541:12;6505:2;6586:85;6667:3;6658:6;6647:9;6643:22;6586:85;:::i;:::-;6561:111;;-1:-1;6756:2;6741:18;;6735:25;-1:-1;;;;;6769:30;;6766:2;;;6812:1;6809;6802:12;6766:2;6847:85;6928:3;6919:6;6908:9;6904:22;6847:85;:::i;:::-;6840:4;6833:5;6829:16;6822:111;6693:251;7019:2;7008:9;7004:18;6998:25;-1:-1;;;;;7035:6;7032:30;7029:2;;;7075:1;7072;7065:12;7029:2;7110:69;7175:3;7166:6;7155:9;7151:22;7110:69;:::i;:::-;7103:4;7096:5;7092:16;7085:95;6954:237;7255:2;7288:57;7341:3;7332:6;7321:9;7317:22;7288:57;:::i;:::-;7281:4;7274:5;7270:16;7263:83;7201:156;6333:1034;;;;:::o;7515:263::-;;7630:2;7618:9;7609:7;7605:23;7601:32;7598:2;;;7646:1;7643;7636:12;7598:2;7681:1;7698:64;7754:7;7734:9;7698:64;:::i;8071:1371::-;;;;;;;8365:3;8353:9;8344:7;8340:23;8336:33;8333:2;;;8382:1;8379;8372:12;8333:2;8417:1;8434:72;8498:7;8478:9;8434:72;:::i;:::-;8424:82;;8396:116;8543:2;8561:64;8617:7;8608:6;8597:9;8593:22;8561:64;:::i;:::-;8551:74;;8522:109;8662:2;8680:64;8736:7;8727:6;8716:9;8712:22;8680:64;:::i;:::-;8670:74;;8641:109;8802:2;8791:9;8787:18;8781:25;-1:-1;;;;;8818:6;8815:30;8812:2;;;8858:1;8855;8848:12;8812:2;8878:89;8959:7;8950:6;8939:9;8935:22;8878:89;:::i;:::-;8868:99;;8760:213;9025:3;9014:9;9010:19;9004:26;-1:-1;;;;;9042:6;9039:30;9036:2;;;9082:1;9079;9072:12;9036:2;9102:89;9183:7;9174:6;9163:9;9159:22;9102:89;:::i;:::-;9092:99;;8983:214;9249:3;9238:9;9234:19;9228:26;-1:-1;;;;;9266:6;9263:30;9260:2;;;9306:1;9303;9296:12;9260:2;9326:100;9418:7;9409:6;9398:9;9394:22;9326:100;:::i;:::-;9316:110;;9207:225;8327:1115;;;;;;;;:::o;9449:415::-;;;9589:2;9577:9;9568:7;9564:23;9560:32;9557:2;;;9605:1;9602;9595:12;9557:2;9640:1;9657:72;9721:7;9701:9;9657:72;:::i;:::-;9647:82;;9619:116;9766:2;9784:64;9840:7;9831:6;9820:9;9816:22;9784:64;:::i;:::-;9774:74;;9745:109;9551:313;;;;;:::o;9871:613::-;;;;;10027:2;10015:9;10006:7;10002:23;9998:32;9995:2;;;10043:1;10040;10033:12;9995:2;10078:1;10095:53;10140:7;10120:9;10095:53;:::i;:::-;10085:63;;10057:97;10185:2;10203:52;10247:7;10238:6;10227:9;10223:22;10203:52;:::i;:::-;10193:62;;10164:97;10320:2;10309:9;10305:18;10292:32;-1:-1;;;;;10336:6;10333:30;10330:2;;;10376:1;10373;10366:12;10330:2;10404:64;10460:7;10451:6;10440:9;10436:22;10404:64;:::i;:::-;9989:495;;;;-1:-1;10386:82;-1:-1;;;;9989:495::o;10491:739::-;;;;;;10667:2;10655:9;10646:7;10642:23;10638:32;10635:2;;;10683:1;10680;10673:12;10635:2;10718:1;10735:53;10780:7;10760:9;10735:53;:::i;:::-;10725:63;;10697:97;10853:2;10842:9;10838:18;10825:32;-1:-1;;;;;10869:6;10866:30;10863:2;;;10909:1;10906;10899:12;10863:2;10937:64;10993:7;10984:6;10973:9;10969:22;10937:64;:::i;:::-;10919:82;;;;10804:203;11066:2;11055:9;11051:18;11038:32;-1:-1;;;;;11082:6;11079:30;11076:2;;;11122:1;11119;11112:12;11076:2;11150:64;11206:7;11197:6;11186:9;11182:22;11150:64;:::i;:::-;11132:82;;;;11017:203;10629:601;;;;;;;;:::o;11237:657::-;;;11419:2;11407:9;11398:7;11394:23;11390:32;11387:2;;;11435:1;11432;11425:12;11387:2;11470:24;;-1:-1;;;;;11503:30;;11500:2;;;11546:1;11543;11536:12;11500:2;11566:89;11647:7;11638:6;11627:9;11623:22;11566:89;:::i;:::-;11556:99;;11449:212;11713:2;11702:9;11698:18;11692:25;-1:-1;;;;;11729:6;11726:30;11723:2;;;11769:1;11766;11759:12;11723:2;11789:89;11870:7;11861:6;11850:9;11846:22;11789:89;:::i;11901:390::-;;12040:2;12028:9;12019:7;12015:23;12011:32;12008:2;;;12056:1;12053;12046:12;12008:2;12091:24;;-1:-1;;;;;12124:30;;12121:2;;;12167:1;12164;12157:12;12121:2;12187:88;12267:7;12258:6;12247:9;12243:22;12187:88;:::i;12298:257::-;;12410:2;12398:9;12389:7;12385:23;12381:32;12378:2;;;12426:1;12423;12416:12;12378:2;12461:1;12478:61;12531:7;12511:9;12478:61;:::i;12562:1415::-;;;;;;12890:3;12878:9;12869:7;12865:23;12861:33;12858:2;;;12907:1;12904;12897:12;12858:2;12942:1;12959:78;13029:7;13009:9;12959:78;:::i;:::-;12949:88;;12921:122;13095:2;13084:9;13080:18;13074:25;-1:-1;;;;;13111:6;13108:30;13105:2;;;13151:1;13148;13141:12;13105:2;13171:121;13284:7;13275:6;13264:9;13260:22;13171:121;:::i;:::-;13161:131;;13053:245;13350:2;13339:9;13335:18;13329:25;-1:-1;;;;;13366:6;13363:30;13360:2;;;13406:1;13403;13396:12;13360:2;13426:89;13507:7;13498:6;13487:9;13483:22;13426:89;:::i;:::-;13416:99;;13308:213;13573:2;13562:9;13558:18;13552:25;-1:-1;;;;;13589:6;13586:30;13583:2;;;13629:1;13626;13619:12;13583:2;13649:88;13729:7;13720:6;13709:9;13705:22;13649:88;:::i;:::-;13639:98;;13531:212;13795:3;13784:9;13780:19;13774:26;-1:-1;;;;;13812:6;13809:30;13806:2;;;13852:1;13849;13842:12;13806:2;13872:89;13953:7;13944:6;13933:9;13929:22;13872:89;:::i;:::-;13862:99;;13753:214;12852:1125;;;;;;;;:::o;13984:263::-;;14099:2;14087:9;14078:7;14074:23;14070:32;14067:2;;;14115:1;14112;14105:12;14067:2;14150:1;14167:64;14223:7;14203:9;14167:64;:::i;14255:173::-;;14342:46;14384:3;14376:6;14342:46;:::i;:::-;-1:-1;;14417:4;14408:14;;14335:93::o;14437:169::-;;14522:44;14562:3;14554:6;14522:44;:::i;14615:281::-;;14780:110;14886:3;14878:6;14780:110;:::i;15086:127::-;15175:32;15201:5;15175:32;:::i;:::-;15170:3;15163:45;15157:56;;:::o;15625:670::-;;15760:54;15808:5;15760:54;:::i;:::-;15827:76;15896:6;15891:3;15827:76;:::i;:::-;15820:83;;15924:56;15974:5;15924:56;:::i;:::-;16000:7;16028:1;16013:260;16038:6;16035:1;16032:13;16013:260;;;16105:6;16099:13;16126:63;16185:3;16170:13;16126:63;:::i;:::-;16119:70;;16206:60;16259:6;16206:60;:::i;:::-;16196:70;-1:-1;;16060:1;16053:9;16013:260;;;-1:-1;16286:3;;15739:556;-1:-1;;;;;15739:556::o;16334:690::-;;16479:54;16527:5;16479:54;:::i;:::-;16546:86;16625:6;16620:3;16546:86;:::i;:::-;16539:93;;16653:56;16703:5;16653:56;:::i;:::-;16729:7;16757:1;16742:260;16767:6;16764:1;16761:13;16742:260;;;16834:6;16828:13;16855:63;16914:3;16899:13;16855:63;:::i;:::-;16848:70;;16935:60;16988:6;16935:60;:::i;:::-;16925:70;-1:-1;;16789:1;16782:9;16742:260;;17061:682;;17204:53;17251:5;17204:53;:::i;:::-;17270:85;17348:6;17343:3;17270:85;:::i;:::-;17263:92;;17376:55;17425:5;17376:55;:::i;:::-;17451:7;17479:1;17464:257;17489:6;17486:1;17483:13;17464:257;;;17556:6;17550:13;17577:61;17634:3;17619:13;17577:61;:::i;:::-;17570:68;;17655:59;17707:6;17655:59;:::i;:::-;17645:69;-1:-1;;17511:1;17504:9;17464:257;;17842:1104;;18051:86;18131:5;18051:86;:::i;:::-;18150:118;18261:6;18256:3;18150:118;:::i;:::-;18143:125;;18291:3;18333:4;18325:6;18321:17;18316:3;18312:27;18360:88;18442:5;18360:88;:::i;:::-;18468:7;18496:1;18481:426;18506:6;18503:1;18500:13;18481:426;;;18568:9;18562:4;18558:20;18553:3;18546:33;18613:6;18607:13;18635:128;18758:4;18743:13;18635:128;:::i;:::-;18627:136;;18780:92;18865:6;18780:92;:::i;:::-;18895:4;18886:14;;;;;18770:102;-1:-1;;18528:1;18521:9;18481:426;;;-1:-1;18920:4;;18030:916;-1:-1;;;;;;;18030:916::o;18985:670::-;;19120:54;19168:5;19120:54;:::i;:::-;19187:76;19256:6;19251:3;19187:76;:::i;:::-;19180:83;;19284:56;19334:5;19284:56;:::i;:::-;19360:7;19388:1;19373:260;19398:6;19395:1;19392:13;19373:260;;;19465:6;19459:13;19486:63;19545:3;19530:13;19486:63;:::i;:::-;19479:70;;19566:60;19619:6;19566:60;:::i;:::-;19556:70;-1:-1;;19420:1;19413:9;19373:260;;19694:690;;19839:54;19887:5;19839:54;:::i;:::-;19906:86;19985:6;19980:3;19906:86;:::i;:::-;19899:93;;20013:56;20063:5;20013:56;:::i;:::-;20089:7;20117:1;20102:260;20127:6;20124:1;20121:13;20102:260;;;20194:6;20188:13;20215:63;20274:3;20259:13;20215:63;:::i;:::-;20208:70;;20295:60;20348:6;20295:60;:::i;:::-;20285:70;-1:-1;;20149:1;20142:9;20102:260;;20392:94;20459:21;20474:5;20459:21;:::i;20604:103::-;20677:24;20695:5;20677:24;:::i;20834:110::-;20915:23;20932:5;20915:23;:::i;20951:323::-;;21051:38;21083:5;21051:38;:::i;:::-;21101:60;21154:6;21149:3;21101:60;:::i;:::-;21094:67;;21166:52;21211:6;21206:3;21199:4;21192:5;21188:16;21166:52;:::i;:::-;21239:29;21261:6;21239:29;:::i;:::-;21230:39;;;;21031:243;-1:-1;;;21031:243::o;21281:356::-;;21409:38;21441:5;21409:38;:::i;:::-;21459:88;21540:6;21535:3;21459:88;:::i;:::-;21452:95;;21552:52;21597:6;21592:3;21585:4;21578:5;21574:16;21552:52;:::i;:::-;21616:16;;;;;21389:248;-1:-1;;21389:248::o;21644:176::-;21752:62;21808:5;21752:62;:::i;21827:150::-;21922:49;21965:5;21922:49;:::i;22446:380::-;;22606:67;22670:2;22665:3;22606:67;:::i;:::-;22706:34;22686:55;;-1:-1;;;22770:2;22761:12;;22754:35;22817:2;22808:12;;22592:234;-1:-1;;22592:234::o;22835:376::-;;22995:67;23059:2;23054:3;22995:67;:::i;:::-;23095:34;23075:55;;-1:-1;;;23159:2;23150:12;;23143:31;23202:2;23193:12;;22981:230;-1:-1;;22981:230::o;23220:374::-;;23380:67;23444:2;23439:3;23380:67;:::i;:::-;23480:34;23460:55;;-1:-1;;;23544:2;23535:12;;23528:29;23585:2;23576:12;;23366:228;-1:-1;;23366:228::o;23603:375::-;;23763:67;23827:2;23822:3;23763:67;:::i;:::-;23863:34;23843:55;;-1:-1;;;23927:2;23918:12;;23911:30;23969:2;23960:12;;23749:229;-1:-1;;23749:229::o;23987:387::-;;24147:67;24211:2;24206:3;24147:67;:::i;:::-;24247:34;24227:55;;-1:-1;;;24311:2;24302:12;;24295:42;24365:2;24356:12;;24133:241;-1:-1;;24133:241::o;24383:332::-;;24543:67;24607:2;24602:3;24543:67;:::i;:::-;24643:34;24623:55;;24706:2;24697:12;;24529:186;-1:-1;;24529:186::o;24724:374::-;;24884:67;24948:2;24943:3;24884:67;:::i;:::-;24984:34;24964:55;;-1:-1;;;25048:2;25039:12;;25032:29;25089:2;25080:12;;24870:228;-1:-1;;24870:228::o;25107:329::-;;25267:67;25331:2;25326:3;25267:67;:::i;:::-;25367:31;25347:52;;25427:2;25418:12;;25253:183;-1:-1;;25253:183::o;25445:379::-;;25605:67;25669:2;25664:3;25605:67;:::i;:::-;25705:34;25685:55;;-1:-1;;;25769:2;25760:12;;25753:34;25815:2;25806:12;;25591:233;-1:-1;;25591:233::o;25833:391::-;;25993:67;26057:2;26052:3;25993:67;:::i;:::-;26093:34;26073:55;;-1:-1;;;26157:2;26148:12;;26141:46;26215:2;26206:12;;25979:245;-1:-1;;25979:245::o;26233:376::-;;26393:67;26457:2;26452:3;26393:67;:::i;:::-;26493:34;26473:55;;-1:-1;;;26557:2;26548:12;;26541:31;26600:2;26591:12;;26379:230;-1:-1;;26379:230::o;26702:1060::-;26925:23;;26702:1060;;26857:4;26848:14;;;26954:63;26852:3;26925:23;26954:63;:::i;:::-;26877:146;27104:4;27097:5;27093:16;27087:23;27116:63;27173:4;27168:3;27164:14;27150:12;27116:63;:::i;:::-;27033:152;27267:4;27260:5;27256:16;27250:23;27279:63;27336:4;27331:3;27327:14;27313:12;27279:63;:::i;:::-;27195:153;27423:4;27416:5;27412:16;27406:23;27435:63;27492:4;27487:3;27483:14;27469:12;27435:63;:::i;:::-;27358:146;27581:4;27574:5;27570:16;27564:23;27633:3;27627:4;27623:14;27616:4;27611:3;27607:14;27600:38;27653:71;27719:4;27705:12;27653:71;:::i;:::-;27645:79;26830:932;-1:-1;;;;;26830:932::o;27856:839::-;28083:23;;28015:4;28006:14;;;28112:63;28010:3;28083:23;28112:63;:::i;:::-;28035:146;28269:4;28262:5;28258:16;28252:23;28281:57;28332:4;28327:3;28323:14;28309:12;28281:57;:::i;:::-;28191:153;28422:4;28415:5;28411:16;28405:23;28434:79;28507:4;28502:3;28498:14;28484:12;28434:79;:::i;:::-;28354:165;28605:4;28598:5;28594:16;28588:23;28617:57;28668:4;28663:3;28659:14;28645:12;28617:57;:::i;28795:1127::-;29036:23;;28968:4;29072:38;;;28795:1127;;28959:14;;;;29125:103;28959:14;29036:23;29125:103;:::i;:::-;29117:111;;28988:252;29315:4;29308:5;29304:16;29298:23;29367:3;29361:4;29357:14;29350:4;29345:3;29341:14;29334:38;29387:103;29485:4;29471:12;29387:103;:::i;:::-;29379:111;;29250:252;29579:4;29572:5;29568:16;29562:23;29631:3;29625:4;29621:14;29614:4;29609:3;29605:14;29598:38;29651:71;29717:4;29703:12;29651:71;:::i;:::-;29643:79;;29512:222;29821:4;29814:5;29810:16;29804:23;29833:57;29884:4;29879:3;29875:14;29861:12;29833:57;:::i;:::-;-1:-1;29913:4;28941:981;-1:-1;;;28941:981::o;30159:271::-;;30312:93;30401:3;30392:6;30312:93;:::i;30437:222::-;30564:2;30549:18;;30578:71;30553:9;30622:6;30578:71;:::i;30666:333::-;30821:2;30806:18;;30835:71;30810:9;30879:6;30835:71;:::i;:::-;30917:72;30985:2;30974:9;30970:18;30961:6;30917:72;:::i;31006:544::-;31211:3;31196:19;;31226:71;31200:9;31270:6;31226:71;:::i;:::-;31308:72;31376:2;31365:9;31361:18;31352:6;31308:72;:::i;:::-;31391;31459:2;31448:9;31444:18;31435:6;31391:72;:::i;:::-;31474:66;31536:2;31525:9;31521:18;31512:6;31474:66;:::i;31557:333::-;31712:2;31697:18;;31726:71;31701:9;31770:6;31726:71;:::i;:::-;31808:72;31876:2;31865:9;31861:18;31852:6;31808:72;:::i;31897:432::-;32074:2;32059:18;;32088:71;32063:9;32132:6;32088:71;:::i;:::-;32170:72;32238:2;32227:9;32223:18;32214:6;32170:72;:::i;:::-;32253:66;32315:2;32304:9;32300:18;32291:6;32253:66;:::i;32336:780::-;32635:3;32620:19;;32650:71;32624:9;32694:6;32650:71;:::i;:::-;32732:72;32800:2;32789:9;32785:18;32776:6;32732:72;:::i;:::-;32815:88;32899:2;32888:9;32884:18;32875:6;32815:88;:::i;:::-;32951:9;32945:4;32941:20;32936:2;32925:9;32921:18;32914:48;32976:130;33101:4;33092:6;32976:130;:::i;:::-;32968:138;32606:510;-1:-1;;;;;;32606:510::o;33878:218::-;34003:2;33988:18;;34017:69;33992:9;34059:6;34017:69;:::i;34103:1310::-;34567:3;34552:19;;34582:96;34556:9;34651:6;34582:96;:::i;:::-;34726:9;34720:4;34716:20;34711:2;34700:9;34696:18;34689:48;34751:108;34854:4;34845:6;34751:108;:::i;:::-;34743:116;;34907:9;34901:4;34897:20;34892:2;34881:9;34877:18;34870:48;34932:108;35035:4;35026:6;34932:108;:::i;:::-;34924:116;;35088:9;35082:4;35078:20;35073:2;35062:9;35058:18;35051:48;35113:108;35216:4;35207:6;35113:108;:::i;:::-;35105:116;;35270:9;35264:4;35260:20;35254:3;35243:9;35239:19;35232:49;35295:108;35398:4;35389:6;35295:108;:::i;:::-;35287:116;34538:875;-1:-1;;;;;;;34538:875::o;35420:1504::-;35977:3;35962:19;;35992:83;35966:9;36048:6;35992:83;:::i;:::-;36123:9;36117:4;36113:20;36108:2;36097:9;36093:18;36086:48;36148:172;36315:4;36306:6;36148:172;:::i;:::-;36140:180;;36368:9;36362:4;36358:20;36353:2;36342:9;36338:18;36331:48;36393:108;36496:4;36487:6;36393:108;:::i;:::-;36385:116;;36512:138;36646:2;36635:9;36631:18;36622:6;36512:138;:::i;:::-;36699:9;36693:4;36689:20;36683:3;36672:9;36668:19;36661:49;36724:106;36825:4;36816:6;36724:106;:::i;:::-;36716:114;;36841:73;36909:3;36898:9;36894:19;36885:6;36841:73;:::i;36931:310::-;37078:2;37092:47;;;37063:18;;37153:78;37063:18;37217:6;37153:78;:::i;37248:416::-;37448:2;37462:47;;;37433:18;;37523:131;37433:18;37523:131;:::i;37671:416::-;37871:2;37885:47;;;37856:18;;37946:131;37856:18;37946:131;:::i;38094:416::-;38294:2;38308:47;;;38279:18;;38369:131;38279:18;38369:131;:::i;38517:416::-;38717:2;38731:47;;;38702:18;;38792:131;38702:18;38792:131;:::i;38940:416::-;39140:2;39154:47;;;39125:18;;39215:131;39125:18;39215:131;:::i;39363:416::-;39563:2;39577:47;;;39548:18;;39638:131;39548:18;39638:131;:::i;39786:416::-;39986:2;40000:47;;;39971:18;;40061:131;39971:18;40061:131;:::i;40209:416::-;40409:2;40423:47;;;40394:18;;40484:131;40394:18;40484:131;:::i;40632:416::-;40832:2;40846:47;;;40817:18;;40907:131;40817:18;40907:131;:::i;41055:416::-;41255:2;41269:47;;;41240:18;;41330:131;41240:18;41330:131;:::i;41478:416::-;41678:2;41692:47;;;41663:18;;41753:131;41663:18;41753:131;:::i;41901:256::-;41963:2;41957:9;41989:17;;;-1:-1;;;;;42049:34;;42085:22;;;42046:62;42043:2;;;42121:1;42118;42111:12;42043:2;42137;42130:22;41941:216;;-1:-1;41941:216::o;42164:304::-;;-1:-1;;;;;42315:6;42312:30;42309:2;;;42355:1;42352;42345:12;42309:2;-1:-1;42390:4;42378:17;;;42443:15;;42246:222::o;43439:321::-;;-1:-1;;;;;43574:6;43571:30;43568:2;;;43614:1;43611;43604:12;43568:2;-1:-1;43745:4;43681;43658:17;;;;-1:-1;;43654:33;43735:15;;43505:255::o;43767:151::-;43891:4;43882:14;;43839:79::o;44430:137::-;44533:12;;44504:63::o;45786:168::-;45894:19;;;45943:4;45934:14;;45887:67::o;47404:91::-;;47466:24;47484:5;47466:24;:::i;47608:85::-;47674:13;47667:21;;47650:43::o;47700:72::-;47762:5;47745:27::o;47779:144::-;-1:-1;;;;;;47840:78;;47823:100::o;47930:160::-;48019:5;48025:60;48019:5;48025:60;:::i;48097:134::-;48173:5;48179:47;48173:5;48179:47;:::i;48316:121::-;-1:-1;;;;;48378:54;;48361:76::o;48523:160::-;;48627:51;48672:5;48627:51;:::i;48690:134::-;;48781:38;48813:5;48781:38;:::i;48832:268::-;48897:1;48904:101;48918:6;48915:1;48912:13;48904:101;;;48985:11;;;48979:18;48966:11;;;48959:39;48940:2;48933:10;48904:101;;;49020:6;49017:1;49014:13;49011:2;;;-1:-1;;49085:1;49067:16;;49060:27;48881:219::o;49108:97::-;49196:2;49176:14;-1:-1;;49172:28;;49156:49::o;49213:118::-;49309:1;49302:5;49299:12;49289:2;;49315:9;49338:105;49421:1;49414:5;49411:12;49401:2;;49427:9;49450:117;49519:24;49537:5;49519:24;:::i;:::-;49512:5;49509:35;49499:2;;49558:1;49555;49548:12;49714:111;49780:21;49795:5;49780:21;:::i;49832:117::-;49901:24;49919:5;49901:24;:::i;49956:115::-;50024:23;50041:5;50024:23;:::i;50078:108::-;50161:1;50154:5;50151:12;50141:2;;50177:1;50174;50167:12", "linkReferences": {}, "immutableReferences": { "41869": [ { "start": 7640, "length": 32 } ], "49791": [ { "start": 550, "length": 32 }, { "start": 1837, "length": 32 }, { "start": 2162, "length": 32 }, { "start": 2325, "length": 32 }, { "start": 2755, "length": 32 }, { "start": 3198, "length": 32 }, { "start": 3279, "length": 32 } ], "50133": [ { "start": 872, "length": 32 }, { "start": 3746, "length": 32 }, { "start": 4186, "length": 32 }, { "start": 4667, "length": 32 }, { "start": 7933, "length": 32 }, { "start": 8101, "length": 32 } ] } }, "methodIdentifiers": { "CLAIM_REWARDS_SELECTOR()": "40da225d", "LEND_AND_STAKE_SELECTOR()": "131461c0", "LEND_SELECTOR()": "257cb1a3", "REDEEM_SELECTOR()": "f7d882b5", "STAKE_SELECTOR()": "3ffc1591", "TAKE_MULTIPLE_ORDERS_SELECTOR()": "c32990a2", "TAKE_ORDER_SELECTOR()": "863e5ad0", "UNSTAKE_AND_REDEEM_SELECTOR()": "080456c1", "UNSTAKE_SELECTOR()": "b23228cf", "claimRewards(address,bytes,bytes)": "b9dfbacc", "getIntegrationManager()": "e7c45690", "lendAndStake(address,bytes,bytes)": "29fa046e", "parseAssetsForAction(address,bytes4,bytes)": "c54efee5", "stake(address,bytes,bytes)": "fa7dd04d", "takeOrder(address,bytes,bytes)": "03e38a2b", "unstake(address,bytes,bytes)": "68e30677", "unstakeAndRedeem(address,bytes,bytes)": "8334eb99" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_integrationManager\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_balancerVault\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_stakingWrapperFactory\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"CLAIM_REWARDS_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LEND_AND_STAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LEND_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"REDEEM_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"STAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TAKE_MULTIPLE_ORDERS_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TAKE_ORDER_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UNSTAKE_AND_REDEEM_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UNSTAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"claimRewards\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getIntegrationManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"integrationManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"lendAndStake\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"_selector\",\"type\":\"bytes4\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"}],\"name\":\"parseAssetsForAction\",\"outputs\":[{\"internalType\":\"enum IIntegrationManager.SpendAssetsHandleType\",\"name\":\"spendAssetsHandleType_\",\"type\":\"uint8\"},{\"internalType\":\"address[]\",\"name\":\"spendAssets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"spendAssetAmounts_\",\"type\":\"uint256[]\"},{\"internalType\":\"address[]\",\"name\":\"incomingAssets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"minIncomingAssetAmounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"stake\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"takeOrder\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"unstake\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"unstakeAndRedeem\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"claimRewards(address,bytes,bytes)\":{\"details\":\"Needs `onlyIntegrationManager` because Minter claiming permission is given by the fund\",\"params\":{\"_actionData\":\"Data specific to this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}},\"getIntegrationManager()\":{\"returns\":{\"integrationManager_\":\"The `INTEGRATION_MANAGER` variable value\"}},\"lendAndStake(address,bytes,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}},\"parseAssetsForAction(address,bytes4,bytes)\":{\"params\":{\"_actionData\":\"The encoded parameters for the callOnIntegration\",\"_selector\":\"The function selector for the callOnIntegration\"},\"returns\":{\"incomingAssets_\":\"The assets to receive in the call\",\"minIncomingAssetAmounts_\":\"The min asset amounts to receive in the call\",\"spendAssetAmounts_\":\"The max asset amounts to spend in the call\",\"spendAssetsHandleType_\":\"A type that dictates how to handle granting the adapter access to spend assets (`None` by default)\",\"spendAssets_\":\"The assets to spend in the call\"}},\"stake(address,bytes,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}},\"takeOrder(address,bytes,bytes)\":{\"details\":\"All `_actionData` inputs are Balancer `batchSwap()` params, with the exception of `stakingTokens`. \\\"Spend assets\\\" and \\\"incoming assets\\\" are parsed from the `limits` values corresponding to `assets`: - limit > 0 is a spend asset - limit < 0 is an incoming asset (including a partially-consumed intermediary asset) - limit == 0 is an intermediary asset that is completely consumed in the swap This function can also used for \\\"LPing\\\" with ComposableStablePool instances, since those pools contain their own BPT as an underlying asset. `stakingTokens` facilitates \\\"lend and stake\\\" and \\\"unstake and redeem\\\"-like functionality for such pools. If `stakingTokens[i]` is non-empty, it is considered to be the actual spend/incoming asset that must be unstaked to / staked from the BPT specified in `assets[i]` before/after the batchSawp().\",\"params\":{\"_actionData\":\"Data specific to this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}},\"unstake(address,bytes,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}},\"unstakeAndRedeem(address,bytes,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}}},\"title\":\"AuraBalancerV2LpStakingAdapter Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"claimRewards(address,bytes,bytes)\":{\"notice\":\"Claims all rewards\"},\"getIntegrationManager()\":{\"notice\":\"Gets the `INTEGRATION_MANAGER` variable\"},\"lendAndStake(address,bytes,bytes)\":{\"notice\":\"Lends assets for LP tokens, then stakes the received LP tokens\"},\"parseAssetsForAction(address,bytes4,bytes)\":{\"notice\":\"Parses the expected assets to receive from a call on integration\"},\"stake(address,bytes,bytes)\":{\"notice\":\"Stakes LP tokens\"},\"takeOrder(address,bytes,bytes)\":{\"notice\":\"Swaps assets on Balancer via batchSwap()\"},\"unstake(address,bytes,bytes)\":{\"notice\":\"Unstakes LP tokens\"},\"unstakeAndRedeem(address,bytes,bytes)\":{\"notice\":\"Unstakes LP tokens, then redeems them\"}},\"notice\":\"Adapter for staking Balancer pool tokens via Aura with optional combined end-to-end liquidity provision via Balancer\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/integration-manager/integrations/adapters/AuraBalancerV2LpStakingAdapter.sol\":\"AuraBalancerV2LpStakingAdapter\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/release/extensions/integration-manager/IIntegrationManager.sol\":{\"keccak256\":\"0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23\",\"dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk\"]},\"contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol\":{\"keccak256\":\"0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336\",\"dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS\"]},\"contracts/release/extensions/integration-manager/integrations/adapters/AuraBalancerV2LpStakingAdapter.sol\":{\"keccak256\":\"0x25756a6041d14bbae9b52e0ba070d3fa9106c30ce6d4984a40d77ccda0fb3a33\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6485de3b935e690e33032b1fecb8e4d602d7d4f3a9da00b8dc70e346a5b5e2a6\",\"dweb:/ipfs/QmcxFX1sdhPWkFk64LuXoEoh9KC4fz3HYfeJaqmFPNcWvv\"]},\"contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol\":{\"keccak256\":\"0x067e49bf0d3c1655ab41a413c65ccf61d4e593308132e1ffc484a0fadfbbaf26\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://387f425017e18e89cc1893521101fa99df595314847d0b3d9a1162369f714fcf\",\"dweb:/ipfs/Qmco3jCvuWAyfCpBYpGzHrQjiFJG63w1RJKcakoTEbxRQm\"]},\"contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol\":{\"keccak256\":\"0xfd34c7ca8231c6935e25dede32ca2b3121738e624d0fc896f7b895a731edcf88\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d492c061963d36d07718446db191d4c5a340c0d847f6cd209f027bd99f7cb176\",\"dweb:/ipfs/QmfCvRZt56ftDdrEh6LepHXFJ4fVtcfpQGvEyY8k4zxG1A\"]},\"contracts/release/extensions/integration-manager/integrations/utils/actions/BalancerV2ActionsMixin.sol\":{\"keccak256\":\"0xf2411ca1c42e8881a6aed8381294a03e363738bb4bf7b030dad47871ba27411f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://7916355a56eaa4337d28019dc84249e9e5abe5cc188718f11f945d92afc593f0\",\"dweb:/ipfs/QmXSe7UDdrutvCf5RujJxeurLUEotkTzm8Tn27xDqvwc6X\"]},\"contracts/release/extensions/integration-manager/integrations/utils/actions/StakingWrapperActionsMixin.sol\":{\"keccak256\":\"0x3b3cf5217bfdb046eb76336fbdb95e0bc389dee5964b1067f0239338acccea08\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://7ee1ece29be26ef9d16370487950bbbe2e8371642dd3f5c661423f59bf6d7072\",\"dweb:/ipfs/QmfXvVKe78qCysfTLb8WQzUCnKmBPpgFhF6aK13ZsEUoRK\"]},\"contracts/release/extensions/integration-manager/integrations/utils/bases/BalancerV2LiquidityAdapterBase.sol\":{\"keccak256\":\"0x584e1b88ebc1c7911d8df42b3f4d7739863a5c9922e3d007a0e97b261c24ff71\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://55299164a30b0e3170d3c9d4973559afa609410d19ff6c177fd4f7879ba11959\",\"dweb:/ipfs/QmaviuM17N3UtGmwo67MAavncrKWv99PnDx3yv2kUqoe3T\"]},\"contracts/release/infrastructure/staking-wrappers/IStakingWrapper.sol\":{\"keccak256\":\"0xaeb9aba4e74eb3243a85090fded7b157969cf83e1f4159b1da2f662a3e7b15be\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://92346911c044a54808d2d425fe58c6dc9594dfafb8d83496f6599e3bc23803d0\",\"dweb:/ipfs/QmYWf7yx9ZfUnP81K1hjvApthqNhpXzUhGuFBm4gX1aDRB\"]},\"contracts/release/infrastructure/staking-wrappers/StakingWrapperBase.sol\":{\"keccak256\":\"0x3e28050fbe625f1469701b231772ce321e719ddbce4f84b6caa1d8d634a4234a\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f0871b7d6b595e444e598f68751225a596d969267c289a465462fdeb67530fc8\",\"dweb:/ipfs/QmX2z5QGP3kpKx9ruGnZHYH5bDCD9sjRGTRhg9SRiowctg\"]},\"contracts/release/infrastructure/staking-wrappers/StakingWrapperLibBase.sol\":{\"keccak256\":\"0x94d4057419743d9354d77774e1e5279a5ed2fc70012ef28115357f9921bfb5be\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d1e461f460a0339cada6cdfb0107bde47d236b336fec0ed470235ce7928666bb\",\"dweb:/ipfs/QmcMzSrcWTKyqgBAACVCidd2dpMfbeUtcQYu4D1ASiyFzk\"]},\"contracts/release/infrastructure/staking-wrappers/aura-balancer-v2-lp/AuraBalancerV2LpStakingWrapperFactory.sol\":{\"keccak256\":\"0x5d350891df10d2874125741a6346e91a8d05995df035e914676fab1ffaa45562\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5cd06518169b6df46ed6778b7f13b8b7bd27a6806932347f6ed0fdf68f464c03\",\"dweb:/ipfs/QmTburYKxytgdccKgKJVNX4HCFfxGTRZWSb3yjYJyootSi\"]},\"contracts/release/infrastructure/staking-wrappers/convex-curve-lp/ConvexCurveLpStakingWrapperFactory.sol\":{\"keccak256\":\"0x4f7394dea52858ea7734ed8586377d1ebef39e1ca6aa5ed684fea7a7fe82b16a\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c7a5181757151d6210193dfa97b3076edcfe3017b4fefbfbbe3ab848878d5996\",\"dweb:/ipfs/Qme9tTYoAhMkHVLbwKQoSdVJTec1p9zAPwzSe7RZFvnkYu\"]},\"contracts/release/infrastructure/staking-wrappers/convex-curve-lp/ConvexCurveLpStakingWrapperLib.sol\":{\"keccak256\":\"0x1ec08f37e592766bb7f0d62edb04261bcd3c26154bb5dc437465f836fabf3427\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://0265250d2255bcb61fdb1842e7dbb26e4d56a11a1e3fd87f0790644277bb7259\",\"dweb:/ipfs/Qmb5kVMTr86qYkJu8o1YNwnCrbUJMhmhnFHMrdx2vZhdED\"]},\"contracts/release/interfaces/IBalancerV2Vault.sol\":{\"keccak256\":\"0xb3c8da122ab160129c74ffeb0310ff96c4977d65eef12888bc1a8276fa2a3fd2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c9c89c1e04327c6fa45fbdf9ae8fd132ed95c9101ab49d078ef99c6590c30867\",\"dweb:/ipfs/QmWKrLQg5xBVmi6snaAwU3zUTjxQ6ugYj6n45x1hqRxv9A\"]},\"contracts/release/interfaces/IConvexBaseRewardPool.sol\":{\"keccak256\":\"0x7c82b546c3c339c6f602191bc9062d6887af7db438800359c0547aa6bb025acc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://13a488b1d715000d1ed9415917a8f9c347ec91b04770b74746facacd88e2e105\",\"dweb:/ipfs/QmaHJKxagREc7Mbq8SkSbWgzwk8bNSFTwojAD5hNemwy1Y\"]},\"contracts/release/interfaces/IConvexBooster.sol\":{\"keccak256\":\"0x6e7561d2d7e71a0c89a6e62445de5c54c2e50d17877b23d8b5af10721dd90ed5\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://772cf7f429a04a557d3b0ed36a73390da64fd93a9df253e0c7e9ebeeecd063ea\",\"dweb:/ipfs/QmXjfnXmtGV67wypxof8nWVTkXAEZqBpFjYePfr17K8rAL\"]},\"contracts/release/interfaces/IConvexVirtualBalanceRewardPool.sol\":{\"keccak256\":\"0x45a7d783e4088cf1b5dcb548da2fce6b0caa9c572c43af9f39aff46498fa101c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://82ed678230fe900991bd81a6c31dae01d120fe5521f96d1cc36c40334385f907\",\"dweb:/ipfs/QmYre4JtyoXmetrYUwFMrPKwBY1NEm2XYdgMiAR7Z7P2jW\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"contracts/release/utils/beacon-proxy/BeaconProxy.sol\":{\"keccak256\":\"0x7a0a6c511a30434a9b329226b0cf1a05ec426ddbfc4e1d9b9083978ee4cf6d53\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://692d3a116ecf306f20a3d29dc70846099ce46ba281524a502336325a6cd05667\",\"dweb:/ipfs/QmTGxmDWMcMtGEsPLzVB8eyK3WDqaCwoChuc24RXuSzwVb\"]},\"contracts/release/utils/beacon-proxy/BeaconProxyFactory.sol\":{\"keccak256\":\"0xd35fa5134e3a8694ed1dbbc8dcd4b4d5b459608c23097a95984e1b98af3e64d9\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1c008f83ac64b316479406cbf0287593a810d453825a2f669b5810c51429f9fc\",\"dweb:/ipfs/QmNtdtcWGZFpnb3LsshwV5BiM5H1Vz8SGpoqMchUyfuhQx\"]},\"contracts/release/utils/beacon-proxy/IBeacon.sol\":{\"keccak256\":\"0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39\",\"dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V\"]},\"contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol\":{\"keccak256\":\"0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be\",\"dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]},\"node_modules/@openzeppelin/contracts/utils/ReentrancyGuard.sol\":{\"keccak256\":\"0x8bbbc2f5c10065ee272592ae0a7a6ceb23de2fbd81564ee0bb015ecf404d5f61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b95e56c1640d0ef789fc5c16269e141e992f6c8ac97cc6d377bd3825e9cab182\",\"dweb:/ipfs/QmVzaxJZY51EhagrcNnkxoU6Uq17RhATe7aHvtkC6wUkgK\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_integrationManager", "type": "address" }, { "internalType": "address", "name": "_balancerVault", "type": "address" }, { "internalType": "address", "name": "_stakingWrapperFactory", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "CLAIM_REWARDS_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "LEND_AND_STAKE_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "LEND_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "REDEEM_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "STAKE_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "TAKE_MULTIPLE_ORDERS_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "TAKE_ORDER_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "UNSTAKE_AND_REDEEM_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "UNSTAKE_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "bytes", "name": "_actionData", "type": "bytes" }, { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "claimRewards" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getIntegrationManager", "outputs": [ { "internalType": "address", "name": "integrationManager_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "bytes", "name": "_actionData", "type": "bytes" }, { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "lendAndStake" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "bytes4", "name": "_selector", "type": "bytes4" }, { "internalType": "bytes", "name": "_actionData", "type": "bytes" } ], "stateMutability": "view", "type": "function", "name": "parseAssetsForAction", "outputs": [ { "internalType": "enum IIntegrationManager.SpendAssetsHandleType", "name": "spendAssetsHandleType_", "type": "uint8" }, { "internalType": "address[]", "name": "spendAssets_", "type": "address[]" }, { "internalType": "uint256[]", "name": "spendAssetAmounts_", "type": "uint256[]" }, { "internalType": "address[]", "name": "incomingAssets_", "type": "address[]" }, { "internalType": "uint256[]", "name": "minIncomingAssetAmounts_", "type": "uint256[]" } ] }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "bytes", "name": "_actionData", "type": "bytes" }, { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "stake" }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "bytes", "name": "_actionData", "type": "bytes" }, { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "takeOrder" }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "bytes", "name": "_actionData", "type": "bytes" }, { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "unstake" }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "bytes", "name": "_actionData", "type": "bytes" }, { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "unstakeAndRedeem" } ], "devdoc": { "kind": "dev", "methods": { "claimRewards(address,bytes,bytes)": { "details": "Needs `onlyIntegrationManager` because Minter claiming permission is given by the fund", "params": { "_actionData": "Data specific to this action", "_vaultProxy": "The VaultProxy of the calling fund" } }, "getIntegrationManager()": { "returns": { "integrationManager_": "The `INTEGRATION_MANAGER` variable value" } }, "lendAndStake(address,bytes,bytes)": { "params": { "_actionData": "Data specific to this action", "_vaultProxy": "The VaultProxy of the calling fund" } }, "parseAssetsForAction(address,bytes4,bytes)": { "params": { "_actionData": "The encoded parameters for the callOnIntegration", "_selector": "The function selector for the callOnIntegration" }, "returns": { "incomingAssets_": "The assets to receive in the call", "minIncomingAssetAmounts_": "The min asset amounts to receive in the call", "spendAssetAmounts_": "The max asset amounts to spend in the call", "spendAssetsHandleType_": "A type that dictates how to handle granting the adapter access to spend assets (`None` by default)", "spendAssets_": "The assets to spend in the call" } }, "stake(address,bytes,bytes)": { "params": { "_actionData": "Data specific to this action", "_vaultProxy": "The VaultProxy of the calling fund" } }, "takeOrder(address,bytes,bytes)": { "details": "All `_actionData` inputs are Balancer `batchSwap()` params, with the exception of `stakingTokens`. \"Spend assets\" and \"incoming assets\" are parsed from the `limits` values corresponding to `assets`: - limit > 0 is a spend asset - limit < 0 is an incoming asset (including a partially-consumed intermediary asset) - limit == 0 is an intermediary asset that is completely consumed in the swap This function can also used for \"LPing\" with ComposableStablePool instances, since those pools contain their own BPT as an underlying asset. `stakingTokens` facilitates \"lend and stake\" and \"unstake and redeem\"-like functionality for such pools. If `stakingTokens[i]` is non-empty, it is considered to be the actual spend/incoming asset that must be unstaked to / staked from the BPT specified in `assets[i]` before/after the batchSawp().", "params": { "_actionData": "Data specific to this action", "_vaultProxy": "The VaultProxy of the calling fund" } }, "unstake(address,bytes,bytes)": { "params": { "_actionData": "Data specific to this action", "_vaultProxy": "The VaultProxy of the calling fund" } }, "unstakeAndRedeem(address,bytes,bytes)": { "params": { "_actionData": "Data specific to this action", "_vaultProxy": "The VaultProxy of the calling fund" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "claimRewards(address,bytes,bytes)": { "notice": "Claims all rewards" }, "getIntegrationManager()": { "notice": "Gets the `INTEGRATION_MANAGER` variable" }, "lendAndStake(address,bytes,bytes)": { "notice": "Lends assets for LP tokens, then stakes the received LP tokens" }, "parseAssetsForAction(address,bytes4,bytes)": { "notice": "Parses the expected assets to receive from a call on integration" }, "stake(address,bytes,bytes)": { "notice": "Stakes LP tokens" }, "takeOrder(address,bytes,bytes)": { "notice": "Swaps assets on Balancer via batchSwap()" }, "unstake(address,bytes,bytes)": { "notice": "Unstakes LP tokens" }, "unstakeAndRedeem(address,bytes,bytes)": { "notice": "Unstakes LP tokens, then redeems them" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/integration-manager/integrations/adapters/AuraBalancerV2LpStakingAdapter.sol": "AuraBalancerV2LpStakingAdapter" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/dispatcher/IDispatcher.sol": { "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", "urls": [ "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/IIntegrationManager.sol": { "keccak256": "0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef", "urls": [ "bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23", "dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol": { "keccak256": "0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1", "urls": [ "bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336", "dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/adapters/AuraBalancerV2LpStakingAdapter.sol": { "keccak256": "0x25756a6041d14bbae9b52e0ba070d3fa9106c30ce6d4984a40d77ccda0fb3a33", "urls": [ "bzz-raw://6485de3b935e690e33032b1fecb8e4d602d7d4f3a9da00b8dc70e346a5b5e2a6", "dweb:/ipfs/QmcxFX1sdhPWkFk64LuXoEoh9KC4fz3HYfeJaqmFPNcWvv" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol": { "keccak256": "0x067e49bf0d3c1655ab41a413c65ccf61d4e593308132e1ffc484a0fadfbbaf26", "urls": [ "bzz-raw://387f425017e18e89cc1893521101fa99df595314847d0b3d9a1162369f714fcf", "dweb:/ipfs/Qmco3jCvuWAyfCpBYpGzHrQjiFJG63w1RJKcakoTEbxRQm" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol": { "keccak256": "0xfd34c7ca8231c6935e25dede32ca2b3121738e624d0fc896f7b895a731edcf88", "urls": [ "bzz-raw://d492c061963d36d07718446db191d4c5a340c0d847f6cd209f027bd99f7cb176", "dweb:/ipfs/QmfCvRZt56ftDdrEh6LepHXFJ4fVtcfpQGvEyY8k4zxG1A" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/utils/actions/BalancerV2ActionsMixin.sol": { "keccak256": "0xf2411ca1c42e8881a6aed8381294a03e363738bb4bf7b030dad47871ba27411f", "urls": [ "bzz-raw://7916355a56eaa4337d28019dc84249e9e5abe5cc188718f11f945d92afc593f0", "dweb:/ipfs/QmXSe7UDdrutvCf5RujJxeurLUEotkTzm8Tn27xDqvwc6X" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/utils/actions/StakingWrapperActionsMixin.sol": { "keccak256": "0x3b3cf5217bfdb046eb76336fbdb95e0bc389dee5964b1067f0239338acccea08", "urls": [ "bzz-raw://7ee1ece29be26ef9d16370487950bbbe2e8371642dd3f5c661423f59bf6d7072", "dweb:/ipfs/QmfXvVKe78qCysfTLb8WQzUCnKmBPpgFhF6aK13ZsEUoRK" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/utils/bases/BalancerV2LiquidityAdapterBase.sol": { "keccak256": "0x584e1b88ebc1c7911d8df42b3f4d7739863a5c9922e3d007a0e97b261c24ff71", "urls": [ "bzz-raw://55299164a30b0e3170d3c9d4973559afa609410d19ff6c177fd4f7879ba11959", "dweb:/ipfs/QmaviuM17N3UtGmwo67MAavncrKWv99PnDx3yv2kUqoe3T" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/staking-wrappers/IStakingWrapper.sol": { "keccak256": "0xaeb9aba4e74eb3243a85090fded7b157969cf83e1f4159b1da2f662a3e7b15be", "urls": [ "bzz-raw://92346911c044a54808d2d425fe58c6dc9594dfafb8d83496f6599e3bc23803d0", "dweb:/ipfs/QmYWf7yx9ZfUnP81K1hjvApthqNhpXzUhGuFBm4gX1aDRB" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/staking-wrappers/StakingWrapperBase.sol": { "keccak256": "0x3e28050fbe625f1469701b231772ce321e719ddbce4f84b6caa1d8d634a4234a", "urls": [ "bzz-raw://f0871b7d6b595e444e598f68751225a596d969267c289a465462fdeb67530fc8", "dweb:/ipfs/QmX2z5QGP3kpKx9ruGnZHYH5bDCD9sjRGTRhg9SRiowctg" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/staking-wrappers/StakingWrapperLibBase.sol": { "keccak256": "0x94d4057419743d9354d77774e1e5279a5ed2fc70012ef28115357f9921bfb5be", "urls": [ "bzz-raw://d1e461f460a0339cada6cdfb0107bde47d236b336fec0ed470235ce7928666bb", "dweb:/ipfs/QmcMzSrcWTKyqgBAACVCidd2dpMfbeUtcQYu4D1ASiyFzk" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/staking-wrappers/aura-balancer-v2-lp/AuraBalancerV2LpStakingWrapperFactory.sol": { "keccak256": "0x5d350891df10d2874125741a6346e91a8d05995df035e914676fab1ffaa45562", "urls": [ "bzz-raw://5cd06518169b6df46ed6778b7f13b8b7bd27a6806932347f6ed0fdf68f464c03", "dweb:/ipfs/QmTburYKxytgdccKgKJVNX4HCFfxGTRZWSb3yjYJyootSi" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/staking-wrappers/convex-curve-lp/ConvexCurveLpStakingWrapperFactory.sol": { "keccak256": "0x4f7394dea52858ea7734ed8586377d1ebef39e1ca6aa5ed684fea7a7fe82b16a", "urls": [ "bzz-raw://c7a5181757151d6210193dfa97b3076edcfe3017b4fefbfbbe3ab848878d5996", "dweb:/ipfs/Qme9tTYoAhMkHVLbwKQoSdVJTec1p9zAPwzSe7RZFvnkYu" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/staking-wrappers/convex-curve-lp/ConvexCurveLpStakingWrapperLib.sol": { "keccak256": "0x1ec08f37e592766bb7f0d62edb04261bcd3c26154bb5dc437465f836fabf3427", "urls": [ "bzz-raw://0265250d2255bcb61fdb1842e7dbb26e4d56a11a1e3fd87f0790644277bb7259", "dweb:/ipfs/Qmb5kVMTr86qYkJu8o1YNwnCrbUJMhmhnFHMrdx2vZhdED" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IBalancerV2Vault.sol": { "keccak256": "0xb3c8da122ab160129c74ffeb0310ff96c4977d65eef12888bc1a8276fa2a3fd2", "urls": [ "bzz-raw://c9c89c1e04327c6fa45fbdf9ae8fd132ed95c9101ab49d078ef99c6590c30867", "dweb:/ipfs/QmWKrLQg5xBVmi6snaAwU3zUTjxQ6ugYj6n45x1hqRxv9A" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IConvexBaseRewardPool.sol": { "keccak256": "0x7c82b546c3c339c6f602191bc9062d6887af7db438800359c0547aa6bb025acc", "urls": [ "bzz-raw://13a488b1d715000d1ed9415917a8f9c347ec91b04770b74746facacd88e2e105", "dweb:/ipfs/QmaHJKxagREc7Mbq8SkSbWgzwk8bNSFTwojAD5hNemwy1Y" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IConvexBooster.sol": { "keccak256": "0x6e7561d2d7e71a0c89a6e62445de5c54c2e50d17877b23d8b5af10721dd90ed5", "urls": [ "bzz-raw://772cf7f429a04a557d3b0ed36a73390da64fd93a9df253e0c7e9ebeeecd063ea", "dweb:/ipfs/QmXjfnXmtGV67wypxof8nWVTkXAEZqBpFjYePfr17K8rAL" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IConvexVirtualBalanceRewardPool.sol": { "keccak256": "0x45a7d783e4088cf1b5dcb548da2fce6b0caa9c572c43af9f39aff46498fa101c", "urls": [ "bzz-raw://82ed678230fe900991bd81a6c31dae01d120fe5521f96d1cc36c40334385f907", "dweb:/ipfs/QmYre4JtyoXmetrYUwFMrPKwBY1NEm2XYdgMiAR7Z7P2jW" ], "license": "GPL-3.0" }, "contracts/release/utils/AddressArrayLib.sol": { "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", "urls": [ "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" ], "license": "GPL-3.0" }, "contracts/release/utils/AssetHelpers.sol": { "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", "urls": [ "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" ], "license": "GPL-3.0" }, "contracts/release/utils/beacon-proxy/BeaconProxy.sol": { "keccak256": "0x7a0a6c511a30434a9b329226b0cf1a05ec426ddbfc4e1d9b9083978ee4cf6d53", "urls": [ "bzz-raw://692d3a116ecf306f20a3d29dc70846099ce46ba281524a502336325a6cd05667", "dweb:/ipfs/QmTGxmDWMcMtGEsPLzVB8eyK3WDqaCwoChuc24RXuSzwVb" ], "license": "GPL-3.0" }, "contracts/release/utils/beacon-proxy/BeaconProxyFactory.sol": { "keccak256": "0xd35fa5134e3a8694ed1dbbc8dcd4b4d5b459608c23097a95984e1b98af3e64d9", "urls": [ "bzz-raw://1c008f83ac64b316479406cbf0287593a810d453825a2f669b5810c51429f9fc", "dweb:/ipfs/QmNtdtcWGZFpnb3LsshwV5BiM5H1Vz8SGpoqMchUyfuhQx" ], "license": "GPL-3.0" }, "contracts/release/utils/beacon-proxy/IBeacon.sol": { "keccak256": "0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2", "urls": [ "bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39", "dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V" ], "license": "GPL-3.0" }, "contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol": { "keccak256": "0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc", "urls": [ "bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be", "dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", "urls": [ "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Address.sol": { "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", "urls": [ "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/ReentrancyGuard.sol": { "keccak256": "0x8bbbc2f5c10065ee272592ae0a7a6ceb23de2fbd81564ee0bb015ecf404d5f61", "urls": [ "bzz-raw://b95e56c1640d0ef789fc5c16269e141e992f6c8ac97cc6d377bd3825e9cab182", "dweb:/ipfs/QmVzaxJZY51EhagrcNnkxoU6Uq17RhATe7aHvtkC6wUkgK" ], "license": "MIT" } }, "version": 1 }, "id": 162 } diff --git a/eth_defi/abi/enzyme/AuraBalancerV2LpStakingWrapperFactory.json b/eth_defi/abi/enzyme/AuraBalancerV2LpStakingWrapperFactory.json index 3b4b1807..761385be 100644 --- a/eth_defi/abi/enzyme/AuraBalancerV2LpStakingWrapperFactory.json +++ b/eth_defi/abi/enzyme/AuraBalancerV2LpStakingWrapperFactory.json @@ -1,809 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_dispatcher", - "type": "address" - }, - { - "internalType": "address", - "name": "_auraBooster", - "type": "address" - }, - { - "internalType": "address", - "name": "_balToken", - "type": "address" - }, - { - "internalType": "address", - "name": "_auraToken", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "nextCanonicalLib", - "type": "address" - } - ], - "name": "CanonicalLibSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "caller", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "proxy", - "type": "address" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "constructData", - "type": "bytes" - } - ], - "name": "ProxyDeployed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint256", - "name": "pid", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "wrapperProxy", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "curveLpToken", - "type": "address" - } - ], - "name": "WrapperDeployed", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_pid", - "type": "uint256" - } - ], - "name": "deploy", - "outputs": [ - { - "internalType": "address", - "name": "wrapperProxy_", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "_constructData", - "type": "bytes" - } - ], - "name": "deployProxy", - "outputs": [ - { - "internalType": "address", - "name": "proxy_", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getCanonicalLib", - "outputs": [ - { - "internalType": "address", - "name": "canonicalLib_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_wrapper", - "type": "address" - } - ], - "name": "getCurveLpTokenForWrapper", - "outputs": [ - { - "internalType": "address", - "name": "lpToken_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "owner_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_pid", - "type": "uint256" - } - ], - "name": "getWrapperForConvexPool", - "outputs": [ - { - "internalType": "address", - "name": "wrapper_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_wrappers", - "type": "address[]" - } - ], - "name": "pauseWrappers", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_nextCanonicalLib", - "type": "address" - } - ], - "name": "setCanonicalLib", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_wrappers", - "type": "address[]" - } - ], - "name": "unpauseWrappers", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x60a06040523480156200001157600080fd5b50604051620046ee380380620046ee833981016040819052620000349162000133565b8383838360006200004581620000ba565b50836001600160a01b03166080816001600160a01b031660601b81525050620000ac30848484604051620000799062000112565b620000889493929190620001be565b604051809103906000f080158015620000a5573d6000803e3d6000fd5b50620000ba565b505050505050505062000230565b600080546001600160a01b0319166001600160a01b0383161790556040517f9007c6c0b3b1622c381c19563620e3ce8b824e958af3020495bd6654e8a0310a9062000107908390620001ae565b60405180910390a150565b613552806200119c83390190565b80516200012d8162000216565b92915050565b600080600080608085870312156200014a57600080fd5b600062000158878762000120565b94505060206200016b8782880162000120565b93505060406200017e8782880162000120565b9250506060620001918782880162000120565b91505092959194509250565b620001a88162000204565b82525050565b602081016200012d82846200019d565b60808101620001ce82876200019d565b620001dd60208301866200019d565b620001ec60408301856200019d565b620001fb60608301846200019d565b95945050505050565b60006001600160a01b0382166200012d565b620002218162000204565b81146200022d57600080fd5b50565b60805160601c610f4e6200024e6000398061023a5250610f4e6000f3fe60806040523480156200001157600080fd5b5060043610620000a05760003560e01c80638aeb8b84116200006f5780638aeb8b84146200010c57806397b02f0c146200012557806398a7c4c7146200013c578063a5e387511462000146578063d0ac1a8d146200015d57620000a0565b80630c0872f514620000a55780631c25201c14620000d4578063456b4a3714620000eb578063893d20e81462000102575b600080fd5b620000bc620000b636600462000866565b62000174565b604051620000cb919062000a05565b60405180910390f35b620000bc620000e53660046200089f565b620001fd565b620000bc620000fc366004620007d6565b62000218565b620000bc62000236565b620001236200011d36600462000820565b620002d2565b005b620001236200013636600462000820565b620003bc565b620000bc62000498565b620000bc620001573660046200089f565b620004a7565b620001236200016e366004620007d6565b62000650565b600081306040516200018690620006f3565b6200019392919062000a6f565b604051809103906000f080158015620001b0573d6000803e3d6000fd5b509050336001600160a01b03167f8f1eab90fee81d885732c2e07a3a9b9f6c32278756471123fa57486858c3f7018284604051620001f092919062000a3b565b60405180910390a2919050565b6000908152600160205260409020546001600160a01b031690565b6001600160a01b039081166000908152600260205260409020541690565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b1580156200029257600080fd5b505afa158015620002a7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002cd9190620007ff565b905090565b620002dc62000236565b6001600160a01b0316336001600160a01b031614620003185760405162461bcd60e51b81526004016200030f9062000a93565b60405180910390fd5b60005b81811015620003b7578282828181106200033157fe5b9050602002016020810190620003489190620007d6565b6001600160a01b03166357d159c660006040518263ffffffff1660e01b815260040162000376919062000a5f565b600060405180830381600087803b1580156200039157600080fd5b505af1158015620003a6573d6000803e3d6000fd5b5050600190920191506200031b9050565b505050565b620003c662000236565b6001600160a01b0316336001600160a01b031614620003f95760405162461bcd60e51b81526004016200030f9062000a93565b60005b81811015620003b7578282828181106200041257fe5b9050602002016020810190620004299190620007d6565b6001600160a01b03166357d159c660016040518263ffffffff1660e01b815260040162000457919062000a5f565b600060405180830381600087803b1580156200047257600080fd5b505af115801562000487573d6000803e3d6000fd5b505060019092019150620003fc9050565b6000546001600160a01b031690565b600080620004b583620001fd565b6001600160a01b031614620004de5760405162461bcd60e51b81526004016200030f9062000aa5565b606063b7b0422d60e01b83604051602401620004fb919062000ac9565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915290506200053a8162000174565b600084815260016020908152604080832080546001600160a01b0319166001600160a01b0386169081179091558151632e266ba960e21b81529151949650929363b899aea492600480840193919291829003018186803b1580156200059e57600080fd5b505afa158015620005b3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620005d99190620007ff565b6001600160a01b038481166000908152600260205260409081902080546001600160a01b031916928416929092179091555190915084907fe547dfbae0eb3c2c335669b841fa076eb2a1a64eab9bd2fb49868b5e624586f19062000641908690859062000a15565b60405180910390a25050919050565b6200065a62000236565b6001600160a01b0316336001600160a01b0316146200068d5760405162461bcd60e51b81526004016200030f9062000ab7565b62000698816200069b565b50565b600080546001600160a01b0319166001600160a01b0383161790556040517f9007c6c0b3b1622c381c19563620e3ce8b824e958af3020495bd6654e8a0310a90620006e890839062000a05565b60405180910390a150565b61037e8062000bc483390190565b80356200070e8162000ba1565b92915050565b80516200070e8162000ba1565b60008083601f8401126200073457600080fd5b50813567ffffffffffffffff8111156200074d57600080fd5b6020830191508360208202830111156200076657600080fd5b9250929050565b600082601f8301126200077f57600080fd5b813562000796620007908262000b01565b62000ad9565b91508082526020830160208301858383011115620007b357600080fd5b620007c083828462000b58565b50505092915050565b80356200070e8162000bb8565b600060208284031215620007e957600080fd5b6000620007f7848462000701565b949350505050565b6000602082840312156200081257600080fd5b6000620007f7848462000714565b600080602083850312156200083457600080fd5b823567ffffffffffffffff8111156200084c57600080fd5b6200085a8582860162000721565b92509250509250929050565b6000602082840312156200087957600080fd5b813567ffffffffffffffff8111156200089157600080fd5b620007f7848285016200076d565b600060208284031215620008b257600080fd5b6000620007f78484620007c9565b620008cb8162000b37565b82525050565b620008cb8162000b44565b6000620008e98262000b2a565b620008f5818562000b2e565b93506200090781856020860162000b64565b620009128162000b97565b9093019392505050565b60006200092b60258362000b2e565b7f4f6e6c7920746865206f776e65722063616e2063616c6c20746869732066756e81526431ba34b7b760d91b602082015260400192915050565b600062000974601e8362000b2e565b7f6465706c6f793a205772617070657220616c7265616479206578697374730000815260200192915050565b6000620009af60368362000b2e565b7f73657443616e6f6e6963616c4c69623a204f6e6c7920746865206f776e65722081527531b0b71031b0b636103a3434b990333ab731ba34b7b760511b602082015260400192915050565b620008cb8162000b55565b602081016200070e8284620008c0565b6040810162000a258285620008c0565b62000a346020830184620008c0565b9392505050565b6040810162000a4b8285620008c0565b8181036020830152620007f78184620008dc565b602081016200070e8284620008d1565b6040808252810162000a828185620008dc565b905062000a346020830184620008c0565b602080825281016200070e816200091c565b602080825281016200070e8162000965565b602080825281016200070e81620009a0565b602081016200070e8284620009fa565b60405181810167ffffffffffffffff8111828210171562000af957600080fd5b604052919050565b600067ffffffffffffffff82111562000b1957600080fd5b506020601f91909101601f19160190565b5190565b90815260200190565b60006200070e8262000b49565b151590565b6001600160a01b031690565b90565b82818337506000910152565b60005b8381101562000b8157818101518382015260200162000b67565b8381111562000b91576000848401525b50505050565b601f01601f191690565b62000bac8162000b37565b81146200069857600080fd5b62000bac8162000b5556fe60a060405234801561001057600080fd5b5060405161037e38038061037e8339818101604052604081101561003357600080fd5b810190808051604051939291908464010000000082111561005357600080fd5b90830190602082018581111561006857600080fd5b825164010000000081118282018810171561008257600080fd5b82525081516020918201929091019080838360005b838110156100af578181015183820152602001610097565b50505050905090810190601f1680156100dc5780820380516001836020036101000a031916815260200191505b506040818152602092830151606081811b6001600160601b0319166080526398a7c4c760e01b845291519095506000945090926001600160a01b038616926398a7c4c79260048083019392829003018186803b15801561013b57600080fd5b505afa15801561014f573d6000803e3d6000fd5b505050506040513d602081101561016557600080fd5b505160405185516001600160a01b0390921691869190819060208401908083835b602083106101a55780518252601f199092019160209182019101610186565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610205576040519150601f19603f3d011682016040523d82523d6000602084013e61020a565b606091505b509150915081819061029a5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561025f578181015183820152602001610247565b50505050905090810190601f16801561028c5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050505060805160601c60c56102b960003980600e525060c56000f3fe608060405236600a57005b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166398a7c4c76040518163ffffffff1660e01b815260040160206040518083038186803b158015606457600080fd5b505afa1580156077573d6000803e3d6000fd5b505050506040513d6020811015608c57600080fd5b505190503660008037600080366000846127105a03f43d806000803e81801560b357816000f35b816000fdfea164736f6c634300060c000aa164736f6c634300060c000a6101006040523480156200001257600080fd5b506040516200355238038062003552833981016040819052620000359162000174565b604080516020808201808452600080845284519283019094529281528151879383918391620000689160039190620000c5565b5080516200007e906004906020840190620000c5565b50506005805460ff1916601217905550506001600655506001600160601b0319606091821b811660805293811b841660a05291821b831660c052901b1660e052506200020a565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200010857805160ff191683800117855562000138565b8280016001018555821562000138579182015b82811115620001385782518255916020019190600101906200011b565b50620001469291506200014a565b5090565b5b808211156200014657600081556001016200014b565b80516200016e81620001f0565b92915050565b600080600080608085870312156200018b57600080fd5b600062000199878762000161565b9450506020620001ac8782880162000161565b9350506040620001bf8782880162000161565b9250506060620001d28782880162000161565b91505092959194509250565b60006001600160a01b0382166200016e565b620001fb81620001de565b81146200020757600080fd5b50565b60805160601c60a05160601c60c05160601c60e05160601c6132fc6200025660003980610d12525080610ce95250806108f25280610ae55280611dcd52508061083352506132fc6000f3fe608060405234801561001057600080fd5b50600436106101da5760003560e01c806382e5d07311610104578063b187bd26116100a2578063c4f59f9b11610071578063c4f59f9b146103c6578063d12f8df0146103db578063dd62ed3e146103e3578063ffaad6a5146103f6576101da565b8063b187bd2614610390578063b6b55f2514610398578063b7b0422d146103ab578063b899aea4146103be576101da565b80639655dd61116100de5780639655dd6114610344578063a457c2d714610357578063a7d2793f1461036a578063a9059cbb1461037d576101da565b806382e5d0731461032c5780638757b15b1461033457806395d89b411461033c576101da565b806323b872dd1161017c578063395093511161014b57806339509351146102e057806357d159c6146102f357806370a082311461030657806373e2290c14610319576101da565b806323b872dd146102925780632cfafabe146102a5578063313ce567146102b857806338d07436146102cd576101da565b8063095ea7b3116101b8578063095ea7b31461022757806318160ddd146102475780631ac6d19d1461025c57806320c718101461027d576101da565b80630663b22c146101df57806306fdde03146101e9578063093f636514610207575b600080fd5b6101e7610409565b005b6101f1610597565b6040516101fe9190612f7e565b60405180910390f35b61021a6102153660046125c9565b61062d565b6040516101fe91906130af565b61023a6102353660046126b1565b610688565b6040516101fe9190612f70565b61024f6106a5565b6040516101fe91906130bd565b61026f61026a36600461258d565b6106ab565b6040516101fe929190612f4b565b6102856106f7565b6040516101fe9190612e91565b61023a6102a0366004612603565b610706565b6101e76102b3366004612650565b61078e565b6102c06107bb565b6040516101fe9190613137565b61026f6102db3660046127ef565b6107c0565b61023a6102ee3660046126b1565b6107da565b6101e7610301366004612724565b610828565b61024f61031436600461258d565b6108b9565b6101e76103273660046126e1565b6108d4565b61024f6108e7565b6101e76108ed565b6101f161092e565b61021a61035236600461258d565b61098f565b61023a6103653660046126b1565b6109d9565b6102856103783660046127b3565b610a41565b61023a61038b3660046126b1565b610a6b565b61023a610a7f565b6101e76103a63660046127b3565b610a88565b6101e76103b93660046127b3565b610a96565b610285610d4a565b6103ce610d59565b6040516101fe9190612f3a565b61024f610dba565b61024f6103f13660046125c9565b610dc0565b6101e76104043660046126b1565b610deb565b60006104136106f7565b90506000816001600160a01b031663d55a23f46040518163ffffffff1660e01b815260040160206040518083038186803b15801561045057600080fd5b505afa158015610464573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061048891906127d1565b905060005b8181101561059257604051632061aa2360e11b815261058a906001600160a01b038516906340c35446906104c59085906004016130bd565b60206040518083038186803b1580156104dd57600080fd5b505afa1580156104f1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061051591906125ab565b6001600160a01b031663f7c618c16040518163ffffffff1660e01b815260040160206040518083038186803b15801561054d57600080fd5b505afa158015610561573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061058591906125ab565b610df6565b60010161048d565b505050565b600b8054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156106235780601f106105f857610100808354040283529160200191610623565b820191906000526020600020905b81548152906001019060200180831161060657829003601f168201915b5050505050905090565b610635612381565b506001600160a01b038082166000908152600a602090815260408083209386168352928152908290208251808401909352546001600160801b038082168452600160801b90910416908201525b92915050565b600061069c610695610ee2565b8484610ee6565b50600192915050565b60025490565b606080600260065414156106da5760405162461bcd60e51b81526004016106d19061307f565b60405180910390fd5b60026006556106e883610f9a565b60016006559094909350915050565b600d546001600160a01b031690565b60006107138484846110ef565b6107838461071f610ee2565b61077e856040518060600160405280602881526020016132a3602891396001600160a01b038a1660009081526001602052604081209061075d610ee2565b6001600160a01b031681526020810191909152604001600020549190611153565b610ee6565b5060015b9392505050565b6107a7843361077e856107a18933610dc0565b9061117f565b6107b3848484846111a7565b505050505050565b601290565b6060806107cf333386866111a7565b915091509250929050565b600061069c6107e7610ee2565b8461077e85600160006107f8610ee2565b6001600160a01b03908116825260208083019390935260409182016000908120918c16815292529020549061128a565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146108705760405162461bcd60e51b81526004016106d190612f9f565b6007805460ff19168215151790556040517f9077d36bc00859b5c3f320310707208543dd35092cb0a0fe117d0c6a558b148b906108ae908390612f70565b60405180910390a150565b6001600160a01b031660009081526020819052604090205490565b6108e0338484846111a7565b5050505050565b60085490565b61092c7f000000000000000000000000000000000000000000000000000000000000000060001961091c610d4a565b6001600160a01b031691906112af565b565b600c8054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156106235780601f106105f857610100808354040283529160200191610623565b610997612381565b506001600160a01b03166000908152600960209081526040918290208251808401909352546001600160801b038082168452600160801b909104169082015290565b600061069c6109e6610ee2565b8461077e856040518060600160405280602581526020016132cb6025913960016000610a10610ee2565b6001600160a01b03908116825260208083019390935260409182016000908120918d16815292529020549190611153565b600060088281548110610a5057fe5b6000918252602090912001546001600160a01b031692915050565b600061069c610a78610ee2565b84846110ef565b60075460ff1690565b610a933333836113a9565b50565b6000610aa0610d4a565b6001600160a01b031614610ac65760405162461bcd60e51b81526004016106d19061301f565b610ace612398565b604051631526fe2760e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690631526fe2790610b1a9085906004016130bd565b60c06040518083038186803b158015610b3257600080fd5b505afa158015610b46573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b6a9190612795565b9050610c0c81602001516001600160a01b03166306fdde036040518163ffffffff1660e01b815260040160006040518083038186803b158015610bac57600080fd5b505afa158015610bc0573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610be89190810190612760565b604051602001610bf89190612e6f565b604051602081830303815290604052611485565b610cac81602001516001600160a01b03166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b158015610c4c57600080fd5b505afa158015610c60573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610c889190810190612760565b604051602001610c989190612e86565b6040516020818303038152906040526114c8565b8051600f80546001600160a01b039283166001600160a01b0319918216179091556060830151600d8054919093169116179055600e829055610d0d7f0000000000000000000000000000000000000000000000000000000000000000610df6565b610d367f0000000000000000000000000000000000000000000000000000000000000000610df6565b610d3e610409565b610d466108ed565b5050565b600f546001600160a01b031690565b6060600880548060200260200160405190810160405280929190818152602001828054801561062357602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610d93575050505050905090565b600e5490565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b610d463383836113a9565b610e63816008805480602002602001604051908101604052809291908181526020018280548015610e5057602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610e32575b505050505061150b90919063ffffffff16565b610a9357600880546001810182556000919091527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30180546001600160a01b0319166001600160a01b0383161790556040517ff3e4c2c64e71e6ba2eaab9a599bced62f9eb91d2cda610bf41aa8c80ff2cf826906108ae908390612e91565b3390565b6001600160a01b038316610f0c5760405162461bcd60e51b81526004016106d19061304f565b6001600160a01b038216610f325760405162461bcd60e51b81526004016106d190612fbf565b6001600160a01b0380841660008181526001602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610f8d9085906130bd565b60405180910390a3505050565b606080610fa5610a7f565b610fb157610fb1611561565b6000610fbb6106a5565b600880546040805160208084028201810190925282815293945083018282801561100e57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610ff0575b50505050509250825167ffffffffffffffff8111801561102d57600080fd5b50604051908082528060200260200182016040528015611057578160200160208202803683370190505b50915060005b83518110156110a35761108484828151811061107557fe5b602002602001015186846115e3565b83828151811061109057fe5b602090810291909101015260010161105d565b50836001600160a01b03167fc17f1458d7773c19369fc6c68a3b4c44b675c86c50c997d58853aed5e38de6cd3385856040516110e193929190612e9f565b60405180910390a250915091565b600260065414156111125760405162461bcd60e51b81526004016106d19061307f565b6002600655604080518082019091526001600160a01b0380851682528316602082015261113e9061194b565b6111498383836119b4565b5050600160065550565b600081848411156111775760405162461bcd60e51b81526004016106d19190612f7e565b505050900390565b6000828211156111a15760405162461bcd60e51b81526004016106d190612fdf565b50900390565b606080600260065414156111cd5760405162461bcd60e51b81526004016106d19061307f565b600260065582156111eb576111e186610f9a565b9092509050611211565b604080518082019091526001600160a01b0387168152600060208201526112119061194b565b61121b8685611ac9565b6112258585611bab565b846001600160a01b0316866001600160a01b0316336001600160a01b03167fa4195c37c2947bbe89165f03e320b6903116f0b10d8cfdb522330f7ce6f9fa248760405161127291906130bd565b60405180910390a46001600655909590945092505050565b6000828201838110156107875760405162461bcd60e51b81526004016106d190612fcf565b8015806113375750604051636eb1769f60e11b81526001600160a01b0384169063dd62ed3e906112e59030908690600401612edc565b60206040518083038186803b1580156112fd57600080fd5b505afa158015611311573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061133591906127d1565b155b6113535760405162461bcd60e51b81526004016106d19061308f565b6105928363095ea7b360e01b8484604051602401611372929190612f1f565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152611c51565b600260065414156113cc5760405162461bcd60e51b81526004016106d19061307f565b60026006556113d9610a7f565b156113f65760405162461bcd60e51b81526004016106d190612f8f565b604080518082019091526001600160a01b03831681526000602082015261141c9061194b565b6114268282611ce0565b6114308382611d94565b816001600160a01b0316836001600160a01b03167f8752a472e571a816aea92eec8dae9baf628e840f4929fbcc2d155e6233ff68a78360405161147391906130bd565b60405180910390a35050600160065550565b805161149890600b9060208401906123cd565b507f12e9cab73c0c48661414f76e810af7d10c67f0db958722bf9f26b28a4b4afd69816040516108ae9190612f7e565b80516114db90600c9060208401906123cd565b507f862f26027c5033c09d43eacd856547decb3227c210f6eb7b6bdc0cf5edaa3f4b816040516108ae9190612f7e565b6000805b83518110156115575783818151811061152457fe5b60200260200101516001600160a01b0316836001600160a01b0316141561154f576001915050610682565b60010161150f565b5060009392505050565b611569610409565b6115716106f7565b6001600160a01b0316633d18b9126040518163ffffffff1660e01b8152600401602060405180830381600087803b1580156115ab57600080fd5b505af11580156115bf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a939190612742565b6001600160a01b038316600081815260096020526040808220805491516370a0823160e01b8152929390926001600160801b0390921691849161169e918791906370a0823190611637903090600401612e91565b60206040518083038186803b15801561164f57600080fd5b505afa158015611663573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061168791906127d1565b8554600160801b90046001600160801b0316611e58565b90508015611710576116b0828261128a565b83546001600160801b0319166001600160801b0382161784556040519092506001600160a01b038816907f64dcb34f2e45bc61753d72992aa4199ec96717158435e8085568ff38844bcd1c906117079085906130bd565b60405180910390a25b6001600160a01b038781166000908152600a60209081526040808320938a1683529290522080546001600160801b03600160801b82048116965016838110156117d15781546001600160801b0319166001600160801b03851617825561178161177a898684611ea3565b879061128a565b9550886001600160a01b0316886001600160a01b03167fe3bdf7e684a4024370a702abfcca4a32b08642aadc27065f3356458bd23e977e86896040516117c8929190613101565b60405180910390a35b85156118475781546001600160801b031682556117f86001600160a01b038a168988611ed5565b886001600160a01b0316886001600160a01b03167fe3bdf7e684a4024370a702abfcca4a32b08642aadc27065f3356458bd23e977e86600060405161183e9291906130e6565b60405180910390a35b6040516370a0823160e01b81526000906001600160a01b038b16906370a0823190611876903090600401612e91565b60206040518083038186803b15801561188e57600080fd5b505afa1580156118a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118c691906127d1565b8654909150600160801b90046001600160801b031681101561193e5785546001600160801b03808316600160801b0291161786556040516001600160a01b038b16907fdeb2652df61fdedd2d231dc4d777175097cc26369032d339be2a6db36d7754f2906119359084906130bd565b60405180910390a25b5050505050509392505050565b611953610a7f565b61195f5761195f611561565b60006119696106a5565b60085490915060005b818110156119ae576119a66008828154811061198a57fe5b6000918252602090912001546001600160a01b03168585611ef4565b600101611972565b50505050565b6001600160a01b0383166119da5760405162461bcd60e51b81526004016106d19061303f565b6001600160a01b038216611a005760405162461bcd60e51b81526004016106d190612faf565b611a0b838383610592565b611a488160405180606001604052806026815260200161327d602691396001600160a01b0386166000908152602081905260409020549190611153565b6001600160a01b038085166000908152602081905260408082209390935590841681522054611a77908261128a565b6001600160a01b0380841660008181526020819052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610f8d9085906130bd565b6001600160a01b038216611aef5760405162461bcd60e51b81526004016106d19061302f565b611afb82600083610592565b611b388160405180606001604052806022815260200161325b602291396001600160a01b0385166000908152602081905260409020549190611153565b6001600160a01b038316600090815260208190526040902055600254611b5e908261117f565b6002556040516000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611b9f9085906130bd565b60405180910390a35050565b611bb36106f7565b6001600160a01b031663c32e72028260006040518363ffffffff1660e01b8152600401611be19291906130cb565b602060405180830381600087803b158015611bfb57600080fd5b505af1158015611c0f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c339190612742565b50610d468282611c41610d4a565b6001600160a01b03169190611ed5565b6060611ca6826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166121e59092919063ffffffff16565b8051909150156105925780806020019051810190611cc49190612742565b6105925760405162461bcd60e51b81526004016106d19061306f565b6001600160a01b038216611d065760405162461bcd60e51b81526004016106d19061309f565b611d1260008383610592565b600254611d1f908261128a565b6002556001600160a01b038216600090815260208190526040902054611d45908261128a565b6001600160a01b0383166000818152602081905260408082209390935591519091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611b9f9085906130bd565b611db3823083611da2610d4a565b6001600160a01b03169291906121f4565b600e546040516321d0683360e11b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016916343a0d06691611e069190859060019060040161310f565b602060405180830381600087803b158015611e2057600080fd5b505af1158015611e34573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105929190612742565b60008315611557576000611e6c848461117f565b90508015611e9857611e9085611e8a83670de0b6b3a7640000612215565b9061224f565b915050610787565b505060009392505050565b6000611ecd670de0b6b3a7640000611e8a611ebe868661117f565b611ec7886108b9565b90612215565b949350505050565b6105928363a9059cbb60e01b8484604051602401611372929190612f1f565b6001600160a01b038316600081815260096020526040808220805491516370a0823160e01b815290936001600160801b039092169291906370a0823190611f3f903090600401612e91565b60206040518083038186803b158015611f5757600080fd5b505afa158015611f6b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f8f91906127d1565b8354909150600090611fb49086908490600160801b90046001600160801b0316611e58565b9050801561208157611fc6838261128a565b84546001600160801b0319166001600160801b0382161785556040519093506001600160a01b038816907f64dcb34f2e45bc61753d72992aa4199ec96717158435e8085568ff38844bcd1c9061201d9086906130bd565b60405180910390a283546001600160801b03808416600160801b0291161784556040516001600160a01b038816907fdeb2652df61fdedd2d231dc4d777175097cc26369032d339be2a6db36d7754f2906120789085906130bd565b60405180910390a25b60005b60028110156121db57600087826002811061209b57fe5b60200201516001600160a01b031614156120b4576121d3565b6001600160a01b0388166000908152600a60205260408120818984600281106120d957fe5b602090810291909101516001600160a01b0316825281019190915260400160002080549091506001600160801b0316858110156121d05760006121486121308b866002811061212457fe5b60200201518985611ea3565b8454600160801b90046001600160801b03169061128a565b83546001600160801b03196001600160801b03918216600160801b84841602171690891617845590506001600160a01b038b168a856002811061218757fe5b60200201516001600160a01b03167fe3bdf7e684a4024370a702abfcca4a32b08642aadc27065f3356458bd23e977e89846040516121c6929190613101565b60405180910390a3505b50505b600101612084565b5050505050505050565b6060611ecd8484600085612281565b6119ae846323b872dd60e01b85858560405160240161137293929190612ef7565b60008261222457506000610682565b8282028284828161223157fe5b04146107875760405162461bcd60e51b81526004016106d19061300f565b60008082116122705760405162461bcd60e51b81526004016106d190612fff565b81838161227957fe5b049392505050565b6060824710156122a35760405162461bcd60e51b81526004016106d190612fef565b6122ac85612342565b6122c85760405162461bcd60e51b81526004016106d19061305f565b60006060866001600160a01b031685876040516122e59190612e63565b60006040518083038185875af1925050503d8060008114612322576040519150601f19603f3d011682016040523d82523d6000602084013e612327565b606091505b5091509150612337828286612348565b979650505050505050565b3b151590565b60608315612357575081610787565b8251156123675782518084602001fd5b8160405162461bcd60e51b81526004016106d19190612f7e565b604080518082019091526000808252602082015290565b6040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a081019190915290565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061240e57805160ff191683800117855561243b565b8280016001018555821561243b579182015b8281111561243b578251825591602001919060010190612420565b5061244792915061244b565b5090565b5b80821115612447576000815560010161244c565b803561068281613234565b805161068281613234565b803561068281613248565b805161068281613248565b600082601f83011261249d57600080fd5b81516124b06124ab8261316c565b613145565b915080825260208301602083018583830111156124cc57600080fd5b6124d78382846131fe565b50505092915050565b600060c082840312156124f257600080fd5b6124fc60c0613145565b9050600061250a848461246b565b825250602061251b8484830161246b565b602083015250604061252f8482850161246b565b60408301525060606125438482850161246b565b60608301525060806125578482850161246b565b60808301525060a061256b84828501612481565b60a08301525092915050565b803561068281613251565b805161068281613251565b60006020828403121561259f57600080fd5b6000611ecd8484612460565b6000602082840312156125bd57600080fd5b6000611ecd848461246b565b600080604083850312156125dc57600080fd5b60006125e88585612460565b92505060206125f985828601612460565b9150509250929050565b60008060006060848603121561261857600080fd5b60006126248686612460565b935050602061263586828701612460565b925050604061264686828701612577565b9150509250925092565b6000806000806080858703121561266657600080fd5b60006126728787612460565b945050602061268387828801612460565b935050604061269487828801612577565b92505060606126a587828801612476565b91505092959194509250565b600080604083850312156126c457600080fd5b60006126d08585612460565b92505060206125f985828601612577565b6000806000606084860312156126f657600080fd5b60006127028686612460565b935050602061271386828701612577565b925050604061264686828701612476565b60006020828403121561273657600080fd5b6000611ecd8484612476565b60006020828403121561275457600080fd5b6000611ecd8484612481565b60006020828403121561277257600080fd5b815167ffffffffffffffff81111561278957600080fd5b611ecd8482850161248c565b600060c082840312156127a757600080fd5b6000611ecd84846124e0565b6000602082840312156127c557600080fd5b6000611ecd8484612577565b6000602082840312156127e357600080fd5b6000611ecd8484612582565b6000806040838503121561280257600080fd5b600061280e8585612577565b92505060206125f985828601612476565b600061282b838361284e565b505060200190565b600061282b8383612e51565b612848816131dd565b82525050565b612848816131ac565b60006128628261319a565b61286c818561319e565b935061287783613194565b8060005b838110156128a557815161288f888261281f565b975061289a83613194565b92505060010161287b565b509495945050505050565b60006128bb8261319a565b6128c5818561319e565b93506128d083613194565b8060005b838110156128a55781516128e88882612833565b97506128f383613194565b9250506001016128d4565b612848816131b7565b60006129128261319a565b61291c81856131a7565b935061292c8185602086016131fe565b9290920192915050565b612848816131e8565b600061294a8261319a565b612954818561319e565b93506129648185602086016131fe565b61296d8161322a565b9093019392505050565b600061298460118361319e565b7017d7d9195c1bdcda5d0e8814185d5cd959607a1b815260200192915050565b60006129b160138361319e565b724f6e6c79206f776e65722063616c6c61626c6560681b815260200192915050565b60006129e060238361319e565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647281526265737360e81b602082015260400192915050565b6000612a25600f836131a7565b6e022b73d3cb6b29029ba30b5b2b21d1608d1b8152600f0192915050565b6000612a5060228361319e565b7f45524332303a20617070726f766520746f20746865207a65726f206164647265815261737360f01b602082015260400192915050565b6000612a94601b8361319e565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000612acd601e8361319e565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000612b0660268361319e565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f8152651c8818d85b1b60d21b602082015260400192915050565b6000612b4e601a8361319e565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b6000612b8760218361319e565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000612bca60118361319e565b701a5b9a5d0e88125b9a5d1a585b1a5e9959607a1b815260200192915050565b6000612bf760218361319e565b7f45524332303a206275726e2066726f6d20746865207a65726f206164647265738152607360f81b602082015260400192915050565b6000612c3a60258361319e565b7f45524332303a207472616e736665722066726f6d20746865207a65726f206164815264647265737360d81b602082015260400192915050565b6000612c816003836131a7565b6273746b60e81b815260030192915050565b6000612ca060248361319e565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164648152637265737360e01b602082015260400192915050565b6000612ce6601d8361319e565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000815260200192915050565b6000612d1f602a8361319e565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e8152691bdd081cdd58d8d9595960b21b602082015260400192915050565b6000612d6b601f8361319e565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00815260200192915050565b6000612da460368361319e565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f81527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b602082015260400192915050565b6000612dfc601f8361319e565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300815260200192915050565b80516040830190612e398482612e48565b5060208201516119ae60208501825b612848816131bc565b612848816131d4565b612848816131d7565b60006107878284612907565b6000612e7a82612a18565b91506107878284612907565b6000612e7a82612c74565b60208101610682828461284e565b60608101612ead828661283f565b8181036020830152612ebf8185612857565b90508181036040830152612ed381846128b0565b95945050505050565b60408101612eea828561284e565b610787602083018461284e565b60608101612f05828661284e565b612f12602083018561284e565b611ecd6040830184612e51565b60408101612f2d828561284e565b6107876020830184612e51565b602080825281016107878184612857565b60408082528101612f5c8185612857565b90508181036020830152611ecd81846128b0565b6020810161068282846128fe565b60208082528101610787818461293f565b6020808252810161068281612977565b60208082528101610682816129a4565b60208082528101610682816129d3565b6020808252810161068281612a43565b6020808252810161068281612a87565b6020808252810161068281612ac0565b6020808252810161068281612af9565b6020808252810161068281612b41565b6020808252810161068281612b7a565b6020808252810161068281612bbd565b6020808252810161068281612bea565b6020808252810161068281612c2d565b6020808252810161068281612c93565b6020808252810161068281612cd9565b6020808252810161068281612d12565b6020808252810161068281612d5e565b6020808252810161068281612d97565b6020808252810161068281612def565b604081016106828284612e28565b602081016106828284612e51565b604081016130d98285612e51565b61078760208301846128fe565b604081016130f48285612e51565b6107876020830184612936565b60408101612f2d8285612e51565b6060810161311d8286612e51565b61312a6020830185612e51565b611ecd60408301846128fe565b602081016106828284612e5a565b60405181810167ffffffffffffffff8111828210171561316457600080fd5b604052919050565b600067ffffffffffffffff82111561318357600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b919050565b6000610682826131c8565b151590565b6001600160801b031690565b6001600160a01b031690565b90565b60ff1690565b6000610682826131f3565b6000610682826131d4565b6000610682826131ac565b60005b83811015613219578181015183820152602001613201565b838111156119ae5750506000910152565b601f01601f191690565b61323d816131ac565b8114610a9357600080fd5b61323d816131b7565b61323d816131d456fe45524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa164736f6c634300060c000a", - "sourceMap": "569:339:261:-:0;;;660:246;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;850:11;863:12;877:9;888:10;1342:1:262;787:32:365;1342:1:262;787:17:365;:32::i;:::-;735:91;1390:11:262::1;-1:-1:-1::0;;;;;1356:46:262::1;;;-1:-1:-1::0;;;;;1356:46:262::1;;;;;::::0;::::1;1413:265;1533:4;1560:14;1596:9;1627;1469:185;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;1413:17:262::1;:265::i;:::-;1175:510:::0;;;;660:246:261;;;;569:339;;2101:162:365;2174:12;:32;;-1:-1:-1;;;;;;2174:32:365;-1:-1:-1;;;;;2174:32:365;;;;;2222:34;;;;;;2174:32;;2222:34;:::i;:::-;;;;;;;;2101:162;:::o;569:339:261:-;;;;;;;;:::o;5:134:-1:-;83:13;;101:33;83:13;101:33;:::i;:::-;68:71;;;;:::o;146:672::-;;;;;312:3;300:9;291:7;287:23;283:33;280:2;;;329:1;326;319:12;280:2;364:1;381:64;437:7;417:9;381:64;:::i;:::-;371:74;;343:108;482:2;500:64;556:7;547:6;536:9;532:22;500:64;:::i;:::-;490:74;;461:109;601:2;619:64;675:7;666:6;655:9;651:22;619:64;:::i;:::-;609:74;;580:109;720:2;738:64;794:7;785:6;774:9;770:22;738:64;:::i;:::-;728:74;;699:109;274:544;;;;;;;:::o;825:113::-;908:24;926:5;908:24;:::i;:::-;903:3;896:37;890:48;;:::o;945:222::-;1072:2;1057:18;;1086:71;1061:9;1130:6;1086:71;:::i;1174:556::-;1385:3;1370:19;;1400:71;1374:9;1444:6;1400:71;:::i;:::-;1482:72;1550:2;1539:9;1535:18;1526:6;1482:72;:::i;:::-;1565;1633:2;1622:9;1618:18;1609:6;1565:72;:::i;:::-;1648;1716:2;1705:9;1701:18;1692:6;1648:72;:::i;:::-;1356:374;;;;;;;:::o;1737:91::-;;-1:-1;;;;;1897:54;;1799:24;1880:76::o;1963:117::-;2032:24;2050:5;2032:24;:::i;:::-;2025:5;2022:35;2012:2;;2071:1;2068;2061:12;2012:2;2006:74;:::o;:::-;569:339:261;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x60806040523480156200001157600080fd5b5060043610620000a05760003560e01c80638aeb8b84116200006f5780638aeb8b84146200010c57806397b02f0c146200012557806398a7c4c7146200013c578063a5e387511462000146578063d0ac1a8d146200015d57620000a0565b80630c0872f514620000a55780631c25201c14620000d4578063456b4a3714620000eb578063893d20e81462000102575b600080fd5b620000bc620000b636600462000866565b62000174565b604051620000cb919062000a05565b60405180910390f35b620000bc620000e53660046200089f565b620001fd565b620000bc620000fc366004620007d6565b62000218565b620000bc62000236565b620001236200011d36600462000820565b620002d2565b005b620001236200013636600462000820565b620003bc565b620000bc62000498565b620000bc620001573660046200089f565b620004a7565b620001236200016e366004620007d6565b62000650565b600081306040516200018690620006f3565b6200019392919062000a6f565b604051809103906000f080158015620001b0573d6000803e3d6000fd5b509050336001600160a01b03167f8f1eab90fee81d885732c2e07a3a9b9f6c32278756471123fa57486858c3f7018284604051620001f092919062000a3b565b60405180910390a2919050565b6000908152600160205260409020546001600160a01b031690565b6001600160a01b039081166000908152600260205260409020541690565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b1580156200029257600080fd5b505afa158015620002a7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002cd9190620007ff565b905090565b620002dc62000236565b6001600160a01b0316336001600160a01b031614620003185760405162461bcd60e51b81526004016200030f9062000a93565b60405180910390fd5b60005b81811015620003b7578282828181106200033157fe5b9050602002016020810190620003489190620007d6565b6001600160a01b03166357d159c660006040518263ffffffff1660e01b815260040162000376919062000a5f565b600060405180830381600087803b1580156200039157600080fd5b505af1158015620003a6573d6000803e3d6000fd5b5050600190920191506200031b9050565b505050565b620003c662000236565b6001600160a01b0316336001600160a01b031614620003f95760405162461bcd60e51b81526004016200030f9062000a93565b60005b81811015620003b7578282828181106200041257fe5b9050602002016020810190620004299190620007d6565b6001600160a01b03166357d159c660016040518263ffffffff1660e01b815260040162000457919062000a5f565b600060405180830381600087803b1580156200047257600080fd5b505af115801562000487573d6000803e3d6000fd5b505060019092019150620003fc9050565b6000546001600160a01b031690565b600080620004b583620001fd565b6001600160a01b031614620004de5760405162461bcd60e51b81526004016200030f9062000aa5565b606063b7b0422d60e01b83604051602401620004fb919062000ac9565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915290506200053a8162000174565b600084815260016020908152604080832080546001600160a01b0319166001600160a01b0386169081179091558151632e266ba960e21b81529151949650929363b899aea492600480840193919291829003018186803b1580156200059e57600080fd5b505afa158015620005b3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620005d99190620007ff565b6001600160a01b038481166000908152600260205260409081902080546001600160a01b031916928416929092179091555190915084907fe547dfbae0eb3c2c335669b841fa076eb2a1a64eab9bd2fb49868b5e624586f19062000641908690859062000a15565b60405180910390a25050919050565b6200065a62000236565b6001600160a01b0316336001600160a01b0316146200068d5760405162461bcd60e51b81526004016200030f9062000ab7565b62000698816200069b565b50565b600080546001600160a01b0319166001600160a01b0383161790556040517f9007c6c0b3b1622c381c19563620e3ce8b824e958af3020495bd6654e8a0310a90620006e890839062000a05565b60405180910390a150565b61037e8062000bc483390190565b80356200070e8162000ba1565b92915050565b80516200070e8162000ba1565b60008083601f8401126200073457600080fd5b50813567ffffffffffffffff8111156200074d57600080fd5b6020830191508360208202830111156200076657600080fd5b9250929050565b600082601f8301126200077f57600080fd5b813562000796620007908262000b01565b62000ad9565b91508082526020830160208301858383011115620007b357600080fd5b620007c083828462000b58565b50505092915050565b80356200070e8162000bb8565b600060208284031215620007e957600080fd5b6000620007f7848462000701565b949350505050565b6000602082840312156200081257600080fd5b6000620007f7848462000714565b600080602083850312156200083457600080fd5b823567ffffffffffffffff8111156200084c57600080fd5b6200085a8582860162000721565b92509250509250929050565b6000602082840312156200087957600080fd5b813567ffffffffffffffff8111156200089157600080fd5b620007f7848285016200076d565b600060208284031215620008b257600080fd5b6000620007f78484620007c9565b620008cb8162000b37565b82525050565b620008cb8162000b44565b6000620008e98262000b2a565b620008f5818562000b2e565b93506200090781856020860162000b64565b620009128162000b97565b9093019392505050565b60006200092b60258362000b2e565b7f4f6e6c7920746865206f776e65722063616e2063616c6c20746869732066756e81526431ba34b7b760d91b602082015260400192915050565b600062000974601e8362000b2e565b7f6465706c6f793a205772617070657220616c7265616479206578697374730000815260200192915050565b6000620009af60368362000b2e565b7f73657443616e6f6e6963616c4c69623a204f6e6c7920746865206f776e65722081527531b0b71031b0b636103a3434b990333ab731ba34b7b760511b602082015260400192915050565b620008cb8162000b55565b602081016200070e8284620008c0565b6040810162000a258285620008c0565b62000a346020830184620008c0565b9392505050565b6040810162000a4b8285620008c0565b8181036020830152620007f78184620008dc565b602081016200070e8284620008d1565b6040808252810162000a828185620008dc565b905062000a346020830184620008c0565b602080825281016200070e816200091c565b602080825281016200070e8162000965565b602080825281016200070e81620009a0565b602081016200070e8284620009fa565b60405181810167ffffffffffffffff8111828210171562000af957600080fd5b604052919050565b600067ffffffffffffffff82111562000b1957600080fd5b506020601f91909101601f19160190565b5190565b90815260200190565b60006200070e8262000b49565b151590565b6001600160a01b031690565b90565b82818337506000910152565b60005b8381101562000b8157818101518382015260200162000b67565b8381111562000b91576000848401525b50505050565b601f01601f191690565b62000bac8162000b37565b81146200069857600080fd5b62000bac8162000b5556fe60a060405234801561001057600080fd5b5060405161037e38038061037e8339818101604052604081101561003357600080fd5b810190808051604051939291908464010000000082111561005357600080fd5b90830190602082018581111561006857600080fd5b825164010000000081118282018810171561008257600080fd5b82525081516020918201929091019080838360005b838110156100af578181015183820152602001610097565b50505050905090810190601f1680156100dc5780820380516001836020036101000a031916815260200191505b506040818152602092830151606081811b6001600160601b0319166080526398a7c4c760e01b845291519095506000945090926001600160a01b038616926398a7c4c79260048083019392829003018186803b15801561013b57600080fd5b505afa15801561014f573d6000803e3d6000fd5b505050506040513d602081101561016557600080fd5b505160405185516001600160a01b0390921691869190819060208401908083835b602083106101a55780518252601f199092019160209182019101610186565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610205576040519150601f19603f3d011682016040523d82523d6000602084013e61020a565b606091505b509150915081819061029a5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561025f578181015183820152602001610247565b50505050905090810190601f16801561028c5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050505060805160601c60c56102b960003980600e525060c56000f3fe608060405236600a57005b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166398a7c4c76040518163ffffffff1660e01b815260040160206040518083038186803b158015606457600080fd5b505afa1580156077573d6000803e3d6000fd5b505050506040513d6020811015608c57600080fd5b505190503660008037600080366000846127105a03f43d806000803e81801560b357816000f35b816000fdfea164736f6c634300060c000aa164736f6c634300060c000a", - "sourceMap": "569:339:261:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1019:261:365;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4190:128:262;;;;;;:::i;:::-;;:::i;3855:149::-;;;;;;:::i;:::-;;:::i;3459:120::-;;;:::i;3026:221::-;;;;;;:::i;:::-;;:::i;:::-;;2669:218;;;;;;:::i;:::-;;:::i;1393:116:365:-;;;:::i;1875:660:262:-;;;;;;:::i;:::-;;:::i;1788:257:365:-;;;;;;:::i;:::-;;:::i;1019:261::-;1094:14;1153;1177:4;1137:46;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;1120:64;;1214:10;-1:-1:-1;;;;;1200:49:365;;1226:6;1234:14;1200:49;;;;;;;:::i;:::-;;;;;;;;1019:261;;;:::o;4190:128:262:-;4258:16;4293:18;;;:12;:18;;;;;;-1:-1:-1;;;;;4293:18:262;;4190:128::o;3855:149::-;-1:-1:-1;;;;;3966:31:262;;;3931:16;3966:31;;;:21;:31;;;;;;;;3855:149::o;3459:120::-;3509:14;3542:19;-1:-1:-1;;;;;3542:28:262;;:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3535:37;;3459:120;:::o;3026:221::-;1099:10;:8;:10::i;:::-;-1:-1:-1;;;;;1085:24:262;:10;-1:-1:-1;;;;;1085:24:262;;1077:74;;;;-1:-1:-1;;;1077:74:262;;;;;;;:::i;:::-;;;;;;;;;3115:9:::1;3110:131;3126:20:::0;;::::1;3110:131;;;3198:9;;3208:1;3198:12;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;3167:56:262::1;;3224:5;3167:63;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;3148:3:262::1;::::0;;::::1;::::0;-1:-1:-1;3110:131:262::1;::::0;-1:-1:-1;3110:131:262::1;;;3026:221:::0;;:::o;2669:218::-;1099:10;:8;:10::i;:::-;-1:-1:-1;;;;;1085:24:262;:10;-1:-1:-1;;;;;1085:24:262;;1077:74;;;;-1:-1:-1;;;1077:74:262;;;;;;;:::i;:::-;2756:9:::1;2751:130;2767:20:::0;;::::1;2751:130;;;2839:9;;2849:1;2839:12;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;2808:56:262::1;;2865:4;2808:62;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;2789:3:262::1;::::0;;::::1;::::0;-1:-1:-1;2751:130:262::1;::::0;-1:-1:-1;2751:130:262::1;1393:116:365::0;1450:21;1490:12;-1:-1:-1;;;;;1490:12:365;1393:116;:::o;1875:660:262:-;1923:21;;1964:29;1988:4;1964:23;:29::i;:::-;-1:-1:-1;;;;;1964:43:262;;1956:86;;;;-1:-1:-1;;;1956:86:262;;;;;;;:::i;:::-;2053:26;2118:44;;;2176:4;2082:108;;;;;;;;:::i;:::-;;;;-1:-1:-1;;2082:108:262;;;;;;;;;;;;;;-1:-1:-1;;;;;2082:108:262;-1:-1:-1;;;;;;2082:108:262;;;;;;;;;;;-1:-1:-1;2217:26:262;2082:108;2217:11;:26::i;:::-;2254:18;;;;:12;:18;;;;;;;;:34;;-1:-1:-1;;;;;;2254:34:262;-1:-1:-1;;;;;2254:34:262;;;;;;;;2317:63;;-1:-1:-1;;;2317:63:262;;;;2254:34;;-1:-1:-1;2254:18:262;;2317:61;;:63;;;;;2254:18;;2317:63;;;;;;2254:34;2317:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;2390:36:262;;;;;;;:21;:36;;;;;;;:46;;-1:-1:-1;;;;;;2390:46:262;;;;;;;;;;;2452:45;2390:46;;-1:-1:-1;2468:4:262;;2452:45;;;;2390:36;;:46;;2452:45;:::i;:::-;;;;;;;;2508:20;;1875:660;;;:::o;1788:257:365:-;1901:10;:8;:10::i;:::-;-1:-1:-1;;;;;1887:24:365;:10;-1:-1:-1;;;;;1887:24:365;;1866:125;;;;-1:-1:-1;;;1866:125:365;;;;;;;:::i;:::-;2002:36;2020:17;2002;:36::i;:::-;1788:257;:::o;2101:162::-;2174:12;:32;;-1:-1:-1;;;;;;2174:32:365;-1:-1:-1;;;;;2174:32:365;;;;;2222:34;;;;;;2174:32;;2222:34;:::i;:::-;;;;;;;;2101:162;:::o;-1:-1:-1:-;;;;;;;;:::o;5:130::-;72:20;;97:33;72:20;97:33;:::i;:::-;57:78;;;;:::o;142:134::-;220:13;;238:33;220:13;238:33;:::i;301:352::-;;;431:3;424:4;416:6;412:17;408:27;398:2;;449:1;446;439:12;398:2;-1:-1;469:20;;509:18;498:30;;495:2;;;541:1;538;531:12;495:2;575:4;567:6;563:17;551:29;;626:3;618:4;610:6;606:17;596:8;592:32;589:41;586:2;;;643:1;640;633:12;586:2;391:262;;;;;:::o;662:440::-;;763:3;756:4;748:6;744:17;740:27;730:2;;781:1;778;771:12;730:2;818:6;805:20;840:64;855:48;896:6;855:48;:::i;:::-;840:64;:::i;:::-;831:73;;924:6;917:5;910:21;960:4;952:6;948:17;993:4;986:5;982:16;1028:3;1019:6;1014:3;1010:16;1007:25;1004:2;;;1045:1;1042;1035:12;1004:2;1055:41;1089:6;1084:3;1079;1055:41;:::i;:::-;723:379;;;;;;;:::o;1110:130::-;1177:20;;1202:33;1177:20;1202:33;:::i;1247:241::-;;1351:2;1339:9;1330:7;1326:23;1322:32;1319:2;;;1367:1;1364;1357:12;1319:2;1402:1;1419:53;1464:7;1444:9;1419:53;:::i;:::-;1409:63;1313:175;-1:-1;;;;1313:175::o;1495:263::-;;1610:2;1598:9;1589:7;1585:23;1581:32;1578:2;;;1626:1;1623;1616:12;1578:2;1661:1;1678:64;1734:7;1714:9;1678:64;:::i;1765:397::-;;;1904:2;1892:9;1883:7;1879:23;1875:32;1872:2;;;1920:1;1917;1910:12;1872:2;1955:31;;2006:18;1995:30;;1992:2;;;2038:1;2035;2028:12;1992:2;2066:80;2138:7;2129:6;2118:9;2114:22;2066:80;:::i;:::-;2048:98;;;;1934:218;1866:296;;;;;:::o;2169:345::-;;2282:2;2270:9;2261:7;2257:23;2253:32;2250:2;;;2298:1;2295;2288:12;2250:2;2333:31;;2384:18;2373:30;;2370:2;;;2416:1;2413;2406:12;2370:2;2436:62;2490:7;2481:6;2470:9;2466:22;2436:62;:::i;2521:241::-;;2625:2;2613:9;2604:7;2600:23;2596:32;2593:2;;;2641:1;2638;2631:12;2593:2;2676:1;2693:53;2738:7;2718:9;2693:53;:::i;2769:113::-;2852:24;2870:5;2852:24;:::i;:::-;2847:3;2840:37;2834:48;;:::o;2889:104::-;2966:21;2981:5;2966:21;:::i;3000:343::-;;3110:38;3142:5;3110:38;:::i;:::-;3160:70;3223:6;3218:3;3160:70;:::i;:::-;3153:77;;3235:52;3280:6;3275:3;3268:4;3261:5;3257:16;3235:52;:::i;:::-;3308:29;3330:6;3308:29;:::i;:::-;3299:39;;;;3090:253;-1:-1;;;3090:253::o;3351:374::-;;3511:67;3575:2;3570:3;3511:67;:::i;:::-;3611:34;3591:55;;-1:-1;;;3675:2;3666:12;;3659:29;3716:2;3707:12;;3497:228;-1:-1;;3497:228::o;3734:330::-;;3894:67;3958:2;3953:3;3894:67;:::i;:::-;3994:32;3974:53;;4055:2;4046:12;;3880:184;-1:-1;;3880:184::o;4073:391::-;;4233:67;4297:2;4292:3;4233:67;:::i;:::-;4333:34;4313:55;;-1:-1;;;4397:2;4388:12;;4381:46;4455:2;4446:12;;4219:245;-1:-1;;4219:245::o;4472:113::-;4555:24;4573:5;4555:24;:::i;4592:222::-;4719:2;4704:18;;4733:71;4708:9;4777:6;4733:71;:::i;4821:333::-;4976:2;4961:18;;4990:71;4965:9;5034:6;4990:71;:::i;:::-;5072:72;5140:2;5129:9;5125:18;5116:6;5072:72;:::i;:::-;4947:207;;;;;:::o;5161:417::-;5334:2;5319:18;;5348:71;5323:9;5392:6;5348:71;:::i;:::-;5467:9;5461:4;5457:20;5452:2;5441:9;5437:18;5430:48;5492:76;5563:4;5554:6;5492:76;:::i;5585:210::-;5706:2;5691:18;;5720:65;5695:9;5758:6;5720:65;:::i;5802:417::-;5975:2;5989:47;;;5960:18;;6050:76;5960:18;6112:6;6050:76;:::i;:::-;6042:84;;6137:72;6205:2;6194:9;6190:18;6181:6;6137:72;:::i;6226:416::-;6426:2;6440:47;;;6411:18;;6501:131;6411:18;6501:131;:::i;6649:416::-;6849:2;6863:47;;;6834:18;;6924:131;6834:18;6924:131;:::i;7072:416::-;7272:2;7286:47;;;7257:18;;7347:131;7257:18;7347:131;:::i;7495:222::-;7622:2;7607:18;;7636:71;7611:9;7680:6;7636:71;:::i;7724:256::-;7786:2;7780:9;7812:17;;;7887:18;7872:34;;7908:22;;;7869:62;7866:2;;;7944:1;7941;7934:12;7866:2;7960;7953:22;7764:216;;-1:-1;7764:216::o;7987:321::-;;8130:18;8122:6;8119:30;8116:2;;;8162:1;8159;8152:12;8116:2;-1:-1;8293:4;8229;8206:17;;;;-1:-1;;8202:33;8283:15;;8053:255::o;8315:121::-;8402:12;;8373:63::o;8444:162::-;8546:19;;;8595:4;8586:14;;8539:67::o;8786:91::-;;8848:24;8866:5;8848:24;:::i;8884:85::-;8950:13;8943:21;;8926:43::o;8976:121::-;-1:-1;;;;;9038:54;;9021:76::o;9104:72::-;9166:5;9149:27::o;9184:145::-;9265:6;9260:3;9255;9242:30;-1:-1;9321:1;9303:16;;9296:27;9235:94::o;9338:268::-;9403:1;9410:101;9424:6;9421:1;9418:13;9410:101;;;9491:11;;;9485:18;9472:11;;;9465:39;9446:2;9439:10;9410:101;;;9526:6;9523:1;9520:13;9517:2;;;9591:1;9582:6;9577:3;9573:16;9566:27;9517:2;9387:219;;;;:::o;9614:97::-;9702:2;9682:14;-1:-1;;9678:28;;9662:49::o;9719:117::-;9788:24;9806:5;9788:24;:::i;:::-;9781:5;9778:35;9768:2;;9827:1;9824;9817:12;9843:117;9912:24;9930:5;9912:24;:::i", - "linkReferences": {}, - "immutableReferences": { - "69636": [ - { - "start": 570, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "deploy(uint256)": "a5e38751", - "deployProxy(bytes)": "0c0872f5", - "getCanonicalLib()": "98a7c4c7", - "getCurveLpTokenForWrapper(address)": "456b4a37", - "getOwner()": "893d20e8", - "getWrapperForConvexPool(uint256)": "1c25201c", - "pauseWrappers(address[])": "97b02f0c", - "setCanonicalLib(address)": "d0ac1a8d", - "unpauseWrappers(address[])": "8aeb8b84" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_dispatcher\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_auraBooster\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_balToken\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_auraToken\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"nextCanonicalLib\",\"type\":\"address\"}],\"name\":\"CanonicalLibSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"proxy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"constructData\",\"type\":\"bytes\"}],\"name\":\"ProxyDeployed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"pid\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"wrapperProxy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"curveLpToken\",\"type\":\"address\"}],\"name\":\"WrapperDeployed\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_pid\",\"type\":\"uint256\"}],\"name\":\"deploy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"wrapperProxy_\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_constructData\",\"type\":\"bytes\"}],\"name\":\"deployProxy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"proxy_\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCanonicalLib\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"canonicalLib_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_wrapper\",\"type\":\"address\"}],\"name\":\"getCurveLpTokenForWrapper\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"lpToken_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_pid\",\"type\":\"uint256\"}],\"name\":\"getWrapperForConvexPool\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"wrapper_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_wrappers\",\"type\":\"address[]\"}],\"name\":\"pauseWrappers\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nextCanonicalLib\",\"type\":\"address\"}],\"name\":\"setCanonicalLib\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_wrappers\",\"type\":\"address[]\"}],\"name\":\"unpauseWrappers\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"deploy(uint256)\":{\"params\":{\"_pid\":\"The Convex Curve pool id\"},\"returns\":{\"wrapperProxy_\":\"The staking wrapper proxy contract address\"}},\"deployProxy(bytes)\":{\"params\":{\"_constructData\":\"The constructor data with which to call `init()` on the deployed proxy\"},\"returns\":{\"proxy_\":\"The proxy address\"}},\"getCanonicalLib()\":{\"returns\":{\"canonicalLib_\":\"The canonical lib\"}},\"getCurveLpTokenForWrapper(address)\":{\"params\":{\"_wrapper\":\"The wrapper proxy address\"},\"returns\":{\"lpToken_\":\"The Curve LP token address\"}},\"getOwner()\":{\"returns\":{\"owner_\":\"The contract owner\"}},\"getWrapperForConvexPool(uint256)\":{\"params\":{\"_pid\":\"The Convex pool id\"},\"returns\":{\"wrapper_\":\"The wrapper proxy address\"}},\"pauseWrappers(address[])\":{\"params\":{\"_wrappers\":\"The wrappers to pause\"}},\"setCanonicalLib(address)\":{\"params\":{\"_nextCanonicalLib\":\"The next canonical lib\"}},\"unpauseWrappers(address[])\":{\"params\":{\"_wrappers\":\"The wrappers to unpause\"}}},\"title\":\"AuraBalancerV2LpStakingWrapperFactory Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"deploy(uint256)\":{\"notice\":\"Deploys a staking wrapper for a given Convex pool\"},\"deployProxy(bytes)\":{\"notice\":\"Deploys a new proxy instance\"},\"getCanonicalLib()\":{\"notice\":\"Gets the canonical lib used by all proxies\"},\"getCurveLpTokenForWrapper(address)\":{\"notice\":\"Gets the Curve LP token address for a given wrapper\"},\"getOwner()\":{\"notice\":\"Gets the contract owner\"},\"getWrapperForConvexPool(uint256)\":{\"notice\":\"Gets the wrapper address for a given Convex pool\"},\"pauseWrappers(address[])\":{\"notice\":\"Pause deposits and harvesting new rewards for the given wrappers\"},\"setCanonicalLib(address)\":{\"notice\":\"Sets the next canonical lib used by all proxies\"},\"unpauseWrappers(address[])\":{\"notice\":\"Unpauses deposits and harvesting new rewards for the given wrappers\"}},\"notice\":\"A contract factory for Aura BalancerV2 staking wrapper instances\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/infrastructure/staking-wrappers/aura-balancer-v2-lp/AuraBalancerV2LpStakingWrapperFactory.sol\":\"AuraBalancerV2LpStakingWrapperFactory\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/release/infrastructure/staking-wrappers/IStakingWrapper.sol\":{\"keccak256\":\"0xaeb9aba4e74eb3243a85090fded7b157969cf83e1f4159b1da2f662a3e7b15be\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://92346911c044a54808d2d425fe58c6dc9594dfafb8d83496f6599e3bc23803d0\",\"dweb:/ipfs/QmYWf7yx9ZfUnP81K1hjvApthqNhpXzUhGuFBm4gX1aDRB\"]},\"contracts/release/infrastructure/staking-wrappers/StakingWrapperBase.sol\":{\"keccak256\":\"0x3e28050fbe625f1469701b231772ce321e719ddbce4f84b6caa1d8d634a4234a\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f0871b7d6b595e444e598f68751225a596d969267c289a465462fdeb67530fc8\",\"dweb:/ipfs/QmX2z5QGP3kpKx9ruGnZHYH5bDCD9sjRGTRhg9SRiowctg\"]},\"contracts/release/infrastructure/staking-wrappers/StakingWrapperLibBase.sol\":{\"keccak256\":\"0x94d4057419743d9354d77774e1e5279a5ed2fc70012ef28115357f9921bfb5be\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d1e461f460a0339cada6cdfb0107bde47d236b336fec0ed470235ce7928666bb\",\"dweb:/ipfs/QmcMzSrcWTKyqgBAACVCidd2dpMfbeUtcQYu4D1ASiyFzk\"]},\"contracts/release/infrastructure/staking-wrappers/aura-balancer-v2-lp/AuraBalancerV2LpStakingWrapperFactory.sol\":{\"keccak256\":\"0x5d350891df10d2874125741a6346e91a8d05995df035e914676fab1ffaa45562\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5cd06518169b6df46ed6778b7f13b8b7bd27a6806932347f6ed0fdf68f464c03\",\"dweb:/ipfs/QmTburYKxytgdccKgKJVNX4HCFfxGTRZWSb3yjYJyootSi\"]},\"contracts/release/infrastructure/staking-wrappers/convex-curve-lp/ConvexCurveLpStakingWrapperFactory.sol\":{\"keccak256\":\"0x4f7394dea52858ea7734ed8586377d1ebef39e1ca6aa5ed684fea7a7fe82b16a\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c7a5181757151d6210193dfa97b3076edcfe3017b4fefbfbbe3ab848878d5996\",\"dweb:/ipfs/Qme9tTYoAhMkHVLbwKQoSdVJTec1p9zAPwzSe7RZFvnkYu\"]},\"contracts/release/infrastructure/staking-wrappers/convex-curve-lp/ConvexCurveLpStakingWrapperLib.sol\":{\"keccak256\":\"0x1ec08f37e592766bb7f0d62edb04261bcd3c26154bb5dc437465f836fabf3427\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://0265250d2255bcb61fdb1842e7dbb26e4d56a11a1e3fd87f0790644277bb7259\",\"dweb:/ipfs/Qmb5kVMTr86qYkJu8o1YNwnCrbUJMhmhnFHMrdx2vZhdED\"]},\"contracts/release/interfaces/IConvexBaseRewardPool.sol\":{\"keccak256\":\"0x7c82b546c3c339c6f602191bc9062d6887af7db438800359c0547aa6bb025acc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://13a488b1d715000d1ed9415917a8f9c347ec91b04770b74746facacd88e2e105\",\"dweb:/ipfs/QmaHJKxagREc7Mbq8SkSbWgzwk8bNSFTwojAD5hNemwy1Y\"]},\"contracts/release/interfaces/IConvexBooster.sol\":{\"keccak256\":\"0x6e7561d2d7e71a0c89a6e62445de5c54c2e50d17877b23d8b5af10721dd90ed5\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://772cf7f429a04a557d3b0ed36a73390da64fd93a9df253e0c7e9ebeeecd063ea\",\"dweb:/ipfs/QmXjfnXmtGV67wypxof8nWVTkXAEZqBpFjYePfr17K8rAL\"]},\"contracts/release/interfaces/IConvexVirtualBalanceRewardPool.sol\":{\"keccak256\":\"0x45a7d783e4088cf1b5dcb548da2fce6b0caa9c572c43af9f39aff46498fa101c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://82ed678230fe900991bd81a6c31dae01d120fe5521f96d1cc36c40334385f907\",\"dweb:/ipfs/QmYre4JtyoXmetrYUwFMrPKwBY1NEm2XYdgMiAR7Z7P2jW\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/beacon-proxy/BeaconProxy.sol\":{\"keccak256\":\"0x7a0a6c511a30434a9b329226b0cf1a05ec426ddbfc4e1d9b9083978ee4cf6d53\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://692d3a116ecf306f20a3d29dc70846099ce46ba281524a502336325a6cd05667\",\"dweb:/ipfs/QmTGxmDWMcMtGEsPLzVB8eyK3WDqaCwoChuc24RXuSzwVb\"]},\"contracts/release/utils/beacon-proxy/BeaconProxyFactory.sol\":{\"keccak256\":\"0xd35fa5134e3a8694ed1dbbc8dcd4b4d5b459608c23097a95984e1b98af3e64d9\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1c008f83ac64b316479406cbf0287593a810d453825a2f669b5810c51429f9fc\",\"dweb:/ipfs/QmNtdtcWGZFpnb3LsshwV5BiM5H1Vz8SGpoqMchUyfuhQx\"]},\"contracts/release/utils/beacon-proxy/IBeacon.sol\":{\"keccak256\":\"0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39\",\"dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V\"]},\"contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol\":{\"keccak256\":\"0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be\",\"dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]},\"node_modules/@openzeppelin/contracts/utils/ReentrancyGuard.sol\":{\"keccak256\":\"0x8bbbc2f5c10065ee272592ae0a7a6ceb23de2fbd81564ee0bb015ecf404d5f61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b95e56c1640d0ef789fc5c16269e141e992f6c8ac97cc6d377bd3825e9cab182\",\"dweb:/ipfs/QmVzaxJZY51EhagrcNnkxoU6Uq17RhATe7aHvtkC6wUkgK\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_dispatcher", - "type": "address" - }, - { - "internalType": "address", - "name": "_auraBooster", - "type": "address" - }, - { - "internalType": "address", - "name": "_balToken", - "type": "address" - }, - { - "internalType": "address", - "name": "_auraToken", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "nextCanonicalLib", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "CanonicalLibSet", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "caller", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "proxy", - "type": "address", - "indexed": false - }, - { - "internalType": "bytes", - "name": "constructData", - "type": "bytes", - "indexed": false - } - ], - "type": "event", - "name": "ProxyDeployed", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "pid", - "type": "uint256", - "indexed": true - }, - { - "internalType": "address", - "name": "wrapperProxy", - "type": "address", - "indexed": false - }, - { - "internalType": "address", - "name": "curveLpToken", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "WrapperDeployed", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_pid", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "deploy", - "outputs": [ - { - "internalType": "address", - "name": "wrapperProxy_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "_constructData", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "deployProxy", - "outputs": [ - { - "internalType": "address", - "name": "proxy_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getCanonicalLib", - "outputs": [ - { - "internalType": "address", - "name": "canonicalLib_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_wrapper", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getCurveLpTokenForWrapper", - "outputs": [ - { - "internalType": "address", - "name": "lpToken_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "owner_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_pid", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getWrapperForConvexPool", - "outputs": [ - { - "internalType": "address", - "name": "wrapper_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_wrappers", - "type": "address[]" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "pauseWrappers" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_nextCanonicalLib", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setCanonicalLib" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_wrappers", - "type": "address[]" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "unpauseWrappers" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "deploy(uint256)": { - "params": { - "_pid": "The Convex Curve pool id" - }, - "returns": { - "wrapperProxy_": "The staking wrapper proxy contract address" - } - }, - "deployProxy(bytes)": { - "params": { - "_constructData": "The constructor data with which to call `init()` on the deployed proxy" - }, - "returns": { - "proxy_": "The proxy address" - } - }, - "getCanonicalLib()": { - "returns": { - "canonicalLib_": "The canonical lib" - } - }, - "getCurveLpTokenForWrapper(address)": { - "params": { - "_wrapper": "The wrapper proxy address" - }, - "returns": { - "lpToken_": "The Curve LP token address" - } - }, - "getOwner()": { - "returns": { - "owner_": "The contract owner" - } - }, - "getWrapperForConvexPool(uint256)": { - "params": { - "_pid": "The Convex pool id" - }, - "returns": { - "wrapper_": "The wrapper proxy address" - } - }, - "pauseWrappers(address[])": { - "params": { - "_wrappers": "The wrappers to pause" - } - }, - "setCanonicalLib(address)": { - "params": { - "_nextCanonicalLib": "The next canonical lib" - } - }, - "unpauseWrappers(address[])": { - "params": { - "_wrappers": "The wrappers to unpause" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "deploy(uint256)": { - "notice": "Deploys a staking wrapper for a given Convex pool" - }, - "deployProxy(bytes)": { - "notice": "Deploys a new proxy instance" - }, - "getCanonicalLib()": { - "notice": "Gets the canonical lib used by all proxies" - }, - "getCurveLpTokenForWrapper(address)": { - "notice": "Gets the Curve LP token address for a given wrapper" - }, - "getOwner()": { - "notice": "Gets the contract owner" - }, - "getWrapperForConvexPool(uint256)": { - "notice": "Gets the wrapper address for a given Convex pool" - }, - "pauseWrappers(address[])": { - "notice": "Pause deposits and harvesting new rewards for the given wrappers" - }, - "setCanonicalLib(address)": { - "notice": "Sets the next canonical lib used by all proxies" - }, - "unpauseWrappers(address[])": { - "notice": "Unpauses deposits and harvesting new rewards for the given wrappers" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/infrastructure/staking-wrappers/aura-balancer-v2-lp/AuraBalancerV2LpStakingWrapperFactory.sol": "AuraBalancerV2LpStakingWrapperFactory" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/dispatcher/IDispatcher.sol": { - "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", - "urls": [ - "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", - "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/staking-wrappers/IStakingWrapper.sol": { - "keccak256": "0xaeb9aba4e74eb3243a85090fded7b157969cf83e1f4159b1da2f662a3e7b15be", - "urls": [ - "bzz-raw://92346911c044a54808d2d425fe58c6dc9594dfafb8d83496f6599e3bc23803d0", - "dweb:/ipfs/QmYWf7yx9ZfUnP81K1hjvApthqNhpXzUhGuFBm4gX1aDRB" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/staking-wrappers/StakingWrapperBase.sol": { - "keccak256": "0x3e28050fbe625f1469701b231772ce321e719ddbce4f84b6caa1d8d634a4234a", - "urls": [ - "bzz-raw://f0871b7d6b595e444e598f68751225a596d969267c289a465462fdeb67530fc8", - "dweb:/ipfs/QmX2z5QGP3kpKx9ruGnZHYH5bDCD9sjRGTRhg9SRiowctg" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/staking-wrappers/StakingWrapperLibBase.sol": { - "keccak256": "0x94d4057419743d9354d77774e1e5279a5ed2fc70012ef28115357f9921bfb5be", - "urls": [ - "bzz-raw://d1e461f460a0339cada6cdfb0107bde47d236b336fec0ed470235ce7928666bb", - "dweb:/ipfs/QmcMzSrcWTKyqgBAACVCidd2dpMfbeUtcQYu4D1ASiyFzk" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/staking-wrappers/aura-balancer-v2-lp/AuraBalancerV2LpStakingWrapperFactory.sol": { - "keccak256": "0x5d350891df10d2874125741a6346e91a8d05995df035e914676fab1ffaa45562", - "urls": [ - "bzz-raw://5cd06518169b6df46ed6778b7f13b8b7bd27a6806932347f6ed0fdf68f464c03", - "dweb:/ipfs/QmTburYKxytgdccKgKJVNX4HCFfxGTRZWSb3yjYJyootSi" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/staking-wrappers/convex-curve-lp/ConvexCurveLpStakingWrapperFactory.sol": { - "keccak256": "0x4f7394dea52858ea7734ed8586377d1ebef39e1ca6aa5ed684fea7a7fe82b16a", - "urls": [ - "bzz-raw://c7a5181757151d6210193dfa97b3076edcfe3017b4fefbfbbe3ab848878d5996", - "dweb:/ipfs/Qme9tTYoAhMkHVLbwKQoSdVJTec1p9zAPwzSe7RZFvnkYu" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/staking-wrappers/convex-curve-lp/ConvexCurveLpStakingWrapperLib.sol": { - "keccak256": "0x1ec08f37e592766bb7f0d62edb04261bcd3c26154bb5dc437465f836fabf3427", - "urls": [ - "bzz-raw://0265250d2255bcb61fdb1842e7dbb26e4d56a11a1e3fd87f0790644277bb7259", - "dweb:/ipfs/Qmb5kVMTr86qYkJu8o1YNwnCrbUJMhmhnFHMrdx2vZhdED" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IConvexBaseRewardPool.sol": { - "keccak256": "0x7c82b546c3c339c6f602191bc9062d6887af7db438800359c0547aa6bb025acc", - "urls": [ - "bzz-raw://13a488b1d715000d1ed9415917a8f9c347ec91b04770b74746facacd88e2e105", - "dweb:/ipfs/QmaHJKxagREc7Mbq8SkSbWgzwk8bNSFTwojAD5hNemwy1Y" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IConvexBooster.sol": { - "keccak256": "0x6e7561d2d7e71a0c89a6e62445de5c54c2e50d17877b23d8b5af10721dd90ed5", - "urls": [ - "bzz-raw://772cf7f429a04a557d3b0ed36a73390da64fd93a9df253e0c7e9ebeeecd063ea", - "dweb:/ipfs/QmXjfnXmtGV67wypxof8nWVTkXAEZqBpFjYePfr17K8rAL" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IConvexVirtualBalanceRewardPool.sol": { - "keccak256": "0x45a7d783e4088cf1b5dcb548da2fce6b0caa9c572c43af9f39aff46498fa101c", - "urls": [ - "bzz-raw://82ed678230fe900991bd81a6c31dae01d120fe5521f96d1cc36c40334385f907", - "dweb:/ipfs/QmYre4JtyoXmetrYUwFMrPKwBY1NEm2XYdgMiAR7Z7P2jW" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AddressArrayLib.sol": { - "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", - "urls": [ - "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", - "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/beacon-proxy/BeaconProxy.sol": { - "keccak256": "0x7a0a6c511a30434a9b329226b0cf1a05ec426ddbfc4e1d9b9083978ee4cf6d53", - "urls": [ - "bzz-raw://692d3a116ecf306f20a3d29dc70846099ce46ba281524a502336325a6cd05667", - "dweb:/ipfs/QmTGxmDWMcMtGEsPLzVB8eyK3WDqaCwoChuc24RXuSzwVb" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/beacon-proxy/BeaconProxyFactory.sol": { - "keccak256": "0xd35fa5134e3a8694ed1dbbc8dcd4b4d5b459608c23097a95984e1b98af3e64d9", - "urls": [ - "bzz-raw://1c008f83ac64b316479406cbf0287593a810d453825a2f669b5810c51429f9fc", - "dweb:/ipfs/QmNtdtcWGZFpnb3LsshwV5BiM5H1Vz8SGpoqMchUyfuhQx" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/beacon-proxy/IBeacon.sol": { - "keccak256": "0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2", - "urls": [ - "bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39", - "dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol": { - "keccak256": "0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc", - "urls": [ - "bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be", - "dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { - "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", - "urls": [ - "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", - "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Address.sol": { - "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", - "urls": [ - "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", - "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/ReentrancyGuard.sol": { - "keccak256": "0x8bbbc2f5c10065ee272592ae0a7a6ceb23de2fbd81564ee0bb015ecf404d5f61", - "urls": [ - "bzz-raw://b95e56c1640d0ef789fc5c16269e141e992f6c8ac97cc6d377bd3825e9cab182", - "dweb:/ipfs/QmVzaxJZY51EhagrcNnkxoU6Uq17RhATe7aHvtkC6wUkgK" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 261 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_dispatcher", "type": "address", "internalType": "address" }, { "name": "_auraBooster", "type": "address", "internalType": "address" }, { "name": "_balToken", "type": "address", "internalType": "address" }, { "name": "_auraToken", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "deploy", "inputs": [ { "name": "_pid", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "wrapperProxy_", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "deployProxy", "inputs": [ { "name": "_constructData", "type": "bytes", "internalType": "bytes" } ], "outputs": [ { "name": "proxy_", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "getCanonicalLib", "inputs": [], "outputs": [ { "name": "canonicalLib_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getCurveLpTokenForWrapper", "inputs": [ { "name": "_wrapper", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "lpToken_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getOwner", "inputs": [], "outputs": [ { "name": "owner_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getWrapperForConvexPool", "inputs": [ { "name": "_pid", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "wrapper_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "pauseWrappers", "inputs": [ { "name": "_wrappers", "type": "address[]", "internalType": "address[]" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setCanonicalLib", "inputs": [ { "name": "_nextCanonicalLib", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "unpauseWrappers", "inputs": [ { "name": "_wrappers", "type": "address[]", "internalType": "address[]" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "event", "name": "CanonicalLibSet", "inputs": [ { "name": "nextCanonicalLib", "type": "address", "indexed": false, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "ProxyDeployed", "inputs": [ { "name": "caller", "type": "address", "indexed": true, "internalType": "address" }, { "name": "proxy", "type": "address", "indexed": false, "internalType": "address" }, { "name": "constructData", "type": "bytes", "indexed": false, "internalType": "bytes" } ], "anonymous": false }, { "type": "event", "name": "WrapperDeployed", "inputs": [ { "name": "pid", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "wrapperProxy", "type": "address", "indexed": false, "internalType": "address" }, { "name": "curveLpToken", "type": "address", "indexed": false, "internalType": "address" } ], "anonymous": false } ], "bytecode": { "object": "0x60a06040523480156200001157600080fd5b50604051620046ee380380620046ee833981016040819052620000349162000133565b8383838360006200004581620000ba565b50836001600160a01b03166080816001600160a01b031660601b81525050620000ac30848484604051620000799062000112565b620000889493929190620001be565b604051809103906000f080158015620000a5573d6000803e3d6000fd5b50620000ba565b505050505050505062000230565b600080546001600160a01b0319166001600160a01b0383161790556040517f9007c6c0b3b1622c381c19563620e3ce8b824e958af3020495bd6654e8a0310a9062000107908390620001ae565b60405180910390a150565b613552806200119c83390190565b80516200012d8162000216565b92915050565b600080600080608085870312156200014a57600080fd5b600062000158878762000120565b94505060206200016b8782880162000120565b93505060406200017e8782880162000120565b9250506060620001918782880162000120565b91505092959194509250565b620001a88162000204565b82525050565b602081016200012d82846200019d565b60808101620001ce82876200019d565b620001dd60208301866200019d565b620001ec60408301856200019d565b620001fb60608301846200019d565b95945050505050565b60006001600160a01b0382166200012d565b620002218162000204565b81146200022d57600080fd5b50565b60805160601c610f4e6200024e6000398061023a5250610f4e6000f3fe60806040523480156200001157600080fd5b5060043610620000a05760003560e01c80638aeb8b84116200006f5780638aeb8b84146200010c57806397b02f0c146200012557806398a7c4c7146200013c578063a5e387511462000146578063d0ac1a8d146200015d57620000a0565b80630c0872f514620000a55780631c25201c14620000d4578063456b4a3714620000eb578063893d20e81462000102575b600080fd5b620000bc620000b636600462000866565b62000174565b604051620000cb919062000a05565b60405180910390f35b620000bc620000e53660046200089f565b620001fd565b620000bc620000fc366004620007d6565b62000218565b620000bc62000236565b620001236200011d36600462000820565b620002d2565b005b620001236200013636600462000820565b620003bc565b620000bc62000498565b620000bc620001573660046200089f565b620004a7565b620001236200016e366004620007d6565b62000650565b600081306040516200018690620006f3565b6200019392919062000a6f565b604051809103906000f080158015620001b0573d6000803e3d6000fd5b509050336001600160a01b03167f8f1eab90fee81d885732c2e07a3a9b9f6c32278756471123fa57486858c3f7018284604051620001f092919062000a3b565b60405180910390a2919050565b6000908152600160205260409020546001600160a01b031690565b6001600160a01b039081166000908152600260205260409020541690565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b1580156200029257600080fd5b505afa158015620002a7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002cd9190620007ff565b905090565b620002dc62000236565b6001600160a01b0316336001600160a01b031614620003185760405162461bcd60e51b81526004016200030f9062000a93565b60405180910390fd5b60005b81811015620003b7578282828181106200033157fe5b9050602002016020810190620003489190620007d6565b6001600160a01b03166357d159c660006040518263ffffffff1660e01b815260040162000376919062000a5f565b600060405180830381600087803b1580156200039157600080fd5b505af1158015620003a6573d6000803e3d6000fd5b5050600190920191506200031b9050565b505050565b620003c662000236565b6001600160a01b0316336001600160a01b031614620003f95760405162461bcd60e51b81526004016200030f9062000a93565b60005b81811015620003b7578282828181106200041257fe5b9050602002016020810190620004299190620007d6565b6001600160a01b03166357d159c660016040518263ffffffff1660e01b815260040162000457919062000a5f565b600060405180830381600087803b1580156200047257600080fd5b505af115801562000487573d6000803e3d6000fd5b505060019092019150620003fc9050565b6000546001600160a01b031690565b600080620004b583620001fd565b6001600160a01b031614620004de5760405162461bcd60e51b81526004016200030f9062000aa5565b606063b7b0422d60e01b83604051602401620004fb919062000ac9565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915290506200053a8162000174565b600084815260016020908152604080832080546001600160a01b0319166001600160a01b0386169081179091558151632e266ba960e21b81529151949650929363b899aea492600480840193919291829003018186803b1580156200059e57600080fd5b505afa158015620005b3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620005d99190620007ff565b6001600160a01b038481166000908152600260205260409081902080546001600160a01b031916928416929092179091555190915084907fe547dfbae0eb3c2c335669b841fa076eb2a1a64eab9bd2fb49868b5e624586f19062000641908690859062000a15565b60405180910390a25050919050565b6200065a62000236565b6001600160a01b0316336001600160a01b0316146200068d5760405162461bcd60e51b81526004016200030f9062000ab7565b62000698816200069b565b50565b600080546001600160a01b0319166001600160a01b0383161790556040517f9007c6c0b3b1622c381c19563620e3ce8b824e958af3020495bd6654e8a0310a90620006e890839062000a05565b60405180910390a150565b61037e8062000bc483390190565b80356200070e8162000ba1565b92915050565b80516200070e8162000ba1565b60008083601f8401126200073457600080fd5b50813567ffffffffffffffff8111156200074d57600080fd5b6020830191508360208202830111156200076657600080fd5b9250929050565b600082601f8301126200077f57600080fd5b813562000796620007908262000b01565b62000ad9565b91508082526020830160208301858383011115620007b357600080fd5b620007c083828462000b58565b50505092915050565b80356200070e8162000bb8565b600060208284031215620007e957600080fd5b6000620007f7848462000701565b949350505050565b6000602082840312156200081257600080fd5b6000620007f7848462000714565b600080602083850312156200083457600080fd5b823567ffffffffffffffff8111156200084c57600080fd5b6200085a8582860162000721565b92509250509250929050565b6000602082840312156200087957600080fd5b813567ffffffffffffffff8111156200089157600080fd5b620007f7848285016200076d565b600060208284031215620008b257600080fd5b6000620007f78484620007c9565b620008cb8162000b37565b82525050565b620008cb8162000b44565b6000620008e98262000b2a565b620008f5818562000b2e565b93506200090781856020860162000b64565b620009128162000b97565b9093019392505050565b60006200092b60258362000b2e565b7f4f6e6c7920746865206f776e65722063616e2063616c6c20746869732066756e81526431ba34b7b760d91b602082015260400192915050565b600062000974601e8362000b2e565b7f6465706c6f793a205772617070657220616c7265616479206578697374730000815260200192915050565b6000620009af60368362000b2e565b7f73657443616e6f6e6963616c4c69623a204f6e6c7920746865206f776e65722081527531b0b71031b0b636103a3434b990333ab731ba34b7b760511b602082015260400192915050565b620008cb8162000b55565b602081016200070e8284620008c0565b6040810162000a258285620008c0565b62000a346020830184620008c0565b9392505050565b6040810162000a4b8285620008c0565b8181036020830152620007f78184620008dc565b602081016200070e8284620008d1565b6040808252810162000a828185620008dc565b905062000a346020830184620008c0565b602080825281016200070e816200091c565b602080825281016200070e8162000965565b602080825281016200070e81620009a0565b602081016200070e8284620009fa565b60405181810167ffffffffffffffff8111828210171562000af957600080fd5b604052919050565b600067ffffffffffffffff82111562000b1957600080fd5b506020601f91909101601f19160190565b5190565b90815260200190565b60006200070e8262000b49565b151590565b6001600160a01b031690565b90565b82818337506000910152565b60005b8381101562000b8157818101518382015260200162000b67565b8381111562000b91576000848401525b50505050565b601f01601f191690565b62000bac8162000b37565b81146200069857600080fd5b62000bac8162000b5556fe60a060405234801561001057600080fd5b5060405161037e38038061037e8339818101604052604081101561003357600080fd5b810190808051604051939291908464010000000082111561005357600080fd5b90830190602082018581111561006857600080fd5b825164010000000081118282018810171561008257600080fd5b82525081516020918201929091019080838360005b838110156100af578181015183820152602001610097565b50505050905090810190601f1680156100dc5780820380516001836020036101000a031916815260200191505b506040818152602092830151606081811b6001600160601b0319166080526398a7c4c760e01b845291519095506000945090926001600160a01b038616926398a7c4c79260048083019392829003018186803b15801561013b57600080fd5b505afa15801561014f573d6000803e3d6000fd5b505050506040513d602081101561016557600080fd5b505160405185516001600160a01b0390921691869190819060208401908083835b602083106101a55780518252601f199092019160209182019101610186565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610205576040519150601f19603f3d011682016040523d82523d6000602084013e61020a565b606091505b509150915081819061029a5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561025f578181015183820152602001610247565b50505050905090810190601f16801561028c5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050505060805160601c60c56102b960003980600e525060c56000f3fe608060405236600a57005b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166398a7c4c76040518163ffffffff1660e01b815260040160206040518083038186803b158015606457600080fd5b505afa1580156077573d6000803e3d6000fd5b505050506040513d6020811015608c57600080fd5b505190503660008037600080366000846127105a03f43d806000803e81801560b357816000f35b816000fdfea164736f6c634300060c000aa164736f6c634300060c000a6101006040523480156200001257600080fd5b506040516200355238038062003552833981016040819052620000359162000174565b604080516020808201808452600080845284519283019094529281528151879383918391620000689160039190620000c5565b5080516200007e906004906020840190620000c5565b50506005805460ff1916601217905550506001600655506001600160601b0319606091821b811660805293811b841660a05291821b831660c052901b1660e052506200020a565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200010857805160ff191683800117855562000138565b8280016001018555821562000138579182015b82811115620001385782518255916020019190600101906200011b565b50620001469291506200014a565b5090565b5b808211156200014657600081556001016200014b565b80516200016e81620001f0565b92915050565b600080600080608085870312156200018b57600080fd5b600062000199878762000161565b9450506020620001ac8782880162000161565b9350506040620001bf8782880162000161565b9250506060620001d28782880162000161565b91505092959194509250565b60006001600160a01b0382166200016e565b620001fb81620001de565b81146200020757600080fd5b50565b60805160601c60a05160601c60c05160601c60e05160601c6132fc6200025660003980610d12525080610ce95250806108f25280610ae55280611dcd52508061083352506132fc6000f3fe608060405234801561001057600080fd5b50600436106101da5760003560e01c806382e5d07311610104578063b187bd26116100a2578063c4f59f9b11610071578063c4f59f9b146103c6578063d12f8df0146103db578063dd62ed3e146103e3578063ffaad6a5146103f6576101da565b8063b187bd2614610390578063b6b55f2514610398578063b7b0422d146103ab578063b899aea4146103be576101da565b80639655dd61116100de5780639655dd6114610344578063a457c2d714610357578063a7d2793f1461036a578063a9059cbb1461037d576101da565b806382e5d0731461032c5780638757b15b1461033457806395d89b411461033c576101da565b806323b872dd1161017c578063395093511161014b57806339509351146102e057806357d159c6146102f357806370a082311461030657806373e2290c14610319576101da565b806323b872dd146102925780632cfafabe146102a5578063313ce567146102b857806338d07436146102cd576101da565b8063095ea7b3116101b8578063095ea7b31461022757806318160ddd146102475780631ac6d19d1461025c57806320c718101461027d576101da565b80630663b22c146101df57806306fdde03146101e9578063093f636514610207575b600080fd5b6101e7610409565b005b6101f1610597565b6040516101fe9190612f7e565b60405180910390f35b61021a6102153660046125c9565b61062d565b6040516101fe91906130af565b61023a6102353660046126b1565b610688565b6040516101fe9190612f70565b61024f6106a5565b6040516101fe91906130bd565b61026f61026a36600461258d565b6106ab565b6040516101fe929190612f4b565b6102856106f7565b6040516101fe9190612e91565b61023a6102a0366004612603565b610706565b6101e76102b3366004612650565b61078e565b6102c06107bb565b6040516101fe9190613137565b61026f6102db3660046127ef565b6107c0565b61023a6102ee3660046126b1565b6107da565b6101e7610301366004612724565b610828565b61024f61031436600461258d565b6108b9565b6101e76103273660046126e1565b6108d4565b61024f6108e7565b6101e76108ed565b6101f161092e565b61021a61035236600461258d565b61098f565b61023a6103653660046126b1565b6109d9565b6102856103783660046127b3565b610a41565b61023a61038b3660046126b1565b610a6b565b61023a610a7f565b6101e76103a63660046127b3565b610a88565b6101e76103b93660046127b3565b610a96565b610285610d4a565b6103ce610d59565b6040516101fe9190612f3a565b61024f610dba565b61024f6103f13660046125c9565b610dc0565b6101e76104043660046126b1565b610deb565b60006104136106f7565b90506000816001600160a01b031663d55a23f46040518163ffffffff1660e01b815260040160206040518083038186803b15801561045057600080fd5b505afa158015610464573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061048891906127d1565b905060005b8181101561059257604051632061aa2360e11b815261058a906001600160a01b038516906340c35446906104c59085906004016130bd565b60206040518083038186803b1580156104dd57600080fd5b505afa1580156104f1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061051591906125ab565b6001600160a01b031663f7c618c16040518163ffffffff1660e01b815260040160206040518083038186803b15801561054d57600080fd5b505afa158015610561573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061058591906125ab565b610df6565b60010161048d565b505050565b600b8054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156106235780601f106105f857610100808354040283529160200191610623565b820191906000526020600020905b81548152906001019060200180831161060657829003601f168201915b5050505050905090565b610635612381565b506001600160a01b038082166000908152600a602090815260408083209386168352928152908290208251808401909352546001600160801b038082168452600160801b90910416908201525b92915050565b600061069c610695610ee2565b8484610ee6565b50600192915050565b60025490565b606080600260065414156106da5760405162461bcd60e51b81526004016106d19061307f565b60405180910390fd5b60026006556106e883610f9a565b60016006559094909350915050565b600d546001600160a01b031690565b60006107138484846110ef565b6107838461071f610ee2565b61077e856040518060600160405280602881526020016132a3602891396001600160a01b038a1660009081526001602052604081209061075d610ee2565b6001600160a01b031681526020810191909152604001600020549190611153565b610ee6565b5060015b9392505050565b6107a7843361077e856107a18933610dc0565b9061117f565b6107b3848484846111a7565b505050505050565b601290565b6060806107cf333386866111a7565b915091509250929050565b600061069c6107e7610ee2565b8461077e85600160006107f8610ee2565b6001600160a01b03908116825260208083019390935260409182016000908120918c16815292529020549061128a565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146108705760405162461bcd60e51b81526004016106d190612f9f565b6007805460ff19168215151790556040517f9077d36bc00859b5c3f320310707208543dd35092cb0a0fe117d0c6a558b148b906108ae908390612f70565b60405180910390a150565b6001600160a01b031660009081526020819052604090205490565b6108e0338484846111a7565b5050505050565b60085490565b61092c7f000000000000000000000000000000000000000000000000000000000000000060001961091c610d4a565b6001600160a01b031691906112af565b565b600c8054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156106235780601f106105f857610100808354040283529160200191610623565b610997612381565b506001600160a01b03166000908152600960209081526040918290208251808401909352546001600160801b038082168452600160801b909104169082015290565b600061069c6109e6610ee2565b8461077e856040518060600160405280602581526020016132cb6025913960016000610a10610ee2565b6001600160a01b03908116825260208083019390935260409182016000908120918d16815292529020549190611153565b600060088281548110610a5057fe5b6000918252602090912001546001600160a01b031692915050565b600061069c610a78610ee2565b84846110ef565b60075460ff1690565b610a933333836113a9565b50565b6000610aa0610d4a565b6001600160a01b031614610ac65760405162461bcd60e51b81526004016106d19061301f565b610ace612398565b604051631526fe2760e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690631526fe2790610b1a9085906004016130bd565b60c06040518083038186803b158015610b3257600080fd5b505afa158015610b46573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b6a9190612795565b9050610c0c81602001516001600160a01b03166306fdde036040518163ffffffff1660e01b815260040160006040518083038186803b158015610bac57600080fd5b505afa158015610bc0573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610be89190810190612760565b604051602001610bf89190612e6f565b604051602081830303815290604052611485565b610cac81602001516001600160a01b03166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b158015610c4c57600080fd5b505afa158015610c60573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610c889190810190612760565b604051602001610c989190612e86565b6040516020818303038152906040526114c8565b8051600f80546001600160a01b039283166001600160a01b0319918216179091556060830151600d8054919093169116179055600e829055610d0d7f0000000000000000000000000000000000000000000000000000000000000000610df6565b610d367f0000000000000000000000000000000000000000000000000000000000000000610df6565b610d3e610409565b610d466108ed565b5050565b600f546001600160a01b031690565b6060600880548060200260200160405190810160405280929190818152602001828054801561062357602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610d93575050505050905090565b600e5490565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b610d463383836113a9565b610e63816008805480602002602001604051908101604052809291908181526020018280548015610e5057602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610e32575b505050505061150b90919063ffffffff16565b610a9357600880546001810182556000919091527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30180546001600160a01b0319166001600160a01b0383161790556040517ff3e4c2c64e71e6ba2eaab9a599bced62f9eb91d2cda610bf41aa8c80ff2cf826906108ae908390612e91565b3390565b6001600160a01b038316610f0c5760405162461bcd60e51b81526004016106d19061304f565b6001600160a01b038216610f325760405162461bcd60e51b81526004016106d190612fbf565b6001600160a01b0380841660008181526001602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610f8d9085906130bd565b60405180910390a3505050565b606080610fa5610a7f565b610fb157610fb1611561565b6000610fbb6106a5565b600880546040805160208084028201810190925282815293945083018282801561100e57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610ff0575b50505050509250825167ffffffffffffffff8111801561102d57600080fd5b50604051908082528060200260200182016040528015611057578160200160208202803683370190505b50915060005b83518110156110a35761108484828151811061107557fe5b602002602001015186846115e3565b83828151811061109057fe5b602090810291909101015260010161105d565b50836001600160a01b03167fc17f1458d7773c19369fc6c68a3b4c44b675c86c50c997d58853aed5e38de6cd3385856040516110e193929190612e9f565b60405180910390a250915091565b600260065414156111125760405162461bcd60e51b81526004016106d19061307f565b6002600655604080518082019091526001600160a01b0380851682528316602082015261113e9061194b565b6111498383836119b4565b5050600160065550565b600081848411156111775760405162461bcd60e51b81526004016106d19190612f7e565b505050900390565b6000828211156111a15760405162461bcd60e51b81526004016106d190612fdf565b50900390565b606080600260065414156111cd5760405162461bcd60e51b81526004016106d19061307f565b600260065582156111eb576111e186610f9a565b9092509050611211565b604080518082019091526001600160a01b0387168152600060208201526112119061194b565b61121b8685611ac9565b6112258585611bab565b846001600160a01b0316866001600160a01b0316336001600160a01b03167fa4195c37c2947bbe89165f03e320b6903116f0b10d8cfdb522330f7ce6f9fa248760405161127291906130bd565b60405180910390a46001600655909590945092505050565b6000828201838110156107875760405162461bcd60e51b81526004016106d190612fcf565b8015806113375750604051636eb1769f60e11b81526001600160a01b0384169063dd62ed3e906112e59030908690600401612edc565b60206040518083038186803b1580156112fd57600080fd5b505afa158015611311573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061133591906127d1565b155b6113535760405162461bcd60e51b81526004016106d19061308f565b6105928363095ea7b360e01b8484604051602401611372929190612f1f565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152611c51565b600260065414156113cc5760405162461bcd60e51b81526004016106d19061307f565b60026006556113d9610a7f565b156113f65760405162461bcd60e51b81526004016106d190612f8f565b604080518082019091526001600160a01b03831681526000602082015261141c9061194b565b6114268282611ce0565b6114308382611d94565b816001600160a01b0316836001600160a01b03167f8752a472e571a816aea92eec8dae9baf628e840f4929fbcc2d155e6233ff68a78360405161147391906130bd565b60405180910390a35050600160065550565b805161149890600b9060208401906123cd565b507f12e9cab73c0c48661414f76e810af7d10c67f0db958722bf9f26b28a4b4afd69816040516108ae9190612f7e565b80516114db90600c9060208401906123cd565b507f862f26027c5033c09d43eacd856547decb3227c210f6eb7b6bdc0cf5edaa3f4b816040516108ae9190612f7e565b6000805b83518110156115575783818151811061152457fe5b60200260200101516001600160a01b0316836001600160a01b0316141561154f576001915050610682565b60010161150f565b5060009392505050565b611569610409565b6115716106f7565b6001600160a01b0316633d18b9126040518163ffffffff1660e01b8152600401602060405180830381600087803b1580156115ab57600080fd5b505af11580156115bf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a939190612742565b6001600160a01b038316600081815260096020526040808220805491516370a0823160e01b8152929390926001600160801b0390921691849161169e918791906370a0823190611637903090600401612e91565b60206040518083038186803b15801561164f57600080fd5b505afa158015611663573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061168791906127d1565b8554600160801b90046001600160801b0316611e58565b90508015611710576116b0828261128a565b83546001600160801b0319166001600160801b0382161784556040519092506001600160a01b038816907f64dcb34f2e45bc61753d72992aa4199ec96717158435e8085568ff38844bcd1c906117079085906130bd565b60405180910390a25b6001600160a01b038781166000908152600a60209081526040808320938a1683529290522080546001600160801b03600160801b82048116965016838110156117d15781546001600160801b0319166001600160801b03851617825561178161177a898684611ea3565b879061128a565b9550886001600160a01b0316886001600160a01b03167fe3bdf7e684a4024370a702abfcca4a32b08642aadc27065f3356458bd23e977e86896040516117c8929190613101565b60405180910390a35b85156118475781546001600160801b031682556117f86001600160a01b038a168988611ed5565b886001600160a01b0316886001600160a01b03167fe3bdf7e684a4024370a702abfcca4a32b08642aadc27065f3356458bd23e977e86600060405161183e9291906130e6565b60405180910390a35b6040516370a0823160e01b81526000906001600160a01b038b16906370a0823190611876903090600401612e91565b60206040518083038186803b15801561188e57600080fd5b505afa1580156118a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118c691906127d1565b8654909150600160801b90046001600160801b031681101561193e5785546001600160801b03808316600160801b0291161786556040516001600160a01b038b16907fdeb2652df61fdedd2d231dc4d777175097cc26369032d339be2a6db36d7754f2906119359084906130bd565b60405180910390a25b5050505050509392505050565b611953610a7f565b61195f5761195f611561565b60006119696106a5565b60085490915060005b818110156119ae576119a66008828154811061198a57fe5b6000918252602090912001546001600160a01b03168585611ef4565b600101611972565b50505050565b6001600160a01b0383166119da5760405162461bcd60e51b81526004016106d19061303f565b6001600160a01b038216611a005760405162461bcd60e51b81526004016106d190612faf565b611a0b838383610592565b611a488160405180606001604052806026815260200161327d602691396001600160a01b0386166000908152602081905260409020549190611153565b6001600160a01b038085166000908152602081905260408082209390935590841681522054611a77908261128a565b6001600160a01b0380841660008181526020819052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610f8d9085906130bd565b6001600160a01b038216611aef5760405162461bcd60e51b81526004016106d19061302f565b611afb82600083610592565b611b388160405180606001604052806022815260200161325b602291396001600160a01b0385166000908152602081905260409020549190611153565b6001600160a01b038316600090815260208190526040902055600254611b5e908261117f565b6002556040516000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611b9f9085906130bd565b60405180910390a35050565b611bb36106f7565b6001600160a01b031663c32e72028260006040518363ffffffff1660e01b8152600401611be19291906130cb565b602060405180830381600087803b158015611bfb57600080fd5b505af1158015611c0f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c339190612742565b50610d468282611c41610d4a565b6001600160a01b03169190611ed5565b6060611ca6826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166121e59092919063ffffffff16565b8051909150156105925780806020019051810190611cc49190612742565b6105925760405162461bcd60e51b81526004016106d19061306f565b6001600160a01b038216611d065760405162461bcd60e51b81526004016106d19061309f565b611d1260008383610592565b600254611d1f908261128a565b6002556001600160a01b038216600090815260208190526040902054611d45908261128a565b6001600160a01b0383166000818152602081905260408082209390935591519091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611b9f9085906130bd565b611db3823083611da2610d4a565b6001600160a01b03169291906121f4565b600e546040516321d0683360e11b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016916343a0d06691611e069190859060019060040161310f565b602060405180830381600087803b158015611e2057600080fd5b505af1158015611e34573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105929190612742565b60008315611557576000611e6c848461117f565b90508015611e9857611e9085611e8a83670de0b6b3a7640000612215565b9061224f565b915050610787565b505060009392505050565b6000611ecd670de0b6b3a7640000611e8a611ebe868661117f565b611ec7886108b9565b90612215565b949350505050565b6105928363a9059cbb60e01b8484604051602401611372929190612f1f565b6001600160a01b038316600081815260096020526040808220805491516370a0823160e01b815290936001600160801b039092169291906370a0823190611f3f903090600401612e91565b60206040518083038186803b158015611f5757600080fd5b505afa158015611f6b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f8f91906127d1565b8354909150600090611fb49086908490600160801b90046001600160801b0316611e58565b9050801561208157611fc6838261128a565b84546001600160801b0319166001600160801b0382161785556040519093506001600160a01b038816907f64dcb34f2e45bc61753d72992aa4199ec96717158435e8085568ff38844bcd1c9061201d9086906130bd565b60405180910390a283546001600160801b03808416600160801b0291161784556040516001600160a01b038816907fdeb2652df61fdedd2d231dc4d777175097cc26369032d339be2a6db36d7754f2906120789085906130bd565b60405180910390a25b60005b60028110156121db57600087826002811061209b57fe5b60200201516001600160a01b031614156120b4576121d3565b6001600160a01b0388166000908152600a60205260408120818984600281106120d957fe5b602090810291909101516001600160a01b0316825281019190915260400160002080549091506001600160801b0316858110156121d05760006121486121308b866002811061212457fe5b60200201518985611ea3565b8454600160801b90046001600160801b03169061128a565b83546001600160801b03196001600160801b03918216600160801b84841602171690891617845590506001600160a01b038b168a856002811061218757fe5b60200201516001600160a01b03167fe3bdf7e684a4024370a702abfcca4a32b08642aadc27065f3356458bd23e977e89846040516121c6929190613101565b60405180910390a3505b50505b600101612084565b5050505050505050565b6060611ecd8484600085612281565b6119ae846323b872dd60e01b85858560405160240161137293929190612ef7565b60008261222457506000610682565b8282028284828161223157fe5b04146107875760405162461bcd60e51b81526004016106d19061300f565b60008082116122705760405162461bcd60e51b81526004016106d190612fff565b81838161227957fe5b049392505050565b6060824710156122a35760405162461bcd60e51b81526004016106d190612fef565b6122ac85612342565b6122c85760405162461bcd60e51b81526004016106d19061305f565b60006060866001600160a01b031685876040516122e59190612e63565b60006040518083038185875af1925050503d8060008114612322576040519150601f19603f3d011682016040523d82523d6000602084013e612327565b606091505b5091509150612337828286612348565b979650505050505050565b3b151590565b60608315612357575081610787565b8251156123675782518084602001fd5b8160405162461bcd60e51b81526004016106d19190612f7e565b604080518082019091526000808252602082015290565b6040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a081019190915290565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061240e57805160ff191683800117855561243b565b8280016001018555821561243b579182015b8281111561243b578251825591602001919060010190612420565b5061244792915061244b565b5090565b5b80821115612447576000815560010161244c565b803561068281613234565b805161068281613234565b803561068281613248565b805161068281613248565b600082601f83011261249d57600080fd5b81516124b06124ab8261316c565b613145565b915080825260208301602083018583830111156124cc57600080fd5b6124d78382846131fe565b50505092915050565b600060c082840312156124f257600080fd5b6124fc60c0613145565b9050600061250a848461246b565b825250602061251b8484830161246b565b602083015250604061252f8482850161246b565b60408301525060606125438482850161246b565b60608301525060806125578482850161246b565b60808301525060a061256b84828501612481565b60a08301525092915050565b803561068281613251565b805161068281613251565b60006020828403121561259f57600080fd5b6000611ecd8484612460565b6000602082840312156125bd57600080fd5b6000611ecd848461246b565b600080604083850312156125dc57600080fd5b60006125e88585612460565b92505060206125f985828601612460565b9150509250929050565b60008060006060848603121561261857600080fd5b60006126248686612460565b935050602061263586828701612460565b925050604061264686828701612577565b9150509250925092565b6000806000806080858703121561266657600080fd5b60006126728787612460565b945050602061268387828801612460565b935050604061269487828801612577565b92505060606126a587828801612476565b91505092959194509250565b600080604083850312156126c457600080fd5b60006126d08585612460565b92505060206125f985828601612577565b6000806000606084860312156126f657600080fd5b60006127028686612460565b935050602061271386828701612577565b925050604061264686828701612476565b60006020828403121561273657600080fd5b6000611ecd8484612476565b60006020828403121561275457600080fd5b6000611ecd8484612481565b60006020828403121561277257600080fd5b815167ffffffffffffffff81111561278957600080fd5b611ecd8482850161248c565b600060c082840312156127a757600080fd5b6000611ecd84846124e0565b6000602082840312156127c557600080fd5b6000611ecd8484612577565b6000602082840312156127e357600080fd5b6000611ecd8484612582565b6000806040838503121561280257600080fd5b600061280e8585612577565b92505060206125f985828601612476565b600061282b838361284e565b505060200190565b600061282b8383612e51565b612848816131dd565b82525050565b612848816131ac565b60006128628261319a565b61286c818561319e565b935061287783613194565b8060005b838110156128a557815161288f888261281f565b975061289a83613194565b92505060010161287b565b509495945050505050565b60006128bb8261319a565b6128c5818561319e565b93506128d083613194565b8060005b838110156128a55781516128e88882612833565b97506128f383613194565b9250506001016128d4565b612848816131b7565b60006129128261319a565b61291c81856131a7565b935061292c8185602086016131fe565b9290920192915050565b612848816131e8565b600061294a8261319a565b612954818561319e565b93506129648185602086016131fe565b61296d8161322a565b9093019392505050565b600061298460118361319e565b7017d7d9195c1bdcda5d0e8814185d5cd959607a1b815260200192915050565b60006129b160138361319e565b724f6e6c79206f776e65722063616c6c61626c6560681b815260200192915050565b60006129e060238361319e565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647281526265737360e81b602082015260400192915050565b6000612a25600f836131a7565b6e022b73d3cb6b29029ba30b5b2b21d1608d1b8152600f0192915050565b6000612a5060228361319e565b7f45524332303a20617070726f766520746f20746865207a65726f206164647265815261737360f01b602082015260400192915050565b6000612a94601b8361319e565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000612acd601e8361319e565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000612b0660268361319e565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f8152651c8818d85b1b60d21b602082015260400192915050565b6000612b4e601a8361319e565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b6000612b8760218361319e565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000612bca60118361319e565b701a5b9a5d0e88125b9a5d1a585b1a5e9959607a1b815260200192915050565b6000612bf760218361319e565b7f45524332303a206275726e2066726f6d20746865207a65726f206164647265738152607360f81b602082015260400192915050565b6000612c3a60258361319e565b7f45524332303a207472616e736665722066726f6d20746865207a65726f206164815264647265737360d81b602082015260400192915050565b6000612c816003836131a7565b6273746b60e81b815260030192915050565b6000612ca060248361319e565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164648152637265737360e01b602082015260400192915050565b6000612ce6601d8361319e565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000815260200192915050565b6000612d1f602a8361319e565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e8152691bdd081cdd58d8d9595960b21b602082015260400192915050565b6000612d6b601f8361319e565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00815260200192915050565b6000612da460368361319e565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f81527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b602082015260400192915050565b6000612dfc601f8361319e565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300815260200192915050565b80516040830190612e398482612e48565b5060208201516119ae60208501825b612848816131bc565b612848816131d4565b612848816131d7565b60006107878284612907565b6000612e7a82612a18565b91506107878284612907565b6000612e7a82612c74565b60208101610682828461284e565b60608101612ead828661283f565b8181036020830152612ebf8185612857565b90508181036040830152612ed381846128b0565b95945050505050565b60408101612eea828561284e565b610787602083018461284e565b60608101612f05828661284e565b612f12602083018561284e565b611ecd6040830184612e51565b60408101612f2d828561284e565b6107876020830184612e51565b602080825281016107878184612857565b60408082528101612f5c8185612857565b90508181036020830152611ecd81846128b0565b6020810161068282846128fe565b60208082528101610787818461293f565b6020808252810161068281612977565b60208082528101610682816129a4565b60208082528101610682816129d3565b6020808252810161068281612a43565b6020808252810161068281612a87565b6020808252810161068281612ac0565b6020808252810161068281612af9565b6020808252810161068281612b41565b6020808252810161068281612b7a565b6020808252810161068281612bbd565b6020808252810161068281612bea565b6020808252810161068281612c2d565b6020808252810161068281612c93565b6020808252810161068281612cd9565b6020808252810161068281612d12565b6020808252810161068281612d5e565b6020808252810161068281612d97565b6020808252810161068281612def565b604081016106828284612e28565b602081016106828284612e51565b604081016130d98285612e51565b61078760208301846128fe565b604081016130f48285612e51565b6107876020830184612936565b60408101612f2d8285612e51565b6060810161311d8286612e51565b61312a6020830185612e51565b611ecd60408301846128fe565b602081016106828284612e5a565b60405181810167ffffffffffffffff8111828210171561316457600080fd5b604052919050565b600067ffffffffffffffff82111561318357600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b919050565b6000610682826131c8565b151590565b6001600160801b031690565b6001600160a01b031690565b90565b60ff1690565b6000610682826131f3565b6000610682826131d4565b6000610682826131ac565b60005b83811015613219578181015183820152602001613201565b838111156119ae5750506000910152565b601f01601f191690565b61323d816131ac565b8114610a9357600080fd5b61323d816131b7565b61323d816131d456fe45524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa164736f6c634300060c000a", "sourceMap": "569:339:261:-:0;;;660:246;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;850:11;863:12;877:9;888:10;1342:1:262;787:32:365;1342:1:262;787:17:365;:32::i;:::-;735:91;1390:11:262::1;-1:-1:-1::0;;;;;1356:46:262::1;;;-1:-1:-1::0;;;;;1356:46:262::1;;;;;::::0;::::1;1413:265;1533:4;1560:14;1596:9;1627;1469:185;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;1413:17:262::1;:265::i;:::-;1175:510:::0;;;;660:246:261;;;;569:339;;2101:162:365;2174:12;:32;;-1:-1:-1;;;;;;2174:32:365;-1:-1:-1;;;;;2174:32:365;;;;;2222:34;;;;;;2174:32;;2222:34;:::i;:::-;;;;;;;;2101:162;:::o;569:339:261:-;;;;;;;;:::o;5:134:-1:-;83:13;;101:33;83:13;101:33;:::i;:::-;68:71;;;;:::o;146:672::-;;;;;312:3;300:9;291:7;287:23;283:33;280:2;;;329:1;326;319:12;280:2;364:1;381:64;437:7;417:9;381:64;:::i;:::-;371:74;;343:108;482:2;500:64;556:7;547:6;536:9;532:22;500:64;:::i;:::-;490:74;;461:109;601:2;619:64;675:7;666:6;655:9;651:22;619:64;:::i;:::-;609:74;;580:109;720:2;738:64;794:7;785:6;774:9;770:22;738:64;:::i;:::-;728:74;;699:109;274:544;;;;;;;:::o;825:113::-;908:24;926:5;908:24;:::i;:::-;903:3;896:37;890:48;;:::o;945:222::-;1072:2;1057:18;;1086:71;1061:9;1130:6;1086:71;:::i;1174:556::-;1385:3;1370:19;;1400:71;1374:9;1444:6;1400:71;:::i;:::-;1482:72;1550:2;1539:9;1535:18;1526:6;1482:72;:::i;:::-;1565;1633:2;1622:9;1618:18;1609:6;1565:72;:::i;:::-;1648;1716:2;1705:9;1701:18;1692:6;1648:72;:::i;:::-;1356:374;;;;;;;:::o;1737:91::-;;-1:-1;;;;;1897:54;;1799:24;1880:76::o;1963:117::-;2032:24;2050:5;2032:24;:::i;:::-;2025:5;2022:35;2012:2;;2071:1;2068;2061:12;2012:2;2006:74;:::o;:::-;569:339:261;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x60806040523480156200001157600080fd5b5060043610620000a05760003560e01c80638aeb8b84116200006f5780638aeb8b84146200010c57806397b02f0c146200012557806398a7c4c7146200013c578063a5e387511462000146578063d0ac1a8d146200015d57620000a0565b80630c0872f514620000a55780631c25201c14620000d4578063456b4a3714620000eb578063893d20e81462000102575b600080fd5b620000bc620000b636600462000866565b62000174565b604051620000cb919062000a05565b60405180910390f35b620000bc620000e53660046200089f565b620001fd565b620000bc620000fc366004620007d6565b62000218565b620000bc62000236565b620001236200011d36600462000820565b620002d2565b005b620001236200013636600462000820565b620003bc565b620000bc62000498565b620000bc620001573660046200089f565b620004a7565b620001236200016e366004620007d6565b62000650565b600081306040516200018690620006f3565b6200019392919062000a6f565b604051809103906000f080158015620001b0573d6000803e3d6000fd5b509050336001600160a01b03167f8f1eab90fee81d885732c2e07a3a9b9f6c32278756471123fa57486858c3f7018284604051620001f092919062000a3b565b60405180910390a2919050565b6000908152600160205260409020546001600160a01b031690565b6001600160a01b039081166000908152600260205260409020541690565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b1580156200029257600080fd5b505afa158015620002a7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002cd9190620007ff565b905090565b620002dc62000236565b6001600160a01b0316336001600160a01b031614620003185760405162461bcd60e51b81526004016200030f9062000a93565b60405180910390fd5b60005b81811015620003b7578282828181106200033157fe5b9050602002016020810190620003489190620007d6565b6001600160a01b03166357d159c660006040518263ffffffff1660e01b815260040162000376919062000a5f565b600060405180830381600087803b1580156200039157600080fd5b505af1158015620003a6573d6000803e3d6000fd5b5050600190920191506200031b9050565b505050565b620003c662000236565b6001600160a01b0316336001600160a01b031614620003f95760405162461bcd60e51b81526004016200030f9062000a93565b60005b81811015620003b7578282828181106200041257fe5b9050602002016020810190620004299190620007d6565b6001600160a01b03166357d159c660016040518263ffffffff1660e01b815260040162000457919062000a5f565b600060405180830381600087803b1580156200047257600080fd5b505af115801562000487573d6000803e3d6000fd5b505060019092019150620003fc9050565b6000546001600160a01b031690565b600080620004b583620001fd565b6001600160a01b031614620004de5760405162461bcd60e51b81526004016200030f9062000aa5565b606063b7b0422d60e01b83604051602401620004fb919062000ac9565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915290506200053a8162000174565b600084815260016020908152604080832080546001600160a01b0319166001600160a01b0386169081179091558151632e266ba960e21b81529151949650929363b899aea492600480840193919291829003018186803b1580156200059e57600080fd5b505afa158015620005b3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620005d99190620007ff565b6001600160a01b038481166000908152600260205260409081902080546001600160a01b031916928416929092179091555190915084907fe547dfbae0eb3c2c335669b841fa076eb2a1a64eab9bd2fb49868b5e624586f19062000641908690859062000a15565b60405180910390a25050919050565b6200065a62000236565b6001600160a01b0316336001600160a01b0316146200068d5760405162461bcd60e51b81526004016200030f9062000ab7565b62000698816200069b565b50565b600080546001600160a01b0319166001600160a01b0383161790556040517f9007c6c0b3b1622c381c19563620e3ce8b824e958af3020495bd6654e8a0310a90620006e890839062000a05565b60405180910390a150565b61037e8062000bc483390190565b80356200070e8162000ba1565b92915050565b80516200070e8162000ba1565b60008083601f8401126200073457600080fd5b50813567ffffffffffffffff8111156200074d57600080fd5b6020830191508360208202830111156200076657600080fd5b9250929050565b600082601f8301126200077f57600080fd5b813562000796620007908262000b01565b62000ad9565b91508082526020830160208301858383011115620007b357600080fd5b620007c083828462000b58565b50505092915050565b80356200070e8162000bb8565b600060208284031215620007e957600080fd5b6000620007f7848462000701565b949350505050565b6000602082840312156200081257600080fd5b6000620007f7848462000714565b600080602083850312156200083457600080fd5b823567ffffffffffffffff8111156200084c57600080fd5b6200085a8582860162000721565b92509250509250929050565b6000602082840312156200087957600080fd5b813567ffffffffffffffff8111156200089157600080fd5b620007f7848285016200076d565b600060208284031215620008b257600080fd5b6000620007f78484620007c9565b620008cb8162000b37565b82525050565b620008cb8162000b44565b6000620008e98262000b2a565b620008f5818562000b2e565b93506200090781856020860162000b64565b620009128162000b97565b9093019392505050565b60006200092b60258362000b2e565b7f4f6e6c7920746865206f776e65722063616e2063616c6c20746869732066756e81526431ba34b7b760d91b602082015260400192915050565b600062000974601e8362000b2e565b7f6465706c6f793a205772617070657220616c7265616479206578697374730000815260200192915050565b6000620009af60368362000b2e565b7f73657443616e6f6e6963616c4c69623a204f6e6c7920746865206f776e65722081527531b0b71031b0b636103a3434b990333ab731ba34b7b760511b602082015260400192915050565b620008cb8162000b55565b602081016200070e8284620008c0565b6040810162000a258285620008c0565b62000a346020830184620008c0565b9392505050565b6040810162000a4b8285620008c0565b8181036020830152620007f78184620008dc565b602081016200070e8284620008d1565b6040808252810162000a828185620008dc565b905062000a346020830184620008c0565b602080825281016200070e816200091c565b602080825281016200070e8162000965565b602080825281016200070e81620009a0565b602081016200070e8284620009fa565b60405181810167ffffffffffffffff8111828210171562000af957600080fd5b604052919050565b600067ffffffffffffffff82111562000b1957600080fd5b506020601f91909101601f19160190565b5190565b90815260200190565b60006200070e8262000b49565b151590565b6001600160a01b031690565b90565b82818337506000910152565b60005b8381101562000b8157818101518382015260200162000b67565b8381111562000b91576000848401525b50505050565b601f01601f191690565b62000bac8162000b37565b81146200069857600080fd5b62000bac8162000b5556fe60a060405234801561001057600080fd5b5060405161037e38038061037e8339818101604052604081101561003357600080fd5b810190808051604051939291908464010000000082111561005357600080fd5b90830190602082018581111561006857600080fd5b825164010000000081118282018810171561008257600080fd5b82525081516020918201929091019080838360005b838110156100af578181015183820152602001610097565b50505050905090810190601f1680156100dc5780820380516001836020036101000a031916815260200191505b506040818152602092830151606081811b6001600160601b0319166080526398a7c4c760e01b845291519095506000945090926001600160a01b038616926398a7c4c79260048083019392829003018186803b15801561013b57600080fd5b505afa15801561014f573d6000803e3d6000fd5b505050506040513d602081101561016557600080fd5b505160405185516001600160a01b0390921691869190819060208401908083835b602083106101a55780518252601f199092019160209182019101610186565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610205576040519150601f19603f3d011682016040523d82523d6000602084013e61020a565b606091505b509150915081819061029a5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561025f578181015183820152602001610247565b50505050905090810190601f16801561028c5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050505060805160601c60c56102b960003980600e525060c56000f3fe608060405236600a57005b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166398a7c4c76040518163ffffffff1660e01b815260040160206040518083038186803b158015606457600080fd5b505afa1580156077573d6000803e3d6000fd5b505050506040513d6020811015608c57600080fd5b505190503660008037600080366000846127105a03f43d806000803e81801560b357816000f35b816000fdfea164736f6c634300060c000aa164736f6c634300060c000a", "sourceMap": "569:339:261:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1019:261:365;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4190:128:262;;;;;;:::i;:::-;;:::i;3855:149::-;;;;;;:::i;:::-;;:::i;3459:120::-;;;:::i;3026:221::-;;;;;;:::i;:::-;;:::i;:::-;;2669:218;;;;;;:::i;:::-;;:::i;1393:116:365:-;;;:::i;1875:660:262:-;;;;;;:::i;:::-;;:::i;1788:257:365:-;;;;;;:::i;:::-;;:::i;1019:261::-;1094:14;1153;1177:4;1137:46;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;1120:64;;1214:10;-1:-1:-1;;;;;1200:49:365;;1226:6;1234:14;1200:49;;;;;;;:::i;:::-;;;;;;;;1019:261;;;:::o;4190:128:262:-;4258:16;4293:18;;;:12;:18;;;;;;-1:-1:-1;;;;;4293:18:262;;4190:128::o;3855:149::-;-1:-1:-1;;;;;3966:31:262;;;3931:16;3966:31;;;:21;:31;;;;;;;;3855:149::o;3459:120::-;3509:14;3542:19;-1:-1:-1;;;;;3542:28:262;;:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3535:37;;3459:120;:::o;3026:221::-;1099:10;:8;:10::i;:::-;-1:-1:-1;;;;;1085:24:262;:10;-1:-1:-1;;;;;1085:24:262;;1077:74;;;;-1:-1:-1;;;1077:74:262;;;;;;;:::i;:::-;;;;;;;;;3115:9:::1;3110:131;3126:20:::0;;::::1;3110:131;;;3198:9;;3208:1;3198:12;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;3167:56:262::1;;3224:5;3167:63;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;3148:3:262::1;::::0;;::::1;::::0;-1:-1:-1;3110:131:262::1;::::0;-1:-1:-1;3110:131:262::1;;;3026:221:::0;;:::o;2669:218::-;1099:10;:8;:10::i;:::-;-1:-1:-1;;;;;1085:24:262;:10;-1:-1:-1;;;;;1085:24:262;;1077:74;;;;-1:-1:-1;;;1077:74:262;;;;;;;:::i;:::-;2756:9:::1;2751:130;2767:20:::0;;::::1;2751:130;;;2839:9;;2849:1;2839:12;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;2808:56:262::1;;2865:4;2808:62;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;2789:3:262::1;::::0;;::::1;::::0;-1:-1:-1;2751:130:262::1;::::0;-1:-1:-1;2751:130:262::1;1393:116:365::0;1450:21;1490:12;-1:-1:-1;;;;;1490:12:365;1393:116;:::o;1875:660:262:-;1923:21;;1964:29;1988:4;1964:23;:29::i;:::-;-1:-1:-1;;;;;1964:43:262;;1956:86;;;;-1:-1:-1;;;1956:86:262;;;;;;;:::i;:::-;2053:26;2118:44;;;2176:4;2082:108;;;;;;;;:::i;:::-;;;;-1:-1:-1;;2082:108:262;;;;;;;;;;;;;;-1:-1:-1;;;;;2082:108:262;-1:-1:-1;;;;;;2082:108:262;;;;;;;;;;;-1:-1:-1;2217:26:262;2082:108;2217:11;:26::i;:::-;2254:18;;;;:12;:18;;;;;;;;:34;;-1:-1:-1;;;;;;2254:34:262;-1:-1:-1;;;;;2254:34:262;;;;;;;;2317:63;;-1:-1:-1;;;2317:63:262;;;;2254:34;;-1:-1:-1;2254:18:262;;2317:61;;:63;;;;;2254:18;;2317:63;;;;;;2254:34;2317:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;2390:36:262;;;;;;;:21;:36;;;;;;;:46;;-1:-1:-1;;;;;;2390:46:262;;;;;;;;;;;2452:45;2390:46;;-1:-1:-1;2468:4:262;;2452:45;;;;2390:36;;:46;;2452:45;:::i;:::-;;;;;;;;2508:20;;1875:660;;;:::o;1788:257:365:-;1901:10;:8;:10::i;:::-;-1:-1:-1;;;;;1887:24:365;:10;-1:-1:-1;;;;;1887:24:365;;1866:125;;;;-1:-1:-1;;;1866:125:365;;;;;;;:::i;:::-;2002:36;2020:17;2002;:36::i;:::-;1788:257;:::o;2101:162::-;2174:12;:32;;-1:-1:-1;;;;;;2174:32:365;-1:-1:-1;;;;;2174:32:365;;;;;2222:34;;;;;;2174:32;;2222:34;:::i;:::-;;;;;;;;2101:162;:::o;-1:-1:-1:-;;;;;;;;:::o;5:130::-;72:20;;97:33;72:20;97:33;:::i;:::-;57:78;;;;:::o;142:134::-;220:13;;238:33;220:13;238:33;:::i;301:352::-;;;431:3;424:4;416:6;412:17;408:27;398:2;;449:1;446;439:12;398:2;-1:-1;469:20;;509:18;498:30;;495:2;;;541:1;538;531:12;495:2;575:4;567:6;563:17;551:29;;626:3;618:4;610:6;606:17;596:8;592:32;589:41;586:2;;;643:1;640;633:12;586:2;391:262;;;;;:::o;662:440::-;;763:3;756:4;748:6;744:17;740:27;730:2;;781:1;778;771:12;730:2;818:6;805:20;840:64;855:48;896:6;855:48;:::i;:::-;840:64;:::i;:::-;831:73;;924:6;917:5;910:21;960:4;952:6;948:17;993:4;986:5;982:16;1028:3;1019:6;1014:3;1010:16;1007:25;1004:2;;;1045:1;1042;1035:12;1004:2;1055:41;1089:6;1084:3;1079;1055:41;:::i;:::-;723:379;;;;;;;:::o;1110:130::-;1177:20;;1202:33;1177:20;1202:33;:::i;1247:241::-;;1351:2;1339:9;1330:7;1326:23;1322:32;1319:2;;;1367:1;1364;1357:12;1319:2;1402:1;1419:53;1464:7;1444:9;1419:53;:::i;:::-;1409:63;1313:175;-1:-1;;;;1313:175::o;1495:263::-;;1610:2;1598:9;1589:7;1585:23;1581:32;1578:2;;;1626:1;1623;1616:12;1578:2;1661:1;1678:64;1734:7;1714:9;1678:64;:::i;1765:397::-;;;1904:2;1892:9;1883:7;1879:23;1875:32;1872:2;;;1920:1;1917;1910:12;1872:2;1955:31;;2006:18;1995:30;;1992:2;;;2038:1;2035;2028:12;1992:2;2066:80;2138:7;2129:6;2118:9;2114:22;2066:80;:::i;:::-;2048:98;;;;1934:218;1866:296;;;;;:::o;2169:345::-;;2282:2;2270:9;2261:7;2257:23;2253:32;2250:2;;;2298:1;2295;2288:12;2250:2;2333:31;;2384:18;2373:30;;2370:2;;;2416:1;2413;2406:12;2370:2;2436:62;2490:7;2481:6;2470:9;2466:22;2436:62;:::i;2521:241::-;;2625:2;2613:9;2604:7;2600:23;2596:32;2593:2;;;2641:1;2638;2631:12;2593:2;2676:1;2693:53;2738:7;2718:9;2693:53;:::i;2769:113::-;2852:24;2870:5;2852:24;:::i;:::-;2847:3;2840:37;2834:48;;:::o;2889:104::-;2966:21;2981:5;2966:21;:::i;3000:343::-;;3110:38;3142:5;3110:38;:::i;:::-;3160:70;3223:6;3218:3;3160:70;:::i;:::-;3153:77;;3235:52;3280:6;3275:3;3268:4;3261:5;3257:16;3235:52;:::i;:::-;3308:29;3330:6;3308:29;:::i;:::-;3299:39;;;;3090:253;-1:-1;;;3090:253::o;3351:374::-;;3511:67;3575:2;3570:3;3511:67;:::i;:::-;3611:34;3591:55;;-1:-1;;;3675:2;3666:12;;3659:29;3716:2;3707:12;;3497:228;-1:-1;;3497:228::o;3734:330::-;;3894:67;3958:2;3953:3;3894:67;:::i;:::-;3994:32;3974:53;;4055:2;4046:12;;3880:184;-1:-1;;3880:184::o;4073:391::-;;4233:67;4297:2;4292:3;4233:67;:::i;:::-;4333:34;4313:55;;-1:-1;;;4397:2;4388:12;;4381:46;4455:2;4446:12;;4219:245;-1:-1;;4219:245::o;4472:113::-;4555:24;4573:5;4555:24;:::i;4592:222::-;4719:2;4704:18;;4733:71;4708:9;4777:6;4733:71;:::i;4821:333::-;4976:2;4961:18;;4990:71;4965:9;5034:6;4990:71;:::i;:::-;5072:72;5140:2;5129:9;5125:18;5116:6;5072:72;:::i;:::-;4947:207;;;;;:::o;5161:417::-;5334:2;5319:18;;5348:71;5323:9;5392:6;5348:71;:::i;:::-;5467:9;5461:4;5457:20;5452:2;5441:9;5437:18;5430:48;5492:76;5563:4;5554:6;5492:76;:::i;5585:210::-;5706:2;5691:18;;5720:65;5695:9;5758:6;5720:65;:::i;5802:417::-;5975:2;5989:47;;;5960:18;;6050:76;5960:18;6112:6;6050:76;:::i;:::-;6042:84;;6137:72;6205:2;6194:9;6190:18;6181:6;6137:72;:::i;6226:416::-;6426:2;6440:47;;;6411:18;;6501:131;6411:18;6501:131;:::i;6649:416::-;6849:2;6863:47;;;6834:18;;6924:131;6834:18;6924:131;:::i;7072:416::-;7272:2;7286:47;;;7257:18;;7347:131;7257:18;7347:131;:::i;7495:222::-;7622:2;7607:18;;7636:71;7611:9;7680:6;7636:71;:::i;7724:256::-;7786:2;7780:9;7812:17;;;7887:18;7872:34;;7908:22;;;7869:62;7866:2;;;7944:1;7941;7934:12;7866:2;7960;7953:22;7764:216;;-1:-1;7764:216::o;7987:321::-;;8130:18;8122:6;8119:30;8116:2;;;8162:1;8159;8152:12;8116:2;-1:-1;8293:4;8229;8206:17;;;;-1:-1;;8202:33;8283:15;;8053:255::o;8315:121::-;8402:12;;8373:63::o;8444:162::-;8546:19;;;8595:4;8586:14;;8539:67::o;8786:91::-;;8848:24;8866:5;8848:24;:::i;8884:85::-;8950:13;8943:21;;8926:43::o;8976:121::-;-1:-1;;;;;9038:54;;9021:76::o;9104:72::-;9166:5;9149:27::o;9184:145::-;9265:6;9260:3;9255;9242:30;-1:-1;9321:1;9303:16;;9296:27;9235:94::o;9338:268::-;9403:1;9410:101;9424:6;9421:1;9418:13;9410:101;;;9491:11;;;9485:18;9472:11;;;9465:39;9446:2;9439:10;9410:101;;;9526:6;9523:1;9520:13;9517:2;;;9591:1;9582:6;9577:3;9573:16;9566:27;9517:2;9387:219;;;;:::o;9614:97::-;9702:2;9682:14;-1:-1;;9678:28;;9662:49::o;9719:117::-;9788:24;9806:5;9788:24;:::i;:::-;9781:5;9778:35;9768:2;;9827:1;9824;9817:12;9843:117;9912:24;9930:5;9912:24;:::i", "linkReferences": {}, "immutableReferences": { "69636": [ { "start": 570, "length": 32 } ] } }, "methodIdentifiers": { "deploy(uint256)": "a5e38751", "deployProxy(bytes)": "0c0872f5", "getCanonicalLib()": "98a7c4c7", "getCurveLpTokenForWrapper(address)": "456b4a37", "getOwner()": "893d20e8", "getWrapperForConvexPool(uint256)": "1c25201c", "pauseWrappers(address[])": "97b02f0c", "setCanonicalLib(address)": "d0ac1a8d", "unpauseWrappers(address[])": "8aeb8b84" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_dispatcher\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_auraBooster\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_balToken\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_auraToken\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"nextCanonicalLib\",\"type\":\"address\"}],\"name\":\"CanonicalLibSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"proxy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"constructData\",\"type\":\"bytes\"}],\"name\":\"ProxyDeployed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"pid\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"wrapperProxy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"curveLpToken\",\"type\":\"address\"}],\"name\":\"WrapperDeployed\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_pid\",\"type\":\"uint256\"}],\"name\":\"deploy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"wrapperProxy_\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_constructData\",\"type\":\"bytes\"}],\"name\":\"deployProxy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"proxy_\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCanonicalLib\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"canonicalLib_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_wrapper\",\"type\":\"address\"}],\"name\":\"getCurveLpTokenForWrapper\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"lpToken_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_pid\",\"type\":\"uint256\"}],\"name\":\"getWrapperForConvexPool\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"wrapper_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_wrappers\",\"type\":\"address[]\"}],\"name\":\"pauseWrappers\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nextCanonicalLib\",\"type\":\"address\"}],\"name\":\"setCanonicalLib\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_wrappers\",\"type\":\"address[]\"}],\"name\":\"unpauseWrappers\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"deploy(uint256)\":{\"params\":{\"_pid\":\"The Convex Curve pool id\"},\"returns\":{\"wrapperProxy_\":\"The staking wrapper proxy contract address\"}},\"deployProxy(bytes)\":{\"params\":{\"_constructData\":\"The constructor data with which to call `init()` on the deployed proxy\"},\"returns\":{\"proxy_\":\"The proxy address\"}},\"getCanonicalLib()\":{\"returns\":{\"canonicalLib_\":\"The canonical lib\"}},\"getCurveLpTokenForWrapper(address)\":{\"params\":{\"_wrapper\":\"The wrapper proxy address\"},\"returns\":{\"lpToken_\":\"The Curve LP token address\"}},\"getOwner()\":{\"returns\":{\"owner_\":\"The contract owner\"}},\"getWrapperForConvexPool(uint256)\":{\"params\":{\"_pid\":\"The Convex pool id\"},\"returns\":{\"wrapper_\":\"The wrapper proxy address\"}},\"pauseWrappers(address[])\":{\"params\":{\"_wrappers\":\"The wrappers to pause\"}},\"setCanonicalLib(address)\":{\"params\":{\"_nextCanonicalLib\":\"The next canonical lib\"}},\"unpauseWrappers(address[])\":{\"params\":{\"_wrappers\":\"The wrappers to unpause\"}}},\"title\":\"AuraBalancerV2LpStakingWrapperFactory Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"deploy(uint256)\":{\"notice\":\"Deploys a staking wrapper for a given Convex pool\"},\"deployProxy(bytes)\":{\"notice\":\"Deploys a new proxy instance\"},\"getCanonicalLib()\":{\"notice\":\"Gets the canonical lib used by all proxies\"},\"getCurveLpTokenForWrapper(address)\":{\"notice\":\"Gets the Curve LP token address for a given wrapper\"},\"getOwner()\":{\"notice\":\"Gets the contract owner\"},\"getWrapperForConvexPool(uint256)\":{\"notice\":\"Gets the wrapper address for a given Convex pool\"},\"pauseWrappers(address[])\":{\"notice\":\"Pause deposits and harvesting new rewards for the given wrappers\"},\"setCanonicalLib(address)\":{\"notice\":\"Sets the next canonical lib used by all proxies\"},\"unpauseWrappers(address[])\":{\"notice\":\"Unpauses deposits and harvesting new rewards for the given wrappers\"}},\"notice\":\"A contract factory for Aura BalancerV2 staking wrapper instances\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/infrastructure/staking-wrappers/aura-balancer-v2-lp/AuraBalancerV2LpStakingWrapperFactory.sol\":\"AuraBalancerV2LpStakingWrapperFactory\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/release/infrastructure/staking-wrappers/IStakingWrapper.sol\":{\"keccak256\":\"0xaeb9aba4e74eb3243a85090fded7b157969cf83e1f4159b1da2f662a3e7b15be\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://92346911c044a54808d2d425fe58c6dc9594dfafb8d83496f6599e3bc23803d0\",\"dweb:/ipfs/QmYWf7yx9ZfUnP81K1hjvApthqNhpXzUhGuFBm4gX1aDRB\"]},\"contracts/release/infrastructure/staking-wrappers/StakingWrapperBase.sol\":{\"keccak256\":\"0x3e28050fbe625f1469701b231772ce321e719ddbce4f84b6caa1d8d634a4234a\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f0871b7d6b595e444e598f68751225a596d969267c289a465462fdeb67530fc8\",\"dweb:/ipfs/QmX2z5QGP3kpKx9ruGnZHYH5bDCD9sjRGTRhg9SRiowctg\"]},\"contracts/release/infrastructure/staking-wrappers/StakingWrapperLibBase.sol\":{\"keccak256\":\"0x94d4057419743d9354d77774e1e5279a5ed2fc70012ef28115357f9921bfb5be\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d1e461f460a0339cada6cdfb0107bde47d236b336fec0ed470235ce7928666bb\",\"dweb:/ipfs/QmcMzSrcWTKyqgBAACVCidd2dpMfbeUtcQYu4D1ASiyFzk\"]},\"contracts/release/infrastructure/staking-wrappers/aura-balancer-v2-lp/AuraBalancerV2LpStakingWrapperFactory.sol\":{\"keccak256\":\"0x5d350891df10d2874125741a6346e91a8d05995df035e914676fab1ffaa45562\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5cd06518169b6df46ed6778b7f13b8b7bd27a6806932347f6ed0fdf68f464c03\",\"dweb:/ipfs/QmTburYKxytgdccKgKJVNX4HCFfxGTRZWSb3yjYJyootSi\"]},\"contracts/release/infrastructure/staking-wrappers/convex-curve-lp/ConvexCurveLpStakingWrapperFactory.sol\":{\"keccak256\":\"0x4f7394dea52858ea7734ed8586377d1ebef39e1ca6aa5ed684fea7a7fe82b16a\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c7a5181757151d6210193dfa97b3076edcfe3017b4fefbfbbe3ab848878d5996\",\"dweb:/ipfs/Qme9tTYoAhMkHVLbwKQoSdVJTec1p9zAPwzSe7RZFvnkYu\"]},\"contracts/release/infrastructure/staking-wrappers/convex-curve-lp/ConvexCurveLpStakingWrapperLib.sol\":{\"keccak256\":\"0x1ec08f37e592766bb7f0d62edb04261bcd3c26154bb5dc437465f836fabf3427\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://0265250d2255bcb61fdb1842e7dbb26e4d56a11a1e3fd87f0790644277bb7259\",\"dweb:/ipfs/Qmb5kVMTr86qYkJu8o1YNwnCrbUJMhmhnFHMrdx2vZhdED\"]},\"contracts/release/interfaces/IConvexBaseRewardPool.sol\":{\"keccak256\":\"0x7c82b546c3c339c6f602191bc9062d6887af7db438800359c0547aa6bb025acc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://13a488b1d715000d1ed9415917a8f9c347ec91b04770b74746facacd88e2e105\",\"dweb:/ipfs/QmaHJKxagREc7Mbq8SkSbWgzwk8bNSFTwojAD5hNemwy1Y\"]},\"contracts/release/interfaces/IConvexBooster.sol\":{\"keccak256\":\"0x6e7561d2d7e71a0c89a6e62445de5c54c2e50d17877b23d8b5af10721dd90ed5\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://772cf7f429a04a557d3b0ed36a73390da64fd93a9df253e0c7e9ebeeecd063ea\",\"dweb:/ipfs/QmXjfnXmtGV67wypxof8nWVTkXAEZqBpFjYePfr17K8rAL\"]},\"contracts/release/interfaces/IConvexVirtualBalanceRewardPool.sol\":{\"keccak256\":\"0x45a7d783e4088cf1b5dcb548da2fce6b0caa9c572c43af9f39aff46498fa101c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://82ed678230fe900991bd81a6c31dae01d120fe5521f96d1cc36c40334385f907\",\"dweb:/ipfs/QmYre4JtyoXmetrYUwFMrPKwBY1NEm2XYdgMiAR7Z7P2jW\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/beacon-proxy/BeaconProxy.sol\":{\"keccak256\":\"0x7a0a6c511a30434a9b329226b0cf1a05ec426ddbfc4e1d9b9083978ee4cf6d53\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://692d3a116ecf306f20a3d29dc70846099ce46ba281524a502336325a6cd05667\",\"dweb:/ipfs/QmTGxmDWMcMtGEsPLzVB8eyK3WDqaCwoChuc24RXuSzwVb\"]},\"contracts/release/utils/beacon-proxy/BeaconProxyFactory.sol\":{\"keccak256\":\"0xd35fa5134e3a8694ed1dbbc8dcd4b4d5b459608c23097a95984e1b98af3e64d9\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1c008f83ac64b316479406cbf0287593a810d453825a2f669b5810c51429f9fc\",\"dweb:/ipfs/QmNtdtcWGZFpnb3LsshwV5BiM5H1Vz8SGpoqMchUyfuhQx\"]},\"contracts/release/utils/beacon-proxy/IBeacon.sol\":{\"keccak256\":\"0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39\",\"dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V\"]},\"contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol\":{\"keccak256\":\"0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be\",\"dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]},\"node_modules/@openzeppelin/contracts/utils/ReentrancyGuard.sol\":{\"keccak256\":\"0x8bbbc2f5c10065ee272592ae0a7a6ceb23de2fbd81564ee0bb015ecf404d5f61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b95e56c1640d0ef789fc5c16269e141e992f6c8ac97cc6d377bd3825e9cab182\",\"dweb:/ipfs/QmVzaxJZY51EhagrcNnkxoU6Uq17RhATe7aHvtkC6wUkgK\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_dispatcher", "type": "address" }, { "internalType": "address", "name": "_auraBooster", "type": "address" }, { "internalType": "address", "name": "_balToken", "type": "address" }, { "internalType": "address", "name": "_auraToken", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "nextCanonicalLib", "type": "address", "indexed": false } ], "type": "event", "name": "CanonicalLibSet", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "caller", "type": "address", "indexed": true }, { "internalType": "address", "name": "proxy", "type": "address", "indexed": false }, { "internalType": "bytes", "name": "constructData", "type": "bytes", "indexed": false } ], "type": "event", "name": "ProxyDeployed", "anonymous": false }, { "inputs": [ { "internalType": "uint256", "name": "pid", "type": "uint256", "indexed": true }, { "internalType": "address", "name": "wrapperProxy", "type": "address", "indexed": false }, { "internalType": "address", "name": "curveLpToken", "type": "address", "indexed": false } ], "type": "event", "name": "WrapperDeployed", "anonymous": false }, { "inputs": [ { "internalType": "uint256", "name": "_pid", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "deploy", "outputs": [ { "internalType": "address", "name": "wrapperProxy_", "type": "address" } ] }, { "inputs": [ { "internalType": "bytes", "name": "_constructData", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "deployProxy", "outputs": [ { "internalType": "address", "name": "proxy_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getCanonicalLib", "outputs": [ { "internalType": "address", "name": "canonicalLib_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_wrapper", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getCurveLpTokenForWrapper", "outputs": [ { "internalType": "address", "name": "lpToken_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getOwner", "outputs": [ { "internalType": "address", "name": "owner_", "type": "address" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_pid", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "getWrapperForConvexPool", "outputs": [ { "internalType": "address", "name": "wrapper_", "type": "address" } ] }, { "inputs": [ { "internalType": "address[]", "name": "_wrappers", "type": "address[]" } ], "stateMutability": "nonpayable", "type": "function", "name": "pauseWrappers" }, { "inputs": [ { "internalType": "address", "name": "_nextCanonicalLib", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "setCanonicalLib" }, { "inputs": [ { "internalType": "address[]", "name": "_wrappers", "type": "address[]" } ], "stateMutability": "nonpayable", "type": "function", "name": "unpauseWrappers" } ], "devdoc": { "kind": "dev", "methods": { "deploy(uint256)": { "params": { "_pid": "The Convex Curve pool id" }, "returns": { "wrapperProxy_": "The staking wrapper proxy contract address" } }, "deployProxy(bytes)": { "params": { "_constructData": "The constructor data with which to call `init()` on the deployed proxy" }, "returns": { "proxy_": "The proxy address" } }, "getCanonicalLib()": { "returns": { "canonicalLib_": "The canonical lib" } }, "getCurveLpTokenForWrapper(address)": { "params": { "_wrapper": "The wrapper proxy address" }, "returns": { "lpToken_": "The Curve LP token address" } }, "getOwner()": { "returns": { "owner_": "The contract owner" } }, "getWrapperForConvexPool(uint256)": { "params": { "_pid": "The Convex pool id" }, "returns": { "wrapper_": "The wrapper proxy address" } }, "pauseWrappers(address[])": { "params": { "_wrappers": "The wrappers to pause" } }, "setCanonicalLib(address)": { "params": { "_nextCanonicalLib": "The next canonical lib" } }, "unpauseWrappers(address[])": { "params": { "_wrappers": "The wrappers to unpause" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "deploy(uint256)": { "notice": "Deploys a staking wrapper for a given Convex pool" }, "deployProxy(bytes)": { "notice": "Deploys a new proxy instance" }, "getCanonicalLib()": { "notice": "Gets the canonical lib used by all proxies" }, "getCurveLpTokenForWrapper(address)": { "notice": "Gets the Curve LP token address for a given wrapper" }, "getOwner()": { "notice": "Gets the contract owner" }, "getWrapperForConvexPool(uint256)": { "notice": "Gets the wrapper address for a given Convex pool" }, "pauseWrappers(address[])": { "notice": "Pause deposits and harvesting new rewards for the given wrappers" }, "setCanonicalLib(address)": { "notice": "Sets the next canonical lib used by all proxies" }, "unpauseWrappers(address[])": { "notice": "Unpauses deposits and harvesting new rewards for the given wrappers" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/infrastructure/staking-wrappers/aura-balancer-v2-lp/AuraBalancerV2LpStakingWrapperFactory.sol": "AuraBalancerV2LpStakingWrapperFactory" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/dispatcher/IDispatcher.sol": { "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", "urls": [ "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/staking-wrappers/IStakingWrapper.sol": { "keccak256": "0xaeb9aba4e74eb3243a85090fded7b157969cf83e1f4159b1da2f662a3e7b15be", "urls": [ "bzz-raw://92346911c044a54808d2d425fe58c6dc9594dfafb8d83496f6599e3bc23803d0", "dweb:/ipfs/QmYWf7yx9ZfUnP81K1hjvApthqNhpXzUhGuFBm4gX1aDRB" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/staking-wrappers/StakingWrapperBase.sol": { "keccak256": "0x3e28050fbe625f1469701b231772ce321e719ddbce4f84b6caa1d8d634a4234a", "urls": [ "bzz-raw://f0871b7d6b595e444e598f68751225a596d969267c289a465462fdeb67530fc8", "dweb:/ipfs/QmX2z5QGP3kpKx9ruGnZHYH5bDCD9sjRGTRhg9SRiowctg" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/staking-wrappers/StakingWrapperLibBase.sol": { "keccak256": "0x94d4057419743d9354d77774e1e5279a5ed2fc70012ef28115357f9921bfb5be", "urls": [ "bzz-raw://d1e461f460a0339cada6cdfb0107bde47d236b336fec0ed470235ce7928666bb", "dweb:/ipfs/QmcMzSrcWTKyqgBAACVCidd2dpMfbeUtcQYu4D1ASiyFzk" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/staking-wrappers/aura-balancer-v2-lp/AuraBalancerV2LpStakingWrapperFactory.sol": { "keccak256": "0x5d350891df10d2874125741a6346e91a8d05995df035e914676fab1ffaa45562", "urls": [ "bzz-raw://5cd06518169b6df46ed6778b7f13b8b7bd27a6806932347f6ed0fdf68f464c03", "dweb:/ipfs/QmTburYKxytgdccKgKJVNX4HCFfxGTRZWSb3yjYJyootSi" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/staking-wrappers/convex-curve-lp/ConvexCurveLpStakingWrapperFactory.sol": { "keccak256": "0x4f7394dea52858ea7734ed8586377d1ebef39e1ca6aa5ed684fea7a7fe82b16a", "urls": [ "bzz-raw://c7a5181757151d6210193dfa97b3076edcfe3017b4fefbfbbe3ab848878d5996", "dweb:/ipfs/Qme9tTYoAhMkHVLbwKQoSdVJTec1p9zAPwzSe7RZFvnkYu" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/staking-wrappers/convex-curve-lp/ConvexCurveLpStakingWrapperLib.sol": { "keccak256": "0x1ec08f37e592766bb7f0d62edb04261bcd3c26154bb5dc437465f836fabf3427", "urls": [ "bzz-raw://0265250d2255bcb61fdb1842e7dbb26e4d56a11a1e3fd87f0790644277bb7259", "dweb:/ipfs/Qmb5kVMTr86qYkJu8o1YNwnCrbUJMhmhnFHMrdx2vZhdED" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IConvexBaseRewardPool.sol": { "keccak256": "0x7c82b546c3c339c6f602191bc9062d6887af7db438800359c0547aa6bb025acc", "urls": [ "bzz-raw://13a488b1d715000d1ed9415917a8f9c347ec91b04770b74746facacd88e2e105", "dweb:/ipfs/QmaHJKxagREc7Mbq8SkSbWgzwk8bNSFTwojAD5hNemwy1Y" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IConvexBooster.sol": { "keccak256": "0x6e7561d2d7e71a0c89a6e62445de5c54c2e50d17877b23d8b5af10721dd90ed5", "urls": [ "bzz-raw://772cf7f429a04a557d3b0ed36a73390da64fd93a9df253e0c7e9ebeeecd063ea", "dweb:/ipfs/QmXjfnXmtGV67wypxof8nWVTkXAEZqBpFjYePfr17K8rAL" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IConvexVirtualBalanceRewardPool.sol": { "keccak256": "0x45a7d783e4088cf1b5dcb548da2fce6b0caa9c572c43af9f39aff46498fa101c", "urls": [ "bzz-raw://82ed678230fe900991bd81a6c31dae01d120fe5521f96d1cc36c40334385f907", "dweb:/ipfs/QmYre4JtyoXmetrYUwFMrPKwBY1NEm2XYdgMiAR7Z7P2jW" ], "license": "GPL-3.0" }, "contracts/release/utils/AddressArrayLib.sol": { "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", "urls": [ "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" ], "license": "GPL-3.0" }, "contracts/release/utils/beacon-proxy/BeaconProxy.sol": { "keccak256": "0x7a0a6c511a30434a9b329226b0cf1a05ec426ddbfc4e1d9b9083978ee4cf6d53", "urls": [ "bzz-raw://692d3a116ecf306f20a3d29dc70846099ce46ba281524a502336325a6cd05667", "dweb:/ipfs/QmTGxmDWMcMtGEsPLzVB8eyK3WDqaCwoChuc24RXuSzwVb" ], "license": "GPL-3.0" }, "contracts/release/utils/beacon-proxy/BeaconProxyFactory.sol": { "keccak256": "0xd35fa5134e3a8694ed1dbbc8dcd4b4d5b459608c23097a95984e1b98af3e64d9", "urls": [ "bzz-raw://1c008f83ac64b316479406cbf0287593a810d453825a2f669b5810c51429f9fc", "dweb:/ipfs/QmNtdtcWGZFpnb3LsshwV5BiM5H1Vz8SGpoqMchUyfuhQx" ], "license": "GPL-3.0" }, "contracts/release/utils/beacon-proxy/IBeacon.sol": { "keccak256": "0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2", "urls": [ "bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39", "dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V" ], "license": "GPL-3.0" }, "contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol": { "keccak256": "0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc", "urls": [ "bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be", "dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", "urls": [ "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Address.sol": { "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", "urls": [ "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/ReentrancyGuard.sol": { "keccak256": "0x8bbbc2f5c10065ee272592ae0a7a6ceb23de2fbd81564ee0bb015ecf404d5f61", "urls": [ "bzz-raw://b95e56c1640d0ef789fc5c16269e141e992f6c8ac97cc6d377bd3825e9cab182", "dweb:/ipfs/QmVzaxJZY51EhagrcNnkxoU6Uq17RhATe7aHvtkC6wUkgK" ], "license": "MIT" } }, "version": 1 }, "id": 261 } diff --git a/eth_defi/abi/enzyme/AuraBalancerV2LpStakingWrapperPriceFeed.json b/eth_defi/abi/enzyme/AuraBalancerV2LpStakingWrapperPriceFeed.json index 3e2e2bdd..3532225d 100644 --- a/eth_defi/abi/enzyme/AuraBalancerV2LpStakingWrapperPriceFeed.json +++ b/eth_defi/abi/enzyme/AuraBalancerV2LpStakingWrapperPriceFeed.json @@ -1,423 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_wrapperFactory", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_derivative", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_derivativeAmount", - "type": "uint256" - } - ], - "name": "calcUnderlyingValues", - "outputs": [ - { - "internalType": "address[]", - "name": "underlyings_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "underlyingAmounts_", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_asset", - "type": "address" - } - ], - "name": "isSupportedAsset", - "outputs": [ - { - "internalType": "bool", - "name": "isSupported_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x60a060405234801561001057600080fd5b5060405161038b38038061038b8339818101604052602081101561003357600080fd5b5051606081901b6001600160601b0319166080526001600160a01b031661031f61006c60003980610161528061026a525061031f6000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063727212f61461003b5780639be918e614610100575b600080fd5b6100676004803603604081101561005157600080fd5b506001600160a01b03813516906020013561013a565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156100ab578181015183820152602001610093565b50505050905001838103825284818151815260200191508051906020019060200280838360005b838110156100ea5781810151838201526020016100d2565b5050505090500194505050505060405180910390f35b6101266004803603602081101561011657600080fd5b50356001600160a01b031661025c565b604080519115158252519081900360200190f35b604080516001808252818301909252606091829190602080830190803683370190505091507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663456b4a37856040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156101cc57600080fd5b505afa1580156101e0573d6000803e3d6000fd5b505050506040513d60208110156101f657600080fd5b50518251839060009061020557fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509050828160008151811061024957fe5b6020026020010181815250509250929050565b6000806001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663456b4a37846040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156102d557600080fd5b505afa1580156102e9573d6000803e3d6000fd5b505050506040513d60208110156102ff57600080fd5b50516001600160a01b031614159291505056fea164736f6c634300060c000a", - "sourceMap": "524:217:236:-:0;;;619:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;619:120:236;799:69:241;;;;-1:-1:-1;;;;;;799:69:241;;;-1:-1:-1;;;;;524:217:236;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c8063727212f61461003b5780639be918e614610100575b600080fd5b6100676004803603604081101561005157600080fd5b506001600160a01b03813516906020013561013a565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156100ab578181015183820152602001610093565b50505050905001838103825284818151815260200191508051906020019060200280838360005b838110156100ea5781810151838201526020016100d2565b5050505090500194505050505060405180910390f35b6101266004803603602081101561011657600080fd5b50356001600160a01b031661025c565b604080519115158252519081900360200190f35b604080516001808252818301909252606091829190602080830190803683370190505091507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663456b4a37856040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156101cc57600080fd5b505afa1580156101e0573d6000803e3d6000fd5b505050506040513d60208110156101f657600080fd5b50518251839060009061020557fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509050828160008151811061024957fe5b6020026020010181815250509250929050565b6000806001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663456b4a37846040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156102d557600080fd5b505afa1580156102e9573d6000803e3d6000fd5b505050506040513d60208110156102ff57600080fd5b50516001600160a01b031614159291505056fea164736f6c634300060c000a", - "sourceMap": "524:217:236:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1273:482:241;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1273:482:241;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1928:178;;;;;;;;;;;;;;;;-1:-1:-1;1928:178:241;-1:-1:-1;;;;;1928:178:241;;:::i;:::-;;;;;;;;;;;;;;;;;;1273:482;1499:16;;;1513:1;1499:16;;;;;;;;;1402:29;;;;1499:16;;;;;;;;;;;;-1:-1:-1;1499:16:241;1484:31;;1543:15;-1:-1:-1;;;;;1543:41:241;;1585:11;1543:54;;;;;;;;;;;;;-1:-1:-1;;;;;1543:54:241;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1543:54:241;1525:15;;:12;;1538:1;;1525:15;;;;-1:-1:-1;;;;;1525:72:241;;;;:15;;;;;;;;;;:72;1629:16;;;1643:1;1629:16;;;;;;;;;;;;;;1525:15;1629:16;;;;;-1:-1:-1;1629:16:241;1608:37;;1679:17;1655:18;1674:1;1655:21;;;;;;;;;;;;;:41;;;;;1273:482;;;;;:::o;1928:178::-;2000:17;2097:1;-1:-1:-1;;;;;2036:63:241;:15;-1:-1:-1;;;;;2036:41:241;;2078:6;2036:49;;;;;;;;;;;;;-1:-1:-1;;;;;2036:49:241;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2036:49:241;-1:-1:-1;;;;;2036:63:241;;;;1928:178;-1:-1:-1;;1928:178:241:o", - "linkReferences": {}, - "immutableReferences": { - "63662": [ - { - "start": 353, - "length": 32 - }, - { - "start": 618, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "calcUnderlyingValues(address,uint256)": "727212f6", - "isSupportedAsset(address)": "9be918e6" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_wrapperFactory\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_derivative\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_derivativeAmount\",\"type\":\"uint256\"}],\"name\":\"calcUnderlyingValues\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"underlyings_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"underlyingAmounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"}],\"name\":\"isSupportedAsset\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isSupported_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"calcUnderlyingValues(address,uint256)\":{\"params\":{\"_derivative\":\"The derivative to convert\",\"_derivativeAmount\":\"The amount of the derivative to convert\"},\"returns\":{\"underlyingAmounts_\":\"The amount of each underlying asset for the equivalent derivative amount\",\"underlyings_\":\"The underlying assets for the _derivative\"}},\"isSupportedAsset(address)\":{\"params\":{\"_asset\":\"The asset to check\"},\"returns\":{\"isSupported_\":\"True if the asset is supported\"}}},\"title\":\"AuraBalancerV2LpStakingWrapperPriceFeed Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"calcUnderlyingValues(address,uint256)\":{\"notice\":\"Converts a given amount of a derivative to its underlying asset values\"},\"isSupportedAsset(address)\":{\"notice\":\"Checks if an asset is supported by the price feed\"}},\"notice\":\"Price source oracle for wrapped Aura-staked Balancer pool tokens\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/infrastructure/price-feeds/derivatives/feeds/AuraBalancerV2LpStakingWrapperPriceFeed.sol\":\"AuraBalancerV2LpStakingWrapperPriceFeed\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol\":{\"keccak256\":\"0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e\",\"dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK\"]},\"contracts/release/infrastructure/price-feeds/derivatives/feeds/AuraBalancerV2LpStakingWrapperPriceFeed.sol\":{\"keccak256\":\"0xc8c076b5f0fbdfb4f7d592cce6475c22d2d15df200e0e938a56aa5bb8683a4f4\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d25b9e6a6d838fc6ddd81cb78f0ddbb6a43329a6e826af00072221eeb466eb73\",\"dweb:/ipfs/QmRnnfcYbYagdW6f2uAmj61298PfsjoK46DjqaseGcDxj7\"]},\"contracts/release/infrastructure/price-feeds/derivatives/feeds/ConvexCurveLpStakingWrapperPriceFeed.sol\":{\"keccak256\":\"0x142c22a9f9725c349746661a1fd07ce5a648e9228148b78fe0bffa2036393f7b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8be486f53a8cb30077078c3bf5f5d3359156984c9d99e07643b9180359b3da6a\",\"dweb:/ipfs/Qmcf2e7qWLebUwEUS4BDiSpX24xyujNFhTU36rojC8T5cx\"]},\"contracts/release/infrastructure/staking-wrappers/IStakingWrapper.sol\":{\"keccak256\":\"0xaeb9aba4e74eb3243a85090fded7b157969cf83e1f4159b1da2f662a3e7b15be\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://92346911c044a54808d2d425fe58c6dc9594dfafb8d83496f6599e3bc23803d0\",\"dweb:/ipfs/QmYWf7yx9ZfUnP81K1hjvApthqNhpXzUhGuFBm4gX1aDRB\"]},\"contracts/release/infrastructure/staking-wrappers/StakingWrapperBase.sol\":{\"keccak256\":\"0x3e28050fbe625f1469701b231772ce321e719ddbce4f84b6caa1d8d634a4234a\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f0871b7d6b595e444e598f68751225a596d969267c289a465462fdeb67530fc8\",\"dweb:/ipfs/QmX2z5QGP3kpKx9ruGnZHYH5bDCD9sjRGTRhg9SRiowctg\"]},\"contracts/release/infrastructure/staking-wrappers/StakingWrapperLibBase.sol\":{\"keccak256\":\"0x94d4057419743d9354d77774e1e5279a5ed2fc70012ef28115357f9921bfb5be\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d1e461f460a0339cada6cdfb0107bde47d236b336fec0ed470235ce7928666bb\",\"dweb:/ipfs/QmcMzSrcWTKyqgBAACVCidd2dpMfbeUtcQYu4D1ASiyFzk\"]},\"contracts/release/infrastructure/staking-wrappers/convex-curve-lp/ConvexCurveLpStakingWrapperFactory.sol\":{\"keccak256\":\"0x4f7394dea52858ea7734ed8586377d1ebef39e1ca6aa5ed684fea7a7fe82b16a\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c7a5181757151d6210193dfa97b3076edcfe3017b4fefbfbbe3ab848878d5996\",\"dweb:/ipfs/Qme9tTYoAhMkHVLbwKQoSdVJTec1p9zAPwzSe7RZFvnkYu\"]},\"contracts/release/infrastructure/staking-wrappers/convex-curve-lp/ConvexCurveLpStakingWrapperLib.sol\":{\"keccak256\":\"0x1ec08f37e592766bb7f0d62edb04261bcd3c26154bb5dc437465f836fabf3427\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://0265250d2255bcb61fdb1842e7dbb26e4d56a11a1e3fd87f0790644277bb7259\",\"dweb:/ipfs/Qmb5kVMTr86qYkJu8o1YNwnCrbUJMhmhnFHMrdx2vZhdED\"]},\"contracts/release/interfaces/IConvexBaseRewardPool.sol\":{\"keccak256\":\"0x7c82b546c3c339c6f602191bc9062d6887af7db438800359c0547aa6bb025acc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://13a488b1d715000d1ed9415917a8f9c347ec91b04770b74746facacd88e2e105\",\"dweb:/ipfs/QmaHJKxagREc7Mbq8SkSbWgzwk8bNSFTwojAD5hNemwy1Y\"]},\"contracts/release/interfaces/IConvexBooster.sol\":{\"keccak256\":\"0x6e7561d2d7e71a0c89a6e62445de5c54c2e50d17877b23d8b5af10721dd90ed5\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://772cf7f429a04a557d3b0ed36a73390da64fd93a9df253e0c7e9ebeeecd063ea\",\"dweb:/ipfs/QmXjfnXmtGV67wypxof8nWVTkXAEZqBpFjYePfr17K8rAL\"]},\"contracts/release/interfaces/IConvexVirtualBalanceRewardPool.sol\":{\"keccak256\":\"0x45a7d783e4088cf1b5dcb548da2fce6b0caa9c572c43af9f39aff46498fa101c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://82ed678230fe900991bd81a6c31dae01d120fe5521f96d1cc36c40334385f907\",\"dweb:/ipfs/QmYre4JtyoXmetrYUwFMrPKwBY1NEm2XYdgMiAR7Z7P2jW\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/beacon-proxy/BeaconProxy.sol\":{\"keccak256\":\"0x7a0a6c511a30434a9b329226b0cf1a05ec426ddbfc4e1d9b9083978ee4cf6d53\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://692d3a116ecf306f20a3d29dc70846099ce46ba281524a502336325a6cd05667\",\"dweb:/ipfs/QmTGxmDWMcMtGEsPLzVB8eyK3WDqaCwoChuc24RXuSzwVb\"]},\"contracts/release/utils/beacon-proxy/BeaconProxyFactory.sol\":{\"keccak256\":\"0xd35fa5134e3a8694ed1dbbc8dcd4b4d5b459608c23097a95984e1b98af3e64d9\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1c008f83ac64b316479406cbf0287593a810d453825a2f669b5810c51429f9fc\",\"dweb:/ipfs/QmNtdtcWGZFpnb3LsshwV5BiM5H1Vz8SGpoqMchUyfuhQx\"]},\"contracts/release/utils/beacon-proxy/IBeacon.sol\":{\"keccak256\":\"0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39\",\"dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V\"]},\"contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol\":{\"keccak256\":\"0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be\",\"dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]},\"node_modules/@openzeppelin/contracts/utils/ReentrancyGuard.sol\":{\"keccak256\":\"0x8bbbc2f5c10065ee272592ae0a7a6ceb23de2fbd81564ee0bb015ecf404d5f61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b95e56c1640d0ef789fc5c16269e141e992f6c8ac97cc6d377bd3825e9cab182\",\"dweb:/ipfs/QmVzaxJZY51EhagrcNnkxoU6Uq17RhATe7aHvtkC6wUkgK\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_wrapperFactory", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_derivative", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_derivativeAmount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "calcUnderlyingValues", - "outputs": [ - { - "internalType": "address[]", - "name": "underlyings_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "underlyingAmounts_", - "type": "uint256[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_asset", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "isSupportedAsset", - "outputs": [ - { - "internalType": "bool", - "name": "isSupported_", - "type": "bool" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "calcUnderlyingValues(address,uint256)": { - "params": { - "_derivative": "The derivative to convert", - "_derivativeAmount": "The amount of the derivative to convert" - }, - "returns": { - "underlyingAmounts_": "The amount of each underlying asset for the equivalent derivative amount", - "underlyings_": "The underlying assets for the _derivative" - } - }, - "isSupportedAsset(address)": { - "params": { - "_asset": "The asset to check" - }, - "returns": { - "isSupported_": "True if the asset is supported" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "calcUnderlyingValues(address,uint256)": { - "notice": "Converts a given amount of a derivative to its underlying asset values" - }, - "isSupportedAsset(address)": { - "notice": "Checks if an asset is supported by the price feed" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/infrastructure/price-feeds/derivatives/feeds/AuraBalancerV2LpStakingWrapperPriceFeed.sol": "AuraBalancerV2LpStakingWrapperPriceFeed" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/dispatcher/IDispatcher.sol": { - "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", - "urls": [ - "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", - "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol": { - "keccak256": "0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332", - "urls": [ - "bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e", - "dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/price-feeds/derivatives/feeds/AuraBalancerV2LpStakingWrapperPriceFeed.sol": { - "keccak256": "0xc8c076b5f0fbdfb4f7d592cce6475c22d2d15df200e0e938a56aa5bb8683a4f4", - "urls": [ - "bzz-raw://d25b9e6a6d838fc6ddd81cb78f0ddbb6a43329a6e826af00072221eeb466eb73", - "dweb:/ipfs/QmRnnfcYbYagdW6f2uAmj61298PfsjoK46DjqaseGcDxj7" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/price-feeds/derivatives/feeds/ConvexCurveLpStakingWrapperPriceFeed.sol": { - "keccak256": "0x142c22a9f9725c349746661a1fd07ce5a648e9228148b78fe0bffa2036393f7b", - "urls": [ - "bzz-raw://8be486f53a8cb30077078c3bf5f5d3359156984c9d99e07643b9180359b3da6a", - "dweb:/ipfs/Qmcf2e7qWLebUwEUS4BDiSpX24xyujNFhTU36rojC8T5cx" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/staking-wrappers/IStakingWrapper.sol": { - "keccak256": "0xaeb9aba4e74eb3243a85090fded7b157969cf83e1f4159b1da2f662a3e7b15be", - "urls": [ - "bzz-raw://92346911c044a54808d2d425fe58c6dc9594dfafb8d83496f6599e3bc23803d0", - "dweb:/ipfs/QmYWf7yx9ZfUnP81K1hjvApthqNhpXzUhGuFBm4gX1aDRB" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/staking-wrappers/StakingWrapperBase.sol": { - "keccak256": "0x3e28050fbe625f1469701b231772ce321e719ddbce4f84b6caa1d8d634a4234a", - "urls": [ - "bzz-raw://f0871b7d6b595e444e598f68751225a596d969267c289a465462fdeb67530fc8", - "dweb:/ipfs/QmX2z5QGP3kpKx9ruGnZHYH5bDCD9sjRGTRhg9SRiowctg" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/staking-wrappers/StakingWrapperLibBase.sol": { - "keccak256": "0x94d4057419743d9354d77774e1e5279a5ed2fc70012ef28115357f9921bfb5be", - "urls": [ - "bzz-raw://d1e461f460a0339cada6cdfb0107bde47d236b336fec0ed470235ce7928666bb", - "dweb:/ipfs/QmcMzSrcWTKyqgBAACVCidd2dpMfbeUtcQYu4D1ASiyFzk" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/staking-wrappers/convex-curve-lp/ConvexCurveLpStakingWrapperFactory.sol": { - "keccak256": "0x4f7394dea52858ea7734ed8586377d1ebef39e1ca6aa5ed684fea7a7fe82b16a", - "urls": [ - "bzz-raw://c7a5181757151d6210193dfa97b3076edcfe3017b4fefbfbbe3ab848878d5996", - "dweb:/ipfs/Qme9tTYoAhMkHVLbwKQoSdVJTec1p9zAPwzSe7RZFvnkYu" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/staking-wrappers/convex-curve-lp/ConvexCurveLpStakingWrapperLib.sol": { - "keccak256": "0x1ec08f37e592766bb7f0d62edb04261bcd3c26154bb5dc437465f836fabf3427", - "urls": [ - "bzz-raw://0265250d2255bcb61fdb1842e7dbb26e4d56a11a1e3fd87f0790644277bb7259", - "dweb:/ipfs/Qmb5kVMTr86qYkJu8o1YNwnCrbUJMhmhnFHMrdx2vZhdED" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IConvexBaseRewardPool.sol": { - "keccak256": "0x7c82b546c3c339c6f602191bc9062d6887af7db438800359c0547aa6bb025acc", - "urls": [ - "bzz-raw://13a488b1d715000d1ed9415917a8f9c347ec91b04770b74746facacd88e2e105", - "dweb:/ipfs/QmaHJKxagREc7Mbq8SkSbWgzwk8bNSFTwojAD5hNemwy1Y" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IConvexBooster.sol": { - "keccak256": "0x6e7561d2d7e71a0c89a6e62445de5c54c2e50d17877b23d8b5af10721dd90ed5", - "urls": [ - "bzz-raw://772cf7f429a04a557d3b0ed36a73390da64fd93a9df253e0c7e9ebeeecd063ea", - "dweb:/ipfs/QmXjfnXmtGV67wypxof8nWVTkXAEZqBpFjYePfr17K8rAL" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IConvexVirtualBalanceRewardPool.sol": { - "keccak256": "0x45a7d783e4088cf1b5dcb548da2fce6b0caa9c572c43af9f39aff46498fa101c", - "urls": [ - "bzz-raw://82ed678230fe900991bd81a6c31dae01d120fe5521f96d1cc36c40334385f907", - "dweb:/ipfs/QmYre4JtyoXmetrYUwFMrPKwBY1NEm2XYdgMiAR7Z7P2jW" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AddressArrayLib.sol": { - "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", - "urls": [ - "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", - "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/beacon-proxy/BeaconProxy.sol": { - "keccak256": "0x7a0a6c511a30434a9b329226b0cf1a05ec426ddbfc4e1d9b9083978ee4cf6d53", - "urls": [ - "bzz-raw://692d3a116ecf306f20a3d29dc70846099ce46ba281524a502336325a6cd05667", - "dweb:/ipfs/QmTGxmDWMcMtGEsPLzVB8eyK3WDqaCwoChuc24RXuSzwVb" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/beacon-proxy/BeaconProxyFactory.sol": { - "keccak256": "0xd35fa5134e3a8694ed1dbbc8dcd4b4d5b459608c23097a95984e1b98af3e64d9", - "urls": [ - "bzz-raw://1c008f83ac64b316479406cbf0287593a810d453825a2f669b5810c51429f9fc", - "dweb:/ipfs/QmNtdtcWGZFpnb3LsshwV5BiM5H1Vz8SGpoqMchUyfuhQx" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/beacon-proxy/IBeacon.sol": { - "keccak256": "0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2", - "urls": [ - "bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39", - "dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol": { - "keccak256": "0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc", - "urls": [ - "bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be", - "dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { - "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", - "urls": [ - "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", - "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Address.sol": { - "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", - "urls": [ - "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", - "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/ReentrancyGuard.sol": { - "keccak256": "0x8bbbc2f5c10065ee272592ae0a7a6ceb23de2fbd81564ee0bb015ecf404d5f61", - "urls": [ - "bzz-raw://b95e56c1640d0ef789fc5c16269e141e992f6c8ac97cc6d377bd3825e9cab182", - "dweb:/ipfs/QmVzaxJZY51EhagrcNnkxoU6Uq17RhATe7aHvtkC6wUkgK" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 236 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_wrapperFactory", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "calcUnderlyingValues", "inputs": [ { "name": "_derivative", "type": "address", "internalType": "address" }, { "name": "_derivativeAmount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "underlyings_", "type": "address[]", "internalType": "address[]" }, { "name": "underlyingAmounts_", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "isSupportedAsset", "inputs": [ { "name": "_asset", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "isSupported_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" } ], "bytecode": { "object": "0x60a060405234801561001057600080fd5b5060405161038b38038061038b8339818101604052602081101561003357600080fd5b5051606081901b6001600160601b0319166080526001600160a01b031661031f61006c60003980610161528061026a525061031f6000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063727212f61461003b5780639be918e614610100575b600080fd5b6100676004803603604081101561005157600080fd5b506001600160a01b03813516906020013561013a565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156100ab578181015183820152602001610093565b50505050905001838103825284818151815260200191508051906020019060200280838360005b838110156100ea5781810151838201526020016100d2565b5050505090500194505050505060405180910390f35b6101266004803603602081101561011657600080fd5b50356001600160a01b031661025c565b604080519115158252519081900360200190f35b604080516001808252818301909252606091829190602080830190803683370190505091507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663456b4a37856040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156101cc57600080fd5b505afa1580156101e0573d6000803e3d6000fd5b505050506040513d60208110156101f657600080fd5b50518251839060009061020557fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509050828160008151811061024957fe5b6020026020010181815250509250929050565b6000806001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663456b4a37846040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156102d557600080fd5b505afa1580156102e9573d6000803e3d6000fd5b505050506040513d60208110156102ff57600080fd5b50516001600160a01b031614159291505056fea164736f6c634300060c000a", "sourceMap": "524:217:236:-:0;;;619:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;619:120:236;799:69:241;;;;-1:-1:-1;;;;;;799:69:241;;;-1:-1:-1;;;;;524:217:236;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c8063727212f61461003b5780639be918e614610100575b600080fd5b6100676004803603604081101561005157600080fd5b506001600160a01b03813516906020013561013a565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156100ab578181015183820152602001610093565b50505050905001838103825284818151815260200191508051906020019060200280838360005b838110156100ea5781810151838201526020016100d2565b5050505090500194505050505060405180910390f35b6101266004803603602081101561011657600080fd5b50356001600160a01b031661025c565b604080519115158252519081900360200190f35b604080516001808252818301909252606091829190602080830190803683370190505091507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663456b4a37856040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156101cc57600080fd5b505afa1580156101e0573d6000803e3d6000fd5b505050506040513d60208110156101f657600080fd5b50518251839060009061020557fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509050828160008151811061024957fe5b6020026020010181815250509250929050565b6000806001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663456b4a37846040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156102d557600080fd5b505afa1580156102e9573d6000803e3d6000fd5b505050506040513d60208110156102ff57600080fd5b50516001600160a01b031614159291505056fea164736f6c634300060c000a", "sourceMap": "524:217:236:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1273:482:241;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1273:482:241;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1928:178;;;;;;;;;;;;;;;;-1:-1:-1;1928:178:241;-1:-1:-1;;;;;1928:178:241;;:::i;:::-;;;;;;;;;;;;;;;;;;1273:482;1499:16;;;1513:1;1499:16;;;;;;;;;1402:29;;;;1499:16;;;;;;;;;;;;-1:-1:-1;1499:16:241;1484:31;;1543:15;-1:-1:-1;;;;;1543:41:241;;1585:11;1543:54;;;;;;;;;;;;;-1:-1:-1;;;;;1543:54:241;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1543:54:241;1525:15;;:12;;1538:1;;1525:15;;;;-1:-1:-1;;;;;1525:72:241;;;;:15;;;;;;;;;;:72;1629:16;;;1643:1;1629:16;;;;;;;;;;;;;;1525:15;1629:16;;;;;-1:-1:-1;1629:16:241;1608:37;;1679:17;1655:18;1674:1;1655:21;;;;;;;;;;;;;:41;;;;;1273:482;;;;;:::o;1928:178::-;2000:17;2097:1;-1:-1:-1;;;;;2036:63:241;:15;-1:-1:-1;;;;;2036:41:241;;2078:6;2036:49;;;;;;;;;;;;;-1:-1:-1;;;;;2036:49:241;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2036:49:241;-1:-1:-1;;;;;2036:63:241;;;;1928:178;-1:-1:-1;;1928:178:241:o", "linkReferences": {}, "immutableReferences": { "63662": [ { "start": 353, "length": 32 }, { "start": 618, "length": 32 } ] } }, "methodIdentifiers": { "calcUnderlyingValues(address,uint256)": "727212f6", "isSupportedAsset(address)": "9be918e6" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_wrapperFactory\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_derivative\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_derivativeAmount\",\"type\":\"uint256\"}],\"name\":\"calcUnderlyingValues\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"underlyings_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"underlyingAmounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"}],\"name\":\"isSupportedAsset\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isSupported_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"calcUnderlyingValues(address,uint256)\":{\"params\":{\"_derivative\":\"The derivative to convert\",\"_derivativeAmount\":\"The amount of the derivative to convert\"},\"returns\":{\"underlyingAmounts_\":\"The amount of each underlying asset for the equivalent derivative amount\",\"underlyings_\":\"The underlying assets for the _derivative\"}},\"isSupportedAsset(address)\":{\"params\":{\"_asset\":\"The asset to check\"},\"returns\":{\"isSupported_\":\"True if the asset is supported\"}}},\"title\":\"AuraBalancerV2LpStakingWrapperPriceFeed Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"calcUnderlyingValues(address,uint256)\":{\"notice\":\"Converts a given amount of a derivative to its underlying asset values\"},\"isSupportedAsset(address)\":{\"notice\":\"Checks if an asset is supported by the price feed\"}},\"notice\":\"Price source oracle for wrapped Aura-staked Balancer pool tokens\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/infrastructure/price-feeds/derivatives/feeds/AuraBalancerV2LpStakingWrapperPriceFeed.sol\":\"AuraBalancerV2LpStakingWrapperPriceFeed\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol\":{\"keccak256\":\"0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e\",\"dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK\"]},\"contracts/release/infrastructure/price-feeds/derivatives/feeds/AuraBalancerV2LpStakingWrapperPriceFeed.sol\":{\"keccak256\":\"0xc8c076b5f0fbdfb4f7d592cce6475c22d2d15df200e0e938a56aa5bb8683a4f4\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d25b9e6a6d838fc6ddd81cb78f0ddbb6a43329a6e826af00072221eeb466eb73\",\"dweb:/ipfs/QmRnnfcYbYagdW6f2uAmj61298PfsjoK46DjqaseGcDxj7\"]},\"contracts/release/infrastructure/price-feeds/derivatives/feeds/ConvexCurveLpStakingWrapperPriceFeed.sol\":{\"keccak256\":\"0x142c22a9f9725c349746661a1fd07ce5a648e9228148b78fe0bffa2036393f7b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8be486f53a8cb30077078c3bf5f5d3359156984c9d99e07643b9180359b3da6a\",\"dweb:/ipfs/Qmcf2e7qWLebUwEUS4BDiSpX24xyujNFhTU36rojC8T5cx\"]},\"contracts/release/infrastructure/staking-wrappers/IStakingWrapper.sol\":{\"keccak256\":\"0xaeb9aba4e74eb3243a85090fded7b157969cf83e1f4159b1da2f662a3e7b15be\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://92346911c044a54808d2d425fe58c6dc9594dfafb8d83496f6599e3bc23803d0\",\"dweb:/ipfs/QmYWf7yx9ZfUnP81K1hjvApthqNhpXzUhGuFBm4gX1aDRB\"]},\"contracts/release/infrastructure/staking-wrappers/StakingWrapperBase.sol\":{\"keccak256\":\"0x3e28050fbe625f1469701b231772ce321e719ddbce4f84b6caa1d8d634a4234a\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f0871b7d6b595e444e598f68751225a596d969267c289a465462fdeb67530fc8\",\"dweb:/ipfs/QmX2z5QGP3kpKx9ruGnZHYH5bDCD9sjRGTRhg9SRiowctg\"]},\"contracts/release/infrastructure/staking-wrappers/StakingWrapperLibBase.sol\":{\"keccak256\":\"0x94d4057419743d9354d77774e1e5279a5ed2fc70012ef28115357f9921bfb5be\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d1e461f460a0339cada6cdfb0107bde47d236b336fec0ed470235ce7928666bb\",\"dweb:/ipfs/QmcMzSrcWTKyqgBAACVCidd2dpMfbeUtcQYu4D1ASiyFzk\"]},\"contracts/release/infrastructure/staking-wrappers/convex-curve-lp/ConvexCurveLpStakingWrapperFactory.sol\":{\"keccak256\":\"0x4f7394dea52858ea7734ed8586377d1ebef39e1ca6aa5ed684fea7a7fe82b16a\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c7a5181757151d6210193dfa97b3076edcfe3017b4fefbfbbe3ab848878d5996\",\"dweb:/ipfs/Qme9tTYoAhMkHVLbwKQoSdVJTec1p9zAPwzSe7RZFvnkYu\"]},\"contracts/release/infrastructure/staking-wrappers/convex-curve-lp/ConvexCurveLpStakingWrapperLib.sol\":{\"keccak256\":\"0x1ec08f37e592766bb7f0d62edb04261bcd3c26154bb5dc437465f836fabf3427\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://0265250d2255bcb61fdb1842e7dbb26e4d56a11a1e3fd87f0790644277bb7259\",\"dweb:/ipfs/Qmb5kVMTr86qYkJu8o1YNwnCrbUJMhmhnFHMrdx2vZhdED\"]},\"contracts/release/interfaces/IConvexBaseRewardPool.sol\":{\"keccak256\":\"0x7c82b546c3c339c6f602191bc9062d6887af7db438800359c0547aa6bb025acc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://13a488b1d715000d1ed9415917a8f9c347ec91b04770b74746facacd88e2e105\",\"dweb:/ipfs/QmaHJKxagREc7Mbq8SkSbWgzwk8bNSFTwojAD5hNemwy1Y\"]},\"contracts/release/interfaces/IConvexBooster.sol\":{\"keccak256\":\"0x6e7561d2d7e71a0c89a6e62445de5c54c2e50d17877b23d8b5af10721dd90ed5\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://772cf7f429a04a557d3b0ed36a73390da64fd93a9df253e0c7e9ebeeecd063ea\",\"dweb:/ipfs/QmXjfnXmtGV67wypxof8nWVTkXAEZqBpFjYePfr17K8rAL\"]},\"contracts/release/interfaces/IConvexVirtualBalanceRewardPool.sol\":{\"keccak256\":\"0x45a7d783e4088cf1b5dcb548da2fce6b0caa9c572c43af9f39aff46498fa101c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://82ed678230fe900991bd81a6c31dae01d120fe5521f96d1cc36c40334385f907\",\"dweb:/ipfs/QmYre4JtyoXmetrYUwFMrPKwBY1NEm2XYdgMiAR7Z7P2jW\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/beacon-proxy/BeaconProxy.sol\":{\"keccak256\":\"0x7a0a6c511a30434a9b329226b0cf1a05ec426ddbfc4e1d9b9083978ee4cf6d53\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://692d3a116ecf306f20a3d29dc70846099ce46ba281524a502336325a6cd05667\",\"dweb:/ipfs/QmTGxmDWMcMtGEsPLzVB8eyK3WDqaCwoChuc24RXuSzwVb\"]},\"contracts/release/utils/beacon-proxy/BeaconProxyFactory.sol\":{\"keccak256\":\"0xd35fa5134e3a8694ed1dbbc8dcd4b4d5b459608c23097a95984e1b98af3e64d9\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1c008f83ac64b316479406cbf0287593a810d453825a2f669b5810c51429f9fc\",\"dweb:/ipfs/QmNtdtcWGZFpnb3LsshwV5BiM5H1Vz8SGpoqMchUyfuhQx\"]},\"contracts/release/utils/beacon-proxy/IBeacon.sol\":{\"keccak256\":\"0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39\",\"dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V\"]},\"contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol\":{\"keccak256\":\"0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be\",\"dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]},\"node_modules/@openzeppelin/contracts/utils/ReentrancyGuard.sol\":{\"keccak256\":\"0x8bbbc2f5c10065ee272592ae0a7a6ceb23de2fbd81564ee0bb015ecf404d5f61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b95e56c1640d0ef789fc5c16269e141e992f6c8ac97cc6d377bd3825e9cab182\",\"dweb:/ipfs/QmVzaxJZY51EhagrcNnkxoU6Uq17RhATe7aHvtkC6wUkgK\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_wrapperFactory", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "_derivative", "type": "address" }, { "internalType": "uint256", "name": "_derivativeAmount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "calcUnderlyingValues", "outputs": [ { "internalType": "address[]", "name": "underlyings_", "type": "address[]" }, { "internalType": "uint256[]", "name": "underlyingAmounts_", "type": "uint256[]" } ] }, { "inputs": [ { "internalType": "address", "name": "_asset", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "isSupportedAsset", "outputs": [ { "internalType": "bool", "name": "isSupported_", "type": "bool" } ] } ], "devdoc": { "kind": "dev", "methods": { "calcUnderlyingValues(address,uint256)": { "params": { "_derivative": "The derivative to convert", "_derivativeAmount": "The amount of the derivative to convert" }, "returns": { "underlyingAmounts_": "The amount of each underlying asset for the equivalent derivative amount", "underlyings_": "The underlying assets for the _derivative" } }, "isSupportedAsset(address)": { "params": { "_asset": "The asset to check" }, "returns": { "isSupported_": "True if the asset is supported" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "calcUnderlyingValues(address,uint256)": { "notice": "Converts a given amount of a derivative to its underlying asset values" }, "isSupportedAsset(address)": { "notice": "Checks if an asset is supported by the price feed" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/infrastructure/price-feeds/derivatives/feeds/AuraBalancerV2LpStakingWrapperPriceFeed.sol": "AuraBalancerV2LpStakingWrapperPriceFeed" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/dispatcher/IDispatcher.sol": { "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", "urls": [ "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol": { "keccak256": "0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332", "urls": [ "bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e", "dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/price-feeds/derivatives/feeds/AuraBalancerV2LpStakingWrapperPriceFeed.sol": { "keccak256": "0xc8c076b5f0fbdfb4f7d592cce6475c22d2d15df200e0e938a56aa5bb8683a4f4", "urls": [ "bzz-raw://d25b9e6a6d838fc6ddd81cb78f0ddbb6a43329a6e826af00072221eeb466eb73", "dweb:/ipfs/QmRnnfcYbYagdW6f2uAmj61298PfsjoK46DjqaseGcDxj7" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/price-feeds/derivatives/feeds/ConvexCurveLpStakingWrapperPriceFeed.sol": { "keccak256": "0x142c22a9f9725c349746661a1fd07ce5a648e9228148b78fe0bffa2036393f7b", "urls": [ "bzz-raw://8be486f53a8cb30077078c3bf5f5d3359156984c9d99e07643b9180359b3da6a", "dweb:/ipfs/Qmcf2e7qWLebUwEUS4BDiSpX24xyujNFhTU36rojC8T5cx" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/staking-wrappers/IStakingWrapper.sol": { "keccak256": "0xaeb9aba4e74eb3243a85090fded7b157969cf83e1f4159b1da2f662a3e7b15be", "urls": [ "bzz-raw://92346911c044a54808d2d425fe58c6dc9594dfafb8d83496f6599e3bc23803d0", "dweb:/ipfs/QmYWf7yx9ZfUnP81K1hjvApthqNhpXzUhGuFBm4gX1aDRB" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/staking-wrappers/StakingWrapperBase.sol": { "keccak256": "0x3e28050fbe625f1469701b231772ce321e719ddbce4f84b6caa1d8d634a4234a", "urls": [ "bzz-raw://f0871b7d6b595e444e598f68751225a596d969267c289a465462fdeb67530fc8", "dweb:/ipfs/QmX2z5QGP3kpKx9ruGnZHYH5bDCD9sjRGTRhg9SRiowctg" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/staking-wrappers/StakingWrapperLibBase.sol": { "keccak256": "0x94d4057419743d9354d77774e1e5279a5ed2fc70012ef28115357f9921bfb5be", "urls": [ "bzz-raw://d1e461f460a0339cada6cdfb0107bde47d236b336fec0ed470235ce7928666bb", "dweb:/ipfs/QmcMzSrcWTKyqgBAACVCidd2dpMfbeUtcQYu4D1ASiyFzk" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/staking-wrappers/convex-curve-lp/ConvexCurveLpStakingWrapperFactory.sol": { "keccak256": "0x4f7394dea52858ea7734ed8586377d1ebef39e1ca6aa5ed684fea7a7fe82b16a", "urls": [ "bzz-raw://c7a5181757151d6210193dfa97b3076edcfe3017b4fefbfbbe3ab848878d5996", "dweb:/ipfs/Qme9tTYoAhMkHVLbwKQoSdVJTec1p9zAPwzSe7RZFvnkYu" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/staking-wrappers/convex-curve-lp/ConvexCurveLpStakingWrapperLib.sol": { "keccak256": "0x1ec08f37e592766bb7f0d62edb04261bcd3c26154bb5dc437465f836fabf3427", "urls": [ "bzz-raw://0265250d2255bcb61fdb1842e7dbb26e4d56a11a1e3fd87f0790644277bb7259", "dweb:/ipfs/Qmb5kVMTr86qYkJu8o1YNwnCrbUJMhmhnFHMrdx2vZhdED" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IConvexBaseRewardPool.sol": { "keccak256": "0x7c82b546c3c339c6f602191bc9062d6887af7db438800359c0547aa6bb025acc", "urls": [ "bzz-raw://13a488b1d715000d1ed9415917a8f9c347ec91b04770b74746facacd88e2e105", "dweb:/ipfs/QmaHJKxagREc7Mbq8SkSbWgzwk8bNSFTwojAD5hNemwy1Y" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IConvexBooster.sol": { "keccak256": "0x6e7561d2d7e71a0c89a6e62445de5c54c2e50d17877b23d8b5af10721dd90ed5", "urls": [ "bzz-raw://772cf7f429a04a557d3b0ed36a73390da64fd93a9df253e0c7e9ebeeecd063ea", "dweb:/ipfs/QmXjfnXmtGV67wypxof8nWVTkXAEZqBpFjYePfr17K8rAL" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IConvexVirtualBalanceRewardPool.sol": { "keccak256": "0x45a7d783e4088cf1b5dcb548da2fce6b0caa9c572c43af9f39aff46498fa101c", "urls": [ "bzz-raw://82ed678230fe900991bd81a6c31dae01d120fe5521f96d1cc36c40334385f907", "dweb:/ipfs/QmYre4JtyoXmetrYUwFMrPKwBY1NEm2XYdgMiAR7Z7P2jW" ], "license": "GPL-3.0" }, "contracts/release/utils/AddressArrayLib.sol": { "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", "urls": [ "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" ], "license": "GPL-3.0" }, "contracts/release/utils/beacon-proxy/BeaconProxy.sol": { "keccak256": "0x7a0a6c511a30434a9b329226b0cf1a05ec426ddbfc4e1d9b9083978ee4cf6d53", "urls": [ "bzz-raw://692d3a116ecf306f20a3d29dc70846099ce46ba281524a502336325a6cd05667", "dweb:/ipfs/QmTGxmDWMcMtGEsPLzVB8eyK3WDqaCwoChuc24RXuSzwVb" ], "license": "GPL-3.0" }, "contracts/release/utils/beacon-proxy/BeaconProxyFactory.sol": { "keccak256": "0xd35fa5134e3a8694ed1dbbc8dcd4b4d5b459608c23097a95984e1b98af3e64d9", "urls": [ "bzz-raw://1c008f83ac64b316479406cbf0287593a810d453825a2f669b5810c51429f9fc", "dweb:/ipfs/QmNtdtcWGZFpnb3LsshwV5BiM5H1Vz8SGpoqMchUyfuhQx" ], "license": "GPL-3.0" }, "contracts/release/utils/beacon-proxy/IBeacon.sol": { "keccak256": "0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2", "urls": [ "bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39", "dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V" ], "license": "GPL-3.0" }, "contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol": { "keccak256": "0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc", "urls": [ "bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be", "dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", "urls": [ "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Address.sol": { "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", "urls": [ "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/ReentrancyGuard.sol": { "keccak256": "0x8bbbc2f5c10065ee272592ae0a7a6ceb23de2fbd81564ee0bb015ecf404d5f61", "urls": [ "bzz-raw://b95e56c1640d0ef789fc5c16269e141e992f6c8ac97cc6d377bd3825e9cab182", "dweb:/ipfs/QmVzaxJZY51EhagrcNnkxoU6Uq17RhATe7aHvtkC6wUkgK" ], "license": "MIT" } }, "version": 1 }, "id": 236 } diff --git a/eth_defi/abi/enzyme/BalancerV2ActionsMixin.json b/eth_defi/abi/enzyme/BalancerV2ActionsMixin.json index 0ad62c70..55a474e0 100644 --- a/eth_defi/abi/enzyme/BalancerV2ActionsMixin.json +++ b/eth_defi/abi/enzyme/BalancerV2ActionsMixin.json @@ -1,110 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_balancerVault", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": {}, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_balancerVault\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"BalancerV2ActionsMixin Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Mixin contract for interacting with BalancerV2\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/integration-manager/integrations/utils/actions/BalancerV2ActionsMixin.sol\":\"BalancerV2ActionsMixin\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/integration-manager/integrations/utils/actions/BalancerV2ActionsMixin.sol\":{\"keccak256\":\"0xf2411ca1c42e8881a6aed8381294a03e363738bb4bf7b030dad47871ba27411f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://7916355a56eaa4337d28019dc84249e9e5abe5cc188718f11f945d92afc593f0\",\"dweb:/ipfs/QmXSe7UDdrutvCf5RujJxeurLUEotkTzm8Tn27xDqvwc6X\"]},\"contracts/release/interfaces/IBalancerV2Vault.sol\":{\"keccak256\":\"0xb3c8da122ab160129c74ffeb0310ff96c4977d65eef12888bc1a8276fa2a3fd2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c9c89c1e04327c6fa45fbdf9ae8fd132ed95c9101ab49d078ef99c6590c30867\",\"dweb:/ipfs/QmWKrLQg5xBVmi6snaAwU3zUTjxQ6ugYj6n45x1hqRxv9A\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_balancerVault", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/integration-manager/integrations/utils/actions/BalancerV2ActionsMixin.sol": "BalancerV2ActionsMixin" - }, - "libraries": {} - }, - "sources": { - "contracts/release/extensions/integration-manager/integrations/utils/actions/BalancerV2ActionsMixin.sol": { - "keccak256": "0xf2411ca1c42e8881a6aed8381294a03e363738bb4bf7b030dad47871ba27411f", - "urls": [ - "bzz-raw://7916355a56eaa4337d28019dc84249e9e5abe5cc188718f11f945d92afc593f0", - "dweb:/ipfs/QmXSe7UDdrutvCf5RujJxeurLUEotkTzm8Tn27xDqvwc6X" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IBalancerV2Vault.sol": { - "keccak256": "0xb3c8da122ab160129c74ffeb0310ff96c4977d65eef12888bc1a8276fa2a3fd2", - "urls": [ - "bzz-raw://c9c89c1e04327c6fa45fbdf9ae8fd132ed95c9101ab49d078ef99c6590c30867", - "dweb:/ipfs/QmWKrLQg5xBVmi6snaAwU3zUTjxQ6ugYj6n45x1hqRxv9A" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 183 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_balancerVault", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": {}, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_balancerVault\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"BalancerV2ActionsMixin Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Mixin contract for interacting with BalancerV2\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/integration-manager/integrations/utils/actions/BalancerV2ActionsMixin.sol\":\"BalancerV2ActionsMixin\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/integration-manager/integrations/utils/actions/BalancerV2ActionsMixin.sol\":{\"keccak256\":\"0xf2411ca1c42e8881a6aed8381294a03e363738bb4bf7b030dad47871ba27411f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://7916355a56eaa4337d28019dc84249e9e5abe5cc188718f11f945d92afc593f0\",\"dweb:/ipfs/QmXSe7UDdrutvCf5RujJxeurLUEotkTzm8Tn27xDqvwc6X\"]},\"contracts/release/interfaces/IBalancerV2Vault.sol\":{\"keccak256\":\"0xb3c8da122ab160129c74ffeb0310ff96c4977d65eef12888bc1a8276fa2a3fd2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c9c89c1e04327c6fa45fbdf9ae8fd132ed95c9101ab49d078ef99c6590c30867\",\"dweb:/ipfs/QmWKrLQg5xBVmi6snaAwU3zUTjxQ6ugYj6n45x1hqRxv9A\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_balancerVault", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/integration-manager/integrations/utils/actions/BalancerV2ActionsMixin.sol": "BalancerV2ActionsMixin" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/extensions/integration-manager/integrations/utils/actions/BalancerV2ActionsMixin.sol": { "keccak256": "0xf2411ca1c42e8881a6aed8381294a03e363738bb4bf7b030dad47871ba27411f", "urls": [ "bzz-raw://7916355a56eaa4337d28019dc84249e9e5abe5cc188718f11f945d92afc593f0", "dweb:/ipfs/QmXSe7UDdrutvCf5RujJxeurLUEotkTzm8Tn27xDqvwc6X" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IBalancerV2Vault.sol": { "keccak256": "0xb3c8da122ab160129c74ffeb0310ff96c4977d65eef12888bc1a8276fa2a3fd2", "urls": [ "bzz-raw://c9c89c1e04327c6fa45fbdf9ae8fd132ed95c9101ab49d078ef99c6590c30867", "dweb:/ipfs/QmWKrLQg5xBVmi6snaAwU3zUTjxQ6ugYj6n45x1hqRxv9A" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 183 } diff --git a/eth_defi/abi/enzyme/BalancerV2FixedPoint.json b/eth_defi/abi/enzyme/BalancerV2FixedPoint.json index 713abe03..0cb5cdf3 100644 --- a/eth_defi/abi/enzyme/BalancerV2FixedPoint.json +++ b/eth_defi/abi/enzyme/BalancerV2FixedPoint.json @@ -1,78 +1 @@ -{ - "abi": [], - "bytecode": { - "object": "0x602d6023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c634300060c000a", - "sourceMap": "1006:1412:356:-:0;;;;;;;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c634300060c000a", - "sourceMap": "1006:1412:356:-:0;;;;;;;;", - "linkReferences": {} - }, - "methodIdentifiers": {}, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/utils/BalancerV2FixedPoint.sol\":\"BalancerV2FixedPoint\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/utils/BalancerV2FixedPoint.sol\":{\"keccak256\":\"0x40a268978d537937000928b57e777c6ca010c333d2fd82eae6a7678e8542db50\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://13899c9b4cbab7665e142a20910f97f6dd198e42c5a3ae15589994ebdd8bc630\",\"dweb:/ipfs/Qmb8yWk7G1EWRoBrDCQ34H4kUDuYLsMDiXCqA6eA5DeZTk\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/utils/BalancerV2FixedPoint.sol": "BalancerV2FixedPoint" - }, - "libraries": {} - }, - "sources": { - "contracts/release/utils/BalancerV2FixedPoint.sol": { - "keccak256": "0x40a268978d537937000928b57e777c6ca010c333d2fd82eae6a7678e8542db50", - "urls": [ - "bzz-raw://13899c9b4cbab7665e142a20910f97f6dd198e42c5a3ae15589994ebdd8bc630", - "dweb:/ipfs/Qmb8yWk7G1EWRoBrDCQ34H4kUDuYLsMDiXCqA6eA5DeZTk" - ], - "license": "GPL-3.0-or-later" - } - }, - "version": 1 - }, - "id": 356 -} +{ "abi": [], "bytecode": { "object": "0x602d6023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c634300060c000a", "sourceMap": "1006:1412:356:-:0;;;;;;;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c634300060c000a", "sourceMap": "1006:1412:356:-:0;;;;;;;;", "linkReferences": {} }, "methodIdentifiers": {}, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/utils/BalancerV2FixedPoint.sol\":\"BalancerV2FixedPoint\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/utils/BalancerV2FixedPoint.sol\":{\"keccak256\":\"0x40a268978d537937000928b57e777c6ca010c333d2fd82eae6a7678e8542db50\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://13899c9b4cbab7665e142a20910f97f6dd198e42c5a3ae15589994ebdd8bc630\",\"dweb:/ipfs/Qmb8yWk7G1EWRoBrDCQ34H4kUDuYLsMDiXCqA6eA5DeZTk\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/utils/BalancerV2FixedPoint.sol": "BalancerV2FixedPoint" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/utils/BalancerV2FixedPoint.sol": { "keccak256": "0x40a268978d537937000928b57e777c6ca010c333d2fd82eae6a7678e8542db50", "urls": [ "bzz-raw://13899c9b4cbab7665e142a20910f97f6dd198e42c5a3ae15589994ebdd8bc630", "dweb:/ipfs/Qmb8yWk7G1EWRoBrDCQ34H4kUDuYLsMDiXCqA6eA5DeZTk" ], "license": "GPL-3.0-or-later" } }, "version": 1 }, "id": 356 } diff --git a/eth_defi/abi/enzyme/BalancerV2GaugeTokenPriceFeed.json b/eth_defi/abi/enzyme/BalancerV2GaugeTokenPriceFeed.json index b5838624..6fa7c75b 100644 --- a/eth_defi/abi/enzyme/BalancerV2GaugeTokenPriceFeed.json +++ b/eth_defi/abi/enzyme/BalancerV2GaugeTokenPriceFeed.json @@ -1,221 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_derivative", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_derivativeAmount", - "type": "uint256" - } - ], - "name": "calcUnderlyingValues", - "outputs": [ - { - "internalType": "address[]", - "name": "underlyings_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "underlyingAmounts_", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_asset", - "type": "address" - } - ], - "name": "isSupportedAsset", - "outputs": [ - { - "internalType": "bool", - "name": "isSupported_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x608060405234801561001057600080fd5b506102b7806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063727212f61461003b5780639be918e614610100575b600080fd5b6100676004803603604081101561005157600080fd5b506001600160a01b03813516906020013561013a565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156100ab578181015183820152602001610093565b50505050905001838103825284818151815260200191508051906020019060200280838360005b838110156100ea5781810151838201526020016100d2565b5050505090500194505050505060405180910390f35b6101266004803603602081101561011657600080fd5b50356001600160a01b0316610228565b604080519115158252519081900360200190f35b60408051600180825281830190925260609182919060208083019080368337019050509150836001600160a01b03166382c630666040518163ffffffff1660e01b815260040160206040518083038186803b15801561019857600080fd5b505afa1580156101ac573d6000803e3d6000fd5b505050506040513d60208110156101c257600080fd5b5051825183906000906101d157fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509050828160008151811061021557fe5b6020026020010181815250509250929050565b6000806001600160a01b0316826001600160a01b03166382c630666040518163ffffffff1660e01b815260040160206040518083038186803b15801561026d57600080fd5b505afa158015610281573d6000803e3d6000fd5b505050506040513d602081101561029757600080fd5b50516001600160a01b031614159291505056fea164736f6c634300060c000a", - "sourceMap": "571:1718:237:-:0;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c8063727212f61461003b5780639be918e614610100575b600080fd5b6100676004803603604081101561005157600080fd5b506001600160a01b03813516906020013561013a565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156100ab578181015183820152602001610093565b50505050905001838103825284818151815260200191508051906020019060200280838360005b838110156100ea5781810151838201526020016100d2565b5050505090500194505050505060405180910390f35b6101266004803603602081101561011657600080fd5b50356001600160a01b0316610228565b604080519115158252519081900360200190f35b60408051600180825281830190925260609182919060208083019080368337019050509150836001600160a01b03166382c630666040518163ffffffff1660e01b815260040160206040518083038186803b15801561019857600080fd5b505afa1580156101ac573d6000803e3d6000fd5b505050506040513d60208110156101c257600080fd5b5051825183906000906101d157fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509050828160008151811061021557fe5b6020026020010181815250509250929050565b6000806001600160a01b0316826001600160a01b03166382c630666040518163ffffffff1660e01b815260040160206040518083038186803b15801561026d57600080fd5b505afa158015610281573d6000803e3d6000fd5b505050506040513d602081101561029757600080fd5b50516001600160a01b031614159291505056fea164736f6c634300060c000a", - "sourceMap": "571:1718:237:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1032:477;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1032:477:237;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1682:605;;;;;;;;;;;;;;;;-1:-1:-1;1682:605:237;-1:-1:-1;;;;;1682:605:237;;:::i;:::-;;;;;;;;;;;;;;;;;;1032:477;1258:16;;;1272:1;1258:16;;;;;;;;;1161:29;;;;1258:16;;;;;;;;;;;;-1:-1:-1;1258:16:237;1243:31;;1328:11;-1:-1:-1;;;;;1302:47:237;;:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1302:49:237;1284:15;;:12;;1297:1;;1284:15;;;;-1:-1:-1;;;;;1284:67:237;;;;:15;;;;;;;;;;:67;1383:16;;;1397:1;1383:16;;;;;;;;;;;;;;1284:15;1383:16;;;;;-1:-1:-1;1383:16:237;1362:37;;1433:17;1409:18;1428:1;1409:21;;;;;;;;;;;;;:41;;;;;1032:477;;;;;:::o;1682:605::-;1754:17;2278:1;-1:-1:-1;;;;;2222:58:237;2248:6;-1:-1:-1;;;;;2222:42:237;;:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2222:44:237;-1:-1:-1;;;;;2222:58:237;;;;1682:605;-1:-1:-1;;1682:605:237:o", - "linkReferences": {} - }, - "methodIdentifiers": { - "calcUnderlyingValues(address,uint256)": "727212f6", - "isSupportedAsset(address)": "9be918e6" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_derivative\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_derivativeAmount\",\"type\":\"uint256\"}],\"name\":\"calcUnderlyingValues\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"underlyings_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"underlyingAmounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"}],\"name\":\"isSupportedAsset\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isSupported_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"calcUnderlyingValues(address,uint256)\":{\"params\":{\"_derivative\":\"The derivative to convert\",\"_derivativeAmount\":\"The amount of the derivative to convert\"},\"returns\":{\"underlyingAmounts_\":\"The amount of each underlying asset for the equivalent derivative amount\",\"underlyings_\":\"The underlying assets for the _derivative\"}},\"isSupportedAsset(address)\":{\"params\":{\"_asset\":\"The asset to check\"},\"returns\":{\"isSupported_\":\"True if the asset is supported\"}}},\"title\":\"BalancerV2GaugeTokenPriceFeed Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"calcUnderlyingValues(address,uint256)\":{\"notice\":\"Converts a given amount of a derivative to its underlying asset values\"},\"isSupportedAsset(address)\":{\"notice\":\"Checks if an asset is supported by the price feed\"}},\"notice\":\"Price source oracle for Balancer V2 gauge-staked pool tokens (staked BPT)\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/infrastructure/price-feeds/derivatives/feeds/BalancerV2GaugeTokenPriceFeed.sol\":\"BalancerV2GaugeTokenPriceFeed\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol\":{\"keccak256\":\"0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e\",\"dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK\"]},\"contracts/release/infrastructure/price-feeds/derivatives/feeds/BalancerV2GaugeTokenPriceFeed.sol\":{\"keccak256\":\"0xc46f1f9b14382aeda35dae3e4f1d1f2145dee25122fa73fd08fc5c7e14be821b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ef7bf29acab748249312ddfb2308bc983c15a8da73090f3e152e4b9dbca4c714\",\"dweb:/ipfs/QmRJoViVMqVC1iPNNPKuyWxuERRjG6M5wRXBC1pa3GoRED\"]},\"contracts/release/interfaces/IBalancerV2LiquidityGauge.sol\":{\"keccak256\":\"0x52ebf49a1da970352c8e9c064b82ef3caa103b1055157254796d48141dd37e42\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://4f4c30274497595062b83c165841fdecd8d3ffe5196e3df758d2a1dec9239e0e\",\"dweb:/ipfs/QmSTx36xojjLvyxFujU2S5m9rW8ZRcWB9yuH3HmVMhz2J1\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_derivative", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_derivativeAmount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "calcUnderlyingValues", - "outputs": [ - { - "internalType": "address[]", - "name": "underlyings_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "underlyingAmounts_", - "type": "uint256[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_asset", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "isSupportedAsset", - "outputs": [ - { - "internalType": "bool", - "name": "isSupported_", - "type": "bool" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "calcUnderlyingValues(address,uint256)": { - "params": { - "_derivative": "The derivative to convert", - "_derivativeAmount": "The amount of the derivative to convert" - }, - "returns": { - "underlyingAmounts_": "The amount of each underlying asset for the equivalent derivative amount", - "underlyings_": "The underlying assets for the _derivative" - } - }, - "isSupportedAsset(address)": { - "params": { - "_asset": "The asset to check" - }, - "returns": { - "isSupported_": "True if the asset is supported" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "calcUnderlyingValues(address,uint256)": { - "notice": "Converts a given amount of a derivative to its underlying asset values" - }, - "isSupportedAsset(address)": { - "notice": "Checks if an asset is supported by the price feed" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/infrastructure/price-feeds/derivatives/feeds/BalancerV2GaugeTokenPriceFeed.sol": "BalancerV2GaugeTokenPriceFeed" - }, - "libraries": {} - }, - "sources": { - "contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol": { - "keccak256": "0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332", - "urls": [ - "bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e", - "dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/price-feeds/derivatives/feeds/BalancerV2GaugeTokenPriceFeed.sol": { - "keccak256": "0xc46f1f9b14382aeda35dae3e4f1d1f2145dee25122fa73fd08fc5c7e14be821b", - "urls": [ - "bzz-raw://ef7bf29acab748249312ddfb2308bc983c15a8da73090f3e152e4b9dbca4c714", - "dweb:/ipfs/QmRJoViVMqVC1iPNNPKuyWxuERRjG6M5wRXBC1pa3GoRED" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IBalancerV2LiquidityGauge.sol": { - "keccak256": "0x52ebf49a1da970352c8e9c064b82ef3caa103b1055157254796d48141dd37e42", - "urls": [ - "bzz-raw://4f4c30274497595062b83c165841fdecd8d3ffe5196e3df758d2a1dec9239e0e", - "dweb:/ipfs/QmSTx36xojjLvyxFujU2S5m9rW8ZRcWB9yuH3HmVMhz2J1" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 237 -} +{ "abi": [ { "type": "function", "name": "calcUnderlyingValues", "inputs": [ { "name": "_derivative", "type": "address", "internalType": "address" }, { "name": "_derivativeAmount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "underlyings_", "type": "address[]", "internalType": "address[]" }, { "name": "underlyingAmounts_", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "isSupportedAsset", "inputs": [ { "name": "_asset", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "isSupported_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" } ], "bytecode": { "object": "0x608060405234801561001057600080fd5b506102b7806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063727212f61461003b5780639be918e614610100575b600080fd5b6100676004803603604081101561005157600080fd5b506001600160a01b03813516906020013561013a565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156100ab578181015183820152602001610093565b50505050905001838103825284818151815260200191508051906020019060200280838360005b838110156100ea5781810151838201526020016100d2565b5050505090500194505050505060405180910390f35b6101266004803603602081101561011657600080fd5b50356001600160a01b0316610228565b604080519115158252519081900360200190f35b60408051600180825281830190925260609182919060208083019080368337019050509150836001600160a01b03166382c630666040518163ffffffff1660e01b815260040160206040518083038186803b15801561019857600080fd5b505afa1580156101ac573d6000803e3d6000fd5b505050506040513d60208110156101c257600080fd5b5051825183906000906101d157fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509050828160008151811061021557fe5b6020026020010181815250509250929050565b6000806001600160a01b0316826001600160a01b03166382c630666040518163ffffffff1660e01b815260040160206040518083038186803b15801561026d57600080fd5b505afa158015610281573d6000803e3d6000fd5b505050506040513d602081101561029757600080fd5b50516001600160a01b031614159291505056fea164736f6c634300060c000a", "sourceMap": "571:1718:237:-:0;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c8063727212f61461003b5780639be918e614610100575b600080fd5b6100676004803603604081101561005157600080fd5b506001600160a01b03813516906020013561013a565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156100ab578181015183820152602001610093565b50505050905001838103825284818151815260200191508051906020019060200280838360005b838110156100ea5781810151838201526020016100d2565b5050505090500194505050505060405180910390f35b6101266004803603602081101561011657600080fd5b50356001600160a01b0316610228565b604080519115158252519081900360200190f35b60408051600180825281830190925260609182919060208083019080368337019050509150836001600160a01b03166382c630666040518163ffffffff1660e01b815260040160206040518083038186803b15801561019857600080fd5b505afa1580156101ac573d6000803e3d6000fd5b505050506040513d60208110156101c257600080fd5b5051825183906000906101d157fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509050828160008151811061021557fe5b6020026020010181815250509250929050565b6000806001600160a01b0316826001600160a01b03166382c630666040518163ffffffff1660e01b815260040160206040518083038186803b15801561026d57600080fd5b505afa158015610281573d6000803e3d6000fd5b505050506040513d602081101561029757600080fd5b50516001600160a01b031614159291505056fea164736f6c634300060c000a", "sourceMap": "571:1718:237:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1032:477;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1032:477:237;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1682:605;;;;;;;;;;;;;;;;-1:-1:-1;1682:605:237;-1:-1:-1;;;;;1682:605:237;;:::i;:::-;;;;;;;;;;;;;;;;;;1032:477;1258:16;;;1272:1;1258:16;;;;;;;;;1161:29;;;;1258:16;;;;;;;;;;;;-1:-1:-1;1258:16:237;1243:31;;1328:11;-1:-1:-1;;;;;1302:47:237;;:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1302:49:237;1284:15;;:12;;1297:1;;1284:15;;;;-1:-1:-1;;;;;1284:67:237;;;;:15;;;;;;;;;;:67;1383:16;;;1397:1;1383:16;;;;;;;;;;;;;;1284:15;1383:16;;;;;-1:-1:-1;1383:16:237;1362:37;;1433:17;1409:18;1428:1;1409:21;;;;;;;;;;;;;:41;;;;;1032:477;;;;;:::o;1682:605::-;1754:17;2278:1;-1:-1:-1;;;;;2222:58:237;2248:6;-1:-1:-1;;;;;2222:42:237;;:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2222:44:237;-1:-1:-1;;;;;2222:58:237;;;;1682:605;-1:-1:-1;;1682:605:237:o", "linkReferences": {} }, "methodIdentifiers": { "calcUnderlyingValues(address,uint256)": "727212f6", "isSupportedAsset(address)": "9be918e6" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_derivative\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_derivativeAmount\",\"type\":\"uint256\"}],\"name\":\"calcUnderlyingValues\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"underlyings_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"underlyingAmounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"}],\"name\":\"isSupportedAsset\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isSupported_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"calcUnderlyingValues(address,uint256)\":{\"params\":{\"_derivative\":\"The derivative to convert\",\"_derivativeAmount\":\"The amount of the derivative to convert\"},\"returns\":{\"underlyingAmounts_\":\"The amount of each underlying asset for the equivalent derivative amount\",\"underlyings_\":\"The underlying assets for the _derivative\"}},\"isSupportedAsset(address)\":{\"params\":{\"_asset\":\"The asset to check\"},\"returns\":{\"isSupported_\":\"True if the asset is supported\"}}},\"title\":\"BalancerV2GaugeTokenPriceFeed Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"calcUnderlyingValues(address,uint256)\":{\"notice\":\"Converts a given amount of a derivative to its underlying asset values\"},\"isSupportedAsset(address)\":{\"notice\":\"Checks if an asset is supported by the price feed\"}},\"notice\":\"Price source oracle for Balancer V2 gauge-staked pool tokens (staked BPT)\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/infrastructure/price-feeds/derivatives/feeds/BalancerV2GaugeTokenPriceFeed.sol\":\"BalancerV2GaugeTokenPriceFeed\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol\":{\"keccak256\":\"0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e\",\"dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK\"]},\"contracts/release/infrastructure/price-feeds/derivatives/feeds/BalancerV2GaugeTokenPriceFeed.sol\":{\"keccak256\":\"0xc46f1f9b14382aeda35dae3e4f1d1f2145dee25122fa73fd08fc5c7e14be821b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ef7bf29acab748249312ddfb2308bc983c15a8da73090f3e152e4b9dbca4c714\",\"dweb:/ipfs/QmRJoViVMqVC1iPNNPKuyWxuERRjG6M5wRXBC1pa3GoRED\"]},\"contracts/release/interfaces/IBalancerV2LiquidityGauge.sol\":{\"keccak256\":\"0x52ebf49a1da970352c8e9c064b82ef3caa103b1055157254796d48141dd37e42\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://4f4c30274497595062b83c165841fdecd8d3ffe5196e3df758d2a1dec9239e0e\",\"dweb:/ipfs/QmSTx36xojjLvyxFujU2S5m9rW8ZRcWB9yuH3HmVMhz2J1\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_derivative", "type": "address" }, { "internalType": "uint256", "name": "_derivativeAmount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "calcUnderlyingValues", "outputs": [ { "internalType": "address[]", "name": "underlyings_", "type": "address[]" }, { "internalType": "uint256[]", "name": "underlyingAmounts_", "type": "uint256[]" } ] }, { "inputs": [ { "internalType": "address", "name": "_asset", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "isSupportedAsset", "outputs": [ { "internalType": "bool", "name": "isSupported_", "type": "bool" } ] } ], "devdoc": { "kind": "dev", "methods": { "calcUnderlyingValues(address,uint256)": { "params": { "_derivative": "The derivative to convert", "_derivativeAmount": "The amount of the derivative to convert" }, "returns": { "underlyingAmounts_": "The amount of each underlying asset for the equivalent derivative amount", "underlyings_": "The underlying assets for the _derivative" } }, "isSupportedAsset(address)": { "params": { "_asset": "The asset to check" }, "returns": { "isSupported_": "True if the asset is supported" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "calcUnderlyingValues(address,uint256)": { "notice": "Converts a given amount of a derivative to its underlying asset values" }, "isSupportedAsset(address)": { "notice": "Checks if an asset is supported by the price feed" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/infrastructure/price-feeds/derivatives/feeds/BalancerV2GaugeTokenPriceFeed.sol": "BalancerV2GaugeTokenPriceFeed" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol": { "keccak256": "0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332", "urls": [ "bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e", "dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/price-feeds/derivatives/feeds/BalancerV2GaugeTokenPriceFeed.sol": { "keccak256": "0xc46f1f9b14382aeda35dae3e4f1d1f2145dee25122fa73fd08fc5c7e14be821b", "urls": [ "bzz-raw://ef7bf29acab748249312ddfb2308bc983c15a8da73090f3e152e4b9dbca4c714", "dweb:/ipfs/QmRJoViVMqVC1iPNNPKuyWxuERRjG6M5wRXBC1pa3GoRED" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IBalancerV2LiquidityGauge.sol": { "keccak256": "0x52ebf49a1da970352c8e9c064b82ef3caa103b1055157254796d48141dd37e42", "urls": [ "bzz-raw://4f4c30274497595062b83c165841fdecd8d3ffe5196e3df758d2a1dec9239e0e", "dweb:/ipfs/QmSTx36xojjLvyxFujU2S5m9rW8ZRcWB9yuH3HmVMhz2J1" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 237 } diff --git a/eth_defi/abi/enzyme/BalancerV2LiquidityAdapter.json b/eth_defi/abi/enzyme/BalancerV2LiquidityAdapter.json index c06139de..c017d187 100644 --- a/eth_defi/abi/enzyme/BalancerV2LiquidityAdapter.json +++ b/eth_defi/abi/enzyme/BalancerV2LiquidityAdapter.json @@ -1,1287 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_integrationManager", - "type": "address" - }, - { - "internalType": "address", - "name": "_balancerVault", - "type": "address" - }, - { - "internalType": "address", - "name": "_balancerMinter", - "type": "address" - }, - { - "internalType": "address", - "name": "_balToken", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "name": "CLAIM_REWARDS_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "LEND_AND_STAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "LEND_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "REDEEM_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "STAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "TAKE_MULTIPLE_ORDERS_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "TAKE_ORDER_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "UNSTAKE_AND_REDEEM_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "UNSTAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "claimRewards", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getCurveGaugeV2RewardsHandlerCrvToken", - "outputs": [ - { - "internalType": "address", - "name": "crvToken_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getCurveGaugeV2RewardsHandlerMinter", - "outputs": [ - { - "internalType": "address", - "name": "minter_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getIntegrationManager", - "outputs": [ - { - "internalType": "address", - "name": "integrationManager_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "lend", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "lendAndStake", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes4", - "name": "_selector", - "type": "bytes4" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - } - ], - "name": "parseAssetsForAction", - "outputs": [ - { - "internalType": "enum IIntegrationManager.SpendAssetsHandleType", - "name": "spendAssetsHandleType_", - "type": "uint8" - }, - { - "internalType": "address[]", - "name": "spendAssets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "spendAssetAmounts_", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "incomingAssets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "minIncomingAssetAmounts_", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "redeem", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "stake", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "takeOrder", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "unstake", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "unstakeAndRedeem", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x6101006040523480156200001257600080fd5b5060405162003d9138038062003d91833981016040819052620000359162000077565b6001600160601b0319606094851b811660805292841b831660a052831b821660c05290911b1660e0526200010d565b80516200007181620000f3565b92915050565b600080600080608085870312156200008e57600080fd5b60006200009c878762000064565b9450506020620000af8782880162000064565b9350506040620000c28782880162000064565b9250506060620000d58782880162000064565b91505092959194509250565b60006001600160a01b03821662000071565b620000fe81620000e1565b81146200010a57600080fd5b50565b60805160601c60a05160601c60c05160601c60e05160601c613bf76200019a60003980610e195280611d6552806127525250806109435250806103ca5280611067528061121c52806114355280611c305280611d065250806102885280610747528061084f52806109b85280610a5b5280610c095280610ca05280610df55280610e6a5250613bf76000f3fe608060405234801561001057600080fd5b50600436106101375760003560e01c80638334eb99116100b8578063c32990a21161007c578063c32990a214610226578063c54efee51461022e578063e7c4569014610252578063f003eb851461025a578063f7d882b514610262578063fa7dd04d1461026a57610137565b80638334eb99146101dd578063863e5ad0146101f0578063b23228cf146101f8578063b9dfbacc14610200578063c29fa9dd1461021357610137565b806329fa046e116100ff57806329fa046e14610192578063332d709f146101a55780633ffc1591146101ba57806340da225d146101c257806368e30677146101ca57610137565b806303e38a2b1461013c578063080456c114610151578063099f75151461016f578063131461c014610182578063257cb1a31461018a575b600080fd5b61014f61014a366004612ecc565b61027d565b005b610159610718565b60405161016691906138e1565b60405180910390f35b61014f61017d366004612ecc565b61073c565b6101596107fc565b610159610820565b61014f6101a0366004612ecc565b610844565b6101ad610941565b6040516101669190613859565b610159610965565b610159610989565b61014f6101d8366004612ecc565b6109ad565b61014f6101eb366004612ecc565b610a50565b610159610bb6565b610159610bda565b61014f61020e366004612ecc565b610bfe565b61014f610221366004612ecc565b610c95565b610159610d51565b61024161023c366004612e65565b610d75565b6040516101669594939291906138ef565b6101ad610df3565b6101ad610e17565b610159610e3b565b61014f610278366004612ecc565b610e5f565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146102ce5760405162461bcd60e51b81526004016102c590613a02565b60405180910390fd5b600060608060608061031589898080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610ef892505050565b945094509450945094506000808451905060005b8181101561045057600085828151811061033f57fe5b602002602001015113156103f557600085828151811061035b57fe5b6020026020010151905060006001600160a01b031685838151811061037c57fe5b60200260200101516001600160a01b0316146103b1576103b130308785815181106103a357fe5b602002602001015184610f26565b6103ef8783815181106103c057fe5b60200260200101517f000000000000000000000000000000000000000000000000000000000000000083610f64565b50610448565b600085828151811061040357fe5b602002602001015112801561043e575060006001600160a01b031684828151811061042a57fe5b60200260200101516001600160a01b031614155b1561044857600192505b600101610329565b50606061046d3084610462578e610464565b305b8a8a8a8a611020565b905060005b8281101561070857600086828151811061048857fe5b602002602001015113156105b85760006001600160a01b03168582815181106104ad57fe5b60200260200101516001600160a01b0316141580156104d7575060018960018111156104d557fe5b145b156105955760008782815181106104ea57fe5b60200260200101516001600160a01b03166370a08231306040518263ffffffff1660e01b815260040161051d9190613859565b60206040518083038186803b15801561053557600080fd5b505afa158015610549573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061056d9190613121565b90508015610593576105938f87848151811061058557fe5b602002602001015183611108565b505b6105b28e8883815181106105a557fe5b6020026020010151611134565b50610700565b60008682815181106105c657fe5b602002602001015112156106cd5760006001600160a01b03168582815181106105eb57fe5b60200260200101516001600160a01b0316146106b2576106ad8e86838151811061061157fe5b602002602001015189848151811061062557fe5b60200260200101516001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016106589190613859565b60206040518083038186803b15801561067057600080fd5b505afa158015610684573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106a89190613121565b611108565b6106c8565b83156106c8576105b28e8883815181106105a557fe5b610700565b8181815181106106d957fe5b60200260200101516000146107005760405162461bcd60e51b81526004016102c590613a12565b600101610472565b5050505050505050505050505050565b7f8334eb99be0145865eba9889fca2ee920288090caefff4cc776038e20ad9259a81565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146107845760405162461bcd60e51b81526004016102c590613a02565b6000606080610791612905565b6107d088888080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506111d592505050565b9450945094505093506107e689858585856111f7565b6107f08984611269565b50505050505050505050565b7f29fa046e79524c3c5ac4c01df692c35e217802b2b13b21121b76cf0ef02b138c81565b7f099f75155f0e997bf83a7993a71d5e7e7540bd386fe1e84643a09ce6b412521981565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461088c5760405162461bcd60e51b81526004016102c590613a02565b60008060608061089a612905565b6108d989898080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506113c492505050565b95509550955050945094506108f130858585856111f7565b61092a8a866108ff876113fc565b6001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016106589190613859565b6109348a84611269565b5050505050505050505050565b7f000000000000000000000000000000000000000000000000000000000000000090565b7ffa7dd04da627f433da73c4355ead9c75682a67a8fc84d3f6170ef0922f402d2481565b7fb9dfbaccbe5cd2a84fdcf1d15f23ef25d23086f5afbaa99516065ed4a5bbc7a381565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146109f55760405162461bcd60e51b81526004016102c590613a02565b600080610a3786868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061140792505050565b91509150610a4787888484610f26565b50505050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610a985760405162461bcd60e51b81526004016102c590613a02565b60008060006060610aa7612905565b610ae689898080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506113c492505050565b9550509450945094509450610afd8a308786610f26565b610b0a8a85858585611427565b6000610b15856113fc565b90506000816001600160a01b03166370a08231306040518263ffffffff1660e01b8152600401610b459190613859565b60206040518083038186803b158015610b5d57600080fd5b505afa158015610b71573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b959190613121565b90508015610ba857610ba88c8883611108565b505050505050505050505050565b7f03e38a2bd7063d45c897edeafc330e71657502dd86434d3c37a489caf116af6981565b7f68e30677f607df46e87da13e15b637784cfa62374b653f35ab43d10361a2f83081565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610c465760405162461bcd60e51b81526004016102c590613a02565b610c8e85610c8986868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506116c792505050565b6116dd565b5050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610cdd5760405162461bcd60e51b81526004016102c590613a02565b6000806060610cea612905565b610d2988888080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506111d592505050565b945050935093509350610d3f8985858585611427565b6107f089610d4c866113fc565b611134565b7f0e7f692dad5b88fdee426250d6eae91207e56a2e8112b7364579bed1790e5bf481565b600060608080806001600160e01b0319881663099f751560e01b1415610dae57610d9f87876116eb565b94509450945094509450610de8565b6001600160e01b0319881663c29fa9dd60e01b1415610dd157610d9f87876117f8565b610ddd898989896118d5565b945094509450945094505b945094509450945094565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b7fc29fa9dde84204c2908778afd0613d802d31cf046179b88f6d2b4a4e507ea2d581565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610ea75760405162461bcd60e51b81526004016102c590613a02565b600080610ee986868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061140792505050565b91509150610a47878383611108565b600060608060608085806020019051810190610f14919061305d565b939a9299509097509550909350915050565b610f3082826119c4565b6001600160a01b0383163014610f5e57610f5e8382610f4e85611a26565b6001600160a01b03169190611a99565b50505050565b604051636eb1769f60e11b81526000906001600160a01b0385169063dd62ed3e90610f959030908790600401613867565b60206040518083038186803b158015610fad57600080fd5b505afa158015610fc1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fe59190613121565b905081811015610f5e57801561100a5761100a6001600160a01b038516846000611aef565b610f5e6001600160a01b03851684600019611aef565b606061102a61292f565b50604080516080810182526001600160a01b03808a168252600060208301819052898216838501526060830152915163945bcec960e01b815290917f0000000000000000000000000000000000000000000000000000000000000000169063945bcec9906110a69089908990899087908a90429060040161394b565b600060405180830381600087803b1580156110c057600080fd5b505af11580156110d4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526110fc9190810190612f51565b98975050505050505050565b61111b8261111584611a26565b83611bb2565b61112f6001600160a01b0383168483611a99565b505050565b6040516370a0823160e01b81526000906001600160a01b038316906370a0823190611163903090600401613859565b60206040518083038186803b15801561117b57600080fd5b505afa15801561118f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111b39190613121565b905080156111cf576111cf6001600160a01b0383168483611a99565b92915050565b6000806060806111e3612905565b85806020019051810190610f149190612fa3565b60005b835181101561125c5761125484828151811061121257fe5b60200260200101517f000000000000000000000000000000000000000000000000000000000000000085848151811061124757fe5b6020026020010151610f64565b6001016111fa565b50610c8e84308784611c19565b606081516001600160401b038111801561128257600080fd5b506040519080825280602002602001820160405280156112ac578160200160208202803683370190505b50905060005b82518110156113bd5760008382815181106112c957fe5b60200260200101519050806001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016112ff9190613859565b60206040518083038186803b15801561131757600080fd5b505afa15801561132b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061134f9190613121565b83838151811061135b57fe5b602002602001018181525050600083838151811061137557fe5b602002602001015111156113b4576113b48584848151811061139357fe5b6020026020010151836001600160a01b0316611a999092919063ffffffff16565b506001016112b2565b5092915050565b60008060006060806113d4612905565b868060200190518101906113e89190612d5f565b949c939b5091995097509550909350915050565b606081901c5b919050565b6000808280602001905181019061141e9190612e2b565b91509150915091565b61145a611433856113fc565b7f000000000000000000000000000000000000000000000000000000000000000085610f64565b815181515103606081156115a0578251516001600160401b038111801561148057600080fd5b506040519080825280602002602001820160405280156114aa578160200160208202803683370190505b5090508160005b811561159d576114e1856000015182815181106114ca57fe5b602002602001015187611c9990919063ffffffff16565b6115955784518051829081106114f357fe5b60200260200101516001600160a01b03166370a082318a6040518263ffffffff1660e01b81526004016115269190613859565b60206040518083038186803b15801561153e57600080fd5b505afa158015611552573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115769190613121565b83828151811061158257fe5b6020908102919091010152600019909101905b6001016114b1565b50505b6115ac86308986611cef565b8115610a475760005b82156116bd576115e5846000015182815181106115ce57fe5b602002602001015186611c9990919063ffffffff16565b6116b5578181815181106115f557fe5b60200260200101518460000151828151811061160d57fe5b60200260200101516001600160a01b03166370a082318a6040518263ffffffff1660e01b81526004016116409190613859565b60206040518083038186803b15801561165857600080fd5b505afa15801561166c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116909190613121565b146116ad5760405162461bcd60e51b81526004016102c5906139c2565b600019909201915b6001016115b5565b5050505050505050565b6000818060200190518101906111cf9190612d39565b6116e78183611d41565b5050565b6040805160018082528183019092526000916060918291829182916020808301908036833750506040805160018082528183019092529294509050602080830190803683370190505090506000611740612905565b61177f89898080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506111d592505050565b8760008151811061178c57fe5b60209081029190910101939093526060830151919950975091935091506117b290611dd9565b6117bb826113fc565b846000815181106117c857fe5b60200260200101906001600160a01b031690816001600160a01b0316815250506002965050509295509295909350565b604080516001808252818301909252600091606091829182918291602080830190803683375050604080516001808252818301909252929650905060208083019080368337019050509250600061184d612905565b61188c89898080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506111d592505050565b8960008151811061189957fe5b60209081029190910101939093526060830151919750955091935091506118bf90611dd9565b6118c8826113fc565b866000815181106117c857fe5b600060608080806001600160e01b03198816632e77eeb360e21b14156118fd57610d9f611dfa565b6001600160e01b031988166314fd023760e11b141561192057610d9f8787611e5a565b6001600160e01b03198816638334eb9960e01b141561194357610d9f8787611f6d565b6001600160e01b031988166303e38a2b60e01b141561196657610d9f878761204f565b6001600160e01b0319881663fa7dd04d60e01b141561198957610d9f878761241d565b6001600160e01b031988166368e3067760e01b14156119ac57610d9f8787612594565b60405162461bcd60e51b81526004016102c590613a62565b604051632e1a7d4d60e01b81526001600160a01b03831690632e1a7d4d906119f0908490600401613a72565b600060405180830381600087803b158015611a0a57600080fd5b505af1158015611a1e573d6000803e3d6000fd5b505050505050565b6000816001600160a01b03166382c630666040518163ffffffff1660e01b815260040160206040518083038186803b158015611a6157600080fd5b505afa158015611a75573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111cf9190612d39565b61112f8363a9059cbb60e01b8484604051602401611ab8929190613882565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526126c1565b801580611b775750604051636eb1769f60e11b81526001600160a01b0384169063dd62ed3e90611b259030908690600401613867565b60206040518083038186803b158015611b3d57600080fd5b505afa158015611b51573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b759190613121565b155b611b935760405162461bcd60e51b81526004016102c590613a52565b61112f8363095ea7b360e01b8484604051602401611ab8929190613882565b611bbd828483610f64565b604051636e553f6560e01b81526001600160a01b03841690636e553f6590611beb9084903090600401613a80565b600060405180830381600087803b158015611c0557600080fd5b505af1158015610a47573d6000803e3d6000fd5b60405163172b958560e31b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063b95cac2890611c6b90879087908790879060040161389d565b600060405180830381600087803b158015611c8557600080fd5b505af11580156116bd573d6000803e3d6000fd5b6000805b8351811015611ce557838181518110611cb257fe5b60200260200101516001600160a01b0316836001600160a01b03161415611cdd5760019150506111cf565b600101611c9d565b5060009392505050565b604051638bdb391360e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690638bdb391390611c6b90879087908790879060040161389d565b611d49612750565b15611dcf576040516327f18ae360e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906327f18ae390611d9c9085908590600401613867565b600060405180830381600087803b158015611db657600080fd5b505af1158015611dca573d6000803e3d6000fd5b505050505b6116e7828261277f565b8015611df75760405162461bcd60e51b81526004016102c590613a22565b50565b600060608080808480604051908082528060200260200182016040528015611e2c578160200160208202803683370190505b5060408051600080825260208201818152828401918252606083019093529399929850965094509092509050565b604080516001808252818301909252600091606091829182918291602080830190803683375050604080516001808252818301909252929450905060208083019080368337019050509050600080611eb0612905565b611eef8a8a8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506113c492505050565b89600081518110611efc57fe5b6020908102919091010193909352909a5098509094509092509050611f2182846127ab565b611f2e8160600151611dd9565b8185600081518110611f3c57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050600297505050509295509295909350565b604080516001808252818301909252600091606091829182918291602080830190803683375050604080516001808252818301909252929650905060208083019080368337019050509250600080611fc3612905565b6120028a8a8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506113c492505050565b8b60008151811061200f57fe5b60209081029190910101939093529098509650909450909250905061203482846127ab565b6120418160600151611dd9565b8187600081518110611f3c57fe5b6000606080606080606080606061209b8a8a8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610ef892505050565b945094509450505060008060005b85518110156121045760008582815181106120c057fe5b602002602001015113156120d9576001909201916120fc565b60008582815181106120e757fe5b602002602001015112156120fc576001909101905b6001016120a9565b50816001600160401b038111801561211b57600080fd5b50604051908082528060200260200182016040528015612145578160200160208202803683370190505b509850816001600160401b038111801561215e57600080fd5b50604051908082528060200260200182016040528015612188578160200160208202803683370190505b509750806001600160401b03811180156121a157600080fd5b506040519080825280602002602001820160405280156121cb578160200160208202803683370190505b509650806001600160401b03811180156121e457600080fd5b5060405190808252806020026020018201604052801561220e578160200160208202803683370190505b50955060005b855181101561240957600085828151811061222b57fe5b60200260200101519050600081131561231b57600087838151811061224c57fe5b60200260200101519050600086848151811061226457fe5b6020026020010151905060006001600160a01b0316816001600160a01b0316146122c55761229181611a26565b6001600160a01b0316826001600160a01b0316146122c15760405162461bcd60e51b81526004016102c5906139d2565b8091505b858060019003965050818d87815181106122db57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050828c878151811061230857fe5b6020026020010181815250505050612400565b600081121561240057600087838151811061233257fe5b60200260200101519050600086848151811061234a57fe5b6020026020010151905060006001600160a01b0316816001600160a01b0316146123ab5761237781611a26565b6001600160a01b0316826001600160a01b0316146123a75760405162461bcd60e51b81526004016102c5906139d2565b8091505b848060019003955050818b86815181106123c157fe5b60200260200101906001600160a01b031690816001600160a01b031681525050826000038a86815181106123f157fe5b60200260200101818152505050505b50600101612214565b506002995050505050509295509295909350565b600060608060608060008061246789898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061140792505050565b604080516001808252818301909252929450909250602080830190803683375050604080516001808252818301909252929850905060208083019080368337505060408051600180825281830190925292975090506020808301908036833750506040805160018082528183019092529296509050602080830190803683370190505092506124f582611a26565b8660008151811061250257fe5b60200260200101906001600160a01b031690816001600160a01b031681525050808560008151811061253057fe5b602002602001018181525050818460008151811061254a57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050808360008151811061257857fe5b6020026020010181815250506002965050509295509295909350565b60006060806060806000806125de89898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061140792505050565b60408051600180825281830190925292945090925060208083019080368337505060408051600180825281830190925292985090506020808301908036833750506040805160018082528183019092529297509050602080830190803683375050604080516001808252818301909252929650905060208083019080368337019050509250818660008151811061267157fe5b60200260200101906001600160a01b031690816001600160a01b031681525050808560008151811061269f57fe5b6020026020010181815250506126b482611a26565b8460008151811061254a57fe5b6060612716826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166127ec9092919063ffffffff16565b80519091501561112f57808060200190518101906127349190612f85565b61112f5760405162461bcd60e51b81526004016102c590613a42565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316151590565b604051634274debf60e11b81526001600160a01b038316906384e9bd7e906119f0908490600401613859565b6127b4816113fc565b6001600160a01b03166127c683611a26565b6001600160a01b0316146116e75760405162461bcd60e51b81526004016102c5906139e2565b60606127fb8484600085612805565b90505b9392505050565b6060824710156128275760405162461bcd60e51b81526004016102c5906139f2565b612830856128c6565b61284c5760405162461bcd60e51b81526004016102c590613a32565b60006060866001600160a01b03168587604051612869919061384d565b60006040518083038185875af1925050503d80600081146128a6576040519150601f19603f3d011682016040523d82523d6000602084013e6128ab565b606091505b50915091506128bb8282866128cc565b979650505050505050565b3b151590565b606083156128db5750816127fe565b8251156128eb5782518084602001fd5b8160405162461bcd60e51b81526004016102c591906139b1565b60405180608001604052806060815260200160608152602001606081526020016000151581525090565b60408051608081018252600080825260208201819052918101829052606081019190915290565b80356111cf81613bae565b80516111cf81613bae565b600082601f83011261297d57600080fd5b815161299061298b82613ab4565b613a8e565b915081818352602084019350602081019050838560208402820111156129b557600080fd5b60005b838110156129e157816129cb8882612961565b84525060209283019291909101906001016129b8565b5050505092915050565b600082601f8301126129fc57600080fd5b8151612a0a61298b82613ab4565b91508181835260208401935060208101905083856020840282011115612a2f57600080fd5b60005b838110156129e15781612a458882612b33565b8452506020928301929190910190600101612a32565b600082601f830112612a6c57600080fd5b8151612a7a61298b82613ab4565b81815260209384019390925082018360005b838110156129e15781518601612aa28882612beb565b8452506020928301929190910190600101612a8c565b600082601f830112612ac957600080fd5b8151612ad761298b82613ab4565b91508181835260208401935060208101905083856020840282011115612afc57600080fd5b60005b838110156129e15781612b128882612b33565b8452506020928301929190910190600101612aff565b80516111cf81613bc2565b80516111cf81613bcb565b80356111cf81613bd4565b60008083601f840112612b5b57600080fd5b5081356001600160401b03811115612b7257600080fd5b602083019150836001820283011115612b8a57600080fd5b9250929050565b600082601f830112612ba257600080fd5b8151612bb061298b82613ad4565b91508082526020830160208301858383011115612bcc57600080fd5b612bd7838284613b64565b50505092915050565b80516111cf81613bdd565b600060a08284031215612bfd57600080fd5b612c0760a0613a8e565b90506000612c158484612b33565b8252506020612c2684848301612b33565b6020830152506040612c3a84828501612b33565b6040830152506060612c4e84828501612b33565b60608301525060808201516001600160401b03811115612c6d57600080fd5b612c7984828501612b91565b60808301525092915050565b600060808284031215612c9757600080fd5b612ca16080613a8e565b82519091506001600160401b03811115612cba57600080fd5b612cc68482850161296c565b82525060208201516001600160401b03811115612ce257600080fd5b612cee84828501612ab8565b60208301525060408201516001600160401b03811115612d0d57600080fd5b612d1984828501612b91565b6040830152506060612d2d84828501612b28565b60608301525092915050565b600060208284031215612d4b57600080fd5b6000612d578484612961565b949350505050565b60008060008060008060c08789031215612d7857600080fd5b6000612d848989612961565b9650506020612d9589828a01612b33565b9550506040612da689828a01612b33565b94505060608701516001600160401b03811115612dc257600080fd5b612dce89828a0161296c565b93505060808701516001600160401b03811115612dea57600080fd5b612df689828a01612ab8565b92505060a08701516001600160401b03811115612e1257600080fd5b612e1e89828a01612c85565b9150509295509295509295565b60008060408385031215612e3e57600080fd5b6000612e4a8585612961565b9250506020612e5b85828601612b33565b9150509250929050565b60008060008060608587031215612e7b57600080fd5b6000612e878787612956565b9450506020612e9887828801612b3e565b93505060408501356001600160401b03811115612eb457600080fd5b612ec087828801612b49565b95989497509550505050565b600080600080600060608688031215612ee457600080fd5b6000612ef08888612956565b95505060208601356001600160401b03811115612f0c57600080fd5b612f1888828901612b49565b945094505060408601356001600160401b03811115612f3657600080fd5b612f4288828901612b49565b92509250509295509295909350565b600060208284031215612f6357600080fd5b81516001600160401b03811115612f7957600080fd5b612d57848285016129eb565b600060208284031215612f9757600080fd5b6000612d578484612b28565b600080600080600060a08688031215612fbb57600080fd5b6000612fc78888612b33565b9550506020612fd888828901612b33565b94505060408601516001600160401b03811115612ff457600080fd5b6130008882890161296c565b93505060608601516001600160401b0381111561301c57600080fd5b61302888828901612ab8565b92505060808601516001600160401b0381111561304457600080fd5b61305088828901612c85565b9150509295509295909350565b600080600080600060a0868803121561307557600080fd5b60006130818888612be0565b95505060208601516001600160401b0381111561309d57600080fd5b6130a988828901612a5b565b94505060408601516001600160401b038111156130c557600080fd5b6130d18882890161296c565b93505060608601516001600160401b038111156130ed57600080fd5b6130f9888289016129eb565b92505060808601516001600160401b0381111561311557600080fd5b6130508882890161296c565b60006020828403121561313357600080fd5b6000612d578484612b33565b600061314b838361316b565b505060200190565b600061314b8383613382565b60006127fe838361372c565b61317481613b0e565b82525050565b600061318582613b01565b61318f8185613b05565b935061319a83613afb565b8060005b838110156131c85781516131b2888261313f565b97506131bd83613afb565b92505060010161319e565b509495945050505050565b60006131de82613b01565b6131e88185613b05565b93506131f383613afb565b8060005b838110156131c857815161320b888261313f565b975061321683613afb565b9250506001016131f7565b600061322c82613b01565b6132368185613b05565b935061324183613afb565b8060005b838110156131c85781516132598882613153565b975061326483613afb565b925050600101613245565b600061327a82613b01565b6132848185613b05565b93508360208202850161329685613afb565b8060005b858110156132d057848403895281516132b3858261315f565b94506132be83613afb565b60209a909a019992505060010161329a565b5091979650505050505050565b60006132e882613b01565b6132f28185613b05565b93506132fd83613afb565b8060005b838110156131c85781516133158882613153565b975061332083613afb565b925050600101613301565b600061333682613b01565b6133408185613b05565b935061334b83613afb565b8060005b838110156131c85781516133638882613153565b975061336e83613afb565b92505060010161334f565b61317481613b19565b61317481613b1e565b61317481613b21565b600061339f82613b01565b6133a98185613b05565b93506133b9818560208601613b64565b6133c281613b90565b9093019392505050565b60006133d782613b01565b6133e18185611402565b93506133f1818560208601613b64565b9290920192915050565b61317481613b4e565b61317481613b59565b600061341a602b83613b05565b7f5f5f62616c616e63657252656465656d3a20556e65787065637465642061737381526a195d081c9958d95a5d995960aa1b602082015260400192915050565b6000613467602783613b05565b7f5f5f7061727365417373657473466f7254616b654f726465723a20425054206d8152660d2e6dac2e8c6d60cb1b602082015260400192915050565b60006134b0602583613b05565b7f5f5f76616c6964617465427074466f725374616b696e67546f6b656e3a20496e8152641d985b1a5960da1b602082015260400192915050565b60006134f7602683613b05565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f8152651c8818d85b1b60d21b602082015260400192915050565b600061353f603283613b05565b7f4f6e6c792074686520496e746567726174696f6e4d616e616765722063616e2081527131b0b636103a3434b990333ab731ba34b7b760711b602082015260400192915050565b6000613593602083613b05565b7f74616b654f726465723a206c6566746f76657220696e7465726d656469617279815260200192915050565b60006135cc602583613b05565b7f5f5f76616c69646174654e6f496e7465726e616c42616c616e6365733a20496e8152641d985b1a5960da1b602082015260400192915050565b6000613613601d83613b05565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000815260200192915050565b600061364c602a83613b05565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e8152691bdd081cdd58d8d9595960b21b602082015260400192915050565b6000613698603683613b05565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f81527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b602082015260400192915050565b60006136f0602783613b05565b7f7061727365417373657473466f72416374696f6e3a205f73656c6563746f72208152661a5b9d985b1a5960ca1b602082015260400192915050565b805160009060a08401906137408582613382565b5060208301516137536020860182613382565b5060408301516137666040860182613382565b5060608301516137796060860182613382565b50608083015184820360808601526137918282613394565b95945050505050565b805160808301906137ab848261316b565b5060208201516137be6020850182613379565b5060408201516137d1604085018261316b565b506060820151610f5e6060850182613379565b80516080808452600091908401906137fc828261317a565b9150506020830151848203602086015261381682826132dd565b915050604083015184820360408601526138308282613394565b91505060608301516138456060860182613379565b509392505050565b60006127fe82846133cc565b602081016111cf828461316b565b60408101613875828561316b565b6127fe602083018461316b565b60408101613890828561316b565b6127fe6020830184613382565b608081016138ab8287613382565b6138b8602083018661316b565b6138c5604083018561316b565b81810360608301526138d781846137e4565b9695505050505050565b602081016111cf828461338b565b60a081016138fd82886133fb565b818103602083015261390f81876131d3565b90508181036040830152613923818661332b565b9050818103606083015261393781856131d3565b905081810360808301526128bb818461332b565b610120810161395a8289613404565b818103602083015261396c818861326f565b9050818103604083015261398081876131d3565b905061398f606083018661379a565b81810360e08301526139a18185613221565b90506128bb610100830184613382565b602080825281016127fe8184613394565b602080825281016111cf8161340d565b602080825281016111cf8161345a565b602080825281016111cf816134a3565b602080825281016111cf816134ea565b602080825281016111cf81613532565b602080825281016111cf81613586565b602080825281016111cf816135bf565b602080825281016111cf81613606565b602080825281016111cf8161363f565b602080825281016111cf8161368b565b602080825281016111cf816136e3565b602081016111cf8284613382565b604081016138758285613382565b6040518181016001600160401b0381118282101715613aac57600080fd5b604052919050565b60006001600160401b03821115613aca57600080fd5b5060209081020190565b60006001600160401b03821115613aea57600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b60006111cf82613b42565b151590565b90565b6001600160e01b03191690565b8061140281613b9a565b8061140281613ba4565b6001600160a01b031690565b60006111cf82613b2e565b60006111cf82613b38565b60005b83811015613b7f578181015183820152602001613b67565b83811115610f5e5750506000910152565b601f01601f191690565b60038110611df757fe5b60028110611df757fe5b613bb781613b0e565b8114611df757600080fd5b613bb781613b19565b613bb781613b1e565b613bb781613b21565b60028110611df757600080fdfea164736f6c634300060c000a", - "sourceMap": "679:8854:163:-:0;;;796:312;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;1938:41:179;;;;;;;;657:58:183;;;;;;;998:52:188;;;;;;1060:47;;;;;;679:8854:163;;5:134:-1;83:13;;101:33;83:13;101:33;:::i;:::-;68:71;;;;:::o;146:672::-;;;;;312:3;300:9;291:7;287:23;283:33;280:2;;;329:1;326;319:12;280:2;364:1;381:64;437:7;417:9;381:64;:::i;:::-;371:74;;343:108;482:2;500:64;556:7;547:6;536:9;532:22;500:64;:::i;:::-;490:74;;461:109;601:2;619:64;675:7;666:6;655:9;651:22;619:64;:::i;:::-;609:74;;580:109;720:2;738:64;794:7;785:6;774:9;770:22;738:64;:::i;:::-;728:74;;699:109;274:544;;;;;;;:::o;825:91::-;;-1:-1;;;;;985:54;;887:24;968:76::o;1051:117::-;1120:24;1138:5;1120:24;:::i;:::-;1113:5;1110:35;1100:2;;1159:1;1156;1149:12;1100:2;1094:74;:::o;:::-;679:8854:163;;;;;;;;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106101375760003560e01c80638334eb99116100b8578063c32990a21161007c578063c32990a214610226578063c54efee51461022e578063e7c4569014610252578063f003eb851461025a578063f7d882b514610262578063fa7dd04d1461026a57610137565b80638334eb99146101dd578063863e5ad0146101f0578063b23228cf146101f8578063b9dfbacc14610200578063c29fa9dd1461021357610137565b806329fa046e116100ff57806329fa046e14610192578063332d709f146101a55780633ffc1591146101ba57806340da225d146101c257806368e30677146101ca57610137565b806303e38a2b1461013c578063080456c114610151578063099f75151461016f578063131461c014610182578063257cb1a31461018a575b600080fd5b61014f61014a366004612ecc565b61027d565b005b610159610718565b60405161016691906138e1565b60405180910390f35b61014f61017d366004612ecc565b61073c565b6101596107fc565b610159610820565b61014f6101a0366004612ecc565b610844565b6101ad610941565b6040516101669190613859565b610159610965565b610159610989565b61014f6101d8366004612ecc565b6109ad565b61014f6101eb366004612ecc565b610a50565b610159610bb6565b610159610bda565b61014f61020e366004612ecc565b610bfe565b61014f610221366004612ecc565b610c95565b610159610d51565b61024161023c366004612e65565b610d75565b6040516101669594939291906138ef565b6101ad610df3565b6101ad610e17565b610159610e3b565b61014f610278366004612ecc565b610e5f565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146102ce5760405162461bcd60e51b81526004016102c590613a02565b60405180910390fd5b600060608060608061031589898080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610ef892505050565b945094509450945094506000808451905060005b8181101561045057600085828151811061033f57fe5b602002602001015113156103f557600085828151811061035b57fe5b6020026020010151905060006001600160a01b031685838151811061037c57fe5b60200260200101516001600160a01b0316146103b1576103b130308785815181106103a357fe5b602002602001015184610f26565b6103ef8783815181106103c057fe5b60200260200101517f000000000000000000000000000000000000000000000000000000000000000083610f64565b50610448565b600085828151811061040357fe5b602002602001015112801561043e575060006001600160a01b031684828151811061042a57fe5b60200260200101516001600160a01b031614155b1561044857600192505b600101610329565b50606061046d3084610462578e610464565b305b8a8a8a8a611020565b905060005b8281101561070857600086828151811061048857fe5b602002602001015113156105b85760006001600160a01b03168582815181106104ad57fe5b60200260200101516001600160a01b0316141580156104d7575060018960018111156104d557fe5b145b156105955760008782815181106104ea57fe5b60200260200101516001600160a01b03166370a08231306040518263ffffffff1660e01b815260040161051d9190613859565b60206040518083038186803b15801561053557600080fd5b505afa158015610549573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061056d9190613121565b90508015610593576105938f87848151811061058557fe5b602002602001015183611108565b505b6105b28e8883815181106105a557fe5b6020026020010151611134565b50610700565b60008682815181106105c657fe5b602002602001015112156106cd5760006001600160a01b03168582815181106105eb57fe5b60200260200101516001600160a01b0316146106b2576106ad8e86838151811061061157fe5b602002602001015189848151811061062557fe5b60200260200101516001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016106589190613859565b60206040518083038186803b15801561067057600080fd5b505afa158015610684573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106a89190613121565b611108565b6106c8565b83156106c8576105b28e8883815181106105a557fe5b610700565b8181815181106106d957fe5b60200260200101516000146107005760405162461bcd60e51b81526004016102c590613a12565b600101610472565b5050505050505050505050505050565b7f8334eb99be0145865eba9889fca2ee920288090caefff4cc776038e20ad9259a81565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146107845760405162461bcd60e51b81526004016102c590613a02565b6000606080610791612905565b6107d088888080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506111d592505050565b9450945094505093506107e689858585856111f7565b6107f08984611269565b50505050505050505050565b7f29fa046e79524c3c5ac4c01df692c35e217802b2b13b21121b76cf0ef02b138c81565b7f099f75155f0e997bf83a7993a71d5e7e7540bd386fe1e84643a09ce6b412521981565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461088c5760405162461bcd60e51b81526004016102c590613a02565b60008060608061089a612905565b6108d989898080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506113c492505050565b95509550955050945094506108f130858585856111f7565b61092a8a866108ff876113fc565b6001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016106589190613859565b6109348a84611269565b5050505050505050505050565b7f000000000000000000000000000000000000000000000000000000000000000090565b7ffa7dd04da627f433da73c4355ead9c75682a67a8fc84d3f6170ef0922f402d2481565b7fb9dfbaccbe5cd2a84fdcf1d15f23ef25d23086f5afbaa99516065ed4a5bbc7a381565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146109f55760405162461bcd60e51b81526004016102c590613a02565b600080610a3786868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061140792505050565b91509150610a4787888484610f26565b50505050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610a985760405162461bcd60e51b81526004016102c590613a02565b60008060006060610aa7612905565b610ae689898080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506113c492505050565b9550509450945094509450610afd8a308786610f26565b610b0a8a85858585611427565b6000610b15856113fc565b90506000816001600160a01b03166370a08231306040518263ffffffff1660e01b8152600401610b459190613859565b60206040518083038186803b158015610b5d57600080fd5b505afa158015610b71573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b959190613121565b90508015610ba857610ba88c8883611108565b505050505050505050505050565b7f03e38a2bd7063d45c897edeafc330e71657502dd86434d3c37a489caf116af6981565b7f68e30677f607df46e87da13e15b637784cfa62374b653f35ab43d10361a2f83081565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610c465760405162461bcd60e51b81526004016102c590613a02565b610c8e85610c8986868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506116c792505050565b6116dd565b5050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610cdd5760405162461bcd60e51b81526004016102c590613a02565b6000806060610cea612905565b610d2988888080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506111d592505050565b945050935093509350610d3f8985858585611427565b6107f089610d4c866113fc565b611134565b7f0e7f692dad5b88fdee426250d6eae91207e56a2e8112b7364579bed1790e5bf481565b600060608080806001600160e01b0319881663099f751560e01b1415610dae57610d9f87876116eb565b94509450945094509450610de8565b6001600160e01b0319881663c29fa9dd60e01b1415610dd157610d9f87876117f8565b610ddd898989896118d5565b945094509450945094505b945094509450945094565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b7fc29fa9dde84204c2908778afd0613d802d31cf046179b88f6d2b4a4e507ea2d581565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610ea75760405162461bcd60e51b81526004016102c590613a02565b600080610ee986868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061140792505050565b91509150610a47878383611108565b600060608060608085806020019051810190610f14919061305d565b939a9299509097509550909350915050565b610f3082826119c4565b6001600160a01b0383163014610f5e57610f5e8382610f4e85611a26565b6001600160a01b03169190611a99565b50505050565b604051636eb1769f60e11b81526000906001600160a01b0385169063dd62ed3e90610f959030908790600401613867565b60206040518083038186803b158015610fad57600080fd5b505afa158015610fc1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fe59190613121565b905081811015610f5e57801561100a5761100a6001600160a01b038516846000611aef565b610f5e6001600160a01b03851684600019611aef565b606061102a61292f565b50604080516080810182526001600160a01b03808a168252600060208301819052898216838501526060830152915163945bcec960e01b815290917f0000000000000000000000000000000000000000000000000000000000000000169063945bcec9906110a69089908990899087908a90429060040161394b565b600060405180830381600087803b1580156110c057600080fd5b505af11580156110d4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526110fc9190810190612f51565b98975050505050505050565b61111b8261111584611a26565b83611bb2565b61112f6001600160a01b0383168483611a99565b505050565b6040516370a0823160e01b81526000906001600160a01b038316906370a0823190611163903090600401613859565b60206040518083038186803b15801561117b57600080fd5b505afa15801561118f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111b39190613121565b905080156111cf576111cf6001600160a01b0383168483611a99565b92915050565b6000806060806111e3612905565b85806020019051810190610f149190612fa3565b60005b835181101561125c5761125484828151811061121257fe5b60200260200101517f000000000000000000000000000000000000000000000000000000000000000085848151811061124757fe5b6020026020010151610f64565b6001016111fa565b50610c8e84308784611c19565b606081516001600160401b038111801561128257600080fd5b506040519080825280602002602001820160405280156112ac578160200160208202803683370190505b50905060005b82518110156113bd5760008382815181106112c957fe5b60200260200101519050806001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016112ff9190613859565b60206040518083038186803b15801561131757600080fd5b505afa15801561132b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061134f9190613121565b83838151811061135b57fe5b602002602001018181525050600083838151811061137557fe5b602002602001015111156113b4576113b48584848151811061139357fe5b6020026020010151836001600160a01b0316611a999092919063ffffffff16565b506001016112b2565b5092915050565b60008060006060806113d4612905565b868060200190518101906113e89190612d5f565b949c939b5091995097509550909350915050565b606081901c5b919050565b6000808280602001905181019061141e9190612e2b565b91509150915091565b61145a611433856113fc565b7f000000000000000000000000000000000000000000000000000000000000000085610f64565b815181515103606081156115a0578251516001600160401b038111801561148057600080fd5b506040519080825280602002602001820160405280156114aa578160200160208202803683370190505b5090508160005b811561159d576114e1856000015182815181106114ca57fe5b602002602001015187611c9990919063ffffffff16565b6115955784518051829081106114f357fe5b60200260200101516001600160a01b03166370a082318a6040518263ffffffff1660e01b81526004016115269190613859565b60206040518083038186803b15801561153e57600080fd5b505afa158015611552573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115769190613121565b83828151811061158257fe5b6020908102919091010152600019909101905b6001016114b1565b50505b6115ac86308986611cef565b8115610a475760005b82156116bd576115e5846000015182815181106115ce57fe5b602002602001015186611c9990919063ffffffff16565b6116b5578181815181106115f557fe5b60200260200101518460000151828151811061160d57fe5b60200260200101516001600160a01b03166370a082318a6040518263ffffffff1660e01b81526004016116409190613859565b60206040518083038186803b15801561165857600080fd5b505afa15801561166c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116909190613121565b146116ad5760405162461bcd60e51b81526004016102c5906139c2565b600019909201915b6001016115b5565b5050505050505050565b6000818060200190518101906111cf9190612d39565b6116e78183611d41565b5050565b6040805160018082528183019092526000916060918291829182916020808301908036833750506040805160018082528183019092529294509050602080830190803683370190505090506000611740612905565b61177f89898080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506111d592505050565b8760008151811061178c57fe5b60209081029190910101939093526060830151919950975091935091506117b290611dd9565b6117bb826113fc565b846000815181106117c857fe5b60200260200101906001600160a01b031690816001600160a01b0316815250506002965050509295509295909350565b604080516001808252818301909252600091606091829182918291602080830190803683375050604080516001808252818301909252929650905060208083019080368337019050509250600061184d612905565b61188c89898080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506111d592505050565b8960008151811061189957fe5b60209081029190910101939093526060830151919750955091935091506118bf90611dd9565b6118c8826113fc565b866000815181106117c857fe5b600060608080806001600160e01b03198816632e77eeb360e21b14156118fd57610d9f611dfa565b6001600160e01b031988166314fd023760e11b141561192057610d9f8787611e5a565b6001600160e01b03198816638334eb9960e01b141561194357610d9f8787611f6d565b6001600160e01b031988166303e38a2b60e01b141561196657610d9f878761204f565b6001600160e01b0319881663fa7dd04d60e01b141561198957610d9f878761241d565b6001600160e01b031988166368e3067760e01b14156119ac57610d9f8787612594565b60405162461bcd60e51b81526004016102c590613a62565b604051632e1a7d4d60e01b81526001600160a01b03831690632e1a7d4d906119f0908490600401613a72565b600060405180830381600087803b158015611a0a57600080fd5b505af1158015611a1e573d6000803e3d6000fd5b505050505050565b6000816001600160a01b03166382c630666040518163ffffffff1660e01b815260040160206040518083038186803b158015611a6157600080fd5b505afa158015611a75573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111cf9190612d39565b61112f8363a9059cbb60e01b8484604051602401611ab8929190613882565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526126c1565b801580611b775750604051636eb1769f60e11b81526001600160a01b0384169063dd62ed3e90611b259030908690600401613867565b60206040518083038186803b158015611b3d57600080fd5b505afa158015611b51573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b759190613121565b155b611b935760405162461bcd60e51b81526004016102c590613a52565b61112f8363095ea7b360e01b8484604051602401611ab8929190613882565b611bbd828483610f64565b604051636e553f6560e01b81526001600160a01b03841690636e553f6590611beb9084903090600401613a80565b600060405180830381600087803b158015611c0557600080fd5b505af1158015610a47573d6000803e3d6000fd5b60405163172b958560e31b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063b95cac2890611c6b90879087908790879060040161389d565b600060405180830381600087803b158015611c8557600080fd5b505af11580156116bd573d6000803e3d6000fd5b6000805b8351811015611ce557838181518110611cb257fe5b60200260200101516001600160a01b0316836001600160a01b03161415611cdd5760019150506111cf565b600101611c9d565b5060009392505050565b604051638bdb391360e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690638bdb391390611c6b90879087908790879060040161389d565b611d49612750565b15611dcf576040516327f18ae360e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906327f18ae390611d9c9085908590600401613867565b600060405180830381600087803b158015611db657600080fd5b505af1158015611dca573d6000803e3d6000fd5b505050505b6116e7828261277f565b8015611df75760405162461bcd60e51b81526004016102c590613a22565b50565b600060608080808480604051908082528060200260200182016040528015611e2c578160200160208202803683370190505b5060408051600080825260208201818152828401918252606083019093529399929850965094509092509050565b604080516001808252818301909252600091606091829182918291602080830190803683375050604080516001808252818301909252929450905060208083019080368337019050509050600080611eb0612905565b611eef8a8a8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506113c492505050565b89600081518110611efc57fe5b6020908102919091010193909352909a5098509094509092509050611f2182846127ab565b611f2e8160600151611dd9565b8185600081518110611f3c57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050600297505050509295509295909350565b604080516001808252818301909252600091606091829182918291602080830190803683375050604080516001808252818301909252929650905060208083019080368337019050509250600080611fc3612905565b6120028a8a8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506113c492505050565b8b60008151811061200f57fe5b60209081029190910101939093529098509650909450909250905061203482846127ab565b6120418160600151611dd9565b8187600081518110611f3c57fe5b6000606080606080606080606061209b8a8a8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610ef892505050565b945094509450505060008060005b85518110156121045760008582815181106120c057fe5b602002602001015113156120d9576001909201916120fc565b60008582815181106120e757fe5b602002602001015112156120fc576001909101905b6001016120a9565b50816001600160401b038111801561211b57600080fd5b50604051908082528060200260200182016040528015612145578160200160208202803683370190505b509850816001600160401b038111801561215e57600080fd5b50604051908082528060200260200182016040528015612188578160200160208202803683370190505b509750806001600160401b03811180156121a157600080fd5b506040519080825280602002602001820160405280156121cb578160200160208202803683370190505b509650806001600160401b03811180156121e457600080fd5b5060405190808252806020026020018201604052801561220e578160200160208202803683370190505b50955060005b855181101561240957600085828151811061222b57fe5b60200260200101519050600081131561231b57600087838151811061224c57fe5b60200260200101519050600086848151811061226457fe5b6020026020010151905060006001600160a01b0316816001600160a01b0316146122c55761229181611a26565b6001600160a01b0316826001600160a01b0316146122c15760405162461bcd60e51b81526004016102c5906139d2565b8091505b858060019003965050818d87815181106122db57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050828c878151811061230857fe5b6020026020010181815250505050612400565b600081121561240057600087838151811061233257fe5b60200260200101519050600086848151811061234a57fe5b6020026020010151905060006001600160a01b0316816001600160a01b0316146123ab5761237781611a26565b6001600160a01b0316826001600160a01b0316146123a75760405162461bcd60e51b81526004016102c5906139d2565b8091505b848060019003955050818b86815181106123c157fe5b60200260200101906001600160a01b031690816001600160a01b031681525050826000038a86815181106123f157fe5b60200260200101818152505050505b50600101612214565b506002995050505050509295509295909350565b600060608060608060008061246789898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061140792505050565b604080516001808252818301909252929450909250602080830190803683375050604080516001808252818301909252929850905060208083019080368337505060408051600180825281830190925292975090506020808301908036833750506040805160018082528183019092529296509050602080830190803683370190505092506124f582611a26565b8660008151811061250257fe5b60200260200101906001600160a01b031690816001600160a01b031681525050808560008151811061253057fe5b602002602001018181525050818460008151811061254a57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050808360008151811061257857fe5b6020026020010181815250506002965050509295509295909350565b60006060806060806000806125de89898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061140792505050565b60408051600180825281830190925292945090925060208083019080368337505060408051600180825281830190925292985090506020808301908036833750506040805160018082528183019092529297509050602080830190803683375050604080516001808252818301909252929650905060208083019080368337019050509250818660008151811061267157fe5b60200260200101906001600160a01b031690816001600160a01b031681525050808560008151811061269f57fe5b6020026020010181815250506126b482611a26565b8460008151811061254a57fe5b6060612716826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166127ec9092919063ffffffff16565b80519091501561112f57808060200190518101906127349190612f85565b61112f5760405162461bcd60e51b81526004016102c590613a42565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316151590565b604051634274debf60e11b81526001600160a01b038316906384e9bd7e906119f0908490600401613859565b6127b4816113fc565b6001600160a01b03166127c683611a26565b6001600160a01b0316146116e75760405162461bcd60e51b81526004016102c5906139e2565b60606127fb8484600085612805565b90505b9392505050565b6060824710156128275760405162461bcd60e51b81526004016102c5906139f2565b612830856128c6565b61284c5760405162461bcd60e51b81526004016102c590613a32565b60006060866001600160a01b03168587604051612869919061384d565b60006040518083038185875af1925050503d80600081146128a6576040519150601f19603f3d011682016040523d82523d6000602084013e6128ab565b606091505b50915091506128bb8282866128cc565b979650505050505050565b3b151590565b606083156128db5750816127fe565b8251156128eb5782518084602001fd5b8160405162461bcd60e51b81526004016102c591906139b1565b60405180608001604052806060815260200160608152602001606081526020016000151581525090565b60408051608081018252600080825260208201819052918101829052606081019190915290565b80356111cf81613bae565b80516111cf81613bae565b600082601f83011261297d57600080fd5b815161299061298b82613ab4565b613a8e565b915081818352602084019350602081019050838560208402820111156129b557600080fd5b60005b838110156129e157816129cb8882612961565b84525060209283019291909101906001016129b8565b5050505092915050565b600082601f8301126129fc57600080fd5b8151612a0a61298b82613ab4565b91508181835260208401935060208101905083856020840282011115612a2f57600080fd5b60005b838110156129e15781612a458882612b33565b8452506020928301929190910190600101612a32565b600082601f830112612a6c57600080fd5b8151612a7a61298b82613ab4565b81815260209384019390925082018360005b838110156129e15781518601612aa28882612beb565b8452506020928301929190910190600101612a8c565b600082601f830112612ac957600080fd5b8151612ad761298b82613ab4565b91508181835260208401935060208101905083856020840282011115612afc57600080fd5b60005b838110156129e15781612b128882612b33565b8452506020928301929190910190600101612aff565b80516111cf81613bc2565b80516111cf81613bcb565b80356111cf81613bd4565b60008083601f840112612b5b57600080fd5b5081356001600160401b03811115612b7257600080fd5b602083019150836001820283011115612b8a57600080fd5b9250929050565b600082601f830112612ba257600080fd5b8151612bb061298b82613ad4565b91508082526020830160208301858383011115612bcc57600080fd5b612bd7838284613b64565b50505092915050565b80516111cf81613bdd565b600060a08284031215612bfd57600080fd5b612c0760a0613a8e565b90506000612c158484612b33565b8252506020612c2684848301612b33565b6020830152506040612c3a84828501612b33565b6040830152506060612c4e84828501612b33565b60608301525060808201516001600160401b03811115612c6d57600080fd5b612c7984828501612b91565b60808301525092915050565b600060808284031215612c9757600080fd5b612ca16080613a8e565b82519091506001600160401b03811115612cba57600080fd5b612cc68482850161296c565b82525060208201516001600160401b03811115612ce257600080fd5b612cee84828501612ab8565b60208301525060408201516001600160401b03811115612d0d57600080fd5b612d1984828501612b91565b6040830152506060612d2d84828501612b28565b60608301525092915050565b600060208284031215612d4b57600080fd5b6000612d578484612961565b949350505050565b60008060008060008060c08789031215612d7857600080fd5b6000612d848989612961565b9650506020612d9589828a01612b33565b9550506040612da689828a01612b33565b94505060608701516001600160401b03811115612dc257600080fd5b612dce89828a0161296c565b93505060808701516001600160401b03811115612dea57600080fd5b612df689828a01612ab8565b92505060a08701516001600160401b03811115612e1257600080fd5b612e1e89828a01612c85565b9150509295509295509295565b60008060408385031215612e3e57600080fd5b6000612e4a8585612961565b9250506020612e5b85828601612b33565b9150509250929050565b60008060008060608587031215612e7b57600080fd5b6000612e878787612956565b9450506020612e9887828801612b3e565b93505060408501356001600160401b03811115612eb457600080fd5b612ec087828801612b49565b95989497509550505050565b600080600080600060608688031215612ee457600080fd5b6000612ef08888612956565b95505060208601356001600160401b03811115612f0c57600080fd5b612f1888828901612b49565b945094505060408601356001600160401b03811115612f3657600080fd5b612f4288828901612b49565b92509250509295509295909350565b600060208284031215612f6357600080fd5b81516001600160401b03811115612f7957600080fd5b612d57848285016129eb565b600060208284031215612f9757600080fd5b6000612d578484612b28565b600080600080600060a08688031215612fbb57600080fd5b6000612fc78888612b33565b9550506020612fd888828901612b33565b94505060408601516001600160401b03811115612ff457600080fd5b6130008882890161296c565b93505060608601516001600160401b0381111561301c57600080fd5b61302888828901612ab8565b92505060808601516001600160401b0381111561304457600080fd5b61305088828901612c85565b9150509295509295909350565b600080600080600060a0868803121561307557600080fd5b60006130818888612be0565b95505060208601516001600160401b0381111561309d57600080fd5b6130a988828901612a5b565b94505060408601516001600160401b038111156130c557600080fd5b6130d18882890161296c565b93505060608601516001600160401b038111156130ed57600080fd5b6130f9888289016129eb565b92505060808601516001600160401b0381111561311557600080fd5b6130508882890161296c565b60006020828403121561313357600080fd5b6000612d578484612b33565b600061314b838361316b565b505060200190565b600061314b8383613382565b60006127fe838361372c565b61317481613b0e565b82525050565b600061318582613b01565b61318f8185613b05565b935061319a83613afb565b8060005b838110156131c85781516131b2888261313f565b97506131bd83613afb565b92505060010161319e565b509495945050505050565b60006131de82613b01565b6131e88185613b05565b93506131f383613afb565b8060005b838110156131c857815161320b888261313f565b975061321683613afb565b9250506001016131f7565b600061322c82613b01565b6132368185613b05565b935061324183613afb565b8060005b838110156131c85781516132598882613153565b975061326483613afb565b925050600101613245565b600061327a82613b01565b6132848185613b05565b93508360208202850161329685613afb565b8060005b858110156132d057848403895281516132b3858261315f565b94506132be83613afb565b60209a909a019992505060010161329a565b5091979650505050505050565b60006132e882613b01565b6132f28185613b05565b93506132fd83613afb565b8060005b838110156131c85781516133158882613153565b975061332083613afb565b925050600101613301565b600061333682613b01565b6133408185613b05565b935061334b83613afb565b8060005b838110156131c85781516133638882613153565b975061336e83613afb565b92505060010161334f565b61317481613b19565b61317481613b1e565b61317481613b21565b600061339f82613b01565b6133a98185613b05565b93506133b9818560208601613b64565b6133c281613b90565b9093019392505050565b60006133d782613b01565b6133e18185611402565b93506133f1818560208601613b64565b9290920192915050565b61317481613b4e565b61317481613b59565b600061341a602b83613b05565b7f5f5f62616c616e63657252656465656d3a20556e65787065637465642061737381526a195d081c9958d95a5d995960aa1b602082015260400192915050565b6000613467602783613b05565b7f5f5f7061727365417373657473466f7254616b654f726465723a20425054206d8152660d2e6dac2e8c6d60cb1b602082015260400192915050565b60006134b0602583613b05565b7f5f5f76616c6964617465427074466f725374616b696e67546f6b656e3a20496e8152641d985b1a5960da1b602082015260400192915050565b60006134f7602683613b05565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f8152651c8818d85b1b60d21b602082015260400192915050565b600061353f603283613b05565b7f4f6e6c792074686520496e746567726174696f6e4d616e616765722063616e2081527131b0b636103a3434b990333ab731ba34b7b760711b602082015260400192915050565b6000613593602083613b05565b7f74616b654f726465723a206c6566746f76657220696e7465726d656469617279815260200192915050565b60006135cc602583613b05565b7f5f5f76616c69646174654e6f496e7465726e616c42616c616e6365733a20496e8152641d985b1a5960da1b602082015260400192915050565b6000613613601d83613b05565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000815260200192915050565b600061364c602a83613b05565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e8152691bdd081cdd58d8d9595960b21b602082015260400192915050565b6000613698603683613b05565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f81527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b602082015260400192915050565b60006136f0602783613b05565b7f7061727365417373657473466f72416374696f6e3a205f73656c6563746f72208152661a5b9d985b1a5960ca1b602082015260400192915050565b805160009060a08401906137408582613382565b5060208301516137536020860182613382565b5060408301516137666040860182613382565b5060608301516137796060860182613382565b50608083015184820360808601526137918282613394565b95945050505050565b805160808301906137ab848261316b565b5060208201516137be6020850182613379565b5060408201516137d1604085018261316b565b506060820151610f5e6060850182613379565b80516080808452600091908401906137fc828261317a565b9150506020830151848203602086015261381682826132dd565b915050604083015184820360408601526138308282613394565b91505060608301516138456060860182613379565b509392505050565b60006127fe82846133cc565b602081016111cf828461316b565b60408101613875828561316b565b6127fe602083018461316b565b60408101613890828561316b565b6127fe6020830184613382565b608081016138ab8287613382565b6138b8602083018661316b565b6138c5604083018561316b565b81810360608301526138d781846137e4565b9695505050505050565b602081016111cf828461338b565b60a081016138fd82886133fb565b818103602083015261390f81876131d3565b90508181036040830152613923818661332b565b9050818103606083015261393781856131d3565b905081810360808301526128bb818461332b565b610120810161395a8289613404565b818103602083015261396c818861326f565b9050818103604083015261398081876131d3565b905061398f606083018661379a565b81810360e08301526139a18185613221565b90506128bb610100830184613382565b602080825281016127fe8184613394565b602080825281016111cf8161340d565b602080825281016111cf8161345a565b602080825281016111cf816134a3565b602080825281016111cf816134ea565b602080825281016111cf81613532565b602080825281016111cf81613586565b602080825281016111cf816135bf565b602080825281016111cf81613606565b602080825281016111cf8161363f565b602080825281016111cf8161368b565b602080825281016111cf816136e3565b602081016111cf8284613382565b604081016138758285613382565b6040518181016001600160401b0381118282101715613aac57600080fd5b604052919050565b60006001600160401b03821115613aca57600080fd5b5060209081020190565b60006001600160401b03821115613aea57600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b60006111cf82613b42565b151590565b90565b6001600160e01b03191690565b8061140281613b9a565b8061140281613ba4565b6001600160a01b031690565b60006111cf82613b2e565b60006111cf82613b38565b60005b83811015613b7f578181015183820152602001613b67565b83811115610f5e5750506000910152565b601f01601f191690565b60038110611df757fe5b60028110611df757fe5b613bb781613b0e565b8114611df757600080fd5b613bb781613b19565b613bb781613b1e565b613bb781613b21565b60028110611df757600080fdfea164736f6c634300060c000a", - "sourceMap": "679:8854:163:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5515:3627:201;;;;;;:::i;:::-;;:::i;:::-;;1490:119:180;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3071:683:163;;;;;;:::i;:::-;;:::i;1373:111:180:-;;;:::i;832:85::-;;;:::i;3069:892:201:-;;;;;;:::i;:::-;;:::i;2140:153:188:-;;;:::i;:::-;;;;;;;:::i;1034:87:180:-;;;:::i;1240:110::-;;;:::i;9301:318:201:-;;;;;;:::i;:::-;;:::i;9797:1081::-;;;;;;:::i;:::-;;:::i;706:104:180:-;;;:::i;1127:91::-;;;:::i;2630:236:201:-;;;;;;:::i;:::-;;:::i;3928:716:163:-;;;;;;:::i;:::-;;:::i;577:123:180:-;;;:::i;5482:775:163:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;:::i;2637:128:179:-;;;:::i;2456:146:188:-;;;:::i;923:89:180:-;;;:::i;4118:301:201:-;;;;;;:::i;:::-;;:::i;5515:3627::-;1747:10:179;-1:-1:-1;;;;;1761:19:179;1747:33;;1726:130;;;;-1:-1:-1;;;1726:130:179;;;;;;;:::i;:::-;;;;;;;;;5685:30:201::1;5729:45;5788:23:::0;5825:22:::1;5861:30:::0;5904:38:::1;5930:11;;5904:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;5904:25:201::1;::::0;-1:-1:-1;;;5904:38:201:i:1;:::-;5671:271;;;;;;;;;;6002:25;6037:18:::0;6058:6:::1;:13;6037:34;;6086:9;6081:899;6101:10;6097:1;:14;6081:899;;;6148:1;6136:6;6143:1;6136:9;;;;;;;;;;;;;;:13;6132:838;;;6169:24;6204:6;6211:1;6204:9;;;;;;;;;;;;;;6169:45;;6296:1;-1:-1:-1::0;;;;;6268:30:201::1;:13;6282:1;6268:16;;;;;;;;;;;;;;-1:-1:-1::0;;;;;6268:30:201::1;;6264:318;;6322:241;6373:4;6424;6470:13;6484:1;6470:16;;;;;;;;;;;;;;6524;6322:9;:241::i;:::-;6636:200;6692:6;6699:1;6692:9;;;;;;;;;;;;;;6740:23;6801:16;6636:25;:200::i;:::-;6132:838;;;;6873:1;6861:6;6868:1;6861:9;;;;;;;;;;;;;;:13;:47;;;;;6906:1;-1:-1:-1::0;;;;;6878:30:201::1;:13;6892:1;6878:16;;;;;;;;;;;;;;-1:-1:-1::0;;;;;6878:30:201::1;;;6861:47;6857:113;;;6951:4;6928:27;;6857:113;6113:3;;6081:899;;;;7020:27;7050:255;7103:4;7134:20;:50;;7173:11;7134:50;;;7165:4;7134:50;7205:4;7231:5;7259:6;7288;7050:21;:255::i;:::-;7020:285;;7371:9;7366:1770;7386:10;7382:1;:14;7366:1770;;;7433:1;7421:6;7428:1;7421:9;;;;;;;;;;;;;;:13;7417:1709;;;7724:1;-1:-1:-1::0;;;;;7696:30:201::1;:13;7710:1;7696:16;;;;;;;;;;;;;;-1:-1:-1::0;;;;;7696:30:201::1;;;:77;;;;-1:-1:-1::0;7738:35:201::1;7730:4;:43;;;;;;;;;7696:77;7671:513;;;7814:17;7840:6;7847:1;7840:9;;;;;;;;;;;;;;-1:-1:-1::0;;;;;7834:26:201::1;;7869:4;7834:41;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7814:61:::0;-1:-1:-1;7901:13:201;;7897:269:::1;;7942:201;7993:11;8049:13;8063:1;8049:16;;;;;;;;;;;;;;8107:9;7942:7;:201::i;:::-;7671:513;;8278:65;8311:11;8332:6;8339:1;8332:9;;;;;;;;;;;;;;8278:22;:65::i;:::-;;7417:1709;;;8380:1;8368:6;8375:1;8368:9;;;;;;;;;;;;;;:13;8364:762;;;8433:1;-1:-1:-1::0;;;;;8405:30:201::1;:13;8419:1;8405:16;;;;;;;;;;;;;;-1:-1:-1::0;;;;;8405:30:201::1;;8401:515;;8459:217;8506:11;8558:13;8572:1;8558:16;;;;;;;;;;;;;;8618:6;8625:1;8618:9;;;;;;;;;;;;;;-1:-1:-1::0;;;;;8612:26:201::1;;8647:4;8612:41;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8459:7;:217::i;:::-;8401:515;;;8705:20;8701:215;;;8832:65;8865:11;8886:6;8893:1;8886:9;;;;;;;8701:215;8364:762;;;9055:11;9067:1;9055:14;;;;;;;;;;;;;;9073:1;9055:19;9047:64;;;;-1:-1:-1::0;;;9047:64:201::1;;;;;;;:::i;:::-;7398:3;;7366:1770;;;;1866:1:179;;;;;;;;5515:3627:201::0;;;;;:::o;1490:119:180:-;1558:50;1490:119;:::o;3071:683:163:-;1747:10:179;-1:-1:-1;;;;;1761:19:179;1747:33;;1726:130;;;;-1:-1:-1;;;1726:130:179;;;;;;;:::i;:::-;3236:14:163::1;3278:28;3320:34:::0;3368:49:::1;;:::i;:::-;3430:37;3455:11;;3430:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;3430:24:163::1;::::0;-1:-1:-1;;;3430:37:163:i:1;:::-;3222:245;;;;;;;;;3478:68;3485:11;3498:6;3506:11;3519:17;3538:7;3478:6;:68::i;:::-;3698:49;3722:11;3735;3698:23;:49::i;:::-;;1866:1:179;;;;3071:683:163::0;;;;;:::o;1373:111:180:-;1437:46;1373:111;:::o;832:85::-;878:38;832:85;:::o;3069:892:201:-;1747:10:179;-1:-1:-1;;;;;1761:19:179;1747:33;;1726:130;;;;-1:-1:-1;;;1726:130:179;;;;;;;:::i;:::-;3242:20:201::1;3276:14:::0;3318:28:::1;3360:34:::0;3408:49:::1;;:::i;:::-;3470:43;3501:11;;3470:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;3470:30:201::1;::::0;-1:-1:-1;;;3470:43:201:i:1;:::-;3228:285;;;;;;;;;;;3524:70;3539:4;3546:6;3554:11;3567:17;3586:7;3524:6;:70::i;:::-;3605:148;3626:11;3651:12;3683:34;3710:6;3683:26;:34::i;:::-;-1:-1:-1::0;;;;;3677:51:201::1;;3737:4;3677:66;;;;;;;;;;;;;;;:::i;3605:148::-;3905:49;3929:11;3942;3905:23;:49::i;:::-;;1866:1:179;;;;;3069:892:201::0;;;;;:::o;2140:153:188:-;2246:40;2140:153;:::o;1034:87:180:-;1081:39;1034:87;:::o;1240:110::-;1303:46;1240:110;:::o;9301:318:201:-;1747:10:179;-1:-1:-1;;;;;1761:19:179;1747:33;;1726:130;;;;-1:-1:-1;;;1726:130:179;;;;;;;:::i;:::-;9456:20:201::1;9478:17:::0;9499:42:::1;9529:11;;9499:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;9499:29:201::1;::::0;-1:-1:-1;;;9499:42:201:i:1;:::-;9455:86;;;;9552:60;9562:11;9575;9588:12;9602:9;9552;:60::i;:::-;1866:1:179;;9301:318:201::0;;;;;:::o;9797:1081::-;1747:10:179;-1:-1:-1;;;;;1761:19:179;1747:33;;1726:130;;;;-1:-1:-1;;;1726:130:179;;;;;;;:::i;:::-;9974:20:201::1;10008:14:::0;10036:17:::1;10067:39;10134:49;;:::i;:::-;10196:43;10227:11;;10196:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;10196:30:201::1;::::0;-1:-1:-1;;;10196:43:201:i:1;:::-;9960:279;;;;;;;;;;;10250:62;10260:11;10281:4;10288:12;10302:9;10250;:62::i;:::-;10323:73;10332:11;10345:6;10353:9;10364:22;10388:7;10323:8;:73::i;:::-;10582:11;10596:34;10623:6;10596:26;:34::i;:::-;10582:48;;10640:20;10669:3;-1:-1:-1::0;;;;;10663:20:201::1;;10692:4;10663:35;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10640:58:::0;-1:-1:-1;10712:16:201;;10708:95:::1;;10744:48;10752:11;10765:12;10779;10744:7;:48::i;:::-;1866:1:179;;;;;;;9797:1081:201::0;;;;;:::o;706:104:180:-;766:43;706:104;:::o;1127:91::-;1176:41;1127:91;:::o;2630:236:201:-;1747:10:179;-1:-1:-1;;;;;1761:19:179;1747:33;;1726:130;;;;-1:-1:-1;;;1726:130:179;;;;;;;:::i;:::-;2789:70:201::1;2804:11;2817:41;2846:11;;2817:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;2817:28:201::1;::::0;-1:-1:-1;;;2817:41:201:i:1;:::-;2789:14;:70::i;:::-;2630:236:::0;;;;;:::o;3928:716:163:-;1747:10:179;-1:-1:-1;;;;;1761:19:179;1747:33;;1726:130;;;;-1:-1:-1;;;1726:130:179;;;;;;;:::i;:::-;4095:14:163::1;4123:22:::0;4159:39:::1;4226:49;;:::i;:::-;4288:37;4313:11;;4288:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;4288:24:163::1;::::0;-1:-1:-1;;;4288:37:163:i:1;:::-;4081:244;;;;;;;;;4336:78;4345:11;4358:6;4366:14;4382:22;4406:7;4336:8;:78::i;:::-;4566:71;4589:11;4602:34;4629:6;4602:26;:34::i;:::-;4566:22;:71::i;577:123:180:-:0;647:52;577:123;:::o;5482:775:163:-;5684:64;5762:29;;;;-1:-1:-1;;;;;;5970:26:163;;-1:-1:-1;;;5970:26:163;5966:204;;;6019:33;6040:11;;6019:20;:33::i;:::-;6012:40;;;;;;;;;;;;5966:204;-1:-1:-1;;;;;;6073:28:163;;-1:-1:-1;;;6073:28:163;6069:101;;;6124:35;6147:11;;6124:22;:35::i;6069:101::-;6187:63;6214:11;6227:9;6238:11;;6187:26;:63::i;:::-;6180:70;;;;;;;;;;5482:775;;;;;;;;;;:::o;2637:128:179:-;2739:19;2637:128;:::o;2456:146:188:-;2558:37;2456:146;:::o;923:89:180:-;971:40;923:89;:::o;4118:301:201:-;1747:10:179;-1:-1:-1;;;;;1761:19:179;1747:33;;1726:130;;;;-1:-1:-1;;;1726:130:179;;;;;;;:::i;:::-;4271:20:201::1;4293:17:::0;4314:42:::1;4344:11;;4314:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;4314:29:201::1;::::0;-1:-1:-1;;;4314:42:201:i:1;:::-;4270:86;;;;4367:45;4375:11;4388:12;4402:9;4367:7;:45::i;27488:674::-:0;27613:31;27658:46;27718:24;27756:23;27793:31;27896:16;27868:287;;;;;;;;;;;;:::i;:::-;27849:306;;;;-1:-1:-1;27849:306:201;;-1:-1:-1;27849:306:201;-1:-1:-1;27849:306:201;;-1:-1:-1;27488:674:201;-1:-1:-1;;27488:674:201:o;2453:362:163:-;2610:48;2632:13;2647:10;2610:21;:48::i;:::-;-1:-1:-1;;;;;2673:27:163;;2695:4;2673:27;2669:140;;2716:82;2775:10;2787;2722:38;2746:13;2722:23;:38::i;:::-;-1:-1:-1;;;;;2716:58:163;;:82;:58;:82::i;:::-;2453:362;;;;:::o;2554:434:355:-;2714:47;;-1:-1:-1;;;2714:47:355;;2694:17;;-1:-1:-1;;;;;2714:23:355;;;;;:47;;2746:4;;2753:7;;2714:47;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2694:67;;2787:13;2775:9;:25;2771:211;;;2820:13;;2816:89;;2853:37;-1:-1:-1;;;;;2853:25:355;;2879:7;2888:1;2853:25;:37::i;:::-;2918:53;-1:-1:-1;;;;;2918:25:355;;2944:7;-1:-1:-1;;2918:25:355;:53::i;862:844:183:-;1134:28;1174:44;;:::i;:::-;-1:-1:-1;1221:194:183;;;;;;;;-1:-1:-1;;;;;1221:194:183;;;;;-1:-1:-1;1221:194:183;;;;;;;;;;;;;;;;;1445:254;;-1:-1:-1;;;1445:254:183;;1221:194;;1445:23;:33;;;;:254;;1504:5;;1535:6;;1568:7;;1221:194;;1633:7;;1669:15;;1445:254;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1445:254:183;;;;;;;;;;;;:::i;:::-;1426:273;862:844;-1:-1:-1;;;;;;;;862:844:183:o;2085:301:163:-;2224:86;2244:13;2259:38;2283:13;2259:23;:38::i;:::-;2299:10;2224:19;:86::i;:::-;2321:58;-1:-1:-1;;;;;2321:33:163;;2355:11;2368:10;2321:33;:58::i;:::-;2085:301;;;:::o;3083:360:355:-;3245:38;;-1:-1:-1;;;3245:38:355;;3182:26;;-1:-1:-1;;;;;3245:23:355;;;;;:38;;3277:4;;3245:38;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3224:59;-1:-1:-1;3297:22:355;;3293:108;;3335:55;-1:-1:-1;;;;;3335:26:355;;3362:7;3371:18;3335:26;:55::i;:::-;3083:360;;;;:::o;8891:640:163:-;9015:15;9044:18;9076:28;9174:34;9278:50;;:::i;:::-;9400:16;9372:152;;;;;;;;;;;;:::i;10970:549:201:-;11213:9;11208:232;11228:12;:19;11224:1;:23;11208:232;;;11268:161;11311:12;11324:1;11311:15;;;;;;;;;;;;;;11352:23;11394:18;11413:1;11394:21;;;;;;;;;;;;;;11268:25;:161::i;:::-;11249:3;;11208:232;;;;11450:62;11467:7;11484:4;11491:10;11503:8;11450:16;:62::i;3539:585:355:-;3649:36;3737:7;:14;-1:-1:-1;;;;;3723:29:355;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3723:29:355;;3701:51;;3767:9;3762:319;3782:7;:14;3778:1;:18;3762:319;;;3817:19;3845:7;3853:1;3845:10;;;;;;;;;;;;;;3817:39;;3895:13;-1:-1:-1;;;;;3895:23:355;;3927:4;3895:38;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3870:19;3890:1;3870:22;;;;;;;;;;;;;:63;;;;;3976:1;3951:19;3971:1;3951:22;;;;;;;;;;;;;;:26;3947:124;;;3997:59;4024:7;4033:19;4053:1;4033:22;;;;;;;;;;;;;;3997:13;-1:-1:-1;;;;;3997:26:355;;;:59;;;;;:::i;:::-;-1:-1:-1;3798:3:355;;3762:319;;;;3539:585;;;;:::o;25959:829:201:-;26090:21;26125:15;26154:18;26186:28;26284:34;26388:50;;:::i;:::-;26510:16;26482:299;;;;;;;;;;;;:::i;:::-;26463:318;;;;-1:-1:-1;26463:318:201;;-1:-1:-1;26463:318:201;-1:-1:-1;26463:318:201;-1:-1:-1;26463:318:201;;-1:-1:-1;25959:829:201;-1:-1:-1;;25959:829:201:o;24915:187::-;25087:6;25066:28;;;24915:187;;;;:::o;27135:236::-;27252:21;27275:18;27327:16;27316:48;;;;;;;;;;;;:::i;:::-;27309:55;;;;27135:236;;;:::o;11590:1989::-;11830:159;11869:35;11896:7;11869:26;:35::i;:::-;11926:23;11964:15;11830:25;:159::i;:::-;12358:30;;12333:15;;:22;:55;12398:43;12455:21;;12451:524;;12535:15;;:22;-1:-1:-1;;;;;12521:37:201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12521:37:201;-1:-1:-1;12492:66:201;-1:-1:-1;12597:17:201;12572:22;12628:337;12644:18;;12628:337;;12692:52;12725:8;:15;;;12741:1;12725:18;;;;;;;;;;;;;;12692:23;:32;;:52;;;;:::i;:::-;12687:264;;12806:15;;:18;;12822:1;;12806:18;;;;;;;;;;;;-1:-1:-1;;;;;12800:35:201;;12861:11;12800:94;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12768:26;12795:1;12768:29;;;;;;;;;;;;;;;;;:126;-1:-1:-1;;12916:16:201;;;;12687:264;12664:3;;12628:337;;;;12451:524;;12985:74;13004:7;13021:4;13036:11;13050:8;12985:18;:74::i;:::-;13074:21;;13070:503;;13116:9;13111:452;13127:21;;13111:452;;13178:52;13211:8;:15;;;13227:1;13211:18;;;;;;;;;;;;;;13178:23;:32;;:52;;;;:::i;:::-;13173:376;;13367:26;13394:1;13367:29;;;;;;;;;;;;;;13293:8;:15;;;13309:1;13293:18;;;;;;;;;;;;;;-1:-1:-1;;;;;13287:35:201;;13323:11;13287:48;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:109;13254:235;;;;-1:-1:-1;;;13254:235:201;;;;;;;:::i;:::-;-1:-1:-1;;13511:19:201;;;;13173:376;13150:3;;13111:452;;;;11590:1989;;;;;;;:::o;26872:196::-;26983:21;27038:11;27027:34;;;;;;;;;;;;:::i;1288:160:163:-;1384:57;1414:13;1429:11;1384:29;:57::i;:::-;1288:160;;:::o;6378:1137::-;6800:16;;;6814:1;6800:16;;;;;;;;;6500:64;;6578:29;;;;;;;;6800:16;;;;;;;;;-1:-1:-1;;6853:16:163;;;6867:1;6853:16;;;;;;;;;6782:34;;-1:-1:-1;6867:1:163;-1:-1:-1;6853:16:163;;;;;;;;;;;-1:-1:-1;6853:16:163;6826:43;;6880:14;6904:49;;:::i;:::-;7116:42;7141:16;;7116:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7116:24:163;;-1:-1:-1;;;7116:42:163:i;:::-;6997:24;7022:1;6997:27;;;;;;;;;;;;;;;;;6963:195;;;;7198:26;;;;6963:195;;-1:-1:-1;6963:195:163;-1:-1:-1;6963:195:163;;-1:-1:-1;6963:195:163;-1:-1:-1;7169:56:163;;:28;:56::i;:::-;7257:34;7284:6;7257:26;:34::i;:::-;7236:15;7252:1;7236:18;;;;;;;;;;;;;:55;-1:-1:-1;;;;;7236:55:163;;;-1:-1:-1;;;;;7236:55:163;;;;;7323:50;7302:206;;;;6378:1137;;;;;;;;:::o;7638:1130::-;8059:16;;;8073:1;8059:16;;;;;;;;;7762:64;;7840:29;;;;;;;;8059:16;;;;;;;;;-1:-1:-1;;8106:16:163;;;8120:1;8106:16;;;;;;;;;8044:31;;-1:-1:-1;8120:1:163;-1:-1:-1;8106:16:163;;;;;;;;;;;-1:-1:-1;8106:16:163;8085:37;;8133:14;8157:49;;:::i;:::-;8372:42;8397:16;;8372:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8372:24:163;;-1:-1:-1;;;8372:42:163:i;:::-;8250:18;8269:1;8250:21;;;;;;;;;;;;;;;;;8216:198;;;;8454:26;;;;8216:198;;-1:-1:-1;8216:198:163;-1:-1:-1;8216:198:163;;-1:-1:-1;8216:198:163;-1:-1:-1;8425:56:163;;:28;:56::i;:::-;8510:34;8537:6;8510:26;:34::i;:::-;8492:12;8505:1;8492:15;;;;;;;14355:1235:201;14561:64;14639:29;;;;-1:-1:-1;;;;;;14847:35:201;;-1:-1:-1;;;14847:35:201;14843:681;;;14905:30;:28;:30::i;14843:681::-;-1:-1:-1;;;;;;14956:36:201;;-1:-1:-1;;;14956:36:201;14952:572;;;15015:41;15044:11;;15015:28;:41::i;14952:572::-;-1:-1:-1;;;;;;15077:40:201;;-1:-1:-1;;;15077:40:201;15073:451;;;15140:45;15173:11;;15140:32;:45::i;15073:451::-;-1:-1:-1;;;;;;15206:32:201;;-1:-1:-1;;;15206:32:201;15202:322;;;15261:38;15287:11;;15261:25;:38::i;15202:322::-;-1:-1:-1;;;;;;15320:27:201;;-1:-1:-1;;;15320:27:201;15316:208;;;15370:34;15392:11;;15370:21;:34::i;15316:208::-;-1:-1:-1;;;;;;15425:29:201;;-1:-1:-1;;;15425:29:201;15421:103;;;15477:36;15501:11;;15477:23;:36::i;15421:103::-;15534:49;;-1:-1:-1;;;15534:49:201;;;;;;;:::i;2181:138:187:-;2264:48;;-1:-1:-1;;;2264:48:187;;-1:-1:-1;;;;;2264:39:187;;;;;:48;;2304:7;;2264:48;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2181:138;;:::o;1665:213:163:-;1785:12;1846:13;-1:-1:-1;;;;;1820:49:163;;:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;704:175:450:-;786:86;806:5;836:23;;;861:2;865:5;813:58;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;813:58:450;;;;;;;;;;;;;;-1:-1:-1;;;;;813:58:450;-1:-1:-1;;;;;;813:58:450;;;;;;;;;;786:19;:86::i;1348:613::-;1713:10;;;1712:62;;-1:-1:-1;1729:39:450;;-1:-1:-1;;;1729:39:450;;-1:-1:-1;;;;;1729:15:450;;;;;:39;;1753:4;;1760:7;;1729:39;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:44;1712:62;1704:150;;;;-1:-1:-1;;;1704:150:450;;;;;;;:::i;:::-;1864:90;1884:5;1914:22;;;1938:7;1947:5;1891:62;;;;;;;;;:::i;1874:260:187:-;2003:52;2029:8;2039:6;2047:7;2003:25;:52::i;:::-;2065:62;;-1:-1:-1;;;2065:62:187;;-1:-1:-1;;;;;2065:38:187;;;;;:62;;2104:7;;2121:4;;2065:62;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1749:268:183;1938:72;;-1:-1:-1;;;1938:72:183;;-1:-1:-1;;;;;1938:23:183;:32;;;;:72;;1971:7;;1980;;1989:10;;2001:8;;1938:72;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2489:299:354;2595:17;2633:9;2628:132;2648:5;:12;2644:1;:16;2628:132;;;2696:5;2702:1;2696:8;;;;;;;;;;;;;;-1:-1:-1;;;;;2685:19:354;:7;-1:-1:-1;;;;;2685:19:354;;2681:69;;;2731:4;2724:11;;;;;2681:69;2662:3;;2628:132;;;-1:-1:-1;2776:5:354;;2489:299;-1:-1:-1;;;2489:299:354:o;2063:278:183:-;2262:72;;-1:-1:-1;;;2262:72:183;;-1:-1:-1;;;;;2262:23:183;:32;;;;:72;;2295:7;;2304;;2313:10;;2325:8;;2262:72;;;:::i;1259:400:188:-;1354:28;:26;:28::i;:::-;1350:205;;;1467:77;;-1:-1:-1;;;1467:77:188;;-1:-1:-1;;;;;1480:37:188;1467:60;;;;:77;;1528:6;;1536:7;;1467:77;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1350:205;1609:43;1636:6;1644:7;1609:26;:43::i;25669:167:201:-;25767:20;25766:21;25758:71;;;;-1:-1:-1;;;25758:71:201;;;;;;;:::i;:::-;25669:167;:::o;15766:602::-;15882:64;15960:29;;;;15882:64;;16245:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;16245:16:201;-1:-1:-1;16275:16:201;;;16289:1;16275:16;;;;;;16305;;;;;;16335;;;;;;;;;16164:197;;;;-1:-1:-1;16275:16:201;-1:-1:-1;16275:16:201;-1:-1:-1;16305:16:201;;-1:-1:-1;15766:602:201;-1:-1:-1;15766:602:201:o;16489:1263::-;16936:16;;;16950:1;16936:16;;;;;;;;;16636:64;;16714:29;;;;;;;;16936:16;;;;;;;;;-1:-1:-1;;16989:16:201;;;17003:1;16989:16;;;;;;;;;16918:34;;-1:-1:-1;17003:1:201;-1:-1:-1;16989:16:201;;;;;;;;;;;-1:-1:-1;16989:16:201;16962:43;;17016:14;17040:20;17070:49;;:::i;:::-;17308:48;17339:16;;17308:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;17308:30:201;;-1:-1:-1;;;17308:48:201:i;:::-;17189:24;17214:1;17189:27;;;;;;;;;;;;;;;;;17129:227;;;;;;-1:-1:-1;17129:227:201;-1:-1:-1;17129:227:201;;-1:-1:-1;17129:227:201;;-1:-1:-1;17129:227:201;-1:-1:-1;17367:51:201;17129:227;;17367:29;:51::i;:::-;17428:56;17457:7;:26;;;17428:28;:56::i;:::-;17516:12;17495:15;17511:1;17495:18;;;;;;;;;;;;;:33;-1:-1:-1;;;;;17495:33:201;;;-1:-1:-1;;;;;17495:33:201;;;;;17560:50;17539:206;;;;;16489:1263;;;;;;;;:::o;23396:1258::-;23844:16;;;23858:1;23844:16;;;;;;;;;23547:64;;23625:29;;;;;;;;23844:16;;;;;;;;;-1:-1:-1;;23891:16:201;;;23905:1;23891:16;;;;;;;;;23829:31;;-1:-1:-1;23905:1:201;-1:-1:-1;23891:16:201;;;;;;;;;;;-1:-1:-1;23891:16:201;23870:37;;23918:14;23942:20;23972:49;;:::i;:::-;24213:48;24244:16;;24213:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;24213:30:201;;-1:-1:-1;;;24213:48:201:i;:::-;24091:18;24110:1;24091:21;;;;;;;;;;;;;;;;;24031:230;;;;;;-1:-1:-1;24031:230:201;-1:-1:-1;24031:230:201;;-1:-1:-1;24031:230:201;;-1:-1:-1;24031:230:201;-1:-1:-1;24272:51:201;24031:230;;24272:29;:51::i;:::-;24333:56;24362:7;:26;;;24333:28;:56::i;:::-;24418:12;24400;24413:1;24400:15;;;;;;;19147:2843;19274:64;19352:29;19395:35;19444:32;19490:41;19598:23;19635:22;19671:30;19714:43;19740:16;;19714:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;19714:25:201;;-1:-1:-1;;;19714:43:201:i;:::-;19556:201;;;;;;;;19850:24;19884:27;19926:9;19921:213;19941:6;:13;19937:1;:17;19921:213;;;19991:1;19979:6;19986:1;19979:9;;;;;;;;;;;;;;:13;19975:149;;;20012:18;;;;;19975:149;;;20067:1;20055:6;20062:1;20055:9;;;;;;;;;;;;;;:13;20051:73;;;20088:21;;;;;20051:73;19956:3;;19921:213;;;;20173:16;-1:-1:-1;;;;;20159:31:201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;20159:31:201;;20144:46;;20235:16;-1:-1:-1;;;;;20221:31:201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;20221:31:201;;20200:52;;20295:19;-1:-1:-1;;;;;20281:34:201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;20281:34:201;;20263:52;;20366:19;-1:-1:-1;;;;;20352:34:201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;20352:34:201;;20325:61;;20402:9;20397:1370;20417:6;:13;20413:1;:17;20397:1370;;;20451:12;20466:6;20473:1;20466:9;;;;;;;;;;;;;;20451:24;;20502:1;20494:5;:9;20490:1267;;;20523:18;20544:6;20551:1;20544:9;;;;;;;;;;;;;;20523:30;;20571:20;20594:13;20608:1;20594:16;;;;;;;;;;;;;;20571:39;;20657:1;-1:-1:-1;;;;;20633:26:201;:12;-1:-1:-1;;;;;20633:26:201;;20629:293;;20730:37;20754:12;20730:23;:37::i;:::-;-1:-1:-1;;;;;20716:51:201;:10;-1:-1:-1;;;;;20716:51:201;;20683:173;;;;-1:-1:-1;;;20683:173:201;;;;;;;:::i;:::-;20891:12;20878:25;;20629:293;20940:18;;;;;;;;21009:10;20976:12;20989:16;20976:30;;;;;;;;;;;;;:43;-1:-1:-1;;;;;20976:43:201;;;-1:-1:-1;;;;;20976:43:201;;;;;21084:5;21037:18;21056:16;21037:36;;;;;;;;;;;;;:53;;;;;20490:1267;;;;;21123:1;21115:5;:9;21111:646;;;21144:21;21168:6;21175:1;21168:9;;;;;;;;;;;;;;21144:33;;21195:20;21218:13;21232:1;21218:16;;;;;;;;;;;;;;21195:39;;21281:1;-1:-1:-1;;;;;21257:26:201;:12;-1:-1:-1;;;;;21257:26:201;;21253:299;;21357:37;21381:12;21357:23;:37::i;:::-;-1:-1:-1;;;;;21340:54:201;:13;-1:-1:-1;;;;;21340:54:201;;21307:176;;;;-1:-1:-1;;;21307:176:201;;;;;;;:::i;:::-;21521:12;21505:28;;21253:299;21570:21;;;;;;;;21648:13;21609:15;21625:19;21609:36;;;;;;;;;;;;;:52;-1:-1:-1;;;;;21609:52:201;;;-1:-1:-1;;;;;21609:52:201;;;;;21736:5;21735:6;;21679:24;21704:19;21679:45;;;;;;;;;;;;;:63;;;;;21111:646;;;-1:-1:-1;20432:3:201;;20397:1370;;;;21798:50;21777:206;;;;;;;19147:2843;;;;;;;;:::o;17874:1147::-;18014:64;18092:29;18135:35;18184:32;18230:41;18297:20;18319:17;18340:69;18383:16;;18340:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;18340:29:201;;-1:-1:-1;;;18340:69:201:i;:::-;18435:16;;;18449:1;18435:16;;;;;;;;;18296:113;;-1:-1:-1;18296:113:201;;-1:-1:-1;18435:16:201;;;;;;;;;-1:-1:-1;;18482:16:201;;;18496:1;18482:16;;;;;;;;;18420:31;;-1:-1:-1;18496:1:201;-1:-1:-1;18482:16:201;;;;;;;;;-1:-1:-1;;18526:16:201;;;18540:1;18526:16;;;;;;;;;18461:37;;-1:-1:-1;18540:1:201;-1:-1:-1;18526:16:201;;;;;;;;;-1:-1:-1;;18579:16:201;;;18593:1;18579:16;;;;;;;;;18508:34;;-1:-1:-1;18593:1:201;-1:-1:-1;18579:16:201;;;;;;;;;;;-1:-1:-1;18579:16:201;18552:43;;18624:37;18648:12;18624:23;:37::i;:::-;18606:12;18619:1;18606:15;;;;;;;;;;;;;:55;-1:-1:-1;;;;;18606:55:201;;;-1:-1:-1;;;;;18606:55:201;;;;;18695:9;18671:18;18690:1;18671:21;;;;;;;;;;;;;:33;;;;;18736:12;18715:15;18731:1;18715:18;;;;;;;;;;;;;:33;-1:-1:-1;;;;;18715:33:201;;;-1:-1:-1;;;;;18715:33:201;;;;;18788:9;18758:24;18783:1;18758:27;;;;;;;;;;;;;:39;;;;;18829:50;18808:206;;;;17874:1147;;;;;;;;:::o;22114:1149::-;22256:64;22334:29;22377:35;22426:32;22472:41;22539:20;22561:17;22582:69;22625:16;;22582:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;22582:29:201;;-1:-1:-1;;;22582:69:201:i;:::-;22677:16;;;22691:1;22677:16;;;;;;;;;22538:113;;-1:-1:-1;22538:113:201;;-1:-1:-1;22677:16:201;;;;;;;;;-1:-1:-1;;22724:16:201;;;22738:1;22724:16;;;;;;;;;22662:31;;-1:-1:-1;22738:1:201;-1:-1:-1;22724:16:201;;;;;;;;;-1:-1:-1;;22768:16:201;;;22782:1;22768:16;;;;;;;;;22703:37;;-1:-1:-1;22782:1:201;-1:-1:-1;22768:16:201;;;;;;;;;-1:-1:-1;;22821:16:201;;;22835:1;22821:16;;;;;;;;;22750:34;;-1:-1:-1;22835:1:201;-1:-1:-1;22821:16:201;;;;;;;;;;;-1:-1:-1;22821:16:201;22794:43;;22866:12;22848;22861:1;22848:15;;;;;;;;;;;;;:30;-1:-1:-1;;;;;22848:30:201;;;-1:-1:-1;;;;;22848:30:201;;;;;22912:9;22888:18;22907:1;22888:21;;;;;;;;;;;;;:33;;;;;22953:37;22977:12;22953:23;:37::i;:::-;22932:15;22948:1;22932:18;;;;;;;2967:751:450;3386:23;3412:69;3440:4;3412:69;;;;;;;;;;;;;;;;;3420:5;-1:-1:-1;;;;;3412:27:450;;;:69;;;;;:::i;:::-;3495:17;;3386:95;;-1:-1:-1;3495:21:450;3491:221;;3635:10;3624:30;;;;;;;;;;;;:::i;:::-;3616:85;;;;-1:-1:-1;;;3616:85:450;;;;;;;:::i;1746:150:188:-;1838:37;-1:-1:-1;;;;;1838:51:188;;;1746:150;:::o;752:148:187:-;840:53;;-1:-1:-1;;;840:53:187;;-1:-1:-1;;;;;840:44:187;;;;;:53;;885:7;;840:53;;;:::i;25320:271:201:-;25486:35;25513:7;25486:26;:35::i;:::-;-1:-1:-1;;;;;25444:77:201;:38;25468:13;25444:23;:38::i;:::-;-1:-1:-1;;;;;25444:77:201;;25423:161;;;;-1:-1:-1;;;25423:161:201;;;;;;;:::i;3581:193:451:-;3684:12;3715:52;3737:6;3745:4;3751:1;3754:12;3715:21;:52::i;:::-;3708:59;;3581:193;;;;;;:::o;4608:523::-;4735:12;4792:5;4767:21;:30;;4759:81;;;;-1:-1:-1;;;4759:81:451;;;;;;;:::i;:::-;4858:18;4869:6;4858:10;:18::i;:::-;4850:60;;;;-1:-1:-1;;;4850:60:451;;;;;;;:::i;:::-;4981:12;4995:23;5022:6;-1:-1:-1;;;;;5022:11:451;5042:5;5050:4;5022:33;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4980:75;;;;5072:52;5090:7;5099:10;5111:12;5072:17;:52::i;:::-;5065:59;4608:523;-1:-1:-1;;;;;;;4608:523:451:o;726:413::-;1086:20;1124:8;;;726:413::o;7091:725::-;7206:12;7234:7;7230:580;;;-1:-1:-1;7264:10:451;7257:17;;7230:580;7375:17;;:21;7371:429;;7633:10;7627:17;7693:15;7680:10;7676:2;7672:19;7665:44;7582:145;7772:12;7765:20;;-1:-1:-1;;;7765:20:451;;;;;;;;:::i;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5:130::-;72:20;;97:33;72:20;97:33;:::i;142:134::-;220:13;;238:33;220:13;238:33;:::i;458:722::-;;586:3;579:4;571:6;567:17;563:27;553:2;;604:1;601;594:12;553:2;634:6;628:13;656:80;671:64;728:6;671:64;:::i;:::-;656:80;:::i;:::-;647:89;;753:5;778:6;771:5;764:21;808:4;800:6;796:17;786:27;;830:4;825:3;821:14;814:21;;883:6;930:3;922:4;914:6;910:17;905:3;901:27;898:36;895:2;;;947:1;944;937:12;895:2;972:1;957:217;982:6;979:1;976:13;957:217;;;1040:3;1062:48;1106:3;1094:10;1062:48;:::i;:::-;1050:61;;-1:-1;1134:4;1125:14;;;;1153;;;;;1004:1;997:9;957:217;;;961:14;546:634;;;;;;;:::o;1205:719::-;;1332:3;1325:4;1317:6;1313:17;1309:27;1299:2;;1350:1;1347;1340:12;1299:2;1380:6;1374:13;1402:79;1417:63;1473:6;1417:63;:::i;1402:79::-;1393:88;;1498:5;1523:6;1516:5;1509:21;1553:4;1545:6;1541:17;1531:27;;1575:4;1570:3;1566:14;1559:21;;1628:6;1675:3;1667:4;1659:6;1655:17;1650:3;1646:27;1643:36;1640:2;;;1692:1;1689;1682:12;1640:2;1717:1;1702:216;1727:6;1724:1;1721:13;1702:216;;;1785:3;1807:47;1850:3;1838:10;1807:47;:::i;:::-;1795:60;;-1:-1;1878:4;1869:14;;;;1897;;;;;1749:1;1742:9;1702:216;;1980:782;;2140:3;2133:4;2125:6;2121:17;2117:27;2107:2;;2158:1;2155;2148:12;2107:2;2188:6;2182:13;2210:112;2225:96;2314:6;2225:96;:::i;2210:112::-;2350:21;;;2394:4;2382:17;;;;2201:121;;-1:-1;2407:14;;2382:17;2502:1;2487:269;2512:6;2509:1;2506:13;2487:269;;;2588:3;2582:10;2574:6;2570:23;2612:80;2688:3;2676:10;2612:80;:::i;:::-;2600:93;;-1:-1;2716:4;2707:14;;;;2735;;;;;2534:1;2527:9;2487:269;;2788:722;;2916:3;2909:4;2901:6;2897:17;2893:27;2883:2;;2934:1;2931;2924:12;2883:2;2964:6;2958:13;2986:80;3001:64;3058:6;3001:64;:::i;2986:80::-;2977:89;;3083:5;3108:6;3101:5;3094:21;3138:4;3130:6;3126:17;3116:27;;3160:4;3155:3;3151:14;3144:21;;3213:6;3260:3;3252:4;3244:6;3240:17;3235:3;3231:27;3228:36;3225:2;;;3277:1;3274;3267:12;3225:2;3302:1;3287:217;3312:6;3309:1;3306:13;3287:217;;;3370:3;3392:48;3436:3;3424:10;3392:48;:::i;:::-;3380:61;;-1:-1;3464:4;3455:14;;;;3483;;;;;3334:1;3327:9;3287:217;;3518:128;3593:13;;3611:30;3593:13;3611:30;:::i;3653:134::-;3731:13;;3749:33;3731:13;3749:33;:::i;3794:128::-;3860:20;;3885:32;3860:20;3885:32;:::i;3943:336::-;;;4057:3;4050:4;4042:6;4038:17;4034:27;4024:2;;4075:1;4072;4065:12;4024:2;-1:-1;4095:20;;-1:-1;;;;;4124:30;;4121:2;;;4167:1;4164;4157:12;4121:2;4201:4;4193:6;4189:17;4177:29;;4252:3;4244:4;4236:6;4232:17;4222:8;4218:32;4215:41;4212:2;;;4269:1;4266;4259:12;4212:2;4017:262;;;;;:::o;4288:442::-;;4400:3;4393:4;4385:6;4381:17;4377:27;4367:2;;4418:1;4415;4408:12;4367:2;4448:6;4442:13;4470:64;4485:48;4526:6;4485:48;:::i;4470:64::-;4461:73;;4554:6;4547:5;4540:21;4590:4;4582:6;4578:17;4623:4;4616:5;4612:16;4658:3;4649:6;4644:3;4640:16;4637:25;4634:2;;;4675:1;4672;4665:12;4634:2;4685:39;4717:6;4712:3;4707;4685:39;:::i;:::-;4360:370;;;;;;;:::o;4738:162::-;4830:13;;4848:47;4830:13;4848:47;:::i;5090:1086::-;;5222:4;5210:9;5205:3;5201:19;5197:30;5194:2;;;5240:1;5237;5230:12;5194:2;5258:20;5273:4;5258:20;:::i;:::-;5249:29;-1:-1;5330:1;5362:60;5418:3;5398:9;5362:60;:::i;:::-;5337:86;;-1:-1;5492:2;5525:60;5581:3;5557:22;;;5525:60;:::i;:::-;5518:4;5511:5;5507:16;5500:86;5444:153;5656:2;5689:60;5745:3;5736:6;5725:9;5721:22;5689:60;:::i;:::-;5682:4;5675:5;5671:16;5664:86;5607:154;5813:2;5846:60;5902:3;5893:6;5882:9;5878:22;5846:60;:::i;:::-;5839:4;5832:5;5828:16;5821:86;5771:147;5993:3;5982:9;5978:19;5972:26;-1:-1;;;;;6010:6;6007:30;6004:2;;;6050:1;6047;6040:12;6004:2;6085:69;6150:3;6141:6;6130:9;6126:22;6085:69;:::i;:::-;6078:4;6071:5;6067:16;6060:95;5928:238;5188:988;;;;:::o;6231:1136::-;;6367:4;6355:9;6350:3;6346:19;6342:30;6339:2;;;6385:1;6382;6375:12;6339:2;6403:20;6418:4;6403:20;:::i;:::-;6475:24;;6394:29;;-1:-1;;;;;;6508:30;;6505:2;;;6551:1;6548;6541:12;6505:2;6586:85;6667:3;6658:6;6647:9;6643:22;6586:85;:::i;:::-;6561:111;;-1:-1;6756:2;6741:18;;6735:25;-1:-1;;;;;6769:30;;6766:2;;;6812:1;6809;6802:12;6766:2;6847:85;6928:3;6919:6;6908:9;6904:22;6847:85;:::i;:::-;6840:4;6833:5;6829:16;6822:111;6693:251;7019:2;7008:9;7004:18;6998:25;-1:-1;;;;;7035:6;7032:30;7029:2;;;7075:1;7072;7065:12;7029:2;7110:69;7175:3;7166:6;7155:9;7151:22;7110:69;:::i;:::-;7103:4;7096:5;7092:16;7085:95;6954:237;7255:2;7288:57;7341:3;7332:6;7321:9;7317:22;7288:57;:::i;:::-;7281:4;7274:5;7270:16;7263:83;7201:156;6333:1034;;;;:::o;7515:263::-;;7630:2;7618:9;7609:7;7605:23;7601:32;7598:2;;;7646:1;7643;7636:12;7598:2;7681:1;7698:64;7754:7;7734:9;7698:64;:::i;:::-;7688:74;7592:186;-1:-1;;;;7592:186::o;8071:1371::-;;;;;;;8365:3;8353:9;8344:7;8340:23;8336:33;8333:2;;;8382:1;8379;8372:12;8333:2;8417:1;8434:72;8498:7;8478:9;8434:72;:::i;:::-;8424:82;;8396:116;8543:2;8561:64;8617:7;8608:6;8597:9;8593:22;8561:64;:::i;:::-;8551:74;;8522:109;8662:2;8680:64;8736:7;8727:6;8716:9;8712:22;8680:64;:::i;:::-;8670:74;;8641:109;8802:2;8791:9;8787:18;8781:25;-1:-1;;;;;8818:6;8815:30;8812:2;;;8858:1;8855;8848:12;8812:2;8878:89;8959:7;8950:6;8939:9;8935:22;8878:89;:::i;:::-;8868:99;;8760:213;9025:3;9014:9;9010:19;9004:26;-1:-1;;;;;9042:6;9039:30;9036:2;;;9082:1;9079;9072:12;9036:2;9102:89;9183:7;9174:6;9163:9;9159:22;9102:89;:::i;:::-;9092:99;;8983:214;9249:3;9238:9;9234:19;9228:26;-1:-1;;;;;9266:6;9263:30;9260:2;;;9306:1;9303;9296:12;9260:2;9326:100;9418:7;9409:6;9398:9;9394:22;9326:100;:::i;:::-;9316:110;;9207:225;8327:1115;;;;;;;;:::o;9449:415::-;;;9589:2;9577:9;9568:7;9564:23;9560:32;9557:2;;;9605:1;9602;9595:12;9557:2;9640:1;9657:72;9721:7;9701:9;9657:72;:::i;:::-;9647:82;;9619:116;9766:2;9784:64;9840:7;9831:6;9820:9;9816:22;9784:64;:::i;:::-;9774:74;;9745:109;9551:313;;;;;:::o;9871:613::-;;;;;10027:2;10015:9;10006:7;10002:23;9998:32;9995:2;;;10043:1;10040;10033:12;9995:2;10078:1;10095:53;10140:7;10120:9;10095:53;:::i;:::-;10085:63;;10057:97;10185:2;10203:52;10247:7;10238:6;10227:9;10223:22;10203:52;:::i;:::-;10193:62;;10164:97;10320:2;10309:9;10305:18;10292:32;-1:-1;;;;;10336:6;10333:30;10330:2;;;10376:1;10373;10366:12;10330:2;10404:64;10460:7;10451:6;10440:9;10436:22;10404:64;:::i;:::-;9989:495;;;;-1:-1;10386:82;-1:-1;;;;9989:495::o;10491:739::-;;;;;;10667:2;10655:9;10646:7;10642:23;10638:32;10635:2;;;10683:1;10680;10673:12;10635:2;10718:1;10735:53;10780:7;10760:9;10735:53;:::i;:::-;10725:63;;10697:97;10853:2;10842:9;10838:18;10825:32;-1:-1;;;;;10869:6;10866:30;10863:2;;;10909:1;10906;10899:12;10863:2;10937:64;10993:7;10984:6;10973:9;10969:22;10937:64;:::i;:::-;10919:82;;;;10804:203;11066:2;11055:9;11051:18;11038:32;-1:-1;;;;;11082:6;11079:30;11076:2;;;11122:1;11119;11112:12;11076:2;11150:64;11206:7;11197:6;11186:9;11182:22;11150:64;:::i;:::-;11132:82;;;;11017:203;10629:601;;;;;;;;:::o;11237:390::-;;11376:2;11364:9;11355:7;11351:23;11347:32;11344:2;;;11392:1;11389;11382:12;11344:2;11427:24;;-1:-1;;;;;11460:30;;11457:2;;;11503:1;11500;11493:12;11457:2;11523:88;11603:7;11594:6;11583:9;11579:22;11523:88;:::i;11634:257::-;;11746:2;11734:9;11725:7;11721:23;11717:32;11714:2;;;11762:1;11759;11752:12;11714:2;11797:1;11814:61;11867:7;11847:9;11814:61;:::i;11898:1218::-;;;;;;12167:3;12155:9;12146:7;12142:23;12138:33;12135:2;;;12184:1;12181;12174:12;12135:2;12219:1;12236:64;12292:7;12272:9;12236:64;:::i;:::-;12226:74;;12198:108;12337:2;12355:64;12411:7;12402:6;12391:9;12387:22;12355:64;:::i;:::-;12345:74;;12316:109;12477:2;12466:9;12462:18;12456:25;-1:-1;;;;;12493:6;12490:30;12487:2;;;12533:1;12530;12523:12;12487:2;12553:89;12634:7;12625:6;12614:9;12610:22;12553:89;:::i;:::-;12543:99;;12435:213;12700:2;12689:9;12685:18;12679:25;-1:-1;;;;;12716:6;12713:30;12710:2;;;12756:1;12753;12746:12;12710:2;12776:89;12857:7;12848:6;12837:9;12833:22;12776:89;:::i;:::-;12766:99;;12658:213;12923:3;12912:9;12908:19;12902:26;-1:-1;;;;;12940:6;12937:30;12934:2;;;12980:1;12977;12970:12;12934:2;13000:100;13092:7;13083:6;13072:9;13068:22;13000:100;:::i;:::-;12990:110;;12881:225;12129:987;;;;;;;;:::o;13123:1415::-;;;;;;13451:3;13439:9;13430:7;13426:23;13422:33;13419:2;;;13468:1;13465;13458:12;13419:2;13503:1;13520:78;13590:7;13570:9;13520:78;:::i;:::-;13510:88;;13482:122;13656:2;13645:9;13641:18;13635:25;-1:-1;;;;;13672:6;13669:30;13666:2;;;13712:1;13709;13702:12;13666:2;13732:121;13845:7;13836:6;13825:9;13821:22;13732:121;:::i;:::-;13722:131;;13614:245;13911:2;13900:9;13896:18;13890:25;-1:-1;;;;;13927:6;13924:30;13921:2;;;13967:1;13964;13957:12;13921:2;13987:89;14068:7;14059:6;14048:9;14044:22;13987:89;:::i;:::-;13977:99;;13869:213;14134:2;14123:9;14119:18;14113:25;-1:-1;;;;;14150:6;14147:30;14144:2;;;14190:1;14187;14180:12;14144:2;14210:88;14290:7;14281:6;14270:9;14266:22;14210:88;:::i;:::-;14200:98;;14092:212;14356:3;14345:9;14341:19;14335:26;-1:-1;;;;;14373:6;14370:30;14367:2;;;14413:1;14410;14403:12;14367:2;14433:89;14514:7;14505:6;14494:9;14490:22;14433:89;:::i;14545:263::-;;14660:2;14648:9;14639:7;14635:23;14631:32;14628:2;;;14676:1;14673;14666:12;14628:2;14711:1;14728:64;14784:7;14764:9;14728:64;:::i;14816:173::-;;14903:46;14945:3;14937:6;14903:46;:::i;:::-;-1:-1;;14978:4;14969:14;;14896:93::o;14998:169::-;;15083:44;15123:3;15115:6;15083:44;:::i;15176:281::-;;15341:110;15447:3;15439:6;15341:110;:::i;15647:127::-;15736:32;15762:5;15736:32;:::i;:::-;15731:3;15724:45;15718:56;;:::o;16186:670::-;;16321:54;16369:5;16321:54;:::i;:::-;16388:76;16457:6;16452:3;16388:76;:::i;:::-;16381:83;;16485:56;16535:5;16485:56;:::i;:::-;16561:7;16589:1;16574:260;16599:6;16596:1;16593:13;16574:260;;;16666:6;16660:13;16687:63;16746:3;16731:13;16687:63;:::i;:::-;16680:70;;16767:60;16820:6;16767:60;:::i;:::-;16757:70;-1:-1;;16621:1;16614:9;16574:260;;;-1:-1;16847:3;;16300:556;-1:-1;;;;;16300:556::o;16895:690::-;;17040:54;17088:5;17040:54;:::i;:::-;17107:86;17186:6;17181:3;17107:86;:::i;:::-;17100:93;;17214:56;17264:5;17214:56;:::i;:::-;17290:7;17318:1;17303:260;17328:6;17325:1;17322:13;17303:260;;;17395:6;17389:13;17416:63;17475:3;17460:13;17416:63;:::i;:::-;17409:70;;17496:60;17549:6;17496:60;:::i;:::-;17486:70;-1:-1;;17350:1;17343:9;17303:260;;17622:682;;17765:53;17812:5;17765:53;:::i;:::-;17831:85;17909:6;17904:3;17831:85;:::i;:::-;17824:92;;17937:55;17986:5;17937:55;:::i;:::-;18012:7;18040:1;18025:257;18050:6;18047:1;18044:13;18025:257;;;18117:6;18111:13;18138:61;18195:3;18180:13;18138:61;:::i;:::-;18131:68;;18216:59;18268:6;18216:59;:::i;:::-;18206:69;-1:-1;;18072:1;18065:9;18025:257;;18403:1104;;18612:86;18692:5;18612:86;:::i;:::-;18711:118;18822:6;18817:3;18711:118;:::i;:::-;18704:125;;18852:3;18894:4;18886:6;18882:17;18877:3;18873:27;18921:88;19003:5;18921:88;:::i;:::-;19029:7;19057:1;19042:426;19067:6;19064:1;19061:13;19042:426;;;19129:9;19123:4;19119:20;19114:3;19107:33;19174:6;19168:13;19196:128;19319:4;19304:13;19196:128;:::i;:::-;19188:136;;19341:92;19426:6;19341:92;:::i;:::-;19456:4;19447:14;;;;;19331:102;-1:-1;;19089:1;19082:9;19042:426;;;-1:-1;19481:4;;18591:916;-1:-1;;;;;;;18591:916::o;19546:670::-;;19681:54;19729:5;19681:54;:::i;:::-;19748:76;19817:6;19812:3;19748:76;:::i;:::-;19741:83;;19845:56;19895:5;19845:56;:::i;:::-;19921:7;19949:1;19934:260;19959:6;19956:1;19953:13;19934:260;;;20026:6;20020:13;20047:63;20106:3;20091:13;20047:63;:::i;:::-;20040:70;;20127:60;20180:6;20127:60;:::i;:::-;20117:70;-1:-1;;19981:1;19974:9;19934:260;;20255:690;;20400:54;20448:5;20400:54;:::i;:::-;20467:86;20546:6;20541:3;20467:86;:::i;:::-;20460:93;;20574:56;20624:5;20574:56;:::i;:::-;20650:7;20678:1;20663:260;20688:6;20685:1;20682:13;20663:260;;;20755:6;20749:13;20776:63;20835:3;20820:13;20776:63;:::i;:::-;20769:70;;20856:60;20909:6;20856:60;:::i;:::-;20846:70;-1:-1;;20710:1;20703:9;20663:260;;20953:94;21020:21;21035:5;21020:21;:::i;21054:103::-;21127:24;21145:5;21127:24;:::i;21284:110::-;21365:23;21382:5;21365:23;:::i;21401:323::-;;21501:38;21533:5;21501:38;:::i;:::-;21551:60;21604:6;21599:3;21551:60;:::i;:::-;21544:67;;21616:52;21661:6;21656:3;21649:4;21642:5;21638:16;21616:52;:::i;:::-;21689:29;21711:6;21689:29;:::i;:::-;21680:39;;;;21481:243;-1:-1;;;21481:243::o;21731:356::-;;21859:38;21891:5;21859:38;:::i;:::-;21909:88;21990:6;21985:3;21909:88;:::i;:::-;21902:95;;22002:52;22047:6;22042:3;22035:4;22028:5;22024:16;22002:52;:::i;:::-;22066:16;;;;;21839:248;-1:-1;;21839:248::o;22094:176::-;22202:62;22258:5;22202:62;:::i;22277:150::-;22372:49;22415:5;22372:49;:::i;22896:380::-;;23056:67;23120:2;23115:3;23056:67;:::i;:::-;23156:34;23136:55;;-1:-1;;;23220:2;23211:12;;23204:35;23267:2;23258:12;;23042:234;-1:-1;;23042:234::o;23285:376::-;;23445:67;23509:2;23504:3;23445:67;:::i;:::-;23545:34;23525:55;;-1:-1;;;23609:2;23600:12;;23593:31;23652:2;23643:12;;23431:230;-1:-1;;23431:230::o;23670:374::-;;23830:67;23894:2;23889:3;23830:67;:::i;:::-;23930:34;23910:55;;-1:-1;;;23994:2;23985:12;;23978:29;24035:2;24026:12;;23816:228;-1:-1;;23816:228::o;24053:375::-;;24213:67;24277:2;24272:3;24213:67;:::i;:::-;24313:34;24293:55;;-1:-1;;;24377:2;24368:12;;24361:30;24419:2;24410:12;;24199:229;-1:-1;;24199:229::o;24437:387::-;;24597:67;24661:2;24656:3;24597:67;:::i;:::-;24697:34;24677:55;;-1:-1;;;24761:2;24752:12;;24745:42;24815:2;24806:12;;24583:241;-1:-1;;24583:241::o;24833:332::-;;24993:67;25057:2;25052:3;24993:67;:::i;:::-;25093:34;25073:55;;25156:2;25147:12;;24979:186;-1:-1;;24979:186::o;25174:374::-;;25334:67;25398:2;25393:3;25334:67;:::i;:::-;25434:34;25414:55;;-1:-1;;;25498:2;25489:12;;25482:29;25539:2;25530:12;;25320:228;-1:-1;;25320:228::o;25557:329::-;;25717:67;25781:2;25776:3;25717:67;:::i;:::-;25817:31;25797:52;;25877:2;25868:12;;25703:183;-1:-1;;25703:183::o;25895:379::-;;26055:67;26119:2;26114:3;26055:67;:::i;:::-;26155:34;26135:55;;-1:-1;;;26219:2;26210:12;;26203:34;26265:2;26256:12;;26041:233;-1:-1;;26041:233::o;26283:391::-;;26443:67;26507:2;26502:3;26443:67;:::i;:::-;26543:34;26523:55;;-1:-1;;;26607:2;26598:12;;26591:46;26665:2;26656:12;;26429:245;-1:-1;;26429:245::o;26683:376::-;;26843:67;26907:2;26902:3;26843:67;:::i;:::-;26943:34;26923:55;;-1:-1;;;27007:2;26998:12;;26991:31;27050:2;27041:12;;26829:230;-1:-1;;26829:230::o;27152:1060::-;27375:23;;27152:1060;;27307:4;27298:14;;;27404:63;27302:3;27375:23;27404:63;:::i;:::-;27327:146;27554:4;27547:5;27543:16;27537:23;27566:63;27623:4;27618:3;27614:14;27600:12;27566:63;:::i;:::-;27483:152;27717:4;27710:5;27706:16;27700:23;27729:63;27786:4;27781:3;27777:14;27763:12;27729:63;:::i;:::-;27645:153;27873:4;27866:5;27862:16;27856:23;27885:63;27942:4;27937:3;27933:14;27919:12;27885:63;:::i;:::-;27808:146;28031:4;28024:5;28020:16;28014:23;28083:3;28077:4;28073:14;28066:4;28061:3;28057:14;28050:38;28103:71;28169:4;28155:12;28103:71;:::i;:::-;28095:79;27280:932;-1:-1;;;;;27280:932::o;28306:839::-;28533:23;;28465:4;28456:14;;;28562:63;28460:3;28533:23;28562:63;:::i;:::-;28485:146;28719:4;28712:5;28708:16;28702:23;28731:57;28782:4;28777:3;28773:14;28759:12;28731:57;:::i;:::-;28641:153;28872:4;28865:5;28861:16;28855:23;28884:79;28957:4;28952:3;28948:14;28934:12;28884:79;:::i;:::-;28804:165;29055:4;29048:5;29044:16;29038:23;29067:57;29118:4;29113:3;29109:14;29095:12;29067:57;:::i;29245:1127::-;29486:23;;29418:4;29522:38;;;29245:1127;;29409:14;;;;29575:103;29409:14;29486:23;29575:103;:::i;:::-;29567:111;;29438:252;29765:4;29758:5;29754:16;29748:23;29817:3;29811:4;29807:14;29800:4;29795:3;29791:14;29784:38;29837:103;29935:4;29921:12;29837:103;:::i;:::-;29829:111;;29700:252;30029:4;30022:5;30018:16;30012:23;30081:3;30075:4;30071:14;30064:4;30059:3;30055:14;30048:38;30101:71;30167:4;30153:12;30101:71;:::i;:::-;30093:79;;29962:222;30271:4;30264:5;30260:16;30254:23;30283:57;30334:4;30329:3;30325:14;30311:12;30283:57;:::i;:::-;-1:-1;30363:4;29391:981;-1:-1;;;29391:981::o;30609:271::-;;30762:93;30851:3;30842:6;30762:93;:::i;30887:222::-;31014:2;30999:18;;31028:71;31003:9;31072:6;31028:71;:::i;31116:333::-;31271:2;31256:18;;31285:71;31260:9;31329:6;31285:71;:::i;:::-;31367:72;31435:2;31424:9;31420:18;31411:6;31367:72;:::i;31456:333::-;31611:2;31596:18;;31625:71;31600:9;31669:6;31625:71;:::i;:::-;31707:72;31775:2;31764:9;31760:18;31751:6;31707:72;:::i;31796:780::-;32095:3;32080:19;;32110:71;32084:9;32154:6;32110:71;:::i;:::-;32192:72;32260:2;32249:9;32245:18;32236:6;32192:72;:::i;:::-;32275:88;32359:2;32348:9;32344:18;32335:6;32275:88;:::i;:::-;32411:9;32405:4;32401:20;32396:2;32385:9;32381:18;32374:48;32436:130;32561:4;32552:6;32436:130;:::i;:::-;32428:138;32066:510;-1:-1;;;;;;32066:510::o;33338:218::-;33463:2;33448:18;;33477:69;33452:9;33519:6;33477:69;:::i;33563:1310::-;34027:3;34012:19;;34042:96;34016:9;34111:6;34042:96;:::i;:::-;34186:9;34180:4;34176:20;34171:2;34160:9;34156:18;34149:48;34211:108;34314:4;34305:6;34211:108;:::i;:::-;34203:116;;34367:9;34361:4;34357:20;34352:2;34341:9;34337:18;34330:48;34392:108;34495:4;34486:6;34392:108;:::i;:::-;34384:116;;34548:9;34542:4;34538:20;34533:2;34522:9;34518:18;34511:48;34573:108;34676:4;34667:6;34573:108;:::i;:::-;34565:116;;34730:9;34724:4;34720:20;34714:3;34703:9;34699:19;34692:49;34755:108;34858:4;34849:6;34755:108;:::i;34880:1504::-;35437:3;35422:19;;35452:83;35426:9;35508:6;35452:83;:::i;:::-;35583:9;35577:4;35573:20;35568:2;35557:9;35553:18;35546:48;35608:172;35775:4;35766:6;35608:172;:::i;:::-;35600:180;;35828:9;35822:4;35818:20;35813:2;35802:9;35798:18;35791:48;35853:108;35956:4;35947:6;35853:108;:::i;:::-;35845:116;;35972:138;36106:2;36095:9;36091:18;36082:6;35972:138;:::i;:::-;36159:9;36153:4;36149:20;36143:3;36132:9;36128:19;36121:49;36184:106;36285:4;36276:6;36184:106;:::i;:::-;36176:114;;36301:73;36369:3;36358:9;36354:19;36345:6;36301:73;:::i;36391:310::-;36538:2;36552:47;;;36523:18;;36613:78;36523:18;36677:6;36613:78;:::i;36708:416::-;36908:2;36922:47;;;36893:18;;36983:131;36893:18;36983:131;:::i;37131:416::-;37331:2;37345:47;;;37316:18;;37406:131;37316:18;37406:131;:::i;37554:416::-;37754:2;37768:47;;;37739:18;;37829:131;37739:18;37829:131;:::i;37977:416::-;38177:2;38191:47;;;38162:18;;38252:131;38162:18;38252:131;:::i;38400:416::-;38600:2;38614:47;;;38585:18;;38675:131;38585:18;38675:131;:::i;38823:416::-;39023:2;39037:47;;;39008:18;;39098:131;39008:18;39098:131;:::i;39246:416::-;39446:2;39460:47;;;39431:18;;39521:131;39431:18;39521:131;:::i;39669:416::-;39869:2;39883:47;;;39854:18;;39944:131;39854:18;39944:131;:::i;40092:416::-;40292:2;40306:47;;;40277:18;;40367:131;40277:18;40367:131;:::i;40515:416::-;40715:2;40729:47;;;40700:18;;40790:131;40700:18;40790:131;:::i;40938:416::-;41138:2;41152:47;;;41123:18;;41213:131;41123:18;41213:131;:::i;41361:222::-;41488:2;41473:18;;41502:71;41477:9;41546:6;41502:71;:::i;41590:333::-;41745:2;41730:18;;41759:71;41734:9;41803:6;41759:71;:::i;41930:256::-;41992:2;41986:9;42018:17;;;-1:-1;;;;;42078:34;;42114:22;;;42075:62;42072:2;;;42150:1;42147;42140:12;42072:2;42166;42159:22;41970:216;;-1:-1;41970:216::o;42193:304::-;;-1:-1;;;;;42344:6;42341:30;42338:2;;;42384:1;42381;42374:12;42338:2;-1:-1;42419:4;42407:17;;;42472:15;;42275:222::o;43468:321::-;;-1:-1;;;;;43603:6;43600:30;43597:2;;;43643:1;43640;43633:12;43597:2;-1:-1;43774:4;43710;43687:17;;;;-1:-1;;43683:33;43764:15;;43534:255::o;43796:151::-;43920:4;43911:14;;43868:79::o;44459:137::-;44562:12;;44533:63::o;45815:168::-;45923:19;;;45972:4;45963:14;;45916:67::o;47433:91::-;;47495:24;47513:5;47495:24;:::i;47637:85::-;47703:13;47696:21;;47679:43::o;47729:72::-;47791:5;47774:27::o;47808:144::-;-1:-1;;;;;;47869:78;;47852:100::o;47959:160::-;48048:5;48054:60;48048:5;48054:60;:::i;48126:134::-;48202:5;48208:47;48202:5;48208:47;:::i;48345:121::-;-1:-1;;;;;48407:54;;48390:76::o;48552:160::-;;48656:51;48701:5;48656:51;:::i;48719:134::-;;48810:38;48842:5;48810:38;:::i;48861:268::-;48926:1;48933:101;48947:6;48944:1;48941:13;48933:101;;;49014:11;;;49008:18;48995:11;;;48988:39;48969:2;48962:10;48933:101;;;49049:6;49046:1;49043:13;49040:2;;;-1:-1;;49114:1;49096:16;;49089:27;48910:219::o;49137:97::-;49225:2;49205:14;-1:-1;;49201:28;;49185:49::o;49242:118::-;49338:1;49331:5;49328:12;49318:2;;49344:9;49367:105;49450:1;49443:5;49440:12;49430:2;;49456:9;49479:117;49548:24;49566:5;49548:24;:::i;:::-;49541:5;49538:35;49528:2;;49587:1;49584;49577:12;49743:111;49809:21;49824:5;49809:21;:::i;49861:117::-;49930:24;49948:5;49930:24;:::i;49985:115::-;50053:23;50070:5;50053:23;:::i;50107:108::-;50190:1;50183:5;50180:12;50170:2;;50206:1;50203;50196:12", - "linkReferences": {}, - "immutableReferences": { - "49791": [ - { - "start": 648, - "length": 32 - }, - { - "start": 1863, - "length": 32 - }, - { - "start": 2127, - "length": 32 - }, - { - "start": 2488, - "length": 32 - }, - { - "start": 2651, - "length": 32 - }, - { - "start": 3081, - "length": 32 - }, - { - "start": 3232, - "length": 32 - }, - { - "start": 3573, - "length": 32 - }, - { - "start": 3690, - "length": 32 - } - ], - "50133": [ - { - "start": 970, - "length": 32 - }, - { - "start": 4199, - "length": 32 - }, - { - "start": 4636, - "length": 32 - }, - { - "start": 5173, - "length": 32 - }, - { - "start": 7216, - "length": 32 - }, - { - "start": 7430, - "length": 32 - } - ], - "50802": [ - { - "start": 2371, - "length": 32 - } - ], - "50804": [ - { - "start": 3609, - "length": 32 - }, - { - "start": 7525, - "length": 32 - }, - { - "start": 10066, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "CLAIM_REWARDS_SELECTOR()": "40da225d", - "LEND_AND_STAKE_SELECTOR()": "131461c0", - "LEND_SELECTOR()": "257cb1a3", - "REDEEM_SELECTOR()": "f7d882b5", - "STAKE_SELECTOR()": "3ffc1591", - "TAKE_MULTIPLE_ORDERS_SELECTOR()": "c32990a2", - "TAKE_ORDER_SELECTOR()": "863e5ad0", - "UNSTAKE_AND_REDEEM_SELECTOR()": "080456c1", - "UNSTAKE_SELECTOR()": "b23228cf", - "claimRewards(address,bytes,bytes)": "b9dfbacc", - "getCurveGaugeV2RewardsHandlerCrvToken()": "332d709f", - "getCurveGaugeV2RewardsHandlerMinter()": "f003eb85", - "getIntegrationManager()": "e7c45690", - "lend(address,bytes,bytes)": "099f7515", - "lendAndStake(address,bytes,bytes)": "29fa046e", - "parseAssetsForAction(address,bytes4,bytes)": "c54efee5", - "redeem(address,bytes,bytes)": "c29fa9dd", - "stake(address,bytes,bytes)": "fa7dd04d", - "takeOrder(address,bytes,bytes)": "03e38a2b", - "unstake(address,bytes,bytes)": "68e30677", - "unstakeAndRedeem(address,bytes,bytes)": "8334eb99" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_integrationManager\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_balancerVault\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_balancerMinter\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_balToken\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"CLAIM_REWARDS_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LEND_AND_STAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LEND_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"REDEEM_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"STAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TAKE_MULTIPLE_ORDERS_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TAKE_ORDER_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UNSTAKE_AND_REDEEM_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UNSTAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"claimRewards\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurveGaugeV2RewardsHandlerCrvToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"crvToken_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurveGaugeV2RewardsHandlerMinter\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"minter_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getIntegrationManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"integrationManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"lend\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"lendAndStake\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"_selector\",\"type\":\"bytes4\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"}],\"name\":\"parseAssetsForAction\",\"outputs\":[{\"internalType\":\"enum IIntegrationManager.SpendAssetsHandleType\",\"name\":\"spendAssetsHandleType_\",\"type\":\"uint8\"},{\"internalType\":\"address[]\",\"name\":\"spendAssets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"spendAssetAmounts_\",\"type\":\"uint256[]\"},{\"internalType\":\"address[]\",\"name\":\"incomingAssets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"minIncomingAssetAmounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"redeem\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"stake\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"takeOrder\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"unstake\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"unstakeAndRedeem\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"claimRewards(address,bytes,bytes)\":{\"details\":\"Needs `onlyIntegrationManager` because Minter claiming permission is given by the fund\",\"params\":{\"_actionData\":\"Data specific to this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}},\"getCurveGaugeV2RewardsHandlerCrvToken()\":{\"returns\":{\"crvToken_\":\"The `CURVE_GAUGE_V2_REWARDS_HANDLER_CRV_TOKEN` variable value\"}},\"getCurveGaugeV2RewardsHandlerMinter()\":{\"returns\":{\"minter_\":\"The `CURVE_GAUGE_V2_REWARDS_HANDLER_MINTER` variable value\"}},\"getIntegrationManager()\":{\"returns\":{\"integrationManager_\":\"The `INTEGRATION_MANAGER` variable value\"}},\"lend(address,bytes,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}},\"lendAndStake(address,bytes,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}},\"parseAssetsForAction(address,bytes4,bytes)\":{\"params\":{\"_actionData\":\"The encoded parameters for the callOnIntegration\",\"_selector\":\"The function selector for the callOnIntegration\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"},\"returns\":{\"incomingAssets_\":\"The assets to receive in the call\",\"minIncomingAssetAmounts_\":\"The min asset amounts to receive in the call\",\"spendAssetAmounts_\":\"The max asset amounts to spend in the call\",\"spendAssetsHandleType_\":\"A type that dictates how to handle granting the adapter access to spend assets (`None` by default)\",\"spendAssets_\":\"The assets to spend in the call\"}},\"redeem(address,bytes,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}},\"stake(address,bytes,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}},\"takeOrder(address,bytes,bytes)\":{\"details\":\"All `_actionData` inputs are Balancer `batchSwap()` params, with the exception of `stakingTokens`. \\\"Spend assets\\\" and \\\"incoming assets\\\" are parsed from the `limits` values corresponding to `assets`: - limit > 0 is a spend asset - limit < 0 is an incoming asset (including a partially-consumed intermediary asset) - limit == 0 is an intermediary asset that is completely consumed in the swap This function can also used for \\\"LPing\\\" with ComposableStablePool instances, since those pools contain their own BPT as an underlying asset. `stakingTokens` facilitates \\\"lend and stake\\\" and \\\"unstake and redeem\\\"-like functionality for such pools. If `stakingTokens[i]` is non-empty, it is considered to be the actual spend/incoming asset that must be unstaked to / staked from the BPT specified in `assets[i]` before/after the batchSawp().\",\"params\":{\"_actionData\":\"Data specific to this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}},\"unstake(address,bytes,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}},\"unstakeAndRedeem(address,bytes,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}}},\"title\":\"BalancerV2LiquidityAdapter Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"claimRewards(address,bytes,bytes)\":{\"notice\":\"Claims all rewards\"},\"getCurveGaugeV2RewardsHandlerCrvToken()\":{\"notice\":\"Gets the `CURVE_GAUGE_V2_REWARDS_HANDLER_CRV_TOKEN` variable\"},\"getCurveGaugeV2RewardsHandlerMinter()\":{\"notice\":\"Gets the `CURVE_GAUGE_V2_REWARDS_HANDLER_MINTER` variable\"},\"getIntegrationManager()\":{\"notice\":\"Gets the `INTEGRATION_MANAGER` variable\"},\"lend(address,bytes,bytes)\":{\"notice\":\"Lends assets for pool tokens on BalancerV2\"},\"lendAndStake(address,bytes,bytes)\":{\"notice\":\"Lends assets for LP tokens, then stakes the received LP tokens\"},\"parseAssetsForAction(address,bytes4,bytes)\":{\"notice\":\"Parses the expected assets to receive from a call on integration\"},\"redeem(address,bytes,bytes)\":{\"notice\":\"Redeems pool tokens on BalancerV2\"},\"stake(address,bytes,bytes)\":{\"notice\":\"Stakes LP tokens\"},\"takeOrder(address,bytes,bytes)\":{\"notice\":\"Swaps assets on Balancer via batchSwap()\"},\"unstake(address,bytes,bytes)\":{\"notice\":\"Unstakes LP tokens\"},\"unstakeAndRedeem(address,bytes,bytes)\":{\"notice\":\"Unstakes LP tokens, then redeems them\"}},\"notice\":\"Adapter for Balancer V2 pool liquidity provision and native staking\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/integration-manager/integrations/adapters/BalancerV2LiquidityAdapter.sol\":\"BalancerV2LiquidityAdapter\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/integration-manager/IIntegrationManager.sol\":{\"keccak256\":\"0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23\",\"dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk\"]},\"contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol\":{\"keccak256\":\"0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336\",\"dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS\"]},\"contracts/release/extensions/integration-manager/integrations/adapters/BalancerV2LiquidityAdapter.sol\":{\"keccak256\":\"0x7aa2128bd07a51989c43b7e3809642e3f9c8b04bd216bedf322ca6035ff67292\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ad37ddc2f954ddbe7947b09c03c3e51afb7d67e08c371a335a90318e4530c343\",\"dweb:/ipfs/QmcFvYWjmq6ydGMymjcGx8FTwq5CknSxmxKjrjP6h8qTXw\"]},\"contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol\":{\"keccak256\":\"0x067e49bf0d3c1655ab41a413c65ccf61d4e593308132e1ffc484a0fadfbbaf26\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://387f425017e18e89cc1893521101fa99df595314847d0b3d9a1162369f714fcf\",\"dweb:/ipfs/Qmco3jCvuWAyfCpBYpGzHrQjiFJG63w1RJKcakoTEbxRQm\"]},\"contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol\":{\"keccak256\":\"0xfd34c7ca8231c6935e25dede32ca2b3121738e624d0fc896f7b895a731edcf88\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d492c061963d36d07718446db191d4c5a340c0d847f6cd209f027bd99f7cb176\",\"dweb:/ipfs/QmfCvRZt56ftDdrEh6LepHXFJ4fVtcfpQGvEyY8k4zxG1A\"]},\"contracts/release/extensions/integration-manager/integrations/utils/actions/BalancerV2ActionsMixin.sol\":{\"keccak256\":\"0xf2411ca1c42e8881a6aed8381294a03e363738bb4bf7b030dad47871ba27411f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://7916355a56eaa4337d28019dc84249e9e5abe5cc188718f11f945d92afc593f0\",\"dweb:/ipfs/QmXSe7UDdrutvCf5RujJxeurLUEotkTzm8Tn27xDqvwc6X\"]},\"contracts/release/extensions/integration-manager/integrations/utils/actions/CurveGaugeV2ActionsMixin.sol\":{\"keccak256\":\"0xb297d967916d8560814b5d85ca8abedacf7d3c414390a0eb1179aa3adaa9be1b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://97b52856086845cdfe9ddcd6e0be1eb72658a6775ab3cec97c4aa4d5477d28f3\",\"dweb:/ipfs/QmccHa8AXHZ4TiBu9225cxi6RgT6SskhgmUFzEJmgzE625\"]},\"contracts/release/extensions/integration-manager/integrations/utils/actions/CurveGaugeV2RewardsHandlerMixin.sol\":{\"keccak256\":\"0x03af28f9cd7e5666a8060a8e2208d88f4ec3d6be4c7dad13d41757754296eb5b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d3396dfde6e114902db13370916a570fcad62502520dd129f9cac9f8d80e3aa4\",\"dweb:/ipfs/QmVVDVf6dm6fKvN2gFBM5NQWwX8cNzLszmvGwrUBBoQGqW\"]},\"contracts/release/extensions/integration-manager/integrations/utils/bases/BalancerV2LiquidityAdapterBase.sol\":{\"keccak256\":\"0x584e1b88ebc1c7911d8df42b3f4d7739863a5c9922e3d007a0e97b261c24ff71\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://55299164a30b0e3170d3c9d4973559afa609410d19ff6c177fd4f7879ba11959\",\"dweb:/ipfs/QmaviuM17N3UtGmwo67MAavncrKWv99PnDx3yv2kUqoe3T\"]},\"contracts/release/interfaces/IBalancerV2LiquidityGauge.sol\":{\"keccak256\":\"0x52ebf49a1da970352c8e9c064b82ef3caa103b1055157254796d48141dd37e42\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://4f4c30274497595062b83c165841fdecd8d3ffe5196e3df758d2a1dec9239e0e\",\"dweb:/ipfs/QmSTx36xojjLvyxFujU2S5m9rW8ZRcWB9yuH3HmVMhz2J1\"]},\"contracts/release/interfaces/IBalancerV2Vault.sol\":{\"keccak256\":\"0xb3c8da122ab160129c74ffeb0310ff96c4977d65eef12888bc1a8276fa2a3fd2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c9c89c1e04327c6fa45fbdf9ae8fd132ed95c9101ab49d078ef99c6590c30867\",\"dweb:/ipfs/QmWKrLQg5xBVmi6snaAwU3zUTjxQ6ugYj6n45x1hqRxv9A\"]},\"contracts/release/interfaces/ICurveLiquidityGaugeV2.sol\":{\"keccak256\":\"0x0fbd9bdd7d7df1cd92c065ae3e62f1767d80914f086a0f146a2c9874aa7d4e30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://7ed9ee21be1e5c6e6caf3abd0a092410c50614239c72a361612e3d71a649e6e1\",\"dweb:/ipfs/QmZgGgbPsWAiMwnPiimNGgFN6ZnaqcUkRSsSpnQi1MtBNs\"]},\"contracts/release/interfaces/ICurveMinter.sol\":{\"keccak256\":\"0xbfe0cfa932805d9cda714d7ef7cb6b42d08c782b0ffa46de5e2c0530f4ce5ba1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://29ab2dcee291bf81ccb67ab31fd3548e634fb2742642f70890edc7af727d3d39\",\"dweb:/ipfs/QmVZtC5aHRABS8ZX8XVtwiW1Y8K5vnhVH7WKZ29prN2EpJ\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_integrationManager", - "type": "address" - }, - { - "internalType": "address", - "name": "_balancerVault", - "type": "address" - }, - { - "internalType": "address", - "name": "_balancerMinter", - "type": "address" - }, - { - "internalType": "address", - "name": "_balToken", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "CLAIM_REWARDS_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "LEND_AND_STAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "LEND_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "REDEEM_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "STAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "TAKE_MULTIPLE_ORDERS_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "TAKE_ORDER_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "UNSTAKE_AND_REDEEM_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "UNSTAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "claimRewards" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getCurveGaugeV2RewardsHandlerCrvToken", - "outputs": [ - { - "internalType": "address", - "name": "crvToken_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getCurveGaugeV2RewardsHandlerMinter", - "outputs": [ - { - "internalType": "address", - "name": "minter_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getIntegrationManager", - "outputs": [ - { - "internalType": "address", - "name": "integrationManager_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "lend" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "lendAndStake" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes4", - "name": "_selector", - "type": "bytes4" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - } - ], - "stateMutability": "view", - "type": "function", - "name": "parseAssetsForAction", - "outputs": [ - { - "internalType": "enum IIntegrationManager.SpendAssetsHandleType", - "name": "spendAssetsHandleType_", - "type": "uint8" - }, - { - "internalType": "address[]", - "name": "spendAssets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "spendAssetAmounts_", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "incomingAssets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "minIncomingAssetAmounts_", - "type": "uint256[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "redeem" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "stake" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "takeOrder" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "unstake" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "unstakeAndRedeem" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "claimRewards(address,bytes,bytes)": { - "details": "Needs `onlyIntegrationManager` because Minter claiming permission is given by the fund", - "params": { - "_actionData": "Data specific to this action", - "_vaultProxy": "The VaultProxy of the calling fund" - } - }, - "getCurveGaugeV2RewardsHandlerCrvToken()": { - "returns": { - "crvToken_": "The `CURVE_GAUGE_V2_REWARDS_HANDLER_CRV_TOKEN` variable value" - } - }, - "getCurveGaugeV2RewardsHandlerMinter()": { - "returns": { - "minter_": "The `CURVE_GAUGE_V2_REWARDS_HANDLER_MINTER` variable value" - } - }, - "getIntegrationManager()": { - "returns": { - "integrationManager_": "The `INTEGRATION_MANAGER` variable value" - } - }, - "lend(address,bytes,bytes)": { - "params": { - "_actionData": "Data specific to this action", - "_vaultProxy": "The VaultProxy of the calling fund" - } - }, - "lendAndStake(address,bytes,bytes)": { - "params": { - "_actionData": "Data specific to this action", - "_vaultProxy": "The VaultProxy of the calling fund" - } - }, - "parseAssetsForAction(address,bytes4,bytes)": { - "params": { - "_actionData": "The encoded parameters for the callOnIntegration", - "_selector": "The function selector for the callOnIntegration", - "_vaultProxy": "The VaultProxy of the calling fund" - }, - "returns": { - "incomingAssets_": "The assets to receive in the call", - "minIncomingAssetAmounts_": "The min asset amounts to receive in the call", - "spendAssetAmounts_": "The max asset amounts to spend in the call", - "spendAssetsHandleType_": "A type that dictates how to handle granting the adapter access to spend assets (`None` by default)", - "spendAssets_": "The assets to spend in the call" - } - }, - "redeem(address,bytes,bytes)": { - "params": { - "_actionData": "Data specific to this action", - "_vaultProxy": "The VaultProxy of the calling fund" - } - }, - "stake(address,bytes,bytes)": { - "params": { - "_actionData": "Data specific to this action", - "_vaultProxy": "The VaultProxy of the calling fund" - } - }, - "takeOrder(address,bytes,bytes)": { - "details": "All `_actionData` inputs are Balancer `batchSwap()` params, with the exception of `stakingTokens`. \"Spend assets\" and \"incoming assets\" are parsed from the `limits` values corresponding to `assets`: - limit > 0 is a spend asset - limit < 0 is an incoming asset (including a partially-consumed intermediary asset) - limit == 0 is an intermediary asset that is completely consumed in the swap This function can also used for \"LPing\" with ComposableStablePool instances, since those pools contain their own BPT as an underlying asset. `stakingTokens` facilitates \"lend and stake\" and \"unstake and redeem\"-like functionality for such pools. If `stakingTokens[i]` is non-empty, it is considered to be the actual spend/incoming asset that must be unstaked to / staked from the BPT specified in `assets[i]` before/after the batchSawp().", - "params": { - "_actionData": "Data specific to this action", - "_vaultProxy": "The VaultProxy of the calling fund" - } - }, - "unstake(address,bytes,bytes)": { - "params": { - "_actionData": "Data specific to this action", - "_vaultProxy": "The VaultProxy of the calling fund" - } - }, - "unstakeAndRedeem(address,bytes,bytes)": { - "params": { - "_actionData": "Data specific to this action", - "_vaultProxy": "The VaultProxy of the calling fund" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "claimRewards(address,bytes,bytes)": { - "notice": "Claims all rewards" - }, - "getCurveGaugeV2RewardsHandlerCrvToken()": { - "notice": "Gets the `CURVE_GAUGE_V2_REWARDS_HANDLER_CRV_TOKEN` variable" - }, - "getCurveGaugeV2RewardsHandlerMinter()": { - "notice": "Gets the `CURVE_GAUGE_V2_REWARDS_HANDLER_MINTER` variable" - }, - "getIntegrationManager()": { - "notice": "Gets the `INTEGRATION_MANAGER` variable" - }, - "lend(address,bytes,bytes)": { - "notice": "Lends assets for pool tokens on BalancerV2" - }, - "lendAndStake(address,bytes,bytes)": { - "notice": "Lends assets for LP tokens, then stakes the received LP tokens" - }, - "parseAssetsForAction(address,bytes4,bytes)": { - "notice": "Parses the expected assets to receive from a call on integration" - }, - "redeem(address,bytes,bytes)": { - "notice": "Redeems pool tokens on BalancerV2" - }, - "stake(address,bytes,bytes)": { - "notice": "Stakes LP tokens" - }, - "takeOrder(address,bytes,bytes)": { - "notice": "Swaps assets on Balancer via batchSwap()" - }, - "unstake(address,bytes,bytes)": { - "notice": "Unstakes LP tokens" - }, - "unstakeAndRedeem(address,bytes,bytes)": { - "notice": "Unstakes LP tokens, then redeems them" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/integration-manager/integrations/adapters/BalancerV2LiquidityAdapter.sol": "BalancerV2LiquidityAdapter" - }, - "libraries": {} - }, - "sources": { - "contracts/release/extensions/integration-manager/IIntegrationManager.sol": { - "keccak256": "0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef", - "urls": [ - "bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23", - "dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol": { - "keccak256": "0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1", - "urls": [ - "bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336", - "dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/adapters/BalancerV2LiquidityAdapter.sol": { - "keccak256": "0x7aa2128bd07a51989c43b7e3809642e3f9c8b04bd216bedf322ca6035ff67292", - "urls": [ - "bzz-raw://ad37ddc2f954ddbe7947b09c03c3e51afb7d67e08c371a335a90318e4530c343", - "dweb:/ipfs/QmcFvYWjmq6ydGMymjcGx8FTwq5CknSxmxKjrjP6h8qTXw" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol": { - "keccak256": "0x067e49bf0d3c1655ab41a413c65ccf61d4e593308132e1ffc484a0fadfbbaf26", - "urls": [ - "bzz-raw://387f425017e18e89cc1893521101fa99df595314847d0b3d9a1162369f714fcf", - "dweb:/ipfs/Qmco3jCvuWAyfCpBYpGzHrQjiFJG63w1RJKcakoTEbxRQm" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol": { - "keccak256": "0xfd34c7ca8231c6935e25dede32ca2b3121738e624d0fc896f7b895a731edcf88", - "urls": [ - "bzz-raw://d492c061963d36d07718446db191d4c5a340c0d847f6cd209f027bd99f7cb176", - "dweb:/ipfs/QmfCvRZt56ftDdrEh6LepHXFJ4fVtcfpQGvEyY8k4zxG1A" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/utils/actions/BalancerV2ActionsMixin.sol": { - "keccak256": "0xf2411ca1c42e8881a6aed8381294a03e363738bb4bf7b030dad47871ba27411f", - "urls": [ - "bzz-raw://7916355a56eaa4337d28019dc84249e9e5abe5cc188718f11f945d92afc593f0", - "dweb:/ipfs/QmXSe7UDdrutvCf5RujJxeurLUEotkTzm8Tn27xDqvwc6X" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/utils/actions/CurveGaugeV2ActionsMixin.sol": { - "keccak256": "0xb297d967916d8560814b5d85ca8abedacf7d3c414390a0eb1179aa3adaa9be1b", - "urls": [ - "bzz-raw://97b52856086845cdfe9ddcd6e0be1eb72658a6775ab3cec97c4aa4d5477d28f3", - "dweb:/ipfs/QmccHa8AXHZ4TiBu9225cxi6RgT6SskhgmUFzEJmgzE625" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/utils/actions/CurveGaugeV2RewardsHandlerMixin.sol": { - "keccak256": "0x03af28f9cd7e5666a8060a8e2208d88f4ec3d6be4c7dad13d41757754296eb5b", - "urls": [ - "bzz-raw://d3396dfde6e114902db13370916a570fcad62502520dd129f9cac9f8d80e3aa4", - "dweb:/ipfs/QmVVDVf6dm6fKvN2gFBM5NQWwX8cNzLszmvGwrUBBoQGqW" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/utils/bases/BalancerV2LiquidityAdapterBase.sol": { - "keccak256": "0x584e1b88ebc1c7911d8df42b3f4d7739863a5c9922e3d007a0e97b261c24ff71", - "urls": [ - "bzz-raw://55299164a30b0e3170d3c9d4973559afa609410d19ff6c177fd4f7879ba11959", - "dweb:/ipfs/QmaviuM17N3UtGmwo67MAavncrKWv99PnDx3yv2kUqoe3T" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IBalancerV2LiquidityGauge.sol": { - "keccak256": "0x52ebf49a1da970352c8e9c064b82ef3caa103b1055157254796d48141dd37e42", - "urls": [ - "bzz-raw://4f4c30274497595062b83c165841fdecd8d3ffe5196e3df758d2a1dec9239e0e", - "dweb:/ipfs/QmSTx36xojjLvyxFujU2S5m9rW8ZRcWB9yuH3HmVMhz2J1" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IBalancerV2Vault.sol": { - "keccak256": "0xb3c8da122ab160129c74ffeb0310ff96c4977d65eef12888bc1a8276fa2a3fd2", - "urls": [ - "bzz-raw://c9c89c1e04327c6fa45fbdf9ae8fd132ed95c9101ab49d078ef99c6590c30867", - "dweb:/ipfs/QmWKrLQg5xBVmi6snaAwU3zUTjxQ6ugYj6n45x1hqRxv9A" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/ICurveLiquidityGaugeV2.sol": { - "keccak256": "0x0fbd9bdd7d7df1cd92c065ae3e62f1767d80914f086a0f146a2c9874aa7d4e30", - "urls": [ - "bzz-raw://7ed9ee21be1e5c6e6caf3abd0a092410c50614239c72a361612e3d71a649e6e1", - "dweb:/ipfs/QmZgGgbPsWAiMwnPiimNGgFN6ZnaqcUkRSsSpnQi1MtBNs" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/ICurveMinter.sol": { - "keccak256": "0xbfe0cfa932805d9cda714d7ef7cb6b42d08c782b0ffa46de5e2c0530f4ce5ba1", - "urls": [ - "bzz-raw://29ab2dcee291bf81ccb67ab31fd3548e634fb2742642f70890edc7af727d3d39", - "dweb:/ipfs/QmVZtC5aHRABS8ZX8XVtwiW1Y8K5vnhVH7WKZ29prN2EpJ" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AddressArrayLib.sol": { - "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", - "urls": [ - "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", - "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AssetHelpers.sol": { - "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", - "urls": [ - "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", - "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { - "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", - "urls": [ - "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", - "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Address.sol": { - "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", - "urls": [ - "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", - "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 163 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_integrationManager", "type": "address", "internalType": "address" }, { "name": "_balancerVault", "type": "address", "internalType": "address" }, { "name": "_balancerMinter", "type": "address", "internalType": "address" }, { "name": "_balToken", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "CLAIM_REWARDS_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "LEND_AND_STAKE_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "LEND_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "REDEEM_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "STAKE_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "TAKE_MULTIPLE_ORDERS_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "TAKE_ORDER_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "UNSTAKE_AND_REDEEM_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "UNSTAKE_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "claimRewards", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_actionData", "type": "bytes", "internalType": "bytes" }, { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "getCurveGaugeV2RewardsHandlerCrvToken", "inputs": [], "outputs": [ { "name": "crvToken_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getCurveGaugeV2RewardsHandlerMinter", "inputs": [], "outputs": [ { "name": "minter_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getIntegrationManager", "inputs": [], "outputs": [ { "name": "integrationManager_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "lend", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_actionData", "type": "bytes", "internalType": "bytes" }, { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "lendAndStake", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_actionData", "type": "bytes", "internalType": "bytes" }, { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "parseAssetsForAction", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_selector", "type": "bytes4", "internalType": "bytes4" }, { "name": "_actionData", "type": "bytes", "internalType": "bytes" } ], "outputs": [ { "name": "spendAssetsHandleType_", "type": "uint8", "internalType": "enum IIntegrationManager.SpendAssetsHandleType" }, { "name": "spendAssets_", "type": "address[]", "internalType": "address[]" }, { "name": "spendAssetAmounts_", "type": "uint256[]", "internalType": "uint256[]" }, { "name": "incomingAssets_", "type": "address[]", "internalType": "address[]" }, { "name": "minIncomingAssetAmounts_", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "view" }, { "type": "function", "name": "redeem", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_actionData", "type": "bytes", "internalType": "bytes" }, { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "stake", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_actionData", "type": "bytes", "internalType": "bytes" }, { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "takeOrder", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_actionData", "type": "bytes", "internalType": "bytes" }, { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "unstake", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_actionData", "type": "bytes", "internalType": "bytes" }, { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "unstakeAndRedeem", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_actionData", "type": "bytes", "internalType": "bytes" }, { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x6101006040523480156200001257600080fd5b5060405162003d9138038062003d91833981016040819052620000359162000077565b6001600160601b0319606094851b811660805292841b831660a052831b821660c05290911b1660e0526200010d565b80516200007181620000f3565b92915050565b600080600080608085870312156200008e57600080fd5b60006200009c878762000064565b9450506020620000af8782880162000064565b9350506040620000c28782880162000064565b9250506060620000d58782880162000064565b91505092959194509250565b60006001600160a01b03821662000071565b620000fe81620000e1565b81146200010a57600080fd5b50565b60805160601c60a05160601c60c05160601c60e05160601c613bf76200019a60003980610e195280611d6552806127525250806109435250806103ca5280611067528061121c52806114355280611c305280611d065250806102885280610747528061084f52806109b85280610a5b5280610c095280610ca05280610df55280610e6a5250613bf76000f3fe608060405234801561001057600080fd5b50600436106101375760003560e01c80638334eb99116100b8578063c32990a21161007c578063c32990a214610226578063c54efee51461022e578063e7c4569014610252578063f003eb851461025a578063f7d882b514610262578063fa7dd04d1461026a57610137565b80638334eb99146101dd578063863e5ad0146101f0578063b23228cf146101f8578063b9dfbacc14610200578063c29fa9dd1461021357610137565b806329fa046e116100ff57806329fa046e14610192578063332d709f146101a55780633ffc1591146101ba57806340da225d146101c257806368e30677146101ca57610137565b806303e38a2b1461013c578063080456c114610151578063099f75151461016f578063131461c014610182578063257cb1a31461018a575b600080fd5b61014f61014a366004612ecc565b61027d565b005b610159610718565b60405161016691906138e1565b60405180910390f35b61014f61017d366004612ecc565b61073c565b6101596107fc565b610159610820565b61014f6101a0366004612ecc565b610844565b6101ad610941565b6040516101669190613859565b610159610965565b610159610989565b61014f6101d8366004612ecc565b6109ad565b61014f6101eb366004612ecc565b610a50565b610159610bb6565b610159610bda565b61014f61020e366004612ecc565b610bfe565b61014f610221366004612ecc565b610c95565b610159610d51565b61024161023c366004612e65565b610d75565b6040516101669594939291906138ef565b6101ad610df3565b6101ad610e17565b610159610e3b565b61014f610278366004612ecc565b610e5f565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146102ce5760405162461bcd60e51b81526004016102c590613a02565b60405180910390fd5b600060608060608061031589898080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610ef892505050565b945094509450945094506000808451905060005b8181101561045057600085828151811061033f57fe5b602002602001015113156103f557600085828151811061035b57fe5b6020026020010151905060006001600160a01b031685838151811061037c57fe5b60200260200101516001600160a01b0316146103b1576103b130308785815181106103a357fe5b602002602001015184610f26565b6103ef8783815181106103c057fe5b60200260200101517f000000000000000000000000000000000000000000000000000000000000000083610f64565b50610448565b600085828151811061040357fe5b602002602001015112801561043e575060006001600160a01b031684828151811061042a57fe5b60200260200101516001600160a01b031614155b1561044857600192505b600101610329565b50606061046d3084610462578e610464565b305b8a8a8a8a611020565b905060005b8281101561070857600086828151811061048857fe5b602002602001015113156105b85760006001600160a01b03168582815181106104ad57fe5b60200260200101516001600160a01b0316141580156104d7575060018960018111156104d557fe5b145b156105955760008782815181106104ea57fe5b60200260200101516001600160a01b03166370a08231306040518263ffffffff1660e01b815260040161051d9190613859565b60206040518083038186803b15801561053557600080fd5b505afa158015610549573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061056d9190613121565b90508015610593576105938f87848151811061058557fe5b602002602001015183611108565b505b6105b28e8883815181106105a557fe5b6020026020010151611134565b50610700565b60008682815181106105c657fe5b602002602001015112156106cd5760006001600160a01b03168582815181106105eb57fe5b60200260200101516001600160a01b0316146106b2576106ad8e86838151811061061157fe5b602002602001015189848151811061062557fe5b60200260200101516001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016106589190613859565b60206040518083038186803b15801561067057600080fd5b505afa158015610684573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106a89190613121565b611108565b6106c8565b83156106c8576105b28e8883815181106105a557fe5b610700565b8181815181106106d957fe5b60200260200101516000146107005760405162461bcd60e51b81526004016102c590613a12565b600101610472565b5050505050505050505050505050565b7f8334eb99be0145865eba9889fca2ee920288090caefff4cc776038e20ad9259a81565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146107845760405162461bcd60e51b81526004016102c590613a02565b6000606080610791612905565b6107d088888080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506111d592505050565b9450945094505093506107e689858585856111f7565b6107f08984611269565b50505050505050505050565b7f29fa046e79524c3c5ac4c01df692c35e217802b2b13b21121b76cf0ef02b138c81565b7f099f75155f0e997bf83a7993a71d5e7e7540bd386fe1e84643a09ce6b412521981565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461088c5760405162461bcd60e51b81526004016102c590613a02565b60008060608061089a612905565b6108d989898080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506113c492505050565b95509550955050945094506108f130858585856111f7565b61092a8a866108ff876113fc565b6001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016106589190613859565b6109348a84611269565b5050505050505050505050565b7f000000000000000000000000000000000000000000000000000000000000000090565b7ffa7dd04da627f433da73c4355ead9c75682a67a8fc84d3f6170ef0922f402d2481565b7fb9dfbaccbe5cd2a84fdcf1d15f23ef25d23086f5afbaa99516065ed4a5bbc7a381565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146109f55760405162461bcd60e51b81526004016102c590613a02565b600080610a3786868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061140792505050565b91509150610a4787888484610f26565b50505050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610a985760405162461bcd60e51b81526004016102c590613a02565b60008060006060610aa7612905565b610ae689898080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506113c492505050565b9550509450945094509450610afd8a308786610f26565b610b0a8a85858585611427565b6000610b15856113fc565b90506000816001600160a01b03166370a08231306040518263ffffffff1660e01b8152600401610b459190613859565b60206040518083038186803b158015610b5d57600080fd5b505afa158015610b71573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b959190613121565b90508015610ba857610ba88c8883611108565b505050505050505050505050565b7f03e38a2bd7063d45c897edeafc330e71657502dd86434d3c37a489caf116af6981565b7f68e30677f607df46e87da13e15b637784cfa62374b653f35ab43d10361a2f83081565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610c465760405162461bcd60e51b81526004016102c590613a02565b610c8e85610c8986868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506116c792505050565b6116dd565b5050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610cdd5760405162461bcd60e51b81526004016102c590613a02565b6000806060610cea612905565b610d2988888080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506111d592505050565b945050935093509350610d3f8985858585611427565b6107f089610d4c866113fc565b611134565b7f0e7f692dad5b88fdee426250d6eae91207e56a2e8112b7364579bed1790e5bf481565b600060608080806001600160e01b0319881663099f751560e01b1415610dae57610d9f87876116eb565b94509450945094509450610de8565b6001600160e01b0319881663c29fa9dd60e01b1415610dd157610d9f87876117f8565b610ddd898989896118d5565b945094509450945094505b945094509450945094565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b7fc29fa9dde84204c2908778afd0613d802d31cf046179b88f6d2b4a4e507ea2d581565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610ea75760405162461bcd60e51b81526004016102c590613a02565b600080610ee986868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061140792505050565b91509150610a47878383611108565b600060608060608085806020019051810190610f14919061305d565b939a9299509097509550909350915050565b610f3082826119c4565b6001600160a01b0383163014610f5e57610f5e8382610f4e85611a26565b6001600160a01b03169190611a99565b50505050565b604051636eb1769f60e11b81526000906001600160a01b0385169063dd62ed3e90610f959030908790600401613867565b60206040518083038186803b158015610fad57600080fd5b505afa158015610fc1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fe59190613121565b905081811015610f5e57801561100a5761100a6001600160a01b038516846000611aef565b610f5e6001600160a01b03851684600019611aef565b606061102a61292f565b50604080516080810182526001600160a01b03808a168252600060208301819052898216838501526060830152915163945bcec960e01b815290917f0000000000000000000000000000000000000000000000000000000000000000169063945bcec9906110a69089908990899087908a90429060040161394b565b600060405180830381600087803b1580156110c057600080fd5b505af11580156110d4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526110fc9190810190612f51565b98975050505050505050565b61111b8261111584611a26565b83611bb2565b61112f6001600160a01b0383168483611a99565b505050565b6040516370a0823160e01b81526000906001600160a01b038316906370a0823190611163903090600401613859565b60206040518083038186803b15801561117b57600080fd5b505afa15801561118f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111b39190613121565b905080156111cf576111cf6001600160a01b0383168483611a99565b92915050565b6000806060806111e3612905565b85806020019051810190610f149190612fa3565b60005b835181101561125c5761125484828151811061121257fe5b60200260200101517f000000000000000000000000000000000000000000000000000000000000000085848151811061124757fe5b6020026020010151610f64565b6001016111fa565b50610c8e84308784611c19565b606081516001600160401b038111801561128257600080fd5b506040519080825280602002602001820160405280156112ac578160200160208202803683370190505b50905060005b82518110156113bd5760008382815181106112c957fe5b60200260200101519050806001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016112ff9190613859565b60206040518083038186803b15801561131757600080fd5b505afa15801561132b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061134f9190613121565b83838151811061135b57fe5b602002602001018181525050600083838151811061137557fe5b602002602001015111156113b4576113b48584848151811061139357fe5b6020026020010151836001600160a01b0316611a999092919063ffffffff16565b506001016112b2565b5092915050565b60008060006060806113d4612905565b868060200190518101906113e89190612d5f565b949c939b5091995097509550909350915050565b606081901c5b919050565b6000808280602001905181019061141e9190612e2b565b91509150915091565b61145a611433856113fc565b7f000000000000000000000000000000000000000000000000000000000000000085610f64565b815181515103606081156115a0578251516001600160401b038111801561148057600080fd5b506040519080825280602002602001820160405280156114aa578160200160208202803683370190505b5090508160005b811561159d576114e1856000015182815181106114ca57fe5b602002602001015187611c9990919063ffffffff16565b6115955784518051829081106114f357fe5b60200260200101516001600160a01b03166370a082318a6040518263ffffffff1660e01b81526004016115269190613859565b60206040518083038186803b15801561153e57600080fd5b505afa158015611552573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115769190613121565b83828151811061158257fe5b6020908102919091010152600019909101905b6001016114b1565b50505b6115ac86308986611cef565b8115610a475760005b82156116bd576115e5846000015182815181106115ce57fe5b602002602001015186611c9990919063ffffffff16565b6116b5578181815181106115f557fe5b60200260200101518460000151828151811061160d57fe5b60200260200101516001600160a01b03166370a082318a6040518263ffffffff1660e01b81526004016116409190613859565b60206040518083038186803b15801561165857600080fd5b505afa15801561166c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116909190613121565b146116ad5760405162461bcd60e51b81526004016102c5906139c2565b600019909201915b6001016115b5565b5050505050505050565b6000818060200190518101906111cf9190612d39565b6116e78183611d41565b5050565b6040805160018082528183019092526000916060918291829182916020808301908036833750506040805160018082528183019092529294509050602080830190803683370190505090506000611740612905565b61177f89898080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506111d592505050565b8760008151811061178c57fe5b60209081029190910101939093526060830151919950975091935091506117b290611dd9565b6117bb826113fc565b846000815181106117c857fe5b60200260200101906001600160a01b031690816001600160a01b0316815250506002965050509295509295909350565b604080516001808252818301909252600091606091829182918291602080830190803683375050604080516001808252818301909252929650905060208083019080368337019050509250600061184d612905565b61188c89898080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506111d592505050565b8960008151811061189957fe5b60209081029190910101939093526060830151919750955091935091506118bf90611dd9565b6118c8826113fc565b866000815181106117c857fe5b600060608080806001600160e01b03198816632e77eeb360e21b14156118fd57610d9f611dfa565b6001600160e01b031988166314fd023760e11b141561192057610d9f8787611e5a565b6001600160e01b03198816638334eb9960e01b141561194357610d9f8787611f6d565b6001600160e01b031988166303e38a2b60e01b141561196657610d9f878761204f565b6001600160e01b0319881663fa7dd04d60e01b141561198957610d9f878761241d565b6001600160e01b031988166368e3067760e01b14156119ac57610d9f8787612594565b60405162461bcd60e51b81526004016102c590613a62565b604051632e1a7d4d60e01b81526001600160a01b03831690632e1a7d4d906119f0908490600401613a72565b600060405180830381600087803b158015611a0a57600080fd5b505af1158015611a1e573d6000803e3d6000fd5b505050505050565b6000816001600160a01b03166382c630666040518163ffffffff1660e01b815260040160206040518083038186803b158015611a6157600080fd5b505afa158015611a75573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111cf9190612d39565b61112f8363a9059cbb60e01b8484604051602401611ab8929190613882565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526126c1565b801580611b775750604051636eb1769f60e11b81526001600160a01b0384169063dd62ed3e90611b259030908690600401613867565b60206040518083038186803b158015611b3d57600080fd5b505afa158015611b51573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b759190613121565b155b611b935760405162461bcd60e51b81526004016102c590613a52565b61112f8363095ea7b360e01b8484604051602401611ab8929190613882565b611bbd828483610f64565b604051636e553f6560e01b81526001600160a01b03841690636e553f6590611beb9084903090600401613a80565b600060405180830381600087803b158015611c0557600080fd5b505af1158015610a47573d6000803e3d6000fd5b60405163172b958560e31b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063b95cac2890611c6b90879087908790879060040161389d565b600060405180830381600087803b158015611c8557600080fd5b505af11580156116bd573d6000803e3d6000fd5b6000805b8351811015611ce557838181518110611cb257fe5b60200260200101516001600160a01b0316836001600160a01b03161415611cdd5760019150506111cf565b600101611c9d565b5060009392505050565b604051638bdb391360e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690638bdb391390611c6b90879087908790879060040161389d565b611d49612750565b15611dcf576040516327f18ae360e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906327f18ae390611d9c9085908590600401613867565b600060405180830381600087803b158015611db657600080fd5b505af1158015611dca573d6000803e3d6000fd5b505050505b6116e7828261277f565b8015611df75760405162461bcd60e51b81526004016102c590613a22565b50565b600060608080808480604051908082528060200260200182016040528015611e2c578160200160208202803683370190505b5060408051600080825260208201818152828401918252606083019093529399929850965094509092509050565b604080516001808252818301909252600091606091829182918291602080830190803683375050604080516001808252818301909252929450905060208083019080368337019050509050600080611eb0612905565b611eef8a8a8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506113c492505050565b89600081518110611efc57fe5b6020908102919091010193909352909a5098509094509092509050611f2182846127ab565b611f2e8160600151611dd9565b8185600081518110611f3c57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050600297505050509295509295909350565b604080516001808252818301909252600091606091829182918291602080830190803683375050604080516001808252818301909252929650905060208083019080368337019050509250600080611fc3612905565b6120028a8a8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506113c492505050565b8b60008151811061200f57fe5b60209081029190910101939093529098509650909450909250905061203482846127ab565b6120418160600151611dd9565b8187600081518110611f3c57fe5b6000606080606080606080606061209b8a8a8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610ef892505050565b945094509450505060008060005b85518110156121045760008582815181106120c057fe5b602002602001015113156120d9576001909201916120fc565b60008582815181106120e757fe5b602002602001015112156120fc576001909101905b6001016120a9565b50816001600160401b038111801561211b57600080fd5b50604051908082528060200260200182016040528015612145578160200160208202803683370190505b509850816001600160401b038111801561215e57600080fd5b50604051908082528060200260200182016040528015612188578160200160208202803683370190505b509750806001600160401b03811180156121a157600080fd5b506040519080825280602002602001820160405280156121cb578160200160208202803683370190505b509650806001600160401b03811180156121e457600080fd5b5060405190808252806020026020018201604052801561220e578160200160208202803683370190505b50955060005b855181101561240957600085828151811061222b57fe5b60200260200101519050600081131561231b57600087838151811061224c57fe5b60200260200101519050600086848151811061226457fe5b6020026020010151905060006001600160a01b0316816001600160a01b0316146122c55761229181611a26565b6001600160a01b0316826001600160a01b0316146122c15760405162461bcd60e51b81526004016102c5906139d2565b8091505b858060019003965050818d87815181106122db57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050828c878151811061230857fe5b6020026020010181815250505050612400565b600081121561240057600087838151811061233257fe5b60200260200101519050600086848151811061234a57fe5b6020026020010151905060006001600160a01b0316816001600160a01b0316146123ab5761237781611a26565b6001600160a01b0316826001600160a01b0316146123a75760405162461bcd60e51b81526004016102c5906139d2565b8091505b848060019003955050818b86815181106123c157fe5b60200260200101906001600160a01b031690816001600160a01b031681525050826000038a86815181106123f157fe5b60200260200101818152505050505b50600101612214565b506002995050505050509295509295909350565b600060608060608060008061246789898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061140792505050565b604080516001808252818301909252929450909250602080830190803683375050604080516001808252818301909252929850905060208083019080368337505060408051600180825281830190925292975090506020808301908036833750506040805160018082528183019092529296509050602080830190803683370190505092506124f582611a26565b8660008151811061250257fe5b60200260200101906001600160a01b031690816001600160a01b031681525050808560008151811061253057fe5b602002602001018181525050818460008151811061254a57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050808360008151811061257857fe5b6020026020010181815250506002965050509295509295909350565b60006060806060806000806125de89898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061140792505050565b60408051600180825281830190925292945090925060208083019080368337505060408051600180825281830190925292985090506020808301908036833750506040805160018082528183019092529297509050602080830190803683375050604080516001808252818301909252929650905060208083019080368337019050509250818660008151811061267157fe5b60200260200101906001600160a01b031690816001600160a01b031681525050808560008151811061269f57fe5b6020026020010181815250506126b482611a26565b8460008151811061254a57fe5b6060612716826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166127ec9092919063ffffffff16565b80519091501561112f57808060200190518101906127349190612f85565b61112f5760405162461bcd60e51b81526004016102c590613a42565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316151590565b604051634274debf60e11b81526001600160a01b038316906384e9bd7e906119f0908490600401613859565b6127b4816113fc565b6001600160a01b03166127c683611a26565b6001600160a01b0316146116e75760405162461bcd60e51b81526004016102c5906139e2565b60606127fb8484600085612805565b90505b9392505050565b6060824710156128275760405162461bcd60e51b81526004016102c5906139f2565b612830856128c6565b61284c5760405162461bcd60e51b81526004016102c590613a32565b60006060866001600160a01b03168587604051612869919061384d565b60006040518083038185875af1925050503d80600081146128a6576040519150601f19603f3d011682016040523d82523d6000602084013e6128ab565b606091505b50915091506128bb8282866128cc565b979650505050505050565b3b151590565b606083156128db5750816127fe565b8251156128eb5782518084602001fd5b8160405162461bcd60e51b81526004016102c591906139b1565b60405180608001604052806060815260200160608152602001606081526020016000151581525090565b60408051608081018252600080825260208201819052918101829052606081019190915290565b80356111cf81613bae565b80516111cf81613bae565b600082601f83011261297d57600080fd5b815161299061298b82613ab4565b613a8e565b915081818352602084019350602081019050838560208402820111156129b557600080fd5b60005b838110156129e157816129cb8882612961565b84525060209283019291909101906001016129b8565b5050505092915050565b600082601f8301126129fc57600080fd5b8151612a0a61298b82613ab4565b91508181835260208401935060208101905083856020840282011115612a2f57600080fd5b60005b838110156129e15781612a458882612b33565b8452506020928301929190910190600101612a32565b600082601f830112612a6c57600080fd5b8151612a7a61298b82613ab4565b81815260209384019390925082018360005b838110156129e15781518601612aa28882612beb565b8452506020928301929190910190600101612a8c565b600082601f830112612ac957600080fd5b8151612ad761298b82613ab4565b91508181835260208401935060208101905083856020840282011115612afc57600080fd5b60005b838110156129e15781612b128882612b33565b8452506020928301929190910190600101612aff565b80516111cf81613bc2565b80516111cf81613bcb565b80356111cf81613bd4565b60008083601f840112612b5b57600080fd5b5081356001600160401b03811115612b7257600080fd5b602083019150836001820283011115612b8a57600080fd5b9250929050565b600082601f830112612ba257600080fd5b8151612bb061298b82613ad4565b91508082526020830160208301858383011115612bcc57600080fd5b612bd7838284613b64565b50505092915050565b80516111cf81613bdd565b600060a08284031215612bfd57600080fd5b612c0760a0613a8e565b90506000612c158484612b33565b8252506020612c2684848301612b33565b6020830152506040612c3a84828501612b33565b6040830152506060612c4e84828501612b33565b60608301525060808201516001600160401b03811115612c6d57600080fd5b612c7984828501612b91565b60808301525092915050565b600060808284031215612c9757600080fd5b612ca16080613a8e565b82519091506001600160401b03811115612cba57600080fd5b612cc68482850161296c565b82525060208201516001600160401b03811115612ce257600080fd5b612cee84828501612ab8565b60208301525060408201516001600160401b03811115612d0d57600080fd5b612d1984828501612b91565b6040830152506060612d2d84828501612b28565b60608301525092915050565b600060208284031215612d4b57600080fd5b6000612d578484612961565b949350505050565b60008060008060008060c08789031215612d7857600080fd5b6000612d848989612961565b9650506020612d9589828a01612b33565b9550506040612da689828a01612b33565b94505060608701516001600160401b03811115612dc257600080fd5b612dce89828a0161296c565b93505060808701516001600160401b03811115612dea57600080fd5b612df689828a01612ab8565b92505060a08701516001600160401b03811115612e1257600080fd5b612e1e89828a01612c85565b9150509295509295509295565b60008060408385031215612e3e57600080fd5b6000612e4a8585612961565b9250506020612e5b85828601612b33565b9150509250929050565b60008060008060608587031215612e7b57600080fd5b6000612e878787612956565b9450506020612e9887828801612b3e565b93505060408501356001600160401b03811115612eb457600080fd5b612ec087828801612b49565b95989497509550505050565b600080600080600060608688031215612ee457600080fd5b6000612ef08888612956565b95505060208601356001600160401b03811115612f0c57600080fd5b612f1888828901612b49565b945094505060408601356001600160401b03811115612f3657600080fd5b612f4288828901612b49565b92509250509295509295909350565b600060208284031215612f6357600080fd5b81516001600160401b03811115612f7957600080fd5b612d57848285016129eb565b600060208284031215612f9757600080fd5b6000612d578484612b28565b600080600080600060a08688031215612fbb57600080fd5b6000612fc78888612b33565b9550506020612fd888828901612b33565b94505060408601516001600160401b03811115612ff457600080fd5b6130008882890161296c565b93505060608601516001600160401b0381111561301c57600080fd5b61302888828901612ab8565b92505060808601516001600160401b0381111561304457600080fd5b61305088828901612c85565b9150509295509295909350565b600080600080600060a0868803121561307557600080fd5b60006130818888612be0565b95505060208601516001600160401b0381111561309d57600080fd5b6130a988828901612a5b565b94505060408601516001600160401b038111156130c557600080fd5b6130d18882890161296c565b93505060608601516001600160401b038111156130ed57600080fd5b6130f9888289016129eb565b92505060808601516001600160401b0381111561311557600080fd5b6130508882890161296c565b60006020828403121561313357600080fd5b6000612d578484612b33565b600061314b838361316b565b505060200190565b600061314b8383613382565b60006127fe838361372c565b61317481613b0e565b82525050565b600061318582613b01565b61318f8185613b05565b935061319a83613afb565b8060005b838110156131c85781516131b2888261313f565b97506131bd83613afb565b92505060010161319e565b509495945050505050565b60006131de82613b01565b6131e88185613b05565b93506131f383613afb565b8060005b838110156131c857815161320b888261313f565b975061321683613afb565b9250506001016131f7565b600061322c82613b01565b6132368185613b05565b935061324183613afb565b8060005b838110156131c85781516132598882613153565b975061326483613afb565b925050600101613245565b600061327a82613b01565b6132848185613b05565b93508360208202850161329685613afb565b8060005b858110156132d057848403895281516132b3858261315f565b94506132be83613afb565b60209a909a019992505060010161329a565b5091979650505050505050565b60006132e882613b01565b6132f28185613b05565b93506132fd83613afb565b8060005b838110156131c85781516133158882613153565b975061332083613afb565b925050600101613301565b600061333682613b01565b6133408185613b05565b935061334b83613afb565b8060005b838110156131c85781516133638882613153565b975061336e83613afb565b92505060010161334f565b61317481613b19565b61317481613b1e565b61317481613b21565b600061339f82613b01565b6133a98185613b05565b93506133b9818560208601613b64565b6133c281613b90565b9093019392505050565b60006133d782613b01565b6133e18185611402565b93506133f1818560208601613b64565b9290920192915050565b61317481613b4e565b61317481613b59565b600061341a602b83613b05565b7f5f5f62616c616e63657252656465656d3a20556e65787065637465642061737381526a195d081c9958d95a5d995960aa1b602082015260400192915050565b6000613467602783613b05565b7f5f5f7061727365417373657473466f7254616b654f726465723a20425054206d8152660d2e6dac2e8c6d60cb1b602082015260400192915050565b60006134b0602583613b05565b7f5f5f76616c6964617465427074466f725374616b696e67546f6b656e3a20496e8152641d985b1a5960da1b602082015260400192915050565b60006134f7602683613b05565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f8152651c8818d85b1b60d21b602082015260400192915050565b600061353f603283613b05565b7f4f6e6c792074686520496e746567726174696f6e4d616e616765722063616e2081527131b0b636103a3434b990333ab731ba34b7b760711b602082015260400192915050565b6000613593602083613b05565b7f74616b654f726465723a206c6566746f76657220696e7465726d656469617279815260200192915050565b60006135cc602583613b05565b7f5f5f76616c69646174654e6f496e7465726e616c42616c616e6365733a20496e8152641d985b1a5960da1b602082015260400192915050565b6000613613601d83613b05565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000815260200192915050565b600061364c602a83613b05565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e8152691bdd081cdd58d8d9595960b21b602082015260400192915050565b6000613698603683613b05565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f81527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b602082015260400192915050565b60006136f0602783613b05565b7f7061727365417373657473466f72416374696f6e3a205f73656c6563746f72208152661a5b9d985b1a5960ca1b602082015260400192915050565b805160009060a08401906137408582613382565b5060208301516137536020860182613382565b5060408301516137666040860182613382565b5060608301516137796060860182613382565b50608083015184820360808601526137918282613394565b95945050505050565b805160808301906137ab848261316b565b5060208201516137be6020850182613379565b5060408201516137d1604085018261316b565b506060820151610f5e6060850182613379565b80516080808452600091908401906137fc828261317a565b9150506020830151848203602086015261381682826132dd565b915050604083015184820360408601526138308282613394565b91505060608301516138456060860182613379565b509392505050565b60006127fe82846133cc565b602081016111cf828461316b565b60408101613875828561316b565b6127fe602083018461316b565b60408101613890828561316b565b6127fe6020830184613382565b608081016138ab8287613382565b6138b8602083018661316b565b6138c5604083018561316b565b81810360608301526138d781846137e4565b9695505050505050565b602081016111cf828461338b565b60a081016138fd82886133fb565b818103602083015261390f81876131d3565b90508181036040830152613923818661332b565b9050818103606083015261393781856131d3565b905081810360808301526128bb818461332b565b610120810161395a8289613404565b818103602083015261396c818861326f565b9050818103604083015261398081876131d3565b905061398f606083018661379a565b81810360e08301526139a18185613221565b90506128bb610100830184613382565b602080825281016127fe8184613394565b602080825281016111cf8161340d565b602080825281016111cf8161345a565b602080825281016111cf816134a3565b602080825281016111cf816134ea565b602080825281016111cf81613532565b602080825281016111cf81613586565b602080825281016111cf816135bf565b602080825281016111cf81613606565b602080825281016111cf8161363f565b602080825281016111cf8161368b565b602080825281016111cf816136e3565b602081016111cf8284613382565b604081016138758285613382565b6040518181016001600160401b0381118282101715613aac57600080fd5b604052919050565b60006001600160401b03821115613aca57600080fd5b5060209081020190565b60006001600160401b03821115613aea57600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b60006111cf82613b42565b151590565b90565b6001600160e01b03191690565b8061140281613b9a565b8061140281613ba4565b6001600160a01b031690565b60006111cf82613b2e565b60006111cf82613b38565b60005b83811015613b7f578181015183820152602001613b67565b83811115610f5e5750506000910152565b601f01601f191690565b60038110611df757fe5b60028110611df757fe5b613bb781613b0e565b8114611df757600080fd5b613bb781613b19565b613bb781613b1e565b613bb781613b21565b60028110611df757600080fdfea164736f6c634300060c000a", "sourceMap": "679:8854:163:-:0;;;796:312;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;1938:41:179;;;;;;;;657:58:183;;;;;;;998:52:188;;;;;;1060:47;;;;;;679:8854:163;;5:134:-1;83:13;;101:33;83:13;101:33;:::i;:::-;68:71;;;;:::o;146:672::-;;;;;312:3;300:9;291:7;287:23;283:33;280:2;;;329:1;326;319:12;280:2;364:1;381:64;437:7;417:9;381:64;:::i;:::-;371:74;;343:108;482:2;500:64;556:7;547:6;536:9;532:22;500:64;:::i;:::-;490:74;;461:109;601:2;619:64;675:7;666:6;655:9;651:22;619:64;:::i;:::-;609:74;;580:109;720:2;738:64;794:7;785:6;774:9;770:22;738:64;:::i;:::-;728:74;;699:109;274:544;;;;;;;:::o;825:91::-;;-1:-1;;;;;985:54;;887:24;968:76::o;1051:117::-;1120:24;1138:5;1120:24;:::i;:::-;1113:5;1110:35;1100:2;;1159:1;1156;1149:12;1100:2;1094:74;:::o;:::-;679:8854:163;;;;;;;;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106101375760003560e01c80638334eb99116100b8578063c32990a21161007c578063c32990a214610226578063c54efee51461022e578063e7c4569014610252578063f003eb851461025a578063f7d882b514610262578063fa7dd04d1461026a57610137565b80638334eb99146101dd578063863e5ad0146101f0578063b23228cf146101f8578063b9dfbacc14610200578063c29fa9dd1461021357610137565b806329fa046e116100ff57806329fa046e14610192578063332d709f146101a55780633ffc1591146101ba57806340da225d146101c257806368e30677146101ca57610137565b806303e38a2b1461013c578063080456c114610151578063099f75151461016f578063131461c014610182578063257cb1a31461018a575b600080fd5b61014f61014a366004612ecc565b61027d565b005b610159610718565b60405161016691906138e1565b60405180910390f35b61014f61017d366004612ecc565b61073c565b6101596107fc565b610159610820565b61014f6101a0366004612ecc565b610844565b6101ad610941565b6040516101669190613859565b610159610965565b610159610989565b61014f6101d8366004612ecc565b6109ad565b61014f6101eb366004612ecc565b610a50565b610159610bb6565b610159610bda565b61014f61020e366004612ecc565b610bfe565b61014f610221366004612ecc565b610c95565b610159610d51565b61024161023c366004612e65565b610d75565b6040516101669594939291906138ef565b6101ad610df3565b6101ad610e17565b610159610e3b565b61014f610278366004612ecc565b610e5f565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146102ce5760405162461bcd60e51b81526004016102c590613a02565b60405180910390fd5b600060608060608061031589898080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610ef892505050565b945094509450945094506000808451905060005b8181101561045057600085828151811061033f57fe5b602002602001015113156103f557600085828151811061035b57fe5b6020026020010151905060006001600160a01b031685838151811061037c57fe5b60200260200101516001600160a01b0316146103b1576103b130308785815181106103a357fe5b602002602001015184610f26565b6103ef8783815181106103c057fe5b60200260200101517f000000000000000000000000000000000000000000000000000000000000000083610f64565b50610448565b600085828151811061040357fe5b602002602001015112801561043e575060006001600160a01b031684828151811061042a57fe5b60200260200101516001600160a01b031614155b1561044857600192505b600101610329565b50606061046d3084610462578e610464565b305b8a8a8a8a611020565b905060005b8281101561070857600086828151811061048857fe5b602002602001015113156105b85760006001600160a01b03168582815181106104ad57fe5b60200260200101516001600160a01b0316141580156104d7575060018960018111156104d557fe5b145b156105955760008782815181106104ea57fe5b60200260200101516001600160a01b03166370a08231306040518263ffffffff1660e01b815260040161051d9190613859565b60206040518083038186803b15801561053557600080fd5b505afa158015610549573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061056d9190613121565b90508015610593576105938f87848151811061058557fe5b602002602001015183611108565b505b6105b28e8883815181106105a557fe5b6020026020010151611134565b50610700565b60008682815181106105c657fe5b602002602001015112156106cd5760006001600160a01b03168582815181106105eb57fe5b60200260200101516001600160a01b0316146106b2576106ad8e86838151811061061157fe5b602002602001015189848151811061062557fe5b60200260200101516001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016106589190613859565b60206040518083038186803b15801561067057600080fd5b505afa158015610684573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106a89190613121565b611108565b6106c8565b83156106c8576105b28e8883815181106105a557fe5b610700565b8181815181106106d957fe5b60200260200101516000146107005760405162461bcd60e51b81526004016102c590613a12565b600101610472565b5050505050505050505050505050565b7f8334eb99be0145865eba9889fca2ee920288090caefff4cc776038e20ad9259a81565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146107845760405162461bcd60e51b81526004016102c590613a02565b6000606080610791612905565b6107d088888080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506111d592505050565b9450945094505093506107e689858585856111f7565b6107f08984611269565b50505050505050505050565b7f29fa046e79524c3c5ac4c01df692c35e217802b2b13b21121b76cf0ef02b138c81565b7f099f75155f0e997bf83a7993a71d5e7e7540bd386fe1e84643a09ce6b412521981565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461088c5760405162461bcd60e51b81526004016102c590613a02565b60008060608061089a612905565b6108d989898080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506113c492505050565b95509550955050945094506108f130858585856111f7565b61092a8a866108ff876113fc565b6001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016106589190613859565b6109348a84611269565b5050505050505050505050565b7f000000000000000000000000000000000000000000000000000000000000000090565b7ffa7dd04da627f433da73c4355ead9c75682a67a8fc84d3f6170ef0922f402d2481565b7fb9dfbaccbe5cd2a84fdcf1d15f23ef25d23086f5afbaa99516065ed4a5bbc7a381565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146109f55760405162461bcd60e51b81526004016102c590613a02565b600080610a3786868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061140792505050565b91509150610a4787888484610f26565b50505050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610a985760405162461bcd60e51b81526004016102c590613a02565b60008060006060610aa7612905565b610ae689898080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506113c492505050565b9550509450945094509450610afd8a308786610f26565b610b0a8a85858585611427565b6000610b15856113fc565b90506000816001600160a01b03166370a08231306040518263ffffffff1660e01b8152600401610b459190613859565b60206040518083038186803b158015610b5d57600080fd5b505afa158015610b71573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b959190613121565b90508015610ba857610ba88c8883611108565b505050505050505050505050565b7f03e38a2bd7063d45c897edeafc330e71657502dd86434d3c37a489caf116af6981565b7f68e30677f607df46e87da13e15b637784cfa62374b653f35ab43d10361a2f83081565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610c465760405162461bcd60e51b81526004016102c590613a02565b610c8e85610c8986868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506116c792505050565b6116dd565b5050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610cdd5760405162461bcd60e51b81526004016102c590613a02565b6000806060610cea612905565b610d2988888080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506111d592505050565b945050935093509350610d3f8985858585611427565b6107f089610d4c866113fc565b611134565b7f0e7f692dad5b88fdee426250d6eae91207e56a2e8112b7364579bed1790e5bf481565b600060608080806001600160e01b0319881663099f751560e01b1415610dae57610d9f87876116eb565b94509450945094509450610de8565b6001600160e01b0319881663c29fa9dd60e01b1415610dd157610d9f87876117f8565b610ddd898989896118d5565b945094509450945094505b945094509450945094565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b7fc29fa9dde84204c2908778afd0613d802d31cf046179b88f6d2b4a4e507ea2d581565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610ea75760405162461bcd60e51b81526004016102c590613a02565b600080610ee986868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061140792505050565b91509150610a47878383611108565b600060608060608085806020019051810190610f14919061305d565b939a9299509097509550909350915050565b610f3082826119c4565b6001600160a01b0383163014610f5e57610f5e8382610f4e85611a26565b6001600160a01b03169190611a99565b50505050565b604051636eb1769f60e11b81526000906001600160a01b0385169063dd62ed3e90610f959030908790600401613867565b60206040518083038186803b158015610fad57600080fd5b505afa158015610fc1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fe59190613121565b905081811015610f5e57801561100a5761100a6001600160a01b038516846000611aef565b610f5e6001600160a01b03851684600019611aef565b606061102a61292f565b50604080516080810182526001600160a01b03808a168252600060208301819052898216838501526060830152915163945bcec960e01b815290917f0000000000000000000000000000000000000000000000000000000000000000169063945bcec9906110a69089908990899087908a90429060040161394b565b600060405180830381600087803b1580156110c057600080fd5b505af11580156110d4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526110fc9190810190612f51565b98975050505050505050565b61111b8261111584611a26565b83611bb2565b61112f6001600160a01b0383168483611a99565b505050565b6040516370a0823160e01b81526000906001600160a01b038316906370a0823190611163903090600401613859565b60206040518083038186803b15801561117b57600080fd5b505afa15801561118f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111b39190613121565b905080156111cf576111cf6001600160a01b0383168483611a99565b92915050565b6000806060806111e3612905565b85806020019051810190610f149190612fa3565b60005b835181101561125c5761125484828151811061121257fe5b60200260200101517f000000000000000000000000000000000000000000000000000000000000000085848151811061124757fe5b6020026020010151610f64565b6001016111fa565b50610c8e84308784611c19565b606081516001600160401b038111801561128257600080fd5b506040519080825280602002602001820160405280156112ac578160200160208202803683370190505b50905060005b82518110156113bd5760008382815181106112c957fe5b60200260200101519050806001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016112ff9190613859565b60206040518083038186803b15801561131757600080fd5b505afa15801561132b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061134f9190613121565b83838151811061135b57fe5b602002602001018181525050600083838151811061137557fe5b602002602001015111156113b4576113b48584848151811061139357fe5b6020026020010151836001600160a01b0316611a999092919063ffffffff16565b506001016112b2565b5092915050565b60008060006060806113d4612905565b868060200190518101906113e89190612d5f565b949c939b5091995097509550909350915050565b606081901c5b919050565b6000808280602001905181019061141e9190612e2b565b91509150915091565b61145a611433856113fc565b7f000000000000000000000000000000000000000000000000000000000000000085610f64565b815181515103606081156115a0578251516001600160401b038111801561148057600080fd5b506040519080825280602002602001820160405280156114aa578160200160208202803683370190505b5090508160005b811561159d576114e1856000015182815181106114ca57fe5b602002602001015187611c9990919063ffffffff16565b6115955784518051829081106114f357fe5b60200260200101516001600160a01b03166370a082318a6040518263ffffffff1660e01b81526004016115269190613859565b60206040518083038186803b15801561153e57600080fd5b505afa158015611552573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115769190613121565b83828151811061158257fe5b6020908102919091010152600019909101905b6001016114b1565b50505b6115ac86308986611cef565b8115610a475760005b82156116bd576115e5846000015182815181106115ce57fe5b602002602001015186611c9990919063ffffffff16565b6116b5578181815181106115f557fe5b60200260200101518460000151828151811061160d57fe5b60200260200101516001600160a01b03166370a082318a6040518263ffffffff1660e01b81526004016116409190613859565b60206040518083038186803b15801561165857600080fd5b505afa15801561166c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116909190613121565b146116ad5760405162461bcd60e51b81526004016102c5906139c2565b600019909201915b6001016115b5565b5050505050505050565b6000818060200190518101906111cf9190612d39565b6116e78183611d41565b5050565b6040805160018082528183019092526000916060918291829182916020808301908036833750506040805160018082528183019092529294509050602080830190803683370190505090506000611740612905565b61177f89898080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506111d592505050565b8760008151811061178c57fe5b60209081029190910101939093526060830151919950975091935091506117b290611dd9565b6117bb826113fc565b846000815181106117c857fe5b60200260200101906001600160a01b031690816001600160a01b0316815250506002965050509295509295909350565b604080516001808252818301909252600091606091829182918291602080830190803683375050604080516001808252818301909252929650905060208083019080368337019050509250600061184d612905565b61188c89898080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506111d592505050565b8960008151811061189957fe5b60209081029190910101939093526060830151919750955091935091506118bf90611dd9565b6118c8826113fc565b866000815181106117c857fe5b600060608080806001600160e01b03198816632e77eeb360e21b14156118fd57610d9f611dfa565b6001600160e01b031988166314fd023760e11b141561192057610d9f8787611e5a565b6001600160e01b03198816638334eb9960e01b141561194357610d9f8787611f6d565b6001600160e01b031988166303e38a2b60e01b141561196657610d9f878761204f565b6001600160e01b0319881663fa7dd04d60e01b141561198957610d9f878761241d565b6001600160e01b031988166368e3067760e01b14156119ac57610d9f8787612594565b60405162461bcd60e51b81526004016102c590613a62565b604051632e1a7d4d60e01b81526001600160a01b03831690632e1a7d4d906119f0908490600401613a72565b600060405180830381600087803b158015611a0a57600080fd5b505af1158015611a1e573d6000803e3d6000fd5b505050505050565b6000816001600160a01b03166382c630666040518163ffffffff1660e01b815260040160206040518083038186803b158015611a6157600080fd5b505afa158015611a75573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111cf9190612d39565b61112f8363a9059cbb60e01b8484604051602401611ab8929190613882565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526126c1565b801580611b775750604051636eb1769f60e11b81526001600160a01b0384169063dd62ed3e90611b259030908690600401613867565b60206040518083038186803b158015611b3d57600080fd5b505afa158015611b51573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b759190613121565b155b611b935760405162461bcd60e51b81526004016102c590613a52565b61112f8363095ea7b360e01b8484604051602401611ab8929190613882565b611bbd828483610f64565b604051636e553f6560e01b81526001600160a01b03841690636e553f6590611beb9084903090600401613a80565b600060405180830381600087803b158015611c0557600080fd5b505af1158015610a47573d6000803e3d6000fd5b60405163172b958560e31b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063b95cac2890611c6b90879087908790879060040161389d565b600060405180830381600087803b158015611c8557600080fd5b505af11580156116bd573d6000803e3d6000fd5b6000805b8351811015611ce557838181518110611cb257fe5b60200260200101516001600160a01b0316836001600160a01b03161415611cdd5760019150506111cf565b600101611c9d565b5060009392505050565b604051638bdb391360e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690638bdb391390611c6b90879087908790879060040161389d565b611d49612750565b15611dcf576040516327f18ae360e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906327f18ae390611d9c9085908590600401613867565b600060405180830381600087803b158015611db657600080fd5b505af1158015611dca573d6000803e3d6000fd5b505050505b6116e7828261277f565b8015611df75760405162461bcd60e51b81526004016102c590613a22565b50565b600060608080808480604051908082528060200260200182016040528015611e2c578160200160208202803683370190505b5060408051600080825260208201818152828401918252606083019093529399929850965094509092509050565b604080516001808252818301909252600091606091829182918291602080830190803683375050604080516001808252818301909252929450905060208083019080368337019050509050600080611eb0612905565b611eef8a8a8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506113c492505050565b89600081518110611efc57fe5b6020908102919091010193909352909a5098509094509092509050611f2182846127ab565b611f2e8160600151611dd9565b8185600081518110611f3c57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050600297505050509295509295909350565b604080516001808252818301909252600091606091829182918291602080830190803683375050604080516001808252818301909252929650905060208083019080368337019050509250600080611fc3612905565b6120028a8a8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506113c492505050565b8b60008151811061200f57fe5b60209081029190910101939093529098509650909450909250905061203482846127ab565b6120418160600151611dd9565b8187600081518110611f3c57fe5b6000606080606080606080606061209b8a8a8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610ef892505050565b945094509450505060008060005b85518110156121045760008582815181106120c057fe5b602002602001015113156120d9576001909201916120fc565b60008582815181106120e757fe5b602002602001015112156120fc576001909101905b6001016120a9565b50816001600160401b038111801561211b57600080fd5b50604051908082528060200260200182016040528015612145578160200160208202803683370190505b509850816001600160401b038111801561215e57600080fd5b50604051908082528060200260200182016040528015612188578160200160208202803683370190505b509750806001600160401b03811180156121a157600080fd5b506040519080825280602002602001820160405280156121cb578160200160208202803683370190505b509650806001600160401b03811180156121e457600080fd5b5060405190808252806020026020018201604052801561220e578160200160208202803683370190505b50955060005b855181101561240957600085828151811061222b57fe5b60200260200101519050600081131561231b57600087838151811061224c57fe5b60200260200101519050600086848151811061226457fe5b6020026020010151905060006001600160a01b0316816001600160a01b0316146122c55761229181611a26565b6001600160a01b0316826001600160a01b0316146122c15760405162461bcd60e51b81526004016102c5906139d2565b8091505b858060019003965050818d87815181106122db57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050828c878151811061230857fe5b6020026020010181815250505050612400565b600081121561240057600087838151811061233257fe5b60200260200101519050600086848151811061234a57fe5b6020026020010151905060006001600160a01b0316816001600160a01b0316146123ab5761237781611a26565b6001600160a01b0316826001600160a01b0316146123a75760405162461bcd60e51b81526004016102c5906139d2565b8091505b848060019003955050818b86815181106123c157fe5b60200260200101906001600160a01b031690816001600160a01b031681525050826000038a86815181106123f157fe5b60200260200101818152505050505b50600101612214565b506002995050505050509295509295909350565b600060608060608060008061246789898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061140792505050565b604080516001808252818301909252929450909250602080830190803683375050604080516001808252818301909252929850905060208083019080368337505060408051600180825281830190925292975090506020808301908036833750506040805160018082528183019092529296509050602080830190803683370190505092506124f582611a26565b8660008151811061250257fe5b60200260200101906001600160a01b031690816001600160a01b031681525050808560008151811061253057fe5b602002602001018181525050818460008151811061254a57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050808360008151811061257857fe5b6020026020010181815250506002965050509295509295909350565b60006060806060806000806125de89898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061140792505050565b60408051600180825281830190925292945090925060208083019080368337505060408051600180825281830190925292985090506020808301908036833750506040805160018082528183019092529297509050602080830190803683375050604080516001808252818301909252929650905060208083019080368337019050509250818660008151811061267157fe5b60200260200101906001600160a01b031690816001600160a01b031681525050808560008151811061269f57fe5b6020026020010181815250506126b482611a26565b8460008151811061254a57fe5b6060612716826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166127ec9092919063ffffffff16565b80519091501561112f57808060200190518101906127349190612f85565b61112f5760405162461bcd60e51b81526004016102c590613a42565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316151590565b604051634274debf60e11b81526001600160a01b038316906384e9bd7e906119f0908490600401613859565b6127b4816113fc565b6001600160a01b03166127c683611a26565b6001600160a01b0316146116e75760405162461bcd60e51b81526004016102c5906139e2565b60606127fb8484600085612805565b90505b9392505050565b6060824710156128275760405162461bcd60e51b81526004016102c5906139f2565b612830856128c6565b61284c5760405162461bcd60e51b81526004016102c590613a32565b60006060866001600160a01b03168587604051612869919061384d565b60006040518083038185875af1925050503d80600081146128a6576040519150601f19603f3d011682016040523d82523d6000602084013e6128ab565b606091505b50915091506128bb8282866128cc565b979650505050505050565b3b151590565b606083156128db5750816127fe565b8251156128eb5782518084602001fd5b8160405162461bcd60e51b81526004016102c591906139b1565b60405180608001604052806060815260200160608152602001606081526020016000151581525090565b60408051608081018252600080825260208201819052918101829052606081019190915290565b80356111cf81613bae565b80516111cf81613bae565b600082601f83011261297d57600080fd5b815161299061298b82613ab4565b613a8e565b915081818352602084019350602081019050838560208402820111156129b557600080fd5b60005b838110156129e157816129cb8882612961565b84525060209283019291909101906001016129b8565b5050505092915050565b600082601f8301126129fc57600080fd5b8151612a0a61298b82613ab4565b91508181835260208401935060208101905083856020840282011115612a2f57600080fd5b60005b838110156129e15781612a458882612b33565b8452506020928301929190910190600101612a32565b600082601f830112612a6c57600080fd5b8151612a7a61298b82613ab4565b81815260209384019390925082018360005b838110156129e15781518601612aa28882612beb565b8452506020928301929190910190600101612a8c565b600082601f830112612ac957600080fd5b8151612ad761298b82613ab4565b91508181835260208401935060208101905083856020840282011115612afc57600080fd5b60005b838110156129e15781612b128882612b33565b8452506020928301929190910190600101612aff565b80516111cf81613bc2565b80516111cf81613bcb565b80356111cf81613bd4565b60008083601f840112612b5b57600080fd5b5081356001600160401b03811115612b7257600080fd5b602083019150836001820283011115612b8a57600080fd5b9250929050565b600082601f830112612ba257600080fd5b8151612bb061298b82613ad4565b91508082526020830160208301858383011115612bcc57600080fd5b612bd7838284613b64565b50505092915050565b80516111cf81613bdd565b600060a08284031215612bfd57600080fd5b612c0760a0613a8e565b90506000612c158484612b33565b8252506020612c2684848301612b33565b6020830152506040612c3a84828501612b33565b6040830152506060612c4e84828501612b33565b60608301525060808201516001600160401b03811115612c6d57600080fd5b612c7984828501612b91565b60808301525092915050565b600060808284031215612c9757600080fd5b612ca16080613a8e565b82519091506001600160401b03811115612cba57600080fd5b612cc68482850161296c565b82525060208201516001600160401b03811115612ce257600080fd5b612cee84828501612ab8565b60208301525060408201516001600160401b03811115612d0d57600080fd5b612d1984828501612b91565b6040830152506060612d2d84828501612b28565b60608301525092915050565b600060208284031215612d4b57600080fd5b6000612d578484612961565b949350505050565b60008060008060008060c08789031215612d7857600080fd5b6000612d848989612961565b9650506020612d9589828a01612b33565b9550506040612da689828a01612b33565b94505060608701516001600160401b03811115612dc257600080fd5b612dce89828a0161296c565b93505060808701516001600160401b03811115612dea57600080fd5b612df689828a01612ab8565b92505060a08701516001600160401b03811115612e1257600080fd5b612e1e89828a01612c85565b9150509295509295509295565b60008060408385031215612e3e57600080fd5b6000612e4a8585612961565b9250506020612e5b85828601612b33565b9150509250929050565b60008060008060608587031215612e7b57600080fd5b6000612e878787612956565b9450506020612e9887828801612b3e565b93505060408501356001600160401b03811115612eb457600080fd5b612ec087828801612b49565b95989497509550505050565b600080600080600060608688031215612ee457600080fd5b6000612ef08888612956565b95505060208601356001600160401b03811115612f0c57600080fd5b612f1888828901612b49565b945094505060408601356001600160401b03811115612f3657600080fd5b612f4288828901612b49565b92509250509295509295909350565b600060208284031215612f6357600080fd5b81516001600160401b03811115612f7957600080fd5b612d57848285016129eb565b600060208284031215612f9757600080fd5b6000612d578484612b28565b600080600080600060a08688031215612fbb57600080fd5b6000612fc78888612b33565b9550506020612fd888828901612b33565b94505060408601516001600160401b03811115612ff457600080fd5b6130008882890161296c565b93505060608601516001600160401b0381111561301c57600080fd5b61302888828901612ab8565b92505060808601516001600160401b0381111561304457600080fd5b61305088828901612c85565b9150509295509295909350565b600080600080600060a0868803121561307557600080fd5b60006130818888612be0565b95505060208601516001600160401b0381111561309d57600080fd5b6130a988828901612a5b565b94505060408601516001600160401b038111156130c557600080fd5b6130d18882890161296c565b93505060608601516001600160401b038111156130ed57600080fd5b6130f9888289016129eb565b92505060808601516001600160401b0381111561311557600080fd5b6130508882890161296c565b60006020828403121561313357600080fd5b6000612d578484612b33565b600061314b838361316b565b505060200190565b600061314b8383613382565b60006127fe838361372c565b61317481613b0e565b82525050565b600061318582613b01565b61318f8185613b05565b935061319a83613afb565b8060005b838110156131c85781516131b2888261313f565b97506131bd83613afb565b92505060010161319e565b509495945050505050565b60006131de82613b01565b6131e88185613b05565b93506131f383613afb565b8060005b838110156131c857815161320b888261313f565b975061321683613afb565b9250506001016131f7565b600061322c82613b01565b6132368185613b05565b935061324183613afb565b8060005b838110156131c85781516132598882613153565b975061326483613afb565b925050600101613245565b600061327a82613b01565b6132848185613b05565b93508360208202850161329685613afb565b8060005b858110156132d057848403895281516132b3858261315f565b94506132be83613afb565b60209a909a019992505060010161329a565b5091979650505050505050565b60006132e882613b01565b6132f28185613b05565b93506132fd83613afb565b8060005b838110156131c85781516133158882613153565b975061332083613afb565b925050600101613301565b600061333682613b01565b6133408185613b05565b935061334b83613afb565b8060005b838110156131c85781516133638882613153565b975061336e83613afb565b92505060010161334f565b61317481613b19565b61317481613b1e565b61317481613b21565b600061339f82613b01565b6133a98185613b05565b93506133b9818560208601613b64565b6133c281613b90565b9093019392505050565b60006133d782613b01565b6133e18185611402565b93506133f1818560208601613b64565b9290920192915050565b61317481613b4e565b61317481613b59565b600061341a602b83613b05565b7f5f5f62616c616e63657252656465656d3a20556e65787065637465642061737381526a195d081c9958d95a5d995960aa1b602082015260400192915050565b6000613467602783613b05565b7f5f5f7061727365417373657473466f7254616b654f726465723a20425054206d8152660d2e6dac2e8c6d60cb1b602082015260400192915050565b60006134b0602583613b05565b7f5f5f76616c6964617465427074466f725374616b696e67546f6b656e3a20496e8152641d985b1a5960da1b602082015260400192915050565b60006134f7602683613b05565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f8152651c8818d85b1b60d21b602082015260400192915050565b600061353f603283613b05565b7f4f6e6c792074686520496e746567726174696f6e4d616e616765722063616e2081527131b0b636103a3434b990333ab731ba34b7b760711b602082015260400192915050565b6000613593602083613b05565b7f74616b654f726465723a206c6566746f76657220696e7465726d656469617279815260200192915050565b60006135cc602583613b05565b7f5f5f76616c69646174654e6f496e7465726e616c42616c616e6365733a20496e8152641d985b1a5960da1b602082015260400192915050565b6000613613601d83613b05565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000815260200192915050565b600061364c602a83613b05565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e8152691bdd081cdd58d8d9595960b21b602082015260400192915050565b6000613698603683613b05565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f81527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b602082015260400192915050565b60006136f0602783613b05565b7f7061727365417373657473466f72416374696f6e3a205f73656c6563746f72208152661a5b9d985b1a5960ca1b602082015260400192915050565b805160009060a08401906137408582613382565b5060208301516137536020860182613382565b5060408301516137666040860182613382565b5060608301516137796060860182613382565b50608083015184820360808601526137918282613394565b95945050505050565b805160808301906137ab848261316b565b5060208201516137be6020850182613379565b5060408201516137d1604085018261316b565b506060820151610f5e6060850182613379565b80516080808452600091908401906137fc828261317a565b9150506020830151848203602086015261381682826132dd565b915050604083015184820360408601526138308282613394565b91505060608301516138456060860182613379565b509392505050565b60006127fe82846133cc565b602081016111cf828461316b565b60408101613875828561316b565b6127fe602083018461316b565b60408101613890828561316b565b6127fe6020830184613382565b608081016138ab8287613382565b6138b8602083018661316b565b6138c5604083018561316b565b81810360608301526138d781846137e4565b9695505050505050565b602081016111cf828461338b565b60a081016138fd82886133fb565b818103602083015261390f81876131d3565b90508181036040830152613923818661332b565b9050818103606083015261393781856131d3565b905081810360808301526128bb818461332b565b610120810161395a8289613404565b818103602083015261396c818861326f565b9050818103604083015261398081876131d3565b905061398f606083018661379a565b81810360e08301526139a18185613221565b90506128bb610100830184613382565b602080825281016127fe8184613394565b602080825281016111cf8161340d565b602080825281016111cf8161345a565b602080825281016111cf816134a3565b602080825281016111cf816134ea565b602080825281016111cf81613532565b602080825281016111cf81613586565b602080825281016111cf816135bf565b602080825281016111cf81613606565b602080825281016111cf8161363f565b602080825281016111cf8161368b565b602080825281016111cf816136e3565b602081016111cf8284613382565b604081016138758285613382565b6040518181016001600160401b0381118282101715613aac57600080fd5b604052919050565b60006001600160401b03821115613aca57600080fd5b5060209081020190565b60006001600160401b03821115613aea57600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b60006111cf82613b42565b151590565b90565b6001600160e01b03191690565b8061140281613b9a565b8061140281613ba4565b6001600160a01b031690565b60006111cf82613b2e565b60006111cf82613b38565b60005b83811015613b7f578181015183820152602001613b67565b83811115610f5e5750506000910152565b601f01601f191690565b60038110611df757fe5b60028110611df757fe5b613bb781613b0e565b8114611df757600080fd5b613bb781613b19565b613bb781613b1e565b613bb781613b21565b60028110611df757600080fdfea164736f6c634300060c000a", "sourceMap": "679:8854:163:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5515:3627:201;;;;;;:::i;:::-;;:::i;:::-;;1490:119:180;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3071:683:163;;;;;;:::i;:::-;;:::i;1373:111:180:-;;;:::i;832:85::-;;;:::i;3069:892:201:-;;;;;;:::i;:::-;;:::i;2140:153:188:-;;;:::i;:::-;;;;;;;:::i;1034:87:180:-;;;:::i;1240:110::-;;;:::i;9301:318:201:-;;;;;;:::i;:::-;;:::i;9797:1081::-;;;;;;:::i;:::-;;:::i;706:104:180:-;;;:::i;1127:91::-;;;:::i;2630:236:201:-;;;;;;:::i;:::-;;:::i;3928:716:163:-;;;;;;:::i;:::-;;:::i;577:123:180:-;;;:::i;5482:775:163:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;:::i;2637:128:179:-;;;:::i;2456:146:188:-;;;:::i;923:89:180:-;;;:::i;4118:301:201:-;;;;;;:::i;:::-;;:::i;5515:3627::-;1747:10:179;-1:-1:-1;;;;;1761:19:179;1747:33;;1726:130;;;;-1:-1:-1;;;1726:130:179;;;;;;;:::i;:::-;;;;;;;;;5685:30:201::1;5729:45;5788:23:::0;5825:22:::1;5861:30:::0;5904:38:::1;5930:11;;5904:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;5904:25:201::1;::::0;-1:-1:-1;;;5904:38:201:i:1;:::-;5671:271;;;;;;;;;;6002:25;6037:18:::0;6058:6:::1;:13;6037:34;;6086:9;6081:899;6101:10;6097:1;:14;6081:899;;;6148:1;6136:6;6143:1;6136:9;;;;;;;;;;;;;;:13;6132:838;;;6169:24;6204:6;6211:1;6204:9;;;;;;;;;;;;;;6169:45;;6296:1;-1:-1:-1::0;;;;;6268:30:201::1;:13;6282:1;6268:16;;;;;;;;;;;;;;-1:-1:-1::0;;;;;6268:30:201::1;;6264:318;;6322:241;6373:4;6424;6470:13;6484:1;6470:16;;;;;;;;;;;;;;6524;6322:9;:241::i;:::-;6636:200;6692:6;6699:1;6692:9;;;;;;;;;;;;;;6740:23;6801:16;6636:25;:200::i;:::-;6132:838;;;;6873:1;6861:6;6868:1;6861:9;;;;;;;;;;;;;;:13;:47;;;;;6906:1;-1:-1:-1::0;;;;;6878:30:201::1;:13;6892:1;6878:16;;;;;;;;;;;;;;-1:-1:-1::0;;;;;6878:30:201::1;;;6861:47;6857:113;;;6951:4;6928:27;;6857:113;6113:3;;6081:899;;;;7020:27;7050:255;7103:4;7134:20;:50;;7173:11;7134:50;;;7165:4;7134:50;7205:4;7231:5;7259:6;7288;7050:21;:255::i;:::-;7020:285;;7371:9;7366:1770;7386:10;7382:1;:14;7366:1770;;;7433:1;7421:6;7428:1;7421:9;;;;;;;;;;;;;;:13;7417:1709;;;7724:1;-1:-1:-1::0;;;;;7696:30:201::1;:13;7710:1;7696:16;;;;;;;;;;;;;;-1:-1:-1::0;;;;;7696:30:201::1;;;:77;;;;-1:-1:-1::0;7738:35:201::1;7730:4;:43;;;;;;;;;7696:77;7671:513;;;7814:17;7840:6;7847:1;7840:9;;;;;;;;;;;;;;-1:-1:-1::0;;;;;7834:26:201::1;;7869:4;7834:41;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7814:61:::0;-1:-1:-1;7901:13:201;;7897:269:::1;;7942:201;7993:11;8049:13;8063:1;8049:16;;;;;;;;;;;;;;8107:9;7942:7;:201::i;:::-;7671:513;;8278:65;8311:11;8332:6;8339:1;8332:9;;;;;;;;;;;;;;8278:22;:65::i;:::-;;7417:1709;;;8380:1;8368:6;8375:1;8368:9;;;;;;;;;;;;;;:13;8364:762;;;8433:1;-1:-1:-1::0;;;;;8405:30:201::1;:13;8419:1;8405:16;;;;;;;;;;;;;;-1:-1:-1::0;;;;;8405:30:201::1;;8401:515;;8459:217;8506:11;8558:13;8572:1;8558:16;;;;;;;;;;;;;;8618:6;8625:1;8618:9;;;;;;;;;;;;;;-1:-1:-1::0;;;;;8612:26:201::1;;8647:4;8612:41;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8459:7;:217::i;:::-;8401:515;;;8705:20;8701:215;;;8832:65;8865:11;8886:6;8893:1;8886:9;;;;;;;8701:215;8364:762;;;9055:11;9067:1;9055:14;;;;;;;;;;;;;;9073:1;9055:19;9047:64;;;;-1:-1:-1::0;;;9047:64:201::1;;;;;;;:::i;:::-;7398:3;;7366:1770;;;;1866:1:179;;;;;;;;5515:3627:201::0;;;;;:::o;1490:119:180:-;1558:50;1490:119;:::o;3071:683:163:-;1747:10:179;-1:-1:-1;;;;;1761:19:179;1747:33;;1726:130;;;;-1:-1:-1;;;1726:130:179;;;;;;;:::i;:::-;3236:14:163::1;3278:28;3320:34:::0;3368:49:::1;;:::i;:::-;3430:37;3455:11;;3430:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;3430:24:163::1;::::0;-1:-1:-1;;;3430:37:163:i:1;:::-;3222:245;;;;;;;;;3478:68;3485:11;3498:6;3506:11;3519:17;3538:7;3478:6;:68::i;:::-;3698:49;3722:11;3735;3698:23;:49::i;:::-;;1866:1:179;;;;3071:683:163::0;;;;;:::o;1373:111:180:-;1437:46;1373:111;:::o;832:85::-;878:38;832:85;:::o;3069:892:201:-;1747:10:179;-1:-1:-1;;;;;1761:19:179;1747:33;;1726:130;;;;-1:-1:-1;;;1726:130:179;;;;;;;:::i;:::-;3242:20:201::1;3276:14:::0;3318:28:::1;3360:34:::0;3408:49:::1;;:::i;:::-;3470:43;3501:11;;3470:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;3470:30:201::1;::::0;-1:-1:-1;;;3470:43:201:i:1;:::-;3228:285;;;;;;;;;;;3524:70;3539:4;3546:6;3554:11;3567:17;3586:7;3524:6;:70::i;:::-;3605:148;3626:11;3651:12;3683:34;3710:6;3683:26;:34::i;:::-;-1:-1:-1::0;;;;;3677:51:201::1;;3737:4;3677:66;;;;;;;;;;;;;;;:::i;3605:148::-;3905:49;3929:11;3942;3905:23;:49::i;:::-;;1866:1:179;;;;;3069:892:201::0;;;;;:::o;2140:153:188:-;2246:40;2140:153;:::o;1034:87:180:-;1081:39;1034:87;:::o;1240:110::-;1303:46;1240:110;:::o;9301:318:201:-;1747:10:179;-1:-1:-1;;;;;1761:19:179;1747:33;;1726:130;;;;-1:-1:-1;;;1726:130:179;;;;;;;:::i;:::-;9456:20:201::1;9478:17:::0;9499:42:::1;9529:11;;9499:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;9499:29:201::1;::::0;-1:-1:-1;;;9499:42:201:i:1;:::-;9455:86;;;;9552:60;9562:11;9575;9588:12;9602:9;9552;:60::i;:::-;1866:1:179;;9301:318:201::0;;;;;:::o;9797:1081::-;1747:10:179;-1:-1:-1;;;;;1761:19:179;1747:33;;1726:130;;;;-1:-1:-1;;;1726:130:179;;;;;;;:::i;:::-;9974:20:201::1;10008:14:::0;10036:17:::1;10067:39;10134:49;;:::i;:::-;10196:43;10227:11;;10196:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;10196:30:201::1;::::0;-1:-1:-1;;;10196:43:201:i:1;:::-;9960:279;;;;;;;;;;;10250:62;10260:11;10281:4;10288:12;10302:9;10250;:62::i;:::-;10323:73;10332:11;10345:6;10353:9;10364:22;10388:7;10323:8;:73::i;:::-;10582:11;10596:34;10623:6;10596:26;:34::i;:::-;10582:48;;10640:20;10669:3;-1:-1:-1::0;;;;;10663:20:201::1;;10692:4;10663:35;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10640:58:::0;-1:-1:-1;10712:16:201;;10708:95:::1;;10744:48;10752:11;10765:12;10779;10744:7;:48::i;:::-;1866:1:179;;;;;;;9797:1081:201::0;;;;;:::o;706:104:180:-;766:43;706:104;:::o;1127:91::-;1176:41;1127:91;:::o;2630:236:201:-;1747:10:179;-1:-1:-1;;;;;1761:19:179;1747:33;;1726:130;;;;-1:-1:-1;;;1726:130:179;;;;;;;:::i;:::-;2789:70:201::1;2804:11;2817:41;2846:11;;2817:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;2817:28:201::1;::::0;-1:-1:-1;;;2817:41:201:i:1;:::-;2789:14;:70::i;:::-;2630:236:::0;;;;;:::o;3928:716:163:-;1747:10:179;-1:-1:-1;;;;;1761:19:179;1747:33;;1726:130;;;;-1:-1:-1;;;1726:130:179;;;;;;;:::i;:::-;4095:14:163::1;4123:22:::0;4159:39:::1;4226:49;;:::i;:::-;4288:37;4313:11;;4288:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;4288:24:163::1;::::0;-1:-1:-1;;;4288:37:163:i:1;:::-;4081:244;;;;;;;;;4336:78;4345:11;4358:6;4366:14;4382:22;4406:7;4336:8;:78::i;:::-;4566:71;4589:11;4602:34;4629:6;4602:26;:34::i;:::-;4566:22;:71::i;577:123:180:-:0;647:52;577:123;:::o;5482:775:163:-;5684:64;5762:29;;;;-1:-1:-1;;;;;;5970:26:163;;-1:-1:-1;;;5970:26:163;5966:204;;;6019:33;6040:11;;6019:20;:33::i;:::-;6012:40;;;;;;;;;;;;5966:204;-1:-1:-1;;;;;;6073:28:163;;-1:-1:-1;;;6073:28:163;6069:101;;;6124:35;6147:11;;6124:22;:35::i;6069:101::-;6187:63;6214:11;6227:9;6238:11;;6187:26;:63::i;:::-;6180:70;;;;;;;;;;5482:775;;;;;;;;;;:::o;2637:128:179:-;2739:19;2637:128;:::o;2456:146:188:-;2558:37;2456:146;:::o;923:89:180:-;971:40;923:89;:::o;4118:301:201:-;1747:10:179;-1:-1:-1;;;;;1761:19:179;1747:33;;1726:130;;;;-1:-1:-1;;;1726:130:179;;;;;;;:::i;:::-;4271:20:201::1;4293:17:::0;4314:42:::1;4344:11;;4314:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;4314:29:201::1;::::0;-1:-1:-1;;;4314:42:201:i:1;:::-;4270:86;;;;4367:45;4375:11;4388:12;4402:9;4367:7;:45::i;27488:674::-:0;27613:31;27658:46;27718:24;27756:23;27793:31;27896:16;27868:287;;;;;;;;;;;;:::i;:::-;27849:306;;;;-1:-1:-1;27849:306:201;;-1:-1:-1;27849:306:201;-1:-1:-1;27849:306:201;;-1:-1:-1;27488:674:201;-1:-1:-1;;27488:674:201:o;2453:362:163:-;2610:48;2632:13;2647:10;2610:21;:48::i;:::-;-1:-1:-1;;;;;2673:27:163;;2695:4;2673:27;2669:140;;2716:82;2775:10;2787;2722:38;2746:13;2722:23;:38::i;:::-;-1:-1:-1;;;;;2716:58:163;;:82;:58;:82::i;:::-;2453:362;;;;:::o;2554:434:355:-;2714:47;;-1:-1:-1;;;2714:47:355;;2694:17;;-1:-1:-1;;;;;2714:23:355;;;;;:47;;2746:4;;2753:7;;2714:47;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2694:67;;2787:13;2775:9;:25;2771:211;;;2820:13;;2816:89;;2853:37;-1:-1:-1;;;;;2853:25:355;;2879:7;2888:1;2853:25;:37::i;:::-;2918:53;-1:-1:-1;;;;;2918:25:355;;2944:7;-1:-1:-1;;2918:25:355;:53::i;862:844:183:-;1134:28;1174:44;;:::i;:::-;-1:-1:-1;1221:194:183;;;;;;;;-1:-1:-1;;;;;1221:194:183;;;;;-1:-1:-1;1221:194:183;;;;;;;;;;;;;;;;;1445:254;;-1:-1:-1;;;1445:254:183;;1221:194;;1445:23;:33;;;;:254;;1504:5;;1535:6;;1568:7;;1221:194;;1633:7;;1669:15;;1445:254;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1445:254:183;;;;;;;;;;;;:::i;:::-;1426:273;862:844;-1:-1:-1;;;;;;;;862:844:183:o;2085:301:163:-;2224:86;2244:13;2259:38;2283:13;2259:23;:38::i;:::-;2299:10;2224:19;:86::i;:::-;2321:58;-1:-1:-1;;;;;2321:33:163;;2355:11;2368:10;2321:33;:58::i;:::-;2085:301;;;:::o;3083:360:355:-;3245:38;;-1:-1:-1;;;3245:38:355;;3182:26;;-1:-1:-1;;;;;3245:23:355;;;;;:38;;3277:4;;3245:38;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3224:59;-1:-1:-1;3297:22:355;;3293:108;;3335:55;-1:-1:-1;;;;;3335:26:355;;3362:7;3371:18;3335:26;:55::i;:::-;3083:360;;;;:::o;8891:640:163:-;9015:15;9044:18;9076:28;9174:34;9278:50;;:::i;:::-;9400:16;9372:152;;;;;;;;;;;;:::i;10970:549:201:-;11213:9;11208:232;11228:12;:19;11224:1;:23;11208:232;;;11268:161;11311:12;11324:1;11311:15;;;;;;;;;;;;;;11352:23;11394:18;11413:1;11394:21;;;;;;;;;;;;;;11268:25;:161::i;:::-;11249:3;;11208:232;;;;11450:62;11467:7;11484:4;11491:10;11503:8;11450:16;:62::i;3539:585:355:-;3649:36;3737:7;:14;-1:-1:-1;;;;;3723:29:355;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3723:29:355;;3701:51;;3767:9;3762:319;3782:7;:14;3778:1;:18;3762:319;;;3817:19;3845:7;3853:1;3845:10;;;;;;;;;;;;;;3817:39;;3895:13;-1:-1:-1;;;;;3895:23:355;;3927:4;3895:38;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3870:19;3890:1;3870:22;;;;;;;;;;;;;:63;;;;;3976:1;3951:19;3971:1;3951:22;;;;;;;;;;;;;;:26;3947:124;;;3997:59;4024:7;4033:19;4053:1;4033:22;;;;;;;;;;;;;;3997:13;-1:-1:-1;;;;;3997:26:355;;;:59;;;;;:::i;:::-;-1:-1:-1;3798:3:355;;3762:319;;;;3539:585;;;;:::o;25959:829:201:-;26090:21;26125:15;26154:18;26186:28;26284:34;26388:50;;:::i;:::-;26510:16;26482:299;;;;;;;;;;;;:::i;:::-;26463:318;;;;-1:-1:-1;26463:318:201;;-1:-1:-1;26463:318:201;-1:-1:-1;26463:318:201;-1:-1:-1;26463:318:201;;-1:-1:-1;25959:829:201;-1:-1:-1;;25959:829:201:o;24915:187::-;25087:6;25066:28;;;24915:187;;;;:::o;27135:236::-;27252:21;27275:18;27327:16;27316:48;;;;;;;;;;;;:::i;:::-;27309:55;;;;27135:236;;;:::o;11590:1989::-;11830:159;11869:35;11896:7;11869:26;:35::i;:::-;11926:23;11964:15;11830:25;:159::i;:::-;12358:30;;12333:15;;:22;:55;12398:43;12455:21;;12451:524;;12535:15;;:22;-1:-1:-1;;;;;12521:37:201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12521:37:201;-1:-1:-1;12492:66:201;-1:-1:-1;12597:17:201;12572:22;12628:337;12644:18;;12628:337;;12692:52;12725:8;:15;;;12741:1;12725:18;;;;;;;;;;;;;;12692:23;:32;;:52;;;;:::i;:::-;12687:264;;12806:15;;:18;;12822:1;;12806:18;;;;;;;;;;;;-1:-1:-1;;;;;12800:35:201;;12861:11;12800:94;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12768:26;12795:1;12768:29;;;;;;;;;;;;;;;;;:126;-1:-1:-1;;12916:16:201;;;;12687:264;12664:3;;12628:337;;;;12451:524;;12985:74;13004:7;13021:4;13036:11;13050:8;12985:18;:74::i;:::-;13074:21;;13070:503;;13116:9;13111:452;13127:21;;13111:452;;13178:52;13211:8;:15;;;13227:1;13211:18;;;;;;;;;;;;;;13178:23;:32;;:52;;;;:::i;:::-;13173:376;;13367:26;13394:1;13367:29;;;;;;;;;;;;;;13293:8;:15;;;13309:1;13293:18;;;;;;;;;;;;;;-1:-1:-1;;;;;13287:35:201;;13323:11;13287:48;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:109;13254:235;;;;-1:-1:-1;;;13254:235:201;;;;;;;:::i;:::-;-1:-1:-1;;13511:19:201;;;;13173:376;13150:3;;13111:452;;;;11590:1989;;;;;;;:::o;26872:196::-;26983:21;27038:11;27027:34;;;;;;;;;;;;:::i;1288:160:163:-;1384:57;1414:13;1429:11;1384:29;:57::i;:::-;1288:160;;:::o;6378:1137::-;6800:16;;;6814:1;6800:16;;;;;;;;;6500:64;;6578:29;;;;;;;;6800:16;;;;;;;;;-1:-1:-1;;6853:16:163;;;6867:1;6853:16;;;;;;;;;6782:34;;-1:-1:-1;6867:1:163;-1:-1:-1;6853:16:163;;;;;;;;;;;-1:-1:-1;6853:16:163;6826:43;;6880:14;6904:49;;:::i;:::-;7116:42;7141:16;;7116:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7116:24:163;;-1:-1:-1;;;7116:42:163:i;:::-;6997:24;7022:1;6997:27;;;;;;;;;;;;;;;;;6963:195;;;;7198:26;;;;6963:195;;-1:-1:-1;6963:195:163;-1:-1:-1;6963:195:163;;-1:-1:-1;6963:195:163;-1:-1:-1;7169:56:163;;:28;:56::i;:::-;7257:34;7284:6;7257:26;:34::i;:::-;7236:15;7252:1;7236:18;;;;;;;;;;;;;:55;-1:-1:-1;;;;;7236:55:163;;;-1:-1:-1;;;;;7236:55:163;;;;;7323:50;7302:206;;;;6378:1137;;;;;;;;:::o;7638:1130::-;8059:16;;;8073:1;8059:16;;;;;;;;;7762:64;;7840:29;;;;;;;;8059:16;;;;;;;;;-1:-1:-1;;8106:16:163;;;8120:1;8106:16;;;;;;;;;8044:31;;-1:-1:-1;8120:1:163;-1:-1:-1;8106:16:163;;;;;;;;;;;-1:-1:-1;8106:16:163;8085:37;;8133:14;8157:49;;:::i;:::-;8372:42;8397:16;;8372:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8372:24:163;;-1:-1:-1;;;8372:42:163:i;:::-;8250:18;8269:1;8250:21;;;;;;;;;;;;;;;;;8216:198;;;;8454:26;;;;8216:198;;-1:-1:-1;8216:198:163;-1:-1:-1;8216:198:163;;-1:-1:-1;8216:198:163;-1:-1:-1;8425:56:163;;:28;:56::i;:::-;8510:34;8537:6;8510:26;:34::i;:::-;8492:12;8505:1;8492:15;;;;;;;14355:1235:201;14561:64;14639:29;;;;-1:-1:-1;;;;;;14847:35:201;;-1:-1:-1;;;14847:35:201;14843:681;;;14905:30;:28;:30::i;14843:681::-;-1:-1:-1;;;;;;14956:36:201;;-1:-1:-1;;;14956:36:201;14952:572;;;15015:41;15044:11;;15015:28;:41::i;14952:572::-;-1:-1:-1;;;;;;15077:40:201;;-1:-1:-1;;;15077:40:201;15073:451;;;15140:45;15173:11;;15140:32;:45::i;15073:451::-;-1:-1:-1;;;;;;15206:32:201;;-1:-1:-1;;;15206:32:201;15202:322;;;15261:38;15287:11;;15261:25;:38::i;15202:322::-;-1:-1:-1;;;;;;15320:27:201;;-1:-1:-1;;;15320:27:201;15316:208;;;15370:34;15392:11;;15370:21;:34::i;15316:208::-;-1:-1:-1;;;;;;15425:29:201;;-1:-1:-1;;;15425:29:201;15421:103;;;15477:36;15501:11;;15477:23;:36::i;15421:103::-;15534:49;;-1:-1:-1;;;15534:49:201;;;;;;;:::i;2181:138:187:-;2264:48;;-1:-1:-1;;;2264:48:187;;-1:-1:-1;;;;;2264:39:187;;;;;:48;;2304:7;;2264:48;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2181:138;;:::o;1665:213:163:-;1785:12;1846:13;-1:-1:-1;;;;;1820:49:163;;:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;704:175:450:-;786:86;806:5;836:23;;;861:2;865:5;813:58;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;813:58:450;;;;;;;;;;;;;;-1:-1:-1;;;;;813:58:450;-1:-1:-1;;;;;;813:58:450;;;;;;;;;;786:19;:86::i;1348:613::-;1713:10;;;1712:62;;-1:-1:-1;1729:39:450;;-1:-1:-1;;;1729:39:450;;-1:-1:-1;;;;;1729:15:450;;;;;:39;;1753:4;;1760:7;;1729:39;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:44;1712:62;1704:150;;;;-1:-1:-1;;;1704:150:450;;;;;;;:::i;:::-;1864:90;1884:5;1914:22;;;1938:7;1947:5;1891:62;;;;;;;;;:::i;1874:260:187:-;2003:52;2029:8;2039:6;2047:7;2003:25;:52::i;:::-;2065:62;;-1:-1:-1;;;2065:62:187;;-1:-1:-1;;;;;2065:38:187;;;;;:62;;2104:7;;2121:4;;2065:62;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1749:268:183;1938:72;;-1:-1:-1;;;1938:72:183;;-1:-1:-1;;;;;1938:23:183;:32;;;;:72;;1971:7;;1980;;1989:10;;2001:8;;1938:72;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2489:299:354;2595:17;2633:9;2628:132;2648:5;:12;2644:1;:16;2628:132;;;2696:5;2702:1;2696:8;;;;;;;;;;;;;;-1:-1:-1;;;;;2685:19:354;:7;-1:-1:-1;;;;;2685:19:354;;2681:69;;;2731:4;2724:11;;;;;2681:69;2662:3;;2628:132;;;-1:-1:-1;2776:5:354;;2489:299;-1:-1:-1;;;2489:299:354:o;2063:278:183:-;2262:72;;-1:-1:-1;;;2262:72:183;;-1:-1:-1;;;;;2262:23:183;:32;;;;:72;;2295:7;;2304;;2313:10;;2325:8;;2262:72;;;:::i;1259:400:188:-;1354:28;:26;:28::i;:::-;1350:205;;;1467:77;;-1:-1:-1;;;1467:77:188;;-1:-1:-1;;;;;1480:37:188;1467:60;;;;:77;;1528:6;;1536:7;;1467:77;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1350:205;1609:43;1636:6;1644:7;1609:26;:43::i;25669:167:201:-;25767:20;25766:21;25758:71;;;;-1:-1:-1;;;25758:71:201;;;;;;;:::i;:::-;25669:167;:::o;15766:602::-;15882:64;15960:29;;;;15882:64;;16245:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;16245:16:201;-1:-1:-1;16275:16:201;;;16289:1;16275:16;;;;;;16305;;;;;;16335;;;;;;;;;16164:197;;;;-1:-1:-1;16275:16:201;-1:-1:-1;16275:16:201;-1:-1:-1;16305:16:201;;-1:-1:-1;15766:602:201;-1:-1:-1;15766:602:201:o;16489:1263::-;16936:16;;;16950:1;16936:16;;;;;;;;;16636:64;;16714:29;;;;;;;;16936:16;;;;;;;;;-1:-1:-1;;16989:16:201;;;17003:1;16989:16;;;;;;;;;16918:34;;-1:-1:-1;17003:1:201;-1:-1:-1;16989:16:201;;;;;;;;;;;-1:-1:-1;16989:16:201;16962:43;;17016:14;17040:20;17070:49;;:::i;:::-;17308:48;17339:16;;17308:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;17308:30:201;;-1:-1:-1;;;17308:48:201:i;:::-;17189:24;17214:1;17189:27;;;;;;;;;;;;;;;;;17129:227;;;;;;-1:-1:-1;17129:227:201;-1:-1:-1;17129:227:201;;-1:-1:-1;17129:227:201;;-1:-1:-1;17129:227:201;-1:-1:-1;17367:51:201;17129:227;;17367:29;:51::i;:::-;17428:56;17457:7;:26;;;17428:28;:56::i;:::-;17516:12;17495:15;17511:1;17495:18;;;;;;;;;;;;;:33;-1:-1:-1;;;;;17495:33:201;;;-1:-1:-1;;;;;17495:33:201;;;;;17560:50;17539:206;;;;;16489:1263;;;;;;;;:::o;23396:1258::-;23844:16;;;23858:1;23844:16;;;;;;;;;23547:64;;23625:29;;;;;;;;23844:16;;;;;;;;;-1:-1:-1;;23891:16:201;;;23905:1;23891:16;;;;;;;;;23829:31;;-1:-1:-1;23905:1:201;-1:-1:-1;23891:16:201;;;;;;;;;;;-1:-1:-1;23891:16:201;23870:37;;23918:14;23942:20;23972:49;;:::i;:::-;24213:48;24244:16;;24213:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;24213:30:201;;-1:-1:-1;;;24213:48:201:i;:::-;24091:18;24110:1;24091:21;;;;;;;;;;;;;;;;;24031:230;;;;;;-1:-1:-1;24031:230:201;-1:-1:-1;24031:230:201;;-1:-1:-1;24031:230:201;;-1:-1:-1;24031:230:201;-1:-1:-1;24272:51:201;24031:230;;24272:29;:51::i;:::-;24333:56;24362:7;:26;;;24333:28;:56::i;:::-;24418:12;24400;24413:1;24400:15;;;;;;;19147:2843;19274:64;19352:29;19395:35;19444:32;19490:41;19598:23;19635:22;19671:30;19714:43;19740:16;;19714:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;19714:25:201;;-1:-1:-1;;;19714:43:201:i;:::-;19556:201;;;;;;;;19850:24;19884:27;19926:9;19921:213;19941:6;:13;19937:1;:17;19921:213;;;19991:1;19979:6;19986:1;19979:9;;;;;;;;;;;;;;:13;19975:149;;;20012:18;;;;;19975:149;;;20067:1;20055:6;20062:1;20055:9;;;;;;;;;;;;;;:13;20051:73;;;20088:21;;;;;20051:73;19956:3;;19921:213;;;;20173:16;-1:-1:-1;;;;;20159:31:201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;20159:31:201;;20144:46;;20235:16;-1:-1:-1;;;;;20221:31:201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;20221:31:201;;20200:52;;20295:19;-1:-1:-1;;;;;20281:34:201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;20281:34:201;;20263:52;;20366:19;-1:-1:-1;;;;;20352:34:201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;20352:34:201;;20325:61;;20402:9;20397:1370;20417:6;:13;20413:1;:17;20397:1370;;;20451:12;20466:6;20473:1;20466:9;;;;;;;;;;;;;;20451:24;;20502:1;20494:5;:9;20490:1267;;;20523:18;20544:6;20551:1;20544:9;;;;;;;;;;;;;;20523:30;;20571:20;20594:13;20608:1;20594:16;;;;;;;;;;;;;;20571:39;;20657:1;-1:-1:-1;;;;;20633:26:201;:12;-1:-1:-1;;;;;20633:26:201;;20629:293;;20730:37;20754:12;20730:23;:37::i;:::-;-1:-1:-1;;;;;20716:51:201;:10;-1:-1:-1;;;;;20716:51:201;;20683:173;;;;-1:-1:-1;;;20683:173:201;;;;;;;:::i;:::-;20891:12;20878:25;;20629:293;20940:18;;;;;;;;21009:10;20976:12;20989:16;20976:30;;;;;;;;;;;;;:43;-1:-1:-1;;;;;20976:43:201;;;-1:-1:-1;;;;;20976:43:201;;;;;21084:5;21037:18;21056:16;21037:36;;;;;;;;;;;;;:53;;;;;20490:1267;;;;;21123:1;21115:5;:9;21111:646;;;21144:21;21168:6;21175:1;21168:9;;;;;;;;;;;;;;21144:33;;21195:20;21218:13;21232:1;21218:16;;;;;;;;;;;;;;21195:39;;21281:1;-1:-1:-1;;;;;21257:26:201;:12;-1:-1:-1;;;;;21257:26:201;;21253:299;;21357:37;21381:12;21357:23;:37::i;:::-;-1:-1:-1;;;;;21340:54:201;:13;-1:-1:-1;;;;;21340:54:201;;21307:176;;;;-1:-1:-1;;;21307:176:201;;;;;;;:::i;:::-;21521:12;21505:28;;21253:299;21570:21;;;;;;;;21648:13;21609:15;21625:19;21609:36;;;;;;;;;;;;;:52;-1:-1:-1;;;;;21609:52:201;;;-1:-1:-1;;;;;21609:52:201;;;;;21736:5;21735:6;;21679:24;21704:19;21679:45;;;;;;;;;;;;;:63;;;;;21111:646;;;-1:-1:-1;20432:3:201;;20397:1370;;;;21798:50;21777:206;;;;;;;19147:2843;;;;;;;;:::o;17874:1147::-;18014:64;18092:29;18135:35;18184:32;18230:41;18297:20;18319:17;18340:69;18383:16;;18340:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;18340:29:201;;-1:-1:-1;;;18340:69:201:i;:::-;18435:16;;;18449:1;18435:16;;;;;;;;;18296:113;;-1:-1:-1;18296:113:201;;-1:-1:-1;18435:16:201;;;;;;;;;-1:-1:-1;;18482:16:201;;;18496:1;18482:16;;;;;;;;;18420:31;;-1:-1:-1;18496:1:201;-1:-1:-1;18482:16:201;;;;;;;;;-1:-1:-1;;18526:16:201;;;18540:1;18526:16;;;;;;;;;18461:37;;-1:-1:-1;18540:1:201;-1:-1:-1;18526:16:201;;;;;;;;;-1:-1:-1;;18579:16:201;;;18593:1;18579:16;;;;;;;;;18508:34;;-1:-1:-1;18593:1:201;-1:-1:-1;18579:16:201;;;;;;;;;;;-1:-1:-1;18579:16:201;18552:43;;18624:37;18648:12;18624:23;:37::i;:::-;18606:12;18619:1;18606:15;;;;;;;;;;;;;:55;-1:-1:-1;;;;;18606:55:201;;;-1:-1:-1;;;;;18606:55:201;;;;;18695:9;18671:18;18690:1;18671:21;;;;;;;;;;;;;:33;;;;;18736:12;18715:15;18731:1;18715:18;;;;;;;;;;;;;:33;-1:-1:-1;;;;;18715:33:201;;;-1:-1:-1;;;;;18715:33:201;;;;;18788:9;18758:24;18783:1;18758:27;;;;;;;;;;;;;:39;;;;;18829:50;18808:206;;;;17874:1147;;;;;;;;:::o;22114:1149::-;22256:64;22334:29;22377:35;22426:32;22472:41;22539:20;22561:17;22582:69;22625:16;;22582:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;22582:29:201;;-1:-1:-1;;;22582:69:201:i;:::-;22677:16;;;22691:1;22677:16;;;;;;;;;22538:113;;-1:-1:-1;22538:113:201;;-1:-1:-1;22677:16:201;;;;;;;;;-1:-1:-1;;22724:16:201;;;22738:1;22724:16;;;;;;;;;22662:31;;-1:-1:-1;22738:1:201;-1:-1:-1;22724:16:201;;;;;;;;;-1:-1:-1;;22768:16:201;;;22782:1;22768:16;;;;;;;;;22703:37;;-1:-1:-1;22782:1:201;-1:-1:-1;22768:16:201;;;;;;;;;-1:-1:-1;;22821:16:201;;;22835:1;22821:16;;;;;;;;;22750:34;;-1:-1:-1;22835:1:201;-1:-1:-1;22821:16:201;;;;;;;;;;;-1:-1:-1;22821:16:201;22794:43;;22866:12;22848;22861:1;22848:15;;;;;;;;;;;;;:30;-1:-1:-1;;;;;22848:30:201;;;-1:-1:-1;;;;;22848:30:201;;;;;22912:9;22888:18;22907:1;22888:21;;;;;;;;;;;;;:33;;;;;22953:37;22977:12;22953:23;:37::i;:::-;22932:15;22948:1;22932:18;;;;;;;2967:751:450;3386:23;3412:69;3440:4;3412:69;;;;;;;;;;;;;;;;;3420:5;-1:-1:-1;;;;;3412:27:450;;;:69;;;;;:::i;:::-;3495:17;;3386:95;;-1:-1:-1;3495:21:450;3491:221;;3635:10;3624:30;;;;;;;;;;;;:::i;:::-;3616:85;;;;-1:-1:-1;;;3616:85:450;;;;;;;:::i;1746:150:188:-;1838:37;-1:-1:-1;;;;;1838:51:188;;;1746:150;:::o;752:148:187:-;840:53;;-1:-1:-1;;;840:53:187;;-1:-1:-1;;;;;840:44:187;;;;;:53;;885:7;;840:53;;;:::i;25320:271:201:-;25486:35;25513:7;25486:26;:35::i;:::-;-1:-1:-1;;;;;25444:77:201;:38;25468:13;25444:23;:38::i;:::-;-1:-1:-1;;;;;25444:77:201;;25423:161;;;;-1:-1:-1;;;25423:161:201;;;;;;;:::i;3581:193:451:-;3684:12;3715:52;3737:6;3745:4;3751:1;3754:12;3715:21;:52::i;:::-;3708:59;;3581:193;;;;;;:::o;4608:523::-;4735:12;4792:5;4767:21;:30;;4759:81;;;;-1:-1:-1;;;4759:81:451;;;;;;;:::i;:::-;4858:18;4869:6;4858:10;:18::i;:::-;4850:60;;;;-1:-1:-1;;;4850:60:451;;;;;;;:::i;:::-;4981:12;4995:23;5022:6;-1:-1:-1;;;;;5022:11:451;5042:5;5050:4;5022:33;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4980:75;;;;5072:52;5090:7;5099:10;5111:12;5072:17;:52::i;:::-;5065:59;4608:523;-1:-1:-1;;;;;;;4608:523:451:o;726:413::-;1086:20;1124:8;;;726:413::o;7091:725::-;7206:12;7234:7;7230:580;;;-1:-1:-1;7264:10:451;7257:17;;7230:580;7375:17;;:21;7371:429;;7633:10;7627:17;7693:15;7680:10;7676:2;7672:19;7665:44;7582:145;7772:12;7765:20;;-1:-1:-1;;;7765:20:451;;;;;;;;:::i;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5:130::-;72:20;;97:33;72:20;97:33;:::i;142:134::-;220:13;;238:33;220:13;238:33;:::i;458:722::-;;586:3;579:4;571:6;567:17;563:27;553:2;;604:1;601;594:12;553:2;634:6;628:13;656:80;671:64;728:6;671:64;:::i;:::-;656:80;:::i;:::-;647:89;;753:5;778:6;771:5;764:21;808:4;800:6;796:17;786:27;;830:4;825:3;821:14;814:21;;883:6;930:3;922:4;914:6;910:17;905:3;901:27;898:36;895:2;;;947:1;944;937:12;895:2;972:1;957:217;982:6;979:1;976:13;957:217;;;1040:3;1062:48;1106:3;1094:10;1062:48;:::i;:::-;1050:61;;-1:-1;1134:4;1125:14;;;;1153;;;;;1004:1;997:9;957:217;;;961:14;546:634;;;;;;;:::o;1205:719::-;;1332:3;1325:4;1317:6;1313:17;1309:27;1299:2;;1350:1;1347;1340:12;1299:2;1380:6;1374:13;1402:79;1417:63;1473:6;1417:63;:::i;1402:79::-;1393:88;;1498:5;1523:6;1516:5;1509:21;1553:4;1545:6;1541:17;1531:27;;1575:4;1570:3;1566:14;1559:21;;1628:6;1675:3;1667:4;1659:6;1655:17;1650:3;1646:27;1643:36;1640:2;;;1692:1;1689;1682:12;1640:2;1717:1;1702:216;1727:6;1724:1;1721:13;1702:216;;;1785:3;1807:47;1850:3;1838:10;1807:47;:::i;:::-;1795:60;;-1:-1;1878:4;1869:14;;;;1897;;;;;1749:1;1742:9;1702:216;;1980:782;;2140:3;2133:4;2125:6;2121:17;2117:27;2107:2;;2158:1;2155;2148:12;2107:2;2188:6;2182:13;2210:112;2225:96;2314:6;2225:96;:::i;2210:112::-;2350:21;;;2394:4;2382:17;;;;2201:121;;-1:-1;2407:14;;2382:17;2502:1;2487:269;2512:6;2509:1;2506:13;2487:269;;;2588:3;2582:10;2574:6;2570:23;2612:80;2688:3;2676:10;2612:80;:::i;:::-;2600:93;;-1:-1;2716:4;2707:14;;;;2735;;;;;2534:1;2527:9;2487:269;;2788:722;;2916:3;2909:4;2901:6;2897:17;2893:27;2883:2;;2934:1;2931;2924:12;2883:2;2964:6;2958:13;2986:80;3001:64;3058:6;3001:64;:::i;2986:80::-;2977:89;;3083:5;3108:6;3101:5;3094:21;3138:4;3130:6;3126:17;3116:27;;3160:4;3155:3;3151:14;3144:21;;3213:6;3260:3;3252:4;3244:6;3240:17;3235:3;3231:27;3228:36;3225:2;;;3277:1;3274;3267:12;3225:2;3302:1;3287:217;3312:6;3309:1;3306:13;3287:217;;;3370:3;3392:48;3436:3;3424:10;3392:48;:::i;:::-;3380:61;;-1:-1;3464:4;3455:14;;;;3483;;;;;3334:1;3327:9;3287:217;;3518:128;3593:13;;3611:30;3593:13;3611:30;:::i;3653:134::-;3731:13;;3749:33;3731:13;3749:33;:::i;3794:128::-;3860:20;;3885:32;3860:20;3885:32;:::i;3943:336::-;;;4057:3;4050:4;4042:6;4038:17;4034:27;4024:2;;4075:1;4072;4065:12;4024:2;-1:-1;4095:20;;-1:-1;;;;;4124:30;;4121:2;;;4167:1;4164;4157:12;4121:2;4201:4;4193:6;4189:17;4177:29;;4252:3;4244:4;4236:6;4232:17;4222:8;4218:32;4215:41;4212:2;;;4269:1;4266;4259:12;4212:2;4017:262;;;;;:::o;4288:442::-;;4400:3;4393:4;4385:6;4381:17;4377:27;4367:2;;4418:1;4415;4408:12;4367:2;4448:6;4442:13;4470:64;4485:48;4526:6;4485:48;:::i;4470:64::-;4461:73;;4554:6;4547:5;4540:21;4590:4;4582:6;4578:17;4623:4;4616:5;4612:16;4658:3;4649:6;4644:3;4640:16;4637:25;4634:2;;;4675:1;4672;4665:12;4634:2;4685:39;4717:6;4712:3;4707;4685:39;:::i;:::-;4360:370;;;;;;;:::o;4738:162::-;4830:13;;4848:47;4830:13;4848:47;:::i;5090:1086::-;;5222:4;5210:9;5205:3;5201:19;5197:30;5194:2;;;5240:1;5237;5230:12;5194:2;5258:20;5273:4;5258:20;:::i;:::-;5249:29;-1:-1;5330:1;5362:60;5418:3;5398:9;5362:60;:::i;:::-;5337:86;;-1:-1;5492:2;5525:60;5581:3;5557:22;;;5525:60;:::i;:::-;5518:4;5511:5;5507:16;5500:86;5444:153;5656:2;5689:60;5745:3;5736:6;5725:9;5721:22;5689:60;:::i;:::-;5682:4;5675:5;5671:16;5664:86;5607:154;5813:2;5846:60;5902:3;5893:6;5882:9;5878:22;5846:60;:::i;:::-;5839:4;5832:5;5828:16;5821:86;5771:147;5993:3;5982:9;5978:19;5972:26;-1:-1;;;;;6010:6;6007:30;6004:2;;;6050:1;6047;6040:12;6004:2;6085:69;6150:3;6141:6;6130:9;6126:22;6085:69;:::i;:::-;6078:4;6071:5;6067:16;6060:95;5928:238;5188:988;;;;:::o;6231:1136::-;;6367:4;6355:9;6350:3;6346:19;6342:30;6339:2;;;6385:1;6382;6375:12;6339:2;6403:20;6418:4;6403:20;:::i;:::-;6475:24;;6394:29;;-1:-1;;;;;;6508:30;;6505:2;;;6551:1;6548;6541:12;6505:2;6586:85;6667:3;6658:6;6647:9;6643:22;6586:85;:::i;:::-;6561:111;;-1:-1;6756:2;6741:18;;6735:25;-1:-1;;;;;6769:30;;6766:2;;;6812:1;6809;6802:12;6766:2;6847:85;6928:3;6919:6;6908:9;6904:22;6847:85;:::i;:::-;6840:4;6833:5;6829:16;6822:111;6693:251;7019:2;7008:9;7004:18;6998:25;-1:-1;;;;;7035:6;7032:30;7029:2;;;7075:1;7072;7065:12;7029:2;7110:69;7175:3;7166:6;7155:9;7151:22;7110:69;:::i;:::-;7103:4;7096:5;7092:16;7085:95;6954:237;7255:2;7288:57;7341:3;7332:6;7321:9;7317:22;7288:57;:::i;:::-;7281:4;7274:5;7270:16;7263:83;7201:156;6333:1034;;;;:::o;7515:263::-;;7630:2;7618:9;7609:7;7605:23;7601:32;7598:2;;;7646:1;7643;7636:12;7598:2;7681:1;7698:64;7754:7;7734:9;7698:64;:::i;:::-;7688:74;7592:186;-1:-1;;;;7592:186::o;8071:1371::-;;;;;;;8365:3;8353:9;8344:7;8340:23;8336:33;8333:2;;;8382:1;8379;8372:12;8333:2;8417:1;8434:72;8498:7;8478:9;8434:72;:::i;:::-;8424:82;;8396:116;8543:2;8561:64;8617:7;8608:6;8597:9;8593:22;8561:64;:::i;:::-;8551:74;;8522:109;8662:2;8680:64;8736:7;8727:6;8716:9;8712:22;8680:64;:::i;:::-;8670:74;;8641:109;8802:2;8791:9;8787:18;8781:25;-1:-1;;;;;8818:6;8815:30;8812:2;;;8858:1;8855;8848:12;8812:2;8878:89;8959:7;8950:6;8939:9;8935:22;8878:89;:::i;:::-;8868:99;;8760:213;9025:3;9014:9;9010:19;9004:26;-1:-1;;;;;9042:6;9039:30;9036:2;;;9082:1;9079;9072:12;9036:2;9102:89;9183:7;9174:6;9163:9;9159:22;9102:89;:::i;:::-;9092:99;;8983:214;9249:3;9238:9;9234:19;9228:26;-1:-1;;;;;9266:6;9263:30;9260:2;;;9306:1;9303;9296:12;9260:2;9326:100;9418:7;9409:6;9398:9;9394:22;9326:100;:::i;:::-;9316:110;;9207:225;8327:1115;;;;;;;;:::o;9449:415::-;;;9589:2;9577:9;9568:7;9564:23;9560:32;9557:2;;;9605:1;9602;9595:12;9557:2;9640:1;9657:72;9721:7;9701:9;9657:72;:::i;:::-;9647:82;;9619:116;9766:2;9784:64;9840:7;9831:6;9820:9;9816:22;9784:64;:::i;:::-;9774:74;;9745:109;9551:313;;;;;:::o;9871:613::-;;;;;10027:2;10015:9;10006:7;10002:23;9998:32;9995:2;;;10043:1;10040;10033:12;9995:2;10078:1;10095:53;10140:7;10120:9;10095:53;:::i;:::-;10085:63;;10057:97;10185:2;10203:52;10247:7;10238:6;10227:9;10223:22;10203:52;:::i;:::-;10193:62;;10164:97;10320:2;10309:9;10305:18;10292:32;-1:-1;;;;;10336:6;10333:30;10330:2;;;10376:1;10373;10366:12;10330:2;10404:64;10460:7;10451:6;10440:9;10436:22;10404:64;:::i;:::-;9989:495;;;;-1:-1;10386:82;-1:-1;;;;9989:495::o;10491:739::-;;;;;;10667:2;10655:9;10646:7;10642:23;10638:32;10635:2;;;10683:1;10680;10673:12;10635:2;10718:1;10735:53;10780:7;10760:9;10735:53;:::i;:::-;10725:63;;10697:97;10853:2;10842:9;10838:18;10825:32;-1:-1;;;;;10869:6;10866:30;10863:2;;;10909:1;10906;10899:12;10863:2;10937:64;10993:7;10984:6;10973:9;10969:22;10937:64;:::i;:::-;10919:82;;;;10804:203;11066:2;11055:9;11051:18;11038:32;-1:-1;;;;;11082:6;11079:30;11076:2;;;11122:1;11119;11112:12;11076:2;11150:64;11206:7;11197:6;11186:9;11182:22;11150:64;:::i;:::-;11132:82;;;;11017:203;10629:601;;;;;;;;:::o;11237:390::-;;11376:2;11364:9;11355:7;11351:23;11347:32;11344:2;;;11392:1;11389;11382:12;11344:2;11427:24;;-1:-1;;;;;11460:30;;11457:2;;;11503:1;11500;11493:12;11457:2;11523:88;11603:7;11594:6;11583:9;11579:22;11523:88;:::i;11634:257::-;;11746:2;11734:9;11725:7;11721:23;11717:32;11714:2;;;11762:1;11759;11752:12;11714:2;11797:1;11814:61;11867:7;11847:9;11814:61;:::i;11898:1218::-;;;;;;12167:3;12155:9;12146:7;12142:23;12138:33;12135:2;;;12184:1;12181;12174:12;12135:2;12219:1;12236:64;12292:7;12272:9;12236:64;:::i;:::-;12226:74;;12198:108;12337:2;12355:64;12411:7;12402:6;12391:9;12387:22;12355:64;:::i;:::-;12345:74;;12316:109;12477:2;12466:9;12462:18;12456:25;-1:-1;;;;;12493:6;12490:30;12487:2;;;12533:1;12530;12523:12;12487:2;12553:89;12634:7;12625:6;12614:9;12610:22;12553:89;:::i;:::-;12543:99;;12435:213;12700:2;12689:9;12685:18;12679:25;-1:-1;;;;;12716:6;12713:30;12710:2;;;12756:1;12753;12746:12;12710:2;12776:89;12857:7;12848:6;12837:9;12833:22;12776:89;:::i;:::-;12766:99;;12658:213;12923:3;12912:9;12908:19;12902:26;-1:-1;;;;;12940:6;12937:30;12934:2;;;12980:1;12977;12970:12;12934:2;13000:100;13092:7;13083:6;13072:9;13068:22;13000:100;:::i;:::-;12990:110;;12881:225;12129:987;;;;;;;;:::o;13123:1415::-;;;;;;13451:3;13439:9;13430:7;13426:23;13422:33;13419:2;;;13468:1;13465;13458:12;13419:2;13503:1;13520:78;13590:7;13570:9;13520:78;:::i;:::-;13510:88;;13482:122;13656:2;13645:9;13641:18;13635:25;-1:-1;;;;;13672:6;13669:30;13666:2;;;13712:1;13709;13702:12;13666:2;13732:121;13845:7;13836:6;13825:9;13821:22;13732:121;:::i;:::-;13722:131;;13614:245;13911:2;13900:9;13896:18;13890:25;-1:-1;;;;;13927:6;13924:30;13921:2;;;13967:1;13964;13957:12;13921:2;13987:89;14068:7;14059:6;14048:9;14044:22;13987:89;:::i;:::-;13977:99;;13869:213;14134:2;14123:9;14119:18;14113:25;-1:-1;;;;;14150:6;14147:30;14144:2;;;14190:1;14187;14180:12;14144:2;14210:88;14290:7;14281:6;14270:9;14266:22;14210:88;:::i;:::-;14200:98;;14092:212;14356:3;14345:9;14341:19;14335:26;-1:-1;;;;;14373:6;14370:30;14367:2;;;14413:1;14410;14403:12;14367:2;14433:89;14514:7;14505:6;14494:9;14490:22;14433:89;:::i;14545:263::-;;14660:2;14648:9;14639:7;14635:23;14631:32;14628:2;;;14676:1;14673;14666:12;14628:2;14711:1;14728:64;14784:7;14764:9;14728:64;:::i;14816:173::-;;14903:46;14945:3;14937:6;14903:46;:::i;:::-;-1:-1;;14978:4;14969:14;;14896:93::o;14998:169::-;;15083:44;15123:3;15115:6;15083:44;:::i;15176:281::-;;15341:110;15447:3;15439:6;15341:110;:::i;15647:127::-;15736:32;15762:5;15736:32;:::i;:::-;15731:3;15724:45;15718:56;;:::o;16186:670::-;;16321:54;16369:5;16321:54;:::i;:::-;16388:76;16457:6;16452:3;16388:76;:::i;:::-;16381:83;;16485:56;16535:5;16485:56;:::i;:::-;16561:7;16589:1;16574:260;16599:6;16596:1;16593:13;16574:260;;;16666:6;16660:13;16687:63;16746:3;16731:13;16687:63;:::i;:::-;16680:70;;16767:60;16820:6;16767:60;:::i;:::-;16757:70;-1:-1;;16621:1;16614:9;16574:260;;;-1:-1;16847:3;;16300:556;-1:-1;;;;;16300:556::o;16895:690::-;;17040:54;17088:5;17040:54;:::i;:::-;17107:86;17186:6;17181:3;17107:86;:::i;:::-;17100:93;;17214:56;17264:5;17214:56;:::i;:::-;17290:7;17318:1;17303:260;17328:6;17325:1;17322:13;17303:260;;;17395:6;17389:13;17416:63;17475:3;17460:13;17416:63;:::i;:::-;17409:70;;17496:60;17549:6;17496:60;:::i;:::-;17486:70;-1:-1;;17350:1;17343:9;17303:260;;17622:682;;17765:53;17812:5;17765:53;:::i;:::-;17831:85;17909:6;17904:3;17831:85;:::i;:::-;17824:92;;17937:55;17986:5;17937:55;:::i;:::-;18012:7;18040:1;18025:257;18050:6;18047:1;18044:13;18025:257;;;18117:6;18111:13;18138:61;18195:3;18180:13;18138:61;:::i;:::-;18131:68;;18216:59;18268:6;18216:59;:::i;:::-;18206:69;-1:-1;;18072:1;18065:9;18025:257;;18403:1104;;18612:86;18692:5;18612:86;:::i;:::-;18711:118;18822:6;18817:3;18711:118;:::i;:::-;18704:125;;18852:3;18894:4;18886:6;18882:17;18877:3;18873:27;18921:88;19003:5;18921:88;:::i;:::-;19029:7;19057:1;19042:426;19067:6;19064:1;19061:13;19042:426;;;19129:9;19123:4;19119:20;19114:3;19107:33;19174:6;19168:13;19196:128;19319:4;19304:13;19196:128;:::i;:::-;19188:136;;19341:92;19426:6;19341:92;:::i;:::-;19456:4;19447:14;;;;;19331:102;-1:-1;;19089:1;19082:9;19042:426;;;-1:-1;19481:4;;18591:916;-1:-1;;;;;;;18591:916::o;19546:670::-;;19681:54;19729:5;19681:54;:::i;:::-;19748:76;19817:6;19812:3;19748:76;:::i;:::-;19741:83;;19845:56;19895:5;19845:56;:::i;:::-;19921:7;19949:1;19934:260;19959:6;19956:1;19953:13;19934:260;;;20026:6;20020:13;20047:63;20106:3;20091:13;20047:63;:::i;:::-;20040:70;;20127:60;20180:6;20127:60;:::i;:::-;20117:70;-1:-1;;19981:1;19974:9;19934:260;;20255:690;;20400:54;20448:5;20400:54;:::i;:::-;20467:86;20546:6;20541:3;20467:86;:::i;:::-;20460:93;;20574:56;20624:5;20574:56;:::i;:::-;20650:7;20678:1;20663:260;20688:6;20685:1;20682:13;20663:260;;;20755:6;20749:13;20776:63;20835:3;20820:13;20776:63;:::i;:::-;20769:70;;20856:60;20909:6;20856:60;:::i;:::-;20846:70;-1:-1;;20710:1;20703:9;20663:260;;20953:94;21020:21;21035:5;21020:21;:::i;21054:103::-;21127:24;21145:5;21127:24;:::i;21284:110::-;21365:23;21382:5;21365:23;:::i;21401:323::-;;21501:38;21533:5;21501:38;:::i;:::-;21551:60;21604:6;21599:3;21551:60;:::i;:::-;21544:67;;21616:52;21661:6;21656:3;21649:4;21642:5;21638:16;21616:52;:::i;:::-;21689:29;21711:6;21689:29;:::i;:::-;21680:39;;;;21481:243;-1:-1;;;21481:243::o;21731:356::-;;21859:38;21891:5;21859:38;:::i;:::-;21909:88;21990:6;21985:3;21909:88;:::i;:::-;21902:95;;22002:52;22047:6;22042:3;22035:4;22028:5;22024:16;22002:52;:::i;:::-;22066:16;;;;;21839:248;-1:-1;;21839:248::o;22094:176::-;22202:62;22258:5;22202:62;:::i;22277:150::-;22372:49;22415:5;22372:49;:::i;22896:380::-;;23056:67;23120:2;23115:3;23056:67;:::i;:::-;23156:34;23136:55;;-1:-1;;;23220:2;23211:12;;23204:35;23267:2;23258:12;;23042:234;-1:-1;;23042:234::o;23285:376::-;;23445:67;23509:2;23504:3;23445:67;:::i;:::-;23545:34;23525:55;;-1:-1;;;23609:2;23600:12;;23593:31;23652:2;23643:12;;23431:230;-1:-1;;23431:230::o;23670:374::-;;23830:67;23894:2;23889:3;23830:67;:::i;:::-;23930:34;23910:55;;-1:-1;;;23994:2;23985:12;;23978:29;24035:2;24026:12;;23816:228;-1:-1;;23816:228::o;24053:375::-;;24213:67;24277:2;24272:3;24213:67;:::i;:::-;24313:34;24293:55;;-1:-1;;;24377:2;24368:12;;24361:30;24419:2;24410:12;;24199:229;-1:-1;;24199:229::o;24437:387::-;;24597:67;24661:2;24656:3;24597:67;:::i;:::-;24697:34;24677:55;;-1:-1;;;24761:2;24752:12;;24745:42;24815:2;24806:12;;24583:241;-1:-1;;24583:241::o;24833:332::-;;24993:67;25057:2;25052:3;24993:67;:::i;:::-;25093:34;25073:55;;25156:2;25147:12;;24979:186;-1:-1;;24979:186::o;25174:374::-;;25334:67;25398:2;25393:3;25334:67;:::i;:::-;25434:34;25414:55;;-1:-1;;;25498:2;25489:12;;25482:29;25539:2;25530:12;;25320:228;-1:-1;;25320:228::o;25557:329::-;;25717:67;25781:2;25776:3;25717:67;:::i;:::-;25817:31;25797:52;;25877:2;25868:12;;25703:183;-1:-1;;25703:183::o;25895:379::-;;26055:67;26119:2;26114:3;26055:67;:::i;:::-;26155:34;26135:55;;-1:-1;;;26219:2;26210:12;;26203:34;26265:2;26256:12;;26041:233;-1:-1;;26041:233::o;26283:391::-;;26443:67;26507:2;26502:3;26443:67;:::i;:::-;26543:34;26523:55;;-1:-1;;;26607:2;26598:12;;26591:46;26665:2;26656:12;;26429:245;-1:-1;;26429:245::o;26683:376::-;;26843:67;26907:2;26902:3;26843:67;:::i;:::-;26943:34;26923:55;;-1:-1;;;27007:2;26998:12;;26991:31;27050:2;27041:12;;26829:230;-1:-1;;26829:230::o;27152:1060::-;27375:23;;27152:1060;;27307:4;27298:14;;;27404:63;27302:3;27375:23;27404:63;:::i;:::-;27327:146;27554:4;27547:5;27543:16;27537:23;27566:63;27623:4;27618:3;27614:14;27600:12;27566:63;:::i;:::-;27483:152;27717:4;27710:5;27706:16;27700:23;27729:63;27786:4;27781:3;27777:14;27763:12;27729:63;:::i;:::-;27645:153;27873:4;27866:5;27862:16;27856:23;27885:63;27942:4;27937:3;27933:14;27919:12;27885:63;:::i;:::-;27808:146;28031:4;28024:5;28020:16;28014:23;28083:3;28077:4;28073:14;28066:4;28061:3;28057:14;28050:38;28103:71;28169:4;28155:12;28103:71;:::i;:::-;28095:79;27280:932;-1:-1;;;;;27280:932::o;28306:839::-;28533:23;;28465:4;28456:14;;;28562:63;28460:3;28533:23;28562:63;:::i;:::-;28485:146;28719:4;28712:5;28708:16;28702:23;28731:57;28782:4;28777:3;28773:14;28759:12;28731:57;:::i;:::-;28641:153;28872:4;28865:5;28861:16;28855:23;28884:79;28957:4;28952:3;28948:14;28934:12;28884:79;:::i;:::-;28804:165;29055:4;29048:5;29044:16;29038:23;29067:57;29118:4;29113:3;29109:14;29095:12;29067:57;:::i;29245:1127::-;29486:23;;29418:4;29522:38;;;29245:1127;;29409:14;;;;29575:103;29409:14;29486:23;29575:103;:::i;:::-;29567:111;;29438:252;29765:4;29758:5;29754:16;29748:23;29817:3;29811:4;29807:14;29800:4;29795:3;29791:14;29784:38;29837:103;29935:4;29921:12;29837:103;:::i;:::-;29829:111;;29700:252;30029:4;30022:5;30018:16;30012:23;30081:3;30075:4;30071:14;30064:4;30059:3;30055:14;30048:38;30101:71;30167:4;30153:12;30101:71;:::i;:::-;30093:79;;29962:222;30271:4;30264:5;30260:16;30254:23;30283:57;30334:4;30329:3;30325:14;30311:12;30283:57;:::i;:::-;-1:-1;30363:4;29391:981;-1:-1;;;29391:981::o;30609:271::-;;30762:93;30851:3;30842:6;30762:93;:::i;30887:222::-;31014:2;30999:18;;31028:71;31003:9;31072:6;31028:71;:::i;31116:333::-;31271:2;31256:18;;31285:71;31260:9;31329:6;31285:71;:::i;:::-;31367:72;31435:2;31424:9;31420:18;31411:6;31367:72;:::i;31456:333::-;31611:2;31596:18;;31625:71;31600:9;31669:6;31625:71;:::i;:::-;31707:72;31775:2;31764:9;31760:18;31751:6;31707:72;:::i;31796:780::-;32095:3;32080:19;;32110:71;32084:9;32154:6;32110:71;:::i;:::-;32192:72;32260:2;32249:9;32245:18;32236:6;32192:72;:::i;:::-;32275:88;32359:2;32348:9;32344:18;32335:6;32275:88;:::i;:::-;32411:9;32405:4;32401:20;32396:2;32385:9;32381:18;32374:48;32436:130;32561:4;32552:6;32436:130;:::i;:::-;32428:138;32066:510;-1:-1;;;;;;32066:510::o;33338:218::-;33463:2;33448:18;;33477:69;33452:9;33519:6;33477:69;:::i;33563:1310::-;34027:3;34012:19;;34042:96;34016:9;34111:6;34042:96;:::i;:::-;34186:9;34180:4;34176:20;34171:2;34160:9;34156:18;34149:48;34211:108;34314:4;34305:6;34211:108;:::i;:::-;34203:116;;34367:9;34361:4;34357:20;34352:2;34341:9;34337:18;34330:48;34392:108;34495:4;34486:6;34392:108;:::i;:::-;34384:116;;34548:9;34542:4;34538:20;34533:2;34522:9;34518:18;34511:48;34573:108;34676:4;34667:6;34573:108;:::i;:::-;34565:116;;34730:9;34724:4;34720:20;34714:3;34703:9;34699:19;34692:49;34755:108;34858:4;34849:6;34755:108;:::i;34880:1504::-;35437:3;35422:19;;35452:83;35426:9;35508:6;35452:83;:::i;:::-;35583:9;35577:4;35573:20;35568:2;35557:9;35553:18;35546:48;35608:172;35775:4;35766:6;35608:172;:::i;:::-;35600:180;;35828:9;35822:4;35818:20;35813:2;35802:9;35798:18;35791:48;35853:108;35956:4;35947:6;35853:108;:::i;:::-;35845:116;;35972:138;36106:2;36095:9;36091:18;36082:6;35972:138;:::i;:::-;36159:9;36153:4;36149:20;36143:3;36132:9;36128:19;36121:49;36184:106;36285:4;36276:6;36184:106;:::i;:::-;36176:114;;36301:73;36369:3;36358:9;36354:19;36345:6;36301:73;:::i;36391:310::-;36538:2;36552:47;;;36523:18;;36613:78;36523:18;36677:6;36613:78;:::i;36708:416::-;36908:2;36922:47;;;36893:18;;36983:131;36893:18;36983:131;:::i;37131:416::-;37331:2;37345:47;;;37316:18;;37406:131;37316:18;37406:131;:::i;37554:416::-;37754:2;37768:47;;;37739:18;;37829:131;37739:18;37829:131;:::i;37977:416::-;38177:2;38191:47;;;38162:18;;38252:131;38162:18;38252:131;:::i;38400:416::-;38600:2;38614:47;;;38585:18;;38675:131;38585:18;38675:131;:::i;38823:416::-;39023:2;39037:47;;;39008:18;;39098:131;39008:18;39098:131;:::i;39246:416::-;39446:2;39460:47;;;39431:18;;39521:131;39431:18;39521:131;:::i;39669:416::-;39869:2;39883:47;;;39854:18;;39944:131;39854:18;39944:131;:::i;40092:416::-;40292:2;40306:47;;;40277:18;;40367:131;40277:18;40367:131;:::i;40515:416::-;40715:2;40729:47;;;40700:18;;40790:131;40700:18;40790:131;:::i;40938:416::-;41138:2;41152:47;;;41123:18;;41213:131;41123:18;41213:131;:::i;41361:222::-;41488:2;41473:18;;41502:71;41477:9;41546:6;41502:71;:::i;41590:333::-;41745:2;41730:18;;41759:71;41734:9;41803:6;41759:71;:::i;41930:256::-;41992:2;41986:9;42018:17;;;-1:-1;;;;;42078:34;;42114:22;;;42075:62;42072:2;;;42150:1;42147;42140:12;42072:2;42166;42159:22;41970:216;;-1:-1;41970:216::o;42193:304::-;;-1:-1;;;;;42344:6;42341:30;42338:2;;;42384:1;42381;42374:12;42338:2;-1:-1;42419:4;42407:17;;;42472:15;;42275:222::o;43468:321::-;;-1:-1;;;;;43603:6;43600:30;43597:2;;;43643:1;43640;43633:12;43597:2;-1:-1;43774:4;43710;43687:17;;;;-1:-1;;43683:33;43764:15;;43534:255::o;43796:151::-;43920:4;43911:14;;43868:79::o;44459:137::-;44562:12;;44533:63::o;45815:168::-;45923:19;;;45972:4;45963:14;;45916:67::o;47433:91::-;;47495:24;47513:5;47495:24;:::i;47637:85::-;47703:13;47696:21;;47679:43::o;47729:72::-;47791:5;47774:27::o;47808:144::-;-1:-1;;;;;;47869:78;;47852:100::o;47959:160::-;48048:5;48054:60;48048:5;48054:60;:::i;48126:134::-;48202:5;48208:47;48202:5;48208:47;:::i;48345:121::-;-1:-1;;;;;48407:54;;48390:76::o;48552:160::-;;48656:51;48701:5;48656:51;:::i;48719:134::-;;48810:38;48842:5;48810:38;:::i;48861:268::-;48926:1;48933:101;48947:6;48944:1;48941:13;48933:101;;;49014:11;;;49008:18;48995:11;;;48988:39;48969:2;48962:10;48933:101;;;49049:6;49046:1;49043:13;49040:2;;;-1:-1;;49114:1;49096:16;;49089:27;48910:219::o;49137:97::-;49225:2;49205:14;-1:-1;;49201:28;;49185:49::o;49242:118::-;49338:1;49331:5;49328:12;49318:2;;49344:9;49367:105;49450:1;49443:5;49440:12;49430:2;;49456:9;49479:117;49548:24;49566:5;49548:24;:::i;:::-;49541:5;49538:35;49528:2;;49587:1;49584;49577:12;49743:111;49809:21;49824:5;49809:21;:::i;49861:117::-;49930:24;49948:5;49930:24;:::i;49985:115::-;50053:23;50070:5;50053:23;:::i;50107:108::-;50190:1;50183:5;50180:12;50170:2;;50206:1;50203;50196:12", "linkReferences": {}, "immutableReferences": { "49791": [ { "start": 648, "length": 32 }, { "start": 1863, "length": 32 }, { "start": 2127, "length": 32 }, { "start": 2488, "length": 32 }, { "start": 2651, "length": 32 }, { "start": 3081, "length": 32 }, { "start": 3232, "length": 32 }, { "start": 3573, "length": 32 }, { "start": 3690, "length": 32 } ], "50133": [ { "start": 970, "length": 32 }, { "start": 4199, "length": 32 }, { "start": 4636, "length": 32 }, { "start": 5173, "length": 32 }, { "start": 7216, "length": 32 }, { "start": 7430, "length": 32 } ], "50802": [ { "start": 2371, "length": 32 } ], "50804": [ { "start": 3609, "length": 32 }, { "start": 7525, "length": 32 }, { "start": 10066, "length": 32 } ] } }, "methodIdentifiers": { "CLAIM_REWARDS_SELECTOR()": "40da225d", "LEND_AND_STAKE_SELECTOR()": "131461c0", "LEND_SELECTOR()": "257cb1a3", "REDEEM_SELECTOR()": "f7d882b5", "STAKE_SELECTOR()": "3ffc1591", "TAKE_MULTIPLE_ORDERS_SELECTOR()": "c32990a2", "TAKE_ORDER_SELECTOR()": "863e5ad0", "UNSTAKE_AND_REDEEM_SELECTOR()": "080456c1", "UNSTAKE_SELECTOR()": "b23228cf", "claimRewards(address,bytes,bytes)": "b9dfbacc", "getCurveGaugeV2RewardsHandlerCrvToken()": "332d709f", "getCurveGaugeV2RewardsHandlerMinter()": "f003eb85", "getIntegrationManager()": "e7c45690", "lend(address,bytes,bytes)": "099f7515", "lendAndStake(address,bytes,bytes)": "29fa046e", "parseAssetsForAction(address,bytes4,bytes)": "c54efee5", "redeem(address,bytes,bytes)": "c29fa9dd", "stake(address,bytes,bytes)": "fa7dd04d", "takeOrder(address,bytes,bytes)": "03e38a2b", "unstake(address,bytes,bytes)": "68e30677", "unstakeAndRedeem(address,bytes,bytes)": "8334eb99" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_integrationManager\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_balancerVault\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_balancerMinter\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_balToken\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"CLAIM_REWARDS_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LEND_AND_STAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LEND_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"REDEEM_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"STAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TAKE_MULTIPLE_ORDERS_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TAKE_ORDER_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UNSTAKE_AND_REDEEM_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UNSTAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"claimRewards\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurveGaugeV2RewardsHandlerCrvToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"crvToken_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurveGaugeV2RewardsHandlerMinter\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"minter_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getIntegrationManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"integrationManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"lend\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"lendAndStake\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"_selector\",\"type\":\"bytes4\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"}],\"name\":\"parseAssetsForAction\",\"outputs\":[{\"internalType\":\"enum IIntegrationManager.SpendAssetsHandleType\",\"name\":\"spendAssetsHandleType_\",\"type\":\"uint8\"},{\"internalType\":\"address[]\",\"name\":\"spendAssets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"spendAssetAmounts_\",\"type\":\"uint256[]\"},{\"internalType\":\"address[]\",\"name\":\"incomingAssets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"minIncomingAssetAmounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"redeem\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"stake\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"takeOrder\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"unstake\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"unstakeAndRedeem\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"claimRewards(address,bytes,bytes)\":{\"details\":\"Needs `onlyIntegrationManager` because Minter claiming permission is given by the fund\",\"params\":{\"_actionData\":\"Data specific to this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}},\"getCurveGaugeV2RewardsHandlerCrvToken()\":{\"returns\":{\"crvToken_\":\"The `CURVE_GAUGE_V2_REWARDS_HANDLER_CRV_TOKEN` variable value\"}},\"getCurveGaugeV2RewardsHandlerMinter()\":{\"returns\":{\"minter_\":\"The `CURVE_GAUGE_V2_REWARDS_HANDLER_MINTER` variable value\"}},\"getIntegrationManager()\":{\"returns\":{\"integrationManager_\":\"The `INTEGRATION_MANAGER` variable value\"}},\"lend(address,bytes,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}},\"lendAndStake(address,bytes,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}},\"parseAssetsForAction(address,bytes4,bytes)\":{\"params\":{\"_actionData\":\"The encoded parameters for the callOnIntegration\",\"_selector\":\"The function selector for the callOnIntegration\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"},\"returns\":{\"incomingAssets_\":\"The assets to receive in the call\",\"minIncomingAssetAmounts_\":\"The min asset amounts to receive in the call\",\"spendAssetAmounts_\":\"The max asset amounts to spend in the call\",\"spendAssetsHandleType_\":\"A type that dictates how to handle granting the adapter access to spend assets (`None` by default)\",\"spendAssets_\":\"The assets to spend in the call\"}},\"redeem(address,bytes,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}},\"stake(address,bytes,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}},\"takeOrder(address,bytes,bytes)\":{\"details\":\"All `_actionData` inputs are Balancer `batchSwap()` params, with the exception of `stakingTokens`. \\\"Spend assets\\\" and \\\"incoming assets\\\" are parsed from the `limits` values corresponding to `assets`: - limit > 0 is a spend asset - limit < 0 is an incoming asset (including a partially-consumed intermediary asset) - limit == 0 is an intermediary asset that is completely consumed in the swap This function can also used for \\\"LPing\\\" with ComposableStablePool instances, since those pools contain their own BPT as an underlying asset. `stakingTokens` facilitates \\\"lend and stake\\\" and \\\"unstake and redeem\\\"-like functionality for such pools. If `stakingTokens[i]` is non-empty, it is considered to be the actual spend/incoming asset that must be unstaked to / staked from the BPT specified in `assets[i]` before/after the batchSawp().\",\"params\":{\"_actionData\":\"Data specific to this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}},\"unstake(address,bytes,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}},\"unstakeAndRedeem(address,bytes,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}}},\"title\":\"BalancerV2LiquidityAdapter Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"claimRewards(address,bytes,bytes)\":{\"notice\":\"Claims all rewards\"},\"getCurveGaugeV2RewardsHandlerCrvToken()\":{\"notice\":\"Gets the `CURVE_GAUGE_V2_REWARDS_HANDLER_CRV_TOKEN` variable\"},\"getCurveGaugeV2RewardsHandlerMinter()\":{\"notice\":\"Gets the `CURVE_GAUGE_V2_REWARDS_HANDLER_MINTER` variable\"},\"getIntegrationManager()\":{\"notice\":\"Gets the `INTEGRATION_MANAGER` variable\"},\"lend(address,bytes,bytes)\":{\"notice\":\"Lends assets for pool tokens on BalancerV2\"},\"lendAndStake(address,bytes,bytes)\":{\"notice\":\"Lends assets for LP tokens, then stakes the received LP tokens\"},\"parseAssetsForAction(address,bytes4,bytes)\":{\"notice\":\"Parses the expected assets to receive from a call on integration\"},\"redeem(address,bytes,bytes)\":{\"notice\":\"Redeems pool tokens on BalancerV2\"},\"stake(address,bytes,bytes)\":{\"notice\":\"Stakes LP tokens\"},\"takeOrder(address,bytes,bytes)\":{\"notice\":\"Swaps assets on Balancer via batchSwap()\"},\"unstake(address,bytes,bytes)\":{\"notice\":\"Unstakes LP tokens\"},\"unstakeAndRedeem(address,bytes,bytes)\":{\"notice\":\"Unstakes LP tokens, then redeems them\"}},\"notice\":\"Adapter for Balancer V2 pool liquidity provision and native staking\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/integration-manager/integrations/adapters/BalancerV2LiquidityAdapter.sol\":\"BalancerV2LiquidityAdapter\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/integration-manager/IIntegrationManager.sol\":{\"keccak256\":\"0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23\",\"dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk\"]},\"contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol\":{\"keccak256\":\"0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336\",\"dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS\"]},\"contracts/release/extensions/integration-manager/integrations/adapters/BalancerV2LiquidityAdapter.sol\":{\"keccak256\":\"0x7aa2128bd07a51989c43b7e3809642e3f9c8b04bd216bedf322ca6035ff67292\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ad37ddc2f954ddbe7947b09c03c3e51afb7d67e08c371a335a90318e4530c343\",\"dweb:/ipfs/QmcFvYWjmq6ydGMymjcGx8FTwq5CknSxmxKjrjP6h8qTXw\"]},\"contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol\":{\"keccak256\":\"0x067e49bf0d3c1655ab41a413c65ccf61d4e593308132e1ffc484a0fadfbbaf26\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://387f425017e18e89cc1893521101fa99df595314847d0b3d9a1162369f714fcf\",\"dweb:/ipfs/Qmco3jCvuWAyfCpBYpGzHrQjiFJG63w1RJKcakoTEbxRQm\"]},\"contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol\":{\"keccak256\":\"0xfd34c7ca8231c6935e25dede32ca2b3121738e624d0fc896f7b895a731edcf88\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d492c061963d36d07718446db191d4c5a340c0d847f6cd209f027bd99f7cb176\",\"dweb:/ipfs/QmfCvRZt56ftDdrEh6LepHXFJ4fVtcfpQGvEyY8k4zxG1A\"]},\"contracts/release/extensions/integration-manager/integrations/utils/actions/BalancerV2ActionsMixin.sol\":{\"keccak256\":\"0xf2411ca1c42e8881a6aed8381294a03e363738bb4bf7b030dad47871ba27411f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://7916355a56eaa4337d28019dc84249e9e5abe5cc188718f11f945d92afc593f0\",\"dweb:/ipfs/QmXSe7UDdrutvCf5RujJxeurLUEotkTzm8Tn27xDqvwc6X\"]},\"contracts/release/extensions/integration-manager/integrations/utils/actions/CurveGaugeV2ActionsMixin.sol\":{\"keccak256\":\"0xb297d967916d8560814b5d85ca8abedacf7d3c414390a0eb1179aa3adaa9be1b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://97b52856086845cdfe9ddcd6e0be1eb72658a6775ab3cec97c4aa4d5477d28f3\",\"dweb:/ipfs/QmccHa8AXHZ4TiBu9225cxi6RgT6SskhgmUFzEJmgzE625\"]},\"contracts/release/extensions/integration-manager/integrations/utils/actions/CurveGaugeV2RewardsHandlerMixin.sol\":{\"keccak256\":\"0x03af28f9cd7e5666a8060a8e2208d88f4ec3d6be4c7dad13d41757754296eb5b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d3396dfde6e114902db13370916a570fcad62502520dd129f9cac9f8d80e3aa4\",\"dweb:/ipfs/QmVVDVf6dm6fKvN2gFBM5NQWwX8cNzLszmvGwrUBBoQGqW\"]},\"contracts/release/extensions/integration-manager/integrations/utils/bases/BalancerV2LiquidityAdapterBase.sol\":{\"keccak256\":\"0x584e1b88ebc1c7911d8df42b3f4d7739863a5c9922e3d007a0e97b261c24ff71\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://55299164a30b0e3170d3c9d4973559afa609410d19ff6c177fd4f7879ba11959\",\"dweb:/ipfs/QmaviuM17N3UtGmwo67MAavncrKWv99PnDx3yv2kUqoe3T\"]},\"contracts/release/interfaces/IBalancerV2LiquidityGauge.sol\":{\"keccak256\":\"0x52ebf49a1da970352c8e9c064b82ef3caa103b1055157254796d48141dd37e42\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://4f4c30274497595062b83c165841fdecd8d3ffe5196e3df758d2a1dec9239e0e\",\"dweb:/ipfs/QmSTx36xojjLvyxFujU2S5m9rW8ZRcWB9yuH3HmVMhz2J1\"]},\"contracts/release/interfaces/IBalancerV2Vault.sol\":{\"keccak256\":\"0xb3c8da122ab160129c74ffeb0310ff96c4977d65eef12888bc1a8276fa2a3fd2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c9c89c1e04327c6fa45fbdf9ae8fd132ed95c9101ab49d078ef99c6590c30867\",\"dweb:/ipfs/QmWKrLQg5xBVmi6snaAwU3zUTjxQ6ugYj6n45x1hqRxv9A\"]},\"contracts/release/interfaces/ICurveLiquidityGaugeV2.sol\":{\"keccak256\":\"0x0fbd9bdd7d7df1cd92c065ae3e62f1767d80914f086a0f146a2c9874aa7d4e30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://7ed9ee21be1e5c6e6caf3abd0a092410c50614239c72a361612e3d71a649e6e1\",\"dweb:/ipfs/QmZgGgbPsWAiMwnPiimNGgFN6ZnaqcUkRSsSpnQi1MtBNs\"]},\"contracts/release/interfaces/ICurveMinter.sol\":{\"keccak256\":\"0xbfe0cfa932805d9cda714d7ef7cb6b42d08c782b0ffa46de5e2c0530f4ce5ba1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://29ab2dcee291bf81ccb67ab31fd3548e634fb2742642f70890edc7af727d3d39\",\"dweb:/ipfs/QmVZtC5aHRABS8ZX8XVtwiW1Y8K5vnhVH7WKZ29prN2EpJ\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_integrationManager", "type": "address" }, { "internalType": "address", "name": "_balancerVault", "type": "address" }, { "internalType": "address", "name": "_balancerMinter", "type": "address" }, { "internalType": "address", "name": "_balToken", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "CLAIM_REWARDS_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "LEND_AND_STAKE_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "LEND_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "REDEEM_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "STAKE_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "TAKE_MULTIPLE_ORDERS_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "TAKE_ORDER_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "UNSTAKE_AND_REDEEM_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "UNSTAKE_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "bytes", "name": "_actionData", "type": "bytes" }, { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "claimRewards" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getCurveGaugeV2RewardsHandlerCrvToken", "outputs": [ { "internalType": "address", "name": "crvToken_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getCurveGaugeV2RewardsHandlerMinter", "outputs": [ { "internalType": "address", "name": "minter_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getIntegrationManager", "outputs": [ { "internalType": "address", "name": "integrationManager_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "bytes", "name": "_actionData", "type": "bytes" }, { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "lend" }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "bytes", "name": "_actionData", "type": "bytes" }, { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "lendAndStake" }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "bytes4", "name": "_selector", "type": "bytes4" }, { "internalType": "bytes", "name": "_actionData", "type": "bytes" } ], "stateMutability": "view", "type": "function", "name": "parseAssetsForAction", "outputs": [ { "internalType": "enum IIntegrationManager.SpendAssetsHandleType", "name": "spendAssetsHandleType_", "type": "uint8" }, { "internalType": "address[]", "name": "spendAssets_", "type": "address[]" }, { "internalType": "uint256[]", "name": "spendAssetAmounts_", "type": "uint256[]" }, { "internalType": "address[]", "name": "incomingAssets_", "type": "address[]" }, { "internalType": "uint256[]", "name": "minIncomingAssetAmounts_", "type": "uint256[]" } ] }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "bytes", "name": "_actionData", "type": "bytes" }, { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "redeem" }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "bytes", "name": "_actionData", "type": "bytes" }, { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "stake" }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "bytes", "name": "_actionData", "type": "bytes" }, { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "takeOrder" }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "bytes", "name": "_actionData", "type": "bytes" }, { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "unstake" }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "bytes", "name": "_actionData", "type": "bytes" }, { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "unstakeAndRedeem" } ], "devdoc": { "kind": "dev", "methods": { "claimRewards(address,bytes,bytes)": { "details": "Needs `onlyIntegrationManager` because Minter claiming permission is given by the fund", "params": { "_actionData": "Data specific to this action", "_vaultProxy": "The VaultProxy of the calling fund" } }, "getCurveGaugeV2RewardsHandlerCrvToken()": { "returns": { "crvToken_": "The `CURVE_GAUGE_V2_REWARDS_HANDLER_CRV_TOKEN` variable value" } }, "getCurveGaugeV2RewardsHandlerMinter()": { "returns": { "minter_": "The `CURVE_GAUGE_V2_REWARDS_HANDLER_MINTER` variable value" } }, "getIntegrationManager()": { "returns": { "integrationManager_": "The `INTEGRATION_MANAGER` variable value" } }, "lend(address,bytes,bytes)": { "params": { "_actionData": "Data specific to this action", "_vaultProxy": "The VaultProxy of the calling fund" } }, "lendAndStake(address,bytes,bytes)": { "params": { "_actionData": "Data specific to this action", "_vaultProxy": "The VaultProxy of the calling fund" } }, "parseAssetsForAction(address,bytes4,bytes)": { "params": { "_actionData": "The encoded parameters for the callOnIntegration", "_selector": "The function selector for the callOnIntegration", "_vaultProxy": "The VaultProxy of the calling fund" }, "returns": { "incomingAssets_": "The assets to receive in the call", "minIncomingAssetAmounts_": "The min asset amounts to receive in the call", "spendAssetAmounts_": "The max asset amounts to spend in the call", "spendAssetsHandleType_": "A type that dictates how to handle granting the adapter access to spend assets (`None` by default)", "spendAssets_": "The assets to spend in the call" } }, "redeem(address,bytes,bytes)": { "params": { "_actionData": "Data specific to this action", "_vaultProxy": "The VaultProxy of the calling fund" } }, "stake(address,bytes,bytes)": { "params": { "_actionData": "Data specific to this action", "_vaultProxy": "The VaultProxy of the calling fund" } }, "takeOrder(address,bytes,bytes)": { "details": "All `_actionData` inputs are Balancer `batchSwap()` params, with the exception of `stakingTokens`. \"Spend assets\" and \"incoming assets\" are parsed from the `limits` values corresponding to `assets`: - limit > 0 is a spend asset - limit < 0 is an incoming asset (including a partially-consumed intermediary asset) - limit == 0 is an intermediary asset that is completely consumed in the swap This function can also used for \"LPing\" with ComposableStablePool instances, since those pools contain their own BPT as an underlying asset. `stakingTokens` facilitates \"lend and stake\" and \"unstake and redeem\"-like functionality for such pools. If `stakingTokens[i]` is non-empty, it is considered to be the actual spend/incoming asset that must be unstaked to / staked from the BPT specified in `assets[i]` before/after the batchSawp().", "params": { "_actionData": "Data specific to this action", "_vaultProxy": "The VaultProxy of the calling fund" } }, "unstake(address,bytes,bytes)": { "params": { "_actionData": "Data specific to this action", "_vaultProxy": "The VaultProxy of the calling fund" } }, "unstakeAndRedeem(address,bytes,bytes)": { "params": { "_actionData": "Data specific to this action", "_vaultProxy": "The VaultProxy of the calling fund" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "claimRewards(address,bytes,bytes)": { "notice": "Claims all rewards" }, "getCurveGaugeV2RewardsHandlerCrvToken()": { "notice": "Gets the `CURVE_GAUGE_V2_REWARDS_HANDLER_CRV_TOKEN` variable" }, "getCurveGaugeV2RewardsHandlerMinter()": { "notice": "Gets the `CURVE_GAUGE_V2_REWARDS_HANDLER_MINTER` variable" }, "getIntegrationManager()": { "notice": "Gets the `INTEGRATION_MANAGER` variable" }, "lend(address,bytes,bytes)": { "notice": "Lends assets for pool tokens on BalancerV2" }, "lendAndStake(address,bytes,bytes)": { "notice": "Lends assets for LP tokens, then stakes the received LP tokens" }, "parseAssetsForAction(address,bytes4,bytes)": { "notice": "Parses the expected assets to receive from a call on integration" }, "redeem(address,bytes,bytes)": { "notice": "Redeems pool tokens on BalancerV2" }, "stake(address,bytes,bytes)": { "notice": "Stakes LP tokens" }, "takeOrder(address,bytes,bytes)": { "notice": "Swaps assets on Balancer via batchSwap()" }, "unstake(address,bytes,bytes)": { "notice": "Unstakes LP tokens" }, "unstakeAndRedeem(address,bytes,bytes)": { "notice": "Unstakes LP tokens, then redeems them" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/integration-manager/integrations/adapters/BalancerV2LiquidityAdapter.sol": "BalancerV2LiquidityAdapter" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/extensions/integration-manager/IIntegrationManager.sol": { "keccak256": "0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef", "urls": [ "bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23", "dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol": { "keccak256": "0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1", "urls": [ "bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336", "dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/adapters/BalancerV2LiquidityAdapter.sol": { "keccak256": "0x7aa2128bd07a51989c43b7e3809642e3f9c8b04bd216bedf322ca6035ff67292", "urls": [ "bzz-raw://ad37ddc2f954ddbe7947b09c03c3e51afb7d67e08c371a335a90318e4530c343", "dweb:/ipfs/QmcFvYWjmq6ydGMymjcGx8FTwq5CknSxmxKjrjP6h8qTXw" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol": { "keccak256": "0x067e49bf0d3c1655ab41a413c65ccf61d4e593308132e1ffc484a0fadfbbaf26", "urls": [ "bzz-raw://387f425017e18e89cc1893521101fa99df595314847d0b3d9a1162369f714fcf", "dweb:/ipfs/Qmco3jCvuWAyfCpBYpGzHrQjiFJG63w1RJKcakoTEbxRQm" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol": { "keccak256": "0xfd34c7ca8231c6935e25dede32ca2b3121738e624d0fc896f7b895a731edcf88", "urls": [ "bzz-raw://d492c061963d36d07718446db191d4c5a340c0d847f6cd209f027bd99f7cb176", "dweb:/ipfs/QmfCvRZt56ftDdrEh6LepHXFJ4fVtcfpQGvEyY8k4zxG1A" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/utils/actions/BalancerV2ActionsMixin.sol": { "keccak256": "0xf2411ca1c42e8881a6aed8381294a03e363738bb4bf7b030dad47871ba27411f", "urls": [ "bzz-raw://7916355a56eaa4337d28019dc84249e9e5abe5cc188718f11f945d92afc593f0", "dweb:/ipfs/QmXSe7UDdrutvCf5RujJxeurLUEotkTzm8Tn27xDqvwc6X" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/utils/actions/CurveGaugeV2ActionsMixin.sol": { "keccak256": "0xb297d967916d8560814b5d85ca8abedacf7d3c414390a0eb1179aa3adaa9be1b", "urls": [ "bzz-raw://97b52856086845cdfe9ddcd6e0be1eb72658a6775ab3cec97c4aa4d5477d28f3", "dweb:/ipfs/QmccHa8AXHZ4TiBu9225cxi6RgT6SskhgmUFzEJmgzE625" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/utils/actions/CurveGaugeV2RewardsHandlerMixin.sol": { "keccak256": "0x03af28f9cd7e5666a8060a8e2208d88f4ec3d6be4c7dad13d41757754296eb5b", "urls": [ "bzz-raw://d3396dfde6e114902db13370916a570fcad62502520dd129f9cac9f8d80e3aa4", "dweb:/ipfs/QmVVDVf6dm6fKvN2gFBM5NQWwX8cNzLszmvGwrUBBoQGqW" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/utils/bases/BalancerV2LiquidityAdapterBase.sol": { "keccak256": "0x584e1b88ebc1c7911d8df42b3f4d7739863a5c9922e3d007a0e97b261c24ff71", "urls": [ "bzz-raw://55299164a30b0e3170d3c9d4973559afa609410d19ff6c177fd4f7879ba11959", "dweb:/ipfs/QmaviuM17N3UtGmwo67MAavncrKWv99PnDx3yv2kUqoe3T" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IBalancerV2LiquidityGauge.sol": { "keccak256": "0x52ebf49a1da970352c8e9c064b82ef3caa103b1055157254796d48141dd37e42", "urls": [ "bzz-raw://4f4c30274497595062b83c165841fdecd8d3ffe5196e3df758d2a1dec9239e0e", "dweb:/ipfs/QmSTx36xojjLvyxFujU2S5m9rW8ZRcWB9yuH3HmVMhz2J1" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IBalancerV2Vault.sol": { "keccak256": "0xb3c8da122ab160129c74ffeb0310ff96c4977d65eef12888bc1a8276fa2a3fd2", "urls": [ "bzz-raw://c9c89c1e04327c6fa45fbdf9ae8fd132ed95c9101ab49d078ef99c6590c30867", "dweb:/ipfs/QmWKrLQg5xBVmi6snaAwU3zUTjxQ6ugYj6n45x1hqRxv9A" ], "license": "GPL-3.0" }, "contracts/release/interfaces/ICurveLiquidityGaugeV2.sol": { "keccak256": "0x0fbd9bdd7d7df1cd92c065ae3e62f1767d80914f086a0f146a2c9874aa7d4e30", "urls": [ "bzz-raw://7ed9ee21be1e5c6e6caf3abd0a092410c50614239c72a361612e3d71a649e6e1", "dweb:/ipfs/QmZgGgbPsWAiMwnPiimNGgFN6ZnaqcUkRSsSpnQi1MtBNs" ], "license": "GPL-3.0" }, "contracts/release/interfaces/ICurveMinter.sol": { "keccak256": "0xbfe0cfa932805d9cda714d7ef7cb6b42d08c782b0ffa46de5e2c0530f4ce5ba1", "urls": [ "bzz-raw://29ab2dcee291bf81ccb67ab31fd3548e634fb2742642f70890edc7af727d3d39", "dweb:/ipfs/QmVZtC5aHRABS8ZX8XVtwiW1Y8K5vnhVH7WKZ29prN2EpJ" ], "license": "GPL-3.0" }, "contracts/release/utils/AddressArrayLib.sol": { "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", "urls": [ "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" ], "license": "GPL-3.0" }, "contracts/release/utils/AssetHelpers.sol": { "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", "urls": [ "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", "urls": [ "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Address.sol": { "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", "urls": [ "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" } }, "version": 1 }, "id": 163 } diff --git a/eth_defi/abi/enzyme/BalancerV2LiquidityAdapterBase.json b/eth_defi/abi/enzyme/BalancerV2LiquidityAdapterBase.json index 63f547d0..2b794617 100644 --- a/eth_defi/abi/enzyme/BalancerV2LiquidityAdapterBase.json +++ b/eth_defi/abi/enzyme/BalancerV2LiquidityAdapterBase.json @@ -1,952 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_integrationManager", - "type": "address" - }, - { - "internalType": "address", - "name": "_balancerVault", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "name": "CLAIM_REWARDS_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "LEND_AND_STAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "LEND_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "REDEEM_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "STAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "TAKE_MULTIPLE_ORDERS_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "TAKE_ORDER_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "UNSTAKE_AND_REDEEM_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "UNSTAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "claimRewards", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getIntegrationManager", - "outputs": [ - { - "internalType": "address", - "name": "integrationManager_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "lendAndStake", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes4", - "name": "_selector", - "type": "bytes4" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - } - ], - "name": "parseAssetsForAction", - "outputs": [ - { - "internalType": "enum IIntegrationManager.SpendAssetsHandleType", - "name": "spendAssetsHandleType_", - "type": "uint8" - }, - { - "internalType": "address[]", - "name": "spendAssets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "spendAssetAmounts_", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "incomingAssets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "minIncomingAssetAmounts_", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "stake", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "takeOrder", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "unstake", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "unstakeAndRedeem", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "CLAIM_REWARDS_SELECTOR()": "40da225d", - "LEND_AND_STAKE_SELECTOR()": "131461c0", - "LEND_SELECTOR()": "257cb1a3", - "REDEEM_SELECTOR()": "f7d882b5", - "STAKE_SELECTOR()": "3ffc1591", - "TAKE_MULTIPLE_ORDERS_SELECTOR()": "c32990a2", - "TAKE_ORDER_SELECTOR()": "863e5ad0", - "UNSTAKE_AND_REDEEM_SELECTOR()": "080456c1", - "UNSTAKE_SELECTOR()": "b23228cf", - "claimRewards(address,bytes,bytes)": "b9dfbacc", - "getIntegrationManager()": "e7c45690", - "lendAndStake(address,bytes,bytes)": "29fa046e", - "parseAssetsForAction(address,bytes4,bytes)": "c54efee5", - "stake(address,bytes,bytes)": "fa7dd04d", - "takeOrder(address,bytes,bytes)": "03e38a2b", - "unstake(address,bytes,bytes)": "68e30677", - "unstakeAndRedeem(address,bytes,bytes)": "8334eb99" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_integrationManager\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_balancerVault\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"CLAIM_REWARDS_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LEND_AND_STAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LEND_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"REDEEM_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"STAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TAKE_MULTIPLE_ORDERS_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TAKE_ORDER_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UNSTAKE_AND_REDEEM_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UNSTAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"claimRewards\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getIntegrationManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"integrationManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"lendAndStake\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"_selector\",\"type\":\"bytes4\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"}],\"name\":\"parseAssetsForAction\",\"outputs\":[{\"internalType\":\"enum IIntegrationManager.SpendAssetsHandleType\",\"name\":\"spendAssetsHandleType_\",\"type\":\"uint8\"},{\"internalType\":\"address[]\",\"name\":\"spendAssets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"spendAssetAmounts_\",\"type\":\"uint256[]\"},{\"internalType\":\"address[]\",\"name\":\"incomingAssets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"minIncomingAssetAmounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"stake\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"takeOrder\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"unstake\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"unstakeAndRedeem\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"Rewards tokens are not included as incoming assets for claimRewards()\",\"kind\":\"dev\",\"methods\":{\"claimRewards(address,bytes,bytes)\":{\"details\":\"Needs `onlyIntegrationManager` because Minter claiming permission is given by the fund\",\"params\":{\"_actionData\":\"Data specific to this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}},\"getIntegrationManager()\":{\"returns\":{\"integrationManager_\":\"The `INTEGRATION_MANAGER` variable value\"}},\"lendAndStake(address,bytes,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}},\"parseAssetsForAction(address,bytes4,bytes)\":{\"params\":{\"_actionData\":\"The encoded parameters for the callOnIntegration\",\"_selector\":\"The function selector for the callOnIntegration\"},\"returns\":{\"incomingAssets_\":\"The assets to receive in the call\",\"minIncomingAssetAmounts_\":\"The min asset amounts to receive in the call\",\"spendAssetAmounts_\":\"The max asset amounts to spend in the call\",\"spendAssetsHandleType_\":\"A type that dictates how to handle granting the adapter access to spend assets (`None` by default)\",\"spendAssets_\":\"The assets to spend in the call\"}},\"stake(address,bytes,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}},\"takeOrder(address,bytes,bytes)\":{\"details\":\"All `_actionData` inputs are Balancer `batchSwap()` params, with the exception of `stakingTokens`. \\\"Spend assets\\\" and \\\"incoming assets\\\" are parsed from the `limits` values corresponding to `assets`: - limit > 0 is a spend asset - limit < 0 is an incoming asset (including a partially-consumed intermediary asset) - limit == 0 is an intermediary asset that is completely consumed in the swap This function can also used for \\\"LPing\\\" with ComposableStablePool instances, since those pools contain their own BPT as an underlying asset. `stakingTokens` facilitates \\\"lend and stake\\\" and \\\"unstake and redeem\\\"-like functionality for such pools. If `stakingTokens[i]` is non-empty, it is considered to be the actual spend/incoming asset that must be unstaked to / staked from the BPT specified in `assets[i]` before/after the batchSawp().\",\"params\":{\"_actionData\":\"Data specific to this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}},\"unstake(address,bytes,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}},\"unstakeAndRedeem(address,bytes,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}}},\"title\":\"BalancerV2LiquidityAdapterBase Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"claimRewards(address,bytes,bytes)\":{\"notice\":\"Claims all rewards\"},\"getIntegrationManager()\":{\"notice\":\"Gets the `INTEGRATION_MANAGER` variable\"},\"lendAndStake(address,bytes,bytes)\":{\"notice\":\"Lends assets for LP tokens, then stakes the received LP tokens\"},\"parseAssetsForAction(address,bytes4,bytes)\":{\"notice\":\"Parses the expected assets to receive from a call on integration\"},\"stake(address,bytes,bytes)\":{\"notice\":\"Stakes LP tokens\"},\"takeOrder(address,bytes,bytes)\":{\"notice\":\"Swaps assets on Balancer via batchSwap()\"},\"unstake(address,bytes,bytes)\":{\"notice\":\"Unstakes LP tokens\"},\"unstakeAndRedeem(address,bytes,bytes)\":{\"notice\":\"Unstakes LP tokens, then redeems them\"}},\"notice\":\"Base adapter for liquidity provision in Balancer V2 pools. Implementing contracts can allow staking via Balancer gauges, Aura, etc.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/integration-manager/integrations/utils/bases/BalancerV2LiquidityAdapterBase.sol\":\"BalancerV2LiquidityAdapterBase\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/integration-manager/IIntegrationManager.sol\":{\"keccak256\":\"0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23\",\"dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk\"]},\"contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol\":{\"keccak256\":\"0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336\",\"dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS\"]},\"contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol\":{\"keccak256\":\"0x067e49bf0d3c1655ab41a413c65ccf61d4e593308132e1ffc484a0fadfbbaf26\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://387f425017e18e89cc1893521101fa99df595314847d0b3d9a1162369f714fcf\",\"dweb:/ipfs/Qmco3jCvuWAyfCpBYpGzHrQjiFJG63w1RJKcakoTEbxRQm\"]},\"contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol\":{\"keccak256\":\"0xfd34c7ca8231c6935e25dede32ca2b3121738e624d0fc896f7b895a731edcf88\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d492c061963d36d07718446db191d4c5a340c0d847f6cd209f027bd99f7cb176\",\"dweb:/ipfs/QmfCvRZt56ftDdrEh6LepHXFJ4fVtcfpQGvEyY8k4zxG1A\"]},\"contracts/release/extensions/integration-manager/integrations/utils/actions/BalancerV2ActionsMixin.sol\":{\"keccak256\":\"0xf2411ca1c42e8881a6aed8381294a03e363738bb4bf7b030dad47871ba27411f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://7916355a56eaa4337d28019dc84249e9e5abe5cc188718f11f945d92afc593f0\",\"dweb:/ipfs/QmXSe7UDdrutvCf5RujJxeurLUEotkTzm8Tn27xDqvwc6X\"]},\"contracts/release/extensions/integration-manager/integrations/utils/bases/BalancerV2LiquidityAdapterBase.sol\":{\"keccak256\":\"0x584e1b88ebc1c7911d8df42b3f4d7739863a5c9922e3d007a0e97b261c24ff71\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://55299164a30b0e3170d3c9d4973559afa609410d19ff6c177fd4f7879ba11959\",\"dweb:/ipfs/QmaviuM17N3UtGmwo67MAavncrKWv99PnDx3yv2kUqoe3T\"]},\"contracts/release/interfaces/IBalancerV2Vault.sol\":{\"keccak256\":\"0xb3c8da122ab160129c74ffeb0310ff96c4977d65eef12888bc1a8276fa2a3fd2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c9c89c1e04327c6fa45fbdf9ae8fd132ed95c9101ab49d078ef99c6590c30867\",\"dweb:/ipfs/QmWKrLQg5xBVmi6snaAwU3zUTjxQ6ugYj6n45x1hqRxv9A\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_integrationManager", - "type": "address" - }, - { - "internalType": "address", - "name": "_balancerVault", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "CLAIM_REWARDS_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "LEND_AND_STAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "LEND_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "REDEEM_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "STAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "TAKE_MULTIPLE_ORDERS_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "TAKE_ORDER_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "UNSTAKE_AND_REDEEM_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "UNSTAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "claimRewards" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getIntegrationManager", - "outputs": [ - { - "internalType": "address", - "name": "integrationManager_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "lendAndStake" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes4", - "name": "_selector", - "type": "bytes4" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - } - ], - "stateMutability": "view", - "type": "function", - "name": "parseAssetsForAction", - "outputs": [ - { - "internalType": "enum IIntegrationManager.SpendAssetsHandleType", - "name": "spendAssetsHandleType_", - "type": "uint8" - }, - { - "internalType": "address[]", - "name": "spendAssets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "spendAssetAmounts_", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "incomingAssets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "minIncomingAssetAmounts_", - "type": "uint256[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "stake" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "takeOrder" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "unstake" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "unstakeAndRedeem" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "claimRewards(address,bytes,bytes)": { - "details": "Needs `onlyIntegrationManager` because Minter claiming permission is given by the fund", - "params": { - "_actionData": "Data specific to this action", - "_vaultProxy": "The VaultProxy of the calling fund" - } - }, - "getIntegrationManager()": { - "returns": { - "integrationManager_": "The `INTEGRATION_MANAGER` variable value" - } - }, - "lendAndStake(address,bytes,bytes)": { - "params": { - "_actionData": "Data specific to this action", - "_vaultProxy": "The VaultProxy of the calling fund" - } - }, - "parseAssetsForAction(address,bytes4,bytes)": { - "params": { - "_actionData": "The encoded parameters for the callOnIntegration", - "_selector": "The function selector for the callOnIntegration" - }, - "returns": { - "incomingAssets_": "The assets to receive in the call", - "minIncomingAssetAmounts_": "The min asset amounts to receive in the call", - "spendAssetAmounts_": "The max asset amounts to spend in the call", - "spendAssetsHandleType_": "A type that dictates how to handle granting the adapter access to spend assets (`None` by default)", - "spendAssets_": "The assets to spend in the call" - } - }, - "stake(address,bytes,bytes)": { - "params": { - "_actionData": "Data specific to this action", - "_vaultProxy": "The VaultProxy of the calling fund" - } - }, - "takeOrder(address,bytes,bytes)": { - "details": "All `_actionData` inputs are Balancer `batchSwap()` params, with the exception of `stakingTokens`. \"Spend assets\" and \"incoming assets\" are parsed from the `limits` values corresponding to `assets`: - limit > 0 is a spend asset - limit < 0 is an incoming asset (including a partially-consumed intermediary asset) - limit == 0 is an intermediary asset that is completely consumed in the swap This function can also used for \"LPing\" with ComposableStablePool instances, since those pools contain their own BPT as an underlying asset. `stakingTokens` facilitates \"lend and stake\" and \"unstake and redeem\"-like functionality for such pools. If `stakingTokens[i]` is non-empty, it is considered to be the actual spend/incoming asset that must be unstaked to / staked from the BPT specified in `assets[i]` before/after the batchSawp().", - "params": { - "_actionData": "Data specific to this action", - "_vaultProxy": "The VaultProxy of the calling fund" - } - }, - "unstake(address,bytes,bytes)": { - "params": { - "_actionData": "Data specific to this action", - "_vaultProxy": "The VaultProxy of the calling fund" - } - }, - "unstakeAndRedeem(address,bytes,bytes)": { - "params": { - "_actionData": "Data specific to this action", - "_vaultProxy": "The VaultProxy of the calling fund" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "claimRewards(address,bytes,bytes)": { - "notice": "Claims all rewards" - }, - "getIntegrationManager()": { - "notice": "Gets the `INTEGRATION_MANAGER` variable" - }, - "lendAndStake(address,bytes,bytes)": { - "notice": "Lends assets for LP tokens, then stakes the received LP tokens" - }, - "parseAssetsForAction(address,bytes4,bytes)": { - "notice": "Parses the expected assets to receive from a call on integration" - }, - "stake(address,bytes,bytes)": { - "notice": "Stakes LP tokens" - }, - "takeOrder(address,bytes,bytes)": { - "notice": "Swaps assets on Balancer via batchSwap()" - }, - "unstake(address,bytes,bytes)": { - "notice": "Unstakes LP tokens" - }, - "unstakeAndRedeem(address,bytes,bytes)": { - "notice": "Unstakes LP tokens, then redeems them" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/integration-manager/integrations/utils/bases/BalancerV2LiquidityAdapterBase.sol": "BalancerV2LiquidityAdapterBase" - }, - "libraries": {} - }, - "sources": { - "contracts/release/extensions/integration-manager/IIntegrationManager.sol": { - "keccak256": "0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef", - "urls": [ - "bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23", - "dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol": { - "keccak256": "0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1", - "urls": [ - "bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336", - "dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol": { - "keccak256": "0x067e49bf0d3c1655ab41a413c65ccf61d4e593308132e1ffc484a0fadfbbaf26", - "urls": [ - "bzz-raw://387f425017e18e89cc1893521101fa99df595314847d0b3d9a1162369f714fcf", - "dweb:/ipfs/Qmco3jCvuWAyfCpBYpGzHrQjiFJG63w1RJKcakoTEbxRQm" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol": { - "keccak256": "0xfd34c7ca8231c6935e25dede32ca2b3121738e624d0fc896f7b895a731edcf88", - "urls": [ - "bzz-raw://d492c061963d36d07718446db191d4c5a340c0d847f6cd209f027bd99f7cb176", - "dweb:/ipfs/QmfCvRZt56ftDdrEh6LepHXFJ4fVtcfpQGvEyY8k4zxG1A" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/utils/actions/BalancerV2ActionsMixin.sol": { - "keccak256": "0xf2411ca1c42e8881a6aed8381294a03e363738bb4bf7b030dad47871ba27411f", - "urls": [ - "bzz-raw://7916355a56eaa4337d28019dc84249e9e5abe5cc188718f11f945d92afc593f0", - "dweb:/ipfs/QmXSe7UDdrutvCf5RujJxeurLUEotkTzm8Tn27xDqvwc6X" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/utils/bases/BalancerV2LiquidityAdapterBase.sol": { - "keccak256": "0x584e1b88ebc1c7911d8df42b3f4d7739863a5c9922e3d007a0e97b261c24ff71", - "urls": [ - "bzz-raw://55299164a30b0e3170d3c9d4973559afa609410d19ff6c177fd4f7879ba11959", - "dweb:/ipfs/QmaviuM17N3UtGmwo67MAavncrKWv99PnDx3yv2kUqoe3T" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IBalancerV2Vault.sol": { - "keccak256": "0xb3c8da122ab160129c74ffeb0310ff96c4977d65eef12888bc1a8276fa2a3fd2", - "urls": [ - "bzz-raw://c9c89c1e04327c6fa45fbdf9ae8fd132ed95c9101ab49d078ef99c6590c30867", - "dweb:/ipfs/QmWKrLQg5xBVmi6snaAwU3zUTjxQ6ugYj6n45x1hqRxv9A" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AddressArrayLib.sol": { - "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", - "urls": [ - "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", - "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AssetHelpers.sol": { - "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", - "urls": [ - "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", - "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { - "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", - "urls": [ - "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", - "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Address.sol": { - "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", - "urls": [ - "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", - "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 201 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_integrationManager", "type": "address", "internalType": "address" }, { "name": "_balancerVault", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "CLAIM_REWARDS_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "LEND_AND_STAKE_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "LEND_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "REDEEM_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "STAKE_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "TAKE_MULTIPLE_ORDERS_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "TAKE_ORDER_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "UNSTAKE_AND_REDEEM_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "UNSTAKE_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "claimRewards", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_actionData", "type": "bytes", "internalType": "bytes" }, { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "getIntegrationManager", "inputs": [], "outputs": [ { "name": "integrationManager_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "lendAndStake", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_actionData", "type": "bytes", "internalType": "bytes" }, { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "parseAssetsForAction", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "_selector", "type": "bytes4", "internalType": "bytes4" }, { "name": "_actionData", "type": "bytes", "internalType": "bytes" } ], "outputs": [ { "name": "spendAssetsHandleType_", "type": "uint8", "internalType": "enum IIntegrationManager.SpendAssetsHandleType" }, { "name": "spendAssets_", "type": "address[]", "internalType": "address[]" }, { "name": "spendAssetAmounts_", "type": "uint256[]", "internalType": "uint256[]" }, { "name": "incomingAssets_", "type": "address[]", "internalType": "address[]" }, { "name": "minIncomingAssetAmounts_", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "view" }, { "type": "function", "name": "stake", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_actionData", "type": "bytes", "internalType": "bytes" }, { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "takeOrder", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_actionData", "type": "bytes", "internalType": "bytes" }, { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "unstake", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_actionData", "type": "bytes", "internalType": "bytes" }, { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "unstakeAndRedeem", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_actionData", "type": "bytes", "internalType": "bytes" }, { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "CLAIM_REWARDS_SELECTOR()": "40da225d", "LEND_AND_STAKE_SELECTOR()": "131461c0", "LEND_SELECTOR()": "257cb1a3", "REDEEM_SELECTOR()": "f7d882b5", "STAKE_SELECTOR()": "3ffc1591", "TAKE_MULTIPLE_ORDERS_SELECTOR()": "c32990a2", "TAKE_ORDER_SELECTOR()": "863e5ad0", "UNSTAKE_AND_REDEEM_SELECTOR()": "080456c1", "UNSTAKE_SELECTOR()": "b23228cf", "claimRewards(address,bytes,bytes)": "b9dfbacc", "getIntegrationManager()": "e7c45690", "lendAndStake(address,bytes,bytes)": "29fa046e", "parseAssetsForAction(address,bytes4,bytes)": "c54efee5", "stake(address,bytes,bytes)": "fa7dd04d", "takeOrder(address,bytes,bytes)": "03e38a2b", "unstake(address,bytes,bytes)": "68e30677", "unstakeAndRedeem(address,bytes,bytes)": "8334eb99" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_integrationManager\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_balancerVault\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"CLAIM_REWARDS_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LEND_AND_STAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LEND_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"REDEEM_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"STAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TAKE_MULTIPLE_ORDERS_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TAKE_ORDER_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UNSTAKE_AND_REDEEM_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UNSTAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"claimRewards\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getIntegrationManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"integrationManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"lendAndStake\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"_selector\",\"type\":\"bytes4\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"}],\"name\":\"parseAssetsForAction\",\"outputs\":[{\"internalType\":\"enum IIntegrationManager.SpendAssetsHandleType\",\"name\":\"spendAssetsHandleType_\",\"type\":\"uint8\"},{\"internalType\":\"address[]\",\"name\":\"spendAssets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"spendAssetAmounts_\",\"type\":\"uint256[]\"},{\"internalType\":\"address[]\",\"name\":\"incomingAssets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"minIncomingAssetAmounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"stake\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"takeOrder\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"unstake\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"unstakeAndRedeem\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"Rewards tokens are not included as incoming assets for claimRewards()\",\"kind\":\"dev\",\"methods\":{\"claimRewards(address,bytes,bytes)\":{\"details\":\"Needs `onlyIntegrationManager` because Minter claiming permission is given by the fund\",\"params\":{\"_actionData\":\"Data specific to this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}},\"getIntegrationManager()\":{\"returns\":{\"integrationManager_\":\"The `INTEGRATION_MANAGER` variable value\"}},\"lendAndStake(address,bytes,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}},\"parseAssetsForAction(address,bytes4,bytes)\":{\"params\":{\"_actionData\":\"The encoded parameters for the callOnIntegration\",\"_selector\":\"The function selector for the callOnIntegration\"},\"returns\":{\"incomingAssets_\":\"The assets to receive in the call\",\"minIncomingAssetAmounts_\":\"The min asset amounts to receive in the call\",\"spendAssetAmounts_\":\"The max asset amounts to spend in the call\",\"spendAssetsHandleType_\":\"A type that dictates how to handle granting the adapter access to spend assets (`None` by default)\",\"spendAssets_\":\"The assets to spend in the call\"}},\"stake(address,bytes,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}},\"takeOrder(address,bytes,bytes)\":{\"details\":\"All `_actionData` inputs are Balancer `batchSwap()` params, with the exception of `stakingTokens`. \\\"Spend assets\\\" and \\\"incoming assets\\\" are parsed from the `limits` values corresponding to `assets`: - limit > 0 is a spend asset - limit < 0 is an incoming asset (including a partially-consumed intermediary asset) - limit == 0 is an intermediary asset that is completely consumed in the swap This function can also used for \\\"LPing\\\" with ComposableStablePool instances, since those pools contain their own BPT as an underlying asset. `stakingTokens` facilitates \\\"lend and stake\\\" and \\\"unstake and redeem\\\"-like functionality for such pools. If `stakingTokens[i]` is non-empty, it is considered to be the actual spend/incoming asset that must be unstaked to / staked from the BPT specified in `assets[i]` before/after the batchSawp().\",\"params\":{\"_actionData\":\"Data specific to this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}},\"unstake(address,bytes,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}},\"unstakeAndRedeem(address,bytes,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}}},\"title\":\"BalancerV2LiquidityAdapterBase Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"claimRewards(address,bytes,bytes)\":{\"notice\":\"Claims all rewards\"},\"getIntegrationManager()\":{\"notice\":\"Gets the `INTEGRATION_MANAGER` variable\"},\"lendAndStake(address,bytes,bytes)\":{\"notice\":\"Lends assets for LP tokens, then stakes the received LP tokens\"},\"parseAssetsForAction(address,bytes4,bytes)\":{\"notice\":\"Parses the expected assets to receive from a call on integration\"},\"stake(address,bytes,bytes)\":{\"notice\":\"Stakes LP tokens\"},\"takeOrder(address,bytes,bytes)\":{\"notice\":\"Swaps assets on Balancer via batchSwap()\"},\"unstake(address,bytes,bytes)\":{\"notice\":\"Unstakes LP tokens\"},\"unstakeAndRedeem(address,bytes,bytes)\":{\"notice\":\"Unstakes LP tokens, then redeems them\"}},\"notice\":\"Base adapter for liquidity provision in Balancer V2 pools. Implementing contracts can allow staking via Balancer gauges, Aura, etc.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/integration-manager/integrations/utils/bases/BalancerV2LiquidityAdapterBase.sol\":\"BalancerV2LiquidityAdapterBase\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/integration-manager/IIntegrationManager.sol\":{\"keccak256\":\"0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23\",\"dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk\"]},\"contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol\":{\"keccak256\":\"0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336\",\"dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS\"]},\"contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol\":{\"keccak256\":\"0x067e49bf0d3c1655ab41a413c65ccf61d4e593308132e1ffc484a0fadfbbaf26\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://387f425017e18e89cc1893521101fa99df595314847d0b3d9a1162369f714fcf\",\"dweb:/ipfs/Qmco3jCvuWAyfCpBYpGzHrQjiFJG63w1RJKcakoTEbxRQm\"]},\"contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol\":{\"keccak256\":\"0xfd34c7ca8231c6935e25dede32ca2b3121738e624d0fc896f7b895a731edcf88\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d492c061963d36d07718446db191d4c5a340c0d847f6cd209f027bd99f7cb176\",\"dweb:/ipfs/QmfCvRZt56ftDdrEh6LepHXFJ4fVtcfpQGvEyY8k4zxG1A\"]},\"contracts/release/extensions/integration-manager/integrations/utils/actions/BalancerV2ActionsMixin.sol\":{\"keccak256\":\"0xf2411ca1c42e8881a6aed8381294a03e363738bb4bf7b030dad47871ba27411f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://7916355a56eaa4337d28019dc84249e9e5abe5cc188718f11f945d92afc593f0\",\"dweb:/ipfs/QmXSe7UDdrutvCf5RujJxeurLUEotkTzm8Tn27xDqvwc6X\"]},\"contracts/release/extensions/integration-manager/integrations/utils/bases/BalancerV2LiquidityAdapterBase.sol\":{\"keccak256\":\"0x584e1b88ebc1c7911d8df42b3f4d7739863a5c9922e3d007a0e97b261c24ff71\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://55299164a30b0e3170d3c9d4973559afa609410d19ff6c177fd4f7879ba11959\",\"dweb:/ipfs/QmaviuM17N3UtGmwo67MAavncrKWv99PnDx3yv2kUqoe3T\"]},\"contracts/release/interfaces/IBalancerV2Vault.sol\":{\"keccak256\":\"0xb3c8da122ab160129c74ffeb0310ff96c4977d65eef12888bc1a8276fa2a3fd2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c9c89c1e04327c6fa45fbdf9ae8fd132ed95c9101ab49d078ef99c6590c30867\",\"dweb:/ipfs/QmWKrLQg5xBVmi6snaAwU3zUTjxQ6ugYj6n45x1hqRxv9A\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_integrationManager", "type": "address" }, { "internalType": "address", "name": "_balancerVault", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "CLAIM_REWARDS_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "LEND_AND_STAKE_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "LEND_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "REDEEM_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "STAKE_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "TAKE_MULTIPLE_ORDERS_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "TAKE_ORDER_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "UNSTAKE_AND_REDEEM_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "UNSTAKE_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "bytes", "name": "_actionData", "type": "bytes" }, { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "claimRewards" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getIntegrationManager", "outputs": [ { "internalType": "address", "name": "integrationManager_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "bytes", "name": "_actionData", "type": "bytes" }, { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "lendAndStake" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "bytes4", "name": "_selector", "type": "bytes4" }, { "internalType": "bytes", "name": "_actionData", "type": "bytes" } ], "stateMutability": "view", "type": "function", "name": "parseAssetsForAction", "outputs": [ { "internalType": "enum IIntegrationManager.SpendAssetsHandleType", "name": "spendAssetsHandleType_", "type": "uint8" }, { "internalType": "address[]", "name": "spendAssets_", "type": "address[]" }, { "internalType": "uint256[]", "name": "spendAssetAmounts_", "type": "uint256[]" }, { "internalType": "address[]", "name": "incomingAssets_", "type": "address[]" }, { "internalType": "uint256[]", "name": "minIncomingAssetAmounts_", "type": "uint256[]" } ] }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "bytes", "name": "_actionData", "type": "bytes" }, { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "stake" }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "bytes", "name": "_actionData", "type": "bytes" }, { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "takeOrder" }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "bytes", "name": "_actionData", "type": "bytes" }, { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "unstake" }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "bytes", "name": "_actionData", "type": "bytes" }, { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "unstakeAndRedeem" } ], "devdoc": { "kind": "dev", "methods": { "claimRewards(address,bytes,bytes)": { "details": "Needs `onlyIntegrationManager` because Minter claiming permission is given by the fund", "params": { "_actionData": "Data specific to this action", "_vaultProxy": "The VaultProxy of the calling fund" } }, "getIntegrationManager()": { "returns": { "integrationManager_": "The `INTEGRATION_MANAGER` variable value" } }, "lendAndStake(address,bytes,bytes)": { "params": { "_actionData": "Data specific to this action", "_vaultProxy": "The VaultProxy of the calling fund" } }, "parseAssetsForAction(address,bytes4,bytes)": { "params": { "_actionData": "The encoded parameters for the callOnIntegration", "_selector": "The function selector for the callOnIntegration" }, "returns": { "incomingAssets_": "The assets to receive in the call", "minIncomingAssetAmounts_": "The min asset amounts to receive in the call", "spendAssetAmounts_": "The max asset amounts to spend in the call", "spendAssetsHandleType_": "A type that dictates how to handle granting the adapter access to spend assets (`None` by default)", "spendAssets_": "The assets to spend in the call" } }, "stake(address,bytes,bytes)": { "params": { "_actionData": "Data specific to this action", "_vaultProxy": "The VaultProxy of the calling fund" } }, "takeOrder(address,bytes,bytes)": { "details": "All `_actionData` inputs are Balancer `batchSwap()` params, with the exception of `stakingTokens`. \"Spend assets\" and \"incoming assets\" are parsed from the `limits` values corresponding to `assets`: - limit > 0 is a spend asset - limit < 0 is an incoming asset (including a partially-consumed intermediary asset) - limit == 0 is an intermediary asset that is completely consumed in the swap This function can also used for \"LPing\" with ComposableStablePool instances, since those pools contain their own BPT as an underlying asset. `stakingTokens` facilitates \"lend and stake\" and \"unstake and redeem\"-like functionality for such pools. If `stakingTokens[i]` is non-empty, it is considered to be the actual spend/incoming asset that must be unstaked to / staked from the BPT specified in `assets[i]` before/after the batchSawp().", "params": { "_actionData": "Data specific to this action", "_vaultProxy": "The VaultProxy of the calling fund" } }, "unstake(address,bytes,bytes)": { "params": { "_actionData": "Data specific to this action", "_vaultProxy": "The VaultProxy of the calling fund" } }, "unstakeAndRedeem(address,bytes,bytes)": { "params": { "_actionData": "Data specific to this action", "_vaultProxy": "The VaultProxy of the calling fund" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "claimRewards(address,bytes,bytes)": { "notice": "Claims all rewards" }, "getIntegrationManager()": { "notice": "Gets the `INTEGRATION_MANAGER` variable" }, "lendAndStake(address,bytes,bytes)": { "notice": "Lends assets for LP tokens, then stakes the received LP tokens" }, "parseAssetsForAction(address,bytes4,bytes)": { "notice": "Parses the expected assets to receive from a call on integration" }, "stake(address,bytes,bytes)": { "notice": "Stakes LP tokens" }, "takeOrder(address,bytes,bytes)": { "notice": "Swaps assets on Balancer via batchSwap()" }, "unstake(address,bytes,bytes)": { "notice": "Unstakes LP tokens" }, "unstakeAndRedeem(address,bytes,bytes)": { "notice": "Unstakes LP tokens, then redeems them" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/integration-manager/integrations/utils/bases/BalancerV2LiquidityAdapterBase.sol": "BalancerV2LiquidityAdapterBase" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/extensions/integration-manager/IIntegrationManager.sol": { "keccak256": "0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef", "urls": [ "bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23", "dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol": { "keccak256": "0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1", "urls": [ "bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336", "dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol": { "keccak256": "0x067e49bf0d3c1655ab41a413c65ccf61d4e593308132e1ffc484a0fadfbbaf26", "urls": [ "bzz-raw://387f425017e18e89cc1893521101fa99df595314847d0b3d9a1162369f714fcf", "dweb:/ipfs/Qmco3jCvuWAyfCpBYpGzHrQjiFJG63w1RJKcakoTEbxRQm" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol": { "keccak256": "0xfd34c7ca8231c6935e25dede32ca2b3121738e624d0fc896f7b895a731edcf88", "urls": [ "bzz-raw://d492c061963d36d07718446db191d4c5a340c0d847f6cd209f027bd99f7cb176", "dweb:/ipfs/QmfCvRZt56ftDdrEh6LepHXFJ4fVtcfpQGvEyY8k4zxG1A" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/utils/actions/BalancerV2ActionsMixin.sol": { "keccak256": "0xf2411ca1c42e8881a6aed8381294a03e363738bb4bf7b030dad47871ba27411f", "urls": [ "bzz-raw://7916355a56eaa4337d28019dc84249e9e5abe5cc188718f11f945d92afc593f0", "dweb:/ipfs/QmXSe7UDdrutvCf5RujJxeurLUEotkTzm8Tn27xDqvwc6X" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/utils/bases/BalancerV2LiquidityAdapterBase.sol": { "keccak256": "0x584e1b88ebc1c7911d8df42b3f4d7739863a5c9922e3d007a0e97b261c24ff71", "urls": [ "bzz-raw://55299164a30b0e3170d3c9d4973559afa609410d19ff6c177fd4f7879ba11959", "dweb:/ipfs/QmaviuM17N3UtGmwo67MAavncrKWv99PnDx3yv2kUqoe3T" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IBalancerV2Vault.sol": { "keccak256": "0xb3c8da122ab160129c74ffeb0310ff96c4977d65eef12888bc1a8276fa2a3fd2", "urls": [ "bzz-raw://c9c89c1e04327c6fa45fbdf9ae8fd132ed95c9101ab49d078ef99c6590c30867", "dweb:/ipfs/QmWKrLQg5xBVmi6snaAwU3zUTjxQ6ugYj6n45x1hqRxv9A" ], "license": "GPL-3.0" }, "contracts/release/utils/AddressArrayLib.sol": { "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", "urls": [ "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" ], "license": "GPL-3.0" }, "contracts/release/utils/AssetHelpers.sol": { "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", "urls": [ "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", "urls": [ "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Address.sol": { "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", "urls": [ "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" } }, "version": 1 }, "id": 201 } diff --git a/eth_defi/abi/enzyme/BalancerV2LogExpMath.json b/eth_defi/abi/enzyme/BalancerV2LogExpMath.json index 0cd2ca5d..5f877aba 100644 --- a/eth_defi/abi/enzyme/BalancerV2LogExpMath.json +++ b/eth_defi/abi/enzyme/BalancerV2LogExpMath.json @@ -1,78 +1 @@ -{ - "abi": [], - "bytecode": { - "object": "0x602d6023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c634300060c000a", - "sourceMap": "1413:19282:357:-:0;;;;;;;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c634300060c000a", - "sourceMap": "1413:19282:357:-:0;;;;;;;;", - "linkReferences": {} - }, - "methodIdentifiers": {}, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/utils/BalancerV2LogExpMath.sol\":\"BalancerV2LogExpMath\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/utils/BalancerV2LogExpMath.sol\":{\"keccak256\":\"0x5d28ba93befe244b01d66da69ae64eaecc9f0355674664e7b9470a173fad4366\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://97667cba261ff2cc08ffb33ed9cd5a63638fede0819ba1a5f1f8e0cf12d9293c\",\"dweb:/ipfs/QmUVoLE1mWTEYTjjqKGGH4KAz11eVxJENPzSeyVEHkKso2\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/utils/BalancerV2LogExpMath.sol": "BalancerV2LogExpMath" - }, - "libraries": {} - }, - "sources": { - "contracts/release/utils/BalancerV2LogExpMath.sol": { - "keccak256": "0x5d28ba93befe244b01d66da69ae64eaecc9f0355674664e7b9470a173fad4366", - "urls": [ - "bzz-raw://97667cba261ff2cc08ffb33ed9cd5a63638fede0819ba1a5f1f8e0cf12d9293c", - "dweb:/ipfs/QmUVoLE1mWTEYTjjqKGGH4KAz11eVxJENPzSeyVEHkKso2" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 357 -} +{ "abi": [], "bytecode": { "object": "0x602d6023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c634300060c000a", "sourceMap": "1413:19282:357:-:0;;;;;;;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c634300060c000a", "sourceMap": "1413:19282:357:-:0;;;;;;;;", "linkReferences": {} }, "methodIdentifiers": {}, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/utils/BalancerV2LogExpMath.sol\":\"BalancerV2LogExpMath\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/utils/BalancerV2LogExpMath.sol\":{\"keccak256\":\"0x5d28ba93befe244b01d66da69ae64eaecc9f0355674664e7b9470a173fad4366\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://97667cba261ff2cc08ffb33ed9cd5a63638fede0819ba1a5f1f8e0cf12d9293c\",\"dweb:/ipfs/QmUVoLE1mWTEYTjjqKGGH4KAz11eVxJENPzSeyVEHkKso2\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/utils/BalancerV2LogExpMath.sol": "BalancerV2LogExpMath" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/utils/BalancerV2LogExpMath.sol": { "keccak256": "0x5d28ba93befe244b01d66da69ae64eaecc9f0355674664e7b9470a173fad4366", "urls": [ "bzz-raw://97667cba261ff2cc08ffb33ed9cd5a63638fede0819ba1a5f1f8e0cf12d9293c", "dweb:/ipfs/QmUVoLE1mWTEYTjjqKGGH4KAz11eVxJENPzSeyVEHkKso2" ], "license": "MIT" } }, "version": 1 }, "id": 357 } diff --git a/eth_defi/abi/enzyme/BalancerV2StablePoolPriceFeed.json b/eth_defi/abi/enzyme/BalancerV2StablePoolPriceFeed.json index a789c9c5..2aa52cdd 100644 --- a/eth_defi/abi/enzyme/BalancerV2StablePoolPriceFeed.json +++ b/eth_defi/abi/enzyme/BalancerV2StablePoolPriceFeed.json @@ -1,827 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_fundDeployer", - "type": "address" - }, - { - "internalType": "address", - "name": "_wrappedNativeAsset", - "type": "address" - }, - { - "internalType": "address", - "name": "_balancerVault", - "type": "address" - }, - { - "internalType": "address[]", - "name": "_poolFactories", - "type": "address[]" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "pool", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "invariantProxyAsset", - "type": "address" - } - ], - "name": "PoolAdded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "poolFactory", - "type": "address" - } - ], - "name": "PoolFactoryAdded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "poolFactory", - "type": "address" - } - ], - "name": "PoolFactoryRemoved", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "pool", - "type": "address" - } - ], - "name": "PoolRemoved", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_poolFactories", - "type": "address[]" - } - ], - "name": "addPoolFactories", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_pools", - "type": "address[]" - }, - { - "internalType": "address[]", - "name": "_invariantProxyAssets", - "type": "address[]" - } - ], - "name": "addPools", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_derivative", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_derivativeAmount", - "type": "uint256" - } - ], - "name": "calcUnderlyingValues", - "outputs": [ - { - "internalType": "address[]", - "name": "underlyings_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "underlyingAmounts_", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getFundDeployer", - "outputs": [ - { - "internalType": "address", - "name": "fundDeployer_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "owner_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getPoolFactories", - "outputs": [ - { - "internalType": "address[]", - "name": "factories_", - "type": "address[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_pool", - "type": "address" - } - ], - "name": "getPoolInfo", - "outputs": [ - { - "components": [ - { - "internalType": "address", - "name": "invariantProxyAsset", - "type": "address" - }, - { - "internalType": "uint8", - "name": "invariantProxyAssetDecimals", - "type": "uint8" - }, - { - "internalType": "bool", - "name": "containsNativeAsset", - "type": "bool" - } - ], - "internalType": "struct BalancerV2StablePoolPriceFeed.PoolInfo", - "name": "poolInfo_", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_asset", - "type": "address" - } - ], - "name": "isSupportedAsset", - "outputs": [ - { - "internalType": "bool", - "name": "isSupported_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_poolFactories", - "type": "address[]" - } - ], - "name": "removePoolFactories", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_pools", - "type": "address[]" - } - ], - "name": "removePools", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x60e06040523480156200001157600080fd5b5060405162001afa38038062001afa833981016040819052620000349162000245565b6001600160601b0319606085811b821660805283811b821660a05284901b1660c05262000061816200006b565b505050506200033b565b60005b81518110156200014c57620000a78282815181106200008957fe5b602002602001015160006200015060201b62000b9e1790919060201c565b62000143576000828281518110620000bb57fe5b60209081029190910181015182546001810184556000938452919092200180546001600160a01b0319166001600160a01b0390921691909117905581518290829081106200010557fe5b60200260200101516001600160a01b03167fed48b5354ebc9ec871d70260374c2cdc552ec57a6b36e1dbc1fbdbe0921c136f60405160405180910390a25b6001016200006e565b5050565b8154600090815b81811015620001a2578481815481106200016d57fe5b6000918252602090912001546001600160a01b03858116911614156200019957600192505050620001a9565b60010162000157565b5060009150505b92915050565b8051620001a98162000321565b600082601f830112620001ce57600080fd5b8151620001e5620001df82620002ee565b620002c7565b915081818352602084019350602081019050838560208402820111156200020b57600080fd5b60005b838110156200023b5781620002248882620001af565b84525060209283019291909101906001016200020e565b5050505092915050565b600080600080608085870312156200025c57600080fd5b60006200026a8787620001af565b94505060206200027d87828801620001af565b93505060406200029087828801620001af565b92505060608501516001600160401b03811115620002ad57600080fd5b620002bb87828801620001bc565b91505092959194509250565b6040518181016001600160401b0381118282101715620002e657600080fd5b604052919050565b60006001600160401b038211156200030557600080fd5b5060209081020190565b60006001600160a01b038216620001a9565b6200032c816200030f565b81146200033857600080fd5b50565b60805160601c60a05160601c60c05160601c61177f6200037b6000398061098452508061041f52806107795250806105cc5280610662525061177f6000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c8063893d20e811610066578063893d20e81461012a57806397c0ac871461013f5780639be918e614610147578063c10e7d1514610167578063ec421ea01461017a5761009e565b806306bfa938146100a357806327082f73146100cc5780634b164140146100e15780634c8f6529146100f6578063727212f614610109575b600080fd5b6100b66100b13660046110e4565b61018d565b6040516100c391906116a1565b60405180910390f35b6100d46101e9565b6040516100c391906115ef565b6100f46100ef366004611162565b61024b565b005b6100f4610104366004611162565b610370565b61011c610117366004611128565b6103e8565b6040516100c3929190611600565b6101326105c8565b6040516100c391906115b9565b610132610660565b61015a6101553660046110e4565b610684565b6040516100c39190611625565b6100f46101753660046111a4565b6106a2565b6100f4610188366004611162565b610acb565b610195610f51565b506001600160a01b0380821660009081526001602090815260409182902082516060810184529054938416815260ff600160a01b8504811692820192909252600160a81b909304161515908201525b919050565b6060600080548060200260200160405190810160405280929190818152602001828054801561024157602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610223575b5050505050905090565b6102536105c8565b6001600160a01b0316336001600160a01b03161461028c5760405162461bcd60e51b815260040161028390611651565b60405180910390fd5b60005b8181101561036b576102bb8383838181106102a657fe5b905060200201602081019061015591906110e4565b1561036357600160008484848181106102d057fe5b90506020020160208101906102e591906110e4565b6001600160a01b03168152602081019190915260400160002080546001600160b01b031916905582828281811061031857fe5b905060200201602081019061032d91906110e4565b6001600160a01b03167f4106dfdaa577573db51c0ca93f766dbedfa0758faa2e7f5bcdb7c142be803c3f60405160405180910390a25b60010161028f565b505050565b6103786105c8565b6001600160a01b0316336001600160a01b0316146103a85760405162461bcd60e51b815260040161028390611651565b6103e4828280806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250610bf892505050565b5050565b6060806103f3610f51565b6103fc8561018d565b905080604001511561048c5760405163fa6e671d60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063fa6e671d9061045990309060009081906004016115c7565b600060405180830381600087803b15801561047357600080fd5b505af1158015610487573d6000803e3d6000fd5b505050505b604080516001808252818301909252906020808301908036833750506040805160018082528183019092529295509050602080830190803683370190505091508060000151836000815181106104de57fe5b60200260200101906001600160a01b031690816001600160a01b0316815250506105a66ec097ce7bc90715b34b9f10000000006105a0836020015160ff16600a0a61059a896001600160a01b031663679aefce6040518163ffffffff1660e01b815260040160206040518083038186803b15801561055b57600080fd5b505afa15801561056f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061059391906112ae565b8990610ccc565b90610ccc565b90610d0d565b826000815181106105b357fe5b602002602001018181525050505b9250929050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561062357600080fd5b505afa158015610637573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061065b919061110a565b905090565b7f000000000000000000000000000000000000000000000000000000000000000090565b6000806106908361018d565b516001600160a01b0316141592915050565b6106aa6105c8565b6001600160a01b0316336001600160a01b0316146106da5760405162461bcd60e51b815260040161028390611651565b8281146106f95760405162461bcd60e51b815260040161028390611661565b60005b83811015610ac4576107138585838181106102a657fe5b156107305760405162461bcd60e51b815260040161028390611691565b61075985858381811061073f57fe5b905060200201602081019061075491906110e4565b610d3f565b6107755760405162461bcd60e51b815260040161028390611641565b60607f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f94d46688787858181106107b257fe5b90506020020160208101906107c791906110e4565b6001600160a01b03166338fff2d06040518163ffffffff1660e01b815260040160206040518083038186803b1580156107ff57600080fd5b505afa158015610813573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061083791906112ae565b6040518263ffffffff1660e01b81526004016108539190611633565b60006040518083038186803b15801561086b57600080fd5b505afa15801561087f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526108a79190810190611214565b5050905060405180606001604052808585858181106108c257fe5b90506020020160208101906108d791906110e4565b6001600160a01b031681526020018585858181106108f157fe5b905060200201602081019061090691906110e4565b6001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561093e57600080fd5b505afa158015610952573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061097691906112cc565b60ff1681526020016109a8837f0000000000000000000000000000000000000000000000000000000000000000610e03565b15159052600160008888868181106109bc57fe5b90506020020160208101906109d191906110e4565b6001600160a01b0390811682526020808301939093526040918201600020845181549486015195909301511515600160a81b0260ff60a81b1960ff909616600160a01b0260ff60a01b19949093166001600160a01b031990951694909417929092161792909216179055838383818110610a4757fe5b9050602002016020810190610a5c91906110e4565b6001600160a01b0316868684818110610a7157fe5b9050602002016020810190610a8691906110e4565b6001600160a01b03167f95f865c2808f8b2a85eea2611db7843150ee7835ef1403f9755918a97d76933c60405160405180910390a3506001016106fc565b5050505050565b610ad36105c8565b6001600160a01b0316336001600160a01b031614610b035760405162461bcd60e51b815260040161028390611651565b60005b8181101561036b57610b3a838383818110610b1d57fe5b9050602002016020810190610b3291906110e4565b600090610e59565b15610b9657828282818110610b4b57fe5b9050602002016020810190610b6091906110e4565b6001600160a01b03167faf425cea5645b25ac2f49fdb1a46bf13689e763057f4e556078fea1cc2ecfb9b60405160405180910390a25b600101610b06565b8154600090815b81811015610beb57848181548110610bb957fe5b6000918252602090912001546001600160a01b0385811691161415610be357600192505050610bf2565b600101610ba5565b5060009150505b92915050565b60005b81518110156103e457610c2b828281518110610c1357fe5b60200260200101516000610b9e90919063ffffffff16565b610cc4576000828281518110610c3d57fe5b60209081029190910181015182546001810184556000938452919092200180546001600160a01b0319166001600160a01b039092169190911790558151829082908110610c8657fe5b60200260200101516001600160a01b03167fed48b5354ebc9ec871d70260374c2cdc552ec57a6b36e1dbc1fbdbe0921c136f60405160405180910390a25b600101610bfb565b600082610cdb57506000610bf2565b82820282848281610ce857fe5b0414610d065760405162461bcd60e51b815260040161028390611681565b9392505050565b6000808211610d2e5760405162461bcd60e51b815260040161028390611671565b818381610d3757fe5b049392505050565b6000805b600054811015610dfa5760008181548110610d5a57fe5b600091825260209091200154604051636634b75360e01b81526001600160a01b0390911690636634b75390610d939086906004016115b9565b60206040518083038186803b158015610dab57600080fd5b505afa158015610dbf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610de39190611290565b15610df25760019150506101e4565b600101610d43565b50600092915050565b6000805b8351811015610e4f57838181518110610e1c57fe5b60200260200101516001600160a01b0316836001600160a01b03161415610e47576001915050610bf2565b600101610e07565b5060009392505050565b8154600090815b81811015610f4957836001600160a01b0316858281548110610e7e57fe5b6000918252602090912001546001600160a01b03161415610f415760018203811015610f0c57846001830381548110610eb357fe5b9060005260206000200160009054906101000a90046001600160a01b0316858281548110610edd57fe5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055505b84805480610f1657fe5b600082815260209020810160001990810180546001600160a01b031916905501905560019250610f49565b600101610e60565b505092915050565b604080516060810182526000808252602082018190529181019190915290565b8035610bf281611740565b8051610bf281611740565b60008083601f840112610f9957600080fd5b50813567ffffffffffffffff811115610fb157600080fd5b6020830191508360208202830111156105c157600080fd5b600082601f830112610fda57600080fd5b8151610fed610fe8826116d6565b6116af565b9150818183526020840193506020810190508385602084028201111561101257600080fd5b60005b8381101561103e57816110288882610f7c565b8452506020928301929190910190600101611015565b5050505092915050565b600082601f83011261105957600080fd5b8151611067610fe8826116d6565b9150818183526020840193506020810190508385602084028201111561108c57600080fd5b60005b8381101561103e57816110a288826110c3565b845250602092830192919091019060010161108f565b8051610bf281611757565b8051610bf281611760565b8035610bf281611760565b8051610bf281611769565b6000602082840312156110f657600080fd5b60006111028484610f71565b949350505050565b60006020828403121561111c57600080fd5b60006111028484610f7c565b6000806040838503121561113b57600080fd5b60006111478585610f71565b9250506020611158858286016110ce565b9150509250929050565b6000806020838503121561117557600080fd5b823567ffffffffffffffff81111561118c57600080fd5b61119885828601610f87565b92509250509250929050565b600080600080604085870312156111ba57600080fd5b843567ffffffffffffffff8111156111d157600080fd5b6111dd87828801610f87565b9450945050602085013567ffffffffffffffff8111156111fc57600080fd5b61120887828801610f87565b95989497509550505050565b60008060006060848603121561122957600080fd5b835167ffffffffffffffff81111561124057600080fd5b61124c86828701610fc9565b935050602084015167ffffffffffffffff81111561126957600080fd5b61127586828701611048565b9250506040611286868287016110c3565b9150509250925092565b6000602082840312156112a257600080fd5b600061110284846110b8565b6000602082840312156112c057600080fd5b600061110284846110c3565b6000602082840312156112de57600080fd5b600061110284846110d9565b60006112f68383611319565b505060200190565b60006112f683836113d2565b6113138161172f565b82525050565b6113138161170a565b600061132d826116fd565b6113378185611701565b9350611342836116f7565b8060005b8381101561137057815161135a88826112ea565b9750611365836116f7565b925050600101611346565b509495945050505050565b6000611386826116fd565b6113908185611701565b935061139b836116f7565b8060005b838110156113705781516113b388826112fe565b97506113be836116f7565b92505060010161139f565b61131381611715565b6113138161171a565b60006113e8601983611701565b7f616464506f6f6c733a20496e76616c696420666163746f727900000000000000815260200192915050565b6000611421604983611701565b7f6f6e6c7946756e644465706c6f7965724f776e65723a204f6e6c79207468652081527f46756e644465706c6f796572206f776e65722063616e2063616c6c207468697360208201526810333ab731ba34b7b760b91b604082015260600192915050565b6000611492601883611701565b7f616464506f6f6c733a20556e657175616c206172726179730000000000000000815260200192915050565b60006114cb601a83611701565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b6000611504602183611701565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000611547601c83611701565b7f616464506f6f6c733a20416c7265616479207265676973746572656400000000815260200192915050565b805160608301906115848482611319565b50602082015161159760208501826115b0565b5060408201516115aa60408501826113c9565b50505050565b61131381611729565b60208101610bf28284611319565b606081016115d58286611319565b6115e2602083018561130a565b61110260408301846113c9565b60208082528101610d068184611322565b604080825281016116118185611322565b90508181036020830152611102818461137b565b60208101610bf282846113c9565b60208101610bf282846113d2565b60208082528101610bf2816113db565b60208082528101610bf281611414565b60208082528101610bf281611485565b60208082528101610bf2816114be565b60208082528101610bf2816114f7565b60208082528101610bf28161153a565b60608101610bf28284611573565b60405181810167ffffffffffffffff811182821017156116ce57600080fd5b604052919050565b600067ffffffffffffffff8211156116ed57600080fd5b5060209081020190565b60200190565b5190565b90815260200190565b6000610bf28261171d565b151590565b90565b6001600160a01b031690565b60ff1690565b6000610bf2826000610bf28261170a565b6117498161170a565b811461175457600080fd5b50565b61174981611715565b6117498161171a565b6117498161172956fea164736f6c634300060c000a", - "sourceMap": "865:7502:238:-:0;;;1923:376;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;864:29:358;;;;;;;;2137:58:238;;;;;::::1;::::0;2205:42;;;;::::1;::::0;2258:34:::1;2277:14:::0;2258:18:::1;:34::i;:::-;1923:376:::0;;;;865:7502;;5178:346;5262:9;5257:261;5277:14;:21;5273:1;:25;5257:261;;;5324:53;5359:14;5374:1;5359:17;;;;;;;;;;;;;;5324:13;:34;;;;;;:53;;;;:::i;:::-;5319:189;;5397:13;5416:14;5431:1;5416:17;;;;;;;;;;;;;;;;;;;5397:37;;;;;;;-1:-1:-1;5397:37:238;;;;;;;;;;-1:-1:-1;;;;;;5397:37:238;-1:-1:-1;;;;;5397:37:238;;;;;;;;;5475:17;;;;5490:1;;5475:17;;;;;;;;;;;;-1:-1:-1;;;;;5458:35:238;;;;;;;;;;;5319:189;5300:3;;5257:261;;;;5178:346;:::o;1167:351:354:-;1339:12;;1286:17;;;1361:129;1381:9;1377:1;:13;1361:129;;;1426:5;1432:1;1426:8;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1415:19:354;;;1426:8;;1415:19;1411:69;;;1461:4;1454:11;;;;;;1411:69;1392:3;;1361:129;;;;1506:5;1499:12;;;1167:351;;;;;:::o;5:134:-1:-;83:13;;101:33;83:13;101:33;:::i;164:722::-;;292:3;285:4;277:6;273:17;269:27;259:2;;310:1;307;300:12;259:2;340:6;334:13;362:80;377:64;434:6;377:64;:::i;:::-;362:80;:::i;:::-;353:89;;459:5;484:6;477:5;470:21;514:4;506:6;502:17;492:27;;536:4;531:3;527:14;520:21;;589:6;636:3;628:4;620:6;616:17;611:3;607:27;604:36;601:2;;;653:1;650;643:12;601:2;678:1;663:217;688:6;685:1;682:13;663:217;;;746:3;768:48;812:3;800:10;768:48;:::i;:::-;756:61;;-1:-1;840:4;831:14;;;;859;;;;;710:1;703:9;663:217;;;667:14;252:634;;;;;;;:::o;894:801::-;;;;;1085:3;1073:9;1064:7;1060:23;1056:33;1053:2;;;1102:1;1099;1092:12;1053:2;1137:1;1154:64;1210:7;1190:9;1154:64;:::i;:::-;1144:74;;1116:108;1255:2;1273:64;1329:7;1320:6;1309:9;1305:22;1273:64;:::i;:::-;1263:74;;1234:109;1374:2;1392:64;1448:7;1439:6;1428:9;1424:22;1392:64;:::i;:::-;1382:74;;1353:109;1514:2;1503:9;1499:18;1493:25;-1:-1;;;;;1530:6;1527:30;1524:2;;;1570:1;1567;1560:12;1524:2;1590:89;1671:7;1662:6;1651:9;1647:22;1590:89;:::i;:::-;1580:99;;1472:213;1047:648;;;;;;;:::o;1702:256::-;1764:2;1758:9;1790:17;;;-1:-1;;;;;1850:34;;1886:22;;;1847:62;1844:2;;;1922:1;1919;1912:12;1844:2;1938;1931:22;1742:216;;-1:-1;1742:216::o;1965:304::-;;-1:-1;;;;;2116:6;2113:30;2110:2;;;2156:1;2153;2146:12;2110:2;-1:-1;2191:4;2179:17;;;2244:15;;2047:222::o;2276:91::-;;-1:-1;;;;;2436:54;;2338:24;2419:76::o;2502:117::-;2571:24;2589:5;2571:24;:::i;:::-;2564:5;2561:35;2551:2;;2610:1;2607;2600:12;2551:2;2545:74;:::o;:::-;865:7502:238;;;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b506004361061009e5760003560e01c8063893d20e811610066578063893d20e81461012a57806397c0ac871461013f5780639be918e614610147578063c10e7d1514610167578063ec421ea01461017a5761009e565b806306bfa938146100a357806327082f73146100cc5780634b164140146100e15780634c8f6529146100f6578063727212f614610109575b600080fd5b6100b66100b13660046110e4565b61018d565b6040516100c391906116a1565b60405180910390f35b6100d46101e9565b6040516100c391906115ef565b6100f46100ef366004611162565b61024b565b005b6100f4610104366004611162565b610370565b61011c610117366004611128565b6103e8565b6040516100c3929190611600565b6101326105c8565b6040516100c391906115b9565b610132610660565b61015a6101553660046110e4565b610684565b6040516100c39190611625565b6100f46101753660046111a4565b6106a2565b6100f4610188366004611162565b610acb565b610195610f51565b506001600160a01b0380821660009081526001602090815260409182902082516060810184529054938416815260ff600160a01b8504811692820192909252600160a81b909304161515908201525b919050565b6060600080548060200260200160405190810160405280929190818152602001828054801561024157602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610223575b5050505050905090565b6102536105c8565b6001600160a01b0316336001600160a01b03161461028c5760405162461bcd60e51b815260040161028390611651565b60405180910390fd5b60005b8181101561036b576102bb8383838181106102a657fe5b905060200201602081019061015591906110e4565b1561036357600160008484848181106102d057fe5b90506020020160208101906102e591906110e4565b6001600160a01b03168152602081019190915260400160002080546001600160b01b031916905582828281811061031857fe5b905060200201602081019061032d91906110e4565b6001600160a01b03167f4106dfdaa577573db51c0ca93f766dbedfa0758faa2e7f5bcdb7c142be803c3f60405160405180910390a25b60010161028f565b505050565b6103786105c8565b6001600160a01b0316336001600160a01b0316146103a85760405162461bcd60e51b815260040161028390611651565b6103e4828280806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250610bf892505050565b5050565b6060806103f3610f51565b6103fc8561018d565b905080604001511561048c5760405163fa6e671d60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063fa6e671d9061045990309060009081906004016115c7565b600060405180830381600087803b15801561047357600080fd5b505af1158015610487573d6000803e3d6000fd5b505050505b604080516001808252818301909252906020808301908036833750506040805160018082528183019092529295509050602080830190803683370190505091508060000151836000815181106104de57fe5b60200260200101906001600160a01b031690816001600160a01b0316815250506105a66ec097ce7bc90715b34b9f10000000006105a0836020015160ff16600a0a61059a896001600160a01b031663679aefce6040518163ffffffff1660e01b815260040160206040518083038186803b15801561055b57600080fd5b505afa15801561056f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061059391906112ae565b8990610ccc565b90610ccc565b90610d0d565b826000815181106105b357fe5b602002602001018181525050505b9250929050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561062357600080fd5b505afa158015610637573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061065b919061110a565b905090565b7f000000000000000000000000000000000000000000000000000000000000000090565b6000806106908361018d565b516001600160a01b0316141592915050565b6106aa6105c8565b6001600160a01b0316336001600160a01b0316146106da5760405162461bcd60e51b815260040161028390611651565b8281146106f95760405162461bcd60e51b815260040161028390611661565b60005b83811015610ac4576107138585838181106102a657fe5b156107305760405162461bcd60e51b815260040161028390611691565b61075985858381811061073f57fe5b905060200201602081019061075491906110e4565b610d3f565b6107755760405162461bcd60e51b815260040161028390611641565b60607f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f94d46688787858181106107b257fe5b90506020020160208101906107c791906110e4565b6001600160a01b03166338fff2d06040518163ffffffff1660e01b815260040160206040518083038186803b1580156107ff57600080fd5b505afa158015610813573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061083791906112ae565b6040518263ffffffff1660e01b81526004016108539190611633565b60006040518083038186803b15801561086b57600080fd5b505afa15801561087f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526108a79190810190611214565b5050905060405180606001604052808585858181106108c257fe5b90506020020160208101906108d791906110e4565b6001600160a01b031681526020018585858181106108f157fe5b905060200201602081019061090691906110e4565b6001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561093e57600080fd5b505afa158015610952573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061097691906112cc565b60ff1681526020016109a8837f0000000000000000000000000000000000000000000000000000000000000000610e03565b15159052600160008888868181106109bc57fe5b90506020020160208101906109d191906110e4565b6001600160a01b0390811682526020808301939093526040918201600020845181549486015195909301511515600160a81b0260ff60a81b1960ff909616600160a01b0260ff60a01b19949093166001600160a01b031990951694909417929092161792909216179055838383818110610a4757fe5b9050602002016020810190610a5c91906110e4565b6001600160a01b0316868684818110610a7157fe5b9050602002016020810190610a8691906110e4565b6001600160a01b03167f95f865c2808f8b2a85eea2611db7843150ee7835ef1403f9755918a97d76933c60405160405180910390a3506001016106fc565b5050505050565b610ad36105c8565b6001600160a01b0316336001600160a01b031614610b035760405162461bcd60e51b815260040161028390611651565b60005b8181101561036b57610b3a838383818110610b1d57fe5b9050602002016020810190610b3291906110e4565b600090610e59565b15610b9657828282818110610b4b57fe5b9050602002016020810190610b6091906110e4565b6001600160a01b03167faf425cea5645b25ac2f49fdb1a46bf13689e763057f4e556078fea1cc2ecfb9b60405160405180910390a25b600101610b06565b8154600090815b81811015610beb57848181548110610bb957fe5b6000918252602090912001546001600160a01b0385811691161415610be357600192505050610bf2565b600101610ba5565b5060009150505b92915050565b60005b81518110156103e457610c2b828281518110610c1357fe5b60200260200101516000610b9e90919063ffffffff16565b610cc4576000828281518110610c3d57fe5b60209081029190910181015182546001810184556000938452919092200180546001600160a01b0319166001600160a01b039092169190911790558151829082908110610c8657fe5b60200260200101516001600160a01b03167fed48b5354ebc9ec871d70260374c2cdc552ec57a6b36e1dbc1fbdbe0921c136f60405160405180910390a25b600101610bfb565b600082610cdb57506000610bf2565b82820282848281610ce857fe5b0414610d065760405162461bcd60e51b815260040161028390611681565b9392505050565b6000808211610d2e5760405162461bcd60e51b815260040161028390611671565b818381610d3757fe5b049392505050565b6000805b600054811015610dfa5760008181548110610d5a57fe5b600091825260209091200154604051636634b75360e01b81526001600160a01b0390911690636634b75390610d939086906004016115b9565b60206040518083038186803b158015610dab57600080fd5b505afa158015610dbf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610de39190611290565b15610df25760019150506101e4565b600101610d43565b50600092915050565b6000805b8351811015610e4f57838181518110610e1c57fe5b60200260200101516001600160a01b0316836001600160a01b03161415610e47576001915050610bf2565b600101610e07565b5060009392505050565b8154600090815b81811015610f4957836001600160a01b0316858281548110610e7e57fe5b6000918252602090912001546001600160a01b03161415610f415760018203811015610f0c57846001830381548110610eb357fe5b9060005260206000200160009054906101000a90046001600160a01b0316858281548110610edd57fe5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055505b84805480610f1657fe5b600082815260209020810160001990810180546001600160a01b031916905501905560019250610f49565b600101610e60565b505092915050565b604080516060810182526000808252602082018190529181019190915290565b8035610bf281611740565b8051610bf281611740565b60008083601f840112610f9957600080fd5b50813567ffffffffffffffff811115610fb157600080fd5b6020830191508360208202830111156105c157600080fd5b600082601f830112610fda57600080fd5b8151610fed610fe8826116d6565b6116af565b9150818183526020840193506020810190508385602084028201111561101257600080fd5b60005b8381101561103e57816110288882610f7c565b8452506020928301929190910190600101611015565b5050505092915050565b600082601f83011261105957600080fd5b8151611067610fe8826116d6565b9150818183526020840193506020810190508385602084028201111561108c57600080fd5b60005b8381101561103e57816110a288826110c3565b845250602092830192919091019060010161108f565b8051610bf281611757565b8051610bf281611760565b8035610bf281611760565b8051610bf281611769565b6000602082840312156110f657600080fd5b60006111028484610f71565b949350505050565b60006020828403121561111c57600080fd5b60006111028484610f7c565b6000806040838503121561113b57600080fd5b60006111478585610f71565b9250506020611158858286016110ce565b9150509250929050565b6000806020838503121561117557600080fd5b823567ffffffffffffffff81111561118c57600080fd5b61119885828601610f87565b92509250509250929050565b600080600080604085870312156111ba57600080fd5b843567ffffffffffffffff8111156111d157600080fd5b6111dd87828801610f87565b9450945050602085013567ffffffffffffffff8111156111fc57600080fd5b61120887828801610f87565b95989497509550505050565b60008060006060848603121561122957600080fd5b835167ffffffffffffffff81111561124057600080fd5b61124c86828701610fc9565b935050602084015167ffffffffffffffff81111561126957600080fd5b61127586828701611048565b9250506040611286868287016110c3565b9150509250925092565b6000602082840312156112a257600080fd5b600061110284846110b8565b6000602082840312156112c057600080fd5b600061110284846110c3565b6000602082840312156112de57600080fd5b600061110284846110d9565b60006112f68383611319565b505060200190565b60006112f683836113d2565b6113138161172f565b82525050565b6113138161170a565b600061132d826116fd565b6113378185611701565b9350611342836116f7565b8060005b8381101561137057815161135a88826112ea565b9750611365836116f7565b925050600101611346565b509495945050505050565b6000611386826116fd565b6113908185611701565b935061139b836116f7565b8060005b838110156113705781516113b388826112fe565b97506113be836116f7565b92505060010161139f565b61131381611715565b6113138161171a565b60006113e8601983611701565b7f616464506f6f6c733a20496e76616c696420666163746f727900000000000000815260200192915050565b6000611421604983611701565b7f6f6e6c7946756e644465706c6f7965724f776e65723a204f6e6c79207468652081527f46756e644465706c6f796572206f776e65722063616e2063616c6c207468697360208201526810333ab731ba34b7b760b91b604082015260600192915050565b6000611492601883611701565b7f616464506f6f6c733a20556e657175616c206172726179730000000000000000815260200192915050565b60006114cb601a83611701565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b6000611504602183611701565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000611547601c83611701565b7f616464506f6f6c733a20416c7265616479207265676973746572656400000000815260200192915050565b805160608301906115848482611319565b50602082015161159760208501826115b0565b5060408201516115aa60408501826113c9565b50505050565b61131381611729565b60208101610bf28284611319565b606081016115d58286611319565b6115e2602083018561130a565b61110260408301846113c9565b60208082528101610d068184611322565b604080825281016116118185611322565b90508181036020830152611102818461137b565b60208101610bf282846113c9565b60208101610bf282846113d2565b60208082528101610bf2816113db565b60208082528101610bf281611414565b60208082528101610bf281611485565b60208082528101610bf2816114be565b60208082528101610bf2816114f7565b60208082528101610bf28161153a565b60608101610bf28284611573565b60405181810167ffffffffffffffff811182821017156116ce57600080fd5b604052919050565b600067ffffffffffffffff8211156116ed57600080fd5b5060209081020190565b60200190565b5190565b90815260200190565b6000610bf28261171d565b151590565b90565b6001600160a01b031690565b60ff1690565b6000610bf2826000610bf28261170a565b6117498161170a565b811461175457600080fd5b50565b61174981611715565b6117498161171a565b6117498161172956fea164736f6c634300060c000a", - "sourceMap": "865:7502:238:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8236:129;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7946:117;;;:::i;:::-;;;;;;;:::i;7038:303::-;;;;;;:::i;:::-;;:::i;:::-;;4515:143;;;;;;:::i;:::-;;:::i;2697:1301::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;1064:120:358:-;;;:::i;:::-;;;;;;;:::i;1378:108::-;;;:::i;4171:168:238:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;5853:992::-;;;;;;:::i;:::-;;:::i;4758:334::-;;;;;;:::i;:::-;;:::i;8236:129::-;8293:25;;:::i;:::-;-1:-1:-1;;;;;;8337:21:238;;;;;;;:14;:21;;;;;;;;;8330:28;;;;;;;;;;;;;;;-1:-1:-1;;;8330:28:238;;;;;;;;;;;-1:-1:-1;;;8330:28:238;;;;;;;;;;8236:129;;;;:::o;7946:117::-;7997:27;8043:13;8036:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8036:20:238;;;;;;;;;;;;;;;;;;;;;;;7946:117;:::o;7038:303::-;679:10:358;:8;:10::i;:::-;-1:-1:-1;;;;;665:24:358;:10;-1:-1:-1;;;;;665:24:358;;644:144;;;;-1:-1:-1;;;644:144:358;;;;;;;:::i;:::-;;;;;;;;;7132:9:238::1;7127:208;7143:17:::0;;::::1;7127:208;;;7185:27;7202:6;;7209:1;7202:9;;;;;;;;;;;;;;;;;;;;:::i;7185:27::-;7181:144;;;7239:14;:25;7254:6;;7261:1;7254:9;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;7239:25:238::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;7239:25:238;7232:32;;-1:-1:-1;;;;;;7232:32:238;;;7300:6;;7307:1;7300:9;;::::1;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;7288:22:238::1;;;;;;;;;;;7181:144;7162:3;;7127:208;;;;7038:303:::0;;:::o;4515:143::-;679:10:358;:8;:10::i;:::-;-1:-1:-1;;;;;665:24:358;:10;-1:-1:-1;;;;;665:24:358;;644:144;;;;-1:-1:-1;;;644:144:358;;;;;;;:::i;:::-;4617:34:238::1;4636:14;;4617:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;4617:18:238::1;::::0;-1:-1:-1;;;4617:34:238:i:1;:::-;4515:143:::0;;:::o;2697:1301::-;2826:29;2857:35;2908:24;;:::i;:::-;2935;2947:11;2935;:24::i;:::-;2908:51;;3233:8;:28;;;3229:344;;;3486:76;;-1:-1:-1;;;3486:76:238;;-1:-1:-1;;;;;3486:23:238;:42;;;;:76;;3537:4;;3552:1;;;;3486:76;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3229:344;3598:16;;;3612:1;3598:16;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3645:16:238;;;3659:1;3645:16;;;;;;;;;3583:31;;-1:-1:-1;3659:1:238;-1:-1:-1;3645:16:238;;;;;;;;;;;-1:-1:-1;3645:16:238;3624:37;;3690:8;:28;;;3672:12;3685:1;3672:15;;;;;;;;;;;;;:46;-1:-1:-1;;;;;3672:46:238;;;-1:-1:-1;;;;;3672:46:238;;;;;3752:187;1698:6;3752:148;3862:8;:36;;;3854:45;;3850:2;:49;3752:80;3809:11;-1:-1:-1;;;;;3787:42:238;;:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3752:17;;:34;:80::i;:::-;:97;;:148::i;:::-;:165;;:187::i;:::-;3728:18;3747:1;3728:21;;;;;;;;;;;;;:211;;;;;3950:41;2697:1301;;;;;;:::o;1064:120:358:-;1105:14;1152:13;-1:-1:-1;;;;;1138:37:358;;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1131:46;;1064:120;:::o;1378:108::-;1466:13;1378:108;:::o;4171:168:238:-;4243:17;;4279:19;4291:6;4279:11;:19::i;:::-;:39;-1:-1:-1;;;;;4279:53:238;;;;4171:168;-1:-1:-1;;4171:168:238:o;5853:992::-;679:10:358;:8;:10::i;:::-;-1:-1:-1;;;;;665:24:358;:10;-1:-1:-1;;;;;665:24:358;;644:144;;;;-1:-1:-1;;;644:144:358;;;;;;;:::i;:::-;6009:45:238;;::::1;6001:82;;;;-1:-1:-1::0;;;6001:82:238::1;;;;;;;:::i;:::-;6099:9;6094:745;6110:17:::0;;::::1;6094:745;;;6157:27;6174:6;;6181:1;6174:9;;;;;;6157:27;6156:28;6148:69;;;;-1:-1:-1::0;;;6148:69:238::1;;;;;;;:::i;:::-;6239:30;6259:6;;6266:1;6259:9;;;;;;;;;;;;;;;;;;;;:::i;:::-;6239:19;:30::i;:::-;6231:68;;;;-1:-1:-1::0;;;6231:68:238::1;;;;;;;:::i;:::-;6315:27;6350:23;-1:-1:-1::0;;;;;6350:37:238::1;;6427:6;;6434:1;6427:9;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;6405:42:238::1;;:44;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6350:113;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;::::0;;::::1;-1:-1:-1::0;;6350:113:238::1;::::0;::::1;;::::0;::::1;::::0;;;::::1;::::0;::::1;:::i;:::-;6314:149;;;;6506:256;;;;;;;;6554:21;;6576:1;6554:24;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;6506:256:238::1;;;;;6631:21;;6653:1;6631:24;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;6625:40:238::1;;:42;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6506:256;;::::0;;::::1;;6706:41;:10:::0;6726:20:::1;6706:19;:41::i;:::-;6506:256;;::::0;;6478:14:::1;:25;6493:6:::0;;6500:1;6493:9;;::::1;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;6478:25:238;;::::1;::::0;;::::1;::::0;;::::1;::::0;;;;;;;;-1:-1:-1;6478:25:238;:284;;;;;;::::1;::::0;;;;::::1;::::0;::::1;;-1:-1:-1::0;;;6478:284:238::1;-1:-1:-1::0;;;;6478:284:238::1;::::0;;::::1;-1:-1:-1::0;;;6478:284:238::1;-1:-1:-1::0;;;;6478:284:238;;;::::1;-1:-1:-1::0;;;;;;6478:284:238;;::::1;::::0;;;::::1;::::0;;;::::1;;::::0;;;::::1;;::::0;;6803:21;;6825:1;6803:24;;::::1;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;6782:46:238::1;6792:6;;6799:1;6792:9;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;6782:46:238::1;;;;;;;;;;;-1:-1:-1::0;6129:3:238::1;;6094:745;;;;5853:992:::0;;;;:::o;4758:334::-;679:10:358;:8;:10::i;:::-;-1:-1:-1;;;;;665:24:358;:10;-1:-1:-1;;;;;665:24:358;;644:144;;;;-1:-1:-1;;;644:144:358;;;;;;;:::i;:::-;4888:9:238::1;4883:203;4899:25:::0;;::::1;4883:203;;;4949:50;4981:14;;4996:1;4981:17;;;;;;;;;;;;;;;;;;;;:::i;:::-;4949:13;::::0;:31:::1;:50::i;:::-;4945:131;;;5043:14;;5058:1;5043:17;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;5024:37:238::1;;;;;;;;;;;4945:131;4926:3;;4883:203;;1167:351:354::0;1339:12;;1286:17;;;1361:129;1381:9;1377:1;:13;1361:129;;;1426:5;1432:1;1426:8;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1415:19:354;;;1426:8;;1415:19;1411:69;;;1461:4;1454:11;;;;;;1411:69;1392:3;;1361:129;;;;1506:5;1499:12;;;1167:351;;;;;:::o;5178:346:238:-;5262:9;5257:261;5277:14;:21;5273:1;:25;5257:261;;;5324:53;5359:14;5374:1;5359:17;;;;;;;;;;;;;;5324:13;:34;;:53;;;;:::i;:::-;5319:189;;5397:13;5416:14;5431:1;5416:17;;;;;;;;;;;;;;;;;;;5397:37;;;;;;;-1:-1:-1;5397:37:238;;;;;;;;;;-1:-1:-1;;;;;;5397:37:238;-1:-1:-1;;;;;5397:37:238;;;;;;;;;5475:17;;;;5490:1;;5475:17;;;;;;;;;;;;-1:-1:-1;;;;;5458:35:238;;;;;;;;;;;5319:189;5300:3;;5257:261;;3538:215:442;3596:7;3619:6;3615:20;;-1:-1:-1;3634:1:442;3627:8;;3615:20;3657:5;;;3661:1;3657;:5;:1;3680:5;;;;;:10;3672:56;;;;-1:-1:-1;;;3672:56:442;;;;;;;:::i;:::-;3745:1;3538:215;-1:-1:-1;;;3538:215:442:o;4217:150::-;4275:7;4306:1;4302;:5;4294:44;;;;-1:-1:-1;;;4294:44:442;;;;;;;:::i;:::-;4359:1;4355;:5;;;;;;;4217:150;-1:-1:-1;;;4217:150:442:o;7434:306:238:-;7500:13;7530:9;7525:186;7545:13;:20;7541:24;;7525:186;;;7613:13;7627:1;7613:16;;;;;;;;;;;;;;;;;;7590:65;;-1:-1:-1;;;7590:65:238;;-1:-1:-1;;;;;7613:16:238;;;;7590:58;;:65;;7649:5;;7590:65;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7586:115;;;7682:4;7675:11;;;;;7586:115;7567:3;;7525:186;;;-1:-1:-1;7728:5:238;;7434:306;-1:-1:-1;;7434:306:238:o;2489:299:354:-;2595:17;2633:9;2628:132;2648:5;:12;2644:1;:16;2628:132;;;2696:5;2702:1;2696:8;;;;;;;;;;;;;;-1:-1:-1;;;;;2685:19:354;:7;-1:-1:-1;;;;;2685:19:354;;2681:69;;;2731:4;2724:11;;;;;2681:69;2662:3;;2628:132;;;-1:-1:-1;2776:5:354;;2489:299;-1:-1:-1;;;2489:299:354:o;569:515::-;727:12;;678:13;;;749:303;769:9;765:1;:13;749:303;;;815:13;-1:-1:-1;;;;;803:25:354;:5;809:1;803:8;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;803:8:354;:25;799:243;;;868:1;856:9;:13;852:1;:17;848:95;;;904:5;922:1;910:9;:13;904:20;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;904:20:354;893:5;899:1;893:8;;;;;;;;;;;;;;;;:31;;;;;-1:-1:-1;;;;;893:31:354;;;;;-1:-1:-1;;;;;893:31:354;;;;;;848:95;960:5;:11;;;;;;;;;;;;;;;;-1:-1:-1;;960:11:354;;;;;-1:-1:-1;;;;;;960:11:354;;;;;;;;-1:-1:-1;1022:5:354;;799:243;780:3;;749:303;;;;1062:15;569:515;;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5:130::-;72:20;;97:33;72:20;97:33;:::i;142:134::-;220:13;;238:33;220:13;238:33;:::i;301:352::-;;;431:3;424:4;416:6;412:17;408:27;398:2;;449:1;446;439:12;398:2;-1:-1;469:20;;509:18;498:30;;495:2;;;541:1;538;531:12;495:2;575:4;567:6;563:17;551:29;;626:3;618:4;610:6;606:17;596:8;592:32;589:41;586:2;;;643:1;640;633:12;679:722;;807:3;800:4;792:6;788:17;784:27;774:2;;825:1;822;815:12;774:2;855:6;849:13;877:80;892:64;949:6;892:64;:::i;:::-;877:80;:::i;:::-;868:89;;974:5;999:6;992:5;985:21;1029:4;1021:6;1017:17;1007:27;;1051:4;1046:3;1042:14;1035:21;;1104:6;1151:3;1143:4;1135:6;1131:17;1126:3;1122:27;1119:36;1116:2;;;1168:1;1165;1158:12;1116:2;1193:1;1178:217;1203:6;1200:1;1197:13;1178:217;;;1261:3;1283:48;1327:3;1315:10;1283:48;:::i;:::-;1271:61;;-1:-1;1355:4;1346:14;;;;1374;;;;;1225:1;1218:9;1178:217;;;1182:14;767:634;;;;;;;:::o;1427:722::-;;1555:3;1548:4;1540:6;1536:17;1532:27;1522:2;;1573:1;1570;1563:12;1522:2;1603:6;1597:13;1625:80;1640:64;1697:6;1640:64;:::i;1625:80::-;1616:89;;1722:5;1747:6;1740:5;1733:21;1777:4;1769:6;1765:17;1755:27;;1799:4;1794:3;1790:14;1783:21;;1852:6;1899:3;1891:4;1883:6;1879:17;1874:3;1870:27;1867:36;1864:2;;;1916:1;1913;1906:12;1864:2;1941:1;1926:217;1951:6;1948:1;1945:13;1926:217;;;2009:3;2031:48;2075:3;2063:10;2031:48;:::i;:::-;2019:61;;-1:-1;2103:4;2094:14;;;;2122;;;;;1973:1;1966:9;1926:217;;2157:128;2232:13;;2250:30;2232:13;2250:30;:::i;2292:134::-;2370:13;;2388:33;2370:13;2388:33;:::i;2433:130::-;2500:20;;2525:33;2500:20;2525:33;:::i;2711:130::-;2787:13;;2805:31;2787:13;2805:31;:::i;2848:241::-;;2952:2;2940:9;2931:7;2927:23;2923:32;2920:2;;;2968:1;2965;2958:12;2920:2;3003:1;3020:53;3065:7;3045:9;3020:53;:::i;:::-;3010:63;2914:175;-1:-1;;;;2914:175::o;3096:263::-;;3211:2;3199:9;3190:7;3186:23;3182:32;3179:2;;;3227:1;3224;3217:12;3179:2;3262:1;3279:64;3335:7;3315:9;3279:64;:::i;3366:366::-;;;3487:2;3475:9;3466:7;3462:23;3458:32;3455:2;;;3503:1;3500;3493:12;3455:2;3538:1;3555:53;3600:7;3580:9;3555:53;:::i;:::-;3545:63;;3517:97;3645:2;3663:53;3708:7;3699:6;3688:9;3684:22;3663:53;:::i;:::-;3653:63;;3624:98;3449:283;;;;;:::o;3739:397::-;;;3878:2;3866:9;3857:7;3853:23;3849:32;3846:2;;;3894:1;3891;3884:12;3846:2;3929:31;;3980:18;3969:30;;3966:2;;;4012:1;4009;4002:12;3966:2;4040:80;4112:7;4103:6;4092:9;4088:22;4040:80;:::i;:::-;4022:98;;;;3908:218;3840:296;;;;;:::o;4143:678::-;;;;;4334:2;4322:9;4313:7;4309:23;4305:32;4302:2;;;4350:1;4347;4340:12;4302:2;4385:31;;4436:18;4425:30;;4422:2;;;4468:1;4465;4458:12;4422:2;4496:80;4568:7;4559:6;4548:9;4544:22;4496:80;:::i;:::-;4478:98;;;;4364:218;4641:2;4630:9;4626:18;4613:32;4665:18;4657:6;4654:30;4651:2;;;4697:1;4694;4687:12;4651:2;4725:80;4797:7;4788:6;4777:9;4773:22;4725:80;:::i;:::-;4296:525;;;;-1:-1;4707:98;-1:-1;;;;4296:525::o;4828:793::-;;;;5027:2;5015:9;5006:7;5002:23;4998:32;4995:2;;;5043:1;5040;5033:12;4995:2;5078:24;;5122:18;5111:30;;5108:2;;;5154:1;5151;5144:12;5108:2;5174:89;5255:7;5246:6;5235:9;5231:22;5174:89;:::i;:::-;5164:99;;5057:212;5321:2;5310:9;5306:18;5300:25;5345:18;5337:6;5334:30;5331:2;;;5377:1;5374;5367:12;5331:2;5397:89;5478:7;5469:6;5458:9;5454:22;5397:89;:::i;:::-;5387:99;;5279:213;5523:2;5541:64;5597:7;5588:6;5577:9;5573:22;5541:64;:::i;:::-;5531:74;;5502:109;4989:632;;;;;:::o;5628:257::-;;5740:2;5728:9;5719:7;5715:23;5711:32;5708:2;;;5756:1;5753;5746:12;5708:2;5791:1;5808:61;5861:7;5841:9;5808:61;:::i;5892:263::-;;6007:2;5995:9;5986:7;5982:23;5978:32;5975:2;;;6023:1;6020;6013:12;5975:2;6058:1;6075:64;6131:7;6111:9;6075:64;:::i;6432:259::-;;6545:2;6533:9;6524:7;6520:23;6516:32;6513:2;;;6561:1;6558;6551:12;6513:2;6596:1;6613:62;6667:7;6647:9;6613:62;:::i;6699:173::-;;6786:46;6828:3;6820:6;6786:46;:::i;:::-;-1:-1;;6861:4;6852:14;;6779:93::o;6881:173::-;;6968:46;7010:3;7002:6;6968:46;:::i;7062:142::-;7153:45;7192:5;7153:45;:::i;:::-;7148:3;7141:58;7135:69;;:::o;7211:103::-;7284:24;7302:5;7284:24;:::i;7472:690::-;;7617:54;7665:5;7617:54;:::i;:::-;7684:86;7763:6;7758:3;7684:86;:::i;:::-;7677:93;;7791:56;7841:5;7791:56;:::i;:::-;7867:7;7895:1;7880:260;7905:6;7902:1;7899:13;7880:260;;;7972:6;7966:13;7993:63;8052:3;8037:13;7993:63;:::i;:::-;7986:70;;8073:60;8126:6;8073:60;:::i;:::-;8063:70;-1:-1;;7927:1;7920:9;7880:260;;;-1:-1;8153:3;;7596:566;-1:-1;;;;;7596:566::o;8201:690::-;;8346:54;8394:5;8346:54;:::i;:::-;8413:86;8492:6;8487:3;8413:86;:::i;:::-;8406:93;;8520:56;8570:5;8520:56;:::i;:::-;8596:7;8624:1;8609:260;8634:6;8631:1;8628:13;8609:260;;;8701:6;8695:13;8722:63;8781:3;8766:13;8722:63;:::i;:::-;8715:70;;8802:60;8855:6;8802:60;:::i;:::-;8792:70;-1:-1;;8656:1;8649:9;8609:260;;8899:94;8966:21;8981:5;8966:21;:::i;9111:113::-;9194:24;9212:5;9194:24;:::i;9232:325::-;;9392:67;9456:2;9451:3;9392:67;:::i;:::-;9492:27;9472:48;;9548:2;9539:12;;9378:179;-1:-1;;9378:179::o;9566:447::-;;9726:67;9790:2;9785:3;9726:67;:::i;:::-;9826:34;9806:55;;9895:34;9890:2;9881:12;;9874:56;-1:-1;;;9959:2;9950:12;;9943:33;10004:2;9995:12;;9712:301;-1:-1;;9712:301::o;10022:324::-;;10182:67;10246:2;10241:3;10182:67;:::i;:::-;10282:26;10262:47;;10337:2;10328:12;;10168:178;-1:-1;;10168:178::o;10355:326::-;;10515:67;10579:2;10574:3;10515:67;:::i;:::-;10615:28;10595:49;;10672:2;10663:12;;10501:180;-1:-1;;10501:180::o;10690:370::-;;10850:67;10914:2;10909:3;10850:67;:::i;:::-;10950:34;10930:55;;-1:-1;;;11014:2;11005:12;;10998:25;11051:2;11042:12;;10836:224;-1:-1;;10836:224::o;11069:328::-;;11229:67;11293:2;11288:3;11229:67;:::i;:::-;11329:30;11309:51;;11388:2;11379:12;;11215:182;-1:-1;;11215:182::o;11506:677::-;11734:23;;11653:4;11644:14;;;11763:63;11648:3;11734:23;11763:63;:::i;:::-;11673:159;11928:4;11921:5;11917:16;11911:23;11940:59;11993:4;11988:3;11984:14;11970:12;11940:59;:::i;:::-;11842:163;12093:4;12086:5;12082:16;12076:23;12105:57;12156:4;12151:3;12147:14;12133:12;12105:57;:::i;:::-;12015:153;11626:557;;;:::o;12300:97::-;12369:22;12385:5;12369:22;:::i;12404:222::-;12531:2;12516:18;;12545:71;12520:9;12589:6;12545:71;:::i;12633:448::-;12818:2;12803:18;;12832:71;12807:9;12876:6;12832:71;:::i;:::-;12914:80;12990:2;12979:9;12975:18;12966:6;12914:80;:::i;:::-;13005:66;13067:2;13056:9;13052:18;13043:6;13005:66;:::i;13088:370::-;13265:2;13279:47;;;13250:18;;13340:108;13250:18;13434:6;13340:108;:::i;13465:629::-;13720:2;13734:47;;;13705:18;;13795:108;13705:18;13889:6;13795:108;:::i;:::-;13787:116;;13951:9;13945:4;13941:20;13936:2;13925:9;13921:18;13914:48;13976:108;14079:4;14070:6;13976:108;:::i;14101:210::-;14222:2;14207:18;;14236:65;14211:9;14274:6;14236:65;:::i;14318:222::-;14445:2;14430:18;;14459:71;14434:9;14503:6;14459:71;:::i;14547:416::-;14747:2;14761:47;;;14732:18;;14822:131;14732:18;14822:131;:::i;14970:416::-;15170:2;15184:47;;;15155:18;;15245:131;15155:18;15245:131;:::i;15393:416::-;15593:2;15607:47;;;15578:18;;15668:131;15578:18;15668:131;:::i;15816:416::-;16016:2;16030:47;;;16001:18;;16091:131;16001:18;16091:131;:::i;16239:416::-;16439:2;16453:47;;;16424:18;;16514:131;16424:18;16514:131;:::i;16662:416::-;16862:2;16876:47;;;16847:18;;16937:131;16847:18;16937:131;:::i;17085:330::-;17266:2;17251:18;;17280:125;17255:9;17378:6;17280:125;:::i;17422:256::-;17484:2;17478:9;17510:17;;;17585:18;17570:34;;17606:22;;;17567:62;17564:2;;;17642:1;17639;17632:12;17564:2;17658;17651:22;17462:216;;-1:-1;17462:216::o;17685:304::-;;17844:18;17836:6;17833:30;17830:2;;;17876:1;17873;17866:12;17830:2;-1:-1;17911:4;17899:17;;;17964:15;;17767:222::o;18307:151::-;18431:4;18422:14;;18379:79::o;18623:137::-;18726:12;;18697:63::o;19142:178::-;19260:19;;;19309:4;19300:14;;19253:67::o;19687:91::-;;19749:24;19767:5;19749:24;:::i;19785:85::-;19851:13;19844:21;;19827:43::o;19877:72::-;19939:5;19922:27::o;19956:121::-;-1:-1;;;;;20018:54;;20001:76::o;20163:81::-;20234:4;20223:16;;20206:38::o;20251:129::-;;20338:37;20369:5;20387:121;20466:37;20497:5;20466:37;:::i;20630:117::-;20699:24;20717:5;20699:24;:::i;:::-;20692:5;20689:35;20679:2;;20738:1;20735;20728:12;20679:2;20673:74;:::o;20754:111::-;20820:21;20835:5;20820:21;:::i;20872:117::-;20941:24;20959:5;20941:24;:::i;21120:113::-;21187:22;21203:5;21187:22;:::i", - "linkReferences": {}, - "immutableReferences": { - "62574": [ - { - "start": 1055, - "length": 32 - }, - { - "start": 1913, - "length": 32 - } - ], - "62576": [ - { - "start": 2436, - "length": 32 - } - ], - "78707": [ - { - "start": 1484, - "length": 32 - }, - { - "start": 1634, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "addPoolFactories(address[])": "4c8f6529", - "addPools(address[],address[])": "c10e7d15", - "calcUnderlyingValues(address,uint256)": "727212f6", - "getFundDeployer()": "97c0ac87", - "getOwner()": "893d20e8", - "getPoolFactories()": "27082f73", - "getPoolInfo(address)": "06bfa938", - "isSupportedAsset(address)": "9be918e6", - "removePoolFactories(address[])": "ec421ea0", - "removePools(address[])": "4b164140" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_fundDeployer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_wrappedNativeAsset\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_balancerVault\",\"type\":\"address\"},{\"internalType\":\"address[]\",\"name\":\"_poolFactories\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"pool\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"invariantProxyAsset\",\"type\":\"address\"}],\"name\":\"PoolAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"poolFactory\",\"type\":\"address\"}],\"name\":\"PoolFactoryAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"poolFactory\",\"type\":\"address\"}],\"name\":\"PoolFactoryRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"pool\",\"type\":\"address\"}],\"name\":\"PoolRemoved\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_poolFactories\",\"type\":\"address[]\"}],\"name\":\"addPoolFactories\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_pools\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"_invariantProxyAssets\",\"type\":\"address[]\"}],\"name\":\"addPools\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_derivative\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_derivativeAmount\",\"type\":\"uint256\"}],\"name\":\"calcUnderlyingValues\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"underlyings_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"underlyingAmounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFundDeployer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"fundDeployer_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPoolFactories\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"factories_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_pool\",\"type\":\"address\"}],\"name\":\"getPoolInfo\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"invariantProxyAsset\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"invariantProxyAssetDecimals\",\"type\":\"uint8\"},{\"internalType\":\"bool\",\"name\":\"containsNativeAsset\",\"type\":\"bool\"}],\"internalType\":\"struct BalancerV2StablePoolPriceFeed.PoolInfo\",\"name\":\"poolInfo_\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"}],\"name\":\"isSupportedAsset\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isSupported_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_poolFactories\",\"type\":\"address[]\"}],\"name\":\"removePoolFactories\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_pools\",\"type\":\"address[]\"}],\"name\":\"removePools\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"addPoolFactories(address[])\":{\"params\":{\"_poolFactories\":\"Pool factories to add\"}},\"addPools(address[],address[])\":{\"params\":{\"_invariantProxyAssets\":\"The ordered invariant proxy assets corresponding to _pools, e.g., WETH for ETH-based pools\",\"_pools\":\"The ordered Balancer pools (BPTs)\"}},\"calcUnderlyingValues(address,uint256)\":{\"params\":{\"_derivative\":\"The derivative to convert\",\"_derivativeAmount\":\"The amount of the derivative to convert\"},\"returns\":{\"underlyingAmounts_\":\"The amount of each underlying asset for the equivalent derivative amount\",\"underlyings_\":\"The underlying assets for the _derivative\"}},\"getFundDeployer()\":{\"returns\":{\"fundDeployer_\":\"The `FUND_DEPLOYER` variable value\"}},\"getOwner()\":{\"details\":\"Ownership is deferred to the owner of the FundDeployer contract\",\"returns\":{\"owner_\":\"The owner\"}},\"getPoolFactories()\":{\"returns\":{\"factories_\":\"Factory addresses\"}},\"getPoolInfo(address)\":{\"params\":{\"_pool\":\"The Balancer pool (BPT)\"},\"returns\":{\"poolInfo_\":\"The PoolInfo\"}},\"isSupportedAsset(address)\":{\"params\":{\"_asset\":\"The asset to check\"},\"returns\":{\"isSupported_\":\"True if the asset is supported\"}},\"removePoolFactories(address[])\":{\"params\":{\"_poolFactories\":\"Pool factories to remove\"}},\"removePools(address[])\":{\"details\":\"Unlikely to be needed, just in case of bad storage entry\",\"params\":{\"_pools\":\"The Balancer pools (BPTs) to remove\"}}},\"title\":\"BalancerV2StablePoolPriceFeed Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"addPoolFactories(address[])\":{\"notice\":\"Adds pool factories\"},\"addPools(address[],address[])\":{\"notice\":\"Adds Balancer pool info to the price feed\"},\"calcUnderlyingValues(address,uint256)\":{\"notice\":\"Converts a given amount of a derivative to its underlying asset values\"},\"getFundDeployer()\":{\"notice\":\"Gets the `FUND_DEPLOYER` variable\"},\"getOwner()\":{\"notice\":\"Gets the owner of this contract\"},\"getPoolFactories()\":{\"notice\":\"Gets the stored pool factory addresses\"},\"getPoolInfo(address)\":{\"notice\":\"Gets the stored PoolInfo for a given pool\"},\"isSupportedAsset(address)\":{\"notice\":\"Checks if an asset is supported by the price feed\"},\"removePoolFactories(address[])\":{\"notice\":\"Removes pool factories\"},\"removePools(address[])\":{\"notice\":\"Removes Balancer pools from the price feed\"}},\"notice\":\"Price source oracle for Balancer Pool Tokens (BPT) of stable pools\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/infrastructure/price-feeds/derivatives/feeds/BalancerV2StablePoolPriceFeed.sol\":\"BalancerV2StablePoolPriceFeed\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol\":{\"keccak256\":\"0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e\",\"dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK\"]},\"contracts/release/infrastructure/price-feeds/derivatives/feeds/BalancerV2StablePoolPriceFeed.sol\":{\"keccak256\":\"0xd6fd38fde80566608218f8b28ccd1c90dd3d5f094a2924482f57845bb355ac9d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://fd39794833b3b18ea115900b4aee4f8ec156ae00968e3efcbbde5ab0a68571aa\",\"dweb:/ipfs/QmZhNq2xEcfeVtjn6EeuGLePM8YkUpde8f4B4Mjp3wRvoQ\"]},\"contracts/release/interfaces/IBalancerV2PoolFactory.sol\":{\"keccak256\":\"0xb3b90f93ed2fe906f9a6ce15f537c36f33b24a8e3328e4ccbb011a719edd2de5\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://88571ee529345dd703fa0e5e71182c13cc194e9d6e73176a3c5f1fa94067367a\",\"dweb:/ipfs/QmaPS6tDuHDNdd6aYMBB7Syptoju6T37KgXuA6jXD6hgCK\"]},\"contracts/release/interfaces/IBalancerV2StablePool.sol\":{\"keccak256\":\"0x0b6f74af639f73cbc9c90df6c0debf8019ae4ae146691111ccad18e94a215bc9\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c47b18d336736a9898d9e65dcaab180416798372e45adbe98140f1db29d730df\",\"dweb:/ipfs/Qmedw2eAV6qoCVpdU1GNRTsBJSsgtrNPpXLgy1nzQ7B888\"]},\"contracts/release/interfaces/IBalancerV2Vault.sol\":{\"keccak256\":\"0xb3c8da122ab160129c74ffeb0310ff96c4977d65eef12888bc1a8276fa2a3fd2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c9c89c1e04327c6fa45fbdf9ae8fd132ed95c9101ab49d078ef99c6590c30867\",\"dweb:/ipfs/QmWKrLQg5xBVmi6snaAwU3zUTjxQ6ugYj6n45x1hqRxv9A\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/FundDeployerOwnerMixin.sol\":{\"keccak256\":\"0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927\",\"dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_fundDeployer", - "type": "address" - }, - { - "internalType": "address", - "name": "_wrappedNativeAsset", - "type": "address" - }, - { - "internalType": "address", - "name": "_balancerVault", - "type": "address" - }, - { - "internalType": "address[]", - "name": "_poolFactories", - "type": "address[]" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "pool", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "invariantProxyAsset", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "PoolAdded", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "poolFactory", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "PoolFactoryAdded", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "poolFactory", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "PoolFactoryRemoved", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "pool", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "PoolRemoved", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_poolFactories", - "type": "address[]" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "addPoolFactories" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_pools", - "type": "address[]" - }, - { - "internalType": "address[]", - "name": "_invariantProxyAssets", - "type": "address[]" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "addPools" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_derivative", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_derivativeAmount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "calcUnderlyingValues", - "outputs": [ - { - "internalType": "address[]", - "name": "underlyings_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "underlyingAmounts_", - "type": "uint256[]" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getFundDeployer", - "outputs": [ - { - "internalType": "address", - "name": "fundDeployer_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "owner_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getPoolFactories", - "outputs": [ - { - "internalType": "address[]", - "name": "factories_", - "type": "address[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_pool", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getPoolInfo", - "outputs": [ - { - "internalType": "struct BalancerV2StablePoolPriceFeed.PoolInfo", - "name": "poolInfo_", - "type": "tuple", - "components": [ - { - "internalType": "address", - "name": "invariantProxyAsset", - "type": "address" - }, - { - "internalType": "uint8", - "name": "invariantProxyAssetDecimals", - "type": "uint8" - }, - { - "internalType": "bool", - "name": "containsNativeAsset", - "type": "bool" - } - ] - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_asset", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "isSupportedAsset", - "outputs": [ - { - "internalType": "bool", - "name": "isSupported_", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_poolFactories", - "type": "address[]" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "removePoolFactories" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_pools", - "type": "address[]" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "removePools" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "addPoolFactories(address[])": { - "params": { - "_poolFactories": "Pool factories to add" - } - }, - "addPools(address[],address[])": { - "params": { - "_invariantProxyAssets": "The ordered invariant proxy assets corresponding to _pools, e.g., WETH for ETH-based pools", - "_pools": "The ordered Balancer pools (BPTs)" - } - }, - "calcUnderlyingValues(address,uint256)": { - "params": { - "_derivative": "The derivative to convert", - "_derivativeAmount": "The amount of the derivative to convert" - }, - "returns": { - "underlyingAmounts_": "The amount of each underlying asset for the equivalent derivative amount", - "underlyings_": "The underlying assets for the _derivative" - } - }, - "getFundDeployer()": { - "returns": { - "fundDeployer_": "The `FUND_DEPLOYER` variable value" - } - }, - "getOwner()": { - "details": "Ownership is deferred to the owner of the FundDeployer contract", - "returns": { - "owner_": "The owner" - } - }, - "getPoolFactories()": { - "returns": { - "factories_": "Factory addresses" - } - }, - "getPoolInfo(address)": { - "params": { - "_pool": "The Balancer pool (BPT)" - }, - "returns": { - "poolInfo_": "The PoolInfo" - } - }, - "isSupportedAsset(address)": { - "params": { - "_asset": "The asset to check" - }, - "returns": { - "isSupported_": "True if the asset is supported" - } - }, - "removePoolFactories(address[])": { - "params": { - "_poolFactories": "Pool factories to remove" - } - }, - "removePools(address[])": { - "details": "Unlikely to be needed, just in case of bad storage entry", - "params": { - "_pools": "The Balancer pools (BPTs) to remove" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "addPoolFactories(address[])": { - "notice": "Adds pool factories" - }, - "addPools(address[],address[])": { - "notice": "Adds Balancer pool info to the price feed" - }, - "calcUnderlyingValues(address,uint256)": { - "notice": "Converts a given amount of a derivative to its underlying asset values" - }, - "getFundDeployer()": { - "notice": "Gets the `FUND_DEPLOYER` variable" - }, - "getOwner()": { - "notice": "Gets the owner of this contract" - }, - "getPoolFactories()": { - "notice": "Gets the stored pool factory addresses" - }, - "getPoolInfo(address)": { - "notice": "Gets the stored PoolInfo for a given pool" - }, - "isSupportedAsset(address)": { - "notice": "Checks if an asset is supported by the price feed" - }, - "removePoolFactories(address[])": { - "notice": "Removes pool factories" - }, - "removePools(address[])": { - "notice": "Removes Balancer pools from the price feed" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/infrastructure/price-feeds/derivatives/feeds/BalancerV2StablePoolPriceFeed.sol": "BalancerV2StablePoolPriceFeed" - }, - "libraries": {} - }, - "sources": { - "contracts/release/core/fund-deployer/IFundDeployer.sol": { - "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", - "urls": [ - "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", - "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol": { - "keccak256": "0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332", - "urls": [ - "bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e", - "dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/price-feeds/derivatives/feeds/BalancerV2StablePoolPriceFeed.sol": { - "keccak256": "0xd6fd38fde80566608218f8b28ccd1c90dd3d5f094a2924482f57845bb355ac9d", - "urls": [ - "bzz-raw://fd39794833b3b18ea115900b4aee4f8ec156ae00968e3efcbbde5ab0a68571aa", - "dweb:/ipfs/QmZhNq2xEcfeVtjn6EeuGLePM8YkUpde8f4B4Mjp3wRvoQ" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IBalancerV2PoolFactory.sol": { - "keccak256": "0xb3b90f93ed2fe906f9a6ce15f537c36f33b24a8e3328e4ccbb011a719edd2de5", - "urls": [ - "bzz-raw://88571ee529345dd703fa0e5e71182c13cc194e9d6e73176a3c5f1fa94067367a", - "dweb:/ipfs/QmaPS6tDuHDNdd6aYMBB7Syptoju6T37KgXuA6jXD6hgCK" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IBalancerV2StablePool.sol": { - "keccak256": "0x0b6f74af639f73cbc9c90df6c0debf8019ae4ae146691111ccad18e94a215bc9", - "urls": [ - "bzz-raw://c47b18d336736a9898d9e65dcaab180416798372e45adbe98140f1db29d730df", - "dweb:/ipfs/Qmedw2eAV6qoCVpdU1GNRTsBJSsgtrNPpXLgy1nzQ7B888" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IBalancerV2Vault.sol": { - "keccak256": "0xb3c8da122ab160129c74ffeb0310ff96c4977d65eef12888bc1a8276fa2a3fd2", - "urls": [ - "bzz-raw://c9c89c1e04327c6fa45fbdf9ae8fd132ed95c9101ab49d078ef99c6590c30867", - "dweb:/ipfs/QmWKrLQg5xBVmi6snaAwU3zUTjxQ6ugYj6n45x1hqRxv9A" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AddressArrayLib.sol": { - "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", - "urls": [ - "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", - "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/FundDeployerOwnerMixin.sol": { - "keccak256": "0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934", - "urls": [ - "bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927", - "dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 238 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_fundDeployer", "type": "address", "internalType": "address" }, { "name": "_wrappedNativeAsset", "type": "address", "internalType": "address" }, { "name": "_balancerVault", "type": "address", "internalType": "address" }, { "name": "_poolFactories", "type": "address[]", "internalType": "address[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "addPoolFactories", "inputs": [ { "name": "_poolFactories", "type": "address[]", "internalType": "address[]" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "addPools", "inputs": [ { "name": "_pools", "type": "address[]", "internalType": "address[]" }, { "name": "_invariantProxyAssets", "type": "address[]", "internalType": "address[]" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "calcUnderlyingValues", "inputs": [ { "name": "_derivative", "type": "address", "internalType": "address" }, { "name": "_derivativeAmount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "underlyings_", "type": "address[]", "internalType": "address[]" }, { "name": "underlyingAmounts_", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "getFundDeployer", "inputs": [], "outputs": [ { "name": "fundDeployer_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getOwner", "inputs": [], "outputs": [ { "name": "owner_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getPoolFactories", "inputs": [], "outputs": [ { "name": "factories_", "type": "address[]", "internalType": "address[]" } ], "stateMutability": "view" }, { "type": "function", "name": "getPoolInfo", "inputs": [ { "name": "_pool", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "poolInfo_", "type": "tuple", "internalType": "struct BalancerV2StablePoolPriceFeed.PoolInfo", "components": [ { "name": "invariantProxyAsset", "type": "address", "internalType": "address" }, { "name": "invariantProxyAssetDecimals", "type": "uint8", "internalType": "uint8" }, { "name": "containsNativeAsset", "type": "bool", "internalType": "bool" } ] } ], "stateMutability": "view" }, { "type": "function", "name": "isSupportedAsset", "inputs": [ { "name": "_asset", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "isSupported_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "removePoolFactories", "inputs": [ { "name": "_poolFactories", "type": "address[]", "internalType": "address[]" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "removePools", "inputs": [ { "name": "_pools", "type": "address[]", "internalType": "address[]" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "event", "name": "PoolAdded", "inputs": [ { "name": "pool", "type": "address", "indexed": true, "internalType": "address" }, { "name": "invariantProxyAsset", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "PoolFactoryAdded", "inputs": [ { "name": "poolFactory", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "PoolFactoryRemoved", "inputs": [ { "name": "poolFactory", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "PoolRemoved", "inputs": [ { "name": "pool", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false } ], "bytecode": { "object": "0x60e06040523480156200001157600080fd5b5060405162001afa38038062001afa833981016040819052620000349162000245565b6001600160601b0319606085811b821660805283811b821660a05284901b1660c05262000061816200006b565b505050506200033b565b60005b81518110156200014c57620000a78282815181106200008957fe5b602002602001015160006200015060201b62000b9e1790919060201c565b62000143576000828281518110620000bb57fe5b60209081029190910181015182546001810184556000938452919092200180546001600160a01b0319166001600160a01b0390921691909117905581518290829081106200010557fe5b60200260200101516001600160a01b03167fed48b5354ebc9ec871d70260374c2cdc552ec57a6b36e1dbc1fbdbe0921c136f60405160405180910390a25b6001016200006e565b5050565b8154600090815b81811015620001a2578481815481106200016d57fe5b6000918252602090912001546001600160a01b03858116911614156200019957600192505050620001a9565b60010162000157565b5060009150505b92915050565b8051620001a98162000321565b600082601f830112620001ce57600080fd5b8151620001e5620001df82620002ee565b620002c7565b915081818352602084019350602081019050838560208402820111156200020b57600080fd5b60005b838110156200023b5781620002248882620001af565b84525060209283019291909101906001016200020e565b5050505092915050565b600080600080608085870312156200025c57600080fd5b60006200026a8787620001af565b94505060206200027d87828801620001af565b93505060406200029087828801620001af565b92505060608501516001600160401b03811115620002ad57600080fd5b620002bb87828801620001bc565b91505092959194509250565b6040518181016001600160401b0381118282101715620002e657600080fd5b604052919050565b60006001600160401b038211156200030557600080fd5b5060209081020190565b60006001600160a01b038216620001a9565b6200032c816200030f565b81146200033857600080fd5b50565b60805160601c60a05160601c60c05160601c61177f6200037b6000398061098452508061041f52806107795250806105cc5280610662525061177f6000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c8063893d20e811610066578063893d20e81461012a57806397c0ac871461013f5780639be918e614610147578063c10e7d1514610167578063ec421ea01461017a5761009e565b806306bfa938146100a357806327082f73146100cc5780634b164140146100e15780634c8f6529146100f6578063727212f614610109575b600080fd5b6100b66100b13660046110e4565b61018d565b6040516100c391906116a1565b60405180910390f35b6100d46101e9565b6040516100c391906115ef565b6100f46100ef366004611162565b61024b565b005b6100f4610104366004611162565b610370565b61011c610117366004611128565b6103e8565b6040516100c3929190611600565b6101326105c8565b6040516100c391906115b9565b610132610660565b61015a6101553660046110e4565b610684565b6040516100c39190611625565b6100f46101753660046111a4565b6106a2565b6100f4610188366004611162565b610acb565b610195610f51565b506001600160a01b0380821660009081526001602090815260409182902082516060810184529054938416815260ff600160a01b8504811692820192909252600160a81b909304161515908201525b919050565b6060600080548060200260200160405190810160405280929190818152602001828054801561024157602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610223575b5050505050905090565b6102536105c8565b6001600160a01b0316336001600160a01b03161461028c5760405162461bcd60e51b815260040161028390611651565b60405180910390fd5b60005b8181101561036b576102bb8383838181106102a657fe5b905060200201602081019061015591906110e4565b1561036357600160008484848181106102d057fe5b90506020020160208101906102e591906110e4565b6001600160a01b03168152602081019190915260400160002080546001600160b01b031916905582828281811061031857fe5b905060200201602081019061032d91906110e4565b6001600160a01b03167f4106dfdaa577573db51c0ca93f766dbedfa0758faa2e7f5bcdb7c142be803c3f60405160405180910390a25b60010161028f565b505050565b6103786105c8565b6001600160a01b0316336001600160a01b0316146103a85760405162461bcd60e51b815260040161028390611651565b6103e4828280806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250610bf892505050565b5050565b6060806103f3610f51565b6103fc8561018d565b905080604001511561048c5760405163fa6e671d60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063fa6e671d9061045990309060009081906004016115c7565b600060405180830381600087803b15801561047357600080fd5b505af1158015610487573d6000803e3d6000fd5b505050505b604080516001808252818301909252906020808301908036833750506040805160018082528183019092529295509050602080830190803683370190505091508060000151836000815181106104de57fe5b60200260200101906001600160a01b031690816001600160a01b0316815250506105a66ec097ce7bc90715b34b9f10000000006105a0836020015160ff16600a0a61059a896001600160a01b031663679aefce6040518163ffffffff1660e01b815260040160206040518083038186803b15801561055b57600080fd5b505afa15801561056f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061059391906112ae565b8990610ccc565b90610ccc565b90610d0d565b826000815181106105b357fe5b602002602001018181525050505b9250929050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561062357600080fd5b505afa158015610637573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061065b919061110a565b905090565b7f000000000000000000000000000000000000000000000000000000000000000090565b6000806106908361018d565b516001600160a01b0316141592915050565b6106aa6105c8565b6001600160a01b0316336001600160a01b0316146106da5760405162461bcd60e51b815260040161028390611651565b8281146106f95760405162461bcd60e51b815260040161028390611661565b60005b83811015610ac4576107138585838181106102a657fe5b156107305760405162461bcd60e51b815260040161028390611691565b61075985858381811061073f57fe5b905060200201602081019061075491906110e4565b610d3f565b6107755760405162461bcd60e51b815260040161028390611641565b60607f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f94d46688787858181106107b257fe5b90506020020160208101906107c791906110e4565b6001600160a01b03166338fff2d06040518163ffffffff1660e01b815260040160206040518083038186803b1580156107ff57600080fd5b505afa158015610813573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061083791906112ae565b6040518263ffffffff1660e01b81526004016108539190611633565b60006040518083038186803b15801561086b57600080fd5b505afa15801561087f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526108a79190810190611214565b5050905060405180606001604052808585858181106108c257fe5b90506020020160208101906108d791906110e4565b6001600160a01b031681526020018585858181106108f157fe5b905060200201602081019061090691906110e4565b6001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561093e57600080fd5b505afa158015610952573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061097691906112cc565b60ff1681526020016109a8837f0000000000000000000000000000000000000000000000000000000000000000610e03565b15159052600160008888868181106109bc57fe5b90506020020160208101906109d191906110e4565b6001600160a01b0390811682526020808301939093526040918201600020845181549486015195909301511515600160a81b0260ff60a81b1960ff909616600160a01b0260ff60a01b19949093166001600160a01b031990951694909417929092161792909216179055838383818110610a4757fe5b9050602002016020810190610a5c91906110e4565b6001600160a01b0316868684818110610a7157fe5b9050602002016020810190610a8691906110e4565b6001600160a01b03167f95f865c2808f8b2a85eea2611db7843150ee7835ef1403f9755918a97d76933c60405160405180910390a3506001016106fc565b5050505050565b610ad36105c8565b6001600160a01b0316336001600160a01b031614610b035760405162461bcd60e51b815260040161028390611651565b60005b8181101561036b57610b3a838383818110610b1d57fe5b9050602002016020810190610b3291906110e4565b600090610e59565b15610b9657828282818110610b4b57fe5b9050602002016020810190610b6091906110e4565b6001600160a01b03167faf425cea5645b25ac2f49fdb1a46bf13689e763057f4e556078fea1cc2ecfb9b60405160405180910390a25b600101610b06565b8154600090815b81811015610beb57848181548110610bb957fe5b6000918252602090912001546001600160a01b0385811691161415610be357600192505050610bf2565b600101610ba5565b5060009150505b92915050565b60005b81518110156103e457610c2b828281518110610c1357fe5b60200260200101516000610b9e90919063ffffffff16565b610cc4576000828281518110610c3d57fe5b60209081029190910181015182546001810184556000938452919092200180546001600160a01b0319166001600160a01b039092169190911790558151829082908110610c8657fe5b60200260200101516001600160a01b03167fed48b5354ebc9ec871d70260374c2cdc552ec57a6b36e1dbc1fbdbe0921c136f60405160405180910390a25b600101610bfb565b600082610cdb57506000610bf2565b82820282848281610ce857fe5b0414610d065760405162461bcd60e51b815260040161028390611681565b9392505050565b6000808211610d2e5760405162461bcd60e51b815260040161028390611671565b818381610d3757fe5b049392505050565b6000805b600054811015610dfa5760008181548110610d5a57fe5b600091825260209091200154604051636634b75360e01b81526001600160a01b0390911690636634b75390610d939086906004016115b9565b60206040518083038186803b158015610dab57600080fd5b505afa158015610dbf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610de39190611290565b15610df25760019150506101e4565b600101610d43565b50600092915050565b6000805b8351811015610e4f57838181518110610e1c57fe5b60200260200101516001600160a01b0316836001600160a01b03161415610e47576001915050610bf2565b600101610e07565b5060009392505050565b8154600090815b81811015610f4957836001600160a01b0316858281548110610e7e57fe5b6000918252602090912001546001600160a01b03161415610f415760018203811015610f0c57846001830381548110610eb357fe5b9060005260206000200160009054906101000a90046001600160a01b0316858281548110610edd57fe5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055505b84805480610f1657fe5b600082815260209020810160001990810180546001600160a01b031916905501905560019250610f49565b600101610e60565b505092915050565b604080516060810182526000808252602082018190529181019190915290565b8035610bf281611740565b8051610bf281611740565b60008083601f840112610f9957600080fd5b50813567ffffffffffffffff811115610fb157600080fd5b6020830191508360208202830111156105c157600080fd5b600082601f830112610fda57600080fd5b8151610fed610fe8826116d6565b6116af565b9150818183526020840193506020810190508385602084028201111561101257600080fd5b60005b8381101561103e57816110288882610f7c565b8452506020928301929190910190600101611015565b5050505092915050565b600082601f83011261105957600080fd5b8151611067610fe8826116d6565b9150818183526020840193506020810190508385602084028201111561108c57600080fd5b60005b8381101561103e57816110a288826110c3565b845250602092830192919091019060010161108f565b8051610bf281611757565b8051610bf281611760565b8035610bf281611760565b8051610bf281611769565b6000602082840312156110f657600080fd5b60006111028484610f71565b949350505050565b60006020828403121561111c57600080fd5b60006111028484610f7c565b6000806040838503121561113b57600080fd5b60006111478585610f71565b9250506020611158858286016110ce565b9150509250929050565b6000806020838503121561117557600080fd5b823567ffffffffffffffff81111561118c57600080fd5b61119885828601610f87565b92509250509250929050565b600080600080604085870312156111ba57600080fd5b843567ffffffffffffffff8111156111d157600080fd5b6111dd87828801610f87565b9450945050602085013567ffffffffffffffff8111156111fc57600080fd5b61120887828801610f87565b95989497509550505050565b60008060006060848603121561122957600080fd5b835167ffffffffffffffff81111561124057600080fd5b61124c86828701610fc9565b935050602084015167ffffffffffffffff81111561126957600080fd5b61127586828701611048565b9250506040611286868287016110c3565b9150509250925092565b6000602082840312156112a257600080fd5b600061110284846110b8565b6000602082840312156112c057600080fd5b600061110284846110c3565b6000602082840312156112de57600080fd5b600061110284846110d9565b60006112f68383611319565b505060200190565b60006112f683836113d2565b6113138161172f565b82525050565b6113138161170a565b600061132d826116fd565b6113378185611701565b9350611342836116f7565b8060005b8381101561137057815161135a88826112ea565b9750611365836116f7565b925050600101611346565b509495945050505050565b6000611386826116fd565b6113908185611701565b935061139b836116f7565b8060005b838110156113705781516113b388826112fe565b97506113be836116f7565b92505060010161139f565b61131381611715565b6113138161171a565b60006113e8601983611701565b7f616464506f6f6c733a20496e76616c696420666163746f727900000000000000815260200192915050565b6000611421604983611701565b7f6f6e6c7946756e644465706c6f7965724f776e65723a204f6e6c79207468652081527f46756e644465706c6f796572206f776e65722063616e2063616c6c207468697360208201526810333ab731ba34b7b760b91b604082015260600192915050565b6000611492601883611701565b7f616464506f6f6c733a20556e657175616c206172726179730000000000000000815260200192915050565b60006114cb601a83611701565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b6000611504602183611701565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000611547601c83611701565b7f616464506f6f6c733a20416c7265616479207265676973746572656400000000815260200192915050565b805160608301906115848482611319565b50602082015161159760208501826115b0565b5060408201516115aa60408501826113c9565b50505050565b61131381611729565b60208101610bf28284611319565b606081016115d58286611319565b6115e2602083018561130a565b61110260408301846113c9565b60208082528101610d068184611322565b604080825281016116118185611322565b90508181036020830152611102818461137b565b60208101610bf282846113c9565b60208101610bf282846113d2565b60208082528101610bf2816113db565b60208082528101610bf281611414565b60208082528101610bf281611485565b60208082528101610bf2816114be565b60208082528101610bf2816114f7565b60208082528101610bf28161153a565b60608101610bf28284611573565b60405181810167ffffffffffffffff811182821017156116ce57600080fd5b604052919050565b600067ffffffffffffffff8211156116ed57600080fd5b5060209081020190565b60200190565b5190565b90815260200190565b6000610bf28261171d565b151590565b90565b6001600160a01b031690565b60ff1690565b6000610bf2826000610bf28261170a565b6117498161170a565b811461175457600080fd5b50565b61174981611715565b6117498161171a565b6117498161172956fea164736f6c634300060c000a", "sourceMap": "865:7502:238:-:0;;;1923:376;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;864:29:358;;;;;;;;2137:58:238;;;;;::::1;::::0;2205:42;;;;::::1;::::0;2258:34:::1;2277:14:::0;2258:18:::1;:34::i;:::-;1923:376:::0;;;;865:7502;;5178:346;5262:9;5257:261;5277:14;:21;5273:1;:25;5257:261;;;5324:53;5359:14;5374:1;5359:17;;;;;;;;;;;;;;5324:13;:34;;;;;;:53;;;;:::i;:::-;5319:189;;5397:13;5416:14;5431:1;5416:17;;;;;;;;;;;;;;;;;;;5397:37;;;;;;;-1:-1:-1;5397:37:238;;;;;;;;;;-1:-1:-1;;;;;;5397:37:238;-1:-1:-1;;;;;5397:37:238;;;;;;;;;5475:17;;;;5490:1;;5475:17;;;;;;;;;;;;-1:-1:-1;;;;;5458:35:238;;;;;;;;;;;5319:189;5300:3;;5257:261;;;;5178:346;:::o;1167:351:354:-;1339:12;;1286:17;;;1361:129;1381:9;1377:1;:13;1361:129;;;1426:5;1432:1;1426:8;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1415:19:354;;;1426:8;;1415:19;1411:69;;;1461:4;1454:11;;;;;;1411:69;1392:3;;1361:129;;;;1506:5;1499:12;;;1167:351;;;;;:::o;5:134:-1:-;83:13;;101:33;83:13;101:33;:::i;164:722::-;;292:3;285:4;277:6;273:17;269:27;259:2;;310:1;307;300:12;259:2;340:6;334:13;362:80;377:64;434:6;377:64;:::i;:::-;362:80;:::i;:::-;353:89;;459:5;484:6;477:5;470:21;514:4;506:6;502:17;492:27;;536:4;531:3;527:14;520:21;;589:6;636:3;628:4;620:6;616:17;611:3;607:27;604:36;601:2;;;653:1;650;643:12;601:2;678:1;663:217;688:6;685:1;682:13;663:217;;;746:3;768:48;812:3;800:10;768:48;:::i;:::-;756:61;;-1:-1;840:4;831:14;;;;859;;;;;710:1;703:9;663:217;;;667:14;252:634;;;;;;;:::o;894:801::-;;;;;1085:3;1073:9;1064:7;1060:23;1056:33;1053:2;;;1102:1;1099;1092:12;1053:2;1137:1;1154:64;1210:7;1190:9;1154:64;:::i;:::-;1144:74;;1116:108;1255:2;1273:64;1329:7;1320:6;1309:9;1305:22;1273:64;:::i;:::-;1263:74;;1234:109;1374:2;1392:64;1448:7;1439:6;1428:9;1424:22;1392:64;:::i;:::-;1382:74;;1353:109;1514:2;1503:9;1499:18;1493:25;-1:-1;;;;;1530:6;1527:30;1524:2;;;1570:1;1567;1560:12;1524:2;1590:89;1671:7;1662:6;1651:9;1647:22;1590:89;:::i;:::-;1580:99;;1472:213;1047:648;;;;;;;:::o;1702:256::-;1764:2;1758:9;1790:17;;;-1:-1;;;;;1850:34;;1886:22;;;1847:62;1844:2;;;1922:1;1919;1912:12;1844:2;1938;1931:22;1742:216;;-1:-1;1742:216::o;1965:304::-;;-1:-1;;;;;2116:6;2113:30;2110:2;;;2156:1;2153;2146:12;2110:2;-1:-1;2191:4;2179:17;;;2244:15;;2047:222::o;2276:91::-;;-1:-1;;;;;2436:54;;2338:24;2419:76::o;2502:117::-;2571:24;2589:5;2571:24;:::i;:::-;2564:5;2561:35;2551:2;;2610:1;2607;2600:12;2551:2;2545:74;:::o;:::-;865:7502:238;;;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b506004361061009e5760003560e01c8063893d20e811610066578063893d20e81461012a57806397c0ac871461013f5780639be918e614610147578063c10e7d1514610167578063ec421ea01461017a5761009e565b806306bfa938146100a357806327082f73146100cc5780634b164140146100e15780634c8f6529146100f6578063727212f614610109575b600080fd5b6100b66100b13660046110e4565b61018d565b6040516100c391906116a1565b60405180910390f35b6100d46101e9565b6040516100c391906115ef565b6100f46100ef366004611162565b61024b565b005b6100f4610104366004611162565b610370565b61011c610117366004611128565b6103e8565b6040516100c3929190611600565b6101326105c8565b6040516100c391906115b9565b610132610660565b61015a6101553660046110e4565b610684565b6040516100c39190611625565b6100f46101753660046111a4565b6106a2565b6100f4610188366004611162565b610acb565b610195610f51565b506001600160a01b0380821660009081526001602090815260409182902082516060810184529054938416815260ff600160a01b8504811692820192909252600160a81b909304161515908201525b919050565b6060600080548060200260200160405190810160405280929190818152602001828054801561024157602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610223575b5050505050905090565b6102536105c8565b6001600160a01b0316336001600160a01b03161461028c5760405162461bcd60e51b815260040161028390611651565b60405180910390fd5b60005b8181101561036b576102bb8383838181106102a657fe5b905060200201602081019061015591906110e4565b1561036357600160008484848181106102d057fe5b90506020020160208101906102e591906110e4565b6001600160a01b03168152602081019190915260400160002080546001600160b01b031916905582828281811061031857fe5b905060200201602081019061032d91906110e4565b6001600160a01b03167f4106dfdaa577573db51c0ca93f766dbedfa0758faa2e7f5bcdb7c142be803c3f60405160405180910390a25b60010161028f565b505050565b6103786105c8565b6001600160a01b0316336001600160a01b0316146103a85760405162461bcd60e51b815260040161028390611651565b6103e4828280806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250610bf892505050565b5050565b6060806103f3610f51565b6103fc8561018d565b905080604001511561048c5760405163fa6e671d60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063fa6e671d9061045990309060009081906004016115c7565b600060405180830381600087803b15801561047357600080fd5b505af1158015610487573d6000803e3d6000fd5b505050505b604080516001808252818301909252906020808301908036833750506040805160018082528183019092529295509050602080830190803683370190505091508060000151836000815181106104de57fe5b60200260200101906001600160a01b031690816001600160a01b0316815250506105a66ec097ce7bc90715b34b9f10000000006105a0836020015160ff16600a0a61059a896001600160a01b031663679aefce6040518163ffffffff1660e01b815260040160206040518083038186803b15801561055b57600080fd5b505afa15801561056f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061059391906112ae565b8990610ccc565b90610ccc565b90610d0d565b826000815181106105b357fe5b602002602001018181525050505b9250929050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561062357600080fd5b505afa158015610637573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061065b919061110a565b905090565b7f000000000000000000000000000000000000000000000000000000000000000090565b6000806106908361018d565b516001600160a01b0316141592915050565b6106aa6105c8565b6001600160a01b0316336001600160a01b0316146106da5760405162461bcd60e51b815260040161028390611651565b8281146106f95760405162461bcd60e51b815260040161028390611661565b60005b83811015610ac4576107138585838181106102a657fe5b156107305760405162461bcd60e51b815260040161028390611691565b61075985858381811061073f57fe5b905060200201602081019061075491906110e4565b610d3f565b6107755760405162461bcd60e51b815260040161028390611641565b60607f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f94d46688787858181106107b257fe5b90506020020160208101906107c791906110e4565b6001600160a01b03166338fff2d06040518163ffffffff1660e01b815260040160206040518083038186803b1580156107ff57600080fd5b505afa158015610813573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061083791906112ae565b6040518263ffffffff1660e01b81526004016108539190611633565b60006040518083038186803b15801561086b57600080fd5b505afa15801561087f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526108a79190810190611214565b5050905060405180606001604052808585858181106108c257fe5b90506020020160208101906108d791906110e4565b6001600160a01b031681526020018585858181106108f157fe5b905060200201602081019061090691906110e4565b6001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561093e57600080fd5b505afa158015610952573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061097691906112cc565b60ff1681526020016109a8837f0000000000000000000000000000000000000000000000000000000000000000610e03565b15159052600160008888868181106109bc57fe5b90506020020160208101906109d191906110e4565b6001600160a01b0390811682526020808301939093526040918201600020845181549486015195909301511515600160a81b0260ff60a81b1960ff909616600160a01b0260ff60a01b19949093166001600160a01b031990951694909417929092161792909216179055838383818110610a4757fe5b9050602002016020810190610a5c91906110e4565b6001600160a01b0316868684818110610a7157fe5b9050602002016020810190610a8691906110e4565b6001600160a01b03167f95f865c2808f8b2a85eea2611db7843150ee7835ef1403f9755918a97d76933c60405160405180910390a3506001016106fc565b5050505050565b610ad36105c8565b6001600160a01b0316336001600160a01b031614610b035760405162461bcd60e51b815260040161028390611651565b60005b8181101561036b57610b3a838383818110610b1d57fe5b9050602002016020810190610b3291906110e4565b600090610e59565b15610b9657828282818110610b4b57fe5b9050602002016020810190610b6091906110e4565b6001600160a01b03167faf425cea5645b25ac2f49fdb1a46bf13689e763057f4e556078fea1cc2ecfb9b60405160405180910390a25b600101610b06565b8154600090815b81811015610beb57848181548110610bb957fe5b6000918252602090912001546001600160a01b0385811691161415610be357600192505050610bf2565b600101610ba5565b5060009150505b92915050565b60005b81518110156103e457610c2b828281518110610c1357fe5b60200260200101516000610b9e90919063ffffffff16565b610cc4576000828281518110610c3d57fe5b60209081029190910181015182546001810184556000938452919092200180546001600160a01b0319166001600160a01b039092169190911790558151829082908110610c8657fe5b60200260200101516001600160a01b03167fed48b5354ebc9ec871d70260374c2cdc552ec57a6b36e1dbc1fbdbe0921c136f60405160405180910390a25b600101610bfb565b600082610cdb57506000610bf2565b82820282848281610ce857fe5b0414610d065760405162461bcd60e51b815260040161028390611681565b9392505050565b6000808211610d2e5760405162461bcd60e51b815260040161028390611671565b818381610d3757fe5b049392505050565b6000805b600054811015610dfa5760008181548110610d5a57fe5b600091825260209091200154604051636634b75360e01b81526001600160a01b0390911690636634b75390610d939086906004016115b9565b60206040518083038186803b158015610dab57600080fd5b505afa158015610dbf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610de39190611290565b15610df25760019150506101e4565b600101610d43565b50600092915050565b6000805b8351811015610e4f57838181518110610e1c57fe5b60200260200101516001600160a01b0316836001600160a01b03161415610e47576001915050610bf2565b600101610e07565b5060009392505050565b8154600090815b81811015610f4957836001600160a01b0316858281548110610e7e57fe5b6000918252602090912001546001600160a01b03161415610f415760018203811015610f0c57846001830381548110610eb357fe5b9060005260206000200160009054906101000a90046001600160a01b0316858281548110610edd57fe5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055505b84805480610f1657fe5b600082815260209020810160001990810180546001600160a01b031916905501905560019250610f49565b600101610e60565b505092915050565b604080516060810182526000808252602082018190529181019190915290565b8035610bf281611740565b8051610bf281611740565b60008083601f840112610f9957600080fd5b50813567ffffffffffffffff811115610fb157600080fd5b6020830191508360208202830111156105c157600080fd5b600082601f830112610fda57600080fd5b8151610fed610fe8826116d6565b6116af565b9150818183526020840193506020810190508385602084028201111561101257600080fd5b60005b8381101561103e57816110288882610f7c565b8452506020928301929190910190600101611015565b5050505092915050565b600082601f83011261105957600080fd5b8151611067610fe8826116d6565b9150818183526020840193506020810190508385602084028201111561108c57600080fd5b60005b8381101561103e57816110a288826110c3565b845250602092830192919091019060010161108f565b8051610bf281611757565b8051610bf281611760565b8035610bf281611760565b8051610bf281611769565b6000602082840312156110f657600080fd5b60006111028484610f71565b949350505050565b60006020828403121561111c57600080fd5b60006111028484610f7c565b6000806040838503121561113b57600080fd5b60006111478585610f71565b9250506020611158858286016110ce565b9150509250929050565b6000806020838503121561117557600080fd5b823567ffffffffffffffff81111561118c57600080fd5b61119885828601610f87565b92509250509250929050565b600080600080604085870312156111ba57600080fd5b843567ffffffffffffffff8111156111d157600080fd5b6111dd87828801610f87565b9450945050602085013567ffffffffffffffff8111156111fc57600080fd5b61120887828801610f87565b95989497509550505050565b60008060006060848603121561122957600080fd5b835167ffffffffffffffff81111561124057600080fd5b61124c86828701610fc9565b935050602084015167ffffffffffffffff81111561126957600080fd5b61127586828701611048565b9250506040611286868287016110c3565b9150509250925092565b6000602082840312156112a257600080fd5b600061110284846110b8565b6000602082840312156112c057600080fd5b600061110284846110c3565b6000602082840312156112de57600080fd5b600061110284846110d9565b60006112f68383611319565b505060200190565b60006112f683836113d2565b6113138161172f565b82525050565b6113138161170a565b600061132d826116fd565b6113378185611701565b9350611342836116f7565b8060005b8381101561137057815161135a88826112ea565b9750611365836116f7565b925050600101611346565b509495945050505050565b6000611386826116fd565b6113908185611701565b935061139b836116f7565b8060005b838110156113705781516113b388826112fe565b97506113be836116f7565b92505060010161139f565b61131381611715565b6113138161171a565b60006113e8601983611701565b7f616464506f6f6c733a20496e76616c696420666163746f727900000000000000815260200192915050565b6000611421604983611701565b7f6f6e6c7946756e644465706c6f7965724f776e65723a204f6e6c79207468652081527f46756e644465706c6f796572206f776e65722063616e2063616c6c207468697360208201526810333ab731ba34b7b760b91b604082015260600192915050565b6000611492601883611701565b7f616464506f6f6c733a20556e657175616c206172726179730000000000000000815260200192915050565b60006114cb601a83611701565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b6000611504602183611701565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000611547601c83611701565b7f616464506f6f6c733a20416c7265616479207265676973746572656400000000815260200192915050565b805160608301906115848482611319565b50602082015161159760208501826115b0565b5060408201516115aa60408501826113c9565b50505050565b61131381611729565b60208101610bf28284611319565b606081016115d58286611319565b6115e2602083018561130a565b61110260408301846113c9565b60208082528101610d068184611322565b604080825281016116118185611322565b90508181036020830152611102818461137b565b60208101610bf282846113c9565b60208101610bf282846113d2565b60208082528101610bf2816113db565b60208082528101610bf281611414565b60208082528101610bf281611485565b60208082528101610bf2816114be565b60208082528101610bf2816114f7565b60208082528101610bf28161153a565b60608101610bf28284611573565b60405181810167ffffffffffffffff811182821017156116ce57600080fd5b604052919050565b600067ffffffffffffffff8211156116ed57600080fd5b5060209081020190565b60200190565b5190565b90815260200190565b6000610bf28261171d565b151590565b90565b6001600160a01b031690565b60ff1690565b6000610bf2826000610bf28261170a565b6117498161170a565b811461175457600080fd5b50565b61174981611715565b6117498161171a565b6117498161172956fea164736f6c634300060c000a", "sourceMap": "865:7502:238:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8236:129;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7946:117;;;:::i;:::-;;;;;;;:::i;7038:303::-;;;;;;:::i;:::-;;:::i;:::-;;4515:143;;;;;;:::i;:::-;;:::i;2697:1301::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;1064:120:358:-;;;:::i;:::-;;;;;;;:::i;1378:108::-;;;:::i;4171:168:238:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;5853:992::-;;;;;;:::i;:::-;;:::i;4758:334::-;;;;;;:::i;:::-;;:::i;8236:129::-;8293:25;;:::i;:::-;-1:-1:-1;;;;;;8337:21:238;;;;;;;:14;:21;;;;;;;;;8330:28;;;;;;;;;;;;;;;-1:-1:-1;;;8330:28:238;;;;;;;;;;;-1:-1:-1;;;8330:28:238;;;;;;;;;;8236:129;;;;:::o;7946:117::-;7997:27;8043:13;8036:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8036:20:238;;;;;;;;;;;;;;;;;;;;;;;7946:117;:::o;7038:303::-;679:10:358;:8;:10::i;:::-;-1:-1:-1;;;;;665:24:358;:10;-1:-1:-1;;;;;665:24:358;;644:144;;;;-1:-1:-1;;;644:144:358;;;;;;;:::i;:::-;;;;;;;;;7132:9:238::1;7127:208;7143:17:::0;;::::1;7127:208;;;7185:27;7202:6;;7209:1;7202:9;;;;;;;;;;;;;;;;;;;;:::i;7185:27::-;7181:144;;;7239:14;:25;7254:6;;7261:1;7254:9;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;7239:25:238::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;7239:25:238;7232:32;;-1:-1:-1;;;;;;7232:32:238;;;7300:6;;7307:1;7300:9;;::::1;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;7288:22:238::1;;;;;;;;;;;7181:144;7162:3;;7127:208;;;;7038:303:::0;;:::o;4515:143::-;679:10:358;:8;:10::i;:::-;-1:-1:-1;;;;;665:24:358;:10;-1:-1:-1;;;;;665:24:358;;644:144;;;;-1:-1:-1;;;644:144:358;;;;;;;:::i;:::-;4617:34:238::1;4636:14;;4617:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;4617:18:238::1;::::0;-1:-1:-1;;;4617:34:238:i:1;:::-;4515:143:::0;;:::o;2697:1301::-;2826:29;2857:35;2908:24;;:::i;:::-;2935;2947:11;2935;:24::i;:::-;2908:51;;3233:8;:28;;;3229:344;;;3486:76;;-1:-1:-1;;;3486:76:238;;-1:-1:-1;;;;;3486:23:238;:42;;;;:76;;3537:4;;3552:1;;;;3486:76;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3229:344;3598:16;;;3612:1;3598:16;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3645:16:238;;;3659:1;3645:16;;;;;;;;;3583:31;;-1:-1:-1;3659:1:238;-1:-1:-1;3645:16:238;;;;;;;;;;;-1:-1:-1;3645:16:238;3624:37;;3690:8;:28;;;3672:12;3685:1;3672:15;;;;;;;;;;;;;:46;-1:-1:-1;;;;;3672:46:238;;;-1:-1:-1;;;;;3672:46:238;;;;;3752:187;1698:6;3752:148;3862:8;:36;;;3854:45;;3850:2;:49;3752:80;3809:11;-1:-1:-1;;;;;3787:42:238;;:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3752:17;;:34;:80::i;:::-;:97;;:148::i;:::-;:165;;:187::i;:::-;3728:18;3747:1;3728:21;;;;;;;;;;;;;:211;;;;;3950:41;2697:1301;;;;;;:::o;1064:120:358:-;1105:14;1152:13;-1:-1:-1;;;;;1138:37:358;;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1131:46;;1064:120;:::o;1378:108::-;1466:13;1378:108;:::o;4171:168:238:-;4243:17;;4279:19;4291:6;4279:11;:19::i;:::-;:39;-1:-1:-1;;;;;4279:53:238;;;;4171:168;-1:-1:-1;;4171:168:238:o;5853:992::-;679:10:358;:8;:10::i;:::-;-1:-1:-1;;;;;665:24:358;:10;-1:-1:-1;;;;;665:24:358;;644:144;;;;-1:-1:-1;;;644:144:358;;;;;;;:::i;:::-;6009:45:238;;::::1;6001:82;;;;-1:-1:-1::0;;;6001:82:238::1;;;;;;;:::i;:::-;6099:9;6094:745;6110:17:::0;;::::1;6094:745;;;6157:27;6174:6;;6181:1;6174:9;;;;;;6157:27;6156:28;6148:69;;;;-1:-1:-1::0;;;6148:69:238::1;;;;;;;:::i;:::-;6239:30;6259:6;;6266:1;6259:9;;;;;;;;;;;;;;;;;;;;:::i;:::-;6239:19;:30::i;:::-;6231:68;;;;-1:-1:-1::0;;;6231:68:238::1;;;;;;;:::i;:::-;6315:27;6350:23;-1:-1:-1::0;;;;;6350:37:238::1;;6427:6;;6434:1;6427:9;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;6405:42:238::1;;:44;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6350:113;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;::::0;;::::1;-1:-1:-1::0;;6350:113:238::1;::::0;::::1;;::::0;::::1;::::0;;;::::1;::::0;::::1;:::i;:::-;6314:149;;;;6506:256;;;;;;;;6554:21;;6576:1;6554:24;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;6506:256:238::1;;;;;6631:21;;6653:1;6631:24;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;6625:40:238::1;;:42;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6506:256;;::::0;;::::1;;6706:41;:10:::0;6726:20:::1;6706:19;:41::i;:::-;6506:256;;::::0;;6478:14:::1;:25;6493:6:::0;;6500:1;6493:9;;::::1;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;6478:25:238;;::::1;::::0;;::::1;::::0;;::::1;::::0;;;;;;;;-1:-1:-1;6478:25:238;:284;;;;;;::::1;::::0;;;;::::1;::::0;::::1;;-1:-1:-1::0;;;6478:284:238::1;-1:-1:-1::0;;;;6478:284:238::1;::::0;;::::1;-1:-1:-1::0;;;6478:284:238::1;-1:-1:-1::0;;;;6478:284:238;;;::::1;-1:-1:-1::0;;;;;;6478:284:238;;::::1;::::0;;;::::1;::::0;;;::::1;;::::0;;;::::1;;::::0;;6803:21;;6825:1;6803:24;;::::1;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;6782:46:238::1;6792:6;;6799:1;6792:9;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;6782:46:238::1;;;;;;;;;;;-1:-1:-1::0;6129:3:238::1;;6094:745;;;;5853:992:::0;;;;:::o;4758:334::-;679:10:358;:8;:10::i;:::-;-1:-1:-1;;;;;665:24:358;:10;-1:-1:-1;;;;;665:24:358;;644:144;;;;-1:-1:-1;;;644:144:358;;;;;;;:::i;:::-;4888:9:238::1;4883:203;4899:25:::0;;::::1;4883:203;;;4949:50;4981:14;;4996:1;4981:17;;;;;;;;;;;;;;;;;;;;:::i;:::-;4949:13;::::0;:31:::1;:50::i;:::-;4945:131;;;5043:14;;5058:1;5043:17;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;5024:37:238::1;;;;;;;;;;;4945:131;4926:3;;4883:203;;1167:351:354::0;1339:12;;1286:17;;;1361:129;1381:9;1377:1;:13;1361:129;;;1426:5;1432:1;1426:8;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1415:19:354;;;1426:8;;1415:19;1411:69;;;1461:4;1454:11;;;;;;1411:69;1392:3;;1361:129;;;;1506:5;1499:12;;;1167:351;;;;;:::o;5178:346:238:-;5262:9;5257:261;5277:14;:21;5273:1;:25;5257:261;;;5324:53;5359:14;5374:1;5359:17;;;;;;;;;;;;;;5324:13;:34;;:53;;;;:::i;:::-;5319:189;;5397:13;5416:14;5431:1;5416:17;;;;;;;;;;;;;;;;;;;5397:37;;;;;;;-1:-1:-1;5397:37:238;;;;;;;;;;-1:-1:-1;;;;;;5397:37:238;-1:-1:-1;;;;;5397:37:238;;;;;;;;;5475:17;;;;5490:1;;5475:17;;;;;;;;;;;;-1:-1:-1;;;;;5458:35:238;;;;;;;;;;;5319:189;5300:3;;5257:261;;3538:215:442;3596:7;3619:6;3615:20;;-1:-1:-1;3634:1:442;3627:8;;3615:20;3657:5;;;3661:1;3657;:5;:1;3680:5;;;;;:10;3672:56;;;;-1:-1:-1;;;3672:56:442;;;;;;;:::i;:::-;3745:1;3538:215;-1:-1:-1;;;3538:215:442:o;4217:150::-;4275:7;4306:1;4302;:5;4294:44;;;;-1:-1:-1;;;4294:44:442;;;;;;;:::i;:::-;4359:1;4355;:5;;;;;;;4217:150;-1:-1:-1;;;4217:150:442:o;7434:306:238:-;7500:13;7530:9;7525:186;7545:13;:20;7541:24;;7525:186;;;7613:13;7627:1;7613:16;;;;;;;;;;;;;;;;;;7590:65;;-1:-1:-1;;;7590:65:238;;-1:-1:-1;;;;;7613:16:238;;;;7590:58;;:65;;7649:5;;7590:65;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7586:115;;;7682:4;7675:11;;;;;7586:115;7567:3;;7525:186;;;-1:-1:-1;7728:5:238;;7434:306;-1:-1:-1;;7434:306:238:o;2489:299:354:-;2595:17;2633:9;2628:132;2648:5;:12;2644:1;:16;2628:132;;;2696:5;2702:1;2696:8;;;;;;;;;;;;;;-1:-1:-1;;;;;2685:19:354;:7;-1:-1:-1;;;;;2685:19:354;;2681:69;;;2731:4;2724:11;;;;;2681:69;2662:3;;2628:132;;;-1:-1:-1;2776:5:354;;2489:299;-1:-1:-1;;;2489:299:354:o;569:515::-;727:12;;678:13;;;749:303;769:9;765:1;:13;749:303;;;815:13;-1:-1:-1;;;;;803:25:354;:5;809:1;803:8;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;803:8:354;:25;799:243;;;868:1;856:9;:13;852:1;:17;848:95;;;904:5;922:1;910:9;:13;904:20;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;904:20:354;893:5;899:1;893:8;;;;;;;;;;;;;;;;:31;;;;;-1:-1:-1;;;;;893:31:354;;;;;-1:-1:-1;;;;;893:31:354;;;;;;848:95;960:5;:11;;;;;;;;;;;;;;;;-1:-1:-1;;960:11:354;;;;;-1:-1:-1;;;;;;960:11:354;;;;;;;;-1:-1:-1;1022:5:354;;799:243;780:3;;749:303;;;;1062:15;569:515;;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5:130::-;72:20;;97:33;72:20;97:33;:::i;142:134::-;220:13;;238:33;220:13;238:33;:::i;301:352::-;;;431:3;424:4;416:6;412:17;408:27;398:2;;449:1;446;439:12;398:2;-1:-1;469:20;;509:18;498:30;;495:2;;;541:1;538;531:12;495:2;575:4;567:6;563:17;551:29;;626:3;618:4;610:6;606:17;596:8;592:32;589:41;586:2;;;643:1;640;633:12;679:722;;807:3;800:4;792:6;788:17;784:27;774:2;;825:1;822;815:12;774:2;855:6;849:13;877:80;892:64;949:6;892:64;:::i;:::-;877:80;:::i;:::-;868:89;;974:5;999:6;992:5;985:21;1029:4;1021:6;1017:17;1007:27;;1051:4;1046:3;1042:14;1035:21;;1104:6;1151:3;1143:4;1135:6;1131:17;1126:3;1122:27;1119:36;1116:2;;;1168:1;1165;1158:12;1116:2;1193:1;1178:217;1203:6;1200:1;1197:13;1178:217;;;1261:3;1283:48;1327:3;1315:10;1283:48;:::i;:::-;1271:61;;-1:-1;1355:4;1346:14;;;;1374;;;;;1225:1;1218:9;1178:217;;;1182:14;767:634;;;;;;;:::o;1427:722::-;;1555:3;1548:4;1540:6;1536:17;1532:27;1522:2;;1573:1;1570;1563:12;1522:2;1603:6;1597:13;1625:80;1640:64;1697:6;1640:64;:::i;1625:80::-;1616:89;;1722:5;1747:6;1740:5;1733:21;1777:4;1769:6;1765:17;1755:27;;1799:4;1794:3;1790:14;1783:21;;1852:6;1899:3;1891:4;1883:6;1879:17;1874:3;1870:27;1867:36;1864:2;;;1916:1;1913;1906:12;1864:2;1941:1;1926:217;1951:6;1948:1;1945:13;1926:217;;;2009:3;2031:48;2075:3;2063:10;2031:48;:::i;:::-;2019:61;;-1:-1;2103:4;2094:14;;;;2122;;;;;1973:1;1966:9;1926:217;;2157:128;2232:13;;2250:30;2232:13;2250:30;:::i;2292:134::-;2370:13;;2388:33;2370:13;2388:33;:::i;2433:130::-;2500:20;;2525:33;2500:20;2525:33;:::i;2711:130::-;2787:13;;2805:31;2787:13;2805:31;:::i;2848:241::-;;2952:2;2940:9;2931:7;2927:23;2923:32;2920:2;;;2968:1;2965;2958:12;2920:2;3003:1;3020:53;3065:7;3045:9;3020:53;:::i;:::-;3010:63;2914:175;-1:-1;;;;2914:175::o;3096:263::-;;3211:2;3199:9;3190:7;3186:23;3182:32;3179:2;;;3227:1;3224;3217:12;3179:2;3262:1;3279:64;3335:7;3315:9;3279:64;:::i;3366:366::-;;;3487:2;3475:9;3466:7;3462:23;3458:32;3455:2;;;3503:1;3500;3493:12;3455:2;3538:1;3555:53;3600:7;3580:9;3555:53;:::i;:::-;3545:63;;3517:97;3645:2;3663:53;3708:7;3699:6;3688:9;3684:22;3663:53;:::i;:::-;3653:63;;3624:98;3449:283;;;;;:::o;3739:397::-;;;3878:2;3866:9;3857:7;3853:23;3849:32;3846:2;;;3894:1;3891;3884:12;3846:2;3929:31;;3980:18;3969:30;;3966:2;;;4012:1;4009;4002:12;3966:2;4040:80;4112:7;4103:6;4092:9;4088:22;4040:80;:::i;:::-;4022:98;;;;3908:218;3840:296;;;;;:::o;4143:678::-;;;;;4334:2;4322:9;4313:7;4309:23;4305:32;4302:2;;;4350:1;4347;4340:12;4302:2;4385:31;;4436:18;4425:30;;4422:2;;;4468:1;4465;4458:12;4422:2;4496:80;4568:7;4559:6;4548:9;4544:22;4496:80;:::i;:::-;4478:98;;;;4364:218;4641:2;4630:9;4626:18;4613:32;4665:18;4657:6;4654:30;4651:2;;;4697:1;4694;4687:12;4651:2;4725:80;4797:7;4788:6;4777:9;4773:22;4725:80;:::i;:::-;4296:525;;;;-1:-1;4707:98;-1:-1;;;;4296:525::o;4828:793::-;;;;5027:2;5015:9;5006:7;5002:23;4998:32;4995:2;;;5043:1;5040;5033:12;4995:2;5078:24;;5122:18;5111:30;;5108:2;;;5154:1;5151;5144:12;5108:2;5174:89;5255:7;5246:6;5235:9;5231:22;5174:89;:::i;:::-;5164:99;;5057:212;5321:2;5310:9;5306:18;5300:25;5345:18;5337:6;5334:30;5331:2;;;5377:1;5374;5367:12;5331:2;5397:89;5478:7;5469:6;5458:9;5454:22;5397:89;:::i;:::-;5387:99;;5279:213;5523:2;5541:64;5597:7;5588:6;5577:9;5573:22;5541:64;:::i;:::-;5531:74;;5502:109;4989:632;;;;;:::o;5628:257::-;;5740:2;5728:9;5719:7;5715:23;5711:32;5708:2;;;5756:1;5753;5746:12;5708:2;5791:1;5808:61;5861:7;5841:9;5808:61;:::i;5892:263::-;;6007:2;5995:9;5986:7;5982:23;5978:32;5975:2;;;6023:1;6020;6013:12;5975:2;6058:1;6075:64;6131:7;6111:9;6075:64;:::i;6432:259::-;;6545:2;6533:9;6524:7;6520:23;6516:32;6513:2;;;6561:1;6558;6551:12;6513:2;6596:1;6613:62;6667:7;6647:9;6613:62;:::i;6699:173::-;;6786:46;6828:3;6820:6;6786:46;:::i;:::-;-1:-1;;6861:4;6852:14;;6779:93::o;6881:173::-;;6968:46;7010:3;7002:6;6968:46;:::i;7062:142::-;7153:45;7192:5;7153:45;:::i;:::-;7148:3;7141:58;7135:69;;:::o;7211:103::-;7284:24;7302:5;7284:24;:::i;7472:690::-;;7617:54;7665:5;7617:54;:::i;:::-;7684:86;7763:6;7758:3;7684:86;:::i;:::-;7677:93;;7791:56;7841:5;7791:56;:::i;:::-;7867:7;7895:1;7880:260;7905:6;7902:1;7899:13;7880:260;;;7972:6;7966:13;7993:63;8052:3;8037:13;7993:63;:::i;:::-;7986:70;;8073:60;8126:6;8073:60;:::i;:::-;8063:70;-1:-1;;7927:1;7920:9;7880:260;;;-1:-1;8153:3;;7596:566;-1:-1;;;;;7596:566::o;8201:690::-;;8346:54;8394:5;8346:54;:::i;:::-;8413:86;8492:6;8487:3;8413:86;:::i;:::-;8406:93;;8520:56;8570:5;8520:56;:::i;:::-;8596:7;8624:1;8609:260;8634:6;8631:1;8628:13;8609:260;;;8701:6;8695:13;8722:63;8781:3;8766:13;8722:63;:::i;:::-;8715:70;;8802:60;8855:6;8802:60;:::i;:::-;8792:70;-1:-1;;8656:1;8649:9;8609:260;;8899:94;8966:21;8981:5;8966:21;:::i;9111:113::-;9194:24;9212:5;9194:24;:::i;9232:325::-;;9392:67;9456:2;9451:3;9392:67;:::i;:::-;9492:27;9472:48;;9548:2;9539:12;;9378:179;-1:-1;;9378:179::o;9566:447::-;;9726:67;9790:2;9785:3;9726:67;:::i;:::-;9826:34;9806:55;;9895:34;9890:2;9881:12;;9874:56;-1:-1;;;9959:2;9950:12;;9943:33;10004:2;9995:12;;9712:301;-1:-1;;9712:301::o;10022:324::-;;10182:67;10246:2;10241:3;10182:67;:::i;:::-;10282:26;10262:47;;10337:2;10328:12;;10168:178;-1:-1;;10168:178::o;10355:326::-;;10515:67;10579:2;10574:3;10515:67;:::i;:::-;10615:28;10595:49;;10672:2;10663:12;;10501:180;-1:-1;;10501:180::o;10690:370::-;;10850:67;10914:2;10909:3;10850:67;:::i;:::-;10950:34;10930:55;;-1:-1;;;11014:2;11005:12;;10998:25;11051:2;11042:12;;10836:224;-1:-1;;10836:224::o;11069:328::-;;11229:67;11293:2;11288:3;11229:67;:::i;:::-;11329:30;11309:51;;11388:2;11379:12;;11215:182;-1:-1;;11215:182::o;11506:677::-;11734:23;;11653:4;11644:14;;;11763:63;11648:3;11734:23;11763:63;:::i;:::-;11673:159;11928:4;11921:5;11917:16;11911:23;11940:59;11993:4;11988:3;11984:14;11970:12;11940:59;:::i;:::-;11842:163;12093:4;12086:5;12082:16;12076:23;12105:57;12156:4;12151:3;12147:14;12133:12;12105:57;:::i;:::-;12015:153;11626:557;;;:::o;12300:97::-;12369:22;12385:5;12369:22;:::i;12404:222::-;12531:2;12516:18;;12545:71;12520:9;12589:6;12545:71;:::i;12633:448::-;12818:2;12803:18;;12832:71;12807:9;12876:6;12832:71;:::i;:::-;12914:80;12990:2;12979:9;12975:18;12966:6;12914:80;:::i;:::-;13005:66;13067:2;13056:9;13052:18;13043:6;13005:66;:::i;13088:370::-;13265:2;13279:47;;;13250:18;;13340:108;13250:18;13434:6;13340:108;:::i;13465:629::-;13720:2;13734:47;;;13705:18;;13795:108;13705:18;13889:6;13795:108;:::i;:::-;13787:116;;13951:9;13945:4;13941:20;13936:2;13925:9;13921:18;13914:48;13976:108;14079:4;14070:6;13976:108;:::i;14101:210::-;14222:2;14207:18;;14236:65;14211:9;14274:6;14236:65;:::i;14318:222::-;14445:2;14430:18;;14459:71;14434:9;14503:6;14459:71;:::i;14547:416::-;14747:2;14761:47;;;14732:18;;14822:131;14732:18;14822:131;:::i;14970:416::-;15170:2;15184:47;;;15155:18;;15245:131;15155:18;15245:131;:::i;15393:416::-;15593:2;15607:47;;;15578:18;;15668:131;15578:18;15668:131;:::i;15816:416::-;16016:2;16030:47;;;16001:18;;16091:131;16001:18;16091:131;:::i;16239:416::-;16439:2;16453:47;;;16424:18;;16514:131;16424:18;16514:131;:::i;16662:416::-;16862:2;16876:47;;;16847:18;;16937:131;16847:18;16937:131;:::i;17085:330::-;17266:2;17251:18;;17280:125;17255:9;17378:6;17280:125;:::i;17422:256::-;17484:2;17478:9;17510:17;;;17585:18;17570:34;;17606:22;;;17567:62;17564:2;;;17642:1;17639;17632:12;17564:2;17658;17651:22;17462:216;;-1:-1;17462:216::o;17685:304::-;;17844:18;17836:6;17833:30;17830:2;;;17876:1;17873;17866:12;17830:2;-1:-1;17911:4;17899:17;;;17964:15;;17767:222::o;18307:151::-;18431:4;18422:14;;18379:79::o;18623:137::-;18726:12;;18697:63::o;19142:178::-;19260:19;;;19309:4;19300:14;;19253:67::o;19687:91::-;;19749:24;19767:5;19749:24;:::i;19785:85::-;19851:13;19844:21;;19827:43::o;19877:72::-;19939:5;19922:27::o;19956:121::-;-1:-1;;;;;20018:54;;20001:76::o;20163:81::-;20234:4;20223:16;;20206:38::o;20251:129::-;;20338:37;20369:5;20387:121;20466:37;20497:5;20466:37;:::i;20630:117::-;20699:24;20717:5;20699:24;:::i;:::-;20692:5;20689:35;20679:2;;20738:1;20735;20728:12;20679:2;20673:74;:::o;20754:111::-;20820:21;20835:5;20820:21;:::i;20872:117::-;20941:24;20959:5;20941:24;:::i;21120:113::-;21187:22;21203:5;21187:22;:::i", "linkReferences": {}, "immutableReferences": { "62574": [ { "start": 1055, "length": 32 }, { "start": 1913, "length": 32 } ], "62576": [ { "start": 2436, "length": 32 } ], "78707": [ { "start": 1484, "length": 32 }, { "start": 1634, "length": 32 } ] } }, "methodIdentifiers": { "addPoolFactories(address[])": "4c8f6529", "addPools(address[],address[])": "c10e7d15", "calcUnderlyingValues(address,uint256)": "727212f6", "getFundDeployer()": "97c0ac87", "getOwner()": "893d20e8", "getPoolFactories()": "27082f73", "getPoolInfo(address)": "06bfa938", "isSupportedAsset(address)": "9be918e6", "removePoolFactories(address[])": "ec421ea0", "removePools(address[])": "4b164140" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_fundDeployer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_wrappedNativeAsset\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_balancerVault\",\"type\":\"address\"},{\"internalType\":\"address[]\",\"name\":\"_poolFactories\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"pool\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"invariantProxyAsset\",\"type\":\"address\"}],\"name\":\"PoolAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"poolFactory\",\"type\":\"address\"}],\"name\":\"PoolFactoryAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"poolFactory\",\"type\":\"address\"}],\"name\":\"PoolFactoryRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"pool\",\"type\":\"address\"}],\"name\":\"PoolRemoved\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_poolFactories\",\"type\":\"address[]\"}],\"name\":\"addPoolFactories\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_pools\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"_invariantProxyAssets\",\"type\":\"address[]\"}],\"name\":\"addPools\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_derivative\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_derivativeAmount\",\"type\":\"uint256\"}],\"name\":\"calcUnderlyingValues\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"underlyings_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"underlyingAmounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFundDeployer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"fundDeployer_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPoolFactories\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"factories_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_pool\",\"type\":\"address\"}],\"name\":\"getPoolInfo\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"invariantProxyAsset\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"invariantProxyAssetDecimals\",\"type\":\"uint8\"},{\"internalType\":\"bool\",\"name\":\"containsNativeAsset\",\"type\":\"bool\"}],\"internalType\":\"struct BalancerV2StablePoolPriceFeed.PoolInfo\",\"name\":\"poolInfo_\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"}],\"name\":\"isSupportedAsset\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isSupported_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_poolFactories\",\"type\":\"address[]\"}],\"name\":\"removePoolFactories\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_pools\",\"type\":\"address[]\"}],\"name\":\"removePools\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"addPoolFactories(address[])\":{\"params\":{\"_poolFactories\":\"Pool factories to add\"}},\"addPools(address[],address[])\":{\"params\":{\"_invariantProxyAssets\":\"The ordered invariant proxy assets corresponding to _pools, e.g., WETH for ETH-based pools\",\"_pools\":\"The ordered Balancer pools (BPTs)\"}},\"calcUnderlyingValues(address,uint256)\":{\"params\":{\"_derivative\":\"The derivative to convert\",\"_derivativeAmount\":\"The amount of the derivative to convert\"},\"returns\":{\"underlyingAmounts_\":\"The amount of each underlying asset for the equivalent derivative amount\",\"underlyings_\":\"The underlying assets for the _derivative\"}},\"getFundDeployer()\":{\"returns\":{\"fundDeployer_\":\"The `FUND_DEPLOYER` variable value\"}},\"getOwner()\":{\"details\":\"Ownership is deferred to the owner of the FundDeployer contract\",\"returns\":{\"owner_\":\"The owner\"}},\"getPoolFactories()\":{\"returns\":{\"factories_\":\"Factory addresses\"}},\"getPoolInfo(address)\":{\"params\":{\"_pool\":\"The Balancer pool (BPT)\"},\"returns\":{\"poolInfo_\":\"The PoolInfo\"}},\"isSupportedAsset(address)\":{\"params\":{\"_asset\":\"The asset to check\"},\"returns\":{\"isSupported_\":\"True if the asset is supported\"}},\"removePoolFactories(address[])\":{\"params\":{\"_poolFactories\":\"Pool factories to remove\"}},\"removePools(address[])\":{\"details\":\"Unlikely to be needed, just in case of bad storage entry\",\"params\":{\"_pools\":\"The Balancer pools (BPTs) to remove\"}}},\"title\":\"BalancerV2StablePoolPriceFeed Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"addPoolFactories(address[])\":{\"notice\":\"Adds pool factories\"},\"addPools(address[],address[])\":{\"notice\":\"Adds Balancer pool info to the price feed\"},\"calcUnderlyingValues(address,uint256)\":{\"notice\":\"Converts a given amount of a derivative to its underlying asset values\"},\"getFundDeployer()\":{\"notice\":\"Gets the `FUND_DEPLOYER` variable\"},\"getOwner()\":{\"notice\":\"Gets the owner of this contract\"},\"getPoolFactories()\":{\"notice\":\"Gets the stored pool factory addresses\"},\"getPoolInfo(address)\":{\"notice\":\"Gets the stored PoolInfo for a given pool\"},\"isSupportedAsset(address)\":{\"notice\":\"Checks if an asset is supported by the price feed\"},\"removePoolFactories(address[])\":{\"notice\":\"Removes pool factories\"},\"removePools(address[])\":{\"notice\":\"Removes Balancer pools from the price feed\"}},\"notice\":\"Price source oracle for Balancer Pool Tokens (BPT) of stable pools\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/infrastructure/price-feeds/derivatives/feeds/BalancerV2StablePoolPriceFeed.sol\":\"BalancerV2StablePoolPriceFeed\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol\":{\"keccak256\":\"0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e\",\"dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK\"]},\"contracts/release/infrastructure/price-feeds/derivatives/feeds/BalancerV2StablePoolPriceFeed.sol\":{\"keccak256\":\"0xd6fd38fde80566608218f8b28ccd1c90dd3d5f094a2924482f57845bb355ac9d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://fd39794833b3b18ea115900b4aee4f8ec156ae00968e3efcbbde5ab0a68571aa\",\"dweb:/ipfs/QmZhNq2xEcfeVtjn6EeuGLePM8YkUpde8f4B4Mjp3wRvoQ\"]},\"contracts/release/interfaces/IBalancerV2PoolFactory.sol\":{\"keccak256\":\"0xb3b90f93ed2fe906f9a6ce15f537c36f33b24a8e3328e4ccbb011a719edd2de5\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://88571ee529345dd703fa0e5e71182c13cc194e9d6e73176a3c5f1fa94067367a\",\"dweb:/ipfs/QmaPS6tDuHDNdd6aYMBB7Syptoju6T37KgXuA6jXD6hgCK\"]},\"contracts/release/interfaces/IBalancerV2StablePool.sol\":{\"keccak256\":\"0x0b6f74af639f73cbc9c90df6c0debf8019ae4ae146691111ccad18e94a215bc9\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c47b18d336736a9898d9e65dcaab180416798372e45adbe98140f1db29d730df\",\"dweb:/ipfs/Qmedw2eAV6qoCVpdU1GNRTsBJSsgtrNPpXLgy1nzQ7B888\"]},\"contracts/release/interfaces/IBalancerV2Vault.sol\":{\"keccak256\":\"0xb3c8da122ab160129c74ffeb0310ff96c4977d65eef12888bc1a8276fa2a3fd2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c9c89c1e04327c6fa45fbdf9ae8fd132ed95c9101ab49d078ef99c6590c30867\",\"dweb:/ipfs/QmWKrLQg5xBVmi6snaAwU3zUTjxQ6ugYj6n45x1hqRxv9A\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/FundDeployerOwnerMixin.sol\":{\"keccak256\":\"0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927\",\"dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_fundDeployer", "type": "address" }, { "internalType": "address", "name": "_wrappedNativeAsset", "type": "address" }, { "internalType": "address", "name": "_balancerVault", "type": "address" }, { "internalType": "address[]", "name": "_poolFactories", "type": "address[]" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "pool", "type": "address", "indexed": true }, { "internalType": "address", "name": "invariantProxyAsset", "type": "address", "indexed": true } ], "type": "event", "name": "PoolAdded", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "poolFactory", "type": "address", "indexed": true } ], "type": "event", "name": "PoolFactoryAdded", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "poolFactory", "type": "address", "indexed": true } ], "type": "event", "name": "PoolFactoryRemoved", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "pool", "type": "address", "indexed": true } ], "type": "event", "name": "PoolRemoved", "anonymous": false }, { "inputs": [ { "internalType": "address[]", "name": "_poolFactories", "type": "address[]" } ], "stateMutability": "nonpayable", "type": "function", "name": "addPoolFactories" }, { "inputs": [ { "internalType": "address[]", "name": "_pools", "type": "address[]" }, { "internalType": "address[]", "name": "_invariantProxyAssets", "type": "address[]" } ], "stateMutability": "nonpayable", "type": "function", "name": "addPools" }, { "inputs": [ { "internalType": "address", "name": "_derivative", "type": "address" }, { "internalType": "uint256", "name": "_derivativeAmount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "calcUnderlyingValues", "outputs": [ { "internalType": "address[]", "name": "underlyings_", "type": "address[]" }, { "internalType": "uint256[]", "name": "underlyingAmounts_", "type": "uint256[]" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getFundDeployer", "outputs": [ { "internalType": "address", "name": "fundDeployer_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getOwner", "outputs": [ { "internalType": "address", "name": "owner_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getPoolFactories", "outputs": [ { "internalType": "address[]", "name": "factories_", "type": "address[]" } ] }, { "inputs": [ { "internalType": "address", "name": "_pool", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getPoolInfo", "outputs": [ { "internalType": "struct BalancerV2StablePoolPriceFeed.PoolInfo", "name": "poolInfo_", "type": "tuple", "components": [ { "internalType": "address", "name": "invariantProxyAsset", "type": "address" }, { "internalType": "uint8", "name": "invariantProxyAssetDecimals", "type": "uint8" }, { "internalType": "bool", "name": "containsNativeAsset", "type": "bool" } ] } ] }, { "inputs": [ { "internalType": "address", "name": "_asset", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "isSupportedAsset", "outputs": [ { "internalType": "bool", "name": "isSupported_", "type": "bool" } ] }, { "inputs": [ { "internalType": "address[]", "name": "_poolFactories", "type": "address[]" } ], "stateMutability": "nonpayable", "type": "function", "name": "removePoolFactories" }, { "inputs": [ { "internalType": "address[]", "name": "_pools", "type": "address[]" } ], "stateMutability": "nonpayable", "type": "function", "name": "removePools" } ], "devdoc": { "kind": "dev", "methods": { "addPoolFactories(address[])": { "params": { "_poolFactories": "Pool factories to add" } }, "addPools(address[],address[])": { "params": { "_invariantProxyAssets": "The ordered invariant proxy assets corresponding to _pools, e.g., WETH for ETH-based pools", "_pools": "The ordered Balancer pools (BPTs)" } }, "calcUnderlyingValues(address,uint256)": { "params": { "_derivative": "The derivative to convert", "_derivativeAmount": "The amount of the derivative to convert" }, "returns": { "underlyingAmounts_": "The amount of each underlying asset for the equivalent derivative amount", "underlyings_": "The underlying assets for the _derivative" } }, "getFundDeployer()": { "returns": { "fundDeployer_": "The `FUND_DEPLOYER` variable value" } }, "getOwner()": { "details": "Ownership is deferred to the owner of the FundDeployer contract", "returns": { "owner_": "The owner" } }, "getPoolFactories()": { "returns": { "factories_": "Factory addresses" } }, "getPoolInfo(address)": { "params": { "_pool": "The Balancer pool (BPT)" }, "returns": { "poolInfo_": "The PoolInfo" } }, "isSupportedAsset(address)": { "params": { "_asset": "The asset to check" }, "returns": { "isSupported_": "True if the asset is supported" } }, "removePoolFactories(address[])": { "params": { "_poolFactories": "Pool factories to remove" } }, "removePools(address[])": { "details": "Unlikely to be needed, just in case of bad storage entry", "params": { "_pools": "The Balancer pools (BPTs) to remove" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "addPoolFactories(address[])": { "notice": "Adds pool factories" }, "addPools(address[],address[])": { "notice": "Adds Balancer pool info to the price feed" }, "calcUnderlyingValues(address,uint256)": { "notice": "Converts a given amount of a derivative to its underlying asset values" }, "getFundDeployer()": { "notice": "Gets the `FUND_DEPLOYER` variable" }, "getOwner()": { "notice": "Gets the owner of this contract" }, "getPoolFactories()": { "notice": "Gets the stored pool factory addresses" }, "getPoolInfo(address)": { "notice": "Gets the stored PoolInfo for a given pool" }, "isSupportedAsset(address)": { "notice": "Checks if an asset is supported by the price feed" }, "removePoolFactories(address[])": { "notice": "Removes pool factories" }, "removePools(address[])": { "notice": "Removes Balancer pools from the price feed" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/infrastructure/price-feeds/derivatives/feeds/BalancerV2StablePoolPriceFeed.sol": "BalancerV2StablePoolPriceFeed" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/core/fund-deployer/IFundDeployer.sol": { "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", "urls": [ "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol": { "keccak256": "0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332", "urls": [ "bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e", "dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/price-feeds/derivatives/feeds/BalancerV2StablePoolPriceFeed.sol": { "keccak256": "0xd6fd38fde80566608218f8b28ccd1c90dd3d5f094a2924482f57845bb355ac9d", "urls": [ "bzz-raw://fd39794833b3b18ea115900b4aee4f8ec156ae00968e3efcbbde5ab0a68571aa", "dweb:/ipfs/QmZhNq2xEcfeVtjn6EeuGLePM8YkUpde8f4B4Mjp3wRvoQ" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IBalancerV2PoolFactory.sol": { "keccak256": "0xb3b90f93ed2fe906f9a6ce15f537c36f33b24a8e3328e4ccbb011a719edd2de5", "urls": [ "bzz-raw://88571ee529345dd703fa0e5e71182c13cc194e9d6e73176a3c5f1fa94067367a", "dweb:/ipfs/QmaPS6tDuHDNdd6aYMBB7Syptoju6T37KgXuA6jXD6hgCK" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IBalancerV2StablePool.sol": { "keccak256": "0x0b6f74af639f73cbc9c90df6c0debf8019ae4ae146691111ccad18e94a215bc9", "urls": [ "bzz-raw://c47b18d336736a9898d9e65dcaab180416798372e45adbe98140f1db29d730df", "dweb:/ipfs/Qmedw2eAV6qoCVpdU1GNRTsBJSsgtrNPpXLgy1nzQ7B888" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IBalancerV2Vault.sol": { "keccak256": "0xb3c8da122ab160129c74ffeb0310ff96c4977d65eef12888bc1a8276fa2a3fd2", "urls": [ "bzz-raw://c9c89c1e04327c6fa45fbdf9ae8fd132ed95c9101ab49d078ef99c6590c30867", "dweb:/ipfs/QmWKrLQg5xBVmi6snaAwU3zUTjxQ6ugYj6n45x1hqRxv9A" ], "license": "GPL-3.0" }, "contracts/release/utils/AddressArrayLib.sol": { "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", "urls": [ "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" ], "license": "GPL-3.0" }, "contracts/release/utils/FundDeployerOwnerMixin.sol": { "keccak256": "0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934", "urls": [ "bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927", "dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" } }, "version": 1 }, "id": 238 } diff --git a/eth_defi/abi/enzyme/BalancerV2WeightedPoolPriceFeed.json b/eth_defi/abi/enzyme/BalancerV2WeightedPoolPriceFeed.json index 5b77de1b..e453cb6d 100644 --- a/eth_defi/abi/enzyme/BalancerV2WeightedPoolPriceFeed.json +++ b/eth_defi/abi/enzyme/BalancerV2WeightedPoolPriceFeed.json @@ -1,684 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_fundDeployer", - "type": "address" - }, - { - "internalType": "address", - "name": "_valueInterpreter", - "type": "address" - }, - { - "internalType": "address", - "name": "_intermediaryAsset", - "type": "address" - }, - { - "internalType": "address", - "name": "_balancerVault", - "type": "address" - }, - { - "internalType": "address[]", - "name": "_poolFactories", - "type": "address[]" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "poolFactory", - "type": "address" - } - ], - "name": "PoolFactoryAdded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "poolFactory", - "type": "address" - } - ], - "name": "PoolFactoryRemoved", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_poolFactories", - "type": "address[]" - } - ], - "name": "addPoolFactories", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_derivative", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_derivativeAmount", - "type": "uint256" - } - ], - "name": "calcUnderlyingValues", - "outputs": [ - { - "internalType": "address[]", - "name": "underlyings_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "underlyingAmounts_", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getFundDeployer", - "outputs": [ - { - "internalType": "address", - "name": "fundDeployer_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "owner_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getPoolFactories", - "outputs": [ - { - "internalType": "address[]", - "name": "factories_", - "type": "address[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_asset", - "type": "address" - } - ], - "name": "isSupportedAsset", - "outputs": [ - { - "internalType": "bool", - "name": "isSupported_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_poolFactories", - "type": "address[]" - } - ], - "name": "removePoolFactories", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x6101006040523480156200001257600080fd5b50604051620022ab380380620022ab833981016040819052620000359162000253565b6001600160601b0319606086811b821660805283811b821660a05284811b821660c05285901b1660e0526200006a8162000075565b505050505062000380565b60005b81518110156200015a57620000b18282815181106200009357fe5b602002602001015160006200015e60201b62000a211790919060201c565b62000151576000828281518110620000c557fe5b60209081029190910181015182546001810184556000938452919092200180546001600160a01b0319166001600160a01b0390921691909117905581517fed48b5354ebc9ec871d70260374c2cdc552ec57a6b36e1dbc1fbdbe0921c136f908390839081106200013157fe5b6020026020010151604051620001489190620002fc565b60405180910390a15b60010162000078565b5050565b8154600090815b81811015620001b0578481815481106200017b57fe5b6000918252602090912001546001600160a01b0385811691161415620001a757600192505050620001b7565b60010162000165565b5060009150505b92915050565b8051620001b78162000366565b600082601f830112620001dc57600080fd5b8151620001f3620001ed8262000333565b6200030c565b915081818352602084019350602081019050838560208402820111156200021957600080fd5b60005b83811015620002495781620002328882620001bd565b84525060209283019291909101906001016200021c565b5050505092915050565b600080600080600060a086880312156200026c57600080fd5b60006200027a8888620001bd565b95505060206200028d88828901620001bd565b9450506040620002a088828901620001bd565b9350506060620002b388828901620001bd565b92505060808601516001600160401b03811115620002d057600080fd5b620002de88828901620001ca565b9150509295509295909350565b620002f68162000354565b82525050565b60208101620001b78284620002eb565b6040518181016001600160401b03811182821017156200032b57600080fd5b604052919050565b60006001600160401b038211156200034a57600080fd5b5060209081020190565b60006001600160a01b038216620001b7565b620003718162000354565b81146200037d57600080fd5b50565b60805160601c60a05160601c60c05160601c60e05160601c611eda620003d16000398061056152508061062e528061075152508061020e52806102935250806107ca52806108605250611eda6000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c8063893d20e81161005b578063893d20e8146100d657806397c0ac87146100eb5780639be918e6146100f3578063ec421ea0146101135761007d565b806327082f73146100825780634c8f6529146100a0578063727212f6146100b5575b600080fd5b61008a610126565b6040516100979190611d31565b60405180910390f35b6100b36100ae3660046118f6565b610188565b005b6100c86100c33660046118bc565b610209565b604051610097929190611d49565b6100de6107c6565b6040516100979190611cd3565b6100de61085e565b610106610101366004611878565b610882565b6040516100979190611d6e565b6100b36101213660046118f6565b610948565b6060600080548060200260200160405190810160405280929190818152602001828054801561017e57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610160575b5050505050905090565b6101906107c6565b6001600160a01b0316336001600160a01b0316146101c95760405162461bcd60e51b81526004016101c090611d8a565b60405180910390fd5b610205828280806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250610a7b92505050565b5050565b6060807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663fa6e671d306000806040518463ffffffff1660e01b815260040161025d93929190611ce1565b600060405180830381600087803b15801561027757600080fd5b505af115801561028b573d6000803e3d6000fd5b5050505060607f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f94d4668866001600160a01b03166338fff2d06040518163ffffffff1660e01b815260040160206040518083038186803b1580156102f957600080fd5b505afa15801561030d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103319190611a07565b6040518263ffffffff1660e01b815260040161034d9190611d7c565b60006040518083038186803b15801561036557600080fd5b505afa158015610379573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526103a19190810190611938565b50506040805160018082528183019092529192506020808301908036833750506040805160018082528183019092529295509050602080830190803683370190505091506000856001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561042057600080fd5b505afa158015610434573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104589190611a07565b90506000866001600160a01b031663c0ff1a156040518163ffffffff1660e01b815260040160206040518083038186803b15801561049557600080fd5b505afa1580156104a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104cd9190611a07565b90506060876001600160a01b031663f89f27ed6040518163ffffffff1660e01b815260040160006040518083038186803b15801561050a57600080fd5b505afa15801561051e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261054691908101906119b4565b9050670de0b6b3a764000060005b855181101561073c5760007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316634c67e10688848151811061059a57fe5b60200260200101518985815181106105ae57fe5b60200260200101516001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b1580156105ee57600080fd5b505afa158015610602573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106269190611a25565b60ff16600a0a7f00000000000000000000000000000000000000000000000000000000000000006040518463ffffffff1660e01b815260040161066b93929190611d09565b602060405180830381600087803b15801561068557600080fd5b505af1158015610699573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106bd9190611a07565b905061073161072a6106fe8685815181106106d457fe5b60200260200101518786815181106106e857fe5b6020026020010151610b5190919063ffffffff16565b61072487868151811061070d57fe5b602002602001015185610b5190919063ffffffff16565b90610c91565b8490610d09565b925050600101610554565b50600061074d856107248487610d09565b90507f00000000000000000000000000000000000000000000000000000000000000008860008151811061077d57fe5b6001600160a01b039092166020928302919091019091015261079f8982610d09565b876000815181106107ac57fe5b6020026020010181815250505050505050505b9250929050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561082157600080fd5b505afa158015610835573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610859919061189e565b905090565b7f000000000000000000000000000000000000000000000000000000000000000090565b6000805b60005481101561093d576000818154811061089d57fe5b600091825260209091200154604051636634b75360e01b81526001600160a01b0390911690636634b753906108d6908690600401611cd3565b60206040518083038186803b1580156108ee57600080fd5b505afa158015610902573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061092691906119e9565b15610935576001915050610943565b600101610886565b50600090505b919050565b6109506107c6565b6001600160a01b0316336001600160a01b0316146109805760405162461bcd60e51b81526004016101c090611d8a565b60005b81811015610a1c576109b783838381811061099a57fe5b90506020020160208101906109af9190611878565b600090610d61565b15610a14577faf425cea5645b25ac2f49fdb1a46bf13689e763057f4e556078fea1cc2ecfb9b8383838181106109e957fe5b90506020020160208101906109fe9190611878565b604051610a0b9190611cd3565b60405180910390a15b600101610983565b505050565b8154600090815b81811015610a6e57848181548110610a3c57fe5b6000918252602090912001546001600160a01b0385811691161415610a6657600192505050610a75565b600101610a28565b5060009150505b92915050565b60005b815181101561020557610aae828281518110610a9657fe5b60200260200101516000610a2190919063ffffffff16565b610b49576000828281518110610ac057fe5b60209081029190910181015182546001810184556000938452919092200180546001600160a01b0319166001600160a01b0390921691909117905581517fed48b5354ebc9ec871d70260374c2cdc552ec57a6b36e1dbc1fbdbe0921c136f90839083908110610b2b57fe5b6020026020010151604051610b409190611cd3565b60405180910390a15b600101610a7e565b600081610b675750670de0b6b3a7640000610a75565b82610b7457506000610a75565b60ff83901c15610b965760405162461bcd60e51b81526004016101c090611dba565b82770bce5086492111aea88f4bb1ca6bcf584181ea8059f765328310610bce5760405162461bcd60e51b81526004016101c090611daa565b826000670c7d713b49da000083138015610bef5750670f43fc2c04ee000083125b15610c26576000610bff84610e59565b9050670de0b6b3a764000080820784020583670de0b6b3a764000083050201915050610c34565b81610c3084610f77565b0290505b670de0b6b3a76400009005680238fd42c5cf03ffff198112801590610c62575068070c1cc73b00c800008113155b610c7e5760405162461bcd60e51b81526004016101c090611d9a565b610c8781611316565b9695505050505050565b600081610cb05760405162461bcd60e51b81526004016101c090611dfa565b82610cbd57506000610a75565b670de0b6b3a764000083810290848281610cd357fe5b0414610cf15760405162461bcd60e51b81526004016101c090611dca565b826001820381610cfd57fe5b04600101915050610a75565b6000828202831580610d23575082848281610d2057fe5b04145b610d3f5760405162461bcd60e51b81526004016101c090611dda565b80610d4e576000915050610a75565b670de0b6b3a76400006000198201610cfd565b8154600090815b81811015610e5157836001600160a01b0316858281548110610d8657fe5b6000918252602090912001546001600160a01b03161415610e495760018203811015610e1457846001830381548110610dbb57fe5b9060005260206000200160009054906101000a90046001600160a01b0316858281548110610de557fe5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055505b84805480610e1e57fe5b600082815260209020810160001990810180546001600160a01b031916905501905560019250610e51565b600101610d68565b505092915050565b670de0b6b3a7640000026000806a0c097ce7bc90715b34b9f160241b808401906ec097ce7bc90715b34b9f0fffffffff1985010281610e9457fe5b05905060006a0c097ce7bc90715b34b9f160241b82800205905081806a0c097ce7bc90715b34b9f160241b81840205915060038205016a0c097ce7bc90715b34b9f160241b82840205915060058205016a0c097ce7bc90715b34b9f160241b82840205915060078205016a0c097ce7bc90715b34b9f160241b82840205915060098205016a0c097ce7bc90715b34b9f160241b828402059150600b8205016a0c097ce7bc90715b34b9f160241b828402059150600d8205016a0c097ce7bc90715b34b9f160241b828402059150600f826002919005919091010295945050505050565b6000670de0b6b3a7640000821215610fb357610fa9826a0c097ce7bc90715b34b9f160241b81610fa357fe5b05610f77565b6000039050610943565b60007e1600ef3172e58d2e933ec884fde10064c63b5372d805e203c0000000000000831261100457770195e54c5dd42177f53a27172fa9ec630262827000000000830592506806f05b59d3b2000000015b73011798004d755d3c8bc8e03204cf44619e000000831261103c576b1425982cf597cd205cef7380830592506803782dace9d9000000015b606492830292026e01855144814a7ff805980ff00840008312611084576e01855144814a7ff805980ff008400068056bc75e2d63100000840205925068ad78ebc5ac62000000015b6b02df0ab5a80a22c61ab5a70083126110bf576b02df0ab5a80a22c61ab5a70068056bc75e2d6310000084020592506856bc75e2d631000000015b693f1fce3da636ea5cf85083126110f657693f1fce3da636ea5cf85068056bc75e2d631000008402059250682b5e3af16b18800000015b690127fa27722cc06cc5e2831261112d57690127fa27722cc06cc5e268056bc75e2d6310000084020592506815af1d78b58c400000015b68280e60114edb805d0383126111625768280e60114edb805d0368056bc75e2d631000008402059250680ad78ebc5ac6200000015b680ebc5fb41746121110831261118d57680ebc5fb4174612111068056bc75e2d631000009384020592015b6808f00f760a4b2db55d83126111c2576808f00f760a4b2db55d68056bc75e2d6310000084020592506802b5e3af16b1880000015b6806f5f177578893793783126111f7576806f5f177578893793768056bc75e2d63100000840205925068015af1d78b58c40000015b6806248f33704b286603831261122b576806248f33704b28660368056bc75e2d63100000840205925067ad78ebc5ac620000015b6805c548670b9510e7ac831261125f576805c548670b9510e7ac68056bc75e2d6310000084020592506756bc75e2d6310000015b600068056bc75e2d63100000840168056bc75e2d63100000808603028161128257fe5b059050600068056bc75e2d63100000828002059050818068056bc75e2d63100000818402059150600382050168056bc75e2d63100000828402059150600582050168056bc75e2d63100000828402059150600782050168056bc75e2d63100000828402059150600982050168056bc75e2d63100000828402059150600b820501600202606485820105979650505050505050565b6000680238fd42c5cf03ffff19821215801561133b575068070c1cc73b00c800008213155b6113575760405162461bcd60e51b81526004016101c090611dea565b600082121561138a5761136c82600003611316565b6a0c097ce7bc90715b34b9f160241b8161138257fe5b059050610943565b60006806f05b59d3b200000083126113ca57506806f05b59d3b1ffffff1990910190770195e54c5dd42177f53a27172fa9ec630262827000000000611400565b6803782dace9d900000083126113fc57506803782dace9d8ffffff19909101906b1425982cf597cd205cef7380611400565b5060015b6064929092029168056bc75e2d6310000068ad78ebc5ac6200000084126114505768ad78ebc5ac61ffffff199093019268056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d631000000841261148c576856bc75e2d630ffffff199093019268056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b1880000084126114c657682b5e3af16b187fffff199093019268056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c4000008412611500576815af1d78b58c3fffff199093019268056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac6200000841261153957680ad78ebc5ac61fffff199093019268056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d6310000084126115725768056bc75e2d630fffff199093019268056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b188000084126115ab576802b5e3af16b187ffff199093019268056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c4000084126115e45768015af1d78b58c3ffff199093019268056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008481019085906002908280020505918201919050600368056bc75e2d631000008783020505918201919050600468056bc75e2d631000008783020505918201919050600568056bc75e2d631000008783020505918201919050600668056bc75e2d631000008783020505918201919050600768056bc75e2d631000008783020505918201919050600868056bc75e2d631000008783020505918201919050600968056bc75e2d631000008783020505918201919050600a68056bc75e2d631000008783020505918201919050600b68056bc75e2d631000008783020505918201919050600c68056bc75e2d631000008783020505918201919050606468056bc75e2d63100000848402058502059695505050505050565b8035610a7581611e9b565b8051610a7581611e9b565b60008083601f84011261172d57600080fd5b50813567ffffffffffffffff81111561174557600080fd5b6020830191508360208202830111156107bf57600080fd5b600082601f83011261176e57600080fd5b815161178161177c82611e31565b611e0a565b915081818352602084019350602081019050838560208402820111156117a657600080fd5b60005b838110156117d257816117bc8882611710565b84525060209283019291909101906001016117a9565b5050505092915050565b600082601f8301126117ed57600080fd5b81516117fb61177c82611e31565b9150818183526020840193506020810190508385602084028201111561182057600080fd5b60005b838110156117d257816118368882611857565b8452506020928301929190910190600101611823565b8051610a7581611eb2565b8051610a7581611ebb565b8035610a7581611ebb565b8051610a7581611ec4565b60006020828403121561188a57600080fd5b60006118968484611705565b949350505050565b6000602082840312156118b057600080fd5b60006118968484611710565b600080604083850312156118cf57600080fd5b60006118db8585611705565b92505060206118ec85828601611862565b9150509250929050565b6000806020838503121561190957600080fd5b823567ffffffffffffffff81111561192057600080fd5b61192c8582860161171b565b92509250509250929050565b60008060006060848603121561194d57600080fd5b835167ffffffffffffffff81111561196457600080fd5b6119708682870161175d565b935050602084015167ffffffffffffffff81111561198d57600080fd5b611999868287016117dc565b92505060406119aa86828701611857565b9150509250925092565b6000602082840312156119c657600080fd5b815167ffffffffffffffff8111156119dd57600080fd5b611896848285016117dc565b6000602082840312156119fb57600080fd5b6000611896848461184c565b600060208284031215611a1957600080fd5b60006118968484611857565b600060208284031215611a3757600080fd5b6000611896848461186d565b6000611a4f8383611a72565b505060200190565b6000611a4f8383611b2b565b611a6c81611e8a565b82525050565b611a6c81611e65565b6000611a8682611e58565b611a908185611e5c565b9350611a9b83611e52565b8060005b83811015611ac9578151611ab38882611a43565b9750611abe83611e52565b925050600101611a9f565b509495945050505050565b6000611adf82611e58565b611ae98185611e5c565b9350611af483611e52565b8060005b83811015611ac9578151611b0c8882611a57565b9750611b1783611e52565b925050600101611af8565b611a6c81611e70565b611a6c81611e75565b6000611b41604983611e5c565b7f6f6e6c7946756e644465706c6f7965724f776e65723a204f6e6c79207468652081527f46756e644465706c6f796572206f776e65722063616e2063616c6c207468697360208201526810333ab731ba34b7b760b91b604082015260600192915050565b6000611bb2601583611e5c565b7470726f64756374206f7574206f6620626f756e647360581b815260200192915050565b6000611be3601083611e5c565b6f5f79206f7574206f6620626f756e647360801b815260200192915050565b6000611c0f601083611e5c565b6f5f78206f7574206f6620626f756e647360801b815260200192915050565b6000611c3b600c83611e5c565b6b191a5d881a5b9d195c9b985b60a21b815260200192915050565b6000611c63600c83611e5c565b6b6d756c206f766572666c6f7760a01b815260200192915050565b6000611c8b601083611e5c565b6f1a5b9d985b1a5908195e1c1bdb995b9d60821b815260200192915050565b6000611cb7600d83611e5c565b6c3d32b937903234bb34b9b4b7b760991b815260200192915050565b60208101610a758284611a72565b60608101611cef8286611a72565b611cfc6020830185611a63565b6118966040830184611b22565b60608101611d178286611a72565b611d246020830185611b2b565b6118966040830184611a72565b60208082528101611d428184611a7b565b9392505050565b60408082528101611d5a8185611a7b565b905081810360208301526118968184611ad4565b60208101610a758284611b22565b60208101610a758284611b2b565b60208082528101610a7581611b34565b60208082528101610a7581611ba5565b60208082528101610a7581611bd6565b60208082528101610a7581611c02565b60208082528101610a7581611c2e565b60208082528101610a7581611c56565b60208082528101610a7581611c7e565b60208082528101610a7581611caa565b60405181810167ffffffffffffffff81118282101715611e2957600080fd5b604052919050565b600067ffffffffffffffff821115611e4857600080fd5b5060209081020190565b60200190565b5190565b90815260200190565b6000610a7582611e78565b151590565b90565b6001600160a01b031690565b60ff1690565b6000610a75826000610a7582611e65565b611ea481611e65565b8114611eaf57600080fd5b50565b611ea481611e70565b611ea481611e75565b611ea481611e8456fea164736f6c634300060c000a", - "sourceMap": "1035:5651:239:-:0;;;1638:481;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;864:29:358;;;;;;;;1886:58:239;;;;;::::1;::::0;1954:39;;;;;::::1;::::0;2003:64;;;;::::1;::::0;2078:34:::1;2097:14:::0;2078:18:::1;:34::i;:::-;1638:481:::0;;;;;1035:5651;;5995:346;6079:9;6074:261;6094:14;:21;6090:1;:25;6074:261;;;6141:53;6176:14;6191:1;6176:17;;;;;;;;;;;;;;6141:13;:34;;;;;;:53;;;;:::i;:::-;6136:189;;6214:13;6233:14;6248:1;6233:17;;;;;;;;;;;;;;;;;;;6214:37;;;;;;;-1:-1:-1;6214:37:239;;;;;;;;;;-1:-1:-1;;;;;;6214:37:239;-1:-1:-1;;;;;6214:37:239;;;;;;;;;6292:17;;6275:35;;6292:17;;6307:1;;6292:17;;;;;;;;;;;;6275:35;;;;;;:::i;:::-;;;;;;;;6136:189;6117:3;;6074:261;;;;5995:346;:::o;1167:351:354:-;1339:12;;1286:17;;;1361:129;1381:9;1377:1;:13;1361:129;;;1426:5;1432:1;1426:8;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1415:19:354;;;1426:8;;1415:19;1411:69;;;1461:4;1454:11;;;;;;1411:69;1392:3;;1361:129;;;;1506:5;1499:12;;;1167:351;;;;;:::o;5:134:-1:-;83:13;;101:33;83:13;101:33;:::i;164:722::-;;292:3;285:4;277:6;273:17;269:27;259:2;;310:1;307;300:12;259:2;340:6;334:13;362:80;377:64;434:6;377:64;:::i;:::-;362:80;:::i;:::-;353:89;;459:5;484:6;477:5;470:21;514:4;506:6;502:17;492:27;;536:4;531:3;527:14;520:21;;589:6;636:3;628:4;620:6;616:17;611:3;607:27;604:36;601:2;;;653:1;650;643:12;601:2;678:1;663:217;688:6;685:1;682:13;663:217;;;746:3;768:48;812:3;800:10;768:48;:::i;:::-;756:61;;-1:-1;840:4;831:14;;;;859;;;;;710:1;703:9;663:217;;;667:14;252:634;;;;;;;:::o;894:938::-;;;;;;1102:3;1090:9;1081:7;1077:23;1073:33;1070:2;;;1119:1;1116;1109:12;1070:2;1154:1;1171:64;1227:7;1207:9;1171:64;:::i;:::-;1161:74;;1133:108;1272:2;1290:64;1346:7;1337:6;1326:9;1322:22;1290:64;:::i;:::-;1280:74;;1251:109;1391:2;1409:64;1465:7;1456:6;1445:9;1441:22;1409:64;:::i;:::-;1399:74;;1370:109;1510:2;1528:64;1584:7;1575:6;1564:9;1560:22;1528:64;:::i;:::-;1518:74;;1489:109;1650:3;1639:9;1635:19;1629:26;-1:-1;;;;;1667:6;1664:30;1661:2;;;1707:1;1704;1697:12;1661:2;1727:89;1808:7;1799:6;1788:9;1784:22;1727:89;:::i;:::-;1717:99;;1608:214;1064:768;;;;;;;;:::o;1839:113::-;1922:24;1940:5;1922:24;:::i;:::-;1917:3;1910:37;1904:48;;:::o;1959:222::-;2086:2;2071:18;;2100:71;2075:9;2144:6;2100:71;:::i;2188:256::-;2250:2;2244:9;2276:17;;;-1:-1;;;;;2336:34;;2372:22;;;2333:62;2330:2;;;2408:1;2405;2398:12;2330:2;2424;2417:22;2228:216;;-1:-1;2228:216::o;2451:304::-;;-1:-1;;;;;2602:6;2599:30;2596:2;;;2642:1;2639;2632:12;2596:2;-1:-1;2677:4;2665:17;;;2730:15;;2533:222::o;2762:91::-;;-1:-1;;;;;2922:54;;2824:24;2905:76::o;2988:117::-;3057:24;3075:5;3057:24;:::i;:::-;3050:5;3047:35;3037:2;;3096:1;3093;3086:12;3037:2;3031:74;:::o;:::-;1035:5651:239;;;;;;;;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b506004361061007d5760003560e01c8063893d20e81161005b578063893d20e8146100d657806397c0ac87146100eb5780639be918e6146100f3578063ec421ea0146101135761007d565b806327082f73146100825780634c8f6529146100a0578063727212f6146100b5575b600080fd5b61008a610126565b6040516100979190611d31565b60405180910390f35b6100b36100ae3660046118f6565b610188565b005b6100c86100c33660046118bc565b610209565b604051610097929190611d49565b6100de6107c6565b6040516100979190611cd3565b6100de61085e565b610106610101366004611878565b610882565b6040516100979190611d6e565b6100b36101213660046118f6565b610948565b6060600080548060200260200160405190810160405280929190818152602001828054801561017e57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610160575b5050505050905090565b6101906107c6565b6001600160a01b0316336001600160a01b0316146101c95760405162461bcd60e51b81526004016101c090611d8a565b60405180910390fd5b610205828280806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250610a7b92505050565b5050565b6060807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663fa6e671d306000806040518463ffffffff1660e01b815260040161025d93929190611ce1565b600060405180830381600087803b15801561027757600080fd5b505af115801561028b573d6000803e3d6000fd5b5050505060607f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f94d4668866001600160a01b03166338fff2d06040518163ffffffff1660e01b815260040160206040518083038186803b1580156102f957600080fd5b505afa15801561030d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103319190611a07565b6040518263ffffffff1660e01b815260040161034d9190611d7c565b60006040518083038186803b15801561036557600080fd5b505afa158015610379573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526103a19190810190611938565b50506040805160018082528183019092529192506020808301908036833750506040805160018082528183019092529295509050602080830190803683370190505091506000856001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561042057600080fd5b505afa158015610434573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104589190611a07565b90506000866001600160a01b031663c0ff1a156040518163ffffffff1660e01b815260040160206040518083038186803b15801561049557600080fd5b505afa1580156104a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104cd9190611a07565b90506060876001600160a01b031663f89f27ed6040518163ffffffff1660e01b815260040160006040518083038186803b15801561050a57600080fd5b505afa15801561051e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261054691908101906119b4565b9050670de0b6b3a764000060005b855181101561073c5760007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316634c67e10688848151811061059a57fe5b60200260200101518985815181106105ae57fe5b60200260200101516001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b1580156105ee57600080fd5b505afa158015610602573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106269190611a25565b60ff16600a0a7f00000000000000000000000000000000000000000000000000000000000000006040518463ffffffff1660e01b815260040161066b93929190611d09565b602060405180830381600087803b15801561068557600080fd5b505af1158015610699573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106bd9190611a07565b905061073161072a6106fe8685815181106106d457fe5b60200260200101518786815181106106e857fe5b6020026020010151610b5190919063ffffffff16565b61072487868151811061070d57fe5b602002602001015185610b5190919063ffffffff16565b90610c91565b8490610d09565b925050600101610554565b50600061074d856107248487610d09565b90507f00000000000000000000000000000000000000000000000000000000000000008860008151811061077d57fe5b6001600160a01b039092166020928302919091019091015261079f8982610d09565b876000815181106107ac57fe5b6020026020010181815250505050505050505b9250929050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561082157600080fd5b505afa158015610835573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610859919061189e565b905090565b7f000000000000000000000000000000000000000000000000000000000000000090565b6000805b60005481101561093d576000818154811061089d57fe5b600091825260209091200154604051636634b75360e01b81526001600160a01b0390911690636634b753906108d6908690600401611cd3565b60206040518083038186803b1580156108ee57600080fd5b505afa158015610902573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061092691906119e9565b15610935576001915050610943565b600101610886565b50600090505b919050565b6109506107c6565b6001600160a01b0316336001600160a01b0316146109805760405162461bcd60e51b81526004016101c090611d8a565b60005b81811015610a1c576109b783838381811061099a57fe5b90506020020160208101906109af9190611878565b600090610d61565b15610a14577faf425cea5645b25ac2f49fdb1a46bf13689e763057f4e556078fea1cc2ecfb9b8383838181106109e957fe5b90506020020160208101906109fe9190611878565b604051610a0b9190611cd3565b60405180910390a15b600101610983565b505050565b8154600090815b81811015610a6e57848181548110610a3c57fe5b6000918252602090912001546001600160a01b0385811691161415610a6657600192505050610a75565b600101610a28565b5060009150505b92915050565b60005b815181101561020557610aae828281518110610a9657fe5b60200260200101516000610a2190919063ffffffff16565b610b49576000828281518110610ac057fe5b60209081029190910181015182546001810184556000938452919092200180546001600160a01b0319166001600160a01b0390921691909117905581517fed48b5354ebc9ec871d70260374c2cdc552ec57a6b36e1dbc1fbdbe0921c136f90839083908110610b2b57fe5b6020026020010151604051610b409190611cd3565b60405180910390a15b600101610a7e565b600081610b675750670de0b6b3a7640000610a75565b82610b7457506000610a75565b60ff83901c15610b965760405162461bcd60e51b81526004016101c090611dba565b82770bce5086492111aea88f4bb1ca6bcf584181ea8059f765328310610bce5760405162461bcd60e51b81526004016101c090611daa565b826000670c7d713b49da000083138015610bef5750670f43fc2c04ee000083125b15610c26576000610bff84610e59565b9050670de0b6b3a764000080820784020583670de0b6b3a764000083050201915050610c34565b81610c3084610f77565b0290505b670de0b6b3a76400009005680238fd42c5cf03ffff198112801590610c62575068070c1cc73b00c800008113155b610c7e5760405162461bcd60e51b81526004016101c090611d9a565b610c8781611316565b9695505050505050565b600081610cb05760405162461bcd60e51b81526004016101c090611dfa565b82610cbd57506000610a75565b670de0b6b3a764000083810290848281610cd357fe5b0414610cf15760405162461bcd60e51b81526004016101c090611dca565b826001820381610cfd57fe5b04600101915050610a75565b6000828202831580610d23575082848281610d2057fe5b04145b610d3f5760405162461bcd60e51b81526004016101c090611dda565b80610d4e576000915050610a75565b670de0b6b3a76400006000198201610cfd565b8154600090815b81811015610e5157836001600160a01b0316858281548110610d8657fe5b6000918252602090912001546001600160a01b03161415610e495760018203811015610e1457846001830381548110610dbb57fe5b9060005260206000200160009054906101000a90046001600160a01b0316858281548110610de557fe5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055505b84805480610e1e57fe5b600082815260209020810160001990810180546001600160a01b031916905501905560019250610e51565b600101610d68565b505092915050565b670de0b6b3a7640000026000806a0c097ce7bc90715b34b9f160241b808401906ec097ce7bc90715b34b9f0fffffffff1985010281610e9457fe5b05905060006a0c097ce7bc90715b34b9f160241b82800205905081806a0c097ce7bc90715b34b9f160241b81840205915060038205016a0c097ce7bc90715b34b9f160241b82840205915060058205016a0c097ce7bc90715b34b9f160241b82840205915060078205016a0c097ce7bc90715b34b9f160241b82840205915060098205016a0c097ce7bc90715b34b9f160241b828402059150600b8205016a0c097ce7bc90715b34b9f160241b828402059150600d8205016a0c097ce7bc90715b34b9f160241b828402059150600f826002919005919091010295945050505050565b6000670de0b6b3a7640000821215610fb357610fa9826a0c097ce7bc90715b34b9f160241b81610fa357fe5b05610f77565b6000039050610943565b60007e1600ef3172e58d2e933ec884fde10064c63b5372d805e203c0000000000000831261100457770195e54c5dd42177f53a27172fa9ec630262827000000000830592506806f05b59d3b2000000015b73011798004d755d3c8bc8e03204cf44619e000000831261103c576b1425982cf597cd205cef7380830592506803782dace9d9000000015b606492830292026e01855144814a7ff805980ff00840008312611084576e01855144814a7ff805980ff008400068056bc75e2d63100000840205925068ad78ebc5ac62000000015b6b02df0ab5a80a22c61ab5a70083126110bf576b02df0ab5a80a22c61ab5a70068056bc75e2d6310000084020592506856bc75e2d631000000015b693f1fce3da636ea5cf85083126110f657693f1fce3da636ea5cf85068056bc75e2d631000008402059250682b5e3af16b18800000015b690127fa27722cc06cc5e2831261112d57690127fa27722cc06cc5e268056bc75e2d6310000084020592506815af1d78b58c400000015b68280e60114edb805d0383126111625768280e60114edb805d0368056bc75e2d631000008402059250680ad78ebc5ac6200000015b680ebc5fb41746121110831261118d57680ebc5fb4174612111068056bc75e2d631000009384020592015b6808f00f760a4b2db55d83126111c2576808f00f760a4b2db55d68056bc75e2d6310000084020592506802b5e3af16b1880000015b6806f5f177578893793783126111f7576806f5f177578893793768056bc75e2d63100000840205925068015af1d78b58c40000015b6806248f33704b286603831261122b576806248f33704b28660368056bc75e2d63100000840205925067ad78ebc5ac620000015b6805c548670b9510e7ac831261125f576805c548670b9510e7ac68056bc75e2d6310000084020592506756bc75e2d6310000015b600068056bc75e2d63100000840168056bc75e2d63100000808603028161128257fe5b059050600068056bc75e2d63100000828002059050818068056bc75e2d63100000818402059150600382050168056bc75e2d63100000828402059150600582050168056bc75e2d63100000828402059150600782050168056bc75e2d63100000828402059150600982050168056bc75e2d63100000828402059150600b820501600202606485820105979650505050505050565b6000680238fd42c5cf03ffff19821215801561133b575068070c1cc73b00c800008213155b6113575760405162461bcd60e51b81526004016101c090611dea565b600082121561138a5761136c82600003611316565b6a0c097ce7bc90715b34b9f160241b8161138257fe5b059050610943565b60006806f05b59d3b200000083126113ca57506806f05b59d3b1ffffff1990910190770195e54c5dd42177f53a27172fa9ec630262827000000000611400565b6803782dace9d900000083126113fc57506803782dace9d8ffffff19909101906b1425982cf597cd205cef7380611400565b5060015b6064929092029168056bc75e2d6310000068ad78ebc5ac6200000084126114505768ad78ebc5ac61ffffff199093019268056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d631000000841261148c576856bc75e2d630ffffff199093019268056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b1880000084126114c657682b5e3af16b187fffff199093019268056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c4000008412611500576815af1d78b58c3fffff199093019268056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac6200000841261153957680ad78ebc5ac61fffff199093019268056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d6310000084126115725768056bc75e2d630fffff199093019268056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b188000084126115ab576802b5e3af16b187ffff199093019268056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c4000084126115e45768015af1d78b58c3ffff199093019268056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008481019085906002908280020505918201919050600368056bc75e2d631000008783020505918201919050600468056bc75e2d631000008783020505918201919050600568056bc75e2d631000008783020505918201919050600668056bc75e2d631000008783020505918201919050600768056bc75e2d631000008783020505918201919050600868056bc75e2d631000008783020505918201919050600968056bc75e2d631000008783020505918201919050600a68056bc75e2d631000008783020505918201919050600b68056bc75e2d631000008783020505918201919050600c68056bc75e2d631000008783020505918201919050606468056bc75e2d63100000848402058502059695505050505050565b8035610a7581611e9b565b8051610a7581611e9b565b60008083601f84011261172d57600080fd5b50813567ffffffffffffffff81111561174557600080fd5b6020830191508360208202830111156107bf57600080fd5b600082601f83011261176e57600080fd5b815161178161177c82611e31565b611e0a565b915081818352602084019350602081019050838560208402820111156117a657600080fd5b60005b838110156117d257816117bc8882611710565b84525060209283019291909101906001016117a9565b5050505092915050565b600082601f8301126117ed57600080fd5b81516117fb61177c82611e31565b9150818183526020840193506020810190508385602084028201111561182057600080fd5b60005b838110156117d257816118368882611857565b8452506020928301929190910190600101611823565b8051610a7581611eb2565b8051610a7581611ebb565b8035610a7581611ebb565b8051610a7581611ec4565b60006020828403121561188a57600080fd5b60006118968484611705565b949350505050565b6000602082840312156118b057600080fd5b60006118968484611710565b600080604083850312156118cf57600080fd5b60006118db8585611705565b92505060206118ec85828601611862565b9150509250929050565b6000806020838503121561190957600080fd5b823567ffffffffffffffff81111561192057600080fd5b61192c8582860161171b565b92509250509250929050565b60008060006060848603121561194d57600080fd5b835167ffffffffffffffff81111561196457600080fd5b6119708682870161175d565b935050602084015167ffffffffffffffff81111561198d57600080fd5b611999868287016117dc565b92505060406119aa86828701611857565b9150509250925092565b6000602082840312156119c657600080fd5b815167ffffffffffffffff8111156119dd57600080fd5b611896848285016117dc565b6000602082840312156119fb57600080fd5b6000611896848461184c565b600060208284031215611a1957600080fd5b60006118968484611857565b600060208284031215611a3757600080fd5b6000611896848461186d565b6000611a4f8383611a72565b505060200190565b6000611a4f8383611b2b565b611a6c81611e8a565b82525050565b611a6c81611e65565b6000611a8682611e58565b611a908185611e5c565b9350611a9b83611e52565b8060005b83811015611ac9578151611ab38882611a43565b9750611abe83611e52565b925050600101611a9f565b509495945050505050565b6000611adf82611e58565b611ae98185611e5c565b9350611af483611e52565b8060005b83811015611ac9578151611b0c8882611a57565b9750611b1783611e52565b925050600101611af8565b611a6c81611e70565b611a6c81611e75565b6000611b41604983611e5c565b7f6f6e6c7946756e644465706c6f7965724f776e65723a204f6e6c79207468652081527f46756e644465706c6f796572206f776e65722063616e2063616c6c207468697360208201526810333ab731ba34b7b760b91b604082015260600192915050565b6000611bb2601583611e5c565b7470726f64756374206f7574206f6620626f756e647360581b815260200192915050565b6000611be3601083611e5c565b6f5f79206f7574206f6620626f756e647360801b815260200192915050565b6000611c0f601083611e5c565b6f5f78206f7574206f6620626f756e647360801b815260200192915050565b6000611c3b600c83611e5c565b6b191a5d881a5b9d195c9b985b60a21b815260200192915050565b6000611c63600c83611e5c565b6b6d756c206f766572666c6f7760a01b815260200192915050565b6000611c8b601083611e5c565b6f1a5b9d985b1a5908195e1c1bdb995b9d60821b815260200192915050565b6000611cb7600d83611e5c565b6c3d32b937903234bb34b9b4b7b760991b815260200192915050565b60208101610a758284611a72565b60608101611cef8286611a72565b611cfc6020830185611a63565b6118966040830184611b22565b60608101611d178286611a72565b611d246020830185611b2b565b6118966040830184611a72565b60208082528101611d428184611a7b565b9392505050565b60408082528101611d5a8185611a7b565b905081810360208301526118968184611ad4565b60208101610a758284611b22565b60208101610a758284611b2b565b60208082528101610a7581611b34565b60208082528101610a7581611ba5565b60208082528101610a7581611bd6565b60208082528101610a7581611c02565b60208082528101610a7581611c2e565b60208082528101610a7581611c56565b60208082528101610a7581611c7e565b60208082528101610a7581611caa565b60405181810167ffffffffffffffff81118282101715611e2957600080fd5b604052919050565b600067ffffffffffffffff821115611e4857600080fd5b5060209081020190565b60200190565b5190565b90815260200190565b6000610a7582611e78565b151590565b90565b6001600160a01b031690565b60ff1690565b6000610a75826000610a7582611e65565b611ea481611e65565b8114611eaf57600080fd5b50565b611ea481611e70565b611ea481611e75565b611ea481611e8456fea164736f6c634300060c000a", - "sourceMap": "1035:5651:239:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6567:117;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5358:143;;;;;;:::i;:::-;;:::i;:::-;;2953:1820;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;1064:120:358:-;;;:::i;:::-;;;;;;;:::i;1378:108::-;;;:::i;4946:318:239:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;5601:334::-;;;;;;:::i;:::-;;:::i;6567:117::-;6618:27;6664:13;6657:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6657:20:239;;;;;;;;;;;;;;;;;;;;;;;6567:117;:::o;5358:143::-;679:10:358;:8;:10::i;:::-;-1:-1:-1;;;;;665:24:358;:10;-1:-1:-1;;;;;665:24:358;;644:144;;;;-1:-1:-1;;;644:144:358;;;;;;;:::i;:::-;;;;;;;;;5460:34:239::1;5479:14;;5460:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;5460:18:239::1;::::0;-1:-1:-1;;;5460:34:239:i:1;:::-;5358:143:::0;;:::o;2953:1820::-;3082:29;3113:35;3365:23;-1:-1:-1;;;;;3365:42:239;;3416:4;3431:1;3435:5;3365:76;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3453:27;3488:23;-1:-1:-1;;;;;3488:37:239;;3563:11;-1:-1:-1;;;;;3539:46:239;;:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3488:109;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3488:109:239;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;3623:16:239;;;3637:1;3623:16;;;;;;;;;3452:145;;-1:-1:-1;3623:16:239;;;;;;;;;-1:-1:-1;;3670:16:239;;;3684:1;3670:16;;;;;;;;;3608:31;;-1:-1:-1;3684:1:239;-1:-1:-1;3670:16:239;;;;;;;;;;;-1:-1:-1;3670:16:239;3649:37;;3697:19;3725:11;-1:-1:-1;;;;;3719:30:239;;:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3697:54;;3761:17;3805:11;-1:-1:-1;;;;;3781:49:239;;:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3761:71;;3842:24;3893:11;-1:-1:-1;;;;;3869:57:239;;:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3869:59:239;;;;;;;;;;;;:::i;:::-;3842:86;-1:-1:-1;1405:6:239;4023:29;4081:434;4101:10;:17;4097:1;:21;4081:434;;;4139:13;4155:26;-1:-1:-1;;;;;4155:50:239;;4223:10;4234:1;4223:13;;;;;;;;;;;;;;4273:10;4284:1;4273:13;;;;;;;;;;;;;;-1:-1:-1;;;;;4267:29:239;;:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4259:40;;4254:2;:46;4318:18;4155:195;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4139:211;;4388:116;4433:57;4463:26;4478:7;4486:1;4478:10;;;;;;;;;;;;;;4463:7;4471:1;4463:10;;;;;;;;;;;;;;:14;;:26;;;;:::i;:::-;4434:21;4444:7;4452:1;4444:10;;;;;;;;;;;;;;4434:5;:9;;:21;;;;:::i;:::-;4433:29;;:57::i;:::-;4388:21;;:27;:116::i;:::-;4364:140;-1:-1:-1;;4120:3:239;;4081:434;;;-1:-1:-1;4525:15:239;4543:57;4588:11;4543:38;:21;4571:9;4543:27;:38::i;:57::-;4525:75;;4629:18;4611:12;4624:1;4611:15;;;;;;;;-1:-1:-1;;;;;4611:36:239;;;:15;;;;;;;;;;;:36;4682:32;:17;4706:7;4682:23;:32::i;:::-;4658:18;4677:1;4658:21;;;;;;;;;;;;;:56;;;;;4725:41;;;;;;2953:1820;;;;;;:::o;1064:120:358:-;1105:14;1152:13;-1:-1:-1;;;;;1138:37:358;;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1131:46;;1064:120;:::o;1378:108::-;1466:13;1378:108;:::o;4946:318:239:-;5020:17;5054:9;5049:187;5069:13;:20;5065:24;;5049:187;;;5137:13;5151:1;5137:16;;;;;;;;;;;;;;;;;;5114:66;;-1:-1:-1;;;5114:66:239;;-1:-1:-1;;;;;5137:16:239;;;;5114:58;;:66;;5173:6;;5114:66;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5110:116;;;5207:4;5200:11;;;;;5110:116;5091:3;;5049:187;;;;5252:5;5245:12;;4946:318;;;;:::o;5601:334::-;679:10:358;:8;:10::i;:::-;-1:-1:-1;;;;;665:24:358;:10;-1:-1:-1;;;;;665:24:358;;644:144;;;;-1:-1:-1;;;644:144:358;;;;;;;:::i;:::-;5731:9:239::1;5726:203;5742:25:::0;;::::1;5726:203;;;5792:50;5824:14;;5839:1;5824:17;;;;;;;;;;;;;;;;;;;;:::i;:::-;5792:13;::::0;:31:::1;:50::i;:::-;5788:131;;;5867:37;5886:14;;5901:1;5886:17;;;;;;;;;;;;;;;;;;;;:::i;:::-;5867:37;;;;;;:::i;:::-;;;;;;;;5788:131;5769:3;;5726:203;;;;5601:334:::0;;:::o;1167:351:354:-;1339:12;;1286:17;;;1361:129;1381:9;1377:1;:13;1361:129;;;1426:5;1432:1;1426:8;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1415:19:354;;;1426:8;;1415:19;1411:69;;;1461:4;1454:11;;;;;;1411:69;1392:3;;1361:129;;;;1506:5;1499:12;;;1167:351;;;;;:::o;5995:346:239:-;6079:9;6074:261;6094:14;:21;6090:1;:25;6074:261;;;6141:53;6176:14;6191:1;6176:17;;;;;;;;;;;;;;6141:13;:34;;:53;;;;:::i;:::-;6136:189;;6214:13;6233:14;6248:1;6233:17;;;;;;;;;;;;;;;;;;;6214:37;;;;;;;-1:-1:-1;6214:37:239;;;;;;;;;;-1:-1:-1;;;;;;6214:37:239;-1:-1:-1;;;;;6214:37:239;;;;;;;;;6292:17;;6275:35;;6292:17;;6307:1;;6292:17;;;;;;;;;;;;6275:35;;;;;;:::i;:::-;;;;;;;;6136:189;6117:3;;6074:261;;4663:2265:357;4723:12;4751:7;4747:132;;-1:-1:-1;1728:4:357;4846:22;;4747:132;4893:7;4889:46;;-1:-1:-1;4923:1:357;4916:8;;4889:46;5333:3;5327:9;;;:14;5319:43;;;;-1:-1:-1;;;5319:43:357;;;;;;;:::i;:::-;5397:2;2872:24;5769;;5761:53;;;;-1:-1:-1;;;5761:53:357;;;;;;;:::i;:::-;5849:2;5824:15;2758:13;5896:28;-1:-1:-1;5896:60:357;;;;-1:-1:-1;2813:13:357;5928:28;;5896:60;5892:732;;;5972:14;5989:16;5996:8;5989:6;:16::i;:::-;5972:33;-1:-1:-1;1728:4:357;6488:16;;;6487:29;;6486:56;6459:8;1728:4;6423:7;:16;6422:45;:120;6406:137;;5892:732;;;;6605:8;6589:13;6593:8;6589:3;:13::i;:::-;:24;6574:39;;5892:732;1728:4;6633:22;;-1:-1:-1;;6754:36:357;-1:-1:-1;6754:36:357;;;:76;;;2513:6;6794:12;:36;;6754:76;6733:144;;;;-1:-1:-1;;;6733:144:357;;;;;;;:::i;:::-;6903:17;6907:12;6903:3;:17::i;:::-;6888:33;4663:2265;-1:-1:-1;;;;;;4663:2265:357:o;1105:682:356:-;1167:12;1199:7;1191:33;;;;-1:-1:-1;;;1191:33:356;;;;;;;:::i;:::-;1239:7;1235:546;;-1:-1:-1;1269:1:356;1262:8;;1235:546;1073:4;1321:8;;;;:2;:8;:2;1351:14;;;;;:21;1343:46;;;;-1:-1:-1;;;1343:46:356;;;;;;;:::i;:::-;1763:2;1758:1;1746:9;:13;1745:20;;;;;;1769:1;1744:26;1737:33;;;;;1793:623;1855:12;1897:7;;;1922;;;:29;;;1949:2;1943;1933:7;:12;;;;;;:18;1922:29;1914:54;;;;-1:-1:-1;;;1914:54:356;;;;;;;:::i;:::-;1983:12;1979:431;;2018:1;2011:8;;;;;1979:431;1073:4;-1:-1:-1;;2376:11:356;;2375:19;;569:515:354;727:12;;678:13;;;749:303;769:9;765:1;:13;749:303;;;815:13;-1:-1:-1;;;;;803:25:354;:5;809:1;803:8;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;803:8:354;:25;799:243;;;868:1;856:9;:13;852:1;:17;848:95;;;904:5;922:1;910:9;:13;904:20;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;904:20:354;893:5;899:1;893:8;;;;;;;;;;;;;;;;:31;;;;;-1:-1:-1;;;;;893:31:354;;;;;-1:-1:-1;;;;;893:31:354;;;;;;848:95;960:5;:11;;;;;;;;;;;;;;;;-1:-1:-1;;960:11:354;;;;;-1:-1:-1;;;;;;960:11:354;;;;;;;;-1:-1:-1;1022:5:354;;799:243;780:3;;749:303;;;;1062:15;569:515;;;;:::o;18962:1731:357:-;1728:4;19243:12;19011:11;;-1:-1:-1;;;19658:11:357;;;;-1:-1:-1;;19632:11:357;;19631:22;19658:11;19630:40;;;;;;-1:-1:-1;19680:16:357;-1:-1:-1;;;19700:5:357;;;19699:16;;-1:-1:-1;19809:1:357;;-1:-1:-1;;;20024:15:357;;;20023:26;;-1:-1:-1;20078:1:357;20023:26;20072:7;20059:20;-1:-1:-1;;;20097:15:357;;;20096:26;;-1:-1:-1;20151:1:357;20096:26;20145:7;20132:20;-1:-1:-1;;;20170:15:357;;;20169:26;;-1:-1:-1;20224:1:357;20169:26;20218:7;20205:20;-1:-1:-1;;;20243:15:357;;;20242:26;;-1:-1:-1;20297:1:357;20242:26;20291:7;20278:20;-1:-1:-1;;;20316:15:357;;;20315:26;;-1:-1:-1;20370:2:357;20315:26;20364:8;20351:21;-1:-1:-1;;;20390:15:357;;;20389:26;;-1:-1:-1;20444:2:357;20389:26;20438:8;20425:21;-1:-1:-1;;;20464:15:357;;;20463:26;;-1:-1:-1;20518:2:357;20463:26;20685:1;20512:8;;;20499:21;;;;20673:13;;18962:1731;-1:-1:-1;;;;;18962:1731:357:o;13664:5029::-;13710:11;1728:4;13737:2;:11;13733:392;;;14086:27;14110:2;-1:-1:-1;;;14110:2:357;14090:22;;;;;14086:3;:27::i;:::-;14085:28;;14077:37;;;;13733:392;15458:10;15492:11;15486:17;;15482:116;;3008:56;15519:8;;;-1:-1:-1;2952:21:357;15578:9;15482:116;15618:11;15612:17;;15608:116;;3171:28;15645:8;;;-1:-1:-1;3116:20:357;15704:9;15608:116;15863:3;15876:9;;;;15856:10;3337:34;16012:8;;16008:85;;3337:34;1918:4;16042:11;;16041:18;;-1:-1:-1;3280:22:357;16073:9;16008:85;3466:27;16107:2;:8;16103:85;;3466:27;1918:4;16137:11;;16136:18;;-1:-1:-1;3409:22:357;16168:9;16103:85;3587:24;16202:2;:8;16198:85;;3587:24;1918:4;16232:11;;16231:18;;-1:-1:-1;3531:21:357;16263:9;16198:85;3705:22;16297:2;:8;16293:85;;3705:22;1918:4;16327:11;;16326:18;;-1:-1:-1;3649:21:357;16358:9;16293:85;3821:21;16392:2;:8;16388:85;;3821:21;1918:4;16422:11;;16421:18;;-1:-1:-1;3765:21:357;16453:9;16388:85;3936:21;16487:2;:8;16483:85;;3936:21;1918:4;16517:11;;;16516:18;;16548:9;16483:85;4051:21;16582:2;:8;16578:85;;4051:21;1918:4;16612:11;;16611:18;;-1:-1:-1;3995:20:357;16643:9;16578:85;4166:21;16677:2;:8;16673:85;;4166:21;1918:4;16707:11;;16706:18;;-1:-1:-1;4110:20:357;16738:9;16673:85;4283:21;16772:2;:9;16768:88;;4283:21;1918:4;16803:11;;16802:19;;-1:-1:-1;4226:20:357;16835:10;16768:88;4400:21;16870:2;:9;16866:88;;4400:21;1918:4;16901:11;;16900:19;;-1:-1:-1;4344:19:357;16933:10;16866:88;17463:8;1918:4;17502:2;:11;1918:4;;17476:2;:11;17475:22;17474:40;;;;;;;-1:-1:-1;17524:16:357;1918:4;17544:5;;;17543:16;;-1:-1:-1;17653:1:357;;1918:4;17868:15;;;17867:26;;-1:-1:-1;17922:1:357;17867:26;17916:7;17903:20;1918:4;17941:15;;;17940:26;;-1:-1:-1;17995:1:357;17940:26;17989:7;17976:20;1918:4;18014:15;;;18013:26;;-1:-1:-1;18068:1:357;18013:26;18062:7;18049:20;1918:4;18087:15;;;18086:26;;-1:-1:-1;18141:1:357;18086:26;18135:7;18122:20;1918:4;18160:15;;;18159:26;;-1:-1:-1;18214:2:357;18159:26;18208:8;18195:21;18388:1;18375:14;18683:3;18664:15;;;18663:23;;13664:5029;-1:-1:-1;;;;;;;13664:5029:357:o;7144:5443::-;7191:11;-1:-1:-1;;7222:2:357;:26;;:56;;;;;2513:6;7252:2;:26;;7222:56;7214:85;;;;-1:-1:-1;;;7214:85:357;;;;;;;:::i;:::-;7319:1;7314:2;:6;7310:358;;;7648:8;7653:2;7652:3;;7648;:8::i;:::-;-1:-1:-1;;;7628:28:357;;;;;;7620:37;;;;7310:358;8978:14;2952:21;9006:2;:8;9002:224;;-1:-1:-1;;;9030:8:357;;;;3008:56;9002:224;;;3116:20;9085:2;:8;9081:145;;-1:-1:-1;;;9109:8:357;;;;3171:28;9081:145;;;-1:-1:-1;9184:1:357;9081:145;9384:3;9378:9;;;;;1918:4;3280:22;9638:8;;9634:94;;-1:-1:-1;;9662:8:357;;;;1918:4;3337:34;9695:12;;9694:23;9684:33;;9634:94;3409:22;9741:2;:8;9737:94;;-1:-1:-1;;9765:8:357;;;;1918:4;3466:27;9798:12;;9797:23;9787:33;;9737:94;3531:21;9844:2;:8;9840:94;;-1:-1:-1;;9868:8:357;;;;1918:4;3587:24;9901:12;;9900:23;9890:33;;9840:94;3649:21;9947:2;:8;9943:94;;-1:-1:-1;;9971:8:357;;;;1918:4;3705:22;10004:12;;10003:23;9993:33;;9943:94;3765:21;10050:2;:8;10046:94;;-1:-1:-1;;10074:8:357;;;;1918:4;3821:21;10107:12;;10106:23;10096:33;;10046:94;3880:21;10153:2;:8;10149:94;;-1:-1:-1;;10177:8:357;;;;3880:21;3936;10210:12;;10209:23;10199:33;;10149:94;3995:20;10256:2;:8;10252:94;;-1:-1:-1;;10280:8:357;;;;1918:4;4051:21;10313:12;;10312:23;10302:33;;10252:94;4110:20;10359:2;:8;10355:94;;-1:-1:-1;;10383:8:357;;;;1918:4;4166:21;10416:12;;10415:23;10405:33;;10355:94;1918:4;10991:17;;;;;;11281:1;;11258:9;;;11257:20;11256:26;11292:17;;;;11256:26;-1:-1:-1;11352:1:357;1918:4;11329:9;;;11328:20;11327:26;11363:17;;;;11327:26;-1:-1:-1;11423:1:357;1918:4;11400:9;;;11399:20;11398:26;11434:17;;;;11398:26;-1:-1:-1;11494:1:357;1918:4;11471:9;;;11470:20;11469:26;11505:17;;;;11469:26;-1:-1:-1;11565:1:357;1918:4;11542:9;;;11541:20;11540:26;11576:17;;;;11540:26;-1:-1:-1;11636:1:357;1918:4;11613:9;;;11612:20;11611:26;11647:17;;;;11611:26;-1:-1:-1;11707:1:357;1918:4;11684:9;;;11683:20;11682:26;11718:17;;;;11682:26;-1:-1:-1;11778:1:357;1918:4;11755:9;;;11754:20;11753:26;11789:17;;;;11753:26;-1:-1:-1;11849:2:357;1918:4;11826:9;;;11825:20;11824:27;11861:17;;;;11824:27;-1:-1:-1;11921:2:357;1918:4;11898:9;;;11897:20;11896:27;11933:17;;;;11896:27;-1:-1:-1;11993:2:357;1918:4;11970:9;;;11969:20;11968:27;12005:17;;;;11968:27;-1:-1:-1;12577:3:357;1918:4;12533:19;;;12532:30;12531:42;;12530:50;;7144:5443;-1:-1:-1;;;;;;7144:5443:357:o;5:130:-1:-;72:20;;97:33;72:20;97:33;:::i;142:134::-;220:13;;238:33;220:13;238:33;:::i;301:352::-;;;431:3;424:4;416:6;412:17;408:27;398:2;;449:1;446;439:12;398:2;-1:-1;469:20;;509:18;498:30;;495:2;;;541:1;538;531:12;495:2;575:4;567:6;563:17;551:29;;626:3;618:4;610:6;606:17;596:8;592:32;589:41;586:2;;;643:1;640;633:12;679:722;;807:3;800:4;792:6;788:17;784:27;774:2;;825:1;822;815:12;774:2;855:6;849:13;877:80;892:64;949:6;892:64;:::i;:::-;877:80;:::i;:::-;868:89;;974:5;999:6;992:5;985:21;1029:4;1021:6;1017:17;1007:27;;1051:4;1046:3;1042:14;1035:21;;1104:6;1151:3;1143:4;1135:6;1131:17;1126:3;1122:27;1119:36;1116:2;;;1168:1;1165;1158:12;1116:2;1193:1;1178:217;1203:6;1200:1;1197:13;1178:217;;;1261:3;1283:48;1327:3;1315:10;1283:48;:::i;:::-;1271:61;;-1:-1;1355:4;1346:14;;;;1374;;;;;1225:1;1218:9;1178:217;;;1182:14;767:634;;;;;;;:::o;1427:722::-;;1555:3;1548:4;1540:6;1536:17;1532:27;1522:2;;1573:1;1570;1563:12;1522:2;1603:6;1597:13;1625:80;1640:64;1697:6;1640:64;:::i;1625:80::-;1616:89;;1722:5;1747:6;1740:5;1733:21;1777:4;1769:6;1765:17;1755:27;;1799:4;1794:3;1790:14;1783:21;;1852:6;1899:3;1891:4;1883:6;1879:17;1874:3;1870:27;1867:36;1864:2;;;1916:1;1913;1906:12;1864:2;1941:1;1926:217;1951:6;1948:1;1945:13;1926:217;;;2009:3;2031:48;2075:3;2063:10;2031:48;:::i;:::-;2019:61;;-1:-1;2103:4;2094:14;;;;2122;;;;;1973:1;1966:9;1926:217;;2157:128;2232:13;;2250:30;2232:13;2250:30;:::i;2292:134::-;2370:13;;2388:33;2370:13;2388:33;:::i;2433:130::-;2500:20;;2525:33;2500:20;2525:33;:::i;2711:130::-;2787:13;;2805:31;2787:13;2805:31;:::i;2848:241::-;;2952:2;2940:9;2931:7;2927:23;2923:32;2920:2;;;2968:1;2965;2958:12;2920:2;3003:1;3020:53;3065:7;3045:9;3020:53;:::i;:::-;3010:63;2914:175;-1:-1;;;;2914:175::o;3096:263::-;;3211:2;3199:9;3190:7;3186:23;3182:32;3179:2;;;3227:1;3224;3217:12;3179:2;3262:1;3279:64;3335:7;3315:9;3279:64;:::i;3366:366::-;;;3487:2;3475:9;3466:7;3462:23;3458:32;3455:2;;;3503:1;3500;3493:12;3455:2;3538:1;3555:53;3600:7;3580:9;3555:53;:::i;:::-;3545:63;;3517:97;3645:2;3663:53;3708:7;3699:6;3688:9;3684:22;3663:53;:::i;:::-;3653:63;;3624:98;3449:283;;;;;:::o;3739:397::-;;;3878:2;3866:9;3857:7;3853:23;3849:32;3846:2;;;3894:1;3891;3884:12;3846:2;3929:31;;3980:18;3969:30;;3966:2;;;4012:1;4009;4002:12;3966:2;4040:80;4112:7;4103:6;4092:9;4088:22;4040:80;:::i;:::-;4022:98;;;;3908:218;3840:296;;;;;:::o;4143:793::-;;;;4342:2;4330:9;4321:7;4317:23;4313:32;4310:2;;;4358:1;4355;4348:12;4310:2;4393:24;;4437:18;4426:30;;4423:2;;;4469:1;4466;4459:12;4423:2;4489:89;4570:7;4561:6;4550:9;4546:22;4489:89;:::i;:::-;4479:99;;4372:212;4636:2;4625:9;4621:18;4615:25;4660:18;4652:6;4649:30;4646:2;;;4692:1;4689;4682:12;4646:2;4712:89;4793:7;4784:6;4773:9;4769:22;4712:89;:::i;:::-;4702:99;;4594:213;4838:2;4856:64;4912:7;4903:6;4892:9;4888:22;4856:64;:::i;:::-;4846:74;;4817:109;4304:632;;;;;:::o;4943:392::-;;5083:2;5071:9;5062:7;5058:23;5054:32;5051:2;;;5099:1;5096;5089:12;5051:2;5134:24;;5178:18;5167:30;;5164:2;;;5210:1;5207;5200:12;5164:2;5230:89;5311:7;5302:6;5291:9;5287:22;5230:89;:::i;5342:257::-;;5454:2;5442:9;5433:7;5429:23;5425:32;5422:2;;;5470:1;5467;5460:12;5422:2;5505:1;5522:61;5575:7;5555:9;5522:61;:::i;5606:263::-;;5721:2;5709:9;5700:7;5696:23;5692:32;5689:2;;;5737:1;5734;5727:12;5689:2;5772:1;5789:64;5845:7;5825:9;5789:64;:::i;6146:259::-;;6259:2;6247:9;6238:7;6234:23;6230:32;6227:2;;;6275:1;6272;6265:12;6227:2;6310:1;6327:62;6381:7;6361:9;6327:62;:::i;6413:173::-;;6500:46;6542:3;6534:6;6500:46;:::i;:::-;-1:-1;;6575:4;6566:14;;6493:93::o;6595:173::-;;6682:46;6724:3;6716:6;6682:46;:::i;6776:142::-;6867:45;6906:5;6867:45;:::i;:::-;6862:3;6855:58;6849:69;;:::o;6925:103::-;6998:24;7016:5;6998:24;:::i;7186:690::-;;7331:54;7379:5;7331:54;:::i;:::-;7398:86;7477:6;7472:3;7398:86;:::i;:::-;7391:93;;7505:56;7555:5;7505:56;:::i;:::-;7581:7;7609:1;7594:260;7619:6;7616:1;7613:13;7594:260;;;7686:6;7680:13;7707:63;7766:3;7751:13;7707:63;:::i;:::-;7700:70;;7787:60;7840:6;7787:60;:::i;:::-;7777:70;-1:-1;;7641:1;7634:9;7594:260;;;-1:-1;7867:3;;7310:566;-1:-1;;;;;7310:566::o;7915:690::-;;8060:54;8108:5;8060:54;:::i;:::-;8127:86;8206:6;8201:3;8127:86;:::i;:::-;8120:93;;8234:56;8284:5;8234:56;:::i;:::-;8310:7;8338:1;8323:260;8348:6;8345:1;8342:13;8323:260;;;8415:6;8409:13;8436:63;8495:3;8480:13;8436:63;:::i;:::-;8429:70;;8516:60;8569:6;8516:60;:::i;:::-;8506:70;-1:-1;;8370:1;8363:9;8323:260;;8613:104;8690:21;8705:5;8690:21;:::i;8724:113::-;8807:24;8825:5;8807:24;:::i;8845:447::-;;9005:67;9069:2;9064:3;9005:67;:::i;:::-;9105:34;9085:55;;9174:34;9169:2;9160:12;;9153:56;-1:-1;;;9238:2;9229:12;;9222:33;9283:2;9274:12;;8991:301;-1:-1;;8991:301::o;9301:321::-;;9461:67;9525:2;9520:3;9461:67;:::i;:::-;-1:-1;;;9541:44;;9613:2;9604:12;;9447:175;-1:-1;;9447:175::o;9631:316::-;;9791:67;9855:2;9850:3;9791:67;:::i;:::-;-1:-1;;;9871:39;;9938:2;9929:12;;9777:170;-1:-1;;9777:170::o;9956:316::-;;10116:67;10180:2;10175:3;10116:67;:::i;:::-;-1:-1;;;10196:39;;10263:2;10254:12;;10102:170;-1:-1;;10102:170::o;10281:312::-;;10441:67;10505:2;10500:3;10441:67;:::i;:::-;-1:-1;;;10521:35;;10584:2;10575:12;;10427:166;-1:-1;;10427:166::o;10602:312::-;;10762:67;10826:2;10821:3;10762:67;:::i;:::-;-1:-1;;;10842:35;;10905:2;10896:12;;10748:166;-1:-1;;10748:166::o;10923:316::-;;11083:67;11147:2;11142:3;11083:67;:::i;:::-;-1:-1;;;11163:39;;11230:2;11221:12;;11069:170;-1:-1;;11069:170::o;11248:313::-;;11408:67;11472:2;11467:3;11408:67;:::i;:::-;-1:-1;;;11488:36;;11552:2;11543:12;;11394:167;-1:-1;;11394:167::o;11799:222::-;11926:2;11911:18;;11940:71;11915:9;11984:6;11940:71;:::i;12028:448::-;12213:2;12198:18;;12227:71;12202:9;12271:6;12227:71;:::i;:::-;12309:80;12385:2;12374:9;12370:18;12361:6;12309:80;:::i;:::-;12400:66;12462:2;12451:9;12447:18;12438:6;12400:66;:::i;12483:444::-;12666:2;12651:18;;12680:71;12655:9;12724:6;12680:71;:::i;:::-;12762:72;12830:2;12819:9;12815:18;12806:6;12762:72;:::i;:::-;12845;12913:2;12902:9;12898:18;12889:6;12845:72;:::i;12934:370::-;13111:2;13125:47;;;13096:18;;13186:108;13096:18;13280:6;13186:108;:::i;:::-;13178:116;13082:222;-1:-1;;;13082:222::o;13311:629::-;13566:2;13580:47;;;13551:18;;13641:108;13551:18;13735:6;13641:108;:::i;:::-;13633:116;;13797:9;13791:4;13787:20;13782:2;13771:9;13767:18;13760:48;13822:108;13925:4;13916:6;13822:108;:::i;13947:210::-;14068:2;14053:18;;14082:65;14057:9;14120:6;14082:65;:::i;14164:222::-;14291:2;14276:18;;14305:71;14280:9;14349:6;14305:71;:::i;14393:416::-;14593:2;14607:47;;;14578:18;;14668:131;14578:18;14668:131;:::i;14816:416::-;15016:2;15030:47;;;15001:18;;15091:131;15001:18;15091:131;:::i;15239:416::-;15439:2;15453:47;;;15424:18;;15514:131;15424:18;15514:131;:::i;15662:416::-;15862:2;15876:47;;;15847:18;;15937:131;15847:18;15937:131;:::i;16085:416::-;16285:2;16299:47;;;16270:18;;16360:131;16270:18;16360:131;:::i;16508:416::-;16708:2;16722:47;;;16693:18;;16783:131;16693:18;16783:131;:::i;16931:416::-;17131:2;17145:47;;;17116:18;;17206:131;17116:18;17206:131;:::i;17354:416::-;17554:2;17568:47;;;17539:18;;17629:131;17539:18;17629:131;:::i;17777:256::-;17839:2;17833:9;17865:17;;;17940:18;17925:34;;17961:22;;;17922:62;17919:2;;;17997:1;17994;17987:12;17919:2;18013;18006:22;17817:216;;-1:-1;17817:216::o;18040:304::-;;18199:18;18191:6;18188:30;18185:2;;;18231:1;18228;18221:12;18185:2;-1:-1;18266:4;18254:17;;;18319:15;;18122:222::o;18662:151::-;18786:4;18777:14;;18734:79::o;18978:137::-;19081:12;;19052:63::o;19497:178::-;19615:19;;;19664:4;19655:14;;19608:67::o;20042:91::-;;20104:24;20122:5;20104:24;:::i;20140:85::-;20206:13;20199:21;;20182:43::o;20232:72::-;20294:5;20277:27::o;20311:121::-;-1:-1;;;;;20373:54;;20356:76::o;20518:81::-;20589:4;20578:16;;20561:38::o;20606:129::-;;20693:37;20724:5;20742:121;20821:37;20852:5;20821:37;:::i;20985:117::-;21054:24;21072:5;21054:24;:::i;:::-;21047:5;21044:35;21034:2;;21093:1;21090;21083:12;21034:2;21028:74;:::o;21109:111::-;21175:21;21190:5;21175:21;:::i;21227:117::-;21296:24;21314:5;21296:24;:::i;21475:113::-;21542:22;21558:5;21542:22;:::i", - "linkReferences": {}, - "immutableReferences": { - "63063": [ - { - "start": 526, - "length": 32 - }, - { - "start": 659, - "length": 32 - } - ], - "63065": [ - { - "start": 1582, - "length": 32 - }, - { - "start": 1873, - "length": 32 - } - ], - "63067": [ - { - "start": 1377, - "length": 32 - } - ], - "78707": [ - { - "start": 1994, - "length": 32 - }, - { - "start": 2144, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "addPoolFactories(address[])": "4c8f6529", - "calcUnderlyingValues(address,uint256)": "727212f6", - "getFundDeployer()": "97c0ac87", - "getOwner()": "893d20e8", - "getPoolFactories()": "27082f73", - "isSupportedAsset(address)": "9be918e6", - "removePoolFactories(address[])": "ec421ea0" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_fundDeployer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_valueInterpreter\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_intermediaryAsset\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_balancerVault\",\"type\":\"address\"},{\"internalType\":\"address[]\",\"name\":\"_poolFactories\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"poolFactory\",\"type\":\"address\"}],\"name\":\"PoolFactoryAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"poolFactory\",\"type\":\"address\"}],\"name\":\"PoolFactoryRemoved\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_poolFactories\",\"type\":\"address[]\"}],\"name\":\"addPoolFactories\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_derivative\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_derivativeAmount\",\"type\":\"uint256\"}],\"name\":\"calcUnderlyingValues\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"underlyings_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"underlyingAmounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFundDeployer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"fundDeployer_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPoolFactories\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"factories_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"}],\"name\":\"isSupportedAsset\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isSupported_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_poolFactories\",\"type\":\"address[]\"}],\"name\":\"removePoolFactories\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"addPoolFactories(address[])\":{\"params\":{\"_poolFactories\":\"pool factories to add\"}},\"calcUnderlyingValues(address,uint256)\":{\"details\":\"The underlyings returned from this function does not correspond to the real underlyings of the Balancer Pool Token. Instead, we return the value of the derivative in a single asset, which is the INTERMEDIARY_ASSET. This saves a considerable amount of gas, while returning the same total value. Pricing formula: https://dev.balancer.fi/references/lp-tokens/valuing#estimating-price-robustly-on-chain\",\"params\":{\"_derivative\":\"The derivative to convert\",\"_derivativeAmount\":\"The amount of the derivative to convert\"},\"returns\":{\"underlyingAmounts_\":\"The amount of each underlying asset for the equivalent derivative amount\",\"underlyings_\":\"The underlying assets for the _derivative\"}},\"getFundDeployer()\":{\"returns\":{\"fundDeployer_\":\"The `FUND_DEPLOYER` variable value\"}},\"getOwner()\":{\"details\":\"Ownership is deferred to the owner of the FundDeployer contract\",\"returns\":{\"owner_\":\"The owner\"}},\"getPoolFactories()\":{\"returns\":{\"factories_\":\"array of stored pool factory contract addresses\"}},\"isSupportedAsset(address)\":{\"params\":{\"_asset\":\"The asset to check\"},\"returns\":{\"isSupported_\":\"True if the asset is supported\"}},\"removePoolFactories(address[])\":{\"params\":{\"_poolFactories\":\"pool factories to remove\"}}},\"title\":\"BalancerV2WeightedPoolPriceFeed Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"addPoolFactories(address[])\":{\"notice\":\"Adds pool factories\"},\"calcUnderlyingValues(address,uint256)\":{\"notice\":\"Converts a given amount of a derivative to its underlying asset values\"},\"getFundDeployer()\":{\"notice\":\"Gets the `FUND_DEPLOYER` variable\"},\"getOwner()\":{\"notice\":\"Gets the owner of this contract\"},\"getPoolFactories()\":{\"notice\":\"Returns stored balancer pool factory contract addresses\"},\"isSupportedAsset(address)\":{\"notice\":\"Checks if an asset is supported by the price feed\"},\"removePoolFactories(address[])\":{\"notice\":\"Removes pool factories\"}},\"notice\":\"Price source oracle for Balancer Pool Tokens (BPT) of weighted pools\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/infrastructure/price-feeds/derivatives/feeds/BalancerV2WeightedPoolPriceFeed.sol\":\"BalancerV2WeightedPoolPriceFeed\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/infrastructure/price-feeds/derivatives/AggregatedDerivativePriceFeedMixin.sol\":{\"keccak256\":\"0x85d2ac39834dae7feb04f0e37317a38b8abeb0f950692fbc9d29078c52cd8d52\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://7bf8f1ce064d85a2812a944fc93068955b233924097f7f45898be3db826579d5\",\"dweb:/ipfs/Qme7f6AhxLVn32prM8fHaCvxtVi86A9KqFMqPA1s88kVYR\"]},\"contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol\":{\"keccak256\":\"0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e\",\"dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK\"]},\"contracts/release/infrastructure/price-feeds/derivatives/feeds/BalancerV2WeightedPoolPriceFeed.sol\":{\"keccak256\":\"0x27acdc756aa0553a1ed294c0e1f86c7cff00c2676e172ac6aa8bf4f8e9d37f27\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://81c2b43ac95f917d021e98b1cb61ad8019d735d9b1511901d560d2cde110a6de\",\"dweb:/ipfs/QmTNEJRSRv9gYkp832ZyFPf9jQWzWBvCMZGfkHDe51mf4T\"]},\"contracts/release/infrastructure/price-feeds/primitives/ChainlinkPriceFeedMixin.sol\":{\"keccak256\":\"0x7fb0078e7387f07ff09958fe4e4e7b317e72c23884f61e8c133776cad522f8bb\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://e973f29ed0c3bf03e20154ab4b0cfc68c3a4372a52ec746f9d9f86697b30e977\",\"dweb:/ipfs/QmfMb7H1zNnj2hzmUr6742HmCTiNVuQ2PFjeR8q2M4Liyu\"]},\"contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol\":{\"keccak256\":\"0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965\",\"dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ\"]},\"contracts/release/infrastructure/value-interpreter/ValueInterpreter.sol\":{\"keccak256\":\"0x64565011785d0d29a75021cda34687cfbc0641094d6f2faf4d9c78c8cd9f0d1d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://03ea9b29a332436d18ca1a4df7e5cdf231d5142dfb916a39cb3a721342d54e0e\",\"dweb:/ipfs/QmcB8Z7A7QELAxg2FfJpD26k2bUhMNUT4wACMVKxuge3QS\"]},\"contracts/release/interfaces/IBalancerV2PoolFactory.sol\":{\"keccak256\":\"0xb3b90f93ed2fe906f9a6ce15f537c36f33b24a8e3328e4ccbb011a719edd2de5\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://88571ee529345dd703fa0e5e71182c13cc194e9d6e73176a3c5f1fa94067367a\",\"dweb:/ipfs/QmaPS6tDuHDNdd6aYMBB7Syptoju6T37KgXuA6jXD6hgCK\"]},\"contracts/release/interfaces/IBalancerV2Vault.sol\":{\"keccak256\":\"0xb3c8da122ab160129c74ffeb0310ff96c4977d65eef12888bc1a8276fa2a3fd2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c9c89c1e04327c6fa45fbdf9ae8fd132ed95c9101ab49d078ef99c6590c30867\",\"dweb:/ipfs/QmWKrLQg5xBVmi6snaAwU3zUTjxQ6ugYj6n45x1hqRxv9A\"]},\"contracts/release/interfaces/IBalancerV2WeightedPool.sol\":{\"keccak256\":\"0x0e14c80f4a2c01d5528ab7feddf491f8074f84736b7d72d9d7cb3d526e3c447a\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ed724083136114b979eb7dcc0e95e4ff02f627ab066c9ce20ec3b8807e7d0b98\",\"dweb:/ipfs/QmeNvftCHn7PNDsLpxGJN8cA9Cq66wV6Z1cgoEQT6ufHUP\"]},\"contracts/release/interfaces/IChainlinkAggregator.sol\":{\"keccak256\":\"0x8104db68d4edc00c86b29b366f4397cdbe7bd95bb9dc90f54140af4bae963788\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://4664240be22fe76bd4e84d1cbaace3998dbc96759a14345819a889f0c288d22e\",\"dweb:/ipfs/QmQ8fbA4tvXeCeaAFeS2JrLEQUPFeYrePAKoUywRtcicgA\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/BalancerV2FixedPoint.sol\":{\"keccak256\":\"0x40a268978d537937000928b57e777c6ca010c333d2fd82eae6a7678e8542db50\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://13899c9b4cbab7665e142a20910f97f6dd198e42c5a3ae15589994ebdd8bc630\",\"dweb:/ipfs/Qmb8yWk7G1EWRoBrDCQ34H4kUDuYLsMDiXCqA6eA5DeZTk\"]},\"contracts/release/utils/BalancerV2LogExpMath.sol\":{\"keccak256\":\"0x5d28ba93befe244b01d66da69ae64eaecc9f0355674664e7b9470a173fad4366\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://97667cba261ff2cc08ffb33ed9cd5a63638fede0819ba1a5f1f8e0cf12d9293c\",\"dweb:/ipfs/QmUVoLE1mWTEYTjjqKGGH4KAz11eVxJENPzSeyVEHkKso2\"]},\"contracts/release/utils/FundDeployerOwnerMixin.sol\":{\"keccak256\":\"0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927\",\"dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM\"]},\"contracts/release/utils/MathHelpers.sol\":{\"keccak256\":\"0x8aef498ae98bfb40cd1df8c9ed652b4c092fbbe62d5a1fad522c53654523248e\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ed62789f6a8d5ca30a40c591f244b915e4711493a9e4b1b4d40ea2bc97b02a95\",\"dweb:/ipfs/QmWyXJ55arURtx9VMkUQokdsjk8tbgM2cC8rENFUMyz5D3\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_fundDeployer", - "type": "address" - }, - { - "internalType": "address", - "name": "_valueInterpreter", - "type": "address" - }, - { - "internalType": "address", - "name": "_intermediaryAsset", - "type": "address" - }, - { - "internalType": "address", - "name": "_balancerVault", - "type": "address" - }, - { - "internalType": "address[]", - "name": "_poolFactories", - "type": "address[]" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "poolFactory", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "PoolFactoryAdded", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "poolFactory", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "PoolFactoryRemoved", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_poolFactories", - "type": "address[]" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "addPoolFactories" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_derivative", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_derivativeAmount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "calcUnderlyingValues", - "outputs": [ - { - "internalType": "address[]", - "name": "underlyings_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "underlyingAmounts_", - "type": "uint256[]" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getFundDeployer", - "outputs": [ - { - "internalType": "address", - "name": "fundDeployer_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "owner_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getPoolFactories", - "outputs": [ - { - "internalType": "address[]", - "name": "factories_", - "type": "address[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_asset", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "isSupportedAsset", - "outputs": [ - { - "internalType": "bool", - "name": "isSupported_", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_poolFactories", - "type": "address[]" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "removePoolFactories" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "addPoolFactories(address[])": { - "params": { - "_poolFactories": "pool factories to add" - } - }, - "calcUnderlyingValues(address,uint256)": { - "details": "The underlyings returned from this function does not correspond to the real underlyings of the Balancer Pool Token. Instead, we return the value of the derivative in a single asset, which is the INTERMEDIARY_ASSET. This saves a considerable amount of gas, while returning the same total value. Pricing formula: https://dev.balancer.fi/references/lp-tokens/valuing#estimating-price-robustly-on-chain", - "params": { - "_derivative": "The derivative to convert", - "_derivativeAmount": "The amount of the derivative to convert" - }, - "returns": { - "underlyingAmounts_": "The amount of each underlying asset for the equivalent derivative amount", - "underlyings_": "The underlying assets for the _derivative" - } - }, - "getFundDeployer()": { - "returns": { - "fundDeployer_": "The `FUND_DEPLOYER` variable value" - } - }, - "getOwner()": { - "details": "Ownership is deferred to the owner of the FundDeployer contract", - "returns": { - "owner_": "The owner" - } - }, - "getPoolFactories()": { - "returns": { - "factories_": "array of stored pool factory contract addresses" - } - }, - "isSupportedAsset(address)": { - "params": { - "_asset": "The asset to check" - }, - "returns": { - "isSupported_": "True if the asset is supported" - } - }, - "removePoolFactories(address[])": { - "params": { - "_poolFactories": "pool factories to remove" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "addPoolFactories(address[])": { - "notice": "Adds pool factories" - }, - "calcUnderlyingValues(address,uint256)": { - "notice": "Converts a given amount of a derivative to its underlying asset values" - }, - "getFundDeployer()": { - "notice": "Gets the `FUND_DEPLOYER` variable" - }, - "getOwner()": { - "notice": "Gets the owner of this contract" - }, - "getPoolFactories()": { - "notice": "Returns stored balancer pool factory contract addresses" - }, - "isSupportedAsset(address)": { - "notice": "Checks if an asset is supported by the price feed" - }, - "removePoolFactories(address[])": { - "notice": "Removes pool factories" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/infrastructure/price-feeds/derivatives/feeds/BalancerV2WeightedPoolPriceFeed.sol": "BalancerV2WeightedPoolPriceFeed" - }, - "libraries": {} - }, - "sources": { - "contracts/release/core/fund-deployer/IFundDeployer.sol": { - "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", - "urls": [ - "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", - "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/price-feeds/derivatives/AggregatedDerivativePriceFeedMixin.sol": { - "keccak256": "0x85d2ac39834dae7feb04f0e37317a38b8abeb0f950692fbc9d29078c52cd8d52", - "urls": [ - "bzz-raw://7bf8f1ce064d85a2812a944fc93068955b233924097f7f45898be3db826579d5", - "dweb:/ipfs/Qme7f6AhxLVn32prM8fHaCvxtVi86A9KqFMqPA1s88kVYR" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol": { - "keccak256": "0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332", - "urls": [ - "bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e", - "dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/price-feeds/derivatives/feeds/BalancerV2WeightedPoolPriceFeed.sol": { - "keccak256": "0x27acdc756aa0553a1ed294c0e1f86c7cff00c2676e172ac6aa8bf4f8e9d37f27", - "urls": [ - "bzz-raw://81c2b43ac95f917d021e98b1cb61ad8019d735d9b1511901d560d2cde110a6de", - "dweb:/ipfs/QmTNEJRSRv9gYkp832ZyFPf9jQWzWBvCMZGfkHDe51mf4T" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/price-feeds/primitives/ChainlinkPriceFeedMixin.sol": { - "keccak256": "0x7fb0078e7387f07ff09958fe4e4e7b317e72c23884f61e8c133776cad522f8bb", - "urls": [ - "bzz-raw://e973f29ed0c3bf03e20154ab4b0cfc68c3a4372a52ec746f9d9f86697b30e977", - "dweb:/ipfs/QmfMb7H1zNnj2hzmUr6742HmCTiNVuQ2PFjeR8q2M4Liyu" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol": { - "keccak256": "0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794", - "urls": [ - "bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965", - "dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/value-interpreter/ValueInterpreter.sol": { - "keccak256": "0x64565011785d0d29a75021cda34687cfbc0641094d6f2faf4d9c78c8cd9f0d1d", - "urls": [ - "bzz-raw://03ea9b29a332436d18ca1a4df7e5cdf231d5142dfb916a39cb3a721342d54e0e", - "dweb:/ipfs/QmcB8Z7A7QELAxg2FfJpD26k2bUhMNUT4wACMVKxuge3QS" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IBalancerV2PoolFactory.sol": { - "keccak256": "0xb3b90f93ed2fe906f9a6ce15f537c36f33b24a8e3328e4ccbb011a719edd2de5", - "urls": [ - "bzz-raw://88571ee529345dd703fa0e5e71182c13cc194e9d6e73176a3c5f1fa94067367a", - "dweb:/ipfs/QmaPS6tDuHDNdd6aYMBB7Syptoju6T37KgXuA6jXD6hgCK" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IBalancerV2Vault.sol": { - "keccak256": "0xb3c8da122ab160129c74ffeb0310ff96c4977d65eef12888bc1a8276fa2a3fd2", - "urls": [ - "bzz-raw://c9c89c1e04327c6fa45fbdf9ae8fd132ed95c9101ab49d078ef99c6590c30867", - "dweb:/ipfs/QmWKrLQg5xBVmi6snaAwU3zUTjxQ6ugYj6n45x1hqRxv9A" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IBalancerV2WeightedPool.sol": { - "keccak256": "0x0e14c80f4a2c01d5528ab7feddf491f8074f84736b7d72d9d7cb3d526e3c447a", - "urls": [ - "bzz-raw://ed724083136114b979eb7dcc0e95e4ff02f627ab066c9ce20ec3b8807e7d0b98", - "dweb:/ipfs/QmeNvftCHn7PNDsLpxGJN8cA9Cq66wV6Z1cgoEQT6ufHUP" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IChainlinkAggregator.sol": { - "keccak256": "0x8104db68d4edc00c86b29b366f4397cdbe7bd95bb9dc90f54140af4bae963788", - "urls": [ - "bzz-raw://4664240be22fe76bd4e84d1cbaace3998dbc96759a14345819a889f0c288d22e", - "dweb:/ipfs/QmQ8fbA4tvXeCeaAFeS2JrLEQUPFeYrePAKoUywRtcicgA" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AddressArrayLib.sol": { - "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", - "urls": [ - "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", - "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/BalancerV2FixedPoint.sol": { - "keccak256": "0x40a268978d537937000928b57e777c6ca010c333d2fd82eae6a7678e8542db50", - "urls": [ - "bzz-raw://13899c9b4cbab7665e142a20910f97f6dd198e42c5a3ae15589994ebdd8bc630", - "dweb:/ipfs/Qmb8yWk7G1EWRoBrDCQ34H4kUDuYLsMDiXCqA6eA5DeZTk" - ], - "license": "GPL-3.0-or-later" - }, - "contracts/release/utils/BalancerV2LogExpMath.sol": { - "keccak256": "0x5d28ba93befe244b01d66da69ae64eaecc9f0355674664e7b9470a173fad4366", - "urls": [ - "bzz-raw://97667cba261ff2cc08ffb33ed9cd5a63638fede0819ba1a5f1f8e0cf12d9293c", - "dweb:/ipfs/QmUVoLE1mWTEYTjjqKGGH4KAz11eVxJENPzSeyVEHkKso2" - ], - "license": "MIT" - }, - "contracts/release/utils/FundDeployerOwnerMixin.sol": { - "keccak256": "0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934", - "urls": [ - "bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927", - "dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/MathHelpers.sol": { - "keccak256": "0x8aef498ae98bfb40cd1df8c9ed652b4c092fbbe62d5a1fad522c53654523248e", - "urls": [ - "bzz-raw://ed62789f6a8d5ca30a40c591f244b915e4711493a9e4b1b4d40ea2bc97b02a95", - "dweb:/ipfs/QmWyXJ55arURtx9VMkUQokdsjk8tbgM2cC8rENFUMyz5D3" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 239 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_fundDeployer", "type": "address", "internalType": "address" }, { "name": "_valueInterpreter", "type": "address", "internalType": "address" }, { "name": "_intermediaryAsset", "type": "address", "internalType": "address" }, { "name": "_balancerVault", "type": "address", "internalType": "address" }, { "name": "_poolFactories", "type": "address[]", "internalType": "address[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "addPoolFactories", "inputs": [ { "name": "_poolFactories", "type": "address[]", "internalType": "address[]" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "calcUnderlyingValues", "inputs": [ { "name": "_derivative", "type": "address", "internalType": "address" }, { "name": "_derivativeAmount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "underlyings_", "type": "address[]", "internalType": "address[]" }, { "name": "underlyingAmounts_", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "getFundDeployer", "inputs": [], "outputs": [ { "name": "fundDeployer_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getOwner", "inputs": [], "outputs": [ { "name": "owner_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getPoolFactories", "inputs": [], "outputs": [ { "name": "factories_", "type": "address[]", "internalType": "address[]" } ], "stateMutability": "view" }, { "type": "function", "name": "isSupportedAsset", "inputs": [ { "name": "_asset", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "isSupported_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "removePoolFactories", "inputs": [ { "name": "_poolFactories", "type": "address[]", "internalType": "address[]" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "event", "name": "PoolFactoryAdded", "inputs": [ { "name": "poolFactory", "type": "address", "indexed": false, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "PoolFactoryRemoved", "inputs": [ { "name": "poolFactory", "type": "address", "indexed": false, "internalType": "address" } ], "anonymous": false } ], "bytecode": { "object": "0x6101006040523480156200001257600080fd5b50604051620022ab380380620022ab833981016040819052620000359162000253565b6001600160601b0319606086811b821660805283811b821660a05284811b821660c05285901b1660e0526200006a8162000075565b505050505062000380565b60005b81518110156200015a57620000b18282815181106200009357fe5b602002602001015160006200015e60201b62000a211790919060201c565b62000151576000828281518110620000c557fe5b60209081029190910181015182546001810184556000938452919092200180546001600160a01b0319166001600160a01b0390921691909117905581517fed48b5354ebc9ec871d70260374c2cdc552ec57a6b36e1dbc1fbdbe0921c136f908390839081106200013157fe5b6020026020010151604051620001489190620002fc565b60405180910390a15b60010162000078565b5050565b8154600090815b81811015620001b0578481815481106200017b57fe5b6000918252602090912001546001600160a01b0385811691161415620001a757600192505050620001b7565b60010162000165565b5060009150505b92915050565b8051620001b78162000366565b600082601f830112620001dc57600080fd5b8151620001f3620001ed8262000333565b6200030c565b915081818352602084019350602081019050838560208402820111156200021957600080fd5b60005b83811015620002495781620002328882620001bd565b84525060209283019291909101906001016200021c565b5050505092915050565b600080600080600060a086880312156200026c57600080fd5b60006200027a8888620001bd565b95505060206200028d88828901620001bd565b9450506040620002a088828901620001bd565b9350506060620002b388828901620001bd565b92505060808601516001600160401b03811115620002d057600080fd5b620002de88828901620001ca565b9150509295509295909350565b620002f68162000354565b82525050565b60208101620001b78284620002eb565b6040518181016001600160401b03811182821017156200032b57600080fd5b604052919050565b60006001600160401b038211156200034a57600080fd5b5060209081020190565b60006001600160a01b038216620001b7565b620003718162000354565b81146200037d57600080fd5b50565b60805160601c60a05160601c60c05160601c60e05160601c611eda620003d16000398061056152508061062e528061075152508061020e52806102935250806107ca52806108605250611eda6000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c8063893d20e81161005b578063893d20e8146100d657806397c0ac87146100eb5780639be918e6146100f3578063ec421ea0146101135761007d565b806327082f73146100825780634c8f6529146100a0578063727212f6146100b5575b600080fd5b61008a610126565b6040516100979190611d31565b60405180910390f35b6100b36100ae3660046118f6565b610188565b005b6100c86100c33660046118bc565b610209565b604051610097929190611d49565b6100de6107c6565b6040516100979190611cd3565b6100de61085e565b610106610101366004611878565b610882565b6040516100979190611d6e565b6100b36101213660046118f6565b610948565b6060600080548060200260200160405190810160405280929190818152602001828054801561017e57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610160575b5050505050905090565b6101906107c6565b6001600160a01b0316336001600160a01b0316146101c95760405162461bcd60e51b81526004016101c090611d8a565b60405180910390fd5b610205828280806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250610a7b92505050565b5050565b6060807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663fa6e671d306000806040518463ffffffff1660e01b815260040161025d93929190611ce1565b600060405180830381600087803b15801561027757600080fd5b505af115801561028b573d6000803e3d6000fd5b5050505060607f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f94d4668866001600160a01b03166338fff2d06040518163ffffffff1660e01b815260040160206040518083038186803b1580156102f957600080fd5b505afa15801561030d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103319190611a07565b6040518263ffffffff1660e01b815260040161034d9190611d7c565b60006040518083038186803b15801561036557600080fd5b505afa158015610379573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526103a19190810190611938565b50506040805160018082528183019092529192506020808301908036833750506040805160018082528183019092529295509050602080830190803683370190505091506000856001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561042057600080fd5b505afa158015610434573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104589190611a07565b90506000866001600160a01b031663c0ff1a156040518163ffffffff1660e01b815260040160206040518083038186803b15801561049557600080fd5b505afa1580156104a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104cd9190611a07565b90506060876001600160a01b031663f89f27ed6040518163ffffffff1660e01b815260040160006040518083038186803b15801561050a57600080fd5b505afa15801561051e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261054691908101906119b4565b9050670de0b6b3a764000060005b855181101561073c5760007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316634c67e10688848151811061059a57fe5b60200260200101518985815181106105ae57fe5b60200260200101516001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b1580156105ee57600080fd5b505afa158015610602573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106269190611a25565b60ff16600a0a7f00000000000000000000000000000000000000000000000000000000000000006040518463ffffffff1660e01b815260040161066b93929190611d09565b602060405180830381600087803b15801561068557600080fd5b505af1158015610699573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106bd9190611a07565b905061073161072a6106fe8685815181106106d457fe5b60200260200101518786815181106106e857fe5b6020026020010151610b5190919063ffffffff16565b61072487868151811061070d57fe5b602002602001015185610b5190919063ffffffff16565b90610c91565b8490610d09565b925050600101610554565b50600061074d856107248487610d09565b90507f00000000000000000000000000000000000000000000000000000000000000008860008151811061077d57fe5b6001600160a01b039092166020928302919091019091015261079f8982610d09565b876000815181106107ac57fe5b6020026020010181815250505050505050505b9250929050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561082157600080fd5b505afa158015610835573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610859919061189e565b905090565b7f000000000000000000000000000000000000000000000000000000000000000090565b6000805b60005481101561093d576000818154811061089d57fe5b600091825260209091200154604051636634b75360e01b81526001600160a01b0390911690636634b753906108d6908690600401611cd3565b60206040518083038186803b1580156108ee57600080fd5b505afa158015610902573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061092691906119e9565b15610935576001915050610943565b600101610886565b50600090505b919050565b6109506107c6565b6001600160a01b0316336001600160a01b0316146109805760405162461bcd60e51b81526004016101c090611d8a565b60005b81811015610a1c576109b783838381811061099a57fe5b90506020020160208101906109af9190611878565b600090610d61565b15610a14577faf425cea5645b25ac2f49fdb1a46bf13689e763057f4e556078fea1cc2ecfb9b8383838181106109e957fe5b90506020020160208101906109fe9190611878565b604051610a0b9190611cd3565b60405180910390a15b600101610983565b505050565b8154600090815b81811015610a6e57848181548110610a3c57fe5b6000918252602090912001546001600160a01b0385811691161415610a6657600192505050610a75565b600101610a28565b5060009150505b92915050565b60005b815181101561020557610aae828281518110610a9657fe5b60200260200101516000610a2190919063ffffffff16565b610b49576000828281518110610ac057fe5b60209081029190910181015182546001810184556000938452919092200180546001600160a01b0319166001600160a01b0390921691909117905581517fed48b5354ebc9ec871d70260374c2cdc552ec57a6b36e1dbc1fbdbe0921c136f90839083908110610b2b57fe5b6020026020010151604051610b409190611cd3565b60405180910390a15b600101610a7e565b600081610b675750670de0b6b3a7640000610a75565b82610b7457506000610a75565b60ff83901c15610b965760405162461bcd60e51b81526004016101c090611dba565b82770bce5086492111aea88f4bb1ca6bcf584181ea8059f765328310610bce5760405162461bcd60e51b81526004016101c090611daa565b826000670c7d713b49da000083138015610bef5750670f43fc2c04ee000083125b15610c26576000610bff84610e59565b9050670de0b6b3a764000080820784020583670de0b6b3a764000083050201915050610c34565b81610c3084610f77565b0290505b670de0b6b3a76400009005680238fd42c5cf03ffff198112801590610c62575068070c1cc73b00c800008113155b610c7e5760405162461bcd60e51b81526004016101c090611d9a565b610c8781611316565b9695505050505050565b600081610cb05760405162461bcd60e51b81526004016101c090611dfa565b82610cbd57506000610a75565b670de0b6b3a764000083810290848281610cd357fe5b0414610cf15760405162461bcd60e51b81526004016101c090611dca565b826001820381610cfd57fe5b04600101915050610a75565b6000828202831580610d23575082848281610d2057fe5b04145b610d3f5760405162461bcd60e51b81526004016101c090611dda565b80610d4e576000915050610a75565b670de0b6b3a76400006000198201610cfd565b8154600090815b81811015610e5157836001600160a01b0316858281548110610d8657fe5b6000918252602090912001546001600160a01b03161415610e495760018203811015610e1457846001830381548110610dbb57fe5b9060005260206000200160009054906101000a90046001600160a01b0316858281548110610de557fe5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055505b84805480610e1e57fe5b600082815260209020810160001990810180546001600160a01b031916905501905560019250610e51565b600101610d68565b505092915050565b670de0b6b3a7640000026000806a0c097ce7bc90715b34b9f160241b808401906ec097ce7bc90715b34b9f0fffffffff1985010281610e9457fe5b05905060006a0c097ce7bc90715b34b9f160241b82800205905081806a0c097ce7bc90715b34b9f160241b81840205915060038205016a0c097ce7bc90715b34b9f160241b82840205915060058205016a0c097ce7bc90715b34b9f160241b82840205915060078205016a0c097ce7bc90715b34b9f160241b82840205915060098205016a0c097ce7bc90715b34b9f160241b828402059150600b8205016a0c097ce7bc90715b34b9f160241b828402059150600d8205016a0c097ce7bc90715b34b9f160241b828402059150600f826002919005919091010295945050505050565b6000670de0b6b3a7640000821215610fb357610fa9826a0c097ce7bc90715b34b9f160241b81610fa357fe5b05610f77565b6000039050610943565b60007e1600ef3172e58d2e933ec884fde10064c63b5372d805e203c0000000000000831261100457770195e54c5dd42177f53a27172fa9ec630262827000000000830592506806f05b59d3b2000000015b73011798004d755d3c8bc8e03204cf44619e000000831261103c576b1425982cf597cd205cef7380830592506803782dace9d9000000015b606492830292026e01855144814a7ff805980ff00840008312611084576e01855144814a7ff805980ff008400068056bc75e2d63100000840205925068ad78ebc5ac62000000015b6b02df0ab5a80a22c61ab5a70083126110bf576b02df0ab5a80a22c61ab5a70068056bc75e2d6310000084020592506856bc75e2d631000000015b693f1fce3da636ea5cf85083126110f657693f1fce3da636ea5cf85068056bc75e2d631000008402059250682b5e3af16b18800000015b690127fa27722cc06cc5e2831261112d57690127fa27722cc06cc5e268056bc75e2d6310000084020592506815af1d78b58c400000015b68280e60114edb805d0383126111625768280e60114edb805d0368056bc75e2d631000008402059250680ad78ebc5ac6200000015b680ebc5fb41746121110831261118d57680ebc5fb4174612111068056bc75e2d631000009384020592015b6808f00f760a4b2db55d83126111c2576808f00f760a4b2db55d68056bc75e2d6310000084020592506802b5e3af16b1880000015b6806f5f177578893793783126111f7576806f5f177578893793768056bc75e2d63100000840205925068015af1d78b58c40000015b6806248f33704b286603831261122b576806248f33704b28660368056bc75e2d63100000840205925067ad78ebc5ac620000015b6805c548670b9510e7ac831261125f576805c548670b9510e7ac68056bc75e2d6310000084020592506756bc75e2d6310000015b600068056bc75e2d63100000840168056bc75e2d63100000808603028161128257fe5b059050600068056bc75e2d63100000828002059050818068056bc75e2d63100000818402059150600382050168056bc75e2d63100000828402059150600582050168056bc75e2d63100000828402059150600782050168056bc75e2d63100000828402059150600982050168056bc75e2d63100000828402059150600b820501600202606485820105979650505050505050565b6000680238fd42c5cf03ffff19821215801561133b575068070c1cc73b00c800008213155b6113575760405162461bcd60e51b81526004016101c090611dea565b600082121561138a5761136c82600003611316565b6a0c097ce7bc90715b34b9f160241b8161138257fe5b059050610943565b60006806f05b59d3b200000083126113ca57506806f05b59d3b1ffffff1990910190770195e54c5dd42177f53a27172fa9ec630262827000000000611400565b6803782dace9d900000083126113fc57506803782dace9d8ffffff19909101906b1425982cf597cd205cef7380611400565b5060015b6064929092029168056bc75e2d6310000068ad78ebc5ac6200000084126114505768ad78ebc5ac61ffffff199093019268056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d631000000841261148c576856bc75e2d630ffffff199093019268056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b1880000084126114c657682b5e3af16b187fffff199093019268056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c4000008412611500576815af1d78b58c3fffff199093019268056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac6200000841261153957680ad78ebc5ac61fffff199093019268056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d6310000084126115725768056bc75e2d630fffff199093019268056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b188000084126115ab576802b5e3af16b187ffff199093019268056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c4000084126115e45768015af1d78b58c3ffff199093019268056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008481019085906002908280020505918201919050600368056bc75e2d631000008783020505918201919050600468056bc75e2d631000008783020505918201919050600568056bc75e2d631000008783020505918201919050600668056bc75e2d631000008783020505918201919050600768056bc75e2d631000008783020505918201919050600868056bc75e2d631000008783020505918201919050600968056bc75e2d631000008783020505918201919050600a68056bc75e2d631000008783020505918201919050600b68056bc75e2d631000008783020505918201919050600c68056bc75e2d631000008783020505918201919050606468056bc75e2d63100000848402058502059695505050505050565b8035610a7581611e9b565b8051610a7581611e9b565b60008083601f84011261172d57600080fd5b50813567ffffffffffffffff81111561174557600080fd5b6020830191508360208202830111156107bf57600080fd5b600082601f83011261176e57600080fd5b815161178161177c82611e31565b611e0a565b915081818352602084019350602081019050838560208402820111156117a657600080fd5b60005b838110156117d257816117bc8882611710565b84525060209283019291909101906001016117a9565b5050505092915050565b600082601f8301126117ed57600080fd5b81516117fb61177c82611e31565b9150818183526020840193506020810190508385602084028201111561182057600080fd5b60005b838110156117d257816118368882611857565b8452506020928301929190910190600101611823565b8051610a7581611eb2565b8051610a7581611ebb565b8035610a7581611ebb565b8051610a7581611ec4565b60006020828403121561188a57600080fd5b60006118968484611705565b949350505050565b6000602082840312156118b057600080fd5b60006118968484611710565b600080604083850312156118cf57600080fd5b60006118db8585611705565b92505060206118ec85828601611862565b9150509250929050565b6000806020838503121561190957600080fd5b823567ffffffffffffffff81111561192057600080fd5b61192c8582860161171b565b92509250509250929050565b60008060006060848603121561194d57600080fd5b835167ffffffffffffffff81111561196457600080fd5b6119708682870161175d565b935050602084015167ffffffffffffffff81111561198d57600080fd5b611999868287016117dc565b92505060406119aa86828701611857565b9150509250925092565b6000602082840312156119c657600080fd5b815167ffffffffffffffff8111156119dd57600080fd5b611896848285016117dc565b6000602082840312156119fb57600080fd5b6000611896848461184c565b600060208284031215611a1957600080fd5b60006118968484611857565b600060208284031215611a3757600080fd5b6000611896848461186d565b6000611a4f8383611a72565b505060200190565b6000611a4f8383611b2b565b611a6c81611e8a565b82525050565b611a6c81611e65565b6000611a8682611e58565b611a908185611e5c565b9350611a9b83611e52565b8060005b83811015611ac9578151611ab38882611a43565b9750611abe83611e52565b925050600101611a9f565b509495945050505050565b6000611adf82611e58565b611ae98185611e5c565b9350611af483611e52565b8060005b83811015611ac9578151611b0c8882611a57565b9750611b1783611e52565b925050600101611af8565b611a6c81611e70565b611a6c81611e75565b6000611b41604983611e5c565b7f6f6e6c7946756e644465706c6f7965724f776e65723a204f6e6c79207468652081527f46756e644465706c6f796572206f776e65722063616e2063616c6c207468697360208201526810333ab731ba34b7b760b91b604082015260600192915050565b6000611bb2601583611e5c565b7470726f64756374206f7574206f6620626f756e647360581b815260200192915050565b6000611be3601083611e5c565b6f5f79206f7574206f6620626f756e647360801b815260200192915050565b6000611c0f601083611e5c565b6f5f78206f7574206f6620626f756e647360801b815260200192915050565b6000611c3b600c83611e5c565b6b191a5d881a5b9d195c9b985b60a21b815260200192915050565b6000611c63600c83611e5c565b6b6d756c206f766572666c6f7760a01b815260200192915050565b6000611c8b601083611e5c565b6f1a5b9d985b1a5908195e1c1bdb995b9d60821b815260200192915050565b6000611cb7600d83611e5c565b6c3d32b937903234bb34b9b4b7b760991b815260200192915050565b60208101610a758284611a72565b60608101611cef8286611a72565b611cfc6020830185611a63565b6118966040830184611b22565b60608101611d178286611a72565b611d246020830185611b2b565b6118966040830184611a72565b60208082528101611d428184611a7b565b9392505050565b60408082528101611d5a8185611a7b565b905081810360208301526118968184611ad4565b60208101610a758284611b22565b60208101610a758284611b2b565b60208082528101610a7581611b34565b60208082528101610a7581611ba5565b60208082528101610a7581611bd6565b60208082528101610a7581611c02565b60208082528101610a7581611c2e565b60208082528101610a7581611c56565b60208082528101610a7581611c7e565b60208082528101610a7581611caa565b60405181810167ffffffffffffffff81118282101715611e2957600080fd5b604052919050565b600067ffffffffffffffff821115611e4857600080fd5b5060209081020190565b60200190565b5190565b90815260200190565b6000610a7582611e78565b151590565b90565b6001600160a01b031690565b60ff1690565b6000610a75826000610a7582611e65565b611ea481611e65565b8114611eaf57600080fd5b50565b611ea481611e70565b611ea481611e75565b611ea481611e8456fea164736f6c634300060c000a", "sourceMap": "1035:5651:239:-:0;;;1638:481;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;864:29:358;;;;;;;;1886:58:239;;;;;::::1;::::0;1954:39;;;;;::::1;::::0;2003:64;;;;::::1;::::0;2078:34:::1;2097:14:::0;2078:18:::1;:34::i;:::-;1638:481:::0;;;;;1035:5651;;5995:346;6079:9;6074:261;6094:14;:21;6090:1;:25;6074:261;;;6141:53;6176:14;6191:1;6176:17;;;;;;;;;;;;;;6141:13;:34;;;;;;:53;;;;:::i;:::-;6136:189;;6214:13;6233:14;6248:1;6233:17;;;;;;;;;;;;;;;;;;;6214:37;;;;;;;-1:-1:-1;6214:37:239;;;;;;;;;;-1:-1:-1;;;;;;6214:37:239;-1:-1:-1;;;;;6214:37:239;;;;;;;;;6292:17;;6275:35;;6292:17;;6307:1;;6292:17;;;;;;;;;;;;6275:35;;;;;;:::i;:::-;;;;;;;;6136:189;6117:3;;6074:261;;;;5995:346;:::o;1167:351:354:-;1339:12;;1286:17;;;1361:129;1381:9;1377:1;:13;1361:129;;;1426:5;1432:1;1426:8;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1415:19:354;;;1426:8;;1415:19;1411:69;;;1461:4;1454:11;;;;;;1411:69;1392:3;;1361:129;;;;1506:5;1499:12;;;1167:351;;;;;:::o;5:134:-1:-;83:13;;101:33;83:13;101:33;:::i;164:722::-;;292:3;285:4;277:6;273:17;269:27;259:2;;310:1;307;300:12;259:2;340:6;334:13;362:80;377:64;434:6;377:64;:::i;:::-;362:80;:::i;:::-;353:89;;459:5;484:6;477:5;470:21;514:4;506:6;502:17;492:27;;536:4;531:3;527:14;520:21;;589:6;636:3;628:4;620:6;616:17;611:3;607:27;604:36;601:2;;;653:1;650;643:12;601:2;678:1;663:217;688:6;685:1;682:13;663:217;;;746:3;768:48;812:3;800:10;768:48;:::i;:::-;756:61;;-1:-1;840:4;831:14;;;;859;;;;;710:1;703:9;663:217;;;667:14;252:634;;;;;;;:::o;894:938::-;;;;;;1102:3;1090:9;1081:7;1077:23;1073:33;1070:2;;;1119:1;1116;1109:12;1070:2;1154:1;1171:64;1227:7;1207:9;1171:64;:::i;:::-;1161:74;;1133:108;1272:2;1290:64;1346:7;1337:6;1326:9;1322:22;1290:64;:::i;:::-;1280:74;;1251:109;1391:2;1409:64;1465:7;1456:6;1445:9;1441:22;1409:64;:::i;:::-;1399:74;;1370:109;1510:2;1528:64;1584:7;1575:6;1564:9;1560:22;1528:64;:::i;:::-;1518:74;;1489:109;1650:3;1639:9;1635:19;1629:26;-1:-1;;;;;1667:6;1664:30;1661:2;;;1707:1;1704;1697:12;1661:2;1727:89;1808:7;1799:6;1788:9;1784:22;1727:89;:::i;:::-;1717:99;;1608:214;1064:768;;;;;;;;:::o;1839:113::-;1922:24;1940:5;1922:24;:::i;:::-;1917:3;1910:37;1904:48;;:::o;1959:222::-;2086:2;2071:18;;2100:71;2075:9;2144:6;2100:71;:::i;2188:256::-;2250:2;2244:9;2276:17;;;-1:-1;;;;;2336:34;;2372:22;;;2333:62;2330:2;;;2408:1;2405;2398:12;2330:2;2424;2417:22;2228:216;;-1:-1;2228:216::o;2451:304::-;;-1:-1;;;;;2602:6;2599:30;2596:2;;;2642:1;2639;2632:12;2596:2;-1:-1;2677:4;2665:17;;;2730:15;;2533:222::o;2762:91::-;;-1:-1;;;;;2922:54;;2824:24;2905:76::o;2988:117::-;3057:24;3075:5;3057:24;:::i;:::-;3050:5;3047:35;3037:2;;3096:1;3093;3086:12;3037:2;3031:74;:::o;:::-;1035:5651:239;;;;;;;;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b506004361061007d5760003560e01c8063893d20e81161005b578063893d20e8146100d657806397c0ac87146100eb5780639be918e6146100f3578063ec421ea0146101135761007d565b806327082f73146100825780634c8f6529146100a0578063727212f6146100b5575b600080fd5b61008a610126565b6040516100979190611d31565b60405180910390f35b6100b36100ae3660046118f6565b610188565b005b6100c86100c33660046118bc565b610209565b604051610097929190611d49565b6100de6107c6565b6040516100979190611cd3565b6100de61085e565b610106610101366004611878565b610882565b6040516100979190611d6e565b6100b36101213660046118f6565b610948565b6060600080548060200260200160405190810160405280929190818152602001828054801561017e57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610160575b5050505050905090565b6101906107c6565b6001600160a01b0316336001600160a01b0316146101c95760405162461bcd60e51b81526004016101c090611d8a565b60405180910390fd5b610205828280806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250610a7b92505050565b5050565b6060807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663fa6e671d306000806040518463ffffffff1660e01b815260040161025d93929190611ce1565b600060405180830381600087803b15801561027757600080fd5b505af115801561028b573d6000803e3d6000fd5b5050505060607f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663f94d4668866001600160a01b03166338fff2d06040518163ffffffff1660e01b815260040160206040518083038186803b1580156102f957600080fd5b505afa15801561030d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103319190611a07565b6040518263ffffffff1660e01b815260040161034d9190611d7c565b60006040518083038186803b15801561036557600080fd5b505afa158015610379573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526103a19190810190611938565b50506040805160018082528183019092529192506020808301908036833750506040805160018082528183019092529295509050602080830190803683370190505091506000856001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561042057600080fd5b505afa158015610434573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104589190611a07565b90506000866001600160a01b031663c0ff1a156040518163ffffffff1660e01b815260040160206040518083038186803b15801561049557600080fd5b505afa1580156104a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104cd9190611a07565b90506060876001600160a01b031663f89f27ed6040518163ffffffff1660e01b815260040160006040518083038186803b15801561050a57600080fd5b505afa15801561051e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261054691908101906119b4565b9050670de0b6b3a764000060005b855181101561073c5760007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316634c67e10688848151811061059a57fe5b60200260200101518985815181106105ae57fe5b60200260200101516001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b1580156105ee57600080fd5b505afa158015610602573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106269190611a25565b60ff16600a0a7f00000000000000000000000000000000000000000000000000000000000000006040518463ffffffff1660e01b815260040161066b93929190611d09565b602060405180830381600087803b15801561068557600080fd5b505af1158015610699573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106bd9190611a07565b905061073161072a6106fe8685815181106106d457fe5b60200260200101518786815181106106e857fe5b6020026020010151610b5190919063ffffffff16565b61072487868151811061070d57fe5b602002602001015185610b5190919063ffffffff16565b90610c91565b8490610d09565b925050600101610554565b50600061074d856107248487610d09565b90507f00000000000000000000000000000000000000000000000000000000000000008860008151811061077d57fe5b6001600160a01b039092166020928302919091019091015261079f8982610d09565b876000815181106107ac57fe5b6020026020010181815250505050505050505b9250929050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561082157600080fd5b505afa158015610835573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610859919061189e565b905090565b7f000000000000000000000000000000000000000000000000000000000000000090565b6000805b60005481101561093d576000818154811061089d57fe5b600091825260209091200154604051636634b75360e01b81526001600160a01b0390911690636634b753906108d6908690600401611cd3565b60206040518083038186803b1580156108ee57600080fd5b505afa158015610902573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061092691906119e9565b15610935576001915050610943565b600101610886565b50600090505b919050565b6109506107c6565b6001600160a01b0316336001600160a01b0316146109805760405162461bcd60e51b81526004016101c090611d8a565b60005b81811015610a1c576109b783838381811061099a57fe5b90506020020160208101906109af9190611878565b600090610d61565b15610a14577faf425cea5645b25ac2f49fdb1a46bf13689e763057f4e556078fea1cc2ecfb9b8383838181106109e957fe5b90506020020160208101906109fe9190611878565b604051610a0b9190611cd3565b60405180910390a15b600101610983565b505050565b8154600090815b81811015610a6e57848181548110610a3c57fe5b6000918252602090912001546001600160a01b0385811691161415610a6657600192505050610a75565b600101610a28565b5060009150505b92915050565b60005b815181101561020557610aae828281518110610a9657fe5b60200260200101516000610a2190919063ffffffff16565b610b49576000828281518110610ac057fe5b60209081029190910181015182546001810184556000938452919092200180546001600160a01b0319166001600160a01b0390921691909117905581517fed48b5354ebc9ec871d70260374c2cdc552ec57a6b36e1dbc1fbdbe0921c136f90839083908110610b2b57fe5b6020026020010151604051610b409190611cd3565b60405180910390a15b600101610a7e565b600081610b675750670de0b6b3a7640000610a75565b82610b7457506000610a75565b60ff83901c15610b965760405162461bcd60e51b81526004016101c090611dba565b82770bce5086492111aea88f4bb1ca6bcf584181ea8059f765328310610bce5760405162461bcd60e51b81526004016101c090611daa565b826000670c7d713b49da000083138015610bef5750670f43fc2c04ee000083125b15610c26576000610bff84610e59565b9050670de0b6b3a764000080820784020583670de0b6b3a764000083050201915050610c34565b81610c3084610f77565b0290505b670de0b6b3a76400009005680238fd42c5cf03ffff198112801590610c62575068070c1cc73b00c800008113155b610c7e5760405162461bcd60e51b81526004016101c090611d9a565b610c8781611316565b9695505050505050565b600081610cb05760405162461bcd60e51b81526004016101c090611dfa565b82610cbd57506000610a75565b670de0b6b3a764000083810290848281610cd357fe5b0414610cf15760405162461bcd60e51b81526004016101c090611dca565b826001820381610cfd57fe5b04600101915050610a75565b6000828202831580610d23575082848281610d2057fe5b04145b610d3f5760405162461bcd60e51b81526004016101c090611dda565b80610d4e576000915050610a75565b670de0b6b3a76400006000198201610cfd565b8154600090815b81811015610e5157836001600160a01b0316858281548110610d8657fe5b6000918252602090912001546001600160a01b03161415610e495760018203811015610e1457846001830381548110610dbb57fe5b9060005260206000200160009054906101000a90046001600160a01b0316858281548110610de557fe5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055505b84805480610e1e57fe5b600082815260209020810160001990810180546001600160a01b031916905501905560019250610e51565b600101610d68565b505092915050565b670de0b6b3a7640000026000806a0c097ce7bc90715b34b9f160241b808401906ec097ce7bc90715b34b9f0fffffffff1985010281610e9457fe5b05905060006a0c097ce7bc90715b34b9f160241b82800205905081806a0c097ce7bc90715b34b9f160241b81840205915060038205016a0c097ce7bc90715b34b9f160241b82840205915060058205016a0c097ce7bc90715b34b9f160241b82840205915060078205016a0c097ce7bc90715b34b9f160241b82840205915060098205016a0c097ce7bc90715b34b9f160241b828402059150600b8205016a0c097ce7bc90715b34b9f160241b828402059150600d8205016a0c097ce7bc90715b34b9f160241b828402059150600f826002919005919091010295945050505050565b6000670de0b6b3a7640000821215610fb357610fa9826a0c097ce7bc90715b34b9f160241b81610fa357fe5b05610f77565b6000039050610943565b60007e1600ef3172e58d2e933ec884fde10064c63b5372d805e203c0000000000000831261100457770195e54c5dd42177f53a27172fa9ec630262827000000000830592506806f05b59d3b2000000015b73011798004d755d3c8bc8e03204cf44619e000000831261103c576b1425982cf597cd205cef7380830592506803782dace9d9000000015b606492830292026e01855144814a7ff805980ff00840008312611084576e01855144814a7ff805980ff008400068056bc75e2d63100000840205925068ad78ebc5ac62000000015b6b02df0ab5a80a22c61ab5a70083126110bf576b02df0ab5a80a22c61ab5a70068056bc75e2d6310000084020592506856bc75e2d631000000015b693f1fce3da636ea5cf85083126110f657693f1fce3da636ea5cf85068056bc75e2d631000008402059250682b5e3af16b18800000015b690127fa27722cc06cc5e2831261112d57690127fa27722cc06cc5e268056bc75e2d6310000084020592506815af1d78b58c400000015b68280e60114edb805d0383126111625768280e60114edb805d0368056bc75e2d631000008402059250680ad78ebc5ac6200000015b680ebc5fb41746121110831261118d57680ebc5fb4174612111068056bc75e2d631000009384020592015b6808f00f760a4b2db55d83126111c2576808f00f760a4b2db55d68056bc75e2d6310000084020592506802b5e3af16b1880000015b6806f5f177578893793783126111f7576806f5f177578893793768056bc75e2d63100000840205925068015af1d78b58c40000015b6806248f33704b286603831261122b576806248f33704b28660368056bc75e2d63100000840205925067ad78ebc5ac620000015b6805c548670b9510e7ac831261125f576805c548670b9510e7ac68056bc75e2d6310000084020592506756bc75e2d6310000015b600068056bc75e2d63100000840168056bc75e2d63100000808603028161128257fe5b059050600068056bc75e2d63100000828002059050818068056bc75e2d63100000818402059150600382050168056bc75e2d63100000828402059150600582050168056bc75e2d63100000828402059150600782050168056bc75e2d63100000828402059150600982050168056bc75e2d63100000828402059150600b820501600202606485820105979650505050505050565b6000680238fd42c5cf03ffff19821215801561133b575068070c1cc73b00c800008213155b6113575760405162461bcd60e51b81526004016101c090611dea565b600082121561138a5761136c82600003611316565b6a0c097ce7bc90715b34b9f160241b8161138257fe5b059050610943565b60006806f05b59d3b200000083126113ca57506806f05b59d3b1ffffff1990910190770195e54c5dd42177f53a27172fa9ec630262827000000000611400565b6803782dace9d900000083126113fc57506803782dace9d8ffffff19909101906b1425982cf597cd205cef7380611400565b5060015b6064929092029168056bc75e2d6310000068ad78ebc5ac6200000084126114505768ad78ebc5ac61ffffff199093019268056bc75e2d631000006e01855144814a7ff805980ff008400082020590505b6856bc75e2d631000000841261148c576856bc75e2d630ffffff199093019268056bc75e2d631000006b02df0ab5a80a22c61ab5a70082020590505b682b5e3af16b1880000084126114c657682b5e3af16b187fffff199093019268056bc75e2d63100000693f1fce3da636ea5cf85082020590505b6815af1d78b58c4000008412611500576815af1d78b58c3fffff199093019268056bc75e2d63100000690127fa27722cc06cc5e282020590505b680ad78ebc5ac6200000841261153957680ad78ebc5ac61fffff199093019268056bc75e2d6310000068280e60114edb805d0382020590505b68056bc75e2d6310000084126115725768056bc75e2d630fffff199093019268056bc75e2d63100000680ebc5fb4174612111082020590505b6802b5e3af16b188000084126115ab576802b5e3af16b187ffff199093019268056bc75e2d631000006808f00f760a4b2db55d82020590505b68015af1d78b58c4000084126115e45768015af1d78b58c3ffff199093019268056bc75e2d631000006806f5f177578893793782020590505b68056bc75e2d631000008481019085906002908280020505918201919050600368056bc75e2d631000008783020505918201919050600468056bc75e2d631000008783020505918201919050600568056bc75e2d631000008783020505918201919050600668056bc75e2d631000008783020505918201919050600768056bc75e2d631000008783020505918201919050600868056bc75e2d631000008783020505918201919050600968056bc75e2d631000008783020505918201919050600a68056bc75e2d631000008783020505918201919050600b68056bc75e2d631000008783020505918201919050600c68056bc75e2d631000008783020505918201919050606468056bc75e2d63100000848402058502059695505050505050565b8035610a7581611e9b565b8051610a7581611e9b565b60008083601f84011261172d57600080fd5b50813567ffffffffffffffff81111561174557600080fd5b6020830191508360208202830111156107bf57600080fd5b600082601f83011261176e57600080fd5b815161178161177c82611e31565b611e0a565b915081818352602084019350602081019050838560208402820111156117a657600080fd5b60005b838110156117d257816117bc8882611710565b84525060209283019291909101906001016117a9565b5050505092915050565b600082601f8301126117ed57600080fd5b81516117fb61177c82611e31565b9150818183526020840193506020810190508385602084028201111561182057600080fd5b60005b838110156117d257816118368882611857565b8452506020928301929190910190600101611823565b8051610a7581611eb2565b8051610a7581611ebb565b8035610a7581611ebb565b8051610a7581611ec4565b60006020828403121561188a57600080fd5b60006118968484611705565b949350505050565b6000602082840312156118b057600080fd5b60006118968484611710565b600080604083850312156118cf57600080fd5b60006118db8585611705565b92505060206118ec85828601611862565b9150509250929050565b6000806020838503121561190957600080fd5b823567ffffffffffffffff81111561192057600080fd5b61192c8582860161171b565b92509250509250929050565b60008060006060848603121561194d57600080fd5b835167ffffffffffffffff81111561196457600080fd5b6119708682870161175d565b935050602084015167ffffffffffffffff81111561198d57600080fd5b611999868287016117dc565b92505060406119aa86828701611857565b9150509250925092565b6000602082840312156119c657600080fd5b815167ffffffffffffffff8111156119dd57600080fd5b611896848285016117dc565b6000602082840312156119fb57600080fd5b6000611896848461184c565b600060208284031215611a1957600080fd5b60006118968484611857565b600060208284031215611a3757600080fd5b6000611896848461186d565b6000611a4f8383611a72565b505060200190565b6000611a4f8383611b2b565b611a6c81611e8a565b82525050565b611a6c81611e65565b6000611a8682611e58565b611a908185611e5c565b9350611a9b83611e52565b8060005b83811015611ac9578151611ab38882611a43565b9750611abe83611e52565b925050600101611a9f565b509495945050505050565b6000611adf82611e58565b611ae98185611e5c565b9350611af483611e52565b8060005b83811015611ac9578151611b0c8882611a57565b9750611b1783611e52565b925050600101611af8565b611a6c81611e70565b611a6c81611e75565b6000611b41604983611e5c565b7f6f6e6c7946756e644465706c6f7965724f776e65723a204f6e6c79207468652081527f46756e644465706c6f796572206f776e65722063616e2063616c6c207468697360208201526810333ab731ba34b7b760b91b604082015260600192915050565b6000611bb2601583611e5c565b7470726f64756374206f7574206f6620626f756e647360581b815260200192915050565b6000611be3601083611e5c565b6f5f79206f7574206f6620626f756e647360801b815260200192915050565b6000611c0f601083611e5c565b6f5f78206f7574206f6620626f756e647360801b815260200192915050565b6000611c3b600c83611e5c565b6b191a5d881a5b9d195c9b985b60a21b815260200192915050565b6000611c63600c83611e5c565b6b6d756c206f766572666c6f7760a01b815260200192915050565b6000611c8b601083611e5c565b6f1a5b9d985b1a5908195e1c1bdb995b9d60821b815260200192915050565b6000611cb7600d83611e5c565b6c3d32b937903234bb34b9b4b7b760991b815260200192915050565b60208101610a758284611a72565b60608101611cef8286611a72565b611cfc6020830185611a63565b6118966040830184611b22565b60608101611d178286611a72565b611d246020830185611b2b565b6118966040830184611a72565b60208082528101611d428184611a7b565b9392505050565b60408082528101611d5a8185611a7b565b905081810360208301526118968184611ad4565b60208101610a758284611b22565b60208101610a758284611b2b565b60208082528101610a7581611b34565b60208082528101610a7581611ba5565b60208082528101610a7581611bd6565b60208082528101610a7581611c02565b60208082528101610a7581611c2e565b60208082528101610a7581611c56565b60208082528101610a7581611c7e565b60208082528101610a7581611caa565b60405181810167ffffffffffffffff81118282101715611e2957600080fd5b604052919050565b600067ffffffffffffffff821115611e4857600080fd5b5060209081020190565b60200190565b5190565b90815260200190565b6000610a7582611e78565b151590565b90565b6001600160a01b031690565b60ff1690565b6000610a75826000610a7582611e65565b611ea481611e65565b8114611eaf57600080fd5b50565b611ea481611e70565b611ea481611e75565b611ea481611e8456fea164736f6c634300060c000a", "sourceMap": "1035:5651:239:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6567:117;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5358:143;;;;;;:::i;:::-;;:::i;:::-;;2953:1820;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;1064:120:358:-;;;:::i;:::-;;;;;;;:::i;1378:108::-;;;:::i;4946:318:239:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;5601:334::-;;;;;;:::i;:::-;;:::i;6567:117::-;6618:27;6664:13;6657:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6657:20:239;;;;;;;;;;;;;;;;;;;;;;;6567:117;:::o;5358:143::-;679:10:358;:8;:10::i;:::-;-1:-1:-1;;;;;665:24:358;:10;-1:-1:-1;;;;;665:24:358;;644:144;;;;-1:-1:-1;;;644:144:358;;;;;;;:::i;:::-;;;;;;;;;5460:34:239::1;5479:14;;5460:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;5460:18:239::1;::::0;-1:-1:-1;;;5460:34:239:i:1;:::-;5358:143:::0;;:::o;2953:1820::-;3082:29;3113:35;3365:23;-1:-1:-1;;;;;3365:42:239;;3416:4;3431:1;3435:5;3365:76;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3453:27;3488:23;-1:-1:-1;;;;;3488:37:239;;3563:11;-1:-1:-1;;;;;3539:46:239;;:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3488:109;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3488:109:239;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;3623:16:239;;;3637:1;3623:16;;;;;;;;;3452:145;;-1:-1:-1;3623:16:239;;;;;;;;;-1:-1:-1;;3670:16:239;;;3684:1;3670:16;;;;;;;;;3608:31;;-1:-1:-1;3684:1:239;-1:-1:-1;3670:16:239;;;;;;;;;;;-1:-1:-1;3670:16:239;3649:37;;3697:19;3725:11;-1:-1:-1;;;;;3719:30:239;;:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3697:54;;3761:17;3805:11;-1:-1:-1;;;;;3781:49:239;;:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3761:71;;3842:24;3893:11;-1:-1:-1;;;;;3869:57:239;;:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3869:59:239;;;;;;;;;;;;:::i;:::-;3842:86;-1:-1:-1;1405:6:239;4023:29;4081:434;4101:10;:17;4097:1;:21;4081:434;;;4139:13;4155:26;-1:-1:-1;;;;;4155:50:239;;4223:10;4234:1;4223:13;;;;;;;;;;;;;;4273:10;4284:1;4273:13;;;;;;;;;;;;;;-1:-1:-1;;;;;4267:29:239;;:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4259:40;;4254:2;:46;4318:18;4155:195;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4139:211;;4388:116;4433:57;4463:26;4478:7;4486:1;4478:10;;;;;;;;;;;;;;4463:7;4471:1;4463:10;;;;;;;;;;;;;;:14;;:26;;;;:::i;:::-;4434:21;4444:7;4452:1;4444:10;;;;;;;;;;;;;;4434:5;:9;;:21;;;;:::i;:::-;4433:29;;:57::i;:::-;4388:21;;:27;:116::i;:::-;4364:140;-1:-1:-1;;4120:3:239;;4081:434;;;-1:-1:-1;4525:15:239;4543:57;4588:11;4543:38;:21;4571:9;4543:27;:38::i;:57::-;4525:75;;4629:18;4611:12;4624:1;4611:15;;;;;;;;-1:-1:-1;;;;;4611:36:239;;;:15;;;;;;;;;;;:36;4682:32;:17;4706:7;4682:23;:32::i;:::-;4658:18;4677:1;4658:21;;;;;;;;;;;;;:56;;;;;4725:41;;;;;;2953:1820;;;;;;:::o;1064:120:358:-;1105:14;1152:13;-1:-1:-1;;;;;1138:37:358;;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1131:46;;1064:120;:::o;1378:108::-;1466:13;1378:108;:::o;4946:318:239:-;5020:17;5054:9;5049:187;5069:13;:20;5065:24;;5049:187;;;5137:13;5151:1;5137:16;;;;;;;;;;;;;;;;;;5114:66;;-1:-1:-1;;;5114:66:239;;-1:-1:-1;;;;;5137:16:239;;;;5114:58;;:66;;5173:6;;5114:66;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5110:116;;;5207:4;5200:11;;;;;5110:116;5091:3;;5049:187;;;;5252:5;5245:12;;4946:318;;;;:::o;5601:334::-;679:10:358;:8;:10::i;:::-;-1:-1:-1;;;;;665:24:358;:10;-1:-1:-1;;;;;665:24:358;;644:144;;;;-1:-1:-1;;;644:144:358;;;;;;;:::i;:::-;5731:9:239::1;5726:203;5742:25:::0;;::::1;5726:203;;;5792:50;5824:14;;5839:1;5824:17;;;;;;;;;;;;;;;;;;;;:::i;:::-;5792:13;::::0;:31:::1;:50::i;:::-;5788:131;;;5867:37;5886:14;;5901:1;5886:17;;;;;;;;;;;;;;;;;;;;:::i;:::-;5867:37;;;;;;:::i;:::-;;;;;;;;5788:131;5769:3;;5726:203;;;;5601:334:::0;;:::o;1167:351:354:-;1339:12;;1286:17;;;1361:129;1381:9;1377:1;:13;1361:129;;;1426:5;1432:1;1426:8;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1415:19:354;;;1426:8;;1415:19;1411:69;;;1461:4;1454:11;;;;;;1411:69;1392:3;;1361:129;;;;1506:5;1499:12;;;1167:351;;;;;:::o;5995:346:239:-;6079:9;6074:261;6094:14;:21;6090:1;:25;6074:261;;;6141:53;6176:14;6191:1;6176:17;;;;;;;;;;;;;;6141:13;:34;;:53;;;;:::i;:::-;6136:189;;6214:13;6233:14;6248:1;6233:17;;;;;;;;;;;;;;;;;;;6214:37;;;;;;;-1:-1:-1;6214:37:239;;;;;;;;;;-1:-1:-1;;;;;;6214:37:239;-1:-1:-1;;;;;6214:37:239;;;;;;;;;6292:17;;6275:35;;6292:17;;6307:1;;6292:17;;;;;;;;;;;;6275:35;;;;;;:::i;:::-;;;;;;;;6136:189;6117:3;;6074:261;;4663:2265:357;4723:12;4751:7;4747:132;;-1:-1:-1;1728:4:357;4846:22;;4747:132;4893:7;4889:46;;-1:-1:-1;4923:1:357;4916:8;;4889:46;5333:3;5327:9;;;:14;5319:43;;;;-1:-1:-1;;;5319:43:357;;;;;;;:::i;:::-;5397:2;2872:24;5769;;5761:53;;;;-1:-1:-1;;;5761:53:357;;;;;;;:::i;:::-;5849:2;5824:15;2758:13;5896:28;-1:-1:-1;5896:60:357;;;;-1:-1:-1;2813:13:357;5928:28;;5896:60;5892:732;;;5972:14;5989:16;5996:8;5989:6;:16::i;:::-;5972:33;-1:-1:-1;1728:4:357;6488:16;;;6487:29;;6486:56;6459:8;1728:4;6423:7;:16;6422:45;:120;6406:137;;5892:732;;;;6605:8;6589:13;6593:8;6589:3;:13::i;:::-;:24;6574:39;;5892:732;1728:4;6633:22;;-1:-1:-1;;6754:36:357;-1:-1:-1;6754:36:357;;;:76;;;2513:6;6794:12;:36;;6754:76;6733:144;;;;-1:-1:-1;;;6733:144:357;;;;;;;:::i;:::-;6903:17;6907:12;6903:3;:17::i;:::-;6888:33;4663:2265;-1:-1:-1;;;;;;4663:2265:357:o;1105:682:356:-;1167:12;1199:7;1191:33;;;;-1:-1:-1;;;1191:33:356;;;;;;;:::i;:::-;1239:7;1235:546;;-1:-1:-1;1269:1:356;1262:8;;1235:546;1073:4;1321:8;;;;:2;:8;:2;1351:14;;;;;:21;1343:46;;;;-1:-1:-1;;;1343:46:356;;;;;;;:::i;:::-;1763:2;1758:1;1746:9;:13;1745:20;;;;;;1769:1;1744:26;1737:33;;;;;1793:623;1855:12;1897:7;;;1922;;;:29;;;1949:2;1943;1933:7;:12;;;;;;:18;1922:29;1914:54;;;;-1:-1:-1;;;1914:54:356;;;;;;;:::i;:::-;1983:12;1979:431;;2018:1;2011:8;;;;;1979:431;1073:4;-1:-1:-1;;2376:11:356;;2375:19;;569:515:354;727:12;;678:13;;;749:303;769:9;765:1;:13;749:303;;;815:13;-1:-1:-1;;;;;803:25:354;:5;809:1;803:8;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;803:8:354;:25;799:243;;;868:1;856:9;:13;852:1;:17;848:95;;;904:5;922:1;910:9;:13;904:20;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;904:20:354;893:5;899:1;893:8;;;;;;;;;;;;;;;;:31;;;;;-1:-1:-1;;;;;893:31:354;;;;;-1:-1:-1;;;;;893:31:354;;;;;;848:95;960:5;:11;;;;;;;;;;;;;;;;-1:-1:-1;;960:11:354;;;;;-1:-1:-1;;;;;;960:11:354;;;;;;;;-1:-1:-1;1022:5:354;;799:243;780:3;;749:303;;;;1062:15;569:515;;;;:::o;18962:1731:357:-;1728:4;19243:12;19011:11;;-1:-1:-1;;;19658:11:357;;;;-1:-1:-1;;19632:11:357;;19631:22;19658:11;19630:40;;;;;;-1:-1:-1;19680:16:357;-1:-1:-1;;;19700:5:357;;;19699:16;;-1:-1:-1;19809:1:357;;-1:-1:-1;;;20024:15:357;;;20023:26;;-1:-1:-1;20078:1:357;20023:26;20072:7;20059:20;-1:-1:-1;;;20097:15:357;;;20096:26;;-1:-1:-1;20151:1:357;20096:26;20145:7;20132:20;-1:-1:-1;;;20170:15:357;;;20169:26;;-1:-1:-1;20224:1:357;20169:26;20218:7;20205:20;-1:-1:-1;;;20243:15:357;;;20242:26;;-1:-1:-1;20297:1:357;20242:26;20291:7;20278:20;-1:-1:-1;;;20316:15:357;;;20315:26;;-1:-1:-1;20370:2:357;20315:26;20364:8;20351:21;-1:-1:-1;;;20390:15:357;;;20389:26;;-1:-1:-1;20444:2:357;20389:26;20438:8;20425:21;-1:-1:-1;;;20464:15:357;;;20463:26;;-1:-1:-1;20518:2:357;20463:26;20685:1;20512:8;;;20499:21;;;;20673:13;;18962:1731;-1:-1:-1;;;;;18962:1731:357:o;13664:5029::-;13710:11;1728:4;13737:2;:11;13733:392;;;14086:27;14110:2;-1:-1:-1;;;14110:2:357;14090:22;;;;;14086:3;:27::i;:::-;14085:28;;14077:37;;;;13733:392;15458:10;15492:11;15486:17;;15482:116;;3008:56;15519:8;;;-1:-1:-1;2952:21:357;15578:9;15482:116;15618:11;15612:17;;15608:116;;3171:28;15645:8;;;-1:-1:-1;3116:20:357;15704:9;15608:116;15863:3;15876:9;;;;15856:10;3337:34;16012:8;;16008:85;;3337:34;1918:4;16042:11;;16041:18;;-1:-1:-1;3280:22:357;16073:9;16008:85;3466:27;16107:2;:8;16103:85;;3466:27;1918:4;16137:11;;16136:18;;-1:-1:-1;3409:22:357;16168:9;16103:85;3587:24;16202:2;:8;16198:85;;3587:24;1918:4;16232:11;;16231:18;;-1:-1:-1;3531:21:357;16263:9;16198:85;3705:22;16297:2;:8;16293:85;;3705:22;1918:4;16327:11;;16326:18;;-1:-1:-1;3649:21:357;16358:9;16293:85;3821:21;16392:2;:8;16388:85;;3821:21;1918:4;16422:11;;16421:18;;-1:-1:-1;3765:21:357;16453:9;16388:85;3936:21;16487:2;:8;16483:85;;3936:21;1918:4;16517:11;;;16516:18;;16548:9;16483:85;4051:21;16582:2;:8;16578:85;;4051:21;1918:4;16612:11;;16611:18;;-1:-1:-1;3995:20:357;16643:9;16578:85;4166:21;16677:2;:8;16673:85;;4166:21;1918:4;16707:11;;16706:18;;-1:-1:-1;4110:20:357;16738:9;16673:85;4283:21;16772:2;:9;16768:88;;4283:21;1918:4;16803:11;;16802:19;;-1:-1:-1;4226:20:357;16835:10;16768:88;4400:21;16870:2;:9;16866:88;;4400:21;1918:4;16901:11;;16900:19;;-1:-1:-1;4344:19:357;16933:10;16866:88;17463:8;1918:4;17502:2;:11;1918:4;;17476:2;:11;17475:22;17474:40;;;;;;;-1:-1:-1;17524:16:357;1918:4;17544:5;;;17543:16;;-1:-1:-1;17653:1:357;;1918:4;17868:15;;;17867:26;;-1:-1:-1;17922:1:357;17867:26;17916:7;17903:20;1918:4;17941:15;;;17940:26;;-1:-1:-1;17995:1:357;17940:26;17989:7;17976:20;1918:4;18014:15;;;18013:26;;-1:-1:-1;18068:1:357;18013:26;18062:7;18049:20;1918:4;18087:15;;;18086:26;;-1:-1:-1;18141:1:357;18086:26;18135:7;18122:20;1918:4;18160:15;;;18159:26;;-1:-1:-1;18214:2:357;18159:26;18208:8;18195:21;18388:1;18375:14;18683:3;18664:15;;;18663:23;;13664:5029;-1:-1:-1;;;;;;;13664:5029:357:o;7144:5443::-;7191:11;-1:-1:-1;;7222:2:357;:26;;:56;;;;;2513:6;7252:2;:26;;7222:56;7214:85;;;;-1:-1:-1;;;7214:85:357;;;;;;;:::i;:::-;7319:1;7314:2;:6;7310:358;;;7648:8;7653:2;7652:3;;7648;:8::i;:::-;-1:-1:-1;;;7628:28:357;;;;;;7620:37;;;;7310:358;8978:14;2952:21;9006:2;:8;9002:224;;-1:-1:-1;;;9030:8:357;;;;3008:56;9002:224;;;3116:20;9085:2;:8;9081:145;;-1:-1:-1;;;9109:8:357;;;;3171:28;9081:145;;;-1:-1:-1;9184:1:357;9081:145;9384:3;9378:9;;;;;1918:4;3280:22;9638:8;;9634:94;;-1:-1:-1;;9662:8:357;;;;1918:4;3337:34;9695:12;;9694:23;9684:33;;9634:94;3409:22;9741:2;:8;9737:94;;-1:-1:-1;;9765:8:357;;;;1918:4;3466:27;9798:12;;9797:23;9787:33;;9737:94;3531:21;9844:2;:8;9840:94;;-1:-1:-1;;9868:8:357;;;;1918:4;3587:24;9901:12;;9900:23;9890:33;;9840:94;3649:21;9947:2;:8;9943:94;;-1:-1:-1;;9971:8:357;;;;1918:4;3705:22;10004:12;;10003:23;9993:33;;9943:94;3765:21;10050:2;:8;10046:94;;-1:-1:-1;;10074:8:357;;;;1918:4;3821:21;10107:12;;10106:23;10096:33;;10046:94;3880:21;10153:2;:8;10149:94;;-1:-1:-1;;10177:8:357;;;;3880:21;3936;10210:12;;10209:23;10199:33;;10149:94;3995:20;10256:2;:8;10252:94;;-1:-1:-1;;10280:8:357;;;;1918:4;4051:21;10313:12;;10312:23;10302:33;;10252:94;4110:20;10359:2;:8;10355:94;;-1:-1:-1;;10383:8:357;;;;1918:4;4166:21;10416:12;;10415:23;10405:33;;10355:94;1918:4;10991:17;;;;;;11281:1;;11258:9;;;11257:20;11256:26;11292:17;;;;11256:26;-1:-1:-1;11352:1:357;1918:4;11329:9;;;11328:20;11327:26;11363:17;;;;11327:26;-1:-1:-1;11423:1:357;1918:4;11400:9;;;11399:20;11398:26;11434:17;;;;11398:26;-1:-1:-1;11494:1:357;1918:4;11471:9;;;11470:20;11469:26;11505:17;;;;11469:26;-1:-1:-1;11565:1:357;1918:4;11542:9;;;11541:20;11540:26;11576:17;;;;11540:26;-1:-1:-1;11636:1:357;1918:4;11613:9;;;11612:20;11611:26;11647:17;;;;11611:26;-1:-1:-1;11707:1:357;1918:4;11684:9;;;11683:20;11682:26;11718:17;;;;11682:26;-1:-1:-1;11778:1:357;1918:4;11755:9;;;11754:20;11753:26;11789:17;;;;11753:26;-1:-1:-1;11849:2:357;1918:4;11826:9;;;11825:20;11824:27;11861:17;;;;11824:27;-1:-1:-1;11921:2:357;1918:4;11898:9;;;11897:20;11896:27;11933:17;;;;11896:27;-1:-1:-1;11993:2:357;1918:4;11970:9;;;11969:20;11968:27;12005:17;;;;11968:27;-1:-1:-1;12577:3:357;1918:4;12533:19;;;12532:30;12531:42;;12530:50;;7144:5443;-1:-1:-1;;;;;;7144:5443:357:o;5:130:-1:-;72:20;;97:33;72:20;97:33;:::i;142:134::-;220:13;;238:33;220:13;238:33;:::i;301:352::-;;;431:3;424:4;416:6;412:17;408:27;398:2;;449:1;446;439:12;398:2;-1:-1;469:20;;509:18;498:30;;495:2;;;541:1;538;531:12;495:2;575:4;567:6;563:17;551:29;;626:3;618:4;610:6;606:17;596:8;592:32;589:41;586:2;;;643:1;640;633:12;679:722;;807:3;800:4;792:6;788:17;784:27;774:2;;825:1;822;815:12;774:2;855:6;849:13;877:80;892:64;949:6;892:64;:::i;:::-;877:80;:::i;:::-;868:89;;974:5;999:6;992:5;985:21;1029:4;1021:6;1017:17;1007:27;;1051:4;1046:3;1042:14;1035:21;;1104:6;1151:3;1143:4;1135:6;1131:17;1126:3;1122:27;1119:36;1116:2;;;1168:1;1165;1158:12;1116:2;1193:1;1178:217;1203:6;1200:1;1197:13;1178:217;;;1261:3;1283:48;1327:3;1315:10;1283:48;:::i;:::-;1271:61;;-1:-1;1355:4;1346:14;;;;1374;;;;;1225:1;1218:9;1178:217;;;1182:14;767:634;;;;;;;:::o;1427:722::-;;1555:3;1548:4;1540:6;1536:17;1532:27;1522:2;;1573:1;1570;1563:12;1522:2;1603:6;1597:13;1625:80;1640:64;1697:6;1640:64;:::i;1625:80::-;1616:89;;1722:5;1747:6;1740:5;1733:21;1777:4;1769:6;1765:17;1755:27;;1799:4;1794:3;1790:14;1783:21;;1852:6;1899:3;1891:4;1883:6;1879:17;1874:3;1870:27;1867:36;1864:2;;;1916:1;1913;1906:12;1864:2;1941:1;1926:217;1951:6;1948:1;1945:13;1926:217;;;2009:3;2031:48;2075:3;2063:10;2031:48;:::i;:::-;2019:61;;-1:-1;2103:4;2094:14;;;;2122;;;;;1973:1;1966:9;1926:217;;2157:128;2232:13;;2250:30;2232:13;2250:30;:::i;2292:134::-;2370:13;;2388:33;2370:13;2388:33;:::i;2433:130::-;2500:20;;2525:33;2500:20;2525:33;:::i;2711:130::-;2787:13;;2805:31;2787:13;2805:31;:::i;2848:241::-;;2952:2;2940:9;2931:7;2927:23;2923:32;2920:2;;;2968:1;2965;2958:12;2920:2;3003:1;3020:53;3065:7;3045:9;3020:53;:::i;:::-;3010:63;2914:175;-1:-1;;;;2914:175::o;3096:263::-;;3211:2;3199:9;3190:7;3186:23;3182:32;3179:2;;;3227:1;3224;3217:12;3179:2;3262:1;3279:64;3335:7;3315:9;3279:64;:::i;3366:366::-;;;3487:2;3475:9;3466:7;3462:23;3458:32;3455:2;;;3503:1;3500;3493:12;3455:2;3538:1;3555:53;3600:7;3580:9;3555:53;:::i;:::-;3545:63;;3517:97;3645:2;3663:53;3708:7;3699:6;3688:9;3684:22;3663:53;:::i;:::-;3653:63;;3624:98;3449:283;;;;;:::o;3739:397::-;;;3878:2;3866:9;3857:7;3853:23;3849:32;3846:2;;;3894:1;3891;3884:12;3846:2;3929:31;;3980:18;3969:30;;3966:2;;;4012:1;4009;4002:12;3966:2;4040:80;4112:7;4103:6;4092:9;4088:22;4040:80;:::i;:::-;4022:98;;;;3908:218;3840:296;;;;;:::o;4143:793::-;;;;4342:2;4330:9;4321:7;4317:23;4313:32;4310:2;;;4358:1;4355;4348:12;4310:2;4393:24;;4437:18;4426:30;;4423:2;;;4469:1;4466;4459:12;4423:2;4489:89;4570:7;4561:6;4550:9;4546:22;4489:89;:::i;:::-;4479:99;;4372:212;4636:2;4625:9;4621:18;4615:25;4660:18;4652:6;4649:30;4646:2;;;4692:1;4689;4682:12;4646:2;4712:89;4793:7;4784:6;4773:9;4769:22;4712:89;:::i;:::-;4702:99;;4594:213;4838:2;4856:64;4912:7;4903:6;4892:9;4888:22;4856:64;:::i;:::-;4846:74;;4817:109;4304:632;;;;;:::o;4943:392::-;;5083:2;5071:9;5062:7;5058:23;5054:32;5051:2;;;5099:1;5096;5089:12;5051:2;5134:24;;5178:18;5167:30;;5164:2;;;5210:1;5207;5200:12;5164:2;5230:89;5311:7;5302:6;5291:9;5287:22;5230:89;:::i;5342:257::-;;5454:2;5442:9;5433:7;5429:23;5425:32;5422:2;;;5470:1;5467;5460:12;5422:2;5505:1;5522:61;5575:7;5555:9;5522:61;:::i;5606:263::-;;5721:2;5709:9;5700:7;5696:23;5692:32;5689:2;;;5737:1;5734;5727:12;5689:2;5772:1;5789:64;5845:7;5825:9;5789:64;:::i;6146:259::-;;6259:2;6247:9;6238:7;6234:23;6230:32;6227:2;;;6275:1;6272;6265:12;6227:2;6310:1;6327:62;6381:7;6361:9;6327:62;:::i;6413:173::-;;6500:46;6542:3;6534:6;6500:46;:::i;:::-;-1:-1;;6575:4;6566:14;;6493:93::o;6595:173::-;;6682:46;6724:3;6716:6;6682:46;:::i;6776:142::-;6867:45;6906:5;6867:45;:::i;:::-;6862:3;6855:58;6849:69;;:::o;6925:103::-;6998:24;7016:5;6998:24;:::i;7186:690::-;;7331:54;7379:5;7331:54;:::i;:::-;7398:86;7477:6;7472:3;7398:86;:::i;:::-;7391:93;;7505:56;7555:5;7505:56;:::i;:::-;7581:7;7609:1;7594:260;7619:6;7616:1;7613:13;7594:260;;;7686:6;7680:13;7707:63;7766:3;7751:13;7707:63;:::i;:::-;7700:70;;7787:60;7840:6;7787:60;:::i;:::-;7777:70;-1:-1;;7641:1;7634:9;7594:260;;;-1:-1;7867:3;;7310:566;-1:-1;;;;;7310:566::o;7915:690::-;;8060:54;8108:5;8060:54;:::i;:::-;8127:86;8206:6;8201:3;8127:86;:::i;:::-;8120:93;;8234:56;8284:5;8234:56;:::i;:::-;8310:7;8338:1;8323:260;8348:6;8345:1;8342:13;8323:260;;;8415:6;8409:13;8436:63;8495:3;8480:13;8436:63;:::i;:::-;8429:70;;8516:60;8569:6;8516:60;:::i;:::-;8506:70;-1:-1;;8370:1;8363:9;8323:260;;8613:104;8690:21;8705:5;8690:21;:::i;8724:113::-;8807:24;8825:5;8807:24;:::i;8845:447::-;;9005:67;9069:2;9064:3;9005:67;:::i;:::-;9105:34;9085:55;;9174:34;9169:2;9160:12;;9153:56;-1:-1;;;9238:2;9229:12;;9222:33;9283:2;9274:12;;8991:301;-1:-1;;8991:301::o;9301:321::-;;9461:67;9525:2;9520:3;9461:67;:::i;:::-;-1:-1;;;9541:44;;9613:2;9604:12;;9447:175;-1:-1;;9447:175::o;9631:316::-;;9791:67;9855:2;9850:3;9791:67;:::i;:::-;-1:-1;;;9871:39;;9938:2;9929:12;;9777:170;-1:-1;;9777:170::o;9956:316::-;;10116:67;10180:2;10175:3;10116:67;:::i;:::-;-1:-1;;;10196:39;;10263:2;10254:12;;10102:170;-1:-1;;10102:170::o;10281:312::-;;10441:67;10505:2;10500:3;10441:67;:::i;:::-;-1:-1;;;10521:35;;10584:2;10575:12;;10427:166;-1:-1;;10427:166::o;10602:312::-;;10762:67;10826:2;10821:3;10762:67;:::i;:::-;-1:-1;;;10842:35;;10905:2;10896:12;;10748:166;-1:-1;;10748:166::o;10923:316::-;;11083:67;11147:2;11142:3;11083:67;:::i;:::-;-1:-1;;;11163:39;;11230:2;11221:12;;11069:170;-1:-1;;11069:170::o;11248:313::-;;11408:67;11472:2;11467:3;11408:67;:::i;:::-;-1:-1;;;11488:36;;11552:2;11543:12;;11394:167;-1:-1;;11394:167::o;11799:222::-;11926:2;11911:18;;11940:71;11915:9;11984:6;11940:71;:::i;12028:448::-;12213:2;12198:18;;12227:71;12202:9;12271:6;12227:71;:::i;:::-;12309:80;12385:2;12374:9;12370:18;12361:6;12309:80;:::i;:::-;12400:66;12462:2;12451:9;12447:18;12438:6;12400:66;:::i;12483:444::-;12666:2;12651:18;;12680:71;12655:9;12724:6;12680:71;:::i;:::-;12762:72;12830:2;12819:9;12815:18;12806:6;12762:72;:::i;:::-;12845;12913:2;12902:9;12898:18;12889:6;12845:72;:::i;12934:370::-;13111:2;13125:47;;;13096:18;;13186:108;13096:18;13280:6;13186:108;:::i;:::-;13178:116;13082:222;-1:-1;;;13082:222::o;13311:629::-;13566:2;13580:47;;;13551:18;;13641:108;13551:18;13735:6;13641:108;:::i;:::-;13633:116;;13797:9;13791:4;13787:20;13782:2;13771:9;13767:18;13760:48;13822:108;13925:4;13916:6;13822:108;:::i;13947:210::-;14068:2;14053:18;;14082:65;14057:9;14120:6;14082:65;:::i;14164:222::-;14291:2;14276:18;;14305:71;14280:9;14349:6;14305:71;:::i;14393:416::-;14593:2;14607:47;;;14578:18;;14668:131;14578:18;14668:131;:::i;14816:416::-;15016:2;15030:47;;;15001:18;;15091:131;15001:18;15091:131;:::i;15239:416::-;15439:2;15453:47;;;15424:18;;15514:131;15424:18;15514:131;:::i;15662:416::-;15862:2;15876:47;;;15847:18;;15937:131;15847:18;15937:131;:::i;16085:416::-;16285:2;16299:47;;;16270:18;;16360:131;16270:18;16360:131;:::i;16508:416::-;16708:2;16722:47;;;16693:18;;16783:131;16693:18;16783:131;:::i;16931:416::-;17131:2;17145:47;;;17116:18;;17206:131;17116:18;17206:131;:::i;17354:416::-;17554:2;17568:47;;;17539:18;;17629:131;17539:18;17629:131;:::i;17777:256::-;17839:2;17833:9;17865:17;;;17940:18;17925:34;;17961:22;;;17922:62;17919:2;;;17997:1;17994;17987:12;17919:2;18013;18006:22;17817:216;;-1:-1;17817:216::o;18040:304::-;;18199:18;18191:6;18188:30;18185:2;;;18231:1;18228;18221:12;18185:2;-1:-1;18266:4;18254:17;;;18319:15;;18122:222::o;18662:151::-;18786:4;18777:14;;18734:79::o;18978:137::-;19081:12;;19052:63::o;19497:178::-;19615:19;;;19664:4;19655:14;;19608:67::o;20042:91::-;;20104:24;20122:5;20104:24;:::i;20140:85::-;20206:13;20199:21;;20182:43::o;20232:72::-;20294:5;20277:27::o;20311:121::-;-1:-1;;;;;20373:54;;20356:76::o;20518:81::-;20589:4;20578:16;;20561:38::o;20606:129::-;;20693:37;20724:5;20742:121;20821:37;20852:5;20821:37;:::i;20985:117::-;21054:24;21072:5;21054:24;:::i;:::-;21047:5;21044:35;21034:2;;21093:1;21090;21083:12;21034:2;21028:74;:::o;21109:111::-;21175:21;21190:5;21175:21;:::i;21227:117::-;21296:24;21314:5;21296:24;:::i;21475:113::-;21542:22;21558:5;21542:22;:::i", "linkReferences": {}, "immutableReferences": { "63063": [ { "start": 526, "length": 32 }, { "start": 659, "length": 32 } ], "63065": [ { "start": 1582, "length": 32 }, { "start": 1873, "length": 32 } ], "63067": [ { "start": 1377, "length": 32 } ], "78707": [ { "start": 1994, "length": 32 }, { "start": 2144, "length": 32 } ] } }, "methodIdentifiers": { "addPoolFactories(address[])": "4c8f6529", "calcUnderlyingValues(address,uint256)": "727212f6", "getFundDeployer()": "97c0ac87", "getOwner()": "893d20e8", "getPoolFactories()": "27082f73", "isSupportedAsset(address)": "9be918e6", "removePoolFactories(address[])": "ec421ea0" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_fundDeployer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_valueInterpreter\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_intermediaryAsset\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_balancerVault\",\"type\":\"address\"},{\"internalType\":\"address[]\",\"name\":\"_poolFactories\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"poolFactory\",\"type\":\"address\"}],\"name\":\"PoolFactoryAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"poolFactory\",\"type\":\"address\"}],\"name\":\"PoolFactoryRemoved\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_poolFactories\",\"type\":\"address[]\"}],\"name\":\"addPoolFactories\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_derivative\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_derivativeAmount\",\"type\":\"uint256\"}],\"name\":\"calcUnderlyingValues\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"underlyings_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"underlyingAmounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFundDeployer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"fundDeployer_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPoolFactories\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"factories_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"}],\"name\":\"isSupportedAsset\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isSupported_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_poolFactories\",\"type\":\"address[]\"}],\"name\":\"removePoolFactories\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"addPoolFactories(address[])\":{\"params\":{\"_poolFactories\":\"pool factories to add\"}},\"calcUnderlyingValues(address,uint256)\":{\"details\":\"The underlyings returned from this function does not correspond to the real underlyings of the Balancer Pool Token. Instead, we return the value of the derivative in a single asset, which is the INTERMEDIARY_ASSET. This saves a considerable amount of gas, while returning the same total value. Pricing formula: https://dev.balancer.fi/references/lp-tokens/valuing#estimating-price-robustly-on-chain\",\"params\":{\"_derivative\":\"The derivative to convert\",\"_derivativeAmount\":\"The amount of the derivative to convert\"},\"returns\":{\"underlyingAmounts_\":\"The amount of each underlying asset for the equivalent derivative amount\",\"underlyings_\":\"The underlying assets for the _derivative\"}},\"getFundDeployer()\":{\"returns\":{\"fundDeployer_\":\"The `FUND_DEPLOYER` variable value\"}},\"getOwner()\":{\"details\":\"Ownership is deferred to the owner of the FundDeployer contract\",\"returns\":{\"owner_\":\"The owner\"}},\"getPoolFactories()\":{\"returns\":{\"factories_\":\"array of stored pool factory contract addresses\"}},\"isSupportedAsset(address)\":{\"params\":{\"_asset\":\"The asset to check\"},\"returns\":{\"isSupported_\":\"True if the asset is supported\"}},\"removePoolFactories(address[])\":{\"params\":{\"_poolFactories\":\"pool factories to remove\"}}},\"title\":\"BalancerV2WeightedPoolPriceFeed Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"addPoolFactories(address[])\":{\"notice\":\"Adds pool factories\"},\"calcUnderlyingValues(address,uint256)\":{\"notice\":\"Converts a given amount of a derivative to its underlying asset values\"},\"getFundDeployer()\":{\"notice\":\"Gets the `FUND_DEPLOYER` variable\"},\"getOwner()\":{\"notice\":\"Gets the owner of this contract\"},\"getPoolFactories()\":{\"notice\":\"Returns stored balancer pool factory contract addresses\"},\"isSupportedAsset(address)\":{\"notice\":\"Checks if an asset is supported by the price feed\"},\"removePoolFactories(address[])\":{\"notice\":\"Removes pool factories\"}},\"notice\":\"Price source oracle for Balancer Pool Tokens (BPT) of weighted pools\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/infrastructure/price-feeds/derivatives/feeds/BalancerV2WeightedPoolPriceFeed.sol\":\"BalancerV2WeightedPoolPriceFeed\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/infrastructure/price-feeds/derivatives/AggregatedDerivativePriceFeedMixin.sol\":{\"keccak256\":\"0x85d2ac39834dae7feb04f0e37317a38b8abeb0f950692fbc9d29078c52cd8d52\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://7bf8f1ce064d85a2812a944fc93068955b233924097f7f45898be3db826579d5\",\"dweb:/ipfs/Qme7f6AhxLVn32prM8fHaCvxtVi86A9KqFMqPA1s88kVYR\"]},\"contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol\":{\"keccak256\":\"0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e\",\"dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK\"]},\"contracts/release/infrastructure/price-feeds/derivatives/feeds/BalancerV2WeightedPoolPriceFeed.sol\":{\"keccak256\":\"0x27acdc756aa0553a1ed294c0e1f86c7cff00c2676e172ac6aa8bf4f8e9d37f27\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://81c2b43ac95f917d021e98b1cb61ad8019d735d9b1511901d560d2cde110a6de\",\"dweb:/ipfs/QmTNEJRSRv9gYkp832ZyFPf9jQWzWBvCMZGfkHDe51mf4T\"]},\"contracts/release/infrastructure/price-feeds/primitives/ChainlinkPriceFeedMixin.sol\":{\"keccak256\":\"0x7fb0078e7387f07ff09958fe4e4e7b317e72c23884f61e8c133776cad522f8bb\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://e973f29ed0c3bf03e20154ab4b0cfc68c3a4372a52ec746f9d9f86697b30e977\",\"dweb:/ipfs/QmfMb7H1zNnj2hzmUr6742HmCTiNVuQ2PFjeR8q2M4Liyu\"]},\"contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol\":{\"keccak256\":\"0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965\",\"dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ\"]},\"contracts/release/infrastructure/value-interpreter/ValueInterpreter.sol\":{\"keccak256\":\"0x64565011785d0d29a75021cda34687cfbc0641094d6f2faf4d9c78c8cd9f0d1d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://03ea9b29a332436d18ca1a4df7e5cdf231d5142dfb916a39cb3a721342d54e0e\",\"dweb:/ipfs/QmcB8Z7A7QELAxg2FfJpD26k2bUhMNUT4wACMVKxuge3QS\"]},\"contracts/release/interfaces/IBalancerV2PoolFactory.sol\":{\"keccak256\":\"0xb3b90f93ed2fe906f9a6ce15f537c36f33b24a8e3328e4ccbb011a719edd2de5\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://88571ee529345dd703fa0e5e71182c13cc194e9d6e73176a3c5f1fa94067367a\",\"dweb:/ipfs/QmaPS6tDuHDNdd6aYMBB7Syptoju6T37KgXuA6jXD6hgCK\"]},\"contracts/release/interfaces/IBalancerV2Vault.sol\":{\"keccak256\":\"0xb3c8da122ab160129c74ffeb0310ff96c4977d65eef12888bc1a8276fa2a3fd2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c9c89c1e04327c6fa45fbdf9ae8fd132ed95c9101ab49d078ef99c6590c30867\",\"dweb:/ipfs/QmWKrLQg5xBVmi6snaAwU3zUTjxQ6ugYj6n45x1hqRxv9A\"]},\"contracts/release/interfaces/IBalancerV2WeightedPool.sol\":{\"keccak256\":\"0x0e14c80f4a2c01d5528ab7feddf491f8074f84736b7d72d9d7cb3d526e3c447a\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ed724083136114b979eb7dcc0e95e4ff02f627ab066c9ce20ec3b8807e7d0b98\",\"dweb:/ipfs/QmeNvftCHn7PNDsLpxGJN8cA9Cq66wV6Z1cgoEQT6ufHUP\"]},\"contracts/release/interfaces/IChainlinkAggregator.sol\":{\"keccak256\":\"0x8104db68d4edc00c86b29b366f4397cdbe7bd95bb9dc90f54140af4bae963788\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://4664240be22fe76bd4e84d1cbaace3998dbc96759a14345819a889f0c288d22e\",\"dweb:/ipfs/QmQ8fbA4tvXeCeaAFeS2JrLEQUPFeYrePAKoUywRtcicgA\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/BalancerV2FixedPoint.sol\":{\"keccak256\":\"0x40a268978d537937000928b57e777c6ca010c333d2fd82eae6a7678e8542db50\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://13899c9b4cbab7665e142a20910f97f6dd198e42c5a3ae15589994ebdd8bc630\",\"dweb:/ipfs/Qmb8yWk7G1EWRoBrDCQ34H4kUDuYLsMDiXCqA6eA5DeZTk\"]},\"contracts/release/utils/BalancerV2LogExpMath.sol\":{\"keccak256\":\"0x5d28ba93befe244b01d66da69ae64eaecc9f0355674664e7b9470a173fad4366\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://97667cba261ff2cc08ffb33ed9cd5a63638fede0819ba1a5f1f8e0cf12d9293c\",\"dweb:/ipfs/QmUVoLE1mWTEYTjjqKGGH4KAz11eVxJENPzSeyVEHkKso2\"]},\"contracts/release/utils/FundDeployerOwnerMixin.sol\":{\"keccak256\":\"0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927\",\"dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM\"]},\"contracts/release/utils/MathHelpers.sol\":{\"keccak256\":\"0x8aef498ae98bfb40cd1df8c9ed652b4c092fbbe62d5a1fad522c53654523248e\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ed62789f6a8d5ca30a40c591f244b915e4711493a9e4b1b4d40ea2bc97b02a95\",\"dweb:/ipfs/QmWyXJ55arURtx9VMkUQokdsjk8tbgM2cC8rENFUMyz5D3\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_fundDeployer", "type": "address" }, { "internalType": "address", "name": "_valueInterpreter", "type": "address" }, { "internalType": "address", "name": "_intermediaryAsset", "type": "address" }, { "internalType": "address", "name": "_balancerVault", "type": "address" }, { "internalType": "address[]", "name": "_poolFactories", "type": "address[]" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "poolFactory", "type": "address", "indexed": false } ], "type": "event", "name": "PoolFactoryAdded", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "poolFactory", "type": "address", "indexed": false } ], "type": "event", "name": "PoolFactoryRemoved", "anonymous": false }, { "inputs": [ { "internalType": "address[]", "name": "_poolFactories", "type": "address[]" } ], "stateMutability": "nonpayable", "type": "function", "name": "addPoolFactories" }, { "inputs": [ { "internalType": "address", "name": "_derivative", "type": "address" }, { "internalType": "uint256", "name": "_derivativeAmount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "calcUnderlyingValues", "outputs": [ { "internalType": "address[]", "name": "underlyings_", "type": "address[]" }, { "internalType": "uint256[]", "name": "underlyingAmounts_", "type": "uint256[]" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getFundDeployer", "outputs": [ { "internalType": "address", "name": "fundDeployer_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getOwner", "outputs": [ { "internalType": "address", "name": "owner_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getPoolFactories", "outputs": [ { "internalType": "address[]", "name": "factories_", "type": "address[]" } ] }, { "inputs": [ { "internalType": "address", "name": "_asset", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "isSupportedAsset", "outputs": [ { "internalType": "bool", "name": "isSupported_", "type": "bool" } ] }, { "inputs": [ { "internalType": "address[]", "name": "_poolFactories", "type": "address[]" } ], "stateMutability": "nonpayable", "type": "function", "name": "removePoolFactories" } ], "devdoc": { "kind": "dev", "methods": { "addPoolFactories(address[])": { "params": { "_poolFactories": "pool factories to add" } }, "calcUnderlyingValues(address,uint256)": { "details": "The underlyings returned from this function does not correspond to the real underlyings of the Balancer Pool Token. Instead, we return the value of the derivative in a single asset, which is the INTERMEDIARY_ASSET. This saves a considerable amount of gas, while returning the same total value. Pricing formula: https://dev.balancer.fi/references/lp-tokens/valuing#estimating-price-robustly-on-chain", "params": { "_derivative": "The derivative to convert", "_derivativeAmount": "The amount of the derivative to convert" }, "returns": { "underlyingAmounts_": "The amount of each underlying asset for the equivalent derivative amount", "underlyings_": "The underlying assets for the _derivative" } }, "getFundDeployer()": { "returns": { "fundDeployer_": "The `FUND_DEPLOYER` variable value" } }, "getOwner()": { "details": "Ownership is deferred to the owner of the FundDeployer contract", "returns": { "owner_": "The owner" } }, "getPoolFactories()": { "returns": { "factories_": "array of stored pool factory contract addresses" } }, "isSupportedAsset(address)": { "params": { "_asset": "The asset to check" }, "returns": { "isSupported_": "True if the asset is supported" } }, "removePoolFactories(address[])": { "params": { "_poolFactories": "pool factories to remove" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "addPoolFactories(address[])": { "notice": "Adds pool factories" }, "calcUnderlyingValues(address,uint256)": { "notice": "Converts a given amount of a derivative to its underlying asset values" }, "getFundDeployer()": { "notice": "Gets the `FUND_DEPLOYER` variable" }, "getOwner()": { "notice": "Gets the owner of this contract" }, "getPoolFactories()": { "notice": "Returns stored balancer pool factory contract addresses" }, "isSupportedAsset(address)": { "notice": "Checks if an asset is supported by the price feed" }, "removePoolFactories(address[])": { "notice": "Removes pool factories" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/infrastructure/price-feeds/derivatives/feeds/BalancerV2WeightedPoolPriceFeed.sol": "BalancerV2WeightedPoolPriceFeed" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/core/fund-deployer/IFundDeployer.sol": { "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", "urls": [ "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/price-feeds/derivatives/AggregatedDerivativePriceFeedMixin.sol": { "keccak256": "0x85d2ac39834dae7feb04f0e37317a38b8abeb0f950692fbc9d29078c52cd8d52", "urls": [ "bzz-raw://7bf8f1ce064d85a2812a944fc93068955b233924097f7f45898be3db826579d5", "dweb:/ipfs/Qme7f6AhxLVn32prM8fHaCvxtVi86A9KqFMqPA1s88kVYR" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol": { "keccak256": "0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332", "urls": [ "bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e", "dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/price-feeds/derivatives/feeds/BalancerV2WeightedPoolPriceFeed.sol": { "keccak256": "0x27acdc756aa0553a1ed294c0e1f86c7cff00c2676e172ac6aa8bf4f8e9d37f27", "urls": [ "bzz-raw://81c2b43ac95f917d021e98b1cb61ad8019d735d9b1511901d560d2cde110a6de", "dweb:/ipfs/QmTNEJRSRv9gYkp832ZyFPf9jQWzWBvCMZGfkHDe51mf4T" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/price-feeds/primitives/ChainlinkPriceFeedMixin.sol": { "keccak256": "0x7fb0078e7387f07ff09958fe4e4e7b317e72c23884f61e8c133776cad522f8bb", "urls": [ "bzz-raw://e973f29ed0c3bf03e20154ab4b0cfc68c3a4372a52ec746f9d9f86697b30e977", "dweb:/ipfs/QmfMb7H1zNnj2hzmUr6742HmCTiNVuQ2PFjeR8q2M4Liyu" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol": { "keccak256": "0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794", "urls": [ "bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965", "dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/value-interpreter/ValueInterpreter.sol": { "keccak256": "0x64565011785d0d29a75021cda34687cfbc0641094d6f2faf4d9c78c8cd9f0d1d", "urls": [ "bzz-raw://03ea9b29a332436d18ca1a4df7e5cdf231d5142dfb916a39cb3a721342d54e0e", "dweb:/ipfs/QmcB8Z7A7QELAxg2FfJpD26k2bUhMNUT4wACMVKxuge3QS" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IBalancerV2PoolFactory.sol": { "keccak256": "0xb3b90f93ed2fe906f9a6ce15f537c36f33b24a8e3328e4ccbb011a719edd2de5", "urls": [ "bzz-raw://88571ee529345dd703fa0e5e71182c13cc194e9d6e73176a3c5f1fa94067367a", "dweb:/ipfs/QmaPS6tDuHDNdd6aYMBB7Syptoju6T37KgXuA6jXD6hgCK" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IBalancerV2Vault.sol": { "keccak256": "0xb3c8da122ab160129c74ffeb0310ff96c4977d65eef12888bc1a8276fa2a3fd2", "urls": [ "bzz-raw://c9c89c1e04327c6fa45fbdf9ae8fd132ed95c9101ab49d078ef99c6590c30867", "dweb:/ipfs/QmWKrLQg5xBVmi6snaAwU3zUTjxQ6ugYj6n45x1hqRxv9A" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IBalancerV2WeightedPool.sol": { "keccak256": "0x0e14c80f4a2c01d5528ab7feddf491f8074f84736b7d72d9d7cb3d526e3c447a", "urls": [ "bzz-raw://ed724083136114b979eb7dcc0e95e4ff02f627ab066c9ce20ec3b8807e7d0b98", "dweb:/ipfs/QmeNvftCHn7PNDsLpxGJN8cA9Cq66wV6Z1cgoEQT6ufHUP" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IChainlinkAggregator.sol": { "keccak256": "0x8104db68d4edc00c86b29b366f4397cdbe7bd95bb9dc90f54140af4bae963788", "urls": [ "bzz-raw://4664240be22fe76bd4e84d1cbaace3998dbc96759a14345819a889f0c288d22e", "dweb:/ipfs/QmQ8fbA4tvXeCeaAFeS2JrLEQUPFeYrePAKoUywRtcicgA" ], "license": "GPL-3.0" }, "contracts/release/utils/AddressArrayLib.sol": { "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", "urls": [ "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" ], "license": "GPL-3.0" }, "contracts/release/utils/BalancerV2FixedPoint.sol": { "keccak256": "0x40a268978d537937000928b57e777c6ca010c333d2fd82eae6a7678e8542db50", "urls": [ "bzz-raw://13899c9b4cbab7665e142a20910f97f6dd198e42c5a3ae15589994ebdd8bc630", "dweb:/ipfs/Qmb8yWk7G1EWRoBrDCQ34H4kUDuYLsMDiXCqA6eA5DeZTk" ], "license": "GPL-3.0-or-later" }, "contracts/release/utils/BalancerV2LogExpMath.sol": { "keccak256": "0x5d28ba93befe244b01d66da69ae64eaecc9f0355674664e7b9470a173fad4366", "urls": [ "bzz-raw://97667cba261ff2cc08ffb33ed9cd5a63638fede0819ba1a5f1f8e0cf12d9293c", "dweb:/ipfs/QmUVoLE1mWTEYTjjqKGGH4KAz11eVxJENPzSeyVEHkKso2" ], "license": "MIT" }, "contracts/release/utils/FundDeployerOwnerMixin.sol": { "keccak256": "0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934", "urls": [ "bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927", "dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM" ], "license": "GPL-3.0" }, "contracts/release/utils/MathHelpers.sol": { "keccak256": "0x8aef498ae98bfb40cd1df8c9ed652b4c092fbbe62d5a1fad522c53654523248e", "urls": [ "bzz-raw://ed62789f6a8d5ca30a40c591f244b915e4711493a9e4b1b4d40ea2bc97b02a95", "dweb:/ipfs/QmWyXJ55arURtx9VMkUQokdsjk8tbgM2cC8rENFUMyz5D3" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" } }, "version": 1 }, "id": 239 } diff --git a/eth_defi/abi/enzyme/BeaconProxy.json b/eth_defi/abi/enzyme/BeaconProxy.json index 5bf5ad64..88c1484a 100644 --- a/eth_defi/abi/enzyme/BeaconProxy.json +++ b/eth_defi/abi/enzyme/BeaconProxy.json @@ -1,146 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "bytes", - "name": "_constructData", - "type": "bytes" - }, - { - "internalType": "address", - "name": "_beacon", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "stateMutability": "payable", - "type": "fallback" - }, - { - "stateMutability": "payable", - "type": "receive" - } - ], - "bytecode": { - "object": "0x60a060405234801561001057600080fd5b5060405161037e38038061037e8339818101604052604081101561003357600080fd5b810190808051604051939291908464010000000082111561005357600080fd5b90830190602082018581111561006857600080fd5b825164010000000081118282018810171561008257600080fd5b82525081516020918201929091019080838360005b838110156100af578181015183820152602001610097565b50505050905090810190601f1680156100dc5780820380516001836020036101000a031916815260200191505b506040818152602092830151606081811b6001600160601b0319166080526398a7c4c760e01b845291519095506000945090926001600160a01b038616926398a7c4c79260048083019392829003018186803b15801561013b57600080fd5b505afa15801561014f573d6000803e3d6000fd5b505050506040513d602081101561016557600080fd5b505160405185516001600160a01b0390921691869190819060208401908083835b602083106101a55780518252601f199092019160209182019101610186565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610205576040519150601f19603f3d011682016040523d82523d6000602084013e61020a565b606091505b509150915081819061029a5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561025f578181015183820152602001610247565b50505050905090810190601f16801561028c5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050505060805160601c60c56102b960003980600e525060c56000f3fe608060405236600a57005b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166398a7c4c76040518163ffffffff1660e01b815260040160206040518083038186803b158015606457600080fd5b505afa1580156077573d6000803e3d6000fd5b505050506040513d6020811015608c57600080fd5b505190503660008037600080366000846127105a03f43d806000803e81801560b357816000f35b816000fdfea164736f6c634300060c000a", - "sourceMap": "469:1083:364:-:0;;;535:282;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;535:282:364;;;;;;;;;;-1:-1:-1;535:282:364;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;535:282:364;;;;;;;;;610:16;;;;-1:-1:-1;;610:16:364;;;-1:-1:-1;;;679:34:364;;;;535:282;;-1:-1:-1;638:12:364;;-1:-1:-1;610:16:364;;-1:-1:-1;;;;;610:16:364;;;-1:-1:-1;;679:34:364;;;;;535:282;679:34;;;;;610:16;679:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;679:34:364;:85;;;;-1:-1:-1;;;;;679:47:364;;;;:85;;;;;:34;:85;;;;;;;;;;;;;;;;-1:-1:-1;;679:85:364;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;637:127;;;;782:7;798:10;774:36;;;;;-1:-1:-1;;;774:36:364;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;774:36:364;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;535:282;;;;469:1083;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405236600a57005b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166398a7c4c76040518163ffffffff1660e01b815260040160206040518083038186803b158015606457600080fd5b505afa1580156077573d6000803e3d6000fd5b505050506040513d6020811015608c57600080fd5b505190503660008037600080366000846127105a03f43d806000803e81801560b357816000f35b816000fdfea164736f6c634300060c000a", - "sourceMap": "469:1083:364:-:0;;;;;;;;914:21;946:6;-1:-1:-1;;;;;938:31:364;;:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;938:33:364;;-1:-1:-1;1027:14:364;1022:3;;1004:38;1238:1;1219;1187:14;1166:3;1135:13;1111:5;1104;1100:17;1070:183;1279:16;1329:5;1326:1;1323;1308:27;1355:7;1375:55;;;;1479:5;1476:1;1469:16;1375:55;1410:5;1407:1;1400:16", - "linkReferences": {}, - "immutableReferences": { - "79515": [ - { - "start": 14, - "length": 32 - } - ] - } - }, - "methodIdentifiers": {}, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_constructData\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"_beacon\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"BeaconProxy Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"A proxy contract that uses the beacon pattern for instant upgrades\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/utils/beacon-proxy/BeaconProxy.sol\":\"BeaconProxy\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/utils/beacon-proxy/BeaconProxy.sol\":{\"keccak256\":\"0x7a0a6c511a30434a9b329226b0cf1a05ec426ddbfc4e1d9b9083978ee4cf6d53\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://692d3a116ecf306f20a3d29dc70846099ce46ba281524a502336325a6cd05667\",\"dweb:/ipfs/QmTGxmDWMcMtGEsPLzVB8eyK3WDqaCwoChuc24RXuSzwVb\"]},\"contracts/release/utils/beacon-proxy/IBeacon.sol\":{\"keccak256\":\"0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39\",\"dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "bytes", - "name": "_constructData", - "type": "bytes" - }, - { - "internalType": "address", - "name": "_beacon", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "stateMutability": "payable", - "type": "fallback" - }, - { - "inputs": [], - "stateMutability": "payable", - "type": "receive" - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/utils/beacon-proxy/BeaconProxy.sol": "BeaconProxy" - }, - "libraries": {} - }, - "sources": { - "contracts/release/utils/beacon-proxy/BeaconProxy.sol": { - "keccak256": "0x7a0a6c511a30434a9b329226b0cf1a05ec426ddbfc4e1d9b9083978ee4cf6d53", - "urls": [ - "bzz-raw://692d3a116ecf306f20a3d29dc70846099ce46ba281524a502336325a6cd05667", - "dweb:/ipfs/QmTGxmDWMcMtGEsPLzVB8eyK3WDqaCwoChuc24RXuSzwVb" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/beacon-proxy/IBeacon.sol": { - "keccak256": "0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2", - "urls": [ - "bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39", - "dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 364 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_constructData", "type": "bytes", "internalType": "bytes" }, { "name": "_beacon", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "fallback", "stateMutability": "payable" }, { "type": "receive", "stateMutability": "payable" } ], "bytecode": { "object": "0x60a060405234801561001057600080fd5b5060405161037e38038061037e8339818101604052604081101561003357600080fd5b810190808051604051939291908464010000000082111561005357600080fd5b90830190602082018581111561006857600080fd5b825164010000000081118282018810171561008257600080fd5b82525081516020918201929091019080838360005b838110156100af578181015183820152602001610097565b50505050905090810190601f1680156100dc5780820380516001836020036101000a031916815260200191505b506040818152602092830151606081811b6001600160601b0319166080526398a7c4c760e01b845291519095506000945090926001600160a01b038616926398a7c4c79260048083019392829003018186803b15801561013b57600080fd5b505afa15801561014f573d6000803e3d6000fd5b505050506040513d602081101561016557600080fd5b505160405185516001600160a01b0390921691869190819060208401908083835b602083106101a55780518252601f199092019160209182019101610186565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610205576040519150601f19603f3d011682016040523d82523d6000602084013e61020a565b606091505b509150915081819061029a5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561025f578181015183820152602001610247565b50505050905090810190601f16801561028c5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050505060805160601c60c56102b960003980600e525060c56000f3fe608060405236600a57005b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166398a7c4c76040518163ffffffff1660e01b815260040160206040518083038186803b158015606457600080fd5b505afa1580156077573d6000803e3d6000fd5b505050506040513d6020811015608c57600080fd5b505190503660008037600080366000846127105a03f43d806000803e81801560b357816000f35b816000fdfea164736f6c634300060c000a", "sourceMap": "469:1083:364:-:0;;;535:282;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;535:282:364;;;;;;;;;;-1:-1:-1;535:282:364;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;535:282:364;;;;;;;;;610:16;;;;-1:-1:-1;;610:16:364;;;-1:-1:-1;;;679:34:364;;;;535:282;;-1:-1:-1;638:12:364;;-1:-1:-1;610:16:364;;-1:-1:-1;;;;;610:16:364;;;-1:-1:-1;;679:34:364;;;;;535:282;679:34;;;;;610:16;679:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;679:34:364;:85;;;;-1:-1:-1;;;;;679:47:364;;;;:85;;;;;:34;:85;;;;;;;;;;;;;;;;-1:-1:-1;;679:85:364;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;637:127;;;;782:7;798:10;774:36;;;;;-1:-1:-1;;;774:36:364;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;774:36:364;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;535:282;;;;469:1083;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405236600a57005b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166398a7c4c76040518163ffffffff1660e01b815260040160206040518083038186803b158015606457600080fd5b505afa1580156077573d6000803e3d6000fd5b505050506040513d6020811015608c57600080fd5b505190503660008037600080366000846127105a03f43d806000803e81801560b357816000f35b816000fdfea164736f6c634300060c000a", "sourceMap": "469:1083:364:-:0;;;;;;;;914:21;946:6;-1:-1:-1;;;;;938:31:364;;:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;938:33:364;;-1:-1:-1;1027:14:364;1022:3;;1004:38;1238:1;1219;1187:14;1166:3;1135:13;1111:5;1104;1100:17;1070:183;1279:16;1329:5;1326:1;1323;1308:27;1355:7;1375:55;;;;1479:5;1476:1;1469:16;1375:55;1410:5;1407:1;1400:16", "linkReferences": {}, "immutableReferences": { "79515": [ { "start": 14, "length": 32 } ] } }, "methodIdentifiers": {}, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_constructData\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"_beacon\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"BeaconProxy Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"A proxy contract that uses the beacon pattern for instant upgrades\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/utils/beacon-proxy/BeaconProxy.sol\":\"BeaconProxy\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/utils/beacon-proxy/BeaconProxy.sol\":{\"keccak256\":\"0x7a0a6c511a30434a9b329226b0cf1a05ec426ddbfc4e1d9b9083978ee4cf6d53\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://692d3a116ecf306f20a3d29dc70846099ce46ba281524a502336325a6cd05667\",\"dweb:/ipfs/QmTGxmDWMcMtGEsPLzVB8eyK3WDqaCwoChuc24RXuSzwVb\"]},\"contracts/release/utils/beacon-proxy/IBeacon.sol\":{\"keccak256\":\"0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39\",\"dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "bytes", "name": "_constructData", "type": "bytes" }, { "internalType": "address", "name": "_beacon", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "stateMutability": "payable", "type": "fallback" }, { "inputs": [], "stateMutability": "payable", "type": "receive" } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/utils/beacon-proxy/BeaconProxy.sol": "BeaconProxy" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/utils/beacon-proxy/BeaconProxy.sol": { "keccak256": "0x7a0a6c511a30434a9b329226b0cf1a05ec426ddbfc4e1d9b9083978ee4cf6d53", "urls": [ "bzz-raw://692d3a116ecf306f20a3d29dc70846099ce46ba281524a502336325a6cd05667", "dweb:/ipfs/QmTGxmDWMcMtGEsPLzVB8eyK3WDqaCwoChuc24RXuSzwVb" ], "license": "GPL-3.0" }, "contracts/release/utils/beacon-proxy/IBeacon.sol": { "keccak256": "0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2", "urls": [ "bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39", "dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 364 } diff --git a/eth_defi/abi/enzyme/BeaconProxyFactory.json b/eth_defi/abi/enzyme/BeaconProxyFactory.json index fa67e6dc..a247ed8e 100644 --- a/eth_defi/abi/enzyme/BeaconProxyFactory.json +++ b/eth_defi/abi/enzyme/BeaconProxyFactory.json @@ -1,359 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_canonicalLib", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "nextCanonicalLib", - "type": "address" - } - ], - "name": "CanonicalLibSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "caller", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "proxy", - "type": "address" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "constructData", - "type": "bytes" - } - ], - "name": "ProxyDeployed", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "_constructData", - "type": "bytes" - } - ], - "name": "deployProxy", - "outputs": [ - { - "internalType": "address", - "name": "proxy_", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getCanonicalLib", - "outputs": [ - { - "internalType": "address", - "name": "canonicalLib_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "owner_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_nextCanonicalLib", - "type": "address" - } - ], - "name": "setCanonicalLib", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "deployProxy(bytes)": "0c0872f5", - "getCanonicalLib()": "98a7c4c7", - "getOwner()": "893d20e8", - "setCanonicalLib(address)": "d0ac1a8d" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_canonicalLib\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"nextCanonicalLib\",\"type\":\"address\"}],\"name\":\"CanonicalLibSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"proxy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"constructData\",\"type\":\"bytes\"}],\"name\":\"ProxyDeployed\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_constructData\",\"type\":\"bytes\"}],\"name\":\"deployProxy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"proxy_\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCanonicalLib\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"canonicalLib_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nextCanonicalLib\",\"type\":\"address\"}],\"name\":\"setCanonicalLib\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"deployProxy(bytes)\":{\"params\":{\"_constructData\":\"The constructor data with which to call `init()` on the deployed proxy\"},\"returns\":{\"proxy_\":\"The proxy address\"}},\"getCanonicalLib()\":{\"returns\":{\"canonicalLib_\":\"The canonical lib\"}},\"getOwner()\":{\"returns\":{\"owner_\":\"The contract owner\"}},\"setCanonicalLib(address)\":{\"params\":{\"_nextCanonicalLib\":\"The next canonical lib\"}}},\"title\":\"BeaconProxyFactory Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"deployProxy(bytes)\":{\"notice\":\"Deploys a new proxy instance\"},\"getCanonicalLib()\":{\"notice\":\"Gets the canonical lib used by all proxies\"},\"getOwner()\":{\"notice\":\"Gets the contract owner\"},\"setCanonicalLib(address)\":{\"notice\":\"Sets the next canonical lib used by all proxies\"}},\"notice\":\"Factory contract that deploys beacon proxies\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/utils/beacon-proxy/BeaconProxyFactory.sol\":\"BeaconProxyFactory\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/utils/beacon-proxy/BeaconProxy.sol\":{\"keccak256\":\"0x7a0a6c511a30434a9b329226b0cf1a05ec426ddbfc4e1d9b9083978ee4cf6d53\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://692d3a116ecf306f20a3d29dc70846099ce46ba281524a502336325a6cd05667\",\"dweb:/ipfs/QmTGxmDWMcMtGEsPLzVB8eyK3WDqaCwoChuc24RXuSzwVb\"]},\"contracts/release/utils/beacon-proxy/BeaconProxyFactory.sol\":{\"keccak256\":\"0xd35fa5134e3a8694ed1dbbc8dcd4b4d5b459608c23097a95984e1b98af3e64d9\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1c008f83ac64b316479406cbf0287593a810d453825a2f669b5810c51429f9fc\",\"dweb:/ipfs/QmNtdtcWGZFpnb3LsshwV5BiM5H1Vz8SGpoqMchUyfuhQx\"]},\"contracts/release/utils/beacon-proxy/IBeacon.sol\":{\"keccak256\":\"0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39\",\"dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V\"]},\"contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol\":{\"keccak256\":\"0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be\",\"dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_canonicalLib", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "nextCanonicalLib", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "CanonicalLibSet", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "caller", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "proxy", - "type": "address", - "indexed": false - }, - { - "internalType": "bytes", - "name": "constructData", - "type": "bytes", - "indexed": false - } - ], - "type": "event", - "name": "ProxyDeployed", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "_constructData", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "deployProxy", - "outputs": [ - { - "internalType": "address", - "name": "proxy_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getCanonicalLib", - "outputs": [ - { - "internalType": "address", - "name": "canonicalLib_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "owner_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_nextCanonicalLib", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setCanonicalLib" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "deployProxy(bytes)": { - "params": { - "_constructData": "The constructor data with which to call `init()` on the deployed proxy" - }, - "returns": { - "proxy_": "The proxy address" - } - }, - "getCanonicalLib()": { - "returns": { - "canonicalLib_": "The canonical lib" - } - }, - "getOwner()": { - "returns": { - "owner_": "The contract owner" - } - }, - "setCanonicalLib(address)": { - "params": { - "_nextCanonicalLib": "The next canonical lib" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "deployProxy(bytes)": { - "notice": "Deploys a new proxy instance" - }, - "getCanonicalLib()": { - "notice": "Gets the canonical lib used by all proxies" - }, - "getOwner()": { - "notice": "Gets the contract owner" - }, - "setCanonicalLib(address)": { - "notice": "Sets the next canonical lib used by all proxies" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/utils/beacon-proxy/BeaconProxyFactory.sol": "BeaconProxyFactory" - }, - "libraries": {} - }, - "sources": { - "contracts/release/utils/beacon-proxy/BeaconProxy.sol": { - "keccak256": "0x7a0a6c511a30434a9b329226b0cf1a05ec426ddbfc4e1d9b9083978ee4cf6d53", - "urls": [ - "bzz-raw://692d3a116ecf306f20a3d29dc70846099ce46ba281524a502336325a6cd05667", - "dweb:/ipfs/QmTGxmDWMcMtGEsPLzVB8eyK3WDqaCwoChuc24RXuSzwVb" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/beacon-proxy/BeaconProxyFactory.sol": { - "keccak256": "0xd35fa5134e3a8694ed1dbbc8dcd4b4d5b459608c23097a95984e1b98af3e64d9", - "urls": [ - "bzz-raw://1c008f83ac64b316479406cbf0287593a810d453825a2f669b5810c51429f9fc", - "dweb:/ipfs/QmNtdtcWGZFpnb3LsshwV5BiM5H1Vz8SGpoqMchUyfuhQx" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/beacon-proxy/IBeacon.sol": { - "keccak256": "0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2", - "urls": [ - "bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39", - "dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol": { - "keccak256": "0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc", - "urls": [ - "bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be", - "dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 365 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_canonicalLib", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "deployProxy", "inputs": [ { "name": "_constructData", "type": "bytes", "internalType": "bytes" } ], "outputs": [ { "name": "proxy_", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "getCanonicalLib", "inputs": [], "outputs": [ { "name": "canonicalLib_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getOwner", "inputs": [], "outputs": [ { "name": "owner_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "setCanonicalLib", "inputs": [ { "name": "_nextCanonicalLib", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "event", "name": "CanonicalLibSet", "inputs": [ { "name": "nextCanonicalLib", "type": "address", "indexed": false, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "ProxyDeployed", "inputs": [ { "name": "caller", "type": "address", "indexed": true, "internalType": "address" }, { "name": "proxy", "type": "address", "indexed": false, "internalType": "address" }, { "name": "constructData", "type": "bytes", "indexed": false, "internalType": "bytes" } ], "anonymous": false } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "deployProxy(bytes)": "0c0872f5", "getCanonicalLib()": "98a7c4c7", "getOwner()": "893d20e8", "setCanonicalLib(address)": "d0ac1a8d" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_canonicalLib\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"nextCanonicalLib\",\"type\":\"address\"}],\"name\":\"CanonicalLibSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"proxy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"constructData\",\"type\":\"bytes\"}],\"name\":\"ProxyDeployed\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_constructData\",\"type\":\"bytes\"}],\"name\":\"deployProxy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"proxy_\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCanonicalLib\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"canonicalLib_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nextCanonicalLib\",\"type\":\"address\"}],\"name\":\"setCanonicalLib\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"deployProxy(bytes)\":{\"params\":{\"_constructData\":\"The constructor data with which to call `init()` on the deployed proxy\"},\"returns\":{\"proxy_\":\"The proxy address\"}},\"getCanonicalLib()\":{\"returns\":{\"canonicalLib_\":\"The canonical lib\"}},\"getOwner()\":{\"returns\":{\"owner_\":\"The contract owner\"}},\"setCanonicalLib(address)\":{\"params\":{\"_nextCanonicalLib\":\"The next canonical lib\"}}},\"title\":\"BeaconProxyFactory Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"deployProxy(bytes)\":{\"notice\":\"Deploys a new proxy instance\"},\"getCanonicalLib()\":{\"notice\":\"Gets the canonical lib used by all proxies\"},\"getOwner()\":{\"notice\":\"Gets the contract owner\"},\"setCanonicalLib(address)\":{\"notice\":\"Sets the next canonical lib used by all proxies\"}},\"notice\":\"Factory contract that deploys beacon proxies\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/utils/beacon-proxy/BeaconProxyFactory.sol\":\"BeaconProxyFactory\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/utils/beacon-proxy/BeaconProxy.sol\":{\"keccak256\":\"0x7a0a6c511a30434a9b329226b0cf1a05ec426ddbfc4e1d9b9083978ee4cf6d53\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://692d3a116ecf306f20a3d29dc70846099ce46ba281524a502336325a6cd05667\",\"dweb:/ipfs/QmTGxmDWMcMtGEsPLzVB8eyK3WDqaCwoChuc24RXuSzwVb\"]},\"contracts/release/utils/beacon-proxy/BeaconProxyFactory.sol\":{\"keccak256\":\"0xd35fa5134e3a8694ed1dbbc8dcd4b4d5b459608c23097a95984e1b98af3e64d9\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1c008f83ac64b316479406cbf0287593a810d453825a2f669b5810c51429f9fc\",\"dweb:/ipfs/QmNtdtcWGZFpnb3LsshwV5BiM5H1Vz8SGpoqMchUyfuhQx\"]},\"contracts/release/utils/beacon-proxy/IBeacon.sol\":{\"keccak256\":\"0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39\",\"dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V\"]},\"contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol\":{\"keccak256\":\"0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be\",\"dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_canonicalLib", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "nextCanonicalLib", "type": "address", "indexed": false } ], "type": "event", "name": "CanonicalLibSet", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "caller", "type": "address", "indexed": true }, { "internalType": "address", "name": "proxy", "type": "address", "indexed": false }, { "internalType": "bytes", "name": "constructData", "type": "bytes", "indexed": false } ], "type": "event", "name": "ProxyDeployed", "anonymous": false }, { "inputs": [ { "internalType": "bytes", "name": "_constructData", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "deployProxy", "outputs": [ { "internalType": "address", "name": "proxy_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getCanonicalLib", "outputs": [ { "internalType": "address", "name": "canonicalLib_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getOwner", "outputs": [ { "internalType": "address", "name": "owner_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_nextCanonicalLib", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "setCanonicalLib" } ], "devdoc": { "kind": "dev", "methods": { "deployProxy(bytes)": { "params": { "_constructData": "The constructor data with which to call `init()` on the deployed proxy" }, "returns": { "proxy_": "The proxy address" } }, "getCanonicalLib()": { "returns": { "canonicalLib_": "The canonical lib" } }, "getOwner()": { "returns": { "owner_": "The contract owner" } }, "setCanonicalLib(address)": { "params": { "_nextCanonicalLib": "The next canonical lib" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "deployProxy(bytes)": { "notice": "Deploys a new proxy instance" }, "getCanonicalLib()": { "notice": "Gets the canonical lib used by all proxies" }, "getOwner()": { "notice": "Gets the contract owner" }, "setCanonicalLib(address)": { "notice": "Sets the next canonical lib used by all proxies" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/utils/beacon-proxy/BeaconProxyFactory.sol": "BeaconProxyFactory" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/utils/beacon-proxy/BeaconProxy.sol": { "keccak256": "0x7a0a6c511a30434a9b329226b0cf1a05ec426ddbfc4e1d9b9083978ee4cf6d53", "urls": [ "bzz-raw://692d3a116ecf306f20a3d29dc70846099ce46ba281524a502336325a6cd05667", "dweb:/ipfs/QmTGxmDWMcMtGEsPLzVB8eyK3WDqaCwoChuc24RXuSzwVb" ], "license": "GPL-3.0" }, "contracts/release/utils/beacon-proxy/BeaconProxyFactory.sol": { "keccak256": "0xd35fa5134e3a8694ed1dbbc8dcd4b4d5b459608c23097a95984e1b98af3e64d9", "urls": [ "bzz-raw://1c008f83ac64b316479406cbf0287593a810d453825a2f669b5810c51429f9fc", "dweb:/ipfs/QmNtdtcWGZFpnb3LsshwV5BiM5H1Vz8SGpoqMchUyfuhQx" ], "license": "GPL-3.0" }, "contracts/release/utils/beacon-proxy/IBeacon.sol": { "keccak256": "0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2", "urls": [ "bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39", "dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V" ], "license": "GPL-3.0" }, "contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol": { "keccak256": "0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc", "urls": [ "bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be", "dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 365 } diff --git a/eth_defi/abi/enzyme/ChainlinkPriceFeedMixin.json b/eth_defi/abi/enzyme/ChainlinkPriceFeedMixin.json index 185493d5..9b40c424 100644 --- a/eth_defi/abi/enzyme/ChainlinkPriceFeedMixin.json +++ b/eth_defi/abi/enzyme/ChainlinkPriceFeedMixin.json @@ -1,531 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_wethToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_staleRateThreshold", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "prevEthUsdAggregator", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "nextEthUsdAggregator", - "type": "address" - } - ], - "name": "EthUsdAggregatorSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "primitive", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "aggregator", - "type": "address" - }, - { - "indexed": false, - "internalType": "enum ChainlinkPriceFeedMixin.RateAsset", - "name": "rateAsset", - "type": "uint8" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "unit", - "type": "uint256" - } - ], - "name": "PrimitiveAdded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "primitive", - "type": "address" - } - ], - "name": "PrimitiveRemoved", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_primitive", - "type": "address" - } - ], - "name": "getAggregatorForPrimitive", - "outputs": [ - { - "internalType": "address", - "name": "aggregator_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getEthUsdAggregator", - "outputs": [ - { - "internalType": "address", - "name": "ethUsdAggregator_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_primitive", - "type": "address" - } - ], - "name": "getRateAssetForPrimitive", - "outputs": [ - { - "internalType": "enum ChainlinkPriceFeedMixin.RateAsset", - "name": "rateAsset_", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getStaleRateThreshold", - "outputs": [ - { - "internalType": "uint256", - "name": "staleRateThreshold_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_primitive", - "type": "address" - } - ], - "name": "getUnitForPrimitive", - "outputs": [ - { - "internalType": "uint256", - "name": "unit_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getWethToken", - "outputs": [ - { - "internalType": "address", - "name": "wethToken_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "getAggregatorForPrimitive(address)": "e2dd0978", - "getEthUsdAggregator()": "74626f87", - "getRateAssetForPrimitive(address)": "e35e318e", - "getStaleRateThreshold()": "b54fbdaa", - "getUnitForPrimitive(address)": "787f2568", - "getWethToken()": "4c252f91" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_wethToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_staleRateThreshold\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"prevEthUsdAggregator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"nextEthUsdAggregator\",\"type\":\"address\"}],\"name\":\"EthUsdAggregatorSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"primitive\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"aggregator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"enum ChainlinkPriceFeedMixin.RateAsset\",\"name\":\"rateAsset\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"unit\",\"type\":\"uint256\"}],\"name\":\"PrimitiveAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"primitive\",\"type\":\"address\"}],\"name\":\"PrimitiveRemoved\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_primitive\",\"type\":\"address\"}],\"name\":\"getAggregatorForPrimitive\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"aggregator_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getEthUsdAggregator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"ethUsdAggregator_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_primitive\",\"type\":\"address\"}],\"name\":\"getRateAssetForPrimitive\",\"outputs\":[{\"internalType\":\"enum ChainlinkPriceFeedMixin.RateAsset\",\"name\":\"rateAsset_\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getStaleRateThreshold\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"staleRateThreshold_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_primitive\",\"type\":\"address\"}],\"name\":\"getUnitForPrimitive\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"unit_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getWethToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"wethToken_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"getAggregatorForPrimitive(address)\":{\"params\":{\"_primitive\":\"The primitive asset for which to get the aggregator value\"},\"returns\":{\"aggregator_\":\"The aggregator address\"}},\"getEthUsdAggregator()\":{\"returns\":{\"ethUsdAggregator_\":\"The `ethUsdAggregator` variable value\"}},\"getRateAssetForPrimitive(address)\":{\"details\":\"This isn't strictly necessary as WETH_TOKEN will be undefined and thus the RateAsset will be the 0-position of the enum (i.e. ETH), but it makes the behavior more explicit\",\"returns\":{\"rateAsset_\":\"The rateAsset variable value\"}},\"getStaleRateThreshold()\":{\"returns\":{\"staleRateThreshold_\":\"The `STALE_RATE_THRESHOLD` value\"}},\"getUnitForPrimitive(address)\":{\"returns\":{\"unit_\":\"The unit variable value\"}},\"getWethToken()\":{\"returns\":{\"wethToken_\":\"The `WETH_TOKEN` variable value\"}}},\"title\":\"ChainlinkPriceFeedMixin Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getAggregatorForPrimitive(address)\":{\"notice\":\"Gets the aggregator for a primitive\"},\"getEthUsdAggregator()\":{\"notice\":\"Gets the `ethUsdAggregator` variable value\"},\"getRateAssetForPrimitive(address)\":{\"notice\":\"Gets the rateAsset variable value for a primitive\"},\"getStaleRateThreshold()\":{\"notice\":\"Gets the `STALE_RATE_THRESHOLD` variable value\"},\"getUnitForPrimitive(address)\":{\"notice\":\"Gets the unit variable value for a primitive\"},\"getWethToken()\":{\"notice\":\"Gets the `WETH_TOKEN` variable value\"}},\"notice\":\"A price feed that uses Chainlink oracles as price sources\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/infrastructure/price-feeds/primitives/ChainlinkPriceFeedMixin.sol\":\"ChainlinkPriceFeedMixin\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/infrastructure/price-feeds/primitives/ChainlinkPriceFeedMixin.sol\":{\"keccak256\":\"0x7fb0078e7387f07ff09958fe4e4e7b317e72c23884f61e8c133776cad522f8bb\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://e973f29ed0c3bf03e20154ab4b0cfc68c3a4372a52ec746f9d9f86697b30e977\",\"dweb:/ipfs/QmfMb7H1zNnj2hzmUr6742HmCTiNVuQ2PFjeR8q2M4Liyu\"]},\"contracts/release/interfaces/IChainlinkAggregator.sol\":{\"keccak256\":\"0x8104db68d4edc00c86b29b366f4397cdbe7bd95bb9dc90f54140af4bae963788\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://4664240be22fe76bd4e84d1cbaace3998dbc96759a14345819a889f0c288d22e\",\"dweb:/ipfs/QmQ8fbA4tvXeCeaAFeS2JrLEQUPFeYrePAKoUywRtcicgA\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_wethToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_staleRateThreshold", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "prevEthUsdAggregator", - "type": "address", - "indexed": false - }, - { - "internalType": "address", - "name": "nextEthUsdAggregator", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "EthUsdAggregatorSet", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "primitive", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "aggregator", - "type": "address", - "indexed": false - }, - { - "internalType": "enum ChainlinkPriceFeedMixin.RateAsset", - "name": "rateAsset", - "type": "uint8", - "indexed": false - }, - { - "internalType": "uint256", - "name": "unit", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "PrimitiveAdded", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "primitive", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "PrimitiveRemoved", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_primitive", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getAggregatorForPrimitive", - "outputs": [ - { - "internalType": "address", - "name": "aggregator_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getEthUsdAggregator", - "outputs": [ - { - "internalType": "address", - "name": "ethUsdAggregator_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_primitive", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getRateAssetForPrimitive", - "outputs": [ - { - "internalType": "enum ChainlinkPriceFeedMixin.RateAsset", - "name": "rateAsset_", - "type": "uint8" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getStaleRateThreshold", - "outputs": [ - { - "internalType": "uint256", - "name": "staleRateThreshold_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_primitive", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getUnitForPrimitive", - "outputs": [ - { - "internalType": "uint256", - "name": "unit_", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getWethToken", - "outputs": [ - { - "internalType": "address", - "name": "wethToken_", - "type": "address" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "getAggregatorForPrimitive(address)": { - "params": { - "_primitive": "The primitive asset for which to get the aggregator value" - }, - "returns": { - "aggregator_": "The aggregator address" - } - }, - "getEthUsdAggregator()": { - "returns": { - "ethUsdAggregator_": "The `ethUsdAggregator` variable value" - } - }, - "getRateAssetForPrimitive(address)": { - "details": "This isn't strictly necessary as WETH_TOKEN will be undefined and thus the RateAsset will be the 0-position of the enum (i.e. ETH), but it makes the behavior more explicit", - "returns": { - "rateAsset_": "The rateAsset variable value" - } - }, - "getStaleRateThreshold()": { - "returns": { - "staleRateThreshold_": "The `STALE_RATE_THRESHOLD` value" - } - }, - "getUnitForPrimitive(address)": { - "returns": { - "unit_": "The unit variable value" - } - }, - "getWethToken()": { - "returns": { - "wethToken_": "The `WETH_TOKEN` variable value" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "getAggregatorForPrimitive(address)": { - "notice": "Gets the aggregator for a primitive" - }, - "getEthUsdAggregator()": { - "notice": "Gets the `ethUsdAggregator` variable value" - }, - "getRateAssetForPrimitive(address)": { - "notice": "Gets the rateAsset variable value for a primitive" - }, - "getStaleRateThreshold()": { - "notice": "Gets the `STALE_RATE_THRESHOLD` variable value" - }, - "getUnitForPrimitive(address)": { - "notice": "Gets the unit variable value for a primitive" - }, - "getWethToken()": { - "notice": "Gets the `WETH_TOKEN` variable value" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/infrastructure/price-feeds/primitives/ChainlinkPriceFeedMixin.sol": "ChainlinkPriceFeedMixin" - }, - "libraries": {} - }, - "sources": { - "contracts/release/infrastructure/price-feeds/primitives/ChainlinkPriceFeedMixin.sol": { - "keccak256": "0x7fb0078e7387f07ff09958fe4e4e7b317e72c23884f61e8c133776cad522f8bb", - "urls": [ - "bzz-raw://e973f29ed0c3bf03e20154ab4b0cfc68c3a4372a52ec746f9d9f86697b30e977", - "dweb:/ipfs/QmfMb7H1zNnj2hzmUr6742HmCTiNVuQ2PFjeR8q2M4Liyu" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IChainlinkAggregator.sol": { - "keccak256": "0x8104db68d4edc00c86b29b366f4397cdbe7bd95bb9dc90f54140af4bae963788", - "urls": [ - "bzz-raw://4664240be22fe76bd4e84d1cbaace3998dbc96759a14345819a889f0c288d22e", - "dweb:/ipfs/QmQ8fbA4tvXeCeaAFeS2JrLEQUPFeYrePAKoUywRtcicgA" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 253 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_wethToken", "type": "address", "internalType": "address" }, { "name": "_staleRateThreshold", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "getAggregatorForPrimitive", "inputs": [ { "name": "_primitive", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "aggregator_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getEthUsdAggregator", "inputs": [], "outputs": [ { "name": "ethUsdAggregator_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getRateAssetForPrimitive", "inputs": [ { "name": "_primitive", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "rateAsset_", "type": "uint8", "internalType": "enum ChainlinkPriceFeedMixin.RateAsset" } ], "stateMutability": "view" }, { "type": "function", "name": "getStaleRateThreshold", "inputs": [], "outputs": [ { "name": "staleRateThreshold_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "getUnitForPrimitive", "inputs": [ { "name": "_primitive", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "unit_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "getWethToken", "inputs": [], "outputs": [ { "name": "wethToken_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "event", "name": "EthUsdAggregatorSet", "inputs": [ { "name": "prevEthUsdAggregator", "type": "address", "indexed": false, "internalType": "address" }, { "name": "nextEthUsdAggregator", "type": "address", "indexed": false, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "PrimitiveAdded", "inputs": [ { "name": "primitive", "type": "address", "indexed": true, "internalType": "address" }, { "name": "aggregator", "type": "address", "indexed": false, "internalType": "address" }, { "name": "rateAsset", "type": "uint8", "indexed": false, "internalType": "enum ChainlinkPriceFeedMixin.RateAsset" }, { "name": "unit", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "PrimitiveRemoved", "inputs": [ { "name": "primitive", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "getAggregatorForPrimitive(address)": "e2dd0978", "getEthUsdAggregator()": "74626f87", "getRateAssetForPrimitive(address)": "e35e318e", "getStaleRateThreshold()": "b54fbdaa", "getUnitForPrimitive(address)": "787f2568", "getWethToken()": "4c252f91" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_wethToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_staleRateThreshold\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"prevEthUsdAggregator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"nextEthUsdAggregator\",\"type\":\"address\"}],\"name\":\"EthUsdAggregatorSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"primitive\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"aggregator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"enum ChainlinkPriceFeedMixin.RateAsset\",\"name\":\"rateAsset\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"unit\",\"type\":\"uint256\"}],\"name\":\"PrimitiveAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"primitive\",\"type\":\"address\"}],\"name\":\"PrimitiveRemoved\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_primitive\",\"type\":\"address\"}],\"name\":\"getAggregatorForPrimitive\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"aggregator_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getEthUsdAggregator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"ethUsdAggregator_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_primitive\",\"type\":\"address\"}],\"name\":\"getRateAssetForPrimitive\",\"outputs\":[{\"internalType\":\"enum ChainlinkPriceFeedMixin.RateAsset\",\"name\":\"rateAsset_\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getStaleRateThreshold\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"staleRateThreshold_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_primitive\",\"type\":\"address\"}],\"name\":\"getUnitForPrimitive\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"unit_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getWethToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"wethToken_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"getAggregatorForPrimitive(address)\":{\"params\":{\"_primitive\":\"The primitive asset for which to get the aggregator value\"},\"returns\":{\"aggregator_\":\"The aggregator address\"}},\"getEthUsdAggregator()\":{\"returns\":{\"ethUsdAggregator_\":\"The `ethUsdAggregator` variable value\"}},\"getRateAssetForPrimitive(address)\":{\"details\":\"This isn't strictly necessary as WETH_TOKEN will be undefined and thus the RateAsset will be the 0-position of the enum (i.e. ETH), but it makes the behavior more explicit\",\"returns\":{\"rateAsset_\":\"The rateAsset variable value\"}},\"getStaleRateThreshold()\":{\"returns\":{\"staleRateThreshold_\":\"The `STALE_RATE_THRESHOLD` value\"}},\"getUnitForPrimitive(address)\":{\"returns\":{\"unit_\":\"The unit variable value\"}},\"getWethToken()\":{\"returns\":{\"wethToken_\":\"The `WETH_TOKEN` variable value\"}}},\"title\":\"ChainlinkPriceFeedMixin Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getAggregatorForPrimitive(address)\":{\"notice\":\"Gets the aggregator for a primitive\"},\"getEthUsdAggregator()\":{\"notice\":\"Gets the `ethUsdAggregator` variable value\"},\"getRateAssetForPrimitive(address)\":{\"notice\":\"Gets the rateAsset variable value for a primitive\"},\"getStaleRateThreshold()\":{\"notice\":\"Gets the `STALE_RATE_THRESHOLD` variable value\"},\"getUnitForPrimitive(address)\":{\"notice\":\"Gets the unit variable value for a primitive\"},\"getWethToken()\":{\"notice\":\"Gets the `WETH_TOKEN` variable value\"}},\"notice\":\"A price feed that uses Chainlink oracles as price sources\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/infrastructure/price-feeds/primitives/ChainlinkPriceFeedMixin.sol\":\"ChainlinkPriceFeedMixin\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/infrastructure/price-feeds/primitives/ChainlinkPriceFeedMixin.sol\":{\"keccak256\":\"0x7fb0078e7387f07ff09958fe4e4e7b317e72c23884f61e8c133776cad522f8bb\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://e973f29ed0c3bf03e20154ab4b0cfc68c3a4372a52ec746f9d9f86697b30e977\",\"dweb:/ipfs/QmfMb7H1zNnj2hzmUr6742HmCTiNVuQ2PFjeR8q2M4Liyu\"]},\"contracts/release/interfaces/IChainlinkAggregator.sol\":{\"keccak256\":\"0x8104db68d4edc00c86b29b366f4397cdbe7bd95bb9dc90f54140af4bae963788\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://4664240be22fe76bd4e84d1cbaace3998dbc96759a14345819a889f0c288d22e\",\"dweb:/ipfs/QmQ8fbA4tvXeCeaAFeS2JrLEQUPFeYrePAKoUywRtcicgA\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_wethToken", "type": "address" }, { "internalType": "uint256", "name": "_staleRateThreshold", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "prevEthUsdAggregator", "type": "address", "indexed": false }, { "internalType": "address", "name": "nextEthUsdAggregator", "type": "address", "indexed": false } ], "type": "event", "name": "EthUsdAggregatorSet", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "primitive", "type": "address", "indexed": true }, { "internalType": "address", "name": "aggregator", "type": "address", "indexed": false }, { "internalType": "enum ChainlinkPriceFeedMixin.RateAsset", "name": "rateAsset", "type": "uint8", "indexed": false }, { "internalType": "uint256", "name": "unit", "type": "uint256", "indexed": false } ], "type": "event", "name": "PrimitiveAdded", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "primitive", "type": "address", "indexed": true } ], "type": "event", "name": "PrimitiveRemoved", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "_primitive", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getAggregatorForPrimitive", "outputs": [ { "internalType": "address", "name": "aggregator_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getEthUsdAggregator", "outputs": [ { "internalType": "address", "name": "ethUsdAggregator_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_primitive", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getRateAssetForPrimitive", "outputs": [ { "internalType": "enum ChainlinkPriceFeedMixin.RateAsset", "name": "rateAsset_", "type": "uint8" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getStaleRateThreshold", "outputs": [ { "internalType": "uint256", "name": "staleRateThreshold_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "_primitive", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getUnitForPrimitive", "outputs": [ { "internalType": "uint256", "name": "unit_", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getWethToken", "outputs": [ { "internalType": "address", "name": "wethToken_", "type": "address" } ] } ], "devdoc": { "kind": "dev", "methods": { "getAggregatorForPrimitive(address)": { "params": { "_primitive": "The primitive asset for which to get the aggregator value" }, "returns": { "aggregator_": "The aggregator address" } }, "getEthUsdAggregator()": { "returns": { "ethUsdAggregator_": "The `ethUsdAggregator` variable value" } }, "getRateAssetForPrimitive(address)": { "details": "This isn't strictly necessary as WETH_TOKEN will be undefined and thus the RateAsset will be the 0-position of the enum (i.e. ETH), but it makes the behavior more explicit", "returns": { "rateAsset_": "The rateAsset variable value" } }, "getStaleRateThreshold()": { "returns": { "staleRateThreshold_": "The `STALE_RATE_THRESHOLD` value" } }, "getUnitForPrimitive(address)": { "returns": { "unit_": "The unit variable value" } }, "getWethToken()": { "returns": { "wethToken_": "The `WETH_TOKEN` variable value" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "getAggregatorForPrimitive(address)": { "notice": "Gets the aggregator for a primitive" }, "getEthUsdAggregator()": { "notice": "Gets the `ethUsdAggregator` variable value" }, "getRateAssetForPrimitive(address)": { "notice": "Gets the rateAsset variable value for a primitive" }, "getStaleRateThreshold()": { "notice": "Gets the `STALE_RATE_THRESHOLD` variable value" }, "getUnitForPrimitive(address)": { "notice": "Gets the unit variable value for a primitive" }, "getWethToken()": { "notice": "Gets the `WETH_TOKEN` variable value" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/infrastructure/price-feeds/primitives/ChainlinkPriceFeedMixin.sol": "ChainlinkPriceFeedMixin" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/infrastructure/price-feeds/primitives/ChainlinkPriceFeedMixin.sol": { "keccak256": "0x7fb0078e7387f07ff09958fe4e4e7b317e72c23884f61e8c133776cad522f8bb", "urls": [ "bzz-raw://e973f29ed0c3bf03e20154ab4b0cfc68c3a4372a52ec746f9d9f86697b30e977", "dweb:/ipfs/QmfMb7H1zNnj2hzmUr6742HmCTiNVuQ2PFjeR8q2M4Liyu" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IChainlinkAggregator.sol": { "keccak256": "0x8104db68d4edc00c86b29b366f4397cdbe7bd95bb9dc90f54140af4bae963788", "urls": [ "bzz-raw://4664240be22fe76bd4e84d1cbaace3998dbc96759a14345819a889f0c288d22e", "dweb:/ipfs/QmQ8fbA4tvXeCeaAFeS2JrLEQUPFeYrePAKoUywRtcicgA" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" } }, "version": 1 }, "id": 253 } diff --git a/eth_defi/abi/enzyme/ClaimOwnershipTest.json b/eth_defi/abi/enzyme/ClaimOwnershipTest.json index 07bc6138..7468b890 100644 --- a/eth_defi/abi/enzyme/ClaimOwnershipTest.json +++ b/eth_defi/abi/enzyme/ClaimOwnershipTest.json @@ -1,1164 +1 @@ -{ - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "prevOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "nextOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "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_SCRIPT", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "IS_TEST", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "_name", - "type": "string" - } - ], - "name": "addr", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "failed", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "setUp", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "testAnonCannotClaimOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "testHappyPath", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "vm", - "outputs": [ - { - "internalType": "contract Vm", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x60806040526000805462ff00001960ff19909116600117166201000017905534801561002a57600080fd5b506135b88061003a6000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063ba414fa61161005b578063ba414fa614610169578063cd8591bb14610185578063f8ccbf471461018d578063fa7626d41461019557610088565b80630a9254e41461008d5780633a76846314610097578063511b1df9146100bb5780639d72264714610161575b600080fd5b61009561019d565b005b61009f6101e8565b604080516001600160a01b039092168252519081900360200190f35b61009f600480360360208110156100d157600080fd5b8101906020810181356401000000008111156100ec57600080fd5b8201836020820111156100fe57600080fd5b8035906020019184600183028401116401000000008311171561012057600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610200945050505050565b610095610214565b610171610366565b604080519115158252519081900360200190f35b61009561052c565b6101716107ef565b6101716107fe565b6040516101a990610ae7565b604051809103906000f0801580156101c5573d6000803e3d6000fd5b50600880546001600160a01b0319166001600160a01b0392909216919091179055565b737109709ecfa91a80626ff3989d68f67f5b1dd12d81565b80516020909101206001600160a01b031690565b6008546040805163039470bd60e51b8152610539600482015290516001600160a01b039092169163728e17a09160248082019260009290919082900301818387803b15801561026257600080fd5b505af1158015610276573d6000803e3d6000fd5b505060405163f28dceb360e01b8152602060048201908152603e60248301819052737109709ecfa91a80626ff3989d68f67f5b1dd12d945063f28dceb393509091829160449091019061356e8239604001915050600060405180830381600087803b1580156102e457600080fd5b505af11580156102f8573d6000803e3d6000fd5b50505050600860009054906101000a90046001600160a01b03166001600160a01b0316634e71e0c86040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561034c57600080fd5b505af1158015610360573d6000803e3d6000fd5b50505050565b60008054610100900460ff16156103885750600054610100900460ff16610529565b6000610392610807565b156105265760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d60208083018290526519985a5b195960d21b838501528351808403850181526060848101909552630667f9d760e41b60808501908152815193947f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc494929391926084909101918401908083835b6020831061043c5780518252601f19909201916020918201910161041d565b6001836020036101000a038019825116818451168082178552505050505050905001925050506040516020818303038152906040526040518082805190602001908083835b602083106104a05780518252601f199092019160209182019101610481565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610502576040519150601f19603f3d011682016040523d82523d6000602084013e610507565b606091505b5091505080806020019051602081101561052057600080fd5b50519150505b90505b90565b6008546040805163039470bd60e51b8152610539600482015290516001600160a01b039092169163728e17a09160248082019260009290919082900301818387803b15801561057a57600080fd5b505af115801561058e573d6000803e3d6000fd5b50506040805163248e63e160e11b8152600160048201819052602482018190526044820181905260648201529051737109709ecfa91a80626ff3989d68f67f5b1dd12d935063491cc7c29250608480830192600092919082900301818387803b1580156105fa57600080fd5b505af115801561060e573d6000803e3d6000fd5b505060405161053992503091507f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a36040805163ca669fa760e01b815261053960048201529051737109709ecfa91a80626ff3989d68f67f5b1dd12d9163ca669fa791602480830192600092919082900301818387803b15801561069557600080fd5b505af11580156106a9573d6000803e3d6000fd5b50505050600860009054906101000a90046001600160a01b03166001600160a01b0316634e71e0c86040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156106fd57600080fd5b505af1158015610711573d6000803e3d6000fd5b5050505061079a610539600860009054906101000a90046001600160a01b03166001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561076957600080fd5b505afa15801561077d573d6000803e3d6000fd5b505050506040513d602081101561079357600080fd5b5051610822565b6107ed6000600860009054906101000a90046001600160a01b03166001600160a01b031663288b6a366040518163ffffffff1660e01b815260040160206040518083038186803b15801561076957600080fd5b565b60005462010000900460ff1681565b60005460ff1681565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b151590565b806001600160a01b0316826001600160a01b031614610944577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f506040518080602001828103825260258152602001806135496025913960400191505060405180910390a1604080516001600160a01b0383166020820152818152600a81830152690808115e1c1958dd195960b21b606082015290517f9c4e8541ca8f0dc1c413f9108f66d82d3cecb1bddbce437a61caa3175c4cc96f9181900360800190a1604080516001600160a01b0384166020820152818152600a8183015269080808081058dd1d585b60b21b606082015290517f9c4e8541ca8f0dc1c413f9108f66d82d3cecb1bddbce437a61caa3175c4cc96f9181900360800190a1610944610948565b5050565b610950610807565b15610ad65760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d60208083018290526519985a5b195960d21b83850152600160608481019190915284518085039091018152608084019094526370ca10bb60e01b60a08401908152845160009593947f70ca10bbd0dbfd9020a9f4b13402c16cb120705e0d1c0aeab10fa353ae586fc4949360a490910191908401908083835b60208310610a065780518252601f1990920191602091820191016109e7565b6001836020036101000a038019825116818451168082178552505050505050905001925050506040516020818303038152906040526040518082805190602001908083835b60208310610a6a5780518252601f199092019160209182019101610a4b565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610acc576040519150601f19603f3d011682016040523d82523d6000602084013e610ad1565b606091505b505050505b6000805461ff001916610100179055565b612a5480610af58339019056fe60806040523480156200001157600080fd5b506202a300600355600280546001600160a01b031916331790556040805180820190915260048082526322a72d2360e11b60209092019182526200005691816200005d565b50620000f9565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620000a057805160ff1916838001178555620000d0565b82800160010185558215620000d0579182015b82811115620000d0578251825591602001919060010190620000b3565b50620000de929150620000e2565b5090565b5b80821115620000de5760008155600101620000e3565b61294b80620001096000396000f3fe60806040523480156200001157600080fd5b5060043610620001485760003560e01c806377a8c62411620000bd57806397af7050116200007b57806397af7050146200042d5780639c9d48da1462000456578063b47b06001462000487578063d0449d3d1462000509578063d15f9b9c14620005325762000148565b806377a8c62414620003885780637c77b2ed14620003b15780637dad9fc814620003bb5780638156eecf1462000419578063893d20e814620004235762000148565b80633d7c74f8116200010b5780633d7c74f814620002795780634e71e0c814620002a257806366231cea14620002ac578063728e17a014620002e9578063757bc0dd14620003125762000148565b80631df419f7146200014d57806322a0c08b146200016f578063288b6a3614620002225780632fa0c161146200022c57806338b3eb1b1462000248575b600080fd5b6200016d600480360360208110156200016557600080fd5b503562000573565b005b62000206600480360360808110156200018757600080fd5b6001600160a01b0382358116926020810135821692604082013590921691810190608081016060820135640100000000811115620001c457600080fd5b820183602082011115620001d757600080fd5b80359060200191846001830284011164010000000083111715620001fa57600080fd5b50909250905062000646565b604080516001600160a01b039092168252519081900360200190f35b62000206620008df565b62000236620008ee565b60408051918252519081900360200190f35b6200016d600480360360408110156200026057600080fd5b506001600160a01b0381351690602001351515620008f4565b62000206600480360360208110156200029157600080fd5b50356001600160a01b031662000c46565b6200016d62000c67565b620002d560048036036020811015620002c457600080fd5b50356001600160a01b031662000d10565b604080519115158252519081900360200190f35b6200016d600480360360208110156200030157600080fd5b50356001600160a01b031662000d43565b6200016d600480360360208110156200032a57600080fd5b8101906020810181356401000000008111156200034657600080fd5b8201836020820111156200035957600080fd5b803590602001918460018302840111640100000000831117156200037c57600080fd5b50909250905062000ebd565b6200023660048036036020811015620003a057600080fd5b50356001600160a01b031662000f7b565b6200020662000fc4565b620003e460048036036020811015620003d357600080fd5b50356001600160a01b031662000fd3565b604080516001600160a01b03958616815293851660208501529190931682820152606082019290925290519081900360800190f35b6200016d6200106b565b6200020662001147565b6200016d600480360360208110156200044557600080fd5b50356001600160a01b031662001156565b6200016d600480360360408110156200046e57600080fd5b506001600160a01b0381351690602001351515620012e1565b620004916200152a565b6040805160208082528351818301528351919283929083019185019080838360005b83811015620004cd578181015183820152602001620004b3565b50505050905090810190601f168015620004fb5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b620002d5600480360360208110156200052157600080fd5b50356001600160a01b0316620015c4565b6200016d600480360360808110156200054a57600080fd5b506001600160a01b038135811691602081013582169160408201351690606001351515620015e4565b6002546001600160a01b03163314620005be5760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b60035481811415620006025760405162461bcd60e51b815260040180806020018281038252603b81526020018062002904603b913960400191505060405180910390fd5b6003829055604080518281526020810184905281517f481ce28a1145a5d9b59e2d1d7eba33bc3350124def8fdc91032238d343ad5361929181900390910190a15050565b600080546001600160a01b03163314620006925760405162461bcd60e51b8152600401808060200182810382526034815260200180620024b66034913960400191505060405180910390fd5b6200069d8462001832565b620006da5760405162461bcd60e51b815260040180806020018281038252602d8152602001806200269b602d913960400191505060405180910390fd5b6060635c9a6d3760e01b8686868660405160240180856001600160a01b03168152602001846001600160a01b0316815260200180602001828103825284848281815260200192508082843760008382015260408051601f909201601f1990811690940182810390940182529283526020810180516001600160e01b03166001600160e01b0319909b169a909a17909952505196975087968e965062000786955093506200204c92505050565b8080602001836001600160a01b03168152602001828103825284818151815260200191508051906020019080838360005b83811015620007d1578181015183820152602001620007b7565b50505050905090810190601f168015620007ff5780820380516001836020036101000a031916815260200191505b509350505050604051809103906000f08015801562000822573d6000803e3d6000fd5b506001600160a01b0380821660008181526005602090815260409182902080546001600160a01b0319163390811790915582519384528a85169184019190915260609183018281529183018890529395508a8316928a169184917fa50560b448ad796ef60adfeffe1c19ed34daf94c2aa6905d0e209017dbc19f589188918c918c918c919060808201848480828437600083820152604051601f909101601f191690920182900397509095505050505050a4505095945050505050565b6001546001600160a01b031690565b60035490565b620008fe6200205a565b506001600160a01b038083166000908152600660209081526040918290208251608081018452815485168082526001830154861693820193909352600282015490941692840192909252600390910154606083015280620009915760405162461bcd60e51b815260040180806020018281038252603d815260200180620028c7603d913960400191505060405180910390fd5b336001600160a01b03821614620009da5760405162461bcd60e51b81526004018080602001828103825260458152602001806200279c6045913960600191505060405180910390fd5b6000546001600160a01b0382811691161462000a285760405162461bcd60e51b815260040180806020018281038252604f815260200180620025ed604f913960600191505060405180910390fd5b60608201514281111562000a6e5760405162461bcd60e51b8152600401808060200182810382526038815260200180620027296038913960400191505060405180910390fd5b6001600160a01b0380861660009081526005602090815260409182902054908601519186015192169162000aa9600289858886868d62001838565b876001600160a01b0316634140d607826040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050600060405180830381600087803b15801562000af957600080fd5b505af115801562000b0e573d6000803e3d6000fd5b50505050876001600160a01b031663ab9253ac836040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050600060405180830381600087803b15801562000b6257600080fd5b505af115801562000b77573d6000803e3d6000fd5b5050506001600160a01b03808a1660009081526005602090815260408083208054948b166001600160a01b0319958616179055600690915281208054831681556001810180548416905560028101805490931690925560039182015562000be5915089858886868d62001838565b604080516001600160a01b038481168252838116602083015281830187905291518288169286811692908c16917fad6fb3d36e2cda148dfd43203c1a40c0da9a9baa662ae9d6c3b0c3e4a9d6a6359181900360600190a45050505050505050565b6001600160a01b03808216600090815260056020526040902054165b919050565b6001546001600160a01b031633811462000cb35760405162461bcd60e51b815260040180806020018281038252603e8152602001806200281c603e913960400191505060405180910390fd5b600180546001600160a01b0319908116909155600280546001600160a01b0384811693821684179092556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038116600090815260066020526040812060030154801580159062000d3c5750804210155b9392505050565b6002546001600160a01b0316331462000d8e5760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b6001600160a01b03811662000dd55760405162461bcd60e51b8152600401808060200182810382526036815260200180620026c86036913960400191505060405180910390fd5b6002546001600160a01b038281169116141562000e245760405162461bcd60e51b815260040180806020018281038252603b81526020018062002761603b913960400191505060405180910390fd5b6001546001600160a01b038281169116141562000e735760405162461bcd60e51b815260040180806020018281038252603b815260200180620027e1603b913960400191505060405180910390fd5b600180546001600160a01b0319166001600160a01b0383169081179091556040517f132c19de901bb4ed8403c34734b6c841d5dc57745824da452a52433519ea5abf90600090a250565b6002546001600160a01b0316331462000f085760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b62000f166004838362002081565b507ff0115712c23b609855a28d7b8963c6d16d732ae388b11e5d4ec6d5eae4ad8698828260405180806020018281038252848482818152602001925080828437600083820152604051601f909101601f19169092018290039550909350505050a15050565b6001600160a01b0381166000908152600660205260408120600301548062000fa857600091505062000c62565b80421062000fbb57600091505062000c62565b42900392915050565b6000546001600160a01b031690565b60008060008062000fe36200205a565b506001600160a01b038086166000908152600660209081526040918290208251608081018452815485168152600182015485169281019290925260028101549093169181019190915260039091015460608201819052156200106257806000015181602001518260400151836060015194509450945094505062001064565b505b9193509193565b6002546001600160a01b03163314620010b65760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b6001546001600160a01b031680620011005760405162461bcd60e51b81526004018080602001828103825260318152602001806200266a6031913960400191505060405180910390fd5b600180546001600160a01b03191690556040516001600160a01b038216907fe4136584a5e8bb85d66301f3ce8b11cc2e5a8bea3979f10ea2451353849acc4790600090a250565b6002546001600160a01b031690565b6002546001600160a01b03163314620011a15760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b6001600160a01b038116620011e85760405162461bcd60e51b81526004018080602001828103825260398152602001806200258e6039913960400191505060405180910390fd5b620011f38162001832565b620012305760405162461bcd60e51b8152600401808060200182810382526036815260200180620028916036913960400191505060405180910390fd5b6000546001600160a01b03908116908216811415620012815760405162461bcd60e51b81526004018080602001828103825260488152602001806200251a6048913960600191505060405180910390fd5b600080546001600160a01b0319166001600160a01b03848116918217909255604080519284168352602083019190915280517f44cf34a26ccbaa8a20e6098a1278e28682572ec9921eb43d8dab274a503e92f59281900390910190a15050565b620012eb6200205a565b506001600160a01b0380831660009081526006602090815260409182902082516080810184528154851680825260018301548616938201939093526002820154909416928401929092526003909101546060830152806200137e5760405162461bcd60e51b815260040180806020018281038252602c81526020018062002562602c913960400191505060405180910390fd5b336001600160a01b038216148062001407575060408051633ef03e7560e11b815233600482015290516001600160a01b03861691637de07cea916024808301926020929190829003018186803b158015620013d857600080fd5b505afa158015620013ed573d6000803e3d6000fd5b505050506040513d60208110156200140457600080fd5b50515b620014445760405162461bcd60e51b8152600401808060200182810382526026815260200180620025c76026913960400191505060405180910390fd5b6001600160a01b0380851660009081526005602090815260408083205486830151878301516060890151600690955292852080546001600160a01b03199081168255600182018054821690556002820180549091169055600301949094559093169290620014b9600489868887878d62001838565b620014c988858786868c62001bd1565b604080516001600160a01b038581168252848116602083015281830184905291518288169287811692908c16917f9851a8f232c380eb2c1065756776e37d85d4fe0c8cb4005b0d72c749bfef923e9181900360600190a45050505050505050565b60048054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815260609390929091830182828015620015ba5780601f106200158e57610100808354040283529160200191620015ba565b820191906000526020600020905b8154815290600101906020018083116200159c57829003601f168201915b5050505050905090565b6001600160a01b0316600090815260066020526040902060030154151590565b6000546001600160a01b031633146200162f5760405162461bcd60e51b8152600401808060200182810382526034815260200180620024b66034913960400191505060405180910390fd5b6200163a8362001832565b620016775760405162461bcd60e51b8152600401808060200182810382526030815260200180620024ea6030913960400191505060405180910390fd5b6001600160a01b038085166000908152600560205260409020541680620016d05760405162461bcd60e51b815260040180806020018281038252602b815260200180620026fe602b913960400191505060405180910390fd5b336001600160a01b0382168114156200171b5760405162461bcd60e51b81526004018080602001828103825260378152602001806200285a6037913960400191505060405180910390fd5b6200172d600087848489898962001838565b60038054604080516080810182526001600160a01b03808616825289811660208084019182528a831684860190815242909601606085018181528e85166000908152600690935295909120935184549084166001600160a01b0319918216178555915160018086018054928616928516929092179091559551600285018054919094169216919091179091559151930192909255620017d2908885858a8a8a62001838565b604080516001600160a01b038881168252878116602083015281830184905291518285169286811692908b16917fb519c42fdb88f83f098814813f2ebff14fbf14f3e68b054e5a98834c69d54bfb9181900360600190a450505050505050565b3b151590565b60006060866001600160a01b0316633f84c12c60e01b8a8a898989604051602401808660048111156200186757fe5b8152602001856001600160a01b03168152602001846001600160a01b03168152602001836001600160a01b03168152602001826001600160a01b0316815260200195505050505050604051602081830303815290604052906001600160e01b0319166020820180516001600160e01b0383818316178352505050506040518082805190602001908083835b60208310620019135780518252601f199092019160209182019101620018f2565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811462001977576040519150601f19603f3d011682016040523d82523d6000602084013e6200197c565b606091505b50915091508162001bc65782620019938a62001ea1565b826040516020018083805190602001908083835b60208310620019c85780518252601f199092019160209182019101620019a7565b51815160209384036101000a600019018019909216911617905285519190930192850191508083835b6020831062001a125780518252601f199092019160209182019101620019f1565b6001836020036101000a038019825116818451168082178552505050505050905001925050506040516020818303038152906040529062001ad45760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101562001a9857818101518382015260200162001a7e565b50505050905090810190601f16801562001ac65780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50856001600160a01b0316876001600160a01b0316896001600160a01b03167fbf0ae6830883bd89855f2e7b17a2924b5de0b2b3d4a8834d7c2c0d5dc53447db848d8a8a604051808060200185600481111562001b2d57fe5b8152602001846001600160a01b03168152602001836001600160a01b03168152602001828103825286818151815260200191508051906020019080838360005b8381101562001b8757818101518382015260200162001b6d565b50505050905090810190601f16801562001bb55780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a45b505050505050505050565b604080516001600160a01b038881166024830152878116604483015285811660648301528481166084808401919091528351808403909101815260a490920183526020820180516001600160e01b031663df369ba760e01b17815292518251600094606094938a169392918291908083835b6020831062001c645780518252601f19909201916020918201910162001c43565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811462001cc8576040519150601f19603f3d011682016040523d82523d6000602084013e62001ccd565b606091505b50915091508162001e9757828160405160200180807f4d6967726174696f6e4f757443616e63656c486f6f6b3a20000000000000000081525060180182805190602001908083835b6020831062001d365780518252601f19909201916020918201910162001d15565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040516020818303038152906040529062001db95760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831562001a9857818101518382015260200162001a7e565b50856001600160a01b0316876001600160a01b0316896001600160a01b03167f7c79070aa51adb676fb9c8d0f7a1f841ff9cf514444b37c95297ed1c52547b328489896040518080602001846001600160a01b03168152602001836001600160a01b03168152602001828103825285818151815260200191508051906020019080838360005b8381101562001e5957818101518382015260200162001e3f565b50505050905090810190601f16801562001e875780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a45b5050505050505050565b6060600082600481111562001eb257fe5b141562001ef4575060408051808201909152601c81527f4d6967726174696f6e4f7574486f6f6b2e5072655369676e616c3a2000000000602082015262000c62565b600182600481111562001f0357fe5b141562001f45575060408051808201909152601d81527f4d6967726174696f6e4f7574486f6f6b2e506f73745369676e616c3a20000000602082015262000c62565b600282600481111562001f5457fe5b141562001f96575060408051808201909152601d81527f4d6967726174696f6e4f7574486f6f6b2e5072654d6967726174653a20000000602082015262000c62565b600382600481111562001fa557fe5b141562001fe7575060408051808201909152601e81527f4d6967726174696f6e4f7574486f6f6b2e506f73744d6967726174653a200000602082015262000c62565b600482600481111562001ff657fe5b141562002038575060408051808201909152601d81527f4d6967726174696f6e4f7574486f6f6b2e506f737443616e63656c3a20000000602082015262000c62565b505060408051602081019091526000815290565b610398806200211e83390190565b60408051608081018252600080825260208201819052918101829052606081019190915290565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620020c45782800160ff19823516178555620020f4565b82800160010185558215620020f4579182015b82811115620020f4578235825591602001919060010190620020d7565b506200210292915062002106565b5090565b5b808211156200210257600081556001016200210756fe608060405234801561001057600080fd5b506040516103983803806103988339818101604052604081101561003357600080fd5b810190808051604051939291908464010000000082111561005357600080fd5b90830190602082018581111561006857600080fd5b825164010000000081118282018810171561008257600080fd5b82525081516020918201929091019080838360005b838110156100af578181015183820152602001610097565b50505050905090810190601f1680156100dc5780820380516001836020036101000a031916815260200191505b5060408181526020928301516352d1902d60e01b835290519094506001600160a01b03851693506352d1902d92600480840193919291829003018186803b15801561012657600080fd5b505afa15801561013a573d6000803e3d6000fd5b505050506040513d602081101561015057600080fd5b50517f027b9570e9fedc1a80b937ae9a06861e5faef3992491af30b684a64b3fbec7a5146101af5760405162461bcd60e51b81526004018080602001828103825260258152602001806103736025913960400191505060405180910390fd5b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5560006060826001600160a01b0316846040518082805190602001908083835b602083106102105780518252601f1990920191602091820191016101f1565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610270576040519150601f19603f3d011682016040523d82523d6000602084013e610275565b606091505b50915091508181906103055760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156102ca5781810151838201526020016102b2565b50505050905090810190601f1680156102f75780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5050505050605b806103186000396000f3fe60806040527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc543660008037600080366000846127105a03f43d806000803e818015604957816000f35b816000fdfea164736f6c634300060c000a636f6e7374727563746f723a205f7661756c744c6962206e6f7420636f6d70617469626c654f6e6c79207468652063757272656e742046756e644465706c6f7965722063616e2063616c6c20746869732066756e6374696f6e7369676e616c4d6967726174696f6e3a204e6f6e2d636f6e7472616374205f6e6578745661756c744163636573736f7273657443757272656e7446756e644465706c6f7965723a205f6e65787446756e644465706c6f79657220697320616c72656164792063757272656e7446756e644465706c6f79657263616e63656c4d6967726174696f6e3a204e6f206d6967726174696f6e20726571756573742065786973747373657443757272656e7446756e644465706c6f7965723a205f6e65787446756e644465706c6f7965722063616e6e6f7420626520656d70747963616e63656c4d6967726174696f6e3a204e6f7420616e20616c6c6f7765642063616c6c6572657865637574654d6967726174696f6e3a20546865207461726765742046756e644465706c6f796572206973206e6f206c6f6e676572207468652063757272656e742046756e644465706c6f7965724f6e6c792074686520636f6e7472616374206f776e65722063616e2063616c6c20746869732066756e6374696f6e72656d6f76654e6f6d696e617465644f776e65723a205468657265206973206e6f206e6f6d696e61746564206f776e65726465706c6f795661756c7450726f78793a204e6f6e2d636f6e7472616374205f7661756c744163636573736f727365744e6f6d696e617465644f776e65723a205f6e6578744e6f6d696e617465644f776e65722063616e6e6f7420626520656d7074797369676e616c4d6967726174696f6e3a205f7661756c7450726f787920646f6573206e6f74206578697374657865637574654d6967726174696f6e3a20546865206d6967726174696f6e2074696d656c6f636b20686173206e6f7420656c61707365647365744e6f6d696e617465644f776e65723a205f6e6578744e6f6d696e617465644f776e657220697320616c726561647920746865206f776e6572657865637574654d6967726174696f6e3a204f6e6c7920746865207461726765742046756e644465706c6f7965722063616e2063616c6c20746869732066756e6374696f6e7365744e6f6d696e617465644f776e65723a205f6e6578744e6f6d696e617465644f776e657220697320616c7265616479206e6f6d696e61746564636c61696d4f776e6572736869703a204f6e6c7920746865206e6f6d696e617465644f776e65722063616e2063616c6c20746869732066756e6374696f6e7369676e616c4d6967726174696f6e3a2043616e206f6e6c79206d69677261746520746f2061206e65772046756e644465706c6f79657273657443757272656e7446756e644465706c6f7965723a204e6f6e2d636f6e7472616374205f6e65787446756e644465706c6f796572657865637574654d6967726174696f6e3a204e6f206d6967726174696f6e20726571756573742065786973747320666f72205f7661756c7450726f78797365744d6967726174696f6e54696d656c6f636b3a205f6e65787454696d656c6f636b206973207468652063757272656e742074696d656c6f636ba164736f6c634300060c000a4572726f723a2061203d3d2062206e6f7420736174697366696564205b616464726573735d636c61696d4f776e6572736869703a204f6e6c7920746865206e6f6d696e617465644f776e65722063616e2063616c6c20746869732066756e6374696f6ea164736f6c634300060c000a", - "sourceMap": "3159:778:456:-:0;;;1572:26:435;;;-1:-1:-1;;;;1572:26:435;;;1594:4;1572:26;165:28:436;;;;;3159:778:456;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106100885760003560e01c8063ba414fa61161005b578063ba414fa614610169578063cd8591bb14610185578063f8ccbf471461018d578063fa7626d41461019557610088565b80630a9254e41461008d5780633a76846314610097578063511b1df9146100bb5780639d72264714610161575b600080fd5b61009561019d565b005b61009f6101e8565b604080516001600160a01b039092168252519081900360200190f35b61009f600480360360208110156100d157600080fd5b8101906020810181356401000000008111156100ec57600080fd5b8201836020820111156100fe57600080fd5b8035906020019184600183028401116401000000008311171561012057600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610200945050505050565b610095610214565b610171610366565b604080519115158252519081900360200190f35b61009561052c565b6101716107ef565b6101716107fe565b6040516101a990610ae7565b604051809103906000f0801580156101c5573d6000803e3d6000fd5b50600880546001600160a01b0319166001600160a01b0392909216919091179055565b737109709ecfa91a80626ff3989d68f67f5b1dd12d81565b80516020909101206001600160a01b031690565b6008546040805163039470bd60e51b8152610539600482015290516001600160a01b039092169163728e17a09160248082019260009290919082900301818387803b15801561026257600080fd5b505af1158015610276573d6000803e3d6000fd5b505060405163f28dceb360e01b8152602060048201908152603e60248301819052737109709ecfa91a80626ff3989d68f67f5b1dd12d945063f28dceb393509091829160449091019061356e8239604001915050600060405180830381600087803b1580156102e457600080fd5b505af11580156102f8573d6000803e3d6000fd5b50505050600860009054906101000a90046001600160a01b03166001600160a01b0316634e71e0c86040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561034c57600080fd5b505af1158015610360573d6000803e3d6000fd5b50505050565b60008054610100900460ff16156103885750600054610100900460ff16610529565b6000610392610807565b156105265760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d60208083018290526519985a5b195960d21b838501528351808403850181526060848101909552630667f9d760e41b60808501908152815193947f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc494929391926084909101918401908083835b6020831061043c5780518252601f19909201916020918201910161041d565b6001836020036101000a038019825116818451168082178552505050505050905001925050506040516020818303038152906040526040518082805190602001908083835b602083106104a05780518252601f199092019160209182019101610481565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610502576040519150601f19603f3d011682016040523d82523d6000602084013e610507565b606091505b5091505080806020019051602081101561052057600080fd5b50519150505b90505b90565b6008546040805163039470bd60e51b8152610539600482015290516001600160a01b039092169163728e17a09160248082019260009290919082900301818387803b15801561057a57600080fd5b505af115801561058e573d6000803e3d6000fd5b50506040805163248e63e160e11b8152600160048201819052602482018190526044820181905260648201529051737109709ecfa91a80626ff3989d68f67f5b1dd12d935063491cc7c29250608480830192600092919082900301818387803b1580156105fa57600080fd5b505af115801561060e573d6000803e3d6000fd5b505060405161053992503091507f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a36040805163ca669fa760e01b815261053960048201529051737109709ecfa91a80626ff3989d68f67f5b1dd12d9163ca669fa791602480830192600092919082900301818387803b15801561069557600080fd5b505af11580156106a9573d6000803e3d6000fd5b50505050600860009054906101000a90046001600160a01b03166001600160a01b0316634e71e0c86040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156106fd57600080fd5b505af1158015610711573d6000803e3d6000fd5b5050505061079a610539600860009054906101000a90046001600160a01b03166001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561076957600080fd5b505afa15801561077d573d6000803e3d6000fd5b505050506040513d602081101561079357600080fd5b5051610822565b6107ed6000600860009054906101000a90046001600160a01b03166001600160a01b031663288b6a366040518163ffffffff1660e01b815260040160206040518083038186803b15801561076957600080fd5b565b60005462010000900460ff1681565b60005460ff1681565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b151590565b806001600160a01b0316826001600160a01b031614610944577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f506040518080602001828103825260258152602001806135496025913960400191505060405180910390a1604080516001600160a01b0383166020820152818152600a81830152690808115e1c1958dd195960b21b606082015290517f9c4e8541ca8f0dc1c413f9108f66d82d3cecb1bddbce437a61caa3175c4cc96f9181900360800190a1604080516001600160a01b0384166020820152818152600a8183015269080808081058dd1d585b60b21b606082015290517f9c4e8541ca8f0dc1c413f9108f66d82d3cecb1bddbce437a61caa3175c4cc96f9181900360800190a1610944610948565b5050565b610950610807565b15610ad65760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d60208083018290526519985a5b195960d21b83850152600160608481019190915284518085039091018152608084019094526370ca10bb60e01b60a08401908152845160009593947f70ca10bbd0dbfd9020a9f4b13402c16cb120705e0d1c0aeab10fa353ae586fc4949360a490910191908401908083835b60208310610a065780518252601f1990920191602091820191016109e7565b6001836020036101000a038019825116818451168082178552505050505050905001925050506040516020818303038152906040526040518082805190602001908083835b60208310610a6a5780518252601f199092019160209182019101610a4b565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610acc576040519150601f19603f3d011682016040523d82523d6000602084013e610ad1565b606091505b505050505b6000805461ff001916610100179055565b612a5480610af58339019056fe60806040523480156200001157600080fd5b506202a300600355600280546001600160a01b031916331790556040805180820190915260048082526322a72d2360e11b60209092019182526200005691816200005d565b50620000f9565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620000a057805160ff1916838001178555620000d0565b82800160010185558215620000d0579182015b82811115620000d0578251825591602001919060010190620000b3565b50620000de929150620000e2565b5090565b5b80821115620000de5760008155600101620000e3565b61294b80620001096000396000f3fe60806040523480156200001157600080fd5b5060043610620001485760003560e01c806377a8c62411620000bd57806397af7050116200007b57806397af7050146200042d5780639c9d48da1462000456578063b47b06001462000487578063d0449d3d1462000509578063d15f9b9c14620005325762000148565b806377a8c62414620003885780637c77b2ed14620003b15780637dad9fc814620003bb5780638156eecf1462000419578063893d20e814620004235762000148565b80633d7c74f8116200010b5780633d7c74f814620002795780634e71e0c814620002a257806366231cea14620002ac578063728e17a014620002e9578063757bc0dd14620003125762000148565b80631df419f7146200014d57806322a0c08b146200016f578063288b6a3614620002225780632fa0c161146200022c57806338b3eb1b1462000248575b600080fd5b6200016d600480360360208110156200016557600080fd5b503562000573565b005b62000206600480360360808110156200018757600080fd5b6001600160a01b0382358116926020810135821692604082013590921691810190608081016060820135640100000000811115620001c457600080fd5b820183602082011115620001d757600080fd5b80359060200191846001830284011164010000000083111715620001fa57600080fd5b50909250905062000646565b604080516001600160a01b039092168252519081900360200190f35b62000206620008df565b62000236620008ee565b60408051918252519081900360200190f35b6200016d600480360360408110156200026057600080fd5b506001600160a01b0381351690602001351515620008f4565b62000206600480360360208110156200029157600080fd5b50356001600160a01b031662000c46565b6200016d62000c67565b620002d560048036036020811015620002c457600080fd5b50356001600160a01b031662000d10565b604080519115158252519081900360200190f35b6200016d600480360360208110156200030157600080fd5b50356001600160a01b031662000d43565b6200016d600480360360208110156200032a57600080fd5b8101906020810181356401000000008111156200034657600080fd5b8201836020820111156200035957600080fd5b803590602001918460018302840111640100000000831117156200037c57600080fd5b50909250905062000ebd565b6200023660048036036020811015620003a057600080fd5b50356001600160a01b031662000f7b565b6200020662000fc4565b620003e460048036036020811015620003d357600080fd5b50356001600160a01b031662000fd3565b604080516001600160a01b03958616815293851660208501529190931682820152606082019290925290519081900360800190f35b6200016d6200106b565b6200020662001147565b6200016d600480360360208110156200044557600080fd5b50356001600160a01b031662001156565b6200016d600480360360408110156200046e57600080fd5b506001600160a01b0381351690602001351515620012e1565b620004916200152a565b6040805160208082528351818301528351919283929083019185019080838360005b83811015620004cd578181015183820152602001620004b3565b50505050905090810190601f168015620004fb5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b620002d5600480360360208110156200052157600080fd5b50356001600160a01b0316620015c4565b6200016d600480360360808110156200054a57600080fd5b506001600160a01b038135811691602081013582169160408201351690606001351515620015e4565b6002546001600160a01b03163314620005be5760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b60035481811415620006025760405162461bcd60e51b815260040180806020018281038252603b81526020018062002904603b913960400191505060405180910390fd5b6003829055604080518281526020810184905281517f481ce28a1145a5d9b59e2d1d7eba33bc3350124def8fdc91032238d343ad5361929181900390910190a15050565b600080546001600160a01b03163314620006925760405162461bcd60e51b8152600401808060200182810382526034815260200180620024b66034913960400191505060405180910390fd5b6200069d8462001832565b620006da5760405162461bcd60e51b815260040180806020018281038252602d8152602001806200269b602d913960400191505060405180910390fd5b6060635c9a6d3760e01b8686868660405160240180856001600160a01b03168152602001846001600160a01b0316815260200180602001828103825284848281815260200192508082843760008382015260408051601f909201601f1990811690940182810390940182529283526020810180516001600160e01b03166001600160e01b0319909b169a909a17909952505196975087968e965062000786955093506200204c92505050565b8080602001836001600160a01b03168152602001828103825284818151815260200191508051906020019080838360005b83811015620007d1578181015183820152602001620007b7565b50505050905090810190601f168015620007ff5780820380516001836020036101000a031916815260200191505b509350505050604051809103906000f08015801562000822573d6000803e3d6000fd5b506001600160a01b0380821660008181526005602090815260409182902080546001600160a01b0319163390811790915582519384528a85169184019190915260609183018281529183018890529395508a8316928a169184917fa50560b448ad796ef60adfeffe1c19ed34daf94c2aa6905d0e209017dbc19f589188918c918c918c919060808201848480828437600083820152604051601f909101601f191690920182900397509095505050505050a4505095945050505050565b6001546001600160a01b031690565b60035490565b620008fe6200205a565b506001600160a01b038083166000908152600660209081526040918290208251608081018452815485168082526001830154861693820193909352600282015490941692840192909252600390910154606083015280620009915760405162461bcd60e51b815260040180806020018281038252603d815260200180620028c7603d913960400191505060405180910390fd5b336001600160a01b03821614620009da5760405162461bcd60e51b81526004018080602001828103825260458152602001806200279c6045913960600191505060405180910390fd5b6000546001600160a01b0382811691161462000a285760405162461bcd60e51b815260040180806020018281038252604f815260200180620025ed604f913960600191505060405180910390fd5b60608201514281111562000a6e5760405162461bcd60e51b8152600401808060200182810382526038815260200180620027296038913960400191505060405180910390fd5b6001600160a01b0380861660009081526005602090815260409182902054908601519186015192169162000aa9600289858886868d62001838565b876001600160a01b0316634140d607826040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050600060405180830381600087803b15801562000af957600080fd5b505af115801562000b0e573d6000803e3d6000fd5b50505050876001600160a01b031663ab9253ac836040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050600060405180830381600087803b15801562000b6257600080fd5b505af115801562000b77573d6000803e3d6000fd5b5050506001600160a01b03808a1660009081526005602090815260408083208054948b166001600160a01b0319958616179055600690915281208054831681556001810180548416905560028101805490931690925560039182015562000be5915089858886868d62001838565b604080516001600160a01b038481168252838116602083015281830187905291518288169286811692908c16917fad6fb3d36e2cda148dfd43203c1a40c0da9a9baa662ae9d6c3b0c3e4a9d6a6359181900360600190a45050505050505050565b6001600160a01b03808216600090815260056020526040902054165b919050565b6001546001600160a01b031633811462000cb35760405162461bcd60e51b815260040180806020018281038252603e8152602001806200281c603e913960400191505060405180910390fd5b600180546001600160a01b0319908116909155600280546001600160a01b0384811693821684179092556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038116600090815260066020526040812060030154801580159062000d3c5750804210155b9392505050565b6002546001600160a01b0316331462000d8e5760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b6001600160a01b03811662000dd55760405162461bcd60e51b8152600401808060200182810382526036815260200180620026c86036913960400191505060405180910390fd5b6002546001600160a01b038281169116141562000e245760405162461bcd60e51b815260040180806020018281038252603b81526020018062002761603b913960400191505060405180910390fd5b6001546001600160a01b038281169116141562000e735760405162461bcd60e51b815260040180806020018281038252603b815260200180620027e1603b913960400191505060405180910390fd5b600180546001600160a01b0319166001600160a01b0383169081179091556040517f132c19de901bb4ed8403c34734b6c841d5dc57745824da452a52433519ea5abf90600090a250565b6002546001600160a01b0316331462000f085760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b62000f166004838362002081565b507ff0115712c23b609855a28d7b8963c6d16d732ae388b11e5d4ec6d5eae4ad8698828260405180806020018281038252848482818152602001925080828437600083820152604051601f909101601f19169092018290039550909350505050a15050565b6001600160a01b0381166000908152600660205260408120600301548062000fa857600091505062000c62565b80421062000fbb57600091505062000c62565b42900392915050565b6000546001600160a01b031690565b60008060008062000fe36200205a565b506001600160a01b038086166000908152600660209081526040918290208251608081018452815485168152600182015485169281019290925260028101549093169181019190915260039091015460608201819052156200106257806000015181602001518260400151836060015194509450945094505062001064565b505b9193509193565b6002546001600160a01b03163314620010b65760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b6001546001600160a01b031680620011005760405162461bcd60e51b81526004018080602001828103825260318152602001806200266a6031913960400191505060405180910390fd5b600180546001600160a01b03191690556040516001600160a01b038216907fe4136584a5e8bb85d66301f3ce8b11cc2e5a8bea3979f10ea2451353849acc4790600090a250565b6002546001600160a01b031690565b6002546001600160a01b03163314620011a15760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b6001600160a01b038116620011e85760405162461bcd60e51b81526004018080602001828103825260398152602001806200258e6039913960400191505060405180910390fd5b620011f38162001832565b620012305760405162461bcd60e51b8152600401808060200182810382526036815260200180620028916036913960400191505060405180910390fd5b6000546001600160a01b03908116908216811415620012815760405162461bcd60e51b81526004018080602001828103825260488152602001806200251a6048913960600191505060405180910390fd5b600080546001600160a01b0319166001600160a01b03848116918217909255604080519284168352602083019190915280517f44cf34a26ccbaa8a20e6098a1278e28682572ec9921eb43d8dab274a503e92f59281900390910190a15050565b620012eb6200205a565b506001600160a01b0380831660009081526006602090815260409182902082516080810184528154851680825260018301548616938201939093526002820154909416928401929092526003909101546060830152806200137e5760405162461bcd60e51b815260040180806020018281038252602c81526020018062002562602c913960400191505060405180910390fd5b336001600160a01b038216148062001407575060408051633ef03e7560e11b815233600482015290516001600160a01b03861691637de07cea916024808301926020929190829003018186803b158015620013d857600080fd5b505afa158015620013ed573d6000803e3d6000fd5b505050506040513d60208110156200140457600080fd5b50515b620014445760405162461bcd60e51b8152600401808060200182810382526026815260200180620025c76026913960400191505060405180910390fd5b6001600160a01b0380851660009081526005602090815260408083205486830151878301516060890151600690955292852080546001600160a01b03199081168255600182018054821690556002820180549091169055600301949094559093169290620014b9600489868887878d62001838565b620014c988858786868c62001bd1565b604080516001600160a01b038581168252848116602083015281830184905291518288169287811692908c16917f9851a8f232c380eb2c1065756776e37d85d4fe0c8cb4005b0d72c749bfef923e9181900360600190a45050505050505050565b60048054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815260609390929091830182828015620015ba5780601f106200158e57610100808354040283529160200191620015ba565b820191906000526020600020905b8154815290600101906020018083116200159c57829003601f168201915b5050505050905090565b6001600160a01b0316600090815260066020526040902060030154151590565b6000546001600160a01b031633146200162f5760405162461bcd60e51b8152600401808060200182810382526034815260200180620024b66034913960400191505060405180910390fd5b6200163a8362001832565b620016775760405162461bcd60e51b8152600401808060200182810382526030815260200180620024ea6030913960400191505060405180910390fd5b6001600160a01b038085166000908152600560205260409020541680620016d05760405162461bcd60e51b815260040180806020018281038252602b815260200180620026fe602b913960400191505060405180910390fd5b336001600160a01b0382168114156200171b5760405162461bcd60e51b81526004018080602001828103825260378152602001806200285a6037913960400191505060405180910390fd5b6200172d600087848489898962001838565b60038054604080516080810182526001600160a01b03808616825289811660208084019182528a831684860190815242909601606085018181528e85166000908152600690935295909120935184549084166001600160a01b0319918216178555915160018086018054928616928516929092179091559551600285018054919094169216919091179091559151930192909255620017d2908885858a8a8a62001838565b604080516001600160a01b038881168252878116602083015281830184905291518285169286811692908b16917fb519c42fdb88f83f098814813f2ebff14fbf14f3e68b054e5a98834c69d54bfb9181900360600190a450505050505050565b3b151590565b60006060866001600160a01b0316633f84c12c60e01b8a8a898989604051602401808660048111156200186757fe5b8152602001856001600160a01b03168152602001846001600160a01b03168152602001836001600160a01b03168152602001826001600160a01b0316815260200195505050505050604051602081830303815290604052906001600160e01b0319166020820180516001600160e01b0383818316178352505050506040518082805190602001908083835b60208310620019135780518252601f199092019160209182019101620018f2565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811462001977576040519150601f19603f3d011682016040523d82523d6000602084013e6200197c565b606091505b50915091508162001bc65782620019938a62001ea1565b826040516020018083805190602001908083835b60208310620019c85780518252601f199092019160209182019101620019a7565b51815160209384036101000a600019018019909216911617905285519190930192850191508083835b6020831062001a125780518252601f199092019160209182019101620019f1565b6001836020036101000a038019825116818451168082178552505050505050905001925050506040516020818303038152906040529062001ad45760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101562001a9857818101518382015260200162001a7e565b50505050905090810190601f16801562001ac65780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50856001600160a01b0316876001600160a01b0316896001600160a01b03167fbf0ae6830883bd89855f2e7b17a2924b5de0b2b3d4a8834d7c2c0d5dc53447db848d8a8a604051808060200185600481111562001b2d57fe5b8152602001846001600160a01b03168152602001836001600160a01b03168152602001828103825286818151815260200191508051906020019080838360005b8381101562001b8757818101518382015260200162001b6d565b50505050905090810190601f16801562001bb55780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a45b505050505050505050565b604080516001600160a01b038881166024830152878116604483015285811660648301528481166084808401919091528351808403909101815260a490920183526020820180516001600160e01b031663df369ba760e01b17815292518251600094606094938a169392918291908083835b6020831062001c645780518252601f19909201916020918201910162001c43565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811462001cc8576040519150601f19603f3d011682016040523d82523d6000602084013e62001ccd565b606091505b50915091508162001e9757828160405160200180807f4d6967726174696f6e4f757443616e63656c486f6f6b3a20000000000000000081525060180182805190602001908083835b6020831062001d365780518252601f19909201916020918201910162001d15565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040516020818303038152906040529062001db95760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831562001a9857818101518382015260200162001a7e565b50856001600160a01b0316876001600160a01b0316896001600160a01b03167f7c79070aa51adb676fb9c8d0f7a1f841ff9cf514444b37c95297ed1c52547b328489896040518080602001846001600160a01b03168152602001836001600160a01b03168152602001828103825285818151815260200191508051906020019080838360005b8381101562001e5957818101518382015260200162001e3f565b50505050905090810190601f16801562001e875780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a45b5050505050505050565b6060600082600481111562001eb257fe5b141562001ef4575060408051808201909152601c81527f4d6967726174696f6e4f7574486f6f6b2e5072655369676e616c3a2000000000602082015262000c62565b600182600481111562001f0357fe5b141562001f45575060408051808201909152601d81527f4d6967726174696f6e4f7574486f6f6b2e506f73745369676e616c3a20000000602082015262000c62565b600282600481111562001f5457fe5b141562001f96575060408051808201909152601d81527f4d6967726174696f6e4f7574486f6f6b2e5072654d6967726174653a20000000602082015262000c62565b600382600481111562001fa557fe5b141562001fe7575060408051808201909152601e81527f4d6967726174696f6e4f7574486f6f6b2e506f73744d6967726174653a200000602082015262000c62565b600482600481111562001ff657fe5b141562002038575060408051808201909152601d81527f4d6967726174696f6e4f7574486f6f6b2e506f737443616e63656c3a20000000602082015262000c62565b505060408051602081019091526000815290565b610398806200211e83390190565b60408051608081018252600080825260208201819052918101829052606081019190915290565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620020c45782800160ff19823516178555620020f4565b82800160010185558215620020f4579182015b82811115620020f4578235825591602001919060010190620020d7565b506200210292915062002106565b5090565b5b808211156200210257600081556001016200210756fe608060405234801561001057600080fd5b506040516103983803806103988339818101604052604081101561003357600080fd5b810190808051604051939291908464010000000082111561005357600080fd5b90830190602082018581111561006857600080fd5b825164010000000081118282018810171561008257600080fd5b82525081516020918201929091019080838360005b838110156100af578181015183820152602001610097565b50505050905090810190601f1680156100dc5780820380516001836020036101000a031916815260200191505b5060408181526020928301516352d1902d60e01b835290519094506001600160a01b03851693506352d1902d92600480840193919291829003018186803b15801561012657600080fd5b505afa15801561013a573d6000803e3d6000fd5b505050506040513d602081101561015057600080fd5b50517f027b9570e9fedc1a80b937ae9a06861e5faef3992491af30b684a64b3fbec7a5146101af5760405162461bcd60e51b81526004018080602001828103825260258152602001806103736025913960400191505060405180910390fd5b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5560006060826001600160a01b0316846040518082805190602001908083835b602083106102105780518252601f1990920191602091820191016101f1565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610270576040519150601f19603f3d011682016040523d82523d6000602084013e610275565b606091505b50915091508181906103055760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156102ca5781810151838201526020016102b2565b50505050905090810190601f1680156102f75780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5050505050605b806103186000396000f3fe60806040527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc543660008037600080366000846127105a03f43d806000803e818015604957816000f35b816000fdfea164736f6c634300060c000a636f6e7374727563746f723a205f7661756c744c6962206e6f7420636f6d70617469626c654f6e6c79207468652063757272656e742046756e644465706c6f7965722063616e2063616c6c20746869732066756e6374696f6e7369676e616c4d6967726174696f6e3a204e6f6e2d636f6e7472616374205f6e6578745661756c744163636573736f7273657443757272656e7446756e644465706c6f7965723a205f6e65787446756e644465706c6f79657220697320616c72656164792063757272656e7446756e644465706c6f79657263616e63656c4d6967726174696f6e3a204e6f206d6967726174696f6e20726571756573742065786973747373657443757272656e7446756e644465706c6f7965723a205f6e65787446756e644465706c6f7965722063616e6e6f7420626520656d70747963616e63656c4d6967726174696f6e3a204e6f7420616e20616c6c6f7765642063616c6c6572657865637574654d6967726174696f6e3a20546865207461726765742046756e644465706c6f796572206973206e6f206c6f6e676572207468652063757272656e742046756e644465706c6f7965724f6e6c792074686520636f6e7472616374206f776e65722063616e2063616c6c20746869732066756e6374696f6e72656d6f76654e6f6d696e617465644f776e65723a205468657265206973206e6f206e6f6d696e61746564206f776e65726465706c6f795661756c7450726f78793a204e6f6e2d636f6e7472616374205f7661756c744163636573736f727365744e6f6d696e617465644f776e65723a205f6e6578744e6f6d696e617465644f776e65722063616e6e6f7420626520656d7074797369676e616c4d6967726174696f6e3a205f7661756c7450726f787920646f6573206e6f74206578697374657865637574654d6967726174696f6e3a20546865206d6967726174696f6e2074696d656c6f636b20686173206e6f7420656c61707365647365744e6f6d696e617465644f776e65723a205f6e6578744e6f6d696e617465644f776e657220697320616c726561647920746865206f776e6572657865637574654d6967726174696f6e3a204f6e6c7920746865207461726765742046756e644465706c6f7965722063616e2063616c6c20746869732066756e6374696f6e7365744e6f6d696e617465644f776e65723a205f6e6578744e6f6d696e617465644f776e657220697320616c7265616479206e6f6d696e61746564636c61696d4f776e6572736869703a204f6e6c7920746865206e6f6d696e617465644f776e65722063616e2063616c6c20746869732066756e6374696f6e7369676e616c4d6967726174696f6e3a2043616e206f6e6c79206d69677261746520746f2061206e65772046756e644465706c6f79657273657443757272656e7446756e644465706c6f7965723a204e6f6e2d636f6e7472616374205f6e65787446756e644465706c6f796572657865637574654d6967726174696f6e3a204e6f206d6967726174696f6e20726571756573742065786973747320666f72205f7661756c7450726f78797365744d6967726174696f6e54696d656c6f636b3a205f6e65787454696d656c6f636b206973207468652063757272656e742074696d656c6f636ba164736f6c634300060c000a4572726f723a2061203d3d2062206e6f7420736174697366696564205b616464726573735d636c61696d4f776e6572736869703a204f6e6c7920746865206e6f6d696e617465644f776e65722063616e2063616c6c20746869732066756e6374696f6ea164736f6c634300060c000a", - "sourceMap": "3159:778:456:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;823:78;;;:::i;:::-;;316:38:436;;;:::i;:::-;;;;-1:-1:-1;;;;;316:38:436;;;;;;;;;;;;;;669:148:456;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;669:148:456;;-1:-1:-1;669:148:456;;-1:-1:-1;;;;;669:148:456:i;3699:236::-;;;:::i;1819:584:435:-;;;:::i;:::-;;;;;;;;;;;;;;;;;;3298:395:456;;;:::i;165:28:436:-;;;:::i;1572:26:435:-;;;:::i;823:78:456:-;878:16;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;865:10:456;:29;;-1:-1:-1;;;;;;865:29:456;-1:-1:-1;;;;;865:29:456;;;;;;;;;;823:78::o;316:38:436:-;245:64;316:38;:::o;669:148:456:-;783:23;;;;;;;-1:-1:-1;;;;;751:59:456;;669:148::o;3699:236::-;3756:10;;:43;;;-1:-1:-1;;;3756:43:456;;3793:4;3756:43;;;;;;-1:-1:-1;;;;;3756:10:456;;;;:28;;:43;;;;;:10;;:43;;;;;;;;:10;;:43;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3810:81:456;;-1:-1:-1;;;3810:81:456;;;;;;;;;;;;;;;;245:64:436;;-1:-1:-1;3810:15:456;;-1:-1:-1;3810:81:456;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3901:10;;;;;;;;;-1:-1:-1;;;;;3901:10:456;-1:-1:-1;;;;;3901:25:456;;:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3699:236::o;1819:584:435:-;1853:4;1873:7;;;;;;;1869:528;;;-1:-1:-1;1903:7:435;;;;;;;1896:14;;1869:528;1941:17;1984:16;:14;:16::i;:::-;1980:374;;;2196:43;;;1671:64;2196:43;;;;;;;-1:-1:-1;;;2196:43:435;;;;;;;;;;;;;2023:20;2196:43;;;;;;-1:-1:-1;;;2086:175:435;;;;;;;;1671:64;;2135:34;;2196:43;;2086:175;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2086:175:435;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2047:232;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2047:232:435;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2020:259;;;2323:7;2312:27;;;;;;;;;;;;;;;-1:-1:-1;2312:27:435;;-1:-1:-1;;1980:374:435;2374:12;-1:-1:-1;1869:528:435;1819:584;:::o;3298:395:456:-;3340:10;;:43;;;-1:-1:-1;;;3340:43:456;;3377:4;3340:43;;;;;;-1:-1:-1;;;;;3340:10:456;;;;:28;;:43;;;;;:10;;:43;;;;;;;;:10;;:43;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3394:37:456;;;-1:-1:-1;;;3394:37:456;;3408:4;3394:37;;;;;;;;;;;;;;;;;;;;;;;;245:64:436;;-1:-1:-1;3394:13:456;;-1:-1:-1;3394:37:456;;;;;269::436;;3394::456;;;;;;;269::436;245:64;3394:37:456;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3446:50:456;;3490:4;;-1:-1:-1;3475:4:456;;-1:-1:-1;3446:50:456;;;;;3507:23;;;-1:-1:-1;;;3507:23:456;;3524:4;3507:23;;;;;;245:64:436;;3507:8:456;;:23;;;;;269:37:436;;3507:23:456;;;;;;;269:37:436;245:64;3507:23:456;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3540:10;;;;;;;;;-1:-1:-1;;;;;3540:10:456;-1:-1:-1;;;;;3540:25:456;;:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3578:46;3595:4;3602:10;;;;;;;;;-1:-1:-1;;;;;3602:10:456;-1:-1:-1;;;;;3602:19:456;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3602:21:456;3578:8;:46::i;:::-;3634:52;3651:1;3655:10;;;;;;;;;-1:-1:-1;;;;;3655:10:456;-1:-1:-1;;;;;3655:28:456;;:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3634:52;3298:395::o;165:28:436:-;;;;;;;;;:::o;1572:26:435:-;;;;;;:::o;2840:242::-;2990:42;2978:55;3059:16;;2840:242;:::o;3615:277::-;3683:1;-1:-1:-1;;;;;3678:6:435;:1;-1:-1:-1;;;;;3678:6:435;;3674:212;;3705:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3768:34;;;-1:-1:-1;;;;;3768:34:435;;;;;;;;;;;;;;-1:-1:-1;;;3768:34:435;;;;;;;;;;;;;;;3821;;;-1:-1:-1;;;;;3821:34:435;;;;;;;;;;;;;;-1:-1:-1;;;3821:34:435;;;;;;;;;;;;;;;3869:6;:4;:6::i;:::-;3615:277;;:::o;2410:424::-;2449:16;:14;:16::i;:::-;2445:359;;;2645:67;;;1671:64;2645:67;;;;;;;-1:-1:-1;;;2645:67:435;;;;2705:4;1679:55;2645:67;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2534:196:435;;;;;;;;2482:11;;1671:64;;2579:43;;2645:67;2534:196;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2534:196:435;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2499:245;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2499:245:435;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;2445:359:435;2813:7;:14;;-1:-1:-1;;2813:14:435;;;;;2410:424::o;-1:-1:-1:-;;;;;;;;:::o", - "linkReferences": {} - }, - "methodIdentifiers": { - "IS_SCRIPT()": "f8ccbf47", - "IS_TEST()": "fa7626d4", - "addr(string)": "511b1df9", - "failed()": "ba414fa6", - "setUp()": "0a9254e4", - "testAnonCannotClaimOwnership()": "9d722647", - "testHappyPath()": "cd8591bb", - "vm()": "3a768463" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"prevOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"nextOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"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_SCRIPT\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"}],\"name\":\"addr\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"setUp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testAnonCannotClaimOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testHappyPath\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"vm\",\"outputs\":[{\"internalType\":\"contract Vm\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"tests/persistent/Dispatcher.t.sol\":\"ClaimOwnershipTest\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/mocks/MockVaultLib.sol\":{\"keccak256\":\"0x14d298c9cd4411cc6260fe50b93a1da572c5ddee7bfca377dd35403741c4e3b6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://e51c048dc4e2c9117fff0ecd4ab94d09701b9cd89247db8608c1a491c7374635\",\"dweb:/ipfs/QmYkH9dXQp1EEMfrcGPUTc3ey4o2UtvG91vDxjgQzwUuHE\"]},\"contracts/persistent/dispatcher/Dispatcher.sol\":{\"keccak256\":\"0x0590285e72005e40573fcc93e95aa75a5963bdcf5b02a627c73d8bc982f9d850\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://e9f2190a9ba01ec1f03b5159387c3864b9700337f3d7b07ec0758bbde52d32e2\",\"dweb:/ipfs/QmX5gevftdWC5xzSVcmVn14aFhKgweCXAhndZ8ZECN92fj\"]},\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/dispatcher/IMigrationHookHandler.sol\":{\"keccak256\":\"0x4cec61ef58c1d2e7693ee954c3582b1a04ff836a569e216edb7526c7e56a5632\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://0acae6d91e3e20e6ebd46cbeff926967a2d64f3d8eb2e3cdff20366917a77879\",\"dweb:/ipfs/Qmd44oJngTNRnwXdDwtNd9o4UvTgxAmBGikz3QMPKf4NWy\"]},\"contracts/persistent/vault/VaultLibBaseCore.sol\":{\"keccak256\":\"0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd\",\"dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz\"]},\"contracts/persistent/vault/VaultProxy.sol\":{\"keccak256\":\"0x08ff12cb7955ab80cf35f98a5abae23a92f655916669986d1580cb394f6b6bb3\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://320fcccd67d3390d6762bdef41f7d5e679e61b3244b1d945fc33402ea684bc3a\",\"dweb:/ipfs/Qmaaxqgm4EzF1r4n52pkjs7bA5quKhVwrh356rTFXDj86L\"]},\"contracts/persistent/vault/interfaces/IMigratableVault.sol\":{\"keccak256\":\"0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6\",\"dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs\"]},\"contracts/persistent/vault/utils/ProxiableVaultLib.sol\":{\"keccak256\":\"0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44\",\"dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4\"]},\"contracts/persistent/vault/utils/SharesTokenBase.sol\":{\"keccak256\":\"0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8\",\"dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4\"]},\"contracts/persistent/vault/utils/VaultLibSafeMath.sol\":{\"keccak256\":\"0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02\",\"dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG\"]},\"lib/forge-std/lib/ds-test/src/test.sol\":{\"keccak256\":\"0xb39cd1d5220cb474947b131e15a4538334b7e886af244b440ae5c9c6bba96a54\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://3101520221449ac0070bda3881311a71d9aa87e5210765e875246922cb5cb5f5\",\"dweb:/ipfs/Qmbg6kAHNoG7ox9N9Xqd9Ere2H2XixMFWFqvyPwFCzB3Gr\"]},\"lib/forge-std/src/Script.sol\":{\"keccak256\":\"0x4424dbcb8f5b741475445726f87408fcd89951fad973bec2ca442ee157f910e7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5b0b9f6dfb69245d8f888558ae82bf1d2cdeace46201444fe4b2e6a5283f944a\",\"dweb:/ipfs/QmWFSKeFEZngNcwNn7A84EF7pASo5qe6r5oK24r9Kwca7Z\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0xa85dee62f7a3d7d3b26051f28d08bbfaa6d76888b8e64395583c35f11070372b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f3ecace3d6120731c4520f651c36658940df958755a2c86d6bf0ec895320a915\",\"dweb:/ipfs/QmVGbUYLtMsAYF3C27qHKs3VHRuRNDypuDfs4XGK47kqUT\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x63fc2487cf3a6650d933e18bcb61766f15f74c327192381806ea00f8f6446f66\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aad99f7b2ed3b11ff6c17b84b4196c562898640a80cabc2c28c87c116099a00f\",\"dweb:/ipfs/QmQNNbxHabRycegyXwJWBDutrdcScAP2SU5zEvorWEaFpx\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0xbeb823fcdb356244a83aaccdf828ad019ecc1ffaa3dff18e624fc6d5714ea671\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4cbe9400340e5f9ec55e2aff3bad1c15fa3afbbe37e80800e6f3fed2ad26854f\",\"dweb:/ipfs/QmdJBABsuXkvWxVzEyGXsTE3vyfBPXDdw5xvvtUz3JeoYW\"]},\"tests/persistent/Dispatcher.t.sol\":{\"keccak256\":\"0x9f19e0376c4d2fa61f4c50089a46d54b7a1d464b31413aeb4147da02b44cd298\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://e9f733c425d149594c2044229dd51e543d330cfb11b7825dfd59631a3aabd71d\",\"dweb:/ipfs/QmY3c9daKiMH2W9qbq94TekosaySFV44ZUXsGuBfigo832\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "prevOwner", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "nextOwner", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "OwnershipTransferred", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "", - "type": "string", - "indexed": false - } - ], - "type": "event", - "name": "log", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "log_address", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "uint256[]", - "name": "val", - "type": "uint256[]", - "indexed": false - } - ], - "type": "event", - "name": "log_array", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "int256[]", - "name": "val", - "type": "int256[]", - "indexed": false - } - ], - "type": "event", - "name": "log_array", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "val", - "type": "address[]", - "indexed": false - } - ], - "type": "event", - "name": "log_array", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes", - "indexed": false - } - ], - "type": "event", - "name": "log_bytes", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32", - "indexed": false - } - ], - "type": "event", - "name": "log_bytes32", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "int256", - "name": "", - "type": "int256", - "indexed": false - } - ], - "type": "event", - "name": "log_int", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "key", - "type": "string", - "indexed": false - }, - { - "internalType": "address", - "name": "val", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "log_named_address", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "key", - "type": "string", - "indexed": false - }, - { - "internalType": "uint256[]", - "name": "val", - "type": "uint256[]", - "indexed": false - } - ], - "type": "event", - "name": "log_named_array", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "key", - "type": "string", - "indexed": false - }, - { - "internalType": "int256[]", - "name": "val", - "type": "int256[]", - "indexed": false - } - ], - "type": "event", - "name": "log_named_array", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "key", - "type": "string", - "indexed": false - }, - { - "internalType": "address[]", - "name": "val", - "type": "address[]", - "indexed": false - } - ], - "type": "event", - "name": "log_named_array", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "key", - "type": "string", - "indexed": false - }, - { - "internalType": "bytes", - "name": "val", - "type": "bytes", - "indexed": false - } - ], - "type": "event", - "name": "log_named_bytes", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "key", - "type": "string", - "indexed": false - }, - { - "internalType": "bytes32", - "name": "val", - "type": "bytes32", - "indexed": false - } - ], - "type": "event", - "name": "log_named_bytes32", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "key", - "type": "string", - "indexed": false - }, - { - "internalType": "int256", - "name": "val", - "type": "int256", - "indexed": false - }, - { - "internalType": "uint256", - "name": "decimals", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "log_named_decimal_int", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "key", - "type": "string", - "indexed": false - }, - { - "internalType": "uint256", - "name": "val", - "type": "uint256", - "indexed": false - }, - { - "internalType": "uint256", - "name": "decimals", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "log_named_decimal_uint", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "key", - "type": "string", - "indexed": false - }, - { - "internalType": "int256", - "name": "val", - "type": "int256", - "indexed": false - } - ], - "type": "event", - "name": "log_named_int", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "key", - "type": "string", - "indexed": false - }, - { - "internalType": "string", - "name": "val", - "type": "string", - "indexed": false - } - ], - "type": "event", - "name": "log_named_string", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "key", - "type": "string", - "indexed": false - }, - { - "internalType": "uint256", - "name": "val", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "log_named_uint", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "", - "type": "string", - "indexed": false - } - ], - "type": "event", - "name": "log_string", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "log_uint", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes", - "indexed": false - } - ], - "type": "event", - "name": "logs", - "anonymous": false - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "IS_SCRIPT", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "IS_TEST", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "string", - "name": "_name", - "type": "string" - } - ], - "stateMutability": "pure", - "type": "function", - "name": "addr", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "failed", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "setUp" - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "testAnonCannotClaimOwnership" - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "testHappyPath" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "vm", - "outputs": [ - { - "internalType": "contract Vm", - "name": "", - "type": "address" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "tests/persistent/Dispatcher.t.sol": "ClaimOwnershipTest" - }, - "libraries": {} - }, - "sources": { - "contracts/mocks/MockVaultLib.sol": { - "keccak256": "0x14d298c9cd4411cc6260fe50b93a1da572c5ddee7bfca377dd35403741c4e3b6", - "urls": [ - "bzz-raw://e51c048dc4e2c9117fff0ecd4ab94d09701b9cd89247db8608c1a491c7374635", - "dweb:/ipfs/QmYkH9dXQp1EEMfrcGPUTc3ey4o2UtvG91vDxjgQzwUuHE" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/dispatcher/Dispatcher.sol": { - "keccak256": "0x0590285e72005e40573fcc93e95aa75a5963bdcf5b02a627c73d8bc982f9d850", - "urls": [ - "bzz-raw://e9f2190a9ba01ec1f03b5159387c3864b9700337f3d7b07ec0758bbde52d32e2", - "dweb:/ipfs/QmX5gevftdWC5xzSVcmVn14aFhKgweCXAhndZ8ZECN92fj" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/dispatcher/IDispatcher.sol": { - "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", - "urls": [ - "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", - "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/dispatcher/IMigrationHookHandler.sol": { - "keccak256": "0x4cec61ef58c1d2e7693ee954c3582b1a04ff836a569e216edb7526c7e56a5632", - "urls": [ - "bzz-raw://0acae6d91e3e20e6ebd46cbeff926967a2d64f3d8eb2e3cdff20366917a77879", - "dweb:/ipfs/Qmd44oJngTNRnwXdDwtNd9o4UvTgxAmBGikz3QMPKf4NWy" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/VaultLibBaseCore.sol": { - "keccak256": "0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074", - "urls": [ - "bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd", - "dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/VaultProxy.sol": { - "keccak256": "0x08ff12cb7955ab80cf35f98a5abae23a92f655916669986d1580cb394f6b6bb3", - "urls": [ - "bzz-raw://320fcccd67d3390d6762bdef41f7d5e679e61b3244b1d945fc33402ea684bc3a", - "dweb:/ipfs/Qmaaxqgm4EzF1r4n52pkjs7bA5quKhVwrh356rTFXDj86L" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IMigratableVault.sol": { - "keccak256": "0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238", - "urls": [ - "bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6", - "dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/utils/ProxiableVaultLib.sol": { - "keccak256": "0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76", - "urls": [ - "bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44", - "dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/utils/SharesTokenBase.sol": { - "keccak256": "0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113", - "urls": [ - "bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8", - "dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/utils/VaultLibSafeMath.sol": { - "keccak256": "0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d", - "urls": [ - "bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02", - "dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG" - ], - "license": "GPL-3.0" - }, - "lib/forge-std/lib/ds-test/src/test.sol": { - "keccak256": "0xb39cd1d5220cb474947b131e15a4538334b7e886af244b440ae5c9c6bba96a54", - "urls": [ - "bzz-raw://3101520221449ac0070bda3881311a71d9aa87e5210765e875246922cb5cb5f5", - "dweb:/ipfs/Qmbg6kAHNoG7ox9N9Xqd9Ere2H2XixMFWFqvyPwFCzB3Gr" - ], - "license": "GPL-3.0-or-later" - }, - "lib/forge-std/src/Script.sol": { - "keccak256": "0x4424dbcb8f5b741475445726f87408fcd89951fad973bec2ca442ee157f910e7", - "urls": [ - "bzz-raw://5b0b9f6dfb69245d8f888558ae82bf1d2cdeace46201444fe4b2e6a5283f944a", - "dweb:/ipfs/QmWFSKeFEZngNcwNn7A84EF7pASo5qe6r5oK24r9Kwca7Z" - ], - "license": "MIT" - }, - "lib/forge-std/src/Test.sol": { - "keccak256": "0xa85dee62f7a3d7d3b26051f28d08bbfaa6d76888b8e64395583c35f11070372b", - "urls": [ - "bzz-raw://f3ecace3d6120731c4520f651c36658940df958755a2c86d6bf0ec895320a915", - "dweb:/ipfs/QmVGbUYLtMsAYF3C27qHKs3VHRuRNDypuDfs4XGK47kqUT" - ], - "license": "MIT" - }, - "lib/forge-std/src/Vm.sol": { - "keccak256": "0x63fc2487cf3a6650d933e18bcb61766f15f74c327192381806ea00f8f6446f66", - "urls": [ - "bzz-raw://aad99f7b2ed3b11ff6c17b84b4196c562898640a80cabc2c28c87c116099a00f", - "dweb:/ipfs/QmQNNbxHabRycegyXwJWBDutrdcScAP2SU5zEvorWEaFpx" - ], - "license": "MIT" - }, - "lib/forge-std/src/console.sol": { - "keccak256": "0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba", - "urls": [ - "bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70", - "dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec" - ], - "license": "MIT" - }, - "lib/forge-std/src/console2.sol": { - "keccak256": "0xbeb823fcdb356244a83aaccdf828ad019ecc1ffaa3dff18e624fc6d5714ea671", - "urls": [ - "bzz-raw://4cbe9400340e5f9ec55e2aff3bad1c15fa3afbbe37e80800e6f3fed2ad26854f", - "dweb:/ipfs/QmdJBABsuXkvWxVzEyGXsTE3vyfBPXDdw5xvvtUz3JeoYW" - ], - "license": "MIT" - }, - "tests/persistent/Dispatcher.t.sol": { - "keccak256": "0x9f19e0376c4d2fa61f4c50089a46d54b7a1d464b31413aeb4147da02b44cd298", - "urls": [ - "bzz-raw://e9f733c425d149594c2044229dd51e543d330cfb11b7825dfd59631a3aabd71d", - "dweb:/ipfs/QmY3c9daKiMH2W9qbq94TekosaySFV44ZUXsGuBfigo832" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 456 -} +{ "abi": [ { "type": "function", "name": "IS_SCRIPT", "inputs": [], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "IS_TEST", "inputs": [], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "addr", "inputs": [ { "name": "_name", "type": "string", "internalType": "string" } ], "outputs": [ { "name": "", "type": "address", "internalType": "address" } ], "stateMutability": "pure" }, { "type": "function", "name": "failed", "inputs": [], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "setUp", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "testAnonCannotClaimOwnership", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "testHappyPath", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "vm", "inputs": [], "outputs": [ { "name": "", "type": "address", "internalType": "contract Vm" } ], "stateMutability": "view" }, { "type": "event", "name": "OwnershipTransferred", "inputs": [ { "name": "prevOwner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "nextOwner", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "log", "inputs": [ { "name": "", "type": "string", "indexed": false, "internalType": "string" } ], "anonymous": false }, { "type": "event", "name": "log_address", "inputs": [ { "name": "", "type": "address", "indexed": false, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "log_array", "inputs": [ { "name": "val", "type": "uint256[]", "indexed": false, "internalType": "uint256[]" } ], "anonymous": false }, { "type": "event", "name": "log_array", "inputs": [ { "name": "val", "type": "int256[]", "indexed": false, "internalType": "int256[]" } ], "anonymous": false }, { "type": "event", "name": "log_array", "inputs": [ { "name": "val", "type": "address[]", "indexed": false, "internalType": "address[]" } ], "anonymous": false }, { "type": "event", "name": "log_bytes", "inputs": [ { "name": "", "type": "bytes", "indexed": false, "internalType": "bytes" } ], "anonymous": false }, { "type": "event", "name": "log_bytes32", "inputs": [ { "name": "", "type": "bytes32", "indexed": false, "internalType": "bytes32" } ], "anonymous": false }, { "type": "event", "name": "log_int", "inputs": [ { "name": "", "type": "int256", "indexed": false, "internalType": "int256" } ], "anonymous": false }, { "type": "event", "name": "log_named_address", "inputs": [ { "name": "key", "type": "string", "indexed": false, "internalType": "string" }, { "name": "val", "type": "address", "indexed": false, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "log_named_array", "inputs": [ { "name": "key", "type": "string", "indexed": false, "internalType": "string" }, { "name": "val", "type": "uint256[]", "indexed": false, "internalType": "uint256[]" } ], "anonymous": false }, { "type": "event", "name": "log_named_array", "inputs": [ { "name": "key", "type": "string", "indexed": false, "internalType": "string" }, { "name": "val", "type": "int256[]", "indexed": false, "internalType": "int256[]" } ], "anonymous": false }, { "type": "event", "name": "log_named_array", "inputs": [ { "name": "key", "type": "string", "indexed": false, "internalType": "string" }, { "name": "val", "type": "address[]", "indexed": false, "internalType": "address[]" } ], "anonymous": false }, { "type": "event", "name": "log_named_bytes", "inputs": [ { "name": "key", "type": "string", "indexed": false, "internalType": "string" }, { "name": "val", "type": "bytes", "indexed": false, "internalType": "bytes" } ], "anonymous": false }, { "type": "event", "name": "log_named_bytes32", "inputs": [ { "name": "key", "type": "string", "indexed": false, "internalType": "string" }, { "name": "val", "type": "bytes32", "indexed": false, "internalType": "bytes32" } ], "anonymous": false }, { "type": "event", "name": "log_named_decimal_int", "inputs": [ { "name": "key", "type": "string", "indexed": false, "internalType": "string" }, { "name": "val", "type": "int256", "indexed": false, "internalType": "int256" }, { "name": "decimals", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "log_named_decimal_uint", "inputs": [ { "name": "key", "type": "string", "indexed": false, "internalType": "string" }, { "name": "val", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "decimals", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "log_named_int", "inputs": [ { "name": "key", "type": "string", "indexed": false, "internalType": "string" }, { "name": "val", "type": "int256", "indexed": false, "internalType": "int256" } ], "anonymous": false }, { "type": "event", "name": "log_named_string", "inputs": [ { "name": "key", "type": "string", "indexed": false, "internalType": "string" }, { "name": "val", "type": "string", "indexed": false, "internalType": "string" } ], "anonymous": false }, { "type": "event", "name": "log_named_uint", "inputs": [ { "name": "key", "type": "string", "indexed": false, "internalType": "string" }, { "name": "val", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "log_string", "inputs": [ { "name": "", "type": "string", "indexed": false, "internalType": "string" } ], "anonymous": false }, { "type": "event", "name": "log_uint", "inputs": [ { "name": "", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "logs", "inputs": [ { "name": "", "type": "bytes", "indexed": false, "internalType": "bytes" } ], "anonymous": false } ], "bytecode": { "object": "0x60806040526000805462ff00001960ff19909116600117166201000017905534801561002a57600080fd5b506135b88061003a6000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063ba414fa61161005b578063ba414fa614610169578063cd8591bb14610185578063f8ccbf471461018d578063fa7626d41461019557610088565b80630a9254e41461008d5780633a76846314610097578063511b1df9146100bb5780639d72264714610161575b600080fd5b61009561019d565b005b61009f6101e8565b604080516001600160a01b039092168252519081900360200190f35b61009f600480360360208110156100d157600080fd5b8101906020810181356401000000008111156100ec57600080fd5b8201836020820111156100fe57600080fd5b8035906020019184600183028401116401000000008311171561012057600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610200945050505050565b610095610214565b610171610366565b604080519115158252519081900360200190f35b61009561052c565b6101716107ef565b6101716107fe565b6040516101a990610ae7565b604051809103906000f0801580156101c5573d6000803e3d6000fd5b50600880546001600160a01b0319166001600160a01b0392909216919091179055565b737109709ecfa91a80626ff3989d68f67f5b1dd12d81565b80516020909101206001600160a01b031690565b6008546040805163039470bd60e51b8152610539600482015290516001600160a01b039092169163728e17a09160248082019260009290919082900301818387803b15801561026257600080fd5b505af1158015610276573d6000803e3d6000fd5b505060405163f28dceb360e01b8152602060048201908152603e60248301819052737109709ecfa91a80626ff3989d68f67f5b1dd12d945063f28dceb393509091829160449091019061356e8239604001915050600060405180830381600087803b1580156102e457600080fd5b505af11580156102f8573d6000803e3d6000fd5b50505050600860009054906101000a90046001600160a01b03166001600160a01b0316634e71e0c86040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561034c57600080fd5b505af1158015610360573d6000803e3d6000fd5b50505050565b60008054610100900460ff16156103885750600054610100900460ff16610529565b6000610392610807565b156105265760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d60208083018290526519985a5b195960d21b838501528351808403850181526060848101909552630667f9d760e41b60808501908152815193947f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc494929391926084909101918401908083835b6020831061043c5780518252601f19909201916020918201910161041d565b6001836020036101000a038019825116818451168082178552505050505050905001925050506040516020818303038152906040526040518082805190602001908083835b602083106104a05780518252601f199092019160209182019101610481565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610502576040519150601f19603f3d011682016040523d82523d6000602084013e610507565b606091505b5091505080806020019051602081101561052057600080fd5b50519150505b90505b90565b6008546040805163039470bd60e51b8152610539600482015290516001600160a01b039092169163728e17a09160248082019260009290919082900301818387803b15801561057a57600080fd5b505af115801561058e573d6000803e3d6000fd5b50506040805163248e63e160e11b8152600160048201819052602482018190526044820181905260648201529051737109709ecfa91a80626ff3989d68f67f5b1dd12d935063491cc7c29250608480830192600092919082900301818387803b1580156105fa57600080fd5b505af115801561060e573d6000803e3d6000fd5b505060405161053992503091507f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a36040805163ca669fa760e01b815261053960048201529051737109709ecfa91a80626ff3989d68f67f5b1dd12d9163ca669fa791602480830192600092919082900301818387803b15801561069557600080fd5b505af11580156106a9573d6000803e3d6000fd5b50505050600860009054906101000a90046001600160a01b03166001600160a01b0316634e71e0c86040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156106fd57600080fd5b505af1158015610711573d6000803e3d6000fd5b5050505061079a610539600860009054906101000a90046001600160a01b03166001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561076957600080fd5b505afa15801561077d573d6000803e3d6000fd5b505050506040513d602081101561079357600080fd5b5051610822565b6107ed6000600860009054906101000a90046001600160a01b03166001600160a01b031663288b6a366040518163ffffffff1660e01b815260040160206040518083038186803b15801561076957600080fd5b565b60005462010000900460ff1681565b60005460ff1681565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b151590565b806001600160a01b0316826001600160a01b031614610944577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f506040518080602001828103825260258152602001806135496025913960400191505060405180910390a1604080516001600160a01b0383166020820152818152600a81830152690808115e1c1958dd195960b21b606082015290517f9c4e8541ca8f0dc1c413f9108f66d82d3cecb1bddbce437a61caa3175c4cc96f9181900360800190a1604080516001600160a01b0384166020820152818152600a8183015269080808081058dd1d585b60b21b606082015290517f9c4e8541ca8f0dc1c413f9108f66d82d3cecb1bddbce437a61caa3175c4cc96f9181900360800190a1610944610948565b5050565b610950610807565b15610ad65760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d60208083018290526519985a5b195960d21b83850152600160608481019190915284518085039091018152608084019094526370ca10bb60e01b60a08401908152845160009593947f70ca10bbd0dbfd9020a9f4b13402c16cb120705e0d1c0aeab10fa353ae586fc4949360a490910191908401908083835b60208310610a065780518252601f1990920191602091820191016109e7565b6001836020036101000a038019825116818451168082178552505050505050905001925050506040516020818303038152906040526040518082805190602001908083835b60208310610a6a5780518252601f199092019160209182019101610a4b565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610acc576040519150601f19603f3d011682016040523d82523d6000602084013e610ad1565b606091505b505050505b6000805461ff001916610100179055565b612a5480610af58339019056fe60806040523480156200001157600080fd5b506202a300600355600280546001600160a01b031916331790556040805180820190915260048082526322a72d2360e11b60209092019182526200005691816200005d565b50620000f9565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620000a057805160ff1916838001178555620000d0565b82800160010185558215620000d0579182015b82811115620000d0578251825591602001919060010190620000b3565b50620000de929150620000e2565b5090565b5b80821115620000de5760008155600101620000e3565b61294b80620001096000396000f3fe60806040523480156200001157600080fd5b5060043610620001485760003560e01c806377a8c62411620000bd57806397af7050116200007b57806397af7050146200042d5780639c9d48da1462000456578063b47b06001462000487578063d0449d3d1462000509578063d15f9b9c14620005325762000148565b806377a8c62414620003885780637c77b2ed14620003b15780637dad9fc814620003bb5780638156eecf1462000419578063893d20e814620004235762000148565b80633d7c74f8116200010b5780633d7c74f814620002795780634e71e0c814620002a257806366231cea14620002ac578063728e17a014620002e9578063757bc0dd14620003125762000148565b80631df419f7146200014d57806322a0c08b146200016f578063288b6a3614620002225780632fa0c161146200022c57806338b3eb1b1462000248575b600080fd5b6200016d600480360360208110156200016557600080fd5b503562000573565b005b62000206600480360360808110156200018757600080fd5b6001600160a01b0382358116926020810135821692604082013590921691810190608081016060820135640100000000811115620001c457600080fd5b820183602082011115620001d757600080fd5b80359060200191846001830284011164010000000083111715620001fa57600080fd5b50909250905062000646565b604080516001600160a01b039092168252519081900360200190f35b62000206620008df565b62000236620008ee565b60408051918252519081900360200190f35b6200016d600480360360408110156200026057600080fd5b506001600160a01b0381351690602001351515620008f4565b62000206600480360360208110156200029157600080fd5b50356001600160a01b031662000c46565b6200016d62000c67565b620002d560048036036020811015620002c457600080fd5b50356001600160a01b031662000d10565b604080519115158252519081900360200190f35b6200016d600480360360208110156200030157600080fd5b50356001600160a01b031662000d43565b6200016d600480360360208110156200032a57600080fd5b8101906020810181356401000000008111156200034657600080fd5b8201836020820111156200035957600080fd5b803590602001918460018302840111640100000000831117156200037c57600080fd5b50909250905062000ebd565b6200023660048036036020811015620003a057600080fd5b50356001600160a01b031662000f7b565b6200020662000fc4565b620003e460048036036020811015620003d357600080fd5b50356001600160a01b031662000fd3565b604080516001600160a01b03958616815293851660208501529190931682820152606082019290925290519081900360800190f35b6200016d6200106b565b6200020662001147565b6200016d600480360360208110156200044557600080fd5b50356001600160a01b031662001156565b6200016d600480360360408110156200046e57600080fd5b506001600160a01b0381351690602001351515620012e1565b620004916200152a565b6040805160208082528351818301528351919283929083019185019080838360005b83811015620004cd578181015183820152602001620004b3565b50505050905090810190601f168015620004fb5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b620002d5600480360360208110156200052157600080fd5b50356001600160a01b0316620015c4565b6200016d600480360360808110156200054a57600080fd5b506001600160a01b038135811691602081013582169160408201351690606001351515620015e4565b6002546001600160a01b03163314620005be5760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b60035481811415620006025760405162461bcd60e51b815260040180806020018281038252603b81526020018062002904603b913960400191505060405180910390fd5b6003829055604080518281526020810184905281517f481ce28a1145a5d9b59e2d1d7eba33bc3350124def8fdc91032238d343ad5361929181900390910190a15050565b600080546001600160a01b03163314620006925760405162461bcd60e51b8152600401808060200182810382526034815260200180620024b66034913960400191505060405180910390fd5b6200069d8462001832565b620006da5760405162461bcd60e51b815260040180806020018281038252602d8152602001806200269b602d913960400191505060405180910390fd5b6060635c9a6d3760e01b8686868660405160240180856001600160a01b03168152602001846001600160a01b0316815260200180602001828103825284848281815260200192508082843760008382015260408051601f909201601f1990811690940182810390940182529283526020810180516001600160e01b03166001600160e01b0319909b169a909a17909952505196975087968e965062000786955093506200204c92505050565b8080602001836001600160a01b03168152602001828103825284818151815260200191508051906020019080838360005b83811015620007d1578181015183820152602001620007b7565b50505050905090810190601f168015620007ff5780820380516001836020036101000a031916815260200191505b509350505050604051809103906000f08015801562000822573d6000803e3d6000fd5b506001600160a01b0380821660008181526005602090815260409182902080546001600160a01b0319163390811790915582519384528a85169184019190915260609183018281529183018890529395508a8316928a169184917fa50560b448ad796ef60adfeffe1c19ed34daf94c2aa6905d0e209017dbc19f589188918c918c918c919060808201848480828437600083820152604051601f909101601f191690920182900397509095505050505050a4505095945050505050565b6001546001600160a01b031690565b60035490565b620008fe6200205a565b506001600160a01b038083166000908152600660209081526040918290208251608081018452815485168082526001830154861693820193909352600282015490941692840192909252600390910154606083015280620009915760405162461bcd60e51b815260040180806020018281038252603d815260200180620028c7603d913960400191505060405180910390fd5b336001600160a01b03821614620009da5760405162461bcd60e51b81526004018080602001828103825260458152602001806200279c6045913960600191505060405180910390fd5b6000546001600160a01b0382811691161462000a285760405162461bcd60e51b815260040180806020018281038252604f815260200180620025ed604f913960600191505060405180910390fd5b60608201514281111562000a6e5760405162461bcd60e51b8152600401808060200182810382526038815260200180620027296038913960400191505060405180910390fd5b6001600160a01b0380861660009081526005602090815260409182902054908601519186015192169162000aa9600289858886868d62001838565b876001600160a01b0316634140d607826040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050600060405180830381600087803b15801562000af957600080fd5b505af115801562000b0e573d6000803e3d6000fd5b50505050876001600160a01b031663ab9253ac836040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050600060405180830381600087803b15801562000b6257600080fd5b505af115801562000b77573d6000803e3d6000fd5b5050506001600160a01b03808a1660009081526005602090815260408083208054948b166001600160a01b0319958616179055600690915281208054831681556001810180548416905560028101805490931690925560039182015562000be5915089858886868d62001838565b604080516001600160a01b038481168252838116602083015281830187905291518288169286811692908c16917fad6fb3d36e2cda148dfd43203c1a40c0da9a9baa662ae9d6c3b0c3e4a9d6a6359181900360600190a45050505050505050565b6001600160a01b03808216600090815260056020526040902054165b919050565b6001546001600160a01b031633811462000cb35760405162461bcd60e51b815260040180806020018281038252603e8152602001806200281c603e913960400191505060405180910390fd5b600180546001600160a01b0319908116909155600280546001600160a01b0384811693821684179092556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038116600090815260066020526040812060030154801580159062000d3c5750804210155b9392505050565b6002546001600160a01b0316331462000d8e5760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b6001600160a01b03811662000dd55760405162461bcd60e51b8152600401808060200182810382526036815260200180620026c86036913960400191505060405180910390fd5b6002546001600160a01b038281169116141562000e245760405162461bcd60e51b815260040180806020018281038252603b81526020018062002761603b913960400191505060405180910390fd5b6001546001600160a01b038281169116141562000e735760405162461bcd60e51b815260040180806020018281038252603b815260200180620027e1603b913960400191505060405180910390fd5b600180546001600160a01b0319166001600160a01b0383169081179091556040517f132c19de901bb4ed8403c34734b6c841d5dc57745824da452a52433519ea5abf90600090a250565b6002546001600160a01b0316331462000f085760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b62000f166004838362002081565b507ff0115712c23b609855a28d7b8963c6d16d732ae388b11e5d4ec6d5eae4ad8698828260405180806020018281038252848482818152602001925080828437600083820152604051601f909101601f19169092018290039550909350505050a15050565b6001600160a01b0381166000908152600660205260408120600301548062000fa857600091505062000c62565b80421062000fbb57600091505062000c62565b42900392915050565b6000546001600160a01b031690565b60008060008062000fe36200205a565b506001600160a01b038086166000908152600660209081526040918290208251608081018452815485168152600182015485169281019290925260028101549093169181019190915260039091015460608201819052156200106257806000015181602001518260400151836060015194509450945094505062001064565b505b9193509193565b6002546001600160a01b03163314620010b65760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b6001546001600160a01b031680620011005760405162461bcd60e51b81526004018080602001828103825260318152602001806200266a6031913960400191505060405180910390fd5b600180546001600160a01b03191690556040516001600160a01b038216907fe4136584a5e8bb85d66301f3ce8b11cc2e5a8bea3979f10ea2451353849acc4790600090a250565b6002546001600160a01b031690565b6002546001600160a01b03163314620011a15760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b6001600160a01b038116620011e85760405162461bcd60e51b81526004018080602001828103825260398152602001806200258e6039913960400191505060405180910390fd5b620011f38162001832565b620012305760405162461bcd60e51b8152600401808060200182810382526036815260200180620028916036913960400191505060405180910390fd5b6000546001600160a01b03908116908216811415620012815760405162461bcd60e51b81526004018080602001828103825260488152602001806200251a6048913960600191505060405180910390fd5b600080546001600160a01b0319166001600160a01b03848116918217909255604080519284168352602083019190915280517f44cf34a26ccbaa8a20e6098a1278e28682572ec9921eb43d8dab274a503e92f59281900390910190a15050565b620012eb6200205a565b506001600160a01b0380831660009081526006602090815260409182902082516080810184528154851680825260018301548616938201939093526002820154909416928401929092526003909101546060830152806200137e5760405162461bcd60e51b815260040180806020018281038252602c81526020018062002562602c913960400191505060405180910390fd5b336001600160a01b038216148062001407575060408051633ef03e7560e11b815233600482015290516001600160a01b03861691637de07cea916024808301926020929190829003018186803b158015620013d857600080fd5b505afa158015620013ed573d6000803e3d6000fd5b505050506040513d60208110156200140457600080fd5b50515b620014445760405162461bcd60e51b8152600401808060200182810382526026815260200180620025c76026913960400191505060405180910390fd5b6001600160a01b0380851660009081526005602090815260408083205486830151878301516060890151600690955292852080546001600160a01b03199081168255600182018054821690556002820180549091169055600301949094559093169290620014b9600489868887878d62001838565b620014c988858786868c62001bd1565b604080516001600160a01b038581168252848116602083015281830184905291518288169287811692908c16917f9851a8f232c380eb2c1065756776e37d85d4fe0c8cb4005b0d72c749bfef923e9181900360600190a45050505050505050565b60048054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815260609390929091830182828015620015ba5780601f106200158e57610100808354040283529160200191620015ba565b820191906000526020600020905b8154815290600101906020018083116200159c57829003601f168201915b5050505050905090565b6001600160a01b0316600090815260066020526040902060030154151590565b6000546001600160a01b031633146200162f5760405162461bcd60e51b8152600401808060200182810382526034815260200180620024b66034913960400191505060405180910390fd5b6200163a8362001832565b620016775760405162461bcd60e51b8152600401808060200182810382526030815260200180620024ea6030913960400191505060405180910390fd5b6001600160a01b038085166000908152600560205260409020541680620016d05760405162461bcd60e51b815260040180806020018281038252602b815260200180620026fe602b913960400191505060405180910390fd5b336001600160a01b0382168114156200171b5760405162461bcd60e51b81526004018080602001828103825260378152602001806200285a6037913960400191505060405180910390fd5b6200172d600087848489898962001838565b60038054604080516080810182526001600160a01b03808616825289811660208084019182528a831684860190815242909601606085018181528e85166000908152600690935295909120935184549084166001600160a01b0319918216178555915160018086018054928616928516929092179091559551600285018054919094169216919091179091559151930192909255620017d2908885858a8a8a62001838565b604080516001600160a01b038881168252878116602083015281830184905291518285169286811692908b16917fb519c42fdb88f83f098814813f2ebff14fbf14f3e68b054e5a98834c69d54bfb9181900360600190a450505050505050565b3b151590565b60006060866001600160a01b0316633f84c12c60e01b8a8a898989604051602401808660048111156200186757fe5b8152602001856001600160a01b03168152602001846001600160a01b03168152602001836001600160a01b03168152602001826001600160a01b0316815260200195505050505050604051602081830303815290604052906001600160e01b0319166020820180516001600160e01b0383818316178352505050506040518082805190602001908083835b60208310620019135780518252601f199092019160209182019101620018f2565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811462001977576040519150601f19603f3d011682016040523d82523d6000602084013e6200197c565b606091505b50915091508162001bc65782620019938a62001ea1565b826040516020018083805190602001908083835b60208310620019c85780518252601f199092019160209182019101620019a7565b51815160209384036101000a600019018019909216911617905285519190930192850191508083835b6020831062001a125780518252601f199092019160209182019101620019f1565b6001836020036101000a038019825116818451168082178552505050505050905001925050506040516020818303038152906040529062001ad45760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101562001a9857818101518382015260200162001a7e565b50505050905090810190601f16801562001ac65780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50856001600160a01b0316876001600160a01b0316896001600160a01b03167fbf0ae6830883bd89855f2e7b17a2924b5de0b2b3d4a8834d7c2c0d5dc53447db848d8a8a604051808060200185600481111562001b2d57fe5b8152602001846001600160a01b03168152602001836001600160a01b03168152602001828103825286818151815260200191508051906020019080838360005b8381101562001b8757818101518382015260200162001b6d565b50505050905090810190601f16801562001bb55780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a45b505050505050505050565b604080516001600160a01b038881166024830152878116604483015285811660648301528481166084808401919091528351808403909101815260a490920183526020820180516001600160e01b031663df369ba760e01b17815292518251600094606094938a169392918291908083835b6020831062001c645780518252601f19909201916020918201910162001c43565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811462001cc8576040519150601f19603f3d011682016040523d82523d6000602084013e62001ccd565b606091505b50915091508162001e9757828160405160200180807f4d6967726174696f6e4f757443616e63656c486f6f6b3a20000000000000000081525060180182805190602001908083835b6020831062001d365780518252601f19909201916020918201910162001d15565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040516020818303038152906040529062001db95760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831562001a9857818101518382015260200162001a7e565b50856001600160a01b0316876001600160a01b0316896001600160a01b03167f7c79070aa51adb676fb9c8d0f7a1f841ff9cf514444b37c95297ed1c52547b328489896040518080602001846001600160a01b03168152602001836001600160a01b03168152602001828103825285818151815260200191508051906020019080838360005b8381101562001e5957818101518382015260200162001e3f565b50505050905090810190601f16801562001e875780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a45b5050505050505050565b6060600082600481111562001eb257fe5b141562001ef4575060408051808201909152601c81527f4d6967726174696f6e4f7574486f6f6b2e5072655369676e616c3a2000000000602082015262000c62565b600182600481111562001f0357fe5b141562001f45575060408051808201909152601d81527f4d6967726174696f6e4f7574486f6f6b2e506f73745369676e616c3a20000000602082015262000c62565b600282600481111562001f5457fe5b141562001f96575060408051808201909152601d81527f4d6967726174696f6e4f7574486f6f6b2e5072654d6967726174653a20000000602082015262000c62565b600382600481111562001fa557fe5b141562001fe7575060408051808201909152601e81527f4d6967726174696f6e4f7574486f6f6b2e506f73744d6967726174653a200000602082015262000c62565b600482600481111562001ff657fe5b141562002038575060408051808201909152601d81527f4d6967726174696f6e4f7574486f6f6b2e506f737443616e63656c3a20000000602082015262000c62565b505060408051602081019091526000815290565b610398806200211e83390190565b60408051608081018252600080825260208201819052918101829052606081019190915290565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620020c45782800160ff19823516178555620020f4565b82800160010185558215620020f4579182015b82811115620020f4578235825591602001919060010190620020d7565b506200210292915062002106565b5090565b5b808211156200210257600081556001016200210756fe608060405234801561001057600080fd5b506040516103983803806103988339818101604052604081101561003357600080fd5b810190808051604051939291908464010000000082111561005357600080fd5b90830190602082018581111561006857600080fd5b825164010000000081118282018810171561008257600080fd5b82525081516020918201929091019080838360005b838110156100af578181015183820152602001610097565b50505050905090810190601f1680156100dc5780820380516001836020036101000a031916815260200191505b5060408181526020928301516352d1902d60e01b835290519094506001600160a01b03851693506352d1902d92600480840193919291829003018186803b15801561012657600080fd5b505afa15801561013a573d6000803e3d6000fd5b505050506040513d602081101561015057600080fd5b50517f027b9570e9fedc1a80b937ae9a06861e5faef3992491af30b684a64b3fbec7a5146101af5760405162461bcd60e51b81526004018080602001828103825260258152602001806103736025913960400191505060405180910390fd5b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5560006060826001600160a01b0316846040518082805190602001908083835b602083106102105780518252601f1990920191602091820191016101f1565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610270576040519150601f19603f3d011682016040523d82523d6000602084013e610275565b606091505b50915091508181906103055760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156102ca5781810151838201526020016102b2565b50505050905090810190601f1680156102f75780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5050505050605b806103186000396000f3fe60806040527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc543660008037600080366000846127105a03f43d806000803e818015604957816000f35b816000fdfea164736f6c634300060c000a636f6e7374727563746f723a205f7661756c744c6962206e6f7420636f6d70617469626c654f6e6c79207468652063757272656e742046756e644465706c6f7965722063616e2063616c6c20746869732066756e6374696f6e7369676e616c4d6967726174696f6e3a204e6f6e2d636f6e7472616374205f6e6578745661756c744163636573736f7273657443757272656e7446756e644465706c6f7965723a205f6e65787446756e644465706c6f79657220697320616c72656164792063757272656e7446756e644465706c6f79657263616e63656c4d6967726174696f6e3a204e6f206d6967726174696f6e20726571756573742065786973747373657443757272656e7446756e644465706c6f7965723a205f6e65787446756e644465706c6f7965722063616e6e6f7420626520656d70747963616e63656c4d6967726174696f6e3a204e6f7420616e20616c6c6f7765642063616c6c6572657865637574654d6967726174696f6e3a20546865207461726765742046756e644465706c6f796572206973206e6f206c6f6e676572207468652063757272656e742046756e644465706c6f7965724f6e6c792074686520636f6e7472616374206f776e65722063616e2063616c6c20746869732066756e6374696f6e72656d6f76654e6f6d696e617465644f776e65723a205468657265206973206e6f206e6f6d696e61746564206f776e65726465706c6f795661756c7450726f78793a204e6f6e2d636f6e7472616374205f7661756c744163636573736f727365744e6f6d696e617465644f776e65723a205f6e6578744e6f6d696e617465644f776e65722063616e6e6f7420626520656d7074797369676e616c4d6967726174696f6e3a205f7661756c7450726f787920646f6573206e6f74206578697374657865637574654d6967726174696f6e3a20546865206d6967726174696f6e2074696d656c6f636b20686173206e6f7420656c61707365647365744e6f6d696e617465644f776e65723a205f6e6578744e6f6d696e617465644f776e657220697320616c726561647920746865206f776e6572657865637574654d6967726174696f6e3a204f6e6c7920746865207461726765742046756e644465706c6f7965722063616e2063616c6c20746869732066756e6374696f6e7365744e6f6d696e617465644f776e65723a205f6e6578744e6f6d696e617465644f776e657220697320616c7265616479206e6f6d696e61746564636c61696d4f776e6572736869703a204f6e6c7920746865206e6f6d696e617465644f776e65722063616e2063616c6c20746869732066756e6374696f6e7369676e616c4d6967726174696f6e3a2043616e206f6e6c79206d69677261746520746f2061206e65772046756e644465706c6f79657273657443757272656e7446756e644465706c6f7965723a204e6f6e2d636f6e7472616374205f6e65787446756e644465706c6f796572657865637574654d6967726174696f6e3a204e6f206d6967726174696f6e20726571756573742065786973747320666f72205f7661756c7450726f78797365744d6967726174696f6e54696d656c6f636b3a205f6e65787454696d656c6f636b206973207468652063757272656e742074696d656c6f636ba164736f6c634300060c000a4572726f723a2061203d3d2062206e6f7420736174697366696564205b616464726573735d636c61696d4f776e6572736869703a204f6e6c7920746865206e6f6d696e617465644f776e65722063616e2063616c6c20746869732066756e6374696f6ea164736f6c634300060c000a", "sourceMap": "3159:778:456:-:0;;;1572:26:435;;;-1:-1:-1;;;;1572:26:435;;;1594:4;1572:26;165:28:436;;;;;3159:778:456;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106100885760003560e01c8063ba414fa61161005b578063ba414fa614610169578063cd8591bb14610185578063f8ccbf471461018d578063fa7626d41461019557610088565b80630a9254e41461008d5780633a76846314610097578063511b1df9146100bb5780639d72264714610161575b600080fd5b61009561019d565b005b61009f6101e8565b604080516001600160a01b039092168252519081900360200190f35b61009f600480360360208110156100d157600080fd5b8101906020810181356401000000008111156100ec57600080fd5b8201836020820111156100fe57600080fd5b8035906020019184600183028401116401000000008311171561012057600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610200945050505050565b610095610214565b610171610366565b604080519115158252519081900360200190f35b61009561052c565b6101716107ef565b6101716107fe565b6040516101a990610ae7565b604051809103906000f0801580156101c5573d6000803e3d6000fd5b50600880546001600160a01b0319166001600160a01b0392909216919091179055565b737109709ecfa91a80626ff3989d68f67f5b1dd12d81565b80516020909101206001600160a01b031690565b6008546040805163039470bd60e51b8152610539600482015290516001600160a01b039092169163728e17a09160248082019260009290919082900301818387803b15801561026257600080fd5b505af1158015610276573d6000803e3d6000fd5b505060405163f28dceb360e01b8152602060048201908152603e60248301819052737109709ecfa91a80626ff3989d68f67f5b1dd12d945063f28dceb393509091829160449091019061356e8239604001915050600060405180830381600087803b1580156102e457600080fd5b505af11580156102f8573d6000803e3d6000fd5b50505050600860009054906101000a90046001600160a01b03166001600160a01b0316634e71e0c86040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561034c57600080fd5b505af1158015610360573d6000803e3d6000fd5b50505050565b60008054610100900460ff16156103885750600054610100900460ff16610529565b6000610392610807565b156105265760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d60208083018290526519985a5b195960d21b838501528351808403850181526060848101909552630667f9d760e41b60808501908152815193947f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc494929391926084909101918401908083835b6020831061043c5780518252601f19909201916020918201910161041d565b6001836020036101000a038019825116818451168082178552505050505050905001925050506040516020818303038152906040526040518082805190602001908083835b602083106104a05780518252601f199092019160209182019101610481565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610502576040519150601f19603f3d011682016040523d82523d6000602084013e610507565b606091505b5091505080806020019051602081101561052057600080fd5b50519150505b90505b90565b6008546040805163039470bd60e51b8152610539600482015290516001600160a01b039092169163728e17a09160248082019260009290919082900301818387803b15801561057a57600080fd5b505af115801561058e573d6000803e3d6000fd5b50506040805163248e63e160e11b8152600160048201819052602482018190526044820181905260648201529051737109709ecfa91a80626ff3989d68f67f5b1dd12d935063491cc7c29250608480830192600092919082900301818387803b1580156105fa57600080fd5b505af115801561060e573d6000803e3d6000fd5b505060405161053992503091507f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a36040805163ca669fa760e01b815261053960048201529051737109709ecfa91a80626ff3989d68f67f5b1dd12d9163ca669fa791602480830192600092919082900301818387803b15801561069557600080fd5b505af11580156106a9573d6000803e3d6000fd5b50505050600860009054906101000a90046001600160a01b03166001600160a01b0316634e71e0c86040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156106fd57600080fd5b505af1158015610711573d6000803e3d6000fd5b5050505061079a610539600860009054906101000a90046001600160a01b03166001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561076957600080fd5b505afa15801561077d573d6000803e3d6000fd5b505050506040513d602081101561079357600080fd5b5051610822565b6107ed6000600860009054906101000a90046001600160a01b03166001600160a01b031663288b6a366040518163ffffffff1660e01b815260040160206040518083038186803b15801561076957600080fd5b565b60005462010000900460ff1681565b60005460ff1681565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b151590565b806001600160a01b0316826001600160a01b031614610944577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f506040518080602001828103825260258152602001806135496025913960400191505060405180910390a1604080516001600160a01b0383166020820152818152600a81830152690808115e1c1958dd195960b21b606082015290517f9c4e8541ca8f0dc1c413f9108f66d82d3cecb1bddbce437a61caa3175c4cc96f9181900360800190a1604080516001600160a01b0384166020820152818152600a8183015269080808081058dd1d585b60b21b606082015290517f9c4e8541ca8f0dc1c413f9108f66d82d3cecb1bddbce437a61caa3175c4cc96f9181900360800190a1610944610948565b5050565b610950610807565b15610ad65760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d60208083018290526519985a5b195960d21b83850152600160608481019190915284518085039091018152608084019094526370ca10bb60e01b60a08401908152845160009593947f70ca10bbd0dbfd9020a9f4b13402c16cb120705e0d1c0aeab10fa353ae586fc4949360a490910191908401908083835b60208310610a065780518252601f1990920191602091820191016109e7565b6001836020036101000a038019825116818451168082178552505050505050905001925050506040516020818303038152906040526040518082805190602001908083835b60208310610a6a5780518252601f199092019160209182019101610a4b565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610acc576040519150601f19603f3d011682016040523d82523d6000602084013e610ad1565b606091505b505050505b6000805461ff001916610100179055565b612a5480610af58339019056fe60806040523480156200001157600080fd5b506202a300600355600280546001600160a01b031916331790556040805180820190915260048082526322a72d2360e11b60209092019182526200005691816200005d565b50620000f9565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620000a057805160ff1916838001178555620000d0565b82800160010185558215620000d0579182015b82811115620000d0578251825591602001919060010190620000b3565b50620000de929150620000e2565b5090565b5b80821115620000de5760008155600101620000e3565b61294b80620001096000396000f3fe60806040523480156200001157600080fd5b5060043610620001485760003560e01c806377a8c62411620000bd57806397af7050116200007b57806397af7050146200042d5780639c9d48da1462000456578063b47b06001462000487578063d0449d3d1462000509578063d15f9b9c14620005325762000148565b806377a8c62414620003885780637c77b2ed14620003b15780637dad9fc814620003bb5780638156eecf1462000419578063893d20e814620004235762000148565b80633d7c74f8116200010b5780633d7c74f814620002795780634e71e0c814620002a257806366231cea14620002ac578063728e17a014620002e9578063757bc0dd14620003125762000148565b80631df419f7146200014d57806322a0c08b146200016f578063288b6a3614620002225780632fa0c161146200022c57806338b3eb1b1462000248575b600080fd5b6200016d600480360360208110156200016557600080fd5b503562000573565b005b62000206600480360360808110156200018757600080fd5b6001600160a01b0382358116926020810135821692604082013590921691810190608081016060820135640100000000811115620001c457600080fd5b820183602082011115620001d757600080fd5b80359060200191846001830284011164010000000083111715620001fa57600080fd5b50909250905062000646565b604080516001600160a01b039092168252519081900360200190f35b62000206620008df565b62000236620008ee565b60408051918252519081900360200190f35b6200016d600480360360408110156200026057600080fd5b506001600160a01b0381351690602001351515620008f4565b62000206600480360360208110156200029157600080fd5b50356001600160a01b031662000c46565b6200016d62000c67565b620002d560048036036020811015620002c457600080fd5b50356001600160a01b031662000d10565b604080519115158252519081900360200190f35b6200016d600480360360208110156200030157600080fd5b50356001600160a01b031662000d43565b6200016d600480360360208110156200032a57600080fd5b8101906020810181356401000000008111156200034657600080fd5b8201836020820111156200035957600080fd5b803590602001918460018302840111640100000000831117156200037c57600080fd5b50909250905062000ebd565b6200023660048036036020811015620003a057600080fd5b50356001600160a01b031662000f7b565b6200020662000fc4565b620003e460048036036020811015620003d357600080fd5b50356001600160a01b031662000fd3565b604080516001600160a01b03958616815293851660208501529190931682820152606082019290925290519081900360800190f35b6200016d6200106b565b6200020662001147565b6200016d600480360360208110156200044557600080fd5b50356001600160a01b031662001156565b6200016d600480360360408110156200046e57600080fd5b506001600160a01b0381351690602001351515620012e1565b620004916200152a565b6040805160208082528351818301528351919283929083019185019080838360005b83811015620004cd578181015183820152602001620004b3565b50505050905090810190601f168015620004fb5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b620002d5600480360360208110156200052157600080fd5b50356001600160a01b0316620015c4565b6200016d600480360360808110156200054a57600080fd5b506001600160a01b038135811691602081013582169160408201351690606001351515620015e4565b6002546001600160a01b03163314620005be5760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b60035481811415620006025760405162461bcd60e51b815260040180806020018281038252603b81526020018062002904603b913960400191505060405180910390fd5b6003829055604080518281526020810184905281517f481ce28a1145a5d9b59e2d1d7eba33bc3350124def8fdc91032238d343ad5361929181900390910190a15050565b600080546001600160a01b03163314620006925760405162461bcd60e51b8152600401808060200182810382526034815260200180620024b66034913960400191505060405180910390fd5b6200069d8462001832565b620006da5760405162461bcd60e51b815260040180806020018281038252602d8152602001806200269b602d913960400191505060405180910390fd5b6060635c9a6d3760e01b8686868660405160240180856001600160a01b03168152602001846001600160a01b0316815260200180602001828103825284848281815260200192508082843760008382015260408051601f909201601f1990811690940182810390940182529283526020810180516001600160e01b03166001600160e01b0319909b169a909a17909952505196975087968e965062000786955093506200204c92505050565b8080602001836001600160a01b03168152602001828103825284818151815260200191508051906020019080838360005b83811015620007d1578181015183820152602001620007b7565b50505050905090810190601f168015620007ff5780820380516001836020036101000a031916815260200191505b509350505050604051809103906000f08015801562000822573d6000803e3d6000fd5b506001600160a01b0380821660008181526005602090815260409182902080546001600160a01b0319163390811790915582519384528a85169184019190915260609183018281529183018890529395508a8316928a169184917fa50560b448ad796ef60adfeffe1c19ed34daf94c2aa6905d0e209017dbc19f589188918c918c918c919060808201848480828437600083820152604051601f909101601f191690920182900397509095505050505050a4505095945050505050565b6001546001600160a01b031690565b60035490565b620008fe6200205a565b506001600160a01b038083166000908152600660209081526040918290208251608081018452815485168082526001830154861693820193909352600282015490941692840192909252600390910154606083015280620009915760405162461bcd60e51b815260040180806020018281038252603d815260200180620028c7603d913960400191505060405180910390fd5b336001600160a01b03821614620009da5760405162461bcd60e51b81526004018080602001828103825260458152602001806200279c6045913960600191505060405180910390fd5b6000546001600160a01b0382811691161462000a285760405162461bcd60e51b815260040180806020018281038252604f815260200180620025ed604f913960600191505060405180910390fd5b60608201514281111562000a6e5760405162461bcd60e51b8152600401808060200182810382526038815260200180620027296038913960400191505060405180910390fd5b6001600160a01b0380861660009081526005602090815260409182902054908601519186015192169162000aa9600289858886868d62001838565b876001600160a01b0316634140d607826040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050600060405180830381600087803b15801562000af957600080fd5b505af115801562000b0e573d6000803e3d6000fd5b50505050876001600160a01b031663ab9253ac836040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050600060405180830381600087803b15801562000b6257600080fd5b505af115801562000b77573d6000803e3d6000fd5b5050506001600160a01b03808a1660009081526005602090815260408083208054948b166001600160a01b0319958616179055600690915281208054831681556001810180548416905560028101805490931690925560039182015562000be5915089858886868d62001838565b604080516001600160a01b038481168252838116602083015281830187905291518288169286811692908c16917fad6fb3d36e2cda148dfd43203c1a40c0da9a9baa662ae9d6c3b0c3e4a9d6a6359181900360600190a45050505050505050565b6001600160a01b03808216600090815260056020526040902054165b919050565b6001546001600160a01b031633811462000cb35760405162461bcd60e51b815260040180806020018281038252603e8152602001806200281c603e913960400191505060405180910390fd5b600180546001600160a01b0319908116909155600280546001600160a01b0384811693821684179092556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038116600090815260066020526040812060030154801580159062000d3c5750804210155b9392505050565b6002546001600160a01b0316331462000d8e5760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b6001600160a01b03811662000dd55760405162461bcd60e51b8152600401808060200182810382526036815260200180620026c86036913960400191505060405180910390fd5b6002546001600160a01b038281169116141562000e245760405162461bcd60e51b815260040180806020018281038252603b81526020018062002761603b913960400191505060405180910390fd5b6001546001600160a01b038281169116141562000e735760405162461bcd60e51b815260040180806020018281038252603b815260200180620027e1603b913960400191505060405180910390fd5b600180546001600160a01b0319166001600160a01b0383169081179091556040517f132c19de901bb4ed8403c34734b6c841d5dc57745824da452a52433519ea5abf90600090a250565b6002546001600160a01b0316331462000f085760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b62000f166004838362002081565b507ff0115712c23b609855a28d7b8963c6d16d732ae388b11e5d4ec6d5eae4ad8698828260405180806020018281038252848482818152602001925080828437600083820152604051601f909101601f19169092018290039550909350505050a15050565b6001600160a01b0381166000908152600660205260408120600301548062000fa857600091505062000c62565b80421062000fbb57600091505062000c62565b42900392915050565b6000546001600160a01b031690565b60008060008062000fe36200205a565b506001600160a01b038086166000908152600660209081526040918290208251608081018452815485168152600182015485169281019290925260028101549093169181019190915260039091015460608201819052156200106257806000015181602001518260400151836060015194509450945094505062001064565b505b9193509193565b6002546001600160a01b03163314620010b65760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b6001546001600160a01b031680620011005760405162461bcd60e51b81526004018080602001828103825260318152602001806200266a6031913960400191505060405180910390fd5b600180546001600160a01b03191690556040516001600160a01b038216907fe4136584a5e8bb85d66301f3ce8b11cc2e5a8bea3979f10ea2451353849acc4790600090a250565b6002546001600160a01b031690565b6002546001600160a01b03163314620011a15760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b6001600160a01b038116620011e85760405162461bcd60e51b81526004018080602001828103825260398152602001806200258e6039913960400191505060405180910390fd5b620011f38162001832565b620012305760405162461bcd60e51b8152600401808060200182810382526036815260200180620028916036913960400191505060405180910390fd5b6000546001600160a01b03908116908216811415620012815760405162461bcd60e51b81526004018080602001828103825260488152602001806200251a6048913960600191505060405180910390fd5b600080546001600160a01b0319166001600160a01b03848116918217909255604080519284168352602083019190915280517f44cf34a26ccbaa8a20e6098a1278e28682572ec9921eb43d8dab274a503e92f59281900390910190a15050565b620012eb6200205a565b506001600160a01b0380831660009081526006602090815260409182902082516080810184528154851680825260018301548616938201939093526002820154909416928401929092526003909101546060830152806200137e5760405162461bcd60e51b815260040180806020018281038252602c81526020018062002562602c913960400191505060405180910390fd5b336001600160a01b038216148062001407575060408051633ef03e7560e11b815233600482015290516001600160a01b03861691637de07cea916024808301926020929190829003018186803b158015620013d857600080fd5b505afa158015620013ed573d6000803e3d6000fd5b505050506040513d60208110156200140457600080fd5b50515b620014445760405162461bcd60e51b8152600401808060200182810382526026815260200180620025c76026913960400191505060405180910390fd5b6001600160a01b0380851660009081526005602090815260408083205486830151878301516060890151600690955292852080546001600160a01b03199081168255600182018054821690556002820180549091169055600301949094559093169290620014b9600489868887878d62001838565b620014c988858786868c62001bd1565b604080516001600160a01b038581168252848116602083015281830184905291518288169287811692908c16917f9851a8f232c380eb2c1065756776e37d85d4fe0c8cb4005b0d72c749bfef923e9181900360600190a45050505050505050565b60048054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815260609390929091830182828015620015ba5780601f106200158e57610100808354040283529160200191620015ba565b820191906000526020600020905b8154815290600101906020018083116200159c57829003601f168201915b5050505050905090565b6001600160a01b0316600090815260066020526040902060030154151590565b6000546001600160a01b031633146200162f5760405162461bcd60e51b8152600401808060200182810382526034815260200180620024b66034913960400191505060405180910390fd5b6200163a8362001832565b620016775760405162461bcd60e51b8152600401808060200182810382526030815260200180620024ea6030913960400191505060405180910390fd5b6001600160a01b038085166000908152600560205260409020541680620016d05760405162461bcd60e51b815260040180806020018281038252602b815260200180620026fe602b913960400191505060405180910390fd5b336001600160a01b0382168114156200171b5760405162461bcd60e51b81526004018080602001828103825260378152602001806200285a6037913960400191505060405180910390fd5b6200172d600087848489898962001838565b60038054604080516080810182526001600160a01b03808616825289811660208084019182528a831684860190815242909601606085018181528e85166000908152600690935295909120935184549084166001600160a01b0319918216178555915160018086018054928616928516929092179091559551600285018054919094169216919091179091559151930192909255620017d2908885858a8a8a62001838565b604080516001600160a01b038881168252878116602083015281830184905291518285169286811692908b16917fb519c42fdb88f83f098814813f2ebff14fbf14f3e68b054e5a98834c69d54bfb9181900360600190a450505050505050565b3b151590565b60006060866001600160a01b0316633f84c12c60e01b8a8a898989604051602401808660048111156200186757fe5b8152602001856001600160a01b03168152602001846001600160a01b03168152602001836001600160a01b03168152602001826001600160a01b0316815260200195505050505050604051602081830303815290604052906001600160e01b0319166020820180516001600160e01b0383818316178352505050506040518082805190602001908083835b60208310620019135780518252601f199092019160209182019101620018f2565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811462001977576040519150601f19603f3d011682016040523d82523d6000602084013e6200197c565b606091505b50915091508162001bc65782620019938a62001ea1565b826040516020018083805190602001908083835b60208310620019c85780518252601f199092019160209182019101620019a7565b51815160209384036101000a600019018019909216911617905285519190930192850191508083835b6020831062001a125780518252601f199092019160209182019101620019f1565b6001836020036101000a038019825116818451168082178552505050505050905001925050506040516020818303038152906040529062001ad45760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101562001a9857818101518382015260200162001a7e565b50505050905090810190601f16801562001ac65780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50856001600160a01b0316876001600160a01b0316896001600160a01b03167fbf0ae6830883bd89855f2e7b17a2924b5de0b2b3d4a8834d7c2c0d5dc53447db848d8a8a604051808060200185600481111562001b2d57fe5b8152602001846001600160a01b03168152602001836001600160a01b03168152602001828103825286818151815260200191508051906020019080838360005b8381101562001b8757818101518382015260200162001b6d565b50505050905090810190601f16801562001bb55780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a45b505050505050505050565b604080516001600160a01b038881166024830152878116604483015285811660648301528481166084808401919091528351808403909101815260a490920183526020820180516001600160e01b031663df369ba760e01b17815292518251600094606094938a169392918291908083835b6020831062001c645780518252601f19909201916020918201910162001c43565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811462001cc8576040519150601f19603f3d011682016040523d82523d6000602084013e62001ccd565b606091505b50915091508162001e9757828160405160200180807f4d6967726174696f6e4f757443616e63656c486f6f6b3a20000000000000000081525060180182805190602001908083835b6020831062001d365780518252601f19909201916020918201910162001d15565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040516020818303038152906040529062001db95760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831562001a9857818101518382015260200162001a7e565b50856001600160a01b0316876001600160a01b0316896001600160a01b03167f7c79070aa51adb676fb9c8d0f7a1f841ff9cf514444b37c95297ed1c52547b328489896040518080602001846001600160a01b03168152602001836001600160a01b03168152602001828103825285818151815260200191508051906020019080838360005b8381101562001e5957818101518382015260200162001e3f565b50505050905090810190601f16801562001e875780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a45b5050505050505050565b6060600082600481111562001eb257fe5b141562001ef4575060408051808201909152601c81527f4d6967726174696f6e4f7574486f6f6b2e5072655369676e616c3a2000000000602082015262000c62565b600182600481111562001f0357fe5b141562001f45575060408051808201909152601d81527f4d6967726174696f6e4f7574486f6f6b2e506f73745369676e616c3a20000000602082015262000c62565b600282600481111562001f5457fe5b141562001f96575060408051808201909152601d81527f4d6967726174696f6e4f7574486f6f6b2e5072654d6967726174653a20000000602082015262000c62565b600382600481111562001fa557fe5b141562001fe7575060408051808201909152601e81527f4d6967726174696f6e4f7574486f6f6b2e506f73744d6967726174653a200000602082015262000c62565b600482600481111562001ff657fe5b141562002038575060408051808201909152601d81527f4d6967726174696f6e4f7574486f6f6b2e506f737443616e63656c3a20000000602082015262000c62565b505060408051602081019091526000815290565b610398806200211e83390190565b60408051608081018252600080825260208201819052918101829052606081019190915290565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620020c45782800160ff19823516178555620020f4565b82800160010185558215620020f4579182015b82811115620020f4578235825591602001919060010190620020d7565b506200210292915062002106565b5090565b5b808211156200210257600081556001016200210756fe608060405234801561001057600080fd5b506040516103983803806103988339818101604052604081101561003357600080fd5b810190808051604051939291908464010000000082111561005357600080fd5b90830190602082018581111561006857600080fd5b825164010000000081118282018810171561008257600080fd5b82525081516020918201929091019080838360005b838110156100af578181015183820152602001610097565b50505050905090810190601f1680156100dc5780820380516001836020036101000a031916815260200191505b5060408181526020928301516352d1902d60e01b835290519094506001600160a01b03851693506352d1902d92600480840193919291829003018186803b15801561012657600080fd5b505afa15801561013a573d6000803e3d6000fd5b505050506040513d602081101561015057600080fd5b50517f027b9570e9fedc1a80b937ae9a06861e5faef3992491af30b684a64b3fbec7a5146101af5760405162461bcd60e51b81526004018080602001828103825260258152602001806103736025913960400191505060405180910390fd5b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5560006060826001600160a01b0316846040518082805190602001908083835b602083106102105780518252601f1990920191602091820191016101f1565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610270576040519150601f19603f3d011682016040523d82523d6000602084013e610275565b606091505b50915091508181906103055760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156102ca5781810151838201526020016102b2565b50505050905090810190601f1680156102f75780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5050505050605b806103186000396000f3fe60806040527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc543660008037600080366000846127105a03f43d806000803e818015604957816000f35b816000fdfea164736f6c634300060c000a636f6e7374727563746f723a205f7661756c744c6962206e6f7420636f6d70617469626c654f6e6c79207468652063757272656e742046756e644465706c6f7965722063616e2063616c6c20746869732066756e6374696f6e7369676e616c4d6967726174696f6e3a204e6f6e2d636f6e7472616374205f6e6578745661756c744163636573736f7273657443757272656e7446756e644465706c6f7965723a205f6e65787446756e644465706c6f79657220697320616c72656164792063757272656e7446756e644465706c6f79657263616e63656c4d6967726174696f6e3a204e6f206d6967726174696f6e20726571756573742065786973747373657443757272656e7446756e644465706c6f7965723a205f6e65787446756e644465706c6f7965722063616e6e6f7420626520656d70747963616e63656c4d6967726174696f6e3a204e6f7420616e20616c6c6f7765642063616c6c6572657865637574654d6967726174696f6e3a20546865207461726765742046756e644465706c6f796572206973206e6f206c6f6e676572207468652063757272656e742046756e644465706c6f7965724f6e6c792074686520636f6e7472616374206f776e65722063616e2063616c6c20746869732066756e6374696f6e72656d6f76654e6f6d696e617465644f776e65723a205468657265206973206e6f206e6f6d696e61746564206f776e65726465706c6f795661756c7450726f78793a204e6f6e2d636f6e7472616374205f7661756c744163636573736f727365744e6f6d696e617465644f776e65723a205f6e6578744e6f6d696e617465644f776e65722063616e6e6f7420626520656d7074797369676e616c4d6967726174696f6e3a205f7661756c7450726f787920646f6573206e6f74206578697374657865637574654d6967726174696f6e3a20546865206d6967726174696f6e2074696d656c6f636b20686173206e6f7420656c61707365647365744e6f6d696e617465644f776e65723a205f6e6578744e6f6d696e617465644f776e657220697320616c726561647920746865206f776e6572657865637574654d6967726174696f6e3a204f6e6c7920746865207461726765742046756e644465706c6f7965722063616e2063616c6c20746869732066756e6374696f6e7365744e6f6d696e617465644f776e65723a205f6e6578744e6f6d696e617465644f776e657220697320616c7265616479206e6f6d696e61746564636c61696d4f776e6572736869703a204f6e6c7920746865206e6f6d696e617465644f776e65722063616e2063616c6c20746869732066756e6374696f6e7369676e616c4d6967726174696f6e3a2043616e206f6e6c79206d69677261746520746f2061206e65772046756e644465706c6f79657273657443757272656e7446756e644465706c6f7965723a204e6f6e2d636f6e7472616374205f6e65787446756e644465706c6f796572657865637574654d6967726174696f6e3a204e6f206d6967726174696f6e20726571756573742065786973747320666f72205f7661756c7450726f78797365744d6967726174696f6e54696d656c6f636b3a205f6e65787454696d656c6f636b206973207468652063757272656e742074696d656c6f636ba164736f6c634300060c000a4572726f723a2061203d3d2062206e6f7420736174697366696564205b616464726573735d636c61696d4f776e6572736869703a204f6e6c7920746865206e6f6d696e617465644f776e65722063616e2063616c6c20746869732066756e6374696f6ea164736f6c634300060c000a", "sourceMap": "3159:778:456:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;823:78;;;:::i;:::-;;316:38:436;;;:::i;:::-;;;;-1:-1:-1;;;;;316:38:436;;;;;;;;;;;;;;669:148:456;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;669:148:456;;-1:-1:-1;669:148:456;;-1:-1:-1;;;;;669:148:456:i;3699:236::-;;;:::i;1819:584:435:-;;;:::i;:::-;;;;;;;;;;;;;;;;;;3298:395:456;;;:::i;165:28:436:-;;;:::i;1572:26:435:-;;;:::i;823:78:456:-;878:16;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;865:10:456;:29;;-1:-1:-1;;;;;;865:29:456;-1:-1:-1;;;;;865:29:456;;;;;;;;;;823:78::o;316:38:436:-;245:64;316:38;:::o;669:148:456:-;783:23;;;;;;;-1:-1:-1;;;;;751:59:456;;669:148::o;3699:236::-;3756:10;;:43;;;-1:-1:-1;;;3756:43:456;;3793:4;3756:43;;;;;;-1:-1:-1;;;;;3756:10:456;;;;:28;;:43;;;;;:10;;:43;;;;;;;;:10;;:43;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3810:81:456;;-1:-1:-1;;;3810:81:456;;;;;;;;;;;;;;;;245:64:436;;-1:-1:-1;3810:15:456;;-1:-1:-1;3810:81:456;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3901:10;;;;;;;;;-1:-1:-1;;;;;3901:10:456;-1:-1:-1;;;;;3901:25:456;;:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3699:236::o;1819:584:435:-;1853:4;1873:7;;;;;;;1869:528;;;-1:-1:-1;1903:7:435;;;;;;;1896:14;;1869:528;1941:17;1984:16;:14;:16::i;:::-;1980:374;;;2196:43;;;1671:64;2196:43;;;;;;;-1:-1:-1;;;2196:43:435;;;;;;;;;;;;;2023:20;2196:43;;;;;;-1:-1:-1;;;2086:175:435;;;;;;;;1671:64;;2135:34;;2196:43;;2086:175;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2086:175:435;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2047:232;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2047:232:435;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2020:259;;;2323:7;2312:27;;;;;;;;;;;;;;;-1:-1:-1;2312:27:435;;-1:-1:-1;;1980:374:435;2374:12;-1:-1:-1;1869:528:435;1819:584;:::o;3298:395:456:-;3340:10;;:43;;;-1:-1:-1;;;3340:43:456;;3377:4;3340:43;;;;;;-1:-1:-1;;;;;3340:10:456;;;;:28;;:43;;;;;:10;;:43;;;;;;;;:10;;:43;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3394:37:456;;;-1:-1:-1;;;3394:37:456;;3408:4;3394:37;;;;;;;;;;;;;;;;;;;;;;;;245:64:436;;-1:-1:-1;3394:13:456;;-1:-1:-1;3394:37:456;;;;;269::436;;3394::456;;;;;;;269::436;245:64;3394:37:456;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3446:50:456;;3490:4;;-1:-1:-1;3475:4:456;;-1:-1:-1;3446:50:456;;;;;3507:23;;;-1:-1:-1;;;3507:23:456;;3524:4;3507:23;;;;;;245:64:436;;3507:8:456;;:23;;;;;269:37:436;;3507:23:456;;;;;;;269:37:436;245:64;3507:23:456;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3540:10;;;;;;;;;-1:-1:-1;;;;;3540:10:456;-1:-1:-1;;;;;3540:25:456;;:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3578:46;3595:4;3602:10;;;;;;;;;-1:-1:-1;;;;;3602:10:456;-1:-1:-1;;;;;3602:19:456;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3602:21:456;3578:8;:46::i;:::-;3634:52;3651:1;3655:10;;;;;;;;;-1:-1:-1;;;;;3655:10:456;-1:-1:-1;;;;;3655:28:456;;:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3634:52;3298:395::o;165:28:436:-;;;;;;;;;:::o;1572:26:435:-;;;;;;:::o;2840:242::-;2990:42;2978:55;3059:16;;2840:242;:::o;3615:277::-;3683:1;-1:-1:-1;;;;;3678:6:435;:1;-1:-1:-1;;;;;3678:6:435;;3674:212;;3705:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3768:34;;;-1:-1:-1;;;;;3768:34:435;;;;;;;;;;;;;;-1:-1:-1;;;3768:34:435;;;;;;;;;;;;;;;3821;;;-1:-1:-1;;;;;3821:34:435;;;;;;;;;;;;;;-1:-1:-1;;;3821:34:435;;;;;;;;;;;;;;;3869:6;:4;:6::i;:::-;3615:277;;:::o;2410:424::-;2449:16;:14;:16::i;:::-;2445:359;;;2645:67;;;1671:64;2645:67;;;;;;;-1:-1:-1;;;2645:67:435;;;;2705:4;1679:55;2645:67;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2534:196:435;;;;;;;;2482:11;;1671:64;;2579:43;;2645:67;2534:196;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2534:196:435;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2499:245;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2499:245:435;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;2445:359:435;2813:7;:14;;-1:-1:-1;;2813:14:435;;;;;2410:424::o;-1:-1:-1:-;;;;;;;;:::o", "linkReferences": {} }, "methodIdentifiers": { "IS_SCRIPT()": "f8ccbf47", "IS_TEST()": "fa7626d4", "addr(string)": "511b1df9", "failed()": "ba414fa6", "setUp()": "0a9254e4", "testAnonCannotClaimOwnership()": "9d722647", "testHappyPath()": "cd8591bb", "vm()": "3a768463" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"prevOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"nextOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"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_SCRIPT\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"}],\"name\":\"addr\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"setUp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testAnonCannotClaimOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testHappyPath\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"vm\",\"outputs\":[{\"internalType\":\"contract Vm\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"tests/persistent/Dispatcher.t.sol\":\"ClaimOwnershipTest\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/mocks/MockVaultLib.sol\":{\"keccak256\":\"0x14d298c9cd4411cc6260fe50b93a1da572c5ddee7bfca377dd35403741c4e3b6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://e51c048dc4e2c9117fff0ecd4ab94d09701b9cd89247db8608c1a491c7374635\",\"dweb:/ipfs/QmYkH9dXQp1EEMfrcGPUTc3ey4o2UtvG91vDxjgQzwUuHE\"]},\"contracts/persistent/dispatcher/Dispatcher.sol\":{\"keccak256\":\"0x0590285e72005e40573fcc93e95aa75a5963bdcf5b02a627c73d8bc982f9d850\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://e9f2190a9ba01ec1f03b5159387c3864b9700337f3d7b07ec0758bbde52d32e2\",\"dweb:/ipfs/QmX5gevftdWC5xzSVcmVn14aFhKgweCXAhndZ8ZECN92fj\"]},\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/dispatcher/IMigrationHookHandler.sol\":{\"keccak256\":\"0x4cec61ef58c1d2e7693ee954c3582b1a04ff836a569e216edb7526c7e56a5632\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://0acae6d91e3e20e6ebd46cbeff926967a2d64f3d8eb2e3cdff20366917a77879\",\"dweb:/ipfs/Qmd44oJngTNRnwXdDwtNd9o4UvTgxAmBGikz3QMPKf4NWy\"]},\"contracts/persistent/vault/VaultLibBaseCore.sol\":{\"keccak256\":\"0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd\",\"dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz\"]},\"contracts/persistent/vault/VaultProxy.sol\":{\"keccak256\":\"0x08ff12cb7955ab80cf35f98a5abae23a92f655916669986d1580cb394f6b6bb3\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://320fcccd67d3390d6762bdef41f7d5e679e61b3244b1d945fc33402ea684bc3a\",\"dweb:/ipfs/Qmaaxqgm4EzF1r4n52pkjs7bA5quKhVwrh356rTFXDj86L\"]},\"contracts/persistent/vault/interfaces/IMigratableVault.sol\":{\"keccak256\":\"0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6\",\"dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs\"]},\"contracts/persistent/vault/utils/ProxiableVaultLib.sol\":{\"keccak256\":\"0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44\",\"dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4\"]},\"contracts/persistent/vault/utils/SharesTokenBase.sol\":{\"keccak256\":\"0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8\",\"dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4\"]},\"contracts/persistent/vault/utils/VaultLibSafeMath.sol\":{\"keccak256\":\"0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02\",\"dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG\"]},\"lib/forge-std/lib/ds-test/src/test.sol\":{\"keccak256\":\"0xb39cd1d5220cb474947b131e15a4538334b7e886af244b440ae5c9c6bba96a54\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://3101520221449ac0070bda3881311a71d9aa87e5210765e875246922cb5cb5f5\",\"dweb:/ipfs/Qmbg6kAHNoG7ox9N9Xqd9Ere2H2XixMFWFqvyPwFCzB3Gr\"]},\"lib/forge-std/src/Script.sol\":{\"keccak256\":\"0x4424dbcb8f5b741475445726f87408fcd89951fad973bec2ca442ee157f910e7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5b0b9f6dfb69245d8f888558ae82bf1d2cdeace46201444fe4b2e6a5283f944a\",\"dweb:/ipfs/QmWFSKeFEZngNcwNn7A84EF7pASo5qe6r5oK24r9Kwca7Z\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0xa85dee62f7a3d7d3b26051f28d08bbfaa6d76888b8e64395583c35f11070372b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f3ecace3d6120731c4520f651c36658940df958755a2c86d6bf0ec895320a915\",\"dweb:/ipfs/QmVGbUYLtMsAYF3C27qHKs3VHRuRNDypuDfs4XGK47kqUT\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x63fc2487cf3a6650d933e18bcb61766f15f74c327192381806ea00f8f6446f66\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aad99f7b2ed3b11ff6c17b84b4196c562898640a80cabc2c28c87c116099a00f\",\"dweb:/ipfs/QmQNNbxHabRycegyXwJWBDutrdcScAP2SU5zEvorWEaFpx\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0xbeb823fcdb356244a83aaccdf828ad019ecc1ffaa3dff18e624fc6d5714ea671\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4cbe9400340e5f9ec55e2aff3bad1c15fa3afbbe37e80800e6f3fed2ad26854f\",\"dweb:/ipfs/QmdJBABsuXkvWxVzEyGXsTE3vyfBPXDdw5xvvtUz3JeoYW\"]},\"tests/persistent/Dispatcher.t.sol\":{\"keccak256\":\"0x9f19e0376c4d2fa61f4c50089a46d54b7a1d464b31413aeb4147da02b44cd298\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://e9f733c425d149594c2044229dd51e543d330cfb11b7825dfd59631a3aabd71d\",\"dweb:/ipfs/QmY3c9daKiMH2W9qbq94TekosaySFV44ZUXsGuBfigo832\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "prevOwner", "type": "address", "indexed": true }, { "internalType": "address", "name": "nextOwner", "type": "address", "indexed": true } ], "type": "event", "name": "OwnershipTransferred", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "", "type": "string", "indexed": false } ], "type": "event", "name": "log", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "", "type": "address", "indexed": false } ], "type": "event", "name": "log_address", "anonymous": false }, { "inputs": [ { "internalType": "uint256[]", "name": "val", "type": "uint256[]", "indexed": false } ], "type": "event", "name": "log_array", "anonymous": false }, { "inputs": [ { "internalType": "int256[]", "name": "val", "type": "int256[]", "indexed": false } ], "type": "event", "name": "log_array", "anonymous": false }, { "inputs": [ { "internalType": "address[]", "name": "val", "type": "address[]", "indexed": false } ], "type": "event", "name": "log_array", "anonymous": false }, { "inputs": [ { "internalType": "bytes", "name": "", "type": "bytes", "indexed": false } ], "type": "event", "name": "log_bytes", "anonymous": false }, { "inputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32", "indexed": false } ], "type": "event", "name": "log_bytes32", "anonymous": false }, { "inputs": [ { "internalType": "int256", "name": "", "type": "int256", "indexed": false } ], "type": "event", "name": "log_int", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "key", "type": "string", "indexed": false }, { "internalType": "address", "name": "val", "type": "address", "indexed": false } ], "type": "event", "name": "log_named_address", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "key", "type": "string", "indexed": false }, { "internalType": "uint256[]", "name": "val", "type": "uint256[]", "indexed": false } ], "type": "event", "name": "log_named_array", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "key", "type": "string", "indexed": false }, { "internalType": "int256[]", "name": "val", "type": "int256[]", "indexed": false } ], "type": "event", "name": "log_named_array", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "key", "type": "string", "indexed": false }, { "internalType": "address[]", "name": "val", "type": "address[]", "indexed": false } ], "type": "event", "name": "log_named_array", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "key", "type": "string", "indexed": false }, { "internalType": "bytes", "name": "val", "type": "bytes", "indexed": false } ], "type": "event", "name": "log_named_bytes", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "key", "type": "string", "indexed": false }, { "internalType": "bytes32", "name": "val", "type": "bytes32", "indexed": false } ], "type": "event", "name": "log_named_bytes32", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "key", "type": "string", "indexed": false }, { "internalType": "int256", "name": "val", "type": "int256", "indexed": false }, { "internalType": "uint256", "name": "decimals", "type": "uint256", "indexed": false } ], "type": "event", "name": "log_named_decimal_int", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "key", "type": "string", "indexed": false }, { "internalType": "uint256", "name": "val", "type": "uint256", "indexed": false }, { "internalType": "uint256", "name": "decimals", "type": "uint256", "indexed": false } ], "type": "event", "name": "log_named_decimal_uint", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "key", "type": "string", "indexed": false }, { "internalType": "int256", "name": "val", "type": "int256", "indexed": false } ], "type": "event", "name": "log_named_int", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "key", "type": "string", "indexed": false }, { "internalType": "string", "name": "val", "type": "string", "indexed": false } ], "type": "event", "name": "log_named_string", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "key", "type": "string", "indexed": false }, { "internalType": "uint256", "name": "val", "type": "uint256", "indexed": false } ], "type": "event", "name": "log_named_uint", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "", "type": "string", "indexed": false } ], "type": "event", "name": "log_string", "anonymous": false }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256", "indexed": false } ], "type": "event", "name": "log_uint", "anonymous": false }, { "inputs": [ { "internalType": "bytes", "name": "", "type": "bytes", "indexed": false } ], "type": "event", "name": "logs", "anonymous": false }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "IS_SCRIPT", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "IS_TEST", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [ { "internalType": "string", "name": "_name", "type": "string" } ], "stateMutability": "pure", "type": "function", "name": "addr", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ] }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "failed", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "setUp" }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "testAnonCannotClaimOwnership" }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "testHappyPath" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "vm", "outputs": [ { "internalType": "contract Vm", "name": "", "type": "address" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "tests/persistent/Dispatcher.t.sol": "ClaimOwnershipTest" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/mocks/MockVaultLib.sol": { "keccak256": "0x14d298c9cd4411cc6260fe50b93a1da572c5ddee7bfca377dd35403741c4e3b6", "urls": [ "bzz-raw://e51c048dc4e2c9117fff0ecd4ab94d09701b9cd89247db8608c1a491c7374635", "dweb:/ipfs/QmYkH9dXQp1EEMfrcGPUTc3ey4o2UtvG91vDxjgQzwUuHE" ], "license": "GPL-3.0" }, "contracts/persistent/dispatcher/Dispatcher.sol": { "keccak256": "0x0590285e72005e40573fcc93e95aa75a5963bdcf5b02a627c73d8bc982f9d850", "urls": [ "bzz-raw://e9f2190a9ba01ec1f03b5159387c3864b9700337f3d7b07ec0758bbde52d32e2", "dweb:/ipfs/QmX5gevftdWC5xzSVcmVn14aFhKgweCXAhndZ8ZECN92fj" ], "license": "GPL-3.0" }, "contracts/persistent/dispatcher/IDispatcher.sol": { "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", "urls": [ "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" ], "license": "GPL-3.0" }, "contracts/persistent/dispatcher/IMigrationHookHandler.sol": { "keccak256": "0x4cec61ef58c1d2e7693ee954c3582b1a04ff836a569e216edb7526c7e56a5632", "urls": [ "bzz-raw://0acae6d91e3e20e6ebd46cbeff926967a2d64f3d8eb2e3cdff20366917a77879", "dweb:/ipfs/Qmd44oJngTNRnwXdDwtNd9o4UvTgxAmBGikz3QMPKf4NWy" ], "license": "GPL-3.0" }, "contracts/persistent/vault/VaultLibBaseCore.sol": { "keccak256": "0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074", "urls": [ "bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd", "dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz" ], "license": "GPL-3.0" }, "contracts/persistent/vault/VaultProxy.sol": { "keccak256": "0x08ff12cb7955ab80cf35f98a5abae23a92f655916669986d1580cb394f6b6bb3", "urls": [ "bzz-raw://320fcccd67d3390d6762bdef41f7d5e679e61b3244b1d945fc33402ea684bc3a", "dweb:/ipfs/Qmaaxqgm4EzF1r4n52pkjs7bA5quKhVwrh356rTFXDj86L" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IMigratableVault.sol": { "keccak256": "0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238", "urls": [ "bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6", "dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs" ], "license": "GPL-3.0" }, "contracts/persistent/vault/utils/ProxiableVaultLib.sol": { "keccak256": "0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76", "urls": [ "bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44", "dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4" ], "license": "GPL-3.0" }, "contracts/persistent/vault/utils/SharesTokenBase.sol": { "keccak256": "0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113", "urls": [ "bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8", "dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4" ], "license": "GPL-3.0" }, "contracts/persistent/vault/utils/VaultLibSafeMath.sol": { "keccak256": "0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d", "urls": [ "bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02", "dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG" ], "license": "GPL-3.0" }, "lib/forge-std/lib/ds-test/src/test.sol": { "keccak256": "0xb39cd1d5220cb474947b131e15a4538334b7e886af244b440ae5c9c6bba96a54", "urls": [ "bzz-raw://3101520221449ac0070bda3881311a71d9aa87e5210765e875246922cb5cb5f5", "dweb:/ipfs/Qmbg6kAHNoG7ox9N9Xqd9Ere2H2XixMFWFqvyPwFCzB3Gr" ], "license": "GPL-3.0-or-later" }, "lib/forge-std/src/Script.sol": { "keccak256": "0x4424dbcb8f5b741475445726f87408fcd89951fad973bec2ca442ee157f910e7", "urls": [ "bzz-raw://5b0b9f6dfb69245d8f888558ae82bf1d2cdeace46201444fe4b2e6a5283f944a", "dweb:/ipfs/QmWFSKeFEZngNcwNn7A84EF7pASo5qe6r5oK24r9Kwca7Z" ], "license": "MIT" }, "lib/forge-std/src/Test.sol": { "keccak256": "0xa85dee62f7a3d7d3b26051f28d08bbfaa6d76888b8e64395583c35f11070372b", "urls": [ "bzz-raw://f3ecace3d6120731c4520f651c36658940df958755a2c86d6bf0ec895320a915", "dweb:/ipfs/QmVGbUYLtMsAYF3C27qHKs3VHRuRNDypuDfs4XGK47kqUT" ], "license": "MIT" }, "lib/forge-std/src/Vm.sol": { "keccak256": "0x63fc2487cf3a6650d933e18bcb61766f15f74c327192381806ea00f8f6446f66", "urls": [ "bzz-raw://aad99f7b2ed3b11ff6c17b84b4196c562898640a80cabc2c28c87c116099a00f", "dweb:/ipfs/QmQNNbxHabRycegyXwJWBDutrdcScAP2SU5zEvorWEaFpx" ], "license": "MIT" }, "lib/forge-std/src/console.sol": { "keccak256": "0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba", "urls": [ "bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70", "dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec" ], "license": "MIT" }, "lib/forge-std/src/console2.sol": { "keccak256": "0xbeb823fcdb356244a83aaccdf828ad019ecc1ffaa3dff18e624fc6d5714ea671", "urls": [ "bzz-raw://4cbe9400340e5f9ec55e2aff3bad1c15fa3afbbe37e80800e6f3fed2ad26854f", "dweb:/ipfs/QmdJBABsuXkvWxVzEyGXsTE3vyfBPXDdw5xvvtUz3JeoYW" ], "license": "MIT" }, "tests/persistent/Dispatcher.t.sol": { "keccak256": "0x9f19e0376c4d2fa61f4c50089a46d54b7a1d464b31413aeb4147da02b44cd298", "urls": [ "bzz-raw://e9f733c425d149594c2044229dd51e543d330cfb11b7825dfd59631a3aabd71d", "dweb:/ipfs/QmY3c9daKiMH2W9qbq94TekosaySFV44ZUXsGuBfigo832" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 456 } diff --git a/eth_defi/abi/enzyme/CompoundActionsMixin.json b/eth_defi/abi/enzyme/CompoundActionsMixin.json index c897b192..996e29e5 100644 --- a/eth_defi/abi/enzyme/CompoundActionsMixin.json +++ b/eth_defi/abi/enzyme/CompoundActionsMixin.json @@ -1,220 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_wethToken", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "name": "getCompoundWethToken", - "outputs": [ - { - "internalType": "address", - "name": "compoundWethToken_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "getCompoundWethToken()": "71dce850" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_wethToken\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"getCompoundWethToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"compoundWethToken_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"Inheriting contract must have a receive() function\",\"kind\":\"dev\",\"methods\":{\"getCompoundWethToken()\":{\"returns\":{\"compoundWethToken_\":\"The `COMPOUND_WETH_TOKEN` variable value\"}}},\"title\":\"CompoundActionsMixin Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getCompoundWethToken()\":{\"notice\":\"Gets the `COMPOUND_WETH_TOKEN` variable\"}},\"notice\":\"Mixin contract for interacting with the Compound lending functions\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/integration-manager/integrations/utils/actions/CompoundActionsMixin.sol\":\"CompoundActionsMixin\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/integration-manager/integrations/utils/actions/CompoundActionsMixin.sol\":{\"keccak256\":\"0x81e765c2662bebac378eb0b6c25f9c094019a8bca2bebe3800b8297616553e49\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://aaedf971482da2c54778d925bd5847851ce24266d7651bed0285c55e727f5426\",\"dweb:/ipfs/QmNsrdy4V5pKmpQLGyQGSNiY23BnLmjBAjofnxcjyLUjV6\"]},\"contracts/release/interfaces/ICERC20.sol\":{\"keccak256\":\"0x9a32a6ca307ac613bde26844d33e1732ae348bceffc93d63e3691f2ff22c6e0b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9c7aff5bf1c249fab27262fb1dc934325e259e5fd6857fbad70c8684f8ee4247\",\"dweb:/ipfs/QmTAneTyW2oCTZGVMVEAp77qMW9U9NymoK8k3RcwpNRh5W\"]},\"contracts/release/interfaces/ICEther.sol\":{\"keccak256\":\"0x7baa90be9075da954ed5630133b94d13ef857a6a66d4333ea83145ccb192c709\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6cf10fa111356f5dc32fe9de42c23ee32a766d7bacb1447e5ca9163702338064\",\"dweb:/ipfs/QmTrC9ngVaTm9bVSUyVpZV7J8gNSKbbvXcv36wdhikoSLo\"]},\"contracts/release/interfaces/IWETH.sol\":{\"keccak256\":\"0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2\",\"dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_wethToken", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getCompoundWethToken", - "outputs": [ - { - "internalType": "address", - "name": "compoundWethToken_", - "type": "address" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "getCompoundWethToken()": { - "returns": { - "compoundWethToken_": "The `COMPOUND_WETH_TOKEN` variable value" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "getCompoundWethToken()": { - "notice": "Gets the `COMPOUND_WETH_TOKEN` variable" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/integration-manager/integrations/utils/actions/CompoundActionsMixin.sol": "CompoundActionsMixin" - }, - "libraries": {} - }, - "sources": { - "contracts/release/extensions/integration-manager/integrations/utils/actions/CompoundActionsMixin.sol": { - "keccak256": "0x81e765c2662bebac378eb0b6c25f9c094019a8bca2bebe3800b8297616553e49", - "urls": [ - "bzz-raw://aaedf971482da2c54778d925bd5847851ce24266d7651bed0285c55e727f5426", - "dweb:/ipfs/QmNsrdy4V5pKmpQLGyQGSNiY23BnLmjBAjofnxcjyLUjV6" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/ICERC20.sol": { - "keccak256": "0x9a32a6ca307ac613bde26844d33e1732ae348bceffc93d63e3691f2ff22c6e0b", - "urls": [ - "bzz-raw://9c7aff5bf1c249fab27262fb1dc934325e259e5fd6857fbad70c8684f8ee4247", - "dweb:/ipfs/QmTAneTyW2oCTZGVMVEAp77qMW9U9NymoK8k3RcwpNRh5W" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/ICEther.sol": { - "keccak256": "0x7baa90be9075da954ed5630133b94d13ef857a6a66d4333ea83145ccb192c709", - "urls": [ - "bzz-raw://6cf10fa111356f5dc32fe9de42c23ee32a766d7bacb1447e5ca9163702338064", - "dweb:/ipfs/QmTrC9ngVaTm9bVSUyVpZV7J8gNSKbbvXcv36wdhikoSLo" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IWETH.sol": { - "keccak256": "0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2", - "urls": [ - "bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2", - "dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AssetHelpers.sol": { - "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", - "urls": [ - "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", - "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { - "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", - "urls": [ - "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", - "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Address.sol": { - "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", - "urls": [ - "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", - "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 184 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_wethToken", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "getCompoundWethToken", "inputs": [], "outputs": [ { "name": "compoundWethToken_", "type": "address", "internalType": "address" } ], "stateMutability": "view" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "getCompoundWethToken()": "71dce850" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_wethToken\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"getCompoundWethToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"compoundWethToken_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"Inheriting contract must have a receive() function\",\"kind\":\"dev\",\"methods\":{\"getCompoundWethToken()\":{\"returns\":{\"compoundWethToken_\":\"The `COMPOUND_WETH_TOKEN` variable value\"}}},\"title\":\"CompoundActionsMixin Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getCompoundWethToken()\":{\"notice\":\"Gets the `COMPOUND_WETH_TOKEN` variable\"}},\"notice\":\"Mixin contract for interacting with the Compound lending functions\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/integration-manager/integrations/utils/actions/CompoundActionsMixin.sol\":\"CompoundActionsMixin\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/integration-manager/integrations/utils/actions/CompoundActionsMixin.sol\":{\"keccak256\":\"0x81e765c2662bebac378eb0b6c25f9c094019a8bca2bebe3800b8297616553e49\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://aaedf971482da2c54778d925bd5847851ce24266d7651bed0285c55e727f5426\",\"dweb:/ipfs/QmNsrdy4V5pKmpQLGyQGSNiY23BnLmjBAjofnxcjyLUjV6\"]},\"contracts/release/interfaces/ICERC20.sol\":{\"keccak256\":\"0x9a32a6ca307ac613bde26844d33e1732ae348bceffc93d63e3691f2ff22c6e0b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9c7aff5bf1c249fab27262fb1dc934325e259e5fd6857fbad70c8684f8ee4247\",\"dweb:/ipfs/QmTAneTyW2oCTZGVMVEAp77qMW9U9NymoK8k3RcwpNRh5W\"]},\"contracts/release/interfaces/ICEther.sol\":{\"keccak256\":\"0x7baa90be9075da954ed5630133b94d13ef857a6a66d4333ea83145ccb192c709\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6cf10fa111356f5dc32fe9de42c23ee32a766d7bacb1447e5ca9163702338064\",\"dweb:/ipfs/QmTrC9ngVaTm9bVSUyVpZV7J8gNSKbbvXcv36wdhikoSLo\"]},\"contracts/release/interfaces/IWETH.sol\":{\"keccak256\":\"0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2\",\"dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_wethToken", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getCompoundWethToken", "outputs": [ { "internalType": "address", "name": "compoundWethToken_", "type": "address" } ] } ], "devdoc": { "kind": "dev", "methods": { "getCompoundWethToken()": { "returns": { "compoundWethToken_": "The `COMPOUND_WETH_TOKEN` variable value" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "getCompoundWethToken()": { "notice": "Gets the `COMPOUND_WETH_TOKEN` variable" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/integration-manager/integrations/utils/actions/CompoundActionsMixin.sol": "CompoundActionsMixin" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/extensions/integration-manager/integrations/utils/actions/CompoundActionsMixin.sol": { "keccak256": "0x81e765c2662bebac378eb0b6c25f9c094019a8bca2bebe3800b8297616553e49", "urls": [ "bzz-raw://aaedf971482da2c54778d925bd5847851ce24266d7651bed0285c55e727f5426", "dweb:/ipfs/QmNsrdy4V5pKmpQLGyQGSNiY23BnLmjBAjofnxcjyLUjV6" ], "license": "GPL-3.0" }, "contracts/release/interfaces/ICERC20.sol": { "keccak256": "0x9a32a6ca307ac613bde26844d33e1732ae348bceffc93d63e3691f2ff22c6e0b", "urls": [ "bzz-raw://9c7aff5bf1c249fab27262fb1dc934325e259e5fd6857fbad70c8684f8ee4247", "dweb:/ipfs/QmTAneTyW2oCTZGVMVEAp77qMW9U9NymoK8k3RcwpNRh5W" ], "license": "GPL-3.0" }, "contracts/release/interfaces/ICEther.sol": { "keccak256": "0x7baa90be9075da954ed5630133b94d13ef857a6a66d4333ea83145ccb192c709", "urls": [ "bzz-raw://6cf10fa111356f5dc32fe9de42c23ee32a766d7bacb1447e5ca9163702338064", "dweb:/ipfs/QmTrC9ngVaTm9bVSUyVpZV7J8gNSKbbvXcv36wdhikoSLo" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IWETH.sol": { "keccak256": "0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2", "urls": [ "bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2", "dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ" ], "license": "GPL-3.0" }, "contracts/release/utils/AssetHelpers.sol": { "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", "urls": [ "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", "urls": [ "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Address.sol": { "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", "urls": [ "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" } }, "version": 1 }, "id": 184 } diff --git a/eth_defi/abi/enzyme/CompoundAdapter.json b/eth_defi/abi/enzyme/CompoundAdapter.json index 6a0efa13..9445190f 100644 --- a/eth_defi/abi/enzyme/CompoundAdapter.json +++ b/eth_defi/abi/enzyme/CompoundAdapter.json @@ -1,986 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_integrationManager", - "type": "address" - }, - { - "internalType": "address", - "name": "_compoundPriceFeed", - "type": "address" - }, - { - "internalType": "address", - "name": "_wethToken", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "name": "CLAIM_REWARDS_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "LEND_AND_STAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "LEND_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "REDEEM_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "STAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "TAKE_MULTIPLE_ORDERS_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "TAKE_ORDER_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "UNSTAKE_AND_REDEEM_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "UNSTAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "claimRewards", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getCompoundPriceFeed", - "outputs": [ - { - "internalType": "address", - "name": "compoundPriceFeed_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getCompoundWethToken", - "outputs": [ - { - "internalType": "address", - "name": "compoundWethToken_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getIntegrationManager", - "outputs": [ - { - "internalType": "address", - "name": "integrationManager_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "_assetData", - "type": "bytes" - } - ], - "name": "lend", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes4", - "name": "_selector", - "type": "bytes4" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - } - ], - "name": "parseAssetsForAction", - "outputs": [ - { - "internalType": "enum IIntegrationManager.SpendAssetsHandleType", - "name": "spendAssetsHandleType_", - "type": "uint8" - }, - { - "internalType": "address[]", - "name": "spendAssets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "spendAssetAmounts_", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "incomingAssets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "minIncomingAssetAmounts_", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "_assetData", - "type": "bytes" - } - ], - "name": "redeem", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "stateMutability": "payable", - "type": "receive" - } - ], - "bytecode": { - "object": "0x60e060405234801561001057600080fd5b50604051611ec8380380611ec88339818101604052606081101561003357600080fd5b50805160208201516040909201516001600160601b0319606092831b811660805290821b811660a05291901b1660c05260805160601c60a05160601c60c05160601c611e036100c56000398061085f52806113d452806116175250806108cb5280610eb45280610eee52806112c852806112fd5250806106c952806109405280610aa45280610caf5250611e036000f3fe6080604052600436106100f75760003560e01c8063863e5ad01161008a578063c32990a211610059578063c32990a21461048c578063c54efee5146104a1578063e7c4569014610670578063f7d882b514610685576100fe565b8063863e5ad0146102ac578063b23228cf146102c1578063b9dfbacc146102d6578063c29fa9dd146103b1576100fe565b806332bf8227116100c657806332bf82271461023c5780633ffc15911461026d57806340da225d1461028257806371dce85014610297576100fe565b8063080456c114610103578063099f751514610135578063131461c014610212578063257cb1a314610227576100fe565b366100fe57005b600080fd5b34801561010f57600080fd5b5061011861069a565b604080516001600160e01b03199092168252519081900360200190f35b34801561014157600080fd5b506102106004803603606081101561015857600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561018257600080fd5b82018360208201111561019457600080fd5b803590602001918460018302840111600160201b831117156101b557600080fd5b919390929091602081019035600160201b8111156101d257600080fd5b8201836020820111156101e457600080fd5b803590602001918460018302840111600160201b8311171561020557600080fd5b5090925090506106be565b005b34801561021e57600080fd5b50610118610815565b34801561023357600080fd5b50610118610839565b34801561024857600080fd5b5061025161085d565b604080516001600160a01b039092168252519081900360200190f35b34801561027957600080fd5b50610118610881565b34801561028e57600080fd5b506101186108a5565b3480156102a357600080fd5b506102516108c9565b3480156102b857600080fd5b506101186108ed565b3480156102cd57600080fd5b50610118610911565b3480156102e257600080fd5b50610210600480360360608110156102f957600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561032357600080fd5b82018360208201111561033557600080fd5b803590602001918460018302840111600160201b8311171561035657600080fd5b919390929091602081019035600160201b81111561037357600080fd5b82018360208201111561038557600080fd5b803590602001918460018302840111600160201b831117156103a657600080fd5b509092509050610935565b3480156103bd57600080fd5b50610210600480360360608110156103d457600080fd5b6001600160a01b038235169190810190604081016020820135600160201b8111156103fe57600080fd5b82018360208201111561041057600080fd5b803590602001918460018302840111600160201b8311171561043157600080fd5b919390929091602081019035600160201b81111561044e57600080fd5b82018360208201111561046057600080fd5b803590602001918460018302840111600160201b8311171561048157600080fd5b509092509050610a99565b34801561049857600080fd5b50610118610bc9565b3480156104ad57600080fd5b5061053b600480360360608110156104c457600080fd5b6001600160a01b03823516916001600160e01b031960208201351691810190606081016040820135600160201b8111156104fd57600080fd5b82018360208201111561050f57600080fd5b803590602001918460018302840111600160201b8311171561053057600080fd5b509092509050610bed565b6040518086600281111561054b57fe5b815260200180602001806020018060200180602001858103855289818151815260200191508051906020019060200280838360005b83811015610598578181015183820152602001610580565b50505050905001858103845288818151815260200191508051906020019060200280838360005b838110156105d75781810151838201526020016105bf565b50505050905001858103835287818151815260200191508051906020019060200280838360005b838110156106165781810151838201526020016105fe565b50505050905001858103825286818151815260200191508051906020019060200280838360005b8381101561065557818101518382015260200161063d565b50505050905001995050505050505050505060405180910390f35b34801561067c57600080fd5b50610251610cad565b34801561069157600080fd5b50610118610cd1565b7f8334eb99be0145865eba9889fca2ee920288090caefff4cc776038e20ad9259a81565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146107255760405162461bcd60e51b8152600401808060200182810382526032815260200180611cec6032913960400191505060405180910390fd5b8482828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f88018190048102820181019092528681526060935083925082916107a191908990899081908401838280828437600092019190915250610cf592505050565b9250925092506107ee836000815181106107b757fe5b6020026020010151836000815181106107cc57fe5b6020026020010151836000815181106107e157fe5b6020026020010151610eb2565b50505060606107fc82610cf5565b9250505061080a8382611046565b505050505050505050565b7f29fa046e79524c3c5ac4c01df692c35e217802b2b13b21121b76cf0ef02b138c81565b7f099f75155f0e997bf83a7993a71d5e7e7540bd386fe1e84643a09ce6b412521981565b7f000000000000000000000000000000000000000000000000000000000000000090565b7ffa7dd04da627f433da73c4355ead9c75682a67a8fc84d3f6170ef0922f402d2481565b7fb9dfbaccbe5cd2a84fdcf1d15f23ef25d23086f5afbaa99516065ed4a5bbc7a381565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f03e38a2bd7063d45c897edeafc330e71657502dd86434d3c37a489caf116af6981565b7f68e30677f607df46e87da13e15b637784cfa62374b653f35ab43d10361a2f83081565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461099c5760405162461bcd60e51b8152600401808060200182810382526032815260200180611cec6032913960400191505060405180910390fd5b606060006109df86868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506111a192505050565b91509150806001600160a01b0316631c3db2e088846040518363ffffffff1660e01b815260040180836001600160a01b0316815260200180602001828103825283818151815260200191508051906020019060200280838360005b83811015610a52578181015183820152602001610a3a565b505050509050019350505050600060405180830381600087803b158015610a7857600080fd5b505af1158015610a8c573d6000803e3d6000fd5b5050505050505050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610b005760405162461bcd60e51b8152600401808060200182810382526032815260200180611cec6032913960400191505060405180910390fd5b8482828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8801819004810282018101909252868152606093508392508291610b7c91908990899081908401838280828437600092019190915250610cf592505050565b9250925092506107ee83600081518110610b9257fe5b602002602001015183600081518110610ba757fe5b602002602001015183600081518110610bbc57fe5b6020026020010151611254565b7f0e7f692dad5b88fdee426250d6eae91207e56a2e8112b7364579bed1790e5bf481565b600060608080806001600160e01b0319881663099f751560e01b1415610c2657610c17878761137e565b94509450945094509450610ca2565b6001600160e01b0319881663c29fa9dd60e01b1415610c4957610c1787876115c1565b6001600160e01b03198816632e77eeb360e21b1415610c6b5760009450610ca2565b60405162461bcd60e51b8152600401808060200182810382526027815260200180611dd06027913960400191505060405180910390fd5b945094509450945094565b7f000000000000000000000000000000000000000000000000000000000000000090565b7fc29fa9dde84204c2908778afd0613d802d31cf046179b88f6d2b4a4e507ea2d581565b6060806060838060200190516060811015610d0f57600080fd5b8101908080516040519392919084600160201b821115610d2e57600080fd5b908301906020820185811115610d4357600080fd5b82518660208202830111600160201b82111715610d5f57600080fd5b82525081516020918201928201910280838360005b83811015610d8c578181015183820152602001610d74565b5050505090500160405260200180516040519392919084600160201b821115610db457600080fd5b908301906020820185811115610dc957600080fd5b82518660208202830111600160201b82111715610de557600080fd5b82525081516020918201928201910280838360005b83811015610e12578181015183820152602001610dfa565b5050505090500160405260200180516040519392919084600160201b821115610e3a57600080fd5b908301906020820185811115610e4f57600080fd5b82518660208202830111600160201b82111715610e6b57600080fd5b82525081516020918201928201910280838360005b83811015610e98578181015183820152602001610e80565b505050509050016040525050509250925092509193909250565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b03161415610fc3577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316632e1a7d4d836040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015610f5257600080fd5b505af1158015610f66573d6000803e3d6000fd5b50505050806001600160a01b0316631249c58b836040518263ffffffff1660e01b81526004016000604051808303818588803b158015610fa557600080fd5b505af1158015610fb9573d6000803e3d6000fd5b5050505050611041565b610fce8382846117a2565b806001600160a01b031663a0712d68836040518263ffffffff1660e01b815260040180828152602001915050602060405180830381600087803b15801561101457600080fd5b505af1158015611028573d6000803e3d6000fd5b505050506040513d602081101561103e57600080fd5b50505b505050565b6060815167ffffffffffffffff8111801561106057600080fd5b5060405190808252806020026020018201604052801561108a578160200160208202803683370190505b50905060005b825181101561119a5760008382815181106110a757fe5b60200260200101519050806001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156110fe57600080fd5b505afa158015611112573d6000803e3d6000fd5b505050506040513d602081101561112857600080fd5b5051835184908490811061113857fe5b602002602001018181525050600083838151811061115257fe5b60200260200101511115611191576111918584848151811061117057fe5b6020026020010151836001600160a01b03166118609092919063ffffffff16565b50600101611090565b5092915050565b606060008280602001905160408110156111ba57600080fd5b8101908080516040519392919084600160201b8211156111d957600080fd5b9083019060208201858111156111ee57600080fd5b82518660208202830111600160201b8211171561120a57600080fd5b82525081516020918201928201910280838360005b8381101561123757818101518382015260200161121f565b505050509190910160405250602001519294509192505050915091565b826001600160a01b031663db006a75836040518263ffffffff1660e01b815260040180828152602001915050602060405180830381600087803b15801561129a57600080fd5b505af11580156112ae573d6000803e3d6000fd5b505050506040513d60208110156112c457600080fd5b50507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b039081169082161415611041577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0306001600160a01b0316316040518263ffffffff1660e01b81526004016000604051808303818588803b15801561136057600080fd5b505af1158015611374573d6000803e3d6000fd5b5050505050505050565b600060608060608060008060006113ca8a8a8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506118b292505050565b92509250925060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316634cae3ad7856040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561143f57600080fd5b505afa158015611453573d6000803e3d6000fd5b505050506040513d602081101561146957600080fd5b505190506001600160a01b0381166114b25760405162461bcd60e51b8152600401808060200182810382526028815260200180611d486028913960400191505060405180910390fd5b604080516001808252818301909252906020808301908036833701905050975080886000815181106114e057fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509650828760008151811061152457fe5b602090810291909101015260408051600180825281830190925290816020016020820280368337019050509550838660008151811061155f57fe5b6001600160a01b039290921660209283029190910182015260408051600180825281830190925291828101908036833701905050945081856000815181106115a357fe5b60200260200101818152505060029850505050509295509295909350565b6000606080606080600080600061160d8a8a8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506118b292505050565b92509250925060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316634cae3ad7856040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561168257600080fd5b505afa158015611696573d6000803e3d6000fd5b505050506040513d60208110156116ac57600080fd5b505190506001600160a01b0381166116f55760405162461bcd60e51b815260040180806020018281038252602a815260200180611d1e602a913960400191505060405180910390fd5b6040805160018082528183019092529060208083019080368337019050509750838860008151811061172357fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509650828760008151811061176757fe5b602090810291909101015260408051600180825281830190925290816020016020820280368337019050509550808660008151811061155f57fe5b60408051636eb1769f60e11b81523060048201526001600160a01b038481166024830152915160009286169163dd62ed3e916044808301926020929190829003018186803b1580156117f357600080fd5b505afa158015611807573d6000803e3d6000fd5b505050506040513d602081101561181d57600080fd5b505190508181101561185a578015611844576118446001600160a01b0385168460006118e6565b61185a6001600160a01b038516846000196118e6565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526110419084906119f5565b60008060008380602001905160608110156118cc57600080fd5b508051602082015160409092015190969195509350915050565b80158061196c575060408051636eb1769f60e11b81523060048201526001600160a01b03848116602483015291519185169163dd62ed3e91604480820192602092909190829003018186803b15801561193e57600080fd5b505afa158015611952573d6000803e3d6000fd5b505050506040513d602081101561196857600080fd5b5051155b6119a75760405162461bcd60e51b8152600401808060200182810382526036815260200180611d9a6036913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526110419084905b6060611a4a826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316611aa69092919063ffffffff16565b80519091501561104157808060200190516020811015611a6957600080fd5b50516110415760405162461bcd60e51b815260040180806020018281038252602a815260200180611d70602a913960400191505060405180910390fd5b6060611ab58484600085611abf565b90505b9392505050565b606082471015611b005760405162461bcd60e51b8152600401808060200182810382526026815260200180611cc66026913960400191505060405180910390fd5b611b0985611c1b565b611b5a576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b60208310611b995780518252601f199092019160209182019101611b7a565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114611bfb576040519150601f19603f3d011682016040523d82523d6000602084013e611c00565b606091505b5091509150611c10828286611c21565b979650505050505050565b3b151590565b60608315611c30575081611ab8565b825115611c405782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611c8a578181015183820152602001611c72565b50505050905090810190601f168015611cb75780820380516001836020036101000a031916815260200191505b509250505060405180910390fdfe416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c4f6e6c792074686520496e746567726174696f6e4d616e616765722063616e2063616c6c20746869732066756e6374696f6e5f5f7061727365417373657473466f7252656465656d3a20556e737570706f727465642063546f6b656e5f5f7061727365417373657473466f724c656e643a20556e737570706f727465642063546f6b656e5361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e63657061727365417373657473466f72416374696f6e3a205f73656c6563746f7220696e76616c6964a164736f6c634300060c000a", - "sourceMap": "538:1077:164:-:0;;;592:201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;592:201:164;;;;;;;;;;;-1:-1:-1;;;;;;592:201:164;1938:41:179;;;;;;;866:32:184;;;;;;;959:40:202;;;;::::2;::::0;538:1077:164;;;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x6080604052600436106100f75760003560e01c8063863e5ad01161008a578063c32990a211610059578063c32990a21461048c578063c54efee5146104a1578063e7c4569014610670578063f7d882b514610685576100fe565b8063863e5ad0146102ac578063b23228cf146102c1578063b9dfbacc146102d6578063c29fa9dd146103b1576100fe565b806332bf8227116100c657806332bf82271461023c5780633ffc15911461026d57806340da225d1461028257806371dce85014610297576100fe565b8063080456c114610103578063099f751514610135578063131461c014610212578063257cb1a314610227576100fe565b366100fe57005b600080fd5b34801561010f57600080fd5b5061011861069a565b604080516001600160e01b03199092168252519081900360200190f35b34801561014157600080fd5b506102106004803603606081101561015857600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561018257600080fd5b82018360208201111561019457600080fd5b803590602001918460018302840111600160201b831117156101b557600080fd5b919390929091602081019035600160201b8111156101d257600080fd5b8201836020820111156101e457600080fd5b803590602001918460018302840111600160201b8311171561020557600080fd5b5090925090506106be565b005b34801561021e57600080fd5b50610118610815565b34801561023357600080fd5b50610118610839565b34801561024857600080fd5b5061025161085d565b604080516001600160a01b039092168252519081900360200190f35b34801561027957600080fd5b50610118610881565b34801561028e57600080fd5b506101186108a5565b3480156102a357600080fd5b506102516108c9565b3480156102b857600080fd5b506101186108ed565b3480156102cd57600080fd5b50610118610911565b3480156102e257600080fd5b50610210600480360360608110156102f957600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561032357600080fd5b82018360208201111561033557600080fd5b803590602001918460018302840111600160201b8311171561035657600080fd5b919390929091602081019035600160201b81111561037357600080fd5b82018360208201111561038557600080fd5b803590602001918460018302840111600160201b831117156103a657600080fd5b509092509050610935565b3480156103bd57600080fd5b50610210600480360360608110156103d457600080fd5b6001600160a01b038235169190810190604081016020820135600160201b8111156103fe57600080fd5b82018360208201111561041057600080fd5b803590602001918460018302840111600160201b8311171561043157600080fd5b919390929091602081019035600160201b81111561044e57600080fd5b82018360208201111561046057600080fd5b803590602001918460018302840111600160201b8311171561048157600080fd5b509092509050610a99565b34801561049857600080fd5b50610118610bc9565b3480156104ad57600080fd5b5061053b600480360360608110156104c457600080fd5b6001600160a01b03823516916001600160e01b031960208201351691810190606081016040820135600160201b8111156104fd57600080fd5b82018360208201111561050f57600080fd5b803590602001918460018302840111600160201b8311171561053057600080fd5b509092509050610bed565b6040518086600281111561054b57fe5b815260200180602001806020018060200180602001858103855289818151815260200191508051906020019060200280838360005b83811015610598578181015183820152602001610580565b50505050905001858103845288818151815260200191508051906020019060200280838360005b838110156105d75781810151838201526020016105bf565b50505050905001858103835287818151815260200191508051906020019060200280838360005b838110156106165781810151838201526020016105fe565b50505050905001858103825286818151815260200191508051906020019060200280838360005b8381101561065557818101518382015260200161063d565b50505050905001995050505050505050505060405180910390f35b34801561067c57600080fd5b50610251610cad565b34801561069157600080fd5b50610118610cd1565b7f8334eb99be0145865eba9889fca2ee920288090caefff4cc776038e20ad9259a81565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146107255760405162461bcd60e51b8152600401808060200182810382526032815260200180611cec6032913960400191505060405180910390fd5b8482828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f88018190048102820181019092528681526060935083925082916107a191908990899081908401838280828437600092019190915250610cf592505050565b9250925092506107ee836000815181106107b757fe5b6020026020010151836000815181106107cc57fe5b6020026020010151836000815181106107e157fe5b6020026020010151610eb2565b50505060606107fc82610cf5565b9250505061080a8382611046565b505050505050505050565b7f29fa046e79524c3c5ac4c01df692c35e217802b2b13b21121b76cf0ef02b138c81565b7f099f75155f0e997bf83a7993a71d5e7e7540bd386fe1e84643a09ce6b412521981565b7f000000000000000000000000000000000000000000000000000000000000000090565b7ffa7dd04da627f433da73c4355ead9c75682a67a8fc84d3f6170ef0922f402d2481565b7fb9dfbaccbe5cd2a84fdcf1d15f23ef25d23086f5afbaa99516065ed4a5bbc7a381565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f03e38a2bd7063d45c897edeafc330e71657502dd86434d3c37a489caf116af6981565b7f68e30677f607df46e87da13e15b637784cfa62374b653f35ab43d10361a2f83081565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461099c5760405162461bcd60e51b8152600401808060200182810382526032815260200180611cec6032913960400191505060405180910390fd5b606060006109df86868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506111a192505050565b91509150806001600160a01b0316631c3db2e088846040518363ffffffff1660e01b815260040180836001600160a01b0316815260200180602001828103825283818151815260200191508051906020019060200280838360005b83811015610a52578181015183820152602001610a3a565b505050509050019350505050600060405180830381600087803b158015610a7857600080fd5b505af1158015610a8c573d6000803e3d6000fd5b5050505050505050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610b005760405162461bcd60e51b8152600401808060200182810382526032815260200180611cec6032913960400191505060405180910390fd5b8482828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8801819004810282018101909252868152606093508392508291610b7c91908990899081908401838280828437600092019190915250610cf592505050565b9250925092506107ee83600081518110610b9257fe5b602002602001015183600081518110610ba757fe5b602002602001015183600081518110610bbc57fe5b6020026020010151611254565b7f0e7f692dad5b88fdee426250d6eae91207e56a2e8112b7364579bed1790e5bf481565b600060608080806001600160e01b0319881663099f751560e01b1415610c2657610c17878761137e565b94509450945094509450610ca2565b6001600160e01b0319881663c29fa9dd60e01b1415610c4957610c1787876115c1565b6001600160e01b03198816632e77eeb360e21b1415610c6b5760009450610ca2565b60405162461bcd60e51b8152600401808060200182810382526027815260200180611dd06027913960400191505060405180910390fd5b945094509450945094565b7f000000000000000000000000000000000000000000000000000000000000000090565b7fc29fa9dde84204c2908778afd0613d802d31cf046179b88f6d2b4a4e507ea2d581565b6060806060838060200190516060811015610d0f57600080fd5b8101908080516040519392919084600160201b821115610d2e57600080fd5b908301906020820185811115610d4357600080fd5b82518660208202830111600160201b82111715610d5f57600080fd5b82525081516020918201928201910280838360005b83811015610d8c578181015183820152602001610d74565b5050505090500160405260200180516040519392919084600160201b821115610db457600080fd5b908301906020820185811115610dc957600080fd5b82518660208202830111600160201b82111715610de557600080fd5b82525081516020918201928201910280838360005b83811015610e12578181015183820152602001610dfa565b5050505090500160405260200180516040519392919084600160201b821115610e3a57600080fd5b908301906020820185811115610e4f57600080fd5b82518660208202830111600160201b82111715610e6b57600080fd5b82525081516020918201928201910280838360005b83811015610e98578181015183820152602001610e80565b505050509050016040525050509250925092509193909250565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b03161415610fc3577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316632e1a7d4d836040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015610f5257600080fd5b505af1158015610f66573d6000803e3d6000fd5b50505050806001600160a01b0316631249c58b836040518263ffffffff1660e01b81526004016000604051808303818588803b158015610fa557600080fd5b505af1158015610fb9573d6000803e3d6000fd5b5050505050611041565b610fce8382846117a2565b806001600160a01b031663a0712d68836040518263ffffffff1660e01b815260040180828152602001915050602060405180830381600087803b15801561101457600080fd5b505af1158015611028573d6000803e3d6000fd5b505050506040513d602081101561103e57600080fd5b50505b505050565b6060815167ffffffffffffffff8111801561106057600080fd5b5060405190808252806020026020018201604052801561108a578160200160208202803683370190505b50905060005b825181101561119a5760008382815181106110a757fe5b60200260200101519050806001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156110fe57600080fd5b505afa158015611112573d6000803e3d6000fd5b505050506040513d602081101561112857600080fd5b5051835184908490811061113857fe5b602002602001018181525050600083838151811061115257fe5b60200260200101511115611191576111918584848151811061117057fe5b6020026020010151836001600160a01b03166118609092919063ffffffff16565b50600101611090565b5092915050565b606060008280602001905160408110156111ba57600080fd5b8101908080516040519392919084600160201b8211156111d957600080fd5b9083019060208201858111156111ee57600080fd5b82518660208202830111600160201b8211171561120a57600080fd5b82525081516020918201928201910280838360005b8381101561123757818101518382015260200161121f565b505050509190910160405250602001519294509192505050915091565b826001600160a01b031663db006a75836040518263ffffffff1660e01b815260040180828152602001915050602060405180830381600087803b15801561129a57600080fd5b505af11580156112ae573d6000803e3d6000fd5b505050506040513d60208110156112c457600080fd5b50507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b039081169082161415611041577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0306001600160a01b0316316040518263ffffffff1660e01b81526004016000604051808303818588803b15801561136057600080fd5b505af1158015611374573d6000803e3d6000fd5b5050505050505050565b600060608060608060008060006113ca8a8a8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506118b292505050565b92509250925060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316634cae3ad7856040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561143f57600080fd5b505afa158015611453573d6000803e3d6000fd5b505050506040513d602081101561146957600080fd5b505190506001600160a01b0381166114b25760405162461bcd60e51b8152600401808060200182810382526028815260200180611d486028913960400191505060405180910390fd5b604080516001808252818301909252906020808301908036833701905050975080886000815181106114e057fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509650828760008151811061152457fe5b602090810291909101015260408051600180825281830190925290816020016020820280368337019050509550838660008151811061155f57fe5b6001600160a01b039290921660209283029190910182015260408051600180825281830190925291828101908036833701905050945081856000815181106115a357fe5b60200260200101818152505060029850505050509295509295909350565b6000606080606080600080600061160d8a8a8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506118b292505050565b92509250925060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316634cae3ad7856040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561168257600080fd5b505afa158015611696573d6000803e3d6000fd5b505050506040513d60208110156116ac57600080fd5b505190506001600160a01b0381166116f55760405162461bcd60e51b815260040180806020018281038252602a815260200180611d1e602a913960400191505060405180910390fd5b6040805160018082528183019092529060208083019080368337019050509750838860008151811061172357fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509650828760008151811061176757fe5b602090810291909101015260408051600180825281830190925290816020016020820280368337019050509550808660008151811061155f57fe5b60408051636eb1769f60e11b81523060048201526001600160a01b038481166024830152915160009286169163dd62ed3e916044808301926020929190829003018186803b1580156117f357600080fd5b505afa158015611807573d6000803e3d6000fd5b505050506040513d602081101561181d57600080fd5b505190508181101561185a578015611844576118446001600160a01b0385168460006118e6565b61185a6001600160a01b038516846000196118e6565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526110419084906119f5565b60008060008380602001905160608110156118cc57600080fd5b508051602082015160409092015190969195509350915050565b80158061196c575060408051636eb1769f60e11b81523060048201526001600160a01b03848116602483015291519185169163dd62ed3e91604480820192602092909190829003018186803b15801561193e57600080fd5b505afa158015611952573d6000803e3d6000fd5b505050506040513d602081101561196857600080fd5b5051155b6119a75760405162461bcd60e51b8152600401808060200182810382526036815260200180611d9a6036913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526110419084905b6060611a4a826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316611aa69092919063ffffffff16565b80519091501561104157808060200190516020811015611a6957600080fd5b50516110415760405162461bcd60e51b815260040180806020018281038252602a815260200180611d70602a913960400191505060405180910390fd5b6060611ab58484600085611abf565b90505b9392505050565b606082471015611b005760405162461bcd60e51b8152600401808060200182810382526026815260200180611cc66026913960400191505060405180910390fd5b611b0985611c1b565b611b5a576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b60208310611b995780518252601f199092019160209182019101611b7a565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114611bfb576040519150601f19603f3d011682016040523d82523d6000602084013e611c00565b606091505b5091509150611c10828286611c21565b979650505050505050565b3b151590565b60608315611c30575081611ab8565b825115611c405782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611c8a578181015183820152602001611c72565b50505050905090810190601f168015611cb75780820380516001836020036101000a031916815260200191505b509250505060405180910390fdfe416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c4f6e6c792074686520496e746567726174696f6e4d616e616765722063616e2063616c6c20746869732066756e6374696f6e5f5f7061727365417373657473466f7252656465656d3a20556e737570706f727465642063546f6b656e5f5f7061727365417373657473466f724c656e643a20556e737570706f727465642063546f6b656e5361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e63657061727365417373657473466f72416374696f6e3a205f73656c6563746f7220696e76616c6964a164736f6c634300060c000a", - "sourceMap": "538:1077:164:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1490:119:180;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;1490:119:180;;;;;;;;;;;;;;1312:564:202;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1312:564:202;;;;;;;;;;;;;;;-1:-1:-1;;;1312:564:202;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1312:564:202;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1312:564:202;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1312:564:202;;;;;;;;;;-1:-1:-1;1312:564:202;;-1:-1:-1;1312:564:202;-1:-1:-1;1312:564:202;:::i;:::-;;1373:111:180;;;;;;;;;;;;;:::i;832:85::-;;;;;;;;;;;;;:::i;8171:126:202:-;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;8171:126:202;;;;;;;;;;;;;;1034:87:180;;;;;;;;;;;;;:::i;1240:110::-;;;;;;;;;;;;;:::i;2111:124:184:-;;;;;;;;;;;;;:::i;706:104:180:-;;;;;;;;;;;;;:::i;1127:91::-;;;;;;;;;;;;;:::i;976:346:164:-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;976:346:164;;;;;;;;;;;;;;;-1:-1:-1;;;976:346:164;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;976:346:164;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;976:346:164;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;976:346:164;;;;;;;;;;-1:-1:-1;976:346:164;;-1:-1:-1;976:346:164;-1:-1:-1;976:346:164;:::i;2090:568:202:-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2090:568:202;;;;;;;;;;;;;;;-1:-1:-1;;;2090:568:202;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2090:568:202;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2090:568:202;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2090:568:202;;;;;;;;;;-1:-1:-1;2090:568:202;;-1:-1:-1;2090:568:202;-1:-1:-1;2090:568:202;:::i;577:123:180:-;;;;;;;;;;;;;:::i;3717:1062:202:-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3717:1062:202;;;;-1:-1:-1;;;;;;3717:1062:202;;;;;;;;;;;;;;;;-1:-1:-1;;;3717:1062:202;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3717:1062:202;;;;;;;;;;-1:-1:-1;3717:1062:202;;-1:-1:-1;3717:1062:202;-1:-1:-1;3717:1062:202;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2637:128:179;;;;;;;;;;;;;:::i;923:89:180:-;;;;;;;;;;;;;:::i;1490:119::-;1558:50;1490:119;:::o;1312:564:202:-;1747:10:179;-1:-1:-1;;;;;1761:19:179;1747:33;;1726:130;;;;-1:-1:-1;;;1726:130:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1516:11:202::1;1529:10;;987:278:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;;1758:29:202::2;::::0;;::::2;987:278:179::1;1758:29:202::0;::::2;::::0;;::::2;::::0;::::2;::::0;;;;;;;;;;1624:28:::2;::::0;-1:-1:-1;1624:28:202;;-1:-1:-1;1624:28:202;;1758:29:::2;::::0;;1776:10;;;;;;1758:29;::::2;1776:10:::0;;;;1758:29;::::2;;::::0;::::2;::::0;;;;-1:-1:-1;1758:17:202::2;::::0;-1:-1:-1;;;1758:29:202:i:2;:::-;1610:177;;;;;;1798:71;1813:11;1825:1;1813:14;;;;;;;;;;;;;;1829:17;1847:1;1829:20;;;;;;;;;;;;;;1851:14;1866:1;1851:17;;;;;;;;;;;;;;1798:14;:71::i;:::-;1114:1:179;;;1131:31:::1;1166:29;1184:10;1166:17;:29::i;:::-;1126:69;;;;1206:52;1230:11;1243:14;1206:23;:52::i;:::-;;1866:1;;;1312:564:202::0;;;;;:::o;1373:111:180:-;1437:46;1373:111;:::o;832:85::-;878:38;832:85;:::o;8171:126:202:-;8271:19;8171:126;:::o;1034:87:180:-;1081:39;1034:87;:::o;1240:110::-;1303:46;1240:110;:::o;2111:124:184:-;2209:19;2111:124;:::o;706:104:180:-;766:43;706:104;:::o;1127:91::-;1176:41;1127:91;:::o;976:346:164:-;1747:10:179;-1:-1:-1;;;;;1761:19:179;1747:33;;1726:130;;;;-1:-1:-1;;;1726:130:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1145:24:164::1;1171:27;1202:30;1220:11;;1202:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;1202:17:164::1;::::0;-1:-1:-1;;;1202:30:164:i:1;:::-;1144:88;;;;1263:19;-1:-1:-1::0;;;;;1242:51:164::1;;1294:11;1307:7;1242:73;;;;;;;;;;;;;-1:-1:-1::0;;;;;1242:73:164::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;;::::1;::::0;;;::::1;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;1866:1:179;;976:346:164::0;;;;;:::o;2090:568:202:-;1747:10:179;-1:-1:-1;;;;;1761:19:179;1747:33;;1726:130;;;;-1:-1:-1;;;1726:130:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2296:11:202::1;2309:10;;987:278:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;;2538:29:202::2;::::0;;::::2;987:278:179::1;2538:29:202::0;::::2;::::0;;::::2;::::0;::::2;::::0;;;;;;;;;;2404:28:::2;::::0;-1:-1:-1;2404:28:202;;-1:-1:-1;2404:28:202;;2538:29:::2;::::0;;2556:10;;;;;;2538:29;::::2;2556:10:::0;;;;2538:29;::::2;;::::0;::::2;::::0;;;;-1:-1:-1;2538:17:202::2;::::0;-1:-1:-1;;;2538:29:202:i:2;:::-;2390:177;;;;;;2578:73;2595:11;2607:1;2595:14;;;;;;;;;;;;;;2611:17;2629:1;2611:20;;;;;;;;;;;;;;2633:14;2648:1;2633:17;;;;;;;;;;;;;;2578:16;:73::i;577:123:180:-:0;647:52;577:123;:::o;3717:1062:202:-;3909:64;3987:29;;;;-1:-1:-1;;;;;;4195:26:202;;-1:-1:-1;;;4195:26:202;4191:582;;;4244:33;4265:11;;4244:20;:33::i;:::-;4237:40;;;;;;;;;;;;4191:582;-1:-1:-1;;;;;;4298:28:202;;-1:-1:-1;;;4298:28:202;4294:479;;;4349:35;4372:11;;4349:22;:35::i;4294:479::-;-1:-1:-1;;;;;;4405:35:202;;-1:-1:-1;;;4405:35:202;4401:372;;;4481:46;4456:226;;;;4401:372;4713:49;;-1:-1:-1;;;4713:49:202;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4401:372;3717:1062;;;;;;;;;:::o;2637:128:179:-;2739:19;2637:128;:::o;923:89:180:-;971:40;923:89;:::o;2093:332:179:-;2205:29;2248:35;2297:32;2372:10;2361:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;-1:-1:-1;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;-1:-1:-1;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;-1:-1:-1;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2354:64;;;;;;2093:332;;;;;:::o;950:529:184:-;1123:19;-1:-1:-1;;;;;1105:37:184;:14;-1:-1:-1;;;;;1105:37:184;;1101:372;;;1164:19;-1:-1:-1;;;;;1158:35:184;;1194:20;1158:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1237:14;-1:-1:-1;;;;;1229:28:184;;1265:20;1229:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1101:372;;;1319:79;1345:14;1361;1377:20;1319:25;:79::i;:::-;1420:14;-1:-1:-1;;;;;1412:28:184;;1441:20;1412:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1101:372:184;950:529;;;:::o;3539:585:355:-;3649:36;3737:7;:14;3723:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3723:29:355;;3701:51;;3767:9;3762:319;3782:7;:14;3778:1;:18;3762:319;;;3817:19;3845:7;3853:1;3845:10;;;;;;;;;;;;;;3817:39;;3895:13;-1:-1:-1;;;;;3895:23:355;;3927:4;3895:38;;;;;;;;;;;;;-1:-1:-1;;;;;3895:38:355;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3895:38:355;3870:22;;:19;;3890:1;;3870:22;;;;;;;;;;;:63;;;;;3976:1;3951:19;3971:1;3951:22;;;;;;;;;;;;;;:26;3947:124;;;3997:59;4024:7;4033:19;4053:1;4033:22;;;;;;;;;;;;;;3997:13;-1:-1:-1;;;;;3997:26:355;;;:59;;;;;:::i;:::-;-1:-1:-1;3798:3:355;;3762:319;;;;3539:585;;;;:::o;1384:229:164:-;1483:25;1510:28;1572:11;1561:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1561:45:164;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1561:45:164;;;;;;;;;;;;-1:-1:-1;1561:45:164;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;1561:45:164;;;;;;-1:-1:-1;1561:45:164;;;1554:52;;-1:-1:-1;1561:45:164;;-1:-1:-1;;;1384:229:164;;;:::o;1526:374:184:-;1687:14;-1:-1:-1;;;;;1679:30:184;;1710:20;1679:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1764:19:184;-1:-1:-1;;;;;1746:37:184;;;;;;;1742:152;;;1813:19;-1:-1:-1;;;;;1799:43:184;;1866:4;-1:-1:-1;;;;;1850:30:184;;1799:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1526:374;;;:::o;4900:1269:202:-;5017:64;5095:29;5138:35;5187:32;5233:41;5300:14;5316:19;5337:23;5364:51;5394:11;;5364:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5364:16:202;;-1:-1:-1;;;5364:51:202:i;:::-;5299:116;;;;;;5425:13;5459:19;-1:-1:-1;;;;;5441:57:202;;5499:6;5441:65;;;;;;;;;;;;;-1:-1:-1;;;;;5441:65:202;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5441:65:202;;-1:-1:-1;;;;;;5524:19:202;;5516:72;;;;-1:-1:-1;;;5516:72:202;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5614:16;;;5628:1;5614:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5614:16:202;5599:31;;5658:5;5640:12;5653:1;5640:15;;;;;;;;-1:-1:-1;;;;;5640:23:202;;;;:15;;;;;;;;;;:23;5694:16;;;5708:1;5694:16;;;;;;;;;;;;;;5640:15;5694:16;;;;;-1:-1:-1;5694:16:202;5673:37;;5744:11;5720:18;5739:1;5720:21;;;;;;;;;;;;;;;;;:35;5784:16;;;5798:1;5784:16;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5784:16:202;5766:34;;5831:6;5810:15;5826:1;5810:18;;;;;;;;-1:-1:-1;;;;;5810:27:202;;;;:18;;;;;;;;;;:27;5874:16;;;5888:1;5874:16;;;;;;;;;;;;;;5810:18;5874:16;;;;;-1:-1:-1;5874:16:202;5847:43;;5930:15;5900:24;5925:1;5900:27;;;;;;;;;;;;;:45;;;;;5977:50;5956:206;;;;;;4900:1269;;;;;;;;:::o;6292:1273::-;6411:64;6489:29;6532:35;6581:32;6627:41;6694:14;6710:20;6732:22;6758:51;6788:11;;6758:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6758:16:202;;-1:-1:-1;;;6758:51:202:i;:::-;6693:116;;;;;;6819:13;6853:19;-1:-1:-1;;;;;6835:57:202;;6893:6;6835:65;;;;;;;;;;;;;-1:-1:-1;;;;;6835:65:202;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6835:65:202;;-1:-1:-1;;;;;;6918:19:202;;6910:74;;;;-1:-1:-1;;;6910:74:202;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7010:16;;;7024:1;7010:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7010:16:202;6995:31;;7054:6;7036:12;7049:1;7036:15;;;;;;;;-1:-1:-1;;;;;7036:24:202;;;;:15;;;;;;;;;;:24;7091:16;;;7105:1;7091:16;;;;;;;;;;;;;;7036:15;7091:16;;;;;-1:-1:-1;7091:16:202;7070:37;;7141:12;7117:18;7136:1;7117:21;;;;;;;;;;;;;;;;;:36;7182:16;;;7196:1;7182:16;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7182:16:202;7164:34;;7229:5;7208:15;7224:1;7208:18;;;;;;;2554:434:355;2714:47;;;-1:-1:-1;;;2714:47:355;;2746:4;2714:47;;;;-1:-1:-1;;;;;2714:47:355;;;;;;;;;2694:17;;2714:23;;;;;:47;;;;;;;;;;;;;;:23;:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2714:47:355;;-1:-1:-1;2775:25:355;;;2771:211;;;2820:13;;2816:89;;2853:37;-1:-1:-1;;;;;2853:25:355;;2879:7;2888:1;2853:25;:37::i;:::-;2918:53;-1:-1:-1;;;;;2918:25:355;;2944:7;-1:-1:-1;;2918:25:355;:53::i;:::-;2554:434;;;;:::o;704:175:450:-;813:58;;;-1:-1:-1;;;;;813:58:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;813:58:450;-1:-1:-1;;;813:58:450;;;786:86;;806:5;;786:19;:86::i;7656:304:202:-;7767:15;7796:28;7838:31;7912:11;7901:52;;;;;;;;;;;;;;;-1:-1:-1;7901:52:202;;;;;;;;;;;;;;;-1:-1:-1;7901:52:202;-1:-1:-1;7656:304:202;-1:-1:-1;;7656:304:202:o;1348:613:450:-;1713:10;;;1712:62;;-1:-1:-1;1729:39:450;;;-1:-1:-1;;;1729:39:450;;1753:4;1729:39;;;;-1:-1:-1;;;;;1729:39:450;;;;;;;;;:15;;;;;;:39;;;;;;;;;;;;;;;:15;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1729:39:450;:44;1712:62;1704:150;;;;-1:-1:-1;;;1704:150:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1891:62;;;-1:-1:-1;;;;;1891:62:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1891:62:450;-1:-1:-1;;;1891:62:450;;;1864:90;;1884:5;;2967:751;3386:23;3412:69;3440:4;3412:69;;;;;;;;;;;;;;;;;3420:5;-1:-1:-1;;;;;3412:27:450;;;:69;;;;;:::i;:::-;3495:17;;3386:95;;-1:-1:-1;3495:21:450;3491:221;;3635:10;3624:30;;;;;;;;;;;;;;;-1:-1:-1;3624:30:450;3616:85;;;;-1:-1:-1;;;3616:85:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3581:193:451;3684:12;3715:52;3737:6;3745:4;3751:1;3754:12;3715:21;:52::i;:::-;3708:59;;3581:193;;;;;;:::o;4608:523::-;4735:12;4792:5;4767:21;:30;;4759:81;;;;-1:-1:-1;;;4759:81:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4858:18;4869:6;4858:10;:18::i;:::-;4850:60;;;;;-1:-1:-1;;;4850:60:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;4981:12;4995:23;5022:6;-1:-1:-1;;;;;5022:11:451;5042:5;5050:4;5022:33;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5022:33:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4980:75;;;;5072:52;5090:7;5099:10;5111:12;5072:17;:52::i;:::-;5065:59;4608:523;-1:-1:-1;;;;;;;4608:523:451:o;726:413::-;1086:20;1124:8;;;726:413::o;7091:725::-;7206:12;7234:7;7230:580;;;-1:-1:-1;7264:10:451;7257:17;;7230:580;7375:17;;:21;7371:429;;7633:10;7627:17;7693:15;7680:10;7676:2;7672:19;7665:44;7582:145;7772:12;7765:20;;-1:-1:-1;;;7765:20:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;", - "linkReferences": {}, - "immutableReferences": { - "49791": [ - { - "start": 1737, - "length": 32 - }, - { - "start": 2368, - "length": 32 - }, - { - "start": 2724, - "length": 32 - }, - { - "start": 3247, - "length": 32 - } - ], - "50250": [ - { - "start": 2251, - "length": 32 - }, - { - "start": 3764, - "length": 32 - }, - { - "start": 3822, - "length": 32 - }, - { - "start": 4808, - "length": 32 - }, - { - "start": 4861, - "length": 32 - } - ], - "54663": [ - { - "start": 2143, - "length": 32 - }, - { - "start": 5076, - "length": 32 - }, - { - "start": 5655, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "CLAIM_REWARDS_SELECTOR()": "40da225d", - "LEND_AND_STAKE_SELECTOR()": "131461c0", - "LEND_SELECTOR()": "257cb1a3", - "REDEEM_SELECTOR()": "f7d882b5", - "STAKE_SELECTOR()": "3ffc1591", - "TAKE_MULTIPLE_ORDERS_SELECTOR()": "c32990a2", - "TAKE_ORDER_SELECTOR()": "863e5ad0", - "UNSTAKE_AND_REDEEM_SELECTOR()": "080456c1", - "UNSTAKE_SELECTOR()": "b23228cf", - "claimRewards(address,bytes,bytes)": "b9dfbacc", - "getCompoundPriceFeed()": "32bf8227", - "getCompoundWethToken()": "71dce850", - "getIntegrationManager()": "e7c45690", - "lend(address,bytes,bytes)": "099f7515", - "parseAssetsForAction(address,bytes4,bytes)": "c54efee5", - "redeem(address,bytes,bytes)": "c29fa9dd" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_integrationManager\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_compoundPriceFeed\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_wethToken\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"CLAIM_REWARDS_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LEND_AND_STAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LEND_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"REDEEM_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"STAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TAKE_MULTIPLE_ORDERS_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TAKE_ORDER_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UNSTAKE_AND_REDEEM_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UNSTAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"claimRewards\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCompoundPriceFeed\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"compoundPriceFeed_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCompoundWethToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"compoundWethToken_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getIntegrationManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"integrationManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"_assetData\",\"type\":\"bytes\"}],\"name\":\"lend\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"_selector\",\"type\":\"bytes4\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"}],\"name\":\"parseAssetsForAction\",\"outputs\":[{\"internalType\":\"enum IIntegrationManager.SpendAssetsHandleType\",\"name\":\"spendAssetsHandleType_\",\"type\":\"uint8\"},{\"internalType\":\"address[]\",\"name\":\"spendAssets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"spendAssetAmounts_\",\"type\":\"uint256[]\"},{\"internalType\":\"address[]\",\"name\":\"incomingAssets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"minIncomingAssetAmounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"_assetData\",\"type\":\"bytes\"}],\"name\":\"redeem\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"claimRewards(address,bytes,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}},\"getCompoundPriceFeed()\":{\"returns\":{\"compoundPriceFeed_\":\"The `COMPOUND_PRICE_FEED` variable value\"}},\"getCompoundWethToken()\":{\"returns\":{\"compoundWethToken_\":\"The `COMPOUND_WETH_TOKEN` variable value\"}},\"getIntegrationManager()\":{\"returns\":{\"integrationManager_\":\"The `INTEGRATION_MANAGER` variable value\"}},\"lend(address,bytes,bytes)\":{\"params\":{\"_assetData\":\"Parsed spend assets and incoming assets data for this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}},\"parseAssetsForAction(address,bytes4,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_selector\":\"The function selector for the callOnIntegration\"},\"returns\":{\"incomingAssets_\":\"The assets to receive in the call\",\"minIncomingAssetAmounts_\":\"The min asset amounts to receive in the call\",\"spendAssetAmounts_\":\"The max asset amounts to spend in the call\",\"spendAssetsHandleType_\":\"A type that dictates how to handle granting the adapter access to spend assets (`None` by default)\",\"spendAssets_\":\"The assets to spend in the call\"}},\"redeem(address,bytes,bytes)\":{\"params\":{\"_assetData\":\"Parsed spend assets and incoming assets data for this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}}},\"title\":\"CompoundAdapter Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"claimRewards(address,bytes,bytes)\":{\"notice\":\"Claims rewards from Compound's Comptroller\"},\"getCompoundPriceFeed()\":{\"notice\":\"Gets the `COMPOUND_PRICE_FEED` variable\"},\"getCompoundWethToken()\":{\"notice\":\"Gets the `COMPOUND_WETH_TOKEN` variable\"},\"getIntegrationManager()\":{\"notice\":\"Gets the `INTEGRATION_MANAGER` variable\"},\"lend(address,bytes,bytes)\":{\"notice\":\"Lends an amount of a token to Compound\"},\"parseAssetsForAction(address,bytes4,bytes)\":{\"notice\":\"Parses the expected assets in a particular action\"},\"redeem(address,bytes,bytes)\":{\"notice\":\"Redeems an amount of cTokens from Compound\"}},\"notice\":\"Adapter for Compound \",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/integration-manager/integrations/adapters/CompoundAdapter.sol\":\"CompoundAdapter\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/extensions/integration-manager/IIntegrationManager.sol\":{\"keccak256\":\"0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23\",\"dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk\"]},\"contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol\":{\"keccak256\":\"0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336\",\"dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS\"]},\"contracts/release/extensions/integration-manager/integrations/adapters/CompoundAdapter.sol\":{\"keccak256\":\"0x589323993bd170f2badc2b871267e06f6298ff4d42484df521702ac119dc9510\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://12eb4f2493ebde89350d724204be3bf285259e61fd6911a1b4a1c05867ea780a\",\"dweb:/ipfs/QmPefgrZ1p2KZ1a6jJEAvJCL8PrVxvLnpVey4h7ywht8TY\"]},\"contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol\":{\"keccak256\":\"0x067e49bf0d3c1655ab41a413c65ccf61d4e593308132e1ffc484a0fadfbbaf26\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://387f425017e18e89cc1893521101fa99df595314847d0b3d9a1162369f714fcf\",\"dweb:/ipfs/Qmco3jCvuWAyfCpBYpGzHrQjiFJG63w1RJKcakoTEbxRQm\"]},\"contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol\":{\"keccak256\":\"0xfd34c7ca8231c6935e25dede32ca2b3121738e624d0fc896f7b895a731edcf88\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d492c061963d36d07718446db191d4c5a340c0d847f6cd209f027bd99f7cb176\",\"dweb:/ipfs/QmfCvRZt56ftDdrEh6LepHXFJ4fVtcfpQGvEyY8k4zxG1A\"]},\"contracts/release/extensions/integration-manager/integrations/utils/actions/CompoundActionsMixin.sol\":{\"keccak256\":\"0x81e765c2662bebac378eb0b6c25f9c094019a8bca2bebe3800b8297616553e49\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://aaedf971482da2c54778d925bd5847851ce24266d7651bed0285c55e727f5426\",\"dweb:/ipfs/QmNsrdy4V5pKmpQLGyQGSNiY23BnLmjBAjofnxcjyLUjV6\"]},\"contracts/release/extensions/integration-manager/integrations/utils/bases/CompoundAdapterBase.sol\":{\"keccak256\":\"0xa5f368fa4e7a4432eee1a9a764190181d5e707fd8e6c757ffb8eef8349a36f01\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c04d4519f5e811ce16a217c82b606ceff0e9042534ce3e300fd32e5032b95221\",\"dweb:/ipfs/QmNRndBBCxYk64bMtbfkjPUANok3LjvNxudyB6oicUXzxY\"]},\"contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol\":{\"keccak256\":\"0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e\",\"dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK\"]},\"contracts/release/infrastructure/price-feeds/derivatives/feeds/CompoundPriceFeed.sol\":{\"keccak256\":\"0x1addbd55e648a9a1c4cdbf8a7549a9f4eced25f7478b0b4f467ab7cafe7162bc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6f165a37d3fb05d9044042c4a719b728fb6a499c5dabc53945b8775decb06560\",\"dweb:/ipfs/QmY2VnnAknyrticer1jtWVMCr4Ea3tv4XfW71BVGrgoBGH\"]},\"contracts/release/interfaces/ICERC20.sol\":{\"keccak256\":\"0x9a32a6ca307ac613bde26844d33e1732ae348bceffc93d63e3691f2ff22c6e0b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9c7aff5bf1c249fab27262fb1dc934325e259e5fd6857fbad70c8684f8ee4247\",\"dweb:/ipfs/QmTAneTyW2oCTZGVMVEAp77qMW9U9NymoK8k3RcwpNRh5W\"]},\"contracts/release/interfaces/ICEther.sol\":{\"keccak256\":\"0x7baa90be9075da954ed5630133b94d13ef857a6a66d4333ea83145ccb192c709\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6cf10fa111356f5dc32fe9de42c23ee32a766d7bacb1447e5ca9163702338064\",\"dweb:/ipfs/QmTrC9ngVaTm9bVSUyVpZV7J8gNSKbbvXcv36wdhikoSLo\"]},\"contracts/release/interfaces/ICompoundComptroller.sol\":{\"keccak256\":\"0x74c34b8146c5bff72c571dcce593d5ebec0c803d4716413adc10f3889ad66870\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://66a07e6c6aecccad6df33bc6f3c6b67d53d11c4dc175ed512eff554c9633bf3f\",\"dweb:/ipfs/QmanV5EZm1yycR5sV6LxnKY1wh8p9YGR7uScJf95Y3F7VJ\"]},\"contracts/release/interfaces/IWETH.sol\":{\"keccak256\":\"0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2\",\"dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"contracts/release/utils/FundDeployerOwnerMixin.sol\":{\"keccak256\":\"0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927\",\"dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_integrationManager", - "type": "address" - }, - { - "internalType": "address", - "name": "_compoundPriceFeed", - "type": "address" - }, - { - "internalType": "address", - "name": "_wethToken", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "CLAIM_REWARDS_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "LEND_AND_STAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "LEND_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "REDEEM_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "STAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "TAKE_MULTIPLE_ORDERS_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "TAKE_ORDER_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "UNSTAKE_AND_REDEEM_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "UNSTAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "claimRewards" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getCompoundPriceFeed", - "outputs": [ - { - "internalType": "address", - "name": "compoundPriceFeed_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getCompoundWethToken", - "outputs": [ - { - "internalType": "address", - "name": "compoundWethToken_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getIntegrationManager", - "outputs": [ - { - "internalType": "address", - "name": "integrationManager_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "_assetData", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "lend" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes4", - "name": "_selector", - "type": "bytes4" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - } - ], - "stateMutability": "view", - "type": "function", - "name": "parseAssetsForAction", - "outputs": [ - { - "internalType": "enum IIntegrationManager.SpendAssetsHandleType", - "name": "spendAssetsHandleType_", - "type": "uint8" - }, - { - "internalType": "address[]", - "name": "spendAssets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "spendAssetAmounts_", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "incomingAssets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "minIncomingAssetAmounts_", - "type": "uint256[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "_assetData", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "redeem" - }, - { - "inputs": [], - "stateMutability": "payable", - "type": "receive" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "claimRewards(address,bytes,bytes)": { - "params": { - "_actionData": "Data specific to this action", - "_vaultProxy": "The VaultProxy of the calling fund" - } - }, - "getCompoundPriceFeed()": { - "returns": { - "compoundPriceFeed_": "The `COMPOUND_PRICE_FEED` variable value" - } - }, - "getCompoundWethToken()": { - "returns": { - "compoundWethToken_": "The `COMPOUND_WETH_TOKEN` variable value" - } - }, - "getIntegrationManager()": { - "returns": { - "integrationManager_": "The `INTEGRATION_MANAGER` variable value" - } - }, - "lend(address,bytes,bytes)": { - "params": { - "_assetData": "Parsed spend assets and incoming assets data for this action", - "_vaultProxy": "The VaultProxy of the calling fund" - } - }, - "parseAssetsForAction(address,bytes4,bytes)": { - "params": { - "_actionData": "Data specific to this action", - "_selector": "The function selector for the callOnIntegration" - }, - "returns": { - "incomingAssets_": "The assets to receive in the call", - "minIncomingAssetAmounts_": "The min asset amounts to receive in the call", - "spendAssetAmounts_": "The max asset amounts to spend in the call", - "spendAssetsHandleType_": "A type that dictates how to handle granting the adapter access to spend assets (`None` by default)", - "spendAssets_": "The assets to spend in the call" - } - }, - "redeem(address,bytes,bytes)": { - "params": { - "_assetData": "Parsed spend assets and incoming assets data for this action", - "_vaultProxy": "The VaultProxy of the calling fund" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "claimRewards(address,bytes,bytes)": { - "notice": "Claims rewards from Compound's Comptroller" - }, - "getCompoundPriceFeed()": { - "notice": "Gets the `COMPOUND_PRICE_FEED` variable" - }, - "getCompoundWethToken()": { - "notice": "Gets the `COMPOUND_WETH_TOKEN` variable" - }, - "getIntegrationManager()": { - "notice": "Gets the `INTEGRATION_MANAGER` variable" - }, - "lend(address,bytes,bytes)": { - "notice": "Lends an amount of a token to Compound" - }, - "parseAssetsForAction(address,bytes4,bytes)": { - "notice": "Parses the expected assets in a particular action" - }, - "redeem(address,bytes,bytes)": { - "notice": "Redeems an amount of cTokens from Compound" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/integration-manager/integrations/adapters/CompoundAdapter.sol": "CompoundAdapter" - }, - "libraries": {} - }, - "sources": { - "contracts/release/core/fund-deployer/IFundDeployer.sol": { - "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", - "urls": [ - "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", - "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/IIntegrationManager.sol": { - "keccak256": "0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef", - "urls": [ - "bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23", - "dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol": { - "keccak256": "0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1", - "urls": [ - "bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336", - "dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/adapters/CompoundAdapter.sol": { - "keccak256": "0x589323993bd170f2badc2b871267e06f6298ff4d42484df521702ac119dc9510", - "urls": [ - "bzz-raw://12eb4f2493ebde89350d724204be3bf285259e61fd6911a1b4a1c05867ea780a", - "dweb:/ipfs/QmPefgrZ1p2KZ1a6jJEAvJCL8PrVxvLnpVey4h7ywht8TY" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol": { - "keccak256": "0x067e49bf0d3c1655ab41a413c65ccf61d4e593308132e1ffc484a0fadfbbaf26", - "urls": [ - "bzz-raw://387f425017e18e89cc1893521101fa99df595314847d0b3d9a1162369f714fcf", - "dweb:/ipfs/Qmco3jCvuWAyfCpBYpGzHrQjiFJG63w1RJKcakoTEbxRQm" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol": { - "keccak256": "0xfd34c7ca8231c6935e25dede32ca2b3121738e624d0fc896f7b895a731edcf88", - "urls": [ - "bzz-raw://d492c061963d36d07718446db191d4c5a340c0d847f6cd209f027bd99f7cb176", - "dweb:/ipfs/QmfCvRZt56ftDdrEh6LepHXFJ4fVtcfpQGvEyY8k4zxG1A" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/utils/actions/CompoundActionsMixin.sol": { - "keccak256": "0x81e765c2662bebac378eb0b6c25f9c094019a8bca2bebe3800b8297616553e49", - "urls": [ - "bzz-raw://aaedf971482da2c54778d925bd5847851ce24266d7651bed0285c55e727f5426", - "dweb:/ipfs/QmNsrdy4V5pKmpQLGyQGSNiY23BnLmjBAjofnxcjyLUjV6" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/utils/bases/CompoundAdapterBase.sol": { - "keccak256": "0xa5f368fa4e7a4432eee1a9a764190181d5e707fd8e6c757ffb8eef8349a36f01", - "urls": [ - "bzz-raw://c04d4519f5e811ce16a217c82b606ceff0e9042534ce3e300fd32e5032b95221", - "dweb:/ipfs/QmNRndBBCxYk64bMtbfkjPUANok3LjvNxudyB6oicUXzxY" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol": { - "keccak256": "0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332", - "urls": [ - "bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e", - "dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/price-feeds/derivatives/feeds/CompoundPriceFeed.sol": { - "keccak256": "0x1addbd55e648a9a1c4cdbf8a7549a9f4eced25f7478b0b4f467ab7cafe7162bc", - "urls": [ - "bzz-raw://6f165a37d3fb05d9044042c4a719b728fb6a499c5dabc53945b8775decb06560", - "dweb:/ipfs/QmY2VnnAknyrticer1jtWVMCr4Ea3tv4XfW71BVGrgoBGH" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/ICERC20.sol": { - "keccak256": "0x9a32a6ca307ac613bde26844d33e1732ae348bceffc93d63e3691f2ff22c6e0b", - "urls": [ - "bzz-raw://9c7aff5bf1c249fab27262fb1dc934325e259e5fd6857fbad70c8684f8ee4247", - "dweb:/ipfs/QmTAneTyW2oCTZGVMVEAp77qMW9U9NymoK8k3RcwpNRh5W" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/ICEther.sol": { - "keccak256": "0x7baa90be9075da954ed5630133b94d13ef857a6a66d4333ea83145ccb192c709", - "urls": [ - "bzz-raw://6cf10fa111356f5dc32fe9de42c23ee32a766d7bacb1447e5ca9163702338064", - "dweb:/ipfs/QmTrC9ngVaTm9bVSUyVpZV7J8gNSKbbvXcv36wdhikoSLo" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/ICompoundComptroller.sol": { - "keccak256": "0x74c34b8146c5bff72c571dcce593d5ebec0c803d4716413adc10f3889ad66870", - "urls": [ - "bzz-raw://66a07e6c6aecccad6df33bc6f3c6b67d53d11c4dc175ed512eff554c9633bf3f", - "dweb:/ipfs/QmanV5EZm1yycR5sV6LxnKY1wh8p9YGR7uScJf95Y3F7VJ" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IWETH.sol": { - "keccak256": "0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2", - "urls": [ - "bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2", - "dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AssetHelpers.sol": { - "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", - "urls": [ - "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", - "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/FundDeployerOwnerMixin.sol": { - "keccak256": "0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934", - "urls": [ - "bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927", - "dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { - "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", - "urls": [ - "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", - "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Address.sol": { - "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", - "urls": [ - "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", - "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 164 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_integrationManager", "type": "address", "internalType": "address" }, { "name": "_compoundPriceFeed", "type": "address", "internalType": "address" }, { "name": "_wethToken", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "receive", "stateMutability": "payable" }, { "type": "function", "name": "CLAIM_REWARDS_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "LEND_AND_STAKE_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "LEND_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "REDEEM_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "STAKE_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "TAKE_MULTIPLE_ORDERS_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "TAKE_ORDER_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "UNSTAKE_AND_REDEEM_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "UNSTAKE_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "claimRewards", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_actionData", "type": "bytes", "internalType": "bytes" }, { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "getCompoundPriceFeed", "inputs": [], "outputs": [ { "name": "compoundPriceFeed_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getCompoundWethToken", "inputs": [], "outputs": [ { "name": "compoundWethToken_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getIntegrationManager", "inputs": [], "outputs": [ { "name": "integrationManager_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "lend", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "", "type": "bytes", "internalType": "bytes" }, { "name": "_assetData", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "parseAssetsForAction", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "_selector", "type": "bytes4", "internalType": "bytes4" }, { "name": "_actionData", "type": "bytes", "internalType": "bytes" } ], "outputs": [ { "name": "spendAssetsHandleType_", "type": "uint8", "internalType": "enum IIntegrationManager.SpendAssetsHandleType" }, { "name": "spendAssets_", "type": "address[]", "internalType": "address[]" }, { "name": "spendAssetAmounts_", "type": "uint256[]", "internalType": "uint256[]" }, { "name": "incomingAssets_", "type": "address[]", "internalType": "address[]" }, { "name": "minIncomingAssetAmounts_", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "view" }, { "type": "function", "name": "redeem", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "", "type": "bytes", "internalType": "bytes" }, { "name": "_assetData", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x60e060405234801561001057600080fd5b50604051611ec8380380611ec88339818101604052606081101561003357600080fd5b50805160208201516040909201516001600160601b0319606092831b811660805290821b811660a05291901b1660c05260805160601c60a05160601c60c05160601c611e036100c56000398061085f52806113d452806116175250806108cb5280610eb45280610eee52806112c852806112fd5250806106c952806109405280610aa45280610caf5250611e036000f3fe6080604052600436106100f75760003560e01c8063863e5ad01161008a578063c32990a211610059578063c32990a21461048c578063c54efee5146104a1578063e7c4569014610670578063f7d882b514610685576100fe565b8063863e5ad0146102ac578063b23228cf146102c1578063b9dfbacc146102d6578063c29fa9dd146103b1576100fe565b806332bf8227116100c657806332bf82271461023c5780633ffc15911461026d57806340da225d1461028257806371dce85014610297576100fe565b8063080456c114610103578063099f751514610135578063131461c014610212578063257cb1a314610227576100fe565b366100fe57005b600080fd5b34801561010f57600080fd5b5061011861069a565b604080516001600160e01b03199092168252519081900360200190f35b34801561014157600080fd5b506102106004803603606081101561015857600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561018257600080fd5b82018360208201111561019457600080fd5b803590602001918460018302840111600160201b831117156101b557600080fd5b919390929091602081019035600160201b8111156101d257600080fd5b8201836020820111156101e457600080fd5b803590602001918460018302840111600160201b8311171561020557600080fd5b5090925090506106be565b005b34801561021e57600080fd5b50610118610815565b34801561023357600080fd5b50610118610839565b34801561024857600080fd5b5061025161085d565b604080516001600160a01b039092168252519081900360200190f35b34801561027957600080fd5b50610118610881565b34801561028e57600080fd5b506101186108a5565b3480156102a357600080fd5b506102516108c9565b3480156102b857600080fd5b506101186108ed565b3480156102cd57600080fd5b50610118610911565b3480156102e257600080fd5b50610210600480360360608110156102f957600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561032357600080fd5b82018360208201111561033557600080fd5b803590602001918460018302840111600160201b8311171561035657600080fd5b919390929091602081019035600160201b81111561037357600080fd5b82018360208201111561038557600080fd5b803590602001918460018302840111600160201b831117156103a657600080fd5b509092509050610935565b3480156103bd57600080fd5b50610210600480360360608110156103d457600080fd5b6001600160a01b038235169190810190604081016020820135600160201b8111156103fe57600080fd5b82018360208201111561041057600080fd5b803590602001918460018302840111600160201b8311171561043157600080fd5b919390929091602081019035600160201b81111561044e57600080fd5b82018360208201111561046057600080fd5b803590602001918460018302840111600160201b8311171561048157600080fd5b509092509050610a99565b34801561049857600080fd5b50610118610bc9565b3480156104ad57600080fd5b5061053b600480360360608110156104c457600080fd5b6001600160a01b03823516916001600160e01b031960208201351691810190606081016040820135600160201b8111156104fd57600080fd5b82018360208201111561050f57600080fd5b803590602001918460018302840111600160201b8311171561053057600080fd5b509092509050610bed565b6040518086600281111561054b57fe5b815260200180602001806020018060200180602001858103855289818151815260200191508051906020019060200280838360005b83811015610598578181015183820152602001610580565b50505050905001858103845288818151815260200191508051906020019060200280838360005b838110156105d75781810151838201526020016105bf565b50505050905001858103835287818151815260200191508051906020019060200280838360005b838110156106165781810151838201526020016105fe565b50505050905001858103825286818151815260200191508051906020019060200280838360005b8381101561065557818101518382015260200161063d565b50505050905001995050505050505050505060405180910390f35b34801561067c57600080fd5b50610251610cad565b34801561069157600080fd5b50610118610cd1565b7f8334eb99be0145865eba9889fca2ee920288090caefff4cc776038e20ad9259a81565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146107255760405162461bcd60e51b8152600401808060200182810382526032815260200180611cec6032913960400191505060405180910390fd5b8482828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f88018190048102820181019092528681526060935083925082916107a191908990899081908401838280828437600092019190915250610cf592505050565b9250925092506107ee836000815181106107b757fe5b6020026020010151836000815181106107cc57fe5b6020026020010151836000815181106107e157fe5b6020026020010151610eb2565b50505060606107fc82610cf5565b9250505061080a8382611046565b505050505050505050565b7f29fa046e79524c3c5ac4c01df692c35e217802b2b13b21121b76cf0ef02b138c81565b7f099f75155f0e997bf83a7993a71d5e7e7540bd386fe1e84643a09ce6b412521981565b7f000000000000000000000000000000000000000000000000000000000000000090565b7ffa7dd04da627f433da73c4355ead9c75682a67a8fc84d3f6170ef0922f402d2481565b7fb9dfbaccbe5cd2a84fdcf1d15f23ef25d23086f5afbaa99516065ed4a5bbc7a381565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f03e38a2bd7063d45c897edeafc330e71657502dd86434d3c37a489caf116af6981565b7f68e30677f607df46e87da13e15b637784cfa62374b653f35ab43d10361a2f83081565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461099c5760405162461bcd60e51b8152600401808060200182810382526032815260200180611cec6032913960400191505060405180910390fd5b606060006109df86868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506111a192505050565b91509150806001600160a01b0316631c3db2e088846040518363ffffffff1660e01b815260040180836001600160a01b0316815260200180602001828103825283818151815260200191508051906020019060200280838360005b83811015610a52578181015183820152602001610a3a565b505050509050019350505050600060405180830381600087803b158015610a7857600080fd5b505af1158015610a8c573d6000803e3d6000fd5b5050505050505050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610b005760405162461bcd60e51b8152600401808060200182810382526032815260200180611cec6032913960400191505060405180910390fd5b8482828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8801819004810282018101909252868152606093508392508291610b7c91908990899081908401838280828437600092019190915250610cf592505050565b9250925092506107ee83600081518110610b9257fe5b602002602001015183600081518110610ba757fe5b602002602001015183600081518110610bbc57fe5b6020026020010151611254565b7f0e7f692dad5b88fdee426250d6eae91207e56a2e8112b7364579bed1790e5bf481565b600060608080806001600160e01b0319881663099f751560e01b1415610c2657610c17878761137e565b94509450945094509450610ca2565b6001600160e01b0319881663c29fa9dd60e01b1415610c4957610c1787876115c1565b6001600160e01b03198816632e77eeb360e21b1415610c6b5760009450610ca2565b60405162461bcd60e51b8152600401808060200182810382526027815260200180611dd06027913960400191505060405180910390fd5b945094509450945094565b7f000000000000000000000000000000000000000000000000000000000000000090565b7fc29fa9dde84204c2908778afd0613d802d31cf046179b88f6d2b4a4e507ea2d581565b6060806060838060200190516060811015610d0f57600080fd5b8101908080516040519392919084600160201b821115610d2e57600080fd5b908301906020820185811115610d4357600080fd5b82518660208202830111600160201b82111715610d5f57600080fd5b82525081516020918201928201910280838360005b83811015610d8c578181015183820152602001610d74565b5050505090500160405260200180516040519392919084600160201b821115610db457600080fd5b908301906020820185811115610dc957600080fd5b82518660208202830111600160201b82111715610de557600080fd5b82525081516020918201928201910280838360005b83811015610e12578181015183820152602001610dfa565b5050505090500160405260200180516040519392919084600160201b821115610e3a57600080fd5b908301906020820185811115610e4f57600080fd5b82518660208202830111600160201b82111715610e6b57600080fd5b82525081516020918201928201910280838360005b83811015610e98578181015183820152602001610e80565b505050509050016040525050509250925092509193909250565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b03161415610fc3577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316632e1a7d4d836040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015610f5257600080fd5b505af1158015610f66573d6000803e3d6000fd5b50505050806001600160a01b0316631249c58b836040518263ffffffff1660e01b81526004016000604051808303818588803b158015610fa557600080fd5b505af1158015610fb9573d6000803e3d6000fd5b5050505050611041565b610fce8382846117a2565b806001600160a01b031663a0712d68836040518263ffffffff1660e01b815260040180828152602001915050602060405180830381600087803b15801561101457600080fd5b505af1158015611028573d6000803e3d6000fd5b505050506040513d602081101561103e57600080fd5b50505b505050565b6060815167ffffffffffffffff8111801561106057600080fd5b5060405190808252806020026020018201604052801561108a578160200160208202803683370190505b50905060005b825181101561119a5760008382815181106110a757fe5b60200260200101519050806001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156110fe57600080fd5b505afa158015611112573d6000803e3d6000fd5b505050506040513d602081101561112857600080fd5b5051835184908490811061113857fe5b602002602001018181525050600083838151811061115257fe5b60200260200101511115611191576111918584848151811061117057fe5b6020026020010151836001600160a01b03166118609092919063ffffffff16565b50600101611090565b5092915050565b606060008280602001905160408110156111ba57600080fd5b8101908080516040519392919084600160201b8211156111d957600080fd5b9083019060208201858111156111ee57600080fd5b82518660208202830111600160201b8211171561120a57600080fd5b82525081516020918201928201910280838360005b8381101561123757818101518382015260200161121f565b505050509190910160405250602001519294509192505050915091565b826001600160a01b031663db006a75836040518263ffffffff1660e01b815260040180828152602001915050602060405180830381600087803b15801561129a57600080fd5b505af11580156112ae573d6000803e3d6000fd5b505050506040513d60208110156112c457600080fd5b50507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b039081169082161415611041577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0306001600160a01b0316316040518263ffffffff1660e01b81526004016000604051808303818588803b15801561136057600080fd5b505af1158015611374573d6000803e3d6000fd5b5050505050505050565b600060608060608060008060006113ca8a8a8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506118b292505050565b92509250925060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316634cae3ad7856040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561143f57600080fd5b505afa158015611453573d6000803e3d6000fd5b505050506040513d602081101561146957600080fd5b505190506001600160a01b0381166114b25760405162461bcd60e51b8152600401808060200182810382526028815260200180611d486028913960400191505060405180910390fd5b604080516001808252818301909252906020808301908036833701905050975080886000815181106114e057fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509650828760008151811061152457fe5b602090810291909101015260408051600180825281830190925290816020016020820280368337019050509550838660008151811061155f57fe5b6001600160a01b039290921660209283029190910182015260408051600180825281830190925291828101908036833701905050945081856000815181106115a357fe5b60200260200101818152505060029850505050509295509295909350565b6000606080606080600080600061160d8a8a8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506118b292505050565b92509250925060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316634cae3ad7856040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561168257600080fd5b505afa158015611696573d6000803e3d6000fd5b505050506040513d60208110156116ac57600080fd5b505190506001600160a01b0381166116f55760405162461bcd60e51b815260040180806020018281038252602a815260200180611d1e602a913960400191505060405180910390fd5b6040805160018082528183019092529060208083019080368337019050509750838860008151811061172357fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509650828760008151811061176757fe5b602090810291909101015260408051600180825281830190925290816020016020820280368337019050509550808660008151811061155f57fe5b60408051636eb1769f60e11b81523060048201526001600160a01b038481166024830152915160009286169163dd62ed3e916044808301926020929190829003018186803b1580156117f357600080fd5b505afa158015611807573d6000803e3d6000fd5b505050506040513d602081101561181d57600080fd5b505190508181101561185a578015611844576118446001600160a01b0385168460006118e6565b61185a6001600160a01b038516846000196118e6565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526110419084906119f5565b60008060008380602001905160608110156118cc57600080fd5b508051602082015160409092015190969195509350915050565b80158061196c575060408051636eb1769f60e11b81523060048201526001600160a01b03848116602483015291519185169163dd62ed3e91604480820192602092909190829003018186803b15801561193e57600080fd5b505afa158015611952573d6000803e3d6000fd5b505050506040513d602081101561196857600080fd5b5051155b6119a75760405162461bcd60e51b8152600401808060200182810382526036815260200180611d9a6036913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526110419084905b6060611a4a826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316611aa69092919063ffffffff16565b80519091501561104157808060200190516020811015611a6957600080fd5b50516110415760405162461bcd60e51b815260040180806020018281038252602a815260200180611d70602a913960400191505060405180910390fd5b6060611ab58484600085611abf565b90505b9392505050565b606082471015611b005760405162461bcd60e51b8152600401808060200182810382526026815260200180611cc66026913960400191505060405180910390fd5b611b0985611c1b565b611b5a576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b60208310611b995780518252601f199092019160209182019101611b7a565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114611bfb576040519150601f19603f3d011682016040523d82523d6000602084013e611c00565b606091505b5091509150611c10828286611c21565b979650505050505050565b3b151590565b60608315611c30575081611ab8565b825115611c405782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611c8a578181015183820152602001611c72565b50505050905090810190601f168015611cb75780820380516001836020036101000a031916815260200191505b509250505060405180910390fdfe416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c4f6e6c792074686520496e746567726174696f6e4d616e616765722063616e2063616c6c20746869732066756e6374696f6e5f5f7061727365417373657473466f7252656465656d3a20556e737570706f727465642063546f6b656e5f5f7061727365417373657473466f724c656e643a20556e737570706f727465642063546f6b656e5361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e63657061727365417373657473466f72416374696f6e3a205f73656c6563746f7220696e76616c6964a164736f6c634300060c000a", "sourceMap": "538:1077:164:-:0;;;592:201;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;592:201:164;;;;;;;;;;;-1:-1:-1;;;;;;592:201:164;1938:41:179;;;;;;;866:32:184;;;;;;;959:40:202;;;;::::2;::::0;538:1077:164;;;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x6080604052600436106100f75760003560e01c8063863e5ad01161008a578063c32990a211610059578063c32990a21461048c578063c54efee5146104a1578063e7c4569014610670578063f7d882b514610685576100fe565b8063863e5ad0146102ac578063b23228cf146102c1578063b9dfbacc146102d6578063c29fa9dd146103b1576100fe565b806332bf8227116100c657806332bf82271461023c5780633ffc15911461026d57806340da225d1461028257806371dce85014610297576100fe565b8063080456c114610103578063099f751514610135578063131461c014610212578063257cb1a314610227576100fe565b366100fe57005b600080fd5b34801561010f57600080fd5b5061011861069a565b604080516001600160e01b03199092168252519081900360200190f35b34801561014157600080fd5b506102106004803603606081101561015857600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561018257600080fd5b82018360208201111561019457600080fd5b803590602001918460018302840111600160201b831117156101b557600080fd5b919390929091602081019035600160201b8111156101d257600080fd5b8201836020820111156101e457600080fd5b803590602001918460018302840111600160201b8311171561020557600080fd5b5090925090506106be565b005b34801561021e57600080fd5b50610118610815565b34801561023357600080fd5b50610118610839565b34801561024857600080fd5b5061025161085d565b604080516001600160a01b039092168252519081900360200190f35b34801561027957600080fd5b50610118610881565b34801561028e57600080fd5b506101186108a5565b3480156102a357600080fd5b506102516108c9565b3480156102b857600080fd5b506101186108ed565b3480156102cd57600080fd5b50610118610911565b3480156102e257600080fd5b50610210600480360360608110156102f957600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561032357600080fd5b82018360208201111561033557600080fd5b803590602001918460018302840111600160201b8311171561035657600080fd5b919390929091602081019035600160201b81111561037357600080fd5b82018360208201111561038557600080fd5b803590602001918460018302840111600160201b831117156103a657600080fd5b509092509050610935565b3480156103bd57600080fd5b50610210600480360360608110156103d457600080fd5b6001600160a01b038235169190810190604081016020820135600160201b8111156103fe57600080fd5b82018360208201111561041057600080fd5b803590602001918460018302840111600160201b8311171561043157600080fd5b919390929091602081019035600160201b81111561044e57600080fd5b82018360208201111561046057600080fd5b803590602001918460018302840111600160201b8311171561048157600080fd5b509092509050610a99565b34801561049857600080fd5b50610118610bc9565b3480156104ad57600080fd5b5061053b600480360360608110156104c457600080fd5b6001600160a01b03823516916001600160e01b031960208201351691810190606081016040820135600160201b8111156104fd57600080fd5b82018360208201111561050f57600080fd5b803590602001918460018302840111600160201b8311171561053057600080fd5b509092509050610bed565b6040518086600281111561054b57fe5b815260200180602001806020018060200180602001858103855289818151815260200191508051906020019060200280838360005b83811015610598578181015183820152602001610580565b50505050905001858103845288818151815260200191508051906020019060200280838360005b838110156105d75781810151838201526020016105bf565b50505050905001858103835287818151815260200191508051906020019060200280838360005b838110156106165781810151838201526020016105fe565b50505050905001858103825286818151815260200191508051906020019060200280838360005b8381101561065557818101518382015260200161063d565b50505050905001995050505050505050505060405180910390f35b34801561067c57600080fd5b50610251610cad565b34801561069157600080fd5b50610118610cd1565b7f8334eb99be0145865eba9889fca2ee920288090caefff4cc776038e20ad9259a81565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146107255760405162461bcd60e51b8152600401808060200182810382526032815260200180611cec6032913960400191505060405180910390fd5b8482828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f88018190048102820181019092528681526060935083925082916107a191908990899081908401838280828437600092019190915250610cf592505050565b9250925092506107ee836000815181106107b757fe5b6020026020010151836000815181106107cc57fe5b6020026020010151836000815181106107e157fe5b6020026020010151610eb2565b50505060606107fc82610cf5565b9250505061080a8382611046565b505050505050505050565b7f29fa046e79524c3c5ac4c01df692c35e217802b2b13b21121b76cf0ef02b138c81565b7f099f75155f0e997bf83a7993a71d5e7e7540bd386fe1e84643a09ce6b412521981565b7f000000000000000000000000000000000000000000000000000000000000000090565b7ffa7dd04da627f433da73c4355ead9c75682a67a8fc84d3f6170ef0922f402d2481565b7fb9dfbaccbe5cd2a84fdcf1d15f23ef25d23086f5afbaa99516065ed4a5bbc7a381565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f03e38a2bd7063d45c897edeafc330e71657502dd86434d3c37a489caf116af6981565b7f68e30677f607df46e87da13e15b637784cfa62374b653f35ab43d10361a2f83081565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461099c5760405162461bcd60e51b8152600401808060200182810382526032815260200180611cec6032913960400191505060405180910390fd5b606060006109df86868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506111a192505050565b91509150806001600160a01b0316631c3db2e088846040518363ffffffff1660e01b815260040180836001600160a01b0316815260200180602001828103825283818151815260200191508051906020019060200280838360005b83811015610a52578181015183820152602001610a3a565b505050509050019350505050600060405180830381600087803b158015610a7857600080fd5b505af1158015610a8c573d6000803e3d6000fd5b5050505050505050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610b005760405162461bcd60e51b8152600401808060200182810382526032815260200180611cec6032913960400191505060405180910390fd5b8482828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8801819004810282018101909252868152606093508392508291610b7c91908990899081908401838280828437600092019190915250610cf592505050565b9250925092506107ee83600081518110610b9257fe5b602002602001015183600081518110610ba757fe5b602002602001015183600081518110610bbc57fe5b6020026020010151611254565b7f0e7f692dad5b88fdee426250d6eae91207e56a2e8112b7364579bed1790e5bf481565b600060608080806001600160e01b0319881663099f751560e01b1415610c2657610c17878761137e565b94509450945094509450610ca2565b6001600160e01b0319881663c29fa9dd60e01b1415610c4957610c1787876115c1565b6001600160e01b03198816632e77eeb360e21b1415610c6b5760009450610ca2565b60405162461bcd60e51b8152600401808060200182810382526027815260200180611dd06027913960400191505060405180910390fd5b945094509450945094565b7f000000000000000000000000000000000000000000000000000000000000000090565b7fc29fa9dde84204c2908778afd0613d802d31cf046179b88f6d2b4a4e507ea2d581565b6060806060838060200190516060811015610d0f57600080fd5b8101908080516040519392919084600160201b821115610d2e57600080fd5b908301906020820185811115610d4357600080fd5b82518660208202830111600160201b82111715610d5f57600080fd5b82525081516020918201928201910280838360005b83811015610d8c578181015183820152602001610d74565b5050505090500160405260200180516040519392919084600160201b821115610db457600080fd5b908301906020820185811115610dc957600080fd5b82518660208202830111600160201b82111715610de557600080fd5b82525081516020918201928201910280838360005b83811015610e12578181015183820152602001610dfa565b5050505090500160405260200180516040519392919084600160201b821115610e3a57600080fd5b908301906020820185811115610e4f57600080fd5b82518660208202830111600160201b82111715610e6b57600080fd5b82525081516020918201928201910280838360005b83811015610e98578181015183820152602001610e80565b505050509050016040525050509250925092509193909250565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b03161415610fc3577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316632e1a7d4d836040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015610f5257600080fd5b505af1158015610f66573d6000803e3d6000fd5b50505050806001600160a01b0316631249c58b836040518263ffffffff1660e01b81526004016000604051808303818588803b158015610fa557600080fd5b505af1158015610fb9573d6000803e3d6000fd5b5050505050611041565b610fce8382846117a2565b806001600160a01b031663a0712d68836040518263ffffffff1660e01b815260040180828152602001915050602060405180830381600087803b15801561101457600080fd5b505af1158015611028573d6000803e3d6000fd5b505050506040513d602081101561103e57600080fd5b50505b505050565b6060815167ffffffffffffffff8111801561106057600080fd5b5060405190808252806020026020018201604052801561108a578160200160208202803683370190505b50905060005b825181101561119a5760008382815181106110a757fe5b60200260200101519050806001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156110fe57600080fd5b505afa158015611112573d6000803e3d6000fd5b505050506040513d602081101561112857600080fd5b5051835184908490811061113857fe5b602002602001018181525050600083838151811061115257fe5b60200260200101511115611191576111918584848151811061117057fe5b6020026020010151836001600160a01b03166118609092919063ffffffff16565b50600101611090565b5092915050565b606060008280602001905160408110156111ba57600080fd5b8101908080516040519392919084600160201b8211156111d957600080fd5b9083019060208201858111156111ee57600080fd5b82518660208202830111600160201b8211171561120a57600080fd5b82525081516020918201928201910280838360005b8381101561123757818101518382015260200161121f565b505050509190910160405250602001519294509192505050915091565b826001600160a01b031663db006a75836040518263ffffffff1660e01b815260040180828152602001915050602060405180830381600087803b15801561129a57600080fd5b505af11580156112ae573d6000803e3d6000fd5b505050506040513d60208110156112c457600080fd5b50507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b039081169082161415611041577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0306001600160a01b0316316040518263ffffffff1660e01b81526004016000604051808303818588803b15801561136057600080fd5b505af1158015611374573d6000803e3d6000fd5b5050505050505050565b600060608060608060008060006113ca8a8a8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506118b292505050565b92509250925060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316634cae3ad7856040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561143f57600080fd5b505afa158015611453573d6000803e3d6000fd5b505050506040513d602081101561146957600080fd5b505190506001600160a01b0381166114b25760405162461bcd60e51b8152600401808060200182810382526028815260200180611d486028913960400191505060405180910390fd5b604080516001808252818301909252906020808301908036833701905050975080886000815181106114e057fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509650828760008151811061152457fe5b602090810291909101015260408051600180825281830190925290816020016020820280368337019050509550838660008151811061155f57fe5b6001600160a01b039290921660209283029190910182015260408051600180825281830190925291828101908036833701905050945081856000815181106115a357fe5b60200260200101818152505060029850505050509295509295909350565b6000606080606080600080600061160d8a8a8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506118b292505050565b92509250925060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316634cae3ad7856040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561168257600080fd5b505afa158015611696573d6000803e3d6000fd5b505050506040513d60208110156116ac57600080fd5b505190506001600160a01b0381166116f55760405162461bcd60e51b815260040180806020018281038252602a815260200180611d1e602a913960400191505060405180910390fd5b6040805160018082528183019092529060208083019080368337019050509750838860008151811061172357fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509650828760008151811061176757fe5b602090810291909101015260408051600180825281830190925290816020016020820280368337019050509550808660008151811061155f57fe5b60408051636eb1769f60e11b81523060048201526001600160a01b038481166024830152915160009286169163dd62ed3e916044808301926020929190829003018186803b1580156117f357600080fd5b505afa158015611807573d6000803e3d6000fd5b505050506040513d602081101561181d57600080fd5b505190508181101561185a578015611844576118446001600160a01b0385168460006118e6565b61185a6001600160a01b038516846000196118e6565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526110419084906119f5565b60008060008380602001905160608110156118cc57600080fd5b508051602082015160409092015190969195509350915050565b80158061196c575060408051636eb1769f60e11b81523060048201526001600160a01b03848116602483015291519185169163dd62ed3e91604480820192602092909190829003018186803b15801561193e57600080fd5b505afa158015611952573d6000803e3d6000fd5b505050506040513d602081101561196857600080fd5b5051155b6119a75760405162461bcd60e51b8152600401808060200182810382526036815260200180611d9a6036913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526110419084905b6060611a4a826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316611aa69092919063ffffffff16565b80519091501561104157808060200190516020811015611a6957600080fd5b50516110415760405162461bcd60e51b815260040180806020018281038252602a815260200180611d70602a913960400191505060405180910390fd5b6060611ab58484600085611abf565b90505b9392505050565b606082471015611b005760405162461bcd60e51b8152600401808060200182810382526026815260200180611cc66026913960400191505060405180910390fd5b611b0985611c1b565b611b5a576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b60208310611b995780518252601f199092019160209182019101611b7a565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114611bfb576040519150601f19603f3d011682016040523d82523d6000602084013e611c00565b606091505b5091509150611c10828286611c21565b979650505050505050565b3b151590565b60608315611c30575081611ab8565b825115611c405782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611c8a578181015183820152602001611c72565b50505050905090810190601f168015611cb75780820380516001836020036101000a031916815260200191505b509250505060405180910390fdfe416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c4f6e6c792074686520496e746567726174696f6e4d616e616765722063616e2063616c6c20746869732066756e6374696f6e5f5f7061727365417373657473466f7252656465656d3a20556e737570706f727465642063546f6b656e5f5f7061727365417373657473466f724c656e643a20556e737570706f727465642063546f6b656e5361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e63657061727365417373657473466f72416374696f6e3a205f73656c6563746f7220696e76616c6964a164736f6c634300060c000a", "sourceMap": "538:1077:164:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1490:119:180;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;1490:119:180;;;;;;;;;;;;;;1312:564:202;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1312:564:202;;;;;;;;;;;;;;;-1:-1:-1;;;1312:564:202;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1312:564:202;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1312:564:202;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1312:564:202;;;;;;;;;;-1:-1:-1;1312:564:202;;-1:-1:-1;1312:564:202;-1:-1:-1;1312:564:202;:::i;:::-;;1373:111:180;;;;;;;;;;;;;:::i;832:85::-;;;;;;;;;;;;;:::i;8171:126:202:-;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;8171:126:202;;;;;;;;;;;;;;1034:87:180;;;;;;;;;;;;;:::i;1240:110::-;;;;;;;;;;;;;:::i;2111:124:184:-;;;;;;;;;;;;;:::i;706:104:180:-;;;;;;;;;;;;;:::i;1127:91::-;;;;;;;;;;;;;:::i;976:346:164:-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;976:346:164;;;;;;;;;;;;;;;-1:-1:-1;;;976:346:164;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;976:346:164;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;976:346:164;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;976:346:164;;;;;;;;;;-1:-1:-1;976:346:164;;-1:-1:-1;976:346:164;-1:-1:-1;976:346:164;:::i;2090:568:202:-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2090:568:202;;;;;;;;;;;;;;;-1:-1:-1;;;2090:568:202;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2090:568:202;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2090:568:202;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2090:568:202;;;;;;;;;;-1:-1:-1;2090:568:202;;-1:-1:-1;2090:568:202;-1:-1:-1;2090:568:202;:::i;577:123:180:-;;;;;;;;;;;;;:::i;3717:1062:202:-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3717:1062:202;;;;-1:-1:-1;;;;;;3717:1062:202;;;;;;;;;;;;;;;;-1:-1:-1;;;3717:1062:202;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3717:1062:202;;;;;;;;;;-1:-1:-1;3717:1062:202;;-1:-1:-1;3717:1062:202;-1:-1:-1;3717:1062:202;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2637:128:179;;;;;;;;;;;;;:::i;923:89:180:-;;;;;;;;;;;;;:::i;1490:119::-;1558:50;1490:119;:::o;1312:564:202:-;1747:10:179;-1:-1:-1;;;;;1761:19:179;1747:33;;1726:130;;;;-1:-1:-1;;;1726:130:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1516:11:202::1;1529:10;;987:278:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;;1758:29:202::2;::::0;;::::2;987:278:179::1;1758:29:202::0;::::2;::::0;;::::2;::::0;::::2;::::0;;;;;;;;;;1624:28:::2;::::0;-1:-1:-1;1624:28:202;;-1:-1:-1;1624:28:202;;1758:29:::2;::::0;;1776:10;;;;;;1758:29;::::2;1776:10:::0;;;;1758:29;::::2;;::::0;::::2;::::0;;;;-1:-1:-1;1758:17:202::2;::::0;-1:-1:-1;;;1758:29:202:i:2;:::-;1610:177;;;;;;1798:71;1813:11;1825:1;1813:14;;;;;;;;;;;;;;1829:17;1847:1;1829:20;;;;;;;;;;;;;;1851:14;1866:1;1851:17;;;;;;;;;;;;;;1798:14;:71::i;:::-;1114:1:179;;;1131:31:::1;1166:29;1184:10;1166:17;:29::i;:::-;1126:69;;;;1206:52;1230:11;1243:14;1206:23;:52::i;:::-;;1866:1;;;1312:564:202::0;;;;;:::o;1373:111:180:-;1437:46;1373:111;:::o;832:85::-;878:38;832:85;:::o;8171:126:202:-;8271:19;8171:126;:::o;1034:87:180:-;1081:39;1034:87;:::o;1240:110::-;1303:46;1240:110;:::o;2111:124:184:-;2209:19;2111:124;:::o;706:104:180:-;766:43;706:104;:::o;1127:91::-;1176:41;1127:91;:::o;976:346:164:-;1747:10:179;-1:-1:-1;;;;;1761:19:179;1747:33;;1726:130;;;;-1:-1:-1;;;1726:130:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1145:24:164::1;1171:27;1202:30;1220:11;;1202:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;1202:17:164::1;::::0;-1:-1:-1;;;1202:30:164:i:1;:::-;1144:88;;;;1263:19;-1:-1:-1::0;;;;;1242:51:164::1;;1294:11;1307:7;1242:73;;;;;;;;;;;;;-1:-1:-1::0;;;;;1242:73:164::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;;::::1;::::0;;;::::1;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;1866:1:179;;976:346:164::0;;;;;:::o;2090:568:202:-;1747:10:179;-1:-1:-1;;;;;1761:19:179;1747:33;;1726:130;;;;-1:-1:-1;;;1726:130:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2296:11:202::1;2309:10;;987:278:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;;2538:29:202::2;::::0;;::::2;987:278:179::1;2538:29:202::0;::::2;::::0;;::::2;::::0;::::2;::::0;;;;;;;;;;2404:28:::2;::::0;-1:-1:-1;2404:28:202;;-1:-1:-1;2404:28:202;;2538:29:::2;::::0;;2556:10;;;;;;2538:29;::::2;2556:10:::0;;;;2538:29;::::2;;::::0;::::2;::::0;;;;-1:-1:-1;2538:17:202::2;::::0;-1:-1:-1;;;2538:29:202:i:2;:::-;2390:177;;;;;;2578:73;2595:11;2607:1;2595:14;;;;;;;;;;;;;;2611:17;2629:1;2611:20;;;;;;;;;;;;;;2633:14;2648:1;2633:17;;;;;;;;;;;;;;2578:16;:73::i;577:123:180:-:0;647:52;577:123;:::o;3717:1062:202:-;3909:64;3987:29;;;;-1:-1:-1;;;;;;4195:26:202;;-1:-1:-1;;;4195:26:202;4191:582;;;4244:33;4265:11;;4244:20;:33::i;:::-;4237:40;;;;;;;;;;;;4191:582;-1:-1:-1;;;;;;4298:28:202;;-1:-1:-1;;;4298:28:202;4294:479;;;4349:35;4372:11;;4349:22;:35::i;4294:479::-;-1:-1:-1;;;;;;4405:35:202;;-1:-1:-1;;;4405:35:202;4401:372;;;4481:46;4456:226;;;;4401:372;4713:49;;-1:-1:-1;;;4713:49:202;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4401:372;3717:1062;;;;;;;;;:::o;2637:128:179:-;2739:19;2637:128;:::o;923:89:180:-;971:40;923:89;:::o;2093:332:179:-;2205:29;2248:35;2297:32;2372:10;2361:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;-1:-1:-1;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;-1:-1:-1;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;-1:-1:-1;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2354:64;;;;;;2093:332;;;;;:::o;950:529:184:-;1123:19;-1:-1:-1;;;;;1105:37:184;:14;-1:-1:-1;;;;;1105:37:184;;1101:372;;;1164:19;-1:-1:-1;;;;;1158:35:184;;1194:20;1158:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1237:14;-1:-1:-1;;;;;1229:28:184;;1265:20;1229:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1101:372;;;1319:79;1345:14;1361;1377:20;1319:25;:79::i;:::-;1420:14;-1:-1:-1;;;;;1412:28:184;;1441:20;1412:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1101:372:184;950:529;;;:::o;3539:585:355:-;3649:36;3737:7;:14;3723:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3723:29:355;;3701:51;;3767:9;3762:319;3782:7;:14;3778:1;:18;3762:319;;;3817:19;3845:7;3853:1;3845:10;;;;;;;;;;;;;;3817:39;;3895:13;-1:-1:-1;;;;;3895:23:355;;3927:4;3895:38;;;;;;;;;;;;;-1:-1:-1;;;;;3895:38:355;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3895:38:355;3870:22;;:19;;3890:1;;3870:22;;;;;;;;;;;:63;;;;;3976:1;3951:19;3971:1;3951:22;;;;;;;;;;;;;;:26;3947:124;;;3997:59;4024:7;4033:19;4053:1;4033:22;;;;;;;;;;;;;;3997:13;-1:-1:-1;;;;;3997:26:355;;;:59;;;;;:::i;:::-;-1:-1:-1;3798:3:355;;3762:319;;;;3539:585;;;;:::o;1384:229:164:-;1483:25;1510:28;1572:11;1561:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1561:45:164;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1561:45:164;;;;;;;;;;;;-1:-1:-1;1561:45:164;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;1561:45:164;;;;;;-1:-1:-1;1561:45:164;;;1554:52;;-1:-1:-1;1561:45:164;;-1:-1:-1;;;1384:229:164;;;:::o;1526:374:184:-;1687:14;-1:-1:-1;;;;;1679:30:184;;1710:20;1679:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1764:19:184;-1:-1:-1;;;;;1746:37:184;;;;;;;1742:152;;;1813:19;-1:-1:-1;;;;;1799:43:184;;1866:4;-1:-1:-1;;;;;1850:30:184;;1799:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1526:374;;;:::o;4900:1269:202:-;5017:64;5095:29;5138:35;5187:32;5233:41;5300:14;5316:19;5337:23;5364:51;5394:11;;5364:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5364:16:202;;-1:-1:-1;;;5364:51:202:i;:::-;5299:116;;;;;;5425:13;5459:19;-1:-1:-1;;;;;5441:57:202;;5499:6;5441:65;;;;;;;;;;;;;-1:-1:-1;;;;;5441:65:202;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5441:65:202;;-1:-1:-1;;;;;;5524:19:202;;5516:72;;;;-1:-1:-1;;;5516:72:202;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5614:16;;;5628:1;5614:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5614:16:202;5599:31;;5658:5;5640:12;5653:1;5640:15;;;;;;;;-1:-1:-1;;;;;5640:23:202;;;;:15;;;;;;;;;;:23;5694:16;;;5708:1;5694:16;;;;;;;;;;;;;;5640:15;5694:16;;;;;-1:-1:-1;5694:16:202;5673:37;;5744:11;5720:18;5739:1;5720:21;;;;;;;;;;;;;;;;;:35;5784:16;;;5798:1;5784:16;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5784:16:202;5766:34;;5831:6;5810:15;5826:1;5810:18;;;;;;;;-1:-1:-1;;;;;5810:27:202;;;;:18;;;;;;;;;;:27;5874:16;;;5888:1;5874:16;;;;;;;;;;;;;;5810:18;5874:16;;;;;-1:-1:-1;5874:16:202;5847:43;;5930:15;5900:24;5925:1;5900:27;;;;;;;;;;;;;:45;;;;;5977:50;5956:206;;;;;;4900:1269;;;;;;;;:::o;6292:1273::-;6411:64;6489:29;6532:35;6581:32;6627:41;6694:14;6710:20;6732:22;6758:51;6788:11;;6758:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6758:16:202;;-1:-1:-1;;;6758:51:202:i;:::-;6693:116;;;;;;6819:13;6853:19;-1:-1:-1;;;;;6835:57:202;;6893:6;6835:65;;;;;;;;;;;;;-1:-1:-1;;;;;6835:65:202;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6835:65:202;;-1:-1:-1;;;;;;6918:19:202;;6910:74;;;;-1:-1:-1;;;6910:74:202;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7010:16;;;7024:1;7010:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7010:16:202;6995:31;;7054:6;7036:12;7049:1;7036:15;;;;;;;;-1:-1:-1;;;;;7036:24:202;;;;:15;;;;;;;;;;:24;7091:16;;;7105:1;7091:16;;;;;;;;;;;;;;7036:15;7091:16;;;;;-1:-1:-1;7091:16:202;7070:37;;7141:12;7117:18;7136:1;7117:21;;;;;;;;;;;;;;;;;:36;7182:16;;;7196:1;7182:16;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7182:16:202;7164:34;;7229:5;7208:15;7224:1;7208:18;;;;;;;2554:434:355;2714:47;;;-1:-1:-1;;;2714:47:355;;2746:4;2714:47;;;;-1:-1:-1;;;;;2714:47:355;;;;;;;;;2694:17;;2714:23;;;;;:47;;;;;;;;;;;;;;:23;:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2714:47:355;;-1:-1:-1;2775:25:355;;;2771:211;;;2820:13;;2816:89;;2853:37;-1:-1:-1;;;;;2853:25:355;;2879:7;2888:1;2853:25;:37::i;:::-;2918:53;-1:-1:-1;;;;;2918:25:355;;2944:7;-1:-1:-1;;2918:25:355;:53::i;:::-;2554:434;;;;:::o;704:175:450:-;813:58;;;-1:-1:-1;;;;;813:58:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;813:58:450;-1:-1:-1;;;813:58:450;;;786:86;;806:5;;786:19;:86::i;7656:304:202:-;7767:15;7796:28;7838:31;7912:11;7901:52;;;;;;;;;;;;;;;-1:-1:-1;7901:52:202;;;;;;;;;;;;;;;-1:-1:-1;7901:52:202;-1:-1:-1;7656:304:202;-1:-1:-1;;7656:304:202:o;1348:613:450:-;1713:10;;;1712:62;;-1:-1:-1;1729:39:450;;;-1:-1:-1;;;1729:39:450;;1753:4;1729:39;;;;-1:-1:-1;;;;;1729:39:450;;;;;;;;;:15;;;;;;:39;;;;;;;;;;;;;;;:15;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1729:39:450;:44;1712:62;1704:150;;;;-1:-1:-1;;;1704:150:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1891:62;;;-1:-1:-1;;;;;1891:62:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1891:62:450;-1:-1:-1;;;1891:62:450;;;1864:90;;1884:5;;2967:751;3386:23;3412:69;3440:4;3412:69;;;;;;;;;;;;;;;;;3420:5;-1:-1:-1;;;;;3412:27:450;;;:69;;;;;:::i;:::-;3495:17;;3386:95;;-1:-1:-1;3495:21:450;3491:221;;3635:10;3624:30;;;;;;;;;;;;;;;-1:-1:-1;3624:30:450;3616:85;;;;-1:-1:-1;;;3616:85:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3581:193:451;3684:12;3715:52;3737:6;3745:4;3751:1;3754:12;3715:21;:52::i;:::-;3708:59;;3581:193;;;;;;:::o;4608:523::-;4735:12;4792:5;4767:21;:30;;4759:81;;;;-1:-1:-1;;;4759:81:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4858:18;4869:6;4858:10;:18::i;:::-;4850:60;;;;;-1:-1:-1;;;4850:60:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;4981:12;4995:23;5022:6;-1:-1:-1;;;;;5022:11:451;5042:5;5050:4;5022:33;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5022:33:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4980:75;;;;5072:52;5090:7;5099:10;5111:12;5072:17;:52::i;:::-;5065:59;4608:523;-1:-1:-1;;;;;;;4608:523:451:o;726:413::-;1086:20;1124:8;;;726:413::o;7091:725::-;7206:12;7234:7;7230:580;;;-1:-1:-1;7264:10:451;7257:17;;7230:580;7375:17;;:21;7371:429;;7633:10;7627:17;7693:15;7680:10;7676:2;7672:19;7665:44;7582:145;7772:12;7765:20;;-1:-1:-1;;;7765:20:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;", "linkReferences": {}, "immutableReferences": { "49791": [ { "start": 1737, "length": 32 }, { "start": 2368, "length": 32 }, { "start": 2724, "length": 32 }, { "start": 3247, "length": 32 } ], "50250": [ { "start": 2251, "length": 32 }, { "start": 3764, "length": 32 }, { "start": 3822, "length": 32 }, { "start": 4808, "length": 32 }, { "start": 4861, "length": 32 } ], "54663": [ { "start": 2143, "length": 32 }, { "start": 5076, "length": 32 }, { "start": 5655, "length": 32 } ] } }, "methodIdentifiers": { "CLAIM_REWARDS_SELECTOR()": "40da225d", "LEND_AND_STAKE_SELECTOR()": "131461c0", "LEND_SELECTOR()": "257cb1a3", "REDEEM_SELECTOR()": "f7d882b5", "STAKE_SELECTOR()": "3ffc1591", "TAKE_MULTIPLE_ORDERS_SELECTOR()": "c32990a2", "TAKE_ORDER_SELECTOR()": "863e5ad0", "UNSTAKE_AND_REDEEM_SELECTOR()": "080456c1", "UNSTAKE_SELECTOR()": "b23228cf", "claimRewards(address,bytes,bytes)": "b9dfbacc", "getCompoundPriceFeed()": "32bf8227", "getCompoundWethToken()": "71dce850", "getIntegrationManager()": "e7c45690", "lend(address,bytes,bytes)": "099f7515", "parseAssetsForAction(address,bytes4,bytes)": "c54efee5", "redeem(address,bytes,bytes)": "c29fa9dd" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_integrationManager\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_compoundPriceFeed\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_wethToken\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"CLAIM_REWARDS_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LEND_AND_STAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LEND_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"REDEEM_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"STAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TAKE_MULTIPLE_ORDERS_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TAKE_ORDER_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UNSTAKE_AND_REDEEM_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UNSTAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"claimRewards\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCompoundPriceFeed\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"compoundPriceFeed_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCompoundWethToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"compoundWethToken_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getIntegrationManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"integrationManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"_assetData\",\"type\":\"bytes\"}],\"name\":\"lend\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"_selector\",\"type\":\"bytes4\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"}],\"name\":\"parseAssetsForAction\",\"outputs\":[{\"internalType\":\"enum IIntegrationManager.SpendAssetsHandleType\",\"name\":\"spendAssetsHandleType_\",\"type\":\"uint8\"},{\"internalType\":\"address[]\",\"name\":\"spendAssets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"spendAssetAmounts_\",\"type\":\"uint256[]\"},{\"internalType\":\"address[]\",\"name\":\"incomingAssets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"minIncomingAssetAmounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"_assetData\",\"type\":\"bytes\"}],\"name\":\"redeem\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"claimRewards(address,bytes,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}},\"getCompoundPriceFeed()\":{\"returns\":{\"compoundPriceFeed_\":\"The `COMPOUND_PRICE_FEED` variable value\"}},\"getCompoundWethToken()\":{\"returns\":{\"compoundWethToken_\":\"The `COMPOUND_WETH_TOKEN` variable value\"}},\"getIntegrationManager()\":{\"returns\":{\"integrationManager_\":\"The `INTEGRATION_MANAGER` variable value\"}},\"lend(address,bytes,bytes)\":{\"params\":{\"_assetData\":\"Parsed spend assets and incoming assets data for this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}},\"parseAssetsForAction(address,bytes4,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_selector\":\"The function selector for the callOnIntegration\"},\"returns\":{\"incomingAssets_\":\"The assets to receive in the call\",\"minIncomingAssetAmounts_\":\"The min asset amounts to receive in the call\",\"spendAssetAmounts_\":\"The max asset amounts to spend in the call\",\"spendAssetsHandleType_\":\"A type that dictates how to handle granting the adapter access to spend assets (`None` by default)\",\"spendAssets_\":\"The assets to spend in the call\"}},\"redeem(address,bytes,bytes)\":{\"params\":{\"_assetData\":\"Parsed spend assets and incoming assets data for this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}}},\"title\":\"CompoundAdapter Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"claimRewards(address,bytes,bytes)\":{\"notice\":\"Claims rewards from Compound's Comptroller\"},\"getCompoundPriceFeed()\":{\"notice\":\"Gets the `COMPOUND_PRICE_FEED` variable\"},\"getCompoundWethToken()\":{\"notice\":\"Gets the `COMPOUND_WETH_TOKEN` variable\"},\"getIntegrationManager()\":{\"notice\":\"Gets the `INTEGRATION_MANAGER` variable\"},\"lend(address,bytes,bytes)\":{\"notice\":\"Lends an amount of a token to Compound\"},\"parseAssetsForAction(address,bytes4,bytes)\":{\"notice\":\"Parses the expected assets in a particular action\"},\"redeem(address,bytes,bytes)\":{\"notice\":\"Redeems an amount of cTokens from Compound\"}},\"notice\":\"Adapter for Compound \",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/integration-manager/integrations/adapters/CompoundAdapter.sol\":\"CompoundAdapter\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/extensions/integration-manager/IIntegrationManager.sol\":{\"keccak256\":\"0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23\",\"dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk\"]},\"contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol\":{\"keccak256\":\"0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336\",\"dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS\"]},\"contracts/release/extensions/integration-manager/integrations/adapters/CompoundAdapter.sol\":{\"keccak256\":\"0x589323993bd170f2badc2b871267e06f6298ff4d42484df521702ac119dc9510\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://12eb4f2493ebde89350d724204be3bf285259e61fd6911a1b4a1c05867ea780a\",\"dweb:/ipfs/QmPefgrZ1p2KZ1a6jJEAvJCL8PrVxvLnpVey4h7ywht8TY\"]},\"contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol\":{\"keccak256\":\"0x067e49bf0d3c1655ab41a413c65ccf61d4e593308132e1ffc484a0fadfbbaf26\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://387f425017e18e89cc1893521101fa99df595314847d0b3d9a1162369f714fcf\",\"dweb:/ipfs/Qmco3jCvuWAyfCpBYpGzHrQjiFJG63w1RJKcakoTEbxRQm\"]},\"contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol\":{\"keccak256\":\"0xfd34c7ca8231c6935e25dede32ca2b3121738e624d0fc896f7b895a731edcf88\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d492c061963d36d07718446db191d4c5a340c0d847f6cd209f027bd99f7cb176\",\"dweb:/ipfs/QmfCvRZt56ftDdrEh6LepHXFJ4fVtcfpQGvEyY8k4zxG1A\"]},\"contracts/release/extensions/integration-manager/integrations/utils/actions/CompoundActionsMixin.sol\":{\"keccak256\":\"0x81e765c2662bebac378eb0b6c25f9c094019a8bca2bebe3800b8297616553e49\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://aaedf971482da2c54778d925bd5847851ce24266d7651bed0285c55e727f5426\",\"dweb:/ipfs/QmNsrdy4V5pKmpQLGyQGSNiY23BnLmjBAjofnxcjyLUjV6\"]},\"contracts/release/extensions/integration-manager/integrations/utils/bases/CompoundAdapterBase.sol\":{\"keccak256\":\"0xa5f368fa4e7a4432eee1a9a764190181d5e707fd8e6c757ffb8eef8349a36f01\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c04d4519f5e811ce16a217c82b606ceff0e9042534ce3e300fd32e5032b95221\",\"dweb:/ipfs/QmNRndBBCxYk64bMtbfkjPUANok3LjvNxudyB6oicUXzxY\"]},\"contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol\":{\"keccak256\":\"0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e\",\"dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK\"]},\"contracts/release/infrastructure/price-feeds/derivatives/feeds/CompoundPriceFeed.sol\":{\"keccak256\":\"0x1addbd55e648a9a1c4cdbf8a7549a9f4eced25f7478b0b4f467ab7cafe7162bc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6f165a37d3fb05d9044042c4a719b728fb6a499c5dabc53945b8775decb06560\",\"dweb:/ipfs/QmY2VnnAknyrticer1jtWVMCr4Ea3tv4XfW71BVGrgoBGH\"]},\"contracts/release/interfaces/ICERC20.sol\":{\"keccak256\":\"0x9a32a6ca307ac613bde26844d33e1732ae348bceffc93d63e3691f2ff22c6e0b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9c7aff5bf1c249fab27262fb1dc934325e259e5fd6857fbad70c8684f8ee4247\",\"dweb:/ipfs/QmTAneTyW2oCTZGVMVEAp77qMW9U9NymoK8k3RcwpNRh5W\"]},\"contracts/release/interfaces/ICEther.sol\":{\"keccak256\":\"0x7baa90be9075da954ed5630133b94d13ef857a6a66d4333ea83145ccb192c709\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6cf10fa111356f5dc32fe9de42c23ee32a766d7bacb1447e5ca9163702338064\",\"dweb:/ipfs/QmTrC9ngVaTm9bVSUyVpZV7J8gNSKbbvXcv36wdhikoSLo\"]},\"contracts/release/interfaces/ICompoundComptroller.sol\":{\"keccak256\":\"0x74c34b8146c5bff72c571dcce593d5ebec0c803d4716413adc10f3889ad66870\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://66a07e6c6aecccad6df33bc6f3c6b67d53d11c4dc175ed512eff554c9633bf3f\",\"dweb:/ipfs/QmanV5EZm1yycR5sV6LxnKY1wh8p9YGR7uScJf95Y3F7VJ\"]},\"contracts/release/interfaces/IWETH.sol\":{\"keccak256\":\"0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2\",\"dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"contracts/release/utils/FundDeployerOwnerMixin.sol\":{\"keccak256\":\"0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927\",\"dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_integrationManager", "type": "address" }, { "internalType": "address", "name": "_compoundPriceFeed", "type": "address" }, { "internalType": "address", "name": "_wethToken", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "CLAIM_REWARDS_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "LEND_AND_STAKE_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "LEND_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "REDEEM_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "STAKE_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "TAKE_MULTIPLE_ORDERS_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "TAKE_ORDER_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "UNSTAKE_AND_REDEEM_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "UNSTAKE_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "bytes", "name": "_actionData", "type": "bytes" }, { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "claimRewards" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getCompoundPriceFeed", "outputs": [ { "internalType": "address", "name": "compoundPriceFeed_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getCompoundWethToken", "outputs": [ { "internalType": "address", "name": "compoundWethToken_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getIntegrationManager", "outputs": [ { "internalType": "address", "name": "integrationManager_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "bytes", "name": "", "type": "bytes" }, { "internalType": "bytes", "name": "_assetData", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "lend" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "bytes4", "name": "_selector", "type": "bytes4" }, { "internalType": "bytes", "name": "_actionData", "type": "bytes" } ], "stateMutability": "view", "type": "function", "name": "parseAssetsForAction", "outputs": [ { "internalType": "enum IIntegrationManager.SpendAssetsHandleType", "name": "spendAssetsHandleType_", "type": "uint8" }, { "internalType": "address[]", "name": "spendAssets_", "type": "address[]" }, { "internalType": "uint256[]", "name": "spendAssetAmounts_", "type": "uint256[]" }, { "internalType": "address[]", "name": "incomingAssets_", "type": "address[]" }, { "internalType": "uint256[]", "name": "minIncomingAssetAmounts_", "type": "uint256[]" } ] }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "bytes", "name": "", "type": "bytes" }, { "internalType": "bytes", "name": "_assetData", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "redeem" }, { "inputs": [], "stateMutability": "payable", "type": "receive" } ], "devdoc": { "kind": "dev", "methods": { "claimRewards(address,bytes,bytes)": { "params": { "_actionData": "Data specific to this action", "_vaultProxy": "The VaultProxy of the calling fund" } }, "getCompoundPriceFeed()": { "returns": { "compoundPriceFeed_": "The `COMPOUND_PRICE_FEED` variable value" } }, "getCompoundWethToken()": { "returns": { "compoundWethToken_": "The `COMPOUND_WETH_TOKEN` variable value" } }, "getIntegrationManager()": { "returns": { "integrationManager_": "The `INTEGRATION_MANAGER` variable value" } }, "lend(address,bytes,bytes)": { "params": { "_assetData": "Parsed spend assets and incoming assets data for this action", "_vaultProxy": "The VaultProxy of the calling fund" } }, "parseAssetsForAction(address,bytes4,bytes)": { "params": { "_actionData": "Data specific to this action", "_selector": "The function selector for the callOnIntegration" }, "returns": { "incomingAssets_": "The assets to receive in the call", "minIncomingAssetAmounts_": "The min asset amounts to receive in the call", "spendAssetAmounts_": "The max asset amounts to spend in the call", "spendAssetsHandleType_": "A type that dictates how to handle granting the adapter access to spend assets (`None` by default)", "spendAssets_": "The assets to spend in the call" } }, "redeem(address,bytes,bytes)": { "params": { "_assetData": "Parsed spend assets and incoming assets data for this action", "_vaultProxy": "The VaultProxy of the calling fund" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "claimRewards(address,bytes,bytes)": { "notice": "Claims rewards from Compound's Comptroller" }, "getCompoundPriceFeed()": { "notice": "Gets the `COMPOUND_PRICE_FEED` variable" }, "getCompoundWethToken()": { "notice": "Gets the `COMPOUND_WETH_TOKEN` variable" }, "getIntegrationManager()": { "notice": "Gets the `INTEGRATION_MANAGER` variable" }, "lend(address,bytes,bytes)": { "notice": "Lends an amount of a token to Compound" }, "parseAssetsForAction(address,bytes4,bytes)": { "notice": "Parses the expected assets in a particular action" }, "redeem(address,bytes,bytes)": { "notice": "Redeems an amount of cTokens from Compound" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/integration-manager/integrations/adapters/CompoundAdapter.sol": "CompoundAdapter" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/core/fund-deployer/IFundDeployer.sol": { "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", "urls": [ "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/IIntegrationManager.sol": { "keccak256": "0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef", "urls": [ "bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23", "dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol": { "keccak256": "0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1", "urls": [ "bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336", "dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/adapters/CompoundAdapter.sol": { "keccak256": "0x589323993bd170f2badc2b871267e06f6298ff4d42484df521702ac119dc9510", "urls": [ "bzz-raw://12eb4f2493ebde89350d724204be3bf285259e61fd6911a1b4a1c05867ea780a", "dweb:/ipfs/QmPefgrZ1p2KZ1a6jJEAvJCL8PrVxvLnpVey4h7ywht8TY" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol": { "keccak256": "0x067e49bf0d3c1655ab41a413c65ccf61d4e593308132e1ffc484a0fadfbbaf26", "urls": [ "bzz-raw://387f425017e18e89cc1893521101fa99df595314847d0b3d9a1162369f714fcf", "dweb:/ipfs/Qmco3jCvuWAyfCpBYpGzHrQjiFJG63w1RJKcakoTEbxRQm" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol": { "keccak256": "0xfd34c7ca8231c6935e25dede32ca2b3121738e624d0fc896f7b895a731edcf88", "urls": [ "bzz-raw://d492c061963d36d07718446db191d4c5a340c0d847f6cd209f027bd99f7cb176", "dweb:/ipfs/QmfCvRZt56ftDdrEh6LepHXFJ4fVtcfpQGvEyY8k4zxG1A" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/utils/actions/CompoundActionsMixin.sol": { "keccak256": "0x81e765c2662bebac378eb0b6c25f9c094019a8bca2bebe3800b8297616553e49", "urls": [ "bzz-raw://aaedf971482da2c54778d925bd5847851ce24266d7651bed0285c55e727f5426", "dweb:/ipfs/QmNsrdy4V5pKmpQLGyQGSNiY23BnLmjBAjofnxcjyLUjV6" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/utils/bases/CompoundAdapterBase.sol": { "keccak256": "0xa5f368fa4e7a4432eee1a9a764190181d5e707fd8e6c757ffb8eef8349a36f01", "urls": [ "bzz-raw://c04d4519f5e811ce16a217c82b606ceff0e9042534ce3e300fd32e5032b95221", "dweb:/ipfs/QmNRndBBCxYk64bMtbfkjPUANok3LjvNxudyB6oicUXzxY" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol": { "keccak256": "0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332", "urls": [ "bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e", "dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/price-feeds/derivatives/feeds/CompoundPriceFeed.sol": { "keccak256": "0x1addbd55e648a9a1c4cdbf8a7549a9f4eced25f7478b0b4f467ab7cafe7162bc", "urls": [ "bzz-raw://6f165a37d3fb05d9044042c4a719b728fb6a499c5dabc53945b8775decb06560", "dweb:/ipfs/QmY2VnnAknyrticer1jtWVMCr4Ea3tv4XfW71BVGrgoBGH" ], "license": "GPL-3.0" }, "contracts/release/interfaces/ICERC20.sol": { "keccak256": "0x9a32a6ca307ac613bde26844d33e1732ae348bceffc93d63e3691f2ff22c6e0b", "urls": [ "bzz-raw://9c7aff5bf1c249fab27262fb1dc934325e259e5fd6857fbad70c8684f8ee4247", "dweb:/ipfs/QmTAneTyW2oCTZGVMVEAp77qMW9U9NymoK8k3RcwpNRh5W" ], "license": "GPL-3.0" }, "contracts/release/interfaces/ICEther.sol": { "keccak256": "0x7baa90be9075da954ed5630133b94d13ef857a6a66d4333ea83145ccb192c709", "urls": [ "bzz-raw://6cf10fa111356f5dc32fe9de42c23ee32a766d7bacb1447e5ca9163702338064", "dweb:/ipfs/QmTrC9ngVaTm9bVSUyVpZV7J8gNSKbbvXcv36wdhikoSLo" ], "license": "GPL-3.0" }, "contracts/release/interfaces/ICompoundComptroller.sol": { "keccak256": "0x74c34b8146c5bff72c571dcce593d5ebec0c803d4716413adc10f3889ad66870", "urls": [ "bzz-raw://66a07e6c6aecccad6df33bc6f3c6b67d53d11c4dc175ed512eff554c9633bf3f", "dweb:/ipfs/QmanV5EZm1yycR5sV6LxnKY1wh8p9YGR7uScJf95Y3F7VJ" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IWETH.sol": { "keccak256": "0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2", "urls": [ "bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2", "dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ" ], "license": "GPL-3.0" }, "contracts/release/utils/AssetHelpers.sol": { "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", "urls": [ "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" ], "license": "GPL-3.0" }, "contracts/release/utils/FundDeployerOwnerMixin.sol": { "keccak256": "0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934", "urls": [ "bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927", "dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", "urls": [ "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Address.sol": { "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", "urls": [ "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" } }, "version": 1 }, "id": 164 } diff --git a/eth_defi/abi/enzyme/CompoundAdapterBase.json b/eth_defi/abi/enzyme/CompoundAdapterBase.json index c3c5d0f9..1022172b 100644 --- a/eth_defi/abi/enzyme/CompoundAdapterBase.json +++ b/eth_defi/abi/enzyme/CompoundAdapterBase.json @@ -1,914 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_integrationManager", - "type": "address" - }, - { - "internalType": "address", - "name": "_compoundPriceFeed", - "type": "address" - }, - { - "internalType": "address", - "name": "_wethToken", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "name": "CLAIM_REWARDS_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "LEND_AND_STAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "LEND_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "REDEEM_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "STAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "TAKE_MULTIPLE_ORDERS_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "TAKE_ORDER_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "UNSTAKE_AND_REDEEM_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "UNSTAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "claimRewards", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getCompoundPriceFeed", - "outputs": [ - { - "internalType": "address", - "name": "compoundPriceFeed_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getCompoundWethToken", - "outputs": [ - { - "internalType": "address", - "name": "compoundWethToken_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getIntegrationManager", - "outputs": [ - { - "internalType": "address", - "name": "integrationManager_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "_assetData", - "type": "bytes" - } - ], - "name": "lend", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes4", - "name": "_selector", - "type": "bytes4" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - } - ], - "name": "parseAssetsForAction", - "outputs": [ - { - "internalType": "enum IIntegrationManager.SpendAssetsHandleType", - "name": "spendAssetsHandleType_", - "type": "uint8" - }, - { - "internalType": "address[]", - "name": "spendAssets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "spendAssetAmounts_", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "incomingAssets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "minIncomingAssetAmounts_", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "_assetData", - "type": "bytes" - } - ], - "name": "redeem", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "stateMutability": "payable", - "type": "receive" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "CLAIM_REWARDS_SELECTOR()": "40da225d", - "LEND_AND_STAKE_SELECTOR()": "131461c0", - "LEND_SELECTOR()": "257cb1a3", - "REDEEM_SELECTOR()": "f7d882b5", - "STAKE_SELECTOR()": "3ffc1591", - "TAKE_MULTIPLE_ORDERS_SELECTOR()": "c32990a2", - "TAKE_ORDER_SELECTOR()": "863e5ad0", - "UNSTAKE_AND_REDEEM_SELECTOR()": "080456c1", - "UNSTAKE_SELECTOR()": "b23228cf", - "claimRewards(address,bytes,bytes)": "b9dfbacc", - "getCompoundPriceFeed()": "32bf8227", - "getCompoundWethToken()": "71dce850", - "getIntegrationManager()": "e7c45690", - "lend(address,bytes,bytes)": "099f7515", - "parseAssetsForAction(address,bytes4,bytes)": "c54efee5", - "redeem(address,bytes,bytes)": "c29fa9dd" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_integrationManager\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_compoundPriceFeed\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_wethToken\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"CLAIM_REWARDS_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LEND_AND_STAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LEND_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"REDEEM_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"STAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TAKE_MULTIPLE_ORDERS_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TAKE_ORDER_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UNSTAKE_AND_REDEEM_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UNSTAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"claimRewards\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCompoundPriceFeed\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"compoundPriceFeed_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCompoundWethToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"compoundWethToken_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getIntegrationManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"integrationManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"_assetData\",\"type\":\"bytes\"}],\"name\":\"lend\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"_selector\",\"type\":\"bytes4\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"}],\"name\":\"parseAssetsForAction\",\"outputs\":[{\"internalType\":\"enum IIntegrationManager.SpendAssetsHandleType\",\"name\":\"spendAssetsHandleType_\",\"type\":\"uint8\"},{\"internalType\":\"address[]\",\"name\":\"spendAssets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"spendAssetAmounts_\",\"type\":\"uint256[]\"},{\"internalType\":\"address[]\",\"name\":\"incomingAssets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"minIncomingAssetAmounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"_assetData\",\"type\":\"bytes\"}],\"name\":\"redeem\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"claimRewards(address,bytes,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}},\"getCompoundPriceFeed()\":{\"returns\":{\"compoundPriceFeed_\":\"The `COMPOUND_PRICE_FEED` variable value\"}},\"getCompoundWethToken()\":{\"returns\":{\"compoundWethToken_\":\"The `COMPOUND_WETH_TOKEN` variable value\"}},\"getIntegrationManager()\":{\"returns\":{\"integrationManager_\":\"The `INTEGRATION_MANAGER` variable value\"}},\"lend(address,bytes,bytes)\":{\"params\":{\"_assetData\":\"Parsed spend assets and incoming assets data for this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}},\"parseAssetsForAction(address,bytes4,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_selector\":\"The function selector for the callOnIntegration\"},\"returns\":{\"incomingAssets_\":\"The assets to receive in the call\",\"minIncomingAssetAmounts_\":\"The min asset amounts to receive in the call\",\"spendAssetAmounts_\":\"The max asset amounts to spend in the call\",\"spendAssetsHandleType_\":\"A type that dictates how to handle granting the adapter access to spend assets (`None` by default)\",\"spendAssets_\":\"The assets to spend in the call\"}},\"redeem(address,bytes,bytes)\":{\"params\":{\"_assetData\":\"Parsed spend assets and incoming assets data for this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}}},\"title\":\"CompoundAdapterBase Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"claimRewards(address,bytes,bytes)\":{\"notice\":\"Claims rewards from the cTokens comptroller\"},\"getCompoundPriceFeed()\":{\"notice\":\"Gets the `COMPOUND_PRICE_FEED` variable\"},\"getCompoundWethToken()\":{\"notice\":\"Gets the `COMPOUND_WETH_TOKEN` variable\"},\"getIntegrationManager()\":{\"notice\":\"Gets the `INTEGRATION_MANAGER` variable\"},\"lend(address,bytes,bytes)\":{\"notice\":\"Lends an amount of a token to Compound\"},\"parseAssetsForAction(address,bytes4,bytes)\":{\"notice\":\"Parses the expected assets in a particular action\"},\"redeem(address,bytes,bytes)\":{\"notice\":\"Redeems an amount of cTokens from Compound\"}},\"notice\":\"Adapter base for Compound v2 and its forks \",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/integration-manager/integrations/utils/bases/CompoundAdapterBase.sol\":\"CompoundAdapterBase\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/extensions/integration-manager/IIntegrationManager.sol\":{\"keccak256\":\"0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23\",\"dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk\"]},\"contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol\":{\"keccak256\":\"0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336\",\"dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS\"]},\"contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol\":{\"keccak256\":\"0x067e49bf0d3c1655ab41a413c65ccf61d4e593308132e1ffc484a0fadfbbaf26\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://387f425017e18e89cc1893521101fa99df595314847d0b3d9a1162369f714fcf\",\"dweb:/ipfs/Qmco3jCvuWAyfCpBYpGzHrQjiFJG63w1RJKcakoTEbxRQm\"]},\"contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol\":{\"keccak256\":\"0xfd34c7ca8231c6935e25dede32ca2b3121738e624d0fc896f7b895a731edcf88\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d492c061963d36d07718446db191d4c5a340c0d847f6cd209f027bd99f7cb176\",\"dweb:/ipfs/QmfCvRZt56ftDdrEh6LepHXFJ4fVtcfpQGvEyY8k4zxG1A\"]},\"contracts/release/extensions/integration-manager/integrations/utils/actions/CompoundActionsMixin.sol\":{\"keccak256\":\"0x81e765c2662bebac378eb0b6c25f9c094019a8bca2bebe3800b8297616553e49\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://aaedf971482da2c54778d925bd5847851ce24266d7651bed0285c55e727f5426\",\"dweb:/ipfs/QmNsrdy4V5pKmpQLGyQGSNiY23BnLmjBAjofnxcjyLUjV6\"]},\"contracts/release/extensions/integration-manager/integrations/utils/bases/CompoundAdapterBase.sol\":{\"keccak256\":\"0xa5f368fa4e7a4432eee1a9a764190181d5e707fd8e6c757ffb8eef8349a36f01\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c04d4519f5e811ce16a217c82b606ceff0e9042534ce3e300fd32e5032b95221\",\"dweb:/ipfs/QmNRndBBCxYk64bMtbfkjPUANok3LjvNxudyB6oicUXzxY\"]},\"contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol\":{\"keccak256\":\"0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e\",\"dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK\"]},\"contracts/release/infrastructure/price-feeds/derivatives/feeds/CompoundPriceFeed.sol\":{\"keccak256\":\"0x1addbd55e648a9a1c4cdbf8a7549a9f4eced25f7478b0b4f467ab7cafe7162bc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6f165a37d3fb05d9044042c4a719b728fb6a499c5dabc53945b8775decb06560\",\"dweb:/ipfs/QmY2VnnAknyrticer1jtWVMCr4Ea3tv4XfW71BVGrgoBGH\"]},\"contracts/release/interfaces/ICERC20.sol\":{\"keccak256\":\"0x9a32a6ca307ac613bde26844d33e1732ae348bceffc93d63e3691f2ff22c6e0b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9c7aff5bf1c249fab27262fb1dc934325e259e5fd6857fbad70c8684f8ee4247\",\"dweb:/ipfs/QmTAneTyW2oCTZGVMVEAp77qMW9U9NymoK8k3RcwpNRh5W\"]},\"contracts/release/interfaces/ICEther.sol\":{\"keccak256\":\"0x7baa90be9075da954ed5630133b94d13ef857a6a66d4333ea83145ccb192c709\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6cf10fa111356f5dc32fe9de42c23ee32a766d7bacb1447e5ca9163702338064\",\"dweb:/ipfs/QmTrC9ngVaTm9bVSUyVpZV7J8gNSKbbvXcv36wdhikoSLo\"]},\"contracts/release/interfaces/IWETH.sol\":{\"keccak256\":\"0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2\",\"dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"contracts/release/utils/FundDeployerOwnerMixin.sol\":{\"keccak256\":\"0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927\",\"dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_integrationManager", - "type": "address" - }, - { - "internalType": "address", - "name": "_compoundPriceFeed", - "type": "address" - }, - { - "internalType": "address", - "name": "_wethToken", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "CLAIM_REWARDS_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "LEND_AND_STAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "LEND_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "REDEEM_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "STAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "TAKE_MULTIPLE_ORDERS_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "TAKE_ORDER_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "UNSTAKE_AND_REDEEM_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "UNSTAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "claimRewards" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getCompoundPriceFeed", - "outputs": [ - { - "internalType": "address", - "name": "compoundPriceFeed_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getCompoundWethToken", - "outputs": [ - { - "internalType": "address", - "name": "compoundWethToken_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getIntegrationManager", - "outputs": [ - { - "internalType": "address", - "name": "integrationManager_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "_assetData", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "lend" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes4", - "name": "_selector", - "type": "bytes4" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - } - ], - "stateMutability": "view", - "type": "function", - "name": "parseAssetsForAction", - "outputs": [ - { - "internalType": "enum IIntegrationManager.SpendAssetsHandleType", - "name": "spendAssetsHandleType_", - "type": "uint8" - }, - { - "internalType": "address[]", - "name": "spendAssets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "spendAssetAmounts_", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "incomingAssets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "minIncomingAssetAmounts_", - "type": "uint256[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "_assetData", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "redeem" - }, - { - "inputs": [], - "stateMutability": "payable", - "type": "receive" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "claimRewards(address,bytes,bytes)": { - "params": { - "_actionData": "Data specific to this action", - "_vaultProxy": "The VaultProxy of the calling fund" - } - }, - "getCompoundPriceFeed()": { - "returns": { - "compoundPriceFeed_": "The `COMPOUND_PRICE_FEED` variable value" - } - }, - "getCompoundWethToken()": { - "returns": { - "compoundWethToken_": "The `COMPOUND_WETH_TOKEN` variable value" - } - }, - "getIntegrationManager()": { - "returns": { - "integrationManager_": "The `INTEGRATION_MANAGER` variable value" - } - }, - "lend(address,bytes,bytes)": { - "params": { - "_assetData": "Parsed spend assets and incoming assets data for this action", - "_vaultProxy": "The VaultProxy of the calling fund" - } - }, - "parseAssetsForAction(address,bytes4,bytes)": { - "params": { - "_actionData": "Data specific to this action", - "_selector": "The function selector for the callOnIntegration" - }, - "returns": { - "incomingAssets_": "The assets to receive in the call", - "minIncomingAssetAmounts_": "The min asset amounts to receive in the call", - "spendAssetAmounts_": "The max asset amounts to spend in the call", - "spendAssetsHandleType_": "A type that dictates how to handle granting the adapter access to spend assets (`None` by default)", - "spendAssets_": "The assets to spend in the call" - } - }, - "redeem(address,bytes,bytes)": { - "params": { - "_assetData": "Parsed spend assets and incoming assets data for this action", - "_vaultProxy": "The VaultProxy of the calling fund" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "claimRewards(address,bytes,bytes)": { - "notice": "Claims rewards from the cTokens comptroller" - }, - "getCompoundPriceFeed()": { - "notice": "Gets the `COMPOUND_PRICE_FEED` variable" - }, - "getCompoundWethToken()": { - "notice": "Gets the `COMPOUND_WETH_TOKEN` variable" - }, - "getIntegrationManager()": { - "notice": "Gets the `INTEGRATION_MANAGER` variable" - }, - "lend(address,bytes,bytes)": { - "notice": "Lends an amount of a token to Compound" - }, - "parseAssetsForAction(address,bytes4,bytes)": { - "notice": "Parses the expected assets in a particular action" - }, - "redeem(address,bytes,bytes)": { - "notice": "Redeems an amount of cTokens from Compound" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/integration-manager/integrations/utils/bases/CompoundAdapterBase.sol": "CompoundAdapterBase" - }, - "libraries": {} - }, - "sources": { - "contracts/release/core/fund-deployer/IFundDeployer.sol": { - "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", - "urls": [ - "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", - "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/IIntegrationManager.sol": { - "keccak256": "0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef", - "urls": [ - "bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23", - "dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol": { - "keccak256": "0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1", - "urls": [ - "bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336", - "dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol": { - "keccak256": "0x067e49bf0d3c1655ab41a413c65ccf61d4e593308132e1ffc484a0fadfbbaf26", - "urls": [ - "bzz-raw://387f425017e18e89cc1893521101fa99df595314847d0b3d9a1162369f714fcf", - "dweb:/ipfs/Qmco3jCvuWAyfCpBYpGzHrQjiFJG63w1RJKcakoTEbxRQm" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol": { - "keccak256": "0xfd34c7ca8231c6935e25dede32ca2b3121738e624d0fc896f7b895a731edcf88", - "urls": [ - "bzz-raw://d492c061963d36d07718446db191d4c5a340c0d847f6cd209f027bd99f7cb176", - "dweb:/ipfs/QmfCvRZt56ftDdrEh6LepHXFJ4fVtcfpQGvEyY8k4zxG1A" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/utils/actions/CompoundActionsMixin.sol": { - "keccak256": "0x81e765c2662bebac378eb0b6c25f9c094019a8bca2bebe3800b8297616553e49", - "urls": [ - "bzz-raw://aaedf971482da2c54778d925bd5847851ce24266d7651bed0285c55e727f5426", - "dweb:/ipfs/QmNsrdy4V5pKmpQLGyQGSNiY23BnLmjBAjofnxcjyLUjV6" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/utils/bases/CompoundAdapterBase.sol": { - "keccak256": "0xa5f368fa4e7a4432eee1a9a764190181d5e707fd8e6c757ffb8eef8349a36f01", - "urls": [ - "bzz-raw://c04d4519f5e811ce16a217c82b606ceff0e9042534ce3e300fd32e5032b95221", - "dweb:/ipfs/QmNRndBBCxYk64bMtbfkjPUANok3LjvNxudyB6oicUXzxY" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol": { - "keccak256": "0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332", - "urls": [ - "bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e", - "dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/price-feeds/derivatives/feeds/CompoundPriceFeed.sol": { - "keccak256": "0x1addbd55e648a9a1c4cdbf8a7549a9f4eced25f7478b0b4f467ab7cafe7162bc", - "urls": [ - "bzz-raw://6f165a37d3fb05d9044042c4a719b728fb6a499c5dabc53945b8775decb06560", - "dweb:/ipfs/QmY2VnnAknyrticer1jtWVMCr4Ea3tv4XfW71BVGrgoBGH" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/ICERC20.sol": { - "keccak256": "0x9a32a6ca307ac613bde26844d33e1732ae348bceffc93d63e3691f2ff22c6e0b", - "urls": [ - "bzz-raw://9c7aff5bf1c249fab27262fb1dc934325e259e5fd6857fbad70c8684f8ee4247", - "dweb:/ipfs/QmTAneTyW2oCTZGVMVEAp77qMW9U9NymoK8k3RcwpNRh5W" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/ICEther.sol": { - "keccak256": "0x7baa90be9075da954ed5630133b94d13ef857a6a66d4333ea83145ccb192c709", - "urls": [ - "bzz-raw://6cf10fa111356f5dc32fe9de42c23ee32a766d7bacb1447e5ca9163702338064", - "dweb:/ipfs/QmTrC9ngVaTm9bVSUyVpZV7J8gNSKbbvXcv36wdhikoSLo" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IWETH.sol": { - "keccak256": "0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2", - "urls": [ - "bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2", - "dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AssetHelpers.sol": { - "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", - "urls": [ - "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", - "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/FundDeployerOwnerMixin.sol": { - "keccak256": "0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934", - "urls": [ - "bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927", - "dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { - "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", - "urls": [ - "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", - "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Address.sol": { - "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", - "urls": [ - "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", - "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 202 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_integrationManager", "type": "address", "internalType": "address" }, { "name": "_compoundPriceFeed", "type": "address", "internalType": "address" }, { "name": "_wethToken", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "receive", "stateMutability": "payable" }, { "type": "function", "name": "CLAIM_REWARDS_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "LEND_AND_STAKE_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "LEND_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "REDEEM_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "STAKE_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "TAKE_MULTIPLE_ORDERS_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "TAKE_ORDER_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "UNSTAKE_AND_REDEEM_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "UNSTAKE_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "claimRewards", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_actionData", "type": "bytes", "internalType": "bytes" }, { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "getCompoundPriceFeed", "inputs": [], "outputs": [ { "name": "compoundPriceFeed_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getCompoundWethToken", "inputs": [], "outputs": [ { "name": "compoundWethToken_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getIntegrationManager", "inputs": [], "outputs": [ { "name": "integrationManager_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "lend", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "", "type": "bytes", "internalType": "bytes" }, { "name": "_assetData", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "parseAssetsForAction", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "_selector", "type": "bytes4", "internalType": "bytes4" }, { "name": "_actionData", "type": "bytes", "internalType": "bytes" } ], "outputs": [ { "name": "spendAssetsHandleType_", "type": "uint8", "internalType": "enum IIntegrationManager.SpendAssetsHandleType" }, { "name": "spendAssets_", "type": "address[]", "internalType": "address[]" }, { "name": "spendAssetAmounts_", "type": "uint256[]", "internalType": "uint256[]" }, { "name": "incomingAssets_", "type": "address[]", "internalType": "address[]" }, { "name": "minIncomingAssetAmounts_", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "view" }, { "type": "function", "name": "redeem", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "", "type": "bytes", "internalType": "bytes" }, { "name": "_assetData", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "CLAIM_REWARDS_SELECTOR()": "40da225d", "LEND_AND_STAKE_SELECTOR()": "131461c0", "LEND_SELECTOR()": "257cb1a3", "REDEEM_SELECTOR()": "f7d882b5", "STAKE_SELECTOR()": "3ffc1591", "TAKE_MULTIPLE_ORDERS_SELECTOR()": "c32990a2", "TAKE_ORDER_SELECTOR()": "863e5ad0", "UNSTAKE_AND_REDEEM_SELECTOR()": "080456c1", "UNSTAKE_SELECTOR()": "b23228cf", "claimRewards(address,bytes,bytes)": "b9dfbacc", "getCompoundPriceFeed()": "32bf8227", "getCompoundWethToken()": "71dce850", "getIntegrationManager()": "e7c45690", "lend(address,bytes,bytes)": "099f7515", "parseAssetsForAction(address,bytes4,bytes)": "c54efee5", "redeem(address,bytes,bytes)": "c29fa9dd" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_integrationManager\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_compoundPriceFeed\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_wethToken\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"CLAIM_REWARDS_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LEND_AND_STAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LEND_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"REDEEM_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"STAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TAKE_MULTIPLE_ORDERS_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TAKE_ORDER_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UNSTAKE_AND_REDEEM_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UNSTAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"claimRewards\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCompoundPriceFeed\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"compoundPriceFeed_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCompoundWethToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"compoundWethToken_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getIntegrationManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"integrationManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"_assetData\",\"type\":\"bytes\"}],\"name\":\"lend\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"_selector\",\"type\":\"bytes4\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"}],\"name\":\"parseAssetsForAction\",\"outputs\":[{\"internalType\":\"enum IIntegrationManager.SpendAssetsHandleType\",\"name\":\"spendAssetsHandleType_\",\"type\":\"uint8\"},{\"internalType\":\"address[]\",\"name\":\"spendAssets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"spendAssetAmounts_\",\"type\":\"uint256[]\"},{\"internalType\":\"address[]\",\"name\":\"incomingAssets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"minIncomingAssetAmounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"_assetData\",\"type\":\"bytes\"}],\"name\":\"redeem\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"claimRewards(address,bytes,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}},\"getCompoundPriceFeed()\":{\"returns\":{\"compoundPriceFeed_\":\"The `COMPOUND_PRICE_FEED` variable value\"}},\"getCompoundWethToken()\":{\"returns\":{\"compoundWethToken_\":\"The `COMPOUND_WETH_TOKEN` variable value\"}},\"getIntegrationManager()\":{\"returns\":{\"integrationManager_\":\"The `INTEGRATION_MANAGER` variable value\"}},\"lend(address,bytes,bytes)\":{\"params\":{\"_assetData\":\"Parsed spend assets and incoming assets data for this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}},\"parseAssetsForAction(address,bytes4,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_selector\":\"The function selector for the callOnIntegration\"},\"returns\":{\"incomingAssets_\":\"The assets to receive in the call\",\"minIncomingAssetAmounts_\":\"The min asset amounts to receive in the call\",\"spendAssetAmounts_\":\"The max asset amounts to spend in the call\",\"spendAssetsHandleType_\":\"A type that dictates how to handle granting the adapter access to spend assets (`None` by default)\",\"spendAssets_\":\"The assets to spend in the call\"}},\"redeem(address,bytes,bytes)\":{\"params\":{\"_assetData\":\"Parsed spend assets and incoming assets data for this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}}},\"title\":\"CompoundAdapterBase Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"claimRewards(address,bytes,bytes)\":{\"notice\":\"Claims rewards from the cTokens comptroller\"},\"getCompoundPriceFeed()\":{\"notice\":\"Gets the `COMPOUND_PRICE_FEED` variable\"},\"getCompoundWethToken()\":{\"notice\":\"Gets the `COMPOUND_WETH_TOKEN` variable\"},\"getIntegrationManager()\":{\"notice\":\"Gets the `INTEGRATION_MANAGER` variable\"},\"lend(address,bytes,bytes)\":{\"notice\":\"Lends an amount of a token to Compound\"},\"parseAssetsForAction(address,bytes4,bytes)\":{\"notice\":\"Parses the expected assets in a particular action\"},\"redeem(address,bytes,bytes)\":{\"notice\":\"Redeems an amount of cTokens from Compound\"}},\"notice\":\"Adapter base for Compound v2 and its forks \",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/integration-manager/integrations/utils/bases/CompoundAdapterBase.sol\":\"CompoundAdapterBase\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/extensions/integration-manager/IIntegrationManager.sol\":{\"keccak256\":\"0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23\",\"dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk\"]},\"contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol\":{\"keccak256\":\"0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336\",\"dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS\"]},\"contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol\":{\"keccak256\":\"0x067e49bf0d3c1655ab41a413c65ccf61d4e593308132e1ffc484a0fadfbbaf26\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://387f425017e18e89cc1893521101fa99df595314847d0b3d9a1162369f714fcf\",\"dweb:/ipfs/Qmco3jCvuWAyfCpBYpGzHrQjiFJG63w1RJKcakoTEbxRQm\"]},\"contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol\":{\"keccak256\":\"0xfd34c7ca8231c6935e25dede32ca2b3121738e624d0fc896f7b895a731edcf88\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d492c061963d36d07718446db191d4c5a340c0d847f6cd209f027bd99f7cb176\",\"dweb:/ipfs/QmfCvRZt56ftDdrEh6LepHXFJ4fVtcfpQGvEyY8k4zxG1A\"]},\"contracts/release/extensions/integration-manager/integrations/utils/actions/CompoundActionsMixin.sol\":{\"keccak256\":\"0x81e765c2662bebac378eb0b6c25f9c094019a8bca2bebe3800b8297616553e49\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://aaedf971482da2c54778d925bd5847851ce24266d7651bed0285c55e727f5426\",\"dweb:/ipfs/QmNsrdy4V5pKmpQLGyQGSNiY23BnLmjBAjofnxcjyLUjV6\"]},\"contracts/release/extensions/integration-manager/integrations/utils/bases/CompoundAdapterBase.sol\":{\"keccak256\":\"0xa5f368fa4e7a4432eee1a9a764190181d5e707fd8e6c757ffb8eef8349a36f01\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c04d4519f5e811ce16a217c82b606ceff0e9042534ce3e300fd32e5032b95221\",\"dweb:/ipfs/QmNRndBBCxYk64bMtbfkjPUANok3LjvNxudyB6oicUXzxY\"]},\"contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol\":{\"keccak256\":\"0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e\",\"dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK\"]},\"contracts/release/infrastructure/price-feeds/derivatives/feeds/CompoundPriceFeed.sol\":{\"keccak256\":\"0x1addbd55e648a9a1c4cdbf8a7549a9f4eced25f7478b0b4f467ab7cafe7162bc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6f165a37d3fb05d9044042c4a719b728fb6a499c5dabc53945b8775decb06560\",\"dweb:/ipfs/QmY2VnnAknyrticer1jtWVMCr4Ea3tv4XfW71BVGrgoBGH\"]},\"contracts/release/interfaces/ICERC20.sol\":{\"keccak256\":\"0x9a32a6ca307ac613bde26844d33e1732ae348bceffc93d63e3691f2ff22c6e0b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9c7aff5bf1c249fab27262fb1dc934325e259e5fd6857fbad70c8684f8ee4247\",\"dweb:/ipfs/QmTAneTyW2oCTZGVMVEAp77qMW9U9NymoK8k3RcwpNRh5W\"]},\"contracts/release/interfaces/ICEther.sol\":{\"keccak256\":\"0x7baa90be9075da954ed5630133b94d13ef857a6a66d4333ea83145ccb192c709\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6cf10fa111356f5dc32fe9de42c23ee32a766d7bacb1447e5ca9163702338064\",\"dweb:/ipfs/QmTrC9ngVaTm9bVSUyVpZV7J8gNSKbbvXcv36wdhikoSLo\"]},\"contracts/release/interfaces/IWETH.sol\":{\"keccak256\":\"0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2\",\"dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"contracts/release/utils/FundDeployerOwnerMixin.sol\":{\"keccak256\":\"0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927\",\"dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_integrationManager", "type": "address" }, { "internalType": "address", "name": "_compoundPriceFeed", "type": "address" }, { "internalType": "address", "name": "_wethToken", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "CLAIM_REWARDS_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "LEND_AND_STAKE_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "LEND_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "REDEEM_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "STAKE_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "TAKE_MULTIPLE_ORDERS_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "TAKE_ORDER_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "UNSTAKE_AND_REDEEM_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "UNSTAKE_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "bytes", "name": "_actionData", "type": "bytes" }, { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "claimRewards" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getCompoundPriceFeed", "outputs": [ { "internalType": "address", "name": "compoundPriceFeed_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getCompoundWethToken", "outputs": [ { "internalType": "address", "name": "compoundWethToken_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getIntegrationManager", "outputs": [ { "internalType": "address", "name": "integrationManager_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "bytes", "name": "", "type": "bytes" }, { "internalType": "bytes", "name": "_assetData", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "lend" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "bytes4", "name": "_selector", "type": "bytes4" }, { "internalType": "bytes", "name": "_actionData", "type": "bytes" } ], "stateMutability": "view", "type": "function", "name": "parseAssetsForAction", "outputs": [ { "internalType": "enum IIntegrationManager.SpendAssetsHandleType", "name": "spendAssetsHandleType_", "type": "uint8" }, { "internalType": "address[]", "name": "spendAssets_", "type": "address[]" }, { "internalType": "uint256[]", "name": "spendAssetAmounts_", "type": "uint256[]" }, { "internalType": "address[]", "name": "incomingAssets_", "type": "address[]" }, { "internalType": "uint256[]", "name": "minIncomingAssetAmounts_", "type": "uint256[]" } ] }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "bytes", "name": "", "type": "bytes" }, { "internalType": "bytes", "name": "_assetData", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "redeem" }, { "inputs": [], "stateMutability": "payable", "type": "receive" } ], "devdoc": { "kind": "dev", "methods": { "claimRewards(address,bytes,bytes)": { "params": { "_actionData": "Data specific to this action", "_vaultProxy": "The VaultProxy of the calling fund" } }, "getCompoundPriceFeed()": { "returns": { "compoundPriceFeed_": "The `COMPOUND_PRICE_FEED` variable value" } }, "getCompoundWethToken()": { "returns": { "compoundWethToken_": "The `COMPOUND_WETH_TOKEN` variable value" } }, "getIntegrationManager()": { "returns": { "integrationManager_": "The `INTEGRATION_MANAGER` variable value" } }, "lend(address,bytes,bytes)": { "params": { "_assetData": "Parsed spend assets and incoming assets data for this action", "_vaultProxy": "The VaultProxy of the calling fund" } }, "parseAssetsForAction(address,bytes4,bytes)": { "params": { "_actionData": "Data specific to this action", "_selector": "The function selector for the callOnIntegration" }, "returns": { "incomingAssets_": "The assets to receive in the call", "minIncomingAssetAmounts_": "The min asset amounts to receive in the call", "spendAssetAmounts_": "The max asset amounts to spend in the call", "spendAssetsHandleType_": "A type that dictates how to handle granting the adapter access to spend assets (`None` by default)", "spendAssets_": "The assets to spend in the call" } }, "redeem(address,bytes,bytes)": { "params": { "_assetData": "Parsed spend assets and incoming assets data for this action", "_vaultProxy": "The VaultProxy of the calling fund" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "claimRewards(address,bytes,bytes)": { "notice": "Claims rewards from the cTokens comptroller" }, "getCompoundPriceFeed()": { "notice": "Gets the `COMPOUND_PRICE_FEED` variable" }, "getCompoundWethToken()": { "notice": "Gets the `COMPOUND_WETH_TOKEN` variable" }, "getIntegrationManager()": { "notice": "Gets the `INTEGRATION_MANAGER` variable" }, "lend(address,bytes,bytes)": { "notice": "Lends an amount of a token to Compound" }, "parseAssetsForAction(address,bytes4,bytes)": { "notice": "Parses the expected assets in a particular action" }, "redeem(address,bytes,bytes)": { "notice": "Redeems an amount of cTokens from Compound" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/integration-manager/integrations/utils/bases/CompoundAdapterBase.sol": "CompoundAdapterBase" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/core/fund-deployer/IFundDeployer.sol": { "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", "urls": [ "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/IIntegrationManager.sol": { "keccak256": "0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef", "urls": [ "bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23", "dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol": { "keccak256": "0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1", "urls": [ "bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336", "dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol": { "keccak256": "0x067e49bf0d3c1655ab41a413c65ccf61d4e593308132e1ffc484a0fadfbbaf26", "urls": [ "bzz-raw://387f425017e18e89cc1893521101fa99df595314847d0b3d9a1162369f714fcf", "dweb:/ipfs/Qmco3jCvuWAyfCpBYpGzHrQjiFJG63w1RJKcakoTEbxRQm" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol": { "keccak256": "0xfd34c7ca8231c6935e25dede32ca2b3121738e624d0fc896f7b895a731edcf88", "urls": [ "bzz-raw://d492c061963d36d07718446db191d4c5a340c0d847f6cd209f027bd99f7cb176", "dweb:/ipfs/QmfCvRZt56ftDdrEh6LepHXFJ4fVtcfpQGvEyY8k4zxG1A" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/utils/actions/CompoundActionsMixin.sol": { "keccak256": "0x81e765c2662bebac378eb0b6c25f9c094019a8bca2bebe3800b8297616553e49", "urls": [ "bzz-raw://aaedf971482da2c54778d925bd5847851ce24266d7651bed0285c55e727f5426", "dweb:/ipfs/QmNsrdy4V5pKmpQLGyQGSNiY23BnLmjBAjofnxcjyLUjV6" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/utils/bases/CompoundAdapterBase.sol": { "keccak256": "0xa5f368fa4e7a4432eee1a9a764190181d5e707fd8e6c757ffb8eef8349a36f01", "urls": [ "bzz-raw://c04d4519f5e811ce16a217c82b606ceff0e9042534ce3e300fd32e5032b95221", "dweb:/ipfs/QmNRndBBCxYk64bMtbfkjPUANok3LjvNxudyB6oicUXzxY" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol": { "keccak256": "0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332", "urls": [ "bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e", "dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/price-feeds/derivatives/feeds/CompoundPriceFeed.sol": { "keccak256": "0x1addbd55e648a9a1c4cdbf8a7549a9f4eced25f7478b0b4f467ab7cafe7162bc", "urls": [ "bzz-raw://6f165a37d3fb05d9044042c4a719b728fb6a499c5dabc53945b8775decb06560", "dweb:/ipfs/QmY2VnnAknyrticer1jtWVMCr4Ea3tv4XfW71BVGrgoBGH" ], "license": "GPL-3.0" }, "contracts/release/interfaces/ICERC20.sol": { "keccak256": "0x9a32a6ca307ac613bde26844d33e1732ae348bceffc93d63e3691f2ff22c6e0b", "urls": [ "bzz-raw://9c7aff5bf1c249fab27262fb1dc934325e259e5fd6857fbad70c8684f8ee4247", "dweb:/ipfs/QmTAneTyW2oCTZGVMVEAp77qMW9U9NymoK8k3RcwpNRh5W" ], "license": "GPL-3.0" }, "contracts/release/interfaces/ICEther.sol": { "keccak256": "0x7baa90be9075da954ed5630133b94d13ef857a6a66d4333ea83145ccb192c709", "urls": [ "bzz-raw://6cf10fa111356f5dc32fe9de42c23ee32a766d7bacb1447e5ca9163702338064", "dweb:/ipfs/QmTrC9ngVaTm9bVSUyVpZV7J8gNSKbbvXcv36wdhikoSLo" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IWETH.sol": { "keccak256": "0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2", "urls": [ "bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2", "dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ" ], "license": "GPL-3.0" }, "contracts/release/utils/AssetHelpers.sol": { "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", "urls": [ "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" ], "license": "GPL-3.0" }, "contracts/release/utils/FundDeployerOwnerMixin.sol": { "keccak256": "0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934", "urls": [ "bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927", "dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", "urls": [ "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Address.sol": { "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", "urls": [ "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" } }, "version": 1 }, "id": 202 } diff --git a/eth_defi/abi/enzyme/CompoundDebtPositionLib.json b/eth_defi/abi/enzyme/CompoundDebtPositionLib.json index d686a8d2..0de17ec5 100644 --- a/eth_defi/abi/enzyme/CompoundDebtPositionLib.json +++ b/eth_defi/abi/enzyme/CompoundDebtPositionLib.json @@ -1,769 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_compoundComptroller", - "type": "address" - }, - { - "internalType": "address", - "name": "_compToken", - "type": "address" - }, - { - "internalType": "address", - "name": "_weth", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "asset", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "AssetBorrowed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "asset", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "BorrowedAssetRepaid", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "asset", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "CollateralAssetAdded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "asset", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "CollateralAssetRemoved", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_asset", - "type": "address" - } - ], - "name": "assetIsCollateral", - "outputs": [ - { - "internalType": "bool", - "name": "isCollateral", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrowedAsset", - "type": "address" - } - ], - "name": "getCTokenFromBorrowedAsset", - "outputs": [ - { - "internalType": "address", - "name": "cToken_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getCompToken", - "outputs": [ - { - "internalType": "address", - "name": "compToken_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getCompoundComptroller", - "outputs": [ - { - "internalType": "address", - "name": "compoundComptroller_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getDebtAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "assets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "amounts_", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getManagedAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "assets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "amounts_", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getWethToken", - "outputs": [ - { - "internalType": "address", - "name": "wethToken_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "init", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - } - ], - "name": "receiveCallFromVault", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x60e060405234801561001057600080fd5b50604051611fa7380380611fa78339818101604052606081101561003357600080fd5b50805160208201516040909201516001600160601b0319606092831b811660a05292821b8316608052901b1660c05260805160601c60a05160601c60c05160601c611f10610097600039806103215250806104f05250806103665250611f106000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c806380daddb81161006657806380daddb8146101a45780639e209ad114610245578063d889378e1461024d578063e5c23a9714610273578063ecd658b41461031757610093565b80634c252f91146100985780634ddf47d4146100bc5780634eeb4a161461016257806370a58ec61461019c575b600080fd5b6100a061031f565b604080516001600160a01b039092168252519081900360200190f35b610160600480360360208110156100d257600080fd5b810190602081018135600160201b8111156100ec57600080fd5b8201836020820111156100fe57600080fd5b803590602001918460018302840111600160201b8311171561011f57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610343945050505050565b005b6101886004803603602081101561017857600080fd5b50356001600160a01b0316610346565b604080519115158252519081900360200190f35b6100a0610364565b6101ac610388565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156101f05781810151838201526020016101d8565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561022f578181015183820152602001610217565b5050505090500194505050505060405180910390f35b6100a06104ee565b6100a06004803603602081101561026357600080fd5b50356001600160a01b0316610512565b6101606004803603602081101561028957600080fd5b810190602081018135600160201b8111156102a357600080fd5b8201836020820111156102b557600080fd5b803590602001918460018302840111600160201b831117156102d657600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610530945050505050565b6101ac610889565b7f000000000000000000000000000000000000000000000000000000000000000090565b50565b6001600160a01b031660009081526002602052604090205460ff1690565b7f000000000000000000000000000000000000000000000000000000000000000090565b60608060018054806020026020016040519081016040528092919081815260200182805480156103e157602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116103c3575b50506001549395505067ffffffffffffffff8311915050801561040357600080fd5b5060405190808252806020026020018201604052801561042d578160200160208202803683370190505b50905060005b82518110156104e95782818151811061044857fe5b60200260200101516001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561049c57600080fd5b505afa1580156104b0573d6000803e3d6000fd5b505050506040513d60208110156104c657600080fd5b505182518390839081106104d657fe5b6020908102919091010152600101610433565b509091565b7f000000000000000000000000000000000000000000000000000000000000000090565b6001600160a01b039081166000908152600360205260409020541690565b6000606082806020019051604081101561054957600080fd5b815160208301805160405192949293830192919084600160201b82111561056f57600080fd5b90830190602082018581111561058457600080fd5b8251600160201b81118282018810171561059d57600080fd5b82525081516020918201929091019080838360005b838110156105ca5781810151838201526020016105b2565b50505050905090810190601f1680156105f75780820380516001836020036101000a031916815260200191505b5060405250505091509150606080606083806020019051606081101561061c57600080fd5b8101908080516040519392919084600160201b82111561063b57600080fd5b90830190602082018581111561065057600080fd5b82518660208202830111600160201b8211171561066c57600080fd5b82525081516020918201928201910280838360005b83811015610699578181015183820152602001610681565b5050505090500160405260200180516040519392919084600160201b8211156106c157600080fd5b9083019060208201858111156106d657600080fd5b82518660208202830111600160201b821117156106f257600080fd5b82525081516020918201928201910280838360005b8381101561071f578181015183820152602001610707565b5050505090500160405260200180516040519392919084600160201b82111561074757600080fd5b90830190602082018581111561075c57600080fd5b8251600160201b81118282018810171561077557600080fd5b82525081516020918201929091019080838360005b838110156107a257818101518382015260200161078a565b50505050905090810190601f1680156107cf5780820380516001836020036101000a031916815260200191505b50604052505050925092509250600060048111156107e957fe5b8514156107ff576107fa83836109f5565b610881565b6001851415610812576107fa8383610cd9565b6002851415610826576107fa838383610f07565b6003851415610839576107fa838361130a565b600485141561084a576107fa611561565b60405162461bcd60e51b8152600401808060200182810382526026815260200180611df56026913960400191505060405180910390fd5b505050505050565b60608060008054806020026020016040519081016040528092919081815260200182805480156108e257602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116108c4575b50505050509150815167ffffffffffffffff8111801561090157600080fd5b5060405190808252806020026020018201604052801561092b578160200160208202803683370190505b50905060005b82518110156104e957600061095884838151811061094b57fe5b6020026020010151610512565b9050806001600160a01b03166395dd9193306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156109a757600080fd5b505afa1580156109bb573d6000803e3d6000fd5b505050506040513d60208110156109d157600080fd5b505183518490849081106109e157fe5b602090810291909101015250600101610931565b60606109ff6104ee565b6001600160a01b031663c2998238846040518263ffffffff1660e01b81526004018080602001828103825283818151815260200191508051906020019060200280838360005b83811015610a5d578181015183820152602001610a45565b5050505090500192505050600060405180830381600087803b158015610a8257600080fd5b505af1158015610a96573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526020811015610abf57600080fd5b8101908080516040519392919084600160201b821115610ade57600080fd5b908301906020820185811115610af357600080fd5b82518660208202830111600160201b82111715610b0f57600080fd5b82525081516020918201928201910280838360005b83811015610b3c578181015183820152602001610b24565b50505050905001604052505050905060005b8351811015610cd357818181518110610b6357fe5b6020026020010151600014610ba95760405162461bcd60e51b8152600401808060200182810382526043815260200180611e1b6043913960600191505060405180910390fd5b610bc5848281518110610bb857fe5b6020026020010151610346565b610c6457600160026000868481518110610bdb57fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055506001848281518110610c2857fe5b60209081029190910181015182546001810184556000938452919092200180546001600160a01b0319166001600160a01b039092169190911790555b838181518110610c7057fe5b60200260200101516001600160a01b03167fde38363fe42a9cae1654e31132bb3736927f007235cf41265805b96de98cf59f848381518110610cae57fe5b60200260200101516040518082815260200191505060405180910390a2600101610b4e565b50505050565b60005b8251811015610f0257610cf4838281518110610bb857fe5b610d2f5760405162461bcd60e51b8152600401808060200182810382526031815260200180611d386031913960400191505060405180910390fd5b818181518110610d3b57fe5b6020026020010151838281518110610d4f57fe5b60200260200101516001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610da357600080fd5b505afa158015610db7573d6000803e3d6000fd5b505050506040513d6020811015610dcd57600080fd5b50511415610e4f57600060026000858481518110610de757fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff021916908315150217905550610e4d838281518110610e3557fe5b6020026020010151600161166990919063ffffffff16565b505b610e9333838381518110610e5f57fe5b6020026020010151858481518110610e7357fe5b60200260200101516001600160a01b03166117619092919063ffffffff16565b828181518110610e9f57fe5b60200260200101516001600160a01b03167ffb7cd2a565112408eb382485bb381cf1fc961858030a24b6d20de0a749c2f78a838381518110610edd57fe5b60200260200101516040518082815260200191505060405180910390a2600101610cdc565b505050565b6060818060200190516020811015610f1e57600080fd5b8101908080516040519392919084600160201b821115610f3d57600080fd5b908301906020820185811115610f5257600080fd5b82518660208202830111600160201b82111715610f6e57600080fd5b82525081516020918201928201910280838360005b83811015610f9b578181015183820152602001610f83565b50505050905001604052505050905060005b8451811015611303576000610fc786838151811061094b57fe5b90506001600160a01b03811661109557828281518110610fe357fe5b602002602001015160036000888581518110610ffb57fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b03160217905550600086838151811061105557fe5b60209081029190910181015182546001810184556000938452919092200180546001600160a01b0319166001600160a01b039092169190911790556110f8565b8282815181106110a157fe5b60200260200101516001600160a01b0316816001600160a01b0316146110f85760405162461bcd60e51b8152600401808060200182810382526046815260200180611e5e6046913960600191505060405180910390fd5b82828151811061110457fe5b60200260200101516001600160a01b031663c5ebeaec86848151811061112657fe5b60200260200101516040518263ffffffff1660e01b815260040180828152602001915050602060405180830381600087803b15801561116457600080fd5b505af1158015611178573d6000803e3d6000fd5b505050506040513d602081101561118e57600080fd5b5051156111cc5760405162461bcd60e51b8152600401808060200182810382526035815260200180611dc06035913960400191505060405180910390fd5b6111d461031f565b6001600160a01b03168683815181106111e957fe5b60200260200101516001600160a01b0316141561126f5761120861031f565b6001600160a01b031663d0e30db086848151811061122257fe5b60200260200101516040518263ffffffff1660e01b81526004016000604051808303818588803b15801561125557600080fd5b505af1158015611269573d6000803e3d6000fd5b50505050505b6112933386848151811061127f57fe5b6020026020010151888581518110610e7357fe5b85828151811061129f57fe5b60200260200101516001600160a01b03167f03c44a7ddb65ca5f1bbeffda35ba96457c370e957138d14005ff3e55551ab50f8684815181106112dd57fe5b60200260200101516040518082815260200191505060405180910390a250600101610fad565b5050505050565b60005b8251811015610f0257600061132784838151811061094b57fe5b905060001983838151811061133857fe5b602002602001015114156113d357604080516395dd919360e01b815230600482015290516001600160a01b038316916395dd9193916024808301926020929190829003018186803b15801561138c57600080fd5b505afa1580156113a0573d6000803e3d6000fd5b505050506040513d60208110156113b657600080fd5b505183518490849081106113c657fe5b6020026020010181815250505b611404818584815181106113e357fe5b60200260200101518585815181106113f757fe5b60200260200101516117b3565b604080516395dd919360e01b815230600482015290516001600160a01b038316916395dd9193916024808301926020929190829003018186803b15801561144a57600080fd5b505afa15801561145e573d6000803e3d6000fd5b505050506040513d602081101561147457600080fd5b50516114f1576003600085848151811061148a57fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154906001600160a01b0302191690556114ef8483815181106114d757fe5b6020026020010151600061166990919063ffffffff16565b505b8382815181106114fd57fe5b60200260200101516001600160a01b03167fb3ef5936c6a45fc10d27f174d569533c42819c98975f3da26d592c63e94415fe84848151811061153b57fe5b60200260200101516040518082815260200191505060405180910390a25060010161130d565b6115696104ee565b6001600160a01b031663e9af0292306040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050600060405180830381600087803b1580156115b757600080fd5b505af11580156115cb573d6000803e3d6000fd5b5050505060006115d9610364565b905061034333826001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561162c57600080fd5b505afa158015611640573d6000803e3d6000fd5b505050506040513d602081101561165657600080fd5b50516001600160a01b0384169190611761565b8154600090815b8181101561175957836001600160a01b031685828154811061168e57fe5b6000918252602090912001546001600160a01b03161415611751576001820381101561171c578460018303815481106116c357fe5b9060005260206000200160009054906101000a90046001600160a01b03168582815481106116ed57fe5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055505b8480548061172657fe5b600082815260209020810160001990810180546001600160a01b031916905501905560019250611759565b600101611670565b505092915050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610f02908490611954565b6117bb61031f565b6001600160a01b0316826001600160a01b03161415611892576117dc61031f565b6001600160a01b0316632e1a7d4d826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561182157600080fd5b505af1158015611835573d6000803e3d6000fd5b50505050826001600160a01b0316634e4d9fea826040518263ffffffff1660e01b81526004016000604051808303818588803b15801561187457600080fd5b505af1158015611888573d6000803e3d6000fd5b5050505050610f02565b6118a66001600160a01b0383168483611a05565b826001600160a01b0316630e752702826040518263ffffffff1660e01b815260040180828152602001915050602060405180830381600087803b1580156118ec57600080fd5b505af1158015611900573d6000803e3d6000fd5b505050506040513d602081101561191657600080fd5b505115610f025760405162461bcd60e51b8152600401808060200182810382526031815260200180611d696031913960400191505060405180910390fd5b60606119a9826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316611b189092919063ffffffff16565b805190915015610f02578080602001905160208110156119c857600080fd5b5051610f025760405162461bcd60e51b815260040180806020018281038252602a815260200180611ea4602a913960400191505060405180910390fd5b801580611a8b575060408051636eb1769f60e11b81523060048201526001600160a01b03848116602483015291519185169163dd62ed3e91604480820192602092909190829003018186803b158015611a5d57600080fd5b505afa158015611a71573d6000803e3d6000fd5b505050506040513d6020811015611a8757600080fd5b5051155b611ac65760405162461bcd60e51b8152600401808060200182810382526036815260200180611ece6036913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052610f02908490611954565b6060611b278484600085611b31565b90505b9392505050565b606082471015611b725760405162461bcd60e51b8152600401808060200182810382526026815260200180611d9a6026913960400191505060405180910390fd5b611b7b85611c8d565b611bcc576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b60208310611c0b5780518252601f199092019160209182019101611bec565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114611c6d576040519150601f19603f3d011682016040523d82523d6000602084013e611c72565b606091505b5091509150611c82828286611c93565b979650505050505050565b3b151590565b60608315611ca2575081611b2a565b825115611cb25782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611cfc578181015183820152602001611ce4565b50505050905090810190601f168015611d295780820380516001836020036101000a031916815260200191505b509250505060405180910390fdfe5f5f72656d6f7665436f6c6c61746572616c4173736574733a204173736574206973206e6f7420636f6c6c61746572616c5f5f7265706179426f72726f77656441737365743a204572726f72207768696c65207265706179696e6720626f72726f77416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c5f5f626f72726f774173736574733a2050726f626c656d207768696c6520626f72726f77696e672066726f6d20436f6d706f756e647265636569766543616c6c46726f6d5661756c743a20496e76616c696420616374696f6e49645f5f616464436f6c6c61746572616c4173736574733a204572726f72207768696c652063616c6c696e6720656e7465724d61726b657473206f6e20436f6d706f756e645f5f626f72726f774173736574733a2043616e206f6e6c7920626f72726f772066726f6d206f6e652063546f6b656e20666f72206120676976656e20756e6465726c79696e675361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e6365a164736f6c634300060c000a", - "sourceMap": "1001:9644:99:-:0;;;1337:235;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1337:235:99;;;;;;;;;;;-1:-1:-1;;;;;;1337:235:99;1461:43;;;;;;;1514:23;;;;;;;1547:18;;;;;1001:9644;;;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106100935760003560e01c806380daddb81161006657806380daddb8146101a45780639e209ad114610245578063d889378e1461024d578063e5c23a9714610273578063ecd658b41461031757610093565b80634c252f91146100985780634ddf47d4146100bc5780634eeb4a161461016257806370a58ec61461019c575b600080fd5b6100a061031f565b604080516001600160a01b039092168252519081900360200190f35b610160600480360360208110156100d257600080fd5b810190602081018135600160201b8111156100ec57600080fd5b8201836020820111156100fe57600080fd5b803590602001918460018302840111600160201b8311171561011f57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610343945050505050565b005b6101886004803603602081101561017857600080fd5b50356001600160a01b0316610346565b604080519115158252519081900360200190f35b6100a0610364565b6101ac610388565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156101f05781810151838201526020016101d8565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561022f578181015183820152602001610217565b5050505090500194505050505060405180910390f35b6100a06104ee565b6100a06004803603602081101561026357600080fd5b50356001600160a01b0316610512565b6101606004803603602081101561028957600080fd5b810190602081018135600160201b8111156102a357600080fd5b8201836020820111156102b557600080fd5b803590602001918460018302840111600160201b831117156102d657600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610530945050505050565b6101ac610889565b7f000000000000000000000000000000000000000000000000000000000000000090565b50565b6001600160a01b031660009081526002602052604090205460ff1690565b7f000000000000000000000000000000000000000000000000000000000000000090565b60608060018054806020026020016040519081016040528092919081815260200182805480156103e157602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116103c3575b50506001549395505067ffffffffffffffff8311915050801561040357600080fd5b5060405190808252806020026020018201604052801561042d578160200160208202803683370190505b50905060005b82518110156104e95782818151811061044857fe5b60200260200101516001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561049c57600080fd5b505afa1580156104b0573d6000803e3d6000fd5b505050506040513d60208110156104c657600080fd5b505182518390839081106104d657fe5b6020908102919091010152600101610433565b509091565b7f000000000000000000000000000000000000000000000000000000000000000090565b6001600160a01b039081166000908152600360205260409020541690565b6000606082806020019051604081101561054957600080fd5b815160208301805160405192949293830192919084600160201b82111561056f57600080fd5b90830190602082018581111561058457600080fd5b8251600160201b81118282018810171561059d57600080fd5b82525081516020918201929091019080838360005b838110156105ca5781810151838201526020016105b2565b50505050905090810190601f1680156105f75780820380516001836020036101000a031916815260200191505b5060405250505091509150606080606083806020019051606081101561061c57600080fd5b8101908080516040519392919084600160201b82111561063b57600080fd5b90830190602082018581111561065057600080fd5b82518660208202830111600160201b8211171561066c57600080fd5b82525081516020918201928201910280838360005b83811015610699578181015183820152602001610681565b5050505090500160405260200180516040519392919084600160201b8211156106c157600080fd5b9083019060208201858111156106d657600080fd5b82518660208202830111600160201b821117156106f257600080fd5b82525081516020918201928201910280838360005b8381101561071f578181015183820152602001610707565b5050505090500160405260200180516040519392919084600160201b82111561074757600080fd5b90830190602082018581111561075c57600080fd5b8251600160201b81118282018810171561077557600080fd5b82525081516020918201929091019080838360005b838110156107a257818101518382015260200161078a565b50505050905090810190601f1680156107cf5780820380516001836020036101000a031916815260200191505b50604052505050925092509250600060048111156107e957fe5b8514156107ff576107fa83836109f5565b610881565b6001851415610812576107fa8383610cd9565b6002851415610826576107fa838383610f07565b6003851415610839576107fa838361130a565b600485141561084a576107fa611561565b60405162461bcd60e51b8152600401808060200182810382526026815260200180611df56026913960400191505060405180910390fd5b505050505050565b60608060008054806020026020016040519081016040528092919081815260200182805480156108e257602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116108c4575b50505050509150815167ffffffffffffffff8111801561090157600080fd5b5060405190808252806020026020018201604052801561092b578160200160208202803683370190505b50905060005b82518110156104e957600061095884838151811061094b57fe5b6020026020010151610512565b9050806001600160a01b03166395dd9193306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156109a757600080fd5b505afa1580156109bb573d6000803e3d6000fd5b505050506040513d60208110156109d157600080fd5b505183518490849081106109e157fe5b602090810291909101015250600101610931565b60606109ff6104ee565b6001600160a01b031663c2998238846040518263ffffffff1660e01b81526004018080602001828103825283818151815260200191508051906020019060200280838360005b83811015610a5d578181015183820152602001610a45565b5050505090500192505050600060405180830381600087803b158015610a8257600080fd5b505af1158015610a96573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526020811015610abf57600080fd5b8101908080516040519392919084600160201b821115610ade57600080fd5b908301906020820185811115610af357600080fd5b82518660208202830111600160201b82111715610b0f57600080fd5b82525081516020918201928201910280838360005b83811015610b3c578181015183820152602001610b24565b50505050905001604052505050905060005b8351811015610cd357818181518110610b6357fe5b6020026020010151600014610ba95760405162461bcd60e51b8152600401808060200182810382526043815260200180611e1b6043913960600191505060405180910390fd5b610bc5848281518110610bb857fe5b6020026020010151610346565b610c6457600160026000868481518110610bdb57fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055506001848281518110610c2857fe5b60209081029190910181015182546001810184556000938452919092200180546001600160a01b0319166001600160a01b039092169190911790555b838181518110610c7057fe5b60200260200101516001600160a01b03167fde38363fe42a9cae1654e31132bb3736927f007235cf41265805b96de98cf59f848381518110610cae57fe5b60200260200101516040518082815260200191505060405180910390a2600101610b4e565b50505050565b60005b8251811015610f0257610cf4838281518110610bb857fe5b610d2f5760405162461bcd60e51b8152600401808060200182810382526031815260200180611d386031913960400191505060405180910390fd5b818181518110610d3b57fe5b6020026020010151838281518110610d4f57fe5b60200260200101516001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610da357600080fd5b505afa158015610db7573d6000803e3d6000fd5b505050506040513d6020811015610dcd57600080fd5b50511415610e4f57600060026000858481518110610de757fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff021916908315150217905550610e4d838281518110610e3557fe5b6020026020010151600161166990919063ffffffff16565b505b610e9333838381518110610e5f57fe5b6020026020010151858481518110610e7357fe5b60200260200101516001600160a01b03166117619092919063ffffffff16565b828181518110610e9f57fe5b60200260200101516001600160a01b03167ffb7cd2a565112408eb382485bb381cf1fc961858030a24b6d20de0a749c2f78a838381518110610edd57fe5b60200260200101516040518082815260200191505060405180910390a2600101610cdc565b505050565b6060818060200190516020811015610f1e57600080fd5b8101908080516040519392919084600160201b821115610f3d57600080fd5b908301906020820185811115610f5257600080fd5b82518660208202830111600160201b82111715610f6e57600080fd5b82525081516020918201928201910280838360005b83811015610f9b578181015183820152602001610f83565b50505050905001604052505050905060005b8451811015611303576000610fc786838151811061094b57fe5b90506001600160a01b03811661109557828281518110610fe357fe5b602002602001015160036000888581518110610ffb57fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b03160217905550600086838151811061105557fe5b60209081029190910181015182546001810184556000938452919092200180546001600160a01b0319166001600160a01b039092169190911790556110f8565b8282815181106110a157fe5b60200260200101516001600160a01b0316816001600160a01b0316146110f85760405162461bcd60e51b8152600401808060200182810382526046815260200180611e5e6046913960600191505060405180910390fd5b82828151811061110457fe5b60200260200101516001600160a01b031663c5ebeaec86848151811061112657fe5b60200260200101516040518263ffffffff1660e01b815260040180828152602001915050602060405180830381600087803b15801561116457600080fd5b505af1158015611178573d6000803e3d6000fd5b505050506040513d602081101561118e57600080fd5b5051156111cc5760405162461bcd60e51b8152600401808060200182810382526035815260200180611dc06035913960400191505060405180910390fd5b6111d461031f565b6001600160a01b03168683815181106111e957fe5b60200260200101516001600160a01b0316141561126f5761120861031f565b6001600160a01b031663d0e30db086848151811061122257fe5b60200260200101516040518263ffffffff1660e01b81526004016000604051808303818588803b15801561125557600080fd5b505af1158015611269573d6000803e3d6000fd5b50505050505b6112933386848151811061127f57fe5b6020026020010151888581518110610e7357fe5b85828151811061129f57fe5b60200260200101516001600160a01b03167f03c44a7ddb65ca5f1bbeffda35ba96457c370e957138d14005ff3e55551ab50f8684815181106112dd57fe5b60200260200101516040518082815260200191505060405180910390a250600101610fad565b5050505050565b60005b8251811015610f0257600061132784838151811061094b57fe5b905060001983838151811061133857fe5b602002602001015114156113d357604080516395dd919360e01b815230600482015290516001600160a01b038316916395dd9193916024808301926020929190829003018186803b15801561138c57600080fd5b505afa1580156113a0573d6000803e3d6000fd5b505050506040513d60208110156113b657600080fd5b505183518490849081106113c657fe5b6020026020010181815250505b611404818584815181106113e357fe5b60200260200101518585815181106113f757fe5b60200260200101516117b3565b604080516395dd919360e01b815230600482015290516001600160a01b038316916395dd9193916024808301926020929190829003018186803b15801561144a57600080fd5b505afa15801561145e573d6000803e3d6000fd5b505050506040513d602081101561147457600080fd5b50516114f1576003600085848151811061148a57fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154906001600160a01b0302191690556114ef8483815181106114d757fe5b6020026020010151600061166990919063ffffffff16565b505b8382815181106114fd57fe5b60200260200101516001600160a01b03167fb3ef5936c6a45fc10d27f174d569533c42819c98975f3da26d592c63e94415fe84848151811061153b57fe5b60200260200101516040518082815260200191505060405180910390a25060010161130d565b6115696104ee565b6001600160a01b031663e9af0292306040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050600060405180830381600087803b1580156115b757600080fd5b505af11580156115cb573d6000803e3d6000fd5b5050505060006115d9610364565b905061034333826001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561162c57600080fd5b505afa158015611640573d6000803e3d6000fd5b505050506040513d602081101561165657600080fd5b50516001600160a01b0384169190611761565b8154600090815b8181101561175957836001600160a01b031685828154811061168e57fe5b6000918252602090912001546001600160a01b03161415611751576001820381101561171c578460018303815481106116c357fe5b9060005260206000200160009054906101000a90046001600160a01b03168582815481106116ed57fe5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055505b8480548061172657fe5b600082815260209020810160001990810180546001600160a01b031916905501905560019250611759565b600101611670565b505092915050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610f02908490611954565b6117bb61031f565b6001600160a01b0316826001600160a01b03161415611892576117dc61031f565b6001600160a01b0316632e1a7d4d826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561182157600080fd5b505af1158015611835573d6000803e3d6000fd5b50505050826001600160a01b0316634e4d9fea826040518263ffffffff1660e01b81526004016000604051808303818588803b15801561187457600080fd5b505af1158015611888573d6000803e3d6000fd5b5050505050610f02565b6118a66001600160a01b0383168483611a05565b826001600160a01b0316630e752702826040518263ffffffff1660e01b815260040180828152602001915050602060405180830381600087803b1580156118ec57600080fd5b505af1158015611900573d6000803e3d6000fd5b505050506040513d602081101561191657600080fd5b505115610f025760405162461bcd60e51b8152600401808060200182810382526031815260200180611d696031913960400191505060405180910390fd5b60606119a9826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316611b189092919063ffffffff16565b805190915015610f02578080602001905160208110156119c857600080fd5b5051610f025760405162461bcd60e51b815260040180806020018281038252602a815260200180611ea4602a913960400191505060405180910390fd5b801580611a8b575060408051636eb1769f60e11b81523060048201526001600160a01b03848116602483015291519185169163dd62ed3e91604480820192602092909190829003018186803b158015611a5d57600080fd5b505afa158015611a71573d6000803e3d6000fd5b505050506040513d6020811015611a8757600080fd5b5051155b611ac65760405162461bcd60e51b8152600401808060200182810382526036815260200180611ece6036913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052610f02908490611954565b6060611b278484600085611b31565b90505b9392505050565b606082471015611b725760405162461bcd60e51b8152600401808060200182810382526026815260200180611d9a6026913960400191505060405180910390fd5b611b7b85611c8d565b611bcc576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b60208310611c0b5780518252601f199092019160209182019101611bec565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114611c6d576040519150601f19603f3d011682016040523d82523d6000602084013e611c72565b606091505b5091509150611c82828286611c93565b979650505050505050565b3b151590565b60608315611ca2575081611b2a565b825115611cb25782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611cfc578181015183820152602001611ce4565b50505050905090810190601f168015611d295780820380516001836020036101000a031916815260200191505b509250505060405180910390fdfe5f5f72656d6f7665436f6c6c61746572616c4173736574733a204173736574206973206e6f7420636f6c6c61746572616c5f5f7265706179426f72726f77656441737365743a204572726f72207768696c65207265706179696e6720626f72726f77416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c5f5f626f72726f774173736574733a2050726f626c656d207768696c6520626f72726f77696e672066726f6d20436f6d706f756e647265636569766543616c6c46726f6d5661756c743a20496e76616c696420616374696f6e49645f5f616464436f6c6c61746572616c4173736574733a204572726f72207768696c652063616c6c696e6720656e7465724d61726b657473206f6e20436f6d706f756e645f5f626f72726f774173736574733a2043616e206f6e6c7920626f72726f772066726f6d206f6e652063546f6b656e20666f72206120676976656e20756e6465726c79696e675361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e6365a164736f6c634300060c000a", - "sourceMap": "1001:9644:99:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10544:99;;;:::i;:::-;;;;-1:-1:-1;;;;;10544:99:99;;;;;;;;;;;;;;1681:48;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1681:48:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1681:48:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1681:48:99;;-1:-1:-1;1681:48:99;;-1:-1:-1;;;;;1681:48:99:i;:::-;;9442:134;;;;;;;;;;;;;;;;-1:-1:-1;9442:134:99;-1:-1:-1;;;;;9442:134:99;;:::i;:::-;;;;;;;;;;;;;;;;;;9959:99;;;:::i;8845:407::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9718:129;;;:::i;10228:204::-;;;;;;;;;;;;;;;;-1:-1:-1;10228:204:99;-1:-1:-1;;;;;10228:204:99;;:::i;1857:1064::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1857:1064:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1857:1064:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1857:1064:99;;-1:-1:-1;1857:1064:99;;-1:-1:-1;;;;;1857:1064:99:i;8126:470::-;;;:::i;10544:99::-;10626:10;10544:99;:::o;1681:48::-;;:::o;9442:134::-;-1:-1:-1;;;;;9542:27:99;9506:17;9542:27;;;:19;:27;;;;;;;;;9442:134::o;9959:99::-;10041:10;9959:99;:::o;8845:407::-;8924:24;8950:25;9001:16;8991:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8991:26:99;;;;;;;;;;;;;;;;-1:-1:-1;;9052:16:99;:23;8991:26;;-1:-1:-1;;9038:38:99;;;;-1:-1:-1;;9038:38:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9038:38:99;;9027:49;;9092:9;9087:122;9107:7;:14;9103:1;:18;9087:122;;;9162:7;9170:1;9162:10;;;;;;;;;;;;;;-1:-1:-1;;;;;9156:27:99;;9192:4;9156:42;;;;;;;;;;;;;-1:-1:-1;;;;;9156:42:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9156:42:99;9142:11;;:8;;9151:1;;9142:11;;;;;;;;;;;;;;;:56;9123:3;;9087:122;;;;8845:407;;:::o;9718:129::-;9820:20;9718:129;:::o;10228:204::-;-1:-1:-1;;;;;10388:37:99;;;10350:15;10388:37;;;:21;:37;;;;;;;;10228:204::o;1857:1064::-;1942:16;1960:23;1998:11;1987:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1987:41:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1987:41:99;;;;;;-1:-1:-1;1987:41:99;;;;;;;;;;-1:-1:-1;1987:41:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1941:87;;;;2040:23;2065:24;2091:17;2136:10;2112:87;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2112:87:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2112:87:99;;;;;;;;;;;;-1:-1:-1;2112:87:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2112:87:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2112:87:99;;;;;;;;;;;;-1:-1:-1;2112:87:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2112:87:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2112:87:99;;;;;;-1:-1:-1;2112:87:99;;;;;;;;;;-1:-1:-1;2112:87:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2039:160;;;;;;2234:37;2226:46;;;;;;;;2214:8;:58;2210:705;;;2288:38;2310:6;2318:7;2288:21;:38::i;:::-;2210:705;;;2367:40;2347:8;:61;2343:572;;;2424:41;2449:6;2457:7;2424:24;:41::i;2343:572::-;2506:30;2486:8;:51;2482:433;;;2553:37;2568:6;2576:7;2585:4;2553:14;:37::i;2482:433::-;2631:35;2611:8;:56;2607:308;;;2683:38;2705:6;2713:7;2683:21;:38::i;2607:308::-;2762:33;2742:8;:54;2738:177;;;2812:13;:11;:13::i;2738:177::-;2856:48;;-1:-1:-1;;;2856:48:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2738:177;1857:1064;;;;;;:::o;8126:470::-;8202:24;8228:25;8279:14;8269:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8269:24:99;;;;;;;;;;;;;;;;;;;;;;;8328:7;:14;8314:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8314:29:99;;8303:40;;8359:9;8354:199;8374:7;:14;8370:1;:18;8354:199;;;8409:14;8426:38;8453:7;8461:1;8453:10;;;;;;;;;;;;;;8426:26;:38::i;:::-;8409:55;;8500:6;-1:-1:-1;;;;;8492:35:99;;8536:4;8492:50;;;;;;;;;;;;;-1:-1:-1;;;;;8492:50:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8492:50:99;8478:11;;:8;;8487:1;;8478:11;;;;;;;;;;;;;;;:64;-1:-1:-1;8390:3:99;;8354:199;;2966:699;3068:38;3130:24;:22;:24::i;:::-;-1:-1:-1;;;;;3109:72:99;;3182:7;3109:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3109:81:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3109:81:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3109:81:99;;;;;;;;;;;;-1:-1:-1;3109:81:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3068:122;;3206:9;3201:458;3221:7;:14;3217:1;:18;3201:458;;;3281:21;3303:1;3281:24;;;;;;;;;;;;;;3309:1;3281:29;3256:155;;;;-1:-1:-1;;;3256:155:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3431:29;3449:7;3457:1;3449:10;;;;;;;;;;;;;;3431:17;:29::i;:::-;3426:158;;3514:4;3480:19;:31;3500:7;3508:1;3500:10;;;;;;;;;;;;;;-1:-1:-1;;;;;3480:31:99;-1:-1:-1;;;;;3480:31:99;;;;;;;;;;;;;:38;;;;;;;;;;;;;;;;;;3536:16;3558:7;3566:1;3558:10;;;;;;;;;;;;;;;;;;;3536:33;;;;;;;-1:-1:-1;3536:33:99;;;;;;;;;;-1:-1:-1;;;;;;3536:33:99;-1:-1:-1;;;;;3536:33:99;;;;;;;;;3426:158;3624:7;3632:1;3624:10;;;;;;;;;;;;;;-1:-1:-1;;;;;3603:45:99;;3636:8;3645:1;3636:11;;;;;;;;;;;;;;3603:45;;;;;;;;;;;;;;;;;;3237:3;;3201:458;;;;2966:699;;;:::o;5351:784::-;5473:9;5468:661;5488:7;:14;5484:1;:18;5468:661;;;5548:29;5566:7;5574:1;5566:10;;;;;;;5548:29;5523:137;;;;-1:-1:-1;;;5523:137:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5725:8;5734:1;5725:11;;;;;;;;;;;;;;5685:7;5693:1;5685:10;;;;;;;;;;;;;;-1:-1:-1;;;;;5679:27:99;;5715:4;5679:42;;;;;;;;;;;;;-1:-1:-1;;;;;5679:42:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5679:42:99;:57;5675:307;;;5897:5;5863:19;:31;5883:7;5891:1;5883:10;;;;;;;;;;;;;;-1:-1:-1;;;;;5863:31:99;-1:-1:-1;;;;;5863:31:99;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;5921:46;5956:7;5964:1;5956:10;;;;;;;;;;;;;;5921:16;:34;;:46;;;;:::i;:::-;;5675:307;5996:55;6027:10;6039:8;6048:1;6039:11;;;;;;;;;;;;;;6002:7;6010:1;6002:10;;;;;;;;;;;;;;-1:-1:-1;;;;;5996:30:99;;;:55;;;;;:::i;:::-;6094:7;6102:1;6094:10;;;;;;;;;;;;;;-1:-1:-1;;;;;6071:47:99;;6106:8;6115:1;6106:11;;;;;;;;;;;;;;6071:47;;;;;;;;;;;;;;;;;;5504:3;;5468:661;;;;5351:784;;:::o;3730:1257::-;3875:24;3913:5;3902:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3902:30:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3902:30:99;;;;;;;;;;;;-1:-1:-1;3902:30:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3875:57;;3948:9;3943:1038;3963:7;:14;3959:1;:18;3943:1038;;;4090:20;4113:38;4140:7;4148:1;4140:10;;;;;;;4113:38;4090:61;-1:-1:-1;;;;;;4169:26:99;;4165:366;;4251:7;4259:1;4251:10;;;;;;;;;;;;;;4215:21;:33;4237:7;4245:1;4237:10;;;;;;;;;;;;;;-1:-1:-1;;;;;4215:33:99;-1:-1:-1;;;;;4215:33:99;;;;;;;;;;;;;:46;;;;;-1:-1:-1;;;;;4215:46:99;;;;;-1:-1:-1;;;;;4215:46:99;;;;;;4279:14;4299:7;4307:1;4299:10;;;;;;;;;;;;;;;;;;;4279:31;;;;;;;-1:-1:-1;4279:31:99;;;;;;;;;;-1:-1:-1;;;;;;4279:31:99;-1:-1:-1;;;;;4279:31:99;;;;;;;;;4165:366;;;4394:7;4402:1;4394:10;;;;;;;;;;;;;;-1:-1:-1;;;;;4378:26:99;:12;-1:-1:-1;;;;;4378:26:99;;4349:167;;;;-1:-1:-1;;;4349:167:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4578:7;4586:1;4578:10;;;;;;;;;;;;;;-1:-1:-1;;;;;4570:26:99;;4597:8;4606:1;4597:11;;;;;;;;;;;;;;4570:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4570:39:99;:44;4545:156;;;;-1:-1:-1;;;4545:156:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4734:14;:12;:14::i;:::-;-1:-1:-1;;;;;4720:28:99;:7;4728:1;4720:10;;;;;;;;;;;;;;-1:-1:-1;;;;;4720:28:99;;4716:127;;;4782:14;:12;:14::i;:::-;-1:-1:-1;;;;;4768:38:99;;4814:8;4823:1;4814:11;;;;;;;;;;;;;;4768:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4716:127;4857:55;4888:10;4900:8;4909:1;4900:11;;;;;;;;;;;;;;4863:7;4871:1;4863:10;;;;;;;4857:55;4946:7;4954:1;4946:10;;;;;;;;;;;;;;-1:-1:-1;;;;;4932:38:99;;4958:8;4967:1;4958:11;;;;;;;;;;;;;;4932:38;;;;;;;;;;;;;;;;;;-1:-1:-1;3979:3:99;;3943:1038;;;;3730:1257;;;;:::o;6209:1000::-;6316:9;6311:892;6331:7;:14;6327:1;:18;6311:892;;;6366:14;6383:38;6410:7;6418:1;6410:10;;;;;;;6383:38;6366:55;;-1:-1:-1;;6479:8:99;6488:1;6479:11;;;;;;;;;;;;;;:32;6475:135;;;6545:50;;;-1:-1:-1;;;6545:50:99;;6589:4;6545:50;;;;;;-1:-1:-1;;;;;6545:35:99;;;;;:50;;;;;;;;;;;;;;:35;:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6545:50:99;6531:11;;:8;;6540:1;;6531:11;;;;;;;;;;;:64;;;;;6475:135;6624:53;6645:6;6653:7;6661:1;6653:10;;;;;;;;;;;;;;6665:8;6674:1;6665:11;;;;;;;;;;;;;;6624:20;:53::i;:::-;6796:50;;;-1:-1:-1;;;6796:50:99;;6840:4;6796:50;;;;;;-1:-1:-1;;;;;6796:35:99;;;;;:50;;;;;;;;;;;;;;:35;:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6796:50:99;6792:196;;6878:21;:33;6900:7;6908:1;6900:10;;;;;;;;;;;;;;-1:-1:-1;;;;;6878:33:99;-1:-1:-1;;;;;6878:33:99;;;;;;;;;;;;;6871:40;;;;;-1:-1:-1;;;;;6871:40:99;;;;;6929:44;6962:7;6970:1;6962:10;;;;;;;;;;;;;;6929:14;:32;;:44;;;;:::i;:::-;;6792:196;7168:7;7176:1;7168:10;;;;;;;;;;;;;;-1:-1:-1;;;;;7148:44:99;;7180:8;7189:1;7180:11;;;;;;;;;;;;;;7148:44;;;;;;;;;;;;;;;;;;-1:-1:-1;6347:3:99;;6311:892;;5051:250;5113:24;:22;:24::i;:::-;-1:-1:-1;;;;;5092:56:99;;5157:4;5092:71;;;;;;;;;;;;;-1:-1:-1;;;;;5092:71:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5174:15;5198:14;:12;:14::i;:::-;5174:39;;5224:70;5247:10;5259:9;-1:-1:-1;;;;;5259:19:99;;5287:4;5259:34;;;;;;;;;;;;;-1:-1:-1;;;;;5259:34:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5259:34:99;-1:-1:-1;;;;;5224:22:99;;;:70;:22;:70::i;569:515:354:-;727:12;;678:13;;;749:303;769:9;765:1;:13;749:303;;;815:13;-1:-1:-1;;;;;803:25:354;:5;809:1;803:8;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;803:8:354;:25;799:243;;;868:1;856:9;:13;852:1;:17;848:95;;;904:5;922:1;910:9;:13;904:20;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;904:20:354;893:5;899:1;893:8;;;;;;;;;;;;;;;;:31;;;;;-1:-1:-1;;;;;893:31:354;;;;;-1:-1:-1;;;;;893:31:354;;;;;;848:95;960:5;:11;;;;;;;;;;;;;;;;-1:-1:-1;;960:11:354;;;;;-1:-1:-1;;;;;;960:11:354;;;;;;;;-1:-1:-1;1022:5:354;;799:243;780:3;;749:303;;;;1062:15;569:515;;;;:::o;704:175:450:-;813:58;;;-1:-1:-1;;;;;813:58:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;813:58:450;-1:-1:-1;;;813:58:450;;;786:86;;806:5;;786:19;:86::i;7287:536:99:-;7429:14;:12;:14::i;:::-;-1:-1:-1;;;;;7419:24:99;:6;-1:-1:-1;;;;;7419:24:99;;7415:402;;;7473:14;:12;:14::i;:::-;-1:-1:-1;;;;;7459:39:99;;7499:7;7459:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7529:7;-1:-1:-1;;;;;7521:28:99;;7557:7;7521:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7415:402;;;7598:43;-1:-1:-1;;;;;7598:25:99;;7624:7;7633;7598:25;:43::i;:::-;7689:7;-1:-1:-1;;;;;7681:28:99;;7710:7;7681:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7681:37:99;:42;7656:150;;;;-1:-1:-1;;;7656:150:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2967:751:450;3386:23;3412:69;3440:4;3412:69;;;;;;;;;;;;;;;;;3420:5;-1:-1:-1;;;;;3412:27:450;;;:69;;;;;:::i;:::-;3495:17;;3386:95;;-1:-1:-1;3495:21:450;3491:221;;3635:10;3624:30;;;;;;;;;;;;;;;-1:-1:-1;3624:30:450;3616:85;;;;-1:-1:-1;;;3616:85:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1348:613;1713:10;;;1712:62;;-1:-1:-1;1729:39:450;;;-1:-1:-1;;;1729:39:450;;1753:4;1729:39;;;;-1:-1:-1;;;;;1729:39:450;;;;;;;;;:15;;;;;;:39;;;;;;;;;;;;;;;:15;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1729:39:450;:44;1712:62;1704:150;;;;-1:-1:-1;;;1704:150:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1891:62;;;-1:-1:-1;;;;;1891:62:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1891:62:450;-1:-1:-1;;;1891:62:450;;;1864:90;;1884:5;;1864:19;:90::i;3581:193:451:-;3684:12;3715:52;3737:6;3745:4;3751:1;3754:12;3715:21;:52::i;:::-;3708:59;;3581:193;;;;;;:::o;4608:523::-;4735:12;4792:5;4767:21;:30;;4759:81;;;;-1:-1:-1;;;4759:81:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4858:18;4869:6;4858:10;:18::i;:::-;4850:60;;;;;-1:-1:-1;;;4850:60:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;4981:12;4995:23;5022:6;-1:-1:-1;;;;;5022:11:451;5042:5;5050:4;5022:33;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5022:33:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4980:75;;;;5072:52;5090:7;5099:10;5111:12;5072:17;:52::i;:::-;5065:59;4608:523;-1:-1:-1;;;;;;;4608:523:451:o;726:413::-;1086:20;1124:8;;;726:413::o;7091:725::-;7206:12;7234:7;7230:580;;;-1:-1:-1;7264:10:451;7257:17;;7230:580;7375:17;;:21;7371:429;;7633:10;7627:17;7693:15;7680:10;7676:2;7672:19;7665:44;7582:145;7772:12;7765:20;;-1:-1:-1;;;7765:20:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;", - "linkReferences": {}, - "immutableReferences": { - "23495": [ - { - "start": 870, - "length": 32 - } - ], - "23497": [ - { - "start": 1264, - "length": 32 - } - ], - "23499": [ - { - "start": 801, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "assetIsCollateral(address)": "4eeb4a16", - "getCTokenFromBorrowedAsset(address)": "d889378e", - "getCompToken()": "70a58ec6", - "getCompoundComptroller()": "9e209ad1", - "getDebtAssets()": "ecd658b4", - "getManagedAssets()": "80daddb8", - "getWethToken()": "4c252f91", - "init(bytes)": "4ddf47d4", - "receiveCallFromVault(bytes)": "e5c23a97" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_compoundComptroller\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_compToken\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_weth\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"asset\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"AssetBorrowed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"asset\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"BorrowedAssetRepaid\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"asset\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"CollateralAssetAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"asset\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"CollateralAssetRemoved\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"}],\"name\":\"assetIsCollateral\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isCollateral\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_borrowedAsset\",\"type\":\"address\"}],\"name\":\"getCTokenFromBorrowedAsset\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"cToken_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCompToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"compToken_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCompoundComptroller\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"compoundComptroller_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDebtAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"assets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getManagedAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"assets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getWethToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"wethToken_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"}],\"name\":\"receiveCallFromVault\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"assetIsCollateral(address)\":{\"returns\":{\"isCollateral\":\"True if the asset is part of the collateral assets of the external position\"}},\"getCTokenFromBorrowedAsset(address)\":{\"params\":{\"_borrowedAsset\":\"The token for which to get the cToken\"},\"returns\":{\"cToken_\":\"The cToken\"}},\"getCompToken()\":{\"returns\":{\"compToken_\":\"The `COMP_TOKEN` variable value\"}},\"getCompoundComptroller()\":{\"returns\":{\"compoundComptroller_\":\"The `COMPOUND_COMPTROLLER` variable value\"}},\"getDebtAssets()\":{\"returns\":{\"amounts_\":\"Amount of assets in external\",\"assets_\":\"Assets with an active loan\"}},\"getManagedAssets()\":{\"returns\":{\"amounts_\":\"Amount of assets being used as collateral\",\"assets_\":\"Assets with balance > 0 that are being used as collateral\"}},\"getWethToken()\":{\"returns\":{\"wethToken_\":\"The `WETH_TOKEN` variable value\"}},\"init(bytes)\":{\"details\":\"Nothing to initialize for this contract\"},\"receiveCallFromVault(bytes)\":{\"params\":{\"_actionData\":\"Encoded data to execute the action\"}}},\"title\":\"CompoundDebtPositionLib Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"assetIsCollateral(address)\":{\"notice\":\"Checks whether an asset is collateral\"},\"getCTokenFromBorrowedAsset(address)\":{\"notice\":\"Returns the cToken of a given borrowed asset\"},\"getCompToken()\":{\"notice\":\"Gets the `COMP_TOKEN` variable\"},\"getCompoundComptroller()\":{\"notice\":\"Gets the `COMPOUND_COMPTROLLER` variable\"},\"getDebtAssets()\":{\"notice\":\"Retrieves the borrowed assets and balances of the current external position\"},\"getManagedAssets()\":{\"notice\":\"Retrieves the collateral assets and balances of the current external position\"},\"getWethToken()\":{\"notice\":\"Gets the `WETH_TOKEN` variable\"},\"init(bytes)\":{\"notice\":\"Initializes the external position\"},\"receiveCallFromVault(bytes)\":{\"notice\":\"Receives and executes a call from the Vault\"}},\"notice\":\"An External Position library contract for Compound debt positions\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/compound-debt/CompoundDebtPositionLib.sol\":\"CompoundDebtPositionLib\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/persistent/external-positions/compound-debt/CompoundDebtPositionLibBase1.sol\":{\"keccak256\":\"0x8d9ec130a797916674485208e7f7df50a00d283cd68735c264f1785a27fa9436\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://0166814cb67aaefaf342cee12abe31434391dadc1efa404ee2654137f3009400\",\"dweb:/ipfs/QmUg7nJcK5fNHjB2zLR3veiof2EtygE81978jHtwtR2d4D\"]},\"contracts/release/extensions/external-position-manager/external-positions/compound-debt/CompoundDebtPositionLib.sol\":{\"keccak256\":\"0x3aafd1fedc1446bf5cc97f5903ad03c7f783e5ff5a6cca0766fa245043d034ec\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://857cb6530f828d6915ee63b07b7ebb90da28513cc8e140618d608d234af28ed2\",\"dweb:/ipfs/QmZ5ufzu7PdBLTqxRNW6gkhfd1pnXdkGEXpSdKXNGzprKq\"]},\"contracts/release/extensions/external-position-manager/external-positions/compound-debt/ICompoundDebtPosition.sol\":{\"keccak256\":\"0x4d34a19fee1f68caae8acd663ab2bb606d579816ffe720bf846b9f50369b6de1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f420596f7f96a285ae54cb19a778030d723905ce8f0ed28b3108dd79db7ca35d\",\"dweb:/ipfs/Qmdd1ch2mr25FX32DnxC3rS5YtPTCbfBfmqxCoADBrnEE5\"]},\"contracts/release/interfaces/ICERC20.sol\":{\"keccak256\":\"0x9a32a6ca307ac613bde26844d33e1732ae348bceffc93d63e3691f2ff22c6e0b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9c7aff5bf1c249fab27262fb1dc934325e259e5fd6857fbad70c8684f8ee4247\",\"dweb:/ipfs/QmTAneTyW2oCTZGVMVEAp77qMW9U9NymoK8k3RcwpNRh5W\"]},\"contracts/release/interfaces/ICEther.sol\":{\"keccak256\":\"0x7baa90be9075da954ed5630133b94d13ef857a6a66d4333ea83145ccb192c709\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6cf10fa111356f5dc32fe9de42c23ee32a766d7bacb1447e5ca9163702338064\",\"dweb:/ipfs/QmTrC9ngVaTm9bVSUyVpZV7J8gNSKbbvXcv36wdhikoSLo\"]},\"contracts/release/interfaces/ICompoundComptroller.sol\":{\"keccak256\":\"0x74c34b8146c5bff72c571dcce593d5ebec0c803d4716413adc10f3889ad66870\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://66a07e6c6aecccad6df33bc6f3c6b67d53d11c4dc175ed512eff554c9633bf3f\",\"dweb:/ipfs/QmanV5EZm1yycR5sV6LxnKY1wh8p9YGR7uScJf95Y3F7VJ\"]},\"contracts/release/interfaces/IWETH.sol\":{\"keccak256\":\"0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2\",\"dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_compoundComptroller", - "type": "address" - }, - { - "internalType": "address", - "name": "_compToken", - "type": "address" - }, - { - "internalType": "address", - "name": "_weth", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "asset", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "AssetBorrowed", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "asset", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "BorrowedAssetRepaid", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "asset", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "CollateralAssetAdded", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "asset", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "CollateralAssetRemoved", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_asset", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "assetIsCollateral", - "outputs": [ - { - "internalType": "bool", - "name": "isCollateral", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_borrowedAsset", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getCTokenFromBorrowedAsset", - "outputs": [ - { - "internalType": "address", - "name": "cToken_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getCompToken", - "outputs": [ - { - "internalType": "address", - "name": "compToken_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getCompoundComptroller", - "outputs": [ - { - "internalType": "address", - "name": "compoundComptroller_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "getDebtAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "assets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "amounts_", - "type": "uint256[]" - } - ] - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "getManagedAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "assets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "amounts_", - "type": "uint256[]" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getWethToken", - "outputs": [ - { - "internalType": "address", - "name": "wethToken_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "init" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "receiveCallFromVault" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "assetIsCollateral(address)": { - "returns": { - "isCollateral": "True if the asset is part of the collateral assets of the external position" - } - }, - "getCTokenFromBorrowedAsset(address)": { - "params": { - "_borrowedAsset": "The token for which to get the cToken" - }, - "returns": { - "cToken_": "The cToken" - } - }, - "getCompToken()": { - "returns": { - "compToken_": "The `COMP_TOKEN` variable value" - } - }, - "getCompoundComptroller()": { - "returns": { - "compoundComptroller_": "The `COMPOUND_COMPTROLLER` variable value" - } - }, - "getDebtAssets()": { - "returns": { - "amounts_": "Amount of assets in external", - "assets_": "Assets with an active loan" - } - }, - "getManagedAssets()": { - "returns": { - "amounts_": "Amount of assets being used as collateral", - "assets_": "Assets with balance > 0 that are being used as collateral" - } - }, - "getWethToken()": { - "returns": { - "wethToken_": "The `WETH_TOKEN` variable value" - } - }, - "init(bytes)": { - "details": "Nothing to initialize for this contract" - }, - "receiveCallFromVault(bytes)": { - "params": { - "_actionData": "Encoded data to execute the action" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "assetIsCollateral(address)": { - "notice": "Checks whether an asset is collateral" - }, - "getCTokenFromBorrowedAsset(address)": { - "notice": "Returns the cToken of a given borrowed asset" - }, - "getCompToken()": { - "notice": "Gets the `COMP_TOKEN` variable" - }, - "getCompoundComptroller()": { - "notice": "Gets the `COMPOUND_COMPTROLLER` variable" - }, - "getDebtAssets()": { - "notice": "Retrieves the borrowed assets and balances of the current external position" - }, - "getManagedAssets()": { - "notice": "Retrieves the collateral assets and balances of the current external position" - }, - "getWethToken()": { - "notice": "Gets the `WETH_TOKEN` variable" - }, - "init(bytes)": { - "notice": "Initializes the external position" - }, - "receiveCallFromVault(bytes)": { - "notice": "Receives and executes a call from the Vault" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/external-position-manager/external-positions/compound-debt/CompoundDebtPositionLib.sol": "CompoundDebtPositionLib" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/external-positions/IExternalPosition.sol": { - "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", - "urls": [ - "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", - "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/external-positions/compound-debt/CompoundDebtPositionLibBase1.sol": { - "keccak256": "0x8d9ec130a797916674485208e7f7df50a00d283cd68735c264f1785a27fa9436", - "urls": [ - "bzz-raw://0166814cb67aaefaf342cee12abe31434391dadc1efa404ee2654137f3009400", - "dweb:/ipfs/QmUg7nJcK5fNHjB2zLR3veiof2EtygE81978jHtwtR2d4D" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/compound-debt/CompoundDebtPositionLib.sol": { - "keccak256": "0x3aafd1fedc1446bf5cc97f5903ad03c7f783e5ff5a6cca0766fa245043d034ec", - "urls": [ - "bzz-raw://857cb6530f828d6915ee63b07b7ebb90da28513cc8e140618d608d234af28ed2", - "dweb:/ipfs/QmZ5ufzu7PdBLTqxRNW6gkhfd1pnXdkGEXpSdKXNGzprKq" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/compound-debt/ICompoundDebtPosition.sol": { - "keccak256": "0x4d34a19fee1f68caae8acd663ab2bb606d579816ffe720bf846b9f50369b6de1", - "urls": [ - "bzz-raw://f420596f7f96a285ae54cb19a778030d723905ce8f0ed28b3108dd79db7ca35d", - "dweb:/ipfs/Qmdd1ch2mr25FX32DnxC3rS5YtPTCbfBfmqxCoADBrnEE5" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/ICERC20.sol": { - "keccak256": "0x9a32a6ca307ac613bde26844d33e1732ae348bceffc93d63e3691f2ff22c6e0b", - "urls": [ - "bzz-raw://9c7aff5bf1c249fab27262fb1dc934325e259e5fd6857fbad70c8684f8ee4247", - "dweb:/ipfs/QmTAneTyW2oCTZGVMVEAp77qMW9U9NymoK8k3RcwpNRh5W" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/ICEther.sol": { - "keccak256": "0x7baa90be9075da954ed5630133b94d13ef857a6a66d4333ea83145ccb192c709", - "urls": [ - "bzz-raw://6cf10fa111356f5dc32fe9de42c23ee32a766d7bacb1447e5ca9163702338064", - "dweb:/ipfs/QmTrC9ngVaTm9bVSUyVpZV7J8gNSKbbvXcv36wdhikoSLo" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/ICompoundComptroller.sol": { - "keccak256": "0x74c34b8146c5bff72c571dcce593d5ebec0c803d4716413adc10f3889ad66870", - "urls": [ - "bzz-raw://66a07e6c6aecccad6df33bc6f3c6b67d53d11c4dc175ed512eff554c9633bf3f", - "dweb:/ipfs/QmanV5EZm1yycR5sV6LxnKY1wh8p9YGR7uScJf95Y3F7VJ" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IWETH.sol": { - "keccak256": "0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2", - "urls": [ - "bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2", - "dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AddressArrayLib.sol": { - "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", - "urls": [ - "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", - "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { - "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", - "urls": [ - "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", - "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Address.sol": { - "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", - "urls": [ - "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", - "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 99 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_compoundComptroller", "type": "address", "internalType": "address" }, { "name": "_compToken", "type": "address", "internalType": "address" }, { "name": "_weth", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "assetIsCollateral", "inputs": [ { "name": "_asset", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "isCollateral", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "getCTokenFromBorrowedAsset", "inputs": [ { "name": "_borrowedAsset", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "cToken_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getCompToken", "inputs": [], "outputs": [ { "name": "compToken_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getCompoundComptroller", "inputs": [], "outputs": [ { "name": "compoundComptroller_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getDebtAssets", "inputs": [], "outputs": [ { "name": "assets_", "type": "address[]", "internalType": "address[]" }, { "name": "amounts_", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "getManagedAssets", "inputs": [], "outputs": [ { "name": "assets_", "type": "address[]", "internalType": "address[]" }, { "name": "amounts_", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "getWethToken", "inputs": [], "outputs": [ { "name": "wethToken_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "init", "inputs": [ { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "receiveCallFromVault", "inputs": [ { "name": "_actionData", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "event", "name": "AssetBorrowed", "inputs": [ { "name": "asset", "type": "address", "indexed": true, "internalType": "address" }, { "name": "amount", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "BorrowedAssetRepaid", "inputs": [ { "name": "asset", "type": "address", "indexed": true, "internalType": "address" }, { "name": "amount", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "CollateralAssetAdded", "inputs": [ { "name": "asset", "type": "address", "indexed": true, "internalType": "address" }, { "name": "amount", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "CollateralAssetRemoved", "inputs": [ { "name": "asset", "type": "address", "indexed": true, "internalType": "address" }, { "name": "amount", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false } ], "bytecode": { "object": "0x60e060405234801561001057600080fd5b50604051611fa7380380611fa78339818101604052606081101561003357600080fd5b50805160208201516040909201516001600160601b0319606092831b811660a05292821b8316608052901b1660c05260805160601c60a05160601c60c05160601c611f10610097600039806103215250806104f05250806103665250611f106000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c806380daddb81161006657806380daddb8146101a45780639e209ad114610245578063d889378e1461024d578063e5c23a9714610273578063ecd658b41461031757610093565b80634c252f91146100985780634ddf47d4146100bc5780634eeb4a161461016257806370a58ec61461019c575b600080fd5b6100a061031f565b604080516001600160a01b039092168252519081900360200190f35b610160600480360360208110156100d257600080fd5b810190602081018135600160201b8111156100ec57600080fd5b8201836020820111156100fe57600080fd5b803590602001918460018302840111600160201b8311171561011f57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610343945050505050565b005b6101886004803603602081101561017857600080fd5b50356001600160a01b0316610346565b604080519115158252519081900360200190f35b6100a0610364565b6101ac610388565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156101f05781810151838201526020016101d8565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561022f578181015183820152602001610217565b5050505090500194505050505060405180910390f35b6100a06104ee565b6100a06004803603602081101561026357600080fd5b50356001600160a01b0316610512565b6101606004803603602081101561028957600080fd5b810190602081018135600160201b8111156102a357600080fd5b8201836020820111156102b557600080fd5b803590602001918460018302840111600160201b831117156102d657600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610530945050505050565b6101ac610889565b7f000000000000000000000000000000000000000000000000000000000000000090565b50565b6001600160a01b031660009081526002602052604090205460ff1690565b7f000000000000000000000000000000000000000000000000000000000000000090565b60608060018054806020026020016040519081016040528092919081815260200182805480156103e157602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116103c3575b50506001549395505067ffffffffffffffff8311915050801561040357600080fd5b5060405190808252806020026020018201604052801561042d578160200160208202803683370190505b50905060005b82518110156104e95782818151811061044857fe5b60200260200101516001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561049c57600080fd5b505afa1580156104b0573d6000803e3d6000fd5b505050506040513d60208110156104c657600080fd5b505182518390839081106104d657fe5b6020908102919091010152600101610433565b509091565b7f000000000000000000000000000000000000000000000000000000000000000090565b6001600160a01b039081166000908152600360205260409020541690565b6000606082806020019051604081101561054957600080fd5b815160208301805160405192949293830192919084600160201b82111561056f57600080fd5b90830190602082018581111561058457600080fd5b8251600160201b81118282018810171561059d57600080fd5b82525081516020918201929091019080838360005b838110156105ca5781810151838201526020016105b2565b50505050905090810190601f1680156105f75780820380516001836020036101000a031916815260200191505b5060405250505091509150606080606083806020019051606081101561061c57600080fd5b8101908080516040519392919084600160201b82111561063b57600080fd5b90830190602082018581111561065057600080fd5b82518660208202830111600160201b8211171561066c57600080fd5b82525081516020918201928201910280838360005b83811015610699578181015183820152602001610681565b5050505090500160405260200180516040519392919084600160201b8211156106c157600080fd5b9083019060208201858111156106d657600080fd5b82518660208202830111600160201b821117156106f257600080fd5b82525081516020918201928201910280838360005b8381101561071f578181015183820152602001610707565b5050505090500160405260200180516040519392919084600160201b82111561074757600080fd5b90830190602082018581111561075c57600080fd5b8251600160201b81118282018810171561077557600080fd5b82525081516020918201929091019080838360005b838110156107a257818101518382015260200161078a565b50505050905090810190601f1680156107cf5780820380516001836020036101000a031916815260200191505b50604052505050925092509250600060048111156107e957fe5b8514156107ff576107fa83836109f5565b610881565b6001851415610812576107fa8383610cd9565b6002851415610826576107fa838383610f07565b6003851415610839576107fa838361130a565b600485141561084a576107fa611561565b60405162461bcd60e51b8152600401808060200182810382526026815260200180611df56026913960400191505060405180910390fd5b505050505050565b60608060008054806020026020016040519081016040528092919081815260200182805480156108e257602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116108c4575b50505050509150815167ffffffffffffffff8111801561090157600080fd5b5060405190808252806020026020018201604052801561092b578160200160208202803683370190505b50905060005b82518110156104e957600061095884838151811061094b57fe5b6020026020010151610512565b9050806001600160a01b03166395dd9193306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156109a757600080fd5b505afa1580156109bb573d6000803e3d6000fd5b505050506040513d60208110156109d157600080fd5b505183518490849081106109e157fe5b602090810291909101015250600101610931565b60606109ff6104ee565b6001600160a01b031663c2998238846040518263ffffffff1660e01b81526004018080602001828103825283818151815260200191508051906020019060200280838360005b83811015610a5d578181015183820152602001610a45565b5050505090500192505050600060405180830381600087803b158015610a8257600080fd5b505af1158015610a96573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526020811015610abf57600080fd5b8101908080516040519392919084600160201b821115610ade57600080fd5b908301906020820185811115610af357600080fd5b82518660208202830111600160201b82111715610b0f57600080fd5b82525081516020918201928201910280838360005b83811015610b3c578181015183820152602001610b24565b50505050905001604052505050905060005b8351811015610cd357818181518110610b6357fe5b6020026020010151600014610ba95760405162461bcd60e51b8152600401808060200182810382526043815260200180611e1b6043913960600191505060405180910390fd5b610bc5848281518110610bb857fe5b6020026020010151610346565b610c6457600160026000868481518110610bdb57fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055506001848281518110610c2857fe5b60209081029190910181015182546001810184556000938452919092200180546001600160a01b0319166001600160a01b039092169190911790555b838181518110610c7057fe5b60200260200101516001600160a01b03167fde38363fe42a9cae1654e31132bb3736927f007235cf41265805b96de98cf59f848381518110610cae57fe5b60200260200101516040518082815260200191505060405180910390a2600101610b4e565b50505050565b60005b8251811015610f0257610cf4838281518110610bb857fe5b610d2f5760405162461bcd60e51b8152600401808060200182810382526031815260200180611d386031913960400191505060405180910390fd5b818181518110610d3b57fe5b6020026020010151838281518110610d4f57fe5b60200260200101516001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610da357600080fd5b505afa158015610db7573d6000803e3d6000fd5b505050506040513d6020811015610dcd57600080fd5b50511415610e4f57600060026000858481518110610de757fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff021916908315150217905550610e4d838281518110610e3557fe5b6020026020010151600161166990919063ffffffff16565b505b610e9333838381518110610e5f57fe5b6020026020010151858481518110610e7357fe5b60200260200101516001600160a01b03166117619092919063ffffffff16565b828181518110610e9f57fe5b60200260200101516001600160a01b03167ffb7cd2a565112408eb382485bb381cf1fc961858030a24b6d20de0a749c2f78a838381518110610edd57fe5b60200260200101516040518082815260200191505060405180910390a2600101610cdc565b505050565b6060818060200190516020811015610f1e57600080fd5b8101908080516040519392919084600160201b821115610f3d57600080fd5b908301906020820185811115610f5257600080fd5b82518660208202830111600160201b82111715610f6e57600080fd5b82525081516020918201928201910280838360005b83811015610f9b578181015183820152602001610f83565b50505050905001604052505050905060005b8451811015611303576000610fc786838151811061094b57fe5b90506001600160a01b03811661109557828281518110610fe357fe5b602002602001015160036000888581518110610ffb57fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b03160217905550600086838151811061105557fe5b60209081029190910181015182546001810184556000938452919092200180546001600160a01b0319166001600160a01b039092169190911790556110f8565b8282815181106110a157fe5b60200260200101516001600160a01b0316816001600160a01b0316146110f85760405162461bcd60e51b8152600401808060200182810382526046815260200180611e5e6046913960600191505060405180910390fd5b82828151811061110457fe5b60200260200101516001600160a01b031663c5ebeaec86848151811061112657fe5b60200260200101516040518263ffffffff1660e01b815260040180828152602001915050602060405180830381600087803b15801561116457600080fd5b505af1158015611178573d6000803e3d6000fd5b505050506040513d602081101561118e57600080fd5b5051156111cc5760405162461bcd60e51b8152600401808060200182810382526035815260200180611dc06035913960400191505060405180910390fd5b6111d461031f565b6001600160a01b03168683815181106111e957fe5b60200260200101516001600160a01b0316141561126f5761120861031f565b6001600160a01b031663d0e30db086848151811061122257fe5b60200260200101516040518263ffffffff1660e01b81526004016000604051808303818588803b15801561125557600080fd5b505af1158015611269573d6000803e3d6000fd5b50505050505b6112933386848151811061127f57fe5b6020026020010151888581518110610e7357fe5b85828151811061129f57fe5b60200260200101516001600160a01b03167f03c44a7ddb65ca5f1bbeffda35ba96457c370e957138d14005ff3e55551ab50f8684815181106112dd57fe5b60200260200101516040518082815260200191505060405180910390a250600101610fad565b5050505050565b60005b8251811015610f0257600061132784838151811061094b57fe5b905060001983838151811061133857fe5b602002602001015114156113d357604080516395dd919360e01b815230600482015290516001600160a01b038316916395dd9193916024808301926020929190829003018186803b15801561138c57600080fd5b505afa1580156113a0573d6000803e3d6000fd5b505050506040513d60208110156113b657600080fd5b505183518490849081106113c657fe5b6020026020010181815250505b611404818584815181106113e357fe5b60200260200101518585815181106113f757fe5b60200260200101516117b3565b604080516395dd919360e01b815230600482015290516001600160a01b038316916395dd9193916024808301926020929190829003018186803b15801561144a57600080fd5b505afa15801561145e573d6000803e3d6000fd5b505050506040513d602081101561147457600080fd5b50516114f1576003600085848151811061148a57fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154906001600160a01b0302191690556114ef8483815181106114d757fe5b6020026020010151600061166990919063ffffffff16565b505b8382815181106114fd57fe5b60200260200101516001600160a01b03167fb3ef5936c6a45fc10d27f174d569533c42819c98975f3da26d592c63e94415fe84848151811061153b57fe5b60200260200101516040518082815260200191505060405180910390a25060010161130d565b6115696104ee565b6001600160a01b031663e9af0292306040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050600060405180830381600087803b1580156115b757600080fd5b505af11580156115cb573d6000803e3d6000fd5b5050505060006115d9610364565b905061034333826001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561162c57600080fd5b505afa158015611640573d6000803e3d6000fd5b505050506040513d602081101561165657600080fd5b50516001600160a01b0384169190611761565b8154600090815b8181101561175957836001600160a01b031685828154811061168e57fe5b6000918252602090912001546001600160a01b03161415611751576001820381101561171c578460018303815481106116c357fe5b9060005260206000200160009054906101000a90046001600160a01b03168582815481106116ed57fe5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055505b8480548061172657fe5b600082815260209020810160001990810180546001600160a01b031916905501905560019250611759565b600101611670565b505092915050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610f02908490611954565b6117bb61031f565b6001600160a01b0316826001600160a01b03161415611892576117dc61031f565b6001600160a01b0316632e1a7d4d826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561182157600080fd5b505af1158015611835573d6000803e3d6000fd5b50505050826001600160a01b0316634e4d9fea826040518263ffffffff1660e01b81526004016000604051808303818588803b15801561187457600080fd5b505af1158015611888573d6000803e3d6000fd5b5050505050610f02565b6118a66001600160a01b0383168483611a05565b826001600160a01b0316630e752702826040518263ffffffff1660e01b815260040180828152602001915050602060405180830381600087803b1580156118ec57600080fd5b505af1158015611900573d6000803e3d6000fd5b505050506040513d602081101561191657600080fd5b505115610f025760405162461bcd60e51b8152600401808060200182810382526031815260200180611d696031913960400191505060405180910390fd5b60606119a9826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316611b189092919063ffffffff16565b805190915015610f02578080602001905160208110156119c857600080fd5b5051610f025760405162461bcd60e51b815260040180806020018281038252602a815260200180611ea4602a913960400191505060405180910390fd5b801580611a8b575060408051636eb1769f60e11b81523060048201526001600160a01b03848116602483015291519185169163dd62ed3e91604480820192602092909190829003018186803b158015611a5d57600080fd5b505afa158015611a71573d6000803e3d6000fd5b505050506040513d6020811015611a8757600080fd5b5051155b611ac65760405162461bcd60e51b8152600401808060200182810382526036815260200180611ece6036913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052610f02908490611954565b6060611b278484600085611b31565b90505b9392505050565b606082471015611b725760405162461bcd60e51b8152600401808060200182810382526026815260200180611d9a6026913960400191505060405180910390fd5b611b7b85611c8d565b611bcc576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b60208310611c0b5780518252601f199092019160209182019101611bec565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114611c6d576040519150601f19603f3d011682016040523d82523d6000602084013e611c72565b606091505b5091509150611c82828286611c93565b979650505050505050565b3b151590565b60608315611ca2575081611b2a565b825115611cb25782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611cfc578181015183820152602001611ce4565b50505050905090810190601f168015611d295780820380516001836020036101000a031916815260200191505b509250505060405180910390fdfe5f5f72656d6f7665436f6c6c61746572616c4173736574733a204173736574206973206e6f7420636f6c6c61746572616c5f5f7265706179426f72726f77656441737365743a204572726f72207768696c65207265706179696e6720626f72726f77416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c5f5f626f72726f774173736574733a2050726f626c656d207768696c6520626f72726f77696e672066726f6d20436f6d706f756e647265636569766543616c6c46726f6d5661756c743a20496e76616c696420616374696f6e49645f5f616464436f6c6c61746572616c4173736574733a204572726f72207768696c652063616c6c696e6720656e7465724d61726b657473206f6e20436f6d706f756e645f5f626f72726f774173736574733a2043616e206f6e6c7920626f72726f772066726f6d206f6e652063546f6b656e20666f72206120676976656e20756e6465726c79696e675361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e6365a164736f6c634300060c000a", "sourceMap": "1001:9644:99:-:0;;;1337:235;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1337:235:99;;;;;;;;;;;-1:-1:-1;;;;;;1337:235:99;1461:43;;;;;;;1514:23;;;;;;;1547:18;;;;;1001:9644;;;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106100935760003560e01c806380daddb81161006657806380daddb8146101a45780639e209ad114610245578063d889378e1461024d578063e5c23a9714610273578063ecd658b41461031757610093565b80634c252f91146100985780634ddf47d4146100bc5780634eeb4a161461016257806370a58ec61461019c575b600080fd5b6100a061031f565b604080516001600160a01b039092168252519081900360200190f35b610160600480360360208110156100d257600080fd5b810190602081018135600160201b8111156100ec57600080fd5b8201836020820111156100fe57600080fd5b803590602001918460018302840111600160201b8311171561011f57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610343945050505050565b005b6101886004803603602081101561017857600080fd5b50356001600160a01b0316610346565b604080519115158252519081900360200190f35b6100a0610364565b6101ac610388565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156101f05781810151838201526020016101d8565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561022f578181015183820152602001610217565b5050505090500194505050505060405180910390f35b6100a06104ee565b6100a06004803603602081101561026357600080fd5b50356001600160a01b0316610512565b6101606004803603602081101561028957600080fd5b810190602081018135600160201b8111156102a357600080fd5b8201836020820111156102b557600080fd5b803590602001918460018302840111600160201b831117156102d657600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610530945050505050565b6101ac610889565b7f000000000000000000000000000000000000000000000000000000000000000090565b50565b6001600160a01b031660009081526002602052604090205460ff1690565b7f000000000000000000000000000000000000000000000000000000000000000090565b60608060018054806020026020016040519081016040528092919081815260200182805480156103e157602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116103c3575b50506001549395505067ffffffffffffffff8311915050801561040357600080fd5b5060405190808252806020026020018201604052801561042d578160200160208202803683370190505b50905060005b82518110156104e95782818151811061044857fe5b60200260200101516001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561049c57600080fd5b505afa1580156104b0573d6000803e3d6000fd5b505050506040513d60208110156104c657600080fd5b505182518390839081106104d657fe5b6020908102919091010152600101610433565b509091565b7f000000000000000000000000000000000000000000000000000000000000000090565b6001600160a01b039081166000908152600360205260409020541690565b6000606082806020019051604081101561054957600080fd5b815160208301805160405192949293830192919084600160201b82111561056f57600080fd5b90830190602082018581111561058457600080fd5b8251600160201b81118282018810171561059d57600080fd5b82525081516020918201929091019080838360005b838110156105ca5781810151838201526020016105b2565b50505050905090810190601f1680156105f75780820380516001836020036101000a031916815260200191505b5060405250505091509150606080606083806020019051606081101561061c57600080fd5b8101908080516040519392919084600160201b82111561063b57600080fd5b90830190602082018581111561065057600080fd5b82518660208202830111600160201b8211171561066c57600080fd5b82525081516020918201928201910280838360005b83811015610699578181015183820152602001610681565b5050505090500160405260200180516040519392919084600160201b8211156106c157600080fd5b9083019060208201858111156106d657600080fd5b82518660208202830111600160201b821117156106f257600080fd5b82525081516020918201928201910280838360005b8381101561071f578181015183820152602001610707565b5050505090500160405260200180516040519392919084600160201b82111561074757600080fd5b90830190602082018581111561075c57600080fd5b8251600160201b81118282018810171561077557600080fd5b82525081516020918201929091019080838360005b838110156107a257818101518382015260200161078a565b50505050905090810190601f1680156107cf5780820380516001836020036101000a031916815260200191505b50604052505050925092509250600060048111156107e957fe5b8514156107ff576107fa83836109f5565b610881565b6001851415610812576107fa8383610cd9565b6002851415610826576107fa838383610f07565b6003851415610839576107fa838361130a565b600485141561084a576107fa611561565b60405162461bcd60e51b8152600401808060200182810382526026815260200180611df56026913960400191505060405180910390fd5b505050505050565b60608060008054806020026020016040519081016040528092919081815260200182805480156108e257602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116108c4575b50505050509150815167ffffffffffffffff8111801561090157600080fd5b5060405190808252806020026020018201604052801561092b578160200160208202803683370190505b50905060005b82518110156104e957600061095884838151811061094b57fe5b6020026020010151610512565b9050806001600160a01b03166395dd9193306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156109a757600080fd5b505afa1580156109bb573d6000803e3d6000fd5b505050506040513d60208110156109d157600080fd5b505183518490849081106109e157fe5b602090810291909101015250600101610931565b60606109ff6104ee565b6001600160a01b031663c2998238846040518263ffffffff1660e01b81526004018080602001828103825283818151815260200191508051906020019060200280838360005b83811015610a5d578181015183820152602001610a45565b5050505090500192505050600060405180830381600087803b158015610a8257600080fd5b505af1158015610a96573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526020811015610abf57600080fd5b8101908080516040519392919084600160201b821115610ade57600080fd5b908301906020820185811115610af357600080fd5b82518660208202830111600160201b82111715610b0f57600080fd5b82525081516020918201928201910280838360005b83811015610b3c578181015183820152602001610b24565b50505050905001604052505050905060005b8351811015610cd357818181518110610b6357fe5b6020026020010151600014610ba95760405162461bcd60e51b8152600401808060200182810382526043815260200180611e1b6043913960600191505060405180910390fd5b610bc5848281518110610bb857fe5b6020026020010151610346565b610c6457600160026000868481518110610bdb57fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055506001848281518110610c2857fe5b60209081029190910181015182546001810184556000938452919092200180546001600160a01b0319166001600160a01b039092169190911790555b838181518110610c7057fe5b60200260200101516001600160a01b03167fde38363fe42a9cae1654e31132bb3736927f007235cf41265805b96de98cf59f848381518110610cae57fe5b60200260200101516040518082815260200191505060405180910390a2600101610b4e565b50505050565b60005b8251811015610f0257610cf4838281518110610bb857fe5b610d2f5760405162461bcd60e51b8152600401808060200182810382526031815260200180611d386031913960400191505060405180910390fd5b818181518110610d3b57fe5b6020026020010151838281518110610d4f57fe5b60200260200101516001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610da357600080fd5b505afa158015610db7573d6000803e3d6000fd5b505050506040513d6020811015610dcd57600080fd5b50511415610e4f57600060026000858481518110610de757fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff021916908315150217905550610e4d838281518110610e3557fe5b6020026020010151600161166990919063ffffffff16565b505b610e9333838381518110610e5f57fe5b6020026020010151858481518110610e7357fe5b60200260200101516001600160a01b03166117619092919063ffffffff16565b828181518110610e9f57fe5b60200260200101516001600160a01b03167ffb7cd2a565112408eb382485bb381cf1fc961858030a24b6d20de0a749c2f78a838381518110610edd57fe5b60200260200101516040518082815260200191505060405180910390a2600101610cdc565b505050565b6060818060200190516020811015610f1e57600080fd5b8101908080516040519392919084600160201b821115610f3d57600080fd5b908301906020820185811115610f5257600080fd5b82518660208202830111600160201b82111715610f6e57600080fd5b82525081516020918201928201910280838360005b83811015610f9b578181015183820152602001610f83565b50505050905001604052505050905060005b8451811015611303576000610fc786838151811061094b57fe5b90506001600160a01b03811661109557828281518110610fe357fe5b602002602001015160036000888581518110610ffb57fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b03160217905550600086838151811061105557fe5b60209081029190910181015182546001810184556000938452919092200180546001600160a01b0319166001600160a01b039092169190911790556110f8565b8282815181106110a157fe5b60200260200101516001600160a01b0316816001600160a01b0316146110f85760405162461bcd60e51b8152600401808060200182810382526046815260200180611e5e6046913960600191505060405180910390fd5b82828151811061110457fe5b60200260200101516001600160a01b031663c5ebeaec86848151811061112657fe5b60200260200101516040518263ffffffff1660e01b815260040180828152602001915050602060405180830381600087803b15801561116457600080fd5b505af1158015611178573d6000803e3d6000fd5b505050506040513d602081101561118e57600080fd5b5051156111cc5760405162461bcd60e51b8152600401808060200182810382526035815260200180611dc06035913960400191505060405180910390fd5b6111d461031f565b6001600160a01b03168683815181106111e957fe5b60200260200101516001600160a01b0316141561126f5761120861031f565b6001600160a01b031663d0e30db086848151811061122257fe5b60200260200101516040518263ffffffff1660e01b81526004016000604051808303818588803b15801561125557600080fd5b505af1158015611269573d6000803e3d6000fd5b50505050505b6112933386848151811061127f57fe5b6020026020010151888581518110610e7357fe5b85828151811061129f57fe5b60200260200101516001600160a01b03167f03c44a7ddb65ca5f1bbeffda35ba96457c370e957138d14005ff3e55551ab50f8684815181106112dd57fe5b60200260200101516040518082815260200191505060405180910390a250600101610fad565b5050505050565b60005b8251811015610f0257600061132784838151811061094b57fe5b905060001983838151811061133857fe5b602002602001015114156113d357604080516395dd919360e01b815230600482015290516001600160a01b038316916395dd9193916024808301926020929190829003018186803b15801561138c57600080fd5b505afa1580156113a0573d6000803e3d6000fd5b505050506040513d60208110156113b657600080fd5b505183518490849081106113c657fe5b6020026020010181815250505b611404818584815181106113e357fe5b60200260200101518585815181106113f757fe5b60200260200101516117b3565b604080516395dd919360e01b815230600482015290516001600160a01b038316916395dd9193916024808301926020929190829003018186803b15801561144a57600080fd5b505afa15801561145e573d6000803e3d6000fd5b505050506040513d602081101561147457600080fd5b50516114f1576003600085848151811061148a57fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154906001600160a01b0302191690556114ef8483815181106114d757fe5b6020026020010151600061166990919063ffffffff16565b505b8382815181106114fd57fe5b60200260200101516001600160a01b03167fb3ef5936c6a45fc10d27f174d569533c42819c98975f3da26d592c63e94415fe84848151811061153b57fe5b60200260200101516040518082815260200191505060405180910390a25060010161130d565b6115696104ee565b6001600160a01b031663e9af0292306040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050600060405180830381600087803b1580156115b757600080fd5b505af11580156115cb573d6000803e3d6000fd5b5050505060006115d9610364565b905061034333826001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561162c57600080fd5b505afa158015611640573d6000803e3d6000fd5b505050506040513d602081101561165657600080fd5b50516001600160a01b0384169190611761565b8154600090815b8181101561175957836001600160a01b031685828154811061168e57fe5b6000918252602090912001546001600160a01b03161415611751576001820381101561171c578460018303815481106116c357fe5b9060005260206000200160009054906101000a90046001600160a01b03168582815481106116ed57fe5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055505b8480548061172657fe5b600082815260209020810160001990810180546001600160a01b031916905501905560019250611759565b600101611670565b505092915050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610f02908490611954565b6117bb61031f565b6001600160a01b0316826001600160a01b03161415611892576117dc61031f565b6001600160a01b0316632e1a7d4d826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561182157600080fd5b505af1158015611835573d6000803e3d6000fd5b50505050826001600160a01b0316634e4d9fea826040518263ffffffff1660e01b81526004016000604051808303818588803b15801561187457600080fd5b505af1158015611888573d6000803e3d6000fd5b5050505050610f02565b6118a66001600160a01b0383168483611a05565b826001600160a01b0316630e752702826040518263ffffffff1660e01b815260040180828152602001915050602060405180830381600087803b1580156118ec57600080fd5b505af1158015611900573d6000803e3d6000fd5b505050506040513d602081101561191657600080fd5b505115610f025760405162461bcd60e51b8152600401808060200182810382526031815260200180611d696031913960400191505060405180910390fd5b60606119a9826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316611b189092919063ffffffff16565b805190915015610f02578080602001905160208110156119c857600080fd5b5051610f025760405162461bcd60e51b815260040180806020018281038252602a815260200180611ea4602a913960400191505060405180910390fd5b801580611a8b575060408051636eb1769f60e11b81523060048201526001600160a01b03848116602483015291519185169163dd62ed3e91604480820192602092909190829003018186803b158015611a5d57600080fd5b505afa158015611a71573d6000803e3d6000fd5b505050506040513d6020811015611a8757600080fd5b5051155b611ac65760405162461bcd60e51b8152600401808060200182810382526036815260200180611ece6036913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052610f02908490611954565b6060611b278484600085611b31565b90505b9392505050565b606082471015611b725760405162461bcd60e51b8152600401808060200182810382526026815260200180611d9a6026913960400191505060405180910390fd5b611b7b85611c8d565b611bcc576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b60208310611c0b5780518252601f199092019160209182019101611bec565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114611c6d576040519150601f19603f3d011682016040523d82523d6000602084013e611c72565b606091505b5091509150611c82828286611c93565b979650505050505050565b3b151590565b60608315611ca2575081611b2a565b825115611cb25782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611cfc578181015183820152602001611ce4565b50505050905090810190601f168015611d295780820380516001836020036101000a031916815260200191505b509250505060405180910390fdfe5f5f72656d6f7665436f6c6c61746572616c4173736574733a204173736574206973206e6f7420636f6c6c61746572616c5f5f7265706179426f72726f77656441737365743a204572726f72207768696c65207265706179696e6720626f72726f77416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c5f5f626f72726f774173736574733a2050726f626c656d207768696c6520626f72726f77696e672066726f6d20436f6d706f756e647265636569766543616c6c46726f6d5661756c743a20496e76616c696420616374696f6e49645f5f616464436f6c6c61746572616c4173736574733a204572726f72207768696c652063616c6c696e6720656e7465724d61726b657473206f6e20436f6d706f756e645f5f626f72726f774173736574733a2043616e206f6e6c7920626f72726f772066726f6d206f6e652063546f6b656e20666f72206120676976656e20756e6465726c79696e675361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e6365a164736f6c634300060c000a", "sourceMap": "1001:9644:99:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10544:99;;;:::i;:::-;;;;-1:-1:-1;;;;;10544:99:99;;;;;;;;;;;;;;1681:48;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1681:48:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1681:48:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1681:48:99;;-1:-1:-1;1681:48:99;;-1:-1:-1;;;;;1681:48:99:i;:::-;;9442:134;;;;;;;;;;;;;;;;-1:-1:-1;9442:134:99;-1:-1:-1;;;;;9442:134:99;;:::i;:::-;;;;;;;;;;;;;;;;;;9959:99;;;:::i;8845:407::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9718:129;;;:::i;10228:204::-;;;;;;;;;;;;;;;;-1:-1:-1;10228:204:99;-1:-1:-1;;;;;10228:204:99;;:::i;1857:1064::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1857:1064:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1857:1064:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1857:1064:99;;-1:-1:-1;1857:1064:99;;-1:-1:-1;;;;;1857:1064:99:i;8126:470::-;;;:::i;10544:99::-;10626:10;10544:99;:::o;1681:48::-;;:::o;9442:134::-;-1:-1:-1;;;;;9542:27:99;9506:17;9542:27;;;:19;:27;;;;;;;;;9442:134::o;9959:99::-;10041:10;9959:99;:::o;8845:407::-;8924:24;8950:25;9001:16;8991:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8991:26:99;;;;;;;;;;;;;;;;-1:-1:-1;;9052:16:99;:23;8991:26;;-1:-1:-1;;9038:38:99;;;;-1:-1:-1;;9038:38:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9038:38:99;;9027:49;;9092:9;9087:122;9107:7;:14;9103:1;:18;9087:122;;;9162:7;9170:1;9162:10;;;;;;;;;;;;;;-1:-1:-1;;;;;9156:27:99;;9192:4;9156:42;;;;;;;;;;;;;-1:-1:-1;;;;;9156:42:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9156:42:99;9142:11;;:8;;9151:1;;9142:11;;;;;;;;;;;;;;;:56;9123:3;;9087:122;;;;8845:407;;:::o;9718:129::-;9820:20;9718:129;:::o;10228:204::-;-1:-1:-1;;;;;10388:37:99;;;10350:15;10388:37;;;:21;:37;;;;;;;;10228:204::o;1857:1064::-;1942:16;1960:23;1998:11;1987:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1987:41:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1987:41:99;;;;;;-1:-1:-1;1987:41:99;;;;;;;;;;-1:-1:-1;1987:41:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1941:87;;;;2040:23;2065:24;2091:17;2136:10;2112:87;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2112:87:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2112:87:99;;;;;;;;;;;;-1:-1:-1;2112:87:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2112:87:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2112:87:99;;;;;;;;;;;;-1:-1:-1;2112:87:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2112:87:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2112:87:99;;;;;;-1:-1:-1;2112:87:99;;;;;;;;;;-1:-1:-1;2112:87:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2039:160;;;;;;2234:37;2226:46;;;;;;;;2214:8;:58;2210:705;;;2288:38;2310:6;2318:7;2288:21;:38::i;:::-;2210:705;;;2367:40;2347:8;:61;2343:572;;;2424:41;2449:6;2457:7;2424:24;:41::i;2343:572::-;2506:30;2486:8;:51;2482:433;;;2553:37;2568:6;2576:7;2585:4;2553:14;:37::i;2482:433::-;2631:35;2611:8;:56;2607:308;;;2683:38;2705:6;2713:7;2683:21;:38::i;2607:308::-;2762:33;2742:8;:54;2738:177;;;2812:13;:11;:13::i;2738:177::-;2856:48;;-1:-1:-1;;;2856:48:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2738:177;1857:1064;;;;;;:::o;8126:470::-;8202:24;8228:25;8279:14;8269:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8269:24:99;;;;;;;;;;;;;;;;;;;;;;;8328:7;:14;8314:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8314:29:99;;8303:40;;8359:9;8354:199;8374:7;:14;8370:1;:18;8354:199;;;8409:14;8426:38;8453:7;8461:1;8453:10;;;;;;;;;;;;;;8426:26;:38::i;:::-;8409:55;;8500:6;-1:-1:-1;;;;;8492:35:99;;8536:4;8492:50;;;;;;;;;;;;;-1:-1:-1;;;;;8492:50:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8492:50:99;8478:11;;:8;;8487:1;;8478:11;;;;;;;;;;;;;;;:64;-1:-1:-1;8390:3:99;;8354:199;;2966:699;3068:38;3130:24;:22;:24::i;:::-;-1:-1:-1;;;;;3109:72:99;;3182:7;3109:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3109:81:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3109:81:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3109:81:99;;;;;;;;;;;;-1:-1:-1;3109:81:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3068:122;;3206:9;3201:458;3221:7;:14;3217:1;:18;3201:458;;;3281:21;3303:1;3281:24;;;;;;;;;;;;;;3309:1;3281:29;3256:155;;;;-1:-1:-1;;;3256:155:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3431:29;3449:7;3457:1;3449:10;;;;;;;;;;;;;;3431:17;:29::i;:::-;3426:158;;3514:4;3480:19;:31;3500:7;3508:1;3500:10;;;;;;;;;;;;;;-1:-1:-1;;;;;3480:31:99;-1:-1:-1;;;;;3480:31:99;;;;;;;;;;;;;:38;;;;;;;;;;;;;;;;;;3536:16;3558:7;3566:1;3558:10;;;;;;;;;;;;;;;;;;;3536:33;;;;;;;-1:-1:-1;3536:33:99;;;;;;;;;;-1:-1:-1;;;;;;3536:33:99;-1:-1:-1;;;;;3536:33:99;;;;;;;;;3426:158;3624:7;3632:1;3624:10;;;;;;;;;;;;;;-1:-1:-1;;;;;3603:45:99;;3636:8;3645:1;3636:11;;;;;;;;;;;;;;3603:45;;;;;;;;;;;;;;;;;;3237:3;;3201:458;;;;2966:699;;;:::o;5351:784::-;5473:9;5468:661;5488:7;:14;5484:1;:18;5468:661;;;5548:29;5566:7;5574:1;5566:10;;;;;;;5548:29;5523:137;;;;-1:-1:-1;;;5523:137:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5725:8;5734:1;5725:11;;;;;;;;;;;;;;5685:7;5693:1;5685:10;;;;;;;;;;;;;;-1:-1:-1;;;;;5679:27:99;;5715:4;5679:42;;;;;;;;;;;;;-1:-1:-1;;;;;5679:42:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5679:42:99;:57;5675:307;;;5897:5;5863:19;:31;5883:7;5891:1;5883:10;;;;;;;;;;;;;;-1:-1:-1;;;;;5863:31:99;-1:-1:-1;;;;;5863:31:99;;;;;;;;;;;;;:39;;;;;;;;;;;;;;;;;;5921:46;5956:7;5964:1;5956:10;;;;;;;;;;;;;;5921:16;:34;;:46;;;;:::i;:::-;;5675:307;5996:55;6027:10;6039:8;6048:1;6039:11;;;;;;;;;;;;;;6002:7;6010:1;6002:10;;;;;;;;;;;;;;-1:-1:-1;;;;;5996:30:99;;;:55;;;;;:::i;:::-;6094:7;6102:1;6094:10;;;;;;;;;;;;;;-1:-1:-1;;;;;6071:47:99;;6106:8;6115:1;6106:11;;;;;;;;;;;;;;6071:47;;;;;;;;;;;;;;;;;;5504:3;;5468:661;;;;5351:784;;:::o;3730:1257::-;3875:24;3913:5;3902:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3902:30:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3902:30:99;;;;;;;;;;;;-1:-1:-1;3902:30:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3875:57;;3948:9;3943:1038;3963:7;:14;3959:1;:18;3943:1038;;;4090:20;4113:38;4140:7;4148:1;4140:10;;;;;;;4113:38;4090:61;-1:-1:-1;;;;;;4169:26:99;;4165:366;;4251:7;4259:1;4251:10;;;;;;;;;;;;;;4215:21;:33;4237:7;4245:1;4237:10;;;;;;;;;;;;;;-1:-1:-1;;;;;4215:33:99;-1:-1:-1;;;;;4215:33:99;;;;;;;;;;;;;:46;;;;;-1:-1:-1;;;;;4215:46:99;;;;;-1:-1:-1;;;;;4215:46:99;;;;;;4279:14;4299:7;4307:1;4299:10;;;;;;;;;;;;;;;;;;;4279:31;;;;;;;-1:-1:-1;4279:31:99;;;;;;;;;;-1:-1:-1;;;;;;4279:31:99;-1:-1:-1;;;;;4279:31:99;;;;;;;;;4165:366;;;4394:7;4402:1;4394:10;;;;;;;;;;;;;;-1:-1:-1;;;;;4378:26:99;:12;-1:-1:-1;;;;;4378:26:99;;4349:167;;;;-1:-1:-1;;;4349:167:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4578:7;4586:1;4578:10;;;;;;;;;;;;;;-1:-1:-1;;;;;4570:26:99;;4597:8;4606:1;4597:11;;;;;;;;;;;;;;4570:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4570:39:99;:44;4545:156;;;;-1:-1:-1;;;4545:156:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4734:14;:12;:14::i;:::-;-1:-1:-1;;;;;4720:28:99;:7;4728:1;4720:10;;;;;;;;;;;;;;-1:-1:-1;;;;;4720:28:99;;4716:127;;;4782:14;:12;:14::i;:::-;-1:-1:-1;;;;;4768:38:99;;4814:8;4823:1;4814:11;;;;;;;;;;;;;;4768:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4716:127;4857:55;4888:10;4900:8;4909:1;4900:11;;;;;;;;;;;;;;4863:7;4871:1;4863:10;;;;;;;4857:55;4946:7;4954:1;4946:10;;;;;;;;;;;;;;-1:-1:-1;;;;;4932:38:99;;4958:8;4967:1;4958:11;;;;;;;;;;;;;;4932:38;;;;;;;;;;;;;;;;;;-1:-1:-1;3979:3:99;;3943:1038;;;;3730:1257;;;;:::o;6209:1000::-;6316:9;6311:892;6331:7;:14;6327:1;:18;6311:892;;;6366:14;6383:38;6410:7;6418:1;6410:10;;;;;;;6383:38;6366:55;;-1:-1:-1;;6479:8:99;6488:1;6479:11;;;;;;;;;;;;;;:32;6475:135;;;6545:50;;;-1:-1:-1;;;6545:50:99;;6589:4;6545:50;;;;;;-1:-1:-1;;;;;6545:35:99;;;;;:50;;;;;;;;;;;;;;:35;:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6545:50:99;6531:11;;:8;;6540:1;;6531:11;;;;;;;;;;;:64;;;;;6475:135;6624:53;6645:6;6653:7;6661:1;6653:10;;;;;;;;;;;;;;6665:8;6674:1;6665:11;;;;;;;;;;;;;;6624:20;:53::i;:::-;6796:50;;;-1:-1:-1;;;6796:50:99;;6840:4;6796:50;;;;;;-1:-1:-1;;;;;6796:35:99;;;;;:50;;;;;;;;;;;;;;:35;:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6796:50:99;6792:196;;6878:21;:33;6900:7;6908:1;6900:10;;;;;;;;;;;;;;-1:-1:-1;;;;;6878:33:99;-1:-1:-1;;;;;6878:33:99;;;;;;;;;;;;;6871:40;;;;;-1:-1:-1;;;;;6871:40:99;;;;;6929:44;6962:7;6970:1;6962:10;;;;;;;;;;;;;;6929:14;:32;;:44;;;;:::i;:::-;;6792:196;7168:7;7176:1;7168:10;;;;;;;;;;;;;;-1:-1:-1;;;;;7148:44:99;;7180:8;7189:1;7180:11;;;;;;;;;;;;;;7148:44;;;;;;;;;;;;;;;;;;-1:-1:-1;6347:3:99;;6311:892;;5051:250;5113:24;:22;:24::i;:::-;-1:-1:-1;;;;;5092:56:99;;5157:4;5092:71;;;;;;;;;;;;;-1:-1:-1;;;;;5092:71:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5174:15;5198:14;:12;:14::i;:::-;5174:39;;5224:70;5247:10;5259:9;-1:-1:-1;;;;;5259:19:99;;5287:4;5259:34;;;;;;;;;;;;;-1:-1:-1;;;;;5259:34:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5259:34:99;-1:-1:-1;;;;;5224:22:99;;;:70;:22;:70::i;569:515:354:-;727:12;;678:13;;;749:303;769:9;765:1;:13;749:303;;;815:13;-1:-1:-1;;;;;803:25:354;:5;809:1;803:8;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;803:8:354;:25;799:243;;;868:1;856:9;:13;852:1;:17;848:95;;;904:5;922:1;910:9;:13;904:20;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;904:20:354;893:5;899:1;893:8;;;;;;;;;;;;;;;;:31;;;;;-1:-1:-1;;;;;893:31:354;;;;;-1:-1:-1;;;;;893:31:354;;;;;;848:95;960:5;:11;;;;;;;;;;;;;;;;-1:-1:-1;;960:11:354;;;;;-1:-1:-1;;;;;;960:11:354;;;;;;;;-1:-1:-1;1022:5:354;;799:243;780:3;;749:303;;;;1062:15;569:515;;;;:::o;704:175:450:-;813:58;;;-1:-1:-1;;;;;813:58:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;813:58:450;-1:-1:-1;;;813:58:450;;;786:86;;806:5;;786:19;:86::i;7287:536:99:-;7429:14;:12;:14::i;:::-;-1:-1:-1;;;;;7419:24:99;:6;-1:-1:-1;;;;;7419:24:99;;7415:402;;;7473:14;:12;:14::i;:::-;-1:-1:-1;;;;;7459:39:99;;7499:7;7459:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7529:7;-1:-1:-1;;;;;7521:28:99;;7557:7;7521:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7415:402;;;7598:43;-1:-1:-1;;;;;7598:25:99;;7624:7;7633;7598:25;:43::i;:::-;7689:7;-1:-1:-1;;;;;7681:28:99;;7710:7;7681:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7681:37:99;:42;7656:150;;;;-1:-1:-1;;;7656:150:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2967:751:450;3386:23;3412:69;3440:4;3412:69;;;;;;;;;;;;;;;;;3420:5;-1:-1:-1;;;;;3412:27:450;;;:69;;;;;:::i;:::-;3495:17;;3386:95;;-1:-1:-1;3495:21:450;3491:221;;3635:10;3624:30;;;;;;;;;;;;;;;-1:-1:-1;3624:30:450;3616:85;;;;-1:-1:-1;;;3616:85:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1348:613;1713:10;;;1712:62;;-1:-1:-1;1729:39:450;;;-1:-1:-1;;;1729:39:450;;1753:4;1729:39;;;;-1:-1:-1;;;;;1729:39:450;;;;;;;;;:15;;;;;;:39;;;;;;;;;;;;;;;:15;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1729:39:450;:44;1712:62;1704:150;;;;-1:-1:-1;;;1704:150:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1891:62;;;-1:-1:-1;;;;;1891:62:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1891:62:450;-1:-1:-1;;;1891:62:450;;;1864:90;;1884:5;;1864:19;:90::i;3581:193:451:-;3684:12;3715:52;3737:6;3745:4;3751:1;3754:12;3715:21;:52::i;:::-;3708:59;;3581:193;;;;;;:::o;4608:523::-;4735:12;4792:5;4767:21;:30;;4759:81;;;;-1:-1:-1;;;4759:81:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4858:18;4869:6;4858:10;:18::i;:::-;4850:60;;;;;-1:-1:-1;;;4850:60:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;4981:12;4995:23;5022:6;-1:-1:-1;;;;;5022:11:451;5042:5;5050:4;5022:33;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5022:33:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4980:75;;;;5072:52;5090:7;5099:10;5111:12;5072:17;:52::i;:::-;5065:59;4608:523;-1:-1:-1;;;;;;;4608:523:451:o;726:413::-;1086:20;1124:8;;;726:413::o;7091:725::-;7206:12;7234:7;7230:580;;;-1:-1:-1;7264:10:451;7257:17;;7230:580;7375:17;;:21;7371:429;;7633:10;7627:17;7693:15;7680:10;7676:2;7672:19;7665:44;7582:145;7772:12;7765:20;;-1:-1:-1;;;7765:20:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;", "linkReferences": {}, "immutableReferences": { "23495": [ { "start": 870, "length": 32 } ], "23497": [ { "start": 1264, "length": 32 } ], "23499": [ { "start": 801, "length": 32 } ] } }, "methodIdentifiers": { "assetIsCollateral(address)": "4eeb4a16", "getCTokenFromBorrowedAsset(address)": "d889378e", "getCompToken()": "70a58ec6", "getCompoundComptroller()": "9e209ad1", "getDebtAssets()": "ecd658b4", "getManagedAssets()": "80daddb8", "getWethToken()": "4c252f91", "init(bytes)": "4ddf47d4", "receiveCallFromVault(bytes)": "e5c23a97" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_compoundComptroller\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_compToken\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_weth\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"asset\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"AssetBorrowed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"asset\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"BorrowedAssetRepaid\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"asset\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"CollateralAssetAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"asset\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"CollateralAssetRemoved\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"}],\"name\":\"assetIsCollateral\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isCollateral\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_borrowedAsset\",\"type\":\"address\"}],\"name\":\"getCTokenFromBorrowedAsset\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"cToken_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCompToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"compToken_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCompoundComptroller\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"compoundComptroller_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDebtAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"assets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getManagedAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"assets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getWethToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"wethToken_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"}],\"name\":\"receiveCallFromVault\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"assetIsCollateral(address)\":{\"returns\":{\"isCollateral\":\"True if the asset is part of the collateral assets of the external position\"}},\"getCTokenFromBorrowedAsset(address)\":{\"params\":{\"_borrowedAsset\":\"The token for which to get the cToken\"},\"returns\":{\"cToken_\":\"The cToken\"}},\"getCompToken()\":{\"returns\":{\"compToken_\":\"The `COMP_TOKEN` variable value\"}},\"getCompoundComptroller()\":{\"returns\":{\"compoundComptroller_\":\"The `COMPOUND_COMPTROLLER` variable value\"}},\"getDebtAssets()\":{\"returns\":{\"amounts_\":\"Amount of assets in external\",\"assets_\":\"Assets with an active loan\"}},\"getManagedAssets()\":{\"returns\":{\"amounts_\":\"Amount of assets being used as collateral\",\"assets_\":\"Assets with balance > 0 that are being used as collateral\"}},\"getWethToken()\":{\"returns\":{\"wethToken_\":\"The `WETH_TOKEN` variable value\"}},\"init(bytes)\":{\"details\":\"Nothing to initialize for this contract\"},\"receiveCallFromVault(bytes)\":{\"params\":{\"_actionData\":\"Encoded data to execute the action\"}}},\"title\":\"CompoundDebtPositionLib Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"assetIsCollateral(address)\":{\"notice\":\"Checks whether an asset is collateral\"},\"getCTokenFromBorrowedAsset(address)\":{\"notice\":\"Returns the cToken of a given borrowed asset\"},\"getCompToken()\":{\"notice\":\"Gets the `COMP_TOKEN` variable\"},\"getCompoundComptroller()\":{\"notice\":\"Gets the `COMPOUND_COMPTROLLER` variable\"},\"getDebtAssets()\":{\"notice\":\"Retrieves the borrowed assets and balances of the current external position\"},\"getManagedAssets()\":{\"notice\":\"Retrieves the collateral assets and balances of the current external position\"},\"getWethToken()\":{\"notice\":\"Gets the `WETH_TOKEN` variable\"},\"init(bytes)\":{\"notice\":\"Initializes the external position\"},\"receiveCallFromVault(bytes)\":{\"notice\":\"Receives and executes a call from the Vault\"}},\"notice\":\"An External Position library contract for Compound debt positions\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/compound-debt/CompoundDebtPositionLib.sol\":\"CompoundDebtPositionLib\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/persistent/external-positions/compound-debt/CompoundDebtPositionLibBase1.sol\":{\"keccak256\":\"0x8d9ec130a797916674485208e7f7df50a00d283cd68735c264f1785a27fa9436\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://0166814cb67aaefaf342cee12abe31434391dadc1efa404ee2654137f3009400\",\"dweb:/ipfs/QmUg7nJcK5fNHjB2zLR3veiof2EtygE81978jHtwtR2d4D\"]},\"contracts/release/extensions/external-position-manager/external-positions/compound-debt/CompoundDebtPositionLib.sol\":{\"keccak256\":\"0x3aafd1fedc1446bf5cc97f5903ad03c7f783e5ff5a6cca0766fa245043d034ec\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://857cb6530f828d6915ee63b07b7ebb90da28513cc8e140618d608d234af28ed2\",\"dweb:/ipfs/QmZ5ufzu7PdBLTqxRNW6gkhfd1pnXdkGEXpSdKXNGzprKq\"]},\"contracts/release/extensions/external-position-manager/external-positions/compound-debt/ICompoundDebtPosition.sol\":{\"keccak256\":\"0x4d34a19fee1f68caae8acd663ab2bb606d579816ffe720bf846b9f50369b6de1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f420596f7f96a285ae54cb19a778030d723905ce8f0ed28b3108dd79db7ca35d\",\"dweb:/ipfs/Qmdd1ch2mr25FX32DnxC3rS5YtPTCbfBfmqxCoADBrnEE5\"]},\"contracts/release/interfaces/ICERC20.sol\":{\"keccak256\":\"0x9a32a6ca307ac613bde26844d33e1732ae348bceffc93d63e3691f2ff22c6e0b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9c7aff5bf1c249fab27262fb1dc934325e259e5fd6857fbad70c8684f8ee4247\",\"dweb:/ipfs/QmTAneTyW2oCTZGVMVEAp77qMW9U9NymoK8k3RcwpNRh5W\"]},\"contracts/release/interfaces/ICEther.sol\":{\"keccak256\":\"0x7baa90be9075da954ed5630133b94d13ef857a6a66d4333ea83145ccb192c709\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6cf10fa111356f5dc32fe9de42c23ee32a766d7bacb1447e5ca9163702338064\",\"dweb:/ipfs/QmTrC9ngVaTm9bVSUyVpZV7J8gNSKbbvXcv36wdhikoSLo\"]},\"contracts/release/interfaces/ICompoundComptroller.sol\":{\"keccak256\":\"0x74c34b8146c5bff72c571dcce593d5ebec0c803d4716413adc10f3889ad66870\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://66a07e6c6aecccad6df33bc6f3c6b67d53d11c4dc175ed512eff554c9633bf3f\",\"dweb:/ipfs/QmanV5EZm1yycR5sV6LxnKY1wh8p9YGR7uScJf95Y3F7VJ\"]},\"contracts/release/interfaces/IWETH.sol\":{\"keccak256\":\"0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2\",\"dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_compoundComptroller", "type": "address" }, { "internalType": "address", "name": "_compToken", "type": "address" }, { "internalType": "address", "name": "_weth", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "asset", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "amount", "type": "uint256", "indexed": false } ], "type": "event", "name": "AssetBorrowed", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "asset", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "amount", "type": "uint256", "indexed": false } ], "type": "event", "name": "BorrowedAssetRepaid", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "asset", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "amount", "type": "uint256", "indexed": false } ], "type": "event", "name": "CollateralAssetAdded", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "asset", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "amount", "type": "uint256", "indexed": false } ], "type": "event", "name": "CollateralAssetRemoved", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "_asset", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "assetIsCollateral", "outputs": [ { "internalType": "bool", "name": "isCollateral", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "_borrowedAsset", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getCTokenFromBorrowedAsset", "outputs": [ { "internalType": "address", "name": "cToken_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getCompToken", "outputs": [ { "internalType": "address", "name": "compToken_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getCompoundComptroller", "outputs": [ { "internalType": "address", "name": "compoundComptroller_", "type": "address" } ] }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "getDebtAssets", "outputs": [ { "internalType": "address[]", "name": "assets_", "type": "address[]" }, { "internalType": "uint256[]", "name": "amounts_", "type": "uint256[]" } ] }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "getManagedAssets", "outputs": [ { "internalType": "address[]", "name": "assets_", "type": "address[]" }, { "internalType": "uint256[]", "name": "amounts_", "type": "uint256[]" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getWethToken", "outputs": [ { "internalType": "address", "name": "wethToken_", "type": "address" } ] }, { "inputs": [ { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "init" }, { "inputs": [ { "internalType": "bytes", "name": "_actionData", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "receiveCallFromVault" } ], "devdoc": { "kind": "dev", "methods": { "assetIsCollateral(address)": { "returns": { "isCollateral": "True if the asset is part of the collateral assets of the external position" } }, "getCTokenFromBorrowedAsset(address)": { "params": { "_borrowedAsset": "The token for which to get the cToken" }, "returns": { "cToken_": "The cToken" } }, "getCompToken()": { "returns": { "compToken_": "The `COMP_TOKEN` variable value" } }, "getCompoundComptroller()": { "returns": { "compoundComptroller_": "The `COMPOUND_COMPTROLLER` variable value" } }, "getDebtAssets()": { "returns": { "amounts_": "Amount of assets in external", "assets_": "Assets with an active loan" } }, "getManagedAssets()": { "returns": { "amounts_": "Amount of assets being used as collateral", "assets_": "Assets with balance > 0 that are being used as collateral" } }, "getWethToken()": { "returns": { "wethToken_": "The `WETH_TOKEN` variable value" } }, "init(bytes)": { "details": "Nothing to initialize for this contract" }, "receiveCallFromVault(bytes)": { "params": { "_actionData": "Encoded data to execute the action" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "assetIsCollateral(address)": { "notice": "Checks whether an asset is collateral" }, "getCTokenFromBorrowedAsset(address)": { "notice": "Returns the cToken of a given borrowed asset" }, "getCompToken()": { "notice": "Gets the `COMP_TOKEN` variable" }, "getCompoundComptroller()": { "notice": "Gets the `COMPOUND_COMPTROLLER` variable" }, "getDebtAssets()": { "notice": "Retrieves the borrowed assets and balances of the current external position" }, "getManagedAssets()": { "notice": "Retrieves the collateral assets and balances of the current external position" }, "getWethToken()": { "notice": "Gets the `WETH_TOKEN` variable" }, "init(bytes)": { "notice": "Initializes the external position" }, "receiveCallFromVault(bytes)": { "notice": "Receives and executes a call from the Vault" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/external-position-manager/external-positions/compound-debt/CompoundDebtPositionLib.sol": "CompoundDebtPositionLib" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/external-positions/IExternalPosition.sol": { "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", "urls": [ "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" ], "license": "GPL-3.0" }, "contracts/persistent/external-positions/compound-debt/CompoundDebtPositionLibBase1.sol": { "keccak256": "0x8d9ec130a797916674485208e7f7df50a00d283cd68735c264f1785a27fa9436", "urls": [ "bzz-raw://0166814cb67aaefaf342cee12abe31434391dadc1efa404ee2654137f3009400", "dweb:/ipfs/QmUg7nJcK5fNHjB2zLR3veiof2EtygE81978jHtwtR2d4D" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/compound-debt/CompoundDebtPositionLib.sol": { "keccak256": "0x3aafd1fedc1446bf5cc97f5903ad03c7f783e5ff5a6cca0766fa245043d034ec", "urls": [ "bzz-raw://857cb6530f828d6915ee63b07b7ebb90da28513cc8e140618d608d234af28ed2", "dweb:/ipfs/QmZ5ufzu7PdBLTqxRNW6gkhfd1pnXdkGEXpSdKXNGzprKq" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/compound-debt/ICompoundDebtPosition.sol": { "keccak256": "0x4d34a19fee1f68caae8acd663ab2bb606d579816ffe720bf846b9f50369b6de1", "urls": [ "bzz-raw://f420596f7f96a285ae54cb19a778030d723905ce8f0ed28b3108dd79db7ca35d", "dweb:/ipfs/Qmdd1ch2mr25FX32DnxC3rS5YtPTCbfBfmqxCoADBrnEE5" ], "license": "GPL-3.0" }, "contracts/release/interfaces/ICERC20.sol": { "keccak256": "0x9a32a6ca307ac613bde26844d33e1732ae348bceffc93d63e3691f2ff22c6e0b", "urls": [ "bzz-raw://9c7aff5bf1c249fab27262fb1dc934325e259e5fd6857fbad70c8684f8ee4247", "dweb:/ipfs/QmTAneTyW2oCTZGVMVEAp77qMW9U9NymoK8k3RcwpNRh5W" ], "license": "GPL-3.0" }, "contracts/release/interfaces/ICEther.sol": { "keccak256": "0x7baa90be9075da954ed5630133b94d13ef857a6a66d4333ea83145ccb192c709", "urls": [ "bzz-raw://6cf10fa111356f5dc32fe9de42c23ee32a766d7bacb1447e5ca9163702338064", "dweb:/ipfs/QmTrC9ngVaTm9bVSUyVpZV7J8gNSKbbvXcv36wdhikoSLo" ], "license": "GPL-3.0" }, "contracts/release/interfaces/ICompoundComptroller.sol": { "keccak256": "0x74c34b8146c5bff72c571dcce593d5ebec0c803d4716413adc10f3889ad66870", "urls": [ "bzz-raw://66a07e6c6aecccad6df33bc6f3c6b67d53d11c4dc175ed512eff554c9633bf3f", "dweb:/ipfs/QmanV5EZm1yycR5sV6LxnKY1wh8p9YGR7uScJf95Y3F7VJ" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IWETH.sol": { "keccak256": "0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2", "urls": [ "bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2", "dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ" ], "license": "GPL-3.0" }, "contracts/release/utils/AddressArrayLib.sol": { "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", "urls": [ "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", "urls": [ "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Address.sol": { "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", "urls": [ "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" } }, "version": 1 }, "id": 99 } diff --git a/eth_defi/abi/enzyme/CompoundDebtPositionLibBase1.json b/eth_defi/abi/enzyme/CompoundDebtPositionLibBase1.json index bcfa7d1f..916fa9b7 100644 --- a/eth_defi/abi/enzyme/CompoundDebtPositionLibBase1.json +++ b/eth_defi/abi/enzyme/CompoundDebtPositionLibBase1.json @@ -1,232 +1 @@ -{ - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "asset", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "AssetBorrowed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "asset", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "BorrowedAssetRepaid", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "asset", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "CollateralAssetAdded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "asset", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "CollateralAssetRemoved", - "type": "event" - } - ], - "bytecode": { - "object": "0x6080604052348015600f57600080fd5b50601680601d6000396000f3fe6080604052600080fdfea164736f6c634300060c000a", - "sourceMap": "778:527:29:-:0;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x6080604052600080fdfea164736f6c634300060c000a", - "sourceMap": "778:527:29:-:0;;;;;", - "linkReferences": {} - }, - "methodIdentifiers": {}, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"asset\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"AssetBorrowed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"asset\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"BorrowedAssetRepaid\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"asset\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"CollateralAssetAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"asset\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"CollateralAssetRemoved\",\"type\":\"event\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"DO NOT EDIT CONTRACT. If new events or storage are necessary, they should be added to a numbered CompoundDebtPositionLibBaseXXX that inherits the previous base. e.g., `CompoundDebtPositionLibBase2 is CompoundDebtPositionLibBase1`\",\"kind\":\"dev\",\"methods\":{},\"title\":\"CompoundDebtPositionLibBase1 Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"A persistent contract containing all required storage variables and required functions for a CompoundDebtPositionLib implementation\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/external-positions/compound-debt/CompoundDebtPositionLibBase1.sol\":\"CompoundDebtPositionLibBase1\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/external-positions/compound-debt/CompoundDebtPositionLibBase1.sol\":{\"keccak256\":\"0x8d9ec130a797916674485208e7f7df50a00d283cd68735c264f1785a27fa9436\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://0166814cb67aaefaf342cee12abe31434391dadc1efa404ee2654137f3009400\",\"dweb:/ipfs/QmUg7nJcK5fNHjB2zLR3veiof2EtygE81978jHtwtR2d4D\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "asset", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "AssetBorrowed", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "asset", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "BorrowedAssetRepaid", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "asset", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "CollateralAssetAdded", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "asset", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "CollateralAssetRemoved", - "anonymous": false - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/persistent/external-positions/compound-debt/CompoundDebtPositionLibBase1.sol": "CompoundDebtPositionLibBase1" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/external-positions/compound-debt/CompoundDebtPositionLibBase1.sol": { - "keccak256": "0x8d9ec130a797916674485208e7f7df50a00d283cd68735c264f1785a27fa9436", - "urls": [ - "bzz-raw://0166814cb67aaefaf342cee12abe31434391dadc1efa404ee2654137f3009400", - "dweb:/ipfs/QmUg7nJcK5fNHjB2zLR3veiof2EtygE81978jHtwtR2d4D" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 29 -} +{ "abi": [ { "type": "event", "name": "AssetBorrowed", "inputs": [ { "name": "asset", "type": "address", "indexed": true, "internalType": "address" }, { "name": "amount", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "BorrowedAssetRepaid", "inputs": [ { "name": "asset", "type": "address", "indexed": true, "internalType": "address" }, { "name": "amount", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "CollateralAssetAdded", "inputs": [ { "name": "asset", "type": "address", "indexed": true, "internalType": "address" }, { "name": "amount", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "CollateralAssetRemoved", "inputs": [ { "name": "asset", "type": "address", "indexed": true, "internalType": "address" }, { "name": "amount", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false } ], "bytecode": { "object": "0x6080604052348015600f57600080fd5b50601680601d6000396000f3fe6080604052600080fdfea164736f6c634300060c000a", "sourceMap": "778:527:29:-:0;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x6080604052600080fdfea164736f6c634300060c000a", "sourceMap": "778:527:29:-:0;;;;;", "linkReferences": {} }, "methodIdentifiers": {}, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"asset\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"AssetBorrowed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"asset\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"BorrowedAssetRepaid\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"asset\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"CollateralAssetAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"asset\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"CollateralAssetRemoved\",\"type\":\"event\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"DO NOT EDIT CONTRACT. If new events or storage are necessary, they should be added to a numbered CompoundDebtPositionLibBaseXXX that inherits the previous base. e.g., `CompoundDebtPositionLibBase2 is CompoundDebtPositionLibBase1`\",\"kind\":\"dev\",\"methods\":{},\"title\":\"CompoundDebtPositionLibBase1 Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"A persistent contract containing all required storage variables and required functions for a CompoundDebtPositionLib implementation\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/external-positions/compound-debt/CompoundDebtPositionLibBase1.sol\":\"CompoundDebtPositionLibBase1\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/external-positions/compound-debt/CompoundDebtPositionLibBase1.sol\":{\"keccak256\":\"0x8d9ec130a797916674485208e7f7df50a00d283cd68735c264f1785a27fa9436\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://0166814cb67aaefaf342cee12abe31434391dadc1efa404ee2654137f3009400\",\"dweb:/ipfs/QmUg7nJcK5fNHjB2zLR3veiof2EtygE81978jHtwtR2d4D\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "asset", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "amount", "type": "uint256", "indexed": false } ], "type": "event", "name": "AssetBorrowed", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "asset", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "amount", "type": "uint256", "indexed": false } ], "type": "event", "name": "BorrowedAssetRepaid", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "asset", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "amount", "type": "uint256", "indexed": false } ], "type": "event", "name": "CollateralAssetAdded", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "asset", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "amount", "type": "uint256", "indexed": false } ], "type": "event", "name": "CollateralAssetRemoved", "anonymous": false } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/persistent/external-positions/compound-debt/CompoundDebtPositionLibBase1.sol": "CompoundDebtPositionLibBase1" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/external-positions/compound-debt/CompoundDebtPositionLibBase1.sol": { "keccak256": "0x8d9ec130a797916674485208e7f7df50a00d283cd68735c264f1785a27fa9436", "urls": [ "bzz-raw://0166814cb67aaefaf342cee12abe31434391dadc1efa404ee2654137f3009400", "dweb:/ipfs/QmUg7nJcK5fNHjB2zLR3veiof2EtygE81978jHtwtR2d4D" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 29 } diff --git a/eth_defi/abi/enzyme/CompoundDebtPositionParser.json b/eth_defi/abi/enzyme/CompoundDebtPositionParser.json index f95dfeca..834bd8fc 100644 --- a/eth_defi/abi/enzyme/CompoundDebtPositionParser.json +++ b/eth_defi/abi/enzyme/CompoundDebtPositionParser.json @@ -1,545 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_compoundPriceFeed", - "type": "address" - }, - { - "internalType": "address", - "name": "_compToken", - "type": "address" - }, - { - "internalType": "address", - "name": "_valueInterpreter", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "name": "getCompToken", - "outputs": [ - { - "internalType": "address", - "name": "compToken_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getCompoundPriceFeed", - "outputs": [ - { - "internalType": "address", - "name": "compoundPriceFeed_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getValueInterpreter", - "outputs": [ - { - "internalType": "address", - "name": "valueInterpreter_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_externalPosition", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_actionId", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_encodedActionArgs", - "type": "bytes" - } - ], - "name": "parseAssetsForAction", - "outputs": [ - { - "internalType": "address[]", - "name": "assetsToTransfer_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "amountsToTransfer_", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "assetsToReceive_", - "type": "address[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "parseInitArgs", - "outputs": [ - { - "internalType": "bytes", - "name": "initArgs_", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x60e060405234801561001057600080fd5b50604051610c24380380610c248339818101604052606081101561003357600080fd5b50805160208201516040909201516001600160601b0319606092831b811660a05292821b8316608052901b1660c05260805160601c60a05160601c60c05160601c610b8d6100976000398061039a5250806103525250806103765250610b8d6000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c806332bf82271461005c57806370a58ec614610080578063875fb4b314610088578063bbd2d64614610090578063db16c72e14610227575b600080fd5b610064610350565b604080516001600160a01b039092168252519081900360200190f35b610064610374565b610064610398565b610149600480360360608110156100a657600080fd5b6001600160a01b0382351691602081013591810190606081016040820135600160201b8111156100d557600080fd5b8201836020820111156100e757600080fd5b803590602001918460018302840111600160201b8311171561010857600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506103bc945050505050565b60405180806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b83811015610191578181015183820152602001610179565b50505050905001848103835286818151815260200191508051906020019060200280838360005b838110156101d05781810151838201526020016101b8565b50505050905001848103825285818151815260200191508051906020019060200280838360005b8381101561020f5781810151838201526020016101f7565b50505050905001965050505050505060405180910390f35b6102db6004803603604081101561023d57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561026757600080fd5b82018360208201111561027957600080fd5b803590602001918460018302840111600160201b8311171561029a57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610900945050505050565b6040805160208082528351818301528351919283929083019185019080838360005b838110156103155781810151838201526020016102fd565b50505050905090810190601f1680156103425780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b6060806060806060806103ce87610914565b91945092509050876103e5578295508194506108f4565b60038814156105f75760005b83518110156105eb5760008a6001600160a01b031663d889378e86848151811061041757fe5b60200260200101516040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561045c57600080fd5b505afa158015610470573d6000803e3d6000fd5b505050506040513d602081101561048657600080fd5b505184519091506000199085908490811061049d57fe5b602002602001015114156105e257806001600160a01b031663a6afed956040518163ffffffff1660e01b8152600401602060405180830381600087803b1580156104e657600080fd5b505af11580156104fa573d6000803e3d6000fd5b505050506040513d602081101561051057600080fd5b50511561054e5760405162461bcd60e51b8152600401808060200182810382526038815260200180610b496038913960400191505060405180910390fd5b806001600160a01b03166395dd91938c6040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561059b57600080fd5b505afa1580156105af573d6000803e3d6000fd5b505050506040513d60208110156105c557600080fd5b505184518590849081106105d557fe5b6020026020010181815250505b506001016103f1565b508295508194506108f4565b600288141561088457606081806020019051602081101561061757600080fd5b8101908080516040519392919084600160201b82111561063657600080fd5b90830190602082018581111561064b57600080fd5b82518660208202830111600160201b8211171561066757600080fd5b82525081516020918201928201910280838360005b8381101561069457818101518382015260200161067c565b50505050905001604052505050905060005b845181101561087a576106b7610398565b6001600160a01b0316639be918e68683815181106106d157fe5b60200260200101516040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561071657600080fd5b505afa15801561072a573d6000803e3d6000fd5b505050506040513d602081101561074057600080fd5b505161077d5760405162461bcd60e51b8152600401808060200182810382526027815260200180610af76027913960400191505060405180910390fd5b84818151811061078957fe5b60200260200101516001600160a01b03166107a2610350565b6001600160a01b0316634cae3ad78484815181106107bc57fe5b60200260200101516040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561080157600080fd5b505afa158015610815573d6000803e3d6000fd5b505050506040513d602081101561082b57600080fd5b50516001600160a01b0316146108725760405162461bcd60e51b815260040180806020018281038252602b815260200180610b1e602b913960400191505060405180910390fd5b6001016106a6565b50839450506108f4565b6001881415610895578293506108f4565b60048814156108f45760408051600180825281830190925290602080830190803683370190505093506108c6610374565b846000815181106108d357fe5b60200260200101906001600160a01b031690816001600160a01b0316815250505b50505093509350939050565b505060408051602081019091526000815290565b606080606083806020019051606081101561092e57600080fd5b8101908080516040519392919084600160201b82111561094d57600080fd5b90830190602082018581111561096257600080fd5b82518660208202830111600160201b8211171561097e57600080fd5b82525081516020918201928201910280838360005b838110156109ab578181015183820152602001610993565b5050505090500160405260200180516040519392919084600160201b8211156109d357600080fd5b9083019060208201858111156109e857600080fd5b82518660208202830111600160201b82111715610a0457600080fd5b82525081516020918201928201910280838360005b83811015610a31578181015183820152602001610a19565b5050505090500160405260200180516040519392919084600160201b821115610a5957600080fd5b908301906020820185811115610a6e57600080fd5b8251600160201b811182820188101715610a8757600080fd5b82525081516020918201929091019080838360005b83811015610ab4578181015183820152602001610a9c565b50505050905090810190601f168015610ae15780820380516001836020036101000a031916815260200191505b5060405250939892975090955090935050505056fe7061727365417373657473466f72416374696f6e3a20556e737570706f727465642061737365747061727365417373657473466f72416374696f6e3a2042616420746f6b656e2063546f6b656e20706169727061727365417373657473466f72416374696f6e3a204572726f72207768696c652063616c6c696e6720616363727565496e746572657374a164736f6c634300060c000a", - "sourceMap": "663:5324:100:-:0;;;875:261;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;875:261:100;;;;;;;;;;;-1:-1:-1;;;;;;875:261:100;1009:40;;;;;;;1059:23;;;;;;;1092:37;;;;;663:5324;;;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106100575760003560e01c806332bf82271461005c57806370a58ec614610080578063875fb4b314610088578063bbd2d64614610090578063db16c72e14610227575b600080fd5b610064610350565b604080516001600160a01b039092168252519081900360200190f35b610064610374565b610064610398565b610149600480360360608110156100a657600080fd5b6001600160a01b0382351691602081013591810190606081016040820135600160201b8111156100d557600080fd5b8201836020820111156100e757600080fd5b803590602001918460018302840111600160201b8311171561010857600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506103bc945050505050565b60405180806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b83811015610191578181015183820152602001610179565b50505050905001848103835286818151815260200191508051906020019060200280838360005b838110156101d05781810151838201526020016101b8565b50505050905001848103825285818151815260200191508051906020019060200280838360005b8381101561020f5781810151838201526020016101f7565b50505050905001965050505050505060405180910390f35b6102db6004803603604081101561023d57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561026757600080fd5b82018360208201111561027957600080fd5b803590602001918460018302840111600160201b8311171561029a57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610900945050505050565b6040805160208082528351818301528351919283929083019185019080838360005b838110156103155781810151838201526020016102fd565b50505050905090810190601f1680156103425780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b6060806060806060806103ce87610914565b91945092509050876103e5578295508194506108f4565b60038814156105f75760005b83518110156105eb5760008a6001600160a01b031663d889378e86848151811061041757fe5b60200260200101516040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561045c57600080fd5b505afa158015610470573d6000803e3d6000fd5b505050506040513d602081101561048657600080fd5b505184519091506000199085908490811061049d57fe5b602002602001015114156105e257806001600160a01b031663a6afed956040518163ffffffff1660e01b8152600401602060405180830381600087803b1580156104e657600080fd5b505af11580156104fa573d6000803e3d6000fd5b505050506040513d602081101561051057600080fd5b50511561054e5760405162461bcd60e51b8152600401808060200182810382526038815260200180610b496038913960400191505060405180910390fd5b806001600160a01b03166395dd91938c6040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561059b57600080fd5b505afa1580156105af573d6000803e3d6000fd5b505050506040513d60208110156105c557600080fd5b505184518590849081106105d557fe5b6020026020010181815250505b506001016103f1565b508295508194506108f4565b600288141561088457606081806020019051602081101561061757600080fd5b8101908080516040519392919084600160201b82111561063657600080fd5b90830190602082018581111561064b57600080fd5b82518660208202830111600160201b8211171561066757600080fd5b82525081516020918201928201910280838360005b8381101561069457818101518382015260200161067c565b50505050905001604052505050905060005b845181101561087a576106b7610398565b6001600160a01b0316639be918e68683815181106106d157fe5b60200260200101516040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561071657600080fd5b505afa15801561072a573d6000803e3d6000fd5b505050506040513d602081101561074057600080fd5b505161077d5760405162461bcd60e51b8152600401808060200182810382526027815260200180610af76027913960400191505060405180910390fd5b84818151811061078957fe5b60200260200101516001600160a01b03166107a2610350565b6001600160a01b0316634cae3ad78484815181106107bc57fe5b60200260200101516040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561080157600080fd5b505afa158015610815573d6000803e3d6000fd5b505050506040513d602081101561082b57600080fd5b50516001600160a01b0316146108725760405162461bcd60e51b815260040180806020018281038252602b815260200180610b1e602b913960400191505060405180910390fd5b6001016106a6565b50839450506108f4565b6001881415610895578293506108f4565b60048814156108f45760408051600180825281830190925290602080830190803683370190505093506108c6610374565b846000815181106108d357fe5b60200260200101906001600160a01b031690816001600160a01b0316815250505b50505093509350939050565b505060408051602081019091526000815290565b606080606083806020019051606081101561092e57600080fd5b8101908080516040519392919084600160201b82111561094d57600080fd5b90830190602082018581111561096257600080fd5b82518660208202830111600160201b8211171561097e57600080fd5b82525081516020918201928201910280838360005b838110156109ab578181015183820152602001610993565b5050505090500160405260200180516040519392919084600160201b8211156109d357600080fd5b9083019060208201858111156109e857600080fd5b82518660208202830111600160201b82111715610a0457600080fd5b82525081516020918201928201910280838360005b83811015610a31578181015183820152602001610a19565b5050505090500160405260200180516040519392919084600160201b821115610a5957600080fd5b908301906020820185811115610a6e57600080fd5b8251600160201b811182820188101715610a8757600080fd5b82525081516020918201929091019080838360005b83811015610ab4578181015183820152602001610a9c565b50505050905090810190601f168015610ae15780820380516001836020036101000a031916815260200191505b5060405250939892975090955090935050505056fe7061727365417373657473466f72416374696f6e3a20556e737570706f727465642061737365747061727365417373657473466f72416374696f6e3a2042616420746f6b656e2063546f6b656e20706169727061727365417373657473466f72416374696f6e3a204572726f72207768696c652063616c6c696e6720616363727565496e746572657374a164736f6c634300060c000a", - "sourceMap": "663:5324:100:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5397:124;;;:::i;:::-;;;;-1:-1:-1;;;;;5397:124:100;;;;;;;;;;;;;;5633:99;;;:::i;5865:120::-;;;:::i;1681:2686::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1681:2686:100;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1681:2686:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1681:2686:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1681:2686:100;;-1:-1:-1;1681:2686:100;;-1:-1:-1;;;;;1681:2686:100:i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4575:151;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4575:151:100;;;;;;;;;;;;;;;-1:-1:-1;;;4575:151:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4575:151:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4575:151:100;;-1:-1:-1;4575:151:100;;-1:-1:-1;;;;;4575:151:100:i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5397:124;5495:19;5397:124;:::o;5633:99::-;5715:10;5633:99;:::o;5865:120::-;5961:17;5865:120;:::o;1681:2686::-;1884:34;1932:35;1981:33;2053:23;2090:24;2128:17;2158:45;2184:18;2158:25;:45::i;:::-;2039:164;;-1:-1:-1;2039:164:100;-1:-1:-1;2039:164:100;-1:-1:-1;2218:81:100;2214:2072;;2335:6;2315:26;;2376:7;2355:28;;2214:2072;;;2438:57;2417:9;:79;2400:1886;;;2526:9;2521:593;2541:6;:13;2537:1;:17;2521:593;;;2579:14;2618:17;-1:-1:-1;;;;;2596:88:100;;2685:6;2692:1;2685:9;;;;;;;;;;;;;;2596:99;;;;;;;;;;;;;-1:-1:-1;;;;;2596:99:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2596:99:100;2760:10;;2596:99;;-1:-1:-1;;;2774:17:100;2760:7;;2768:1;;2760:10;;;;;;;;;;;;:31;2756:344;;;2856:6;-1:-1:-1;;;;;2848:30:100;;:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2848:32:100;:37;2815:176;;;;-1:-1:-1;;;2815:176:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3035:6;-1:-1:-1;;;;;3027:35:100;;3063:17;3027:54;;;;;;;;;;;;;-1:-1:-1;;;;;3027:54:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3027:54:100;3014:10;;:7;;3022:1;;3014:10;;;;;;;;;;;:67;;;;;2756:344;-1:-1:-1;2556:3:100;;2521:593;;;;3148:6;3128:26;;3189:7;3168:28;;2400:1886;;;3238:52;3217:9;:74;3213:1073;;;3307:24;3345:4;3334:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3334:29:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3334:29:100;;;;;;;;;;;;-1:-1:-1;3334:29:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3307:56;;3382:9;3377:492;3397:6;:13;3393:1;:17;3377:492;;;3482:21;:19;:21::i;:::-;-1:-1:-1;;;;;3464:57:100;;3522:6;3529:1;3522:9;;;;;;;;;;;;;;3464:68;;;;;;;;;;;;;-1:-1:-1;;;;;3464:68:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3464:68:100;3435:178;;;;-1:-1:-1;;;3435:178:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3760:6;3767:1;3760:9;;;;;;;;;;;;;;-1:-1:-1;;;;;3660:109:100;3678:22;:20;:22::i;:::-;-1:-1:-1;;;;;3660:60:100;;3721:7;3729:1;3721:10;;;;;;;;;;;;;;3660:72;;;;;;;;;;;;;-1:-1:-1;;;;;3660:72:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3660:72:100;-1:-1:-1;;;;;3660:109:100;;3631:223;;;;-1:-1:-1;;;3631:223:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3412:3;;3377:492;;;;3902:6;3883:25;;3213:1073;;;;3963:62;3942:9;:84;3925:361;;;4070:6;4051:25;;3925:361;;;4118:55;4097:9;:77;4093:193;;;4209:16;;;4223:1;4209:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4209:16:100;4190:35;;4261:14;:12;:14::i;:::-;4239:16;4256:1;4239:19;;;;;;;;;;;;;:36;-1:-1:-1;;;;;4239:36:100;;;-1:-1:-1;;;;;4239:36:100;;;;;4093:193;4296:64;;;1681:2686;;;;;;;:::o;4575:151::-;-1:-1:-1;;4710:9:100;;;;;;;;;-1:-1:-1;4710:9:100;;;4575:151::o;4800:386::-;4926:24;4964:25;5003:18;5086:17;5075:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5075:60:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5075:60:100;;;;;;;;;;;;-1:-1:-1;5075:60:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5075:60:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5075:60:100;;;;;;;;;;;;-1:-1:-1;5075:60:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5075:60:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5075:60:100;;;;;;-1:-1:-1;5075:60:100;;;;;;;;;;-1:-1:-1;5075:60:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5075:60:100;;-1:-1:-1;5046:89:100;;;;-1:-1:-1;5046:89:100;;-1:-1:-1;4800:386:100;;-1:-1:-1;;;;4800:386:100:o", - "linkReferences": {}, - "immutableReferences": { - "24340": [ - { - "start": 886, - "length": 32 - } - ], - "24342": [ - { - "start": 850, - "length": 32 - } - ], - "24344": [ - { - "start": 922, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "getCompToken()": "70a58ec6", - "getCompoundPriceFeed()": "32bf8227", - "getValueInterpreter()": "875fb4b3", - "parseAssetsForAction(address,uint256,bytes)": "bbd2d646", - "parseInitArgs(address,bytes)": "db16c72e" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_compoundPriceFeed\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_compToken\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_valueInterpreter\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"getCompToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"compToken_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCompoundPriceFeed\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"compoundPriceFeed_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getValueInterpreter\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"valueInterpreter_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_externalPosition\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_actionId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_encodedActionArgs\",\"type\":\"bytes\"}],\"name\":\"parseAssetsForAction\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"assetsToTransfer_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amountsToTransfer_\",\"type\":\"uint256[]\"},{\"internalType\":\"address[]\",\"name\":\"assetsToReceive_\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"parseInitArgs\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"initArgs_\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"getCompToken()\":{\"returns\":{\"compToken_\":\"The `COMP_TOKEN` variable value\"}},\"getCompoundPriceFeed()\":{\"returns\":{\"compoundPriceFeed_\":\"The `COMPOUND_PRICE_FEED` variable value\"}},\"getValueInterpreter()\":{\"returns\":{\"valueInterpreter_\":\"The `VALUE_INTERPRETER` variable value\"}},\"parseAssetsForAction(address,uint256,bytes)\":{\"params\":{\"_actionId\":\"The _actionId for the callOnExternalPosition\",\"_encodedActionArgs\":\"The encoded parameters for the callOnExternalPosition\",\"_externalPosition\":\"The _externalPosition to be called\"},\"returns\":{\"amountsToTransfer_\":\"The amounts to be transfered from the Vault\",\"assetsToReceive_\":\"The assets to be received at the Vault\",\"assetsToTransfer_\":\"The assets to be transfered from the Vault\"}},\"parseInitArgs(address,bytes)\":{\"returns\":{\"initArgs_\":\"Parsed and encoded args for ExternalPositionProxy.init()\"}}},\"title\":\"CompoundDebtPositionParser\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getCompToken()\":{\"notice\":\"Gets the `COMP_TOKEN` variable\"},\"getCompoundPriceFeed()\":{\"notice\":\"Gets the `COMPOUND_PRICE_FEED` variable\"},\"getValueInterpreter()\":{\"notice\":\"Gets the `VALUE_INTERPRETER` variable\"},\"parseAssetsForAction(address,uint256,bytes)\":{\"notice\":\"Parses the assets to send and receive for the callOnExternalPosition\"},\"parseInitArgs(address,bytes)\":{\"notice\":\"Parse and validate input arguments to be used when initializing a newly-deployed ExternalPositionProxy\"}},\"notice\":\"Parser for Compound Debt Positions\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/compound-debt/CompoundDebtPositionParser.sol\":\"CompoundDebtPositionParser\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/extensions/external-position-manager/external-positions/IExternalPositionParser.sol\":{\"keccak256\":\"0x1662fbd65841ee5e9cf8d5329b9d04c264b24ef68ae1e0484e59a8969b0d2c46\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://580569b0f875e0344db83fae1e72dcc6c0767a049b2a6cc3e4f3c411d2284b27\",\"dweb:/ipfs/QmXFmF9QbcVsPHaBo1iq8sZHYhDkwfkMZpHmLTuJJ37NvZ\"]},\"contracts/release/extensions/external-position-manager/external-positions/compound-debt/CompoundDebtPositionParser.sol\":{\"keccak256\":\"0xf9691047ba7026da5a56f627da689448bca34a8f63c9f1fa151c7286a9475a9f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1ea99f47092850bb34872df1f2e4cc72d7bdba89e34173e430807506b06f7f5e\",\"dweb:/ipfs/QmYeBgjXUMUPRqjxC1znHqvWXnF7NEvk8nFqZ3Mukhi9gg\"]},\"contracts/release/extensions/external-position-manager/external-positions/compound-debt/ICompoundDebtPosition.sol\":{\"keccak256\":\"0x4d34a19fee1f68caae8acd663ab2bb606d579816ffe720bf846b9f50369b6de1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f420596f7f96a285ae54cb19a778030d723905ce8f0ed28b3108dd79db7ca35d\",\"dweb:/ipfs/Qmdd1ch2mr25FX32DnxC3rS5YtPTCbfBfmqxCoADBrnEE5\"]},\"contracts/release/infrastructure/price-feeds/derivatives/AggregatedDerivativePriceFeedMixin.sol\":{\"keccak256\":\"0x85d2ac39834dae7feb04f0e37317a38b8abeb0f950692fbc9d29078c52cd8d52\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://7bf8f1ce064d85a2812a944fc93068955b233924097f7f45898be3db826579d5\",\"dweb:/ipfs/Qme7f6AhxLVn32prM8fHaCvxtVi86A9KqFMqPA1s88kVYR\"]},\"contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol\":{\"keccak256\":\"0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e\",\"dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK\"]},\"contracts/release/infrastructure/price-feeds/derivatives/feeds/CompoundPriceFeed.sol\":{\"keccak256\":\"0x1addbd55e648a9a1c4cdbf8a7549a9f4eced25f7478b0b4f467ab7cafe7162bc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6f165a37d3fb05d9044042c4a719b728fb6a499c5dabc53945b8775decb06560\",\"dweb:/ipfs/QmY2VnnAknyrticer1jtWVMCr4Ea3tv4XfW71BVGrgoBGH\"]},\"contracts/release/infrastructure/price-feeds/primitives/ChainlinkPriceFeedMixin.sol\":{\"keccak256\":\"0x7fb0078e7387f07ff09958fe4e4e7b317e72c23884f61e8c133776cad522f8bb\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://e973f29ed0c3bf03e20154ab4b0cfc68c3a4372a52ec746f9d9f86697b30e977\",\"dweb:/ipfs/QmfMb7H1zNnj2hzmUr6742HmCTiNVuQ2PFjeR8q2M4Liyu\"]},\"contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol\":{\"keccak256\":\"0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965\",\"dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ\"]},\"contracts/release/infrastructure/value-interpreter/ValueInterpreter.sol\":{\"keccak256\":\"0x64565011785d0d29a75021cda34687cfbc0641094d6f2faf4d9c78c8cd9f0d1d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://03ea9b29a332436d18ca1a4df7e5cdf231d5142dfb916a39cb3a721342d54e0e\",\"dweb:/ipfs/QmcB8Z7A7QELAxg2FfJpD26k2bUhMNUT4wACMVKxuge3QS\"]},\"contracts/release/interfaces/ICERC20.sol\":{\"keccak256\":\"0x9a32a6ca307ac613bde26844d33e1732ae348bceffc93d63e3691f2ff22c6e0b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9c7aff5bf1c249fab27262fb1dc934325e259e5fd6857fbad70c8684f8ee4247\",\"dweb:/ipfs/QmTAneTyW2oCTZGVMVEAp77qMW9U9NymoK8k3RcwpNRh5W\"]},\"contracts/release/interfaces/IChainlinkAggregator.sol\":{\"keccak256\":\"0x8104db68d4edc00c86b29b366f4397cdbe7bd95bb9dc90f54140af4bae963788\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://4664240be22fe76bd4e84d1cbaace3998dbc96759a14345819a889f0c288d22e\",\"dweb:/ipfs/QmQ8fbA4tvXeCeaAFeS2JrLEQUPFeYrePAKoUywRtcicgA\"]},\"contracts/release/utils/FundDeployerOwnerMixin.sol\":{\"keccak256\":\"0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927\",\"dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM\"]},\"contracts/release/utils/MathHelpers.sol\":{\"keccak256\":\"0x8aef498ae98bfb40cd1df8c9ed652b4c092fbbe62d5a1fad522c53654523248e\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ed62789f6a8d5ca30a40c591f244b915e4711493a9e4b1b4d40ea2bc97b02a95\",\"dweb:/ipfs/QmWyXJ55arURtx9VMkUQokdsjk8tbgM2cC8rENFUMyz5D3\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_compoundPriceFeed", - "type": "address" - }, - { - "internalType": "address", - "name": "_compToken", - "type": "address" - }, - { - "internalType": "address", - "name": "_valueInterpreter", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getCompToken", - "outputs": [ - { - "internalType": "address", - "name": "compToken_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getCompoundPriceFeed", - "outputs": [ - { - "internalType": "address", - "name": "compoundPriceFeed_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getValueInterpreter", - "outputs": [ - { - "internalType": "address", - "name": "valueInterpreter_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_externalPosition", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_actionId", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_encodedActionArgs", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "parseAssetsForAction", - "outputs": [ - { - "internalType": "address[]", - "name": "assetsToTransfer_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "amountsToTransfer_", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "assetsToReceive_", - "type": "address[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "parseInitArgs", - "outputs": [ - { - "internalType": "bytes", - "name": "initArgs_", - "type": "bytes" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "getCompToken()": { - "returns": { - "compToken_": "The `COMP_TOKEN` variable value" - } - }, - "getCompoundPriceFeed()": { - "returns": { - "compoundPriceFeed_": "The `COMPOUND_PRICE_FEED` variable value" - } - }, - "getValueInterpreter()": { - "returns": { - "valueInterpreter_": "The `VALUE_INTERPRETER` variable value" - } - }, - "parseAssetsForAction(address,uint256,bytes)": { - "params": { - "_actionId": "The _actionId for the callOnExternalPosition", - "_encodedActionArgs": "The encoded parameters for the callOnExternalPosition", - "_externalPosition": "The _externalPosition to be called" - }, - "returns": { - "amountsToTransfer_": "The amounts to be transfered from the Vault", - "assetsToReceive_": "The assets to be received at the Vault", - "assetsToTransfer_": "The assets to be transfered from the Vault" - } - }, - "parseInitArgs(address,bytes)": { - "returns": { - "initArgs_": "Parsed and encoded args for ExternalPositionProxy.init()" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "getCompToken()": { - "notice": "Gets the `COMP_TOKEN` variable" - }, - "getCompoundPriceFeed()": { - "notice": "Gets the `COMPOUND_PRICE_FEED` variable" - }, - "getValueInterpreter()": { - "notice": "Gets the `VALUE_INTERPRETER` variable" - }, - "parseAssetsForAction(address,uint256,bytes)": { - "notice": "Parses the assets to send and receive for the callOnExternalPosition" - }, - "parseInitArgs(address,bytes)": { - "notice": "Parse and validate input arguments to be used when initializing a newly-deployed ExternalPositionProxy" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/external-position-manager/external-positions/compound-debt/CompoundDebtPositionParser.sol": "CompoundDebtPositionParser" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/external-positions/IExternalPosition.sol": { - "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", - "urls": [ - "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", - "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund-deployer/IFundDeployer.sol": { - "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", - "urls": [ - "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", - "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/IExternalPositionParser.sol": { - "keccak256": "0x1662fbd65841ee5e9cf8d5329b9d04c264b24ef68ae1e0484e59a8969b0d2c46", - "urls": [ - "bzz-raw://580569b0f875e0344db83fae1e72dcc6c0767a049b2a6cc3e4f3c411d2284b27", - "dweb:/ipfs/QmXFmF9QbcVsPHaBo1iq8sZHYhDkwfkMZpHmLTuJJ37NvZ" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/compound-debt/CompoundDebtPositionParser.sol": { - "keccak256": "0xf9691047ba7026da5a56f627da689448bca34a8f63c9f1fa151c7286a9475a9f", - "urls": [ - "bzz-raw://1ea99f47092850bb34872df1f2e4cc72d7bdba89e34173e430807506b06f7f5e", - "dweb:/ipfs/QmYeBgjXUMUPRqjxC1znHqvWXnF7NEvk8nFqZ3Mukhi9gg" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/compound-debt/ICompoundDebtPosition.sol": { - "keccak256": "0x4d34a19fee1f68caae8acd663ab2bb606d579816ffe720bf846b9f50369b6de1", - "urls": [ - "bzz-raw://f420596f7f96a285ae54cb19a778030d723905ce8f0ed28b3108dd79db7ca35d", - "dweb:/ipfs/Qmdd1ch2mr25FX32DnxC3rS5YtPTCbfBfmqxCoADBrnEE5" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/price-feeds/derivatives/AggregatedDerivativePriceFeedMixin.sol": { - "keccak256": "0x85d2ac39834dae7feb04f0e37317a38b8abeb0f950692fbc9d29078c52cd8d52", - "urls": [ - "bzz-raw://7bf8f1ce064d85a2812a944fc93068955b233924097f7f45898be3db826579d5", - "dweb:/ipfs/Qme7f6AhxLVn32prM8fHaCvxtVi86A9KqFMqPA1s88kVYR" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol": { - "keccak256": "0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332", - "urls": [ - "bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e", - "dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/price-feeds/derivatives/feeds/CompoundPriceFeed.sol": { - "keccak256": "0x1addbd55e648a9a1c4cdbf8a7549a9f4eced25f7478b0b4f467ab7cafe7162bc", - "urls": [ - "bzz-raw://6f165a37d3fb05d9044042c4a719b728fb6a499c5dabc53945b8775decb06560", - "dweb:/ipfs/QmY2VnnAknyrticer1jtWVMCr4Ea3tv4XfW71BVGrgoBGH" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/price-feeds/primitives/ChainlinkPriceFeedMixin.sol": { - "keccak256": "0x7fb0078e7387f07ff09958fe4e4e7b317e72c23884f61e8c133776cad522f8bb", - "urls": [ - "bzz-raw://e973f29ed0c3bf03e20154ab4b0cfc68c3a4372a52ec746f9d9f86697b30e977", - "dweb:/ipfs/QmfMb7H1zNnj2hzmUr6742HmCTiNVuQ2PFjeR8q2M4Liyu" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol": { - "keccak256": "0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794", - "urls": [ - "bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965", - "dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/value-interpreter/ValueInterpreter.sol": { - "keccak256": "0x64565011785d0d29a75021cda34687cfbc0641094d6f2faf4d9c78c8cd9f0d1d", - "urls": [ - "bzz-raw://03ea9b29a332436d18ca1a4df7e5cdf231d5142dfb916a39cb3a721342d54e0e", - "dweb:/ipfs/QmcB8Z7A7QELAxg2FfJpD26k2bUhMNUT4wACMVKxuge3QS" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/ICERC20.sol": { - "keccak256": "0x9a32a6ca307ac613bde26844d33e1732ae348bceffc93d63e3691f2ff22c6e0b", - "urls": [ - "bzz-raw://9c7aff5bf1c249fab27262fb1dc934325e259e5fd6857fbad70c8684f8ee4247", - "dweb:/ipfs/QmTAneTyW2oCTZGVMVEAp77qMW9U9NymoK8k3RcwpNRh5W" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IChainlinkAggregator.sol": { - "keccak256": "0x8104db68d4edc00c86b29b366f4397cdbe7bd95bb9dc90f54140af4bae963788", - "urls": [ - "bzz-raw://4664240be22fe76bd4e84d1cbaace3998dbc96759a14345819a889f0c288d22e", - "dweb:/ipfs/QmQ8fbA4tvXeCeaAFeS2JrLEQUPFeYrePAKoUywRtcicgA" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/FundDeployerOwnerMixin.sol": { - "keccak256": "0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934", - "urls": [ - "bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927", - "dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/MathHelpers.sol": { - "keccak256": "0x8aef498ae98bfb40cd1df8c9ed652b4c092fbbe62d5a1fad522c53654523248e", - "urls": [ - "bzz-raw://ed62789f6a8d5ca30a40c591f244b915e4711493a9e4b1b4d40ea2bc97b02a95", - "dweb:/ipfs/QmWyXJ55arURtx9VMkUQokdsjk8tbgM2cC8rENFUMyz5D3" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 100 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_compoundPriceFeed", "type": "address", "internalType": "address" }, { "name": "_compToken", "type": "address", "internalType": "address" }, { "name": "_valueInterpreter", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "getCompToken", "inputs": [], "outputs": [ { "name": "compToken_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getCompoundPriceFeed", "inputs": [], "outputs": [ { "name": "compoundPriceFeed_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getValueInterpreter", "inputs": [], "outputs": [ { "name": "valueInterpreter_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "parseAssetsForAction", "inputs": [ { "name": "_externalPosition", "type": "address", "internalType": "address" }, { "name": "_actionId", "type": "uint256", "internalType": "uint256" }, { "name": "_encodedActionArgs", "type": "bytes", "internalType": "bytes" } ], "outputs": [ { "name": "assetsToTransfer_", "type": "address[]", "internalType": "address[]" }, { "name": "amountsToTransfer_", "type": "uint256[]", "internalType": "uint256[]" }, { "name": "assetsToReceive_", "type": "address[]", "internalType": "address[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "parseInitArgs", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [ { "name": "initArgs_", "type": "bytes", "internalType": "bytes" } ], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x60e060405234801561001057600080fd5b50604051610c24380380610c248339818101604052606081101561003357600080fd5b50805160208201516040909201516001600160601b0319606092831b811660a05292821b8316608052901b1660c05260805160601c60a05160601c60c05160601c610b8d6100976000398061039a5250806103525250806103765250610b8d6000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c806332bf82271461005c57806370a58ec614610080578063875fb4b314610088578063bbd2d64614610090578063db16c72e14610227575b600080fd5b610064610350565b604080516001600160a01b039092168252519081900360200190f35b610064610374565b610064610398565b610149600480360360608110156100a657600080fd5b6001600160a01b0382351691602081013591810190606081016040820135600160201b8111156100d557600080fd5b8201836020820111156100e757600080fd5b803590602001918460018302840111600160201b8311171561010857600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506103bc945050505050565b60405180806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b83811015610191578181015183820152602001610179565b50505050905001848103835286818151815260200191508051906020019060200280838360005b838110156101d05781810151838201526020016101b8565b50505050905001848103825285818151815260200191508051906020019060200280838360005b8381101561020f5781810151838201526020016101f7565b50505050905001965050505050505060405180910390f35b6102db6004803603604081101561023d57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561026757600080fd5b82018360208201111561027957600080fd5b803590602001918460018302840111600160201b8311171561029a57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610900945050505050565b6040805160208082528351818301528351919283929083019185019080838360005b838110156103155781810151838201526020016102fd565b50505050905090810190601f1680156103425780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b6060806060806060806103ce87610914565b91945092509050876103e5578295508194506108f4565b60038814156105f75760005b83518110156105eb5760008a6001600160a01b031663d889378e86848151811061041757fe5b60200260200101516040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561045c57600080fd5b505afa158015610470573d6000803e3d6000fd5b505050506040513d602081101561048657600080fd5b505184519091506000199085908490811061049d57fe5b602002602001015114156105e257806001600160a01b031663a6afed956040518163ffffffff1660e01b8152600401602060405180830381600087803b1580156104e657600080fd5b505af11580156104fa573d6000803e3d6000fd5b505050506040513d602081101561051057600080fd5b50511561054e5760405162461bcd60e51b8152600401808060200182810382526038815260200180610b496038913960400191505060405180910390fd5b806001600160a01b03166395dd91938c6040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561059b57600080fd5b505afa1580156105af573d6000803e3d6000fd5b505050506040513d60208110156105c557600080fd5b505184518590849081106105d557fe5b6020026020010181815250505b506001016103f1565b508295508194506108f4565b600288141561088457606081806020019051602081101561061757600080fd5b8101908080516040519392919084600160201b82111561063657600080fd5b90830190602082018581111561064b57600080fd5b82518660208202830111600160201b8211171561066757600080fd5b82525081516020918201928201910280838360005b8381101561069457818101518382015260200161067c565b50505050905001604052505050905060005b845181101561087a576106b7610398565b6001600160a01b0316639be918e68683815181106106d157fe5b60200260200101516040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561071657600080fd5b505afa15801561072a573d6000803e3d6000fd5b505050506040513d602081101561074057600080fd5b505161077d5760405162461bcd60e51b8152600401808060200182810382526027815260200180610af76027913960400191505060405180910390fd5b84818151811061078957fe5b60200260200101516001600160a01b03166107a2610350565b6001600160a01b0316634cae3ad78484815181106107bc57fe5b60200260200101516040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561080157600080fd5b505afa158015610815573d6000803e3d6000fd5b505050506040513d602081101561082b57600080fd5b50516001600160a01b0316146108725760405162461bcd60e51b815260040180806020018281038252602b815260200180610b1e602b913960400191505060405180910390fd5b6001016106a6565b50839450506108f4565b6001881415610895578293506108f4565b60048814156108f45760408051600180825281830190925290602080830190803683370190505093506108c6610374565b846000815181106108d357fe5b60200260200101906001600160a01b031690816001600160a01b0316815250505b50505093509350939050565b505060408051602081019091526000815290565b606080606083806020019051606081101561092e57600080fd5b8101908080516040519392919084600160201b82111561094d57600080fd5b90830190602082018581111561096257600080fd5b82518660208202830111600160201b8211171561097e57600080fd5b82525081516020918201928201910280838360005b838110156109ab578181015183820152602001610993565b5050505090500160405260200180516040519392919084600160201b8211156109d357600080fd5b9083019060208201858111156109e857600080fd5b82518660208202830111600160201b82111715610a0457600080fd5b82525081516020918201928201910280838360005b83811015610a31578181015183820152602001610a19565b5050505090500160405260200180516040519392919084600160201b821115610a5957600080fd5b908301906020820185811115610a6e57600080fd5b8251600160201b811182820188101715610a8757600080fd5b82525081516020918201929091019080838360005b83811015610ab4578181015183820152602001610a9c565b50505050905090810190601f168015610ae15780820380516001836020036101000a031916815260200191505b5060405250939892975090955090935050505056fe7061727365417373657473466f72416374696f6e3a20556e737570706f727465642061737365747061727365417373657473466f72416374696f6e3a2042616420746f6b656e2063546f6b656e20706169727061727365417373657473466f72416374696f6e3a204572726f72207768696c652063616c6c696e6720616363727565496e746572657374a164736f6c634300060c000a", "sourceMap": "663:5324:100:-:0;;;875:261;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;875:261:100;;;;;;;;;;;-1:-1:-1;;;;;;875:261:100;1009:40;;;;;;;1059:23;;;;;;;1092:37;;;;;663:5324;;;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106100575760003560e01c806332bf82271461005c57806370a58ec614610080578063875fb4b314610088578063bbd2d64614610090578063db16c72e14610227575b600080fd5b610064610350565b604080516001600160a01b039092168252519081900360200190f35b610064610374565b610064610398565b610149600480360360608110156100a657600080fd5b6001600160a01b0382351691602081013591810190606081016040820135600160201b8111156100d557600080fd5b8201836020820111156100e757600080fd5b803590602001918460018302840111600160201b8311171561010857600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506103bc945050505050565b60405180806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b83811015610191578181015183820152602001610179565b50505050905001848103835286818151815260200191508051906020019060200280838360005b838110156101d05781810151838201526020016101b8565b50505050905001848103825285818151815260200191508051906020019060200280838360005b8381101561020f5781810151838201526020016101f7565b50505050905001965050505050505060405180910390f35b6102db6004803603604081101561023d57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561026757600080fd5b82018360208201111561027957600080fd5b803590602001918460018302840111600160201b8311171561029a57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610900945050505050565b6040805160208082528351818301528351919283929083019185019080838360005b838110156103155781810151838201526020016102fd565b50505050905090810190601f1680156103425780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b6060806060806060806103ce87610914565b91945092509050876103e5578295508194506108f4565b60038814156105f75760005b83518110156105eb5760008a6001600160a01b031663d889378e86848151811061041757fe5b60200260200101516040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561045c57600080fd5b505afa158015610470573d6000803e3d6000fd5b505050506040513d602081101561048657600080fd5b505184519091506000199085908490811061049d57fe5b602002602001015114156105e257806001600160a01b031663a6afed956040518163ffffffff1660e01b8152600401602060405180830381600087803b1580156104e657600080fd5b505af11580156104fa573d6000803e3d6000fd5b505050506040513d602081101561051057600080fd5b50511561054e5760405162461bcd60e51b8152600401808060200182810382526038815260200180610b496038913960400191505060405180910390fd5b806001600160a01b03166395dd91938c6040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561059b57600080fd5b505afa1580156105af573d6000803e3d6000fd5b505050506040513d60208110156105c557600080fd5b505184518590849081106105d557fe5b6020026020010181815250505b506001016103f1565b508295508194506108f4565b600288141561088457606081806020019051602081101561061757600080fd5b8101908080516040519392919084600160201b82111561063657600080fd5b90830190602082018581111561064b57600080fd5b82518660208202830111600160201b8211171561066757600080fd5b82525081516020918201928201910280838360005b8381101561069457818101518382015260200161067c565b50505050905001604052505050905060005b845181101561087a576106b7610398565b6001600160a01b0316639be918e68683815181106106d157fe5b60200260200101516040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561071657600080fd5b505afa15801561072a573d6000803e3d6000fd5b505050506040513d602081101561074057600080fd5b505161077d5760405162461bcd60e51b8152600401808060200182810382526027815260200180610af76027913960400191505060405180910390fd5b84818151811061078957fe5b60200260200101516001600160a01b03166107a2610350565b6001600160a01b0316634cae3ad78484815181106107bc57fe5b60200260200101516040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561080157600080fd5b505afa158015610815573d6000803e3d6000fd5b505050506040513d602081101561082b57600080fd5b50516001600160a01b0316146108725760405162461bcd60e51b815260040180806020018281038252602b815260200180610b1e602b913960400191505060405180910390fd5b6001016106a6565b50839450506108f4565b6001881415610895578293506108f4565b60048814156108f45760408051600180825281830190925290602080830190803683370190505093506108c6610374565b846000815181106108d357fe5b60200260200101906001600160a01b031690816001600160a01b0316815250505b50505093509350939050565b505060408051602081019091526000815290565b606080606083806020019051606081101561092e57600080fd5b8101908080516040519392919084600160201b82111561094d57600080fd5b90830190602082018581111561096257600080fd5b82518660208202830111600160201b8211171561097e57600080fd5b82525081516020918201928201910280838360005b838110156109ab578181015183820152602001610993565b5050505090500160405260200180516040519392919084600160201b8211156109d357600080fd5b9083019060208201858111156109e857600080fd5b82518660208202830111600160201b82111715610a0457600080fd5b82525081516020918201928201910280838360005b83811015610a31578181015183820152602001610a19565b5050505090500160405260200180516040519392919084600160201b821115610a5957600080fd5b908301906020820185811115610a6e57600080fd5b8251600160201b811182820188101715610a8757600080fd5b82525081516020918201929091019080838360005b83811015610ab4578181015183820152602001610a9c565b50505050905090810190601f168015610ae15780820380516001836020036101000a031916815260200191505b5060405250939892975090955090935050505056fe7061727365417373657473466f72416374696f6e3a20556e737570706f727465642061737365747061727365417373657473466f72416374696f6e3a2042616420746f6b656e2063546f6b656e20706169727061727365417373657473466f72416374696f6e3a204572726f72207768696c652063616c6c696e6720616363727565496e746572657374a164736f6c634300060c000a", "sourceMap": "663:5324:100:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5397:124;;;:::i;:::-;;;;-1:-1:-1;;;;;5397:124:100;;;;;;;;;;;;;;5633:99;;;:::i;5865:120::-;;;:::i;1681:2686::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1681:2686:100;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1681:2686:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1681:2686:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1681:2686:100;;-1:-1:-1;1681:2686:100;;-1:-1:-1;;;;;1681:2686:100:i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4575:151;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4575:151:100;;;;;;;;;;;;;;;-1:-1:-1;;;4575:151:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4575:151:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4575:151:100;;-1:-1:-1;4575:151:100;;-1:-1:-1;;;;;4575:151:100:i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5397:124;5495:19;5397:124;:::o;5633:99::-;5715:10;5633:99;:::o;5865:120::-;5961:17;5865:120;:::o;1681:2686::-;1884:34;1932:35;1981:33;2053:23;2090:24;2128:17;2158:45;2184:18;2158:25;:45::i;:::-;2039:164;;-1:-1:-1;2039:164:100;-1:-1:-1;2039:164:100;-1:-1:-1;2218:81:100;2214:2072;;2335:6;2315:26;;2376:7;2355:28;;2214:2072;;;2438:57;2417:9;:79;2400:1886;;;2526:9;2521:593;2541:6;:13;2537:1;:17;2521:593;;;2579:14;2618:17;-1:-1:-1;;;;;2596:88:100;;2685:6;2692:1;2685:9;;;;;;;;;;;;;;2596:99;;;;;;;;;;;;;-1:-1:-1;;;;;2596:99:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2596:99:100;2760:10;;2596:99;;-1:-1:-1;;;2774:17:100;2760:7;;2768:1;;2760:10;;;;;;;;;;;;:31;2756:344;;;2856:6;-1:-1:-1;;;;;2848:30:100;;:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2848:32:100;:37;2815:176;;;;-1:-1:-1;;;2815:176:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3035:6;-1:-1:-1;;;;;3027:35:100;;3063:17;3027:54;;;;;;;;;;;;;-1:-1:-1;;;;;3027:54:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3027:54:100;3014:10;;:7;;3022:1;;3014:10;;;;;;;;;;;:67;;;;;2756:344;-1:-1:-1;2556:3:100;;2521:593;;;;3148:6;3128:26;;3189:7;3168:28;;2400:1886;;;3238:52;3217:9;:74;3213:1073;;;3307:24;3345:4;3334:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3334:29:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3334:29:100;;;;;;;;;;;;-1:-1:-1;3334:29:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3307:56;;3382:9;3377:492;3397:6;:13;3393:1;:17;3377:492;;;3482:21;:19;:21::i;:::-;-1:-1:-1;;;;;3464:57:100;;3522:6;3529:1;3522:9;;;;;;;;;;;;;;3464:68;;;;;;;;;;;;;-1:-1:-1;;;;;3464:68:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3464:68:100;3435:178;;;;-1:-1:-1;;;3435:178:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3760:6;3767:1;3760:9;;;;;;;;;;;;;;-1:-1:-1;;;;;3660:109:100;3678:22;:20;:22::i;:::-;-1:-1:-1;;;;;3660:60:100;;3721:7;3729:1;3721:10;;;;;;;;;;;;;;3660:72;;;;;;;;;;;;;-1:-1:-1;;;;;3660:72:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3660:72:100;-1:-1:-1;;;;;3660:109:100;;3631:223;;;;-1:-1:-1;;;3631:223:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3412:3;;3377:492;;;;3902:6;3883:25;;3213:1073;;;;3963:62;3942:9;:84;3925:361;;;4070:6;4051:25;;3925:361;;;4118:55;4097:9;:77;4093:193;;;4209:16;;;4223:1;4209:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4209:16:100;4190:35;;4261:14;:12;:14::i;:::-;4239:16;4256:1;4239:19;;;;;;;;;;;;;:36;-1:-1:-1;;;;;4239:36:100;;;-1:-1:-1;;;;;4239:36:100;;;;;4093:193;4296:64;;;1681:2686;;;;;;;:::o;4575:151::-;-1:-1:-1;;4710:9:100;;;;;;;;;-1:-1:-1;4710:9:100;;;4575:151::o;4800:386::-;4926:24;4964:25;5003:18;5086:17;5075:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5075:60:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5075:60:100;;;;;;;;;;;;-1:-1:-1;5075:60:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5075:60:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5075:60:100;;;;;;;;;;;;-1:-1:-1;5075:60:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5075:60:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5075:60:100;;;;;;-1:-1:-1;5075:60:100;;;;;;;;;;-1:-1:-1;5075:60:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5075:60:100;;-1:-1:-1;5046:89:100;;;;-1:-1:-1;5046:89:100;;-1:-1:-1;4800:386:100;;-1:-1:-1;;;;4800:386:100:o", "linkReferences": {}, "immutableReferences": { "24340": [ { "start": 886, "length": 32 } ], "24342": [ { "start": 850, "length": 32 } ], "24344": [ { "start": 922, "length": 32 } ] } }, "methodIdentifiers": { "getCompToken()": "70a58ec6", "getCompoundPriceFeed()": "32bf8227", "getValueInterpreter()": "875fb4b3", "parseAssetsForAction(address,uint256,bytes)": "bbd2d646", "parseInitArgs(address,bytes)": "db16c72e" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_compoundPriceFeed\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_compToken\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_valueInterpreter\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"getCompToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"compToken_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCompoundPriceFeed\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"compoundPriceFeed_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getValueInterpreter\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"valueInterpreter_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_externalPosition\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_actionId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_encodedActionArgs\",\"type\":\"bytes\"}],\"name\":\"parseAssetsForAction\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"assetsToTransfer_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amountsToTransfer_\",\"type\":\"uint256[]\"},{\"internalType\":\"address[]\",\"name\":\"assetsToReceive_\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"parseInitArgs\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"initArgs_\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"getCompToken()\":{\"returns\":{\"compToken_\":\"The `COMP_TOKEN` variable value\"}},\"getCompoundPriceFeed()\":{\"returns\":{\"compoundPriceFeed_\":\"The `COMPOUND_PRICE_FEED` variable value\"}},\"getValueInterpreter()\":{\"returns\":{\"valueInterpreter_\":\"The `VALUE_INTERPRETER` variable value\"}},\"parseAssetsForAction(address,uint256,bytes)\":{\"params\":{\"_actionId\":\"The _actionId for the callOnExternalPosition\",\"_encodedActionArgs\":\"The encoded parameters for the callOnExternalPosition\",\"_externalPosition\":\"The _externalPosition to be called\"},\"returns\":{\"amountsToTransfer_\":\"The amounts to be transfered from the Vault\",\"assetsToReceive_\":\"The assets to be received at the Vault\",\"assetsToTransfer_\":\"The assets to be transfered from the Vault\"}},\"parseInitArgs(address,bytes)\":{\"returns\":{\"initArgs_\":\"Parsed and encoded args for ExternalPositionProxy.init()\"}}},\"title\":\"CompoundDebtPositionParser\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getCompToken()\":{\"notice\":\"Gets the `COMP_TOKEN` variable\"},\"getCompoundPriceFeed()\":{\"notice\":\"Gets the `COMPOUND_PRICE_FEED` variable\"},\"getValueInterpreter()\":{\"notice\":\"Gets the `VALUE_INTERPRETER` variable\"},\"parseAssetsForAction(address,uint256,bytes)\":{\"notice\":\"Parses the assets to send and receive for the callOnExternalPosition\"},\"parseInitArgs(address,bytes)\":{\"notice\":\"Parse and validate input arguments to be used when initializing a newly-deployed ExternalPositionProxy\"}},\"notice\":\"Parser for Compound Debt Positions\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/compound-debt/CompoundDebtPositionParser.sol\":\"CompoundDebtPositionParser\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/extensions/external-position-manager/external-positions/IExternalPositionParser.sol\":{\"keccak256\":\"0x1662fbd65841ee5e9cf8d5329b9d04c264b24ef68ae1e0484e59a8969b0d2c46\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://580569b0f875e0344db83fae1e72dcc6c0767a049b2a6cc3e4f3c411d2284b27\",\"dweb:/ipfs/QmXFmF9QbcVsPHaBo1iq8sZHYhDkwfkMZpHmLTuJJ37NvZ\"]},\"contracts/release/extensions/external-position-manager/external-positions/compound-debt/CompoundDebtPositionParser.sol\":{\"keccak256\":\"0xf9691047ba7026da5a56f627da689448bca34a8f63c9f1fa151c7286a9475a9f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1ea99f47092850bb34872df1f2e4cc72d7bdba89e34173e430807506b06f7f5e\",\"dweb:/ipfs/QmYeBgjXUMUPRqjxC1znHqvWXnF7NEvk8nFqZ3Mukhi9gg\"]},\"contracts/release/extensions/external-position-manager/external-positions/compound-debt/ICompoundDebtPosition.sol\":{\"keccak256\":\"0x4d34a19fee1f68caae8acd663ab2bb606d579816ffe720bf846b9f50369b6de1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f420596f7f96a285ae54cb19a778030d723905ce8f0ed28b3108dd79db7ca35d\",\"dweb:/ipfs/Qmdd1ch2mr25FX32DnxC3rS5YtPTCbfBfmqxCoADBrnEE5\"]},\"contracts/release/infrastructure/price-feeds/derivatives/AggregatedDerivativePriceFeedMixin.sol\":{\"keccak256\":\"0x85d2ac39834dae7feb04f0e37317a38b8abeb0f950692fbc9d29078c52cd8d52\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://7bf8f1ce064d85a2812a944fc93068955b233924097f7f45898be3db826579d5\",\"dweb:/ipfs/Qme7f6AhxLVn32prM8fHaCvxtVi86A9KqFMqPA1s88kVYR\"]},\"contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol\":{\"keccak256\":\"0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e\",\"dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK\"]},\"contracts/release/infrastructure/price-feeds/derivatives/feeds/CompoundPriceFeed.sol\":{\"keccak256\":\"0x1addbd55e648a9a1c4cdbf8a7549a9f4eced25f7478b0b4f467ab7cafe7162bc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6f165a37d3fb05d9044042c4a719b728fb6a499c5dabc53945b8775decb06560\",\"dweb:/ipfs/QmY2VnnAknyrticer1jtWVMCr4Ea3tv4XfW71BVGrgoBGH\"]},\"contracts/release/infrastructure/price-feeds/primitives/ChainlinkPriceFeedMixin.sol\":{\"keccak256\":\"0x7fb0078e7387f07ff09958fe4e4e7b317e72c23884f61e8c133776cad522f8bb\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://e973f29ed0c3bf03e20154ab4b0cfc68c3a4372a52ec746f9d9f86697b30e977\",\"dweb:/ipfs/QmfMb7H1zNnj2hzmUr6742HmCTiNVuQ2PFjeR8q2M4Liyu\"]},\"contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol\":{\"keccak256\":\"0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965\",\"dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ\"]},\"contracts/release/infrastructure/value-interpreter/ValueInterpreter.sol\":{\"keccak256\":\"0x64565011785d0d29a75021cda34687cfbc0641094d6f2faf4d9c78c8cd9f0d1d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://03ea9b29a332436d18ca1a4df7e5cdf231d5142dfb916a39cb3a721342d54e0e\",\"dweb:/ipfs/QmcB8Z7A7QELAxg2FfJpD26k2bUhMNUT4wACMVKxuge3QS\"]},\"contracts/release/interfaces/ICERC20.sol\":{\"keccak256\":\"0x9a32a6ca307ac613bde26844d33e1732ae348bceffc93d63e3691f2ff22c6e0b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9c7aff5bf1c249fab27262fb1dc934325e259e5fd6857fbad70c8684f8ee4247\",\"dweb:/ipfs/QmTAneTyW2oCTZGVMVEAp77qMW9U9NymoK8k3RcwpNRh5W\"]},\"contracts/release/interfaces/IChainlinkAggregator.sol\":{\"keccak256\":\"0x8104db68d4edc00c86b29b366f4397cdbe7bd95bb9dc90f54140af4bae963788\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://4664240be22fe76bd4e84d1cbaace3998dbc96759a14345819a889f0c288d22e\",\"dweb:/ipfs/QmQ8fbA4tvXeCeaAFeS2JrLEQUPFeYrePAKoUywRtcicgA\"]},\"contracts/release/utils/FundDeployerOwnerMixin.sol\":{\"keccak256\":\"0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927\",\"dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM\"]},\"contracts/release/utils/MathHelpers.sol\":{\"keccak256\":\"0x8aef498ae98bfb40cd1df8c9ed652b4c092fbbe62d5a1fad522c53654523248e\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ed62789f6a8d5ca30a40c591f244b915e4711493a9e4b1b4d40ea2bc97b02a95\",\"dweb:/ipfs/QmWyXJ55arURtx9VMkUQokdsjk8tbgM2cC8rENFUMyz5D3\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_compoundPriceFeed", "type": "address" }, { "internalType": "address", "name": "_compToken", "type": "address" }, { "internalType": "address", "name": "_valueInterpreter", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getCompToken", "outputs": [ { "internalType": "address", "name": "compToken_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getCompoundPriceFeed", "outputs": [ { "internalType": "address", "name": "compoundPriceFeed_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getValueInterpreter", "outputs": [ { "internalType": "address", "name": "valueInterpreter_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_externalPosition", "type": "address" }, { "internalType": "uint256", "name": "_actionId", "type": "uint256" }, { "internalType": "bytes", "name": "_encodedActionArgs", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "parseAssetsForAction", "outputs": [ { "internalType": "address[]", "name": "assetsToTransfer_", "type": "address[]" }, { "internalType": "uint256[]", "name": "amountsToTransfer_", "type": "uint256[]" }, { "internalType": "address[]", "name": "assetsToReceive_", "type": "address[]" } ] }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "parseInitArgs", "outputs": [ { "internalType": "bytes", "name": "initArgs_", "type": "bytes" } ] } ], "devdoc": { "kind": "dev", "methods": { "getCompToken()": { "returns": { "compToken_": "The `COMP_TOKEN` variable value" } }, "getCompoundPriceFeed()": { "returns": { "compoundPriceFeed_": "The `COMPOUND_PRICE_FEED` variable value" } }, "getValueInterpreter()": { "returns": { "valueInterpreter_": "The `VALUE_INTERPRETER` variable value" } }, "parseAssetsForAction(address,uint256,bytes)": { "params": { "_actionId": "The _actionId for the callOnExternalPosition", "_encodedActionArgs": "The encoded parameters for the callOnExternalPosition", "_externalPosition": "The _externalPosition to be called" }, "returns": { "amountsToTransfer_": "The amounts to be transfered from the Vault", "assetsToReceive_": "The assets to be received at the Vault", "assetsToTransfer_": "The assets to be transfered from the Vault" } }, "parseInitArgs(address,bytes)": { "returns": { "initArgs_": "Parsed and encoded args for ExternalPositionProxy.init()" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "getCompToken()": { "notice": "Gets the `COMP_TOKEN` variable" }, "getCompoundPriceFeed()": { "notice": "Gets the `COMPOUND_PRICE_FEED` variable" }, "getValueInterpreter()": { "notice": "Gets the `VALUE_INTERPRETER` variable" }, "parseAssetsForAction(address,uint256,bytes)": { "notice": "Parses the assets to send and receive for the callOnExternalPosition" }, "parseInitArgs(address,bytes)": { "notice": "Parse and validate input arguments to be used when initializing a newly-deployed ExternalPositionProxy" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/external-position-manager/external-positions/compound-debt/CompoundDebtPositionParser.sol": "CompoundDebtPositionParser" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/external-positions/IExternalPosition.sol": { "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", "urls": [ "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" ], "license": "GPL-3.0" }, "contracts/release/core/fund-deployer/IFundDeployer.sol": { "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", "urls": [ "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/IExternalPositionParser.sol": { "keccak256": "0x1662fbd65841ee5e9cf8d5329b9d04c264b24ef68ae1e0484e59a8969b0d2c46", "urls": [ "bzz-raw://580569b0f875e0344db83fae1e72dcc6c0767a049b2a6cc3e4f3c411d2284b27", "dweb:/ipfs/QmXFmF9QbcVsPHaBo1iq8sZHYhDkwfkMZpHmLTuJJ37NvZ" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/compound-debt/CompoundDebtPositionParser.sol": { "keccak256": "0xf9691047ba7026da5a56f627da689448bca34a8f63c9f1fa151c7286a9475a9f", "urls": [ "bzz-raw://1ea99f47092850bb34872df1f2e4cc72d7bdba89e34173e430807506b06f7f5e", "dweb:/ipfs/QmYeBgjXUMUPRqjxC1znHqvWXnF7NEvk8nFqZ3Mukhi9gg" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/compound-debt/ICompoundDebtPosition.sol": { "keccak256": "0x4d34a19fee1f68caae8acd663ab2bb606d579816ffe720bf846b9f50369b6de1", "urls": [ "bzz-raw://f420596f7f96a285ae54cb19a778030d723905ce8f0ed28b3108dd79db7ca35d", "dweb:/ipfs/Qmdd1ch2mr25FX32DnxC3rS5YtPTCbfBfmqxCoADBrnEE5" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/price-feeds/derivatives/AggregatedDerivativePriceFeedMixin.sol": { "keccak256": "0x85d2ac39834dae7feb04f0e37317a38b8abeb0f950692fbc9d29078c52cd8d52", "urls": [ "bzz-raw://7bf8f1ce064d85a2812a944fc93068955b233924097f7f45898be3db826579d5", "dweb:/ipfs/Qme7f6AhxLVn32prM8fHaCvxtVi86A9KqFMqPA1s88kVYR" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol": { "keccak256": "0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332", "urls": [ "bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e", "dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/price-feeds/derivatives/feeds/CompoundPriceFeed.sol": { "keccak256": "0x1addbd55e648a9a1c4cdbf8a7549a9f4eced25f7478b0b4f467ab7cafe7162bc", "urls": [ "bzz-raw://6f165a37d3fb05d9044042c4a719b728fb6a499c5dabc53945b8775decb06560", "dweb:/ipfs/QmY2VnnAknyrticer1jtWVMCr4Ea3tv4XfW71BVGrgoBGH" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/price-feeds/primitives/ChainlinkPriceFeedMixin.sol": { "keccak256": "0x7fb0078e7387f07ff09958fe4e4e7b317e72c23884f61e8c133776cad522f8bb", "urls": [ "bzz-raw://e973f29ed0c3bf03e20154ab4b0cfc68c3a4372a52ec746f9d9f86697b30e977", "dweb:/ipfs/QmfMb7H1zNnj2hzmUr6742HmCTiNVuQ2PFjeR8q2M4Liyu" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol": { "keccak256": "0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794", "urls": [ "bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965", "dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/value-interpreter/ValueInterpreter.sol": { "keccak256": "0x64565011785d0d29a75021cda34687cfbc0641094d6f2faf4d9c78c8cd9f0d1d", "urls": [ "bzz-raw://03ea9b29a332436d18ca1a4df7e5cdf231d5142dfb916a39cb3a721342d54e0e", "dweb:/ipfs/QmcB8Z7A7QELAxg2FfJpD26k2bUhMNUT4wACMVKxuge3QS" ], "license": "GPL-3.0" }, "contracts/release/interfaces/ICERC20.sol": { "keccak256": "0x9a32a6ca307ac613bde26844d33e1732ae348bceffc93d63e3691f2ff22c6e0b", "urls": [ "bzz-raw://9c7aff5bf1c249fab27262fb1dc934325e259e5fd6857fbad70c8684f8ee4247", "dweb:/ipfs/QmTAneTyW2oCTZGVMVEAp77qMW9U9NymoK8k3RcwpNRh5W" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IChainlinkAggregator.sol": { "keccak256": "0x8104db68d4edc00c86b29b366f4397cdbe7bd95bb9dc90f54140af4bae963788", "urls": [ "bzz-raw://4664240be22fe76bd4e84d1cbaace3998dbc96759a14345819a889f0c288d22e", "dweb:/ipfs/QmQ8fbA4tvXeCeaAFeS2JrLEQUPFeYrePAKoUywRtcicgA" ], "license": "GPL-3.0" }, "contracts/release/utils/FundDeployerOwnerMixin.sol": { "keccak256": "0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934", "urls": [ "bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927", "dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM" ], "license": "GPL-3.0" }, "contracts/release/utils/MathHelpers.sol": { "keccak256": "0x8aef498ae98bfb40cd1df8c9ed652b4c092fbbe62d5a1fad522c53654523248e", "urls": [ "bzz-raw://ed62789f6a8d5ca30a40c591f244b915e4711493a9e4b1b4d40ea2bc97b02a95", "dweb:/ipfs/QmWyXJ55arURtx9VMkUQokdsjk8tbgM2cC8rENFUMyz5D3" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" } }, "version": 1 }, "id": 100 } diff --git a/eth_defi/abi/enzyme/CompoundPriceFeed.json b/eth_defi/abi/enzyme/CompoundPriceFeed.json index 6f2e6878..e9199bf5 100644 --- a/eth_defi/abi/enzyme/CompoundPriceFeed.json +++ b/eth_defi/abi/enzyme/CompoundPriceFeed.json @@ -1,501 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_fundDeployer", - "type": "address" - }, - { - "internalType": "address", - "name": "_weth", - "type": "address" - }, - { - "internalType": "address", - "name": "_ceth", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "cToken", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "token", - "type": "address" - } - ], - "name": "CTokenAdded", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_cTokens", - "type": "address[]" - } - ], - "name": "addCTokens", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_derivative", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_derivativeAmount", - "type": "uint256" - } - ], - "name": "calcUnderlyingValues", - "outputs": [ - { - "internalType": "address[]", - "name": "underlyings_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "underlyingAmounts_", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getFundDeployer", - "outputs": [ - { - "internalType": "address", - "name": "fundDeployer_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "owner_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_cToken", - "type": "address" - } - ], - "name": "getTokenFromCToken", - "outputs": [ - { - "internalType": "address", - "name": "token_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_asset", - "type": "address" - } - ], - "name": "isSupportedAsset", - "outputs": [ - { - "internalType": "bool", - "name": "isSupported_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x60a060405234801561001057600080fd5b506040516109803803806109808339818101604052606081101561003357600080fd5b508051602080830151604093840151606084901b6001600160601b0319166080526001600160a01b0380821660008181529485905286852080546001600160a01b031916928516928317905595519495929491939092917f7acf7482a03de3fea14ab9eb8fa6f7524bb1a61a24898d2337379a5cf7421d7e9190a350505060805160601c6108ad6100d36000398061067552806106ff52506108ad6000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c80631d249354146100675780634cae3ad7146100d9578063727212f61461011b578063893d20e8146101e057806397c0ac87146101e85780639be918e6146101f0575b600080fd5b6100d76004803603602081101561007d57600080fd5b81019060208101813564010000000081111561009857600080fd5b8201836020820111156100aa57600080fd5b803590602001918460208302840111640100000000831117156100cc57600080fd5b50909250905061022a565b005b6100ff600480360360208110156100ef57600080fd5b50356001600160a01b03166104be565b604080516001600160a01b039092168252519081900360200190f35b6101476004803603604081101561013157600080fd5b506001600160a01b0381351690602001356104dc565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b8381101561018b578181015183820152602001610173565b50505050905001838103825284818151815260200191508051906020019060200280838360005b838110156101ca5781810151838201526020016101b2565b5050505090500194505050505060405180910390f35b6100ff610671565b6100ff6106fd565b6102166004803603602081101561020657600080fd5b50356001600160a01b0316610721565b604080519115158252519081900360200190f35b610232610671565b6001600160a01b0316336001600160a01b0316146102815760405162461bcd60e51b815260040180806020018281038252604981526020018061080b6049913960600191505060405180910390fd5b806102d3576040805162461bcd60e51b815260206004820152601a60248201527f61646443546f6b656e733a20456d707479205f63546f6b656e73000000000000604482015290519081900360640190fd5b60005b818110156104b957600080808585858181106102ee57fe5b6001600160a01b0360209182029390930135831684528301939093526040909101600020541691909114905061036b576040805162461bcd60e51b815260206004820152601d60248201527f61646443546f6b656e733a2056616c756520616c726561647920736574000000604482015290519081900360640190fd5b600083838381811061037957fe5b905060200201356001600160a01b03166001600160a01b0316636f307dc36040518163ffffffff1660e01b8152600401602060405180830381600087803b1580156103c357600080fd5b505af11580156103d7573d6000803e3d6000fd5b505050506040513d60208110156103ed57600080fd5b505190508060008086868681811061040157fe5b905060200201356001600160a01b03166001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b03160217905550806001600160a01b031684848481811061046b57fe5b905060200201356001600160a01b03166001600160a01b03167f7acf7482a03de3fea14ab9eb8fa6f7524bb1a61a24898d2337379a5cf7421d7e60405160405180910390a3506001016102d6565b505050565b6001600160a01b039081166000908152602081905260409020541690565b604080516001808252818301909252606091829190602080830190803683375050506001600160a01b0385811660009081526020819052604081205483519395509091169184919061052a57fe5b60200260200101906001600160a01b031690816001600160a01b03168152505060006001600160a01b03168260008151811061056257fe5b60200260200101516001600160a01b031614156105b05760405162461bcd60e51b815260040180806020018281038252602c815260200180610875602c913960400191505060405180910390fd5b6040805160018082528183019092529060208083019080368337019050509050610651670de0b6b3a764000061064b866001600160a01b031663182df0f56040518163ffffffff1660e01b815260040160206040518083038186803b15801561061857600080fd5b505afa15801561062c573d6000803e3d6000fd5b505050506040513d602081101561064257600080fd5b50518690610741565b906107a3565b8160008151811061065e57fe5b6020026020010181815250509250929050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b1580156106cc57600080fd5b505afa1580156106e0573d6000803e3d6000fd5b505050506040513d60208110156106f657600080fd5b5051905090565b7f000000000000000000000000000000000000000000000000000000000000000090565b6001600160a01b0390811660009081526020819052604090205416151590565b6000826107505750600061079d565b8282028284828161075d57fe5b041461079a5760405162461bcd60e51b81526004018080602001828103825260218152602001806108546021913960400191505060405180910390fd5b90505b92915050565b60008082116107f9576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b81838161080257fe5b04939250505056fe6f6e6c7946756e644465706c6f7965724f776e65723a204f6e6c79207468652046756e644465706c6f796572206f776e65722063616e2063616c6c20746869732066756e6374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7763616c63556e6465726c79696e6756616c7565733a20556e737570706f727465642064657269766174697665a164736f6c634300060c000a", - "sourceMap": "624:3073:240:-:0;;;925:245;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;925:245:240;;;;;;;;;;;;;864:29:358;;;-1:-1:-1;;;;;;864:29:358;;;-1:-1:-1;;;;;1095:20:240;;::::1;:13;:20:::0;;;;;;;;;;:28;;-1:-1:-1;;;;;;1095:28:240::1;::::0;;::::1;::::0;;::::1;::::0;;1138:25;;925:245;;;;;;1095:28;;:20;1138:25:::1;::::0;1095:13;1138:25:::1;925:245:::0;;;624:3073;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106100625760003560e01c80631d249354146100675780634cae3ad7146100d9578063727212f61461011b578063893d20e8146101e057806397c0ac87146101e85780639be918e6146101f0575b600080fd5b6100d76004803603602081101561007d57600080fd5b81019060208101813564010000000081111561009857600080fd5b8201836020820111156100aa57600080fd5b803590602001918460208302840111640100000000831117156100cc57600080fd5b50909250905061022a565b005b6100ff600480360360208110156100ef57600080fd5b50356001600160a01b03166104be565b604080516001600160a01b039092168252519081900360200190f35b6101476004803603604081101561013157600080fd5b506001600160a01b0381351690602001356104dc565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b8381101561018b578181015183820152602001610173565b50505050905001838103825284818151815260200191508051906020019060200280838360005b838110156101ca5781810151838201526020016101b2565b5050505090500194505050505060405180910390f35b6100ff610671565b6100ff6106fd565b6102166004803603602081101561020657600080fd5b50356001600160a01b0316610721565b604080519115158252519081900360200190f35b610232610671565b6001600160a01b0316336001600160a01b0316146102815760405162461bcd60e51b815260040180806020018281038252604981526020018061080b6049913960600191505060405180910390fd5b806102d3576040805162461bcd60e51b815260206004820152601a60248201527f61646443546f6b656e733a20456d707479205f63546f6b656e73000000000000604482015290519081900360640190fd5b60005b818110156104b957600080808585858181106102ee57fe5b6001600160a01b0360209182029390930135831684528301939093526040909101600020541691909114905061036b576040805162461bcd60e51b815260206004820152601d60248201527f61646443546f6b656e733a2056616c756520616c726561647920736574000000604482015290519081900360640190fd5b600083838381811061037957fe5b905060200201356001600160a01b03166001600160a01b0316636f307dc36040518163ffffffff1660e01b8152600401602060405180830381600087803b1580156103c357600080fd5b505af11580156103d7573d6000803e3d6000fd5b505050506040513d60208110156103ed57600080fd5b505190508060008086868681811061040157fe5b905060200201356001600160a01b03166001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b03160217905550806001600160a01b031684848481811061046b57fe5b905060200201356001600160a01b03166001600160a01b03167f7acf7482a03de3fea14ab9eb8fa6f7524bb1a61a24898d2337379a5cf7421d7e60405160405180910390a3506001016102d6565b505050565b6001600160a01b039081166000908152602081905260409020541690565b604080516001808252818301909252606091829190602080830190803683375050506001600160a01b0385811660009081526020819052604081205483519395509091169184919061052a57fe5b60200260200101906001600160a01b031690816001600160a01b03168152505060006001600160a01b03168260008151811061056257fe5b60200260200101516001600160a01b031614156105b05760405162461bcd60e51b815260040180806020018281038252602c815260200180610875602c913960400191505060405180910390fd5b6040805160018082528183019092529060208083019080368337019050509050610651670de0b6b3a764000061064b866001600160a01b031663182df0f56040518163ffffffff1660e01b815260040160206040518083038186803b15801561061857600080fd5b505afa15801561062c573d6000803e3d6000fd5b505050506040513d602081101561064257600080fd5b50518690610741565b906107a3565b8160008151811061065e57fe5b6020026020010181815250509250929050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b1580156106cc57600080fd5b505afa1580156106e0573d6000803e3d6000fd5b505050506040513d60208110156106f657600080fd5b5051905090565b7f000000000000000000000000000000000000000000000000000000000000000090565b6001600160a01b0390811660009081526020819052604090205416151590565b6000826107505750600061079d565b8282028284828161075d57fe5b041461079a5760405162461bcd60e51b81526004018080602001828103825260218152602001806108546021913960400191505060405180910390fd5b90505b92915050565b60008082116107f9576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b81838161080257fe5b04939250505056fe6f6e6c7946756e644465706c6f7965724f776e65723a204f6e6c79207468652046756e644465706c6f796572206f776e65722063616e2063616c6c20746869732066756e6374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7763616c63556e6465726c79696e6756616c7565733a20556e737570706f727465642064657269766174697665a164736f6c634300060c000a", - "sourceMap": "624:3073:240:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2831:477;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2831:477:240;;-1:-1:-1;2831:477:240;-1:-1:-1;2831:477:240;:::i;:::-;;3567:128;;;;;;;;;;;;;;;;-1:-1:-1;3567:128:240;-1:-1:-1;;;;;3567:128:240;;:::i;:::-;;;;-1:-1:-1;;;;;3567:128:240;;;;;;;;;;;;;;1568:690;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1568:690:240;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1064:120:358;;;:::i;1378:108::-;;;:::i;2431:152:240:-;;;;;;;;;;;;;;;;-1:-1:-1;2431:152:240;-1:-1:-1;;;;;2431:152:240;;:::i;:::-;;;;;;;;;;;;;;;;;;2831:477;679:10:358;:8;:10::i;:::-;-1:-1:-1;;;;;665:24:358;:10;-1:-1:-1;;;;;665:24:358;;644:144;;;;-1:-1:-1;;;644:144:358;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2929:19:240;2921:58:::1;;;::::0;;-1:-1:-1;;;2921:58:240;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;2995:9;2990:312;3006:19:::0;;::::1;2990:312;;;3092:1;::::0;;3068:8;;3077:1;3068:11;;::::1;;;;;-1:-1:-1::0;;;;;3068:11:240::1;::::0;;::::1;::::0;;;::::1;;::::0;::::1;3054:26:::0;;;::::1;::::0;;;;;;;;-1:-1:-1;3054:26:240;;::::1;:40:::0;;;::::1;::::0;-1:-1:-1;3046:82:240::1;;;::::0;;-1:-1:-1;;;3046:82:240;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;3143:13;3167:8;;3176:1;3167:11;;;;;;;;;;;;;-1:-1:-1::0;;;;;3167:11:240::1;-1:-1:-1::0;;;;;3159:31:240::1;;:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;3159:33:240;;-1:-1:-1;3159:33:240;3206:13:::1;::::0;3220:8;;3229:1;3220:11;;::::1;;;;;;;;;;;-1:-1:-1::0;;;;;3220:11:240::1;-1:-1:-1::0;;;;;3206:26:240::1;-1:-1:-1::0;;;;;3206:26:240::1;;;;;;;;;;;;;:34;;;;;-1:-1:-1::0;;;;;3206:34:240::1;;;;;-1:-1:-1::0;;;;;3206:34:240::1;;;;;;3285:5;-1:-1:-1::0;;;;;3260:31:240::1;3272:8;;3281:1;3272:11;;;;;;;;;;;;;-1:-1:-1::0;;;;;3272:11:240::1;-1:-1:-1::0;;;;;3260:31:240::1;;;;;;;;;;;-1:-1:-1::0;3027:3:240::1;;2990:312;;;;2831:477:::0;;:::o;3567:128::-;-1:-1:-1;;;;;3666:22:240;;;3633:14;3666:22;;;;;;;;;;;;;3567:128::o;1568:690::-;1794:16;;;1808:1;1794:16;;;;;;;;;1697:29;;;;1794:16;;;;;;;;;;-1:-1:-1;;;;;;;;1838:26:240;;;:13;:26;;;;;;;;;;;1820:15;;;;-1:-1:-1;1838:26:240;;;;1820:15;;1838:13;1820:15;;;;;;;;;:44;-1:-1:-1;;;;;1820:44:240;;;-1:-1:-1;;;;;1820:44:240;;;;;1909:1;-1:-1:-1;;;;;1882:29:240;:12;1895:1;1882:15;;;;;;;;;;;;;;-1:-1:-1;;;;;1882:29:240;;;1874:86;;;;-1:-1:-1;;;1874:86:240;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1992:16;;;2006:1;1992:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1992:16:240;1971:37;;2084:115;856:6;2084:77;2127:11;-1:-1:-1;;;;;2119:39:240;;:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2119:41:240;2084:17;;:34;:77::i;:::-;:94;;:115::i;:::-;2060:18;2079:1;2060:21;;;;;;;;;;;;;:139;;;;;1568:690;;;;;:::o;1064:120:358:-;1105:14;1152:13;-1:-1:-1;;;;;1138:37:358;;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1138:39:358;;-1:-1:-1;1064:120:358;:::o;1378:108::-;1466:13;1378:108;:::o;2431:152:240:-;-1:-1:-1;;;;;2541:21:240;;;2505:17;2541:21;;;;;;;;;;;;:35;;;2431:152::o;3538:215:442:-;3596:7;3619:6;3615:20;;-1:-1:-1;3634:1:442;3627:8;;3615:20;3657:5;;;3661:1;3657;:5;:1;3680:5;;;;;:10;3672:56;;;;-1:-1:-1;;;3672:56:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3745:1;-1:-1:-1;3538:215:442;;;;;:::o;4217:150::-;4275:7;4306:1;4302;:5;4294:44;;;;;-1:-1:-1;;;4294:44:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;4359:1;4355;:5;;;;;;;4217:150;-1:-1:-1;;;4217:150:442:o", - "linkReferences": {}, - "immutableReferences": { - "78707": [ - { - "start": 1653, - "length": 32 - }, - { - "start": 1791, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "addCTokens(address[])": "1d249354", - "calcUnderlyingValues(address,uint256)": "727212f6", - "getFundDeployer()": "97c0ac87", - "getOwner()": "893d20e8", - "getTokenFromCToken(address)": "4cae3ad7", - "isSupportedAsset(address)": "9be918e6" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_fundDeployer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_weth\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_ceth\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"cToken\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"CTokenAdded\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_cTokens\",\"type\":\"address[]\"}],\"name\":\"addCTokens\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_derivative\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_derivativeAmount\",\"type\":\"uint256\"}],\"name\":\"calcUnderlyingValues\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"underlyings_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"underlyingAmounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFundDeployer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"fundDeployer_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_cToken\",\"type\":\"address\"}],\"name\":\"getTokenFromCToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"token_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"}],\"name\":\"isSupportedAsset\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isSupported_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"addCTokens(address[])\":{\"details\":\"Only allows CERC20 tokens. CEther is set in the constructor.\",\"params\":{\"_cTokens\":\"cTokens to add\"}},\"calcUnderlyingValues(address,uint256)\":{\"params\":{\"_derivative\":\"The derivative to convert\",\"_derivativeAmount\":\"The amount of the derivative to convert\"},\"returns\":{\"underlyingAmounts_\":\"The amount of each underlying asset for the equivalent derivative amount\",\"underlyings_\":\"The underlying assets for the _derivative\"}},\"getFundDeployer()\":{\"returns\":{\"fundDeployer_\":\"The `FUND_DEPLOYER` variable value\"}},\"getOwner()\":{\"details\":\"Ownership is deferred to the owner of the FundDeployer contract\",\"returns\":{\"owner_\":\"The owner\"}},\"getTokenFromCToken(address)\":{\"params\":{\"_cToken\":\"The cToken for which to get the underlying asset\"},\"returns\":{\"token_\":\"The underlying token\"}},\"isSupportedAsset(address)\":{\"params\":{\"_asset\":\"The asset to check\"},\"returns\":{\"isSupported_\":\"True if the asset is supported\"}}},\"title\":\"CompoundPriceFeed Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"addCTokens(address[])\":{\"notice\":\"Adds cTokens to the price feed\"},\"calcUnderlyingValues(address,uint256)\":{\"notice\":\"Converts a given amount of a derivative to its underlying asset values\"},\"getFundDeployer()\":{\"notice\":\"Gets the `FUND_DEPLOYER` variable\"},\"getOwner()\":{\"notice\":\"Gets the owner of this contract\"},\"getTokenFromCToken(address)\":{\"notice\":\"Returns the underlying asset of a given cToken\"},\"isSupportedAsset(address)\":{\"notice\":\"Checks if an asset is supported by the price feed\"}},\"notice\":\"Price source oracle for Compound Tokens (cTokens)\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/infrastructure/price-feeds/derivatives/feeds/CompoundPriceFeed.sol\":\"CompoundPriceFeed\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol\":{\"keccak256\":\"0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e\",\"dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK\"]},\"contracts/release/infrastructure/price-feeds/derivatives/feeds/CompoundPriceFeed.sol\":{\"keccak256\":\"0x1addbd55e648a9a1c4cdbf8a7549a9f4eced25f7478b0b4f467ab7cafe7162bc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6f165a37d3fb05d9044042c4a719b728fb6a499c5dabc53945b8775decb06560\",\"dweb:/ipfs/QmY2VnnAknyrticer1jtWVMCr4Ea3tv4XfW71BVGrgoBGH\"]},\"contracts/release/interfaces/ICERC20.sol\":{\"keccak256\":\"0x9a32a6ca307ac613bde26844d33e1732ae348bceffc93d63e3691f2ff22c6e0b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9c7aff5bf1c249fab27262fb1dc934325e259e5fd6857fbad70c8684f8ee4247\",\"dweb:/ipfs/QmTAneTyW2oCTZGVMVEAp77qMW9U9NymoK8k3RcwpNRh5W\"]},\"contracts/release/utils/FundDeployerOwnerMixin.sol\":{\"keccak256\":\"0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927\",\"dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_fundDeployer", - "type": "address" - }, - { - "internalType": "address", - "name": "_weth", - "type": "address" - }, - { - "internalType": "address", - "name": "_ceth", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "cToken", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "token", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "CTokenAdded", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_cTokens", - "type": "address[]" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "addCTokens" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_derivative", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_derivativeAmount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "calcUnderlyingValues", - "outputs": [ - { - "internalType": "address[]", - "name": "underlyings_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "underlyingAmounts_", - "type": "uint256[]" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getFundDeployer", - "outputs": [ - { - "internalType": "address", - "name": "fundDeployer_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "owner_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_cToken", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getTokenFromCToken", - "outputs": [ - { - "internalType": "address", - "name": "token_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_asset", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "isSupportedAsset", - "outputs": [ - { - "internalType": "bool", - "name": "isSupported_", - "type": "bool" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "addCTokens(address[])": { - "details": "Only allows CERC20 tokens. CEther is set in the constructor.", - "params": { - "_cTokens": "cTokens to add" - } - }, - "calcUnderlyingValues(address,uint256)": { - "params": { - "_derivative": "The derivative to convert", - "_derivativeAmount": "The amount of the derivative to convert" - }, - "returns": { - "underlyingAmounts_": "The amount of each underlying asset for the equivalent derivative amount", - "underlyings_": "The underlying assets for the _derivative" - } - }, - "getFundDeployer()": { - "returns": { - "fundDeployer_": "The `FUND_DEPLOYER` variable value" - } - }, - "getOwner()": { - "details": "Ownership is deferred to the owner of the FundDeployer contract", - "returns": { - "owner_": "The owner" - } - }, - "getTokenFromCToken(address)": { - "params": { - "_cToken": "The cToken for which to get the underlying asset" - }, - "returns": { - "token_": "The underlying token" - } - }, - "isSupportedAsset(address)": { - "params": { - "_asset": "The asset to check" - }, - "returns": { - "isSupported_": "True if the asset is supported" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "addCTokens(address[])": { - "notice": "Adds cTokens to the price feed" - }, - "calcUnderlyingValues(address,uint256)": { - "notice": "Converts a given amount of a derivative to its underlying asset values" - }, - "getFundDeployer()": { - "notice": "Gets the `FUND_DEPLOYER` variable" - }, - "getOwner()": { - "notice": "Gets the owner of this contract" - }, - "getTokenFromCToken(address)": { - "notice": "Returns the underlying asset of a given cToken" - }, - "isSupportedAsset(address)": { - "notice": "Checks if an asset is supported by the price feed" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/infrastructure/price-feeds/derivatives/feeds/CompoundPriceFeed.sol": "CompoundPriceFeed" - }, - "libraries": {} - }, - "sources": { - "contracts/release/core/fund-deployer/IFundDeployer.sol": { - "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", - "urls": [ - "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", - "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol": { - "keccak256": "0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332", - "urls": [ - "bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e", - "dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/price-feeds/derivatives/feeds/CompoundPriceFeed.sol": { - "keccak256": "0x1addbd55e648a9a1c4cdbf8a7549a9f4eced25f7478b0b4f467ab7cafe7162bc", - "urls": [ - "bzz-raw://6f165a37d3fb05d9044042c4a719b728fb6a499c5dabc53945b8775decb06560", - "dweb:/ipfs/QmY2VnnAknyrticer1jtWVMCr4Ea3tv4XfW71BVGrgoBGH" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/ICERC20.sol": { - "keccak256": "0x9a32a6ca307ac613bde26844d33e1732ae348bceffc93d63e3691f2ff22c6e0b", - "urls": [ - "bzz-raw://9c7aff5bf1c249fab27262fb1dc934325e259e5fd6857fbad70c8684f8ee4247", - "dweb:/ipfs/QmTAneTyW2oCTZGVMVEAp77qMW9U9NymoK8k3RcwpNRh5W" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/FundDeployerOwnerMixin.sol": { - "keccak256": "0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934", - "urls": [ - "bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927", - "dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 240 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_fundDeployer", "type": "address", "internalType": "address" }, { "name": "_weth", "type": "address", "internalType": "address" }, { "name": "_ceth", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "addCTokens", "inputs": [ { "name": "_cTokens", "type": "address[]", "internalType": "address[]" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "calcUnderlyingValues", "inputs": [ { "name": "_derivative", "type": "address", "internalType": "address" }, { "name": "_derivativeAmount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "underlyings_", "type": "address[]", "internalType": "address[]" }, { "name": "underlyingAmounts_", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "getFundDeployer", "inputs": [], "outputs": [ { "name": "fundDeployer_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getOwner", "inputs": [], "outputs": [ { "name": "owner_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getTokenFromCToken", "inputs": [ { "name": "_cToken", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "token_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "isSupportedAsset", "inputs": [ { "name": "_asset", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "isSupported_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "event", "name": "CTokenAdded", "inputs": [ { "name": "cToken", "type": "address", "indexed": true, "internalType": "address" }, { "name": "token", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false } ], "bytecode": { "object": "0x60a060405234801561001057600080fd5b506040516109803803806109808339818101604052606081101561003357600080fd5b508051602080830151604093840151606084901b6001600160601b0319166080526001600160a01b0380821660008181529485905286852080546001600160a01b031916928516928317905595519495929491939092917f7acf7482a03de3fea14ab9eb8fa6f7524bb1a61a24898d2337379a5cf7421d7e9190a350505060805160601c6108ad6100d36000398061067552806106ff52506108ad6000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c80631d249354146100675780634cae3ad7146100d9578063727212f61461011b578063893d20e8146101e057806397c0ac87146101e85780639be918e6146101f0575b600080fd5b6100d76004803603602081101561007d57600080fd5b81019060208101813564010000000081111561009857600080fd5b8201836020820111156100aa57600080fd5b803590602001918460208302840111640100000000831117156100cc57600080fd5b50909250905061022a565b005b6100ff600480360360208110156100ef57600080fd5b50356001600160a01b03166104be565b604080516001600160a01b039092168252519081900360200190f35b6101476004803603604081101561013157600080fd5b506001600160a01b0381351690602001356104dc565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b8381101561018b578181015183820152602001610173565b50505050905001838103825284818151815260200191508051906020019060200280838360005b838110156101ca5781810151838201526020016101b2565b5050505090500194505050505060405180910390f35b6100ff610671565b6100ff6106fd565b6102166004803603602081101561020657600080fd5b50356001600160a01b0316610721565b604080519115158252519081900360200190f35b610232610671565b6001600160a01b0316336001600160a01b0316146102815760405162461bcd60e51b815260040180806020018281038252604981526020018061080b6049913960600191505060405180910390fd5b806102d3576040805162461bcd60e51b815260206004820152601a60248201527f61646443546f6b656e733a20456d707479205f63546f6b656e73000000000000604482015290519081900360640190fd5b60005b818110156104b957600080808585858181106102ee57fe5b6001600160a01b0360209182029390930135831684528301939093526040909101600020541691909114905061036b576040805162461bcd60e51b815260206004820152601d60248201527f61646443546f6b656e733a2056616c756520616c726561647920736574000000604482015290519081900360640190fd5b600083838381811061037957fe5b905060200201356001600160a01b03166001600160a01b0316636f307dc36040518163ffffffff1660e01b8152600401602060405180830381600087803b1580156103c357600080fd5b505af11580156103d7573d6000803e3d6000fd5b505050506040513d60208110156103ed57600080fd5b505190508060008086868681811061040157fe5b905060200201356001600160a01b03166001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b03160217905550806001600160a01b031684848481811061046b57fe5b905060200201356001600160a01b03166001600160a01b03167f7acf7482a03de3fea14ab9eb8fa6f7524bb1a61a24898d2337379a5cf7421d7e60405160405180910390a3506001016102d6565b505050565b6001600160a01b039081166000908152602081905260409020541690565b604080516001808252818301909252606091829190602080830190803683375050506001600160a01b0385811660009081526020819052604081205483519395509091169184919061052a57fe5b60200260200101906001600160a01b031690816001600160a01b03168152505060006001600160a01b03168260008151811061056257fe5b60200260200101516001600160a01b031614156105b05760405162461bcd60e51b815260040180806020018281038252602c815260200180610875602c913960400191505060405180910390fd5b6040805160018082528183019092529060208083019080368337019050509050610651670de0b6b3a764000061064b866001600160a01b031663182df0f56040518163ffffffff1660e01b815260040160206040518083038186803b15801561061857600080fd5b505afa15801561062c573d6000803e3d6000fd5b505050506040513d602081101561064257600080fd5b50518690610741565b906107a3565b8160008151811061065e57fe5b6020026020010181815250509250929050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b1580156106cc57600080fd5b505afa1580156106e0573d6000803e3d6000fd5b505050506040513d60208110156106f657600080fd5b5051905090565b7f000000000000000000000000000000000000000000000000000000000000000090565b6001600160a01b0390811660009081526020819052604090205416151590565b6000826107505750600061079d565b8282028284828161075d57fe5b041461079a5760405162461bcd60e51b81526004018080602001828103825260218152602001806108546021913960400191505060405180910390fd5b90505b92915050565b60008082116107f9576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b81838161080257fe5b04939250505056fe6f6e6c7946756e644465706c6f7965724f776e65723a204f6e6c79207468652046756e644465706c6f796572206f776e65722063616e2063616c6c20746869732066756e6374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7763616c63556e6465726c79696e6756616c7565733a20556e737570706f727465642064657269766174697665a164736f6c634300060c000a", "sourceMap": "624:3073:240:-:0;;;925:245;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;925:245:240;;;;;;;;;;;;;864:29:358;;;-1:-1:-1;;;;;;864:29:358;;;-1:-1:-1;;;;;1095:20:240;;::::1;:13;:20:::0;;;;;;;;;;:28;;-1:-1:-1;;;;;;1095:28:240::1;::::0;;::::1;::::0;;::::1;::::0;;1138:25;;925:245;;;;;;1095:28;;:20;1138:25:::1;::::0;1095:13;1138:25:::1;925:245:::0;;;624:3073;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106100625760003560e01c80631d249354146100675780634cae3ad7146100d9578063727212f61461011b578063893d20e8146101e057806397c0ac87146101e85780639be918e6146101f0575b600080fd5b6100d76004803603602081101561007d57600080fd5b81019060208101813564010000000081111561009857600080fd5b8201836020820111156100aa57600080fd5b803590602001918460208302840111640100000000831117156100cc57600080fd5b50909250905061022a565b005b6100ff600480360360208110156100ef57600080fd5b50356001600160a01b03166104be565b604080516001600160a01b039092168252519081900360200190f35b6101476004803603604081101561013157600080fd5b506001600160a01b0381351690602001356104dc565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b8381101561018b578181015183820152602001610173565b50505050905001838103825284818151815260200191508051906020019060200280838360005b838110156101ca5781810151838201526020016101b2565b5050505090500194505050505060405180910390f35b6100ff610671565b6100ff6106fd565b6102166004803603602081101561020657600080fd5b50356001600160a01b0316610721565b604080519115158252519081900360200190f35b610232610671565b6001600160a01b0316336001600160a01b0316146102815760405162461bcd60e51b815260040180806020018281038252604981526020018061080b6049913960600191505060405180910390fd5b806102d3576040805162461bcd60e51b815260206004820152601a60248201527f61646443546f6b656e733a20456d707479205f63546f6b656e73000000000000604482015290519081900360640190fd5b60005b818110156104b957600080808585858181106102ee57fe5b6001600160a01b0360209182029390930135831684528301939093526040909101600020541691909114905061036b576040805162461bcd60e51b815260206004820152601d60248201527f61646443546f6b656e733a2056616c756520616c726561647920736574000000604482015290519081900360640190fd5b600083838381811061037957fe5b905060200201356001600160a01b03166001600160a01b0316636f307dc36040518163ffffffff1660e01b8152600401602060405180830381600087803b1580156103c357600080fd5b505af11580156103d7573d6000803e3d6000fd5b505050506040513d60208110156103ed57600080fd5b505190508060008086868681811061040157fe5b905060200201356001600160a01b03166001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b03160217905550806001600160a01b031684848481811061046b57fe5b905060200201356001600160a01b03166001600160a01b03167f7acf7482a03de3fea14ab9eb8fa6f7524bb1a61a24898d2337379a5cf7421d7e60405160405180910390a3506001016102d6565b505050565b6001600160a01b039081166000908152602081905260409020541690565b604080516001808252818301909252606091829190602080830190803683375050506001600160a01b0385811660009081526020819052604081205483519395509091169184919061052a57fe5b60200260200101906001600160a01b031690816001600160a01b03168152505060006001600160a01b03168260008151811061056257fe5b60200260200101516001600160a01b031614156105b05760405162461bcd60e51b815260040180806020018281038252602c815260200180610875602c913960400191505060405180910390fd5b6040805160018082528183019092529060208083019080368337019050509050610651670de0b6b3a764000061064b866001600160a01b031663182df0f56040518163ffffffff1660e01b815260040160206040518083038186803b15801561061857600080fd5b505afa15801561062c573d6000803e3d6000fd5b505050506040513d602081101561064257600080fd5b50518690610741565b906107a3565b8160008151811061065e57fe5b6020026020010181815250509250929050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b1580156106cc57600080fd5b505afa1580156106e0573d6000803e3d6000fd5b505050506040513d60208110156106f657600080fd5b5051905090565b7f000000000000000000000000000000000000000000000000000000000000000090565b6001600160a01b0390811660009081526020819052604090205416151590565b6000826107505750600061079d565b8282028284828161075d57fe5b041461079a5760405162461bcd60e51b81526004018080602001828103825260218152602001806108546021913960400191505060405180910390fd5b90505b92915050565b60008082116107f9576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b81838161080257fe5b04939250505056fe6f6e6c7946756e644465706c6f7965724f776e65723a204f6e6c79207468652046756e644465706c6f796572206f776e65722063616e2063616c6c20746869732066756e6374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7763616c63556e6465726c79696e6756616c7565733a20556e737570706f727465642064657269766174697665a164736f6c634300060c000a", "sourceMap": "624:3073:240:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2831:477;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2831:477:240;;-1:-1:-1;2831:477:240;-1:-1:-1;2831:477:240;:::i;:::-;;3567:128;;;;;;;;;;;;;;;;-1:-1:-1;3567:128:240;-1:-1:-1;;;;;3567:128:240;;:::i;:::-;;;;-1:-1:-1;;;;;3567:128:240;;;;;;;;;;;;;;1568:690;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1568:690:240;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1064:120:358;;;:::i;1378:108::-;;;:::i;2431:152:240:-;;;;;;;;;;;;;;;;-1:-1:-1;2431:152:240;-1:-1:-1;;;;;2431:152:240;;:::i;:::-;;;;;;;;;;;;;;;;;;2831:477;679:10:358;:8;:10::i;:::-;-1:-1:-1;;;;;665:24:358;:10;-1:-1:-1;;;;;665:24:358;;644:144;;;;-1:-1:-1;;;644:144:358;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2929:19:240;2921:58:::1;;;::::0;;-1:-1:-1;;;2921:58:240;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;2995:9;2990:312;3006:19:::0;;::::1;2990:312;;;3092:1;::::0;;3068:8;;3077:1;3068:11;;::::1;;;;;-1:-1:-1::0;;;;;3068:11:240::1;::::0;;::::1;::::0;;;::::1;;::::0;::::1;3054:26:::0;;;::::1;::::0;;;;;;;;-1:-1:-1;3054:26:240;;::::1;:40:::0;;;::::1;::::0;-1:-1:-1;3046:82:240::1;;;::::0;;-1:-1:-1;;;3046:82:240;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;3143:13;3167:8;;3176:1;3167:11;;;;;;;;;;;;;-1:-1:-1::0;;;;;3167:11:240::1;-1:-1:-1::0;;;;;3159:31:240::1;;:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;3159:33:240;;-1:-1:-1;3159:33:240;3206:13:::1;::::0;3220:8;;3229:1;3220:11;;::::1;;;;;;;;;;;-1:-1:-1::0;;;;;3220:11:240::1;-1:-1:-1::0;;;;;3206:26:240::1;-1:-1:-1::0;;;;;3206:26:240::1;;;;;;;;;;;;;:34;;;;;-1:-1:-1::0;;;;;3206:34:240::1;;;;;-1:-1:-1::0;;;;;3206:34:240::1;;;;;;3285:5;-1:-1:-1::0;;;;;3260:31:240::1;3272:8;;3281:1;3272:11;;;;;;;;;;;;;-1:-1:-1::0;;;;;3272:11:240::1;-1:-1:-1::0;;;;;3260:31:240::1;;;;;;;;;;;-1:-1:-1::0;3027:3:240::1;;2990:312;;;;2831:477:::0;;:::o;3567:128::-;-1:-1:-1;;;;;3666:22:240;;;3633:14;3666:22;;;;;;;;;;;;;3567:128::o;1568:690::-;1794:16;;;1808:1;1794:16;;;;;;;;;1697:29;;;;1794:16;;;;;;;;;;-1:-1:-1;;;;;;;;1838:26:240;;;:13;:26;;;;;;;;;;;1820:15;;;;-1:-1:-1;1838:26:240;;;;1820:15;;1838:13;1820:15;;;;;;;;;:44;-1:-1:-1;;;;;1820:44:240;;;-1:-1:-1;;;;;1820:44:240;;;;;1909:1;-1:-1:-1;;;;;1882:29:240;:12;1895:1;1882:15;;;;;;;;;;;;;;-1:-1:-1;;;;;1882:29:240;;;1874:86;;;;-1:-1:-1;;;1874:86:240;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1992:16;;;2006:1;1992:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1992:16:240;1971:37;;2084:115;856:6;2084:77;2127:11;-1:-1:-1;;;;;2119:39:240;;:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2119:41:240;2084:17;;:34;:77::i;:::-;:94;;:115::i;:::-;2060:18;2079:1;2060:21;;;;;;;;;;;;;:139;;;;;1568:690;;;;;:::o;1064:120:358:-;1105:14;1152:13;-1:-1:-1;;;;;1138:37:358;;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1138:39:358;;-1:-1:-1;1064:120:358;:::o;1378:108::-;1466:13;1378:108;:::o;2431:152:240:-;-1:-1:-1;;;;;2541:21:240;;;2505:17;2541:21;;;;;;;;;;;;:35;;;2431:152::o;3538:215:442:-;3596:7;3619:6;3615:20;;-1:-1:-1;3634:1:442;3627:8;;3615:20;3657:5;;;3661:1;3657;:5;:1;3680:5;;;;;:10;3672:56;;;;-1:-1:-1;;;3672:56:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3745:1;-1:-1:-1;3538:215:442;;;;;:::o;4217:150::-;4275:7;4306:1;4302;:5;4294:44;;;;;-1:-1:-1;;;4294:44:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;4359:1;4355;:5;;;;;;;4217:150;-1:-1:-1;;;4217:150:442:o", "linkReferences": {}, "immutableReferences": { "78707": [ { "start": 1653, "length": 32 }, { "start": 1791, "length": 32 } ] } }, "methodIdentifiers": { "addCTokens(address[])": "1d249354", "calcUnderlyingValues(address,uint256)": "727212f6", "getFundDeployer()": "97c0ac87", "getOwner()": "893d20e8", "getTokenFromCToken(address)": "4cae3ad7", "isSupportedAsset(address)": "9be918e6" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_fundDeployer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_weth\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_ceth\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"cToken\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"CTokenAdded\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_cTokens\",\"type\":\"address[]\"}],\"name\":\"addCTokens\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_derivative\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_derivativeAmount\",\"type\":\"uint256\"}],\"name\":\"calcUnderlyingValues\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"underlyings_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"underlyingAmounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFundDeployer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"fundDeployer_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_cToken\",\"type\":\"address\"}],\"name\":\"getTokenFromCToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"token_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"}],\"name\":\"isSupportedAsset\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isSupported_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"addCTokens(address[])\":{\"details\":\"Only allows CERC20 tokens. CEther is set in the constructor.\",\"params\":{\"_cTokens\":\"cTokens to add\"}},\"calcUnderlyingValues(address,uint256)\":{\"params\":{\"_derivative\":\"The derivative to convert\",\"_derivativeAmount\":\"The amount of the derivative to convert\"},\"returns\":{\"underlyingAmounts_\":\"The amount of each underlying asset for the equivalent derivative amount\",\"underlyings_\":\"The underlying assets for the _derivative\"}},\"getFundDeployer()\":{\"returns\":{\"fundDeployer_\":\"The `FUND_DEPLOYER` variable value\"}},\"getOwner()\":{\"details\":\"Ownership is deferred to the owner of the FundDeployer contract\",\"returns\":{\"owner_\":\"The owner\"}},\"getTokenFromCToken(address)\":{\"params\":{\"_cToken\":\"The cToken for which to get the underlying asset\"},\"returns\":{\"token_\":\"The underlying token\"}},\"isSupportedAsset(address)\":{\"params\":{\"_asset\":\"The asset to check\"},\"returns\":{\"isSupported_\":\"True if the asset is supported\"}}},\"title\":\"CompoundPriceFeed Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"addCTokens(address[])\":{\"notice\":\"Adds cTokens to the price feed\"},\"calcUnderlyingValues(address,uint256)\":{\"notice\":\"Converts a given amount of a derivative to its underlying asset values\"},\"getFundDeployer()\":{\"notice\":\"Gets the `FUND_DEPLOYER` variable\"},\"getOwner()\":{\"notice\":\"Gets the owner of this contract\"},\"getTokenFromCToken(address)\":{\"notice\":\"Returns the underlying asset of a given cToken\"},\"isSupportedAsset(address)\":{\"notice\":\"Checks if an asset is supported by the price feed\"}},\"notice\":\"Price source oracle for Compound Tokens (cTokens)\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/infrastructure/price-feeds/derivatives/feeds/CompoundPriceFeed.sol\":\"CompoundPriceFeed\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol\":{\"keccak256\":\"0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e\",\"dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK\"]},\"contracts/release/infrastructure/price-feeds/derivatives/feeds/CompoundPriceFeed.sol\":{\"keccak256\":\"0x1addbd55e648a9a1c4cdbf8a7549a9f4eced25f7478b0b4f467ab7cafe7162bc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6f165a37d3fb05d9044042c4a719b728fb6a499c5dabc53945b8775decb06560\",\"dweb:/ipfs/QmY2VnnAknyrticer1jtWVMCr4Ea3tv4XfW71BVGrgoBGH\"]},\"contracts/release/interfaces/ICERC20.sol\":{\"keccak256\":\"0x9a32a6ca307ac613bde26844d33e1732ae348bceffc93d63e3691f2ff22c6e0b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9c7aff5bf1c249fab27262fb1dc934325e259e5fd6857fbad70c8684f8ee4247\",\"dweb:/ipfs/QmTAneTyW2oCTZGVMVEAp77qMW9U9NymoK8k3RcwpNRh5W\"]},\"contracts/release/utils/FundDeployerOwnerMixin.sol\":{\"keccak256\":\"0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927\",\"dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_fundDeployer", "type": "address" }, { "internalType": "address", "name": "_weth", "type": "address" }, { "internalType": "address", "name": "_ceth", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "cToken", "type": "address", "indexed": true }, { "internalType": "address", "name": "token", "type": "address", "indexed": true } ], "type": "event", "name": "CTokenAdded", "anonymous": false }, { "inputs": [ { "internalType": "address[]", "name": "_cTokens", "type": "address[]" } ], "stateMutability": "nonpayable", "type": "function", "name": "addCTokens" }, { "inputs": [ { "internalType": "address", "name": "_derivative", "type": "address" }, { "internalType": "uint256", "name": "_derivativeAmount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "calcUnderlyingValues", "outputs": [ { "internalType": "address[]", "name": "underlyings_", "type": "address[]" }, { "internalType": "uint256[]", "name": "underlyingAmounts_", "type": "uint256[]" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getFundDeployer", "outputs": [ { "internalType": "address", "name": "fundDeployer_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getOwner", "outputs": [ { "internalType": "address", "name": "owner_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_cToken", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getTokenFromCToken", "outputs": [ { "internalType": "address", "name": "token_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_asset", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "isSupportedAsset", "outputs": [ { "internalType": "bool", "name": "isSupported_", "type": "bool" } ] } ], "devdoc": { "kind": "dev", "methods": { "addCTokens(address[])": { "details": "Only allows CERC20 tokens. CEther is set in the constructor.", "params": { "_cTokens": "cTokens to add" } }, "calcUnderlyingValues(address,uint256)": { "params": { "_derivative": "The derivative to convert", "_derivativeAmount": "The amount of the derivative to convert" }, "returns": { "underlyingAmounts_": "The amount of each underlying asset for the equivalent derivative amount", "underlyings_": "The underlying assets for the _derivative" } }, "getFundDeployer()": { "returns": { "fundDeployer_": "The `FUND_DEPLOYER` variable value" } }, "getOwner()": { "details": "Ownership is deferred to the owner of the FundDeployer contract", "returns": { "owner_": "The owner" } }, "getTokenFromCToken(address)": { "params": { "_cToken": "The cToken for which to get the underlying asset" }, "returns": { "token_": "The underlying token" } }, "isSupportedAsset(address)": { "params": { "_asset": "The asset to check" }, "returns": { "isSupported_": "True if the asset is supported" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "addCTokens(address[])": { "notice": "Adds cTokens to the price feed" }, "calcUnderlyingValues(address,uint256)": { "notice": "Converts a given amount of a derivative to its underlying asset values" }, "getFundDeployer()": { "notice": "Gets the `FUND_DEPLOYER` variable" }, "getOwner()": { "notice": "Gets the owner of this contract" }, "getTokenFromCToken(address)": { "notice": "Returns the underlying asset of a given cToken" }, "isSupportedAsset(address)": { "notice": "Checks if an asset is supported by the price feed" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/infrastructure/price-feeds/derivatives/feeds/CompoundPriceFeed.sol": "CompoundPriceFeed" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/core/fund-deployer/IFundDeployer.sol": { "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", "urls": [ "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol": { "keccak256": "0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332", "urls": [ "bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e", "dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/price-feeds/derivatives/feeds/CompoundPriceFeed.sol": { "keccak256": "0x1addbd55e648a9a1c4cdbf8a7549a9f4eced25f7478b0b4f467ab7cafe7162bc", "urls": [ "bzz-raw://6f165a37d3fb05d9044042c4a719b728fb6a499c5dabc53945b8775decb06560", "dweb:/ipfs/QmY2VnnAknyrticer1jtWVMCr4Ea3tv4XfW71BVGrgoBGH" ], "license": "GPL-3.0" }, "contracts/release/interfaces/ICERC20.sol": { "keccak256": "0x9a32a6ca307ac613bde26844d33e1732ae348bceffc93d63e3691f2ff22c6e0b", "urls": [ "bzz-raw://9c7aff5bf1c249fab27262fb1dc934325e259e5fd6857fbad70c8684f8ee4247", "dweb:/ipfs/QmTAneTyW2oCTZGVMVEAp77qMW9U9NymoK8k3RcwpNRh5W" ], "license": "GPL-3.0" }, "contracts/release/utils/FundDeployerOwnerMixin.sol": { "keccak256": "0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934", "urls": [ "bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927", "dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" } }, "version": 1 }, "id": 240 } diff --git a/eth_defi/abi/enzyme/CompoundV3ActionsMixin.json b/eth_defi/abi/enzyme/CompoundV3ActionsMixin.json index 4569d6fa..91ac1e91 100644 --- a/eth_defi/abi/enzyme/CompoundV3ActionsMixin.json +++ b/eth_defi/abi/enzyme/CompoundV3ActionsMixin.json @@ -1,174 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_compoundV3Rewards", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": {}, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_compoundV3Rewards\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"CompoundV3ActionsMixin Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Mixin contract for interacting with the Compound V3 lending functions\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/integration-manager/integrations/utils/actions/CompoundV3ActionsMixin.sol\":\"CompoundV3ActionsMixin\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/integration-manager/integrations/utils/actions/CompoundV3ActionsMixin.sol\":{\"keccak256\":\"0x6c6aaa8ea03f78e48ee27dd252178fc5fccd875b004aa9394a610f2abb0d01fe\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://903918650d194e59566658aca8de5ba87665fd71dbe5b0d1ba7e30701d8439b7\",\"dweb:/ipfs/QmWsRmAvya3F3e3cjMEaDK13i6amEAx5e6d8tVQPTGKGnU\"]},\"contracts/release/interfaces/ICompoundV3Comet.sol\":{\"keccak256\":\"0xf0465f5f896f3ff69ec19e8a3946887fcb672fd5874908918277923a7cf14131\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2870a61fb53f168265bf69ef35cb9910a9025d4700447413f465b2b0fe33cdb1\",\"dweb:/ipfs/QmeETY2T9vtqo26m5PWQooD94hBuHVt1aQjXQc4i1xqZtw\"]},\"contracts/release/interfaces/ICompoundV3CometRewards.sol\":{\"keccak256\":\"0x0169401972f768f7f88e8e23615c9867e8f0b3413a628fbc15fcc4d862d506e4\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3a07ef232526f7f4ed1b2e50e87293bd20940c23139b765f49c65b8796f2b785\",\"dweb:/ipfs/QmbnGkJPKN9UsDfUt6zBkQgKxMwFxUshPtfqKi1cmvaj6d\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_compoundV3Rewards", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/integration-manager/integrations/utils/actions/CompoundV3ActionsMixin.sol": "CompoundV3ActionsMixin" - }, - "libraries": {} - }, - "sources": { - "contracts/release/extensions/integration-manager/integrations/utils/actions/CompoundV3ActionsMixin.sol": { - "keccak256": "0x6c6aaa8ea03f78e48ee27dd252178fc5fccd875b004aa9394a610f2abb0d01fe", - "urls": [ - "bzz-raw://903918650d194e59566658aca8de5ba87665fd71dbe5b0d1ba7e30701d8439b7", - "dweb:/ipfs/QmWsRmAvya3F3e3cjMEaDK13i6amEAx5e6d8tVQPTGKGnU" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/ICompoundV3Comet.sol": { - "keccak256": "0xf0465f5f896f3ff69ec19e8a3946887fcb672fd5874908918277923a7cf14131", - "urls": [ - "bzz-raw://2870a61fb53f168265bf69ef35cb9910a9025d4700447413f465b2b0fe33cdb1", - "dweb:/ipfs/QmeETY2T9vtqo26m5PWQooD94hBuHVt1aQjXQc4i1xqZtw" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/ICompoundV3CometRewards.sol": { - "keccak256": "0x0169401972f768f7f88e8e23615c9867e8f0b3413a628fbc15fcc4d862d506e4", - "urls": [ - "bzz-raw://3a07ef232526f7f4ed1b2e50e87293bd20940c23139b765f49c65b8796f2b785", - "dweb:/ipfs/QmbnGkJPKN9UsDfUt6zBkQgKxMwFxUshPtfqKi1cmvaj6d" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AssetHelpers.sol": { - "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", - "urls": [ - "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", - "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { - "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", - "urls": [ - "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", - "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Address.sol": { - "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", - "urls": [ - "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", - "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 185 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_compoundV3Rewards", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": {}, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_compoundV3Rewards\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"CompoundV3ActionsMixin Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Mixin contract for interacting with the Compound V3 lending functions\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/integration-manager/integrations/utils/actions/CompoundV3ActionsMixin.sol\":\"CompoundV3ActionsMixin\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/integration-manager/integrations/utils/actions/CompoundV3ActionsMixin.sol\":{\"keccak256\":\"0x6c6aaa8ea03f78e48ee27dd252178fc5fccd875b004aa9394a610f2abb0d01fe\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://903918650d194e59566658aca8de5ba87665fd71dbe5b0d1ba7e30701d8439b7\",\"dweb:/ipfs/QmWsRmAvya3F3e3cjMEaDK13i6amEAx5e6d8tVQPTGKGnU\"]},\"contracts/release/interfaces/ICompoundV3Comet.sol\":{\"keccak256\":\"0xf0465f5f896f3ff69ec19e8a3946887fcb672fd5874908918277923a7cf14131\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2870a61fb53f168265bf69ef35cb9910a9025d4700447413f465b2b0fe33cdb1\",\"dweb:/ipfs/QmeETY2T9vtqo26m5PWQooD94hBuHVt1aQjXQc4i1xqZtw\"]},\"contracts/release/interfaces/ICompoundV3CometRewards.sol\":{\"keccak256\":\"0x0169401972f768f7f88e8e23615c9867e8f0b3413a628fbc15fcc4d862d506e4\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3a07ef232526f7f4ed1b2e50e87293bd20940c23139b765f49c65b8796f2b785\",\"dweb:/ipfs/QmbnGkJPKN9UsDfUt6zBkQgKxMwFxUshPtfqKi1cmvaj6d\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_compoundV3Rewards", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/integration-manager/integrations/utils/actions/CompoundV3ActionsMixin.sol": "CompoundV3ActionsMixin" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/extensions/integration-manager/integrations/utils/actions/CompoundV3ActionsMixin.sol": { "keccak256": "0x6c6aaa8ea03f78e48ee27dd252178fc5fccd875b004aa9394a610f2abb0d01fe", "urls": [ "bzz-raw://903918650d194e59566658aca8de5ba87665fd71dbe5b0d1ba7e30701d8439b7", "dweb:/ipfs/QmWsRmAvya3F3e3cjMEaDK13i6amEAx5e6d8tVQPTGKGnU" ], "license": "GPL-3.0" }, "contracts/release/interfaces/ICompoundV3Comet.sol": { "keccak256": "0xf0465f5f896f3ff69ec19e8a3946887fcb672fd5874908918277923a7cf14131", "urls": [ "bzz-raw://2870a61fb53f168265bf69ef35cb9910a9025d4700447413f465b2b0fe33cdb1", "dweb:/ipfs/QmeETY2T9vtqo26m5PWQooD94hBuHVt1aQjXQc4i1xqZtw" ], "license": "GPL-3.0" }, "contracts/release/interfaces/ICompoundV3CometRewards.sol": { "keccak256": "0x0169401972f768f7f88e8e23615c9867e8f0b3413a628fbc15fcc4d862d506e4", "urls": [ "bzz-raw://3a07ef232526f7f4ed1b2e50e87293bd20940c23139b765f49c65b8796f2b785", "dweb:/ipfs/QmbnGkJPKN9UsDfUt6zBkQgKxMwFxUshPtfqKi1cmvaj6d" ], "license": "GPL-3.0" }, "contracts/release/utils/AssetHelpers.sol": { "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", "urls": [ "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", "urls": [ "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Address.sol": { "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", "urls": [ "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" } }, "version": 1 }, "id": 185 } diff --git a/eth_defi/abi/enzyme/CompoundV3Adapter.json b/eth_defi/abi/enzyme/CompoundV3Adapter.json index aedf9ba4..05f21580 100644 --- a/eth_defi/abi/enzyme/CompoundV3Adapter.json +++ b/eth_defi/abi/enzyme/CompoundV3Adapter.json @@ -1,898 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_integrationManager", - "type": "address" - }, - { - "internalType": "address", - "name": "_compoundV3Configurator", - "type": "address" - }, - { - "internalType": "address", - "name": "_compoundV3Rewards", - "type": "address" - }, - { - "internalType": "address", - "name": "_addressListRegistry", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_cTokenListId", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "name": "CLAIM_REWARDS_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "LEND_AND_STAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "LEND_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "REDEEM_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "STAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "TAKE_MULTIPLE_ORDERS_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "TAKE_ORDER_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "UNSTAKE_AND_REDEEM_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "UNSTAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "claimRewards", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getIntegrationManager", - "outputs": [ - { - "internalType": "address", - "name": "integrationManager_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "_assetData", - "type": "bytes" - } - ], - "name": "lend", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes4", - "name": "_selector", - "type": "bytes4" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - } - ], - "name": "parseAssetsForAction", - "outputs": [ - { - "internalType": "enum IIntegrationManager.SpendAssetsHandleType", - "name": "spendAssetsHandleType_", - "type": "uint8" - }, - { - "internalType": "address[]", - "name": "spendAssets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "spendAssetAmounts_", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "incomingAssets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "minIncomingAssetAmounts_", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "_assetData", - "type": "bytes" - } - ], - "name": "redeem", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x6101406040523480156200001257600080fd5b50604051620021be380380620021be83398101604081905262000035916200015d565b6001600160601b0319606086811b821660805283901b1660a05260c0819052604051630337992760e31b81528390839083906000906001600160a01b038416906319bcc938906200008b908590600401620001ee565b60206040518083038186803b158015620000a457600080fd5b505afa158015620000b9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000df919062000134565b6001600160601b0319606091821b811660e05294811b8516610100529790971b90921661012052506200023895505050505050565b8051620001218162000213565b92915050565b805162000121816200022d565b6000602082840312156200014757600080fd5b600062000155848462000114565b949350505050565b600080600080600060a086880312156200017657600080fd5b600062000184888862000114565b9550506020620001978882890162000114565b9450506040620001aa8882890162000114565b9350506060620001bd8882890162000114565b9250506080620001d08882890162000127565b9150509295509295909350565b620001e88162000210565b82525050565b60208101620001218284620001dd565b60006001600160a01b03821662000121565b90565b6200021e81620001fe565b81146200022a57600080fd5b50565b6200021e8162000210565b60805160601c60a05160601c60c05160e05160601c6101005160601c6101205160601c611f286200029660003980610a2c5280610c995250806108e45250806107ce5250806106fb5250806106ce52508061064b5250611f286000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c8063b23228cf1161008c578063c32990a211610066578063c32990a214610178578063c54efee514610180578063e7c45690146101a4578063f7d882b5146101b9576100ea565b8063b23228cf1461014a578063b9dfbacc14610152578063c29fa9dd14610165576100ea565b8063257cb1a3116100c8578063257cb1a31461012a5780633ffc15911461013257806340da225d1461013a578063863e5ad014610142576100ea565b8063080456c1146100ef578063099f75151461010d578063131461c014610122575b600080fd5b6100f76101c1565b6040516101049190611cc1565b60405180910390f35b61012061011b36600461174e565b6101e5565b005b6100f7610315565b6100f7610339565b6100f761035d565b6100f7610381565b6100f76103a5565b6100f76103c9565b61012061016036600461174e565b6103ed565b61012061017336600461174e565b610461565b6100f761057b565b61019361018e3660046116e7565b61059f565b604051610104959493929190611ccf565b6101ac610649565b6040516101049190611c1c565b6100f761066d565b7f8334eb99be0145865eba9889fca2ee920288090caefff4cc776038e20ad9259a81565b60608061022784848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061069192505050565b92505091506102498160008151811061023c57fe5b60200260200101516106b7565b61030c8260008151811061025957fe5b60200260200101518260008151811061026e57fe5b6020026020010151898560008151811061028457fe5b60200260200101516001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016102b79190611c1c565b60206040518083038186803b1580156102cf57600080fd5b505afa1580156102e3573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061030791906118ea565b61083c565b50505050505050565b7f29fa046e79524c3c5ac4c01df692c35e217802b2b13b21121b76cf0ef02b138c81565b7f099f75155f0e997bf83a7993a71d5e7e7540bd386fe1e84643a09ce6b412521981565b7ffa7dd04da627f433da73c4355ead9c75682a67a8fc84d3f6170ef0922f402d2481565b7fb9dfbaccbe5cd2a84fdcf1d15f23ef25d23086f5afbaa99516065ed4a5bbc7a381565b7f03e38a2bd7063d45c897edeafc330e71657502dd86434d3c37a489caf116af6981565b7f68e30677f607df46e87da13e15b637784cfa62374b653f35ab43d10361a2f83081565b606061042e85858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506108af92505050565b905060005b815181101561030c5761045982828151811061044b57fe5b6020026020010151886108cd565b600101610433565b6060806104a384848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061069192505050565b92505091506104b88260008151811061023c57fe5b61030c826000815181106104c857fe5b6020026020010151826000815181106104dd57fe5b602002602001015189856000815181106104f357fe5b60200260200101516001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016105269190611c1c565b60206040518083038186803b15801561053e57600080fd5b505afa158015610552573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061057691906118ea565b61091e565b7f0e7f692dad5b88fdee426250d6eae91207e56a2e8112b7364579bed1790e5bf481565b600060608080806001600160e01b03198816632e77eeb360e21b14156105d6576105c761094e565b9450945094509450945061063e565b6001600160e01b0319881663099f751560e01b14156105f9576105c787876109ae565b6001600160e01b0319881663c29fa9dd60e01b141561061d576105c7898888610bb7565b60405162461bcd60e51b815260040161063590611d97565b60405180910390fd5b945094509450945094565b7f000000000000000000000000000000000000000000000000000000000000000090565b7fc29fa9dde84204c2908778afd0613d802d31cf046179b88f6d2b4a4e507ea2d581565b6060806060838060200190518101906106aa9190611807565b9250925092509193909250565b6040516307158c8160e21b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690631c56320490610725907f0000000000000000000000000000000000000000000000000000000000000000908590600401611da7565b60206040518083038186803b15801561073d57600080fd5b505afa158015610751573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107759190611898565b610839576040805160018082528183019092526060916020808301908036833701905050905081816000815181106107a957fe5b6001600160a01b03928316602091820292909201015260405163a8f0bc4160e01b81527f00000000000000000000000000000000000000000000000000000000000000009091169063a8f0bc4190610805908490600401611cb0565b600060405180830381600087803b15801561081f57600080fd5b505af1158015610833573d6000803e3d6000fd5b50505050505b50565b610847848483610e48565b604051634232cd6360e01b81526001600160a01b03841690634232cd639061087790859088908690600401611c6d565b600060405180830381600087803b15801561089157600080fd5b505af11580156108a5573d6000803e3d6000fd5b5050505050505050565b6060818060200190518101906108c591906117d3565b90505b919050565b604051635b81a7bf60e11b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063b7034f7e906108059085908590600190600401611c45565b6040516361d9ad3f60e11b81526001600160a01b0385169063c3b35a7e9061087790859087908690600401611c6d565b600060608080808480604051908082528060200260200182016040528015610980578160200160208202803683370190505b5060408051600080825260208201818152828401918252606083019093529399929850965094509092509050565b60006060806060806000806109f889898080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610f0a92505050565b60408051600180825281830190925292945090925060208083019080368337505060405163c44b11f760e01b8152919750507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063c44b11f790610a69908590600401611c1c565b60006040518083038186803b158015610a8157600080fd5b505afa158015610a95573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610abd91908101906118b6565b6040015186600081518110610ace57fe5b6001600160a01b03929092166020928302919091018201526040805160018082528183019092529182810190803683370190505094508085600081518110610b1257fe5b6020908102919091010152604080516001808252818301909252908160200160208202803683370190505093508184600081518110610b4d57fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509250610b8e816002610f2a565b83600081518110610b9b57fe5b6020026020010181815250506002965050509295509295909350565b6000606080606080600080610c0189898080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610f0a92505050565b604080516001808252818301909252929450909250602080830190803683370190505095508186600081518110610c3457fe5b6001600160a01b03929092166020928302919091018201526040805160018082528183019092529182810190803683375050604080516001808252818301909252929750905060208083019080368337505060405163c44b11f760e01b8152919550507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063c44b11f790610cd6908590600401611c1c565b60006040518083038186803b158015610cee57600080fd5b505afa158015610d02573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610d2a91908101906118b6565b6040015184600081518110610d3b57fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509250600019811415610dfa576040516370a0823160e01b81526001600160a01b038316906370a0823190610da7908d90600401611c1c565b60206040518083038186803b158015610dbf57600080fd5b505afa158015610dd3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610df791906118ea565b90505b8085600081518110610e0857fe5b6020908102919091010152610e1e816002610f2a565b83600081518110610e2b57fe5b602002602001018181525050600296505050939792965093509350565b604051636eb1769f60e11b81526000906001600160a01b0385169063dd62ed3e90610e799030908790600401611c2a565b60206040518083038186803b158015610e9157600080fd5b505afa158015610ea5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ec991906118ea565b905081811015610f04578015610eee57610eee6001600160a01b038516846000610f57565b610f046001600160a01b03851684600019610f57565b50505050565b60008082806020019051810190610f2191906116ad565b91509150915091565b600082821115610f4c5760405162461bcd60e51b815260040161063590611d47565b508082035b92915050565b801580610fdf5750604051636eb1769f60e11b81526001600160a01b0384169063dd62ed3e90610f8d9030908690600401611c2a565b60206040518083038186803b158015610fa557600080fd5b505afa158015610fb9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fdd91906118ea565b155b610ffb5760405162461bcd60e51b815260040161063590611d87565b6110518363095ea7b360e01b848460405160240161101a929190611c95565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152611056565b505050565b60606110ab826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166110e59092919063ffffffff16565b80519091501561105157808060200190518101906110c99190611898565b6110515760405162461bcd60e51b815260040161063590611d77565b60606110f484846000856110fe565b90505b9392505050565b6060824710156111205760405162461bcd60e51b815260040161063590611d57565b611129856111c1565b6111455760405162461bcd60e51b815260040161063590611d67565b60006060866001600160a01b031685876040516111629190611c10565b60006040518083038185875af1925050503d806000811461119f576040519150601f19603f3d011682016040523d82523d6000602084013e6111a4565b606091505b50915091506111b48282866111c7565b925050505b949350505050565b3b151590565b606083156111d65750816110f7565b8251156111e65782518084602001fd5b8160405162461bcd60e51b81526004016106359190611d36565b8035610f5181611ec8565b8051610f5181611ec8565b600082601f83011261122757600080fd5b815161123a61123582611ddb565b611db5565b9150818183526020840193506020810190508385602084028201111561125f57600080fd5b60005b8381101561128b5781611275888261120b565b8452506020928301929190910190600101611262565b5050505092915050565b600082601f8301126112a657600080fd5b81516112b461123582611ddb565b915081818352602084019350602081019050838560e08402820111156112d957600080fd5b60005b8381101561128b57816112ef88826113d5565b84525060209092019160e091909101906001016112dc565b600082601f83011261131857600080fd5b815161132661123582611ddb565b9150818183526020840193506020810190508385602084028201111561134b57600080fd5b60005b8381101561128b5781611361888261168c565b845250602092830192919091019060010161134e565b8051610f5181611edc565b8035610f5181611ee5565b60008083601f84011261139f57600080fd5b5081356001600160401b038111156113b657600080fd5b6020830191508360018202830111156113ce57600080fd5b9250929050565b600060e082840312156113e757600080fd5b6113f160e0611db5565b905060006113ff848461120b565b82525060206114108484830161120b565b6020830152506040611424848285016116a2565b604083015250606061143884828501611697565b606083015250608061144c84828501611697565b60808301525060a061146084828501611697565b60a08301525060c061147484828501611681565b60c08301525092915050565b60006102a0828403121561149357600080fd5b61149e6102a0611db5565b905060006114ac848461120b565b82525060206114bd8484830161120b565b60208301525060406114d18482850161120b565b60408301525060606114e58482850161120b565b60608301525060806114f98482850161120b565b60808301525060a061150d84828501611697565b60a08301525060c061152184828501611697565b60c08301525060e061153584828501611697565b60e08301525061010061154a84828501611697565b6101008301525061012061156084828501611697565b6101208301525061014061157684828501611697565b6101408301525061016061158c84828501611697565b610160830152506101806115a284828501611697565b610180830152506101a06115b884828501611697565b6101a0830152506101c06115ce84828501611697565b6101c0830152506101e06115e484828501611697565b6101e0830152506102006115fa84828501611697565b6102008301525061022061161084828501611676565b6102208301525061024061162684828501611676565b6102408301525061026061163c84828501611676565b610260830152506102808201516001600160401b0381111561165d57600080fd5b61166984828501611295565b6102808301525092915050565b8051610f5181611eee565b8051610f5181611ef7565b8051610f5181611f00565b8051610f5181611f09565b8051610f5181611f12565b600080604083850312156116c057600080fd5b60006116cc858561120b565b92505060206116dd8582860161168c565b9150509250929050565b600080600080606085870312156116fd57600080fd5b60006117098787611200565b945050602061171a87828801611382565b93505060408501356001600160401b0381111561173657600080fd5b6117428782880161138d565b95989497509550505050565b60008060008060006060868803121561176657600080fd5b60006117728888611200565b95505060208601356001600160401b0381111561178e57600080fd5b61179a8882890161138d565b945094505060408601356001600160401b038111156117b857600080fd5b6117c48882890161138d565b92509250509295509295909350565b6000602082840312156117e557600080fd5b81516001600160401b038111156117fb57600080fd5b6111b984828501611216565b60008060006060848603121561181c57600080fd5b83516001600160401b0381111561183257600080fd5b61183e86828701611216565b93505060208401516001600160401b0381111561185a57600080fd5b61186686828701611307565b92505060408401516001600160401b0381111561188257600080fd5b61188e86828701611216565b9150509250925092565b6000602082840312156118aa57600080fd5b60006111b98484611377565b6000602082840312156118c857600080fd5b81516001600160401b038111156118de57600080fd5b6111b984828501611480565b6000602082840312156118fc57600080fd5b60006111b9848461168c565b60006119148383611928565b505060200190565b60006119148383611c07565b61193181611e0e565b82525050565b600061194282611e01565b61194c8185611e05565b935061195783611dfb565b8060005b8381101561198557815161196f8882611908565b975061197a83611dfb565b92505060010161195b565b509495945050505050565b600061199b82611e01565b6119a58185611e05565b93506119b083611dfb565b8060005b838110156119855781516119c8888261191c565b97506119d383611dfb565b9250506001016119b4565b61193181611e19565b61193181611e1e565b60006119fb82611e01565b611a0581856108c8565b9350611a15818560208601611e88565b9290920192915050565b61193181611e7d565b6000611a3382611e01565b611a3d8185611e05565b9350611a4d818560208601611e88565b611a5681611eb4565b9093019392505050565b6000611a6d601e83611e05565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000611aa6602683611e05565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f8152651c8818d85b1b60d21b602082015260400192915050565b6000611aee601d83611e05565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000815260200192915050565b6000611b27602a83611e05565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e8152691bdd081cdd58d8d9595960b21b602082015260400192915050565b6000611b73603683611e05565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f81527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b602082015260400192915050565b6000611bcb602783611e05565b7f7061727365417373657473466f72416374696f6e3a205f73656c6563746f72208152661a5b9d985b1a5960ca1b602082015260400192915050565b61193181611e68565b60006110f782846119f0565b60208101610f518284611928565b60408101611c388285611928565b6110f76020830184611928565b60608101611c538286611928565b611c606020830185611928565b6111b960408301846119de565b60608101611c7b8286611928565b611c886020830185611928565b6111b96040830184611c07565b60408101611ca38285611928565b6110f76020830184611c07565b602080825281016110f78184611937565b60208101610f5182846119e7565b60a08101611cdd8288611a1f565b8181036020830152611cef8187611937565b90508181036040830152611d038186611990565b90508181036060830152611d178185611937565b90508181036080830152611d2b8184611990565b979650505050505050565b602080825281016110f78184611a28565b602080825281016108c581611a60565b602080825281016108c581611a99565b602080825281016108c581611ae1565b602080825281016108c581611b1a565b602080825281016108c581611b66565b602080825281016108c581611bbe565b60408101611c388285611c07565b6040518181016001600160401b0381118282101715611dd357600080fd5b604052919050565b60006001600160401b03821115611df157600080fd5b5060209081020190565b60200190565b5190565b90815260200190565b60006108c582611e5c565b151590565b6001600160e01b03191690565b806108c881611ebe565b6cffffffffffffffffffffffffff1690565b6fffffffffffffffffffffffffffffffff1690565b6001600160a01b031690565b90565b6001600160401b031690565b60ff1690565b60006108c582611e2b565b60005b83811015611ea3578181015183820152602001611e8b565b83811115610f045750506000910152565b601f01601f191690565b6003811061083957fe5b611ed181611e0e565b811461083957600080fd5b611ed181611e19565b611ed181611e1e565b611ed181611e35565b611ed181611e47565b611ed181611e68565b611ed181611e6b565b611ed181611e7756fea164736f6c634300060c000a", - "sourceMap": "1333:8880:165:-:0;;;1577:483;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;1938:41:179;;;;;;;;903:74:15;;;;;;987:17;;;;1035:63;;-1:-1:-1;;;1035:63:15;;1947:18:165;;1879:20;;1901:13;;1015:17:15;;-1:-1:-1;;;;;903:74:15;;;1035:54;;:63;;1901:13:165;;1035:63:15;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;1108:60:15;;;;;;;;825:74:185;;;;;;;1981:72:165;;;;;;;::::3;::::0;-1:-1:-1;1333:8880:165;;-1:-1:-1;;;;;;1333:8880:165;5:134:-1;83:13;;101:33;83:13;101:33;:::i;:::-;68:71;;;;:::o;146:134::-;224:13;;242:33;224:13;242:33;:::i;287:263::-;;402:2;390:9;381:7;377:23;373:32;370:2;;;418:1;415;408:12;370:2;453:1;470:64;526:7;506:9;470:64;:::i;:::-;460:74;364:186;-1:-1;;;;364:186::o;557:809::-;;;;;;740:3;728:9;719:7;715:23;711:33;708:2;;;757:1;754;747:12;708:2;792:1;809:64;865:7;845:9;809:64;:::i;:::-;799:74;;771:108;910:2;928:64;984:7;975:6;964:9;960:22;928:64;:::i;:::-;918:74;;889:109;1029:2;1047:64;1103:7;1094:6;1083:9;1079:22;1047:64;:::i;:::-;1037:74;;1008:109;1148:2;1166:64;1222:7;1213:6;1202:9;1198:22;1166:64;:::i;:::-;1156:74;;1127:109;1267:3;1286:64;1342:7;1333:6;1322:9;1318:22;1286:64;:::i;:::-;1276:74;;1246:110;702:664;;;;;;;;:::o;1373:113::-;1456:24;1474:5;1456:24;:::i;:::-;1451:3;1444:37;1438:48;;:::o;1493:222::-;1620:2;1605:18;;1634:71;1609:9;1678:6;1634:71;:::i;1722:91::-;;-1:-1;;;;;1882:54;;1784:24;1865:76::o;1948:72::-;2010:5;1993:27::o;2027:117::-;2096:24;2114:5;2096:24;:::i;:::-;2089:5;2086:35;2076:2;;2135:1;2132;2125:12;2076:2;2070:74;:::o;2151:117::-;2220:24;2238:5;2220:24;:::i;2194:74::-;1333:8880:165;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106100ea5760003560e01c8063b23228cf1161008c578063c32990a211610066578063c32990a214610178578063c54efee514610180578063e7c45690146101a4578063f7d882b5146101b9576100ea565b8063b23228cf1461014a578063b9dfbacc14610152578063c29fa9dd14610165576100ea565b8063257cb1a3116100c8578063257cb1a31461012a5780633ffc15911461013257806340da225d1461013a578063863e5ad014610142576100ea565b8063080456c1146100ef578063099f75151461010d578063131461c014610122575b600080fd5b6100f76101c1565b6040516101049190611cc1565b60405180910390f35b61012061011b36600461174e565b6101e5565b005b6100f7610315565b6100f7610339565b6100f761035d565b6100f7610381565b6100f76103a5565b6100f76103c9565b61012061016036600461174e565b6103ed565b61012061017336600461174e565b610461565b6100f761057b565b61019361018e3660046116e7565b61059f565b604051610104959493929190611ccf565b6101ac610649565b6040516101049190611c1c565b6100f761066d565b7f8334eb99be0145865eba9889fca2ee920288090caefff4cc776038e20ad9259a81565b60608061022784848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061069192505050565b92505091506102498160008151811061023c57fe5b60200260200101516106b7565b61030c8260008151811061025957fe5b60200260200101518260008151811061026e57fe5b6020026020010151898560008151811061028457fe5b60200260200101516001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016102b79190611c1c565b60206040518083038186803b1580156102cf57600080fd5b505afa1580156102e3573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061030791906118ea565b61083c565b50505050505050565b7f29fa046e79524c3c5ac4c01df692c35e217802b2b13b21121b76cf0ef02b138c81565b7f099f75155f0e997bf83a7993a71d5e7e7540bd386fe1e84643a09ce6b412521981565b7ffa7dd04da627f433da73c4355ead9c75682a67a8fc84d3f6170ef0922f402d2481565b7fb9dfbaccbe5cd2a84fdcf1d15f23ef25d23086f5afbaa99516065ed4a5bbc7a381565b7f03e38a2bd7063d45c897edeafc330e71657502dd86434d3c37a489caf116af6981565b7f68e30677f607df46e87da13e15b637784cfa62374b653f35ab43d10361a2f83081565b606061042e85858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506108af92505050565b905060005b815181101561030c5761045982828151811061044b57fe5b6020026020010151886108cd565b600101610433565b6060806104a384848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061069192505050565b92505091506104b88260008151811061023c57fe5b61030c826000815181106104c857fe5b6020026020010151826000815181106104dd57fe5b602002602001015189856000815181106104f357fe5b60200260200101516001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016105269190611c1c565b60206040518083038186803b15801561053e57600080fd5b505afa158015610552573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061057691906118ea565b61091e565b7f0e7f692dad5b88fdee426250d6eae91207e56a2e8112b7364579bed1790e5bf481565b600060608080806001600160e01b03198816632e77eeb360e21b14156105d6576105c761094e565b9450945094509450945061063e565b6001600160e01b0319881663099f751560e01b14156105f9576105c787876109ae565b6001600160e01b0319881663c29fa9dd60e01b141561061d576105c7898888610bb7565b60405162461bcd60e51b815260040161063590611d97565b60405180910390fd5b945094509450945094565b7f000000000000000000000000000000000000000000000000000000000000000090565b7fc29fa9dde84204c2908778afd0613d802d31cf046179b88f6d2b4a4e507ea2d581565b6060806060838060200190518101906106aa9190611807565b9250925092509193909250565b6040516307158c8160e21b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690631c56320490610725907f0000000000000000000000000000000000000000000000000000000000000000908590600401611da7565b60206040518083038186803b15801561073d57600080fd5b505afa158015610751573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107759190611898565b610839576040805160018082528183019092526060916020808301908036833701905050905081816000815181106107a957fe5b6001600160a01b03928316602091820292909201015260405163a8f0bc4160e01b81527f00000000000000000000000000000000000000000000000000000000000000009091169063a8f0bc4190610805908490600401611cb0565b600060405180830381600087803b15801561081f57600080fd5b505af1158015610833573d6000803e3d6000fd5b50505050505b50565b610847848483610e48565b604051634232cd6360e01b81526001600160a01b03841690634232cd639061087790859088908690600401611c6d565b600060405180830381600087803b15801561089157600080fd5b505af11580156108a5573d6000803e3d6000fd5b5050505050505050565b6060818060200190518101906108c591906117d3565b90505b919050565b604051635b81a7bf60e11b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063b7034f7e906108059085908590600190600401611c45565b6040516361d9ad3f60e11b81526001600160a01b0385169063c3b35a7e9061087790859087908690600401611c6d565b600060608080808480604051908082528060200260200182016040528015610980578160200160208202803683370190505b5060408051600080825260208201818152828401918252606083019093529399929850965094509092509050565b60006060806060806000806109f889898080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610f0a92505050565b60408051600180825281830190925292945090925060208083019080368337505060405163c44b11f760e01b8152919750507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063c44b11f790610a69908590600401611c1c565b60006040518083038186803b158015610a8157600080fd5b505afa158015610a95573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610abd91908101906118b6565b6040015186600081518110610ace57fe5b6001600160a01b03929092166020928302919091018201526040805160018082528183019092529182810190803683370190505094508085600081518110610b1257fe5b6020908102919091010152604080516001808252818301909252908160200160208202803683370190505093508184600081518110610b4d57fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509250610b8e816002610f2a565b83600081518110610b9b57fe5b6020026020010181815250506002965050509295509295909350565b6000606080606080600080610c0189898080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610f0a92505050565b604080516001808252818301909252929450909250602080830190803683370190505095508186600081518110610c3457fe5b6001600160a01b03929092166020928302919091018201526040805160018082528183019092529182810190803683375050604080516001808252818301909252929750905060208083019080368337505060405163c44b11f760e01b8152919550507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063c44b11f790610cd6908590600401611c1c565b60006040518083038186803b158015610cee57600080fd5b505afa158015610d02573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610d2a91908101906118b6565b6040015184600081518110610d3b57fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509250600019811415610dfa576040516370a0823160e01b81526001600160a01b038316906370a0823190610da7908d90600401611c1c565b60206040518083038186803b158015610dbf57600080fd5b505afa158015610dd3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610df791906118ea565b90505b8085600081518110610e0857fe5b6020908102919091010152610e1e816002610f2a565b83600081518110610e2b57fe5b602002602001018181525050600296505050939792965093509350565b604051636eb1769f60e11b81526000906001600160a01b0385169063dd62ed3e90610e799030908790600401611c2a565b60206040518083038186803b158015610e9157600080fd5b505afa158015610ea5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ec991906118ea565b905081811015610f04578015610eee57610eee6001600160a01b038516846000610f57565b610f046001600160a01b03851684600019610f57565b50505050565b60008082806020019051810190610f2191906116ad565b91509150915091565b600082821115610f4c5760405162461bcd60e51b815260040161063590611d47565b508082035b92915050565b801580610fdf5750604051636eb1769f60e11b81526001600160a01b0384169063dd62ed3e90610f8d9030908690600401611c2a565b60206040518083038186803b158015610fa557600080fd5b505afa158015610fb9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fdd91906118ea565b155b610ffb5760405162461bcd60e51b815260040161063590611d87565b6110518363095ea7b360e01b848460405160240161101a929190611c95565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152611056565b505050565b60606110ab826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166110e59092919063ffffffff16565b80519091501561105157808060200190518101906110c99190611898565b6110515760405162461bcd60e51b815260040161063590611d77565b60606110f484846000856110fe565b90505b9392505050565b6060824710156111205760405162461bcd60e51b815260040161063590611d57565b611129856111c1565b6111455760405162461bcd60e51b815260040161063590611d67565b60006060866001600160a01b031685876040516111629190611c10565b60006040518083038185875af1925050503d806000811461119f576040519150601f19603f3d011682016040523d82523d6000602084013e6111a4565b606091505b50915091506111b48282866111c7565b925050505b949350505050565b3b151590565b606083156111d65750816110f7565b8251156111e65782518084602001fd5b8160405162461bcd60e51b81526004016106359190611d36565b8035610f5181611ec8565b8051610f5181611ec8565b600082601f83011261122757600080fd5b815161123a61123582611ddb565b611db5565b9150818183526020840193506020810190508385602084028201111561125f57600080fd5b60005b8381101561128b5781611275888261120b565b8452506020928301929190910190600101611262565b5050505092915050565b600082601f8301126112a657600080fd5b81516112b461123582611ddb565b915081818352602084019350602081019050838560e08402820111156112d957600080fd5b60005b8381101561128b57816112ef88826113d5565b84525060209092019160e091909101906001016112dc565b600082601f83011261131857600080fd5b815161132661123582611ddb565b9150818183526020840193506020810190508385602084028201111561134b57600080fd5b60005b8381101561128b5781611361888261168c565b845250602092830192919091019060010161134e565b8051610f5181611edc565b8035610f5181611ee5565b60008083601f84011261139f57600080fd5b5081356001600160401b038111156113b657600080fd5b6020830191508360018202830111156113ce57600080fd5b9250929050565b600060e082840312156113e757600080fd5b6113f160e0611db5565b905060006113ff848461120b565b82525060206114108484830161120b565b6020830152506040611424848285016116a2565b604083015250606061143884828501611697565b606083015250608061144c84828501611697565b60808301525060a061146084828501611697565b60a08301525060c061147484828501611681565b60c08301525092915050565b60006102a0828403121561149357600080fd5b61149e6102a0611db5565b905060006114ac848461120b565b82525060206114bd8484830161120b565b60208301525060406114d18482850161120b565b60408301525060606114e58482850161120b565b60608301525060806114f98482850161120b565b60808301525060a061150d84828501611697565b60a08301525060c061152184828501611697565b60c08301525060e061153584828501611697565b60e08301525061010061154a84828501611697565b6101008301525061012061156084828501611697565b6101208301525061014061157684828501611697565b6101408301525061016061158c84828501611697565b610160830152506101806115a284828501611697565b610180830152506101a06115b884828501611697565b6101a0830152506101c06115ce84828501611697565b6101c0830152506101e06115e484828501611697565b6101e0830152506102006115fa84828501611697565b6102008301525061022061161084828501611676565b6102208301525061024061162684828501611676565b6102408301525061026061163c84828501611676565b610260830152506102808201516001600160401b0381111561165d57600080fd5b61166984828501611295565b6102808301525092915050565b8051610f5181611eee565b8051610f5181611ef7565b8051610f5181611f00565b8051610f5181611f09565b8051610f5181611f12565b600080604083850312156116c057600080fd5b60006116cc858561120b565b92505060206116dd8582860161168c565b9150509250929050565b600080600080606085870312156116fd57600080fd5b60006117098787611200565b945050602061171a87828801611382565b93505060408501356001600160401b0381111561173657600080fd5b6117428782880161138d565b95989497509550505050565b60008060008060006060868803121561176657600080fd5b60006117728888611200565b95505060208601356001600160401b0381111561178e57600080fd5b61179a8882890161138d565b945094505060408601356001600160401b038111156117b857600080fd5b6117c48882890161138d565b92509250509295509295909350565b6000602082840312156117e557600080fd5b81516001600160401b038111156117fb57600080fd5b6111b984828501611216565b60008060006060848603121561181c57600080fd5b83516001600160401b0381111561183257600080fd5b61183e86828701611216565b93505060208401516001600160401b0381111561185a57600080fd5b61186686828701611307565b92505060408401516001600160401b0381111561188257600080fd5b61188e86828701611216565b9150509250925092565b6000602082840312156118aa57600080fd5b60006111b98484611377565b6000602082840312156118c857600080fd5b81516001600160401b038111156118de57600080fd5b6111b984828501611480565b6000602082840312156118fc57600080fd5b60006111b9848461168c565b60006119148383611928565b505060200190565b60006119148383611c07565b61193181611e0e565b82525050565b600061194282611e01565b61194c8185611e05565b935061195783611dfb565b8060005b8381101561198557815161196f8882611908565b975061197a83611dfb565b92505060010161195b565b509495945050505050565b600061199b82611e01565b6119a58185611e05565b93506119b083611dfb565b8060005b838110156119855781516119c8888261191c565b97506119d383611dfb565b9250506001016119b4565b61193181611e19565b61193181611e1e565b60006119fb82611e01565b611a0581856108c8565b9350611a15818560208601611e88565b9290920192915050565b61193181611e7d565b6000611a3382611e01565b611a3d8185611e05565b9350611a4d818560208601611e88565b611a5681611eb4565b9093019392505050565b6000611a6d601e83611e05565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000611aa6602683611e05565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f8152651c8818d85b1b60d21b602082015260400192915050565b6000611aee601d83611e05565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000815260200192915050565b6000611b27602a83611e05565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e8152691bdd081cdd58d8d9595960b21b602082015260400192915050565b6000611b73603683611e05565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f81527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b602082015260400192915050565b6000611bcb602783611e05565b7f7061727365417373657473466f72416374696f6e3a205f73656c6563746f72208152661a5b9d985b1a5960ca1b602082015260400192915050565b61193181611e68565b60006110f782846119f0565b60208101610f518284611928565b60408101611c388285611928565b6110f76020830184611928565b60608101611c538286611928565b611c606020830185611928565b6111b960408301846119de565b60608101611c7b8286611928565b611c886020830185611928565b6111b96040830184611c07565b60408101611ca38285611928565b6110f76020830184611c07565b602080825281016110f78184611937565b60208101610f5182846119e7565b60a08101611cdd8288611a1f565b8181036020830152611cef8187611937565b90508181036040830152611d038186611990565b90508181036060830152611d178185611937565b90508181036080830152611d2b8184611990565b979650505050505050565b602080825281016110f78184611a28565b602080825281016108c581611a60565b602080825281016108c581611a99565b602080825281016108c581611ae1565b602080825281016108c581611b1a565b602080825281016108c581611b66565b602080825281016108c581611bbe565b60408101611c388285611c07565b6040518181016001600160401b0381118282101715611dd357600080fd5b604052919050565b60006001600160401b03821115611df157600080fd5b5060209081020190565b60200190565b5190565b90815260200190565b60006108c582611e5c565b151590565b6001600160e01b03191690565b806108c881611ebe565b6cffffffffffffffffffffffffff1690565b6fffffffffffffffffffffffffffffffff1690565b6001600160a01b031690565b90565b6001600160401b031690565b60ff1690565b60006108c582611e2b565b60005b83811015611ea3578181015183820152602001611e8b565b83811115610f045750506000910152565b601f01601f191690565b6003811061083957fe5b611ed181611e0e565b811461083957600080fd5b611ed181611e19565b611ed181611e1e565b611ed181611e35565b611ed181611e47565b611ed181611e68565b611ed181611e6b565b611ed181611e7756fea164736f6c634300060c000a", - "sourceMap": "1333:8880:165:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1490:119:180;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2794:750:165;;;;;;:::i;:::-;;:::i;:::-;;1373:111:180;;;:::i;832:85::-;;;:::i;1034:87::-;;;:::i;1240:110::-;;;:::i;706:104::-;;;:::i;1127:91::-;;;:::i;2242:342:165:-;;;;;;:::i;:::-;;:::i;3758:751::-;;;;;;:::i;:::-;;:::i;577:123:180:-;;;:::i;5304:926:165:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;:::i;2637:128:179:-;;;:::i;:::-;;;;;;;:::i;923:89:180:-;;;:::i;1490:119::-;1558:50;1490:119;:::o;2794:750:165:-;2977:28;3009:31;3044:51;3075:10;;3044:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3044:17:165;;-1:-1:-1;;;3044:51:165:i;:::-;2976:119;;;;;3253:57;3292:14;3307:1;3292:17;;;;;;;;;;;;;;3253:38;:57::i;:::-;3321:216;3365:11;3377:1;3365:14;;;;;;;;;;;;;;3402;3417:1;3402:17;;;;;;;;;;;;;;3445:11;3486;3498:1;3486:14;;;;;;;;;;;;;;-1:-1:-1;;;;;3479:32:165;;3520:4;3479:47;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3321:16;:216::i;:::-;2794:750;;;;;;;:::o;1373:111:180:-;1437:46;1373:111;:::o;832:85::-;878:38;832:85;:::o;1034:87::-;1081:39;1034:87;:::o;1240:110::-;1303:46;1240:110;:::o;706:104::-;766:43;706:104;:::o;1127:91::-;1176:41;1127:91;:::o;2242:342:165:-;2378:24;2405:30;2423:11;;2405:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2405:17:165;;-1:-1:-1;;;2405:30:165:i;:::-;2378:57;;2451:9;2446:132;2466:7;:14;2462:1;:18;2446:132;;;2501:66;2536:7;2544:1;2536:10;;;;;;;;;;;;;;2554:11;2501:24;:66::i;:::-;2482:3;;2446:132;;3758:751;3943:28;3975:31;4010:51;4041:10;;4010:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4010:17:165;;-1:-1:-1;;;4010:51:165:i;:::-;3942:119;;;;;4219:54;4258:11;4270:1;4258:14;;;;;;;4219:54;4284:218;4326:11;4338:1;4326:14;;;;;;;;;;;;;;4367;4382:1;4367:17;;;;;;;;;;;;;;4410:11;4451;4463:1;4451:14;;;;;;;;;;;;;;-1:-1:-1;;;;;4444:32:165;;4485:4;4444:47;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4284:18;:218::i;577:123:180:-;647:52;577:123;:::o;5304:926:165:-;5508:64;5586:29;;;;-1:-1:-1;;;;;;5794:35:165;;-1:-1:-1;;;5794:35:165;5790:434;;;5852:30;:28;:30::i;:::-;5845:37;;;;;;;;;;;;5790:434;-1:-1:-1;;;;;;5903:26:165;;-1:-1:-1;;;5903:26:165;5899:325;;;5952:33;5973:11;;5952:20;:33::i;5899:325::-;-1:-1:-1;;;;;;6006:28:165;;-1:-1:-1;;;6006:28:165;6002:222;;;6057:76;6094:11;6120;;6057:22;:76::i;6002:222::-;6164:49;;-1:-1:-1;;;6164:49:165;;;;;;;:::i;:::-;;;;;;;;6002:222;5304:926;;;;;;;;;:::o;2637:128:179:-;2739:19;2637:128;:::o;923:89:180:-;971:40;923:89;:::o;2093:332:179:-;2205:29;2248:35;2297:32;2372:10;2361:57;;;;;;;;;;;;:::i;:::-;2354:64;;;;;;2093:332;;;;;:::o;1430:311:15:-;1517:55;;-1:-1:-1;;;1517:55:15;;-1:-1:-1;;;;;1517:30:15;:39;;;;:55;;1557:7;;1566:5;;1517:55;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1512:223;;1613:16;;;1627:1;1613:16;;;;;;;;;1588:22;;1613:16;;;;;;;;;;;-1:-1:-1;1613:16:15;1588:41;;1654:5;1643;1649:1;1643:8;;;;;;;;-1:-1:-1;;;;;1643:16:15;;;:8;;;;;;;;;:16;1674:50;;-1:-1:-1;;;1674:50:15;;:19;:43;;;;;;:50;;1718:5;;1674:50;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1512:223;;1430:311;:::o;1213:405:185:-;1371:90;1406:11;1428:7;1452;1371:25;:90::i;:::-;1472:139;;-1:-1:-1;;;1472:139:185;;-1:-1:-1;;;;;1472:34:185;;;;;:139;;1590:10;;1529:11;;1563:7;;1472:139;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1213:405;;;;:::o;9730:190:165:-;9829:25;9888:11;9877:36;;;;;;;;;;;;:::i;:::-;9870:43;;9730:190;;;;:::o;975:178:185:-;1059:87;;-1:-1:-1;;;1059:87:185;;-1:-1:-1;;;;;1059:28:185;:34;;;;:87;;1104:7;;1119:4;;1140;;1059:87;;;:::i;1680:308::-;1840:141;;-1:-1:-1;;;1840:141:185;;-1:-1:-1;;;;;1840:36:185;;;;;:141;;1960:10;;1899:11;;1933:7;;1840:141;;;:::i;6406:602:165:-;6522:64;6600:29;;;;6522:64;;6885:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6885:16:165;-1:-1:-1;6915:16:165;;;6929:1;6915:16;;;;;;6945;;;;;;6975;;;;;;;;;6804:197;;;;-1:-1:-1;6915:16:165;-1:-1:-1;6915:16:165;-1:-1:-1;6945:16:165;;-1:-1:-1;6406:602:165;-1:-1:-1;6406:602:165:o;7129:1140::-;7246:64;7324:29;7367:35;7416:32;7462:41;7529:14;7545:24;7573:37;7598:11;;7573:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7573:24:165;;-1:-1:-1;;;7573:37:165:i;:::-;7636:16;;;7650:1;7636:16;;;;;;;;;7528:82;;-1:-1:-1;7528:82:165;;-1:-1:-1;7636:16:165;;;;;;;;;-1:-1:-1;;7680:46:165;;-1:-1:-1;;;7680:46:165;;7621:31;;-1:-1:-1;;7680:21:165;-1:-1:-1;;;;;7680:38:165;;;;:46;;7719:6;;7680:46;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7680:46:165;;;;;;;;;;;;:::i;:::-;:56;;;7662:12;7675:1;7662:15;;;;;;;;-1:-1:-1;;;;;7662:74:165;;;;:15;;;;;;;;;;:74;7767:16;;;7781:1;7767:16;;;;;;;;;;;;;;7662:15;7767:16;;;;;-1:-1:-1;7767:16:165;7746:37;;7817:16;7793:18;7812:1;7793:21;;;;;;;;;;;;;;;;;:40;7862:16;;;7876:1;7862:16;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7862:16:165;7844:34;;7909:6;7888:15;7904:1;7888:18;;;;;;;;-1:-1:-1;;;;;7888:27:165;;;;:18;;;;;;;;;;:27;7952:16;;;7966:1;7952:16;;;;;;;;;;;;;;7888:18;7952:16;;;;;-1:-1:-1;;7925:43:165;-1:-1:-1;8008:37:165;:16;1499:1;8008:20;:37::i;:::-;7978:24;8003:1;7978:27;;;;;;;;;;;;;:67;;;;;8077:50;8056:206;;;;7129:1140;;;;;;;;:::o;8392:1248::-;8532:64;8610:29;8653:35;8702:32;8748:41;8815:14;8831;8849:37;8874:11;;8849:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8849:24:165;;-1:-1:-1;;;8849:37:165:i;:::-;8912:16;;;8926:1;8912:16;;;;;;;;;8814:72;;-1:-1:-1;8814:72:165;;-1:-1:-1;8912:16:165;;;;;;;;;;;-1:-1:-1;8912:16:165;8897:31;;8956:6;8938:12;8951:1;8938:15;;;;;;;;-1:-1:-1;;;;;8938:24:165;;;;:15;;;;;;;;;;:24;8993:16;;;9007:1;8993:16;;;;;;;;;;;;;;8938:15;8993:16;;;-1:-1:-1;;9038:16:165;;;9052:1;9038:16;;;;;;;;;8972:37;;-1:-1:-1;9052:1:165;-1:-1:-1;9038:16:165;;;;;;;;;-1:-1:-1;;9085:46:165;;-1:-1:-1;;;9085:46:165;;9020:34;;-1:-1:-1;;9085:21:165;-1:-1:-1;;;;;9085:38:165;;;;:46;;9124:6;;9085:46;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9085:46:165;;;;;;;;;;;;:::i;:::-;:56;;;9064:15;9080:1;9064:18;;;;;;;;-1:-1:-1;;;;;9064:77:165;;;;:18;;;;;;;;;;:77;9178:16;;;9192:1;9178:16;;;;;;;;;;;;;;9064:18;9178:16;;;;;-1:-1:-1;9178:16:165;9151:43;;-1:-1:-1;;9209:6:165;:27;9205:104;;;9261:37;;-1:-1:-1;;;9261:37:165;;-1:-1:-1;;;;;9261:24:165;;;;;:37;;9286:11;;9261:37;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9252:46;;9205:104;9343:6;9319:18;9338:1;9319:21;;;;;;;;;;;;;;;;;:30;9389:27;:6;1499:1;9389:10;:27::i;:::-;9359:24;9384:1;9359:27;;;;;;;;;;;;;:57;;;;;9448:50;9427:206;;;;8392:1248;;;;;;;;;:::o;2554:434:355:-;2714:47;;-1:-1:-1;;;2714:47:355;;2694:17;;-1:-1:-1;;;;;2714:23:355;;;;;:47;;2746:4;;2753:7;;2714:47;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2694:67;;2787:13;2775:9;:25;2771:211;;;2820:13;;2816:89;;2853:37;-1:-1:-1;;;;;2853:25:355;;2879:7;2888:1;2853:25;:37::i;:::-;2918:53;-1:-1:-1;;;;;2918:25:355;;2944:7;-1:-1:-1;;2918:25:355;:53::i;:::-;2554:434;;;;:::o;9987:224:165:-;10093:15;10110:28;10172:11;10161:43;;;;;;;;;;;;:::i;:::-;10154:50;;;;9987:224;;;:::o;3136:155:442:-;3194:7;3226:1;3221;:6;;3213:49;;;;-1:-1:-1;;;3213:49:442;;;;;;;:::i;:::-;-1:-1:-1;3279:5:442;;;3136:155;;;;;:::o;1348:613:450:-;1713:10;;;1712:62;;-1:-1:-1;1729:39:450;;-1:-1:-1;;;1729:39:450;;-1:-1:-1;;;;;1729:15:450;;;;;:39;;1753:4;;1760:7;;1729:39;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:44;1712:62;1704:150;;;;-1:-1:-1;;;1704:150:450;;;;;;;:::i;:::-;1864:90;1884:5;1914:22;;;1938:7;1947:5;1891:62;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;1891:62:450;;;;;;;;;;;;;;-1:-1:-1;;;;;1891:62:450;-1:-1:-1;;;;;;1891:62:450;;;;;;;;;;1864:19;:90::i;:::-;1348:613;;;:::o;2967:751::-;3386:23;3412:69;3440:4;3412:69;;;;;;;;;;;;;;;;;3420:5;-1:-1:-1;;;;;3412:27:450;;;:69;;;;;:::i;:::-;3495:17;;3386:95;;-1:-1:-1;3495:21:450;3491:221;;3635:10;3624:30;;;;;;;;;;;;:::i;:::-;3616:85;;;;-1:-1:-1;;;3616:85:450;;;;;;;:::i;3581:193:451:-;3684:12;3715:52;3737:6;3745:4;3751:1;3754:12;3715:21;:52::i;:::-;3708:59;;3581:193;;;;;;:::o;4608:523::-;4735:12;4792:5;4767:21;:30;;4759:81;;;;-1:-1:-1;;;4759:81:451;;;;;;;:::i;:::-;4858:18;4869:6;4858:10;:18::i;:::-;4850:60;;;;-1:-1:-1;;;4850:60:451;;;;;;;:::i;:::-;4981:12;4995:23;5022:6;-1:-1:-1;;;;;5022:11:451;5042:5;5050:4;5022:33;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4980:75;;;;5072:52;5090:7;5099:10;5111:12;5072:17;:52::i;:::-;5065:59;;;;4608:523;;;;;;;:::o;726:413::-;1086:20;1124:8;;;726:413::o;7091:725::-;7206:12;7234:7;7230:580;;;-1:-1:-1;7264:10:451;7257:17;;7230:580;7375:17;;:21;7371:429;;7633:10;7627:17;7693:15;7680:10;7676:2;7672:19;7665:44;7582:145;7772:12;7765:20;;-1:-1:-1;;;7765:20:451;;;;;;;;:::i;5:130:-1:-;72:20;;97:33;72:20;97:33;:::i;142:134::-;220:13;;238:33;220:13;238:33;:::i;458:722::-;;586:3;579:4;571:6;567:17;563:27;553:2;;604:1;601;594:12;553:2;634:6;628:13;656:80;671:64;728:6;671:64;:::i;:::-;656:80;:::i;:::-;647:89;;753:5;778:6;771:5;764:21;808:4;800:6;796:17;786:27;;830:4;825:3;821:14;814:21;;883:6;930:3;922:4;914:6;910:17;905:3;901:27;898:36;895:2;;;947:1;944;937:12;895:2;972:1;957:217;982:6;979:1;976:13;957:217;;;1040:3;1062:48;1106:3;1094:10;1062:48;:::i;:::-;1050:61;;-1:-1;1134:4;1125:14;;;;1153;;;;;1004:1;997:9;957:217;;;961:14;546:634;;;;;;;:::o;1241:812::-;;1399:3;1392:4;1384:6;1380:17;1376:27;1366:2;;1417:1;1414;1407:12;1366:2;1447:6;1441:13;1469:110;1484:94;1571:6;1484:94;:::i;1469:110::-;1460:119;;1596:5;1621:6;1614:5;1607:21;1651:4;1643:6;1639:17;1629:27;;1673:4;1668:3;1664:14;1657:21;;1726:6;1773:3;1765:4;1757:6;1753:17;1748:3;1744:27;1741:36;1738:2;;;1790:1;1787;1780:12;1738:2;1815:1;1800:247;1825:6;1822:1;1819:13;1800:247;;;1883:3;1905:78;1979:3;1967:10;1905:78;:::i;:::-;1893:91;;-1:-1;2007:4;1998:14;;;;2035:4;2026:14;;;;;1847:1;1840:9;1800:247;;2079:722;;2207:3;2200:4;2192:6;2188:17;2184:27;2174:2;;2225:1;2222;2215:12;2174:2;2255:6;2249:13;2277:80;2292:64;2349:6;2292:64;:::i;2277:80::-;2268:89;;2374:5;2399:6;2392:5;2385:21;2429:4;2421:6;2417:17;2407:27;;2451:4;2446:3;2442:14;2435:21;;2504:6;2551:3;2543:4;2535:6;2531:17;2526:3;2522:27;2519:36;2516:2;;;2568:1;2565;2558:12;2516:2;2593:1;2578:217;2603:6;2600:1;2597:13;2578:217;;;2661:3;2683:48;2727:3;2715:10;2683:48;:::i;:::-;2671:61;;-1:-1;2755:4;2746:14;;;;2774;;;;;2625:1;2618:9;2578:217;;2809:128;2884:13;;2902:30;2884:13;2902:30;:::i;2944:128::-;3010:20;;3035:32;3010:20;3035:32;:::i;3093:336::-;;;3207:3;3200:4;3192:6;3188:17;3184:27;3174:2;;3225:1;3222;3215:12;3174:2;-1:-1;3245:20;;-1:-1;;;;;3274:30;;3271:2;;;3317:1;3314;3307:12;3271:2;3351:4;3343:6;3339:17;3327:29;;3402:3;3394:4;3386:6;3382:17;3372:8;3368:32;3365:41;3362:2;;;3419:1;3416;3409:12;3362:2;3167:262;;;;;:::o;3486:1345::-;;3616:4;3604:9;3599:3;3595:19;3591:30;3588:2;;;3634:1;3631;3624:12;3588:2;3652:20;3667:4;3652:20;:::i;:::-;3643:29;-1:-1;3723:1;3755:60;3811:3;3791:9;3755:60;:::i;:::-;3730:86;;-1:-1;3882:2;3915:60;3971:3;3947:22;;;3915:60;:::i;:::-;3908:4;3901:5;3897:16;3890:86;3837:150;4041:2;4074:58;4128:3;4119:6;4108:9;4104:22;4074:58;:::i;:::-;4067:4;4060:5;4056:16;4049:84;3997:147;4212:2;4245:59;4300:3;4291:6;4280:9;4276:22;4245:59;:::i;:::-;4238:4;4231:5;4227:16;4220:85;4154:162;4387:3;4421:59;4476:3;4467:6;4456:9;4452:22;4421:59;:::i;:::-;4414:4;4407:5;4403:16;4396:85;4326:166;4555:3;4589:59;4644:3;4635:6;4624:9;4620:22;4589:59;:::i;:::-;4582:4;4575:5;4571:16;4564:85;4502:158;4715:3;4749:60;4805:3;4796:6;4785:9;4781:22;4749:60;:::i;:::-;4742:4;4735:5;4731:16;4724:86;4670:151;3582:1249;;;;:::o;4889:3955::-;;5021:6;5009:9;5004:3;5000:19;4996:32;4993:2;;;5041:1;5038;5031:12;4993:2;5059:22;5074:6;5059:22;:::i;:::-;5050:31;-1:-1;5135:1;5167:60;5223:3;5203:9;5167:60;:::i;:::-;5142:86;;-1:-1;5298:2;5331:60;5387:3;5363:22;;;5331:60;:::i;:::-;5324:4;5317:5;5313:16;5306:86;5249:154;5458:2;5491:60;5547:3;5538:6;5527:9;5523:22;5491:60;:::i;:::-;5484:4;5477:5;5473:16;5466:86;5413:150;5627:2;5660:60;5716:3;5707:6;5696:9;5692:22;5660:60;:::i;:::-;5653:4;5646:5;5642:16;5635:86;5573:159;5795:3;5829:60;5885:3;5876:6;5865:9;5861:22;5829:60;:::i;:::-;5822:4;5815:5;5811:16;5804:86;5742:159;5957:3;5991:59;6046:3;6037:6;6026:9;6022:22;5991:59;:::i;:::-;5984:4;5977:5;5973:16;5966:85;5911:151;6141:3;6175:59;6230:3;6221:6;6210:9;6206:22;6175:59;:::i;:::-;6168:4;6161:5;6157:16;6150:85;6072:174;6326:3;6360:59;6415:3;6406:6;6395:9;6391:22;6360:59;:::i;:::-;6353:4;6346:5;6342:16;6335:85;6256:175;6506:3;6542:59;6597:3;6588:6;6577:9;6573:22;6542:59;:::i;:::-;6533:6;6526:5;6522:18;6515:87;6441:172;6669:3;6705:59;6760:3;6751:6;6740:9;6736:22;6705:59;:::i;:::-;6696:6;6689:5;6685:18;6678:87;6623:153;6855:3;6891:59;6946:3;6937:6;6926:9;6922:22;6891:59;:::i;:::-;6882:6;6875:5;6871:18;6864:87;6786:176;7042:3;7078:59;7133:3;7124:6;7113:9;7109:22;7078:59;:::i;:::-;7069:6;7062:5;7058:18;7051:87;6972:177;7224:3;7260:59;7315:3;7306:6;7295:9;7291:22;7260:59;:::i;:::-;7251:6;7244:5;7240:18;7233:87;7159:172;7398:3;7434:59;7489:3;7480:6;7469:9;7465:22;7434:59;:::i;:::-;7425:6;7418:5;7414:18;7407:87;7341:164;7569:3;7605:59;7660:3;7651:6;7640:9;7636:22;7605:59;:::i;:::-;7596:6;7589:5;7585:18;7578:87;7515:161;7745:3;7781:59;7836:3;7827:6;7816:9;7812:22;7781:59;:::i;:::-;7772:6;7765:5;7761:18;7754:87;7686:166;7921:3;7957:59;8012:3;8003:6;7992:9;7988:22;7957:59;:::i;:::-;7948:6;7941:5;7937:18;7930:87;7862:166;8091:3;8127:60;8183:3;8174:6;8163:9;8159:22;8127:60;:::i;:::-;8118:6;8111:5;8107:18;8100:88;8038:161;8258:3;8294:60;8350:3;8341:6;8330:9;8326:22;8294:60;:::i;:::-;8285:6;8278:5;8274:18;8267:88;8209:157;8426:3;8462:60;8518:3;8509:6;8498:9;8494:22;8462:60;:::i;:::-;8453:6;8446:5;8442:18;8435:88;8376:158;8613:3;8602:9;8598:19;8592:26;-1:-1;;;;;8630:6;8627:30;8624:2;;;8670:1;8667;8660:12;8624:2;8707:115;8818:3;8809:6;8798:9;8794:22;8707:115;:::i;:::-;8698:6;8691:5;8687:18;8680:143;8544:290;4987:3857;;;;:::o;8851:134::-;8929:13;;8947:33;8929:13;8947:33;:::i;8992:134::-;9070:13;;9088:33;9070:13;9088:33;:::i;9133:134::-;9211:13;;9229:33;9211:13;9229:33;:::i;9274:132::-;9351:13;;9369:32;9351:13;9369:32;:::i;9413:130::-;9489:13;;9507:31;9489:13;9507:31;:::i;9550:415::-;;;9690:2;9678:9;9669:7;9665:23;9661:32;9658:2;;;9706:1;9703;9696:12;9658:2;9741:1;9758:72;9822:7;9802:9;9758:72;:::i;:::-;9748:82;;9720:116;9867:2;9885:64;9941:7;9932:6;9921:9;9917:22;9885:64;:::i;:::-;9875:74;;9846:109;9652:313;;;;;:::o;9972:613::-;;;;;10128:2;10116:9;10107:7;10103:23;10099:32;10096:2;;;10144:1;10141;10134:12;10096:2;10179:1;10196:53;10241:7;10221:9;10196:53;:::i;:::-;10186:63;;10158:97;10286:2;10304:52;10348:7;10339:6;10328:9;10324:22;10304:52;:::i;:::-;10294:62;;10265:97;10421:2;10410:9;10406:18;10393:32;-1:-1;;;;;10437:6;10434:30;10431:2;;;10477:1;10474;10467:12;10431:2;10505:64;10561:7;10552:6;10541:9;10537:22;10505:64;:::i;:::-;10090:495;;;;-1:-1;10487:82;-1:-1;;;;10090:495::o;10592:739::-;;;;;;10768:2;10756:9;10747:7;10743:23;10739:32;10736:2;;;10784:1;10781;10774:12;10736:2;10819:1;10836:53;10881:7;10861:9;10836:53;:::i;:::-;10826:63;;10798:97;10954:2;10943:9;10939:18;10926:32;-1:-1;;;;;10970:6;10967:30;10964:2;;;11010:1;11007;11000:12;10964:2;11038:64;11094:7;11085:6;11074:9;11070:22;11038:64;:::i;:::-;11020:82;;;;10905:203;11167:2;11156:9;11152:18;11139:32;-1:-1;;;;;11183:6;11180:30;11177:2;;;11223:1;11220;11213:12;11177:2;11251:64;11307:7;11298:6;11287:9;11283:22;11251:64;:::i;:::-;11233:82;;;;11118:203;10730:601;;;;;;;;:::o;11338:392::-;;11478:2;11466:9;11457:7;11453:23;11449:32;11446:2;;;11494:1;11491;11484:12;11446:2;11529:24;;-1:-1;;;;;11562:30;;11559:2;;;11605:1;11602;11595:12;11559:2;11625:89;11706:7;11697:6;11686:9;11682:22;11625:89;:::i;11737:922::-;;;;11961:2;11949:9;11940:7;11936:23;11932:32;11929:2;;;11977:1;11974;11967:12;11929:2;12012:24;;-1:-1;;;;;12045:30;;12042:2;;;12088:1;12085;12078:12;12042:2;12108:89;12189:7;12180:6;12169:9;12165:22;12108:89;:::i;:::-;12098:99;;11991:212;12255:2;12244:9;12240:18;12234:25;-1:-1;;;;;12271:6;12268:30;12265:2;;;12311:1;12308;12301:12;12265:2;12331:89;12412:7;12403:6;12392:9;12388:22;12331:89;:::i;:::-;12321:99;;12213:213;12478:2;12467:9;12463:18;12457:25;-1:-1;;;;;12494:6;12491:30;12488:2;;;12534:1;12531;12524:12;12488:2;12554:89;12635:7;12626:6;12615:9;12611:22;12554:89;:::i;:::-;12544:99;;12436:213;11923:736;;;;;:::o;12666:257::-;;12778:2;12766:9;12757:7;12753:23;12749:32;12746:2;;;12794:1;12791;12784:12;12746:2;12829:1;12846:61;12899:7;12879:9;12846:61;:::i;12930:406::-;;13077:2;13065:9;13056:7;13052:23;13048:32;13045:2;;;13093:1;13090;13083:12;13045:2;13128:24;;-1:-1;;;;;13161:30;;13158:2;;;13204:1;13201;13194:12;13158:2;13224:96;13312:7;13303:6;13292:9;13288:22;13224:96;:::i;13343:263::-;;13458:2;13446:9;13437:7;13433:23;13429:32;13426:2;;;13474:1;13471;13464:12;13426:2;13509:1;13526:64;13582:7;13562:9;13526:64;:::i;13614:173::-;;13701:46;13743:3;13735:6;13701:46;:::i;:::-;-1:-1;;13776:4;13767:14;;13694:93::o;13796:173::-;;13883:46;13925:3;13917:6;13883:46;:::i;13977:103::-;14050:24;14068:5;14050:24;:::i;:::-;14045:3;14038:37;14032:48;;:::o;14238:690::-;;14383:54;14431:5;14383:54;:::i;:::-;14450:86;14529:6;14524:3;14450:86;:::i;:::-;14443:93;;14557:56;14607:5;14557:56;:::i;:::-;14633:7;14661:1;14646:260;14671:6;14668:1;14665:13;14646:260;;;14738:6;14732:13;14759:63;14818:3;14803:13;14759:63;:::i;:::-;14752:70;;14839:60;14892:6;14839:60;:::i;:::-;14829:70;-1:-1;;14693:1;14686:9;14646:260;;;-1:-1;14919:3;;14362:566;-1:-1;;;;;14362:566::o;14967:690::-;;15112:54;15160:5;15112:54;:::i;:::-;15179:86;15258:6;15253:3;15179:86;:::i;:::-;15172:93;;15286:56;15336:5;15286:56;:::i;:::-;15362:7;15390:1;15375:260;15400:6;15397:1;15394:13;15375:260;;;15467:6;15461:13;15488:63;15547:3;15532:13;15488:63;:::i;:::-;15481:70;;15568:60;15621:6;15568:60;:::i;:::-;15558:70;-1:-1;;15422:1;15415:9;15375:260;;15665:104;15742:21;15757:5;15742:21;:::i;15776:110::-;15857:23;15874:5;15857:23;:::i;15893:356::-;;16021:38;16053:5;16021:38;:::i;:::-;16071:88;16152:6;16147:3;16071:88;:::i;:::-;16064:95;;16164:52;16209:6;16204:3;16197:4;16190:5;16186:16;16164:52;:::i;:::-;16228:16;;;;;16001:248;-1:-1;;16001:248::o;16256:176::-;16364:62;16420:5;16364:62;:::i;16439:347::-;;16551:39;16584:5;16551:39;:::i;:::-;16602:71;16666:6;16661:3;16602:71;:::i;:::-;16595:78;;16678:52;16723:6;16718:3;16711:4;16704:5;16700:16;16678:52;:::i;:::-;16751:29;16773:6;16751:29;:::i;:::-;16742:39;;;;16531:255;-1:-1;;;16531:255::o;16794:330::-;;16954:67;17018:2;17013:3;16954:67;:::i;:::-;17054:32;17034:53;;17115:2;17106:12;;16940:184;-1:-1;;16940:184::o;17133:375::-;;17293:67;17357:2;17352:3;17293:67;:::i;:::-;17393:34;17373:55;;-1:-1;;;17457:2;17448:12;;17441:30;17499:2;17490:12;;17279:229;-1:-1;;17279:229::o;17517:329::-;;17677:67;17741:2;17736:3;17677:67;:::i;:::-;17777:31;17757:52;;17837:2;17828:12;;17663:183;-1:-1;;17663:183::o;17855:379::-;;18015:67;18079:2;18074:3;18015:67;:::i;:::-;18115:34;18095:55;;-1:-1;;;18179:2;18170:12;;18163:34;18225:2;18216:12;;18001:233;-1:-1;;18001:233::o;18243:391::-;;18403:67;18467:2;18462:3;18403:67;:::i;:::-;18503:34;18483:55;;-1:-1;;;18567:2;18558:12;;18551:46;18625:2;18616:12;;18389:245;-1:-1;;18389:245::o;18643:376::-;;18803:67;18867:2;18862:3;18803:67;:::i;:::-;18903:34;18883:55;;-1:-1;;;18967:2;18958:12;;18951:31;19010:2;19001:12;;18789:230;-1:-1;;18789:230::o;19027:103::-;19100:24;19118:5;19100:24;:::i;19257:271::-;;19410:93;19499:3;19490:6;19410:93;:::i;19535:222::-;19662:2;19647:18;;19676:71;19651:9;19720:6;19676:71;:::i;19764:333::-;19919:2;19904:18;;19933:71;19908:9;19977:6;19933:71;:::i;:::-;20015:72;20083:2;20072:9;20068:18;20059:6;20015:72;:::i;20104:432::-;20281:2;20266:18;;20295:71;20270:9;20339:6;20295:71;:::i;:::-;20377:72;20445:2;20434:9;20430:18;20421:6;20377:72;:::i;:::-;20460:66;20522:2;20511:9;20507:18;20498:6;20460:66;:::i;20543:444::-;20726:2;20711:18;;20740:71;20715:9;20784:6;20740:71;:::i;:::-;20822:72;20890:2;20879:9;20875:18;20866:6;20822:72;:::i;:::-;20905;20973:2;20962:9;20958:18;20949:6;20905:72;:::i;20994:333::-;21149:2;21134:18;;21163:71;21138:9;21207:6;21163:71;:::i;:::-;21245:72;21313:2;21302:9;21298:18;21289:6;21245:72;:::i;21334:370::-;21511:2;21525:47;;;21496:18;;21586:108;21496:18;21680:6;21586:108;:::i;21711:218::-;21836:2;21821:18;;21850:69;21825:9;21892:6;21850:69;:::i;21936:1310::-;22400:3;22385:19;;22415:96;22389:9;22484:6;22415:96;:::i;:::-;22559:9;22553:4;22549:20;22544:2;22533:9;22529:18;22522:48;22584:108;22687:4;22678:6;22584:108;:::i;:::-;22576:116;;22740:9;22734:4;22730:20;22725:2;22714:9;22710:18;22703:48;22765:108;22868:4;22859:6;22765:108;:::i;:::-;22757:116;;22921:9;22915:4;22911:20;22906:2;22895:9;22891:18;22884:48;22946:108;23049:4;23040:6;22946:108;:::i;:::-;22938:116;;23103:9;23097:4;23093:20;23087:3;23076:9;23072:19;23065:49;23128:108;23231:4;23222:6;23128:108;:::i;:::-;23120:116;22371:875;-1:-1;;;;;;;22371:875::o;23253:310::-;23400:2;23414:47;;;23385:18;;23475:78;23385:18;23539:6;23475:78;:::i;23570:416::-;23770:2;23784:47;;;23755:18;;23845:131;23755:18;23845:131;:::i;23993:416::-;24193:2;24207:47;;;24178:18;;24268:131;24178:18;24268:131;:::i;24416:416::-;24616:2;24630:47;;;24601:18;;24691:131;24601:18;24691:131;:::i;24839:416::-;25039:2;25053:47;;;25024:18;;25114:131;25024:18;25114:131;:::i;25262:416::-;25462:2;25476:47;;;25447:18;;25537:131;25447:18;25537:131;:::i;25685:416::-;25885:2;25899:47;;;25870:18;;25960:131;25870:18;25960:131;:::i;26108:333::-;26263:2;26248:18;;26277:71;26252:9;26321:6;26277:71;:::i;26448:256::-;26510:2;26504:9;26536:17;;;-1:-1;;;;;26596:34;;26632:22;;;26593:62;26590:2;;;26668:1;26665;26658:12;26590:2;26684;26677:22;26488:216;;-1:-1;26488:216::o;26711:304::-;;-1:-1;;;;;26862:6;26859:30;26856:2;;;26902:1;26899;26892:12;26856:2;-1:-1;26937:4;26925:17;;;26990:15;;26793:222::o;27674:151::-;27798:4;27789:14;;27746:79::o;27990:137::-;28093:12;;28064:63::o;28766:178::-;28884:19;;;28933:4;28924:14;;28877:67::o;29464:91::-;;29526:24;29544:5;29526:24;:::i;29668:85::-;29734:13;29727:21;;29710:43::o;29760:144::-;-1:-1;;;;;;29821:78;;29804:100::o;29911:160::-;30000:5;30006:60;30000:5;30006:60;:::i;30078:107::-;30151:28;30140:40;;30123:62::o;30192:113::-;30265:34;30254:46;;30237:68::o;30312:121::-;-1:-1;;;;;30374:54;;30357:76::o;30440:72::-;30502:5;30485:27::o;30519:96::-;-1:-1;;;;;30580:30;;30563:52::o;30622:81::-;30693:4;30682:16;;30665:38::o;30710:160::-;;30814:51;30859:5;30814:51;:::i;30878:268::-;30943:1;30950:101;30964:6;30961:1;30958:13;30950:101;;;31031:11;;;31025:18;31012:11;;;31005:39;30986:2;30979:10;30950:101;;;31066:6;31063:1;31060:13;31057:2;;;-1:-1;;31131:1;31113:16;;31106:27;30927:219::o;31154:97::-;31242:2;31222:14;-1:-1;;31218:28;;31202:49::o;31259:118::-;31355:1;31348:5;31345:12;31335:2;;31361:9;31384:117;31453:24;31471:5;31453:24;:::i;:::-;31446:5;31443:35;31433:2;;31492:1;31489;31482:12;31648:111;31714:21;31729:5;31714:21;:::i;31766:115::-;31834:23;31851:5;31834:23;:::i;31888:117::-;31957:24;31975:5;31957:24;:::i;32012:117::-;32081:24;32099:5;32081:24;:::i;32136:117::-;32205:24;32223:5;32205:24;:::i;32260:115::-;32328:23;32345:5;32328:23;:::i;32382:113::-;32449:22;32465:5;32449:22;:::i", - "linkReferences": {}, - "immutableReferences": { - "2841": [ - { - "start": 1742, - "length": 32 - } - ], - "2843": [ - { - "start": 1787, - "length": 32 - } - ], - "2845": [ - { - "start": 1998, - "length": 32 - } - ], - "42603": [ - { - "start": 2604, - "length": 32 - }, - { - "start": 3225, - "length": 32 - } - ], - "49791": [ - { - "start": 1611, - "length": 32 - } - ], - "50366": [ - { - "start": 2276, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "CLAIM_REWARDS_SELECTOR()": "40da225d", - "LEND_AND_STAKE_SELECTOR()": "131461c0", - "LEND_SELECTOR()": "257cb1a3", - "REDEEM_SELECTOR()": "f7d882b5", - "STAKE_SELECTOR()": "3ffc1591", - "TAKE_MULTIPLE_ORDERS_SELECTOR()": "c32990a2", - "TAKE_ORDER_SELECTOR()": "863e5ad0", - "UNSTAKE_AND_REDEEM_SELECTOR()": "080456c1", - "UNSTAKE_SELECTOR()": "b23228cf", - "claimRewards(address,bytes,bytes)": "b9dfbacc", - "getIntegrationManager()": "e7c45690", - "lend(address,bytes,bytes)": "099f7515", - "parseAssetsForAction(address,bytes4,bytes)": "c54efee5", - "redeem(address,bytes,bytes)": "c29fa9dd" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_integrationManager\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_compoundV3Configurator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_compoundV3Rewards\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_addressListRegistry\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_cTokenListId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"CLAIM_REWARDS_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LEND_AND_STAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LEND_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"REDEEM_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"STAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TAKE_MULTIPLE_ORDERS_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TAKE_ORDER_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UNSTAKE_AND_REDEEM_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UNSTAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"claimRewards\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getIntegrationManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"integrationManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"_assetData\",\"type\":\"bytes\"}],\"name\":\"lend\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"_selector\",\"type\":\"bytes4\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"}],\"name\":\"parseAssetsForAction\",\"outputs\":[{\"internalType\":\"enum IIntegrationManager.SpendAssetsHandleType\",\"name\":\"spendAssetsHandleType_\",\"type\":\"uint8\"},{\"internalType\":\"address[]\",\"name\":\"spendAssets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"spendAssetAmounts_\",\"type\":\"uint256[]\"},{\"internalType\":\"address[]\",\"name\":\"incomingAssets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"minIncomingAssetAmounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"_assetData\",\"type\":\"bytes\"}],\"name\":\"redeem\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"When lending and redeeming, a small `ROUNDING_BUFFER` is subtracted from the min incoming asset amount. This is a workaround for problematic quirks in `cTokenV3` balance rounding (due to rebasing logic), which would otherwise lead to tx failures during IntegrationManager validation of incoming asset amounts. Due to this workaround, a `cTokenV3` value less than `ROUNDING_BUFFER` is not usable in this adapter, which is fine because those values would not make sense (gas-wise) to lend or redeem.\",\"kind\":\"dev\",\"methods\":{\"claimRewards(address,bytes,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}},\"getIntegrationManager()\":{\"returns\":{\"integrationManager_\":\"The `INTEGRATION_MANAGER` variable value\"}},\"lend(address,bytes,bytes)\":{\"params\":{\"_assetData\":\"Parsed spend assets and incoming assets data for this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}},\"parseAssetsForAction(address,bytes4,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_selector\":\"The function selector for the callOnIntegration\",\"_vaultProxy\":\"The VaultProxy of the fund\"},\"returns\":{\"incomingAssets_\":\"The assets to receive in the call\",\"minIncomingAssetAmounts_\":\"The min asset amounts to receive in the call\",\"spendAssetAmounts_\":\"The max asset amounts to spend in the call\",\"spendAssetsHandleType_\":\"A type that dictates how to handle granting the adapter access to spend assets (`None` by default)\",\"spendAssets_\":\"The assets to spend in the call\"}},\"redeem(address,bytes,bytes)\":{\"params\":{\"_assetData\":\"Parsed spend assets and incoming assets data for this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}}},\"title\":\"CompoundV3Adapter Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"claimRewards(address,bytes,bytes)\":{\"notice\":\"Claims rewards from Compound's V3 Rewards\"},\"getIntegrationManager()\":{\"notice\":\"Gets the `INTEGRATION_MANAGER` variable\"},\"lend(address,bytes,bytes)\":{\"notice\":\"Lends an amount of a token to Compound\"},\"parseAssetsForAction(address,bytes4,bytes)\":{\"notice\":\"Parses the expected assets in a particular action\"},\"redeem(address,bytes,bytes)\":{\"notice\":\"Redeems an amount of cTokens from Compound\"}},\"notice\":\"Adapter for Compound v3 Lending \",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/integration-manager/integrations/adapters/CompoundV3Adapter.sol\":\"CompoundV3Adapter\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/address-list-registry/AddressListRegistry.sol\":{\"keccak256\":\"0xf00a9e376e3ec2a223f463f71c15ee3af3642dd028bc3762440e316b760c8048\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://01986c9327b5dfbfac21316dced6d68727931ddde1278ed1342d878004f984b9\",\"dweb:/ipfs/QmdXkFaUU43JqMTYEREbWa129rohdqN7GXy7mVRpjCfSLD\"]},\"contracts/persistent/address-list-registry/address-list-owners/utils/AddOnlyAddressListOwnerBase.sol\":{\"keccak256\":\"0xd3b355f8146b7df79e4537b021379a237d6620c0bdec25e9d96f2b741864909a\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://fcddc5b1dcbe7588943492a5d62ede92f23c46db0bf523267fda0ba9e8acafb5\",\"dweb:/ipfs/QmRssFbEBCRwELD7pvnU7GWoZzxfZocys4sFW33VL71jpt\"]},\"contracts/persistent/address-list-registry/address-list-owners/utils/AddOnlyAddressListOwnerConsumerMixin.sol\":{\"keccak256\":\"0x7eb3ee3ecc65e36bc8b6201e99d42d37bb932e85a5b24afb141a23a469cf8b6e\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://42bb22f3d4b3f2fed39b313cbb81c929d204f07f5ae49f7dc464b44d861d51e5\",\"dweb:/ipfs/QmaMgdLB4zGdZvR5ohexnKoAHdjX7xoM5h8J2ExffyFZG6\"]},\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/release/extensions/integration-manager/IIntegrationManager.sol\":{\"keccak256\":\"0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23\",\"dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk\"]},\"contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol\":{\"keccak256\":\"0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336\",\"dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS\"]},\"contracts/release/extensions/integration-manager/integrations/adapters/CompoundV3Adapter.sol\":{\"keccak256\":\"0x05eacf83fbe5ea42b067462e05ee25785d8ccc3e394f166892a13cde5ab0a708\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9fde76a34ea3df605e68deeaea67ae0c8b245471141ec73891beac67029d074d\",\"dweb:/ipfs/QmYjbHSmKJ7SejLdNeQHfCgUvrgisZdis6LPK1CfwHmAcu\"]},\"contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol\":{\"keccak256\":\"0x067e49bf0d3c1655ab41a413c65ccf61d4e593308132e1ffc484a0fadfbbaf26\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://387f425017e18e89cc1893521101fa99df595314847d0b3d9a1162369f714fcf\",\"dweb:/ipfs/Qmco3jCvuWAyfCpBYpGzHrQjiFJG63w1RJKcakoTEbxRQm\"]},\"contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol\":{\"keccak256\":\"0xfd34c7ca8231c6935e25dede32ca2b3121738e624d0fc896f7b895a731edcf88\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d492c061963d36d07718446db191d4c5a340c0d847f6cd209f027bd99f7cb176\",\"dweb:/ipfs/QmfCvRZt56ftDdrEh6LepHXFJ4fVtcfpQGvEyY8k4zxG1A\"]},\"contracts/release/extensions/integration-manager/integrations/utils/actions/CompoundV3ActionsMixin.sol\":{\"keccak256\":\"0x6c6aaa8ea03f78e48ee27dd252178fc5fccd875b004aa9394a610f2abb0d01fe\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://903918650d194e59566658aca8de5ba87665fd71dbe5b0d1ba7e30701d8439b7\",\"dweb:/ipfs/QmWsRmAvya3F3e3cjMEaDK13i6amEAx5e6d8tVQPTGKGnU\"]},\"contracts/release/interfaces/ICompoundV3Comet.sol\":{\"keccak256\":\"0xf0465f5f896f3ff69ec19e8a3946887fcb672fd5874908918277923a7cf14131\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2870a61fb53f168265bf69ef35cb9910a9025d4700447413f465b2b0fe33cdb1\",\"dweb:/ipfs/QmeETY2T9vtqo26m5PWQooD94hBuHVt1aQjXQc4i1xqZtw\"]},\"contracts/release/interfaces/ICompoundV3CometRewards.sol\":{\"keccak256\":\"0x0169401972f768f7f88e8e23615c9867e8f0b3413a628fbc15fcc4d862d506e4\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3a07ef232526f7f4ed1b2e50e87293bd20940c23139b765f49c65b8796f2b785\",\"dweb:/ipfs/QmbnGkJPKN9UsDfUt6zBkQgKxMwFxUshPtfqKi1cmvaj6d\"]},\"contracts/release/interfaces/ICompoundV3Configurator.sol\":{\"keccak256\":\"0x62869ddb50774e1c9e1c7e848886837df5013fbe2291a91a2ffee6280e0be0d2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a0dd519eef7bf6ae0d509fae50f16e587f231d32a03740ba6a60b2ca69addb37\",\"dweb:/ipfs/QmTRY3M7tdwKudAMFXo9yGUhvgdQV8ZJFtCWE5UHdmzuEx\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_integrationManager", - "type": "address" - }, - { - "internalType": "address", - "name": "_compoundV3Configurator", - "type": "address" - }, - { - "internalType": "address", - "name": "_compoundV3Rewards", - "type": "address" - }, - { - "internalType": "address", - "name": "_addressListRegistry", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_cTokenListId", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "CLAIM_REWARDS_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "LEND_AND_STAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "LEND_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "REDEEM_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "STAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "TAKE_MULTIPLE_ORDERS_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "TAKE_ORDER_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "UNSTAKE_AND_REDEEM_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "UNSTAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "claimRewards" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getIntegrationManager", - "outputs": [ - { - "internalType": "address", - "name": "integrationManager_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "_assetData", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "lend" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes4", - "name": "_selector", - "type": "bytes4" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - } - ], - "stateMutability": "view", - "type": "function", - "name": "parseAssetsForAction", - "outputs": [ - { - "internalType": "enum IIntegrationManager.SpendAssetsHandleType", - "name": "spendAssetsHandleType_", - "type": "uint8" - }, - { - "internalType": "address[]", - "name": "spendAssets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "spendAssetAmounts_", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "incomingAssets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "minIncomingAssetAmounts_", - "type": "uint256[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "_assetData", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "redeem" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "claimRewards(address,bytes,bytes)": { - "params": { - "_actionData": "Data specific to this action", - "_vaultProxy": "The VaultProxy of the calling fund" - } - }, - "getIntegrationManager()": { - "returns": { - "integrationManager_": "The `INTEGRATION_MANAGER` variable value" - } - }, - "lend(address,bytes,bytes)": { - "params": { - "_assetData": "Parsed spend assets and incoming assets data for this action", - "_vaultProxy": "The VaultProxy of the calling fund" - } - }, - "parseAssetsForAction(address,bytes4,bytes)": { - "params": { - "_actionData": "Data specific to this action", - "_selector": "The function selector for the callOnIntegration", - "_vaultProxy": "The VaultProxy of the fund" - }, - "returns": { - "incomingAssets_": "The assets to receive in the call", - "minIncomingAssetAmounts_": "The min asset amounts to receive in the call", - "spendAssetAmounts_": "The max asset amounts to spend in the call", - "spendAssetsHandleType_": "A type that dictates how to handle granting the adapter access to spend assets (`None` by default)", - "spendAssets_": "The assets to spend in the call" - } - }, - "redeem(address,bytes,bytes)": { - "params": { - "_assetData": "Parsed spend assets and incoming assets data for this action", - "_vaultProxy": "The VaultProxy of the calling fund" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "claimRewards(address,bytes,bytes)": { - "notice": "Claims rewards from Compound's V3 Rewards" - }, - "getIntegrationManager()": { - "notice": "Gets the `INTEGRATION_MANAGER` variable" - }, - "lend(address,bytes,bytes)": { - "notice": "Lends an amount of a token to Compound" - }, - "parseAssetsForAction(address,bytes4,bytes)": { - "notice": "Parses the expected assets in a particular action" - }, - "redeem(address,bytes,bytes)": { - "notice": "Redeems an amount of cTokens from Compound" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/integration-manager/integrations/adapters/CompoundV3Adapter.sol": "CompoundV3Adapter" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/address-list-registry/AddressListRegistry.sol": { - "keccak256": "0xf00a9e376e3ec2a223f463f71c15ee3af3642dd028bc3762440e316b760c8048", - "urls": [ - "bzz-raw://01986c9327b5dfbfac21316dced6d68727931ddde1278ed1342d878004f984b9", - "dweb:/ipfs/QmdXkFaUU43JqMTYEREbWa129rohdqN7GXy7mVRpjCfSLD" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/address-list-registry/address-list-owners/utils/AddOnlyAddressListOwnerBase.sol": { - "keccak256": "0xd3b355f8146b7df79e4537b021379a237d6620c0bdec25e9d96f2b741864909a", - "urls": [ - "bzz-raw://fcddc5b1dcbe7588943492a5d62ede92f23c46db0bf523267fda0ba9e8acafb5", - "dweb:/ipfs/QmRssFbEBCRwELD7pvnU7GWoZzxfZocys4sFW33VL71jpt" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/address-list-registry/address-list-owners/utils/AddOnlyAddressListOwnerConsumerMixin.sol": { - "keccak256": "0x7eb3ee3ecc65e36bc8b6201e99d42d37bb932e85a5b24afb141a23a469cf8b6e", - "urls": [ - "bzz-raw://42bb22f3d4b3f2fed39b313cbb81c929d204f07f5ae49f7dc464b44d861d51e5", - "dweb:/ipfs/QmaMgdLB4zGdZvR5ohexnKoAHdjX7xoM5h8J2ExffyFZG6" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/dispatcher/IDispatcher.sol": { - "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", - "urls": [ - "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", - "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/IIntegrationManager.sol": { - "keccak256": "0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef", - "urls": [ - "bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23", - "dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol": { - "keccak256": "0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1", - "urls": [ - "bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336", - "dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/adapters/CompoundV3Adapter.sol": { - "keccak256": "0x05eacf83fbe5ea42b067462e05ee25785d8ccc3e394f166892a13cde5ab0a708", - "urls": [ - "bzz-raw://9fde76a34ea3df605e68deeaea67ae0c8b245471141ec73891beac67029d074d", - "dweb:/ipfs/QmYjbHSmKJ7SejLdNeQHfCgUvrgisZdis6LPK1CfwHmAcu" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol": { - "keccak256": "0x067e49bf0d3c1655ab41a413c65ccf61d4e593308132e1ffc484a0fadfbbaf26", - "urls": [ - "bzz-raw://387f425017e18e89cc1893521101fa99df595314847d0b3d9a1162369f714fcf", - "dweb:/ipfs/Qmco3jCvuWAyfCpBYpGzHrQjiFJG63w1RJKcakoTEbxRQm" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol": { - "keccak256": "0xfd34c7ca8231c6935e25dede32ca2b3121738e624d0fc896f7b895a731edcf88", - "urls": [ - "bzz-raw://d492c061963d36d07718446db191d4c5a340c0d847f6cd209f027bd99f7cb176", - "dweb:/ipfs/QmfCvRZt56ftDdrEh6LepHXFJ4fVtcfpQGvEyY8k4zxG1A" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/utils/actions/CompoundV3ActionsMixin.sol": { - "keccak256": "0x6c6aaa8ea03f78e48ee27dd252178fc5fccd875b004aa9394a610f2abb0d01fe", - "urls": [ - "bzz-raw://903918650d194e59566658aca8de5ba87665fd71dbe5b0d1ba7e30701d8439b7", - "dweb:/ipfs/QmWsRmAvya3F3e3cjMEaDK13i6amEAx5e6d8tVQPTGKGnU" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/ICompoundV3Comet.sol": { - "keccak256": "0xf0465f5f896f3ff69ec19e8a3946887fcb672fd5874908918277923a7cf14131", - "urls": [ - "bzz-raw://2870a61fb53f168265bf69ef35cb9910a9025d4700447413f465b2b0fe33cdb1", - "dweb:/ipfs/QmeETY2T9vtqo26m5PWQooD94hBuHVt1aQjXQc4i1xqZtw" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/ICompoundV3CometRewards.sol": { - "keccak256": "0x0169401972f768f7f88e8e23615c9867e8f0b3413a628fbc15fcc4d862d506e4", - "urls": [ - "bzz-raw://3a07ef232526f7f4ed1b2e50e87293bd20940c23139b765f49c65b8796f2b785", - "dweb:/ipfs/QmbnGkJPKN9UsDfUt6zBkQgKxMwFxUshPtfqKi1cmvaj6d" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/ICompoundV3Configurator.sol": { - "keccak256": "0x62869ddb50774e1c9e1c7e848886837df5013fbe2291a91a2ffee6280e0be0d2", - "urls": [ - "bzz-raw://a0dd519eef7bf6ae0d509fae50f16e587f231d32a03740ba6a60b2ca69addb37", - "dweb:/ipfs/QmTRY3M7tdwKudAMFXo9yGUhvgdQV8ZJFtCWE5UHdmzuEx" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AssetHelpers.sol": { - "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", - "urls": [ - "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", - "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { - "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", - "urls": [ - "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", - "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Address.sol": { - "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", - "urls": [ - "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", - "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 165 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_integrationManager", "type": "address", "internalType": "address" }, { "name": "_compoundV3Configurator", "type": "address", "internalType": "address" }, { "name": "_compoundV3Rewards", "type": "address", "internalType": "address" }, { "name": "_addressListRegistry", "type": "address", "internalType": "address" }, { "name": "_cTokenListId", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "CLAIM_REWARDS_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "LEND_AND_STAKE_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "LEND_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "REDEEM_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "STAKE_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "TAKE_MULTIPLE_ORDERS_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "TAKE_ORDER_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "UNSTAKE_AND_REDEEM_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "UNSTAKE_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "claimRewards", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_actionData", "type": "bytes", "internalType": "bytes" }, { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "getIntegrationManager", "inputs": [], "outputs": [ { "name": "integrationManager_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "lend", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "", "type": "bytes", "internalType": "bytes" }, { "name": "_assetData", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "parseAssetsForAction", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_selector", "type": "bytes4", "internalType": "bytes4" }, { "name": "_actionData", "type": "bytes", "internalType": "bytes" } ], "outputs": [ { "name": "spendAssetsHandleType_", "type": "uint8", "internalType": "enum IIntegrationManager.SpendAssetsHandleType" }, { "name": "spendAssets_", "type": "address[]", "internalType": "address[]" }, { "name": "spendAssetAmounts_", "type": "uint256[]", "internalType": "uint256[]" }, { "name": "incomingAssets_", "type": "address[]", "internalType": "address[]" }, { "name": "minIncomingAssetAmounts_", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "view" }, { "type": "function", "name": "redeem", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "", "type": "bytes", "internalType": "bytes" }, { "name": "_assetData", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x6101406040523480156200001257600080fd5b50604051620021be380380620021be83398101604081905262000035916200015d565b6001600160601b0319606086811b821660805283901b1660a05260c0819052604051630337992760e31b81528390839083906000906001600160a01b038416906319bcc938906200008b908590600401620001ee565b60206040518083038186803b158015620000a457600080fd5b505afa158015620000b9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000df919062000134565b6001600160601b0319606091821b811660e05294811b8516610100529790971b90921661012052506200023895505050505050565b8051620001218162000213565b92915050565b805162000121816200022d565b6000602082840312156200014757600080fd5b600062000155848462000114565b949350505050565b600080600080600060a086880312156200017657600080fd5b600062000184888862000114565b9550506020620001978882890162000114565b9450506040620001aa8882890162000114565b9350506060620001bd8882890162000114565b9250506080620001d08882890162000127565b9150509295509295909350565b620001e88162000210565b82525050565b60208101620001218284620001dd565b60006001600160a01b03821662000121565b90565b6200021e81620001fe565b81146200022a57600080fd5b50565b6200021e8162000210565b60805160601c60a05160601c60c05160e05160601c6101005160601c6101205160601c611f286200029660003980610a2c5280610c995250806108e45250806107ce5250806106fb5250806106ce52508061064b5250611f286000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c8063b23228cf1161008c578063c32990a211610066578063c32990a214610178578063c54efee514610180578063e7c45690146101a4578063f7d882b5146101b9576100ea565b8063b23228cf1461014a578063b9dfbacc14610152578063c29fa9dd14610165576100ea565b8063257cb1a3116100c8578063257cb1a31461012a5780633ffc15911461013257806340da225d1461013a578063863e5ad014610142576100ea565b8063080456c1146100ef578063099f75151461010d578063131461c014610122575b600080fd5b6100f76101c1565b6040516101049190611cc1565b60405180910390f35b61012061011b36600461174e565b6101e5565b005b6100f7610315565b6100f7610339565b6100f761035d565b6100f7610381565b6100f76103a5565b6100f76103c9565b61012061016036600461174e565b6103ed565b61012061017336600461174e565b610461565b6100f761057b565b61019361018e3660046116e7565b61059f565b604051610104959493929190611ccf565b6101ac610649565b6040516101049190611c1c565b6100f761066d565b7f8334eb99be0145865eba9889fca2ee920288090caefff4cc776038e20ad9259a81565b60608061022784848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061069192505050565b92505091506102498160008151811061023c57fe5b60200260200101516106b7565b61030c8260008151811061025957fe5b60200260200101518260008151811061026e57fe5b6020026020010151898560008151811061028457fe5b60200260200101516001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016102b79190611c1c565b60206040518083038186803b1580156102cf57600080fd5b505afa1580156102e3573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061030791906118ea565b61083c565b50505050505050565b7f29fa046e79524c3c5ac4c01df692c35e217802b2b13b21121b76cf0ef02b138c81565b7f099f75155f0e997bf83a7993a71d5e7e7540bd386fe1e84643a09ce6b412521981565b7ffa7dd04da627f433da73c4355ead9c75682a67a8fc84d3f6170ef0922f402d2481565b7fb9dfbaccbe5cd2a84fdcf1d15f23ef25d23086f5afbaa99516065ed4a5bbc7a381565b7f03e38a2bd7063d45c897edeafc330e71657502dd86434d3c37a489caf116af6981565b7f68e30677f607df46e87da13e15b637784cfa62374b653f35ab43d10361a2f83081565b606061042e85858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506108af92505050565b905060005b815181101561030c5761045982828151811061044b57fe5b6020026020010151886108cd565b600101610433565b6060806104a384848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061069192505050565b92505091506104b88260008151811061023c57fe5b61030c826000815181106104c857fe5b6020026020010151826000815181106104dd57fe5b602002602001015189856000815181106104f357fe5b60200260200101516001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016105269190611c1c565b60206040518083038186803b15801561053e57600080fd5b505afa158015610552573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061057691906118ea565b61091e565b7f0e7f692dad5b88fdee426250d6eae91207e56a2e8112b7364579bed1790e5bf481565b600060608080806001600160e01b03198816632e77eeb360e21b14156105d6576105c761094e565b9450945094509450945061063e565b6001600160e01b0319881663099f751560e01b14156105f9576105c787876109ae565b6001600160e01b0319881663c29fa9dd60e01b141561061d576105c7898888610bb7565b60405162461bcd60e51b815260040161063590611d97565b60405180910390fd5b945094509450945094565b7f000000000000000000000000000000000000000000000000000000000000000090565b7fc29fa9dde84204c2908778afd0613d802d31cf046179b88f6d2b4a4e507ea2d581565b6060806060838060200190518101906106aa9190611807565b9250925092509193909250565b6040516307158c8160e21b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690631c56320490610725907f0000000000000000000000000000000000000000000000000000000000000000908590600401611da7565b60206040518083038186803b15801561073d57600080fd5b505afa158015610751573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107759190611898565b610839576040805160018082528183019092526060916020808301908036833701905050905081816000815181106107a957fe5b6001600160a01b03928316602091820292909201015260405163a8f0bc4160e01b81527f00000000000000000000000000000000000000000000000000000000000000009091169063a8f0bc4190610805908490600401611cb0565b600060405180830381600087803b15801561081f57600080fd5b505af1158015610833573d6000803e3d6000fd5b50505050505b50565b610847848483610e48565b604051634232cd6360e01b81526001600160a01b03841690634232cd639061087790859088908690600401611c6d565b600060405180830381600087803b15801561089157600080fd5b505af11580156108a5573d6000803e3d6000fd5b5050505050505050565b6060818060200190518101906108c591906117d3565b90505b919050565b604051635b81a7bf60e11b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063b7034f7e906108059085908590600190600401611c45565b6040516361d9ad3f60e11b81526001600160a01b0385169063c3b35a7e9061087790859087908690600401611c6d565b600060608080808480604051908082528060200260200182016040528015610980578160200160208202803683370190505b5060408051600080825260208201818152828401918252606083019093529399929850965094509092509050565b60006060806060806000806109f889898080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610f0a92505050565b60408051600180825281830190925292945090925060208083019080368337505060405163c44b11f760e01b8152919750507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063c44b11f790610a69908590600401611c1c565b60006040518083038186803b158015610a8157600080fd5b505afa158015610a95573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610abd91908101906118b6565b6040015186600081518110610ace57fe5b6001600160a01b03929092166020928302919091018201526040805160018082528183019092529182810190803683370190505094508085600081518110610b1257fe5b6020908102919091010152604080516001808252818301909252908160200160208202803683370190505093508184600081518110610b4d57fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509250610b8e816002610f2a565b83600081518110610b9b57fe5b6020026020010181815250506002965050509295509295909350565b6000606080606080600080610c0189898080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610f0a92505050565b604080516001808252818301909252929450909250602080830190803683370190505095508186600081518110610c3457fe5b6001600160a01b03929092166020928302919091018201526040805160018082528183019092529182810190803683375050604080516001808252818301909252929750905060208083019080368337505060405163c44b11f760e01b8152919550507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063c44b11f790610cd6908590600401611c1c565b60006040518083038186803b158015610cee57600080fd5b505afa158015610d02573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610d2a91908101906118b6565b6040015184600081518110610d3b57fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509250600019811415610dfa576040516370a0823160e01b81526001600160a01b038316906370a0823190610da7908d90600401611c1c565b60206040518083038186803b158015610dbf57600080fd5b505afa158015610dd3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610df791906118ea565b90505b8085600081518110610e0857fe5b6020908102919091010152610e1e816002610f2a565b83600081518110610e2b57fe5b602002602001018181525050600296505050939792965093509350565b604051636eb1769f60e11b81526000906001600160a01b0385169063dd62ed3e90610e799030908790600401611c2a565b60206040518083038186803b158015610e9157600080fd5b505afa158015610ea5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ec991906118ea565b905081811015610f04578015610eee57610eee6001600160a01b038516846000610f57565b610f046001600160a01b03851684600019610f57565b50505050565b60008082806020019051810190610f2191906116ad565b91509150915091565b600082821115610f4c5760405162461bcd60e51b815260040161063590611d47565b508082035b92915050565b801580610fdf5750604051636eb1769f60e11b81526001600160a01b0384169063dd62ed3e90610f8d9030908690600401611c2a565b60206040518083038186803b158015610fa557600080fd5b505afa158015610fb9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fdd91906118ea565b155b610ffb5760405162461bcd60e51b815260040161063590611d87565b6110518363095ea7b360e01b848460405160240161101a929190611c95565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152611056565b505050565b60606110ab826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166110e59092919063ffffffff16565b80519091501561105157808060200190518101906110c99190611898565b6110515760405162461bcd60e51b815260040161063590611d77565b60606110f484846000856110fe565b90505b9392505050565b6060824710156111205760405162461bcd60e51b815260040161063590611d57565b611129856111c1565b6111455760405162461bcd60e51b815260040161063590611d67565b60006060866001600160a01b031685876040516111629190611c10565b60006040518083038185875af1925050503d806000811461119f576040519150601f19603f3d011682016040523d82523d6000602084013e6111a4565b606091505b50915091506111b48282866111c7565b925050505b949350505050565b3b151590565b606083156111d65750816110f7565b8251156111e65782518084602001fd5b8160405162461bcd60e51b81526004016106359190611d36565b8035610f5181611ec8565b8051610f5181611ec8565b600082601f83011261122757600080fd5b815161123a61123582611ddb565b611db5565b9150818183526020840193506020810190508385602084028201111561125f57600080fd5b60005b8381101561128b5781611275888261120b565b8452506020928301929190910190600101611262565b5050505092915050565b600082601f8301126112a657600080fd5b81516112b461123582611ddb565b915081818352602084019350602081019050838560e08402820111156112d957600080fd5b60005b8381101561128b57816112ef88826113d5565b84525060209092019160e091909101906001016112dc565b600082601f83011261131857600080fd5b815161132661123582611ddb565b9150818183526020840193506020810190508385602084028201111561134b57600080fd5b60005b8381101561128b5781611361888261168c565b845250602092830192919091019060010161134e565b8051610f5181611edc565b8035610f5181611ee5565b60008083601f84011261139f57600080fd5b5081356001600160401b038111156113b657600080fd5b6020830191508360018202830111156113ce57600080fd5b9250929050565b600060e082840312156113e757600080fd5b6113f160e0611db5565b905060006113ff848461120b565b82525060206114108484830161120b565b6020830152506040611424848285016116a2565b604083015250606061143884828501611697565b606083015250608061144c84828501611697565b60808301525060a061146084828501611697565b60a08301525060c061147484828501611681565b60c08301525092915050565b60006102a0828403121561149357600080fd5b61149e6102a0611db5565b905060006114ac848461120b565b82525060206114bd8484830161120b565b60208301525060406114d18482850161120b565b60408301525060606114e58482850161120b565b60608301525060806114f98482850161120b565b60808301525060a061150d84828501611697565b60a08301525060c061152184828501611697565b60c08301525060e061153584828501611697565b60e08301525061010061154a84828501611697565b6101008301525061012061156084828501611697565b6101208301525061014061157684828501611697565b6101408301525061016061158c84828501611697565b610160830152506101806115a284828501611697565b610180830152506101a06115b884828501611697565b6101a0830152506101c06115ce84828501611697565b6101c0830152506101e06115e484828501611697565b6101e0830152506102006115fa84828501611697565b6102008301525061022061161084828501611676565b6102208301525061024061162684828501611676565b6102408301525061026061163c84828501611676565b610260830152506102808201516001600160401b0381111561165d57600080fd5b61166984828501611295565b6102808301525092915050565b8051610f5181611eee565b8051610f5181611ef7565b8051610f5181611f00565b8051610f5181611f09565b8051610f5181611f12565b600080604083850312156116c057600080fd5b60006116cc858561120b565b92505060206116dd8582860161168c565b9150509250929050565b600080600080606085870312156116fd57600080fd5b60006117098787611200565b945050602061171a87828801611382565b93505060408501356001600160401b0381111561173657600080fd5b6117428782880161138d565b95989497509550505050565b60008060008060006060868803121561176657600080fd5b60006117728888611200565b95505060208601356001600160401b0381111561178e57600080fd5b61179a8882890161138d565b945094505060408601356001600160401b038111156117b857600080fd5b6117c48882890161138d565b92509250509295509295909350565b6000602082840312156117e557600080fd5b81516001600160401b038111156117fb57600080fd5b6111b984828501611216565b60008060006060848603121561181c57600080fd5b83516001600160401b0381111561183257600080fd5b61183e86828701611216565b93505060208401516001600160401b0381111561185a57600080fd5b61186686828701611307565b92505060408401516001600160401b0381111561188257600080fd5b61188e86828701611216565b9150509250925092565b6000602082840312156118aa57600080fd5b60006111b98484611377565b6000602082840312156118c857600080fd5b81516001600160401b038111156118de57600080fd5b6111b984828501611480565b6000602082840312156118fc57600080fd5b60006111b9848461168c565b60006119148383611928565b505060200190565b60006119148383611c07565b61193181611e0e565b82525050565b600061194282611e01565b61194c8185611e05565b935061195783611dfb565b8060005b8381101561198557815161196f8882611908565b975061197a83611dfb565b92505060010161195b565b509495945050505050565b600061199b82611e01565b6119a58185611e05565b93506119b083611dfb565b8060005b838110156119855781516119c8888261191c565b97506119d383611dfb565b9250506001016119b4565b61193181611e19565b61193181611e1e565b60006119fb82611e01565b611a0581856108c8565b9350611a15818560208601611e88565b9290920192915050565b61193181611e7d565b6000611a3382611e01565b611a3d8185611e05565b9350611a4d818560208601611e88565b611a5681611eb4565b9093019392505050565b6000611a6d601e83611e05565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000611aa6602683611e05565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f8152651c8818d85b1b60d21b602082015260400192915050565b6000611aee601d83611e05565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000815260200192915050565b6000611b27602a83611e05565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e8152691bdd081cdd58d8d9595960b21b602082015260400192915050565b6000611b73603683611e05565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f81527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b602082015260400192915050565b6000611bcb602783611e05565b7f7061727365417373657473466f72416374696f6e3a205f73656c6563746f72208152661a5b9d985b1a5960ca1b602082015260400192915050565b61193181611e68565b60006110f782846119f0565b60208101610f518284611928565b60408101611c388285611928565b6110f76020830184611928565b60608101611c538286611928565b611c606020830185611928565b6111b960408301846119de565b60608101611c7b8286611928565b611c886020830185611928565b6111b96040830184611c07565b60408101611ca38285611928565b6110f76020830184611c07565b602080825281016110f78184611937565b60208101610f5182846119e7565b60a08101611cdd8288611a1f565b8181036020830152611cef8187611937565b90508181036040830152611d038186611990565b90508181036060830152611d178185611937565b90508181036080830152611d2b8184611990565b979650505050505050565b602080825281016110f78184611a28565b602080825281016108c581611a60565b602080825281016108c581611a99565b602080825281016108c581611ae1565b602080825281016108c581611b1a565b602080825281016108c581611b66565b602080825281016108c581611bbe565b60408101611c388285611c07565b6040518181016001600160401b0381118282101715611dd357600080fd5b604052919050565b60006001600160401b03821115611df157600080fd5b5060209081020190565b60200190565b5190565b90815260200190565b60006108c582611e5c565b151590565b6001600160e01b03191690565b806108c881611ebe565b6cffffffffffffffffffffffffff1690565b6fffffffffffffffffffffffffffffffff1690565b6001600160a01b031690565b90565b6001600160401b031690565b60ff1690565b60006108c582611e2b565b60005b83811015611ea3578181015183820152602001611e8b565b83811115610f045750506000910152565b601f01601f191690565b6003811061083957fe5b611ed181611e0e565b811461083957600080fd5b611ed181611e19565b611ed181611e1e565b611ed181611e35565b611ed181611e47565b611ed181611e68565b611ed181611e6b565b611ed181611e7756fea164736f6c634300060c000a", "sourceMap": "1333:8880:165:-:0;;;1577:483;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;1938:41:179;;;;;;;;903:74:15;;;;;;987:17;;;;1035:63;;-1:-1:-1;;;1035:63:15;;1947:18:165;;1879:20;;1901:13;;1015:17:15;;-1:-1:-1;;;;;903:74:15;;;1035:54;;:63;;1901:13:165;;1035:63:15;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;1108:60:15;;;;;;;;825:74:185;;;;;;;1981:72:165;;;;;;;::::3;::::0;-1:-1:-1;1333:8880:165;;-1:-1:-1;;;;;;1333:8880:165;5:134:-1;83:13;;101:33;83:13;101:33;:::i;:::-;68:71;;;;:::o;146:134::-;224:13;;242:33;224:13;242:33;:::i;287:263::-;;402:2;390:9;381:7;377:23;373:32;370:2;;;418:1;415;408:12;370:2;453:1;470:64;526:7;506:9;470:64;:::i;:::-;460:74;364:186;-1:-1;;;;364:186::o;557:809::-;;;;;;740:3;728:9;719:7;715:23;711:33;708:2;;;757:1;754;747:12;708:2;792:1;809:64;865:7;845:9;809:64;:::i;:::-;799:74;;771:108;910:2;928:64;984:7;975:6;964:9;960:22;928:64;:::i;:::-;918:74;;889:109;1029:2;1047:64;1103:7;1094:6;1083:9;1079:22;1047:64;:::i;:::-;1037:74;;1008:109;1148:2;1166:64;1222:7;1213:6;1202:9;1198:22;1166:64;:::i;:::-;1156:74;;1127:109;1267:3;1286:64;1342:7;1333:6;1322:9;1318:22;1286:64;:::i;:::-;1276:74;;1246:110;702:664;;;;;;;;:::o;1373:113::-;1456:24;1474:5;1456:24;:::i;:::-;1451:3;1444:37;1438:48;;:::o;1493:222::-;1620:2;1605:18;;1634:71;1609:9;1678:6;1634:71;:::i;1722:91::-;;-1:-1;;;;;1882:54;;1784:24;1865:76::o;1948:72::-;2010:5;1993:27::o;2027:117::-;2096:24;2114:5;2096:24;:::i;:::-;2089:5;2086:35;2076:2;;2135:1;2132;2125:12;2076:2;2070:74;:::o;2151:117::-;2220:24;2238:5;2220:24;:::i;2194:74::-;1333:8880:165;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106100ea5760003560e01c8063b23228cf1161008c578063c32990a211610066578063c32990a214610178578063c54efee514610180578063e7c45690146101a4578063f7d882b5146101b9576100ea565b8063b23228cf1461014a578063b9dfbacc14610152578063c29fa9dd14610165576100ea565b8063257cb1a3116100c8578063257cb1a31461012a5780633ffc15911461013257806340da225d1461013a578063863e5ad014610142576100ea565b8063080456c1146100ef578063099f75151461010d578063131461c014610122575b600080fd5b6100f76101c1565b6040516101049190611cc1565b60405180910390f35b61012061011b36600461174e565b6101e5565b005b6100f7610315565b6100f7610339565b6100f761035d565b6100f7610381565b6100f76103a5565b6100f76103c9565b61012061016036600461174e565b6103ed565b61012061017336600461174e565b610461565b6100f761057b565b61019361018e3660046116e7565b61059f565b604051610104959493929190611ccf565b6101ac610649565b6040516101049190611c1c565b6100f761066d565b7f8334eb99be0145865eba9889fca2ee920288090caefff4cc776038e20ad9259a81565b60608061022784848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061069192505050565b92505091506102498160008151811061023c57fe5b60200260200101516106b7565b61030c8260008151811061025957fe5b60200260200101518260008151811061026e57fe5b6020026020010151898560008151811061028457fe5b60200260200101516001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016102b79190611c1c565b60206040518083038186803b1580156102cf57600080fd5b505afa1580156102e3573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061030791906118ea565b61083c565b50505050505050565b7f29fa046e79524c3c5ac4c01df692c35e217802b2b13b21121b76cf0ef02b138c81565b7f099f75155f0e997bf83a7993a71d5e7e7540bd386fe1e84643a09ce6b412521981565b7ffa7dd04da627f433da73c4355ead9c75682a67a8fc84d3f6170ef0922f402d2481565b7fb9dfbaccbe5cd2a84fdcf1d15f23ef25d23086f5afbaa99516065ed4a5bbc7a381565b7f03e38a2bd7063d45c897edeafc330e71657502dd86434d3c37a489caf116af6981565b7f68e30677f607df46e87da13e15b637784cfa62374b653f35ab43d10361a2f83081565b606061042e85858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506108af92505050565b905060005b815181101561030c5761045982828151811061044b57fe5b6020026020010151886108cd565b600101610433565b6060806104a384848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061069192505050565b92505091506104b88260008151811061023c57fe5b61030c826000815181106104c857fe5b6020026020010151826000815181106104dd57fe5b602002602001015189856000815181106104f357fe5b60200260200101516001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016105269190611c1c565b60206040518083038186803b15801561053e57600080fd5b505afa158015610552573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061057691906118ea565b61091e565b7f0e7f692dad5b88fdee426250d6eae91207e56a2e8112b7364579bed1790e5bf481565b600060608080806001600160e01b03198816632e77eeb360e21b14156105d6576105c761094e565b9450945094509450945061063e565b6001600160e01b0319881663099f751560e01b14156105f9576105c787876109ae565b6001600160e01b0319881663c29fa9dd60e01b141561061d576105c7898888610bb7565b60405162461bcd60e51b815260040161063590611d97565b60405180910390fd5b945094509450945094565b7f000000000000000000000000000000000000000000000000000000000000000090565b7fc29fa9dde84204c2908778afd0613d802d31cf046179b88f6d2b4a4e507ea2d581565b6060806060838060200190518101906106aa9190611807565b9250925092509193909250565b6040516307158c8160e21b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690631c56320490610725907f0000000000000000000000000000000000000000000000000000000000000000908590600401611da7565b60206040518083038186803b15801561073d57600080fd5b505afa158015610751573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107759190611898565b610839576040805160018082528183019092526060916020808301908036833701905050905081816000815181106107a957fe5b6001600160a01b03928316602091820292909201015260405163a8f0bc4160e01b81527f00000000000000000000000000000000000000000000000000000000000000009091169063a8f0bc4190610805908490600401611cb0565b600060405180830381600087803b15801561081f57600080fd5b505af1158015610833573d6000803e3d6000fd5b50505050505b50565b610847848483610e48565b604051634232cd6360e01b81526001600160a01b03841690634232cd639061087790859088908690600401611c6d565b600060405180830381600087803b15801561089157600080fd5b505af11580156108a5573d6000803e3d6000fd5b5050505050505050565b6060818060200190518101906108c591906117d3565b90505b919050565b604051635b81a7bf60e11b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063b7034f7e906108059085908590600190600401611c45565b6040516361d9ad3f60e11b81526001600160a01b0385169063c3b35a7e9061087790859087908690600401611c6d565b600060608080808480604051908082528060200260200182016040528015610980578160200160208202803683370190505b5060408051600080825260208201818152828401918252606083019093529399929850965094509092509050565b60006060806060806000806109f889898080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610f0a92505050565b60408051600180825281830190925292945090925060208083019080368337505060405163c44b11f760e01b8152919750507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063c44b11f790610a69908590600401611c1c565b60006040518083038186803b158015610a8157600080fd5b505afa158015610a95573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610abd91908101906118b6565b6040015186600081518110610ace57fe5b6001600160a01b03929092166020928302919091018201526040805160018082528183019092529182810190803683370190505094508085600081518110610b1257fe5b6020908102919091010152604080516001808252818301909252908160200160208202803683370190505093508184600081518110610b4d57fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509250610b8e816002610f2a565b83600081518110610b9b57fe5b6020026020010181815250506002965050509295509295909350565b6000606080606080600080610c0189898080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610f0a92505050565b604080516001808252818301909252929450909250602080830190803683370190505095508186600081518110610c3457fe5b6001600160a01b03929092166020928302919091018201526040805160018082528183019092529182810190803683375050604080516001808252818301909252929750905060208083019080368337505060405163c44b11f760e01b8152919550507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063c44b11f790610cd6908590600401611c1c565b60006040518083038186803b158015610cee57600080fd5b505afa158015610d02573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610d2a91908101906118b6565b6040015184600081518110610d3b57fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509250600019811415610dfa576040516370a0823160e01b81526001600160a01b038316906370a0823190610da7908d90600401611c1c565b60206040518083038186803b158015610dbf57600080fd5b505afa158015610dd3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610df791906118ea565b90505b8085600081518110610e0857fe5b6020908102919091010152610e1e816002610f2a565b83600081518110610e2b57fe5b602002602001018181525050600296505050939792965093509350565b604051636eb1769f60e11b81526000906001600160a01b0385169063dd62ed3e90610e799030908790600401611c2a565b60206040518083038186803b158015610e9157600080fd5b505afa158015610ea5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ec991906118ea565b905081811015610f04578015610eee57610eee6001600160a01b038516846000610f57565b610f046001600160a01b03851684600019610f57565b50505050565b60008082806020019051810190610f2191906116ad565b91509150915091565b600082821115610f4c5760405162461bcd60e51b815260040161063590611d47565b508082035b92915050565b801580610fdf5750604051636eb1769f60e11b81526001600160a01b0384169063dd62ed3e90610f8d9030908690600401611c2a565b60206040518083038186803b158015610fa557600080fd5b505afa158015610fb9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fdd91906118ea565b155b610ffb5760405162461bcd60e51b815260040161063590611d87565b6110518363095ea7b360e01b848460405160240161101a929190611c95565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152611056565b505050565b60606110ab826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166110e59092919063ffffffff16565b80519091501561105157808060200190518101906110c99190611898565b6110515760405162461bcd60e51b815260040161063590611d77565b60606110f484846000856110fe565b90505b9392505050565b6060824710156111205760405162461bcd60e51b815260040161063590611d57565b611129856111c1565b6111455760405162461bcd60e51b815260040161063590611d67565b60006060866001600160a01b031685876040516111629190611c10565b60006040518083038185875af1925050503d806000811461119f576040519150601f19603f3d011682016040523d82523d6000602084013e6111a4565b606091505b50915091506111b48282866111c7565b925050505b949350505050565b3b151590565b606083156111d65750816110f7565b8251156111e65782518084602001fd5b8160405162461bcd60e51b81526004016106359190611d36565b8035610f5181611ec8565b8051610f5181611ec8565b600082601f83011261122757600080fd5b815161123a61123582611ddb565b611db5565b9150818183526020840193506020810190508385602084028201111561125f57600080fd5b60005b8381101561128b5781611275888261120b565b8452506020928301929190910190600101611262565b5050505092915050565b600082601f8301126112a657600080fd5b81516112b461123582611ddb565b915081818352602084019350602081019050838560e08402820111156112d957600080fd5b60005b8381101561128b57816112ef88826113d5565b84525060209092019160e091909101906001016112dc565b600082601f83011261131857600080fd5b815161132661123582611ddb565b9150818183526020840193506020810190508385602084028201111561134b57600080fd5b60005b8381101561128b5781611361888261168c565b845250602092830192919091019060010161134e565b8051610f5181611edc565b8035610f5181611ee5565b60008083601f84011261139f57600080fd5b5081356001600160401b038111156113b657600080fd5b6020830191508360018202830111156113ce57600080fd5b9250929050565b600060e082840312156113e757600080fd5b6113f160e0611db5565b905060006113ff848461120b565b82525060206114108484830161120b565b6020830152506040611424848285016116a2565b604083015250606061143884828501611697565b606083015250608061144c84828501611697565b60808301525060a061146084828501611697565b60a08301525060c061147484828501611681565b60c08301525092915050565b60006102a0828403121561149357600080fd5b61149e6102a0611db5565b905060006114ac848461120b565b82525060206114bd8484830161120b565b60208301525060406114d18482850161120b565b60408301525060606114e58482850161120b565b60608301525060806114f98482850161120b565b60808301525060a061150d84828501611697565b60a08301525060c061152184828501611697565b60c08301525060e061153584828501611697565b60e08301525061010061154a84828501611697565b6101008301525061012061156084828501611697565b6101208301525061014061157684828501611697565b6101408301525061016061158c84828501611697565b610160830152506101806115a284828501611697565b610180830152506101a06115b884828501611697565b6101a0830152506101c06115ce84828501611697565b6101c0830152506101e06115e484828501611697565b6101e0830152506102006115fa84828501611697565b6102008301525061022061161084828501611676565b6102208301525061024061162684828501611676565b6102408301525061026061163c84828501611676565b610260830152506102808201516001600160401b0381111561165d57600080fd5b61166984828501611295565b6102808301525092915050565b8051610f5181611eee565b8051610f5181611ef7565b8051610f5181611f00565b8051610f5181611f09565b8051610f5181611f12565b600080604083850312156116c057600080fd5b60006116cc858561120b565b92505060206116dd8582860161168c565b9150509250929050565b600080600080606085870312156116fd57600080fd5b60006117098787611200565b945050602061171a87828801611382565b93505060408501356001600160401b0381111561173657600080fd5b6117428782880161138d565b95989497509550505050565b60008060008060006060868803121561176657600080fd5b60006117728888611200565b95505060208601356001600160401b0381111561178e57600080fd5b61179a8882890161138d565b945094505060408601356001600160401b038111156117b857600080fd5b6117c48882890161138d565b92509250509295509295909350565b6000602082840312156117e557600080fd5b81516001600160401b038111156117fb57600080fd5b6111b984828501611216565b60008060006060848603121561181c57600080fd5b83516001600160401b0381111561183257600080fd5b61183e86828701611216565b93505060208401516001600160401b0381111561185a57600080fd5b61186686828701611307565b92505060408401516001600160401b0381111561188257600080fd5b61188e86828701611216565b9150509250925092565b6000602082840312156118aa57600080fd5b60006111b98484611377565b6000602082840312156118c857600080fd5b81516001600160401b038111156118de57600080fd5b6111b984828501611480565b6000602082840312156118fc57600080fd5b60006111b9848461168c565b60006119148383611928565b505060200190565b60006119148383611c07565b61193181611e0e565b82525050565b600061194282611e01565b61194c8185611e05565b935061195783611dfb565b8060005b8381101561198557815161196f8882611908565b975061197a83611dfb565b92505060010161195b565b509495945050505050565b600061199b82611e01565b6119a58185611e05565b93506119b083611dfb565b8060005b838110156119855781516119c8888261191c565b97506119d383611dfb565b9250506001016119b4565b61193181611e19565b61193181611e1e565b60006119fb82611e01565b611a0581856108c8565b9350611a15818560208601611e88565b9290920192915050565b61193181611e7d565b6000611a3382611e01565b611a3d8185611e05565b9350611a4d818560208601611e88565b611a5681611eb4565b9093019392505050565b6000611a6d601e83611e05565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000611aa6602683611e05565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f8152651c8818d85b1b60d21b602082015260400192915050565b6000611aee601d83611e05565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000815260200192915050565b6000611b27602a83611e05565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e8152691bdd081cdd58d8d9595960b21b602082015260400192915050565b6000611b73603683611e05565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f81527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b602082015260400192915050565b6000611bcb602783611e05565b7f7061727365417373657473466f72416374696f6e3a205f73656c6563746f72208152661a5b9d985b1a5960ca1b602082015260400192915050565b61193181611e68565b60006110f782846119f0565b60208101610f518284611928565b60408101611c388285611928565b6110f76020830184611928565b60608101611c538286611928565b611c606020830185611928565b6111b960408301846119de565b60608101611c7b8286611928565b611c886020830185611928565b6111b96040830184611c07565b60408101611ca38285611928565b6110f76020830184611c07565b602080825281016110f78184611937565b60208101610f5182846119e7565b60a08101611cdd8288611a1f565b8181036020830152611cef8187611937565b90508181036040830152611d038186611990565b90508181036060830152611d178185611937565b90508181036080830152611d2b8184611990565b979650505050505050565b602080825281016110f78184611a28565b602080825281016108c581611a60565b602080825281016108c581611a99565b602080825281016108c581611ae1565b602080825281016108c581611b1a565b602080825281016108c581611b66565b602080825281016108c581611bbe565b60408101611c388285611c07565b6040518181016001600160401b0381118282101715611dd357600080fd5b604052919050565b60006001600160401b03821115611df157600080fd5b5060209081020190565b60200190565b5190565b90815260200190565b60006108c582611e5c565b151590565b6001600160e01b03191690565b806108c881611ebe565b6cffffffffffffffffffffffffff1690565b6fffffffffffffffffffffffffffffffff1690565b6001600160a01b031690565b90565b6001600160401b031690565b60ff1690565b60006108c582611e2b565b60005b83811015611ea3578181015183820152602001611e8b565b83811115610f045750506000910152565b601f01601f191690565b6003811061083957fe5b611ed181611e0e565b811461083957600080fd5b611ed181611e19565b611ed181611e1e565b611ed181611e35565b611ed181611e47565b611ed181611e68565b611ed181611e6b565b611ed181611e7756fea164736f6c634300060c000a", "sourceMap": "1333:8880:165:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1490:119:180;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2794:750:165;;;;;;:::i;:::-;;:::i;:::-;;1373:111:180;;;:::i;832:85::-;;;:::i;1034:87::-;;;:::i;1240:110::-;;;:::i;706:104::-;;;:::i;1127:91::-;;;:::i;2242:342:165:-;;;;;;:::i;:::-;;:::i;3758:751::-;;;;;;:::i;:::-;;:::i;577:123:180:-;;;:::i;5304:926:165:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;:::i;2637:128:179:-;;;:::i;:::-;;;;;;;:::i;923:89:180:-;;;:::i;1490:119::-;1558:50;1490:119;:::o;2794:750:165:-;2977:28;3009:31;3044:51;3075:10;;3044:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3044:17:165;;-1:-1:-1;;;3044:51:165:i;:::-;2976:119;;;;;3253:57;3292:14;3307:1;3292:17;;;;;;;;;;;;;;3253:38;:57::i;:::-;3321:216;3365:11;3377:1;3365:14;;;;;;;;;;;;;;3402;3417:1;3402:17;;;;;;;;;;;;;;3445:11;3486;3498:1;3486:14;;;;;;;;;;;;;;-1:-1:-1;;;;;3479:32:165;;3520:4;3479:47;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3321:16;:216::i;:::-;2794:750;;;;;;;:::o;1373:111:180:-;1437:46;1373:111;:::o;832:85::-;878:38;832:85;:::o;1034:87::-;1081:39;1034:87;:::o;1240:110::-;1303:46;1240:110;:::o;706:104::-;766:43;706:104;:::o;1127:91::-;1176:41;1127:91;:::o;2242:342:165:-;2378:24;2405:30;2423:11;;2405:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2405:17:165;;-1:-1:-1;;;2405:30:165:i;:::-;2378:57;;2451:9;2446:132;2466:7;:14;2462:1;:18;2446:132;;;2501:66;2536:7;2544:1;2536:10;;;;;;;;;;;;;;2554:11;2501:24;:66::i;:::-;2482:3;;2446:132;;3758:751;3943:28;3975:31;4010:51;4041:10;;4010:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4010:17:165;;-1:-1:-1;;;4010:51:165:i;:::-;3942:119;;;;;4219:54;4258:11;4270:1;4258:14;;;;;;;4219:54;4284:218;4326:11;4338:1;4326:14;;;;;;;;;;;;;;4367;4382:1;4367:17;;;;;;;;;;;;;;4410:11;4451;4463:1;4451:14;;;;;;;;;;;;;;-1:-1:-1;;;;;4444:32:165;;4485:4;4444:47;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4284:18;:218::i;577:123:180:-;647:52;577:123;:::o;5304:926:165:-;5508:64;5586:29;;;;-1:-1:-1;;;;;;5794:35:165;;-1:-1:-1;;;5794:35:165;5790:434;;;5852:30;:28;:30::i;:::-;5845:37;;;;;;;;;;;;5790:434;-1:-1:-1;;;;;;5903:26:165;;-1:-1:-1;;;5903:26:165;5899:325;;;5952:33;5973:11;;5952:20;:33::i;5899:325::-;-1:-1:-1;;;;;;6006:28:165;;-1:-1:-1;;;6006:28:165;6002:222;;;6057:76;6094:11;6120;;6057:22;:76::i;6002:222::-;6164:49;;-1:-1:-1;;;6164:49:165;;;;;;;:::i;:::-;;;;;;;;6002:222;5304:926;;;;;;;;;:::o;2637:128:179:-;2739:19;2637:128;:::o;923:89:180:-;971:40;923:89;:::o;2093:332:179:-;2205:29;2248:35;2297:32;2372:10;2361:57;;;;;;;;;;;;:::i;:::-;2354:64;;;;;;2093:332;;;;;:::o;1430:311:15:-;1517:55;;-1:-1:-1;;;1517:55:15;;-1:-1:-1;;;;;1517:30:15;:39;;;;:55;;1557:7;;1566:5;;1517:55;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1512:223;;1613:16;;;1627:1;1613:16;;;;;;;;;1588:22;;1613:16;;;;;;;;;;;-1:-1:-1;1613:16:15;1588:41;;1654:5;1643;1649:1;1643:8;;;;;;;;-1:-1:-1;;;;;1643:16:15;;;:8;;;;;;;;;:16;1674:50;;-1:-1:-1;;;1674:50:15;;:19;:43;;;;;;:50;;1718:5;;1674:50;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1512:223;;1430:311;:::o;1213:405:185:-;1371:90;1406:11;1428:7;1452;1371:25;:90::i;:::-;1472:139;;-1:-1:-1;;;1472:139:185;;-1:-1:-1;;;;;1472:34:185;;;;;:139;;1590:10;;1529:11;;1563:7;;1472:139;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1213:405;;;;:::o;9730:190:165:-;9829:25;9888:11;9877:36;;;;;;;;;;;;:::i;:::-;9870:43;;9730:190;;;;:::o;975:178:185:-;1059:87;;-1:-1:-1;;;1059:87:185;;-1:-1:-1;;;;;1059:28:185;:34;;;;:87;;1104:7;;1119:4;;1140;;1059:87;;;:::i;1680:308::-;1840:141;;-1:-1:-1;;;1840:141:185;;-1:-1:-1;;;;;1840:36:185;;;;;:141;;1960:10;;1899:11;;1933:7;;1840:141;;;:::i;6406:602:165:-;6522:64;6600:29;;;;6522:64;;6885:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6885:16:165;-1:-1:-1;6915:16:165;;;6929:1;6915:16;;;;;;6945;;;;;;6975;;;;;;;;;6804:197;;;;-1:-1:-1;6915:16:165;-1:-1:-1;6915:16:165;-1:-1:-1;6945:16:165;;-1:-1:-1;6406:602:165;-1:-1:-1;6406:602:165:o;7129:1140::-;7246:64;7324:29;7367:35;7416:32;7462:41;7529:14;7545:24;7573:37;7598:11;;7573:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7573:24:165;;-1:-1:-1;;;7573:37:165:i;:::-;7636:16;;;7650:1;7636:16;;;;;;;;;7528:82;;-1:-1:-1;7528:82:165;;-1:-1:-1;7636:16:165;;;;;;;;;-1:-1:-1;;7680:46:165;;-1:-1:-1;;;7680:46:165;;7621:31;;-1:-1:-1;;7680:21:165;-1:-1:-1;;;;;7680:38:165;;;;:46;;7719:6;;7680:46;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7680:46:165;;;;;;;;;;;;:::i;:::-;:56;;;7662:12;7675:1;7662:15;;;;;;;;-1:-1:-1;;;;;7662:74:165;;;;:15;;;;;;;;;;:74;7767:16;;;7781:1;7767:16;;;;;;;;;;;;;;7662:15;7767:16;;;;;-1:-1:-1;7767:16:165;7746:37;;7817:16;7793:18;7812:1;7793:21;;;;;;;;;;;;;;;;;:40;7862:16;;;7876:1;7862:16;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7862:16:165;7844:34;;7909:6;7888:15;7904:1;7888:18;;;;;;;;-1:-1:-1;;;;;7888:27:165;;;;:18;;;;;;;;;;:27;7952:16;;;7966:1;7952:16;;;;;;;;;;;;;;7888:18;7952:16;;;;;-1:-1:-1;;7925:43:165;-1:-1:-1;8008:37:165;:16;1499:1;8008:20;:37::i;:::-;7978:24;8003:1;7978:27;;;;;;;;;;;;;:67;;;;;8077:50;8056:206;;;;7129:1140;;;;;;;;:::o;8392:1248::-;8532:64;8610:29;8653:35;8702:32;8748:41;8815:14;8831;8849:37;8874:11;;8849:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8849:24:165;;-1:-1:-1;;;8849:37:165:i;:::-;8912:16;;;8926:1;8912:16;;;;;;;;;8814:72;;-1:-1:-1;8814:72:165;;-1:-1:-1;8912:16:165;;;;;;;;;;;-1:-1:-1;8912:16:165;8897:31;;8956:6;8938:12;8951:1;8938:15;;;;;;;;-1:-1:-1;;;;;8938:24:165;;;;:15;;;;;;;;;;:24;8993:16;;;9007:1;8993:16;;;;;;;;;;;;;;8938:15;8993:16;;;-1:-1:-1;;9038:16:165;;;9052:1;9038:16;;;;;;;;;8972:37;;-1:-1:-1;9052:1:165;-1:-1:-1;9038:16:165;;;;;;;;;-1:-1:-1;;9085:46:165;;-1:-1:-1;;;9085:46:165;;9020:34;;-1:-1:-1;;9085:21:165;-1:-1:-1;;;;;9085:38:165;;;;:46;;9124:6;;9085:46;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9085:46:165;;;;;;;;;;;;:::i;:::-;:56;;;9064:15;9080:1;9064:18;;;;;;;;-1:-1:-1;;;;;9064:77:165;;;;:18;;;;;;;;;;:77;9178:16;;;9192:1;9178:16;;;;;;;;;;;;;;9064:18;9178:16;;;;;-1:-1:-1;9178:16:165;9151:43;;-1:-1:-1;;9209:6:165;:27;9205:104;;;9261:37;;-1:-1:-1;;;9261:37:165;;-1:-1:-1;;;;;9261:24:165;;;;;:37;;9286:11;;9261:37;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9252:46;;9205:104;9343:6;9319:18;9338:1;9319:21;;;;;;;;;;;;;;;;;:30;9389:27;:6;1499:1;9389:10;:27::i;:::-;9359:24;9384:1;9359:27;;;;;;;;;;;;;:57;;;;;9448:50;9427:206;;;;8392:1248;;;;;;;;;:::o;2554:434:355:-;2714:47;;-1:-1:-1;;;2714:47:355;;2694:17;;-1:-1:-1;;;;;2714:23:355;;;;;:47;;2746:4;;2753:7;;2714:47;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2694:67;;2787:13;2775:9;:25;2771:211;;;2820:13;;2816:89;;2853:37;-1:-1:-1;;;;;2853:25:355;;2879:7;2888:1;2853:25;:37::i;:::-;2918:53;-1:-1:-1;;;;;2918:25:355;;2944:7;-1:-1:-1;;2918:25:355;:53::i;:::-;2554:434;;;;:::o;9987:224:165:-;10093:15;10110:28;10172:11;10161:43;;;;;;;;;;;;:::i;:::-;10154:50;;;;9987:224;;;:::o;3136:155:442:-;3194:7;3226:1;3221;:6;;3213:49;;;;-1:-1:-1;;;3213:49:442;;;;;;;:::i;:::-;-1:-1:-1;3279:5:442;;;3136:155;;;;;:::o;1348:613:450:-;1713:10;;;1712:62;;-1:-1:-1;1729:39:450;;-1:-1:-1;;;1729:39:450;;-1:-1:-1;;;;;1729:15:450;;;;;:39;;1753:4;;1760:7;;1729:39;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:44;1712:62;1704:150;;;;-1:-1:-1;;;1704:150:450;;;;;;;:::i;:::-;1864:90;1884:5;1914:22;;;1938:7;1947:5;1891:62;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;1891:62:450;;;;;;;;;;;;;;-1:-1:-1;;;;;1891:62:450;-1:-1:-1;;;;;;1891:62:450;;;;;;;;;;1864:19;:90::i;:::-;1348:613;;;:::o;2967:751::-;3386:23;3412:69;3440:4;3412:69;;;;;;;;;;;;;;;;;3420:5;-1:-1:-1;;;;;3412:27:450;;;:69;;;;;:::i;:::-;3495:17;;3386:95;;-1:-1:-1;3495:21:450;3491:221;;3635:10;3624:30;;;;;;;;;;;;:::i;:::-;3616:85;;;;-1:-1:-1;;;3616:85:450;;;;;;;:::i;3581:193:451:-;3684:12;3715:52;3737:6;3745:4;3751:1;3754:12;3715:21;:52::i;:::-;3708:59;;3581:193;;;;;;:::o;4608:523::-;4735:12;4792:5;4767:21;:30;;4759:81;;;;-1:-1:-1;;;4759:81:451;;;;;;;:::i;:::-;4858:18;4869:6;4858:10;:18::i;:::-;4850:60;;;;-1:-1:-1;;;4850:60:451;;;;;;;:::i;:::-;4981:12;4995:23;5022:6;-1:-1:-1;;;;;5022:11:451;5042:5;5050:4;5022:33;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4980:75;;;;5072:52;5090:7;5099:10;5111:12;5072:17;:52::i;:::-;5065:59;;;;4608:523;;;;;;;:::o;726:413::-;1086:20;1124:8;;;726:413::o;7091:725::-;7206:12;7234:7;7230:580;;;-1:-1:-1;7264:10:451;7257:17;;7230:580;7375:17;;:21;7371:429;;7633:10;7627:17;7693:15;7680:10;7676:2;7672:19;7665:44;7582:145;7772:12;7765:20;;-1:-1:-1;;;7765:20:451;;;;;;;;:::i;5:130:-1:-;72:20;;97:33;72:20;97:33;:::i;142:134::-;220:13;;238:33;220:13;238:33;:::i;458:722::-;;586:3;579:4;571:6;567:17;563:27;553:2;;604:1;601;594:12;553:2;634:6;628:13;656:80;671:64;728:6;671:64;:::i;:::-;656:80;:::i;:::-;647:89;;753:5;778:6;771:5;764:21;808:4;800:6;796:17;786:27;;830:4;825:3;821:14;814:21;;883:6;930:3;922:4;914:6;910:17;905:3;901:27;898:36;895:2;;;947:1;944;937:12;895:2;972:1;957:217;982:6;979:1;976:13;957:217;;;1040:3;1062:48;1106:3;1094:10;1062:48;:::i;:::-;1050:61;;-1:-1;1134:4;1125:14;;;;1153;;;;;1004:1;997:9;957:217;;;961:14;546:634;;;;;;;:::o;1241:812::-;;1399:3;1392:4;1384:6;1380:17;1376:27;1366:2;;1417:1;1414;1407:12;1366:2;1447:6;1441:13;1469:110;1484:94;1571:6;1484:94;:::i;1469:110::-;1460:119;;1596:5;1621:6;1614:5;1607:21;1651:4;1643:6;1639:17;1629:27;;1673:4;1668:3;1664:14;1657:21;;1726:6;1773:3;1765:4;1757:6;1753:17;1748:3;1744:27;1741:36;1738:2;;;1790:1;1787;1780:12;1738:2;1815:1;1800:247;1825:6;1822:1;1819:13;1800:247;;;1883:3;1905:78;1979:3;1967:10;1905:78;:::i;:::-;1893:91;;-1:-1;2007:4;1998:14;;;;2035:4;2026:14;;;;;1847:1;1840:9;1800:247;;2079:722;;2207:3;2200:4;2192:6;2188:17;2184:27;2174:2;;2225:1;2222;2215:12;2174:2;2255:6;2249:13;2277:80;2292:64;2349:6;2292:64;:::i;2277:80::-;2268:89;;2374:5;2399:6;2392:5;2385:21;2429:4;2421:6;2417:17;2407:27;;2451:4;2446:3;2442:14;2435:21;;2504:6;2551:3;2543:4;2535:6;2531:17;2526:3;2522:27;2519:36;2516:2;;;2568:1;2565;2558:12;2516:2;2593:1;2578:217;2603:6;2600:1;2597:13;2578:217;;;2661:3;2683:48;2727:3;2715:10;2683:48;:::i;:::-;2671:61;;-1:-1;2755:4;2746:14;;;;2774;;;;;2625:1;2618:9;2578:217;;2809:128;2884:13;;2902:30;2884:13;2902:30;:::i;2944:128::-;3010:20;;3035:32;3010:20;3035:32;:::i;3093:336::-;;;3207:3;3200:4;3192:6;3188:17;3184:27;3174:2;;3225:1;3222;3215:12;3174:2;-1:-1;3245:20;;-1:-1;;;;;3274:30;;3271:2;;;3317:1;3314;3307:12;3271:2;3351:4;3343:6;3339:17;3327:29;;3402:3;3394:4;3386:6;3382:17;3372:8;3368:32;3365:41;3362:2;;;3419:1;3416;3409:12;3362:2;3167:262;;;;;:::o;3486:1345::-;;3616:4;3604:9;3599:3;3595:19;3591:30;3588:2;;;3634:1;3631;3624:12;3588:2;3652:20;3667:4;3652:20;:::i;:::-;3643:29;-1:-1;3723:1;3755:60;3811:3;3791:9;3755:60;:::i;:::-;3730:86;;-1:-1;3882:2;3915:60;3971:3;3947:22;;;3915:60;:::i;:::-;3908:4;3901:5;3897:16;3890:86;3837:150;4041:2;4074:58;4128:3;4119:6;4108:9;4104:22;4074:58;:::i;:::-;4067:4;4060:5;4056:16;4049:84;3997:147;4212:2;4245:59;4300:3;4291:6;4280:9;4276:22;4245:59;:::i;:::-;4238:4;4231:5;4227:16;4220:85;4154:162;4387:3;4421:59;4476:3;4467:6;4456:9;4452:22;4421:59;:::i;:::-;4414:4;4407:5;4403:16;4396:85;4326:166;4555:3;4589:59;4644:3;4635:6;4624:9;4620:22;4589:59;:::i;:::-;4582:4;4575:5;4571:16;4564:85;4502:158;4715:3;4749:60;4805:3;4796:6;4785:9;4781:22;4749:60;:::i;:::-;4742:4;4735:5;4731:16;4724:86;4670:151;3582:1249;;;;:::o;4889:3955::-;;5021:6;5009:9;5004:3;5000:19;4996:32;4993:2;;;5041:1;5038;5031:12;4993:2;5059:22;5074:6;5059:22;:::i;:::-;5050:31;-1:-1;5135:1;5167:60;5223:3;5203:9;5167:60;:::i;:::-;5142:86;;-1:-1;5298:2;5331:60;5387:3;5363:22;;;5331:60;:::i;:::-;5324:4;5317:5;5313:16;5306:86;5249:154;5458:2;5491:60;5547:3;5538:6;5527:9;5523:22;5491:60;:::i;:::-;5484:4;5477:5;5473:16;5466:86;5413:150;5627:2;5660:60;5716:3;5707:6;5696:9;5692:22;5660:60;:::i;:::-;5653:4;5646:5;5642:16;5635:86;5573:159;5795:3;5829:60;5885:3;5876:6;5865:9;5861:22;5829:60;:::i;:::-;5822:4;5815:5;5811:16;5804:86;5742:159;5957:3;5991:59;6046:3;6037:6;6026:9;6022:22;5991:59;:::i;:::-;5984:4;5977:5;5973:16;5966:85;5911:151;6141:3;6175:59;6230:3;6221:6;6210:9;6206:22;6175:59;:::i;:::-;6168:4;6161:5;6157:16;6150:85;6072:174;6326:3;6360:59;6415:3;6406:6;6395:9;6391:22;6360:59;:::i;:::-;6353:4;6346:5;6342:16;6335:85;6256:175;6506:3;6542:59;6597:3;6588:6;6577:9;6573:22;6542:59;:::i;:::-;6533:6;6526:5;6522:18;6515:87;6441:172;6669:3;6705:59;6760:3;6751:6;6740:9;6736:22;6705:59;:::i;:::-;6696:6;6689:5;6685:18;6678:87;6623:153;6855:3;6891:59;6946:3;6937:6;6926:9;6922:22;6891:59;:::i;:::-;6882:6;6875:5;6871:18;6864:87;6786:176;7042:3;7078:59;7133:3;7124:6;7113:9;7109:22;7078:59;:::i;:::-;7069:6;7062:5;7058:18;7051:87;6972:177;7224:3;7260:59;7315:3;7306:6;7295:9;7291:22;7260:59;:::i;:::-;7251:6;7244:5;7240:18;7233:87;7159:172;7398:3;7434:59;7489:3;7480:6;7469:9;7465:22;7434:59;:::i;:::-;7425:6;7418:5;7414:18;7407:87;7341:164;7569:3;7605:59;7660:3;7651:6;7640:9;7636:22;7605:59;:::i;:::-;7596:6;7589:5;7585:18;7578:87;7515:161;7745:3;7781:59;7836:3;7827:6;7816:9;7812:22;7781:59;:::i;:::-;7772:6;7765:5;7761:18;7754:87;7686:166;7921:3;7957:59;8012:3;8003:6;7992:9;7988:22;7957:59;:::i;:::-;7948:6;7941:5;7937:18;7930:87;7862:166;8091:3;8127:60;8183:3;8174:6;8163:9;8159:22;8127:60;:::i;:::-;8118:6;8111:5;8107:18;8100:88;8038:161;8258:3;8294:60;8350:3;8341:6;8330:9;8326:22;8294:60;:::i;:::-;8285:6;8278:5;8274:18;8267:88;8209:157;8426:3;8462:60;8518:3;8509:6;8498:9;8494:22;8462:60;:::i;:::-;8453:6;8446:5;8442:18;8435:88;8376:158;8613:3;8602:9;8598:19;8592:26;-1:-1;;;;;8630:6;8627:30;8624:2;;;8670:1;8667;8660:12;8624:2;8707:115;8818:3;8809:6;8798:9;8794:22;8707:115;:::i;:::-;8698:6;8691:5;8687:18;8680:143;8544:290;4987:3857;;;;:::o;8851:134::-;8929:13;;8947:33;8929:13;8947:33;:::i;8992:134::-;9070:13;;9088:33;9070:13;9088:33;:::i;9133:134::-;9211:13;;9229:33;9211:13;9229:33;:::i;9274:132::-;9351:13;;9369:32;9351:13;9369:32;:::i;9413:130::-;9489:13;;9507:31;9489:13;9507:31;:::i;9550:415::-;;;9690:2;9678:9;9669:7;9665:23;9661:32;9658:2;;;9706:1;9703;9696:12;9658:2;9741:1;9758:72;9822:7;9802:9;9758:72;:::i;:::-;9748:82;;9720:116;9867:2;9885:64;9941:7;9932:6;9921:9;9917:22;9885:64;:::i;:::-;9875:74;;9846:109;9652:313;;;;;:::o;9972:613::-;;;;;10128:2;10116:9;10107:7;10103:23;10099:32;10096:2;;;10144:1;10141;10134:12;10096:2;10179:1;10196:53;10241:7;10221:9;10196:53;:::i;:::-;10186:63;;10158:97;10286:2;10304:52;10348:7;10339:6;10328:9;10324:22;10304:52;:::i;:::-;10294:62;;10265:97;10421:2;10410:9;10406:18;10393:32;-1:-1;;;;;10437:6;10434:30;10431:2;;;10477:1;10474;10467:12;10431:2;10505:64;10561:7;10552:6;10541:9;10537:22;10505:64;:::i;:::-;10090:495;;;;-1:-1;10487:82;-1:-1;;;;10090:495::o;10592:739::-;;;;;;10768:2;10756:9;10747:7;10743:23;10739:32;10736:2;;;10784:1;10781;10774:12;10736:2;10819:1;10836:53;10881:7;10861:9;10836:53;:::i;:::-;10826:63;;10798:97;10954:2;10943:9;10939:18;10926:32;-1:-1;;;;;10970:6;10967:30;10964:2;;;11010:1;11007;11000:12;10964:2;11038:64;11094:7;11085:6;11074:9;11070:22;11038:64;:::i;:::-;11020:82;;;;10905:203;11167:2;11156:9;11152:18;11139:32;-1:-1;;;;;11183:6;11180:30;11177:2;;;11223:1;11220;11213:12;11177:2;11251:64;11307:7;11298:6;11287:9;11283:22;11251:64;:::i;:::-;11233:82;;;;11118:203;10730:601;;;;;;;;:::o;11338:392::-;;11478:2;11466:9;11457:7;11453:23;11449:32;11446:2;;;11494:1;11491;11484:12;11446:2;11529:24;;-1:-1;;;;;11562:30;;11559:2;;;11605:1;11602;11595:12;11559:2;11625:89;11706:7;11697:6;11686:9;11682:22;11625:89;:::i;11737:922::-;;;;11961:2;11949:9;11940:7;11936:23;11932:32;11929:2;;;11977:1;11974;11967:12;11929:2;12012:24;;-1:-1;;;;;12045:30;;12042:2;;;12088:1;12085;12078:12;12042:2;12108:89;12189:7;12180:6;12169:9;12165:22;12108:89;:::i;:::-;12098:99;;11991:212;12255:2;12244:9;12240:18;12234:25;-1:-1;;;;;12271:6;12268:30;12265:2;;;12311:1;12308;12301:12;12265:2;12331:89;12412:7;12403:6;12392:9;12388:22;12331:89;:::i;:::-;12321:99;;12213:213;12478:2;12467:9;12463:18;12457:25;-1:-1;;;;;12494:6;12491:30;12488:2;;;12534:1;12531;12524:12;12488:2;12554:89;12635:7;12626:6;12615:9;12611:22;12554:89;:::i;:::-;12544:99;;12436:213;11923:736;;;;;:::o;12666:257::-;;12778:2;12766:9;12757:7;12753:23;12749:32;12746:2;;;12794:1;12791;12784:12;12746:2;12829:1;12846:61;12899:7;12879:9;12846:61;:::i;12930:406::-;;13077:2;13065:9;13056:7;13052:23;13048:32;13045:2;;;13093:1;13090;13083:12;13045:2;13128:24;;-1:-1;;;;;13161:30;;13158:2;;;13204:1;13201;13194:12;13158:2;13224:96;13312:7;13303:6;13292:9;13288:22;13224:96;:::i;13343:263::-;;13458:2;13446:9;13437:7;13433:23;13429:32;13426:2;;;13474:1;13471;13464:12;13426:2;13509:1;13526:64;13582:7;13562:9;13526:64;:::i;13614:173::-;;13701:46;13743:3;13735:6;13701:46;:::i;:::-;-1:-1;;13776:4;13767:14;;13694:93::o;13796:173::-;;13883:46;13925:3;13917:6;13883:46;:::i;13977:103::-;14050:24;14068:5;14050:24;:::i;:::-;14045:3;14038:37;14032:48;;:::o;14238:690::-;;14383:54;14431:5;14383:54;:::i;:::-;14450:86;14529:6;14524:3;14450:86;:::i;:::-;14443:93;;14557:56;14607:5;14557:56;:::i;:::-;14633:7;14661:1;14646:260;14671:6;14668:1;14665:13;14646:260;;;14738:6;14732:13;14759:63;14818:3;14803:13;14759:63;:::i;:::-;14752:70;;14839:60;14892:6;14839:60;:::i;:::-;14829:70;-1:-1;;14693:1;14686:9;14646:260;;;-1:-1;14919:3;;14362:566;-1:-1;;;;;14362:566::o;14967:690::-;;15112:54;15160:5;15112:54;:::i;:::-;15179:86;15258:6;15253:3;15179:86;:::i;:::-;15172:93;;15286:56;15336:5;15286:56;:::i;:::-;15362:7;15390:1;15375:260;15400:6;15397:1;15394:13;15375:260;;;15467:6;15461:13;15488:63;15547:3;15532:13;15488:63;:::i;:::-;15481:70;;15568:60;15621:6;15568:60;:::i;:::-;15558:70;-1:-1;;15422:1;15415:9;15375:260;;15665:104;15742:21;15757:5;15742:21;:::i;15776:110::-;15857:23;15874:5;15857:23;:::i;15893:356::-;;16021:38;16053:5;16021:38;:::i;:::-;16071:88;16152:6;16147:3;16071:88;:::i;:::-;16064:95;;16164:52;16209:6;16204:3;16197:4;16190:5;16186:16;16164:52;:::i;:::-;16228:16;;;;;16001:248;-1:-1;;16001:248::o;16256:176::-;16364:62;16420:5;16364:62;:::i;16439:347::-;;16551:39;16584:5;16551:39;:::i;:::-;16602:71;16666:6;16661:3;16602:71;:::i;:::-;16595:78;;16678:52;16723:6;16718:3;16711:4;16704:5;16700:16;16678:52;:::i;:::-;16751:29;16773:6;16751:29;:::i;:::-;16742:39;;;;16531:255;-1:-1;;;16531:255::o;16794:330::-;;16954:67;17018:2;17013:3;16954:67;:::i;:::-;17054:32;17034:53;;17115:2;17106:12;;16940:184;-1:-1;;16940:184::o;17133:375::-;;17293:67;17357:2;17352:3;17293:67;:::i;:::-;17393:34;17373:55;;-1:-1;;;17457:2;17448:12;;17441:30;17499:2;17490:12;;17279:229;-1:-1;;17279:229::o;17517:329::-;;17677:67;17741:2;17736:3;17677:67;:::i;:::-;17777:31;17757:52;;17837:2;17828:12;;17663:183;-1:-1;;17663:183::o;17855:379::-;;18015:67;18079:2;18074:3;18015:67;:::i;:::-;18115:34;18095:55;;-1:-1;;;18179:2;18170:12;;18163:34;18225:2;18216:12;;18001:233;-1:-1;;18001:233::o;18243:391::-;;18403:67;18467:2;18462:3;18403:67;:::i;:::-;18503:34;18483:55;;-1:-1;;;18567:2;18558:12;;18551:46;18625:2;18616:12;;18389:245;-1:-1;;18389:245::o;18643:376::-;;18803:67;18867:2;18862:3;18803:67;:::i;:::-;18903:34;18883:55;;-1:-1;;;18967:2;18958:12;;18951:31;19010:2;19001:12;;18789:230;-1:-1;;18789:230::o;19027:103::-;19100:24;19118:5;19100:24;:::i;19257:271::-;;19410:93;19499:3;19490:6;19410:93;:::i;19535:222::-;19662:2;19647:18;;19676:71;19651:9;19720:6;19676:71;:::i;19764:333::-;19919:2;19904:18;;19933:71;19908:9;19977:6;19933:71;:::i;:::-;20015:72;20083:2;20072:9;20068:18;20059:6;20015:72;:::i;20104:432::-;20281:2;20266:18;;20295:71;20270:9;20339:6;20295:71;:::i;:::-;20377:72;20445:2;20434:9;20430:18;20421:6;20377:72;:::i;:::-;20460:66;20522:2;20511:9;20507:18;20498:6;20460:66;:::i;20543:444::-;20726:2;20711:18;;20740:71;20715:9;20784:6;20740:71;:::i;:::-;20822:72;20890:2;20879:9;20875:18;20866:6;20822:72;:::i;:::-;20905;20973:2;20962:9;20958:18;20949:6;20905:72;:::i;20994:333::-;21149:2;21134:18;;21163:71;21138:9;21207:6;21163:71;:::i;:::-;21245:72;21313:2;21302:9;21298:18;21289:6;21245:72;:::i;21334:370::-;21511:2;21525:47;;;21496:18;;21586:108;21496:18;21680:6;21586:108;:::i;21711:218::-;21836:2;21821:18;;21850:69;21825:9;21892:6;21850:69;:::i;21936:1310::-;22400:3;22385:19;;22415:96;22389:9;22484:6;22415:96;:::i;:::-;22559:9;22553:4;22549:20;22544:2;22533:9;22529:18;22522:48;22584:108;22687:4;22678:6;22584:108;:::i;:::-;22576:116;;22740:9;22734:4;22730:20;22725:2;22714:9;22710:18;22703:48;22765:108;22868:4;22859:6;22765:108;:::i;:::-;22757:116;;22921:9;22915:4;22911:20;22906:2;22895:9;22891:18;22884:48;22946:108;23049:4;23040:6;22946:108;:::i;:::-;22938:116;;23103:9;23097:4;23093:20;23087:3;23076:9;23072:19;23065:49;23128:108;23231:4;23222:6;23128:108;:::i;:::-;23120:116;22371:875;-1:-1;;;;;;;22371:875::o;23253:310::-;23400:2;23414:47;;;23385:18;;23475:78;23385:18;23539:6;23475:78;:::i;23570:416::-;23770:2;23784:47;;;23755:18;;23845:131;23755:18;23845:131;:::i;23993:416::-;24193:2;24207:47;;;24178:18;;24268:131;24178:18;24268:131;:::i;24416:416::-;24616:2;24630:47;;;24601:18;;24691:131;24601:18;24691:131;:::i;24839:416::-;25039:2;25053:47;;;25024:18;;25114:131;25024:18;25114:131;:::i;25262:416::-;25462:2;25476:47;;;25447:18;;25537:131;25447:18;25537:131;:::i;25685:416::-;25885:2;25899:47;;;25870:18;;25960:131;25870:18;25960:131;:::i;26108:333::-;26263:2;26248:18;;26277:71;26252:9;26321:6;26277:71;:::i;26448:256::-;26510:2;26504:9;26536:17;;;-1:-1;;;;;26596:34;;26632:22;;;26593:62;26590:2;;;26668:1;26665;26658:12;26590:2;26684;26677:22;26488:216;;-1:-1;26488:216::o;26711:304::-;;-1:-1;;;;;26862:6;26859:30;26856:2;;;26902:1;26899;26892:12;26856:2;-1:-1;26937:4;26925:17;;;26990:15;;26793:222::o;27674:151::-;27798:4;27789:14;;27746:79::o;27990:137::-;28093:12;;28064:63::o;28766:178::-;28884:19;;;28933:4;28924:14;;28877:67::o;29464:91::-;;29526:24;29544:5;29526:24;:::i;29668:85::-;29734:13;29727:21;;29710:43::o;29760:144::-;-1:-1;;;;;;29821:78;;29804:100::o;29911:160::-;30000:5;30006:60;30000:5;30006:60;:::i;30078:107::-;30151:28;30140:40;;30123:62::o;30192:113::-;30265:34;30254:46;;30237:68::o;30312:121::-;-1:-1;;;;;30374:54;;30357:76::o;30440:72::-;30502:5;30485:27::o;30519:96::-;-1:-1;;;;;30580:30;;30563:52::o;30622:81::-;30693:4;30682:16;;30665:38::o;30710:160::-;;30814:51;30859:5;30814:51;:::i;30878:268::-;30943:1;30950:101;30964:6;30961:1;30958:13;30950:101;;;31031:11;;;31025:18;31012:11;;;31005:39;30986:2;30979:10;30950:101;;;31066:6;31063:1;31060:13;31057:2;;;-1:-1;;31131:1;31113:16;;31106:27;30927:219::o;31154:97::-;31242:2;31222:14;-1:-1;;31218:28;;31202:49::o;31259:118::-;31355:1;31348:5;31345:12;31335:2;;31361:9;31384:117;31453:24;31471:5;31453:24;:::i;:::-;31446:5;31443:35;31433:2;;31492:1;31489;31482:12;31648:111;31714:21;31729:5;31714:21;:::i;31766:115::-;31834:23;31851:5;31834:23;:::i;31888:117::-;31957:24;31975:5;31957:24;:::i;32012:117::-;32081:24;32099:5;32081:24;:::i;32136:117::-;32205:24;32223:5;32205:24;:::i;32260:115::-;32328:23;32345:5;32328:23;:::i;32382:113::-;32449:22;32465:5;32449:22;:::i", "linkReferences": {}, "immutableReferences": { "2841": [ { "start": 1742, "length": 32 } ], "2843": [ { "start": 1787, "length": 32 } ], "2845": [ { "start": 1998, "length": 32 } ], "42603": [ { "start": 2604, "length": 32 }, { "start": 3225, "length": 32 } ], "49791": [ { "start": 1611, "length": 32 } ], "50366": [ { "start": 2276, "length": 32 } ] } }, "methodIdentifiers": { "CLAIM_REWARDS_SELECTOR()": "40da225d", "LEND_AND_STAKE_SELECTOR()": "131461c0", "LEND_SELECTOR()": "257cb1a3", "REDEEM_SELECTOR()": "f7d882b5", "STAKE_SELECTOR()": "3ffc1591", "TAKE_MULTIPLE_ORDERS_SELECTOR()": "c32990a2", "TAKE_ORDER_SELECTOR()": "863e5ad0", "UNSTAKE_AND_REDEEM_SELECTOR()": "080456c1", "UNSTAKE_SELECTOR()": "b23228cf", "claimRewards(address,bytes,bytes)": "b9dfbacc", "getIntegrationManager()": "e7c45690", "lend(address,bytes,bytes)": "099f7515", "parseAssetsForAction(address,bytes4,bytes)": "c54efee5", "redeem(address,bytes,bytes)": "c29fa9dd" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_integrationManager\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_compoundV3Configurator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_compoundV3Rewards\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_addressListRegistry\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_cTokenListId\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"CLAIM_REWARDS_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LEND_AND_STAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LEND_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"REDEEM_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"STAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TAKE_MULTIPLE_ORDERS_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TAKE_ORDER_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UNSTAKE_AND_REDEEM_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UNSTAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"claimRewards\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getIntegrationManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"integrationManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"_assetData\",\"type\":\"bytes\"}],\"name\":\"lend\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"_selector\",\"type\":\"bytes4\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"}],\"name\":\"parseAssetsForAction\",\"outputs\":[{\"internalType\":\"enum IIntegrationManager.SpendAssetsHandleType\",\"name\":\"spendAssetsHandleType_\",\"type\":\"uint8\"},{\"internalType\":\"address[]\",\"name\":\"spendAssets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"spendAssetAmounts_\",\"type\":\"uint256[]\"},{\"internalType\":\"address[]\",\"name\":\"incomingAssets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"minIncomingAssetAmounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"_assetData\",\"type\":\"bytes\"}],\"name\":\"redeem\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"When lending and redeeming, a small `ROUNDING_BUFFER` is subtracted from the min incoming asset amount. This is a workaround for problematic quirks in `cTokenV3` balance rounding (due to rebasing logic), which would otherwise lead to tx failures during IntegrationManager validation of incoming asset amounts. Due to this workaround, a `cTokenV3` value less than `ROUNDING_BUFFER` is not usable in this adapter, which is fine because those values would not make sense (gas-wise) to lend or redeem.\",\"kind\":\"dev\",\"methods\":{\"claimRewards(address,bytes,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}},\"getIntegrationManager()\":{\"returns\":{\"integrationManager_\":\"The `INTEGRATION_MANAGER` variable value\"}},\"lend(address,bytes,bytes)\":{\"params\":{\"_assetData\":\"Parsed spend assets and incoming assets data for this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}},\"parseAssetsForAction(address,bytes4,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_selector\":\"The function selector for the callOnIntegration\",\"_vaultProxy\":\"The VaultProxy of the fund\"},\"returns\":{\"incomingAssets_\":\"The assets to receive in the call\",\"minIncomingAssetAmounts_\":\"The min asset amounts to receive in the call\",\"spendAssetAmounts_\":\"The max asset amounts to spend in the call\",\"spendAssetsHandleType_\":\"A type that dictates how to handle granting the adapter access to spend assets (`None` by default)\",\"spendAssets_\":\"The assets to spend in the call\"}},\"redeem(address,bytes,bytes)\":{\"params\":{\"_assetData\":\"Parsed spend assets and incoming assets data for this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}}},\"title\":\"CompoundV3Adapter Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"claimRewards(address,bytes,bytes)\":{\"notice\":\"Claims rewards from Compound's V3 Rewards\"},\"getIntegrationManager()\":{\"notice\":\"Gets the `INTEGRATION_MANAGER` variable\"},\"lend(address,bytes,bytes)\":{\"notice\":\"Lends an amount of a token to Compound\"},\"parseAssetsForAction(address,bytes4,bytes)\":{\"notice\":\"Parses the expected assets in a particular action\"},\"redeem(address,bytes,bytes)\":{\"notice\":\"Redeems an amount of cTokens from Compound\"}},\"notice\":\"Adapter for Compound v3 Lending \",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/integration-manager/integrations/adapters/CompoundV3Adapter.sol\":\"CompoundV3Adapter\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/address-list-registry/AddressListRegistry.sol\":{\"keccak256\":\"0xf00a9e376e3ec2a223f463f71c15ee3af3642dd028bc3762440e316b760c8048\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://01986c9327b5dfbfac21316dced6d68727931ddde1278ed1342d878004f984b9\",\"dweb:/ipfs/QmdXkFaUU43JqMTYEREbWa129rohdqN7GXy7mVRpjCfSLD\"]},\"contracts/persistent/address-list-registry/address-list-owners/utils/AddOnlyAddressListOwnerBase.sol\":{\"keccak256\":\"0xd3b355f8146b7df79e4537b021379a237d6620c0bdec25e9d96f2b741864909a\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://fcddc5b1dcbe7588943492a5d62ede92f23c46db0bf523267fda0ba9e8acafb5\",\"dweb:/ipfs/QmRssFbEBCRwELD7pvnU7GWoZzxfZocys4sFW33VL71jpt\"]},\"contracts/persistent/address-list-registry/address-list-owners/utils/AddOnlyAddressListOwnerConsumerMixin.sol\":{\"keccak256\":\"0x7eb3ee3ecc65e36bc8b6201e99d42d37bb932e85a5b24afb141a23a469cf8b6e\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://42bb22f3d4b3f2fed39b313cbb81c929d204f07f5ae49f7dc464b44d861d51e5\",\"dweb:/ipfs/QmaMgdLB4zGdZvR5ohexnKoAHdjX7xoM5h8J2ExffyFZG6\"]},\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/release/extensions/integration-manager/IIntegrationManager.sol\":{\"keccak256\":\"0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23\",\"dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk\"]},\"contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol\":{\"keccak256\":\"0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336\",\"dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS\"]},\"contracts/release/extensions/integration-manager/integrations/adapters/CompoundV3Adapter.sol\":{\"keccak256\":\"0x05eacf83fbe5ea42b067462e05ee25785d8ccc3e394f166892a13cde5ab0a708\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9fde76a34ea3df605e68deeaea67ae0c8b245471141ec73891beac67029d074d\",\"dweb:/ipfs/QmYjbHSmKJ7SejLdNeQHfCgUvrgisZdis6LPK1CfwHmAcu\"]},\"contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol\":{\"keccak256\":\"0x067e49bf0d3c1655ab41a413c65ccf61d4e593308132e1ffc484a0fadfbbaf26\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://387f425017e18e89cc1893521101fa99df595314847d0b3d9a1162369f714fcf\",\"dweb:/ipfs/Qmco3jCvuWAyfCpBYpGzHrQjiFJG63w1RJKcakoTEbxRQm\"]},\"contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol\":{\"keccak256\":\"0xfd34c7ca8231c6935e25dede32ca2b3121738e624d0fc896f7b895a731edcf88\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d492c061963d36d07718446db191d4c5a340c0d847f6cd209f027bd99f7cb176\",\"dweb:/ipfs/QmfCvRZt56ftDdrEh6LepHXFJ4fVtcfpQGvEyY8k4zxG1A\"]},\"contracts/release/extensions/integration-manager/integrations/utils/actions/CompoundV3ActionsMixin.sol\":{\"keccak256\":\"0x6c6aaa8ea03f78e48ee27dd252178fc5fccd875b004aa9394a610f2abb0d01fe\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://903918650d194e59566658aca8de5ba87665fd71dbe5b0d1ba7e30701d8439b7\",\"dweb:/ipfs/QmWsRmAvya3F3e3cjMEaDK13i6amEAx5e6d8tVQPTGKGnU\"]},\"contracts/release/interfaces/ICompoundV3Comet.sol\":{\"keccak256\":\"0xf0465f5f896f3ff69ec19e8a3946887fcb672fd5874908918277923a7cf14131\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2870a61fb53f168265bf69ef35cb9910a9025d4700447413f465b2b0fe33cdb1\",\"dweb:/ipfs/QmeETY2T9vtqo26m5PWQooD94hBuHVt1aQjXQc4i1xqZtw\"]},\"contracts/release/interfaces/ICompoundV3CometRewards.sol\":{\"keccak256\":\"0x0169401972f768f7f88e8e23615c9867e8f0b3413a628fbc15fcc4d862d506e4\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3a07ef232526f7f4ed1b2e50e87293bd20940c23139b765f49c65b8796f2b785\",\"dweb:/ipfs/QmbnGkJPKN9UsDfUt6zBkQgKxMwFxUshPtfqKi1cmvaj6d\"]},\"contracts/release/interfaces/ICompoundV3Configurator.sol\":{\"keccak256\":\"0x62869ddb50774e1c9e1c7e848886837df5013fbe2291a91a2ffee6280e0be0d2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a0dd519eef7bf6ae0d509fae50f16e587f231d32a03740ba6a60b2ca69addb37\",\"dweb:/ipfs/QmTRY3M7tdwKudAMFXo9yGUhvgdQV8ZJFtCWE5UHdmzuEx\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_integrationManager", "type": "address" }, { "internalType": "address", "name": "_compoundV3Configurator", "type": "address" }, { "internalType": "address", "name": "_compoundV3Rewards", "type": "address" }, { "internalType": "address", "name": "_addressListRegistry", "type": "address" }, { "internalType": "uint256", "name": "_cTokenListId", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "CLAIM_REWARDS_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "LEND_AND_STAKE_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "LEND_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "REDEEM_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "STAKE_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "TAKE_MULTIPLE_ORDERS_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "TAKE_ORDER_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "UNSTAKE_AND_REDEEM_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "UNSTAKE_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "bytes", "name": "_actionData", "type": "bytes" }, { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "claimRewards" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getIntegrationManager", "outputs": [ { "internalType": "address", "name": "integrationManager_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "bytes", "name": "", "type": "bytes" }, { "internalType": "bytes", "name": "_assetData", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "lend" }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "bytes4", "name": "_selector", "type": "bytes4" }, { "internalType": "bytes", "name": "_actionData", "type": "bytes" } ], "stateMutability": "view", "type": "function", "name": "parseAssetsForAction", "outputs": [ { "internalType": "enum IIntegrationManager.SpendAssetsHandleType", "name": "spendAssetsHandleType_", "type": "uint8" }, { "internalType": "address[]", "name": "spendAssets_", "type": "address[]" }, { "internalType": "uint256[]", "name": "spendAssetAmounts_", "type": "uint256[]" }, { "internalType": "address[]", "name": "incomingAssets_", "type": "address[]" }, { "internalType": "uint256[]", "name": "minIncomingAssetAmounts_", "type": "uint256[]" } ] }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "bytes", "name": "", "type": "bytes" }, { "internalType": "bytes", "name": "_assetData", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "redeem" } ], "devdoc": { "kind": "dev", "methods": { "claimRewards(address,bytes,bytes)": { "params": { "_actionData": "Data specific to this action", "_vaultProxy": "The VaultProxy of the calling fund" } }, "getIntegrationManager()": { "returns": { "integrationManager_": "The `INTEGRATION_MANAGER` variable value" } }, "lend(address,bytes,bytes)": { "params": { "_assetData": "Parsed spend assets and incoming assets data for this action", "_vaultProxy": "The VaultProxy of the calling fund" } }, "parseAssetsForAction(address,bytes4,bytes)": { "params": { "_actionData": "Data specific to this action", "_selector": "The function selector for the callOnIntegration", "_vaultProxy": "The VaultProxy of the fund" }, "returns": { "incomingAssets_": "The assets to receive in the call", "minIncomingAssetAmounts_": "The min asset amounts to receive in the call", "spendAssetAmounts_": "The max asset amounts to spend in the call", "spendAssetsHandleType_": "A type that dictates how to handle granting the adapter access to spend assets (`None` by default)", "spendAssets_": "The assets to spend in the call" } }, "redeem(address,bytes,bytes)": { "params": { "_assetData": "Parsed spend assets and incoming assets data for this action", "_vaultProxy": "The VaultProxy of the calling fund" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "claimRewards(address,bytes,bytes)": { "notice": "Claims rewards from Compound's V3 Rewards" }, "getIntegrationManager()": { "notice": "Gets the `INTEGRATION_MANAGER` variable" }, "lend(address,bytes,bytes)": { "notice": "Lends an amount of a token to Compound" }, "parseAssetsForAction(address,bytes4,bytes)": { "notice": "Parses the expected assets in a particular action" }, "redeem(address,bytes,bytes)": { "notice": "Redeems an amount of cTokens from Compound" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/integration-manager/integrations/adapters/CompoundV3Adapter.sol": "CompoundV3Adapter" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/address-list-registry/AddressListRegistry.sol": { "keccak256": "0xf00a9e376e3ec2a223f463f71c15ee3af3642dd028bc3762440e316b760c8048", "urls": [ "bzz-raw://01986c9327b5dfbfac21316dced6d68727931ddde1278ed1342d878004f984b9", "dweb:/ipfs/QmdXkFaUU43JqMTYEREbWa129rohdqN7GXy7mVRpjCfSLD" ], "license": "GPL-3.0" }, "contracts/persistent/address-list-registry/address-list-owners/utils/AddOnlyAddressListOwnerBase.sol": { "keccak256": "0xd3b355f8146b7df79e4537b021379a237d6620c0bdec25e9d96f2b741864909a", "urls": [ "bzz-raw://fcddc5b1dcbe7588943492a5d62ede92f23c46db0bf523267fda0ba9e8acafb5", "dweb:/ipfs/QmRssFbEBCRwELD7pvnU7GWoZzxfZocys4sFW33VL71jpt" ], "license": "GPL-3.0" }, "contracts/persistent/address-list-registry/address-list-owners/utils/AddOnlyAddressListOwnerConsumerMixin.sol": { "keccak256": "0x7eb3ee3ecc65e36bc8b6201e99d42d37bb932e85a5b24afb141a23a469cf8b6e", "urls": [ "bzz-raw://42bb22f3d4b3f2fed39b313cbb81c929d204f07f5ae49f7dc464b44d861d51e5", "dweb:/ipfs/QmaMgdLB4zGdZvR5ohexnKoAHdjX7xoM5h8J2ExffyFZG6" ], "license": "GPL-3.0" }, "contracts/persistent/dispatcher/IDispatcher.sol": { "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", "urls": [ "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/IIntegrationManager.sol": { "keccak256": "0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef", "urls": [ "bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23", "dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol": { "keccak256": "0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1", "urls": [ "bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336", "dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/adapters/CompoundV3Adapter.sol": { "keccak256": "0x05eacf83fbe5ea42b067462e05ee25785d8ccc3e394f166892a13cde5ab0a708", "urls": [ "bzz-raw://9fde76a34ea3df605e68deeaea67ae0c8b245471141ec73891beac67029d074d", "dweb:/ipfs/QmYjbHSmKJ7SejLdNeQHfCgUvrgisZdis6LPK1CfwHmAcu" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol": { "keccak256": "0x067e49bf0d3c1655ab41a413c65ccf61d4e593308132e1ffc484a0fadfbbaf26", "urls": [ "bzz-raw://387f425017e18e89cc1893521101fa99df595314847d0b3d9a1162369f714fcf", "dweb:/ipfs/Qmco3jCvuWAyfCpBYpGzHrQjiFJG63w1RJKcakoTEbxRQm" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol": { "keccak256": "0xfd34c7ca8231c6935e25dede32ca2b3121738e624d0fc896f7b895a731edcf88", "urls": [ "bzz-raw://d492c061963d36d07718446db191d4c5a340c0d847f6cd209f027bd99f7cb176", "dweb:/ipfs/QmfCvRZt56ftDdrEh6LepHXFJ4fVtcfpQGvEyY8k4zxG1A" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/utils/actions/CompoundV3ActionsMixin.sol": { "keccak256": "0x6c6aaa8ea03f78e48ee27dd252178fc5fccd875b004aa9394a610f2abb0d01fe", "urls": [ "bzz-raw://903918650d194e59566658aca8de5ba87665fd71dbe5b0d1ba7e30701d8439b7", "dweb:/ipfs/QmWsRmAvya3F3e3cjMEaDK13i6amEAx5e6d8tVQPTGKGnU" ], "license": "GPL-3.0" }, "contracts/release/interfaces/ICompoundV3Comet.sol": { "keccak256": "0xf0465f5f896f3ff69ec19e8a3946887fcb672fd5874908918277923a7cf14131", "urls": [ "bzz-raw://2870a61fb53f168265bf69ef35cb9910a9025d4700447413f465b2b0fe33cdb1", "dweb:/ipfs/QmeETY2T9vtqo26m5PWQooD94hBuHVt1aQjXQc4i1xqZtw" ], "license": "GPL-3.0" }, "contracts/release/interfaces/ICompoundV3CometRewards.sol": { "keccak256": "0x0169401972f768f7f88e8e23615c9867e8f0b3413a628fbc15fcc4d862d506e4", "urls": [ "bzz-raw://3a07ef232526f7f4ed1b2e50e87293bd20940c23139b765f49c65b8796f2b785", "dweb:/ipfs/QmbnGkJPKN9UsDfUt6zBkQgKxMwFxUshPtfqKi1cmvaj6d" ], "license": "GPL-3.0" }, "contracts/release/interfaces/ICompoundV3Configurator.sol": { "keccak256": "0x62869ddb50774e1c9e1c7e848886837df5013fbe2291a91a2ffee6280e0be0d2", "urls": [ "bzz-raw://a0dd519eef7bf6ae0d509fae50f16e587f231d32a03740ba6a60b2ca69addb37", "dweb:/ipfs/QmTRY3M7tdwKudAMFXo9yGUhvgdQV8ZJFtCWE5UHdmzuEx" ], "license": "GPL-3.0" }, "contracts/release/utils/AssetHelpers.sol": { "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", "urls": [ "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", "urls": [ "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Address.sol": { "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", "urls": [ "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" } }, "version": 1 }, "id": 165 } diff --git a/eth_defi/abi/enzyme/CompoundV3CTokenListOwner.json b/eth_defi/abi/enzyme/CompoundV3CTokenListOwner.json index caf06bcd..c4a16314 100644 --- a/eth_defi/abi/enzyme/CompoundV3CTokenListOwner.json +++ b/eth_defi/abi/enzyme/CompoundV3CTokenListOwner.json @@ -1,212 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_addressListRegistry", - "type": "address" - }, - { - "internalType": "string", - "name": "_listDescription", - "type": "string" - }, - { - "internalType": "address", - "name": "_compoundV3Configurator", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_items", - "type": "address[]" - } - ], - "name": "addValidatedItemsToList", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x60e06040523480156200001157600080fd5b5060405162000efe38038062000efe83398101604081905262000034916200028f565b6001600160601b0319606084901b16608052828260006001600160a01b03831663be68406e3060018460405190808252806020026020018201604052801562000087578160200160208202803683370190505b506040518463ffffffff1660e01b8152600401620000a893929190620004fd565b602060405180830381600087803b158015620000c357600080fd5b505af1158015620000d8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000fe9190620002fb565b60a0819052604080516001808252818301909252919250606091906020808301908036833750506040805160018082528183019092529293506060929150602082015b60608152602001906001900390816200014157905050905082826000815181106200016857fe5b60200260200101818152505083816000815181106200018357fe5b6020908102919091010152604051635a137ca360e11b81526001600160a01b0386169063b426f94690620001be908590859060040162000539565b600060405180830381600087803b158015620001d957600080fd5b505af1158015620001ee573d6000803e3d6000fd5b505050505060609490941b6001600160601b03191660c052506200066b945050505050565b8051620002208162000649565b92915050565b600082601f8301126200023857600080fd5b81516200024f620002498262000589565b62000562565b915080825260208301602083018583830111156200026c57600080fd5b62000279838284620005fe565b50505092915050565b8051620002208162000660565b600080600060608486031215620002a557600080fd5b6000620002b3868662000213565b93505060208401516001600160401b03811115620002d057600080fd5b620002de8682870162000226565b9250506040620002f18682870162000213565b9150509250925092565b6000602082840312156200030e57600080fd5b60006200031c848462000282565b949350505050565b60006200033283836200035d565b505060200190565b6000620003488383620004b2565b9392505050565b6000620003328383620004f2565b6200036881620005c4565b82525050565b60006200037b82620005b7565b620003878185620005bb565b93506200039483620005b1565b8060005b83811015620003c8578151620003af888262000324565b9750620003bc83620005b1565b92505060010162000398565b509495945050505050565b6000620003e082620005b7565b620003ec8185620005bb565b9350836020820285016200040085620005b1565b8060005b858110156200044057848403895281516200042085826200033a565b94506200042d83620005b1565b60209a909a019992505060010162000404565b5091979650505050505050565b60006200045a82620005b7565b620004668185620005bb565b93506200047383620005b1565b8060005b83811015620003c85781516200048e88826200034f565b97506200049b83620005b1565b92505060010162000477565b6200036881620005f1565b6000620004bf82620005b7565b620004cb8185620005bb565b9350620004dd818560208601620005fe565b620004e88162000631565b9093019392505050565b6200036881620005ee565b606081016200050d82866200035d565b6200051c6020830185620004a7565b81810360408301526200053081846200036e565b95945050505050565b604080825281016200054c81856200044d565b905081810360208301526200031c8184620003d3565b6040518181016001600160401b03811182821017156200058157600080fd5b604052919050565b60006001600160401b03821115620005a057600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b60006200022082620005e2565b80620005dd816200063b565b919050565b6001600160a01b031690565b90565b60006200022082620005d1565b60005b838110156200061b57818101518382015260200162000601565b838111156200062b576000848401525b50505050565b601f01601f191690565b600481106200064657fe5b50565b6200065481620005c4565b81146200064657600080fd5b6200065481620005ee565b60805160601c60a05160c05160601c6108626200069c600039806101045250806093525080606652506108626000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063a8f0bc4114610030575b600080fd5b61004361003e3660046105dd565b610045565b005b61004f82826100f5565b6040516346d1eb9b60e11b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690638da3d736906100bf907f0000000000000000000000000000000000000000000000000000000000000000908690869060040161072f565b600060405180830381600087803b1580156100d957600080fd5b505af11580156100ed573d6000803e3d6000fd5b505050505050565b60005b818110156101fe5760007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c44b11f785858581811061013d57fe5b905060200201602081019061015291906105b7565b6040518263ffffffff1660e01b815260040161016e9190610711565b60006040518083038186803b15801561018657600080fd5b505afa15801561019a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526101c2919081019061061f565b604001516001600160a01b031614156101f65760405162461bcd60e51b81526004016101ed9061071f565b60405180910390fd5b6001016100f8565b505050565b803561020e8161081a565b92915050565b805161020e8161081a565b60008083601f84011261023157600080fd5b50813567ffffffffffffffff81111561024957600080fd5b60208301915083602082028301111561026157600080fd5b9250929050565b600082601f83011261027957600080fd5b815161028c61028782610780565b610759565b915081818352602084019350602081019050838560e08402820111156102b157600080fd5b60005b838110156102df57816102c788826102e9565b84525060209092019160e091909101906001016102b4565b5050505092915050565b600060e082840312156102fb57600080fd5b61030560e0610759565b905060006103138484610214565b825250602061032484848301610214565b6020830152506040610338848285016105ac565b604083015250606061034c848285016105a1565b6060830152506080610360848285016105a1565b60808301525060a0610374848285016105a1565b60a08301525060c061038884828501610596565b60c08301525092915050565b60006102a082840312156103a757600080fd5b6103b26102a0610759565b905060006103c08484610214565b82525060206103d184848301610214565b60208301525060406103e584828501610214565b60408301525060606103f984828501610214565b606083015250608061040d84828501610214565b60808301525060a0610421848285016105a1565b60a08301525060c0610435848285016105a1565b60c08301525060e0610449848285016105a1565b60e08301525061010061045e848285016105a1565b61010083015250610120610474848285016105a1565b6101208301525061014061048a848285016105a1565b610140830152506101606104a0848285016105a1565b610160830152506101806104b6848285016105a1565b610180830152506101a06104cc848285016105a1565b6101a0830152506101c06104e2848285016105a1565b6101c0830152506101e06104f8848285016105a1565b6101e08301525061020061050e848285016105a1565b610200830152506102206105248482850161058b565b6102208301525061024061053a8482850161058b565b610240830152506102606105508482850161058b565b6102608301525061028082015167ffffffffffffffff81111561057257600080fd5b61057e84828501610268565b6102808301525092915050565b805161020e81610831565b805161020e8161083a565b805161020e81610843565b805161020e8161084c565b6000602082840312156105c957600080fd5b60006105d58484610203565b949350505050565b600080602083850312156105f057600080fd5b823567ffffffffffffffff81111561060757600080fd5b6106138582860161021f565b92509250509250929050565b60006020828403121561063157600080fd5b815167ffffffffffffffff81111561064857600080fd5b6105d584828501610394565b60006106608383610668565b505060200190565b610671816107c9565b82525050565b600061068383856107aa565b935061068e826107a1565b8060005b858110156106c4576106a482846107b3565b6106ae8882610654565b97506106b9836107a4565b925050600101610692565b509495945050505050565b60006106dc601f836107aa565b7f5f5f76616c69646174654974656d733a20496e76616c69642063546f6b656e00815260200192915050565b610671816107a1565b6020810161020e8284610668565b6020808252810161020e816106cf565b6040810161073d8286610708565b8181036020830152610750818486610677565b95945050505050565b60405181810167ffffffffffffffff8111828210171561077857600080fd5b604052919050565b600067ffffffffffffffff82111561079757600080fd5b5060209081020190565b90565b60200190565b90815260200190565b60006107c26020840184610203565b9392505050565b600061020e826107fb565b6cffffffffffffffffffffffffff1690565b6fffffffffffffffffffffffffffffffff1690565b6001600160a01b031690565b67ffffffffffffffff1690565b60ff1690565b610823816107c9565b811461082e57600080fd5b50565b610823816107d4565b610823816107e6565b61082381610807565b6108238161081456fea164736f6c634300060c000a", - "sourceMap": "601:853:13:-:0;;;743:301;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;802:74:14;;;;;;;915:20:13;937:16;914:14:14;-1:-1:-1;;;;;802:74:14;;931:52;1014:4;1046:38;914:14;1113:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1113:16:14;;931:209;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1150:16;;;;1234;;;1248:1;1234:16;;;;;;;;;1150;;-1:-1:-1;1207:24:14;;1234:16;;;;;;;;;;-1:-1:-1;;1291:15:14;;;1304:1;1291:15;;;;;;;;;1207:43;;-1:-1:-1;1260:28:14;;1291:15;-1:-1:-1;1291:15:14;;;;;;;;;;;;;;;;;;;;1260:46;;1329:6;1316:7;1324:1;1316:10;;;;;;;;;;;;;:19;;;;;1363:16;1345:12;1358:1;1345:15;;;;;;;;;;;;;;;;;:34;1390:133;;-1:-1:-1;;;1390:133:14;;-1:-1:-1;;;;;1390:53:14;;;;;:133;;1464:7;;1500:12;;1390:133;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;965:72:13::1;::::0;;;;-1:-1:-1;;;;;;965:72:13;::::1;::::0;-1:-1:-1;601:853:13;;-1:-1:-1;;;;;601:853:13;5:134:-1;83:13;;101:33;83:13;101:33;:::i;:::-;68:71;;;;:::o;147:444::-;;260:3;253:4;245:6;241:17;237:27;227:2;;278:1;275;268:12;227:2;308:6;302:13;330:65;345:49;387:6;345:49;:::i;:::-;330:65;:::i;:::-;321:74;;415:6;408:5;401:21;451:4;443:6;439:17;484:4;477:5;473:16;519:3;510:6;505:3;501:16;498:25;495:2;;;536:1;533;526:12;495:2;546:39;578:6;573:3;568;546:39;:::i;:::-;220:371;;;;;;;:::o;599:134::-;677:13;;695:33;677:13;695:33;:::i;740:634::-;;;;899:2;887:9;878:7;874:23;870:32;867:2;;;915:1;912;905:12;867:2;950:1;967:64;1023:7;1003:9;967:64;:::i;:::-;957:74;;929:108;1089:2;1078:9;1074:18;1068:25;-1:-1;;;;;1105:6;1102:30;1099:2;;;1145:1;1142;1135:12;1099:2;1165:74;1231:7;1222:6;1211:9;1207:22;1165:74;:::i;:::-;1155:84;;1047:198;1276:2;1294:64;1350:7;1341:6;1330:9;1326:22;1294:64;:::i;:::-;1284:74;;1255:109;861:513;;;;;:::o;1381:263::-;;1496:2;1484:9;1475:7;1471:23;1467:32;1464:2;;;1512:1;1509;1502:12;1464:2;1547:1;1564:64;1620:7;1600:9;1564:64;:::i;:::-;1554:74;1458:186;-1:-1;;;;1458:186::o;1652:173::-;;1739:46;1781:3;1773:6;1739:46;:::i;:::-;-1:-1;;1814:4;1805:14;;1732:93::o;1834:193::-;;1955:66;2017:3;2009:6;1955:66;:::i;:::-;1941:80;1934:93;-1:-1;;;1934:93::o;2036:173::-;;2123:46;2165:3;2157:6;2123:46;:::i;2217:103::-;2290:24;2308:5;2290:24;:::i;:::-;2285:3;2278:37;2272:48;;:::o;2478:690::-;;2623:54;2671:5;2623:54;:::i;:::-;2690:86;2769:6;2764:3;2690:86;:::i;:::-;2683:93;;2797:56;2847:5;2797:56;:::i;:::-;2873:7;2901:1;2886:260;2911:6;2908:1;2905:13;2886:260;;;2978:6;2972:13;2999:63;3058:3;3043:13;2999:63;:::i;:::-;2992:70;;3079:60;3132:6;3079:60;:::i;:::-;3069:70;-1:-1;;2933:1;2926:9;2886:260;;;-1:-1;3159:3;;2602:566;-1:-1;;;;;2602:566::o;3205:928::-;;3370:64;3428:5;3370:64;:::i;:::-;3447:96;3536:6;3531:3;3447:96;:::i;:::-;3440:103;;3566:3;3608:4;3600:6;3596:17;3591:3;3587:27;3635:66;3695:5;3635:66;:::i;:::-;3721:7;3749:1;3734:360;3759:6;3756:1;3753:13;3734:360;;;3821:9;3815:4;3811:20;3806:3;3799:33;3866:6;3860:13;3888:84;3967:4;3952:13;3888:84;:::i;:::-;3880:92;;3989:70;4052:6;3989:70;:::i;:::-;4082:4;4073:14;;;;;3979:80;-1:-1;;3781:1;3774:9;3734:360;;;-1:-1;4107:4;;3349:784;-1:-1;;;;;;;3349:784::o;4172:690::-;;4317:54;4365:5;4317:54;:::i;:::-;4384:86;4463:6;4458:3;4384:86;:::i;:::-;4377:93;;4491:56;4541:5;4491:56;:::i;:::-;4567:7;4595:1;4580:260;4605:6;4602:1;4599:13;4580:260;;;4672:6;4666:13;4693:63;4752:3;4737:13;4693:63;:::i;:::-;4686:70;;4773:60;4826:6;4773:60;:::i;:::-;4763:70;-1:-1;;4627:1;4620:9;4580:260;;4870:152;4966:50;5010:5;4966:50;:::i;5029:327::-;;5131:39;5164:5;5131:39;:::i;:::-;5182:61;5236:6;5231:3;5182:61;:::i;:::-;5175:68;;5248:52;5293:6;5288:3;5281:4;5274:5;5270:16;5248:52;:::i;:::-;5321:29;5343:6;5321:29;:::i;:::-;5312:39;;;;5111:245;-1:-1;;;5111:245::o;5363:103::-;5436:24;5454:5;5436:24;:::i;5473:618::-;5719:2;5704:18;;5733:71;5708:9;5777:6;5733:71;:::i;:::-;5815:85;5896:2;5885:9;5881:18;5872:6;5815:85;:::i;:::-;5948:9;5942:4;5938:20;5933:2;5922:9;5918:18;5911:48;5973:108;6076:4;6067:6;5973:108;:::i;:::-;5965:116;5690:401;-1:-1;;;;;5690:401::o;6098:669::-;6373:2;6387:47;;;6358:18;;6448:108;6358:18;6542:6;6448:108;:::i;:::-;6440:116;;6604:9;6598:4;6594:20;6589:2;6578:9;6574:18;6567:48;6629:128;6752:4;6743:6;6629:128;:::i;6774:256::-;6836:2;6830:9;6862:17;;;-1:-1;;;;;6922:34;;6958:22;;;6919:62;6916:2;;;6994:1;6991;6984:12;6916:2;7010;7003:22;6814:216;;-1:-1;6814:216::o;7037:322::-;;-1:-1;;;;;7173:6;7170:30;7167:2;;;7213:1;7210;7203:12;7167:2;-1:-1;7344:4;7280;7257:17;;;;-1:-1;;7253:33;7334:15;;7104:255::o;7366:151::-;7490:4;7481:14;;7438:79::o;7850:137::-;7953:12;;7924:63::o;8777:178::-;8895:19;;;8944:4;8935:14;;8888:67::o;9509:91::-;;9571:24;9589:5;9571:24;:::i;9607:136::-;9684:5;9690:48;9684:5;9690:48;:::i;:::-;9667:76;;;:::o;9750:121::-;-1:-1;;;;;9812:54;;9795:76::o;9878:72::-;9940:5;9923:27::o;9957:136::-;;10049:39;10082:5;10049:39;:::i;10101:268::-;10166:1;10173:101;10187:6;10184:1;10181:13;10173:101;;;10254:11;;;10248:18;10235:11;;;10228:39;10209:2;10202:10;10173:101;;;10289:6;10286:1;10283:13;10280:2;;;10354:1;10345:6;10340:3;10336:16;10329:27;10280:2;10150:219;;;;:::o;10377:97::-;10465:2;10445:14;-1:-1;;10441:28;;10425:49::o;10482:106::-;10566:1;10559:5;10556:12;10546:2;;10572:9;10546:2;10540:48;:::o;10595:117::-;10664:24;10682:5;10664:24;:::i;:::-;10657:5;10654:35;10644:2;;10703:1;10700;10693:12;10719:117;10788:24;10806:5;10788:24;:::i;10762:74::-;601:853:13;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c8063a8f0bc4114610030575b600080fd5b61004361003e3660046105dd565b610045565b005b61004f82826100f5565b6040516346d1eb9b60e11b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690638da3d736906100bf907f0000000000000000000000000000000000000000000000000000000000000000908690869060040161072f565b600060405180830381600087803b1580156100d957600080fd5b505af11580156100ed573d6000803e3d6000fd5b505050505050565b60005b818110156101fe5760007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c44b11f785858581811061013d57fe5b905060200201602081019061015291906105b7565b6040518263ffffffff1660e01b815260040161016e9190610711565b60006040518083038186803b15801561018657600080fd5b505afa15801561019a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526101c2919081019061061f565b604001516001600160a01b031614156101f65760405162461bcd60e51b81526004016101ed9061071f565b60405180910390fd5b6001016100f8565b505050565b803561020e8161081a565b92915050565b805161020e8161081a565b60008083601f84011261023157600080fd5b50813567ffffffffffffffff81111561024957600080fd5b60208301915083602082028301111561026157600080fd5b9250929050565b600082601f83011261027957600080fd5b815161028c61028782610780565b610759565b915081818352602084019350602081019050838560e08402820111156102b157600080fd5b60005b838110156102df57816102c788826102e9565b84525060209092019160e091909101906001016102b4565b5050505092915050565b600060e082840312156102fb57600080fd5b61030560e0610759565b905060006103138484610214565b825250602061032484848301610214565b6020830152506040610338848285016105ac565b604083015250606061034c848285016105a1565b6060830152506080610360848285016105a1565b60808301525060a0610374848285016105a1565b60a08301525060c061038884828501610596565b60c08301525092915050565b60006102a082840312156103a757600080fd5b6103b26102a0610759565b905060006103c08484610214565b82525060206103d184848301610214565b60208301525060406103e584828501610214565b60408301525060606103f984828501610214565b606083015250608061040d84828501610214565b60808301525060a0610421848285016105a1565b60a08301525060c0610435848285016105a1565b60c08301525060e0610449848285016105a1565b60e08301525061010061045e848285016105a1565b61010083015250610120610474848285016105a1565b6101208301525061014061048a848285016105a1565b610140830152506101606104a0848285016105a1565b610160830152506101806104b6848285016105a1565b610180830152506101a06104cc848285016105a1565b6101a0830152506101c06104e2848285016105a1565b6101c0830152506101e06104f8848285016105a1565b6101e08301525061020061050e848285016105a1565b610200830152506102206105248482850161058b565b6102208301525061024061053a8482850161058b565b610240830152506102606105508482850161058b565b6102608301525061028082015167ffffffffffffffff81111561057257600080fd5b61057e84828501610268565b6102808301525092915050565b805161020e81610831565b805161020e8161083a565b805161020e81610843565b805161020e8161084c565b6000602082840312156105c957600080fd5b60006105d58484610203565b949350505050565b600080602083850312156105f057600080fd5b823567ffffffffffffffff81111561060757600080fd5b6106138582860161021f565b92509250509250929050565b60006020828403121561063157600080fd5b815167ffffffffffffffff81111561064857600080fd5b6105d584828501610394565b60006106608383610668565b505060200190565b610671816107c9565b82525050565b600061068383856107aa565b935061068e826107a1565b8060005b858110156106c4576106a482846107b3565b6106ae8882610654565b97506106b9836107a4565b925050600101610692565b509495945050505050565b60006106dc601f836107aa565b7f5f5f76616c69646174654974656d733a20496e76616c69642063546f6b656e00815260200192915050565b610671816107a1565b6020810161020e8284610668565b6020808252810161020e816106cf565b6040810161073d8286610708565b8181036020830152610750818486610677565b95945050505050565b60405181810167ffffffffffffffff8111828210171561077857600080fd5b604052919050565b600067ffffffffffffffff82111561079757600080fd5b5060209081020190565b90565b60200190565b90815260200190565b60006107c26020840184610203565b9392505050565b600061020e826107fb565b6cffffffffffffffffffffffffff1690565b6fffffffffffffffffffffffffffffffff1690565b6001600160a01b031690565b67ffffffffffffffff1690565b60ff1690565b610823816107c9565b811461082e57600080fd5b50565b610823816107d4565b610823816107e6565b61082381610807565b6108238161081456fea164736f6c634300060c000a", - "sourceMap": "601:853:13:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1692:200:14;;;;;;:::i;:::-;;:::i;:::-;;;1779:23;1795:6;;1779:15;:23::i;:::-;1813:72;;-1:-1:-1;;;1813:72:14;;-1:-1:-1;;;;;1813:30:14;:40;;;;:72;;1860:7;;1877:6;;;;1813:72;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1692:200;;:::o;1138:314:13:-;1223:9;1218:228;1234:17;;;1218:228;;;1368:1;1297:21;-1:-1:-1;;;;;1297:38:13;;1336:6;;1343:1;1336:9;;;;;;;;;;;;;;;;;;;;:::i;:::-;1297:49;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1297:49:13;;;;;;;;;;;;:::i;:::-;:59;;;-1:-1:-1;;;;;1297:73:13;;;1272:163;;;;-1:-1:-1;;;1272:163:13;;;;;;;:::i;:::-;;;;;;;;;1253:3;;1218:228;;;;1138:314;;:::o;5:130:-1:-;72:20;;97:33;72:20;97:33;:::i;:::-;57:78;;;;:::o;142:134::-;220:13;;238:33;220:13;238:33;:::i;301:352::-;;;431:3;424:4;416:6;412:17;408:27;398:2;;449:1;446;439:12;398:2;-1:-1;469:20;;509:18;498:30;;495:2;;;541:1;538;531:12;495:2;575:4;567:6;563:17;551:29;;626:3;618:4;610:6;606:17;596:8;592:32;589:41;586:2;;;643:1;640;633:12;586:2;391:262;;;;;:::o;714:812::-;;872:3;865:4;857:6;853:17;849:27;839:2;;890:1;887;880:12;839:2;920:6;914:13;942:110;957:94;1044:6;957:94;:::i;:::-;942:110;:::i;:::-;933:119;;1069:5;1094:6;1087:5;1080:21;1124:4;1116:6;1112:17;1102:27;;1146:4;1141:3;1137:14;1130:21;;1199:6;1246:3;1238:4;1230:6;1226:17;1221:3;1217:27;1214:36;1211:2;;;1263:1;1260;1253:12;1211:2;1288:1;1273:247;1298:6;1295:1;1292:13;1273:247;;;1356:3;1378:78;1452:3;1440:10;1378:78;:::i;:::-;1366:91;;-1:-1;1480:4;1471:14;;;;1508:4;1499:14;;;;;1320:1;1313:9;1273:247;;;1277:14;832:694;;;;;;;:::o;1583:1345::-;;1713:4;1701:9;1696:3;1692:19;1688:30;1685:2;;;1731:1;1728;1721:12;1685:2;1749:20;1764:4;1749:20;:::i;:::-;1740:29;-1:-1;1820:1;1852:60;1908:3;1888:9;1852:60;:::i;:::-;1827:86;;-1:-1;1979:2;2012:60;2068:3;2044:22;;;2012:60;:::i;:::-;2005:4;1998:5;1994:16;1987:86;1934:150;2138:2;2171:58;2225:3;2216:6;2205:9;2201:22;2171:58;:::i;:::-;2164:4;2157:5;2153:16;2146:84;2094:147;2309:2;2342:59;2397:3;2388:6;2377:9;2373:22;2342:59;:::i;:::-;2335:4;2328:5;2324:16;2317:85;2251:162;2484:3;2518:59;2573:3;2564:6;2553:9;2549:22;2518:59;:::i;:::-;2511:4;2504:5;2500:16;2493:85;2423:166;2652:3;2686:59;2741:3;2732:6;2721:9;2717:22;2686:59;:::i;:::-;2679:4;2672:5;2668:16;2661:85;2599:158;2812:3;2846:60;2902:3;2893:6;2882:9;2878:22;2846:60;:::i;:::-;2839:4;2832:5;2828:16;2821:86;2767:151;1679:1249;;;;:::o;2986:3955::-;;3118:6;3106:9;3101:3;3097:19;3093:32;3090:2;;;3138:1;3135;3128:12;3090:2;3156:22;3171:6;3156:22;:::i;:::-;3147:31;-1:-1;3232:1;3264:60;3320:3;3300:9;3264:60;:::i;:::-;3239:86;;-1:-1;3395:2;3428:60;3484:3;3460:22;;;3428:60;:::i;:::-;3421:4;3414:5;3410:16;3403:86;3346:154;3555:2;3588:60;3644:3;3635:6;3624:9;3620:22;3588:60;:::i;:::-;3581:4;3574:5;3570:16;3563:86;3510:150;3724:2;3757:60;3813:3;3804:6;3793:9;3789:22;3757:60;:::i;:::-;3750:4;3743:5;3739:16;3732:86;3670:159;3892:3;3926:60;3982:3;3973:6;3962:9;3958:22;3926:60;:::i;:::-;3919:4;3912:5;3908:16;3901:86;3839:159;4054:3;4088:59;4143:3;4134:6;4123:9;4119:22;4088:59;:::i;:::-;4081:4;4074:5;4070:16;4063:85;4008:151;4238:3;4272:59;4327:3;4318:6;4307:9;4303:22;4272:59;:::i;:::-;4265:4;4258:5;4254:16;4247:85;4169:174;4423:3;4457:59;4512:3;4503:6;4492:9;4488:22;4457:59;:::i;:::-;4450:4;4443:5;4439:16;4432:85;4353:175;4603:3;4639:59;4694:3;4685:6;4674:9;4670:22;4639:59;:::i;:::-;4630:6;4623:5;4619:18;4612:87;4538:172;4766:3;4802:59;4857:3;4848:6;4837:9;4833:22;4802:59;:::i;:::-;4793:6;4786:5;4782:18;4775:87;4720:153;4952:3;4988:59;5043:3;5034:6;5023:9;5019:22;4988:59;:::i;:::-;4979:6;4972:5;4968:18;4961:87;4883:176;5139:3;5175:59;5230:3;5221:6;5210:9;5206:22;5175:59;:::i;:::-;5166:6;5159:5;5155:18;5148:87;5069:177;5321:3;5357:59;5412:3;5403:6;5392:9;5388:22;5357:59;:::i;:::-;5348:6;5341:5;5337:18;5330:87;5256:172;5495:3;5531:59;5586:3;5577:6;5566:9;5562:22;5531:59;:::i;:::-;5522:6;5515:5;5511:18;5504:87;5438:164;5666:3;5702:59;5757:3;5748:6;5737:9;5733:22;5702:59;:::i;:::-;5693:6;5686:5;5682:18;5675:87;5612:161;5842:3;5878:59;5933:3;5924:6;5913:9;5909:22;5878:59;:::i;:::-;5869:6;5862:5;5858:18;5851:87;5783:166;6018:3;6054:59;6109:3;6100:6;6089:9;6085:22;6054:59;:::i;:::-;6045:6;6038:5;6034:18;6027:87;5959:166;6188:3;6224:60;6280:3;6271:6;6260:9;6256:22;6224:60;:::i;:::-;6215:6;6208:5;6204:18;6197:88;6135:161;6355:3;6391:60;6447:3;6438:6;6427:9;6423:22;6391:60;:::i;:::-;6382:6;6375:5;6371:18;6364:88;6306:157;6523:3;6559:60;6615:3;6606:6;6595:9;6591:22;6559:60;:::i;:::-;6550:6;6543:5;6539:18;6532:88;6473:158;6710:3;6699:9;6695:19;6689:26;6735:18;6727:6;6724:30;6721:2;;;6767:1;6764;6757:12;6721:2;6804:115;6915:3;6906:6;6895:9;6891:22;6804:115;:::i;:::-;6795:6;6788:5;6784:18;6777:143;6641:290;3084:3857;;;;:::o;6948:134::-;7026:13;;7044:33;7026:13;7044:33;:::i;7089:134::-;7167:13;;7185:33;7167:13;7185:33;:::i;7230:132::-;7307:13;;7325:32;7307:13;7325:32;:::i;7369:130::-;7445:13;;7463:31;7445:13;7463:31;:::i;7506:241::-;;7610:2;7598:9;7589:7;7585:23;7581:32;7578:2;;;7626:1;7623;7616:12;7578:2;7661:1;7678:53;7723:7;7703:9;7678:53;:::i;:::-;7668:63;7572:175;-1:-1;;;;7572:175::o;7754:397::-;;;7893:2;7881:9;7872:7;7868:23;7864:32;7861:2;;;7909:1;7906;7899:12;7861:2;7944:31;;7995:18;7984:30;;7981:2;;;8027:1;8024;8017:12;7981:2;8055:80;8127:7;8118:6;8107:9;8103:22;8055:80;:::i;:::-;8037:98;;;;7923:218;7855:296;;;;;:::o;8158:406::-;;8305:2;8293:9;8284:7;8280:23;8276:32;8273:2;;;8321:1;8318;8311:12;8273:2;8356:24;;8400:18;8389:30;;8386:2;;;8432:1;8429;8422:12;8386:2;8452:96;8540:7;8531:6;8520:9;8516:22;8452:96;:::i;8572:173::-;;8659:46;8701:3;8693:6;8659:46;:::i;:::-;-1:-1;;8734:4;8725:14;;8652:93::o;8753:103::-;8826:24;8844:5;8826:24;:::i;:::-;8821:3;8814:37;8808:48;;:::o;9014:665::-;;9168:86;9247:6;9242:3;9168:86;:::i;:::-;9161:93;;9275:58;9327:5;9275:58;:::i;:::-;9353:7;9381:1;9366:291;9391:6;9388:1;9385:13;9366:291;;;9452:42;9487:6;9478:7;9452:42;:::i;:::-;9508:63;9567:3;9552:13;9508:63;:::i;:::-;9501:70;;9588:62;9643:6;9588:62;:::i;:::-;9578:72;-1:-1;;9413:1;9406:9;9366:291;;;-1:-1;9670:3;;9148:531;-1:-1;;;;;9148:531::o;9688:331::-;;9848:67;9912:2;9907:3;9848:67;:::i;:::-;9948:33;9928:54;;10010:2;10001:12;;9834:185;-1:-1;;9834:185::o;10027:113::-;10110:24;10128:5;10110:24;:::i;10147:222::-;10274:2;10259:18;;10288:71;10263:9;10332:6;10288:71;:::i;10376:416::-;10576:2;10590:47;;;10561:18;;10651:131;10561:18;10651:131;:::i;10799:501::-;11014:2;10999:18;;11028:71;11003:9;11072:6;11028:71;:::i;:::-;11147:9;11141:4;11137:20;11132:2;11121:9;11117:18;11110:48;11172:118;11285:4;11276:6;11268;11172:118;:::i;:::-;11164:126;10985:315;-1:-1;;;;;10985:315::o;11307:256::-;11369:2;11363:9;11395:17;;;11470:18;11455:34;;11491:22;;;11452:62;11449:2;;;11527:1;11524;11517:12;11449:2;11543;11536:22;11347:216;;-1:-1;11347:216::o;11570:334::-;;11759:18;11751:6;11748:30;11745:2;;;11791:1;11788;11781:12;11745:2;-1:-1;11826:4;11814:17;;;11879:15;;11682:222::o;11911:118::-;11999:3;11985:44::o;12036:110::-;12136:4;12127:14;;12113:33::o;12154:178::-;12272:19;;;12321:4;12312:14;;12265:67::o;12513:119::-;;12587:39;12622:2;12617:3;12613:12;12608:3;12587:39;:::i;:::-;12578:48;12571:61;-1:-1;;;12571:61::o;12640:91::-;;12702:24;12720:5;12702:24;:::i;12738:107::-;12811:28;12800:40;;12783:62::o;12852:113::-;12925:34;12914:46;;12897:68::o;12972:121::-;-1:-1;;;;;13034:54;;13017:76::o;13179:96::-;13251:18;13240:30;;13223:52::o;13282:81::-;13353:4;13342:16;;13325:38::o;13370:117::-;13439:24;13457:5;13439:24;:::i;:::-;13432:5;13429:35;13419:2;;13478:1;13475;13468:12;13419:2;13413:74;:::o;13494:117::-;13563:24;13581:5;13563:24;:::i;13618:117::-;13687:24;13705:5;13687:24;:::i;13742:115::-;13810:23;13827:5;13810:23;:::i;13864:113::-;13931:22;13947:5;13931:22;:::i", - "linkReferences": {}, - "immutableReferences": { - "2660": [ - { - "start": 260, - "length": 32 - } - ], - "2725": [ - { - "start": 102, - "length": 32 - } - ], - "2727": [ - { - "start": 147, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "addValidatedItemsToList(address[])": "a8f0bc41" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_addressListRegistry\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_listDescription\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"_compoundV3Configurator\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_items\",\"type\":\"address[]\"}],\"name\":\"addValidatedItemsToList\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"addValidatedItemsToList(address[])\":{\"details\":\"Override if access control needed\",\"params\":{\"_items\":\"Items to add\"}}},\"title\":\"CompoundV3CTokenListOwner Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"addValidatedItemsToList(address[])\":{\"notice\":\"Add items to the list after subjecting them to validation\"}},\"notice\":\"The AddressListRegistry owner of a Compound v3 cToken list\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/address-list-registry/address-list-owners/CompoundV3CTokenListOwner.sol\":\"CompoundV3CTokenListOwner\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/address-list-registry/AddressListRegistry.sol\":{\"keccak256\":\"0xf00a9e376e3ec2a223f463f71c15ee3af3642dd028bc3762440e316b760c8048\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://01986c9327b5dfbfac21316dced6d68727931ddde1278ed1342d878004f984b9\",\"dweb:/ipfs/QmdXkFaUU43JqMTYEREbWa129rohdqN7GXy7mVRpjCfSLD\"]},\"contracts/persistent/address-list-registry/address-list-owners/CompoundV3CTokenListOwner.sol\":{\"keccak256\":\"0x4a6d36713a9df57be9b67af5a894b9ed7eb657e04580d0cdbfc53d5177b9b08b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://465960e251d693c1ce86fd9a638b772aac2bf207404a3ad1cf83259ad4da7e53\",\"dweb:/ipfs/QmdqvP9LqTkSn5C5mBj4WDeEYv5djBcPCEZG5tFmATYP3Q\"]},\"contracts/persistent/address-list-registry/address-list-owners/utils/AddOnlyAddressListOwnerBase.sol\":{\"keccak256\":\"0xd3b355f8146b7df79e4537b021379a237d6620c0bdec25e9d96f2b741864909a\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://fcddc5b1dcbe7588943492a5d62ede92f23c46db0bf523267fda0ba9e8acafb5\",\"dweb:/ipfs/QmRssFbEBCRwELD7pvnU7GWoZzxfZocys4sFW33VL71jpt\"]},\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/release/interfaces/ICompoundV3Configurator.sol\":{\"keccak256\":\"0x62869ddb50774e1c9e1c7e848886837df5013fbe2291a91a2ffee6280e0be0d2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a0dd519eef7bf6ae0d509fae50f16e587f231d32a03740ba6a60b2ca69addb37\",\"dweb:/ipfs/QmTRY3M7tdwKudAMFXo9yGUhvgdQV8ZJFtCWE5UHdmzuEx\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_addressListRegistry", - "type": "address" - }, - { - "internalType": "string", - "name": "_listDescription", - "type": "string" - }, - { - "internalType": "address", - "name": "_compoundV3Configurator", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_items", - "type": "address[]" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "addValidatedItemsToList" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "addValidatedItemsToList(address[])": { - "details": "Override if access control needed", - "params": { - "_items": "Items to add" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "addValidatedItemsToList(address[])": { - "notice": "Add items to the list after subjecting them to validation" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/persistent/address-list-registry/address-list-owners/CompoundV3CTokenListOwner.sol": "CompoundV3CTokenListOwner" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/address-list-registry/AddressListRegistry.sol": { - "keccak256": "0xf00a9e376e3ec2a223f463f71c15ee3af3642dd028bc3762440e316b760c8048", - "urls": [ - "bzz-raw://01986c9327b5dfbfac21316dced6d68727931ddde1278ed1342d878004f984b9", - "dweb:/ipfs/QmdXkFaUU43JqMTYEREbWa129rohdqN7GXy7mVRpjCfSLD" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/address-list-registry/address-list-owners/CompoundV3CTokenListOwner.sol": { - "keccak256": "0x4a6d36713a9df57be9b67af5a894b9ed7eb657e04580d0cdbfc53d5177b9b08b", - "urls": [ - "bzz-raw://465960e251d693c1ce86fd9a638b772aac2bf207404a3ad1cf83259ad4da7e53", - "dweb:/ipfs/QmdqvP9LqTkSn5C5mBj4WDeEYv5djBcPCEZG5tFmATYP3Q" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/address-list-registry/address-list-owners/utils/AddOnlyAddressListOwnerBase.sol": { - "keccak256": "0xd3b355f8146b7df79e4537b021379a237d6620c0bdec25e9d96f2b741864909a", - "urls": [ - "bzz-raw://fcddc5b1dcbe7588943492a5d62ede92f23c46db0bf523267fda0ba9e8acafb5", - "dweb:/ipfs/QmRssFbEBCRwELD7pvnU7GWoZzxfZocys4sFW33VL71jpt" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/dispatcher/IDispatcher.sol": { - "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", - "urls": [ - "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", - "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/ICompoundV3Configurator.sol": { - "keccak256": "0x62869ddb50774e1c9e1c7e848886837df5013fbe2291a91a2ffee6280e0be0d2", - "urls": [ - "bzz-raw://a0dd519eef7bf6ae0d509fae50f16e587f231d32a03740ba6a60b2ca69addb37", - "dweb:/ipfs/QmTRY3M7tdwKudAMFXo9yGUhvgdQV8ZJFtCWE5UHdmzuEx" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 13 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_addressListRegistry", "type": "address", "internalType": "address" }, { "name": "_listDescription", "type": "string", "internalType": "string" }, { "name": "_compoundV3Configurator", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "addValidatedItemsToList", "inputs": [ { "name": "_items", "type": "address[]", "internalType": "address[]" } ], "outputs": [], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x60e06040523480156200001157600080fd5b5060405162000efe38038062000efe83398101604081905262000034916200028f565b6001600160601b0319606084901b16608052828260006001600160a01b03831663be68406e3060018460405190808252806020026020018201604052801562000087578160200160208202803683370190505b506040518463ffffffff1660e01b8152600401620000a893929190620004fd565b602060405180830381600087803b158015620000c357600080fd5b505af1158015620000d8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000fe9190620002fb565b60a0819052604080516001808252818301909252919250606091906020808301908036833750506040805160018082528183019092529293506060929150602082015b60608152602001906001900390816200014157905050905082826000815181106200016857fe5b60200260200101818152505083816000815181106200018357fe5b6020908102919091010152604051635a137ca360e11b81526001600160a01b0386169063b426f94690620001be908590859060040162000539565b600060405180830381600087803b158015620001d957600080fd5b505af1158015620001ee573d6000803e3d6000fd5b505050505060609490941b6001600160601b03191660c052506200066b945050505050565b8051620002208162000649565b92915050565b600082601f8301126200023857600080fd5b81516200024f620002498262000589565b62000562565b915080825260208301602083018583830111156200026c57600080fd5b62000279838284620005fe565b50505092915050565b8051620002208162000660565b600080600060608486031215620002a557600080fd5b6000620002b3868662000213565b93505060208401516001600160401b03811115620002d057600080fd5b620002de8682870162000226565b9250506040620002f18682870162000213565b9150509250925092565b6000602082840312156200030e57600080fd5b60006200031c848462000282565b949350505050565b60006200033283836200035d565b505060200190565b6000620003488383620004b2565b9392505050565b6000620003328383620004f2565b6200036881620005c4565b82525050565b60006200037b82620005b7565b620003878185620005bb565b93506200039483620005b1565b8060005b83811015620003c8578151620003af888262000324565b9750620003bc83620005b1565b92505060010162000398565b509495945050505050565b6000620003e082620005b7565b620003ec8185620005bb565b9350836020820285016200040085620005b1565b8060005b858110156200044057848403895281516200042085826200033a565b94506200042d83620005b1565b60209a909a019992505060010162000404565b5091979650505050505050565b60006200045a82620005b7565b620004668185620005bb565b93506200047383620005b1565b8060005b83811015620003c85781516200048e88826200034f565b97506200049b83620005b1565b92505060010162000477565b6200036881620005f1565b6000620004bf82620005b7565b620004cb8185620005bb565b9350620004dd818560208601620005fe565b620004e88162000631565b9093019392505050565b6200036881620005ee565b606081016200050d82866200035d565b6200051c6020830185620004a7565b81810360408301526200053081846200036e565b95945050505050565b604080825281016200054c81856200044d565b905081810360208301526200031c8184620003d3565b6040518181016001600160401b03811182821017156200058157600080fd5b604052919050565b60006001600160401b03821115620005a057600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b60006200022082620005e2565b80620005dd816200063b565b919050565b6001600160a01b031690565b90565b60006200022082620005d1565b60005b838110156200061b57818101518382015260200162000601565b838111156200062b576000848401525b50505050565b601f01601f191690565b600481106200064657fe5b50565b6200065481620005c4565b81146200064657600080fd5b6200065481620005ee565b60805160601c60a05160c05160601c6108626200069c600039806101045250806093525080606652506108626000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063a8f0bc4114610030575b600080fd5b61004361003e3660046105dd565b610045565b005b61004f82826100f5565b6040516346d1eb9b60e11b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690638da3d736906100bf907f0000000000000000000000000000000000000000000000000000000000000000908690869060040161072f565b600060405180830381600087803b1580156100d957600080fd5b505af11580156100ed573d6000803e3d6000fd5b505050505050565b60005b818110156101fe5760007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c44b11f785858581811061013d57fe5b905060200201602081019061015291906105b7565b6040518263ffffffff1660e01b815260040161016e9190610711565b60006040518083038186803b15801561018657600080fd5b505afa15801561019a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526101c2919081019061061f565b604001516001600160a01b031614156101f65760405162461bcd60e51b81526004016101ed9061071f565b60405180910390fd5b6001016100f8565b505050565b803561020e8161081a565b92915050565b805161020e8161081a565b60008083601f84011261023157600080fd5b50813567ffffffffffffffff81111561024957600080fd5b60208301915083602082028301111561026157600080fd5b9250929050565b600082601f83011261027957600080fd5b815161028c61028782610780565b610759565b915081818352602084019350602081019050838560e08402820111156102b157600080fd5b60005b838110156102df57816102c788826102e9565b84525060209092019160e091909101906001016102b4565b5050505092915050565b600060e082840312156102fb57600080fd5b61030560e0610759565b905060006103138484610214565b825250602061032484848301610214565b6020830152506040610338848285016105ac565b604083015250606061034c848285016105a1565b6060830152506080610360848285016105a1565b60808301525060a0610374848285016105a1565b60a08301525060c061038884828501610596565b60c08301525092915050565b60006102a082840312156103a757600080fd5b6103b26102a0610759565b905060006103c08484610214565b82525060206103d184848301610214565b60208301525060406103e584828501610214565b60408301525060606103f984828501610214565b606083015250608061040d84828501610214565b60808301525060a0610421848285016105a1565b60a08301525060c0610435848285016105a1565b60c08301525060e0610449848285016105a1565b60e08301525061010061045e848285016105a1565b61010083015250610120610474848285016105a1565b6101208301525061014061048a848285016105a1565b610140830152506101606104a0848285016105a1565b610160830152506101806104b6848285016105a1565b610180830152506101a06104cc848285016105a1565b6101a0830152506101c06104e2848285016105a1565b6101c0830152506101e06104f8848285016105a1565b6101e08301525061020061050e848285016105a1565b610200830152506102206105248482850161058b565b6102208301525061024061053a8482850161058b565b610240830152506102606105508482850161058b565b6102608301525061028082015167ffffffffffffffff81111561057257600080fd5b61057e84828501610268565b6102808301525092915050565b805161020e81610831565b805161020e8161083a565b805161020e81610843565b805161020e8161084c565b6000602082840312156105c957600080fd5b60006105d58484610203565b949350505050565b600080602083850312156105f057600080fd5b823567ffffffffffffffff81111561060757600080fd5b6106138582860161021f565b92509250509250929050565b60006020828403121561063157600080fd5b815167ffffffffffffffff81111561064857600080fd5b6105d584828501610394565b60006106608383610668565b505060200190565b610671816107c9565b82525050565b600061068383856107aa565b935061068e826107a1565b8060005b858110156106c4576106a482846107b3565b6106ae8882610654565b97506106b9836107a4565b925050600101610692565b509495945050505050565b60006106dc601f836107aa565b7f5f5f76616c69646174654974656d733a20496e76616c69642063546f6b656e00815260200192915050565b610671816107a1565b6020810161020e8284610668565b6020808252810161020e816106cf565b6040810161073d8286610708565b8181036020830152610750818486610677565b95945050505050565b60405181810167ffffffffffffffff8111828210171561077857600080fd5b604052919050565b600067ffffffffffffffff82111561079757600080fd5b5060209081020190565b90565b60200190565b90815260200190565b60006107c26020840184610203565b9392505050565b600061020e826107fb565b6cffffffffffffffffffffffffff1690565b6fffffffffffffffffffffffffffffffff1690565b6001600160a01b031690565b67ffffffffffffffff1690565b60ff1690565b610823816107c9565b811461082e57600080fd5b50565b610823816107d4565b610823816107e6565b61082381610807565b6108238161081456fea164736f6c634300060c000a", "sourceMap": "601:853:13:-:0;;;743:301;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;802:74:14;;;;;;;915:20:13;937:16;914:14:14;-1:-1:-1;;;;;802:74:14;;931:52;1014:4;1046:38;914:14;1113:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1113:16:14;;931:209;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1150:16;;;;1234;;;1248:1;1234:16;;;;;;;;;1150;;-1:-1:-1;1207:24:14;;1234:16;;;;;;;;;;-1:-1:-1;;1291:15:14;;;1304:1;1291:15;;;;;;;;;1207:43;;-1:-1:-1;1260:28:14;;1291:15;-1:-1:-1;1291:15:14;;;;;;;;;;;;;;;;;;;;1260:46;;1329:6;1316:7;1324:1;1316:10;;;;;;;;;;;;;:19;;;;;1363:16;1345:12;1358:1;1345:15;;;;;;;;;;;;;;;;;:34;1390:133;;-1:-1:-1;;;1390:133:14;;-1:-1:-1;;;;;1390:53:14;;;;;:133;;1464:7;;1500:12;;1390:133;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;965:72:13::1;::::0;;;;-1:-1:-1;;;;;;965:72:13;::::1;::::0;-1:-1:-1;601:853:13;;-1:-1:-1;;;;;601:853:13;5:134:-1;83:13;;101:33;83:13;101:33;:::i;:::-;68:71;;;;:::o;147:444::-;;260:3;253:4;245:6;241:17;237:27;227:2;;278:1;275;268:12;227:2;308:6;302:13;330:65;345:49;387:6;345:49;:::i;:::-;330:65;:::i;:::-;321:74;;415:6;408:5;401:21;451:4;443:6;439:17;484:4;477:5;473:16;519:3;510:6;505:3;501:16;498:25;495:2;;;536:1;533;526:12;495:2;546:39;578:6;573:3;568;546:39;:::i;:::-;220:371;;;;;;;:::o;599:134::-;677:13;;695:33;677:13;695:33;:::i;740:634::-;;;;899:2;887:9;878:7;874:23;870:32;867:2;;;915:1;912;905:12;867:2;950:1;967:64;1023:7;1003:9;967:64;:::i;:::-;957:74;;929:108;1089:2;1078:9;1074:18;1068:25;-1:-1;;;;;1105:6;1102:30;1099:2;;;1145:1;1142;1135:12;1099:2;1165:74;1231:7;1222:6;1211:9;1207:22;1165:74;:::i;:::-;1155:84;;1047:198;1276:2;1294:64;1350:7;1341:6;1330:9;1326:22;1294:64;:::i;:::-;1284:74;;1255:109;861:513;;;;;:::o;1381:263::-;;1496:2;1484:9;1475:7;1471:23;1467:32;1464:2;;;1512:1;1509;1502:12;1464:2;1547:1;1564:64;1620:7;1600:9;1564:64;:::i;:::-;1554:74;1458:186;-1:-1;;;;1458:186::o;1652:173::-;;1739:46;1781:3;1773:6;1739:46;:::i;:::-;-1:-1;;1814:4;1805:14;;1732:93::o;1834:193::-;;1955:66;2017:3;2009:6;1955:66;:::i;:::-;1941:80;1934:93;-1:-1;;;1934:93::o;2036:173::-;;2123:46;2165:3;2157:6;2123:46;:::i;2217:103::-;2290:24;2308:5;2290:24;:::i;:::-;2285:3;2278:37;2272:48;;:::o;2478:690::-;;2623:54;2671:5;2623:54;:::i;:::-;2690:86;2769:6;2764:3;2690:86;:::i;:::-;2683:93;;2797:56;2847:5;2797:56;:::i;:::-;2873:7;2901:1;2886:260;2911:6;2908:1;2905:13;2886:260;;;2978:6;2972:13;2999:63;3058:3;3043:13;2999:63;:::i;:::-;2992:70;;3079:60;3132:6;3079:60;:::i;:::-;3069:70;-1:-1;;2933:1;2926:9;2886:260;;;-1:-1;3159:3;;2602:566;-1:-1;;;;;2602:566::o;3205:928::-;;3370:64;3428:5;3370:64;:::i;:::-;3447:96;3536:6;3531:3;3447:96;:::i;:::-;3440:103;;3566:3;3608:4;3600:6;3596:17;3591:3;3587:27;3635:66;3695:5;3635:66;:::i;:::-;3721:7;3749:1;3734:360;3759:6;3756:1;3753:13;3734:360;;;3821:9;3815:4;3811:20;3806:3;3799:33;3866:6;3860:13;3888:84;3967:4;3952:13;3888:84;:::i;:::-;3880:92;;3989:70;4052:6;3989:70;:::i;:::-;4082:4;4073:14;;;;;3979:80;-1:-1;;3781:1;3774:9;3734:360;;;-1:-1;4107:4;;3349:784;-1:-1;;;;;;;3349:784::o;4172:690::-;;4317:54;4365:5;4317:54;:::i;:::-;4384:86;4463:6;4458:3;4384:86;:::i;:::-;4377:93;;4491:56;4541:5;4491:56;:::i;:::-;4567:7;4595:1;4580:260;4605:6;4602:1;4599:13;4580:260;;;4672:6;4666:13;4693:63;4752:3;4737:13;4693:63;:::i;:::-;4686:70;;4773:60;4826:6;4773:60;:::i;:::-;4763:70;-1:-1;;4627:1;4620:9;4580:260;;4870:152;4966:50;5010:5;4966:50;:::i;5029:327::-;;5131:39;5164:5;5131:39;:::i;:::-;5182:61;5236:6;5231:3;5182:61;:::i;:::-;5175:68;;5248:52;5293:6;5288:3;5281:4;5274:5;5270:16;5248:52;:::i;:::-;5321:29;5343:6;5321:29;:::i;:::-;5312:39;;;;5111:245;-1:-1;;;5111:245::o;5363:103::-;5436:24;5454:5;5436:24;:::i;5473:618::-;5719:2;5704:18;;5733:71;5708:9;5777:6;5733:71;:::i;:::-;5815:85;5896:2;5885:9;5881:18;5872:6;5815:85;:::i;:::-;5948:9;5942:4;5938:20;5933:2;5922:9;5918:18;5911:48;5973:108;6076:4;6067:6;5973:108;:::i;:::-;5965:116;5690:401;-1:-1;;;;;5690:401::o;6098:669::-;6373:2;6387:47;;;6358:18;;6448:108;6358:18;6542:6;6448:108;:::i;:::-;6440:116;;6604:9;6598:4;6594:20;6589:2;6578:9;6574:18;6567:48;6629:128;6752:4;6743:6;6629:128;:::i;6774:256::-;6836:2;6830:9;6862:17;;;-1:-1;;;;;6922:34;;6958:22;;;6919:62;6916:2;;;6994:1;6991;6984:12;6916:2;7010;7003:22;6814:216;;-1:-1;6814:216::o;7037:322::-;;-1:-1;;;;;7173:6;7170:30;7167:2;;;7213:1;7210;7203:12;7167:2;-1:-1;7344:4;7280;7257:17;;;;-1:-1;;7253:33;7334:15;;7104:255::o;7366:151::-;7490:4;7481:14;;7438:79::o;7850:137::-;7953:12;;7924:63::o;8777:178::-;8895:19;;;8944:4;8935:14;;8888:67::o;9509:91::-;;9571:24;9589:5;9571:24;:::i;9607:136::-;9684:5;9690:48;9684:5;9690:48;:::i;:::-;9667:76;;;:::o;9750:121::-;-1:-1;;;;;9812:54;;9795:76::o;9878:72::-;9940:5;9923:27::o;9957:136::-;;10049:39;10082:5;10049:39;:::i;10101:268::-;10166:1;10173:101;10187:6;10184:1;10181:13;10173:101;;;10254:11;;;10248:18;10235:11;;;10228:39;10209:2;10202:10;10173:101;;;10289:6;10286:1;10283:13;10280:2;;;10354:1;10345:6;10340:3;10336:16;10329:27;10280:2;10150:219;;;;:::o;10377:97::-;10465:2;10445:14;-1:-1;;10441:28;;10425:49::o;10482:106::-;10566:1;10559:5;10556:12;10546:2;;10572:9;10546:2;10540:48;:::o;10595:117::-;10664:24;10682:5;10664:24;:::i;:::-;10657:5;10654:35;10644:2;;10703:1;10700;10693:12;10719:117;10788:24;10806:5;10788:24;:::i;10762:74::-;601:853:13;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c8063a8f0bc4114610030575b600080fd5b61004361003e3660046105dd565b610045565b005b61004f82826100f5565b6040516346d1eb9b60e11b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690638da3d736906100bf907f0000000000000000000000000000000000000000000000000000000000000000908690869060040161072f565b600060405180830381600087803b1580156100d957600080fd5b505af11580156100ed573d6000803e3d6000fd5b505050505050565b60005b818110156101fe5760007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c44b11f785858581811061013d57fe5b905060200201602081019061015291906105b7565b6040518263ffffffff1660e01b815260040161016e9190610711565b60006040518083038186803b15801561018657600080fd5b505afa15801561019a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526101c2919081019061061f565b604001516001600160a01b031614156101f65760405162461bcd60e51b81526004016101ed9061071f565b60405180910390fd5b6001016100f8565b505050565b803561020e8161081a565b92915050565b805161020e8161081a565b60008083601f84011261023157600080fd5b50813567ffffffffffffffff81111561024957600080fd5b60208301915083602082028301111561026157600080fd5b9250929050565b600082601f83011261027957600080fd5b815161028c61028782610780565b610759565b915081818352602084019350602081019050838560e08402820111156102b157600080fd5b60005b838110156102df57816102c788826102e9565b84525060209092019160e091909101906001016102b4565b5050505092915050565b600060e082840312156102fb57600080fd5b61030560e0610759565b905060006103138484610214565b825250602061032484848301610214565b6020830152506040610338848285016105ac565b604083015250606061034c848285016105a1565b6060830152506080610360848285016105a1565b60808301525060a0610374848285016105a1565b60a08301525060c061038884828501610596565b60c08301525092915050565b60006102a082840312156103a757600080fd5b6103b26102a0610759565b905060006103c08484610214565b82525060206103d184848301610214565b60208301525060406103e584828501610214565b60408301525060606103f984828501610214565b606083015250608061040d84828501610214565b60808301525060a0610421848285016105a1565b60a08301525060c0610435848285016105a1565b60c08301525060e0610449848285016105a1565b60e08301525061010061045e848285016105a1565b61010083015250610120610474848285016105a1565b6101208301525061014061048a848285016105a1565b610140830152506101606104a0848285016105a1565b610160830152506101806104b6848285016105a1565b610180830152506101a06104cc848285016105a1565b6101a0830152506101c06104e2848285016105a1565b6101c0830152506101e06104f8848285016105a1565b6101e08301525061020061050e848285016105a1565b610200830152506102206105248482850161058b565b6102208301525061024061053a8482850161058b565b610240830152506102606105508482850161058b565b6102608301525061028082015167ffffffffffffffff81111561057257600080fd5b61057e84828501610268565b6102808301525092915050565b805161020e81610831565b805161020e8161083a565b805161020e81610843565b805161020e8161084c565b6000602082840312156105c957600080fd5b60006105d58484610203565b949350505050565b600080602083850312156105f057600080fd5b823567ffffffffffffffff81111561060757600080fd5b6106138582860161021f565b92509250509250929050565b60006020828403121561063157600080fd5b815167ffffffffffffffff81111561064857600080fd5b6105d584828501610394565b60006106608383610668565b505060200190565b610671816107c9565b82525050565b600061068383856107aa565b935061068e826107a1565b8060005b858110156106c4576106a482846107b3565b6106ae8882610654565b97506106b9836107a4565b925050600101610692565b509495945050505050565b60006106dc601f836107aa565b7f5f5f76616c69646174654974656d733a20496e76616c69642063546f6b656e00815260200192915050565b610671816107a1565b6020810161020e8284610668565b6020808252810161020e816106cf565b6040810161073d8286610708565b8181036020830152610750818486610677565b95945050505050565b60405181810167ffffffffffffffff8111828210171561077857600080fd5b604052919050565b600067ffffffffffffffff82111561079757600080fd5b5060209081020190565b90565b60200190565b90815260200190565b60006107c26020840184610203565b9392505050565b600061020e826107fb565b6cffffffffffffffffffffffffff1690565b6fffffffffffffffffffffffffffffffff1690565b6001600160a01b031690565b67ffffffffffffffff1690565b60ff1690565b610823816107c9565b811461082e57600080fd5b50565b610823816107d4565b610823816107e6565b61082381610807565b6108238161081456fea164736f6c634300060c000a", "sourceMap": "601:853:13:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1692:200:14;;;;;;:::i;:::-;;:::i;:::-;;;1779:23;1795:6;;1779:15;:23::i;:::-;1813:72;;-1:-1:-1;;;1813:72:14;;-1:-1:-1;;;;;1813:30:14;:40;;;;:72;;1860:7;;1877:6;;;;1813:72;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1692:200;;:::o;1138:314:13:-;1223:9;1218:228;1234:17;;;1218:228;;;1368:1;1297:21;-1:-1:-1;;;;;1297:38:13;;1336:6;;1343:1;1336:9;;;;;;;;;;;;;;;;;;;;:::i;:::-;1297:49;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1297:49:13;;;;;;;;;;;;:::i;:::-;:59;;;-1:-1:-1;;;;;1297:73:13;;;1272:163;;;;-1:-1:-1;;;1272:163:13;;;;;;;:::i;:::-;;;;;;;;;1253:3;;1218:228;;;;1138:314;;:::o;5:130:-1:-;72:20;;97:33;72:20;97:33;:::i;:::-;57:78;;;;:::o;142:134::-;220:13;;238:33;220:13;238:33;:::i;301:352::-;;;431:3;424:4;416:6;412:17;408:27;398:2;;449:1;446;439:12;398:2;-1:-1;469:20;;509:18;498:30;;495:2;;;541:1;538;531:12;495:2;575:4;567:6;563:17;551:29;;626:3;618:4;610:6;606:17;596:8;592:32;589:41;586:2;;;643:1;640;633:12;586:2;391:262;;;;;:::o;714:812::-;;872:3;865:4;857:6;853:17;849:27;839:2;;890:1;887;880:12;839:2;920:6;914:13;942:110;957:94;1044:6;957:94;:::i;:::-;942:110;:::i;:::-;933:119;;1069:5;1094:6;1087:5;1080:21;1124:4;1116:6;1112:17;1102:27;;1146:4;1141:3;1137:14;1130:21;;1199:6;1246:3;1238:4;1230:6;1226:17;1221:3;1217:27;1214:36;1211:2;;;1263:1;1260;1253:12;1211:2;1288:1;1273:247;1298:6;1295:1;1292:13;1273:247;;;1356:3;1378:78;1452:3;1440:10;1378:78;:::i;:::-;1366:91;;-1:-1;1480:4;1471:14;;;;1508:4;1499:14;;;;;1320:1;1313:9;1273:247;;;1277:14;832:694;;;;;;;:::o;1583:1345::-;;1713:4;1701:9;1696:3;1692:19;1688:30;1685:2;;;1731:1;1728;1721:12;1685:2;1749:20;1764:4;1749:20;:::i;:::-;1740:29;-1:-1;1820:1;1852:60;1908:3;1888:9;1852:60;:::i;:::-;1827:86;;-1:-1;1979:2;2012:60;2068:3;2044:22;;;2012:60;:::i;:::-;2005:4;1998:5;1994:16;1987:86;1934:150;2138:2;2171:58;2225:3;2216:6;2205:9;2201:22;2171:58;:::i;:::-;2164:4;2157:5;2153:16;2146:84;2094:147;2309:2;2342:59;2397:3;2388:6;2377:9;2373:22;2342:59;:::i;:::-;2335:4;2328:5;2324:16;2317:85;2251:162;2484:3;2518:59;2573:3;2564:6;2553:9;2549:22;2518:59;:::i;:::-;2511:4;2504:5;2500:16;2493:85;2423:166;2652:3;2686:59;2741:3;2732:6;2721:9;2717:22;2686:59;:::i;:::-;2679:4;2672:5;2668:16;2661:85;2599:158;2812:3;2846:60;2902:3;2893:6;2882:9;2878:22;2846:60;:::i;:::-;2839:4;2832:5;2828:16;2821:86;2767:151;1679:1249;;;;:::o;2986:3955::-;;3118:6;3106:9;3101:3;3097:19;3093:32;3090:2;;;3138:1;3135;3128:12;3090:2;3156:22;3171:6;3156:22;:::i;:::-;3147:31;-1:-1;3232:1;3264:60;3320:3;3300:9;3264:60;:::i;:::-;3239:86;;-1:-1;3395:2;3428:60;3484:3;3460:22;;;3428:60;:::i;:::-;3421:4;3414:5;3410:16;3403:86;3346:154;3555:2;3588:60;3644:3;3635:6;3624:9;3620:22;3588:60;:::i;:::-;3581:4;3574:5;3570:16;3563:86;3510:150;3724:2;3757:60;3813:3;3804:6;3793:9;3789:22;3757:60;:::i;:::-;3750:4;3743:5;3739:16;3732:86;3670:159;3892:3;3926:60;3982:3;3973:6;3962:9;3958:22;3926:60;:::i;:::-;3919:4;3912:5;3908:16;3901:86;3839:159;4054:3;4088:59;4143:3;4134:6;4123:9;4119:22;4088:59;:::i;:::-;4081:4;4074:5;4070:16;4063:85;4008:151;4238:3;4272:59;4327:3;4318:6;4307:9;4303:22;4272:59;:::i;:::-;4265:4;4258:5;4254:16;4247:85;4169:174;4423:3;4457:59;4512:3;4503:6;4492:9;4488:22;4457:59;:::i;:::-;4450:4;4443:5;4439:16;4432:85;4353:175;4603:3;4639:59;4694:3;4685:6;4674:9;4670:22;4639:59;:::i;:::-;4630:6;4623:5;4619:18;4612:87;4538:172;4766:3;4802:59;4857:3;4848:6;4837:9;4833:22;4802:59;:::i;:::-;4793:6;4786:5;4782:18;4775:87;4720:153;4952:3;4988:59;5043:3;5034:6;5023:9;5019:22;4988:59;:::i;:::-;4979:6;4972:5;4968:18;4961:87;4883:176;5139:3;5175:59;5230:3;5221:6;5210:9;5206:22;5175:59;:::i;:::-;5166:6;5159:5;5155:18;5148:87;5069:177;5321:3;5357:59;5412:3;5403:6;5392:9;5388:22;5357:59;:::i;:::-;5348:6;5341:5;5337:18;5330:87;5256:172;5495:3;5531:59;5586:3;5577:6;5566:9;5562:22;5531:59;:::i;:::-;5522:6;5515:5;5511:18;5504:87;5438:164;5666:3;5702:59;5757:3;5748:6;5737:9;5733:22;5702:59;:::i;:::-;5693:6;5686:5;5682:18;5675:87;5612:161;5842:3;5878:59;5933:3;5924:6;5913:9;5909:22;5878:59;:::i;:::-;5869:6;5862:5;5858:18;5851:87;5783:166;6018:3;6054:59;6109:3;6100:6;6089:9;6085:22;6054:59;:::i;:::-;6045:6;6038:5;6034:18;6027:87;5959:166;6188:3;6224:60;6280:3;6271:6;6260:9;6256:22;6224:60;:::i;:::-;6215:6;6208:5;6204:18;6197:88;6135:161;6355:3;6391:60;6447:3;6438:6;6427:9;6423:22;6391:60;:::i;:::-;6382:6;6375:5;6371:18;6364:88;6306:157;6523:3;6559:60;6615:3;6606:6;6595:9;6591:22;6559:60;:::i;:::-;6550:6;6543:5;6539:18;6532:88;6473:158;6710:3;6699:9;6695:19;6689:26;6735:18;6727:6;6724:30;6721:2;;;6767:1;6764;6757:12;6721:2;6804:115;6915:3;6906:6;6895:9;6891:22;6804:115;:::i;:::-;6795:6;6788:5;6784:18;6777:143;6641:290;3084:3857;;;;:::o;6948:134::-;7026:13;;7044:33;7026:13;7044:33;:::i;7089:134::-;7167:13;;7185:33;7167:13;7185:33;:::i;7230:132::-;7307:13;;7325:32;7307:13;7325:32;:::i;7369:130::-;7445:13;;7463:31;7445:13;7463:31;:::i;7506:241::-;;7610:2;7598:9;7589:7;7585:23;7581:32;7578:2;;;7626:1;7623;7616:12;7578:2;7661:1;7678:53;7723:7;7703:9;7678:53;:::i;:::-;7668:63;7572:175;-1:-1;;;;7572:175::o;7754:397::-;;;7893:2;7881:9;7872:7;7868:23;7864:32;7861:2;;;7909:1;7906;7899:12;7861:2;7944:31;;7995:18;7984:30;;7981:2;;;8027:1;8024;8017:12;7981:2;8055:80;8127:7;8118:6;8107:9;8103:22;8055:80;:::i;:::-;8037:98;;;;7923:218;7855:296;;;;;:::o;8158:406::-;;8305:2;8293:9;8284:7;8280:23;8276:32;8273:2;;;8321:1;8318;8311:12;8273:2;8356:24;;8400:18;8389:30;;8386:2;;;8432:1;8429;8422:12;8386:2;8452:96;8540:7;8531:6;8520:9;8516:22;8452:96;:::i;8572:173::-;;8659:46;8701:3;8693:6;8659:46;:::i;:::-;-1:-1;;8734:4;8725:14;;8652:93::o;8753:103::-;8826:24;8844:5;8826:24;:::i;:::-;8821:3;8814:37;8808:48;;:::o;9014:665::-;;9168:86;9247:6;9242:3;9168:86;:::i;:::-;9161:93;;9275:58;9327:5;9275:58;:::i;:::-;9353:7;9381:1;9366:291;9391:6;9388:1;9385:13;9366:291;;;9452:42;9487:6;9478:7;9452:42;:::i;:::-;9508:63;9567:3;9552:13;9508:63;:::i;:::-;9501:70;;9588:62;9643:6;9588:62;:::i;:::-;9578:72;-1:-1;;9413:1;9406:9;9366:291;;;-1:-1;9670:3;;9148:531;-1:-1;;;;;9148:531::o;9688:331::-;;9848:67;9912:2;9907:3;9848:67;:::i;:::-;9948:33;9928:54;;10010:2;10001:12;;9834:185;-1:-1;;9834:185::o;10027:113::-;10110:24;10128:5;10110:24;:::i;10147:222::-;10274:2;10259:18;;10288:71;10263:9;10332:6;10288:71;:::i;10376:416::-;10576:2;10590:47;;;10561:18;;10651:131;10561:18;10651:131;:::i;10799:501::-;11014:2;10999:18;;11028:71;11003:9;11072:6;11028:71;:::i;:::-;11147:9;11141:4;11137:20;11132:2;11121:9;11117:18;11110:48;11172:118;11285:4;11276:6;11268;11172:118;:::i;:::-;11164:126;10985:315;-1:-1;;;;;10985:315::o;11307:256::-;11369:2;11363:9;11395:17;;;11470:18;11455:34;;11491:22;;;11452:62;11449:2;;;11527:1;11524;11517:12;11449:2;11543;11536:22;11347:216;;-1:-1;11347:216::o;11570:334::-;;11759:18;11751:6;11748:30;11745:2;;;11791:1;11788;11781:12;11745:2;-1:-1;11826:4;11814:17;;;11879:15;;11682:222::o;11911:118::-;11999:3;11985:44::o;12036:110::-;12136:4;12127:14;;12113:33::o;12154:178::-;12272:19;;;12321:4;12312:14;;12265:67::o;12513:119::-;;12587:39;12622:2;12617:3;12613:12;12608:3;12587:39;:::i;:::-;12578:48;12571:61;-1:-1;;;12571:61::o;12640:91::-;;12702:24;12720:5;12702:24;:::i;12738:107::-;12811:28;12800:40;;12783:62::o;12852:113::-;12925:34;12914:46;;12897:68::o;12972:121::-;-1:-1;;;;;13034:54;;13017:76::o;13179:96::-;13251:18;13240:30;;13223:52::o;13282:81::-;13353:4;13342:16;;13325:38::o;13370:117::-;13439:24;13457:5;13439:24;:::i;:::-;13432:5;13429:35;13419:2;;13478:1;13475;13468:12;13419:2;13413:74;:::o;13494:117::-;13563:24;13581:5;13563:24;:::i;13618:117::-;13687:24;13705:5;13687:24;:::i;13742:115::-;13810:23;13827:5;13810:23;:::i;13864:113::-;13931:22;13947:5;13931:22;:::i", "linkReferences": {}, "immutableReferences": { "2660": [ { "start": 260, "length": 32 } ], "2725": [ { "start": 102, "length": 32 } ], "2727": [ { "start": 147, "length": 32 } ] } }, "methodIdentifiers": { "addValidatedItemsToList(address[])": "a8f0bc41" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_addressListRegistry\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_listDescription\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"_compoundV3Configurator\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_items\",\"type\":\"address[]\"}],\"name\":\"addValidatedItemsToList\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"addValidatedItemsToList(address[])\":{\"details\":\"Override if access control needed\",\"params\":{\"_items\":\"Items to add\"}}},\"title\":\"CompoundV3CTokenListOwner Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"addValidatedItemsToList(address[])\":{\"notice\":\"Add items to the list after subjecting them to validation\"}},\"notice\":\"The AddressListRegistry owner of a Compound v3 cToken list\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/address-list-registry/address-list-owners/CompoundV3CTokenListOwner.sol\":\"CompoundV3CTokenListOwner\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/address-list-registry/AddressListRegistry.sol\":{\"keccak256\":\"0xf00a9e376e3ec2a223f463f71c15ee3af3642dd028bc3762440e316b760c8048\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://01986c9327b5dfbfac21316dced6d68727931ddde1278ed1342d878004f984b9\",\"dweb:/ipfs/QmdXkFaUU43JqMTYEREbWa129rohdqN7GXy7mVRpjCfSLD\"]},\"contracts/persistent/address-list-registry/address-list-owners/CompoundV3CTokenListOwner.sol\":{\"keccak256\":\"0x4a6d36713a9df57be9b67af5a894b9ed7eb657e04580d0cdbfc53d5177b9b08b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://465960e251d693c1ce86fd9a638b772aac2bf207404a3ad1cf83259ad4da7e53\",\"dweb:/ipfs/QmdqvP9LqTkSn5C5mBj4WDeEYv5djBcPCEZG5tFmATYP3Q\"]},\"contracts/persistent/address-list-registry/address-list-owners/utils/AddOnlyAddressListOwnerBase.sol\":{\"keccak256\":\"0xd3b355f8146b7df79e4537b021379a237d6620c0bdec25e9d96f2b741864909a\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://fcddc5b1dcbe7588943492a5d62ede92f23c46db0bf523267fda0ba9e8acafb5\",\"dweb:/ipfs/QmRssFbEBCRwELD7pvnU7GWoZzxfZocys4sFW33VL71jpt\"]},\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/release/interfaces/ICompoundV3Configurator.sol\":{\"keccak256\":\"0x62869ddb50774e1c9e1c7e848886837df5013fbe2291a91a2ffee6280e0be0d2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a0dd519eef7bf6ae0d509fae50f16e587f231d32a03740ba6a60b2ca69addb37\",\"dweb:/ipfs/QmTRY3M7tdwKudAMFXo9yGUhvgdQV8ZJFtCWE5UHdmzuEx\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_addressListRegistry", "type": "address" }, { "internalType": "string", "name": "_listDescription", "type": "string" }, { "internalType": "address", "name": "_compoundV3Configurator", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address[]", "name": "_items", "type": "address[]" } ], "stateMutability": "nonpayable", "type": "function", "name": "addValidatedItemsToList" } ], "devdoc": { "kind": "dev", "methods": { "addValidatedItemsToList(address[])": { "details": "Override if access control needed", "params": { "_items": "Items to add" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "addValidatedItemsToList(address[])": { "notice": "Add items to the list after subjecting them to validation" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/persistent/address-list-registry/address-list-owners/CompoundV3CTokenListOwner.sol": "CompoundV3CTokenListOwner" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/address-list-registry/AddressListRegistry.sol": { "keccak256": "0xf00a9e376e3ec2a223f463f71c15ee3af3642dd028bc3762440e316b760c8048", "urls": [ "bzz-raw://01986c9327b5dfbfac21316dced6d68727931ddde1278ed1342d878004f984b9", "dweb:/ipfs/QmdXkFaUU43JqMTYEREbWa129rohdqN7GXy7mVRpjCfSLD" ], "license": "GPL-3.0" }, "contracts/persistent/address-list-registry/address-list-owners/CompoundV3CTokenListOwner.sol": { "keccak256": "0x4a6d36713a9df57be9b67af5a894b9ed7eb657e04580d0cdbfc53d5177b9b08b", "urls": [ "bzz-raw://465960e251d693c1ce86fd9a638b772aac2bf207404a3ad1cf83259ad4da7e53", "dweb:/ipfs/QmdqvP9LqTkSn5C5mBj4WDeEYv5djBcPCEZG5tFmATYP3Q" ], "license": "GPL-3.0" }, "contracts/persistent/address-list-registry/address-list-owners/utils/AddOnlyAddressListOwnerBase.sol": { "keccak256": "0xd3b355f8146b7df79e4537b021379a237d6620c0bdec25e9d96f2b741864909a", "urls": [ "bzz-raw://fcddc5b1dcbe7588943492a5d62ede92f23c46db0bf523267fda0ba9e8acafb5", "dweb:/ipfs/QmRssFbEBCRwELD7pvnU7GWoZzxfZocys4sFW33VL71jpt" ], "license": "GPL-3.0" }, "contracts/persistent/dispatcher/IDispatcher.sol": { "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", "urls": [ "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" ], "license": "GPL-3.0" }, "contracts/release/interfaces/ICompoundV3Configurator.sol": { "keccak256": "0x62869ddb50774e1c9e1c7e848886837df5013fbe2291a91a2ffee6280e0be0d2", "urls": [ "bzz-raw://a0dd519eef7bf6ae0d509fae50f16e587f231d32a03740ba6a60b2ca69addb37", "dweb:/ipfs/QmTRY3M7tdwKudAMFXo9yGUhvgdQV8ZJFtCWE5UHdmzuEx" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 13 } diff --git a/eth_defi/abi/enzyme/ComptrollerLib.json b/eth_defi/abi/enzyme/ComptrollerLib.json index 6789d324..998b351d 100644 --- a/eth_defi/abi/enzyme/ComptrollerLib.json +++ b/eth_defi/abi/enzyme/ComptrollerLib.json @@ -1,2545 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_dispatcher", - "type": "address" - }, - { - "internalType": "address", - "name": "_protocolFeeReserve", - "type": "address" - }, - { - "internalType": "address", - "name": "_fundDeployer", - "type": "address" - }, - { - "internalType": "address", - "name": "_valueInterpreter", - "type": "address" - }, - { - "internalType": "address", - "name": "_externalPositionManager", - "type": "address" - }, - { - "internalType": "address", - "name": "_feeManager", - "type": "address" - }, - { - "internalType": "address", - "name": "_integrationManager", - "type": "address" - }, - { - "internalType": "address", - "name": "_policyManager", - "type": "address" - }, - { - "internalType": "address", - "name": "_gasRelayPaymasterFactory", - "type": "address" - }, - { - "internalType": "address", - "name": "_mlnToken", - "type": "address" - }, - { - "internalType": "address", - "name": "_wethToken", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bool", - "name": "autoProtocolFeeSharesBuyback", - "type": "bool" - } - ], - "name": "AutoProtocolFeeSharesBuybackSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes", - "name": "failureReturnData", - "type": "bytes" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "sharesAmount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "buybackValueInMln", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "gav", - "type": "uint256" - } - ], - "name": "BuyBackMaxProtocolFeeSharesFailed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [], - "name": "DeactivateFeeManagerFailed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "gasRelayPaymaster", - "type": "address" - } - ], - "name": "GasRelayPaymasterSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "sharesDue", - "type": "uint256" - } - ], - "name": "MigratedSharesDuePaid", - "type": "event" - }, - { - "anonymous": false, - "inputs": [], - "name": "PayProtocolFeeDuringDestructFailed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "bytes", - "name": "failureReturnData", - "type": "bytes" - }, - { - "indexed": true, - "internalType": "address", - "name": "redeemer", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "sharesAmount", - "type": "uint256" - } - ], - "name": "PreRedeemSharesHookFailed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [], - "name": "RedeemSharesInKindCalcGavFailed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "buyer", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "investmentAmount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "sharesIssued", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "sharesReceived", - "type": "uint256" - } - ], - "name": "SharesBought", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "redeemer", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "sharesAmount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address[]", - "name": "receivedAssets", - "type": "address[]" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "receivedAssetAmounts", - "type": "uint256[]" - } - ], - "name": "SharesRedeemed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "vaultProxy", - "type": "address" - } - ], - "name": "VaultProxySet", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "bool", - "name": "_isMigration", - "type": "bool" - } - ], - "name": "activate", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_sharesAmount", - "type": "uint256" - } - ], - "name": "buyBackProtocolFeeShares", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_investmentAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_minSharesQuantity", - "type": "uint256" - } - ], - "name": "buyShares", - "outputs": [ - { - "internalType": "uint256", - "name": "sharesReceived_", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_buyer", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_investmentAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_minSharesQuantity", - "type": "uint256" - } - ], - "name": "buySharesOnBehalf", - "outputs": [ - { - "internalType": "uint256", - "name": "sharesReceived_", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "calcGav", - "outputs": [ - { - "internalType": "uint256", - "name": "gav_", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "calcGrossShareValue", - "outputs": [ - { - "internalType": "uint256", - "name": "grossShareValue_", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_extension", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_actionId", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_callArgs", - "type": "bytes" - } - ], - "name": "callOnExtension", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "deployGasRelayPaymaster", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "depositToGasRelayPaymaster", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_deactivateFeeManagerGasLimit", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_payProtocolFeeGasLimit", - "type": "uint256" - } - ], - "name": "destructActivated", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "destructUnactivated", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "doesAutoProtocolFeeSharesBuyback", - "outputs": [ - { - "internalType": "bool", - "name": "doesAutoBuyback_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getDenominationAsset", - "outputs": [ - { - "internalType": "address", - "name": "denominationAsset_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getDispatcher", - "outputs": [ - { - "internalType": "address", - "name": "dispatcher_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getExternalPositionManager", - "outputs": [ - { - "internalType": "address", - "name": "externalPositionManager_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getFeeManager", - "outputs": [ - { - "internalType": "address", - "name": "feeManager_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getFundDeployer", - "outputs": [ - { - "internalType": "address", - "name": "fundDeployer_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getGasRelayPaymaster", - "outputs": [ - { - "internalType": "address", - "name": "gasRelayPaymaster_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getGasRelayPaymasterFactory", - "outputs": [ - { - "internalType": "address", - "name": "gasRelayPaymasterFactory_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getGasRelayTrustedForwarder", - "outputs": [ - { - "internalType": "address", - "name": "trustedForwarder_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getIntegrationManager", - "outputs": [ - { - "internalType": "address", - "name": "integrationManager_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_who", - "type": "address" - } - ], - "name": "getLastSharesBoughtTimestampForAccount", - "outputs": [ - { - "internalType": "uint256", - "name": "lastSharesBoughtTimestamp_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getMlnToken", - "outputs": [ - { - "internalType": "address", - "name": "mlnToken_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getPolicyManager", - "outputs": [ - { - "internalType": "address", - "name": "policyManager_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getProtocolFeeReserve", - "outputs": [ - { - "internalType": "address", - "name": "protocolFeeReserve_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getSharesActionTimelock", - "outputs": [ - { - "internalType": "uint256", - "name": "sharesActionTimelock_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getValueInterpreter", - "outputs": [ - { - "internalType": "address", - "name": "valueInterpreter_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getVaultProxy", - "outputs": [ - { - "internalType": "address", - "name": "vaultProxy_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getWethToken", - "outputs": [ - { - "internalType": "address", - "name": "wethToken_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_denominationAsset", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_sharesActionTimelock", - "type": "uint256" - } - ], - "name": "init", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "enum IVault.VaultAction", - "name": "_action", - "type": "uint8" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - } - ], - "name": "permissionedVaultAction", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_sender", - "type": "address" - }, - { - "internalType": "address", - "name": "_recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "preTransferSharesHook", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_sender", - "type": "address" - } - ], - "name": "preTransferSharesHookFreelyTransferable", - "outputs": [], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "pullWethForGasRelayer", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_sharesQuantity", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "_payoutAssets", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "_payoutAssetPercentages", - "type": "uint256[]" - } - ], - "name": "redeemSharesForSpecificAssets", - "outputs": [ - { - "internalType": "uint256[]", - "name": "payoutAmounts_", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_sharesQuantity", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "_additionalAssets", - "type": "address[]" - }, - { - "internalType": "address[]", - "name": "_assetsToSkip", - "type": "address[]" - } - ], - "name": "redeemSharesInKind", - "outputs": [ - { - "internalType": "address[]", - "name": "payoutAssets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "payoutAmounts_", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bool", - "name": "_nextAutoProtocolFeeSharesBuyback", - "type": "bool" - } - ], - "name": "setAutoProtocolFeeSharesBuyback", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_nextGasRelayPaymaster", - "type": "address" - } - ], - "name": "setGasRelayPaymaster", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - } - ], - "name": "setVaultProxy", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "shutdownGasRelayPaymaster", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_contract", - "type": "address" - }, - { - "internalType": "bytes4", - "name": "_selector", - "type": "bytes4" - }, - { - "internalType": "bytes", - "name": "_encodedArgs", - "type": "bytes" - } - ], - "name": "vaultCallOnContract", - "outputs": [ - { - "internalType": "bytes", - "name": "returnData_", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x6101e06040523480156200001257600080fd5b5060405162005e9938038062005e9983398181016040526101608110156200003957600080fd5b81019080805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919050505082806001600160a01b03166080816001600160a01b031660601b81525050508a6001600160a01b031660a0816001600160a01b031660601b81525050866001600160a01b031660c0816001600160a01b031660601b81525050856001600160a01b0316610100816001600160a01b031660601b81525050886001600160a01b031660e0816001600160a01b031660601b81525050846001600160a01b0316610120816001600160a01b031660601b81525050816001600160a01b0316610140816001600160a01b031660601b81525050836001600160a01b0316610160816001600160a01b031660601b81525050896001600160a01b0316610180816001600160a01b031660601b81525050876001600160a01b03166101a0816001600160a01b031660601b81525050806001600160a01b03166101c0816001600160a01b031660601b8152505060018060146101000a81548160ff021916908315150217905550505050505050505050505060805160601c60a05160601c60c05160601c60e05160601c6101005160601c6101205160601c6101405160601c6101605160601c6101805160601c6101a05160601c6101c05160601c615be1620002b860003980611269525080611f2152508061269a525080612676525080612c78525080612c9c525080612ce4525080612196525080612318525080612cc05250806121ca5250615be16000f3fe608060405234801561001057600080fd5b50600436106102535760003560e01c8063a01fd15711610146578063db69681f116100c3578063e7c4569011610087578063e7c456901461097c578063ebb3d58914610984578063f2d638261461098c578063f9005af314610994578063f9d5fe781461099c578063faf9096b146109c257610253565b8063db69681f1461085a578063e269c3d614610862578063e53a73b91461086a578063e572ced114610872578063e70e605e1461097457610253565b8063c98091871161010a578063c98091871461081b578063ce5e84a314610823578063d44ad6cb14610842578063da41962e1461084a578063da72503c1461085257610253565b8063a01fd157146107af578063ac259456146107cb578063b10ea2b0146107d3578063b3fc38e9146107f0578063beebc5da146107f857610253565b80636af8e7eb116101d45780637f20170d116101985780637f20170d14610724578063875fb4b31461074a578063877fd8941461075257806392b575b61461078457806397c0ac87146107a757610253565b80636af8e7eb146105655780636ea21143146106d1578063716d4da4146106d957806373eecf47146106e157806379951f0f1461070757610253565b8063399ae7241161021b578063399ae7241461047057806339bf70d11461049c5780634c252f911461051f5780634da471b71461054357806356cff99f1461055d57610253565b806310acd06d1461025857806312f20526146102d25780632dc7a3a0146103085780633462fcc114610327578063397bfe551461044a575b600080fd5b6102d06004803603604081101561026e57600080fd5b60ff8235169190810190604081016020820135600160201b81111561029257600080fd5b8201836020820111156102a457600080fd5b803590602001918460018302840111600160201b831117156102c557600080fd5b5090925090506109ca565b005b6102d0600480360360608110156102e857600080fd5b506001600160a01b03813581169160208101359091169060400135610afa565b6102d06004803603602081101561031e57600080fd5b50351515610c67565b6103fa6004803603608081101561033d57600080fd5b6001600160a01b0382351691602081013591810190606081016040820135600160201b81111561036c57600080fd5b82018360208201111561037e57600080fd5b803590602001918460208302840111600160201b8311171561039f57600080fd5b919390929091602081019035600160201b8111156103bc57600080fd5b8201836020820111156103ce57600080fd5b803590602001918460208302840111600160201b831117156103ef57600080fd5b509092509050610cca565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561043657818101518382015260200161041e565b505050509050019250505060405180910390f35b6102d06004803603602081101561046057600080fd5b50356001600160a01b0316610f1e565b6102d06004803603604081101561048657600080fd5b506001600160a01b038135169060200135610f7a565b6102d0600480360360608110156104b257600080fd5b6001600160a01b0382351691602081013591810190606081016040820135600160201b8111156104e157600080fd5b8201836020820111156104f357600080fd5b803590602001918460018302840111600160201b8311171561051457600080fd5b5090925090506110d6565b610527611267565b604080516001600160a01b039092168252519081900360200190f35b61054b61128c565b60408051918252519081900360200190f35b61054b611292565b6106386004803603608081101561057b57600080fd5b6001600160a01b0382351691602081013591810190606081016040820135600160201b8111156105aa57600080fd5b8201836020820111156105bc57600080fd5b803590602001918460208302840111600160201b831117156105dd57600080fd5b919390929091602081019035600160201b8111156105fa57600080fd5b82018360208201111561060c57600080fd5b803590602001918460208302840111600160201b8311171561062d57600080fd5b509092509050611732565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b8381101561067c578181015183820152602001610664565b50505050905001838103825284818151815260200191508051906020019060200280838360005b838110156106bb5781810151838201526020016106a3565b5050505090500194505050505060405180910390f35b610527611d4e565b6102d0611e2f565b6102d0600480360360208110156106f757600080fd5b50356001600160a01b0316611e4c565b6102d06004803603602081101561071d57600080fd5b5035611e60565b61054b6004803603602081101561073a57600080fd5b50356001600160a01b0316611f00565b610527611f1f565b61054b6004803603606081101561076857600080fd5b506001600160a01b038135169060208101359060400135611f43565b6102d06004803603604081101561079a57600080fd5b5080359060200135612052565b610527612194565b6107b76121b8565b604080519115158252519081900360200190f35b6105276121c8565b6102d0600480360360208110156107e957600080fd5b50356121ec565b610527612316565b61054b6004803603604081101561080e57600080fd5b508035906020013561233a565b61052761236e565b6102d06004803603602081101561083957600080fd5b5035151561237d565b610527612674565b610527612698565b61054b6126bc565b6102d06127b6565b610527612952565b6102d0612961565b6108ff6004803603606081101561088857600080fd5b6001600160a01b03823516916001600160e01b031960208201351691810190606081016040820135600160201b8111156108c157600080fd5b8201836020820111156108d357600080fd5b803590602001918460018302840111600160201b831117156108f457600080fd5b509092509050612971565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610939578181015183820152602001610921565b50505050905090810190601f1680156109665780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610527612c76565b610527612c9a565b610527612cbe565b610527612ce2565b6102d0612d06565b6102d0600480360360208110156109b257600080fd5b50356001600160a01b0316612e22565b610527612e33565b6109d43384612e42565b600683600a8111156109e257fe5b1415610a51576109f0612952565b6001600160a01b031682826020811015610a0957600080fd5b50356001600160a01b03161415610a515760405162461bcd60e51b815260040180806020018281038252603a815260200180615b1b603a913960400191505060405180910390fd5b610a5961236e565b6001600160a01b03166324e600128484846040518463ffffffff1660e01b81526004018084600a811115610a8957fe5b8152602001806020018281038252848482818152602001925080828437600081840152601f19601f820116905080830192505050945050505050600060405180830381600087803b158015610add57600080fd5b505af1158015610af1573d6000803e3d6000fd5b50505050505050565b6000610b0461236e565b9050336001600160a01b03821614610b4d5760405162461bcd60e51b815260040180806020018281038252602f815260200180615ac6602f913960400191505060405180910390fd5b610b578185612fd1565b610b5f612674565b604080516001600160a01b038781166020830152868116828401526060808301879052835180840390910181526080830193849052630442bad560e01b90935230608483018181529490911693630442bad5939192600292919060a40183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610bfb578181015183820152602001610be3565b50505050905090810190601f168015610c285780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b158015610c4957600080fd5b505af1158015610c5d573d6000803e3d6000fd5b5050505050505050565b610c77610c7261305b565b61309f565b60018054821515600160a81b810260ff60a81b199092169190911790915560408051918252517f8ccd4cc3a51ed6f61f2b34b8d0a1ac137376931714380a7702b410ed174d6a739181900360200190a150565b6060610cd461316a565b6001805460ff60b81b1916600160b81b1790556000610cf161305b565b9050848314610d315760405162461bcd60e51b815260040180806020018281038252602d8152602001806158a0602d913960400191505060405180910390fd5b610d6d8686808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506131b792505050565b610da85760405162461bcd60e51b81526004018080602001828103825260358152602001806158cd6035913960400191505060405180910390fd5b6000610db2611292565b90506000610dbe61236e565b9050600080610dd183868d60018861324b565b9092509050610df8838d8c8c8c8c610df388610ded8d8c61353d565b90613596565b6135fd565b9550610e3d858d848d8d808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508d92508b91506139079050565b8b6001600160a01b0316856001600160a01b03167fbf88879a1555e4d7d38ebeffabce61fdf5e12ea0468abf855a72ec17b432bed5848d8d8b60405180858152602001806020018060200183810383528686828181526020019250602002808284376000838201819052601f909101601f1916909201858103845286518152865160209182019382890193509102908190849084905b83811015610eeb578181015183820152602001610ed3565b50505050905001965050505050505060405180910390a350505050506001805460ff60b81b191690559695505050505050565b610f26613ad0565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f5be181178e61e61e33f79c396c7194b8f3c80f77899da7bd96fe537411300bcb9181900360200190a150565b6000610f84612952565b6001600160a01b031614610fdf576040805162461bcd60e51b815260206004820152601960248201527f696e69743a20416c726561647920696e697469616c697a656400000000000000604482015290519081900360640190fd5b610fe7611f1f565b6001600160a01b031663c496f8e8836040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561103357600080fd5b505afa158015611047573d6000803e3d6000fd5b505050506040513d602081101561105d57600080fd5b50516110b0576040805162461bcd60e51b815260206004820152601c60248201527f696e69743a204261642064656e6f6d696e6174696f6e20617373657400000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b039390931692909217909155600255565b6110de61316a565b6001805460ff60b81b1916600160b81b1790556110f9613b3d565b6001805460ff60b01b1916600160b01b179055611114612ce2565b6001600160a01b0316846001600160a01b0316148061114b5750611136612c9a565b6001600160a01b0316846001600160a01b0316145b8061116e5750611159612316565b6001600160a01b0316846001600160a01b0316145b6111a95760405162461bcd60e51b81526004018080602001828103825260238152602001806159956023913960400191505060405180910390fd5b836001600160a01b0316631bee801e6111c061305b565b8585856040518563ffffffff1660e01b815260040180856001600160a01b03168152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b15801561123b57600080fd5b505af115801561124f573d6000803e3d6000fd5b50506001805461ffff60b01b19169055505050505050565b7f00000000000000000000000000000000000000000000000000000000000000005b90565b60025490565b60008061129d61236e565b90506060816001600160a01b031663c4b973706040518163ffffffff1660e01b815260040160006040518083038186803b1580156112da57600080fd5b505afa1580156112ee573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561131757600080fd5b8101908080516040519392919084600160201b82111561133657600080fd5b90830190602082018581111561134b57600080fd5b82518660208202830111600160201b8211171561136757600080fd5b82525081516020918201928201910280838360005b8381101561139457818101518382015260200161137c565b5050505090500160405250505090506060826001600160a01b031663b8b7f1476040518163ffffffff1660e01b815260040160006040518083038186803b1580156113de57600080fd5b505afa1580156113f2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561141b57600080fd5b8101908080516040519392919084600160201b82111561143a57600080fd5b90830190602082018581111561144f57600080fd5b82518660208202830111600160201b8211171561146b57600080fd5b82525081516020918201928201910280838360005b83811015611498578181015183820152602001611480565b505050509050016040525050509050815160001480156114b757508051155b156114c85760009350505050611289565b6060825167ffffffffffffffff811180156114e257600080fd5b5060405190808252806020026020018201604052801561150c578160200160208202803683370190505b50905060005b83518110156115c85783818151811061152757fe5b60200260200101516001600160a01b03166370a08231866040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561157b57600080fd5b505afa15801561158f573d6000803e3d6000fd5b505050506040513d60208110156115a557600080fd5b505182518390839081106115b557fe5b6020908102919091010152600101611512565b506115d1611f1f565b6001600160a01b031663ae6f52ad84836115e9612952565b6040518463ffffffff1660e01b8152600401808060200180602001846001600160a01b03168152602001838103835286818151815260200191508051906020019060200280838360005b8381101561164b578181015183820152602001611633565b50505050905001838103825285818151815260200191508051906020019060200280838360005b8381101561168a578181015183820152602001611672565b5050505090500195505050505050602060405180830381600087803b1580156116b257600080fd5b505af11580156116c6573d6000803e3d6000fd5b505050506040513d60208110156116dc57600080fd5b505182519095501561172b5760005b825181101561172957600061171284838151811061170557fe5b6020026020010151613b9c565b905061171e8782614118565b9650506001016116eb565b505b5050505090565b60608061173d61316a565b6001805460ff60b81b1916600160b81b179055600061175a61305b565b90506117988787808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506131b792505050565b6117d35760405162461bcd60e51b81526004018080602001828103825260398152602001806159b86039913960400191505060405180910390fd5b61180f8585808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506131b792505050565b61184a5760405162461bcd60e51b8152600401808060200182810382526035815260200180615ba06035913960400191505060405180910390fd5b60015460408051630c4b973760e41b815290516119b9926001600160a01b03169163c4b97370916004808301926000929190829003018186803b15801561189057600080fd5b505afa1580156118a4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260208110156118cd57600080fd5b8101908080516040519392919084600160201b8211156118ec57600080fd5b90830190602082018581111561190157600080fd5b82518660208202830111600160201b8211171561191d57600080fd5b82525081516020918201928201910280838360005b8381101561194a578181015183820152602001611932565b5050505090910160208d810282810182016040528e83529195508e94508d935083925085019084908082843760009201919091525050604080516020808c0282810182019093528b82529093508b92508a91829185019084908082843760009201919091525061417292505050565b925060006119c56121b8565b15611a5f57306001600160a01b03166356cff99f6040518163ffffffff1660e01b8152600401602060405180830381600087803b158015611a0557600080fd5b505af1925050508015611a2a57506040513d6020811015611a2557600080fd5b505160015b611a5c576040517ff5939ff9a66cf6d21ec93b246060bc17f5c062847e28d967d3dd617636b238d490600090a1611a5f565b90505b6001546000908190611a7d906001600160a01b0316858d848761324b565b91509150855167ffffffffffffffff81118015611a9957600080fd5b50604051908082528060200260200182016040528015611ac3578160200160208202803683370190505b50945060005b8651811015611c5857611b6d82610ded858a8581518110611ae657fe5b602090810291909101810151600154604080516370a0823160e01b81526001600160a01b039283166004820152905191909216926370a082319260248082019391829003018186803b158015611b3b57600080fd5b505afa158015611b4f573d6000803e3d6000fd5b505050506040513d6020811015611b6557600080fd5b50519061353d565b868281518110611b7957fe5b6020026020010181815250506000868281518110611b9357fe5b60200260200101511115611c505760015487516001600160a01b039091169063495d753c90899084908110611bc457fe5b60200260200101518f898581518110611bd957fe5b60200260200101516040518463ffffffff1660e01b815260040180846001600160a01b03168152602001836001600160a01b031681526020018281526020019350505050600060405180830381600087803b158015611c3757600080fd5b505af1158015611c4b573d6000803e3d6000fd5b505050505b600101611ac9565b508b6001600160a01b0316846001600160a01b03167fbf88879a1555e4d7d38ebeffabce61fdf5e12ea0468abf855a72ec17b432bed5848989604051808481526020018060200180602001838103835285818151815260200191508051906020019060200280838360005b83811015611cdb578181015183820152602001611cc3565b50505050905001838103825284818151815260200191508051906020019060200280838360005b83811015611d1a578181015183820152602001611d02565b505050509050019550505050505060405180910390a3505050506001805460ff60b81b191690559097909650945050505050565b6000611d586121c8565b6001600160a01b03166398a7c4c76040518163ffffffff1660e01b815260040160206040518083038186803b158015611d9057600080fd5b505afa158015611da4573d6000803e3d6000fd5b505050506040513d6020811015611dba57600080fd5b505160408051637da0a87760e01b815290516001600160a01b0390921691637da0a87791600480820192602092909190829003018186803b158015611dfe57600080fd5b505afa158015611e12573d6000803e3d6000fd5b505050506040513d6020811015611e2857600080fd5b5051905090565b611e3a610c7261305b565b611e4a611e45612e33565b614364565b565b611e54613ad0565b611e5d8161439f565b50565b611e686143f3565b611e7061236e565b6001600160a01b031663495d753c611e86611267565b611e8e612e33565b846040518463ffffffff1660e01b815260040180846001600160a01b03168152602001836001600160a01b031681526020018281526020019350505050600060405180830381600087803b158015611ee557600080fd5b505af1158015611ef9573d6000803e3d6000fd5b5050505050565b6001600160a01b0381166000908152600360205260409020545b919050565b7f000000000000000000000000000000000000000000000000000000000000000090565b6000806000611f5061128c565b1190506000611f5d61305b565b9050811580611fe85750611f6f612194565b6001600160a01b03166354391f09826040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015611fbb57600080fd5b505afa158015611fcf573d6000803e3d6000fd5b505050506040513d6020811015611fe557600080fd5b50515b612039576040805162461bcd60e51b815260206004820152601f60248201527f6275795368617265734f6e426568616c663a20556e617574686f72697a656400604482015290519081900360640190fd5b612046868686858561444a565b925050505b9392505050565b61205a613ad0565b612062613b3d565b6001805460ff60b01b1916600160b01b17905561207d61236e565b6001600160a01b031663d5c20fa2826040518263ffffffff1660e01b8152600401600060405180830381600088803b1580156120b857600080fd5b5087f1935050505080156120ca575060015b6120f8576040517f8a7579328a911284dedef6a7e68bbb1eae7d59418f2699cb5a3c26f6e57e4d7790600090a15b612100612ce2565b6001600160a01b031663bd8e959a836040518263ffffffff1660e01b8152600401600060405180830381600088803b15801561213b57600080fd5b5087f19350505050801561214d575060015b61217b576040517f681c534f5c2e473c9cc8ab1693257fb2b0e19a5c5ecd7d040201f1cf2a190c8790600090a15b61218361484e565b50506001805460ff60b01b19169055565b7f000000000000000000000000000000000000000000000000000000000000000090565b600154600160a81b900460ff1690565b7f000000000000000000000000000000000000000000000000000000000000000090565b6001546001600160a01b03168063714ca2d161220661305b565b6040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561224357600080fd5b505afa158015612257573d6000803e3d6000fd5b505050506040513d602081101561226d57600080fd5b50516122aa5760405162461bcd60e51b8152600401808060200182810382526026815260200180615af56026913960400191505060405180910390fd5b60006122b4611292565b9050816001600160a01b0316631ff46bfa846122d185878661489a565b846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b158015610add57600080fd5b7f000000000000000000000000000000000000000000000000000000000000000090565b600080600061234761128c565b119050600061235461305b565b9050612363818686858561444a565b925050505b92915050565b6001546001600160a01b031690565b612385613ad0565b600061238f61236e565b90508115612534576000816001600160a01b03166370a08231836040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156123e657600080fd5b505afa1580156123fa573d6000803e3d6000fd5b505050506040513d602081101561241057600080fd5b50519050801561253257816001600160a01b031663bfc77beb83846001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561246357600080fd5b505afa158015612477573d6000803e3d6000fd5b505050506040513d602081101561248d57600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b0393841660048201529290911660248301526044820185905251606480830192600092919082900301818387803b1580156124e557600080fd5b505af11580156124f9573d6000803e3d6000fd5b50506040805184815290517f8f9ec2c1cf1f95fcb5d89d3141949092850c5cfe04da4d9425dd840bf18cdc709350908190036020019150a15b505b806001600160a01b0316634ef0762e61254b612952565b6040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050600060405180830381600087803b15801561258a57600080fd5b505af115801561259e573d6000803e3d6000fd5b505050506125aa612ce2565b6001600160a01b03166380d57063836040518263ffffffff1660e01b8152600401808215158152602001915050600060405180830381600087803b1580156125f157600080fd5b505af1158015612605573d6000803e3d6000fd5b50505050612611612674565b6001600160a01b03166380d57063836040518263ffffffff1660e01b8152600401808215158152602001915050600060405180830381600087803b15801561265857600080fd5b505af115801561266c573d6000803e3d6000fd5b505050505050565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b6000806126c7611292565b90506127b0816126d561236e565b6001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561270d57600080fd5b505afa158015612721573d6000803e3d6000fd5b505050506040513d602081101561273757600080fd5b5051612741612952565b6001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561277957600080fd5b505afa15801561278d573d6000803e3d6000fd5b505050506040513d60208110156127a357600080fd5b505160ff16600a0a614a1b565b91505090565b6127bf3361309f565b60006127c9612e33565b6001600160a01b03161461280e5760405162461bcd60e51b81526004018080602001828103825260338152602001806159626033913960400191505060405180910390fd5b606061281861236e565b604080516001600160a01b0390921660248084019190915281518084039091018152604490920190526020810180516001600160e01b031663066ad14f60e21b179052905060006128676121c8565b6001600160a01b0316630c0872f5836040518263ffffffff1660e01b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156128c25781810151838201526020016128aa565b50505050905090810190601f1680156128ef5780820380516001836020036101000a031916815260200191505b5092505050602060405180830381600087803b15801561290e57600080fd5b505af1158015612922573d6000803e3d6000fd5b505050506040513d602081101561293857600080fd5b505190506129458161439f565b61294e81614364565b5050565b6000546001600160a01b031690565b612969613ad0565b611e4a61484e565b606061297e610c7261305b565b612986612194565b6001600160a01b0316638c500ea38686868660405180838380828437808301925050509250505060405180910390206040518463ffffffff1660e01b815260040180846001600160a01b03168152602001836001600160e01b0319168152602001828152602001935050505060206040518083038186803b158015612a0a57600080fd5b505afa158015612a1e573d6000803e3d6000fd5b505050506040513d6020811015612a3457600080fd5b5051612a87576040805162461bcd60e51b815260206004820181905260248201527f7661756c7443616c6c4f6e436f6e74726163743a204e6f7420616c6c6f776564604482015290519081900360640190fd5b612a8f61236e565b6001600160a01b031663a90cce4b8686868660405160200180846001600160e01b03191681526004018383808284378083019250505093505050506040516020818303038152906040526040518363ffffffff1660e01b815260040180836001600160a01b0316815260200180602001828103825283818151815260200191508051906020019080838360005b83811015612b34578181015183820152602001612b1c565b50505050905090810190601f168015612b615780820380516001836020036101000a031916815260200191505b509350505050600060405180830381600087803b158015612b8157600080fd5b505af1158015612b95573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526020811015612bbe57600080fd5b8101908080516040519392919084600160201b821115612bdd57600080fd5b908301906020820185811115612bf257600080fd5b8251600160201b811182820188101715612c0b57600080fd5b82525081516020918201929091019080838360005b83811015612c38578181015183820152602001612c20565b50505050905090810190601f168015612c655780820380516001836020036101000a031916815260200191505b506040525050509050949350505050565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b612d0f3361309f565b60048054604080516305fd8c7160e41b815290516001600160a01b0390921692635fd8c71092828201926000929082900301818387803b158015612d5257600080fd5b505af1158015612d66573d6000803e3d6000fd5b50506001546001600160a01b03169150634ef0762e9050612d85611267565b6040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050600060405180830381600087803b158015612dc457600080fd5b505af1158015612dd8573d6000803e3d6000fd5b5050600480546001600160a01b03191690555050604080516000815290517f66756eda85190d0bcec058815fd7e2154167d102e21d96cab701630af02f24739181900360200190a1565b611e5d612e2d61236e565b82612fd1565b6004546001600160a01b031690565b600154600090600160b01b900460ff1615612f9057612e5f612c9a565b6001600160a01b0316836001600160a01b03161415612ed857600482600a811115612e8657fe5b1480612e9d5750600682600a811115612e9b57fe5b145b80612eb35750600782600a811115612eb157fe5b145b80612eca575060055b82600a811115612ec857fe5b145b15612ed3575060015b612f90565b612ee0612ce2565b6001600160a01b0316836001600160a01b03161415612f2b57600282600a811115612f0757fe5b1480612f1e5750600182600a811115612f1c57fe5b145b80612eca57506003612ebc565b612f33612316565b6001600160a01b0316836001600160a01b03161415612f9057600982600a811115612f5a57fe5b1480612f715750600882600a811115612f6f57fe5b145b80612f875750600a82600a811115612f8557fe5b145b15612f90575060015b80612fcc5760405162461bcd60e51b8152600401808060200182810382526033815260200180615a936033913960400191505060405180910390fd5b505050565b6000612fdc82611f00565b9050801580612ffb5750612fee61128c565b612ff84283614a47565b10155b8061300a575061300a83614aa4565b612fcc576040805162461bcd60e51b815260206004820152601860248201527f53686172657320616374696f6e2074696d656c6f636b65640000000000000000604482015290519081900360640190fd5b6000601836108015906130865750613071611d4e565b6001600160a01b0316336001600160a01b0316145b1561309a575060131936013560601c611289565b503390565b6130a761236e565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b1580156130df57600080fd5b505afa1580156130f3573d6000803e3d6000fd5b505050506040513d602081101561310957600080fd5b50516001600160a01b03828116911614611e5d576040805162461bcd60e51b815260206004820152601860248201527f4f6e6c792066756e64206f776e65722063616c6c61626c650000000000000000604482015290519081900360640190fd5b600154600160b81b900460ff1615611e4a576040805162461bcd60e51b815260206004820152600b60248201526a52652d656e7472616e636560a81b604482015290519081900360640190fd5b600060018251116131ca57506001611f1a565b815160005b8181101561324157600181015b82811015613238578481815181106131f057fe5b60200260200101516001600160a01b031685838151811061320d57fe5b60200260200101516001600160a01b031614156132305760009350505050611f1a565b6001016131dc565b506001016131cf565b5060019392505050565b6000806132588787612fd1565b60008790506000816001600160a01b03166370a08231896040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156132ac57600080fd5b505afa1580156132c0573d6000803e3d6000fd5b505050506040513d60208110156132d657600080fd5b505190506000198714156132ec578093506132f0565b8693505b6000841161332f5760405162461bcd60e51b815260040180806020018281038252602881526020018061593a6028913960400191505060405180910390fd5b61333b88858888614bb2565b6000826001600160a01b03166370a082318a6040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561338a57600080fd5b505afa15801561339e573d6000803e3d6000fd5b505050506040513d60208110156133b457600080fd5b505190506000198814156133ca578094506133e9565b818110156133e9576133e66133df8383614a47565b8690614a47565b94505b896001600160a01b031663d5c20fa26040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561342457600080fd5b505af1158015613438573d6000803e3d6000fd5b5050505060008611801561344f575061344f6121b8565b1561345e5761345e8a87614dae565b826001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561349757600080fd5b505afa1580156134ab573d6000803e3d6000fd5b505050506040513d60208110156134c157600080fd5b505160408051633b9e9f0160e21b81526001600160a01b038c81166004830152602482018990529151929650908c169163ee7a7c049160448082019260009290919082900301818387803b15801561351857600080fd5b505af115801561352c573d6000803e3d6000fd5b505050505050509550959350505050565b60008261354c57506000612368565b8282028284828161355957fe5b041461204b5760405162461bcd60e51b81526004018080602001828103825260218152602001806159f16021913960400191505060405180910390fd5b60008082116135ec576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b8183816135f557fe5b049392505050565b60606000613609612952565b905060008667ffffffffffffffff8111801561362457600080fd5b5060405190808252806020026020018201604052801561364e578160200160208202803683370190505b50925060005b878110156138b95761368187878381811061366b57fe5b905060200201358361411890919063ffffffff16565b915061aaaa89898381811061369257fe5b905060200201356001600160a01b03166001600160a01b031614156136b6576138b1565b6136be611f1f565b6001600160a01b0316634c67e106846136f8612710610ded8c8c888181106136e257fe5b905060200201358b61353d90919063ffffffff16565b8c8c8681811061370457fe5b905060200201356001600160a01b03166040518463ffffffff1660e01b815260040180846001600160a01b03168152602001838152602001826001600160a01b031681526020019350505050602060405180830381600087803b15801561376a57600080fd5b505af115801561377e573d6000803e3d6000fd5b505050506040513d602081101561379457600080fd5b505184518590839081106137a457fe5b60200260200101818152505060008482815181106137be57fe5b6020026020010151116138025760405162461bcd60e51b81526004018080602001828103825260388152602001806159026038913960400191505060405180910390fd5b8a6001600160a01b031663495d753c8a8a8481811061381d57fe5b905060200201356001600160a01b03168c87858151811061383a57fe5b60200260200101516040518463ffffffff1660e01b815260040180846001600160a01b03168152602001836001600160a01b031681526020018281526020019350505050600060405180830381600087803b15801561389857600080fd5b505af11580156138ac573d6000803e3d6000fd5b505050505b600101613654565b5061271081146138fa5760405162461bcd60e51b815260040180806020018281038252603b815260200180615834603b913960400191505060405180910390fd5b5050979650505050505050565b61390f612674565b6001600160a01b0316630442bad530600389898989898960405160200180876001600160a01b03168152602001866001600160a01b031681526020018581526020018060200180602001848152602001838103835286818151815260200191508051906020019060200280838360005b8381101561399757818101518382015260200161397f565b50505050905001838103825285818151815260200191508051906020019060200280838360005b838110156139d65781810151838201526020016139be565b50505050905001985050505050505050506040516020818303038152906040526040518463ffffffff1660e01b815260040180846001600160a01b03168152602001836009811115613a2457fe5b815260200180602001828103825283818151815260200191508051906020019080838360005b83811015613a62578181015183820152602001613a4a565b50505050905090810190601f168015613a8f5780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b158015613ab057600080fd5b505af1158015613ac4573d6000803e3d6000fd5b50505050505050505050565b613ad8612194565b6001600160a01b0316336001600160a01b031614611e4a576040805162461bcd60e51b815260206004820152601a60248201527f4f6e6c792046756e644465706c6f7965722063616c6c61626c65000000000000604482015290519081900360640190fd5b600154600160b01b900460ff1615611e4a576040805162461bcd60e51b815260206004820152601860248201527f5661756c7420616374696f6e2072652d656e7472616e63650000000000000000604482015290519081900360640190fd5b6000606080836001600160a01b03166380daddb86040518163ffffffff1660e01b8152600401600060405180830381600087803b158015613bdc57600080fd5b505af1158015613bf0573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040908152811015613c1957600080fd5b8101908080516040519392919084600160201b821115613c3857600080fd5b908301906020820185811115613c4d57600080fd5b82518660208202830111600160201b82111715613c6957600080fd5b82525081516020918201928201910280838360005b83811015613c96578181015183820152602001613c7e565b5050505090500160405260200180516040519392919084600160201b821115613cbe57600080fd5b908301906020820185811115613cd357600080fd5b82518660208202830111600160201b82111715613cef57600080fd5b82525081516020918201928201910280838360005b83811015613d1c578181015183820152602001613d04565b50505050905001604052505050915091506000613d37611f1f565b6001600160a01b031663ae6f52ad8484613d4f612952565b6040518463ffffffff1660e01b8152600401808060200180602001846001600160a01b03168152602001838103835286818151815260200191508051906020019060200280838360005b83811015613db1578181015183820152602001613d99565b50505050905001838103825285818151815260200191508051906020019060200280838360005b83811015613df0578181015183820152602001613dd8565b5050505090500195505050505050602060405180830381600087803b158015613e1857600080fd5b505af1158015613e2c573d6000803e3d6000fd5b505050506040513d6020811015613e4257600080fd5b505160408051633b35962d60e21b8152905191925060609182916001600160a01b0389169163ecd658b49160048082019260009290919082900301818387803b158015613e8e57600080fd5b505af1158015613ea2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040908152811015613ecb57600080fd5b8101908080516040519392919084600160201b821115613eea57600080fd5b908301906020820185811115613eff57600080fd5b82518660208202830111600160201b82111715613f1b57600080fd5b82525081516020918201928201910280838360005b83811015613f48578181015183820152602001613f30565b5050505090500160405260200180516040519392919084600160201b821115613f7057600080fd5b908301906020820185811115613f8557600080fd5b82518660208202830111600160201b82111715613fa157600080fd5b82525081516020918201928201910280838360005b83811015613fce578181015183820152602001613fb6565b50505050905001604052505050915091506000613fe9611f1f565b6001600160a01b031663ae6f52ad8484614001612952565b6040518463ffffffff1660e01b8152600401808060200180602001846001600160a01b03168152602001838103835286818151815260200191508051906020019060200280838360005b8381101561406357818101518382015260200161404b565b50505050905001838103825285818151815260200191508051906020019060200280838360005b838110156140a257818101518382015260200161408a565b5050505090500195505050505050602060405180830381600087803b1580156140ca57600080fd5b505af11580156140de573d6000803e3d6000fd5b505050506040513d60208110156140f457600080fd5b505190508084111561410d5761410a8482614a47565b96505b505050505050919050565b60008282018381101561204b576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60608061417f8584614f7d565b905083516000141561419257905061204b565b6060845167ffffffffffffffff811180156141ac57600080fd5b506040519080825280602002602001820160405280156141d6578160200160208202803683370190505b5090506000805b865181101561423d5761420c8782815181106141f557fe5b60200260200101518561510990919063ffffffff16565b61423557600183828151811061421e57fe5b911515602092830291909101909101526001909101905b6001016141dd565b508061424e5782935050505061204b565b825161425a9082614118565b67ffffffffffffffff8111801561427057600080fd5b5060405190808252806020026020018201604052801561429a578160200160208202803683370190505b50935060005b83518110156142e9578381815181106142b557fe5b60200260200101518582815181106142c957fe5b6001600160a01b03909216602092830291909101909101526001016142a0565b50825160005b87518110156143585783818151811061430457fe5b6020026020010151156143505787818151811061431d57fe5b602002602001015186838151811061433157fe5b6001600160a01b03909216602092830291909101909101526001909101905b6001016142ef565b50505050509392505050565b806001600160a01b031663d0e30db06040518163ffffffff1660e01b8152600401600060405180830381600087803b158015611ee557600080fd5b600480546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f66756eda85190d0bcec058815fd7e2154167d102e21d96cab701630af02f24739181900360200190a150565b6143fb612e33565b6001600160a01b0316336001600160a01b031614611e4a5760405162461bcd60e51b8152600401808060200182810382526021815260200180615b7f6021913960400191505060405180910390fd5b600061445461316a565b6001805460ff60b81b1916600160b81b17905561446f613b3d565b6001805460ff60b01b1916600160b01b179055836144be5760405162461bcd60e51b815260040180806020018281038252602a815260200180615a38602a913960400191505060405180910390fd5b60006144c861236e565b90508315806144dd57506144db81614aa4565b155b6145185760405162461bcd60e51b8152600401808060200182810382526031815260200180615a626031913960400191505060405180910390fd5b6000614522611292565b905061452f88888361515f565b816001600160a01b031663d5c20fa26040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561456a57600080fd5b505af115801561457e573d6000803e3d6000fd5b5050505061458a6121b8565b15614599576145998282614dae565b60006145ae6145a6612952565b86858b615244565b905060006145ef83856001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561270d57600080fd5b9050600061460982610ded85670de0b6b3a764000061353d565b90506000856001600160a01b03166370a082318d6040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561465a57600080fd5b505afa15801561466e573d6000803e3d6000fd5b505050506040513d602081101561468457600080fd5b5051604080516329460cc560e11b81526001600160a01b038f811660048301526024820186905291519293509088169163528c198a9160448082019260009290919082900301818387803b1580156146db57600080fd5b505af11580156146ef573d6000803e3d6000fd5b505050506146ff8c858488615332565b61478281876001600160a01b03166370a082318f6040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561475057600080fd5b505afa158015614764573d6000803e3d6000fd5b505050506040513d602081101561477a57600080fd5b505190614a47565b9650898710156147c35760405162461bcd60e51b815260040180806020018281038252603181526020018061586f6031913960400191505060405180910390fd5b88156147e5576001600160a01b038c1660009081526003602052604090204290555b604080518581526020810184905280820189905290516001600160a01b038e16917f849165c18b9d0fb161bcb145e4ab523d350e5c98f1dbbb1960331e7ee3ca6767919081900360600190a25050505050506001805461ffff60b01b1916905595945050505050565b600154600160a01b900460ff16156148975760405162461bcd60e51b8152600401808060200182810382526026815260200180615a126026913960400191505060405180910390fd5b30ff5b6000806148a5612952565b9050600061495284876001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156148e657600080fd5b505afa1580156148fa573d6000803e3d6000fd5b505050506040513d602081101561491057600080fd5b50516040805163313ce56760e01b815290516001600160a01b0387169163313ce567916004808301926020929190829003018186803b15801561277957600080fd5b9050600061496c670de0b6b3a7640000610ded848961353d565b9050614976611f1f565b6001600160a01b0316634c67e106848361498e612c76565b6040518463ffffffff1660e01b815260040180846001600160a01b03168152602001838152602001826001600160a01b031681526020019350505050602060405180830381600087803b1580156149e457600080fd5b505af11580156149f8573d6000803e3d6000fd5b505050506040513d6020811015614a0e57600080fd5b5051979650505050505050565b600082614a2957508061204b565b614a3f83610ded86670de0b6b3a764000061353d565b949350505050565b600082821115614a9e576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6000614aae612cbe565b6001600160a01b031663d0449d3d836040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015614afa57600080fd5b505afa158015614b0e573d6000803e3d6000fd5b505050506040513d6020811015614b2457600080fd5b5051806123685750614b34612194565b6001600160a01b0316636c579e57836040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015614b8057600080fd5b505afa158015614b94573d6000803e3d6000fd5b505050506040513d6020811015614baa57600080fd5b505192915050565b614bba613b3d565b6001805460ff60b01b1916600160b01b179055614bd5612ce2565b604080516001600160a01b038781166020830152818301879052851515606080840191909152835180840390910181526080830193849052631dd6705960e21b9093529290921691637759c1649160039185906084018084815260200180602001838152602001828103825284818151815260200191508051906020019080838360005b83811015614c71578181015183820152602001614c59565b50505050905090810190601f168015614c9e5780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b158015614cbf57600080fd5b505af1925050508015614cd0575060015b614d9b573d808015614cfe576040519150601f19603f3d011682016040523d82523d6000602084013e614d03565b606091505b50846001600160a01b0316816040518082805190602001908083835b60208310614d3e5780518252601f199092019160209182019101614d1f565b51815160209384036101000a6000190180199092169116179052604080519290940182900382208b835293519395507fb3ea7e5141baf21804d12f5a635e83e0cb869c8b06b88648364769f85aa73fc294509083900301919050a3505b50506001805460ff60b01b191690555050565b6000826001600160a01b03166370a08231614dc7612698565b6040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015614e0457600080fd5b505afa158015614e18573d6000803e3d6000fd5b505050506040513d6020811015614e2e57600080fd5b505190506000614e3f84838561489a565b9050836001600160a01b0316631ff46bfa8383866040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b158015614e9757600080fd5b505af1925050508015614ea8575060015b614f77573d808015614ed6576040519150601f19603f3d011682016040523d82523d6000602084013e614edb565b606091505b50806040518082805190602001908083835b60208310614f0c5780518252601f199092019160209182019101614eed565b51815160209384036101000a6000190180199092169116179052604080519290940182900382208983529082018890528184018a905292519294507f0917b727c8497d0fc305acafacb424e8c9b12715d2b9b19bee777ef9d134f08f935060609083900301919050a2505b50505050565b6060815160001415614f90575081612368565b6060835167ffffffffffffffff81118015614faa57600080fd5b50604051908082528060200260200182016040528015614fd4578160200160208202803683370190505b50845190915060005b85518110156150365761500385878381518110614ff657fe5b6020026020010151615109565b1561502e57600183828151811061501657fe5b91151560209283029190910190910152600019909101905b600101614fdd565b50845181141561504857849250615101565b8015615101578067ffffffffffffffff8111801561506557600080fd5b5060405190808252806020026020018201604052801561508f578160200160208202803683370190505b5092506000805b86518110156150fe578381815181106150ab57fe5b60200260200101516150f6578681815181106150c357fe5b60200260200101518583815181106150d757fe5b6001600160a01b03909216602092830291909101909101526001909101905b600101615096565b50505b505092915050565b6000805b83518110156151555783818151811061512257fe5b60200260200101516001600160a01b0316836001600160a01b0316141561514d576001915050612368565b60010161510d565b5060009392505050565b615167612ce2565b604080516001600160a01b0386811660208301528183018690528251808303840181526060830193849052631dd6705960e21b9093529290921691637759c1649160019185906064018084815260200180602001838152602001828103825284818151815260200191508051906020019080838360005b838110156151f65781810151838201526020016151de565b50505050905090810190601f1680156152235780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b158015610add57600080fd5b600080856001600160a01b03166370a08231856040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561529457600080fd5b505afa1580156152a8573d6000803e3d6000fd5b505050506040513d60208110156152be57600080fd5b505190506152d76001600160a01b03871686868661555d565b61532881876001600160a01b03166370a08231876040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561475057600080fd5b9695505050505050565b600061533e8285614118565b9050615348612ce2565b604080516001600160a01b0388811660208301528183018890526060808301889052835180840390910181526080830193849052631dd6705960e21b9093529290921691637759c1649160029185906084018084815260200180602001838152602001828103825284818151815260200191508051906020019080838360005b838110156153e05781810151838201526020016153c8565b50505050905090810190601f16801561540d5780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b15801561542e57600080fd5b505af1158015615442573d6000803e3d6000fd5b5050505061544e612674565b604080516001600160a01b0388811660208301528183018890526060820187905260808083018690528351808403909101815260a0830193849052630442bad560e01b9093523060a483018181529490911693630442bad5939192600092919060c40183815260200180602001828103825283818151815260200191508051906020019080838360005b838110156154f05781810151838201526020016154d8565b50505050905090810190601f16801561551d5780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b15801561553e57600080fd5b505af1158015615552573d6000803e3d6000fd5b505050505050505050565b604080516001600160a01b0380861660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052614f779085906060615607826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166156639092919063ffffffff16565b805190915015612fcc5780806020019051602081101561562657600080fd5b5051612fcc5760405162461bcd60e51b815260040180806020018281038252602a815260200180615b55602a913960400191505060405180910390fd5b6060614a3f84846000858561567785615789565b6156c8576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b602083106157075780518252601f1990920191602091820191016156e8565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114615769576040519150601f19603f3d011682016040523d82523d6000602084013e61576e565b606091505b509150915061577e82828661578f565b979650505050505050565b3b151590565b6060831561579e57508161204b565b8251156157ae5782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156157f85781810151838201526020016157e0565b50505050905090810190601f1680156158255780820380516001836020036101000a031916815260200191505b509250505060405180910390fdfe5f5f7061796f7574537065636966696564417373657450657263656e74616765733a2050657263656e7473206d75737420746f74616c20313030255f5f6275795368617265733a20536861726573207265636569766564203c205f6d696e5368617265735175616e7469747972656465656d536861726573466f7253706563696669634173736574733a20556e657175616c2061727261797372656465656d536861726573466f7253706563696669634173736574733a204475706c6963617465207061796f75742061737365745f5f7061796f7574537065636966696564417373657450657263656e74616765733a205a65726f20616d6f756e7420666f722061737365745f5f72656465656d53686172657353657475703a204e6f2073686172657320746f2072656465656d6465706c6f7947617352656c61795061796d61737465723a205061796d617374657220616c7265616479206465706c6f79656463616c6c4f6e457874656e73696f6e3a205f657874656e73696f6e20696e76616c696472656465656d536861726573496e4b696e643a205f6164646974696f6e616c41737365747320636f6e7461696e73206475706c696361746573536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775f5f73656c6644657374727563743a204f6e6c792064656c65676174652063616c6c61626c655f5f6275795368617265733a205f6d696e5368617265735175616e74697479206d757374206265203e305f5f6275795368617265733a2050656e64696e67206d6967726174696f6e206f72207265636f6e66696775726174696f6e5f5f6173736572745065726d697373696f6e65645661756c74416374696f6e3a20416374696f6e206e6f7420616c6c6f7765647072655472616e73666572536861726573486f6f6b3a204f6e6c79205661756c7450726f78792063616c6c61626c656275794261636b50726f746f636f6c4665655368617265733a20556e617574686f72697a65647065726d697373696f6e65645661756c74416374696f6e3a2043616e6e6f7420756e747261636b2064656e6f6d696e6174696f6e2061737365745361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565644f6e6c79204761732052656c6179205061796d61737465722063616c6c61626c6572656465656d536861726573496e4b696e643a205f617373657473546f536b697020636f6e7461696e73206475706c696361746573a164736f6c634300060c000a", - "sourceMap": "1401:51695:79:-:0;;;6545:899;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6963:25;850::230;-1:-1:-1;;;;;820:55:230;;;-1:-1:-1;;;;;820:55:230;;;;;;;754:128;7013:11:79::1;-1:-1:-1::0;;;;;7000:24:79::1;;;-1:-1:-1::0;;;;;7000:24:79::1;;;;;::::0;::::1;7062;-1:-1:-1::0;;;;;7034:52:79::1;;;-1:-1:-1::0;;;;;7034:52:79::1;;;;;::::0;::::1;7110:11;-1:-1:-1::0;;;;;7096:25:79::1;;;-1:-1:-1::0;;;;;7096:25:79::1;;;;;::::0;::::1;7147:13;-1:-1:-1::0;;;;;7131:29:79::1;;;-1:-1:-1::0;;;;;7131:29:79::1;;;;;::::0;::::1;7192:19;-1:-1:-1::0;;;;;7170:41:79::1;;;-1:-1:-1::0;;;;;7170:41:79::1;;;;;::::0;::::1;7233:9;-1:-1:-1::0;;;;;7221:21:79::1;;;-1:-1:-1::0;;;;;7221:21:79::1;;;;;::::0;::::1;7269:14;-1:-1:-1::0;;;;;7252:31:79::1;;;-1:-1:-1::0;;;;;7252:31:79::1;;;;;::::0;::::1;7316:19;-1:-1:-1::0;;;;;7293:42:79::1;;;-1:-1:-1::0;;;;;7293:42:79::1;;;;;::::0;::::1;7365:17;-1:-1:-1::0;;;;;7345:37:79::1;;;-1:-1:-1::0;;;;;7345:37:79::1;;;;;::::0;::::1;7405:10;-1:-1:-1::0;;;;;7392:23:79::1;;;-1:-1:-1::0;;;;;7392:23:79::1;;;;;::::0;::::1;7433:4;7425:5:::0;::::1;:12;;;;;;;;;;;;;;;;;;6545:899:::0;;;;;;;;;;;1401:51695;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106102535760003560e01c8063a01fd15711610146578063db69681f116100c3578063e7c4569011610087578063e7c456901461097c578063ebb3d58914610984578063f2d638261461098c578063f9005af314610994578063f9d5fe781461099c578063faf9096b146109c257610253565b8063db69681f1461085a578063e269c3d614610862578063e53a73b91461086a578063e572ced114610872578063e70e605e1461097457610253565b8063c98091871161010a578063c98091871461081b578063ce5e84a314610823578063d44ad6cb14610842578063da41962e1461084a578063da72503c1461085257610253565b8063a01fd157146107af578063ac259456146107cb578063b10ea2b0146107d3578063b3fc38e9146107f0578063beebc5da146107f857610253565b80636af8e7eb116101d45780637f20170d116101985780637f20170d14610724578063875fb4b31461074a578063877fd8941461075257806392b575b61461078457806397c0ac87146107a757610253565b80636af8e7eb146105655780636ea21143146106d1578063716d4da4146106d957806373eecf47146106e157806379951f0f1461070757610253565b8063399ae7241161021b578063399ae7241461047057806339bf70d11461049c5780634c252f911461051f5780634da471b71461054357806356cff99f1461055d57610253565b806310acd06d1461025857806312f20526146102d25780632dc7a3a0146103085780633462fcc114610327578063397bfe551461044a575b600080fd5b6102d06004803603604081101561026e57600080fd5b60ff8235169190810190604081016020820135600160201b81111561029257600080fd5b8201836020820111156102a457600080fd5b803590602001918460018302840111600160201b831117156102c557600080fd5b5090925090506109ca565b005b6102d0600480360360608110156102e857600080fd5b506001600160a01b03813581169160208101359091169060400135610afa565b6102d06004803603602081101561031e57600080fd5b50351515610c67565b6103fa6004803603608081101561033d57600080fd5b6001600160a01b0382351691602081013591810190606081016040820135600160201b81111561036c57600080fd5b82018360208201111561037e57600080fd5b803590602001918460208302840111600160201b8311171561039f57600080fd5b919390929091602081019035600160201b8111156103bc57600080fd5b8201836020820111156103ce57600080fd5b803590602001918460208302840111600160201b831117156103ef57600080fd5b509092509050610cca565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561043657818101518382015260200161041e565b505050509050019250505060405180910390f35b6102d06004803603602081101561046057600080fd5b50356001600160a01b0316610f1e565b6102d06004803603604081101561048657600080fd5b506001600160a01b038135169060200135610f7a565b6102d0600480360360608110156104b257600080fd5b6001600160a01b0382351691602081013591810190606081016040820135600160201b8111156104e157600080fd5b8201836020820111156104f357600080fd5b803590602001918460018302840111600160201b8311171561051457600080fd5b5090925090506110d6565b610527611267565b604080516001600160a01b039092168252519081900360200190f35b61054b61128c565b60408051918252519081900360200190f35b61054b611292565b6106386004803603608081101561057b57600080fd5b6001600160a01b0382351691602081013591810190606081016040820135600160201b8111156105aa57600080fd5b8201836020820111156105bc57600080fd5b803590602001918460208302840111600160201b831117156105dd57600080fd5b919390929091602081019035600160201b8111156105fa57600080fd5b82018360208201111561060c57600080fd5b803590602001918460208302840111600160201b8311171561062d57600080fd5b509092509050611732565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b8381101561067c578181015183820152602001610664565b50505050905001838103825284818151815260200191508051906020019060200280838360005b838110156106bb5781810151838201526020016106a3565b5050505090500194505050505060405180910390f35b610527611d4e565b6102d0611e2f565b6102d0600480360360208110156106f757600080fd5b50356001600160a01b0316611e4c565b6102d06004803603602081101561071d57600080fd5b5035611e60565b61054b6004803603602081101561073a57600080fd5b50356001600160a01b0316611f00565b610527611f1f565b61054b6004803603606081101561076857600080fd5b506001600160a01b038135169060208101359060400135611f43565b6102d06004803603604081101561079a57600080fd5b5080359060200135612052565b610527612194565b6107b76121b8565b604080519115158252519081900360200190f35b6105276121c8565b6102d0600480360360208110156107e957600080fd5b50356121ec565b610527612316565b61054b6004803603604081101561080e57600080fd5b508035906020013561233a565b61052761236e565b6102d06004803603602081101561083957600080fd5b5035151561237d565b610527612674565b610527612698565b61054b6126bc565b6102d06127b6565b610527612952565b6102d0612961565b6108ff6004803603606081101561088857600080fd5b6001600160a01b03823516916001600160e01b031960208201351691810190606081016040820135600160201b8111156108c157600080fd5b8201836020820111156108d357600080fd5b803590602001918460018302840111600160201b831117156108f457600080fd5b509092509050612971565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610939578181015183820152602001610921565b50505050905090810190601f1680156109665780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610527612c76565b610527612c9a565b610527612cbe565b610527612ce2565b6102d0612d06565b6102d0600480360360208110156109b257600080fd5b50356001600160a01b0316612e22565b610527612e33565b6109d43384612e42565b600683600a8111156109e257fe5b1415610a51576109f0612952565b6001600160a01b031682826020811015610a0957600080fd5b50356001600160a01b03161415610a515760405162461bcd60e51b815260040180806020018281038252603a815260200180615b1b603a913960400191505060405180910390fd5b610a5961236e565b6001600160a01b03166324e600128484846040518463ffffffff1660e01b81526004018084600a811115610a8957fe5b8152602001806020018281038252848482818152602001925080828437600081840152601f19601f820116905080830192505050945050505050600060405180830381600087803b158015610add57600080fd5b505af1158015610af1573d6000803e3d6000fd5b50505050505050565b6000610b0461236e565b9050336001600160a01b03821614610b4d5760405162461bcd60e51b815260040180806020018281038252602f815260200180615ac6602f913960400191505060405180910390fd5b610b578185612fd1565b610b5f612674565b604080516001600160a01b038781166020830152868116828401526060808301879052835180840390910181526080830193849052630442bad560e01b90935230608483018181529490911693630442bad5939192600292919060a40183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610bfb578181015183820152602001610be3565b50505050905090810190601f168015610c285780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b158015610c4957600080fd5b505af1158015610c5d573d6000803e3d6000fd5b5050505050505050565b610c77610c7261305b565b61309f565b60018054821515600160a81b810260ff60a81b199092169190911790915560408051918252517f8ccd4cc3a51ed6f61f2b34b8d0a1ac137376931714380a7702b410ed174d6a739181900360200190a150565b6060610cd461316a565b6001805460ff60b81b1916600160b81b1790556000610cf161305b565b9050848314610d315760405162461bcd60e51b815260040180806020018281038252602d8152602001806158a0602d913960400191505060405180910390fd5b610d6d8686808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506131b792505050565b610da85760405162461bcd60e51b81526004018080602001828103825260358152602001806158cd6035913960400191505060405180910390fd5b6000610db2611292565b90506000610dbe61236e565b9050600080610dd183868d60018861324b565b9092509050610df8838d8c8c8c8c610df388610ded8d8c61353d565b90613596565b6135fd565b9550610e3d858d848d8d808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508d92508b91506139079050565b8b6001600160a01b0316856001600160a01b03167fbf88879a1555e4d7d38ebeffabce61fdf5e12ea0468abf855a72ec17b432bed5848d8d8b60405180858152602001806020018060200183810383528686828181526020019250602002808284376000838201819052601f909101601f1916909201858103845286518152865160209182019382890193509102908190849084905b83811015610eeb578181015183820152602001610ed3565b50505050905001965050505050505060405180910390a350505050506001805460ff60b81b191690559695505050505050565b610f26613ad0565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f5be181178e61e61e33f79c396c7194b8f3c80f77899da7bd96fe537411300bcb9181900360200190a150565b6000610f84612952565b6001600160a01b031614610fdf576040805162461bcd60e51b815260206004820152601960248201527f696e69743a20416c726561647920696e697469616c697a656400000000000000604482015290519081900360640190fd5b610fe7611f1f565b6001600160a01b031663c496f8e8836040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561103357600080fd5b505afa158015611047573d6000803e3d6000fd5b505050506040513d602081101561105d57600080fd5b50516110b0576040805162461bcd60e51b815260206004820152601c60248201527f696e69743a204261642064656e6f6d696e6174696f6e20617373657400000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b039390931692909217909155600255565b6110de61316a565b6001805460ff60b81b1916600160b81b1790556110f9613b3d565b6001805460ff60b01b1916600160b01b179055611114612ce2565b6001600160a01b0316846001600160a01b0316148061114b5750611136612c9a565b6001600160a01b0316846001600160a01b0316145b8061116e5750611159612316565b6001600160a01b0316846001600160a01b0316145b6111a95760405162461bcd60e51b81526004018080602001828103825260238152602001806159956023913960400191505060405180910390fd5b836001600160a01b0316631bee801e6111c061305b565b8585856040518563ffffffff1660e01b815260040180856001600160a01b03168152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b15801561123b57600080fd5b505af115801561124f573d6000803e3d6000fd5b50506001805461ffff60b01b19169055505050505050565b7f00000000000000000000000000000000000000000000000000000000000000005b90565b60025490565b60008061129d61236e565b90506060816001600160a01b031663c4b973706040518163ffffffff1660e01b815260040160006040518083038186803b1580156112da57600080fd5b505afa1580156112ee573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561131757600080fd5b8101908080516040519392919084600160201b82111561133657600080fd5b90830190602082018581111561134b57600080fd5b82518660208202830111600160201b8211171561136757600080fd5b82525081516020918201928201910280838360005b8381101561139457818101518382015260200161137c565b5050505090500160405250505090506060826001600160a01b031663b8b7f1476040518163ffffffff1660e01b815260040160006040518083038186803b1580156113de57600080fd5b505afa1580156113f2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561141b57600080fd5b8101908080516040519392919084600160201b82111561143a57600080fd5b90830190602082018581111561144f57600080fd5b82518660208202830111600160201b8211171561146b57600080fd5b82525081516020918201928201910280838360005b83811015611498578181015183820152602001611480565b505050509050016040525050509050815160001480156114b757508051155b156114c85760009350505050611289565b6060825167ffffffffffffffff811180156114e257600080fd5b5060405190808252806020026020018201604052801561150c578160200160208202803683370190505b50905060005b83518110156115c85783818151811061152757fe5b60200260200101516001600160a01b03166370a08231866040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561157b57600080fd5b505afa15801561158f573d6000803e3d6000fd5b505050506040513d60208110156115a557600080fd5b505182518390839081106115b557fe5b6020908102919091010152600101611512565b506115d1611f1f565b6001600160a01b031663ae6f52ad84836115e9612952565b6040518463ffffffff1660e01b8152600401808060200180602001846001600160a01b03168152602001838103835286818151815260200191508051906020019060200280838360005b8381101561164b578181015183820152602001611633565b50505050905001838103825285818151815260200191508051906020019060200280838360005b8381101561168a578181015183820152602001611672565b5050505090500195505050505050602060405180830381600087803b1580156116b257600080fd5b505af11580156116c6573d6000803e3d6000fd5b505050506040513d60208110156116dc57600080fd5b505182519095501561172b5760005b825181101561172957600061171284838151811061170557fe5b6020026020010151613b9c565b905061171e8782614118565b9650506001016116eb565b505b5050505090565b60608061173d61316a565b6001805460ff60b81b1916600160b81b179055600061175a61305b565b90506117988787808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506131b792505050565b6117d35760405162461bcd60e51b81526004018080602001828103825260398152602001806159b86039913960400191505060405180910390fd5b61180f8585808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506131b792505050565b61184a5760405162461bcd60e51b8152600401808060200182810382526035815260200180615ba06035913960400191505060405180910390fd5b60015460408051630c4b973760e41b815290516119b9926001600160a01b03169163c4b97370916004808301926000929190829003018186803b15801561189057600080fd5b505afa1580156118a4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260208110156118cd57600080fd5b8101908080516040519392919084600160201b8211156118ec57600080fd5b90830190602082018581111561190157600080fd5b82518660208202830111600160201b8211171561191d57600080fd5b82525081516020918201928201910280838360005b8381101561194a578181015183820152602001611932565b5050505090910160208d810282810182016040528e83529195508e94508d935083925085019084908082843760009201919091525050604080516020808c0282810182019093528b82529093508b92508a91829185019084908082843760009201919091525061417292505050565b925060006119c56121b8565b15611a5f57306001600160a01b03166356cff99f6040518163ffffffff1660e01b8152600401602060405180830381600087803b158015611a0557600080fd5b505af1925050508015611a2a57506040513d6020811015611a2557600080fd5b505160015b611a5c576040517ff5939ff9a66cf6d21ec93b246060bc17f5c062847e28d967d3dd617636b238d490600090a1611a5f565b90505b6001546000908190611a7d906001600160a01b0316858d848761324b565b91509150855167ffffffffffffffff81118015611a9957600080fd5b50604051908082528060200260200182016040528015611ac3578160200160208202803683370190505b50945060005b8651811015611c5857611b6d82610ded858a8581518110611ae657fe5b602090810291909101810151600154604080516370a0823160e01b81526001600160a01b039283166004820152905191909216926370a082319260248082019391829003018186803b158015611b3b57600080fd5b505afa158015611b4f573d6000803e3d6000fd5b505050506040513d6020811015611b6557600080fd5b50519061353d565b868281518110611b7957fe5b6020026020010181815250506000868281518110611b9357fe5b60200260200101511115611c505760015487516001600160a01b039091169063495d753c90899084908110611bc457fe5b60200260200101518f898581518110611bd957fe5b60200260200101516040518463ffffffff1660e01b815260040180846001600160a01b03168152602001836001600160a01b031681526020018281526020019350505050600060405180830381600087803b158015611c3757600080fd5b505af1158015611c4b573d6000803e3d6000fd5b505050505b600101611ac9565b508b6001600160a01b0316846001600160a01b03167fbf88879a1555e4d7d38ebeffabce61fdf5e12ea0468abf855a72ec17b432bed5848989604051808481526020018060200180602001838103835285818151815260200191508051906020019060200280838360005b83811015611cdb578181015183820152602001611cc3565b50505050905001838103825284818151815260200191508051906020019060200280838360005b83811015611d1a578181015183820152602001611d02565b505050509050019550505050505060405180910390a3505050506001805460ff60b81b191690559097909650945050505050565b6000611d586121c8565b6001600160a01b03166398a7c4c76040518163ffffffff1660e01b815260040160206040518083038186803b158015611d9057600080fd5b505afa158015611da4573d6000803e3d6000fd5b505050506040513d6020811015611dba57600080fd5b505160408051637da0a87760e01b815290516001600160a01b0390921691637da0a87791600480820192602092909190829003018186803b158015611dfe57600080fd5b505afa158015611e12573d6000803e3d6000fd5b505050506040513d6020811015611e2857600080fd5b5051905090565b611e3a610c7261305b565b611e4a611e45612e33565b614364565b565b611e54613ad0565b611e5d8161439f565b50565b611e686143f3565b611e7061236e565b6001600160a01b031663495d753c611e86611267565b611e8e612e33565b846040518463ffffffff1660e01b815260040180846001600160a01b03168152602001836001600160a01b031681526020018281526020019350505050600060405180830381600087803b158015611ee557600080fd5b505af1158015611ef9573d6000803e3d6000fd5b5050505050565b6001600160a01b0381166000908152600360205260409020545b919050565b7f000000000000000000000000000000000000000000000000000000000000000090565b6000806000611f5061128c565b1190506000611f5d61305b565b9050811580611fe85750611f6f612194565b6001600160a01b03166354391f09826040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015611fbb57600080fd5b505afa158015611fcf573d6000803e3d6000fd5b505050506040513d6020811015611fe557600080fd5b50515b612039576040805162461bcd60e51b815260206004820152601f60248201527f6275795368617265734f6e426568616c663a20556e617574686f72697a656400604482015290519081900360640190fd5b612046868686858561444a565b925050505b9392505050565b61205a613ad0565b612062613b3d565b6001805460ff60b01b1916600160b01b17905561207d61236e565b6001600160a01b031663d5c20fa2826040518263ffffffff1660e01b8152600401600060405180830381600088803b1580156120b857600080fd5b5087f1935050505080156120ca575060015b6120f8576040517f8a7579328a911284dedef6a7e68bbb1eae7d59418f2699cb5a3c26f6e57e4d7790600090a15b612100612ce2565b6001600160a01b031663bd8e959a836040518263ffffffff1660e01b8152600401600060405180830381600088803b15801561213b57600080fd5b5087f19350505050801561214d575060015b61217b576040517f681c534f5c2e473c9cc8ab1693257fb2b0e19a5c5ecd7d040201f1cf2a190c8790600090a15b61218361484e565b50506001805460ff60b01b19169055565b7f000000000000000000000000000000000000000000000000000000000000000090565b600154600160a81b900460ff1690565b7f000000000000000000000000000000000000000000000000000000000000000090565b6001546001600160a01b03168063714ca2d161220661305b565b6040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561224357600080fd5b505afa158015612257573d6000803e3d6000fd5b505050506040513d602081101561226d57600080fd5b50516122aa5760405162461bcd60e51b8152600401808060200182810382526026815260200180615af56026913960400191505060405180910390fd5b60006122b4611292565b9050816001600160a01b0316631ff46bfa846122d185878661489a565b846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b158015610add57600080fd5b7f000000000000000000000000000000000000000000000000000000000000000090565b600080600061234761128c565b119050600061235461305b565b9050612363818686858561444a565b925050505b92915050565b6001546001600160a01b031690565b612385613ad0565b600061238f61236e565b90508115612534576000816001600160a01b03166370a08231836040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156123e657600080fd5b505afa1580156123fa573d6000803e3d6000fd5b505050506040513d602081101561241057600080fd5b50519050801561253257816001600160a01b031663bfc77beb83846001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561246357600080fd5b505afa158015612477573d6000803e3d6000fd5b505050506040513d602081101561248d57600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b0393841660048201529290911660248301526044820185905251606480830192600092919082900301818387803b1580156124e557600080fd5b505af11580156124f9573d6000803e3d6000fd5b50506040805184815290517f8f9ec2c1cf1f95fcb5d89d3141949092850c5cfe04da4d9425dd840bf18cdc709350908190036020019150a15b505b806001600160a01b0316634ef0762e61254b612952565b6040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050600060405180830381600087803b15801561258a57600080fd5b505af115801561259e573d6000803e3d6000fd5b505050506125aa612ce2565b6001600160a01b03166380d57063836040518263ffffffff1660e01b8152600401808215158152602001915050600060405180830381600087803b1580156125f157600080fd5b505af1158015612605573d6000803e3d6000fd5b50505050612611612674565b6001600160a01b03166380d57063836040518263ffffffff1660e01b8152600401808215158152602001915050600060405180830381600087803b15801561265857600080fd5b505af115801561266c573d6000803e3d6000fd5b505050505050565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b6000806126c7611292565b90506127b0816126d561236e565b6001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561270d57600080fd5b505afa158015612721573d6000803e3d6000fd5b505050506040513d602081101561273757600080fd5b5051612741612952565b6001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561277957600080fd5b505afa15801561278d573d6000803e3d6000fd5b505050506040513d60208110156127a357600080fd5b505160ff16600a0a614a1b565b91505090565b6127bf3361309f565b60006127c9612e33565b6001600160a01b03161461280e5760405162461bcd60e51b81526004018080602001828103825260338152602001806159626033913960400191505060405180910390fd5b606061281861236e565b604080516001600160a01b0390921660248084019190915281518084039091018152604490920190526020810180516001600160e01b031663066ad14f60e21b179052905060006128676121c8565b6001600160a01b0316630c0872f5836040518263ffffffff1660e01b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156128c25781810151838201526020016128aa565b50505050905090810190601f1680156128ef5780820380516001836020036101000a031916815260200191505b5092505050602060405180830381600087803b15801561290e57600080fd5b505af1158015612922573d6000803e3d6000fd5b505050506040513d602081101561293857600080fd5b505190506129458161439f565b61294e81614364565b5050565b6000546001600160a01b031690565b612969613ad0565b611e4a61484e565b606061297e610c7261305b565b612986612194565b6001600160a01b0316638c500ea38686868660405180838380828437808301925050509250505060405180910390206040518463ffffffff1660e01b815260040180846001600160a01b03168152602001836001600160e01b0319168152602001828152602001935050505060206040518083038186803b158015612a0a57600080fd5b505afa158015612a1e573d6000803e3d6000fd5b505050506040513d6020811015612a3457600080fd5b5051612a87576040805162461bcd60e51b815260206004820181905260248201527f7661756c7443616c6c4f6e436f6e74726163743a204e6f7420616c6c6f776564604482015290519081900360640190fd5b612a8f61236e565b6001600160a01b031663a90cce4b8686868660405160200180846001600160e01b03191681526004018383808284378083019250505093505050506040516020818303038152906040526040518363ffffffff1660e01b815260040180836001600160a01b0316815260200180602001828103825283818151815260200191508051906020019080838360005b83811015612b34578181015183820152602001612b1c565b50505050905090810190601f168015612b615780820380516001836020036101000a031916815260200191505b509350505050600060405180830381600087803b158015612b8157600080fd5b505af1158015612b95573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526020811015612bbe57600080fd5b8101908080516040519392919084600160201b821115612bdd57600080fd5b908301906020820185811115612bf257600080fd5b8251600160201b811182820188101715612c0b57600080fd5b82525081516020918201929091019080838360005b83811015612c38578181015183820152602001612c20565b50505050905090810190601f168015612c655780820380516001836020036101000a031916815260200191505b506040525050509050949350505050565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b612d0f3361309f565b60048054604080516305fd8c7160e41b815290516001600160a01b0390921692635fd8c71092828201926000929082900301818387803b158015612d5257600080fd5b505af1158015612d66573d6000803e3d6000fd5b50506001546001600160a01b03169150634ef0762e9050612d85611267565b6040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050600060405180830381600087803b158015612dc457600080fd5b505af1158015612dd8573d6000803e3d6000fd5b5050600480546001600160a01b03191690555050604080516000815290517f66756eda85190d0bcec058815fd7e2154167d102e21d96cab701630af02f24739181900360200190a1565b611e5d612e2d61236e565b82612fd1565b6004546001600160a01b031690565b600154600090600160b01b900460ff1615612f9057612e5f612c9a565b6001600160a01b0316836001600160a01b03161415612ed857600482600a811115612e8657fe5b1480612e9d5750600682600a811115612e9b57fe5b145b80612eb35750600782600a811115612eb157fe5b145b80612eca575060055b82600a811115612ec857fe5b145b15612ed3575060015b612f90565b612ee0612ce2565b6001600160a01b0316836001600160a01b03161415612f2b57600282600a811115612f0757fe5b1480612f1e5750600182600a811115612f1c57fe5b145b80612eca57506003612ebc565b612f33612316565b6001600160a01b0316836001600160a01b03161415612f9057600982600a811115612f5a57fe5b1480612f715750600882600a811115612f6f57fe5b145b80612f875750600a82600a811115612f8557fe5b145b15612f90575060015b80612fcc5760405162461bcd60e51b8152600401808060200182810382526033815260200180615a936033913960400191505060405180910390fd5b505050565b6000612fdc82611f00565b9050801580612ffb5750612fee61128c565b612ff84283614a47565b10155b8061300a575061300a83614aa4565b612fcc576040805162461bcd60e51b815260206004820152601860248201527f53686172657320616374696f6e2074696d656c6f636b65640000000000000000604482015290519081900360640190fd5b6000601836108015906130865750613071611d4e565b6001600160a01b0316336001600160a01b0316145b1561309a575060131936013560601c611289565b503390565b6130a761236e565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b1580156130df57600080fd5b505afa1580156130f3573d6000803e3d6000fd5b505050506040513d602081101561310957600080fd5b50516001600160a01b03828116911614611e5d576040805162461bcd60e51b815260206004820152601860248201527f4f6e6c792066756e64206f776e65722063616c6c61626c650000000000000000604482015290519081900360640190fd5b600154600160b81b900460ff1615611e4a576040805162461bcd60e51b815260206004820152600b60248201526a52652d656e7472616e636560a81b604482015290519081900360640190fd5b600060018251116131ca57506001611f1a565b815160005b8181101561324157600181015b82811015613238578481815181106131f057fe5b60200260200101516001600160a01b031685838151811061320d57fe5b60200260200101516001600160a01b031614156132305760009350505050611f1a565b6001016131dc565b506001016131cf565b5060019392505050565b6000806132588787612fd1565b60008790506000816001600160a01b03166370a08231896040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156132ac57600080fd5b505afa1580156132c0573d6000803e3d6000fd5b505050506040513d60208110156132d657600080fd5b505190506000198714156132ec578093506132f0565b8693505b6000841161332f5760405162461bcd60e51b815260040180806020018281038252602881526020018061593a6028913960400191505060405180910390fd5b61333b88858888614bb2565b6000826001600160a01b03166370a082318a6040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561338a57600080fd5b505afa15801561339e573d6000803e3d6000fd5b505050506040513d60208110156133b457600080fd5b505190506000198814156133ca578094506133e9565b818110156133e9576133e66133df8383614a47565b8690614a47565b94505b896001600160a01b031663d5c20fa26040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561342457600080fd5b505af1158015613438573d6000803e3d6000fd5b5050505060008611801561344f575061344f6121b8565b1561345e5761345e8a87614dae565b826001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561349757600080fd5b505afa1580156134ab573d6000803e3d6000fd5b505050506040513d60208110156134c157600080fd5b505160408051633b9e9f0160e21b81526001600160a01b038c81166004830152602482018990529151929650908c169163ee7a7c049160448082019260009290919082900301818387803b15801561351857600080fd5b505af115801561352c573d6000803e3d6000fd5b505050505050509550959350505050565b60008261354c57506000612368565b8282028284828161355957fe5b041461204b5760405162461bcd60e51b81526004018080602001828103825260218152602001806159f16021913960400191505060405180910390fd5b60008082116135ec576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b8183816135f557fe5b049392505050565b60606000613609612952565b905060008667ffffffffffffffff8111801561362457600080fd5b5060405190808252806020026020018201604052801561364e578160200160208202803683370190505b50925060005b878110156138b95761368187878381811061366b57fe5b905060200201358361411890919063ffffffff16565b915061aaaa89898381811061369257fe5b905060200201356001600160a01b03166001600160a01b031614156136b6576138b1565b6136be611f1f565b6001600160a01b0316634c67e106846136f8612710610ded8c8c888181106136e257fe5b905060200201358b61353d90919063ffffffff16565b8c8c8681811061370457fe5b905060200201356001600160a01b03166040518463ffffffff1660e01b815260040180846001600160a01b03168152602001838152602001826001600160a01b031681526020019350505050602060405180830381600087803b15801561376a57600080fd5b505af115801561377e573d6000803e3d6000fd5b505050506040513d602081101561379457600080fd5b505184518590839081106137a457fe5b60200260200101818152505060008482815181106137be57fe5b6020026020010151116138025760405162461bcd60e51b81526004018080602001828103825260388152602001806159026038913960400191505060405180910390fd5b8a6001600160a01b031663495d753c8a8a8481811061381d57fe5b905060200201356001600160a01b03168c87858151811061383a57fe5b60200260200101516040518463ffffffff1660e01b815260040180846001600160a01b03168152602001836001600160a01b031681526020018281526020019350505050600060405180830381600087803b15801561389857600080fd5b505af11580156138ac573d6000803e3d6000fd5b505050505b600101613654565b5061271081146138fa5760405162461bcd60e51b815260040180806020018281038252603b815260200180615834603b913960400191505060405180910390fd5b5050979650505050505050565b61390f612674565b6001600160a01b0316630442bad530600389898989898960405160200180876001600160a01b03168152602001866001600160a01b031681526020018581526020018060200180602001848152602001838103835286818151815260200191508051906020019060200280838360005b8381101561399757818101518382015260200161397f565b50505050905001838103825285818151815260200191508051906020019060200280838360005b838110156139d65781810151838201526020016139be565b50505050905001985050505050505050506040516020818303038152906040526040518463ffffffff1660e01b815260040180846001600160a01b03168152602001836009811115613a2457fe5b815260200180602001828103825283818151815260200191508051906020019080838360005b83811015613a62578181015183820152602001613a4a565b50505050905090810190601f168015613a8f5780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b158015613ab057600080fd5b505af1158015613ac4573d6000803e3d6000fd5b50505050505050505050565b613ad8612194565b6001600160a01b0316336001600160a01b031614611e4a576040805162461bcd60e51b815260206004820152601a60248201527f4f6e6c792046756e644465706c6f7965722063616c6c61626c65000000000000604482015290519081900360640190fd5b600154600160b01b900460ff1615611e4a576040805162461bcd60e51b815260206004820152601860248201527f5661756c7420616374696f6e2072652d656e7472616e63650000000000000000604482015290519081900360640190fd5b6000606080836001600160a01b03166380daddb86040518163ffffffff1660e01b8152600401600060405180830381600087803b158015613bdc57600080fd5b505af1158015613bf0573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040908152811015613c1957600080fd5b8101908080516040519392919084600160201b821115613c3857600080fd5b908301906020820185811115613c4d57600080fd5b82518660208202830111600160201b82111715613c6957600080fd5b82525081516020918201928201910280838360005b83811015613c96578181015183820152602001613c7e565b5050505090500160405260200180516040519392919084600160201b821115613cbe57600080fd5b908301906020820185811115613cd357600080fd5b82518660208202830111600160201b82111715613cef57600080fd5b82525081516020918201928201910280838360005b83811015613d1c578181015183820152602001613d04565b50505050905001604052505050915091506000613d37611f1f565b6001600160a01b031663ae6f52ad8484613d4f612952565b6040518463ffffffff1660e01b8152600401808060200180602001846001600160a01b03168152602001838103835286818151815260200191508051906020019060200280838360005b83811015613db1578181015183820152602001613d99565b50505050905001838103825285818151815260200191508051906020019060200280838360005b83811015613df0578181015183820152602001613dd8565b5050505090500195505050505050602060405180830381600087803b158015613e1857600080fd5b505af1158015613e2c573d6000803e3d6000fd5b505050506040513d6020811015613e4257600080fd5b505160408051633b35962d60e21b8152905191925060609182916001600160a01b0389169163ecd658b49160048082019260009290919082900301818387803b158015613e8e57600080fd5b505af1158015613ea2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040908152811015613ecb57600080fd5b8101908080516040519392919084600160201b821115613eea57600080fd5b908301906020820185811115613eff57600080fd5b82518660208202830111600160201b82111715613f1b57600080fd5b82525081516020918201928201910280838360005b83811015613f48578181015183820152602001613f30565b5050505090500160405260200180516040519392919084600160201b821115613f7057600080fd5b908301906020820185811115613f8557600080fd5b82518660208202830111600160201b82111715613fa157600080fd5b82525081516020918201928201910280838360005b83811015613fce578181015183820152602001613fb6565b50505050905001604052505050915091506000613fe9611f1f565b6001600160a01b031663ae6f52ad8484614001612952565b6040518463ffffffff1660e01b8152600401808060200180602001846001600160a01b03168152602001838103835286818151815260200191508051906020019060200280838360005b8381101561406357818101518382015260200161404b565b50505050905001838103825285818151815260200191508051906020019060200280838360005b838110156140a257818101518382015260200161408a565b5050505090500195505050505050602060405180830381600087803b1580156140ca57600080fd5b505af11580156140de573d6000803e3d6000fd5b505050506040513d60208110156140f457600080fd5b505190508084111561410d5761410a8482614a47565b96505b505050505050919050565b60008282018381101561204b576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60608061417f8584614f7d565b905083516000141561419257905061204b565b6060845167ffffffffffffffff811180156141ac57600080fd5b506040519080825280602002602001820160405280156141d6578160200160208202803683370190505b5090506000805b865181101561423d5761420c8782815181106141f557fe5b60200260200101518561510990919063ffffffff16565b61423557600183828151811061421e57fe5b911515602092830291909101909101526001909101905b6001016141dd565b508061424e5782935050505061204b565b825161425a9082614118565b67ffffffffffffffff8111801561427057600080fd5b5060405190808252806020026020018201604052801561429a578160200160208202803683370190505b50935060005b83518110156142e9578381815181106142b557fe5b60200260200101518582815181106142c957fe5b6001600160a01b03909216602092830291909101909101526001016142a0565b50825160005b87518110156143585783818151811061430457fe5b6020026020010151156143505787818151811061431d57fe5b602002602001015186838151811061433157fe5b6001600160a01b03909216602092830291909101909101526001909101905b6001016142ef565b50505050509392505050565b806001600160a01b031663d0e30db06040518163ffffffff1660e01b8152600401600060405180830381600087803b158015611ee557600080fd5b600480546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f66756eda85190d0bcec058815fd7e2154167d102e21d96cab701630af02f24739181900360200190a150565b6143fb612e33565b6001600160a01b0316336001600160a01b031614611e4a5760405162461bcd60e51b8152600401808060200182810382526021815260200180615b7f6021913960400191505060405180910390fd5b600061445461316a565b6001805460ff60b81b1916600160b81b17905561446f613b3d565b6001805460ff60b01b1916600160b01b179055836144be5760405162461bcd60e51b815260040180806020018281038252602a815260200180615a38602a913960400191505060405180910390fd5b60006144c861236e565b90508315806144dd57506144db81614aa4565b155b6145185760405162461bcd60e51b8152600401808060200182810382526031815260200180615a626031913960400191505060405180910390fd5b6000614522611292565b905061452f88888361515f565b816001600160a01b031663d5c20fa26040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561456a57600080fd5b505af115801561457e573d6000803e3d6000fd5b5050505061458a6121b8565b15614599576145998282614dae565b60006145ae6145a6612952565b86858b615244565b905060006145ef83856001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561270d57600080fd5b9050600061460982610ded85670de0b6b3a764000061353d565b90506000856001600160a01b03166370a082318d6040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561465a57600080fd5b505afa15801561466e573d6000803e3d6000fd5b505050506040513d602081101561468457600080fd5b5051604080516329460cc560e11b81526001600160a01b038f811660048301526024820186905291519293509088169163528c198a9160448082019260009290919082900301818387803b1580156146db57600080fd5b505af11580156146ef573d6000803e3d6000fd5b505050506146ff8c858488615332565b61478281876001600160a01b03166370a082318f6040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561475057600080fd5b505afa158015614764573d6000803e3d6000fd5b505050506040513d602081101561477a57600080fd5b505190614a47565b9650898710156147c35760405162461bcd60e51b815260040180806020018281038252603181526020018061586f6031913960400191505060405180910390fd5b88156147e5576001600160a01b038c1660009081526003602052604090204290555b604080518581526020810184905280820189905290516001600160a01b038e16917f849165c18b9d0fb161bcb145e4ab523d350e5c98f1dbbb1960331e7ee3ca6767919081900360600190a25050505050506001805461ffff60b01b1916905595945050505050565b600154600160a01b900460ff16156148975760405162461bcd60e51b8152600401808060200182810382526026815260200180615a126026913960400191505060405180910390fd5b30ff5b6000806148a5612952565b9050600061495284876001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156148e657600080fd5b505afa1580156148fa573d6000803e3d6000fd5b505050506040513d602081101561491057600080fd5b50516040805163313ce56760e01b815290516001600160a01b0387169163313ce567916004808301926020929190829003018186803b15801561277957600080fd5b9050600061496c670de0b6b3a7640000610ded848961353d565b9050614976611f1f565b6001600160a01b0316634c67e106848361498e612c76565b6040518463ffffffff1660e01b815260040180846001600160a01b03168152602001838152602001826001600160a01b031681526020019350505050602060405180830381600087803b1580156149e457600080fd5b505af11580156149f8573d6000803e3d6000fd5b505050506040513d6020811015614a0e57600080fd5b5051979650505050505050565b600082614a2957508061204b565b614a3f83610ded86670de0b6b3a764000061353d565b949350505050565b600082821115614a9e576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6000614aae612cbe565b6001600160a01b031663d0449d3d836040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015614afa57600080fd5b505afa158015614b0e573d6000803e3d6000fd5b505050506040513d6020811015614b2457600080fd5b5051806123685750614b34612194565b6001600160a01b0316636c579e57836040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015614b8057600080fd5b505afa158015614b94573d6000803e3d6000fd5b505050506040513d6020811015614baa57600080fd5b505192915050565b614bba613b3d565b6001805460ff60b01b1916600160b01b179055614bd5612ce2565b604080516001600160a01b038781166020830152818301879052851515606080840191909152835180840390910181526080830193849052631dd6705960e21b9093529290921691637759c1649160039185906084018084815260200180602001838152602001828103825284818151815260200191508051906020019080838360005b83811015614c71578181015183820152602001614c59565b50505050905090810190601f168015614c9e5780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b158015614cbf57600080fd5b505af1925050508015614cd0575060015b614d9b573d808015614cfe576040519150601f19603f3d011682016040523d82523d6000602084013e614d03565b606091505b50846001600160a01b0316816040518082805190602001908083835b60208310614d3e5780518252601f199092019160209182019101614d1f565b51815160209384036101000a6000190180199092169116179052604080519290940182900382208b835293519395507fb3ea7e5141baf21804d12f5a635e83e0cb869c8b06b88648364769f85aa73fc294509083900301919050a3505b50506001805460ff60b01b191690555050565b6000826001600160a01b03166370a08231614dc7612698565b6040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015614e0457600080fd5b505afa158015614e18573d6000803e3d6000fd5b505050506040513d6020811015614e2e57600080fd5b505190506000614e3f84838561489a565b9050836001600160a01b0316631ff46bfa8383866040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b158015614e9757600080fd5b505af1925050508015614ea8575060015b614f77573d808015614ed6576040519150601f19603f3d011682016040523d82523d6000602084013e614edb565b606091505b50806040518082805190602001908083835b60208310614f0c5780518252601f199092019160209182019101614eed565b51815160209384036101000a6000190180199092169116179052604080519290940182900382208983529082018890528184018a905292519294507f0917b727c8497d0fc305acafacb424e8c9b12715d2b9b19bee777ef9d134f08f935060609083900301919050a2505b50505050565b6060815160001415614f90575081612368565b6060835167ffffffffffffffff81118015614faa57600080fd5b50604051908082528060200260200182016040528015614fd4578160200160208202803683370190505b50845190915060005b85518110156150365761500385878381518110614ff657fe5b6020026020010151615109565b1561502e57600183828151811061501657fe5b91151560209283029190910190910152600019909101905b600101614fdd565b50845181141561504857849250615101565b8015615101578067ffffffffffffffff8111801561506557600080fd5b5060405190808252806020026020018201604052801561508f578160200160208202803683370190505b5092506000805b86518110156150fe578381815181106150ab57fe5b60200260200101516150f6578681815181106150c357fe5b60200260200101518583815181106150d757fe5b6001600160a01b03909216602092830291909101909101526001909101905b600101615096565b50505b505092915050565b6000805b83518110156151555783818151811061512257fe5b60200260200101516001600160a01b0316836001600160a01b0316141561514d576001915050612368565b60010161510d565b5060009392505050565b615167612ce2565b604080516001600160a01b0386811660208301528183018690528251808303840181526060830193849052631dd6705960e21b9093529290921691637759c1649160019185906064018084815260200180602001838152602001828103825284818151815260200191508051906020019080838360005b838110156151f65781810151838201526020016151de565b50505050905090810190601f1680156152235780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b158015610add57600080fd5b600080856001600160a01b03166370a08231856040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561529457600080fd5b505afa1580156152a8573d6000803e3d6000fd5b505050506040513d60208110156152be57600080fd5b505190506152d76001600160a01b03871686868661555d565b61532881876001600160a01b03166370a08231876040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561475057600080fd5b9695505050505050565b600061533e8285614118565b9050615348612ce2565b604080516001600160a01b0388811660208301528183018890526060808301889052835180840390910181526080830193849052631dd6705960e21b9093529290921691637759c1649160029185906084018084815260200180602001838152602001828103825284818151815260200191508051906020019080838360005b838110156153e05781810151838201526020016153c8565b50505050905090810190601f16801561540d5780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b15801561542e57600080fd5b505af1158015615442573d6000803e3d6000fd5b5050505061544e612674565b604080516001600160a01b0388811660208301528183018890526060820187905260808083018690528351808403909101815260a0830193849052630442bad560e01b9093523060a483018181529490911693630442bad5939192600092919060c40183815260200180602001828103825283818151815260200191508051906020019080838360005b838110156154f05781810151838201526020016154d8565b50505050905090810190601f16801561551d5780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b15801561553e57600080fd5b505af1158015615552573d6000803e3d6000fd5b505050505050505050565b604080516001600160a01b0380861660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052614f779085906060615607826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166156639092919063ffffffff16565b805190915015612fcc5780806020019051602081101561562657600080fd5b5051612fcc5760405162461bcd60e51b815260040180806020018281038252602a815260200180615b55602a913960400191505060405180910390fd5b6060614a3f84846000858561567785615789565b6156c8576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b602083106157075780518252601f1990920191602091820191016156e8565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114615769576040519150601f19603f3d011682016040523d82523d6000602084013e61576e565b606091505b509150915061577e82828661578f565b979650505050505050565b3b151590565b6060831561579e57508161204b565b8251156157ae5782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156157f85781810151838201526020016157e0565b50505050905090810190601f1680156158255780820380516001836020036101000a031916815260200191505b509250505060405180910390fdfe5f5f7061796f7574537065636966696564417373657450657263656e74616765733a2050657263656e7473206d75737420746f74616c20313030255f5f6275795368617265733a20536861726573207265636569766564203c205f6d696e5368617265735175616e7469747972656465656d536861726573466f7253706563696669634173736574733a20556e657175616c2061727261797372656465656d536861726573466f7253706563696669634173736574733a204475706c6963617465207061796f75742061737365745f5f7061796f7574537065636966696564417373657450657263656e74616765733a205a65726f20616d6f756e7420666f722061737365745f5f72656465656d53686172657353657475703a204e6f2073686172657320746f2072656465656d6465706c6f7947617352656c61795061796d61737465723a205061796d617374657220616c7265616479206465706c6f79656463616c6c4f6e457874656e73696f6e3a205f657874656e73696f6e20696e76616c696472656465656d536861726573496e4b696e643a205f6164646974696f6e616c41737365747320636f6e7461696e73206475706c696361746573536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775f5f73656c6644657374727563743a204f6e6c792064656c65676174652063616c6c61626c655f5f6275795368617265733a205f6d696e5368617265735175616e74697479206d757374206265203e305f5f6275795368617265733a2050656e64696e67206d6967726174696f6e206f72207265636f6e66696775726174696f6e5f5f6173736572745065726d697373696f6e65645661756c74416374696f6e3a20416374696f6e206e6f7420616c6c6f7765647072655472616e73666572536861726573486f6f6b3a204f6e6c79205661756c7450726f78792063616c6c61626c656275794261636b50726f746f636f6c4665655368617265733a20556e617574686f72697a65647065726d697373696f6e65645661756c74416374696f6e3a2043616e6e6f7420756e747261636b2064656e6f6d696e6174696f6e2061737365745361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565644f6e6c79204761732052656c6179205061796d61737465722063616c6c61626c6572656465656d536861726573496e4b696e643a205f617373657473546f536b697020636f6e7461696e73206475706c696361746573a164736f6c634300060c000a", - "sourceMap": "1401:51695:79:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13009:583;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;13009:583:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;13009:583:79;;;;;;;;;;-1:-1:-1;13009:583:79;;-1:-1:-1;13009:583:79;-1:-1:-1;13009:583:79;:::i;:::-;;45343:566;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;45343:566:79;;;;;;;;;;;;;;;;;:::i;10878:283::-;;;;;;;;;;;;;;;;-1:-1:-1;10878:283:79;;;;:::i;31864:1668::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;31864:1668:79;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;31864:1668:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;31864:1668:79;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;31864:1668:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;31864:1668:79;;;;;;;;;;-1:-1:-1;31864:1668:79;;-1:-1:-1;31864:1668:79;-1:-1:-1;31864:1668:79;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16615:162;;;;;;;;;;;;;;;;-1:-1:-1;16615:162:79;-1:-1:-1;;;;;16615:162:79;;:::i;15913:456::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;15913:456:79;;;;;;;;:::i;8022:528::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8022:528:79;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;8022:528:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;8022:528:79;;;;;;;;;;-1:-1:-1;8022:528:79;;-1:-1:-1;8022:528:79;-1:-1:-1;8022:528:79;:::i;51144:99::-;;;:::i;:::-;;;;-1:-1:-1;;;;;51144:99:79;;;;;;;;;;;;;;52740:131;;;:::i;:::-;;;;;;;;;;;;;;;;20411:1100;;;:::i;34917:2993::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;34917:2993:79;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;34917:2993:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;34917:2993:79;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;34917:2993:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;34917:2993:79;;;;;;;;;;-1:-1:-1;34917:2993:79;;-1:-1:-1;34917:2993:79;-1:-1:-1;34917:2993:79;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1880:260:230;;;:::i;47036:126:79:-;;;:::i;47621:188::-;;;;;;;;;;;;;;;;-1:-1:-1;47621:188:79;-1:-1:-1;;;;;47621:188:79;;:::i;47293:193::-;;;;;;;;;;;;;;;;-1:-1:-1;47293:193:79;;:::i;52389:208::-;;;;;;;;;;;;;;;;-1:-1:-1;52389:208:79;-1:-1:-1;;;;;52389:208:79;;:::i;50912:120::-;;;:::i;24263:736::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;24263:736:79;;;;;;;;;;;;;:::i;18700:962::-;;;;;;;;;;;;;;;;-1:-1:-1;18700:962:79;;;;;;;:::i;49671:117::-;;;:::i;51476:140::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;1584:174:230;;;:::i;10140:484:79:-;;;;;;;;;;;;;;;;-1:-1:-1;10140:484:79;;:::i;49137:187::-;;;:::i;25284:496::-;;;;;;;;;;;;;;;;-1:-1:-1;25284:496:79;;;;;;;:::i;52984:110::-;;;:::i;17020:1044::-;;;;;;;;;;;;;;;;-1:-1:-1;17020:1044:79;;;;:::i;50391:120::-;;;:::i;50652:127::-;;;:::i;21749:353::-;;;:::i;46437:537::-;;;:::i;51750:131::-;;;:::i;19739:99::-;;;:::i;8852:603::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8852:603:79;;;;-1:-1:-1;;;;;;8852:603:79;;;;;;;;;;;;;;;;-1:-1:-1;;;8852:603:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;8852:603:79;;;;;;;;;;-1:-1:-1;8852:603:79;;-1:-1:-1;8852:603:79;-1:-1:-1;8852:603:79;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;50171:96;;;:::i;49927:135::-;;;:::i;48880:101::-;;;:::i;49439:111::-;;;:::i;47938:284::-;;;:::i;46113:165::-;;;;;;;;;;;;;;;;-1:-1:-1;46113:165:79;-1:-1:-1;;;;;46113:165:79;;:::i;52015:131::-;;;:::i;13009:583::-;13146:52;13178:10;13190:7;13146:31;:52::i;:::-;13261:37;13250:7;:48;;;;;;;;;13246:256;;;13377:22;:20;:22::i;:::-;-1:-1:-1;;;;;13339:60:79;13350:11;;13339:34;;;;;;;;;;-1:-1:-1;13339:34:79;-1:-1:-1;;;;;13339:34:79;:60;;13314:177;;;;-1:-1:-1;;;13314:177:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13519:15;:13;:15::i;:::-;-1:-1:-1;;;;;13512:51:79;;13564:7;13573:11;;13512:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13009:583;;;:::o;45343:566::-;45486:22;45511:15;:13;:15::i;:::-;45486:40;-1:-1:-1;45544:10:79;-1:-1:-1;;;;;45544:28:79;;;45536:88;;;;-1:-1:-1;;;45536:88:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;45634:58;45668:14;45684:7;45634:33;:58::i;:::-;45718:18;:16;:18::i;:::-;45852:40;;;-1:-1:-1;;;;;45852:40:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;45703:199:79;;;45776:4;45703:199;;;;;;:51;;;;;;;45776:4;;45795:43;;45852:40;45703:199;;;45795:43;45703:199;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;45343:566;;;;:::o;10878:283::-;4993:30;5009:13;:11;:13::i;:::-;4993:15;:30::i;:::-;11008:28:::1;:64:::0;;;::::1;;-1:-1:-1::0;;;11008:64:79;::::1;-1:-1:-1::0;;;;11008:64:79;;::::1;::::0;;;::::1;::::0;;;11088:66:::1;::::0;;;;;;::::1;::::0;;;;::::1;::::0;;::::1;10878:283:::0;:::o;31864:1668::-;32098:31;4661:29;:27;:29::i;:::-;4719:4;4700:23;;-1:-1:-1;;;;4700:23:79;-1:-1:-1;;;4700:23:79;;;;32167:13:::1;:11;:13::i;:::-;32141:39:::0;-1:-1:-1;32211:54:79;;::::1;32190:146;;;;-1:-1:-1::0;;;32190:146:79::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;32367:27;:13;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;32367:25:79::1;::::0;-1:-1:-1;;;32367:27:79:i:1;:::-;32346:127;;;;-1:-1:-1::0;;;32346:127:79::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;32484:11;32498:9;:7;:9::i;:::-;32484:23;;32518:25;32553:15;:13;:15::i;:::-;32518:51;;32580:22;32604:20:::0;32628:154:::1;32661:18;32693:15;32722;32751:4;32769:3;32628:19;:154::i;:::-;32579:203:::0;;-1:-1:-1;32579:203:79;-1:-1:-1;32810:218:79::1;32857:18:::0;32889:10;32913:13;;32940:23;;32977:41:::1;32579:203:::0;32977:23:::1;:3:::0;32579:203;32977:7:::1;:23::i;:::-;:27:::0;::::1;:41::i;:::-;32810:33;:218::i;:::-;32793:235;;33115:202;33168:15;33197:10;33221:14;33249:13;;33115:202;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;33276:14:79;;-1:-1:-1;33304:3:79;;-1:-1:-1;33115:39:79::1;::::0;-1:-1:-1;33115:202:79:i:1;:::-;33390:10;-1:-1:-1::0;;;;;33333:160:79::1;33361:15;-1:-1:-1::0;;;;;33333:160:79::1;;33414:14;33442:13;;33469:14;33333:160;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;;::::1;::::0;;;::::1;::::0;;::::1;-1:-1:-1::0;;33333:160:79::1;::::0;;::::1;::::0;;::::1;::::0;;;;;;;;::::1;::::0;;::::1;::::0;;;::::1;::::0;-1:-1:-1;33333:160:79;::::1;::::0;;;;;;;::::1;;;;;;;::::0;;::::1;::::0;;;::::1;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;33504:21;;;;;4744:16:::0;:24;;-1:-1:-1;;;;4744:24:79;;;31864:1668;;-1:-1:-1;;;;;;31864:1668:79:o;16615:162::-;4819:24;:22;:24::i;:::-;16704:10:::1;:24:::0;;-1:-1:-1;;;;;16704:24:79;::::1;-1:-1:-1::0;;;;;;16704:24:79;;::::1;::::0;::::1;::::0;;;16744:26:::1;::::0;;;;;;::::1;::::0;;;;::::1;::::0;;::::1;16615:162:::0;:::o;15913:456::-;16056:1;16022:22;:20;:22::i;:::-;-1:-1:-1;;;;;16022:36:79;;16014:74;;;;;-1:-1:-1;;;16014:74:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;16137:21;:19;:21::i;:::-;-1:-1:-1;;;;;16119:66:79;;16186:18;16119:86;;;;;;;;;;;;;-1:-1:-1;;;;;16119:86:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;16119:86:79;16098:161;;;;;-1:-1:-1;;;16098:161:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;16270:17;:38;;-1:-1:-1;;;;;;16270:38:79;-1:-1:-1;;;;;16270:38:79;;;;;;;;;;;16318:20;:44;15913:456::o;8022:528::-;4661:29;:27;:29::i;:::-;4719:4;4700:23;;-1:-1:-1;;;;4700:23:79;-1:-1:-1;;;4700:23:79;;;4462:43:::1;:41;:43::i;:::-;4548:4;4515:37:::0;;-1:-1:-1;;;;4515:37:79::1;-1:-1:-1::0;;;4515:37:79::1;::::0;;8251:15:::2;:13;:15::i;:::-;-1:-1:-1::0;;;;;8237:29:79::2;:10;-1:-1:-1::0;;;;;8237:29:79::2;;:86;;;;8300:23;:21;:23::i;:::-;-1:-1:-1::0;;;;;8286:37:79::2;:10;-1:-1:-1::0;;;;;8286:37:79::2;;8237:86;:148;;;;8357:28;:26;:28::i;:::-;-1:-1:-1::0;;;;;8343:42:79::2;:10;-1:-1:-1::0;;;;;8343:42:79::2;;8237:148;8216:230;;;;-1:-1:-1::0;;;8216:230:79::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8468:10;-1:-1:-1::0;;;;;8457:49:79::2;;8507:13;:11;:13::i;:::-;8522:9;8533;;8457:86;;;;;;;;;;;;;-1:-1:-1::0;;;;;8457:86:79::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;-1:-1:-1::0;;4573:30:79::1;:38:::0;;-1:-1:-1;;;;4744:24:79;;;-1:-1:-1;;;;;;8022:528:79:o;51144:99::-;51226:10;51144:99;;:::o;52740:131::-;52844:20;;52740:131;:::o;20411:1100::-;20455:12;20479:25;20507:15;:13;:15::i;:::-;20479:43;;20532:23;20565:17;-1:-1:-1;;;;;20558:42:79;;:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;20558:44:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;20558:44:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;20558:44:79;;;;;;;;;;;;-1:-1:-1;20558:44:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20532:70;;20612:34;20656:17;-1:-1:-1;;;;;20649:65:79;;:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;20649:67:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;20649:67:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;20649:67:79;;;;;;;;;;;;-1:-1:-1;20649:67:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20612:104;;20731:6;:13;20748:1;20731:18;:51;;;;-1:-1:-1;20753:24:79;;:29;20731:51;20727:90;;;20805:1;20798:8;;;;;;;20727:90;20827:25;20869:6;:13;20855:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;20855:28:79;;20827:56;;20898:9;20893:124;20913:6;:13;20909:1;:17;20893:124;;;20967:6;20974:1;20967:9;;;;;;;;;;;;;;-1:-1:-1;;;;;20961:26:79;;20988:17;20961:45;;;;;;;;;;;;;-1:-1:-1;;;;;20961:45:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;20961:45:79;20947:11;;:8;;20956:1;;20947:11;;;;;;;;;;;;;;;:59;20928:3;;20893:124;;;;21052:21;:19;:21::i;:::-;-1:-1:-1;;;;;21034:70:79;;21118:6;21138:8;21160:22;:20;:22::i;:::-;21034:158;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;21034:158:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;21034:158:79;21207:24;;21034:158;;-1:-1:-1;21207:28:79;21203:280;;21256:9;21251:222;21271:17;:24;21267:1;:28;21251:222;;;21320:29;21352:49;21380:17;21398:1;21380:20;;;;;;;;;;;;;;21352:27;:49::i;:::-;21320:81;-1:-1:-1;21427:31:79;:4;21320:81;21427:8;:31::i;:::-;21420:38;-1:-1:-1;;21297:3:79;;21251:222;;;;21203:280;21493:11;;;;20411:1100;:::o;34917:2993::-;35158:30;35190:31;4661:29;:27;:29::i;:::-;4719:4;4700:23;;-1:-1:-1;;;;4700:23:79;-1:-1:-1;;;4700:23:79;;;;35263:13:::1;:11;:13::i;:::-;35237:39;;35307:31;:17;;:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;35307:29:79::1;::::0;-1:-1:-1;;;35307:31:79:i:1;:::-;35286:135;;;;-1:-1:-1::0;;;35286:135:79::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;35452:27;:13;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;35452:25:79::1;::::0;-1:-1:-1;;;35452:27:79:i:1;:::-;35431:127;;;;-1:-1:-1::0;;;35431:127:79::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;36069:10;::::0;36062:37:::1;::::0;;-1:-1:-1;;;36062:37:79;;;;36019:148:::1;::::0;-1:-1:-1;;;;;36069:10:79::1;::::0;36062:35:::1;::::0;:37:::1;::::0;;::::1;::::0;36069:10:::1;::::0;36062:37;;;;;;;36069:10;36062:37;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;::::0;;::::1;-1:-1:-1::0;;36062:37:79::1;::::0;::::1;;::::0;::::1;::::0;::::1;;;;;::::0;::::1;;;;;;;;;;;;;;;-1:-1:-1::0;;;36062:37:79::1;;;;;;::::0;::::1;;::::0;;::::1;::::0;::::1;::::0;::::1;::::0;;::::1;;;;;::::0;::::1;;;;;;;;;;;-1:-1:-1::0;;;36062:37:79::1;;;;;;;::::0;::::1;;::::0;;-1:-1:-1;36062:37:79;;::::1;::::0;;::::1;::::0;;::::1;::::0;::::1;::::0;;;::::1;;;;;;;;::::0;;::::1;::::0;;;::::1;::::0;::::1;;;;;-1:-1:-1::0;;;;36062:37:79;;::::1;36019:148;::::0;;::::1;::::0;;;;;36062:37:::1;36019:148:::0;;;;36062:37;;-1:-1:-1;36113:17:79;;-1:-1:-1;36019:148:79;;-1:-1:-1;36019:148:79;;-1:-1:-1;36019:148:79;::::1;::::0;36113:17;;36019:148;36113:17;36019:148;::::1;;::::0;::::1;::::0;;;;-1:-1:-1;;36019:148:79::1;::::0;;::::1;::::0;;::::1;::::0;;;;;;;;;;;;;-1:-1:-1;36144:13:79;;-1:-1:-1;36144:13:79;;;;36019:148;::::1;::::0;36144:13;;36019:148;36144:13;36019:148;::::1;;::::0;::::1;::::0;;;;-1:-1:-1;36019:29:79::1;::::0;-1:-1:-1;;;36019:148:79:i:1;:::-;36003:164;;36342:17;36373:34;:32;:34::i;:::-;36369:432;;;36628:4;-1:-1:-1::0;;;;;36628:12:79::1;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;36628:14:79;::::1;;36624:167;;36743:33;::::0;::::1;::::0;;;::::1;36624:167;;;36695:3:::0;-1:-1:-1;36624:167:79::1;36900:10;::::0;36812:22:::1;::::0;;;36860:161:::1;::::0;-1:-1:-1;;;;;36900:10:79::1;36925:15:::0;36954;36812:22;37002:9;36860:19:::1;:161::i;:::-;36811:210;;;;37136:13;:20;37122:35;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;-1:-1:-1;37122:35:79::1;;37105:52;;37172:9;37167:512;37187:13;:20;37183:1;:24;37167:512;;;37248:134;37369:12;37248:99;37332:14;37254:13;37268:1;37254:16;;;;;;;;;::::0;;::::1;::::0;;;;;;;37299:10:::1;::::0;37248:62:::1;::::0;;-1:-1:-1;;;37248:62:79;;-1:-1:-1;;;;;37299:10:79;;::::1;37248:62;::::0;::::1;::::0;;;:50;;;::::1;::::0;::::1;::::0;:62;;;;;;;;;;;:50;:62;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;37248:62:79;;:83:::1;:99::i;:134::-;37228:14;37243:1;37228:17;;;;;;;;;;;;;:154;;;::::0;::::1;37472:1;37452:14;37467:1;37452:17;;;;;;;;;;;;;;:21;37448:221;;;37500:10;::::0;37549:16;;-1:-1:-1;;;;;37500:10:79;;::::1;::::0;37493:34:::1;::::0;37549:13;;37563:1;;37549:16;::::1;;;;;;;;;;;37587:10;37619:14;37634:1;37619:17;;;;;;;;;;;;;;37493:161;;;;;;;;;;;;;-1:-1:-1::0;;;;;37493:161:79::1;;;;;;-1:-1:-1::0;;;;;37493:161:79::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;37448:221;37209:3;;37167:512;;;;37751:10;-1:-1:-1::0;;;;;37694:160:79::1;37722:15;-1:-1:-1::0;;;;;37694:160:79::1;;37775:14;37803:13;37830:14;37694:160;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;;::::1;::::0;;;::::1;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;;::::1;::::0;;;::::1;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;37865:38;;;;4744:16:::0;:24;;-1:-1:-1;;;;4744:24:79;;;34917:2993;;;;-1:-1:-1;34917:2993:79;-1:-1:-1;;;;;34917:2993:79:o;1880:260:230:-;1940:25;2052:29;:27;:29::i;:::-;-1:-1:-1;;;;;2032:66:230;;:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2032:68:230;1996:137;;;-1:-1:-1;;;1996:137:230;;;;-1:-1:-1;;;;;1996:135:230;;;;;;:137;;;;;2032:68;;1996:137;;;;;;;;:135;:137;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1996:137:230;;-1:-1:-1;1880:260:230;:::o;47036:126:79:-;4993:30;5009:13;:11;:13::i;4993:30::-;47103:52:::1;47132:22;:20;:22::i;:::-;47103:28;:52::i;:::-;47036:126::o:0;47621:188::-;4819:24;:22;:24::i;:::-;47756:46:::1;47779:22;47756;:46::i;:::-;47621:188:::0;:::o;47293:193::-;4909:29;:27;:29::i;:::-;47398:15:::1;:13;:15::i;:::-;-1:-1:-1::0;;;;;47391:39:79::1;;47431:14;:12;:14::i;:::-;47447:22;:20;:22::i;:::-;47471:7;47391:88;;;;;;;;;;;;;-1:-1:-1::0;;;;;47391:88:79::1;;;;;;-1:-1:-1::0;;;;;47391:88:79::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;47293:193:::0;:::o;52389:208::-;-1:-1:-1;;;;;52553:37:79;;52496:34;52553:37;;;:31;:37;;;;;;52389:208;;;;:::o;50912:120::-;51008:17;50912:120;:::o;24263:736::-;24409:23;24444:28;24503:1;24475:25;:23;:25::i;:::-;:29;24444:60;;24514:23;24540:13;:11;:13::i;:::-;24514:39;;24586:23;24585:24;:126;;;;24643:17;:15;:17::i;:::-;-1:-1:-1;;;;;24629:65:79;;24695:15;24629:82;;;;;;;;;;;;;-1:-1:-1;;;;;24629:82:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;24629:82:79;24585:126;24564:204;;;;;-1:-1:-1;;;24564:204:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;24798:194;24827:6;24851:17;24886:18;24922:23;24963:15;24798:11;:194::i;:::-;24779:213;;;;24263:736;;;;;;:::o;18700:962::-;4819:24;:22;:24::i;:::-;4462:43:::1;:41;:43::i;:::-;4548:4;4515:37:::0;;-1:-1:-1;;;;4515:37:79::1;-1:-1:-1::0;;;4515:37:79::1;::::0;;19059:15:::2;:13;:15::i;:::-;-1:-1:-1::0;;;;;19052:38:79::2;;19096:23;19052:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;19048:150;;19151:36;::::0;::::2;::::0;;;::::2;19048:150;19481:15;:13;:15::i;:::-;-1:-1:-1::0;;;;;19470:45:79::2;;19521:29;19470:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;19454:175;;19590:28;::::0;::::2;::::0;;;::::2;19454:175;19639:16;:14;:16::i;:::-;-1:-1:-1::0;;4573:30:79::1;:38:::0;;-1:-1:-1;;;;4573:38:79::1;::::0;;18700:962::o;49671:117::-;49768:13;49671:117;:::o;51476:140::-;51581:28;;-1:-1:-1;;;51581:28:79;;;;;51476:140::o;1584:174:230:-;1724:27;1584:174;:::o;10140:484:79:-;10241:10;;-1:-1:-1;;;;;10241:10:79;;10282:38;10321:13;:11;:13::i;:::-;10282:53;;;;;;;;;;;;;-1:-1:-1;;;;;10282:53:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10282:53:79;10261:138;;;;-1:-1:-1;;;10261:138:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10410:11;10424:9;:7;:9::i;:::-;10410:23;;10451:14;-1:-1:-1;;;;;10444:47:79;;10505:13;10532:58;10555:14;10571:13;10586:3;10532:22;:58::i;:::-;10604:3;10444:173;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49137:187;49292:25;49137:187;:::o;25284:496::-;25392:23;25431:28;25490:1;25462:25;:23;:25::i;:::-;:29;25431:60;;25501:23;25527:13;:11;:13::i;:::-;25501:39;;25570:203;25599:15;25632:17;25667:18;25703:23;25744:15;25570:11;:203::i;:::-;25551:222;;;;25284:496;;;;;:::o;52984:110::-;53077:10;;-1:-1:-1;;;;;53077:10:79;52984:110;:::o;17020:1044::-;4819:24;:22;:24::i;:::-;17102:22:::1;17127:15;:13;:15::i;:::-;17102:40;;17157:12;17153:663;;;17440:17;17466:14;-1:-1:-1::0;;;;;17460:31:79::1;;17492:14;17460:47;;;;;;;;;;;;;-1:-1:-1::0;;;;;17460:47:79::1;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;17460:47:79;;-1:-1:-1;17525:13:79;;17521:285:::1;;17565:14;-1:-1:-1::0;;;;;17558:37:79::1;;17617:14;17660;-1:-1:-1::0;;;;;17653:31:79::1;;:33;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;17653:33:79;17558:177:::1;::::0;;-1:-1:-1;;;;;;17558:177:79::1;::::0;;;;;;-1:-1:-1;;;;;17558:177:79;;::::1;;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;;;;-1:-1:-1;;17558:177:79;;;;;;;-1:-1:-1;17558:177:79;;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;17759:32:79::1;::::0;;;;;;;::::1;::::0;-1:-1:-1;17759:32:79;;;;::::1;::::0;;-1:-1:-1;17759:32:79::1;17521:285;17153:663;;17833:14;-1:-1:-1::0;;;;;17826:38:79::1;;17865:22;:20;:22::i;:::-;17826:62;;;;;;;;;;;;;-1:-1:-1::0;;;;;17826:62:79::1;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;17941:15;:13;:15::i;:::-;-1:-1:-1::0;;;;;17930:43:79::1;;17974:12;17930:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;18008:18;:16;:18::i;:::-;-1:-1:-1::0;;;;;17997:46:79::1;;18044:12;17997:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;4853:1;17020:1044:::0;:::o;50391:120::-;50490:14;50391:120;:::o;50652:127::-;50752:20;50652:127;:::o;21749:353::-;21807:24;21843:11;21857:9;:7;:9::i;:::-;21843:23;;21896:165;21931:3;21954:15;:13;:15::i;:::-;-1:-1:-1;;;;;21948:34:79;;:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;21948:36:79;22016:22;:20;:22::i;:::-;-1:-1:-1;;;;;22010:38:79;;:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;22010:40:79;22002:49;;21998:2;:53;21896:21;:165::i;:::-;21877:184;;22072:23;21749:353;:::o;46437:537::-;5090:27;5106:10;5090:15;:27::i;:::-;46568:1:::1;46534:22;:20;:22::i;:::-;-1:-1:-1::0;;;;;46534:36:79::1;;46513:134;;;;-1:-1:-1::0;;;46513:134:79::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;46658:26;46728:15;:13;:15::i;:::-;46687:57;::::0;;-1:-1:-1;;;;;46687:57:79;;::::1;;::::0;;::::1;::::0;;;;;;;;;;;;;;;;;;;;::::1;::::0;::::1;::::0;;-1:-1:-1;;;;;46687:57:79::1;-1:-1:-1::0;;;46687:57:79::1;::::0;;;-1:-1:-1;;46794:29:79::1;:27;:29::i;:::-;-1:-1:-1::0;;;;;46774:62:79::1;;46850:13;46774:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;;::::1;::::0;;;::::1;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;46774:99:79;;-1:-1:-1;46884:33:79::1;46774:99:::0;46884:22:::1;:33::i;:::-;46928:39;46957:9;46928:28;:39::i;:::-;5127:1;;46437:537::o:0;51750:131::-;51812:26;51857:17;-1:-1:-1;;;;;51857:17:79;51750:131;:::o;19739:99::-;4819:24;:22;:24::i;:::-;19815:16:::1;:14;:16::i;8852:603::-:0;9005:24;4993:30;5009:13;:11;:13::i;4993:30::-;9076:17:::1;:15;:17::i;:::-;-1:-1:-1::0;;;;;9062:51:79::1;;9131:9;9158;9195:12;;9185:23;;;;;;;;;;;;;;;;;;;;;;;;;;;9062:160;;;;;;;;;;;;;-1:-1:-1::0;;;;;9062:160:79::1;;;;;;-1:-1:-1::0;;;;;9062:160:79::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;9062:160:79;9041:239:::1;;;::::0;;-1:-1:-1;;;9041:239:79;;::::1;;::::0;::::1;::::0;;;;;;;::::1;::::0;;;;;;;;;;;;;::::1;;9317:15;:13;:15::i;:::-;-1:-1:-1::0;;;;;9310:38:79::1;;9366:9;9410;9421:12;;9393:41;;;;;;-1:-1:-1::0;;;;;9393:41:79::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9310:138;;;;;;;;;;;;;-1:-1:-1::0;;;;;9310:138:79::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;;::::1;::::0;;;::::1;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;::::0;;::::1;-1:-1:-1::0;;9310:138:79::1;::::0;::::1;;::::0;::::1;::::0;::::1;;;;;::::0;::::1;;;;;;;;;;;;;;;-1:-1:-1::0;;;9310:138:79::1;;;;;;::::0;::::1;;::::0;;::::1;::::0;::::1;::::0;::::1;::::0;;::::1;;;;;::::0;::::1;;::::0;;-1:-1:-1;;;9310:138:79;::::1;::::0;;::::1;::::0;-1:-1:-1;9310:138:79::1;;;;;::::0;::::1;;::::0;;-1:-1:-1;9310:138:79;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;;::::1;;;;;;;;::::0;;::::1;::::0;;;::::1;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;9291:157;;8852:603:::0;;;;;;:::o;50171:96::-;50251:9;50171:96;:::o;49927:135::-;50036:19;49927:135;:::o;48880:101::-;48964:10;48880:101;:::o;49439:111::-;49532:11;49439:111;:::o;47938:284::-;5090:27;5106:10;5090:15;:27::i;:::-;48035:17:::1;::::0;;48016:55:::1;::::0;;-1:-1:-1;;;48016:55:79;;;;-1:-1:-1;;;;;48035:17:79;;::::1;::::0;48016:53:::1;::::0;:55;;::::1;::::0;48035:17:::1;::::0;48016:55;;;;;;48035:17;;48016:55;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;48089:10:79::1;::::0;-1:-1:-1;;;;;48089:10:79::1;::::0;-1:-1:-1;48082:34:79::1;::::0;-1:-1:-1;48117:14:79::1;:12;:14::i;:::-;48082:50;;;;;;;;;;;;;-1:-1:-1::0;;;;;48082:50:79::1;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;48150:17:79::1;48143:24:::0;;-1:-1:-1;;;;;;48143:24:79::1;::::0;;-1:-1:-1;;48183:32:79::1;::::0;;48150:17:::1;48183:32:::0;;;;::::1;::::0;;;;::::1;::::0;;::::1;47938:284::o:0;46113:165::-;46212:59;46246:15;:13;:15::i;:::-;46263:7;46212:33;:59::i;52015:131::-;52122:17;;-1:-1:-1;;;;;52122:17:79;52015:131;:::o;13784:1534::-;13943:30;;13913:16;;-1:-1:-1;;;13943:30:79;;;;13939:1287;;;14065:23;:21;:23::i;:::-;-1:-1:-1;;;;;14054:34:79;:7;-1:-1:-1;;;;;14054:34:79;;14050:1166;;;14144:34;14133:7;:45;;;;;;;;;:117;;;-1:-1:-1;14213:37:79;14202:7;:48;;;;;;;;;14133:117;:186;;;-1:-1:-1;14285:34:79;14274:7;:45;;;;;;;;;14133:186;:259;;;-1:-1:-1;14354:38:79;14343:49;:7;:49;;;;;;;;;14133:259;14108:362;;;-1:-1:-1;14447:4:79;14108:362;14050:1166;;;14505:15;:13;:15::i;:::-;-1:-1:-1;;;;;14494:26:79;:7;-1:-1:-1;;;;;14494:26:79;;14490:726;;;14576:29;14565:7;:40;;;;;;;;;:104;;;-1:-1:-1;14640:29:79;14629:7;:40;;;;;;;;;14565:104;:172;;;-1:-1:-1;14704:33:79;14693:44;;14490:726;14850:28;:26;:28::i;:::-;-1:-1:-1;;;;;14839:39:79;:7;-1:-1:-1;;;;;14839:39:79;;14835:381;;;14934:41;14923:7;:52;;;;;;;;;:125;;;-1:-1:-1;15010:38:79;14999:7;:49;;;;;;;;;14923:125;:201;;;-1:-1:-1;15083:41:79;15072:7;:52;;;;;;;;;14923:201;14898:304;;;-1:-1:-1;15179:4:79;14898:304;15244:11;15236:75;;;;-1:-1:-1;;;15236:75:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13784:1534;;;:::o;6045:494::-;6170:33;6206:48;6245:8;6206:38;:48::i;:::-;6170:84;-1:-1:-1;6286:30:79;;;:125;;;6386:25;:23;:25::i;:::-;6336:46;:15;6356:25;6336:19;:46::i;:::-;:75;;6286:125;:196;;;;6431:51;6470:11;6431:38;:51::i;:::-;6265:267;;;;;-1:-1:-1;;;6265:267:79;;;;;;;;;;;;;;;;;;;;;;;;;;;983:367:230;1029:32;1096:2;1077:8;:21;;;;:68;;;1116:29;:27;:29::i;:::-;-1:-1:-1;;;;;1102:43:230;:10;-1:-1:-1;;;;;1102:43:230;;1077:68;1073:243;;;-1:-1:-1;;;1233:14:230;1229:23;1216:37;1212:2;1208:46;1282:23;;1073:243;-1:-1:-1;1333:10:230;983:367;:::o;5618:148:79:-;5703:15;:13;:15::i;:::-;-1:-1:-1;;;;;5696:32:79;;:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5696:34:79;-1:-1:-1;;;;;5688:42:79;;;;;;5680:79;;;;;-1:-1:-1;;;5680:79:79;;;;;;;;;;;;;;;;;;;;;;;;;;;5772:110;5843:16;;-1:-1:-1;;;5843:16:79;;;;5842:17;5834:41;;;;;-1:-1:-1;;;5834:41:79;;;;;;;;;;;;-1:-1:-1;;;5834:41:79;;;;;;;;;;;;;;3999:454:354;4067:14;4113:1;4097:5;:12;:17;4093:59;;-1:-1:-1;4137:4:354;4130:11;;4093:59;4184:12;;4162:19;4206:219;4226:11;4222:1;:15;4206:219;;;4279:1;4275:5;;4258:157;4286:11;4282:1;:15;4258:157;;;4338:5;4344:1;4338:8;;;;;;;;;;;;;;-1:-1:-1;;;;;4326:20:354;:5;4332:1;4326:8;;;;;;;;;;;;;;-1:-1:-1;;;;;4326:20:354;;4322:79;;;4377:5;4370:12;;;;;;;4322:79;4299:3;;4258:157;;;-1:-1:-1;4239:3:354;;4206:219;;;-1:-1:-1;4442:4:354;;3999:454;-1:-1:-1;;;3999:454:354:o;43117:1961:79:-;43337:23;43362:21;43395:73;43437:18;43458:9;43395:33;:73::i;:::-;43479:20;43516:18;43479:57;;43547:36;43586:14;-1:-1:-1;;;;;43586:24:79;;43611:9;43586:35;;;;;;;;;;;;;-1:-1:-1;;;;;43586:35:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;43586:35:79;;-1:-1:-1;;;43636:41:79;;43632:187;;;43711:28;43693:46;;43632:187;;;43788:20;43770:38;;43632:187;43854:1;43836:15;:19;43828:72;;;;-1:-1:-1;;;43828:72:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;43911:88;43933:9;43944:15;43961:19;43982:16;43911:21;:88::i;:::-;44100:37;44140:14;-1:-1:-1;;;;;44140:24:79;;44165:9;44140:35;;;;;;;;;;;;;-1:-1:-1;;;;;44140:35:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;44140:35:79;;-1:-1:-1;;;44189:41:79;;44185:348;;;44264:29;44246:47;;44185:348;;;44346:28;44314:29;:60;44310:223;;;44408:114;44445:63;:28;44478:29;44445:32;:63::i;:::-;44408:15;;:19;:114::i;:::-;44390:132;;44310:223;44627:18;-1:-1:-1;;;;;44627:33:79;;:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;44696:1;44677:16;:20;:58;;;;;44701:34;:32;:34::i;:::-;44673:165;;;44751:76;44789:18;44810:16;44751:29;:76::i;:::-;44926:14;-1:-1:-1;;;;;44926:26:79;;:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;44926:28:79;44964:57;;;-1:-1:-1;;;44964:57:79;;-1:-1:-1;;;;;44964:57:79;;;;;;;;;;;;;;;44926:28;;-1:-1:-1;44964:29:79;;;;;;:57;;;;;-1:-1:-1;;44964:57:79;;;;;;;;-1:-1:-1;44964:29:79;:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;45032:39;;;43117:1961;;;;;;;;:::o;3538:215:442:-;3596:7;3619:6;3615:20;;-1:-1:-1;3634:1:442;3627:8;;3615:20;3657:5;;;3661:1;3657;:5;:1;3680:5;;;;;:10;3672:56;;;;-1:-1:-1;;;3672:56:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4217:150;4275:7;4306:1;4302;:5;4294:44;;;;;-1:-1:-1;;;4294:44:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;4359:1;4355;:5;;;;;;;4217:150;-1:-1:-1;;;4217:150:442:o;39746:1723:79:-;39995:31;40038:29;40070:22;:20;:22::i;:::-;40038:54;-1:-1:-1;40102:24:79;40167:13;40153:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;40153:35:79;;40136:52;;40203:9;40198:1077;40214:24;;;40198:1077;;;40278:48;40299:23;;40323:1;40299:26;;;;;;;;;;;;;40278:16;:20;;:48;;;;:::i;:::-;40259:67;-1:-1:-1;2918:42:79;40435:13;;40449:1;40435:16;;;;;;;;;;;;;-1:-1:-1;;;;;40435:16:79;-1:-1:-1;;;;;40435:67:79;;40431:114;;;40522:8;;40431:114;40597:21;:19;:21::i;:::-;-1:-1:-1;;;;;40579:64:79;;40661:21;40700:65;2773:5;40700:40;40713:23;;40737:1;40713:26;;;;;;;;;;;;;40700:8;:12;;:40;;;;:::i;:65::-;40783:13;;40797:1;40783:16;;;;;;;;;;;;;-1:-1:-1;;;;;40783:16:79;40579:234;;;;;;;;;;;;;-1:-1:-1;;;;;40579:234:79;;;;;;;;;;;-1:-1:-1;;;;;40579:234:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;40579:234:79;40559:17;;:14;;40574:1;;40559:17;;;;;;;;;;;:254;;;;;41075:1;41055:14;41070:1;41055:17;;;;;;;;;;;;;;:21;41030:136;;;;-1:-1:-1;;;41030:136:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;41181:18;-1:-1:-1;;;;;41181:34:79;;41216:13;;41230:1;41216:16;;;;;;;;;;;;;-1:-1:-1;;;;;41216:16:79;41234:10;41246:14;41261:1;41246:17;;;;;;;;;;;;;;41181:83;;;;;;;;;;;;;-1:-1:-1;;;;;41181:83:79;;;;;;-1:-1:-1;;;;;41181:83:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;40198:1077;40240:3;;40198:1077;;;;2773:5;41306:16;:39;41285:145;;;;-1:-1:-1;;;41285:145:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;41441:21;;39746:1723;;;;;;;;;:::o;42386:659::-;42675:18;:16;:18::i;:::-;-1:-1:-1;;;;;42660:51:79;;42733:4;42752:55;42849:9;42876:10;42904:23;42945:7;42970:13;43001;42821:207;;;;;;-1:-1:-1;;;;;42821:207:79;;;;;;-1:-1:-1;;;;;42821:207:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;42660:378;;;;;;;;;;;;;-1:-1:-1;;;;;42660:378:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;42386:659;;;;;;:::o;5321:134::-;5400:17;:15;:17::i;:::-;-1:-1:-1;;;;;5386:31:79;:10;-1:-1:-1;;;;;5386:31:79;;5378:70;;;;;-1:-1:-1;;;5378:70:79;;;;;;;;;;;;;;;;;;;;;;;;;;;5888:151;5973:30;;-1:-1:-1;;;5973:30:79;;;;5972:31;5964:68;;;;;-1:-1:-1;;;5964:68:79;;;;;;;;;;;;;;;;;;;;;;;;;;;22199:919;22296:14;22327:30;22359:31;22425:17;-1:-1:-1;;;;;22394:75:79;;:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;22394:77:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;22394:77:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;22394:77:79;;;;;;;;;;;;-1:-1:-1;22394:77:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;22394:77:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;22394:77:79;;;;;;;;;;;;-1:-1:-1;22394:77:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22326:145;;;;22482:20;22523:21;:19;:21::i;:::-;-1:-1:-1;;;;;22505:83:79;;22589:13;22604:14;22620:22;:20;:22::i;:::-;22505:138;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;22505:138:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;22505:138:79;22716:74;;;-1:-1:-1;;;22716:74:79;;;;22505:138;;-1:-1:-1;22655:27:79;;;;-1:-1:-1;;;;;22716:72:79;;;;;:74;;;;;;;;;;;;;;;;:72;:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;22716:74:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;22716:74:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;22716:74:79;;;;;;;;;;;;-1:-1:-1;22716:74:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;22716:74:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;22716:74:79;;;;;;;;;;;;-1:-1:-1;22716:74:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22654:136;;;;22801:17;22839:21;:19;:21::i;:::-;-1:-1:-1;;;;;22821:70:79;;22905:10;22929:11;22954:22;:20;:22::i;:::-;22821:165;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;22821:165:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;22821:165:79;;-1:-1:-1;23001:24:79;;;22997:91;;;23050:27;:12;23067:9;23050:16;:27::i;:::-;23041:36;;22997:91;23098:13;;;;;;22199:919;;;:::o;2690:175:442:-;2748:7;2779:5;;;2802:6;;;;2794:46;;;;;-1:-1:-1;;;2794:46:442;;;;;;;;;;;;;;;;;;;;;;;;;;;38148:1495:79;38340:30;;38423:41;:14;38450:13;38423:26;:41::i;:::-;38382:82;;38478:17;:24;38506:1;38478:29;38474:88;;;38530:21;-1:-1:-1;38523:28:79;;38474:88;38647:26;38687:17;:24;38676:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;38676:36:79;;38647:65;;38722:28;38765:9;38760:229;38780:17;:24;38776:1;:28;38760:229;;;38830:52;38861:17;38879:1;38861:20;;;;;;;;;;;;;;38830:21;:30;;:52;;;;:::i;:::-;38825:154;;38920:4;38902:12;38915:1;38902:15;;;;;;;;:22;;;:15;;;;;;;;;;;:22;38942;;;;;38825:154;38806:3;;38760:229;;;-1:-1:-1;39002:25:79;38998:84;;39050:21;39043:28;;;;;;;38998:84;39122:28;;:54;;39155:20;39122:32;:54::i;:::-;39108:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;39108:69:79;;39092:85;;39192:9;39187:123;39207:21;:28;39203:1;:32;39187:123;;;39275:21;39297:1;39275:24;;;;;;;;;;;;;;39256:13;39270:1;39256:16;;;;;;;;-1:-1:-1;;;;;39256:43:79;;;:16;;;;;;;;;;;:43;39237:3;;39187:123;;;-1:-1:-1;39347:28:79;;39319:25;39385:221;39405:17;:24;39401:1;:28;39385:221;;;39454:12;39467:1;39454:15;;;;;;;;;;;;;;39450:146;;;39524:17;39542:1;39524:20;;;;;;;;;;;;;;39489:13;39503:17;39489:32;;;;;;;;-1:-1:-1;;;;;39489:55:79;;;:32;;;;;;;;;;;:55;39562:19;;;;;39450:146;39431:3;;39385:221;;;;39616:20;;;;38148:1495;;;;;:::o;48286:123::-;48381:10;-1:-1:-1;;;;;48362:38:79;;:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;48480:191;48562:17;:42;;-1:-1:-1;;;;;48562:42:79;;-1:-1:-1;;;;;;48562:42:79;;;;;;;;48620:44;;;;;;;;;;;;;;;;48480:191;:::o;5461:151::-;5545:22;:20;:22::i;:::-;-1:-1:-1;;;;;5531:36:79;:10;-1:-1:-1;;;;;5531:36:79;;5523:82;;;;-1:-1:-1;;;5523:82:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25827:3217;26085:23;4661:29;:27;:29::i;:::-;4719:4;4700:23;;-1:-1:-1;;;;4700:23:79;-1:-1:-1;;;4700:23:79;;;4462:43:::1;:41;:43::i;:::-;4548:4;4515:37:::0;;-1:-1:-1;;;;4515:37:79::1;-1:-1:-1::0;;;4515:37:79::1;::::0;;26286:22;26278:77:::2;;;;-1:-1:-1::0;;;26278:77:79::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26366:22;26391:15;:13;:15::i;:::-;26366:40;;26438:24;26437:25;:84;;;;26467:54;26506:14;26467:38;:54::i;:::-;26466:55;26437:84;26416:180;;;;-1:-1:-1::0;;;26416:180:79::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26607:11;26621:9;:7;:9::i;:::-;26607:23;;26946:50;26965:6;26973:17;26992:3;26946:18;:50::i;:::-;27102:14;-1:-1:-1::0;;;;;27095:37:79::2;;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;27148:34;:32;:34::i;:::-;27144:115;;;27198:50;27228:14;27244:3;27198:29;:50::i;:::-;27494:32;27529:167;27575:22;:20;:22::i;:::-;27611:16;27641:14;27669:17;27529:32;:167::i;:::-;27494:202;;27785:18;27806:164;27841:3;27864:14;-1:-1:-1::0;;;;;27858:33:79::2;;:35;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;27806:164;27785:185:::0;-1:-1:-1;27980:20:79::2;28003:57;27785:185:::0;28003:41:::2;:24:::0;2823:6:::2;28003:28;:41::i;:57::-;27980:80;;28107:23;28139:14;-1:-1:-1::0;;;;;28133:31:79::2;;28165:6;28133:39;;;;;;;;;;;;;-1:-1:-1::0;;;;;28133:39:79::2;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;::::0;::::2;;-1:-1:-1::0;28133:39:79;28182:55:::2;::::0;;-1:-1:-1;;;28182:55:79;;-1:-1:-1;;;;;28182:55:79;;::::2;;::::0;::::2;::::0;;;;;;;;;28133:39;;-1:-1:-1;28182:33:79;;::::2;::::0;::::2;::::0;:55;;;;;-1:-1:-1;;28182:55:79;;;;;;;;-1:-1:-1;28182:33:79;:55;::::2;;::::0;::::2;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;28322:72;28342:6;28350:24;28376:12;28390:3;28322:19;:72::i;:::-;28586:60;28630:15;28592:14;-1:-1:-1::0;;;;;28586:31:79::2;;28618:6;28586:39;;;;;;;;;;;;;-1:-1:-1::0;;;;;28586:39:79::2;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;::::0;::::2;;-1:-1:-1::0;28586:39:79;;:43:::2;:60::i;:::-;28568:78;;28696:18;28677:15;:37;;28656:133;;;;-1:-1:-1::0;;;28656:133:79::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;28804:24;28800:112;;;-1:-1:-1::0;;;;;28844:39:79;::::2;;::::0;;;:31:::2;:39;::::0;;;;28886:15:::2;28844:57:::0;;28800:112:::2;28927:77;::::0;;;;;::::2;::::0;::::2;::::0;;;;;;;;;;;-1:-1:-1;;;;;28927:77:79;::::2;::::0;::::2;::::0;;;;;;;;::::2;29015:22;;;;;;4573:30:::1;:38:::0;;-1:-1:-1;;;;4744:24:79;;;25827:3217;;-1:-1:-1;;;;;25827:3217:79:o;20006:234::-;20138:5;;-1:-1:-1;;;20138:5:79;;;;20137:6;20129:57;;;;-1:-1:-1;;;20129:57:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20226:4;20197:36;11862:787;11999:26;12037:29;12069:22;:20;:22::i;:::-;12037:54;;12102:23;12128:161;12163:4;12187:11;-1:-1:-1;;;;;12181:30:79;;:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12181:32:79;12239:39;;;-1:-1:-1;;;12239:39:79;;;;-1:-1:-1;;;;;12239:37:79;;;;;:39;;;;;12181:32;;12239:39;;;;;;;:37;:39;;;;;;;;;;12128:161;12102:187;-1:-1:-1;12300:39:79;12342:73;2823:6;12342:34;12102:187;12362:13;12342:19;:34::i;:73::-;12300:115;;12463:21;:19;:21::i;:::-;-1:-1:-1;;;;;12445:64:79;;12527:21;12566:31;12615:13;:11;:13::i;:::-;12445:197;;;;;;;;;;;;;-1:-1:-1;;;;;12445:197:79;;;;;;;;;;;-1:-1:-1;;;;;12445:197:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12445:197:79;;11862:787;-1:-1:-1;;;;;;;11862:787:79:o;23182:330::-;23334:24;23374:18;23370:78;;-1:-1:-1;23415:22:79;23408:29;;23370:78;23465:40;23491:13;23465:21;:4;2823:6;23465:8;:21::i;:40::-;23458:47;23182:330;-1:-1:-1;;;;23182:330:79:o;3136:155:442:-;3194:7;3226:1;3221;:6;;3213:49;;;;;-1:-1:-1;;;3213:49:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3279:5:442;;;3136:155::o;9557:346:79:-;9672:41;9760:15;:13;:15::i;:::-;-1:-1:-1;;;;;9748:48:79;;9797:11;9748:61;;;;;;;;;;;;;-1:-1:-1;;;;;9748:61:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9748:61:79;;:148;;;9839:17;:15;:17::i;:::-;-1:-1:-1;;;;;9825:58:79;;9884:11;9825:71;;;;;;;;;;;;;-1:-1:-1;;;;;9825:71:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9825:71:79;9729:167;9557:346;-1:-1:-1;;9557:346:79:o;41655:583::-;4462:43;:41;:43::i;:::-;4548:4;4515:37;;-1:-1:-1;;;;4515:37:79;-1:-1:-1;;;4515:37:79;;;41896:15:::1;:13;:15::i;:::-;41994:59;::::0;;-1:-1:-1;;;;;41994:59:79;;::::1;;::::0;::::1;::::0;;;;;;;;::::1;;::::0;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;41884:217:79;;;:39;;;::::1;::::0;::::1;::::0;41941:35:::1;::::0;42071:16;;41884:217;;;41941:35;41884:217:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;;::::1;::::0;;;::::1;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;41868:364;;;::::0;;;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;42194:9;-1:-1:-1::0;;;;;42160:61:79::1;42186:6;42160:61;;;;;;;;;;;;;;;;;;;::::0;;;;-1:-1:-1;;42160:61:79;;;;::::1;::::0;;::::1;::::0;::::1;;;;::::0;;;::::1;::::0;;::::1;;;-1:-1:-1::0;;42160:61:79;;::::1;::::0;;::::1;::::0;::::1;;::::0;;::::1;::::0;;;;;::::1;::::0;;::::1;::::0;;;;;;;;;-1:-1:-1;42160:61:79::1;::::0;-1:-1:-1;42160:61:79;;;;;;;-1:-1:-1;42160:61:79::1;42113:119;41868:364;-1:-1:-1::0;;4573:30:79;:38;;-1:-1:-1;;;;4573:38:79;;;-1:-1:-1;;41655:583:79:o;11260:527::-;11352:20;11381:11;-1:-1:-1;;;;;11375:28:79;;11404:23;:21;:23::i;:::-;11375:53;;;;;;;;;;;;;-1:-1:-1;;;;;11375:53:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11375:53:79;;-1:-1:-1;11438:25:79;11466:55;11489:11;11375:53;11516:4;11466:22;:55::i;:::-;11438:83;;11555:11;-1:-1:-1;;;;;11548:44:79;;11593:12;11607:17;11626:4;11548:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11532:249;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11724:6;11690:80;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;11690:80:79;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;11690:80:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11690:80:79;;-1:-1:-1;11690:80:79;;;;;;;;-1:-1:-1;11690:80:79;11643:138;11532:249;11260:527;;;;:::o;4609:1061:354:-;4734:27;4781:14;:21;4806:1;4781:26;4777:69;;;-1:-1:-1;4830:5:354;4823:12;;4777:69;4856:29;4899:5;:12;4888:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4888:24:354;-1:-1:-1;4952:12:354;;4856:56;;-1:-1:-1;4922:27:354;4974:200;4994:5;:12;4990:1;:16;4974:200;;;5031:34;5040:14;5056:5;5062:1;5056:8;;;;;;;;;;;;;;5031;:34::i;:::-;5027:137;;;5106:4;5085:15;5101:1;5085:18;;;;;;;;:25;;;:18;;;;;;;;;;;:25;-1:-1:-1;;5128:21:354;;;;5027:137;5008:3;;4974:200;;;;5211:5;:12;5188:19;:35;5184:452;;;5252:5;5239:18;;5184:452;;;5278:23;;5274:362;;5344:19;5330:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5330:34:354;;5317:47;;5378:22;5419:9;5414:212;5434:5;:12;5430:1;:16;5414:212;;;5476:15;5492:1;5476:18;;;;;;;;;;;;;;5471:141;;5547:5;5553:1;5547:8;;;;;;;;;;;;;;5518:10;5529:14;5518:26;;;;;;;;-1:-1:-1;;;;;5518:37:354;;;:26;;;;;;;;;;;:37;5577:16;;;;;5471:141;5448:3;;5414:212;;;;5274:362;;5646:17;;4609:1061;;;;:::o;2489:299::-;2595:17;2633:9;2628:132;2648:5;:12;2644:1;:16;2628:132;;;2696:5;2702:1;2696:8;;;;;;;;;;;;;;-1:-1:-1;;;;;2685:19:354;:7;-1:-1:-1;;;;;2685:19:354;;2681:69;;;2731:4;2724:11;;;;;2681:69;2662:3;;2628:132;;;-1:-1:-1;2776:5:354;;2489:299;-1:-1:-1;;;2489:299:354:o;29128:304:79:-;29273:15;:13;:15::i;:::-;29360:37;;;-1:-1:-1;;;;;29360:37:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;29261:164:79;;;:39;;;;;;;29314:32;;29411:4;;29261:164;;;29314:32;29261:164;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30521:455;30696:23;30731:35;30775:6;-1:-1:-1;;;;;30769:23:79;;30793:10;30769:35;;;;;;;;;;;;;-1:-1:-1;;;;;30769:35:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;30769:35:79;;-1:-1:-1;30815:68:79;-1:-1:-1;;;;;30815:30:79;;30846:7;30855:10;30867:15;30815:30;:68::i;:::-;30901;30941:27;30907:6;-1:-1:-1;;;;;30901:23:79;;30925:10;30901:35;;;;;;;;;;;;;-1:-1:-1;;;;;30901:35:79;;;;;;;;;;;;;;;;;;;;;;;;;;:68;30894:75;30521:455;-1:-1:-1;;;;;;30521:455:79:o;29769:649::-;29946:11;29960:39;:16;29981:17;29960:20;:39::i;:::-;29946:53;;30021:15;:13;:15::i;:::-;30109:52;;;-1:-1:-1;;;;;30109:52:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;30009:179:79;;;:39;;;;;;;30062:33;;30175:3;;30009:179;;;30062:33;30009:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30214:18;:16;:18::i;:::-;30344:57;;;-1:-1:-1;;;;;30344:57:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;30199:212:79;;;30272:4;30199:212;;;;;;:51;;;;;;;30272:4;;30291:39;;30344:57;30199:212;;;30291:39;30199:212;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;29769:649;;;;;:::o;885:203:450:-;1012:68;;;-1:-1:-1;;;;;1012:68:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1012:68:450;-1:-1:-1;;;1012:68:450;;;985:96;;1005:5;;3386:23;3412:69;3440:4;3412:69;;;;;;;;;;;;;;;;;3420:5;-1:-1:-1;;;;;3412:27:450;;;:69;;;;;:::i;:::-;3495:17;;3386:95;;-1:-1:-1;3495:21:450;3491:221;;3635:10;3624:30;;;;;;;;;;;;;;;-1:-1:-1;3624:30:450;3616:85;;;;-1:-1:-1;;;3616:85:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3581:193:451;3684:12;3715:52;3737:6;3745:4;3751:1;3754:12;3684;4858:18;4869:6;4858:10;:18::i;:::-;4850:60;;;;;-1:-1:-1;;;4850:60:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;4981:12;4995:23;5022:6;-1:-1:-1;;;;;5022:11:451;5042:5;5050:4;5022:33;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5022:33:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4980:75;;;;5072:52;5090:7;5099:10;5111:12;5072:17;:52::i;:::-;5065:59;4608:523;-1:-1:-1;;;;;;;4608:523:451:o;726:413::-;1086:20;1124:8;;;726:413::o;7091:725::-;7206:12;7234:7;7230:580;;;-1:-1:-1;7264:10:451;7257:17;;7230:580;7375:17;;:21;7371:429;;7633:10;7627:17;7693:15;7680:10;7676:2;7672:19;7665:44;7582:145;7772:12;7765:20;;-1:-1:-1;;;7765:20:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;", - "linkReferences": {}, - "immutableReferences": { - "14252": [ - { - "start": 11456, - "length": 32 - } - ], - "14254": [ - { - "start": 8984, - "length": 32 - } - ], - "14256": [ - { - "start": 8598, - "length": 32 - } - ], - "14258": [ - { - "start": 11492, - "length": 32 - } - ], - "14260": [ - { - "start": 11420, - "length": 32 - } - ], - "14262": [ - { - "start": 11384, - "length": 32 - } - ], - "14264": [ - { - "start": 9846, - "length": 32 - } - ], - "14266": [ - { - "start": 9882, - "length": 32 - } - ], - "14268": [ - { - "start": 7969, - "length": 32 - } - ], - "14270": [ - { - "start": 4713, - "length": 32 - } - ], - "62077": [ - { - "start": 8650, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "activate(bool)": "ce5e84a3", - "buyBackProtocolFeeShares(uint256)": "b10ea2b0", - "buyShares(uint256,uint256)": "beebc5da", - "buySharesOnBehalf(address,uint256,uint256)": "877fd894", - "calcGav()": "56cff99f", - "calcGrossShareValue()": "da72503c", - "callOnExtension(address,uint256,bytes)": "39bf70d1", - "deployGasRelayPaymaster()": "db69681f", - "depositToGasRelayPaymaster()": "716d4da4", - "destructActivated(uint256,uint256)": "92b575b6", - "destructUnactivated()": "e53a73b9", - "doesAutoProtocolFeeSharesBuyback()": "a01fd157", - "getDenominationAsset()": "e269c3d6", - "getDispatcher()": "ebb3d589", - "getExternalPositionManager()": "b3fc38e9", - "getFeeManager()": "f2d63826", - "getFundDeployer()": "97c0ac87", - "getGasRelayPaymaster()": "faf9096b", - "getGasRelayPaymasterFactory()": "ac259456", - "getGasRelayTrustedForwarder()": "6ea21143", - "getIntegrationManager()": "e7c45690", - "getLastSharesBoughtTimestampForAccount(address)": "7f20170d", - "getMlnToken()": "e70e605e", - "getPolicyManager()": "d44ad6cb", - "getProtocolFeeReserve()": "da41962e", - "getSharesActionTimelock()": "4da471b7", - "getValueInterpreter()": "875fb4b3", - "getVaultProxy()": "c9809187", - "getWethToken()": "4c252f91", - "init(address,uint256)": "399ae724", - "permissionedVaultAction(uint8,bytes)": "10acd06d", - "preTransferSharesHook(address,address,uint256)": "12f20526", - "preTransferSharesHookFreelyTransferable(address)": "f9d5fe78", - "pullWethForGasRelayer(uint256)": "79951f0f", - "redeemSharesForSpecificAssets(address,uint256,address[],uint256[])": "3462fcc1", - "redeemSharesInKind(address,uint256,address[],address[])": "6af8e7eb", - "setAutoProtocolFeeSharesBuyback(bool)": "2dc7a3a0", - "setGasRelayPaymaster(address)": "73eecf47", - "setVaultProxy(address)": "397bfe55", - "shutdownGasRelayPaymaster()": "f9005af3", - "vaultCallOnContract(address,bytes4,bytes)": "e572ced1" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_dispatcher\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_protocolFeeReserve\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_fundDeployer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_valueInterpreter\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_externalPositionManager\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_feeManager\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_integrationManager\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_policyManager\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_gasRelayPaymasterFactory\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_mlnToken\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_wethToken\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"autoProtocolFeeSharesBuyback\",\"type\":\"bool\"}],\"name\":\"AutoProtocolFeeSharesBuybackSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes\",\"name\":\"failureReturnData\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"sharesAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"buybackValueInMln\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"gav\",\"type\":\"uint256\"}],\"name\":\"BuyBackMaxProtocolFeeSharesFailed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"DeactivateFeeManagerFailed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"gasRelayPaymaster\",\"type\":\"address\"}],\"name\":\"GasRelayPaymasterSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"sharesDue\",\"type\":\"uint256\"}],\"name\":\"MigratedSharesDuePaid\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"PayProtocolFeeDuringDestructFailed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes\",\"name\":\"failureReturnData\",\"type\":\"bytes\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"redeemer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"sharesAmount\",\"type\":\"uint256\"}],\"name\":\"PreRedeemSharesHookFailed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"RedeemSharesInKindCalcGavFailed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"buyer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"investmentAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"sharesIssued\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"sharesReceived\",\"type\":\"uint256\"}],\"name\":\"SharesBought\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"redeemer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"sharesAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"receivedAssets\",\"type\":\"address[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"receivedAssetAmounts\",\"type\":\"uint256[]\"}],\"name\":\"SharesRedeemed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"vaultProxy\",\"type\":\"address\"}],\"name\":\"VaultProxySet\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"_isMigration\",\"type\":\"bool\"}],\"name\":\"activate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_sharesAmount\",\"type\":\"uint256\"}],\"name\":\"buyBackProtocolFeeShares\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_investmentAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_minSharesQuantity\",\"type\":\"uint256\"}],\"name\":\"buyShares\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"sharesReceived_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_buyer\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_investmentAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_minSharesQuantity\",\"type\":\"uint256\"}],\"name\":\"buySharesOnBehalf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"sharesReceived_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"calcGav\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"gav_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"calcGrossShareValue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"grossShareValue_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_extension\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_actionId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_callArgs\",\"type\":\"bytes\"}],\"name\":\"callOnExtension\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"deployGasRelayPaymaster\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"depositToGasRelayPaymaster\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_deactivateFeeManagerGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_payProtocolFeeGasLimit\",\"type\":\"uint256\"}],\"name\":\"destructActivated\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"destructUnactivated\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"doesAutoProtocolFeeSharesBuyback\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"doesAutoBuyback_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDenominationAsset\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"denominationAsset_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDispatcher\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"dispatcher_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getExternalPositionManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"externalPositionManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFeeManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"feeManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFundDeployer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"fundDeployer_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getGasRelayPaymaster\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"gasRelayPaymaster_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getGasRelayPaymasterFactory\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"gasRelayPaymasterFactory_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getGasRelayTrustedForwarder\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"trustedForwarder_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getIntegrationManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"integrationManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_who\",\"type\":\"address\"}],\"name\":\"getLastSharesBoughtTimestampForAccount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"lastSharesBoughtTimestamp_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMlnToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"mlnToken_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPolicyManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"policyManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getProtocolFeeReserve\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"protocolFeeReserve_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getSharesActionTimelock\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"sharesActionTimelock_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getValueInterpreter\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"valueInterpreter_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getVaultProxy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"vaultProxy_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getWethToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"wethToken_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_denominationAsset\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_sharesActionTimelock\",\"type\":\"uint256\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IVault.VaultAction\",\"name\":\"_action\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"}],\"name\":\"permissionedVaultAction\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"preTransferSharesHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_sender\",\"type\":\"address\"}],\"name\":\"preTransferSharesHookFreelyTransferable\",\"outputs\":[],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"pullWethForGasRelayer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_sharesQuantity\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"_payoutAssets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"_payoutAssetPercentages\",\"type\":\"uint256[]\"}],\"name\":\"redeemSharesForSpecificAssets\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"payoutAmounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_sharesQuantity\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"_additionalAssets\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"_assetsToSkip\",\"type\":\"address[]\"}],\"name\":\"redeemSharesInKind\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"payoutAssets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"payoutAmounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"_nextAutoProtocolFeeSharesBuyback\",\"type\":\"bool\"}],\"name\":\"setAutoProtocolFeeSharesBuyback\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nextGasRelayPaymaster\",\"type\":\"address\"}],\"name\":\"setGasRelayPaymaster\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"}],\"name\":\"setVaultProxy\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"shutdownGasRelayPaymaster\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contract\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"_selector\",\"type\":\"bytes4\"},{\"internalType\":\"bytes\",\"name\":\"_encodedArgs\",\"type\":\"bytes\"}],\"name\":\"vaultCallOnContract\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"returnData_\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"activate(bool)\":{\"details\":\"No need to assert anything beyond FundDeployer access.\",\"params\":{\"_isMigration\":\"True if a migrated fund is being activated\"}},\"buyBackProtocolFeeShares(uint256)\":{\"params\":{\"_sharesAmount\":\"The amount of shares to buy back\"}},\"buyShares(uint256,uint256)\":{\"params\":{\"_investmentAmount\":\"The amount of the fund's denomination asset with which to buy shares\",\"_minSharesQuantity\":\"The minimum quantity of shares to buy\"},\"returns\":{\"sharesReceived_\":\"The actual amount of shares received\"}},\"buySharesOnBehalf(address,uint256,uint256)\":{\"details\":\"This function is freely callable if there is no sharesActionTimelock set, but it is limited to a list of trusted callers otherwise, in order to prevent a griefing attack where the caller buys shares for a _buyer, thereby resetting their lastSharesBought value.\",\"params\":{\"_buyer\":\"The account on behalf of whom to buy shares\",\"_investmentAmount\":\"The amount of the fund's denomination asset with which to buy shares\",\"_minSharesQuantity\":\"The minimum quantity of shares to buy\"},\"returns\":{\"sharesReceived_\":\"The actual amount of shares received\"}},\"calcGav()\":{\"returns\":{\"gav_\":\"The fund GAV\"}},\"calcGrossShareValue()\":{\"details\":\"Does not account for any fees outstanding.\",\"returns\":{\"grossShareValue_\":\"The amount of the denomination asset per share\"}},\"callOnExtension(address,uint256,bytes)\":{\"details\":\"Used to route arbitrary calls, so that msg.sender is the ComptrollerProxy (for access control). Uses a mutex of sorts that allows \\\"permissioned vault actions\\\" during calls originating from this function.\",\"params\":{\"_actionId\":\"An ID representing the action to take on the extension (see extension)\",\"_callArgs\":\"The encoded data for the call\",\"_extension\":\"The Extension contract to call (e.g., FeeManager)\"}},\"destructActivated(uint256,uint256)\":{\"details\":\"No need to assert anything beyond FundDeployer access. Uses the try/catch pattern throughout out of an abundance of caution for the function's success. All external calls must use limited forwarded gas to ensure that a migration to another release does not get bricked by logic that consumes too much gas for the block limit.\",\"params\":{\"_deactivateFeeManagerGasLimit\":\"The amount of gas to forward to deactivate the FeeManager\",\"_payProtocolFeeGasLimit\":\"The amount of gas to forward to pay the protocol fee\"}},\"doesAutoProtocolFeeSharesBuyback()\":{\"returns\":{\"doesAutoBuyback_\":\"True if shares are automatically bought back\"}},\"getDenominationAsset()\":{\"returns\":{\"denominationAsset_\":\"The `denominationAsset` variable value\"}},\"getDispatcher()\":{\"returns\":{\"dispatcher_\":\"The `DISPATCHER` variable value\"}},\"getExternalPositionManager()\":{\"returns\":{\"externalPositionManager_\":\"The `EXTERNAL_POSITION_MANAGER` variable value\"}},\"getFeeManager()\":{\"returns\":{\"feeManager_\":\"The `FEE_MANAGER` variable value\"}},\"getFundDeployer()\":{\"returns\":{\"fundDeployer_\":\"The `FUND_DEPLOYER` variable value\"}},\"getGasRelayPaymaster()\":{\"returns\":{\"gasRelayPaymaster_\":\"The `gasRelayPaymaster` variable value\"}},\"getGasRelayPaymasterFactory()\":{\"returns\":{\"gasRelayPaymasterFactory_\":\"The `GAS_RELAY_PAYMASTER_FACTORY` variable value\"}},\"getGasRelayTrustedForwarder()\":{\"returns\":{\"trustedForwarder_\":\"The trusted forwarder\"}},\"getIntegrationManager()\":{\"returns\":{\"integrationManager_\":\"The `INTEGRATION_MANAGER` variable value\"}},\"getLastSharesBoughtTimestampForAccount(address)\":{\"params\":{\"_who\":\"The account for which to get the timestamp\"},\"returns\":{\"lastSharesBoughtTimestamp_\":\"The timestamp of the last shares bought\"}},\"getMlnToken()\":{\"returns\":{\"mlnToken_\":\"The `MLN_TOKEN` variable value\"}},\"getPolicyManager()\":{\"returns\":{\"policyManager_\":\"The `POLICY_MANAGER` variable value\"}},\"getProtocolFeeReserve()\":{\"returns\":{\"protocolFeeReserve_\":\"The `PROTOCOL_FEE_RESERVE` variable value\"}},\"getSharesActionTimelock()\":{\"returns\":{\"sharesActionTimelock_\":\"The `sharesActionTimelock` variable value\"}},\"getValueInterpreter()\":{\"returns\":{\"valueInterpreter_\":\"The `VALUE_INTERPRETER` variable value\"}},\"getVaultProxy()\":{\"returns\":{\"vaultProxy_\":\"The `vaultProxy` variable value\"}},\"getWethToken()\":{\"returns\":{\"wethToken_\":\"The `WETH_TOKEN` variable value\"}},\"init(address,uint256)\":{\"details\":\"Pseudo-constructor per proxy. No need to assert access because this is called atomically on deployment, and once it's called, it cannot be called again.\",\"params\":{\"_denominationAsset\":\"The asset in which the fund's value should be denominated\",\"_sharesActionTimelock\":\"The minimum number of seconds between any two \\\"shares actions\\\" (buying or selling shares) by the same user\"}},\"permissionedVaultAction(uint8,bytes)\":{\"params\":{\"_action\":\"The enum representing the VaultAction to perform on the VaultProxy\",\"_actionData\":\"The call data for the action to perform\"}},\"preTransferSharesHook(address,address,uint256)\":{\"params\":{\"_amount\":\"The amount of shares\",\"_recipient\":\"The recipient of the shares\",\"_sender\":\"The sender of the shares\"}},\"preTransferSharesHookFreelyTransferable(address)\":{\"details\":\"No need to validate caller, as policies are not run\",\"params\":{\"_sender\":\"The sender of the shares\"}},\"pullWethForGasRelayer(uint256)\":{\"params\":{\"_amount\":\"Amount of the WETH to pull from the vault\"}},\"redeemSharesForSpecificAssets(address,uint256,address[],uint256[])\":{\"details\":\"Redeem all shares of the sender by setting _sharesQuantity to the max uint value. _payoutAssetPercentages must total exactly 100%. In order to specify less and forgo the remaining gav owed on the redeemed shares, pass in address(0) with the percentage to forego. Unlike redeemSharesInKind(), this function allows policies to run and prevent redemption.\",\"params\":{\"_payoutAssetPercentages\":\"The percentage of the owed amount to pay out in each asset\",\"_payoutAssets\":\"The assets to payout\",\"_recipient\":\"The account that will receive the specified assets\",\"_sharesQuantity\":\"The quantity of shares to redeem\"},\"returns\":{\"payoutAmounts_\":\"The amount of each asset paid out to the _recipient\"}},\"redeemSharesInKind(address,uint256,address[],address[])\":{\"details\":\"Redeem all shares of the sender by setting _sharesQuantity to the max uint value. Any claim to passed _assetsToSkip will be forfeited entirely. This should generally only be exercised if a bad asset is causing redemption to fail. This function should never fail without a way to bypass the failure, which is assured through two mechanisms: 1. The FeeManager is called with the try/catch pattern to assure that calls to it can never block redemption. 2. If a token fails upon transfer(), that token can be skipped (and its balance forfeited) by explicitly specifying _assetsToSkip. Because of these assurances, shares should always be redeemable, with the exception of the timelock period on shares actions that must be respected.\",\"params\":{\"_additionalAssets\":\"Additional (non-tracked) assets to claim\",\"_assetsToSkip\":\"Tracked assets to forfeit\",\"_recipient\":\"The account that will receive the proportionate slice of assets\",\"_sharesQuantity\":\"The quantity of shares to redeem\"},\"returns\":{\"payoutAmounts_\":\"The amount of each asset paid out to the _recipient\",\"payoutAssets_\":\"The assets paid out to the _recipient\"}},\"setAutoProtocolFeeSharesBuyback(bool)\":{\"params\":{\"_nextAutoProtocolFeeSharesBuyback\":\"True if protocol fee shares should be attempted to be bought back immediately when collected\"}},\"setGasRelayPaymaster(address)\":{\"params\":{\"_nextGasRelayPaymaster\":\"The next gasRelayPaymaster value\"}},\"setVaultProxy(address)\":{\"details\":\"No need to assert anything beyond FundDeployer access. Called atomically with init(), but after ComptrollerProxy has been deployed.\",\"params\":{\"_vaultProxy\":\"The VaultProxy contract\"}},\"vaultCallOnContract(address,bytes4,bytes)\":{\"params\":{\"_contract\":\"The contract to call\",\"_encodedArgs\":\"The encoded arguments for the call\",\"_selector\":\"The selector to call\"},\"returns\":{\"returnData_\":\"The data returned by the call\"}}},\"title\":\"ComptrollerLib Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"activate(bool)\":{\"notice\":\"Runs atomic logic after a ComptrollerProxy has become its vaultProxy's `accessor`\"},\"buyBackProtocolFeeShares(uint256)\":{\"notice\":\"Buys back shares collected as protocol fee at a discounted shares price, using MLN\"},\"buyShares(uint256,uint256)\":{\"notice\":\"Buys shares\"},\"buySharesOnBehalf(address,uint256,uint256)\":{\"notice\":\"Buys shares on behalf of another user\"},\"calcGav()\":{\"notice\":\"Calculates the gross asset value (GAV) of the fund\"},\"calcGrossShareValue()\":{\"notice\":\"Calculates the gross value of 1 unit of shares in the fund's denomination asset\"},\"callOnExtension(address,uint256,bytes)\":{\"notice\":\"Calls a specified action on an Extension\"},\"deployGasRelayPaymaster()\":{\"notice\":\"Deploys a paymaster contract and deposits WETH, enabling gas relaying\"},\"depositToGasRelayPaymaster()\":{\"notice\":\"Tops up the gas relay paymaster deposit\"},\"destructActivated(uint256,uint256)\":{\"notice\":\"Wind down and destroy a ComptrollerProxy that is active\"},\"destructUnactivated()\":{\"notice\":\"Destroy a ComptrollerProxy that has not been activated\"},\"doesAutoProtocolFeeSharesBuyback()\":{\"notice\":\"Checks if collected protocol fee shares are automatically bought back while buying or redeeming shares\"},\"getDenominationAsset()\":{\"notice\":\"Gets the `denominationAsset` variable\"},\"getDispatcher()\":{\"notice\":\"Gets the `DISPATCHER` variable\"},\"getExternalPositionManager()\":{\"notice\":\"Gets the `EXTERNAL_POSITION_MANAGER` variable\"},\"getFeeManager()\":{\"notice\":\"Gets the `FEE_MANAGER` variable\"},\"getFundDeployer()\":{\"notice\":\"Gets the `FUND_DEPLOYER` variable\"},\"getGasRelayPaymaster()\":{\"notice\":\"Gets the `gasRelayPaymaster` variable\"},\"getGasRelayPaymasterFactory()\":{\"notice\":\"Gets the `GAS_RELAY_PAYMASTER_FACTORY` variable\"},\"getGasRelayTrustedForwarder()\":{\"notice\":\"Gets the trusted forwarder for GSN relaying\"},\"getIntegrationManager()\":{\"notice\":\"Gets the `INTEGRATION_MANAGER` variable\"},\"getLastSharesBoughtTimestampForAccount(address)\":{\"notice\":\"Gets the timestamp of the last time shares were bought for a given account\"},\"getMlnToken()\":{\"notice\":\"Gets the `MLN_TOKEN` variable\"},\"getPolicyManager()\":{\"notice\":\"Gets the `POLICY_MANAGER` variable\"},\"getProtocolFeeReserve()\":{\"notice\":\"Gets the `PROTOCOL_FEE_RESERVE` variable\"},\"getSharesActionTimelock()\":{\"notice\":\"Gets the `sharesActionTimelock` variable\"},\"getValueInterpreter()\":{\"notice\":\"Gets the `VALUE_INTERPRETER` variable\"},\"getVaultProxy()\":{\"notice\":\"Gets the `vaultProxy` variable\"},\"getWethToken()\":{\"notice\":\"Gets the `WETH_TOKEN` variable\"},\"init(address,uint256)\":{\"notice\":\"Initializes a fund with its core config\"},\"permissionedVaultAction(uint8,bytes)\":{\"notice\":\"Makes a permissioned, state-changing call on the VaultProxy contract\"},\"preTransferSharesHook(address,address,uint256)\":{\"notice\":\"Runs logic prior to transferring shares that are not freely transferable\"},\"preTransferSharesHookFreelyTransferable(address)\":{\"notice\":\"Runs logic prior to transferring shares that are freely transferable\"},\"pullWethForGasRelayer(uint256)\":{\"notice\":\"Pull WETH from vault to gas relay paymaster\"},\"redeemSharesForSpecificAssets(address,uint256,address[],uint256[])\":{\"notice\":\"Redeems a specified amount of the sender's shares for specified asset proportions\"},\"redeemSharesInKind(address,uint256,address[],address[])\":{\"notice\":\"Redeems a specified amount of the sender's shares for a proportionate slice of the vault's assets\"},\"setAutoProtocolFeeSharesBuyback(bool)\":{\"notice\":\"Sets whether to attempt to buyback protocol fee shares immediately when collected\"},\"setGasRelayPaymaster(address)\":{\"notice\":\"Sets the gasRelayPaymaster variable value\"},\"setVaultProxy(address)\":{\"notice\":\"Sets the VaultProxy\"},\"shutdownGasRelayPaymaster()\":{\"notice\":\"Removes the gas relay paymaster, withdrawing the remaining WETH balance and disabling gas relaying\"},\"vaultCallOnContract(address,bytes4,bytes)\":{\"notice\":\"Makes an arbitrary call with the VaultProxy contract as the sender\"}},\"notice\":\"The core logic library shared by all funds\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/core/fund/comptroller/ComptrollerLib.sol\":\"ComptrollerLib\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/persistent/vault/interfaces/IExternalPositionVault.sol\":{\"keccak256\":\"0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d\",\"dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8\"]},\"contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol\":{\"keccak256\":\"0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb\",\"dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU\"]},\"contracts/persistent/vault/interfaces/IMigratableVault.sol\":{\"keccak256\":\"0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6\",\"dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs\"]},\"contracts/persistent/vault/interfaces/IVaultCore.sol\":{\"keccak256\":\"0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd\",\"dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr\"]},\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/core/fund/comptroller/ComptrollerLib.sol\":{\"keccak256\":\"0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579\",\"dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq\"]},\"contracts/release/core/fund/comptroller/IComptroller.sol\":{\"keccak256\":\"0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97\",\"dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L\"]},\"contracts/release/core/fund/vault/IVault.sol\":{\"keccak256\":\"0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599\",\"dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG\"]},\"contracts/release/extensions/IExtension.sol\":{\"keccak256\":\"0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70\",\"dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t\"]},\"contracts/release/extensions/fee-manager/IFeeManager.sol\":{\"keccak256\":\"0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22\",\"dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod\"]},\"contracts/release/extensions/policy-manager/IPolicyManager.sol\":{\"keccak256\":\"0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa\",\"dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb\"]},\"contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol\":{\"keccak256\":\"0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f\",\"dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol\":{\"keccak256\":\"0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0\",\"dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol\":{\"keccak256\":\"0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b\",\"dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3\"]},\"contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol\":{\"keccak256\":\"0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965\",\"dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ\"]},\"contracts/release/interfaces/IGsnForwarder.sol\":{\"keccak256\":\"0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29\",\"dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G\"]},\"contracts/release/interfaces/IGsnPaymaster.sol\":{\"keccak256\":\"0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4\",\"dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF\"]},\"contracts/release/interfaces/IGsnTypes.sol\":{\"keccak256\":\"0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7\",\"dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/beacon-proxy/IBeacon.sol\":{\"keccak256\":\"0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39\",\"dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V\"]},\"contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol\":{\"keccak256\":\"0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be\",\"dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_dispatcher", - "type": "address" - }, - { - "internalType": "address", - "name": "_protocolFeeReserve", - "type": "address" - }, - { - "internalType": "address", - "name": "_fundDeployer", - "type": "address" - }, - { - "internalType": "address", - "name": "_valueInterpreter", - "type": "address" - }, - { - "internalType": "address", - "name": "_externalPositionManager", - "type": "address" - }, - { - "internalType": "address", - "name": "_feeManager", - "type": "address" - }, - { - "internalType": "address", - "name": "_integrationManager", - "type": "address" - }, - { - "internalType": "address", - "name": "_policyManager", - "type": "address" - }, - { - "internalType": "address", - "name": "_gasRelayPaymasterFactory", - "type": "address" - }, - { - "internalType": "address", - "name": "_mlnToken", - "type": "address" - }, - { - "internalType": "address", - "name": "_wethToken", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "bool", - "name": "autoProtocolFeeSharesBuyback", - "type": "bool", - "indexed": false - } - ], - "type": "event", - "name": "AutoProtocolFeeSharesBuybackSet", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "failureReturnData", - "type": "bytes", - "indexed": true - }, - { - "internalType": "uint256", - "name": "sharesAmount", - "type": "uint256", - "indexed": false - }, - { - "internalType": "uint256", - "name": "buybackValueInMln", - "type": "uint256", - "indexed": false - }, - { - "internalType": "uint256", - "name": "gav", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "BuyBackMaxProtocolFeeSharesFailed", - "anonymous": false - }, - { - "inputs": [], - "type": "event", - "name": "DeactivateFeeManagerFailed", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "gasRelayPaymaster", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "GasRelayPaymasterSet", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "sharesDue", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "MigratedSharesDuePaid", - "anonymous": false - }, - { - "inputs": [], - "type": "event", - "name": "PayProtocolFeeDuringDestructFailed", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "failureReturnData", - "type": "bytes", - "indexed": true - }, - { - "internalType": "address", - "name": "redeemer", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "sharesAmount", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "PreRedeemSharesHookFailed", - "anonymous": false - }, - { - "inputs": [], - "type": "event", - "name": "RedeemSharesInKindCalcGavFailed", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "buyer", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "investmentAmount", - "type": "uint256", - "indexed": false - }, - { - "internalType": "uint256", - "name": "sharesIssued", - "type": "uint256", - "indexed": false - }, - { - "internalType": "uint256", - "name": "sharesReceived", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "SharesBought", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "redeemer", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "recipient", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "sharesAmount", - "type": "uint256", - "indexed": false - }, - { - "internalType": "address[]", - "name": "receivedAssets", - "type": "address[]", - "indexed": false - }, - { - "internalType": "uint256[]", - "name": "receivedAssetAmounts", - "type": "uint256[]", - "indexed": false - } - ], - "type": "event", - "name": "SharesRedeemed", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "vaultProxy", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "VaultProxySet", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "bool", - "name": "_isMigration", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "activate" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_sharesAmount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "buyBackProtocolFeeShares" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_investmentAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_minSharesQuantity", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "buyShares", - "outputs": [ - { - "internalType": "uint256", - "name": "sharesReceived_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_buyer", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_investmentAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_minSharesQuantity", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "buySharesOnBehalf", - "outputs": [ - { - "internalType": "uint256", - "name": "sharesReceived_", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "calcGav", - "outputs": [ - { - "internalType": "uint256", - "name": "gav_", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "calcGrossShareValue", - "outputs": [ - { - "internalType": "uint256", - "name": "grossShareValue_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_extension", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_actionId", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_callArgs", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "callOnExtension" - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "deployGasRelayPaymaster" - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "depositToGasRelayPaymaster" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_deactivateFeeManagerGasLimit", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_payProtocolFeeGasLimit", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "destructActivated" - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "destructUnactivated" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "doesAutoProtocolFeeSharesBuyback", - "outputs": [ - { - "internalType": "bool", - "name": "doesAutoBuyback_", - "type": "bool" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getDenominationAsset", - "outputs": [ - { - "internalType": "address", - "name": "denominationAsset_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getDispatcher", - "outputs": [ - { - "internalType": "address", - "name": "dispatcher_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getExternalPositionManager", - "outputs": [ - { - "internalType": "address", - "name": "externalPositionManager_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getFeeManager", - "outputs": [ - { - "internalType": "address", - "name": "feeManager_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getFundDeployer", - "outputs": [ - { - "internalType": "address", - "name": "fundDeployer_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getGasRelayPaymaster", - "outputs": [ - { - "internalType": "address", - "name": "gasRelayPaymaster_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getGasRelayPaymasterFactory", - "outputs": [ - { - "internalType": "address", - "name": "gasRelayPaymasterFactory_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getGasRelayTrustedForwarder", - "outputs": [ - { - "internalType": "address", - "name": "trustedForwarder_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getIntegrationManager", - "outputs": [ - { - "internalType": "address", - "name": "integrationManager_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_who", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getLastSharesBoughtTimestampForAccount", - "outputs": [ - { - "internalType": "uint256", - "name": "lastSharesBoughtTimestamp_", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getMlnToken", - "outputs": [ - { - "internalType": "address", - "name": "mlnToken_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getPolicyManager", - "outputs": [ - { - "internalType": "address", - "name": "policyManager_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getProtocolFeeReserve", - "outputs": [ - { - "internalType": "address", - "name": "protocolFeeReserve_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getSharesActionTimelock", - "outputs": [ - { - "internalType": "uint256", - "name": "sharesActionTimelock_", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getValueInterpreter", - "outputs": [ - { - "internalType": "address", - "name": "valueInterpreter_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getVaultProxy", - "outputs": [ - { - "internalType": "address", - "name": "vaultProxy_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getWethToken", - "outputs": [ - { - "internalType": "address", - "name": "wethToken_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_denominationAsset", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_sharesActionTimelock", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "init" - }, - { - "inputs": [ - { - "internalType": "enum IVault.VaultAction", - "name": "_action", - "type": "uint8" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "permissionedVaultAction" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_sender", - "type": "address" - }, - { - "internalType": "address", - "name": "_recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "preTransferSharesHook" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_sender", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "preTransferSharesHookFreelyTransferable" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "pullWethForGasRelayer" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_sharesQuantity", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "_payoutAssets", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "_payoutAssetPercentages", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "redeemSharesForSpecificAssets", - "outputs": [ - { - "internalType": "uint256[]", - "name": "payoutAmounts_", - "type": "uint256[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_sharesQuantity", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "_additionalAssets", - "type": "address[]" - }, - { - "internalType": "address[]", - "name": "_assetsToSkip", - "type": "address[]" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "redeemSharesInKind", - "outputs": [ - { - "internalType": "address[]", - "name": "payoutAssets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "payoutAmounts_", - "type": "uint256[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "bool", - "name": "_nextAutoProtocolFeeSharesBuyback", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setAutoProtocolFeeSharesBuyback" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_nextGasRelayPaymaster", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setGasRelayPaymaster" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setVaultProxy" - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "shutdownGasRelayPaymaster" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_contract", - "type": "address" - }, - { - "internalType": "bytes4", - "name": "_selector", - "type": "bytes4" - }, - { - "internalType": "bytes", - "name": "_encodedArgs", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "vaultCallOnContract", - "outputs": [ - { - "internalType": "bytes", - "name": "returnData_", - "type": "bytes" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "activate(bool)": { - "details": "No need to assert anything beyond FundDeployer access.", - "params": { - "_isMigration": "True if a migrated fund is being activated" - } - }, - "buyBackProtocolFeeShares(uint256)": { - "params": { - "_sharesAmount": "The amount of shares to buy back" - } - }, - "buyShares(uint256,uint256)": { - "params": { - "_investmentAmount": "The amount of the fund's denomination asset with which to buy shares", - "_minSharesQuantity": "The minimum quantity of shares to buy" - }, - "returns": { - "sharesReceived_": "The actual amount of shares received" - } - }, - "buySharesOnBehalf(address,uint256,uint256)": { - "details": "This function is freely callable if there is no sharesActionTimelock set, but it is limited to a list of trusted callers otherwise, in order to prevent a griefing attack where the caller buys shares for a _buyer, thereby resetting their lastSharesBought value.", - "params": { - "_buyer": "The account on behalf of whom to buy shares", - "_investmentAmount": "The amount of the fund's denomination asset with which to buy shares", - "_minSharesQuantity": "The minimum quantity of shares to buy" - }, - "returns": { - "sharesReceived_": "The actual amount of shares received" - } - }, - "calcGav()": { - "returns": { - "gav_": "The fund GAV" - } - }, - "calcGrossShareValue()": { - "details": "Does not account for any fees outstanding.", - "returns": { - "grossShareValue_": "The amount of the denomination asset per share" - } - }, - "callOnExtension(address,uint256,bytes)": { - "details": "Used to route arbitrary calls, so that msg.sender is the ComptrollerProxy (for access control). Uses a mutex of sorts that allows \"permissioned vault actions\" during calls originating from this function.", - "params": { - "_actionId": "An ID representing the action to take on the extension (see extension)", - "_callArgs": "The encoded data for the call", - "_extension": "The Extension contract to call (e.g., FeeManager)" - } - }, - "destructActivated(uint256,uint256)": { - "details": "No need to assert anything beyond FundDeployer access. Uses the try/catch pattern throughout out of an abundance of caution for the function's success. All external calls must use limited forwarded gas to ensure that a migration to another release does not get bricked by logic that consumes too much gas for the block limit.", - "params": { - "_deactivateFeeManagerGasLimit": "The amount of gas to forward to deactivate the FeeManager", - "_payProtocolFeeGasLimit": "The amount of gas to forward to pay the protocol fee" - } - }, - "doesAutoProtocolFeeSharesBuyback()": { - "returns": { - "doesAutoBuyback_": "True if shares are automatically bought back" - } - }, - "getDenominationAsset()": { - "returns": { - "denominationAsset_": "The `denominationAsset` variable value" - } - }, - "getDispatcher()": { - "returns": { - "dispatcher_": "The `DISPATCHER` variable value" - } - }, - "getExternalPositionManager()": { - "returns": { - "externalPositionManager_": "The `EXTERNAL_POSITION_MANAGER` variable value" - } - }, - "getFeeManager()": { - "returns": { - "feeManager_": "The `FEE_MANAGER` variable value" - } - }, - "getFundDeployer()": { - "returns": { - "fundDeployer_": "The `FUND_DEPLOYER` variable value" - } - }, - "getGasRelayPaymaster()": { - "returns": { - "gasRelayPaymaster_": "The `gasRelayPaymaster` variable value" - } - }, - "getGasRelayPaymasterFactory()": { - "returns": { - "gasRelayPaymasterFactory_": "The `GAS_RELAY_PAYMASTER_FACTORY` variable value" - } - }, - "getGasRelayTrustedForwarder()": { - "returns": { - "trustedForwarder_": "The trusted forwarder" - } - }, - "getIntegrationManager()": { - "returns": { - "integrationManager_": "The `INTEGRATION_MANAGER` variable value" - } - }, - "getLastSharesBoughtTimestampForAccount(address)": { - "params": { - "_who": "The account for which to get the timestamp" - }, - "returns": { - "lastSharesBoughtTimestamp_": "The timestamp of the last shares bought" - } - }, - "getMlnToken()": { - "returns": { - "mlnToken_": "The `MLN_TOKEN` variable value" - } - }, - "getPolicyManager()": { - "returns": { - "policyManager_": "The `POLICY_MANAGER` variable value" - } - }, - "getProtocolFeeReserve()": { - "returns": { - "protocolFeeReserve_": "The `PROTOCOL_FEE_RESERVE` variable value" - } - }, - "getSharesActionTimelock()": { - "returns": { - "sharesActionTimelock_": "The `sharesActionTimelock` variable value" - } - }, - "getValueInterpreter()": { - "returns": { - "valueInterpreter_": "The `VALUE_INTERPRETER` variable value" - } - }, - "getVaultProxy()": { - "returns": { - "vaultProxy_": "The `vaultProxy` variable value" - } - }, - "getWethToken()": { - "returns": { - "wethToken_": "The `WETH_TOKEN` variable value" - } - }, - "init(address,uint256)": { - "details": "Pseudo-constructor per proxy. No need to assert access because this is called atomically on deployment, and once it's called, it cannot be called again.", - "params": { - "_denominationAsset": "The asset in which the fund's value should be denominated", - "_sharesActionTimelock": "The minimum number of seconds between any two \"shares actions\" (buying or selling shares) by the same user" - } - }, - "permissionedVaultAction(uint8,bytes)": { - "params": { - "_action": "The enum representing the VaultAction to perform on the VaultProxy", - "_actionData": "The call data for the action to perform" - } - }, - "preTransferSharesHook(address,address,uint256)": { - "params": { - "_amount": "The amount of shares", - "_recipient": "The recipient of the shares", - "_sender": "The sender of the shares" - } - }, - "preTransferSharesHookFreelyTransferable(address)": { - "details": "No need to validate caller, as policies are not run", - "params": { - "_sender": "The sender of the shares" - } - }, - "pullWethForGasRelayer(uint256)": { - "params": { - "_amount": "Amount of the WETH to pull from the vault" - } - }, - "redeemSharesForSpecificAssets(address,uint256,address[],uint256[])": { - "details": "Redeem all shares of the sender by setting _sharesQuantity to the max uint value. _payoutAssetPercentages must total exactly 100%. In order to specify less and forgo the remaining gav owed on the redeemed shares, pass in address(0) with the percentage to forego. Unlike redeemSharesInKind(), this function allows policies to run and prevent redemption.", - "params": { - "_payoutAssetPercentages": "The percentage of the owed amount to pay out in each asset", - "_payoutAssets": "The assets to payout", - "_recipient": "The account that will receive the specified assets", - "_sharesQuantity": "The quantity of shares to redeem" - }, - "returns": { - "payoutAmounts_": "The amount of each asset paid out to the _recipient" - } - }, - "redeemSharesInKind(address,uint256,address[],address[])": { - "details": "Redeem all shares of the sender by setting _sharesQuantity to the max uint value. Any claim to passed _assetsToSkip will be forfeited entirely. This should generally only be exercised if a bad asset is causing redemption to fail. This function should never fail without a way to bypass the failure, which is assured through two mechanisms: 1. The FeeManager is called with the try/catch pattern to assure that calls to it can never block redemption. 2. If a token fails upon transfer(), that token can be skipped (and its balance forfeited) by explicitly specifying _assetsToSkip. Because of these assurances, shares should always be redeemable, with the exception of the timelock period on shares actions that must be respected.", - "params": { - "_additionalAssets": "Additional (non-tracked) assets to claim", - "_assetsToSkip": "Tracked assets to forfeit", - "_recipient": "The account that will receive the proportionate slice of assets", - "_sharesQuantity": "The quantity of shares to redeem" - }, - "returns": { - "payoutAmounts_": "The amount of each asset paid out to the _recipient", - "payoutAssets_": "The assets paid out to the _recipient" - } - }, - "setAutoProtocolFeeSharesBuyback(bool)": { - "params": { - "_nextAutoProtocolFeeSharesBuyback": "True if protocol fee shares should be attempted to be bought back immediately when collected" - } - }, - "setGasRelayPaymaster(address)": { - "params": { - "_nextGasRelayPaymaster": "The next gasRelayPaymaster value" - } - }, - "setVaultProxy(address)": { - "details": "No need to assert anything beyond FundDeployer access. Called atomically with init(), but after ComptrollerProxy has been deployed.", - "params": { - "_vaultProxy": "The VaultProxy contract" - } - }, - "vaultCallOnContract(address,bytes4,bytes)": { - "params": { - "_contract": "The contract to call", - "_encodedArgs": "The encoded arguments for the call", - "_selector": "The selector to call" - }, - "returns": { - "returnData_": "The data returned by the call" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "activate(bool)": { - "notice": "Runs atomic logic after a ComptrollerProxy has become its vaultProxy's `accessor`" - }, - "buyBackProtocolFeeShares(uint256)": { - "notice": "Buys back shares collected as protocol fee at a discounted shares price, using MLN" - }, - "buyShares(uint256,uint256)": { - "notice": "Buys shares" - }, - "buySharesOnBehalf(address,uint256,uint256)": { - "notice": "Buys shares on behalf of another user" - }, - "calcGav()": { - "notice": "Calculates the gross asset value (GAV) of the fund" - }, - "calcGrossShareValue()": { - "notice": "Calculates the gross value of 1 unit of shares in the fund's denomination asset" - }, - "callOnExtension(address,uint256,bytes)": { - "notice": "Calls a specified action on an Extension" - }, - "deployGasRelayPaymaster()": { - "notice": "Deploys a paymaster contract and deposits WETH, enabling gas relaying" - }, - "depositToGasRelayPaymaster()": { - "notice": "Tops up the gas relay paymaster deposit" - }, - "destructActivated(uint256,uint256)": { - "notice": "Wind down and destroy a ComptrollerProxy that is active" - }, - "destructUnactivated()": { - "notice": "Destroy a ComptrollerProxy that has not been activated" - }, - "doesAutoProtocolFeeSharesBuyback()": { - "notice": "Checks if collected protocol fee shares are automatically bought back while buying or redeeming shares" - }, - "getDenominationAsset()": { - "notice": "Gets the `denominationAsset` variable" - }, - "getDispatcher()": { - "notice": "Gets the `DISPATCHER` variable" - }, - "getExternalPositionManager()": { - "notice": "Gets the `EXTERNAL_POSITION_MANAGER` variable" - }, - "getFeeManager()": { - "notice": "Gets the `FEE_MANAGER` variable" - }, - "getFundDeployer()": { - "notice": "Gets the `FUND_DEPLOYER` variable" - }, - "getGasRelayPaymaster()": { - "notice": "Gets the `gasRelayPaymaster` variable" - }, - "getGasRelayPaymasterFactory()": { - "notice": "Gets the `GAS_RELAY_PAYMASTER_FACTORY` variable" - }, - "getGasRelayTrustedForwarder()": { - "notice": "Gets the trusted forwarder for GSN relaying" - }, - "getIntegrationManager()": { - "notice": "Gets the `INTEGRATION_MANAGER` variable" - }, - "getLastSharesBoughtTimestampForAccount(address)": { - "notice": "Gets the timestamp of the last time shares were bought for a given account" - }, - "getMlnToken()": { - "notice": "Gets the `MLN_TOKEN` variable" - }, - "getPolicyManager()": { - "notice": "Gets the `POLICY_MANAGER` variable" - }, - "getProtocolFeeReserve()": { - "notice": "Gets the `PROTOCOL_FEE_RESERVE` variable" - }, - "getSharesActionTimelock()": { - "notice": "Gets the `sharesActionTimelock` variable" - }, - "getValueInterpreter()": { - "notice": "Gets the `VALUE_INTERPRETER` variable" - }, - "getVaultProxy()": { - "notice": "Gets the `vaultProxy` variable" - }, - "getWethToken()": { - "notice": "Gets the `WETH_TOKEN` variable" - }, - "init(address,uint256)": { - "notice": "Initializes a fund with its core config" - }, - "permissionedVaultAction(uint8,bytes)": { - "notice": "Makes a permissioned, state-changing call on the VaultProxy contract" - }, - "preTransferSharesHook(address,address,uint256)": { - "notice": "Runs logic prior to transferring shares that are not freely transferable" - }, - "preTransferSharesHookFreelyTransferable(address)": { - "notice": "Runs logic prior to transferring shares that are freely transferable" - }, - "pullWethForGasRelayer(uint256)": { - "notice": "Pull WETH from vault to gas relay paymaster" - }, - "redeemSharesForSpecificAssets(address,uint256,address[],uint256[])": { - "notice": "Redeems a specified amount of the sender's shares for specified asset proportions" - }, - "redeemSharesInKind(address,uint256,address[],address[])": { - "notice": "Redeems a specified amount of the sender's shares for a proportionate slice of the vault's assets" - }, - "setAutoProtocolFeeSharesBuyback(bool)": { - "notice": "Sets whether to attempt to buyback protocol fee shares immediately when collected" - }, - "setGasRelayPaymaster(address)": { - "notice": "Sets the gasRelayPaymaster variable value" - }, - "setVaultProxy(address)": { - "notice": "Sets the VaultProxy" - }, - "shutdownGasRelayPaymaster()": { - "notice": "Removes the gas relay paymaster, withdrawing the remaining WETH balance and disabling gas relaying" - }, - "vaultCallOnContract(address,bytes4,bytes)": { - "notice": "Makes an arbitrary call with the VaultProxy contract as the sender" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/core/fund/comptroller/ComptrollerLib.sol": "ComptrollerLib" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/dispatcher/IDispatcher.sol": { - "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", - "urls": [ - "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", - "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/external-positions/IExternalPosition.sol": { - "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", - "urls": [ - "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", - "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IExternalPositionVault.sol": { - "keccak256": "0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6", - "urls": [ - "bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d", - "dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol": { - "keccak256": "0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0", - "urls": [ - "bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb", - "dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IMigratableVault.sol": { - "keccak256": "0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238", - "urls": [ - "bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6", - "dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IVaultCore.sol": { - "keccak256": "0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80", - "urls": [ - "bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd", - "dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund-deployer/IFundDeployer.sol": { - "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", - "urls": [ - "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", - "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/comptroller/ComptrollerLib.sol": { - "keccak256": "0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64", - "urls": [ - "bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579", - "dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/comptroller/IComptroller.sol": { - "keccak256": "0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f", - "urls": [ - "bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97", - "dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/vault/IVault.sol": { - "keccak256": "0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd", - "urls": [ - "bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599", - "dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/IExtension.sol": { - "keccak256": "0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b", - "urls": [ - "bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70", - "dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/fee-manager/IFeeManager.sol": { - "keccak256": "0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51", - "urls": [ - "bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22", - "dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/policy-manager/IPolicyManager.sol": { - "keccak256": "0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32", - "urls": [ - "bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa", - "dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol": { - "keccak256": "0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609", - "urls": [ - "bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f", - "dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol": { - "keccak256": "0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01", - "urls": [ - "bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0", - "dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol": { - "keccak256": "0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196", - "urls": [ - "bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b", - "dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol": { - "keccak256": "0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794", - "urls": [ - "bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965", - "dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IGsnForwarder.sol": { - "keccak256": "0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030", - "urls": [ - "bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29", - "dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IGsnPaymaster.sol": { - "keccak256": "0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c", - "urls": [ - "bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4", - "dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IGsnTypes.sol": { - "keccak256": "0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714", - "urls": [ - "bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7", - "dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AddressArrayLib.sol": { - "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", - "urls": [ - "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", - "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/beacon-proxy/IBeacon.sol": { - "keccak256": "0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2", - "urls": [ - "bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39", - "dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol": { - "keccak256": "0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc", - "urls": [ - "bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be", - "dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { - "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", - "urls": [ - "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", - "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Address.sol": { - "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", - "urls": [ - "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", - "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 79 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_dispatcher", "type": "address", "internalType": "address" }, { "name": "_protocolFeeReserve", "type": "address", "internalType": "address" }, { "name": "_fundDeployer", "type": "address", "internalType": "address" }, { "name": "_valueInterpreter", "type": "address", "internalType": "address" }, { "name": "_externalPositionManager", "type": "address", "internalType": "address" }, { "name": "_feeManager", "type": "address", "internalType": "address" }, { "name": "_integrationManager", "type": "address", "internalType": "address" }, { "name": "_policyManager", "type": "address", "internalType": "address" }, { "name": "_gasRelayPaymasterFactory", "type": "address", "internalType": "address" }, { "name": "_mlnToken", "type": "address", "internalType": "address" }, { "name": "_wethToken", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "activate", "inputs": [ { "name": "_isMigration", "type": "bool", "internalType": "bool" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "buyBackProtocolFeeShares", "inputs": [ { "name": "_sharesAmount", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "buyShares", "inputs": [ { "name": "_investmentAmount", "type": "uint256", "internalType": "uint256" }, { "name": "_minSharesQuantity", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "sharesReceived_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "buySharesOnBehalf", "inputs": [ { "name": "_buyer", "type": "address", "internalType": "address" }, { "name": "_investmentAmount", "type": "uint256", "internalType": "uint256" }, { "name": "_minSharesQuantity", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "sharesReceived_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "calcGav", "inputs": [], "outputs": [ { "name": "gav_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "calcGrossShareValue", "inputs": [], "outputs": [ { "name": "grossShareValue_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "callOnExtension", "inputs": [ { "name": "_extension", "type": "address", "internalType": "address" }, { "name": "_actionId", "type": "uint256", "internalType": "uint256" }, { "name": "_callArgs", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "deployGasRelayPaymaster", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "depositToGasRelayPaymaster", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "destructActivated", "inputs": [ { "name": "_deactivateFeeManagerGasLimit", "type": "uint256", "internalType": "uint256" }, { "name": "_payProtocolFeeGasLimit", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "destructUnactivated", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "doesAutoProtocolFeeSharesBuyback", "inputs": [], "outputs": [ { "name": "doesAutoBuyback_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "getDenominationAsset", "inputs": [], "outputs": [ { "name": "denominationAsset_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getDispatcher", "inputs": [], "outputs": [ { "name": "dispatcher_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getExternalPositionManager", "inputs": [], "outputs": [ { "name": "externalPositionManager_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getFeeManager", "inputs": [], "outputs": [ { "name": "feeManager_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getFundDeployer", "inputs": [], "outputs": [ { "name": "fundDeployer_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getGasRelayPaymaster", "inputs": [], "outputs": [ { "name": "gasRelayPaymaster_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getGasRelayPaymasterFactory", "inputs": [], "outputs": [ { "name": "gasRelayPaymasterFactory_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getGasRelayTrustedForwarder", "inputs": [], "outputs": [ { "name": "trustedForwarder_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getIntegrationManager", "inputs": [], "outputs": [ { "name": "integrationManager_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getLastSharesBoughtTimestampForAccount", "inputs": [ { "name": "_who", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "lastSharesBoughtTimestamp_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "getMlnToken", "inputs": [], "outputs": [ { "name": "mlnToken_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getPolicyManager", "inputs": [], "outputs": [ { "name": "policyManager_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getProtocolFeeReserve", "inputs": [], "outputs": [ { "name": "protocolFeeReserve_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getSharesActionTimelock", "inputs": [], "outputs": [ { "name": "sharesActionTimelock_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "getValueInterpreter", "inputs": [], "outputs": [ { "name": "valueInterpreter_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getVaultProxy", "inputs": [], "outputs": [ { "name": "vaultProxy_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getWethToken", "inputs": [], "outputs": [ { "name": "wethToken_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "init", "inputs": [ { "name": "_denominationAsset", "type": "address", "internalType": "address" }, { "name": "_sharesActionTimelock", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "permissionedVaultAction", "inputs": [ { "name": "_action", "type": "uint8", "internalType": "enum IVault.VaultAction" }, { "name": "_actionData", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "preTransferSharesHook", "inputs": [ { "name": "_sender", "type": "address", "internalType": "address" }, { "name": "_recipient", "type": "address", "internalType": "address" }, { "name": "_amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "preTransferSharesHookFreelyTransferable", "inputs": [ { "name": "_sender", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "view" }, { "type": "function", "name": "pullWethForGasRelayer", "inputs": [ { "name": "_amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "redeemSharesForSpecificAssets", "inputs": [ { "name": "_recipient", "type": "address", "internalType": "address" }, { "name": "_sharesQuantity", "type": "uint256", "internalType": "uint256" }, { "name": "_payoutAssets", "type": "address[]", "internalType": "address[]" }, { "name": "_payoutAssetPercentages", "type": "uint256[]", "internalType": "uint256[]" } ], "outputs": [ { "name": "payoutAmounts_", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "redeemSharesInKind", "inputs": [ { "name": "_recipient", "type": "address", "internalType": "address" }, { "name": "_sharesQuantity", "type": "uint256", "internalType": "uint256" }, { "name": "_additionalAssets", "type": "address[]", "internalType": "address[]" }, { "name": "_assetsToSkip", "type": "address[]", "internalType": "address[]" } ], "outputs": [ { "name": "payoutAssets_", "type": "address[]", "internalType": "address[]" }, { "name": "payoutAmounts_", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "setAutoProtocolFeeSharesBuyback", "inputs": [ { "name": "_nextAutoProtocolFeeSharesBuyback", "type": "bool", "internalType": "bool" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setGasRelayPaymaster", "inputs": [ { "name": "_nextGasRelayPaymaster", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setVaultProxy", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "shutdownGasRelayPaymaster", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "vaultCallOnContract", "inputs": [ { "name": "_contract", "type": "address", "internalType": "address" }, { "name": "_selector", "type": "bytes4", "internalType": "bytes4" }, { "name": "_encodedArgs", "type": "bytes", "internalType": "bytes" } ], "outputs": [ { "name": "returnData_", "type": "bytes", "internalType": "bytes" } ], "stateMutability": "nonpayable" }, { "type": "event", "name": "AutoProtocolFeeSharesBuybackSet", "inputs": [ { "name": "autoProtocolFeeSharesBuyback", "type": "bool", "indexed": false, "internalType": "bool" } ], "anonymous": false }, { "type": "event", "name": "BuyBackMaxProtocolFeeSharesFailed", "inputs": [ { "name": "failureReturnData", "type": "bytes", "indexed": true, "internalType": "bytes" }, { "name": "sharesAmount", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "buybackValueInMln", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "gav", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "DeactivateFeeManagerFailed", "inputs": [], "anonymous": false }, { "type": "event", "name": "GasRelayPaymasterSet", "inputs": [ { "name": "gasRelayPaymaster", "type": "address", "indexed": false, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "MigratedSharesDuePaid", "inputs": [ { "name": "sharesDue", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "PayProtocolFeeDuringDestructFailed", "inputs": [], "anonymous": false }, { "type": "event", "name": "PreRedeemSharesHookFailed", "inputs": [ { "name": "failureReturnData", "type": "bytes", "indexed": true, "internalType": "bytes" }, { "name": "redeemer", "type": "address", "indexed": true, "internalType": "address" }, { "name": "sharesAmount", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "RedeemSharesInKindCalcGavFailed", "inputs": [], "anonymous": false }, { "type": "event", "name": "SharesBought", "inputs": [ { "name": "buyer", "type": "address", "indexed": true, "internalType": "address" }, { "name": "investmentAmount", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "sharesIssued", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "sharesReceived", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "SharesRedeemed", "inputs": [ { "name": "redeemer", "type": "address", "indexed": true, "internalType": "address" }, { "name": "recipient", "type": "address", "indexed": true, "internalType": "address" }, { "name": "sharesAmount", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "receivedAssets", "type": "address[]", "indexed": false, "internalType": "address[]" }, { "name": "receivedAssetAmounts", "type": "uint256[]", "indexed": false, "internalType": "uint256[]" } ], "anonymous": false }, { "type": "event", "name": "VaultProxySet", "inputs": [ { "name": "vaultProxy", "type": "address", "indexed": false, "internalType": "address" } ], "anonymous": false } ], "bytecode": { "object": "0x6101e06040523480156200001257600080fd5b5060405162005e9938038062005e9983398181016040526101608110156200003957600080fd5b81019080805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919050505082806001600160a01b03166080816001600160a01b031660601b81525050508a6001600160a01b031660a0816001600160a01b031660601b81525050866001600160a01b031660c0816001600160a01b031660601b81525050856001600160a01b0316610100816001600160a01b031660601b81525050886001600160a01b031660e0816001600160a01b031660601b81525050846001600160a01b0316610120816001600160a01b031660601b81525050816001600160a01b0316610140816001600160a01b031660601b81525050836001600160a01b0316610160816001600160a01b031660601b81525050896001600160a01b0316610180816001600160a01b031660601b81525050876001600160a01b03166101a0816001600160a01b031660601b81525050806001600160a01b03166101c0816001600160a01b031660601b8152505060018060146101000a81548160ff021916908315150217905550505050505050505050505060805160601c60a05160601c60c05160601c60e05160601c6101005160601c6101205160601c6101405160601c6101605160601c6101805160601c6101a05160601c6101c05160601c615be1620002b860003980611269525080611f2152508061269a525080612676525080612c78525080612c9c525080612ce4525080612196525080612318525080612cc05250806121ca5250615be16000f3fe608060405234801561001057600080fd5b50600436106102535760003560e01c8063a01fd15711610146578063db69681f116100c3578063e7c4569011610087578063e7c456901461097c578063ebb3d58914610984578063f2d638261461098c578063f9005af314610994578063f9d5fe781461099c578063faf9096b146109c257610253565b8063db69681f1461085a578063e269c3d614610862578063e53a73b91461086a578063e572ced114610872578063e70e605e1461097457610253565b8063c98091871161010a578063c98091871461081b578063ce5e84a314610823578063d44ad6cb14610842578063da41962e1461084a578063da72503c1461085257610253565b8063a01fd157146107af578063ac259456146107cb578063b10ea2b0146107d3578063b3fc38e9146107f0578063beebc5da146107f857610253565b80636af8e7eb116101d45780637f20170d116101985780637f20170d14610724578063875fb4b31461074a578063877fd8941461075257806392b575b61461078457806397c0ac87146107a757610253565b80636af8e7eb146105655780636ea21143146106d1578063716d4da4146106d957806373eecf47146106e157806379951f0f1461070757610253565b8063399ae7241161021b578063399ae7241461047057806339bf70d11461049c5780634c252f911461051f5780634da471b71461054357806356cff99f1461055d57610253565b806310acd06d1461025857806312f20526146102d25780632dc7a3a0146103085780633462fcc114610327578063397bfe551461044a575b600080fd5b6102d06004803603604081101561026e57600080fd5b60ff8235169190810190604081016020820135600160201b81111561029257600080fd5b8201836020820111156102a457600080fd5b803590602001918460018302840111600160201b831117156102c557600080fd5b5090925090506109ca565b005b6102d0600480360360608110156102e857600080fd5b506001600160a01b03813581169160208101359091169060400135610afa565b6102d06004803603602081101561031e57600080fd5b50351515610c67565b6103fa6004803603608081101561033d57600080fd5b6001600160a01b0382351691602081013591810190606081016040820135600160201b81111561036c57600080fd5b82018360208201111561037e57600080fd5b803590602001918460208302840111600160201b8311171561039f57600080fd5b919390929091602081019035600160201b8111156103bc57600080fd5b8201836020820111156103ce57600080fd5b803590602001918460208302840111600160201b831117156103ef57600080fd5b509092509050610cca565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561043657818101518382015260200161041e565b505050509050019250505060405180910390f35b6102d06004803603602081101561046057600080fd5b50356001600160a01b0316610f1e565b6102d06004803603604081101561048657600080fd5b506001600160a01b038135169060200135610f7a565b6102d0600480360360608110156104b257600080fd5b6001600160a01b0382351691602081013591810190606081016040820135600160201b8111156104e157600080fd5b8201836020820111156104f357600080fd5b803590602001918460018302840111600160201b8311171561051457600080fd5b5090925090506110d6565b610527611267565b604080516001600160a01b039092168252519081900360200190f35b61054b61128c565b60408051918252519081900360200190f35b61054b611292565b6106386004803603608081101561057b57600080fd5b6001600160a01b0382351691602081013591810190606081016040820135600160201b8111156105aa57600080fd5b8201836020820111156105bc57600080fd5b803590602001918460208302840111600160201b831117156105dd57600080fd5b919390929091602081019035600160201b8111156105fa57600080fd5b82018360208201111561060c57600080fd5b803590602001918460208302840111600160201b8311171561062d57600080fd5b509092509050611732565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b8381101561067c578181015183820152602001610664565b50505050905001838103825284818151815260200191508051906020019060200280838360005b838110156106bb5781810151838201526020016106a3565b5050505090500194505050505060405180910390f35b610527611d4e565b6102d0611e2f565b6102d0600480360360208110156106f757600080fd5b50356001600160a01b0316611e4c565b6102d06004803603602081101561071d57600080fd5b5035611e60565b61054b6004803603602081101561073a57600080fd5b50356001600160a01b0316611f00565b610527611f1f565b61054b6004803603606081101561076857600080fd5b506001600160a01b038135169060208101359060400135611f43565b6102d06004803603604081101561079a57600080fd5b5080359060200135612052565b610527612194565b6107b76121b8565b604080519115158252519081900360200190f35b6105276121c8565b6102d0600480360360208110156107e957600080fd5b50356121ec565b610527612316565b61054b6004803603604081101561080e57600080fd5b508035906020013561233a565b61052761236e565b6102d06004803603602081101561083957600080fd5b5035151561237d565b610527612674565b610527612698565b61054b6126bc565b6102d06127b6565b610527612952565b6102d0612961565b6108ff6004803603606081101561088857600080fd5b6001600160a01b03823516916001600160e01b031960208201351691810190606081016040820135600160201b8111156108c157600080fd5b8201836020820111156108d357600080fd5b803590602001918460018302840111600160201b831117156108f457600080fd5b509092509050612971565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610939578181015183820152602001610921565b50505050905090810190601f1680156109665780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610527612c76565b610527612c9a565b610527612cbe565b610527612ce2565b6102d0612d06565b6102d0600480360360208110156109b257600080fd5b50356001600160a01b0316612e22565b610527612e33565b6109d43384612e42565b600683600a8111156109e257fe5b1415610a51576109f0612952565b6001600160a01b031682826020811015610a0957600080fd5b50356001600160a01b03161415610a515760405162461bcd60e51b815260040180806020018281038252603a815260200180615b1b603a913960400191505060405180910390fd5b610a5961236e565b6001600160a01b03166324e600128484846040518463ffffffff1660e01b81526004018084600a811115610a8957fe5b8152602001806020018281038252848482818152602001925080828437600081840152601f19601f820116905080830192505050945050505050600060405180830381600087803b158015610add57600080fd5b505af1158015610af1573d6000803e3d6000fd5b50505050505050565b6000610b0461236e565b9050336001600160a01b03821614610b4d5760405162461bcd60e51b815260040180806020018281038252602f815260200180615ac6602f913960400191505060405180910390fd5b610b578185612fd1565b610b5f612674565b604080516001600160a01b038781166020830152868116828401526060808301879052835180840390910181526080830193849052630442bad560e01b90935230608483018181529490911693630442bad5939192600292919060a40183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610bfb578181015183820152602001610be3565b50505050905090810190601f168015610c285780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b158015610c4957600080fd5b505af1158015610c5d573d6000803e3d6000fd5b5050505050505050565b610c77610c7261305b565b61309f565b60018054821515600160a81b810260ff60a81b199092169190911790915560408051918252517f8ccd4cc3a51ed6f61f2b34b8d0a1ac137376931714380a7702b410ed174d6a739181900360200190a150565b6060610cd461316a565b6001805460ff60b81b1916600160b81b1790556000610cf161305b565b9050848314610d315760405162461bcd60e51b815260040180806020018281038252602d8152602001806158a0602d913960400191505060405180910390fd5b610d6d8686808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506131b792505050565b610da85760405162461bcd60e51b81526004018080602001828103825260358152602001806158cd6035913960400191505060405180910390fd5b6000610db2611292565b90506000610dbe61236e565b9050600080610dd183868d60018861324b565b9092509050610df8838d8c8c8c8c610df388610ded8d8c61353d565b90613596565b6135fd565b9550610e3d858d848d8d808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508d92508b91506139079050565b8b6001600160a01b0316856001600160a01b03167fbf88879a1555e4d7d38ebeffabce61fdf5e12ea0468abf855a72ec17b432bed5848d8d8b60405180858152602001806020018060200183810383528686828181526020019250602002808284376000838201819052601f909101601f1916909201858103845286518152865160209182019382890193509102908190849084905b83811015610eeb578181015183820152602001610ed3565b50505050905001965050505050505060405180910390a350505050506001805460ff60b81b191690559695505050505050565b610f26613ad0565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f5be181178e61e61e33f79c396c7194b8f3c80f77899da7bd96fe537411300bcb9181900360200190a150565b6000610f84612952565b6001600160a01b031614610fdf576040805162461bcd60e51b815260206004820152601960248201527f696e69743a20416c726561647920696e697469616c697a656400000000000000604482015290519081900360640190fd5b610fe7611f1f565b6001600160a01b031663c496f8e8836040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561103357600080fd5b505afa158015611047573d6000803e3d6000fd5b505050506040513d602081101561105d57600080fd5b50516110b0576040805162461bcd60e51b815260206004820152601c60248201527f696e69743a204261642064656e6f6d696e6174696f6e20617373657400000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b039390931692909217909155600255565b6110de61316a565b6001805460ff60b81b1916600160b81b1790556110f9613b3d565b6001805460ff60b01b1916600160b01b179055611114612ce2565b6001600160a01b0316846001600160a01b0316148061114b5750611136612c9a565b6001600160a01b0316846001600160a01b0316145b8061116e5750611159612316565b6001600160a01b0316846001600160a01b0316145b6111a95760405162461bcd60e51b81526004018080602001828103825260238152602001806159956023913960400191505060405180910390fd5b836001600160a01b0316631bee801e6111c061305b565b8585856040518563ffffffff1660e01b815260040180856001600160a01b03168152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b15801561123b57600080fd5b505af115801561124f573d6000803e3d6000fd5b50506001805461ffff60b01b19169055505050505050565b7f00000000000000000000000000000000000000000000000000000000000000005b90565b60025490565b60008061129d61236e565b90506060816001600160a01b031663c4b973706040518163ffffffff1660e01b815260040160006040518083038186803b1580156112da57600080fd5b505afa1580156112ee573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561131757600080fd5b8101908080516040519392919084600160201b82111561133657600080fd5b90830190602082018581111561134b57600080fd5b82518660208202830111600160201b8211171561136757600080fd5b82525081516020918201928201910280838360005b8381101561139457818101518382015260200161137c565b5050505090500160405250505090506060826001600160a01b031663b8b7f1476040518163ffffffff1660e01b815260040160006040518083038186803b1580156113de57600080fd5b505afa1580156113f2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561141b57600080fd5b8101908080516040519392919084600160201b82111561143a57600080fd5b90830190602082018581111561144f57600080fd5b82518660208202830111600160201b8211171561146b57600080fd5b82525081516020918201928201910280838360005b83811015611498578181015183820152602001611480565b505050509050016040525050509050815160001480156114b757508051155b156114c85760009350505050611289565b6060825167ffffffffffffffff811180156114e257600080fd5b5060405190808252806020026020018201604052801561150c578160200160208202803683370190505b50905060005b83518110156115c85783818151811061152757fe5b60200260200101516001600160a01b03166370a08231866040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561157b57600080fd5b505afa15801561158f573d6000803e3d6000fd5b505050506040513d60208110156115a557600080fd5b505182518390839081106115b557fe5b6020908102919091010152600101611512565b506115d1611f1f565b6001600160a01b031663ae6f52ad84836115e9612952565b6040518463ffffffff1660e01b8152600401808060200180602001846001600160a01b03168152602001838103835286818151815260200191508051906020019060200280838360005b8381101561164b578181015183820152602001611633565b50505050905001838103825285818151815260200191508051906020019060200280838360005b8381101561168a578181015183820152602001611672565b5050505090500195505050505050602060405180830381600087803b1580156116b257600080fd5b505af11580156116c6573d6000803e3d6000fd5b505050506040513d60208110156116dc57600080fd5b505182519095501561172b5760005b825181101561172957600061171284838151811061170557fe5b6020026020010151613b9c565b905061171e8782614118565b9650506001016116eb565b505b5050505090565b60608061173d61316a565b6001805460ff60b81b1916600160b81b179055600061175a61305b565b90506117988787808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506131b792505050565b6117d35760405162461bcd60e51b81526004018080602001828103825260398152602001806159b86039913960400191505060405180910390fd5b61180f8585808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506131b792505050565b61184a5760405162461bcd60e51b8152600401808060200182810382526035815260200180615ba06035913960400191505060405180910390fd5b60015460408051630c4b973760e41b815290516119b9926001600160a01b03169163c4b97370916004808301926000929190829003018186803b15801561189057600080fd5b505afa1580156118a4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260208110156118cd57600080fd5b8101908080516040519392919084600160201b8211156118ec57600080fd5b90830190602082018581111561190157600080fd5b82518660208202830111600160201b8211171561191d57600080fd5b82525081516020918201928201910280838360005b8381101561194a578181015183820152602001611932565b5050505090910160208d810282810182016040528e83529195508e94508d935083925085019084908082843760009201919091525050604080516020808c0282810182019093528b82529093508b92508a91829185019084908082843760009201919091525061417292505050565b925060006119c56121b8565b15611a5f57306001600160a01b03166356cff99f6040518163ffffffff1660e01b8152600401602060405180830381600087803b158015611a0557600080fd5b505af1925050508015611a2a57506040513d6020811015611a2557600080fd5b505160015b611a5c576040517ff5939ff9a66cf6d21ec93b246060bc17f5c062847e28d967d3dd617636b238d490600090a1611a5f565b90505b6001546000908190611a7d906001600160a01b0316858d848761324b565b91509150855167ffffffffffffffff81118015611a9957600080fd5b50604051908082528060200260200182016040528015611ac3578160200160208202803683370190505b50945060005b8651811015611c5857611b6d82610ded858a8581518110611ae657fe5b602090810291909101810151600154604080516370a0823160e01b81526001600160a01b039283166004820152905191909216926370a082319260248082019391829003018186803b158015611b3b57600080fd5b505afa158015611b4f573d6000803e3d6000fd5b505050506040513d6020811015611b6557600080fd5b50519061353d565b868281518110611b7957fe5b6020026020010181815250506000868281518110611b9357fe5b60200260200101511115611c505760015487516001600160a01b039091169063495d753c90899084908110611bc457fe5b60200260200101518f898581518110611bd957fe5b60200260200101516040518463ffffffff1660e01b815260040180846001600160a01b03168152602001836001600160a01b031681526020018281526020019350505050600060405180830381600087803b158015611c3757600080fd5b505af1158015611c4b573d6000803e3d6000fd5b505050505b600101611ac9565b508b6001600160a01b0316846001600160a01b03167fbf88879a1555e4d7d38ebeffabce61fdf5e12ea0468abf855a72ec17b432bed5848989604051808481526020018060200180602001838103835285818151815260200191508051906020019060200280838360005b83811015611cdb578181015183820152602001611cc3565b50505050905001838103825284818151815260200191508051906020019060200280838360005b83811015611d1a578181015183820152602001611d02565b505050509050019550505050505060405180910390a3505050506001805460ff60b81b191690559097909650945050505050565b6000611d586121c8565b6001600160a01b03166398a7c4c76040518163ffffffff1660e01b815260040160206040518083038186803b158015611d9057600080fd5b505afa158015611da4573d6000803e3d6000fd5b505050506040513d6020811015611dba57600080fd5b505160408051637da0a87760e01b815290516001600160a01b0390921691637da0a87791600480820192602092909190829003018186803b158015611dfe57600080fd5b505afa158015611e12573d6000803e3d6000fd5b505050506040513d6020811015611e2857600080fd5b5051905090565b611e3a610c7261305b565b611e4a611e45612e33565b614364565b565b611e54613ad0565b611e5d8161439f565b50565b611e686143f3565b611e7061236e565b6001600160a01b031663495d753c611e86611267565b611e8e612e33565b846040518463ffffffff1660e01b815260040180846001600160a01b03168152602001836001600160a01b031681526020018281526020019350505050600060405180830381600087803b158015611ee557600080fd5b505af1158015611ef9573d6000803e3d6000fd5b5050505050565b6001600160a01b0381166000908152600360205260409020545b919050565b7f000000000000000000000000000000000000000000000000000000000000000090565b6000806000611f5061128c565b1190506000611f5d61305b565b9050811580611fe85750611f6f612194565b6001600160a01b03166354391f09826040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015611fbb57600080fd5b505afa158015611fcf573d6000803e3d6000fd5b505050506040513d6020811015611fe557600080fd5b50515b612039576040805162461bcd60e51b815260206004820152601f60248201527f6275795368617265734f6e426568616c663a20556e617574686f72697a656400604482015290519081900360640190fd5b612046868686858561444a565b925050505b9392505050565b61205a613ad0565b612062613b3d565b6001805460ff60b01b1916600160b01b17905561207d61236e565b6001600160a01b031663d5c20fa2826040518263ffffffff1660e01b8152600401600060405180830381600088803b1580156120b857600080fd5b5087f1935050505080156120ca575060015b6120f8576040517f8a7579328a911284dedef6a7e68bbb1eae7d59418f2699cb5a3c26f6e57e4d7790600090a15b612100612ce2565b6001600160a01b031663bd8e959a836040518263ffffffff1660e01b8152600401600060405180830381600088803b15801561213b57600080fd5b5087f19350505050801561214d575060015b61217b576040517f681c534f5c2e473c9cc8ab1693257fb2b0e19a5c5ecd7d040201f1cf2a190c8790600090a15b61218361484e565b50506001805460ff60b01b19169055565b7f000000000000000000000000000000000000000000000000000000000000000090565b600154600160a81b900460ff1690565b7f000000000000000000000000000000000000000000000000000000000000000090565b6001546001600160a01b03168063714ca2d161220661305b565b6040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561224357600080fd5b505afa158015612257573d6000803e3d6000fd5b505050506040513d602081101561226d57600080fd5b50516122aa5760405162461bcd60e51b8152600401808060200182810382526026815260200180615af56026913960400191505060405180910390fd5b60006122b4611292565b9050816001600160a01b0316631ff46bfa846122d185878661489a565b846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b158015610add57600080fd5b7f000000000000000000000000000000000000000000000000000000000000000090565b600080600061234761128c565b119050600061235461305b565b9050612363818686858561444a565b925050505b92915050565b6001546001600160a01b031690565b612385613ad0565b600061238f61236e565b90508115612534576000816001600160a01b03166370a08231836040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156123e657600080fd5b505afa1580156123fa573d6000803e3d6000fd5b505050506040513d602081101561241057600080fd5b50519050801561253257816001600160a01b031663bfc77beb83846001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561246357600080fd5b505afa158015612477573d6000803e3d6000fd5b505050506040513d602081101561248d57600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b0393841660048201529290911660248301526044820185905251606480830192600092919082900301818387803b1580156124e557600080fd5b505af11580156124f9573d6000803e3d6000fd5b50506040805184815290517f8f9ec2c1cf1f95fcb5d89d3141949092850c5cfe04da4d9425dd840bf18cdc709350908190036020019150a15b505b806001600160a01b0316634ef0762e61254b612952565b6040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050600060405180830381600087803b15801561258a57600080fd5b505af115801561259e573d6000803e3d6000fd5b505050506125aa612ce2565b6001600160a01b03166380d57063836040518263ffffffff1660e01b8152600401808215158152602001915050600060405180830381600087803b1580156125f157600080fd5b505af1158015612605573d6000803e3d6000fd5b50505050612611612674565b6001600160a01b03166380d57063836040518263ffffffff1660e01b8152600401808215158152602001915050600060405180830381600087803b15801561265857600080fd5b505af115801561266c573d6000803e3d6000fd5b505050505050565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b6000806126c7611292565b90506127b0816126d561236e565b6001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561270d57600080fd5b505afa158015612721573d6000803e3d6000fd5b505050506040513d602081101561273757600080fd5b5051612741612952565b6001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561277957600080fd5b505afa15801561278d573d6000803e3d6000fd5b505050506040513d60208110156127a357600080fd5b505160ff16600a0a614a1b565b91505090565b6127bf3361309f565b60006127c9612e33565b6001600160a01b03161461280e5760405162461bcd60e51b81526004018080602001828103825260338152602001806159626033913960400191505060405180910390fd5b606061281861236e565b604080516001600160a01b0390921660248084019190915281518084039091018152604490920190526020810180516001600160e01b031663066ad14f60e21b179052905060006128676121c8565b6001600160a01b0316630c0872f5836040518263ffffffff1660e01b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156128c25781810151838201526020016128aa565b50505050905090810190601f1680156128ef5780820380516001836020036101000a031916815260200191505b5092505050602060405180830381600087803b15801561290e57600080fd5b505af1158015612922573d6000803e3d6000fd5b505050506040513d602081101561293857600080fd5b505190506129458161439f565b61294e81614364565b5050565b6000546001600160a01b031690565b612969613ad0565b611e4a61484e565b606061297e610c7261305b565b612986612194565b6001600160a01b0316638c500ea38686868660405180838380828437808301925050509250505060405180910390206040518463ffffffff1660e01b815260040180846001600160a01b03168152602001836001600160e01b0319168152602001828152602001935050505060206040518083038186803b158015612a0a57600080fd5b505afa158015612a1e573d6000803e3d6000fd5b505050506040513d6020811015612a3457600080fd5b5051612a87576040805162461bcd60e51b815260206004820181905260248201527f7661756c7443616c6c4f6e436f6e74726163743a204e6f7420616c6c6f776564604482015290519081900360640190fd5b612a8f61236e565b6001600160a01b031663a90cce4b8686868660405160200180846001600160e01b03191681526004018383808284378083019250505093505050506040516020818303038152906040526040518363ffffffff1660e01b815260040180836001600160a01b0316815260200180602001828103825283818151815260200191508051906020019080838360005b83811015612b34578181015183820152602001612b1c565b50505050905090810190601f168015612b615780820380516001836020036101000a031916815260200191505b509350505050600060405180830381600087803b158015612b8157600080fd5b505af1158015612b95573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526020811015612bbe57600080fd5b8101908080516040519392919084600160201b821115612bdd57600080fd5b908301906020820185811115612bf257600080fd5b8251600160201b811182820188101715612c0b57600080fd5b82525081516020918201929091019080838360005b83811015612c38578181015183820152602001612c20565b50505050905090810190601f168015612c655780820380516001836020036101000a031916815260200191505b506040525050509050949350505050565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b612d0f3361309f565b60048054604080516305fd8c7160e41b815290516001600160a01b0390921692635fd8c71092828201926000929082900301818387803b158015612d5257600080fd5b505af1158015612d66573d6000803e3d6000fd5b50506001546001600160a01b03169150634ef0762e9050612d85611267565b6040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050600060405180830381600087803b158015612dc457600080fd5b505af1158015612dd8573d6000803e3d6000fd5b5050600480546001600160a01b03191690555050604080516000815290517f66756eda85190d0bcec058815fd7e2154167d102e21d96cab701630af02f24739181900360200190a1565b611e5d612e2d61236e565b82612fd1565b6004546001600160a01b031690565b600154600090600160b01b900460ff1615612f9057612e5f612c9a565b6001600160a01b0316836001600160a01b03161415612ed857600482600a811115612e8657fe5b1480612e9d5750600682600a811115612e9b57fe5b145b80612eb35750600782600a811115612eb157fe5b145b80612eca575060055b82600a811115612ec857fe5b145b15612ed3575060015b612f90565b612ee0612ce2565b6001600160a01b0316836001600160a01b03161415612f2b57600282600a811115612f0757fe5b1480612f1e5750600182600a811115612f1c57fe5b145b80612eca57506003612ebc565b612f33612316565b6001600160a01b0316836001600160a01b03161415612f9057600982600a811115612f5a57fe5b1480612f715750600882600a811115612f6f57fe5b145b80612f875750600a82600a811115612f8557fe5b145b15612f90575060015b80612fcc5760405162461bcd60e51b8152600401808060200182810382526033815260200180615a936033913960400191505060405180910390fd5b505050565b6000612fdc82611f00565b9050801580612ffb5750612fee61128c565b612ff84283614a47565b10155b8061300a575061300a83614aa4565b612fcc576040805162461bcd60e51b815260206004820152601860248201527f53686172657320616374696f6e2074696d656c6f636b65640000000000000000604482015290519081900360640190fd5b6000601836108015906130865750613071611d4e565b6001600160a01b0316336001600160a01b0316145b1561309a575060131936013560601c611289565b503390565b6130a761236e565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b1580156130df57600080fd5b505afa1580156130f3573d6000803e3d6000fd5b505050506040513d602081101561310957600080fd5b50516001600160a01b03828116911614611e5d576040805162461bcd60e51b815260206004820152601860248201527f4f6e6c792066756e64206f776e65722063616c6c61626c650000000000000000604482015290519081900360640190fd5b600154600160b81b900460ff1615611e4a576040805162461bcd60e51b815260206004820152600b60248201526a52652d656e7472616e636560a81b604482015290519081900360640190fd5b600060018251116131ca57506001611f1a565b815160005b8181101561324157600181015b82811015613238578481815181106131f057fe5b60200260200101516001600160a01b031685838151811061320d57fe5b60200260200101516001600160a01b031614156132305760009350505050611f1a565b6001016131dc565b506001016131cf565b5060019392505050565b6000806132588787612fd1565b60008790506000816001600160a01b03166370a08231896040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156132ac57600080fd5b505afa1580156132c0573d6000803e3d6000fd5b505050506040513d60208110156132d657600080fd5b505190506000198714156132ec578093506132f0565b8693505b6000841161332f5760405162461bcd60e51b815260040180806020018281038252602881526020018061593a6028913960400191505060405180910390fd5b61333b88858888614bb2565b6000826001600160a01b03166370a082318a6040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561338a57600080fd5b505afa15801561339e573d6000803e3d6000fd5b505050506040513d60208110156133b457600080fd5b505190506000198814156133ca578094506133e9565b818110156133e9576133e66133df8383614a47565b8690614a47565b94505b896001600160a01b031663d5c20fa26040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561342457600080fd5b505af1158015613438573d6000803e3d6000fd5b5050505060008611801561344f575061344f6121b8565b1561345e5761345e8a87614dae565b826001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561349757600080fd5b505afa1580156134ab573d6000803e3d6000fd5b505050506040513d60208110156134c157600080fd5b505160408051633b9e9f0160e21b81526001600160a01b038c81166004830152602482018990529151929650908c169163ee7a7c049160448082019260009290919082900301818387803b15801561351857600080fd5b505af115801561352c573d6000803e3d6000fd5b505050505050509550959350505050565b60008261354c57506000612368565b8282028284828161355957fe5b041461204b5760405162461bcd60e51b81526004018080602001828103825260218152602001806159f16021913960400191505060405180910390fd5b60008082116135ec576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b8183816135f557fe5b049392505050565b60606000613609612952565b905060008667ffffffffffffffff8111801561362457600080fd5b5060405190808252806020026020018201604052801561364e578160200160208202803683370190505b50925060005b878110156138b95761368187878381811061366b57fe5b905060200201358361411890919063ffffffff16565b915061aaaa89898381811061369257fe5b905060200201356001600160a01b03166001600160a01b031614156136b6576138b1565b6136be611f1f565b6001600160a01b0316634c67e106846136f8612710610ded8c8c888181106136e257fe5b905060200201358b61353d90919063ffffffff16565b8c8c8681811061370457fe5b905060200201356001600160a01b03166040518463ffffffff1660e01b815260040180846001600160a01b03168152602001838152602001826001600160a01b031681526020019350505050602060405180830381600087803b15801561376a57600080fd5b505af115801561377e573d6000803e3d6000fd5b505050506040513d602081101561379457600080fd5b505184518590839081106137a457fe5b60200260200101818152505060008482815181106137be57fe5b6020026020010151116138025760405162461bcd60e51b81526004018080602001828103825260388152602001806159026038913960400191505060405180910390fd5b8a6001600160a01b031663495d753c8a8a8481811061381d57fe5b905060200201356001600160a01b03168c87858151811061383a57fe5b60200260200101516040518463ffffffff1660e01b815260040180846001600160a01b03168152602001836001600160a01b031681526020018281526020019350505050600060405180830381600087803b15801561389857600080fd5b505af11580156138ac573d6000803e3d6000fd5b505050505b600101613654565b5061271081146138fa5760405162461bcd60e51b815260040180806020018281038252603b815260200180615834603b913960400191505060405180910390fd5b5050979650505050505050565b61390f612674565b6001600160a01b0316630442bad530600389898989898960405160200180876001600160a01b03168152602001866001600160a01b031681526020018581526020018060200180602001848152602001838103835286818151815260200191508051906020019060200280838360005b8381101561399757818101518382015260200161397f565b50505050905001838103825285818151815260200191508051906020019060200280838360005b838110156139d65781810151838201526020016139be565b50505050905001985050505050505050506040516020818303038152906040526040518463ffffffff1660e01b815260040180846001600160a01b03168152602001836009811115613a2457fe5b815260200180602001828103825283818151815260200191508051906020019080838360005b83811015613a62578181015183820152602001613a4a565b50505050905090810190601f168015613a8f5780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b158015613ab057600080fd5b505af1158015613ac4573d6000803e3d6000fd5b50505050505050505050565b613ad8612194565b6001600160a01b0316336001600160a01b031614611e4a576040805162461bcd60e51b815260206004820152601a60248201527f4f6e6c792046756e644465706c6f7965722063616c6c61626c65000000000000604482015290519081900360640190fd5b600154600160b01b900460ff1615611e4a576040805162461bcd60e51b815260206004820152601860248201527f5661756c7420616374696f6e2072652d656e7472616e63650000000000000000604482015290519081900360640190fd5b6000606080836001600160a01b03166380daddb86040518163ffffffff1660e01b8152600401600060405180830381600087803b158015613bdc57600080fd5b505af1158015613bf0573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040908152811015613c1957600080fd5b8101908080516040519392919084600160201b821115613c3857600080fd5b908301906020820185811115613c4d57600080fd5b82518660208202830111600160201b82111715613c6957600080fd5b82525081516020918201928201910280838360005b83811015613c96578181015183820152602001613c7e565b5050505090500160405260200180516040519392919084600160201b821115613cbe57600080fd5b908301906020820185811115613cd357600080fd5b82518660208202830111600160201b82111715613cef57600080fd5b82525081516020918201928201910280838360005b83811015613d1c578181015183820152602001613d04565b50505050905001604052505050915091506000613d37611f1f565b6001600160a01b031663ae6f52ad8484613d4f612952565b6040518463ffffffff1660e01b8152600401808060200180602001846001600160a01b03168152602001838103835286818151815260200191508051906020019060200280838360005b83811015613db1578181015183820152602001613d99565b50505050905001838103825285818151815260200191508051906020019060200280838360005b83811015613df0578181015183820152602001613dd8565b5050505090500195505050505050602060405180830381600087803b158015613e1857600080fd5b505af1158015613e2c573d6000803e3d6000fd5b505050506040513d6020811015613e4257600080fd5b505160408051633b35962d60e21b8152905191925060609182916001600160a01b0389169163ecd658b49160048082019260009290919082900301818387803b158015613e8e57600080fd5b505af1158015613ea2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040908152811015613ecb57600080fd5b8101908080516040519392919084600160201b821115613eea57600080fd5b908301906020820185811115613eff57600080fd5b82518660208202830111600160201b82111715613f1b57600080fd5b82525081516020918201928201910280838360005b83811015613f48578181015183820152602001613f30565b5050505090500160405260200180516040519392919084600160201b821115613f7057600080fd5b908301906020820185811115613f8557600080fd5b82518660208202830111600160201b82111715613fa157600080fd5b82525081516020918201928201910280838360005b83811015613fce578181015183820152602001613fb6565b50505050905001604052505050915091506000613fe9611f1f565b6001600160a01b031663ae6f52ad8484614001612952565b6040518463ffffffff1660e01b8152600401808060200180602001846001600160a01b03168152602001838103835286818151815260200191508051906020019060200280838360005b8381101561406357818101518382015260200161404b565b50505050905001838103825285818151815260200191508051906020019060200280838360005b838110156140a257818101518382015260200161408a565b5050505090500195505050505050602060405180830381600087803b1580156140ca57600080fd5b505af11580156140de573d6000803e3d6000fd5b505050506040513d60208110156140f457600080fd5b505190508084111561410d5761410a8482614a47565b96505b505050505050919050565b60008282018381101561204b576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60608061417f8584614f7d565b905083516000141561419257905061204b565b6060845167ffffffffffffffff811180156141ac57600080fd5b506040519080825280602002602001820160405280156141d6578160200160208202803683370190505b5090506000805b865181101561423d5761420c8782815181106141f557fe5b60200260200101518561510990919063ffffffff16565b61423557600183828151811061421e57fe5b911515602092830291909101909101526001909101905b6001016141dd565b508061424e5782935050505061204b565b825161425a9082614118565b67ffffffffffffffff8111801561427057600080fd5b5060405190808252806020026020018201604052801561429a578160200160208202803683370190505b50935060005b83518110156142e9578381815181106142b557fe5b60200260200101518582815181106142c957fe5b6001600160a01b03909216602092830291909101909101526001016142a0565b50825160005b87518110156143585783818151811061430457fe5b6020026020010151156143505787818151811061431d57fe5b602002602001015186838151811061433157fe5b6001600160a01b03909216602092830291909101909101526001909101905b6001016142ef565b50505050509392505050565b806001600160a01b031663d0e30db06040518163ffffffff1660e01b8152600401600060405180830381600087803b158015611ee557600080fd5b600480546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f66756eda85190d0bcec058815fd7e2154167d102e21d96cab701630af02f24739181900360200190a150565b6143fb612e33565b6001600160a01b0316336001600160a01b031614611e4a5760405162461bcd60e51b8152600401808060200182810382526021815260200180615b7f6021913960400191505060405180910390fd5b600061445461316a565b6001805460ff60b81b1916600160b81b17905561446f613b3d565b6001805460ff60b01b1916600160b01b179055836144be5760405162461bcd60e51b815260040180806020018281038252602a815260200180615a38602a913960400191505060405180910390fd5b60006144c861236e565b90508315806144dd57506144db81614aa4565b155b6145185760405162461bcd60e51b8152600401808060200182810382526031815260200180615a626031913960400191505060405180910390fd5b6000614522611292565b905061452f88888361515f565b816001600160a01b031663d5c20fa26040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561456a57600080fd5b505af115801561457e573d6000803e3d6000fd5b5050505061458a6121b8565b15614599576145998282614dae565b60006145ae6145a6612952565b86858b615244565b905060006145ef83856001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561270d57600080fd5b9050600061460982610ded85670de0b6b3a764000061353d565b90506000856001600160a01b03166370a082318d6040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561465a57600080fd5b505afa15801561466e573d6000803e3d6000fd5b505050506040513d602081101561468457600080fd5b5051604080516329460cc560e11b81526001600160a01b038f811660048301526024820186905291519293509088169163528c198a9160448082019260009290919082900301818387803b1580156146db57600080fd5b505af11580156146ef573d6000803e3d6000fd5b505050506146ff8c858488615332565b61478281876001600160a01b03166370a082318f6040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561475057600080fd5b505afa158015614764573d6000803e3d6000fd5b505050506040513d602081101561477a57600080fd5b505190614a47565b9650898710156147c35760405162461bcd60e51b815260040180806020018281038252603181526020018061586f6031913960400191505060405180910390fd5b88156147e5576001600160a01b038c1660009081526003602052604090204290555b604080518581526020810184905280820189905290516001600160a01b038e16917f849165c18b9d0fb161bcb145e4ab523d350e5c98f1dbbb1960331e7ee3ca6767919081900360600190a25050505050506001805461ffff60b01b1916905595945050505050565b600154600160a01b900460ff16156148975760405162461bcd60e51b8152600401808060200182810382526026815260200180615a126026913960400191505060405180910390fd5b30ff5b6000806148a5612952565b9050600061495284876001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156148e657600080fd5b505afa1580156148fa573d6000803e3d6000fd5b505050506040513d602081101561491057600080fd5b50516040805163313ce56760e01b815290516001600160a01b0387169163313ce567916004808301926020929190829003018186803b15801561277957600080fd5b9050600061496c670de0b6b3a7640000610ded848961353d565b9050614976611f1f565b6001600160a01b0316634c67e106848361498e612c76565b6040518463ffffffff1660e01b815260040180846001600160a01b03168152602001838152602001826001600160a01b031681526020019350505050602060405180830381600087803b1580156149e457600080fd5b505af11580156149f8573d6000803e3d6000fd5b505050506040513d6020811015614a0e57600080fd5b5051979650505050505050565b600082614a2957508061204b565b614a3f83610ded86670de0b6b3a764000061353d565b949350505050565b600082821115614a9e576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6000614aae612cbe565b6001600160a01b031663d0449d3d836040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015614afa57600080fd5b505afa158015614b0e573d6000803e3d6000fd5b505050506040513d6020811015614b2457600080fd5b5051806123685750614b34612194565b6001600160a01b0316636c579e57836040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015614b8057600080fd5b505afa158015614b94573d6000803e3d6000fd5b505050506040513d6020811015614baa57600080fd5b505192915050565b614bba613b3d565b6001805460ff60b01b1916600160b01b179055614bd5612ce2565b604080516001600160a01b038781166020830152818301879052851515606080840191909152835180840390910181526080830193849052631dd6705960e21b9093529290921691637759c1649160039185906084018084815260200180602001838152602001828103825284818151815260200191508051906020019080838360005b83811015614c71578181015183820152602001614c59565b50505050905090810190601f168015614c9e5780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b158015614cbf57600080fd5b505af1925050508015614cd0575060015b614d9b573d808015614cfe576040519150601f19603f3d011682016040523d82523d6000602084013e614d03565b606091505b50846001600160a01b0316816040518082805190602001908083835b60208310614d3e5780518252601f199092019160209182019101614d1f565b51815160209384036101000a6000190180199092169116179052604080519290940182900382208b835293519395507fb3ea7e5141baf21804d12f5a635e83e0cb869c8b06b88648364769f85aa73fc294509083900301919050a3505b50506001805460ff60b01b191690555050565b6000826001600160a01b03166370a08231614dc7612698565b6040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015614e0457600080fd5b505afa158015614e18573d6000803e3d6000fd5b505050506040513d6020811015614e2e57600080fd5b505190506000614e3f84838561489a565b9050836001600160a01b0316631ff46bfa8383866040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b158015614e9757600080fd5b505af1925050508015614ea8575060015b614f77573d808015614ed6576040519150601f19603f3d011682016040523d82523d6000602084013e614edb565b606091505b50806040518082805190602001908083835b60208310614f0c5780518252601f199092019160209182019101614eed565b51815160209384036101000a6000190180199092169116179052604080519290940182900382208983529082018890528184018a905292519294507f0917b727c8497d0fc305acafacb424e8c9b12715d2b9b19bee777ef9d134f08f935060609083900301919050a2505b50505050565b6060815160001415614f90575081612368565b6060835167ffffffffffffffff81118015614faa57600080fd5b50604051908082528060200260200182016040528015614fd4578160200160208202803683370190505b50845190915060005b85518110156150365761500385878381518110614ff657fe5b6020026020010151615109565b1561502e57600183828151811061501657fe5b91151560209283029190910190910152600019909101905b600101614fdd565b50845181141561504857849250615101565b8015615101578067ffffffffffffffff8111801561506557600080fd5b5060405190808252806020026020018201604052801561508f578160200160208202803683370190505b5092506000805b86518110156150fe578381815181106150ab57fe5b60200260200101516150f6578681815181106150c357fe5b60200260200101518583815181106150d757fe5b6001600160a01b03909216602092830291909101909101526001909101905b600101615096565b50505b505092915050565b6000805b83518110156151555783818151811061512257fe5b60200260200101516001600160a01b0316836001600160a01b0316141561514d576001915050612368565b60010161510d565b5060009392505050565b615167612ce2565b604080516001600160a01b0386811660208301528183018690528251808303840181526060830193849052631dd6705960e21b9093529290921691637759c1649160019185906064018084815260200180602001838152602001828103825284818151815260200191508051906020019080838360005b838110156151f65781810151838201526020016151de565b50505050905090810190601f1680156152235780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b158015610add57600080fd5b600080856001600160a01b03166370a08231856040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561529457600080fd5b505afa1580156152a8573d6000803e3d6000fd5b505050506040513d60208110156152be57600080fd5b505190506152d76001600160a01b03871686868661555d565b61532881876001600160a01b03166370a08231876040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561475057600080fd5b9695505050505050565b600061533e8285614118565b9050615348612ce2565b604080516001600160a01b0388811660208301528183018890526060808301889052835180840390910181526080830193849052631dd6705960e21b9093529290921691637759c1649160029185906084018084815260200180602001838152602001828103825284818151815260200191508051906020019080838360005b838110156153e05781810151838201526020016153c8565b50505050905090810190601f16801561540d5780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b15801561542e57600080fd5b505af1158015615442573d6000803e3d6000fd5b5050505061544e612674565b604080516001600160a01b0388811660208301528183018890526060820187905260808083018690528351808403909101815260a0830193849052630442bad560e01b9093523060a483018181529490911693630442bad5939192600092919060c40183815260200180602001828103825283818151815260200191508051906020019080838360005b838110156154f05781810151838201526020016154d8565b50505050905090810190601f16801561551d5780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b15801561553e57600080fd5b505af1158015615552573d6000803e3d6000fd5b505050505050505050565b604080516001600160a01b0380861660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052614f779085906060615607826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166156639092919063ffffffff16565b805190915015612fcc5780806020019051602081101561562657600080fd5b5051612fcc5760405162461bcd60e51b815260040180806020018281038252602a815260200180615b55602a913960400191505060405180910390fd5b6060614a3f84846000858561567785615789565b6156c8576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b602083106157075780518252601f1990920191602091820191016156e8565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114615769576040519150601f19603f3d011682016040523d82523d6000602084013e61576e565b606091505b509150915061577e82828661578f565b979650505050505050565b3b151590565b6060831561579e57508161204b565b8251156157ae5782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156157f85781810151838201526020016157e0565b50505050905090810190601f1680156158255780820380516001836020036101000a031916815260200191505b509250505060405180910390fdfe5f5f7061796f7574537065636966696564417373657450657263656e74616765733a2050657263656e7473206d75737420746f74616c20313030255f5f6275795368617265733a20536861726573207265636569766564203c205f6d696e5368617265735175616e7469747972656465656d536861726573466f7253706563696669634173736574733a20556e657175616c2061727261797372656465656d536861726573466f7253706563696669634173736574733a204475706c6963617465207061796f75742061737365745f5f7061796f7574537065636966696564417373657450657263656e74616765733a205a65726f20616d6f756e7420666f722061737365745f5f72656465656d53686172657353657475703a204e6f2073686172657320746f2072656465656d6465706c6f7947617352656c61795061796d61737465723a205061796d617374657220616c7265616479206465706c6f79656463616c6c4f6e457874656e73696f6e3a205f657874656e73696f6e20696e76616c696472656465656d536861726573496e4b696e643a205f6164646974696f6e616c41737365747320636f6e7461696e73206475706c696361746573536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775f5f73656c6644657374727563743a204f6e6c792064656c65676174652063616c6c61626c655f5f6275795368617265733a205f6d696e5368617265735175616e74697479206d757374206265203e305f5f6275795368617265733a2050656e64696e67206d6967726174696f6e206f72207265636f6e66696775726174696f6e5f5f6173736572745065726d697373696f6e65645661756c74416374696f6e3a20416374696f6e206e6f7420616c6c6f7765647072655472616e73666572536861726573486f6f6b3a204f6e6c79205661756c7450726f78792063616c6c61626c656275794261636b50726f746f636f6c4665655368617265733a20556e617574686f72697a65647065726d697373696f6e65645661756c74416374696f6e3a2043616e6e6f7420756e747261636b2064656e6f6d696e6174696f6e2061737365745361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565644f6e6c79204761732052656c6179205061796d61737465722063616c6c61626c6572656465656d536861726573496e4b696e643a205f617373657473546f536b697020636f6e7461696e73206475706c696361746573a164736f6c634300060c000a", "sourceMap": "1401:51695:79:-:0;;;6545:899;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6963:25;850::230;-1:-1:-1;;;;;820:55:230;;;-1:-1:-1;;;;;820:55:230;;;;;;;754:128;7013:11:79::1;-1:-1:-1::0;;;;;7000:24:79::1;;;-1:-1:-1::0;;;;;7000:24:79::1;;;;;::::0;::::1;7062;-1:-1:-1::0;;;;;7034:52:79::1;;;-1:-1:-1::0;;;;;7034:52:79::1;;;;;::::0;::::1;7110:11;-1:-1:-1::0;;;;;7096:25:79::1;;;-1:-1:-1::0;;;;;7096:25:79::1;;;;;::::0;::::1;7147:13;-1:-1:-1::0;;;;;7131:29:79::1;;;-1:-1:-1::0;;;;;7131:29:79::1;;;;;::::0;::::1;7192:19;-1:-1:-1::0;;;;;7170:41:79::1;;;-1:-1:-1::0;;;;;7170:41:79::1;;;;;::::0;::::1;7233:9;-1:-1:-1::0;;;;;7221:21:79::1;;;-1:-1:-1::0;;;;;7221:21:79::1;;;;;::::0;::::1;7269:14;-1:-1:-1::0;;;;;7252:31:79::1;;;-1:-1:-1::0;;;;;7252:31:79::1;;;;;::::0;::::1;7316:19;-1:-1:-1::0;;;;;7293:42:79::1;;;-1:-1:-1::0;;;;;7293:42:79::1;;;;;::::0;::::1;7365:17;-1:-1:-1::0;;;;;7345:37:79::1;;;-1:-1:-1::0;;;;;7345:37:79::1;;;;;::::0;::::1;7405:10;-1:-1:-1::0;;;;;7392:23:79::1;;;-1:-1:-1::0;;;;;7392:23:79::1;;;;;::::0;::::1;7433:4;7425:5:::0;::::1;:12;;;;;;;;;;;;;;;;;;6545:899:::0;;;;;;;;;;;1401:51695;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106102535760003560e01c8063a01fd15711610146578063db69681f116100c3578063e7c4569011610087578063e7c456901461097c578063ebb3d58914610984578063f2d638261461098c578063f9005af314610994578063f9d5fe781461099c578063faf9096b146109c257610253565b8063db69681f1461085a578063e269c3d614610862578063e53a73b91461086a578063e572ced114610872578063e70e605e1461097457610253565b8063c98091871161010a578063c98091871461081b578063ce5e84a314610823578063d44ad6cb14610842578063da41962e1461084a578063da72503c1461085257610253565b8063a01fd157146107af578063ac259456146107cb578063b10ea2b0146107d3578063b3fc38e9146107f0578063beebc5da146107f857610253565b80636af8e7eb116101d45780637f20170d116101985780637f20170d14610724578063875fb4b31461074a578063877fd8941461075257806392b575b61461078457806397c0ac87146107a757610253565b80636af8e7eb146105655780636ea21143146106d1578063716d4da4146106d957806373eecf47146106e157806379951f0f1461070757610253565b8063399ae7241161021b578063399ae7241461047057806339bf70d11461049c5780634c252f911461051f5780634da471b71461054357806356cff99f1461055d57610253565b806310acd06d1461025857806312f20526146102d25780632dc7a3a0146103085780633462fcc114610327578063397bfe551461044a575b600080fd5b6102d06004803603604081101561026e57600080fd5b60ff8235169190810190604081016020820135600160201b81111561029257600080fd5b8201836020820111156102a457600080fd5b803590602001918460018302840111600160201b831117156102c557600080fd5b5090925090506109ca565b005b6102d0600480360360608110156102e857600080fd5b506001600160a01b03813581169160208101359091169060400135610afa565b6102d06004803603602081101561031e57600080fd5b50351515610c67565b6103fa6004803603608081101561033d57600080fd5b6001600160a01b0382351691602081013591810190606081016040820135600160201b81111561036c57600080fd5b82018360208201111561037e57600080fd5b803590602001918460208302840111600160201b8311171561039f57600080fd5b919390929091602081019035600160201b8111156103bc57600080fd5b8201836020820111156103ce57600080fd5b803590602001918460208302840111600160201b831117156103ef57600080fd5b509092509050610cca565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561043657818101518382015260200161041e565b505050509050019250505060405180910390f35b6102d06004803603602081101561046057600080fd5b50356001600160a01b0316610f1e565b6102d06004803603604081101561048657600080fd5b506001600160a01b038135169060200135610f7a565b6102d0600480360360608110156104b257600080fd5b6001600160a01b0382351691602081013591810190606081016040820135600160201b8111156104e157600080fd5b8201836020820111156104f357600080fd5b803590602001918460018302840111600160201b8311171561051457600080fd5b5090925090506110d6565b610527611267565b604080516001600160a01b039092168252519081900360200190f35b61054b61128c565b60408051918252519081900360200190f35b61054b611292565b6106386004803603608081101561057b57600080fd5b6001600160a01b0382351691602081013591810190606081016040820135600160201b8111156105aa57600080fd5b8201836020820111156105bc57600080fd5b803590602001918460208302840111600160201b831117156105dd57600080fd5b919390929091602081019035600160201b8111156105fa57600080fd5b82018360208201111561060c57600080fd5b803590602001918460208302840111600160201b8311171561062d57600080fd5b509092509050611732565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b8381101561067c578181015183820152602001610664565b50505050905001838103825284818151815260200191508051906020019060200280838360005b838110156106bb5781810151838201526020016106a3565b5050505090500194505050505060405180910390f35b610527611d4e565b6102d0611e2f565b6102d0600480360360208110156106f757600080fd5b50356001600160a01b0316611e4c565b6102d06004803603602081101561071d57600080fd5b5035611e60565b61054b6004803603602081101561073a57600080fd5b50356001600160a01b0316611f00565b610527611f1f565b61054b6004803603606081101561076857600080fd5b506001600160a01b038135169060208101359060400135611f43565b6102d06004803603604081101561079a57600080fd5b5080359060200135612052565b610527612194565b6107b76121b8565b604080519115158252519081900360200190f35b6105276121c8565b6102d0600480360360208110156107e957600080fd5b50356121ec565b610527612316565b61054b6004803603604081101561080e57600080fd5b508035906020013561233a565b61052761236e565b6102d06004803603602081101561083957600080fd5b5035151561237d565b610527612674565b610527612698565b61054b6126bc565b6102d06127b6565b610527612952565b6102d0612961565b6108ff6004803603606081101561088857600080fd5b6001600160a01b03823516916001600160e01b031960208201351691810190606081016040820135600160201b8111156108c157600080fd5b8201836020820111156108d357600080fd5b803590602001918460018302840111600160201b831117156108f457600080fd5b509092509050612971565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610939578181015183820152602001610921565b50505050905090810190601f1680156109665780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610527612c76565b610527612c9a565b610527612cbe565b610527612ce2565b6102d0612d06565b6102d0600480360360208110156109b257600080fd5b50356001600160a01b0316612e22565b610527612e33565b6109d43384612e42565b600683600a8111156109e257fe5b1415610a51576109f0612952565b6001600160a01b031682826020811015610a0957600080fd5b50356001600160a01b03161415610a515760405162461bcd60e51b815260040180806020018281038252603a815260200180615b1b603a913960400191505060405180910390fd5b610a5961236e565b6001600160a01b03166324e600128484846040518463ffffffff1660e01b81526004018084600a811115610a8957fe5b8152602001806020018281038252848482818152602001925080828437600081840152601f19601f820116905080830192505050945050505050600060405180830381600087803b158015610add57600080fd5b505af1158015610af1573d6000803e3d6000fd5b50505050505050565b6000610b0461236e565b9050336001600160a01b03821614610b4d5760405162461bcd60e51b815260040180806020018281038252602f815260200180615ac6602f913960400191505060405180910390fd5b610b578185612fd1565b610b5f612674565b604080516001600160a01b038781166020830152868116828401526060808301879052835180840390910181526080830193849052630442bad560e01b90935230608483018181529490911693630442bad5939192600292919060a40183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610bfb578181015183820152602001610be3565b50505050905090810190601f168015610c285780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b158015610c4957600080fd5b505af1158015610c5d573d6000803e3d6000fd5b5050505050505050565b610c77610c7261305b565b61309f565b60018054821515600160a81b810260ff60a81b199092169190911790915560408051918252517f8ccd4cc3a51ed6f61f2b34b8d0a1ac137376931714380a7702b410ed174d6a739181900360200190a150565b6060610cd461316a565b6001805460ff60b81b1916600160b81b1790556000610cf161305b565b9050848314610d315760405162461bcd60e51b815260040180806020018281038252602d8152602001806158a0602d913960400191505060405180910390fd5b610d6d8686808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506131b792505050565b610da85760405162461bcd60e51b81526004018080602001828103825260358152602001806158cd6035913960400191505060405180910390fd5b6000610db2611292565b90506000610dbe61236e565b9050600080610dd183868d60018861324b565b9092509050610df8838d8c8c8c8c610df388610ded8d8c61353d565b90613596565b6135fd565b9550610e3d858d848d8d808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508d92508b91506139079050565b8b6001600160a01b0316856001600160a01b03167fbf88879a1555e4d7d38ebeffabce61fdf5e12ea0468abf855a72ec17b432bed5848d8d8b60405180858152602001806020018060200183810383528686828181526020019250602002808284376000838201819052601f909101601f1916909201858103845286518152865160209182019382890193509102908190849084905b83811015610eeb578181015183820152602001610ed3565b50505050905001965050505050505060405180910390a350505050506001805460ff60b81b191690559695505050505050565b610f26613ad0565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f5be181178e61e61e33f79c396c7194b8f3c80f77899da7bd96fe537411300bcb9181900360200190a150565b6000610f84612952565b6001600160a01b031614610fdf576040805162461bcd60e51b815260206004820152601960248201527f696e69743a20416c726561647920696e697469616c697a656400000000000000604482015290519081900360640190fd5b610fe7611f1f565b6001600160a01b031663c496f8e8836040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561103357600080fd5b505afa158015611047573d6000803e3d6000fd5b505050506040513d602081101561105d57600080fd5b50516110b0576040805162461bcd60e51b815260206004820152601c60248201527f696e69743a204261642064656e6f6d696e6174696f6e20617373657400000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b039390931692909217909155600255565b6110de61316a565b6001805460ff60b81b1916600160b81b1790556110f9613b3d565b6001805460ff60b01b1916600160b01b179055611114612ce2565b6001600160a01b0316846001600160a01b0316148061114b5750611136612c9a565b6001600160a01b0316846001600160a01b0316145b8061116e5750611159612316565b6001600160a01b0316846001600160a01b0316145b6111a95760405162461bcd60e51b81526004018080602001828103825260238152602001806159956023913960400191505060405180910390fd5b836001600160a01b0316631bee801e6111c061305b565b8585856040518563ffffffff1660e01b815260040180856001600160a01b03168152602001848152602001806020018281038252848482818152602001925080828437600081840152601f19601f82011690508083019250505095505050505050600060405180830381600087803b15801561123b57600080fd5b505af115801561124f573d6000803e3d6000fd5b50506001805461ffff60b01b19169055505050505050565b7f00000000000000000000000000000000000000000000000000000000000000005b90565b60025490565b60008061129d61236e565b90506060816001600160a01b031663c4b973706040518163ffffffff1660e01b815260040160006040518083038186803b1580156112da57600080fd5b505afa1580156112ee573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561131757600080fd5b8101908080516040519392919084600160201b82111561133657600080fd5b90830190602082018581111561134b57600080fd5b82518660208202830111600160201b8211171561136757600080fd5b82525081516020918201928201910280838360005b8381101561139457818101518382015260200161137c565b5050505090500160405250505090506060826001600160a01b031663b8b7f1476040518163ffffffff1660e01b815260040160006040518083038186803b1580156113de57600080fd5b505afa1580156113f2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561141b57600080fd5b8101908080516040519392919084600160201b82111561143a57600080fd5b90830190602082018581111561144f57600080fd5b82518660208202830111600160201b8211171561146b57600080fd5b82525081516020918201928201910280838360005b83811015611498578181015183820152602001611480565b505050509050016040525050509050815160001480156114b757508051155b156114c85760009350505050611289565b6060825167ffffffffffffffff811180156114e257600080fd5b5060405190808252806020026020018201604052801561150c578160200160208202803683370190505b50905060005b83518110156115c85783818151811061152757fe5b60200260200101516001600160a01b03166370a08231866040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561157b57600080fd5b505afa15801561158f573d6000803e3d6000fd5b505050506040513d60208110156115a557600080fd5b505182518390839081106115b557fe5b6020908102919091010152600101611512565b506115d1611f1f565b6001600160a01b031663ae6f52ad84836115e9612952565b6040518463ffffffff1660e01b8152600401808060200180602001846001600160a01b03168152602001838103835286818151815260200191508051906020019060200280838360005b8381101561164b578181015183820152602001611633565b50505050905001838103825285818151815260200191508051906020019060200280838360005b8381101561168a578181015183820152602001611672565b5050505090500195505050505050602060405180830381600087803b1580156116b257600080fd5b505af11580156116c6573d6000803e3d6000fd5b505050506040513d60208110156116dc57600080fd5b505182519095501561172b5760005b825181101561172957600061171284838151811061170557fe5b6020026020010151613b9c565b905061171e8782614118565b9650506001016116eb565b505b5050505090565b60608061173d61316a565b6001805460ff60b81b1916600160b81b179055600061175a61305b565b90506117988787808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506131b792505050565b6117d35760405162461bcd60e51b81526004018080602001828103825260398152602001806159b86039913960400191505060405180910390fd5b61180f8585808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506131b792505050565b61184a5760405162461bcd60e51b8152600401808060200182810382526035815260200180615ba06035913960400191505060405180910390fd5b60015460408051630c4b973760e41b815290516119b9926001600160a01b03169163c4b97370916004808301926000929190829003018186803b15801561189057600080fd5b505afa1580156118a4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260208110156118cd57600080fd5b8101908080516040519392919084600160201b8211156118ec57600080fd5b90830190602082018581111561190157600080fd5b82518660208202830111600160201b8211171561191d57600080fd5b82525081516020918201928201910280838360005b8381101561194a578181015183820152602001611932565b5050505090910160208d810282810182016040528e83529195508e94508d935083925085019084908082843760009201919091525050604080516020808c0282810182019093528b82529093508b92508a91829185019084908082843760009201919091525061417292505050565b925060006119c56121b8565b15611a5f57306001600160a01b03166356cff99f6040518163ffffffff1660e01b8152600401602060405180830381600087803b158015611a0557600080fd5b505af1925050508015611a2a57506040513d6020811015611a2557600080fd5b505160015b611a5c576040517ff5939ff9a66cf6d21ec93b246060bc17f5c062847e28d967d3dd617636b238d490600090a1611a5f565b90505b6001546000908190611a7d906001600160a01b0316858d848761324b565b91509150855167ffffffffffffffff81118015611a9957600080fd5b50604051908082528060200260200182016040528015611ac3578160200160208202803683370190505b50945060005b8651811015611c5857611b6d82610ded858a8581518110611ae657fe5b602090810291909101810151600154604080516370a0823160e01b81526001600160a01b039283166004820152905191909216926370a082319260248082019391829003018186803b158015611b3b57600080fd5b505afa158015611b4f573d6000803e3d6000fd5b505050506040513d6020811015611b6557600080fd5b50519061353d565b868281518110611b7957fe5b6020026020010181815250506000868281518110611b9357fe5b60200260200101511115611c505760015487516001600160a01b039091169063495d753c90899084908110611bc457fe5b60200260200101518f898581518110611bd957fe5b60200260200101516040518463ffffffff1660e01b815260040180846001600160a01b03168152602001836001600160a01b031681526020018281526020019350505050600060405180830381600087803b158015611c3757600080fd5b505af1158015611c4b573d6000803e3d6000fd5b505050505b600101611ac9565b508b6001600160a01b0316846001600160a01b03167fbf88879a1555e4d7d38ebeffabce61fdf5e12ea0468abf855a72ec17b432bed5848989604051808481526020018060200180602001838103835285818151815260200191508051906020019060200280838360005b83811015611cdb578181015183820152602001611cc3565b50505050905001838103825284818151815260200191508051906020019060200280838360005b83811015611d1a578181015183820152602001611d02565b505050509050019550505050505060405180910390a3505050506001805460ff60b81b191690559097909650945050505050565b6000611d586121c8565b6001600160a01b03166398a7c4c76040518163ffffffff1660e01b815260040160206040518083038186803b158015611d9057600080fd5b505afa158015611da4573d6000803e3d6000fd5b505050506040513d6020811015611dba57600080fd5b505160408051637da0a87760e01b815290516001600160a01b0390921691637da0a87791600480820192602092909190829003018186803b158015611dfe57600080fd5b505afa158015611e12573d6000803e3d6000fd5b505050506040513d6020811015611e2857600080fd5b5051905090565b611e3a610c7261305b565b611e4a611e45612e33565b614364565b565b611e54613ad0565b611e5d8161439f565b50565b611e686143f3565b611e7061236e565b6001600160a01b031663495d753c611e86611267565b611e8e612e33565b846040518463ffffffff1660e01b815260040180846001600160a01b03168152602001836001600160a01b031681526020018281526020019350505050600060405180830381600087803b158015611ee557600080fd5b505af1158015611ef9573d6000803e3d6000fd5b5050505050565b6001600160a01b0381166000908152600360205260409020545b919050565b7f000000000000000000000000000000000000000000000000000000000000000090565b6000806000611f5061128c565b1190506000611f5d61305b565b9050811580611fe85750611f6f612194565b6001600160a01b03166354391f09826040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015611fbb57600080fd5b505afa158015611fcf573d6000803e3d6000fd5b505050506040513d6020811015611fe557600080fd5b50515b612039576040805162461bcd60e51b815260206004820152601f60248201527f6275795368617265734f6e426568616c663a20556e617574686f72697a656400604482015290519081900360640190fd5b612046868686858561444a565b925050505b9392505050565b61205a613ad0565b612062613b3d565b6001805460ff60b01b1916600160b01b17905561207d61236e565b6001600160a01b031663d5c20fa2826040518263ffffffff1660e01b8152600401600060405180830381600088803b1580156120b857600080fd5b5087f1935050505080156120ca575060015b6120f8576040517f8a7579328a911284dedef6a7e68bbb1eae7d59418f2699cb5a3c26f6e57e4d7790600090a15b612100612ce2565b6001600160a01b031663bd8e959a836040518263ffffffff1660e01b8152600401600060405180830381600088803b15801561213b57600080fd5b5087f19350505050801561214d575060015b61217b576040517f681c534f5c2e473c9cc8ab1693257fb2b0e19a5c5ecd7d040201f1cf2a190c8790600090a15b61218361484e565b50506001805460ff60b01b19169055565b7f000000000000000000000000000000000000000000000000000000000000000090565b600154600160a81b900460ff1690565b7f000000000000000000000000000000000000000000000000000000000000000090565b6001546001600160a01b03168063714ca2d161220661305b565b6040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561224357600080fd5b505afa158015612257573d6000803e3d6000fd5b505050506040513d602081101561226d57600080fd5b50516122aa5760405162461bcd60e51b8152600401808060200182810382526026815260200180615af56026913960400191505060405180910390fd5b60006122b4611292565b9050816001600160a01b0316631ff46bfa846122d185878661489a565b846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b158015610add57600080fd5b7f000000000000000000000000000000000000000000000000000000000000000090565b600080600061234761128c565b119050600061235461305b565b9050612363818686858561444a565b925050505b92915050565b6001546001600160a01b031690565b612385613ad0565b600061238f61236e565b90508115612534576000816001600160a01b03166370a08231836040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156123e657600080fd5b505afa1580156123fa573d6000803e3d6000fd5b505050506040513d602081101561241057600080fd5b50519050801561253257816001600160a01b031663bfc77beb83846001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561246357600080fd5b505afa158015612477573d6000803e3d6000fd5b505050506040513d602081101561248d57600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b0393841660048201529290911660248301526044820185905251606480830192600092919082900301818387803b1580156124e557600080fd5b505af11580156124f9573d6000803e3d6000fd5b50506040805184815290517f8f9ec2c1cf1f95fcb5d89d3141949092850c5cfe04da4d9425dd840bf18cdc709350908190036020019150a15b505b806001600160a01b0316634ef0762e61254b612952565b6040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050600060405180830381600087803b15801561258a57600080fd5b505af115801561259e573d6000803e3d6000fd5b505050506125aa612ce2565b6001600160a01b03166380d57063836040518263ffffffff1660e01b8152600401808215158152602001915050600060405180830381600087803b1580156125f157600080fd5b505af1158015612605573d6000803e3d6000fd5b50505050612611612674565b6001600160a01b03166380d57063836040518263ffffffff1660e01b8152600401808215158152602001915050600060405180830381600087803b15801561265857600080fd5b505af115801561266c573d6000803e3d6000fd5b505050505050565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b6000806126c7611292565b90506127b0816126d561236e565b6001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561270d57600080fd5b505afa158015612721573d6000803e3d6000fd5b505050506040513d602081101561273757600080fd5b5051612741612952565b6001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561277957600080fd5b505afa15801561278d573d6000803e3d6000fd5b505050506040513d60208110156127a357600080fd5b505160ff16600a0a614a1b565b91505090565b6127bf3361309f565b60006127c9612e33565b6001600160a01b03161461280e5760405162461bcd60e51b81526004018080602001828103825260338152602001806159626033913960400191505060405180910390fd5b606061281861236e565b604080516001600160a01b0390921660248084019190915281518084039091018152604490920190526020810180516001600160e01b031663066ad14f60e21b179052905060006128676121c8565b6001600160a01b0316630c0872f5836040518263ffffffff1660e01b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156128c25781810151838201526020016128aa565b50505050905090810190601f1680156128ef5780820380516001836020036101000a031916815260200191505b5092505050602060405180830381600087803b15801561290e57600080fd5b505af1158015612922573d6000803e3d6000fd5b505050506040513d602081101561293857600080fd5b505190506129458161439f565b61294e81614364565b5050565b6000546001600160a01b031690565b612969613ad0565b611e4a61484e565b606061297e610c7261305b565b612986612194565b6001600160a01b0316638c500ea38686868660405180838380828437808301925050509250505060405180910390206040518463ffffffff1660e01b815260040180846001600160a01b03168152602001836001600160e01b0319168152602001828152602001935050505060206040518083038186803b158015612a0a57600080fd5b505afa158015612a1e573d6000803e3d6000fd5b505050506040513d6020811015612a3457600080fd5b5051612a87576040805162461bcd60e51b815260206004820181905260248201527f7661756c7443616c6c4f6e436f6e74726163743a204e6f7420616c6c6f776564604482015290519081900360640190fd5b612a8f61236e565b6001600160a01b031663a90cce4b8686868660405160200180846001600160e01b03191681526004018383808284378083019250505093505050506040516020818303038152906040526040518363ffffffff1660e01b815260040180836001600160a01b0316815260200180602001828103825283818151815260200191508051906020019080838360005b83811015612b34578181015183820152602001612b1c565b50505050905090810190601f168015612b615780820380516001836020036101000a031916815260200191505b509350505050600060405180830381600087803b158015612b8157600080fd5b505af1158015612b95573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526020811015612bbe57600080fd5b8101908080516040519392919084600160201b821115612bdd57600080fd5b908301906020820185811115612bf257600080fd5b8251600160201b811182820188101715612c0b57600080fd5b82525081516020918201929091019080838360005b83811015612c38578181015183820152602001612c20565b50505050905090810190601f168015612c655780820380516001836020036101000a031916815260200191505b506040525050509050949350505050565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b612d0f3361309f565b60048054604080516305fd8c7160e41b815290516001600160a01b0390921692635fd8c71092828201926000929082900301818387803b158015612d5257600080fd5b505af1158015612d66573d6000803e3d6000fd5b50506001546001600160a01b03169150634ef0762e9050612d85611267565b6040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050600060405180830381600087803b158015612dc457600080fd5b505af1158015612dd8573d6000803e3d6000fd5b5050600480546001600160a01b03191690555050604080516000815290517f66756eda85190d0bcec058815fd7e2154167d102e21d96cab701630af02f24739181900360200190a1565b611e5d612e2d61236e565b82612fd1565b6004546001600160a01b031690565b600154600090600160b01b900460ff1615612f9057612e5f612c9a565b6001600160a01b0316836001600160a01b03161415612ed857600482600a811115612e8657fe5b1480612e9d5750600682600a811115612e9b57fe5b145b80612eb35750600782600a811115612eb157fe5b145b80612eca575060055b82600a811115612ec857fe5b145b15612ed3575060015b612f90565b612ee0612ce2565b6001600160a01b0316836001600160a01b03161415612f2b57600282600a811115612f0757fe5b1480612f1e5750600182600a811115612f1c57fe5b145b80612eca57506003612ebc565b612f33612316565b6001600160a01b0316836001600160a01b03161415612f9057600982600a811115612f5a57fe5b1480612f715750600882600a811115612f6f57fe5b145b80612f875750600a82600a811115612f8557fe5b145b15612f90575060015b80612fcc5760405162461bcd60e51b8152600401808060200182810382526033815260200180615a936033913960400191505060405180910390fd5b505050565b6000612fdc82611f00565b9050801580612ffb5750612fee61128c565b612ff84283614a47565b10155b8061300a575061300a83614aa4565b612fcc576040805162461bcd60e51b815260206004820152601860248201527f53686172657320616374696f6e2074696d656c6f636b65640000000000000000604482015290519081900360640190fd5b6000601836108015906130865750613071611d4e565b6001600160a01b0316336001600160a01b0316145b1561309a575060131936013560601c611289565b503390565b6130a761236e565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b1580156130df57600080fd5b505afa1580156130f3573d6000803e3d6000fd5b505050506040513d602081101561310957600080fd5b50516001600160a01b03828116911614611e5d576040805162461bcd60e51b815260206004820152601860248201527f4f6e6c792066756e64206f776e65722063616c6c61626c650000000000000000604482015290519081900360640190fd5b600154600160b81b900460ff1615611e4a576040805162461bcd60e51b815260206004820152600b60248201526a52652d656e7472616e636560a81b604482015290519081900360640190fd5b600060018251116131ca57506001611f1a565b815160005b8181101561324157600181015b82811015613238578481815181106131f057fe5b60200260200101516001600160a01b031685838151811061320d57fe5b60200260200101516001600160a01b031614156132305760009350505050611f1a565b6001016131dc565b506001016131cf565b5060019392505050565b6000806132588787612fd1565b60008790506000816001600160a01b03166370a08231896040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156132ac57600080fd5b505afa1580156132c0573d6000803e3d6000fd5b505050506040513d60208110156132d657600080fd5b505190506000198714156132ec578093506132f0565b8693505b6000841161332f5760405162461bcd60e51b815260040180806020018281038252602881526020018061593a6028913960400191505060405180910390fd5b61333b88858888614bb2565b6000826001600160a01b03166370a082318a6040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561338a57600080fd5b505afa15801561339e573d6000803e3d6000fd5b505050506040513d60208110156133b457600080fd5b505190506000198814156133ca578094506133e9565b818110156133e9576133e66133df8383614a47565b8690614a47565b94505b896001600160a01b031663d5c20fa26040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561342457600080fd5b505af1158015613438573d6000803e3d6000fd5b5050505060008611801561344f575061344f6121b8565b1561345e5761345e8a87614dae565b826001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561349757600080fd5b505afa1580156134ab573d6000803e3d6000fd5b505050506040513d60208110156134c157600080fd5b505160408051633b9e9f0160e21b81526001600160a01b038c81166004830152602482018990529151929650908c169163ee7a7c049160448082019260009290919082900301818387803b15801561351857600080fd5b505af115801561352c573d6000803e3d6000fd5b505050505050509550959350505050565b60008261354c57506000612368565b8282028284828161355957fe5b041461204b5760405162461bcd60e51b81526004018080602001828103825260218152602001806159f16021913960400191505060405180910390fd5b60008082116135ec576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b8183816135f557fe5b049392505050565b60606000613609612952565b905060008667ffffffffffffffff8111801561362457600080fd5b5060405190808252806020026020018201604052801561364e578160200160208202803683370190505b50925060005b878110156138b95761368187878381811061366b57fe5b905060200201358361411890919063ffffffff16565b915061aaaa89898381811061369257fe5b905060200201356001600160a01b03166001600160a01b031614156136b6576138b1565b6136be611f1f565b6001600160a01b0316634c67e106846136f8612710610ded8c8c888181106136e257fe5b905060200201358b61353d90919063ffffffff16565b8c8c8681811061370457fe5b905060200201356001600160a01b03166040518463ffffffff1660e01b815260040180846001600160a01b03168152602001838152602001826001600160a01b031681526020019350505050602060405180830381600087803b15801561376a57600080fd5b505af115801561377e573d6000803e3d6000fd5b505050506040513d602081101561379457600080fd5b505184518590839081106137a457fe5b60200260200101818152505060008482815181106137be57fe5b6020026020010151116138025760405162461bcd60e51b81526004018080602001828103825260388152602001806159026038913960400191505060405180910390fd5b8a6001600160a01b031663495d753c8a8a8481811061381d57fe5b905060200201356001600160a01b03168c87858151811061383a57fe5b60200260200101516040518463ffffffff1660e01b815260040180846001600160a01b03168152602001836001600160a01b031681526020018281526020019350505050600060405180830381600087803b15801561389857600080fd5b505af11580156138ac573d6000803e3d6000fd5b505050505b600101613654565b5061271081146138fa5760405162461bcd60e51b815260040180806020018281038252603b815260200180615834603b913960400191505060405180910390fd5b5050979650505050505050565b61390f612674565b6001600160a01b0316630442bad530600389898989898960405160200180876001600160a01b03168152602001866001600160a01b031681526020018581526020018060200180602001848152602001838103835286818151815260200191508051906020019060200280838360005b8381101561399757818101518382015260200161397f565b50505050905001838103825285818151815260200191508051906020019060200280838360005b838110156139d65781810151838201526020016139be565b50505050905001985050505050505050506040516020818303038152906040526040518463ffffffff1660e01b815260040180846001600160a01b03168152602001836009811115613a2457fe5b815260200180602001828103825283818151815260200191508051906020019080838360005b83811015613a62578181015183820152602001613a4a565b50505050905090810190601f168015613a8f5780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b158015613ab057600080fd5b505af1158015613ac4573d6000803e3d6000fd5b50505050505050505050565b613ad8612194565b6001600160a01b0316336001600160a01b031614611e4a576040805162461bcd60e51b815260206004820152601a60248201527f4f6e6c792046756e644465706c6f7965722063616c6c61626c65000000000000604482015290519081900360640190fd5b600154600160b01b900460ff1615611e4a576040805162461bcd60e51b815260206004820152601860248201527f5661756c7420616374696f6e2072652d656e7472616e63650000000000000000604482015290519081900360640190fd5b6000606080836001600160a01b03166380daddb86040518163ffffffff1660e01b8152600401600060405180830381600087803b158015613bdc57600080fd5b505af1158015613bf0573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040908152811015613c1957600080fd5b8101908080516040519392919084600160201b821115613c3857600080fd5b908301906020820185811115613c4d57600080fd5b82518660208202830111600160201b82111715613c6957600080fd5b82525081516020918201928201910280838360005b83811015613c96578181015183820152602001613c7e565b5050505090500160405260200180516040519392919084600160201b821115613cbe57600080fd5b908301906020820185811115613cd357600080fd5b82518660208202830111600160201b82111715613cef57600080fd5b82525081516020918201928201910280838360005b83811015613d1c578181015183820152602001613d04565b50505050905001604052505050915091506000613d37611f1f565b6001600160a01b031663ae6f52ad8484613d4f612952565b6040518463ffffffff1660e01b8152600401808060200180602001846001600160a01b03168152602001838103835286818151815260200191508051906020019060200280838360005b83811015613db1578181015183820152602001613d99565b50505050905001838103825285818151815260200191508051906020019060200280838360005b83811015613df0578181015183820152602001613dd8565b5050505090500195505050505050602060405180830381600087803b158015613e1857600080fd5b505af1158015613e2c573d6000803e3d6000fd5b505050506040513d6020811015613e4257600080fd5b505160408051633b35962d60e21b8152905191925060609182916001600160a01b0389169163ecd658b49160048082019260009290919082900301818387803b158015613e8e57600080fd5b505af1158015613ea2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040908152811015613ecb57600080fd5b8101908080516040519392919084600160201b821115613eea57600080fd5b908301906020820185811115613eff57600080fd5b82518660208202830111600160201b82111715613f1b57600080fd5b82525081516020918201928201910280838360005b83811015613f48578181015183820152602001613f30565b5050505090500160405260200180516040519392919084600160201b821115613f7057600080fd5b908301906020820185811115613f8557600080fd5b82518660208202830111600160201b82111715613fa157600080fd5b82525081516020918201928201910280838360005b83811015613fce578181015183820152602001613fb6565b50505050905001604052505050915091506000613fe9611f1f565b6001600160a01b031663ae6f52ad8484614001612952565b6040518463ffffffff1660e01b8152600401808060200180602001846001600160a01b03168152602001838103835286818151815260200191508051906020019060200280838360005b8381101561406357818101518382015260200161404b565b50505050905001838103825285818151815260200191508051906020019060200280838360005b838110156140a257818101518382015260200161408a565b5050505090500195505050505050602060405180830381600087803b1580156140ca57600080fd5b505af11580156140de573d6000803e3d6000fd5b505050506040513d60208110156140f457600080fd5b505190508084111561410d5761410a8482614a47565b96505b505050505050919050565b60008282018381101561204b576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60608061417f8584614f7d565b905083516000141561419257905061204b565b6060845167ffffffffffffffff811180156141ac57600080fd5b506040519080825280602002602001820160405280156141d6578160200160208202803683370190505b5090506000805b865181101561423d5761420c8782815181106141f557fe5b60200260200101518561510990919063ffffffff16565b61423557600183828151811061421e57fe5b911515602092830291909101909101526001909101905b6001016141dd565b508061424e5782935050505061204b565b825161425a9082614118565b67ffffffffffffffff8111801561427057600080fd5b5060405190808252806020026020018201604052801561429a578160200160208202803683370190505b50935060005b83518110156142e9578381815181106142b557fe5b60200260200101518582815181106142c957fe5b6001600160a01b03909216602092830291909101909101526001016142a0565b50825160005b87518110156143585783818151811061430457fe5b6020026020010151156143505787818151811061431d57fe5b602002602001015186838151811061433157fe5b6001600160a01b03909216602092830291909101909101526001909101905b6001016142ef565b50505050509392505050565b806001600160a01b031663d0e30db06040518163ffffffff1660e01b8152600401600060405180830381600087803b158015611ee557600080fd5b600480546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f66756eda85190d0bcec058815fd7e2154167d102e21d96cab701630af02f24739181900360200190a150565b6143fb612e33565b6001600160a01b0316336001600160a01b031614611e4a5760405162461bcd60e51b8152600401808060200182810382526021815260200180615b7f6021913960400191505060405180910390fd5b600061445461316a565b6001805460ff60b81b1916600160b81b17905561446f613b3d565b6001805460ff60b01b1916600160b01b179055836144be5760405162461bcd60e51b815260040180806020018281038252602a815260200180615a38602a913960400191505060405180910390fd5b60006144c861236e565b90508315806144dd57506144db81614aa4565b155b6145185760405162461bcd60e51b8152600401808060200182810382526031815260200180615a626031913960400191505060405180910390fd5b6000614522611292565b905061452f88888361515f565b816001600160a01b031663d5c20fa26040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561456a57600080fd5b505af115801561457e573d6000803e3d6000fd5b5050505061458a6121b8565b15614599576145998282614dae565b60006145ae6145a6612952565b86858b615244565b905060006145ef83856001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561270d57600080fd5b9050600061460982610ded85670de0b6b3a764000061353d565b90506000856001600160a01b03166370a082318d6040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561465a57600080fd5b505afa15801561466e573d6000803e3d6000fd5b505050506040513d602081101561468457600080fd5b5051604080516329460cc560e11b81526001600160a01b038f811660048301526024820186905291519293509088169163528c198a9160448082019260009290919082900301818387803b1580156146db57600080fd5b505af11580156146ef573d6000803e3d6000fd5b505050506146ff8c858488615332565b61478281876001600160a01b03166370a082318f6040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561475057600080fd5b505afa158015614764573d6000803e3d6000fd5b505050506040513d602081101561477a57600080fd5b505190614a47565b9650898710156147c35760405162461bcd60e51b815260040180806020018281038252603181526020018061586f6031913960400191505060405180910390fd5b88156147e5576001600160a01b038c1660009081526003602052604090204290555b604080518581526020810184905280820189905290516001600160a01b038e16917f849165c18b9d0fb161bcb145e4ab523d350e5c98f1dbbb1960331e7ee3ca6767919081900360600190a25050505050506001805461ffff60b01b1916905595945050505050565b600154600160a01b900460ff16156148975760405162461bcd60e51b8152600401808060200182810382526026815260200180615a126026913960400191505060405180910390fd5b30ff5b6000806148a5612952565b9050600061495284876001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156148e657600080fd5b505afa1580156148fa573d6000803e3d6000fd5b505050506040513d602081101561491057600080fd5b50516040805163313ce56760e01b815290516001600160a01b0387169163313ce567916004808301926020929190829003018186803b15801561277957600080fd5b9050600061496c670de0b6b3a7640000610ded848961353d565b9050614976611f1f565b6001600160a01b0316634c67e106848361498e612c76565b6040518463ffffffff1660e01b815260040180846001600160a01b03168152602001838152602001826001600160a01b031681526020019350505050602060405180830381600087803b1580156149e457600080fd5b505af11580156149f8573d6000803e3d6000fd5b505050506040513d6020811015614a0e57600080fd5b5051979650505050505050565b600082614a2957508061204b565b614a3f83610ded86670de0b6b3a764000061353d565b949350505050565b600082821115614a9e576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6000614aae612cbe565b6001600160a01b031663d0449d3d836040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015614afa57600080fd5b505afa158015614b0e573d6000803e3d6000fd5b505050506040513d6020811015614b2457600080fd5b5051806123685750614b34612194565b6001600160a01b0316636c579e57836040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015614b8057600080fd5b505afa158015614b94573d6000803e3d6000fd5b505050506040513d6020811015614baa57600080fd5b505192915050565b614bba613b3d565b6001805460ff60b01b1916600160b01b179055614bd5612ce2565b604080516001600160a01b038781166020830152818301879052851515606080840191909152835180840390910181526080830193849052631dd6705960e21b9093529290921691637759c1649160039185906084018084815260200180602001838152602001828103825284818151815260200191508051906020019080838360005b83811015614c71578181015183820152602001614c59565b50505050905090810190601f168015614c9e5780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b158015614cbf57600080fd5b505af1925050508015614cd0575060015b614d9b573d808015614cfe576040519150601f19603f3d011682016040523d82523d6000602084013e614d03565b606091505b50846001600160a01b0316816040518082805190602001908083835b60208310614d3e5780518252601f199092019160209182019101614d1f565b51815160209384036101000a6000190180199092169116179052604080519290940182900382208b835293519395507fb3ea7e5141baf21804d12f5a635e83e0cb869c8b06b88648364769f85aa73fc294509083900301919050a3505b50506001805460ff60b01b191690555050565b6000826001600160a01b03166370a08231614dc7612698565b6040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015614e0457600080fd5b505afa158015614e18573d6000803e3d6000fd5b505050506040513d6020811015614e2e57600080fd5b505190506000614e3f84838561489a565b9050836001600160a01b0316631ff46bfa8383866040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b158015614e9757600080fd5b505af1925050508015614ea8575060015b614f77573d808015614ed6576040519150601f19603f3d011682016040523d82523d6000602084013e614edb565b606091505b50806040518082805190602001908083835b60208310614f0c5780518252601f199092019160209182019101614eed565b51815160209384036101000a6000190180199092169116179052604080519290940182900382208983529082018890528184018a905292519294507f0917b727c8497d0fc305acafacb424e8c9b12715d2b9b19bee777ef9d134f08f935060609083900301919050a2505b50505050565b6060815160001415614f90575081612368565b6060835167ffffffffffffffff81118015614faa57600080fd5b50604051908082528060200260200182016040528015614fd4578160200160208202803683370190505b50845190915060005b85518110156150365761500385878381518110614ff657fe5b6020026020010151615109565b1561502e57600183828151811061501657fe5b91151560209283029190910190910152600019909101905b600101614fdd565b50845181141561504857849250615101565b8015615101578067ffffffffffffffff8111801561506557600080fd5b5060405190808252806020026020018201604052801561508f578160200160208202803683370190505b5092506000805b86518110156150fe578381815181106150ab57fe5b60200260200101516150f6578681815181106150c357fe5b60200260200101518583815181106150d757fe5b6001600160a01b03909216602092830291909101909101526001909101905b600101615096565b50505b505092915050565b6000805b83518110156151555783818151811061512257fe5b60200260200101516001600160a01b0316836001600160a01b0316141561514d576001915050612368565b60010161510d565b5060009392505050565b615167612ce2565b604080516001600160a01b0386811660208301528183018690528251808303840181526060830193849052631dd6705960e21b9093529290921691637759c1649160019185906064018084815260200180602001838152602001828103825284818151815260200191508051906020019080838360005b838110156151f65781810151838201526020016151de565b50505050905090810190601f1680156152235780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b158015610add57600080fd5b600080856001600160a01b03166370a08231856040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561529457600080fd5b505afa1580156152a8573d6000803e3d6000fd5b505050506040513d60208110156152be57600080fd5b505190506152d76001600160a01b03871686868661555d565b61532881876001600160a01b03166370a08231876040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561475057600080fd5b9695505050505050565b600061533e8285614118565b9050615348612ce2565b604080516001600160a01b0388811660208301528183018890526060808301889052835180840390910181526080830193849052631dd6705960e21b9093529290921691637759c1649160029185906084018084815260200180602001838152602001828103825284818151815260200191508051906020019080838360005b838110156153e05781810151838201526020016153c8565b50505050905090810190601f16801561540d5780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b15801561542e57600080fd5b505af1158015615442573d6000803e3d6000fd5b5050505061544e612674565b604080516001600160a01b0388811660208301528183018890526060820187905260808083018690528351808403909101815260a0830193849052630442bad560e01b9093523060a483018181529490911693630442bad5939192600092919060c40183815260200180602001828103825283818151815260200191508051906020019080838360005b838110156154f05781810151838201526020016154d8565b50505050905090810190601f16801561551d5780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b15801561553e57600080fd5b505af1158015615552573d6000803e3d6000fd5b505050505050505050565b604080516001600160a01b0380861660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052614f779085906060615607826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166156639092919063ffffffff16565b805190915015612fcc5780806020019051602081101561562657600080fd5b5051612fcc5760405162461bcd60e51b815260040180806020018281038252602a815260200180615b55602a913960400191505060405180910390fd5b6060614a3f84846000858561567785615789565b6156c8576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b602083106157075780518252601f1990920191602091820191016156e8565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114615769576040519150601f19603f3d011682016040523d82523d6000602084013e61576e565b606091505b509150915061577e82828661578f565b979650505050505050565b3b151590565b6060831561579e57508161204b565b8251156157ae5782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156157f85781810151838201526020016157e0565b50505050905090810190601f1680156158255780820380516001836020036101000a031916815260200191505b509250505060405180910390fdfe5f5f7061796f7574537065636966696564417373657450657263656e74616765733a2050657263656e7473206d75737420746f74616c20313030255f5f6275795368617265733a20536861726573207265636569766564203c205f6d696e5368617265735175616e7469747972656465656d536861726573466f7253706563696669634173736574733a20556e657175616c2061727261797372656465656d536861726573466f7253706563696669634173736574733a204475706c6963617465207061796f75742061737365745f5f7061796f7574537065636966696564417373657450657263656e74616765733a205a65726f20616d6f756e7420666f722061737365745f5f72656465656d53686172657353657475703a204e6f2073686172657320746f2072656465656d6465706c6f7947617352656c61795061796d61737465723a205061796d617374657220616c7265616479206465706c6f79656463616c6c4f6e457874656e73696f6e3a205f657874656e73696f6e20696e76616c696472656465656d536861726573496e4b696e643a205f6164646974696f6e616c41737365747320636f6e7461696e73206475706c696361746573536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775f5f73656c6644657374727563743a204f6e6c792064656c65676174652063616c6c61626c655f5f6275795368617265733a205f6d696e5368617265735175616e74697479206d757374206265203e305f5f6275795368617265733a2050656e64696e67206d6967726174696f6e206f72207265636f6e66696775726174696f6e5f5f6173736572745065726d697373696f6e65645661756c74416374696f6e3a20416374696f6e206e6f7420616c6c6f7765647072655472616e73666572536861726573486f6f6b3a204f6e6c79205661756c7450726f78792063616c6c61626c656275794261636b50726f746f636f6c4665655368617265733a20556e617574686f72697a65647065726d697373696f6e65645661756c74416374696f6e3a2043616e6e6f7420756e747261636b2064656e6f6d696e6174696f6e2061737365745361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565644f6e6c79204761732052656c6179205061796d61737465722063616c6c61626c6572656465656d536861726573496e4b696e643a205f617373657473546f536b697020636f6e7461696e73206475706c696361746573a164736f6c634300060c000a", "sourceMap": "1401:51695:79:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13009:583;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;13009:583:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;13009:583:79;;;;;;;;;;-1:-1:-1;13009:583:79;;-1:-1:-1;13009:583:79;-1:-1:-1;13009:583:79;:::i;:::-;;45343:566;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;45343:566:79;;;;;;;;;;;;;;;;;:::i;10878:283::-;;;;;;;;;;;;;;;;-1:-1:-1;10878:283:79;;;;:::i;31864:1668::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;31864:1668:79;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;31864:1668:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;31864:1668:79;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;31864:1668:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;31864:1668:79;;;;;;;;;;-1:-1:-1;31864:1668:79;;-1:-1:-1;31864:1668:79;-1:-1:-1;31864:1668:79;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16615:162;;;;;;;;;;;;;;;;-1:-1:-1;16615:162:79;-1:-1:-1;;;;;16615:162:79;;:::i;15913:456::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;15913:456:79;;;;;;;;:::i;8022:528::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8022:528:79;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;8022:528:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;8022:528:79;;;;;;;;;;-1:-1:-1;8022:528:79;;-1:-1:-1;8022:528:79;-1:-1:-1;8022:528:79;:::i;51144:99::-;;;:::i;:::-;;;;-1:-1:-1;;;;;51144:99:79;;;;;;;;;;;;;;52740:131;;;:::i;:::-;;;;;;;;;;;;;;;;20411:1100;;;:::i;34917:2993::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;34917:2993:79;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;34917:2993:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;34917:2993:79;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;34917:2993:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;34917:2993:79;;;;;;;;;;-1:-1:-1;34917:2993:79;;-1:-1:-1;34917:2993:79;-1:-1:-1;34917:2993:79;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1880:260:230;;;:::i;47036:126:79:-;;;:::i;47621:188::-;;;;;;;;;;;;;;;;-1:-1:-1;47621:188:79;-1:-1:-1;;;;;47621:188:79;;:::i;47293:193::-;;;;;;;;;;;;;;;;-1:-1:-1;47293:193:79;;:::i;52389:208::-;;;;;;;;;;;;;;;;-1:-1:-1;52389:208:79;-1:-1:-1;;;;;52389:208:79;;:::i;50912:120::-;;;:::i;24263:736::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;24263:736:79;;;;;;;;;;;;;:::i;18700:962::-;;;;;;;;;;;;;;;;-1:-1:-1;18700:962:79;;;;;;;:::i;49671:117::-;;;:::i;51476:140::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;1584:174:230;;;:::i;10140:484:79:-;;;;;;;;;;;;;;;;-1:-1:-1;10140:484:79;;:::i;49137:187::-;;;:::i;25284:496::-;;;;;;;;;;;;;;;;-1:-1:-1;25284:496:79;;;;;;;:::i;52984:110::-;;;:::i;17020:1044::-;;;;;;;;;;;;;;;;-1:-1:-1;17020:1044:79;;;;:::i;50391:120::-;;;:::i;50652:127::-;;;:::i;21749:353::-;;;:::i;46437:537::-;;;:::i;51750:131::-;;;:::i;19739:99::-;;;:::i;8852:603::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8852:603:79;;;;-1:-1:-1;;;;;;8852:603:79;;;;;;;;;;;;;;;;-1:-1:-1;;;8852:603:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;8852:603:79;;;;;;;;;;-1:-1:-1;8852:603:79;;-1:-1:-1;8852:603:79;-1:-1:-1;8852:603:79;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;50171:96;;;:::i;49927:135::-;;;:::i;48880:101::-;;;:::i;49439:111::-;;;:::i;47938:284::-;;;:::i;46113:165::-;;;;;;;;;;;;;;;;-1:-1:-1;46113:165:79;-1:-1:-1;;;;;46113:165:79;;:::i;52015:131::-;;;:::i;13009:583::-;13146:52;13178:10;13190:7;13146:31;:52::i;:::-;13261:37;13250:7;:48;;;;;;;;;13246:256;;;13377:22;:20;:22::i;:::-;-1:-1:-1;;;;;13339:60:79;13350:11;;13339:34;;;;;;;;;;-1:-1:-1;13339:34:79;-1:-1:-1;;;;;13339:34:79;:60;;13314:177;;;;-1:-1:-1;;;13314:177:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13519:15;:13;:15::i;:::-;-1:-1:-1;;;;;13512:51:79;;13564:7;13573:11;;13512:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13009:583;;;:::o;45343:566::-;45486:22;45511:15;:13;:15::i;:::-;45486:40;-1:-1:-1;45544:10:79;-1:-1:-1;;;;;45544:28:79;;;45536:88;;;;-1:-1:-1;;;45536:88:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;45634:58;45668:14;45684:7;45634:33;:58::i;:::-;45718:18;:16;:18::i;:::-;45852:40;;;-1:-1:-1;;;;;45852:40:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;45703:199:79;;;45776:4;45703:199;;;;;;:51;;;;;;;45776:4;;45795:43;;45852:40;45703:199;;;45795:43;45703:199;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;45343:566;;;;:::o;10878:283::-;4993:30;5009:13;:11;:13::i;:::-;4993:15;:30::i;:::-;11008:28:::1;:64:::0;;;::::1;;-1:-1:-1::0;;;11008:64:79;::::1;-1:-1:-1::0;;;;11008:64:79;;::::1;::::0;;;::::1;::::0;;;11088:66:::1;::::0;;;;;;::::1;::::0;;;;::::1;::::0;;::::1;10878:283:::0;:::o;31864:1668::-;32098:31;4661:29;:27;:29::i;:::-;4719:4;4700:23;;-1:-1:-1;;;;4700:23:79;-1:-1:-1;;;4700:23:79;;;;32167:13:::1;:11;:13::i;:::-;32141:39:::0;-1:-1:-1;32211:54:79;;::::1;32190:146;;;;-1:-1:-1::0;;;32190:146:79::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;32367:27;:13;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;32367:25:79::1;::::0;-1:-1:-1;;;32367:27:79:i:1;:::-;32346:127;;;;-1:-1:-1::0;;;32346:127:79::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;32484:11;32498:9;:7;:9::i;:::-;32484:23;;32518:25;32553:15;:13;:15::i;:::-;32518:51;;32580:22;32604:20:::0;32628:154:::1;32661:18;32693:15;32722;32751:4;32769:3;32628:19;:154::i;:::-;32579:203:::0;;-1:-1:-1;32579:203:79;-1:-1:-1;32810:218:79::1;32857:18:::0;32889:10;32913:13;;32940:23;;32977:41:::1;32579:203:::0;32977:23:::1;:3:::0;32579:203;32977:7:::1;:23::i;:::-;:27:::0;::::1;:41::i;:::-;32810:33;:218::i;:::-;32793:235;;33115:202;33168:15;33197:10;33221:14;33249:13;;33115:202;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;33276:14:79;;-1:-1:-1;33304:3:79;;-1:-1:-1;33115:39:79::1;::::0;-1:-1:-1;33115:202:79:i:1;:::-;33390:10;-1:-1:-1::0;;;;;33333:160:79::1;33361:15;-1:-1:-1::0;;;;;33333:160:79::1;;33414:14;33442:13;;33469:14;33333:160;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;;::::1;::::0;;;::::1;::::0;;::::1;-1:-1:-1::0;;33333:160:79::1;::::0;;::::1;::::0;;::::1;::::0;;;;;;;;::::1;::::0;;::::1;::::0;;;::::1;::::0;-1:-1:-1;33333:160:79;::::1;::::0;;;;;;;::::1;;;;;;;::::0;;::::1;::::0;;;::::1;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;33504:21;;;;;4744:16:::0;:24;;-1:-1:-1;;;;4744:24:79;;;31864:1668;;-1:-1:-1;;;;;;31864:1668:79:o;16615:162::-;4819:24;:22;:24::i;:::-;16704:10:::1;:24:::0;;-1:-1:-1;;;;;16704:24:79;::::1;-1:-1:-1::0;;;;;;16704:24:79;;::::1;::::0;::::1;::::0;;;16744:26:::1;::::0;;;;;;::::1;::::0;;;;::::1;::::0;;::::1;16615:162:::0;:::o;15913:456::-;16056:1;16022:22;:20;:22::i;:::-;-1:-1:-1;;;;;16022:36:79;;16014:74;;;;;-1:-1:-1;;;16014:74:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;16137:21;:19;:21::i;:::-;-1:-1:-1;;;;;16119:66:79;;16186:18;16119:86;;;;;;;;;;;;;-1:-1:-1;;;;;16119:86:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;16119:86:79;16098:161;;;;;-1:-1:-1;;;16098:161:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;16270:17;:38;;-1:-1:-1;;;;;;16270:38:79;-1:-1:-1;;;;;16270:38:79;;;;;;;;;;;16318:20;:44;15913:456::o;8022:528::-;4661:29;:27;:29::i;:::-;4719:4;4700:23;;-1:-1:-1;;;;4700:23:79;-1:-1:-1;;;4700:23:79;;;4462:43:::1;:41;:43::i;:::-;4548:4;4515:37:::0;;-1:-1:-1;;;;4515:37:79::1;-1:-1:-1::0;;;4515:37:79::1;::::0;;8251:15:::2;:13;:15::i;:::-;-1:-1:-1::0;;;;;8237:29:79::2;:10;-1:-1:-1::0;;;;;8237:29:79::2;;:86;;;;8300:23;:21;:23::i;:::-;-1:-1:-1::0;;;;;8286:37:79::2;:10;-1:-1:-1::0;;;;;8286:37:79::2;;8237:86;:148;;;;8357:28;:26;:28::i;:::-;-1:-1:-1::0;;;;;8343:42:79::2;:10;-1:-1:-1::0;;;;;8343:42:79::2;;8237:148;8216:230;;;;-1:-1:-1::0;;;8216:230:79::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8468:10;-1:-1:-1::0;;;;;8457:49:79::2;;8507:13;:11;:13::i;:::-;8522:9;8533;;8457:86;;;;;;;;;;;;;-1:-1:-1::0;;;;;8457:86:79::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;-1:-1:-1::0;;4573:30:79::1;:38:::0;;-1:-1:-1;;;;4744:24:79;;;-1:-1:-1;;;;;;8022:528:79:o;51144:99::-;51226:10;51144:99;;:::o;52740:131::-;52844:20;;52740:131;:::o;20411:1100::-;20455:12;20479:25;20507:15;:13;:15::i;:::-;20479:43;;20532:23;20565:17;-1:-1:-1;;;;;20558:42:79;;:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;20558:44:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;20558:44:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;20558:44:79;;;;;;;;;;;;-1:-1:-1;20558:44:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20532:70;;20612:34;20656:17;-1:-1:-1;;;;;20649:65:79;;:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;20649:67:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;20649:67:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;20649:67:79;;;;;;;;;;;;-1:-1:-1;20649:67:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20612:104;;20731:6;:13;20748:1;20731:18;:51;;;;-1:-1:-1;20753:24:79;;:29;20731:51;20727:90;;;20805:1;20798:8;;;;;;;20727:90;20827:25;20869:6;:13;20855:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;20855:28:79;;20827:56;;20898:9;20893:124;20913:6;:13;20909:1;:17;20893:124;;;20967:6;20974:1;20967:9;;;;;;;;;;;;;;-1:-1:-1;;;;;20961:26:79;;20988:17;20961:45;;;;;;;;;;;;;-1:-1:-1;;;;;20961:45:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;20961:45:79;20947:11;;:8;;20956:1;;20947:11;;;;;;;;;;;;;;;:59;20928:3;;20893:124;;;;21052:21;:19;:21::i;:::-;-1:-1:-1;;;;;21034:70:79;;21118:6;21138:8;21160:22;:20;:22::i;:::-;21034:158;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;21034:158:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;21034:158:79;21207:24;;21034:158;;-1:-1:-1;21207:28:79;21203:280;;21256:9;21251:222;21271:17;:24;21267:1;:28;21251:222;;;21320:29;21352:49;21380:17;21398:1;21380:20;;;;;;;;;;;;;;21352:27;:49::i;:::-;21320:81;-1:-1:-1;21427:31:79;:4;21320:81;21427:8;:31::i;:::-;21420:38;-1:-1:-1;;21297:3:79;;21251:222;;;;21203:280;21493:11;;;;20411:1100;:::o;34917:2993::-;35158:30;35190:31;4661:29;:27;:29::i;:::-;4719:4;4700:23;;-1:-1:-1;;;;4700:23:79;-1:-1:-1;;;4700:23:79;;;;35263:13:::1;:11;:13::i;:::-;35237:39;;35307:31;:17;;:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;35307:29:79::1;::::0;-1:-1:-1;;;35307:31:79:i:1;:::-;35286:135;;;;-1:-1:-1::0;;;35286:135:79::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;35452:27;:13;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;35452:25:79::1;::::0;-1:-1:-1;;;35452:27:79:i:1;:::-;35431:127;;;;-1:-1:-1::0;;;35431:127:79::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;36069:10;::::0;36062:37:::1;::::0;;-1:-1:-1;;;36062:37:79;;;;36019:148:::1;::::0;-1:-1:-1;;;;;36069:10:79::1;::::0;36062:35:::1;::::0;:37:::1;::::0;;::::1;::::0;36069:10:::1;::::0;36062:37;;;;;;;36069:10;36062:37;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;::::0;;::::1;-1:-1:-1::0;;36062:37:79::1;::::0;::::1;;::::0;::::1;::::0;::::1;;;;;::::0;::::1;;;;;;;;;;;;;;;-1:-1:-1::0;;;36062:37:79::1;;;;;;::::0;::::1;;::::0;;::::1;::::0;::::1;::::0;::::1;::::0;;::::1;;;;;::::0;::::1;;;;;;;;;;;-1:-1:-1::0;;;36062:37:79::1;;;;;;;::::0;::::1;;::::0;;-1:-1:-1;36062:37:79;;::::1;::::0;;::::1;::::0;;::::1;::::0;::::1;::::0;;;::::1;;;;;;;;::::0;;::::1;::::0;;;::::1;::::0;::::1;;;;;-1:-1:-1::0;;;;36062:37:79;;::::1;36019:148;::::0;;::::1;::::0;;;;;36062:37:::1;36019:148:::0;;;;36062:37;;-1:-1:-1;36113:17:79;;-1:-1:-1;36019:148:79;;-1:-1:-1;36019:148:79;;-1:-1:-1;36019:148:79;::::1;::::0;36113:17;;36019:148;36113:17;36019:148;::::1;;::::0;::::1;::::0;;;;-1:-1:-1;;36019:148:79::1;::::0;;::::1;::::0;;::::1;::::0;;;;;;;;;;;;;-1:-1:-1;36144:13:79;;-1:-1:-1;36144:13:79;;;;36019:148;::::1;::::0;36144:13;;36019:148;36144:13;36019:148;::::1;;::::0;::::1;::::0;;;;-1:-1:-1;36019:29:79::1;::::0;-1:-1:-1;;;36019:148:79:i:1;:::-;36003:164;;36342:17;36373:34;:32;:34::i;:::-;36369:432;;;36628:4;-1:-1:-1::0;;;;;36628:12:79::1;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;36628:14:79;::::1;;36624:167;;36743:33;::::0;::::1;::::0;;;::::1;36624:167;;;36695:3:::0;-1:-1:-1;36624:167:79::1;36900:10;::::0;36812:22:::1;::::0;;;36860:161:::1;::::0;-1:-1:-1;;;;;36900:10:79::1;36925:15:::0;36954;36812:22;37002:9;36860:19:::1;:161::i;:::-;36811:210;;;;37136:13;:20;37122:35;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;-1:-1:-1;37122:35:79::1;;37105:52;;37172:9;37167:512;37187:13;:20;37183:1;:24;37167:512;;;37248:134;37369:12;37248:99;37332:14;37254:13;37268:1;37254:16;;;;;;;;;::::0;;::::1;::::0;;;;;;;37299:10:::1;::::0;37248:62:::1;::::0;;-1:-1:-1;;;37248:62:79;;-1:-1:-1;;;;;37299:10:79;;::::1;37248:62;::::0;::::1;::::0;;;:50;;;::::1;::::0;::::1;::::0;:62;;;;;;;;;;;:50;:62;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;37248:62:79;;:83:::1;:99::i;:134::-;37228:14;37243:1;37228:17;;;;;;;;;;;;;:154;;;::::0;::::1;37472:1;37452:14;37467:1;37452:17;;;;;;;;;;;;;;:21;37448:221;;;37500:10;::::0;37549:16;;-1:-1:-1;;;;;37500:10:79;;::::1;::::0;37493:34:::1;::::0;37549:13;;37563:1;;37549:16;::::1;;;;;;;;;;;37587:10;37619:14;37634:1;37619:17;;;;;;;;;;;;;;37493:161;;;;;;;;;;;;;-1:-1:-1::0;;;;;37493:161:79::1;;;;;;-1:-1:-1::0;;;;;37493:161:79::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;37448:221;37209:3;;37167:512;;;;37751:10;-1:-1:-1::0;;;;;37694:160:79::1;37722:15;-1:-1:-1::0;;;;;37694:160:79::1;;37775:14;37803:13;37830:14;37694:160;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;;::::1;::::0;;;::::1;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;;::::1;::::0;;;::::1;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;37865:38;;;;4744:16:::0;:24;;-1:-1:-1;;;;4744:24:79;;;34917:2993;;;;-1:-1:-1;34917:2993:79;-1:-1:-1;;;;;34917:2993:79:o;1880:260:230:-;1940:25;2052:29;:27;:29::i;:::-;-1:-1:-1;;;;;2032:66:230;;:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2032:68:230;1996:137;;;-1:-1:-1;;;1996:137:230;;;;-1:-1:-1;;;;;1996:135:230;;;;;;:137;;;;;2032:68;;1996:137;;;;;;;;:135;:137;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1996:137:230;;-1:-1:-1;1880:260:230;:::o;47036:126:79:-;4993:30;5009:13;:11;:13::i;4993:30::-;47103:52:::1;47132:22;:20;:22::i;:::-;47103:28;:52::i;:::-;47036:126::o:0;47621:188::-;4819:24;:22;:24::i;:::-;47756:46:::1;47779:22;47756;:46::i;:::-;47621:188:::0;:::o;47293:193::-;4909:29;:27;:29::i;:::-;47398:15:::1;:13;:15::i;:::-;-1:-1:-1::0;;;;;47391:39:79::1;;47431:14;:12;:14::i;:::-;47447:22;:20;:22::i;:::-;47471:7;47391:88;;;;;;;;;;;;;-1:-1:-1::0;;;;;47391:88:79::1;;;;;;-1:-1:-1::0;;;;;47391:88:79::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;47293:193:::0;:::o;52389:208::-;-1:-1:-1;;;;;52553:37:79;;52496:34;52553:37;;;:31;:37;;;;;;52389:208;;;;:::o;50912:120::-;51008:17;50912:120;:::o;24263:736::-;24409:23;24444:28;24503:1;24475:25;:23;:25::i;:::-;:29;24444:60;;24514:23;24540:13;:11;:13::i;:::-;24514:39;;24586:23;24585:24;:126;;;;24643:17;:15;:17::i;:::-;-1:-1:-1;;;;;24629:65:79;;24695:15;24629:82;;;;;;;;;;;;;-1:-1:-1;;;;;24629:82:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;24629:82:79;24585:126;24564:204;;;;;-1:-1:-1;;;24564:204:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;24798:194;24827:6;24851:17;24886:18;24922:23;24963:15;24798:11;:194::i;:::-;24779:213;;;;24263:736;;;;;;:::o;18700:962::-;4819:24;:22;:24::i;:::-;4462:43:::1;:41;:43::i;:::-;4548:4;4515:37:::0;;-1:-1:-1;;;;4515:37:79::1;-1:-1:-1::0;;;4515:37:79::1;::::0;;19059:15:::2;:13;:15::i;:::-;-1:-1:-1::0;;;;;19052:38:79::2;;19096:23;19052:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;19048:150;;19151:36;::::0;::::2;::::0;;;::::2;19048:150;19481:15;:13;:15::i;:::-;-1:-1:-1::0;;;;;19470:45:79::2;;19521:29;19470:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;19454:175;;19590:28;::::0;::::2;::::0;;;::::2;19454:175;19639:16;:14;:16::i;:::-;-1:-1:-1::0;;4573:30:79::1;:38:::0;;-1:-1:-1;;;;4573:38:79::1;::::0;;18700:962::o;49671:117::-;49768:13;49671:117;:::o;51476:140::-;51581:28;;-1:-1:-1;;;51581:28:79;;;;;51476:140::o;1584:174:230:-;1724:27;1584:174;:::o;10140:484:79:-;10241:10;;-1:-1:-1;;;;;10241:10:79;;10282:38;10321:13;:11;:13::i;:::-;10282:53;;;;;;;;;;;;;-1:-1:-1;;;;;10282:53:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10282:53:79;10261:138;;;;-1:-1:-1;;;10261:138:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10410:11;10424:9;:7;:9::i;:::-;10410:23;;10451:14;-1:-1:-1;;;;;10444:47:79;;10505:13;10532:58;10555:14;10571:13;10586:3;10532:22;:58::i;:::-;10604:3;10444:173;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49137:187;49292:25;49137:187;:::o;25284:496::-;25392:23;25431:28;25490:1;25462:25;:23;:25::i;:::-;:29;25431:60;;25501:23;25527:13;:11;:13::i;:::-;25501:39;;25570:203;25599:15;25632:17;25667:18;25703:23;25744:15;25570:11;:203::i;:::-;25551:222;;;;25284:496;;;;;:::o;52984:110::-;53077:10;;-1:-1:-1;;;;;53077:10:79;52984:110;:::o;17020:1044::-;4819:24;:22;:24::i;:::-;17102:22:::1;17127:15;:13;:15::i;:::-;17102:40;;17157:12;17153:663;;;17440:17;17466:14;-1:-1:-1::0;;;;;17460:31:79::1;;17492:14;17460:47;;;;;;;;;;;;;-1:-1:-1::0;;;;;17460:47:79::1;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;17460:47:79;;-1:-1:-1;17525:13:79;;17521:285:::1;;17565:14;-1:-1:-1::0;;;;;17558:37:79::1;;17617:14;17660;-1:-1:-1::0;;;;;17653:31:79::1;;:33;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;17653:33:79;17558:177:::1;::::0;;-1:-1:-1;;;;;;17558:177:79::1;::::0;;;;;;-1:-1:-1;;;;;17558:177:79;;::::1;;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;;;;-1:-1:-1;;17558:177:79;;;;;;;-1:-1:-1;17558:177:79;;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;17759:32:79::1;::::0;;;;;;;::::1;::::0;-1:-1:-1;17759:32:79;;;;::::1;::::0;;-1:-1:-1;17759:32:79::1;17521:285;17153:663;;17833:14;-1:-1:-1::0;;;;;17826:38:79::1;;17865:22;:20;:22::i;:::-;17826:62;;;;;;;;;;;;;-1:-1:-1::0;;;;;17826:62:79::1;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;17941:15;:13;:15::i;:::-;-1:-1:-1::0;;;;;17930:43:79::1;;17974:12;17930:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;18008:18;:16;:18::i;:::-;-1:-1:-1::0;;;;;17997:46:79::1;;18044:12;17997:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;4853:1;17020:1044:::0;:::o;50391:120::-;50490:14;50391:120;:::o;50652:127::-;50752:20;50652:127;:::o;21749:353::-;21807:24;21843:11;21857:9;:7;:9::i;:::-;21843:23;;21896:165;21931:3;21954:15;:13;:15::i;:::-;-1:-1:-1;;;;;21948:34:79;;:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;21948:36:79;22016:22;:20;:22::i;:::-;-1:-1:-1;;;;;22010:38:79;;:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;22010:40:79;22002:49;;21998:2;:53;21896:21;:165::i;:::-;21877:184;;22072:23;21749:353;:::o;46437:537::-;5090:27;5106:10;5090:15;:27::i;:::-;46568:1:::1;46534:22;:20;:22::i;:::-;-1:-1:-1::0;;;;;46534:36:79::1;;46513:134;;;;-1:-1:-1::0;;;46513:134:79::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;46658:26;46728:15;:13;:15::i;:::-;46687:57;::::0;;-1:-1:-1;;;;;46687:57:79;;::::1;;::::0;;::::1;::::0;;;;;;;;;;;;;;;;;;;;::::1;::::0;::::1;::::0;;-1:-1:-1;;;;;46687:57:79::1;-1:-1:-1::0;;;46687:57:79::1;::::0;;;-1:-1:-1;;46794:29:79::1;:27;:29::i;:::-;-1:-1:-1::0;;;;;46774:62:79::1;;46850:13;46774:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;;::::1;::::0;;;::::1;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;46774:99:79;;-1:-1:-1;46884:33:79::1;46774:99:::0;46884:22:::1;:33::i;:::-;46928:39;46957:9;46928:28;:39::i;:::-;5127:1;;46437:537::o:0;51750:131::-;51812:26;51857:17;-1:-1:-1;;;;;51857:17:79;51750:131;:::o;19739:99::-;4819:24;:22;:24::i;:::-;19815:16:::1;:14;:16::i;8852:603::-:0;9005:24;4993:30;5009:13;:11;:13::i;4993:30::-;9076:17:::1;:15;:17::i;:::-;-1:-1:-1::0;;;;;9062:51:79::1;;9131:9;9158;9195:12;;9185:23;;;;;;;;;;;;;;;;;;;;;;;;;;;9062:160;;;;;;;;;;;;;-1:-1:-1::0;;;;;9062:160:79::1;;;;;;-1:-1:-1::0;;;;;9062:160:79::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;9062:160:79;9041:239:::1;;;::::0;;-1:-1:-1;;;9041:239:79;;::::1;;::::0;::::1;::::0;;;;;;;::::1;::::0;;;;;;;;;;;;;::::1;;9317:15;:13;:15::i;:::-;-1:-1:-1::0;;;;;9310:38:79::1;;9366:9;9410;9421:12;;9393:41;;;;;;-1:-1:-1::0;;;;;9393:41:79::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9310:138;;;;;;;;;;;;;-1:-1:-1::0;;;;;9310:138:79::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;;::::1;::::0;;;::::1;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;::::0;;::::1;-1:-1:-1::0;;9310:138:79::1;::::0;::::1;;::::0;::::1;::::0;::::1;;;;;::::0;::::1;;;;;;;;;;;;;;;-1:-1:-1::0;;;9310:138:79::1;;;;;;::::0;::::1;;::::0;;::::1;::::0;::::1;::::0;::::1;::::0;;::::1;;;;;::::0;::::1;;::::0;;-1:-1:-1;;;9310:138:79;::::1;::::0;;::::1;::::0;-1:-1:-1;9310:138:79::1;;;;;::::0;::::1;;::::0;;-1:-1:-1;9310:138:79;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;;::::1;;;;;;;;::::0;;::::1;::::0;;;::::1;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;9291:157;;8852:603:::0;;;;;;:::o;50171:96::-;50251:9;50171:96;:::o;49927:135::-;50036:19;49927:135;:::o;48880:101::-;48964:10;48880:101;:::o;49439:111::-;49532:11;49439:111;:::o;47938:284::-;5090:27;5106:10;5090:15;:27::i;:::-;48035:17:::1;::::0;;48016:55:::1;::::0;;-1:-1:-1;;;48016:55:79;;;;-1:-1:-1;;;;;48035:17:79;;::::1;::::0;48016:53:::1;::::0;:55;;::::1;::::0;48035:17:::1;::::0;48016:55;;;;;;48035:17;;48016:55;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;48089:10:79::1;::::0;-1:-1:-1;;;;;48089:10:79::1;::::0;-1:-1:-1;48082:34:79::1;::::0;-1:-1:-1;48117:14:79::1;:12;:14::i;:::-;48082:50;;;;;;;;;;;;;-1:-1:-1::0;;;;;48082:50:79::1;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;48150:17:79::1;48143:24:::0;;-1:-1:-1;;;;;;48143:24:79::1;::::0;;-1:-1:-1;;48183:32:79::1;::::0;;48150:17:::1;48183:32:::0;;;;::::1;::::0;;;;::::1;::::0;;::::1;47938:284::o:0;46113:165::-;46212:59;46246:15;:13;:15::i;:::-;46263:7;46212:33;:59::i;52015:131::-;52122:17;;-1:-1:-1;;;;;52122:17:79;52015:131;:::o;13784:1534::-;13943:30;;13913:16;;-1:-1:-1;;;13943:30:79;;;;13939:1287;;;14065:23;:21;:23::i;:::-;-1:-1:-1;;;;;14054:34:79;:7;-1:-1:-1;;;;;14054:34:79;;14050:1166;;;14144:34;14133:7;:45;;;;;;;;;:117;;;-1:-1:-1;14213:37:79;14202:7;:48;;;;;;;;;14133:117;:186;;;-1:-1:-1;14285:34:79;14274:7;:45;;;;;;;;;14133:186;:259;;;-1:-1:-1;14354:38:79;14343:49;:7;:49;;;;;;;;;14133:259;14108:362;;;-1:-1:-1;14447:4:79;14108:362;14050:1166;;;14505:15;:13;:15::i;:::-;-1:-1:-1;;;;;14494:26:79;:7;-1:-1:-1;;;;;14494:26:79;;14490:726;;;14576:29;14565:7;:40;;;;;;;;;:104;;;-1:-1:-1;14640:29:79;14629:7;:40;;;;;;;;;14565:104;:172;;;-1:-1:-1;14704:33:79;14693:44;;14490:726;14850:28;:26;:28::i;:::-;-1:-1:-1;;;;;14839:39:79;:7;-1:-1:-1;;;;;14839:39:79;;14835:381;;;14934:41;14923:7;:52;;;;;;;;;:125;;;-1:-1:-1;15010:38:79;14999:7;:49;;;;;;;;;14923:125;:201;;;-1:-1:-1;15083:41:79;15072:7;:52;;;;;;;;;14923:201;14898:304;;;-1:-1:-1;15179:4:79;14898:304;15244:11;15236:75;;;;-1:-1:-1;;;15236:75:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13784:1534;;;:::o;6045:494::-;6170:33;6206:48;6245:8;6206:38;:48::i;:::-;6170:84;-1:-1:-1;6286:30:79;;;:125;;;6386:25;:23;:25::i;:::-;6336:46;:15;6356:25;6336:19;:46::i;:::-;:75;;6286:125;:196;;;;6431:51;6470:11;6431:38;:51::i;:::-;6265:267;;;;;-1:-1:-1;;;6265:267:79;;;;;;;;;;;;;;;;;;;;;;;;;;;983:367:230;1029:32;1096:2;1077:8;:21;;;;:68;;;1116:29;:27;:29::i;:::-;-1:-1:-1;;;;;1102:43:230;:10;-1:-1:-1;;;;;1102:43:230;;1077:68;1073:243;;;-1:-1:-1;;;1233:14:230;1229:23;1216:37;1212:2;1208:46;1282:23;;1073:243;-1:-1:-1;1333:10:230;983:367;:::o;5618:148:79:-;5703:15;:13;:15::i;:::-;-1:-1:-1;;;;;5696:32:79;;:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5696:34:79;-1:-1:-1;;;;;5688:42:79;;;;;;5680:79;;;;;-1:-1:-1;;;5680:79:79;;;;;;;;;;;;;;;;;;;;;;;;;;;5772:110;5843:16;;-1:-1:-1;;;5843:16:79;;;;5842:17;5834:41;;;;;-1:-1:-1;;;5834:41:79;;;;;;;;;;;;-1:-1:-1;;;5834:41:79;;;;;;;;;;;;;;3999:454:354;4067:14;4113:1;4097:5;:12;:17;4093:59;;-1:-1:-1;4137:4:354;4130:11;;4093:59;4184:12;;4162:19;4206:219;4226:11;4222:1;:15;4206:219;;;4279:1;4275:5;;4258:157;4286:11;4282:1;:15;4258:157;;;4338:5;4344:1;4338:8;;;;;;;;;;;;;;-1:-1:-1;;;;;4326:20:354;:5;4332:1;4326:8;;;;;;;;;;;;;;-1:-1:-1;;;;;4326:20:354;;4322:79;;;4377:5;4370:12;;;;;;;4322:79;4299:3;;4258:157;;;-1:-1:-1;4239:3:354;;4206:219;;;-1:-1:-1;4442:4:354;;3999:454;-1:-1:-1;;;3999:454:354:o;43117:1961:79:-;43337:23;43362:21;43395:73;43437:18;43458:9;43395:33;:73::i;:::-;43479:20;43516:18;43479:57;;43547:36;43586:14;-1:-1:-1;;;;;43586:24:79;;43611:9;43586:35;;;;;;;;;;;;;-1:-1:-1;;;;;43586:35:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;43586:35:79;;-1:-1:-1;;;43636:41:79;;43632:187;;;43711:28;43693:46;;43632:187;;;43788:20;43770:38;;43632:187;43854:1;43836:15;:19;43828:72;;;;-1:-1:-1;;;43828:72:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;43911:88;43933:9;43944:15;43961:19;43982:16;43911:21;:88::i;:::-;44100:37;44140:14;-1:-1:-1;;;;;44140:24:79;;44165:9;44140:35;;;;;;;;;;;;;-1:-1:-1;;;;;44140:35:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;44140:35:79;;-1:-1:-1;;;44189:41:79;;44185:348;;;44264:29;44246:47;;44185:348;;;44346:28;44314:29;:60;44310:223;;;44408:114;44445:63;:28;44478:29;44445:32;:63::i;:::-;44408:15;;:19;:114::i;:::-;44390:132;;44310:223;44627:18;-1:-1:-1;;;;;44627:33:79;;:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;44696:1;44677:16;:20;:58;;;;;44701:34;:32;:34::i;:::-;44673:165;;;44751:76;44789:18;44810:16;44751:29;:76::i;:::-;44926:14;-1:-1:-1;;;;;44926:26:79;;:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;44926:28:79;44964:57;;;-1:-1:-1;;;44964:57:79;;-1:-1:-1;;;;;44964:57:79;;;;;;;;;;;;;;;44926:28;;-1:-1:-1;44964:29:79;;;;;;:57;;;;;-1:-1:-1;;44964:57:79;;;;;;;;-1:-1:-1;44964:29:79;:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;45032:39;;;43117:1961;;;;;;;;:::o;3538:215:442:-;3596:7;3619:6;3615:20;;-1:-1:-1;3634:1:442;3627:8;;3615:20;3657:5;;;3661:1;3657;:5;:1;3680:5;;;;;:10;3672:56;;;;-1:-1:-1;;;3672:56:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4217:150;4275:7;4306:1;4302;:5;4294:44;;;;;-1:-1:-1;;;4294:44:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;4359:1;4355;:5;;;;;;;4217:150;-1:-1:-1;;;4217:150:442:o;39746:1723:79:-;39995:31;40038:29;40070:22;:20;:22::i;:::-;40038:54;-1:-1:-1;40102:24:79;40167:13;40153:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;40153:35:79;;40136:52;;40203:9;40198:1077;40214:24;;;40198:1077;;;40278:48;40299:23;;40323:1;40299:26;;;;;;;;;;;;;40278:16;:20;;:48;;;;:::i;:::-;40259:67;-1:-1:-1;2918:42:79;40435:13;;40449:1;40435:16;;;;;;;;;;;;;-1:-1:-1;;;;;40435:16:79;-1:-1:-1;;;;;40435:67:79;;40431:114;;;40522:8;;40431:114;40597:21;:19;:21::i;:::-;-1:-1:-1;;;;;40579:64:79;;40661:21;40700:65;2773:5;40700:40;40713:23;;40737:1;40713:26;;;;;;;;;;;;;40700:8;:12;;:40;;;;:::i;:65::-;40783:13;;40797:1;40783:16;;;;;;;;;;;;;-1:-1:-1;;;;;40783:16:79;40579:234;;;;;;;;;;;;;-1:-1:-1;;;;;40579:234:79;;;;;;;;;;;-1:-1:-1;;;;;40579:234:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;40579:234:79;40559:17;;:14;;40574:1;;40559:17;;;;;;;;;;;:254;;;;;41075:1;41055:14;41070:1;41055:17;;;;;;;;;;;;;;:21;41030:136;;;;-1:-1:-1;;;41030:136:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;41181:18;-1:-1:-1;;;;;41181:34:79;;41216:13;;41230:1;41216:16;;;;;;;;;;;;;-1:-1:-1;;;;;41216:16:79;41234:10;41246:14;41261:1;41246:17;;;;;;;;;;;;;;41181:83;;;;;;;;;;;;;-1:-1:-1;;;;;41181:83:79;;;;;;-1:-1:-1;;;;;41181:83:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;40198:1077;40240:3;;40198:1077;;;;2773:5;41306:16;:39;41285:145;;;;-1:-1:-1;;;41285:145:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;41441:21;;39746:1723;;;;;;;;;:::o;42386:659::-;42675:18;:16;:18::i;:::-;-1:-1:-1;;;;;42660:51:79;;42733:4;42752:55;42849:9;42876:10;42904:23;42945:7;42970:13;43001;42821:207;;;;;;-1:-1:-1;;;;;42821:207:79;;;;;;-1:-1:-1;;;;;42821:207:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;42660:378;;;;;;;;;;;;;-1:-1:-1;;;;;42660:378:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;42386:659;;;;;;:::o;5321:134::-;5400:17;:15;:17::i;:::-;-1:-1:-1;;;;;5386:31:79;:10;-1:-1:-1;;;;;5386:31:79;;5378:70;;;;;-1:-1:-1;;;5378:70:79;;;;;;;;;;;;;;;;;;;;;;;;;;;5888:151;5973:30;;-1:-1:-1;;;5973:30:79;;;;5972:31;5964:68;;;;;-1:-1:-1;;;5964:68:79;;;;;;;;;;;;;;;;;;;;;;;;;;;22199:919;22296:14;22327:30;22359:31;22425:17;-1:-1:-1;;;;;22394:75:79;;:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;22394:77:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;22394:77:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;22394:77:79;;;;;;;;;;;;-1:-1:-1;22394:77:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;22394:77:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;22394:77:79;;;;;;;;;;;;-1:-1:-1;22394:77:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22326:145;;;;22482:20;22523:21;:19;:21::i;:::-;-1:-1:-1;;;;;22505:83:79;;22589:13;22604:14;22620:22;:20;:22::i;:::-;22505:138;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;22505:138:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;22505:138:79;22716:74;;;-1:-1:-1;;;22716:74:79;;;;22505:138;;-1:-1:-1;22655:27:79;;;;-1:-1:-1;;;;;22716:72:79;;;;;:74;;;;;;;;;;;;;;;;:72;:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;22716:74:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;22716:74:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;22716:74:79;;;;;;;;;;;;-1:-1:-1;22716:74:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;22716:74:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;22716:74:79;;;;;;;;;;;;-1:-1:-1;22716:74:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22654:136;;;;22801:17;22839:21;:19;:21::i;:::-;-1:-1:-1;;;;;22821:70:79;;22905:10;22929:11;22954:22;:20;:22::i;:::-;22821:165;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;22821:165:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;22821:165:79;;-1:-1:-1;23001:24:79;;;22997:91;;;23050:27;:12;23067:9;23050:16;:27::i;:::-;23041:36;;22997:91;23098:13;;;;;;22199:919;;;:::o;2690:175:442:-;2748:7;2779:5;;;2802:6;;;;2794:46;;;;;-1:-1:-1;;;2794:46:442;;;;;;;;;;;;;;;;;;;;;;;;;;;38148:1495:79;38340:30;;38423:41;:14;38450:13;38423:26;:41::i;:::-;38382:82;;38478:17;:24;38506:1;38478:29;38474:88;;;38530:21;-1:-1:-1;38523:28:79;;38474:88;38647:26;38687:17;:24;38676:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;38676:36:79;;38647:65;;38722:28;38765:9;38760:229;38780:17;:24;38776:1;:28;38760:229;;;38830:52;38861:17;38879:1;38861:20;;;;;;;;;;;;;;38830:21;:30;;:52;;;;:::i;:::-;38825:154;;38920:4;38902:12;38915:1;38902:15;;;;;;;;:22;;;:15;;;;;;;;;;;:22;38942;;;;;38825:154;38806:3;;38760:229;;;-1:-1:-1;39002:25:79;38998:84;;39050:21;39043:28;;;;;;;38998:84;39122:28;;:54;;39155:20;39122:32;:54::i;:::-;39108:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;39108:69:79;;39092:85;;39192:9;39187:123;39207:21;:28;39203:1;:32;39187:123;;;39275:21;39297:1;39275:24;;;;;;;;;;;;;;39256:13;39270:1;39256:16;;;;;;;;-1:-1:-1;;;;;39256:43:79;;;:16;;;;;;;;;;;:43;39237:3;;39187:123;;;-1:-1:-1;39347:28:79;;39319:25;39385:221;39405:17;:24;39401:1;:28;39385:221;;;39454:12;39467:1;39454:15;;;;;;;;;;;;;;39450:146;;;39524:17;39542:1;39524:20;;;;;;;;;;;;;;39489:13;39503:17;39489:32;;;;;;;;-1:-1:-1;;;;;39489:55:79;;;:32;;;;;;;;;;;:55;39562:19;;;;;39450:146;39431:3;;39385:221;;;;39616:20;;;;38148:1495;;;;;:::o;48286:123::-;48381:10;-1:-1:-1;;;;;48362:38:79;;:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;48480:191;48562:17;:42;;-1:-1:-1;;;;;48562:42:79;;-1:-1:-1;;;;;;48562:42:79;;;;;;;;48620:44;;;;;;;;;;;;;;;;48480:191;:::o;5461:151::-;5545:22;:20;:22::i;:::-;-1:-1:-1;;;;;5531:36:79;:10;-1:-1:-1;;;;;5531:36:79;;5523:82;;;;-1:-1:-1;;;5523:82:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25827:3217;26085:23;4661:29;:27;:29::i;:::-;4719:4;4700:23;;-1:-1:-1;;;;4700:23:79;-1:-1:-1;;;4700:23:79;;;4462:43:::1;:41;:43::i;:::-;4548:4;4515:37:::0;;-1:-1:-1;;;;4515:37:79::1;-1:-1:-1::0;;;4515:37:79::1;::::0;;26286:22;26278:77:::2;;;;-1:-1:-1::0;;;26278:77:79::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26366:22;26391:15;:13;:15::i;:::-;26366:40;;26438:24;26437:25;:84;;;;26467:54;26506:14;26467:38;:54::i;:::-;26466:55;26437:84;26416:180;;;;-1:-1:-1::0;;;26416:180:79::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26607:11;26621:9;:7;:9::i;:::-;26607:23;;26946:50;26965:6;26973:17;26992:3;26946:18;:50::i;:::-;27102:14;-1:-1:-1::0;;;;;27095:37:79::2;;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;27148:34;:32;:34::i;:::-;27144:115;;;27198:50;27228:14;27244:3;27198:29;:50::i;:::-;27494:32;27529:167;27575:22;:20;:22::i;:::-;27611:16;27641:14;27669:17;27529:32;:167::i;:::-;27494:202;;27785:18;27806:164;27841:3;27864:14;-1:-1:-1::0;;;;;27858:33:79::2;;:35;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;27806:164;27785:185:::0;-1:-1:-1;27980:20:79::2;28003:57;27785:185:::0;28003:41:::2;:24:::0;2823:6:::2;28003:28;:41::i;:57::-;27980:80;;28107:23;28139:14;-1:-1:-1::0;;;;;28133:31:79::2;;28165:6;28133:39;;;;;;;;;;;;;-1:-1:-1::0;;;;;28133:39:79::2;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;::::0;::::2;;-1:-1:-1::0;28133:39:79;28182:55:::2;::::0;;-1:-1:-1;;;28182:55:79;;-1:-1:-1;;;;;28182:55:79;;::::2;;::::0;::::2;::::0;;;;;;;;;28133:39;;-1:-1:-1;28182:33:79;;::::2;::::0;::::2;::::0;:55;;;;;-1:-1:-1;;28182:55:79;;;;;;;;-1:-1:-1;28182:33:79;:55;::::2;;::::0;::::2;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;28322:72;28342:6;28350:24;28376:12;28390:3;28322:19;:72::i;:::-;28586:60;28630:15;28592:14;-1:-1:-1::0;;;;;28586:31:79::2;;28618:6;28586:39;;;;;;;;;;;;;-1:-1:-1::0;;;;;28586:39:79::2;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;::::0;::::2;;-1:-1:-1::0;28586:39:79;;:43:::2;:60::i;:::-;28568:78;;28696:18;28677:15;:37;;28656:133;;;;-1:-1:-1::0;;;28656:133:79::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;28804:24;28800:112;;;-1:-1:-1::0;;;;;28844:39:79;::::2;;::::0;;;:31:::2;:39;::::0;;;;28886:15:::2;28844:57:::0;;28800:112:::2;28927:77;::::0;;;;;::::2;::::0;::::2;::::0;;;;;;;;;;;-1:-1:-1;;;;;28927:77:79;::::2;::::0;::::2;::::0;;;;;;;;::::2;29015:22;;;;;;4573:30:::1;:38:::0;;-1:-1:-1;;;;4744:24:79;;;25827:3217;;-1:-1:-1;;;;;25827:3217:79:o;20006:234::-;20138:5;;-1:-1:-1;;;20138:5:79;;;;20137:6;20129:57;;;;-1:-1:-1;;;20129:57:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;20226:4;20197:36;11862:787;11999:26;12037:29;12069:22;:20;:22::i;:::-;12037:54;;12102:23;12128:161;12163:4;12187:11;-1:-1:-1;;;;;12181:30:79;;:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12181:32:79;12239:39;;;-1:-1:-1;;;12239:39:79;;;;-1:-1:-1;;;;;12239:37:79;;;;;:39;;;;;12181:32;;12239:39;;;;;;;:37;:39;;;;;;;;;;12128:161;12102:187;-1:-1:-1;12300:39:79;12342:73;2823:6;12342:34;12102:187;12362:13;12342:19;:34::i;:73::-;12300:115;;12463:21;:19;:21::i;:::-;-1:-1:-1;;;;;12445:64:79;;12527:21;12566:31;12615:13;:11;:13::i;:::-;12445:197;;;;;;;;;;;;;-1:-1:-1;;;;;12445:197:79;;;;;;;;;;;-1:-1:-1;;;;;12445:197:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12445:197:79;;11862:787;-1:-1:-1;;;;;;;11862:787:79:o;23182:330::-;23334:24;23374:18;23370:78;;-1:-1:-1;23415:22:79;23408:29;;23370:78;23465:40;23491:13;23465:21;:4;2823:6;23465:8;:21::i;:40::-;23458:47;23182:330;-1:-1:-1;;;;23182:330:79:o;3136:155:442:-;3194:7;3226:1;3221;:6;;3213:49;;;;;-1:-1:-1;;;3213:49:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3279:5:442;;;3136:155::o;9557:346:79:-;9672:41;9760:15;:13;:15::i;:::-;-1:-1:-1;;;;;9748:48:79;;9797:11;9748:61;;;;;;;;;;;;;-1:-1:-1;;;;;9748:61:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9748:61:79;;:148;;;9839:17;:15;:17::i;:::-;-1:-1:-1;;;;;9825:58:79;;9884:11;9825:71;;;;;;;;;;;;;-1:-1:-1;;;;;9825:71:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9825:71:79;9729:167;9557:346;-1:-1:-1;;9557:346:79:o;41655:583::-;4462:43;:41;:43::i;:::-;4548:4;4515:37;;-1:-1:-1;;;;4515:37:79;-1:-1:-1;;;4515:37:79;;;41896:15:::1;:13;:15::i;:::-;41994:59;::::0;;-1:-1:-1;;;;;41994:59:79;;::::1;;::::0;::::1;::::0;;;;;;;;::::1;;::::0;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;41884:217:79;;;:39;;;::::1;::::0;::::1;::::0;41941:35:::1;::::0;42071:16;;41884:217;;;41941:35;41884:217:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;;::::1;::::0;;;::::1;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;41868:364;;;::::0;;;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;42194:9;-1:-1:-1::0;;;;;42160:61:79::1;42186:6;42160:61;;;;;;;;;;;;;;;;;;;::::0;;;;-1:-1:-1;;42160:61:79;;;;::::1;::::0;;::::1;::::0;::::1;;;;::::0;;;::::1;::::0;;::::1;;;-1:-1:-1::0;;42160:61:79;;::::1;::::0;;::::1;::::0;::::1;;::::0;;::::1;::::0;;;;;::::1;::::0;;::::1;::::0;;;;;;;;;-1:-1:-1;42160:61:79::1;::::0;-1:-1:-1;42160:61:79;;;;;;;-1:-1:-1;42160:61:79::1;42113:119;41868:364;-1:-1:-1::0;;4573:30:79;:38;;-1:-1:-1;;;;4573:38:79;;;-1:-1:-1;;41655:583:79:o;11260:527::-;11352:20;11381:11;-1:-1:-1;;;;;11375:28:79;;11404:23;:21;:23::i;:::-;11375:53;;;;;;;;;;;;;-1:-1:-1;;;;;11375:53:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11375:53:79;;-1:-1:-1;11438:25:79;11466:55;11489:11;11375:53;11516:4;11466:22;:55::i;:::-;11438:83;;11555:11;-1:-1:-1;;;;;11548:44:79;;11593:12;11607:17;11626:4;11548:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11532:249;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11724:6;11690:80;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;11690:80:79;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;11690:80:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11690:80:79;;-1:-1:-1;11690:80:79;;;;;;;;-1:-1:-1;11690:80:79;11643:138;11532:249;11260:527;;;;:::o;4609:1061:354:-;4734:27;4781:14;:21;4806:1;4781:26;4777:69;;;-1:-1:-1;4830:5:354;4823:12;;4777:69;4856:29;4899:5;:12;4888:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4888:24:354;-1:-1:-1;4952:12:354;;4856:56;;-1:-1:-1;4922:27:354;4974:200;4994:5;:12;4990:1;:16;4974:200;;;5031:34;5040:14;5056:5;5062:1;5056:8;;;;;;;;;;;;;;5031;:34::i;:::-;5027:137;;;5106:4;5085:15;5101:1;5085:18;;;;;;;;:25;;;:18;;;;;;;;;;;:25;-1:-1:-1;;5128:21:354;;;;5027:137;5008:3;;4974:200;;;;5211:5;:12;5188:19;:35;5184:452;;;5252:5;5239:18;;5184:452;;;5278:23;;5274:362;;5344:19;5330:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5330:34:354;;5317:47;;5378:22;5419:9;5414:212;5434:5;:12;5430:1;:16;5414:212;;;5476:15;5492:1;5476:18;;;;;;;;;;;;;;5471:141;;5547:5;5553:1;5547:8;;;;;;;;;;;;;;5518:10;5529:14;5518:26;;;;;;;;-1:-1:-1;;;;;5518:37:354;;;:26;;;;;;;;;;;:37;5577:16;;;;;5471:141;5448:3;;5414:212;;;;5274:362;;5646:17;;4609:1061;;;;:::o;2489:299::-;2595:17;2633:9;2628:132;2648:5;:12;2644:1;:16;2628:132;;;2696:5;2702:1;2696:8;;;;;;;;;;;;;;-1:-1:-1;;;;;2685:19:354;:7;-1:-1:-1;;;;;2685:19:354;;2681:69;;;2731:4;2724:11;;;;;2681:69;2662:3;;2628:132;;;-1:-1:-1;2776:5:354;;2489:299;-1:-1:-1;;;2489:299:354:o;29128:304:79:-;29273:15;:13;:15::i;:::-;29360:37;;;-1:-1:-1;;;;;29360:37:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;29261:164:79;;;:39;;;;;;;29314:32;;29411:4;;29261:164;;;29314:32;29261:164;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30521:455;30696:23;30731:35;30775:6;-1:-1:-1;;;;;30769:23:79;;30793:10;30769:35;;;;;;;;;;;;;-1:-1:-1;;;;;30769:35:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;30769:35:79;;-1:-1:-1;30815:68:79;-1:-1:-1;;;;;30815:30:79;;30846:7;30855:10;30867:15;30815:30;:68::i;:::-;30901;30941:27;30907:6;-1:-1:-1;;;;;30901:23:79;;30925:10;30901:35;;;;;;;;;;;;;-1:-1:-1;;;;;30901:35:79;;;;;;;;;;;;;;;;;;;;;;;;;;:68;30894:75;30521:455;-1:-1:-1;;;;;;30521:455:79:o;29769:649::-;29946:11;29960:39;:16;29981:17;29960:20;:39::i;:::-;29946:53;;30021:15;:13;:15::i;:::-;30109:52;;;-1:-1:-1;;;;;30109:52:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;30009:179:79;;;:39;;;;;;;30062:33;;30175:3;;30009:179;;;30062:33;30009:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30214:18;:16;:18::i;:::-;30344:57;;;-1:-1:-1;;;;;30344:57:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;30199:212:79;;;30272:4;30199:212;;;;;;:51;;;;;;;30272:4;;30291:39;;30344:57;30199:212;;;30291:39;30199:212;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;29769:649;;;;;:::o;885:203:450:-;1012:68;;;-1:-1:-1;;;;;1012:68:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1012:68:450;-1:-1:-1;;;1012:68:450;;;985:96;;1005:5;;3386:23;3412:69;3440:4;3412:69;;;;;;;;;;;;;;;;;3420:5;-1:-1:-1;;;;;3412:27:450;;;:69;;;;;:::i;:::-;3495:17;;3386:95;;-1:-1:-1;3495:21:450;3491:221;;3635:10;3624:30;;;;;;;;;;;;;;;-1:-1:-1;3624:30:450;3616:85;;;;-1:-1:-1;;;3616:85:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3581:193:451;3684:12;3715:52;3737:6;3745:4;3751:1;3754:12;3684;4858:18;4869:6;4858:10;:18::i;:::-;4850:60;;;;;-1:-1:-1;;;4850:60:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;4981:12;4995:23;5022:6;-1:-1:-1;;;;;5022:11:451;5042:5;5050:4;5022:33;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5022:33:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4980:75;;;;5072:52;5090:7;5099:10;5111:12;5072:17;:52::i;:::-;5065:59;4608:523;-1:-1:-1;;;;;;;4608:523:451:o;726:413::-;1086:20;1124:8;;;726:413::o;7091:725::-;7206:12;7234:7;7230:580;;;-1:-1:-1;7264:10:451;7257:17;;7230:580;7375:17;;:21;7371:429;;7633:10;7627:17;7693:15;7680:10;7676:2;7672:19;7665:44;7582:145;7772:12;7765:20;;-1:-1:-1;;;7765:20:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;", "linkReferences": {}, "immutableReferences": { "14252": [ { "start": 11456, "length": 32 } ], "14254": [ { "start": 8984, "length": 32 } ], "14256": [ { "start": 8598, "length": 32 } ], "14258": [ { "start": 11492, "length": 32 } ], "14260": [ { "start": 11420, "length": 32 } ], "14262": [ { "start": 11384, "length": 32 } ], "14264": [ { "start": 9846, "length": 32 } ], "14266": [ { "start": 9882, "length": 32 } ], "14268": [ { "start": 7969, "length": 32 } ], "14270": [ { "start": 4713, "length": 32 } ], "62077": [ { "start": 8650, "length": 32 } ] } }, "methodIdentifiers": { "activate(bool)": "ce5e84a3", "buyBackProtocolFeeShares(uint256)": "b10ea2b0", "buyShares(uint256,uint256)": "beebc5da", "buySharesOnBehalf(address,uint256,uint256)": "877fd894", "calcGav()": "56cff99f", "calcGrossShareValue()": "da72503c", "callOnExtension(address,uint256,bytes)": "39bf70d1", "deployGasRelayPaymaster()": "db69681f", "depositToGasRelayPaymaster()": "716d4da4", "destructActivated(uint256,uint256)": "92b575b6", "destructUnactivated()": "e53a73b9", "doesAutoProtocolFeeSharesBuyback()": "a01fd157", "getDenominationAsset()": "e269c3d6", "getDispatcher()": "ebb3d589", "getExternalPositionManager()": "b3fc38e9", "getFeeManager()": "f2d63826", "getFundDeployer()": "97c0ac87", "getGasRelayPaymaster()": "faf9096b", "getGasRelayPaymasterFactory()": "ac259456", "getGasRelayTrustedForwarder()": "6ea21143", "getIntegrationManager()": "e7c45690", "getLastSharesBoughtTimestampForAccount(address)": "7f20170d", "getMlnToken()": "e70e605e", "getPolicyManager()": "d44ad6cb", "getProtocolFeeReserve()": "da41962e", "getSharesActionTimelock()": "4da471b7", "getValueInterpreter()": "875fb4b3", "getVaultProxy()": "c9809187", "getWethToken()": "4c252f91", "init(address,uint256)": "399ae724", "permissionedVaultAction(uint8,bytes)": "10acd06d", "preTransferSharesHook(address,address,uint256)": "12f20526", "preTransferSharesHookFreelyTransferable(address)": "f9d5fe78", "pullWethForGasRelayer(uint256)": "79951f0f", "redeemSharesForSpecificAssets(address,uint256,address[],uint256[])": "3462fcc1", "redeemSharesInKind(address,uint256,address[],address[])": "6af8e7eb", "setAutoProtocolFeeSharesBuyback(bool)": "2dc7a3a0", "setGasRelayPaymaster(address)": "73eecf47", "setVaultProxy(address)": "397bfe55", "shutdownGasRelayPaymaster()": "f9005af3", "vaultCallOnContract(address,bytes4,bytes)": "e572ced1" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_dispatcher\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_protocolFeeReserve\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_fundDeployer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_valueInterpreter\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_externalPositionManager\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_feeManager\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_integrationManager\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_policyManager\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_gasRelayPaymasterFactory\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_mlnToken\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_wethToken\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"autoProtocolFeeSharesBuyback\",\"type\":\"bool\"}],\"name\":\"AutoProtocolFeeSharesBuybackSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes\",\"name\":\"failureReturnData\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"sharesAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"buybackValueInMln\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"gav\",\"type\":\"uint256\"}],\"name\":\"BuyBackMaxProtocolFeeSharesFailed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"DeactivateFeeManagerFailed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"gasRelayPaymaster\",\"type\":\"address\"}],\"name\":\"GasRelayPaymasterSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"sharesDue\",\"type\":\"uint256\"}],\"name\":\"MigratedSharesDuePaid\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"PayProtocolFeeDuringDestructFailed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes\",\"name\":\"failureReturnData\",\"type\":\"bytes\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"redeemer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"sharesAmount\",\"type\":\"uint256\"}],\"name\":\"PreRedeemSharesHookFailed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"RedeemSharesInKindCalcGavFailed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"buyer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"investmentAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"sharesIssued\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"sharesReceived\",\"type\":\"uint256\"}],\"name\":\"SharesBought\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"redeemer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"sharesAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"receivedAssets\",\"type\":\"address[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"receivedAssetAmounts\",\"type\":\"uint256[]\"}],\"name\":\"SharesRedeemed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"vaultProxy\",\"type\":\"address\"}],\"name\":\"VaultProxySet\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"_isMigration\",\"type\":\"bool\"}],\"name\":\"activate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_sharesAmount\",\"type\":\"uint256\"}],\"name\":\"buyBackProtocolFeeShares\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_investmentAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_minSharesQuantity\",\"type\":\"uint256\"}],\"name\":\"buyShares\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"sharesReceived_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_buyer\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_investmentAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_minSharesQuantity\",\"type\":\"uint256\"}],\"name\":\"buySharesOnBehalf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"sharesReceived_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"calcGav\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"gav_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"calcGrossShareValue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"grossShareValue_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_extension\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_actionId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_callArgs\",\"type\":\"bytes\"}],\"name\":\"callOnExtension\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"deployGasRelayPaymaster\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"depositToGasRelayPaymaster\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_deactivateFeeManagerGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_payProtocolFeeGasLimit\",\"type\":\"uint256\"}],\"name\":\"destructActivated\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"destructUnactivated\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"doesAutoProtocolFeeSharesBuyback\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"doesAutoBuyback_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDenominationAsset\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"denominationAsset_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDispatcher\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"dispatcher_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getExternalPositionManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"externalPositionManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFeeManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"feeManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFundDeployer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"fundDeployer_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getGasRelayPaymaster\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"gasRelayPaymaster_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getGasRelayPaymasterFactory\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"gasRelayPaymasterFactory_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getGasRelayTrustedForwarder\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"trustedForwarder_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getIntegrationManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"integrationManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_who\",\"type\":\"address\"}],\"name\":\"getLastSharesBoughtTimestampForAccount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"lastSharesBoughtTimestamp_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMlnToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"mlnToken_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPolicyManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"policyManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getProtocolFeeReserve\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"protocolFeeReserve_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getSharesActionTimelock\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"sharesActionTimelock_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getValueInterpreter\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"valueInterpreter_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getVaultProxy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"vaultProxy_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getWethToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"wethToken_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_denominationAsset\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_sharesActionTimelock\",\"type\":\"uint256\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IVault.VaultAction\",\"name\":\"_action\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"}],\"name\":\"permissionedVaultAction\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"preTransferSharesHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_sender\",\"type\":\"address\"}],\"name\":\"preTransferSharesHookFreelyTransferable\",\"outputs\":[],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"pullWethForGasRelayer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_sharesQuantity\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"_payoutAssets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"_payoutAssetPercentages\",\"type\":\"uint256[]\"}],\"name\":\"redeemSharesForSpecificAssets\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"payoutAmounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_sharesQuantity\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"_additionalAssets\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"_assetsToSkip\",\"type\":\"address[]\"}],\"name\":\"redeemSharesInKind\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"payoutAssets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"payoutAmounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"_nextAutoProtocolFeeSharesBuyback\",\"type\":\"bool\"}],\"name\":\"setAutoProtocolFeeSharesBuyback\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nextGasRelayPaymaster\",\"type\":\"address\"}],\"name\":\"setGasRelayPaymaster\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"}],\"name\":\"setVaultProxy\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"shutdownGasRelayPaymaster\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contract\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"_selector\",\"type\":\"bytes4\"},{\"internalType\":\"bytes\",\"name\":\"_encodedArgs\",\"type\":\"bytes\"}],\"name\":\"vaultCallOnContract\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"returnData_\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"activate(bool)\":{\"details\":\"No need to assert anything beyond FundDeployer access.\",\"params\":{\"_isMigration\":\"True if a migrated fund is being activated\"}},\"buyBackProtocolFeeShares(uint256)\":{\"params\":{\"_sharesAmount\":\"The amount of shares to buy back\"}},\"buyShares(uint256,uint256)\":{\"params\":{\"_investmentAmount\":\"The amount of the fund's denomination asset with which to buy shares\",\"_minSharesQuantity\":\"The minimum quantity of shares to buy\"},\"returns\":{\"sharesReceived_\":\"The actual amount of shares received\"}},\"buySharesOnBehalf(address,uint256,uint256)\":{\"details\":\"This function is freely callable if there is no sharesActionTimelock set, but it is limited to a list of trusted callers otherwise, in order to prevent a griefing attack where the caller buys shares for a _buyer, thereby resetting their lastSharesBought value.\",\"params\":{\"_buyer\":\"The account on behalf of whom to buy shares\",\"_investmentAmount\":\"The amount of the fund's denomination asset with which to buy shares\",\"_minSharesQuantity\":\"The minimum quantity of shares to buy\"},\"returns\":{\"sharesReceived_\":\"The actual amount of shares received\"}},\"calcGav()\":{\"returns\":{\"gav_\":\"The fund GAV\"}},\"calcGrossShareValue()\":{\"details\":\"Does not account for any fees outstanding.\",\"returns\":{\"grossShareValue_\":\"The amount of the denomination asset per share\"}},\"callOnExtension(address,uint256,bytes)\":{\"details\":\"Used to route arbitrary calls, so that msg.sender is the ComptrollerProxy (for access control). Uses a mutex of sorts that allows \\\"permissioned vault actions\\\" during calls originating from this function.\",\"params\":{\"_actionId\":\"An ID representing the action to take on the extension (see extension)\",\"_callArgs\":\"The encoded data for the call\",\"_extension\":\"The Extension contract to call (e.g., FeeManager)\"}},\"destructActivated(uint256,uint256)\":{\"details\":\"No need to assert anything beyond FundDeployer access. Uses the try/catch pattern throughout out of an abundance of caution for the function's success. All external calls must use limited forwarded gas to ensure that a migration to another release does not get bricked by logic that consumes too much gas for the block limit.\",\"params\":{\"_deactivateFeeManagerGasLimit\":\"The amount of gas to forward to deactivate the FeeManager\",\"_payProtocolFeeGasLimit\":\"The amount of gas to forward to pay the protocol fee\"}},\"doesAutoProtocolFeeSharesBuyback()\":{\"returns\":{\"doesAutoBuyback_\":\"True if shares are automatically bought back\"}},\"getDenominationAsset()\":{\"returns\":{\"denominationAsset_\":\"The `denominationAsset` variable value\"}},\"getDispatcher()\":{\"returns\":{\"dispatcher_\":\"The `DISPATCHER` variable value\"}},\"getExternalPositionManager()\":{\"returns\":{\"externalPositionManager_\":\"The `EXTERNAL_POSITION_MANAGER` variable value\"}},\"getFeeManager()\":{\"returns\":{\"feeManager_\":\"The `FEE_MANAGER` variable value\"}},\"getFundDeployer()\":{\"returns\":{\"fundDeployer_\":\"The `FUND_DEPLOYER` variable value\"}},\"getGasRelayPaymaster()\":{\"returns\":{\"gasRelayPaymaster_\":\"The `gasRelayPaymaster` variable value\"}},\"getGasRelayPaymasterFactory()\":{\"returns\":{\"gasRelayPaymasterFactory_\":\"The `GAS_RELAY_PAYMASTER_FACTORY` variable value\"}},\"getGasRelayTrustedForwarder()\":{\"returns\":{\"trustedForwarder_\":\"The trusted forwarder\"}},\"getIntegrationManager()\":{\"returns\":{\"integrationManager_\":\"The `INTEGRATION_MANAGER` variable value\"}},\"getLastSharesBoughtTimestampForAccount(address)\":{\"params\":{\"_who\":\"The account for which to get the timestamp\"},\"returns\":{\"lastSharesBoughtTimestamp_\":\"The timestamp of the last shares bought\"}},\"getMlnToken()\":{\"returns\":{\"mlnToken_\":\"The `MLN_TOKEN` variable value\"}},\"getPolicyManager()\":{\"returns\":{\"policyManager_\":\"The `POLICY_MANAGER` variable value\"}},\"getProtocolFeeReserve()\":{\"returns\":{\"protocolFeeReserve_\":\"The `PROTOCOL_FEE_RESERVE` variable value\"}},\"getSharesActionTimelock()\":{\"returns\":{\"sharesActionTimelock_\":\"The `sharesActionTimelock` variable value\"}},\"getValueInterpreter()\":{\"returns\":{\"valueInterpreter_\":\"The `VALUE_INTERPRETER` variable value\"}},\"getVaultProxy()\":{\"returns\":{\"vaultProxy_\":\"The `vaultProxy` variable value\"}},\"getWethToken()\":{\"returns\":{\"wethToken_\":\"The `WETH_TOKEN` variable value\"}},\"init(address,uint256)\":{\"details\":\"Pseudo-constructor per proxy. No need to assert access because this is called atomically on deployment, and once it's called, it cannot be called again.\",\"params\":{\"_denominationAsset\":\"The asset in which the fund's value should be denominated\",\"_sharesActionTimelock\":\"The minimum number of seconds between any two \\\"shares actions\\\" (buying or selling shares) by the same user\"}},\"permissionedVaultAction(uint8,bytes)\":{\"params\":{\"_action\":\"The enum representing the VaultAction to perform on the VaultProxy\",\"_actionData\":\"The call data for the action to perform\"}},\"preTransferSharesHook(address,address,uint256)\":{\"params\":{\"_amount\":\"The amount of shares\",\"_recipient\":\"The recipient of the shares\",\"_sender\":\"The sender of the shares\"}},\"preTransferSharesHookFreelyTransferable(address)\":{\"details\":\"No need to validate caller, as policies are not run\",\"params\":{\"_sender\":\"The sender of the shares\"}},\"pullWethForGasRelayer(uint256)\":{\"params\":{\"_amount\":\"Amount of the WETH to pull from the vault\"}},\"redeemSharesForSpecificAssets(address,uint256,address[],uint256[])\":{\"details\":\"Redeem all shares of the sender by setting _sharesQuantity to the max uint value. _payoutAssetPercentages must total exactly 100%. In order to specify less and forgo the remaining gav owed on the redeemed shares, pass in address(0) with the percentage to forego. Unlike redeemSharesInKind(), this function allows policies to run and prevent redemption.\",\"params\":{\"_payoutAssetPercentages\":\"The percentage of the owed amount to pay out in each asset\",\"_payoutAssets\":\"The assets to payout\",\"_recipient\":\"The account that will receive the specified assets\",\"_sharesQuantity\":\"The quantity of shares to redeem\"},\"returns\":{\"payoutAmounts_\":\"The amount of each asset paid out to the _recipient\"}},\"redeemSharesInKind(address,uint256,address[],address[])\":{\"details\":\"Redeem all shares of the sender by setting _sharesQuantity to the max uint value. Any claim to passed _assetsToSkip will be forfeited entirely. This should generally only be exercised if a bad asset is causing redemption to fail. This function should never fail without a way to bypass the failure, which is assured through two mechanisms: 1. The FeeManager is called with the try/catch pattern to assure that calls to it can never block redemption. 2. If a token fails upon transfer(), that token can be skipped (and its balance forfeited) by explicitly specifying _assetsToSkip. Because of these assurances, shares should always be redeemable, with the exception of the timelock period on shares actions that must be respected.\",\"params\":{\"_additionalAssets\":\"Additional (non-tracked) assets to claim\",\"_assetsToSkip\":\"Tracked assets to forfeit\",\"_recipient\":\"The account that will receive the proportionate slice of assets\",\"_sharesQuantity\":\"The quantity of shares to redeem\"},\"returns\":{\"payoutAmounts_\":\"The amount of each asset paid out to the _recipient\",\"payoutAssets_\":\"The assets paid out to the _recipient\"}},\"setAutoProtocolFeeSharesBuyback(bool)\":{\"params\":{\"_nextAutoProtocolFeeSharesBuyback\":\"True if protocol fee shares should be attempted to be bought back immediately when collected\"}},\"setGasRelayPaymaster(address)\":{\"params\":{\"_nextGasRelayPaymaster\":\"The next gasRelayPaymaster value\"}},\"setVaultProxy(address)\":{\"details\":\"No need to assert anything beyond FundDeployer access. Called atomically with init(), but after ComptrollerProxy has been deployed.\",\"params\":{\"_vaultProxy\":\"The VaultProxy contract\"}},\"vaultCallOnContract(address,bytes4,bytes)\":{\"params\":{\"_contract\":\"The contract to call\",\"_encodedArgs\":\"The encoded arguments for the call\",\"_selector\":\"The selector to call\"},\"returns\":{\"returnData_\":\"The data returned by the call\"}}},\"title\":\"ComptrollerLib Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"activate(bool)\":{\"notice\":\"Runs atomic logic after a ComptrollerProxy has become its vaultProxy's `accessor`\"},\"buyBackProtocolFeeShares(uint256)\":{\"notice\":\"Buys back shares collected as protocol fee at a discounted shares price, using MLN\"},\"buyShares(uint256,uint256)\":{\"notice\":\"Buys shares\"},\"buySharesOnBehalf(address,uint256,uint256)\":{\"notice\":\"Buys shares on behalf of another user\"},\"calcGav()\":{\"notice\":\"Calculates the gross asset value (GAV) of the fund\"},\"calcGrossShareValue()\":{\"notice\":\"Calculates the gross value of 1 unit of shares in the fund's denomination asset\"},\"callOnExtension(address,uint256,bytes)\":{\"notice\":\"Calls a specified action on an Extension\"},\"deployGasRelayPaymaster()\":{\"notice\":\"Deploys a paymaster contract and deposits WETH, enabling gas relaying\"},\"depositToGasRelayPaymaster()\":{\"notice\":\"Tops up the gas relay paymaster deposit\"},\"destructActivated(uint256,uint256)\":{\"notice\":\"Wind down and destroy a ComptrollerProxy that is active\"},\"destructUnactivated()\":{\"notice\":\"Destroy a ComptrollerProxy that has not been activated\"},\"doesAutoProtocolFeeSharesBuyback()\":{\"notice\":\"Checks if collected protocol fee shares are automatically bought back while buying or redeeming shares\"},\"getDenominationAsset()\":{\"notice\":\"Gets the `denominationAsset` variable\"},\"getDispatcher()\":{\"notice\":\"Gets the `DISPATCHER` variable\"},\"getExternalPositionManager()\":{\"notice\":\"Gets the `EXTERNAL_POSITION_MANAGER` variable\"},\"getFeeManager()\":{\"notice\":\"Gets the `FEE_MANAGER` variable\"},\"getFundDeployer()\":{\"notice\":\"Gets the `FUND_DEPLOYER` variable\"},\"getGasRelayPaymaster()\":{\"notice\":\"Gets the `gasRelayPaymaster` variable\"},\"getGasRelayPaymasterFactory()\":{\"notice\":\"Gets the `GAS_RELAY_PAYMASTER_FACTORY` variable\"},\"getGasRelayTrustedForwarder()\":{\"notice\":\"Gets the trusted forwarder for GSN relaying\"},\"getIntegrationManager()\":{\"notice\":\"Gets the `INTEGRATION_MANAGER` variable\"},\"getLastSharesBoughtTimestampForAccount(address)\":{\"notice\":\"Gets the timestamp of the last time shares were bought for a given account\"},\"getMlnToken()\":{\"notice\":\"Gets the `MLN_TOKEN` variable\"},\"getPolicyManager()\":{\"notice\":\"Gets the `POLICY_MANAGER` variable\"},\"getProtocolFeeReserve()\":{\"notice\":\"Gets the `PROTOCOL_FEE_RESERVE` variable\"},\"getSharesActionTimelock()\":{\"notice\":\"Gets the `sharesActionTimelock` variable\"},\"getValueInterpreter()\":{\"notice\":\"Gets the `VALUE_INTERPRETER` variable\"},\"getVaultProxy()\":{\"notice\":\"Gets the `vaultProxy` variable\"},\"getWethToken()\":{\"notice\":\"Gets the `WETH_TOKEN` variable\"},\"init(address,uint256)\":{\"notice\":\"Initializes a fund with its core config\"},\"permissionedVaultAction(uint8,bytes)\":{\"notice\":\"Makes a permissioned, state-changing call on the VaultProxy contract\"},\"preTransferSharesHook(address,address,uint256)\":{\"notice\":\"Runs logic prior to transferring shares that are not freely transferable\"},\"preTransferSharesHookFreelyTransferable(address)\":{\"notice\":\"Runs logic prior to transferring shares that are freely transferable\"},\"pullWethForGasRelayer(uint256)\":{\"notice\":\"Pull WETH from vault to gas relay paymaster\"},\"redeemSharesForSpecificAssets(address,uint256,address[],uint256[])\":{\"notice\":\"Redeems a specified amount of the sender's shares for specified asset proportions\"},\"redeemSharesInKind(address,uint256,address[],address[])\":{\"notice\":\"Redeems a specified amount of the sender's shares for a proportionate slice of the vault's assets\"},\"setAutoProtocolFeeSharesBuyback(bool)\":{\"notice\":\"Sets whether to attempt to buyback protocol fee shares immediately when collected\"},\"setGasRelayPaymaster(address)\":{\"notice\":\"Sets the gasRelayPaymaster variable value\"},\"setVaultProxy(address)\":{\"notice\":\"Sets the VaultProxy\"},\"shutdownGasRelayPaymaster()\":{\"notice\":\"Removes the gas relay paymaster, withdrawing the remaining WETH balance and disabling gas relaying\"},\"vaultCallOnContract(address,bytes4,bytes)\":{\"notice\":\"Makes an arbitrary call with the VaultProxy contract as the sender\"}},\"notice\":\"The core logic library shared by all funds\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/core/fund/comptroller/ComptrollerLib.sol\":\"ComptrollerLib\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/persistent/vault/interfaces/IExternalPositionVault.sol\":{\"keccak256\":\"0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d\",\"dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8\"]},\"contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol\":{\"keccak256\":\"0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb\",\"dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU\"]},\"contracts/persistent/vault/interfaces/IMigratableVault.sol\":{\"keccak256\":\"0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6\",\"dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs\"]},\"contracts/persistent/vault/interfaces/IVaultCore.sol\":{\"keccak256\":\"0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd\",\"dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr\"]},\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/core/fund/comptroller/ComptrollerLib.sol\":{\"keccak256\":\"0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579\",\"dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq\"]},\"contracts/release/core/fund/comptroller/IComptroller.sol\":{\"keccak256\":\"0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97\",\"dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L\"]},\"contracts/release/core/fund/vault/IVault.sol\":{\"keccak256\":\"0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599\",\"dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG\"]},\"contracts/release/extensions/IExtension.sol\":{\"keccak256\":\"0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70\",\"dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t\"]},\"contracts/release/extensions/fee-manager/IFeeManager.sol\":{\"keccak256\":\"0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22\",\"dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod\"]},\"contracts/release/extensions/policy-manager/IPolicyManager.sol\":{\"keccak256\":\"0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa\",\"dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb\"]},\"contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol\":{\"keccak256\":\"0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f\",\"dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol\":{\"keccak256\":\"0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0\",\"dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol\":{\"keccak256\":\"0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b\",\"dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3\"]},\"contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol\":{\"keccak256\":\"0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965\",\"dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ\"]},\"contracts/release/interfaces/IGsnForwarder.sol\":{\"keccak256\":\"0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29\",\"dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G\"]},\"contracts/release/interfaces/IGsnPaymaster.sol\":{\"keccak256\":\"0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4\",\"dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF\"]},\"contracts/release/interfaces/IGsnTypes.sol\":{\"keccak256\":\"0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7\",\"dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/beacon-proxy/IBeacon.sol\":{\"keccak256\":\"0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39\",\"dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V\"]},\"contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol\":{\"keccak256\":\"0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be\",\"dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_dispatcher", "type": "address" }, { "internalType": "address", "name": "_protocolFeeReserve", "type": "address" }, { "internalType": "address", "name": "_fundDeployer", "type": "address" }, { "internalType": "address", "name": "_valueInterpreter", "type": "address" }, { "internalType": "address", "name": "_externalPositionManager", "type": "address" }, { "internalType": "address", "name": "_feeManager", "type": "address" }, { "internalType": "address", "name": "_integrationManager", "type": "address" }, { "internalType": "address", "name": "_policyManager", "type": "address" }, { "internalType": "address", "name": "_gasRelayPaymasterFactory", "type": "address" }, { "internalType": "address", "name": "_mlnToken", "type": "address" }, { "internalType": "address", "name": "_wethToken", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "bool", "name": "autoProtocolFeeSharesBuyback", "type": "bool", "indexed": false } ], "type": "event", "name": "AutoProtocolFeeSharesBuybackSet", "anonymous": false }, { "inputs": [ { "internalType": "bytes", "name": "failureReturnData", "type": "bytes", "indexed": true }, { "internalType": "uint256", "name": "sharesAmount", "type": "uint256", "indexed": false }, { "internalType": "uint256", "name": "buybackValueInMln", "type": "uint256", "indexed": false }, { "internalType": "uint256", "name": "gav", "type": "uint256", "indexed": false } ], "type": "event", "name": "BuyBackMaxProtocolFeeSharesFailed", "anonymous": false }, { "inputs": [], "type": "event", "name": "DeactivateFeeManagerFailed", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "gasRelayPaymaster", "type": "address", "indexed": false } ], "type": "event", "name": "GasRelayPaymasterSet", "anonymous": false }, { "inputs": [ { "internalType": "uint256", "name": "sharesDue", "type": "uint256", "indexed": false } ], "type": "event", "name": "MigratedSharesDuePaid", "anonymous": false }, { "inputs": [], "type": "event", "name": "PayProtocolFeeDuringDestructFailed", "anonymous": false }, { "inputs": [ { "internalType": "bytes", "name": "failureReturnData", "type": "bytes", "indexed": true }, { "internalType": "address", "name": "redeemer", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "sharesAmount", "type": "uint256", "indexed": false } ], "type": "event", "name": "PreRedeemSharesHookFailed", "anonymous": false }, { "inputs": [], "type": "event", "name": "RedeemSharesInKindCalcGavFailed", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "buyer", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "investmentAmount", "type": "uint256", "indexed": false }, { "internalType": "uint256", "name": "sharesIssued", "type": "uint256", "indexed": false }, { "internalType": "uint256", "name": "sharesReceived", "type": "uint256", "indexed": false } ], "type": "event", "name": "SharesBought", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "redeemer", "type": "address", "indexed": true }, { "internalType": "address", "name": "recipient", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "sharesAmount", "type": "uint256", "indexed": false }, { "internalType": "address[]", "name": "receivedAssets", "type": "address[]", "indexed": false }, { "internalType": "uint256[]", "name": "receivedAssetAmounts", "type": "uint256[]", "indexed": false } ], "type": "event", "name": "SharesRedeemed", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "vaultProxy", "type": "address", "indexed": false } ], "type": "event", "name": "VaultProxySet", "anonymous": false }, { "inputs": [ { "internalType": "bool", "name": "_isMigration", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function", "name": "activate" }, { "inputs": [ { "internalType": "uint256", "name": "_sharesAmount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "buyBackProtocolFeeShares" }, { "inputs": [ { "internalType": "uint256", "name": "_investmentAmount", "type": "uint256" }, { "internalType": "uint256", "name": "_minSharesQuantity", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "buyShares", "outputs": [ { "internalType": "uint256", "name": "sharesReceived_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "_buyer", "type": "address" }, { "internalType": "uint256", "name": "_investmentAmount", "type": "uint256" }, { "internalType": "uint256", "name": "_minSharesQuantity", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "buySharesOnBehalf", "outputs": [ { "internalType": "uint256", "name": "sharesReceived_", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "calcGav", "outputs": [ { "internalType": "uint256", "name": "gav_", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "calcGrossShareValue", "outputs": [ { "internalType": "uint256", "name": "grossShareValue_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "_extension", "type": "address" }, { "internalType": "uint256", "name": "_actionId", "type": "uint256" }, { "internalType": "bytes", "name": "_callArgs", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "callOnExtension" }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "deployGasRelayPaymaster" }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "depositToGasRelayPaymaster" }, { "inputs": [ { "internalType": "uint256", "name": "_deactivateFeeManagerGasLimit", "type": "uint256" }, { "internalType": "uint256", "name": "_payProtocolFeeGasLimit", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "destructActivated" }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "destructUnactivated" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "doesAutoProtocolFeeSharesBuyback", "outputs": [ { "internalType": "bool", "name": "doesAutoBuyback_", "type": "bool" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getDenominationAsset", "outputs": [ { "internalType": "address", "name": "denominationAsset_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getDispatcher", "outputs": [ { "internalType": "address", "name": "dispatcher_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getExternalPositionManager", "outputs": [ { "internalType": "address", "name": "externalPositionManager_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getFeeManager", "outputs": [ { "internalType": "address", "name": "feeManager_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getFundDeployer", "outputs": [ { "internalType": "address", "name": "fundDeployer_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getGasRelayPaymaster", "outputs": [ { "internalType": "address", "name": "gasRelayPaymaster_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getGasRelayPaymasterFactory", "outputs": [ { "internalType": "address", "name": "gasRelayPaymasterFactory_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getGasRelayTrustedForwarder", "outputs": [ { "internalType": "address", "name": "trustedForwarder_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getIntegrationManager", "outputs": [ { "internalType": "address", "name": "integrationManager_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_who", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getLastSharesBoughtTimestampForAccount", "outputs": [ { "internalType": "uint256", "name": "lastSharesBoughtTimestamp_", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getMlnToken", "outputs": [ { "internalType": "address", "name": "mlnToken_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getPolicyManager", "outputs": [ { "internalType": "address", "name": "policyManager_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getProtocolFeeReserve", "outputs": [ { "internalType": "address", "name": "protocolFeeReserve_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getSharesActionTimelock", "outputs": [ { "internalType": "uint256", "name": "sharesActionTimelock_", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getValueInterpreter", "outputs": [ { "internalType": "address", "name": "valueInterpreter_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getVaultProxy", "outputs": [ { "internalType": "address", "name": "vaultProxy_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getWethToken", "outputs": [ { "internalType": "address", "name": "wethToken_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_denominationAsset", "type": "address" }, { "internalType": "uint256", "name": "_sharesActionTimelock", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "init" }, { "inputs": [ { "internalType": "enum IVault.VaultAction", "name": "_action", "type": "uint8" }, { "internalType": "bytes", "name": "_actionData", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "permissionedVaultAction" }, { "inputs": [ { "internalType": "address", "name": "_sender", "type": "address" }, { "internalType": "address", "name": "_recipient", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "preTransferSharesHook" }, { "inputs": [ { "internalType": "address", "name": "_sender", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "preTransferSharesHookFreelyTransferable" }, { "inputs": [ { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "pullWethForGasRelayer" }, { "inputs": [ { "internalType": "address", "name": "_recipient", "type": "address" }, { "internalType": "uint256", "name": "_sharesQuantity", "type": "uint256" }, { "internalType": "address[]", "name": "_payoutAssets", "type": "address[]" }, { "internalType": "uint256[]", "name": "_payoutAssetPercentages", "type": "uint256[]" } ], "stateMutability": "nonpayable", "type": "function", "name": "redeemSharesForSpecificAssets", "outputs": [ { "internalType": "uint256[]", "name": "payoutAmounts_", "type": "uint256[]" } ] }, { "inputs": [ { "internalType": "address", "name": "_recipient", "type": "address" }, { "internalType": "uint256", "name": "_sharesQuantity", "type": "uint256" }, { "internalType": "address[]", "name": "_additionalAssets", "type": "address[]" }, { "internalType": "address[]", "name": "_assetsToSkip", "type": "address[]" } ], "stateMutability": "nonpayable", "type": "function", "name": "redeemSharesInKind", "outputs": [ { "internalType": "address[]", "name": "payoutAssets_", "type": "address[]" }, { "internalType": "uint256[]", "name": "payoutAmounts_", "type": "uint256[]" } ] }, { "inputs": [ { "internalType": "bool", "name": "_nextAutoProtocolFeeSharesBuyback", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function", "name": "setAutoProtocolFeeSharesBuyback" }, { "inputs": [ { "internalType": "address", "name": "_nextGasRelayPaymaster", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "setGasRelayPaymaster" }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "setVaultProxy" }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "shutdownGasRelayPaymaster" }, { "inputs": [ { "internalType": "address", "name": "_contract", "type": "address" }, { "internalType": "bytes4", "name": "_selector", "type": "bytes4" }, { "internalType": "bytes", "name": "_encodedArgs", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "vaultCallOnContract", "outputs": [ { "internalType": "bytes", "name": "returnData_", "type": "bytes" } ] } ], "devdoc": { "kind": "dev", "methods": { "activate(bool)": { "details": "No need to assert anything beyond FundDeployer access.", "params": { "_isMigration": "True if a migrated fund is being activated" } }, "buyBackProtocolFeeShares(uint256)": { "params": { "_sharesAmount": "The amount of shares to buy back" } }, "buyShares(uint256,uint256)": { "params": { "_investmentAmount": "The amount of the fund's denomination asset with which to buy shares", "_minSharesQuantity": "The minimum quantity of shares to buy" }, "returns": { "sharesReceived_": "The actual amount of shares received" } }, "buySharesOnBehalf(address,uint256,uint256)": { "details": "This function is freely callable if there is no sharesActionTimelock set, but it is limited to a list of trusted callers otherwise, in order to prevent a griefing attack where the caller buys shares for a _buyer, thereby resetting their lastSharesBought value.", "params": { "_buyer": "The account on behalf of whom to buy shares", "_investmentAmount": "The amount of the fund's denomination asset with which to buy shares", "_minSharesQuantity": "The minimum quantity of shares to buy" }, "returns": { "sharesReceived_": "The actual amount of shares received" } }, "calcGav()": { "returns": { "gav_": "The fund GAV" } }, "calcGrossShareValue()": { "details": "Does not account for any fees outstanding.", "returns": { "grossShareValue_": "The amount of the denomination asset per share" } }, "callOnExtension(address,uint256,bytes)": { "details": "Used to route arbitrary calls, so that msg.sender is the ComptrollerProxy (for access control). Uses a mutex of sorts that allows \"permissioned vault actions\" during calls originating from this function.", "params": { "_actionId": "An ID representing the action to take on the extension (see extension)", "_callArgs": "The encoded data for the call", "_extension": "The Extension contract to call (e.g., FeeManager)" } }, "destructActivated(uint256,uint256)": { "details": "No need to assert anything beyond FundDeployer access. Uses the try/catch pattern throughout out of an abundance of caution for the function's success. All external calls must use limited forwarded gas to ensure that a migration to another release does not get bricked by logic that consumes too much gas for the block limit.", "params": { "_deactivateFeeManagerGasLimit": "The amount of gas to forward to deactivate the FeeManager", "_payProtocolFeeGasLimit": "The amount of gas to forward to pay the protocol fee" } }, "doesAutoProtocolFeeSharesBuyback()": { "returns": { "doesAutoBuyback_": "True if shares are automatically bought back" } }, "getDenominationAsset()": { "returns": { "denominationAsset_": "The `denominationAsset` variable value" } }, "getDispatcher()": { "returns": { "dispatcher_": "The `DISPATCHER` variable value" } }, "getExternalPositionManager()": { "returns": { "externalPositionManager_": "The `EXTERNAL_POSITION_MANAGER` variable value" } }, "getFeeManager()": { "returns": { "feeManager_": "The `FEE_MANAGER` variable value" } }, "getFundDeployer()": { "returns": { "fundDeployer_": "The `FUND_DEPLOYER` variable value" } }, "getGasRelayPaymaster()": { "returns": { "gasRelayPaymaster_": "The `gasRelayPaymaster` variable value" } }, "getGasRelayPaymasterFactory()": { "returns": { "gasRelayPaymasterFactory_": "The `GAS_RELAY_PAYMASTER_FACTORY` variable value" } }, "getGasRelayTrustedForwarder()": { "returns": { "trustedForwarder_": "The trusted forwarder" } }, "getIntegrationManager()": { "returns": { "integrationManager_": "The `INTEGRATION_MANAGER` variable value" } }, "getLastSharesBoughtTimestampForAccount(address)": { "params": { "_who": "The account for which to get the timestamp" }, "returns": { "lastSharesBoughtTimestamp_": "The timestamp of the last shares bought" } }, "getMlnToken()": { "returns": { "mlnToken_": "The `MLN_TOKEN` variable value" } }, "getPolicyManager()": { "returns": { "policyManager_": "The `POLICY_MANAGER` variable value" } }, "getProtocolFeeReserve()": { "returns": { "protocolFeeReserve_": "The `PROTOCOL_FEE_RESERVE` variable value" } }, "getSharesActionTimelock()": { "returns": { "sharesActionTimelock_": "The `sharesActionTimelock` variable value" } }, "getValueInterpreter()": { "returns": { "valueInterpreter_": "The `VALUE_INTERPRETER` variable value" } }, "getVaultProxy()": { "returns": { "vaultProxy_": "The `vaultProxy` variable value" } }, "getWethToken()": { "returns": { "wethToken_": "The `WETH_TOKEN` variable value" } }, "init(address,uint256)": { "details": "Pseudo-constructor per proxy. No need to assert access because this is called atomically on deployment, and once it's called, it cannot be called again.", "params": { "_denominationAsset": "The asset in which the fund's value should be denominated", "_sharesActionTimelock": "The minimum number of seconds between any two \"shares actions\" (buying or selling shares) by the same user" } }, "permissionedVaultAction(uint8,bytes)": { "params": { "_action": "The enum representing the VaultAction to perform on the VaultProxy", "_actionData": "The call data for the action to perform" } }, "preTransferSharesHook(address,address,uint256)": { "params": { "_amount": "The amount of shares", "_recipient": "The recipient of the shares", "_sender": "The sender of the shares" } }, "preTransferSharesHookFreelyTransferable(address)": { "details": "No need to validate caller, as policies are not run", "params": { "_sender": "The sender of the shares" } }, "pullWethForGasRelayer(uint256)": { "params": { "_amount": "Amount of the WETH to pull from the vault" } }, "redeemSharesForSpecificAssets(address,uint256,address[],uint256[])": { "details": "Redeem all shares of the sender by setting _sharesQuantity to the max uint value. _payoutAssetPercentages must total exactly 100%. In order to specify less and forgo the remaining gav owed on the redeemed shares, pass in address(0) with the percentage to forego. Unlike redeemSharesInKind(), this function allows policies to run and prevent redemption.", "params": { "_payoutAssetPercentages": "The percentage of the owed amount to pay out in each asset", "_payoutAssets": "The assets to payout", "_recipient": "The account that will receive the specified assets", "_sharesQuantity": "The quantity of shares to redeem" }, "returns": { "payoutAmounts_": "The amount of each asset paid out to the _recipient" } }, "redeemSharesInKind(address,uint256,address[],address[])": { "details": "Redeem all shares of the sender by setting _sharesQuantity to the max uint value. Any claim to passed _assetsToSkip will be forfeited entirely. This should generally only be exercised if a bad asset is causing redemption to fail. This function should never fail without a way to bypass the failure, which is assured through two mechanisms: 1. The FeeManager is called with the try/catch pattern to assure that calls to it can never block redemption. 2. If a token fails upon transfer(), that token can be skipped (and its balance forfeited) by explicitly specifying _assetsToSkip. Because of these assurances, shares should always be redeemable, with the exception of the timelock period on shares actions that must be respected.", "params": { "_additionalAssets": "Additional (non-tracked) assets to claim", "_assetsToSkip": "Tracked assets to forfeit", "_recipient": "The account that will receive the proportionate slice of assets", "_sharesQuantity": "The quantity of shares to redeem" }, "returns": { "payoutAmounts_": "The amount of each asset paid out to the _recipient", "payoutAssets_": "The assets paid out to the _recipient" } }, "setAutoProtocolFeeSharesBuyback(bool)": { "params": { "_nextAutoProtocolFeeSharesBuyback": "True if protocol fee shares should be attempted to be bought back immediately when collected" } }, "setGasRelayPaymaster(address)": { "params": { "_nextGasRelayPaymaster": "The next gasRelayPaymaster value" } }, "setVaultProxy(address)": { "details": "No need to assert anything beyond FundDeployer access. Called atomically with init(), but after ComptrollerProxy has been deployed.", "params": { "_vaultProxy": "The VaultProxy contract" } }, "vaultCallOnContract(address,bytes4,bytes)": { "params": { "_contract": "The contract to call", "_encodedArgs": "The encoded arguments for the call", "_selector": "The selector to call" }, "returns": { "returnData_": "The data returned by the call" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "activate(bool)": { "notice": "Runs atomic logic after a ComptrollerProxy has become its vaultProxy's `accessor`" }, "buyBackProtocolFeeShares(uint256)": { "notice": "Buys back shares collected as protocol fee at a discounted shares price, using MLN" }, "buyShares(uint256,uint256)": { "notice": "Buys shares" }, "buySharesOnBehalf(address,uint256,uint256)": { "notice": "Buys shares on behalf of another user" }, "calcGav()": { "notice": "Calculates the gross asset value (GAV) of the fund" }, "calcGrossShareValue()": { "notice": "Calculates the gross value of 1 unit of shares in the fund's denomination asset" }, "callOnExtension(address,uint256,bytes)": { "notice": "Calls a specified action on an Extension" }, "deployGasRelayPaymaster()": { "notice": "Deploys a paymaster contract and deposits WETH, enabling gas relaying" }, "depositToGasRelayPaymaster()": { "notice": "Tops up the gas relay paymaster deposit" }, "destructActivated(uint256,uint256)": { "notice": "Wind down and destroy a ComptrollerProxy that is active" }, "destructUnactivated()": { "notice": "Destroy a ComptrollerProxy that has not been activated" }, "doesAutoProtocolFeeSharesBuyback()": { "notice": "Checks if collected protocol fee shares are automatically bought back while buying or redeeming shares" }, "getDenominationAsset()": { "notice": "Gets the `denominationAsset` variable" }, "getDispatcher()": { "notice": "Gets the `DISPATCHER` variable" }, "getExternalPositionManager()": { "notice": "Gets the `EXTERNAL_POSITION_MANAGER` variable" }, "getFeeManager()": { "notice": "Gets the `FEE_MANAGER` variable" }, "getFundDeployer()": { "notice": "Gets the `FUND_DEPLOYER` variable" }, "getGasRelayPaymaster()": { "notice": "Gets the `gasRelayPaymaster` variable" }, "getGasRelayPaymasterFactory()": { "notice": "Gets the `GAS_RELAY_PAYMASTER_FACTORY` variable" }, "getGasRelayTrustedForwarder()": { "notice": "Gets the trusted forwarder for GSN relaying" }, "getIntegrationManager()": { "notice": "Gets the `INTEGRATION_MANAGER` variable" }, "getLastSharesBoughtTimestampForAccount(address)": { "notice": "Gets the timestamp of the last time shares were bought for a given account" }, "getMlnToken()": { "notice": "Gets the `MLN_TOKEN` variable" }, "getPolicyManager()": { "notice": "Gets the `POLICY_MANAGER` variable" }, "getProtocolFeeReserve()": { "notice": "Gets the `PROTOCOL_FEE_RESERVE` variable" }, "getSharesActionTimelock()": { "notice": "Gets the `sharesActionTimelock` variable" }, "getValueInterpreter()": { "notice": "Gets the `VALUE_INTERPRETER` variable" }, "getVaultProxy()": { "notice": "Gets the `vaultProxy` variable" }, "getWethToken()": { "notice": "Gets the `WETH_TOKEN` variable" }, "init(address,uint256)": { "notice": "Initializes a fund with its core config" }, "permissionedVaultAction(uint8,bytes)": { "notice": "Makes a permissioned, state-changing call on the VaultProxy contract" }, "preTransferSharesHook(address,address,uint256)": { "notice": "Runs logic prior to transferring shares that are not freely transferable" }, "preTransferSharesHookFreelyTransferable(address)": { "notice": "Runs logic prior to transferring shares that are freely transferable" }, "pullWethForGasRelayer(uint256)": { "notice": "Pull WETH from vault to gas relay paymaster" }, "redeemSharesForSpecificAssets(address,uint256,address[],uint256[])": { "notice": "Redeems a specified amount of the sender's shares for specified asset proportions" }, "redeemSharesInKind(address,uint256,address[],address[])": { "notice": "Redeems a specified amount of the sender's shares for a proportionate slice of the vault's assets" }, "setAutoProtocolFeeSharesBuyback(bool)": { "notice": "Sets whether to attempt to buyback protocol fee shares immediately when collected" }, "setGasRelayPaymaster(address)": { "notice": "Sets the gasRelayPaymaster variable value" }, "setVaultProxy(address)": { "notice": "Sets the VaultProxy" }, "shutdownGasRelayPaymaster()": { "notice": "Removes the gas relay paymaster, withdrawing the remaining WETH balance and disabling gas relaying" }, "vaultCallOnContract(address,bytes4,bytes)": { "notice": "Makes an arbitrary call with the VaultProxy contract as the sender" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/core/fund/comptroller/ComptrollerLib.sol": "ComptrollerLib" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/dispatcher/IDispatcher.sol": { "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", "urls": [ "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" ], "license": "GPL-3.0" }, "contracts/persistent/external-positions/IExternalPosition.sol": { "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", "urls": [ "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IExternalPositionVault.sol": { "keccak256": "0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6", "urls": [ "bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d", "dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol": { "keccak256": "0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0", "urls": [ "bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb", "dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IMigratableVault.sol": { "keccak256": "0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238", "urls": [ "bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6", "dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IVaultCore.sol": { "keccak256": "0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80", "urls": [ "bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd", "dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr" ], "license": "GPL-3.0" }, "contracts/release/core/fund-deployer/IFundDeployer.sol": { "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", "urls": [ "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" ], "license": "GPL-3.0" }, "contracts/release/core/fund/comptroller/ComptrollerLib.sol": { "keccak256": "0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64", "urls": [ "bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579", "dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq" ], "license": "GPL-3.0" }, "contracts/release/core/fund/comptroller/IComptroller.sol": { "keccak256": "0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f", "urls": [ "bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97", "dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L" ], "license": "GPL-3.0" }, "contracts/release/core/fund/vault/IVault.sol": { "keccak256": "0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd", "urls": [ "bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599", "dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG" ], "license": "GPL-3.0" }, "contracts/release/extensions/IExtension.sol": { "keccak256": "0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b", "urls": [ "bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70", "dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t" ], "license": "GPL-3.0" }, "contracts/release/extensions/fee-manager/IFeeManager.sol": { "keccak256": "0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51", "urls": [ "bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22", "dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod" ], "license": "GPL-3.0" }, "contracts/release/extensions/policy-manager/IPolicyManager.sol": { "keccak256": "0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32", "urls": [ "bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa", "dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol": { "keccak256": "0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609", "urls": [ "bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f", "dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol": { "keccak256": "0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01", "urls": [ "bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0", "dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol": { "keccak256": "0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196", "urls": [ "bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b", "dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol": { "keccak256": "0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794", "urls": [ "bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965", "dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IGsnForwarder.sol": { "keccak256": "0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030", "urls": [ "bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29", "dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IGsnPaymaster.sol": { "keccak256": "0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c", "urls": [ "bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4", "dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IGsnTypes.sol": { "keccak256": "0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714", "urls": [ "bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7", "dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C" ], "license": "GPL-3.0" }, "contracts/release/utils/AddressArrayLib.sol": { "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", "urls": [ "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" ], "license": "GPL-3.0" }, "contracts/release/utils/beacon-proxy/IBeacon.sol": { "keccak256": "0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2", "urls": [ "bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39", "dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V" ], "license": "GPL-3.0" }, "contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol": { "keccak256": "0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc", "urls": [ "bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be", "dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", "urls": [ "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Address.sol": { "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", "urls": [ "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" } }, "version": 1 }, "id": 79 } diff --git a/eth_defi/abi/enzyme/ComptrollerProxy.json b/eth_defi/abi/enzyme/ComptrollerProxy.json index af389cf5..4d19b0a2 100644 --- a/eth_defi/abi/enzyme/ComptrollerProxy.json +++ b/eth_defi/abi/enzyme/ComptrollerProxy.json @@ -1,137 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "bytes", - "name": "_constructData", - "type": "bytes" - }, - { - "internalType": "address", - "name": "_comptrollerLib", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "stateMutability": "payable", - "type": "fallback" - } - ], - "bytecode": { - "object": "0x60a060405234801561001057600080fd5b506040516102e03803806102e08339818101604052604081101561003357600080fd5b810190808051604051939291908464010000000082111561005357600080fd5b90830190602082018581111561006857600080fd5b825164010000000081118282018810171561008257600080fd5b82525081516020918201929091019080838360005b838110156100af578181015183820152602001610097565b50505050905090810190601f1680156100dc5780820380516001836020036101000a031916815260200191505b50604052602001805190602001909291905050508181806001600160a01b03166080816001600160a01b031660601b81525050807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5560006060826001600160a01b0316846040518082805190602001908083835b602083106101705780518252601f199092019160209182019101610151565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d80600081146101d0576040519150601f19603f3d011682016040523d82523d6000602084013e6101d5565b606091505b50915091508181906102655760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561022a578181015183820152602001610212565b50505050905090810190601f1680156102575780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5050505050505060805160601c605a6102866000398060065250605a6000f3fe60806040527f00000000000000000000000000000000000000000000000000000000000000003660008037600080366000846127105a03f43d806000803e818015604857816000f35b816000fdfea164736f6c634300060c000a", - "sourceMap": "483:203:80:-:0;;;537:147;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;537:147:80;;;;;;;;;;-1:-1:-1;537:147:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;537:147:80;;;;;;;;;925:31:362;;;;-1:-1:-1;;925:31:362;;;1110:66;1086:136;;;1283:43;;537:147:80;;-1:-1:-1;1283:43:362;;-1:-1:-1;537:147:80;;1242:12:362;;925:31;;-1:-1:-1;;;;;925:31:362;;;1283:43;;537:147:80;;;;1283:43:362;;;;537:147:80;1283:43:362;;;;;;;;;;;-1:-1:-1;;1283:43:362;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1241:85;;;;1344:7;1360:10;1336:36;;;;;-1:-1:-1;;;1336:36:362;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;843:536;;;;537:147:80;;483:203;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x60806040527f00000000000000000000000000000000000000000000000000000000000000003660008037600080366000846127105a03f43d806000803e818015604857816000f35b816000fdfea164736f6c634300060c000a", - "sourceMap": "483:203:80:-:0;;;1500:14:362;1571;1476:21;;1548:38;1782:1;1763;1731:14;1710:3;1679:13;1655:5;1648;1644:17;1614:183;1823:16;1873:5;1870:1;1867;1852:27;1899:7;1919:55;;;;2023:5;2020:1;2013:16;1919:55;1954:5;1951:1;1944:16", - "linkReferences": {}, - "immutableReferences": { - "78944": [ - { - "start": 6, - "length": 32 - } - ] - } - }, - "methodIdentifiers": {}, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_constructData\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"_comptrollerLib\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"stateMutability\":\"payable\",\"type\":\"fallback\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ComptrollerProxy Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"A proxy contract for all ComptrollerProxy instances\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/core/fund/comptroller/ComptrollerProxy.sol\":\"ComptrollerProxy\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/core/fund/comptroller/ComptrollerProxy.sol\":{\"keccak256\":\"0x2915bf85b7a39e3b31f00d87bf06fc11415c6e027e00f98681b122176b74c76f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://07a34cb3bd349426cbf016b21a3be2391c2a2aba1cd383965da2b5546253515b\",\"dweb:/ipfs/QmbQtHhPzFPQjw5JgLNQN2ZeVUrYQXKwAUaW5pwNMAcSQ3\"]},\"contracts/release/utils/NonUpgradableProxy.sol\":{\"keccak256\":\"0x7d70145a2a0ff8c36318b23ac6ca662f133584dd823933230c66143b89e2d53d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b05ea625a428fdf3f908db3e97a358a4117d4998abde806ba3839c7fad821bca\",\"dweb:/ipfs/QmSLzFT1ktLTZ7rAKYjcg6dBRuxVMzrGXjGJSsH5nSVx2G\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "bytes", - "name": "_constructData", - "type": "bytes" - }, - { - "internalType": "address", - "name": "_comptrollerLib", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "stateMutability": "payable", - "type": "fallback" - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/core/fund/comptroller/ComptrollerProxy.sol": "ComptrollerProxy" - }, - "libraries": {} - }, - "sources": { - "contracts/release/core/fund/comptroller/ComptrollerProxy.sol": { - "keccak256": "0x2915bf85b7a39e3b31f00d87bf06fc11415c6e027e00f98681b122176b74c76f", - "urls": [ - "bzz-raw://07a34cb3bd349426cbf016b21a3be2391c2a2aba1cd383965da2b5546253515b", - "dweb:/ipfs/QmbQtHhPzFPQjw5JgLNQN2ZeVUrYQXKwAUaW5pwNMAcSQ3" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/NonUpgradableProxy.sol": { - "keccak256": "0x7d70145a2a0ff8c36318b23ac6ca662f133584dd823933230c66143b89e2d53d", - "urls": [ - "bzz-raw://b05ea625a428fdf3f908db3e97a358a4117d4998abde806ba3839c7fad821bca", - "dweb:/ipfs/QmSLzFT1ktLTZ7rAKYjcg6dBRuxVMzrGXjGJSsH5nSVx2G" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 80 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_constructData", "type": "bytes", "internalType": "bytes" }, { "name": "_comptrollerLib", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "fallback", "stateMutability": "payable" } ], "bytecode": { "object": "0x60a060405234801561001057600080fd5b506040516102e03803806102e08339818101604052604081101561003357600080fd5b810190808051604051939291908464010000000082111561005357600080fd5b90830190602082018581111561006857600080fd5b825164010000000081118282018810171561008257600080fd5b82525081516020918201929091019080838360005b838110156100af578181015183820152602001610097565b50505050905090810190601f1680156100dc5780820380516001836020036101000a031916815260200191505b50604052602001805190602001909291905050508181806001600160a01b03166080816001600160a01b031660601b81525050807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5560006060826001600160a01b0316846040518082805190602001908083835b602083106101705780518252601f199092019160209182019101610151565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d80600081146101d0576040519150601f19603f3d011682016040523d82523d6000602084013e6101d5565b606091505b50915091508181906102655760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561022a578181015183820152602001610212565b50505050905090810190601f1680156102575780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5050505050505060805160601c605a6102866000398060065250605a6000f3fe60806040527f00000000000000000000000000000000000000000000000000000000000000003660008037600080366000846127105a03f43d806000803e818015604857816000f35b816000fdfea164736f6c634300060c000a", "sourceMap": "483:203:80:-:0;;;537:147;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;537:147:80;;;;;;;;;;-1:-1:-1;537:147:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;537:147:80;;;;;;;;;925:31:362;;;;-1:-1:-1;;925:31:362;;;1110:66;1086:136;;;1283:43;;537:147:80;;-1:-1:-1;1283:43:362;;-1:-1:-1;537:147:80;;1242:12:362;;925:31;;-1:-1:-1;;;;;925:31:362;;;1283:43;;537:147:80;;;;1283:43:362;;;;537:147:80;1283:43:362;;;;;;;;;;;-1:-1:-1;;1283:43:362;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1241:85;;;;1344:7;1360:10;1336:36;;;;;-1:-1:-1;;;1336:36:362;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;843:536;;;;537:147:80;;483:203;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x60806040527f00000000000000000000000000000000000000000000000000000000000000003660008037600080366000846127105a03f43d806000803e818015604857816000f35b816000fdfea164736f6c634300060c000a", "sourceMap": "483:203:80:-:0;;;1500:14:362;1571;1476:21;;1548:38;1782:1;1763;1731:14;1710:3;1679:13;1655:5;1648;1644:17;1614:183;1823:16;1873:5;1870:1;1867;1852:27;1899:7;1919:55;;;;2023:5;2020:1;2013:16;1919:55;1954:5;1951:1;1944:16", "linkReferences": {}, "immutableReferences": { "78944": [ { "start": 6, "length": 32 } ] } }, "methodIdentifiers": {}, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_constructData\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"_comptrollerLib\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"stateMutability\":\"payable\",\"type\":\"fallback\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ComptrollerProxy Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"A proxy contract for all ComptrollerProxy instances\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/core/fund/comptroller/ComptrollerProxy.sol\":\"ComptrollerProxy\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/core/fund/comptroller/ComptrollerProxy.sol\":{\"keccak256\":\"0x2915bf85b7a39e3b31f00d87bf06fc11415c6e027e00f98681b122176b74c76f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://07a34cb3bd349426cbf016b21a3be2391c2a2aba1cd383965da2b5546253515b\",\"dweb:/ipfs/QmbQtHhPzFPQjw5JgLNQN2ZeVUrYQXKwAUaW5pwNMAcSQ3\"]},\"contracts/release/utils/NonUpgradableProxy.sol\":{\"keccak256\":\"0x7d70145a2a0ff8c36318b23ac6ca662f133584dd823933230c66143b89e2d53d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b05ea625a428fdf3f908db3e97a358a4117d4998abde806ba3839c7fad821bca\",\"dweb:/ipfs/QmSLzFT1ktLTZ7rAKYjcg6dBRuxVMzrGXjGJSsH5nSVx2G\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "bytes", "name": "_constructData", "type": "bytes" }, { "internalType": "address", "name": "_comptrollerLib", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "stateMutability": "payable", "type": "fallback" } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/core/fund/comptroller/ComptrollerProxy.sol": "ComptrollerProxy" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/core/fund/comptroller/ComptrollerProxy.sol": { "keccak256": "0x2915bf85b7a39e3b31f00d87bf06fc11415c6e027e00f98681b122176b74c76f", "urls": [ "bzz-raw://07a34cb3bd349426cbf016b21a3be2391c2a2aba1cd383965da2b5546253515b", "dweb:/ipfs/QmbQtHhPzFPQjw5JgLNQN2ZeVUrYQXKwAUaW5pwNMAcSQ3" ], "license": "GPL-3.0" }, "contracts/release/utils/NonUpgradableProxy.sol": { "keccak256": "0x7d70145a2a0ff8c36318b23ac6ca662f133584dd823933230c66143b89e2d53d", "urls": [ "bzz-raw://b05ea625a428fdf3f908db3e97a358a4117d4998abde806ba3839c7fad821bca", "dweb:/ipfs/QmSLzFT1ktLTZ7rAKYjcg6dBRuxVMzrGXjGJSsH5nSVx2G" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 80 } diff --git a/eth_defi/abi/enzyme/ConstructorTest.json b/eth_defi/abi/enzyme/ConstructorTest.json index eb9dc187..0e0581d2 100644 --- a/eth_defi/abi/enzyme/ConstructorTest.json +++ b/eth_defi/abi/enzyme/ConstructorTest.json @@ -1,1112 +1 @@ -{ - "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_SCRIPT", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "IS_TEST", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "_name", - "type": "string" - } - ], - "name": "addr", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "failed", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "setUp", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "testInitialState", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "vm", - "outputs": [ - { - "internalType": "contract Vm", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x60806040526000805462ff00001960ff19909116600117166201000017905534801561002a57600080fd5b5061322a8061003a6000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c8063b2c9d7cd1161005b578063b2c9d7cd14610156578063ba414fa61461015e578063f8ccbf471461017a578063fa7626d4146101825761007d565b80630a9254e4146100825780633a7684631461008c578063511b1df9146100b0575b600080fd5b61008a61018a565b005b6100946101d5565b604080516001600160a01b039092168252519081900360200190f35b610094600480360360208110156100c657600080fd5b8101906020810181356401000000008111156100e157600080fd5b8201836020820111156100f357600080fd5b8035906020019184600183028401116401000000008311171561011557600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506101ed945050505050565b61008a610201565b6101666102d9565b604080519115158252519081900360200190f35b61016661049f565b6101666104ae565b60405161019690610797565b604051809103906000f0801580156101b2573d6000803e3d6000fd5b50600880546001600160a01b0319166001600160a01b0392909216919091179055565b737109709ecfa91a80626ff3989d68f67f5b1dd12d81565b80516020909101206001600160a01b031690565b61028430600860009054906101000a90046001600160a01b03166001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561025357600080fd5b505afa158015610267573d6000803e3d6000fd5b505050506040513d602081101561027d57600080fd5b50516104b7565b6102d76000600860009054906101000a90046001600160a01b03166001600160a01b031663288b6a366040518163ffffffff1660e01b815260040160206040518083038186803b15801561025357600080fd5b565b60008054610100900460ff16156102fb5750600054610100900460ff1661049c565b60006103056105dd565b156104995760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d60208083018290526519985a5b195960d21b838501528351808403850181526060848101909552630667f9d760e41b60808501908152815193947f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc494929391926084909101918401908083835b602083106103af5780518252601f199092019160209182019101610390565b6001836020036101000a038019825116818451168082178552505050505050905001925050506040516020818303038152906040526040518082805190602001908083835b602083106104135780518252601f1990920191602091820191016103f4565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610475576040519150601f19603f3d011682016040523d82523d6000602084013e61047a565b606091505b5091505080806020019051602081101561049357600080fd5b50519150505b90505b90565b60005462010000900460ff1681565b60005460ff1681565b806001600160a01b0316826001600160a01b0316146105d9577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f506040518080602001828103825260258152602001806131f96025913960400191505060405180910390a1604080516001600160a01b0383166020820152818152600a81830152690808115e1c1958dd195960b21b606082015290517f9c4e8541ca8f0dc1c413f9108f66d82d3cecb1bddbce437a61caa3175c4cc96f9181900360800190a1604080516001600160a01b0384166020820152818152600a8183015269080808081058dd1d585b60b21b606082015290517f9c4e8541ca8f0dc1c413f9108f66d82d3cecb1bddbce437a61caa3175c4cc96f9181900360800190a16105d96105f8565b5050565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b151590565b6106006105dd565b156107865760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d60208083018290526519985a5b195960d21b83850152600160608481019190915284518085039091018152608084019094526370ca10bb60e01b60a08401908152845160009593947f70ca10bbd0dbfd9020a9f4b13402c16cb120705e0d1c0aeab10fa353ae586fc4949360a490910191908401908083835b602083106106b65780518252601f199092019160209182019101610697565b6001836020036101000a038019825116818451168082178552505050505050905001925050506040516020818303038152906040526040518082805190602001908083835b6020831061071a5780518252601f1990920191602091820191016106fb565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811461077c576040519150601f19603f3d011682016040523d82523d6000602084013e610781565b606091505b505050505b6000805461ff001916610100179055565b612a54806107a58339019056fe60806040523480156200001157600080fd5b506202a300600355600280546001600160a01b031916331790556040805180820190915260048082526322a72d2360e11b60209092019182526200005691816200005d565b50620000f9565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620000a057805160ff1916838001178555620000d0565b82800160010185558215620000d0579182015b82811115620000d0578251825591602001919060010190620000b3565b50620000de929150620000e2565b5090565b5b80821115620000de5760008155600101620000e3565b61294b80620001096000396000f3fe60806040523480156200001157600080fd5b5060043610620001485760003560e01c806377a8c62411620000bd57806397af7050116200007b57806397af7050146200042d5780639c9d48da1462000456578063b47b06001462000487578063d0449d3d1462000509578063d15f9b9c14620005325762000148565b806377a8c62414620003885780637c77b2ed14620003b15780637dad9fc814620003bb5780638156eecf1462000419578063893d20e814620004235762000148565b80633d7c74f8116200010b5780633d7c74f814620002795780634e71e0c814620002a257806366231cea14620002ac578063728e17a014620002e9578063757bc0dd14620003125762000148565b80631df419f7146200014d57806322a0c08b146200016f578063288b6a3614620002225780632fa0c161146200022c57806338b3eb1b1462000248575b600080fd5b6200016d600480360360208110156200016557600080fd5b503562000573565b005b62000206600480360360808110156200018757600080fd5b6001600160a01b0382358116926020810135821692604082013590921691810190608081016060820135640100000000811115620001c457600080fd5b820183602082011115620001d757600080fd5b80359060200191846001830284011164010000000083111715620001fa57600080fd5b50909250905062000646565b604080516001600160a01b039092168252519081900360200190f35b62000206620008df565b62000236620008ee565b60408051918252519081900360200190f35b6200016d600480360360408110156200026057600080fd5b506001600160a01b0381351690602001351515620008f4565b62000206600480360360208110156200029157600080fd5b50356001600160a01b031662000c46565b6200016d62000c67565b620002d560048036036020811015620002c457600080fd5b50356001600160a01b031662000d10565b604080519115158252519081900360200190f35b6200016d600480360360208110156200030157600080fd5b50356001600160a01b031662000d43565b6200016d600480360360208110156200032a57600080fd5b8101906020810181356401000000008111156200034657600080fd5b8201836020820111156200035957600080fd5b803590602001918460018302840111640100000000831117156200037c57600080fd5b50909250905062000ebd565b6200023660048036036020811015620003a057600080fd5b50356001600160a01b031662000f7b565b6200020662000fc4565b620003e460048036036020811015620003d357600080fd5b50356001600160a01b031662000fd3565b604080516001600160a01b03958616815293851660208501529190931682820152606082019290925290519081900360800190f35b6200016d6200106b565b6200020662001147565b6200016d600480360360208110156200044557600080fd5b50356001600160a01b031662001156565b6200016d600480360360408110156200046e57600080fd5b506001600160a01b0381351690602001351515620012e1565b620004916200152a565b6040805160208082528351818301528351919283929083019185019080838360005b83811015620004cd578181015183820152602001620004b3565b50505050905090810190601f168015620004fb5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b620002d5600480360360208110156200052157600080fd5b50356001600160a01b0316620015c4565b6200016d600480360360808110156200054a57600080fd5b506001600160a01b038135811691602081013582169160408201351690606001351515620015e4565b6002546001600160a01b03163314620005be5760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b60035481811415620006025760405162461bcd60e51b815260040180806020018281038252603b81526020018062002904603b913960400191505060405180910390fd5b6003829055604080518281526020810184905281517f481ce28a1145a5d9b59e2d1d7eba33bc3350124def8fdc91032238d343ad5361929181900390910190a15050565b600080546001600160a01b03163314620006925760405162461bcd60e51b8152600401808060200182810382526034815260200180620024b66034913960400191505060405180910390fd5b6200069d8462001832565b620006da5760405162461bcd60e51b815260040180806020018281038252602d8152602001806200269b602d913960400191505060405180910390fd5b6060635c9a6d3760e01b8686868660405160240180856001600160a01b03168152602001846001600160a01b0316815260200180602001828103825284848281815260200192508082843760008382015260408051601f909201601f1990811690940182810390940182529283526020810180516001600160e01b03166001600160e01b0319909b169a909a17909952505196975087968e965062000786955093506200204c92505050565b8080602001836001600160a01b03168152602001828103825284818151815260200191508051906020019080838360005b83811015620007d1578181015183820152602001620007b7565b50505050905090810190601f168015620007ff5780820380516001836020036101000a031916815260200191505b509350505050604051809103906000f08015801562000822573d6000803e3d6000fd5b506001600160a01b0380821660008181526005602090815260409182902080546001600160a01b0319163390811790915582519384528a85169184019190915260609183018281529183018890529395508a8316928a169184917fa50560b448ad796ef60adfeffe1c19ed34daf94c2aa6905d0e209017dbc19f589188918c918c918c919060808201848480828437600083820152604051601f909101601f191690920182900397509095505050505050a4505095945050505050565b6001546001600160a01b031690565b60035490565b620008fe6200205a565b506001600160a01b038083166000908152600660209081526040918290208251608081018452815485168082526001830154861693820193909352600282015490941692840192909252600390910154606083015280620009915760405162461bcd60e51b815260040180806020018281038252603d815260200180620028c7603d913960400191505060405180910390fd5b336001600160a01b03821614620009da5760405162461bcd60e51b81526004018080602001828103825260458152602001806200279c6045913960600191505060405180910390fd5b6000546001600160a01b0382811691161462000a285760405162461bcd60e51b815260040180806020018281038252604f815260200180620025ed604f913960600191505060405180910390fd5b60608201514281111562000a6e5760405162461bcd60e51b8152600401808060200182810382526038815260200180620027296038913960400191505060405180910390fd5b6001600160a01b0380861660009081526005602090815260409182902054908601519186015192169162000aa9600289858886868d62001838565b876001600160a01b0316634140d607826040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050600060405180830381600087803b15801562000af957600080fd5b505af115801562000b0e573d6000803e3d6000fd5b50505050876001600160a01b031663ab9253ac836040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050600060405180830381600087803b15801562000b6257600080fd5b505af115801562000b77573d6000803e3d6000fd5b5050506001600160a01b03808a1660009081526005602090815260408083208054948b166001600160a01b0319958616179055600690915281208054831681556001810180548416905560028101805490931690925560039182015562000be5915089858886868d62001838565b604080516001600160a01b038481168252838116602083015281830187905291518288169286811692908c16917fad6fb3d36e2cda148dfd43203c1a40c0da9a9baa662ae9d6c3b0c3e4a9d6a6359181900360600190a45050505050505050565b6001600160a01b03808216600090815260056020526040902054165b919050565b6001546001600160a01b031633811462000cb35760405162461bcd60e51b815260040180806020018281038252603e8152602001806200281c603e913960400191505060405180910390fd5b600180546001600160a01b0319908116909155600280546001600160a01b0384811693821684179092556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038116600090815260066020526040812060030154801580159062000d3c5750804210155b9392505050565b6002546001600160a01b0316331462000d8e5760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b6001600160a01b03811662000dd55760405162461bcd60e51b8152600401808060200182810382526036815260200180620026c86036913960400191505060405180910390fd5b6002546001600160a01b038281169116141562000e245760405162461bcd60e51b815260040180806020018281038252603b81526020018062002761603b913960400191505060405180910390fd5b6001546001600160a01b038281169116141562000e735760405162461bcd60e51b815260040180806020018281038252603b815260200180620027e1603b913960400191505060405180910390fd5b600180546001600160a01b0319166001600160a01b0383169081179091556040517f132c19de901bb4ed8403c34734b6c841d5dc57745824da452a52433519ea5abf90600090a250565b6002546001600160a01b0316331462000f085760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b62000f166004838362002081565b507ff0115712c23b609855a28d7b8963c6d16d732ae388b11e5d4ec6d5eae4ad8698828260405180806020018281038252848482818152602001925080828437600083820152604051601f909101601f19169092018290039550909350505050a15050565b6001600160a01b0381166000908152600660205260408120600301548062000fa857600091505062000c62565b80421062000fbb57600091505062000c62565b42900392915050565b6000546001600160a01b031690565b60008060008062000fe36200205a565b506001600160a01b038086166000908152600660209081526040918290208251608081018452815485168152600182015485169281019290925260028101549093169181019190915260039091015460608201819052156200106257806000015181602001518260400151836060015194509450945094505062001064565b505b9193509193565b6002546001600160a01b03163314620010b65760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b6001546001600160a01b031680620011005760405162461bcd60e51b81526004018080602001828103825260318152602001806200266a6031913960400191505060405180910390fd5b600180546001600160a01b03191690556040516001600160a01b038216907fe4136584a5e8bb85d66301f3ce8b11cc2e5a8bea3979f10ea2451353849acc4790600090a250565b6002546001600160a01b031690565b6002546001600160a01b03163314620011a15760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b6001600160a01b038116620011e85760405162461bcd60e51b81526004018080602001828103825260398152602001806200258e6039913960400191505060405180910390fd5b620011f38162001832565b620012305760405162461bcd60e51b8152600401808060200182810382526036815260200180620028916036913960400191505060405180910390fd5b6000546001600160a01b03908116908216811415620012815760405162461bcd60e51b81526004018080602001828103825260488152602001806200251a6048913960600191505060405180910390fd5b600080546001600160a01b0319166001600160a01b03848116918217909255604080519284168352602083019190915280517f44cf34a26ccbaa8a20e6098a1278e28682572ec9921eb43d8dab274a503e92f59281900390910190a15050565b620012eb6200205a565b506001600160a01b0380831660009081526006602090815260409182902082516080810184528154851680825260018301548616938201939093526002820154909416928401929092526003909101546060830152806200137e5760405162461bcd60e51b815260040180806020018281038252602c81526020018062002562602c913960400191505060405180910390fd5b336001600160a01b038216148062001407575060408051633ef03e7560e11b815233600482015290516001600160a01b03861691637de07cea916024808301926020929190829003018186803b158015620013d857600080fd5b505afa158015620013ed573d6000803e3d6000fd5b505050506040513d60208110156200140457600080fd5b50515b620014445760405162461bcd60e51b8152600401808060200182810382526026815260200180620025c76026913960400191505060405180910390fd5b6001600160a01b0380851660009081526005602090815260408083205486830151878301516060890151600690955292852080546001600160a01b03199081168255600182018054821690556002820180549091169055600301949094559093169290620014b9600489868887878d62001838565b620014c988858786868c62001bd1565b604080516001600160a01b038581168252848116602083015281830184905291518288169287811692908c16917f9851a8f232c380eb2c1065756776e37d85d4fe0c8cb4005b0d72c749bfef923e9181900360600190a45050505050505050565b60048054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815260609390929091830182828015620015ba5780601f106200158e57610100808354040283529160200191620015ba565b820191906000526020600020905b8154815290600101906020018083116200159c57829003601f168201915b5050505050905090565b6001600160a01b0316600090815260066020526040902060030154151590565b6000546001600160a01b031633146200162f5760405162461bcd60e51b8152600401808060200182810382526034815260200180620024b66034913960400191505060405180910390fd5b6200163a8362001832565b620016775760405162461bcd60e51b8152600401808060200182810382526030815260200180620024ea6030913960400191505060405180910390fd5b6001600160a01b038085166000908152600560205260409020541680620016d05760405162461bcd60e51b815260040180806020018281038252602b815260200180620026fe602b913960400191505060405180910390fd5b336001600160a01b0382168114156200171b5760405162461bcd60e51b81526004018080602001828103825260378152602001806200285a6037913960400191505060405180910390fd5b6200172d600087848489898962001838565b60038054604080516080810182526001600160a01b03808616825289811660208084019182528a831684860190815242909601606085018181528e85166000908152600690935295909120935184549084166001600160a01b0319918216178555915160018086018054928616928516929092179091559551600285018054919094169216919091179091559151930192909255620017d2908885858a8a8a62001838565b604080516001600160a01b038881168252878116602083015281830184905291518285169286811692908b16917fb519c42fdb88f83f098814813f2ebff14fbf14f3e68b054e5a98834c69d54bfb9181900360600190a450505050505050565b3b151590565b60006060866001600160a01b0316633f84c12c60e01b8a8a898989604051602401808660048111156200186757fe5b8152602001856001600160a01b03168152602001846001600160a01b03168152602001836001600160a01b03168152602001826001600160a01b0316815260200195505050505050604051602081830303815290604052906001600160e01b0319166020820180516001600160e01b0383818316178352505050506040518082805190602001908083835b60208310620019135780518252601f199092019160209182019101620018f2565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811462001977576040519150601f19603f3d011682016040523d82523d6000602084013e6200197c565b606091505b50915091508162001bc65782620019938a62001ea1565b826040516020018083805190602001908083835b60208310620019c85780518252601f199092019160209182019101620019a7565b51815160209384036101000a600019018019909216911617905285519190930192850191508083835b6020831062001a125780518252601f199092019160209182019101620019f1565b6001836020036101000a038019825116818451168082178552505050505050905001925050506040516020818303038152906040529062001ad45760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101562001a9857818101518382015260200162001a7e565b50505050905090810190601f16801562001ac65780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50856001600160a01b0316876001600160a01b0316896001600160a01b03167fbf0ae6830883bd89855f2e7b17a2924b5de0b2b3d4a8834d7c2c0d5dc53447db848d8a8a604051808060200185600481111562001b2d57fe5b8152602001846001600160a01b03168152602001836001600160a01b03168152602001828103825286818151815260200191508051906020019080838360005b8381101562001b8757818101518382015260200162001b6d565b50505050905090810190601f16801562001bb55780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a45b505050505050505050565b604080516001600160a01b038881166024830152878116604483015285811660648301528481166084808401919091528351808403909101815260a490920183526020820180516001600160e01b031663df369ba760e01b17815292518251600094606094938a169392918291908083835b6020831062001c645780518252601f19909201916020918201910162001c43565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811462001cc8576040519150601f19603f3d011682016040523d82523d6000602084013e62001ccd565b606091505b50915091508162001e9757828160405160200180807f4d6967726174696f6e4f757443616e63656c486f6f6b3a20000000000000000081525060180182805190602001908083835b6020831062001d365780518252601f19909201916020918201910162001d15565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040516020818303038152906040529062001db95760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831562001a9857818101518382015260200162001a7e565b50856001600160a01b0316876001600160a01b0316896001600160a01b03167f7c79070aa51adb676fb9c8d0f7a1f841ff9cf514444b37c95297ed1c52547b328489896040518080602001846001600160a01b03168152602001836001600160a01b03168152602001828103825285818151815260200191508051906020019080838360005b8381101562001e5957818101518382015260200162001e3f565b50505050905090810190601f16801562001e875780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a45b5050505050505050565b6060600082600481111562001eb257fe5b141562001ef4575060408051808201909152601c81527f4d6967726174696f6e4f7574486f6f6b2e5072655369676e616c3a2000000000602082015262000c62565b600182600481111562001f0357fe5b141562001f45575060408051808201909152601d81527f4d6967726174696f6e4f7574486f6f6b2e506f73745369676e616c3a20000000602082015262000c62565b600282600481111562001f5457fe5b141562001f96575060408051808201909152601d81527f4d6967726174696f6e4f7574486f6f6b2e5072654d6967726174653a20000000602082015262000c62565b600382600481111562001fa557fe5b141562001fe7575060408051808201909152601e81527f4d6967726174696f6e4f7574486f6f6b2e506f73744d6967726174653a200000602082015262000c62565b600482600481111562001ff657fe5b141562002038575060408051808201909152601d81527f4d6967726174696f6e4f7574486f6f6b2e506f737443616e63656c3a20000000602082015262000c62565b505060408051602081019091526000815290565b610398806200211e83390190565b60408051608081018252600080825260208201819052918101829052606081019190915290565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620020c45782800160ff19823516178555620020f4565b82800160010185558215620020f4579182015b82811115620020f4578235825591602001919060010190620020d7565b506200210292915062002106565b5090565b5b808211156200210257600081556001016200210756fe608060405234801561001057600080fd5b506040516103983803806103988339818101604052604081101561003357600080fd5b810190808051604051939291908464010000000082111561005357600080fd5b90830190602082018581111561006857600080fd5b825164010000000081118282018810171561008257600080fd5b82525081516020918201929091019080838360005b838110156100af578181015183820152602001610097565b50505050905090810190601f1680156100dc5780820380516001836020036101000a031916815260200191505b5060408181526020928301516352d1902d60e01b835290519094506001600160a01b03851693506352d1902d92600480840193919291829003018186803b15801561012657600080fd5b505afa15801561013a573d6000803e3d6000fd5b505050506040513d602081101561015057600080fd5b50517f027b9570e9fedc1a80b937ae9a06861e5faef3992491af30b684a64b3fbec7a5146101af5760405162461bcd60e51b81526004018080602001828103825260258152602001806103736025913960400191505060405180910390fd5b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5560006060826001600160a01b0316846040518082805190602001908083835b602083106102105780518252601f1990920191602091820191016101f1565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610270576040519150601f19603f3d011682016040523d82523d6000602084013e610275565b606091505b50915091508181906103055760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156102ca5781810151838201526020016102b2565b50505050905090810190601f1680156102f75780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5050505050605b806103186000396000f3fe60806040527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc543660008037600080366000846127105a03f43d806000803e818015604957816000f35b816000fdfea164736f6c634300060c000a636f6e7374727563746f723a205f7661756c744c6962206e6f7420636f6d70617469626c654f6e6c79207468652063757272656e742046756e644465706c6f7965722063616e2063616c6c20746869732066756e6374696f6e7369676e616c4d6967726174696f6e3a204e6f6e2d636f6e7472616374205f6e6578745661756c744163636573736f7273657443757272656e7446756e644465706c6f7965723a205f6e65787446756e644465706c6f79657220697320616c72656164792063757272656e7446756e644465706c6f79657263616e63656c4d6967726174696f6e3a204e6f206d6967726174696f6e20726571756573742065786973747373657443757272656e7446756e644465706c6f7965723a205f6e65787446756e644465706c6f7965722063616e6e6f7420626520656d70747963616e63656c4d6967726174696f6e3a204e6f7420616e20616c6c6f7765642063616c6c6572657865637574654d6967726174696f6e3a20546865207461726765742046756e644465706c6f796572206973206e6f206c6f6e676572207468652063757272656e742046756e644465706c6f7965724f6e6c792074686520636f6e7472616374206f776e65722063616e2063616c6c20746869732066756e6374696f6e72656d6f76654e6f6d696e617465644f776e65723a205468657265206973206e6f206e6f6d696e61746564206f776e65726465706c6f795661756c7450726f78793a204e6f6e2d636f6e7472616374205f7661756c744163636573736f727365744e6f6d696e617465644f776e65723a205f6e6578744e6f6d696e617465644f776e65722063616e6e6f7420626520656d7074797369676e616c4d6967726174696f6e3a205f7661756c7450726f787920646f6573206e6f74206578697374657865637574654d6967726174696f6e3a20546865206d6967726174696f6e2074696d656c6f636b20686173206e6f7420656c61707365647365744e6f6d696e617465644f776e65723a205f6e6578744e6f6d696e617465644f776e657220697320616c726561647920746865206f776e6572657865637574654d6967726174696f6e3a204f6e6c7920746865207461726765742046756e644465706c6f7965722063616e2063616c6c20746869732066756e6374696f6e7365744e6f6d696e617465644f776e65723a205f6e6578744e6f6d696e617465644f776e657220697320616c7265616479206e6f6d696e61746564636c61696d4f776e6572736869703a204f6e6c7920746865206e6f6d696e617465644f776e65722063616e2063616c6c20746869732066756e6374696f6e7369676e616c4d6967726174696f6e3a2043616e206f6e6c79206d69677261746520746f2061206e65772046756e644465706c6f79657273657443757272656e7446756e644465706c6f7965723a204e6f6e2d636f6e7472616374205f6e65787446756e644465706c6f796572657865637574654d6967726174696f6e3a204e6f206d6967726174696f6e20726571756573742065786973747320666f72205f7661756c7450726f78797365744d6967726174696f6e54696d656c6f636b3a205f6e65787454696d656c6f636b206973207468652063757272656e742074696d656c6f636ba164736f6c634300060c000a4572726f723a2061203d3d2062206e6f7420736174697366696564205b616464726573735da164736f6c634300060c000a", - "sourceMap": "905:211:456:-:0;;;1572:26:435;;;-1:-1:-1;;;;1572:26:435;;;1594:4;1572:26;165:28:436;;;;;905:211:456;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b506004361061007d5760003560e01c8063b2c9d7cd1161005b578063b2c9d7cd14610156578063ba414fa61461015e578063f8ccbf471461017a578063fa7626d4146101825761007d565b80630a9254e4146100825780633a7684631461008c578063511b1df9146100b0575b600080fd5b61008a61018a565b005b6100946101d5565b604080516001600160a01b039092168252519081900360200190f35b610094600480360360208110156100c657600080fd5b8101906020810181356401000000008111156100e157600080fd5b8201836020820111156100f357600080fd5b8035906020019184600183028401116401000000008311171561011557600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506101ed945050505050565b61008a610201565b6101666102d9565b604080519115158252519081900360200190f35b61016661049f565b6101666104ae565b60405161019690610797565b604051809103906000f0801580156101b2573d6000803e3d6000fd5b50600880546001600160a01b0319166001600160a01b0392909216919091179055565b737109709ecfa91a80626ff3989d68f67f5b1dd12d81565b80516020909101206001600160a01b031690565b61028430600860009054906101000a90046001600160a01b03166001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561025357600080fd5b505afa158015610267573d6000803e3d6000fd5b505050506040513d602081101561027d57600080fd5b50516104b7565b6102d76000600860009054906101000a90046001600160a01b03166001600160a01b031663288b6a366040518163ffffffff1660e01b815260040160206040518083038186803b15801561025357600080fd5b565b60008054610100900460ff16156102fb5750600054610100900460ff1661049c565b60006103056105dd565b156104995760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d60208083018290526519985a5b195960d21b838501528351808403850181526060848101909552630667f9d760e41b60808501908152815193947f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc494929391926084909101918401908083835b602083106103af5780518252601f199092019160209182019101610390565b6001836020036101000a038019825116818451168082178552505050505050905001925050506040516020818303038152906040526040518082805190602001908083835b602083106104135780518252601f1990920191602091820191016103f4565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610475576040519150601f19603f3d011682016040523d82523d6000602084013e61047a565b606091505b5091505080806020019051602081101561049357600080fd5b50519150505b90505b90565b60005462010000900460ff1681565b60005460ff1681565b806001600160a01b0316826001600160a01b0316146105d9577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f506040518080602001828103825260258152602001806131f96025913960400191505060405180910390a1604080516001600160a01b0383166020820152818152600a81830152690808115e1c1958dd195960b21b606082015290517f9c4e8541ca8f0dc1c413f9108f66d82d3cecb1bddbce437a61caa3175c4cc96f9181900360800190a1604080516001600160a01b0384166020820152818152600a8183015269080808081058dd1d585b60b21b606082015290517f9c4e8541ca8f0dc1c413f9108f66d82d3cecb1bddbce437a61caa3175c4cc96f9181900360800190a16105d96105f8565b5050565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b151590565b6106006105dd565b156107865760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d60208083018290526519985a5b195960d21b83850152600160608481019190915284518085039091018152608084019094526370ca10bb60e01b60a08401908152845160009593947f70ca10bbd0dbfd9020a9f4b13402c16cb120705e0d1c0aeab10fa353ae586fc4949360a490910191908401908083835b602083106106b65780518252601f199092019160209182019101610697565b6001836020036101000a038019825116818451168082178552505050505050905001925050506040516020818303038152906040526040518082805190602001908083835b6020831061071a5780518252601f1990920191602091820191016106fb565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811461077c576040519150601f19603f3d011682016040523d82523d6000602084013e610781565b606091505b505050505b6000805461ff001916610100179055565b612a54806107a58339019056fe60806040523480156200001157600080fd5b506202a300600355600280546001600160a01b031916331790556040805180820190915260048082526322a72d2360e11b60209092019182526200005691816200005d565b50620000f9565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620000a057805160ff1916838001178555620000d0565b82800160010185558215620000d0579182015b82811115620000d0578251825591602001919060010190620000b3565b50620000de929150620000e2565b5090565b5b80821115620000de5760008155600101620000e3565b61294b80620001096000396000f3fe60806040523480156200001157600080fd5b5060043610620001485760003560e01c806377a8c62411620000bd57806397af7050116200007b57806397af7050146200042d5780639c9d48da1462000456578063b47b06001462000487578063d0449d3d1462000509578063d15f9b9c14620005325762000148565b806377a8c62414620003885780637c77b2ed14620003b15780637dad9fc814620003bb5780638156eecf1462000419578063893d20e814620004235762000148565b80633d7c74f8116200010b5780633d7c74f814620002795780634e71e0c814620002a257806366231cea14620002ac578063728e17a014620002e9578063757bc0dd14620003125762000148565b80631df419f7146200014d57806322a0c08b146200016f578063288b6a3614620002225780632fa0c161146200022c57806338b3eb1b1462000248575b600080fd5b6200016d600480360360208110156200016557600080fd5b503562000573565b005b62000206600480360360808110156200018757600080fd5b6001600160a01b0382358116926020810135821692604082013590921691810190608081016060820135640100000000811115620001c457600080fd5b820183602082011115620001d757600080fd5b80359060200191846001830284011164010000000083111715620001fa57600080fd5b50909250905062000646565b604080516001600160a01b039092168252519081900360200190f35b62000206620008df565b62000236620008ee565b60408051918252519081900360200190f35b6200016d600480360360408110156200026057600080fd5b506001600160a01b0381351690602001351515620008f4565b62000206600480360360208110156200029157600080fd5b50356001600160a01b031662000c46565b6200016d62000c67565b620002d560048036036020811015620002c457600080fd5b50356001600160a01b031662000d10565b604080519115158252519081900360200190f35b6200016d600480360360208110156200030157600080fd5b50356001600160a01b031662000d43565b6200016d600480360360208110156200032a57600080fd5b8101906020810181356401000000008111156200034657600080fd5b8201836020820111156200035957600080fd5b803590602001918460018302840111640100000000831117156200037c57600080fd5b50909250905062000ebd565b6200023660048036036020811015620003a057600080fd5b50356001600160a01b031662000f7b565b6200020662000fc4565b620003e460048036036020811015620003d357600080fd5b50356001600160a01b031662000fd3565b604080516001600160a01b03958616815293851660208501529190931682820152606082019290925290519081900360800190f35b6200016d6200106b565b6200020662001147565b6200016d600480360360208110156200044557600080fd5b50356001600160a01b031662001156565b6200016d600480360360408110156200046e57600080fd5b506001600160a01b0381351690602001351515620012e1565b620004916200152a565b6040805160208082528351818301528351919283929083019185019080838360005b83811015620004cd578181015183820152602001620004b3565b50505050905090810190601f168015620004fb5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b620002d5600480360360208110156200052157600080fd5b50356001600160a01b0316620015c4565b6200016d600480360360808110156200054a57600080fd5b506001600160a01b038135811691602081013582169160408201351690606001351515620015e4565b6002546001600160a01b03163314620005be5760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b60035481811415620006025760405162461bcd60e51b815260040180806020018281038252603b81526020018062002904603b913960400191505060405180910390fd5b6003829055604080518281526020810184905281517f481ce28a1145a5d9b59e2d1d7eba33bc3350124def8fdc91032238d343ad5361929181900390910190a15050565b600080546001600160a01b03163314620006925760405162461bcd60e51b8152600401808060200182810382526034815260200180620024b66034913960400191505060405180910390fd5b6200069d8462001832565b620006da5760405162461bcd60e51b815260040180806020018281038252602d8152602001806200269b602d913960400191505060405180910390fd5b6060635c9a6d3760e01b8686868660405160240180856001600160a01b03168152602001846001600160a01b0316815260200180602001828103825284848281815260200192508082843760008382015260408051601f909201601f1990811690940182810390940182529283526020810180516001600160e01b03166001600160e01b0319909b169a909a17909952505196975087968e965062000786955093506200204c92505050565b8080602001836001600160a01b03168152602001828103825284818151815260200191508051906020019080838360005b83811015620007d1578181015183820152602001620007b7565b50505050905090810190601f168015620007ff5780820380516001836020036101000a031916815260200191505b509350505050604051809103906000f08015801562000822573d6000803e3d6000fd5b506001600160a01b0380821660008181526005602090815260409182902080546001600160a01b0319163390811790915582519384528a85169184019190915260609183018281529183018890529395508a8316928a169184917fa50560b448ad796ef60adfeffe1c19ed34daf94c2aa6905d0e209017dbc19f589188918c918c918c919060808201848480828437600083820152604051601f909101601f191690920182900397509095505050505050a4505095945050505050565b6001546001600160a01b031690565b60035490565b620008fe6200205a565b506001600160a01b038083166000908152600660209081526040918290208251608081018452815485168082526001830154861693820193909352600282015490941692840192909252600390910154606083015280620009915760405162461bcd60e51b815260040180806020018281038252603d815260200180620028c7603d913960400191505060405180910390fd5b336001600160a01b03821614620009da5760405162461bcd60e51b81526004018080602001828103825260458152602001806200279c6045913960600191505060405180910390fd5b6000546001600160a01b0382811691161462000a285760405162461bcd60e51b815260040180806020018281038252604f815260200180620025ed604f913960600191505060405180910390fd5b60608201514281111562000a6e5760405162461bcd60e51b8152600401808060200182810382526038815260200180620027296038913960400191505060405180910390fd5b6001600160a01b0380861660009081526005602090815260409182902054908601519186015192169162000aa9600289858886868d62001838565b876001600160a01b0316634140d607826040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050600060405180830381600087803b15801562000af957600080fd5b505af115801562000b0e573d6000803e3d6000fd5b50505050876001600160a01b031663ab9253ac836040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050600060405180830381600087803b15801562000b6257600080fd5b505af115801562000b77573d6000803e3d6000fd5b5050506001600160a01b03808a1660009081526005602090815260408083208054948b166001600160a01b0319958616179055600690915281208054831681556001810180548416905560028101805490931690925560039182015562000be5915089858886868d62001838565b604080516001600160a01b038481168252838116602083015281830187905291518288169286811692908c16917fad6fb3d36e2cda148dfd43203c1a40c0da9a9baa662ae9d6c3b0c3e4a9d6a6359181900360600190a45050505050505050565b6001600160a01b03808216600090815260056020526040902054165b919050565b6001546001600160a01b031633811462000cb35760405162461bcd60e51b815260040180806020018281038252603e8152602001806200281c603e913960400191505060405180910390fd5b600180546001600160a01b0319908116909155600280546001600160a01b0384811693821684179092556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038116600090815260066020526040812060030154801580159062000d3c5750804210155b9392505050565b6002546001600160a01b0316331462000d8e5760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b6001600160a01b03811662000dd55760405162461bcd60e51b8152600401808060200182810382526036815260200180620026c86036913960400191505060405180910390fd5b6002546001600160a01b038281169116141562000e245760405162461bcd60e51b815260040180806020018281038252603b81526020018062002761603b913960400191505060405180910390fd5b6001546001600160a01b038281169116141562000e735760405162461bcd60e51b815260040180806020018281038252603b815260200180620027e1603b913960400191505060405180910390fd5b600180546001600160a01b0319166001600160a01b0383169081179091556040517f132c19de901bb4ed8403c34734b6c841d5dc57745824da452a52433519ea5abf90600090a250565b6002546001600160a01b0316331462000f085760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b62000f166004838362002081565b507ff0115712c23b609855a28d7b8963c6d16d732ae388b11e5d4ec6d5eae4ad8698828260405180806020018281038252848482818152602001925080828437600083820152604051601f909101601f19169092018290039550909350505050a15050565b6001600160a01b0381166000908152600660205260408120600301548062000fa857600091505062000c62565b80421062000fbb57600091505062000c62565b42900392915050565b6000546001600160a01b031690565b60008060008062000fe36200205a565b506001600160a01b038086166000908152600660209081526040918290208251608081018452815485168152600182015485169281019290925260028101549093169181019190915260039091015460608201819052156200106257806000015181602001518260400151836060015194509450945094505062001064565b505b9193509193565b6002546001600160a01b03163314620010b65760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b6001546001600160a01b031680620011005760405162461bcd60e51b81526004018080602001828103825260318152602001806200266a6031913960400191505060405180910390fd5b600180546001600160a01b03191690556040516001600160a01b038216907fe4136584a5e8bb85d66301f3ce8b11cc2e5a8bea3979f10ea2451353849acc4790600090a250565b6002546001600160a01b031690565b6002546001600160a01b03163314620011a15760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b6001600160a01b038116620011e85760405162461bcd60e51b81526004018080602001828103825260398152602001806200258e6039913960400191505060405180910390fd5b620011f38162001832565b620012305760405162461bcd60e51b8152600401808060200182810382526036815260200180620028916036913960400191505060405180910390fd5b6000546001600160a01b03908116908216811415620012815760405162461bcd60e51b81526004018080602001828103825260488152602001806200251a6048913960600191505060405180910390fd5b600080546001600160a01b0319166001600160a01b03848116918217909255604080519284168352602083019190915280517f44cf34a26ccbaa8a20e6098a1278e28682572ec9921eb43d8dab274a503e92f59281900390910190a15050565b620012eb6200205a565b506001600160a01b0380831660009081526006602090815260409182902082516080810184528154851680825260018301548616938201939093526002820154909416928401929092526003909101546060830152806200137e5760405162461bcd60e51b815260040180806020018281038252602c81526020018062002562602c913960400191505060405180910390fd5b336001600160a01b038216148062001407575060408051633ef03e7560e11b815233600482015290516001600160a01b03861691637de07cea916024808301926020929190829003018186803b158015620013d857600080fd5b505afa158015620013ed573d6000803e3d6000fd5b505050506040513d60208110156200140457600080fd5b50515b620014445760405162461bcd60e51b8152600401808060200182810382526026815260200180620025c76026913960400191505060405180910390fd5b6001600160a01b0380851660009081526005602090815260408083205486830151878301516060890151600690955292852080546001600160a01b03199081168255600182018054821690556002820180549091169055600301949094559093169290620014b9600489868887878d62001838565b620014c988858786868c62001bd1565b604080516001600160a01b038581168252848116602083015281830184905291518288169287811692908c16917f9851a8f232c380eb2c1065756776e37d85d4fe0c8cb4005b0d72c749bfef923e9181900360600190a45050505050505050565b60048054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815260609390929091830182828015620015ba5780601f106200158e57610100808354040283529160200191620015ba565b820191906000526020600020905b8154815290600101906020018083116200159c57829003601f168201915b5050505050905090565b6001600160a01b0316600090815260066020526040902060030154151590565b6000546001600160a01b031633146200162f5760405162461bcd60e51b8152600401808060200182810382526034815260200180620024b66034913960400191505060405180910390fd5b6200163a8362001832565b620016775760405162461bcd60e51b8152600401808060200182810382526030815260200180620024ea6030913960400191505060405180910390fd5b6001600160a01b038085166000908152600560205260409020541680620016d05760405162461bcd60e51b815260040180806020018281038252602b815260200180620026fe602b913960400191505060405180910390fd5b336001600160a01b0382168114156200171b5760405162461bcd60e51b81526004018080602001828103825260378152602001806200285a6037913960400191505060405180910390fd5b6200172d600087848489898962001838565b60038054604080516080810182526001600160a01b03808616825289811660208084019182528a831684860190815242909601606085018181528e85166000908152600690935295909120935184549084166001600160a01b0319918216178555915160018086018054928616928516929092179091559551600285018054919094169216919091179091559151930192909255620017d2908885858a8a8a62001838565b604080516001600160a01b038881168252878116602083015281830184905291518285169286811692908b16917fb519c42fdb88f83f098814813f2ebff14fbf14f3e68b054e5a98834c69d54bfb9181900360600190a450505050505050565b3b151590565b60006060866001600160a01b0316633f84c12c60e01b8a8a898989604051602401808660048111156200186757fe5b8152602001856001600160a01b03168152602001846001600160a01b03168152602001836001600160a01b03168152602001826001600160a01b0316815260200195505050505050604051602081830303815290604052906001600160e01b0319166020820180516001600160e01b0383818316178352505050506040518082805190602001908083835b60208310620019135780518252601f199092019160209182019101620018f2565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811462001977576040519150601f19603f3d011682016040523d82523d6000602084013e6200197c565b606091505b50915091508162001bc65782620019938a62001ea1565b826040516020018083805190602001908083835b60208310620019c85780518252601f199092019160209182019101620019a7565b51815160209384036101000a600019018019909216911617905285519190930192850191508083835b6020831062001a125780518252601f199092019160209182019101620019f1565b6001836020036101000a038019825116818451168082178552505050505050905001925050506040516020818303038152906040529062001ad45760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101562001a9857818101518382015260200162001a7e565b50505050905090810190601f16801562001ac65780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50856001600160a01b0316876001600160a01b0316896001600160a01b03167fbf0ae6830883bd89855f2e7b17a2924b5de0b2b3d4a8834d7c2c0d5dc53447db848d8a8a604051808060200185600481111562001b2d57fe5b8152602001846001600160a01b03168152602001836001600160a01b03168152602001828103825286818151815260200191508051906020019080838360005b8381101562001b8757818101518382015260200162001b6d565b50505050905090810190601f16801562001bb55780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a45b505050505050505050565b604080516001600160a01b038881166024830152878116604483015285811660648301528481166084808401919091528351808403909101815260a490920183526020820180516001600160e01b031663df369ba760e01b17815292518251600094606094938a169392918291908083835b6020831062001c645780518252601f19909201916020918201910162001c43565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811462001cc8576040519150601f19603f3d011682016040523d82523d6000602084013e62001ccd565b606091505b50915091508162001e9757828160405160200180807f4d6967726174696f6e4f757443616e63656c486f6f6b3a20000000000000000081525060180182805190602001908083835b6020831062001d365780518252601f19909201916020918201910162001d15565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040516020818303038152906040529062001db95760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831562001a9857818101518382015260200162001a7e565b50856001600160a01b0316876001600160a01b0316896001600160a01b03167f7c79070aa51adb676fb9c8d0f7a1f841ff9cf514444b37c95297ed1c52547b328489896040518080602001846001600160a01b03168152602001836001600160a01b03168152602001828103825285818151815260200191508051906020019080838360005b8381101562001e5957818101518382015260200162001e3f565b50505050905090810190601f16801562001e875780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a45b5050505050505050565b6060600082600481111562001eb257fe5b141562001ef4575060408051808201909152601c81527f4d6967726174696f6e4f7574486f6f6b2e5072655369676e616c3a2000000000602082015262000c62565b600182600481111562001f0357fe5b141562001f45575060408051808201909152601d81527f4d6967726174696f6e4f7574486f6f6b2e506f73745369676e616c3a20000000602082015262000c62565b600282600481111562001f5457fe5b141562001f96575060408051808201909152601d81527f4d6967726174696f6e4f7574486f6f6b2e5072654d6967726174653a20000000602082015262000c62565b600382600481111562001fa557fe5b141562001fe7575060408051808201909152601e81527f4d6967726174696f6e4f7574486f6f6b2e506f73744d6967726174653a200000602082015262000c62565b600482600481111562001ff657fe5b141562002038575060408051808201909152601d81527f4d6967726174696f6e4f7574486f6f6b2e506f737443616e63656c3a20000000602082015262000c62565b505060408051602081019091526000815290565b610398806200211e83390190565b60408051608081018252600080825260208201819052918101829052606081019190915290565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620020c45782800160ff19823516178555620020f4565b82800160010185558215620020f4579182015b82811115620020f4578235825591602001919060010190620020d7565b506200210292915062002106565b5090565b5b808211156200210257600081556001016200210756fe608060405234801561001057600080fd5b506040516103983803806103988339818101604052604081101561003357600080fd5b810190808051604051939291908464010000000082111561005357600080fd5b90830190602082018581111561006857600080fd5b825164010000000081118282018810171561008257600080fd5b82525081516020918201929091019080838360005b838110156100af578181015183820152602001610097565b50505050905090810190601f1680156100dc5780820380516001836020036101000a031916815260200191505b5060408181526020928301516352d1902d60e01b835290519094506001600160a01b03851693506352d1902d92600480840193919291829003018186803b15801561012657600080fd5b505afa15801561013a573d6000803e3d6000fd5b505050506040513d602081101561015057600080fd5b50517f027b9570e9fedc1a80b937ae9a06861e5faef3992491af30b684a64b3fbec7a5146101af5760405162461bcd60e51b81526004018080602001828103825260258152602001806103736025913960400191505060405180910390fd5b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5560006060826001600160a01b0316846040518082805190602001908083835b602083106102105780518252601f1990920191602091820191016101f1565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610270576040519150601f19603f3d011682016040523d82523d6000602084013e610275565b606091505b50915091508181906103055760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156102ca5781810151838201526020016102b2565b50505050905090810190601f1680156102f75780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5050505050605b806103186000396000f3fe60806040527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc543660008037600080366000846127105a03f43d806000803e818015604957816000f35b816000fdfea164736f6c634300060c000a636f6e7374727563746f723a205f7661756c744c6962206e6f7420636f6d70617469626c654f6e6c79207468652063757272656e742046756e644465706c6f7965722063616e2063616c6c20746869732066756e6374696f6e7369676e616c4d6967726174696f6e3a204e6f6e2d636f6e7472616374205f6e6578745661756c744163636573736f7273657443757272656e7446756e644465706c6f7965723a205f6e65787446756e644465706c6f79657220697320616c72656164792063757272656e7446756e644465706c6f79657263616e63656c4d6967726174696f6e3a204e6f206d6967726174696f6e20726571756573742065786973747373657443757272656e7446756e644465706c6f7965723a205f6e65787446756e644465706c6f7965722063616e6e6f7420626520656d70747963616e63656c4d6967726174696f6e3a204e6f7420616e20616c6c6f7765642063616c6c6572657865637574654d6967726174696f6e3a20546865207461726765742046756e644465706c6f796572206973206e6f206c6f6e676572207468652063757272656e742046756e644465706c6f7965724f6e6c792074686520636f6e7472616374206f776e65722063616e2063616c6c20746869732066756e6374696f6e72656d6f76654e6f6d696e617465644f776e65723a205468657265206973206e6f206e6f6d696e61746564206f776e65726465706c6f795661756c7450726f78793a204e6f6e2d636f6e7472616374205f7661756c744163636573736f727365744e6f6d696e617465644f776e65723a205f6e6578744e6f6d696e617465644f776e65722063616e6e6f7420626520656d7074797369676e616c4d6967726174696f6e3a205f7661756c7450726f787920646f6573206e6f74206578697374657865637574654d6967726174696f6e3a20546865206d6967726174696f6e2074696d656c6f636b20686173206e6f7420656c61707365647365744e6f6d696e617465644f776e65723a205f6e6578744e6f6d696e617465644f776e657220697320616c726561647920746865206f776e6572657865637574654d6967726174696f6e3a204f6e6c7920746865207461726765742046756e644465706c6f7965722063616e2063616c6c20746869732066756e6374696f6e7365744e6f6d696e617465644f776e65723a205f6e6578744e6f6d696e617465644f776e657220697320616c7265616479206e6f6d696e61746564636c61696d4f776e6572736869703a204f6e6c7920746865206e6f6d696e617465644f776e65722063616e2063616c6c20746869732066756e6374696f6e7369676e616c4d6967726174696f6e3a2043616e206f6e6c79206d69677261746520746f2061206e65772046756e644465706c6f79657273657443757272656e7446756e644465706c6f7965723a204e6f6e2d636f6e7472616374205f6e65787446756e644465706c6f796572657865637574654d6967726174696f6e3a204e6f206d6967726174696f6e20726571756573742065786973747320666f72205f7661756c7450726f78797365744d6967726174696f6e54696d656c6f636b3a205f6e65787454696d656c6f636b206973207468652063757272656e742074696d656c6f636ba164736f6c634300060c000a4572726f723a2061203d3d2062206e6f7420736174697366696564205b616464726573735da164736f6c634300060c000a", - "sourceMap": "905:211:456:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;823:78;;;:::i;:::-;;316:38:436;;;:::i;:::-;;;;-1:-1:-1;;;;;316:38:436;;;;;;;;;;;;;;669:148:456;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;669:148:456;;-1:-1:-1;669:148:456;;-1:-1:-1;;;;;669:148:456:i;954:160::-;;;:::i;1819:584:435:-;;;:::i;:::-;;;;;;;;;;;;;;;;;;165:28:436;;;:::i;1572:26:435:-;;;:::i;823:78:456:-;878:16;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;865:10:456;:29;;-1:-1:-1;;;;;;865:29:456;-1:-1:-1;;;;;865:29:456;;;;;;;;;;823:78::o;316:38:436:-;245:64;316:38;:::o;669:148:456:-;783:23;;;;;;;-1:-1:-1;;;;;751:59:456;;669:148::o;954:160::-;999:46;1016:4;1023:10;;;;;;;;;-1:-1:-1;;;;;1023:10:456;-1:-1:-1;;;;;1023:19:456;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1023:21:456;999:8;:46::i;:::-;1055:52;1072:1;1076:10;;;;;;;;;-1:-1:-1;;;;;1076:10:456;-1:-1:-1;;;;;1076:28:456;;:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1055:52;954:160::o;1819:584:435:-;1853:4;1873:7;;;;;;;1869:528;;;-1:-1:-1;1903:7:435;;;;;;;1896:14;;1869:528;1941:17;1984:16;:14;:16::i;:::-;1980:374;;;2196:43;;;1671:64;2196:43;;;;;;;-1:-1:-1;;;2196:43:435;;;;;;;;;;;;;2023:20;2196:43;;;;;;-1:-1:-1;;;2086:175:435;;;;;;;;1671:64;;2135:34;;2196:43;;2086:175;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2086:175:435;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2047:232;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2047:232:435;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2020:259;;;2323:7;2312:27;;;;;;;;;;;;;;;-1:-1:-1;2312:27:435;;-1:-1:-1;;1980:374:435;2374:12;-1:-1:-1;1869:528:435;1819:584;:::o;165:28:436:-;;;;;;;;;:::o;1572:26:435:-;;;;;;:::o;3615:277::-;3683:1;-1:-1:-1;;;;;3678:6:435;:1;-1:-1:-1;;;;;3678:6:435;;3674:212;;3705:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3768:34;;;-1:-1:-1;;;;;3768:34:435;;;;;;;;;;;;;;-1:-1:-1;;;3768:34:435;;;;;;;;;;;;;;;3821;;;-1:-1:-1;;;;;3821:34:435;;;;;;;;;;;;;;-1:-1:-1;;;3821:34:435;;;;;;;;;;;;;;;3869:6;:4;:6::i;:::-;3615:277;;:::o;2840:242::-;2990:42;2978:55;3059:16;;2840:242;:::o;2410:424::-;2449:16;:14;:16::i;:::-;2445:359;;;2645:67;;;1671:64;2645:67;;;;;;;-1:-1:-1;;;2645:67:435;;;;2705:4;1679:55;2645:67;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2534:196:435;;;;;;;;2482:11;;1671:64;;2579:43;;2645:67;2534:196;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2534:196:435;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2499:245;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2499:245:435;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;2445:359:435;2813:7;:14;;-1:-1:-1;;2813:14:435;;;;;2410:424::o;-1:-1:-1:-;;;;;;;;:::o", - "linkReferences": {} - }, - "methodIdentifiers": { - "IS_SCRIPT()": "f8ccbf47", - "IS_TEST()": "fa7626d4", - "addr(string)": "511b1df9", - "failed()": "ba414fa6", - "setUp()": "0a9254e4", - "testInitialState()": "b2c9d7cd", - "vm()": "3a768463" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"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_SCRIPT\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"}],\"name\":\"addr\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"setUp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testInitialState\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"vm\",\"outputs\":[{\"internalType\":\"contract Vm\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"tests/persistent/Dispatcher.t.sol\":\"ConstructorTest\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/mocks/MockVaultLib.sol\":{\"keccak256\":\"0x14d298c9cd4411cc6260fe50b93a1da572c5ddee7bfca377dd35403741c4e3b6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://e51c048dc4e2c9117fff0ecd4ab94d09701b9cd89247db8608c1a491c7374635\",\"dweb:/ipfs/QmYkH9dXQp1EEMfrcGPUTc3ey4o2UtvG91vDxjgQzwUuHE\"]},\"contracts/persistent/dispatcher/Dispatcher.sol\":{\"keccak256\":\"0x0590285e72005e40573fcc93e95aa75a5963bdcf5b02a627c73d8bc982f9d850\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://e9f2190a9ba01ec1f03b5159387c3864b9700337f3d7b07ec0758bbde52d32e2\",\"dweb:/ipfs/QmX5gevftdWC5xzSVcmVn14aFhKgweCXAhndZ8ZECN92fj\"]},\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/dispatcher/IMigrationHookHandler.sol\":{\"keccak256\":\"0x4cec61ef58c1d2e7693ee954c3582b1a04ff836a569e216edb7526c7e56a5632\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://0acae6d91e3e20e6ebd46cbeff926967a2d64f3d8eb2e3cdff20366917a77879\",\"dweb:/ipfs/Qmd44oJngTNRnwXdDwtNd9o4UvTgxAmBGikz3QMPKf4NWy\"]},\"contracts/persistent/vault/VaultLibBaseCore.sol\":{\"keccak256\":\"0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd\",\"dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz\"]},\"contracts/persistent/vault/VaultProxy.sol\":{\"keccak256\":\"0x08ff12cb7955ab80cf35f98a5abae23a92f655916669986d1580cb394f6b6bb3\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://320fcccd67d3390d6762bdef41f7d5e679e61b3244b1d945fc33402ea684bc3a\",\"dweb:/ipfs/Qmaaxqgm4EzF1r4n52pkjs7bA5quKhVwrh356rTFXDj86L\"]},\"contracts/persistent/vault/interfaces/IMigratableVault.sol\":{\"keccak256\":\"0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6\",\"dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs\"]},\"contracts/persistent/vault/utils/ProxiableVaultLib.sol\":{\"keccak256\":\"0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44\",\"dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4\"]},\"contracts/persistent/vault/utils/SharesTokenBase.sol\":{\"keccak256\":\"0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8\",\"dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4\"]},\"contracts/persistent/vault/utils/VaultLibSafeMath.sol\":{\"keccak256\":\"0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02\",\"dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG\"]},\"lib/forge-std/lib/ds-test/src/test.sol\":{\"keccak256\":\"0xb39cd1d5220cb474947b131e15a4538334b7e886af244b440ae5c9c6bba96a54\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://3101520221449ac0070bda3881311a71d9aa87e5210765e875246922cb5cb5f5\",\"dweb:/ipfs/Qmbg6kAHNoG7ox9N9Xqd9Ere2H2XixMFWFqvyPwFCzB3Gr\"]},\"lib/forge-std/src/Script.sol\":{\"keccak256\":\"0x4424dbcb8f5b741475445726f87408fcd89951fad973bec2ca442ee157f910e7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5b0b9f6dfb69245d8f888558ae82bf1d2cdeace46201444fe4b2e6a5283f944a\",\"dweb:/ipfs/QmWFSKeFEZngNcwNn7A84EF7pASo5qe6r5oK24r9Kwca7Z\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0xa85dee62f7a3d7d3b26051f28d08bbfaa6d76888b8e64395583c35f11070372b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f3ecace3d6120731c4520f651c36658940df958755a2c86d6bf0ec895320a915\",\"dweb:/ipfs/QmVGbUYLtMsAYF3C27qHKs3VHRuRNDypuDfs4XGK47kqUT\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x63fc2487cf3a6650d933e18bcb61766f15f74c327192381806ea00f8f6446f66\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aad99f7b2ed3b11ff6c17b84b4196c562898640a80cabc2c28c87c116099a00f\",\"dweb:/ipfs/QmQNNbxHabRycegyXwJWBDutrdcScAP2SU5zEvorWEaFpx\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0xbeb823fcdb356244a83aaccdf828ad019ecc1ffaa3dff18e624fc6d5714ea671\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4cbe9400340e5f9ec55e2aff3bad1c15fa3afbbe37e80800e6f3fed2ad26854f\",\"dweb:/ipfs/QmdJBABsuXkvWxVzEyGXsTE3vyfBPXDdw5xvvtUz3JeoYW\"]},\"tests/persistent/Dispatcher.t.sol\":{\"keccak256\":\"0x9f19e0376c4d2fa61f4c50089a46d54b7a1d464b31413aeb4147da02b44cd298\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://e9f733c425d149594c2044229dd51e543d330cfb11b7825dfd59631a3aabd71d\",\"dweb:/ipfs/QmY3c9daKiMH2W9qbq94TekosaySFV44ZUXsGuBfigo832\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "string", - "name": "", - "type": "string", - "indexed": false - } - ], - "type": "event", - "name": "log", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "log_address", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "uint256[]", - "name": "val", - "type": "uint256[]", - "indexed": false - } - ], - "type": "event", - "name": "log_array", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "int256[]", - "name": "val", - "type": "int256[]", - "indexed": false - } - ], - "type": "event", - "name": "log_array", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "val", - "type": "address[]", - "indexed": false - } - ], - "type": "event", - "name": "log_array", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes", - "indexed": false - } - ], - "type": "event", - "name": "log_bytes", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32", - "indexed": false - } - ], - "type": "event", - "name": "log_bytes32", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "int256", - "name": "", - "type": "int256", - "indexed": false - } - ], - "type": "event", - "name": "log_int", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "key", - "type": "string", - "indexed": false - }, - { - "internalType": "address", - "name": "val", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "log_named_address", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "key", - "type": "string", - "indexed": false - }, - { - "internalType": "uint256[]", - "name": "val", - "type": "uint256[]", - "indexed": false - } - ], - "type": "event", - "name": "log_named_array", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "key", - "type": "string", - "indexed": false - }, - { - "internalType": "int256[]", - "name": "val", - "type": "int256[]", - "indexed": false - } - ], - "type": "event", - "name": "log_named_array", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "key", - "type": "string", - "indexed": false - }, - { - "internalType": "address[]", - "name": "val", - "type": "address[]", - "indexed": false - } - ], - "type": "event", - "name": "log_named_array", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "key", - "type": "string", - "indexed": false - }, - { - "internalType": "bytes", - "name": "val", - "type": "bytes", - "indexed": false - } - ], - "type": "event", - "name": "log_named_bytes", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "key", - "type": "string", - "indexed": false - }, - { - "internalType": "bytes32", - "name": "val", - "type": "bytes32", - "indexed": false - } - ], - "type": "event", - "name": "log_named_bytes32", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "key", - "type": "string", - "indexed": false - }, - { - "internalType": "int256", - "name": "val", - "type": "int256", - "indexed": false - }, - { - "internalType": "uint256", - "name": "decimals", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "log_named_decimal_int", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "key", - "type": "string", - "indexed": false - }, - { - "internalType": "uint256", - "name": "val", - "type": "uint256", - "indexed": false - }, - { - "internalType": "uint256", - "name": "decimals", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "log_named_decimal_uint", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "key", - "type": "string", - "indexed": false - }, - { - "internalType": "int256", - "name": "val", - "type": "int256", - "indexed": false - } - ], - "type": "event", - "name": "log_named_int", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "key", - "type": "string", - "indexed": false - }, - { - "internalType": "string", - "name": "val", - "type": "string", - "indexed": false - } - ], - "type": "event", - "name": "log_named_string", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "key", - "type": "string", - "indexed": false - }, - { - "internalType": "uint256", - "name": "val", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "log_named_uint", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "", - "type": "string", - "indexed": false - } - ], - "type": "event", - "name": "log_string", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "log_uint", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes", - "indexed": false - } - ], - "type": "event", - "name": "logs", - "anonymous": false - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "IS_SCRIPT", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "IS_TEST", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "string", - "name": "_name", - "type": "string" - } - ], - "stateMutability": "pure", - "type": "function", - "name": "addr", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "failed", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "setUp" - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "testInitialState" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "vm", - "outputs": [ - { - "internalType": "contract Vm", - "name": "", - "type": "address" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "tests/persistent/Dispatcher.t.sol": "ConstructorTest" - }, - "libraries": {} - }, - "sources": { - "contracts/mocks/MockVaultLib.sol": { - "keccak256": "0x14d298c9cd4411cc6260fe50b93a1da572c5ddee7bfca377dd35403741c4e3b6", - "urls": [ - "bzz-raw://e51c048dc4e2c9117fff0ecd4ab94d09701b9cd89247db8608c1a491c7374635", - "dweb:/ipfs/QmYkH9dXQp1EEMfrcGPUTc3ey4o2UtvG91vDxjgQzwUuHE" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/dispatcher/Dispatcher.sol": { - "keccak256": "0x0590285e72005e40573fcc93e95aa75a5963bdcf5b02a627c73d8bc982f9d850", - "urls": [ - "bzz-raw://e9f2190a9ba01ec1f03b5159387c3864b9700337f3d7b07ec0758bbde52d32e2", - "dweb:/ipfs/QmX5gevftdWC5xzSVcmVn14aFhKgweCXAhndZ8ZECN92fj" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/dispatcher/IDispatcher.sol": { - "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", - "urls": [ - "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", - "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/dispatcher/IMigrationHookHandler.sol": { - "keccak256": "0x4cec61ef58c1d2e7693ee954c3582b1a04ff836a569e216edb7526c7e56a5632", - "urls": [ - "bzz-raw://0acae6d91e3e20e6ebd46cbeff926967a2d64f3d8eb2e3cdff20366917a77879", - "dweb:/ipfs/Qmd44oJngTNRnwXdDwtNd9o4UvTgxAmBGikz3QMPKf4NWy" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/VaultLibBaseCore.sol": { - "keccak256": "0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074", - "urls": [ - "bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd", - "dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/VaultProxy.sol": { - "keccak256": "0x08ff12cb7955ab80cf35f98a5abae23a92f655916669986d1580cb394f6b6bb3", - "urls": [ - "bzz-raw://320fcccd67d3390d6762bdef41f7d5e679e61b3244b1d945fc33402ea684bc3a", - "dweb:/ipfs/Qmaaxqgm4EzF1r4n52pkjs7bA5quKhVwrh356rTFXDj86L" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IMigratableVault.sol": { - "keccak256": "0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238", - "urls": [ - "bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6", - "dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/utils/ProxiableVaultLib.sol": { - "keccak256": "0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76", - "urls": [ - "bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44", - "dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/utils/SharesTokenBase.sol": { - "keccak256": "0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113", - "urls": [ - "bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8", - "dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/utils/VaultLibSafeMath.sol": { - "keccak256": "0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d", - "urls": [ - "bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02", - "dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG" - ], - "license": "GPL-3.0" - }, - "lib/forge-std/lib/ds-test/src/test.sol": { - "keccak256": "0xb39cd1d5220cb474947b131e15a4538334b7e886af244b440ae5c9c6bba96a54", - "urls": [ - "bzz-raw://3101520221449ac0070bda3881311a71d9aa87e5210765e875246922cb5cb5f5", - "dweb:/ipfs/Qmbg6kAHNoG7ox9N9Xqd9Ere2H2XixMFWFqvyPwFCzB3Gr" - ], - "license": "GPL-3.0-or-later" - }, - "lib/forge-std/src/Script.sol": { - "keccak256": "0x4424dbcb8f5b741475445726f87408fcd89951fad973bec2ca442ee157f910e7", - "urls": [ - "bzz-raw://5b0b9f6dfb69245d8f888558ae82bf1d2cdeace46201444fe4b2e6a5283f944a", - "dweb:/ipfs/QmWFSKeFEZngNcwNn7A84EF7pASo5qe6r5oK24r9Kwca7Z" - ], - "license": "MIT" - }, - "lib/forge-std/src/Test.sol": { - "keccak256": "0xa85dee62f7a3d7d3b26051f28d08bbfaa6d76888b8e64395583c35f11070372b", - "urls": [ - "bzz-raw://f3ecace3d6120731c4520f651c36658940df958755a2c86d6bf0ec895320a915", - "dweb:/ipfs/QmVGbUYLtMsAYF3C27qHKs3VHRuRNDypuDfs4XGK47kqUT" - ], - "license": "MIT" - }, - "lib/forge-std/src/Vm.sol": { - "keccak256": "0x63fc2487cf3a6650d933e18bcb61766f15f74c327192381806ea00f8f6446f66", - "urls": [ - "bzz-raw://aad99f7b2ed3b11ff6c17b84b4196c562898640a80cabc2c28c87c116099a00f", - "dweb:/ipfs/QmQNNbxHabRycegyXwJWBDutrdcScAP2SU5zEvorWEaFpx" - ], - "license": "MIT" - }, - "lib/forge-std/src/console.sol": { - "keccak256": "0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba", - "urls": [ - "bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70", - "dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec" - ], - "license": "MIT" - }, - "lib/forge-std/src/console2.sol": { - "keccak256": "0xbeb823fcdb356244a83aaccdf828ad019ecc1ffaa3dff18e624fc6d5714ea671", - "urls": [ - "bzz-raw://4cbe9400340e5f9ec55e2aff3bad1c15fa3afbbe37e80800e6f3fed2ad26854f", - "dweb:/ipfs/QmdJBABsuXkvWxVzEyGXsTE3vyfBPXDdw5xvvtUz3JeoYW" - ], - "license": "MIT" - }, - "tests/persistent/Dispatcher.t.sol": { - "keccak256": "0x9f19e0376c4d2fa61f4c50089a46d54b7a1d464b31413aeb4147da02b44cd298", - "urls": [ - "bzz-raw://e9f733c425d149594c2044229dd51e543d330cfb11b7825dfd59631a3aabd71d", - "dweb:/ipfs/QmY3c9daKiMH2W9qbq94TekosaySFV44ZUXsGuBfigo832" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 456 -} +{ "abi": [ { "type": "function", "name": "IS_SCRIPT", "inputs": [], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "IS_TEST", "inputs": [], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "addr", "inputs": [ { "name": "_name", "type": "string", "internalType": "string" } ], "outputs": [ { "name": "", "type": "address", "internalType": "address" } ], "stateMutability": "pure" }, { "type": "function", "name": "failed", "inputs": [], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "setUp", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "testInitialState", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "vm", "inputs": [], "outputs": [ { "name": "", "type": "address", "internalType": "contract Vm" } ], "stateMutability": "view" }, { "type": "event", "name": "log", "inputs": [ { "name": "", "type": "string", "indexed": false, "internalType": "string" } ], "anonymous": false }, { "type": "event", "name": "log_address", "inputs": [ { "name": "", "type": "address", "indexed": false, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "log_array", "inputs": [ { "name": "val", "type": "uint256[]", "indexed": false, "internalType": "uint256[]" } ], "anonymous": false }, { "type": "event", "name": "log_array", "inputs": [ { "name": "val", "type": "int256[]", "indexed": false, "internalType": "int256[]" } ], "anonymous": false }, { "type": "event", "name": "log_array", "inputs": [ { "name": "val", "type": "address[]", "indexed": false, "internalType": "address[]" } ], "anonymous": false }, { "type": "event", "name": "log_bytes", "inputs": [ { "name": "", "type": "bytes", "indexed": false, "internalType": "bytes" } ], "anonymous": false }, { "type": "event", "name": "log_bytes32", "inputs": [ { "name": "", "type": "bytes32", "indexed": false, "internalType": "bytes32" } ], "anonymous": false }, { "type": "event", "name": "log_int", "inputs": [ { "name": "", "type": "int256", "indexed": false, "internalType": "int256" } ], "anonymous": false }, { "type": "event", "name": "log_named_address", "inputs": [ { "name": "key", "type": "string", "indexed": false, "internalType": "string" }, { "name": "val", "type": "address", "indexed": false, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "log_named_array", "inputs": [ { "name": "key", "type": "string", "indexed": false, "internalType": "string" }, { "name": "val", "type": "uint256[]", "indexed": false, "internalType": "uint256[]" } ], "anonymous": false }, { "type": "event", "name": "log_named_array", "inputs": [ { "name": "key", "type": "string", "indexed": false, "internalType": "string" }, { "name": "val", "type": "int256[]", "indexed": false, "internalType": "int256[]" } ], "anonymous": false }, { "type": "event", "name": "log_named_array", "inputs": [ { "name": "key", "type": "string", "indexed": false, "internalType": "string" }, { "name": "val", "type": "address[]", "indexed": false, "internalType": "address[]" } ], "anonymous": false }, { "type": "event", "name": "log_named_bytes", "inputs": [ { "name": "key", "type": "string", "indexed": false, "internalType": "string" }, { "name": "val", "type": "bytes", "indexed": false, "internalType": "bytes" } ], "anonymous": false }, { "type": "event", "name": "log_named_bytes32", "inputs": [ { "name": "key", "type": "string", "indexed": false, "internalType": "string" }, { "name": "val", "type": "bytes32", "indexed": false, "internalType": "bytes32" } ], "anonymous": false }, { "type": "event", "name": "log_named_decimal_int", "inputs": [ { "name": "key", "type": "string", "indexed": false, "internalType": "string" }, { "name": "val", "type": "int256", "indexed": false, "internalType": "int256" }, { "name": "decimals", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "log_named_decimal_uint", "inputs": [ { "name": "key", "type": "string", "indexed": false, "internalType": "string" }, { "name": "val", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "decimals", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "log_named_int", "inputs": [ { "name": "key", "type": "string", "indexed": false, "internalType": "string" }, { "name": "val", "type": "int256", "indexed": false, "internalType": "int256" } ], "anonymous": false }, { "type": "event", "name": "log_named_string", "inputs": [ { "name": "key", "type": "string", "indexed": false, "internalType": "string" }, { "name": "val", "type": "string", "indexed": false, "internalType": "string" } ], "anonymous": false }, { "type": "event", "name": "log_named_uint", "inputs": [ { "name": "key", "type": "string", "indexed": false, "internalType": "string" }, { "name": "val", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "log_string", "inputs": [ { "name": "", "type": "string", "indexed": false, "internalType": "string" } ], "anonymous": false }, { "type": "event", "name": "log_uint", "inputs": [ { "name": "", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "logs", "inputs": [ { "name": "", "type": "bytes", "indexed": false, "internalType": "bytes" } ], "anonymous": false } ], "bytecode": { "object": "0x60806040526000805462ff00001960ff19909116600117166201000017905534801561002a57600080fd5b5061322a8061003a6000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c8063b2c9d7cd1161005b578063b2c9d7cd14610156578063ba414fa61461015e578063f8ccbf471461017a578063fa7626d4146101825761007d565b80630a9254e4146100825780633a7684631461008c578063511b1df9146100b0575b600080fd5b61008a61018a565b005b6100946101d5565b604080516001600160a01b039092168252519081900360200190f35b610094600480360360208110156100c657600080fd5b8101906020810181356401000000008111156100e157600080fd5b8201836020820111156100f357600080fd5b8035906020019184600183028401116401000000008311171561011557600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506101ed945050505050565b61008a610201565b6101666102d9565b604080519115158252519081900360200190f35b61016661049f565b6101666104ae565b60405161019690610797565b604051809103906000f0801580156101b2573d6000803e3d6000fd5b50600880546001600160a01b0319166001600160a01b0392909216919091179055565b737109709ecfa91a80626ff3989d68f67f5b1dd12d81565b80516020909101206001600160a01b031690565b61028430600860009054906101000a90046001600160a01b03166001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561025357600080fd5b505afa158015610267573d6000803e3d6000fd5b505050506040513d602081101561027d57600080fd5b50516104b7565b6102d76000600860009054906101000a90046001600160a01b03166001600160a01b031663288b6a366040518163ffffffff1660e01b815260040160206040518083038186803b15801561025357600080fd5b565b60008054610100900460ff16156102fb5750600054610100900460ff1661049c565b60006103056105dd565b156104995760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d60208083018290526519985a5b195960d21b838501528351808403850181526060848101909552630667f9d760e41b60808501908152815193947f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc494929391926084909101918401908083835b602083106103af5780518252601f199092019160209182019101610390565b6001836020036101000a038019825116818451168082178552505050505050905001925050506040516020818303038152906040526040518082805190602001908083835b602083106104135780518252601f1990920191602091820191016103f4565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610475576040519150601f19603f3d011682016040523d82523d6000602084013e61047a565b606091505b5091505080806020019051602081101561049357600080fd5b50519150505b90505b90565b60005462010000900460ff1681565b60005460ff1681565b806001600160a01b0316826001600160a01b0316146105d9577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f506040518080602001828103825260258152602001806131f96025913960400191505060405180910390a1604080516001600160a01b0383166020820152818152600a81830152690808115e1c1958dd195960b21b606082015290517f9c4e8541ca8f0dc1c413f9108f66d82d3cecb1bddbce437a61caa3175c4cc96f9181900360800190a1604080516001600160a01b0384166020820152818152600a8183015269080808081058dd1d585b60b21b606082015290517f9c4e8541ca8f0dc1c413f9108f66d82d3cecb1bddbce437a61caa3175c4cc96f9181900360800190a16105d96105f8565b5050565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b151590565b6106006105dd565b156107865760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d60208083018290526519985a5b195960d21b83850152600160608481019190915284518085039091018152608084019094526370ca10bb60e01b60a08401908152845160009593947f70ca10bbd0dbfd9020a9f4b13402c16cb120705e0d1c0aeab10fa353ae586fc4949360a490910191908401908083835b602083106106b65780518252601f199092019160209182019101610697565b6001836020036101000a038019825116818451168082178552505050505050905001925050506040516020818303038152906040526040518082805190602001908083835b6020831061071a5780518252601f1990920191602091820191016106fb565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811461077c576040519150601f19603f3d011682016040523d82523d6000602084013e610781565b606091505b505050505b6000805461ff001916610100179055565b612a54806107a58339019056fe60806040523480156200001157600080fd5b506202a300600355600280546001600160a01b031916331790556040805180820190915260048082526322a72d2360e11b60209092019182526200005691816200005d565b50620000f9565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620000a057805160ff1916838001178555620000d0565b82800160010185558215620000d0579182015b82811115620000d0578251825591602001919060010190620000b3565b50620000de929150620000e2565b5090565b5b80821115620000de5760008155600101620000e3565b61294b80620001096000396000f3fe60806040523480156200001157600080fd5b5060043610620001485760003560e01c806377a8c62411620000bd57806397af7050116200007b57806397af7050146200042d5780639c9d48da1462000456578063b47b06001462000487578063d0449d3d1462000509578063d15f9b9c14620005325762000148565b806377a8c62414620003885780637c77b2ed14620003b15780637dad9fc814620003bb5780638156eecf1462000419578063893d20e814620004235762000148565b80633d7c74f8116200010b5780633d7c74f814620002795780634e71e0c814620002a257806366231cea14620002ac578063728e17a014620002e9578063757bc0dd14620003125762000148565b80631df419f7146200014d57806322a0c08b146200016f578063288b6a3614620002225780632fa0c161146200022c57806338b3eb1b1462000248575b600080fd5b6200016d600480360360208110156200016557600080fd5b503562000573565b005b62000206600480360360808110156200018757600080fd5b6001600160a01b0382358116926020810135821692604082013590921691810190608081016060820135640100000000811115620001c457600080fd5b820183602082011115620001d757600080fd5b80359060200191846001830284011164010000000083111715620001fa57600080fd5b50909250905062000646565b604080516001600160a01b039092168252519081900360200190f35b62000206620008df565b62000236620008ee565b60408051918252519081900360200190f35b6200016d600480360360408110156200026057600080fd5b506001600160a01b0381351690602001351515620008f4565b62000206600480360360208110156200029157600080fd5b50356001600160a01b031662000c46565b6200016d62000c67565b620002d560048036036020811015620002c457600080fd5b50356001600160a01b031662000d10565b604080519115158252519081900360200190f35b6200016d600480360360208110156200030157600080fd5b50356001600160a01b031662000d43565b6200016d600480360360208110156200032a57600080fd5b8101906020810181356401000000008111156200034657600080fd5b8201836020820111156200035957600080fd5b803590602001918460018302840111640100000000831117156200037c57600080fd5b50909250905062000ebd565b6200023660048036036020811015620003a057600080fd5b50356001600160a01b031662000f7b565b6200020662000fc4565b620003e460048036036020811015620003d357600080fd5b50356001600160a01b031662000fd3565b604080516001600160a01b03958616815293851660208501529190931682820152606082019290925290519081900360800190f35b6200016d6200106b565b6200020662001147565b6200016d600480360360208110156200044557600080fd5b50356001600160a01b031662001156565b6200016d600480360360408110156200046e57600080fd5b506001600160a01b0381351690602001351515620012e1565b620004916200152a565b6040805160208082528351818301528351919283929083019185019080838360005b83811015620004cd578181015183820152602001620004b3565b50505050905090810190601f168015620004fb5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b620002d5600480360360208110156200052157600080fd5b50356001600160a01b0316620015c4565b6200016d600480360360808110156200054a57600080fd5b506001600160a01b038135811691602081013582169160408201351690606001351515620015e4565b6002546001600160a01b03163314620005be5760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b60035481811415620006025760405162461bcd60e51b815260040180806020018281038252603b81526020018062002904603b913960400191505060405180910390fd5b6003829055604080518281526020810184905281517f481ce28a1145a5d9b59e2d1d7eba33bc3350124def8fdc91032238d343ad5361929181900390910190a15050565b600080546001600160a01b03163314620006925760405162461bcd60e51b8152600401808060200182810382526034815260200180620024b66034913960400191505060405180910390fd5b6200069d8462001832565b620006da5760405162461bcd60e51b815260040180806020018281038252602d8152602001806200269b602d913960400191505060405180910390fd5b6060635c9a6d3760e01b8686868660405160240180856001600160a01b03168152602001846001600160a01b0316815260200180602001828103825284848281815260200192508082843760008382015260408051601f909201601f1990811690940182810390940182529283526020810180516001600160e01b03166001600160e01b0319909b169a909a17909952505196975087968e965062000786955093506200204c92505050565b8080602001836001600160a01b03168152602001828103825284818151815260200191508051906020019080838360005b83811015620007d1578181015183820152602001620007b7565b50505050905090810190601f168015620007ff5780820380516001836020036101000a031916815260200191505b509350505050604051809103906000f08015801562000822573d6000803e3d6000fd5b506001600160a01b0380821660008181526005602090815260409182902080546001600160a01b0319163390811790915582519384528a85169184019190915260609183018281529183018890529395508a8316928a169184917fa50560b448ad796ef60adfeffe1c19ed34daf94c2aa6905d0e209017dbc19f589188918c918c918c919060808201848480828437600083820152604051601f909101601f191690920182900397509095505050505050a4505095945050505050565b6001546001600160a01b031690565b60035490565b620008fe6200205a565b506001600160a01b038083166000908152600660209081526040918290208251608081018452815485168082526001830154861693820193909352600282015490941692840192909252600390910154606083015280620009915760405162461bcd60e51b815260040180806020018281038252603d815260200180620028c7603d913960400191505060405180910390fd5b336001600160a01b03821614620009da5760405162461bcd60e51b81526004018080602001828103825260458152602001806200279c6045913960600191505060405180910390fd5b6000546001600160a01b0382811691161462000a285760405162461bcd60e51b815260040180806020018281038252604f815260200180620025ed604f913960600191505060405180910390fd5b60608201514281111562000a6e5760405162461bcd60e51b8152600401808060200182810382526038815260200180620027296038913960400191505060405180910390fd5b6001600160a01b0380861660009081526005602090815260409182902054908601519186015192169162000aa9600289858886868d62001838565b876001600160a01b0316634140d607826040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050600060405180830381600087803b15801562000af957600080fd5b505af115801562000b0e573d6000803e3d6000fd5b50505050876001600160a01b031663ab9253ac836040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050600060405180830381600087803b15801562000b6257600080fd5b505af115801562000b77573d6000803e3d6000fd5b5050506001600160a01b03808a1660009081526005602090815260408083208054948b166001600160a01b0319958616179055600690915281208054831681556001810180548416905560028101805490931690925560039182015562000be5915089858886868d62001838565b604080516001600160a01b038481168252838116602083015281830187905291518288169286811692908c16917fad6fb3d36e2cda148dfd43203c1a40c0da9a9baa662ae9d6c3b0c3e4a9d6a6359181900360600190a45050505050505050565b6001600160a01b03808216600090815260056020526040902054165b919050565b6001546001600160a01b031633811462000cb35760405162461bcd60e51b815260040180806020018281038252603e8152602001806200281c603e913960400191505060405180910390fd5b600180546001600160a01b0319908116909155600280546001600160a01b0384811693821684179092556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038116600090815260066020526040812060030154801580159062000d3c5750804210155b9392505050565b6002546001600160a01b0316331462000d8e5760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b6001600160a01b03811662000dd55760405162461bcd60e51b8152600401808060200182810382526036815260200180620026c86036913960400191505060405180910390fd5b6002546001600160a01b038281169116141562000e245760405162461bcd60e51b815260040180806020018281038252603b81526020018062002761603b913960400191505060405180910390fd5b6001546001600160a01b038281169116141562000e735760405162461bcd60e51b815260040180806020018281038252603b815260200180620027e1603b913960400191505060405180910390fd5b600180546001600160a01b0319166001600160a01b0383169081179091556040517f132c19de901bb4ed8403c34734b6c841d5dc57745824da452a52433519ea5abf90600090a250565b6002546001600160a01b0316331462000f085760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b62000f166004838362002081565b507ff0115712c23b609855a28d7b8963c6d16d732ae388b11e5d4ec6d5eae4ad8698828260405180806020018281038252848482818152602001925080828437600083820152604051601f909101601f19169092018290039550909350505050a15050565b6001600160a01b0381166000908152600660205260408120600301548062000fa857600091505062000c62565b80421062000fbb57600091505062000c62565b42900392915050565b6000546001600160a01b031690565b60008060008062000fe36200205a565b506001600160a01b038086166000908152600660209081526040918290208251608081018452815485168152600182015485169281019290925260028101549093169181019190915260039091015460608201819052156200106257806000015181602001518260400151836060015194509450945094505062001064565b505b9193509193565b6002546001600160a01b03163314620010b65760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b6001546001600160a01b031680620011005760405162461bcd60e51b81526004018080602001828103825260318152602001806200266a6031913960400191505060405180910390fd5b600180546001600160a01b03191690556040516001600160a01b038216907fe4136584a5e8bb85d66301f3ce8b11cc2e5a8bea3979f10ea2451353849acc4790600090a250565b6002546001600160a01b031690565b6002546001600160a01b03163314620011a15760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b6001600160a01b038116620011e85760405162461bcd60e51b81526004018080602001828103825260398152602001806200258e6039913960400191505060405180910390fd5b620011f38162001832565b620012305760405162461bcd60e51b8152600401808060200182810382526036815260200180620028916036913960400191505060405180910390fd5b6000546001600160a01b03908116908216811415620012815760405162461bcd60e51b81526004018080602001828103825260488152602001806200251a6048913960600191505060405180910390fd5b600080546001600160a01b0319166001600160a01b03848116918217909255604080519284168352602083019190915280517f44cf34a26ccbaa8a20e6098a1278e28682572ec9921eb43d8dab274a503e92f59281900390910190a15050565b620012eb6200205a565b506001600160a01b0380831660009081526006602090815260409182902082516080810184528154851680825260018301548616938201939093526002820154909416928401929092526003909101546060830152806200137e5760405162461bcd60e51b815260040180806020018281038252602c81526020018062002562602c913960400191505060405180910390fd5b336001600160a01b038216148062001407575060408051633ef03e7560e11b815233600482015290516001600160a01b03861691637de07cea916024808301926020929190829003018186803b158015620013d857600080fd5b505afa158015620013ed573d6000803e3d6000fd5b505050506040513d60208110156200140457600080fd5b50515b620014445760405162461bcd60e51b8152600401808060200182810382526026815260200180620025c76026913960400191505060405180910390fd5b6001600160a01b0380851660009081526005602090815260408083205486830151878301516060890151600690955292852080546001600160a01b03199081168255600182018054821690556002820180549091169055600301949094559093169290620014b9600489868887878d62001838565b620014c988858786868c62001bd1565b604080516001600160a01b038581168252848116602083015281830184905291518288169287811692908c16917f9851a8f232c380eb2c1065756776e37d85d4fe0c8cb4005b0d72c749bfef923e9181900360600190a45050505050505050565b60048054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815260609390929091830182828015620015ba5780601f106200158e57610100808354040283529160200191620015ba565b820191906000526020600020905b8154815290600101906020018083116200159c57829003601f168201915b5050505050905090565b6001600160a01b0316600090815260066020526040902060030154151590565b6000546001600160a01b031633146200162f5760405162461bcd60e51b8152600401808060200182810382526034815260200180620024b66034913960400191505060405180910390fd5b6200163a8362001832565b620016775760405162461bcd60e51b8152600401808060200182810382526030815260200180620024ea6030913960400191505060405180910390fd5b6001600160a01b038085166000908152600560205260409020541680620016d05760405162461bcd60e51b815260040180806020018281038252602b815260200180620026fe602b913960400191505060405180910390fd5b336001600160a01b0382168114156200171b5760405162461bcd60e51b81526004018080602001828103825260378152602001806200285a6037913960400191505060405180910390fd5b6200172d600087848489898962001838565b60038054604080516080810182526001600160a01b03808616825289811660208084019182528a831684860190815242909601606085018181528e85166000908152600690935295909120935184549084166001600160a01b0319918216178555915160018086018054928616928516929092179091559551600285018054919094169216919091179091559151930192909255620017d2908885858a8a8a62001838565b604080516001600160a01b038881168252878116602083015281830184905291518285169286811692908b16917fb519c42fdb88f83f098814813f2ebff14fbf14f3e68b054e5a98834c69d54bfb9181900360600190a450505050505050565b3b151590565b60006060866001600160a01b0316633f84c12c60e01b8a8a898989604051602401808660048111156200186757fe5b8152602001856001600160a01b03168152602001846001600160a01b03168152602001836001600160a01b03168152602001826001600160a01b0316815260200195505050505050604051602081830303815290604052906001600160e01b0319166020820180516001600160e01b0383818316178352505050506040518082805190602001908083835b60208310620019135780518252601f199092019160209182019101620018f2565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811462001977576040519150601f19603f3d011682016040523d82523d6000602084013e6200197c565b606091505b50915091508162001bc65782620019938a62001ea1565b826040516020018083805190602001908083835b60208310620019c85780518252601f199092019160209182019101620019a7565b51815160209384036101000a600019018019909216911617905285519190930192850191508083835b6020831062001a125780518252601f199092019160209182019101620019f1565b6001836020036101000a038019825116818451168082178552505050505050905001925050506040516020818303038152906040529062001ad45760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101562001a9857818101518382015260200162001a7e565b50505050905090810190601f16801562001ac65780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50856001600160a01b0316876001600160a01b0316896001600160a01b03167fbf0ae6830883bd89855f2e7b17a2924b5de0b2b3d4a8834d7c2c0d5dc53447db848d8a8a604051808060200185600481111562001b2d57fe5b8152602001846001600160a01b03168152602001836001600160a01b03168152602001828103825286818151815260200191508051906020019080838360005b8381101562001b8757818101518382015260200162001b6d565b50505050905090810190601f16801562001bb55780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a45b505050505050505050565b604080516001600160a01b038881166024830152878116604483015285811660648301528481166084808401919091528351808403909101815260a490920183526020820180516001600160e01b031663df369ba760e01b17815292518251600094606094938a169392918291908083835b6020831062001c645780518252601f19909201916020918201910162001c43565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811462001cc8576040519150601f19603f3d011682016040523d82523d6000602084013e62001ccd565b606091505b50915091508162001e9757828160405160200180807f4d6967726174696f6e4f757443616e63656c486f6f6b3a20000000000000000081525060180182805190602001908083835b6020831062001d365780518252601f19909201916020918201910162001d15565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040516020818303038152906040529062001db95760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831562001a9857818101518382015260200162001a7e565b50856001600160a01b0316876001600160a01b0316896001600160a01b03167f7c79070aa51adb676fb9c8d0f7a1f841ff9cf514444b37c95297ed1c52547b328489896040518080602001846001600160a01b03168152602001836001600160a01b03168152602001828103825285818151815260200191508051906020019080838360005b8381101562001e5957818101518382015260200162001e3f565b50505050905090810190601f16801562001e875780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a45b5050505050505050565b6060600082600481111562001eb257fe5b141562001ef4575060408051808201909152601c81527f4d6967726174696f6e4f7574486f6f6b2e5072655369676e616c3a2000000000602082015262000c62565b600182600481111562001f0357fe5b141562001f45575060408051808201909152601d81527f4d6967726174696f6e4f7574486f6f6b2e506f73745369676e616c3a20000000602082015262000c62565b600282600481111562001f5457fe5b141562001f96575060408051808201909152601d81527f4d6967726174696f6e4f7574486f6f6b2e5072654d6967726174653a20000000602082015262000c62565b600382600481111562001fa557fe5b141562001fe7575060408051808201909152601e81527f4d6967726174696f6e4f7574486f6f6b2e506f73744d6967726174653a200000602082015262000c62565b600482600481111562001ff657fe5b141562002038575060408051808201909152601d81527f4d6967726174696f6e4f7574486f6f6b2e506f737443616e63656c3a20000000602082015262000c62565b505060408051602081019091526000815290565b610398806200211e83390190565b60408051608081018252600080825260208201819052918101829052606081019190915290565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620020c45782800160ff19823516178555620020f4565b82800160010185558215620020f4579182015b82811115620020f4578235825591602001919060010190620020d7565b506200210292915062002106565b5090565b5b808211156200210257600081556001016200210756fe608060405234801561001057600080fd5b506040516103983803806103988339818101604052604081101561003357600080fd5b810190808051604051939291908464010000000082111561005357600080fd5b90830190602082018581111561006857600080fd5b825164010000000081118282018810171561008257600080fd5b82525081516020918201929091019080838360005b838110156100af578181015183820152602001610097565b50505050905090810190601f1680156100dc5780820380516001836020036101000a031916815260200191505b5060408181526020928301516352d1902d60e01b835290519094506001600160a01b03851693506352d1902d92600480840193919291829003018186803b15801561012657600080fd5b505afa15801561013a573d6000803e3d6000fd5b505050506040513d602081101561015057600080fd5b50517f027b9570e9fedc1a80b937ae9a06861e5faef3992491af30b684a64b3fbec7a5146101af5760405162461bcd60e51b81526004018080602001828103825260258152602001806103736025913960400191505060405180910390fd5b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5560006060826001600160a01b0316846040518082805190602001908083835b602083106102105780518252601f1990920191602091820191016101f1565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610270576040519150601f19603f3d011682016040523d82523d6000602084013e610275565b606091505b50915091508181906103055760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156102ca5781810151838201526020016102b2565b50505050905090810190601f1680156102f75780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5050505050605b806103186000396000f3fe60806040527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc543660008037600080366000846127105a03f43d806000803e818015604957816000f35b816000fdfea164736f6c634300060c000a636f6e7374727563746f723a205f7661756c744c6962206e6f7420636f6d70617469626c654f6e6c79207468652063757272656e742046756e644465706c6f7965722063616e2063616c6c20746869732066756e6374696f6e7369676e616c4d6967726174696f6e3a204e6f6e2d636f6e7472616374205f6e6578745661756c744163636573736f7273657443757272656e7446756e644465706c6f7965723a205f6e65787446756e644465706c6f79657220697320616c72656164792063757272656e7446756e644465706c6f79657263616e63656c4d6967726174696f6e3a204e6f206d6967726174696f6e20726571756573742065786973747373657443757272656e7446756e644465706c6f7965723a205f6e65787446756e644465706c6f7965722063616e6e6f7420626520656d70747963616e63656c4d6967726174696f6e3a204e6f7420616e20616c6c6f7765642063616c6c6572657865637574654d6967726174696f6e3a20546865207461726765742046756e644465706c6f796572206973206e6f206c6f6e676572207468652063757272656e742046756e644465706c6f7965724f6e6c792074686520636f6e7472616374206f776e65722063616e2063616c6c20746869732066756e6374696f6e72656d6f76654e6f6d696e617465644f776e65723a205468657265206973206e6f206e6f6d696e61746564206f776e65726465706c6f795661756c7450726f78793a204e6f6e2d636f6e7472616374205f7661756c744163636573736f727365744e6f6d696e617465644f776e65723a205f6e6578744e6f6d696e617465644f776e65722063616e6e6f7420626520656d7074797369676e616c4d6967726174696f6e3a205f7661756c7450726f787920646f6573206e6f74206578697374657865637574654d6967726174696f6e3a20546865206d6967726174696f6e2074696d656c6f636b20686173206e6f7420656c61707365647365744e6f6d696e617465644f776e65723a205f6e6578744e6f6d696e617465644f776e657220697320616c726561647920746865206f776e6572657865637574654d6967726174696f6e3a204f6e6c7920746865207461726765742046756e644465706c6f7965722063616e2063616c6c20746869732066756e6374696f6e7365744e6f6d696e617465644f776e65723a205f6e6578744e6f6d696e617465644f776e657220697320616c7265616479206e6f6d696e61746564636c61696d4f776e6572736869703a204f6e6c7920746865206e6f6d696e617465644f776e65722063616e2063616c6c20746869732066756e6374696f6e7369676e616c4d6967726174696f6e3a2043616e206f6e6c79206d69677261746520746f2061206e65772046756e644465706c6f79657273657443757272656e7446756e644465706c6f7965723a204e6f6e2d636f6e7472616374205f6e65787446756e644465706c6f796572657865637574654d6967726174696f6e3a204e6f206d6967726174696f6e20726571756573742065786973747320666f72205f7661756c7450726f78797365744d6967726174696f6e54696d656c6f636b3a205f6e65787454696d656c6f636b206973207468652063757272656e742074696d656c6f636ba164736f6c634300060c000a4572726f723a2061203d3d2062206e6f7420736174697366696564205b616464726573735da164736f6c634300060c000a", "sourceMap": "905:211:456:-:0;;;1572:26:435;;;-1:-1:-1;;;;1572:26:435;;;1594:4;1572:26;165:28:436;;;;;905:211:456;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b506004361061007d5760003560e01c8063b2c9d7cd1161005b578063b2c9d7cd14610156578063ba414fa61461015e578063f8ccbf471461017a578063fa7626d4146101825761007d565b80630a9254e4146100825780633a7684631461008c578063511b1df9146100b0575b600080fd5b61008a61018a565b005b6100946101d5565b604080516001600160a01b039092168252519081900360200190f35b610094600480360360208110156100c657600080fd5b8101906020810181356401000000008111156100e157600080fd5b8201836020820111156100f357600080fd5b8035906020019184600183028401116401000000008311171561011557600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506101ed945050505050565b61008a610201565b6101666102d9565b604080519115158252519081900360200190f35b61016661049f565b6101666104ae565b60405161019690610797565b604051809103906000f0801580156101b2573d6000803e3d6000fd5b50600880546001600160a01b0319166001600160a01b0392909216919091179055565b737109709ecfa91a80626ff3989d68f67f5b1dd12d81565b80516020909101206001600160a01b031690565b61028430600860009054906101000a90046001600160a01b03166001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561025357600080fd5b505afa158015610267573d6000803e3d6000fd5b505050506040513d602081101561027d57600080fd5b50516104b7565b6102d76000600860009054906101000a90046001600160a01b03166001600160a01b031663288b6a366040518163ffffffff1660e01b815260040160206040518083038186803b15801561025357600080fd5b565b60008054610100900460ff16156102fb5750600054610100900460ff1661049c565b60006103056105dd565b156104995760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d60208083018290526519985a5b195960d21b838501528351808403850181526060848101909552630667f9d760e41b60808501908152815193947f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc494929391926084909101918401908083835b602083106103af5780518252601f199092019160209182019101610390565b6001836020036101000a038019825116818451168082178552505050505050905001925050506040516020818303038152906040526040518082805190602001908083835b602083106104135780518252601f1990920191602091820191016103f4565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610475576040519150601f19603f3d011682016040523d82523d6000602084013e61047a565b606091505b5091505080806020019051602081101561049357600080fd5b50519150505b90505b90565b60005462010000900460ff1681565b60005460ff1681565b806001600160a01b0316826001600160a01b0316146105d9577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f506040518080602001828103825260258152602001806131f96025913960400191505060405180910390a1604080516001600160a01b0383166020820152818152600a81830152690808115e1c1958dd195960b21b606082015290517f9c4e8541ca8f0dc1c413f9108f66d82d3cecb1bddbce437a61caa3175c4cc96f9181900360800190a1604080516001600160a01b0384166020820152818152600a8183015269080808081058dd1d585b60b21b606082015290517f9c4e8541ca8f0dc1c413f9108f66d82d3cecb1bddbce437a61caa3175c4cc96f9181900360800190a16105d96105f8565b5050565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b151590565b6106006105dd565b156107865760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d60208083018290526519985a5b195960d21b83850152600160608481019190915284518085039091018152608084019094526370ca10bb60e01b60a08401908152845160009593947f70ca10bbd0dbfd9020a9f4b13402c16cb120705e0d1c0aeab10fa353ae586fc4949360a490910191908401908083835b602083106106b65780518252601f199092019160209182019101610697565b6001836020036101000a038019825116818451168082178552505050505050905001925050506040516020818303038152906040526040518082805190602001908083835b6020831061071a5780518252601f1990920191602091820191016106fb565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811461077c576040519150601f19603f3d011682016040523d82523d6000602084013e610781565b606091505b505050505b6000805461ff001916610100179055565b612a54806107a58339019056fe60806040523480156200001157600080fd5b506202a300600355600280546001600160a01b031916331790556040805180820190915260048082526322a72d2360e11b60209092019182526200005691816200005d565b50620000f9565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620000a057805160ff1916838001178555620000d0565b82800160010185558215620000d0579182015b82811115620000d0578251825591602001919060010190620000b3565b50620000de929150620000e2565b5090565b5b80821115620000de5760008155600101620000e3565b61294b80620001096000396000f3fe60806040523480156200001157600080fd5b5060043610620001485760003560e01c806377a8c62411620000bd57806397af7050116200007b57806397af7050146200042d5780639c9d48da1462000456578063b47b06001462000487578063d0449d3d1462000509578063d15f9b9c14620005325762000148565b806377a8c62414620003885780637c77b2ed14620003b15780637dad9fc814620003bb5780638156eecf1462000419578063893d20e814620004235762000148565b80633d7c74f8116200010b5780633d7c74f814620002795780634e71e0c814620002a257806366231cea14620002ac578063728e17a014620002e9578063757bc0dd14620003125762000148565b80631df419f7146200014d57806322a0c08b146200016f578063288b6a3614620002225780632fa0c161146200022c57806338b3eb1b1462000248575b600080fd5b6200016d600480360360208110156200016557600080fd5b503562000573565b005b62000206600480360360808110156200018757600080fd5b6001600160a01b0382358116926020810135821692604082013590921691810190608081016060820135640100000000811115620001c457600080fd5b820183602082011115620001d757600080fd5b80359060200191846001830284011164010000000083111715620001fa57600080fd5b50909250905062000646565b604080516001600160a01b039092168252519081900360200190f35b62000206620008df565b62000236620008ee565b60408051918252519081900360200190f35b6200016d600480360360408110156200026057600080fd5b506001600160a01b0381351690602001351515620008f4565b62000206600480360360208110156200029157600080fd5b50356001600160a01b031662000c46565b6200016d62000c67565b620002d560048036036020811015620002c457600080fd5b50356001600160a01b031662000d10565b604080519115158252519081900360200190f35b6200016d600480360360208110156200030157600080fd5b50356001600160a01b031662000d43565b6200016d600480360360208110156200032a57600080fd5b8101906020810181356401000000008111156200034657600080fd5b8201836020820111156200035957600080fd5b803590602001918460018302840111640100000000831117156200037c57600080fd5b50909250905062000ebd565b6200023660048036036020811015620003a057600080fd5b50356001600160a01b031662000f7b565b6200020662000fc4565b620003e460048036036020811015620003d357600080fd5b50356001600160a01b031662000fd3565b604080516001600160a01b03958616815293851660208501529190931682820152606082019290925290519081900360800190f35b6200016d6200106b565b6200020662001147565b6200016d600480360360208110156200044557600080fd5b50356001600160a01b031662001156565b6200016d600480360360408110156200046e57600080fd5b506001600160a01b0381351690602001351515620012e1565b620004916200152a565b6040805160208082528351818301528351919283929083019185019080838360005b83811015620004cd578181015183820152602001620004b3565b50505050905090810190601f168015620004fb5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b620002d5600480360360208110156200052157600080fd5b50356001600160a01b0316620015c4565b6200016d600480360360808110156200054a57600080fd5b506001600160a01b038135811691602081013582169160408201351690606001351515620015e4565b6002546001600160a01b03163314620005be5760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b60035481811415620006025760405162461bcd60e51b815260040180806020018281038252603b81526020018062002904603b913960400191505060405180910390fd5b6003829055604080518281526020810184905281517f481ce28a1145a5d9b59e2d1d7eba33bc3350124def8fdc91032238d343ad5361929181900390910190a15050565b600080546001600160a01b03163314620006925760405162461bcd60e51b8152600401808060200182810382526034815260200180620024b66034913960400191505060405180910390fd5b6200069d8462001832565b620006da5760405162461bcd60e51b815260040180806020018281038252602d8152602001806200269b602d913960400191505060405180910390fd5b6060635c9a6d3760e01b8686868660405160240180856001600160a01b03168152602001846001600160a01b0316815260200180602001828103825284848281815260200192508082843760008382015260408051601f909201601f1990811690940182810390940182529283526020810180516001600160e01b03166001600160e01b0319909b169a909a17909952505196975087968e965062000786955093506200204c92505050565b8080602001836001600160a01b03168152602001828103825284818151815260200191508051906020019080838360005b83811015620007d1578181015183820152602001620007b7565b50505050905090810190601f168015620007ff5780820380516001836020036101000a031916815260200191505b509350505050604051809103906000f08015801562000822573d6000803e3d6000fd5b506001600160a01b0380821660008181526005602090815260409182902080546001600160a01b0319163390811790915582519384528a85169184019190915260609183018281529183018890529395508a8316928a169184917fa50560b448ad796ef60adfeffe1c19ed34daf94c2aa6905d0e209017dbc19f589188918c918c918c919060808201848480828437600083820152604051601f909101601f191690920182900397509095505050505050a4505095945050505050565b6001546001600160a01b031690565b60035490565b620008fe6200205a565b506001600160a01b038083166000908152600660209081526040918290208251608081018452815485168082526001830154861693820193909352600282015490941692840192909252600390910154606083015280620009915760405162461bcd60e51b815260040180806020018281038252603d815260200180620028c7603d913960400191505060405180910390fd5b336001600160a01b03821614620009da5760405162461bcd60e51b81526004018080602001828103825260458152602001806200279c6045913960600191505060405180910390fd5b6000546001600160a01b0382811691161462000a285760405162461bcd60e51b815260040180806020018281038252604f815260200180620025ed604f913960600191505060405180910390fd5b60608201514281111562000a6e5760405162461bcd60e51b8152600401808060200182810382526038815260200180620027296038913960400191505060405180910390fd5b6001600160a01b0380861660009081526005602090815260409182902054908601519186015192169162000aa9600289858886868d62001838565b876001600160a01b0316634140d607826040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050600060405180830381600087803b15801562000af957600080fd5b505af115801562000b0e573d6000803e3d6000fd5b50505050876001600160a01b031663ab9253ac836040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050600060405180830381600087803b15801562000b6257600080fd5b505af115801562000b77573d6000803e3d6000fd5b5050506001600160a01b03808a1660009081526005602090815260408083208054948b166001600160a01b0319958616179055600690915281208054831681556001810180548416905560028101805490931690925560039182015562000be5915089858886868d62001838565b604080516001600160a01b038481168252838116602083015281830187905291518288169286811692908c16917fad6fb3d36e2cda148dfd43203c1a40c0da9a9baa662ae9d6c3b0c3e4a9d6a6359181900360600190a45050505050505050565b6001600160a01b03808216600090815260056020526040902054165b919050565b6001546001600160a01b031633811462000cb35760405162461bcd60e51b815260040180806020018281038252603e8152602001806200281c603e913960400191505060405180910390fd5b600180546001600160a01b0319908116909155600280546001600160a01b0384811693821684179092556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038116600090815260066020526040812060030154801580159062000d3c5750804210155b9392505050565b6002546001600160a01b0316331462000d8e5760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b6001600160a01b03811662000dd55760405162461bcd60e51b8152600401808060200182810382526036815260200180620026c86036913960400191505060405180910390fd5b6002546001600160a01b038281169116141562000e245760405162461bcd60e51b815260040180806020018281038252603b81526020018062002761603b913960400191505060405180910390fd5b6001546001600160a01b038281169116141562000e735760405162461bcd60e51b815260040180806020018281038252603b815260200180620027e1603b913960400191505060405180910390fd5b600180546001600160a01b0319166001600160a01b0383169081179091556040517f132c19de901bb4ed8403c34734b6c841d5dc57745824da452a52433519ea5abf90600090a250565b6002546001600160a01b0316331462000f085760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b62000f166004838362002081565b507ff0115712c23b609855a28d7b8963c6d16d732ae388b11e5d4ec6d5eae4ad8698828260405180806020018281038252848482818152602001925080828437600083820152604051601f909101601f19169092018290039550909350505050a15050565b6001600160a01b0381166000908152600660205260408120600301548062000fa857600091505062000c62565b80421062000fbb57600091505062000c62565b42900392915050565b6000546001600160a01b031690565b60008060008062000fe36200205a565b506001600160a01b038086166000908152600660209081526040918290208251608081018452815485168152600182015485169281019290925260028101549093169181019190915260039091015460608201819052156200106257806000015181602001518260400151836060015194509450945094505062001064565b505b9193509193565b6002546001600160a01b03163314620010b65760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b6001546001600160a01b031680620011005760405162461bcd60e51b81526004018080602001828103825260318152602001806200266a6031913960400191505060405180910390fd5b600180546001600160a01b03191690556040516001600160a01b038216907fe4136584a5e8bb85d66301f3ce8b11cc2e5a8bea3979f10ea2451353849acc4790600090a250565b6002546001600160a01b031690565b6002546001600160a01b03163314620011a15760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b6001600160a01b038116620011e85760405162461bcd60e51b81526004018080602001828103825260398152602001806200258e6039913960400191505060405180910390fd5b620011f38162001832565b620012305760405162461bcd60e51b8152600401808060200182810382526036815260200180620028916036913960400191505060405180910390fd5b6000546001600160a01b03908116908216811415620012815760405162461bcd60e51b81526004018080602001828103825260488152602001806200251a6048913960600191505060405180910390fd5b600080546001600160a01b0319166001600160a01b03848116918217909255604080519284168352602083019190915280517f44cf34a26ccbaa8a20e6098a1278e28682572ec9921eb43d8dab274a503e92f59281900390910190a15050565b620012eb6200205a565b506001600160a01b0380831660009081526006602090815260409182902082516080810184528154851680825260018301548616938201939093526002820154909416928401929092526003909101546060830152806200137e5760405162461bcd60e51b815260040180806020018281038252602c81526020018062002562602c913960400191505060405180910390fd5b336001600160a01b038216148062001407575060408051633ef03e7560e11b815233600482015290516001600160a01b03861691637de07cea916024808301926020929190829003018186803b158015620013d857600080fd5b505afa158015620013ed573d6000803e3d6000fd5b505050506040513d60208110156200140457600080fd5b50515b620014445760405162461bcd60e51b8152600401808060200182810382526026815260200180620025c76026913960400191505060405180910390fd5b6001600160a01b0380851660009081526005602090815260408083205486830151878301516060890151600690955292852080546001600160a01b03199081168255600182018054821690556002820180549091169055600301949094559093169290620014b9600489868887878d62001838565b620014c988858786868c62001bd1565b604080516001600160a01b038581168252848116602083015281830184905291518288169287811692908c16917f9851a8f232c380eb2c1065756776e37d85d4fe0c8cb4005b0d72c749bfef923e9181900360600190a45050505050505050565b60048054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815260609390929091830182828015620015ba5780601f106200158e57610100808354040283529160200191620015ba565b820191906000526020600020905b8154815290600101906020018083116200159c57829003601f168201915b5050505050905090565b6001600160a01b0316600090815260066020526040902060030154151590565b6000546001600160a01b031633146200162f5760405162461bcd60e51b8152600401808060200182810382526034815260200180620024b66034913960400191505060405180910390fd5b6200163a8362001832565b620016775760405162461bcd60e51b8152600401808060200182810382526030815260200180620024ea6030913960400191505060405180910390fd5b6001600160a01b038085166000908152600560205260409020541680620016d05760405162461bcd60e51b815260040180806020018281038252602b815260200180620026fe602b913960400191505060405180910390fd5b336001600160a01b0382168114156200171b5760405162461bcd60e51b81526004018080602001828103825260378152602001806200285a6037913960400191505060405180910390fd5b6200172d600087848489898962001838565b60038054604080516080810182526001600160a01b03808616825289811660208084019182528a831684860190815242909601606085018181528e85166000908152600690935295909120935184549084166001600160a01b0319918216178555915160018086018054928616928516929092179091559551600285018054919094169216919091179091559151930192909255620017d2908885858a8a8a62001838565b604080516001600160a01b038881168252878116602083015281830184905291518285169286811692908b16917fb519c42fdb88f83f098814813f2ebff14fbf14f3e68b054e5a98834c69d54bfb9181900360600190a450505050505050565b3b151590565b60006060866001600160a01b0316633f84c12c60e01b8a8a898989604051602401808660048111156200186757fe5b8152602001856001600160a01b03168152602001846001600160a01b03168152602001836001600160a01b03168152602001826001600160a01b0316815260200195505050505050604051602081830303815290604052906001600160e01b0319166020820180516001600160e01b0383818316178352505050506040518082805190602001908083835b60208310620019135780518252601f199092019160209182019101620018f2565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811462001977576040519150601f19603f3d011682016040523d82523d6000602084013e6200197c565b606091505b50915091508162001bc65782620019938a62001ea1565b826040516020018083805190602001908083835b60208310620019c85780518252601f199092019160209182019101620019a7565b51815160209384036101000a600019018019909216911617905285519190930192850191508083835b6020831062001a125780518252601f199092019160209182019101620019f1565b6001836020036101000a038019825116818451168082178552505050505050905001925050506040516020818303038152906040529062001ad45760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101562001a9857818101518382015260200162001a7e565b50505050905090810190601f16801562001ac65780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50856001600160a01b0316876001600160a01b0316896001600160a01b03167fbf0ae6830883bd89855f2e7b17a2924b5de0b2b3d4a8834d7c2c0d5dc53447db848d8a8a604051808060200185600481111562001b2d57fe5b8152602001846001600160a01b03168152602001836001600160a01b03168152602001828103825286818151815260200191508051906020019080838360005b8381101562001b8757818101518382015260200162001b6d565b50505050905090810190601f16801562001bb55780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a45b505050505050505050565b604080516001600160a01b038881166024830152878116604483015285811660648301528481166084808401919091528351808403909101815260a490920183526020820180516001600160e01b031663df369ba760e01b17815292518251600094606094938a169392918291908083835b6020831062001c645780518252601f19909201916020918201910162001c43565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811462001cc8576040519150601f19603f3d011682016040523d82523d6000602084013e62001ccd565b606091505b50915091508162001e9757828160405160200180807f4d6967726174696f6e4f757443616e63656c486f6f6b3a20000000000000000081525060180182805190602001908083835b6020831062001d365780518252601f19909201916020918201910162001d15565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040516020818303038152906040529062001db95760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831562001a9857818101518382015260200162001a7e565b50856001600160a01b0316876001600160a01b0316896001600160a01b03167f7c79070aa51adb676fb9c8d0f7a1f841ff9cf514444b37c95297ed1c52547b328489896040518080602001846001600160a01b03168152602001836001600160a01b03168152602001828103825285818151815260200191508051906020019080838360005b8381101562001e5957818101518382015260200162001e3f565b50505050905090810190601f16801562001e875780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a45b5050505050505050565b6060600082600481111562001eb257fe5b141562001ef4575060408051808201909152601c81527f4d6967726174696f6e4f7574486f6f6b2e5072655369676e616c3a2000000000602082015262000c62565b600182600481111562001f0357fe5b141562001f45575060408051808201909152601d81527f4d6967726174696f6e4f7574486f6f6b2e506f73745369676e616c3a20000000602082015262000c62565b600282600481111562001f5457fe5b141562001f96575060408051808201909152601d81527f4d6967726174696f6e4f7574486f6f6b2e5072654d6967726174653a20000000602082015262000c62565b600382600481111562001fa557fe5b141562001fe7575060408051808201909152601e81527f4d6967726174696f6e4f7574486f6f6b2e506f73744d6967726174653a200000602082015262000c62565b600482600481111562001ff657fe5b141562002038575060408051808201909152601d81527f4d6967726174696f6e4f7574486f6f6b2e506f737443616e63656c3a20000000602082015262000c62565b505060408051602081019091526000815290565b610398806200211e83390190565b60408051608081018252600080825260208201819052918101829052606081019190915290565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620020c45782800160ff19823516178555620020f4565b82800160010185558215620020f4579182015b82811115620020f4578235825591602001919060010190620020d7565b506200210292915062002106565b5090565b5b808211156200210257600081556001016200210756fe608060405234801561001057600080fd5b506040516103983803806103988339818101604052604081101561003357600080fd5b810190808051604051939291908464010000000082111561005357600080fd5b90830190602082018581111561006857600080fd5b825164010000000081118282018810171561008257600080fd5b82525081516020918201929091019080838360005b838110156100af578181015183820152602001610097565b50505050905090810190601f1680156100dc5780820380516001836020036101000a031916815260200191505b5060408181526020928301516352d1902d60e01b835290519094506001600160a01b03851693506352d1902d92600480840193919291829003018186803b15801561012657600080fd5b505afa15801561013a573d6000803e3d6000fd5b505050506040513d602081101561015057600080fd5b50517f027b9570e9fedc1a80b937ae9a06861e5faef3992491af30b684a64b3fbec7a5146101af5760405162461bcd60e51b81526004018080602001828103825260258152602001806103736025913960400191505060405180910390fd5b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5560006060826001600160a01b0316846040518082805190602001908083835b602083106102105780518252601f1990920191602091820191016101f1565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610270576040519150601f19603f3d011682016040523d82523d6000602084013e610275565b606091505b50915091508181906103055760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156102ca5781810151838201526020016102b2565b50505050905090810190601f1680156102f75780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5050505050605b806103186000396000f3fe60806040527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc543660008037600080366000846127105a03f43d806000803e818015604957816000f35b816000fdfea164736f6c634300060c000a636f6e7374727563746f723a205f7661756c744c6962206e6f7420636f6d70617469626c654f6e6c79207468652063757272656e742046756e644465706c6f7965722063616e2063616c6c20746869732066756e6374696f6e7369676e616c4d6967726174696f6e3a204e6f6e2d636f6e7472616374205f6e6578745661756c744163636573736f7273657443757272656e7446756e644465706c6f7965723a205f6e65787446756e644465706c6f79657220697320616c72656164792063757272656e7446756e644465706c6f79657263616e63656c4d6967726174696f6e3a204e6f206d6967726174696f6e20726571756573742065786973747373657443757272656e7446756e644465706c6f7965723a205f6e65787446756e644465706c6f7965722063616e6e6f7420626520656d70747963616e63656c4d6967726174696f6e3a204e6f7420616e20616c6c6f7765642063616c6c6572657865637574654d6967726174696f6e3a20546865207461726765742046756e644465706c6f796572206973206e6f206c6f6e676572207468652063757272656e742046756e644465706c6f7965724f6e6c792074686520636f6e7472616374206f776e65722063616e2063616c6c20746869732066756e6374696f6e72656d6f76654e6f6d696e617465644f776e65723a205468657265206973206e6f206e6f6d696e61746564206f776e65726465706c6f795661756c7450726f78793a204e6f6e2d636f6e7472616374205f7661756c744163636573736f727365744e6f6d696e617465644f776e65723a205f6e6578744e6f6d696e617465644f776e65722063616e6e6f7420626520656d7074797369676e616c4d6967726174696f6e3a205f7661756c7450726f787920646f6573206e6f74206578697374657865637574654d6967726174696f6e3a20546865206d6967726174696f6e2074696d656c6f636b20686173206e6f7420656c61707365647365744e6f6d696e617465644f776e65723a205f6e6578744e6f6d696e617465644f776e657220697320616c726561647920746865206f776e6572657865637574654d6967726174696f6e3a204f6e6c7920746865207461726765742046756e644465706c6f7965722063616e2063616c6c20746869732066756e6374696f6e7365744e6f6d696e617465644f776e65723a205f6e6578744e6f6d696e617465644f776e657220697320616c7265616479206e6f6d696e61746564636c61696d4f776e6572736869703a204f6e6c7920746865206e6f6d696e617465644f776e65722063616e2063616c6c20746869732066756e6374696f6e7369676e616c4d6967726174696f6e3a2043616e206f6e6c79206d69677261746520746f2061206e65772046756e644465706c6f79657273657443757272656e7446756e644465706c6f7965723a204e6f6e2d636f6e7472616374205f6e65787446756e644465706c6f796572657865637574654d6967726174696f6e3a204e6f206d6967726174696f6e20726571756573742065786973747320666f72205f7661756c7450726f78797365744d6967726174696f6e54696d656c6f636b3a205f6e65787454696d656c6f636b206973207468652063757272656e742074696d656c6f636ba164736f6c634300060c000a4572726f723a2061203d3d2062206e6f7420736174697366696564205b616464726573735da164736f6c634300060c000a", "sourceMap": "905:211:456:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;823:78;;;:::i;:::-;;316:38:436;;;:::i;:::-;;;;-1:-1:-1;;;;;316:38:436;;;;;;;;;;;;;;669:148:456;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;669:148:456;;-1:-1:-1;669:148:456;;-1:-1:-1;;;;;669:148:456:i;954:160::-;;;:::i;1819:584:435:-;;;:::i;:::-;;;;;;;;;;;;;;;;;;165:28:436;;;:::i;1572:26:435:-;;;:::i;823:78:456:-;878:16;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;865:10:456;:29;;-1:-1:-1;;;;;;865:29:456;-1:-1:-1;;;;;865:29:456;;;;;;;;;;823:78::o;316:38:436:-;245:64;316:38;:::o;669:148:456:-;783:23;;;;;;;-1:-1:-1;;;;;751:59:456;;669:148::o;954:160::-;999:46;1016:4;1023:10;;;;;;;;;-1:-1:-1;;;;;1023:10:456;-1:-1:-1;;;;;1023:19:456;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1023:21:456;999:8;:46::i;:::-;1055:52;1072:1;1076:10;;;;;;;;;-1:-1:-1;;;;;1076:10:456;-1:-1:-1;;;;;1076:28:456;;:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1055:52;954:160::o;1819:584:435:-;1853:4;1873:7;;;;;;;1869:528;;;-1:-1:-1;1903:7:435;;;;;;;1896:14;;1869:528;1941:17;1984:16;:14;:16::i;:::-;1980:374;;;2196:43;;;1671:64;2196:43;;;;;;;-1:-1:-1;;;2196:43:435;;;;;;;;;;;;;2023:20;2196:43;;;;;;-1:-1:-1;;;2086:175:435;;;;;;;;1671:64;;2135:34;;2196:43;;2086:175;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2086:175:435;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2047:232;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2047:232:435;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2020:259;;;2323:7;2312:27;;;;;;;;;;;;;;;-1:-1:-1;2312:27:435;;-1:-1:-1;;1980:374:435;2374:12;-1:-1:-1;1869:528:435;1819:584;:::o;165:28:436:-;;;;;;;;;:::o;1572:26:435:-;;;;;;:::o;3615:277::-;3683:1;-1:-1:-1;;;;;3678:6:435;:1;-1:-1:-1;;;;;3678:6:435;;3674:212;;3705:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3768:34;;;-1:-1:-1;;;;;3768:34:435;;;;;;;;;;;;;;-1:-1:-1;;;3768:34:435;;;;;;;;;;;;;;;3821;;;-1:-1:-1;;;;;3821:34:435;;;;;;;;;;;;;;-1:-1:-1;;;3821:34:435;;;;;;;;;;;;;;;3869:6;:4;:6::i;:::-;3615:277;;:::o;2840:242::-;2990:42;2978:55;3059:16;;2840:242;:::o;2410:424::-;2449:16;:14;:16::i;:::-;2445:359;;;2645:67;;;1671:64;2645:67;;;;;;;-1:-1:-1;;;2645:67:435;;;;2705:4;1679:55;2645:67;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2534:196:435;;;;;;;;2482:11;;1671:64;;2579:43;;2645:67;2534:196;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2534:196:435;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2499:245;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2499:245:435;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;2445:359:435;2813:7;:14;;-1:-1:-1;;2813:14:435;;;;;2410:424::o;-1:-1:-1:-;;;;;;;;:::o", "linkReferences": {} }, "methodIdentifiers": { "IS_SCRIPT()": "f8ccbf47", "IS_TEST()": "fa7626d4", "addr(string)": "511b1df9", "failed()": "ba414fa6", "setUp()": "0a9254e4", "testInitialState()": "b2c9d7cd", "vm()": "3a768463" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"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_SCRIPT\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"}],\"name\":\"addr\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"setUp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testInitialState\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"vm\",\"outputs\":[{\"internalType\":\"contract Vm\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"tests/persistent/Dispatcher.t.sol\":\"ConstructorTest\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/mocks/MockVaultLib.sol\":{\"keccak256\":\"0x14d298c9cd4411cc6260fe50b93a1da572c5ddee7bfca377dd35403741c4e3b6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://e51c048dc4e2c9117fff0ecd4ab94d09701b9cd89247db8608c1a491c7374635\",\"dweb:/ipfs/QmYkH9dXQp1EEMfrcGPUTc3ey4o2UtvG91vDxjgQzwUuHE\"]},\"contracts/persistent/dispatcher/Dispatcher.sol\":{\"keccak256\":\"0x0590285e72005e40573fcc93e95aa75a5963bdcf5b02a627c73d8bc982f9d850\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://e9f2190a9ba01ec1f03b5159387c3864b9700337f3d7b07ec0758bbde52d32e2\",\"dweb:/ipfs/QmX5gevftdWC5xzSVcmVn14aFhKgweCXAhndZ8ZECN92fj\"]},\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/dispatcher/IMigrationHookHandler.sol\":{\"keccak256\":\"0x4cec61ef58c1d2e7693ee954c3582b1a04ff836a569e216edb7526c7e56a5632\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://0acae6d91e3e20e6ebd46cbeff926967a2d64f3d8eb2e3cdff20366917a77879\",\"dweb:/ipfs/Qmd44oJngTNRnwXdDwtNd9o4UvTgxAmBGikz3QMPKf4NWy\"]},\"contracts/persistent/vault/VaultLibBaseCore.sol\":{\"keccak256\":\"0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd\",\"dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz\"]},\"contracts/persistent/vault/VaultProxy.sol\":{\"keccak256\":\"0x08ff12cb7955ab80cf35f98a5abae23a92f655916669986d1580cb394f6b6bb3\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://320fcccd67d3390d6762bdef41f7d5e679e61b3244b1d945fc33402ea684bc3a\",\"dweb:/ipfs/Qmaaxqgm4EzF1r4n52pkjs7bA5quKhVwrh356rTFXDj86L\"]},\"contracts/persistent/vault/interfaces/IMigratableVault.sol\":{\"keccak256\":\"0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6\",\"dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs\"]},\"contracts/persistent/vault/utils/ProxiableVaultLib.sol\":{\"keccak256\":\"0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44\",\"dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4\"]},\"contracts/persistent/vault/utils/SharesTokenBase.sol\":{\"keccak256\":\"0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8\",\"dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4\"]},\"contracts/persistent/vault/utils/VaultLibSafeMath.sol\":{\"keccak256\":\"0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02\",\"dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG\"]},\"lib/forge-std/lib/ds-test/src/test.sol\":{\"keccak256\":\"0xb39cd1d5220cb474947b131e15a4538334b7e886af244b440ae5c9c6bba96a54\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://3101520221449ac0070bda3881311a71d9aa87e5210765e875246922cb5cb5f5\",\"dweb:/ipfs/Qmbg6kAHNoG7ox9N9Xqd9Ere2H2XixMFWFqvyPwFCzB3Gr\"]},\"lib/forge-std/src/Script.sol\":{\"keccak256\":\"0x4424dbcb8f5b741475445726f87408fcd89951fad973bec2ca442ee157f910e7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5b0b9f6dfb69245d8f888558ae82bf1d2cdeace46201444fe4b2e6a5283f944a\",\"dweb:/ipfs/QmWFSKeFEZngNcwNn7A84EF7pASo5qe6r5oK24r9Kwca7Z\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0xa85dee62f7a3d7d3b26051f28d08bbfaa6d76888b8e64395583c35f11070372b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f3ecace3d6120731c4520f651c36658940df958755a2c86d6bf0ec895320a915\",\"dweb:/ipfs/QmVGbUYLtMsAYF3C27qHKs3VHRuRNDypuDfs4XGK47kqUT\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x63fc2487cf3a6650d933e18bcb61766f15f74c327192381806ea00f8f6446f66\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aad99f7b2ed3b11ff6c17b84b4196c562898640a80cabc2c28c87c116099a00f\",\"dweb:/ipfs/QmQNNbxHabRycegyXwJWBDutrdcScAP2SU5zEvorWEaFpx\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0xbeb823fcdb356244a83aaccdf828ad019ecc1ffaa3dff18e624fc6d5714ea671\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4cbe9400340e5f9ec55e2aff3bad1c15fa3afbbe37e80800e6f3fed2ad26854f\",\"dweb:/ipfs/QmdJBABsuXkvWxVzEyGXsTE3vyfBPXDdw5xvvtUz3JeoYW\"]},\"tests/persistent/Dispatcher.t.sol\":{\"keccak256\":\"0x9f19e0376c4d2fa61f4c50089a46d54b7a1d464b31413aeb4147da02b44cd298\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://e9f733c425d149594c2044229dd51e543d330cfb11b7825dfd59631a3aabd71d\",\"dweb:/ipfs/QmY3c9daKiMH2W9qbq94TekosaySFV44ZUXsGuBfigo832\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "string", "name": "", "type": "string", "indexed": false } ], "type": "event", "name": "log", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "", "type": "address", "indexed": false } ], "type": "event", "name": "log_address", "anonymous": false }, { "inputs": [ { "internalType": "uint256[]", "name": "val", "type": "uint256[]", "indexed": false } ], "type": "event", "name": "log_array", "anonymous": false }, { "inputs": [ { "internalType": "int256[]", "name": "val", "type": "int256[]", "indexed": false } ], "type": "event", "name": "log_array", "anonymous": false }, { "inputs": [ { "internalType": "address[]", "name": "val", "type": "address[]", "indexed": false } ], "type": "event", "name": "log_array", "anonymous": false }, { "inputs": [ { "internalType": "bytes", "name": "", "type": "bytes", "indexed": false } ], "type": "event", "name": "log_bytes", "anonymous": false }, { "inputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32", "indexed": false } ], "type": "event", "name": "log_bytes32", "anonymous": false }, { "inputs": [ { "internalType": "int256", "name": "", "type": "int256", "indexed": false } ], "type": "event", "name": "log_int", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "key", "type": "string", "indexed": false }, { "internalType": "address", "name": "val", "type": "address", "indexed": false } ], "type": "event", "name": "log_named_address", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "key", "type": "string", "indexed": false }, { "internalType": "uint256[]", "name": "val", "type": "uint256[]", "indexed": false } ], "type": "event", "name": "log_named_array", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "key", "type": "string", "indexed": false }, { "internalType": "int256[]", "name": "val", "type": "int256[]", "indexed": false } ], "type": "event", "name": "log_named_array", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "key", "type": "string", "indexed": false }, { "internalType": "address[]", "name": "val", "type": "address[]", "indexed": false } ], "type": "event", "name": "log_named_array", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "key", "type": "string", "indexed": false }, { "internalType": "bytes", "name": "val", "type": "bytes", "indexed": false } ], "type": "event", "name": "log_named_bytes", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "key", "type": "string", "indexed": false }, { "internalType": "bytes32", "name": "val", "type": "bytes32", "indexed": false } ], "type": "event", "name": "log_named_bytes32", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "key", "type": "string", "indexed": false }, { "internalType": "int256", "name": "val", "type": "int256", "indexed": false }, { "internalType": "uint256", "name": "decimals", "type": "uint256", "indexed": false } ], "type": "event", "name": "log_named_decimal_int", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "key", "type": "string", "indexed": false }, { "internalType": "uint256", "name": "val", "type": "uint256", "indexed": false }, { "internalType": "uint256", "name": "decimals", "type": "uint256", "indexed": false } ], "type": "event", "name": "log_named_decimal_uint", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "key", "type": "string", "indexed": false }, { "internalType": "int256", "name": "val", "type": "int256", "indexed": false } ], "type": "event", "name": "log_named_int", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "key", "type": "string", "indexed": false }, { "internalType": "string", "name": "val", "type": "string", "indexed": false } ], "type": "event", "name": "log_named_string", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "key", "type": "string", "indexed": false }, { "internalType": "uint256", "name": "val", "type": "uint256", "indexed": false } ], "type": "event", "name": "log_named_uint", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "", "type": "string", "indexed": false } ], "type": "event", "name": "log_string", "anonymous": false }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256", "indexed": false } ], "type": "event", "name": "log_uint", "anonymous": false }, { "inputs": [ { "internalType": "bytes", "name": "", "type": "bytes", "indexed": false } ], "type": "event", "name": "logs", "anonymous": false }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "IS_SCRIPT", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "IS_TEST", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [ { "internalType": "string", "name": "_name", "type": "string" } ], "stateMutability": "pure", "type": "function", "name": "addr", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ] }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "failed", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "setUp" }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "testInitialState" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "vm", "outputs": [ { "internalType": "contract Vm", "name": "", "type": "address" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "tests/persistent/Dispatcher.t.sol": "ConstructorTest" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/mocks/MockVaultLib.sol": { "keccak256": "0x14d298c9cd4411cc6260fe50b93a1da572c5ddee7bfca377dd35403741c4e3b6", "urls": [ "bzz-raw://e51c048dc4e2c9117fff0ecd4ab94d09701b9cd89247db8608c1a491c7374635", "dweb:/ipfs/QmYkH9dXQp1EEMfrcGPUTc3ey4o2UtvG91vDxjgQzwUuHE" ], "license": "GPL-3.0" }, "contracts/persistent/dispatcher/Dispatcher.sol": { "keccak256": "0x0590285e72005e40573fcc93e95aa75a5963bdcf5b02a627c73d8bc982f9d850", "urls": [ "bzz-raw://e9f2190a9ba01ec1f03b5159387c3864b9700337f3d7b07ec0758bbde52d32e2", "dweb:/ipfs/QmX5gevftdWC5xzSVcmVn14aFhKgweCXAhndZ8ZECN92fj" ], "license": "GPL-3.0" }, "contracts/persistent/dispatcher/IDispatcher.sol": { "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", "urls": [ "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" ], "license": "GPL-3.0" }, "contracts/persistent/dispatcher/IMigrationHookHandler.sol": { "keccak256": "0x4cec61ef58c1d2e7693ee954c3582b1a04ff836a569e216edb7526c7e56a5632", "urls": [ "bzz-raw://0acae6d91e3e20e6ebd46cbeff926967a2d64f3d8eb2e3cdff20366917a77879", "dweb:/ipfs/Qmd44oJngTNRnwXdDwtNd9o4UvTgxAmBGikz3QMPKf4NWy" ], "license": "GPL-3.0" }, "contracts/persistent/vault/VaultLibBaseCore.sol": { "keccak256": "0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074", "urls": [ "bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd", "dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz" ], "license": "GPL-3.0" }, "contracts/persistent/vault/VaultProxy.sol": { "keccak256": "0x08ff12cb7955ab80cf35f98a5abae23a92f655916669986d1580cb394f6b6bb3", "urls": [ "bzz-raw://320fcccd67d3390d6762bdef41f7d5e679e61b3244b1d945fc33402ea684bc3a", "dweb:/ipfs/Qmaaxqgm4EzF1r4n52pkjs7bA5quKhVwrh356rTFXDj86L" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IMigratableVault.sol": { "keccak256": "0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238", "urls": [ "bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6", "dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs" ], "license": "GPL-3.0" }, "contracts/persistent/vault/utils/ProxiableVaultLib.sol": { "keccak256": "0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76", "urls": [ "bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44", "dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4" ], "license": "GPL-3.0" }, "contracts/persistent/vault/utils/SharesTokenBase.sol": { "keccak256": "0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113", "urls": [ "bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8", "dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4" ], "license": "GPL-3.0" }, "contracts/persistent/vault/utils/VaultLibSafeMath.sol": { "keccak256": "0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d", "urls": [ "bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02", "dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG" ], "license": "GPL-3.0" }, "lib/forge-std/lib/ds-test/src/test.sol": { "keccak256": "0xb39cd1d5220cb474947b131e15a4538334b7e886af244b440ae5c9c6bba96a54", "urls": [ "bzz-raw://3101520221449ac0070bda3881311a71d9aa87e5210765e875246922cb5cb5f5", "dweb:/ipfs/Qmbg6kAHNoG7ox9N9Xqd9Ere2H2XixMFWFqvyPwFCzB3Gr" ], "license": "GPL-3.0-or-later" }, "lib/forge-std/src/Script.sol": { "keccak256": "0x4424dbcb8f5b741475445726f87408fcd89951fad973bec2ca442ee157f910e7", "urls": [ "bzz-raw://5b0b9f6dfb69245d8f888558ae82bf1d2cdeace46201444fe4b2e6a5283f944a", "dweb:/ipfs/QmWFSKeFEZngNcwNn7A84EF7pASo5qe6r5oK24r9Kwca7Z" ], "license": "MIT" }, "lib/forge-std/src/Test.sol": { "keccak256": "0xa85dee62f7a3d7d3b26051f28d08bbfaa6d76888b8e64395583c35f11070372b", "urls": [ "bzz-raw://f3ecace3d6120731c4520f651c36658940df958755a2c86d6bf0ec895320a915", "dweb:/ipfs/QmVGbUYLtMsAYF3C27qHKs3VHRuRNDypuDfs4XGK47kqUT" ], "license": "MIT" }, "lib/forge-std/src/Vm.sol": { "keccak256": "0x63fc2487cf3a6650d933e18bcb61766f15f74c327192381806ea00f8f6446f66", "urls": [ "bzz-raw://aad99f7b2ed3b11ff6c17b84b4196c562898640a80cabc2c28c87c116099a00f", "dweb:/ipfs/QmQNNbxHabRycegyXwJWBDutrdcScAP2SU5zEvorWEaFpx" ], "license": "MIT" }, "lib/forge-std/src/console.sol": { "keccak256": "0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba", "urls": [ "bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70", "dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec" ], "license": "MIT" }, "lib/forge-std/src/console2.sol": { "keccak256": "0xbeb823fcdb356244a83aaccdf828ad019ecc1ffaa3dff18e624fc6d5714ea671", "urls": [ "bzz-raw://4cbe9400340e5f9ec55e2aff3bad1c15fa3afbbe37e80800e6f3fed2ad26854f", "dweb:/ipfs/QmdJBABsuXkvWxVzEyGXsTE3vyfBPXDdw5xvvtUz3JeoYW" ], "license": "MIT" }, "tests/persistent/Dispatcher.t.sol": { "keccak256": "0x9f19e0376c4d2fa61f4c50089a46d54b7a1d464b31413aeb4147da02b44cd298", "urls": [ "bzz-raw://e9f733c425d149594c2044229dd51e543d330cfb11b7825dfd59631a3aabd71d", "dweb:/ipfs/QmY3c9daKiMH2W9qbq94TekosaySFV44ZUXsGuBfigo832" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 456 } diff --git a/eth_defi/abi/enzyme/Context.json b/eth_defi/abi/enzyme/Context.json index 9df0d35e..89569de4 100644 --- a/eth_defi/abi/enzyme/Context.json +++ b/eth_defi/abi/enzyme/Context.json @@ -1,78 +1 @@ -{ - "abi": [], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": {}, - "rawMetadata": "{\"compiler\":{\"version\":\"0.7.6+commit.7338295f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@openzeppelin-solc-0.7/contracts/utils/Context.sol\":\"Context\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"node_modules/@openzeppelin-solc-0.7/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.7.6+commit.7338295f" - }, - "language": "Solidity", - "output": { - "abi": [], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "node_modules/@openzeppelin-solc-0.7/contracts/utils/Context.sol": "Context" - }, - "libraries": {} - }, - "sources": { - "node_modules/@openzeppelin-solc-0.7/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 20 -} +{ "abi": [], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": {}, "rawMetadata": "{\"compiler\":{\"version\":\"0.7.6+commit.7338295f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@openzeppelin-solc-0.7/contracts/utils/Context.sol\":\"Context\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"node_modules/@openzeppelin-solc-0.7/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.7.6+commit.7338295f" }, "language": "Solidity", "output": { "abi": [], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "node_modules/@openzeppelin-solc-0.7/contracts/utils/Context.sol": "Context" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "node_modules/@openzeppelin-solc-0.7/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" } }, "version": 1 }, "id": 20 } diff --git a/eth_defi/abi/enzyme/ConvexCurveLpStakingAdapter.json b/eth_defi/abi/enzyme/ConvexCurveLpStakingAdapter.json index e8eb3452..3111ecc7 100644 --- a/eth_defi/abi/enzyme/ConvexCurveLpStakingAdapter.json +++ b/eth_defi/abi/enzyme/ConvexCurveLpStakingAdapter.json @@ -1,1244 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_integrationManager", - "type": "address" - }, - { - "internalType": "address", - "name": "_curvePriceFeed", - "type": "address" - }, - { - "internalType": "address", - "name": "_wrappedNativeAsset", - "type": "address" - }, - { - "internalType": "address", - "name": "_stakingWrapperFactory", - "type": "address" - }, - { - "internalType": "address", - "name": "_nativeAssetAddress", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "name": "CLAIM_REWARDS_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "LEND_AND_STAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "LEND_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "REDEEM_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "STAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "TAKE_MULTIPLE_ORDERS_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "TAKE_ORDER_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "UNSTAKE_AND_REDEEM_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "UNSTAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "claimRewards", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getCurveLiquidityWrappedNativeAsset", - "outputs": [ - { - "internalType": "address", - "name": "addressProvider_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getIntegrationManager", - "outputs": [ - { - "internalType": "address", - "name": "integrationManager_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "_assetData", - "type": "bytes" - } - ], - "name": "lendAndStake", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes4", - "name": "_selector", - "type": "bytes4" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - } - ], - "name": "parseAssetsForAction", - "outputs": [ - { - "internalType": "enum IIntegrationManager.SpendAssetsHandleType", - "name": "spendAssetsHandleType_", - "type": "uint8" - }, - { - "internalType": "address[]", - "name": "spendAssets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "spendAssetAmounts_", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "incomingAssets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "minIncomingAssetAmounts_", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "_assetData", - "type": "bytes" - } - ], - "name": "stake", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "unstake", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "_assetData", - "type": "bytes" - } - ], - "name": "unstakeAndRedeem", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "stateMutability": "payable", - "type": "receive" - } - ], - "bytecode": { - "object": "0x61012060405234801561001157600080fd5b5060405161393b38038061393b833981810160405260a081101561003457600080fd5b508051602082015160408301516060808501516080958601516001600160601b031995831b861690965291811b841660a05293841b831660c05290831b82166101005290911b1660e05260805160601c60a05160601c60c05160601c60e05160601c6101005160601c6138476100f4600039806109d85280612957525080611e1b5280612091528061289b52508061352752508061086c5250806108e15280610b635280610c285280610da85280610f7e5280610fcf52506138476000f3fe6080604052600436106101025760003560e01c80638334eb9911610095578063c32990a211610064578063c32990a21461055d578063c54efee514610572578063e7c4569014610741578063f7d882b514610756578063fa7dd04d1461076b57610109565b80638334eb991461037d578063863e5ad014610458578063b23228cf1461046d578063b9dfbacc1461048257610109565b806329fa046e116100d157806329fa046e1461019b5780633ffc15911461027857806340da225d1461028d57806368e30677146102a257610109565b8063080456c11461010e57806312c9d38614610140578063131461c014610171578063257cb1a31461018657610109565b3661010957005b600080fd5b34801561011a57600080fd5b50610123610846565b604080516001600160e01b03199092168252519081900360200190f35b34801561014c57600080fd5b5061015561086a565b604080516001600160a01b039092168252519081900360200190f35b34801561017d57600080fd5b5061012361088e565b34801561019257600080fd5b506101236108b2565b3480156101a757600080fd5b50610276600480360360608110156101be57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b8111156101e857600080fd5b8201836020820111156101fa57600080fd5b803590602001918460018302840111600160201b8311171561021b57600080fd5b919390929091602081019035600160201b81111561023857600080fd5b82018360208201111561024a57600080fd5b803590602001918460018302840111600160201b8311171561026b57600080fd5b5090925090506108d6565b005b34801561028457600080fd5b50610123610b10565b34801561029957600080fd5b50610123610b34565b3480156102ae57600080fd5b50610276600480360360608110156102c557600080fd5b6001600160a01b038235169190810190604081016020820135600160201b8111156102ef57600080fd5b82018360208201111561030157600080fd5b803590602001918460018302840111600160201b8311171561032257600080fd5b919390929091602081019035600160201b81111561033f57600080fd5b82018360208201111561035157600080fd5b803590602001918460018302840111600160201b8311171561037257600080fd5b509092509050610b58565b34801561038957600080fd5b50610276600480360360608110156103a057600080fd5b6001600160a01b038235169190810190604081016020820135600160201b8111156103ca57600080fd5b8201836020820111156103dc57600080fd5b803590602001918460018302840111600160201b831117156103fd57600080fd5b919390929091602081019035600160201b81111561041a57600080fd5b82018360208201111561042c57600080fd5b803590602001918460018302840111600160201b8311171561044d57600080fd5b509092509050610c1d565b34801561046457600080fd5b50610123610d55565b34801561047957600080fd5b50610123610d79565b34801561048e57600080fd5b50610276600480360360608110156104a557600080fd5b6001600160a01b038235169190810190604081016020820135600160201b8111156104cf57600080fd5b8201836020820111156104e157600080fd5b803590602001918460018302840111600160201b8311171561050257600080fd5b919390929091602081019035600160201b81111561051f57600080fd5b82018360208201111561053157600080fd5b803590602001918460018302840111600160201b8311171561055257600080fd5b509092509050610d9d565b34801561056957600080fd5b50610123610e53565b34801561057e57600080fd5b5061060c6004803603606081101561059557600080fd5b6001600160a01b03823516916001600160e01b031960208201351691810190606081016040820135600160201b8111156105ce57600080fd5b8201836020820111156105e057600080fd5b803590602001918460018302840111600160201b8311171561060157600080fd5b509092509050610e77565b6040518086600281111561061c57fe5b815260200180602001806020018060200180602001858103855289818151815260200191508051906020019060200280838360005b83811015610669578181015183820152602001610651565b50505050905001858103845288818151815260200191508051906020019060200280838360005b838110156106a8578181015183820152602001610690565b50505050905001858103835287818151815260200191508051906020019060200280838360005b838110156106e75781810151838201526020016106cf565b50505050905001858103825286818151815260200191508051906020019060200280838360005b8381101561072657818101518382015260200161070e565b50505050905001995050505050505050505060405180910390f35b34801561074d57600080fd5b50610155610f7c565b34801561076257600080fd5b50610123610fa0565b34801561077757600080fd5b506102766004803603606081101561078e57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b8111156107b857600080fd5b8201836020820111156107ca57600080fd5b803590602001918460018302840111600160201b831117156107eb57600080fd5b919390929091602081019035600160201b81111561080857600080fd5b82018360208201111561081a57600080fd5b803590602001918460018302840111600160201b8311171561083b57600080fd5b509092509050610fc4565b7f8334eb99be0145865eba9889fca2ee920288090caefff4cc776038e20ad9259a81565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f29fa046e79524c3c5ac4c01df692c35e217802b2b13b21121b76cf0ef02b138c81565b7f099f75155f0e997bf83a7993a71d5e7e7540bd386fe1e84643a09ce6b412521981565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461093d5760405162461bcd60e51b81526004018080602001828103825260328152602001806137616032913960400191505060405180910390fd5b60006060600080600061098589898080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506110e192505050565b9450945094509450945060606109d088888080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506111b592505050565b5050905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316631f5bce55886040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610a4357600080fd5b505afa158015610a57573d6000803e3d6000fd5b505050506040513d6020811015610a6d57600080fd5b50519050610a7e8783888787611372565b610b02858d836001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610ad057600080fd5b505afa158015610ae4573d6000803e3d6000fd5b505050506040513d6020811015610afa57600080fd5b505184611626565b505050505050505050505050565b7ffa7dd04da627f433da73c4355ead9c75682a67a8fc84d3f6170ef0922f402d2481565b7fb9dfbaccbe5cd2a84fdcf1d15f23ef25d23086f5afbaa99516065ed4a5bbc7a381565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610bbf5760405162461bcd60e51b81526004018080602001828103825260328152602001806137616032913960400191505060405180910390fd5b600080610c0186868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061169c92505050565b9250925050610c148288898460006116d0565b50505050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610c845760405162461bcd60e51b81526004018080602001828103825260328152602001806137616032913960400191505060405180910390fd5b8482828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250604080516020601f8c018190048102820181019092528a815291945084935083925082918291606091610d04918e908e90819084018382808284376000920191909152506117d592505050565b955095509550955095509550610d1e858e308760006116d0565b610d2b86858585856118d8565b5050505050506060610d3c826111b5565b92505050610d4a8382611924565b505050505050505050565b7f03e38a2bd7063d45c897edeafc330e71657502dd86434d3c37a489caf116af6981565b7f68e30677f607df46e87da13e15b637784cfa62374b653f35ab43d10361a2f83081565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610e045760405162461bcd60e51b81526004018080602001828103825260328152602001806137616032913960400191505060405180910390fd5b610e4c610e4685858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611a7f92505050565b86611aa0565b5050505050565b7f0e7f692dad5b88fdee426250d6eae91207e56a2e8112b7364579bed1790e5bf481565b600060608080806001600160e01b03198816632e77eeb360e21b1415610eae57610e9f611c42565b94509450945094509450610f71565b6001600160e01b031988166314fd023760e11b1415610ed157610e9f8787611ca2565b6001600160e01b0319881663fa7dd04d60e01b1415610ef457610e9f8787611da7565b6001600160e01b031988166368e3067760e01b1415610f1757610e9f8787611f9e565b6001600160e01b03198816638334eb9960e01b1415610f3a57610e9f8787612195565b60405162461bcd60e51b81526004018080602001828103825260278152602001806138146027913960400191505060405180910390fd5b945094509450945094565b7f000000000000000000000000000000000000000000000000000000000000000090565b7fc29fa9dde84204c2908778afd0613d802d31cf046179b88f6d2b4a4e507ea2d581565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461102b5760405162461bcd60e51b81526004018080602001828103825260328152602001806137616032913960400191505060405180910390fd5b60008061106d86868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061169c92505050565b925092505060606110b385858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506111b592505050565b505090506110d7838984846000815181106110ca57fe5b6020026020010151611626565b5050505050505050565b6000606060008060008580602001905160a08110156110ff57600080fd5b815160208301805160405192949293830192919084600160201b82111561112557600080fd5b90830190602082018581111561113a57600080fd5b82518660208202830111600160201b8211171561115657600080fd5b82525081516020918201928201910280838360005b8381101561118357818101518382015260200161116b565b50505050919091016040908152602083015190830151606090930151969d959c509a5090985093965091945050505050565b60608060608380602001905160608110156111cf57600080fd5b8101908080516040519392919084600160201b8211156111ee57600080fd5b90830190602082018581111561120357600080fd5b82518660208202830111600160201b8211171561121f57600080fd5b82525081516020918201928201910280838360005b8381101561124c578181015183820152602001611234565b5050505090500160405260200180516040519392919084600160201b82111561127457600080fd5b90830190602082018581111561128957600080fd5b82518660208202830111600160201b821117156112a557600080fd5b82525081516020918201928201910280838360005b838110156112d25781810151838201526020016112ba565b5050505090500160405260200180516040519392919084600160201b8211156112fa57600080fd5b90830190602082018581111561130f57600080fd5b82518660208202830111600160201b8211171561132b57600080fd5b82525081516020918201928201910280838360005b83811015611358578181015183820152602001611340565b505050509050016040525050509250925092509193909250565b6000805b85518110156114e55761138761086a565b6001600160a01b031686828151811061139c57fe5b60200260200101516001600160a01b0316141561149f576113bb61086a565b6001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561140757600080fd5b505afa15801561141b573d6000803e3d6000fd5b505050506040513d602081101561143157600080fd5b5051915061143d61086a565b6001600160a01b0316632e1a7d4d836040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561148257600080fd5b505af1158015611496573d6000803e3d6000fd5b505050506114dd565b6114dd8682815181106114ae57fe5b6020026020010151887f161bcca7119915b50764b4abe86529797775a5f171951000000000000000000061229e565b600101611376565b5060006060876001600160a01b03168361150088888861235c565b6040518082805190602001908083835b6020831061152f5780518252601f199092019160209182019101611510565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114611591576040519150601f19603f3d011682016040523d82523d6000602084013e611596565b606091505b5091509150818190610d4a5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156115eb5781810151838201526020016115d3565b50505050905090810190601f1680156116185780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b61163181858461229e565b836001600160a01b031663ffaad6a584846040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561168857600080fd5b505af11580156110d7573d6000803e3d6000fd5b60008060008380602001905160608110156116b657600080fd5b508051602082015160409092015190969195509350915050565b6001600160a01b03841630141561175f57846001600160a01b03166373e2290c8484846040518463ffffffff1660e01b815260040180846001600160a01b0316815260200183815260200182151581526020019350505050600060405180830381600087803b15801561174257600080fd5b505af1158015611756573d6000803e3d6000fd5b50505050610e4c565b6040805163167d7d5f60e11b81526001600160a01b0386811660048301528581166024830152604482018590528315156064830152915191871691632cfafabe9160848082019260009290919082900301818387803b1580156117c157600080fd5b505af1158015610d4a573d6000803e3d6000fd5b600080600080600060608680602001905160c08110156117f457600080fd5b815160208301516040808501516060860151608087015160a088018051945196989597939692959194929382019284600160201b82111561183457600080fd5b90830190602082018581111561184957600080fd5b8251600160201b81118282018810171561186257600080fd5b82525081516020918201929091019080838360005b8381101561188f578181015183820152602001611877565b50505050905090810190601f1680156118bc5780820380516001836020036101000a031916815260200191505b5060405250505095509550955095509550955091939550919395565b60018260018111156118e657fe5b1415611910576000806118f8836124ad565b9150915061190987878484896124d8565b5050610e4c565b610e4c858561191e84612685565b8661272d565b6060815167ffffffffffffffff8111801561193e57600080fd5b50604051908082528060200260200182016040528015611968578160200160208202803683370190505b50905060005b8251811015611a7857600083828151811061198557fe5b60200260200101519050806001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156119dc57600080fd5b505afa1580156119f0573d6000803e3d6000fd5b505050506040513d6020811015611a0657600080fd5b50518351849084908110611a1657fe5b6020026020010181815250506000838381518110611a3057fe5b60200260200101511115611a6f57611a6f85848481518110611a4e57fe5b6020026020010151836001600160a01b03166128409092919063ffffffff16565b5060010161196e565b5092915050565b6000818060200190516020811015611a9657600080fd5b505190505b919050565b816001600160a01b0316631ac6d19d826040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050600060405180830381600087803b158015611aef57600080fd5b505af1158015611b03573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040908152811015611b2c57600080fd5b8101908080516040519392919084600160201b821115611b4b57600080fd5b908301906020820185811115611b6057600080fd5b82518660208202830111600160201b82111715611b7c57600080fd5b82525081516020918201928201910280838360005b83811015611ba9578181015183820152602001611b91565b5050505090500160405260200180516040519392919084600160201b821115611bd157600080fd5b908301906020820185811115611be657600080fd5b82518660208202830111600160201b82111715611c0257600080fd5b82525081516020918201928201910280838360005b83811015611c2f578181015183820152602001611c17565b5050505090500160405250505050505050565b600060608080808480604051908082528060200260200182016040528015611c74578160200160208202803683370190505b5060408051600080825260208201818152828401918252606083019093529399929850965094509092509050565b6000606080606080600060606000806000611cf28c8c8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506110e192505050565b94509450945094509450611d068584612897565b611d11858583612a15565b604080516001808252818301909252929b50909950602080830190803683370190505096508287600081518110611d4457fe5b6001600160a01b03929092166020928302919091018201526040805160018082528183019092529182810190803683370190505095508186600081518110611d8857fe5b6020026020010181815250506002995050505050509295509295909350565b6000606080606080600080611df189898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061169c92505050565b604080516001808252818301909252929550909350909150602080830190803683370190505095507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663456b4a37836040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015611e8657600080fd5b505afa158015611e9a573d6000803e3d6000fd5b505050506040513d6020811015611eb057600080fd5b505186518790600090611ebf57fe5b6001600160a01b03929092166020928302919091018201526040805160018082528183019092529182810190803683370190505094508085600081518110611f0357fe5b6020908102919091010152604080516001808252818301909252908160200160208202803683370190505093508184600081518110611f3e57fe5b6001600160a01b03929092166020928302919091018201526040805160018082528183019092529182810190803683370190505092508083600081518110611f8257fe5b6020026020010181815250506002965050509295509295909350565b6000606080606080600080611fe889898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061169c92505050565b60408051600180825281830190925292955090935090915060208083019080368337019050509550818660008151811061201e57fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509450808560008151811061206257fe5b6020908102919091010152604080516001808252818301909252908160200160208202803683370190505093507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663456b4a37836040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156120fc57600080fd5b505afa158015612110573d6000803e3d6000fd5b505050506040513d602081101561212657600080fd5b50518451859060009061213557fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509250808360008151811061217957fe5b6020026020010181815250506001965050509295509295909350565b6000606080606080600080600080600060606121e68d8d8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506117d592505050565b9550955095509550955095506121fc8686612897565b6040805160018082528183019092529060208083019080368337019050509950848a60008151811061222a57fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509850838960008151811061226e57fe5b60200260200101818152505061228686848484612b8a565b60019f9b9e50999c509a509798975050505050505050565b60408051636eb1769f60e11b81523060048201526001600160a01b038481166024830152915160009286169163dd62ed3e916044808301926020929190829003018186803b1580156122ef57600080fd5b505afa158015612303573d6000803e3d6000fd5b505050506040513d602081101561231957600080fd5b5051905081811015612356578015612340576123406001600160a01b038516846000612cdf565b6123566001600160a01b03851684600019612cdf565b50505050565b60608082156123865750604080516001602080830191909152825180830390910181529082019091525b612391855184612df2565b8560405160200180828051906020019060200280838360005b838110156123c25781810151838201526020016123aa565b50505050905001915050604051602081830303815290604052858360405160200180856001600160e01b031916815260040184805190602001908083835b6020831061241f5780518252601f199092019160209182019101612400565b51815160209384036101000a60001901801990921691161790529201858152845190830192850191508083835b6020831061246b5780518252601f19909201916020918201910161244c565b6001836020036101000a0380198251168184511680821785525050505050509050019450505050506040516020818303038152906040529150505b9392505050565b6000808280602001905160408110156124c557600080fd5b5080516020909101519092509050915091565b6060811561253957506040805160248101869052600f85900b60448201526064810184905260016084808301919091528251808303909101815260a49091019091526020810180516001600160e01b031663517a55a360e01b179052612584565b506040805160248101869052600f85900b604482015260648082018590528251808303909101815260849091019091526020810180516001600160e01b0316630d2680e960e11b1790525b60006060876001600160a01b0316836040518082805190602001908083835b602083106125c25780518252601f1990920191602091820191016125a3565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612624576040519150601f19603f3d011682016040523d82523d6000602084013e612629565b606091505b509150915081819061267c5760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156115eb5781810151838201526020016115d3565b506110d7612f2e565b606081806020019051602081101561269c57600080fd5b8101908080516040519392919084600160201b8211156126bb57600080fd5b9083019060208201858111156126d057600080fd5b82518660208202830111600160201b821117156126ec57600080fd5b82525081516020918201928201910280838360005b83811015612719578181015183820152602001612701565b505050509050016040525050509050919050565b60006060856001600160a01b0316612746868686612f8f565b6040518082805190602001908083835b602083106127755780518252601f199092019160209182019101612756565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146127d7576040519150601f19603f3d011682016040523d82523d6000602084013e6127dc565b606091505b509150915081819061282f5760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156115eb5781810151838201526020016115d3565b50612838612f2e565b505050505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526128929084906130a2565b505050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663456b4a37836040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561290657600080fd5b505afa15801561291a573d6000803e3d6000fd5b505050506040513d602081101561293057600080fd5b505160408051631f5bce5560e01b81526001600160a01b03868116600483015291519293507f000000000000000000000000000000000000000000000000000000000000000090911691631f5bce5591602480820192602092909190829003018186803b1580156129a057600080fd5b505afa1580156129b4573d6000803e3d6000fd5b505050506040513d60208110156129ca57600080fd5b50516001600160a01b038281169116146128925760405162461bcd60e51b81526004018080602001828103825260218152602001806137936021913960400191505060405180910390fd5b6060806000805b8551811015612a50576000868281518110612a3357fe5b60200260200101511115612a48576001909101905b600101612a1c565b508067ffffffffffffffff81118015612a6857600080fd5b50604051908082528060200260200182016040528015612a92578160200160208202803683370190505b5092508067ffffffffffffffff81118015612aac57600080fd5b50604051908082528060200260200182016040528015612ad6578160200160208202803683370190505b5091506000805b8651811015612b7f576000878281518110612af457fe5b60200260200101511115612b7757612b0d888288613153565b858381518110612b1957fe5b60200260200101906001600160a01b031690816001600160a01b031681525050868181518110612b4557fe5b6020026020010151848381518110612b5957fe5b602090810291909101015260019091019082821415612b7757612b7f565b600101612add565b505050935093915050565b6060806001846001811115612b9b57fe5b1415612c4157600080612bad856124ad565b60408051600180825281830190925292945090925060208083019080368337019050509350612bdd888389613153565b84600081518110612bea57fe5b6001600160a01b03929092166020928302919091018201526040805160018082528183019092529182810190803683370190505092508083600081518110612c2e57fe5b6020026020010181815250505050612cd6565b612c4a83612685565b9050805167ffffffffffffffff81118015612c6457600080fd5b50604051908082528060200260200182016040528015612c8e578160200160208202803683370190505b50915060005b8251811015612cd457612ca8878288613153565b838281518110612cb457fe5b6001600160a01b0390921660209283029190910190910152600101612c94565b505b94509492505050565b801580612d65575060408051636eb1769f60e11b81523060048201526001600160a01b03848116602483015291519185169163dd62ed3e91604480820192602092909190829003018186803b158015612d3757600080fd5b505afa158015612d4b573d6000803e3d6000fd5b505050506040513d6020811015612d6157600080fd5b5051155b612da05760405162461bcd60e51b81526004018080602001828103825260368152602001806137de6036913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526128929084906130a2565b600060608215612e1a57506040805180820190915260058152640b189bdbdb60da1b60208201525b612e2384613345565b816040516020018080756164645f6c69717569646974792875696e743235365b60501b81525060160183805190602001908083835b60208310612e775780518252601f199092019160209182019101612e58565b51815160209384036101000a600019018019909216911617905261174b60f21b91909301908152663ab4b73a191a9b60c91b60028201528451600990910192850191508083835b60208310612edd5780518252601f199092019160209182019101612ebe565b6001836020036101000a03801982511681845116808217855250505050505090500180602960f81b815250600101925050506040516020818303038152906040528051906020012091505092915050565b30318015612f8c57612f3e61086a565b6001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b158015612f7857600080fd5b505af1158015612838573d6000803e3d6000fd5b50565b6060808215612fb95750604080516001602080830191909152825180830390910181529082019091525b612fc4845184613420565b858560405160200180828051906020019060200280838360005b83811015612ff6578181015183820152602001612fde565b505050509050019150506040516020818303038152906040528360405160200180856001600160e01b031916815260040184815260200183805190602001908083835b602083106130585780518252601f199092019160209182019101613039565b51815160001960209485036101000a019081169019919091161790528551939091019290850191508083836020831061246b5780518252601f19909201916020918201910161244c565b60606130f7826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166135149092919063ffffffff16565b8051909150156128925780806020019051602081101561311657600080fd5b50516128925760405162461bcd60e51b815260040180806020018281038252602a8152602001806137b4602a913960400191505060405180910390fd5b6000811561324a57836001600160a01b031663b9947eb0846040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561319f57600080fd5b505afa9250505080156131c457506040513d60208110156131bf57600080fd5b505160015b61324257836001600160a01b031663b739953e846040518263ffffffff1660e01b81526004018082600f0b815260200191505060206040518083038186803b15801561320f57600080fd5b505afa158015613223573d6000803e3d6000fd5b505050506040513d602081101561323957600080fd5b50519050613245565b90505b613334565b836001600160a01b031663c6610657846040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561328e57600080fd5b505afa9250505080156132b357506040513d60208110156132ae57600080fd5b505160015b61333157836001600160a01b03166323746eb8846040518263ffffffff1660e01b81526004018082600f0b815260200191505060206040518083038186803b1580156132fe57600080fd5b505afa158015613312573d6000803e3d6000fd5b505050506040513d602081101561332857600080fd5b50519050613334565b90505b61333d81613523565b949350505050565b60608161336a57506040805180820190915260018152600360fc1b6020820152611a9b565b8160005b811561338257600101600a8204915061336e565b60608167ffffffffffffffff8111801561339b57600080fd5b506040519080825280601f01601f1916602001820160405280156133c6576020820181803683370190505b50859350905060001982015b831561341757600a840660300160f81b828280600190039350815181106133f557fe5b60200101906001600160f81b031916908160001a905350600a840493506133d2565b50949350505050565b60006060821561344857506040805180820190915260058152640b189bdbdb60da1b60208201525b61345184613345565b6040517f72656d6f76655f6c69717569646974792875696e743235362c0000000000000060208083019182526775696e743235365b60c01b603984015283518593604101918501908083835b602083106134bc5780518252601f19909201916020918201910161349d565b6001836020036101000a03801982511681845116808217855250505050505090500180605d60f81b815250600101828051906020019080838360208310612edd5780518252601f199092019160209182019101612ebe565b606061333d8484600085613572565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316141561356e5761356761086a565b9050611a9b565b5090565b6060824710156135b35760405162461bcd60e51b815260040180806020018281038252602681526020018061373b6026913960400191505060405180910390fd5b6135bc856136ce565b61360d576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b6020831061364c5780518252601f19909201916020918201910161362d565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146136ae576040519150601f19603f3d011682016040523d82523d6000602084013e6136b3565b606091505b50915091506136c38282866136d4565b979650505050505050565b3b151590565b606083156136e35750816124a6565b8251156136f35782518084602001fd5b60405162461bcd60e51b81526020600482018181528451602484015284518593919283926044019190850190808383600083156115eb5781810151838201526020016115d356fe416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c4f6e6c792074686520496e746567726174696f6e4d616e616765722063616e2063616c6c20746869732066756e6374696f6e5f5f76616c6964617465506f6f6c466f72577261707065723a20496e76616c69645361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e63657061727365417373657473466f72416374696f6e3a205f73656c6563746f7220696e76616c6964a164736f6c634300060c000a", - "sourceMap": "934:13674:166:-:0;;;1190:519;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1190:519:166;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1938:41:179;;;;;;;;1247:58:189;;;;;1190:519:166;1247:58:189;1015::203;;;;;::::2;::::0;1518:59:166;;;;;::::1;::::0;1587:115;;;;::::1;::::0;934:13674;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x6080604052600436106101025760003560e01c80638334eb9911610095578063c32990a211610064578063c32990a21461055d578063c54efee514610572578063e7c4569014610741578063f7d882b514610756578063fa7dd04d1461076b57610109565b80638334eb991461037d578063863e5ad014610458578063b23228cf1461046d578063b9dfbacc1461048257610109565b806329fa046e116100d157806329fa046e1461019b5780633ffc15911461027857806340da225d1461028d57806368e30677146102a257610109565b8063080456c11461010e57806312c9d38614610140578063131461c014610171578063257cb1a31461018657610109565b3661010957005b600080fd5b34801561011a57600080fd5b50610123610846565b604080516001600160e01b03199092168252519081900360200190f35b34801561014c57600080fd5b5061015561086a565b604080516001600160a01b039092168252519081900360200190f35b34801561017d57600080fd5b5061012361088e565b34801561019257600080fd5b506101236108b2565b3480156101a757600080fd5b50610276600480360360608110156101be57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b8111156101e857600080fd5b8201836020820111156101fa57600080fd5b803590602001918460018302840111600160201b8311171561021b57600080fd5b919390929091602081019035600160201b81111561023857600080fd5b82018360208201111561024a57600080fd5b803590602001918460018302840111600160201b8311171561026b57600080fd5b5090925090506108d6565b005b34801561028457600080fd5b50610123610b10565b34801561029957600080fd5b50610123610b34565b3480156102ae57600080fd5b50610276600480360360608110156102c557600080fd5b6001600160a01b038235169190810190604081016020820135600160201b8111156102ef57600080fd5b82018360208201111561030157600080fd5b803590602001918460018302840111600160201b8311171561032257600080fd5b919390929091602081019035600160201b81111561033f57600080fd5b82018360208201111561035157600080fd5b803590602001918460018302840111600160201b8311171561037257600080fd5b509092509050610b58565b34801561038957600080fd5b50610276600480360360608110156103a057600080fd5b6001600160a01b038235169190810190604081016020820135600160201b8111156103ca57600080fd5b8201836020820111156103dc57600080fd5b803590602001918460018302840111600160201b831117156103fd57600080fd5b919390929091602081019035600160201b81111561041a57600080fd5b82018360208201111561042c57600080fd5b803590602001918460018302840111600160201b8311171561044d57600080fd5b509092509050610c1d565b34801561046457600080fd5b50610123610d55565b34801561047957600080fd5b50610123610d79565b34801561048e57600080fd5b50610276600480360360608110156104a557600080fd5b6001600160a01b038235169190810190604081016020820135600160201b8111156104cf57600080fd5b8201836020820111156104e157600080fd5b803590602001918460018302840111600160201b8311171561050257600080fd5b919390929091602081019035600160201b81111561051f57600080fd5b82018360208201111561053157600080fd5b803590602001918460018302840111600160201b8311171561055257600080fd5b509092509050610d9d565b34801561056957600080fd5b50610123610e53565b34801561057e57600080fd5b5061060c6004803603606081101561059557600080fd5b6001600160a01b03823516916001600160e01b031960208201351691810190606081016040820135600160201b8111156105ce57600080fd5b8201836020820111156105e057600080fd5b803590602001918460018302840111600160201b8311171561060157600080fd5b509092509050610e77565b6040518086600281111561061c57fe5b815260200180602001806020018060200180602001858103855289818151815260200191508051906020019060200280838360005b83811015610669578181015183820152602001610651565b50505050905001858103845288818151815260200191508051906020019060200280838360005b838110156106a8578181015183820152602001610690565b50505050905001858103835287818151815260200191508051906020019060200280838360005b838110156106e75781810151838201526020016106cf565b50505050905001858103825286818151815260200191508051906020019060200280838360005b8381101561072657818101518382015260200161070e565b50505050905001995050505050505050505060405180910390f35b34801561074d57600080fd5b50610155610f7c565b34801561076257600080fd5b50610123610fa0565b34801561077757600080fd5b506102766004803603606081101561078e57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b8111156107b857600080fd5b8201836020820111156107ca57600080fd5b803590602001918460018302840111600160201b831117156107eb57600080fd5b919390929091602081019035600160201b81111561080857600080fd5b82018360208201111561081a57600080fd5b803590602001918460018302840111600160201b8311171561083b57600080fd5b509092509050610fc4565b7f8334eb99be0145865eba9889fca2ee920288090caefff4cc776038e20ad9259a81565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f29fa046e79524c3c5ac4c01df692c35e217802b2b13b21121b76cf0ef02b138c81565b7f099f75155f0e997bf83a7993a71d5e7e7540bd386fe1e84643a09ce6b412521981565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461093d5760405162461bcd60e51b81526004018080602001828103825260328152602001806137616032913960400191505060405180910390fd5b60006060600080600061098589898080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506110e192505050565b9450945094509450945060606109d088888080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506111b592505050565b5050905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316631f5bce55886040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610a4357600080fd5b505afa158015610a57573d6000803e3d6000fd5b505050506040513d6020811015610a6d57600080fd5b50519050610a7e8783888787611372565b610b02858d836001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610ad057600080fd5b505afa158015610ae4573d6000803e3d6000fd5b505050506040513d6020811015610afa57600080fd5b505184611626565b505050505050505050505050565b7ffa7dd04da627f433da73c4355ead9c75682a67a8fc84d3f6170ef0922f402d2481565b7fb9dfbaccbe5cd2a84fdcf1d15f23ef25d23086f5afbaa99516065ed4a5bbc7a381565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610bbf5760405162461bcd60e51b81526004018080602001828103825260328152602001806137616032913960400191505060405180910390fd5b600080610c0186868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061169c92505050565b9250925050610c148288898460006116d0565b50505050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610c845760405162461bcd60e51b81526004018080602001828103825260328152602001806137616032913960400191505060405180910390fd5b8482828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250604080516020601f8c018190048102820181019092528a815291945084935083925082918291606091610d04918e908e90819084018382808284376000920191909152506117d592505050565b955095509550955095509550610d1e858e308760006116d0565b610d2b86858585856118d8565b5050505050506060610d3c826111b5565b92505050610d4a8382611924565b505050505050505050565b7f03e38a2bd7063d45c897edeafc330e71657502dd86434d3c37a489caf116af6981565b7f68e30677f607df46e87da13e15b637784cfa62374b653f35ab43d10361a2f83081565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610e045760405162461bcd60e51b81526004018080602001828103825260328152602001806137616032913960400191505060405180910390fd5b610e4c610e4685858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611a7f92505050565b86611aa0565b5050505050565b7f0e7f692dad5b88fdee426250d6eae91207e56a2e8112b7364579bed1790e5bf481565b600060608080806001600160e01b03198816632e77eeb360e21b1415610eae57610e9f611c42565b94509450945094509450610f71565b6001600160e01b031988166314fd023760e11b1415610ed157610e9f8787611ca2565b6001600160e01b0319881663fa7dd04d60e01b1415610ef457610e9f8787611da7565b6001600160e01b031988166368e3067760e01b1415610f1757610e9f8787611f9e565b6001600160e01b03198816638334eb9960e01b1415610f3a57610e9f8787612195565b60405162461bcd60e51b81526004018080602001828103825260278152602001806138146027913960400191505060405180910390fd5b945094509450945094565b7f000000000000000000000000000000000000000000000000000000000000000090565b7fc29fa9dde84204c2908778afd0613d802d31cf046179b88f6d2b4a4e507ea2d581565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461102b5760405162461bcd60e51b81526004018080602001828103825260328152602001806137616032913960400191505060405180910390fd5b60008061106d86868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061169c92505050565b925092505060606110b385858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506111b592505050565b505090506110d7838984846000815181106110ca57fe5b6020026020010151611626565b5050505050505050565b6000606060008060008580602001905160a08110156110ff57600080fd5b815160208301805160405192949293830192919084600160201b82111561112557600080fd5b90830190602082018581111561113a57600080fd5b82518660208202830111600160201b8211171561115657600080fd5b82525081516020918201928201910280838360005b8381101561118357818101518382015260200161116b565b50505050919091016040908152602083015190830151606090930151969d959c509a5090985093965091945050505050565b60608060608380602001905160608110156111cf57600080fd5b8101908080516040519392919084600160201b8211156111ee57600080fd5b90830190602082018581111561120357600080fd5b82518660208202830111600160201b8211171561121f57600080fd5b82525081516020918201928201910280838360005b8381101561124c578181015183820152602001611234565b5050505090500160405260200180516040519392919084600160201b82111561127457600080fd5b90830190602082018581111561128957600080fd5b82518660208202830111600160201b821117156112a557600080fd5b82525081516020918201928201910280838360005b838110156112d25781810151838201526020016112ba565b5050505090500160405260200180516040519392919084600160201b8211156112fa57600080fd5b90830190602082018581111561130f57600080fd5b82518660208202830111600160201b8211171561132b57600080fd5b82525081516020918201928201910280838360005b83811015611358578181015183820152602001611340565b505050509050016040525050509250925092509193909250565b6000805b85518110156114e55761138761086a565b6001600160a01b031686828151811061139c57fe5b60200260200101516001600160a01b0316141561149f576113bb61086a565b6001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561140757600080fd5b505afa15801561141b573d6000803e3d6000fd5b505050506040513d602081101561143157600080fd5b5051915061143d61086a565b6001600160a01b0316632e1a7d4d836040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561148257600080fd5b505af1158015611496573d6000803e3d6000fd5b505050506114dd565b6114dd8682815181106114ae57fe5b6020026020010151887f161bcca7119915b50764b4abe86529797775a5f171951000000000000000000061229e565b600101611376565b5060006060876001600160a01b03168361150088888861235c565b6040518082805190602001908083835b6020831061152f5780518252601f199092019160209182019101611510565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114611591576040519150601f19603f3d011682016040523d82523d6000602084013e611596565b606091505b5091509150818190610d4a5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156115eb5781810151838201526020016115d3565b50505050905090810190601f1680156116185780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b61163181858461229e565b836001600160a01b031663ffaad6a584846040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561168857600080fd5b505af11580156110d7573d6000803e3d6000fd5b60008060008380602001905160608110156116b657600080fd5b508051602082015160409092015190969195509350915050565b6001600160a01b03841630141561175f57846001600160a01b03166373e2290c8484846040518463ffffffff1660e01b815260040180846001600160a01b0316815260200183815260200182151581526020019350505050600060405180830381600087803b15801561174257600080fd5b505af1158015611756573d6000803e3d6000fd5b50505050610e4c565b6040805163167d7d5f60e11b81526001600160a01b0386811660048301528581166024830152604482018590528315156064830152915191871691632cfafabe9160848082019260009290919082900301818387803b1580156117c157600080fd5b505af1158015610d4a573d6000803e3d6000fd5b600080600080600060608680602001905160c08110156117f457600080fd5b815160208301516040808501516060860151608087015160a088018051945196989597939692959194929382019284600160201b82111561183457600080fd5b90830190602082018581111561184957600080fd5b8251600160201b81118282018810171561186257600080fd5b82525081516020918201929091019080838360005b8381101561188f578181015183820152602001611877565b50505050905090810190601f1680156118bc5780820380516001836020036101000a031916815260200191505b5060405250505095509550955095509550955091939550919395565b60018260018111156118e657fe5b1415611910576000806118f8836124ad565b9150915061190987878484896124d8565b5050610e4c565b610e4c858561191e84612685565b8661272d565b6060815167ffffffffffffffff8111801561193e57600080fd5b50604051908082528060200260200182016040528015611968578160200160208202803683370190505b50905060005b8251811015611a7857600083828151811061198557fe5b60200260200101519050806001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156119dc57600080fd5b505afa1580156119f0573d6000803e3d6000fd5b505050506040513d6020811015611a0657600080fd5b50518351849084908110611a1657fe5b6020026020010181815250506000838381518110611a3057fe5b60200260200101511115611a6f57611a6f85848481518110611a4e57fe5b6020026020010151836001600160a01b03166128409092919063ffffffff16565b5060010161196e565b5092915050565b6000818060200190516020811015611a9657600080fd5b505190505b919050565b816001600160a01b0316631ac6d19d826040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050600060405180830381600087803b158015611aef57600080fd5b505af1158015611b03573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040908152811015611b2c57600080fd5b8101908080516040519392919084600160201b821115611b4b57600080fd5b908301906020820185811115611b6057600080fd5b82518660208202830111600160201b82111715611b7c57600080fd5b82525081516020918201928201910280838360005b83811015611ba9578181015183820152602001611b91565b5050505090500160405260200180516040519392919084600160201b821115611bd157600080fd5b908301906020820185811115611be657600080fd5b82518660208202830111600160201b82111715611c0257600080fd5b82525081516020918201928201910280838360005b83811015611c2f578181015183820152602001611c17565b5050505090500160405250505050505050565b600060608080808480604051908082528060200260200182016040528015611c74578160200160208202803683370190505b5060408051600080825260208201818152828401918252606083019093529399929850965094509092509050565b6000606080606080600060606000806000611cf28c8c8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506110e192505050565b94509450945094509450611d068584612897565b611d11858583612a15565b604080516001808252818301909252929b50909950602080830190803683370190505096508287600081518110611d4457fe5b6001600160a01b03929092166020928302919091018201526040805160018082528183019092529182810190803683370190505095508186600081518110611d8857fe5b6020026020010181815250506002995050505050509295509295909350565b6000606080606080600080611df189898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061169c92505050565b604080516001808252818301909252929550909350909150602080830190803683370190505095507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663456b4a37836040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015611e8657600080fd5b505afa158015611e9a573d6000803e3d6000fd5b505050506040513d6020811015611eb057600080fd5b505186518790600090611ebf57fe5b6001600160a01b03929092166020928302919091018201526040805160018082528183019092529182810190803683370190505094508085600081518110611f0357fe5b6020908102919091010152604080516001808252818301909252908160200160208202803683370190505093508184600081518110611f3e57fe5b6001600160a01b03929092166020928302919091018201526040805160018082528183019092529182810190803683370190505092508083600081518110611f8257fe5b6020026020010181815250506002965050509295509295909350565b6000606080606080600080611fe889898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061169c92505050565b60408051600180825281830190925292955090935090915060208083019080368337019050509550818660008151811061201e57fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509450808560008151811061206257fe5b6020908102919091010152604080516001808252818301909252908160200160208202803683370190505093507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663456b4a37836040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156120fc57600080fd5b505afa158015612110573d6000803e3d6000fd5b505050506040513d602081101561212657600080fd5b50518451859060009061213557fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509250808360008151811061217957fe5b6020026020010181815250506001965050509295509295909350565b6000606080606080600080600080600060606121e68d8d8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506117d592505050565b9550955095509550955095506121fc8686612897565b6040805160018082528183019092529060208083019080368337019050509950848a60008151811061222a57fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509850838960008151811061226e57fe5b60200260200101818152505061228686848484612b8a565b60019f9b9e50999c509a509798975050505050505050565b60408051636eb1769f60e11b81523060048201526001600160a01b038481166024830152915160009286169163dd62ed3e916044808301926020929190829003018186803b1580156122ef57600080fd5b505afa158015612303573d6000803e3d6000fd5b505050506040513d602081101561231957600080fd5b5051905081811015612356578015612340576123406001600160a01b038516846000612cdf565b6123566001600160a01b03851684600019612cdf565b50505050565b60608082156123865750604080516001602080830191909152825180830390910181529082019091525b612391855184612df2565b8560405160200180828051906020019060200280838360005b838110156123c25781810151838201526020016123aa565b50505050905001915050604051602081830303815290604052858360405160200180856001600160e01b031916815260040184805190602001908083835b6020831061241f5780518252601f199092019160209182019101612400565b51815160209384036101000a60001901801990921691161790529201858152845190830192850191508083835b6020831061246b5780518252601f19909201916020918201910161244c565b6001836020036101000a0380198251168184511680821785525050505050509050019450505050506040516020818303038152906040529150505b9392505050565b6000808280602001905160408110156124c557600080fd5b5080516020909101519092509050915091565b6060811561253957506040805160248101869052600f85900b60448201526064810184905260016084808301919091528251808303909101815260a49091019091526020810180516001600160e01b031663517a55a360e01b179052612584565b506040805160248101869052600f85900b604482015260648082018590528251808303909101815260849091019091526020810180516001600160e01b0316630d2680e960e11b1790525b60006060876001600160a01b0316836040518082805190602001908083835b602083106125c25780518252601f1990920191602091820191016125a3565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612624576040519150601f19603f3d011682016040523d82523d6000602084013e612629565b606091505b509150915081819061267c5760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156115eb5781810151838201526020016115d3565b506110d7612f2e565b606081806020019051602081101561269c57600080fd5b8101908080516040519392919084600160201b8211156126bb57600080fd5b9083019060208201858111156126d057600080fd5b82518660208202830111600160201b821117156126ec57600080fd5b82525081516020918201928201910280838360005b83811015612719578181015183820152602001612701565b505050509050016040525050509050919050565b60006060856001600160a01b0316612746868686612f8f565b6040518082805190602001908083835b602083106127755780518252601f199092019160209182019101612756565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146127d7576040519150601f19603f3d011682016040523d82523d6000602084013e6127dc565b606091505b509150915081819061282f5760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156115eb5781810151838201526020016115d3565b50612838612f2e565b505050505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526128929084906130a2565b505050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663456b4a37836040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561290657600080fd5b505afa15801561291a573d6000803e3d6000fd5b505050506040513d602081101561293057600080fd5b505160408051631f5bce5560e01b81526001600160a01b03868116600483015291519293507f000000000000000000000000000000000000000000000000000000000000000090911691631f5bce5591602480820192602092909190829003018186803b1580156129a057600080fd5b505afa1580156129b4573d6000803e3d6000fd5b505050506040513d60208110156129ca57600080fd5b50516001600160a01b038281169116146128925760405162461bcd60e51b81526004018080602001828103825260218152602001806137936021913960400191505060405180910390fd5b6060806000805b8551811015612a50576000868281518110612a3357fe5b60200260200101511115612a48576001909101905b600101612a1c565b508067ffffffffffffffff81118015612a6857600080fd5b50604051908082528060200260200182016040528015612a92578160200160208202803683370190505b5092508067ffffffffffffffff81118015612aac57600080fd5b50604051908082528060200260200182016040528015612ad6578160200160208202803683370190505b5091506000805b8651811015612b7f576000878281518110612af457fe5b60200260200101511115612b7757612b0d888288613153565b858381518110612b1957fe5b60200260200101906001600160a01b031690816001600160a01b031681525050868181518110612b4557fe5b6020026020010151848381518110612b5957fe5b602090810291909101015260019091019082821415612b7757612b7f565b600101612add565b505050935093915050565b6060806001846001811115612b9b57fe5b1415612c4157600080612bad856124ad565b60408051600180825281830190925292945090925060208083019080368337019050509350612bdd888389613153565b84600081518110612bea57fe5b6001600160a01b03929092166020928302919091018201526040805160018082528183019092529182810190803683370190505092508083600081518110612c2e57fe5b6020026020010181815250505050612cd6565b612c4a83612685565b9050805167ffffffffffffffff81118015612c6457600080fd5b50604051908082528060200260200182016040528015612c8e578160200160208202803683370190505b50915060005b8251811015612cd457612ca8878288613153565b838281518110612cb457fe5b6001600160a01b0390921660209283029190910190910152600101612c94565b505b94509492505050565b801580612d65575060408051636eb1769f60e11b81523060048201526001600160a01b03848116602483015291519185169163dd62ed3e91604480820192602092909190829003018186803b158015612d3757600080fd5b505afa158015612d4b573d6000803e3d6000fd5b505050506040513d6020811015612d6157600080fd5b5051155b612da05760405162461bcd60e51b81526004018080602001828103825260368152602001806137de6036913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526128929084906130a2565b600060608215612e1a57506040805180820190915260058152640b189bdbdb60da1b60208201525b612e2384613345565b816040516020018080756164645f6c69717569646974792875696e743235365b60501b81525060160183805190602001908083835b60208310612e775780518252601f199092019160209182019101612e58565b51815160209384036101000a600019018019909216911617905261174b60f21b91909301908152663ab4b73a191a9b60c91b60028201528451600990910192850191508083835b60208310612edd5780518252601f199092019160209182019101612ebe565b6001836020036101000a03801982511681845116808217855250505050505090500180602960f81b815250600101925050506040516020818303038152906040528051906020012091505092915050565b30318015612f8c57612f3e61086a565b6001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b158015612f7857600080fd5b505af1158015612838573d6000803e3d6000fd5b50565b6060808215612fb95750604080516001602080830191909152825180830390910181529082019091525b612fc4845184613420565b858560405160200180828051906020019060200280838360005b83811015612ff6578181015183820152602001612fde565b505050509050019150506040516020818303038152906040528360405160200180856001600160e01b031916815260040184815260200183805190602001908083835b602083106130585780518252601f199092019160209182019101613039565b51815160001960209485036101000a019081169019919091161790528551939091019290850191508083836020831061246b5780518252601f19909201916020918201910161244c565b60606130f7826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166135149092919063ffffffff16565b8051909150156128925780806020019051602081101561311657600080fd5b50516128925760405162461bcd60e51b815260040180806020018281038252602a8152602001806137b4602a913960400191505060405180910390fd5b6000811561324a57836001600160a01b031663b9947eb0846040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561319f57600080fd5b505afa9250505080156131c457506040513d60208110156131bf57600080fd5b505160015b61324257836001600160a01b031663b739953e846040518263ffffffff1660e01b81526004018082600f0b815260200191505060206040518083038186803b15801561320f57600080fd5b505afa158015613223573d6000803e3d6000fd5b505050506040513d602081101561323957600080fd5b50519050613245565b90505b613334565b836001600160a01b031663c6610657846040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561328e57600080fd5b505afa9250505080156132b357506040513d60208110156132ae57600080fd5b505160015b61333157836001600160a01b03166323746eb8846040518263ffffffff1660e01b81526004018082600f0b815260200191505060206040518083038186803b1580156132fe57600080fd5b505afa158015613312573d6000803e3d6000fd5b505050506040513d602081101561332857600080fd5b50519050613334565b90505b61333d81613523565b949350505050565b60608161336a57506040805180820190915260018152600360fc1b6020820152611a9b565b8160005b811561338257600101600a8204915061336e565b60608167ffffffffffffffff8111801561339b57600080fd5b506040519080825280601f01601f1916602001820160405280156133c6576020820181803683370190505b50859350905060001982015b831561341757600a840660300160f81b828280600190039350815181106133f557fe5b60200101906001600160f81b031916908160001a905350600a840493506133d2565b50949350505050565b60006060821561344857506040805180820190915260058152640b189bdbdb60da1b60208201525b61345184613345565b6040517f72656d6f76655f6c69717569646974792875696e743235362c0000000000000060208083019182526775696e743235365b60c01b603984015283518593604101918501908083835b602083106134bc5780518252601f19909201916020918201910161349d565b6001836020036101000a03801982511681845116808217855250505050505090500180605d60f81b815250600101828051906020019080838360208310612edd5780518252601f199092019160209182019101612ebe565b606061333d8484600085613572565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316141561356e5761356761086a565b9050611a9b565b5090565b6060824710156135b35760405162461bcd60e51b815260040180806020018281038252602681526020018061373b6026913960400191505060405180910390fd5b6135bc856136ce565b61360d576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b6020831061364c5780518252601f19909201916020918201910161362d565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146136ae576040519150601f19603f3d011682016040523d82523d6000602084013e6136b3565b606091505b50915091506136c38282866136d4565b979650505050505050565b3b151590565b606083156136e35750816124a6565b8251156136f35782518084602001fd5b60405162461bcd60e51b81526020600482018181528451602484015284518593919283926044019190850190808383600083156115eb5781810151838201526020016115d356fe416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c4f6e6c792074686520496e746567726174696f6e4d616e616765722063616e2063616c6c20746869732066756e6374696f6e5f5f76616c6964617465506f6f6c466f72577261707065723a20496e76616c69645361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e63657061727365417373657473466f72416374696f6e3a205f73656c6563746f7220696e76616c6964a164736f6c634300060c000a", - "sourceMap": "934:13674:166:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1490:119:180;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;1490:119:180;;;;;;;;;;;;;;9355:154:189;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;9355:154:189;;;;;;;;;;;;;;1373:111:180;;;;;;;;;;;;;:::i;832:85::-;;;;;;;;;;;;;:::i;2464:965:166:-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2464:965:166;;;;;;;;;;;;;;;-1:-1:-1;;;2464:965:166;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2464:965:166;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2464:965:166;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2464:965:166;;;;;;;;;;-1:-1:-1;2464:965:166;;-1:-1:-1;2464:965:166;-1:-1:-1;2464:965:166;:::i;:::-;;1034:87:180;;;;;;;;;;;;;:::i;1240:110::-;;;;;;;;;;;;;:::i;4255:345:166:-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4255:345:166;;;;;;;;;;;;;;;-1:-1:-1;;;4255:345:166;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4255:345:166;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4255:345:166;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4255:345:166;;;;;;;;;;-1:-1:-1;4255:345:166;;-1:-1:-1;4255:345:166;-1:-1:-1;4255:345:166;:::i;4865:926::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4865:926:166;;;;;;;;;;;;;;;-1:-1:-1;;;4865:926:166;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4865:926:166;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4865:926:166;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4865:926:166;;;;;;;;;;-1:-1:-1;4865:926:166;;-1:-1:-1;4865:926:166;-1:-1:-1;4865:926:166;:::i;706:104:180:-;;;;;;;;;;;;;:::i;1127:91::-;;;;;;;;;;;;;:::i;1921:253:166:-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1921:253:166;;;;;;;;;;;;;;;-1:-1:-1;;;1921:253:166;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1921:253:166;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1921:253:166;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1921:253:166;;;;;;;;;;-1:-1:-1;1921:253:166;;-1:-1:-1;1921:253:166;-1:-1:-1;1921:253:166;:::i;577:123:180:-;;;;;;;;;;;;;:::i;6532:1107:166:-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6532:1107:166;;;;-1:-1:-1;;;;;;6532:1107:166;;;;;;;;;;;;;;;;-1:-1:-1;;;6532:1107:166;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;6532:1107:166;;;;;;;;;;-1:-1:-1;6532:1107:166;;-1:-1:-1;6532:1107:166;-1:-1:-1;6532:1107:166;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2637:128:179;;;;;;;;;;;;;:::i;923:89:180:-;;;;;;;;;;;;;:::i;3673:423:166:-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3673:423:166;;;;;;;;;;;;;;;-1:-1:-1;;;3673:423:166;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3673:423:166;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3673:423:166;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3673:423:166;;;;;;;;;;-1:-1:-1;3673:423:166;;-1:-1:-1;3673:423:166;-1:-1:-1;3673:423:166;:::i;1490:119:180:-;1558:50;1490:119;:::o;9355:154:189:-;9466:36;9355:154;:::o;1373:111:180:-;1437:46;1373:111;:::o;832:85::-;878:38;832:85;:::o;2464:965:166:-;1747:10:179;-1:-1:-1;;;;;1761:19:179;1747:33;;1726:130;;;;-1:-1:-1;;;1726:130:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2648:12:166::1;2674:44;2732:28;2774:37:::0;2825:19:::1;2857:41;2886:11;;2857:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;2857:28:166::1;::::0;-1:-1:-1;;;2857:41:166:i:1;:::-;2634:264;;;;;;;;;;2909:28;2945:29;2963:10;;2945:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;2945:17:166::1;::::0;-1:-1:-1;;;2945:29:166:i:1;:::-;2908:66;;;;2985:15;3003:25;-1:-1:-1::0;;;;;3003:43:166::1;;3047:4;3003:49;;;;;;;;;;;;;-1:-1:-1::0;;;;;3003:49:166::1;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;3003:49:166;;-1:-1:-1;3063:184:166::1;3096:4:::0;3114:11;3139:27;3180:29;3223:14;3063:19:::1;:184::i;:::-;3258:164;3293:20;3327:11;3358:7;-1:-1:-1::0;;;;;3352:24:166::1;;3385:4;3352:39;;;;;;;;;;;;;-1:-1:-1::0;;;;;3352:39:166::1;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;3352:39:166;3405:7;3258:21:::1;:164::i;:::-;1866:1:179;;;;;;;2464:965:166::0;;;;;:::o;1034:87:180:-;1081:39;1034:87;:::o;1240:110::-;1303:46;1240:110;:::o;4255:345:166:-;1747:10:179;-1:-1:-1;;;;;1761:19:179;1747:33;;1726:130;;;;-1:-1:-1;;;1726:130:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4412:28:166::1;4442:14:::0;4460:36:::1;4484:11;;4460:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;4460:23:166::1;::::0;-1:-1:-1;;;4460:36:166:i:1;:::-;4409:87;;;;;4507:86;4531:20;4553:11;4566;4579:6;4587:5;4507:23;:86::i;:::-;1866:1:179;;4255:345:166::0;;;;;:::o;4865:926::-;1747:10:179;-1:-1:-1;;;;;1761:19:179;1747:33;;1726:130;;;;-1:-1:-1;;;1726:130:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5093:11:166::1;5106:10;;987:278:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;-1:-1:-1;5374:45:166::2;::::0;;::::2;987:278:179::1;5374:45:166::0;::::2;::::0;;::::2;::::0;::::2;::::0;;;;;;;;;;987:278:179;;-1:-1:-1;987:278:179;;-1:-1:-1;987:278:179;;-1:-1:-1;987:278:179;;;;5330:31:166::2;::::0;5374:45:::2;::::0;5407:11;;;;;;5374:45;::::2;5407:11:::0;;;;5374:45;::::2;;::::0;::::2;::::0;;;;-1:-1:-1;5374:32:166::2;::::0;-1:-1:-1;;;5374:45:166:i:2;:::-;5132:287;;;;;;;;;;;;5430:178;5467:20;5501:11;5534:4;5553:26;5593:5;5430:23;:178::i;:::-;5619:165;5646:4;5664:26;5704:14;5732:10;5756:18;5619:13;:165::i;:::-;1114:1:179;;;;;;1131:31:::1;1166:29;1184:10;1166:17;:29::i;:::-;1126:69;;;;1206:52;1230:11;1243:14;1206:23;:52::i;:::-;;1866:1;;;4865:926:166::0;;;;;:::o;706:104:180:-;766:43;706:104;:::o;1127:91::-;1176:41;1127:91;:::o;1921:253:166:-;1747:10:179;-1:-1:-1;;;;;1761:19:179;1747:33;;1726:130;;;;-1:-1:-1;;;1726:130:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2080:87:166::1;2112:41;2141:11;;2112:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;2112:28:166::1;::::0;-1:-1:-1;;;2112:41:166:i:1;:::-;2155:11;2080:31;:87::i;:::-;1921:253:::0;;;;;:::o;577:123:180:-;647:52;577:123;:::o;6532:1107:166:-;6724:64;6802:29;;;;-1:-1:-1;;;;;;7010:35:166;;-1:-1:-1;;;7010:35:166;7006:567;;;7068:30;:28;:30::i;:::-;7061:37;;;;;;;;;;;;7006:567;-1:-1:-1;;;;;;7119:36:166;;-1:-1:-1;;;7119:36:166;7115:458;;;7178:41;7207:11;;7178:28;:41::i;7115:458::-;-1:-1:-1;;;;;;7240:27:166;;-1:-1:-1;;;7240:27:166;7236:337;;;7290:34;7312:11;;7290:21;:34::i;7236:337::-;-1:-1:-1;;;;;;7345:29:166;;-1:-1:-1;;;7345:29:166;7341:232;;;7397:36;7421:11;;7397:23;:36::i;7341:232::-;-1:-1:-1;;;;;;7454:40:166;;-1:-1:-1;;;7454:40:166;7450:123;;;7517:45;7550:11;;7517:32;:45::i;7450:123::-;7583:49;;-1:-1:-1;;;7583:49:166;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6532:1107;;;;;;;;;;:::o;2637:128:179:-;2739:19;2637:128;:::o;923:89:180:-;971:40;923:89;:::o;3673:423:166:-;1747:10:179;-1:-1:-1;;;;;1761:19:179;1747:33;;1726:130;;;;-1:-1:-1;;;1726:130:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3839:28:166::1;3869:14:::0;3887:34:::1;3909:11;;3887:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;3887:21:166::1;::::0;-1:-1:-1;;;3887:34:166:i:1;:::-;3836:85;;;;;3933:28;3969:29;3987:10;;3969:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;3969:17:166::1;::::0;-1:-1:-1;;;3969:29:166:i:1;:::-;3932:66;;;;4009:80;4031:20;4053:11;4066:6;4074:11;4086:1;4074:14;;;;;;;;;;;;;;4009:21;:80::i;:::-;1866:1:179;;;3673:423:166::0;;;;;:::o;7058:433:203:-;7182:13;7209:45;7268:29;7311:38;7363:20;7426:11;7415:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;7415:69:203;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;7415:69:203;;;;;;;;;;;;-1:-1:-1;7415:69:203;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;7415:69:203;;;;;;;;;;;;;;;;;;;;;7408:76;;;;-1:-1:-1;7415:69:203;-1:-1:-1;7415:69:203;;-1:-1:-1;7415:69:203;;-1:-1:-1;7058:433:203;;-1:-1:-1;;;;;7058:433:203:o;2093:332:179:-;2205:29;2248:35;2297:32;2372:10;2361:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;-1:-1:-1;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;-1:-1:-1;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;-1:-1:-1;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2354:64;;;;;;2093:332;;;;;:::o;1570:1873:189:-;2006:33;2054:9;2049:999;2069:23;:30;2065:1;:34;2049:999;;;2154:37;:35;:37::i;:::-;-1:-1:-1;;;;;2124:67:189;:23;2148:1;2124:26;;;;;;;;;;;;;;-1:-1:-1;;;;;2124:67:189;;2120:918;;;2386:37;:35;:37::i;:::-;-1:-1:-1;;;;;2380:54:189;;2468:4;2380:115;;;;;;;;;;;;;-1:-1:-1;;;;;2380:115:189;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2380:115:189;;-1:-1:-1;2519:37:189;:35;:37::i;:::-;-1:-1:-1;;;;;2513:53:189;;2567:25;2513:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2120:918;;;2852:171;2899:23;2923:1;2899:26;;;;;;;;;;;;;;2947:5;873:4;2852:25;:171::i;:::-;2101:3;;2049:999;;;;3112:12;3126:23;3153:5;-1:-1:-1;;;;;3153:10:189;3171:25;3211:169;3262:28;3308:25;3351:15;3211:33;:169::i;:::-;3153:237;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3153:237:189;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3111:279;;;;3408:7;3424:10;3400:36;;;;;-1:-1:-1;;;3400:36:189;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;945:286:194;1105:60;1131:14;1147:8;1157:7;1105:25;:60::i;:::-;1191:8;-1:-1:-1;;;;;1175:35:194;;1211:3;1216:7;1175:49;;;;;;;;;;;;;-1:-1:-1;;;;;1175:49:194;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10138:295:203;10257:13;10284:29;10327:15;10385:11;10374:52;;;;;;;;;;;;;;;-1:-1:-1;10374:52:203;;;;;;;;;;;;;;;-1:-1:-1;10374:52:203;-1:-1:-1;10138:295:203;-1:-1:-1;;10138:295:203:o;1305:645:194:-;-1:-1:-1;;;;;1490:22:194;;1507:4;1490:22;1486:458;;;1544:8;-1:-1:-1;;;;;1528:36:194;;1588:3;1618:7;1666:13;1528:166;;;;;;;;;;;;;-1:-1:-1;;;;;1528:166:194;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1486:458;;;1725:208;;;-1:-1:-1;;;1725:208:194;;-1:-1:-1;;;;;1725:208:194;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:44;;;;;;:208;;;;;-1:-1:-1;;1725:208:194;;;;;;;;-1:-1:-1;1725:44:194;:208;;;;;;;;;;;;;;;;;;;;;;;;;;9596:465:203;9724:13;9751:29;9794:35;9843:20;9877:22;9913:32;9988:11;9977:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;9977:77:203;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;9977:77:203;;;;;;-1:-1:-1;9977:77:203;;;;;;;;;;-1:-1:-1;9977:77:203;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9970:84;;;;;;;;;;;;9596:465;;;;;;;:::o;1705:942::-;1939:18;1924:11;:33;;;;;;;;;1920:721;;;1991:30;2039;2086:60;2126:19;2086:39;:60::i;:::-;1973:173;;;;2161:227;2208:5;2231:22;2278;2319;2359:15;2161:29;:227::i;:::-;1920:721;;;;;2419:211;2459:5;2482:22;2522:61;2563:19;2522:40;:61::i;:::-;2601:15;2419:22;:211::i;3539:585:355:-;3649:36;3737:7;:14;3723:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3723:29:355;;3701:51;;3767:9;3762:319;3782:7;:14;3778:1;:18;3762:319;;;3817:19;3845:7;3853:1;3845:10;;;;;;;;;;;;;;3817:39;;3895:13;-1:-1:-1;;;;;3895:23:355;;3927:4;3895:38;;;;;;;;;;;;;-1:-1:-1;;;;;3895:38:355;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3895:38:355;3870:22;;:19;;3890:1;;3870:22;;;;;;;;;;;:63;;;;;3976:1;3951:19;3971:1;3951:22;;;;;;;;;;;;;;:26;3947:124;;;3997:59;4024:7;4033:19;4053:1;4033:22;;;;;;;;;;;;;;3997:13;-1:-1:-1;;;;;3997:26:355;;;:59;;;;;:::i;:::-;-1:-1:-1;3798:3:355;;3762:319;;;;3539:585;;;;:::o;6770:196:203:-;6881:21;6936:11;6925:34;;;;;;;;;;;;;;;-1:-1:-1;6925:34:203;;-1:-1:-1;6770:196:203;;;;:::o;727:146:194:-;835:8;-1:-1:-1;;;;;819:41:194;;861:4;819:47;;;;;;;;;;;;;-1:-1:-1;;;;;819:47:194;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;819:47:194;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;819:47:194;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;819:47:194;;;;;;;;;;;;-1:-1:-1;819:47:194;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;819:47:194;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;819:47:194;;;;;;;;;;;;-1:-1:-1;819:47:194;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;727:146;;:::o;7815:585:166:-;7914:64;7992:29;;;;7914:64;;8277:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8277:16:166;-1:-1:-1;8307:16:166;;;8321:1;8307:16;;;;;;8337;;;;;;8367;;;;;;;;;8196:197;;;;-1:-1:-1;8307:16:166;-1:-1:-1;8307:16:166;-1:-1:-1;8337:16:166;;-1:-1:-1;7815:585:166;-1:-1:-1;7815:585:166:o;8529:1355::-;8654:64;8732:29;8775:35;8824:32;8870:41;8950:12;8976:44;9034:28;9076:37;9127:19;9159:41;9188:11;;9159:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9159:28:166;;-1:-1:-1;;;9159:41:166:i;:::-;8936:264;;;;;;;;;;9211:52;9236:4;9242:20;9211:24;:52::i;:::-;9311:130;9358:4;9376:27;9417:14;9311:33;:130::i;:::-;9470:16;;;9484:1;9470:16;;;;;;;;;9274:167;;-1:-1:-1;9274:167:166;;-1:-1:-1;9470:16:166;;;;;;;;;;;-1:-1:-1;9470:16:166;9452:34;;9517:20;9496:15;9512:1;9496:18;;;;;;;;-1:-1:-1;;;;;9496:41:166;;;;:18;;;;;;;;;;:41;9575:16;;;9589:1;9575:16;;;;;;;;;;;;;;9496:18;9575:16;;;;;-1:-1:-1;9575:16:166;9548:43;;9631:29;9601:24;9626:1;9601:27;;;;;;;;;;;;;:59;;;;;9692:50;9671:206;;;;;;;8529:1355;;;;;;;;:::o;10006:1165::-;10124:64;10202:29;10245:35;10294:32;10340:41;10409:28;10439:14;10457:34;10479:11;;10457:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10457:21:166;;-1:-1:-1;;;10457:34:166:i;:::-;10517:16;;;10531:1;10517:16;;;;;;;;;10406:85;;-1:-1:-1;10406:85:166;;-1:-1:-1;10517:16:166;;-1:-1:-1;10517:16:166;;;;;;;;;;;-1:-1:-1;10517:16:166;10502:31;;10561:32;-1:-1:-1;;;;;10561:58:166;;10633:20;10561:102;;;;;;;;;;;;;-1:-1:-1;;;;;10561:102:166;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10561:102:166;10543:15;;:12;;10556:1;;10543:15;;;;-1:-1:-1;;;;;10543:120:166;;;;:15;;;;;;;;;;:120;10695:16;;;10709:1;10695:16;;;;;;;;;;;;;;10543:15;10695:16;;;;;-1:-1:-1;10695:16:166;10674:37;;10745:6;10721:18;10740:1;10721:21;;;;;;;;;;;;;;;;;:30;10780:16;;;10794:1;10780:16;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10780:16:166;10762:34;;10827:20;10806:15;10822:1;10806:18;;;;;;;;-1:-1:-1;;;;;10806:41:166;;;;:18;;;;;;;;;;:41;10885:16;;;10899:1;10885:16;;;;;;;;;;;;;;10806:18;10885:16;;;;;-1:-1:-1;10885:16:166;10858:43;;10941:6;10911:24;10936:1;10911:27;;;;;;;;;;;;;:36;;;;;10979:50;10958:206;;;;10006:1165;;;;;;;;:::o;11295:1264::-;11415:64;11493:29;11536:35;11585:32;11631:41;11700:28;11730:14;11748:36;11772:11;;11748:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11748:23:166;;-1:-1:-1;;;11748:36:166:i;:::-;11810:16;;;11824:1;11810:16;;;;;;;;;11697:87;;-1:-1:-1;11697:87:166;;-1:-1:-1;11810:16:166;;-1:-1:-1;11810:16:166;;;;;;;;;;;-1:-1:-1;11810:16:166;11795:31;;11854:20;11836:12;11849:1;11836:15;;;;;;;;-1:-1:-1;;;;;11836:38:166;;;;:15;;;;;;;;;;:38;11906:16;;;11920:1;11906:16;;;;;;;;;;;;;;11836:15;11906:16;;;;;-1:-1:-1;11906:16:166;11885:37;;11956:6;11932:18;11951:1;11932:21;;;;;;;;;;;;;;;;;:30;11991:16;;;12005:1;11991:16;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11991:16:166;11973:34;;12038:32;-1:-1:-1;;;;;12038:58:166;;12110:20;12038:102;;;;;;;;;;;;;-1:-1:-1;;;;;12038:102:166;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12038:102:166;12017:18;;:15;;12033:1;;12017:18;;;;-1:-1:-1;;;;;12017:123:166;;;;:18;;;;;;;;;;:123;12178:16;;;12192:1;12178:16;;;;;;;;;;;;;;12017:18;12178:16;;;;;-1:-1:-1;12178:16:166;12151:43;;12234:6;12204:24;12229:1;12204:27;;;;;;;;;;;;;:36;;;;;12368:49;12347:205;;;;11295:1264;;;;;;;;:::o;12692:1486::-;12821:64;12899:29;12942:35;12991:32;13037:41;13117:12;13143:28;13185:34;13233:19;13266:21;13301:31;13345:45;13378:11;;13345:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13345:32:166;;-1:-1:-1;;;13345:45:166:i;:::-;13103:287;;;;;;;;;;;;13401:52;13426:4;13432:20;13401:24;:52::i;:::-;13479:16;;;13493:1;13479:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13479:16:166;13464:31;;13523:20;13505:12;13518:1;13505:15;;;;;;;;-1:-1:-1;;;;;13505:38:166;;;;:15;;;;;;;;;;:38;13575:16;;;13589:1;13575:16;;;;;;;;;;;;;;13505:15;13575:16;;;;;-1:-1:-1;13575:16:166;13554:37;;13625:26;13601:18;13620:1;13601:21;;;;;;;;;;;;;:50;;;;;13708:151;13761:4;13779:14;13807:10;13831:18;13708:39;:151::i;:::-;13987:49;;12692:1486;;-1:-1:-1;12692:1486:166;;-1:-1:-1;13662:197:166;-1:-1:-1;13662:197:166;;12692:1486;-1:-1:-1;;;;;;;;12692:1486:166:o;2554:434:355:-;2714:47;;;-1:-1:-1;;;2714:47:355;;2746:4;2714:47;;;;-1:-1:-1;;;;;2714:47:355;;;;;;;;;2694:17;;2714:23;;;;;:47;;;;;;;;;;;;;;:23;:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2714:47:355;;-1:-1:-1;2775:25:355;;;2771:211;;;2820:13;;2816:89;;2853:37;-1:-1:-1;;;;;2853:25:355;;2879:7;2888:1;2853:25;:37::i;:::-;2918:53;-1:-1:-1;;;;;2918:25:355;;2944:7;-1:-1:-1;;2918:25:355;:53::i;:::-;2554:434;;;;:::o;5609:741:189:-;5808:22;5842:35;5891:15;5887:87;;;-1:-1:-1;5947:16:189;;;5958:4;5947:16;;;;;;;;;;;;;;;;;;;;;;;;5887:87;6037:145;6092:28;:35;6149:15;6037:33;:145::i;:::-;6217:28;6200:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6264:25;6307:22;6003:340;;;;;;-1:-1:-1;;;;;6003:340:189;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6003:340:189;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6003:340:189;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6003:340:189;;;;;;;;;;;;;-1:-1:-1;;6003:340:189;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5984:359;;;5609:741;;;;;;:::o;8506:275:203:-;8636:31;8669;8734:19;8723:51;;;;;;;;;;;;;;;-1:-1:-1;8723:51:203;;;;;;;;;-1:-1:-1;8723:51:203;-1:-1:-1;8506:275:203;;;:::o;4405:1096:189:-;4643:21;4678:15;4674:569;;;-1:-1:-1;4720:254:189;;;;;;;;;;;;;;;;;;;;;;;4956:4;4720:254;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4720:254:189;-1:-1:-1;;;4720:254:189;;;4674:569;;;-1:-1:-1;5016:216:189;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5016:216:189;-1:-1:-1;;;5016:216:189;;;4674:569;5307:12;5321:23;5348:5;-1:-1:-1;;;;;5348:10:189;5359:8;5348:20;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5348:20:189;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5306:62;;;;5386:7;5402:10;5378:36;;;;;-1:-1:-1;;;5378:36:189;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5454:40;:38;:40::i;8879:253:203:-;9010:48;9092:19;9081:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;9081:44:203;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;9081:44:203;;;;;;;;;;;;-1:-1:-1;9081:44:203;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9074:51;;8879:253;;;:::o;3653:642:189:-;3915:12;3929:23;3956:5;-1:-1:-1;;;;;3956:10:189;3980:172;4034:22;4074:31;4123:15;3980:36;:172::i;:::-;3956:206;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3956:206:189;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3914:248;;;;4180:7;4196:10;4172:36;;;;;-1:-1:-1;;;4172:36:189;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4248:40;:38;:40::i;:::-;3653:642;;;;;;:::o;704:175:450:-;813:58;;;-1:-1:-1;;;;;813:58:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;813:58:450;-1:-1:-1;;;813:58:450;;;786:86;;806:5;;786:19;:86::i;:::-;704:175;;;:::o;14272:334:166:-;14362:15;14380:32;-1:-1:-1;;;;;14380:58:166;;14439:8;14380:68;;;;;;;;;;;;;-1:-1:-1;;;;;14380:68:166;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14380:68:166;14490:50;;;-1:-1:-1;;;14490:50:166;;-1:-1:-1;;;;;14490:50:166;;;;;;;;;14380:68;;-1:-1:-1;14490:25:166;:43;;;;;;:50;;;;;14380:68;;14490:50;;;;;;;;:43;:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14490:50:166;-1:-1:-1;;;;;14479:61:166;;;;;;14458:141;;;;-1:-1:-1;;;14458:141:166;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4410:1154:203;4590:29;4621:35;4668:24;4707:9;4702:178;4722:28;:35;4718:1;:39;4702:178;;;4816:1;4782:28;4811:1;4782:31;;;;;;;;;;;;;;:35;4778:92;;;4837:18;;;;;4778:92;4759:3;;4702:178;;;;4919:16;4905:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4905:31:203;;4890:46;;4981:16;4967:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4967:31:203;;4946:52;;5008:24;5047:9;5042:464;5062:28;:35;5058:1;:39;5042:464;;;5156:1;5122:28;5151:1;5122:31;;;;;;;;;;;;;;:35;5118:378;;;5210:41;5225:5;5232:1;5235:15;5210:14;:41::i;:::-;5177:12;5190:16;5177:30;;;;;;;;;;;;;:74;-1:-1:-1;;;;;5177:74:203;;;-1:-1:-1;;;;;5177:74:203;;;;;5308:28;5337:1;5308:31;;;;;;;;;;;;;;5269:18;5288:16;5269:36;;;;;;;;;;;;;;;;;:70;5357:18;;;;;5398:36;;;5394:88;;;5458:5;;5394:88;5099:3;;5042:464;;;;5516:41;;4410:1154;;;;;;:::o;2746:1571::-;2975:32;;3085:18;3070:11;:33;;;;;;;;;3066:1184;;;3137:30;3185;3232:60;3272:19;3232:39;:60::i;:::-;3456:16;;;3470:1;3456:16;;;;;;;;;3119:173;;-1:-1:-1;3119:173:203;;-1:-1:-1;3456:16:203;;;;;;;;;;;-1:-1:-1;3456:16:203;3438:34;;3507:62;3522:5;3529:22;3553:15;3507:14;:62::i;:::-;3486:15;3502:1;3486:18;;;;;;;;-1:-1:-1;;;;;3486:83:203;;;;:18;;;;;;;;;;:83;3611:16;;;3625:1;3611:16;;;;;;;;;;;;;;3486:18;3611:16;;;;;-1:-1:-1;3611:16:203;3584:43;;3671:22;3641:24;3666:1;3641:27;;;;;;;;;;;;;:52;;;;;3066:1184;;;;;3751:91;3809:19;3751:40;:91::i;:::-;3724:118;;4050:24;:31;4036:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4036:46:203;;4018:64;;4101:9;4096:144;4116:15;:22;4112:1;:26;4096:144;;;4184:41;4199:5;4206:1;4209:15;4184:14;:41::i;:::-;4163:15;4179:1;4163:18;;;;;;;;-1:-1:-1;;;;;4163:62:203;;;:18;;;;;;;;;;;:62;4140:3;;4096:144;;;;3066:1184;2746:1571;;;;;;;:::o;1348:613:450:-;1713:10;;;1712:62;;-1:-1:-1;1729:39:450;;;-1:-1:-1;;;1729:39:450;;1753:4;1729:39;;;;-1:-1:-1;;;;;1729:39:450;;;;;;;;;:15;;;;;;:39;;;;;;;;;;;;;;;:15;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1729:39:450;:44;1712:62;1704:150;;;;-1:-1:-1;;;1704:150:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1891:62;;;-1:-1:-1;;;;;1891:62:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1891:62:450;-1:-1:-1;;;1891:62:450;;;1864:90;;1884:5;;1864:19;:90::i;6432:674:189:-;6567:16;6599:29;6642:15;6638:71;;;-1:-1:-1;6673:25:189;;;;;;;;;;;;-1:-1:-1;;;6673:25:189;;;;6638:71;6885:25;:14;:23;:25::i;:::-;7001:15;6793:274;;;;;;-1:-1:-1;;;6793:274:189;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6793:274:189;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6793:274:189;;;;;;;;;;;-1:-1:-1;;;6793:274:189;;;;;;;-1:-1:-1;;;6793:274:189;;;;;;;;;;;;;;-1:-1:-1;6793:274:189;;;;;;;;;;;;;-1:-1:-1;;6793:274:189;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;6793:274:189;;;;;;;;;;;;;;;;;;;;;6762:323;;;;;;6719:380;;;6432:674;;;;:::o;7194:316::-;7307:4;7291:30;7335:22;;7331:173;;7387:37;:35;:37::i;:::-;-1:-1:-1;;;;;7373:61:189;;7459:18;7373:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7331:173;7194:316;:::o;7597:750::-;7799:22;7833:35;7882:15;7878:87;;;-1:-1:-1;7938:16:189;;;7949:4;7938:16;;;;;;;;;;;;;;;;;;;;;;;;7878:87;8028:151;8086:31;:38;8146:15;8028:36;:151::i;:::-;8197:22;8254:31;8237:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8304:22;7994:346;;;;;;-1:-1:-1;;;;;7994:346:189;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7994:346:189;;;;;;;;;;;;;;;;-1:-1:-1;;7994:346:189;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7994:346:189;;;;;;;;;;;;-1:-1:-1;;7994:346:189;;;;;;;;;;;;2967:751:450;3386:23;3412:69;3440:4;3412:69;;;;;;;;;;;;;;;;;3420:5;-1:-1:-1;;;;;3412:27:450;;;:69;;;;;:::i;:::-;3495:17;;3386:95;;-1:-1:-1;3495:21:450;3491:221;;3635:10;3624:30;;;;;;;;;;;;;;;-1:-1:-1;3624:30:450;3616:85;;;;-1:-1:-1;;;3616:85:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5627:781:203;5756:14;5786;5782:568;;;5840:5;-1:-1:-1;;;;;5820:43:203;;5864:6;5820:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5820:51:203;;;5816:283;;6045:5;-1:-1:-1;;;;;6025:43:203;;6076:6;6025:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6025:59:203;;-1:-1:-1;5816:283:203;;;5962:14;-1:-1:-1;5816:283:203;5782:568;;;6153:5;-1:-1:-1;;;;;6133:32:203;;6166:6;6133:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6133:40:203;;;6129:211;;6297:5;-1:-1:-1;;;;;6277:32:203;;6317:6;6277:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6277:48:203;;-1:-1:-1;6129:211:203;;;6224:4;-1:-1:-1;6129:211:203;6367:34;6394:6;6367:26;:34::i;:::-;6360:41;5627:781;-1:-1:-1;;;;5627:781:203:o;210:725:455:-;266:13;483:10;479:51;;-1:-1:-1;509:10:455;;;;;;;;;;;;-1:-1:-1;;;509:10:455;;;;;;479:51;554:5;539:12;593:75;600:9;;593:75;;625:8;;655:2;647:10;;;;593:75;;;677:19;709:6;699:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;699:17:455;-1:-1:-1;769:5:455;;-1:-1:-1;677:39:455;-1:-1:-1;;;742:10:455;;784:114;791:9;;784:114;;859:2;852:4;:9;847:2;:14;834:29;;816:6;823:7;;;;;;;816:15;;;;;;;;;;;:47;-1:-1:-1;;;;;816:47:455;;;;;;;;-1:-1:-1;885:2:455;877:10;;;;784:114;;;-1:-1:-1;921:6:455;210:725;-1:-1:-1;;;;210:725:455:o;8432:680:189:-;8570:16;8602:29;8645:15;8641:71;;;-1:-1:-1;8676:25:189;;;;;;;;;;;;-1:-1:-1;;;8676:25:189;;;;8641:71;8927:25;:14;:23;:25::i;:::-;8796:277;;;;;;;;;;-1:-1:-1;;;8796:277:189;;;;;;9007:15;;8796:277;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8796:277:189;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;8796:277:189;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8796:277:189;;;;;;;;;;;;3581:193:451;3684:12;3715:52;3737:6;3745:4;3751:1;3754:12;3715:21;:52::i;1293:319:203:-;1405:14;1462:36;-1:-1:-1;;;;;1439:59:203;:19;-1:-1:-1;;;;;1439:59:203;;1435:134;;;1521:37;:35;:37::i;:::-;1514:44;;;;1435:134;-1:-1:-1;1586:19:203;1293:319::o;4608:523:451:-;4735:12;4792:5;4767:21;:30;;4759:81;;;;-1:-1:-1;;;4759:81:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4858:18;4869:6;4858:10;:18::i;:::-;4850:60;;;;;-1:-1:-1;;;4850:60:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;4981:12;4995:23;5022:6;-1:-1:-1;;;;;5022:11:451;5042:5;5050:4;5022:33;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5022:33:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4980:75;;;;5072:52;5090:7;5099:10;5111:12;5072:17;:52::i;:::-;5065:59;4608:523;-1:-1:-1;;;;;;;4608:523:451:o;726:413::-;1086:20;1124:8;;;726:413::o;7091:725::-;7206:12;7234:7;7230:580;;;-1:-1:-1;7264:10:451;7257:17;;7230:580;7375:17;;:21;7371:429;;7633:10;7627:17;7693:15;7680:10;7676:2;7672:19;7665:44;7582:145;7765:20;;-1:-1:-1;;;7765:20:451;;;;;;;;;;;;;;;;;7772:12;;7765:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;", - "linkReferences": {}, - "immutableReferences": { - "43150": [ - { - "start": 7707, - "length": 32 - }, - { - "start": 8337, - "length": 32 - }, - { - "start": 10395, - "length": 32 - } - ], - "43152": [ - { - "start": 2520, - "length": 32 - }, - { - "start": 10583, - "length": 32 - } - ], - "49791": [ - { - "start": 2273, - "length": 32 - }, - { - "start": 2915, - "length": 32 - }, - { - "start": 3112, - "length": 32 - }, - { - "start": 3496, - "length": 32 - }, - { - "start": 3966, - "length": 32 - }, - { - "start": 4047, - "length": 32 - } - ], - "50901": [ - { - "start": 2156, - "length": 32 - } - ], - "55129": [ - { - "start": 13607, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "CLAIM_REWARDS_SELECTOR()": "40da225d", - "LEND_AND_STAKE_SELECTOR()": "131461c0", - "LEND_SELECTOR()": "257cb1a3", - "REDEEM_SELECTOR()": "f7d882b5", - "STAKE_SELECTOR()": "3ffc1591", - "TAKE_MULTIPLE_ORDERS_SELECTOR()": "c32990a2", - "TAKE_ORDER_SELECTOR()": "863e5ad0", - "UNSTAKE_AND_REDEEM_SELECTOR()": "080456c1", - "UNSTAKE_SELECTOR()": "b23228cf", - "claimRewards(address,bytes,bytes)": "b9dfbacc", - "getCurveLiquidityWrappedNativeAsset()": "12c9d386", - "getIntegrationManager()": "e7c45690", - "lendAndStake(address,bytes,bytes)": "29fa046e", - "parseAssetsForAction(address,bytes4,bytes)": "c54efee5", - "stake(address,bytes,bytes)": "fa7dd04d", - "unstake(address,bytes,bytes)": "68e30677", - "unstakeAndRedeem(address,bytes,bytes)": "8334eb99" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_integrationManager\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_curvePriceFeed\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_wrappedNativeAsset\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_stakingWrapperFactory\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_nativeAssetAddress\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"CLAIM_REWARDS_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LEND_AND_STAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LEND_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"REDEEM_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"STAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TAKE_MULTIPLE_ORDERS_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TAKE_ORDER_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UNSTAKE_AND_REDEEM_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UNSTAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"claimRewards\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurveLiquidityWrappedNativeAsset\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"addressProvider_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getIntegrationManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"integrationManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"_assetData\",\"type\":\"bytes\"}],\"name\":\"lendAndStake\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"_selector\",\"type\":\"bytes4\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"}],\"name\":\"parseAssetsForAction\",\"outputs\":[{\"internalType\":\"enum IIntegrationManager.SpendAssetsHandleType\",\"name\":\"spendAssetsHandleType_\",\"type\":\"uint8\"},{\"internalType\":\"address[]\",\"name\":\"spendAssets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"spendAssetAmounts_\",\"type\":\"uint256[]\"},{\"internalType\":\"address[]\",\"name\":\"incomingAssets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"minIncomingAssetAmounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"_assetData\",\"type\":\"bytes\"}],\"name\":\"stake\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"unstake\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"_assetData\",\"type\":\"bytes\"}],\"name\":\"unstakeAndRedeem\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"Rewards tokens are not included as incoming assets for claimRewards() Rationale: - rewards tokens can be claimed to the vault outside of the IntegrationManager, so no need to enforce policy management or emit an event - rewards tokens can be outside of the asset universe, in which case they cannot be tracked\",\"kind\":\"dev\",\"methods\":{\"claimRewards(address,bytes,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}},\"getCurveLiquidityWrappedNativeAsset()\":{\"returns\":{\"addressProvider_\":\"The `CURVE_LIQUIDITY_WRAPPED_NATIVE_ASSET` variable value\"}},\"getIntegrationManager()\":{\"returns\":{\"integrationManager_\":\"The `INTEGRATION_MANAGER` variable value\"}},\"lendAndStake(address,bytes,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_assetData\":\"Parsed spend assets and incoming assets data for this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}},\"parseAssetsForAction(address,bytes4,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_selector\":\"The function selector for the callOnIntegration\"},\"returns\":{\"incomingAssets_\":\"The assets to receive in the call\",\"minIncomingAssetAmounts_\":\"The min asset amounts to receive in the call\",\"spendAssetAmounts_\":\"The max asset amounts to spend in the call\",\"spendAssetsHandleType_\":\"A type that dictates how to handle granting the adapter access to spend assets (`None` by default)\",\"spendAssets_\":\"The assets to spend in the call\"}},\"stake(address,bytes,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_assetData\":\"Parsed spend assets and incoming assets data for this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}},\"unstake(address,bytes,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}},\"unstakeAndRedeem(address,bytes,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_assetData\":\"Parsed spend assets and incoming assets data for this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}}},\"title\":\"ConvexCurveLpStakingAdapter Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"claimRewards(address,bytes,bytes)\":{\"notice\":\"Claims all rewards for a given staking token\"},\"getCurveLiquidityWrappedNativeAsset()\":{\"notice\":\"Gets the `CURVE_LIQUIDITY_WRAPPED_NATIVE_ASSET` variable\"},\"getIntegrationManager()\":{\"notice\":\"Gets the `INTEGRATION_MANAGER` variable\"},\"lendAndStake(address,bytes,bytes)\":{\"notice\":\"Lends assets for LP tokens, then stakes the received LP tokens\"},\"parseAssetsForAction(address,bytes4,bytes)\":{\"notice\":\"Parses the expected assets in a particular action\"},\"stake(address,bytes,bytes)\":{\"notice\":\"Stakes LP tokens\"},\"unstake(address,bytes,bytes)\":{\"notice\":\"Unstakes LP tokens\"},\"unstakeAndRedeem(address,bytes,bytes)\":{\"notice\":\"Unstakes LP tokens, then redeems them\"}},\"notice\":\"Adapter for staking Curve LP tokens via Convex, with optional combined end-to-end liquidity provision via Curve\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/integration-manager/integrations/adapters/ConvexCurveLpStakingAdapter.sol\":\"ConvexCurveLpStakingAdapter\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/extensions/integration-manager/IIntegrationManager.sol\":{\"keccak256\":\"0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23\",\"dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk\"]},\"contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol\":{\"keccak256\":\"0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336\",\"dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS\"]},\"contracts/release/extensions/integration-manager/integrations/adapters/ConvexCurveLpStakingAdapter.sol\":{\"keccak256\":\"0x393d08b9f1831cc49236027f9efc70a29e51643782fa9e5ae45adabd46082549\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://03c2d14d933d5796088d272d15f7cdc8221185b567ebe2bad8f1747e6a646e9d\",\"dweb:/ipfs/QmXKRCyG1HLLnLAW8ng9X9w1CyneRa1s3CZY9KaryCR9Tt\"]},\"contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol\":{\"keccak256\":\"0x067e49bf0d3c1655ab41a413c65ccf61d4e593308132e1ffc484a0fadfbbaf26\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://387f425017e18e89cc1893521101fa99df595314847d0b3d9a1162369f714fcf\",\"dweb:/ipfs/Qmco3jCvuWAyfCpBYpGzHrQjiFJG63w1RJKcakoTEbxRQm\"]},\"contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol\":{\"keccak256\":\"0xfd34c7ca8231c6935e25dede32ca2b3121738e624d0fc896f7b895a731edcf88\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d492c061963d36d07718446db191d4c5a340c0d847f6cd209f027bd99f7cb176\",\"dweb:/ipfs/QmfCvRZt56ftDdrEh6LepHXFJ4fVtcfpQGvEyY8k4zxG1A\"]},\"contracts/release/extensions/integration-manager/integrations/utils/actions/CurveLiquidityActionsMixin.sol\":{\"keccak256\":\"0x71e040ad76ac9927ca73d597ce6cc767475b75f08227db9a4f471ac4b8291805\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://089fa77e85aeb131f96d02d2c46e2f99b59dd0337cde82244b11e23602ee4329\",\"dweb:/ipfs/QmZTv8u4HrMz4sm5TFLHv1nfjfjfUkcASD4Qhz88EVYwAR\"]},\"contracts/release/extensions/integration-manager/integrations/utils/actions/StakingWrapperActionsMixin.sol\":{\"keccak256\":\"0x3b3cf5217bfdb046eb76336fbdb95e0bc389dee5964b1067f0239338acccea08\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://7ee1ece29be26ef9d16370487950bbbe2e8371642dd3f5c661423f59bf6d7072\",\"dweb:/ipfs/QmfXvVKe78qCysfTLb8WQzUCnKmBPpgFhF6aK13ZsEUoRK\"]},\"contracts/release/extensions/integration-manager/integrations/utils/bases/CurveLiquidityAdapterBase.sol\":{\"keccak256\":\"0x85c51f77c1f0fe8e33b676e6a59266b92592acf10fc147925f95f97b16715432\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a897952b16993d624cd1e6ad1f62e2892166918e7bab0ad377ffe6405d3936ce\",\"dweb:/ipfs/QmXovhqFgdV7v2DwNMjksNwWWLU61gxV95Hy7xs9AV8g7E\"]},\"contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol\":{\"keccak256\":\"0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e\",\"dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK\"]},\"contracts/release/infrastructure/price-feeds/derivatives/feeds/CurvePriceFeed.sol\":{\"keccak256\":\"0xa8ddbd75bb5cb702b539b963c2694a8abcbd19eb801a36a42c0537f69ad26b42\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b6422a1ebdf7198942cee6b61ae807887a77864abc0b1bc16dba55c7b5f3ca90\",\"dweb:/ipfs/QmXNCQkT5Er6NvKBJnhk9jR4T1KhNeorAr8F6K6dQPjztx\"]},\"contracts/release/infrastructure/staking-wrappers/IStakingWrapper.sol\":{\"keccak256\":\"0xaeb9aba4e74eb3243a85090fded7b157969cf83e1f4159b1da2f662a3e7b15be\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://92346911c044a54808d2d425fe58c6dc9594dfafb8d83496f6599e3bc23803d0\",\"dweb:/ipfs/QmYWf7yx9ZfUnP81K1hjvApthqNhpXzUhGuFBm4gX1aDRB\"]},\"contracts/release/infrastructure/staking-wrappers/StakingWrapperBase.sol\":{\"keccak256\":\"0x3e28050fbe625f1469701b231772ce321e719ddbce4f84b6caa1d8d634a4234a\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f0871b7d6b595e444e598f68751225a596d969267c289a465462fdeb67530fc8\",\"dweb:/ipfs/QmX2z5QGP3kpKx9ruGnZHYH5bDCD9sjRGTRhg9SRiowctg\"]},\"contracts/release/infrastructure/staking-wrappers/StakingWrapperLibBase.sol\":{\"keccak256\":\"0x94d4057419743d9354d77774e1e5279a5ed2fc70012ef28115357f9921bfb5be\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d1e461f460a0339cada6cdfb0107bde47d236b336fec0ed470235ce7928666bb\",\"dweb:/ipfs/QmcMzSrcWTKyqgBAACVCidd2dpMfbeUtcQYu4D1ASiyFzk\"]},\"contracts/release/infrastructure/staking-wrappers/convex-curve-lp/ConvexCurveLpStakingWrapperFactory.sol\":{\"keccak256\":\"0x4f7394dea52858ea7734ed8586377d1ebef39e1ca6aa5ed684fea7a7fe82b16a\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c7a5181757151d6210193dfa97b3076edcfe3017b4fefbfbbe3ab848878d5996\",\"dweb:/ipfs/Qme9tTYoAhMkHVLbwKQoSdVJTec1p9zAPwzSe7RZFvnkYu\"]},\"contracts/release/infrastructure/staking-wrappers/convex-curve-lp/ConvexCurveLpStakingWrapperLib.sol\":{\"keccak256\":\"0x1ec08f37e592766bb7f0d62edb04261bcd3c26154bb5dc437465f836fabf3427\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://0265250d2255bcb61fdb1842e7dbb26e4d56a11a1e3fd87f0790644277bb7259\",\"dweb:/ipfs/Qmb5kVMTr86qYkJu8o1YNwnCrbUJMhmhnFHMrdx2vZhdED\"]},\"contracts/release/interfaces/IConvexBaseRewardPool.sol\":{\"keccak256\":\"0x7c82b546c3c339c6f602191bc9062d6887af7db438800359c0547aa6bb025acc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://13a488b1d715000d1ed9415917a8f9c347ec91b04770b74746facacd88e2e105\",\"dweb:/ipfs/QmaHJKxagREc7Mbq8SkSbWgzwk8bNSFTwojAD5hNemwy1Y\"]},\"contracts/release/interfaces/IConvexBooster.sol\":{\"keccak256\":\"0x6e7561d2d7e71a0c89a6e62445de5c54c2e50d17877b23d8b5af10721dd90ed5\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://772cf7f429a04a557d3b0ed36a73390da64fd93a9df253e0c7e9ebeeecd063ea\",\"dweb:/ipfs/QmXjfnXmtGV67wypxof8nWVTkXAEZqBpFjYePfr17K8rAL\"]},\"contracts/release/interfaces/IConvexVirtualBalanceRewardPool.sol\":{\"keccak256\":\"0x45a7d783e4088cf1b5dcb548da2fce6b0caa9c572c43af9f39aff46498fa101c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://82ed678230fe900991bd81a6c31dae01d120fe5521f96d1cc36c40334385f907\",\"dweb:/ipfs/QmYre4JtyoXmetrYUwFMrPKwBY1NEm2XYdgMiAR7Z7P2jW\"]},\"contracts/release/interfaces/ICurveAddressProvider.sol\":{\"keccak256\":\"0xf8da903700c623760de62b3e5d0b01997c68b8847391e23b89081128780e55e1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://735b71b448d4d5c78e98ead84bf8f8e1e94e38ff8a77c7e4f9cc944d1d73e7df\",\"dweb:/ipfs/QmXFgGFVEvQW9wpeBspcaVAXwCcxvnNJZLafTeP2HPArNQ\"]},\"contracts/release/interfaces/ICurveLiquidityPool.sol\":{\"keccak256\":\"0xd90f3399805f90d670098cc451f9948b8da7dd68be821617c76487fdc20f0731\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ba6e6e5bf761fa279329a564741e5cd2b78c5be2e50c388ac419c3d84736c9a1\",\"dweb:/ipfs/QmZ96kkg7oHLmdzwQLYbZVHDvKj8jZEJLaxNXy1j3sbgrn\"]},\"contracts/release/interfaces/ICurvePoolOwner.sol\":{\"keccak256\":\"0x42a03eb0d757153add18d4f42b5b464041056e23f6965a48705088ddd213c336\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a4166f75c4c80b8f069ae2b8cfe9bda2babca27fd30b239e30606eca69f8878c\",\"dweb:/ipfs/QmYNULkXYTaKQUiCA8htR9KbCkK5YhrHfJgKtBqXiNPt9R\"]},\"contracts/release/interfaces/ICurveRegistryMain.sol\":{\"keccak256\":\"0x9e67cfcd4195bfd8db785be1cba42bf8871d0638770adaf04d638227b29a9b2b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://cb2587e7026be73f27d4dd75deb44faeca3112a58ddc07bb87bca46d96fd977b\",\"dweb:/ipfs/QmTVdpCWZ9rv583gxP5Ycvs5Nf7jZTxVWr5oeZvywYNSSh\"]},\"contracts/release/interfaces/ICurveRegistryMetapoolFactory.sol\":{\"keccak256\":\"0x43aa6bfbda8ca1fdcb0890792e7969999146c690986938ac43818ca9b9343e58\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3426ad7d87cd51519c288004f970da83bf672d60fc7d1c647af5e84855f6a4b5\",\"dweb:/ipfs/QmevngH3Acet8R6YHzGLRyNeEoUYfbnQm7NSbzHYN7rdpf\"]},\"contracts/release/interfaces/IWETH.sol\":{\"keccak256\":\"0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2\",\"dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"contracts/release/utils/FundDeployerOwnerMixin.sol\":{\"keccak256\":\"0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927\",\"dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM\"]},\"contracts/release/utils/beacon-proxy/BeaconProxy.sol\":{\"keccak256\":\"0x7a0a6c511a30434a9b329226b0cf1a05ec426ddbfc4e1d9b9083978ee4cf6d53\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://692d3a116ecf306f20a3d29dc70846099ce46ba281524a502336325a6cd05667\",\"dweb:/ipfs/QmTGxmDWMcMtGEsPLzVB8eyK3WDqaCwoChuc24RXuSzwVb\"]},\"contracts/release/utils/beacon-proxy/BeaconProxyFactory.sol\":{\"keccak256\":\"0xd35fa5134e3a8694ed1dbbc8dcd4b4d5b459608c23097a95984e1b98af3e64d9\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1c008f83ac64b316479406cbf0287593a810d453825a2f669b5810c51429f9fc\",\"dweb:/ipfs/QmNtdtcWGZFpnb3LsshwV5BiM5H1Vz8SGpoqMchUyfuhQx\"]},\"contracts/release/utils/beacon-proxy/IBeacon.sol\":{\"keccak256\":\"0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39\",\"dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V\"]},\"contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol\":{\"keccak256\":\"0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be\",\"dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]},\"node_modules/@openzeppelin/contracts/utils/ReentrancyGuard.sol\":{\"keccak256\":\"0x8bbbc2f5c10065ee272592ae0a7a6ceb23de2fbd81564ee0bb015ecf404d5f61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b95e56c1640d0ef789fc5c16269e141e992f6c8ac97cc6d377bd3825e9cab182\",\"dweb:/ipfs/QmVzaxJZY51EhagrcNnkxoU6Uq17RhATe7aHvtkC6wUkgK\"]},\"node_modules/@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0xa1e12f97981f1d0964b1c048978606a57127c56c438bab61cdfe269cad859a74\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5eefac1760f524971e14aa3f3d79515a3d54fd28c1d3bdca0b36127da349b830\",\"dweb:/ipfs/QmUMzkyH3ytJX5gVPizQruNLhkKmuJb3nFqBDad4LPdg5U\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_integrationManager", - "type": "address" - }, - { - "internalType": "address", - "name": "_curvePriceFeed", - "type": "address" - }, - { - "internalType": "address", - "name": "_wrappedNativeAsset", - "type": "address" - }, - { - "internalType": "address", - "name": "_stakingWrapperFactory", - "type": "address" - }, - { - "internalType": "address", - "name": "_nativeAssetAddress", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "CLAIM_REWARDS_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "LEND_AND_STAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "LEND_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "REDEEM_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "STAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "TAKE_MULTIPLE_ORDERS_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "TAKE_ORDER_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "UNSTAKE_AND_REDEEM_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "UNSTAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "claimRewards" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getCurveLiquidityWrappedNativeAsset", - "outputs": [ - { - "internalType": "address", - "name": "addressProvider_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getIntegrationManager", - "outputs": [ - { - "internalType": "address", - "name": "integrationManager_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "_assetData", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "lendAndStake" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes4", - "name": "_selector", - "type": "bytes4" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - } - ], - "stateMutability": "view", - "type": "function", - "name": "parseAssetsForAction", - "outputs": [ - { - "internalType": "enum IIntegrationManager.SpendAssetsHandleType", - "name": "spendAssetsHandleType_", - "type": "uint8" - }, - { - "internalType": "address[]", - "name": "spendAssets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "spendAssetAmounts_", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "incomingAssets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "minIncomingAssetAmounts_", - "type": "uint256[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "_assetData", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "stake" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "unstake" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "_assetData", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "unstakeAndRedeem" - }, - { - "inputs": [], - "stateMutability": "payable", - "type": "receive" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "claimRewards(address,bytes,bytes)": { - "params": { - "_actionData": "Data specific to this action", - "_vaultProxy": "The VaultProxy of the calling fund" - } - }, - "getCurveLiquidityWrappedNativeAsset()": { - "returns": { - "addressProvider_": "The `CURVE_LIQUIDITY_WRAPPED_NATIVE_ASSET` variable value" - } - }, - "getIntegrationManager()": { - "returns": { - "integrationManager_": "The `INTEGRATION_MANAGER` variable value" - } - }, - "lendAndStake(address,bytes,bytes)": { - "params": { - "_actionData": "Data specific to this action", - "_assetData": "Parsed spend assets and incoming assets data for this action", - "_vaultProxy": "The VaultProxy of the calling fund" - } - }, - "parseAssetsForAction(address,bytes4,bytes)": { - "params": { - "_actionData": "Data specific to this action", - "_selector": "The function selector for the callOnIntegration" - }, - "returns": { - "incomingAssets_": "The assets to receive in the call", - "minIncomingAssetAmounts_": "The min asset amounts to receive in the call", - "spendAssetAmounts_": "The max asset amounts to spend in the call", - "spendAssetsHandleType_": "A type that dictates how to handle granting the adapter access to spend assets (`None` by default)", - "spendAssets_": "The assets to spend in the call" - } - }, - "stake(address,bytes,bytes)": { - "params": { - "_actionData": "Data specific to this action", - "_assetData": "Parsed spend assets and incoming assets data for this action", - "_vaultProxy": "The VaultProxy of the calling fund" - } - }, - "unstake(address,bytes,bytes)": { - "params": { - "_actionData": "Data specific to this action", - "_vaultProxy": "The VaultProxy of the calling fund" - } - }, - "unstakeAndRedeem(address,bytes,bytes)": { - "params": { - "_actionData": "Data specific to this action", - "_assetData": "Parsed spend assets and incoming assets data for this action", - "_vaultProxy": "The VaultProxy of the calling fund" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "claimRewards(address,bytes,bytes)": { - "notice": "Claims all rewards for a given staking token" - }, - "getCurveLiquidityWrappedNativeAsset()": { - "notice": "Gets the `CURVE_LIQUIDITY_WRAPPED_NATIVE_ASSET` variable" - }, - "getIntegrationManager()": { - "notice": "Gets the `INTEGRATION_MANAGER` variable" - }, - "lendAndStake(address,bytes,bytes)": { - "notice": "Lends assets for LP tokens, then stakes the received LP tokens" - }, - "parseAssetsForAction(address,bytes4,bytes)": { - "notice": "Parses the expected assets in a particular action" - }, - "stake(address,bytes,bytes)": { - "notice": "Stakes LP tokens" - }, - "unstake(address,bytes,bytes)": { - "notice": "Unstakes LP tokens" - }, - "unstakeAndRedeem(address,bytes,bytes)": { - "notice": "Unstakes LP tokens, then redeems them" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/integration-manager/integrations/adapters/ConvexCurveLpStakingAdapter.sol": "ConvexCurveLpStakingAdapter" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/dispatcher/IDispatcher.sol": { - "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", - "urls": [ - "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", - "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund-deployer/IFundDeployer.sol": { - "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", - "urls": [ - "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", - "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/IIntegrationManager.sol": { - "keccak256": "0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef", - "urls": [ - "bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23", - "dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol": { - "keccak256": "0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1", - "urls": [ - "bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336", - "dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/adapters/ConvexCurveLpStakingAdapter.sol": { - "keccak256": "0x393d08b9f1831cc49236027f9efc70a29e51643782fa9e5ae45adabd46082549", - "urls": [ - "bzz-raw://03c2d14d933d5796088d272d15f7cdc8221185b567ebe2bad8f1747e6a646e9d", - "dweb:/ipfs/QmXKRCyG1HLLnLAW8ng9X9w1CyneRa1s3CZY9KaryCR9Tt" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol": { - "keccak256": "0x067e49bf0d3c1655ab41a413c65ccf61d4e593308132e1ffc484a0fadfbbaf26", - "urls": [ - "bzz-raw://387f425017e18e89cc1893521101fa99df595314847d0b3d9a1162369f714fcf", - "dweb:/ipfs/Qmco3jCvuWAyfCpBYpGzHrQjiFJG63w1RJKcakoTEbxRQm" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol": { - "keccak256": "0xfd34c7ca8231c6935e25dede32ca2b3121738e624d0fc896f7b895a731edcf88", - "urls": [ - "bzz-raw://d492c061963d36d07718446db191d4c5a340c0d847f6cd209f027bd99f7cb176", - "dweb:/ipfs/QmfCvRZt56ftDdrEh6LepHXFJ4fVtcfpQGvEyY8k4zxG1A" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/utils/actions/CurveLiquidityActionsMixin.sol": { - "keccak256": "0x71e040ad76ac9927ca73d597ce6cc767475b75f08227db9a4f471ac4b8291805", - "urls": [ - "bzz-raw://089fa77e85aeb131f96d02d2c46e2f99b59dd0337cde82244b11e23602ee4329", - "dweb:/ipfs/QmZTv8u4HrMz4sm5TFLHv1nfjfjfUkcASD4Qhz88EVYwAR" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/utils/actions/StakingWrapperActionsMixin.sol": { - "keccak256": "0x3b3cf5217bfdb046eb76336fbdb95e0bc389dee5964b1067f0239338acccea08", - "urls": [ - "bzz-raw://7ee1ece29be26ef9d16370487950bbbe2e8371642dd3f5c661423f59bf6d7072", - "dweb:/ipfs/QmfXvVKe78qCysfTLb8WQzUCnKmBPpgFhF6aK13ZsEUoRK" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/utils/bases/CurveLiquidityAdapterBase.sol": { - "keccak256": "0x85c51f77c1f0fe8e33b676e6a59266b92592acf10fc147925f95f97b16715432", - "urls": [ - "bzz-raw://a897952b16993d624cd1e6ad1f62e2892166918e7bab0ad377ffe6405d3936ce", - "dweb:/ipfs/QmXovhqFgdV7v2DwNMjksNwWWLU61gxV95Hy7xs9AV8g7E" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol": { - "keccak256": "0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332", - "urls": [ - "bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e", - "dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/price-feeds/derivatives/feeds/CurvePriceFeed.sol": { - "keccak256": "0xa8ddbd75bb5cb702b539b963c2694a8abcbd19eb801a36a42c0537f69ad26b42", - "urls": [ - "bzz-raw://b6422a1ebdf7198942cee6b61ae807887a77864abc0b1bc16dba55c7b5f3ca90", - "dweb:/ipfs/QmXNCQkT5Er6NvKBJnhk9jR4T1KhNeorAr8F6K6dQPjztx" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/staking-wrappers/IStakingWrapper.sol": { - "keccak256": "0xaeb9aba4e74eb3243a85090fded7b157969cf83e1f4159b1da2f662a3e7b15be", - "urls": [ - "bzz-raw://92346911c044a54808d2d425fe58c6dc9594dfafb8d83496f6599e3bc23803d0", - "dweb:/ipfs/QmYWf7yx9ZfUnP81K1hjvApthqNhpXzUhGuFBm4gX1aDRB" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/staking-wrappers/StakingWrapperBase.sol": { - "keccak256": "0x3e28050fbe625f1469701b231772ce321e719ddbce4f84b6caa1d8d634a4234a", - "urls": [ - "bzz-raw://f0871b7d6b595e444e598f68751225a596d969267c289a465462fdeb67530fc8", - "dweb:/ipfs/QmX2z5QGP3kpKx9ruGnZHYH5bDCD9sjRGTRhg9SRiowctg" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/staking-wrappers/StakingWrapperLibBase.sol": { - "keccak256": "0x94d4057419743d9354d77774e1e5279a5ed2fc70012ef28115357f9921bfb5be", - "urls": [ - "bzz-raw://d1e461f460a0339cada6cdfb0107bde47d236b336fec0ed470235ce7928666bb", - "dweb:/ipfs/QmcMzSrcWTKyqgBAACVCidd2dpMfbeUtcQYu4D1ASiyFzk" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/staking-wrappers/convex-curve-lp/ConvexCurveLpStakingWrapperFactory.sol": { - "keccak256": "0x4f7394dea52858ea7734ed8586377d1ebef39e1ca6aa5ed684fea7a7fe82b16a", - "urls": [ - "bzz-raw://c7a5181757151d6210193dfa97b3076edcfe3017b4fefbfbbe3ab848878d5996", - "dweb:/ipfs/Qme9tTYoAhMkHVLbwKQoSdVJTec1p9zAPwzSe7RZFvnkYu" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/staking-wrappers/convex-curve-lp/ConvexCurveLpStakingWrapperLib.sol": { - "keccak256": "0x1ec08f37e592766bb7f0d62edb04261bcd3c26154bb5dc437465f836fabf3427", - "urls": [ - "bzz-raw://0265250d2255bcb61fdb1842e7dbb26e4d56a11a1e3fd87f0790644277bb7259", - "dweb:/ipfs/Qmb5kVMTr86qYkJu8o1YNwnCrbUJMhmhnFHMrdx2vZhdED" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IConvexBaseRewardPool.sol": { - "keccak256": "0x7c82b546c3c339c6f602191bc9062d6887af7db438800359c0547aa6bb025acc", - "urls": [ - "bzz-raw://13a488b1d715000d1ed9415917a8f9c347ec91b04770b74746facacd88e2e105", - "dweb:/ipfs/QmaHJKxagREc7Mbq8SkSbWgzwk8bNSFTwojAD5hNemwy1Y" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IConvexBooster.sol": { - "keccak256": "0x6e7561d2d7e71a0c89a6e62445de5c54c2e50d17877b23d8b5af10721dd90ed5", - "urls": [ - "bzz-raw://772cf7f429a04a557d3b0ed36a73390da64fd93a9df253e0c7e9ebeeecd063ea", - "dweb:/ipfs/QmXjfnXmtGV67wypxof8nWVTkXAEZqBpFjYePfr17K8rAL" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IConvexVirtualBalanceRewardPool.sol": { - "keccak256": "0x45a7d783e4088cf1b5dcb548da2fce6b0caa9c572c43af9f39aff46498fa101c", - "urls": [ - "bzz-raw://82ed678230fe900991bd81a6c31dae01d120fe5521f96d1cc36c40334385f907", - "dweb:/ipfs/QmYre4JtyoXmetrYUwFMrPKwBY1NEm2XYdgMiAR7Z7P2jW" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/ICurveAddressProvider.sol": { - "keccak256": "0xf8da903700c623760de62b3e5d0b01997c68b8847391e23b89081128780e55e1", - "urls": [ - "bzz-raw://735b71b448d4d5c78e98ead84bf8f8e1e94e38ff8a77c7e4f9cc944d1d73e7df", - "dweb:/ipfs/QmXFgGFVEvQW9wpeBspcaVAXwCcxvnNJZLafTeP2HPArNQ" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/ICurveLiquidityPool.sol": { - "keccak256": "0xd90f3399805f90d670098cc451f9948b8da7dd68be821617c76487fdc20f0731", - "urls": [ - "bzz-raw://ba6e6e5bf761fa279329a564741e5cd2b78c5be2e50c388ac419c3d84736c9a1", - "dweb:/ipfs/QmZ96kkg7oHLmdzwQLYbZVHDvKj8jZEJLaxNXy1j3sbgrn" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/ICurvePoolOwner.sol": { - "keccak256": "0x42a03eb0d757153add18d4f42b5b464041056e23f6965a48705088ddd213c336", - "urls": [ - "bzz-raw://a4166f75c4c80b8f069ae2b8cfe9bda2babca27fd30b239e30606eca69f8878c", - "dweb:/ipfs/QmYNULkXYTaKQUiCA8htR9KbCkK5YhrHfJgKtBqXiNPt9R" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/ICurveRegistryMain.sol": { - "keccak256": "0x9e67cfcd4195bfd8db785be1cba42bf8871d0638770adaf04d638227b29a9b2b", - "urls": [ - "bzz-raw://cb2587e7026be73f27d4dd75deb44faeca3112a58ddc07bb87bca46d96fd977b", - "dweb:/ipfs/QmTVdpCWZ9rv583gxP5Ycvs5Nf7jZTxVWr5oeZvywYNSSh" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/ICurveRegistryMetapoolFactory.sol": { - "keccak256": "0x43aa6bfbda8ca1fdcb0890792e7969999146c690986938ac43818ca9b9343e58", - "urls": [ - "bzz-raw://3426ad7d87cd51519c288004f970da83bf672d60fc7d1c647af5e84855f6a4b5", - "dweb:/ipfs/QmevngH3Acet8R6YHzGLRyNeEoUYfbnQm7NSbzHYN7rdpf" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IWETH.sol": { - "keccak256": "0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2", - "urls": [ - "bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2", - "dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AddressArrayLib.sol": { - "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", - "urls": [ - "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", - "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AssetHelpers.sol": { - "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", - "urls": [ - "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", - "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/FundDeployerOwnerMixin.sol": { - "keccak256": "0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934", - "urls": [ - "bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927", - "dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/beacon-proxy/BeaconProxy.sol": { - "keccak256": "0x7a0a6c511a30434a9b329226b0cf1a05ec426ddbfc4e1d9b9083978ee4cf6d53", - "urls": [ - "bzz-raw://692d3a116ecf306f20a3d29dc70846099ce46ba281524a502336325a6cd05667", - "dweb:/ipfs/QmTGxmDWMcMtGEsPLzVB8eyK3WDqaCwoChuc24RXuSzwVb" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/beacon-proxy/BeaconProxyFactory.sol": { - "keccak256": "0xd35fa5134e3a8694ed1dbbc8dcd4b4d5b459608c23097a95984e1b98af3e64d9", - "urls": [ - "bzz-raw://1c008f83ac64b316479406cbf0287593a810d453825a2f669b5810c51429f9fc", - "dweb:/ipfs/QmNtdtcWGZFpnb3LsshwV5BiM5H1Vz8SGpoqMchUyfuhQx" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/beacon-proxy/IBeacon.sol": { - "keccak256": "0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2", - "urls": [ - "bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39", - "dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol": { - "keccak256": "0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc", - "urls": [ - "bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be", - "dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { - "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", - "urls": [ - "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", - "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Address.sol": { - "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", - "urls": [ - "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", - "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/ReentrancyGuard.sol": { - "keccak256": "0x8bbbc2f5c10065ee272592ae0a7a6ceb23de2fbd81564ee0bb015ecf404d5f61", - "urls": [ - "bzz-raw://b95e56c1640d0ef789fc5c16269e141e992f6c8ac97cc6d377bd3825e9cab182", - "dweb:/ipfs/QmVzaxJZY51EhagrcNnkxoU6Uq17RhATe7aHvtkC6wUkgK" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Strings.sol": { - "keccak256": "0xa1e12f97981f1d0964b1c048978606a57127c56c438bab61cdfe269cad859a74", - "urls": [ - "bzz-raw://5eefac1760f524971e14aa3f3d79515a3d54fd28c1d3bdca0b36127da349b830", - "dweb:/ipfs/QmUMzkyH3ytJX5gVPizQruNLhkKmuJb3nFqBDad4LPdg5U" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 166 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_integrationManager", "type": "address", "internalType": "address" }, { "name": "_curvePriceFeed", "type": "address", "internalType": "address" }, { "name": "_wrappedNativeAsset", "type": "address", "internalType": "address" }, { "name": "_stakingWrapperFactory", "type": "address", "internalType": "address" }, { "name": "_nativeAssetAddress", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "receive", "stateMutability": "payable" }, { "type": "function", "name": "CLAIM_REWARDS_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "LEND_AND_STAKE_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "LEND_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "REDEEM_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "STAKE_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "TAKE_MULTIPLE_ORDERS_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "TAKE_ORDER_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "UNSTAKE_AND_REDEEM_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "UNSTAKE_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "claimRewards", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_actionData", "type": "bytes", "internalType": "bytes" }, { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "getCurveLiquidityWrappedNativeAsset", "inputs": [], "outputs": [ { "name": "addressProvider_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getIntegrationManager", "inputs": [], "outputs": [ { "name": "integrationManager_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "lendAndStake", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_actionData", "type": "bytes", "internalType": "bytes" }, { "name": "_assetData", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "parseAssetsForAction", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "_selector", "type": "bytes4", "internalType": "bytes4" }, { "name": "_actionData", "type": "bytes", "internalType": "bytes" } ], "outputs": [ { "name": "spendAssetsHandleType_", "type": "uint8", "internalType": "enum IIntegrationManager.SpendAssetsHandleType" }, { "name": "spendAssets_", "type": "address[]", "internalType": "address[]" }, { "name": "spendAssetAmounts_", "type": "uint256[]", "internalType": "uint256[]" }, { "name": "incomingAssets_", "type": "address[]", "internalType": "address[]" }, { "name": "minIncomingAssetAmounts_", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "view" }, { "type": "function", "name": "stake", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_actionData", "type": "bytes", "internalType": "bytes" }, { "name": "_assetData", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "unstake", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_actionData", "type": "bytes", "internalType": "bytes" }, { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "unstakeAndRedeem", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_actionData", "type": "bytes", "internalType": "bytes" }, { "name": "_assetData", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x61012060405234801561001157600080fd5b5060405161393b38038061393b833981810160405260a081101561003457600080fd5b508051602082015160408301516060808501516080958601516001600160601b031995831b861690965291811b841660a05293841b831660c05290831b82166101005290911b1660e05260805160601c60a05160601c60c05160601c60e05160601c6101005160601c6138476100f4600039806109d85280612957525080611e1b5280612091528061289b52508061352752508061086c5250806108e15280610b635280610c285280610da85280610f7e5280610fcf52506138476000f3fe6080604052600436106101025760003560e01c80638334eb9911610095578063c32990a211610064578063c32990a21461055d578063c54efee514610572578063e7c4569014610741578063f7d882b514610756578063fa7dd04d1461076b57610109565b80638334eb991461037d578063863e5ad014610458578063b23228cf1461046d578063b9dfbacc1461048257610109565b806329fa046e116100d157806329fa046e1461019b5780633ffc15911461027857806340da225d1461028d57806368e30677146102a257610109565b8063080456c11461010e57806312c9d38614610140578063131461c014610171578063257cb1a31461018657610109565b3661010957005b600080fd5b34801561011a57600080fd5b50610123610846565b604080516001600160e01b03199092168252519081900360200190f35b34801561014c57600080fd5b5061015561086a565b604080516001600160a01b039092168252519081900360200190f35b34801561017d57600080fd5b5061012361088e565b34801561019257600080fd5b506101236108b2565b3480156101a757600080fd5b50610276600480360360608110156101be57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b8111156101e857600080fd5b8201836020820111156101fa57600080fd5b803590602001918460018302840111600160201b8311171561021b57600080fd5b919390929091602081019035600160201b81111561023857600080fd5b82018360208201111561024a57600080fd5b803590602001918460018302840111600160201b8311171561026b57600080fd5b5090925090506108d6565b005b34801561028457600080fd5b50610123610b10565b34801561029957600080fd5b50610123610b34565b3480156102ae57600080fd5b50610276600480360360608110156102c557600080fd5b6001600160a01b038235169190810190604081016020820135600160201b8111156102ef57600080fd5b82018360208201111561030157600080fd5b803590602001918460018302840111600160201b8311171561032257600080fd5b919390929091602081019035600160201b81111561033f57600080fd5b82018360208201111561035157600080fd5b803590602001918460018302840111600160201b8311171561037257600080fd5b509092509050610b58565b34801561038957600080fd5b50610276600480360360608110156103a057600080fd5b6001600160a01b038235169190810190604081016020820135600160201b8111156103ca57600080fd5b8201836020820111156103dc57600080fd5b803590602001918460018302840111600160201b831117156103fd57600080fd5b919390929091602081019035600160201b81111561041a57600080fd5b82018360208201111561042c57600080fd5b803590602001918460018302840111600160201b8311171561044d57600080fd5b509092509050610c1d565b34801561046457600080fd5b50610123610d55565b34801561047957600080fd5b50610123610d79565b34801561048e57600080fd5b50610276600480360360608110156104a557600080fd5b6001600160a01b038235169190810190604081016020820135600160201b8111156104cf57600080fd5b8201836020820111156104e157600080fd5b803590602001918460018302840111600160201b8311171561050257600080fd5b919390929091602081019035600160201b81111561051f57600080fd5b82018360208201111561053157600080fd5b803590602001918460018302840111600160201b8311171561055257600080fd5b509092509050610d9d565b34801561056957600080fd5b50610123610e53565b34801561057e57600080fd5b5061060c6004803603606081101561059557600080fd5b6001600160a01b03823516916001600160e01b031960208201351691810190606081016040820135600160201b8111156105ce57600080fd5b8201836020820111156105e057600080fd5b803590602001918460018302840111600160201b8311171561060157600080fd5b509092509050610e77565b6040518086600281111561061c57fe5b815260200180602001806020018060200180602001858103855289818151815260200191508051906020019060200280838360005b83811015610669578181015183820152602001610651565b50505050905001858103845288818151815260200191508051906020019060200280838360005b838110156106a8578181015183820152602001610690565b50505050905001858103835287818151815260200191508051906020019060200280838360005b838110156106e75781810151838201526020016106cf565b50505050905001858103825286818151815260200191508051906020019060200280838360005b8381101561072657818101518382015260200161070e565b50505050905001995050505050505050505060405180910390f35b34801561074d57600080fd5b50610155610f7c565b34801561076257600080fd5b50610123610fa0565b34801561077757600080fd5b506102766004803603606081101561078e57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b8111156107b857600080fd5b8201836020820111156107ca57600080fd5b803590602001918460018302840111600160201b831117156107eb57600080fd5b919390929091602081019035600160201b81111561080857600080fd5b82018360208201111561081a57600080fd5b803590602001918460018302840111600160201b8311171561083b57600080fd5b509092509050610fc4565b7f8334eb99be0145865eba9889fca2ee920288090caefff4cc776038e20ad9259a81565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f29fa046e79524c3c5ac4c01df692c35e217802b2b13b21121b76cf0ef02b138c81565b7f099f75155f0e997bf83a7993a71d5e7e7540bd386fe1e84643a09ce6b412521981565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461093d5760405162461bcd60e51b81526004018080602001828103825260328152602001806137616032913960400191505060405180910390fd5b60006060600080600061098589898080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506110e192505050565b9450945094509450945060606109d088888080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506111b592505050565b5050905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316631f5bce55886040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610a4357600080fd5b505afa158015610a57573d6000803e3d6000fd5b505050506040513d6020811015610a6d57600080fd5b50519050610a7e8783888787611372565b610b02858d836001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610ad057600080fd5b505afa158015610ae4573d6000803e3d6000fd5b505050506040513d6020811015610afa57600080fd5b505184611626565b505050505050505050505050565b7ffa7dd04da627f433da73c4355ead9c75682a67a8fc84d3f6170ef0922f402d2481565b7fb9dfbaccbe5cd2a84fdcf1d15f23ef25d23086f5afbaa99516065ed4a5bbc7a381565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610bbf5760405162461bcd60e51b81526004018080602001828103825260328152602001806137616032913960400191505060405180910390fd5b600080610c0186868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061169c92505050565b9250925050610c148288898460006116d0565b50505050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610c845760405162461bcd60e51b81526004018080602001828103825260328152602001806137616032913960400191505060405180910390fd5b8482828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250604080516020601f8c018190048102820181019092528a815291945084935083925082918291606091610d04918e908e90819084018382808284376000920191909152506117d592505050565b955095509550955095509550610d1e858e308760006116d0565b610d2b86858585856118d8565b5050505050506060610d3c826111b5565b92505050610d4a8382611924565b505050505050505050565b7f03e38a2bd7063d45c897edeafc330e71657502dd86434d3c37a489caf116af6981565b7f68e30677f607df46e87da13e15b637784cfa62374b653f35ab43d10361a2f83081565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610e045760405162461bcd60e51b81526004018080602001828103825260328152602001806137616032913960400191505060405180910390fd5b610e4c610e4685858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611a7f92505050565b86611aa0565b5050505050565b7f0e7f692dad5b88fdee426250d6eae91207e56a2e8112b7364579bed1790e5bf481565b600060608080806001600160e01b03198816632e77eeb360e21b1415610eae57610e9f611c42565b94509450945094509450610f71565b6001600160e01b031988166314fd023760e11b1415610ed157610e9f8787611ca2565b6001600160e01b0319881663fa7dd04d60e01b1415610ef457610e9f8787611da7565b6001600160e01b031988166368e3067760e01b1415610f1757610e9f8787611f9e565b6001600160e01b03198816638334eb9960e01b1415610f3a57610e9f8787612195565b60405162461bcd60e51b81526004018080602001828103825260278152602001806138146027913960400191505060405180910390fd5b945094509450945094565b7f000000000000000000000000000000000000000000000000000000000000000090565b7fc29fa9dde84204c2908778afd0613d802d31cf046179b88f6d2b4a4e507ea2d581565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461102b5760405162461bcd60e51b81526004018080602001828103825260328152602001806137616032913960400191505060405180910390fd5b60008061106d86868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061169c92505050565b925092505060606110b385858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506111b592505050565b505090506110d7838984846000815181106110ca57fe5b6020026020010151611626565b5050505050505050565b6000606060008060008580602001905160a08110156110ff57600080fd5b815160208301805160405192949293830192919084600160201b82111561112557600080fd5b90830190602082018581111561113a57600080fd5b82518660208202830111600160201b8211171561115657600080fd5b82525081516020918201928201910280838360005b8381101561118357818101518382015260200161116b565b50505050919091016040908152602083015190830151606090930151969d959c509a5090985093965091945050505050565b60608060608380602001905160608110156111cf57600080fd5b8101908080516040519392919084600160201b8211156111ee57600080fd5b90830190602082018581111561120357600080fd5b82518660208202830111600160201b8211171561121f57600080fd5b82525081516020918201928201910280838360005b8381101561124c578181015183820152602001611234565b5050505090500160405260200180516040519392919084600160201b82111561127457600080fd5b90830190602082018581111561128957600080fd5b82518660208202830111600160201b821117156112a557600080fd5b82525081516020918201928201910280838360005b838110156112d25781810151838201526020016112ba565b5050505090500160405260200180516040519392919084600160201b8211156112fa57600080fd5b90830190602082018581111561130f57600080fd5b82518660208202830111600160201b8211171561132b57600080fd5b82525081516020918201928201910280838360005b83811015611358578181015183820152602001611340565b505050509050016040525050509250925092509193909250565b6000805b85518110156114e55761138761086a565b6001600160a01b031686828151811061139c57fe5b60200260200101516001600160a01b0316141561149f576113bb61086a565b6001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561140757600080fd5b505afa15801561141b573d6000803e3d6000fd5b505050506040513d602081101561143157600080fd5b5051915061143d61086a565b6001600160a01b0316632e1a7d4d836040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561148257600080fd5b505af1158015611496573d6000803e3d6000fd5b505050506114dd565b6114dd8682815181106114ae57fe5b6020026020010151887f161bcca7119915b50764b4abe86529797775a5f171951000000000000000000061229e565b600101611376565b5060006060876001600160a01b03168361150088888861235c565b6040518082805190602001908083835b6020831061152f5780518252601f199092019160209182019101611510565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114611591576040519150601f19603f3d011682016040523d82523d6000602084013e611596565b606091505b5091509150818190610d4a5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156115eb5781810151838201526020016115d3565b50505050905090810190601f1680156116185780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b61163181858461229e565b836001600160a01b031663ffaad6a584846040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561168857600080fd5b505af11580156110d7573d6000803e3d6000fd5b60008060008380602001905160608110156116b657600080fd5b508051602082015160409092015190969195509350915050565b6001600160a01b03841630141561175f57846001600160a01b03166373e2290c8484846040518463ffffffff1660e01b815260040180846001600160a01b0316815260200183815260200182151581526020019350505050600060405180830381600087803b15801561174257600080fd5b505af1158015611756573d6000803e3d6000fd5b50505050610e4c565b6040805163167d7d5f60e11b81526001600160a01b0386811660048301528581166024830152604482018590528315156064830152915191871691632cfafabe9160848082019260009290919082900301818387803b1580156117c157600080fd5b505af1158015610d4a573d6000803e3d6000fd5b600080600080600060608680602001905160c08110156117f457600080fd5b815160208301516040808501516060860151608087015160a088018051945196989597939692959194929382019284600160201b82111561183457600080fd5b90830190602082018581111561184957600080fd5b8251600160201b81118282018810171561186257600080fd5b82525081516020918201929091019080838360005b8381101561188f578181015183820152602001611877565b50505050905090810190601f1680156118bc5780820380516001836020036101000a031916815260200191505b5060405250505095509550955095509550955091939550919395565b60018260018111156118e657fe5b1415611910576000806118f8836124ad565b9150915061190987878484896124d8565b5050610e4c565b610e4c858561191e84612685565b8661272d565b6060815167ffffffffffffffff8111801561193e57600080fd5b50604051908082528060200260200182016040528015611968578160200160208202803683370190505b50905060005b8251811015611a7857600083828151811061198557fe5b60200260200101519050806001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156119dc57600080fd5b505afa1580156119f0573d6000803e3d6000fd5b505050506040513d6020811015611a0657600080fd5b50518351849084908110611a1657fe5b6020026020010181815250506000838381518110611a3057fe5b60200260200101511115611a6f57611a6f85848481518110611a4e57fe5b6020026020010151836001600160a01b03166128409092919063ffffffff16565b5060010161196e565b5092915050565b6000818060200190516020811015611a9657600080fd5b505190505b919050565b816001600160a01b0316631ac6d19d826040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050600060405180830381600087803b158015611aef57600080fd5b505af1158015611b03573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040908152811015611b2c57600080fd5b8101908080516040519392919084600160201b821115611b4b57600080fd5b908301906020820185811115611b6057600080fd5b82518660208202830111600160201b82111715611b7c57600080fd5b82525081516020918201928201910280838360005b83811015611ba9578181015183820152602001611b91565b5050505090500160405260200180516040519392919084600160201b821115611bd157600080fd5b908301906020820185811115611be657600080fd5b82518660208202830111600160201b82111715611c0257600080fd5b82525081516020918201928201910280838360005b83811015611c2f578181015183820152602001611c17565b5050505090500160405250505050505050565b600060608080808480604051908082528060200260200182016040528015611c74578160200160208202803683370190505b5060408051600080825260208201818152828401918252606083019093529399929850965094509092509050565b6000606080606080600060606000806000611cf28c8c8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506110e192505050565b94509450945094509450611d068584612897565b611d11858583612a15565b604080516001808252818301909252929b50909950602080830190803683370190505096508287600081518110611d4457fe5b6001600160a01b03929092166020928302919091018201526040805160018082528183019092529182810190803683370190505095508186600081518110611d8857fe5b6020026020010181815250506002995050505050509295509295909350565b6000606080606080600080611df189898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061169c92505050565b604080516001808252818301909252929550909350909150602080830190803683370190505095507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663456b4a37836040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015611e8657600080fd5b505afa158015611e9a573d6000803e3d6000fd5b505050506040513d6020811015611eb057600080fd5b505186518790600090611ebf57fe5b6001600160a01b03929092166020928302919091018201526040805160018082528183019092529182810190803683370190505094508085600081518110611f0357fe5b6020908102919091010152604080516001808252818301909252908160200160208202803683370190505093508184600081518110611f3e57fe5b6001600160a01b03929092166020928302919091018201526040805160018082528183019092529182810190803683370190505092508083600081518110611f8257fe5b6020026020010181815250506002965050509295509295909350565b6000606080606080600080611fe889898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061169c92505050565b60408051600180825281830190925292955090935090915060208083019080368337019050509550818660008151811061201e57fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509450808560008151811061206257fe5b6020908102919091010152604080516001808252818301909252908160200160208202803683370190505093507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663456b4a37836040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156120fc57600080fd5b505afa158015612110573d6000803e3d6000fd5b505050506040513d602081101561212657600080fd5b50518451859060009061213557fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509250808360008151811061217957fe5b6020026020010181815250506001965050509295509295909350565b6000606080606080600080600080600060606121e68d8d8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506117d592505050565b9550955095509550955095506121fc8686612897565b6040805160018082528183019092529060208083019080368337019050509950848a60008151811061222a57fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509850838960008151811061226e57fe5b60200260200101818152505061228686848484612b8a565b60019f9b9e50999c509a509798975050505050505050565b60408051636eb1769f60e11b81523060048201526001600160a01b038481166024830152915160009286169163dd62ed3e916044808301926020929190829003018186803b1580156122ef57600080fd5b505afa158015612303573d6000803e3d6000fd5b505050506040513d602081101561231957600080fd5b5051905081811015612356578015612340576123406001600160a01b038516846000612cdf565b6123566001600160a01b03851684600019612cdf565b50505050565b60608082156123865750604080516001602080830191909152825180830390910181529082019091525b612391855184612df2565b8560405160200180828051906020019060200280838360005b838110156123c25781810151838201526020016123aa565b50505050905001915050604051602081830303815290604052858360405160200180856001600160e01b031916815260040184805190602001908083835b6020831061241f5780518252601f199092019160209182019101612400565b51815160209384036101000a60001901801990921691161790529201858152845190830192850191508083835b6020831061246b5780518252601f19909201916020918201910161244c565b6001836020036101000a0380198251168184511680821785525050505050509050019450505050506040516020818303038152906040529150505b9392505050565b6000808280602001905160408110156124c557600080fd5b5080516020909101519092509050915091565b6060811561253957506040805160248101869052600f85900b60448201526064810184905260016084808301919091528251808303909101815260a49091019091526020810180516001600160e01b031663517a55a360e01b179052612584565b506040805160248101869052600f85900b604482015260648082018590528251808303909101815260849091019091526020810180516001600160e01b0316630d2680e960e11b1790525b60006060876001600160a01b0316836040518082805190602001908083835b602083106125c25780518252601f1990920191602091820191016125a3565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612624576040519150601f19603f3d011682016040523d82523d6000602084013e612629565b606091505b509150915081819061267c5760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156115eb5781810151838201526020016115d3565b506110d7612f2e565b606081806020019051602081101561269c57600080fd5b8101908080516040519392919084600160201b8211156126bb57600080fd5b9083019060208201858111156126d057600080fd5b82518660208202830111600160201b821117156126ec57600080fd5b82525081516020918201928201910280838360005b83811015612719578181015183820152602001612701565b505050509050016040525050509050919050565b60006060856001600160a01b0316612746868686612f8f565b6040518082805190602001908083835b602083106127755780518252601f199092019160209182019101612756565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146127d7576040519150601f19603f3d011682016040523d82523d6000602084013e6127dc565b606091505b509150915081819061282f5760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156115eb5781810151838201526020016115d3565b50612838612f2e565b505050505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526128929084906130a2565b505050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663456b4a37836040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561290657600080fd5b505afa15801561291a573d6000803e3d6000fd5b505050506040513d602081101561293057600080fd5b505160408051631f5bce5560e01b81526001600160a01b03868116600483015291519293507f000000000000000000000000000000000000000000000000000000000000000090911691631f5bce5591602480820192602092909190829003018186803b1580156129a057600080fd5b505afa1580156129b4573d6000803e3d6000fd5b505050506040513d60208110156129ca57600080fd5b50516001600160a01b038281169116146128925760405162461bcd60e51b81526004018080602001828103825260218152602001806137936021913960400191505060405180910390fd5b6060806000805b8551811015612a50576000868281518110612a3357fe5b60200260200101511115612a48576001909101905b600101612a1c565b508067ffffffffffffffff81118015612a6857600080fd5b50604051908082528060200260200182016040528015612a92578160200160208202803683370190505b5092508067ffffffffffffffff81118015612aac57600080fd5b50604051908082528060200260200182016040528015612ad6578160200160208202803683370190505b5091506000805b8651811015612b7f576000878281518110612af457fe5b60200260200101511115612b7757612b0d888288613153565b858381518110612b1957fe5b60200260200101906001600160a01b031690816001600160a01b031681525050868181518110612b4557fe5b6020026020010151848381518110612b5957fe5b602090810291909101015260019091019082821415612b7757612b7f565b600101612add565b505050935093915050565b6060806001846001811115612b9b57fe5b1415612c4157600080612bad856124ad565b60408051600180825281830190925292945090925060208083019080368337019050509350612bdd888389613153565b84600081518110612bea57fe5b6001600160a01b03929092166020928302919091018201526040805160018082528183019092529182810190803683370190505092508083600081518110612c2e57fe5b6020026020010181815250505050612cd6565b612c4a83612685565b9050805167ffffffffffffffff81118015612c6457600080fd5b50604051908082528060200260200182016040528015612c8e578160200160208202803683370190505b50915060005b8251811015612cd457612ca8878288613153565b838281518110612cb457fe5b6001600160a01b0390921660209283029190910190910152600101612c94565b505b94509492505050565b801580612d65575060408051636eb1769f60e11b81523060048201526001600160a01b03848116602483015291519185169163dd62ed3e91604480820192602092909190829003018186803b158015612d3757600080fd5b505afa158015612d4b573d6000803e3d6000fd5b505050506040513d6020811015612d6157600080fd5b5051155b612da05760405162461bcd60e51b81526004018080602001828103825260368152602001806137de6036913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526128929084906130a2565b600060608215612e1a57506040805180820190915260058152640b189bdbdb60da1b60208201525b612e2384613345565b816040516020018080756164645f6c69717569646974792875696e743235365b60501b81525060160183805190602001908083835b60208310612e775780518252601f199092019160209182019101612e58565b51815160209384036101000a600019018019909216911617905261174b60f21b91909301908152663ab4b73a191a9b60c91b60028201528451600990910192850191508083835b60208310612edd5780518252601f199092019160209182019101612ebe565b6001836020036101000a03801982511681845116808217855250505050505090500180602960f81b815250600101925050506040516020818303038152906040528051906020012091505092915050565b30318015612f8c57612f3e61086a565b6001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b158015612f7857600080fd5b505af1158015612838573d6000803e3d6000fd5b50565b6060808215612fb95750604080516001602080830191909152825180830390910181529082019091525b612fc4845184613420565b858560405160200180828051906020019060200280838360005b83811015612ff6578181015183820152602001612fde565b505050509050019150506040516020818303038152906040528360405160200180856001600160e01b031916815260040184815260200183805190602001908083835b602083106130585780518252601f199092019160209182019101613039565b51815160001960209485036101000a019081169019919091161790528551939091019290850191508083836020831061246b5780518252601f19909201916020918201910161244c565b60606130f7826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166135149092919063ffffffff16565b8051909150156128925780806020019051602081101561311657600080fd5b50516128925760405162461bcd60e51b815260040180806020018281038252602a8152602001806137b4602a913960400191505060405180910390fd5b6000811561324a57836001600160a01b031663b9947eb0846040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561319f57600080fd5b505afa9250505080156131c457506040513d60208110156131bf57600080fd5b505160015b61324257836001600160a01b031663b739953e846040518263ffffffff1660e01b81526004018082600f0b815260200191505060206040518083038186803b15801561320f57600080fd5b505afa158015613223573d6000803e3d6000fd5b505050506040513d602081101561323957600080fd5b50519050613245565b90505b613334565b836001600160a01b031663c6610657846040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561328e57600080fd5b505afa9250505080156132b357506040513d60208110156132ae57600080fd5b505160015b61333157836001600160a01b03166323746eb8846040518263ffffffff1660e01b81526004018082600f0b815260200191505060206040518083038186803b1580156132fe57600080fd5b505afa158015613312573d6000803e3d6000fd5b505050506040513d602081101561332857600080fd5b50519050613334565b90505b61333d81613523565b949350505050565b60608161336a57506040805180820190915260018152600360fc1b6020820152611a9b565b8160005b811561338257600101600a8204915061336e565b60608167ffffffffffffffff8111801561339b57600080fd5b506040519080825280601f01601f1916602001820160405280156133c6576020820181803683370190505b50859350905060001982015b831561341757600a840660300160f81b828280600190039350815181106133f557fe5b60200101906001600160f81b031916908160001a905350600a840493506133d2565b50949350505050565b60006060821561344857506040805180820190915260058152640b189bdbdb60da1b60208201525b61345184613345565b6040517f72656d6f76655f6c69717569646974792875696e743235362c0000000000000060208083019182526775696e743235365b60c01b603984015283518593604101918501908083835b602083106134bc5780518252601f19909201916020918201910161349d565b6001836020036101000a03801982511681845116808217855250505050505090500180605d60f81b815250600101828051906020019080838360208310612edd5780518252601f199092019160209182019101612ebe565b606061333d8484600085613572565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316141561356e5761356761086a565b9050611a9b565b5090565b6060824710156135b35760405162461bcd60e51b815260040180806020018281038252602681526020018061373b6026913960400191505060405180910390fd5b6135bc856136ce565b61360d576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b6020831061364c5780518252601f19909201916020918201910161362d565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146136ae576040519150601f19603f3d011682016040523d82523d6000602084013e6136b3565b606091505b50915091506136c38282866136d4565b979650505050505050565b3b151590565b606083156136e35750816124a6565b8251156136f35782518084602001fd5b60405162461bcd60e51b81526020600482018181528451602484015284518593919283926044019190850190808383600083156115eb5781810151838201526020016115d356fe416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c4f6e6c792074686520496e746567726174696f6e4d616e616765722063616e2063616c6c20746869732066756e6374696f6e5f5f76616c6964617465506f6f6c466f72577261707065723a20496e76616c69645361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e63657061727365417373657473466f72416374696f6e3a205f73656c6563746f7220696e76616c6964a164736f6c634300060c000a", "sourceMap": "934:13674:166:-:0;;;1190:519;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1190:519:166;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1938:41:179;;;;;;;;1247:58:189;;;;;1190:519:166;1247:58:189;1015::203;;;;;::::2;::::0;1518:59:166;;;;;::::1;::::0;1587:115;;;;::::1;::::0;934:13674;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x6080604052600436106101025760003560e01c80638334eb9911610095578063c32990a211610064578063c32990a21461055d578063c54efee514610572578063e7c4569014610741578063f7d882b514610756578063fa7dd04d1461076b57610109565b80638334eb991461037d578063863e5ad014610458578063b23228cf1461046d578063b9dfbacc1461048257610109565b806329fa046e116100d157806329fa046e1461019b5780633ffc15911461027857806340da225d1461028d57806368e30677146102a257610109565b8063080456c11461010e57806312c9d38614610140578063131461c014610171578063257cb1a31461018657610109565b3661010957005b600080fd5b34801561011a57600080fd5b50610123610846565b604080516001600160e01b03199092168252519081900360200190f35b34801561014c57600080fd5b5061015561086a565b604080516001600160a01b039092168252519081900360200190f35b34801561017d57600080fd5b5061012361088e565b34801561019257600080fd5b506101236108b2565b3480156101a757600080fd5b50610276600480360360608110156101be57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b8111156101e857600080fd5b8201836020820111156101fa57600080fd5b803590602001918460018302840111600160201b8311171561021b57600080fd5b919390929091602081019035600160201b81111561023857600080fd5b82018360208201111561024a57600080fd5b803590602001918460018302840111600160201b8311171561026b57600080fd5b5090925090506108d6565b005b34801561028457600080fd5b50610123610b10565b34801561029957600080fd5b50610123610b34565b3480156102ae57600080fd5b50610276600480360360608110156102c557600080fd5b6001600160a01b038235169190810190604081016020820135600160201b8111156102ef57600080fd5b82018360208201111561030157600080fd5b803590602001918460018302840111600160201b8311171561032257600080fd5b919390929091602081019035600160201b81111561033f57600080fd5b82018360208201111561035157600080fd5b803590602001918460018302840111600160201b8311171561037257600080fd5b509092509050610b58565b34801561038957600080fd5b50610276600480360360608110156103a057600080fd5b6001600160a01b038235169190810190604081016020820135600160201b8111156103ca57600080fd5b8201836020820111156103dc57600080fd5b803590602001918460018302840111600160201b831117156103fd57600080fd5b919390929091602081019035600160201b81111561041a57600080fd5b82018360208201111561042c57600080fd5b803590602001918460018302840111600160201b8311171561044d57600080fd5b509092509050610c1d565b34801561046457600080fd5b50610123610d55565b34801561047957600080fd5b50610123610d79565b34801561048e57600080fd5b50610276600480360360608110156104a557600080fd5b6001600160a01b038235169190810190604081016020820135600160201b8111156104cf57600080fd5b8201836020820111156104e157600080fd5b803590602001918460018302840111600160201b8311171561050257600080fd5b919390929091602081019035600160201b81111561051f57600080fd5b82018360208201111561053157600080fd5b803590602001918460018302840111600160201b8311171561055257600080fd5b509092509050610d9d565b34801561056957600080fd5b50610123610e53565b34801561057e57600080fd5b5061060c6004803603606081101561059557600080fd5b6001600160a01b03823516916001600160e01b031960208201351691810190606081016040820135600160201b8111156105ce57600080fd5b8201836020820111156105e057600080fd5b803590602001918460018302840111600160201b8311171561060157600080fd5b509092509050610e77565b6040518086600281111561061c57fe5b815260200180602001806020018060200180602001858103855289818151815260200191508051906020019060200280838360005b83811015610669578181015183820152602001610651565b50505050905001858103845288818151815260200191508051906020019060200280838360005b838110156106a8578181015183820152602001610690565b50505050905001858103835287818151815260200191508051906020019060200280838360005b838110156106e75781810151838201526020016106cf565b50505050905001858103825286818151815260200191508051906020019060200280838360005b8381101561072657818101518382015260200161070e565b50505050905001995050505050505050505060405180910390f35b34801561074d57600080fd5b50610155610f7c565b34801561076257600080fd5b50610123610fa0565b34801561077757600080fd5b506102766004803603606081101561078e57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b8111156107b857600080fd5b8201836020820111156107ca57600080fd5b803590602001918460018302840111600160201b831117156107eb57600080fd5b919390929091602081019035600160201b81111561080857600080fd5b82018360208201111561081a57600080fd5b803590602001918460018302840111600160201b8311171561083b57600080fd5b509092509050610fc4565b7f8334eb99be0145865eba9889fca2ee920288090caefff4cc776038e20ad9259a81565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f29fa046e79524c3c5ac4c01df692c35e217802b2b13b21121b76cf0ef02b138c81565b7f099f75155f0e997bf83a7993a71d5e7e7540bd386fe1e84643a09ce6b412521981565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461093d5760405162461bcd60e51b81526004018080602001828103825260328152602001806137616032913960400191505060405180910390fd5b60006060600080600061098589898080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506110e192505050565b9450945094509450945060606109d088888080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506111b592505050565b5050905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316631f5bce55886040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610a4357600080fd5b505afa158015610a57573d6000803e3d6000fd5b505050506040513d6020811015610a6d57600080fd5b50519050610a7e8783888787611372565b610b02858d836001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610ad057600080fd5b505afa158015610ae4573d6000803e3d6000fd5b505050506040513d6020811015610afa57600080fd5b505184611626565b505050505050505050505050565b7ffa7dd04da627f433da73c4355ead9c75682a67a8fc84d3f6170ef0922f402d2481565b7fb9dfbaccbe5cd2a84fdcf1d15f23ef25d23086f5afbaa99516065ed4a5bbc7a381565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610bbf5760405162461bcd60e51b81526004018080602001828103825260328152602001806137616032913960400191505060405180910390fd5b600080610c0186868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061169c92505050565b9250925050610c148288898460006116d0565b50505050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610c845760405162461bcd60e51b81526004018080602001828103825260328152602001806137616032913960400191505060405180910390fd5b8482828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250604080516020601f8c018190048102820181019092528a815291945084935083925082918291606091610d04918e908e90819084018382808284376000920191909152506117d592505050565b955095509550955095509550610d1e858e308760006116d0565b610d2b86858585856118d8565b5050505050506060610d3c826111b5565b92505050610d4a8382611924565b505050505050505050565b7f03e38a2bd7063d45c897edeafc330e71657502dd86434d3c37a489caf116af6981565b7f68e30677f607df46e87da13e15b637784cfa62374b653f35ab43d10361a2f83081565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610e045760405162461bcd60e51b81526004018080602001828103825260328152602001806137616032913960400191505060405180910390fd5b610e4c610e4685858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611a7f92505050565b86611aa0565b5050505050565b7f0e7f692dad5b88fdee426250d6eae91207e56a2e8112b7364579bed1790e5bf481565b600060608080806001600160e01b03198816632e77eeb360e21b1415610eae57610e9f611c42565b94509450945094509450610f71565b6001600160e01b031988166314fd023760e11b1415610ed157610e9f8787611ca2565b6001600160e01b0319881663fa7dd04d60e01b1415610ef457610e9f8787611da7565b6001600160e01b031988166368e3067760e01b1415610f1757610e9f8787611f9e565b6001600160e01b03198816638334eb9960e01b1415610f3a57610e9f8787612195565b60405162461bcd60e51b81526004018080602001828103825260278152602001806138146027913960400191505060405180910390fd5b945094509450945094565b7f000000000000000000000000000000000000000000000000000000000000000090565b7fc29fa9dde84204c2908778afd0613d802d31cf046179b88f6d2b4a4e507ea2d581565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461102b5760405162461bcd60e51b81526004018080602001828103825260328152602001806137616032913960400191505060405180910390fd5b60008061106d86868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061169c92505050565b925092505060606110b385858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506111b592505050565b505090506110d7838984846000815181106110ca57fe5b6020026020010151611626565b5050505050505050565b6000606060008060008580602001905160a08110156110ff57600080fd5b815160208301805160405192949293830192919084600160201b82111561112557600080fd5b90830190602082018581111561113a57600080fd5b82518660208202830111600160201b8211171561115657600080fd5b82525081516020918201928201910280838360005b8381101561118357818101518382015260200161116b565b50505050919091016040908152602083015190830151606090930151969d959c509a5090985093965091945050505050565b60608060608380602001905160608110156111cf57600080fd5b8101908080516040519392919084600160201b8211156111ee57600080fd5b90830190602082018581111561120357600080fd5b82518660208202830111600160201b8211171561121f57600080fd5b82525081516020918201928201910280838360005b8381101561124c578181015183820152602001611234565b5050505090500160405260200180516040519392919084600160201b82111561127457600080fd5b90830190602082018581111561128957600080fd5b82518660208202830111600160201b821117156112a557600080fd5b82525081516020918201928201910280838360005b838110156112d25781810151838201526020016112ba565b5050505090500160405260200180516040519392919084600160201b8211156112fa57600080fd5b90830190602082018581111561130f57600080fd5b82518660208202830111600160201b8211171561132b57600080fd5b82525081516020918201928201910280838360005b83811015611358578181015183820152602001611340565b505050509050016040525050509250925092509193909250565b6000805b85518110156114e55761138761086a565b6001600160a01b031686828151811061139c57fe5b60200260200101516001600160a01b0316141561149f576113bb61086a565b6001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561140757600080fd5b505afa15801561141b573d6000803e3d6000fd5b505050506040513d602081101561143157600080fd5b5051915061143d61086a565b6001600160a01b0316632e1a7d4d836040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561148257600080fd5b505af1158015611496573d6000803e3d6000fd5b505050506114dd565b6114dd8682815181106114ae57fe5b6020026020010151887f161bcca7119915b50764b4abe86529797775a5f171951000000000000000000061229e565b600101611376565b5060006060876001600160a01b03168361150088888861235c565b6040518082805190602001908083835b6020831061152f5780518252601f199092019160209182019101611510565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114611591576040519150601f19603f3d011682016040523d82523d6000602084013e611596565b606091505b5091509150818190610d4a5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156115eb5781810151838201526020016115d3565b50505050905090810190601f1680156116185780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b61163181858461229e565b836001600160a01b031663ffaad6a584846040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561168857600080fd5b505af11580156110d7573d6000803e3d6000fd5b60008060008380602001905160608110156116b657600080fd5b508051602082015160409092015190969195509350915050565b6001600160a01b03841630141561175f57846001600160a01b03166373e2290c8484846040518463ffffffff1660e01b815260040180846001600160a01b0316815260200183815260200182151581526020019350505050600060405180830381600087803b15801561174257600080fd5b505af1158015611756573d6000803e3d6000fd5b50505050610e4c565b6040805163167d7d5f60e11b81526001600160a01b0386811660048301528581166024830152604482018590528315156064830152915191871691632cfafabe9160848082019260009290919082900301818387803b1580156117c157600080fd5b505af1158015610d4a573d6000803e3d6000fd5b600080600080600060608680602001905160c08110156117f457600080fd5b815160208301516040808501516060860151608087015160a088018051945196989597939692959194929382019284600160201b82111561183457600080fd5b90830190602082018581111561184957600080fd5b8251600160201b81118282018810171561186257600080fd5b82525081516020918201929091019080838360005b8381101561188f578181015183820152602001611877565b50505050905090810190601f1680156118bc5780820380516001836020036101000a031916815260200191505b5060405250505095509550955095509550955091939550919395565b60018260018111156118e657fe5b1415611910576000806118f8836124ad565b9150915061190987878484896124d8565b5050610e4c565b610e4c858561191e84612685565b8661272d565b6060815167ffffffffffffffff8111801561193e57600080fd5b50604051908082528060200260200182016040528015611968578160200160208202803683370190505b50905060005b8251811015611a7857600083828151811061198557fe5b60200260200101519050806001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156119dc57600080fd5b505afa1580156119f0573d6000803e3d6000fd5b505050506040513d6020811015611a0657600080fd5b50518351849084908110611a1657fe5b6020026020010181815250506000838381518110611a3057fe5b60200260200101511115611a6f57611a6f85848481518110611a4e57fe5b6020026020010151836001600160a01b03166128409092919063ffffffff16565b5060010161196e565b5092915050565b6000818060200190516020811015611a9657600080fd5b505190505b919050565b816001600160a01b0316631ac6d19d826040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050600060405180830381600087803b158015611aef57600080fd5b505af1158015611b03573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040908152811015611b2c57600080fd5b8101908080516040519392919084600160201b821115611b4b57600080fd5b908301906020820185811115611b6057600080fd5b82518660208202830111600160201b82111715611b7c57600080fd5b82525081516020918201928201910280838360005b83811015611ba9578181015183820152602001611b91565b5050505090500160405260200180516040519392919084600160201b821115611bd157600080fd5b908301906020820185811115611be657600080fd5b82518660208202830111600160201b82111715611c0257600080fd5b82525081516020918201928201910280838360005b83811015611c2f578181015183820152602001611c17565b5050505090500160405250505050505050565b600060608080808480604051908082528060200260200182016040528015611c74578160200160208202803683370190505b5060408051600080825260208201818152828401918252606083019093529399929850965094509092509050565b6000606080606080600060606000806000611cf28c8c8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506110e192505050565b94509450945094509450611d068584612897565b611d11858583612a15565b604080516001808252818301909252929b50909950602080830190803683370190505096508287600081518110611d4457fe5b6001600160a01b03929092166020928302919091018201526040805160018082528183019092529182810190803683370190505095508186600081518110611d8857fe5b6020026020010181815250506002995050505050509295509295909350565b6000606080606080600080611df189898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061169c92505050565b604080516001808252818301909252929550909350909150602080830190803683370190505095507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663456b4a37836040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015611e8657600080fd5b505afa158015611e9a573d6000803e3d6000fd5b505050506040513d6020811015611eb057600080fd5b505186518790600090611ebf57fe5b6001600160a01b03929092166020928302919091018201526040805160018082528183019092529182810190803683370190505094508085600081518110611f0357fe5b6020908102919091010152604080516001808252818301909252908160200160208202803683370190505093508184600081518110611f3e57fe5b6001600160a01b03929092166020928302919091018201526040805160018082528183019092529182810190803683370190505092508083600081518110611f8257fe5b6020026020010181815250506002965050509295509295909350565b6000606080606080600080611fe889898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061169c92505050565b60408051600180825281830190925292955090935090915060208083019080368337019050509550818660008151811061201e57fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509450808560008151811061206257fe5b6020908102919091010152604080516001808252818301909252908160200160208202803683370190505093507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663456b4a37836040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156120fc57600080fd5b505afa158015612110573d6000803e3d6000fd5b505050506040513d602081101561212657600080fd5b50518451859060009061213557fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509250808360008151811061217957fe5b6020026020010181815250506001965050509295509295909350565b6000606080606080600080600080600060606121e68d8d8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506117d592505050565b9550955095509550955095506121fc8686612897565b6040805160018082528183019092529060208083019080368337019050509950848a60008151811061222a57fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509850838960008151811061226e57fe5b60200260200101818152505061228686848484612b8a565b60019f9b9e50999c509a509798975050505050505050565b60408051636eb1769f60e11b81523060048201526001600160a01b038481166024830152915160009286169163dd62ed3e916044808301926020929190829003018186803b1580156122ef57600080fd5b505afa158015612303573d6000803e3d6000fd5b505050506040513d602081101561231957600080fd5b5051905081811015612356578015612340576123406001600160a01b038516846000612cdf565b6123566001600160a01b03851684600019612cdf565b50505050565b60608082156123865750604080516001602080830191909152825180830390910181529082019091525b612391855184612df2565b8560405160200180828051906020019060200280838360005b838110156123c25781810151838201526020016123aa565b50505050905001915050604051602081830303815290604052858360405160200180856001600160e01b031916815260040184805190602001908083835b6020831061241f5780518252601f199092019160209182019101612400565b51815160209384036101000a60001901801990921691161790529201858152845190830192850191508083835b6020831061246b5780518252601f19909201916020918201910161244c565b6001836020036101000a0380198251168184511680821785525050505050509050019450505050506040516020818303038152906040529150505b9392505050565b6000808280602001905160408110156124c557600080fd5b5080516020909101519092509050915091565b6060811561253957506040805160248101869052600f85900b60448201526064810184905260016084808301919091528251808303909101815260a49091019091526020810180516001600160e01b031663517a55a360e01b179052612584565b506040805160248101869052600f85900b604482015260648082018590528251808303909101815260849091019091526020810180516001600160e01b0316630d2680e960e11b1790525b60006060876001600160a01b0316836040518082805190602001908083835b602083106125c25780518252601f1990920191602091820191016125a3565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612624576040519150601f19603f3d011682016040523d82523d6000602084013e612629565b606091505b509150915081819061267c5760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156115eb5781810151838201526020016115d3565b506110d7612f2e565b606081806020019051602081101561269c57600080fd5b8101908080516040519392919084600160201b8211156126bb57600080fd5b9083019060208201858111156126d057600080fd5b82518660208202830111600160201b821117156126ec57600080fd5b82525081516020918201928201910280838360005b83811015612719578181015183820152602001612701565b505050509050016040525050509050919050565b60006060856001600160a01b0316612746868686612f8f565b6040518082805190602001908083835b602083106127755780518252601f199092019160209182019101612756565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146127d7576040519150601f19603f3d011682016040523d82523d6000602084013e6127dc565b606091505b509150915081819061282f5760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156115eb5781810151838201526020016115d3565b50612838612f2e565b505050505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526128929084906130a2565b505050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663456b4a37836040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561290657600080fd5b505afa15801561291a573d6000803e3d6000fd5b505050506040513d602081101561293057600080fd5b505160408051631f5bce5560e01b81526001600160a01b03868116600483015291519293507f000000000000000000000000000000000000000000000000000000000000000090911691631f5bce5591602480820192602092909190829003018186803b1580156129a057600080fd5b505afa1580156129b4573d6000803e3d6000fd5b505050506040513d60208110156129ca57600080fd5b50516001600160a01b038281169116146128925760405162461bcd60e51b81526004018080602001828103825260218152602001806137936021913960400191505060405180910390fd5b6060806000805b8551811015612a50576000868281518110612a3357fe5b60200260200101511115612a48576001909101905b600101612a1c565b508067ffffffffffffffff81118015612a6857600080fd5b50604051908082528060200260200182016040528015612a92578160200160208202803683370190505b5092508067ffffffffffffffff81118015612aac57600080fd5b50604051908082528060200260200182016040528015612ad6578160200160208202803683370190505b5091506000805b8651811015612b7f576000878281518110612af457fe5b60200260200101511115612b7757612b0d888288613153565b858381518110612b1957fe5b60200260200101906001600160a01b031690816001600160a01b031681525050868181518110612b4557fe5b6020026020010151848381518110612b5957fe5b602090810291909101015260019091019082821415612b7757612b7f565b600101612add565b505050935093915050565b6060806001846001811115612b9b57fe5b1415612c4157600080612bad856124ad565b60408051600180825281830190925292945090925060208083019080368337019050509350612bdd888389613153565b84600081518110612bea57fe5b6001600160a01b03929092166020928302919091018201526040805160018082528183019092529182810190803683370190505092508083600081518110612c2e57fe5b6020026020010181815250505050612cd6565b612c4a83612685565b9050805167ffffffffffffffff81118015612c6457600080fd5b50604051908082528060200260200182016040528015612c8e578160200160208202803683370190505b50915060005b8251811015612cd457612ca8878288613153565b838281518110612cb457fe5b6001600160a01b0390921660209283029190910190910152600101612c94565b505b94509492505050565b801580612d65575060408051636eb1769f60e11b81523060048201526001600160a01b03848116602483015291519185169163dd62ed3e91604480820192602092909190829003018186803b158015612d3757600080fd5b505afa158015612d4b573d6000803e3d6000fd5b505050506040513d6020811015612d6157600080fd5b5051155b612da05760405162461bcd60e51b81526004018080602001828103825260368152602001806137de6036913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526128929084906130a2565b600060608215612e1a57506040805180820190915260058152640b189bdbdb60da1b60208201525b612e2384613345565b816040516020018080756164645f6c69717569646974792875696e743235365b60501b81525060160183805190602001908083835b60208310612e775780518252601f199092019160209182019101612e58565b51815160209384036101000a600019018019909216911617905261174b60f21b91909301908152663ab4b73a191a9b60c91b60028201528451600990910192850191508083835b60208310612edd5780518252601f199092019160209182019101612ebe565b6001836020036101000a03801982511681845116808217855250505050505090500180602960f81b815250600101925050506040516020818303038152906040528051906020012091505092915050565b30318015612f8c57612f3e61086a565b6001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b158015612f7857600080fd5b505af1158015612838573d6000803e3d6000fd5b50565b6060808215612fb95750604080516001602080830191909152825180830390910181529082019091525b612fc4845184613420565b858560405160200180828051906020019060200280838360005b83811015612ff6578181015183820152602001612fde565b505050509050019150506040516020818303038152906040528360405160200180856001600160e01b031916815260040184815260200183805190602001908083835b602083106130585780518252601f199092019160209182019101613039565b51815160001960209485036101000a019081169019919091161790528551939091019290850191508083836020831061246b5780518252601f19909201916020918201910161244c565b60606130f7826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166135149092919063ffffffff16565b8051909150156128925780806020019051602081101561311657600080fd5b50516128925760405162461bcd60e51b815260040180806020018281038252602a8152602001806137b4602a913960400191505060405180910390fd5b6000811561324a57836001600160a01b031663b9947eb0846040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561319f57600080fd5b505afa9250505080156131c457506040513d60208110156131bf57600080fd5b505160015b61324257836001600160a01b031663b739953e846040518263ffffffff1660e01b81526004018082600f0b815260200191505060206040518083038186803b15801561320f57600080fd5b505afa158015613223573d6000803e3d6000fd5b505050506040513d602081101561323957600080fd5b50519050613245565b90505b613334565b836001600160a01b031663c6610657846040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561328e57600080fd5b505afa9250505080156132b357506040513d60208110156132ae57600080fd5b505160015b61333157836001600160a01b03166323746eb8846040518263ffffffff1660e01b81526004018082600f0b815260200191505060206040518083038186803b1580156132fe57600080fd5b505afa158015613312573d6000803e3d6000fd5b505050506040513d602081101561332857600080fd5b50519050613334565b90505b61333d81613523565b949350505050565b60608161336a57506040805180820190915260018152600360fc1b6020820152611a9b565b8160005b811561338257600101600a8204915061336e565b60608167ffffffffffffffff8111801561339b57600080fd5b506040519080825280601f01601f1916602001820160405280156133c6576020820181803683370190505b50859350905060001982015b831561341757600a840660300160f81b828280600190039350815181106133f557fe5b60200101906001600160f81b031916908160001a905350600a840493506133d2565b50949350505050565b60006060821561344857506040805180820190915260058152640b189bdbdb60da1b60208201525b61345184613345565b6040517f72656d6f76655f6c69717569646974792875696e743235362c0000000000000060208083019182526775696e743235365b60c01b603984015283518593604101918501908083835b602083106134bc5780518252601f19909201916020918201910161349d565b6001836020036101000a03801982511681845116808217855250505050505090500180605d60f81b815250600101828051906020019080838360208310612edd5780518252601f199092019160209182019101612ebe565b606061333d8484600085613572565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316141561356e5761356761086a565b9050611a9b565b5090565b6060824710156135b35760405162461bcd60e51b815260040180806020018281038252602681526020018061373b6026913960400191505060405180910390fd5b6135bc856136ce565b61360d576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b6020831061364c5780518252601f19909201916020918201910161362d565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146136ae576040519150601f19603f3d011682016040523d82523d6000602084013e6136b3565b606091505b50915091506136c38282866136d4565b979650505050505050565b3b151590565b606083156136e35750816124a6565b8251156136f35782518084602001fd5b60405162461bcd60e51b81526020600482018181528451602484015284518593919283926044019190850190808383600083156115eb5781810151838201526020016115d356fe416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c4f6e6c792074686520496e746567726174696f6e4d616e616765722063616e2063616c6c20746869732066756e6374696f6e5f5f76616c6964617465506f6f6c466f72577261707065723a20496e76616c69645361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e63657061727365417373657473466f72416374696f6e3a205f73656c6563746f7220696e76616c6964a164736f6c634300060c000a", "sourceMap": "934:13674:166:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1490:119:180;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;1490:119:180;;;;;;;;;;;;;;9355:154:189;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;9355:154:189;;;;;;;;;;;;;;1373:111:180;;;;;;;;;;;;;:::i;832:85::-;;;;;;;;;;;;;:::i;2464:965:166:-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2464:965:166;;;;;;;;;;;;;;;-1:-1:-1;;;2464:965:166;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2464:965:166;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2464:965:166;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2464:965:166;;;;;;;;;;-1:-1:-1;2464:965:166;;-1:-1:-1;2464:965:166;-1:-1:-1;2464:965:166;:::i;:::-;;1034:87:180;;;;;;;;;;;;;:::i;1240:110::-;;;;;;;;;;;;;:::i;4255:345:166:-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4255:345:166;;;;;;;;;;;;;;;-1:-1:-1;;;4255:345:166;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4255:345:166;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4255:345:166;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4255:345:166;;;;;;;;;;-1:-1:-1;4255:345:166;;-1:-1:-1;4255:345:166;-1:-1:-1;4255:345:166;:::i;4865:926::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4865:926:166;;;;;;;;;;;;;;;-1:-1:-1;;;4865:926:166;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4865:926:166;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4865:926:166;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4865:926:166;;;;;;;;;;-1:-1:-1;4865:926:166;;-1:-1:-1;4865:926:166;-1:-1:-1;4865:926:166;:::i;706:104:180:-;;;;;;;;;;;;;:::i;1127:91::-;;;;;;;;;;;;;:::i;1921:253:166:-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1921:253:166;;;;;;;;;;;;;;;-1:-1:-1;;;1921:253:166;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1921:253:166;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1921:253:166;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1921:253:166;;;;;;;;;;-1:-1:-1;1921:253:166;;-1:-1:-1;1921:253:166;-1:-1:-1;1921:253:166;:::i;577:123:180:-;;;;;;;;;;;;;:::i;6532:1107:166:-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6532:1107:166;;;;-1:-1:-1;;;;;;6532:1107:166;;;;;;;;;;;;;;;;-1:-1:-1;;;6532:1107:166;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;6532:1107:166;;;;;;;;;;-1:-1:-1;6532:1107:166;;-1:-1:-1;6532:1107:166;-1:-1:-1;6532:1107:166;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2637:128:179;;;;;;;;;;;;;:::i;923:89:180:-;;;;;;;;;;;;;:::i;3673:423:166:-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3673:423:166;;;;;;;;;;;;;;;-1:-1:-1;;;3673:423:166;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3673:423:166;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3673:423:166;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3673:423:166;;;;;;;;;;-1:-1:-1;3673:423:166;;-1:-1:-1;3673:423:166;-1:-1:-1;3673:423:166;:::i;1490:119:180:-;1558:50;1490:119;:::o;9355:154:189:-;9466:36;9355:154;:::o;1373:111:180:-;1437:46;1373:111;:::o;832:85::-;878:38;832:85;:::o;2464:965:166:-;1747:10:179;-1:-1:-1;;;;;1761:19:179;1747:33;;1726:130;;;;-1:-1:-1;;;1726:130:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2648:12:166::1;2674:44;2732:28;2774:37:::0;2825:19:::1;2857:41;2886:11;;2857:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;2857:28:166::1;::::0;-1:-1:-1;;;2857:41:166:i:1;:::-;2634:264;;;;;;;;;;2909:28;2945:29;2963:10;;2945:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;2945:17:166::1;::::0;-1:-1:-1;;;2945:29:166:i:1;:::-;2908:66;;;;2985:15;3003:25;-1:-1:-1::0;;;;;3003:43:166::1;;3047:4;3003:49;;;;;;;;;;;;;-1:-1:-1::0;;;;;3003:49:166::1;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;3003:49:166;;-1:-1:-1;3063:184:166::1;3096:4:::0;3114:11;3139:27;3180:29;3223:14;3063:19:::1;:184::i;:::-;3258:164;3293:20;3327:11;3358:7;-1:-1:-1::0;;;;;3352:24:166::1;;3385:4;3352:39;;;;;;;;;;;;;-1:-1:-1::0;;;;;3352:39:166::1;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;3352:39:166;3405:7;3258:21:::1;:164::i;:::-;1866:1:179;;;;;;;2464:965:166::0;;;;;:::o;1034:87:180:-;1081:39;1034:87;:::o;1240:110::-;1303:46;1240:110;:::o;4255:345:166:-;1747:10:179;-1:-1:-1;;;;;1761:19:179;1747:33;;1726:130;;;;-1:-1:-1;;;1726:130:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4412:28:166::1;4442:14:::0;4460:36:::1;4484:11;;4460:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;4460:23:166::1;::::0;-1:-1:-1;;;4460:36:166:i:1;:::-;4409:87;;;;;4507:86;4531:20;4553:11;4566;4579:6;4587:5;4507:23;:86::i;:::-;1866:1:179;;4255:345:166::0;;;;;:::o;4865:926::-;1747:10:179;-1:-1:-1;;;;;1761:19:179;1747:33;;1726:130;;;;-1:-1:-1;;;1726:130:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5093:11:166::1;5106:10;;987:278:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;-1:-1:-1;5374:45:166::2;::::0;;::::2;987:278:179::1;5374:45:166::0;::::2;::::0;;::::2;::::0;::::2;::::0;;;;;;;;;;987:278:179;;-1:-1:-1;987:278:179;;-1:-1:-1;987:278:179;;-1:-1:-1;987:278:179;;;;5330:31:166::2;::::0;5374:45:::2;::::0;5407:11;;;;;;5374:45;::::2;5407:11:::0;;;;5374:45;::::2;;::::0;::::2;::::0;;;;-1:-1:-1;5374:32:166::2;::::0;-1:-1:-1;;;5374:45:166:i:2;:::-;5132:287;;;;;;;;;;;;5430:178;5467:20;5501:11;5534:4;5553:26;5593:5;5430:23;:178::i;:::-;5619:165;5646:4;5664:26;5704:14;5732:10;5756:18;5619:13;:165::i;:::-;1114:1:179;;;;;;1131:31:::1;1166:29;1184:10;1166:17;:29::i;:::-;1126:69;;;;1206:52;1230:11;1243:14;1206:23;:52::i;:::-;;1866:1;;;4865:926:166::0;;;;;:::o;706:104:180:-;766:43;706:104;:::o;1127:91::-;1176:41;1127:91;:::o;1921:253:166:-;1747:10:179;-1:-1:-1;;;;;1761:19:179;1747:33;;1726:130;;;;-1:-1:-1;;;1726:130:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2080:87:166::1;2112:41;2141:11;;2112:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;2112:28:166::1;::::0;-1:-1:-1;;;2112:41:166:i:1;:::-;2155:11;2080:31;:87::i;:::-;1921:253:::0;;;;;:::o;577:123:180:-;647:52;577:123;:::o;6532:1107:166:-;6724:64;6802:29;;;;-1:-1:-1;;;;;;7010:35:166;;-1:-1:-1;;;7010:35:166;7006:567;;;7068:30;:28;:30::i;:::-;7061:37;;;;;;;;;;;;7006:567;-1:-1:-1;;;;;;7119:36:166;;-1:-1:-1;;;7119:36:166;7115:458;;;7178:41;7207:11;;7178:28;:41::i;7115:458::-;-1:-1:-1;;;;;;7240:27:166;;-1:-1:-1;;;7240:27:166;7236:337;;;7290:34;7312:11;;7290:21;:34::i;7236:337::-;-1:-1:-1;;;;;;7345:29:166;;-1:-1:-1;;;7345:29:166;7341:232;;;7397:36;7421:11;;7397:23;:36::i;7341:232::-;-1:-1:-1;;;;;;7454:40:166;;-1:-1:-1;;;7454:40:166;7450:123;;;7517:45;7550:11;;7517:32;:45::i;7450:123::-;7583:49;;-1:-1:-1;;;7583:49:166;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6532:1107;;;;;;;;;;:::o;2637:128:179:-;2739:19;2637:128;:::o;923:89:180:-;971:40;923:89;:::o;3673:423:166:-;1747:10:179;-1:-1:-1;;;;;1761:19:179;1747:33;;1726:130;;;;-1:-1:-1;;;1726:130:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3839:28:166::1;3869:14:::0;3887:34:::1;3909:11;;3887:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;3887:21:166::1;::::0;-1:-1:-1;;;3887:34:166:i:1;:::-;3836:85;;;;;3933:28;3969:29;3987:10;;3969:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;3969:17:166::1;::::0;-1:-1:-1;;;3969:29:166:i:1;:::-;3932:66;;;;4009:80;4031:20;4053:11;4066:6;4074:11;4086:1;4074:14;;;;;;;;;;;;;;4009:21;:80::i;:::-;1866:1:179;;;3673:423:166::0;;;;;:::o;7058:433:203:-;7182:13;7209:45;7268:29;7311:38;7363:20;7426:11;7415:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;7415:69:203;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;7415:69:203;;;;;;;;;;;;-1:-1:-1;7415:69:203;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;7415:69:203;;;;;;;;;;;;;;;;;;;;;7408:76;;;;-1:-1:-1;7415:69:203;-1:-1:-1;7415:69:203;;-1:-1:-1;7415:69:203;;-1:-1:-1;7058:433:203;;-1:-1:-1;;;;;7058:433:203:o;2093:332:179:-;2205:29;2248:35;2297:32;2372:10;2361:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;-1:-1:-1;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;-1:-1:-1;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;-1:-1:-1;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2354:64;;;;;;2093:332;;;;;:::o;1570:1873:189:-;2006:33;2054:9;2049:999;2069:23;:30;2065:1;:34;2049:999;;;2154:37;:35;:37::i;:::-;-1:-1:-1;;;;;2124:67:189;:23;2148:1;2124:26;;;;;;;;;;;;;;-1:-1:-1;;;;;2124:67:189;;2120:918;;;2386:37;:35;:37::i;:::-;-1:-1:-1;;;;;2380:54:189;;2468:4;2380:115;;;;;;;;;;;;;-1:-1:-1;;;;;2380:115:189;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2380:115:189;;-1:-1:-1;2519:37:189;:35;:37::i;:::-;-1:-1:-1;;;;;2513:53:189;;2567:25;2513:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2120:918;;;2852:171;2899:23;2923:1;2899:26;;;;;;;;;;;;;;2947:5;873:4;2852:25;:171::i;:::-;2101:3;;2049:999;;;;3112:12;3126:23;3153:5;-1:-1:-1;;;;;3153:10:189;3171:25;3211:169;3262:28;3308:25;3351:15;3211:33;:169::i;:::-;3153:237;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3153:237:189;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3111:279;;;;3408:7;3424:10;3400:36;;;;;-1:-1:-1;;;3400:36:189;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;945:286:194;1105:60;1131:14;1147:8;1157:7;1105:25;:60::i;:::-;1191:8;-1:-1:-1;;;;;1175:35:194;;1211:3;1216:7;1175:49;;;;;;;;;;;;;-1:-1:-1;;;;;1175:49:194;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10138:295:203;10257:13;10284:29;10327:15;10385:11;10374:52;;;;;;;;;;;;;;;-1:-1:-1;10374:52:203;;;;;;;;;;;;;;;-1:-1:-1;10374:52:203;-1:-1:-1;10138:295:203;-1:-1:-1;;10138:295:203:o;1305:645:194:-;-1:-1:-1;;;;;1490:22:194;;1507:4;1490:22;1486:458;;;1544:8;-1:-1:-1;;;;;1528:36:194;;1588:3;1618:7;1666:13;1528:166;;;;;;;;;;;;;-1:-1:-1;;;;;1528:166:194;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1486:458;;;1725:208;;;-1:-1:-1;;;1725:208:194;;-1:-1:-1;;;;;1725:208:194;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:44;;;;;;:208;;;;;-1:-1:-1;;1725:208:194;;;;;;;;-1:-1:-1;1725:44:194;:208;;;;;;;;;;;;;;;;;;;;;;;;;;9596:465:203;9724:13;9751:29;9794:35;9843:20;9877:22;9913:32;9988:11;9977:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;9977:77:203;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;9977:77:203;;;;;;-1:-1:-1;9977:77:203;;;;;;;;;;-1:-1:-1;9977:77:203;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9970:84;;;;;;;;;;;;9596:465;;;;;;;:::o;1705:942::-;1939:18;1924:11;:33;;;;;;;;;1920:721;;;1991:30;2039;2086:60;2126:19;2086:39;:60::i;:::-;1973:173;;;;2161:227;2208:5;2231:22;2278;2319;2359:15;2161:29;:227::i;:::-;1920:721;;;;;2419:211;2459:5;2482:22;2522:61;2563:19;2522:40;:61::i;:::-;2601:15;2419:22;:211::i;3539:585:355:-;3649:36;3737:7;:14;3723:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3723:29:355;;3701:51;;3767:9;3762:319;3782:7;:14;3778:1;:18;3762:319;;;3817:19;3845:7;3853:1;3845:10;;;;;;;;;;;;;;3817:39;;3895:13;-1:-1:-1;;;;;3895:23:355;;3927:4;3895:38;;;;;;;;;;;;;-1:-1:-1;;;;;3895:38:355;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3895:38:355;3870:22;;:19;;3890:1;;3870:22;;;;;;;;;;;:63;;;;;3976:1;3951:19;3971:1;3951:22;;;;;;;;;;;;;;:26;3947:124;;;3997:59;4024:7;4033:19;4053:1;4033:22;;;;;;;;;;;;;;3997:13;-1:-1:-1;;;;;3997:26:355;;;:59;;;;;:::i;:::-;-1:-1:-1;3798:3:355;;3762:319;;;;3539:585;;;;:::o;6770:196:203:-;6881:21;6936:11;6925:34;;;;;;;;;;;;;;;-1:-1:-1;6925:34:203;;-1:-1:-1;6770:196:203;;;;:::o;727:146:194:-;835:8;-1:-1:-1;;;;;819:41:194;;861:4;819:47;;;;;;;;;;;;;-1:-1:-1;;;;;819:47:194;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;819:47:194;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;819:47:194;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;819:47:194;;;;;;;;;;;;-1:-1:-1;819:47:194;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;819:47:194;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;819:47:194;;;;;;;;;;;;-1:-1:-1;819:47:194;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;727:146;;:::o;7815:585:166:-;7914:64;7992:29;;;;7914:64;;8277:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8277:16:166;-1:-1:-1;8307:16:166;;;8321:1;8307:16;;;;;;8337;;;;;;8367;;;;;;;;;8196:197;;;;-1:-1:-1;8307:16:166;-1:-1:-1;8307:16:166;-1:-1:-1;8337:16:166;;-1:-1:-1;7815:585:166;-1:-1:-1;7815:585:166:o;8529:1355::-;8654:64;8732:29;8775:35;8824:32;8870:41;8950:12;8976:44;9034:28;9076:37;9127:19;9159:41;9188:11;;9159:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9159:28:166;;-1:-1:-1;;;9159:41:166:i;:::-;8936:264;;;;;;;;;;9211:52;9236:4;9242:20;9211:24;:52::i;:::-;9311:130;9358:4;9376:27;9417:14;9311:33;:130::i;:::-;9470:16;;;9484:1;9470:16;;;;;;;;;9274:167;;-1:-1:-1;9274:167:166;;-1:-1:-1;9470:16:166;;;;;;;;;;;-1:-1:-1;9470:16:166;9452:34;;9517:20;9496:15;9512:1;9496:18;;;;;;;;-1:-1:-1;;;;;9496:41:166;;;;:18;;;;;;;;;;:41;9575:16;;;9589:1;9575:16;;;;;;;;;;;;;;9496:18;9575:16;;;;;-1:-1:-1;9575:16:166;9548:43;;9631:29;9601:24;9626:1;9601:27;;;;;;;;;;;;;:59;;;;;9692:50;9671:206;;;;;;;8529:1355;;;;;;;;:::o;10006:1165::-;10124:64;10202:29;10245:35;10294:32;10340:41;10409:28;10439:14;10457:34;10479:11;;10457:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10457:21:166;;-1:-1:-1;;;10457:34:166:i;:::-;10517:16;;;10531:1;10517:16;;;;;;;;;10406:85;;-1:-1:-1;10406:85:166;;-1:-1:-1;10517:16:166;;-1:-1:-1;10517:16:166;;;;;;;;;;;-1:-1:-1;10517:16:166;10502:31;;10561:32;-1:-1:-1;;;;;10561:58:166;;10633:20;10561:102;;;;;;;;;;;;;-1:-1:-1;;;;;10561:102:166;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10561:102:166;10543:15;;:12;;10556:1;;10543:15;;;;-1:-1:-1;;;;;10543:120:166;;;;:15;;;;;;;;;;:120;10695:16;;;10709:1;10695:16;;;;;;;;;;;;;;10543:15;10695:16;;;;;-1:-1:-1;10695:16:166;10674:37;;10745:6;10721:18;10740:1;10721:21;;;;;;;;;;;;;;;;;:30;10780:16;;;10794:1;10780:16;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10780:16:166;10762:34;;10827:20;10806:15;10822:1;10806:18;;;;;;;;-1:-1:-1;;;;;10806:41:166;;;;:18;;;;;;;;;;:41;10885:16;;;10899:1;10885:16;;;;;;;;;;;;;;10806:18;10885:16;;;;;-1:-1:-1;10885:16:166;10858:43;;10941:6;10911:24;10936:1;10911:27;;;;;;;;;;;;;:36;;;;;10979:50;10958:206;;;;10006:1165;;;;;;;;:::o;11295:1264::-;11415:64;11493:29;11536:35;11585:32;11631:41;11700:28;11730:14;11748:36;11772:11;;11748:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11748:23:166;;-1:-1:-1;;;11748:36:166:i;:::-;11810:16;;;11824:1;11810:16;;;;;;;;;11697:87;;-1:-1:-1;11697:87:166;;-1:-1:-1;11810:16:166;;-1:-1:-1;11810:16:166;;;;;;;;;;;-1:-1:-1;11810:16:166;11795:31;;11854:20;11836:12;11849:1;11836:15;;;;;;;;-1:-1:-1;;;;;11836:38:166;;;;:15;;;;;;;;;;:38;11906:16;;;11920:1;11906:16;;;;;;;;;;;;;;11836:15;11906:16;;;;;-1:-1:-1;11906:16:166;11885:37;;11956:6;11932:18;11951:1;11932:21;;;;;;;;;;;;;;;;;:30;11991:16;;;12005:1;11991:16;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11991:16:166;11973:34;;12038:32;-1:-1:-1;;;;;12038:58:166;;12110:20;12038:102;;;;;;;;;;;;;-1:-1:-1;;;;;12038:102:166;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12038:102:166;12017:18;;:15;;12033:1;;12017:18;;;;-1:-1:-1;;;;;12017:123:166;;;;:18;;;;;;;;;;:123;12178:16;;;12192:1;12178:16;;;;;;;;;;;;;;12017:18;12178:16;;;;;-1:-1:-1;12178:16:166;12151:43;;12234:6;12204:24;12229:1;12204:27;;;;;;;;;;;;;:36;;;;;12368:49;12347:205;;;;11295:1264;;;;;;;;:::o;12692:1486::-;12821:64;12899:29;12942:35;12991:32;13037:41;13117:12;13143:28;13185:34;13233:19;13266:21;13301:31;13345:45;13378:11;;13345:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13345:32:166;;-1:-1:-1;;;13345:45:166:i;:::-;13103:287;;;;;;;;;;;;13401:52;13426:4;13432:20;13401:24;:52::i;:::-;13479:16;;;13493:1;13479:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13479:16:166;13464:31;;13523:20;13505:12;13518:1;13505:15;;;;;;;;-1:-1:-1;;;;;13505:38:166;;;;:15;;;;;;;;;;:38;13575:16;;;13589:1;13575:16;;;;;;;;;;;;;;13505:15;13575:16;;;;;-1:-1:-1;13575:16:166;13554:37;;13625:26;13601:18;13620:1;13601:21;;;;;;;;;;;;;:50;;;;;13708:151;13761:4;13779:14;13807:10;13831:18;13708:39;:151::i;:::-;13987:49;;12692:1486;;-1:-1:-1;12692:1486:166;;-1:-1:-1;13662:197:166;-1:-1:-1;13662:197:166;;12692:1486;-1:-1:-1;;;;;;;;12692:1486:166:o;2554:434:355:-;2714:47;;;-1:-1:-1;;;2714:47:355;;2746:4;2714:47;;;;-1:-1:-1;;;;;2714:47:355;;;;;;;;;2694:17;;2714:23;;;;;:47;;;;;;;;;;;;;;:23;:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2714:47:355;;-1:-1:-1;2775:25:355;;;2771:211;;;2820:13;;2816:89;;2853:37;-1:-1:-1;;;;;2853:25:355;;2879:7;2888:1;2853:25;:37::i;:::-;2918:53;-1:-1:-1;;;;;2918:25:355;;2944:7;-1:-1:-1;;2918:25:355;:53::i;:::-;2554:434;;;;:::o;5609:741:189:-;5808:22;5842:35;5891:15;5887:87;;;-1:-1:-1;5947:16:189;;;5958:4;5947:16;;;;;;;;;;;;;;;;;;;;;;;;5887:87;6037:145;6092:28;:35;6149:15;6037:33;:145::i;:::-;6217:28;6200:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6264:25;6307:22;6003:340;;;;;;-1:-1:-1;;;;;6003:340:189;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6003:340:189;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6003:340:189;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6003:340:189;;;;;;;;;;;;;-1:-1:-1;;6003:340:189;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5984:359;;;5609:741;;;;;;:::o;8506:275:203:-;8636:31;8669;8734:19;8723:51;;;;;;;;;;;;;;;-1:-1:-1;8723:51:203;;;;;;;;;-1:-1:-1;8723:51:203;-1:-1:-1;8506:275:203;;;:::o;4405:1096:189:-;4643:21;4678:15;4674:569;;;-1:-1:-1;4720:254:189;;;;;;;;;;;;;;;;;;;;;;;4956:4;4720:254;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4720:254:189;-1:-1:-1;;;4720:254:189;;;4674:569;;;-1:-1:-1;5016:216:189;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5016:216:189;-1:-1:-1;;;5016:216:189;;;4674:569;5307:12;5321:23;5348:5;-1:-1:-1;;;;;5348:10:189;5359:8;5348:20;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5348:20:189;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5306:62;;;;5386:7;5402:10;5378:36;;;;;-1:-1:-1;;;5378:36:189;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5454:40;:38;:40::i;8879:253:203:-;9010:48;9092:19;9081:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;9081:44:203;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;9081:44:203;;;;;;;;;;;;-1:-1:-1;9081:44:203;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9074:51;;8879:253;;;:::o;3653:642:189:-;3915:12;3929:23;3956:5;-1:-1:-1;;;;;3956:10:189;3980:172;4034:22;4074:31;4123:15;3980:36;:172::i;:::-;3956:206;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3956:206:189;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3914:248;;;;4180:7;4196:10;4172:36;;;;;-1:-1:-1;;;4172:36:189;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4248:40;:38;:40::i;:::-;3653:642;;;;;;:::o;704:175:450:-;813:58;;;-1:-1:-1;;;;;813:58:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;813:58:450;-1:-1:-1;;;813:58:450;;;786:86;;806:5;;786:19;:86::i;:::-;704:175;;;:::o;14272:334:166:-;14362:15;14380:32;-1:-1:-1;;;;;14380:58:166;;14439:8;14380:68;;;;;;;;;;;;;-1:-1:-1;;;;;14380:68:166;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14380:68:166;14490:50;;;-1:-1:-1;;;14490:50:166;;-1:-1:-1;;;;;14490:50:166;;;;;;;;;14380:68;;-1:-1:-1;14490:25:166;:43;;;;;;:50;;;;;14380:68;;14490:50;;;;;;;;:43;:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14490:50:166;-1:-1:-1;;;;;14479:61:166;;;;;;14458:141;;;;-1:-1:-1;;;14458:141:166;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4410:1154:203;4590:29;4621:35;4668:24;4707:9;4702:178;4722:28;:35;4718:1;:39;4702:178;;;4816:1;4782:28;4811:1;4782:31;;;;;;;;;;;;;;:35;4778:92;;;4837:18;;;;;4778:92;4759:3;;4702:178;;;;4919:16;4905:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4905:31:203;;4890:46;;4981:16;4967:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4967:31:203;;4946:52;;5008:24;5047:9;5042:464;5062:28;:35;5058:1;:39;5042:464;;;5156:1;5122:28;5151:1;5122:31;;;;;;;;;;;;;;:35;5118:378;;;5210:41;5225:5;5232:1;5235:15;5210:14;:41::i;:::-;5177:12;5190:16;5177:30;;;;;;;;;;;;;:74;-1:-1:-1;;;;;5177:74:203;;;-1:-1:-1;;;;;5177:74:203;;;;;5308:28;5337:1;5308:31;;;;;;;;;;;;;;5269:18;5288:16;5269:36;;;;;;;;;;;;;;;;;:70;5357:18;;;;;5398:36;;;5394:88;;;5458:5;;5394:88;5099:3;;5042:464;;;;5516:41;;4410:1154;;;;;;:::o;2746:1571::-;2975:32;;3085:18;3070:11;:33;;;;;;;;;3066:1184;;;3137:30;3185;3232:60;3272:19;3232:39;:60::i;:::-;3456:16;;;3470:1;3456:16;;;;;;;;;3119:173;;-1:-1:-1;3119:173:203;;-1:-1:-1;3456:16:203;;;;;;;;;;;-1:-1:-1;3456:16:203;3438:34;;3507:62;3522:5;3529:22;3553:15;3507:14;:62::i;:::-;3486:15;3502:1;3486:18;;;;;;;;-1:-1:-1;;;;;3486:83:203;;;;:18;;;;;;;;;;:83;3611:16;;;3625:1;3611:16;;;;;;;;;;;;;;3486:18;3611:16;;;;;-1:-1:-1;3611:16:203;3584:43;;3671:22;3641:24;3666:1;3641:27;;;;;;;;;;;;;:52;;;;;3066:1184;;;;;3751:91;3809:19;3751:40;:91::i;:::-;3724:118;;4050:24;:31;4036:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4036:46:203;;4018:64;;4101:9;4096:144;4116:15;:22;4112:1;:26;4096:144;;;4184:41;4199:5;4206:1;4209:15;4184:14;:41::i;:::-;4163:15;4179:1;4163:18;;;;;;;;-1:-1:-1;;;;;4163:62:203;;;:18;;;;;;;;;;;:62;4140:3;;4096:144;;;;3066:1184;2746:1571;;;;;;;:::o;1348:613:450:-;1713:10;;;1712:62;;-1:-1:-1;1729:39:450;;;-1:-1:-1;;;1729:39:450;;1753:4;1729:39;;;;-1:-1:-1;;;;;1729:39:450;;;;;;;;;:15;;;;;;:39;;;;;;;;;;;;;;;:15;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1729:39:450;:44;1712:62;1704:150;;;;-1:-1:-1;;;1704:150:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1891:62;;;-1:-1:-1;;;;;1891:62:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1891:62:450;-1:-1:-1;;;1891:62:450;;;1864:90;;1884:5;;1864:19;:90::i;6432:674:189:-;6567:16;6599:29;6642:15;6638:71;;;-1:-1:-1;6673:25:189;;;;;;;;;;;;-1:-1:-1;;;6673:25:189;;;;6638:71;6885:25;:14;:23;:25::i;:::-;7001:15;6793:274;;;;;;-1:-1:-1;;;6793:274:189;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6793:274:189;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6793:274:189;;;;;;;;;;;-1:-1:-1;;;6793:274:189;;;;;;;-1:-1:-1;;;6793:274:189;;;;;;;;;;;;;;-1:-1:-1;6793:274:189;;;;;;;;;;;;;-1:-1:-1;;6793:274:189;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;6793:274:189;;;;;;;;;;;;;;;;;;;;;6762:323;;;;;;6719:380;;;6432:674;;;;:::o;7194:316::-;7307:4;7291:30;7335:22;;7331:173;;7387:37;:35;:37::i;:::-;-1:-1:-1;;;;;7373:61:189;;7459:18;7373:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7331:173;7194:316;:::o;7597:750::-;7799:22;7833:35;7882:15;7878:87;;;-1:-1:-1;7938:16:189;;;7949:4;7938:16;;;;;;;;;;;;;;;;;;;;;;;;7878:87;8028:151;8086:31;:38;8146:15;8028:36;:151::i;:::-;8197:22;8254:31;8237:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8304:22;7994:346;;;;;;-1:-1:-1;;;;;7994:346:189;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7994:346:189;;;;;;;;;;;;;;;;-1:-1:-1;;7994:346:189;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7994:346:189;;;;;;;;;;;;-1:-1:-1;;7994:346:189;;;;;;;;;;;;2967:751:450;3386:23;3412:69;3440:4;3412:69;;;;;;;;;;;;;;;;;3420:5;-1:-1:-1;;;;;3412:27:450;;;:69;;;;;:::i;:::-;3495:17;;3386:95;;-1:-1:-1;3495:21:450;3491:221;;3635:10;3624:30;;;;;;;;;;;;;;;-1:-1:-1;3624:30:450;3616:85;;;;-1:-1:-1;;;3616:85:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5627:781:203;5756:14;5786;5782:568;;;5840:5;-1:-1:-1;;;;;5820:43:203;;5864:6;5820:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5820:51:203;;;5816:283;;6045:5;-1:-1:-1;;;;;6025:43:203;;6076:6;6025:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6025:59:203;;-1:-1:-1;5816:283:203;;;5962:14;-1:-1:-1;5816:283:203;5782:568;;;6153:5;-1:-1:-1;;;;;6133:32:203;;6166:6;6133:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6133:40:203;;;6129:211;;6297:5;-1:-1:-1;;;;;6277:32:203;;6317:6;6277:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6277:48:203;;-1:-1:-1;6129:211:203;;;6224:4;-1:-1:-1;6129:211:203;6367:34;6394:6;6367:26;:34::i;:::-;6360:41;5627:781;-1:-1:-1;;;;5627:781:203:o;210:725:455:-;266:13;483:10;479:51;;-1:-1:-1;509:10:455;;;;;;;;;;;;-1:-1:-1;;;509:10:455;;;;;;479:51;554:5;539:12;593:75;600:9;;593:75;;625:8;;655:2;647:10;;;;593:75;;;677:19;709:6;699:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;699:17:455;-1:-1:-1;769:5:455;;-1:-1:-1;677:39:455;-1:-1:-1;;;742:10:455;;784:114;791:9;;784:114;;859:2;852:4;:9;847:2;:14;834:29;;816:6;823:7;;;;;;;816:15;;;;;;;;;;;:47;-1:-1:-1;;;;;816:47:455;;;;;;;;-1:-1:-1;885:2:455;877:10;;;;784:114;;;-1:-1:-1;921:6:455;210:725;-1:-1:-1;;;;210:725:455:o;8432:680:189:-;8570:16;8602:29;8645:15;8641:71;;;-1:-1:-1;8676:25:189;;;;;;;;;;;;-1:-1:-1;;;8676:25:189;;;;8641:71;8927:25;:14;:23;:25::i;:::-;8796:277;;;;;;;;;;-1:-1:-1;;;8796:277:189;;;;;;9007:15;;8796:277;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8796:277:189;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;8796:277:189;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8796:277:189;;;;;;;;;;;;3581:193:451;3684:12;3715:52;3737:6;3745:4;3751:1;3754:12;3715:21;:52::i;1293:319:203:-;1405:14;1462:36;-1:-1:-1;;;;;1439:59:203;:19;-1:-1:-1;;;;;1439:59:203;;1435:134;;;1521:37;:35;:37::i;:::-;1514:44;;;;1435:134;-1:-1:-1;1586:19:203;1293:319::o;4608:523:451:-;4735:12;4792:5;4767:21;:30;;4759:81;;;;-1:-1:-1;;;4759:81:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4858:18;4869:6;4858:10;:18::i;:::-;4850:60;;;;;-1:-1:-1;;;4850:60:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;4981:12;4995:23;5022:6;-1:-1:-1;;;;;5022:11:451;5042:5;5050:4;5022:33;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5022:33:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4980:75;;;;5072:52;5090:7;5099:10;5111:12;5072:17;:52::i;:::-;5065:59;4608:523;-1:-1:-1;;;;;;;4608:523:451:o;726:413::-;1086:20;1124:8;;;726:413::o;7091:725::-;7206:12;7234:7;7230:580;;;-1:-1:-1;7264:10:451;7257:17;;7230:580;7375:17;;:21;7371:429;;7633:10;7627:17;7693:15;7680:10;7676:2;7672:19;7665:44;7582:145;7765:20;;-1:-1:-1;;;7765:20:451;;;;;;;;;;;;;;;;;7772:12;;7765:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;", "linkReferences": {}, "immutableReferences": { "43150": [ { "start": 7707, "length": 32 }, { "start": 8337, "length": 32 }, { "start": 10395, "length": 32 } ], "43152": [ { "start": 2520, "length": 32 }, { "start": 10583, "length": 32 } ], "49791": [ { "start": 2273, "length": 32 }, { "start": 2915, "length": 32 }, { "start": 3112, "length": 32 }, { "start": 3496, "length": 32 }, { "start": 3966, "length": 32 }, { "start": 4047, "length": 32 } ], "50901": [ { "start": 2156, "length": 32 } ], "55129": [ { "start": 13607, "length": 32 } ] } }, "methodIdentifiers": { "CLAIM_REWARDS_SELECTOR()": "40da225d", "LEND_AND_STAKE_SELECTOR()": "131461c0", "LEND_SELECTOR()": "257cb1a3", "REDEEM_SELECTOR()": "f7d882b5", "STAKE_SELECTOR()": "3ffc1591", "TAKE_MULTIPLE_ORDERS_SELECTOR()": "c32990a2", "TAKE_ORDER_SELECTOR()": "863e5ad0", "UNSTAKE_AND_REDEEM_SELECTOR()": "080456c1", "UNSTAKE_SELECTOR()": "b23228cf", "claimRewards(address,bytes,bytes)": "b9dfbacc", "getCurveLiquidityWrappedNativeAsset()": "12c9d386", "getIntegrationManager()": "e7c45690", "lendAndStake(address,bytes,bytes)": "29fa046e", "parseAssetsForAction(address,bytes4,bytes)": "c54efee5", "stake(address,bytes,bytes)": "fa7dd04d", "unstake(address,bytes,bytes)": "68e30677", "unstakeAndRedeem(address,bytes,bytes)": "8334eb99" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_integrationManager\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_curvePriceFeed\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_wrappedNativeAsset\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_stakingWrapperFactory\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_nativeAssetAddress\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"CLAIM_REWARDS_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LEND_AND_STAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LEND_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"REDEEM_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"STAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TAKE_MULTIPLE_ORDERS_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TAKE_ORDER_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UNSTAKE_AND_REDEEM_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UNSTAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"claimRewards\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurveLiquidityWrappedNativeAsset\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"addressProvider_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getIntegrationManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"integrationManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"_assetData\",\"type\":\"bytes\"}],\"name\":\"lendAndStake\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"_selector\",\"type\":\"bytes4\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"}],\"name\":\"parseAssetsForAction\",\"outputs\":[{\"internalType\":\"enum IIntegrationManager.SpendAssetsHandleType\",\"name\":\"spendAssetsHandleType_\",\"type\":\"uint8\"},{\"internalType\":\"address[]\",\"name\":\"spendAssets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"spendAssetAmounts_\",\"type\":\"uint256[]\"},{\"internalType\":\"address[]\",\"name\":\"incomingAssets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"minIncomingAssetAmounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"_assetData\",\"type\":\"bytes\"}],\"name\":\"stake\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"unstake\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"_assetData\",\"type\":\"bytes\"}],\"name\":\"unstakeAndRedeem\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"Rewards tokens are not included as incoming assets for claimRewards() Rationale: - rewards tokens can be claimed to the vault outside of the IntegrationManager, so no need to enforce policy management or emit an event - rewards tokens can be outside of the asset universe, in which case they cannot be tracked\",\"kind\":\"dev\",\"methods\":{\"claimRewards(address,bytes,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}},\"getCurveLiquidityWrappedNativeAsset()\":{\"returns\":{\"addressProvider_\":\"The `CURVE_LIQUIDITY_WRAPPED_NATIVE_ASSET` variable value\"}},\"getIntegrationManager()\":{\"returns\":{\"integrationManager_\":\"The `INTEGRATION_MANAGER` variable value\"}},\"lendAndStake(address,bytes,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_assetData\":\"Parsed spend assets and incoming assets data for this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}},\"parseAssetsForAction(address,bytes4,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_selector\":\"The function selector for the callOnIntegration\"},\"returns\":{\"incomingAssets_\":\"The assets to receive in the call\",\"minIncomingAssetAmounts_\":\"The min asset amounts to receive in the call\",\"spendAssetAmounts_\":\"The max asset amounts to spend in the call\",\"spendAssetsHandleType_\":\"A type that dictates how to handle granting the adapter access to spend assets (`None` by default)\",\"spendAssets_\":\"The assets to spend in the call\"}},\"stake(address,bytes,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_assetData\":\"Parsed spend assets and incoming assets data for this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}},\"unstake(address,bytes,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}},\"unstakeAndRedeem(address,bytes,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_assetData\":\"Parsed spend assets and incoming assets data for this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}}},\"title\":\"ConvexCurveLpStakingAdapter Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"claimRewards(address,bytes,bytes)\":{\"notice\":\"Claims all rewards for a given staking token\"},\"getCurveLiquidityWrappedNativeAsset()\":{\"notice\":\"Gets the `CURVE_LIQUIDITY_WRAPPED_NATIVE_ASSET` variable\"},\"getIntegrationManager()\":{\"notice\":\"Gets the `INTEGRATION_MANAGER` variable\"},\"lendAndStake(address,bytes,bytes)\":{\"notice\":\"Lends assets for LP tokens, then stakes the received LP tokens\"},\"parseAssetsForAction(address,bytes4,bytes)\":{\"notice\":\"Parses the expected assets in a particular action\"},\"stake(address,bytes,bytes)\":{\"notice\":\"Stakes LP tokens\"},\"unstake(address,bytes,bytes)\":{\"notice\":\"Unstakes LP tokens\"},\"unstakeAndRedeem(address,bytes,bytes)\":{\"notice\":\"Unstakes LP tokens, then redeems them\"}},\"notice\":\"Adapter for staking Curve LP tokens via Convex, with optional combined end-to-end liquidity provision via Curve\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/integration-manager/integrations/adapters/ConvexCurveLpStakingAdapter.sol\":\"ConvexCurveLpStakingAdapter\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/extensions/integration-manager/IIntegrationManager.sol\":{\"keccak256\":\"0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23\",\"dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk\"]},\"contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol\":{\"keccak256\":\"0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336\",\"dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS\"]},\"contracts/release/extensions/integration-manager/integrations/adapters/ConvexCurveLpStakingAdapter.sol\":{\"keccak256\":\"0x393d08b9f1831cc49236027f9efc70a29e51643782fa9e5ae45adabd46082549\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://03c2d14d933d5796088d272d15f7cdc8221185b567ebe2bad8f1747e6a646e9d\",\"dweb:/ipfs/QmXKRCyG1HLLnLAW8ng9X9w1CyneRa1s3CZY9KaryCR9Tt\"]},\"contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol\":{\"keccak256\":\"0x067e49bf0d3c1655ab41a413c65ccf61d4e593308132e1ffc484a0fadfbbaf26\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://387f425017e18e89cc1893521101fa99df595314847d0b3d9a1162369f714fcf\",\"dweb:/ipfs/Qmco3jCvuWAyfCpBYpGzHrQjiFJG63w1RJKcakoTEbxRQm\"]},\"contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol\":{\"keccak256\":\"0xfd34c7ca8231c6935e25dede32ca2b3121738e624d0fc896f7b895a731edcf88\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d492c061963d36d07718446db191d4c5a340c0d847f6cd209f027bd99f7cb176\",\"dweb:/ipfs/QmfCvRZt56ftDdrEh6LepHXFJ4fVtcfpQGvEyY8k4zxG1A\"]},\"contracts/release/extensions/integration-manager/integrations/utils/actions/CurveLiquidityActionsMixin.sol\":{\"keccak256\":\"0x71e040ad76ac9927ca73d597ce6cc767475b75f08227db9a4f471ac4b8291805\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://089fa77e85aeb131f96d02d2c46e2f99b59dd0337cde82244b11e23602ee4329\",\"dweb:/ipfs/QmZTv8u4HrMz4sm5TFLHv1nfjfjfUkcASD4Qhz88EVYwAR\"]},\"contracts/release/extensions/integration-manager/integrations/utils/actions/StakingWrapperActionsMixin.sol\":{\"keccak256\":\"0x3b3cf5217bfdb046eb76336fbdb95e0bc389dee5964b1067f0239338acccea08\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://7ee1ece29be26ef9d16370487950bbbe2e8371642dd3f5c661423f59bf6d7072\",\"dweb:/ipfs/QmfXvVKe78qCysfTLb8WQzUCnKmBPpgFhF6aK13ZsEUoRK\"]},\"contracts/release/extensions/integration-manager/integrations/utils/bases/CurveLiquidityAdapterBase.sol\":{\"keccak256\":\"0x85c51f77c1f0fe8e33b676e6a59266b92592acf10fc147925f95f97b16715432\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a897952b16993d624cd1e6ad1f62e2892166918e7bab0ad377ffe6405d3936ce\",\"dweb:/ipfs/QmXovhqFgdV7v2DwNMjksNwWWLU61gxV95Hy7xs9AV8g7E\"]},\"contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol\":{\"keccak256\":\"0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e\",\"dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK\"]},\"contracts/release/infrastructure/price-feeds/derivatives/feeds/CurvePriceFeed.sol\":{\"keccak256\":\"0xa8ddbd75bb5cb702b539b963c2694a8abcbd19eb801a36a42c0537f69ad26b42\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b6422a1ebdf7198942cee6b61ae807887a77864abc0b1bc16dba55c7b5f3ca90\",\"dweb:/ipfs/QmXNCQkT5Er6NvKBJnhk9jR4T1KhNeorAr8F6K6dQPjztx\"]},\"contracts/release/infrastructure/staking-wrappers/IStakingWrapper.sol\":{\"keccak256\":\"0xaeb9aba4e74eb3243a85090fded7b157969cf83e1f4159b1da2f662a3e7b15be\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://92346911c044a54808d2d425fe58c6dc9594dfafb8d83496f6599e3bc23803d0\",\"dweb:/ipfs/QmYWf7yx9ZfUnP81K1hjvApthqNhpXzUhGuFBm4gX1aDRB\"]},\"contracts/release/infrastructure/staking-wrappers/StakingWrapperBase.sol\":{\"keccak256\":\"0x3e28050fbe625f1469701b231772ce321e719ddbce4f84b6caa1d8d634a4234a\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f0871b7d6b595e444e598f68751225a596d969267c289a465462fdeb67530fc8\",\"dweb:/ipfs/QmX2z5QGP3kpKx9ruGnZHYH5bDCD9sjRGTRhg9SRiowctg\"]},\"contracts/release/infrastructure/staking-wrappers/StakingWrapperLibBase.sol\":{\"keccak256\":\"0x94d4057419743d9354d77774e1e5279a5ed2fc70012ef28115357f9921bfb5be\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d1e461f460a0339cada6cdfb0107bde47d236b336fec0ed470235ce7928666bb\",\"dweb:/ipfs/QmcMzSrcWTKyqgBAACVCidd2dpMfbeUtcQYu4D1ASiyFzk\"]},\"contracts/release/infrastructure/staking-wrappers/convex-curve-lp/ConvexCurveLpStakingWrapperFactory.sol\":{\"keccak256\":\"0x4f7394dea52858ea7734ed8586377d1ebef39e1ca6aa5ed684fea7a7fe82b16a\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c7a5181757151d6210193dfa97b3076edcfe3017b4fefbfbbe3ab848878d5996\",\"dweb:/ipfs/Qme9tTYoAhMkHVLbwKQoSdVJTec1p9zAPwzSe7RZFvnkYu\"]},\"contracts/release/infrastructure/staking-wrappers/convex-curve-lp/ConvexCurveLpStakingWrapperLib.sol\":{\"keccak256\":\"0x1ec08f37e592766bb7f0d62edb04261bcd3c26154bb5dc437465f836fabf3427\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://0265250d2255bcb61fdb1842e7dbb26e4d56a11a1e3fd87f0790644277bb7259\",\"dweb:/ipfs/Qmb5kVMTr86qYkJu8o1YNwnCrbUJMhmhnFHMrdx2vZhdED\"]},\"contracts/release/interfaces/IConvexBaseRewardPool.sol\":{\"keccak256\":\"0x7c82b546c3c339c6f602191bc9062d6887af7db438800359c0547aa6bb025acc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://13a488b1d715000d1ed9415917a8f9c347ec91b04770b74746facacd88e2e105\",\"dweb:/ipfs/QmaHJKxagREc7Mbq8SkSbWgzwk8bNSFTwojAD5hNemwy1Y\"]},\"contracts/release/interfaces/IConvexBooster.sol\":{\"keccak256\":\"0x6e7561d2d7e71a0c89a6e62445de5c54c2e50d17877b23d8b5af10721dd90ed5\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://772cf7f429a04a557d3b0ed36a73390da64fd93a9df253e0c7e9ebeeecd063ea\",\"dweb:/ipfs/QmXjfnXmtGV67wypxof8nWVTkXAEZqBpFjYePfr17K8rAL\"]},\"contracts/release/interfaces/IConvexVirtualBalanceRewardPool.sol\":{\"keccak256\":\"0x45a7d783e4088cf1b5dcb548da2fce6b0caa9c572c43af9f39aff46498fa101c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://82ed678230fe900991bd81a6c31dae01d120fe5521f96d1cc36c40334385f907\",\"dweb:/ipfs/QmYre4JtyoXmetrYUwFMrPKwBY1NEm2XYdgMiAR7Z7P2jW\"]},\"contracts/release/interfaces/ICurveAddressProvider.sol\":{\"keccak256\":\"0xf8da903700c623760de62b3e5d0b01997c68b8847391e23b89081128780e55e1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://735b71b448d4d5c78e98ead84bf8f8e1e94e38ff8a77c7e4f9cc944d1d73e7df\",\"dweb:/ipfs/QmXFgGFVEvQW9wpeBspcaVAXwCcxvnNJZLafTeP2HPArNQ\"]},\"contracts/release/interfaces/ICurveLiquidityPool.sol\":{\"keccak256\":\"0xd90f3399805f90d670098cc451f9948b8da7dd68be821617c76487fdc20f0731\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ba6e6e5bf761fa279329a564741e5cd2b78c5be2e50c388ac419c3d84736c9a1\",\"dweb:/ipfs/QmZ96kkg7oHLmdzwQLYbZVHDvKj8jZEJLaxNXy1j3sbgrn\"]},\"contracts/release/interfaces/ICurvePoolOwner.sol\":{\"keccak256\":\"0x42a03eb0d757153add18d4f42b5b464041056e23f6965a48705088ddd213c336\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a4166f75c4c80b8f069ae2b8cfe9bda2babca27fd30b239e30606eca69f8878c\",\"dweb:/ipfs/QmYNULkXYTaKQUiCA8htR9KbCkK5YhrHfJgKtBqXiNPt9R\"]},\"contracts/release/interfaces/ICurveRegistryMain.sol\":{\"keccak256\":\"0x9e67cfcd4195bfd8db785be1cba42bf8871d0638770adaf04d638227b29a9b2b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://cb2587e7026be73f27d4dd75deb44faeca3112a58ddc07bb87bca46d96fd977b\",\"dweb:/ipfs/QmTVdpCWZ9rv583gxP5Ycvs5Nf7jZTxVWr5oeZvywYNSSh\"]},\"contracts/release/interfaces/ICurveRegistryMetapoolFactory.sol\":{\"keccak256\":\"0x43aa6bfbda8ca1fdcb0890792e7969999146c690986938ac43818ca9b9343e58\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3426ad7d87cd51519c288004f970da83bf672d60fc7d1c647af5e84855f6a4b5\",\"dweb:/ipfs/QmevngH3Acet8R6YHzGLRyNeEoUYfbnQm7NSbzHYN7rdpf\"]},\"contracts/release/interfaces/IWETH.sol\":{\"keccak256\":\"0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2\",\"dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"contracts/release/utils/FundDeployerOwnerMixin.sol\":{\"keccak256\":\"0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927\",\"dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM\"]},\"contracts/release/utils/beacon-proxy/BeaconProxy.sol\":{\"keccak256\":\"0x7a0a6c511a30434a9b329226b0cf1a05ec426ddbfc4e1d9b9083978ee4cf6d53\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://692d3a116ecf306f20a3d29dc70846099ce46ba281524a502336325a6cd05667\",\"dweb:/ipfs/QmTGxmDWMcMtGEsPLzVB8eyK3WDqaCwoChuc24RXuSzwVb\"]},\"contracts/release/utils/beacon-proxy/BeaconProxyFactory.sol\":{\"keccak256\":\"0xd35fa5134e3a8694ed1dbbc8dcd4b4d5b459608c23097a95984e1b98af3e64d9\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1c008f83ac64b316479406cbf0287593a810d453825a2f669b5810c51429f9fc\",\"dweb:/ipfs/QmNtdtcWGZFpnb3LsshwV5BiM5H1Vz8SGpoqMchUyfuhQx\"]},\"contracts/release/utils/beacon-proxy/IBeacon.sol\":{\"keccak256\":\"0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39\",\"dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V\"]},\"contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol\":{\"keccak256\":\"0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be\",\"dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]},\"node_modules/@openzeppelin/contracts/utils/ReentrancyGuard.sol\":{\"keccak256\":\"0x8bbbc2f5c10065ee272592ae0a7a6ceb23de2fbd81564ee0bb015ecf404d5f61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b95e56c1640d0ef789fc5c16269e141e992f6c8ac97cc6d377bd3825e9cab182\",\"dweb:/ipfs/QmVzaxJZY51EhagrcNnkxoU6Uq17RhATe7aHvtkC6wUkgK\"]},\"node_modules/@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0xa1e12f97981f1d0964b1c048978606a57127c56c438bab61cdfe269cad859a74\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5eefac1760f524971e14aa3f3d79515a3d54fd28c1d3bdca0b36127da349b830\",\"dweb:/ipfs/QmUMzkyH3ytJX5gVPizQruNLhkKmuJb3nFqBDad4LPdg5U\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_integrationManager", "type": "address" }, { "internalType": "address", "name": "_curvePriceFeed", "type": "address" }, { "internalType": "address", "name": "_wrappedNativeAsset", "type": "address" }, { "internalType": "address", "name": "_stakingWrapperFactory", "type": "address" }, { "internalType": "address", "name": "_nativeAssetAddress", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "CLAIM_REWARDS_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "LEND_AND_STAKE_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "LEND_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "REDEEM_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "STAKE_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "TAKE_MULTIPLE_ORDERS_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "TAKE_ORDER_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "UNSTAKE_AND_REDEEM_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "UNSTAKE_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "bytes", "name": "_actionData", "type": "bytes" }, { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "claimRewards" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getCurveLiquidityWrappedNativeAsset", "outputs": [ { "internalType": "address", "name": "addressProvider_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getIntegrationManager", "outputs": [ { "internalType": "address", "name": "integrationManager_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "bytes", "name": "_actionData", "type": "bytes" }, { "internalType": "bytes", "name": "_assetData", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "lendAndStake" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "bytes4", "name": "_selector", "type": "bytes4" }, { "internalType": "bytes", "name": "_actionData", "type": "bytes" } ], "stateMutability": "view", "type": "function", "name": "parseAssetsForAction", "outputs": [ { "internalType": "enum IIntegrationManager.SpendAssetsHandleType", "name": "spendAssetsHandleType_", "type": "uint8" }, { "internalType": "address[]", "name": "spendAssets_", "type": "address[]" }, { "internalType": "uint256[]", "name": "spendAssetAmounts_", "type": "uint256[]" }, { "internalType": "address[]", "name": "incomingAssets_", "type": "address[]" }, { "internalType": "uint256[]", "name": "minIncomingAssetAmounts_", "type": "uint256[]" } ] }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "bytes", "name": "_actionData", "type": "bytes" }, { "internalType": "bytes", "name": "_assetData", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "stake" }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "bytes", "name": "_actionData", "type": "bytes" }, { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "unstake" }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "bytes", "name": "_actionData", "type": "bytes" }, { "internalType": "bytes", "name": "_assetData", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "unstakeAndRedeem" }, { "inputs": [], "stateMutability": "payable", "type": "receive" } ], "devdoc": { "kind": "dev", "methods": { "claimRewards(address,bytes,bytes)": { "params": { "_actionData": "Data specific to this action", "_vaultProxy": "The VaultProxy of the calling fund" } }, "getCurveLiquidityWrappedNativeAsset()": { "returns": { "addressProvider_": "The `CURVE_LIQUIDITY_WRAPPED_NATIVE_ASSET` variable value" } }, "getIntegrationManager()": { "returns": { "integrationManager_": "The `INTEGRATION_MANAGER` variable value" } }, "lendAndStake(address,bytes,bytes)": { "params": { "_actionData": "Data specific to this action", "_assetData": "Parsed spend assets and incoming assets data for this action", "_vaultProxy": "The VaultProxy of the calling fund" } }, "parseAssetsForAction(address,bytes4,bytes)": { "params": { "_actionData": "Data specific to this action", "_selector": "The function selector for the callOnIntegration" }, "returns": { "incomingAssets_": "The assets to receive in the call", "minIncomingAssetAmounts_": "The min asset amounts to receive in the call", "spendAssetAmounts_": "The max asset amounts to spend in the call", "spendAssetsHandleType_": "A type that dictates how to handle granting the adapter access to spend assets (`None` by default)", "spendAssets_": "The assets to spend in the call" } }, "stake(address,bytes,bytes)": { "params": { "_actionData": "Data specific to this action", "_assetData": "Parsed spend assets and incoming assets data for this action", "_vaultProxy": "The VaultProxy of the calling fund" } }, "unstake(address,bytes,bytes)": { "params": { "_actionData": "Data specific to this action", "_vaultProxy": "The VaultProxy of the calling fund" } }, "unstakeAndRedeem(address,bytes,bytes)": { "params": { "_actionData": "Data specific to this action", "_assetData": "Parsed spend assets and incoming assets data for this action", "_vaultProxy": "The VaultProxy of the calling fund" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "claimRewards(address,bytes,bytes)": { "notice": "Claims all rewards for a given staking token" }, "getCurveLiquidityWrappedNativeAsset()": { "notice": "Gets the `CURVE_LIQUIDITY_WRAPPED_NATIVE_ASSET` variable" }, "getIntegrationManager()": { "notice": "Gets the `INTEGRATION_MANAGER` variable" }, "lendAndStake(address,bytes,bytes)": { "notice": "Lends assets for LP tokens, then stakes the received LP tokens" }, "parseAssetsForAction(address,bytes4,bytes)": { "notice": "Parses the expected assets in a particular action" }, "stake(address,bytes,bytes)": { "notice": "Stakes LP tokens" }, "unstake(address,bytes,bytes)": { "notice": "Unstakes LP tokens" }, "unstakeAndRedeem(address,bytes,bytes)": { "notice": "Unstakes LP tokens, then redeems them" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/integration-manager/integrations/adapters/ConvexCurveLpStakingAdapter.sol": "ConvexCurveLpStakingAdapter" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/dispatcher/IDispatcher.sol": { "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", "urls": [ "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" ], "license": "GPL-3.0" }, "contracts/release/core/fund-deployer/IFundDeployer.sol": { "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", "urls": [ "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/IIntegrationManager.sol": { "keccak256": "0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef", "urls": [ "bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23", "dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol": { "keccak256": "0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1", "urls": [ "bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336", "dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/adapters/ConvexCurveLpStakingAdapter.sol": { "keccak256": "0x393d08b9f1831cc49236027f9efc70a29e51643782fa9e5ae45adabd46082549", "urls": [ "bzz-raw://03c2d14d933d5796088d272d15f7cdc8221185b567ebe2bad8f1747e6a646e9d", "dweb:/ipfs/QmXKRCyG1HLLnLAW8ng9X9w1CyneRa1s3CZY9KaryCR9Tt" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol": { "keccak256": "0x067e49bf0d3c1655ab41a413c65ccf61d4e593308132e1ffc484a0fadfbbaf26", "urls": [ "bzz-raw://387f425017e18e89cc1893521101fa99df595314847d0b3d9a1162369f714fcf", "dweb:/ipfs/Qmco3jCvuWAyfCpBYpGzHrQjiFJG63w1RJKcakoTEbxRQm" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol": { "keccak256": "0xfd34c7ca8231c6935e25dede32ca2b3121738e624d0fc896f7b895a731edcf88", "urls": [ "bzz-raw://d492c061963d36d07718446db191d4c5a340c0d847f6cd209f027bd99f7cb176", "dweb:/ipfs/QmfCvRZt56ftDdrEh6LepHXFJ4fVtcfpQGvEyY8k4zxG1A" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/utils/actions/CurveLiquidityActionsMixin.sol": { "keccak256": "0x71e040ad76ac9927ca73d597ce6cc767475b75f08227db9a4f471ac4b8291805", "urls": [ "bzz-raw://089fa77e85aeb131f96d02d2c46e2f99b59dd0337cde82244b11e23602ee4329", "dweb:/ipfs/QmZTv8u4HrMz4sm5TFLHv1nfjfjfUkcASD4Qhz88EVYwAR" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/utils/actions/StakingWrapperActionsMixin.sol": { "keccak256": "0x3b3cf5217bfdb046eb76336fbdb95e0bc389dee5964b1067f0239338acccea08", "urls": [ "bzz-raw://7ee1ece29be26ef9d16370487950bbbe2e8371642dd3f5c661423f59bf6d7072", "dweb:/ipfs/QmfXvVKe78qCysfTLb8WQzUCnKmBPpgFhF6aK13ZsEUoRK" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/utils/bases/CurveLiquidityAdapterBase.sol": { "keccak256": "0x85c51f77c1f0fe8e33b676e6a59266b92592acf10fc147925f95f97b16715432", "urls": [ "bzz-raw://a897952b16993d624cd1e6ad1f62e2892166918e7bab0ad377ffe6405d3936ce", "dweb:/ipfs/QmXovhqFgdV7v2DwNMjksNwWWLU61gxV95Hy7xs9AV8g7E" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol": { "keccak256": "0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332", "urls": [ "bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e", "dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/price-feeds/derivatives/feeds/CurvePriceFeed.sol": { "keccak256": "0xa8ddbd75bb5cb702b539b963c2694a8abcbd19eb801a36a42c0537f69ad26b42", "urls": [ "bzz-raw://b6422a1ebdf7198942cee6b61ae807887a77864abc0b1bc16dba55c7b5f3ca90", "dweb:/ipfs/QmXNCQkT5Er6NvKBJnhk9jR4T1KhNeorAr8F6K6dQPjztx" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/staking-wrappers/IStakingWrapper.sol": { "keccak256": "0xaeb9aba4e74eb3243a85090fded7b157969cf83e1f4159b1da2f662a3e7b15be", "urls": [ "bzz-raw://92346911c044a54808d2d425fe58c6dc9594dfafb8d83496f6599e3bc23803d0", "dweb:/ipfs/QmYWf7yx9ZfUnP81K1hjvApthqNhpXzUhGuFBm4gX1aDRB" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/staking-wrappers/StakingWrapperBase.sol": { "keccak256": "0x3e28050fbe625f1469701b231772ce321e719ddbce4f84b6caa1d8d634a4234a", "urls": [ "bzz-raw://f0871b7d6b595e444e598f68751225a596d969267c289a465462fdeb67530fc8", "dweb:/ipfs/QmX2z5QGP3kpKx9ruGnZHYH5bDCD9sjRGTRhg9SRiowctg" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/staking-wrappers/StakingWrapperLibBase.sol": { "keccak256": "0x94d4057419743d9354d77774e1e5279a5ed2fc70012ef28115357f9921bfb5be", "urls": [ "bzz-raw://d1e461f460a0339cada6cdfb0107bde47d236b336fec0ed470235ce7928666bb", "dweb:/ipfs/QmcMzSrcWTKyqgBAACVCidd2dpMfbeUtcQYu4D1ASiyFzk" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/staking-wrappers/convex-curve-lp/ConvexCurveLpStakingWrapperFactory.sol": { "keccak256": "0x4f7394dea52858ea7734ed8586377d1ebef39e1ca6aa5ed684fea7a7fe82b16a", "urls": [ "bzz-raw://c7a5181757151d6210193dfa97b3076edcfe3017b4fefbfbbe3ab848878d5996", "dweb:/ipfs/Qme9tTYoAhMkHVLbwKQoSdVJTec1p9zAPwzSe7RZFvnkYu" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/staking-wrappers/convex-curve-lp/ConvexCurveLpStakingWrapperLib.sol": { "keccak256": "0x1ec08f37e592766bb7f0d62edb04261bcd3c26154bb5dc437465f836fabf3427", "urls": [ "bzz-raw://0265250d2255bcb61fdb1842e7dbb26e4d56a11a1e3fd87f0790644277bb7259", "dweb:/ipfs/Qmb5kVMTr86qYkJu8o1YNwnCrbUJMhmhnFHMrdx2vZhdED" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IConvexBaseRewardPool.sol": { "keccak256": "0x7c82b546c3c339c6f602191bc9062d6887af7db438800359c0547aa6bb025acc", "urls": [ "bzz-raw://13a488b1d715000d1ed9415917a8f9c347ec91b04770b74746facacd88e2e105", "dweb:/ipfs/QmaHJKxagREc7Mbq8SkSbWgzwk8bNSFTwojAD5hNemwy1Y" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IConvexBooster.sol": { "keccak256": "0x6e7561d2d7e71a0c89a6e62445de5c54c2e50d17877b23d8b5af10721dd90ed5", "urls": [ "bzz-raw://772cf7f429a04a557d3b0ed36a73390da64fd93a9df253e0c7e9ebeeecd063ea", "dweb:/ipfs/QmXjfnXmtGV67wypxof8nWVTkXAEZqBpFjYePfr17K8rAL" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IConvexVirtualBalanceRewardPool.sol": { "keccak256": "0x45a7d783e4088cf1b5dcb548da2fce6b0caa9c572c43af9f39aff46498fa101c", "urls": [ "bzz-raw://82ed678230fe900991bd81a6c31dae01d120fe5521f96d1cc36c40334385f907", "dweb:/ipfs/QmYre4JtyoXmetrYUwFMrPKwBY1NEm2XYdgMiAR7Z7P2jW" ], "license": "GPL-3.0" }, "contracts/release/interfaces/ICurveAddressProvider.sol": { "keccak256": "0xf8da903700c623760de62b3e5d0b01997c68b8847391e23b89081128780e55e1", "urls": [ "bzz-raw://735b71b448d4d5c78e98ead84bf8f8e1e94e38ff8a77c7e4f9cc944d1d73e7df", "dweb:/ipfs/QmXFgGFVEvQW9wpeBspcaVAXwCcxvnNJZLafTeP2HPArNQ" ], "license": "GPL-3.0" }, "contracts/release/interfaces/ICurveLiquidityPool.sol": { "keccak256": "0xd90f3399805f90d670098cc451f9948b8da7dd68be821617c76487fdc20f0731", "urls": [ "bzz-raw://ba6e6e5bf761fa279329a564741e5cd2b78c5be2e50c388ac419c3d84736c9a1", "dweb:/ipfs/QmZ96kkg7oHLmdzwQLYbZVHDvKj8jZEJLaxNXy1j3sbgrn" ], "license": "GPL-3.0" }, "contracts/release/interfaces/ICurvePoolOwner.sol": { "keccak256": "0x42a03eb0d757153add18d4f42b5b464041056e23f6965a48705088ddd213c336", "urls": [ "bzz-raw://a4166f75c4c80b8f069ae2b8cfe9bda2babca27fd30b239e30606eca69f8878c", "dweb:/ipfs/QmYNULkXYTaKQUiCA8htR9KbCkK5YhrHfJgKtBqXiNPt9R" ], "license": "GPL-3.0" }, "contracts/release/interfaces/ICurveRegistryMain.sol": { "keccak256": "0x9e67cfcd4195bfd8db785be1cba42bf8871d0638770adaf04d638227b29a9b2b", "urls": [ "bzz-raw://cb2587e7026be73f27d4dd75deb44faeca3112a58ddc07bb87bca46d96fd977b", "dweb:/ipfs/QmTVdpCWZ9rv583gxP5Ycvs5Nf7jZTxVWr5oeZvywYNSSh" ], "license": "GPL-3.0" }, "contracts/release/interfaces/ICurveRegistryMetapoolFactory.sol": { "keccak256": "0x43aa6bfbda8ca1fdcb0890792e7969999146c690986938ac43818ca9b9343e58", "urls": [ "bzz-raw://3426ad7d87cd51519c288004f970da83bf672d60fc7d1c647af5e84855f6a4b5", "dweb:/ipfs/QmevngH3Acet8R6YHzGLRyNeEoUYfbnQm7NSbzHYN7rdpf" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IWETH.sol": { "keccak256": "0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2", "urls": [ "bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2", "dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ" ], "license": "GPL-3.0" }, "contracts/release/utils/AddressArrayLib.sol": { "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", "urls": [ "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" ], "license": "GPL-3.0" }, "contracts/release/utils/AssetHelpers.sol": { "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", "urls": [ "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" ], "license": "GPL-3.0" }, "contracts/release/utils/FundDeployerOwnerMixin.sol": { "keccak256": "0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934", "urls": [ "bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927", "dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM" ], "license": "GPL-3.0" }, "contracts/release/utils/beacon-proxy/BeaconProxy.sol": { "keccak256": "0x7a0a6c511a30434a9b329226b0cf1a05ec426ddbfc4e1d9b9083978ee4cf6d53", "urls": [ "bzz-raw://692d3a116ecf306f20a3d29dc70846099ce46ba281524a502336325a6cd05667", "dweb:/ipfs/QmTGxmDWMcMtGEsPLzVB8eyK3WDqaCwoChuc24RXuSzwVb" ], "license": "GPL-3.0" }, "contracts/release/utils/beacon-proxy/BeaconProxyFactory.sol": { "keccak256": "0xd35fa5134e3a8694ed1dbbc8dcd4b4d5b459608c23097a95984e1b98af3e64d9", "urls": [ "bzz-raw://1c008f83ac64b316479406cbf0287593a810d453825a2f669b5810c51429f9fc", "dweb:/ipfs/QmNtdtcWGZFpnb3LsshwV5BiM5H1Vz8SGpoqMchUyfuhQx" ], "license": "GPL-3.0" }, "contracts/release/utils/beacon-proxy/IBeacon.sol": { "keccak256": "0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2", "urls": [ "bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39", "dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V" ], "license": "GPL-3.0" }, "contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol": { "keccak256": "0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc", "urls": [ "bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be", "dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", "urls": [ "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Address.sol": { "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", "urls": [ "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/ReentrancyGuard.sol": { "keccak256": "0x8bbbc2f5c10065ee272592ae0a7a6ceb23de2fbd81564ee0bb015ecf404d5f61", "urls": [ "bzz-raw://b95e56c1640d0ef789fc5c16269e141e992f6c8ac97cc6d377bd3825e9cab182", "dweb:/ipfs/QmVzaxJZY51EhagrcNnkxoU6Uq17RhATe7aHvtkC6wUkgK" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Strings.sol": { "keccak256": "0xa1e12f97981f1d0964b1c048978606a57127c56c438bab61cdfe269cad859a74", "urls": [ "bzz-raw://5eefac1760f524971e14aa3f3d79515a3d54fd28c1d3bdca0b36127da349b830", "dweb:/ipfs/QmUMzkyH3ytJX5gVPizQruNLhkKmuJb3nFqBDad4LPdg5U" ], "license": "MIT" } }, "version": 1 }, "id": 166 } diff --git a/eth_defi/abi/enzyme/ConvexCurveLpStakingWrapperFactory.json b/eth_defi/abi/enzyme/ConvexCurveLpStakingWrapperFactory.json index 56680b68..581be71b 100644 --- a/eth_defi/abi/enzyme/ConvexCurveLpStakingWrapperFactory.json +++ b/eth_defi/abi/enzyme/ConvexCurveLpStakingWrapperFactory.json @@ -1,801 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_dispatcher", - "type": "address" - }, - { - "internalType": "address", - "name": "_convexBooster", - "type": "address" - }, - { - "internalType": "address", - "name": "_crvToken", - "type": "address" - }, - { - "internalType": "address", - "name": "_cvxToken", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "nextCanonicalLib", - "type": "address" - } - ], - "name": "CanonicalLibSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "caller", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "proxy", - "type": "address" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "constructData", - "type": "bytes" - } - ], - "name": "ProxyDeployed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint256", - "name": "pid", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "wrapperProxy", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "curveLpToken", - "type": "address" - } - ], - "name": "WrapperDeployed", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_pid", - "type": "uint256" - } - ], - "name": "deploy", - "outputs": [ - { - "internalType": "address", - "name": "wrapperProxy_", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "_constructData", - "type": "bytes" - } - ], - "name": "deployProxy", - "outputs": [ - { - "internalType": "address", - "name": "proxy_", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getCanonicalLib", - "outputs": [ - { - "internalType": "address", - "name": "canonicalLib_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_wrapper", - "type": "address" - } - ], - "name": "getCurveLpTokenForWrapper", - "outputs": [ - { - "internalType": "address", - "name": "lpToken_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "owner_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_pid", - "type": "uint256" - } - ], - "name": "getWrapperForConvexPool", - "outputs": [ - { - "internalType": "address", - "name": "wrapper_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_wrappers", - "type": "address[]" - } - ], - "name": "pauseWrappers", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_nextCanonicalLib", - "type": "address" - } - ], - "name": "setCanonicalLib", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_wrappers", - "type": "address[]" - } - ], - "name": "unpauseWrappers", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x60a06040523480156200001157600080fd5b50604051620046e6380380620046e683398101604081905262000034916200012b565b60006200004181620000b2565b50836001600160a01b03166080816001600160a01b031660601b81525050620000a83084848460405162000075906200010a565b620000849493929190620001b6565b604051809103906000f080158015620000a1573d6000803e3d6000fd5b50620000b2565b5050505062000228565b600080546001600160a01b0319166001600160a01b0383161790556040517f9007c6c0b3b1622c381c19563620e3ce8b824e958af3020495bd6654e8a0310a90620000ff908390620001a6565b60405180910390a150565b613552806200119483390190565b805162000125816200020e565b92915050565b600080600080608085870312156200014257600080fd5b600062000150878762000118565b9450506020620001638782880162000118565b9350506040620001768782880162000118565b9250506060620001898782880162000118565b91505092959194509250565b620001a081620001fc565b82525050565b6020810162000125828462000195565b60808101620001c6828762000195565b620001d5602083018662000195565b620001e4604083018562000195565b620001f3606083018462000195565b95945050505050565b60006001600160a01b03821662000125565b6200021981620001fc565b81146200022557600080fd5b50565b60805160601c610f4e620002466000398061023a5250610f4e6000f3fe60806040523480156200001157600080fd5b5060043610620000a05760003560e01c80638aeb8b84116200006f5780638aeb8b84146200010c57806397b02f0c146200012557806398a7c4c7146200013c578063a5e387511462000146578063d0ac1a8d146200015d57620000a0565b80630c0872f514620000a55780631c25201c14620000d4578063456b4a3714620000eb578063893d20e81462000102575b600080fd5b620000bc620000b636600462000866565b62000174565b604051620000cb919062000a05565b60405180910390f35b620000bc620000e53660046200089f565b620001fd565b620000bc620000fc366004620007d6565b62000218565b620000bc62000236565b620001236200011d36600462000820565b620002d2565b005b620001236200013636600462000820565b620003bc565b620000bc62000498565b620000bc620001573660046200089f565b620004a7565b620001236200016e366004620007d6565b62000650565b600081306040516200018690620006f3565b6200019392919062000a6f565b604051809103906000f080158015620001b0573d6000803e3d6000fd5b509050336001600160a01b03167f8f1eab90fee81d885732c2e07a3a9b9f6c32278756471123fa57486858c3f7018284604051620001f092919062000a3b565b60405180910390a2919050565b6000908152600160205260409020546001600160a01b031690565b6001600160a01b039081166000908152600260205260409020541690565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b1580156200029257600080fd5b505afa158015620002a7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002cd9190620007ff565b905090565b620002dc62000236565b6001600160a01b0316336001600160a01b031614620003185760405162461bcd60e51b81526004016200030f9062000a93565b60405180910390fd5b60005b81811015620003b7578282828181106200033157fe5b9050602002016020810190620003489190620007d6565b6001600160a01b03166357d159c660006040518263ffffffff1660e01b815260040162000376919062000a5f565b600060405180830381600087803b1580156200039157600080fd5b505af1158015620003a6573d6000803e3d6000fd5b5050600190920191506200031b9050565b505050565b620003c662000236565b6001600160a01b0316336001600160a01b031614620003f95760405162461bcd60e51b81526004016200030f9062000a93565b60005b81811015620003b7578282828181106200041257fe5b9050602002016020810190620004299190620007d6565b6001600160a01b03166357d159c660016040518263ffffffff1660e01b815260040162000457919062000a5f565b600060405180830381600087803b1580156200047257600080fd5b505af115801562000487573d6000803e3d6000fd5b505060019092019150620003fc9050565b6000546001600160a01b031690565b600080620004b583620001fd565b6001600160a01b031614620004de5760405162461bcd60e51b81526004016200030f9062000aa5565b606063b7b0422d60e01b83604051602401620004fb919062000ac9565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915290506200053a8162000174565b600084815260016020908152604080832080546001600160a01b0319166001600160a01b0386169081179091558151632e266ba960e21b81529151949650929363b899aea492600480840193919291829003018186803b1580156200059e57600080fd5b505afa158015620005b3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620005d99190620007ff565b6001600160a01b038481166000908152600260205260409081902080546001600160a01b031916928416929092179091555190915084907fe547dfbae0eb3c2c335669b841fa076eb2a1a64eab9bd2fb49868b5e624586f19062000641908690859062000a15565b60405180910390a25050919050565b6200065a62000236565b6001600160a01b0316336001600160a01b0316146200068d5760405162461bcd60e51b81526004016200030f9062000ab7565b62000698816200069b565b50565b600080546001600160a01b0319166001600160a01b0383161790556040517f9007c6c0b3b1622c381c19563620e3ce8b824e958af3020495bd6654e8a0310a90620006e890839062000a05565b60405180910390a150565b61037e8062000bc483390190565b80356200070e8162000ba1565b92915050565b80516200070e8162000ba1565b60008083601f8401126200073457600080fd5b50813567ffffffffffffffff8111156200074d57600080fd5b6020830191508360208202830111156200076657600080fd5b9250929050565b600082601f8301126200077f57600080fd5b813562000796620007908262000b01565b62000ad9565b91508082526020830160208301858383011115620007b357600080fd5b620007c083828462000b58565b50505092915050565b80356200070e8162000bb8565b600060208284031215620007e957600080fd5b6000620007f7848462000701565b949350505050565b6000602082840312156200081257600080fd5b6000620007f7848462000714565b600080602083850312156200083457600080fd5b823567ffffffffffffffff8111156200084c57600080fd5b6200085a8582860162000721565b92509250509250929050565b6000602082840312156200087957600080fd5b813567ffffffffffffffff8111156200089157600080fd5b620007f7848285016200076d565b600060208284031215620008b257600080fd5b6000620007f78484620007c9565b620008cb8162000b37565b82525050565b620008cb8162000b44565b6000620008e98262000b2a565b620008f5818562000b2e565b93506200090781856020860162000b64565b620009128162000b97565b9093019392505050565b60006200092b60258362000b2e565b7f4f6e6c7920746865206f776e65722063616e2063616c6c20746869732066756e81526431ba34b7b760d91b602082015260400192915050565b600062000974601e8362000b2e565b7f6465706c6f793a205772617070657220616c7265616479206578697374730000815260200192915050565b6000620009af60368362000b2e565b7f73657443616e6f6e6963616c4c69623a204f6e6c7920746865206f776e65722081527531b0b71031b0b636103a3434b990333ab731ba34b7b760511b602082015260400192915050565b620008cb8162000b55565b602081016200070e8284620008c0565b6040810162000a258285620008c0565b62000a346020830184620008c0565b9392505050565b6040810162000a4b8285620008c0565b8181036020830152620007f78184620008dc565b602081016200070e8284620008d1565b6040808252810162000a828185620008dc565b905062000a346020830184620008c0565b602080825281016200070e816200091c565b602080825281016200070e8162000965565b602080825281016200070e81620009a0565b602081016200070e8284620009fa565b60405181810167ffffffffffffffff8111828210171562000af957600080fd5b604052919050565b600067ffffffffffffffff82111562000b1957600080fd5b506020601f91909101601f19160190565b5190565b90815260200190565b60006200070e8262000b49565b151590565b6001600160a01b031690565b90565b82818337506000910152565b60005b8381101562000b8157818101518382015260200162000b67565b8381111562000b91576000848401525b50505050565b601f01601f191690565b62000bac8162000b37565b81146200069857600080fd5b62000bac8162000b5556fe60a060405234801561001057600080fd5b5060405161037e38038061037e8339818101604052604081101561003357600080fd5b810190808051604051939291908464010000000082111561005357600080fd5b90830190602082018581111561006857600080fd5b825164010000000081118282018810171561008257600080fd5b82525081516020918201929091019080838360005b838110156100af578181015183820152602001610097565b50505050905090810190601f1680156100dc5780820380516001836020036101000a031916815260200191505b506040818152602092830151606081811b6001600160601b0319166080526398a7c4c760e01b845291519095506000945090926001600160a01b038616926398a7c4c79260048083019392829003018186803b15801561013b57600080fd5b505afa15801561014f573d6000803e3d6000fd5b505050506040513d602081101561016557600080fd5b505160405185516001600160a01b0390921691869190819060208401908083835b602083106101a55780518252601f199092019160209182019101610186565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610205576040519150601f19603f3d011682016040523d82523d6000602084013e61020a565b606091505b509150915081819061029a5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561025f578181015183820152602001610247565b50505050905090810190601f16801561028c5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050505060805160601c60c56102b960003980600e525060c56000f3fe608060405236600a57005b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166398a7c4c76040518163ffffffff1660e01b815260040160206040518083038186803b158015606457600080fd5b505afa1580156077573d6000803e3d6000fd5b505050506040513d6020811015608c57600080fd5b505190503660008037600080366000846127105a03f43d806000803e81801560b357816000f35b816000fdfea164736f6c634300060c000aa164736f6c634300060c000a6101006040523480156200001257600080fd5b506040516200355238038062003552833981016040819052620000359162000174565b604080516020808201808452600080845284519283019094529281528151879383918391620000689160039190620000c5565b5080516200007e906004906020840190620000c5565b50506005805460ff1916601217905550506001600655506001600160601b0319606091821b811660805293811b841660a05291821b831660c052901b1660e052506200020a565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200010857805160ff191683800117855562000138565b8280016001018555821562000138579182015b82811115620001385782518255916020019190600101906200011b565b50620001469291506200014a565b5090565b5b808211156200014657600081556001016200014b565b80516200016e81620001f0565b92915050565b600080600080608085870312156200018b57600080fd5b600062000199878762000161565b9450506020620001ac8782880162000161565b9350506040620001bf8782880162000161565b9250506060620001d28782880162000161565b91505092959194509250565b60006001600160a01b0382166200016e565b620001fb81620001de565b81146200020757600080fd5b50565b60805160601c60a05160601c60c05160601c60e05160601c6132fc6200025660003980610d12525080610ce95250806108f25280610ae55280611dcd52508061083352506132fc6000f3fe608060405234801561001057600080fd5b50600436106101da5760003560e01c806382e5d07311610104578063b187bd26116100a2578063c4f59f9b11610071578063c4f59f9b146103c6578063d12f8df0146103db578063dd62ed3e146103e3578063ffaad6a5146103f6576101da565b8063b187bd2614610390578063b6b55f2514610398578063b7b0422d146103ab578063b899aea4146103be576101da565b80639655dd61116100de5780639655dd6114610344578063a457c2d714610357578063a7d2793f1461036a578063a9059cbb1461037d576101da565b806382e5d0731461032c5780638757b15b1461033457806395d89b411461033c576101da565b806323b872dd1161017c578063395093511161014b57806339509351146102e057806357d159c6146102f357806370a082311461030657806373e2290c14610319576101da565b806323b872dd146102925780632cfafabe146102a5578063313ce567146102b857806338d07436146102cd576101da565b8063095ea7b3116101b8578063095ea7b31461022757806318160ddd146102475780631ac6d19d1461025c57806320c718101461027d576101da565b80630663b22c146101df57806306fdde03146101e9578063093f636514610207575b600080fd5b6101e7610409565b005b6101f1610597565b6040516101fe9190612f7e565b60405180910390f35b61021a6102153660046125c9565b61062d565b6040516101fe91906130af565b61023a6102353660046126b1565b610688565b6040516101fe9190612f70565b61024f6106a5565b6040516101fe91906130bd565b61026f61026a36600461258d565b6106ab565b6040516101fe929190612f4b565b6102856106f7565b6040516101fe9190612e91565b61023a6102a0366004612603565b610706565b6101e76102b3366004612650565b61078e565b6102c06107bb565b6040516101fe9190613137565b61026f6102db3660046127ef565b6107c0565b61023a6102ee3660046126b1565b6107da565b6101e7610301366004612724565b610828565b61024f61031436600461258d565b6108b9565b6101e76103273660046126e1565b6108d4565b61024f6108e7565b6101e76108ed565b6101f161092e565b61021a61035236600461258d565b61098f565b61023a6103653660046126b1565b6109d9565b6102856103783660046127b3565b610a41565b61023a61038b3660046126b1565b610a6b565b61023a610a7f565b6101e76103a63660046127b3565b610a88565b6101e76103b93660046127b3565b610a96565b610285610d4a565b6103ce610d59565b6040516101fe9190612f3a565b61024f610dba565b61024f6103f13660046125c9565b610dc0565b6101e76104043660046126b1565b610deb565b60006104136106f7565b90506000816001600160a01b031663d55a23f46040518163ffffffff1660e01b815260040160206040518083038186803b15801561045057600080fd5b505afa158015610464573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061048891906127d1565b905060005b8181101561059257604051632061aa2360e11b815261058a906001600160a01b038516906340c35446906104c59085906004016130bd565b60206040518083038186803b1580156104dd57600080fd5b505afa1580156104f1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061051591906125ab565b6001600160a01b031663f7c618c16040518163ffffffff1660e01b815260040160206040518083038186803b15801561054d57600080fd5b505afa158015610561573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061058591906125ab565b610df6565b60010161048d565b505050565b600b8054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156106235780601f106105f857610100808354040283529160200191610623565b820191906000526020600020905b81548152906001019060200180831161060657829003601f168201915b5050505050905090565b610635612381565b506001600160a01b038082166000908152600a602090815260408083209386168352928152908290208251808401909352546001600160801b038082168452600160801b90910416908201525b92915050565b600061069c610695610ee2565b8484610ee6565b50600192915050565b60025490565b606080600260065414156106da5760405162461bcd60e51b81526004016106d19061307f565b60405180910390fd5b60026006556106e883610f9a565b60016006559094909350915050565b600d546001600160a01b031690565b60006107138484846110ef565b6107838461071f610ee2565b61077e856040518060600160405280602881526020016132a3602891396001600160a01b038a1660009081526001602052604081209061075d610ee2565b6001600160a01b031681526020810191909152604001600020549190611153565b610ee6565b5060015b9392505050565b6107a7843361077e856107a18933610dc0565b9061117f565b6107b3848484846111a7565b505050505050565b601290565b6060806107cf333386866111a7565b915091509250929050565b600061069c6107e7610ee2565b8461077e85600160006107f8610ee2565b6001600160a01b03908116825260208083019390935260409182016000908120918c16815292529020549061128a565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146108705760405162461bcd60e51b81526004016106d190612f9f565b6007805460ff19168215151790556040517f9077d36bc00859b5c3f320310707208543dd35092cb0a0fe117d0c6a558b148b906108ae908390612f70565b60405180910390a150565b6001600160a01b031660009081526020819052604090205490565b6108e0338484846111a7565b5050505050565b60085490565b61092c7f000000000000000000000000000000000000000000000000000000000000000060001961091c610d4a565b6001600160a01b031691906112af565b565b600c8054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156106235780601f106105f857610100808354040283529160200191610623565b610997612381565b506001600160a01b03166000908152600960209081526040918290208251808401909352546001600160801b038082168452600160801b909104169082015290565b600061069c6109e6610ee2565b8461077e856040518060600160405280602581526020016132cb6025913960016000610a10610ee2565b6001600160a01b03908116825260208083019390935260409182016000908120918d16815292529020549190611153565b600060088281548110610a5057fe5b6000918252602090912001546001600160a01b031692915050565b600061069c610a78610ee2565b84846110ef565b60075460ff1690565b610a933333836113a9565b50565b6000610aa0610d4a565b6001600160a01b031614610ac65760405162461bcd60e51b81526004016106d19061301f565b610ace612398565b604051631526fe2760e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690631526fe2790610b1a9085906004016130bd565b60c06040518083038186803b158015610b3257600080fd5b505afa158015610b46573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b6a9190612795565b9050610c0c81602001516001600160a01b03166306fdde036040518163ffffffff1660e01b815260040160006040518083038186803b158015610bac57600080fd5b505afa158015610bc0573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610be89190810190612760565b604051602001610bf89190612e6f565b604051602081830303815290604052611485565b610cac81602001516001600160a01b03166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b158015610c4c57600080fd5b505afa158015610c60573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610c889190810190612760565b604051602001610c989190612e86565b6040516020818303038152906040526114c8565b8051600f80546001600160a01b039283166001600160a01b0319918216179091556060830151600d8054919093169116179055600e829055610d0d7f0000000000000000000000000000000000000000000000000000000000000000610df6565b610d367f0000000000000000000000000000000000000000000000000000000000000000610df6565b610d3e610409565b610d466108ed565b5050565b600f546001600160a01b031690565b6060600880548060200260200160405190810160405280929190818152602001828054801561062357602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610d93575050505050905090565b600e5490565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b610d463383836113a9565b610e63816008805480602002602001604051908101604052809291908181526020018280548015610e5057602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610e32575b505050505061150b90919063ffffffff16565b610a9357600880546001810182556000919091527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30180546001600160a01b0319166001600160a01b0383161790556040517ff3e4c2c64e71e6ba2eaab9a599bced62f9eb91d2cda610bf41aa8c80ff2cf826906108ae908390612e91565b3390565b6001600160a01b038316610f0c5760405162461bcd60e51b81526004016106d19061304f565b6001600160a01b038216610f325760405162461bcd60e51b81526004016106d190612fbf565b6001600160a01b0380841660008181526001602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610f8d9085906130bd565b60405180910390a3505050565b606080610fa5610a7f565b610fb157610fb1611561565b6000610fbb6106a5565b600880546040805160208084028201810190925282815293945083018282801561100e57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610ff0575b50505050509250825167ffffffffffffffff8111801561102d57600080fd5b50604051908082528060200260200182016040528015611057578160200160208202803683370190505b50915060005b83518110156110a35761108484828151811061107557fe5b602002602001015186846115e3565b83828151811061109057fe5b602090810291909101015260010161105d565b50836001600160a01b03167fc17f1458d7773c19369fc6c68a3b4c44b675c86c50c997d58853aed5e38de6cd3385856040516110e193929190612e9f565b60405180910390a250915091565b600260065414156111125760405162461bcd60e51b81526004016106d19061307f565b6002600655604080518082019091526001600160a01b0380851682528316602082015261113e9061194b565b6111498383836119b4565b5050600160065550565b600081848411156111775760405162461bcd60e51b81526004016106d19190612f7e565b505050900390565b6000828211156111a15760405162461bcd60e51b81526004016106d190612fdf565b50900390565b606080600260065414156111cd5760405162461bcd60e51b81526004016106d19061307f565b600260065582156111eb576111e186610f9a565b9092509050611211565b604080518082019091526001600160a01b0387168152600060208201526112119061194b565b61121b8685611ac9565b6112258585611bab565b846001600160a01b0316866001600160a01b0316336001600160a01b03167fa4195c37c2947bbe89165f03e320b6903116f0b10d8cfdb522330f7ce6f9fa248760405161127291906130bd565b60405180910390a46001600655909590945092505050565b6000828201838110156107875760405162461bcd60e51b81526004016106d190612fcf565b8015806113375750604051636eb1769f60e11b81526001600160a01b0384169063dd62ed3e906112e59030908690600401612edc565b60206040518083038186803b1580156112fd57600080fd5b505afa158015611311573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061133591906127d1565b155b6113535760405162461bcd60e51b81526004016106d19061308f565b6105928363095ea7b360e01b8484604051602401611372929190612f1f565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152611c51565b600260065414156113cc5760405162461bcd60e51b81526004016106d19061307f565b60026006556113d9610a7f565b156113f65760405162461bcd60e51b81526004016106d190612f8f565b604080518082019091526001600160a01b03831681526000602082015261141c9061194b565b6114268282611ce0565b6114308382611d94565b816001600160a01b0316836001600160a01b03167f8752a472e571a816aea92eec8dae9baf628e840f4929fbcc2d155e6233ff68a78360405161147391906130bd565b60405180910390a35050600160065550565b805161149890600b9060208401906123cd565b507f12e9cab73c0c48661414f76e810af7d10c67f0db958722bf9f26b28a4b4afd69816040516108ae9190612f7e565b80516114db90600c9060208401906123cd565b507f862f26027c5033c09d43eacd856547decb3227c210f6eb7b6bdc0cf5edaa3f4b816040516108ae9190612f7e565b6000805b83518110156115575783818151811061152457fe5b60200260200101516001600160a01b0316836001600160a01b0316141561154f576001915050610682565b60010161150f565b5060009392505050565b611569610409565b6115716106f7565b6001600160a01b0316633d18b9126040518163ffffffff1660e01b8152600401602060405180830381600087803b1580156115ab57600080fd5b505af11580156115bf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a939190612742565b6001600160a01b038316600081815260096020526040808220805491516370a0823160e01b8152929390926001600160801b0390921691849161169e918791906370a0823190611637903090600401612e91565b60206040518083038186803b15801561164f57600080fd5b505afa158015611663573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061168791906127d1565b8554600160801b90046001600160801b0316611e58565b90508015611710576116b0828261128a565b83546001600160801b0319166001600160801b0382161784556040519092506001600160a01b038816907f64dcb34f2e45bc61753d72992aa4199ec96717158435e8085568ff38844bcd1c906117079085906130bd565b60405180910390a25b6001600160a01b038781166000908152600a60209081526040808320938a1683529290522080546001600160801b03600160801b82048116965016838110156117d15781546001600160801b0319166001600160801b03851617825561178161177a898684611ea3565b879061128a565b9550886001600160a01b0316886001600160a01b03167fe3bdf7e684a4024370a702abfcca4a32b08642aadc27065f3356458bd23e977e86896040516117c8929190613101565b60405180910390a35b85156118475781546001600160801b031682556117f86001600160a01b038a168988611ed5565b886001600160a01b0316886001600160a01b03167fe3bdf7e684a4024370a702abfcca4a32b08642aadc27065f3356458bd23e977e86600060405161183e9291906130e6565b60405180910390a35b6040516370a0823160e01b81526000906001600160a01b038b16906370a0823190611876903090600401612e91565b60206040518083038186803b15801561188e57600080fd5b505afa1580156118a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118c691906127d1565b8654909150600160801b90046001600160801b031681101561193e5785546001600160801b03808316600160801b0291161786556040516001600160a01b038b16907fdeb2652df61fdedd2d231dc4d777175097cc26369032d339be2a6db36d7754f2906119359084906130bd565b60405180910390a25b5050505050509392505050565b611953610a7f565b61195f5761195f611561565b60006119696106a5565b60085490915060005b818110156119ae576119a66008828154811061198a57fe5b6000918252602090912001546001600160a01b03168585611ef4565b600101611972565b50505050565b6001600160a01b0383166119da5760405162461bcd60e51b81526004016106d19061303f565b6001600160a01b038216611a005760405162461bcd60e51b81526004016106d190612faf565b611a0b838383610592565b611a488160405180606001604052806026815260200161327d602691396001600160a01b0386166000908152602081905260409020549190611153565b6001600160a01b038085166000908152602081905260408082209390935590841681522054611a77908261128a565b6001600160a01b0380841660008181526020819052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610f8d9085906130bd565b6001600160a01b038216611aef5760405162461bcd60e51b81526004016106d19061302f565b611afb82600083610592565b611b388160405180606001604052806022815260200161325b602291396001600160a01b0385166000908152602081905260409020549190611153565b6001600160a01b038316600090815260208190526040902055600254611b5e908261117f565b6002556040516000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611b9f9085906130bd565b60405180910390a35050565b611bb36106f7565b6001600160a01b031663c32e72028260006040518363ffffffff1660e01b8152600401611be19291906130cb565b602060405180830381600087803b158015611bfb57600080fd5b505af1158015611c0f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c339190612742565b50610d468282611c41610d4a565b6001600160a01b03169190611ed5565b6060611ca6826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166121e59092919063ffffffff16565b8051909150156105925780806020019051810190611cc49190612742565b6105925760405162461bcd60e51b81526004016106d19061306f565b6001600160a01b038216611d065760405162461bcd60e51b81526004016106d19061309f565b611d1260008383610592565b600254611d1f908261128a565b6002556001600160a01b038216600090815260208190526040902054611d45908261128a565b6001600160a01b0383166000818152602081905260408082209390935591519091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611b9f9085906130bd565b611db3823083611da2610d4a565b6001600160a01b03169291906121f4565b600e546040516321d0683360e11b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016916343a0d06691611e069190859060019060040161310f565b602060405180830381600087803b158015611e2057600080fd5b505af1158015611e34573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105929190612742565b60008315611557576000611e6c848461117f565b90508015611e9857611e9085611e8a83670de0b6b3a7640000612215565b9061224f565b915050610787565b505060009392505050565b6000611ecd670de0b6b3a7640000611e8a611ebe868661117f565b611ec7886108b9565b90612215565b949350505050565b6105928363a9059cbb60e01b8484604051602401611372929190612f1f565b6001600160a01b038316600081815260096020526040808220805491516370a0823160e01b815290936001600160801b039092169291906370a0823190611f3f903090600401612e91565b60206040518083038186803b158015611f5757600080fd5b505afa158015611f6b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f8f91906127d1565b8354909150600090611fb49086908490600160801b90046001600160801b0316611e58565b9050801561208157611fc6838261128a565b84546001600160801b0319166001600160801b0382161785556040519093506001600160a01b038816907f64dcb34f2e45bc61753d72992aa4199ec96717158435e8085568ff38844bcd1c9061201d9086906130bd565b60405180910390a283546001600160801b03808416600160801b0291161784556040516001600160a01b038816907fdeb2652df61fdedd2d231dc4d777175097cc26369032d339be2a6db36d7754f2906120789085906130bd565b60405180910390a25b60005b60028110156121db57600087826002811061209b57fe5b60200201516001600160a01b031614156120b4576121d3565b6001600160a01b0388166000908152600a60205260408120818984600281106120d957fe5b602090810291909101516001600160a01b0316825281019190915260400160002080549091506001600160801b0316858110156121d05760006121486121308b866002811061212457fe5b60200201518985611ea3565b8454600160801b90046001600160801b03169061128a565b83546001600160801b03196001600160801b03918216600160801b84841602171690891617845590506001600160a01b038b168a856002811061218757fe5b60200201516001600160a01b03167fe3bdf7e684a4024370a702abfcca4a32b08642aadc27065f3356458bd23e977e89846040516121c6929190613101565b60405180910390a3505b50505b600101612084565b5050505050505050565b6060611ecd8484600085612281565b6119ae846323b872dd60e01b85858560405160240161137293929190612ef7565b60008261222457506000610682565b8282028284828161223157fe5b04146107875760405162461bcd60e51b81526004016106d19061300f565b60008082116122705760405162461bcd60e51b81526004016106d190612fff565b81838161227957fe5b049392505050565b6060824710156122a35760405162461bcd60e51b81526004016106d190612fef565b6122ac85612342565b6122c85760405162461bcd60e51b81526004016106d19061305f565b60006060866001600160a01b031685876040516122e59190612e63565b60006040518083038185875af1925050503d8060008114612322576040519150601f19603f3d011682016040523d82523d6000602084013e612327565b606091505b5091509150612337828286612348565b979650505050505050565b3b151590565b60608315612357575081610787565b8251156123675782518084602001fd5b8160405162461bcd60e51b81526004016106d19190612f7e565b604080518082019091526000808252602082015290565b6040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a081019190915290565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061240e57805160ff191683800117855561243b565b8280016001018555821561243b579182015b8281111561243b578251825591602001919060010190612420565b5061244792915061244b565b5090565b5b80821115612447576000815560010161244c565b803561068281613234565b805161068281613234565b803561068281613248565b805161068281613248565b600082601f83011261249d57600080fd5b81516124b06124ab8261316c565b613145565b915080825260208301602083018583830111156124cc57600080fd5b6124d78382846131fe565b50505092915050565b600060c082840312156124f257600080fd5b6124fc60c0613145565b9050600061250a848461246b565b825250602061251b8484830161246b565b602083015250604061252f8482850161246b565b60408301525060606125438482850161246b565b60608301525060806125578482850161246b565b60808301525060a061256b84828501612481565b60a08301525092915050565b803561068281613251565b805161068281613251565b60006020828403121561259f57600080fd5b6000611ecd8484612460565b6000602082840312156125bd57600080fd5b6000611ecd848461246b565b600080604083850312156125dc57600080fd5b60006125e88585612460565b92505060206125f985828601612460565b9150509250929050565b60008060006060848603121561261857600080fd5b60006126248686612460565b935050602061263586828701612460565b925050604061264686828701612577565b9150509250925092565b6000806000806080858703121561266657600080fd5b60006126728787612460565b945050602061268387828801612460565b935050604061269487828801612577565b92505060606126a587828801612476565b91505092959194509250565b600080604083850312156126c457600080fd5b60006126d08585612460565b92505060206125f985828601612577565b6000806000606084860312156126f657600080fd5b60006127028686612460565b935050602061271386828701612577565b925050604061264686828701612476565b60006020828403121561273657600080fd5b6000611ecd8484612476565b60006020828403121561275457600080fd5b6000611ecd8484612481565b60006020828403121561277257600080fd5b815167ffffffffffffffff81111561278957600080fd5b611ecd8482850161248c565b600060c082840312156127a757600080fd5b6000611ecd84846124e0565b6000602082840312156127c557600080fd5b6000611ecd8484612577565b6000602082840312156127e357600080fd5b6000611ecd8484612582565b6000806040838503121561280257600080fd5b600061280e8585612577565b92505060206125f985828601612476565b600061282b838361284e565b505060200190565b600061282b8383612e51565b612848816131dd565b82525050565b612848816131ac565b60006128628261319a565b61286c818561319e565b935061287783613194565b8060005b838110156128a557815161288f888261281f565b975061289a83613194565b92505060010161287b565b509495945050505050565b60006128bb8261319a565b6128c5818561319e565b93506128d083613194565b8060005b838110156128a55781516128e88882612833565b97506128f383613194565b9250506001016128d4565b612848816131b7565b60006129128261319a565b61291c81856131a7565b935061292c8185602086016131fe565b9290920192915050565b612848816131e8565b600061294a8261319a565b612954818561319e565b93506129648185602086016131fe565b61296d8161322a565b9093019392505050565b600061298460118361319e565b7017d7d9195c1bdcda5d0e8814185d5cd959607a1b815260200192915050565b60006129b160138361319e565b724f6e6c79206f776e65722063616c6c61626c6560681b815260200192915050565b60006129e060238361319e565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647281526265737360e81b602082015260400192915050565b6000612a25600f836131a7565b6e022b73d3cb6b29029ba30b5b2b21d1608d1b8152600f0192915050565b6000612a5060228361319e565b7f45524332303a20617070726f766520746f20746865207a65726f206164647265815261737360f01b602082015260400192915050565b6000612a94601b8361319e565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000612acd601e8361319e565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000612b0660268361319e565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f8152651c8818d85b1b60d21b602082015260400192915050565b6000612b4e601a8361319e565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b6000612b8760218361319e565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000612bca60118361319e565b701a5b9a5d0e88125b9a5d1a585b1a5e9959607a1b815260200192915050565b6000612bf760218361319e565b7f45524332303a206275726e2066726f6d20746865207a65726f206164647265738152607360f81b602082015260400192915050565b6000612c3a60258361319e565b7f45524332303a207472616e736665722066726f6d20746865207a65726f206164815264647265737360d81b602082015260400192915050565b6000612c816003836131a7565b6273746b60e81b815260030192915050565b6000612ca060248361319e565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164648152637265737360e01b602082015260400192915050565b6000612ce6601d8361319e565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000815260200192915050565b6000612d1f602a8361319e565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e8152691bdd081cdd58d8d9595960b21b602082015260400192915050565b6000612d6b601f8361319e565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00815260200192915050565b6000612da460368361319e565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f81527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b602082015260400192915050565b6000612dfc601f8361319e565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300815260200192915050565b80516040830190612e398482612e48565b5060208201516119ae60208501825b612848816131bc565b612848816131d4565b612848816131d7565b60006107878284612907565b6000612e7a82612a18565b91506107878284612907565b6000612e7a82612c74565b60208101610682828461284e565b60608101612ead828661283f565b8181036020830152612ebf8185612857565b90508181036040830152612ed381846128b0565b95945050505050565b60408101612eea828561284e565b610787602083018461284e565b60608101612f05828661284e565b612f12602083018561284e565b611ecd6040830184612e51565b60408101612f2d828561284e565b6107876020830184612e51565b602080825281016107878184612857565b60408082528101612f5c8185612857565b90508181036020830152611ecd81846128b0565b6020810161068282846128fe565b60208082528101610787818461293f565b6020808252810161068281612977565b60208082528101610682816129a4565b60208082528101610682816129d3565b6020808252810161068281612a43565b6020808252810161068281612a87565b6020808252810161068281612ac0565b6020808252810161068281612af9565b6020808252810161068281612b41565b6020808252810161068281612b7a565b6020808252810161068281612bbd565b6020808252810161068281612bea565b6020808252810161068281612c2d565b6020808252810161068281612c93565b6020808252810161068281612cd9565b6020808252810161068281612d12565b6020808252810161068281612d5e565b6020808252810161068281612d97565b6020808252810161068281612def565b604081016106828284612e28565b602081016106828284612e51565b604081016130d98285612e51565b61078760208301846128fe565b604081016130f48285612e51565b6107876020830184612936565b60408101612f2d8285612e51565b6060810161311d8286612e51565b61312a6020830185612e51565b611ecd60408301846128fe565b602081016106828284612e5a565b60405181810167ffffffffffffffff8111828210171561316457600080fd5b604052919050565b600067ffffffffffffffff82111561318357600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b919050565b6000610682826131c8565b151590565b6001600160801b031690565b6001600160a01b031690565b90565b60ff1690565b6000610682826131f3565b6000610682826131d4565b6000610682826131ac565b60005b83811015613219578181015183820152602001613201565b838111156119ae5750506000910152565b601f01601f191690565b61323d816131ac565b8114610a9357600080fd5b61323d816131b7565b61323d816131d456fe45524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa164736f6c634300060c000a", - "sourceMap": "662:3658:262:-:0;;;1175:510;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1342:1;787:32:365;1342:1:262;787:17:365;:32::i;:::-;735:91;1390:11:262::1;-1:-1:-1::0;;;;;1356:46:262::1;;;-1:-1:-1::0;;;;;1356:46:262::1;;;;;::::0;::::1;1413:265;1533:4;1560:14;1596:9;1627;1469:185;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;1413:17:262::1;:265::i;:::-;1175:510:::0;;;;662:3658;;2101:162:365;2174:12;:32;;-1:-1:-1;;;;;;2174:32:365;-1:-1:-1;;;;;2174:32:365;;;;;2222:34;;;;;;2174:32;;2222:34;:::i;:::-;;;;;;;;2101:162;:::o;662:3658:262:-;;;;;;;;:::o;5:134:-1:-;83:13;;101:33;83:13;101:33;:::i;:::-;68:71;;;;:::o;146:672::-;;;;;312:3;300:9;291:7;287:23;283:33;280:2;;;329:1;326;319:12;280:2;364:1;381:64;437:7;417:9;381:64;:::i;:::-;371:74;;343:108;482:2;500:64;556:7;547:6;536:9;532:22;500:64;:::i;:::-;490:74;;461:109;601:2;619:64;675:7;666:6;655:9;651:22;619:64;:::i;:::-;609:74;;580:109;720:2;738:64;794:7;785:6;774:9;770:22;738:64;:::i;:::-;728:74;;699:109;274:544;;;;;;;:::o;825:113::-;908:24;926:5;908:24;:::i;:::-;903:3;896:37;890:48;;:::o;945:222::-;1072:2;1057:18;;1086:71;1061:9;1130:6;1086:71;:::i;1174:556::-;1385:3;1370:19;;1400:71;1374:9;1444:6;1400:71;:::i;:::-;1482:72;1550:2;1539:9;1535:18;1526:6;1482:72;:::i;:::-;1565;1633:2;1622:9;1618:18;1609:6;1565:72;:::i;:::-;1648;1716:2;1705:9;1701:18;1692:6;1648:72;:::i;:::-;1356:374;;;;;;;:::o;1737:91::-;;-1:-1;;;;;1897:54;;1799:24;1880:76::o;1963:117::-;2032:24;2050:5;2032:24;:::i;:::-;2025:5;2022:35;2012:2;;2071:1;2068;2061:12;2012:2;2006:74;:::o;:::-;662:3658:262;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x60806040523480156200001157600080fd5b5060043610620000a05760003560e01c80638aeb8b84116200006f5780638aeb8b84146200010c57806397b02f0c146200012557806398a7c4c7146200013c578063a5e387511462000146578063d0ac1a8d146200015d57620000a0565b80630c0872f514620000a55780631c25201c14620000d4578063456b4a3714620000eb578063893d20e81462000102575b600080fd5b620000bc620000b636600462000866565b62000174565b604051620000cb919062000a05565b60405180910390f35b620000bc620000e53660046200089f565b620001fd565b620000bc620000fc366004620007d6565b62000218565b620000bc62000236565b620001236200011d36600462000820565b620002d2565b005b620001236200013636600462000820565b620003bc565b620000bc62000498565b620000bc620001573660046200089f565b620004a7565b620001236200016e366004620007d6565b62000650565b600081306040516200018690620006f3565b6200019392919062000a6f565b604051809103906000f080158015620001b0573d6000803e3d6000fd5b509050336001600160a01b03167f8f1eab90fee81d885732c2e07a3a9b9f6c32278756471123fa57486858c3f7018284604051620001f092919062000a3b565b60405180910390a2919050565b6000908152600160205260409020546001600160a01b031690565b6001600160a01b039081166000908152600260205260409020541690565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b1580156200029257600080fd5b505afa158015620002a7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002cd9190620007ff565b905090565b620002dc62000236565b6001600160a01b0316336001600160a01b031614620003185760405162461bcd60e51b81526004016200030f9062000a93565b60405180910390fd5b60005b81811015620003b7578282828181106200033157fe5b9050602002016020810190620003489190620007d6565b6001600160a01b03166357d159c660006040518263ffffffff1660e01b815260040162000376919062000a5f565b600060405180830381600087803b1580156200039157600080fd5b505af1158015620003a6573d6000803e3d6000fd5b5050600190920191506200031b9050565b505050565b620003c662000236565b6001600160a01b0316336001600160a01b031614620003f95760405162461bcd60e51b81526004016200030f9062000a93565b60005b81811015620003b7578282828181106200041257fe5b9050602002016020810190620004299190620007d6565b6001600160a01b03166357d159c660016040518263ffffffff1660e01b815260040162000457919062000a5f565b600060405180830381600087803b1580156200047257600080fd5b505af115801562000487573d6000803e3d6000fd5b505060019092019150620003fc9050565b6000546001600160a01b031690565b600080620004b583620001fd565b6001600160a01b031614620004de5760405162461bcd60e51b81526004016200030f9062000aa5565b606063b7b0422d60e01b83604051602401620004fb919062000ac9565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915290506200053a8162000174565b600084815260016020908152604080832080546001600160a01b0319166001600160a01b0386169081179091558151632e266ba960e21b81529151949650929363b899aea492600480840193919291829003018186803b1580156200059e57600080fd5b505afa158015620005b3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620005d99190620007ff565b6001600160a01b038481166000908152600260205260409081902080546001600160a01b031916928416929092179091555190915084907fe547dfbae0eb3c2c335669b841fa076eb2a1a64eab9bd2fb49868b5e624586f19062000641908690859062000a15565b60405180910390a25050919050565b6200065a62000236565b6001600160a01b0316336001600160a01b0316146200068d5760405162461bcd60e51b81526004016200030f9062000ab7565b62000698816200069b565b50565b600080546001600160a01b0319166001600160a01b0383161790556040517f9007c6c0b3b1622c381c19563620e3ce8b824e958af3020495bd6654e8a0310a90620006e890839062000a05565b60405180910390a150565b61037e8062000bc483390190565b80356200070e8162000ba1565b92915050565b80516200070e8162000ba1565b60008083601f8401126200073457600080fd5b50813567ffffffffffffffff8111156200074d57600080fd5b6020830191508360208202830111156200076657600080fd5b9250929050565b600082601f8301126200077f57600080fd5b813562000796620007908262000b01565b62000ad9565b91508082526020830160208301858383011115620007b357600080fd5b620007c083828462000b58565b50505092915050565b80356200070e8162000bb8565b600060208284031215620007e957600080fd5b6000620007f7848462000701565b949350505050565b6000602082840312156200081257600080fd5b6000620007f7848462000714565b600080602083850312156200083457600080fd5b823567ffffffffffffffff8111156200084c57600080fd5b6200085a8582860162000721565b92509250509250929050565b6000602082840312156200087957600080fd5b813567ffffffffffffffff8111156200089157600080fd5b620007f7848285016200076d565b600060208284031215620008b257600080fd5b6000620007f78484620007c9565b620008cb8162000b37565b82525050565b620008cb8162000b44565b6000620008e98262000b2a565b620008f5818562000b2e565b93506200090781856020860162000b64565b620009128162000b97565b9093019392505050565b60006200092b60258362000b2e565b7f4f6e6c7920746865206f776e65722063616e2063616c6c20746869732066756e81526431ba34b7b760d91b602082015260400192915050565b600062000974601e8362000b2e565b7f6465706c6f793a205772617070657220616c7265616479206578697374730000815260200192915050565b6000620009af60368362000b2e565b7f73657443616e6f6e6963616c4c69623a204f6e6c7920746865206f776e65722081527531b0b71031b0b636103a3434b990333ab731ba34b7b760511b602082015260400192915050565b620008cb8162000b55565b602081016200070e8284620008c0565b6040810162000a258285620008c0565b62000a346020830184620008c0565b9392505050565b6040810162000a4b8285620008c0565b8181036020830152620007f78184620008dc565b602081016200070e8284620008d1565b6040808252810162000a828185620008dc565b905062000a346020830184620008c0565b602080825281016200070e816200091c565b602080825281016200070e8162000965565b602080825281016200070e81620009a0565b602081016200070e8284620009fa565b60405181810167ffffffffffffffff8111828210171562000af957600080fd5b604052919050565b600067ffffffffffffffff82111562000b1957600080fd5b506020601f91909101601f19160190565b5190565b90815260200190565b60006200070e8262000b49565b151590565b6001600160a01b031690565b90565b82818337506000910152565b60005b8381101562000b8157818101518382015260200162000b67565b8381111562000b91576000848401525b50505050565b601f01601f191690565b62000bac8162000b37565b81146200069857600080fd5b62000bac8162000b5556fe60a060405234801561001057600080fd5b5060405161037e38038061037e8339818101604052604081101561003357600080fd5b810190808051604051939291908464010000000082111561005357600080fd5b90830190602082018581111561006857600080fd5b825164010000000081118282018810171561008257600080fd5b82525081516020918201929091019080838360005b838110156100af578181015183820152602001610097565b50505050905090810190601f1680156100dc5780820380516001836020036101000a031916815260200191505b506040818152602092830151606081811b6001600160601b0319166080526398a7c4c760e01b845291519095506000945090926001600160a01b038616926398a7c4c79260048083019392829003018186803b15801561013b57600080fd5b505afa15801561014f573d6000803e3d6000fd5b505050506040513d602081101561016557600080fd5b505160405185516001600160a01b0390921691869190819060208401908083835b602083106101a55780518252601f199092019160209182019101610186565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610205576040519150601f19603f3d011682016040523d82523d6000602084013e61020a565b606091505b509150915081819061029a5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561025f578181015183820152602001610247565b50505050905090810190601f16801561028c5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050505060805160601c60c56102b960003980600e525060c56000f3fe608060405236600a57005b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166398a7c4c76040518163ffffffff1660e01b815260040160206040518083038186803b158015606457600080fd5b505afa1580156077573d6000803e3d6000fd5b505050506040513d6020811015608c57600080fd5b505190503660008037600080366000846127105a03f43d806000803e81801560b357816000f35b816000fdfea164736f6c634300060c000aa164736f6c634300060c000a", - "sourceMap": "662:3658:262:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1019:261:365;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4190:128:262;;;;;;:::i;:::-;;:::i;3855:149::-;;;;;;:::i;:::-;;:::i;3459:120::-;;;:::i;3026:221::-;;;;;;:::i;:::-;;:::i;:::-;;2669:218;;;;;;:::i;:::-;;:::i;1393:116:365:-;;;:::i;1875:660:262:-;;;;;;:::i;:::-;;:::i;1788:257:365:-;;;;;;:::i;:::-;;:::i;1019:261::-;1094:14;1153;1177:4;1137:46;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;1120:64;;1214:10;-1:-1:-1;;;;;1200:49:365;;1226:6;1234:14;1200:49;;;;;;;:::i;:::-;;;;;;;;1019:261;;;:::o;4190:128:262:-;4258:16;4293:18;;;:12;:18;;;;;;-1:-1:-1;;;;;4293:18:262;;4190:128::o;3855:149::-;-1:-1:-1;;;;;3966:31:262;;;3931:16;3966:31;;;:21;:31;;;;;;;;3855:149::o;3459:120::-;3509:14;3542:19;-1:-1:-1;;;;;3542:28:262;;:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3535:37;;3459:120;:::o;3026:221::-;1099:10;:8;:10::i;:::-;-1:-1:-1;;;;;1085:24:262;:10;-1:-1:-1;;;;;1085:24:262;;1077:74;;;;-1:-1:-1;;;1077:74:262;;;;;;;:::i;:::-;;;;;;;;;3115:9:::1;3110:131;3126:20:::0;;::::1;3110:131;;;3198:9;;3208:1;3198:12;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;3167:56:262::1;;3224:5;3167:63;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;3148:3:262::1;::::0;;::::1;::::0;-1:-1:-1;3110:131:262::1;::::0;-1:-1:-1;3110:131:262::1;;;3026:221:::0;;:::o;2669:218::-;1099:10;:8;:10::i;:::-;-1:-1:-1;;;;;1085:24:262;:10;-1:-1:-1;;;;;1085:24:262;;1077:74;;;;-1:-1:-1;;;1077:74:262;;;;;;;:::i;:::-;2756:9:::1;2751:130;2767:20:::0;;::::1;2751:130;;;2839:9;;2849:1;2839:12;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;2808:56:262::1;;2865:4;2808:62;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;2789:3:262::1;::::0;;::::1;::::0;-1:-1:-1;2751:130:262::1;::::0;-1:-1:-1;2751:130:262::1;1393:116:365::0;1450:21;1490:12;-1:-1:-1;;;;;1490:12:365;1393:116;:::o;1875:660:262:-;1923:21;;1964:29;1988:4;1964:23;:29::i;:::-;-1:-1:-1;;;;;1964:43:262;;1956:86;;;;-1:-1:-1;;;1956:86:262;;;;;;;:::i;:::-;2053:26;2118:44;;;2176:4;2082:108;;;;;;;;:::i;:::-;;;;-1:-1:-1;;2082:108:262;;;;;;;;;;;;;;-1:-1:-1;;;;;2082:108:262;-1:-1:-1;;;;;;2082:108:262;;;;;;;;;;;-1:-1:-1;2217:26:262;2082:108;2217:11;:26::i;:::-;2254:18;;;;:12;:18;;;;;;;;:34;;-1:-1:-1;;;;;;2254:34:262;-1:-1:-1;;;;;2254:34:262;;;;;;;;2317:63;;-1:-1:-1;;;2317:63:262;;;;2254:34;;-1:-1:-1;2254:18:262;;2317:61;;:63;;;;;2254:18;;2317:63;;;;;;2254:34;2317:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;2390:36:262;;;;;;;:21;:36;;;;;;;:46;;-1:-1:-1;;;;;;2390:46:262;;;;;;;;;;;2452:45;2390:46;;-1:-1:-1;2468:4:262;;2452:45;;;;2390:36;;:46;;2452:45;:::i;:::-;;;;;;;;2508:20;;1875:660;;;:::o;1788:257:365:-;1901:10;:8;:10::i;:::-;-1:-1:-1;;;;;1887:24:365;:10;-1:-1:-1;;;;;1887:24:365;;1866:125;;;;-1:-1:-1;;;1866:125:365;;;;;;;:::i;:::-;2002:36;2020:17;2002;:36::i;:::-;1788:257;:::o;2101:162::-;2174:12;:32;;-1:-1:-1;;;;;;2174:32:365;-1:-1:-1;;;;;2174:32:365;;;;;2222:34;;;;;;2174:32;;2222:34;:::i;:::-;;;;;;;;2101:162;:::o;-1:-1:-1:-;;;;;;;;:::o;5:130::-;72:20;;97:33;72:20;97:33;:::i;:::-;57:78;;;;:::o;142:134::-;220:13;;238:33;220:13;238:33;:::i;301:352::-;;;431:3;424:4;416:6;412:17;408:27;398:2;;449:1;446;439:12;398:2;-1:-1;469:20;;509:18;498:30;;495:2;;;541:1;538;531:12;495:2;575:4;567:6;563:17;551:29;;626:3;618:4;610:6;606:17;596:8;592:32;589:41;586:2;;;643:1;640;633:12;586:2;391:262;;;;;:::o;662:440::-;;763:3;756:4;748:6;744:17;740:27;730:2;;781:1;778;771:12;730:2;818:6;805:20;840:64;855:48;896:6;855:48;:::i;:::-;840:64;:::i;:::-;831:73;;924:6;917:5;910:21;960:4;952:6;948:17;993:4;986:5;982:16;1028:3;1019:6;1014:3;1010:16;1007:25;1004:2;;;1045:1;1042;1035:12;1004:2;1055:41;1089:6;1084:3;1079;1055:41;:::i;:::-;723:379;;;;;;;:::o;1110:130::-;1177:20;;1202:33;1177:20;1202:33;:::i;1247:241::-;;1351:2;1339:9;1330:7;1326:23;1322:32;1319:2;;;1367:1;1364;1357:12;1319:2;1402:1;1419:53;1464:7;1444:9;1419:53;:::i;:::-;1409:63;1313:175;-1:-1;;;;1313:175::o;1495:263::-;;1610:2;1598:9;1589:7;1585:23;1581:32;1578:2;;;1626:1;1623;1616:12;1578:2;1661:1;1678:64;1734:7;1714:9;1678:64;:::i;1765:397::-;;;1904:2;1892:9;1883:7;1879:23;1875:32;1872:2;;;1920:1;1917;1910:12;1872:2;1955:31;;2006:18;1995:30;;1992:2;;;2038:1;2035;2028:12;1992:2;2066:80;2138:7;2129:6;2118:9;2114:22;2066:80;:::i;:::-;2048:98;;;;1934:218;1866:296;;;;;:::o;2169:345::-;;2282:2;2270:9;2261:7;2257:23;2253:32;2250:2;;;2298:1;2295;2288:12;2250:2;2333:31;;2384:18;2373:30;;2370:2;;;2416:1;2413;2406:12;2370:2;2436:62;2490:7;2481:6;2470:9;2466:22;2436:62;:::i;2521:241::-;;2625:2;2613:9;2604:7;2600:23;2596:32;2593:2;;;2641:1;2638;2631:12;2593:2;2676:1;2693:53;2738:7;2718:9;2693:53;:::i;2769:113::-;2852:24;2870:5;2852:24;:::i;:::-;2847:3;2840:37;2834:48;;:::o;2889:104::-;2966:21;2981:5;2966:21;:::i;3000:343::-;;3110:38;3142:5;3110:38;:::i;:::-;3160:70;3223:6;3218:3;3160:70;:::i;:::-;3153:77;;3235:52;3280:6;3275:3;3268:4;3261:5;3257:16;3235:52;:::i;:::-;3308:29;3330:6;3308:29;:::i;:::-;3299:39;;;;3090:253;-1:-1;;;3090:253::o;3351:374::-;;3511:67;3575:2;3570:3;3511:67;:::i;:::-;3611:34;3591:55;;-1:-1;;;3675:2;3666:12;;3659:29;3716:2;3707:12;;3497:228;-1:-1;;3497:228::o;3734:330::-;;3894:67;3958:2;3953:3;3894:67;:::i;:::-;3994:32;3974:53;;4055:2;4046:12;;3880:184;-1:-1;;3880:184::o;4073:391::-;;4233:67;4297:2;4292:3;4233:67;:::i;:::-;4333:34;4313:55;;-1:-1;;;4397:2;4388:12;;4381:46;4455:2;4446:12;;4219:245;-1:-1;;4219:245::o;4472:113::-;4555:24;4573:5;4555:24;:::i;4592:222::-;4719:2;4704:18;;4733:71;4708:9;4777:6;4733:71;:::i;4821:333::-;4976:2;4961:18;;4990:71;4965:9;5034:6;4990:71;:::i;:::-;5072:72;5140:2;5129:9;5125:18;5116:6;5072:72;:::i;:::-;4947:207;;;;;:::o;5161:417::-;5334:2;5319:18;;5348:71;5323:9;5392:6;5348:71;:::i;:::-;5467:9;5461:4;5457:20;5452:2;5441:9;5437:18;5430:48;5492:76;5563:4;5554:6;5492:76;:::i;5585:210::-;5706:2;5691:18;;5720:65;5695:9;5758:6;5720:65;:::i;5802:417::-;5975:2;5989:47;;;5960:18;;6050:76;5960:18;6112:6;6050:76;:::i;:::-;6042:84;;6137:72;6205:2;6194:9;6190:18;6181:6;6137:72;:::i;6226:416::-;6426:2;6440:47;;;6411:18;;6501:131;6411:18;6501:131;:::i;6649:416::-;6849:2;6863:47;;;6834:18;;6924:131;6834:18;6924:131;:::i;7072:416::-;7272:2;7286:47;;;7257:18;;7347:131;7257:18;7347:131;:::i;7495:222::-;7622:2;7607:18;;7636:71;7611:9;7680:6;7636:71;:::i;7724:256::-;7786:2;7780:9;7812:17;;;7887:18;7872:34;;7908:22;;;7869:62;7866:2;;;7944:1;7941;7934:12;7866:2;7960;7953:22;7764:216;;-1:-1;7764:216::o;7987:321::-;;8130:18;8122:6;8119:30;8116:2;;;8162:1;8159;8152:12;8116:2;-1:-1;8293:4;8229;8206:17;;;;-1:-1;;8202:33;8283:15;;8053:255::o;8315:121::-;8402:12;;8373:63::o;8444:162::-;8546:19;;;8595:4;8586:14;;8539:67::o;8786:91::-;;8848:24;8866:5;8848:24;:::i;8884:85::-;8950:13;8943:21;;8926:43::o;8976:121::-;-1:-1;;;;;9038:54;;9021:76::o;9104:72::-;9166:5;9149:27::o;9184:145::-;9265:6;9260:3;9255;9242:30;-1:-1;9321:1;9303:16;;9296:27;9235:94::o;9338:268::-;9403:1;9410:101;9424:6;9421:1;9418:13;9410:101;;;9491:11;;;9485:18;9472:11;;;9465:39;9446:2;9439:10;9410:101;;;9526:6;9523:1;9520:13;9517:2;;;9591:1;9582:6;9577:3;9573:16;9566:27;9517:2;9387:219;;;;:::o;9614:97::-;9702:2;9682:14;-1:-1;;9678:28;;9662:49::o;9719:117::-;9788:24;9806:5;9788:24;:::i;:::-;9781:5;9778:35;9768:2;;9827:1;9824;9817:12;9843:117;9912:24;9930:5;9912:24;:::i", - "linkReferences": {}, - "immutableReferences": { - "69636": [ - { - "start": 570, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "deploy(uint256)": "a5e38751", - "deployProxy(bytes)": "0c0872f5", - "getCanonicalLib()": "98a7c4c7", - "getCurveLpTokenForWrapper(address)": "456b4a37", - "getOwner()": "893d20e8", - "getWrapperForConvexPool(uint256)": "1c25201c", - "pauseWrappers(address[])": "97b02f0c", - "setCanonicalLib(address)": "d0ac1a8d", - "unpauseWrappers(address[])": "8aeb8b84" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_dispatcher\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_convexBooster\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_crvToken\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_cvxToken\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"nextCanonicalLib\",\"type\":\"address\"}],\"name\":\"CanonicalLibSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"proxy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"constructData\",\"type\":\"bytes\"}],\"name\":\"ProxyDeployed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"pid\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"wrapperProxy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"curveLpToken\",\"type\":\"address\"}],\"name\":\"WrapperDeployed\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_pid\",\"type\":\"uint256\"}],\"name\":\"deploy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"wrapperProxy_\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_constructData\",\"type\":\"bytes\"}],\"name\":\"deployProxy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"proxy_\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCanonicalLib\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"canonicalLib_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_wrapper\",\"type\":\"address\"}],\"name\":\"getCurveLpTokenForWrapper\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"lpToken_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_pid\",\"type\":\"uint256\"}],\"name\":\"getWrapperForConvexPool\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"wrapper_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_wrappers\",\"type\":\"address[]\"}],\"name\":\"pauseWrappers\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nextCanonicalLib\",\"type\":\"address\"}],\"name\":\"setCanonicalLib\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_wrappers\",\"type\":\"address[]\"}],\"name\":\"unpauseWrappers\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"deploy(uint256)\":{\"params\":{\"_pid\":\"The Convex Curve pool id\"},\"returns\":{\"wrapperProxy_\":\"The staking wrapper proxy contract address\"}},\"deployProxy(bytes)\":{\"params\":{\"_constructData\":\"The constructor data with which to call `init()` on the deployed proxy\"},\"returns\":{\"proxy_\":\"The proxy address\"}},\"getCanonicalLib()\":{\"returns\":{\"canonicalLib_\":\"The canonical lib\"}},\"getCurveLpTokenForWrapper(address)\":{\"params\":{\"_wrapper\":\"The wrapper proxy address\"},\"returns\":{\"lpToken_\":\"The Curve LP token address\"}},\"getOwner()\":{\"returns\":{\"owner_\":\"The contract owner\"}},\"getWrapperForConvexPool(uint256)\":{\"params\":{\"_pid\":\"The Convex pool id\"},\"returns\":{\"wrapper_\":\"The wrapper proxy address\"}},\"pauseWrappers(address[])\":{\"params\":{\"_wrappers\":\"The wrappers to pause\"}},\"setCanonicalLib(address)\":{\"params\":{\"_nextCanonicalLib\":\"The next canonical lib\"}},\"unpauseWrappers(address[])\":{\"params\":{\"_wrappers\":\"The wrappers to unpause\"}}},\"title\":\"ConvexCurveLpStakingWrapperFactory Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"deploy(uint256)\":{\"notice\":\"Deploys a staking wrapper for a given Convex pool\"},\"deployProxy(bytes)\":{\"notice\":\"Deploys a new proxy instance\"},\"getCanonicalLib()\":{\"notice\":\"Gets the canonical lib used by all proxies\"},\"getCurveLpTokenForWrapper(address)\":{\"notice\":\"Gets the Curve LP token address for a given wrapper\"},\"getOwner()\":{\"notice\":\"Gets the contract owner\"},\"getWrapperForConvexPool(uint256)\":{\"notice\":\"Gets the wrapper address for a given Convex pool\"},\"pauseWrappers(address[])\":{\"notice\":\"Pause deposits and harvesting new rewards for the given wrappers\"},\"setCanonicalLib(address)\":{\"notice\":\"Sets the next canonical lib used by all proxies\"},\"unpauseWrappers(address[])\":{\"notice\":\"Unpauses deposits and harvesting new rewards for the given wrappers\"}},\"notice\":\"A contract factory for ConvexCurveLpStakingWrapper instances\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/infrastructure/staking-wrappers/convex-curve-lp/ConvexCurveLpStakingWrapperFactory.sol\":\"ConvexCurveLpStakingWrapperFactory\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/release/infrastructure/staking-wrappers/IStakingWrapper.sol\":{\"keccak256\":\"0xaeb9aba4e74eb3243a85090fded7b157969cf83e1f4159b1da2f662a3e7b15be\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://92346911c044a54808d2d425fe58c6dc9594dfafb8d83496f6599e3bc23803d0\",\"dweb:/ipfs/QmYWf7yx9ZfUnP81K1hjvApthqNhpXzUhGuFBm4gX1aDRB\"]},\"contracts/release/infrastructure/staking-wrappers/StakingWrapperBase.sol\":{\"keccak256\":\"0x3e28050fbe625f1469701b231772ce321e719ddbce4f84b6caa1d8d634a4234a\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f0871b7d6b595e444e598f68751225a596d969267c289a465462fdeb67530fc8\",\"dweb:/ipfs/QmX2z5QGP3kpKx9ruGnZHYH5bDCD9sjRGTRhg9SRiowctg\"]},\"contracts/release/infrastructure/staking-wrappers/StakingWrapperLibBase.sol\":{\"keccak256\":\"0x94d4057419743d9354d77774e1e5279a5ed2fc70012ef28115357f9921bfb5be\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d1e461f460a0339cada6cdfb0107bde47d236b336fec0ed470235ce7928666bb\",\"dweb:/ipfs/QmcMzSrcWTKyqgBAACVCidd2dpMfbeUtcQYu4D1ASiyFzk\"]},\"contracts/release/infrastructure/staking-wrappers/convex-curve-lp/ConvexCurveLpStakingWrapperFactory.sol\":{\"keccak256\":\"0x4f7394dea52858ea7734ed8586377d1ebef39e1ca6aa5ed684fea7a7fe82b16a\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c7a5181757151d6210193dfa97b3076edcfe3017b4fefbfbbe3ab848878d5996\",\"dweb:/ipfs/Qme9tTYoAhMkHVLbwKQoSdVJTec1p9zAPwzSe7RZFvnkYu\"]},\"contracts/release/infrastructure/staking-wrappers/convex-curve-lp/ConvexCurveLpStakingWrapperLib.sol\":{\"keccak256\":\"0x1ec08f37e592766bb7f0d62edb04261bcd3c26154bb5dc437465f836fabf3427\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://0265250d2255bcb61fdb1842e7dbb26e4d56a11a1e3fd87f0790644277bb7259\",\"dweb:/ipfs/Qmb5kVMTr86qYkJu8o1YNwnCrbUJMhmhnFHMrdx2vZhdED\"]},\"contracts/release/interfaces/IConvexBaseRewardPool.sol\":{\"keccak256\":\"0x7c82b546c3c339c6f602191bc9062d6887af7db438800359c0547aa6bb025acc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://13a488b1d715000d1ed9415917a8f9c347ec91b04770b74746facacd88e2e105\",\"dweb:/ipfs/QmaHJKxagREc7Mbq8SkSbWgzwk8bNSFTwojAD5hNemwy1Y\"]},\"contracts/release/interfaces/IConvexBooster.sol\":{\"keccak256\":\"0x6e7561d2d7e71a0c89a6e62445de5c54c2e50d17877b23d8b5af10721dd90ed5\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://772cf7f429a04a557d3b0ed36a73390da64fd93a9df253e0c7e9ebeeecd063ea\",\"dweb:/ipfs/QmXjfnXmtGV67wypxof8nWVTkXAEZqBpFjYePfr17K8rAL\"]},\"contracts/release/interfaces/IConvexVirtualBalanceRewardPool.sol\":{\"keccak256\":\"0x45a7d783e4088cf1b5dcb548da2fce6b0caa9c572c43af9f39aff46498fa101c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://82ed678230fe900991bd81a6c31dae01d120fe5521f96d1cc36c40334385f907\",\"dweb:/ipfs/QmYre4JtyoXmetrYUwFMrPKwBY1NEm2XYdgMiAR7Z7P2jW\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/beacon-proxy/BeaconProxy.sol\":{\"keccak256\":\"0x7a0a6c511a30434a9b329226b0cf1a05ec426ddbfc4e1d9b9083978ee4cf6d53\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://692d3a116ecf306f20a3d29dc70846099ce46ba281524a502336325a6cd05667\",\"dweb:/ipfs/QmTGxmDWMcMtGEsPLzVB8eyK3WDqaCwoChuc24RXuSzwVb\"]},\"contracts/release/utils/beacon-proxy/BeaconProxyFactory.sol\":{\"keccak256\":\"0xd35fa5134e3a8694ed1dbbc8dcd4b4d5b459608c23097a95984e1b98af3e64d9\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1c008f83ac64b316479406cbf0287593a810d453825a2f669b5810c51429f9fc\",\"dweb:/ipfs/QmNtdtcWGZFpnb3LsshwV5BiM5H1Vz8SGpoqMchUyfuhQx\"]},\"contracts/release/utils/beacon-proxy/IBeacon.sol\":{\"keccak256\":\"0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39\",\"dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V\"]},\"contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol\":{\"keccak256\":\"0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be\",\"dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]},\"node_modules/@openzeppelin/contracts/utils/ReentrancyGuard.sol\":{\"keccak256\":\"0x8bbbc2f5c10065ee272592ae0a7a6ceb23de2fbd81564ee0bb015ecf404d5f61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b95e56c1640d0ef789fc5c16269e141e992f6c8ac97cc6d377bd3825e9cab182\",\"dweb:/ipfs/QmVzaxJZY51EhagrcNnkxoU6Uq17RhATe7aHvtkC6wUkgK\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_dispatcher", - "type": "address" - }, - { - "internalType": "address", - "name": "_convexBooster", - "type": "address" - }, - { - "internalType": "address", - "name": "_crvToken", - "type": "address" - }, - { - "internalType": "address", - "name": "_cvxToken", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "nextCanonicalLib", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "CanonicalLibSet", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "caller", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "proxy", - "type": "address", - "indexed": false - }, - { - "internalType": "bytes", - "name": "constructData", - "type": "bytes", - "indexed": false - } - ], - "type": "event", - "name": "ProxyDeployed", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "pid", - "type": "uint256", - "indexed": true - }, - { - "internalType": "address", - "name": "wrapperProxy", - "type": "address", - "indexed": false - }, - { - "internalType": "address", - "name": "curveLpToken", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "WrapperDeployed", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_pid", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "deploy", - "outputs": [ - { - "internalType": "address", - "name": "wrapperProxy_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "_constructData", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "deployProxy", - "outputs": [ - { - "internalType": "address", - "name": "proxy_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getCanonicalLib", - "outputs": [ - { - "internalType": "address", - "name": "canonicalLib_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_wrapper", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getCurveLpTokenForWrapper", - "outputs": [ - { - "internalType": "address", - "name": "lpToken_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "owner_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_pid", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getWrapperForConvexPool", - "outputs": [ - { - "internalType": "address", - "name": "wrapper_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_wrappers", - "type": "address[]" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "pauseWrappers" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_nextCanonicalLib", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setCanonicalLib" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_wrappers", - "type": "address[]" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "unpauseWrappers" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "deploy(uint256)": { - "params": { - "_pid": "The Convex Curve pool id" - }, - "returns": { - "wrapperProxy_": "The staking wrapper proxy contract address" - } - }, - "deployProxy(bytes)": { - "params": { - "_constructData": "The constructor data with which to call `init()` on the deployed proxy" - }, - "returns": { - "proxy_": "The proxy address" - } - }, - "getCanonicalLib()": { - "returns": { - "canonicalLib_": "The canonical lib" - } - }, - "getCurveLpTokenForWrapper(address)": { - "params": { - "_wrapper": "The wrapper proxy address" - }, - "returns": { - "lpToken_": "The Curve LP token address" - } - }, - "getOwner()": { - "returns": { - "owner_": "The contract owner" - } - }, - "getWrapperForConvexPool(uint256)": { - "params": { - "_pid": "The Convex pool id" - }, - "returns": { - "wrapper_": "The wrapper proxy address" - } - }, - "pauseWrappers(address[])": { - "params": { - "_wrappers": "The wrappers to pause" - } - }, - "setCanonicalLib(address)": { - "params": { - "_nextCanonicalLib": "The next canonical lib" - } - }, - "unpauseWrappers(address[])": { - "params": { - "_wrappers": "The wrappers to unpause" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "deploy(uint256)": { - "notice": "Deploys a staking wrapper for a given Convex pool" - }, - "deployProxy(bytes)": { - "notice": "Deploys a new proxy instance" - }, - "getCanonicalLib()": { - "notice": "Gets the canonical lib used by all proxies" - }, - "getCurveLpTokenForWrapper(address)": { - "notice": "Gets the Curve LP token address for a given wrapper" - }, - "getOwner()": { - "notice": "Gets the contract owner" - }, - "getWrapperForConvexPool(uint256)": { - "notice": "Gets the wrapper address for a given Convex pool" - }, - "pauseWrappers(address[])": { - "notice": "Pause deposits and harvesting new rewards for the given wrappers" - }, - "setCanonicalLib(address)": { - "notice": "Sets the next canonical lib used by all proxies" - }, - "unpauseWrappers(address[])": { - "notice": "Unpauses deposits and harvesting new rewards for the given wrappers" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/infrastructure/staking-wrappers/convex-curve-lp/ConvexCurveLpStakingWrapperFactory.sol": "ConvexCurveLpStakingWrapperFactory" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/dispatcher/IDispatcher.sol": { - "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", - "urls": [ - "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", - "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/staking-wrappers/IStakingWrapper.sol": { - "keccak256": "0xaeb9aba4e74eb3243a85090fded7b157969cf83e1f4159b1da2f662a3e7b15be", - "urls": [ - "bzz-raw://92346911c044a54808d2d425fe58c6dc9594dfafb8d83496f6599e3bc23803d0", - "dweb:/ipfs/QmYWf7yx9ZfUnP81K1hjvApthqNhpXzUhGuFBm4gX1aDRB" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/staking-wrappers/StakingWrapperBase.sol": { - "keccak256": "0x3e28050fbe625f1469701b231772ce321e719ddbce4f84b6caa1d8d634a4234a", - "urls": [ - "bzz-raw://f0871b7d6b595e444e598f68751225a596d969267c289a465462fdeb67530fc8", - "dweb:/ipfs/QmX2z5QGP3kpKx9ruGnZHYH5bDCD9sjRGTRhg9SRiowctg" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/staking-wrappers/StakingWrapperLibBase.sol": { - "keccak256": "0x94d4057419743d9354d77774e1e5279a5ed2fc70012ef28115357f9921bfb5be", - "urls": [ - "bzz-raw://d1e461f460a0339cada6cdfb0107bde47d236b336fec0ed470235ce7928666bb", - "dweb:/ipfs/QmcMzSrcWTKyqgBAACVCidd2dpMfbeUtcQYu4D1ASiyFzk" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/staking-wrappers/convex-curve-lp/ConvexCurveLpStakingWrapperFactory.sol": { - "keccak256": "0x4f7394dea52858ea7734ed8586377d1ebef39e1ca6aa5ed684fea7a7fe82b16a", - "urls": [ - "bzz-raw://c7a5181757151d6210193dfa97b3076edcfe3017b4fefbfbbe3ab848878d5996", - "dweb:/ipfs/Qme9tTYoAhMkHVLbwKQoSdVJTec1p9zAPwzSe7RZFvnkYu" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/staking-wrappers/convex-curve-lp/ConvexCurveLpStakingWrapperLib.sol": { - "keccak256": "0x1ec08f37e592766bb7f0d62edb04261bcd3c26154bb5dc437465f836fabf3427", - "urls": [ - "bzz-raw://0265250d2255bcb61fdb1842e7dbb26e4d56a11a1e3fd87f0790644277bb7259", - "dweb:/ipfs/Qmb5kVMTr86qYkJu8o1YNwnCrbUJMhmhnFHMrdx2vZhdED" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IConvexBaseRewardPool.sol": { - "keccak256": "0x7c82b546c3c339c6f602191bc9062d6887af7db438800359c0547aa6bb025acc", - "urls": [ - "bzz-raw://13a488b1d715000d1ed9415917a8f9c347ec91b04770b74746facacd88e2e105", - "dweb:/ipfs/QmaHJKxagREc7Mbq8SkSbWgzwk8bNSFTwojAD5hNemwy1Y" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IConvexBooster.sol": { - "keccak256": "0x6e7561d2d7e71a0c89a6e62445de5c54c2e50d17877b23d8b5af10721dd90ed5", - "urls": [ - "bzz-raw://772cf7f429a04a557d3b0ed36a73390da64fd93a9df253e0c7e9ebeeecd063ea", - "dweb:/ipfs/QmXjfnXmtGV67wypxof8nWVTkXAEZqBpFjYePfr17K8rAL" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IConvexVirtualBalanceRewardPool.sol": { - "keccak256": "0x45a7d783e4088cf1b5dcb548da2fce6b0caa9c572c43af9f39aff46498fa101c", - "urls": [ - "bzz-raw://82ed678230fe900991bd81a6c31dae01d120fe5521f96d1cc36c40334385f907", - "dweb:/ipfs/QmYre4JtyoXmetrYUwFMrPKwBY1NEm2XYdgMiAR7Z7P2jW" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AddressArrayLib.sol": { - "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", - "urls": [ - "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", - "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/beacon-proxy/BeaconProxy.sol": { - "keccak256": "0x7a0a6c511a30434a9b329226b0cf1a05ec426ddbfc4e1d9b9083978ee4cf6d53", - "urls": [ - "bzz-raw://692d3a116ecf306f20a3d29dc70846099ce46ba281524a502336325a6cd05667", - "dweb:/ipfs/QmTGxmDWMcMtGEsPLzVB8eyK3WDqaCwoChuc24RXuSzwVb" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/beacon-proxy/BeaconProxyFactory.sol": { - "keccak256": "0xd35fa5134e3a8694ed1dbbc8dcd4b4d5b459608c23097a95984e1b98af3e64d9", - "urls": [ - "bzz-raw://1c008f83ac64b316479406cbf0287593a810d453825a2f669b5810c51429f9fc", - "dweb:/ipfs/QmNtdtcWGZFpnb3LsshwV5BiM5H1Vz8SGpoqMchUyfuhQx" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/beacon-proxy/IBeacon.sol": { - "keccak256": "0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2", - "urls": [ - "bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39", - "dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol": { - "keccak256": "0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc", - "urls": [ - "bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be", - "dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { - "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", - "urls": [ - "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", - "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Address.sol": { - "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", - "urls": [ - "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", - "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/ReentrancyGuard.sol": { - "keccak256": "0x8bbbc2f5c10065ee272592ae0a7a6ceb23de2fbd81564ee0bb015ecf404d5f61", - "urls": [ - "bzz-raw://b95e56c1640d0ef789fc5c16269e141e992f6c8ac97cc6d377bd3825e9cab182", - "dweb:/ipfs/QmVzaxJZY51EhagrcNnkxoU6Uq17RhATe7aHvtkC6wUkgK" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 262 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_dispatcher", "type": "address", "internalType": "address" }, { "name": "_convexBooster", "type": "address", "internalType": "address" }, { "name": "_crvToken", "type": "address", "internalType": "address" }, { "name": "_cvxToken", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "deploy", "inputs": [ { "name": "_pid", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "wrapperProxy_", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "deployProxy", "inputs": [ { "name": "_constructData", "type": "bytes", "internalType": "bytes" } ], "outputs": [ { "name": "proxy_", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "getCanonicalLib", "inputs": [], "outputs": [ { "name": "canonicalLib_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getCurveLpTokenForWrapper", "inputs": [ { "name": "_wrapper", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "lpToken_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getOwner", "inputs": [], "outputs": [ { "name": "owner_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getWrapperForConvexPool", "inputs": [ { "name": "_pid", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "wrapper_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "pauseWrappers", "inputs": [ { "name": "_wrappers", "type": "address[]", "internalType": "address[]" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setCanonicalLib", "inputs": [ { "name": "_nextCanonicalLib", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "unpauseWrappers", "inputs": [ { "name": "_wrappers", "type": "address[]", "internalType": "address[]" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "event", "name": "CanonicalLibSet", "inputs": [ { "name": "nextCanonicalLib", "type": "address", "indexed": false, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "ProxyDeployed", "inputs": [ { "name": "caller", "type": "address", "indexed": true, "internalType": "address" }, { "name": "proxy", "type": "address", "indexed": false, "internalType": "address" }, { "name": "constructData", "type": "bytes", "indexed": false, "internalType": "bytes" } ], "anonymous": false }, { "type": "event", "name": "WrapperDeployed", "inputs": [ { "name": "pid", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "wrapperProxy", "type": "address", "indexed": false, "internalType": "address" }, { "name": "curveLpToken", "type": "address", "indexed": false, "internalType": "address" } ], "anonymous": false } ], "bytecode": { "object": "0x60a06040523480156200001157600080fd5b50604051620046e6380380620046e683398101604081905262000034916200012b565b60006200004181620000b2565b50836001600160a01b03166080816001600160a01b031660601b81525050620000a83084848460405162000075906200010a565b620000849493929190620001b6565b604051809103906000f080158015620000a1573d6000803e3d6000fd5b50620000b2565b5050505062000228565b600080546001600160a01b0319166001600160a01b0383161790556040517f9007c6c0b3b1622c381c19563620e3ce8b824e958af3020495bd6654e8a0310a90620000ff908390620001a6565b60405180910390a150565b613552806200119483390190565b805162000125816200020e565b92915050565b600080600080608085870312156200014257600080fd5b600062000150878762000118565b9450506020620001638782880162000118565b9350506040620001768782880162000118565b9250506060620001898782880162000118565b91505092959194509250565b620001a081620001fc565b82525050565b6020810162000125828462000195565b60808101620001c6828762000195565b620001d5602083018662000195565b620001e4604083018562000195565b620001f3606083018462000195565b95945050505050565b60006001600160a01b03821662000125565b6200021981620001fc565b81146200022557600080fd5b50565b60805160601c610f4e620002466000398061023a5250610f4e6000f3fe60806040523480156200001157600080fd5b5060043610620000a05760003560e01c80638aeb8b84116200006f5780638aeb8b84146200010c57806397b02f0c146200012557806398a7c4c7146200013c578063a5e387511462000146578063d0ac1a8d146200015d57620000a0565b80630c0872f514620000a55780631c25201c14620000d4578063456b4a3714620000eb578063893d20e81462000102575b600080fd5b620000bc620000b636600462000866565b62000174565b604051620000cb919062000a05565b60405180910390f35b620000bc620000e53660046200089f565b620001fd565b620000bc620000fc366004620007d6565b62000218565b620000bc62000236565b620001236200011d36600462000820565b620002d2565b005b620001236200013636600462000820565b620003bc565b620000bc62000498565b620000bc620001573660046200089f565b620004a7565b620001236200016e366004620007d6565b62000650565b600081306040516200018690620006f3565b6200019392919062000a6f565b604051809103906000f080158015620001b0573d6000803e3d6000fd5b509050336001600160a01b03167f8f1eab90fee81d885732c2e07a3a9b9f6c32278756471123fa57486858c3f7018284604051620001f092919062000a3b565b60405180910390a2919050565b6000908152600160205260409020546001600160a01b031690565b6001600160a01b039081166000908152600260205260409020541690565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b1580156200029257600080fd5b505afa158015620002a7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002cd9190620007ff565b905090565b620002dc62000236565b6001600160a01b0316336001600160a01b031614620003185760405162461bcd60e51b81526004016200030f9062000a93565b60405180910390fd5b60005b81811015620003b7578282828181106200033157fe5b9050602002016020810190620003489190620007d6565b6001600160a01b03166357d159c660006040518263ffffffff1660e01b815260040162000376919062000a5f565b600060405180830381600087803b1580156200039157600080fd5b505af1158015620003a6573d6000803e3d6000fd5b5050600190920191506200031b9050565b505050565b620003c662000236565b6001600160a01b0316336001600160a01b031614620003f95760405162461bcd60e51b81526004016200030f9062000a93565b60005b81811015620003b7578282828181106200041257fe5b9050602002016020810190620004299190620007d6565b6001600160a01b03166357d159c660016040518263ffffffff1660e01b815260040162000457919062000a5f565b600060405180830381600087803b1580156200047257600080fd5b505af115801562000487573d6000803e3d6000fd5b505060019092019150620003fc9050565b6000546001600160a01b031690565b600080620004b583620001fd565b6001600160a01b031614620004de5760405162461bcd60e51b81526004016200030f9062000aa5565b606063b7b0422d60e01b83604051602401620004fb919062000ac9565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915290506200053a8162000174565b600084815260016020908152604080832080546001600160a01b0319166001600160a01b0386169081179091558151632e266ba960e21b81529151949650929363b899aea492600480840193919291829003018186803b1580156200059e57600080fd5b505afa158015620005b3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620005d99190620007ff565b6001600160a01b038481166000908152600260205260409081902080546001600160a01b031916928416929092179091555190915084907fe547dfbae0eb3c2c335669b841fa076eb2a1a64eab9bd2fb49868b5e624586f19062000641908690859062000a15565b60405180910390a25050919050565b6200065a62000236565b6001600160a01b0316336001600160a01b0316146200068d5760405162461bcd60e51b81526004016200030f9062000ab7565b62000698816200069b565b50565b600080546001600160a01b0319166001600160a01b0383161790556040517f9007c6c0b3b1622c381c19563620e3ce8b824e958af3020495bd6654e8a0310a90620006e890839062000a05565b60405180910390a150565b61037e8062000bc483390190565b80356200070e8162000ba1565b92915050565b80516200070e8162000ba1565b60008083601f8401126200073457600080fd5b50813567ffffffffffffffff8111156200074d57600080fd5b6020830191508360208202830111156200076657600080fd5b9250929050565b600082601f8301126200077f57600080fd5b813562000796620007908262000b01565b62000ad9565b91508082526020830160208301858383011115620007b357600080fd5b620007c083828462000b58565b50505092915050565b80356200070e8162000bb8565b600060208284031215620007e957600080fd5b6000620007f7848462000701565b949350505050565b6000602082840312156200081257600080fd5b6000620007f7848462000714565b600080602083850312156200083457600080fd5b823567ffffffffffffffff8111156200084c57600080fd5b6200085a8582860162000721565b92509250509250929050565b6000602082840312156200087957600080fd5b813567ffffffffffffffff8111156200089157600080fd5b620007f7848285016200076d565b600060208284031215620008b257600080fd5b6000620007f78484620007c9565b620008cb8162000b37565b82525050565b620008cb8162000b44565b6000620008e98262000b2a565b620008f5818562000b2e565b93506200090781856020860162000b64565b620009128162000b97565b9093019392505050565b60006200092b60258362000b2e565b7f4f6e6c7920746865206f776e65722063616e2063616c6c20746869732066756e81526431ba34b7b760d91b602082015260400192915050565b600062000974601e8362000b2e565b7f6465706c6f793a205772617070657220616c7265616479206578697374730000815260200192915050565b6000620009af60368362000b2e565b7f73657443616e6f6e6963616c4c69623a204f6e6c7920746865206f776e65722081527531b0b71031b0b636103a3434b990333ab731ba34b7b760511b602082015260400192915050565b620008cb8162000b55565b602081016200070e8284620008c0565b6040810162000a258285620008c0565b62000a346020830184620008c0565b9392505050565b6040810162000a4b8285620008c0565b8181036020830152620007f78184620008dc565b602081016200070e8284620008d1565b6040808252810162000a828185620008dc565b905062000a346020830184620008c0565b602080825281016200070e816200091c565b602080825281016200070e8162000965565b602080825281016200070e81620009a0565b602081016200070e8284620009fa565b60405181810167ffffffffffffffff8111828210171562000af957600080fd5b604052919050565b600067ffffffffffffffff82111562000b1957600080fd5b506020601f91909101601f19160190565b5190565b90815260200190565b60006200070e8262000b49565b151590565b6001600160a01b031690565b90565b82818337506000910152565b60005b8381101562000b8157818101518382015260200162000b67565b8381111562000b91576000848401525b50505050565b601f01601f191690565b62000bac8162000b37565b81146200069857600080fd5b62000bac8162000b5556fe60a060405234801561001057600080fd5b5060405161037e38038061037e8339818101604052604081101561003357600080fd5b810190808051604051939291908464010000000082111561005357600080fd5b90830190602082018581111561006857600080fd5b825164010000000081118282018810171561008257600080fd5b82525081516020918201929091019080838360005b838110156100af578181015183820152602001610097565b50505050905090810190601f1680156100dc5780820380516001836020036101000a031916815260200191505b506040818152602092830151606081811b6001600160601b0319166080526398a7c4c760e01b845291519095506000945090926001600160a01b038616926398a7c4c79260048083019392829003018186803b15801561013b57600080fd5b505afa15801561014f573d6000803e3d6000fd5b505050506040513d602081101561016557600080fd5b505160405185516001600160a01b0390921691869190819060208401908083835b602083106101a55780518252601f199092019160209182019101610186565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610205576040519150601f19603f3d011682016040523d82523d6000602084013e61020a565b606091505b509150915081819061029a5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561025f578181015183820152602001610247565b50505050905090810190601f16801561028c5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050505060805160601c60c56102b960003980600e525060c56000f3fe608060405236600a57005b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166398a7c4c76040518163ffffffff1660e01b815260040160206040518083038186803b158015606457600080fd5b505afa1580156077573d6000803e3d6000fd5b505050506040513d6020811015608c57600080fd5b505190503660008037600080366000846127105a03f43d806000803e81801560b357816000f35b816000fdfea164736f6c634300060c000aa164736f6c634300060c000a6101006040523480156200001257600080fd5b506040516200355238038062003552833981016040819052620000359162000174565b604080516020808201808452600080845284519283019094529281528151879383918391620000689160039190620000c5565b5080516200007e906004906020840190620000c5565b50506005805460ff1916601217905550506001600655506001600160601b0319606091821b811660805293811b841660a05291821b831660c052901b1660e052506200020a565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200010857805160ff191683800117855562000138565b8280016001018555821562000138579182015b82811115620001385782518255916020019190600101906200011b565b50620001469291506200014a565b5090565b5b808211156200014657600081556001016200014b565b80516200016e81620001f0565b92915050565b600080600080608085870312156200018b57600080fd5b600062000199878762000161565b9450506020620001ac8782880162000161565b9350506040620001bf8782880162000161565b9250506060620001d28782880162000161565b91505092959194509250565b60006001600160a01b0382166200016e565b620001fb81620001de565b81146200020757600080fd5b50565b60805160601c60a05160601c60c05160601c60e05160601c6132fc6200025660003980610d12525080610ce95250806108f25280610ae55280611dcd52508061083352506132fc6000f3fe608060405234801561001057600080fd5b50600436106101da5760003560e01c806382e5d07311610104578063b187bd26116100a2578063c4f59f9b11610071578063c4f59f9b146103c6578063d12f8df0146103db578063dd62ed3e146103e3578063ffaad6a5146103f6576101da565b8063b187bd2614610390578063b6b55f2514610398578063b7b0422d146103ab578063b899aea4146103be576101da565b80639655dd61116100de5780639655dd6114610344578063a457c2d714610357578063a7d2793f1461036a578063a9059cbb1461037d576101da565b806382e5d0731461032c5780638757b15b1461033457806395d89b411461033c576101da565b806323b872dd1161017c578063395093511161014b57806339509351146102e057806357d159c6146102f357806370a082311461030657806373e2290c14610319576101da565b806323b872dd146102925780632cfafabe146102a5578063313ce567146102b857806338d07436146102cd576101da565b8063095ea7b3116101b8578063095ea7b31461022757806318160ddd146102475780631ac6d19d1461025c57806320c718101461027d576101da565b80630663b22c146101df57806306fdde03146101e9578063093f636514610207575b600080fd5b6101e7610409565b005b6101f1610597565b6040516101fe9190612f7e565b60405180910390f35b61021a6102153660046125c9565b61062d565b6040516101fe91906130af565b61023a6102353660046126b1565b610688565b6040516101fe9190612f70565b61024f6106a5565b6040516101fe91906130bd565b61026f61026a36600461258d565b6106ab565b6040516101fe929190612f4b565b6102856106f7565b6040516101fe9190612e91565b61023a6102a0366004612603565b610706565b6101e76102b3366004612650565b61078e565b6102c06107bb565b6040516101fe9190613137565b61026f6102db3660046127ef565b6107c0565b61023a6102ee3660046126b1565b6107da565b6101e7610301366004612724565b610828565b61024f61031436600461258d565b6108b9565b6101e76103273660046126e1565b6108d4565b61024f6108e7565b6101e76108ed565b6101f161092e565b61021a61035236600461258d565b61098f565b61023a6103653660046126b1565b6109d9565b6102856103783660046127b3565b610a41565b61023a61038b3660046126b1565b610a6b565b61023a610a7f565b6101e76103a63660046127b3565b610a88565b6101e76103b93660046127b3565b610a96565b610285610d4a565b6103ce610d59565b6040516101fe9190612f3a565b61024f610dba565b61024f6103f13660046125c9565b610dc0565b6101e76104043660046126b1565b610deb565b60006104136106f7565b90506000816001600160a01b031663d55a23f46040518163ffffffff1660e01b815260040160206040518083038186803b15801561045057600080fd5b505afa158015610464573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061048891906127d1565b905060005b8181101561059257604051632061aa2360e11b815261058a906001600160a01b038516906340c35446906104c59085906004016130bd565b60206040518083038186803b1580156104dd57600080fd5b505afa1580156104f1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061051591906125ab565b6001600160a01b031663f7c618c16040518163ffffffff1660e01b815260040160206040518083038186803b15801561054d57600080fd5b505afa158015610561573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061058591906125ab565b610df6565b60010161048d565b505050565b600b8054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156106235780601f106105f857610100808354040283529160200191610623565b820191906000526020600020905b81548152906001019060200180831161060657829003601f168201915b5050505050905090565b610635612381565b506001600160a01b038082166000908152600a602090815260408083209386168352928152908290208251808401909352546001600160801b038082168452600160801b90910416908201525b92915050565b600061069c610695610ee2565b8484610ee6565b50600192915050565b60025490565b606080600260065414156106da5760405162461bcd60e51b81526004016106d19061307f565b60405180910390fd5b60026006556106e883610f9a565b60016006559094909350915050565b600d546001600160a01b031690565b60006107138484846110ef565b6107838461071f610ee2565b61077e856040518060600160405280602881526020016132a3602891396001600160a01b038a1660009081526001602052604081209061075d610ee2565b6001600160a01b031681526020810191909152604001600020549190611153565b610ee6565b5060015b9392505050565b6107a7843361077e856107a18933610dc0565b9061117f565b6107b3848484846111a7565b505050505050565b601290565b6060806107cf333386866111a7565b915091509250929050565b600061069c6107e7610ee2565b8461077e85600160006107f8610ee2565b6001600160a01b03908116825260208083019390935260409182016000908120918c16815292529020549061128a565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146108705760405162461bcd60e51b81526004016106d190612f9f565b6007805460ff19168215151790556040517f9077d36bc00859b5c3f320310707208543dd35092cb0a0fe117d0c6a558b148b906108ae908390612f70565b60405180910390a150565b6001600160a01b031660009081526020819052604090205490565b6108e0338484846111a7565b5050505050565b60085490565b61092c7f000000000000000000000000000000000000000000000000000000000000000060001961091c610d4a565b6001600160a01b031691906112af565b565b600c8054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156106235780601f106105f857610100808354040283529160200191610623565b610997612381565b506001600160a01b03166000908152600960209081526040918290208251808401909352546001600160801b038082168452600160801b909104169082015290565b600061069c6109e6610ee2565b8461077e856040518060600160405280602581526020016132cb6025913960016000610a10610ee2565b6001600160a01b03908116825260208083019390935260409182016000908120918d16815292529020549190611153565b600060088281548110610a5057fe5b6000918252602090912001546001600160a01b031692915050565b600061069c610a78610ee2565b84846110ef565b60075460ff1690565b610a933333836113a9565b50565b6000610aa0610d4a565b6001600160a01b031614610ac65760405162461bcd60e51b81526004016106d19061301f565b610ace612398565b604051631526fe2760e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690631526fe2790610b1a9085906004016130bd565b60c06040518083038186803b158015610b3257600080fd5b505afa158015610b46573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b6a9190612795565b9050610c0c81602001516001600160a01b03166306fdde036040518163ffffffff1660e01b815260040160006040518083038186803b158015610bac57600080fd5b505afa158015610bc0573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610be89190810190612760565b604051602001610bf89190612e6f565b604051602081830303815290604052611485565b610cac81602001516001600160a01b03166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b158015610c4c57600080fd5b505afa158015610c60573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610c889190810190612760565b604051602001610c989190612e86565b6040516020818303038152906040526114c8565b8051600f80546001600160a01b039283166001600160a01b0319918216179091556060830151600d8054919093169116179055600e829055610d0d7f0000000000000000000000000000000000000000000000000000000000000000610df6565b610d367f0000000000000000000000000000000000000000000000000000000000000000610df6565b610d3e610409565b610d466108ed565b5050565b600f546001600160a01b031690565b6060600880548060200260200160405190810160405280929190818152602001828054801561062357602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610d93575050505050905090565b600e5490565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b610d463383836113a9565b610e63816008805480602002602001604051908101604052809291908181526020018280548015610e5057602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610e32575b505050505061150b90919063ffffffff16565b610a9357600880546001810182556000919091527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30180546001600160a01b0319166001600160a01b0383161790556040517ff3e4c2c64e71e6ba2eaab9a599bced62f9eb91d2cda610bf41aa8c80ff2cf826906108ae908390612e91565b3390565b6001600160a01b038316610f0c5760405162461bcd60e51b81526004016106d19061304f565b6001600160a01b038216610f325760405162461bcd60e51b81526004016106d190612fbf565b6001600160a01b0380841660008181526001602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610f8d9085906130bd565b60405180910390a3505050565b606080610fa5610a7f565b610fb157610fb1611561565b6000610fbb6106a5565b600880546040805160208084028201810190925282815293945083018282801561100e57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610ff0575b50505050509250825167ffffffffffffffff8111801561102d57600080fd5b50604051908082528060200260200182016040528015611057578160200160208202803683370190505b50915060005b83518110156110a35761108484828151811061107557fe5b602002602001015186846115e3565b83828151811061109057fe5b602090810291909101015260010161105d565b50836001600160a01b03167fc17f1458d7773c19369fc6c68a3b4c44b675c86c50c997d58853aed5e38de6cd3385856040516110e193929190612e9f565b60405180910390a250915091565b600260065414156111125760405162461bcd60e51b81526004016106d19061307f565b6002600655604080518082019091526001600160a01b0380851682528316602082015261113e9061194b565b6111498383836119b4565b5050600160065550565b600081848411156111775760405162461bcd60e51b81526004016106d19190612f7e565b505050900390565b6000828211156111a15760405162461bcd60e51b81526004016106d190612fdf565b50900390565b606080600260065414156111cd5760405162461bcd60e51b81526004016106d19061307f565b600260065582156111eb576111e186610f9a565b9092509050611211565b604080518082019091526001600160a01b0387168152600060208201526112119061194b565b61121b8685611ac9565b6112258585611bab565b846001600160a01b0316866001600160a01b0316336001600160a01b03167fa4195c37c2947bbe89165f03e320b6903116f0b10d8cfdb522330f7ce6f9fa248760405161127291906130bd565b60405180910390a46001600655909590945092505050565b6000828201838110156107875760405162461bcd60e51b81526004016106d190612fcf565b8015806113375750604051636eb1769f60e11b81526001600160a01b0384169063dd62ed3e906112e59030908690600401612edc565b60206040518083038186803b1580156112fd57600080fd5b505afa158015611311573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061133591906127d1565b155b6113535760405162461bcd60e51b81526004016106d19061308f565b6105928363095ea7b360e01b8484604051602401611372929190612f1f565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152611c51565b600260065414156113cc5760405162461bcd60e51b81526004016106d19061307f565b60026006556113d9610a7f565b156113f65760405162461bcd60e51b81526004016106d190612f8f565b604080518082019091526001600160a01b03831681526000602082015261141c9061194b565b6114268282611ce0565b6114308382611d94565b816001600160a01b0316836001600160a01b03167f8752a472e571a816aea92eec8dae9baf628e840f4929fbcc2d155e6233ff68a78360405161147391906130bd565b60405180910390a35050600160065550565b805161149890600b9060208401906123cd565b507f12e9cab73c0c48661414f76e810af7d10c67f0db958722bf9f26b28a4b4afd69816040516108ae9190612f7e565b80516114db90600c9060208401906123cd565b507f862f26027c5033c09d43eacd856547decb3227c210f6eb7b6bdc0cf5edaa3f4b816040516108ae9190612f7e565b6000805b83518110156115575783818151811061152457fe5b60200260200101516001600160a01b0316836001600160a01b0316141561154f576001915050610682565b60010161150f565b5060009392505050565b611569610409565b6115716106f7565b6001600160a01b0316633d18b9126040518163ffffffff1660e01b8152600401602060405180830381600087803b1580156115ab57600080fd5b505af11580156115bf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a939190612742565b6001600160a01b038316600081815260096020526040808220805491516370a0823160e01b8152929390926001600160801b0390921691849161169e918791906370a0823190611637903090600401612e91565b60206040518083038186803b15801561164f57600080fd5b505afa158015611663573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061168791906127d1565b8554600160801b90046001600160801b0316611e58565b90508015611710576116b0828261128a565b83546001600160801b0319166001600160801b0382161784556040519092506001600160a01b038816907f64dcb34f2e45bc61753d72992aa4199ec96717158435e8085568ff38844bcd1c906117079085906130bd565b60405180910390a25b6001600160a01b038781166000908152600a60209081526040808320938a1683529290522080546001600160801b03600160801b82048116965016838110156117d15781546001600160801b0319166001600160801b03851617825561178161177a898684611ea3565b879061128a565b9550886001600160a01b0316886001600160a01b03167fe3bdf7e684a4024370a702abfcca4a32b08642aadc27065f3356458bd23e977e86896040516117c8929190613101565b60405180910390a35b85156118475781546001600160801b031682556117f86001600160a01b038a168988611ed5565b886001600160a01b0316886001600160a01b03167fe3bdf7e684a4024370a702abfcca4a32b08642aadc27065f3356458bd23e977e86600060405161183e9291906130e6565b60405180910390a35b6040516370a0823160e01b81526000906001600160a01b038b16906370a0823190611876903090600401612e91565b60206040518083038186803b15801561188e57600080fd5b505afa1580156118a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118c691906127d1565b8654909150600160801b90046001600160801b031681101561193e5785546001600160801b03808316600160801b0291161786556040516001600160a01b038b16907fdeb2652df61fdedd2d231dc4d777175097cc26369032d339be2a6db36d7754f2906119359084906130bd565b60405180910390a25b5050505050509392505050565b611953610a7f565b61195f5761195f611561565b60006119696106a5565b60085490915060005b818110156119ae576119a66008828154811061198a57fe5b6000918252602090912001546001600160a01b03168585611ef4565b600101611972565b50505050565b6001600160a01b0383166119da5760405162461bcd60e51b81526004016106d19061303f565b6001600160a01b038216611a005760405162461bcd60e51b81526004016106d190612faf565b611a0b838383610592565b611a488160405180606001604052806026815260200161327d602691396001600160a01b0386166000908152602081905260409020549190611153565b6001600160a01b038085166000908152602081905260408082209390935590841681522054611a77908261128a565b6001600160a01b0380841660008181526020819052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610f8d9085906130bd565b6001600160a01b038216611aef5760405162461bcd60e51b81526004016106d19061302f565b611afb82600083610592565b611b388160405180606001604052806022815260200161325b602291396001600160a01b0385166000908152602081905260409020549190611153565b6001600160a01b038316600090815260208190526040902055600254611b5e908261117f565b6002556040516000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611b9f9085906130bd565b60405180910390a35050565b611bb36106f7565b6001600160a01b031663c32e72028260006040518363ffffffff1660e01b8152600401611be19291906130cb565b602060405180830381600087803b158015611bfb57600080fd5b505af1158015611c0f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c339190612742565b50610d468282611c41610d4a565b6001600160a01b03169190611ed5565b6060611ca6826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166121e59092919063ffffffff16565b8051909150156105925780806020019051810190611cc49190612742565b6105925760405162461bcd60e51b81526004016106d19061306f565b6001600160a01b038216611d065760405162461bcd60e51b81526004016106d19061309f565b611d1260008383610592565b600254611d1f908261128a565b6002556001600160a01b038216600090815260208190526040902054611d45908261128a565b6001600160a01b0383166000818152602081905260408082209390935591519091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611b9f9085906130bd565b611db3823083611da2610d4a565b6001600160a01b03169291906121f4565b600e546040516321d0683360e11b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016916343a0d06691611e069190859060019060040161310f565b602060405180830381600087803b158015611e2057600080fd5b505af1158015611e34573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105929190612742565b60008315611557576000611e6c848461117f565b90508015611e9857611e9085611e8a83670de0b6b3a7640000612215565b9061224f565b915050610787565b505060009392505050565b6000611ecd670de0b6b3a7640000611e8a611ebe868661117f565b611ec7886108b9565b90612215565b949350505050565b6105928363a9059cbb60e01b8484604051602401611372929190612f1f565b6001600160a01b038316600081815260096020526040808220805491516370a0823160e01b815290936001600160801b039092169291906370a0823190611f3f903090600401612e91565b60206040518083038186803b158015611f5757600080fd5b505afa158015611f6b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f8f91906127d1565b8354909150600090611fb49086908490600160801b90046001600160801b0316611e58565b9050801561208157611fc6838261128a565b84546001600160801b0319166001600160801b0382161785556040519093506001600160a01b038816907f64dcb34f2e45bc61753d72992aa4199ec96717158435e8085568ff38844bcd1c9061201d9086906130bd565b60405180910390a283546001600160801b03808416600160801b0291161784556040516001600160a01b038816907fdeb2652df61fdedd2d231dc4d777175097cc26369032d339be2a6db36d7754f2906120789085906130bd565b60405180910390a25b60005b60028110156121db57600087826002811061209b57fe5b60200201516001600160a01b031614156120b4576121d3565b6001600160a01b0388166000908152600a60205260408120818984600281106120d957fe5b602090810291909101516001600160a01b0316825281019190915260400160002080549091506001600160801b0316858110156121d05760006121486121308b866002811061212457fe5b60200201518985611ea3565b8454600160801b90046001600160801b03169061128a565b83546001600160801b03196001600160801b03918216600160801b84841602171690891617845590506001600160a01b038b168a856002811061218757fe5b60200201516001600160a01b03167fe3bdf7e684a4024370a702abfcca4a32b08642aadc27065f3356458bd23e977e89846040516121c6929190613101565b60405180910390a3505b50505b600101612084565b5050505050505050565b6060611ecd8484600085612281565b6119ae846323b872dd60e01b85858560405160240161137293929190612ef7565b60008261222457506000610682565b8282028284828161223157fe5b04146107875760405162461bcd60e51b81526004016106d19061300f565b60008082116122705760405162461bcd60e51b81526004016106d190612fff565b81838161227957fe5b049392505050565b6060824710156122a35760405162461bcd60e51b81526004016106d190612fef565b6122ac85612342565b6122c85760405162461bcd60e51b81526004016106d19061305f565b60006060866001600160a01b031685876040516122e59190612e63565b60006040518083038185875af1925050503d8060008114612322576040519150601f19603f3d011682016040523d82523d6000602084013e612327565b606091505b5091509150612337828286612348565b979650505050505050565b3b151590565b60608315612357575081610787565b8251156123675782518084602001fd5b8160405162461bcd60e51b81526004016106d19190612f7e565b604080518082019091526000808252602082015290565b6040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a081019190915290565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061240e57805160ff191683800117855561243b565b8280016001018555821561243b579182015b8281111561243b578251825591602001919060010190612420565b5061244792915061244b565b5090565b5b80821115612447576000815560010161244c565b803561068281613234565b805161068281613234565b803561068281613248565b805161068281613248565b600082601f83011261249d57600080fd5b81516124b06124ab8261316c565b613145565b915080825260208301602083018583830111156124cc57600080fd5b6124d78382846131fe565b50505092915050565b600060c082840312156124f257600080fd5b6124fc60c0613145565b9050600061250a848461246b565b825250602061251b8484830161246b565b602083015250604061252f8482850161246b565b60408301525060606125438482850161246b565b60608301525060806125578482850161246b565b60808301525060a061256b84828501612481565b60a08301525092915050565b803561068281613251565b805161068281613251565b60006020828403121561259f57600080fd5b6000611ecd8484612460565b6000602082840312156125bd57600080fd5b6000611ecd848461246b565b600080604083850312156125dc57600080fd5b60006125e88585612460565b92505060206125f985828601612460565b9150509250929050565b60008060006060848603121561261857600080fd5b60006126248686612460565b935050602061263586828701612460565b925050604061264686828701612577565b9150509250925092565b6000806000806080858703121561266657600080fd5b60006126728787612460565b945050602061268387828801612460565b935050604061269487828801612577565b92505060606126a587828801612476565b91505092959194509250565b600080604083850312156126c457600080fd5b60006126d08585612460565b92505060206125f985828601612577565b6000806000606084860312156126f657600080fd5b60006127028686612460565b935050602061271386828701612577565b925050604061264686828701612476565b60006020828403121561273657600080fd5b6000611ecd8484612476565b60006020828403121561275457600080fd5b6000611ecd8484612481565b60006020828403121561277257600080fd5b815167ffffffffffffffff81111561278957600080fd5b611ecd8482850161248c565b600060c082840312156127a757600080fd5b6000611ecd84846124e0565b6000602082840312156127c557600080fd5b6000611ecd8484612577565b6000602082840312156127e357600080fd5b6000611ecd8484612582565b6000806040838503121561280257600080fd5b600061280e8585612577565b92505060206125f985828601612476565b600061282b838361284e565b505060200190565b600061282b8383612e51565b612848816131dd565b82525050565b612848816131ac565b60006128628261319a565b61286c818561319e565b935061287783613194565b8060005b838110156128a557815161288f888261281f565b975061289a83613194565b92505060010161287b565b509495945050505050565b60006128bb8261319a565b6128c5818561319e565b93506128d083613194565b8060005b838110156128a55781516128e88882612833565b97506128f383613194565b9250506001016128d4565b612848816131b7565b60006129128261319a565b61291c81856131a7565b935061292c8185602086016131fe565b9290920192915050565b612848816131e8565b600061294a8261319a565b612954818561319e565b93506129648185602086016131fe565b61296d8161322a565b9093019392505050565b600061298460118361319e565b7017d7d9195c1bdcda5d0e8814185d5cd959607a1b815260200192915050565b60006129b160138361319e565b724f6e6c79206f776e65722063616c6c61626c6560681b815260200192915050565b60006129e060238361319e565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647281526265737360e81b602082015260400192915050565b6000612a25600f836131a7565b6e022b73d3cb6b29029ba30b5b2b21d1608d1b8152600f0192915050565b6000612a5060228361319e565b7f45524332303a20617070726f766520746f20746865207a65726f206164647265815261737360f01b602082015260400192915050565b6000612a94601b8361319e565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000612acd601e8361319e565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000612b0660268361319e565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f8152651c8818d85b1b60d21b602082015260400192915050565b6000612b4e601a8361319e565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b6000612b8760218361319e565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000612bca60118361319e565b701a5b9a5d0e88125b9a5d1a585b1a5e9959607a1b815260200192915050565b6000612bf760218361319e565b7f45524332303a206275726e2066726f6d20746865207a65726f206164647265738152607360f81b602082015260400192915050565b6000612c3a60258361319e565b7f45524332303a207472616e736665722066726f6d20746865207a65726f206164815264647265737360d81b602082015260400192915050565b6000612c816003836131a7565b6273746b60e81b815260030192915050565b6000612ca060248361319e565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164648152637265737360e01b602082015260400192915050565b6000612ce6601d8361319e565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000815260200192915050565b6000612d1f602a8361319e565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e8152691bdd081cdd58d8d9595960b21b602082015260400192915050565b6000612d6b601f8361319e565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00815260200192915050565b6000612da460368361319e565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f81527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b602082015260400192915050565b6000612dfc601f8361319e565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300815260200192915050565b80516040830190612e398482612e48565b5060208201516119ae60208501825b612848816131bc565b612848816131d4565b612848816131d7565b60006107878284612907565b6000612e7a82612a18565b91506107878284612907565b6000612e7a82612c74565b60208101610682828461284e565b60608101612ead828661283f565b8181036020830152612ebf8185612857565b90508181036040830152612ed381846128b0565b95945050505050565b60408101612eea828561284e565b610787602083018461284e565b60608101612f05828661284e565b612f12602083018561284e565b611ecd6040830184612e51565b60408101612f2d828561284e565b6107876020830184612e51565b602080825281016107878184612857565b60408082528101612f5c8185612857565b90508181036020830152611ecd81846128b0565b6020810161068282846128fe565b60208082528101610787818461293f565b6020808252810161068281612977565b60208082528101610682816129a4565b60208082528101610682816129d3565b6020808252810161068281612a43565b6020808252810161068281612a87565b6020808252810161068281612ac0565b6020808252810161068281612af9565b6020808252810161068281612b41565b6020808252810161068281612b7a565b6020808252810161068281612bbd565b6020808252810161068281612bea565b6020808252810161068281612c2d565b6020808252810161068281612c93565b6020808252810161068281612cd9565b6020808252810161068281612d12565b6020808252810161068281612d5e565b6020808252810161068281612d97565b6020808252810161068281612def565b604081016106828284612e28565b602081016106828284612e51565b604081016130d98285612e51565b61078760208301846128fe565b604081016130f48285612e51565b6107876020830184612936565b60408101612f2d8285612e51565b6060810161311d8286612e51565b61312a6020830185612e51565b611ecd60408301846128fe565b602081016106828284612e5a565b60405181810167ffffffffffffffff8111828210171561316457600080fd5b604052919050565b600067ffffffffffffffff82111561318357600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b919050565b6000610682826131c8565b151590565b6001600160801b031690565b6001600160a01b031690565b90565b60ff1690565b6000610682826131f3565b6000610682826131d4565b6000610682826131ac565b60005b83811015613219578181015183820152602001613201565b838111156119ae5750506000910152565b601f01601f191690565b61323d816131ac565b8114610a9357600080fd5b61323d816131b7565b61323d816131d456fe45524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa164736f6c634300060c000a", "sourceMap": "662:3658:262:-:0;;;1175:510;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1342:1;787:32:365;1342:1:262;787:17:365;:32::i;:::-;735:91;1390:11:262::1;-1:-1:-1::0;;;;;1356:46:262::1;;;-1:-1:-1::0;;;;;1356:46:262::1;;;;;::::0;::::1;1413:265;1533:4;1560:14;1596:9;1627;1469:185;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;1413:17:262::1;:265::i;:::-;1175:510:::0;;;;662:3658;;2101:162:365;2174:12;:32;;-1:-1:-1;;;;;;2174:32:365;-1:-1:-1;;;;;2174:32:365;;;;;2222:34;;;;;;2174:32;;2222:34;:::i;:::-;;;;;;;;2101:162;:::o;662:3658:262:-;;;;;;;;:::o;5:134:-1:-;83:13;;101:33;83:13;101:33;:::i;:::-;68:71;;;;:::o;146:672::-;;;;;312:3;300:9;291:7;287:23;283:33;280:2;;;329:1;326;319:12;280:2;364:1;381:64;437:7;417:9;381:64;:::i;:::-;371:74;;343:108;482:2;500:64;556:7;547:6;536:9;532:22;500:64;:::i;:::-;490:74;;461:109;601:2;619:64;675:7;666:6;655:9;651:22;619:64;:::i;:::-;609:74;;580:109;720:2;738:64;794:7;785:6;774:9;770:22;738:64;:::i;:::-;728:74;;699:109;274:544;;;;;;;:::o;825:113::-;908:24;926:5;908:24;:::i;:::-;903:3;896:37;890:48;;:::o;945:222::-;1072:2;1057:18;;1086:71;1061:9;1130:6;1086:71;:::i;1174:556::-;1385:3;1370:19;;1400:71;1374:9;1444:6;1400:71;:::i;:::-;1482:72;1550:2;1539:9;1535:18;1526:6;1482:72;:::i;:::-;1565;1633:2;1622:9;1618:18;1609:6;1565:72;:::i;:::-;1648;1716:2;1705:9;1701:18;1692:6;1648:72;:::i;:::-;1356:374;;;;;;;:::o;1737:91::-;;-1:-1;;;;;1897:54;;1799:24;1880:76::o;1963:117::-;2032:24;2050:5;2032:24;:::i;:::-;2025:5;2022:35;2012:2;;2071:1;2068;2061:12;2012:2;2006:74;:::o;:::-;662:3658:262;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x60806040523480156200001157600080fd5b5060043610620000a05760003560e01c80638aeb8b84116200006f5780638aeb8b84146200010c57806397b02f0c146200012557806398a7c4c7146200013c578063a5e387511462000146578063d0ac1a8d146200015d57620000a0565b80630c0872f514620000a55780631c25201c14620000d4578063456b4a3714620000eb578063893d20e81462000102575b600080fd5b620000bc620000b636600462000866565b62000174565b604051620000cb919062000a05565b60405180910390f35b620000bc620000e53660046200089f565b620001fd565b620000bc620000fc366004620007d6565b62000218565b620000bc62000236565b620001236200011d36600462000820565b620002d2565b005b620001236200013636600462000820565b620003bc565b620000bc62000498565b620000bc620001573660046200089f565b620004a7565b620001236200016e366004620007d6565b62000650565b600081306040516200018690620006f3565b6200019392919062000a6f565b604051809103906000f080158015620001b0573d6000803e3d6000fd5b509050336001600160a01b03167f8f1eab90fee81d885732c2e07a3a9b9f6c32278756471123fa57486858c3f7018284604051620001f092919062000a3b565b60405180910390a2919050565b6000908152600160205260409020546001600160a01b031690565b6001600160a01b039081166000908152600260205260409020541690565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b1580156200029257600080fd5b505afa158015620002a7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002cd9190620007ff565b905090565b620002dc62000236565b6001600160a01b0316336001600160a01b031614620003185760405162461bcd60e51b81526004016200030f9062000a93565b60405180910390fd5b60005b81811015620003b7578282828181106200033157fe5b9050602002016020810190620003489190620007d6565b6001600160a01b03166357d159c660006040518263ffffffff1660e01b815260040162000376919062000a5f565b600060405180830381600087803b1580156200039157600080fd5b505af1158015620003a6573d6000803e3d6000fd5b5050600190920191506200031b9050565b505050565b620003c662000236565b6001600160a01b0316336001600160a01b031614620003f95760405162461bcd60e51b81526004016200030f9062000a93565b60005b81811015620003b7578282828181106200041257fe5b9050602002016020810190620004299190620007d6565b6001600160a01b03166357d159c660016040518263ffffffff1660e01b815260040162000457919062000a5f565b600060405180830381600087803b1580156200047257600080fd5b505af115801562000487573d6000803e3d6000fd5b505060019092019150620003fc9050565b6000546001600160a01b031690565b600080620004b583620001fd565b6001600160a01b031614620004de5760405162461bcd60e51b81526004016200030f9062000aa5565b606063b7b0422d60e01b83604051602401620004fb919062000ac9565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915290506200053a8162000174565b600084815260016020908152604080832080546001600160a01b0319166001600160a01b0386169081179091558151632e266ba960e21b81529151949650929363b899aea492600480840193919291829003018186803b1580156200059e57600080fd5b505afa158015620005b3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620005d99190620007ff565b6001600160a01b038481166000908152600260205260409081902080546001600160a01b031916928416929092179091555190915084907fe547dfbae0eb3c2c335669b841fa076eb2a1a64eab9bd2fb49868b5e624586f19062000641908690859062000a15565b60405180910390a25050919050565b6200065a62000236565b6001600160a01b0316336001600160a01b0316146200068d5760405162461bcd60e51b81526004016200030f9062000ab7565b62000698816200069b565b50565b600080546001600160a01b0319166001600160a01b0383161790556040517f9007c6c0b3b1622c381c19563620e3ce8b824e958af3020495bd6654e8a0310a90620006e890839062000a05565b60405180910390a150565b61037e8062000bc483390190565b80356200070e8162000ba1565b92915050565b80516200070e8162000ba1565b60008083601f8401126200073457600080fd5b50813567ffffffffffffffff8111156200074d57600080fd5b6020830191508360208202830111156200076657600080fd5b9250929050565b600082601f8301126200077f57600080fd5b813562000796620007908262000b01565b62000ad9565b91508082526020830160208301858383011115620007b357600080fd5b620007c083828462000b58565b50505092915050565b80356200070e8162000bb8565b600060208284031215620007e957600080fd5b6000620007f7848462000701565b949350505050565b6000602082840312156200081257600080fd5b6000620007f7848462000714565b600080602083850312156200083457600080fd5b823567ffffffffffffffff8111156200084c57600080fd5b6200085a8582860162000721565b92509250509250929050565b6000602082840312156200087957600080fd5b813567ffffffffffffffff8111156200089157600080fd5b620007f7848285016200076d565b600060208284031215620008b257600080fd5b6000620007f78484620007c9565b620008cb8162000b37565b82525050565b620008cb8162000b44565b6000620008e98262000b2a565b620008f5818562000b2e565b93506200090781856020860162000b64565b620009128162000b97565b9093019392505050565b60006200092b60258362000b2e565b7f4f6e6c7920746865206f776e65722063616e2063616c6c20746869732066756e81526431ba34b7b760d91b602082015260400192915050565b600062000974601e8362000b2e565b7f6465706c6f793a205772617070657220616c7265616479206578697374730000815260200192915050565b6000620009af60368362000b2e565b7f73657443616e6f6e6963616c4c69623a204f6e6c7920746865206f776e65722081527531b0b71031b0b636103a3434b990333ab731ba34b7b760511b602082015260400192915050565b620008cb8162000b55565b602081016200070e8284620008c0565b6040810162000a258285620008c0565b62000a346020830184620008c0565b9392505050565b6040810162000a4b8285620008c0565b8181036020830152620007f78184620008dc565b602081016200070e8284620008d1565b6040808252810162000a828185620008dc565b905062000a346020830184620008c0565b602080825281016200070e816200091c565b602080825281016200070e8162000965565b602080825281016200070e81620009a0565b602081016200070e8284620009fa565b60405181810167ffffffffffffffff8111828210171562000af957600080fd5b604052919050565b600067ffffffffffffffff82111562000b1957600080fd5b506020601f91909101601f19160190565b5190565b90815260200190565b60006200070e8262000b49565b151590565b6001600160a01b031690565b90565b82818337506000910152565b60005b8381101562000b8157818101518382015260200162000b67565b8381111562000b91576000848401525b50505050565b601f01601f191690565b62000bac8162000b37565b81146200069857600080fd5b62000bac8162000b5556fe60a060405234801561001057600080fd5b5060405161037e38038061037e8339818101604052604081101561003357600080fd5b810190808051604051939291908464010000000082111561005357600080fd5b90830190602082018581111561006857600080fd5b825164010000000081118282018810171561008257600080fd5b82525081516020918201929091019080838360005b838110156100af578181015183820152602001610097565b50505050905090810190601f1680156100dc5780820380516001836020036101000a031916815260200191505b506040818152602092830151606081811b6001600160601b0319166080526398a7c4c760e01b845291519095506000945090926001600160a01b038616926398a7c4c79260048083019392829003018186803b15801561013b57600080fd5b505afa15801561014f573d6000803e3d6000fd5b505050506040513d602081101561016557600080fd5b505160405185516001600160a01b0390921691869190819060208401908083835b602083106101a55780518252601f199092019160209182019101610186565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610205576040519150601f19603f3d011682016040523d82523d6000602084013e61020a565b606091505b509150915081819061029a5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561025f578181015183820152602001610247565b50505050905090810190601f16801561028c5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050505060805160601c60c56102b960003980600e525060c56000f3fe608060405236600a57005b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166398a7c4c76040518163ffffffff1660e01b815260040160206040518083038186803b158015606457600080fd5b505afa1580156077573d6000803e3d6000fd5b505050506040513d6020811015608c57600080fd5b505190503660008037600080366000846127105a03f43d806000803e81801560b357816000f35b816000fdfea164736f6c634300060c000aa164736f6c634300060c000a", "sourceMap": "662:3658:262:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1019:261:365;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4190:128:262;;;;;;:::i;:::-;;:::i;3855:149::-;;;;;;:::i;:::-;;:::i;3459:120::-;;;:::i;3026:221::-;;;;;;:::i;:::-;;:::i;:::-;;2669:218;;;;;;:::i;:::-;;:::i;1393:116:365:-;;;:::i;1875:660:262:-;;;;;;:::i;:::-;;:::i;1788:257:365:-;;;;;;:::i;:::-;;:::i;1019:261::-;1094:14;1153;1177:4;1137:46;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;1120:64;;1214:10;-1:-1:-1;;;;;1200:49:365;;1226:6;1234:14;1200:49;;;;;;;:::i;:::-;;;;;;;;1019:261;;;:::o;4190:128:262:-;4258:16;4293:18;;;:12;:18;;;;;;-1:-1:-1;;;;;4293:18:262;;4190:128::o;3855:149::-;-1:-1:-1;;;;;3966:31:262;;;3931:16;3966:31;;;:21;:31;;;;;;;;3855:149::o;3459:120::-;3509:14;3542:19;-1:-1:-1;;;;;3542:28:262;;:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3535:37;;3459:120;:::o;3026:221::-;1099:10;:8;:10::i;:::-;-1:-1:-1;;;;;1085:24:262;:10;-1:-1:-1;;;;;1085:24:262;;1077:74;;;;-1:-1:-1;;;1077:74:262;;;;;;;:::i;:::-;;;;;;;;;3115:9:::1;3110:131;3126:20:::0;;::::1;3110:131;;;3198:9;;3208:1;3198:12;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;3167:56:262::1;;3224:5;3167:63;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;3148:3:262::1;::::0;;::::1;::::0;-1:-1:-1;3110:131:262::1;::::0;-1:-1:-1;3110:131:262::1;;;3026:221:::0;;:::o;2669:218::-;1099:10;:8;:10::i;:::-;-1:-1:-1;;;;;1085:24:262;:10;-1:-1:-1;;;;;1085:24:262;;1077:74;;;;-1:-1:-1;;;1077:74:262;;;;;;;:::i;:::-;2756:9:::1;2751:130;2767:20:::0;;::::1;2751:130;;;2839:9;;2849:1;2839:12;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;2808:56:262::1;;2865:4;2808:62;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;2789:3:262::1;::::0;;::::1;::::0;-1:-1:-1;2751:130:262::1;::::0;-1:-1:-1;2751:130:262::1;1393:116:365::0;1450:21;1490:12;-1:-1:-1;;;;;1490:12:365;1393:116;:::o;1875:660:262:-;1923:21;;1964:29;1988:4;1964:23;:29::i;:::-;-1:-1:-1;;;;;1964:43:262;;1956:86;;;;-1:-1:-1;;;1956:86:262;;;;;;;:::i;:::-;2053:26;2118:44;;;2176:4;2082:108;;;;;;;;:::i;:::-;;;;-1:-1:-1;;2082:108:262;;;;;;;;;;;;;;-1:-1:-1;;;;;2082:108:262;-1:-1:-1;;;;;;2082:108:262;;;;;;;;;;;-1:-1:-1;2217:26:262;2082:108;2217:11;:26::i;:::-;2254:18;;;;:12;:18;;;;;;;;:34;;-1:-1:-1;;;;;;2254:34:262;-1:-1:-1;;;;;2254:34:262;;;;;;;;2317:63;;-1:-1:-1;;;2317:63:262;;;;2254:34;;-1:-1:-1;2254:18:262;;2317:61;;:63;;;;;2254:18;;2317:63;;;;;;2254:34;2317:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;2390:36:262;;;;;;;:21;:36;;;;;;;:46;;-1:-1:-1;;;;;;2390:46:262;;;;;;;;;;;2452:45;2390:46;;-1:-1:-1;2468:4:262;;2452:45;;;;2390:36;;:46;;2452:45;:::i;:::-;;;;;;;;2508:20;;1875:660;;;:::o;1788:257:365:-;1901:10;:8;:10::i;:::-;-1:-1:-1;;;;;1887:24:365;:10;-1:-1:-1;;;;;1887:24:365;;1866:125;;;;-1:-1:-1;;;1866:125:365;;;;;;;:::i;:::-;2002:36;2020:17;2002;:36::i;:::-;1788:257;:::o;2101:162::-;2174:12;:32;;-1:-1:-1;;;;;;2174:32:365;-1:-1:-1;;;;;2174:32:365;;;;;2222:34;;;;;;2174:32;;2222:34;:::i;:::-;;;;;;;;2101:162;:::o;-1:-1:-1:-;;;;;;;;:::o;5:130::-;72:20;;97:33;72:20;97:33;:::i;:::-;57:78;;;;:::o;142:134::-;220:13;;238:33;220:13;238:33;:::i;301:352::-;;;431:3;424:4;416:6;412:17;408:27;398:2;;449:1;446;439:12;398:2;-1:-1;469:20;;509:18;498:30;;495:2;;;541:1;538;531:12;495:2;575:4;567:6;563:17;551:29;;626:3;618:4;610:6;606:17;596:8;592:32;589:41;586:2;;;643:1;640;633:12;586:2;391:262;;;;;:::o;662:440::-;;763:3;756:4;748:6;744:17;740:27;730:2;;781:1;778;771:12;730:2;818:6;805:20;840:64;855:48;896:6;855:48;:::i;:::-;840:64;:::i;:::-;831:73;;924:6;917:5;910:21;960:4;952:6;948:17;993:4;986:5;982:16;1028:3;1019:6;1014:3;1010:16;1007:25;1004:2;;;1045:1;1042;1035:12;1004:2;1055:41;1089:6;1084:3;1079;1055:41;:::i;:::-;723:379;;;;;;;:::o;1110:130::-;1177:20;;1202:33;1177:20;1202:33;:::i;1247:241::-;;1351:2;1339:9;1330:7;1326:23;1322:32;1319:2;;;1367:1;1364;1357:12;1319:2;1402:1;1419:53;1464:7;1444:9;1419:53;:::i;:::-;1409:63;1313:175;-1:-1;;;;1313:175::o;1495:263::-;;1610:2;1598:9;1589:7;1585:23;1581:32;1578:2;;;1626:1;1623;1616:12;1578:2;1661:1;1678:64;1734:7;1714:9;1678:64;:::i;1765:397::-;;;1904:2;1892:9;1883:7;1879:23;1875:32;1872:2;;;1920:1;1917;1910:12;1872:2;1955:31;;2006:18;1995:30;;1992:2;;;2038:1;2035;2028:12;1992:2;2066:80;2138:7;2129:6;2118:9;2114:22;2066:80;:::i;:::-;2048:98;;;;1934:218;1866:296;;;;;:::o;2169:345::-;;2282:2;2270:9;2261:7;2257:23;2253:32;2250:2;;;2298:1;2295;2288:12;2250:2;2333:31;;2384:18;2373:30;;2370:2;;;2416:1;2413;2406:12;2370:2;2436:62;2490:7;2481:6;2470:9;2466:22;2436:62;:::i;2521:241::-;;2625:2;2613:9;2604:7;2600:23;2596:32;2593:2;;;2641:1;2638;2631:12;2593:2;2676:1;2693:53;2738:7;2718:9;2693:53;:::i;2769:113::-;2852:24;2870:5;2852:24;:::i;:::-;2847:3;2840:37;2834:48;;:::o;2889:104::-;2966:21;2981:5;2966:21;:::i;3000:343::-;;3110:38;3142:5;3110:38;:::i;:::-;3160:70;3223:6;3218:3;3160:70;:::i;:::-;3153:77;;3235:52;3280:6;3275:3;3268:4;3261:5;3257:16;3235:52;:::i;:::-;3308:29;3330:6;3308:29;:::i;:::-;3299:39;;;;3090:253;-1:-1;;;3090:253::o;3351:374::-;;3511:67;3575:2;3570:3;3511:67;:::i;:::-;3611:34;3591:55;;-1:-1;;;3675:2;3666:12;;3659:29;3716:2;3707:12;;3497:228;-1:-1;;3497:228::o;3734:330::-;;3894:67;3958:2;3953:3;3894:67;:::i;:::-;3994:32;3974:53;;4055:2;4046:12;;3880:184;-1:-1;;3880:184::o;4073:391::-;;4233:67;4297:2;4292:3;4233:67;:::i;:::-;4333:34;4313:55;;-1:-1;;;4397:2;4388:12;;4381:46;4455:2;4446:12;;4219:245;-1:-1;;4219:245::o;4472:113::-;4555:24;4573:5;4555:24;:::i;4592:222::-;4719:2;4704:18;;4733:71;4708:9;4777:6;4733:71;:::i;4821:333::-;4976:2;4961:18;;4990:71;4965:9;5034:6;4990:71;:::i;:::-;5072:72;5140:2;5129:9;5125:18;5116:6;5072:72;:::i;:::-;4947:207;;;;;:::o;5161:417::-;5334:2;5319:18;;5348:71;5323:9;5392:6;5348:71;:::i;:::-;5467:9;5461:4;5457:20;5452:2;5441:9;5437:18;5430:48;5492:76;5563:4;5554:6;5492:76;:::i;5585:210::-;5706:2;5691:18;;5720:65;5695:9;5758:6;5720:65;:::i;5802:417::-;5975:2;5989:47;;;5960:18;;6050:76;5960:18;6112:6;6050:76;:::i;:::-;6042:84;;6137:72;6205:2;6194:9;6190:18;6181:6;6137:72;:::i;6226:416::-;6426:2;6440:47;;;6411:18;;6501:131;6411:18;6501:131;:::i;6649:416::-;6849:2;6863:47;;;6834:18;;6924:131;6834:18;6924:131;:::i;7072:416::-;7272:2;7286:47;;;7257:18;;7347:131;7257:18;7347:131;:::i;7495:222::-;7622:2;7607:18;;7636:71;7611:9;7680:6;7636:71;:::i;7724:256::-;7786:2;7780:9;7812:17;;;7887:18;7872:34;;7908:22;;;7869:62;7866:2;;;7944:1;7941;7934:12;7866:2;7960;7953:22;7764:216;;-1:-1;7764:216::o;7987:321::-;;8130:18;8122:6;8119:30;8116:2;;;8162:1;8159;8152:12;8116:2;-1:-1;8293:4;8229;8206:17;;;;-1:-1;;8202:33;8283:15;;8053:255::o;8315:121::-;8402:12;;8373:63::o;8444:162::-;8546:19;;;8595:4;8586:14;;8539:67::o;8786:91::-;;8848:24;8866:5;8848:24;:::i;8884:85::-;8950:13;8943:21;;8926:43::o;8976:121::-;-1:-1;;;;;9038:54;;9021:76::o;9104:72::-;9166:5;9149:27::o;9184:145::-;9265:6;9260:3;9255;9242:30;-1:-1;9321:1;9303:16;;9296:27;9235:94::o;9338:268::-;9403:1;9410:101;9424:6;9421:1;9418:13;9410:101;;;9491:11;;;9485:18;9472:11;;;9465:39;9446:2;9439:10;9410:101;;;9526:6;9523:1;9520:13;9517:2;;;9591:1;9582:6;9577:3;9573:16;9566:27;9517:2;9387:219;;;;:::o;9614:97::-;9702:2;9682:14;-1:-1;;9678:28;;9662:49::o;9719:117::-;9788:24;9806:5;9788:24;:::i;:::-;9781:5;9778:35;9768:2;;9827:1;9824;9817:12;9843:117;9912:24;9930:5;9912:24;:::i", "linkReferences": {}, "immutableReferences": { "69636": [ { "start": 570, "length": 32 } ] } }, "methodIdentifiers": { "deploy(uint256)": "a5e38751", "deployProxy(bytes)": "0c0872f5", "getCanonicalLib()": "98a7c4c7", "getCurveLpTokenForWrapper(address)": "456b4a37", "getOwner()": "893d20e8", "getWrapperForConvexPool(uint256)": "1c25201c", "pauseWrappers(address[])": "97b02f0c", "setCanonicalLib(address)": "d0ac1a8d", "unpauseWrappers(address[])": "8aeb8b84" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_dispatcher\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_convexBooster\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_crvToken\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_cvxToken\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"nextCanonicalLib\",\"type\":\"address\"}],\"name\":\"CanonicalLibSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"proxy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"constructData\",\"type\":\"bytes\"}],\"name\":\"ProxyDeployed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"pid\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"wrapperProxy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"curveLpToken\",\"type\":\"address\"}],\"name\":\"WrapperDeployed\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_pid\",\"type\":\"uint256\"}],\"name\":\"deploy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"wrapperProxy_\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_constructData\",\"type\":\"bytes\"}],\"name\":\"deployProxy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"proxy_\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCanonicalLib\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"canonicalLib_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_wrapper\",\"type\":\"address\"}],\"name\":\"getCurveLpTokenForWrapper\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"lpToken_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_pid\",\"type\":\"uint256\"}],\"name\":\"getWrapperForConvexPool\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"wrapper_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_wrappers\",\"type\":\"address[]\"}],\"name\":\"pauseWrappers\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nextCanonicalLib\",\"type\":\"address\"}],\"name\":\"setCanonicalLib\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_wrappers\",\"type\":\"address[]\"}],\"name\":\"unpauseWrappers\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"deploy(uint256)\":{\"params\":{\"_pid\":\"The Convex Curve pool id\"},\"returns\":{\"wrapperProxy_\":\"The staking wrapper proxy contract address\"}},\"deployProxy(bytes)\":{\"params\":{\"_constructData\":\"The constructor data with which to call `init()` on the deployed proxy\"},\"returns\":{\"proxy_\":\"The proxy address\"}},\"getCanonicalLib()\":{\"returns\":{\"canonicalLib_\":\"The canonical lib\"}},\"getCurveLpTokenForWrapper(address)\":{\"params\":{\"_wrapper\":\"The wrapper proxy address\"},\"returns\":{\"lpToken_\":\"The Curve LP token address\"}},\"getOwner()\":{\"returns\":{\"owner_\":\"The contract owner\"}},\"getWrapperForConvexPool(uint256)\":{\"params\":{\"_pid\":\"The Convex pool id\"},\"returns\":{\"wrapper_\":\"The wrapper proxy address\"}},\"pauseWrappers(address[])\":{\"params\":{\"_wrappers\":\"The wrappers to pause\"}},\"setCanonicalLib(address)\":{\"params\":{\"_nextCanonicalLib\":\"The next canonical lib\"}},\"unpauseWrappers(address[])\":{\"params\":{\"_wrappers\":\"The wrappers to unpause\"}}},\"title\":\"ConvexCurveLpStakingWrapperFactory Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"deploy(uint256)\":{\"notice\":\"Deploys a staking wrapper for a given Convex pool\"},\"deployProxy(bytes)\":{\"notice\":\"Deploys a new proxy instance\"},\"getCanonicalLib()\":{\"notice\":\"Gets the canonical lib used by all proxies\"},\"getCurveLpTokenForWrapper(address)\":{\"notice\":\"Gets the Curve LP token address for a given wrapper\"},\"getOwner()\":{\"notice\":\"Gets the contract owner\"},\"getWrapperForConvexPool(uint256)\":{\"notice\":\"Gets the wrapper address for a given Convex pool\"},\"pauseWrappers(address[])\":{\"notice\":\"Pause deposits and harvesting new rewards for the given wrappers\"},\"setCanonicalLib(address)\":{\"notice\":\"Sets the next canonical lib used by all proxies\"},\"unpauseWrappers(address[])\":{\"notice\":\"Unpauses deposits and harvesting new rewards for the given wrappers\"}},\"notice\":\"A contract factory for ConvexCurveLpStakingWrapper instances\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/infrastructure/staking-wrappers/convex-curve-lp/ConvexCurveLpStakingWrapperFactory.sol\":\"ConvexCurveLpStakingWrapperFactory\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/release/infrastructure/staking-wrappers/IStakingWrapper.sol\":{\"keccak256\":\"0xaeb9aba4e74eb3243a85090fded7b157969cf83e1f4159b1da2f662a3e7b15be\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://92346911c044a54808d2d425fe58c6dc9594dfafb8d83496f6599e3bc23803d0\",\"dweb:/ipfs/QmYWf7yx9ZfUnP81K1hjvApthqNhpXzUhGuFBm4gX1aDRB\"]},\"contracts/release/infrastructure/staking-wrappers/StakingWrapperBase.sol\":{\"keccak256\":\"0x3e28050fbe625f1469701b231772ce321e719ddbce4f84b6caa1d8d634a4234a\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f0871b7d6b595e444e598f68751225a596d969267c289a465462fdeb67530fc8\",\"dweb:/ipfs/QmX2z5QGP3kpKx9ruGnZHYH5bDCD9sjRGTRhg9SRiowctg\"]},\"contracts/release/infrastructure/staking-wrappers/StakingWrapperLibBase.sol\":{\"keccak256\":\"0x94d4057419743d9354d77774e1e5279a5ed2fc70012ef28115357f9921bfb5be\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d1e461f460a0339cada6cdfb0107bde47d236b336fec0ed470235ce7928666bb\",\"dweb:/ipfs/QmcMzSrcWTKyqgBAACVCidd2dpMfbeUtcQYu4D1ASiyFzk\"]},\"contracts/release/infrastructure/staking-wrappers/convex-curve-lp/ConvexCurveLpStakingWrapperFactory.sol\":{\"keccak256\":\"0x4f7394dea52858ea7734ed8586377d1ebef39e1ca6aa5ed684fea7a7fe82b16a\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c7a5181757151d6210193dfa97b3076edcfe3017b4fefbfbbe3ab848878d5996\",\"dweb:/ipfs/Qme9tTYoAhMkHVLbwKQoSdVJTec1p9zAPwzSe7RZFvnkYu\"]},\"contracts/release/infrastructure/staking-wrappers/convex-curve-lp/ConvexCurveLpStakingWrapperLib.sol\":{\"keccak256\":\"0x1ec08f37e592766bb7f0d62edb04261bcd3c26154bb5dc437465f836fabf3427\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://0265250d2255bcb61fdb1842e7dbb26e4d56a11a1e3fd87f0790644277bb7259\",\"dweb:/ipfs/Qmb5kVMTr86qYkJu8o1YNwnCrbUJMhmhnFHMrdx2vZhdED\"]},\"contracts/release/interfaces/IConvexBaseRewardPool.sol\":{\"keccak256\":\"0x7c82b546c3c339c6f602191bc9062d6887af7db438800359c0547aa6bb025acc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://13a488b1d715000d1ed9415917a8f9c347ec91b04770b74746facacd88e2e105\",\"dweb:/ipfs/QmaHJKxagREc7Mbq8SkSbWgzwk8bNSFTwojAD5hNemwy1Y\"]},\"contracts/release/interfaces/IConvexBooster.sol\":{\"keccak256\":\"0x6e7561d2d7e71a0c89a6e62445de5c54c2e50d17877b23d8b5af10721dd90ed5\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://772cf7f429a04a557d3b0ed36a73390da64fd93a9df253e0c7e9ebeeecd063ea\",\"dweb:/ipfs/QmXjfnXmtGV67wypxof8nWVTkXAEZqBpFjYePfr17K8rAL\"]},\"contracts/release/interfaces/IConvexVirtualBalanceRewardPool.sol\":{\"keccak256\":\"0x45a7d783e4088cf1b5dcb548da2fce6b0caa9c572c43af9f39aff46498fa101c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://82ed678230fe900991bd81a6c31dae01d120fe5521f96d1cc36c40334385f907\",\"dweb:/ipfs/QmYre4JtyoXmetrYUwFMrPKwBY1NEm2XYdgMiAR7Z7P2jW\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/beacon-proxy/BeaconProxy.sol\":{\"keccak256\":\"0x7a0a6c511a30434a9b329226b0cf1a05ec426ddbfc4e1d9b9083978ee4cf6d53\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://692d3a116ecf306f20a3d29dc70846099ce46ba281524a502336325a6cd05667\",\"dweb:/ipfs/QmTGxmDWMcMtGEsPLzVB8eyK3WDqaCwoChuc24RXuSzwVb\"]},\"contracts/release/utils/beacon-proxy/BeaconProxyFactory.sol\":{\"keccak256\":\"0xd35fa5134e3a8694ed1dbbc8dcd4b4d5b459608c23097a95984e1b98af3e64d9\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1c008f83ac64b316479406cbf0287593a810d453825a2f669b5810c51429f9fc\",\"dweb:/ipfs/QmNtdtcWGZFpnb3LsshwV5BiM5H1Vz8SGpoqMchUyfuhQx\"]},\"contracts/release/utils/beacon-proxy/IBeacon.sol\":{\"keccak256\":\"0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39\",\"dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V\"]},\"contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol\":{\"keccak256\":\"0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be\",\"dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]},\"node_modules/@openzeppelin/contracts/utils/ReentrancyGuard.sol\":{\"keccak256\":\"0x8bbbc2f5c10065ee272592ae0a7a6ceb23de2fbd81564ee0bb015ecf404d5f61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b95e56c1640d0ef789fc5c16269e141e992f6c8ac97cc6d377bd3825e9cab182\",\"dweb:/ipfs/QmVzaxJZY51EhagrcNnkxoU6Uq17RhATe7aHvtkC6wUkgK\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_dispatcher", "type": "address" }, { "internalType": "address", "name": "_convexBooster", "type": "address" }, { "internalType": "address", "name": "_crvToken", "type": "address" }, { "internalType": "address", "name": "_cvxToken", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "nextCanonicalLib", "type": "address", "indexed": false } ], "type": "event", "name": "CanonicalLibSet", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "caller", "type": "address", "indexed": true }, { "internalType": "address", "name": "proxy", "type": "address", "indexed": false }, { "internalType": "bytes", "name": "constructData", "type": "bytes", "indexed": false } ], "type": "event", "name": "ProxyDeployed", "anonymous": false }, { "inputs": [ { "internalType": "uint256", "name": "pid", "type": "uint256", "indexed": true }, { "internalType": "address", "name": "wrapperProxy", "type": "address", "indexed": false }, { "internalType": "address", "name": "curveLpToken", "type": "address", "indexed": false } ], "type": "event", "name": "WrapperDeployed", "anonymous": false }, { "inputs": [ { "internalType": "uint256", "name": "_pid", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "deploy", "outputs": [ { "internalType": "address", "name": "wrapperProxy_", "type": "address" } ] }, { "inputs": [ { "internalType": "bytes", "name": "_constructData", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "deployProxy", "outputs": [ { "internalType": "address", "name": "proxy_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getCanonicalLib", "outputs": [ { "internalType": "address", "name": "canonicalLib_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_wrapper", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getCurveLpTokenForWrapper", "outputs": [ { "internalType": "address", "name": "lpToken_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getOwner", "outputs": [ { "internalType": "address", "name": "owner_", "type": "address" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_pid", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "getWrapperForConvexPool", "outputs": [ { "internalType": "address", "name": "wrapper_", "type": "address" } ] }, { "inputs": [ { "internalType": "address[]", "name": "_wrappers", "type": "address[]" } ], "stateMutability": "nonpayable", "type": "function", "name": "pauseWrappers" }, { "inputs": [ { "internalType": "address", "name": "_nextCanonicalLib", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "setCanonicalLib" }, { "inputs": [ { "internalType": "address[]", "name": "_wrappers", "type": "address[]" } ], "stateMutability": "nonpayable", "type": "function", "name": "unpauseWrappers" } ], "devdoc": { "kind": "dev", "methods": { "deploy(uint256)": { "params": { "_pid": "The Convex Curve pool id" }, "returns": { "wrapperProxy_": "The staking wrapper proxy contract address" } }, "deployProxy(bytes)": { "params": { "_constructData": "The constructor data with which to call `init()` on the deployed proxy" }, "returns": { "proxy_": "The proxy address" } }, "getCanonicalLib()": { "returns": { "canonicalLib_": "The canonical lib" } }, "getCurveLpTokenForWrapper(address)": { "params": { "_wrapper": "The wrapper proxy address" }, "returns": { "lpToken_": "The Curve LP token address" } }, "getOwner()": { "returns": { "owner_": "The contract owner" } }, "getWrapperForConvexPool(uint256)": { "params": { "_pid": "The Convex pool id" }, "returns": { "wrapper_": "The wrapper proxy address" } }, "pauseWrappers(address[])": { "params": { "_wrappers": "The wrappers to pause" } }, "setCanonicalLib(address)": { "params": { "_nextCanonicalLib": "The next canonical lib" } }, "unpauseWrappers(address[])": { "params": { "_wrappers": "The wrappers to unpause" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "deploy(uint256)": { "notice": "Deploys a staking wrapper for a given Convex pool" }, "deployProxy(bytes)": { "notice": "Deploys a new proxy instance" }, "getCanonicalLib()": { "notice": "Gets the canonical lib used by all proxies" }, "getCurveLpTokenForWrapper(address)": { "notice": "Gets the Curve LP token address for a given wrapper" }, "getOwner()": { "notice": "Gets the contract owner" }, "getWrapperForConvexPool(uint256)": { "notice": "Gets the wrapper address for a given Convex pool" }, "pauseWrappers(address[])": { "notice": "Pause deposits and harvesting new rewards for the given wrappers" }, "setCanonicalLib(address)": { "notice": "Sets the next canonical lib used by all proxies" }, "unpauseWrappers(address[])": { "notice": "Unpauses deposits and harvesting new rewards for the given wrappers" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/infrastructure/staking-wrappers/convex-curve-lp/ConvexCurveLpStakingWrapperFactory.sol": "ConvexCurveLpStakingWrapperFactory" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/dispatcher/IDispatcher.sol": { "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", "urls": [ "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/staking-wrappers/IStakingWrapper.sol": { "keccak256": "0xaeb9aba4e74eb3243a85090fded7b157969cf83e1f4159b1da2f662a3e7b15be", "urls": [ "bzz-raw://92346911c044a54808d2d425fe58c6dc9594dfafb8d83496f6599e3bc23803d0", "dweb:/ipfs/QmYWf7yx9ZfUnP81K1hjvApthqNhpXzUhGuFBm4gX1aDRB" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/staking-wrappers/StakingWrapperBase.sol": { "keccak256": "0x3e28050fbe625f1469701b231772ce321e719ddbce4f84b6caa1d8d634a4234a", "urls": [ "bzz-raw://f0871b7d6b595e444e598f68751225a596d969267c289a465462fdeb67530fc8", "dweb:/ipfs/QmX2z5QGP3kpKx9ruGnZHYH5bDCD9sjRGTRhg9SRiowctg" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/staking-wrappers/StakingWrapperLibBase.sol": { "keccak256": "0x94d4057419743d9354d77774e1e5279a5ed2fc70012ef28115357f9921bfb5be", "urls": [ "bzz-raw://d1e461f460a0339cada6cdfb0107bde47d236b336fec0ed470235ce7928666bb", "dweb:/ipfs/QmcMzSrcWTKyqgBAACVCidd2dpMfbeUtcQYu4D1ASiyFzk" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/staking-wrappers/convex-curve-lp/ConvexCurveLpStakingWrapperFactory.sol": { "keccak256": "0x4f7394dea52858ea7734ed8586377d1ebef39e1ca6aa5ed684fea7a7fe82b16a", "urls": [ "bzz-raw://c7a5181757151d6210193dfa97b3076edcfe3017b4fefbfbbe3ab848878d5996", "dweb:/ipfs/Qme9tTYoAhMkHVLbwKQoSdVJTec1p9zAPwzSe7RZFvnkYu" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/staking-wrappers/convex-curve-lp/ConvexCurveLpStakingWrapperLib.sol": { "keccak256": "0x1ec08f37e592766bb7f0d62edb04261bcd3c26154bb5dc437465f836fabf3427", "urls": [ "bzz-raw://0265250d2255bcb61fdb1842e7dbb26e4d56a11a1e3fd87f0790644277bb7259", "dweb:/ipfs/Qmb5kVMTr86qYkJu8o1YNwnCrbUJMhmhnFHMrdx2vZhdED" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IConvexBaseRewardPool.sol": { "keccak256": "0x7c82b546c3c339c6f602191bc9062d6887af7db438800359c0547aa6bb025acc", "urls": [ "bzz-raw://13a488b1d715000d1ed9415917a8f9c347ec91b04770b74746facacd88e2e105", "dweb:/ipfs/QmaHJKxagREc7Mbq8SkSbWgzwk8bNSFTwojAD5hNemwy1Y" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IConvexBooster.sol": { "keccak256": "0x6e7561d2d7e71a0c89a6e62445de5c54c2e50d17877b23d8b5af10721dd90ed5", "urls": [ "bzz-raw://772cf7f429a04a557d3b0ed36a73390da64fd93a9df253e0c7e9ebeeecd063ea", "dweb:/ipfs/QmXjfnXmtGV67wypxof8nWVTkXAEZqBpFjYePfr17K8rAL" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IConvexVirtualBalanceRewardPool.sol": { "keccak256": "0x45a7d783e4088cf1b5dcb548da2fce6b0caa9c572c43af9f39aff46498fa101c", "urls": [ "bzz-raw://82ed678230fe900991bd81a6c31dae01d120fe5521f96d1cc36c40334385f907", "dweb:/ipfs/QmYre4JtyoXmetrYUwFMrPKwBY1NEm2XYdgMiAR7Z7P2jW" ], "license": "GPL-3.0" }, "contracts/release/utils/AddressArrayLib.sol": { "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", "urls": [ "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" ], "license": "GPL-3.0" }, "contracts/release/utils/beacon-proxy/BeaconProxy.sol": { "keccak256": "0x7a0a6c511a30434a9b329226b0cf1a05ec426ddbfc4e1d9b9083978ee4cf6d53", "urls": [ "bzz-raw://692d3a116ecf306f20a3d29dc70846099ce46ba281524a502336325a6cd05667", "dweb:/ipfs/QmTGxmDWMcMtGEsPLzVB8eyK3WDqaCwoChuc24RXuSzwVb" ], "license": "GPL-3.0" }, "contracts/release/utils/beacon-proxy/BeaconProxyFactory.sol": { "keccak256": "0xd35fa5134e3a8694ed1dbbc8dcd4b4d5b459608c23097a95984e1b98af3e64d9", "urls": [ "bzz-raw://1c008f83ac64b316479406cbf0287593a810d453825a2f669b5810c51429f9fc", "dweb:/ipfs/QmNtdtcWGZFpnb3LsshwV5BiM5H1Vz8SGpoqMchUyfuhQx" ], "license": "GPL-3.0" }, "contracts/release/utils/beacon-proxy/IBeacon.sol": { "keccak256": "0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2", "urls": [ "bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39", "dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V" ], "license": "GPL-3.0" }, "contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol": { "keccak256": "0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc", "urls": [ "bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be", "dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", "urls": [ "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Address.sol": { "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", "urls": [ "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/ReentrancyGuard.sol": { "keccak256": "0x8bbbc2f5c10065ee272592ae0a7a6ceb23de2fbd81564ee0bb015ecf404d5f61", "urls": [ "bzz-raw://b95e56c1640d0ef789fc5c16269e141e992f6c8ac97cc6d377bd3825e9cab182", "dweb:/ipfs/QmVzaxJZY51EhagrcNnkxoU6Uq17RhATe7aHvtkC6wUkgK" ], "license": "MIT" } }, "version": 1 }, "id": 262 } diff --git a/eth_defi/abi/enzyme/ConvexCurveLpStakingWrapperLib.json b/eth_defi/abi/enzyme/ConvexCurveLpStakingWrapperLib.json index f6fa721a..9db385bd 100644 --- a/eth_defi/abi/enzyme/ConvexCurveLpStakingWrapperLib.json +++ b/eth_defi/abi/enzyme/ConvexCurveLpStakingWrapperLib.json @@ -1,2156 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - }, - { - "internalType": "address", - "name": "_convexBooster", - "type": "address" - }, - { - "internalType": "address", - "name": "_crvToken", - "type": "address" - }, - { - "internalType": "address", - "name": "_cvxToken", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "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": "amount", - "type": "uint256" - } - ], - "name": "Deposited", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bool", - "name": "isPaused", - "type": "bool" - } - ], - "name": "PauseToggled", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "token", - "type": "address" - } - ], - "name": "RewardTokenAdded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "caller", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "indexed": false, - "internalType": "address[]", - "name": "rewardTokens", - "type": "address[]" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "claimedAmounts", - "type": "uint256[]" - } - ], - "name": "RewardsClaimed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "string", - "name": "name", - "type": "string" - } - ], - "name": "TokenNameSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "string", - "name": "symbol", - "type": "string" - } - ], - "name": "TokenSymbolSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "rewardToken", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "integral", - "type": "uint256" - } - ], - "name": "TotalHarvestIntegralUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "rewardToken", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "lastCheckpointBalance", - "type": "uint256" - } - ], - "name": "TotalHarvestLastCheckpointBalanceUpdated", - "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" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "rewardToken", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "integral", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "claimableReward", - "type": "uint256" - } - ], - "name": "UserHarvestUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "caller", - "type": "address" - }, - { - "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": "Withdrawn", - "type": "event" - }, - { - "inputs": [], - "name": "addExtraRewards", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "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": [ - { - "internalType": "address", - "name": "_for", - "type": "address" - } - ], - "name": "claimRewardsFor", - "outputs": [ - { - "internalType": "address[]", - "name": "rewardTokens_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "claimedAmounts_", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "decimals_", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "subtractedValue", - "type": "uint256" - } - ], - "name": "decreaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "deposit", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "depositTo", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getConvexPool", - "outputs": [ - { - "internalType": "address", - "name": "convexPool_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getConvexPoolId", - "outputs": [ - { - "internalType": "uint256", - "name": "convexPoolId_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getCurveLpToken", - "outputs": [ - { - "internalType": "address", - "name": "curveLPToken_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_index", - "type": "uint256" - } - ], - "name": "getRewardTokenAtIndex", - "outputs": [ - { - "internalType": "address", - "name": "rewardToken_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getRewardTokenCount", - "outputs": [ - { - "internalType": "uint256", - "name": "count_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getRewardTokens", - "outputs": [ - { - "internalType": "address[]", - "name": "rewardTokens_", - "type": "address[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_rewardToken", - "type": "address" - } - ], - "name": "getTotalHarvestDataForRewardToken", - "outputs": [ - { - "components": [ - { - "internalType": "uint128", - "name": "integral", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "lastCheckpointBalance", - "type": "uint128" - } - ], - "internalType": "struct IStakingWrapper.TotalHarvestData", - "name": "totalHarvestData_", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_user", - "type": "address" - }, - { - "internalType": "address", - "name": "_rewardToken", - "type": "address" - } - ], - "name": "getUserHarvestDataForRewardToken", - "outputs": [ - { - "components": [ - { - "internalType": "uint128", - "name": "integral", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "claimableReward", - "type": "uint128" - } - ], - "internalType": "struct IStakingWrapper.UserHarvestData", - "name": "userHarvestData_", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "addedValue", - "type": "uint256" - } - ], - "name": "increaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_pid", - "type": "uint256" - } - ], - "name": "init", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "isPaused", - "outputs": [ - { - "internalType": "bool", - "name": "isPaused_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "name_", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "setApprovals", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "symbol_", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bool", - "name": "_isPaused", - "type": "bool" - } - ], - "name": "togglePause", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "_claimRewards", - "type": "bool" - } - ], - "name": "withdraw", - "outputs": [ - { - "internalType": "address[]", - "name": "rewardTokens_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "claimedAmounts_", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "_claimRewardsToHolder", - "type": "bool" - } - ], - "name": "withdrawTo", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_onBehalf", - "type": "address" - }, - { - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "_claimRewardsToHolder", - "type": "bool" - } - ], - "name": "withdrawToOnBehalf", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x6101006040523480156200001257600080fd5b506040516200355238038062003552833981016040819052620000359162000174565b604080516020808201808452600080845284519283019094529281528151879383918391620000689160039190620000c5565b5080516200007e906004906020840190620000c5565b50506005805460ff1916601217905550506001600655506001600160601b0319606091821b811660805293811b841660a05291821b831660c052901b1660e052506200020a565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200010857805160ff191683800117855562000138565b8280016001018555821562000138579182015b82811115620001385782518255916020019190600101906200011b565b50620001469291506200014a565b5090565b5b808211156200014657600081556001016200014b565b80516200016e81620001f0565b92915050565b600080600080608085870312156200018b57600080fd5b600062000199878762000161565b9450506020620001ac8782880162000161565b9350506040620001bf8782880162000161565b9250506060620001d28782880162000161565b91505092959194509250565b60006001600160a01b0382166200016e565b620001fb81620001de565b81146200020757600080fd5b50565b60805160601c60a05160601c60c05160601c60e05160601c6132fc6200025660003980610d12525080610ce95250806108f25280610ae55280611dcd52508061083352506132fc6000f3fe608060405234801561001057600080fd5b50600436106101da5760003560e01c806382e5d07311610104578063b187bd26116100a2578063c4f59f9b11610071578063c4f59f9b146103c6578063d12f8df0146103db578063dd62ed3e146103e3578063ffaad6a5146103f6576101da565b8063b187bd2614610390578063b6b55f2514610398578063b7b0422d146103ab578063b899aea4146103be576101da565b80639655dd61116100de5780639655dd6114610344578063a457c2d714610357578063a7d2793f1461036a578063a9059cbb1461037d576101da565b806382e5d0731461032c5780638757b15b1461033457806395d89b411461033c576101da565b806323b872dd1161017c578063395093511161014b57806339509351146102e057806357d159c6146102f357806370a082311461030657806373e2290c14610319576101da565b806323b872dd146102925780632cfafabe146102a5578063313ce567146102b857806338d07436146102cd576101da565b8063095ea7b3116101b8578063095ea7b31461022757806318160ddd146102475780631ac6d19d1461025c57806320c718101461027d576101da565b80630663b22c146101df57806306fdde03146101e9578063093f636514610207575b600080fd5b6101e7610409565b005b6101f1610597565b6040516101fe9190612f7e565b60405180910390f35b61021a6102153660046125c9565b61062d565b6040516101fe91906130af565b61023a6102353660046126b1565b610688565b6040516101fe9190612f70565b61024f6106a5565b6040516101fe91906130bd565b61026f61026a36600461258d565b6106ab565b6040516101fe929190612f4b565b6102856106f7565b6040516101fe9190612e91565b61023a6102a0366004612603565b610706565b6101e76102b3366004612650565b61078e565b6102c06107bb565b6040516101fe9190613137565b61026f6102db3660046127ef565b6107c0565b61023a6102ee3660046126b1565b6107da565b6101e7610301366004612724565b610828565b61024f61031436600461258d565b6108b9565b6101e76103273660046126e1565b6108d4565b61024f6108e7565b6101e76108ed565b6101f161092e565b61021a61035236600461258d565b61098f565b61023a6103653660046126b1565b6109d9565b6102856103783660046127b3565b610a41565b61023a61038b3660046126b1565b610a6b565b61023a610a7f565b6101e76103a63660046127b3565b610a88565b6101e76103b93660046127b3565b610a96565b610285610d4a565b6103ce610d59565b6040516101fe9190612f3a565b61024f610dba565b61024f6103f13660046125c9565b610dc0565b6101e76104043660046126b1565b610deb565b60006104136106f7565b90506000816001600160a01b031663d55a23f46040518163ffffffff1660e01b815260040160206040518083038186803b15801561045057600080fd5b505afa158015610464573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061048891906127d1565b905060005b8181101561059257604051632061aa2360e11b815261058a906001600160a01b038516906340c35446906104c59085906004016130bd565b60206040518083038186803b1580156104dd57600080fd5b505afa1580156104f1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061051591906125ab565b6001600160a01b031663f7c618c16040518163ffffffff1660e01b815260040160206040518083038186803b15801561054d57600080fd5b505afa158015610561573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061058591906125ab565b610df6565b60010161048d565b505050565b600b8054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156106235780601f106105f857610100808354040283529160200191610623565b820191906000526020600020905b81548152906001019060200180831161060657829003601f168201915b5050505050905090565b610635612381565b506001600160a01b038082166000908152600a602090815260408083209386168352928152908290208251808401909352546001600160801b038082168452600160801b90910416908201525b92915050565b600061069c610695610ee2565b8484610ee6565b50600192915050565b60025490565b606080600260065414156106da5760405162461bcd60e51b81526004016106d19061307f565b60405180910390fd5b60026006556106e883610f9a565b60016006559094909350915050565b600d546001600160a01b031690565b60006107138484846110ef565b6107838461071f610ee2565b61077e856040518060600160405280602881526020016132a3602891396001600160a01b038a1660009081526001602052604081209061075d610ee2565b6001600160a01b031681526020810191909152604001600020549190611153565b610ee6565b5060015b9392505050565b6107a7843361077e856107a18933610dc0565b9061117f565b6107b3848484846111a7565b505050505050565b601290565b6060806107cf333386866111a7565b915091509250929050565b600061069c6107e7610ee2565b8461077e85600160006107f8610ee2565b6001600160a01b03908116825260208083019390935260409182016000908120918c16815292529020549061128a565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146108705760405162461bcd60e51b81526004016106d190612f9f565b6007805460ff19168215151790556040517f9077d36bc00859b5c3f320310707208543dd35092cb0a0fe117d0c6a558b148b906108ae908390612f70565b60405180910390a150565b6001600160a01b031660009081526020819052604090205490565b6108e0338484846111a7565b5050505050565b60085490565b61092c7f000000000000000000000000000000000000000000000000000000000000000060001961091c610d4a565b6001600160a01b031691906112af565b565b600c8054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156106235780601f106105f857610100808354040283529160200191610623565b610997612381565b506001600160a01b03166000908152600960209081526040918290208251808401909352546001600160801b038082168452600160801b909104169082015290565b600061069c6109e6610ee2565b8461077e856040518060600160405280602581526020016132cb6025913960016000610a10610ee2565b6001600160a01b03908116825260208083019390935260409182016000908120918d16815292529020549190611153565b600060088281548110610a5057fe5b6000918252602090912001546001600160a01b031692915050565b600061069c610a78610ee2565b84846110ef565b60075460ff1690565b610a933333836113a9565b50565b6000610aa0610d4a565b6001600160a01b031614610ac65760405162461bcd60e51b81526004016106d19061301f565b610ace612398565b604051631526fe2760e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690631526fe2790610b1a9085906004016130bd565b60c06040518083038186803b158015610b3257600080fd5b505afa158015610b46573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b6a9190612795565b9050610c0c81602001516001600160a01b03166306fdde036040518163ffffffff1660e01b815260040160006040518083038186803b158015610bac57600080fd5b505afa158015610bc0573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610be89190810190612760565b604051602001610bf89190612e6f565b604051602081830303815290604052611485565b610cac81602001516001600160a01b03166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b158015610c4c57600080fd5b505afa158015610c60573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610c889190810190612760565b604051602001610c989190612e86565b6040516020818303038152906040526114c8565b8051600f80546001600160a01b039283166001600160a01b0319918216179091556060830151600d8054919093169116179055600e829055610d0d7f0000000000000000000000000000000000000000000000000000000000000000610df6565b610d367f0000000000000000000000000000000000000000000000000000000000000000610df6565b610d3e610409565b610d466108ed565b5050565b600f546001600160a01b031690565b6060600880548060200260200160405190810160405280929190818152602001828054801561062357602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610d93575050505050905090565b600e5490565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b610d463383836113a9565b610e63816008805480602002602001604051908101604052809291908181526020018280548015610e5057602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610e32575b505050505061150b90919063ffffffff16565b610a9357600880546001810182556000919091527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30180546001600160a01b0319166001600160a01b0383161790556040517ff3e4c2c64e71e6ba2eaab9a599bced62f9eb91d2cda610bf41aa8c80ff2cf826906108ae908390612e91565b3390565b6001600160a01b038316610f0c5760405162461bcd60e51b81526004016106d19061304f565b6001600160a01b038216610f325760405162461bcd60e51b81526004016106d190612fbf565b6001600160a01b0380841660008181526001602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610f8d9085906130bd565b60405180910390a3505050565b606080610fa5610a7f565b610fb157610fb1611561565b6000610fbb6106a5565b600880546040805160208084028201810190925282815293945083018282801561100e57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610ff0575b50505050509250825167ffffffffffffffff8111801561102d57600080fd5b50604051908082528060200260200182016040528015611057578160200160208202803683370190505b50915060005b83518110156110a35761108484828151811061107557fe5b602002602001015186846115e3565b83828151811061109057fe5b602090810291909101015260010161105d565b50836001600160a01b03167fc17f1458d7773c19369fc6c68a3b4c44b675c86c50c997d58853aed5e38de6cd3385856040516110e193929190612e9f565b60405180910390a250915091565b600260065414156111125760405162461bcd60e51b81526004016106d19061307f565b6002600655604080518082019091526001600160a01b0380851682528316602082015261113e9061194b565b6111498383836119b4565b5050600160065550565b600081848411156111775760405162461bcd60e51b81526004016106d19190612f7e565b505050900390565b6000828211156111a15760405162461bcd60e51b81526004016106d190612fdf565b50900390565b606080600260065414156111cd5760405162461bcd60e51b81526004016106d19061307f565b600260065582156111eb576111e186610f9a565b9092509050611211565b604080518082019091526001600160a01b0387168152600060208201526112119061194b565b61121b8685611ac9565b6112258585611bab565b846001600160a01b0316866001600160a01b0316336001600160a01b03167fa4195c37c2947bbe89165f03e320b6903116f0b10d8cfdb522330f7ce6f9fa248760405161127291906130bd565b60405180910390a46001600655909590945092505050565b6000828201838110156107875760405162461bcd60e51b81526004016106d190612fcf565b8015806113375750604051636eb1769f60e11b81526001600160a01b0384169063dd62ed3e906112e59030908690600401612edc565b60206040518083038186803b1580156112fd57600080fd5b505afa158015611311573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061133591906127d1565b155b6113535760405162461bcd60e51b81526004016106d19061308f565b6105928363095ea7b360e01b8484604051602401611372929190612f1f565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152611c51565b600260065414156113cc5760405162461bcd60e51b81526004016106d19061307f565b60026006556113d9610a7f565b156113f65760405162461bcd60e51b81526004016106d190612f8f565b604080518082019091526001600160a01b03831681526000602082015261141c9061194b565b6114268282611ce0565b6114308382611d94565b816001600160a01b0316836001600160a01b03167f8752a472e571a816aea92eec8dae9baf628e840f4929fbcc2d155e6233ff68a78360405161147391906130bd565b60405180910390a35050600160065550565b805161149890600b9060208401906123cd565b507f12e9cab73c0c48661414f76e810af7d10c67f0db958722bf9f26b28a4b4afd69816040516108ae9190612f7e565b80516114db90600c9060208401906123cd565b507f862f26027c5033c09d43eacd856547decb3227c210f6eb7b6bdc0cf5edaa3f4b816040516108ae9190612f7e565b6000805b83518110156115575783818151811061152457fe5b60200260200101516001600160a01b0316836001600160a01b0316141561154f576001915050610682565b60010161150f565b5060009392505050565b611569610409565b6115716106f7565b6001600160a01b0316633d18b9126040518163ffffffff1660e01b8152600401602060405180830381600087803b1580156115ab57600080fd5b505af11580156115bf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a939190612742565b6001600160a01b038316600081815260096020526040808220805491516370a0823160e01b8152929390926001600160801b0390921691849161169e918791906370a0823190611637903090600401612e91565b60206040518083038186803b15801561164f57600080fd5b505afa158015611663573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061168791906127d1565b8554600160801b90046001600160801b0316611e58565b90508015611710576116b0828261128a565b83546001600160801b0319166001600160801b0382161784556040519092506001600160a01b038816907f64dcb34f2e45bc61753d72992aa4199ec96717158435e8085568ff38844bcd1c906117079085906130bd565b60405180910390a25b6001600160a01b038781166000908152600a60209081526040808320938a1683529290522080546001600160801b03600160801b82048116965016838110156117d15781546001600160801b0319166001600160801b03851617825561178161177a898684611ea3565b879061128a565b9550886001600160a01b0316886001600160a01b03167fe3bdf7e684a4024370a702abfcca4a32b08642aadc27065f3356458bd23e977e86896040516117c8929190613101565b60405180910390a35b85156118475781546001600160801b031682556117f86001600160a01b038a168988611ed5565b886001600160a01b0316886001600160a01b03167fe3bdf7e684a4024370a702abfcca4a32b08642aadc27065f3356458bd23e977e86600060405161183e9291906130e6565b60405180910390a35b6040516370a0823160e01b81526000906001600160a01b038b16906370a0823190611876903090600401612e91565b60206040518083038186803b15801561188e57600080fd5b505afa1580156118a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118c691906127d1565b8654909150600160801b90046001600160801b031681101561193e5785546001600160801b03808316600160801b0291161786556040516001600160a01b038b16907fdeb2652df61fdedd2d231dc4d777175097cc26369032d339be2a6db36d7754f2906119359084906130bd565b60405180910390a25b5050505050509392505050565b611953610a7f565b61195f5761195f611561565b60006119696106a5565b60085490915060005b818110156119ae576119a66008828154811061198a57fe5b6000918252602090912001546001600160a01b03168585611ef4565b600101611972565b50505050565b6001600160a01b0383166119da5760405162461bcd60e51b81526004016106d19061303f565b6001600160a01b038216611a005760405162461bcd60e51b81526004016106d190612faf565b611a0b838383610592565b611a488160405180606001604052806026815260200161327d602691396001600160a01b0386166000908152602081905260409020549190611153565b6001600160a01b038085166000908152602081905260408082209390935590841681522054611a77908261128a565b6001600160a01b0380841660008181526020819052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610f8d9085906130bd565b6001600160a01b038216611aef5760405162461bcd60e51b81526004016106d19061302f565b611afb82600083610592565b611b388160405180606001604052806022815260200161325b602291396001600160a01b0385166000908152602081905260409020549190611153565b6001600160a01b038316600090815260208190526040902055600254611b5e908261117f565b6002556040516000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611b9f9085906130bd565b60405180910390a35050565b611bb36106f7565b6001600160a01b031663c32e72028260006040518363ffffffff1660e01b8152600401611be19291906130cb565b602060405180830381600087803b158015611bfb57600080fd5b505af1158015611c0f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c339190612742565b50610d468282611c41610d4a565b6001600160a01b03169190611ed5565b6060611ca6826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166121e59092919063ffffffff16565b8051909150156105925780806020019051810190611cc49190612742565b6105925760405162461bcd60e51b81526004016106d19061306f565b6001600160a01b038216611d065760405162461bcd60e51b81526004016106d19061309f565b611d1260008383610592565b600254611d1f908261128a565b6002556001600160a01b038216600090815260208190526040902054611d45908261128a565b6001600160a01b0383166000818152602081905260408082209390935591519091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611b9f9085906130bd565b611db3823083611da2610d4a565b6001600160a01b03169291906121f4565b600e546040516321d0683360e11b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016916343a0d06691611e069190859060019060040161310f565b602060405180830381600087803b158015611e2057600080fd5b505af1158015611e34573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105929190612742565b60008315611557576000611e6c848461117f565b90508015611e9857611e9085611e8a83670de0b6b3a7640000612215565b9061224f565b915050610787565b505060009392505050565b6000611ecd670de0b6b3a7640000611e8a611ebe868661117f565b611ec7886108b9565b90612215565b949350505050565b6105928363a9059cbb60e01b8484604051602401611372929190612f1f565b6001600160a01b038316600081815260096020526040808220805491516370a0823160e01b815290936001600160801b039092169291906370a0823190611f3f903090600401612e91565b60206040518083038186803b158015611f5757600080fd5b505afa158015611f6b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f8f91906127d1565b8354909150600090611fb49086908490600160801b90046001600160801b0316611e58565b9050801561208157611fc6838261128a565b84546001600160801b0319166001600160801b0382161785556040519093506001600160a01b038816907f64dcb34f2e45bc61753d72992aa4199ec96717158435e8085568ff38844bcd1c9061201d9086906130bd565b60405180910390a283546001600160801b03808416600160801b0291161784556040516001600160a01b038816907fdeb2652df61fdedd2d231dc4d777175097cc26369032d339be2a6db36d7754f2906120789085906130bd565b60405180910390a25b60005b60028110156121db57600087826002811061209b57fe5b60200201516001600160a01b031614156120b4576121d3565b6001600160a01b0388166000908152600a60205260408120818984600281106120d957fe5b602090810291909101516001600160a01b0316825281019190915260400160002080549091506001600160801b0316858110156121d05760006121486121308b866002811061212457fe5b60200201518985611ea3565b8454600160801b90046001600160801b03169061128a565b83546001600160801b03196001600160801b03918216600160801b84841602171690891617845590506001600160a01b038b168a856002811061218757fe5b60200201516001600160a01b03167fe3bdf7e684a4024370a702abfcca4a32b08642aadc27065f3356458bd23e977e89846040516121c6929190613101565b60405180910390a3505b50505b600101612084565b5050505050505050565b6060611ecd8484600085612281565b6119ae846323b872dd60e01b85858560405160240161137293929190612ef7565b60008261222457506000610682565b8282028284828161223157fe5b04146107875760405162461bcd60e51b81526004016106d19061300f565b60008082116122705760405162461bcd60e51b81526004016106d190612fff565b81838161227957fe5b049392505050565b6060824710156122a35760405162461bcd60e51b81526004016106d190612fef565b6122ac85612342565b6122c85760405162461bcd60e51b81526004016106d19061305f565b60006060866001600160a01b031685876040516122e59190612e63565b60006040518083038185875af1925050503d8060008114612322576040519150601f19603f3d011682016040523d82523d6000602084013e612327565b606091505b5091509150612337828286612348565b979650505050505050565b3b151590565b60608315612357575081610787565b8251156123675782518084602001fd5b8160405162461bcd60e51b81526004016106d19190612f7e565b604080518082019091526000808252602082015290565b6040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a081019190915290565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061240e57805160ff191683800117855561243b565b8280016001018555821561243b579182015b8281111561243b578251825591602001919060010190612420565b5061244792915061244b565b5090565b5b80821115612447576000815560010161244c565b803561068281613234565b805161068281613234565b803561068281613248565b805161068281613248565b600082601f83011261249d57600080fd5b81516124b06124ab8261316c565b613145565b915080825260208301602083018583830111156124cc57600080fd5b6124d78382846131fe565b50505092915050565b600060c082840312156124f257600080fd5b6124fc60c0613145565b9050600061250a848461246b565b825250602061251b8484830161246b565b602083015250604061252f8482850161246b565b60408301525060606125438482850161246b565b60608301525060806125578482850161246b565b60808301525060a061256b84828501612481565b60a08301525092915050565b803561068281613251565b805161068281613251565b60006020828403121561259f57600080fd5b6000611ecd8484612460565b6000602082840312156125bd57600080fd5b6000611ecd848461246b565b600080604083850312156125dc57600080fd5b60006125e88585612460565b92505060206125f985828601612460565b9150509250929050565b60008060006060848603121561261857600080fd5b60006126248686612460565b935050602061263586828701612460565b925050604061264686828701612577565b9150509250925092565b6000806000806080858703121561266657600080fd5b60006126728787612460565b945050602061268387828801612460565b935050604061269487828801612577565b92505060606126a587828801612476565b91505092959194509250565b600080604083850312156126c457600080fd5b60006126d08585612460565b92505060206125f985828601612577565b6000806000606084860312156126f657600080fd5b60006127028686612460565b935050602061271386828701612577565b925050604061264686828701612476565b60006020828403121561273657600080fd5b6000611ecd8484612476565b60006020828403121561275457600080fd5b6000611ecd8484612481565b60006020828403121561277257600080fd5b815167ffffffffffffffff81111561278957600080fd5b611ecd8482850161248c565b600060c082840312156127a757600080fd5b6000611ecd84846124e0565b6000602082840312156127c557600080fd5b6000611ecd8484612577565b6000602082840312156127e357600080fd5b6000611ecd8484612582565b6000806040838503121561280257600080fd5b600061280e8585612577565b92505060206125f985828601612476565b600061282b838361284e565b505060200190565b600061282b8383612e51565b612848816131dd565b82525050565b612848816131ac565b60006128628261319a565b61286c818561319e565b935061287783613194565b8060005b838110156128a557815161288f888261281f565b975061289a83613194565b92505060010161287b565b509495945050505050565b60006128bb8261319a565b6128c5818561319e565b93506128d083613194565b8060005b838110156128a55781516128e88882612833565b97506128f383613194565b9250506001016128d4565b612848816131b7565b60006129128261319a565b61291c81856131a7565b935061292c8185602086016131fe565b9290920192915050565b612848816131e8565b600061294a8261319a565b612954818561319e565b93506129648185602086016131fe565b61296d8161322a565b9093019392505050565b600061298460118361319e565b7017d7d9195c1bdcda5d0e8814185d5cd959607a1b815260200192915050565b60006129b160138361319e565b724f6e6c79206f776e65722063616c6c61626c6560681b815260200192915050565b60006129e060238361319e565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647281526265737360e81b602082015260400192915050565b6000612a25600f836131a7565b6e022b73d3cb6b29029ba30b5b2b21d1608d1b8152600f0192915050565b6000612a5060228361319e565b7f45524332303a20617070726f766520746f20746865207a65726f206164647265815261737360f01b602082015260400192915050565b6000612a94601b8361319e565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000612acd601e8361319e565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000612b0660268361319e565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f8152651c8818d85b1b60d21b602082015260400192915050565b6000612b4e601a8361319e565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b6000612b8760218361319e565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000612bca60118361319e565b701a5b9a5d0e88125b9a5d1a585b1a5e9959607a1b815260200192915050565b6000612bf760218361319e565b7f45524332303a206275726e2066726f6d20746865207a65726f206164647265738152607360f81b602082015260400192915050565b6000612c3a60258361319e565b7f45524332303a207472616e736665722066726f6d20746865207a65726f206164815264647265737360d81b602082015260400192915050565b6000612c816003836131a7565b6273746b60e81b815260030192915050565b6000612ca060248361319e565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164648152637265737360e01b602082015260400192915050565b6000612ce6601d8361319e565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000815260200192915050565b6000612d1f602a8361319e565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e8152691bdd081cdd58d8d9595960b21b602082015260400192915050565b6000612d6b601f8361319e565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00815260200192915050565b6000612da460368361319e565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f81527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b602082015260400192915050565b6000612dfc601f8361319e565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300815260200192915050565b80516040830190612e398482612e48565b5060208201516119ae60208501825b612848816131bc565b612848816131d4565b612848816131d7565b60006107878284612907565b6000612e7a82612a18565b91506107878284612907565b6000612e7a82612c74565b60208101610682828461284e565b60608101612ead828661283f565b8181036020830152612ebf8185612857565b90508181036040830152612ed381846128b0565b95945050505050565b60408101612eea828561284e565b610787602083018461284e565b60608101612f05828661284e565b612f12602083018561284e565b611ecd6040830184612e51565b60408101612f2d828561284e565b6107876020830184612e51565b602080825281016107878184612857565b60408082528101612f5c8185612857565b90508181036020830152611ecd81846128b0565b6020810161068282846128fe565b60208082528101610787818461293f565b6020808252810161068281612977565b60208082528101610682816129a4565b60208082528101610682816129d3565b6020808252810161068281612a43565b6020808252810161068281612a87565b6020808252810161068281612ac0565b6020808252810161068281612af9565b6020808252810161068281612b41565b6020808252810161068281612b7a565b6020808252810161068281612bbd565b6020808252810161068281612bea565b6020808252810161068281612c2d565b6020808252810161068281612c93565b6020808252810161068281612cd9565b6020808252810161068281612d12565b6020808252810161068281612d5e565b6020808252810161068281612d97565b6020808252810161068281612def565b604081016106828284612e28565b602081016106828284612e51565b604081016130d98285612e51565b61078760208301846128fe565b604081016130f48285612e51565b6107876020830184612936565b60408101612f2d8285612e51565b6060810161311d8286612e51565b61312a6020830185612e51565b611ecd60408301846128fe565b602081016106828284612e5a565b60405181810167ffffffffffffffff8111828210171561316457600080fd5b604052919050565b600067ffffffffffffffff82111561318357600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b919050565b6000610682826131c8565b151590565b6001600160801b031690565b6001600160a01b031690565b90565b60ff1690565b6000610682826131f3565b6000610682826131d4565b6000610682826131ac565b60005b83811015613219578181015183820152602001613201565b838111156119ae5750506000910152565b601f01601f191690565b61323d816131ac565b8114610a9357600080fd5b61323d816131b7565b61323d816131d456fe45524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa164736f6c634300060c000a", - "sourceMap": "702:4799:263:-:0;;;1019:305;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2712:182:259;;;;;;;;;;-1:-1:-1;2712:182:259;;;;;;;;;;;;;;2032:13:447;;1173:6:263;;2712:182:259;;;;2032:13:447;;:5;;2712:182:259;2032:13:447;:::i;:::-;-1:-1:-1;2055:17:447;;;;:7;;:17;;;;;:::i;:::-;-1:-1:-1;;2082:9:447;:14;;-1:-1:-1;;2082:14:447;2094:2;2082:14;;;-1:-1:-1;;;1760:7:453;:22;-1:-1:-1;;;;2873:14:259;;;;;::::1;::::0;1199:56:263;;;;;::::1;::::0;1265:21;;;;;::::1;::::0;1296;;;::::1;::::0;-1:-1:-1;702:4799:263;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;702:4799:263;;;-1:-1:-1;702:4799:263;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;5:134:-1;83:13;;101:33;83:13;101:33;:::i;:::-;68:71;;;;:::o;146:672::-;;;;;312:3;300:9;291:7;287:23;283:33;280:2;;;329:1;326;319:12;280:2;364:1;381:64;437:7;417:9;381:64;:::i;:::-;371:74;;343:108;482:2;500:64;556:7;547:6;536:9;532:22;500:64;:::i;:::-;490:74;;461:109;601:2;619:64;675:7;666:6;655:9;651:22;619:64;:::i;:::-;609:74;;580:109;720:2;738:64;794:7;785:6;774:9;770:22;738:64;:::i;:::-;728:74;;699:109;274:544;;;;;;;:::o;825:91::-;;-1:-1;;;;;985:54;;887:24;968:76::o;1051:117::-;1120:24;1138:5;1120:24;:::i;:::-;1113:5;1110:35;1100:2;;1159:1;1156;1149:12;1100:2;1094:74;:::o;:::-;702:4799:263;;;;;;;;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106101da5760003560e01c806382e5d07311610104578063b187bd26116100a2578063c4f59f9b11610071578063c4f59f9b146103c6578063d12f8df0146103db578063dd62ed3e146103e3578063ffaad6a5146103f6576101da565b8063b187bd2614610390578063b6b55f2514610398578063b7b0422d146103ab578063b899aea4146103be576101da565b80639655dd61116100de5780639655dd6114610344578063a457c2d714610357578063a7d2793f1461036a578063a9059cbb1461037d576101da565b806382e5d0731461032c5780638757b15b1461033457806395d89b411461033c576101da565b806323b872dd1161017c578063395093511161014b57806339509351146102e057806357d159c6146102f357806370a082311461030657806373e2290c14610319576101da565b806323b872dd146102925780632cfafabe146102a5578063313ce567146102b857806338d07436146102cd576101da565b8063095ea7b3116101b8578063095ea7b31461022757806318160ddd146102475780631ac6d19d1461025c57806320c718101461027d576101da565b80630663b22c146101df57806306fdde03146101e9578063093f636514610207575b600080fd5b6101e7610409565b005b6101f1610597565b6040516101fe9190612f7e565b60405180910390f35b61021a6102153660046125c9565b61062d565b6040516101fe91906130af565b61023a6102353660046126b1565b610688565b6040516101fe9190612f70565b61024f6106a5565b6040516101fe91906130bd565b61026f61026a36600461258d565b6106ab565b6040516101fe929190612f4b565b6102856106f7565b6040516101fe9190612e91565b61023a6102a0366004612603565b610706565b6101e76102b3366004612650565b61078e565b6102c06107bb565b6040516101fe9190613137565b61026f6102db3660046127ef565b6107c0565b61023a6102ee3660046126b1565b6107da565b6101e7610301366004612724565b610828565b61024f61031436600461258d565b6108b9565b6101e76103273660046126e1565b6108d4565b61024f6108e7565b6101e76108ed565b6101f161092e565b61021a61035236600461258d565b61098f565b61023a6103653660046126b1565b6109d9565b6102856103783660046127b3565b610a41565b61023a61038b3660046126b1565b610a6b565b61023a610a7f565b6101e76103a63660046127b3565b610a88565b6101e76103b93660046127b3565b610a96565b610285610d4a565b6103ce610d59565b6040516101fe9190612f3a565b61024f610dba565b61024f6103f13660046125c9565b610dc0565b6101e76104043660046126b1565b610deb565b60006104136106f7565b90506000816001600160a01b031663d55a23f46040518163ffffffff1660e01b815260040160206040518083038186803b15801561045057600080fd5b505afa158015610464573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061048891906127d1565b905060005b8181101561059257604051632061aa2360e11b815261058a906001600160a01b038516906340c35446906104c59085906004016130bd565b60206040518083038186803b1580156104dd57600080fd5b505afa1580156104f1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061051591906125ab565b6001600160a01b031663f7c618c16040518163ffffffff1660e01b815260040160206040518083038186803b15801561054d57600080fd5b505afa158015610561573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061058591906125ab565b610df6565b60010161048d565b505050565b600b8054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156106235780601f106105f857610100808354040283529160200191610623565b820191906000526020600020905b81548152906001019060200180831161060657829003601f168201915b5050505050905090565b610635612381565b506001600160a01b038082166000908152600a602090815260408083209386168352928152908290208251808401909352546001600160801b038082168452600160801b90910416908201525b92915050565b600061069c610695610ee2565b8484610ee6565b50600192915050565b60025490565b606080600260065414156106da5760405162461bcd60e51b81526004016106d19061307f565b60405180910390fd5b60026006556106e883610f9a565b60016006559094909350915050565b600d546001600160a01b031690565b60006107138484846110ef565b6107838461071f610ee2565b61077e856040518060600160405280602881526020016132a3602891396001600160a01b038a1660009081526001602052604081209061075d610ee2565b6001600160a01b031681526020810191909152604001600020549190611153565b610ee6565b5060015b9392505050565b6107a7843361077e856107a18933610dc0565b9061117f565b6107b3848484846111a7565b505050505050565b601290565b6060806107cf333386866111a7565b915091509250929050565b600061069c6107e7610ee2565b8461077e85600160006107f8610ee2565b6001600160a01b03908116825260208083019390935260409182016000908120918c16815292529020549061128a565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146108705760405162461bcd60e51b81526004016106d190612f9f565b6007805460ff19168215151790556040517f9077d36bc00859b5c3f320310707208543dd35092cb0a0fe117d0c6a558b148b906108ae908390612f70565b60405180910390a150565b6001600160a01b031660009081526020819052604090205490565b6108e0338484846111a7565b5050505050565b60085490565b61092c7f000000000000000000000000000000000000000000000000000000000000000060001961091c610d4a565b6001600160a01b031691906112af565b565b600c8054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156106235780601f106105f857610100808354040283529160200191610623565b610997612381565b506001600160a01b03166000908152600960209081526040918290208251808401909352546001600160801b038082168452600160801b909104169082015290565b600061069c6109e6610ee2565b8461077e856040518060600160405280602581526020016132cb6025913960016000610a10610ee2565b6001600160a01b03908116825260208083019390935260409182016000908120918d16815292529020549190611153565b600060088281548110610a5057fe5b6000918252602090912001546001600160a01b031692915050565b600061069c610a78610ee2565b84846110ef565b60075460ff1690565b610a933333836113a9565b50565b6000610aa0610d4a565b6001600160a01b031614610ac65760405162461bcd60e51b81526004016106d19061301f565b610ace612398565b604051631526fe2760e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690631526fe2790610b1a9085906004016130bd565b60c06040518083038186803b158015610b3257600080fd5b505afa158015610b46573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b6a9190612795565b9050610c0c81602001516001600160a01b03166306fdde036040518163ffffffff1660e01b815260040160006040518083038186803b158015610bac57600080fd5b505afa158015610bc0573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610be89190810190612760565b604051602001610bf89190612e6f565b604051602081830303815290604052611485565b610cac81602001516001600160a01b03166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b158015610c4c57600080fd5b505afa158015610c60573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610c889190810190612760565b604051602001610c989190612e86565b6040516020818303038152906040526114c8565b8051600f80546001600160a01b039283166001600160a01b0319918216179091556060830151600d8054919093169116179055600e829055610d0d7f0000000000000000000000000000000000000000000000000000000000000000610df6565b610d367f0000000000000000000000000000000000000000000000000000000000000000610df6565b610d3e610409565b610d466108ed565b5050565b600f546001600160a01b031690565b6060600880548060200260200160405190810160405280929190818152602001828054801561062357602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610d93575050505050905090565b600e5490565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b610d463383836113a9565b610e63816008805480602002602001604051908101604052809291908181526020018280548015610e5057602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610e32575b505050505061150b90919063ffffffff16565b610a9357600880546001810182556000919091527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30180546001600160a01b0319166001600160a01b0383161790556040517ff3e4c2c64e71e6ba2eaab9a599bced62f9eb91d2cda610bf41aa8c80ff2cf826906108ae908390612e91565b3390565b6001600160a01b038316610f0c5760405162461bcd60e51b81526004016106d19061304f565b6001600160a01b038216610f325760405162461bcd60e51b81526004016106d190612fbf565b6001600160a01b0380841660008181526001602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610f8d9085906130bd565b60405180910390a3505050565b606080610fa5610a7f565b610fb157610fb1611561565b6000610fbb6106a5565b600880546040805160208084028201810190925282815293945083018282801561100e57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610ff0575b50505050509250825167ffffffffffffffff8111801561102d57600080fd5b50604051908082528060200260200182016040528015611057578160200160208202803683370190505b50915060005b83518110156110a35761108484828151811061107557fe5b602002602001015186846115e3565b83828151811061109057fe5b602090810291909101015260010161105d565b50836001600160a01b03167fc17f1458d7773c19369fc6c68a3b4c44b675c86c50c997d58853aed5e38de6cd3385856040516110e193929190612e9f565b60405180910390a250915091565b600260065414156111125760405162461bcd60e51b81526004016106d19061307f565b6002600655604080518082019091526001600160a01b0380851682528316602082015261113e9061194b565b6111498383836119b4565b5050600160065550565b600081848411156111775760405162461bcd60e51b81526004016106d19190612f7e565b505050900390565b6000828211156111a15760405162461bcd60e51b81526004016106d190612fdf565b50900390565b606080600260065414156111cd5760405162461bcd60e51b81526004016106d19061307f565b600260065582156111eb576111e186610f9a565b9092509050611211565b604080518082019091526001600160a01b0387168152600060208201526112119061194b565b61121b8685611ac9565b6112258585611bab565b846001600160a01b0316866001600160a01b0316336001600160a01b03167fa4195c37c2947bbe89165f03e320b6903116f0b10d8cfdb522330f7ce6f9fa248760405161127291906130bd565b60405180910390a46001600655909590945092505050565b6000828201838110156107875760405162461bcd60e51b81526004016106d190612fcf565b8015806113375750604051636eb1769f60e11b81526001600160a01b0384169063dd62ed3e906112e59030908690600401612edc565b60206040518083038186803b1580156112fd57600080fd5b505afa158015611311573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061133591906127d1565b155b6113535760405162461bcd60e51b81526004016106d19061308f565b6105928363095ea7b360e01b8484604051602401611372929190612f1f565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152611c51565b600260065414156113cc5760405162461bcd60e51b81526004016106d19061307f565b60026006556113d9610a7f565b156113f65760405162461bcd60e51b81526004016106d190612f8f565b604080518082019091526001600160a01b03831681526000602082015261141c9061194b565b6114268282611ce0565b6114308382611d94565b816001600160a01b0316836001600160a01b03167f8752a472e571a816aea92eec8dae9baf628e840f4929fbcc2d155e6233ff68a78360405161147391906130bd565b60405180910390a35050600160065550565b805161149890600b9060208401906123cd565b507f12e9cab73c0c48661414f76e810af7d10c67f0db958722bf9f26b28a4b4afd69816040516108ae9190612f7e565b80516114db90600c9060208401906123cd565b507f862f26027c5033c09d43eacd856547decb3227c210f6eb7b6bdc0cf5edaa3f4b816040516108ae9190612f7e565b6000805b83518110156115575783818151811061152457fe5b60200260200101516001600160a01b0316836001600160a01b0316141561154f576001915050610682565b60010161150f565b5060009392505050565b611569610409565b6115716106f7565b6001600160a01b0316633d18b9126040518163ffffffff1660e01b8152600401602060405180830381600087803b1580156115ab57600080fd5b505af11580156115bf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a939190612742565b6001600160a01b038316600081815260096020526040808220805491516370a0823160e01b8152929390926001600160801b0390921691849161169e918791906370a0823190611637903090600401612e91565b60206040518083038186803b15801561164f57600080fd5b505afa158015611663573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061168791906127d1565b8554600160801b90046001600160801b0316611e58565b90508015611710576116b0828261128a565b83546001600160801b0319166001600160801b0382161784556040519092506001600160a01b038816907f64dcb34f2e45bc61753d72992aa4199ec96717158435e8085568ff38844bcd1c906117079085906130bd565b60405180910390a25b6001600160a01b038781166000908152600a60209081526040808320938a1683529290522080546001600160801b03600160801b82048116965016838110156117d15781546001600160801b0319166001600160801b03851617825561178161177a898684611ea3565b879061128a565b9550886001600160a01b0316886001600160a01b03167fe3bdf7e684a4024370a702abfcca4a32b08642aadc27065f3356458bd23e977e86896040516117c8929190613101565b60405180910390a35b85156118475781546001600160801b031682556117f86001600160a01b038a168988611ed5565b886001600160a01b0316886001600160a01b03167fe3bdf7e684a4024370a702abfcca4a32b08642aadc27065f3356458bd23e977e86600060405161183e9291906130e6565b60405180910390a35b6040516370a0823160e01b81526000906001600160a01b038b16906370a0823190611876903090600401612e91565b60206040518083038186803b15801561188e57600080fd5b505afa1580156118a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118c691906127d1565b8654909150600160801b90046001600160801b031681101561193e5785546001600160801b03808316600160801b0291161786556040516001600160a01b038b16907fdeb2652df61fdedd2d231dc4d777175097cc26369032d339be2a6db36d7754f2906119359084906130bd565b60405180910390a25b5050505050509392505050565b611953610a7f565b61195f5761195f611561565b60006119696106a5565b60085490915060005b818110156119ae576119a66008828154811061198a57fe5b6000918252602090912001546001600160a01b03168585611ef4565b600101611972565b50505050565b6001600160a01b0383166119da5760405162461bcd60e51b81526004016106d19061303f565b6001600160a01b038216611a005760405162461bcd60e51b81526004016106d190612faf565b611a0b838383610592565b611a488160405180606001604052806026815260200161327d602691396001600160a01b0386166000908152602081905260409020549190611153565b6001600160a01b038085166000908152602081905260408082209390935590841681522054611a77908261128a565b6001600160a01b0380841660008181526020819052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610f8d9085906130bd565b6001600160a01b038216611aef5760405162461bcd60e51b81526004016106d19061302f565b611afb82600083610592565b611b388160405180606001604052806022815260200161325b602291396001600160a01b0385166000908152602081905260409020549190611153565b6001600160a01b038316600090815260208190526040902055600254611b5e908261117f565b6002556040516000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611b9f9085906130bd565b60405180910390a35050565b611bb36106f7565b6001600160a01b031663c32e72028260006040518363ffffffff1660e01b8152600401611be19291906130cb565b602060405180830381600087803b158015611bfb57600080fd5b505af1158015611c0f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c339190612742565b50610d468282611c41610d4a565b6001600160a01b03169190611ed5565b6060611ca6826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166121e59092919063ffffffff16565b8051909150156105925780806020019051810190611cc49190612742565b6105925760405162461bcd60e51b81526004016106d19061306f565b6001600160a01b038216611d065760405162461bcd60e51b81526004016106d19061309f565b611d1260008383610592565b600254611d1f908261128a565b6002556001600160a01b038216600090815260208190526040902054611d45908261128a565b6001600160a01b0383166000818152602081905260408082209390935591519091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611b9f9085906130bd565b611db3823083611da2610d4a565b6001600160a01b03169291906121f4565b600e546040516321d0683360e11b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016916343a0d06691611e069190859060019060040161310f565b602060405180830381600087803b158015611e2057600080fd5b505af1158015611e34573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105929190612742565b60008315611557576000611e6c848461117f565b90508015611e9857611e9085611e8a83670de0b6b3a7640000612215565b9061224f565b915050610787565b505060009392505050565b6000611ecd670de0b6b3a7640000611e8a611ebe868661117f565b611ec7886108b9565b90612215565b949350505050565b6105928363a9059cbb60e01b8484604051602401611372929190612f1f565b6001600160a01b038316600081815260096020526040808220805491516370a0823160e01b815290936001600160801b039092169291906370a0823190611f3f903090600401612e91565b60206040518083038186803b158015611f5757600080fd5b505afa158015611f6b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f8f91906127d1565b8354909150600090611fb49086908490600160801b90046001600160801b0316611e58565b9050801561208157611fc6838261128a565b84546001600160801b0319166001600160801b0382161785556040519093506001600160a01b038816907f64dcb34f2e45bc61753d72992aa4199ec96717158435e8085568ff38844bcd1c9061201d9086906130bd565b60405180910390a283546001600160801b03808416600160801b0291161784556040516001600160a01b038816907fdeb2652df61fdedd2d231dc4d777175097cc26369032d339be2a6db36d7754f2906120789085906130bd565b60405180910390a25b60005b60028110156121db57600087826002811061209b57fe5b60200201516001600160a01b031614156120b4576121d3565b6001600160a01b0388166000908152600a60205260408120818984600281106120d957fe5b602090810291909101516001600160a01b0316825281019190915260400160002080549091506001600160801b0316858110156121d05760006121486121308b866002811061212457fe5b60200201518985611ea3565b8454600160801b90046001600160801b03169061128a565b83546001600160801b03196001600160801b03918216600160801b84841602171690891617845590506001600160a01b038b168a856002811061218757fe5b60200201516001600160a01b03167fe3bdf7e684a4024370a702abfcca4a32b08642aadc27065f3356458bd23e977e89846040516121c6929190613101565b60405180910390a3505b50505b600101612084565b5050505050505050565b6060611ecd8484600085612281565b6119ae846323b872dd60e01b85858560405160240161137293929190612ef7565b60008261222457506000610682565b8282028284828161223157fe5b04146107875760405162461bcd60e51b81526004016106d19061300f565b60008082116122705760405162461bcd60e51b81526004016106d190612fff565b81838161227957fe5b049392505050565b6060824710156122a35760405162461bcd60e51b81526004016106d190612fef565b6122ac85612342565b6122c85760405162461bcd60e51b81526004016106d19061305f565b60006060866001600160a01b031685876040516122e59190612e63565b60006040518083038185875af1925050503d8060008114612322576040519150601f19603f3d011682016040523d82523d6000602084013e612327565b606091505b5091509150612337828286612348565b979650505050505050565b3b151590565b60608315612357575081610787565b8251156123675782518084602001fd5b8160405162461bcd60e51b81526004016106d19190612f7e565b604080518082019091526000808252602082015290565b6040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a081019190915290565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061240e57805160ff191683800117855561243b565b8280016001018555821561243b579182015b8281111561243b578251825591602001919060010190612420565b5061244792915061244b565b5090565b5b80821115612447576000815560010161244c565b803561068281613234565b805161068281613234565b803561068281613248565b805161068281613248565b600082601f83011261249d57600080fd5b81516124b06124ab8261316c565b613145565b915080825260208301602083018583830111156124cc57600080fd5b6124d78382846131fe565b50505092915050565b600060c082840312156124f257600080fd5b6124fc60c0613145565b9050600061250a848461246b565b825250602061251b8484830161246b565b602083015250604061252f8482850161246b565b60408301525060606125438482850161246b565b60608301525060806125578482850161246b565b60808301525060a061256b84828501612481565b60a08301525092915050565b803561068281613251565b805161068281613251565b60006020828403121561259f57600080fd5b6000611ecd8484612460565b6000602082840312156125bd57600080fd5b6000611ecd848461246b565b600080604083850312156125dc57600080fd5b60006125e88585612460565b92505060206125f985828601612460565b9150509250929050565b60008060006060848603121561261857600080fd5b60006126248686612460565b935050602061263586828701612460565b925050604061264686828701612577565b9150509250925092565b6000806000806080858703121561266657600080fd5b60006126728787612460565b945050602061268387828801612460565b935050604061269487828801612577565b92505060606126a587828801612476565b91505092959194509250565b600080604083850312156126c457600080fd5b60006126d08585612460565b92505060206125f985828601612577565b6000806000606084860312156126f657600080fd5b60006127028686612460565b935050602061271386828701612577565b925050604061264686828701612476565b60006020828403121561273657600080fd5b6000611ecd8484612476565b60006020828403121561275457600080fd5b6000611ecd8484612481565b60006020828403121561277257600080fd5b815167ffffffffffffffff81111561278957600080fd5b611ecd8482850161248c565b600060c082840312156127a757600080fd5b6000611ecd84846124e0565b6000602082840312156127c557600080fd5b6000611ecd8484612577565b6000602082840312156127e357600080fd5b6000611ecd8484612582565b6000806040838503121561280257600080fd5b600061280e8585612577565b92505060206125f985828601612476565b600061282b838361284e565b505060200190565b600061282b8383612e51565b612848816131dd565b82525050565b612848816131ac565b60006128628261319a565b61286c818561319e565b935061287783613194565b8060005b838110156128a557815161288f888261281f565b975061289a83613194565b92505060010161287b565b509495945050505050565b60006128bb8261319a565b6128c5818561319e565b93506128d083613194565b8060005b838110156128a55781516128e88882612833565b97506128f383613194565b9250506001016128d4565b612848816131b7565b60006129128261319a565b61291c81856131a7565b935061292c8185602086016131fe565b9290920192915050565b612848816131e8565b600061294a8261319a565b612954818561319e565b93506129648185602086016131fe565b61296d8161322a565b9093019392505050565b600061298460118361319e565b7017d7d9195c1bdcda5d0e8814185d5cd959607a1b815260200192915050565b60006129b160138361319e565b724f6e6c79206f776e65722063616c6c61626c6560681b815260200192915050565b60006129e060238361319e565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647281526265737360e81b602082015260400192915050565b6000612a25600f836131a7565b6e022b73d3cb6b29029ba30b5b2b21d1608d1b8152600f0192915050565b6000612a5060228361319e565b7f45524332303a20617070726f766520746f20746865207a65726f206164647265815261737360f01b602082015260400192915050565b6000612a94601b8361319e565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000612acd601e8361319e565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000612b0660268361319e565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f8152651c8818d85b1b60d21b602082015260400192915050565b6000612b4e601a8361319e565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b6000612b8760218361319e565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000612bca60118361319e565b701a5b9a5d0e88125b9a5d1a585b1a5e9959607a1b815260200192915050565b6000612bf760218361319e565b7f45524332303a206275726e2066726f6d20746865207a65726f206164647265738152607360f81b602082015260400192915050565b6000612c3a60258361319e565b7f45524332303a207472616e736665722066726f6d20746865207a65726f206164815264647265737360d81b602082015260400192915050565b6000612c816003836131a7565b6273746b60e81b815260030192915050565b6000612ca060248361319e565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164648152637265737360e01b602082015260400192915050565b6000612ce6601d8361319e565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000815260200192915050565b6000612d1f602a8361319e565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e8152691bdd081cdd58d8d9595960b21b602082015260400192915050565b6000612d6b601f8361319e565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00815260200192915050565b6000612da460368361319e565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f81527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b602082015260400192915050565b6000612dfc601f8361319e565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300815260200192915050565b80516040830190612e398482612e48565b5060208201516119ae60208501825b612848816131bc565b612848816131d4565b612848816131d7565b60006107878284612907565b6000612e7a82612a18565b91506107878284612907565b6000612e7a82612c74565b60208101610682828461284e565b60608101612ead828661283f565b8181036020830152612ebf8185612857565b90508181036040830152612ed381846128b0565b95945050505050565b60408101612eea828561284e565b610787602083018461284e565b60608101612f05828661284e565b612f12602083018561284e565b611ecd6040830184612e51565b60408101612f2d828561284e565b6107876020830184612e51565b602080825281016107878184612857565b60408082528101612f5c8185612857565b90508181036020830152611ecd81846128b0565b6020810161068282846128fe565b60208082528101610787818461293f565b6020808252810161068281612977565b60208082528101610682816129a4565b60208082528101610682816129d3565b6020808252810161068281612a43565b6020808252810161068281612a87565b6020808252810161068281612ac0565b6020808252810161068281612af9565b6020808252810161068281612b41565b6020808252810161068281612b7a565b6020808252810161068281612bbd565b6020808252810161068281612bea565b6020808252810161068281612c2d565b6020808252810161068281612c93565b6020808252810161068281612cd9565b6020808252810161068281612d12565b6020808252810161068281612d5e565b6020808252810161068281612d97565b6020808252810161068281612def565b604081016106828284612e28565b602081016106828284612e51565b604081016130d98285612e51565b61078760208301846128fe565b604081016130f48285612e51565b6107876020830184612936565b60408101612f2d8285612e51565b6060810161311d8286612e51565b61312a6020830185612e51565b611ecd60408301846128fe565b602081016106828284612e5a565b60405181810167ffffffffffffffff8111828210171561316457600080fd5b604052919050565b600067ffffffffffffffff82111561318357600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b919050565b6000610682826131c8565b151590565b6001600160801b031690565b6001600160a01b031690565b90565b60ff1690565b6000610682826131f3565b6000610682826131d4565b6000610682826131ac565b60005b83811015613219578181015183820152602001613201565b838111156119ae5750506000910152565b601f01601f191690565b61323d816131ac565b8114610a9357600080fd5b61323d816131b7565b61323d816131d456fe45524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa164736f6c634300060c000a", - "sourceMap": "702:4799:263:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2356:680;;;:::i;:::-;;1293:100:260;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17864:261:259;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;4244:166:447:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;3235:106::-;;;:::i;:::-;;;;;;;:::i;3628:231:259:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;4970:101:263:-;;;:::i;:::-;;;;;;;:::i;4877:317:447:-;;;;;;:::i;:::-;;:::i;6483:372:259:-;;;;;;:::i;:::-;;:::i;15957:115::-;;;:::i;:::-;;;;;;;:::i;5347:258::-;;;;;;:::i;:::-;;:::i;5589:215:447:-;;;;;;:::i;:::-;;:::i;3042:130:259:-;;;;;;:::i;:::-;;:::i;3399:125:447:-;;;;;;:::i;:::-;;:::i;5863:202:259:-;;;;;;:::i;:::-;;:::i;16873:120::-;;;:::i;3100:137:263:-;;;:::i;1548:106:260:-;;;:::i;17404:241:259:-;;;;;;:::i;:::-;;:::i;6291:266:447:-;;;;;;:::i;:::-;;:::i;16591:179:259:-;;;;;;:::i;:::-;;:::i;3727:172:447:-;;;;;;:::i;:::-;;:::i;18244:96:259:-;;;:::i;4014:111::-;;;;;;:::i;:::-;;:::i;1434:723:263:-;;;;;;:::i;:::-;;:::i;5392:107::-;;;:::i;17102:125:259:-;;;:::i;:::-;;;;;;;:::i;5179:107:263:-;;;:::i;3957:149:447:-;;;;;;:::i;:::-;;:::i;4334:119:259:-;;;;;;:::i;:::-;;:::i;2356:680:263:-;2400:40;2465:15;:13;:15::i;:::-;2400:81;;2695:25;2723:18;-1:-1:-1;;;;;2723:37:263;;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2695:67;;2777:9;2772:258;2792:17;2788:1;:21;2772:258;;;2956:34;;-1:-1:-1;;;2956:34:263;;2890:129;;-1:-1:-1;;;;;2956:31:263;;;;;:34;;2988:1;;2956:34;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;2924:79:263;;:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2890:16;:129::i;:::-;2811:3;;2772:258;;;;2356:680;;:::o;1293:100:260:-;1377:9;1370:16;;;;;;;;-1:-1:-1;;1370:16:260;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1339:19;;1370:16;;1377:9;;1370:16;;1377:9;1370:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1293:100;:::o;17864:261:259:-;18005:39;;:::i;:::-;-1:-1:-1;;;;;;18067:44:259;;;;;;;:30;:44;;;;;;;;:51;;;;;;;;;;;;18060:58;;;;;;;;;-1:-1:-1;;;;;18060:58:259;;;;;-1:-1:-1;;;18060:58:259;;;;;;;;17864:261;;;;;:::o;4244:166:447:-;4327:4;4343:39;4352:12;:10;:12::i;:::-;4366:7;4375:6;4343:8;:39::i;:::-;-1:-1:-1;4399:4:447;4244:166;;;;:::o;3235:106::-;3322:12;;3235:106;:::o;3628:231:259:-;3739:30;3771:32;1688:1:453;2277:7;;:19;;2269:63;;;;-1:-1:-1;;;2269:63:453;;;;;;;:::i;:::-;;;;;;;;;1688:1;2407:7;:18;3826:26:259::1;3847:4:::0;3826:20:::1;:26::i;:::-;1645:1:453::0;2580:7;:22;3819:33:259;;;;-1:-1:-1;3628:231:259;-1:-1:-1;;3628:231:259:o;4970:101:263:-;5054:10;;-1:-1:-1;;;;;5054:10:263;;4970:101::o;4877:317:447:-;4983:4;4999:36;5009:6;5017:9;5028:6;4999:9;:36::i;:::-;5045:121;5054:6;5062:12;:10;:12::i;:::-;5076:89;5114:6;5076:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5076:19:447;;;;;;-1:-1:-1;5076:19:447;;;;;;5096:12;:10;:12::i;:::-;-1:-1:-1;;;;;5076:33:447;;;;;;;;;;;;-1:-1:-1;5076:33:447;;;;:37;:89::i;:::-;5045:8;:121::i;:::-;-1:-1:-1;5183:4:447;4877:317;;;;;;:::o;6483:372:259:-;6701:78;6710:9;6721:10;6733:45;6770:7;6733:32;6743:9;6754:10;6733:9;:32::i;:::-;:36;;:45::i;6701:78::-;6790:58;6801:9;6812:3;6817:7;6826:21;6790:10;:58::i;:::-;;;6483:372;;;;:::o;15957:115::-;2212:2;15957:115;:::o;5347:258::-;5453:30;5485:32;5540:58;5551:10;5563;5575:7;5584:13;5540:10;:58::i;:::-;5533:65;;;;5347:258;;;;;:::o;5589:215:447:-;5677:4;5693:83;5702:12;:10;:12::i;:::-;5716:7;5725:50;5764:10;5725:11;:25;5737:12;:10;:12::i;:::-;-1:-1:-1;;;;;5725:25:447;;;;;;;;;;;;;;;;;-1:-1:-1;5725:25:447;;;:34;;;;;;;;;;;:38;:50::i;3042:130:259:-;2645:10;-1:-1:-1;;;;;2659:5:259;2645:19;;2637:51;;;;-1:-1:-1;;;2637:51:259;;;;;;;:::i;:::-;3108:6:::1;:18:::0;;-1:-1:-1;;3108:18:259::1;::::0;::::1;;;::::0;;3142:23:::1;::::0;::::1;::::0;::::1;::::0;3108:18;;3142:23:::1;:::i;:::-;;;;;;;;3042:130:::0;:::o;3399:125:447:-;-1:-1:-1;;;;;3499:18:447;3473:7;3499:18;;;;;;;;;;;;3399:125::o;5863:202:259:-;5999:59;6010:10;6022:3;6027:7;6036:21;5999:10;:59::i;:::-;;;5863:202;;;:::o;16873:120::-;16967:12;:19;16873:120;:::o;3100:137:263:-;3141:89;3186:23;-1:-1:-1;;3147:17:263;:15;:17::i;:::-;-1:-1:-1;;;;;3141:36:263;;;;:89::i;:::-;3100:137::o;1548:106:260:-;1636:11;1629:18;;;;;;;;-1:-1:-1;;1629:18:260;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1596:21;;1629:18;;1636:11;;1629:18;;1636:11;1629:18;;;;;;;;;;;;;;;;;;;;;;;;17404:241:259;17531:41;;:::i;:::-;-1:-1:-1;;;;;;17595:43:259;;;;;:29;:43;;;;;;;;;17588:50;;;;;;;;;-1:-1:-1;;;;;17588:50:259;;;;;-1:-1:-1;;;17588:50:259;;;;;;;;;17404:241::o;6291:266:447:-;6384:4;6400:129;6409:12;:10;:12::i;:::-;6423:7;6432:96;6471:15;6432:96;;;;;;;;;;;;;;;;;:11;:25;6444:12;:10;:12::i;:::-;-1:-1:-1;;;;;6432:25:447;;;;;;;;;;;;;;;;;-1:-1:-1;6432:25:447;;;:34;;;;;;;;;;;;:38;:96::i;16591:179:259:-;16700:20;16743:12;16756:6;16743:20;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;16743:20:259;;;-1:-1:-1;;16591:179:259:o;3727:172:447:-;3813:4;3829:42;3839:12;:10;:12::i;:::-;3853:9;3864:6;3829:9;:42::i;18244:96:259:-;18327:6;;;;18244:96;:::o;4014:111::-;4076:42;4086:10;4098;4110:7;4076:9;:42::i;:::-;4014:111;:::o;1434:723:263:-;1569:1;1540:17;:15;:17::i;:::-;-1:-1:-1;;;;;1540:31:263;;1532:61;;;;-1:-1:-1;;;1532:61:263;;;;;;;:::i;:::-;1604:39;;:::i;:::-;1646:38;;-1:-1:-1;;;1646:38:263;;-1:-1:-1;;;;;1646:23:263;:32;;-1:-1:-1;;1646:38:263;;1679:4;;1646:38;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1604:80;;1730:89;1794:8;:14;;;-1:-1:-1;;;;;1788:26:263;;:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1788:28:263;;;;;;;;;;;;:::i;:::-;1752:65;;;;;;;;:::i;:::-;;;;;;;;;;;;;1730:14;:89::i;:::-;1829:81;1883:8;:14;;;-1:-1:-1;;;;;1877:28:263;;:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1877:30:263;;;;;;;;;;;;:::i;:::-;1853:55;;;;;;;;:::i;:::-;;;;;;;;;;;;;1829:16;:81::i;:::-;1936:16;;1921:12;:31;;-1:-1:-1;;;;;1921:31:263;;;-1:-1:-1;;;;;;1921:31:263;;;;;;;1975:19;;;;1962:10;:32;;;;;;;;;;;2004:12;:19;;;2034:27;2051:9;2034:16;:27::i;:::-;2071;2088:9;2071:16;:27::i;:::-;2108:17;:15;:17::i;:::-;2136:14;:12;:14::i;:::-;1434:723;;:::o;5392:107::-;5480:12;;-1:-1:-1;;;;;5480:12:263;;5392:107::o;17102:125:259:-;17159:30;17208:12;17201:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;17201:19:259;;;-1:-1:-1;17201:19:259;;;;;;;;;;;;;;;;;;17102:125;:::o;5179:107:263:-;5267:12;;5179:107;:::o;3957:149:447:-;-1:-1:-1;;;;;4072:18:447;;;4046:7;4072:18;;;-1:-1:-1;4072:18:447;;;;;;;;:27;;;;;;;;;;;;;3957:149::o;4334:119:259:-;4411:35;4421:10;4433:3;4438:7;4411:9;:35::i;8006:221::-;8078:35;8100:12;8078;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8078:21:259;;;-1:-1:-1;8078:21:259;;;;;;;;;;;;;;;;;;;:35;;;;:::i;:::-;8073:148;;8129:12;:31;;;;;;;-1:-1:-1;8129:31:259;;;;;;;;-1:-1:-1;;;;;;8129:31:259;-1:-1:-1;;;;;8129:31:259;;;;;8180:30;;;;;;8129:31;;8180:30;:::i;598:104:452:-;685:10;598:104;:::o;9355:340:447:-;-1:-1:-1;;;;;9456:19:447;;9448:68;;;;-1:-1:-1;;;9448:68:447;;;;;;;:::i;:::-;-1:-1:-1;;;;;9534:21:447;;9526:68;;;;-1:-1:-1;;;9526:68:447;;;;;;;:::i;:::-;-1:-1:-1;;;;;9605:18:447;;;;;;;-1:-1:-1;9605:18:447;;;;;;;;:27;;;;;;;;;;;;;;:36;;;9656:32;;;;;9605:36;;9656:32;:::i;:::-;;;;;;;;9355:340;;;:::o;9974:753:259:-;10055:30;10087:32;10223:10;:8;:10::i;:::-;10218:65;;10249:23;:21;:23::i;:::-;10293:14;10310:13;:11;:13::i;:::-;10350:12;10334:28;;;;;;;;;;;;;;;;;;;10293:30;;-1:-1:-1;10334:28:259;;10350:12;10334:28;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10334:28:259;;;-1:-1:-1;10334:28:259;;;;;;;;;;;;;;;;;;;10404:13;:20;10390:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10390:35:259;;10372:53;;10440:9;10435:152;10455:13;:20;10451:1;:24;10435:152;;;10517:59;10541:13;10555:1;10541:16;;;;;;;;;;;;;;10559:8;10569:6;10517:23;:59::i;:::-;10496:15;10512:1;10496:18;;;;;;;;;;;;;;;;;:80;10477:3;;10435:152;;;-1:-1:-1;10602:68:259;;-1:-1:-1;;;;;10602:68:259;;;;;;;10617:10;;10639:13;;10654:15;;10602:68;:::i;:::-;;;;;;;;10681:39;9974:753;;;:::o;16184:214::-;1688:1:453;2277:7;;:19;;2269:63;;;;-1:-1:-1;;;2269:63:453;;;;;;;:::i;:::-;1688:1;2407:7;:18;16319:26:259::1;::::0;;;;::::1;::::0;;;-1:-1:-1;;;;;16319:26:259;;::::1;::::0;;;::::1;;::::0;::::1;::::0;::::1;::::0;:12:::1;:26::i;:::-;16355:36;16371:5;16378:3;16383:7;16355:15;:36::i;:::-;-1:-1:-1::0;;1645:1:453;2580:7;:22;-1:-1:-1;16184:214:259:o;5432:163:442:-;5518:7;5553:12;5545:6;;;;5537:29;;;;-1:-1:-1;;;5537:29:442;;;;;;;;:::i;:::-;-1:-1:-1;;;5583:5:442;;;5432:163::o;3136:155::-;3194:7;3226:1;3221;:6;;3213:49;;;;-1:-1:-1;;;3213:49:442;;;;;;;:::i;:::-;-1:-1:-1;3279:5:442;;;3136:155::o;6907:650:259:-;7084:30;7116:32;1688:1:453;2277:7;;:19;;2269:63;;;;-1:-1:-1;;;2269:63:453;;;;;;;:::i;:::-;1688:1;2407:7;:18;7201:170:259;::::1;;;7269:27;7290:5;7269:20;:27::i;:::-;7234:62:::0;;-1:-1:-1;7234:62:259;-1:-1:-1;7201:170:259::1;;;7327:33;::::0;;;;::::1;::::0;;;-1:-1:-1;;;;;7327:33:259;::::1;::::0;;-1:-1:-1;7327:33:259::1;::::0;::::1;::::0;::::1;::::0;:12:::1;:33::i;:::-;7381:21;7387:5;7394:7;7381:5;:21::i;:::-;7413:29;7429:3;7434:7;7413:15;:29::i;:::-;7458:42;::::0;-1:-1:-1;;;;;7458:42:259;;::::1;::::0;;;::::1;::::0;7468:10:::1;::::0;7458:42:::1;::::0;::::1;::::0;7492:7;;7458:42:::1;:::i;:::-;;;;;;;;1645:1:453::0;2580:7;:22;6907:650:259;;;;-1:-1:-1;6907:650:259;-1:-1:-1;;;6907:650:259:o;2690:175:442:-;2748:7;2779:5;;;2802:6;;;;2794:46;;;;-1:-1:-1;;;2794:46:442;;;;;;;:::i;1348:613:450:-;1713:10;;;1712:62;;-1:-1:-1;1729:39:450;;-1:-1:-1;;;1729:39:450;;-1:-1:-1;;;;;1729:15:450;;;;;:39;;1753:4;;1760:7;;1729:39;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:44;1712:62;1704:150;;;;-1:-1:-1;;;1704:150:450;;;;;;;:::i;:::-;1864:90;1884:5;1914:22;;;1938:7;1947:5;1891:62;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;1891:62:450;;;;;;;;;;;;;;-1:-1:-1;;;;;1891:62:450;-1:-1:-1;;;;;;1891:62:450;;;;;;;;;;;1864:19;:90::i;4510:368:259:-;1688:1:453;2277:7;;:19;;2269:63;;;;-1:-1:-1;;;2269:63:453;;;;;;;:::i;:::-;1688:1;2407:7;:18;4644:10:259::1;:8;:10::i;:::-;4643:11;4635:41;;;::::0;-1:-1:-1;;;4635:41:259;;::::1;::::0;::::1;;;:::i;:::-;4724:31;::::0;;;;::::1;::::0;;;-1:-1:-1;;;;;4724:31:259;::::1;::::0;;-1:-1:-1;4724:31:259::1;::::0;::::1;::::0;::::1;::::0;:12:::1;:31::i;:::-;4765:19;4771:3;4776:7;4765:5;:19::i;:::-;4795:30;4810:5;4817:7;4795:14;:30::i;:::-;4841;::::0;-1:-1:-1;;;;;4841:30:259;;::::1;::::0;;;::::1;::::0;::::1;::::0;::::1;::::0;4863:7;;4841:30:::1;:::i;:::-;;;;;;;;-1:-1:-1::0;;1645:1:453;2580:7;:22;-1:-1:-1;4510:368:259:o;752:123:260:-;816:17;;;;:9;;:17;;;;;:::i;:::-;;849:19;862:5;849:19;;;;;;:::i;930:135::-;998:21;;;;:11;;:21;;;;;:::i;:::-;;1035:23;1050:7;1035:23;;;;;;:::i;2489:299:354:-;2595:17;2633:9;2628:132;2648:5;:12;2644:1;:16;2628:132;;;2696:5;2702:1;2696:8;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2685:19:354;;;;;;2681:69;;;2731:4;2724:11;;;;;2681:69;2662:3;;2628:132;;;-1:-1:-1;2776:5:354;;2489:299;-1:-1:-1;;;2489:299:354:o;3983:406:263:-;4305:17;:15;:17::i;:::-;4354:15;:13;:15::i;:::-;-1:-1:-1;;;;;4332:48:263;;:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;12767:2058:259:-;-1:-1:-1;;;;;12982:43:259;;12904:22;12982:43;;;:29;:43;;;;;;13060:25;;13178:44;;-1:-1:-1;;;13178:44:259;;12904:22;;12982:43;;-1:-1:-1;;;;;13060:25:259;;;;12904:22;;13119:165;;13157:7;;12982:43;-1:-1:-1;;13178:44:259;;13216:4;;13178:44;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13236:38;;-1:-1:-1;;;13236:38:259;;-1:-1:-1;;;;;13236:38:259;13119:24;:165::i;:::-;13095:189;-1:-1:-1;13298:17:259;;13294:236;;13347:32;:13;13365;13347:17;:32::i;:::-;13393:50;;-1:-1:-1;;;;;;13393:50:259;-1:-1:-1;;;;;13393:50:259;;;;;13463:56;;13393:50;;-1:-1:-1;;;;;;13463:56:259;;;;;;;13393:50;;13463:56;:::i;:::-;;;;;;;;13294:236;-1:-1:-1;;;;;13582:44:259;;;13540:39;13582:44;;;:30;:44;;;;;;;;:76;;;;;;;;;13692:24;;-1:-1:-1;;;;;;;;13743:31:259;;;;;-1:-1:-1;13692:24:259;13788:28;;;13784:357;;;13832:49;;-1:-1:-1;;;;;;13832:49:259;-1:-1:-1;;;;;13832:49:259;;;;;13912:125;13948:75;13985:8;13832:49;14010:12;13948:36;:75::i;:::-;13912:14;;:18;:125::i;:::-;14057:73;;13895:142;;-1:-1:-1;;;;;;14057:73:259;;;;;;;;;;;;14100:13;;13895:142;;14057:73;:::i;:::-;;;;;;;;13784:357;14155:18;;14151:236;;14189:35;;-1:-1:-1;;;;;14189:35:259;;;14238:58;-1:-1:-1;;;;;14238:32:259;;14271:8;14281:14;14238:32;:58::i;:::-;14316:60;;-1:-1:-1;;;;;14316:60:259;;;;;;;;;;;;14359:13;;14374:1;;14316:60;:::i;:::-;;;;;;;;14151:236;14511:44;;-1:-1:-1;;;14511:44:259;;14492:16;;-1:-1:-1;;;;;14511:29:259;;;-1:-1:-1;;14511:44:259;;14549:4;;14511:44;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14580:38;;14492:63;;-1:-1:-1;;;;14580:38:259;;-1:-1:-1;;;;;14580:38:259;14569:49;;14565:222;;;14634:58;;-1:-1:-1;;;;;14634:58:259;;;-1:-1:-1;;;14634:58:259;;;;;;14712:64;;-1:-1:-1;;;;;14712:64:259;;;;;;;14634:58;;14712:64;:::i;:::-;;;;;;;;14565:222;14797:21;;;;;;12767:2058;;;;;:::o;9394:453::-;9551:10;:8;:10::i;:::-;9546:65;;9577:23;:21;:23::i;:::-;9621:14;9638:13;:11;:13::i;:::-;9691:12;:19;9621:30;;-1:-1:-1;9662:26:259;9720:121;9740:18;9736:1;:22;9720:121;;;9779:51;9795:12;9808:1;9795:15;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9795:15:259;9812:9;9823:6;9779:15;:51::i;:::-;9760:3;;9720:121;;;;9394:453;;;:::o;7031:530:447:-;-1:-1:-1;;;;;7136:20:447;;7128:70;;;;-1:-1:-1;;;7128:70:447;;;;;;;:::i;:::-;-1:-1:-1;;;;;7216:23:447;;7208:71;;;;-1:-1:-1;;;7208:71:447;;;;;;;:::i;:::-;7290:47;7311:6;7319:9;7330:6;7290:20;:47::i;:::-;7368:71;7390:6;7368:71;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7368:17:447;;:9;:17;;;;;;;;;;;;;:21;:71::i;:::-;-1:-1:-1;;;;;7348:17:447;;;:9;:17;;;;;;;;;;;:91;;;;7472:20;;;;;;;:32;;7497:6;7472:24;:32::i;:::-;-1:-1:-1;;;;;7449:20:447;;;:9;:20;;;;;;;;;;;;:55;;;;7519:35;;;;;;;;;;7547:6;;7519:35;:::i;8522:410::-;-1:-1:-1;;;;;8605:21:447;;8597:67;;;;-1:-1:-1;;;8597:67:447;;;;;;;:::i;:::-;8675:49;8696:7;8713:1;8717:6;8675:20;:49::i;:::-;8756:68;8779:6;8756:68;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8756:18:447;;:9;:18;;;;;;;;;;;;;:22;:68::i;:::-;-1:-1:-1;;;;;8735:18:447;;:9;:18;;;;;;;;;;:89;8849:12;;:24;;8866:6;8849:16;:24::i;:::-;8834:12;:39;8888:37;;8914:1;;-1:-1:-1;;;;;8888:37:447;;;;;;;8918:6;;8888:37;:::i;:::-;;;;;;;;8522:410;;:::o;4561:223:263:-;4666:15;:13;:15::i;:::-;4644:72;;-1:-1:-1;;;4644:72:263;;-1:-1:-1;;;;;4644:56:263;;;;;;;:72;;4701:7;;4710:5;;4644:72;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;4726:51;4764:3;4769:7;4732:17;:15;:17::i;:::-;-1:-1:-1;;;;;4726:37:263;;;;:51::i;2967:751:450:-;3412:69;;;;;;;;;;;;;;;;;;3386:23;;3412:69;;-1:-1:-1;;;;;3412:27:450;;;3440:4;;3412:27;:69::i;:::-;3495:17;;3386:95;;-1:-1:-1;3495:21:450;3491:221;;3635:10;3624:30;;;;;;;;;;;;:::i;:::-;3616:85;;;;-1:-1:-1;;;3616:85:450;;;;;;;:::i;7832:370:447:-;-1:-1:-1;;;;;7915:21:447;;7907:65;;;;-1:-1:-1;;;7907:65:447;;;;;;;:::i;:::-;7983:49;8012:1;8016:7;8025:6;7983:20;:49::i;:::-;8058:12;;:24;;8075:6;8058:16;:24::i;:::-;8043:12;:39;-1:-1:-1;;;;;8113:18:447;;:9;:18;;;;;;;;;;;:30;;8136:6;8113:22;:30::i;:::-;-1:-1:-1;;;;;8092:18:447;;:9;:18;;;;;;;;;;;:51;;;;8158:37;;8092:18;;:9;8158:37;;;;8188:6;;8158:37;:::i;3517:233:263:-;3601:72;3643:5;3658:4;3665:7;3607:17;:15;:17::i;:::-;-1:-1:-1;;;;;3601:41:263;;;;;:72::i;:::-;3715:12;;3683:60;;-1:-1:-1;;;3683:60:263;;-1:-1:-1;;;;;3683:23:263;:31;;;;:60;;3715:12;3729:7;;-1:-1:-1;;3683:60:263;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;8836:431:259:-;8996:17;9029:11;;9025:217;;9056:15;9074:43;:15;9094:22;9074:19;:43::i;:::-;9056:61;-1:-1:-1;9135:11:259;;9131:101;;9173:44;9209:7;9173:31;:7;2266:4;9173:11;:31::i;:::-;:35;;:44::i;:::-;9166:51;;;;;9131:101;9025:217;-1:-1:-1;9259:1:259;8836:431;;;;;:::o;8364:365::-;8541:24;8596:126;2266:4;8596:72;8620:47;:21;8646:20;8620:25;:47::i;:::-;8596:19;8606:8;8596:9;:19::i;:::-;:23;;:72::i;:126::-;8577:145;8364:365;-1:-1:-1;;;;8364:365:259:o;704:175:450:-;786:86;806:5;836:23;;;861:2;865:5;813:58;;;;;;;;;:::i;10776:1910:259:-;-1:-1:-1;;;;;10961:43:259;;10917:41;10961:43;;;:29;:43;;;;;;11039:25;;11088:44;;-1:-1:-1;;;11088:44:259;;10961:43;;-1:-1:-1;;;;;11039:25:259;;;;10917:41;10961:43;-1:-1:-1;;11088:44:259;;11126:4;;11088:44;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11242:38;;11074:58;;-1:-1:-1;11142:21:259;;11166:124;;11204:7;;11074:58;;-1:-1:-1;;;11242:38:259;;-1:-1:-1;;;;;11242:38:259;11166:24;:124::i;:::-;11142:148;-1:-1:-1;11304:17:259;;11300:381;;11353:32;:13;11371;11353:17;:32::i;:::-;11399:50;;-1:-1:-1;;;;;;11399:50:259;-1:-1:-1;;;;;11399:50:259;;;;;11468:56;;11399:50;;-1:-1:-1;;;;;;11468:56:259;;;;;;;11399:50;;11468:56;:::i;:::-;;;;;;;;11539:53;;-1:-1:-1;;;;;11539:53:259;;;-1:-1:-1;;;11539:53:259;;;;;;11611:59;;-1:-1:-1;;;;;11611:59:259;;;;;;;11539:53;;11611:59;:::i;:::-;;;;;;;;11300:381;11696:9;11691:989;11711:16;11707:1;:20;11691:989;;;11837:1;11813:9;11823:1;11813:12;;;;;;;;;;;-1:-1:-1;;;;;11813:26:259;;11809:40;;;11841:8;;11809:40;-1:-1:-1;;;;;11906:44:259;;11864:39;11906:44;;;:30;:44;;;;;11864:39;11968:9;11978:1;11968:12;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11906:88:259;;;;;;;;;;;-1:-1:-1;11906:88:259;12032:24;;11906:88;;-1:-1:-1;;;;;;12032:24:259;12074:28;;;12070:600;;;12122:23;12148:163;12214:79;12251:9;12261:1;12251:12;;;;;;;;;;;12265:13;12280:12;12214:36;:79::i;:::-;12156:31;;-1:-1:-1;;;12156:31:259;;-1:-1:-1;;;;;12156:31:259;;12148:44;:163::i;:::-;12330:58;;-1:-1:-1;;;;;;;;;;;12330:58:259;;;-1:-1:-1;;;12330:58:259;;;;;12406:49;;;;;;;12330:58;-1:-1:-1;;;;;;12479:176:259;;12519:9;12529:1;12519:12;;;;;;;;;;;-1:-1:-1;;;;;12479:176:259;;12587:13;12622:15;12479:176;;;;;;;:::i;:::-;;;;;;;;12070:600;;11691:989;;;11729:3;;11691:989;;;;10776:1910;;;;;;;:::o;3581:193:451:-;3684:12;3715:52;3737:6;3745:4;3751:1;3754:12;3715:21;:52::i;885:203:450:-;985:96;1005:5;1035:27;;;1064:4;1070:2;1074:5;1012:68;;;;;;;;;;:::i;3538:215:442:-;3596:7;3619:6;3615:20;;-1:-1:-1;3634:1:442;3627:8;;3615:20;3657:5;;;3661:1;3657;:5;:1;3680:5;;;;;:10;3672:56;;;;-1:-1:-1;;;3672:56:442;;;;;;;:::i;4217:150::-;4275:7;4306:1;4302;:5;4294:44;;;;-1:-1:-1;;;4294:44:442;;;;;;;:::i;:::-;4359:1;4355;:5;;;;;;;4217:150;-1:-1:-1;;;4217:150:442:o;4608:523:451:-;4735:12;4792:5;4767:21;:30;;4759:81;;;;-1:-1:-1;;;4759:81:451;;;;;;;:::i;:::-;4858:18;4869:6;4858:10;:18::i;:::-;4850:60;;;;-1:-1:-1;;;4850:60:451;;;;;;;:::i;:::-;4981:12;4995:23;5022:6;-1:-1:-1;;;;;5022:11:451;5042:5;5050:4;5022:33;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4980:75;;;;5072:52;5090:7;5099:10;5111:12;5072:17;:52::i;:::-;5065:59;4608:523;-1:-1:-1;;;;;;;4608:523:451:o;726:413::-;1086:20;1124:8;;;726:413::o;7091:725::-;7206:12;7234:7;7230:580;;;-1:-1:-1;7264:10:451;7257:17;;7230:580;7375:17;;:21;7371:429;;7633:10;7627:17;7693:15;7680:10;7676:2;7672:19;7665:44;7582:145;7765:20;;-1:-1:-1;;;7765:20:451;;;;7772:12;;7765:20;;;:::i;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;5:130;72:20;;97:33;72:20;97:33;:::i;142:134::-;220:13;;238:33;220:13;238:33;:::i;283:124::-;347:20;;372:30;347:20;372:30;:::i;414:128::-;489:13;;507:30;489:13;507:30;:::i;550:444::-;;663:3;656:4;648:6;644:17;640:27;630:2;;681:1;678;671:12;630:2;711:6;705:13;733:65;748:49;790:6;748:49;:::i;:::-;733:65;:::i;:::-;724:74;;818:6;811:5;804:21;854:4;846:6;842:17;887:4;880:5;876:16;922:3;913:6;908:3;904:16;901:25;898:2;;;939:1;936;929:12;898:2;949:39;981:6;976:3;971;949:39;:::i;:::-;623:371;;;;;;;:::o;1039:1137::-;;1166:4;1154:9;1149:3;1145:19;1141:30;1138:2;;;1184:1;1181;1174:12;1138:2;1202:20;1217:4;1202:20;:::i;:::-;1193:29;-1:-1;1275:1;1307:60;1363:3;1343:9;1307:60;:::i;:::-;1282:86;;-1:-1;1430:2;1463:60;1519:3;1495:22;;;1463:60;:::i;:::-;1456:4;1449:5;1445:16;1438:86;1389:146;1586:2;1619:60;1675:3;1666:6;1655:9;1651:22;1619:60;:::i;:::-;1612:4;1605:5;1601:16;1594:86;1545:146;1747:2;1780:60;1836:3;1827:6;1816:9;1812:22;1780:60;:::i;:::-;1773:4;1766:5;1762:16;1755:86;1701:151;1903:3;1937:60;1993:3;1984:6;1973:9;1969:22;1937:60;:::i;:::-;1930:4;1923:5;1919:16;1912:86;1862:147;2063:3;2097:57;2150:3;2141:6;2130:9;2126:22;2097:57;:::i;:::-;2090:4;2083:5;2079:16;2072:83;2019:147;1132:1044;;;;:::o;2183:130::-;2250:20;;2275:33;2250:20;2275:33;:::i;2320:134::-;2398:13;;2416:33;2398:13;2416:33;:::i;2461:241::-;;2565:2;2553:9;2544:7;2540:23;2536:32;2533:2;;;2581:1;2578;2571:12;2533:2;2616:1;2633:53;2678:7;2658:9;2633:53;:::i;2709:263::-;;2824:2;2812:9;2803:7;2799:23;2795:32;2792:2;;;2840:1;2837;2830:12;2792:2;2875:1;2892:64;2948:7;2928:9;2892:64;:::i;2979:366::-;;;3100:2;3088:9;3079:7;3075:23;3071:32;3068:2;;;3116:1;3113;3106:12;3068:2;3151:1;3168:53;3213:7;3193:9;3168:53;:::i;:::-;3158:63;;3130:97;3258:2;3276:53;3321:7;3312:6;3301:9;3297:22;3276:53;:::i;:::-;3266:63;;3237:98;3062:283;;;;;:::o;3352:491::-;;;;3490:2;3478:9;3469:7;3465:23;3461:32;3458:2;;;3506:1;3503;3496:12;3458:2;3541:1;3558:53;3603:7;3583:9;3558:53;:::i;:::-;3548:63;;3520:97;3648:2;3666:53;3711:7;3702:6;3691:9;3687:22;3666:53;:::i;:::-;3656:63;;3627:98;3756:2;3774:53;3819:7;3810:6;3799:9;3795:22;3774:53;:::i;:::-;3764:63;;3735:98;3452:391;;;;;:::o;3850:611::-;;;;;4002:3;3990:9;3981:7;3977:23;3973:33;3970:2;;;4019:1;4016;4009:12;3970:2;4054:1;4071:53;4116:7;4096:9;4071:53;:::i;:::-;4061:63;;4033:97;4161:2;4179:53;4224:7;4215:6;4204:9;4200:22;4179:53;:::i;:::-;4169:63;;4140:98;4269:2;4287:53;4332:7;4323:6;4312:9;4308:22;4287:53;:::i;:::-;4277:63;;4248:98;4377:2;4395:50;4437:7;4428:6;4417:9;4413:22;4395:50;:::i;:::-;4385:60;;4356:95;3964:497;;;;;;;:::o;4468:366::-;;;4589:2;4577:9;4568:7;4564:23;4560:32;4557:2;;;4605:1;4602;4595:12;4557:2;4640:1;4657:53;4702:7;4682:9;4657:53;:::i;:::-;4647:63;;4619:97;4747:2;4765:53;4810:7;4801:6;4790:9;4786:22;4765:53;:::i;4841:485::-;;;;4976:2;4964:9;4955:7;4951:23;4947:32;4944:2;;;4992:1;4989;4982:12;4944:2;5027:1;5044:53;5089:7;5069:9;5044:53;:::i;:::-;5034:63;;5006:97;5134:2;5152:53;5197:7;5188:6;5177:9;5173:22;5152:53;:::i;:::-;5142:63;;5113:98;5242:2;5260:50;5302:7;5293:6;5282:9;5278:22;5260:50;:::i;5333:235::-;;5434:2;5422:9;5413:7;5409:23;5405:32;5402:2;;;5450:1;5447;5440:12;5402:2;5485:1;5502:50;5544:7;5524:9;5502:50;:::i;5575:257::-;;5687:2;5675:9;5666:7;5662:23;5658:32;5655:2;;;5703:1;5700;5693:12;5655:2;5738:1;5755:61;5808:7;5788:9;5755:61;:::i;5839:362::-;;5964:2;5952:9;5943:7;5939:23;5935:32;5932:2;;;5980:1;5977;5970:12;5932:2;6015:24;;6059:18;6048:30;;6045:2;;;6091:1;6088;6081:12;6045:2;6111:74;6177:7;6168:6;6157:9;6153:22;6111:74;:::i;6208:318::-;;6350:3;6338:9;6329:7;6325:23;6321:33;6318:2;;;6367:1;6364;6357:12;6318:2;6402:1;6419:91;6502:7;6482:9;6419:91;:::i;6533:241::-;;6637:2;6625:9;6616:7;6612:23;6608:32;6605:2;;;6653:1;6650;6643:12;6605:2;6688:1;6705:53;6750:7;6730:9;6705:53;:::i;6781:263::-;;6896:2;6884:9;6875:7;6871:23;6867:32;6864:2;;;6912:1;6909;6902:12;6864:2;6947:1;6964:64;7020:7;7000:9;6964:64;:::i;7051:360::-;;;7169:2;7157:9;7148:7;7144:23;7140:32;7137:2;;;7185:1;7182;7175:12;7137:2;7220:1;7237:53;7282:7;7262:9;7237:53;:::i;:::-;7227:63;;7199:97;7327:2;7345:50;7387:7;7378:6;7367:9;7363:22;7345:50;:::i;7419:173::-;;7506:46;7548:3;7540:6;7506:46;:::i;:::-;-1:-1;;7581:4;7572:14;;7499:93::o;7601:173::-;;7688:46;7730:3;7722:6;7688:46;:::i;7782:142::-;7873:45;7912:5;7873:45;:::i;:::-;7868:3;7861:58;7855:69;;:::o;7931:103::-;8004:24;8022:5;8004:24;:::i;8192:690::-;;8337:54;8385:5;8337:54;:::i;:::-;8404:86;8483:6;8478:3;8404:86;:::i;:::-;8397:93;;8511:56;8561:5;8511:56;:::i;:::-;8587:7;8615:1;8600:260;8625:6;8622:1;8619:13;8600:260;;;8692:6;8686:13;8713:63;8772:3;8757:13;8713:63;:::i;:::-;8706:70;;8793:60;8846:6;8793:60;:::i;:::-;8783:70;-1:-1;;8647:1;8640:9;8600:260;;;-1:-1;8873:3;;8316:566;-1:-1;;;;;8316:566::o;8921:690::-;;9066:54;9114:5;9066:54;:::i;:::-;9133:86;9212:6;9207:3;9133:86;:::i;:::-;9126:93;;9240:56;9290:5;9240:56;:::i;:::-;9316:7;9344:1;9329:260;9354:6;9351:1;9348:13;9329:260;;;9421:6;9415:13;9442:63;9501:3;9486:13;9442:63;:::i;:::-;9435:70;;9522:60;9575:6;9522:60;:::i;:::-;9512:70;-1:-1;;9376:1;9369:9;9329:260;;9619:104;9696:21;9711:5;9696:21;:::i;9730:356::-;;9858:38;9890:5;9858:38;:::i;:::-;9908:88;9989:6;9984:3;9908:88;:::i;:::-;9901:95;;10001:52;10046:6;10041:3;10034:4;10027:5;10023:16;10001:52;:::i;:::-;10065:16;;;;;9838:248;-1:-1;;9838:248::o;10093:142::-;10184:45;10223:5;10184:45;:::i;10242:347::-;;10354:39;10387:5;10354:39;:::i;:::-;10405:71;10469:6;10464:3;10405:71;:::i;:::-;10398:78;;10481:52;10526:6;10521:3;10514:4;10507:5;10503:16;10481:52;:::i;:::-;10554:29;10576:6;10554:29;:::i;:::-;10545:39;;;;10334:255;-1:-1;;;10334:255::o;10964:317::-;;11124:67;11188:2;11183:3;11124:67;:::i;:::-;-1:-1;;;11204:40;;11272:2;11263:12;;;-1:-1;;11110:171::o;11290:319::-;;11450:67;11514:2;11509:3;11450:67;:::i;:::-;-1:-1;;;11530:42;;11600:2;11591:12;;;-1:-1;;11436:173::o;11618:372::-;;11778:67;11842:2;11837:3;11778:67;:::i;:::-;11878:34;11858:55;;-1:-1;;;11942:2;11933:12;;11926:27;11981:2;11972:12;;;-1:-1;;11764:226::o;11999:351::-;;12177:85;12259:2;12254:3;12177:85;:::i;:::-;-1:-1;;;12275:38;;12341:2;12332:12;;;-1:-1;;12163:187::o;12359:371::-;;12519:67;12583:2;12578:3;12519:67;:::i;:::-;12619:34;12599:55;;-1:-1;;;12683:2;12674:12;;12667:26;12721:2;12712:12;;;-1:-1;;12505:225::o;12739:327::-;;12899:67;12963:2;12958:3;12899:67;:::i;:::-;12999:29;12979:50;;13057:2;13048:12;;12885:181;-1:-1;;12885:181::o;13075:330::-;;13235:67;13299:2;13294:3;13235:67;:::i;:::-;13335:32;13315:53;;13396:2;13387:12;;13221:184;-1:-1;;13221:184::o;13414:375::-;;13574:67;13638:2;13633:3;13574:67;:::i;:::-;13674:34;13654:55;;-1:-1;;;13738:2;13729:12;;13722:30;13780:2;13771:12;;;-1:-1;;13560:229::o;13798:326::-;;13958:67;14022:2;14017:3;13958:67;:::i;:::-;14058:28;14038:49;;14115:2;14106:12;;13944:180;-1:-1;;13944:180::o;14133:370::-;;14293:67;14357:2;14352:3;14293:67;:::i;:::-;14393:34;14373:55;;-1:-1;;;14457:2;14448:12;;14441:25;14494:2;14485:12;;;-1:-1;;14279:224::o;14512:317::-;;14672:67;14736:2;14731:3;14672:67;:::i;:::-;-1:-1;;;14752:40;;14820:2;14811:12;;;-1:-1;;14658:171::o;14838:370::-;;14998:67;15062:2;15057:3;14998:67;:::i;:::-;15098:34;15078:55;;-1:-1;;;15162:2;15153:12;;15146:25;15199:2;15190:12;;;-1:-1;;14984:224::o;15217:374::-;;15377:67;15441:2;15436:3;15377:67;:::i;:::-;15477:34;15457:55;;-1:-1;;;15541:2;15532:12;;15525:29;15582:2;15573:12;;;-1:-1;;15363:228::o;15600:337::-;;15778:84;15860:1;15855:3;15778:84;:::i;:::-;-1:-1;;;15875:26;;15929:1;15920:11;;;-1:-1;;15764:173::o;15946:373::-;;16106:67;16170:2;16165:3;16106:67;:::i;:::-;16206:34;16186:55;;-1:-1;;;16270:2;16261:12;;16254:28;16310:2;16301:12;;;-1:-1;;16092:227::o;16328:329::-;;16488:67;16552:2;16547:3;16488:67;:::i;:::-;16588:31;16568:52;;16648:2;16639:12;;16474:183;-1:-1;;16474:183::o;16666:379::-;;16826:67;16890:2;16885:3;16826:67;:::i;:::-;16926:34;16906:55;;-1:-1;;;16990:2;16981:12;;16974:34;17036:2;17027:12;;;-1:-1;;16812:233::o;17054:331::-;;17214:67;17278:2;17273:3;17214:67;:::i;:::-;17314:33;17294:54;;17376:2;17367:12;;17200:185;-1:-1;;17200:185::o;17394:391::-;;17554:67;17618:2;17613:3;17554:67;:::i;:::-;17654:34;17634:55;;-1:-1;;;17718:2;17709:12;;17702:46;17776:2;17767:12;;;-1:-1;;17540:245::o;17794:331::-;;17954:67;18018:2;18013:3;17954:67;:::i;:::-;18054:33;18034:54;;18116:2;18107:12;;17940:185;-1:-1;;17940:185::o;18222:517::-;18455:23;;18385:4;18376:14;;;18484:63;18380:3;18455:23;18484:63;:::i;:::-;18405:148;18643:4;18636:5;18632:16;18626:23;18655:63;18712:4;18707:3;18703:14;18689:12;19349:103;19422:24;19440:5;19422:24;:::i;19459:103::-;19532:24;19550:5;19532:24;:::i;19689:107::-;19768:22;19784:5;19768:22;:::i;19803:271::-;;19956:93;20045:3;20036:6;19956:93;:::i;20081:542::-;;20337:148;20481:3;20337:148;:::i;:::-;20330:155;;20503:95;20594:3;20585:6;20503:95;:::i;20630:542::-;;20886:148;21030:3;20886:148;:::i;21179:222::-;21306:2;21291:18;;21320:71;21295:9;21364:6;21320:71;:::i;21408:756::-;21699:2;21684:18;;21713:79;21688:9;21765:6;21713:79;:::i;:::-;21840:9;21834:4;21830:20;21825:2;21814:9;21810:18;21803:48;21865:108;21968:4;21959:6;21865:108;:::i;:::-;21857:116;;22021:9;22015:4;22011:20;22006:2;21995:9;21991:18;21984:48;22046:108;22149:4;22140:6;22046:108;:::i;:::-;22038:116;21670:494;-1:-1;;;;;21670:494::o;22171:333::-;22326:2;22311:18;;22340:71;22315:9;22384:6;22340:71;:::i;:::-;22422:72;22490:2;22479:9;22475:18;22466:6;22422:72;:::i;22511:444::-;22694:2;22679:18;;22708:71;22683:9;22752:6;22708:71;:::i;:::-;22790:72;22858:2;22847:9;22843:18;22834:6;22790:72;:::i;:::-;22873;22941:2;22930:9;22926:18;22917:6;22873:72;:::i;22962:333::-;23117:2;23102:18;;23131:71;23106:9;23175:6;23131:71;:::i;:::-;23213:72;23281:2;23270:9;23266:18;23257:6;23213:72;:::i;23302:370::-;23479:2;23493:47;;;23464:18;;23554:108;23464:18;23648:6;23554:108;:::i;23679:629::-;23934:2;23948:47;;;23919:18;;24009:108;23919:18;24103:6;24009:108;:::i;:::-;24001:116;;24165:9;24159:4;24155:20;24150:2;24139:9;24135:18;24128:48;24190:108;24293:4;24284:6;24190:108;:::i;24315:210::-;24436:2;24421:18;;24450:65;24425:9;24488:6;24450:65;:::i;24532:310::-;24679:2;24693:47;;;24664:18;;24754:78;24664:18;24818:6;24754:78;:::i;24849:416::-;25049:2;25063:47;;;25034:18;;25124:131;25034:18;25124:131;:::i;25272:416::-;25472:2;25486:47;;;25457:18;;25547:131;25457:18;25547:131;:::i;25695:416::-;25895:2;25909:47;;;25880:18;;25970:131;25880:18;25970:131;:::i;26118:416::-;26318:2;26332:47;;;26303:18;;26393:131;26303:18;26393:131;:::i;26541:416::-;26741:2;26755:47;;;26726:18;;26816:131;26726:18;26816:131;:::i;26964:416::-;27164:2;27178:47;;;27149:18;;27239:131;27149:18;27239:131;:::i;27387:416::-;27587:2;27601:47;;;27572:18;;27662:131;27572:18;27662:131;:::i;27810:416::-;28010:2;28024:47;;;27995:18;;28085:131;27995:18;28085:131;:::i;28233:416::-;28433:2;28447:47;;;28418:18;;28508:131;28418:18;28508:131;:::i;28656:416::-;28856:2;28870:47;;;28841:18;;28931:131;28841:18;28931:131;:::i;29079:416::-;29279:2;29293:47;;;29264:18;;29354:131;29264:18;29354:131;:::i;29502:416::-;29702:2;29716:47;;;29687:18;;29777:131;29687:18;29777:131;:::i;29925:416::-;30125:2;30139:47;;;30110:18;;30200:131;30110:18;30200:131;:::i;30348:416::-;30548:2;30562:47;;;30533:18;;30623:131;30533:18;30623:131;:::i;30771:416::-;30971:2;30985:47;;;30956:18;;31046:131;30956:18;31046:131;:::i;31194:416::-;31394:2;31408:47;;;31379:18;;31469:131;31379:18;31469:131;:::i;31617:416::-;31817:2;31831:47;;;31802:18;;31892:131;31802:18;31892:131;:::i;32040:416::-;32240:2;32254:47;;;32225:18;;32315:131;32225:18;32315:131;:::i;32463:362::-;32660:2;32645:18;;32674:141;32649:9;32788:6;32674:141;:::i;33197:222::-;33324:2;33309:18;;33338:71;33313:9;33382:6;33338:71;:::i;33426:321::-;33575:2;33560:18;;33589:71;33564:9;33633:6;33589:71;:::i;:::-;33671:66;33733:2;33722:9;33718:18;33709:6;33671:66;:::i;33754:349::-;33917:2;33902:18;;33931:71;33906:9;33975:6;33931:71;:::i;:::-;34013:80;34089:2;34078:9;34074:18;34065:6;34013:80;:::i;34110:333::-;34265:2;34250:18;;34279:71;34254:9;34323:6;34279:71;:::i;34450:432::-;34627:2;34612:18;;34641:71;34616:9;34685:6;34641:71;:::i;:::-;34723:72;34791:2;34780:9;34776:18;34767:6;34723:72;:::i;:::-;34806:66;34868:2;34857:9;34853:18;34844:6;34806:66;:::i;34889:214::-;35012:2;34997:18;;35026:67;35001:9;35066:6;35026:67;:::i;35110:256::-;35172:2;35166:9;35198:17;;;35273:18;35258:34;;35294:22;;;35255:62;35252:2;;;35330:1;35327;35320:12;35252:2;35346;35339:22;35150:216;;-1:-1;35150:216::o;35373:322::-;;35517:18;35509:6;35506:30;35503:2;;;35549:1;35546;35539:12;35503:2;-1:-1;35680:4;-1:-1;35593:17;;;;-1:-1;;35589:33;35670:15;;35440:255::o;35702:151::-;35826:4;35817:14;;35774:79::o;36018:137::-;36121:12;;36092:63::o;36794:178::-;36912:19;;;36961:4;36952:14;;36905:67::o;37168:144::-;37303:3;37281:31;-1:-1;37281:31::o;37646:91::-;;37708:24;37726:5;37708:24;:::i;37744:85::-;37810:13;37803:21;;37786:43::o;37836:113::-;-1:-1;;;;;37898:46;;37881:68::o;37956:121::-;-1:-1;;;;;38018:54;;38001:76::o;38084:72::-;38146:5;38129:27::o;38163:81::-;38234:4;38223:16;;38206:38::o;38251:129::-;;38338:37;38369:5;38338:37;:::i;38387:116::-;;38474:24;38492:5;38474:24;:::i;38510:121::-;;38589:37;38620:5;38589:37;:::i;38754:268::-;38819:1;38826:101;38840:6;38837:1;38834:13;38826:101;;;38907:11;;;38901:18;38888:11;;;38881:39;38862:2;38855:10;38826:101;;;38942:6;38939:1;38936:13;38933:2;;;-1:-1;;39007:1;38989:16;;38982:27;38803:219::o;39030:97::-;39118:2;39098:14;-1:-1;;39094:28;;39078:49::o;39135:117::-;39204:24;39222:5;39204:24;:::i;:::-;39197:5;39194:35;39184:2;;39243:1;39240;39233:12;39259:111;39325:21;39340:5;39325:21;:::i;39377:117::-;39446:24;39464:5;39446:24;:::i", - "linkReferences": {}, - "immutableReferences": { - "68522": [ - { - "start": 2099, - "length": 32 - } - ], - "69875": [ - { - "start": 2290, - "length": 32 - }, - { - "start": 2789, - "length": 32 - }, - { - "start": 7629, - "length": 32 - } - ], - "69877": [ - { - "start": 3305, - "length": 32 - } - ], - "69879": [ - { - "start": 3346, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "addExtraRewards()": "0663b22c", - "allowance(address,address)": "dd62ed3e", - "approve(address,uint256)": "095ea7b3", - "balanceOf(address)": "70a08231", - "claimRewardsFor(address)": "1ac6d19d", - "decimals()": "313ce567", - "decreaseAllowance(address,uint256)": "a457c2d7", - "deposit(uint256)": "b6b55f25", - "depositTo(address,uint256)": "ffaad6a5", - "getConvexPool()": "20c71810", - "getConvexPoolId()": "d12f8df0", - "getCurveLpToken()": "b899aea4", - "getRewardTokenAtIndex(uint256)": "a7d2793f", - "getRewardTokenCount()": "82e5d073", - "getRewardTokens()": "c4f59f9b", - "getTotalHarvestDataForRewardToken(address)": "9655dd61", - "getUserHarvestDataForRewardToken(address,address)": "093f6365", - "increaseAllowance(address,uint256)": "39509351", - "init(uint256)": "b7b0422d", - "isPaused()": "b187bd26", - "name()": "06fdde03", - "setApprovals()": "8757b15b", - "symbol()": "95d89b41", - "togglePause(bool)": "57d159c6", - "totalSupply()": "18160ddd", - "transfer(address,uint256)": "a9059cbb", - "transferFrom(address,address,uint256)": "23b872dd", - "withdraw(uint256,bool)": "38d07436", - "withdrawTo(address,uint256,bool)": "73e2290c", - "withdrawToOnBehalf(address,address,uint256,bool)": "2cfafabe" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_convexBooster\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_crvToken\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_cvxToken\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"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\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Deposited\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"isPaused\",\"type\":\"bool\"}],\"name\":\"PauseToggled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"RewardTokenAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"rewardTokens\",\"type\":\"address[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"claimedAmounts\",\"type\":\"uint256[]\"}],\"name\":\"RewardsClaimed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"TokenNameSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"}],\"name\":\"TokenSymbolSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"rewardToken\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"integral\",\"type\":\"uint256\"}],\"name\":\"TotalHarvestIntegralUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"rewardToken\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"lastCheckpointBalance\",\"type\":\"uint256\"}],\"name\":\"TotalHarvestLastCheckpointBalanceUpdated\",\"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\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"rewardToken\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"integral\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"claimableReward\",\"type\":\"uint256\"}],\"name\":\"UserHarvestUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"},{\"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\":\"Withdrawn\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"addExtraRewards\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"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\":[{\"internalType\":\"address\",\"name\":\"_for\",\"type\":\"address\"}],\"name\":\"claimRewardsFor\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"rewardTokens_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"claimedAmounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"decimals_\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"deposit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"depositTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getConvexPool\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"convexPool_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getConvexPoolId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"convexPoolId_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurveLpToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"curveLPToken_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_index\",\"type\":\"uint256\"}],\"name\":\"getRewardTokenAtIndex\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"rewardToken_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRewardTokenCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"count_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRewardTokens\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"rewardTokens_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_rewardToken\",\"type\":\"address\"}],\"name\":\"getTotalHarvestDataForRewardToken\",\"outputs\":[{\"components\":[{\"internalType\":\"uint128\",\"name\":\"integral\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"lastCheckpointBalance\",\"type\":\"uint128\"}],\"internalType\":\"struct IStakingWrapper.TotalHarvestData\",\"name\":\"totalHarvestData_\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_rewardToken\",\"type\":\"address\"}],\"name\":\"getUserHarvestDataForRewardToken\",\"outputs\":[{\"components\":[{\"internalType\":\"uint128\",\"name\":\"integral\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"claimableReward\",\"type\":\"uint128\"}],\"internalType\":\"struct IStakingWrapper.UserHarvestData\",\"name\":\"userHarvestData_\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_pid\",\"type\":\"uint256\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isPaused\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isPaused_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"name_\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"setApprovals\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"symbol_\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"_isPaused\",\"type\":\"bool\"}],\"name\":\"togglePause\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"_claimRewards\",\"type\":\"bool\"}],\"name\":\"withdraw\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"rewardTokens_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"claimedAmounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"_claimRewardsToHolder\",\"type\":\"bool\"}],\"name\":\"withdrawTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_onBehalf\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"_claimRewardsToHolder\",\"type\":\"bool\"}],\"name\":\"withdrawToOnBehalf\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"addExtraRewards()\":{\"details\":\"Anybody can call, in case more pool tokens are added. Is called prior to every new harvest.\"},\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"claimRewardsFor(address)\":{\"details\":\"Can be called off-chain to simulate the total harvestable rewards for a particular user\",\"params\":{\"_for\":\"The account for which to claim rewards\"},\"returns\":{\"claimedAmounts_\":\"The reward token amounts claimed\",\"rewardTokens_\":\"The reward tokens\"}},\"decimals()\":{\"details\":\"Implementing contracts should override to set different decimals\",\"returns\":{\"decimals_\":\"The token decimals\"}},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.\"},\"deposit(uint256)\":{\"params\":{\"_amount\":\"The amount of tokens to deposit\"}},\"depositTo(address,uint256)\":{\"params\":{\"_amount\":\"The amount of tokens to deposit\",\"_to\":\"The account to receive staking tokens\"}},\"getConvexPool()\":{\"returns\":{\"convexPool_\":\"The reward pool\"}},\"getConvexPoolId()\":{\"returns\":{\"convexPoolId_\":\"The pid\"}},\"getCurveLpToken()\":{\"returns\":{\"curveLPToken_\":\"The Curve LP token\"}},\"getRewardTokenAtIndex(uint256)\":{\"returns\":{\"rewardToken_\":\"The reward token address\"}},\"getRewardTokenCount()\":{\"returns\":{\"count_\":\"The count\"}},\"getRewardTokens()\":{\"returns\":{\"rewardTokens_\":\"The reward tokens\"}},\"getTotalHarvestDataForRewardToken(address)\":{\"params\":{\"_rewardToken\":\"The reward token\"},\"returns\":{\"totalHarvestData_\":\"The TotalHarvestData\"}},\"getUserHarvestDataForRewardToken(address,address)\":{\"params\":{\"_rewardToken\":\"The reward token\",\"_user\":\"The account\"},\"returns\":{\"userHarvestData_\":\"The UserHarvestData\"}},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address.\"},\"init(uint256)\":{\"params\":{\"_pid\":\"The Convex pool id for which to use the proxy\"}},\"isPaused()\":{\"returns\":{\"isPaused_\":\"True if paused\"}},\"name()\":{\"details\":\"Overrides the constructor-set storage for use in proxies\",\"returns\":{\"name_\":\"The token name\"}},\"symbol()\":{\"details\":\"Overrides the constructor-set storage for use in proxies\",\"returns\":{\"symbol_\":\"The token symbol\"}},\"togglePause(bool)\":{\"params\":{\"_isPaused\":\"True if next state is paused, false if unpaused\"}},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `recipient` cannot be the zero address. - the caller must have a balance of at least `amount`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. Requirements: - `sender` and `recipient` cannot be the zero address. - `sender` must have a balance of at least `amount`. - the caller must have allowance for ``sender``'s tokens of at least `amount`.\"},\"withdraw(uint256,bool)\":{\"details\":\"Setting `_claimRewards` to true will save gas over separate calls to withdraw + claim\",\"params\":{\"_amount\":\"The amount of tokens to withdraw\",\"_claimRewards\":\"True if accrued rewards should be claimed\"},\"returns\":{\"claimedAmounts_\":\"The reward token amounts claimed\",\"rewardTokens_\":\"The reward tokens\"}},\"withdrawTo(address,uint256,bool)\":{\"params\":{\"_amount\":\"The amount of tokens to withdraw\",\"_to\":\"The account to receive tokens\"}},\"withdrawToOnBehalf(address,address,uint256,bool)\":{\"details\":\"The caller must have an adequate ERC20.allowance() for _onBehalf\",\"params\":{\"_amount\":\"The amount of tokens to withdraw\",\"_onBehalf\":\"The account on behalf to withdraw\",\"_to\":\"The account to receive tokens\"}}},\"title\":\"ConvexCurveLpStakingWrapperLib Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"addExtraRewards()\":{\"notice\":\"Adds rewards tokens that have not yet been added to the wrapper\"},\"claimRewardsFor(address)\":{\"notice\":\"Claims all rewards for a given account\"},\"decimals()\":{\"notice\":\"Gets the token decimals\"},\"deposit(uint256)\":{\"notice\":\"Deposits tokens to be staked, minting staking token to sender\"},\"depositTo(address,uint256)\":{\"notice\":\"Deposits tokens to be staked, minting staking token to a specified account\"},\"getConvexPool()\":{\"notice\":\"Gets the associated Convex reward pool address\"},\"getConvexPoolId()\":{\"notice\":\"Gets the associated Convex reward pool id (pid)\"},\"getCurveLpToken()\":{\"notice\":\"Gets the associated Curve LP token\"},\"getRewardTokenAtIndex(uint256)\":{\"notice\":\"Gets the reward token at a particular index\"},\"getRewardTokenCount()\":{\"notice\":\"Gets the count of reward tokens being harvested\"},\"getRewardTokens()\":{\"notice\":\"Gets all reward tokens being harvested\"},\"getTotalHarvestDataForRewardToken(address)\":{\"notice\":\"Gets the TotalHarvestData for a specified reward token\"},\"getUserHarvestDataForRewardToken(address,address)\":{\"notice\":\"Gets the UserHarvestData for a specified account and reward token\"},\"init(uint256)\":{\"notice\":\"Initializes the proxy\"},\"isPaused()\":{\"notice\":\"Checks if deposits and new reward harvesting are paused\"},\"name()\":{\"notice\":\"Gets the token name\"},\"setApprovals()\":{\"notice\":\"Sets necessary ERC20 approvals, as-needed\"},\"symbol()\":{\"notice\":\"Gets the token symbol\"},\"togglePause(bool)\":{\"notice\":\"Toggles pause for deposit and harvesting new rewards\"},\"withdraw(uint256,bool)\":{\"notice\":\"Withdraws staked tokens, returning tokens to the sender, and optionally claiming rewards\"},\"withdrawTo(address,uint256,bool)\":{\"notice\":\"Withdraws staked tokens, returning tokens to a specified account, and optionally claims rewards to the staked token holder\"},\"withdrawToOnBehalf(address,address,uint256,bool)\":{\"notice\":\"Withdraws staked tokens on behalf of AccountA, returning tokens to a specified AccountB, and optionally claims rewards to the staked token holder\"}},\"notice\":\"A library contract for ConvexCurveLpStakingWrapper instances\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/infrastructure/staking-wrappers/convex-curve-lp/ConvexCurveLpStakingWrapperLib.sol\":\"ConvexCurveLpStakingWrapperLib\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/infrastructure/staking-wrappers/IStakingWrapper.sol\":{\"keccak256\":\"0xaeb9aba4e74eb3243a85090fded7b157969cf83e1f4159b1da2f662a3e7b15be\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://92346911c044a54808d2d425fe58c6dc9594dfafb8d83496f6599e3bc23803d0\",\"dweb:/ipfs/QmYWf7yx9ZfUnP81K1hjvApthqNhpXzUhGuFBm4gX1aDRB\"]},\"contracts/release/infrastructure/staking-wrappers/StakingWrapperBase.sol\":{\"keccak256\":\"0x3e28050fbe625f1469701b231772ce321e719ddbce4f84b6caa1d8d634a4234a\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f0871b7d6b595e444e598f68751225a596d969267c289a465462fdeb67530fc8\",\"dweb:/ipfs/QmX2z5QGP3kpKx9ruGnZHYH5bDCD9sjRGTRhg9SRiowctg\"]},\"contracts/release/infrastructure/staking-wrappers/StakingWrapperLibBase.sol\":{\"keccak256\":\"0x94d4057419743d9354d77774e1e5279a5ed2fc70012ef28115357f9921bfb5be\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d1e461f460a0339cada6cdfb0107bde47d236b336fec0ed470235ce7928666bb\",\"dweb:/ipfs/QmcMzSrcWTKyqgBAACVCidd2dpMfbeUtcQYu4D1ASiyFzk\"]},\"contracts/release/infrastructure/staking-wrappers/convex-curve-lp/ConvexCurveLpStakingWrapperLib.sol\":{\"keccak256\":\"0x1ec08f37e592766bb7f0d62edb04261bcd3c26154bb5dc437465f836fabf3427\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://0265250d2255bcb61fdb1842e7dbb26e4d56a11a1e3fd87f0790644277bb7259\",\"dweb:/ipfs/Qmb5kVMTr86qYkJu8o1YNwnCrbUJMhmhnFHMrdx2vZhdED\"]},\"contracts/release/interfaces/IConvexBaseRewardPool.sol\":{\"keccak256\":\"0x7c82b546c3c339c6f602191bc9062d6887af7db438800359c0547aa6bb025acc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://13a488b1d715000d1ed9415917a8f9c347ec91b04770b74746facacd88e2e105\",\"dweb:/ipfs/QmaHJKxagREc7Mbq8SkSbWgzwk8bNSFTwojAD5hNemwy1Y\"]},\"contracts/release/interfaces/IConvexBooster.sol\":{\"keccak256\":\"0x6e7561d2d7e71a0c89a6e62445de5c54c2e50d17877b23d8b5af10721dd90ed5\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://772cf7f429a04a557d3b0ed36a73390da64fd93a9df253e0c7e9ebeeecd063ea\",\"dweb:/ipfs/QmXjfnXmtGV67wypxof8nWVTkXAEZqBpFjYePfr17K8rAL\"]},\"contracts/release/interfaces/IConvexVirtualBalanceRewardPool.sol\":{\"keccak256\":\"0x45a7d783e4088cf1b5dcb548da2fce6b0caa9c572c43af9f39aff46498fa101c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://82ed678230fe900991bd81a6c31dae01d120fe5521f96d1cc36c40334385f907\",\"dweb:/ipfs/QmYre4JtyoXmetrYUwFMrPKwBY1NEm2XYdgMiAR7Z7P2jW\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]},\"node_modules/@openzeppelin/contracts/utils/ReentrancyGuard.sol\":{\"keccak256\":\"0x8bbbc2f5c10065ee272592ae0a7a6ceb23de2fbd81564ee0bb015ecf404d5f61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b95e56c1640d0ef789fc5c16269e141e992f6c8ac97cc6d377bd3825e9cab182\",\"dweb:/ipfs/QmVzaxJZY51EhagrcNnkxoU6Uq17RhATe7aHvtkC6wUkgK\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - }, - { - "internalType": "address", - "name": "_convexBooster", - "type": "address" - }, - { - "internalType": "address", - "name": "_crvToken", - "type": "address" - }, - { - "internalType": "address", - "name": "_cvxToken", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "spender", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "Approval", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "to", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "Deposited", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "bool", - "name": "isPaused", - "type": "bool", - "indexed": false - } - ], - "type": "event", - "name": "PauseToggled", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "token", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "RewardTokenAdded", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "caller", - "type": "address", - "indexed": false - }, - { - "internalType": "address", - "name": "user", - "type": "address", - "indexed": true - }, - { - "internalType": "address[]", - "name": "rewardTokens", - "type": "address[]", - "indexed": false - }, - { - "internalType": "uint256[]", - "name": "claimedAmounts", - "type": "uint256[]", - "indexed": false - } - ], - "type": "event", - "name": "RewardsClaimed", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "name", - "type": "string", - "indexed": false - } - ], - "type": "event", - "name": "TokenNameSet", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "symbol", - "type": "string", - "indexed": false - } - ], - "type": "event", - "name": "TokenSymbolSet", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "rewardToken", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "integral", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "TotalHarvestIntegralUpdated", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "rewardToken", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "lastCheckpointBalance", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "TotalHarvestLastCheckpointBalanceUpdated", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "to", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "Transfer", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "user", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "rewardToken", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "integral", - "type": "uint256", - "indexed": false - }, - { - "internalType": "uint256", - "name": "claimableReward", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "UserHarvestUpdated", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "caller", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "from", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "to", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "Withdrawn", - "anonymous": false - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "addExtraRewards" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_for", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "claimRewardsFor", - "outputs": [ - { - "internalType": "address[]", - "name": "rewardTokens_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "claimedAmounts_", - "type": "uint256[]" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "decimals_", - "type": "uint8" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "subtractedValue", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "decreaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "deposit" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "depositTo" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getConvexPool", - "outputs": [ - { - "internalType": "address", - "name": "convexPool_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getConvexPoolId", - "outputs": [ - { - "internalType": "uint256", - "name": "convexPoolId_", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getCurveLpToken", - "outputs": [ - { - "internalType": "address", - "name": "curveLPToken_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_index", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getRewardTokenAtIndex", - "outputs": [ - { - "internalType": "address", - "name": "rewardToken_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getRewardTokenCount", - "outputs": [ - { - "internalType": "uint256", - "name": "count_", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getRewardTokens", - "outputs": [ - { - "internalType": "address[]", - "name": "rewardTokens_", - "type": "address[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_rewardToken", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getTotalHarvestDataForRewardToken", - "outputs": [ - { - "internalType": "struct IStakingWrapper.TotalHarvestData", - "name": "totalHarvestData_", - "type": "tuple", - "components": [ - { - "internalType": "uint128", - "name": "integral", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "lastCheckpointBalance", - "type": "uint128" - } - ] - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_user", - "type": "address" - }, - { - "internalType": "address", - "name": "_rewardToken", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getUserHarvestDataForRewardToken", - "outputs": [ - { - "internalType": "struct IStakingWrapper.UserHarvestData", - "name": "userHarvestData_", - "type": "tuple", - "components": [ - { - "internalType": "uint128", - "name": "integral", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "claimableReward", - "type": "uint128" - } - ] - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "addedValue", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "increaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_pid", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "init" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "isPaused", - "outputs": [ - { - "internalType": "bool", - "name": "isPaused_", - "type": "bool" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "name_", - "type": "string" - } - ] - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "setApprovals" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "symbol_", - "type": "string" - } - ] - }, - { - "inputs": [ - { - "internalType": "bool", - "name": "_isPaused", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "togglePause" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "_claimRewards", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "withdraw", - "outputs": [ - { - "internalType": "address[]", - "name": "rewardTokens_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "claimedAmounts_", - "type": "uint256[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "_claimRewardsToHolder", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "withdrawTo" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_onBehalf", - "type": "address" - }, - { - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "_claimRewardsToHolder", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "withdrawToOnBehalf" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "addExtraRewards()": { - "details": "Anybody can call, in case more pool tokens are added. Is called prior to every new harvest." - }, - "allowance(address,address)": { - "details": "See {IERC20-allowance}." - }, - "approve(address,uint256)": { - "details": "See {IERC20-approve}. Requirements: - `spender` cannot be the zero address." - }, - "balanceOf(address)": { - "details": "See {IERC20-balanceOf}." - }, - "claimRewardsFor(address)": { - "details": "Can be called off-chain to simulate the total harvestable rewards for a particular user", - "params": { - "_for": "The account for which to claim rewards" - }, - "returns": { - "claimedAmounts_": "The reward token amounts claimed", - "rewardTokens_": "The reward tokens" - } - }, - "decimals()": { - "details": "Implementing contracts should override to set different decimals", - "returns": { - "decimals_": "The token decimals" - } - }, - "decreaseAllowance(address,uint256)": { - "details": "Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`." - }, - "deposit(uint256)": { - "params": { - "_amount": "The amount of tokens to deposit" - } - }, - "depositTo(address,uint256)": { - "params": { - "_amount": "The amount of tokens to deposit", - "_to": "The account to receive staking tokens" - } - }, - "getConvexPool()": { - "returns": { - "convexPool_": "The reward pool" - } - }, - "getConvexPoolId()": { - "returns": { - "convexPoolId_": "The pid" - } - }, - "getCurveLpToken()": { - "returns": { - "curveLPToken_": "The Curve LP token" - } - }, - "getRewardTokenAtIndex(uint256)": { - "returns": { - "rewardToken_": "The reward token address" - } - }, - "getRewardTokenCount()": { - "returns": { - "count_": "The count" - } - }, - "getRewardTokens()": { - "returns": { - "rewardTokens_": "The reward tokens" - } - }, - "getTotalHarvestDataForRewardToken(address)": { - "params": { - "_rewardToken": "The reward token" - }, - "returns": { - "totalHarvestData_": "The TotalHarvestData" - } - }, - "getUserHarvestDataForRewardToken(address,address)": { - "params": { - "_rewardToken": "The reward token", - "_user": "The account" - }, - "returns": { - "userHarvestData_": "The UserHarvestData" - } - }, - "increaseAllowance(address,uint256)": { - "details": "Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address." - }, - "init(uint256)": { - "params": { - "_pid": "The Convex pool id for which to use the proxy" - } - }, - "isPaused()": { - "returns": { - "isPaused_": "True if paused" - } - }, - "name()": { - "details": "Overrides the constructor-set storage for use in proxies", - "returns": { - "name_": "The token name" - } - }, - "symbol()": { - "details": "Overrides the constructor-set storage for use in proxies", - "returns": { - "symbol_": "The token symbol" - } - }, - "togglePause(bool)": { - "params": { - "_isPaused": "True if next state is paused, false if unpaused" - } - }, - "totalSupply()": { - "details": "See {IERC20-totalSupply}." - }, - "transfer(address,uint256)": { - "details": "See {IERC20-transfer}. Requirements: - `recipient` cannot be the zero address. - the caller must have a balance of at least `amount`." - }, - "transferFrom(address,address,uint256)": { - "details": "See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. Requirements: - `sender` and `recipient` cannot be the zero address. - `sender` must have a balance of at least `amount`. - the caller must have allowance for ``sender``'s tokens of at least `amount`." - }, - "withdraw(uint256,bool)": { - "details": "Setting `_claimRewards` to true will save gas over separate calls to withdraw + claim", - "params": { - "_amount": "The amount of tokens to withdraw", - "_claimRewards": "True if accrued rewards should be claimed" - }, - "returns": { - "claimedAmounts_": "The reward token amounts claimed", - "rewardTokens_": "The reward tokens" - } - }, - "withdrawTo(address,uint256,bool)": { - "params": { - "_amount": "The amount of tokens to withdraw", - "_to": "The account to receive tokens" - } - }, - "withdrawToOnBehalf(address,address,uint256,bool)": { - "details": "The caller must have an adequate ERC20.allowance() for _onBehalf", - "params": { - "_amount": "The amount of tokens to withdraw", - "_onBehalf": "The account on behalf to withdraw", - "_to": "The account to receive tokens" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "addExtraRewards()": { - "notice": "Adds rewards tokens that have not yet been added to the wrapper" - }, - "claimRewardsFor(address)": { - "notice": "Claims all rewards for a given account" - }, - "decimals()": { - "notice": "Gets the token decimals" - }, - "deposit(uint256)": { - "notice": "Deposits tokens to be staked, minting staking token to sender" - }, - "depositTo(address,uint256)": { - "notice": "Deposits tokens to be staked, minting staking token to a specified account" - }, - "getConvexPool()": { - "notice": "Gets the associated Convex reward pool address" - }, - "getConvexPoolId()": { - "notice": "Gets the associated Convex reward pool id (pid)" - }, - "getCurveLpToken()": { - "notice": "Gets the associated Curve LP token" - }, - "getRewardTokenAtIndex(uint256)": { - "notice": "Gets the reward token at a particular index" - }, - "getRewardTokenCount()": { - "notice": "Gets the count of reward tokens being harvested" - }, - "getRewardTokens()": { - "notice": "Gets all reward tokens being harvested" - }, - "getTotalHarvestDataForRewardToken(address)": { - "notice": "Gets the TotalHarvestData for a specified reward token" - }, - "getUserHarvestDataForRewardToken(address,address)": { - "notice": "Gets the UserHarvestData for a specified account and reward token" - }, - "init(uint256)": { - "notice": "Initializes the proxy" - }, - "isPaused()": { - "notice": "Checks if deposits and new reward harvesting are paused" - }, - "name()": { - "notice": "Gets the token name" - }, - "setApprovals()": { - "notice": "Sets necessary ERC20 approvals, as-needed" - }, - "symbol()": { - "notice": "Gets the token symbol" - }, - "togglePause(bool)": { - "notice": "Toggles pause for deposit and harvesting new rewards" - }, - "withdraw(uint256,bool)": { - "notice": "Withdraws staked tokens, returning tokens to the sender, and optionally claiming rewards" - }, - "withdrawTo(address,uint256,bool)": { - "notice": "Withdraws staked tokens, returning tokens to a specified account, and optionally claims rewards to the staked token holder" - }, - "withdrawToOnBehalf(address,address,uint256,bool)": { - "notice": "Withdraws staked tokens on behalf of AccountA, returning tokens to a specified AccountB, and optionally claims rewards to the staked token holder" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/infrastructure/staking-wrappers/convex-curve-lp/ConvexCurveLpStakingWrapperLib.sol": "ConvexCurveLpStakingWrapperLib" - }, - "libraries": {} - }, - "sources": { - "contracts/release/infrastructure/staking-wrappers/IStakingWrapper.sol": { - "keccak256": "0xaeb9aba4e74eb3243a85090fded7b157969cf83e1f4159b1da2f662a3e7b15be", - "urls": [ - "bzz-raw://92346911c044a54808d2d425fe58c6dc9594dfafb8d83496f6599e3bc23803d0", - "dweb:/ipfs/QmYWf7yx9ZfUnP81K1hjvApthqNhpXzUhGuFBm4gX1aDRB" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/staking-wrappers/StakingWrapperBase.sol": { - "keccak256": "0x3e28050fbe625f1469701b231772ce321e719ddbce4f84b6caa1d8d634a4234a", - "urls": [ - "bzz-raw://f0871b7d6b595e444e598f68751225a596d969267c289a465462fdeb67530fc8", - "dweb:/ipfs/QmX2z5QGP3kpKx9ruGnZHYH5bDCD9sjRGTRhg9SRiowctg" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/staking-wrappers/StakingWrapperLibBase.sol": { - "keccak256": "0x94d4057419743d9354d77774e1e5279a5ed2fc70012ef28115357f9921bfb5be", - "urls": [ - "bzz-raw://d1e461f460a0339cada6cdfb0107bde47d236b336fec0ed470235ce7928666bb", - "dweb:/ipfs/QmcMzSrcWTKyqgBAACVCidd2dpMfbeUtcQYu4D1ASiyFzk" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/staking-wrappers/convex-curve-lp/ConvexCurveLpStakingWrapperLib.sol": { - "keccak256": "0x1ec08f37e592766bb7f0d62edb04261bcd3c26154bb5dc437465f836fabf3427", - "urls": [ - "bzz-raw://0265250d2255bcb61fdb1842e7dbb26e4d56a11a1e3fd87f0790644277bb7259", - "dweb:/ipfs/Qmb5kVMTr86qYkJu8o1YNwnCrbUJMhmhnFHMrdx2vZhdED" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IConvexBaseRewardPool.sol": { - "keccak256": "0x7c82b546c3c339c6f602191bc9062d6887af7db438800359c0547aa6bb025acc", - "urls": [ - "bzz-raw://13a488b1d715000d1ed9415917a8f9c347ec91b04770b74746facacd88e2e105", - "dweb:/ipfs/QmaHJKxagREc7Mbq8SkSbWgzwk8bNSFTwojAD5hNemwy1Y" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IConvexBooster.sol": { - "keccak256": "0x6e7561d2d7e71a0c89a6e62445de5c54c2e50d17877b23d8b5af10721dd90ed5", - "urls": [ - "bzz-raw://772cf7f429a04a557d3b0ed36a73390da64fd93a9df253e0c7e9ebeeecd063ea", - "dweb:/ipfs/QmXjfnXmtGV67wypxof8nWVTkXAEZqBpFjYePfr17K8rAL" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IConvexVirtualBalanceRewardPool.sol": { - "keccak256": "0x45a7d783e4088cf1b5dcb548da2fce6b0caa9c572c43af9f39aff46498fa101c", - "urls": [ - "bzz-raw://82ed678230fe900991bd81a6c31dae01d120fe5521f96d1cc36c40334385f907", - "dweb:/ipfs/QmYre4JtyoXmetrYUwFMrPKwBY1NEm2XYdgMiAR7Z7P2jW" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AddressArrayLib.sol": { - "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", - "urls": [ - "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", - "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { - "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", - "urls": [ - "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", - "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Address.sol": { - "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", - "urls": [ - "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", - "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/ReentrancyGuard.sol": { - "keccak256": "0x8bbbc2f5c10065ee272592ae0a7a6ceb23de2fbd81564ee0bb015ecf404d5f61", - "urls": [ - "bzz-raw://b95e56c1640d0ef789fc5c16269e141e992f6c8ac97cc6d377bd3825e9cab182", - "dweb:/ipfs/QmVzaxJZY51EhagrcNnkxoU6Uq17RhATe7aHvtkC6wUkgK" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 263 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_owner", "type": "address", "internalType": "address" }, { "name": "_convexBooster", "type": "address", "internalType": "address" }, { "name": "_crvToken", "type": "address", "internalType": "address" }, { "name": "_cvxToken", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "addExtraRewards", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "allowance", "inputs": [ { "name": "owner", "type": "address", "internalType": "address" }, { "name": "spender", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "approve", "inputs": [ { "name": "spender", "type": "address", "internalType": "address" }, { "name": "amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "balanceOf", "inputs": [ { "name": "account", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "claimRewardsFor", "inputs": [ { "name": "_for", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "rewardTokens_", "type": "address[]", "internalType": "address[]" }, { "name": "claimedAmounts_", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "decimals", "inputs": [], "outputs": [ { "name": "decimals_", "type": "uint8", "internalType": "uint8" } ], "stateMutability": "view" }, { "type": "function", "name": "decreaseAllowance", "inputs": [ { "name": "spender", "type": "address", "internalType": "address" }, { "name": "subtractedValue", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "deposit", "inputs": [ { "name": "_amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "depositTo", "inputs": [ { "name": "_to", "type": "address", "internalType": "address" }, { "name": "_amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "getConvexPool", "inputs": [], "outputs": [ { "name": "convexPool_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getConvexPoolId", "inputs": [], "outputs": [ { "name": "convexPoolId_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "getCurveLpToken", "inputs": [], "outputs": [ { "name": "curveLPToken_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getRewardTokenAtIndex", "inputs": [ { "name": "_index", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "rewardToken_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getRewardTokenCount", "inputs": [], "outputs": [ { "name": "count_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "getRewardTokens", "inputs": [], "outputs": [ { "name": "rewardTokens_", "type": "address[]", "internalType": "address[]" } ], "stateMutability": "view" }, { "type": "function", "name": "getTotalHarvestDataForRewardToken", "inputs": [ { "name": "_rewardToken", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "totalHarvestData_", "type": "tuple", "internalType": "struct IStakingWrapper.TotalHarvestData", "components": [ { "name": "integral", "type": "uint128", "internalType": "uint128" }, { "name": "lastCheckpointBalance", "type": "uint128", "internalType": "uint128" } ] } ], "stateMutability": "view" }, { "type": "function", "name": "getUserHarvestDataForRewardToken", "inputs": [ { "name": "_user", "type": "address", "internalType": "address" }, { "name": "_rewardToken", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "userHarvestData_", "type": "tuple", "internalType": "struct IStakingWrapper.UserHarvestData", "components": [ { "name": "integral", "type": "uint128", "internalType": "uint128" }, { "name": "claimableReward", "type": "uint128", "internalType": "uint128" } ] } ], "stateMutability": "view" }, { "type": "function", "name": "increaseAllowance", "inputs": [ { "name": "spender", "type": "address", "internalType": "address" }, { "name": "addedValue", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "init", "inputs": [ { "name": "_pid", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "isPaused", "inputs": [], "outputs": [ { "name": "isPaused_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "name", "inputs": [], "outputs": [ { "name": "name_", "type": "string", "internalType": "string" } ], "stateMutability": "view" }, { "type": "function", "name": "setApprovals", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "symbol", "inputs": [], "outputs": [ { "name": "symbol_", "type": "string", "internalType": "string" } ], "stateMutability": "view" }, { "type": "function", "name": "togglePause", "inputs": [ { "name": "_isPaused", "type": "bool", "internalType": "bool" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "totalSupply", "inputs": [], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "transfer", "inputs": [ { "name": "recipient", "type": "address", "internalType": "address" }, { "name": "amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "transferFrom", "inputs": [ { "name": "sender", "type": "address", "internalType": "address" }, { "name": "recipient", "type": "address", "internalType": "address" }, { "name": "amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "withdraw", "inputs": [ { "name": "_amount", "type": "uint256", "internalType": "uint256" }, { "name": "_claimRewards", "type": "bool", "internalType": "bool" } ], "outputs": [ { "name": "rewardTokens_", "type": "address[]", "internalType": "address[]" }, { "name": "claimedAmounts_", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "withdrawTo", "inputs": [ { "name": "_to", "type": "address", "internalType": "address" }, { "name": "_amount", "type": "uint256", "internalType": "uint256" }, { "name": "_claimRewardsToHolder", "type": "bool", "internalType": "bool" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "withdrawToOnBehalf", "inputs": [ { "name": "_onBehalf", "type": "address", "internalType": "address" }, { "name": "_to", "type": "address", "internalType": "address" }, { "name": "_amount", "type": "uint256", "internalType": "uint256" }, { "name": "_claimRewardsToHolder", "type": "bool", "internalType": "bool" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "event", "name": "Approval", "inputs": [ { "name": "owner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "spender", "type": "address", "indexed": true, "internalType": "address" }, { "name": "value", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "Deposited", "inputs": [ { "name": "from", "type": "address", "indexed": true, "internalType": "address" }, { "name": "to", "type": "address", "indexed": true, "internalType": "address" }, { "name": "amount", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "PauseToggled", "inputs": [ { "name": "isPaused", "type": "bool", "indexed": false, "internalType": "bool" } ], "anonymous": false }, { "type": "event", "name": "RewardTokenAdded", "inputs": [ { "name": "token", "type": "address", "indexed": false, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "RewardsClaimed", "inputs": [ { "name": "caller", "type": "address", "indexed": false, "internalType": "address" }, { "name": "user", "type": "address", "indexed": true, "internalType": "address" }, { "name": "rewardTokens", "type": "address[]", "indexed": false, "internalType": "address[]" }, { "name": "claimedAmounts", "type": "uint256[]", "indexed": false, "internalType": "uint256[]" } ], "anonymous": false }, { "type": "event", "name": "TokenNameSet", "inputs": [ { "name": "name", "type": "string", "indexed": false, "internalType": "string" } ], "anonymous": false }, { "type": "event", "name": "TokenSymbolSet", "inputs": [ { "name": "symbol", "type": "string", "indexed": false, "internalType": "string" } ], "anonymous": false }, { "type": "event", "name": "TotalHarvestIntegralUpdated", "inputs": [ { "name": "rewardToken", "type": "address", "indexed": true, "internalType": "address" }, { "name": "integral", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "TotalHarvestLastCheckpointBalanceUpdated", "inputs": [ { "name": "rewardToken", "type": "address", "indexed": true, "internalType": "address" }, { "name": "lastCheckpointBalance", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "Transfer", "inputs": [ { "name": "from", "type": "address", "indexed": true, "internalType": "address" }, { "name": "to", "type": "address", "indexed": true, "internalType": "address" }, { "name": "value", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "UserHarvestUpdated", "inputs": [ { "name": "user", "type": "address", "indexed": true, "internalType": "address" }, { "name": "rewardToken", "type": "address", "indexed": true, "internalType": "address" }, { "name": "integral", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "claimableReward", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "Withdrawn", "inputs": [ { "name": "caller", "type": "address", "indexed": true, "internalType": "address" }, { "name": "from", "type": "address", "indexed": true, "internalType": "address" }, { "name": "to", "type": "address", "indexed": true, "internalType": "address" }, { "name": "amount", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false } ], "bytecode": { "object": "0x6101006040523480156200001257600080fd5b506040516200355238038062003552833981016040819052620000359162000174565b604080516020808201808452600080845284519283019094529281528151879383918391620000689160039190620000c5565b5080516200007e906004906020840190620000c5565b50506005805460ff1916601217905550506001600655506001600160601b0319606091821b811660805293811b841660a05291821b831660c052901b1660e052506200020a565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200010857805160ff191683800117855562000138565b8280016001018555821562000138579182015b82811115620001385782518255916020019190600101906200011b565b50620001469291506200014a565b5090565b5b808211156200014657600081556001016200014b565b80516200016e81620001f0565b92915050565b600080600080608085870312156200018b57600080fd5b600062000199878762000161565b9450506020620001ac8782880162000161565b9350506040620001bf8782880162000161565b9250506060620001d28782880162000161565b91505092959194509250565b60006001600160a01b0382166200016e565b620001fb81620001de565b81146200020757600080fd5b50565b60805160601c60a05160601c60c05160601c60e05160601c6132fc6200025660003980610d12525080610ce95250806108f25280610ae55280611dcd52508061083352506132fc6000f3fe608060405234801561001057600080fd5b50600436106101da5760003560e01c806382e5d07311610104578063b187bd26116100a2578063c4f59f9b11610071578063c4f59f9b146103c6578063d12f8df0146103db578063dd62ed3e146103e3578063ffaad6a5146103f6576101da565b8063b187bd2614610390578063b6b55f2514610398578063b7b0422d146103ab578063b899aea4146103be576101da565b80639655dd61116100de5780639655dd6114610344578063a457c2d714610357578063a7d2793f1461036a578063a9059cbb1461037d576101da565b806382e5d0731461032c5780638757b15b1461033457806395d89b411461033c576101da565b806323b872dd1161017c578063395093511161014b57806339509351146102e057806357d159c6146102f357806370a082311461030657806373e2290c14610319576101da565b806323b872dd146102925780632cfafabe146102a5578063313ce567146102b857806338d07436146102cd576101da565b8063095ea7b3116101b8578063095ea7b31461022757806318160ddd146102475780631ac6d19d1461025c57806320c718101461027d576101da565b80630663b22c146101df57806306fdde03146101e9578063093f636514610207575b600080fd5b6101e7610409565b005b6101f1610597565b6040516101fe9190612f7e565b60405180910390f35b61021a6102153660046125c9565b61062d565b6040516101fe91906130af565b61023a6102353660046126b1565b610688565b6040516101fe9190612f70565b61024f6106a5565b6040516101fe91906130bd565b61026f61026a36600461258d565b6106ab565b6040516101fe929190612f4b565b6102856106f7565b6040516101fe9190612e91565b61023a6102a0366004612603565b610706565b6101e76102b3366004612650565b61078e565b6102c06107bb565b6040516101fe9190613137565b61026f6102db3660046127ef565b6107c0565b61023a6102ee3660046126b1565b6107da565b6101e7610301366004612724565b610828565b61024f61031436600461258d565b6108b9565b6101e76103273660046126e1565b6108d4565b61024f6108e7565b6101e76108ed565b6101f161092e565b61021a61035236600461258d565b61098f565b61023a6103653660046126b1565b6109d9565b6102856103783660046127b3565b610a41565b61023a61038b3660046126b1565b610a6b565b61023a610a7f565b6101e76103a63660046127b3565b610a88565b6101e76103b93660046127b3565b610a96565b610285610d4a565b6103ce610d59565b6040516101fe9190612f3a565b61024f610dba565b61024f6103f13660046125c9565b610dc0565b6101e76104043660046126b1565b610deb565b60006104136106f7565b90506000816001600160a01b031663d55a23f46040518163ffffffff1660e01b815260040160206040518083038186803b15801561045057600080fd5b505afa158015610464573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061048891906127d1565b905060005b8181101561059257604051632061aa2360e11b815261058a906001600160a01b038516906340c35446906104c59085906004016130bd565b60206040518083038186803b1580156104dd57600080fd5b505afa1580156104f1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061051591906125ab565b6001600160a01b031663f7c618c16040518163ffffffff1660e01b815260040160206040518083038186803b15801561054d57600080fd5b505afa158015610561573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061058591906125ab565b610df6565b60010161048d565b505050565b600b8054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156106235780601f106105f857610100808354040283529160200191610623565b820191906000526020600020905b81548152906001019060200180831161060657829003601f168201915b5050505050905090565b610635612381565b506001600160a01b038082166000908152600a602090815260408083209386168352928152908290208251808401909352546001600160801b038082168452600160801b90910416908201525b92915050565b600061069c610695610ee2565b8484610ee6565b50600192915050565b60025490565b606080600260065414156106da5760405162461bcd60e51b81526004016106d19061307f565b60405180910390fd5b60026006556106e883610f9a565b60016006559094909350915050565b600d546001600160a01b031690565b60006107138484846110ef565b6107838461071f610ee2565b61077e856040518060600160405280602881526020016132a3602891396001600160a01b038a1660009081526001602052604081209061075d610ee2565b6001600160a01b031681526020810191909152604001600020549190611153565b610ee6565b5060015b9392505050565b6107a7843361077e856107a18933610dc0565b9061117f565b6107b3848484846111a7565b505050505050565b601290565b6060806107cf333386866111a7565b915091509250929050565b600061069c6107e7610ee2565b8461077e85600160006107f8610ee2565b6001600160a01b03908116825260208083019390935260409182016000908120918c16815292529020549061128a565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146108705760405162461bcd60e51b81526004016106d190612f9f565b6007805460ff19168215151790556040517f9077d36bc00859b5c3f320310707208543dd35092cb0a0fe117d0c6a558b148b906108ae908390612f70565b60405180910390a150565b6001600160a01b031660009081526020819052604090205490565b6108e0338484846111a7565b5050505050565b60085490565b61092c7f000000000000000000000000000000000000000000000000000000000000000060001961091c610d4a565b6001600160a01b031691906112af565b565b600c8054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156106235780601f106105f857610100808354040283529160200191610623565b610997612381565b506001600160a01b03166000908152600960209081526040918290208251808401909352546001600160801b038082168452600160801b909104169082015290565b600061069c6109e6610ee2565b8461077e856040518060600160405280602581526020016132cb6025913960016000610a10610ee2565b6001600160a01b03908116825260208083019390935260409182016000908120918d16815292529020549190611153565b600060088281548110610a5057fe5b6000918252602090912001546001600160a01b031692915050565b600061069c610a78610ee2565b84846110ef565b60075460ff1690565b610a933333836113a9565b50565b6000610aa0610d4a565b6001600160a01b031614610ac65760405162461bcd60e51b81526004016106d19061301f565b610ace612398565b604051631526fe2760e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690631526fe2790610b1a9085906004016130bd565b60c06040518083038186803b158015610b3257600080fd5b505afa158015610b46573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b6a9190612795565b9050610c0c81602001516001600160a01b03166306fdde036040518163ffffffff1660e01b815260040160006040518083038186803b158015610bac57600080fd5b505afa158015610bc0573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610be89190810190612760565b604051602001610bf89190612e6f565b604051602081830303815290604052611485565b610cac81602001516001600160a01b03166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b158015610c4c57600080fd5b505afa158015610c60573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610c889190810190612760565b604051602001610c989190612e86565b6040516020818303038152906040526114c8565b8051600f80546001600160a01b039283166001600160a01b0319918216179091556060830151600d8054919093169116179055600e829055610d0d7f0000000000000000000000000000000000000000000000000000000000000000610df6565b610d367f0000000000000000000000000000000000000000000000000000000000000000610df6565b610d3e610409565b610d466108ed565b5050565b600f546001600160a01b031690565b6060600880548060200260200160405190810160405280929190818152602001828054801561062357602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610d93575050505050905090565b600e5490565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b610d463383836113a9565b610e63816008805480602002602001604051908101604052809291908181526020018280548015610e5057602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610e32575b505050505061150b90919063ffffffff16565b610a9357600880546001810182556000919091527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30180546001600160a01b0319166001600160a01b0383161790556040517ff3e4c2c64e71e6ba2eaab9a599bced62f9eb91d2cda610bf41aa8c80ff2cf826906108ae908390612e91565b3390565b6001600160a01b038316610f0c5760405162461bcd60e51b81526004016106d19061304f565b6001600160a01b038216610f325760405162461bcd60e51b81526004016106d190612fbf565b6001600160a01b0380841660008181526001602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610f8d9085906130bd565b60405180910390a3505050565b606080610fa5610a7f565b610fb157610fb1611561565b6000610fbb6106a5565b600880546040805160208084028201810190925282815293945083018282801561100e57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610ff0575b50505050509250825167ffffffffffffffff8111801561102d57600080fd5b50604051908082528060200260200182016040528015611057578160200160208202803683370190505b50915060005b83518110156110a35761108484828151811061107557fe5b602002602001015186846115e3565b83828151811061109057fe5b602090810291909101015260010161105d565b50836001600160a01b03167fc17f1458d7773c19369fc6c68a3b4c44b675c86c50c997d58853aed5e38de6cd3385856040516110e193929190612e9f565b60405180910390a250915091565b600260065414156111125760405162461bcd60e51b81526004016106d19061307f565b6002600655604080518082019091526001600160a01b0380851682528316602082015261113e9061194b565b6111498383836119b4565b5050600160065550565b600081848411156111775760405162461bcd60e51b81526004016106d19190612f7e565b505050900390565b6000828211156111a15760405162461bcd60e51b81526004016106d190612fdf565b50900390565b606080600260065414156111cd5760405162461bcd60e51b81526004016106d19061307f565b600260065582156111eb576111e186610f9a565b9092509050611211565b604080518082019091526001600160a01b0387168152600060208201526112119061194b565b61121b8685611ac9565b6112258585611bab565b846001600160a01b0316866001600160a01b0316336001600160a01b03167fa4195c37c2947bbe89165f03e320b6903116f0b10d8cfdb522330f7ce6f9fa248760405161127291906130bd565b60405180910390a46001600655909590945092505050565b6000828201838110156107875760405162461bcd60e51b81526004016106d190612fcf565b8015806113375750604051636eb1769f60e11b81526001600160a01b0384169063dd62ed3e906112e59030908690600401612edc565b60206040518083038186803b1580156112fd57600080fd5b505afa158015611311573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061133591906127d1565b155b6113535760405162461bcd60e51b81526004016106d19061308f565b6105928363095ea7b360e01b8484604051602401611372929190612f1f565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152611c51565b600260065414156113cc5760405162461bcd60e51b81526004016106d19061307f565b60026006556113d9610a7f565b156113f65760405162461bcd60e51b81526004016106d190612f8f565b604080518082019091526001600160a01b03831681526000602082015261141c9061194b565b6114268282611ce0565b6114308382611d94565b816001600160a01b0316836001600160a01b03167f8752a472e571a816aea92eec8dae9baf628e840f4929fbcc2d155e6233ff68a78360405161147391906130bd565b60405180910390a35050600160065550565b805161149890600b9060208401906123cd565b507f12e9cab73c0c48661414f76e810af7d10c67f0db958722bf9f26b28a4b4afd69816040516108ae9190612f7e565b80516114db90600c9060208401906123cd565b507f862f26027c5033c09d43eacd856547decb3227c210f6eb7b6bdc0cf5edaa3f4b816040516108ae9190612f7e565b6000805b83518110156115575783818151811061152457fe5b60200260200101516001600160a01b0316836001600160a01b0316141561154f576001915050610682565b60010161150f565b5060009392505050565b611569610409565b6115716106f7565b6001600160a01b0316633d18b9126040518163ffffffff1660e01b8152600401602060405180830381600087803b1580156115ab57600080fd5b505af11580156115bf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a939190612742565b6001600160a01b038316600081815260096020526040808220805491516370a0823160e01b8152929390926001600160801b0390921691849161169e918791906370a0823190611637903090600401612e91565b60206040518083038186803b15801561164f57600080fd5b505afa158015611663573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061168791906127d1565b8554600160801b90046001600160801b0316611e58565b90508015611710576116b0828261128a565b83546001600160801b0319166001600160801b0382161784556040519092506001600160a01b038816907f64dcb34f2e45bc61753d72992aa4199ec96717158435e8085568ff38844bcd1c906117079085906130bd565b60405180910390a25b6001600160a01b038781166000908152600a60209081526040808320938a1683529290522080546001600160801b03600160801b82048116965016838110156117d15781546001600160801b0319166001600160801b03851617825561178161177a898684611ea3565b879061128a565b9550886001600160a01b0316886001600160a01b03167fe3bdf7e684a4024370a702abfcca4a32b08642aadc27065f3356458bd23e977e86896040516117c8929190613101565b60405180910390a35b85156118475781546001600160801b031682556117f86001600160a01b038a168988611ed5565b886001600160a01b0316886001600160a01b03167fe3bdf7e684a4024370a702abfcca4a32b08642aadc27065f3356458bd23e977e86600060405161183e9291906130e6565b60405180910390a35b6040516370a0823160e01b81526000906001600160a01b038b16906370a0823190611876903090600401612e91565b60206040518083038186803b15801561188e57600080fd5b505afa1580156118a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118c691906127d1565b8654909150600160801b90046001600160801b031681101561193e5785546001600160801b03808316600160801b0291161786556040516001600160a01b038b16907fdeb2652df61fdedd2d231dc4d777175097cc26369032d339be2a6db36d7754f2906119359084906130bd565b60405180910390a25b5050505050509392505050565b611953610a7f565b61195f5761195f611561565b60006119696106a5565b60085490915060005b818110156119ae576119a66008828154811061198a57fe5b6000918252602090912001546001600160a01b03168585611ef4565b600101611972565b50505050565b6001600160a01b0383166119da5760405162461bcd60e51b81526004016106d19061303f565b6001600160a01b038216611a005760405162461bcd60e51b81526004016106d190612faf565b611a0b838383610592565b611a488160405180606001604052806026815260200161327d602691396001600160a01b0386166000908152602081905260409020549190611153565b6001600160a01b038085166000908152602081905260408082209390935590841681522054611a77908261128a565b6001600160a01b0380841660008181526020819052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610f8d9085906130bd565b6001600160a01b038216611aef5760405162461bcd60e51b81526004016106d19061302f565b611afb82600083610592565b611b388160405180606001604052806022815260200161325b602291396001600160a01b0385166000908152602081905260409020549190611153565b6001600160a01b038316600090815260208190526040902055600254611b5e908261117f565b6002556040516000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611b9f9085906130bd565b60405180910390a35050565b611bb36106f7565b6001600160a01b031663c32e72028260006040518363ffffffff1660e01b8152600401611be19291906130cb565b602060405180830381600087803b158015611bfb57600080fd5b505af1158015611c0f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c339190612742565b50610d468282611c41610d4a565b6001600160a01b03169190611ed5565b6060611ca6826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166121e59092919063ffffffff16565b8051909150156105925780806020019051810190611cc49190612742565b6105925760405162461bcd60e51b81526004016106d19061306f565b6001600160a01b038216611d065760405162461bcd60e51b81526004016106d19061309f565b611d1260008383610592565b600254611d1f908261128a565b6002556001600160a01b038216600090815260208190526040902054611d45908261128a565b6001600160a01b0383166000818152602081905260408082209390935591519091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611b9f9085906130bd565b611db3823083611da2610d4a565b6001600160a01b03169291906121f4565b600e546040516321d0683360e11b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016916343a0d06691611e069190859060019060040161310f565b602060405180830381600087803b158015611e2057600080fd5b505af1158015611e34573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105929190612742565b60008315611557576000611e6c848461117f565b90508015611e9857611e9085611e8a83670de0b6b3a7640000612215565b9061224f565b915050610787565b505060009392505050565b6000611ecd670de0b6b3a7640000611e8a611ebe868661117f565b611ec7886108b9565b90612215565b949350505050565b6105928363a9059cbb60e01b8484604051602401611372929190612f1f565b6001600160a01b038316600081815260096020526040808220805491516370a0823160e01b815290936001600160801b039092169291906370a0823190611f3f903090600401612e91565b60206040518083038186803b158015611f5757600080fd5b505afa158015611f6b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f8f91906127d1565b8354909150600090611fb49086908490600160801b90046001600160801b0316611e58565b9050801561208157611fc6838261128a565b84546001600160801b0319166001600160801b0382161785556040519093506001600160a01b038816907f64dcb34f2e45bc61753d72992aa4199ec96717158435e8085568ff38844bcd1c9061201d9086906130bd565b60405180910390a283546001600160801b03808416600160801b0291161784556040516001600160a01b038816907fdeb2652df61fdedd2d231dc4d777175097cc26369032d339be2a6db36d7754f2906120789085906130bd565b60405180910390a25b60005b60028110156121db57600087826002811061209b57fe5b60200201516001600160a01b031614156120b4576121d3565b6001600160a01b0388166000908152600a60205260408120818984600281106120d957fe5b602090810291909101516001600160a01b0316825281019190915260400160002080549091506001600160801b0316858110156121d05760006121486121308b866002811061212457fe5b60200201518985611ea3565b8454600160801b90046001600160801b03169061128a565b83546001600160801b03196001600160801b03918216600160801b84841602171690891617845590506001600160a01b038b168a856002811061218757fe5b60200201516001600160a01b03167fe3bdf7e684a4024370a702abfcca4a32b08642aadc27065f3356458bd23e977e89846040516121c6929190613101565b60405180910390a3505b50505b600101612084565b5050505050505050565b6060611ecd8484600085612281565b6119ae846323b872dd60e01b85858560405160240161137293929190612ef7565b60008261222457506000610682565b8282028284828161223157fe5b04146107875760405162461bcd60e51b81526004016106d19061300f565b60008082116122705760405162461bcd60e51b81526004016106d190612fff565b81838161227957fe5b049392505050565b6060824710156122a35760405162461bcd60e51b81526004016106d190612fef565b6122ac85612342565b6122c85760405162461bcd60e51b81526004016106d19061305f565b60006060866001600160a01b031685876040516122e59190612e63565b60006040518083038185875af1925050503d8060008114612322576040519150601f19603f3d011682016040523d82523d6000602084013e612327565b606091505b5091509150612337828286612348565b979650505050505050565b3b151590565b60608315612357575081610787565b8251156123675782518084602001fd5b8160405162461bcd60e51b81526004016106d19190612f7e565b604080518082019091526000808252602082015290565b6040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a081019190915290565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061240e57805160ff191683800117855561243b565b8280016001018555821561243b579182015b8281111561243b578251825591602001919060010190612420565b5061244792915061244b565b5090565b5b80821115612447576000815560010161244c565b803561068281613234565b805161068281613234565b803561068281613248565b805161068281613248565b600082601f83011261249d57600080fd5b81516124b06124ab8261316c565b613145565b915080825260208301602083018583830111156124cc57600080fd5b6124d78382846131fe565b50505092915050565b600060c082840312156124f257600080fd5b6124fc60c0613145565b9050600061250a848461246b565b825250602061251b8484830161246b565b602083015250604061252f8482850161246b565b60408301525060606125438482850161246b565b60608301525060806125578482850161246b565b60808301525060a061256b84828501612481565b60a08301525092915050565b803561068281613251565b805161068281613251565b60006020828403121561259f57600080fd5b6000611ecd8484612460565b6000602082840312156125bd57600080fd5b6000611ecd848461246b565b600080604083850312156125dc57600080fd5b60006125e88585612460565b92505060206125f985828601612460565b9150509250929050565b60008060006060848603121561261857600080fd5b60006126248686612460565b935050602061263586828701612460565b925050604061264686828701612577565b9150509250925092565b6000806000806080858703121561266657600080fd5b60006126728787612460565b945050602061268387828801612460565b935050604061269487828801612577565b92505060606126a587828801612476565b91505092959194509250565b600080604083850312156126c457600080fd5b60006126d08585612460565b92505060206125f985828601612577565b6000806000606084860312156126f657600080fd5b60006127028686612460565b935050602061271386828701612577565b925050604061264686828701612476565b60006020828403121561273657600080fd5b6000611ecd8484612476565b60006020828403121561275457600080fd5b6000611ecd8484612481565b60006020828403121561277257600080fd5b815167ffffffffffffffff81111561278957600080fd5b611ecd8482850161248c565b600060c082840312156127a757600080fd5b6000611ecd84846124e0565b6000602082840312156127c557600080fd5b6000611ecd8484612577565b6000602082840312156127e357600080fd5b6000611ecd8484612582565b6000806040838503121561280257600080fd5b600061280e8585612577565b92505060206125f985828601612476565b600061282b838361284e565b505060200190565b600061282b8383612e51565b612848816131dd565b82525050565b612848816131ac565b60006128628261319a565b61286c818561319e565b935061287783613194565b8060005b838110156128a557815161288f888261281f565b975061289a83613194565b92505060010161287b565b509495945050505050565b60006128bb8261319a565b6128c5818561319e565b93506128d083613194565b8060005b838110156128a55781516128e88882612833565b97506128f383613194565b9250506001016128d4565b612848816131b7565b60006129128261319a565b61291c81856131a7565b935061292c8185602086016131fe565b9290920192915050565b612848816131e8565b600061294a8261319a565b612954818561319e565b93506129648185602086016131fe565b61296d8161322a565b9093019392505050565b600061298460118361319e565b7017d7d9195c1bdcda5d0e8814185d5cd959607a1b815260200192915050565b60006129b160138361319e565b724f6e6c79206f776e65722063616c6c61626c6560681b815260200192915050565b60006129e060238361319e565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647281526265737360e81b602082015260400192915050565b6000612a25600f836131a7565b6e022b73d3cb6b29029ba30b5b2b21d1608d1b8152600f0192915050565b6000612a5060228361319e565b7f45524332303a20617070726f766520746f20746865207a65726f206164647265815261737360f01b602082015260400192915050565b6000612a94601b8361319e565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000612acd601e8361319e565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000612b0660268361319e565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f8152651c8818d85b1b60d21b602082015260400192915050565b6000612b4e601a8361319e565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b6000612b8760218361319e565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000612bca60118361319e565b701a5b9a5d0e88125b9a5d1a585b1a5e9959607a1b815260200192915050565b6000612bf760218361319e565b7f45524332303a206275726e2066726f6d20746865207a65726f206164647265738152607360f81b602082015260400192915050565b6000612c3a60258361319e565b7f45524332303a207472616e736665722066726f6d20746865207a65726f206164815264647265737360d81b602082015260400192915050565b6000612c816003836131a7565b6273746b60e81b815260030192915050565b6000612ca060248361319e565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164648152637265737360e01b602082015260400192915050565b6000612ce6601d8361319e565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000815260200192915050565b6000612d1f602a8361319e565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e8152691bdd081cdd58d8d9595960b21b602082015260400192915050565b6000612d6b601f8361319e565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00815260200192915050565b6000612da460368361319e565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f81527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b602082015260400192915050565b6000612dfc601f8361319e565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300815260200192915050565b80516040830190612e398482612e48565b5060208201516119ae60208501825b612848816131bc565b612848816131d4565b612848816131d7565b60006107878284612907565b6000612e7a82612a18565b91506107878284612907565b6000612e7a82612c74565b60208101610682828461284e565b60608101612ead828661283f565b8181036020830152612ebf8185612857565b90508181036040830152612ed381846128b0565b95945050505050565b60408101612eea828561284e565b610787602083018461284e565b60608101612f05828661284e565b612f12602083018561284e565b611ecd6040830184612e51565b60408101612f2d828561284e565b6107876020830184612e51565b602080825281016107878184612857565b60408082528101612f5c8185612857565b90508181036020830152611ecd81846128b0565b6020810161068282846128fe565b60208082528101610787818461293f565b6020808252810161068281612977565b60208082528101610682816129a4565b60208082528101610682816129d3565b6020808252810161068281612a43565b6020808252810161068281612a87565b6020808252810161068281612ac0565b6020808252810161068281612af9565b6020808252810161068281612b41565b6020808252810161068281612b7a565b6020808252810161068281612bbd565b6020808252810161068281612bea565b6020808252810161068281612c2d565b6020808252810161068281612c93565b6020808252810161068281612cd9565b6020808252810161068281612d12565b6020808252810161068281612d5e565b6020808252810161068281612d97565b6020808252810161068281612def565b604081016106828284612e28565b602081016106828284612e51565b604081016130d98285612e51565b61078760208301846128fe565b604081016130f48285612e51565b6107876020830184612936565b60408101612f2d8285612e51565b6060810161311d8286612e51565b61312a6020830185612e51565b611ecd60408301846128fe565b602081016106828284612e5a565b60405181810167ffffffffffffffff8111828210171561316457600080fd5b604052919050565b600067ffffffffffffffff82111561318357600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b919050565b6000610682826131c8565b151590565b6001600160801b031690565b6001600160a01b031690565b90565b60ff1690565b6000610682826131f3565b6000610682826131d4565b6000610682826131ac565b60005b83811015613219578181015183820152602001613201565b838111156119ae5750506000910152565b601f01601f191690565b61323d816131ac565b8114610a9357600080fd5b61323d816131b7565b61323d816131d456fe45524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa164736f6c634300060c000a", "sourceMap": "702:4799:263:-:0;;;1019:305;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2712:182:259;;;;;;;;;;-1:-1:-1;2712:182:259;;;;;;;;;;;;;;2032:13:447;;1173:6:263;;2712:182:259;;;;2032:13:447;;:5;;2712:182:259;2032:13:447;:::i;:::-;-1:-1:-1;2055:17:447;;;;:7;;:17;;;;;:::i;:::-;-1:-1:-1;;2082:9:447;:14;;-1:-1:-1;;2082:14:447;2094:2;2082:14;;;-1:-1:-1;;;1760:7:453;:22;-1:-1:-1;;;;2873:14:259;;;;;::::1;::::0;1199:56:263;;;;;::::1;::::0;1265:21;;;;;::::1;::::0;1296;;;::::1;::::0;-1:-1:-1;702:4799:263;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;702:4799:263;;;-1:-1:-1;702:4799:263;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;5:134:-1;83:13;;101:33;83:13;101:33;:::i;:::-;68:71;;;;:::o;146:672::-;;;;;312:3;300:9;291:7;287:23;283:33;280:2;;;329:1;326;319:12;280:2;364:1;381:64;437:7;417:9;381:64;:::i;:::-;371:74;;343:108;482:2;500:64;556:7;547:6;536:9;532:22;500:64;:::i;:::-;490:74;;461:109;601:2;619:64;675:7;666:6;655:9;651:22;619:64;:::i;:::-;609:74;;580:109;720:2;738:64;794:7;785:6;774:9;770:22;738:64;:::i;:::-;728:74;;699:109;274:544;;;;;;;:::o;825:91::-;;-1:-1;;;;;985:54;;887:24;968:76::o;1051:117::-;1120:24;1138:5;1120:24;:::i;:::-;1113:5;1110:35;1100:2;;1159:1;1156;1149:12;1100:2;1094:74;:::o;:::-;702:4799:263;;;;;;;;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106101da5760003560e01c806382e5d07311610104578063b187bd26116100a2578063c4f59f9b11610071578063c4f59f9b146103c6578063d12f8df0146103db578063dd62ed3e146103e3578063ffaad6a5146103f6576101da565b8063b187bd2614610390578063b6b55f2514610398578063b7b0422d146103ab578063b899aea4146103be576101da565b80639655dd61116100de5780639655dd6114610344578063a457c2d714610357578063a7d2793f1461036a578063a9059cbb1461037d576101da565b806382e5d0731461032c5780638757b15b1461033457806395d89b411461033c576101da565b806323b872dd1161017c578063395093511161014b57806339509351146102e057806357d159c6146102f357806370a082311461030657806373e2290c14610319576101da565b806323b872dd146102925780632cfafabe146102a5578063313ce567146102b857806338d07436146102cd576101da565b8063095ea7b3116101b8578063095ea7b31461022757806318160ddd146102475780631ac6d19d1461025c57806320c718101461027d576101da565b80630663b22c146101df57806306fdde03146101e9578063093f636514610207575b600080fd5b6101e7610409565b005b6101f1610597565b6040516101fe9190612f7e565b60405180910390f35b61021a6102153660046125c9565b61062d565b6040516101fe91906130af565b61023a6102353660046126b1565b610688565b6040516101fe9190612f70565b61024f6106a5565b6040516101fe91906130bd565b61026f61026a36600461258d565b6106ab565b6040516101fe929190612f4b565b6102856106f7565b6040516101fe9190612e91565b61023a6102a0366004612603565b610706565b6101e76102b3366004612650565b61078e565b6102c06107bb565b6040516101fe9190613137565b61026f6102db3660046127ef565b6107c0565b61023a6102ee3660046126b1565b6107da565b6101e7610301366004612724565b610828565b61024f61031436600461258d565b6108b9565b6101e76103273660046126e1565b6108d4565b61024f6108e7565b6101e76108ed565b6101f161092e565b61021a61035236600461258d565b61098f565b61023a6103653660046126b1565b6109d9565b6102856103783660046127b3565b610a41565b61023a61038b3660046126b1565b610a6b565b61023a610a7f565b6101e76103a63660046127b3565b610a88565b6101e76103b93660046127b3565b610a96565b610285610d4a565b6103ce610d59565b6040516101fe9190612f3a565b61024f610dba565b61024f6103f13660046125c9565b610dc0565b6101e76104043660046126b1565b610deb565b60006104136106f7565b90506000816001600160a01b031663d55a23f46040518163ffffffff1660e01b815260040160206040518083038186803b15801561045057600080fd5b505afa158015610464573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061048891906127d1565b905060005b8181101561059257604051632061aa2360e11b815261058a906001600160a01b038516906340c35446906104c59085906004016130bd565b60206040518083038186803b1580156104dd57600080fd5b505afa1580156104f1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061051591906125ab565b6001600160a01b031663f7c618c16040518163ffffffff1660e01b815260040160206040518083038186803b15801561054d57600080fd5b505afa158015610561573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061058591906125ab565b610df6565b60010161048d565b505050565b600b8054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156106235780601f106105f857610100808354040283529160200191610623565b820191906000526020600020905b81548152906001019060200180831161060657829003601f168201915b5050505050905090565b610635612381565b506001600160a01b038082166000908152600a602090815260408083209386168352928152908290208251808401909352546001600160801b038082168452600160801b90910416908201525b92915050565b600061069c610695610ee2565b8484610ee6565b50600192915050565b60025490565b606080600260065414156106da5760405162461bcd60e51b81526004016106d19061307f565b60405180910390fd5b60026006556106e883610f9a565b60016006559094909350915050565b600d546001600160a01b031690565b60006107138484846110ef565b6107838461071f610ee2565b61077e856040518060600160405280602881526020016132a3602891396001600160a01b038a1660009081526001602052604081209061075d610ee2565b6001600160a01b031681526020810191909152604001600020549190611153565b610ee6565b5060015b9392505050565b6107a7843361077e856107a18933610dc0565b9061117f565b6107b3848484846111a7565b505050505050565b601290565b6060806107cf333386866111a7565b915091509250929050565b600061069c6107e7610ee2565b8461077e85600160006107f8610ee2565b6001600160a01b03908116825260208083019390935260409182016000908120918c16815292529020549061128a565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146108705760405162461bcd60e51b81526004016106d190612f9f565b6007805460ff19168215151790556040517f9077d36bc00859b5c3f320310707208543dd35092cb0a0fe117d0c6a558b148b906108ae908390612f70565b60405180910390a150565b6001600160a01b031660009081526020819052604090205490565b6108e0338484846111a7565b5050505050565b60085490565b61092c7f000000000000000000000000000000000000000000000000000000000000000060001961091c610d4a565b6001600160a01b031691906112af565b565b600c8054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156106235780601f106105f857610100808354040283529160200191610623565b610997612381565b506001600160a01b03166000908152600960209081526040918290208251808401909352546001600160801b038082168452600160801b909104169082015290565b600061069c6109e6610ee2565b8461077e856040518060600160405280602581526020016132cb6025913960016000610a10610ee2565b6001600160a01b03908116825260208083019390935260409182016000908120918d16815292529020549190611153565b600060088281548110610a5057fe5b6000918252602090912001546001600160a01b031692915050565b600061069c610a78610ee2565b84846110ef565b60075460ff1690565b610a933333836113a9565b50565b6000610aa0610d4a565b6001600160a01b031614610ac65760405162461bcd60e51b81526004016106d19061301f565b610ace612398565b604051631526fe2760e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690631526fe2790610b1a9085906004016130bd565b60c06040518083038186803b158015610b3257600080fd5b505afa158015610b46573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b6a9190612795565b9050610c0c81602001516001600160a01b03166306fdde036040518163ffffffff1660e01b815260040160006040518083038186803b158015610bac57600080fd5b505afa158015610bc0573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610be89190810190612760565b604051602001610bf89190612e6f565b604051602081830303815290604052611485565b610cac81602001516001600160a01b03166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b158015610c4c57600080fd5b505afa158015610c60573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610c889190810190612760565b604051602001610c989190612e86565b6040516020818303038152906040526114c8565b8051600f80546001600160a01b039283166001600160a01b0319918216179091556060830151600d8054919093169116179055600e829055610d0d7f0000000000000000000000000000000000000000000000000000000000000000610df6565b610d367f0000000000000000000000000000000000000000000000000000000000000000610df6565b610d3e610409565b610d466108ed565b5050565b600f546001600160a01b031690565b6060600880548060200260200160405190810160405280929190818152602001828054801561062357602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610d93575050505050905090565b600e5490565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b610d463383836113a9565b610e63816008805480602002602001604051908101604052809291908181526020018280548015610e5057602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610e32575b505050505061150b90919063ffffffff16565b610a9357600880546001810182556000919091527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30180546001600160a01b0319166001600160a01b0383161790556040517ff3e4c2c64e71e6ba2eaab9a599bced62f9eb91d2cda610bf41aa8c80ff2cf826906108ae908390612e91565b3390565b6001600160a01b038316610f0c5760405162461bcd60e51b81526004016106d19061304f565b6001600160a01b038216610f325760405162461bcd60e51b81526004016106d190612fbf565b6001600160a01b0380841660008181526001602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610f8d9085906130bd565b60405180910390a3505050565b606080610fa5610a7f565b610fb157610fb1611561565b6000610fbb6106a5565b600880546040805160208084028201810190925282815293945083018282801561100e57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610ff0575b50505050509250825167ffffffffffffffff8111801561102d57600080fd5b50604051908082528060200260200182016040528015611057578160200160208202803683370190505b50915060005b83518110156110a35761108484828151811061107557fe5b602002602001015186846115e3565b83828151811061109057fe5b602090810291909101015260010161105d565b50836001600160a01b03167fc17f1458d7773c19369fc6c68a3b4c44b675c86c50c997d58853aed5e38de6cd3385856040516110e193929190612e9f565b60405180910390a250915091565b600260065414156111125760405162461bcd60e51b81526004016106d19061307f565b6002600655604080518082019091526001600160a01b0380851682528316602082015261113e9061194b565b6111498383836119b4565b5050600160065550565b600081848411156111775760405162461bcd60e51b81526004016106d19190612f7e565b505050900390565b6000828211156111a15760405162461bcd60e51b81526004016106d190612fdf565b50900390565b606080600260065414156111cd5760405162461bcd60e51b81526004016106d19061307f565b600260065582156111eb576111e186610f9a565b9092509050611211565b604080518082019091526001600160a01b0387168152600060208201526112119061194b565b61121b8685611ac9565b6112258585611bab565b846001600160a01b0316866001600160a01b0316336001600160a01b03167fa4195c37c2947bbe89165f03e320b6903116f0b10d8cfdb522330f7ce6f9fa248760405161127291906130bd565b60405180910390a46001600655909590945092505050565b6000828201838110156107875760405162461bcd60e51b81526004016106d190612fcf565b8015806113375750604051636eb1769f60e11b81526001600160a01b0384169063dd62ed3e906112e59030908690600401612edc565b60206040518083038186803b1580156112fd57600080fd5b505afa158015611311573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061133591906127d1565b155b6113535760405162461bcd60e51b81526004016106d19061308f565b6105928363095ea7b360e01b8484604051602401611372929190612f1f565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152611c51565b600260065414156113cc5760405162461bcd60e51b81526004016106d19061307f565b60026006556113d9610a7f565b156113f65760405162461bcd60e51b81526004016106d190612f8f565b604080518082019091526001600160a01b03831681526000602082015261141c9061194b565b6114268282611ce0565b6114308382611d94565b816001600160a01b0316836001600160a01b03167f8752a472e571a816aea92eec8dae9baf628e840f4929fbcc2d155e6233ff68a78360405161147391906130bd565b60405180910390a35050600160065550565b805161149890600b9060208401906123cd565b507f12e9cab73c0c48661414f76e810af7d10c67f0db958722bf9f26b28a4b4afd69816040516108ae9190612f7e565b80516114db90600c9060208401906123cd565b507f862f26027c5033c09d43eacd856547decb3227c210f6eb7b6bdc0cf5edaa3f4b816040516108ae9190612f7e565b6000805b83518110156115575783818151811061152457fe5b60200260200101516001600160a01b0316836001600160a01b0316141561154f576001915050610682565b60010161150f565b5060009392505050565b611569610409565b6115716106f7565b6001600160a01b0316633d18b9126040518163ffffffff1660e01b8152600401602060405180830381600087803b1580156115ab57600080fd5b505af11580156115bf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a939190612742565b6001600160a01b038316600081815260096020526040808220805491516370a0823160e01b8152929390926001600160801b0390921691849161169e918791906370a0823190611637903090600401612e91565b60206040518083038186803b15801561164f57600080fd5b505afa158015611663573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061168791906127d1565b8554600160801b90046001600160801b0316611e58565b90508015611710576116b0828261128a565b83546001600160801b0319166001600160801b0382161784556040519092506001600160a01b038816907f64dcb34f2e45bc61753d72992aa4199ec96717158435e8085568ff38844bcd1c906117079085906130bd565b60405180910390a25b6001600160a01b038781166000908152600a60209081526040808320938a1683529290522080546001600160801b03600160801b82048116965016838110156117d15781546001600160801b0319166001600160801b03851617825561178161177a898684611ea3565b879061128a565b9550886001600160a01b0316886001600160a01b03167fe3bdf7e684a4024370a702abfcca4a32b08642aadc27065f3356458bd23e977e86896040516117c8929190613101565b60405180910390a35b85156118475781546001600160801b031682556117f86001600160a01b038a168988611ed5565b886001600160a01b0316886001600160a01b03167fe3bdf7e684a4024370a702abfcca4a32b08642aadc27065f3356458bd23e977e86600060405161183e9291906130e6565b60405180910390a35b6040516370a0823160e01b81526000906001600160a01b038b16906370a0823190611876903090600401612e91565b60206040518083038186803b15801561188e57600080fd5b505afa1580156118a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118c691906127d1565b8654909150600160801b90046001600160801b031681101561193e5785546001600160801b03808316600160801b0291161786556040516001600160a01b038b16907fdeb2652df61fdedd2d231dc4d777175097cc26369032d339be2a6db36d7754f2906119359084906130bd565b60405180910390a25b5050505050509392505050565b611953610a7f565b61195f5761195f611561565b60006119696106a5565b60085490915060005b818110156119ae576119a66008828154811061198a57fe5b6000918252602090912001546001600160a01b03168585611ef4565b600101611972565b50505050565b6001600160a01b0383166119da5760405162461bcd60e51b81526004016106d19061303f565b6001600160a01b038216611a005760405162461bcd60e51b81526004016106d190612faf565b611a0b838383610592565b611a488160405180606001604052806026815260200161327d602691396001600160a01b0386166000908152602081905260409020549190611153565b6001600160a01b038085166000908152602081905260408082209390935590841681522054611a77908261128a565b6001600160a01b0380841660008181526020819052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610f8d9085906130bd565b6001600160a01b038216611aef5760405162461bcd60e51b81526004016106d19061302f565b611afb82600083610592565b611b388160405180606001604052806022815260200161325b602291396001600160a01b0385166000908152602081905260409020549190611153565b6001600160a01b038316600090815260208190526040902055600254611b5e908261117f565b6002556040516000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611b9f9085906130bd565b60405180910390a35050565b611bb36106f7565b6001600160a01b031663c32e72028260006040518363ffffffff1660e01b8152600401611be19291906130cb565b602060405180830381600087803b158015611bfb57600080fd5b505af1158015611c0f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c339190612742565b50610d468282611c41610d4a565b6001600160a01b03169190611ed5565b6060611ca6826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166121e59092919063ffffffff16565b8051909150156105925780806020019051810190611cc49190612742565b6105925760405162461bcd60e51b81526004016106d19061306f565b6001600160a01b038216611d065760405162461bcd60e51b81526004016106d19061309f565b611d1260008383610592565b600254611d1f908261128a565b6002556001600160a01b038216600090815260208190526040902054611d45908261128a565b6001600160a01b0383166000818152602081905260408082209390935591519091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611b9f9085906130bd565b611db3823083611da2610d4a565b6001600160a01b03169291906121f4565b600e546040516321d0683360e11b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016916343a0d06691611e069190859060019060040161310f565b602060405180830381600087803b158015611e2057600080fd5b505af1158015611e34573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105929190612742565b60008315611557576000611e6c848461117f565b90508015611e9857611e9085611e8a83670de0b6b3a7640000612215565b9061224f565b915050610787565b505060009392505050565b6000611ecd670de0b6b3a7640000611e8a611ebe868661117f565b611ec7886108b9565b90612215565b949350505050565b6105928363a9059cbb60e01b8484604051602401611372929190612f1f565b6001600160a01b038316600081815260096020526040808220805491516370a0823160e01b815290936001600160801b039092169291906370a0823190611f3f903090600401612e91565b60206040518083038186803b158015611f5757600080fd5b505afa158015611f6b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f8f91906127d1565b8354909150600090611fb49086908490600160801b90046001600160801b0316611e58565b9050801561208157611fc6838261128a565b84546001600160801b0319166001600160801b0382161785556040519093506001600160a01b038816907f64dcb34f2e45bc61753d72992aa4199ec96717158435e8085568ff38844bcd1c9061201d9086906130bd565b60405180910390a283546001600160801b03808416600160801b0291161784556040516001600160a01b038816907fdeb2652df61fdedd2d231dc4d777175097cc26369032d339be2a6db36d7754f2906120789085906130bd565b60405180910390a25b60005b60028110156121db57600087826002811061209b57fe5b60200201516001600160a01b031614156120b4576121d3565b6001600160a01b0388166000908152600a60205260408120818984600281106120d957fe5b602090810291909101516001600160a01b0316825281019190915260400160002080549091506001600160801b0316858110156121d05760006121486121308b866002811061212457fe5b60200201518985611ea3565b8454600160801b90046001600160801b03169061128a565b83546001600160801b03196001600160801b03918216600160801b84841602171690891617845590506001600160a01b038b168a856002811061218757fe5b60200201516001600160a01b03167fe3bdf7e684a4024370a702abfcca4a32b08642aadc27065f3356458bd23e977e89846040516121c6929190613101565b60405180910390a3505b50505b600101612084565b5050505050505050565b6060611ecd8484600085612281565b6119ae846323b872dd60e01b85858560405160240161137293929190612ef7565b60008261222457506000610682565b8282028284828161223157fe5b04146107875760405162461bcd60e51b81526004016106d19061300f565b60008082116122705760405162461bcd60e51b81526004016106d190612fff565b81838161227957fe5b049392505050565b6060824710156122a35760405162461bcd60e51b81526004016106d190612fef565b6122ac85612342565b6122c85760405162461bcd60e51b81526004016106d19061305f565b60006060866001600160a01b031685876040516122e59190612e63565b60006040518083038185875af1925050503d8060008114612322576040519150601f19603f3d011682016040523d82523d6000602084013e612327565b606091505b5091509150612337828286612348565b979650505050505050565b3b151590565b60608315612357575081610787565b8251156123675782518084602001fd5b8160405162461bcd60e51b81526004016106d19190612f7e565b604080518082019091526000808252602082015290565b6040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a081019190915290565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061240e57805160ff191683800117855561243b565b8280016001018555821561243b579182015b8281111561243b578251825591602001919060010190612420565b5061244792915061244b565b5090565b5b80821115612447576000815560010161244c565b803561068281613234565b805161068281613234565b803561068281613248565b805161068281613248565b600082601f83011261249d57600080fd5b81516124b06124ab8261316c565b613145565b915080825260208301602083018583830111156124cc57600080fd5b6124d78382846131fe565b50505092915050565b600060c082840312156124f257600080fd5b6124fc60c0613145565b9050600061250a848461246b565b825250602061251b8484830161246b565b602083015250604061252f8482850161246b565b60408301525060606125438482850161246b565b60608301525060806125578482850161246b565b60808301525060a061256b84828501612481565b60a08301525092915050565b803561068281613251565b805161068281613251565b60006020828403121561259f57600080fd5b6000611ecd8484612460565b6000602082840312156125bd57600080fd5b6000611ecd848461246b565b600080604083850312156125dc57600080fd5b60006125e88585612460565b92505060206125f985828601612460565b9150509250929050565b60008060006060848603121561261857600080fd5b60006126248686612460565b935050602061263586828701612460565b925050604061264686828701612577565b9150509250925092565b6000806000806080858703121561266657600080fd5b60006126728787612460565b945050602061268387828801612460565b935050604061269487828801612577565b92505060606126a587828801612476565b91505092959194509250565b600080604083850312156126c457600080fd5b60006126d08585612460565b92505060206125f985828601612577565b6000806000606084860312156126f657600080fd5b60006127028686612460565b935050602061271386828701612577565b925050604061264686828701612476565b60006020828403121561273657600080fd5b6000611ecd8484612476565b60006020828403121561275457600080fd5b6000611ecd8484612481565b60006020828403121561277257600080fd5b815167ffffffffffffffff81111561278957600080fd5b611ecd8482850161248c565b600060c082840312156127a757600080fd5b6000611ecd84846124e0565b6000602082840312156127c557600080fd5b6000611ecd8484612577565b6000602082840312156127e357600080fd5b6000611ecd8484612582565b6000806040838503121561280257600080fd5b600061280e8585612577565b92505060206125f985828601612476565b600061282b838361284e565b505060200190565b600061282b8383612e51565b612848816131dd565b82525050565b612848816131ac565b60006128628261319a565b61286c818561319e565b935061287783613194565b8060005b838110156128a557815161288f888261281f565b975061289a83613194565b92505060010161287b565b509495945050505050565b60006128bb8261319a565b6128c5818561319e565b93506128d083613194565b8060005b838110156128a55781516128e88882612833565b97506128f383613194565b9250506001016128d4565b612848816131b7565b60006129128261319a565b61291c81856131a7565b935061292c8185602086016131fe565b9290920192915050565b612848816131e8565b600061294a8261319a565b612954818561319e565b93506129648185602086016131fe565b61296d8161322a565b9093019392505050565b600061298460118361319e565b7017d7d9195c1bdcda5d0e8814185d5cd959607a1b815260200192915050565b60006129b160138361319e565b724f6e6c79206f776e65722063616c6c61626c6560681b815260200192915050565b60006129e060238361319e565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647281526265737360e81b602082015260400192915050565b6000612a25600f836131a7565b6e022b73d3cb6b29029ba30b5b2b21d1608d1b8152600f0192915050565b6000612a5060228361319e565b7f45524332303a20617070726f766520746f20746865207a65726f206164647265815261737360f01b602082015260400192915050565b6000612a94601b8361319e565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000612acd601e8361319e565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000612b0660268361319e565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f8152651c8818d85b1b60d21b602082015260400192915050565b6000612b4e601a8361319e565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b6000612b8760218361319e565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000612bca60118361319e565b701a5b9a5d0e88125b9a5d1a585b1a5e9959607a1b815260200192915050565b6000612bf760218361319e565b7f45524332303a206275726e2066726f6d20746865207a65726f206164647265738152607360f81b602082015260400192915050565b6000612c3a60258361319e565b7f45524332303a207472616e736665722066726f6d20746865207a65726f206164815264647265737360d81b602082015260400192915050565b6000612c816003836131a7565b6273746b60e81b815260030192915050565b6000612ca060248361319e565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164648152637265737360e01b602082015260400192915050565b6000612ce6601d8361319e565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000815260200192915050565b6000612d1f602a8361319e565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e8152691bdd081cdd58d8d9595960b21b602082015260400192915050565b6000612d6b601f8361319e565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00815260200192915050565b6000612da460368361319e565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f81527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b602082015260400192915050565b6000612dfc601f8361319e565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300815260200192915050565b80516040830190612e398482612e48565b5060208201516119ae60208501825b612848816131bc565b612848816131d4565b612848816131d7565b60006107878284612907565b6000612e7a82612a18565b91506107878284612907565b6000612e7a82612c74565b60208101610682828461284e565b60608101612ead828661283f565b8181036020830152612ebf8185612857565b90508181036040830152612ed381846128b0565b95945050505050565b60408101612eea828561284e565b610787602083018461284e565b60608101612f05828661284e565b612f12602083018561284e565b611ecd6040830184612e51565b60408101612f2d828561284e565b6107876020830184612e51565b602080825281016107878184612857565b60408082528101612f5c8185612857565b90508181036020830152611ecd81846128b0565b6020810161068282846128fe565b60208082528101610787818461293f565b6020808252810161068281612977565b60208082528101610682816129a4565b60208082528101610682816129d3565b6020808252810161068281612a43565b6020808252810161068281612a87565b6020808252810161068281612ac0565b6020808252810161068281612af9565b6020808252810161068281612b41565b6020808252810161068281612b7a565b6020808252810161068281612bbd565b6020808252810161068281612bea565b6020808252810161068281612c2d565b6020808252810161068281612c93565b6020808252810161068281612cd9565b6020808252810161068281612d12565b6020808252810161068281612d5e565b6020808252810161068281612d97565b6020808252810161068281612def565b604081016106828284612e28565b602081016106828284612e51565b604081016130d98285612e51565b61078760208301846128fe565b604081016130f48285612e51565b6107876020830184612936565b60408101612f2d8285612e51565b6060810161311d8286612e51565b61312a6020830185612e51565b611ecd60408301846128fe565b602081016106828284612e5a565b60405181810167ffffffffffffffff8111828210171561316457600080fd5b604052919050565b600067ffffffffffffffff82111561318357600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b919050565b6000610682826131c8565b151590565b6001600160801b031690565b6001600160a01b031690565b90565b60ff1690565b6000610682826131f3565b6000610682826131d4565b6000610682826131ac565b60005b83811015613219578181015183820152602001613201565b838111156119ae5750506000910152565b601f01601f191690565b61323d816131ac565b8114610a9357600080fd5b61323d816131b7565b61323d816131d456fe45524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa164736f6c634300060c000a", "sourceMap": "702:4799:263:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2356:680;;;:::i;:::-;;1293:100:260;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17864:261:259;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;4244:166:447:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;3235:106::-;;;:::i;:::-;;;;;;;:::i;3628:231:259:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;4970:101:263:-;;;:::i;:::-;;;;;;;:::i;4877:317:447:-;;;;;;:::i;:::-;;:::i;6483:372:259:-;;;;;;:::i;:::-;;:::i;15957:115::-;;;:::i;:::-;;;;;;;:::i;5347:258::-;;;;;;:::i;:::-;;:::i;5589:215:447:-;;;;;;:::i;:::-;;:::i;3042:130:259:-;;;;;;:::i;:::-;;:::i;3399:125:447:-;;;;;;:::i;:::-;;:::i;5863:202:259:-;;;;;;:::i;:::-;;:::i;16873:120::-;;;:::i;3100:137:263:-;;;:::i;1548:106:260:-;;;:::i;17404:241:259:-;;;;;;:::i;:::-;;:::i;6291:266:447:-;;;;;;:::i;:::-;;:::i;16591:179:259:-;;;;;;:::i;:::-;;:::i;3727:172:447:-;;;;;;:::i;:::-;;:::i;18244:96:259:-;;;:::i;4014:111::-;;;;;;:::i;:::-;;:::i;1434:723:263:-;;;;;;:::i;:::-;;:::i;5392:107::-;;;:::i;17102:125:259:-;;;:::i;:::-;;;;;;;:::i;5179:107:263:-;;;:::i;3957:149:447:-;;;;;;:::i;:::-;;:::i;4334:119:259:-;;;;;;:::i;:::-;;:::i;2356:680:263:-;2400:40;2465:15;:13;:15::i;:::-;2400:81;;2695:25;2723:18;-1:-1:-1;;;;;2723:37:263;;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2695:67;;2777:9;2772:258;2792:17;2788:1;:21;2772:258;;;2956:34;;-1:-1:-1;;;2956:34:263;;2890:129;;-1:-1:-1;;;;;2956:31:263;;;;;:34;;2988:1;;2956:34;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;2924:79:263;;:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2890:16;:129::i;:::-;2811:3;;2772:258;;;;2356:680;;:::o;1293:100:260:-;1377:9;1370:16;;;;;;;;-1:-1:-1;;1370:16:260;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1339:19;;1370:16;;1377:9;;1370:16;;1377:9;1370:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1293:100;:::o;17864:261:259:-;18005:39;;:::i;:::-;-1:-1:-1;;;;;;18067:44:259;;;;;;;:30;:44;;;;;;;;:51;;;;;;;;;;;;18060:58;;;;;;;;;-1:-1:-1;;;;;18060:58:259;;;;;-1:-1:-1;;;18060:58:259;;;;;;;;17864:261;;;;;:::o;4244:166:447:-;4327:4;4343:39;4352:12;:10;:12::i;:::-;4366:7;4375:6;4343:8;:39::i;:::-;-1:-1:-1;4399:4:447;4244:166;;;;:::o;3235:106::-;3322:12;;3235:106;:::o;3628:231:259:-;3739:30;3771:32;1688:1:453;2277:7;;:19;;2269:63;;;;-1:-1:-1;;;2269:63:453;;;;;;;:::i;:::-;;;;;;;;;1688:1;2407:7;:18;3826:26:259::1;3847:4:::0;3826:20:::1;:26::i;:::-;1645:1:453::0;2580:7;:22;3819:33:259;;;;-1:-1:-1;3628:231:259;-1:-1:-1;;3628:231:259:o;4970:101:263:-;5054:10;;-1:-1:-1;;;;;5054:10:263;;4970:101::o;4877:317:447:-;4983:4;4999:36;5009:6;5017:9;5028:6;4999:9;:36::i;:::-;5045:121;5054:6;5062:12;:10;:12::i;:::-;5076:89;5114:6;5076:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5076:19:447;;;;;;-1:-1:-1;5076:19:447;;;;;;5096:12;:10;:12::i;:::-;-1:-1:-1;;;;;5076:33:447;;;;;;;;;;;;-1:-1:-1;5076:33:447;;;;:37;:89::i;:::-;5045:8;:121::i;:::-;-1:-1:-1;5183:4:447;4877:317;;;;;;:::o;6483:372:259:-;6701:78;6710:9;6721:10;6733:45;6770:7;6733:32;6743:9;6754:10;6733:9;:32::i;:::-;:36;;:45::i;6701:78::-;6790:58;6801:9;6812:3;6817:7;6826:21;6790:10;:58::i;:::-;;;6483:372;;;;:::o;15957:115::-;2212:2;15957:115;:::o;5347:258::-;5453:30;5485:32;5540:58;5551:10;5563;5575:7;5584:13;5540:10;:58::i;:::-;5533:65;;;;5347:258;;;;;:::o;5589:215:447:-;5677:4;5693:83;5702:12;:10;:12::i;:::-;5716:7;5725:50;5764:10;5725:11;:25;5737:12;:10;:12::i;:::-;-1:-1:-1;;;;;5725:25:447;;;;;;;;;;;;;;;;;-1:-1:-1;5725:25:447;;;:34;;;;;;;;;;;:38;:50::i;3042:130:259:-;2645:10;-1:-1:-1;;;;;2659:5:259;2645:19;;2637:51;;;;-1:-1:-1;;;2637:51:259;;;;;;;:::i;:::-;3108:6:::1;:18:::0;;-1:-1:-1;;3108:18:259::1;::::0;::::1;;;::::0;;3142:23:::1;::::0;::::1;::::0;::::1;::::0;3108:18;;3142:23:::1;:::i;:::-;;;;;;;;3042:130:::0;:::o;3399:125:447:-;-1:-1:-1;;;;;3499:18:447;3473:7;3499:18;;;;;;;;;;;;3399:125::o;5863:202:259:-;5999:59;6010:10;6022:3;6027:7;6036:21;5999:10;:59::i;:::-;;;5863:202;;;:::o;16873:120::-;16967:12;:19;16873:120;:::o;3100:137:263:-;3141:89;3186:23;-1:-1:-1;;3147:17:263;:15;:17::i;:::-;-1:-1:-1;;;;;3141:36:263;;;;:89::i;:::-;3100:137::o;1548:106:260:-;1636:11;1629:18;;;;;;;;-1:-1:-1;;1629:18:260;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1596:21;;1629:18;;1636:11;;1629:18;;1636:11;1629:18;;;;;;;;;;;;;;;;;;;;;;;;17404:241:259;17531:41;;:::i;:::-;-1:-1:-1;;;;;;17595:43:259;;;;;:29;:43;;;;;;;;;17588:50;;;;;;;;;-1:-1:-1;;;;;17588:50:259;;;;;-1:-1:-1;;;17588:50:259;;;;;;;;;17404:241::o;6291:266:447:-;6384:4;6400:129;6409:12;:10;:12::i;:::-;6423:7;6432:96;6471:15;6432:96;;;;;;;;;;;;;;;;;:11;:25;6444:12;:10;:12::i;:::-;-1:-1:-1;;;;;6432:25:447;;;;;;;;;;;;;;;;;-1:-1:-1;6432:25:447;;;:34;;;;;;;;;;;;:38;:96::i;16591:179:259:-;16700:20;16743:12;16756:6;16743:20;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;16743:20:259;;;-1:-1:-1;;16591:179:259:o;3727:172:447:-;3813:4;3829:42;3839:12;:10;:12::i;:::-;3853:9;3864:6;3829:9;:42::i;18244:96:259:-;18327:6;;;;18244:96;:::o;4014:111::-;4076:42;4086:10;4098;4110:7;4076:9;:42::i;:::-;4014:111;:::o;1434:723:263:-;1569:1;1540:17;:15;:17::i;:::-;-1:-1:-1;;;;;1540:31:263;;1532:61;;;;-1:-1:-1;;;1532:61:263;;;;;;;:::i;:::-;1604:39;;:::i;:::-;1646:38;;-1:-1:-1;;;1646:38:263;;-1:-1:-1;;;;;1646:23:263;:32;;-1:-1:-1;;1646:38:263;;1679:4;;1646:38;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1604:80;;1730:89;1794:8;:14;;;-1:-1:-1;;;;;1788:26:263;;:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1788:28:263;;;;;;;;;;;;:::i;:::-;1752:65;;;;;;;;:::i;:::-;;;;;;;;;;;;;1730:14;:89::i;:::-;1829:81;1883:8;:14;;;-1:-1:-1;;;;;1877:28:263;;:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1877:30:263;;;;;;;;;;;;:::i;:::-;1853:55;;;;;;;;:::i;:::-;;;;;;;;;;;;;1829:16;:81::i;:::-;1936:16;;1921:12;:31;;-1:-1:-1;;;;;1921:31:263;;;-1:-1:-1;;;;;;1921:31:263;;;;;;;1975:19;;;;1962:10;:32;;;;;;;;;;;2004:12;:19;;;2034:27;2051:9;2034:16;:27::i;:::-;2071;2088:9;2071:16;:27::i;:::-;2108:17;:15;:17::i;:::-;2136:14;:12;:14::i;:::-;1434:723;;:::o;5392:107::-;5480:12;;-1:-1:-1;;;;;5480:12:263;;5392:107::o;17102:125:259:-;17159:30;17208:12;17201:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;17201:19:259;;;-1:-1:-1;17201:19:259;;;;;;;;;;;;;;;;;;17102:125;:::o;5179:107:263:-;5267:12;;5179:107;:::o;3957:149:447:-;-1:-1:-1;;;;;4072:18:447;;;4046:7;4072:18;;;-1:-1:-1;4072:18:447;;;;;;;;:27;;;;;;;;;;;;;3957:149::o;4334:119:259:-;4411:35;4421:10;4433:3;4438:7;4411:9;:35::i;8006:221::-;8078:35;8100:12;8078;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8078:21:259;;;-1:-1:-1;8078:21:259;;;;;;;;;;;;;;;;;;;:35;;;;:::i;:::-;8073:148;;8129:12;:31;;;;;;;-1:-1:-1;8129:31:259;;;;;;;;-1:-1:-1;;;;;;8129:31:259;-1:-1:-1;;;;;8129:31:259;;;;;8180:30;;;;;;8129:31;;8180:30;:::i;598:104:452:-;685:10;598:104;:::o;9355:340:447:-;-1:-1:-1;;;;;9456:19:447;;9448:68;;;;-1:-1:-1;;;9448:68:447;;;;;;;:::i;:::-;-1:-1:-1;;;;;9534:21:447;;9526:68;;;;-1:-1:-1;;;9526:68:447;;;;;;;:::i;:::-;-1:-1:-1;;;;;9605:18:447;;;;;;;-1:-1:-1;9605:18:447;;;;;;;;:27;;;;;;;;;;;;;;:36;;;9656:32;;;;;9605:36;;9656:32;:::i;:::-;;;;;;;;9355:340;;;:::o;9974:753:259:-;10055:30;10087:32;10223:10;:8;:10::i;:::-;10218:65;;10249:23;:21;:23::i;:::-;10293:14;10310:13;:11;:13::i;:::-;10350:12;10334:28;;;;;;;;;;;;;;;;;;;10293:30;;-1:-1:-1;10334:28:259;;10350:12;10334:28;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10334:28:259;;;-1:-1:-1;10334:28:259;;;;;;;;;;;;;;;;;;;10404:13;:20;10390:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10390:35:259;;10372:53;;10440:9;10435:152;10455:13;:20;10451:1;:24;10435:152;;;10517:59;10541:13;10555:1;10541:16;;;;;;;;;;;;;;10559:8;10569:6;10517:23;:59::i;:::-;10496:15;10512:1;10496:18;;;;;;;;;;;;;;;;;:80;10477:3;;10435:152;;;-1:-1:-1;10602:68:259;;-1:-1:-1;;;;;10602:68:259;;;;;;;10617:10;;10639:13;;10654:15;;10602:68;:::i;:::-;;;;;;;;10681:39;9974:753;;;:::o;16184:214::-;1688:1:453;2277:7;;:19;;2269:63;;;;-1:-1:-1;;;2269:63:453;;;;;;;:::i;:::-;1688:1;2407:7;:18;16319:26:259::1;::::0;;;;::::1;::::0;;;-1:-1:-1;;;;;16319:26:259;;::::1;::::0;;;::::1;;::::0;::::1;::::0;::::1;::::0;:12:::1;:26::i;:::-;16355:36;16371:5;16378:3;16383:7;16355:15;:36::i;:::-;-1:-1:-1::0;;1645:1:453;2580:7;:22;-1:-1:-1;16184:214:259:o;5432:163:442:-;5518:7;5553:12;5545:6;;;;5537:29;;;;-1:-1:-1;;;5537:29:442;;;;;;;;:::i;:::-;-1:-1:-1;;;5583:5:442;;;5432:163::o;3136:155::-;3194:7;3226:1;3221;:6;;3213:49;;;;-1:-1:-1;;;3213:49:442;;;;;;;:::i;:::-;-1:-1:-1;3279:5:442;;;3136:155::o;6907:650:259:-;7084:30;7116:32;1688:1:453;2277:7;;:19;;2269:63;;;;-1:-1:-1;;;2269:63:453;;;;;;;:::i;:::-;1688:1;2407:7;:18;7201:170:259;::::1;;;7269:27;7290:5;7269:20;:27::i;:::-;7234:62:::0;;-1:-1:-1;7234:62:259;-1:-1:-1;7201:170:259::1;;;7327:33;::::0;;;;::::1;::::0;;;-1:-1:-1;;;;;7327:33:259;::::1;::::0;;-1:-1:-1;7327:33:259::1;::::0;::::1;::::0;::::1;::::0;:12:::1;:33::i;:::-;7381:21;7387:5;7394:7;7381:5;:21::i;:::-;7413:29;7429:3;7434:7;7413:15;:29::i;:::-;7458:42;::::0;-1:-1:-1;;;;;7458:42:259;;::::1;::::0;;;::::1;::::0;7468:10:::1;::::0;7458:42:::1;::::0;::::1;::::0;7492:7;;7458:42:::1;:::i;:::-;;;;;;;;1645:1:453::0;2580:7;:22;6907:650:259;;;;-1:-1:-1;6907:650:259;-1:-1:-1;;;6907:650:259:o;2690:175:442:-;2748:7;2779:5;;;2802:6;;;;2794:46;;;;-1:-1:-1;;;2794:46:442;;;;;;;:::i;1348:613:450:-;1713:10;;;1712:62;;-1:-1:-1;1729:39:450;;-1:-1:-1;;;1729:39:450;;-1:-1:-1;;;;;1729:15:450;;;;;:39;;1753:4;;1760:7;;1729:39;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:44;1712:62;1704:150;;;;-1:-1:-1;;;1704:150:450;;;;;;;:::i;:::-;1864:90;1884:5;1914:22;;;1938:7;1947:5;1891:62;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;1891:62:450;;;;;;;;;;;;;;-1:-1:-1;;;;;1891:62:450;-1:-1:-1;;;;;;1891:62:450;;;;;;;;;;;1864:19;:90::i;4510:368:259:-;1688:1:453;2277:7;;:19;;2269:63;;;;-1:-1:-1;;;2269:63:453;;;;;;;:::i;:::-;1688:1;2407:7;:18;4644:10:259::1;:8;:10::i;:::-;4643:11;4635:41;;;::::0;-1:-1:-1;;;4635:41:259;;::::1;::::0;::::1;;;:::i;:::-;4724:31;::::0;;;;::::1;::::0;;;-1:-1:-1;;;;;4724:31:259;::::1;::::0;;-1:-1:-1;4724:31:259::1;::::0;::::1;::::0;::::1;::::0;:12:::1;:31::i;:::-;4765:19;4771:3;4776:7;4765:5;:19::i;:::-;4795:30;4810:5;4817:7;4795:14;:30::i;:::-;4841;::::0;-1:-1:-1;;;;;4841:30:259;;::::1;::::0;;;::::1;::::0;::::1;::::0;::::1;::::0;4863:7;;4841:30:::1;:::i;:::-;;;;;;;;-1:-1:-1::0;;1645:1:453;2580:7;:22;-1:-1:-1;4510:368:259:o;752:123:260:-;816:17;;;;:9;;:17;;;;;:::i;:::-;;849:19;862:5;849:19;;;;;;:::i;930:135::-;998:21;;;;:11;;:21;;;;;:::i;:::-;;1035:23;1050:7;1035:23;;;;;;:::i;2489:299:354:-;2595:17;2633:9;2628:132;2648:5;:12;2644:1;:16;2628:132;;;2696:5;2702:1;2696:8;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2685:19:354;;;;;;2681:69;;;2731:4;2724:11;;;;;2681:69;2662:3;;2628:132;;;-1:-1:-1;2776:5:354;;2489:299;-1:-1:-1;;;2489:299:354:o;3983:406:263:-;4305:17;:15;:17::i;:::-;4354:15;:13;:15::i;:::-;-1:-1:-1;;;;;4332:48:263;;:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;12767:2058:259:-;-1:-1:-1;;;;;12982:43:259;;12904:22;12982:43;;;:29;:43;;;;;;13060:25;;13178:44;;-1:-1:-1;;;13178:44:259;;12904:22;;12982:43;;-1:-1:-1;;;;;13060:25:259;;;;12904:22;;13119:165;;13157:7;;12982:43;-1:-1:-1;;13178:44:259;;13216:4;;13178:44;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13236:38;;-1:-1:-1;;;13236:38:259;;-1:-1:-1;;;;;13236:38:259;13119:24;:165::i;:::-;13095:189;-1:-1:-1;13298:17:259;;13294:236;;13347:32;:13;13365;13347:17;:32::i;:::-;13393:50;;-1:-1:-1;;;;;;13393:50:259;-1:-1:-1;;;;;13393:50:259;;;;;13463:56;;13393:50;;-1:-1:-1;;;;;;13463:56:259;;;;;;;13393:50;;13463:56;:::i;:::-;;;;;;;;13294:236;-1:-1:-1;;;;;13582:44:259;;;13540:39;13582:44;;;:30;:44;;;;;;;;:76;;;;;;;;;13692:24;;-1:-1:-1;;;;;;;;13743:31:259;;;;;-1:-1:-1;13692:24:259;13788:28;;;13784:357;;;13832:49;;-1:-1:-1;;;;;;13832:49:259;-1:-1:-1;;;;;13832:49:259;;;;;13912:125;13948:75;13985:8;13832:49;14010:12;13948:36;:75::i;:::-;13912:14;;:18;:125::i;:::-;14057:73;;13895:142;;-1:-1:-1;;;;;;14057:73:259;;;;;;;;;;;;14100:13;;13895:142;;14057:73;:::i;:::-;;;;;;;;13784:357;14155:18;;14151:236;;14189:35;;-1:-1:-1;;;;;14189:35:259;;;14238:58;-1:-1:-1;;;;;14238:32:259;;14271:8;14281:14;14238:32;:58::i;:::-;14316:60;;-1:-1:-1;;;;;14316:60:259;;;;;;;;;;;;14359:13;;14374:1;;14316:60;:::i;:::-;;;;;;;;14151:236;14511:44;;-1:-1:-1;;;14511:44:259;;14492:16;;-1:-1:-1;;;;;14511:29:259;;;-1:-1:-1;;14511:44:259;;14549:4;;14511:44;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14580:38;;14492:63;;-1:-1:-1;;;;14580:38:259;;-1:-1:-1;;;;;14580:38:259;14569:49;;14565:222;;;14634:58;;-1:-1:-1;;;;;14634:58:259;;;-1:-1:-1;;;14634:58:259;;;;;;14712:64;;-1:-1:-1;;;;;14712:64:259;;;;;;;14634:58;;14712:64;:::i;:::-;;;;;;;;14565:222;14797:21;;;;;;12767:2058;;;;;:::o;9394:453::-;9551:10;:8;:10::i;:::-;9546:65;;9577:23;:21;:23::i;:::-;9621:14;9638:13;:11;:13::i;:::-;9691:12;:19;9621:30;;-1:-1:-1;9662:26:259;9720:121;9740:18;9736:1;:22;9720:121;;;9779:51;9795:12;9808:1;9795:15;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9795:15:259;9812:9;9823:6;9779:15;:51::i;:::-;9760:3;;9720:121;;;;9394:453;;;:::o;7031:530:447:-;-1:-1:-1;;;;;7136:20:447;;7128:70;;;;-1:-1:-1;;;7128:70:447;;;;;;;:::i;:::-;-1:-1:-1;;;;;7216:23:447;;7208:71;;;;-1:-1:-1;;;7208:71:447;;;;;;;:::i;:::-;7290:47;7311:6;7319:9;7330:6;7290:20;:47::i;:::-;7368:71;7390:6;7368:71;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7368:17:447;;:9;:17;;;;;;;;;;;;;:21;:71::i;:::-;-1:-1:-1;;;;;7348:17:447;;;:9;:17;;;;;;;;;;;:91;;;;7472:20;;;;;;;:32;;7497:6;7472:24;:32::i;:::-;-1:-1:-1;;;;;7449:20:447;;;:9;:20;;;;;;;;;;;;:55;;;;7519:35;;;;;;;;;;7547:6;;7519:35;:::i;8522:410::-;-1:-1:-1;;;;;8605:21:447;;8597:67;;;;-1:-1:-1;;;8597:67:447;;;;;;;:::i;:::-;8675:49;8696:7;8713:1;8717:6;8675:20;:49::i;:::-;8756:68;8779:6;8756:68;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8756:18:447;;:9;:18;;;;;;;;;;;;;:22;:68::i;:::-;-1:-1:-1;;;;;8735:18:447;;:9;:18;;;;;;;;;;:89;8849:12;;:24;;8866:6;8849:16;:24::i;:::-;8834:12;:39;8888:37;;8914:1;;-1:-1:-1;;;;;8888:37:447;;;;;;;8918:6;;8888:37;:::i;:::-;;;;;;;;8522:410;;:::o;4561:223:263:-;4666:15;:13;:15::i;:::-;4644:72;;-1:-1:-1;;;4644:72:263;;-1:-1:-1;;;;;4644:56:263;;;;;;;:72;;4701:7;;4710:5;;4644:72;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;4726:51;4764:3;4769:7;4732:17;:15;:17::i;:::-;-1:-1:-1;;;;;4726:37:263;;;;:51::i;2967:751:450:-;3412:69;;;;;;;;;;;;;;;;;;3386:23;;3412:69;;-1:-1:-1;;;;;3412:27:450;;;3440:4;;3412:27;:69::i;:::-;3495:17;;3386:95;;-1:-1:-1;3495:21:450;3491:221;;3635:10;3624:30;;;;;;;;;;;;:::i;:::-;3616:85;;;;-1:-1:-1;;;3616:85:450;;;;;;;:::i;7832:370:447:-;-1:-1:-1;;;;;7915:21:447;;7907:65;;;;-1:-1:-1;;;7907:65:447;;;;;;;:::i;:::-;7983:49;8012:1;8016:7;8025:6;7983:20;:49::i;:::-;8058:12;;:24;;8075:6;8058:16;:24::i;:::-;8043:12;:39;-1:-1:-1;;;;;8113:18:447;;:9;:18;;;;;;;;;;;:30;;8136:6;8113:22;:30::i;:::-;-1:-1:-1;;;;;8092:18:447;;:9;:18;;;;;;;;;;;:51;;;;8158:37;;8092:18;;:9;8158:37;;;;8188:6;;8158:37;:::i;3517:233:263:-;3601:72;3643:5;3658:4;3665:7;3607:17;:15;:17::i;:::-;-1:-1:-1;;;;;3601:41:263;;;;;:72::i;:::-;3715:12;;3683:60;;-1:-1:-1;;;3683:60:263;;-1:-1:-1;;;;;3683:23:263;:31;;;;:60;;3715:12;3729:7;;-1:-1:-1;;3683:60:263;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;8836:431:259:-;8996:17;9029:11;;9025:217;;9056:15;9074:43;:15;9094:22;9074:19;:43::i;:::-;9056:61;-1:-1:-1;9135:11:259;;9131:101;;9173:44;9209:7;9173:31;:7;2266:4;9173:11;:31::i;:::-;:35;;:44::i;:::-;9166:51;;;;;9131:101;9025:217;-1:-1:-1;9259:1:259;8836:431;;;;;:::o;8364:365::-;8541:24;8596:126;2266:4;8596:72;8620:47;:21;8646:20;8620:25;:47::i;:::-;8596:19;8606:8;8596:9;:19::i;:::-;:23;;:72::i;:126::-;8577:145;8364:365;-1:-1:-1;;;;8364:365:259:o;704:175:450:-;786:86;806:5;836:23;;;861:2;865:5;813:58;;;;;;;;;:::i;10776:1910:259:-;-1:-1:-1;;;;;10961:43:259;;10917:41;10961:43;;;:29;:43;;;;;;11039:25;;11088:44;;-1:-1:-1;;;11088:44:259;;10961:43;;-1:-1:-1;;;;;11039:25:259;;;;10917:41;10961:43;-1:-1:-1;;11088:44:259;;11126:4;;11088:44;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11242:38;;11074:58;;-1:-1:-1;11142:21:259;;11166:124;;11204:7;;11074:58;;-1:-1:-1;;;11242:38:259;;-1:-1:-1;;;;;11242:38:259;11166:24;:124::i;:::-;11142:148;-1:-1:-1;11304:17:259;;11300:381;;11353:32;:13;11371;11353:17;:32::i;:::-;11399:50;;-1:-1:-1;;;;;;11399:50:259;-1:-1:-1;;;;;11399:50:259;;;;;11468:56;;11399:50;;-1:-1:-1;;;;;;11468:56:259;;;;;;;11399:50;;11468:56;:::i;:::-;;;;;;;;11539:53;;-1:-1:-1;;;;;11539:53:259;;;-1:-1:-1;;;11539:53:259;;;;;;11611:59;;-1:-1:-1;;;;;11611:59:259;;;;;;;11539:53;;11611:59;:::i;:::-;;;;;;;;11300:381;11696:9;11691:989;11711:16;11707:1;:20;11691:989;;;11837:1;11813:9;11823:1;11813:12;;;;;;;;;;;-1:-1:-1;;;;;11813:26:259;;11809:40;;;11841:8;;11809:40;-1:-1:-1;;;;;11906:44:259;;11864:39;11906:44;;;:30;:44;;;;;11864:39;11968:9;11978:1;11968:12;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11906:88:259;;;;;;;;;;;-1:-1:-1;11906:88:259;12032:24;;11906:88;;-1:-1:-1;;;;;;12032:24:259;12074:28;;;12070:600;;;12122:23;12148:163;12214:79;12251:9;12261:1;12251:12;;;;;;;;;;;12265:13;12280:12;12214:36;:79::i;:::-;12156:31;;-1:-1:-1;;;12156:31:259;;-1:-1:-1;;;;;12156:31:259;;12148:44;:163::i;:::-;12330:58;;-1:-1:-1;;;;;;;;;;;12330:58:259;;;-1:-1:-1;;;12330:58:259;;;;;12406:49;;;;;;;12330:58;-1:-1:-1;;;;;;12479:176:259;;12519:9;12529:1;12519:12;;;;;;;;;;;-1:-1:-1;;;;;12479:176:259;;12587:13;12622:15;12479:176;;;;;;;:::i;:::-;;;;;;;;12070:600;;11691:989;;;11729:3;;11691:989;;;;10776:1910;;;;;;;:::o;3581:193:451:-;3684:12;3715:52;3737:6;3745:4;3751:1;3754:12;3715:21;:52::i;885:203:450:-;985:96;1005:5;1035:27;;;1064:4;1070:2;1074:5;1012:68;;;;;;;;;;:::i;3538:215:442:-;3596:7;3619:6;3615:20;;-1:-1:-1;3634:1:442;3627:8;;3615:20;3657:5;;;3661:1;3657;:5;:1;3680:5;;;;;:10;3672:56;;;;-1:-1:-1;;;3672:56:442;;;;;;;:::i;4217:150::-;4275:7;4306:1;4302;:5;4294:44;;;;-1:-1:-1;;;4294:44:442;;;;;;;:::i;:::-;4359:1;4355;:5;;;;;;;4217:150;-1:-1:-1;;;4217:150:442:o;4608:523:451:-;4735:12;4792:5;4767:21;:30;;4759:81;;;;-1:-1:-1;;;4759:81:451;;;;;;;:::i;:::-;4858:18;4869:6;4858:10;:18::i;:::-;4850:60;;;;-1:-1:-1;;;4850:60:451;;;;;;;:::i;:::-;4981:12;4995:23;5022:6;-1:-1:-1;;;;;5022:11:451;5042:5;5050:4;5022:33;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4980:75;;;;5072:52;5090:7;5099:10;5111:12;5072:17;:52::i;:::-;5065:59;4608:523;-1:-1:-1;;;;;;;4608:523:451:o;726:413::-;1086:20;1124:8;;;726:413::o;7091:725::-;7206:12;7234:7;7230:580;;;-1:-1:-1;7264:10:451;7257:17;;7230:580;7375:17;;:21;7371:429;;7633:10;7627:17;7693:15;7680:10;7676:2;7672:19;7665:44;7582:145;7765:20;;-1:-1:-1;;;7765:20:451;;;;7772:12;;7765:20;;;:::i;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;5:130;72:20;;97:33;72:20;97:33;:::i;142:134::-;220:13;;238:33;220:13;238:33;:::i;283:124::-;347:20;;372:30;347:20;372:30;:::i;414:128::-;489:13;;507:30;489:13;507:30;:::i;550:444::-;;663:3;656:4;648:6;644:17;640:27;630:2;;681:1;678;671:12;630:2;711:6;705:13;733:65;748:49;790:6;748:49;:::i;:::-;733:65;:::i;:::-;724:74;;818:6;811:5;804:21;854:4;846:6;842:17;887:4;880:5;876:16;922:3;913:6;908:3;904:16;901:25;898:2;;;939:1;936;929:12;898:2;949:39;981:6;976:3;971;949:39;:::i;:::-;623:371;;;;;;;:::o;1039:1137::-;;1166:4;1154:9;1149:3;1145:19;1141:30;1138:2;;;1184:1;1181;1174:12;1138:2;1202:20;1217:4;1202:20;:::i;:::-;1193:29;-1:-1;1275:1;1307:60;1363:3;1343:9;1307:60;:::i;:::-;1282:86;;-1:-1;1430:2;1463:60;1519:3;1495:22;;;1463:60;:::i;:::-;1456:4;1449:5;1445:16;1438:86;1389:146;1586:2;1619:60;1675:3;1666:6;1655:9;1651:22;1619:60;:::i;:::-;1612:4;1605:5;1601:16;1594:86;1545:146;1747:2;1780:60;1836:3;1827:6;1816:9;1812:22;1780:60;:::i;:::-;1773:4;1766:5;1762:16;1755:86;1701:151;1903:3;1937:60;1993:3;1984:6;1973:9;1969:22;1937:60;:::i;:::-;1930:4;1923:5;1919:16;1912:86;1862:147;2063:3;2097:57;2150:3;2141:6;2130:9;2126:22;2097:57;:::i;:::-;2090:4;2083:5;2079:16;2072:83;2019:147;1132:1044;;;;:::o;2183:130::-;2250:20;;2275:33;2250:20;2275:33;:::i;2320:134::-;2398:13;;2416:33;2398:13;2416:33;:::i;2461:241::-;;2565:2;2553:9;2544:7;2540:23;2536:32;2533:2;;;2581:1;2578;2571:12;2533:2;2616:1;2633:53;2678:7;2658:9;2633:53;:::i;2709:263::-;;2824:2;2812:9;2803:7;2799:23;2795:32;2792:2;;;2840:1;2837;2830:12;2792:2;2875:1;2892:64;2948:7;2928:9;2892:64;:::i;2979:366::-;;;3100:2;3088:9;3079:7;3075:23;3071:32;3068:2;;;3116:1;3113;3106:12;3068:2;3151:1;3168:53;3213:7;3193:9;3168:53;:::i;:::-;3158:63;;3130:97;3258:2;3276:53;3321:7;3312:6;3301:9;3297:22;3276:53;:::i;:::-;3266:63;;3237:98;3062:283;;;;;:::o;3352:491::-;;;;3490:2;3478:9;3469:7;3465:23;3461:32;3458:2;;;3506:1;3503;3496:12;3458:2;3541:1;3558:53;3603:7;3583:9;3558:53;:::i;:::-;3548:63;;3520:97;3648:2;3666:53;3711:7;3702:6;3691:9;3687:22;3666:53;:::i;:::-;3656:63;;3627:98;3756:2;3774:53;3819:7;3810:6;3799:9;3795:22;3774:53;:::i;:::-;3764:63;;3735:98;3452:391;;;;;:::o;3850:611::-;;;;;4002:3;3990:9;3981:7;3977:23;3973:33;3970:2;;;4019:1;4016;4009:12;3970:2;4054:1;4071:53;4116:7;4096:9;4071:53;:::i;:::-;4061:63;;4033:97;4161:2;4179:53;4224:7;4215:6;4204:9;4200:22;4179:53;:::i;:::-;4169:63;;4140:98;4269:2;4287:53;4332:7;4323:6;4312:9;4308:22;4287:53;:::i;:::-;4277:63;;4248:98;4377:2;4395:50;4437:7;4428:6;4417:9;4413:22;4395:50;:::i;:::-;4385:60;;4356:95;3964:497;;;;;;;:::o;4468:366::-;;;4589:2;4577:9;4568:7;4564:23;4560:32;4557:2;;;4605:1;4602;4595:12;4557:2;4640:1;4657:53;4702:7;4682:9;4657:53;:::i;:::-;4647:63;;4619:97;4747:2;4765:53;4810:7;4801:6;4790:9;4786:22;4765:53;:::i;4841:485::-;;;;4976:2;4964:9;4955:7;4951:23;4947:32;4944:2;;;4992:1;4989;4982:12;4944:2;5027:1;5044:53;5089:7;5069:9;5044:53;:::i;:::-;5034:63;;5006:97;5134:2;5152:53;5197:7;5188:6;5177:9;5173:22;5152:53;:::i;:::-;5142:63;;5113:98;5242:2;5260:50;5302:7;5293:6;5282:9;5278:22;5260:50;:::i;5333:235::-;;5434:2;5422:9;5413:7;5409:23;5405:32;5402:2;;;5450:1;5447;5440:12;5402:2;5485:1;5502:50;5544:7;5524:9;5502:50;:::i;5575:257::-;;5687:2;5675:9;5666:7;5662:23;5658:32;5655:2;;;5703:1;5700;5693:12;5655:2;5738:1;5755:61;5808:7;5788:9;5755:61;:::i;5839:362::-;;5964:2;5952:9;5943:7;5939:23;5935:32;5932:2;;;5980:1;5977;5970:12;5932:2;6015:24;;6059:18;6048:30;;6045:2;;;6091:1;6088;6081:12;6045:2;6111:74;6177:7;6168:6;6157:9;6153:22;6111:74;:::i;6208:318::-;;6350:3;6338:9;6329:7;6325:23;6321:33;6318:2;;;6367:1;6364;6357:12;6318:2;6402:1;6419:91;6502:7;6482:9;6419:91;:::i;6533:241::-;;6637:2;6625:9;6616:7;6612:23;6608:32;6605:2;;;6653:1;6650;6643:12;6605:2;6688:1;6705:53;6750:7;6730:9;6705:53;:::i;6781:263::-;;6896:2;6884:9;6875:7;6871:23;6867:32;6864:2;;;6912:1;6909;6902:12;6864:2;6947:1;6964:64;7020:7;7000:9;6964:64;:::i;7051:360::-;;;7169:2;7157:9;7148:7;7144:23;7140:32;7137:2;;;7185:1;7182;7175:12;7137:2;7220:1;7237:53;7282:7;7262:9;7237:53;:::i;:::-;7227:63;;7199:97;7327:2;7345:50;7387:7;7378:6;7367:9;7363:22;7345:50;:::i;7419:173::-;;7506:46;7548:3;7540:6;7506:46;:::i;:::-;-1:-1;;7581:4;7572:14;;7499:93::o;7601:173::-;;7688:46;7730:3;7722:6;7688:46;:::i;7782:142::-;7873:45;7912:5;7873:45;:::i;:::-;7868:3;7861:58;7855:69;;:::o;7931:103::-;8004:24;8022:5;8004:24;:::i;8192:690::-;;8337:54;8385:5;8337:54;:::i;:::-;8404:86;8483:6;8478:3;8404:86;:::i;:::-;8397:93;;8511:56;8561:5;8511:56;:::i;:::-;8587:7;8615:1;8600:260;8625:6;8622:1;8619:13;8600:260;;;8692:6;8686:13;8713:63;8772:3;8757:13;8713:63;:::i;:::-;8706:70;;8793:60;8846:6;8793:60;:::i;:::-;8783:70;-1:-1;;8647:1;8640:9;8600:260;;;-1:-1;8873:3;;8316:566;-1:-1;;;;;8316:566::o;8921:690::-;;9066:54;9114:5;9066:54;:::i;:::-;9133:86;9212:6;9207:3;9133:86;:::i;:::-;9126:93;;9240:56;9290:5;9240:56;:::i;:::-;9316:7;9344:1;9329:260;9354:6;9351:1;9348:13;9329:260;;;9421:6;9415:13;9442:63;9501:3;9486:13;9442:63;:::i;:::-;9435:70;;9522:60;9575:6;9522:60;:::i;:::-;9512:70;-1:-1;;9376:1;9369:9;9329:260;;9619:104;9696:21;9711:5;9696:21;:::i;9730:356::-;;9858:38;9890:5;9858:38;:::i;:::-;9908:88;9989:6;9984:3;9908:88;:::i;:::-;9901:95;;10001:52;10046:6;10041:3;10034:4;10027:5;10023:16;10001:52;:::i;:::-;10065:16;;;;;9838:248;-1:-1;;9838:248::o;10093:142::-;10184:45;10223:5;10184:45;:::i;10242:347::-;;10354:39;10387:5;10354:39;:::i;:::-;10405:71;10469:6;10464:3;10405:71;:::i;:::-;10398:78;;10481:52;10526:6;10521:3;10514:4;10507:5;10503:16;10481:52;:::i;:::-;10554:29;10576:6;10554:29;:::i;:::-;10545:39;;;;10334:255;-1:-1;;;10334:255::o;10964:317::-;;11124:67;11188:2;11183:3;11124:67;:::i;:::-;-1:-1;;;11204:40;;11272:2;11263:12;;;-1:-1;;11110:171::o;11290:319::-;;11450:67;11514:2;11509:3;11450:67;:::i;:::-;-1:-1;;;11530:42;;11600:2;11591:12;;;-1:-1;;11436:173::o;11618:372::-;;11778:67;11842:2;11837:3;11778:67;:::i;:::-;11878:34;11858:55;;-1:-1;;;11942:2;11933:12;;11926:27;11981:2;11972:12;;;-1:-1;;11764:226::o;11999:351::-;;12177:85;12259:2;12254:3;12177:85;:::i;:::-;-1:-1;;;12275:38;;12341:2;12332:12;;;-1:-1;;12163:187::o;12359:371::-;;12519:67;12583:2;12578:3;12519:67;:::i;:::-;12619:34;12599:55;;-1:-1;;;12683:2;12674:12;;12667:26;12721:2;12712:12;;;-1:-1;;12505:225::o;12739:327::-;;12899:67;12963:2;12958:3;12899:67;:::i;:::-;12999:29;12979:50;;13057:2;13048:12;;12885:181;-1:-1;;12885:181::o;13075:330::-;;13235:67;13299:2;13294:3;13235:67;:::i;:::-;13335:32;13315:53;;13396:2;13387:12;;13221:184;-1:-1;;13221:184::o;13414:375::-;;13574:67;13638:2;13633:3;13574:67;:::i;:::-;13674:34;13654:55;;-1:-1;;;13738:2;13729:12;;13722:30;13780:2;13771:12;;;-1:-1;;13560:229::o;13798:326::-;;13958:67;14022:2;14017:3;13958:67;:::i;:::-;14058:28;14038:49;;14115:2;14106:12;;13944:180;-1:-1;;13944:180::o;14133:370::-;;14293:67;14357:2;14352:3;14293:67;:::i;:::-;14393:34;14373:55;;-1:-1;;;14457:2;14448:12;;14441:25;14494:2;14485:12;;;-1:-1;;14279:224::o;14512:317::-;;14672:67;14736:2;14731:3;14672:67;:::i;:::-;-1:-1;;;14752:40;;14820:2;14811:12;;;-1:-1;;14658:171::o;14838:370::-;;14998:67;15062:2;15057:3;14998:67;:::i;:::-;15098:34;15078:55;;-1:-1;;;15162:2;15153:12;;15146:25;15199:2;15190:12;;;-1:-1;;14984:224::o;15217:374::-;;15377:67;15441:2;15436:3;15377:67;:::i;:::-;15477:34;15457:55;;-1:-1;;;15541:2;15532:12;;15525:29;15582:2;15573:12;;;-1:-1;;15363:228::o;15600:337::-;;15778:84;15860:1;15855:3;15778:84;:::i;:::-;-1:-1;;;15875:26;;15929:1;15920:11;;;-1:-1;;15764:173::o;15946:373::-;;16106:67;16170:2;16165:3;16106:67;:::i;:::-;16206:34;16186:55;;-1:-1;;;16270:2;16261:12;;16254:28;16310:2;16301:12;;;-1:-1;;16092:227::o;16328:329::-;;16488:67;16552:2;16547:3;16488:67;:::i;:::-;16588:31;16568:52;;16648:2;16639:12;;16474:183;-1:-1;;16474:183::o;16666:379::-;;16826:67;16890:2;16885:3;16826:67;:::i;:::-;16926:34;16906:55;;-1:-1;;;16990:2;16981:12;;16974:34;17036:2;17027:12;;;-1:-1;;16812:233::o;17054:331::-;;17214:67;17278:2;17273:3;17214:67;:::i;:::-;17314:33;17294:54;;17376:2;17367:12;;17200:185;-1:-1;;17200:185::o;17394:391::-;;17554:67;17618:2;17613:3;17554:67;:::i;:::-;17654:34;17634:55;;-1:-1;;;17718:2;17709:12;;17702:46;17776:2;17767:12;;;-1:-1;;17540:245::o;17794:331::-;;17954:67;18018:2;18013:3;17954:67;:::i;:::-;18054:33;18034:54;;18116:2;18107:12;;17940:185;-1:-1;;17940:185::o;18222:517::-;18455:23;;18385:4;18376:14;;;18484:63;18380:3;18455:23;18484:63;:::i;:::-;18405:148;18643:4;18636:5;18632:16;18626:23;18655:63;18712:4;18707:3;18703:14;18689:12;19349:103;19422:24;19440:5;19422:24;:::i;19459:103::-;19532:24;19550:5;19532:24;:::i;19689:107::-;19768:22;19784:5;19768:22;:::i;19803:271::-;;19956:93;20045:3;20036:6;19956:93;:::i;20081:542::-;;20337:148;20481:3;20337:148;:::i;:::-;20330:155;;20503:95;20594:3;20585:6;20503:95;:::i;20630:542::-;;20886:148;21030:3;20886:148;:::i;21179:222::-;21306:2;21291:18;;21320:71;21295:9;21364:6;21320:71;:::i;21408:756::-;21699:2;21684:18;;21713:79;21688:9;21765:6;21713:79;:::i;:::-;21840:9;21834:4;21830:20;21825:2;21814:9;21810:18;21803:48;21865:108;21968:4;21959:6;21865:108;:::i;:::-;21857:116;;22021:9;22015:4;22011:20;22006:2;21995:9;21991:18;21984:48;22046:108;22149:4;22140:6;22046:108;:::i;:::-;22038:116;21670:494;-1:-1;;;;;21670:494::o;22171:333::-;22326:2;22311:18;;22340:71;22315:9;22384:6;22340:71;:::i;:::-;22422:72;22490:2;22479:9;22475:18;22466:6;22422:72;:::i;22511:444::-;22694:2;22679:18;;22708:71;22683:9;22752:6;22708:71;:::i;:::-;22790:72;22858:2;22847:9;22843:18;22834:6;22790:72;:::i;:::-;22873;22941:2;22930:9;22926:18;22917:6;22873:72;:::i;22962:333::-;23117:2;23102:18;;23131:71;23106:9;23175:6;23131:71;:::i;:::-;23213:72;23281:2;23270:9;23266:18;23257:6;23213:72;:::i;23302:370::-;23479:2;23493:47;;;23464:18;;23554:108;23464:18;23648:6;23554:108;:::i;23679:629::-;23934:2;23948:47;;;23919:18;;24009:108;23919:18;24103:6;24009:108;:::i;:::-;24001:116;;24165:9;24159:4;24155:20;24150:2;24139:9;24135:18;24128:48;24190:108;24293:4;24284:6;24190:108;:::i;24315:210::-;24436:2;24421:18;;24450:65;24425:9;24488:6;24450:65;:::i;24532:310::-;24679:2;24693:47;;;24664:18;;24754:78;24664:18;24818:6;24754:78;:::i;24849:416::-;25049:2;25063:47;;;25034:18;;25124:131;25034:18;25124:131;:::i;25272:416::-;25472:2;25486:47;;;25457:18;;25547:131;25457:18;25547:131;:::i;25695:416::-;25895:2;25909:47;;;25880:18;;25970:131;25880:18;25970:131;:::i;26118:416::-;26318:2;26332:47;;;26303:18;;26393:131;26303:18;26393:131;:::i;26541:416::-;26741:2;26755:47;;;26726:18;;26816:131;26726:18;26816:131;:::i;26964:416::-;27164:2;27178:47;;;27149:18;;27239:131;27149:18;27239:131;:::i;27387:416::-;27587:2;27601:47;;;27572:18;;27662:131;27572:18;27662:131;:::i;27810:416::-;28010:2;28024:47;;;27995:18;;28085:131;27995:18;28085:131;:::i;28233:416::-;28433:2;28447:47;;;28418:18;;28508:131;28418:18;28508:131;:::i;28656:416::-;28856:2;28870:47;;;28841:18;;28931:131;28841:18;28931:131;:::i;29079:416::-;29279:2;29293:47;;;29264:18;;29354:131;29264:18;29354:131;:::i;29502:416::-;29702:2;29716:47;;;29687:18;;29777:131;29687:18;29777:131;:::i;29925:416::-;30125:2;30139:47;;;30110:18;;30200:131;30110:18;30200:131;:::i;30348:416::-;30548:2;30562:47;;;30533:18;;30623:131;30533:18;30623:131;:::i;30771:416::-;30971:2;30985:47;;;30956:18;;31046:131;30956:18;31046:131;:::i;31194:416::-;31394:2;31408:47;;;31379:18;;31469:131;31379:18;31469:131;:::i;31617:416::-;31817:2;31831:47;;;31802:18;;31892:131;31802:18;31892:131;:::i;32040:416::-;32240:2;32254:47;;;32225:18;;32315:131;32225:18;32315:131;:::i;32463:362::-;32660:2;32645:18;;32674:141;32649:9;32788:6;32674:141;:::i;33197:222::-;33324:2;33309:18;;33338:71;33313:9;33382:6;33338:71;:::i;33426:321::-;33575:2;33560:18;;33589:71;33564:9;33633:6;33589:71;:::i;:::-;33671:66;33733:2;33722:9;33718:18;33709:6;33671:66;:::i;33754:349::-;33917:2;33902:18;;33931:71;33906:9;33975:6;33931:71;:::i;:::-;34013:80;34089:2;34078:9;34074:18;34065:6;34013:80;:::i;34110:333::-;34265:2;34250:18;;34279:71;34254:9;34323:6;34279:71;:::i;34450:432::-;34627:2;34612:18;;34641:71;34616:9;34685:6;34641:71;:::i;:::-;34723:72;34791:2;34780:9;34776:18;34767:6;34723:72;:::i;:::-;34806:66;34868:2;34857:9;34853:18;34844:6;34806:66;:::i;34889:214::-;35012:2;34997:18;;35026:67;35001:9;35066:6;35026:67;:::i;35110:256::-;35172:2;35166:9;35198:17;;;35273:18;35258:34;;35294:22;;;35255:62;35252:2;;;35330:1;35327;35320:12;35252:2;35346;35339:22;35150:216;;-1:-1;35150:216::o;35373:322::-;;35517:18;35509:6;35506:30;35503:2;;;35549:1;35546;35539:12;35503:2;-1:-1;35680:4;-1:-1;35593:17;;;;-1:-1;;35589:33;35670:15;;35440:255::o;35702:151::-;35826:4;35817:14;;35774:79::o;36018:137::-;36121:12;;36092:63::o;36794:178::-;36912:19;;;36961:4;36952:14;;36905:67::o;37168:144::-;37303:3;37281:31;-1:-1;37281:31::o;37646:91::-;;37708:24;37726:5;37708:24;:::i;37744:85::-;37810:13;37803:21;;37786:43::o;37836:113::-;-1:-1;;;;;37898:46;;37881:68::o;37956:121::-;-1:-1;;;;;38018:54;;38001:76::o;38084:72::-;38146:5;38129:27::o;38163:81::-;38234:4;38223:16;;38206:38::o;38251:129::-;;38338:37;38369:5;38338:37;:::i;38387:116::-;;38474:24;38492:5;38474:24;:::i;38510:121::-;;38589:37;38620:5;38589:37;:::i;38754:268::-;38819:1;38826:101;38840:6;38837:1;38834:13;38826:101;;;38907:11;;;38901:18;38888:11;;;38881:39;38862:2;38855:10;38826:101;;;38942:6;38939:1;38936:13;38933:2;;;-1:-1;;39007:1;38989:16;;38982:27;38803:219::o;39030:97::-;39118:2;39098:14;-1:-1;;39094:28;;39078:49::o;39135:117::-;39204:24;39222:5;39204:24;:::i;:::-;39197:5;39194:35;39184:2;;39243:1;39240;39233:12;39259:111;39325:21;39340:5;39325:21;:::i;39377:117::-;39446:24;39464:5;39446:24;:::i", "linkReferences": {}, "immutableReferences": { "68522": [ { "start": 2099, "length": 32 } ], "69875": [ { "start": 2290, "length": 32 }, { "start": 2789, "length": 32 }, { "start": 7629, "length": 32 } ], "69877": [ { "start": 3305, "length": 32 } ], "69879": [ { "start": 3346, "length": 32 } ] } }, "methodIdentifiers": { "addExtraRewards()": "0663b22c", "allowance(address,address)": "dd62ed3e", "approve(address,uint256)": "095ea7b3", "balanceOf(address)": "70a08231", "claimRewardsFor(address)": "1ac6d19d", "decimals()": "313ce567", "decreaseAllowance(address,uint256)": "a457c2d7", "deposit(uint256)": "b6b55f25", "depositTo(address,uint256)": "ffaad6a5", "getConvexPool()": "20c71810", "getConvexPoolId()": "d12f8df0", "getCurveLpToken()": "b899aea4", "getRewardTokenAtIndex(uint256)": "a7d2793f", "getRewardTokenCount()": "82e5d073", "getRewardTokens()": "c4f59f9b", "getTotalHarvestDataForRewardToken(address)": "9655dd61", "getUserHarvestDataForRewardToken(address,address)": "093f6365", "increaseAllowance(address,uint256)": "39509351", "init(uint256)": "b7b0422d", "isPaused()": "b187bd26", "name()": "06fdde03", "setApprovals()": "8757b15b", "symbol()": "95d89b41", "togglePause(bool)": "57d159c6", "totalSupply()": "18160ddd", "transfer(address,uint256)": "a9059cbb", "transferFrom(address,address,uint256)": "23b872dd", "withdraw(uint256,bool)": "38d07436", "withdrawTo(address,uint256,bool)": "73e2290c", "withdrawToOnBehalf(address,address,uint256,bool)": "2cfafabe" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_convexBooster\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_crvToken\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_cvxToken\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"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\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Deposited\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"isPaused\",\"type\":\"bool\"}],\"name\":\"PauseToggled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"RewardTokenAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"rewardTokens\",\"type\":\"address[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"claimedAmounts\",\"type\":\"uint256[]\"}],\"name\":\"RewardsClaimed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"TokenNameSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"}],\"name\":\"TokenSymbolSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"rewardToken\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"integral\",\"type\":\"uint256\"}],\"name\":\"TotalHarvestIntegralUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"rewardToken\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"lastCheckpointBalance\",\"type\":\"uint256\"}],\"name\":\"TotalHarvestLastCheckpointBalanceUpdated\",\"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\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"rewardToken\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"integral\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"claimableReward\",\"type\":\"uint256\"}],\"name\":\"UserHarvestUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"},{\"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\":\"Withdrawn\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"addExtraRewards\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"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\":[{\"internalType\":\"address\",\"name\":\"_for\",\"type\":\"address\"}],\"name\":\"claimRewardsFor\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"rewardTokens_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"claimedAmounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"decimals_\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"deposit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"depositTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getConvexPool\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"convexPool_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getConvexPoolId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"convexPoolId_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurveLpToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"curveLPToken_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_index\",\"type\":\"uint256\"}],\"name\":\"getRewardTokenAtIndex\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"rewardToken_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRewardTokenCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"count_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRewardTokens\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"rewardTokens_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_rewardToken\",\"type\":\"address\"}],\"name\":\"getTotalHarvestDataForRewardToken\",\"outputs\":[{\"components\":[{\"internalType\":\"uint128\",\"name\":\"integral\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"lastCheckpointBalance\",\"type\":\"uint128\"}],\"internalType\":\"struct IStakingWrapper.TotalHarvestData\",\"name\":\"totalHarvestData_\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_rewardToken\",\"type\":\"address\"}],\"name\":\"getUserHarvestDataForRewardToken\",\"outputs\":[{\"components\":[{\"internalType\":\"uint128\",\"name\":\"integral\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"claimableReward\",\"type\":\"uint128\"}],\"internalType\":\"struct IStakingWrapper.UserHarvestData\",\"name\":\"userHarvestData_\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_pid\",\"type\":\"uint256\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isPaused\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isPaused_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"name_\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"setApprovals\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"symbol_\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"_isPaused\",\"type\":\"bool\"}],\"name\":\"togglePause\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"_claimRewards\",\"type\":\"bool\"}],\"name\":\"withdraw\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"rewardTokens_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"claimedAmounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"_claimRewardsToHolder\",\"type\":\"bool\"}],\"name\":\"withdrawTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_onBehalf\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"_claimRewardsToHolder\",\"type\":\"bool\"}],\"name\":\"withdrawToOnBehalf\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"addExtraRewards()\":{\"details\":\"Anybody can call, in case more pool tokens are added. Is called prior to every new harvest.\"},\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"claimRewardsFor(address)\":{\"details\":\"Can be called off-chain to simulate the total harvestable rewards for a particular user\",\"params\":{\"_for\":\"The account for which to claim rewards\"},\"returns\":{\"claimedAmounts_\":\"The reward token amounts claimed\",\"rewardTokens_\":\"The reward tokens\"}},\"decimals()\":{\"details\":\"Implementing contracts should override to set different decimals\",\"returns\":{\"decimals_\":\"The token decimals\"}},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.\"},\"deposit(uint256)\":{\"params\":{\"_amount\":\"The amount of tokens to deposit\"}},\"depositTo(address,uint256)\":{\"params\":{\"_amount\":\"The amount of tokens to deposit\",\"_to\":\"The account to receive staking tokens\"}},\"getConvexPool()\":{\"returns\":{\"convexPool_\":\"The reward pool\"}},\"getConvexPoolId()\":{\"returns\":{\"convexPoolId_\":\"The pid\"}},\"getCurveLpToken()\":{\"returns\":{\"curveLPToken_\":\"The Curve LP token\"}},\"getRewardTokenAtIndex(uint256)\":{\"returns\":{\"rewardToken_\":\"The reward token address\"}},\"getRewardTokenCount()\":{\"returns\":{\"count_\":\"The count\"}},\"getRewardTokens()\":{\"returns\":{\"rewardTokens_\":\"The reward tokens\"}},\"getTotalHarvestDataForRewardToken(address)\":{\"params\":{\"_rewardToken\":\"The reward token\"},\"returns\":{\"totalHarvestData_\":\"The TotalHarvestData\"}},\"getUserHarvestDataForRewardToken(address,address)\":{\"params\":{\"_rewardToken\":\"The reward token\",\"_user\":\"The account\"},\"returns\":{\"userHarvestData_\":\"The UserHarvestData\"}},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address.\"},\"init(uint256)\":{\"params\":{\"_pid\":\"The Convex pool id for which to use the proxy\"}},\"isPaused()\":{\"returns\":{\"isPaused_\":\"True if paused\"}},\"name()\":{\"details\":\"Overrides the constructor-set storage for use in proxies\",\"returns\":{\"name_\":\"The token name\"}},\"symbol()\":{\"details\":\"Overrides the constructor-set storage for use in proxies\",\"returns\":{\"symbol_\":\"The token symbol\"}},\"togglePause(bool)\":{\"params\":{\"_isPaused\":\"True if next state is paused, false if unpaused\"}},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `recipient` cannot be the zero address. - the caller must have a balance of at least `amount`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. Requirements: - `sender` and `recipient` cannot be the zero address. - `sender` must have a balance of at least `amount`. - the caller must have allowance for ``sender``'s tokens of at least `amount`.\"},\"withdraw(uint256,bool)\":{\"details\":\"Setting `_claimRewards` to true will save gas over separate calls to withdraw + claim\",\"params\":{\"_amount\":\"The amount of tokens to withdraw\",\"_claimRewards\":\"True if accrued rewards should be claimed\"},\"returns\":{\"claimedAmounts_\":\"The reward token amounts claimed\",\"rewardTokens_\":\"The reward tokens\"}},\"withdrawTo(address,uint256,bool)\":{\"params\":{\"_amount\":\"The amount of tokens to withdraw\",\"_to\":\"The account to receive tokens\"}},\"withdrawToOnBehalf(address,address,uint256,bool)\":{\"details\":\"The caller must have an adequate ERC20.allowance() for _onBehalf\",\"params\":{\"_amount\":\"The amount of tokens to withdraw\",\"_onBehalf\":\"The account on behalf to withdraw\",\"_to\":\"The account to receive tokens\"}}},\"title\":\"ConvexCurveLpStakingWrapperLib Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"addExtraRewards()\":{\"notice\":\"Adds rewards tokens that have not yet been added to the wrapper\"},\"claimRewardsFor(address)\":{\"notice\":\"Claims all rewards for a given account\"},\"decimals()\":{\"notice\":\"Gets the token decimals\"},\"deposit(uint256)\":{\"notice\":\"Deposits tokens to be staked, minting staking token to sender\"},\"depositTo(address,uint256)\":{\"notice\":\"Deposits tokens to be staked, minting staking token to a specified account\"},\"getConvexPool()\":{\"notice\":\"Gets the associated Convex reward pool address\"},\"getConvexPoolId()\":{\"notice\":\"Gets the associated Convex reward pool id (pid)\"},\"getCurveLpToken()\":{\"notice\":\"Gets the associated Curve LP token\"},\"getRewardTokenAtIndex(uint256)\":{\"notice\":\"Gets the reward token at a particular index\"},\"getRewardTokenCount()\":{\"notice\":\"Gets the count of reward tokens being harvested\"},\"getRewardTokens()\":{\"notice\":\"Gets all reward tokens being harvested\"},\"getTotalHarvestDataForRewardToken(address)\":{\"notice\":\"Gets the TotalHarvestData for a specified reward token\"},\"getUserHarvestDataForRewardToken(address,address)\":{\"notice\":\"Gets the UserHarvestData for a specified account and reward token\"},\"init(uint256)\":{\"notice\":\"Initializes the proxy\"},\"isPaused()\":{\"notice\":\"Checks if deposits and new reward harvesting are paused\"},\"name()\":{\"notice\":\"Gets the token name\"},\"setApprovals()\":{\"notice\":\"Sets necessary ERC20 approvals, as-needed\"},\"symbol()\":{\"notice\":\"Gets the token symbol\"},\"togglePause(bool)\":{\"notice\":\"Toggles pause for deposit and harvesting new rewards\"},\"withdraw(uint256,bool)\":{\"notice\":\"Withdraws staked tokens, returning tokens to the sender, and optionally claiming rewards\"},\"withdrawTo(address,uint256,bool)\":{\"notice\":\"Withdraws staked tokens, returning tokens to a specified account, and optionally claims rewards to the staked token holder\"},\"withdrawToOnBehalf(address,address,uint256,bool)\":{\"notice\":\"Withdraws staked tokens on behalf of AccountA, returning tokens to a specified AccountB, and optionally claims rewards to the staked token holder\"}},\"notice\":\"A library contract for ConvexCurveLpStakingWrapper instances\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/infrastructure/staking-wrappers/convex-curve-lp/ConvexCurveLpStakingWrapperLib.sol\":\"ConvexCurveLpStakingWrapperLib\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/infrastructure/staking-wrappers/IStakingWrapper.sol\":{\"keccak256\":\"0xaeb9aba4e74eb3243a85090fded7b157969cf83e1f4159b1da2f662a3e7b15be\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://92346911c044a54808d2d425fe58c6dc9594dfafb8d83496f6599e3bc23803d0\",\"dweb:/ipfs/QmYWf7yx9ZfUnP81K1hjvApthqNhpXzUhGuFBm4gX1aDRB\"]},\"contracts/release/infrastructure/staking-wrappers/StakingWrapperBase.sol\":{\"keccak256\":\"0x3e28050fbe625f1469701b231772ce321e719ddbce4f84b6caa1d8d634a4234a\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f0871b7d6b595e444e598f68751225a596d969267c289a465462fdeb67530fc8\",\"dweb:/ipfs/QmX2z5QGP3kpKx9ruGnZHYH5bDCD9sjRGTRhg9SRiowctg\"]},\"contracts/release/infrastructure/staking-wrappers/StakingWrapperLibBase.sol\":{\"keccak256\":\"0x94d4057419743d9354d77774e1e5279a5ed2fc70012ef28115357f9921bfb5be\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d1e461f460a0339cada6cdfb0107bde47d236b336fec0ed470235ce7928666bb\",\"dweb:/ipfs/QmcMzSrcWTKyqgBAACVCidd2dpMfbeUtcQYu4D1ASiyFzk\"]},\"contracts/release/infrastructure/staking-wrappers/convex-curve-lp/ConvexCurveLpStakingWrapperLib.sol\":{\"keccak256\":\"0x1ec08f37e592766bb7f0d62edb04261bcd3c26154bb5dc437465f836fabf3427\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://0265250d2255bcb61fdb1842e7dbb26e4d56a11a1e3fd87f0790644277bb7259\",\"dweb:/ipfs/Qmb5kVMTr86qYkJu8o1YNwnCrbUJMhmhnFHMrdx2vZhdED\"]},\"contracts/release/interfaces/IConvexBaseRewardPool.sol\":{\"keccak256\":\"0x7c82b546c3c339c6f602191bc9062d6887af7db438800359c0547aa6bb025acc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://13a488b1d715000d1ed9415917a8f9c347ec91b04770b74746facacd88e2e105\",\"dweb:/ipfs/QmaHJKxagREc7Mbq8SkSbWgzwk8bNSFTwojAD5hNemwy1Y\"]},\"contracts/release/interfaces/IConvexBooster.sol\":{\"keccak256\":\"0x6e7561d2d7e71a0c89a6e62445de5c54c2e50d17877b23d8b5af10721dd90ed5\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://772cf7f429a04a557d3b0ed36a73390da64fd93a9df253e0c7e9ebeeecd063ea\",\"dweb:/ipfs/QmXjfnXmtGV67wypxof8nWVTkXAEZqBpFjYePfr17K8rAL\"]},\"contracts/release/interfaces/IConvexVirtualBalanceRewardPool.sol\":{\"keccak256\":\"0x45a7d783e4088cf1b5dcb548da2fce6b0caa9c572c43af9f39aff46498fa101c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://82ed678230fe900991bd81a6c31dae01d120fe5521f96d1cc36c40334385f907\",\"dweb:/ipfs/QmYre4JtyoXmetrYUwFMrPKwBY1NEm2XYdgMiAR7Z7P2jW\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]},\"node_modules/@openzeppelin/contracts/utils/ReentrancyGuard.sol\":{\"keccak256\":\"0x8bbbc2f5c10065ee272592ae0a7a6ceb23de2fbd81564ee0bb015ecf404d5f61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b95e56c1640d0ef789fc5c16269e141e992f6c8ac97cc6d377bd3825e9cab182\",\"dweb:/ipfs/QmVzaxJZY51EhagrcNnkxoU6Uq17RhATe7aHvtkC6wUkgK\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_owner", "type": "address" }, { "internalType": "address", "name": "_convexBooster", "type": "address" }, { "internalType": "address", "name": "_crvToken", "type": "address" }, { "internalType": "address", "name": "_cvxToken", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address", "indexed": true }, { "internalType": "address", "name": "spender", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "value", "type": "uint256", "indexed": false } ], "type": "event", "name": "Approval", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address", "indexed": true }, { "internalType": "address", "name": "to", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "amount", "type": "uint256", "indexed": false } ], "type": "event", "name": "Deposited", "anonymous": false }, { "inputs": [ { "internalType": "bool", "name": "isPaused", "type": "bool", "indexed": false } ], "type": "event", "name": "PauseToggled", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "token", "type": "address", "indexed": false } ], "type": "event", "name": "RewardTokenAdded", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "caller", "type": "address", "indexed": false }, { "internalType": "address", "name": "user", "type": "address", "indexed": true }, { "internalType": "address[]", "name": "rewardTokens", "type": "address[]", "indexed": false }, { "internalType": "uint256[]", "name": "claimedAmounts", "type": "uint256[]", "indexed": false } ], "type": "event", "name": "RewardsClaimed", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "name", "type": "string", "indexed": false } ], "type": "event", "name": "TokenNameSet", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "symbol", "type": "string", "indexed": false } ], "type": "event", "name": "TokenSymbolSet", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "rewardToken", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "integral", "type": "uint256", "indexed": false } ], "type": "event", "name": "TotalHarvestIntegralUpdated", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "rewardToken", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "lastCheckpointBalance", "type": "uint256", "indexed": false } ], "type": "event", "name": "TotalHarvestLastCheckpointBalanceUpdated", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address", "indexed": true }, { "internalType": "address", "name": "to", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "value", "type": "uint256", "indexed": false } ], "type": "event", "name": "Transfer", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "user", "type": "address", "indexed": true }, { "internalType": "address", "name": "rewardToken", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "integral", "type": "uint256", "indexed": false }, { "internalType": "uint256", "name": "claimableReward", "type": "uint256", "indexed": false } ], "type": "event", "name": "UserHarvestUpdated", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "caller", "type": "address", "indexed": true }, { "internalType": "address", "name": "from", "type": "address", "indexed": true }, { "internalType": "address", "name": "to", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "amount", "type": "uint256", "indexed": false } ], "type": "event", "name": "Withdrawn", "anonymous": false }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "addExtraRewards" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "_for", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "claimRewardsFor", "outputs": [ { "internalType": "address[]", "name": "rewardTokens_", "type": "address[]" }, { "internalType": "uint256[]", "name": "claimedAmounts_", "type": "uint256[]" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "decimals_", "type": "uint8" } ] }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "subtractedValue", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "decreaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "deposit" }, { "inputs": [ { "internalType": "address", "name": "_to", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "depositTo" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getConvexPool", "outputs": [ { "internalType": "address", "name": "convexPool_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getConvexPoolId", "outputs": [ { "internalType": "uint256", "name": "convexPoolId_", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getCurveLpToken", "outputs": [ { "internalType": "address", "name": "curveLPToken_", "type": "address" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_index", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "getRewardTokenAtIndex", "outputs": [ { "internalType": "address", "name": "rewardToken_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getRewardTokenCount", "outputs": [ { "internalType": "uint256", "name": "count_", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getRewardTokens", "outputs": [ { "internalType": "address[]", "name": "rewardTokens_", "type": "address[]" } ] }, { "inputs": [ { "internalType": "address", "name": "_rewardToken", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getTotalHarvestDataForRewardToken", "outputs": [ { "internalType": "struct IStakingWrapper.TotalHarvestData", "name": "totalHarvestData_", "type": "tuple", "components": [ { "internalType": "uint128", "name": "integral", "type": "uint128" }, { "internalType": "uint128", "name": "lastCheckpointBalance", "type": "uint128" } ] } ] }, { "inputs": [ { "internalType": "address", "name": "_user", "type": "address" }, { "internalType": "address", "name": "_rewardToken", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getUserHarvestDataForRewardToken", "outputs": [ { "internalType": "struct IStakingWrapper.UserHarvestData", "name": "userHarvestData_", "type": "tuple", "components": [ { "internalType": "uint128", "name": "integral", "type": "uint128" }, { "internalType": "uint128", "name": "claimableReward", "type": "uint128" } ] } ] }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "addedValue", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "increaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_pid", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "init" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "isPaused", "outputs": [ { "internalType": "bool", "name": "isPaused_", "type": "bool" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "name", "outputs": [ { "internalType": "string", "name": "name_", "type": "string" } ] }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "setApprovals" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "symbol", "outputs": [ { "internalType": "string", "name": "symbol_", "type": "string" } ] }, { "inputs": [ { "internalType": "bool", "name": "_isPaused", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function", "name": "togglePause" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_amount", "type": "uint256" }, { "internalType": "bool", "name": "_claimRewards", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function", "name": "withdraw", "outputs": [ { "internalType": "address[]", "name": "rewardTokens_", "type": "address[]" }, { "internalType": "uint256[]", "name": "claimedAmounts_", "type": "uint256[]" } ] }, { "inputs": [ { "internalType": "address", "name": "_to", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" }, { "internalType": "bool", "name": "_claimRewardsToHolder", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function", "name": "withdrawTo" }, { "inputs": [ { "internalType": "address", "name": "_onBehalf", "type": "address" }, { "internalType": "address", "name": "_to", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" }, { "internalType": "bool", "name": "_claimRewardsToHolder", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function", "name": "withdrawToOnBehalf" } ], "devdoc": { "kind": "dev", "methods": { "addExtraRewards()": { "details": "Anybody can call, in case more pool tokens are added. Is called prior to every new harvest." }, "allowance(address,address)": { "details": "See {IERC20-allowance}." }, "approve(address,uint256)": { "details": "See {IERC20-approve}. Requirements: - `spender` cannot be the zero address." }, "balanceOf(address)": { "details": "See {IERC20-balanceOf}." }, "claimRewardsFor(address)": { "details": "Can be called off-chain to simulate the total harvestable rewards for a particular user", "params": { "_for": "The account for which to claim rewards" }, "returns": { "claimedAmounts_": "The reward token amounts claimed", "rewardTokens_": "The reward tokens" } }, "decimals()": { "details": "Implementing contracts should override to set different decimals", "returns": { "decimals_": "The token decimals" } }, "decreaseAllowance(address,uint256)": { "details": "Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`." }, "deposit(uint256)": { "params": { "_amount": "The amount of tokens to deposit" } }, "depositTo(address,uint256)": { "params": { "_amount": "The amount of tokens to deposit", "_to": "The account to receive staking tokens" } }, "getConvexPool()": { "returns": { "convexPool_": "The reward pool" } }, "getConvexPoolId()": { "returns": { "convexPoolId_": "The pid" } }, "getCurveLpToken()": { "returns": { "curveLPToken_": "The Curve LP token" } }, "getRewardTokenAtIndex(uint256)": { "returns": { "rewardToken_": "The reward token address" } }, "getRewardTokenCount()": { "returns": { "count_": "The count" } }, "getRewardTokens()": { "returns": { "rewardTokens_": "The reward tokens" } }, "getTotalHarvestDataForRewardToken(address)": { "params": { "_rewardToken": "The reward token" }, "returns": { "totalHarvestData_": "The TotalHarvestData" } }, "getUserHarvestDataForRewardToken(address,address)": { "params": { "_rewardToken": "The reward token", "_user": "The account" }, "returns": { "userHarvestData_": "The UserHarvestData" } }, "increaseAllowance(address,uint256)": { "details": "Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address." }, "init(uint256)": { "params": { "_pid": "The Convex pool id for which to use the proxy" } }, "isPaused()": { "returns": { "isPaused_": "True if paused" } }, "name()": { "details": "Overrides the constructor-set storage for use in proxies", "returns": { "name_": "The token name" } }, "symbol()": { "details": "Overrides the constructor-set storage for use in proxies", "returns": { "symbol_": "The token symbol" } }, "togglePause(bool)": { "params": { "_isPaused": "True if next state is paused, false if unpaused" } }, "totalSupply()": { "details": "See {IERC20-totalSupply}." }, "transfer(address,uint256)": { "details": "See {IERC20-transfer}. Requirements: - `recipient` cannot be the zero address. - the caller must have a balance of at least `amount`." }, "transferFrom(address,address,uint256)": { "details": "See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. Requirements: - `sender` and `recipient` cannot be the zero address. - `sender` must have a balance of at least `amount`. - the caller must have allowance for ``sender``'s tokens of at least `amount`." }, "withdraw(uint256,bool)": { "details": "Setting `_claimRewards` to true will save gas over separate calls to withdraw + claim", "params": { "_amount": "The amount of tokens to withdraw", "_claimRewards": "True if accrued rewards should be claimed" }, "returns": { "claimedAmounts_": "The reward token amounts claimed", "rewardTokens_": "The reward tokens" } }, "withdrawTo(address,uint256,bool)": { "params": { "_amount": "The amount of tokens to withdraw", "_to": "The account to receive tokens" } }, "withdrawToOnBehalf(address,address,uint256,bool)": { "details": "The caller must have an adequate ERC20.allowance() for _onBehalf", "params": { "_amount": "The amount of tokens to withdraw", "_onBehalf": "The account on behalf to withdraw", "_to": "The account to receive tokens" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "addExtraRewards()": { "notice": "Adds rewards tokens that have not yet been added to the wrapper" }, "claimRewardsFor(address)": { "notice": "Claims all rewards for a given account" }, "decimals()": { "notice": "Gets the token decimals" }, "deposit(uint256)": { "notice": "Deposits tokens to be staked, minting staking token to sender" }, "depositTo(address,uint256)": { "notice": "Deposits tokens to be staked, minting staking token to a specified account" }, "getConvexPool()": { "notice": "Gets the associated Convex reward pool address" }, "getConvexPoolId()": { "notice": "Gets the associated Convex reward pool id (pid)" }, "getCurveLpToken()": { "notice": "Gets the associated Curve LP token" }, "getRewardTokenAtIndex(uint256)": { "notice": "Gets the reward token at a particular index" }, "getRewardTokenCount()": { "notice": "Gets the count of reward tokens being harvested" }, "getRewardTokens()": { "notice": "Gets all reward tokens being harvested" }, "getTotalHarvestDataForRewardToken(address)": { "notice": "Gets the TotalHarvestData for a specified reward token" }, "getUserHarvestDataForRewardToken(address,address)": { "notice": "Gets the UserHarvestData for a specified account and reward token" }, "init(uint256)": { "notice": "Initializes the proxy" }, "isPaused()": { "notice": "Checks if deposits and new reward harvesting are paused" }, "name()": { "notice": "Gets the token name" }, "setApprovals()": { "notice": "Sets necessary ERC20 approvals, as-needed" }, "symbol()": { "notice": "Gets the token symbol" }, "togglePause(bool)": { "notice": "Toggles pause for deposit and harvesting new rewards" }, "withdraw(uint256,bool)": { "notice": "Withdraws staked tokens, returning tokens to the sender, and optionally claiming rewards" }, "withdrawTo(address,uint256,bool)": { "notice": "Withdraws staked tokens, returning tokens to a specified account, and optionally claims rewards to the staked token holder" }, "withdrawToOnBehalf(address,address,uint256,bool)": { "notice": "Withdraws staked tokens on behalf of AccountA, returning tokens to a specified AccountB, and optionally claims rewards to the staked token holder" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/infrastructure/staking-wrappers/convex-curve-lp/ConvexCurveLpStakingWrapperLib.sol": "ConvexCurveLpStakingWrapperLib" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/infrastructure/staking-wrappers/IStakingWrapper.sol": { "keccak256": "0xaeb9aba4e74eb3243a85090fded7b157969cf83e1f4159b1da2f662a3e7b15be", "urls": [ "bzz-raw://92346911c044a54808d2d425fe58c6dc9594dfafb8d83496f6599e3bc23803d0", "dweb:/ipfs/QmYWf7yx9ZfUnP81K1hjvApthqNhpXzUhGuFBm4gX1aDRB" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/staking-wrappers/StakingWrapperBase.sol": { "keccak256": "0x3e28050fbe625f1469701b231772ce321e719ddbce4f84b6caa1d8d634a4234a", "urls": [ "bzz-raw://f0871b7d6b595e444e598f68751225a596d969267c289a465462fdeb67530fc8", "dweb:/ipfs/QmX2z5QGP3kpKx9ruGnZHYH5bDCD9sjRGTRhg9SRiowctg" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/staking-wrappers/StakingWrapperLibBase.sol": { "keccak256": "0x94d4057419743d9354d77774e1e5279a5ed2fc70012ef28115357f9921bfb5be", "urls": [ "bzz-raw://d1e461f460a0339cada6cdfb0107bde47d236b336fec0ed470235ce7928666bb", "dweb:/ipfs/QmcMzSrcWTKyqgBAACVCidd2dpMfbeUtcQYu4D1ASiyFzk" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/staking-wrappers/convex-curve-lp/ConvexCurveLpStakingWrapperLib.sol": { "keccak256": "0x1ec08f37e592766bb7f0d62edb04261bcd3c26154bb5dc437465f836fabf3427", "urls": [ "bzz-raw://0265250d2255bcb61fdb1842e7dbb26e4d56a11a1e3fd87f0790644277bb7259", "dweb:/ipfs/Qmb5kVMTr86qYkJu8o1YNwnCrbUJMhmhnFHMrdx2vZhdED" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IConvexBaseRewardPool.sol": { "keccak256": "0x7c82b546c3c339c6f602191bc9062d6887af7db438800359c0547aa6bb025acc", "urls": [ "bzz-raw://13a488b1d715000d1ed9415917a8f9c347ec91b04770b74746facacd88e2e105", "dweb:/ipfs/QmaHJKxagREc7Mbq8SkSbWgzwk8bNSFTwojAD5hNemwy1Y" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IConvexBooster.sol": { "keccak256": "0x6e7561d2d7e71a0c89a6e62445de5c54c2e50d17877b23d8b5af10721dd90ed5", "urls": [ "bzz-raw://772cf7f429a04a557d3b0ed36a73390da64fd93a9df253e0c7e9ebeeecd063ea", "dweb:/ipfs/QmXjfnXmtGV67wypxof8nWVTkXAEZqBpFjYePfr17K8rAL" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IConvexVirtualBalanceRewardPool.sol": { "keccak256": "0x45a7d783e4088cf1b5dcb548da2fce6b0caa9c572c43af9f39aff46498fa101c", "urls": [ "bzz-raw://82ed678230fe900991bd81a6c31dae01d120fe5521f96d1cc36c40334385f907", "dweb:/ipfs/QmYre4JtyoXmetrYUwFMrPKwBY1NEm2XYdgMiAR7Z7P2jW" ], "license": "GPL-3.0" }, "contracts/release/utils/AddressArrayLib.sol": { "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", "urls": [ "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", "urls": [ "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Address.sol": { "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", "urls": [ "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/ReentrancyGuard.sol": { "keccak256": "0x8bbbc2f5c10065ee272592ae0a7a6ceb23de2fbd81564ee0bb015ecf404d5f61", "urls": [ "bzz-raw://b95e56c1640d0ef789fc5c16269e141e992f6c8ac97cc6d377bd3825e9cab182", "dweb:/ipfs/QmVzaxJZY51EhagrcNnkxoU6Uq17RhATe7aHvtkC6wUkgK" ], "license": "MIT" } }, "version": 1 }, "id": 263 } diff --git a/eth_defi/abi/enzyme/ConvexCurveLpStakingWrapperPriceFeed.json b/eth_defi/abi/enzyme/ConvexCurveLpStakingWrapperPriceFeed.json index 4e27b7de..2daa39b5 100644 --- a/eth_defi/abi/enzyme/ConvexCurveLpStakingWrapperPriceFeed.json +++ b/eth_defi/abi/enzyme/ConvexCurveLpStakingWrapperPriceFeed.json @@ -1,415 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_wrapperFactory", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_derivative", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_derivativeAmount", - "type": "uint256" - } - ], - "name": "calcUnderlyingValues", - "outputs": [ - { - "internalType": "address[]", - "name": "underlyings_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "underlyingAmounts_", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_asset", - "type": "address" - } - ], - "name": "isSupportedAsset", - "outputs": [ - { - "internalType": "bool", - "name": "isSupported_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x60a060405234801561001057600080fd5b5060405161038b38038061038b8339818101604052602081101561003357600080fd5b5051606081901b6001600160601b0319166080526001600160a01b031661031f61006c60003980610161528061026a525061031f6000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063727212f61461003b5780639be918e614610100575b600080fd5b6100676004803603604081101561005157600080fd5b506001600160a01b03813516906020013561013a565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156100ab578181015183820152602001610093565b50505050905001838103825284818151815260200191508051906020019060200280838360005b838110156100ea5781810151838201526020016100d2565b5050505090500194505050505060405180910390f35b6101266004803603602081101561011657600080fd5b50356001600160a01b031661025c565b604080519115158252519081900360200190f35b604080516001808252818301909252606091829190602080830190803683370190505091507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663456b4a37856040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156101cc57600080fd5b505afa1580156101e0573d6000803e3d6000fd5b505050506040513d60208110156101f657600080fd5b50518251839060009061020557fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509050828160008151811061024957fe5b6020026020010181815250509250929050565b6000806001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663456b4a37846040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156102d557600080fd5b505afa1580156102e9573d6000803e3d6000fd5b505050506040513d60208110156102ff57600080fd5b50516001600160a01b031614159291505056fea164736f6c634300060c000a", - "sourceMap": "594:1514:241:-:0;;;745:130;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;745:130:241;799:69;;;;-1:-1:-1;;;;;;799:69:241;;;-1:-1:-1;;;;;594:1514:241;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c8063727212f61461003b5780639be918e614610100575b600080fd5b6100676004803603604081101561005157600080fd5b506001600160a01b03813516906020013561013a565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156100ab578181015183820152602001610093565b50505050905001838103825284818151815260200191508051906020019060200280838360005b838110156100ea5781810151838201526020016100d2565b5050505090500194505050505060405180910390f35b6101266004803603602081101561011657600080fd5b50356001600160a01b031661025c565b604080519115158252519081900360200190f35b604080516001808252818301909252606091829190602080830190803683370190505091507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663456b4a37856040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156101cc57600080fd5b505afa1580156101e0573d6000803e3d6000fd5b505050506040513d60208110156101f657600080fd5b50518251839060009061020557fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509050828160008151811061024957fe5b6020026020010181815250509250929050565b6000806001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663456b4a37846040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156102d557600080fd5b505afa1580156102e9573d6000803e3d6000fd5b505050506040513d60208110156102ff57600080fd5b50516001600160a01b031614159291505056fea164736f6c634300060c000a", - "sourceMap": "594:1514:241:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1273:482;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1273:482:241;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1928:178;;;;;;;;;;;;;;;;-1:-1:-1;1928:178:241;-1:-1:-1;;;;;1928:178:241;;:::i;:::-;;;;;;;;;;;;;;;;;;1273:482;1499:16;;;1513:1;1499:16;;;;;;;;;1402:29;;;;1499:16;;;;;;;;;;;;-1:-1:-1;1499:16:241;1484:31;;1543:15;-1:-1:-1;;;;;1543:41:241;;1585:11;1543:54;;;;;;;;;;;;;-1:-1:-1;;;;;1543:54:241;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1543:54:241;1525:15;;:12;;1538:1;;1525:15;;;;-1:-1:-1;;;;;1525:72:241;;;;:15;;;;;;;;;;:72;1629:16;;;1643:1;1629:16;;;;;;;;;;;;;;1525:15;1629:16;;;;;-1:-1:-1;1629:16:241;1608:37;;1679:17;1655:18;1674:1;1655:21;;;;;;;;;;;;;:41;;;;;1273:482;;;;;:::o;1928:178::-;2000:17;2097:1;-1:-1:-1;;;;;2036:63:241;:15;-1:-1:-1;;;;;2036:41:241;;2078:6;2036:49;;;;;;;;;;;;;-1:-1:-1;;;;;2036:49:241;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2036:49:241;-1:-1:-1;;;;;2036:63:241;;;;1928:178;-1:-1:-1;;1928:178:241:o", - "linkReferences": {}, - "immutableReferences": { - "63662": [ - { - "start": 353, - "length": 32 - }, - { - "start": 618, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "calcUnderlyingValues(address,uint256)": "727212f6", - "isSupportedAsset(address)": "9be918e6" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_wrapperFactory\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_derivative\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_derivativeAmount\",\"type\":\"uint256\"}],\"name\":\"calcUnderlyingValues\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"underlyings_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"underlyingAmounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"}],\"name\":\"isSupportedAsset\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isSupported_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"calcUnderlyingValues(address,uint256)\":{\"params\":{\"_derivative\":\"The derivative to convert\",\"_derivativeAmount\":\"The amount of the derivative to convert\"},\"returns\":{\"underlyingAmounts_\":\"The amount of each underlying asset for the equivalent derivative amount\",\"underlyings_\":\"The underlying assets for the _derivative\"}},\"isSupportedAsset(address)\":{\"params\":{\"_asset\":\"The asset to check\"},\"returns\":{\"isSupported_\":\"True if the asset is supported\"}}},\"title\":\"ConvexCurveLpStakingWrapperPriceFeed Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"calcUnderlyingValues(address,uint256)\":{\"notice\":\"Converts a given amount of a derivative to its underlying asset values\"},\"isSupportedAsset(address)\":{\"notice\":\"Checks if an asset is supported by the price feed\"}},\"notice\":\"Price source oracle for wrapped Convex-staked Curve LP tokens\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/infrastructure/price-feeds/derivatives/feeds/ConvexCurveLpStakingWrapperPriceFeed.sol\":\"ConvexCurveLpStakingWrapperPriceFeed\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol\":{\"keccak256\":\"0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e\",\"dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK\"]},\"contracts/release/infrastructure/price-feeds/derivatives/feeds/ConvexCurveLpStakingWrapperPriceFeed.sol\":{\"keccak256\":\"0x142c22a9f9725c349746661a1fd07ce5a648e9228148b78fe0bffa2036393f7b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8be486f53a8cb30077078c3bf5f5d3359156984c9d99e07643b9180359b3da6a\",\"dweb:/ipfs/Qmcf2e7qWLebUwEUS4BDiSpX24xyujNFhTU36rojC8T5cx\"]},\"contracts/release/infrastructure/staking-wrappers/IStakingWrapper.sol\":{\"keccak256\":\"0xaeb9aba4e74eb3243a85090fded7b157969cf83e1f4159b1da2f662a3e7b15be\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://92346911c044a54808d2d425fe58c6dc9594dfafb8d83496f6599e3bc23803d0\",\"dweb:/ipfs/QmYWf7yx9ZfUnP81K1hjvApthqNhpXzUhGuFBm4gX1aDRB\"]},\"contracts/release/infrastructure/staking-wrappers/StakingWrapperBase.sol\":{\"keccak256\":\"0x3e28050fbe625f1469701b231772ce321e719ddbce4f84b6caa1d8d634a4234a\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f0871b7d6b595e444e598f68751225a596d969267c289a465462fdeb67530fc8\",\"dweb:/ipfs/QmX2z5QGP3kpKx9ruGnZHYH5bDCD9sjRGTRhg9SRiowctg\"]},\"contracts/release/infrastructure/staking-wrappers/StakingWrapperLibBase.sol\":{\"keccak256\":\"0x94d4057419743d9354d77774e1e5279a5ed2fc70012ef28115357f9921bfb5be\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d1e461f460a0339cada6cdfb0107bde47d236b336fec0ed470235ce7928666bb\",\"dweb:/ipfs/QmcMzSrcWTKyqgBAACVCidd2dpMfbeUtcQYu4D1ASiyFzk\"]},\"contracts/release/infrastructure/staking-wrappers/convex-curve-lp/ConvexCurveLpStakingWrapperFactory.sol\":{\"keccak256\":\"0x4f7394dea52858ea7734ed8586377d1ebef39e1ca6aa5ed684fea7a7fe82b16a\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c7a5181757151d6210193dfa97b3076edcfe3017b4fefbfbbe3ab848878d5996\",\"dweb:/ipfs/Qme9tTYoAhMkHVLbwKQoSdVJTec1p9zAPwzSe7RZFvnkYu\"]},\"contracts/release/infrastructure/staking-wrappers/convex-curve-lp/ConvexCurveLpStakingWrapperLib.sol\":{\"keccak256\":\"0x1ec08f37e592766bb7f0d62edb04261bcd3c26154bb5dc437465f836fabf3427\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://0265250d2255bcb61fdb1842e7dbb26e4d56a11a1e3fd87f0790644277bb7259\",\"dweb:/ipfs/Qmb5kVMTr86qYkJu8o1YNwnCrbUJMhmhnFHMrdx2vZhdED\"]},\"contracts/release/interfaces/IConvexBaseRewardPool.sol\":{\"keccak256\":\"0x7c82b546c3c339c6f602191bc9062d6887af7db438800359c0547aa6bb025acc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://13a488b1d715000d1ed9415917a8f9c347ec91b04770b74746facacd88e2e105\",\"dweb:/ipfs/QmaHJKxagREc7Mbq8SkSbWgzwk8bNSFTwojAD5hNemwy1Y\"]},\"contracts/release/interfaces/IConvexBooster.sol\":{\"keccak256\":\"0x6e7561d2d7e71a0c89a6e62445de5c54c2e50d17877b23d8b5af10721dd90ed5\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://772cf7f429a04a557d3b0ed36a73390da64fd93a9df253e0c7e9ebeeecd063ea\",\"dweb:/ipfs/QmXjfnXmtGV67wypxof8nWVTkXAEZqBpFjYePfr17K8rAL\"]},\"contracts/release/interfaces/IConvexVirtualBalanceRewardPool.sol\":{\"keccak256\":\"0x45a7d783e4088cf1b5dcb548da2fce6b0caa9c572c43af9f39aff46498fa101c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://82ed678230fe900991bd81a6c31dae01d120fe5521f96d1cc36c40334385f907\",\"dweb:/ipfs/QmYre4JtyoXmetrYUwFMrPKwBY1NEm2XYdgMiAR7Z7P2jW\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/beacon-proxy/BeaconProxy.sol\":{\"keccak256\":\"0x7a0a6c511a30434a9b329226b0cf1a05ec426ddbfc4e1d9b9083978ee4cf6d53\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://692d3a116ecf306f20a3d29dc70846099ce46ba281524a502336325a6cd05667\",\"dweb:/ipfs/QmTGxmDWMcMtGEsPLzVB8eyK3WDqaCwoChuc24RXuSzwVb\"]},\"contracts/release/utils/beacon-proxy/BeaconProxyFactory.sol\":{\"keccak256\":\"0xd35fa5134e3a8694ed1dbbc8dcd4b4d5b459608c23097a95984e1b98af3e64d9\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1c008f83ac64b316479406cbf0287593a810d453825a2f669b5810c51429f9fc\",\"dweb:/ipfs/QmNtdtcWGZFpnb3LsshwV5BiM5H1Vz8SGpoqMchUyfuhQx\"]},\"contracts/release/utils/beacon-proxy/IBeacon.sol\":{\"keccak256\":\"0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39\",\"dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V\"]},\"contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol\":{\"keccak256\":\"0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be\",\"dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]},\"node_modules/@openzeppelin/contracts/utils/ReentrancyGuard.sol\":{\"keccak256\":\"0x8bbbc2f5c10065ee272592ae0a7a6ceb23de2fbd81564ee0bb015ecf404d5f61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b95e56c1640d0ef789fc5c16269e141e992f6c8ac97cc6d377bd3825e9cab182\",\"dweb:/ipfs/QmVzaxJZY51EhagrcNnkxoU6Uq17RhATe7aHvtkC6wUkgK\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_wrapperFactory", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_derivative", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_derivativeAmount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "calcUnderlyingValues", - "outputs": [ - { - "internalType": "address[]", - "name": "underlyings_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "underlyingAmounts_", - "type": "uint256[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_asset", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "isSupportedAsset", - "outputs": [ - { - "internalType": "bool", - "name": "isSupported_", - "type": "bool" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "calcUnderlyingValues(address,uint256)": { - "params": { - "_derivative": "The derivative to convert", - "_derivativeAmount": "The amount of the derivative to convert" - }, - "returns": { - "underlyingAmounts_": "The amount of each underlying asset for the equivalent derivative amount", - "underlyings_": "The underlying assets for the _derivative" - } - }, - "isSupportedAsset(address)": { - "params": { - "_asset": "The asset to check" - }, - "returns": { - "isSupported_": "True if the asset is supported" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "calcUnderlyingValues(address,uint256)": { - "notice": "Converts a given amount of a derivative to its underlying asset values" - }, - "isSupportedAsset(address)": { - "notice": "Checks if an asset is supported by the price feed" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/infrastructure/price-feeds/derivatives/feeds/ConvexCurveLpStakingWrapperPriceFeed.sol": "ConvexCurveLpStakingWrapperPriceFeed" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/dispatcher/IDispatcher.sol": { - "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", - "urls": [ - "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", - "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol": { - "keccak256": "0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332", - "urls": [ - "bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e", - "dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/price-feeds/derivatives/feeds/ConvexCurveLpStakingWrapperPriceFeed.sol": { - "keccak256": "0x142c22a9f9725c349746661a1fd07ce5a648e9228148b78fe0bffa2036393f7b", - "urls": [ - "bzz-raw://8be486f53a8cb30077078c3bf5f5d3359156984c9d99e07643b9180359b3da6a", - "dweb:/ipfs/Qmcf2e7qWLebUwEUS4BDiSpX24xyujNFhTU36rojC8T5cx" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/staking-wrappers/IStakingWrapper.sol": { - "keccak256": "0xaeb9aba4e74eb3243a85090fded7b157969cf83e1f4159b1da2f662a3e7b15be", - "urls": [ - "bzz-raw://92346911c044a54808d2d425fe58c6dc9594dfafb8d83496f6599e3bc23803d0", - "dweb:/ipfs/QmYWf7yx9ZfUnP81K1hjvApthqNhpXzUhGuFBm4gX1aDRB" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/staking-wrappers/StakingWrapperBase.sol": { - "keccak256": "0x3e28050fbe625f1469701b231772ce321e719ddbce4f84b6caa1d8d634a4234a", - "urls": [ - "bzz-raw://f0871b7d6b595e444e598f68751225a596d969267c289a465462fdeb67530fc8", - "dweb:/ipfs/QmX2z5QGP3kpKx9ruGnZHYH5bDCD9sjRGTRhg9SRiowctg" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/staking-wrappers/StakingWrapperLibBase.sol": { - "keccak256": "0x94d4057419743d9354d77774e1e5279a5ed2fc70012ef28115357f9921bfb5be", - "urls": [ - "bzz-raw://d1e461f460a0339cada6cdfb0107bde47d236b336fec0ed470235ce7928666bb", - "dweb:/ipfs/QmcMzSrcWTKyqgBAACVCidd2dpMfbeUtcQYu4D1ASiyFzk" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/staking-wrappers/convex-curve-lp/ConvexCurveLpStakingWrapperFactory.sol": { - "keccak256": "0x4f7394dea52858ea7734ed8586377d1ebef39e1ca6aa5ed684fea7a7fe82b16a", - "urls": [ - "bzz-raw://c7a5181757151d6210193dfa97b3076edcfe3017b4fefbfbbe3ab848878d5996", - "dweb:/ipfs/Qme9tTYoAhMkHVLbwKQoSdVJTec1p9zAPwzSe7RZFvnkYu" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/staking-wrappers/convex-curve-lp/ConvexCurveLpStakingWrapperLib.sol": { - "keccak256": "0x1ec08f37e592766bb7f0d62edb04261bcd3c26154bb5dc437465f836fabf3427", - "urls": [ - "bzz-raw://0265250d2255bcb61fdb1842e7dbb26e4d56a11a1e3fd87f0790644277bb7259", - "dweb:/ipfs/Qmb5kVMTr86qYkJu8o1YNwnCrbUJMhmhnFHMrdx2vZhdED" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IConvexBaseRewardPool.sol": { - "keccak256": "0x7c82b546c3c339c6f602191bc9062d6887af7db438800359c0547aa6bb025acc", - "urls": [ - "bzz-raw://13a488b1d715000d1ed9415917a8f9c347ec91b04770b74746facacd88e2e105", - "dweb:/ipfs/QmaHJKxagREc7Mbq8SkSbWgzwk8bNSFTwojAD5hNemwy1Y" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IConvexBooster.sol": { - "keccak256": "0x6e7561d2d7e71a0c89a6e62445de5c54c2e50d17877b23d8b5af10721dd90ed5", - "urls": [ - "bzz-raw://772cf7f429a04a557d3b0ed36a73390da64fd93a9df253e0c7e9ebeeecd063ea", - "dweb:/ipfs/QmXjfnXmtGV67wypxof8nWVTkXAEZqBpFjYePfr17K8rAL" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IConvexVirtualBalanceRewardPool.sol": { - "keccak256": "0x45a7d783e4088cf1b5dcb548da2fce6b0caa9c572c43af9f39aff46498fa101c", - "urls": [ - "bzz-raw://82ed678230fe900991bd81a6c31dae01d120fe5521f96d1cc36c40334385f907", - "dweb:/ipfs/QmYre4JtyoXmetrYUwFMrPKwBY1NEm2XYdgMiAR7Z7P2jW" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AddressArrayLib.sol": { - "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", - "urls": [ - "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", - "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/beacon-proxy/BeaconProxy.sol": { - "keccak256": "0x7a0a6c511a30434a9b329226b0cf1a05ec426ddbfc4e1d9b9083978ee4cf6d53", - "urls": [ - "bzz-raw://692d3a116ecf306f20a3d29dc70846099ce46ba281524a502336325a6cd05667", - "dweb:/ipfs/QmTGxmDWMcMtGEsPLzVB8eyK3WDqaCwoChuc24RXuSzwVb" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/beacon-proxy/BeaconProxyFactory.sol": { - "keccak256": "0xd35fa5134e3a8694ed1dbbc8dcd4b4d5b459608c23097a95984e1b98af3e64d9", - "urls": [ - "bzz-raw://1c008f83ac64b316479406cbf0287593a810d453825a2f669b5810c51429f9fc", - "dweb:/ipfs/QmNtdtcWGZFpnb3LsshwV5BiM5H1Vz8SGpoqMchUyfuhQx" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/beacon-proxy/IBeacon.sol": { - "keccak256": "0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2", - "urls": [ - "bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39", - "dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol": { - "keccak256": "0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc", - "urls": [ - "bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be", - "dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { - "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", - "urls": [ - "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", - "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Address.sol": { - "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", - "urls": [ - "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", - "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/ReentrancyGuard.sol": { - "keccak256": "0x8bbbc2f5c10065ee272592ae0a7a6ceb23de2fbd81564ee0bb015ecf404d5f61", - "urls": [ - "bzz-raw://b95e56c1640d0ef789fc5c16269e141e992f6c8ac97cc6d377bd3825e9cab182", - "dweb:/ipfs/QmVzaxJZY51EhagrcNnkxoU6Uq17RhATe7aHvtkC6wUkgK" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 241 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_wrapperFactory", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "calcUnderlyingValues", "inputs": [ { "name": "_derivative", "type": "address", "internalType": "address" }, { "name": "_derivativeAmount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "underlyings_", "type": "address[]", "internalType": "address[]" }, { "name": "underlyingAmounts_", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "isSupportedAsset", "inputs": [ { "name": "_asset", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "isSupported_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" } ], "bytecode": { "object": "0x60a060405234801561001057600080fd5b5060405161038b38038061038b8339818101604052602081101561003357600080fd5b5051606081901b6001600160601b0319166080526001600160a01b031661031f61006c60003980610161528061026a525061031f6000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063727212f61461003b5780639be918e614610100575b600080fd5b6100676004803603604081101561005157600080fd5b506001600160a01b03813516906020013561013a565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156100ab578181015183820152602001610093565b50505050905001838103825284818151815260200191508051906020019060200280838360005b838110156100ea5781810151838201526020016100d2565b5050505090500194505050505060405180910390f35b6101266004803603602081101561011657600080fd5b50356001600160a01b031661025c565b604080519115158252519081900360200190f35b604080516001808252818301909252606091829190602080830190803683370190505091507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663456b4a37856040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156101cc57600080fd5b505afa1580156101e0573d6000803e3d6000fd5b505050506040513d60208110156101f657600080fd5b50518251839060009061020557fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509050828160008151811061024957fe5b6020026020010181815250509250929050565b6000806001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663456b4a37846040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156102d557600080fd5b505afa1580156102e9573d6000803e3d6000fd5b505050506040513d60208110156102ff57600080fd5b50516001600160a01b031614159291505056fea164736f6c634300060c000a", "sourceMap": "594:1514:241:-:0;;;745:130;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;745:130:241;799:69;;;;-1:-1:-1;;;;;;799:69:241;;;-1:-1:-1;;;;;594:1514:241;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c8063727212f61461003b5780639be918e614610100575b600080fd5b6100676004803603604081101561005157600080fd5b506001600160a01b03813516906020013561013a565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156100ab578181015183820152602001610093565b50505050905001838103825284818151815260200191508051906020019060200280838360005b838110156100ea5781810151838201526020016100d2565b5050505090500194505050505060405180910390f35b6101266004803603602081101561011657600080fd5b50356001600160a01b031661025c565b604080519115158252519081900360200190f35b604080516001808252818301909252606091829190602080830190803683370190505091507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663456b4a37856040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156101cc57600080fd5b505afa1580156101e0573d6000803e3d6000fd5b505050506040513d60208110156101f657600080fd5b50518251839060009061020557fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509050828160008151811061024957fe5b6020026020010181815250509250929050565b6000806001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663456b4a37846040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156102d557600080fd5b505afa1580156102e9573d6000803e3d6000fd5b505050506040513d60208110156102ff57600080fd5b50516001600160a01b031614159291505056fea164736f6c634300060c000a", "sourceMap": "594:1514:241:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1273:482;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1273:482:241;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1928:178;;;;;;;;;;;;;;;;-1:-1:-1;1928:178:241;-1:-1:-1;;;;;1928:178:241;;:::i;:::-;;;;;;;;;;;;;;;;;;1273:482;1499:16;;;1513:1;1499:16;;;;;;;;;1402:29;;;;1499:16;;;;;;;;;;;;-1:-1:-1;1499:16:241;1484:31;;1543:15;-1:-1:-1;;;;;1543:41:241;;1585:11;1543:54;;;;;;;;;;;;;-1:-1:-1;;;;;1543:54:241;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1543:54:241;1525:15;;:12;;1538:1;;1525:15;;;;-1:-1:-1;;;;;1525:72:241;;;;:15;;;;;;;;;;:72;1629:16;;;1643:1;1629:16;;;;;;;;;;;;;;1525:15;1629:16;;;;;-1:-1:-1;1629:16:241;1608:37;;1679:17;1655:18;1674:1;1655:21;;;;;;;;;;;;;:41;;;;;1273:482;;;;;:::o;1928:178::-;2000:17;2097:1;-1:-1:-1;;;;;2036:63:241;:15;-1:-1:-1;;;;;2036:41:241;;2078:6;2036:49;;;;;;;;;;;;;-1:-1:-1;;;;;2036:49:241;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2036:49:241;-1:-1:-1;;;;;2036:63:241;;;;1928:178;-1:-1:-1;;1928:178:241:o", "linkReferences": {}, "immutableReferences": { "63662": [ { "start": 353, "length": 32 }, { "start": 618, "length": 32 } ] } }, "methodIdentifiers": { "calcUnderlyingValues(address,uint256)": "727212f6", "isSupportedAsset(address)": "9be918e6" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_wrapperFactory\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_derivative\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_derivativeAmount\",\"type\":\"uint256\"}],\"name\":\"calcUnderlyingValues\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"underlyings_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"underlyingAmounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"}],\"name\":\"isSupportedAsset\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isSupported_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"calcUnderlyingValues(address,uint256)\":{\"params\":{\"_derivative\":\"The derivative to convert\",\"_derivativeAmount\":\"The amount of the derivative to convert\"},\"returns\":{\"underlyingAmounts_\":\"The amount of each underlying asset for the equivalent derivative amount\",\"underlyings_\":\"The underlying assets for the _derivative\"}},\"isSupportedAsset(address)\":{\"params\":{\"_asset\":\"The asset to check\"},\"returns\":{\"isSupported_\":\"True if the asset is supported\"}}},\"title\":\"ConvexCurveLpStakingWrapperPriceFeed Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"calcUnderlyingValues(address,uint256)\":{\"notice\":\"Converts a given amount of a derivative to its underlying asset values\"},\"isSupportedAsset(address)\":{\"notice\":\"Checks if an asset is supported by the price feed\"}},\"notice\":\"Price source oracle for wrapped Convex-staked Curve LP tokens\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/infrastructure/price-feeds/derivatives/feeds/ConvexCurveLpStakingWrapperPriceFeed.sol\":\"ConvexCurveLpStakingWrapperPriceFeed\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol\":{\"keccak256\":\"0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e\",\"dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK\"]},\"contracts/release/infrastructure/price-feeds/derivatives/feeds/ConvexCurveLpStakingWrapperPriceFeed.sol\":{\"keccak256\":\"0x142c22a9f9725c349746661a1fd07ce5a648e9228148b78fe0bffa2036393f7b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8be486f53a8cb30077078c3bf5f5d3359156984c9d99e07643b9180359b3da6a\",\"dweb:/ipfs/Qmcf2e7qWLebUwEUS4BDiSpX24xyujNFhTU36rojC8T5cx\"]},\"contracts/release/infrastructure/staking-wrappers/IStakingWrapper.sol\":{\"keccak256\":\"0xaeb9aba4e74eb3243a85090fded7b157969cf83e1f4159b1da2f662a3e7b15be\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://92346911c044a54808d2d425fe58c6dc9594dfafb8d83496f6599e3bc23803d0\",\"dweb:/ipfs/QmYWf7yx9ZfUnP81K1hjvApthqNhpXzUhGuFBm4gX1aDRB\"]},\"contracts/release/infrastructure/staking-wrappers/StakingWrapperBase.sol\":{\"keccak256\":\"0x3e28050fbe625f1469701b231772ce321e719ddbce4f84b6caa1d8d634a4234a\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f0871b7d6b595e444e598f68751225a596d969267c289a465462fdeb67530fc8\",\"dweb:/ipfs/QmX2z5QGP3kpKx9ruGnZHYH5bDCD9sjRGTRhg9SRiowctg\"]},\"contracts/release/infrastructure/staking-wrappers/StakingWrapperLibBase.sol\":{\"keccak256\":\"0x94d4057419743d9354d77774e1e5279a5ed2fc70012ef28115357f9921bfb5be\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d1e461f460a0339cada6cdfb0107bde47d236b336fec0ed470235ce7928666bb\",\"dweb:/ipfs/QmcMzSrcWTKyqgBAACVCidd2dpMfbeUtcQYu4D1ASiyFzk\"]},\"contracts/release/infrastructure/staking-wrappers/convex-curve-lp/ConvexCurveLpStakingWrapperFactory.sol\":{\"keccak256\":\"0x4f7394dea52858ea7734ed8586377d1ebef39e1ca6aa5ed684fea7a7fe82b16a\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c7a5181757151d6210193dfa97b3076edcfe3017b4fefbfbbe3ab848878d5996\",\"dweb:/ipfs/Qme9tTYoAhMkHVLbwKQoSdVJTec1p9zAPwzSe7RZFvnkYu\"]},\"contracts/release/infrastructure/staking-wrappers/convex-curve-lp/ConvexCurveLpStakingWrapperLib.sol\":{\"keccak256\":\"0x1ec08f37e592766bb7f0d62edb04261bcd3c26154bb5dc437465f836fabf3427\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://0265250d2255bcb61fdb1842e7dbb26e4d56a11a1e3fd87f0790644277bb7259\",\"dweb:/ipfs/Qmb5kVMTr86qYkJu8o1YNwnCrbUJMhmhnFHMrdx2vZhdED\"]},\"contracts/release/interfaces/IConvexBaseRewardPool.sol\":{\"keccak256\":\"0x7c82b546c3c339c6f602191bc9062d6887af7db438800359c0547aa6bb025acc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://13a488b1d715000d1ed9415917a8f9c347ec91b04770b74746facacd88e2e105\",\"dweb:/ipfs/QmaHJKxagREc7Mbq8SkSbWgzwk8bNSFTwojAD5hNemwy1Y\"]},\"contracts/release/interfaces/IConvexBooster.sol\":{\"keccak256\":\"0x6e7561d2d7e71a0c89a6e62445de5c54c2e50d17877b23d8b5af10721dd90ed5\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://772cf7f429a04a557d3b0ed36a73390da64fd93a9df253e0c7e9ebeeecd063ea\",\"dweb:/ipfs/QmXjfnXmtGV67wypxof8nWVTkXAEZqBpFjYePfr17K8rAL\"]},\"contracts/release/interfaces/IConvexVirtualBalanceRewardPool.sol\":{\"keccak256\":\"0x45a7d783e4088cf1b5dcb548da2fce6b0caa9c572c43af9f39aff46498fa101c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://82ed678230fe900991bd81a6c31dae01d120fe5521f96d1cc36c40334385f907\",\"dweb:/ipfs/QmYre4JtyoXmetrYUwFMrPKwBY1NEm2XYdgMiAR7Z7P2jW\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/beacon-proxy/BeaconProxy.sol\":{\"keccak256\":\"0x7a0a6c511a30434a9b329226b0cf1a05ec426ddbfc4e1d9b9083978ee4cf6d53\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://692d3a116ecf306f20a3d29dc70846099ce46ba281524a502336325a6cd05667\",\"dweb:/ipfs/QmTGxmDWMcMtGEsPLzVB8eyK3WDqaCwoChuc24RXuSzwVb\"]},\"contracts/release/utils/beacon-proxy/BeaconProxyFactory.sol\":{\"keccak256\":\"0xd35fa5134e3a8694ed1dbbc8dcd4b4d5b459608c23097a95984e1b98af3e64d9\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1c008f83ac64b316479406cbf0287593a810d453825a2f669b5810c51429f9fc\",\"dweb:/ipfs/QmNtdtcWGZFpnb3LsshwV5BiM5H1Vz8SGpoqMchUyfuhQx\"]},\"contracts/release/utils/beacon-proxy/IBeacon.sol\":{\"keccak256\":\"0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39\",\"dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V\"]},\"contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol\":{\"keccak256\":\"0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be\",\"dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]},\"node_modules/@openzeppelin/contracts/utils/ReentrancyGuard.sol\":{\"keccak256\":\"0x8bbbc2f5c10065ee272592ae0a7a6ceb23de2fbd81564ee0bb015ecf404d5f61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b95e56c1640d0ef789fc5c16269e141e992f6c8ac97cc6d377bd3825e9cab182\",\"dweb:/ipfs/QmVzaxJZY51EhagrcNnkxoU6Uq17RhATe7aHvtkC6wUkgK\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_wrapperFactory", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "_derivative", "type": "address" }, { "internalType": "uint256", "name": "_derivativeAmount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "calcUnderlyingValues", "outputs": [ { "internalType": "address[]", "name": "underlyings_", "type": "address[]" }, { "internalType": "uint256[]", "name": "underlyingAmounts_", "type": "uint256[]" } ] }, { "inputs": [ { "internalType": "address", "name": "_asset", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "isSupportedAsset", "outputs": [ { "internalType": "bool", "name": "isSupported_", "type": "bool" } ] } ], "devdoc": { "kind": "dev", "methods": { "calcUnderlyingValues(address,uint256)": { "params": { "_derivative": "The derivative to convert", "_derivativeAmount": "The amount of the derivative to convert" }, "returns": { "underlyingAmounts_": "The amount of each underlying asset for the equivalent derivative amount", "underlyings_": "The underlying assets for the _derivative" } }, "isSupportedAsset(address)": { "params": { "_asset": "The asset to check" }, "returns": { "isSupported_": "True if the asset is supported" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "calcUnderlyingValues(address,uint256)": { "notice": "Converts a given amount of a derivative to its underlying asset values" }, "isSupportedAsset(address)": { "notice": "Checks if an asset is supported by the price feed" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/infrastructure/price-feeds/derivatives/feeds/ConvexCurveLpStakingWrapperPriceFeed.sol": "ConvexCurveLpStakingWrapperPriceFeed" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/dispatcher/IDispatcher.sol": { "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", "urls": [ "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol": { "keccak256": "0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332", "urls": [ "bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e", "dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/price-feeds/derivatives/feeds/ConvexCurveLpStakingWrapperPriceFeed.sol": { "keccak256": "0x142c22a9f9725c349746661a1fd07ce5a648e9228148b78fe0bffa2036393f7b", "urls": [ "bzz-raw://8be486f53a8cb30077078c3bf5f5d3359156984c9d99e07643b9180359b3da6a", "dweb:/ipfs/Qmcf2e7qWLebUwEUS4BDiSpX24xyujNFhTU36rojC8T5cx" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/staking-wrappers/IStakingWrapper.sol": { "keccak256": "0xaeb9aba4e74eb3243a85090fded7b157969cf83e1f4159b1da2f662a3e7b15be", "urls": [ "bzz-raw://92346911c044a54808d2d425fe58c6dc9594dfafb8d83496f6599e3bc23803d0", "dweb:/ipfs/QmYWf7yx9ZfUnP81K1hjvApthqNhpXzUhGuFBm4gX1aDRB" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/staking-wrappers/StakingWrapperBase.sol": { "keccak256": "0x3e28050fbe625f1469701b231772ce321e719ddbce4f84b6caa1d8d634a4234a", "urls": [ "bzz-raw://f0871b7d6b595e444e598f68751225a596d969267c289a465462fdeb67530fc8", "dweb:/ipfs/QmX2z5QGP3kpKx9ruGnZHYH5bDCD9sjRGTRhg9SRiowctg" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/staking-wrappers/StakingWrapperLibBase.sol": { "keccak256": "0x94d4057419743d9354d77774e1e5279a5ed2fc70012ef28115357f9921bfb5be", "urls": [ "bzz-raw://d1e461f460a0339cada6cdfb0107bde47d236b336fec0ed470235ce7928666bb", "dweb:/ipfs/QmcMzSrcWTKyqgBAACVCidd2dpMfbeUtcQYu4D1ASiyFzk" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/staking-wrappers/convex-curve-lp/ConvexCurveLpStakingWrapperFactory.sol": { "keccak256": "0x4f7394dea52858ea7734ed8586377d1ebef39e1ca6aa5ed684fea7a7fe82b16a", "urls": [ "bzz-raw://c7a5181757151d6210193dfa97b3076edcfe3017b4fefbfbbe3ab848878d5996", "dweb:/ipfs/Qme9tTYoAhMkHVLbwKQoSdVJTec1p9zAPwzSe7RZFvnkYu" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/staking-wrappers/convex-curve-lp/ConvexCurveLpStakingWrapperLib.sol": { "keccak256": "0x1ec08f37e592766bb7f0d62edb04261bcd3c26154bb5dc437465f836fabf3427", "urls": [ "bzz-raw://0265250d2255bcb61fdb1842e7dbb26e4d56a11a1e3fd87f0790644277bb7259", "dweb:/ipfs/Qmb5kVMTr86qYkJu8o1YNwnCrbUJMhmhnFHMrdx2vZhdED" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IConvexBaseRewardPool.sol": { "keccak256": "0x7c82b546c3c339c6f602191bc9062d6887af7db438800359c0547aa6bb025acc", "urls": [ "bzz-raw://13a488b1d715000d1ed9415917a8f9c347ec91b04770b74746facacd88e2e105", "dweb:/ipfs/QmaHJKxagREc7Mbq8SkSbWgzwk8bNSFTwojAD5hNemwy1Y" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IConvexBooster.sol": { "keccak256": "0x6e7561d2d7e71a0c89a6e62445de5c54c2e50d17877b23d8b5af10721dd90ed5", "urls": [ "bzz-raw://772cf7f429a04a557d3b0ed36a73390da64fd93a9df253e0c7e9ebeeecd063ea", "dweb:/ipfs/QmXjfnXmtGV67wypxof8nWVTkXAEZqBpFjYePfr17K8rAL" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IConvexVirtualBalanceRewardPool.sol": { "keccak256": "0x45a7d783e4088cf1b5dcb548da2fce6b0caa9c572c43af9f39aff46498fa101c", "urls": [ "bzz-raw://82ed678230fe900991bd81a6c31dae01d120fe5521f96d1cc36c40334385f907", "dweb:/ipfs/QmYre4JtyoXmetrYUwFMrPKwBY1NEm2XYdgMiAR7Z7P2jW" ], "license": "GPL-3.0" }, "contracts/release/utils/AddressArrayLib.sol": { "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", "urls": [ "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" ], "license": "GPL-3.0" }, "contracts/release/utils/beacon-proxy/BeaconProxy.sol": { "keccak256": "0x7a0a6c511a30434a9b329226b0cf1a05ec426ddbfc4e1d9b9083978ee4cf6d53", "urls": [ "bzz-raw://692d3a116ecf306f20a3d29dc70846099ce46ba281524a502336325a6cd05667", "dweb:/ipfs/QmTGxmDWMcMtGEsPLzVB8eyK3WDqaCwoChuc24RXuSzwVb" ], "license": "GPL-3.0" }, "contracts/release/utils/beacon-proxy/BeaconProxyFactory.sol": { "keccak256": "0xd35fa5134e3a8694ed1dbbc8dcd4b4d5b459608c23097a95984e1b98af3e64d9", "urls": [ "bzz-raw://1c008f83ac64b316479406cbf0287593a810d453825a2f669b5810c51429f9fc", "dweb:/ipfs/QmNtdtcWGZFpnb3LsshwV5BiM5H1Vz8SGpoqMchUyfuhQx" ], "license": "GPL-3.0" }, "contracts/release/utils/beacon-proxy/IBeacon.sol": { "keccak256": "0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2", "urls": [ "bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39", "dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V" ], "license": "GPL-3.0" }, "contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol": { "keccak256": "0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc", "urls": [ "bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be", "dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", "urls": [ "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Address.sol": { "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", "urls": [ "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/ReentrancyGuard.sol": { "keccak256": "0x8bbbc2f5c10065ee272592ae0a7a6ceb23de2fbd81564ee0bb015ecf404d5f61", "urls": [ "bzz-raw://b95e56c1640d0ef789fc5c16269e141e992f6c8ac97cc6d377bd3825e9cab182", "dweb:/ipfs/QmVzaxJZY51EhagrcNnkxoU6Uq17RhATe7aHvtkC6wUkgK" ], "license": "MIT" } }, "version": 1 }, "id": 241 } diff --git a/eth_defi/abi/enzyme/ConvexVotingPositionDataDecoder.json b/eth_defi/abi/enzyme/ConvexVotingPositionDataDecoder.json index 8460bec5..ccd94e6d 100644 --- a/eth_defi/abi/enzyme/ConvexVotingPositionDataDecoder.json +++ b/eth_defi/abi/enzyme/ConvexVotingPositionDataDecoder.json @@ -1,86 +1 @@ -{ - "abi": [], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": {}, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ConvexVotingPositionDataDecoder Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Abstract contract containing data decodings for ConvexVotingPosition payloads\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/convex-voting/ConvexVotingPositionDataDecoder.sol\":\"ConvexVotingPositionDataDecoder\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/external-position-manager/external-positions/convex-voting/ConvexVotingPositionDataDecoder.sol\":{\"keccak256\":\"0xa6519ec08d094279d264517505c108a3c71da5bb0992780856f0a50c922235ab\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://39c01f7087471c265a0dc6a0542dc428f73e3472e81d65561956bb21c38bc9b3\",\"dweb:/ipfs/QmTud9X9jniBpw96ve2mqvZqVmcV6mourqxrNSGmaoh8ng\"]},\"contracts/release/interfaces/IVotiumMultiMerkleStash.sol\":{\"keccak256\":\"0x457bd31cabe3ea8427546bf14112f50a866b5eae3b2e1089a64acda8d6a7bb29\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://fae1df3cf61c2841987b8227a6c1cb7d0a487f62bcc4fce6d5ac40387dedf517\",\"dweb:/ipfs/QmRv4t9nK1tQ7fWnLeyCYCe8fzCSo2E1PnA9o3TPUBMVeW\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/external-position-manager/external-positions/convex-voting/ConvexVotingPositionDataDecoder.sol": "ConvexVotingPositionDataDecoder" - }, - "libraries": {} - }, - "sources": { - "contracts/release/extensions/external-position-manager/external-positions/convex-voting/ConvexVotingPositionDataDecoder.sol": { - "keccak256": "0xa6519ec08d094279d264517505c108a3c71da5bb0992780856f0a50c922235ab", - "urls": [ - "bzz-raw://39c01f7087471c265a0dc6a0542dc428f73e3472e81d65561956bb21c38bc9b3", - "dweb:/ipfs/QmTud9X9jniBpw96ve2mqvZqVmcV6mourqxrNSGmaoh8ng" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IVotiumMultiMerkleStash.sol": { - "keccak256": "0x457bd31cabe3ea8427546bf14112f50a866b5eae3b2e1089a64acda8d6a7bb29", - "urls": [ - "bzz-raw://fae1df3cf61c2841987b8227a6c1cb7d0a487f62bcc4fce6d5ac40387dedf517", - "dweb:/ipfs/QmRv4t9nK1tQ7fWnLeyCYCe8fzCSo2E1PnA9o3TPUBMVeW" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 102 -} +{ "abi": [], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": {}, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ConvexVotingPositionDataDecoder Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Abstract contract containing data decodings for ConvexVotingPosition payloads\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/convex-voting/ConvexVotingPositionDataDecoder.sol\":\"ConvexVotingPositionDataDecoder\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/external-position-manager/external-positions/convex-voting/ConvexVotingPositionDataDecoder.sol\":{\"keccak256\":\"0xa6519ec08d094279d264517505c108a3c71da5bb0992780856f0a50c922235ab\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://39c01f7087471c265a0dc6a0542dc428f73e3472e81d65561956bb21c38bc9b3\",\"dweb:/ipfs/QmTud9X9jniBpw96ve2mqvZqVmcV6mourqxrNSGmaoh8ng\"]},\"contracts/release/interfaces/IVotiumMultiMerkleStash.sol\":{\"keccak256\":\"0x457bd31cabe3ea8427546bf14112f50a866b5eae3b2e1089a64acda8d6a7bb29\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://fae1df3cf61c2841987b8227a6c1cb7d0a487f62bcc4fce6d5ac40387dedf517\",\"dweb:/ipfs/QmRv4t9nK1tQ7fWnLeyCYCe8fzCSo2E1PnA9o3TPUBMVeW\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/external-position-manager/external-positions/convex-voting/ConvexVotingPositionDataDecoder.sol": "ConvexVotingPositionDataDecoder" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/extensions/external-position-manager/external-positions/convex-voting/ConvexVotingPositionDataDecoder.sol": { "keccak256": "0xa6519ec08d094279d264517505c108a3c71da5bb0992780856f0a50c922235ab", "urls": [ "bzz-raw://39c01f7087471c265a0dc6a0542dc428f73e3472e81d65561956bb21c38bc9b3", "dweb:/ipfs/QmTud9X9jniBpw96ve2mqvZqVmcV6mourqxrNSGmaoh8ng" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IVotiumMultiMerkleStash.sol": { "keccak256": "0x457bd31cabe3ea8427546bf14112f50a866b5eae3b2e1089a64acda8d6a7bb29", "urls": [ "bzz-raw://fae1df3cf61c2841987b8227a6c1cb7d0a487f62bcc4fce6d5ac40387dedf517", "dweb:/ipfs/QmRv4t9nK1tQ7fWnLeyCYCe8fzCSo2E1PnA9o3TPUBMVeW" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 102 } diff --git a/eth_defi/abi/enzyme/ConvexVotingPositionLib.json b/eth_defi/abi/enzyme/ConvexVotingPositionLib.json index 2e9f8537..5188f594 100644 --- a/eth_defi/abi/enzyme/ConvexVotingPositionLib.json +++ b/eth_defi/abi/enzyme/ConvexVotingPositionLib.json @@ -1,496 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_vlCvx", - "type": "address" - }, - { - "internalType": "address", - "name": "_vlCvxExtraRewards", - "type": "address" - }, - { - "internalType": "address", - "name": "_cvxCrvStaking", - "type": "address" - }, - { - "internalType": "address", - "name": "_cvxToken", - "type": "address" - }, - { - "internalType": "address", - "name": "_snapshotDelegateRegistry", - "type": "address" - }, - { - "internalType": "address", - "name": "_votiumMultiMerkleStash", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "name": "getDebtAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "assets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "amounts_", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getManagedAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "assets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "amounts_", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "init", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - } - ], - "name": "receiveCallFromVault", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x6101406040523480156200001257600080fd5b506040516200197c3803806200197c83398101604081905262000035916200008b565b6001600160601b0319606094851b811660805292841b831660a05290831b821660c05293821b811660e05291811b8216610100529190911b16610120526200014b565b8051620000858162000131565b92915050565b60008060008060008060c08789031215620000a557600080fd5b6000620000b3898962000078565b9650506020620000c689828a0162000078565b9550506040620000d989828a0162000078565b9450506060620000ec89828a0162000078565b9350506080620000ff89828a0162000078565b92505060a06200011289828a0162000078565b9150509295509295509295565b60006001600160a01b03821662000085565b6200013c816200011f565b81146200014857600080fd5b50565b60805160601c60a05160601c60c05160601c60e05160601c6101005160601c6101205160601c6117b4620001c86000398061074f52508061069352508060cf528061010052806104a7528061052e52806105af528061061d5250806108e452508060ad52806101b152806102615250806107d652506117b46000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80634ddf47d41461005157806380daddb814610066578063e5c23a9714610085578063ecd658b414610098575b600080fd5b61006461005f366004611067565b6100a0565b005b61006e6100f9565b60405161007c9291906115ca565b60405180910390f35b610064610093366004611067565b6102e3565b61006e61037f565b6100f66001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000167f0000000000000000000000000000000000000000000000000000000000000000600019610385565b50565b60608060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166359355736306040518263ffffffff1660e01b815260040161014a9190611530565b60206040518083038186803b15801561016257600080fd5b505afa158015610176573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061019a919061109c565b6040516370a0823160e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a08231906101e6903090600401611530565b60206040518083038186803b1580156101fe57600080fd5b505afa158015610212573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610236919061109c565b01905080156102de5760408051600180825281830190925290602080830190803683370190505092507f00000000000000000000000000000000000000000000000000000000000000008360008151811061028d57fe5b6001600160a01b039290921660209283029190910182015260408051600180825281830190925291828101908036833701905050915080826000815181106102d157fe5b6020026020010181815250505b509091565b60006060828060200190518101906102fb91906110ba565b9092509050816103135761030e8161047f565b61037a565b60018214156103245761030e610517565b60028214156103355761030e610598565b60038214156103475761030e816105e4565b60048214156103595761030e816108bf565b60405162461bcd60e51b81526004016103719061162c565b60405180910390fd5b505050565b60608091565b80158061040d5750604051636eb1769f60e11b81526001600160a01b0384169063dd62ed3e906103bb903090869060040161154c565b60206040518083038186803b1580156103d357600080fd5b505afa1580156103e7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061040b919061109c565b155b6104295760405162461bcd60e51b81526004016103719061165c565b61037a8363095ea7b360e01b8484604051602401610448929190611587565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915261095b565b60008061048b836109ea565b60405163e2ab691d60e01b815291935091506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063e2ab691d906104e0903090869086906004016115a2565b600060405180830381600087803b1580156104fa57600080fd5b505af115801561050e573d6000803e3d6000fd5b50505050505050565b60405163312ff83960e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063312ff83990610564906001906004016115ef565b600060405180830381600087803b15801561057e57600080fd5b505af1158015610592573d6000803e3d6000fd5b50505050565b60405163d36f12fb60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063d36f12fb9061056490339060040161153e565b6060600060608060006105f686610a0a565b94509450945094509450831561068557604051630c00007b60e41b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c00007b090610652903090600401611530565b600060405180830381600087803b15801561066c57600080fd5b505af1158015610680573d6000803e3d6000fd5b505050505b60005b8351811015610730577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316636b091695308684815181106106cd57fe5b60200260200101516040518363ffffffff1660e01b81526004016106f292919061154c565b600060405180830381600087803b15801561070c57600080fd5b505af1158015610720573d6000803e3d6000fd5b5050600190920191506106889050565b508151156107b957604051631067326f60e11b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906320ce64de906107869030908690600401611567565b600060405180830381600087803b1580156107a057600080fd5b505af11580156107b4573d6000803e3d6000fd5b505050505b80156108b5576040516370a0823160e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906338d074369082906370a0823190610813903090600401611530565b60206040518083038186803b15801561082b57600080fd5b505afa15801561083f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610863919061109c565b60016040518363ffffffff1660e01b815260040161088292919061166c565b600060405180830381600087803b15801561089c57600080fd5b505af11580156108b0573d6000803e3d6000fd5b505050505b61050e3386610a39565b60006108ca82610b96565b6040516317b0dca160e31b81529091506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063bd86e5089061092590660c6ecf05ccae8d60cb1b9085906004016115fd565b600060405180830381600087803b15801561093f57600080fd5b505af1158015610953573d6000803e3d6000fd5b505050505050565b60606109b0826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610bac9092919063ffffffff16565b80519091501561037a57808060200190518101906109ce9190611049565b61037a5760405162461bcd60e51b81526004016103719061164c565b60008082806020019051810190610a01919061110c565b91509150915091565b60606000606080600085806020019051810190610a279190610f8d565b939a9299509097509550909350915050565b6060815167ffffffffffffffff81118015610a5357600080fd5b50604051908082528060200260200182016040528015610a7d578160200160208202803683370190505b50905060005b8251811015610b8e576000838281518110610a9a57fe5b60200260200101519050806001600160a01b03166370a08231306040518263ffffffff1660e01b8152600401610ad09190611530565b60206040518083038186803b158015610ae857600080fd5b505afa158015610afc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b20919061109c565b838381518110610b2c57fe5b6020026020010181815250506000838381518110610b4657fe5b60200260200101511115610b8557610b8585848481518110610b6457fe5b6020026020010151836001600160a01b0316610bc59092919063ffffffff16565b50600101610a83565b505b92915050565b600081806020019051810190610b909190610f6f565b6060610bbb8484600085610be4565b90505b9392505050565b61037a8363a9059cbb60e01b8484604051602401610448929190611587565b606082471015610c065760405162461bcd60e51b81526004016103719061161c565b610c0f85610ca7565b610c2b5760405162461bcd60e51b81526004016103719061163c565b60006060866001600160a01b03168587604051610c489190611524565b60006040518083038185875af1925050503d8060008114610c85576040519150601f19603f3d011682016040523d82523d6000602084013e610c8a565b606091505b5091509150610c9a828286610cad565b925050505b949350505050565b3b151590565b60608315610cbc575081610bbe565b825115610ccc5782518084602001fd5b8160405162461bcd60e51b8152600401610371919061160b565b8051610b9081611781565b600082601f830112610d0257600080fd5b8151610d15610d10826116ae565b611687565b91508181835260208401935060208101905083856020840282011115610d3a57600080fd5b60005b83811015610d665781610d508882610ce6565b8452506020928301929190910190600101610d3d565b5050505092915050565b600082601f830112610d8157600080fd5b8151610d8f610d10826116ae565b91508181835260208401935060208101905083856020840282011115610db457600080fd5b60005b83811015610d665781610dca8882610e48565b8452506020928301929190910190600101610db7565b600082601f830112610df157600080fd5b8151610dff610d10826116ae565b81815260209384019390925082018360005b83811015610d665781518601610e278882610ee8565b8452506020928301929190910190600101610e11565b8051610b9081611795565b8051610b908161179e565b600082601f830112610e6457600080fd5b8135610e72610d10826116cf565b91508082526020830160208301858383011115610e8e57600080fd5b610e9983828461173f565b50505092915050565b600082601f830112610eb357600080fd5b8151610ec1610d10826116cf565b91508082526020830160208301858383011115610edd57600080fd5b610e9983828461174b565b600060808284031215610efa57600080fd5b610f046080611687565b90506000610f128484610ce6565b8252506020610f2384848301610e48565b6020830152506040610f3784828501610e48565b604083015250606082015167ffffffffffffffff811115610f5757600080fd5b610f6384828501610d70565b60608301525092915050565b600060208284031215610f8157600080fd5b6000610c9f8484610ce6565b600080600080600060a08688031215610fa557600080fd5b855167ffffffffffffffff811115610fbc57600080fd5b610fc888828901610cf1565b9550506020610fd988828901610e3d565b945050604086015167ffffffffffffffff811115610ff657600080fd5b61100288828901610cf1565b935050606086015167ffffffffffffffff81111561101f57600080fd5b61102b88828901610de0565b925050608061103c88828901610e3d565b9150509295509295909350565b60006020828403121561105b57600080fd5b6000610c9f8484610e3d565b60006020828403121561107957600080fd5b813567ffffffffffffffff81111561109057600080fd5b610c9f84828501610e53565b6000602082840312156110ae57600080fd5b6000610c9f8484610e48565b600080604083850312156110cd57600080fd5b60006110d98585610e48565b925050602083015167ffffffffffffffff8111156110f657600080fd5b61110285828601610ea2565b9150509250929050565b6000806040838503121561111f57600080fd5b600061112b8585610e48565b925050602061110285828601610e48565b60006111488383611177565b505060200190565b600061114883836112ec565b6000610bbe83836114c9565b6111718161172e565b82525050565b6111718161170f565b600061118b826116fd565b6111958185611701565b93506111a0836116f7565b8060005b838110156111ce5781516111b8888261113c565b97506111c3836116f7565b9250506001016111a4565b509495945050505050565b60006111e4826116fd565b6111ee8185611701565b93506111f9836116f7565b8060005b838110156111ce5781516112118882611150565b975061121c836116f7565b9250506001016111fd565b6000611232826116fd565b61123c8185611701565b93508360208202850161124e856116f7565b8060005b85811015611288578484038952815161126b858261115c565b9450611276836116f7565b60209a909a0199925050600101611252565b5091979650505050505050565b60006112a0826116fd565b6112aa8185611701565b93506112b5836116f7565b8060005b838110156111ce5781516112cd8882611150565b97506112d8836116f7565b9250506001016112b9565b6111718161171a565b6111718161171f565b6000611300826116fd565b61130a818561170a565b935061131a81856020860161174b565b9290920192915050565b600061132f826116fd565b6113398185611701565b935061134981856020860161174b565b61135281611777565b9093019392505050565b6000611369602683611701565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f8152651c8818d85b1b60d21b602082015260400192915050565b60006113b1602683611701565b7f7265636569766543616c6c46726f6d5661756c743a20496e76616c69642061638152651d1a5bdb925960d21b602082015260400192915050565b60006113f9601d83611701565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000815260200192915050565b6000611432602a83611701565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e8152691bdd081cdd58d8d9595960b21b602082015260400192915050565b600061147e603683611701565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f81527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b602082015260400192915050565b805160009060808401906114dd8582611177565b5060208301516114f060208601826112ec565b50604083015161150360408601826112ec565b506060830151848203606086015261151b82826111d9565b95945050505050565b6000610bbe82846112f5565b60208101610b908284611177565b60208101610b908284611168565b6040810161155a8285611177565b610bbe6020830184611177565b604081016115758285611177565b8181036020830152610bbb8184611227565b604081016115958285611177565b610bbe60208301846112ec565b606081016115b08286611177565b6115bd60208301856112ec565b610c9f60408301846112ec565b604080825281016115db8185611180565b90508181036020830152610bbb8184611295565b60208101610b9082846112e3565b6040810161155a82856112ec565b60208082528101610bbe8184611324565b60208082528101610b908161135c565b60208082528101610b90816113a4565b60208082528101610b90816113ec565b60208082528101610b9081611425565b60208082528101610b9081611471565b6040810161167a82856112ec565b610bbe60208301846112e3565b60405181810167ffffffffffffffff811182821017156116a657600080fd5b604052919050565b600067ffffffffffffffff8211156116c557600080fd5b5060209081020190565b600067ffffffffffffffff8211156116e657600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b919050565b6000610b9082611722565b151590565b90565b6001600160a01b031690565b6000610b90826000610b908261170f565b82818337506000910152565b60005b8381101561176657818101518382015260200161174e565b838111156105925750506000910152565b601f01601f191690565b61178a8161170f565b81146100f657600080fd5b61178a8161171a565b61178a8161171f56fea164736f6c634300060c000a", - "sourceMap": "1025:6520:103:-:0;;;1664:691;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;1902:64:103;;;;;;;;1976:37;;;;;;;2023:81;;;;;;;2114:43;;;;;;;2167:86;;;;;;;2263:85;;;;;;;1025:6520;;5:134:-1;83:13;;101:33;83:13;101:33;:::i;:::-;68:71;;;;:::o;146:946::-;;;;;;;346:3;334:9;325:7;321:23;317:33;314:2;;;363:1;360;353:12;314:2;398:1;415:64;471:7;451:9;415:64;:::i;:::-;405:74;;377:108;516:2;534:64;590:7;581:6;570:9;566:22;534:64;:::i;:::-;524:74;;495:109;635:2;653:64;709:7;700:6;689:9;685:22;653:64;:::i;:::-;643:74;;614:109;754:2;772:64;828:7;819:6;808:9;804:22;772:64;:::i;:::-;762:74;;733:109;873:3;892:64;948:7;939:6;928:9;924:22;892:64;:::i;:::-;882:74;;852:110;993:3;1012:64;1068:7;1059:6;1048:9;1044:22;1012:64;:::i;:::-;1002:74;;972:110;308:784;;;;;;;;:::o;1099:91::-;;-1:-1;;;;;1259:54;;1161:24;1242:76::o;1325:117::-;1394:24;1412:5;1394:24;:::i;:::-;1387:5;1384:35;1374:2;;1433:1;1430;1423:12;1374:2;1368:74;:::o;:::-;1025:6520:103;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b506004361061004c5760003560e01c80634ddf47d41461005157806380daddb814610066578063e5c23a9714610085578063ecd658b414610098575b600080fd5b61006461005f366004611067565b6100a0565b005b61006e6100f9565b60405161007c9291906115ca565b60405180910390f35b610064610093366004611067565b6102e3565b61006e61037f565b6100f66001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000167f0000000000000000000000000000000000000000000000000000000000000000600019610385565b50565b60608060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166359355736306040518263ffffffff1660e01b815260040161014a9190611530565b60206040518083038186803b15801561016257600080fd5b505afa158015610176573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061019a919061109c565b6040516370a0823160e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a08231906101e6903090600401611530565b60206040518083038186803b1580156101fe57600080fd5b505afa158015610212573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610236919061109c565b01905080156102de5760408051600180825281830190925290602080830190803683370190505092507f00000000000000000000000000000000000000000000000000000000000000008360008151811061028d57fe5b6001600160a01b039290921660209283029190910182015260408051600180825281830190925291828101908036833701905050915080826000815181106102d157fe5b6020026020010181815250505b509091565b60006060828060200190518101906102fb91906110ba565b9092509050816103135761030e8161047f565b61037a565b60018214156103245761030e610517565b60028214156103355761030e610598565b60038214156103475761030e816105e4565b60048214156103595761030e816108bf565b60405162461bcd60e51b81526004016103719061162c565b60405180910390fd5b505050565b60608091565b80158061040d5750604051636eb1769f60e11b81526001600160a01b0384169063dd62ed3e906103bb903090869060040161154c565b60206040518083038186803b1580156103d357600080fd5b505afa1580156103e7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061040b919061109c565b155b6104295760405162461bcd60e51b81526004016103719061165c565b61037a8363095ea7b360e01b8484604051602401610448929190611587565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915261095b565b60008061048b836109ea565b60405163e2ab691d60e01b815291935091506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063e2ab691d906104e0903090869086906004016115a2565b600060405180830381600087803b1580156104fa57600080fd5b505af115801561050e573d6000803e3d6000fd5b50505050505050565b60405163312ff83960e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063312ff83990610564906001906004016115ef565b600060405180830381600087803b15801561057e57600080fd5b505af1158015610592573d6000803e3d6000fd5b50505050565b60405163d36f12fb60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063d36f12fb9061056490339060040161153e565b6060600060608060006105f686610a0a565b94509450945094509450831561068557604051630c00007b60e41b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c00007b090610652903090600401611530565b600060405180830381600087803b15801561066c57600080fd5b505af1158015610680573d6000803e3d6000fd5b505050505b60005b8351811015610730577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316636b091695308684815181106106cd57fe5b60200260200101516040518363ffffffff1660e01b81526004016106f292919061154c565b600060405180830381600087803b15801561070c57600080fd5b505af1158015610720573d6000803e3d6000fd5b5050600190920191506106889050565b508151156107b957604051631067326f60e11b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906320ce64de906107869030908690600401611567565b600060405180830381600087803b1580156107a057600080fd5b505af11580156107b4573d6000803e3d6000fd5b505050505b80156108b5576040516370a0823160e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906338d074369082906370a0823190610813903090600401611530565b60206040518083038186803b15801561082b57600080fd5b505afa15801561083f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610863919061109c565b60016040518363ffffffff1660e01b815260040161088292919061166c565b600060405180830381600087803b15801561089c57600080fd5b505af11580156108b0573d6000803e3d6000fd5b505050505b61050e3386610a39565b60006108ca82610b96565b6040516317b0dca160e31b81529091506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063bd86e5089061092590660c6ecf05ccae8d60cb1b9085906004016115fd565b600060405180830381600087803b15801561093f57600080fd5b505af1158015610953573d6000803e3d6000fd5b505050505050565b60606109b0826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610bac9092919063ffffffff16565b80519091501561037a57808060200190518101906109ce9190611049565b61037a5760405162461bcd60e51b81526004016103719061164c565b60008082806020019051810190610a01919061110c565b91509150915091565b60606000606080600085806020019051810190610a279190610f8d565b939a9299509097509550909350915050565b6060815167ffffffffffffffff81118015610a5357600080fd5b50604051908082528060200260200182016040528015610a7d578160200160208202803683370190505b50905060005b8251811015610b8e576000838281518110610a9a57fe5b60200260200101519050806001600160a01b03166370a08231306040518263ffffffff1660e01b8152600401610ad09190611530565b60206040518083038186803b158015610ae857600080fd5b505afa158015610afc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b20919061109c565b838381518110610b2c57fe5b6020026020010181815250506000838381518110610b4657fe5b60200260200101511115610b8557610b8585848481518110610b6457fe5b6020026020010151836001600160a01b0316610bc59092919063ffffffff16565b50600101610a83565b505b92915050565b600081806020019051810190610b909190610f6f565b6060610bbb8484600085610be4565b90505b9392505050565b61037a8363a9059cbb60e01b8484604051602401610448929190611587565b606082471015610c065760405162461bcd60e51b81526004016103719061161c565b610c0f85610ca7565b610c2b5760405162461bcd60e51b81526004016103719061163c565b60006060866001600160a01b03168587604051610c489190611524565b60006040518083038185875af1925050503d8060008114610c85576040519150601f19603f3d011682016040523d82523d6000602084013e610c8a565b606091505b5091509150610c9a828286610cad565b925050505b949350505050565b3b151590565b60608315610cbc575081610bbe565b825115610ccc5782518084602001fd5b8160405162461bcd60e51b8152600401610371919061160b565b8051610b9081611781565b600082601f830112610d0257600080fd5b8151610d15610d10826116ae565b611687565b91508181835260208401935060208101905083856020840282011115610d3a57600080fd5b60005b83811015610d665781610d508882610ce6565b8452506020928301929190910190600101610d3d565b5050505092915050565b600082601f830112610d8157600080fd5b8151610d8f610d10826116ae565b91508181835260208401935060208101905083856020840282011115610db457600080fd5b60005b83811015610d665781610dca8882610e48565b8452506020928301929190910190600101610db7565b600082601f830112610df157600080fd5b8151610dff610d10826116ae565b81815260209384019390925082018360005b83811015610d665781518601610e278882610ee8565b8452506020928301929190910190600101610e11565b8051610b9081611795565b8051610b908161179e565b600082601f830112610e6457600080fd5b8135610e72610d10826116cf565b91508082526020830160208301858383011115610e8e57600080fd5b610e9983828461173f565b50505092915050565b600082601f830112610eb357600080fd5b8151610ec1610d10826116cf565b91508082526020830160208301858383011115610edd57600080fd5b610e9983828461174b565b600060808284031215610efa57600080fd5b610f046080611687565b90506000610f128484610ce6565b8252506020610f2384848301610e48565b6020830152506040610f3784828501610e48565b604083015250606082015167ffffffffffffffff811115610f5757600080fd5b610f6384828501610d70565b60608301525092915050565b600060208284031215610f8157600080fd5b6000610c9f8484610ce6565b600080600080600060a08688031215610fa557600080fd5b855167ffffffffffffffff811115610fbc57600080fd5b610fc888828901610cf1565b9550506020610fd988828901610e3d565b945050604086015167ffffffffffffffff811115610ff657600080fd5b61100288828901610cf1565b935050606086015167ffffffffffffffff81111561101f57600080fd5b61102b88828901610de0565b925050608061103c88828901610e3d565b9150509295509295909350565b60006020828403121561105b57600080fd5b6000610c9f8484610e3d565b60006020828403121561107957600080fd5b813567ffffffffffffffff81111561109057600080fd5b610c9f84828501610e53565b6000602082840312156110ae57600080fd5b6000610c9f8484610e48565b600080604083850312156110cd57600080fd5b60006110d98585610e48565b925050602083015167ffffffffffffffff8111156110f657600080fd5b61110285828601610ea2565b9150509250929050565b6000806040838503121561111f57600080fd5b600061112b8585610e48565b925050602061110285828601610e48565b60006111488383611177565b505060200190565b600061114883836112ec565b6000610bbe83836114c9565b6111718161172e565b82525050565b6111718161170f565b600061118b826116fd565b6111958185611701565b93506111a0836116f7565b8060005b838110156111ce5781516111b8888261113c565b97506111c3836116f7565b9250506001016111a4565b509495945050505050565b60006111e4826116fd565b6111ee8185611701565b93506111f9836116f7565b8060005b838110156111ce5781516112118882611150565b975061121c836116f7565b9250506001016111fd565b6000611232826116fd565b61123c8185611701565b93508360208202850161124e856116f7565b8060005b85811015611288578484038952815161126b858261115c565b9450611276836116f7565b60209a909a0199925050600101611252565b5091979650505050505050565b60006112a0826116fd565b6112aa8185611701565b93506112b5836116f7565b8060005b838110156111ce5781516112cd8882611150565b97506112d8836116f7565b9250506001016112b9565b6111718161171a565b6111718161171f565b6000611300826116fd565b61130a818561170a565b935061131a81856020860161174b565b9290920192915050565b600061132f826116fd565b6113398185611701565b935061134981856020860161174b565b61135281611777565b9093019392505050565b6000611369602683611701565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f8152651c8818d85b1b60d21b602082015260400192915050565b60006113b1602683611701565b7f7265636569766543616c6c46726f6d5661756c743a20496e76616c69642061638152651d1a5bdb925960d21b602082015260400192915050565b60006113f9601d83611701565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000815260200192915050565b6000611432602a83611701565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e8152691bdd081cdd58d8d9595960b21b602082015260400192915050565b600061147e603683611701565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f81527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b602082015260400192915050565b805160009060808401906114dd8582611177565b5060208301516114f060208601826112ec565b50604083015161150360408601826112ec565b506060830151848203606086015261151b82826111d9565b95945050505050565b6000610bbe82846112f5565b60208101610b908284611177565b60208101610b908284611168565b6040810161155a8285611177565b610bbe6020830184611177565b604081016115758285611177565b8181036020830152610bbb8184611227565b604081016115958285611177565b610bbe60208301846112ec565b606081016115b08286611177565b6115bd60208301856112ec565b610c9f60408301846112ec565b604080825281016115db8185611180565b90508181036020830152610bbb8184611295565b60208101610b9082846112e3565b6040810161155a82856112ec565b60208082528101610bbe8184611324565b60208082528101610b908161135c565b60208082528101610b90816113a4565b60208082528101610b90816113ec565b60208082528101610b9081611425565b60208082528101610b9081611471565b6040810161167a82856112ec565b610bbe60208301846112e3565b60405181810167ffffffffffffffff811182821017156116a657600080fd5b604052919050565b600067ffffffffffffffff8211156116c557600080fd5b5060209081020190565b600067ffffffffffffffff8211156116e657600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b919050565b6000610b9082611722565b151590565b90565b6001600160a01b031690565b6000610b90826000610b908261170f565b82818337506000910152565b60005b8381101561176657818101518382015260200161174e565b838111156105925750506000910152565b601f01601f191690565b61178a8161170f565b81146100f657600080fd5b61178a8161171a565b61178a8161171f56fea164736f6c634300060c000a", - "sourceMap": "1025:6520:103:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2411:219;;;;;;:::i;:::-;;:::i;:::-;;6828:715;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;2758:717;;;;;;:::i;:::-;;:::i;6473:176::-;;;:::i;2411:219::-;2549:74;-1:-1:-1;;;;;2549:18:103;:30;2588:14;-1:-1:-1;;2549:30:103;:74::i;:::-;2411:219;:::o;6828:715::-;6907:24;6933:25;7145:23;7229:14;-1:-1:-1;;;;;7229:30:103;;7268:4;7229:45;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7171:43;;-1:-1:-1;;;7171:43:103;;-1:-1:-1;;;;;7171:18:103;:28;;;;:43;;7208:4;;7171:43;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:103;;-1:-1:-1;7289:19:103;;7285:215;;7334:16;;;7348:1;7334:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7334:16:103;7324:26;;7385:18;7364:7;7372:1;7364:10;;;;;;;;-1:-1:-1;;;;;7364:40:103;;;;:10;;;;;;;;;;:40;7430:16;;;7444:1;7430:16;;;;;;;;;;;;;;7364:10;7430:16;;;;;-1:-1:-1;7430:16:103;7419:27;;7474:15;7460:8;7469:1;7460:11;;;;;;;;;;;;;:29;;;;;7285:215;7510:26;6828:715;;:::o;2758:717::-;2843:16;2861:23;2899:11;2888:41;;;;;;;;;;;;:::i;:::-;2842:87;;-1:-1:-1;2842:87:103;-1:-1:-1;2944:33:103;2940:529;;2993:18;3000:10;2993:6;:18::i;:::-;2940:529;;;3052:14;3032:8;:35;3028:441;;;3083:10;:8;:10::i;3028:441::-;3134:16;3114:8;:37;3110:359;;;3167:12;:10;:12::i;3110:359::-;3220:20;3200:8;:41;3196:273;;;3257:26;3272:10;3257:14;:26::i;3196:273::-;3324:16;3304:8;:37;3300:169;;;3357:22;3368:10;3357;:22::i;3300:169::-;3410:48;;-1:-1:-1;;;3410:48:103;;;;;;;:::i;:::-;;;;;;;;3300:169;2758:717;;;:::o;6473:176::-;6549:24;6575:25;6473:176;:::o;1348:613:450:-;1713:10;;;1712:62;;-1:-1:-1;1729:39:450;;-1:-1:-1;;;1729:39:450;;-1:-1:-1;;;;;1729:15:450;;;;;:39;;1753:4;;1760:7;;1729:39;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:44;1712:62;1704:150;;;;-1:-1:-1;;;1704:150:450;;;;;;;:::i;:::-;1864:90;1884:5;1914:22;;;1938:7;1947:5;1891:62;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;1891:62:450;;;;;;;;;;;;;;-1:-1:-1;;;;;1891:62:450;-1:-1:-1;;;;;;1891:62:450;;;;;;;;;;1864:19;:90::i;3543:205:103:-;3604:14;3620:18;3642:35;3665:11;3642:22;:35::i;:::-;3687:54;;-1:-1:-1;;;3687:54:103;;3603:74;;-1:-1:-1;3603:74:103;-1:-1:-1;;;;;;3687:14:103;:19;;;;:54;;3715:4;;3603:74;;;;3687:54;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3543:205;;;:::o;3838:85::-;3876:40;;-1:-1:-1;;;3876:40:103;;-1:-1:-1;;;;;3876:14:103;:34;;;;:40;;3911:4;;3876:40;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3838:85::o;3982:96::-;4022:49;;-1:-1:-1;;;4022:49:103;;-1:-1:-1;;;;;4022:14:103;:37;;;;:49;;4060:10;;4022:49;;;:::i;4917:1310::-;4999:36;5049:23;5086:34;5134:56;5204:18;5235:43;5266:11;5235:30;:43::i;:::-;4985:293;;;;;;;;;;5336:18;5332:88;;;5370:39;;-1:-1:-1;;;5370:39:103;;-1:-1:-1;;;;;5370:14:103;:24;;;;:39;;5403:4;;5370:39;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5332:88;5494:9;5489:151;5509:17;:24;5505:1;:28;5489:151;;;5554:28;-1:-1:-1;;;;;5554:38:103;;5601:4;5608:17;5626:1;5608:20;;;;;;;;;;;;;;5554:75;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5535:3:103;;;;;-1:-1:-1;5489:151:103;;-1:-1:-1;5489:151:103;;-1:-1:-1;5691:19:103;;:23;5687:128;;5730:74;;-1:-1:-1;;;5730:74:103;;-1:-1:-1;;;;;5730:34:103;:45;;;;:74;;5784:4;;5791:12;;5730:74;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5687:128;5914:13;5910:244;;;6058:49;;-1:-1:-1;;;6058:49:103;;-1:-1:-1;;;;;6007:24:103;:33;;;;;;6058:34;;:49;;6101:4;;6058:49;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6125:4;6007:136;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5910:244;6164:56;6188:10;6200:19;6164:23;:56::i;4176:207::-;4240:16;4259:39;4286:11;4259:26;:39::i;:::-;4308:68;;-1:-1:-1;;;4308:68:103;;4240:58;;-1:-1:-1;;;;;;4308:26:103;:38;;;;:68;;-1:-1:-1;;;4347:18:103;4240:58;;4308:68;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4176:207;;:::o;2967:751:450:-;3386:23;3412:69;3440:4;3412:69;;;;;;;;;;;;;;;;;3420:5;-1:-1:-1;;;;;3412:27:450;;;:69;;;;;:::i;:::-;3495:17;;3386:95;;-1:-1:-1;3495:21:450;3491:221;;3635:10;3624:30;;;;;;;;;;;;:::i;:::-;3616:85;;;;-1:-1:-1;;;3616:85:450;;;;;;;:::i;1577:214:102:-;1682:15;1699:19;1752:11;1741:43;;;;;;;;;;;;:::i;:::-;1734:50;;;;1577:214;;;:::o;696:548::-;822:37;873:24;911:35;960:57;1031:19;1122:11;1094:143;;;;;;;;;;;;:::i;:::-;1075:162;;;;-1:-1:-1;1075:162:102;;-1:-1:-1;1075:162:102;-1:-1:-1;1075:162:102;;-1:-1:-1;696:548:102;-1:-1:-1;;696:548:102:o;3539:585:355:-;3649:36;3737:7;:14;3723:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3723:29:355;;3701:51;;3767:9;3762:319;3782:7;:14;3778:1;:18;3762:319;;;3817:19;3845:7;3853:1;3845:10;;;;;;;;;;;;;;3817:39;;3895:13;-1:-1:-1;;;;;3895:23:355;;3927:4;3895:38;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3870:19;3890:1;3870:22;;;;;;;;;;;;;:63;;;;;3976:1;3951:19;3971:1;3951:22;;;;;;;;;;;;;;:26;3947:124;;;3997:59;4024:7;4033:19;4053:1;4033:22;;;;;;;;;;;;;;3997:13;-1:-1:-1;;;;;3997:26:355;;;:59;;;;;:::i;:::-;-1:-1:-1;3798:3:355;;3762:319;;;;3539:585;;;;;:::o;1317:191:102:-;1426:18;1478:11;1467:34;;;;;;;;;;;;:::i;3581:193:451:-;3684:12;3715:52;3737:6;3745:4;3751:1;3754:12;3715:21;:52::i;:::-;3708:59;;3581:193;;;;;;:::o;704:175:450:-;786:86;806:5;836:23;;;861:2;865:5;813:58;;;;;;;;;:::i;4608:523:451:-;4735:12;4792:5;4767:21;:30;;4759:81;;;;-1:-1:-1;;;4759:81:451;;;;;;;:::i;:::-;4858:18;4869:6;4858:10;:18::i;:::-;4850:60;;;;-1:-1:-1;;;4850:60:451;;;;;;;:::i;:::-;4981:12;4995:23;5022:6;-1:-1:-1;;;;;5022:11:451;5042:5;5050:4;5022:33;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4980:75;;;;5072:52;5090:7;5099:10;5111:12;5072:17;:52::i;:::-;5065:59;;;;4608:523;;;;;;;:::o;726:413::-;1086:20;1124:8;;;726:413::o;7091:725::-;7206:12;7234:7;7230:580;;;-1:-1:-1;7264:10:451;7257:17;;7230:580;7375:17;;:21;7371:429;;7633:10;7627:17;7693:15;7680:10;7676:2;7672:19;7665:44;7582:145;7772:12;7765:20;;-1:-1:-1;;;7765:20:451;;;;;;;;:::i;5:134:-1:-;83:13;;101:33;83:13;101:33;:::i;321:722::-;;449:3;442:4;434:6;430:17;426:27;416:2;;467:1;464;457:12;416:2;497:6;491:13;519:80;534:64;591:6;534:64;:::i;:::-;519:80;:::i;:::-;510:89;;616:5;641:6;634:5;627:21;671:4;663:6;659:17;649:27;;693:4;688:3;684:14;677:21;;746:6;793:3;785:4;777:6;773:17;768:3;764:27;761:36;758:2;;;810:1;807;800:12;758:2;835:1;820:217;845:6;842:1;839:13;820:217;;;903:3;925:48;969:3;957:10;925:48;:::i;:::-;913:61;;-1:-1;997:4;988:14;;;;1016;;;;;867:1;860:9;820:217;;;824:14;409:634;;;;;;;:::o;1069:722::-;;1197:3;1190:4;1182:6;1178:17;1174:27;1164:2;;1215:1;1212;1205:12;1164:2;1245:6;1239:13;1267:80;1282:64;1339:6;1282:64;:::i;1267:80::-;1258:89;;1364:5;1389:6;1382:5;1375:21;1419:4;1411:6;1407:17;1397:27;;1441:4;1436:3;1432:14;1425:21;;1494:6;1541:3;1533:4;1525:6;1521:17;1516:3;1512:27;1509:36;1506:2;;;1558:1;1555;1548:12;1506:2;1583:1;1568:217;1593:6;1590:1;1587:13;1568:217;;;1651:3;1673:48;1717:3;1705:10;1673:48;:::i;:::-;1661:61;;-1:-1;1745:4;1736:14;;;;1764;;;;;1615:1;1608:9;1568:217;;1851:773;;2008:3;2001:4;1993:6;1989:17;1985:27;1975:2;;2026:1;2023;2016:12;1975:2;2056:6;2050:13;2078:109;2093:93;2179:6;2093:93;:::i;2078:109::-;2215:21;;;2259:4;2247:17;;;;2069:118;;-1:-1;2272:14;;2247:17;2367:1;2352:266;2377:6;2374:1;2371:13;2352:266;;;2453:3;2447:10;2439:6;2435:23;2477:77;2550:3;2538:10;2477:77;:::i;:::-;2465:90;;-1:-1;2578:4;2569:14;;;;2597;;;;;2399:1;2392:9;2352:266;;2632:128;2707:13;;2725:30;2707:13;2725:30;:::i;2767:134::-;2845:13;;2863:33;2845:13;2863:33;:::i;2909:440::-;;3010:3;3003:4;2995:6;2991:17;2987:27;2977:2;;3028:1;3025;3018:12;2977:2;3065:6;3052:20;3087:64;3102:48;3143:6;3102:48;:::i;3087:64::-;3078:73;;3171:6;3164:5;3157:21;3207:4;3199:6;3195:17;3240:4;3233:5;3229:16;3275:3;3266:6;3261:3;3257:16;3254:25;3251:2;;;3292:1;3289;3282:12;3251:2;3302:41;3336:6;3331:3;3326;3302:41;:::i;:::-;2970:379;;;;;;;:::o;3358:442::-;;3470:3;3463:4;3455:6;3451:17;3447:27;3437:2;;3488:1;3485;3478:12;3437:2;3518:6;3512:13;3540:64;3555:48;3596:6;3555:48;:::i;3540:64::-;3531:73;;3624:6;3617:5;3610:21;3660:4;3652:6;3648:17;3693:4;3686:5;3682:16;3728:3;3719:6;3714:3;3710:16;3707:25;3704:2;;;3745:1;3742;3735:12;3704:2;3755:39;3787:6;3782:3;3777;3755:39;:::i;3856:929::-;;3985:4;3973:9;3968:3;3964:19;3960:30;3957:2;;;4003:1;4000;3993:12;3957:2;4021:20;4036:4;4021:20;:::i;:::-;4012:29;-1:-1;4092:1;4124:60;4180:3;4160:9;4124:60;:::i;:::-;4099:86;;-1:-1;4247:2;4280:60;4336:3;4312:22;;;4280:60;:::i;:::-;4273:4;4266:5;4262:16;4255:86;4206:146;4404:2;4437:60;4493:3;4484:6;4473:9;4469:22;4437:60;:::i;:::-;4430:4;4423:5;4419:16;4412:86;4362:147;4587:2;4576:9;4572:18;4566:25;4611:18;4603:6;4600:30;4597:2;;;4643:1;4640;4633:12;4597:2;4678:85;4759:3;4750:6;4739:9;4735:22;4678:85;:::i;:::-;4671:4;4664:5;4660:16;4653:111;4519:256;3951:834;;;;:::o;4933:279::-;;5056:2;5044:9;5035:7;5031:23;5027:32;5024:2;;;5072:1;5069;5062:12;5024:2;5107:1;5124:72;5188:7;5168:9;5124:72;:::i;5219:1242::-;;;;;;5500:3;5488:9;5479:7;5475:23;5471:33;5468:2;;;5517:1;5514;5507:12;5468:2;5552:24;;5596:18;5585:30;;5582:2;;;5628:1;5625;5618:12;5582:2;5648:89;5729:7;5720:6;5709:9;5705:22;5648:89;:::i;:::-;5638:99;;5531:212;5774:2;5792:61;5845:7;5836:6;5825:9;5821:22;5792:61;:::i;:::-;5782:71;;5753:106;5911:2;5900:9;5896:18;5890:25;5935:18;5927:6;5924:30;5921:2;;;5967:1;5964;5957:12;5921:2;5987:89;6068:7;6059:6;6048:9;6044:22;5987:89;:::i;:::-;5977:99;;5869:213;6134:2;6123:9;6119:18;6113:25;6158:18;6150:6;6147:30;6144:2;;;6190:1;6187;6180:12;6144:2;6210:118;6320:7;6311:6;6300:9;6296:22;6210:118;:::i;:::-;6200:128;;6092:242;6365:3;6384:61;6437:7;6428:6;6417:9;6413:22;6384:61;:::i;:::-;6374:71;;6344:107;5462:999;;;;;;;;:::o;6468:257::-;;6580:2;6568:9;6559:7;6555:23;6551:32;6548:2;;;6596:1;6593;6586:12;6548:2;6631:1;6648:61;6701:7;6681:9;6648:61;:::i;6732:345::-;;6845:2;6833:9;6824:7;6820:23;6816:32;6813:2;;;6861:1;6858;6851:12;6813:2;6896:31;;6947:18;6936:30;;6933:2;;;6979:1;6976;6969:12;6933:2;6999:62;7053:7;7044:6;7033:9;7029:22;6999:62;:::i;7084:263::-;;7199:2;7187:9;7178:7;7174:23;7170:32;7167:2;;;7215:1;7212;7205:12;7167:2;7250:1;7267:64;7323:7;7303:9;7267:64;:::i;7354:496::-;;;7495:2;7483:9;7474:7;7470:23;7466:32;7463:2;;;7511:1;7508;7501:12;7463:2;7546:1;7563:64;7619:7;7599:9;7563:64;:::i;:::-;7553:74;;7525:108;7685:2;7674:9;7670:18;7664:25;7709:18;7701:6;7698:30;7695:2;;;7741:1;7738;7731:12;7695:2;7761:73;7826:7;7817:6;7806:9;7802:22;7761:73;:::i;:::-;7751:83;;7643:197;7457:393;;;;;:::o;7857:399::-;;;7989:2;7977:9;7968:7;7964:23;7960:32;7957:2;;;8005:1;8002;7995:12;7957:2;8040:1;8057:64;8113:7;8093:9;8057:64;:::i;:::-;8047:74;;8019:108;8158:2;8176:64;8232:7;8223:6;8212:9;8208:22;8176:64;:::i;8264:173::-;;8351:46;8393:3;8385:6;8351:46;:::i;:::-;-1:-1;;8426:4;8417:14;;8344:93::o;8446:173::-;;8533:46;8575:3;8567:6;8533:46;:::i;8628:269::-;;8787:104;8887:3;8879:6;8787:104;:::i;9087:142::-;9178:45;9217:5;9178:45;:::i;:::-;9173:3;9166:58;9160:69;;:::o;9236:103::-;9309:24;9327:5;9309:24;:::i;9497:690::-;;9642:54;9690:5;9642:54;:::i;:::-;9709:86;9788:6;9783:3;9709:86;:::i;:::-;9702:93;;9816:56;9866:5;9816:56;:::i;:::-;9892:7;9920:1;9905:260;9930:6;9927:1;9924:13;9905:260;;;9997:6;9991:13;10018:63;10077:3;10062:13;10018:63;:::i;:::-;10011:70;;10098:60;10151:6;10098:60;:::i;:::-;10088:70;-1:-1;;9952:1;9945:9;9905:260;;;-1:-1;10178:3;;9621:566;-1:-1;;;;;9621:566::o;10226:670::-;;10361:54;10409:5;10361:54;:::i;:::-;10428:76;10497:6;10492:3;10428:76;:::i;:::-;10421:83;;10525:56;10575:5;10525:56;:::i;:::-;10601:7;10629:1;10614:260;10639:6;10636:1;10633:13;10614:260;;;10706:6;10700:13;10727:63;10786:3;10771:13;10727:63;:::i;:::-;10720:70;;10807:60;10860:6;10807:60;:::i;:::-;10797:70;-1:-1;;10661:1;10654:9;10614:260;;11003:1080;;11206:83;11283:5;11206:83;:::i;:::-;11302:115;11410:6;11405:3;11302:115;:::i;:::-;11295:122;;11440:3;11482:4;11474:6;11470:17;11465:3;11461:27;11509:85;11588:5;11509:85;:::i;:::-;11614:7;11642:1;11627:417;11652:6;11649:1;11646:13;11627:417;;;11714:9;11708:4;11704:20;11699:3;11692:33;11759:6;11753:13;11781:122;11898:4;11883:13;11781:122;:::i;:::-;11773:130;;11920:89;12002:6;11920:89;:::i;:::-;12032:4;12023:14;;;;;11910:99;-1:-1;;11674:1;11667:9;11627:417;;;-1:-1;12057:4;;11185:898;-1:-1;;;;;;;11185:898::o;12122:690::-;;12267:54;12315:5;12267:54;:::i;:::-;12334:86;12413:6;12408:3;12334:86;:::i;:::-;12327:93;;12441:56;12491:5;12441:56;:::i;:::-;12517:7;12545:1;12530:260;12555:6;12552:1;12549:13;12530:260;;;12622:6;12616:13;12643:63;12702:3;12687:13;12643:63;:::i;:::-;12636:70;;12723:60;12776:6;12723:60;:::i;:::-;12713:70;-1:-1;;12577:1;12570:9;12530:260;;12820:104;12897:21;12912:5;12897:21;:::i;12931:103::-;13004:24;13022:5;13004:24;:::i;13161:356::-;;13289:38;13321:5;13289:38;:::i;:::-;13339:88;13420:6;13415:3;13339:88;:::i;:::-;13332:95;;13432:52;13477:6;13472:3;13465:4;13458:5;13454:16;13432:52;:::i;:::-;13496:16;;;;;13269:248;-1:-1;;13269:248::o;13524:347::-;;13636:39;13669:5;13636:39;:::i;:::-;13687:71;13751:6;13746:3;13687:71;:::i;:::-;13680:78;;13763:52;13808:6;13803:3;13796:4;13789:5;13785:16;13763:52;:::i;:::-;13836:29;13858:6;13836:29;:::i;:::-;13827:39;;;;13616:255;-1:-1;;;13616:255::o;13879:375::-;;14039:67;14103:2;14098:3;14039:67;:::i;:::-;14139:34;14119:55;;-1:-1;;;14203:2;14194:12;;14187:30;14245:2;14236:12;;14025:229;-1:-1;;14025:229::o;14263:375::-;;14423:67;14487:2;14482:3;14423:67;:::i;:::-;14523:34;14503:55;;-1:-1;;;14587:2;14578:12;;14571:30;14629:2;14620:12;;14409:229;-1:-1;;14409:229::o;14647:329::-;;14807:67;14871:2;14866:3;14807:67;:::i;:::-;14907:31;14887:52;;14967:2;14958:12;;14793:183;-1:-1;;14793:183::o;14985:379::-;;15145:67;15209:2;15204:3;15145:67;:::i;:::-;15245:34;15225:55;;-1:-1;;;15309:2;15300:12;;15293:34;15355:2;15346:12;;15131:233;-1:-1;;15131:233::o;15373:391::-;;15533:67;15597:2;15592:3;15533:67;:::i;:::-;15633:34;15613:55;;-1:-1;;;15697:2;15688:12;;15681:46;15755:2;15746:12;;15519:245;-1:-1;;15519:245::o;15865:918::-;16081:23;;15865:918;;16014:4;16005:14;;;16110:63;16009:3;16081:23;16110:63;:::i;:::-;16034:145;16253:4;16246:5;16242:16;16236:23;16265:63;16322:4;16317:3;16313:14;16299:12;16265:63;:::i;:::-;16189:145;16409:4;16402:5;16398:16;16392:23;16421:63;16478:4;16473:3;16469:14;16455:12;16421:63;:::i;:::-;16344:146;16570:4;16563:5;16559:16;16553:23;16622:3;16616:4;16612:14;16605:4;16600:3;16596:14;16589:38;16642:103;16740:4;16726:12;16642:103;:::i;:::-;16634:111;15987:796;-1:-1;;;;;15987:796::o;17020:271::-;;17173:93;17262:3;17253:6;17173:93;:::i;17298:222::-;17425:2;17410:18;;17439:71;17414:9;17483:6;17439:71;:::i;17527:238::-;17662:2;17647:18;;17676:79;17651:9;17728:6;17676:79;:::i;17772:333::-;17927:2;17912:18;;17941:71;17916:9;17985:6;17941:71;:::i;:::-;18023:72;18091:2;18080:9;18076:18;18067:6;18023:72;:::i;18112:597::-;18375:2;18360:18;;18389:71;18364:9;18433:6;18389:71;:::i;:::-;18508:9;18502:4;18498:20;18493:2;18482:9;18478:18;18471:48;18533:166;18694:4;18685:6;18533:166;:::i;18716:333::-;18871:2;18856:18;;18885:71;18860:9;18929:6;18885:71;:::i;:::-;18967:72;19035:2;19024:9;19020:18;19011:6;18967:72;:::i;19056:444::-;19239:2;19224:18;;19253:71;19228:9;19297:6;19253:71;:::i;:::-;19335:72;19403:2;19392:9;19388:18;19379:6;19335:72;:::i;:::-;19418;19486:2;19475:9;19471:18;19462:6;19418:72;:::i;19507:629::-;19762:2;19776:47;;;19747:18;;19837:108;19747:18;19931:6;19837:108;:::i;:::-;19829:116;;19993:9;19987:4;19983:20;19978:2;19967:9;19963:18;19956:48;20018:108;20121:4;20112:6;20018:108;:::i;20143:210::-;20264:2;20249:18;;20278:65;20253:9;20316:6;20278:65;:::i;20360:333::-;20515:2;20500:18;;20529:71;20504:9;20573:6;20529:71;:::i;20700:310::-;20847:2;20861:47;;;20832:18;;20922:78;20832:18;20986:6;20922:78;:::i;21017:416::-;21217:2;21231:47;;;21202:18;;21292:131;21202:18;21292:131;:::i;21440:416::-;21640:2;21654:47;;;21625:18;;21715:131;21625:18;21715:131;:::i;21863:416::-;22063:2;22077:47;;;22048:18;;22138:131;22048:18;22138:131;:::i;22286:416::-;22486:2;22500:47;;;22471:18;;22561:131;22471:18;22561:131;:::i;22709:416::-;22909:2;22923:47;;;22894:18;;22984:131;22894:18;22984:131;:::i;23132:321::-;23281:2;23266:18;;23295:71;23270:9;23339:6;23295:71;:::i;:::-;23377:66;23439:2;23428:9;23424:18;23415:6;23377:66;:::i;23460:256::-;23522:2;23516:9;23548:17;;;23623:18;23608:34;;23644:22;;;23605:62;23602:2;;;23680:1;23677;23670:12;23602:2;23696;23689:22;23500:216;;-1:-1;23500:216::o;23723:304::-;;23882:18;23874:6;23871:30;23868:2;;;23914:1;23911;23904:12;23868:2;-1:-1;23949:4;23937:17;;;24002:15;;23805:222::o;24685:321::-;;24828:18;24820:6;24817:30;24814:2;;;24860:1;24857;24850:12;24814:2;-1:-1;24991:4;24927;24904:17;;;;-1:-1;;24900:33;24981:15;;24751:255::o;25013:151::-;25137:4;25128:14;;25085:79::o;25674:137::-;25777:12;;25748:63::o;27026:178::-;27144:19;;;27193:4;27184:14;;27137:67::o;27793:144::-;27928:3;27906:31;-1:-1;27906:31::o;28117:91::-;;28179:24;28197:5;28179:24;:::i;28321:85::-;28387:13;28380:21;;28363:43::o;28413:72::-;28475:5;28458:27::o;28492:121::-;-1:-1;;;;;28554:54;;28537:76::o;28699:129::-;;28786:37;28817:5;28835:121;28914:37;28945:5;28914:37;:::i;29079:145::-;29160:6;29155:3;29150;29137:30;-1:-1;29216:1;29198:16;;29191:27;29130:94::o;29233:268::-;29298:1;29305:101;29319:6;29316:1;29313:13;29305:101;;;29386:11;;;29380:18;29367:11;;;29360:39;29341:2;29334:10;29305:101;;;29421:6;29418:1;29415:13;29412:2;;;-1:-1;;29486:1;29468:16;;29461:27;29282:219::o;29509:97::-;29597:2;29577:14;-1:-1;;29573:28;;29557:49::o;29614:117::-;29683:24;29701:5;29683:24;:::i;:::-;29676:5;29673:35;29663:2;;29722:1;29719;29712:12;29878:111;29944:21;29959:5;29944:21;:::i;29996:117::-;30065:24;30083:5;30065:24;:::i", - "linkReferences": {}, - "immutableReferences": { - "24819": [ - { - "start": 2006, - "length": 32 - } - ], - "24821": [ - { - "start": 173, - "length": 32 - }, - { - "start": 433, - "length": 32 - }, - { - "start": 609, - "length": 32 - } - ], - "24823": [ - { - "start": 2276, - "length": 32 - } - ], - "24825": [ - { - "start": 207, - "length": 32 - }, - { - "start": 256, - "length": 32 - }, - { - "start": 1191, - "length": 32 - }, - { - "start": 1326, - "length": 32 - }, - { - "start": 1455, - "length": 32 - }, - { - "start": 1565, - "length": 32 - } - ], - "24827": [ - { - "start": 1683, - "length": 32 - } - ], - "24829": [ - { - "start": 1871, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "getDebtAssets()": "ecd658b4", - "getManagedAssets()": "80daddb8", - "init(bytes)": "4ddf47d4", - "receiveCallFromVault(bytes)": "e5c23a97" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vlCvx\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_vlCvxExtraRewards\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_cvxCrvStaking\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_cvxToken\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_snapshotDelegateRegistry\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_votiumMultiMerkleStash\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"getDebtAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"assets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getManagedAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"assets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"}],\"name\":\"receiveCallFromVault\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"getDebtAssets()\":{\"returns\":{\"amounts_\":\"Debt asset amounts\",\"assets_\":\"Debt assets\"}},\"getManagedAssets()\":{\"returns\":{\"amounts_\":\"Managed asset amounts\",\"assets_\":\"Managed assets\"}},\"receiveCallFromVault(bytes)\":{\"params\":{\"_actionData\":\"Encoded data to execute the action\"}}},\"title\":\"ConvexVotingPositionLib Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getDebtAssets()\":{\"notice\":\"Retrieves the debt assets (negative value) of the external position\"},\"getManagedAssets()\":{\"notice\":\"Retrieves the managed assets (positive value) of the external position\"},\"init(bytes)\":{\"notice\":\"Initializes the external position\"},\"receiveCallFromVault(bytes)\":{\"notice\":\"Receives and executes a call from the Vault\"}},\"notice\":\"Library contract for Convex vlCVX positions\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/convex-voting/ConvexVotingPositionLib.sol\":\"ConvexVotingPositionLib\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/release/extensions/external-position-manager/external-positions/convex-voting/ConvexVotingPositionDataDecoder.sol\":{\"keccak256\":\"0xa6519ec08d094279d264517505c108a3c71da5bb0992780856f0a50c922235ab\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://39c01f7087471c265a0dc6a0542dc428f73e3472e81d65561956bb21c38bc9b3\",\"dweb:/ipfs/QmTud9X9jniBpw96ve2mqvZqVmcV6mourqxrNSGmaoh8ng\"]},\"contracts/release/extensions/external-position-manager/external-positions/convex-voting/ConvexVotingPositionLib.sol\":{\"keccak256\":\"0x0adcb14001b7adddc995d7d09f51a5c1807806802b7db746d2f0a4b0821960b5\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://57283dc450b68e2a3317574527c453ced189a99b192a75f22ae9184c61717d98\",\"dweb:/ipfs/QmZ4NFrv3BuFCYfybM6Q9jviSGMgCptMbz4p5Kc4GXbdX6\"]},\"contracts/release/extensions/external-position-manager/external-positions/convex-voting/IConvexVotingPosition.sol\":{\"keccak256\":\"0x7a6ea639f6f611e8098537a3310378e246c06a3d1362d8b16c8bd6fd1bfa5f63\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1bf56ec6e00cb8d97ecdb262439c1d619dbca06720f6e217e219539a326bbe43\",\"dweb:/ipfs/QmXYJAXCw6YZWrArvD9RvE1SS4FEzCsz2jXef5vbpU88EW\"]},\"contracts/release/interfaces/IConvexBaseRewardPool.sol\":{\"keccak256\":\"0x7c82b546c3c339c6f602191bc9062d6887af7db438800359c0547aa6bb025acc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://13a488b1d715000d1ed9415917a8f9c347ec91b04770b74746facacd88e2e105\",\"dweb:/ipfs/QmaHJKxagREc7Mbq8SkSbWgzwk8bNSFTwojAD5hNemwy1Y\"]},\"contracts/release/interfaces/IConvexCvxLockerV2.sol\":{\"keccak256\":\"0xa6fefe917f35840e9d0e2c34d946810c48d5c74e32bf1af1a41f4eac4ce44f0a\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d23ba1cb3ae9eb0f259e2c0f48af0831062ec3a22f0592d0b8ee29eb558b391c\",\"dweb:/ipfs/QmQYdaias2dV5aXATEp1fKfscyTXSY7m4oMtEcYyZ85RcS\"]},\"contracts/release/interfaces/IConvexVlCvxExtraRewardDistribution.sol\":{\"keccak256\":\"0x0696b9b5f485b3924c1b2136d459aefd3b051bf066a8f813e7b3454a1fcb318b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://aa2c4e6754a04a251f3bcf18dd3447bdade22e403356312dc142469b53ab3a07\",\"dweb:/ipfs/QmeZRGgxy6aihqT25mgWZsDb9ghicYqj9rjTNcqYC51YhM\"]},\"contracts/release/interfaces/ISnapshotDelegateRegistry.sol\":{\"keccak256\":\"0x87b6323060ce9067affc51a627f9df5bfa280098c8d76f3c7f70b132d27eea2d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b111d9a4af882030499b49cc7b8fbf6fda777309392991a210bb4117f7096014\",\"dweb:/ipfs/QmR2d3eyPf6WpH1AxX6cSTYjWuEf547ydBb6KXc3XcYeNm\"]},\"contracts/release/interfaces/IVotiumMultiMerkleStash.sol\":{\"keccak256\":\"0x457bd31cabe3ea8427546bf14112f50a866b5eae3b2e1089a64acda8d6a7bb29\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://fae1df3cf61c2841987b8227a6c1cb7d0a487f62bcc4fce6d5ac40387dedf517\",\"dweb:/ipfs/QmRv4t9nK1tQ7fWnLeyCYCe8fzCSo2E1PnA9o3TPUBMVeW\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_vlCvx", - "type": "address" - }, - { - "internalType": "address", - "name": "_vlCvxExtraRewards", - "type": "address" - }, - { - "internalType": "address", - "name": "_cvxCrvStaking", - "type": "address" - }, - { - "internalType": "address", - "name": "_cvxToken", - "type": "address" - }, - { - "internalType": "address", - "name": "_snapshotDelegateRegistry", - "type": "address" - }, - { - "internalType": "address", - "name": "_votiumMultiMerkleStash", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "getDebtAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "assets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "amounts_", - "type": "uint256[]" - } - ] - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "getManagedAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "assets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "amounts_", - "type": "uint256[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "init" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "receiveCallFromVault" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "getDebtAssets()": { - "returns": { - "amounts_": "Debt asset amounts", - "assets_": "Debt assets" - } - }, - "getManagedAssets()": { - "returns": { - "amounts_": "Managed asset amounts", - "assets_": "Managed assets" - } - }, - "receiveCallFromVault(bytes)": { - "params": { - "_actionData": "Encoded data to execute the action" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "getDebtAssets()": { - "notice": "Retrieves the debt assets (negative value) of the external position" - }, - "getManagedAssets()": { - "notice": "Retrieves the managed assets (positive value) of the external position" - }, - "init(bytes)": { - "notice": "Initializes the external position" - }, - "receiveCallFromVault(bytes)": { - "notice": "Receives and executes a call from the Vault" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/external-position-manager/external-positions/convex-voting/ConvexVotingPositionLib.sol": "ConvexVotingPositionLib" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/external-positions/IExternalPosition.sol": { - "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", - "urls": [ - "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", - "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/convex-voting/ConvexVotingPositionDataDecoder.sol": { - "keccak256": "0xa6519ec08d094279d264517505c108a3c71da5bb0992780856f0a50c922235ab", - "urls": [ - "bzz-raw://39c01f7087471c265a0dc6a0542dc428f73e3472e81d65561956bb21c38bc9b3", - "dweb:/ipfs/QmTud9X9jniBpw96ve2mqvZqVmcV6mourqxrNSGmaoh8ng" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/convex-voting/ConvexVotingPositionLib.sol": { - "keccak256": "0x0adcb14001b7adddc995d7d09f51a5c1807806802b7db746d2f0a4b0821960b5", - "urls": [ - "bzz-raw://57283dc450b68e2a3317574527c453ced189a99b192a75f22ae9184c61717d98", - "dweb:/ipfs/QmZ4NFrv3BuFCYfybM6Q9jviSGMgCptMbz4p5Kc4GXbdX6" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/convex-voting/IConvexVotingPosition.sol": { - "keccak256": "0x7a6ea639f6f611e8098537a3310378e246c06a3d1362d8b16c8bd6fd1bfa5f63", - "urls": [ - "bzz-raw://1bf56ec6e00cb8d97ecdb262439c1d619dbca06720f6e217e219539a326bbe43", - "dweb:/ipfs/QmXYJAXCw6YZWrArvD9RvE1SS4FEzCsz2jXef5vbpU88EW" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IConvexBaseRewardPool.sol": { - "keccak256": "0x7c82b546c3c339c6f602191bc9062d6887af7db438800359c0547aa6bb025acc", - "urls": [ - "bzz-raw://13a488b1d715000d1ed9415917a8f9c347ec91b04770b74746facacd88e2e105", - "dweb:/ipfs/QmaHJKxagREc7Mbq8SkSbWgzwk8bNSFTwojAD5hNemwy1Y" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IConvexCvxLockerV2.sol": { - "keccak256": "0xa6fefe917f35840e9d0e2c34d946810c48d5c74e32bf1af1a41f4eac4ce44f0a", - "urls": [ - "bzz-raw://d23ba1cb3ae9eb0f259e2c0f48af0831062ec3a22f0592d0b8ee29eb558b391c", - "dweb:/ipfs/QmQYdaias2dV5aXATEp1fKfscyTXSY7m4oMtEcYyZ85RcS" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IConvexVlCvxExtraRewardDistribution.sol": { - "keccak256": "0x0696b9b5f485b3924c1b2136d459aefd3b051bf066a8f813e7b3454a1fcb318b", - "urls": [ - "bzz-raw://aa2c4e6754a04a251f3bcf18dd3447bdade22e403356312dc142469b53ab3a07", - "dweb:/ipfs/QmeZRGgxy6aihqT25mgWZsDb9ghicYqj9rjTNcqYC51YhM" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/ISnapshotDelegateRegistry.sol": { - "keccak256": "0x87b6323060ce9067affc51a627f9df5bfa280098c8d76f3c7f70b132d27eea2d", - "urls": [ - "bzz-raw://b111d9a4af882030499b49cc7b8fbf6fda777309392991a210bb4117f7096014", - "dweb:/ipfs/QmR2d3eyPf6WpH1AxX6cSTYjWuEf547ydBb6KXc3XcYeNm" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IVotiumMultiMerkleStash.sol": { - "keccak256": "0x457bd31cabe3ea8427546bf14112f50a866b5eae3b2e1089a64acda8d6a7bb29", - "urls": [ - "bzz-raw://fae1df3cf61c2841987b8227a6c1cb7d0a487f62bcc4fce6d5ac40387dedf517", - "dweb:/ipfs/QmRv4t9nK1tQ7fWnLeyCYCe8fzCSo2E1PnA9o3TPUBMVeW" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AssetHelpers.sol": { - "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", - "urls": [ - "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", - "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { - "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", - "urls": [ - "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", - "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Address.sol": { - "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", - "urls": [ - "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", - "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 103 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_vlCvx", "type": "address", "internalType": "address" }, { "name": "_vlCvxExtraRewards", "type": "address", "internalType": "address" }, { "name": "_cvxCrvStaking", "type": "address", "internalType": "address" }, { "name": "_cvxToken", "type": "address", "internalType": "address" }, { "name": "_snapshotDelegateRegistry", "type": "address", "internalType": "address" }, { "name": "_votiumMultiMerkleStash", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "getDebtAssets", "inputs": [], "outputs": [ { "name": "assets_", "type": "address[]", "internalType": "address[]" }, { "name": "amounts_", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "getManagedAssets", "inputs": [], "outputs": [ { "name": "assets_", "type": "address[]", "internalType": "address[]" }, { "name": "amounts_", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "init", "inputs": [ { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "receiveCallFromVault", "inputs": [ { "name": "_actionData", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x6101406040523480156200001257600080fd5b506040516200197c3803806200197c83398101604081905262000035916200008b565b6001600160601b0319606094851b811660805292841b831660a05290831b821660c05293821b811660e05291811b8216610100529190911b16610120526200014b565b8051620000858162000131565b92915050565b60008060008060008060c08789031215620000a557600080fd5b6000620000b3898962000078565b9650506020620000c689828a0162000078565b9550506040620000d989828a0162000078565b9450506060620000ec89828a0162000078565b9350506080620000ff89828a0162000078565b92505060a06200011289828a0162000078565b9150509295509295509295565b60006001600160a01b03821662000085565b6200013c816200011f565b81146200014857600080fd5b50565b60805160601c60a05160601c60c05160601c60e05160601c6101005160601c6101205160601c6117b4620001c86000398061074f52508061069352508060cf528061010052806104a7528061052e52806105af528061061d5250806108e452508060ad52806101b152806102615250806107d652506117b46000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80634ddf47d41461005157806380daddb814610066578063e5c23a9714610085578063ecd658b414610098575b600080fd5b61006461005f366004611067565b6100a0565b005b61006e6100f9565b60405161007c9291906115ca565b60405180910390f35b610064610093366004611067565b6102e3565b61006e61037f565b6100f66001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000167f0000000000000000000000000000000000000000000000000000000000000000600019610385565b50565b60608060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166359355736306040518263ffffffff1660e01b815260040161014a9190611530565b60206040518083038186803b15801561016257600080fd5b505afa158015610176573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061019a919061109c565b6040516370a0823160e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a08231906101e6903090600401611530565b60206040518083038186803b1580156101fe57600080fd5b505afa158015610212573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610236919061109c565b01905080156102de5760408051600180825281830190925290602080830190803683370190505092507f00000000000000000000000000000000000000000000000000000000000000008360008151811061028d57fe5b6001600160a01b039290921660209283029190910182015260408051600180825281830190925291828101908036833701905050915080826000815181106102d157fe5b6020026020010181815250505b509091565b60006060828060200190518101906102fb91906110ba565b9092509050816103135761030e8161047f565b61037a565b60018214156103245761030e610517565b60028214156103355761030e610598565b60038214156103475761030e816105e4565b60048214156103595761030e816108bf565b60405162461bcd60e51b81526004016103719061162c565b60405180910390fd5b505050565b60608091565b80158061040d5750604051636eb1769f60e11b81526001600160a01b0384169063dd62ed3e906103bb903090869060040161154c565b60206040518083038186803b1580156103d357600080fd5b505afa1580156103e7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061040b919061109c565b155b6104295760405162461bcd60e51b81526004016103719061165c565b61037a8363095ea7b360e01b8484604051602401610448929190611587565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915261095b565b60008061048b836109ea565b60405163e2ab691d60e01b815291935091506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063e2ab691d906104e0903090869086906004016115a2565b600060405180830381600087803b1580156104fa57600080fd5b505af115801561050e573d6000803e3d6000fd5b50505050505050565b60405163312ff83960e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063312ff83990610564906001906004016115ef565b600060405180830381600087803b15801561057e57600080fd5b505af1158015610592573d6000803e3d6000fd5b50505050565b60405163d36f12fb60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063d36f12fb9061056490339060040161153e565b6060600060608060006105f686610a0a565b94509450945094509450831561068557604051630c00007b60e41b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c00007b090610652903090600401611530565b600060405180830381600087803b15801561066c57600080fd5b505af1158015610680573d6000803e3d6000fd5b505050505b60005b8351811015610730577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316636b091695308684815181106106cd57fe5b60200260200101516040518363ffffffff1660e01b81526004016106f292919061154c565b600060405180830381600087803b15801561070c57600080fd5b505af1158015610720573d6000803e3d6000fd5b5050600190920191506106889050565b508151156107b957604051631067326f60e11b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906320ce64de906107869030908690600401611567565b600060405180830381600087803b1580156107a057600080fd5b505af11580156107b4573d6000803e3d6000fd5b505050505b80156108b5576040516370a0823160e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906338d074369082906370a0823190610813903090600401611530565b60206040518083038186803b15801561082b57600080fd5b505afa15801561083f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610863919061109c565b60016040518363ffffffff1660e01b815260040161088292919061166c565b600060405180830381600087803b15801561089c57600080fd5b505af11580156108b0573d6000803e3d6000fd5b505050505b61050e3386610a39565b60006108ca82610b96565b6040516317b0dca160e31b81529091506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063bd86e5089061092590660c6ecf05ccae8d60cb1b9085906004016115fd565b600060405180830381600087803b15801561093f57600080fd5b505af1158015610953573d6000803e3d6000fd5b505050505050565b60606109b0826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610bac9092919063ffffffff16565b80519091501561037a57808060200190518101906109ce9190611049565b61037a5760405162461bcd60e51b81526004016103719061164c565b60008082806020019051810190610a01919061110c565b91509150915091565b60606000606080600085806020019051810190610a279190610f8d565b939a9299509097509550909350915050565b6060815167ffffffffffffffff81118015610a5357600080fd5b50604051908082528060200260200182016040528015610a7d578160200160208202803683370190505b50905060005b8251811015610b8e576000838281518110610a9a57fe5b60200260200101519050806001600160a01b03166370a08231306040518263ffffffff1660e01b8152600401610ad09190611530565b60206040518083038186803b158015610ae857600080fd5b505afa158015610afc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b20919061109c565b838381518110610b2c57fe5b6020026020010181815250506000838381518110610b4657fe5b60200260200101511115610b8557610b8585848481518110610b6457fe5b6020026020010151836001600160a01b0316610bc59092919063ffffffff16565b50600101610a83565b505b92915050565b600081806020019051810190610b909190610f6f565b6060610bbb8484600085610be4565b90505b9392505050565b61037a8363a9059cbb60e01b8484604051602401610448929190611587565b606082471015610c065760405162461bcd60e51b81526004016103719061161c565b610c0f85610ca7565b610c2b5760405162461bcd60e51b81526004016103719061163c565b60006060866001600160a01b03168587604051610c489190611524565b60006040518083038185875af1925050503d8060008114610c85576040519150601f19603f3d011682016040523d82523d6000602084013e610c8a565b606091505b5091509150610c9a828286610cad565b925050505b949350505050565b3b151590565b60608315610cbc575081610bbe565b825115610ccc5782518084602001fd5b8160405162461bcd60e51b8152600401610371919061160b565b8051610b9081611781565b600082601f830112610d0257600080fd5b8151610d15610d10826116ae565b611687565b91508181835260208401935060208101905083856020840282011115610d3a57600080fd5b60005b83811015610d665781610d508882610ce6565b8452506020928301929190910190600101610d3d565b5050505092915050565b600082601f830112610d8157600080fd5b8151610d8f610d10826116ae565b91508181835260208401935060208101905083856020840282011115610db457600080fd5b60005b83811015610d665781610dca8882610e48565b8452506020928301929190910190600101610db7565b600082601f830112610df157600080fd5b8151610dff610d10826116ae565b81815260209384019390925082018360005b83811015610d665781518601610e278882610ee8565b8452506020928301929190910190600101610e11565b8051610b9081611795565b8051610b908161179e565b600082601f830112610e6457600080fd5b8135610e72610d10826116cf565b91508082526020830160208301858383011115610e8e57600080fd5b610e9983828461173f565b50505092915050565b600082601f830112610eb357600080fd5b8151610ec1610d10826116cf565b91508082526020830160208301858383011115610edd57600080fd5b610e9983828461174b565b600060808284031215610efa57600080fd5b610f046080611687565b90506000610f128484610ce6565b8252506020610f2384848301610e48565b6020830152506040610f3784828501610e48565b604083015250606082015167ffffffffffffffff811115610f5757600080fd5b610f6384828501610d70565b60608301525092915050565b600060208284031215610f8157600080fd5b6000610c9f8484610ce6565b600080600080600060a08688031215610fa557600080fd5b855167ffffffffffffffff811115610fbc57600080fd5b610fc888828901610cf1565b9550506020610fd988828901610e3d565b945050604086015167ffffffffffffffff811115610ff657600080fd5b61100288828901610cf1565b935050606086015167ffffffffffffffff81111561101f57600080fd5b61102b88828901610de0565b925050608061103c88828901610e3d565b9150509295509295909350565b60006020828403121561105b57600080fd5b6000610c9f8484610e3d565b60006020828403121561107957600080fd5b813567ffffffffffffffff81111561109057600080fd5b610c9f84828501610e53565b6000602082840312156110ae57600080fd5b6000610c9f8484610e48565b600080604083850312156110cd57600080fd5b60006110d98585610e48565b925050602083015167ffffffffffffffff8111156110f657600080fd5b61110285828601610ea2565b9150509250929050565b6000806040838503121561111f57600080fd5b600061112b8585610e48565b925050602061110285828601610e48565b60006111488383611177565b505060200190565b600061114883836112ec565b6000610bbe83836114c9565b6111718161172e565b82525050565b6111718161170f565b600061118b826116fd565b6111958185611701565b93506111a0836116f7565b8060005b838110156111ce5781516111b8888261113c565b97506111c3836116f7565b9250506001016111a4565b509495945050505050565b60006111e4826116fd565b6111ee8185611701565b93506111f9836116f7565b8060005b838110156111ce5781516112118882611150565b975061121c836116f7565b9250506001016111fd565b6000611232826116fd565b61123c8185611701565b93508360208202850161124e856116f7565b8060005b85811015611288578484038952815161126b858261115c565b9450611276836116f7565b60209a909a0199925050600101611252565b5091979650505050505050565b60006112a0826116fd565b6112aa8185611701565b93506112b5836116f7565b8060005b838110156111ce5781516112cd8882611150565b97506112d8836116f7565b9250506001016112b9565b6111718161171a565b6111718161171f565b6000611300826116fd565b61130a818561170a565b935061131a81856020860161174b565b9290920192915050565b600061132f826116fd565b6113398185611701565b935061134981856020860161174b565b61135281611777565b9093019392505050565b6000611369602683611701565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f8152651c8818d85b1b60d21b602082015260400192915050565b60006113b1602683611701565b7f7265636569766543616c6c46726f6d5661756c743a20496e76616c69642061638152651d1a5bdb925960d21b602082015260400192915050565b60006113f9601d83611701565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000815260200192915050565b6000611432602a83611701565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e8152691bdd081cdd58d8d9595960b21b602082015260400192915050565b600061147e603683611701565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f81527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b602082015260400192915050565b805160009060808401906114dd8582611177565b5060208301516114f060208601826112ec565b50604083015161150360408601826112ec565b506060830151848203606086015261151b82826111d9565b95945050505050565b6000610bbe82846112f5565b60208101610b908284611177565b60208101610b908284611168565b6040810161155a8285611177565b610bbe6020830184611177565b604081016115758285611177565b8181036020830152610bbb8184611227565b604081016115958285611177565b610bbe60208301846112ec565b606081016115b08286611177565b6115bd60208301856112ec565b610c9f60408301846112ec565b604080825281016115db8185611180565b90508181036020830152610bbb8184611295565b60208101610b9082846112e3565b6040810161155a82856112ec565b60208082528101610bbe8184611324565b60208082528101610b908161135c565b60208082528101610b90816113a4565b60208082528101610b90816113ec565b60208082528101610b9081611425565b60208082528101610b9081611471565b6040810161167a82856112ec565b610bbe60208301846112e3565b60405181810167ffffffffffffffff811182821017156116a657600080fd5b604052919050565b600067ffffffffffffffff8211156116c557600080fd5b5060209081020190565b600067ffffffffffffffff8211156116e657600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b919050565b6000610b9082611722565b151590565b90565b6001600160a01b031690565b6000610b90826000610b908261170f565b82818337506000910152565b60005b8381101561176657818101518382015260200161174e565b838111156105925750506000910152565b601f01601f191690565b61178a8161170f565b81146100f657600080fd5b61178a8161171a565b61178a8161171f56fea164736f6c634300060c000a", "sourceMap": "1025:6520:103:-:0;;;1664:691;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;1902:64:103;;;;;;;;1976:37;;;;;;;2023:81;;;;;;;2114:43;;;;;;;2167:86;;;;;;;2263:85;;;;;;;1025:6520;;5:134:-1;83:13;;101:33;83:13;101:33;:::i;:::-;68:71;;;;:::o;146:946::-;;;;;;;346:3;334:9;325:7;321:23;317:33;314:2;;;363:1;360;353:12;314:2;398:1;415:64;471:7;451:9;415:64;:::i;:::-;405:74;;377:108;516:2;534:64;590:7;581:6;570:9;566:22;534:64;:::i;:::-;524:74;;495:109;635:2;653:64;709:7;700:6;689:9;685:22;653:64;:::i;:::-;643:74;;614:109;754:2;772:64;828:7;819:6;808:9;804:22;772:64;:::i;:::-;762:74;;733:109;873:3;892:64;948:7;939:6;928:9;924:22;892:64;:::i;:::-;882:74;;852:110;993:3;1012:64;1068:7;1059:6;1048:9;1044:22;1012:64;:::i;:::-;1002:74;;972:110;308:784;;;;;;;;:::o;1099:91::-;;-1:-1;;;;;1259:54;;1161:24;1242:76::o;1325:117::-;1394:24;1412:5;1394:24;:::i;:::-;1387:5;1384:35;1374:2;;1433:1;1430;1423:12;1374:2;1368:74;:::o;:::-;1025:6520:103;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b506004361061004c5760003560e01c80634ddf47d41461005157806380daddb814610066578063e5c23a9714610085578063ecd658b414610098575b600080fd5b61006461005f366004611067565b6100a0565b005b61006e6100f9565b60405161007c9291906115ca565b60405180910390f35b610064610093366004611067565b6102e3565b61006e61037f565b6100f66001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000167f0000000000000000000000000000000000000000000000000000000000000000600019610385565b50565b60608060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166359355736306040518263ffffffff1660e01b815260040161014a9190611530565b60206040518083038186803b15801561016257600080fd5b505afa158015610176573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061019a919061109c565b6040516370a0823160e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a08231906101e6903090600401611530565b60206040518083038186803b1580156101fe57600080fd5b505afa158015610212573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610236919061109c565b01905080156102de5760408051600180825281830190925290602080830190803683370190505092507f00000000000000000000000000000000000000000000000000000000000000008360008151811061028d57fe5b6001600160a01b039290921660209283029190910182015260408051600180825281830190925291828101908036833701905050915080826000815181106102d157fe5b6020026020010181815250505b509091565b60006060828060200190518101906102fb91906110ba565b9092509050816103135761030e8161047f565b61037a565b60018214156103245761030e610517565b60028214156103355761030e610598565b60038214156103475761030e816105e4565b60048214156103595761030e816108bf565b60405162461bcd60e51b81526004016103719061162c565b60405180910390fd5b505050565b60608091565b80158061040d5750604051636eb1769f60e11b81526001600160a01b0384169063dd62ed3e906103bb903090869060040161154c565b60206040518083038186803b1580156103d357600080fd5b505afa1580156103e7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061040b919061109c565b155b6104295760405162461bcd60e51b81526004016103719061165c565b61037a8363095ea7b360e01b8484604051602401610448929190611587565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915261095b565b60008061048b836109ea565b60405163e2ab691d60e01b815291935091506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063e2ab691d906104e0903090869086906004016115a2565b600060405180830381600087803b1580156104fa57600080fd5b505af115801561050e573d6000803e3d6000fd5b50505050505050565b60405163312ff83960e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063312ff83990610564906001906004016115ef565b600060405180830381600087803b15801561057e57600080fd5b505af1158015610592573d6000803e3d6000fd5b50505050565b60405163d36f12fb60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063d36f12fb9061056490339060040161153e565b6060600060608060006105f686610a0a565b94509450945094509450831561068557604051630c00007b60e41b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c00007b090610652903090600401611530565b600060405180830381600087803b15801561066c57600080fd5b505af1158015610680573d6000803e3d6000fd5b505050505b60005b8351811015610730577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316636b091695308684815181106106cd57fe5b60200260200101516040518363ffffffff1660e01b81526004016106f292919061154c565b600060405180830381600087803b15801561070c57600080fd5b505af1158015610720573d6000803e3d6000fd5b5050600190920191506106889050565b508151156107b957604051631067326f60e11b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906320ce64de906107869030908690600401611567565b600060405180830381600087803b1580156107a057600080fd5b505af11580156107b4573d6000803e3d6000fd5b505050505b80156108b5576040516370a0823160e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906338d074369082906370a0823190610813903090600401611530565b60206040518083038186803b15801561082b57600080fd5b505afa15801561083f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610863919061109c565b60016040518363ffffffff1660e01b815260040161088292919061166c565b600060405180830381600087803b15801561089c57600080fd5b505af11580156108b0573d6000803e3d6000fd5b505050505b61050e3386610a39565b60006108ca82610b96565b6040516317b0dca160e31b81529091506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063bd86e5089061092590660c6ecf05ccae8d60cb1b9085906004016115fd565b600060405180830381600087803b15801561093f57600080fd5b505af1158015610953573d6000803e3d6000fd5b505050505050565b60606109b0826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610bac9092919063ffffffff16565b80519091501561037a57808060200190518101906109ce9190611049565b61037a5760405162461bcd60e51b81526004016103719061164c565b60008082806020019051810190610a01919061110c565b91509150915091565b60606000606080600085806020019051810190610a279190610f8d565b939a9299509097509550909350915050565b6060815167ffffffffffffffff81118015610a5357600080fd5b50604051908082528060200260200182016040528015610a7d578160200160208202803683370190505b50905060005b8251811015610b8e576000838281518110610a9a57fe5b60200260200101519050806001600160a01b03166370a08231306040518263ffffffff1660e01b8152600401610ad09190611530565b60206040518083038186803b158015610ae857600080fd5b505afa158015610afc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b20919061109c565b838381518110610b2c57fe5b6020026020010181815250506000838381518110610b4657fe5b60200260200101511115610b8557610b8585848481518110610b6457fe5b6020026020010151836001600160a01b0316610bc59092919063ffffffff16565b50600101610a83565b505b92915050565b600081806020019051810190610b909190610f6f565b6060610bbb8484600085610be4565b90505b9392505050565b61037a8363a9059cbb60e01b8484604051602401610448929190611587565b606082471015610c065760405162461bcd60e51b81526004016103719061161c565b610c0f85610ca7565b610c2b5760405162461bcd60e51b81526004016103719061163c565b60006060866001600160a01b03168587604051610c489190611524565b60006040518083038185875af1925050503d8060008114610c85576040519150601f19603f3d011682016040523d82523d6000602084013e610c8a565b606091505b5091509150610c9a828286610cad565b925050505b949350505050565b3b151590565b60608315610cbc575081610bbe565b825115610ccc5782518084602001fd5b8160405162461bcd60e51b8152600401610371919061160b565b8051610b9081611781565b600082601f830112610d0257600080fd5b8151610d15610d10826116ae565b611687565b91508181835260208401935060208101905083856020840282011115610d3a57600080fd5b60005b83811015610d665781610d508882610ce6565b8452506020928301929190910190600101610d3d565b5050505092915050565b600082601f830112610d8157600080fd5b8151610d8f610d10826116ae565b91508181835260208401935060208101905083856020840282011115610db457600080fd5b60005b83811015610d665781610dca8882610e48565b8452506020928301929190910190600101610db7565b600082601f830112610df157600080fd5b8151610dff610d10826116ae565b81815260209384019390925082018360005b83811015610d665781518601610e278882610ee8565b8452506020928301929190910190600101610e11565b8051610b9081611795565b8051610b908161179e565b600082601f830112610e6457600080fd5b8135610e72610d10826116cf565b91508082526020830160208301858383011115610e8e57600080fd5b610e9983828461173f565b50505092915050565b600082601f830112610eb357600080fd5b8151610ec1610d10826116cf565b91508082526020830160208301858383011115610edd57600080fd5b610e9983828461174b565b600060808284031215610efa57600080fd5b610f046080611687565b90506000610f128484610ce6565b8252506020610f2384848301610e48565b6020830152506040610f3784828501610e48565b604083015250606082015167ffffffffffffffff811115610f5757600080fd5b610f6384828501610d70565b60608301525092915050565b600060208284031215610f8157600080fd5b6000610c9f8484610ce6565b600080600080600060a08688031215610fa557600080fd5b855167ffffffffffffffff811115610fbc57600080fd5b610fc888828901610cf1565b9550506020610fd988828901610e3d565b945050604086015167ffffffffffffffff811115610ff657600080fd5b61100288828901610cf1565b935050606086015167ffffffffffffffff81111561101f57600080fd5b61102b88828901610de0565b925050608061103c88828901610e3d565b9150509295509295909350565b60006020828403121561105b57600080fd5b6000610c9f8484610e3d565b60006020828403121561107957600080fd5b813567ffffffffffffffff81111561109057600080fd5b610c9f84828501610e53565b6000602082840312156110ae57600080fd5b6000610c9f8484610e48565b600080604083850312156110cd57600080fd5b60006110d98585610e48565b925050602083015167ffffffffffffffff8111156110f657600080fd5b61110285828601610ea2565b9150509250929050565b6000806040838503121561111f57600080fd5b600061112b8585610e48565b925050602061110285828601610e48565b60006111488383611177565b505060200190565b600061114883836112ec565b6000610bbe83836114c9565b6111718161172e565b82525050565b6111718161170f565b600061118b826116fd565b6111958185611701565b93506111a0836116f7565b8060005b838110156111ce5781516111b8888261113c565b97506111c3836116f7565b9250506001016111a4565b509495945050505050565b60006111e4826116fd565b6111ee8185611701565b93506111f9836116f7565b8060005b838110156111ce5781516112118882611150565b975061121c836116f7565b9250506001016111fd565b6000611232826116fd565b61123c8185611701565b93508360208202850161124e856116f7565b8060005b85811015611288578484038952815161126b858261115c565b9450611276836116f7565b60209a909a0199925050600101611252565b5091979650505050505050565b60006112a0826116fd565b6112aa8185611701565b93506112b5836116f7565b8060005b838110156111ce5781516112cd8882611150565b97506112d8836116f7565b9250506001016112b9565b6111718161171a565b6111718161171f565b6000611300826116fd565b61130a818561170a565b935061131a81856020860161174b565b9290920192915050565b600061132f826116fd565b6113398185611701565b935061134981856020860161174b565b61135281611777565b9093019392505050565b6000611369602683611701565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f8152651c8818d85b1b60d21b602082015260400192915050565b60006113b1602683611701565b7f7265636569766543616c6c46726f6d5661756c743a20496e76616c69642061638152651d1a5bdb925960d21b602082015260400192915050565b60006113f9601d83611701565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000815260200192915050565b6000611432602a83611701565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e8152691bdd081cdd58d8d9595960b21b602082015260400192915050565b600061147e603683611701565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f81527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b602082015260400192915050565b805160009060808401906114dd8582611177565b5060208301516114f060208601826112ec565b50604083015161150360408601826112ec565b506060830151848203606086015261151b82826111d9565b95945050505050565b6000610bbe82846112f5565b60208101610b908284611177565b60208101610b908284611168565b6040810161155a8285611177565b610bbe6020830184611177565b604081016115758285611177565b8181036020830152610bbb8184611227565b604081016115958285611177565b610bbe60208301846112ec565b606081016115b08286611177565b6115bd60208301856112ec565b610c9f60408301846112ec565b604080825281016115db8185611180565b90508181036020830152610bbb8184611295565b60208101610b9082846112e3565b6040810161155a82856112ec565b60208082528101610bbe8184611324565b60208082528101610b908161135c565b60208082528101610b90816113a4565b60208082528101610b90816113ec565b60208082528101610b9081611425565b60208082528101610b9081611471565b6040810161167a82856112ec565b610bbe60208301846112e3565b60405181810167ffffffffffffffff811182821017156116a657600080fd5b604052919050565b600067ffffffffffffffff8211156116c557600080fd5b5060209081020190565b600067ffffffffffffffff8211156116e657600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b919050565b6000610b9082611722565b151590565b90565b6001600160a01b031690565b6000610b90826000610b908261170f565b82818337506000910152565b60005b8381101561176657818101518382015260200161174e565b838111156105925750506000910152565b601f01601f191690565b61178a8161170f565b81146100f657600080fd5b61178a8161171a565b61178a8161171f56fea164736f6c634300060c000a", "sourceMap": "1025:6520:103:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2411:219;;;;;;:::i;:::-;;:::i;:::-;;6828:715;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;2758:717;;;;;;:::i;:::-;;:::i;6473:176::-;;;:::i;2411:219::-;2549:74;-1:-1:-1;;;;;2549:18:103;:30;2588:14;-1:-1:-1;;2549:30:103;:74::i;:::-;2411:219;:::o;6828:715::-;6907:24;6933:25;7145:23;7229:14;-1:-1:-1;;;;;7229:30:103;;7268:4;7229:45;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7171:43;;-1:-1:-1;;;7171:43:103;;-1:-1:-1;;;;;7171:18:103;:28;;;;:43;;7208:4;;7171:43;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:103;;-1:-1:-1;7289:19:103;;7285:215;;7334:16;;;7348:1;7334:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7334:16:103;7324:26;;7385:18;7364:7;7372:1;7364:10;;;;;;;;-1:-1:-1;;;;;7364:40:103;;;;:10;;;;;;;;;;:40;7430:16;;;7444:1;7430:16;;;;;;;;;;;;;;7364:10;7430:16;;;;;-1:-1:-1;7430:16:103;7419:27;;7474:15;7460:8;7469:1;7460:11;;;;;;;;;;;;;:29;;;;;7285:215;7510:26;6828:715;;:::o;2758:717::-;2843:16;2861:23;2899:11;2888:41;;;;;;;;;;;;:::i;:::-;2842:87;;-1:-1:-1;2842:87:103;-1:-1:-1;2944:33:103;2940:529;;2993:18;3000:10;2993:6;:18::i;:::-;2940:529;;;3052:14;3032:8;:35;3028:441;;;3083:10;:8;:10::i;3028:441::-;3134:16;3114:8;:37;3110:359;;;3167:12;:10;:12::i;3110:359::-;3220:20;3200:8;:41;3196:273;;;3257:26;3272:10;3257:14;:26::i;3196:273::-;3324:16;3304:8;:37;3300:169;;;3357:22;3368:10;3357;:22::i;3300:169::-;3410:48;;-1:-1:-1;;;3410:48:103;;;;;;;:::i;:::-;;;;;;;;3300:169;2758:717;;;:::o;6473:176::-;6549:24;6575:25;6473:176;:::o;1348:613:450:-;1713:10;;;1712:62;;-1:-1:-1;1729:39:450;;-1:-1:-1;;;1729:39:450;;-1:-1:-1;;;;;1729:15:450;;;;;:39;;1753:4;;1760:7;;1729:39;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:44;1712:62;1704:150;;;;-1:-1:-1;;;1704:150:450;;;;;;;:::i;:::-;1864:90;1884:5;1914:22;;;1938:7;1947:5;1891:62;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;1891:62:450;;;;;;;;;;;;;;-1:-1:-1;;;;;1891:62:450;-1:-1:-1;;;;;;1891:62:450;;;;;;;;;;1864:19;:90::i;3543:205:103:-;3604:14;3620:18;3642:35;3665:11;3642:22;:35::i;:::-;3687:54;;-1:-1:-1;;;3687:54:103;;3603:74;;-1:-1:-1;3603:74:103;-1:-1:-1;;;;;;3687:14:103;:19;;;;:54;;3715:4;;3603:74;;;;3687:54;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3543:205;;;:::o;3838:85::-;3876:40;;-1:-1:-1;;;3876:40:103;;-1:-1:-1;;;;;3876:14:103;:34;;;;:40;;3911:4;;3876:40;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3838:85::o;3982:96::-;4022:49;;-1:-1:-1;;;4022:49:103;;-1:-1:-1;;;;;4022:14:103;:37;;;;:49;;4060:10;;4022:49;;;:::i;4917:1310::-;4999:36;5049:23;5086:34;5134:56;5204:18;5235:43;5266:11;5235:30;:43::i;:::-;4985:293;;;;;;;;;;5336:18;5332:88;;;5370:39;;-1:-1:-1;;;5370:39:103;;-1:-1:-1;;;;;5370:14:103;:24;;;;:39;;5403:4;;5370:39;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5332:88;5494:9;5489:151;5509:17;:24;5505:1;:28;5489:151;;;5554:28;-1:-1:-1;;;;;5554:38:103;;5601:4;5608:17;5626:1;5608:20;;;;;;;;;;;;;;5554:75;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5535:3:103;;;;;-1:-1:-1;5489:151:103;;-1:-1:-1;5489:151:103;;-1:-1:-1;5691:19:103;;:23;5687:128;;5730:74;;-1:-1:-1;;;5730:74:103;;-1:-1:-1;;;;;5730:34:103;:45;;;;:74;;5784:4;;5791:12;;5730:74;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5687:128;5914:13;5910:244;;;6058:49;;-1:-1:-1;;;6058:49:103;;-1:-1:-1;;;;;6007:24:103;:33;;;;;;6058:34;;:49;;6101:4;;6058:49;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6125:4;6007:136;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5910:244;6164:56;6188:10;6200:19;6164:23;:56::i;4176:207::-;4240:16;4259:39;4286:11;4259:26;:39::i;:::-;4308:68;;-1:-1:-1;;;4308:68:103;;4240:58;;-1:-1:-1;;;;;;4308:26:103;:38;;;;:68;;-1:-1:-1;;;4347:18:103;4240:58;;4308:68;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4176:207;;:::o;2967:751:450:-;3386:23;3412:69;3440:4;3412:69;;;;;;;;;;;;;;;;;3420:5;-1:-1:-1;;;;;3412:27:450;;;:69;;;;;:::i;:::-;3495:17;;3386:95;;-1:-1:-1;3495:21:450;3491:221;;3635:10;3624:30;;;;;;;;;;;;:::i;:::-;3616:85;;;;-1:-1:-1;;;3616:85:450;;;;;;;:::i;1577:214:102:-;1682:15;1699:19;1752:11;1741:43;;;;;;;;;;;;:::i;:::-;1734:50;;;;1577:214;;;:::o;696:548::-;822:37;873:24;911:35;960:57;1031:19;1122:11;1094:143;;;;;;;;;;;;:::i;:::-;1075:162;;;;-1:-1:-1;1075:162:102;;-1:-1:-1;1075:162:102;-1:-1:-1;1075:162:102;;-1:-1:-1;696:548:102;-1:-1:-1;;696:548:102:o;3539:585:355:-;3649:36;3737:7;:14;3723:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3723:29:355;;3701:51;;3767:9;3762:319;3782:7;:14;3778:1;:18;3762:319;;;3817:19;3845:7;3853:1;3845:10;;;;;;;;;;;;;;3817:39;;3895:13;-1:-1:-1;;;;;3895:23:355;;3927:4;3895:38;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3870:19;3890:1;3870:22;;;;;;;;;;;;;:63;;;;;3976:1;3951:19;3971:1;3951:22;;;;;;;;;;;;;;:26;3947:124;;;3997:59;4024:7;4033:19;4053:1;4033:22;;;;;;;;;;;;;;3997:13;-1:-1:-1;;;;;3997:26:355;;;:59;;;;;:::i;:::-;-1:-1:-1;3798:3:355;;3762:319;;;;3539:585;;;;;:::o;1317:191:102:-;1426:18;1478:11;1467:34;;;;;;;;;;;;:::i;3581:193:451:-;3684:12;3715:52;3737:6;3745:4;3751:1;3754:12;3715:21;:52::i;:::-;3708:59;;3581:193;;;;;;:::o;704:175:450:-;786:86;806:5;836:23;;;861:2;865:5;813:58;;;;;;;;;:::i;4608:523:451:-;4735:12;4792:5;4767:21;:30;;4759:81;;;;-1:-1:-1;;;4759:81:451;;;;;;;:::i;:::-;4858:18;4869:6;4858:10;:18::i;:::-;4850:60;;;;-1:-1:-1;;;4850:60:451;;;;;;;:::i;:::-;4981:12;4995:23;5022:6;-1:-1:-1;;;;;5022:11:451;5042:5;5050:4;5022:33;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4980:75;;;;5072:52;5090:7;5099:10;5111:12;5072:17;:52::i;:::-;5065:59;;;;4608:523;;;;;;;:::o;726:413::-;1086:20;1124:8;;;726:413::o;7091:725::-;7206:12;7234:7;7230:580;;;-1:-1:-1;7264:10:451;7257:17;;7230:580;7375:17;;:21;7371:429;;7633:10;7627:17;7693:15;7680:10;7676:2;7672:19;7665:44;7582:145;7772:12;7765:20;;-1:-1:-1;;;7765:20:451;;;;;;;;:::i;5:134:-1:-;83:13;;101:33;83:13;101:33;:::i;321:722::-;;449:3;442:4;434:6;430:17;426:27;416:2;;467:1;464;457:12;416:2;497:6;491:13;519:80;534:64;591:6;534:64;:::i;:::-;519:80;:::i;:::-;510:89;;616:5;641:6;634:5;627:21;671:4;663:6;659:17;649:27;;693:4;688:3;684:14;677:21;;746:6;793:3;785:4;777:6;773:17;768:3;764:27;761:36;758:2;;;810:1;807;800:12;758:2;835:1;820:217;845:6;842:1;839:13;820:217;;;903:3;925:48;969:3;957:10;925:48;:::i;:::-;913:61;;-1:-1;997:4;988:14;;;;1016;;;;;867:1;860:9;820:217;;;824:14;409:634;;;;;;;:::o;1069:722::-;;1197:3;1190:4;1182:6;1178:17;1174:27;1164:2;;1215:1;1212;1205:12;1164:2;1245:6;1239:13;1267:80;1282:64;1339:6;1282:64;:::i;1267:80::-;1258:89;;1364:5;1389:6;1382:5;1375:21;1419:4;1411:6;1407:17;1397:27;;1441:4;1436:3;1432:14;1425:21;;1494:6;1541:3;1533:4;1525:6;1521:17;1516:3;1512:27;1509:36;1506:2;;;1558:1;1555;1548:12;1506:2;1583:1;1568:217;1593:6;1590:1;1587:13;1568:217;;;1651:3;1673:48;1717:3;1705:10;1673:48;:::i;:::-;1661:61;;-1:-1;1745:4;1736:14;;;;1764;;;;;1615:1;1608:9;1568:217;;1851:773;;2008:3;2001:4;1993:6;1989:17;1985:27;1975:2;;2026:1;2023;2016:12;1975:2;2056:6;2050:13;2078:109;2093:93;2179:6;2093:93;:::i;2078:109::-;2215:21;;;2259:4;2247:17;;;;2069:118;;-1:-1;2272:14;;2247:17;2367:1;2352:266;2377:6;2374:1;2371:13;2352:266;;;2453:3;2447:10;2439:6;2435:23;2477:77;2550:3;2538:10;2477:77;:::i;:::-;2465:90;;-1:-1;2578:4;2569:14;;;;2597;;;;;2399:1;2392:9;2352:266;;2632:128;2707:13;;2725:30;2707:13;2725:30;:::i;2767:134::-;2845:13;;2863:33;2845:13;2863:33;:::i;2909:440::-;;3010:3;3003:4;2995:6;2991:17;2987:27;2977:2;;3028:1;3025;3018:12;2977:2;3065:6;3052:20;3087:64;3102:48;3143:6;3102:48;:::i;3087:64::-;3078:73;;3171:6;3164:5;3157:21;3207:4;3199:6;3195:17;3240:4;3233:5;3229:16;3275:3;3266:6;3261:3;3257:16;3254:25;3251:2;;;3292:1;3289;3282:12;3251:2;3302:41;3336:6;3331:3;3326;3302:41;:::i;:::-;2970:379;;;;;;;:::o;3358:442::-;;3470:3;3463:4;3455:6;3451:17;3447:27;3437:2;;3488:1;3485;3478:12;3437:2;3518:6;3512:13;3540:64;3555:48;3596:6;3555:48;:::i;3540:64::-;3531:73;;3624:6;3617:5;3610:21;3660:4;3652:6;3648:17;3693:4;3686:5;3682:16;3728:3;3719:6;3714:3;3710:16;3707:25;3704:2;;;3745:1;3742;3735:12;3704:2;3755:39;3787:6;3782:3;3777;3755:39;:::i;3856:929::-;;3985:4;3973:9;3968:3;3964:19;3960:30;3957:2;;;4003:1;4000;3993:12;3957:2;4021:20;4036:4;4021:20;:::i;:::-;4012:29;-1:-1;4092:1;4124:60;4180:3;4160:9;4124:60;:::i;:::-;4099:86;;-1:-1;4247:2;4280:60;4336:3;4312:22;;;4280:60;:::i;:::-;4273:4;4266:5;4262:16;4255:86;4206:146;4404:2;4437:60;4493:3;4484:6;4473:9;4469:22;4437:60;:::i;:::-;4430:4;4423:5;4419:16;4412:86;4362:147;4587:2;4576:9;4572:18;4566:25;4611:18;4603:6;4600:30;4597:2;;;4643:1;4640;4633:12;4597:2;4678:85;4759:3;4750:6;4739:9;4735:22;4678:85;:::i;:::-;4671:4;4664:5;4660:16;4653:111;4519:256;3951:834;;;;:::o;4933:279::-;;5056:2;5044:9;5035:7;5031:23;5027:32;5024:2;;;5072:1;5069;5062:12;5024:2;5107:1;5124:72;5188:7;5168:9;5124:72;:::i;5219:1242::-;;;;;;5500:3;5488:9;5479:7;5475:23;5471:33;5468:2;;;5517:1;5514;5507:12;5468:2;5552:24;;5596:18;5585:30;;5582:2;;;5628:1;5625;5618:12;5582:2;5648:89;5729:7;5720:6;5709:9;5705:22;5648:89;:::i;:::-;5638:99;;5531:212;5774:2;5792:61;5845:7;5836:6;5825:9;5821:22;5792:61;:::i;:::-;5782:71;;5753:106;5911:2;5900:9;5896:18;5890:25;5935:18;5927:6;5924:30;5921:2;;;5967:1;5964;5957:12;5921:2;5987:89;6068:7;6059:6;6048:9;6044:22;5987:89;:::i;:::-;5977:99;;5869:213;6134:2;6123:9;6119:18;6113:25;6158:18;6150:6;6147:30;6144:2;;;6190:1;6187;6180:12;6144:2;6210:118;6320:7;6311:6;6300:9;6296:22;6210:118;:::i;:::-;6200:128;;6092:242;6365:3;6384:61;6437:7;6428:6;6417:9;6413:22;6384:61;:::i;:::-;6374:71;;6344:107;5462:999;;;;;;;;:::o;6468:257::-;;6580:2;6568:9;6559:7;6555:23;6551:32;6548:2;;;6596:1;6593;6586:12;6548:2;6631:1;6648:61;6701:7;6681:9;6648:61;:::i;6732:345::-;;6845:2;6833:9;6824:7;6820:23;6816:32;6813:2;;;6861:1;6858;6851:12;6813:2;6896:31;;6947:18;6936:30;;6933:2;;;6979:1;6976;6969:12;6933:2;6999:62;7053:7;7044:6;7033:9;7029:22;6999:62;:::i;7084:263::-;;7199:2;7187:9;7178:7;7174:23;7170:32;7167:2;;;7215:1;7212;7205:12;7167:2;7250:1;7267:64;7323:7;7303:9;7267:64;:::i;7354:496::-;;;7495:2;7483:9;7474:7;7470:23;7466:32;7463:2;;;7511:1;7508;7501:12;7463:2;7546:1;7563:64;7619:7;7599:9;7563:64;:::i;:::-;7553:74;;7525:108;7685:2;7674:9;7670:18;7664:25;7709:18;7701:6;7698:30;7695:2;;;7741:1;7738;7731:12;7695:2;7761:73;7826:7;7817:6;7806:9;7802:22;7761:73;:::i;:::-;7751:83;;7643:197;7457:393;;;;;:::o;7857:399::-;;;7989:2;7977:9;7968:7;7964:23;7960:32;7957:2;;;8005:1;8002;7995:12;7957:2;8040:1;8057:64;8113:7;8093:9;8057:64;:::i;:::-;8047:74;;8019:108;8158:2;8176:64;8232:7;8223:6;8212:9;8208:22;8176:64;:::i;8264:173::-;;8351:46;8393:3;8385:6;8351:46;:::i;:::-;-1:-1;;8426:4;8417:14;;8344:93::o;8446:173::-;;8533:46;8575:3;8567:6;8533:46;:::i;8628:269::-;;8787:104;8887:3;8879:6;8787:104;:::i;9087:142::-;9178:45;9217:5;9178:45;:::i;:::-;9173:3;9166:58;9160:69;;:::o;9236:103::-;9309:24;9327:5;9309:24;:::i;9497:690::-;;9642:54;9690:5;9642:54;:::i;:::-;9709:86;9788:6;9783:3;9709:86;:::i;:::-;9702:93;;9816:56;9866:5;9816:56;:::i;:::-;9892:7;9920:1;9905:260;9930:6;9927:1;9924:13;9905:260;;;9997:6;9991:13;10018:63;10077:3;10062:13;10018:63;:::i;:::-;10011:70;;10098:60;10151:6;10098:60;:::i;:::-;10088:70;-1:-1;;9952:1;9945:9;9905:260;;;-1:-1;10178:3;;9621:566;-1:-1;;;;;9621:566::o;10226:670::-;;10361:54;10409:5;10361:54;:::i;:::-;10428:76;10497:6;10492:3;10428:76;:::i;:::-;10421:83;;10525:56;10575:5;10525:56;:::i;:::-;10601:7;10629:1;10614:260;10639:6;10636:1;10633:13;10614:260;;;10706:6;10700:13;10727:63;10786:3;10771:13;10727:63;:::i;:::-;10720:70;;10807:60;10860:6;10807:60;:::i;:::-;10797:70;-1:-1;;10661:1;10654:9;10614:260;;11003:1080;;11206:83;11283:5;11206:83;:::i;:::-;11302:115;11410:6;11405:3;11302:115;:::i;:::-;11295:122;;11440:3;11482:4;11474:6;11470:17;11465:3;11461:27;11509:85;11588:5;11509:85;:::i;:::-;11614:7;11642:1;11627:417;11652:6;11649:1;11646:13;11627:417;;;11714:9;11708:4;11704:20;11699:3;11692:33;11759:6;11753:13;11781:122;11898:4;11883:13;11781:122;:::i;:::-;11773:130;;11920:89;12002:6;11920:89;:::i;:::-;12032:4;12023:14;;;;;11910:99;-1:-1;;11674:1;11667:9;11627:417;;;-1:-1;12057:4;;11185:898;-1:-1;;;;;;;11185:898::o;12122:690::-;;12267:54;12315:5;12267:54;:::i;:::-;12334:86;12413:6;12408:3;12334:86;:::i;:::-;12327:93;;12441:56;12491:5;12441:56;:::i;:::-;12517:7;12545:1;12530:260;12555:6;12552:1;12549:13;12530:260;;;12622:6;12616:13;12643:63;12702:3;12687:13;12643:63;:::i;:::-;12636:70;;12723:60;12776:6;12723:60;:::i;:::-;12713:70;-1:-1;;12577:1;12570:9;12530:260;;12820:104;12897:21;12912:5;12897:21;:::i;12931:103::-;13004:24;13022:5;13004:24;:::i;13161:356::-;;13289:38;13321:5;13289:38;:::i;:::-;13339:88;13420:6;13415:3;13339:88;:::i;:::-;13332:95;;13432:52;13477:6;13472:3;13465:4;13458:5;13454:16;13432:52;:::i;:::-;13496:16;;;;;13269:248;-1:-1;;13269:248::o;13524:347::-;;13636:39;13669:5;13636:39;:::i;:::-;13687:71;13751:6;13746:3;13687:71;:::i;:::-;13680:78;;13763:52;13808:6;13803:3;13796:4;13789:5;13785:16;13763:52;:::i;:::-;13836:29;13858:6;13836:29;:::i;:::-;13827:39;;;;13616:255;-1:-1;;;13616:255::o;13879:375::-;;14039:67;14103:2;14098:3;14039:67;:::i;:::-;14139:34;14119:55;;-1:-1;;;14203:2;14194:12;;14187:30;14245:2;14236:12;;14025:229;-1:-1;;14025:229::o;14263:375::-;;14423:67;14487:2;14482:3;14423:67;:::i;:::-;14523:34;14503:55;;-1:-1;;;14587:2;14578:12;;14571:30;14629:2;14620:12;;14409:229;-1:-1;;14409:229::o;14647:329::-;;14807:67;14871:2;14866:3;14807:67;:::i;:::-;14907:31;14887:52;;14967:2;14958:12;;14793:183;-1:-1;;14793:183::o;14985:379::-;;15145:67;15209:2;15204:3;15145:67;:::i;:::-;15245:34;15225:55;;-1:-1;;;15309:2;15300:12;;15293:34;15355:2;15346:12;;15131:233;-1:-1;;15131:233::o;15373:391::-;;15533:67;15597:2;15592:3;15533:67;:::i;:::-;15633:34;15613:55;;-1:-1;;;15697:2;15688:12;;15681:46;15755:2;15746:12;;15519:245;-1:-1;;15519:245::o;15865:918::-;16081:23;;15865:918;;16014:4;16005:14;;;16110:63;16009:3;16081:23;16110:63;:::i;:::-;16034:145;16253:4;16246:5;16242:16;16236:23;16265:63;16322:4;16317:3;16313:14;16299:12;16265:63;:::i;:::-;16189:145;16409:4;16402:5;16398:16;16392:23;16421:63;16478:4;16473:3;16469:14;16455:12;16421:63;:::i;:::-;16344:146;16570:4;16563:5;16559:16;16553:23;16622:3;16616:4;16612:14;16605:4;16600:3;16596:14;16589:38;16642:103;16740:4;16726:12;16642:103;:::i;:::-;16634:111;15987:796;-1:-1;;;;;15987:796::o;17020:271::-;;17173:93;17262:3;17253:6;17173:93;:::i;17298:222::-;17425:2;17410:18;;17439:71;17414:9;17483:6;17439:71;:::i;17527:238::-;17662:2;17647:18;;17676:79;17651:9;17728:6;17676:79;:::i;17772:333::-;17927:2;17912:18;;17941:71;17916:9;17985:6;17941:71;:::i;:::-;18023:72;18091:2;18080:9;18076:18;18067:6;18023:72;:::i;18112:597::-;18375:2;18360:18;;18389:71;18364:9;18433:6;18389:71;:::i;:::-;18508:9;18502:4;18498:20;18493:2;18482:9;18478:18;18471:48;18533:166;18694:4;18685:6;18533:166;:::i;18716:333::-;18871:2;18856:18;;18885:71;18860:9;18929:6;18885:71;:::i;:::-;18967:72;19035:2;19024:9;19020:18;19011:6;18967:72;:::i;19056:444::-;19239:2;19224:18;;19253:71;19228:9;19297:6;19253:71;:::i;:::-;19335:72;19403:2;19392:9;19388:18;19379:6;19335:72;:::i;:::-;19418;19486:2;19475:9;19471:18;19462:6;19418:72;:::i;19507:629::-;19762:2;19776:47;;;19747:18;;19837:108;19747:18;19931:6;19837:108;:::i;:::-;19829:116;;19993:9;19987:4;19983:20;19978:2;19967:9;19963:18;19956:48;20018:108;20121:4;20112:6;20018:108;:::i;20143:210::-;20264:2;20249:18;;20278:65;20253:9;20316:6;20278:65;:::i;20360:333::-;20515:2;20500:18;;20529:71;20504:9;20573:6;20529:71;:::i;20700:310::-;20847:2;20861:47;;;20832:18;;20922:78;20832:18;20986:6;20922:78;:::i;21017:416::-;21217:2;21231:47;;;21202:18;;21292:131;21202:18;21292:131;:::i;21440:416::-;21640:2;21654:47;;;21625:18;;21715:131;21625:18;21715:131;:::i;21863:416::-;22063:2;22077:47;;;22048:18;;22138:131;22048:18;22138:131;:::i;22286:416::-;22486:2;22500:47;;;22471:18;;22561:131;22471:18;22561:131;:::i;22709:416::-;22909:2;22923:47;;;22894:18;;22984:131;22894:18;22984:131;:::i;23132:321::-;23281:2;23266:18;;23295:71;23270:9;23339:6;23295:71;:::i;:::-;23377:66;23439:2;23428:9;23424:18;23415:6;23377:66;:::i;23460:256::-;23522:2;23516:9;23548:17;;;23623:18;23608:34;;23644:22;;;23605:62;23602:2;;;23680:1;23677;23670:12;23602:2;23696;23689:22;23500:216;;-1:-1;23500:216::o;23723:304::-;;23882:18;23874:6;23871:30;23868:2;;;23914:1;23911;23904:12;23868:2;-1:-1;23949:4;23937:17;;;24002:15;;23805:222::o;24685:321::-;;24828:18;24820:6;24817:30;24814:2;;;24860:1;24857;24850:12;24814:2;-1:-1;24991:4;24927;24904:17;;;;-1:-1;;24900:33;24981:15;;24751:255::o;25013:151::-;25137:4;25128:14;;25085:79::o;25674:137::-;25777:12;;25748:63::o;27026:178::-;27144:19;;;27193:4;27184:14;;27137:67::o;27793:144::-;27928:3;27906:31;-1:-1;27906:31::o;28117:91::-;;28179:24;28197:5;28179:24;:::i;28321:85::-;28387:13;28380:21;;28363:43::o;28413:72::-;28475:5;28458:27::o;28492:121::-;-1:-1;;;;;28554:54;;28537:76::o;28699:129::-;;28786:37;28817:5;28835:121;28914:37;28945:5;28914:37;:::i;29079:145::-;29160:6;29155:3;29150;29137:30;-1:-1;29216:1;29198:16;;29191:27;29130:94::o;29233:268::-;29298:1;29305:101;29319:6;29316:1;29313:13;29305:101;;;29386:11;;;29380:18;29367:11;;;29360:39;29341:2;29334:10;29305:101;;;29421:6;29418:1;29415:13;29412:2;;;-1:-1;;29486:1;29468:16;;29461:27;29282:219::o;29509:97::-;29597:2;29577:14;-1:-1;;29573:28;;29557:49::o;29614:117::-;29683:24;29701:5;29683:24;:::i;:::-;29676:5;29673:35;29663:2;;29722:1;29719;29712:12;29878:111;29944:21;29959:5;29944:21;:::i;29996:117::-;30065:24;30083:5;30065:24;:::i", "linkReferences": {}, "immutableReferences": { "24819": [ { "start": 2006, "length": 32 } ], "24821": [ { "start": 173, "length": 32 }, { "start": 433, "length": 32 }, { "start": 609, "length": 32 } ], "24823": [ { "start": 2276, "length": 32 } ], "24825": [ { "start": 207, "length": 32 }, { "start": 256, "length": 32 }, { "start": 1191, "length": 32 }, { "start": 1326, "length": 32 }, { "start": 1455, "length": 32 }, { "start": 1565, "length": 32 } ], "24827": [ { "start": 1683, "length": 32 } ], "24829": [ { "start": 1871, "length": 32 } ] } }, "methodIdentifiers": { "getDebtAssets()": "ecd658b4", "getManagedAssets()": "80daddb8", "init(bytes)": "4ddf47d4", "receiveCallFromVault(bytes)": "e5c23a97" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vlCvx\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_vlCvxExtraRewards\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_cvxCrvStaking\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_cvxToken\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_snapshotDelegateRegistry\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_votiumMultiMerkleStash\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"getDebtAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"assets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getManagedAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"assets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"}],\"name\":\"receiveCallFromVault\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"getDebtAssets()\":{\"returns\":{\"amounts_\":\"Debt asset amounts\",\"assets_\":\"Debt assets\"}},\"getManagedAssets()\":{\"returns\":{\"amounts_\":\"Managed asset amounts\",\"assets_\":\"Managed assets\"}},\"receiveCallFromVault(bytes)\":{\"params\":{\"_actionData\":\"Encoded data to execute the action\"}}},\"title\":\"ConvexVotingPositionLib Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getDebtAssets()\":{\"notice\":\"Retrieves the debt assets (negative value) of the external position\"},\"getManagedAssets()\":{\"notice\":\"Retrieves the managed assets (positive value) of the external position\"},\"init(bytes)\":{\"notice\":\"Initializes the external position\"},\"receiveCallFromVault(bytes)\":{\"notice\":\"Receives and executes a call from the Vault\"}},\"notice\":\"Library contract for Convex vlCVX positions\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/convex-voting/ConvexVotingPositionLib.sol\":\"ConvexVotingPositionLib\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/release/extensions/external-position-manager/external-positions/convex-voting/ConvexVotingPositionDataDecoder.sol\":{\"keccak256\":\"0xa6519ec08d094279d264517505c108a3c71da5bb0992780856f0a50c922235ab\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://39c01f7087471c265a0dc6a0542dc428f73e3472e81d65561956bb21c38bc9b3\",\"dweb:/ipfs/QmTud9X9jniBpw96ve2mqvZqVmcV6mourqxrNSGmaoh8ng\"]},\"contracts/release/extensions/external-position-manager/external-positions/convex-voting/ConvexVotingPositionLib.sol\":{\"keccak256\":\"0x0adcb14001b7adddc995d7d09f51a5c1807806802b7db746d2f0a4b0821960b5\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://57283dc450b68e2a3317574527c453ced189a99b192a75f22ae9184c61717d98\",\"dweb:/ipfs/QmZ4NFrv3BuFCYfybM6Q9jviSGMgCptMbz4p5Kc4GXbdX6\"]},\"contracts/release/extensions/external-position-manager/external-positions/convex-voting/IConvexVotingPosition.sol\":{\"keccak256\":\"0x7a6ea639f6f611e8098537a3310378e246c06a3d1362d8b16c8bd6fd1bfa5f63\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1bf56ec6e00cb8d97ecdb262439c1d619dbca06720f6e217e219539a326bbe43\",\"dweb:/ipfs/QmXYJAXCw6YZWrArvD9RvE1SS4FEzCsz2jXef5vbpU88EW\"]},\"contracts/release/interfaces/IConvexBaseRewardPool.sol\":{\"keccak256\":\"0x7c82b546c3c339c6f602191bc9062d6887af7db438800359c0547aa6bb025acc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://13a488b1d715000d1ed9415917a8f9c347ec91b04770b74746facacd88e2e105\",\"dweb:/ipfs/QmaHJKxagREc7Mbq8SkSbWgzwk8bNSFTwojAD5hNemwy1Y\"]},\"contracts/release/interfaces/IConvexCvxLockerV2.sol\":{\"keccak256\":\"0xa6fefe917f35840e9d0e2c34d946810c48d5c74e32bf1af1a41f4eac4ce44f0a\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d23ba1cb3ae9eb0f259e2c0f48af0831062ec3a22f0592d0b8ee29eb558b391c\",\"dweb:/ipfs/QmQYdaias2dV5aXATEp1fKfscyTXSY7m4oMtEcYyZ85RcS\"]},\"contracts/release/interfaces/IConvexVlCvxExtraRewardDistribution.sol\":{\"keccak256\":\"0x0696b9b5f485b3924c1b2136d459aefd3b051bf066a8f813e7b3454a1fcb318b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://aa2c4e6754a04a251f3bcf18dd3447bdade22e403356312dc142469b53ab3a07\",\"dweb:/ipfs/QmeZRGgxy6aihqT25mgWZsDb9ghicYqj9rjTNcqYC51YhM\"]},\"contracts/release/interfaces/ISnapshotDelegateRegistry.sol\":{\"keccak256\":\"0x87b6323060ce9067affc51a627f9df5bfa280098c8d76f3c7f70b132d27eea2d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b111d9a4af882030499b49cc7b8fbf6fda777309392991a210bb4117f7096014\",\"dweb:/ipfs/QmR2d3eyPf6WpH1AxX6cSTYjWuEf547ydBb6KXc3XcYeNm\"]},\"contracts/release/interfaces/IVotiumMultiMerkleStash.sol\":{\"keccak256\":\"0x457bd31cabe3ea8427546bf14112f50a866b5eae3b2e1089a64acda8d6a7bb29\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://fae1df3cf61c2841987b8227a6c1cb7d0a487f62bcc4fce6d5ac40387dedf517\",\"dweb:/ipfs/QmRv4t9nK1tQ7fWnLeyCYCe8fzCSo2E1PnA9o3TPUBMVeW\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_vlCvx", "type": "address" }, { "internalType": "address", "name": "_vlCvxExtraRewards", "type": "address" }, { "internalType": "address", "name": "_cvxCrvStaking", "type": "address" }, { "internalType": "address", "name": "_cvxToken", "type": "address" }, { "internalType": "address", "name": "_snapshotDelegateRegistry", "type": "address" }, { "internalType": "address", "name": "_votiumMultiMerkleStash", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "getDebtAssets", "outputs": [ { "internalType": "address[]", "name": "assets_", "type": "address[]" }, { "internalType": "uint256[]", "name": "amounts_", "type": "uint256[]" } ] }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "getManagedAssets", "outputs": [ { "internalType": "address[]", "name": "assets_", "type": "address[]" }, { "internalType": "uint256[]", "name": "amounts_", "type": "uint256[]" } ] }, { "inputs": [ { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "init" }, { "inputs": [ { "internalType": "bytes", "name": "_actionData", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "receiveCallFromVault" } ], "devdoc": { "kind": "dev", "methods": { "getDebtAssets()": { "returns": { "amounts_": "Debt asset amounts", "assets_": "Debt assets" } }, "getManagedAssets()": { "returns": { "amounts_": "Managed asset amounts", "assets_": "Managed assets" } }, "receiveCallFromVault(bytes)": { "params": { "_actionData": "Encoded data to execute the action" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "getDebtAssets()": { "notice": "Retrieves the debt assets (negative value) of the external position" }, "getManagedAssets()": { "notice": "Retrieves the managed assets (positive value) of the external position" }, "init(bytes)": { "notice": "Initializes the external position" }, "receiveCallFromVault(bytes)": { "notice": "Receives and executes a call from the Vault" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/external-position-manager/external-positions/convex-voting/ConvexVotingPositionLib.sol": "ConvexVotingPositionLib" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/external-positions/IExternalPosition.sol": { "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", "urls": [ "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/convex-voting/ConvexVotingPositionDataDecoder.sol": { "keccak256": "0xa6519ec08d094279d264517505c108a3c71da5bb0992780856f0a50c922235ab", "urls": [ "bzz-raw://39c01f7087471c265a0dc6a0542dc428f73e3472e81d65561956bb21c38bc9b3", "dweb:/ipfs/QmTud9X9jniBpw96ve2mqvZqVmcV6mourqxrNSGmaoh8ng" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/convex-voting/ConvexVotingPositionLib.sol": { "keccak256": "0x0adcb14001b7adddc995d7d09f51a5c1807806802b7db746d2f0a4b0821960b5", "urls": [ "bzz-raw://57283dc450b68e2a3317574527c453ced189a99b192a75f22ae9184c61717d98", "dweb:/ipfs/QmZ4NFrv3BuFCYfybM6Q9jviSGMgCptMbz4p5Kc4GXbdX6" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/convex-voting/IConvexVotingPosition.sol": { "keccak256": "0x7a6ea639f6f611e8098537a3310378e246c06a3d1362d8b16c8bd6fd1bfa5f63", "urls": [ "bzz-raw://1bf56ec6e00cb8d97ecdb262439c1d619dbca06720f6e217e219539a326bbe43", "dweb:/ipfs/QmXYJAXCw6YZWrArvD9RvE1SS4FEzCsz2jXef5vbpU88EW" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IConvexBaseRewardPool.sol": { "keccak256": "0x7c82b546c3c339c6f602191bc9062d6887af7db438800359c0547aa6bb025acc", "urls": [ "bzz-raw://13a488b1d715000d1ed9415917a8f9c347ec91b04770b74746facacd88e2e105", "dweb:/ipfs/QmaHJKxagREc7Mbq8SkSbWgzwk8bNSFTwojAD5hNemwy1Y" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IConvexCvxLockerV2.sol": { "keccak256": "0xa6fefe917f35840e9d0e2c34d946810c48d5c74e32bf1af1a41f4eac4ce44f0a", "urls": [ "bzz-raw://d23ba1cb3ae9eb0f259e2c0f48af0831062ec3a22f0592d0b8ee29eb558b391c", "dweb:/ipfs/QmQYdaias2dV5aXATEp1fKfscyTXSY7m4oMtEcYyZ85RcS" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IConvexVlCvxExtraRewardDistribution.sol": { "keccak256": "0x0696b9b5f485b3924c1b2136d459aefd3b051bf066a8f813e7b3454a1fcb318b", "urls": [ "bzz-raw://aa2c4e6754a04a251f3bcf18dd3447bdade22e403356312dc142469b53ab3a07", "dweb:/ipfs/QmeZRGgxy6aihqT25mgWZsDb9ghicYqj9rjTNcqYC51YhM" ], "license": "GPL-3.0" }, "contracts/release/interfaces/ISnapshotDelegateRegistry.sol": { "keccak256": "0x87b6323060ce9067affc51a627f9df5bfa280098c8d76f3c7f70b132d27eea2d", "urls": [ "bzz-raw://b111d9a4af882030499b49cc7b8fbf6fda777309392991a210bb4117f7096014", "dweb:/ipfs/QmR2d3eyPf6WpH1AxX6cSTYjWuEf547ydBb6KXc3XcYeNm" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IVotiumMultiMerkleStash.sol": { "keccak256": "0x457bd31cabe3ea8427546bf14112f50a866b5eae3b2e1089a64acda8d6a7bb29", "urls": [ "bzz-raw://fae1df3cf61c2841987b8227a6c1cb7d0a487f62bcc4fce6d5ac40387dedf517", "dweb:/ipfs/QmRv4t9nK1tQ7fWnLeyCYCe8fzCSo2E1PnA9o3TPUBMVeW" ], "license": "GPL-3.0" }, "contracts/release/utils/AssetHelpers.sol": { "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", "urls": [ "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", "urls": [ "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Address.sol": { "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", "urls": [ "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" } }, "version": 1 }, "id": 103 } diff --git a/eth_defi/abi/enzyme/ConvexVotingPositionParser.json b/eth_defi/abi/enzyme/ConvexVotingPositionParser.json index 344c1c94..dca1baec 100644 --- a/eth_defi/abi/enzyme/ConvexVotingPositionParser.json +++ b/eth_defi/abi/enzyme/ConvexVotingPositionParser.json @@ -1,305 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_cvxToken", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_actionId", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_encodedActionArgs", - "type": "bytes" - } - ], - "name": "parseAssetsForAction", - "outputs": [ - { - "internalType": "address[]", - "name": "assetsToTransfer_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "amountsToTransfer_", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "assetsToReceive_", - "type": "address[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "parseInitArgs", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x60a060405234801561001057600080fd5b506040516104e73803806104e78339818101604052602081101561003357600080fd5b5051606081901b6001600160601b0319166080526001600160a01b031661047b61006c6000398061033852806103e5525061047b6000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063bbd2d6461461003b578063db16c72e146101d4575b600080fd5b6100f66004803603606081101561005157600080fd5b6001600160a01b038235169160208101359181019060608101604082013564010000000081111561008157600080fd5b82018360208201111561009357600080fd5b803590602001918460018302840111640100000000831117156100b557600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506102ff945050505050565b60405180806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b8381101561013e578181015183820152602001610126565b50505050905001848103835286818151815260200191508051906020019060200280838360005b8381101561017d578181015183820152602001610165565b50505050905001848103825285818151815260200191508051906020019060200280838360005b838110156101bc5781810151838201526020016101a4565b50505050905001965050505050505060405180910390f35b61028a600480360360408110156101ea57600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561021557600080fd5b82018360208201111561022757600080fd5b8035906020019184600183028401116401000000008311171561024957600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955061043b945050505050565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102c45781810151838201526020016102ac565b50505050905090810190601f1680156102f15780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b60608080846103ba57600061031385610443565b50604080516001808252818301909252919250602080830190803683370190505093507f00000000000000000000000000000000000000000000000000000000000000008460008151811061036457fe5b6001600160a01b039290921660209283029190910182015260408051600180825281830190925291828101908036833701905050925080836000815181106103a857fe5b60200260200101818152505050610432565b60028514156104325760408051600180825281830190925290602080830190803683370190505090507f00000000000000000000000000000000000000000000000000000000000000008160008151811061041157fe5b60200260200101906001600160a01b031690816001600160a01b0316815250505b93509350939050565b606092915050565b60008082806020019051604081101561045b57600080fd5b508051602090910151909250905091509156fea164736f6c634300060c000a", - "sourceMap": "545:1988:104:-:0;;;689:76;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;689:76:104;737:21;;;;-1:-1:-1;;;;;;737:21:104;;;-1:-1:-1;;;;;545:1988:104;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c8063bbd2d6461461003b578063db16c72e146101d4575b600080fd5b6100f66004803603606081101561005157600080fd5b6001600160a01b038235169160208101359181019060608101604082013564010000000081111561008157600080fd5b82018360208201111561009357600080fd5b803590602001918460018302840111640100000000831117156100b557600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506102ff945050505050565b60405180806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b8381101561013e578181015183820152602001610126565b50505050905001848103835286818151815260200191508051906020019060200280838360005b8381101561017d578181015183820152602001610165565b50505050905001848103825285818151815260200191508051906020019060200280838360005b838110156101bc5781810151838201526020016101a4565b50505050905001965050505050505060405180910390f35b61028a600480360360408110156101ea57600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561021557600080fd5b82018360208201111561022757600080fd5b8035906020019184600183028401116401000000008311171561024957600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955061043b945050505050565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102c45781810151838201526020016102ac565b50505050905090810190601f1680156102f15780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b60608080846103ba57600061031385610443565b50604080516001808252818301909252919250602080830190803683370190505093507f00000000000000000000000000000000000000000000000000000000000000008460008151811061036457fe5b6001600160a01b039290921660209283029190910182015260408051600180825281830190925291828101908036833701905050925080836000815181106103a857fe5b60200260200101818152505050610432565b60028514156104325760408051600180825281830190925290602080830190803683370190505090507f00000000000000000000000000000000000000000000000000000000000000008160008151811061041157fe5b60200260200101906001600160a01b031690816001600160a01b0316815250505b93509350939050565b606092915050565b60008082806020019051604081101561045b57600080fd5b508051602090910151909250905091509156fea164736f6c634300060c000a", - "sourceMap": "545:1988:104:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1244:1022;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1244:1022:104;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1244:1022:104;;-1:-1:-1;1244:1022:104;;-1:-1:-1;;;;;1244:1022:104:i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2442:89;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2442:89:104;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2442:89:104;;-1:-1:-1;2442:89:104;;-1:-1:-1;;;;;2442:89:104:i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1244:1022;1429:34;;;1588:56;1584:520;;1661:14;1681:42;1704:18;1681:22;:42::i;:::-;-1:-1:-1;1758:16:104;;;1772:1;1758:16;;;;;;;;;1660:63;;-1:-1:-1;1758:16:104;;;;;;;;;;;-1:-1:-1;1758:16:104;1738:36;;1811:9;1788:17;1806:1;1788:20;;;;;;;;-1:-1:-1;;;;;1788:32:104;;;;:20;;;;;;;;;;:32;1856:16;;;1870:1;1856:16;;;;;;;;;;;;;;1788:20;1856:16;;;;;-1:-1:-1;1856:16:104;1835:37;;1910:6;1886:18;1905:1;1886:21;;;;;;;;;;;;;:30;;;;;1584:520;;;;1958:38;1937:9;:60;1933:171;;;2032:16;;;2046:1;2032:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2032:16:104;2013:35;;2084:9;2062:16;2079:1;2062:19;;;;;;;;;;;;;:31;-1:-1:-1;;;;;2062:31:104;;;-1:-1:-1;;;;;2062:31:104;;;;;1933:171;1244:1022;;;;;;;:::o;2442:89::-;2515:12;2442:89;;;;:::o;1577:214:102:-;1682:15;1699:19;1752:11;1741:43;;;;;;;;;;;;;;;-1:-1:-1;1741:43:102;;;;;;;;;-1:-1:-1;1741:43:102;-1:-1:-1;1577:214:102;;;:::o", - "linkReferences": {}, - "immutableReferences": { - "25261": [ - { - "start": 824, - "length": 32 - }, - { - "start": 997, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "parseAssetsForAction(address,uint256,bytes)": "bbd2d646", - "parseInitArgs(address,bytes)": "db16c72e" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_cvxToken\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_actionId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_encodedActionArgs\",\"type\":\"bytes\"}],\"name\":\"parseAssetsForAction\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"assetsToTransfer_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amountsToTransfer_\",\"type\":\"uint256[]\"},{\"internalType\":\"address[]\",\"name\":\"assetsToReceive_\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"parseInitArgs\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"parseAssetsForAction(address,uint256,bytes)\":{\"params\":{\"_actionId\":\"The _actionId for the callOnExternalPosition\",\"_encodedActionArgs\":\"The encoded parameters for the callOnExternalPosition\"},\"returns\":{\"amountsToTransfer_\":\"The amounts to be transferred from the Vault\",\"assetsToReceive_\":\"The assets to be received at the Vault\",\"assetsToTransfer_\":\"The assets to be transferred from the Vault\"}},\"parseInitArgs(address,bytes)\":{\"details\":\"Empty for this external position type\"}},\"title\":\"ConvexVotingPositionParser\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"parseAssetsForAction(address,uint256,bytes)\":{\"notice\":\"Parses the assets to send and receive for the callOnExternalPosition\"},\"parseInitArgs(address,bytes)\":{\"notice\":\"Parse and validate input arguments to be used when initializing a newly-deployed ExternalPositionProxy\"}},\"notice\":\"Parser for Convex vlCVX positions\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/convex-voting/ConvexVotingPositionParser.sol\":\"ConvexVotingPositionParser\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/release/extensions/external-position-manager/external-positions/IExternalPositionParser.sol\":{\"keccak256\":\"0x1662fbd65841ee5e9cf8d5329b9d04c264b24ef68ae1e0484e59a8969b0d2c46\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://580569b0f875e0344db83fae1e72dcc6c0767a049b2a6cc3e4f3c411d2284b27\",\"dweb:/ipfs/QmXFmF9QbcVsPHaBo1iq8sZHYhDkwfkMZpHmLTuJJ37NvZ\"]},\"contracts/release/extensions/external-position-manager/external-positions/convex-voting/ConvexVotingPositionDataDecoder.sol\":{\"keccak256\":\"0xa6519ec08d094279d264517505c108a3c71da5bb0992780856f0a50c922235ab\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://39c01f7087471c265a0dc6a0542dc428f73e3472e81d65561956bb21c38bc9b3\",\"dweb:/ipfs/QmTud9X9jniBpw96ve2mqvZqVmcV6mourqxrNSGmaoh8ng\"]},\"contracts/release/extensions/external-position-manager/external-positions/convex-voting/ConvexVotingPositionParser.sol\":{\"keccak256\":\"0xa3ee9f479444a4bc39411dd99983e32955088fa05b9460fc0a510dc145af2fa6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://fd79827fca9c03f1181e85e8918a9fb0533aea028820167d7b1c13b6e0a823e1\",\"dweb:/ipfs/QmbjC6EgAry2eqzRwoW3DeKCodJCjpVPogeAZD1DLRZ8mo\"]},\"contracts/release/extensions/external-position-manager/external-positions/convex-voting/IConvexVotingPosition.sol\":{\"keccak256\":\"0x7a6ea639f6f611e8098537a3310378e246c06a3d1362d8b16c8bd6fd1bfa5f63\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1bf56ec6e00cb8d97ecdb262439c1d619dbca06720f6e217e219539a326bbe43\",\"dweb:/ipfs/QmXYJAXCw6YZWrArvD9RvE1SS4FEzCsz2jXef5vbpU88EW\"]},\"contracts/release/interfaces/IVotiumMultiMerkleStash.sol\":{\"keccak256\":\"0x457bd31cabe3ea8427546bf14112f50a866b5eae3b2e1089a64acda8d6a7bb29\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://fae1df3cf61c2841987b8227a6c1cb7d0a487f62bcc4fce6d5ac40387dedf517\",\"dweb:/ipfs/QmRv4t9nK1tQ7fWnLeyCYCe8fzCSo2E1PnA9o3TPUBMVeW\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_cvxToken", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_actionId", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_encodedActionArgs", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "parseAssetsForAction", - "outputs": [ - { - "internalType": "address[]", - "name": "assetsToTransfer_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "amountsToTransfer_", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "assetsToReceive_", - "type": "address[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "parseInitArgs", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "parseAssetsForAction(address,uint256,bytes)": { - "params": { - "_actionId": "The _actionId for the callOnExternalPosition", - "_encodedActionArgs": "The encoded parameters for the callOnExternalPosition" - }, - "returns": { - "amountsToTransfer_": "The amounts to be transferred from the Vault", - "assetsToReceive_": "The assets to be received at the Vault", - "assetsToTransfer_": "The assets to be transferred from the Vault" - } - }, - "parseInitArgs(address,bytes)": { - "details": "Empty for this external position type" - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "parseAssetsForAction(address,uint256,bytes)": { - "notice": "Parses the assets to send and receive for the callOnExternalPosition" - }, - "parseInitArgs(address,bytes)": { - "notice": "Parse and validate input arguments to be used when initializing a newly-deployed ExternalPositionProxy" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/external-position-manager/external-positions/convex-voting/ConvexVotingPositionParser.sol": "ConvexVotingPositionParser" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/external-positions/IExternalPosition.sol": { - "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", - "urls": [ - "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", - "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/IExternalPositionParser.sol": { - "keccak256": "0x1662fbd65841ee5e9cf8d5329b9d04c264b24ef68ae1e0484e59a8969b0d2c46", - "urls": [ - "bzz-raw://580569b0f875e0344db83fae1e72dcc6c0767a049b2a6cc3e4f3c411d2284b27", - "dweb:/ipfs/QmXFmF9QbcVsPHaBo1iq8sZHYhDkwfkMZpHmLTuJJ37NvZ" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/convex-voting/ConvexVotingPositionDataDecoder.sol": { - "keccak256": "0xa6519ec08d094279d264517505c108a3c71da5bb0992780856f0a50c922235ab", - "urls": [ - "bzz-raw://39c01f7087471c265a0dc6a0542dc428f73e3472e81d65561956bb21c38bc9b3", - "dweb:/ipfs/QmTud9X9jniBpw96ve2mqvZqVmcV6mourqxrNSGmaoh8ng" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/convex-voting/ConvexVotingPositionParser.sol": { - "keccak256": "0xa3ee9f479444a4bc39411dd99983e32955088fa05b9460fc0a510dc145af2fa6", - "urls": [ - "bzz-raw://fd79827fca9c03f1181e85e8918a9fb0533aea028820167d7b1c13b6e0a823e1", - "dweb:/ipfs/QmbjC6EgAry2eqzRwoW3DeKCodJCjpVPogeAZD1DLRZ8mo" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/convex-voting/IConvexVotingPosition.sol": { - "keccak256": "0x7a6ea639f6f611e8098537a3310378e246c06a3d1362d8b16c8bd6fd1bfa5f63", - "urls": [ - "bzz-raw://1bf56ec6e00cb8d97ecdb262439c1d619dbca06720f6e217e219539a326bbe43", - "dweb:/ipfs/QmXYJAXCw6YZWrArvD9RvE1SS4FEzCsz2jXef5vbpU88EW" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IVotiumMultiMerkleStash.sol": { - "keccak256": "0x457bd31cabe3ea8427546bf14112f50a866b5eae3b2e1089a64acda8d6a7bb29", - "urls": [ - "bzz-raw://fae1df3cf61c2841987b8227a6c1cb7d0a487f62bcc4fce6d5ac40387dedf517", - "dweb:/ipfs/QmRv4t9nK1tQ7fWnLeyCYCe8fzCSo2E1PnA9o3TPUBMVeW" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 104 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_cvxToken", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "parseAssetsForAction", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "_actionId", "type": "uint256", "internalType": "uint256" }, { "name": "_encodedActionArgs", "type": "bytes", "internalType": "bytes" } ], "outputs": [ { "name": "assetsToTransfer_", "type": "address[]", "internalType": "address[]" }, { "name": "amountsToTransfer_", "type": "uint256[]", "internalType": "uint256[]" }, { "name": "assetsToReceive_", "type": "address[]", "internalType": "address[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "parseInitArgs", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [ { "name": "", "type": "bytes", "internalType": "bytes" } ], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x60a060405234801561001057600080fd5b506040516104e73803806104e78339818101604052602081101561003357600080fd5b5051606081901b6001600160601b0319166080526001600160a01b031661047b61006c6000398061033852806103e5525061047b6000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063bbd2d6461461003b578063db16c72e146101d4575b600080fd5b6100f66004803603606081101561005157600080fd5b6001600160a01b038235169160208101359181019060608101604082013564010000000081111561008157600080fd5b82018360208201111561009357600080fd5b803590602001918460018302840111640100000000831117156100b557600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506102ff945050505050565b60405180806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b8381101561013e578181015183820152602001610126565b50505050905001848103835286818151815260200191508051906020019060200280838360005b8381101561017d578181015183820152602001610165565b50505050905001848103825285818151815260200191508051906020019060200280838360005b838110156101bc5781810151838201526020016101a4565b50505050905001965050505050505060405180910390f35b61028a600480360360408110156101ea57600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561021557600080fd5b82018360208201111561022757600080fd5b8035906020019184600183028401116401000000008311171561024957600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955061043b945050505050565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102c45781810151838201526020016102ac565b50505050905090810190601f1680156102f15780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b60608080846103ba57600061031385610443565b50604080516001808252818301909252919250602080830190803683370190505093507f00000000000000000000000000000000000000000000000000000000000000008460008151811061036457fe5b6001600160a01b039290921660209283029190910182015260408051600180825281830190925291828101908036833701905050925080836000815181106103a857fe5b60200260200101818152505050610432565b60028514156104325760408051600180825281830190925290602080830190803683370190505090507f00000000000000000000000000000000000000000000000000000000000000008160008151811061041157fe5b60200260200101906001600160a01b031690816001600160a01b0316815250505b93509350939050565b606092915050565b60008082806020019051604081101561045b57600080fd5b508051602090910151909250905091509156fea164736f6c634300060c000a", "sourceMap": "545:1988:104:-:0;;;689:76;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;689:76:104;737:21;;;;-1:-1:-1;;;;;;737:21:104;;;-1:-1:-1;;;;;545:1988:104;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c8063bbd2d6461461003b578063db16c72e146101d4575b600080fd5b6100f66004803603606081101561005157600080fd5b6001600160a01b038235169160208101359181019060608101604082013564010000000081111561008157600080fd5b82018360208201111561009357600080fd5b803590602001918460018302840111640100000000831117156100b557600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506102ff945050505050565b60405180806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b8381101561013e578181015183820152602001610126565b50505050905001848103835286818151815260200191508051906020019060200280838360005b8381101561017d578181015183820152602001610165565b50505050905001848103825285818151815260200191508051906020019060200280838360005b838110156101bc5781810151838201526020016101a4565b50505050905001965050505050505060405180910390f35b61028a600480360360408110156101ea57600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561021557600080fd5b82018360208201111561022757600080fd5b8035906020019184600183028401116401000000008311171561024957600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955061043b945050505050565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102c45781810151838201526020016102ac565b50505050905090810190601f1680156102f15780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b60608080846103ba57600061031385610443565b50604080516001808252818301909252919250602080830190803683370190505093507f00000000000000000000000000000000000000000000000000000000000000008460008151811061036457fe5b6001600160a01b039290921660209283029190910182015260408051600180825281830190925291828101908036833701905050925080836000815181106103a857fe5b60200260200101818152505050610432565b60028514156104325760408051600180825281830190925290602080830190803683370190505090507f00000000000000000000000000000000000000000000000000000000000000008160008151811061041157fe5b60200260200101906001600160a01b031690816001600160a01b0316815250505b93509350939050565b606092915050565b60008082806020019051604081101561045b57600080fd5b508051602090910151909250905091509156fea164736f6c634300060c000a", "sourceMap": "545:1988:104:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1244:1022;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1244:1022:104;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1244:1022:104;;-1:-1:-1;1244:1022:104;;-1:-1:-1;;;;;1244:1022:104:i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2442:89;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2442:89:104;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2442:89:104;;-1:-1:-1;2442:89:104;;-1:-1:-1;;;;;2442:89:104:i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1244:1022;1429:34;;;1588:56;1584:520;;1661:14;1681:42;1704:18;1681:22;:42::i;:::-;-1:-1:-1;1758:16:104;;;1772:1;1758:16;;;;;;;;;1660:63;;-1:-1:-1;1758:16:104;;;;;;;;;;;-1:-1:-1;1758:16:104;1738:36;;1811:9;1788:17;1806:1;1788:20;;;;;;;;-1:-1:-1;;;;;1788:32:104;;;;:20;;;;;;;;;;:32;1856:16;;;1870:1;1856:16;;;;;;;;;;;;;;1788:20;1856:16;;;;;-1:-1:-1;1856:16:104;1835:37;;1910:6;1886:18;1905:1;1886:21;;;;;;;;;;;;;:30;;;;;1584:520;;;;1958:38;1937:9;:60;1933:171;;;2032:16;;;2046:1;2032:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2032:16:104;2013:35;;2084:9;2062:16;2079:1;2062:19;;;;;;;;;;;;;:31;-1:-1:-1;;;;;2062:31:104;;;-1:-1:-1;;;;;2062:31:104;;;;;1933:171;1244:1022;;;;;;;:::o;2442:89::-;2515:12;2442:89;;;;:::o;1577:214:102:-;1682:15;1699:19;1752:11;1741:43;;;;;;;;;;;;;;;-1:-1:-1;1741:43:102;;;;;;;;;-1:-1:-1;1741:43:102;-1:-1:-1;1577:214:102;;;:::o", "linkReferences": {}, "immutableReferences": { "25261": [ { "start": 824, "length": 32 }, { "start": 997, "length": 32 } ] } }, "methodIdentifiers": { "parseAssetsForAction(address,uint256,bytes)": "bbd2d646", "parseInitArgs(address,bytes)": "db16c72e" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_cvxToken\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_actionId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_encodedActionArgs\",\"type\":\"bytes\"}],\"name\":\"parseAssetsForAction\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"assetsToTransfer_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amountsToTransfer_\",\"type\":\"uint256[]\"},{\"internalType\":\"address[]\",\"name\":\"assetsToReceive_\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"parseInitArgs\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"parseAssetsForAction(address,uint256,bytes)\":{\"params\":{\"_actionId\":\"The _actionId for the callOnExternalPosition\",\"_encodedActionArgs\":\"The encoded parameters for the callOnExternalPosition\"},\"returns\":{\"amountsToTransfer_\":\"The amounts to be transferred from the Vault\",\"assetsToReceive_\":\"The assets to be received at the Vault\",\"assetsToTransfer_\":\"The assets to be transferred from the Vault\"}},\"parseInitArgs(address,bytes)\":{\"details\":\"Empty for this external position type\"}},\"title\":\"ConvexVotingPositionParser\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"parseAssetsForAction(address,uint256,bytes)\":{\"notice\":\"Parses the assets to send and receive for the callOnExternalPosition\"},\"parseInitArgs(address,bytes)\":{\"notice\":\"Parse and validate input arguments to be used when initializing a newly-deployed ExternalPositionProxy\"}},\"notice\":\"Parser for Convex vlCVX positions\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/convex-voting/ConvexVotingPositionParser.sol\":\"ConvexVotingPositionParser\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/release/extensions/external-position-manager/external-positions/IExternalPositionParser.sol\":{\"keccak256\":\"0x1662fbd65841ee5e9cf8d5329b9d04c264b24ef68ae1e0484e59a8969b0d2c46\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://580569b0f875e0344db83fae1e72dcc6c0767a049b2a6cc3e4f3c411d2284b27\",\"dweb:/ipfs/QmXFmF9QbcVsPHaBo1iq8sZHYhDkwfkMZpHmLTuJJ37NvZ\"]},\"contracts/release/extensions/external-position-manager/external-positions/convex-voting/ConvexVotingPositionDataDecoder.sol\":{\"keccak256\":\"0xa6519ec08d094279d264517505c108a3c71da5bb0992780856f0a50c922235ab\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://39c01f7087471c265a0dc6a0542dc428f73e3472e81d65561956bb21c38bc9b3\",\"dweb:/ipfs/QmTud9X9jniBpw96ve2mqvZqVmcV6mourqxrNSGmaoh8ng\"]},\"contracts/release/extensions/external-position-manager/external-positions/convex-voting/ConvexVotingPositionParser.sol\":{\"keccak256\":\"0xa3ee9f479444a4bc39411dd99983e32955088fa05b9460fc0a510dc145af2fa6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://fd79827fca9c03f1181e85e8918a9fb0533aea028820167d7b1c13b6e0a823e1\",\"dweb:/ipfs/QmbjC6EgAry2eqzRwoW3DeKCodJCjpVPogeAZD1DLRZ8mo\"]},\"contracts/release/extensions/external-position-manager/external-positions/convex-voting/IConvexVotingPosition.sol\":{\"keccak256\":\"0x7a6ea639f6f611e8098537a3310378e246c06a3d1362d8b16c8bd6fd1bfa5f63\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1bf56ec6e00cb8d97ecdb262439c1d619dbca06720f6e217e219539a326bbe43\",\"dweb:/ipfs/QmXYJAXCw6YZWrArvD9RvE1SS4FEzCsz2jXef5vbpU88EW\"]},\"contracts/release/interfaces/IVotiumMultiMerkleStash.sol\":{\"keccak256\":\"0x457bd31cabe3ea8427546bf14112f50a866b5eae3b2e1089a64acda8d6a7bb29\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://fae1df3cf61c2841987b8227a6c1cb7d0a487f62bcc4fce6d5ac40387dedf517\",\"dweb:/ipfs/QmRv4t9nK1tQ7fWnLeyCYCe8fzCSo2E1PnA9o3TPUBMVeW\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_cvxToken", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "uint256", "name": "_actionId", "type": "uint256" }, { "internalType": "bytes", "name": "_encodedActionArgs", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "parseAssetsForAction", "outputs": [ { "internalType": "address[]", "name": "assetsToTransfer_", "type": "address[]" }, { "internalType": "uint256[]", "name": "amountsToTransfer_", "type": "uint256[]" }, { "internalType": "address[]", "name": "assetsToReceive_", "type": "address[]" } ] }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "parseInitArgs", "outputs": [ { "internalType": "bytes", "name": "", "type": "bytes" } ] } ], "devdoc": { "kind": "dev", "methods": { "parseAssetsForAction(address,uint256,bytes)": { "params": { "_actionId": "The _actionId for the callOnExternalPosition", "_encodedActionArgs": "The encoded parameters for the callOnExternalPosition" }, "returns": { "amountsToTransfer_": "The amounts to be transferred from the Vault", "assetsToReceive_": "The assets to be received at the Vault", "assetsToTransfer_": "The assets to be transferred from the Vault" } }, "parseInitArgs(address,bytes)": { "details": "Empty for this external position type" } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "parseAssetsForAction(address,uint256,bytes)": { "notice": "Parses the assets to send and receive for the callOnExternalPosition" }, "parseInitArgs(address,bytes)": { "notice": "Parse and validate input arguments to be used when initializing a newly-deployed ExternalPositionProxy" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/external-position-manager/external-positions/convex-voting/ConvexVotingPositionParser.sol": "ConvexVotingPositionParser" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/external-positions/IExternalPosition.sol": { "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", "urls": [ "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/IExternalPositionParser.sol": { "keccak256": "0x1662fbd65841ee5e9cf8d5329b9d04c264b24ef68ae1e0484e59a8969b0d2c46", "urls": [ "bzz-raw://580569b0f875e0344db83fae1e72dcc6c0767a049b2a6cc3e4f3c411d2284b27", "dweb:/ipfs/QmXFmF9QbcVsPHaBo1iq8sZHYhDkwfkMZpHmLTuJJ37NvZ" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/convex-voting/ConvexVotingPositionDataDecoder.sol": { "keccak256": "0xa6519ec08d094279d264517505c108a3c71da5bb0992780856f0a50c922235ab", "urls": [ "bzz-raw://39c01f7087471c265a0dc6a0542dc428f73e3472e81d65561956bb21c38bc9b3", "dweb:/ipfs/QmTud9X9jniBpw96ve2mqvZqVmcV6mourqxrNSGmaoh8ng" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/convex-voting/ConvexVotingPositionParser.sol": { "keccak256": "0xa3ee9f479444a4bc39411dd99983e32955088fa05b9460fc0a510dc145af2fa6", "urls": [ "bzz-raw://fd79827fca9c03f1181e85e8918a9fb0533aea028820167d7b1c13b6e0a823e1", "dweb:/ipfs/QmbjC6EgAry2eqzRwoW3DeKCodJCjpVPogeAZD1DLRZ8mo" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/convex-voting/IConvexVotingPosition.sol": { "keccak256": "0x7a6ea639f6f611e8098537a3310378e246c06a3d1362d8b16c8bd6fd1bfa5f63", "urls": [ "bzz-raw://1bf56ec6e00cb8d97ecdb262439c1d619dbca06720f6e217e219539a326bbe43", "dweb:/ipfs/QmXYJAXCw6YZWrArvD9RvE1SS4FEzCsz2jXef5vbpU88EW" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IVotiumMultiMerkleStash.sol": { "keccak256": "0x457bd31cabe3ea8427546bf14112f50a866b5eae3b2e1089a64acda8d6a7bb29", "urls": [ "bzz-raw://fae1df3cf61c2841987b8227a6c1cb7d0a487f62bcc4fce6d5ac40387dedf517", "dweb:/ipfs/QmRv4t9nK1tQ7fWnLeyCYCe8fzCSo2E1PnA9o3TPUBMVeW" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 104 } diff --git a/eth_defi/abi/enzyme/CumulativeSlippageTolerancePolicy.json b/eth_defi/abi/enzyme/CumulativeSlippageTolerancePolicy.json index ebc28ab0..c327b460 100644 --- a/eth_defi/abi/enzyme/CumulativeSlippageTolerancePolicy.json +++ b/eth_defi/abi/enzyme/CumulativeSlippageTolerancePolicy.json @@ -1,1619 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_policyManager", - "type": "address" - }, - { - "internalType": "address", - "name": "_addressListRegistry", - "type": "address" - }, - { - "internalType": "address", - "name": "_valueInterpreter", - "type": "address" - }, - { - "internalType": "address", - "name": "_wethToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_bypassableAdaptersListId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_tolerancePeriodDuration", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_pricelessAssetBypassTimelock", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_pricelessAssetBypassTimeLimit", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "comptrollerProxy", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "nextCumulativeSlippage", - "type": "uint256" - } - ], - "name": "CumulativeSlippageUpdatedForFund", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "comptrollerProxy", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "tolerance", - "type": "uint256" - } - ], - "name": "FundSettingsSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "comptrollerProxy", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "asset", - "type": "address" - } - ], - "name": "PricelessAssetBypassed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "comptrollerProxy", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "asset", - "type": "address" - } - ], - "name": "PricelessAssetTimelockStarted", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "activateForFund", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_encodedSettings", - "type": "bytes" - } - ], - "name": "addFundSettings", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_asset", - "type": "address" - } - ], - "name": "assetIsBypassableForFund", - "outputs": [ - { - "internalType": "bool", - "name": "isBypassable_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "canDisable", - "outputs": [ - { - "internalType": "bool", - "name": "canDisable_", - "type": "bool" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "getAddressListRegistry", - "outputs": [ - { - "internalType": "address", - "name": "addressListRegistry_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_asset", - "type": "address" - } - ], - "name": "getAssetBypassWindowStartForFund", - "outputs": [ - { - "internalType": "uint256", - "name": "windowStart_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getBypassableAdaptersListId", - "outputs": [ - { - "internalType": "uint256", - "name": "bypassableAdaptersListId_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - } - ], - "name": "getPolicyInfoForFund", - "outputs": [ - { - "components": [ - { - "internalType": "uint64", - "name": "tolerance", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "cumulativeSlippage", - "type": "uint64" - }, - { - "internalType": "uint128", - "name": "lastSlippageTimestamp", - "type": "uint128" - } - ], - "internalType": "struct CumulativeSlippageTolerancePolicy.PolicyInfo", - "name": "policyInfo_", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getPolicyManager", - "outputs": [ - { - "internalType": "address", - "name": "policyManager_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getPricelessAssetBypassTimeLimit", - "outputs": [ - { - "internalType": "uint256", - "name": "timeLimit_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getPricelessAssetBypassTimelock", - "outputs": [ - { - "internalType": "uint256", - "name": "timelock_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getPricelessAssetBypassValueInterpreter", - "outputs": [ - { - "internalType": "address", - "name": "valueInterpreter_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getPricelessAssetBypassWethToken", - "outputs": [ - { - "internalType": "address", - "name": "wethToken_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getTolerancePeriodDuration", - "outputs": [ - { - "internalType": "uint256", - "name": "tolerancePeriodDuration_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "identifier", - "outputs": [ - { - "internalType": "string", - "name": "identifier_", - "type": "string" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "implementedHooks", - "outputs": [ - { - "internalType": "enum IPolicyManager.PolicyHook[]", - "name": "implementedHooks_", - "type": "uint8[]" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_asset", - "type": "address" - } - ], - "name": "startAssetBypassTimelock", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "updateFundSettings", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "enum IPolicyManager.PolicyHook", - "name": "", - "type": "uint8" - }, - { - "internalType": "bytes", - "name": "_encodedArgs", - "type": "bytes" - } - ], - "name": "validateRule", - "outputs": [ - { - "internalType": "bool", - "name": "isValid_", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x6101806040523480156200001257600080fd5b5060405162001b7138038062001b71833981016040819052620000359162000099565b6001600160601b0319606098891b811660805260a09290925260c05293861b841660e05291851b8316610100529290931b1661012052610140526101605262000194565b805162000086816200016f565b92915050565b8051620000868162000189565b600080600080600080600080610100898b031215620000b757600080fd5b6000620000c58b8b62000079565b9850506020620000d88b828c0162000079565b9750506040620000eb8b828c0162000079565b9650506060620000fe8b828c0162000079565b9550506080620001118b828c016200008c565b94505060a0620001248b828c016200008c565b93505060c0620001378b828c016200008c565b92505060e06200014a8b828c016200008c565b9150509295985092959890939650565b60006001600160a01b03821662000086565b90565b6200017a816200015a565b81146200018657600080fd5b50565b6200017a816200016c565b60805160601c60a05160c05160e05160601c6101005160601c6101205160601c6101405161016051611969620002086000398061094552508061098d52508061083552508061063952508061061052508061089052508061065d5250806104c7528061068c528061096952506119696000f3fe608060405234801561001057600080fd5b50600436106101215760003560e01c80635da4cdb2116100ad578063cbf54bb211610071578063cbf54bb21461022f578063ceb9a0ad14610244578063cf09a09214610257578063d44ad6cb1461025f578063e09da6811461026757610121565b80635da4cdb2146101e457806374708934146101f75780637998a1c4146101ff5780637fe292681461021457806385d63ec91461021c57610121565b80631ef92578116100f45780631ef925781461017f578063234dfb1714610194578063441053981461019c578063579be718146101b15780635bbb869c146101c457610121565b806307d2890e146101265780630d4d75101461013b5780630f5f6b4f1461014e57806314f8e61514610161575b600080fd5b610139610134366004610fd0565b61026f565b005b61013961014936600461113e565b6104a4565b61013961015c36600461113e565b6104bc565b61016961060e565b60405161017691906116a9565b60405180910390f35b610187610632565b604051610176919061170b565b610169610637565b6101a461065b565b60405161017691906117d8565b6101876101bf366004611193565b61067f565b6101d76101d2366004610fd0565b61079f565b60405161017691906117ca565b6101a46101f2366004611104565b610808565b610169610833565b610207610857565b6040516101769190611719565b6101a461088e565b61018761022a366004611104565b6108b2565b6102376108e9565b60405161017691906116fa565b610139610252366004610fd0565b610940565b6101a4610943565b610169610967565b6101a461098b565b6000336001600160a01b0316635a53e3486040518163ffffffff1660e01b815260040160206040518083038186803b1580156102aa57600080fd5b505afa1580156102be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102e29190610fee565b9050806001600160a01b031663c98091876040518163ffffffff1660e01b815260040160206040518083038186803b15801561031d57600080fd5b505afa158015610331573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103559190610fee565b6001600160a01b0316336001600160a01b03161461038e5760405162461bcd60e51b8152600401610385906117ba565b60405180910390fd5b61039661060e565b6001600160a01b0316634c67e1068360016103af610637565b6040518463ffffffff1660e01b81526004016103cd939291906116b7565b602060405180830381600087803b1580156103e757600080fd5b505af1925050508015610417575060408051601f3d908101601f1916820190925261041491810190611218565b60015b6104875761042d61042661065b565b42906109af565b6001600160a01b0380831660008181526020818152604080832094881680845294909152808220949094559251919290917f76fadd0d061c0fa0e079ec4814cecf7f5f6f43e604f241551dd35b6c3c9a69809190a36104a0565b5060405162461bcd60e51b81526004016103859061176a565b5050565b60405162461bcd60e51b81526004016103859061173a565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105045760405162461bcd60e51b81526004016103859061179a565b600061051282840184611236565b9050670de0b6b3a7640000816001600160401b0316106105445760405162461bcd60e51b81526004016103859061177a565b604080516060810182526001600160401b038084168252600060208084018281528486018381526001600160a01b038b1680855260019093529286902094518554915193516001600160801b03908116600160801b02948616600160401b0267ffffffffffffffff60401b199290961667ffffffffffffffff199093169290921716939093179092161790915590517f27abf63785bf8ff6d81b909a910422392df35bed801ecf834d5b60c8e72b859490610600908490611801565b60405180910390a250505050565b7f000000000000000000000000000000000000000000000000000000000000000090565b600090565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b6000336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106c95760405162461bcd60e51b81526004016103859061179a565b600060608060608061071088888080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506109db92505050565b96509650965096505095505061072585610a11565b1561073857600195505050505050610797565b60006107478b86868686610a9f565b90508061075d5760019650505050505050610797565b6001600160a01b038b166000908152600160205260409020546001600160401b03168061078b8d8483610b24565b11159750505050505050505b949350505050565b6107a7610e2c565b506001600160a01b038116600090815260016020908152604091829020825160608101845290546001600160401b038082168352600160401b82041692820192909252600160801b9091046001600160801b0316918101919091525b919050565b6001600160a01b03808316600090815260208181526040808320938516835292905220545b92915050565b7f000000000000000000000000000000000000000000000000000000000000000090565b60408051808201909152601d81527f43554d554c41544956455f534c4950504147455f544f4c4552414e4345000000602082015290565b7f000000000000000000000000000000000000000000000000000000000000000090565b6000806108bf8484610808565b90504281111580156107975750426108df6108d861088e565b83906109af565b1015949350505050565b6040805160018082528183019092526060916020808301908036833701905050905060018160008151811061091a57fe5b6020026020010190600981111561092d57fe5b9081600981111561093a57fe5b90525090565b50565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b6000828201838110156109d45760405162461bcd60e51b81526004016103859061172a565b9392505050565b6000806000606080606080878060200190518101906109fa919061100c565b959e949d50929b5090995097509550909350915050565b6000610a1b610833565b6001600160a01b0316631c563204610a3161098b565b846040518363ffffffff1660e01b8152600401610a4f9291906117e6565b60206040518083038186803b158015610a6757600080fd5b505afa158015610a7b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061082d91906111fa565b600080610ab5878585610ab0610637565b610c3f565b905080610ac6576000915050610b1b565b6000610ad6888888610ab0610637565b905080821115610b14576000610aec8383610c94565b9050610b0a83610b0483670de0b6b3a7640000610cbc565b90610cf6565b9350505050610b1b565b6000925050505b95945050505050565b6001600160a01b03831660009081526001602052604090208054600160401b90046001600160401b0316908115610bac576000610b8a610b62610943565b8354610b0490610b83904290600160801b90046001600160801b0316610c94565b8790610cbc565b905082811015610ba557610b9e8382610c94565b9250610baa565b600092505b505b610bb682856109af565b81546001600160801b03428116600160801b026001600160401b038416600160401b0267ffffffffffffffff60401b1990931692909217161782556040519092506001600160a01b038616907f4f2b5515347f3a595b0228c4e8afea6d14c5f08c4038241a43473ea876f6273990610c2f9085906117d8565b60405180910390a2509392505050565b6000805b8451811015610c8b57610c816108d887878481518110610c5f57fe5b6020026020010151878581518110610c7357fe5b602002602001015187610d28565b9150600101610c43565b50949350505050565b600082821115610cb65760405162461bcd60e51b81526004016103859061174a565b50900390565b600082610ccb5750600061082d565b82820282848281610cd857fe5b04146109d45760405162461bcd60e51b81526004016103859061178a565b6000808211610d175760405162461bcd60e51b81526004016103859061175a565b818381610d2057fe5b049392505050565b6000610d3261060e565b6001600160a01b0316634c67e1068585856040518463ffffffff1660e01b8152600401610d61939291906116df565b602060405180830381600087803b158015610d7b57600080fd5b505af1925050508015610dab575060408051601f3d908101601f19168201909252610da891810190611218565b60015b610e1a57610db985856108b2565b610dd55760405162461bcd60e51b8152600401610385906117aa565b836001600160a01b0316856001600160a01b03167fa2de3d3e85d58ec3c62bcbd0a67a60fac9f9002f6e70cfe768a49fa19d7dcf4660405160405180910390a3610e21565b9050610797565b506000949350505050565b604080516060810182526000808252602082018190529181019190915290565b803561082d81611917565b805161082d81611917565b600082601f830112610e7357600080fd5b8151610e86610e8182611835565b61180f565b91508181835260208401935060208101905083856020840282011115610eab57600080fd5b60005b83811015610ed75781610ec18882610e57565b8452506020928301929190910190600101610eae565b5050505092915050565b600082601f830112610ef257600080fd5b8151610f00610e8182611835565b91508181835260208401935060208101905083856020840282011115610f2557600080fd5b60005b83811015610ed75781610f3b8882610fba565b8452506020928301929190910190600101610f28565b805161082d8161192b565b805161082d81611934565b60008083601f840112610f7957600080fd5b5081356001600160401b03811115610f9057600080fd5b602083019150836001820283011115610fa857600080fd5b9250929050565b803561082d8161193d565b805161082d8161194a565b803561082d81611953565b600060208284031215610fe257600080fd5b60006107978484610e4c565b60006020828403121561100057600080fd5b60006107978484610e57565b600080600080600080600060e0888a03121561102757600080fd5b60006110338a8a610e57565b97505060206110448a828b01610e57565b96505060406110558a828b01610f5c565b95505060608801516001600160401b0381111561107157600080fd5b61107d8a828b01610e62565b94505060808801516001600160401b0381111561109957600080fd5b6110a58a828b01610ee1565b93505060a08801516001600160401b038111156110c157600080fd5b6110cd8a828b01610e62565b92505060c08801516001600160401b038111156110e957600080fd5b6110f58a828b01610ee1565b91505092959891949750929550565b6000806040838503121561111757600080fd5b60006111238585610e4c565b925050602061113485828601610e4c565b9150509250929050565b60008060006040848603121561115357600080fd5b600061115f8686610e4c565b93505060208401356001600160401b0381111561117b57600080fd5b61118786828701610f67565b92509250509250925092565b600080600080606085870312156111a957600080fd5b60006111b58787610e4c565b94505060206111c687828801610faf565b93505060408501356001600160401b038111156111e257600080fd5b6111ee87828801610f67565b95989497509550505050565b60006020828403121561120c57600080fd5b60006107978484610f51565b60006020828403121561122a57600080fd5b60006107978484610fba565b60006020828403121561124857600080fd5b60006107978484610fc5565b600061126083836112d9565b505060200190565b61127181611868565b82525050565b60006112828261185b565b61128c818561185f565b935061129783611855565b8060005b838110156112c55781516112af8882611254565b97506112ba83611855565b92505060010161129b565b509495945050505050565b61127181611873565b611271816118b6565b611271816118c1565b60006112f68261185b565b611300818561185f565b93506113108185602086016118d7565b61131981611903565b9093019392505050565b6000611330601b8361185f565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b600061136960378361185f565b7f75706461746546756e6453657474696e67733a2055706461746573206e6f742081527f616c6c6f77656420666f72207468697320706f6c696379000000000000000000602082015260400192915050565b60006113c8601e8361185f565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000611401601a8361185f565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b600061143a602b8361185f565b7f7374617274417373657442797061737354696d656c6f636b3a2041737365742081526a686173206120707269636560a81b602082015260400192915050565b600061148760278361185f565b7f61646446756e6453657474696e67733a204d617820746f6c6572616e636520658152661e18d95959195960ca1b602082015260400192915050565b60006114d060218361185f565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b600061151360298361185f565b7f4f6e6c792074686520506f6c6963794d616e616765722063616e206d616b65208152681d1a1a5cc818d85b1b60ba1b602082015260400192915050565b600061155e604a8361185f565b7f5f5f63616c6356616c75654578636c7564696e6742797061737361626c65507281527f6963656c65737341737365743a20496e76616c6964206173736574206e6f742060208201526962797061737361626c6560b01b604082015260600192915050565b60006115d060598361185f565b7f7374617274417373657442797061737354696d656c6f636b3a2053656e64657281527f206973206e6f7420746865205661756c7450726f7879206f662074686520617360208201527f736f63696174656420436f6d7074726f6c6c657250726f787900000000000000604082015260600192915050565b8051606083019061165984826116a0565b50602082015161166c60208501826116a0565b50604082015161167f6040850182611685565b50505050565b6112718161188f565b611271816118a7565b611271816118cc565b611271816118aa565b6020810161082d8284611268565b606081016116c58286611268565b6116d260208301856112e2565b6107976040830184611268565b606081016116ed8286611268565b6116d2602083018561168e565b602080825281016109d48184611277565b6020810161082d82846112d0565b602080825281016109d481846112eb565b6020808252810161082d81611323565b6020808252810161082d8161135c565b6020808252810161082d816113bb565b6020808252810161082d816113f4565b6020808252810161082d8161142d565b6020808252810161082d8161147a565b6020808252810161082d816114c3565b6020808252810161082d81611506565b6020808252810161082d81611551565b6020808252810161082d816115c3565b6060810161082d8284611648565b6020810161082d828461168e565b604081016117f4828561168e565b6109d46020830184611268565b6020810161082d8284611697565b6040518181016001600160401b038111828210171561182d57600080fd5b604052919050565b60006001600160401b0382111561184b57600080fd5b5060209081020190565b60200190565b5190565b90815260200190565b600061082d8261189b565b151590565b6001600160e01b03191690565b806108038161190d565b6001600160801b031690565b6001600160a01b031690565b90565b6001600160401b031690565b600061082d82611885565b600061082d826118a7565b600061082d826118aa565b60005b838110156118f25781810151838201526020016118da565b8381111561167f5750506000910152565b601f01601f191690565b600a811061094057fe5b61192081611868565b811461094057600080fd5b61192081611873565b61192081611878565b600a811061094057600080fd5b611920816118a7565b611920816118aa56fea164736f6c634300060c000a", - "sourceMap": "1044:8920:212:-:0;;;1829:759;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;737:31:223;;;;;;;;1530:43:224;;;;;1583:46;;1639:60;;;;;;;1709:46;;;;;;;2410:44:212;;;;;::::2;::::0;2464:55:::2;::::0;2529:52:::2;::::0;1044:8920;;5:134:-1;83:13;;101:33;83:13;101:33;:::i;:::-;68:71;;;;:::o;146:134::-;224:13;;242:33;224:13;242:33;:::i;287:1220::-;;;;;;;;;521:3;509:9;500:7;496:23;492:33;489:2;;;538:1;535;528:12;489:2;573:1;590:64;646:7;626:9;590:64;:::i;:::-;580:74;;552:108;691:2;709:64;765:7;756:6;745:9;741:22;709:64;:::i;:::-;699:74;;670:109;810:2;828:64;884:7;875:6;864:9;860:22;828:64;:::i;:::-;818:74;;789:109;929:2;947:64;1003:7;994:6;983:9;979:22;947:64;:::i;:::-;937:74;;908:109;1048:3;1067:64;1123:7;1114:6;1103:9;1099:22;1067:64;:::i;:::-;1057:74;;1027:110;1168:3;1187:64;1243:7;1234:6;1223:9;1219:22;1187:64;:::i;:::-;1177:74;;1147:110;1288:3;1307:64;1363:7;1354:6;1343:9;1339:22;1307:64;:::i;:::-;1297:74;;1267:110;1408:3;1427:64;1483:7;1474:6;1463:9;1459:22;1427:64;:::i;:::-;1417:74;;1387:110;483:1024;;;;;;;;;;;:::o;1514:91::-;;-1:-1;;;;;1674:54;;1576:24;1657:76::o;1740:72::-;1802:5;1785:27::o;1819:117::-;1888:24;1906:5;1888:24;:::i;:::-;1881:5;1878:35;1868:2;;1927:1;1924;1917:12;1868:2;1862:74;:::o;1943:117::-;2012:24;2030:5;2012:24;:::i;1986:74::-;1044:8920:212;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106101215760003560e01c80635da4cdb2116100ad578063cbf54bb211610071578063cbf54bb21461022f578063ceb9a0ad14610244578063cf09a09214610257578063d44ad6cb1461025f578063e09da6811461026757610121565b80635da4cdb2146101e457806374708934146101f75780637998a1c4146101ff5780637fe292681461021457806385d63ec91461021c57610121565b80631ef92578116100f45780631ef925781461017f578063234dfb1714610194578063441053981461019c578063579be718146101b15780635bbb869c146101c457610121565b806307d2890e146101265780630d4d75101461013b5780630f5f6b4f1461014e57806314f8e61514610161575b600080fd5b610139610134366004610fd0565b61026f565b005b61013961014936600461113e565b6104a4565b61013961015c36600461113e565b6104bc565b61016961060e565b60405161017691906116a9565b60405180910390f35b610187610632565b604051610176919061170b565b610169610637565b6101a461065b565b60405161017691906117d8565b6101876101bf366004611193565b61067f565b6101d76101d2366004610fd0565b61079f565b60405161017691906117ca565b6101a46101f2366004611104565b610808565b610169610833565b610207610857565b6040516101769190611719565b6101a461088e565b61018761022a366004611104565b6108b2565b6102376108e9565b60405161017691906116fa565b610139610252366004610fd0565b610940565b6101a4610943565b610169610967565b6101a461098b565b6000336001600160a01b0316635a53e3486040518163ffffffff1660e01b815260040160206040518083038186803b1580156102aa57600080fd5b505afa1580156102be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102e29190610fee565b9050806001600160a01b031663c98091876040518163ffffffff1660e01b815260040160206040518083038186803b15801561031d57600080fd5b505afa158015610331573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103559190610fee565b6001600160a01b0316336001600160a01b03161461038e5760405162461bcd60e51b8152600401610385906117ba565b60405180910390fd5b61039661060e565b6001600160a01b0316634c67e1068360016103af610637565b6040518463ffffffff1660e01b81526004016103cd939291906116b7565b602060405180830381600087803b1580156103e757600080fd5b505af1925050508015610417575060408051601f3d908101601f1916820190925261041491810190611218565b60015b6104875761042d61042661065b565b42906109af565b6001600160a01b0380831660008181526020818152604080832094881680845294909152808220949094559251919290917f76fadd0d061c0fa0e079ec4814cecf7f5f6f43e604f241551dd35b6c3c9a69809190a36104a0565b5060405162461bcd60e51b81526004016103859061176a565b5050565b60405162461bcd60e51b81526004016103859061173a565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105045760405162461bcd60e51b81526004016103859061179a565b600061051282840184611236565b9050670de0b6b3a7640000816001600160401b0316106105445760405162461bcd60e51b81526004016103859061177a565b604080516060810182526001600160401b038084168252600060208084018281528486018381526001600160a01b038b1680855260019093529286902094518554915193516001600160801b03908116600160801b02948616600160401b0267ffffffffffffffff60401b199290961667ffffffffffffffff199093169290921716939093179092161790915590517f27abf63785bf8ff6d81b909a910422392df35bed801ecf834d5b60c8e72b859490610600908490611801565b60405180910390a250505050565b7f000000000000000000000000000000000000000000000000000000000000000090565b600090565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b6000336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106c95760405162461bcd60e51b81526004016103859061179a565b600060608060608061071088888080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506109db92505050565b96509650965096505095505061072585610a11565b1561073857600195505050505050610797565b60006107478b86868686610a9f565b90508061075d5760019650505050505050610797565b6001600160a01b038b166000908152600160205260409020546001600160401b03168061078b8d8483610b24565b11159750505050505050505b949350505050565b6107a7610e2c565b506001600160a01b038116600090815260016020908152604091829020825160608101845290546001600160401b038082168352600160401b82041692820192909252600160801b9091046001600160801b0316918101919091525b919050565b6001600160a01b03808316600090815260208181526040808320938516835292905220545b92915050565b7f000000000000000000000000000000000000000000000000000000000000000090565b60408051808201909152601d81527f43554d554c41544956455f534c4950504147455f544f4c4552414e4345000000602082015290565b7f000000000000000000000000000000000000000000000000000000000000000090565b6000806108bf8484610808565b90504281111580156107975750426108df6108d861088e565b83906109af565b1015949350505050565b6040805160018082528183019092526060916020808301908036833701905050905060018160008151811061091a57fe5b6020026020010190600981111561092d57fe5b9081600981111561093a57fe5b90525090565b50565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b6000828201838110156109d45760405162461bcd60e51b81526004016103859061172a565b9392505050565b6000806000606080606080878060200190518101906109fa919061100c565b959e949d50929b5090995097509550909350915050565b6000610a1b610833565b6001600160a01b0316631c563204610a3161098b565b846040518363ffffffff1660e01b8152600401610a4f9291906117e6565b60206040518083038186803b158015610a6757600080fd5b505afa158015610a7b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061082d91906111fa565b600080610ab5878585610ab0610637565b610c3f565b905080610ac6576000915050610b1b565b6000610ad6888888610ab0610637565b905080821115610b14576000610aec8383610c94565b9050610b0a83610b0483670de0b6b3a7640000610cbc565b90610cf6565b9350505050610b1b565b6000925050505b95945050505050565b6001600160a01b03831660009081526001602052604090208054600160401b90046001600160401b0316908115610bac576000610b8a610b62610943565b8354610b0490610b83904290600160801b90046001600160801b0316610c94565b8790610cbc565b905082811015610ba557610b9e8382610c94565b9250610baa565b600092505b505b610bb682856109af565b81546001600160801b03428116600160801b026001600160401b038416600160401b0267ffffffffffffffff60401b1990931692909217161782556040519092506001600160a01b038616907f4f2b5515347f3a595b0228c4e8afea6d14c5f08c4038241a43473ea876f6273990610c2f9085906117d8565b60405180910390a2509392505050565b6000805b8451811015610c8b57610c816108d887878481518110610c5f57fe5b6020026020010151878581518110610c7357fe5b602002602001015187610d28565b9150600101610c43565b50949350505050565b600082821115610cb65760405162461bcd60e51b81526004016103859061174a565b50900390565b600082610ccb5750600061082d565b82820282848281610cd857fe5b04146109d45760405162461bcd60e51b81526004016103859061178a565b6000808211610d175760405162461bcd60e51b81526004016103859061175a565b818381610d2057fe5b049392505050565b6000610d3261060e565b6001600160a01b0316634c67e1068585856040518463ffffffff1660e01b8152600401610d61939291906116df565b602060405180830381600087803b158015610d7b57600080fd5b505af1925050508015610dab575060408051601f3d908101601f19168201909252610da891810190611218565b60015b610e1a57610db985856108b2565b610dd55760405162461bcd60e51b8152600401610385906117aa565b836001600160a01b0316856001600160a01b03167fa2de3d3e85d58ec3c62bcbd0a67a60fac9f9002f6e70cfe768a49fa19d7dcf4660405160405180910390a3610e21565b9050610797565b506000949350505050565b604080516060810182526000808252602082018190529181019190915290565b803561082d81611917565b805161082d81611917565b600082601f830112610e7357600080fd5b8151610e86610e8182611835565b61180f565b91508181835260208401935060208101905083856020840282011115610eab57600080fd5b60005b83811015610ed75781610ec18882610e57565b8452506020928301929190910190600101610eae565b5050505092915050565b600082601f830112610ef257600080fd5b8151610f00610e8182611835565b91508181835260208401935060208101905083856020840282011115610f2557600080fd5b60005b83811015610ed75781610f3b8882610fba565b8452506020928301929190910190600101610f28565b805161082d8161192b565b805161082d81611934565b60008083601f840112610f7957600080fd5b5081356001600160401b03811115610f9057600080fd5b602083019150836001820283011115610fa857600080fd5b9250929050565b803561082d8161193d565b805161082d8161194a565b803561082d81611953565b600060208284031215610fe257600080fd5b60006107978484610e4c565b60006020828403121561100057600080fd5b60006107978484610e57565b600080600080600080600060e0888a03121561102757600080fd5b60006110338a8a610e57565b97505060206110448a828b01610e57565b96505060406110558a828b01610f5c565b95505060608801516001600160401b0381111561107157600080fd5b61107d8a828b01610e62565b94505060808801516001600160401b0381111561109957600080fd5b6110a58a828b01610ee1565b93505060a08801516001600160401b038111156110c157600080fd5b6110cd8a828b01610e62565b92505060c08801516001600160401b038111156110e957600080fd5b6110f58a828b01610ee1565b91505092959891949750929550565b6000806040838503121561111757600080fd5b60006111238585610e4c565b925050602061113485828601610e4c565b9150509250929050565b60008060006040848603121561115357600080fd5b600061115f8686610e4c565b93505060208401356001600160401b0381111561117b57600080fd5b61118786828701610f67565b92509250509250925092565b600080600080606085870312156111a957600080fd5b60006111b58787610e4c565b94505060206111c687828801610faf565b93505060408501356001600160401b038111156111e257600080fd5b6111ee87828801610f67565b95989497509550505050565b60006020828403121561120c57600080fd5b60006107978484610f51565b60006020828403121561122a57600080fd5b60006107978484610fba565b60006020828403121561124857600080fd5b60006107978484610fc5565b600061126083836112d9565b505060200190565b61127181611868565b82525050565b60006112828261185b565b61128c818561185f565b935061129783611855565b8060005b838110156112c55781516112af8882611254565b97506112ba83611855565b92505060010161129b565b509495945050505050565b61127181611873565b611271816118b6565b611271816118c1565b60006112f68261185b565b611300818561185f565b93506113108185602086016118d7565b61131981611903565b9093019392505050565b6000611330601b8361185f565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b600061136960378361185f565b7f75706461746546756e6453657474696e67733a2055706461746573206e6f742081527f616c6c6f77656420666f72207468697320706f6c696379000000000000000000602082015260400192915050565b60006113c8601e8361185f565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000611401601a8361185f565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b600061143a602b8361185f565b7f7374617274417373657442797061737354696d656c6f636b3a2041737365742081526a686173206120707269636560a81b602082015260400192915050565b600061148760278361185f565b7f61646446756e6453657474696e67733a204d617820746f6c6572616e636520658152661e18d95959195960ca1b602082015260400192915050565b60006114d060218361185f565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b600061151360298361185f565b7f4f6e6c792074686520506f6c6963794d616e616765722063616e206d616b65208152681d1a1a5cc818d85b1b60ba1b602082015260400192915050565b600061155e604a8361185f565b7f5f5f63616c6356616c75654578636c7564696e6742797061737361626c65507281527f6963656c65737341737365743a20496e76616c6964206173736574206e6f742060208201526962797061737361626c6560b01b604082015260600192915050565b60006115d060598361185f565b7f7374617274417373657442797061737354696d656c6f636b3a2053656e64657281527f206973206e6f7420746865205661756c7450726f7879206f662074686520617360208201527f736f63696174656420436f6d7074726f6c6c657250726f787900000000000000604082015260600192915050565b8051606083019061165984826116a0565b50602082015161166c60208501826116a0565b50604082015161167f6040850182611685565b50505050565b6112718161188f565b611271816118a7565b611271816118cc565b611271816118aa565b6020810161082d8284611268565b606081016116c58286611268565b6116d260208301856112e2565b6107976040830184611268565b606081016116ed8286611268565b6116d2602083018561168e565b602080825281016109d48184611277565b6020810161082d82846112d0565b602080825281016109d481846112eb565b6020808252810161082d81611323565b6020808252810161082d8161135c565b6020808252810161082d816113bb565b6020808252810161082d816113f4565b6020808252810161082d8161142d565b6020808252810161082d8161147a565b6020808252810161082d816114c3565b6020808252810161082d81611506565b6020808252810161082d81611551565b6020808252810161082d816115c3565b6060810161082d8284611648565b6020810161082d828461168e565b604081016117f4828561168e565b6109d46020830184611268565b6020810161082d8284611697565b6040518181016001600160401b038111828210171561182d57600080fd5b604052919050565b60006001600160401b0382111561184b57600080fd5b5060209081020190565b60200190565b5190565b90815260200190565b600061082d8261189b565b151590565b6001600160e01b03191690565b806108038161190d565b6001600160801b031690565b6001600160a01b031690565b90565b6001600160401b031690565b600061082d82611885565b600061082d826118a7565b600061082d826118aa565b60005b838110156118f25781810151838201526020016118da565b8381111561167f5750506000910152565b601f01601f191690565b600a811061094057fe5b61192081611868565b811461094057600080fd5b61192081611873565b61192081611878565b600a811061094057600080fd5b611920816118a7565b611920816118aa56fea164736f6c634300060c000a", - "sourceMap": "1044:8920:212:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2146:1068:224;;;;;;:::i;:::-;;:::i;:::-;;1452:161:223;;;;;;:::i;:::-;;:::i;2817:567:212:-;;;;;;:::i;:::-;;:::i;7057:191:224:-;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1214:109:223;;;:::i;:::-;;;;;;;:::i;7406:142:224:-;;;:::i;6740:138::-;;;:::i;:::-;;;;;;;:::i;4461:1067:212:-;;;;;;:::i;:::-;;:::i;9456:208::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;6038:249:224:-;;;;;;:::i;:::-;;:::i;8816:130:212:-;;;:::i;3507:136::-;;;:::i;:::-;;;;;;;:::i;6445:142:224:-;;;:::i;3548:390::-;;;;;;:::i;:::-;;:::i;3773:336:212:-;;;:::i;:::-;;;;;;;:::i;941:83:223:-;;;;;;:::i;:::-;;:::i;9820:142:212:-;;;:::i;6755:113:223:-;;;:::i;9107:174:212:-;;;:::i;2146:1068:224:-;2291:24;2327:10;-1:-1:-1;;;;;2318:32:224;;:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2291:61;;2412:16;-1:-1:-1;;;;;2397:46:224;;:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;2383:62:224;:10;-1:-1:-1;;;;;2383:62:224;;2362:198;;;;-1:-1:-1;;;2362:198:224;;;;;;;:::i;:::-;;;;;;;;;2604:41;:39;:41::i;:::-;-1:-1:-1;;;;;2587:83:224;;2688:6;2712:1;2779:34;:32;:34::i;:::-;2587:268;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2587:268:224;;;;;;;;-1:-1:-1;;2587:268:224;;;;;;;;;;;;:::i;:::-;;;2571:637;;3034:88;3088:33;:31;:33::i;:::-;3034:32;;:53;:88::i;:::-;-1:-1:-1;;;;;2963:60:224;;;:42;:60;;;;;;;;;;;:68;;;;;;;;;;;;;:159;;;;3142:55;;2963:68;;:60;;3142:55;;2963:42;3142:55;2571:637;;;;2878:53;;-1:-1:-1;;;2878:53:224;;;;;;;:::i;2571:637::-;2146:1068;;:::o;1452:161:223:-;1541:65;;-1:-1:-1;;;1541:65:223;;;;;;;:::i;2817:567:212:-;586:10:223;-1:-1:-1;;;;;600:14:223;586:28;;578:82;;;;-1:-1:-1;;;578:82:223;;;;;;;:::i;:::-;2976:16:212::1;2995:38;::::0;;::::1;3006:16:::0;2995:38:::1;:::i;:::-;2976:57;;1559:7;3051:9;-1:-1:-1::0;;;;;3051:31:212::1;;3043:83;;;;-1:-1:-1::0;;;3043:83:212::1;;;;;;;:::i;:::-;3187:129;::::0;;::::1;::::0;::::1;::::0;;-1:-1:-1;;;;;3187:129:212;;::::1;::::0;;-1:-1:-1;3187:129:212::1;::::0;;::::1;::::0;;;;;;;;;-1:-1:-1;;;;;3137:47:212;::::1;::::0;;;:28:::1;:47:::0;;;;;;;:179;;;;;;;;-1:-1:-1;;;;;3137:179:212;;::::1;-1:-1:-1::0;;;3137:179:212::1;::::0;;::::1;-1:-1:-1::0;;;3137:179:212::1;-1:-1:-1::0;;;;3137:179:212;;;::::1;-1:-1:-1::0;;3137:179:212;;::::1;::::0;;;::::1;;::::0;;;::::1;::::0;;::::1;;::::0;;;3332:45;;::::1;::::0;::::1;::::0;3223:9;;3332:45:::1;:::i;:::-;;;;;;;;670:1:223;2817:567:212::0;;;:::o;7057:191:224:-;7201:40;7057:191;:::o;1214:109:223:-;1276:16;1214:109;:::o;7406:142:224:-;7508:33;7406:142;:::o;6740:138::-;6840:31;6740:138;:::o;4461:1067:212:-;4641:13;586:10:223;-1:-1:-1;;;;;600:14:223;586:28;;578:82;;;;-1:-1:-1;;;578:82:223;;;;;;;:::i;:::-;4694:15:212::1;4737:31;4782:37:::0;4833:28:::1;4875:34:::0;4922:57:::1;4966:12;;4922:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;4922:43:212::1;::::0;-1:-1:-1;;;4922:57:212:i:1;:::-;4666:313;;;;;;;;;;;;4994:29;5015:7;4994:20;:29::i;:::-;4990:71;;;5046:4;5039:11;;;;;;;;;4990:71;5071:19;5093:173;5121:17;5152:14;5180:20;5214:11;5239:17;5093:14;:173::i;:::-;5071:195:::0;-1:-1:-1;5280:16:212;5276:58:::1;;5319:4;5312:11;;;;;;;;;;5276:58;-1:-1:-1::0;;;;;5364:47:212;::::1;5344:17;5364:47:::0;;;:28:::1;:47;::::0;;;;:57;-1:-1:-1;;;;;5364:57:212::1;::::0;5439:69:::1;5393:17:::0;5485:11;5364:57;5439:26:::1;:69::i;:::-;:82;;5432:89;;;;;;;;;670:1:223;4461:1067:212::0;;;;;;:::o;9456:208::-;9558:29;;:::i;:::-;-1:-1:-1;;;;;;9610:47:212;;;;;;:28;:47;;;;;;;;;9603:54;;;;;;;;;-1:-1:-1;;;;;9603:54:212;;;;;-1:-1:-1;;;9603:54:212;;;;;;;;;;-1:-1:-1;;;9603:54:212;;;-1:-1:-1;;;;;9603:54:212;;;;;;;;9456:208;;;;:::o;6038:249:224:-;-1:-1:-1;;;;;6211:61:224;;;6168:20;6211:61;;;;;;;;;;;:69;;;;;;;;;;6038:249;;;;;:::o;8816:130:212:-;8918:21;8816:130;:::o;3507:136::-;3598:38;;;;;;;;;;;;;;;;;3507:136;:::o;6445:142:224:-;6547:33;6445:142;:::o;3548:390::-;3670:18;3704:19;3726:59;3759:17;3778:6;3726:32;:59::i;:::-;3704:81;;3830:15;3815:11;:30;;:116;;;;;3916:15;3861:51;3877:34;:32;:34::i;:::-;3861:11;;:15;:51::i;:::-;:70;;3796:135;3548:390;-1:-1:-1;;;;3548:390:224:o;3773:336:212:-;3953:34;;;3985:1;3953:34;;;;;;;;;3865:52;;3953:34;;;;;;;;;;;-1:-1:-1;3953:34:212;3933:54;;4020:47;3997:17;4015:1;3997:20;;;;;;;;;;;;;:70;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3773:336:212;:::o;941:83:223:-;;:::o;9820:142:212:-;9930:25;9820:142;:::o;6755:113:223:-;6847:14;6755:113;:::o;9107:174:212:-;9247:27;9107:174;:::o;2690:175:442:-;2748:7;2779:5;;;2802:6;;;;2794:46;;;;-1:-1:-1;;;2794:46:442;;;;;;;:::i;:::-;2857:1;2690:175;-1:-1:-1;;;2690:175:442:o;4190:604:223:-;4333:15;4362:16;4392;4422:32;4468:38;4520:29;4563:35;4670:15;4642:145;;;;;;;;;;;;:::i;:::-;4623:164;;;;-1:-1:-1;4623:164:223;;-1:-1:-1;4623:164:223;;-1:-1:-1;4623:164:223;-1:-1:-1;4623:164:223;-1:-1:-1;4623:164:223;;-1:-1:-1;4190:604:223;-1:-1:-1;;4190:604:223:o;6782:267:212:-;6852:18;6921:24;:22;:24::i;:::-;-1:-1:-1;;;;;6901:54:212;;6973:29;:27;:29::i;:::-;7020:8;6901:141;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;5602:1113::-;5858:17;5887:21;5911:197;5975:17;6006:12;6032:18;6064:34;:32;:34::i;:::-;5911:50;:197::i;:::-;5887:221;-1:-1:-1;6212:18:212;6208:57;;6253:1;6246:8;;;;;6208:57;6275:21;6299:203;6363:17;6394:15;6423:21;6458:34;:32;:34::i;6299:203::-;6275:227;;6533:13;6517;:29;6513:177;;;6562:12;6577:32;:13;6595;6577:17;:32::i;:::-;6562:47;-1:-1:-1;6631:48:212;6665:13;6631:29;6562:47;1559:7;6631:8;:29::i;:::-;:33;;:48::i;:::-;6624:55;;;;;;;6513:177;6707:1;6700:8;;;;5602:1113;;;;;;;;:::o;7279:1320::-;-1:-1:-1;;;;;7506:47:212;;7431:31;7506:47;;;:28;:47;;;;;7590:29;;-1:-1:-1;;;7590:29:212;;-1:-1:-1;;;;;7590:29:212;;7725:27;;7721:486;;7768:35;7806:137;7914:28;:26;:28::i;:::-;7858:32;;7806:86;;7838:53;;:15;;-1:-1:-1;;;7858:32:212;;-1:-1:-1;;;;;7858:32:212;7838:19;:53::i;:::-;7806:10;;:31;:86::i;:137::-;7768:175;;7991:23;7961:27;:53;7957:240;;;8060:56;:23;8088:27;8060;:56::i;:::-;8034:82;;7957:240;;;8181:1;8155:27;;7957:240;7721:486;;8275:41;:23;8303:12;8275:27;:41::i;:::-;8327:63;;-1:-1:-1;;;;;8443:15:212;8400:59;;-1:-1:-1;;;8400:59:212;-1:-1:-1;;;;;8327:63:212;;-1:-1:-1;;;8327:63:212;-1:-1:-1;;;;8327:63:212;;;;;;;8400:59;;;;8475:76;;8249:67;;-1:-1:-1;;;;;;8475:76:212;;;;;;;8249:67;;8475:76;:::i;:::-;;;;;;;;8562:30;7279:1320;;;;;:::o;4084:595:224:-;4314:14;4345:9;4340:333;4360:11;:18;4356:1;:22;4340:333;;;4408:254;4436:212;4502:17;4541:11;4553:1;4541:14;;;;;;;;;;;;;;4577:17;4595:1;4577:20;;;;;;;;;;;;;;4619:11;4436:44;:212::i;4408:254::-;4399:263;-1:-1:-1;4380:3:224;;4340:333;;;;4084:595;;;;;;:::o;3136:155:442:-;3194:7;3226:1;3221;:6;;3213:49;;;;-1:-1:-1;;;3213:49:442;;;;;;;:::i;:::-;-1:-1:-1;3279:5:442;;;3136:155::o;3538:215::-;3596:7;3619:6;3615:20;;-1:-1:-1;3634:1:442;3627:8;;3615:20;3657:5;;;3661:1;3657;:5;:1;3680:5;;;;;:10;3672:56;;;;-1:-1:-1;;;3672:56:442;;;;;;;:::i;4217:150::-;4275:7;4306:1;4302;:5;4294:44;;;;-1:-1:-1;;;4294:44:442;;;;;;;:::i;:::-;4359:1;4355;:5;;;;;;;4217:150;-1:-1:-1;;;4217:150:442:o;4879:824:224:-;5083:14;5142:41;:39;:41::i;:::-;-1:-1:-1;;;;;5125:83:224;;5226:10;5254:16;5288:11;5125:188;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5125:188:224;;;;;;;;-1:-1:-1;;5125:188:224;;;;;;;;;;;;:::i;:::-;;;5109:569;;5431:55;5456:17;5475:10;5431:24;:55::i;:::-;5406:188;;;;-1:-1:-1;;;5406:188:224;;;;;;;:::i;:::-;5656:10;-1:-1:-1;;;;;5614:53:224;5637:17;-1:-1:-1;;;;;5614:53:224;;;;;;;;;;;5109:569;;;5368:6;-1:-1:-1;5361:13:224;;5109:569;-1:-1:-1;5695:1:224;4879:824;;;;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5:130::-;72:20;;97:33;72:20;97:33;:::i;142:134::-;220:13;;238:33;220:13;238:33;:::i;458:722::-;;586:3;579:4;571:6;567:17;563:27;553:2;;604:1;601;594:12;553:2;634:6;628:13;656:80;671:64;728:6;671:64;:::i;:::-;656:80;:::i;:::-;647:89;;753:5;778:6;771:5;764:21;808:4;800:6;796:17;786:27;;830:4;825:3;821:14;814:21;;883:6;930:3;922:4;914:6;910:17;905:3;901:27;898:36;895:2;;;947:1;944;937:12;895:2;972:1;957:217;982:6;979:1;976:13;957:217;;;1040:3;1062:48;1106:3;1094:10;1062:48;:::i;:::-;1050:61;;-1:-1;1134:4;1125:14;;;;1153;;;;;1004:1;997:9;957:217;;;961:14;546:634;;;;;;;:::o;1206:722::-;;1334:3;1327:4;1319:6;1315:17;1311:27;1301:2;;1352:1;1349;1342:12;1301:2;1382:6;1376:13;1404:80;1419:64;1476:6;1419:64;:::i;1404:80::-;1395:89;;1501:5;1526:6;1519:5;1512:21;1556:4;1548:6;1544:17;1534:27;;1578:4;1573:3;1569:14;1562:21;;1631:6;1678:3;1670:4;1662:6;1658:17;1653:3;1649:27;1646:36;1643:2;;;1695:1;1692;1685:12;1643:2;1720:1;1705:217;1730:6;1727:1;1724:13;1705:217;;;1788:3;1810:48;1854:3;1842:10;1810:48;:::i;:::-;1798:61;;-1:-1;1882:4;1873:14;;;;1901;;;;;1752:1;1745:9;1705:217;;1936:128;2011:13;;2029:30;2011:13;2029:30;:::i;2071:132::-;2148:13;;2166:32;2148:13;2166:32;:::i;2224:336::-;;;2338:3;2331:4;2323:6;2319:17;2315:27;2305:2;;2356:1;2353;2346:12;2305:2;-1:-1;2376:20;;-1:-1;;;;;2405:30;;2402:2;;;2448:1;2445;2438:12;2402:2;2482:4;2474:6;2470:17;2458:29;;2533:3;2525:4;2517:6;2513:17;2503:8;2499:32;2496:41;2493:2;;;2550:1;2547;2540:12;2493:2;2298:262;;;;;:::o;2568:162::-;2651:20;;2676:49;2651:20;2676:49;:::i;2737:134::-;2815:13;;2833:33;2815:13;2833:33;:::i;2878:128::-;2944:20;;2969:32;2944:20;2969:32;:::i;3013:241::-;;3117:2;3105:9;3096:7;3092:23;3088:32;3085:2;;;3133:1;3130;3123:12;3085:2;3168:1;3185:53;3230:7;3210:9;3185:53;:::i;3261:263::-;;3376:2;3364:9;3355:7;3351:23;3347:32;3344:2;;;3392:1;3389;3382:12;3344:2;3427:1;3444:64;3500:7;3480:9;3444:64;:::i;3531:1629::-;;;;;;;;3863:3;3851:9;3842:7;3838:23;3834:33;3831:2;;;3880:1;3877;3870:12;3831:2;3915:1;3932:72;3996:7;3976:9;3932:72;:::i;:::-;3922:82;;3894:116;4041:2;4059:72;4123:7;4114:6;4103:9;4099:22;4059:72;:::i;:::-;4049:82;;4020:117;4168:2;4186:63;4241:7;4232:6;4221:9;4217:22;4186:63;:::i;:::-;4176:73;;4147:108;4307:2;4296:9;4292:18;4286:25;-1:-1;;;;;4323:6;4320:30;4317:2;;;4363:1;4360;4353:12;4317:2;4383:89;4464:7;4455:6;4444:9;4440:22;4383:89;:::i;:::-;4373:99;;4265:213;4530:3;4519:9;4515:19;4509:26;-1:-1;;;;;4547:6;4544:30;4541:2;;;4587:1;4584;4577:12;4541:2;4607:89;4688:7;4679:6;4668:9;4664:22;4607:89;:::i;:::-;4597:99;;4488:214;4754:3;4743:9;4739:19;4733:26;-1:-1;;;;;4771:6;4768:30;4765:2;;;4811:1;4808;4801:12;4765:2;4831:89;4912:7;4903:6;4892:9;4888:22;4831:89;:::i;:::-;4821:99;;4712:214;4978:3;4967:9;4963:19;4957:26;-1:-1;;;;;4995:6;4992:30;4989:2;;;5035:1;5032;5025:12;4989:2;5055:89;5136:7;5127:6;5116:9;5112:22;5055:89;:::i;:::-;5045:99;;4936:214;3825:1335;;;;;;;;;;:::o;5167:366::-;;;5288:2;5276:9;5267:7;5263:23;5259:32;5256:2;;;5304:1;5301;5294:12;5256:2;5339:1;5356:53;5401:7;5381:9;5356:53;:::i;:::-;5346:63;;5318:97;5446:2;5464:53;5509:7;5500:6;5489:9;5485:22;5464:53;:::i;:::-;5454:63;;5425:98;5250:283;;;;;:::o;5540:490::-;;;;5680:2;5668:9;5659:7;5655:23;5651:32;5648:2;;;5696:1;5693;5686:12;5648:2;5731:1;5748:53;5793:7;5773:9;5748:53;:::i;:::-;5738:63;;5710:97;5866:2;5855:9;5851:18;5838:32;-1:-1;;;;;5882:6;5879:30;5876:2;;;5922:1;5919;5912:12;5876:2;5950:64;6006:7;5997:6;5986:9;5982:22;5950:64;:::i;:::-;5932:82;;;;5817:203;5642:388;;;;;:::o;6037:647::-;;;;;6210:2;6198:9;6189:7;6185:23;6181:32;6178:2;;;6226:1;6223;6216:12;6178:2;6261:1;6278:53;6323:7;6303:9;6278:53;:::i;:::-;6268:63;;6240:97;6368:2;6386:69;6447:7;6438:6;6427:9;6423:22;6386:69;:::i;:::-;6376:79;;6347:114;6520:2;6509:9;6505:18;6492:32;-1:-1;;;;;6536:6;6533:30;6530:2;;;6576:1;6573;6566:12;6530:2;6604:64;6660:7;6651:6;6640:9;6636:22;6604:64;:::i;:::-;6172:512;;;;-1:-1;6586:82;-1:-1;;;;6172:512::o;6691:257::-;;6803:2;6791:9;6782:7;6778:23;6774:32;6771:2;;;6819:1;6816;6809:12;6771:2;6854:1;6871:61;6924:7;6904:9;6871:61;:::i;6955:263::-;;7070:2;7058:9;7049:7;7045:23;7041:32;7038:2;;;7086:1;7083;7076:12;7038:2;7121:1;7138:64;7194:7;7174:9;7138:64;:::i;7225:239::-;;7328:2;7316:9;7307:7;7303:23;7299:32;7296:2;;;7344:1;7341;7334:12;7296:2;7379:1;7396:52;7440:7;7420:9;7396:52;:::i;7472:201::-;;7573:60;7629:3;7621:6;7573:60;:::i;:::-;-1:-1;;7662:4;7653:14;;7566:107::o;7681:113::-;7764:24;7782:5;7764:24;:::i;:::-;7759:3;7752:37;7746:48;;:::o;7853:764::-;;8012:70;8076:5;8012:70;:::i;:::-;8095:84;8172:6;8167:3;8095:84;:::i;:::-;8088:91;;8200:72;8266:5;8200:72;:::i;:::-;8292:7;8320:1;8305:290;8330:6;8327:1;8324:13;8305:290;;;8397:6;8391:13;8418:77;8491:3;8476:13;8418:77;:::i;:::-;8411:84;;8512:76;8581:6;8512:76;:::i;:::-;8502:86;-1:-1;;8352:1;8345:9;8305:290;;;-1:-1;8608:3;;7991:626;-1:-1;;;;;7991:626::o;8625:104::-;8702:21;8717:5;8702:21;:::i;8736:144::-;8823:51;8868:5;8823:51;:::i;8887:142::-;8978:45;9017:5;8978:45;:::i;9036:347::-;;9148:39;9181:5;9148:39;:::i;:::-;9199:71;9263:6;9258:3;9199:71;:::i;:::-;9192:78;;9275:52;9320:6;9315:3;9308:4;9301:5;9297:16;9275:52;:::i;:::-;9348:29;9370:6;9348:29;:::i;:::-;9339:39;;;;9128:255;-1:-1;;;9128:255::o;9391:327::-;;9551:67;9615:2;9610:3;9551:67;:::i;:::-;9651:29;9631:50;;9709:2;9700:12;;9537:181;-1:-1;;9537:181::o;9727:392::-;;9887:67;9951:2;9946:3;9887:67;:::i;:::-;9987:34;9967:55;;10056:25;10051:2;10042:12;;10035:47;10110:2;10101:12;;9873:246;-1:-1;;9873:246::o;10128:330::-;;10288:67;10352:2;10347:3;10288:67;:::i;:::-;10388:32;10368:53;;10449:2;10440:12;;10274:184;-1:-1;;10274:184::o;10467:326::-;;10627:67;10691:2;10686:3;10627:67;:::i;:::-;10727:28;10707:49;;10784:2;10775:12;;10613:180;-1:-1;;10613:180::o;10802:380::-;;10962:67;11026:2;11021:3;10962:67;:::i;:::-;11062:34;11042:55;;-1:-1;;;11126:2;11117:12;;11110:35;11173:2;11164:12;;10948:234;-1:-1;;10948:234::o;11191:376::-;;11351:67;11415:2;11410:3;11351:67;:::i;:::-;11451:34;11431:55;;-1:-1;;;11515:2;11506:12;;11499:31;11558:2;11549:12;;11337:230;-1:-1;;11337:230::o;11576:370::-;;11736:67;11800:2;11795:3;11736:67;:::i;:::-;11836:34;11816:55;;-1:-1;;;11900:2;11891:12;;11884:25;11937:2;11928:12;;11722:224;-1:-1;;11722:224::o;11955:378::-;;12115:67;12179:2;12174:3;12115:67;:::i;:::-;12215:34;12195:55;;-1:-1;;;12279:2;12270:12;;12263:33;12324:2;12315:12;;12101:232;-1:-1;;12101:232::o;12342:448::-;;12502:67;12566:2;12561:3;12502:67;:::i;:::-;12602:34;12582:55;;12671:34;12666:2;12657:12;;12650:56;-1:-1;;;12735:2;12726:12;;12719:34;12781:2;12772:12;;12488:302;-1:-1;;12488:302::o;12799:463::-;;12959:67;13023:2;13018:3;12959:67;:::i;:::-;13059:34;13039:55;;13128:34;13123:2;13114:12;;13107:56;13197:27;13192:2;13183:12;;13176:49;13253:2;13244:12;;12945:317;-1:-1;;12945:317::o;13383:670::-;13605:23;;13534:4;13525:14;;;13634:61;13529:3;13605:23;13634:61;:::i;:::-;13554:147;13788:4;13781:5;13777:16;13771:23;13800:61;13855:4;13850:3;13846:14;13832:12;13800:61;:::i;:::-;13711:156;13957:4;13950:5;13946:16;13940:23;13969:63;14026:4;14021:3;14017:14;14003:12;13969:63;:::i;:::-;13877:161;13507:546;;;:::o;14060:103::-;14133:24;14151:5;14133:24;:::i;14170:113::-;14253:24;14271:5;14253:24;:::i;14290:124::-;14372:36;14402:5;14372:36;:::i;14421:100::-;14492:23;14509:5;14492:23;:::i;14528:222::-;14655:2;14640:18;;14669:71;14644:9;14713:6;14669:71;:::i;14757:460::-;14948:2;14933:18;;14962:71;14937:9;15006:6;14962:71;:::i;:::-;15044:80;15120:2;15109:9;15105:18;15096:6;15044:80;:::i;:::-;15135:72;15203:2;15192:9;15188:18;15179:6;15135:72;:::i;15224:444::-;15407:2;15392:18;;15421:71;15396:9;15465:6;15421:71;:::i;:::-;15503:72;15571:2;15560:9;15556:18;15547:6;15503:72;:::i;15675:398::-;15866:2;15880:47;;;15851:18;;15941:122;15851:18;16049:6;15941:122;:::i;16080:210::-;16201:2;16186:18;;16215:65;16190:9;16253:6;16215:65;:::i;16297:310::-;16444:2;16458:47;;;16429:18;;16519:78;16429:18;16583:6;16519:78;:::i;16614:416::-;16814:2;16828:47;;;16799:18;;16889:131;16799:18;16889:131;:::i;17037:416::-;17237:2;17251:47;;;17222:18;;17312:131;17222:18;17312:131;:::i;17460:416::-;17660:2;17674:47;;;17645:18;;17735:131;17645:18;17735:131;:::i;17883:416::-;18083:2;18097:47;;;18068:18;;18158:131;18068:18;18158:131;:::i;18306:416::-;18506:2;18520:47;;;18491:18;;18581:131;18491:18;18581:131;:::i;18729:416::-;18929:2;18943:47;;;18914:18;;19004:131;18914:18;19004:131;:::i;19152:416::-;19352:2;19366:47;;;19337:18;;19427:131;19337:18;19427:131;:::i;19575:416::-;19775:2;19789:47;;;19760:18;;19850:131;19760:18;19850:131;:::i;19998:416::-;20198:2;20212:47;;;20183:18;;20273:131;20183:18;20273:131;:::i;20421:416::-;20621:2;20635:47;;;20606:18;;20696:131;20606:18;20696:131;:::i;20844:338::-;21029:2;21014:18;;21043:129;21018:9;21145:6;21043:129;:::i;21189:222::-;21316:2;21301:18;;21330:71;21305:9;21374:6;21330:71;:::i;21418:333::-;21573:2;21558:18;;21587:71;21562:9;21631:6;21587:71;:::i;:::-;21669:72;21737:2;21726:9;21722:18;21713:6;21669:72;:::i;21758:220::-;21884:2;21869:18;;21898:70;21873:9;21941:6;21898:70;:::i;21985:256::-;22047:2;22041:9;22073:17;;;-1:-1;;;;;22133:34;;22169:22;;;22130:62;22127:2;;;22205:1;22202;22195:12;22127:2;22221;22214:22;22025:216;;-1:-1;22025:216::o;22248:304::-;;-1:-1;;;;;22399:6;22396:30;22393:2;;;22439:1;22436;22429:12;22393:2;-1:-1;22474:4;22462:17;;;22527:15;;22330:222::o;22870:167::-;23010:4;23001:14;;22958:79::o;23044:153::-;23163:12;;23134:63::o;23465:176::-;23581:19;;;23630:4;23621:14;;23574:67::o;23821:91::-;;23883:24;23901:5;23883:24;:::i;24025:85::-;24091:13;24084:21;;24067:43::o;24117:144::-;-1:-1;;;;;;24178:78;;24161:100::o;24268:138::-;24346:5;24352:49;24346:5;24352:49;:::i;24413:113::-;-1:-1;;;;;24475:46;;24458:68::o;24533:121::-;-1:-1;;;;;24595:54;;24578:76::o;24661:72::-;24723:5;24706:27::o;24740:96::-;-1:-1;;;;;24801:30;;24784:52::o;24843:138::-;;24936:40;24970:5;24936:40;:::i;24988:116::-;;25075:24;25093:5;25075:24;:::i;25111:106::-;;25189:23;25206:5;25189:23;:::i;25225:268::-;25290:1;25297:101;25311:6;25308:1;25305:13;25297:101;;;25378:11;;;25372:18;25359:11;;;25352:39;25333:2;25326:10;25297:101;;;25413:6;25410:1;25407:13;25404:2;;;-1:-1;;25478:1;25460:16;;25453:27;25274:219::o;25501:97::-;25589:2;25569:14;-1:-1;;25565:28;;25549:49::o;25606:108::-;25691:2;25684:5;25681:13;25671:2;;25698:9;25721:117;25790:24;25808:5;25790:24;:::i;:::-;25783:5;25780:35;25770:2;;25829:1;25826;25819:12;25985:111;26051:21;26066:5;26051:21;:::i;26103:115::-;26171:23;26188:5;26171:23;:::i;26225:111::-;26310:2;26303:5;26300:13;26290:2;;26327:1;26324;26317:12;26343:117;26412:24;26430:5;26412:24;:::i;26467:115::-;26535:23;26552:5;26535:23;:::i", - "linkReferences": {}, - "immutableReferences": { - "57496": [ - { - "start": 2101, - "length": 32 - } - ], - "57498": [ - { - "start": 2445, - "length": 32 - } - ], - "57500": [ - { - "start": 2373, - "length": 32 - } - ], - "59893": [ - { - "start": 1223, - "length": 32 - }, - { - "start": 1676, - "length": 32 - }, - { - "start": 2409, - "length": 32 - } - ], - "60282": [ - { - "start": 1629, - "length": 32 - } - ], - "60284": [ - { - "start": 2192, - "length": 32 - } - ], - "60286": [ - { - "start": 1552, - "length": 32 - } - ], - "60288": [ - { - "start": 1593, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "activateForFund(address)": "ceb9a0ad", - "addFundSettings(address,bytes)": "0f5f6b4f", - "assetIsBypassableForFund(address,address)": "85d63ec9", - "canDisable()": "1ef92578", - "getAddressListRegistry()": "74708934", - "getAssetBypassWindowStartForFund(address,address)": "5da4cdb2", - "getBypassableAdaptersListId()": "e09da681", - "getPolicyInfoForFund(address)": "5bbb869c", - "getPolicyManager()": "d44ad6cb", - "getPricelessAssetBypassTimeLimit()": "7fe29268", - "getPricelessAssetBypassTimelock()": "44105398", - "getPricelessAssetBypassValueInterpreter()": "14f8e615", - "getPricelessAssetBypassWethToken()": "234dfb17", - "getTolerancePeriodDuration()": "cf09a092", - "identifier()": "7998a1c4", - "implementedHooks()": "cbf54bb2", - "startAssetBypassTimelock(address)": "07d2890e", - "updateFundSettings(address,bytes)": "0d4d7510", - "validateRule(address,uint8,bytes)": "579be718" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_policyManager\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_addressListRegistry\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_valueInterpreter\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_wethToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_bypassableAdaptersListId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_tolerancePeriodDuration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_pricelessAssetBypassTimelock\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_pricelessAssetBypassTimeLimit\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"nextCumulativeSlippage\",\"type\":\"uint256\"}],\"name\":\"CumulativeSlippageUpdatedForFund\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"tolerance\",\"type\":\"uint256\"}],\"name\":\"FundSettingsSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"asset\",\"type\":\"address\"}],\"name\":\"PricelessAssetBypassed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"asset\",\"type\":\"address\"}],\"name\":\"PricelessAssetTimelockStarted\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"activateForFund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_encodedSettings\",\"type\":\"bytes\"}],\"name\":\"addFundSettings\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"}],\"name\":\"assetIsBypassableForFund\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isBypassable_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"canDisable\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"canDisable_\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAddressListRegistry\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"addressListRegistry_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"}],\"name\":\"getAssetBypassWindowStartForFund\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"windowStart_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBypassableAdaptersListId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"bypassableAdaptersListId_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"}],\"name\":\"getPolicyInfoForFund\",\"outputs\":[{\"components\":[{\"internalType\":\"uint64\",\"name\":\"tolerance\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"cumulativeSlippage\",\"type\":\"uint64\"},{\"internalType\":\"uint128\",\"name\":\"lastSlippageTimestamp\",\"type\":\"uint128\"}],\"internalType\":\"struct CumulativeSlippageTolerancePolicy.PolicyInfo\",\"name\":\"policyInfo_\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPolicyManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"policyManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPricelessAssetBypassTimeLimit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"timeLimit_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPricelessAssetBypassTimelock\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"timelock_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPricelessAssetBypassValueInterpreter\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"valueInterpreter_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPricelessAssetBypassWethToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"wethToken_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getTolerancePeriodDuration\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"tolerancePeriodDuration_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"identifier\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"identifier_\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"implementedHooks\",\"outputs\":[{\"internalType\":\"enum IPolicyManager.PolicyHook[]\",\"name\":\"implementedHooks_\",\"type\":\"uint8[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"}],\"name\":\"startAssetBypassTimelock\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"updateFundSettings\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"enum IPolicyManager.PolicyHook\",\"name\":\"\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"_encodedArgs\",\"type\":\"bytes\"}],\"name\":\"validateRule\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isValid_\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"Slippage tolerance and accumulation values use 10^18 rather than 10^19 (the greatest 10^n uint64 value) since it is a more natural and common in rates elsewhere\",\"kind\":\"dev\",\"methods\":{\"activateForFund(address)\":{\"details\":\"Unimplemented by default, can be overridden by the policy\"},\"addFundSettings(address,bytes)\":{\"params\":{\"_comptrollerProxy\":\"The fund's ComptrollerProxy address\",\"_encodedSettings\":\"Encoded settings to apply to a fund\"}},\"assetIsBypassableForFund(address,address)\":{\"params\":{\"_asset\":\"The asset for which to check if it is bypassable\",\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\"},\"returns\":{\"isBypassable_\":\"True if the asset is bypassable\"}},\"canDisable()\":{\"details\":\"False by default, can be overridden by the policy\",\"returns\":{\"canDisable_\":\"True if the policy can be disabled\"}},\"getAddressListRegistry()\":{\"returns\":{\"addressListRegistry_\":\"The `ADDRESS_LIST_REGISTRY` variable value\"}},\"getAssetBypassWindowStartForFund(address,address)\":{\"params\":{\"_asset\":\"The asset\",\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\"},\"returns\":{\"windowStart_\":\"The timestamp\"}},\"getBypassableAdaptersListId()\":{\"returns\":{\"bypassableAdaptersListId_\":\"The `BYPASSABLE_ADAPTERS_LIST_ID` variable value\"}},\"getPolicyInfoForFund(address)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\"},\"returns\":{\"policyInfo_\":\"The PolicyInfo values\"}},\"getPolicyManager()\":{\"returns\":{\"policyManager_\":\"The `POLICY_MANAGER` variable value\"}},\"getPricelessAssetBypassTimeLimit()\":{\"returns\":{\"timeLimit_\":\"The `PRICELESS_ASSET_BYPASS_TIME_LIMIT` variable value\"}},\"getPricelessAssetBypassTimelock()\":{\"returns\":{\"timelock_\":\"The `PRICELESS_ASSET_BYPASS_TIMELOCK` variable value\"}},\"getPricelessAssetBypassValueInterpreter()\":{\"returns\":{\"valueInterpreter_\":\"The `PRICELESS_ASSET_BYPASS_VALUE_INTERPRETER` variable value\"}},\"getPricelessAssetBypassWethToken()\":{\"returns\":{\"wethToken_\":\"The `PRICELESS_ASSET_BYPASS_WETH_TOKEN` variable value\"}},\"getTolerancePeriodDuration()\":{\"returns\":{\"tolerancePeriodDuration_\":\"The `TOLERANCE_PERIOD_DURATION` variable value\"}},\"identifier()\":{\"returns\":{\"identifier_\":\"The identifier string\"}},\"implementedHooks()\":{\"returns\":{\"implementedHooks_\":\"The implemented PolicyHooks\"}},\"startAssetBypassTimelock(address)\":{\"details\":\"This function must be called via ComptrollerProxy.vaultCallOnContract(). This allows the function to be gas relay-able. It also means that the originator must be the owner.\",\"params\":{\"_asset\":\"The asset for which to start the timelock period\"}},\"updateFundSettings(address,bytes)\":{\"details\":\"Disallowed by default, can be overridden by the policy\"},\"validateRule(address,uint8,bytes)\":{\"details\":\"Requires onlyPolicyManager as it updates state using passed data\",\"params\":{\"_comptrollerProxy\":\"The fund's ComptrollerProxy address\",\"_encodedArgs\":\"Encoded args with which to validate the rule\"},\"returns\":{\"isValid_\":\"True if the rule passes\"}}},\"title\":\"CumulativeSlippageTolerancePolicy Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"activateForFund(address)\":{\"notice\":\"Validates and initializes a policy as necessary prior to fund activation\"},\"addFundSettings(address,bytes)\":{\"notice\":\"Add the initial policy settings for a fund\"},\"assetIsBypassableForFund(address,address)\":{\"notice\":\"Checks whether an asset is bypassable (if still without a valid price) for a given fund\"},\"canDisable()\":{\"notice\":\"Whether or not the policy can be disabled\"},\"getAddressListRegistry()\":{\"notice\":\"Gets the `ADDRESS_LIST_REGISTRY` variable\"},\"getAssetBypassWindowStartForFund(address,address)\":{\"notice\":\"Gets the timestamp from which an asset without a valid price can be considered to be valued at `0`\"},\"getBypassableAdaptersListId()\":{\"notice\":\"Gets the `BYPASSABLE_ADAPTERS_LIST_ID` variable\"},\"getPolicyInfoForFund(address)\":{\"notice\":\"Gets the PolicyInfo for a given fund\"},\"getPolicyManager()\":{\"notice\":\"Gets the `POLICY_MANAGER` variable value\"},\"getPricelessAssetBypassTimeLimit()\":{\"notice\":\"Gets the `PRICELESS_ASSET_BYPASS_TIME_LIMIT` variable\"},\"getPricelessAssetBypassTimelock()\":{\"notice\":\"Gets the `PRICELESS_ASSET_BYPASS_TIMELOCK` variable\"},\"getPricelessAssetBypassValueInterpreter()\":{\"notice\":\"Gets the `PRICELESS_ASSET_BYPASS_VALUE_INTERPRETER` variable\"},\"getPricelessAssetBypassWethToken()\":{\"notice\":\"Gets the `PRICELESS_ASSET_BYPASS_WETH_TOKEN` variable\"},\"getTolerancePeriodDuration()\":{\"notice\":\"Gets the `TOLERANCE_PERIOD_DURATION` variable\"},\"identifier()\":{\"notice\":\"Provides a constant string identifier for a policy\"},\"implementedHooks()\":{\"notice\":\"Gets the implemented PolicyHooks for a policy\"},\"startAssetBypassTimelock(address)\":{\"notice\":\"Starts the timelock period for an asset without a valid price\"},\"updateFundSettings(address,bytes)\":{\"notice\":\"Updates the policy settings for a fund\"},\"validateRule(address,uint8,bytes)\":{\"notice\":\"Apply the rule with the specified parameters of a PolicyHook\"}},\"notice\":\"A policy that limits cumulative slippage (i.e., value loss) via adapter actions\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/policy-manager/policies/asset-managers/CumulativeSlippageTolerancePolicy.sol\":\"CumulativeSlippageTolerancePolicy\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/address-list-registry/AddressListRegistry.sol\":{\"keccak256\":\"0xf00a9e376e3ec2a223f463f71c15ee3af3642dd028bc3762440e316b760c8048\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://01986c9327b5dfbfac21316dced6d68727931ddde1278ed1342d878004f984b9\",\"dweb:/ipfs/QmdXkFaUU43JqMTYEREbWa129rohdqN7GXy7mVRpjCfSLD\"]},\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/persistent/protocol-fee-reserve/interfaces/IProtocolFeeReserve1.sol\":{\"keccak256\":\"0x2728878c423db523bc95189137e8c58d2d7db9f56bbd5c6b1f988c08b551fbab\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3b0df1d2eb74151265d03ab91a7c341f7beca475dd2f4d669052dbc4ee2c06ac\",\"dweb:/ipfs/QmVx1cgrxQNYfdK1Kn15pcgqf79Uw8bF3U6i7F2HG2rj6G\"]},\"contracts/persistent/vault/VaultLibBase1.sol\":{\"keccak256\":\"0xa4dac1e4cdb311a2ab187135355357d8790c505ef36dd912c057fe53743d30b5\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b66efe821016ab927c949263023260515e90f5d480dc8d94eefbfeec7bf7490b\",\"dweb:/ipfs/QmNY3xKnhL9EptAbxGvXHGAXfV9pj3dDPwsZnKrPs54ZHw\"]},\"contracts/persistent/vault/VaultLibBase2.sol\":{\"keccak256\":\"0xf7d31f2a9a47770ed3f444be2c4fe9262ddb55fef7f25e546b1f03c9afec4c09\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9353ddce7c9b8b3c13fed23fe8edec99ca610d791b0c5b204b3d01f1f08d07d2\",\"dweb:/ipfs/QmeVsEh3joCjv49BRXeHASevnZZ5xdZXpkctHT8BPf37N2\"]},\"contracts/persistent/vault/VaultLibBaseCore.sol\":{\"keccak256\":\"0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd\",\"dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz\"]},\"contracts/persistent/vault/interfaces/IExternalPositionVault.sol\":{\"keccak256\":\"0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d\",\"dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8\"]},\"contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol\":{\"keccak256\":\"0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb\",\"dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU\"]},\"contracts/persistent/vault/interfaces/IMigratableVault.sol\":{\"keccak256\":\"0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6\",\"dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs\"]},\"contracts/persistent/vault/interfaces/IVaultCore.sol\":{\"keccak256\":\"0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd\",\"dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr\"]},\"contracts/persistent/vault/utils/ProxiableVaultLib.sol\":{\"keccak256\":\"0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44\",\"dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4\"]},\"contracts/persistent/vault/utils/SharesTokenBase.sol\":{\"keccak256\":\"0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8\",\"dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4\"]},\"contracts/persistent/vault/utils/VaultLibSafeMath.sol\":{\"keccak256\":\"0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02\",\"dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG\"]},\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/core/fund/comptroller/ComptrollerLib.sol\":{\"keccak256\":\"0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579\",\"dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq\"]},\"contracts/release/core/fund/comptroller/IComptroller.sol\":{\"keccak256\":\"0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97\",\"dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L\"]},\"contracts/release/core/fund/vault/IVault.sol\":{\"keccak256\":\"0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599\",\"dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG\"]},\"contracts/release/core/fund/vault/VaultLib.sol\":{\"keccak256\":\"0x07e49445ab55c01e1b499a48baadc2a15d1eba621f1c6d3ccfdb84c87b976da8\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://56d882459248f73e137db2e097fc56b946147fb28ec21661b77431f88e856cb4\",\"dweb:/ipfs/QmRP6Ry7DCS5uoKxnnkTomHSzbaCze6cHqbR9aLdjoF6vK\"]},\"contracts/release/extensions/IExtension.sol\":{\"keccak256\":\"0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70\",\"dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t\"]},\"contracts/release/extensions/external-position-manager/IExternalPositionManager.sol\":{\"keccak256\":\"0x3af3f634e1f99fb97091b7825c0d2e2baaafc124d4e87d56cb0c17ff8554f6c6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://515470605afe5ef147f30fa75ce7818f0e00e3d321eb81a4d9bffcdefc294495\",\"dweb:/ipfs/QmPKsp99pfHoz9Tfo3ZxnkmqDqJtN9PxqacF2RmeVfxUJF\"]},\"contracts/release/extensions/fee-manager/IFeeManager.sol\":{\"keccak256\":\"0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22\",\"dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod\"]},\"contracts/release/extensions/policy-manager/IPolicy.sol\":{\"keccak256\":\"0xc12663ca72065b256c3b934ab738fde26c147c7b0399de43650df89dd52ee467\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://be8fecfcba0f3fda615f0a1bb3c766750c23761ef751d7c4472dfe540e460cd1\",\"dweb:/ipfs/QmaarPoRTsX6NiJ8V4u2f3Qh6d7tUs28bw9R14An3t5Bs1\"]},\"contracts/release/extensions/policy-manager/IPolicyManager.sol\":{\"keccak256\":\"0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa\",\"dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb\"]},\"contracts/release/extensions/policy-manager/policies/asset-managers/CumulativeSlippageTolerancePolicy.sol\":{\"keccak256\":\"0xe23d54d7d7e7f12dec26edab2ef8dbbbac8e8a38727f607835e5fb8974df6707\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://38b09cd9785e9a845d6ddcf213c962537544eeb345fd2adefa3f9953c9029fae\",\"dweb:/ipfs/QmXdZREYhFQJwN6yGX4jNLHL2BzetQNTPPQV29PK435BSM\"]},\"contracts/release/extensions/policy-manager/policies/utils/PolicyBase.sol\":{\"keccak256\":\"0x972311abb98f0da815b4aca83d5afdd219d3604ec19cf5e3773c0c305bd9b3f1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2452f3d1f3b1d8e8459a07489146a2d0d8a10463715937995cbe77ee5de8c069\",\"dweb:/ipfs/Qmf2hhd2DVbjpxmbNGAhRZNZkqpGZA2mX3eA1WNwtv6t5Y\"]},\"contracts/release/extensions/policy-manager/policies/utils/PricelessAssetBypassMixin.sol\":{\"keccak256\":\"0x5624f038f790b51ba9bd2207a6e80d188bc5d0b049807e0f06f123f6d00e3444\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://53782b55be373922df118f9970f897c1adfd4646dc4a95eec52e7c914944f68c\",\"dweb:/ipfs/QmTGPQRqzczosWALPZgAN6TKE4qdBuFwGBdCKy6GxtZBPe\"]},\"contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol\":{\"keccak256\":\"0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f\",\"dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol\":{\"keccak256\":\"0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0\",\"dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol\":{\"keccak256\":\"0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b\",\"dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3\"]},\"contracts/release/infrastructure/price-feeds/derivatives/AggregatedDerivativePriceFeedMixin.sol\":{\"keccak256\":\"0x85d2ac39834dae7feb04f0e37317a38b8abeb0f950692fbc9d29078c52cd8d52\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://7bf8f1ce064d85a2812a944fc93068955b233924097f7f45898be3db826579d5\",\"dweb:/ipfs/Qme7f6AhxLVn32prM8fHaCvxtVi86A9KqFMqPA1s88kVYR\"]},\"contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol\":{\"keccak256\":\"0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e\",\"dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK\"]},\"contracts/release/infrastructure/price-feeds/primitives/ChainlinkPriceFeedMixin.sol\":{\"keccak256\":\"0x7fb0078e7387f07ff09958fe4e4e7b317e72c23884f61e8c133776cad522f8bb\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://e973f29ed0c3bf03e20154ab4b0cfc68c3a4372a52ec746f9d9f86697b30e977\",\"dweb:/ipfs/QmfMb7H1zNnj2hzmUr6742HmCTiNVuQ2PFjeR8q2M4Liyu\"]},\"contracts/release/infrastructure/protocol-fees/IProtocolFeeTracker.sol\":{\"keccak256\":\"0x232b347f83457439064add7369bfe1930c7cb56f15930bb87d640e909c15e447\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://24f9af5eebdd373b1d7a598c096eb6def31b2640d54416d7d5a7226e1cef17e6\",\"dweb:/ipfs/QmStq9ByGuSYdKwTmZf52L1X6sZVJUfXTnoVbnjLLiUcHG\"]},\"contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol\":{\"keccak256\":\"0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965\",\"dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ\"]},\"contracts/release/infrastructure/value-interpreter/ValueInterpreter.sol\":{\"keccak256\":\"0x64565011785d0d29a75021cda34687cfbc0641094d6f2faf4d9c78c8cd9f0d1d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://03ea9b29a332436d18ca1a4df7e5cdf231d5142dfb916a39cb3a721342d54e0e\",\"dweb:/ipfs/QmcB8Z7A7QELAxg2FfJpD26k2bUhMNUT4wACMVKxuge3QS\"]},\"contracts/release/interfaces/IChainlinkAggregator.sol\":{\"keccak256\":\"0x8104db68d4edc00c86b29b366f4397cdbe7bd95bb9dc90f54140af4bae963788\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://4664240be22fe76bd4e84d1cbaace3998dbc96759a14345819a889f0c288d22e\",\"dweb:/ipfs/QmQ8fbA4tvXeCeaAFeS2JrLEQUPFeYrePAKoUywRtcicgA\"]},\"contracts/release/interfaces/IGsnForwarder.sol\":{\"keccak256\":\"0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29\",\"dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G\"]},\"contracts/release/interfaces/IGsnPaymaster.sol\":{\"keccak256\":\"0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4\",\"dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF\"]},\"contracts/release/interfaces/IGsnTypes.sol\":{\"keccak256\":\"0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7\",\"dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C\"]},\"contracts/release/interfaces/IWETH.sol\":{\"keccak256\":\"0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2\",\"dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/FundDeployerOwnerMixin.sol\":{\"keccak256\":\"0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927\",\"dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM\"]},\"contracts/release/utils/MathHelpers.sol\":{\"keccak256\":\"0x8aef498ae98bfb40cd1df8c9ed652b4c092fbbe62d5a1fad522c53654523248e\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ed62789f6a8d5ca30a40c591f244b915e4711493a9e4b1b4d40ea2bc97b02a95\",\"dweb:/ipfs/QmWyXJ55arURtx9VMkUQokdsjk8tbgM2cC8rENFUMyz5D3\"]},\"contracts/release/utils/beacon-proxy/IBeacon.sol\":{\"keccak256\":\"0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39\",\"dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V\"]},\"contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol\":{\"keccak256\":\"0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be\",\"dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20Burnable.sol\":{\"keccak256\":\"0x9c0eb3b0e11d2480d49991dc384f1e5f9c9b9967cc81944d50916a9b9c6c4984\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99e4033d778624992e86f0b6d801a4f6d7b5c0cd5c79c1296be90a051ad5f5af\",\"dweb:/ipfs/QmShYmkUqh6pDEeoWadZ24icmCr4C2Xys1uE5boivPmbwf\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_policyManager", - "type": "address" - }, - { - "internalType": "address", - "name": "_addressListRegistry", - "type": "address" - }, - { - "internalType": "address", - "name": "_valueInterpreter", - "type": "address" - }, - { - "internalType": "address", - "name": "_wethToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_bypassableAdaptersListId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_tolerancePeriodDuration", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_pricelessAssetBypassTimelock", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_pricelessAssetBypassTimeLimit", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "comptrollerProxy", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "nextCumulativeSlippage", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "CumulativeSlippageUpdatedForFund", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "comptrollerProxy", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "tolerance", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "FundSettingsSet", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "comptrollerProxy", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "asset", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "PricelessAssetBypassed", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "comptrollerProxy", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "asset", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "PricelessAssetTimelockStarted", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "activateForFund" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_encodedSettings", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "addFundSettings" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_asset", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "assetIsBypassableForFund", - "outputs": [ - { - "internalType": "bool", - "name": "isBypassable_", - "type": "bool" - } - ] - }, - { - "inputs": [], - "stateMutability": "pure", - "type": "function", - "name": "canDisable", - "outputs": [ - { - "internalType": "bool", - "name": "canDisable_", - "type": "bool" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getAddressListRegistry", - "outputs": [ - { - "internalType": "address", - "name": "addressListRegistry_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_asset", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getAssetBypassWindowStartForFund", - "outputs": [ - { - "internalType": "uint256", - "name": "windowStart_", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getBypassableAdaptersListId", - "outputs": [ - { - "internalType": "uint256", - "name": "bypassableAdaptersListId_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getPolicyInfoForFund", - "outputs": [ - { - "internalType": "struct CumulativeSlippageTolerancePolicy.PolicyInfo", - "name": "policyInfo_", - "type": "tuple", - "components": [ - { - "internalType": "uint64", - "name": "tolerance", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "cumulativeSlippage", - "type": "uint64" - }, - { - "internalType": "uint128", - "name": "lastSlippageTimestamp", - "type": "uint128" - } - ] - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getPolicyManager", - "outputs": [ - { - "internalType": "address", - "name": "policyManager_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getPricelessAssetBypassTimeLimit", - "outputs": [ - { - "internalType": "uint256", - "name": "timeLimit_", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getPricelessAssetBypassTimelock", - "outputs": [ - { - "internalType": "uint256", - "name": "timelock_", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getPricelessAssetBypassValueInterpreter", - "outputs": [ - { - "internalType": "address", - "name": "valueInterpreter_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getPricelessAssetBypassWethToken", - "outputs": [ - { - "internalType": "address", - "name": "wethToken_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getTolerancePeriodDuration", - "outputs": [ - { - "internalType": "uint256", - "name": "tolerancePeriodDuration_", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "pure", - "type": "function", - "name": "identifier", - "outputs": [ - { - "internalType": "string", - "name": "identifier_", - "type": "string" - } - ] - }, - { - "inputs": [], - "stateMutability": "pure", - "type": "function", - "name": "implementedHooks", - "outputs": [ - { - "internalType": "enum IPolicyManager.PolicyHook[]", - "name": "implementedHooks_", - "type": "uint8[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_asset", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "startAssetBypassTimelock" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "updateFundSettings" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "enum IPolicyManager.PolicyHook", - "name": "", - "type": "uint8" - }, - { - "internalType": "bytes", - "name": "_encodedArgs", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "validateRule", - "outputs": [ - { - "internalType": "bool", - "name": "isValid_", - "type": "bool" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "activateForFund(address)": { - "details": "Unimplemented by default, can be overridden by the policy" - }, - "addFundSettings(address,bytes)": { - "params": { - "_comptrollerProxy": "The fund's ComptrollerProxy address", - "_encodedSettings": "Encoded settings to apply to a fund" - } - }, - "assetIsBypassableForFund(address,address)": { - "params": { - "_asset": "The asset for which to check if it is bypassable", - "_comptrollerProxy": "The ComptrollerProxy of the fund" - }, - "returns": { - "isBypassable_": "True if the asset is bypassable" - } - }, - "canDisable()": { - "details": "False by default, can be overridden by the policy", - "returns": { - "canDisable_": "True if the policy can be disabled" - } - }, - "getAddressListRegistry()": { - "returns": { - "addressListRegistry_": "The `ADDRESS_LIST_REGISTRY` variable value" - } - }, - "getAssetBypassWindowStartForFund(address,address)": { - "params": { - "_asset": "The asset", - "_comptrollerProxy": "The ComptrollerProxy of the fund" - }, - "returns": { - "windowStart_": "The timestamp" - } - }, - "getBypassableAdaptersListId()": { - "returns": { - "bypassableAdaptersListId_": "The `BYPASSABLE_ADAPTERS_LIST_ID` variable value" - } - }, - "getPolicyInfoForFund(address)": { - "params": { - "_comptrollerProxy": "The ComptrollerProxy of the fund" - }, - "returns": { - "policyInfo_": "The PolicyInfo values" - } - }, - "getPolicyManager()": { - "returns": { - "policyManager_": "The `POLICY_MANAGER` variable value" - } - }, - "getPricelessAssetBypassTimeLimit()": { - "returns": { - "timeLimit_": "The `PRICELESS_ASSET_BYPASS_TIME_LIMIT` variable value" - } - }, - "getPricelessAssetBypassTimelock()": { - "returns": { - "timelock_": "The `PRICELESS_ASSET_BYPASS_TIMELOCK` variable value" - } - }, - "getPricelessAssetBypassValueInterpreter()": { - "returns": { - "valueInterpreter_": "The `PRICELESS_ASSET_BYPASS_VALUE_INTERPRETER` variable value" - } - }, - "getPricelessAssetBypassWethToken()": { - "returns": { - "wethToken_": "The `PRICELESS_ASSET_BYPASS_WETH_TOKEN` variable value" - } - }, - "getTolerancePeriodDuration()": { - "returns": { - "tolerancePeriodDuration_": "The `TOLERANCE_PERIOD_DURATION` variable value" - } - }, - "identifier()": { - "returns": { - "identifier_": "The identifier string" - } - }, - "implementedHooks()": { - "returns": { - "implementedHooks_": "The implemented PolicyHooks" - } - }, - "startAssetBypassTimelock(address)": { - "details": "This function must be called via ComptrollerProxy.vaultCallOnContract(). This allows the function to be gas relay-able. It also means that the originator must be the owner.", - "params": { - "_asset": "The asset for which to start the timelock period" - } - }, - "updateFundSettings(address,bytes)": { - "details": "Disallowed by default, can be overridden by the policy" - }, - "validateRule(address,uint8,bytes)": { - "details": "Requires onlyPolicyManager as it updates state using passed data", - "params": { - "_comptrollerProxy": "The fund's ComptrollerProxy address", - "_encodedArgs": "Encoded args with which to validate the rule" - }, - "returns": { - "isValid_": "True if the rule passes" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "activateForFund(address)": { - "notice": "Validates and initializes a policy as necessary prior to fund activation" - }, - "addFundSettings(address,bytes)": { - "notice": "Add the initial policy settings for a fund" - }, - "assetIsBypassableForFund(address,address)": { - "notice": "Checks whether an asset is bypassable (if still without a valid price) for a given fund" - }, - "canDisable()": { - "notice": "Whether or not the policy can be disabled" - }, - "getAddressListRegistry()": { - "notice": "Gets the `ADDRESS_LIST_REGISTRY` variable" - }, - "getAssetBypassWindowStartForFund(address,address)": { - "notice": "Gets the timestamp from which an asset without a valid price can be considered to be valued at `0`" - }, - "getBypassableAdaptersListId()": { - "notice": "Gets the `BYPASSABLE_ADAPTERS_LIST_ID` variable" - }, - "getPolicyInfoForFund(address)": { - "notice": "Gets the PolicyInfo for a given fund" - }, - "getPolicyManager()": { - "notice": "Gets the `POLICY_MANAGER` variable value" - }, - "getPricelessAssetBypassTimeLimit()": { - "notice": "Gets the `PRICELESS_ASSET_BYPASS_TIME_LIMIT` variable" - }, - "getPricelessAssetBypassTimelock()": { - "notice": "Gets the `PRICELESS_ASSET_BYPASS_TIMELOCK` variable" - }, - "getPricelessAssetBypassValueInterpreter()": { - "notice": "Gets the `PRICELESS_ASSET_BYPASS_VALUE_INTERPRETER` variable" - }, - "getPricelessAssetBypassWethToken()": { - "notice": "Gets the `PRICELESS_ASSET_BYPASS_WETH_TOKEN` variable" - }, - "getTolerancePeriodDuration()": { - "notice": "Gets the `TOLERANCE_PERIOD_DURATION` variable" - }, - "identifier()": { - "notice": "Provides a constant string identifier for a policy" - }, - "implementedHooks()": { - "notice": "Gets the implemented PolicyHooks for a policy" - }, - "startAssetBypassTimelock(address)": { - "notice": "Starts the timelock period for an asset without a valid price" - }, - "updateFundSettings(address,bytes)": { - "notice": "Updates the policy settings for a fund" - }, - "validateRule(address,uint8,bytes)": { - "notice": "Apply the rule with the specified parameters of a PolicyHook" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/policy-manager/policies/asset-managers/CumulativeSlippageTolerancePolicy.sol": "CumulativeSlippageTolerancePolicy" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/address-list-registry/AddressListRegistry.sol": { - "keccak256": "0xf00a9e376e3ec2a223f463f71c15ee3af3642dd028bc3762440e316b760c8048", - "urls": [ - "bzz-raw://01986c9327b5dfbfac21316dced6d68727931ddde1278ed1342d878004f984b9", - "dweb:/ipfs/QmdXkFaUU43JqMTYEREbWa129rohdqN7GXy7mVRpjCfSLD" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/dispatcher/IDispatcher.sol": { - "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", - "urls": [ - "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", - "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/external-positions/IExternalPosition.sol": { - "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", - "urls": [ - "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", - "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/protocol-fee-reserve/interfaces/IProtocolFeeReserve1.sol": { - "keccak256": "0x2728878c423db523bc95189137e8c58d2d7db9f56bbd5c6b1f988c08b551fbab", - "urls": [ - "bzz-raw://3b0df1d2eb74151265d03ab91a7c341f7beca475dd2f4d669052dbc4ee2c06ac", - "dweb:/ipfs/QmVx1cgrxQNYfdK1Kn15pcgqf79Uw8bF3U6i7F2HG2rj6G" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/VaultLibBase1.sol": { - "keccak256": "0xa4dac1e4cdb311a2ab187135355357d8790c505ef36dd912c057fe53743d30b5", - "urls": [ - "bzz-raw://b66efe821016ab927c949263023260515e90f5d480dc8d94eefbfeec7bf7490b", - "dweb:/ipfs/QmNY3xKnhL9EptAbxGvXHGAXfV9pj3dDPwsZnKrPs54ZHw" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/VaultLibBase2.sol": { - "keccak256": "0xf7d31f2a9a47770ed3f444be2c4fe9262ddb55fef7f25e546b1f03c9afec4c09", - "urls": [ - "bzz-raw://9353ddce7c9b8b3c13fed23fe8edec99ca610d791b0c5b204b3d01f1f08d07d2", - "dweb:/ipfs/QmeVsEh3joCjv49BRXeHASevnZZ5xdZXpkctHT8BPf37N2" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/VaultLibBaseCore.sol": { - "keccak256": "0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074", - "urls": [ - "bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd", - "dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IExternalPositionVault.sol": { - "keccak256": "0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6", - "urls": [ - "bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d", - "dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol": { - "keccak256": "0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0", - "urls": [ - "bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb", - "dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IMigratableVault.sol": { - "keccak256": "0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238", - "urls": [ - "bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6", - "dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IVaultCore.sol": { - "keccak256": "0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80", - "urls": [ - "bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd", - "dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/utils/ProxiableVaultLib.sol": { - "keccak256": "0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76", - "urls": [ - "bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44", - "dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/utils/SharesTokenBase.sol": { - "keccak256": "0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113", - "urls": [ - "bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8", - "dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/utils/VaultLibSafeMath.sol": { - "keccak256": "0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d", - "urls": [ - "bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02", - "dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund-deployer/IFundDeployer.sol": { - "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", - "urls": [ - "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", - "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/comptroller/ComptrollerLib.sol": { - "keccak256": "0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64", - "urls": [ - "bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579", - "dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/comptroller/IComptroller.sol": { - "keccak256": "0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f", - "urls": [ - "bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97", - "dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/vault/IVault.sol": { - "keccak256": "0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd", - "urls": [ - "bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599", - "dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/vault/VaultLib.sol": { - "keccak256": "0x07e49445ab55c01e1b499a48baadc2a15d1eba621f1c6d3ccfdb84c87b976da8", - "urls": [ - "bzz-raw://56d882459248f73e137db2e097fc56b946147fb28ec21661b77431f88e856cb4", - "dweb:/ipfs/QmRP6Ry7DCS5uoKxnnkTomHSzbaCze6cHqbR9aLdjoF6vK" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/IExtension.sol": { - "keccak256": "0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b", - "urls": [ - "bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70", - "dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/IExternalPositionManager.sol": { - "keccak256": "0x3af3f634e1f99fb97091b7825c0d2e2baaafc124d4e87d56cb0c17ff8554f6c6", - "urls": [ - "bzz-raw://515470605afe5ef147f30fa75ce7818f0e00e3d321eb81a4d9bffcdefc294495", - "dweb:/ipfs/QmPKsp99pfHoz9Tfo3ZxnkmqDqJtN9PxqacF2RmeVfxUJF" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/fee-manager/IFeeManager.sol": { - "keccak256": "0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51", - "urls": [ - "bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22", - "dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/policy-manager/IPolicy.sol": { - "keccak256": "0xc12663ca72065b256c3b934ab738fde26c147c7b0399de43650df89dd52ee467", - "urls": [ - "bzz-raw://be8fecfcba0f3fda615f0a1bb3c766750c23761ef751d7c4472dfe540e460cd1", - "dweb:/ipfs/QmaarPoRTsX6NiJ8V4u2f3Qh6d7tUs28bw9R14An3t5Bs1" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/policy-manager/IPolicyManager.sol": { - "keccak256": "0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32", - "urls": [ - "bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa", - "dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/policy-manager/policies/asset-managers/CumulativeSlippageTolerancePolicy.sol": { - "keccak256": "0xe23d54d7d7e7f12dec26edab2ef8dbbbac8e8a38727f607835e5fb8974df6707", - "urls": [ - "bzz-raw://38b09cd9785e9a845d6ddcf213c962537544eeb345fd2adefa3f9953c9029fae", - "dweb:/ipfs/QmXdZREYhFQJwN6yGX4jNLHL2BzetQNTPPQV29PK435BSM" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/policy-manager/policies/utils/PolicyBase.sol": { - "keccak256": "0x972311abb98f0da815b4aca83d5afdd219d3604ec19cf5e3773c0c305bd9b3f1", - "urls": [ - "bzz-raw://2452f3d1f3b1d8e8459a07489146a2d0d8a10463715937995cbe77ee5de8c069", - "dweb:/ipfs/Qmf2hhd2DVbjpxmbNGAhRZNZkqpGZA2mX3eA1WNwtv6t5Y" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/policy-manager/policies/utils/PricelessAssetBypassMixin.sol": { - "keccak256": "0x5624f038f790b51ba9bd2207a6e80d188bc5d0b049807e0f06f123f6d00e3444", - "urls": [ - "bzz-raw://53782b55be373922df118f9970f897c1adfd4646dc4a95eec52e7c914944f68c", - "dweb:/ipfs/QmTGPQRqzczosWALPZgAN6TKE4qdBuFwGBdCKy6GxtZBPe" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol": { - "keccak256": "0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609", - "urls": [ - "bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f", - "dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol": { - "keccak256": "0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01", - "urls": [ - "bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0", - "dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol": { - "keccak256": "0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196", - "urls": [ - "bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b", - "dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/price-feeds/derivatives/AggregatedDerivativePriceFeedMixin.sol": { - "keccak256": "0x85d2ac39834dae7feb04f0e37317a38b8abeb0f950692fbc9d29078c52cd8d52", - "urls": [ - "bzz-raw://7bf8f1ce064d85a2812a944fc93068955b233924097f7f45898be3db826579d5", - "dweb:/ipfs/Qme7f6AhxLVn32prM8fHaCvxtVi86A9KqFMqPA1s88kVYR" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol": { - "keccak256": "0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332", - "urls": [ - "bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e", - "dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/price-feeds/primitives/ChainlinkPriceFeedMixin.sol": { - "keccak256": "0x7fb0078e7387f07ff09958fe4e4e7b317e72c23884f61e8c133776cad522f8bb", - "urls": [ - "bzz-raw://e973f29ed0c3bf03e20154ab4b0cfc68c3a4372a52ec746f9d9f86697b30e977", - "dweb:/ipfs/QmfMb7H1zNnj2hzmUr6742HmCTiNVuQ2PFjeR8q2M4Liyu" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/protocol-fees/IProtocolFeeTracker.sol": { - "keccak256": "0x232b347f83457439064add7369bfe1930c7cb56f15930bb87d640e909c15e447", - "urls": [ - "bzz-raw://24f9af5eebdd373b1d7a598c096eb6def31b2640d54416d7d5a7226e1cef17e6", - "dweb:/ipfs/QmStq9ByGuSYdKwTmZf52L1X6sZVJUfXTnoVbnjLLiUcHG" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol": { - "keccak256": "0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794", - "urls": [ - "bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965", - "dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/value-interpreter/ValueInterpreter.sol": { - "keccak256": "0x64565011785d0d29a75021cda34687cfbc0641094d6f2faf4d9c78c8cd9f0d1d", - "urls": [ - "bzz-raw://03ea9b29a332436d18ca1a4df7e5cdf231d5142dfb916a39cb3a721342d54e0e", - "dweb:/ipfs/QmcB8Z7A7QELAxg2FfJpD26k2bUhMNUT4wACMVKxuge3QS" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IChainlinkAggregator.sol": { - "keccak256": "0x8104db68d4edc00c86b29b366f4397cdbe7bd95bb9dc90f54140af4bae963788", - "urls": [ - "bzz-raw://4664240be22fe76bd4e84d1cbaace3998dbc96759a14345819a889f0c288d22e", - "dweb:/ipfs/QmQ8fbA4tvXeCeaAFeS2JrLEQUPFeYrePAKoUywRtcicgA" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IGsnForwarder.sol": { - "keccak256": "0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030", - "urls": [ - "bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29", - "dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IGsnPaymaster.sol": { - "keccak256": "0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c", - "urls": [ - "bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4", - "dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IGsnTypes.sol": { - "keccak256": "0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714", - "urls": [ - "bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7", - "dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IWETH.sol": { - "keccak256": "0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2", - "urls": [ - "bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2", - "dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AddressArrayLib.sol": { - "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", - "urls": [ - "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", - "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/FundDeployerOwnerMixin.sol": { - "keccak256": "0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934", - "urls": [ - "bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927", - "dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/MathHelpers.sol": { - "keccak256": "0x8aef498ae98bfb40cd1df8c9ed652b4c092fbbe62d5a1fad522c53654523248e", - "urls": [ - "bzz-raw://ed62789f6a8d5ca30a40c591f244b915e4711493a9e4b1b4d40ea2bc97b02a95", - "dweb:/ipfs/QmWyXJ55arURtx9VMkUQokdsjk8tbgM2cC8rENFUMyz5D3" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/beacon-proxy/IBeacon.sol": { - "keccak256": "0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2", - "urls": [ - "bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39", - "dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol": { - "keccak256": "0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc", - "urls": [ - "bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be", - "dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20Burnable.sol": { - "keccak256": "0x9c0eb3b0e11d2480d49991dc384f1e5f9c9b9967cc81944d50916a9b9c6c4984", - "urls": [ - "bzz-raw://99e4033d778624992e86f0b6d801a4f6d7b5c0cd5c79c1296be90a051ad5f5af", - "dweb:/ipfs/QmShYmkUqh6pDEeoWadZ24icmCr4C2Xys1uE5boivPmbwf" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { - "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", - "urls": [ - "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", - "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Address.sol": { - "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", - "urls": [ - "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", - "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 212 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_policyManager", "type": "address", "internalType": "address" }, { "name": "_addressListRegistry", "type": "address", "internalType": "address" }, { "name": "_valueInterpreter", "type": "address", "internalType": "address" }, { "name": "_wethToken", "type": "address", "internalType": "address" }, { "name": "_bypassableAdaptersListId", "type": "uint256", "internalType": "uint256" }, { "name": "_tolerancePeriodDuration", "type": "uint256", "internalType": "uint256" }, { "name": "_pricelessAssetBypassTimelock", "type": "uint256", "internalType": "uint256" }, { "name": "_pricelessAssetBypassTimeLimit", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "activateForFund", "inputs": [ { "name": "", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "addFundSettings", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" }, { "name": "_encodedSettings", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "assetIsBypassableForFund", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" }, { "name": "_asset", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "isBypassable_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "canDisable", "inputs": [], "outputs": [ { "name": "canDisable_", "type": "bool", "internalType": "bool" } ], "stateMutability": "pure" }, { "type": "function", "name": "getAddressListRegistry", "inputs": [], "outputs": [ { "name": "addressListRegistry_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getAssetBypassWindowStartForFund", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" }, { "name": "_asset", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "windowStart_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "getBypassableAdaptersListId", "inputs": [], "outputs": [ { "name": "bypassableAdaptersListId_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "getPolicyInfoForFund", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "policyInfo_", "type": "tuple", "internalType": "struct CumulativeSlippageTolerancePolicy.PolicyInfo", "components": [ { "name": "tolerance", "type": "uint64", "internalType": "uint64" }, { "name": "cumulativeSlippage", "type": "uint64", "internalType": "uint64" }, { "name": "lastSlippageTimestamp", "type": "uint128", "internalType": "uint128" } ] } ], "stateMutability": "view" }, { "type": "function", "name": "getPolicyManager", "inputs": [], "outputs": [ { "name": "policyManager_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getPricelessAssetBypassTimeLimit", "inputs": [], "outputs": [ { "name": "timeLimit_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "getPricelessAssetBypassTimelock", "inputs": [], "outputs": [ { "name": "timelock_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "getPricelessAssetBypassValueInterpreter", "inputs": [], "outputs": [ { "name": "valueInterpreter_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getPricelessAssetBypassWethToken", "inputs": [], "outputs": [ { "name": "wethToken_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getTolerancePeriodDuration", "inputs": [], "outputs": [ { "name": "tolerancePeriodDuration_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "identifier", "inputs": [], "outputs": [ { "name": "identifier_", "type": "string", "internalType": "string" } ], "stateMutability": "pure" }, { "type": "function", "name": "implementedHooks", "inputs": [], "outputs": [ { "name": "implementedHooks_", "type": "uint8[]", "internalType": "enum IPolicyManager.PolicyHook[]" } ], "stateMutability": "pure" }, { "type": "function", "name": "startAssetBypassTimelock", "inputs": [ { "name": "_asset", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "updateFundSettings", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "validateRule", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" }, { "name": "", "type": "uint8", "internalType": "enum IPolicyManager.PolicyHook" }, { "name": "_encodedArgs", "type": "bytes", "internalType": "bytes" } ], "outputs": [ { "name": "isValid_", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "event", "name": "CumulativeSlippageUpdatedForFund", "inputs": [ { "name": "comptrollerProxy", "type": "address", "indexed": true, "internalType": "address" }, { "name": "nextCumulativeSlippage", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "FundSettingsSet", "inputs": [ { "name": "comptrollerProxy", "type": "address", "indexed": true, "internalType": "address" }, { "name": "tolerance", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "PricelessAssetBypassed", "inputs": [ { "name": "comptrollerProxy", "type": "address", "indexed": true, "internalType": "address" }, { "name": "asset", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "PricelessAssetTimelockStarted", "inputs": [ { "name": "comptrollerProxy", "type": "address", "indexed": true, "internalType": "address" }, { "name": "asset", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false } ], "bytecode": { "object": "0x6101806040523480156200001257600080fd5b5060405162001b7138038062001b71833981016040819052620000359162000099565b6001600160601b0319606098891b811660805260a09290925260c05293861b841660e05291851b8316610100529290931b1661012052610140526101605262000194565b805162000086816200016f565b92915050565b8051620000868162000189565b600080600080600080600080610100898b031215620000b757600080fd5b6000620000c58b8b62000079565b9850506020620000d88b828c0162000079565b9750506040620000eb8b828c0162000079565b9650506060620000fe8b828c0162000079565b9550506080620001118b828c016200008c565b94505060a0620001248b828c016200008c565b93505060c0620001378b828c016200008c565b92505060e06200014a8b828c016200008c565b9150509295985092959890939650565b60006001600160a01b03821662000086565b90565b6200017a816200015a565b81146200018657600080fd5b50565b6200017a816200016c565b60805160601c60a05160c05160e05160601c6101005160601c6101205160601c6101405161016051611969620002086000398061094552508061098d52508061083552508061063952508061061052508061089052508061065d5250806104c7528061068c528061096952506119696000f3fe608060405234801561001057600080fd5b50600436106101215760003560e01c80635da4cdb2116100ad578063cbf54bb211610071578063cbf54bb21461022f578063ceb9a0ad14610244578063cf09a09214610257578063d44ad6cb1461025f578063e09da6811461026757610121565b80635da4cdb2146101e457806374708934146101f75780637998a1c4146101ff5780637fe292681461021457806385d63ec91461021c57610121565b80631ef92578116100f45780631ef925781461017f578063234dfb1714610194578063441053981461019c578063579be718146101b15780635bbb869c146101c457610121565b806307d2890e146101265780630d4d75101461013b5780630f5f6b4f1461014e57806314f8e61514610161575b600080fd5b610139610134366004610fd0565b61026f565b005b61013961014936600461113e565b6104a4565b61013961015c36600461113e565b6104bc565b61016961060e565b60405161017691906116a9565b60405180910390f35b610187610632565b604051610176919061170b565b610169610637565b6101a461065b565b60405161017691906117d8565b6101876101bf366004611193565b61067f565b6101d76101d2366004610fd0565b61079f565b60405161017691906117ca565b6101a46101f2366004611104565b610808565b610169610833565b610207610857565b6040516101769190611719565b6101a461088e565b61018761022a366004611104565b6108b2565b6102376108e9565b60405161017691906116fa565b610139610252366004610fd0565b610940565b6101a4610943565b610169610967565b6101a461098b565b6000336001600160a01b0316635a53e3486040518163ffffffff1660e01b815260040160206040518083038186803b1580156102aa57600080fd5b505afa1580156102be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102e29190610fee565b9050806001600160a01b031663c98091876040518163ffffffff1660e01b815260040160206040518083038186803b15801561031d57600080fd5b505afa158015610331573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103559190610fee565b6001600160a01b0316336001600160a01b03161461038e5760405162461bcd60e51b8152600401610385906117ba565b60405180910390fd5b61039661060e565b6001600160a01b0316634c67e1068360016103af610637565b6040518463ffffffff1660e01b81526004016103cd939291906116b7565b602060405180830381600087803b1580156103e757600080fd5b505af1925050508015610417575060408051601f3d908101601f1916820190925261041491810190611218565b60015b6104875761042d61042661065b565b42906109af565b6001600160a01b0380831660008181526020818152604080832094881680845294909152808220949094559251919290917f76fadd0d061c0fa0e079ec4814cecf7f5f6f43e604f241551dd35b6c3c9a69809190a36104a0565b5060405162461bcd60e51b81526004016103859061176a565b5050565b60405162461bcd60e51b81526004016103859061173a565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105045760405162461bcd60e51b81526004016103859061179a565b600061051282840184611236565b9050670de0b6b3a7640000816001600160401b0316106105445760405162461bcd60e51b81526004016103859061177a565b604080516060810182526001600160401b038084168252600060208084018281528486018381526001600160a01b038b1680855260019093529286902094518554915193516001600160801b03908116600160801b02948616600160401b0267ffffffffffffffff60401b199290961667ffffffffffffffff199093169290921716939093179092161790915590517f27abf63785bf8ff6d81b909a910422392df35bed801ecf834d5b60c8e72b859490610600908490611801565b60405180910390a250505050565b7f000000000000000000000000000000000000000000000000000000000000000090565b600090565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b6000336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106c95760405162461bcd60e51b81526004016103859061179a565b600060608060608061071088888080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506109db92505050565b96509650965096505095505061072585610a11565b1561073857600195505050505050610797565b60006107478b86868686610a9f565b90508061075d5760019650505050505050610797565b6001600160a01b038b166000908152600160205260409020546001600160401b03168061078b8d8483610b24565b11159750505050505050505b949350505050565b6107a7610e2c565b506001600160a01b038116600090815260016020908152604091829020825160608101845290546001600160401b038082168352600160401b82041692820192909252600160801b9091046001600160801b0316918101919091525b919050565b6001600160a01b03808316600090815260208181526040808320938516835292905220545b92915050565b7f000000000000000000000000000000000000000000000000000000000000000090565b60408051808201909152601d81527f43554d554c41544956455f534c4950504147455f544f4c4552414e4345000000602082015290565b7f000000000000000000000000000000000000000000000000000000000000000090565b6000806108bf8484610808565b90504281111580156107975750426108df6108d861088e565b83906109af565b1015949350505050565b6040805160018082528183019092526060916020808301908036833701905050905060018160008151811061091a57fe5b6020026020010190600981111561092d57fe5b9081600981111561093a57fe5b90525090565b50565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b6000828201838110156109d45760405162461bcd60e51b81526004016103859061172a565b9392505050565b6000806000606080606080878060200190518101906109fa919061100c565b959e949d50929b5090995097509550909350915050565b6000610a1b610833565b6001600160a01b0316631c563204610a3161098b565b846040518363ffffffff1660e01b8152600401610a4f9291906117e6565b60206040518083038186803b158015610a6757600080fd5b505afa158015610a7b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061082d91906111fa565b600080610ab5878585610ab0610637565b610c3f565b905080610ac6576000915050610b1b565b6000610ad6888888610ab0610637565b905080821115610b14576000610aec8383610c94565b9050610b0a83610b0483670de0b6b3a7640000610cbc565b90610cf6565b9350505050610b1b565b6000925050505b95945050505050565b6001600160a01b03831660009081526001602052604090208054600160401b90046001600160401b0316908115610bac576000610b8a610b62610943565b8354610b0490610b83904290600160801b90046001600160801b0316610c94565b8790610cbc565b905082811015610ba557610b9e8382610c94565b9250610baa565b600092505b505b610bb682856109af565b81546001600160801b03428116600160801b026001600160401b038416600160401b0267ffffffffffffffff60401b1990931692909217161782556040519092506001600160a01b038616907f4f2b5515347f3a595b0228c4e8afea6d14c5f08c4038241a43473ea876f6273990610c2f9085906117d8565b60405180910390a2509392505050565b6000805b8451811015610c8b57610c816108d887878481518110610c5f57fe5b6020026020010151878581518110610c7357fe5b602002602001015187610d28565b9150600101610c43565b50949350505050565b600082821115610cb65760405162461bcd60e51b81526004016103859061174a565b50900390565b600082610ccb5750600061082d565b82820282848281610cd857fe5b04146109d45760405162461bcd60e51b81526004016103859061178a565b6000808211610d175760405162461bcd60e51b81526004016103859061175a565b818381610d2057fe5b049392505050565b6000610d3261060e565b6001600160a01b0316634c67e1068585856040518463ffffffff1660e01b8152600401610d61939291906116df565b602060405180830381600087803b158015610d7b57600080fd5b505af1925050508015610dab575060408051601f3d908101601f19168201909252610da891810190611218565b60015b610e1a57610db985856108b2565b610dd55760405162461bcd60e51b8152600401610385906117aa565b836001600160a01b0316856001600160a01b03167fa2de3d3e85d58ec3c62bcbd0a67a60fac9f9002f6e70cfe768a49fa19d7dcf4660405160405180910390a3610e21565b9050610797565b506000949350505050565b604080516060810182526000808252602082018190529181019190915290565b803561082d81611917565b805161082d81611917565b600082601f830112610e7357600080fd5b8151610e86610e8182611835565b61180f565b91508181835260208401935060208101905083856020840282011115610eab57600080fd5b60005b83811015610ed75781610ec18882610e57565b8452506020928301929190910190600101610eae565b5050505092915050565b600082601f830112610ef257600080fd5b8151610f00610e8182611835565b91508181835260208401935060208101905083856020840282011115610f2557600080fd5b60005b83811015610ed75781610f3b8882610fba565b8452506020928301929190910190600101610f28565b805161082d8161192b565b805161082d81611934565b60008083601f840112610f7957600080fd5b5081356001600160401b03811115610f9057600080fd5b602083019150836001820283011115610fa857600080fd5b9250929050565b803561082d8161193d565b805161082d8161194a565b803561082d81611953565b600060208284031215610fe257600080fd5b60006107978484610e4c565b60006020828403121561100057600080fd5b60006107978484610e57565b600080600080600080600060e0888a03121561102757600080fd5b60006110338a8a610e57565b97505060206110448a828b01610e57565b96505060406110558a828b01610f5c565b95505060608801516001600160401b0381111561107157600080fd5b61107d8a828b01610e62565b94505060808801516001600160401b0381111561109957600080fd5b6110a58a828b01610ee1565b93505060a08801516001600160401b038111156110c157600080fd5b6110cd8a828b01610e62565b92505060c08801516001600160401b038111156110e957600080fd5b6110f58a828b01610ee1565b91505092959891949750929550565b6000806040838503121561111757600080fd5b60006111238585610e4c565b925050602061113485828601610e4c565b9150509250929050565b60008060006040848603121561115357600080fd5b600061115f8686610e4c565b93505060208401356001600160401b0381111561117b57600080fd5b61118786828701610f67565b92509250509250925092565b600080600080606085870312156111a957600080fd5b60006111b58787610e4c565b94505060206111c687828801610faf565b93505060408501356001600160401b038111156111e257600080fd5b6111ee87828801610f67565b95989497509550505050565b60006020828403121561120c57600080fd5b60006107978484610f51565b60006020828403121561122a57600080fd5b60006107978484610fba565b60006020828403121561124857600080fd5b60006107978484610fc5565b600061126083836112d9565b505060200190565b61127181611868565b82525050565b60006112828261185b565b61128c818561185f565b935061129783611855565b8060005b838110156112c55781516112af8882611254565b97506112ba83611855565b92505060010161129b565b509495945050505050565b61127181611873565b611271816118b6565b611271816118c1565b60006112f68261185b565b611300818561185f565b93506113108185602086016118d7565b61131981611903565b9093019392505050565b6000611330601b8361185f565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b600061136960378361185f565b7f75706461746546756e6453657474696e67733a2055706461746573206e6f742081527f616c6c6f77656420666f72207468697320706f6c696379000000000000000000602082015260400192915050565b60006113c8601e8361185f565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000611401601a8361185f565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b600061143a602b8361185f565b7f7374617274417373657442797061737354696d656c6f636b3a2041737365742081526a686173206120707269636560a81b602082015260400192915050565b600061148760278361185f565b7f61646446756e6453657474696e67733a204d617820746f6c6572616e636520658152661e18d95959195960ca1b602082015260400192915050565b60006114d060218361185f565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b600061151360298361185f565b7f4f6e6c792074686520506f6c6963794d616e616765722063616e206d616b65208152681d1a1a5cc818d85b1b60ba1b602082015260400192915050565b600061155e604a8361185f565b7f5f5f63616c6356616c75654578636c7564696e6742797061737361626c65507281527f6963656c65737341737365743a20496e76616c6964206173736574206e6f742060208201526962797061737361626c6560b01b604082015260600192915050565b60006115d060598361185f565b7f7374617274417373657442797061737354696d656c6f636b3a2053656e64657281527f206973206e6f7420746865205661756c7450726f7879206f662074686520617360208201527f736f63696174656420436f6d7074726f6c6c657250726f787900000000000000604082015260600192915050565b8051606083019061165984826116a0565b50602082015161166c60208501826116a0565b50604082015161167f6040850182611685565b50505050565b6112718161188f565b611271816118a7565b611271816118cc565b611271816118aa565b6020810161082d8284611268565b606081016116c58286611268565b6116d260208301856112e2565b6107976040830184611268565b606081016116ed8286611268565b6116d2602083018561168e565b602080825281016109d48184611277565b6020810161082d82846112d0565b602080825281016109d481846112eb565b6020808252810161082d81611323565b6020808252810161082d8161135c565b6020808252810161082d816113bb565b6020808252810161082d816113f4565b6020808252810161082d8161142d565b6020808252810161082d8161147a565b6020808252810161082d816114c3565b6020808252810161082d81611506565b6020808252810161082d81611551565b6020808252810161082d816115c3565b6060810161082d8284611648565b6020810161082d828461168e565b604081016117f4828561168e565b6109d46020830184611268565b6020810161082d8284611697565b6040518181016001600160401b038111828210171561182d57600080fd5b604052919050565b60006001600160401b0382111561184b57600080fd5b5060209081020190565b60200190565b5190565b90815260200190565b600061082d8261189b565b151590565b6001600160e01b03191690565b806108038161190d565b6001600160801b031690565b6001600160a01b031690565b90565b6001600160401b031690565b600061082d82611885565b600061082d826118a7565b600061082d826118aa565b60005b838110156118f25781810151838201526020016118da565b8381111561167f5750506000910152565b601f01601f191690565b600a811061094057fe5b61192081611868565b811461094057600080fd5b61192081611873565b61192081611878565b600a811061094057600080fd5b611920816118a7565b611920816118aa56fea164736f6c634300060c000a", "sourceMap": "1044:8920:212:-:0;;;1829:759;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;737:31:223;;;;;;;;1530:43:224;;;;;1583:46;;1639:60;;;;;;;1709:46;;;;;;;2410:44:212;;;;;::::2;::::0;2464:55:::2;::::0;2529:52:::2;::::0;1044:8920;;5:134:-1;83:13;;101:33;83:13;101:33;:::i;:::-;68:71;;;;:::o;146:134::-;224:13;;242:33;224:13;242:33;:::i;287:1220::-;;;;;;;;;521:3;509:9;500:7;496:23;492:33;489:2;;;538:1;535;528:12;489:2;573:1;590:64;646:7;626:9;590:64;:::i;:::-;580:74;;552:108;691:2;709:64;765:7;756:6;745:9;741:22;709:64;:::i;:::-;699:74;;670:109;810:2;828:64;884:7;875:6;864:9;860:22;828:64;:::i;:::-;818:74;;789:109;929:2;947:64;1003:7;994:6;983:9;979:22;947:64;:::i;:::-;937:74;;908:109;1048:3;1067:64;1123:7;1114:6;1103:9;1099:22;1067:64;:::i;:::-;1057:74;;1027:110;1168:3;1187:64;1243:7;1234:6;1223:9;1219:22;1187:64;:::i;:::-;1177:74;;1147:110;1288:3;1307:64;1363:7;1354:6;1343:9;1339:22;1307:64;:::i;:::-;1297:74;;1267:110;1408:3;1427:64;1483:7;1474:6;1463:9;1459:22;1427:64;:::i;:::-;1417:74;;1387:110;483:1024;;;;;;;;;;;:::o;1514:91::-;;-1:-1;;;;;1674:54;;1576:24;1657:76::o;1740:72::-;1802:5;1785:27::o;1819:117::-;1888:24;1906:5;1888:24;:::i;:::-;1881:5;1878:35;1868:2;;1927:1;1924;1917:12;1868:2;1862:74;:::o;1943:117::-;2012:24;2030:5;2012:24;:::i;1986:74::-;1044:8920:212;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106101215760003560e01c80635da4cdb2116100ad578063cbf54bb211610071578063cbf54bb21461022f578063ceb9a0ad14610244578063cf09a09214610257578063d44ad6cb1461025f578063e09da6811461026757610121565b80635da4cdb2146101e457806374708934146101f75780637998a1c4146101ff5780637fe292681461021457806385d63ec91461021c57610121565b80631ef92578116100f45780631ef925781461017f578063234dfb1714610194578063441053981461019c578063579be718146101b15780635bbb869c146101c457610121565b806307d2890e146101265780630d4d75101461013b5780630f5f6b4f1461014e57806314f8e61514610161575b600080fd5b610139610134366004610fd0565b61026f565b005b61013961014936600461113e565b6104a4565b61013961015c36600461113e565b6104bc565b61016961060e565b60405161017691906116a9565b60405180910390f35b610187610632565b604051610176919061170b565b610169610637565b6101a461065b565b60405161017691906117d8565b6101876101bf366004611193565b61067f565b6101d76101d2366004610fd0565b61079f565b60405161017691906117ca565b6101a46101f2366004611104565b610808565b610169610833565b610207610857565b6040516101769190611719565b6101a461088e565b61018761022a366004611104565b6108b2565b6102376108e9565b60405161017691906116fa565b610139610252366004610fd0565b610940565b6101a4610943565b610169610967565b6101a461098b565b6000336001600160a01b0316635a53e3486040518163ffffffff1660e01b815260040160206040518083038186803b1580156102aa57600080fd5b505afa1580156102be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102e29190610fee565b9050806001600160a01b031663c98091876040518163ffffffff1660e01b815260040160206040518083038186803b15801561031d57600080fd5b505afa158015610331573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103559190610fee565b6001600160a01b0316336001600160a01b03161461038e5760405162461bcd60e51b8152600401610385906117ba565b60405180910390fd5b61039661060e565b6001600160a01b0316634c67e1068360016103af610637565b6040518463ffffffff1660e01b81526004016103cd939291906116b7565b602060405180830381600087803b1580156103e757600080fd5b505af1925050508015610417575060408051601f3d908101601f1916820190925261041491810190611218565b60015b6104875761042d61042661065b565b42906109af565b6001600160a01b0380831660008181526020818152604080832094881680845294909152808220949094559251919290917f76fadd0d061c0fa0e079ec4814cecf7f5f6f43e604f241551dd35b6c3c9a69809190a36104a0565b5060405162461bcd60e51b81526004016103859061176a565b5050565b60405162461bcd60e51b81526004016103859061173a565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105045760405162461bcd60e51b81526004016103859061179a565b600061051282840184611236565b9050670de0b6b3a7640000816001600160401b0316106105445760405162461bcd60e51b81526004016103859061177a565b604080516060810182526001600160401b038084168252600060208084018281528486018381526001600160a01b038b1680855260019093529286902094518554915193516001600160801b03908116600160801b02948616600160401b0267ffffffffffffffff60401b199290961667ffffffffffffffff199093169290921716939093179092161790915590517f27abf63785bf8ff6d81b909a910422392df35bed801ecf834d5b60c8e72b859490610600908490611801565b60405180910390a250505050565b7f000000000000000000000000000000000000000000000000000000000000000090565b600090565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b6000336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106c95760405162461bcd60e51b81526004016103859061179a565b600060608060608061071088888080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506109db92505050565b96509650965096505095505061072585610a11565b1561073857600195505050505050610797565b60006107478b86868686610a9f565b90508061075d5760019650505050505050610797565b6001600160a01b038b166000908152600160205260409020546001600160401b03168061078b8d8483610b24565b11159750505050505050505b949350505050565b6107a7610e2c565b506001600160a01b038116600090815260016020908152604091829020825160608101845290546001600160401b038082168352600160401b82041692820192909252600160801b9091046001600160801b0316918101919091525b919050565b6001600160a01b03808316600090815260208181526040808320938516835292905220545b92915050565b7f000000000000000000000000000000000000000000000000000000000000000090565b60408051808201909152601d81527f43554d554c41544956455f534c4950504147455f544f4c4552414e4345000000602082015290565b7f000000000000000000000000000000000000000000000000000000000000000090565b6000806108bf8484610808565b90504281111580156107975750426108df6108d861088e565b83906109af565b1015949350505050565b6040805160018082528183019092526060916020808301908036833701905050905060018160008151811061091a57fe5b6020026020010190600981111561092d57fe5b9081600981111561093a57fe5b90525090565b50565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b6000828201838110156109d45760405162461bcd60e51b81526004016103859061172a565b9392505050565b6000806000606080606080878060200190518101906109fa919061100c565b959e949d50929b5090995097509550909350915050565b6000610a1b610833565b6001600160a01b0316631c563204610a3161098b565b846040518363ffffffff1660e01b8152600401610a4f9291906117e6565b60206040518083038186803b158015610a6757600080fd5b505afa158015610a7b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061082d91906111fa565b600080610ab5878585610ab0610637565b610c3f565b905080610ac6576000915050610b1b565b6000610ad6888888610ab0610637565b905080821115610b14576000610aec8383610c94565b9050610b0a83610b0483670de0b6b3a7640000610cbc565b90610cf6565b9350505050610b1b565b6000925050505b95945050505050565b6001600160a01b03831660009081526001602052604090208054600160401b90046001600160401b0316908115610bac576000610b8a610b62610943565b8354610b0490610b83904290600160801b90046001600160801b0316610c94565b8790610cbc565b905082811015610ba557610b9e8382610c94565b9250610baa565b600092505b505b610bb682856109af565b81546001600160801b03428116600160801b026001600160401b038416600160401b0267ffffffffffffffff60401b1990931692909217161782556040519092506001600160a01b038616907f4f2b5515347f3a595b0228c4e8afea6d14c5f08c4038241a43473ea876f6273990610c2f9085906117d8565b60405180910390a2509392505050565b6000805b8451811015610c8b57610c816108d887878481518110610c5f57fe5b6020026020010151878581518110610c7357fe5b602002602001015187610d28565b9150600101610c43565b50949350505050565b600082821115610cb65760405162461bcd60e51b81526004016103859061174a565b50900390565b600082610ccb5750600061082d565b82820282848281610cd857fe5b04146109d45760405162461bcd60e51b81526004016103859061178a565b6000808211610d175760405162461bcd60e51b81526004016103859061175a565b818381610d2057fe5b049392505050565b6000610d3261060e565b6001600160a01b0316634c67e1068585856040518463ffffffff1660e01b8152600401610d61939291906116df565b602060405180830381600087803b158015610d7b57600080fd5b505af1925050508015610dab575060408051601f3d908101601f19168201909252610da891810190611218565b60015b610e1a57610db985856108b2565b610dd55760405162461bcd60e51b8152600401610385906117aa565b836001600160a01b0316856001600160a01b03167fa2de3d3e85d58ec3c62bcbd0a67a60fac9f9002f6e70cfe768a49fa19d7dcf4660405160405180910390a3610e21565b9050610797565b506000949350505050565b604080516060810182526000808252602082018190529181019190915290565b803561082d81611917565b805161082d81611917565b600082601f830112610e7357600080fd5b8151610e86610e8182611835565b61180f565b91508181835260208401935060208101905083856020840282011115610eab57600080fd5b60005b83811015610ed75781610ec18882610e57565b8452506020928301929190910190600101610eae565b5050505092915050565b600082601f830112610ef257600080fd5b8151610f00610e8182611835565b91508181835260208401935060208101905083856020840282011115610f2557600080fd5b60005b83811015610ed75781610f3b8882610fba565b8452506020928301929190910190600101610f28565b805161082d8161192b565b805161082d81611934565b60008083601f840112610f7957600080fd5b5081356001600160401b03811115610f9057600080fd5b602083019150836001820283011115610fa857600080fd5b9250929050565b803561082d8161193d565b805161082d8161194a565b803561082d81611953565b600060208284031215610fe257600080fd5b60006107978484610e4c565b60006020828403121561100057600080fd5b60006107978484610e57565b600080600080600080600060e0888a03121561102757600080fd5b60006110338a8a610e57565b97505060206110448a828b01610e57565b96505060406110558a828b01610f5c565b95505060608801516001600160401b0381111561107157600080fd5b61107d8a828b01610e62565b94505060808801516001600160401b0381111561109957600080fd5b6110a58a828b01610ee1565b93505060a08801516001600160401b038111156110c157600080fd5b6110cd8a828b01610e62565b92505060c08801516001600160401b038111156110e957600080fd5b6110f58a828b01610ee1565b91505092959891949750929550565b6000806040838503121561111757600080fd5b60006111238585610e4c565b925050602061113485828601610e4c565b9150509250929050565b60008060006040848603121561115357600080fd5b600061115f8686610e4c565b93505060208401356001600160401b0381111561117b57600080fd5b61118786828701610f67565b92509250509250925092565b600080600080606085870312156111a957600080fd5b60006111b58787610e4c565b94505060206111c687828801610faf565b93505060408501356001600160401b038111156111e257600080fd5b6111ee87828801610f67565b95989497509550505050565b60006020828403121561120c57600080fd5b60006107978484610f51565b60006020828403121561122a57600080fd5b60006107978484610fba565b60006020828403121561124857600080fd5b60006107978484610fc5565b600061126083836112d9565b505060200190565b61127181611868565b82525050565b60006112828261185b565b61128c818561185f565b935061129783611855565b8060005b838110156112c55781516112af8882611254565b97506112ba83611855565b92505060010161129b565b509495945050505050565b61127181611873565b611271816118b6565b611271816118c1565b60006112f68261185b565b611300818561185f565b93506113108185602086016118d7565b61131981611903565b9093019392505050565b6000611330601b8361185f565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b600061136960378361185f565b7f75706461746546756e6453657474696e67733a2055706461746573206e6f742081527f616c6c6f77656420666f72207468697320706f6c696379000000000000000000602082015260400192915050565b60006113c8601e8361185f565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000611401601a8361185f565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b600061143a602b8361185f565b7f7374617274417373657442797061737354696d656c6f636b3a2041737365742081526a686173206120707269636560a81b602082015260400192915050565b600061148760278361185f565b7f61646446756e6453657474696e67733a204d617820746f6c6572616e636520658152661e18d95959195960ca1b602082015260400192915050565b60006114d060218361185f565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b600061151360298361185f565b7f4f6e6c792074686520506f6c6963794d616e616765722063616e206d616b65208152681d1a1a5cc818d85b1b60ba1b602082015260400192915050565b600061155e604a8361185f565b7f5f5f63616c6356616c75654578636c7564696e6742797061737361626c65507281527f6963656c65737341737365743a20496e76616c6964206173736574206e6f742060208201526962797061737361626c6560b01b604082015260600192915050565b60006115d060598361185f565b7f7374617274417373657442797061737354696d656c6f636b3a2053656e64657281527f206973206e6f7420746865205661756c7450726f7879206f662074686520617360208201527f736f63696174656420436f6d7074726f6c6c657250726f787900000000000000604082015260600192915050565b8051606083019061165984826116a0565b50602082015161166c60208501826116a0565b50604082015161167f6040850182611685565b50505050565b6112718161188f565b611271816118a7565b611271816118cc565b611271816118aa565b6020810161082d8284611268565b606081016116c58286611268565b6116d260208301856112e2565b6107976040830184611268565b606081016116ed8286611268565b6116d2602083018561168e565b602080825281016109d48184611277565b6020810161082d82846112d0565b602080825281016109d481846112eb565b6020808252810161082d81611323565b6020808252810161082d8161135c565b6020808252810161082d816113bb565b6020808252810161082d816113f4565b6020808252810161082d8161142d565b6020808252810161082d8161147a565b6020808252810161082d816114c3565b6020808252810161082d81611506565b6020808252810161082d81611551565b6020808252810161082d816115c3565b6060810161082d8284611648565b6020810161082d828461168e565b604081016117f4828561168e565b6109d46020830184611268565b6020810161082d8284611697565b6040518181016001600160401b038111828210171561182d57600080fd5b604052919050565b60006001600160401b0382111561184b57600080fd5b5060209081020190565b60200190565b5190565b90815260200190565b600061082d8261189b565b151590565b6001600160e01b03191690565b806108038161190d565b6001600160801b031690565b6001600160a01b031690565b90565b6001600160401b031690565b600061082d82611885565b600061082d826118a7565b600061082d826118aa565b60005b838110156118f25781810151838201526020016118da565b8381111561167f5750506000910152565b601f01601f191690565b600a811061094057fe5b61192081611868565b811461094057600080fd5b61192081611873565b61192081611878565b600a811061094057600080fd5b611920816118a7565b611920816118aa56fea164736f6c634300060c000a", "sourceMap": "1044:8920:212:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2146:1068:224;;;;;;:::i;:::-;;:::i;:::-;;1452:161:223;;;;;;:::i;:::-;;:::i;2817:567:212:-;;;;;;:::i;:::-;;:::i;7057:191:224:-;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1214:109:223;;;:::i;:::-;;;;;;;:::i;7406:142:224:-;;;:::i;6740:138::-;;;:::i;:::-;;;;;;;:::i;4461:1067:212:-;;;;;;:::i;:::-;;:::i;9456:208::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;6038:249:224:-;;;;;;:::i;:::-;;:::i;8816:130:212:-;;;:::i;3507:136::-;;;:::i;:::-;;;;;;;:::i;6445:142:224:-;;;:::i;3548:390::-;;;;;;:::i;:::-;;:::i;3773:336:212:-;;;:::i;:::-;;;;;;;:::i;941:83:223:-;;;;;;:::i;:::-;;:::i;9820:142:212:-;;;:::i;6755:113:223:-;;;:::i;9107:174:212:-;;;:::i;2146:1068:224:-;2291:24;2327:10;-1:-1:-1;;;;;2318:32:224;;:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2291:61;;2412:16;-1:-1:-1;;;;;2397:46:224;;:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;2383:62:224;:10;-1:-1:-1;;;;;2383:62:224;;2362:198;;;;-1:-1:-1;;;2362:198:224;;;;;;;:::i;:::-;;;;;;;;;2604:41;:39;:41::i;:::-;-1:-1:-1;;;;;2587:83:224;;2688:6;2712:1;2779:34;:32;:34::i;:::-;2587:268;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2587:268:224;;;;;;;;-1:-1:-1;;2587:268:224;;;;;;;;;;;;:::i;:::-;;;2571:637;;3034:88;3088:33;:31;:33::i;:::-;3034:32;;:53;:88::i;:::-;-1:-1:-1;;;;;2963:60:224;;;:42;:60;;;;;;;;;;;:68;;;;;;;;;;;;;:159;;;;3142:55;;2963:68;;:60;;3142:55;;2963:42;3142:55;2571:637;;;;2878:53;;-1:-1:-1;;;2878:53:224;;;;;;;:::i;2571:637::-;2146:1068;;:::o;1452:161:223:-;1541:65;;-1:-1:-1;;;1541:65:223;;;;;;;:::i;2817:567:212:-;586:10:223;-1:-1:-1;;;;;600:14:223;586:28;;578:82;;;;-1:-1:-1;;;578:82:223;;;;;;;:::i;:::-;2976:16:212::1;2995:38;::::0;;::::1;3006:16:::0;2995:38:::1;:::i;:::-;2976:57;;1559:7;3051:9;-1:-1:-1::0;;;;;3051:31:212::1;;3043:83;;;;-1:-1:-1::0;;;3043:83:212::1;;;;;;;:::i;:::-;3187:129;::::0;;::::1;::::0;::::1;::::0;;-1:-1:-1;;;;;3187:129:212;;::::1;::::0;;-1:-1:-1;3187:129:212::1;::::0;;::::1;::::0;;;;;;;;;-1:-1:-1;;;;;3137:47:212;::::1;::::0;;;:28:::1;:47:::0;;;;;;;:179;;;;;;;;-1:-1:-1;;;;;3137:179:212;;::::1;-1:-1:-1::0;;;3137:179:212::1;::::0;;::::1;-1:-1:-1::0;;;3137:179:212::1;-1:-1:-1::0;;;;3137:179:212;;;::::1;-1:-1:-1::0;;3137:179:212;;::::1;::::0;;;::::1;;::::0;;;::::1;::::0;;::::1;;::::0;;;3332:45;;::::1;::::0;::::1;::::0;3223:9;;3332:45:::1;:::i;:::-;;;;;;;;670:1:223;2817:567:212::0;;;:::o;7057:191:224:-;7201:40;7057:191;:::o;1214:109:223:-;1276:16;1214:109;:::o;7406:142:224:-;7508:33;7406:142;:::o;6740:138::-;6840:31;6740:138;:::o;4461:1067:212:-;4641:13;586:10:223;-1:-1:-1;;;;;600:14:223;586:28;;578:82;;;;-1:-1:-1;;;578:82:223;;;;;;;:::i;:::-;4694:15:212::1;4737:31;4782:37:::0;4833:28:::1;4875:34:::0;4922:57:::1;4966:12;;4922:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;4922:43:212::1;::::0;-1:-1:-1;;;4922:57:212:i:1;:::-;4666:313;;;;;;;;;;;;4994:29;5015:7;4994:20;:29::i;:::-;4990:71;;;5046:4;5039:11;;;;;;;;;4990:71;5071:19;5093:173;5121:17;5152:14;5180:20;5214:11;5239:17;5093:14;:173::i;:::-;5071:195:::0;-1:-1:-1;5280:16:212;5276:58:::1;;5319:4;5312:11;;;;;;;;;;5276:58;-1:-1:-1::0;;;;;5364:47:212;::::1;5344:17;5364:47:::0;;;:28:::1;:47;::::0;;;;:57;-1:-1:-1;;;;;5364:57:212::1;::::0;5439:69:::1;5393:17:::0;5485:11;5364:57;5439:26:::1;:69::i;:::-;:82;;5432:89;;;;;;;;;670:1:223;4461:1067:212::0;;;;;;:::o;9456:208::-;9558:29;;:::i;:::-;-1:-1:-1;;;;;;9610:47:212;;;;;;:28;:47;;;;;;;;;9603:54;;;;;;;;;-1:-1:-1;;;;;9603:54:212;;;;;-1:-1:-1;;;9603:54:212;;;;;;;;;;-1:-1:-1;;;9603:54:212;;;-1:-1:-1;;;;;9603:54:212;;;;;;;;9456:208;;;;:::o;6038:249:224:-;-1:-1:-1;;;;;6211:61:224;;;6168:20;6211:61;;;;;;;;;;;:69;;;;;;;;;;6038:249;;;;;:::o;8816:130:212:-;8918:21;8816:130;:::o;3507:136::-;3598:38;;;;;;;;;;;;;;;;;3507:136;:::o;6445:142:224:-;6547:33;6445:142;:::o;3548:390::-;3670:18;3704:19;3726:59;3759:17;3778:6;3726:32;:59::i;:::-;3704:81;;3830:15;3815:11;:30;;:116;;;;;3916:15;3861:51;3877:34;:32;:34::i;:::-;3861:11;;:15;:51::i;:::-;:70;;3796:135;3548:390;-1:-1:-1;;;;3548:390:224:o;3773:336:212:-;3953:34;;;3985:1;3953:34;;;;;;;;;3865:52;;3953:34;;;;;;;;;;;-1:-1:-1;3953:34:212;3933:54;;4020:47;3997:17;4015:1;3997:20;;;;;;;;;;;;;:70;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3773:336:212;:::o;941:83:223:-;;:::o;9820:142:212:-;9930:25;9820:142;:::o;6755:113:223:-;6847:14;6755:113;:::o;9107:174:212:-;9247:27;9107:174;:::o;2690:175:442:-;2748:7;2779:5;;;2802:6;;;;2794:46;;;;-1:-1:-1;;;2794:46:442;;;;;;;:::i;:::-;2857:1;2690:175;-1:-1:-1;;;2690:175:442:o;4190:604:223:-;4333:15;4362:16;4392;4422:32;4468:38;4520:29;4563:35;4670:15;4642:145;;;;;;;;;;;;:::i;:::-;4623:164;;;;-1:-1:-1;4623:164:223;;-1:-1:-1;4623:164:223;;-1:-1:-1;4623:164:223;-1:-1:-1;4623:164:223;-1:-1:-1;4623:164:223;;-1:-1:-1;4190:604:223;-1:-1:-1;;4190:604:223:o;6782:267:212:-;6852:18;6921:24;:22;:24::i;:::-;-1:-1:-1;;;;;6901:54:212;;6973:29;:27;:29::i;:::-;7020:8;6901:141;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;5602:1113::-;5858:17;5887:21;5911:197;5975:17;6006:12;6032:18;6064:34;:32;:34::i;:::-;5911:50;:197::i;:::-;5887:221;-1:-1:-1;6212:18:212;6208:57;;6253:1;6246:8;;;;;6208:57;6275:21;6299:203;6363:17;6394:15;6423:21;6458:34;:32;:34::i;6299:203::-;6275:227;;6533:13;6517;:29;6513:177;;;6562:12;6577:32;:13;6595;6577:17;:32::i;:::-;6562:47;-1:-1:-1;6631:48:212;6665:13;6631:29;6562:47;1559:7;6631:8;:29::i;:::-;:33;;:48::i;:::-;6624:55;;;;;;;6513:177;6707:1;6700:8;;;;5602:1113;;;;;;;;:::o;7279:1320::-;-1:-1:-1;;;;;7506:47:212;;7431:31;7506:47;;;:28;:47;;;;;7590:29;;-1:-1:-1;;;7590:29:212;;-1:-1:-1;;;;;7590:29:212;;7725:27;;7721:486;;7768:35;7806:137;7914:28;:26;:28::i;:::-;7858:32;;7806:86;;7838:53;;:15;;-1:-1:-1;;;7858:32:212;;-1:-1:-1;;;;;7858:32:212;7838:19;:53::i;:::-;7806:10;;:31;:86::i;:137::-;7768:175;;7991:23;7961:27;:53;7957:240;;;8060:56;:23;8088:27;8060;:56::i;:::-;8034:82;;7957:240;;;8181:1;8155:27;;7957:240;7721:486;;8275:41;:23;8303:12;8275:27;:41::i;:::-;8327:63;;-1:-1:-1;;;;;8443:15:212;8400:59;;-1:-1:-1;;;8400:59:212;-1:-1:-1;;;;;8327:63:212;;-1:-1:-1;;;8327:63:212;-1:-1:-1;;;;8327:63:212;;;;;;;8400:59;;;;8475:76;;8249:67;;-1:-1:-1;;;;;;8475:76:212;;;;;;;8249:67;;8475:76;:::i;:::-;;;;;;;;8562:30;7279:1320;;;;;:::o;4084:595:224:-;4314:14;4345:9;4340:333;4360:11;:18;4356:1;:22;4340:333;;;4408:254;4436:212;4502:17;4541:11;4553:1;4541:14;;;;;;;;;;;;;;4577:17;4595:1;4577:20;;;;;;;;;;;;;;4619:11;4436:44;:212::i;4408:254::-;4399:263;-1:-1:-1;4380:3:224;;4340:333;;;;4084:595;;;;;;:::o;3136:155:442:-;3194:7;3226:1;3221;:6;;3213:49;;;;-1:-1:-1;;;3213:49:442;;;;;;;:::i;:::-;-1:-1:-1;3279:5:442;;;3136:155::o;3538:215::-;3596:7;3619:6;3615:20;;-1:-1:-1;3634:1:442;3627:8;;3615:20;3657:5;;;3661:1;3657;:5;:1;3680:5;;;;;:10;3672:56;;;;-1:-1:-1;;;3672:56:442;;;;;;;:::i;4217:150::-;4275:7;4306:1;4302;:5;4294:44;;;;-1:-1:-1;;;4294:44:442;;;;;;;:::i;:::-;4359:1;4355;:5;;;;;;;4217:150;-1:-1:-1;;;4217:150:442:o;4879:824:224:-;5083:14;5142:41;:39;:41::i;:::-;-1:-1:-1;;;;;5125:83:224;;5226:10;5254:16;5288:11;5125:188;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5125:188:224;;;;;;;;-1:-1:-1;;5125:188:224;;;;;;;;;;;;:::i;:::-;;;5109:569;;5431:55;5456:17;5475:10;5431:24;:55::i;:::-;5406:188;;;;-1:-1:-1;;;5406:188:224;;;;;;;:::i;:::-;5656:10;-1:-1:-1;;;;;5614:53:224;5637:17;-1:-1:-1;;;;;5614:53:224;;;;;;;;;;;5109:569;;;5368:6;-1:-1:-1;5361:13:224;;5109:569;-1:-1:-1;5695:1:224;4879:824;;;;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5:130::-;72:20;;97:33;72:20;97:33;:::i;142:134::-;220:13;;238:33;220:13;238:33;:::i;458:722::-;;586:3;579:4;571:6;567:17;563:27;553:2;;604:1;601;594:12;553:2;634:6;628:13;656:80;671:64;728:6;671:64;:::i;:::-;656:80;:::i;:::-;647:89;;753:5;778:6;771:5;764:21;808:4;800:6;796:17;786:27;;830:4;825:3;821:14;814:21;;883:6;930:3;922:4;914:6;910:17;905:3;901:27;898:36;895:2;;;947:1;944;937:12;895:2;972:1;957:217;982:6;979:1;976:13;957:217;;;1040:3;1062:48;1106:3;1094:10;1062:48;:::i;:::-;1050:61;;-1:-1;1134:4;1125:14;;;;1153;;;;;1004:1;997:9;957:217;;;961:14;546:634;;;;;;;:::o;1206:722::-;;1334:3;1327:4;1319:6;1315:17;1311:27;1301:2;;1352:1;1349;1342:12;1301:2;1382:6;1376:13;1404:80;1419:64;1476:6;1419:64;:::i;1404:80::-;1395:89;;1501:5;1526:6;1519:5;1512:21;1556:4;1548:6;1544:17;1534:27;;1578:4;1573:3;1569:14;1562:21;;1631:6;1678:3;1670:4;1662:6;1658:17;1653:3;1649:27;1646:36;1643:2;;;1695:1;1692;1685:12;1643:2;1720:1;1705:217;1730:6;1727:1;1724:13;1705:217;;;1788:3;1810:48;1854:3;1842:10;1810:48;:::i;:::-;1798:61;;-1:-1;1882:4;1873:14;;;;1901;;;;;1752:1;1745:9;1705:217;;1936:128;2011:13;;2029:30;2011:13;2029:30;:::i;2071:132::-;2148:13;;2166:32;2148:13;2166:32;:::i;2224:336::-;;;2338:3;2331:4;2323:6;2319:17;2315:27;2305:2;;2356:1;2353;2346:12;2305:2;-1:-1;2376:20;;-1:-1;;;;;2405:30;;2402:2;;;2448:1;2445;2438:12;2402:2;2482:4;2474:6;2470:17;2458:29;;2533:3;2525:4;2517:6;2513:17;2503:8;2499:32;2496:41;2493:2;;;2550:1;2547;2540:12;2493:2;2298:262;;;;;:::o;2568:162::-;2651:20;;2676:49;2651:20;2676:49;:::i;2737:134::-;2815:13;;2833:33;2815:13;2833:33;:::i;2878:128::-;2944:20;;2969:32;2944:20;2969:32;:::i;3013:241::-;;3117:2;3105:9;3096:7;3092:23;3088:32;3085:2;;;3133:1;3130;3123:12;3085:2;3168:1;3185:53;3230:7;3210:9;3185:53;:::i;3261:263::-;;3376:2;3364:9;3355:7;3351:23;3347:32;3344:2;;;3392:1;3389;3382:12;3344:2;3427:1;3444:64;3500:7;3480:9;3444:64;:::i;3531:1629::-;;;;;;;;3863:3;3851:9;3842:7;3838:23;3834:33;3831:2;;;3880:1;3877;3870:12;3831:2;3915:1;3932:72;3996:7;3976:9;3932:72;:::i;:::-;3922:82;;3894:116;4041:2;4059:72;4123:7;4114:6;4103:9;4099:22;4059:72;:::i;:::-;4049:82;;4020:117;4168:2;4186:63;4241:7;4232:6;4221:9;4217:22;4186:63;:::i;:::-;4176:73;;4147:108;4307:2;4296:9;4292:18;4286:25;-1:-1;;;;;4323:6;4320:30;4317:2;;;4363:1;4360;4353:12;4317:2;4383:89;4464:7;4455:6;4444:9;4440:22;4383:89;:::i;:::-;4373:99;;4265:213;4530:3;4519:9;4515:19;4509:26;-1:-1;;;;;4547:6;4544:30;4541:2;;;4587:1;4584;4577:12;4541:2;4607:89;4688:7;4679:6;4668:9;4664:22;4607:89;:::i;:::-;4597:99;;4488:214;4754:3;4743:9;4739:19;4733:26;-1:-1;;;;;4771:6;4768:30;4765:2;;;4811:1;4808;4801:12;4765:2;4831:89;4912:7;4903:6;4892:9;4888:22;4831:89;:::i;:::-;4821:99;;4712:214;4978:3;4967:9;4963:19;4957:26;-1:-1;;;;;4995:6;4992:30;4989:2;;;5035:1;5032;5025:12;4989:2;5055:89;5136:7;5127:6;5116:9;5112:22;5055:89;:::i;:::-;5045:99;;4936:214;3825:1335;;;;;;;;;;:::o;5167:366::-;;;5288:2;5276:9;5267:7;5263:23;5259:32;5256:2;;;5304:1;5301;5294:12;5256:2;5339:1;5356:53;5401:7;5381:9;5356:53;:::i;:::-;5346:63;;5318:97;5446:2;5464:53;5509:7;5500:6;5489:9;5485:22;5464:53;:::i;:::-;5454:63;;5425:98;5250:283;;;;;:::o;5540:490::-;;;;5680:2;5668:9;5659:7;5655:23;5651:32;5648:2;;;5696:1;5693;5686:12;5648:2;5731:1;5748:53;5793:7;5773:9;5748:53;:::i;:::-;5738:63;;5710:97;5866:2;5855:9;5851:18;5838:32;-1:-1;;;;;5882:6;5879:30;5876:2;;;5922:1;5919;5912:12;5876:2;5950:64;6006:7;5997:6;5986:9;5982:22;5950:64;:::i;:::-;5932:82;;;;5817:203;5642:388;;;;;:::o;6037:647::-;;;;;6210:2;6198:9;6189:7;6185:23;6181:32;6178:2;;;6226:1;6223;6216:12;6178:2;6261:1;6278:53;6323:7;6303:9;6278:53;:::i;:::-;6268:63;;6240:97;6368:2;6386:69;6447:7;6438:6;6427:9;6423:22;6386:69;:::i;:::-;6376:79;;6347:114;6520:2;6509:9;6505:18;6492:32;-1:-1;;;;;6536:6;6533:30;6530:2;;;6576:1;6573;6566:12;6530:2;6604:64;6660:7;6651:6;6640:9;6636:22;6604:64;:::i;:::-;6172:512;;;;-1:-1;6586:82;-1:-1;;;;6172:512::o;6691:257::-;;6803:2;6791:9;6782:7;6778:23;6774:32;6771:2;;;6819:1;6816;6809:12;6771:2;6854:1;6871:61;6924:7;6904:9;6871:61;:::i;6955:263::-;;7070:2;7058:9;7049:7;7045:23;7041:32;7038:2;;;7086:1;7083;7076:12;7038:2;7121:1;7138:64;7194:7;7174:9;7138:64;:::i;7225:239::-;;7328:2;7316:9;7307:7;7303:23;7299:32;7296:2;;;7344:1;7341;7334:12;7296:2;7379:1;7396:52;7440:7;7420:9;7396:52;:::i;7472:201::-;;7573:60;7629:3;7621:6;7573:60;:::i;:::-;-1:-1;;7662:4;7653:14;;7566:107::o;7681:113::-;7764:24;7782:5;7764:24;:::i;:::-;7759:3;7752:37;7746:48;;:::o;7853:764::-;;8012:70;8076:5;8012:70;:::i;:::-;8095:84;8172:6;8167:3;8095:84;:::i;:::-;8088:91;;8200:72;8266:5;8200:72;:::i;:::-;8292:7;8320:1;8305:290;8330:6;8327:1;8324:13;8305:290;;;8397:6;8391:13;8418:77;8491:3;8476:13;8418:77;:::i;:::-;8411:84;;8512:76;8581:6;8512:76;:::i;:::-;8502:86;-1:-1;;8352:1;8345:9;8305:290;;;-1:-1;8608:3;;7991:626;-1:-1;;;;;7991:626::o;8625:104::-;8702:21;8717:5;8702:21;:::i;8736:144::-;8823:51;8868:5;8823:51;:::i;8887:142::-;8978:45;9017:5;8978:45;:::i;9036:347::-;;9148:39;9181:5;9148:39;:::i;:::-;9199:71;9263:6;9258:3;9199:71;:::i;:::-;9192:78;;9275:52;9320:6;9315:3;9308:4;9301:5;9297:16;9275:52;:::i;:::-;9348:29;9370:6;9348:29;:::i;:::-;9339:39;;;;9128:255;-1:-1;;;9128:255::o;9391:327::-;;9551:67;9615:2;9610:3;9551:67;:::i;:::-;9651:29;9631:50;;9709:2;9700:12;;9537:181;-1:-1;;9537:181::o;9727:392::-;;9887:67;9951:2;9946:3;9887:67;:::i;:::-;9987:34;9967:55;;10056:25;10051:2;10042:12;;10035:47;10110:2;10101:12;;9873:246;-1:-1;;9873:246::o;10128:330::-;;10288:67;10352:2;10347:3;10288:67;:::i;:::-;10388:32;10368:53;;10449:2;10440:12;;10274:184;-1:-1;;10274:184::o;10467:326::-;;10627:67;10691:2;10686:3;10627:67;:::i;:::-;10727:28;10707:49;;10784:2;10775:12;;10613:180;-1:-1;;10613:180::o;10802:380::-;;10962:67;11026:2;11021:3;10962:67;:::i;:::-;11062:34;11042:55;;-1:-1;;;11126:2;11117:12;;11110:35;11173:2;11164:12;;10948:234;-1:-1;;10948:234::o;11191:376::-;;11351:67;11415:2;11410:3;11351:67;:::i;:::-;11451:34;11431:55;;-1:-1;;;11515:2;11506:12;;11499:31;11558:2;11549:12;;11337:230;-1:-1;;11337:230::o;11576:370::-;;11736:67;11800:2;11795:3;11736:67;:::i;:::-;11836:34;11816:55;;-1:-1;;;11900:2;11891:12;;11884:25;11937:2;11928:12;;11722:224;-1:-1;;11722:224::o;11955:378::-;;12115:67;12179:2;12174:3;12115:67;:::i;:::-;12215:34;12195:55;;-1:-1;;;12279:2;12270:12;;12263:33;12324:2;12315:12;;12101:232;-1:-1;;12101:232::o;12342:448::-;;12502:67;12566:2;12561:3;12502:67;:::i;:::-;12602:34;12582:55;;12671:34;12666:2;12657:12;;12650:56;-1:-1;;;12735:2;12726:12;;12719:34;12781:2;12772:12;;12488:302;-1:-1;;12488:302::o;12799:463::-;;12959:67;13023:2;13018:3;12959:67;:::i;:::-;13059:34;13039:55;;13128:34;13123:2;13114:12;;13107:56;13197:27;13192:2;13183:12;;13176:49;13253:2;13244:12;;12945:317;-1:-1;;12945:317::o;13383:670::-;13605:23;;13534:4;13525:14;;;13634:61;13529:3;13605:23;13634:61;:::i;:::-;13554:147;13788:4;13781:5;13777:16;13771:23;13800:61;13855:4;13850:3;13846:14;13832:12;13800:61;:::i;:::-;13711:156;13957:4;13950:5;13946:16;13940:23;13969:63;14026:4;14021:3;14017:14;14003:12;13969:63;:::i;:::-;13877:161;13507:546;;;:::o;14060:103::-;14133:24;14151:5;14133:24;:::i;14170:113::-;14253:24;14271:5;14253:24;:::i;14290:124::-;14372:36;14402:5;14372:36;:::i;14421:100::-;14492:23;14509:5;14492:23;:::i;14528:222::-;14655:2;14640:18;;14669:71;14644:9;14713:6;14669:71;:::i;14757:460::-;14948:2;14933:18;;14962:71;14937:9;15006:6;14962:71;:::i;:::-;15044:80;15120:2;15109:9;15105:18;15096:6;15044:80;:::i;:::-;15135:72;15203:2;15192:9;15188:18;15179:6;15135:72;:::i;15224:444::-;15407:2;15392:18;;15421:71;15396:9;15465:6;15421:71;:::i;:::-;15503:72;15571:2;15560:9;15556:18;15547:6;15503:72;:::i;15675:398::-;15866:2;15880:47;;;15851:18;;15941:122;15851:18;16049:6;15941:122;:::i;16080:210::-;16201:2;16186:18;;16215:65;16190:9;16253:6;16215:65;:::i;16297:310::-;16444:2;16458:47;;;16429:18;;16519:78;16429:18;16583:6;16519:78;:::i;16614:416::-;16814:2;16828:47;;;16799:18;;16889:131;16799:18;16889:131;:::i;17037:416::-;17237:2;17251:47;;;17222:18;;17312:131;17222:18;17312:131;:::i;17460:416::-;17660:2;17674:47;;;17645:18;;17735:131;17645:18;17735:131;:::i;17883:416::-;18083:2;18097:47;;;18068:18;;18158:131;18068:18;18158:131;:::i;18306:416::-;18506:2;18520:47;;;18491:18;;18581:131;18491:18;18581:131;:::i;18729:416::-;18929:2;18943:47;;;18914:18;;19004:131;18914:18;19004:131;:::i;19152:416::-;19352:2;19366:47;;;19337:18;;19427:131;19337:18;19427:131;:::i;19575:416::-;19775:2;19789:47;;;19760:18;;19850:131;19760:18;19850:131;:::i;19998:416::-;20198:2;20212:47;;;20183:18;;20273:131;20183:18;20273:131;:::i;20421:416::-;20621:2;20635:47;;;20606:18;;20696:131;20606:18;20696:131;:::i;20844:338::-;21029:2;21014:18;;21043:129;21018:9;21145:6;21043:129;:::i;21189:222::-;21316:2;21301:18;;21330:71;21305:9;21374:6;21330:71;:::i;21418:333::-;21573:2;21558:18;;21587:71;21562:9;21631:6;21587:71;:::i;:::-;21669:72;21737:2;21726:9;21722:18;21713:6;21669:72;:::i;21758:220::-;21884:2;21869:18;;21898:70;21873:9;21941:6;21898:70;:::i;21985:256::-;22047:2;22041:9;22073:17;;;-1:-1;;;;;22133:34;;22169:22;;;22130:62;22127:2;;;22205:1;22202;22195:12;22127:2;22221;22214:22;22025:216;;-1:-1;22025:216::o;22248:304::-;;-1:-1;;;;;22399:6;22396:30;22393:2;;;22439:1;22436;22429:12;22393:2;-1:-1;22474:4;22462:17;;;22527:15;;22330:222::o;22870:167::-;23010:4;23001:14;;22958:79::o;23044:153::-;23163:12;;23134:63::o;23465:176::-;23581:19;;;23630:4;23621:14;;23574:67::o;23821:91::-;;23883:24;23901:5;23883:24;:::i;24025:85::-;24091:13;24084:21;;24067:43::o;24117:144::-;-1:-1;;;;;;24178:78;;24161:100::o;24268:138::-;24346:5;24352:49;24346:5;24352:49;:::i;24413:113::-;-1:-1;;;;;24475:46;;24458:68::o;24533:121::-;-1:-1;;;;;24595:54;;24578:76::o;24661:72::-;24723:5;24706:27::o;24740:96::-;-1:-1;;;;;24801:30;;24784:52::o;24843:138::-;;24936:40;24970:5;24936:40;:::i;24988:116::-;;25075:24;25093:5;25075:24;:::i;25111:106::-;;25189:23;25206:5;25189:23;:::i;25225:268::-;25290:1;25297:101;25311:6;25308:1;25305:13;25297:101;;;25378:11;;;25372:18;25359:11;;;25352:39;25333:2;25326:10;25297:101;;;25413:6;25410:1;25407:13;25404:2;;;-1:-1;;25478:1;25460:16;;25453:27;25274:219::o;25501:97::-;25589:2;25569:14;-1:-1;;25565:28;;25549:49::o;25606:108::-;25691:2;25684:5;25681:13;25671:2;;25698:9;25721:117;25790:24;25808:5;25790:24;:::i;:::-;25783:5;25780:35;25770:2;;25829:1;25826;25819:12;25985:111;26051:21;26066:5;26051:21;:::i;26103:115::-;26171:23;26188:5;26171:23;:::i;26225:111::-;26310:2;26303:5;26300:13;26290:2;;26327:1;26324;26317:12;26343:117;26412:24;26430:5;26412:24;:::i;26467:115::-;26535:23;26552:5;26535:23;:::i", "linkReferences": {}, "immutableReferences": { "57496": [ { "start": 2101, "length": 32 } ], "57498": [ { "start": 2445, "length": 32 } ], "57500": [ { "start": 2373, "length": 32 } ], "59893": [ { "start": 1223, "length": 32 }, { "start": 1676, "length": 32 }, { "start": 2409, "length": 32 } ], "60282": [ { "start": 1629, "length": 32 } ], "60284": [ { "start": 2192, "length": 32 } ], "60286": [ { "start": 1552, "length": 32 } ], "60288": [ { "start": 1593, "length": 32 } ] } }, "methodIdentifiers": { "activateForFund(address)": "ceb9a0ad", "addFundSettings(address,bytes)": "0f5f6b4f", "assetIsBypassableForFund(address,address)": "85d63ec9", "canDisable()": "1ef92578", "getAddressListRegistry()": "74708934", "getAssetBypassWindowStartForFund(address,address)": "5da4cdb2", "getBypassableAdaptersListId()": "e09da681", "getPolicyInfoForFund(address)": "5bbb869c", "getPolicyManager()": "d44ad6cb", "getPricelessAssetBypassTimeLimit()": "7fe29268", "getPricelessAssetBypassTimelock()": "44105398", "getPricelessAssetBypassValueInterpreter()": "14f8e615", "getPricelessAssetBypassWethToken()": "234dfb17", "getTolerancePeriodDuration()": "cf09a092", "identifier()": "7998a1c4", "implementedHooks()": "cbf54bb2", "startAssetBypassTimelock(address)": "07d2890e", "updateFundSettings(address,bytes)": "0d4d7510", "validateRule(address,uint8,bytes)": "579be718" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_policyManager\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_addressListRegistry\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_valueInterpreter\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_wethToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_bypassableAdaptersListId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_tolerancePeriodDuration\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_pricelessAssetBypassTimelock\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_pricelessAssetBypassTimeLimit\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"nextCumulativeSlippage\",\"type\":\"uint256\"}],\"name\":\"CumulativeSlippageUpdatedForFund\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"tolerance\",\"type\":\"uint256\"}],\"name\":\"FundSettingsSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"asset\",\"type\":\"address\"}],\"name\":\"PricelessAssetBypassed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"asset\",\"type\":\"address\"}],\"name\":\"PricelessAssetTimelockStarted\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"activateForFund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_encodedSettings\",\"type\":\"bytes\"}],\"name\":\"addFundSettings\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"}],\"name\":\"assetIsBypassableForFund\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isBypassable_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"canDisable\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"canDisable_\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAddressListRegistry\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"addressListRegistry_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"}],\"name\":\"getAssetBypassWindowStartForFund\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"windowStart_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBypassableAdaptersListId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"bypassableAdaptersListId_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"}],\"name\":\"getPolicyInfoForFund\",\"outputs\":[{\"components\":[{\"internalType\":\"uint64\",\"name\":\"tolerance\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"cumulativeSlippage\",\"type\":\"uint64\"},{\"internalType\":\"uint128\",\"name\":\"lastSlippageTimestamp\",\"type\":\"uint128\"}],\"internalType\":\"struct CumulativeSlippageTolerancePolicy.PolicyInfo\",\"name\":\"policyInfo_\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPolicyManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"policyManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPricelessAssetBypassTimeLimit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"timeLimit_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPricelessAssetBypassTimelock\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"timelock_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPricelessAssetBypassValueInterpreter\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"valueInterpreter_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPricelessAssetBypassWethToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"wethToken_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getTolerancePeriodDuration\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"tolerancePeriodDuration_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"identifier\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"identifier_\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"implementedHooks\",\"outputs\":[{\"internalType\":\"enum IPolicyManager.PolicyHook[]\",\"name\":\"implementedHooks_\",\"type\":\"uint8[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"}],\"name\":\"startAssetBypassTimelock\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"updateFundSettings\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"enum IPolicyManager.PolicyHook\",\"name\":\"\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"_encodedArgs\",\"type\":\"bytes\"}],\"name\":\"validateRule\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isValid_\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"Slippage tolerance and accumulation values use 10^18 rather than 10^19 (the greatest 10^n uint64 value) since it is a more natural and common in rates elsewhere\",\"kind\":\"dev\",\"methods\":{\"activateForFund(address)\":{\"details\":\"Unimplemented by default, can be overridden by the policy\"},\"addFundSettings(address,bytes)\":{\"params\":{\"_comptrollerProxy\":\"The fund's ComptrollerProxy address\",\"_encodedSettings\":\"Encoded settings to apply to a fund\"}},\"assetIsBypassableForFund(address,address)\":{\"params\":{\"_asset\":\"The asset for which to check if it is bypassable\",\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\"},\"returns\":{\"isBypassable_\":\"True if the asset is bypassable\"}},\"canDisable()\":{\"details\":\"False by default, can be overridden by the policy\",\"returns\":{\"canDisable_\":\"True if the policy can be disabled\"}},\"getAddressListRegistry()\":{\"returns\":{\"addressListRegistry_\":\"The `ADDRESS_LIST_REGISTRY` variable value\"}},\"getAssetBypassWindowStartForFund(address,address)\":{\"params\":{\"_asset\":\"The asset\",\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\"},\"returns\":{\"windowStart_\":\"The timestamp\"}},\"getBypassableAdaptersListId()\":{\"returns\":{\"bypassableAdaptersListId_\":\"The `BYPASSABLE_ADAPTERS_LIST_ID` variable value\"}},\"getPolicyInfoForFund(address)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\"},\"returns\":{\"policyInfo_\":\"The PolicyInfo values\"}},\"getPolicyManager()\":{\"returns\":{\"policyManager_\":\"The `POLICY_MANAGER` variable value\"}},\"getPricelessAssetBypassTimeLimit()\":{\"returns\":{\"timeLimit_\":\"The `PRICELESS_ASSET_BYPASS_TIME_LIMIT` variable value\"}},\"getPricelessAssetBypassTimelock()\":{\"returns\":{\"timelock_\":\"The `PRICELESS_ASSET_BYPASS_TIMELOCK` variable value\"}},\"getPricelessAssetBypassValueInterpreter()\":{\"returns\":{\"valueInterpreter_\":\"The `PRICELESS_ASSET_BYPASS_VALUE_INTERPRETER` variable value\"}},\"getPricelessAssetBypassWethToken()\":{\"returns\":{\"wethToken_\":\"The `PRICELESS_ASSET_BYPASS_WETH_TOKEN` variable value\"}},\"getTolerancePeriodDuration()\":{\"returns\":{\"tolerancePeriodDuration_\":\"The `TOLERANCE_PERIOD_DURATION` variable value\"}},\"identifier()\":{\"returns\":{\"identifier_\":\"The identifier string\"}},\"implementedHooks()\":{\"returns\":{\"implementedHooks_\":\"The implemented PolicyHooks\"}},\"startAssetBypassTimelock(address)\":{\"details\":\"This function must be called via ComptrollerProxy.vaultCallOnContract(). This allows the function to be gas relay-able. It also means that the originator must be the owner.\",\"params\":{\"_asset\":\"The asset for which to start the timelock period\"}},\"updateFundSettings(address,bytes)\":{\"details\":\"Disallowed by default, can be overridden by the policy\"},\"validateRule(address,uint8,bytes)\":{\"details\":\"Requires onlyPolicyManager as it updates state using passed data\",\"params\":{\"_comptrollerProxy\":\"The fund's ComptrollerProxy address\",\"_encodedArgs\":\"Encoded args with which to validate the rule\"},\"returns\":{\"isValid_\":\"True if the rule passes\"}}},\"title\":\"CumulativeSlippageTolerancePolicy Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"activateForFund(address)\":{\"notice\":\"Validates and initializes a policy as necessary prior to fund activation\"},\"addFundSettings(address,bytes)\":{\"notice\":\"Add the initial policy settings for a fund\"},\"assetIsBypassableForFund(address,address)\":{\"notice\":\"Checks whether an asset is bypassable (if still without a valid price) for a given fund\"},\"canDisable()\":{\"notice\":\"Whether or not the policy can be disabled\"},\"getAddressListRegistry()\":{\"notice\":\"Gets the `ADDRESS_LIST_REGISTRY` variable\"},\"getAssetBypassWindowStartForFund(address,address)\":{\"notice\":\"Gets the timestamp from which an asset without a valid price can be considered to be valued at `0`\"},\"getBypassableAdaptersListId()\":{\"notice\":\"Gets the `BYPASSABLE_ADAPTERS_LIST_ID` variable\"},\"getPolicyInfoForFund(address)\":{\"notice\":\"Gets the PolicyInfo for a given fund\"},\"getPolicyManager()\":{\"notice\":\"Gets the `POLICY_MANAGER` variable value\"},\"getPricelessAssetBypassTimeLimit()\":{\"notice\":\"Gets the `PRICELESS_ASSET_BYPASS_TIME_LIMIT` variable\"},\"getPricelessAssetBypassTimelock()\":{\"notice\":\"Gets the `PRICELESS_ASSET_BYPASS_TIMELOCK` variable\"},\"getPricelessAssetBypassValueInterpreter()\":{\"notice\":\"Gets the `PRICELESS_ASSET_BYPASS_VALUE_INTERPRETER` variable\"},\"getPricelessAssetBypassWethToken()\":{\"notice\":\"Gets the `PRICELESS_ASSET_BYPASS_WETH_TOKEN` variable\"},\"getTolerancePeriodDuration()\":{\"notice\":\"Gets the `TOLERANCE_PERIOD_DURATION` variable\"},\"identifier()\":{\"notice\":\"Provides a constant string identifier for a policy\"},\"implementedHooks()\":{\"notice\":\"Gets the implemented PolicyHooks for a policy\"},\"startAssetBypassTimelock(address)\":{\"notice\":\"Starts the timelock period for an asset without a valid price\"},\"updateFundSettings(address,bytes)\":{\"notice\":\"Updates the policy settings for a fund\"},\"validateRule(address,uint8,bytes)\":{\"notice\":\"Apply the rule with the specified parameters of a PolicyHook\"}},\"notice\":\"A policy that limits cumulative slippage (i.e., value loss) via adapter actions\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/policy-manager/policies/asset-managers/CumulativeSlippageTolerancePolicy.sol\":\"CumulativeSlippageTolerancePolicy\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/address-list-registry/AddressListRegistry.sol\":{\"keccak256\":\"0xf00a9e376e3ec2a223f463f71c15ee3af3642dd028bc3762440e316b760c8048\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://01986c9327b5dfbfac21316dced6d68727931ddde1278ed1342d878004f984b9\",\"dweb:/ipfs/QmdXkFaUU43JqMTYEREbWa129rohdqN7GXy7mVRpjCfSLD\"]},\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/persistent/protocol-fee-reserve/interfaces/IProtocolFeeReserve1.sol\":{\"keccak256\":\"0x2728878c423db523bc95189137e8c58d2d7db9f56bbd5c6b1f988c08b551fbab\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3b0df1d2eb74151265d03ab91a7c341f7beca475dd2f4d669052dbc4ee2c06ac\",\"dweb:/ipfs/QmVx1cgrxQNYfdK1Kn15pcgqf79Uw8bF3U6i7F2HG2rj6G\"]},\"contracts/persistent/vault/VaultLibBase1.sol\":{\"keccak256\":\"0xa4dac1e4cdb311a2ab187135355357d8790c505ef36dd912c057fe53743d30b5\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b66efe821016ab927c949263023260515e90f5d480dc8d94eefbfeec7bf7490b\",\"dweb:/ipfs/QmNY3xKnhL9EptAbxGvXHGAXfV9pj3dDPwsZnKrPs54ZHw\"]},\"contracts/persistent/vault/VaultLibBase2.sol\":{\"keccak256\":\"0xf7d31f2a9a47770ed3f444be2c4fe9262ddb55fef7f25e546b1f03c9afec4c09\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9353ddce7c9b8b3c13fed23fe8edec99ca610d791b0c5b204b3d01f1f08d07d2\",\"dweb:/ipfs/QmeVsEh3joCjv49BRXeHASevnZZ5xdZXpkctHT8BPf37N2\"]},\"contracts/persistent/vault/VaultLibBaseCore.sol\":{\"keccak256\":\"0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd\",\"dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz\"]},\"contracts/persistent/vault/interfaces/IExternalPositionVault.sol\":{\"keccak256\":\"0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d\",\"dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8\"]},\"contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol\":{\"keccak256\":\"0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb\",\"dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU\"]},\"contracts/persistent/vault/interfaces/IMigratableVault.sol\":{\"keccak256\":\"0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6\",\"dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs\"]},\"contracts/persistent/vault/interfaces/IVaultCore.sol\":{\"keccak256\":\"0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd\",\"dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr\"]},\"contracts/persistent/vault/utils/ProxiableVaultLib.sol\":{\"keccak256\":\"0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44\",\"dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4\"]},\"contracts/persistent/vault/utils/SharesTokenBase.sol\":{\"keccak256\":\"0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8\",\"dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4\"]},\"contracts/persistent/vault/utils/VaultLibSafeMath.sol\":{\"keccak256\":\"0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02\",\"dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG\"]},\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/core/fund/comptroller/ComptrollerLib.sol\":{\"keccak256\":\"0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579\",\"dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq\"]},\"contracts/release/core/fund/comptroller/IComptroller.sol\":{\"keccak256\":\"0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97\",\"dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L\"]},\"contracts/release/core/fund/vault/IVault.sol\":{\"keccak256\":\"0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599\",\"dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG\"]},\"contracts/release/core/fund/vault/VaultLib.sol\":{\"keccak256\":\"0x07e49445ab55c01e1b499a48baadc2a15d1eba621f1c6d3ccfdb84c87b976da8\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://56d882459248f73e137db2e097fc56b946147fb28ec21661b77431f88e856cb4\",\"dweb:/ipfs/QmRP6Ry7DCS5uoKxnnkTomHSzbaCze6cHqbR9aLdjoF6vK\"]},\"contracts/release/extensions/IExtension.sol\":{\"keccak256\":\"0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70\",\"dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t\"]},\"contracts/release/extensions/external-position-manager/IExternalPositionManager.sol\":{\"keccak256\":\"0x3af3f634e1f99fb97091b7825c0d2e2baaafc124d4e87d56cb0c17ff8554f6c6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://515470605afe5ef147f30fa75ce7818f0e00e3d321eb81a4d9bffcdefc294495\",\"dweb:/ipfs/QmPKsp99pfHoz9Tfo3ZxnkmqDqJtN9PxqacF2RmeVfxUJF\"]},\"contracts/release/extensions/fee-manager/IFeeManager.sol\":{\"keccak256\":\"0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22\",\"dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod\"]},\"contracts/release/extensions/policy-manager/IPolicy.sol\":{\"keccak256\":\"0xc12663ca72065b256c3b934ab738fde26c147c7b0399de43650df89dd52ee467\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://be8fecfcba0f3fda615f0a1bb3c766750c23761ef751d7c4472dfe540e460cd1\",\"dweb:/ipfs/QmaarPoRTsX6NiJ8V4u2f3Qh6d7tUs28bw9R14An3t5Bs1\"]},\"contracts/release/extensions/policy-manager/IPolicyManager.sol\":{\"keccak256\":\"0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa\",\"dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb\"]},\"contracts/release/extensions/policy-manager/policies/asset-managers/CumulativeSlippageTolerancePolicy.sol\":{\"keccak256\":\"0xe23d54d7d7e7f12dec26edab2ef8dbbbac8e8a38727f607835e5fb8974df6707\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://38b09cd9785e9a845d6ddcf213c962537544eeb345fd2adefa3f9953c9029fae\",\"dweb:/ipfs/QmXdZREYhFQJwN6yGX4jNLHL2BzetQNTPPQV29PK435BSM\"]},\"contracts/release/extensions/policy-manager/policies/utils/PolicyBase.sol\":{\"keccak256\":\"0x972311abb98f0da815b4aca83d5afdd219d3604ec19cf5e3773c0c305bd9b3f1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2452f3d1f3b1d8e8459a07489146a2d0d8a10463715937995cbe77ee5de8c069\",\"dweb:/ipfs/Qmf2hhd2DVbjpxmbNGAhRZNZkqpGZA2mX3eA1WNwtv6t5Y\"]},\"contracts/release/extensions/policy-manager/policies/utils/PricelessAssetBypassMixin.sol\":{\"keccak256\":\"0x5624f038f790b51ba9bd2207a6e80d188bc5d0b049807e0f06f123f6d00e3444\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://53782b55be373922df118f9970f897c1adfd4646dc4a95eec52e7c914944f68c\",\"dweb:/ipfs/QmTGPQRqzczosWALPZgAN6TKE4qdBuFwGBdCKy6GxtZBPe\"]},\"contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol\":{\"keccak256\":\"0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f\",\"dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol\":{\"keccak256\":\"0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0\",\"dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol\":{\"keccak256\":\"0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b\",\"dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3\"]},\"contracts/release/infrastructure/price-feeds/derivatives/AggregatedDerivativePriceFeedMixin.sol\":{\"keccak256\":\"0x85d2ac39834dae7feb04f0e37317a38b8abeb0f950692fbc9d29078c52cd8d52\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://7bf8f1ce064d85a2812a944fc93068955b233924097f7f45898be3db826579d5\",\"dweb:/ipfs/Qme7f6AhxLVn32prM8fHaCvxtVi86A9KqFMqPA1s88kVYR\"]},\"contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol\":{\"keccak256\":\"0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e\",\"dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK\"]},\"contracts/release/infrastructure/price-feeds/primitives/ChainlinkPriceFeedMixin.sol\":{\"keccak256\":\"0x7fb0078e7387f07ff09958fe4e4e7b317e72c23884f61e8c133776cad522f8bb\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://e973f29ed0c3bf03e20154ab4b0cfc68c3a4372a52ec746f9d9f86697b30e977\",\"dweb:/ipfs/QmfMb7H1zNnj2hzmUr6742HmCTiNVuQ2PFjeR8q2M4Liyu\"]},\"contracts/release/infrastructure/protocol-fees/IProtocolFeeTracker.sol\":{\"keccak256\":\"0x232b347f83457439064add7369bfe1930c7cb56f15930bb87d640e909c15e447\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://24f9af5eebdd373b1d7a598c096eb6def31b2640d54416d7d5a7226e1cef17e6\",\"dweb:/ipfs/QmStq9ByGuSYdKwTmZf52L1X6sZVJUfXTnoVbnjLLiUcHG\"]},\"contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol\":{\"keccak256\":\"0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965\",\"dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ\"]},\"contracts/release/infrastructure/value-interpreter/ValueInterpreter.sol\":{\"keccak256\":\"0x64565011785d0d29a75021cda34687cfbc0641094d6f2faf4d9c78c8cd9f0d1d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://03ea9b29a332436d18ca1a4df7e5cdf231d5142dfb916a39cb3a721342d54e0e\",\"dweb:/ipfs/QmcB8Z7A7QELAxg2FfJpD26k2bUhMNUT4wACMVKxuge3QS\"]},\"contracts/release/interfaces/IChainlinkAggregator.sol\":{\"keccak256\":\"0x8104db68d4edc00c86b29b366f4397cdbe7bd95bb9dc90f54140af4bae963788\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://4664240be22fe76bd4e84d1cbaace3998dbc96759a14345819a889f0c288d22e\",\"dweb:/ipfs/QmQ8fbA4tvXeCeaAFeS2JrLEQUPFeYrePAKoUywRtcicgA\"]},\"contracts/release/interfaces/IGsnForwarder.sol\":{\"keccak256\":\"0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29\",\"dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G\"]},\"contracts/release/interfaces/IGsnPaymaster.sol\":{\"keccak256\":\"0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4\",\"dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF\"]},\"contracts/release/interfaces/IGsnTypes.sol\":{\"keccak256\":\"0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7\",\"dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C\"]},\"contracts/release/interfaces/IWETH.sol\":{\"keccak256\":\"0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2\",\"dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/FundDeployerOwnerMixin.sol\":{\"keccak256\":\"0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927\",\"dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM\"]},\"contracts/release/utils/MathHelpers.sol\":{\"keccak256\":\"0x8aef498ae98bfb40cd1df8c9ed652b4c092fbbe62d5a1fad522c53654523248e\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ed62789f6a8d5ca30a40c591f244b915e4711493a9e4b1b4d40ea2bc97b02a95\",\"dweb:/ipfs/QmWyXJ55arURtx9VMkUQokdsjk8tbgM2cC8rENFUMyz5D3\"]},\"contracts/release/utils/beacon-proxy/IBeacon.sol\":{\"keccak256\":\"0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39\",\"dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V\"]},\"contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol\":{\"keccak256\":\"0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be\",\"dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20Burnable.sol\":{\"keccak256\":\"0x9c0eb3b0e11d2480d49991dc384f1e5f9c9b9967cc81944d50916a9b9c6c4984\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99e4033d778624992e86f0b6d801a4f6d7b5c0cd5c79c1296be90a051ad5f5af\",\"dweb:/ipfs/QmShYmkUqh6pDEeoWadZ24icmCr4C2Xys1uE5boivPmbwf\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_policyManager", "type": "address" }, { "internalType": "address", "name": "_addressListRegistry", "type": "address" }, { "internalType": "address", "name": "_valueInterpreter", "type": "address" }, { "internalType": "address", "name": "_wethToken", "type": "address" }, { "internalType": "uint256", "name": "_bypassableAdaptersListId", "type": "uint256" }, { "internalType": "uint256", "name": "_tolerancePeriodDuration", "type": "uint256" }, { "internalType": "uint256", "name": "_pricelessAssetBypassTimelock", "type": "uint256" }, { "internalType": "uint256", "name": "_pricelessAssetBypassTimeLimit", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "comptrollerProxy", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "nextCumulativeSlippage", "type": "uint256", "indexed": false } ], "type": "event", "name": "CumulativeSlippageUpdatedForFund", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "comptrollerProxy", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "tolerance", "type": "uint256", "indexed": false } ], "type": "event", "name": "FundSettingsSet", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "comptrollerProxy", "type": "address", "indexed": true }, { "internalType": "address", "name": "asset", "type": "address", "indexed": true } ], "type": "event", "name": "PricelessAssetBypassed", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "comptrollerProxy", "type": "address", "indexed": true }, { "internalType": "address", "name": "asset", "type": "address", "indexed": true } ], "type": "event", "name": "PricelessAssetTimelockStarted", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "activateForFund" }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" }, { "internalType": "bytes", "name": "_encodedSettings", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "addFundSettings" }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" }, { "internalType": "address", "name": "_asset", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "assetIsBypassableForFund", "outputs": [ { "internalType": "bool", "name": "isBypassable_", "type": "bool" } ] }, { "inputs": [], "stateMutability": "pure", "type": "function", "name": "canDisable", "outputs": [ { "internalType": "bool", "name": "canDisable_", "type": "bool" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getAddressListRegistry", "outputs": [ { "internalType": "address", "name": "addressListRegistry_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" }, { "internalType": "address", "name": "_asset", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getAssetBypassWindowStartForFund", "outputs": [ { "internalType": "uint256", "name": "windowStart_", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getBypassableAdaptersListId", "outputs": [ { "internalType": "uint256", "name": "bypassableAdaptersListId_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getPolicyInfoForFund", "outputs": [ { "internalType": "struct CumulativeSlippageTolerancePolicy.PolicyInfo", "name": "policyInfo_", "type": "tuple", "components": [ { "internalType": "uint64", "name": "tolerance", "type": "uint64" }, { "internalType": "uint64", "name": "cumulativeSlippage", "type": "uint64" }, { "internalType": "uint128", "name": "lastSlippageTimestamp", "type": "uint128" } ] } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getPolicyManager", "outputs": [ { "internalType": "address", "name": "policyManager_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getPricelessAssetBypassTimeLimit", "outputs": [ { "internalType": "uint256", "name": "timeLimit_", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getPricelessAssetBypassTimelock", "outputs": [ { "internalType": "uint256", "name": "timelock_", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getPricelessAssetBypassValueInterpreter", "outputs": [ { "internalType": "address", "name": "valueInterpreter_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getPricelessAssetBypassWethToken", "outputs": [ { "internalType": "address", "name": "wethToken_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getTolerancePeriodDuration", "outputs": [ { "internalType": "uint256", "name": "tolerancePeriodDuration_", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "pure", "type": "function", "name": "identifier", "outputs": [ { "internalType": "string", "name": "identifier_", "type": "string" } ] }, { "inputs": [], "stateMutability": "pure", "type": "function", "name": "implementedHooks", "outputs": [ { "internalType": "enum IPolicyManager.PolicyHook[]", "name": "implementedHooks_", "type": "uint8[]" } ] }, { "inputs": [ { "internalType": "address", "name": "_asset", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "startAssetBypassTimelock" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "updateFundSettings" }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" }, { "internalType": "enum IPolicyManager.PolicyHook", "name": "", "type": "uint8" }, { "internalType": "bytes", "name": "_encodedArgs", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "validateRule", "outputs": [ { "internalType": "bool", "name": "isValid_", "type": "bool" } ] } ], "devdoc": { "kind": "dev", "methods": { "activateForFund(address)": { "details": "Unimplemented by default, can be overridden by the policy" }, "addFundSettings(address,bytes)": { "params": { "_comptrollerProxy": "The fund's ComptrollerProxy address", "_encodedSettings": "Encoded settings to apply to a fund" } }, "assetIsBypassableForFund(address,address)": { "params": { "_asset": "The asset for which to check if it is bypassable", "_comptrollerProxy": "The ComptrollerProxy of the fund" }, "returns": { "isBypassable_": "True if the asset is bypassable" } }, "canDisable()": { "details": "False by default, can be overridden by the policy", "returns": { "canDisable_": "True if the policy can be disabled" } }, "getAddressListRegistry()": { "returns": { "addressListRegistry_": "The `ADDRESS_LIST_REGISTRY` variable value" } }, "getAssetBypassWindowStartForFund(address,address)": { "params": { "_asset": "The asset", "_comptrollerProxy": "The ComptrollerProxy of the fund" }, "returns": { "windowStart_": "The timestamp" } }, "getBypassableAdaptersListId()": { "returns": { "bypassableAdaptersListId_": "The `BYPASSABLE_ADAPTERS_LIST_ID` variable value" } }, "getPolicyInfoForFund(address)": { "params": { "_comptrollerProxy": "The ComptrollerProxy of the fund" }, "returns": { "policyInfo_": "The PolicyInfo values" } }, "getPolicyManager()": { "returns": { "policyManager_": "The `POLICY_MANAGER` variable value" } }, "getPricelessAssetBypassTimeLimit()": { "returns": { "timeLimit_": "The `PRICELESS_ASSET_BYPASS_TIME_LIMIT` variable value" } }, "getPricelessAssetBypassTimelock()": { "returns": { "timelock_": "The `PRICELESS_ASSET_BYPASS_TIMELOCK` variable value" } }, "getPricelessAssetBypassValueInterpreter()": { "returns": { "valueInterpreter_": "The `PRICELESS_ASSET_BYPASS_VALUE_INTERPRETER` variable value" } }, "getPricelessAssetBypassWethToken()": { "returns": { "wethToken_": "The `PRICELESS_ASSET_BYPASS_WETH_TOKEN` variable value" } }, "getTolerancePeriodDuration()": { "returns": { "tolerancePeriodDuration_": "The `TOLERANCE_PERIOD_DURATION` variable value" } }, "identifier()": { "returns": { "identifier_": "The identifier string" } }, "implementedHooks()": { "returns": { "implementedHooks_": "The implemented PolicyHooks" } }, "startAssetBypassTimelock(address)": { "details": "This function must be called via ComptrollerProxy.vaultCallOnContract(). This allows the function to be gas relay-able. It also means that the originator must be the owner.", "params": { "_asset": "The asset for which to start the timelock period" } }, "updateFundSettings(address,bytes)": { "details": "Disallowed by default, can be overridden by the policy" }, "validateRule(address,uint8,bytes)": { "details": "Requires onlyPolicyManager as it updates state using passed data", "params": { "_comptrollerProxy": "The fund's ComptrollerProxy address", "_encodedArgs": "Encoded args with which to validate the rule" }, "returns": { "isValid_": "True if the rule passes" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "activateForFund(address)": { "notice": "Validates and initializes a policy as necessary prior to fund activation" }, "addFundSettings(address,bytes)": { "notice": "Add the initial policy settings for a fund" }, "assetIsBypassableForFund(address,address)": { "notice": "Checks whether an asset is bypassable (if still without a valid price) for a given fund" }, "canDisable()": { "notice": "Whether or not the policy can be disabled" }, "getAddressListRegistry()": { "notice": "Gets the `ADDRESS_LIST_REGISTRY` variable" }, "getAssetBypassWindowStartForFund(address,address)": { "notice": "Gets the timestamp from which an asset without a valid price can be considered to be valued at `0`" }, "getBypassableAdaptersListId()": { "notice": "Gets the `BYPASSABLE_ADAPTERS_LIST_ID` variable" }, "getPolicyInfoForFund(address)": { "notice": "Gets the PolicyInfo for a given fund" }, "getPolicyManager()": { "notice": "Gets the `POLICY_MANAGER` variable value" }, "getPricelessAssetBypassTimeLimit()": { "notice": "Gets the `PRICELESS_ASSET_BYPASS_TIME_LIMIT` variable" }, "getPricelessAssetBypassTimelock()": { "notice": "Gets the `PRICELESS_ASSET_BYPASS_TIMELOCK` variable" }, "getPricelessAssetBypassValueInterpreter()": { "notice": "Gets the `PRICELESS_ASSET_BYPASS_VALUE_INTERPRETER` variable" }, "getPricelessAssetBypassWethToken()": { "notice": "Gets the `PRICELESS_ASSET_BYPASS_WETH_TOKEN` variable" }, "getTolerancePeriodDuration()": { "notice": "Gets the `TOLERANCE_PERIOD_DURATION` variable" }, "identifier()": { "notice": "Provides a constant string identifier for a policy" }, "implementedHooks()": { "notice": "Gets the implemented PolicyHooks for a policy" }, "startAssetBypassTimelock(address)": { "notice": "Starts the timelock period for an asset without a valid price" }, "updateFundSettings(address,bytes)": { "notice": "Updates the policy settings for a fund" }, "validateRule(address,uint8,bytes)": { "notice": "Apply the rule with the specified parameters of a PolicyHook" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/policy-manager/policies/asset-managers/CumulativeSlippageTolerancePolicy.sol": "CumulativeSlippageTolerancePolicy" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/address-list-registry/AddressListRegistry.sol": { "keccak256": "0xf00a9e376e3ec2a223f463f71c15ee3af3642dd028bc3762440e316b760c8048", "urls": [ "bzz-raw://01986c9327b5dfbfac21316dced6d68727931ddde1278ed1342d878004f984b9", "dweb:/ipfs/QmdXkFaUU43JqMTYEREbWa129rohdqN7GXy7mVRpjCfSLD" ], "license": "GPL-3.0" }, "contracts/persistent/dispatcher/IDispatcher.sol": { "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", "urls": [ "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" ], "license": "GPL-3.0" }, "contracts/persistent/external-positions/IExternalPosition.sol": { "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", "urls": [ "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" ], "license": "GPL-3.0" }, "contracts/persistent/protocol-fee-reserve/interfaces/IProtocolFeeReserve1.sol": { "keccak256": "0x2728878c423db523bc95189137e8c58d2d7db9f56bbd5c6b1f988c08b551fbab", "urls": [ "bzz-raw://3b0df1d2eb74151265d03ab91a7c341f7beca475dd2f4d669052dbc4ee2c06ac", "dweb:/ipfs/QmVx1cgrxQNYfdK1Kn15pcgqf79Uw8bF3U6i7F2HG2rj6G" ], "license": "GPL-3.0" }, "contracts/persistent/vault/VaultLibBase1.sol": { "keccak256": "0xa4dac1e4cdb311a2ab187135355357d8790c505ef36dd912c057fe53743d30b5", "urls": [ "bzz-raw://b66efe821016ab927c949263023260515e90f5d480dc8d94eefbfeec7bf7490b", "dweb:/ipfs/QmNY3xKnhL9EptAbxGvXHGAXfV9pj3dDPwsZnKrPs54ZHw" ], "license": "GPL-3.0" }, "contracts/persistent/vault/VaultLibBase2.sol": { "keccak256": "0xf7d31f2a9a47770ed3f444be2c4fe9262ddb55fef7f25e546b1f03c9afec4c09", "urls": [ "bzz-raw://9353ddce7c9b8b3c13fed23fe8edec99ca610d791b0c5b204b3d01f1f08d07d2", "dweb:/ipfs/QmeVsEh3joCjv49BRXeHASevnZZ5xdZXpkctHT8BPf37N2" ], "license": "GPL-3.0" }, "contracts/persistent/vault/VaultLibBaseCore.sol": { "keccak256": "0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074", "urls": [ "bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd", "dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IExternalPositionVault.sol": { "keccak256": "0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6", "urls": [ "bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d", "dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol": { "keccak256": "0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0", "urls": [ "bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb", "dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IMigratableVault.sol": { "keccak256": "0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238", "urls": [ "bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6", "dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IVaultCore.sol": { "keccak256": "0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80", "urls": [ "bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd", "dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr" ], "license": "GPL-3.0" }, "contracts/persistent/vault/utils/ProxiableVaultLib.sol": { "keccak256": "0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76", "urls": [ "bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44", "dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4" ], "license": "GPL-3.0" }, "contracts/persistent/vault/utils/SharesTokenBase.sol": { "keccak256": "0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113", "urls": [ "bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8", "dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4" ], "license": "GPL-3.0" }, "contracts/persistent/vault/utils/VaultLibSafeMath.sol": { "keccak256": "0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d", "urls": [ "bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02", "dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG" ], "license": "GPL-3.0" }, "contracts/release/core/fund-deployer/IFundDeployer.sol": { "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", "urls": [ "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" ], "license": "GPL-3.0" }, "contracts/release/core/fund/comptroller/ComptrollerLib.sol": { "keccak256": "0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64", "urls": [ "bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579", "dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq" ], "license": "GPL-3.0" }, "contracts/release/core/fund/comptroller/IComptroller.sol": { "keccak256": "0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f", "urls": [ "bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97", "dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L" ], "license": "GPL-3.0" }, "contracts/release/core/fund/vault/IVault.sol": { "keccak256": "0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd", "urls": [ "bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599", "dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG" ], "license": "GPL-3.0" }, "contracts/release/core/fund/vault/VaultLib.sol": { "keccak256": "0x07e49445ab55c01e1b499a48baadc2a15d1eba621f1c6d3ccfdb84c87b976da8", "urls": [ "bzz-raw://56d882459248f73e137db2e097fc56b946147fb28ec21661b77431f88e856cb4", "dweb:/ipfs/QmRP6Ry7DCS5uoKxnnkTomHSzbaCze6cHqbR9aLdjoF6vK" ], "license": "GPL-3.0" }, "contracts/release/extensions/IExtension.sol": { "keccak256": "0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b", "urls": [ "bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70", "dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/IExternalPositionManager.sol": { "keccak256": "0x3af3f634e1f99fb97091b7825c0d2e2baaafc124d4e87d56cb0c17ff8554f6c6", "urls": [ "bzz-raw://515470605afe5ef147f30fa75ce7818f0e00e3d321eb81a4d9bffcdefc294495", "dweb:/ipfs/QmPKsp99pfHoz9Tfo3ZxnkmqDqJtN9PxqacF2RmeVfxUJF" ], "license": "GPL-3.0" }, "contracts/release/extensions/fee-manager/IFeeManager.sol": { "keccak256": "0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51", "urls": [ "bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22", "dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod" ], "license": "GPL-3.0" }, "contracts/release/extensions/policy-manager/IPolicy.sol": { "keccak256": "0xc12663ca72065b256c3b934ab738fde26c147c7b0399de43650df89dd52ee467", "urls": [ "bzz-raw://be8fecfcba0f3fda615f0a1bb3c766750c23761ef751d7c4472dfe540e460cd1", "dweb:/ipfs/QmaarPoRTsX6NiJ8V4u2f3Qh6d7tUs28bw9R14An3t5Bs1" ], "license": "GPL-3.0" }, "contracts/release/extensions/policy-manager/IPolicyManager.sol": { "keccak256": "0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32", "urls": [ "bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa", "dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb" ], "license": "GPL-3.0" }, "contracts/release/extensions/policy-manager/policies/asset-managers/CumulativeSlippageTolerancePolicy.sol": { "keccak256": "0xe23d54d7d7e7f12dec26edab2ef8dbbbac8e8a38727f607835e5fb8974df6707", "urls": [ "bzz-raw://38b09cd9785e9a845d6ddcf213c962537544eeb345fd2adefa3f9953c9029fae", "dweb:/ipfs/QmXdZREYhFQJwN6yGX4jNLHL2BzetQNTPPQV29PK435BSM" ], "license": "GPL-3.0" }, "contracts/release/extensions/policy-manager/policies/utils/PolicyBase.sol": { "keccak256": "0x972311abb98f0da815b4aca83d5afdd219d3604ec19cf5e3773c0c305bd9b3f1", "urls": [ "bzz-raw://2452f3d1f3b1d8e8459a07489146a2d0d8a10463715937995cbe77ee5de8c069", "dweb:/ipfs/Qmf2hhd2DVbjpxmbNGAhRZNZkqpGZA2mX3eA1WNwtv6t5Y" ], "license": "GPL-3.0" }, "contracts/release/extensions/policy-manager/policies/utils/PricelessAssetBypassMixin.sol": { "keccak256": "0x5624f038f790b51ba9bd2207a6e80d188bc5d0b049807e0f06f123f6d00e3444", "urls": [ "bzz-raw://53782b55be373922df118f9970f897c1adfd4646dc4a95eec52e7c914944f68c", "dweb:/ipfs/QmTGPQRqzczosWALPZgAN6TKE4qdBuFwGBdCKy6GxtZBPe" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol": { "keccak256": "0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609", "urls": [ "bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f", "dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol": { "keccak256": "0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01", "urls": [ "bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0", "dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol": { "keccak256": "0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196", "urls": [ "bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b", "dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/price-feeds/derivatives/AggregatedDerivativePriceFeedMixin.sol": { "keccak256": "0x85d2ac39834dae7feb04f0e37317a38b8abeb0f950692fbc9d29078c52cd8d52", "urls": [ "bzz-raw://7bf8f1ce064d85a2812a944fc93068955b233924097f7f45898be3db826579d5", "dweb:/ipfs/Qme7f6AhxLVn32prM8fHaCvxtVi86A9KqFMqPA1s88kVYR" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol": { "keccak256": "0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332", "urls": [ "bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e", "dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/price-feeds/primitives/ChainlinkPriceFeedMixin.sol": { "keccak256": "0x7fb0078e7387f07ff09958fe4e4e7b317e72c23884f61e8c133776cad522f8bb", "urls": [ "bzz-raw://e973f29ed0c3bf03e20154ab4b0cfc68c3a4372a52ec746f9d9f86697b30e977", "dweb:/ipfs/QmfMb7H1zNnj2hzmUr6742HmCTiNVuQ2PFjeR8q2M4Liyu" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/protocol-fees/IProtocolFeeTracker.sol": { "keccak256": "0x232b347f83457439064add7369bfe1930c7cb56f15930bb87d640e909c15e447", "urls": [ "bzz-raw://24f9af5eebdd373b1d7a598c096eb6def31b2640d54416d7d5a7226e1cef17e6", "dweb:/ipfs/QmStq9ByGuSYdKwTmZf52L1X6sZVJUfXTnoVbnjLLiUcHG" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol": { "keccak256": "0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794", "urls": [ "bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965", "dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/value-interpreter/ValueInterpreter.sol": { "keccak256": "0x64565011785d0d29a75021cda34687cfbc0641094d6f2faf4d9c78c8cd9f0d1d", "urls": [ "bzz-raw://03ea9b29a332436d18ca1a4df7e5cdf231d5142dfb916a39cb3a721342d54e0e", "dweb:/ipfs/QmcB8Z7A7QELAxg2FfJpD26k2bUhMNUT4wACMVKxuge3QS" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IChainlinkAggregator.sol": { "keccak256": "0x8104db68d4edc00c86b29b366f4397cdbe7bd95bb9dc90f54140af4bae963788", "urls": [ "bzz-raw://4664240be22fe76bd4e84d1cbaace3998dbc96759a14345819a889f0c288d22e", "dweb:/ipfs/QmQ8fbA4tvXeCeaAFeS2JrLEQUPFeYrePAKoUywRtcicgA" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IGsnForwarder.sol": { "keccak256": "0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030", "urls": [ "bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29", "dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IGsnPaymaster.sol": { "keccak256": "0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c", "urls": [ "bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4", "dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IGsnTypes.sol": { "keccak256": "0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714", "urls": [ "bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7", "dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IWETH.sol": { "keccak256": "0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2", "urls": [ "bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2", "dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ" ], "license": "GPL-3.0" }, "contracts/release/utils/AddressArrayLib.sol": { "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", "urls": [ "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" ], "license": "GPL-3.0" }, "contracts/release/utils/FundDeployerOwnerMixin.sol": { "keccak256": "0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934", "urls": [ "bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927", "dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM" ], "license": "GPL-3.0" }, "contracts/release/utils/MathHelpers.sol": { "keccak256": "0x8aef498ae98bfb40cd1df8c9ed652b4c092fbbe62d5a1fad522c53654523248e", "urls": [ "bzz-raw://ed62789f6a8d5ca30a40c591f244b915e4711493a9e4b1b4d40ea2bc97b02a95", "dweb:/ipfs/QmWyXJ55arURtx9VMkUQokdsjk8tbgM2cC8rENFUMyz5D3" ], "license": "GPL-3.0" }, "contracts/release/utils/beacon-proxy/IBeacon.sol": { "keccak256": "0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2", "urls": [ "bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39", "dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V" ], "license": "GPL-3.0" }, "contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol": { "keccak256": "0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc", "urls": [ "bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be", "dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20Burnable.sol": { "keccak256": "0x9c0eb3b0e11d2480d49991dc384f1e5f9c9b9967cc81944d50916a9b9c6c4984", "urls": [ "bzz-raw://99e4033d778624992e86f0b6d801a4f6d7b5c0cd5c79c1296be90a051ad5f5af", "dweb:/ipfs/QmShYmkUqh6pDEeoWadZ24icmCr4C2Xys1uE5boivPmbwf" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", "urls": [ "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Address.sol": { "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", "urls": [ "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" } }, "version": 1 }, "id": 212 } diff --git a/eth_defi/abi/enzyme/CurveExchangeActionsMixin.json b/eth_defi/abi/enzyme/CurveExchangeActionsMixin.json index 1c04845b..23df4a6d 100644 --- a/eth_defi/abi/enzyme/CurveExchangeActionsMixin.json +++ b/eth_defi/abi/enzyme/CurveExchangeActionsMixin.json @@ -1,273 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_addressProvider", - "type": "address" - }, - { - "internalType": "address", - "name": "_wethToken", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "name": "getCurveExchangeAddressProvider", - "outputs": [ - { - "internalType": "address", - "name": "curveExchangeAddressProvider_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getCurveExchangeWethToken", - "outputs": [ - { - "internalType": "address", - "name": "curveExchangeWethToken_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "getCurveExchangeAddressProvider()": "72202e8f", - "getCurveExchangeWethToken()": "fd070ae4" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_addressProvider\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_wethToken\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"getCurveExchangeAddressProvider\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"curveExchangeAddressProvider_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurveExchangeWethToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"curveExchangeWethToken_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"Inheriting contract must have a receive() function\",\"kind\":\"dev\",\"methods\":{\"getCurveExchangeAddressProvider()\":{\"returns\":{\"curveExchangeAddressProvider_\":\"The `CURVE_EXCHANGE_ADDRESS_PROVIDER` variable value\"}},\"getCurveExchangeWethToken()\":{\"returns\":{\"curveExchangeWethToken_\":\"The `CURVE_EXCHANGE_WETH_TOKEN` variable value\"}}},\"title\":\"CurveExchangeActionsMixin Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getCurveExchangeAddressProvider()\":{\"notice\":\"Gets the `CURVE_EXCHANGE_ADDRESS_PROVIDER` variable\"},\"getCurveExchangeWethToken()\":{\"notice\":\"Gets the `CURVE_EXCHANGE_WETH_TOKEN` variable\"}},\"notice\":\"Mixin contract for interacting with the Curve exchange functions\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/integration-manager/integrations/utils/actions/CurveExchangeActionsMixin.sol\":\"CurveExchangeActionsMixin\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/integration-manager/integrations/utils/actions/CurveExchangeActionsMixin.sol\":{\"keccak256\":\"0xf43db095bb077746b226e86bce46b07fffc9b2985c0cc1e48b739a7e2e8da85f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c1f7539ac8a17a0efd5e29de522b613e6442da9cf96acd30a5ffd7f25e9ae8d0\",\"dweb:/ipfs/QmR8YAVn5vEVwk8SzfjfHSWB9ytgxj3K5Sw6GoZE8gLfjV\"]},\"contracts/release/interfaces/ICurveAddressProvider.sol\":{\"keccak256\":\"0xf8da903700c623760de62b3e5d0b01997c68b8847391e23b89081128780e55e1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://735b71b448d4d5c78e98ead84bf8f8e1e94e38ff8a77c7e4f9cc944d1d73e7df\",\"dweb:/ipfs/QmXFgGFVEvQW9wpeBspcaVAXwCcxvnNJZLafTeP2HPArNQ\"]},\"contracts/release/interfaces/ICurveSwapsERC20.sol\":{\"keccak256\":\"0x384dddab88e4037aa1c3f579573f1ef250d45e2d87991e499f7727e2846a6078\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c450327ec264e76398f24d9899d4642ea2a6f3fd19dd8cdd2b8d38a5e21dff90\",\"dweb:/ipfs/QmcqipKy6frn9uCkdJU1tutvS7jMTYJUpHdhZNh3WjL1Nm\"]},\"contracts/release/interfaces/ICurveSwapsEther.sol\":{\"keccak256\":\"0x2b99e3a8ccef63721f2524eaf53ff675be0510596ef5790562a6f9efe6a4a824\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f6f8b4c1e4a639b5c5920880f6464bf291c25f0abe064bf9000171ab40ade820\",\"dweb:/ipfs/QmXJ5r6ji5NWffbHyL2Zy2CNPBxDzhJFRimfUCxA8b5n1K\"]},\"contracts/release/interfaces/IWETH.sol\":{\"keccak256\":\"0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2\",\"dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_addressProvider", - "type": "address" - }, - { - "internalType": "address", - "name": "_wethToken", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getCurveExchangeAddressProvider", - "outputs": [ - { - "internalType": "address", - "name": "curveExchangeAddressProvider_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getCurveExchangeWethToken", - "outputs": [ - { - "internalType": "address", - "name": "curveExchangeWethToken_", - "type": "address" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "getCurveExchangeAddressProvider()": { - "returns": { - "curveExchangeAddressProvider_": "The `CURVE_EXCHANGE_ADDRESS_PROVIDER` variable value" - } - }, - "getCurveExchangeWethToken()": { - "returns": { - "curveExchangeWethToken_": "The `CURVE_EXCHANGE_WETH_TOKEN` variable value" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "getCurveExchangeAddressProvider()": { - "notice": "Gets the `CURVE_EXCHANGE_ADDRESS_PROVIDER` variable" - }, - "getCurveExchangeWethToken()": { - "notice": "Gets the `CURVE_EXCHANGE_WETH_TOKEN` variable" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/integration-manager/integrations/utils/actions/CurveExchangeActionsMixin.sol": "CurveExchangeActionsMixin" - }, - "libraries": {} - }, - "sources": { - "contracts/release/extensions/integration-manager/integrations/utils/actions/CurveExchangeActionsMixin.sol": { - "keccak256": "0xf43db095bb077746b226e86bce46b07fffc9b2985c0cc1e48b739a7e2e8da85f", - "urls": [ - "bzz-raw://c1f7539ac8a17a0efd5e29de522b613e6442da9cf96acd30a5ffd7f25e9ae8d0", - "dweb:/ipfs/QmR8YAVn5vEVwk8SzfjfHSWB9ytgxj3K5Sw6GoZE8gLfjV" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/ICurveAddressProvider.sol": { - "keccak256": "0xf8da903700c623760de62b3e5d0b01997c68b8847391e23b89081128780e55e1", - "urls": [ - "bzz-raw://735b71b448d4d5c78e98ead84bf8f8e1e94e38ff8a77c7e4f9cc944d1d73e7df", - "dweb:/ipfs/QmXFgGFVEvQW9wpeBspcaVAXwCcxvnNJZLafTeP2HPArNQ" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/ICurveSwapsERC20.sol": { - "keccak256": "0x384dddab88e4037aa1c3f579573f1ef250d45e2d87991e499f7727e2846a6078", - "urls": [ - "bzz-raw://c450327ec264e76398f24d9899d4642ea2a6f3fd19dd8cdd2b8d38a5e21dff90", - "dweb:/ipfs/QmcqipKy6frn9uCkdJU1tutvS7jMTYJUpHdhZNh3WjL1Nm" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/ICurveSwapsEther.sol": { - "keccak256": "0x2b99e3a8ccef63721f2524eaf53ff675be0510596ef5790562a6f9efe6a4a824", - "urls": [ - "bzz-raw://f6f8b4c1e4a639b5c5920880f6464bf291c25f0abe064bf9000171ab40ade820", - "dweb:/ipfs/QmXJ5r6ji5NWffbHyL2Zy2CNPBxDzhJFRimfUCxA8b5n1K" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IWETH.sol": { - "keccak256": "0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2", - "urls": [ - "bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2", - "dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AssetHelpers.sol": { - "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", - "urls": [ - "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", - "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { - "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", - "urls": [ - "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", - "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Address.sol": { - "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", - "urls": [ - "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", - "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 186 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_addressProvider", "type": "address", "internalType": "address" }, { "name": "_wethToken", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "getCurveExchangeAddressProvider", "inputs": [], "outputs": [ { "name": "curveExchangeAddressProvider_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getCurveExchangeWethToken", "inputs": [], "outputs": [ { "name": "curveExchangeWethToken_", "type": "address", "internalType": "address" } ], "stateMutability": "view" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "getCurveExchangeAddressProvider()": "72202e8f", "getCurveExchangeWethToken()": "fd070ae4" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_addressProvider\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_wethToken\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"getCurveExchangeAddressProvider\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"curveExchangeAddressProvider_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurveExchangeWethToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"curveExchangeWethToken_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"Inheriting contract must have a receive() function\",\"kind\":\"dev\",\"methods\":{\"getCurveExchangeAddressProvider()\":{\"returns\":{\"curveExchangeAddressProvider_\":\"The `CURVE_EXCHANGE_ADDRESS_PROVIDER` variable value\"}},\"getCurveExchangeWethToken()\":{\"returns\":{\"curveExchangeWethToken_\":\"The `CURVE_EXCHANGE_WETH_TOKEN` variable value\"}}},\"title\":\"CurveExchangeActionsMixin Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getCurveExchangeAddressProvider()\":{\"notice\":\"Gets the `CURVE_EXCHANGE_ADDRESS_PROVIDER` variable\"},\"getCurveExchangeWethToken()\":{\"notice\":\"Gets the `CURVE_EXCHANGE_WETH_TOKEN` variable\"}},\"notice\":\"Mixin contract for interacting with the Curve exchange functions\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/integration-manager/integrations/utils/actions/CurveExchangeActionsMixin.sol\":\"CurveExchangeActionsMixin\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/integration-manager/integrations/utils/actions/CurveExchangeActionsMixin.sol\":{\"keccak256\":\"0xf43db095bb077746b226e86bce46b07fffc9b2985c0cc1e48b739a7e2e8da85f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c1f7539ac8a17a0efd5e29de522b613e6442da9cf96acd30a5ffd7f25e9ae8d0\",\"dweb:/ipfs/QmR8YAVn5vEVwk8SzfjfHSWB9ytgxj3K5Sw6GoZE8gLfjV\"]},\"contracts/release/interfaces/ICurveAddressProvider.sol\":{\"keccak256\":\"0xf8da903700c623760de62b3e5d0b01997c68b8847391e23b89081128780e55e1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://735b71b448d4d5c78e98ead84bf8f8e1e94e38ff8a77c7e4f9cc944d1d73e7df\",\"dweb:/ipfs/QmXFgGFVEvQW9wpeBspcaVAXwCcxvnNJZLafTeP2HPArNQ\"]},\"contracts/release/interfaces/ICurveSwapsERC20.sol\":{\"keccak256\":\"0x384dddab88e4037aa1c3f579573f1ef250d45e2d87991e499f7727e2846a6078\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c450327ec264e76398f24d9899d4642ea2a6f3fd19dd8cdd2b8d38a5e21dff90\",\"dweb:/ipfs/QmcqipKy6frn9uCkdJU1tutvS7jMTYJUpHdhZNh3WjL1Nm\"]},\"contracts/release/interfaces/ICurveSwapsEther.sol\":{\"keccak256\":\"0x2b99e3a8ccef63721f2524eaf53ff675be0510596ef5790562a6f9efe6a4a824\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f6f8b4c1e4a639b5c5920880f6464bf291c25f0abe064bf9000171ab40ade820\",\"dweb:/ipfs/QmXJ5r6ji5NWffbHyL2Zy2CNPBxDzhJFRimfUCxA8b5n1K\"]},\"contracts/release/interfaces/IWETH.sol\":{\"keccak256\":\"0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2\",\"dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_addressProvider", "type": "address" }, { "internalType": "address", "name": "_wethToken", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getCurveExchangeAddressProvider", "outputs": [ { "internalType": "address", "name": "curveExchangeAddressProvider_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getCurveExchangeWethToken", "outputs": [ { "internalType": "address", "name": "curveExchangeWethToken_", "type": "address" } ] } ], "devdoc": { "kind": "dev", "methods": { "getCurveExchangeAddressProvider()": { "returns": { "curveExchangeAddressProvider_": "The `CURVE_EXCHANGE_ADDRESS_PROVIDER` variable value" } }, "getCurveExchangeWethToken()": { "returns": { "curveExchangeWethToken_": "The `CURVE_EXCHANGE_WETH_TOKEN` variable value" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "getCurveExchangeAddressProvider()": { "notice": "Gets the `CURVE_EXCHANGE_ADDRESS_PROVIDER` variable" }, "getCurveExchangeWethToken()": { "notice": "Gets the `CURVE_EXCHANGE_WETH_TOKEN` variable" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/integration-manager/integrations/utils/actions/CurveExchangeActionsMixin.sol": "CurveExchangeActionsMixin" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/extensions/integration-manager/integrations/utils/actions/CurveExchangeActionsMixin.sol": { "keccak256": "0xf43db095bb077746b226e86bce46b07fffc9b2985c0cc1e48b739a7e2e8da85f", "urls": [ "bzz-raw://c1f7539ac8a17a0efd5e29de522b613e6442da9cf96acd30a5ffd7f25e9ae8d0", "dweb:/ipfs/QmR8YAVn5vEVwk8SzfjfHSWB9ytgxj3K5Sw6GoZE8gLfjV" ], "license": "GPL-3.0" }, "contracts/release/interfaces/ICurveAddressProvider.sol": { "keccak256": "0xf8da903700c623760de62b3e5d0b01997c68b8847391e23b89081128780e55e1", "urls": [ "bzz-raw://735b71b448d4d5c78e98ead84bf8f8e1e94e38ff8a77c7e4f9cc944d1d73e7df", "dweb:/ipfs/QmXFgGFVEvQW9wpeBspcaVAXwCcxvnNJZLafTeP2HPArNQ" ], "license": "GPL-3.0" }, "contracts/release/interfaces/ICurveSwapsERC20.sol": { "keccak256": "0x384dddab88e4037aa1c3f579573f1ef250d45e2d87991e499f7727e2846a6078", "urls": [ "bzz-raw://c450327ec264e76398f24d9899d4642ea2a6f3fd19dd8cdd2b8d38a5e21dff90", "dweb:/ipfs/QmcqipKy6frn9uCkdJU1tutvS7jMTYJUpHdhZNh3WjL1Nm" ], "license": "GPL-3.0" }, "contracts/release/interfaces/ICurveSwapsEther.sol": { "keccak256": "0x2b99e3a8ccef63721f2524eaf53ff675be0510596ef5790562a6f9efe6a4a824", "urls": [ "bzz-raw://f6f8b4c1e4a639b5c5920880f6464bf291c25f0abe064bf9000171ab40ade820", "dweb:/ipfs/QmXJ5r6ji5NWffbHyL2Zy2CNPBxDzhJFRimfUCxA8b5n1K" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IWETH.sol": { "keccak256": "0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2", "urls": [ "bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2", "dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ" ], "license": "GPL-3.0" }, "contracts/release/utils/AssetHelpers.sol": { "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", "urls": [ "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", "urls": [ "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Address.sol": { "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", "urls": [ "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" } }, "version": 1 }, "id": 186 } diff --git a/eth_defi/abi/enzyme/CurveExchangeAdapter.json b/eth_defi/abi/enzyme/CurveExchangeAdapter.json index eb0df6a4..2b5100cc 100644 --- a/eth_defi/abi/enzyme/CurveExchangeAdapter.json +++ b/eth_defi/abi/enzyme/CurveExchangeAdapter.json @@ -1,828 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_integrationManager", - "type": "address" - }, - { - "internalType": "address", - "name": "_addressProvider", - "type": "address" - }, - { - "internalType": "address", - "name": "_wethToken", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "name": "CLAIM_REWARDS_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "LEND_AND_STAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "LEND_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "REDEEM_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "STAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "TAKE_MULTIPLE_ORDERS_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "TAKE_ORDER_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "UNSTAKE_AND_REDEEM_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "UNSTAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getCurveExchangeAddressProvider", - "outputs": [ - { - "internalType": "address", - "name": "curveExchangeAddressProvider_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getCurveExchangeWethToken", - "outputs": [ - { - "internalType": "address", - "name": "curveExchangeWethToken_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getIntegrationManager", - "outputs": [ - { - "internalType": "address", - "name": "integrationManager_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes4", - "name": "_selector", - "type": "bytes4" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - } - ], - "name": "parseAssetsForAction", - "outputs": [ - { - "internalType": "enum IIntegrationManager.SpendAssetsHandleType", - "name": "spendAssetsHandleType_", - "type": "uint8" - }, - { - "internalType": "address[]", - "name": "spendAssets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "spendAssetAmounts_", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "incomingAssets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "minIncomingAssetAmounts_", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "takeOrder", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "stateMutability": "payable", - "type": "receive" - } - ], - "bytecode": { - "object": "0x60e060405234801561001057600080fd5b506040516114c43803806114c48339818101604052606081101561003357600080fd5b50805160208201516040909201516001600160601b0319606092831b811660805292821b831660a052901b1660c05260805160601c60a05160601c60c05160601c61140a6100ba600039806109335280610a325280610a675280610b9c5280610ca25280610d1852508061065c528061099f5250806104df52806108eb525061140a6000f3fe6080604052600436106100e15760003560e01c8063863e5ad01161007f578063c54efee511610059578063c54efee5146102c4578063e7c4569014610495578063f7d882b5146104aa578063fd070ae4146104bf576100e8565b8063863e5ad014610285578063b23228cf1461029a578063c32990a2146102af576100e8565b8063257cb1a3116100bb578063257cb1a3146102155780633ffc15911461022a57806340da225d1461023f57806372202e8f14610254576100e8565b806303e38a2b146100ed578063080456c1146101ce578063131461c014610200576100e8565b366100e857005b600080fd5b3480156100f957600080fd5b506101cc6004803603606081101561011057600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561013b57600080fd5b82018360208201111561014d57600080fd5b8035906020019184600183028401116401000000008311171561016f57600080fd5b91939092909160208101903564010000000081111561018d57600080fd5b82018360208201111561019f57600080fd5b803590602001918460018302840111640100000000831117156101c157600080fd5b5090925090506104d4565b005b3480156101da57600080fd5b506101e36105a6565b604080516001600160e01b03199092168252519081900360200190f35b34801561020c57600080fd5b506101e36105ca565b34801561022157600080fd5b506101e36105ee565b34801561023657600080fd5b506101e3610612565b34801561024b57600080fd5b506101e3610636565b34801561026057600080fd5b5061026961065a565b604080516001600160a01b039092168252519081900360200190f35b34801561029157600080fd5b506101e361067e565b3480156102a657600080fd5b506101e36106a2565b3480156102bb57600080fd5b506101e36106c6565b3480156102d057600080fd5b50610360600480360360608110156102e757600080fd5b6001600160a01b03823516916001600160e01b03196020820135169181019060608101604082013564010000000081111561032157600080fd5b82018360208201111561033357600080fd5b8035906020019184600183028401116401000000008311171561035557600080fd5b5090925090506106ea565b6040518086600281111561037057fe5b815260200180602001806020018060200180602001858103855289818151815260200191508051906020019060200280838360005b838110156103bd5781810151838201526020016103a5565b50505050905001858103845288818151815260200191508051906020019060200280838360005b838110156103fc5781810151838201526020016103e4565b50505050905001858103835287818151815260200191508051906020019060200280838360005b8381101561043b578181015183820152602001610423565b50505050905001858103825286818151815260200191508051906020019060200280838360005b8381101561047a578181015183820152602001610462565b50505050905001995050505050505050505060405180910390f35b3480156104a157600080fd5b506102696108e9565b3480156104b657600080fd5b506101e361090d565b3480156104cb57600080fd5b50610269610931565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461053b5760405162461bcd60e51b81526004018080602001828103825260328152602001806113456032913960400191505060405180910390fd5b600080600080600061058289898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061095592505050565b9450945094509450945061059a8a868686868661099b565b50505050505050505050565b7f8334eb99be0145865eba9889fca2ee920288090caefff4cc776038e20ad9259a81565b7f29fa046e79524c3c5ac4c01df692c35e217802b2b13b21121b76cf0ef02b138c81565b7f099f75155f0e997bf83a7993a71d5e7e7540bd386fe1e84643a09ce6b412521981565b7ffa7dd04da627f433da73c4355ead9c75682a67a8fc84d3f6170ef0922f402d2481565b7fb9dfbaccbe5cd2a84fdcf1d15f23ef25d23086f5afbaa99516065ed4a5bbc7a381565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f03e38a2bd7063d45c897edeafc330e71657502dd86434d3c37a489caf116af6981565b7f68e30677f607df46e87da13e15b637784cfa62374b653f35ab43d10361a2f83081565b7f0e7f692dad5b88fdee426250d6eae91207e56a2e8112b7364579bed1790e5bf481565b600060608080806001600160e01b031988166303e38a2b60e01b146107405760405162461bcd60e51b81526004018080602001828103825260278152602001806113d76027913960400191505060405180910390fd5b60008060008060006107878c8c8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061095592505050565b9398509196509450925090506001600160a01b0385166107d85760405162461bcd60e51b815260040180806020018281038252602e815260200180611317602e913960400191505060405180910390fd5b6040805160018082528183019092529060208083019080368337019050509850838960008151811061080657fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509750828860008151811061084a57fe5b602090810291909101015260408051600180825281830190925290816020016020820280368337019050509650818760008151811061088557fe5b6001600160a01b039290921660209283029190910182015260408051600180825281830190925291828101908036833701905050955080866000815181106108c957fe5b602002602001018181525050600299505050505050945094509450945094565b7f000000000000000000000000000000000000000000000000000000000000000090565b7fc29fa9dde84204c2908778afd0613d802d31cf046179b88f6d2b4a4e507ea2d581565b7f000000000000000000000000000000000000000000000000000000000000000090565b60008060008060008580602001905160a081101561097257600080fd5b508051602082015160408301516060840151608090940151929a91995097509195509350915050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663493f4f7460026040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610a0257600080fd5b505afa158015610a16573d6000803e3d6000fd5b505050506040513d6020811015610a2c57600080fd5b505190507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b039081169086161415610b9a577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316632e1a7d4d856040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015610acb57600080fd5b505af1158015610adf573d6000803e3d6000fd5b505060408051631a4c1ca360e01b81526001600160a01b038a8116600483015273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6024830152878116604483015260648201899052608482018790528b811660a483015291519185169350631a4c1ca39250879160c480830192602092919082900301818588803b158015610b6757600080fd5b505af1158015610b7b573d6000803e3d6000fd5b50505050506040513d6020811015610b9257600080fd5b50610df39050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b03161415610d4957610bdf858286610dfc565b60408051631a4c1ca360e01b81526001600160a01b038881166004830152878116602483015273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee604483015260648201879052608482018590523060a4830152915191831691631a4c1ca39160c4808201926020929091908290030181600087803b158015610c6157600080fd5b505af1158015610c75573d6000803e3d6000fd5b505050506040513d6020811015610c8b57600080fd5b505060408051630d0e30db60e41b815290513031917f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169163d0e30db0918491600480830192600092919082900301818588803b158015610cf357600080fd5b505af1158015610d07573d6000803e3d6000fd5b50610d439350506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691508a905083610eba565b50610df3565b610d54858286610dfc565b60408051631a4c1ca360e01b81526001600160a01b03888116600483015287811660248301528581166044830152606482018790526084820185905289811660a4830152915191831691631a4c1ca39160c4808201926020929091908290030181600087803b158015610dc657600080fd5b505af1158015610dda573d6000803e3d6000fd5b505050506040513d6020811015610df057600080fd5b50505b50505050505050565b60408051636eb1769f60e11b81523060048201526001600160a01b038481166024830152915160009286169163dd62ed3e916044808301926020929190829003018186803b158015610e4d57600080fd5b505afa158015610e61573d6000803e3d6000fd5b505050506040513d6020811015610e7757600080fd5b5051905081811015610eb4578015610e9e57610e9e6001600160a01b038516846000610f11565b610eb46001600160a01b03851684600019610f11565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610f0c908490611020565b505050565b801580610f97575060408051636eb1769f60e11b81523060048201526001600160a01b03848116602483015291519185169163dd62ed3e91604480820192602092909190829003018186803b158015610f6957600080fd5b505afa158015610f7d573d6000803e3d6000fd5b505050506040513d6020811015610f9357600080fd5b5051155b610fd25760405162461bcd60e51b81526004018080602001828103825260368152602001806113a16036913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052610f0c9084905b6060611075826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166110d19092919063ffffffff16565b805190915015610f0c5780806020019051602081101561109457600080fd5b5051610f0c5760405162461bcd60e51b815260040180806020018281038252602a815260200180611377602a913960400191505060405180910390fd5b60606110e084846000856110ea565b90505b9392505050565b60608247101561112b5760405162461bcd60e51b81526004018080602001828103825260268152602001806112f16026913960400191505060405180910390fd5b61113485611246565b611185576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b602083106111c45780518252601f1990920191602091820191016111a5565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114611226576040519150601f19603f3d011682016040523d82523d6000602084013e61122b565b606091505b509150915061123b82828661124c565b979650505050505050565b3b151590565b6060831561125b5750816110e3565b82511561126b5782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156112b557818101518382015260200161129d565b50505050905090810190601f1680156112e25780820380516001836020036101000a031916815260200191505b509250505060405180910390fdfe416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c7061727365417373657473466f72416374696f6e3a204e6f20706f6f6c20616464726573732070726f76696465644f6e6c792074686520496e746567726174696f6e4d616e616765722063616e2063616c6c20746869732066756e6374696f6e5361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e63657061727365417373657473466f72416374696f6e3a205f73656c6563746f7220696e76616c6964a164736f6c634300060c000a", - "sourceMap": "540:3924:167:-:0;;;618:243;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;618:243:167;;;;;;;;;;;-1:-1:-1;;;;;;618:243:167;1938:41:179;;;;;;;1160:50:186;;;;;;;1220:38;;;;;540:3924:167;;;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x6080604052600436106100e15760003560e01c8063863e5ad01161007f578063c54efee511610059578063c54efee5146102c4578063e7c4569014610495578063f7d882b5146104aa578063fd070ae4146104bf576100e8565b8063863e5ad014610285578063b23228cf1461029a578063c32990a2146102af576100e8565b8063257cb1a3116100bb578063257cb1a3146102155780633ffc15911461022a57806340da225d1461023f57806372202e8f14610254576100e8565b806303e38a2b146100ed578063080456c1146101ce578063131461c014610200576100e8565b366100e857005b600080fd5b3480156100f957600080fd5b506101cc6004803603606081101561011057600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561013b57600080fd5b82018360208201111561014d57600080fd5b8035906020019184600183028401116401000000008311171561016f57600080fd5b91939092909160208101903564010000000081111561018d57600080fd5b82018360208201111561019f57600080fd5b803590602001918460018302840111640100000000831117156101c157600080fd5b5090925090506104d4565b005b3480156101da57600080fd5b506101e36105a6565b604080516001600160e01b03199092168252519081900360200190f35b34801561020c57600080fd5b506101e36105ca565b34801561022157600080fd5b506101e36105ee565b34801561023657600080fd5b506101e3610612565b34801561024b57600080fd5b506101e3610636565b34801561026057600080fd5b5061026961065a565b604080516001600160a01b039092168252519081900360200190f35b34801561029157600080fd5b506101e361067e565b3480156102a657600080fd5b506101e36106a2565b3480156102bb57600080fd5b506101e36106c6565b3480156102d057600080fd5b50610360600480360360608110156102e757600080fd5b6001600160a01b03823516916001600160e01b03196020820135169181019060608101604082013564010000000081111561032157600080fd5b82018360208201111561033357600080fd5b8035906020019184600183028401116401000000008311171561035557600080fd5b5090925090506106ea565b6040518086600281111561037057fe5b815260200180602001806020018060200180602001858103855289818151815260200191508051906020019060200280838360005b838110156103bd5781810151838201526020016103a5565b50505050905001858103845288818151815260200191508051906020019060200280838360005b838110156103fc5781810151838201526020016103e4565b50505050905001858103835287818151815260200191508051906020019060200280838360005b8381101561043b578181015183820152602001610423565b50505050905001858103825286818151815260200191508051906020019060200280838360005b8381101561047a578181015183820152602001610462565b50505050905001995050505050505050505060405180910390f35b3480156104a157600080fd5b506102696108e9565b3480156104b657600080fd5b506101e361090d565b3480156104cb57600080fd5b50610269610931565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461053b5760405162461bcd60e51b81526004018080602001828103825260328152602001806113456032913960400191505060405180910390fd5b600080600080600061058289898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061095592505050565b9450945094509450945061059a8a868686868661099b565b50505050505050505050565b7f8334eb99be0145865eba9889fca2ee920288090caefff4cc776038e20ad9259a81565b7f29fa046e79524c3c5ac4c01df692c35e217802b2b13b21121b76cf0ef02b138c81565b7f099f75155f0e997bf83a7993a71d5e7e7540bd386fe1e84643a09ce6b412521981565b7ffa7dd04da627f433da73c4355ead9c75682a67a8fc84d3f6170ef0922f402d2481565b7fb9dfbaccbe5cd2a84fdcf1d15f23ef25d23086f5afbaa99516065ed4a5bbc7a381565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f03e38a2bd7063d45c897edeafc330e71657502dd86434d3c37a489caf116af6981565b7f68e30677f607df46e87da13e15b637784cfa62374b653f35ab43d10361a2f83081565b7f0e7f692dad5b88fdee426250d6eae91207e56a2e8112b7364579bed1790e5bf481565b600060608080806001600160e01b031988166303e38a2b60e01b146107405760405162461bcd60e51b81526004018080602001828103825260278152602001806113d76027913960400191505060405180910390fd5b60008060008060006107878c8c8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061095592505050565b9398509196509450925090506001600160a01b0385166107d85760405162461bcd60e51b815260040180806020018281038252602e815260200180611317602e913960400191505060405180910390fd5b6040805160018082528183019092529060208083019080368337019050509850838960008151811061080657fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509750828860008151811061084a57fe5b602090810291909101015260408051600180825281830190925290816020016020820280368337019050509650818760008151811061088557fe5b6001600160a01b039290921660209283029190910182015260408051600180825281830190925291828101908036833701905050955080866000815181106108c957fe5b602002602001018181525050600299505050505050945094509450945094565b7f000000000000000000000000000000000000000000000000000000000000000090565b7fc29fa9dde84204c2908778afd0613d802d31cf046179b88f6d2b4a4e507ea2d581565b7f000000000000000000000000000000000000000000000000000000000000000090565b60008060008060008580602001905160a081101561097257600080fd5b508051602082015160408301516060840151608090940151929a91995097509195509350915050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663493f4f7460026040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610a0257600080fd5b505afa158015610a16573d6000803e3d6000fd5b505050506040513d6020811015610a2c57600080fd5b505190507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b039081169086161415610b9a577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316632e1a7d4d856040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015610acb57600080fd5b505af1158015610adf573d6000803e3d6000fd5b505060408051631a4c1ca360e01b81526001600160a01b038a8116600483015273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6024830152878116604483015260648201899052608482018790528b811660a483015291519185169350631a4c1ca39250879160c480830192602092919082900301818588803b158015610b6757600080fd5b505af1158015610b7b573d6000803e3d6000fd5b50505050506040513d6020811015610b9257600080fd5b50610df39050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b03161415610d4957610bdf858286610dfc565b60408051631a4c1ca360e01b81526001600160a01b038881166004830152878116602483015273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee604483015260648201879052608482018590523060a4830152915191831691631a4c1ca39160c4808201926020929091908290030181600087803b158015610c6157600080fd5b505af1158015610c75573d6000803e3d6000fd5b505050506040513d6020811015610c8b57600080fd5b505060408051630d0e30db60e41b815290513031917f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169163d0e30db0918491600480830192600092919082900301818588803b158015610cf357600080fd5b505af1158015610d07573d6000803e3d6000fd5b50610d439350506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691508a905083610eba565b50610df3565b610d54858286610dfc565b60408051631a4c1ca360e01b81526001600160a01b03888116600483015287811660248301528581166044830152606482018790526084820185905289811660a4830152915191831691631a4c1ca39160c4808201926020929091908290030181600087803b158015610dc657600080fd5b505af1158015610dda573d6000803e3d6000fd5b505050506040513d6020811015610df057600080fd5b50505b50505050505050565b60408051636eb1769f60e11b81523060048201526001600160a01b038481166024830152915160009286169163dd62ed3e916044808301926020929190829003018186803b158015610e4d57600080fd5b505afa158015610e61573d6000803e3d6000fd5b505050506040513d6020811015610e7757600080fd5b5051905081811015610eb4578015610e9e57610e9e6001600160a01b038516846000610f11565b610eb46001600160a01b03851684600019610f11565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610f0c908490611020565b505050565b801580610f97575060408051636eb1769f60e11b81523060048201526001600160a01b03848116602483015291519185169163dd62ed3e91604480820192602092909190829003018186803b158015610f6957600080fd5b505afa158015610f7d573d6000803e3d6000fd5b505050506040513d6020811015610f9357600080fd5b5051155b610fd25760405162461bcd60e51b81526004018080602001828103825260368152602001806113a16036913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052610f0c9084905b6060611075826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166110d19092919063ffffffff16565b805190915015610f0c5780806020019051602081101561109457600080fd5b5051610f0c5760405162461bcd60e51b815260040180806020018281038252602a815260200180611377602a913960400191505060405180910390fd5b60606110e084846000856110ea565b90505b9392505050565b60608247101561112b5760405162461bcd60e51b81526004018080602001828103825260268152602001806112f16026913960400191505060405180910390fd5b61113485611246565b611185576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b602083106111c45780518252601f1990920191602091820191016111a5565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114611226576040519150601f19603f3d011682016040523d82523d6000602084013e61122b565b606091505b509150915061123b82828661124c565b979650505050505050565b3b151590565b6060831561125b5750816110e3565b82511561126b5782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156112b557818101518382015260200161129d565b50505050905090810190601f1680156112e25780820380516001836020036101000a031916815260200191505b509250505060405180910390fdfe416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c7061727365417373657473466f72416374696f6e3a204e6f20706f6f6c20616464726573732070726f76696465644f6e6c792074686520496e746567726174696f6e4d616e616765722063616e2063616c6c20746869732066756e6374696f6e5361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e63657061727365417373657473466f72416374696f6e3a205f73656c6563746f7220696e76616c6964a164736f6c634300060c000a", - "sourceMap": "540:3924:167:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1150:589;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1150:589:167;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1150:589:167;;-1:-1:-1;1150:589:167;-1:-1:-1;1150:589:167;:::i;:::-;;1490:119:180;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;1490:119:180;;;;;;;;;;;;;;1373:111;;;;;;;;;;;;;:::i;832:85::-;;;;;;;;;;;;;:::i;1034:87::-;;;;;;;;;;;;;:::i;1240:110::-;;;;;;;;;;;;;:::i;3423:186:186:-;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;3423:186:186;;;;;;;;;;;;;;706:104:180;;;;;;;;;;;;;:::i;1127:91::-;;;;;;;;;;;;;:::i;577:123::-;;;;;;;;;;;;;:::i;2480:1490:167:-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2480:1490:167;;;;-1:-1:-1;;;;;;2480:1490:167;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2480:1490:167;;-1:-1:-1;2480:1490:167;-1:-1:-1;2480:1490:167;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2637:128:179;;;;;;;;;;;;;:::i;923:89:180:-;;;;;;;;;;;;;:::i;3764:140:186:-;;;;;;;;;;;;;:::i;1150:589:167:-;1747:10:179;-1:-1:-1;;;;;1761:19:179;1747:33;;1726:130;;;;-1:-1:-1;;;1726:130:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1320:12:167::1;1346:21:::0;1381:27:::1;1422:21:::0;1457:30:::1;1500:29;1517:11;;1500:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;1500:16:167::1;::::0;-1:-1:-1;;;1500:29:167:i:1;:::-;1306:223;;;;;;;;;;1540:192;1570:11;1595:4;1613:13;1640:19;1673:13;1700:22;1540:16;:192::i;:::-;1866:1:179;;;;;1150:589:167::0;;;;;:::o;1490:119:180:-;1558:50;1490:119;:::o;1373:111::-;1437:46;1373:111;:::o;832:85::-;878:38;832:85;:::o;1034:87::-;1081:39;1034:87;:::o;1240:110::-;1303:46;1240:110;:::o;3423:186:186:-;3571:31;3423:186;:::o;706:104:180:-;766:43;706:104;:::o;1127:91::-;1176:41;1127:91;:::o;577:123::-;647:52;577:123;:::o;2480:1490:167:-;2672:64;2750:29;;;;-1:-1:-1;;;;;;2962:32:167;;-1:-1:-1;;;2962:32:167;2954:84;;;;-1:-1:-1;;;2954:84:167;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3062:12;3088:21;3123:27;3164:21;3199:30;3242:29;3259:11;;3242:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3242:16:167;;-1:-1:-1;;;3242:29:167:i;:::-;3048:223;;-1:-1:-1;3048:223:167;;-1:-1:-1;3048:223:167;-1:-1:-1;3048:223:167;-1:-1:-1;3048:223:167;-1:-1:-1;;;;;;3290:18:167;;3282:77;;;;-1:-1:-1;;;3282:77:167;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3385:16;;;3399:1;3385:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3385:16:167;3370:31;;3429:13;3411:12;3424:1;3411:15;;;;;;;;-1:-1:-1;;;;;3411:31:167;;;;:15;;;;;;;;;;:31;3473:16;;;3487:1;3473:16;;;;;;;;;;;;;;3411:15;3473:16;;;;;-1:-1:-1;3473:16:167;3452:37;;3523:19;3499:18;3518:1;3499:21;;;;;;;;;;;;;;;;;:43;3571:16;;;3585:1;3571:16;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3571:16:167;3553:34;;3618:13;3597:15;3613:1;3597:18;;;;;;;;-1:-1:-1;;;;;3597:34:167;;;;:18;;;;;;;;;;:34;3668:16;;;3682:1;3668:16;;;;;;;;;;;;;;3597:18;3668:16;;;;;-1:-1:-1;3668:16:167;3641:43;;3724:22;3694:24;3719:1;3694:27;;;;;;;;;;;;;:52;;;;;3778:50;3757:206;;;;;;;2480:1490;;;;;;;;;:::o;2637:128:179:-;2739:19;2637:128;:::o;923:89:180:-;971:40;923:89;:::o;3764:140:186:-;3872:25;3764:140;:::o;4070:392:167:-;4181:13;4208:22;4244:28;4286:22;4322:31;4396:11;4385:70;;;;;;;;;;;;;;;-1:-1:-1;4385:70:167;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4385:70:167;-1:-1:-1;4385:70:167;;-1:-1:-1;4385:70:167;-1:-1:-1;4070:392:167;-1:-1:-1;;4070:392:167:o;1312:1865:186:-;1557:13;1595:31;-1:-1:-1;;;;;1573:66:186;;1640:1;1573:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1573:69:186;;-1:-1:-1;1675:25:186;-1:-1:-1;;;;;1657:43:186;;;;;;;1653:1518;;;1722:25;-1:-1:-1;;;;;1716:41:186;;1758:20;1716:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1794:281:186;;;-1:-1:-1;;;1794:281:186;;-1:-1:-1;;;;;1794:281:186;;;;;;;915:42;1794:281;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:32;;;;-1:-1:-1;1794:32:186;;-1:-1:-1;1834:20:186;;1794:281;;;;;;;;;;;;;;1834:20;1794:32;:281;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1653:1518:186;;-1:-1:-1;1653:1518:186;;2114:25;-1:-1:-1;;;;;2096:43:186;:14;-1:-1:-1;;;;;2096:43:186;;2092:1079;;;2155:70;2181:14;2197:5;2204:20;2155:25;:70::i;:::-;2240:255;;;-1:-1:-1;;;2240:255:186;;-1:-1:-1;;;;;2240:255:186;;;;;;;;;;;;;;915:42;2240:255;;;;;;;;;;;;;;;;2476:4;2240:255;;;;;;:32;;;;;;:255;;;;;;;;;;;;;;;-1:-1:-1;2240:32:186;:255;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2643:74:186;;;-1:-1:-1;;;2643:74:186;;;;2615:4;2599:30;;2657:25;-1:-1:-1;;;;;2643:49:186;;;;2599:30;;2643:74;;;;;2574:22;;2643:74;;;;;;;2599:30;2643:49;:74;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2731:73:186;;-1:-1:-1;;;;;;;2737:25:186;2731:45;;-1:-1:-1;2777:10:186;;-1:-1:-1;2789:14:186;2731:45;:73::i;:::-;2092:1079;;;;2835:70;2861:14;2877:5;2884:20;2835:25;:70::i;:::-;2920:240;;;-1:-1:-1;;;2920:240:186;;-1:-1:-1;;;;;2920:240:186;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:32;;;;;;:240;;;;;;;;;;;;;;;-1:-1:-1;2920:32:186;:240;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2092:1079:186;1312:1865;;;;;;;:::o;2554:434:355:-;2714:47;;;-1:-1:-1;;;2714:47:355;;2746:4;2714:47;;;;-1:-1:-1;;;;;2714:47:355;;;;;;;;;2694:17;;2714:23;;;;;:47;;;;;;;;;;;;;;:23;:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2714:47:355;;-1:-1:-1;2775:25:355;;;2771:211;;;2820:13;;2816:89;;2853:37;-1:-1:-1;;;;;2853:25:355;;2879:7;2888:1;2853:25;:37::i;:::-;2918:53;-1:-1:-1;;;;;2918:25:355;;2944:7;-1:-1:-1;;2918:25:355;:53::i;:::-;2554:434;;;;:::o;704:175:450:-;813:58;;;-1:-1:-1;;;;;813:58:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;813:58:450;-1:-1:-1;;;813:58:450;;;786:86;;806:5;;786:19;:86::i;:::-;704:175;;;:::o;1348:613::-;1713:10;;;1712:62;;-1:-1:-1;1729:39:450;;;-1:-1:-1;;;1729:39:450;;1753:4;1729:39;;;;-1:-1:-1;;;;;1729:39:450;;;;;;;;;:15;;;;;;:39;;;;;;;;;;;;;;;:15;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1729:39:450;:44;1712:62;1704:150;;;;-1:-1:-1;;;1704:150:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1891:62;;;-1:-1:-1;;;;;1891:62:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1891:62:450;-1:-1:-1;;;1891:62:450;;;1864:90;;1884:5;;2967:751;3386:23;3412:69;3440:4;3412:69;;;;;;;;;;;;;;;;;3420:5;-1:-1:-1;;;;;3412:27:450;;;:69;;;;;:::i;:::-;3495:17;;3386:95;;-1:-1:-1;3495:21:450;3491:221;;3635:10;3624:30;;;;;;;;;;;;;;;-1:-1:-1;3624:30:450;3616:85;;;;-1:-1:-1;;;3616:85:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3581:193:451;3684:12;3715:52;3737:6;3745:4;3751:1;3754:12;3715:21;:52::i;:::-;3708:59;;3581:193;;;;;;:::o;4608:523::-;4735:12;4792:5;4767:21;:30;;4759:81;;;;-1:-1:-1;;;4759:81:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4858:18;4869:6;4858:10;:18::i;:::-;4850:60;;;;;-1:-1:-1;;;4850:60:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;4981:12;4995:23;5022:6;-1:-1:-1;;;;;5022:11:451;5042:5;5050:4;5022:33;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5022:33:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4980:75;;;;5072:52;5090:7;5099:10;5111:12;5072:17;:52::i;:::-;5065:59;4608:523;-1:-1:-1;;;;;;;4608:523:451:o;726:413::-;1086:20;1124:8;;;726:413::o;7091:725::-;7206:12;7234:7;7230:580;;;-1:-1:-1;7264:10:451;7257:17;;7230:580;7375:17;;:21;7371:429;;7633:10;7627:17;7693:15;7680:10;7676:2;7672:19;7665:44;7582:145;7772:12;7765:20;;-1:-1:-1;;;7765:20:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;", - "linkReferences": {}, - "immutableReferences": { - "49791": [ - { - "start": 1247, - "length": 32 - }, - { - "start": 2283, - "length": 32 - } - ], - "50461": [ - { - "start": 1628, - "length": 32 - }, - { - "start": 2463, - "length": 32 - } - ], - "50463": [ - { - "start": 2355, - "length": 32 - }, - { - "start": 2610, - "length": 32 - }, - { - "start": 2663, - "length": 32 - }, - { - "start": 2972, - "length": 32 - }, - { - "start": 3234, - "length": 32 - }, - { - "start": 3352, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "CLAIM_REWARDS_SELECTOR()": "40da225d", - "LEND_AND_STAKE_SELECTOR()": "131461c0", - "LEND_SELECTOR()": "257cb1a3", - "REDEEM_SELECTOR()": "f7d882b5", - "STAKE_SELECTOR()": "3ffc1591", - "TAKE_MULTIPLE_ORDERS_SELECTOR()": "c32990a2", - "TAKE_ORDER_SELECTOR()": "863e5ad0", - "UNSTAKE_AND_REDEEM_SELECTOR()": "080456c1", - "UNSTAKE_SELECTOR()": "b23228cf", - "getCurveExchangeAddressProvider()": "72202e8f", - "getCurveExchangeWethToken()": "fd070ae4", - "getIntegrationManager()": "e7c45690", - "parseAssetsForAction(address,bytes4,bytes)": "c54efee5", - "takeOrder(address,bytes,bytes)": "03e38a2b" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_integrationManager\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_addressProvider\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_wethToken\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"CLAIM_REWARDS_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LEND_AND_STAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LEND_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"REDEEM_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"STAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TAKE_MULTIPLE_ORDERS_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TAKE_ORDER_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UNSTAKE_AND_REDEEM_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UNSTAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurveExchangeAddressProvider\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"curveExchangeAddressProvider_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurveExchangeWethToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"curveExchangeWethToken_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getIntegrationManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"integrationManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"_selector\",\"type\":\"bytes4\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"}],\"name\":\"parseAssetsForAction\",\"outputs\":[{\"internalType\":\"enum IIntegrationManager.SpendAssetsHandleType\",\"name\":\"spendAssetsHandleType_\",\"type\":\"uint8\"},{\"internalType\":\"address[]\",\"name\":\"spendAssets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"spendAssetAmounts_\",\"type\":\"uint256[]\"},{\"internalType\":\"address[]\",\"name\":\"incomingAssets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"minIncomingAssetAmounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"takeOrder\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"getCurveExchangeAddressProvider()\":{\"returns\":{\"curveExchangeAddressProvider_\":\"The `CURVE_EXCHANGE_ADDRESS_PROVIDER` variable value\"}},\"getCurveExchangeWethToken()\":{\"returns\":{\"curveExchangeWethToken_\":\"The `CURVE_EXCHANGE_WETH_TOKEN` variable value\"}},\"getIntegrationManager()\":{\"returns\":{\"integrationManager_\":\"The `INTEGRATION_MANAGER` variable value\"}},\"parseAssetsForAction(address,bytes4,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_selector\":\"The function selector for the callOnIntegration\"},\"returns\":{\"incomingAssets_\":\"The assets to receive in the call\",\"minIncomingAssetAmounts_\":\"The min asset amounts to receive in the call\",\"spendAssetAmounts_\":\"The max asset amounts to spend in the call\",\"spendAssetsHandleType_\":\"A type that dictates how to handle granting the adapter access to spend assets (`None` by default)\",\"spendAssets_\":\"The assets to spend in the call\"}},\"takeOrder(address,bytes,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}}},\"title\":\"CurveExchangeAdapter Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getCurveExchangeAddressProvider()\":{\"notice\":\"Gets the `CURVE_EXCHANGE_ADDRESS_PROVIDER` variable\"},\"getCurveExchangeWethToken()\":{\"notice\":\"Gets the `CURVE_EXCHANGE_WETH_TOKEN` variable\"},\"getIntegrationManager()\":{\"notice\":\"Gets the `INTEGRATION_MANAGER` variable\"},\"parseAssetsForAction(address,bytes4,bytes)\":{\"notice\":\"Parses the expected assets in a particular action\"},\"takeOrder(address,bytes,bytes)\":{\"notice\":\"Trades assets on Curve\"}},\"notice\":\"Adapter for swapping assets on Curve \",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/integration-manager/integrations/adapters/CurveExchangeAdapter.sol\":\"CurveExchangeAdapter\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/integration-manager/IIntegrationManager.sol\":{\"keccak256\":\"0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23\",\"dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk\"]},\"contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol\":{\"keccak256\":\"0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336\",\"dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS\"]},\"contracts/release/extensions/integration-manager/integrations/adapters/CurveExchangeAdapter.sol\":{\"keccak256\":\"0xb76759278a80025f3f480d7cf891c87efeeda0c39950206ce9d6f886ef634f3f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c1ba2ce3198bef5533d4975eadf606f0c1c8148d8c04d621897a9224c7e500e3\",\"dweb:/ipfs/QmQp2RPBRzKZqdq2wBGpQCqcvwEHMr4vVqh3iTzHSbYGHM\"]},\"contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol\":{\"keccak256\":\"0x067e49bf0d3c1655ab41a413c65ccf61d4e593308132e1ffc484a0fadfbbaf26\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://387f425017e18e89cc1893521101fa99df595314847d0b3d9a1162369f714fcf\",\"dweb:/ipfs/Qmco3jCvuWAyfCpBYpGzHrQjiFJG63w1RJKcakoTEbxRQm\"]},\"contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol\":{\"keccak256\":\"0xfd34c7ca8231c6935e25dede32ca2b3121738e624d0fc896f7b895a731edcf88\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d492c061963d36d07718446db191d4c5a340c0d847f6cd209f027bd99f7cb176\",\"dweb:/ipfs/QmfCvRZt56ftDdrEh6LepHXFJ4fVtcfpQGvEyY8k4zxG1A\"]},\"contracts/release/extensions/integration-manager/integrations/utils/actions/CurveExchangeActionsMixin.sol\":{\"keccak256\":\"0xf43db095bb077746b226e86bce46b07fffc9b2985c0cc1e48b739a7e2e8da85f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c1f7539ac8a17a0efd5e29de522b613e6442da9cf96acd30a5ffd7f25e9ae8d0\",\"dweb:/ipfs/QmR8YAVn5vEVwk8SzfjfHSWB9ytgxj3K5Sw6GoZE8gLfjV\"]},\"contracts/release/interfaces/ICurveAddressProvider.sol\":{\"keccak256\":\"0xf8da903700c623760de62b3e5d0b01997c68b8847391e23b89081128780e55e1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://735b71b448d4d5c78e98ead84bf8f8e1e94e38ff8a77c7e4f9cc944d1d73e7df\",\"dweb:/ipfs/QmXFgGFVEvQW9wpeBspcaVAXwCcxvnNJZLafTeP2HPArNQ\"]},\"contracts/release/interfaces/ICurveSwapsERC20.sol\":{\"keccak256\":\"0x384dddab88e4037aa1c3f579573f1ef250d45e2d87991e499f7727e2846a6078\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c450327ec264e76398f24d9899d4642ea2a6f3fd19dd8cdd2b8d38a5e21dff90\",\"dweb:/ipfs/QmcqipKy6frn9uCkdJU1tutvS7jMTYJUpHdhZNh3WjL1Nm\"]},\"contracts/release/interfaces/ICurveSwapsEther.sol\":{\"keccak256\":\"0x2b99e3a8ccef63721f2524eaf53ff675be0510596ef5790562a6f9efe6a4a824\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f6f8b4c1e4a639b5c5920880f6464bf291c25f0abe064bf9000171ab40ade820\",\"dweb:/ipfs/QmXJ5r6ji5NWffbHyL2Zy2CNPBxDzhJFRimfUCxA8b5n1K\"]},\"contracts/release/interfaces/IWETH.sol\":{\"keccak256\":\"0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2\",\"dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_integrationManager", - "type": "address" - }, - { - "internalType": "address", - "name": "_addressProvider", - "type": "address" - }, - { - "internalType": "address", - "name": "_wethToken", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "CLAIM_REWARDS_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "LEND_AND_STAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "LEND_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "REDEEM_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "STAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "TAKE_MULTIPLE_ORDERS_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "TAKE_ORDER_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "UNSTAKE_AND_REDEEM_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "UNSTAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getCurveExchangeAddressProvider", - "outputs": [ - { - "internalType": "address", - "name": "curveExchangeAddressProvider_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getCurveExchangeWethToken", - "outputs": [ - { - "internalType": "address", - "name": "curveExchangeWethToken_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getIntegrationManager", - "outputs": [ - { - "internalType": "address", - "name": "integrationManager_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes4", - "name": "_selector", - "type": "bytes4" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - } - ], - "stateMutability": "view", - "type": "function", - "name": "parseAssetsForAction", - "outputs": [ - { - "internalType": "enum IIntegrationManager.SpendAssetsHandleType", - "name": "spendAssetsHandleType_", - "type": "uint8" - }, - { - "internalType": "address[]", - "name": "spendAssets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "spendAssetAmounts_", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "incomingAssets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "minIncomingAssetAmounts_", - "type": "uint256[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "takeOrder" - }, - { - "inputs": [], - "stateMutability": "payable", - "type": "receive" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "getCurveExchangeAddressProvider()": { - "returns": { - "curveExchangeAddressProvider_": "The `CURVE_EXCHANGE_ADDRESS_PROVIDER` variable value" - } - }, - "getCurveExchangeWethToken()": { - "returns": { - "curveExchangeWethToken_": "The `CURVE_EXCHANGE_WETH_TOKEN` variable value" - } - }, - "getIntegrationManager()": { - "returns": { - "integrationManager_": "The `INTEGRATION_MANAGER` variable value" - } - }, - "parseAssetsForAction(address,bytes4,bytes)": { - "params": { - "_actionData": "Data specific to this action", - "_selector": "The function selector for the callOnIntegration" - }, - "returns": { - "incomingAssets_": "The assets to receive in the call", - "minIncomingAssetAmounts_": "The min asset amounts to receive in the call", - "spendAssetAmounts_": "The max asset amounts to spend in the call", - "spendAssetsHandleType_": "A type that dictates how to handle granting the adapter access to spend assets (`None` by default)", - "spendAssets_": "The assets to spend in the call" - } - }, - "takeOrder(address,bytes,bytes)": { - "params": { - "_actionData": "Data specific to this action", - "_vaultProxy": "The VaultProxy of the calling fund" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "getCurveExchangeAddressProvider()": { - "notice": "Gets the `CURVE_EXCHANGE_ADDRESS_PROVIDER` variable" - }, - "getCurveExchangeWethToken()": { - "notice": "Gets the `CURVE_EXCHANGE_WETH_TOKEN` variable" - }, - "getIntegrationManager()": { - "notice": "Gets the `INTEGRATION_MANAGER` variable" - }, - "parseAssetsForAction(address,bytes4,bytes)": { - "notice": "Parses the expected assets in a particular action" - }, - "takeOrder(address,bytes,bytes)": { - "notice": "Trades assets on Curve" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/integration-manager/integrations/adapters/CurveExchangeAdapter.sol": "CurveExchangeAdapter" - }, - "libraries": {} - }, - "sources": { - "contracts/release/extensions/integration-manager/IIntegrationManager.sol": { - "keccak256": "0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef", - "urls": [ - "bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23", - "dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol": { - "keccak256": "0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1", - "urls": [ - "bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336", - "dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/adapters/CurveExchangeAdapter.sol": { - "keccak256": "0xb76759278a80025f3f480d7cf891c87efeeda0c39950206ce9d6f886ef634f3f", - "urls": [ - "bzz-raw://c1ba2ce3198bef5533d4975eadf606f0c1c8148d8c04d621897a9224c7e500e3", - "dweb:/ipfs/QmQp2RPBRzKZqdq2wBGpQCqcvwEHMr4vVqh3iTzHSbYGHM" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol": { - "keccak256": "0x067e49bf0d3c1655ab41a413c65ccf61d4e593308132e1ffc484a0fadfbbaf26", - "urls": [ - "bzz-raw://387f425017e18e89cc1893521101fa99df595314847d0b3d9a1162369f714fcf", - "dweb:/ipfs/Qmco3jCvuWAyfCpBYpGzHrQjiFJG63w1RJKcakoTEbxRQm" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol": { - "keccak256": "0xfd34c7ca8231c6935e25dede32ca2b3121738e624d0fc896f7b895a731edcf88", - "urls": [ - "bzz-raw://d492c061963d36d07718446db191d4c5a340c0d847f6cd209f027bd99f7cb176", - "dweb:/ipfs/QmfCvRZt56ftDdrEh6LepHXFJ4fVtcfpQGvEyY8k4zxG1A" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/utils/actions/CurveExchangeActionsMixin.sol": { - "keccak256": "0xf43db095bb077746b226e86bce46b07fffc9b2985c0cc1e48b739a7e2e8da85f", - "urls": [ - "bzz-raw://c1f7539ac8a17a0efd5e29de522b613e6442da9cf96acd30a5ffd7f25e9ae8d0", - "dweb:/ipfs/QmR8YAVn5vEVwk8SzfjfHSWB9ytgxj3K5Sw6GoZE8gLfjV" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/ICurveAddressProvider.sol": { - "keccak256": "0xf8da903700c623760de62b3e5d0b01997c68b8847391e23b89081128780e55e1", - "urls": [ - "bzz-raw://735b71b448d4d5c78e98ead84bf8f8e1e94e38ff8a77c7e4f9cc944d1d73e7df", - "dweb:/ipfs/QmXFgGFVEvQW9wpeBspcaVAXwCcxvnNJZLafTeP2HPArNQ" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/ICurveSwapsERC20.sol": { - "keccak256": "0x384dddab88e4037aa1c3f579573f1ef250d45e2d87991e499f7727e2846a6078", - "urls": [ - "bzz-raw://c450327ec264e76398f24d9899d4642ea2a6f3fd19dd8cdd2b8d38a5e21dff90", - "dweb:/ipfs/QmcqipKy6frn9uCkdJU1tutvS7jMTYJUpHdhZNh3WjL1Nm" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/ICurveSwapsEther.sol": { - "keccak256": "0x2b99e3a8ccef63721f2524eaf53ff675be0510596ef5790562a6f9efe6a4a824", - "urls": [ - "bzz-raw://f6f8b4c1e4a639b5c5920880f6464bf291c25f0abe064bf9000171ab40ade820", - "dweb:/ipfs/QmXJ5r6ji5NWffbHyL2Zy2CNPBxDzhJFRimfUCxA8b5n1K" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IWETH.sol": { - "keccak256": "0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2", - "urls": [ - "bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2", - "dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AssetHelpers.sol": { - "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", - "urls": [ - "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", - "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { - "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", - "urls": [ - "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", - "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Address.sol": { - "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", - "urls": [ - "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", - "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 167 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_integrationManager", "type": "address", "internalType": "address" }, { "name": "_addressProvider", "type": "address", "internalType": "address" }, { "name": "_wethToken", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "receive", "stateMutability": "payable" }, { "type": "function", "name": "CLAIM_REWARDS_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "LEND_AND_STAKE_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "LEND_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "REDEEM_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "STAKE_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "TAKE_MULTIPLE_ORDERS_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "TAKE_ORDER_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "UNSTAKE_AND_REDEEM_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "UNSTAKE_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "getCurveExchangeAddressProvider", "inputs": [], "outputs": [ { "name": "curveExchangeAddressProvider_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getCurveExchangeWethToken", "inputs": [], "outputs": [ { "name": "curveExchangeWethToken_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getIntegrationManager", "inputs": [], "outputs": [ { "name": "integrationManager_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "parseAssetsForAction", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "_selector", "type": "bytes4", "internalType": "bytes4" }, { "name": "_actionData", "type": "bytes", "internalType": "bytes" } ], "outputs": [ { "name": "spendAssetsHandleType_", "type": "uint8", "internalType": "enum IIntegrationManager.SpendAssetsHandleType" }, { "name": "spendAssets_", "type": "address[]", "internalType": "address[]" }, { "name": "spendAssetAmounts_", "type": "uint256[]", "internalType": "uint256[]" }, { "name": "incomingAssets_", "type": "address[]", "internalType": "address[]" }, { "name": "minIncomingAssetAmounts_", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "view" }, { "type": "function", "name": "takeOrder", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_actionData", "type": "bytes", "internalType": "bytes" }, { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x60e060405234801561001057600080fd5b506040516114c43803806114c48339818101604052606081101561003357600080fd5b50805160208201516040909201516001600160601b0319606092831b811660805292821b831660a052901b1660c05260805160601c60a05160601c60c05160601c61140a6100ba600039806109335280610a325280610a675280610b9c5280610ca25280610d1852508061065c528061099f5250806104df52806108eb525061140a6000f3fe6080604052600436106100e15760003560e01c8063863e5ad01161007f578063c54efee511610059578063c54efee5146102c4578063e7c4569014610495578063f7d882b5146104aa578063fd070ae4146104bf576100e8565b8063863e5ad014610285578063b23228cf1461029a578063c32990a2146102af576100e8565b8063257cb1a3116100bb578063257cb1a3146102155780633ffc15911461022a57806340da225d1461023f57806372202e8f14610254576100e8565b806303e38a2b146100ed578063080456c1146101ce578063131461c014610200576100e8565b366100e857005b600080fd5b3480156100f957600080fd5b506101cc6004803603606081101561011057600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561013b57600080fd5b82018360208201111561014d57600080fd5b8035906020019184600183028401116401000000008311171561016f57600080fd5b91939092909160208101903564010000000081111561018d57600080fd5b82018360208201111561019f57600080fd5b803590602001918460018302840111640100000000831117156101c157600080fd5b5090925090506104d4565b005b3480156101da57600080fd5b506101e36105a6565b604080516001600160e01b03199092168252519081900360200190f35b34801561020c57600080fd5b506101e36105ca565b34801561022157600080fd5b506101e36105ee565b34801561023657600080fd5b506101e3610612565b34801561024b57600080fd5b506101e3610636565b34801561026057600080fd5b5061026961065a565b604080516001600160a01b039092168252519081900360200190f35b34801561029157600080fd5b506101e361067e565b3480156102a657600080fd5b506101e36106a2565b3480156102bb57600080fd5b506101e36106c6565b3480156102d057600080fd5b50610360600480360360608110156102e757600080fd5b6001600160a01b03823516916001600160e01b03196020820135169181019060608101604082013564010000000081111561032157600080fd5b82018360208201111561033357600080fd5b8035906020019184600183028401116401000000008311171561035557600080fd5b5090925090506106ea565b6040518086600281111561037057fe5b815260200180602001806020018060200180602001858103855289818151815260200191508051906020019060200280838360005b838110156103bd5781810151838201526020016103a5565b50505050905001858103845288818151815260200191508051906020019060200280838360005b838110156103fc5781810151838201526020016103e4565b50505050905001858103835287818151815260200191508051906020019060200280838360005b8381101561043b578181015183820152602001610423565b50505050905001858103825286818151815260200191508051906020019060200280838360005b8381101561047a578181015183820152602001610462565b50505050905001995050505050505050505060405180910390f35b3480156104a157600080fd5b506102696108e9565b3480156104b657600080fd5b506101e361090d565b3480156104cb57600080fd5b50610269610931565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461053b5760405162461bcd60e51b81526004018080602001828103825260328152602001806113456032913960400191505060405180910390fd5b600080600080600061058289898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061095592505050565b9450945094509450945061059a8a868686868661099b565b50505050505050505050565b7f8334eb99be0145865eba9889fca2ee920288090caefff4cc776038e20ad9259a81565b7f29fa046e79524c3c5ac4c01df692c35e217802b2b13b21121b76cf0ef02b138c81565b7f099f75155f0e997bf83a7993a71d5e7e7540bd386fe1e84643a09ce6b412521981565b7ffa7dd04da627f433da73c4355ead9c75682a67a8fc84d3f6170ef0922f402d2481565b7fb9dfbaccbe5cd2a84fdcf1d15f23ef25d23086f5afbaa99516065ed4a5bbc7a381565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f03e38a2bd7063d45c897edeafc330e71657502dd86434d3c37a489caf116af6981565b7f68e30677f607df46e87da13e15b637784cfa62374b653f35ab43d10361a2f83081565b7f0e7f692dad5b88fdee426250d6eae91207e56a2e8112b7364579bed1790e5bf481565b600060608080806001600160e01b031988166303e38a2b60e01b146107405760405162461bcd60e51b81526004018080602001828103825260278152602001806113d76027913960400191505060405180910390fd5b60008060008060006107878c8c8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061095592505050565b9398509196509450925090506001600160a01b0385166107d85760405162461bcd60e51b815260040180806020018281038252602e815260200180611317602e913960400191505060405180910390fd5b6040805160018082528183019092529060208083019080368337019050509850838960008151811061080657fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509750828860008151811061084a57fe5b602090810291909101015260408051600180825281830190925290816020016020820280368337019050509650818760008151811061088557fe5b6001600160a01b039290921660209283029190910182015260408051600180825281830190925291828101908036833701905050955080866000815181106108c957fe5b602002602001018181525050600299505050505050945094509450945094565b7f000000000000000000000000000000000000000000000000000000000000000090565b7fc29fa9dde84204c2908778afd0613d802d31cf046179b88f6d2b4a4e507ea2d581565b7f000000000000000000000000000000000000000000000000000000000000000090565b60008060008060008580602001905160a081101561097257600080fd5b508051602082015160408301516060840151608090940151929a91995097509195509350915050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663493f4f7460026040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610a0257600080fd5b505afa158015610a16573d6000803e3d6000fd5b505050506040513d6020811015610a2c57600080fd5b505190507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b039081169086161415610b9a577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316632e1a7d4d856040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015610acb57600080fd5b505af1158015610adf573d6000803e3d6000fd5b505060408051631a4c1ca360e01b81526001600160a01b038a8116600483015273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6024830152878116604483015260648201899052608482018790528b811660a483015291519185169350631a4c1ca39250879160c480830192602092919082900301818588803b158015610b6757600080fd5b505af1158015610b7b573d6000803e3d6000fd5b50505050506040513d6020811015610b9257600080fd5b50610df39050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b03161415610d4957610bdf858286610dfc565b60408051631a4c1ca360e01b81526001600160a01b038881166004830152878116602483015273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee604483015260648201879052608482018590523060a4830152915191831691631a4c1ca39160c4808201926020929091908290030181600087803b158015610c6157600080fd5b505af1158015610c75573d6000803e3d6000fd5b505050506040513d6020811015610c8b57600080fd5b505060408051630d0e30db60e41b815290513031917f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169163d0e30db0918491600480830192600092919082900301818588803b158015610cf357600080fd5b505af1158015610d07573d6000803e3d6000fd5b50610d439350506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691508a905083610eba565b50610df3565b610d54858286610dfc565b60408051631a4c1ca360e01b81526001600160a01b03888116600483015287811660248301528581166044830152606482018790526084820185905289811660a4830152915191831691631a4c1ca39160c4808201926020929091908290030181600087803b158015610dc657600080fd5b505af1158015610dda573d6000803e3d6000fd5b505050506040513d6020811015610df057600080fd5b50505b50505050505050565b60408051636eb1769f60e11b81523060048201526001600160a01b038481166024830152915160009286169163dd62ed3e916044808301926020929190829003018186803b158015610e4d57600080fd5b505afa158015610e61573d6000803e3d6000fd5b505050506040513d6020811015610e7757600080fd5b5051905081811015610eb4578015610e9e57610e9e6001600160a01b038516846000610f11565b610eb46001600160a01b03851684600019610f11565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610f0c908490611020565b505050565b801580610f97575060408051636eb1769f60e11b81523060048201526001600160a01b03848116602483015291519185169163dd62ed3e91604480820192602092909190829003018186803b158015610f6957600080fd5b505afa158015610f7d573d6000803e3d6000fd5b505050506040513d6020811015610f9357600080fd5b5051155b610fd25760405162461bcd60e51b81526004018080602001828103825260368152602001806113a16036913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052610f0c9084905b6060611075826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166110d19092919063ffffffff16565b805190915015610f0c5780806020019051602081101561109457600080fd5b5051610f0c5760405162461bcd60e51b815260040180806020018281038252602a815260200180611377602a913960400191505060405180910390fd5b60606110e084846000856110ea565b90505b9392505050565b60608247101561112b5760405162461bcd60e51b81526004018080602001828103825260268152602001806112f16026913960400191505060405180910390fd5b61113485611246565b611185576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b602083106111c45780518252601f1990920191602091820191016111a5565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114611226576040519150601f19603f3d011682016040523d82523d6000602084013e61122b565b606091505b509150915061123b82828661124c565b979650505050505050565b3b151590565b6060831561125b5750816110e3565b82511561126b5782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156112b557818101518382015260200161129d565b50505050905090810190601f1680156112e25780820380516001836020036101000a031916815260200191505b509250505060405180910390fdfe416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c7061727365417373657473466f72416374696f6e3a204e6f20706f6f6c20616464726573732070726f76696465644f6e6c792074686520496e746567726174696f6e4d616e616765722063616e2063616c6c20746869732066756e6374696f6e5361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e63657061727365417373657473466f72416374696f6e3a205f73656c6563746f7220696e76616c6964a164736f6c634300060c000a", "sourceMap": "540:3924:167:-:0;;;618:243;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;618:243:167;;;;;;;;;;;-1:-1:-1;;;;;;618:243:167;1938:41:179;;;;;;;1160:50:186;;;;;;;1220:38;;;;;540:3924:167;;;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x6080604052600436106100e15760003560e01c8063863e5ad01161007f578063c54efee511610059578063c54efee5146102c4578063e7c4569014610495578063f7d882b5146104aa578063fd070ae4146104bf576100e8565b8063863e5ad014610285578063b23228cf1461029a578063c32990a2146102af576100e8565b8063257cb1a3116100bb578063257cb1a3146102155780633ffc15911461022a57806340da225d1461023f57806372202e8f14610254576100e8565b806303e38a2b146100ed578063080456c1146101ce578063131461c014610200576100e8565b366100e857005b600080fd5b3480156100f957600080fd5b506101cc6004803603606081101561011057600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561013b57600080fd5b82018360208201111561014d57600080fd5b8035906020019184600183028401116401000000008311171561016f57600080fd5b91939092909160208101903564010000000081111561018d57600080fd5b82018360208201111561019f57600080fd5b803590602001918460018302840111640100000000831117156101c157600080fd5b5090925090506104d4565b005b3480156101da57600080fd5b506101e36105a6565b604080516001600160e01b03199092168252519081900360200190f35b34801561020c57600080fd5b506101e36105ca565b34801561022157600080fd5b506101e36105ee565b34801561023657600080fd5b506101e3610612565b34801561024b57600080fd5b506101e3610636565b34801561026057600080fd5b5061026961065a565b604080516001600160a01b039092168252519081900360200190f35b34801561029157600080fd5b506101e361067e565b3480156102a657600080fd5b506101e36106a2565b3480156102bb57600080fd5b506101e36106c6565b3480156102d057600080fd5b50610360600480360360608110156102e757600080fd5b6001600160a01b03823516916001600160e01b03196020820135169181019060608101604082013564010000000081111561032157600080fd5b82018360208201111561033357600080fd5b8035906020019184600183028401116401000000008311171561035557600080fd5b5090925090506106ea565b6040518086600281111561037057fe5b815260200180602001806020018060200180602001858103855289818151815260200191508051906020019060200280838360005b838110156103bd5781810151838201526020016103a5565b50505050905001858103845288818151815260200191508051906020019060200280838360005b838110156103fc5781810151838201526020016103e4565b50505050905001858103835287818151815260200191508051906020019060200280838360005b8381101561043b578181015183820152602001610423565b50505050905001858103825286818151815260200191508051906020019060200280838360005b8381101561047a578181015183820152602001610462565b50505050905001995050505050505050505060405180910390f35b3480156104a157600080fd5b506102696108e9565b3480156104b657600080fd5b506101e361090d565b3480156104cb57600080fd5b50610269610931565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461053b5760405162461bcd60e51b81526004018080602001828103825260328152602001806113456032913960400191505060405180910390fd5b600080600080600061058289898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061095592505050565b9450945094509450945061059a8a868686868661099b565b50505050505050505050565b7f8334eb99be0145865eba9889fca2ee920288090caefff4cc776038e20ad9259a81565b7f29fa046e79524c3c5ac4c01df692c35e217802b2b13b21121b76cf0ef02b138c81565b7f099f75155f0e997bf83a7993a71d5e7e7540bd386fe1e84643a09ce6b412521981565b7ffa7dd04da627f433da73c4355ead9c75682a67a8fc84d3f6170ef0922f402d2481565b7fb9dfbaccbe5cd2a84fdcf1d15f23ef25d23086f5afbaa99516065ed4a5bbc7a381565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f03e38a2bd7063d45c897edeafc330e71657502dd86434d3c37a489caf116af6981565b7f68e30677f607df46e87da13e15b637784cfa62374b653f35ab43d10361a2f83081565b7f0e7f692dad5b88fdee426250d6eae91207e56a2e8112b7364579bed1790e5bf481565b600060608080806001600160e01b031988166303e38a2b60e01b146107405760405162461bcd60e51b81526004018080602001828103825260278152602001806113d76027913960400191505060405180910390fd5b60008060008060006107878c8c8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061095592505050565b9398509196509450925090506001600160a01b0385166107d85760405162461bcd60e51b815260040180806020018281038252602e815260200180611317602e913960400191505060405180910390fd5b6040805160018082528183019092529060208083019080368337019050509850838960008151811061080657fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509750828860008151811061084a57fe5b602090810291909101015260408051600180825281830190925290816020016020820280368337019050509650818760008151811061088557fe5b6001600160a01b039290921660209283029190910182015260408051600180825281830190925291828101908036833701905050955080866000815181106108c957fe5b602002602001018181525050600299505050505050945094509450945094565b7f000000000000000000000000000000000000000000000000000000000000000090565b7fc29fa9dde84204c2908778afd0613d802d31cf046179b88f6d2b4a4e507ea2d581565b7f000000000000000000000000000000000000000000000000000000000000000090565b60008060008060008580602001905160a081101561097257600080fd5b508051602082015160408301516060840151608090940151929a91995097509195509350915050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663493f4f7460026040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610a0257600080fd5b505afa158015610a16573d6000803e3d6000fd5b505050506040513d6020811015610a2c57600080fd5b505190507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b039081169086161415610b9a577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316632e1a7d4d856040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015610acb57600080fd5b505af1158015610adf573d6000803e3d6000fd5b505060408051631a4c1ca360e01b81526001600160a01b038a8116600483015273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6024830152878116604483015260648201899052608482018790528b811660a483015291519185169350631a4c1ca39250879160c480830192602092919082900301818588803b158015610b6757600080fd5b505af1158015610b7b573d6000803e3d6000fd5b50505050506040513d6020811015610b9257600080fd5b50610df39050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b03161415610d4957610bdf858286610dfc565b60408051631a4c1ca360e01b81526001600160a01b038881166004830152878116602483015273eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee604483015260648201879052608482018590523060a4830152915191831691631a4c1ca39160c4808201926020929091908290030181600087803b158015610c6157600080fd5b505af1158015610c75573d6000803e3d6000fd5b505050506040513d6020811015610c8b57600080fd5b505060408051630d0e30db60e41b815290513031917f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169163d0e30db0918491600480830192600092919082900301818588803b158015610cf357600080fd5b505af1158015610d07573d6000803e3d6000fd5b50610d439350506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691508a905083610eba565b50610df3565b610d54858286610dfc565b60408051631a4c1ca360e01b81526001600160a01b03888116600483015287811660248301528581166044830152606482018790526084820185905289811660a4830152915191831691631a4c1ca39160c4808201926020929091908290030181600087803b158015610dc657600080fd5b505af1158015610dda573d6000803e3d6000fd5b505050506040513d6020811015610df057600080fd5b50505b50505050505050565b60408051636eb1769f60e11b81523060048201526001600160a01b038481166024830152915160009286169163dd62ed3e916044808301926020929190829003018186803b158015610e4d57600080fd5b505afa158015610e61573d6000803e3d6000fd5b505050506040513d6020811015610e7757600080fd5b5051905081811015610eb4578015610e9e57610e9e6001600160a01b038516846000610f11565b610eb46001600160a01b03851684600019610f11565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610f0c908490611020565b505050565b801580610f97575060408051636eb1769f60e11b81523060048201526001600160a01b03848116602483015291519185169163dd62ed3e91604480820192602092909190829003018186803b158015610f6957600080fd5b505afa158015610f7d573d6000803e3d6000fd5b505050506040513d6020811015610f9357600080fd5b5051155b610fd25760405162461bcd60e51b81526004018080602001828103825260368152602001806113a16036913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052610f0c9084905b6060611075826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166110d19092919063ffffffff16565b805190915015610f0c5780806020019051602081101561109457600080fd5b5051610f0c5760405162461bcd60e51b815260040180806020018281038252602a815260200180611377602a913960400191505060405180910390fd5b60606110e084846000856110ea565b90505b9392505050565b60608247101561112b5760405162461bcd60e51b81526004018080602001828103825260268152602001806112f16026913960400191505060405180910390fd5b61113485611246565b611185576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b602083106111c45780518252601f1990920191602091820191016111a5565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114611226576040519150601f19603f3d011682016040523d82523d6000602084013e61122b565b606091505b509150915061123b82828661124c565b979650505050505050565b3b151590565b6060831561125b5750816110e3565b82511561126b5782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156112b557818101518382015260200161129d565b50505050905090810190601f1680156112e25780820380516001836020036101000a031916815260200191505b509250505060405180910390fdfe416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c7061727365417373657473466f72416374696f6e3a204e6f20706f6f6c20616464726573732070726f76696465644f6e6c792074686520496e746567726174696f6e4d616e616765722063616e2063616c6c20746869732066756e6374696f6e5361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e63657061727365417373657473466f72416374696f6e3a205f73656c6563746f7220696e76616c6964a164736f6c634300060c000a", "sourceMap": "540:3924:167:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1150:589;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1150:589:167;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1150:589:167;;-1:-1:-1;1150:589:167;-1:-1:-1;1150:589:167;:::i;:::-;;1490:119:180;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;1490:119:180;;;;;;;;;;;;;;1373:111;;;;;;;;;;;;;:::i;832:85::-;;;;;;;;;;;;;:::i;1034:87::-;;;;;;;;;;;;;:::i;1240:110::-;;;;;;;;;;;;;:::i;3423:186:186:-;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;3423:186:186;;;;;;;;;;;;;;706:104:180;;;;;;;;;;;;;:::i;1127:91::-;;;;;;;;;;;;;:::i;577:123::-;;;;;;;;;;;;;:::i;2480:1490:167:-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2480:1490:167;;;;-1:-1:-1;;;;;;2480:1490:167;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2480:1490:167;;-1:-1:-1;2480:1490:167;-1:-1:-1;2480:1490:167;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2637:128:179;;;;;;;;;;;;;:::i;923:89:180:-;;;;;;;;;;;;;:::i;3764:140:186:-;;;;;;;;;;;;;:::i;1150:589:167:-;1747:10:179;-1:-1:-1;;;;;1761:19:179;1747:33;;1726:130;;;;-1:-1:-1;;;1726:130:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1320:12:167::1;1346:21:::0;1381:27:::1;1422:21:::0;1457:30:::1;1500:29;1517:11;;1500:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;1500:16:167::1;::::0;-1:-1:-1;;;1500:29:167:i:1;:::-;1306:223;;;;;;;;;;1540:192;1570:11;1595:4;1613:13;1640:19;1673:13;1700:22;1540:16;:192::i;:::-;1866:1:179;;;;;1150:589:167::0;;;;;:::o;1490:119:180:-;1558:50;1490:119;:::o;1373:111::-;1437:46;1373:111;:::o;832:85::-;878:38;832:85;:::o;1034:87::-;1081:39;1034:87;:::o;1240:110::-;1303:46;1240:110;:::o;3423:186:186:-;3571:31;3423:186;:::o;706:104:180:-;766:43;706:104;:::o;1127:91::-;1176:41;1127:91;:::o;577:123::-;647:52;577:123;:::o;2480:1490:167:-;2672:64;2750:29;;;;-1:-1:-1;;;;;;2962:32:167;;-1:-1:-1;;;2962:32:167;2954:84;;;;-1:-1:-1;;;2954:84:167;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3062:12;3088:21;3123:27;3164:21;3199:30;3242:29;3259:11;;3242:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3242:16:167;;-1:-1:-1;;;3242:29:167:i;:::-;3048:223;;-1:-1:-1;3048:223:167;;-1:-1:-1;3048:223:167;-1:-1:-1;3048:223:167;-1:-1:-1;3048:223:167;-1:-1:-1;;;;;;3290:18:167;;3282:77;;;;-1:-1:-1;;;3282:77:167;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3385:16;;;3399:1;3385:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3385:16:167;3370:31;;3429:13;3411:12;3424:1;3411:15;;;;;;;;-1:-1:-1;;;;;3411:31:167;;;;:15;;;;;;;;;;:31;3473:16;;;3487:1;3473:16;;;;;;;;;;;;;;3411:15;3473:16;;;;;-1:-1:-1;3473:16:167;3452:37;;3523:19;3499:18;3518:1;3499:21;;;;;;;;;;;;;;;;;:43;3571:16;;;3585:1;3571:16;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3571:16:167;3553:34;;3618:13;3597:15;3613:1;3597:18;;;;;;;;-1:-1:-1;;;;;3597:34:167;;;;:18;;;;;;;;;;:34;3668:16;;;3682:1;3668:16;;;;;;;;;;;;;;3597:18;3668:16;;;;;-1:-1:-1;3668:16:167;3641:43;;3724:22;3694:24;3719:1;3694:27;;;;;;;;;;;;;:52;;;;;3778:50;3757:206;;;;;;;2480:1490;;;;;;;;;:::o;2637:128:179:-;2739:19;2637:128;:::o;923:89:180:-;971:40;923:89;:::o;3764:140:186:-;3872:25;3764:140;:::o;4070:392:167:-;4181:13;4208:22;4244:28;4286:22;4322:31;4396:11;4385:70;;;;;;;;;;;;;;;-1:-1:-1;4385:70:167;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4385:70:167;-1:-1:-1;4385:70:167;;-1:-1:-1;4385:70:167;-1:-1:-1;4070:392:167;-1:-1:-1;;4070:392:167:o;1312:1865:186:-;1557:13;1595:31;-1:-1:-1;;;;;1573:66:186;;1640:1;1573:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1573:69:186;;-1:-1:-1;1675:25:186;-1:-1:-1;;;;;1657:43:186;;;;;;;1653:1518;;;1722:25;-1:-1:-1;;;;;1716:41:186;;1758:20;1716:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1794:281:186;;;-1:-1:-1;;;1794:281:186;;-1:-1:-1;;;;;1794:281:186;;;;;;;915:42;1794:281;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:32;;;;-1:-1:-1;1794:32:186;;-1:-1:-1;1834:20:186;;1794:281;;;;;;;;;;;;;;1834:20;1794:32;:281;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1653:1518:186;;-1:-1:-1;1653:1518:186;;2114:25;-1:-1:-1;;;;;2096:43:186;:14;-1:-1:-1;;;;;2096:43:186;;2092:1079;;;2155:70;2181:14;2197:5;2204:20;2155:25;:70::i;:::-;2240:255;;;-1:-1:-1;;;2240:255:186;;-1:-1:-1;;;;;2240:255:186;;;;;;;;;;;;;;915:42;2240:255;;;;;;;;;;;;;;;;2476:4;2240:255;;;;;;:32;;;;;;:255;;;;;;;;;;;;;;;-1:-1:-1;2240:32:186;:255;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2643:74:186;;;-1:-1:-1;;;2643:74:186;;;;2615:4;2599:30;;2657:25;-1:-1:-1;;;;;2643:49:186;;;;2599:30;;2643:74;;;;;2574:22;;2643:74;;;;;;;2599:30;2643:49;:74;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2731:73:186;;-1:-1:-1;;;;;;;2737:25:186;2731:45;;-1:-1:-1;2777:10:186;;-1:-1:-1;2789:14:186;2731:45;:73::i;:::-;2092:1079;;;;2835:70;2861:14;2877:5;2884:20;2835:25;:70::i;:::-;2920:240;;;-1:-1:-1;;;2920:240:186;;-1:-1:-1;;;;;2920:240:186;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:32;;;;;;:240;;;;;;;;;;;;;;;-1:-1:-1;2920:32:186;:240;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2092:1079:186;1312:1865;;;;;;;:::o;2554:434:355:-;2714:47;;;-1:-1:-1;;;2714:47:355;;2746:4;2714:47;;;;-1:-1:-1;;;;;2714:47:355;;;;;;;;;2694:17;;2714:23;;;;;:47;;;;;;;;;;;;;;:23;:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2714:47:355;;-1:-1:-1;2775:25:355;;;2771:211;;;2820:13;;2816:89;;2853:37;-1:-1:-1;;;;;2853:25:355;;2879:7;2888:1;2853:25;:37::i;:::-;2918:53;-1:-1:-1;;;;;2918:25:355;;2944:7;-1:-1:-1;;2918:25:355;:53::i;:::-;2554:434;;;;:::o;704:175:450:-;813:58;;;-1:-1:-1;;;;;813:58:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;813:58:450;-1:-1:-1;;;813:58:450;;;786:86;;806:5;;786:19;:86::i;:::-;704:175;;;:::o;1348:613::-;1713:10;;;1712:62;;-1:-1:-1;1729:39:450;;;-1:-1:-1;;;1729:39:450;;1753:4;1729:39;;;;-1:-1:-1;;;;;1729:39:450;;;;;;;;;:15;;;;;;:39;;;;;;;;;;;;;;;:15;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1729:39:450;:44;1712:62;1704:150;;;;-1:-1:-1;;;1704:150:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1891:62;;;-1:-1:-1;;;;;1891:62:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1891:62:450;-1:-1:-1;;;1891:62:450;;;1864:90;;1884:5;;2967:751;3386:23;3412:69;3440:4;3412:69;;;;;;;;;;;;;;;;;3420:5;-1:-1:-1;;;;;3412:27:450;;;:69;;;;;:::i;:::-;3495:17;;3386:95;;-1:-1:-1;3495:21:450;3491:221;;3635:10;3624:30;;;;;;;;;;;;;;;-1:-1:-1;3624:30:450;3616:85;;;;-1:-1:-1;;;3616:85:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3581:193:451;3684:12;3715:52;3737:6;3745:4;3751:1;3754:12;3715:21;:52::i;:::-;3708:59;;3581:193;;;;;;:::o;4608:523::-;4735:12;4792:5;4767:21;:30;;4759:81;;;;-1:-1:-1;;;4759:81:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4858:18;4869:6;4858:10;:18::i;:::-;4850:60;;;;;-1:-1:-1;;;4850:60:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;4981:12;4995:23;5022:6;-1:-1:-1;;;;;5022:11:451;5042:5;5050:4;5022:33;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5022:33:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4980:75;;;;5072:52;5090:7;5099:10;5111:12;5072:17;:52::i;:::-;5065:59;4608:523;-1:-1:-1;;;;;;;4608:523:451:o;726:413::-;1086:20;1124:8;;;726:413::o;7091:725::-;7206:12;7234:7;7230:580;;;-1:-1:-1;7264:10:451;7257:17;;7230:580;7375:17;;:21;7371:429;;7633:10;7627:17;7693:15;7680:10;7676:2;7672:19;7665:44;7582:145;7772:12;7765:20;;-1:-1:-1;;;7765:20:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;", "linkReferences": {}, "immutableReferences": { "49791": [ { "start": 1247, "length": 32 }, { "start": 2283, "length": 32 } ], "50461": [ { "start": 1628, "length": 32 }, { "start": 2463, "length": 32 } ], "50463": [ { "start": 2355, "length": 32 }, { "start": 2610, "length": 32 }, { "start": 2663, "length": 32 }, { "start": 2972, "length": 32 }, { "start": 3234, "length": 32 }, { "start": 3352, "length": 32 } ] } }, "methodIdentifiers": { "CLAIM_REWARDS_SELECTOR()": "40da225d", "LEND_AND_STAKE_SELECTOR()": "131461c0", "LEND_SELECTOR()": "257cb1a3", "REDEEM_SELECTOR()": "f7d882b5", "STAKE_SELECTOR()": "3ffc1591", "TAKE_MULTIPLE_ORDERS_SELECTOR()": "c32990a2", "TAKE_ORDER_SELECTOR()": "863e5ad0", "UNSTAKE_AND_REDEEM_SELECTOR()": "080456c1", "UNSTAKE_SELECTOR()": "b23228cf", "getCurveExchangeAddressProvider()": "72202e8f", "getCurveExchangeWethToken()": "fd070ae4", "getIntegrationManager()": "e7c45690", "parseAssetsForAction(address,bytes4,bytes)": "c54efee5", "takeOrder(address,bytes,bytes)": "03e38a2b" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_integrationManager\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_addressProvider\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_wethToken\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"CLAIM_REWARDS_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LEND_AND_STAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LEND_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"REDEEM_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"STAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TAKE_MULTIPLE_ORDERS_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TAKE_ORDER_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UNSTAKE_AND_REDEEM_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UNSTAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurveExchangeAddressProvider\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"curveExchangeAddressProvider_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurveExchangeWethToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"curveExchangeWethToken_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getIntegrationManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"integrationManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"_selector\",\"type\":\"bytes4\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"}],\"name\":\"parseAssetsForAction\",\"outputs\":[{\"internalType\":\"enum IIntegrationManager.SpendAssetsHandleType\",\"name\":\"spendAssetsHandleType_\",\"type\":\"uint8\"},{\"internalType\":\"address[]\",\"name\":\"spendAssets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"spendAssetAmounts_\",\"type\":\"uint256[]\"},{\"internalType\":\"address[]\",\"name\":\"incomingAssets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"minIncomingAssetAmounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"takeOrder\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"getCurveExchangeAddressProvider()\":{\"returns\":{\"curveExchangeAddressProvider_\":\"The `CURVE_EXCHANGE_ADDRESS_PROVIDER` variable value\"}},\"getCurveExchangeWethToken()\":{\"returns\":{\"curveExchangeWethToken_\":\"The `CURVE_EXCHANGE_WETH_TOKEN` variable value\"}},\"getIntegrationManager()\":{\"returns\":{\"integrationManager_\":\"The `INTEGRATION_MANAGER` variable value\"}},\"parseAssetsForAction(address,bytes4,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_selector\":\"The function selector for the callOnIntegration\"},\"returns\":{\"incomingAssets_\":\"The assets to receive in the call\",\"minIncomingAssetAmounts_\":\"The min asset amounts to receive in the call\",\"spendAssetAmounts_\":\"The max asset amounts to spend in the call\",\"spendAssetsHandleType_\":\"A type that dictates how to handle granting the adapter access to spend assets (`None` by default)\",\"spendAssets_\":\"The assets to spend in the call\"}},\"takeOrder(address,bytes,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}}},\"title\":\"CurveExchangeAdapter Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getCurveExchangeAddressProvider()\":{\"notice\":\"Gets the `CURVE_EXCHANGE_ADDRESS_PROVIDER` variable\"},\"getCurveExchangeWethToken()\":{\"notice\":\"Gets the `CURVE_EXCHANGE_WETH_TOKEN` variable\"},\"getIntegrationManager()\":{\"notice\":\"Gets the `INTEGRATION_MANAGER` variable\"},\"parseAssetsForAction(address,bytes4,bytes)\":{\"notice\":\"Parses the expected assets in a particular action\"},\"takeOrder(address,bytes,bytes)\":{\"notice\":\"Trades assets on Curve\"}},\"notice\":\"Adapter for swapping assets on Curve \",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/integration-manager/integrations/adapters/CurveExchangeAdapter.sol\":\"CurveExchangeAdapter\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/integration-manager/IIntegrationManager.sol\":{\"keccak256\":\"0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23\",\"dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk\"]},\"contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol\":{\"keccak256\":\"0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336\",\"dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS\"]},\"contracts/release/extensions/integration-manager/integrations/adapters/CurveExchangeAdapter.sol\":{\"keccak256\":\"0xb76759278a80025f3f480d7cf891c87efeeda0c39950206ce9d6f886ef634f3f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c1ba2ce3198bef5533d4975eadf606f0c1c8148d8c04d621897a9224c7e500e3\",\"dweb:/ipfs/QmQp2RPBRzKZqdq2wBGpQCqcvwEHMr4vVqh3iTzHSbYGHM\"]},\"contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol\":{\"keccak256\":\"0x067e49bf0d3c1655ab41a413c65ccf61d4e593308132e1ffc484a0fadfbbaf26\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://387f425017e18e89cc1893521101fa99df595314847d0b3d9a1162369f714fcf\",\"dweb:/ipfs/Qmco3jCvuWAyfCpBYpGzHrQjiFJG63w1RJKcakoTEbxRQm\"]},\"contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol\":{\"keccak256\":\"0xfd34c7ca8231c6935e25dede32ca2b3121738e624d0fc896f7b895a731edcf88\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d492c061963d36d07718446db191d4c5a340c0d847f6cd209f027bd99f7cb176\",\"dweb:/ipfs/QmfCvRZt56ftDdrEh6LepHXFJ4fVtcfpQGvEyY8k4zxG1A\"]},\"contracts/release/extensions/integration-manager/integrations/utils/actions/CurveExchangeActionsMixin.sol\":{\"keccak256\":\"0xf43db095bb077746b226e86bce46b07fffc9b2985c0cc1e48b739a7e2e8da85f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c1f7539ac8a17a0efd5e29de522b613e6442da9cf96acd30a5ffd7f25e9ae8d0\",\"dweb:/ipfs/QmR8YAVn5vEVwk8SzfjfHSWB9ytgxj3K5Sw6GoZE8gLfjV\"]},\"contracts/release/interfaces/ICurveAddressProvider.sol\":{\"keccak256\":\"0xf8da903700c623760de62b3e5d0b01997c68b8847391e23b89081128780e55e1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://735b71b448d4d5c78e98ead84bf8f8e1e94e38ff8a77c7e4f9cc944d1d73e7df\",\"dweb:/ipfs/QmXFgGFVEvQW9wpeBspcaVAXwCcxvnNJZLafTeP2HPArNQ\"]},\"contracts/release/interfaces/ICurveSwapsERC20.sol\":{\"keccak256\":\"0x384dddab88e4037aa1c3f579573f1ef250d45e2d87991e499f7727e2846a6078\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c450327ec264e76398f24d9899d4642ea2a6f3fd19dd8cdd2b8d38a5e21dff90\",\"dweb:/ipfs/QmcqipKy6frn9uCkdJU1tutvS7jMTYJUpHdhZNh3WjL1Nm\"]},\"contracts/release/interfaces/ICurveSwapsEther.sol\":{\"keccak256\":\"0x2b99e3a8ccef63721f2524eaf53ff675be0510596ef5790562a6f9efe6a4a824\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f6f8b4c1e4a639b5c5920880f6464bf291c25f0abe064bf9000171ab40ade820\",\"dweb:/ipfs/QmXJ5r6ji5NWffbHyL2Zy2CNPBxDzhJFRimfUCxA8b5n1K\"]},\"contracts/release/interfaces/IWETH.sol\":{\"keccak256\":\"0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2\",\"dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_integrationManager", "type": "address" }, { "internalType": "address", "name": "_addressProvider", "type": "address" }, { "internalType": "address", "name": "_wethToken", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "CLAIM_REWARDS_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "LEND_AND_STAKE_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "LEND_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "REDEEM_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "STAKE_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "TAKE_MULTIPLE_ORDERS_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "TAKE_ORDER_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "UNSTAKE_AND_REDEEM_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "UNSTAKE_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getCurveExchangeAddressProvider", "outputs": [ { "internalType": "address", "name": "curveExchangeAddressProvider_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getCurveExchangeWethToken", "outputs": [ { "internalType": "address", "name": "curveExchangeWethToken_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getIntegrationManager", "outputs": [ { "internalType": "address", "name": "integrationManager_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "bytes4", "name": "_selector", "type": "bytes4" }, { "internalType": "bytes", "name": "_actionData", "type": "bytes" } ], "stateMutability": "view", "type": "function", "name": "parseAssetsForAction", "outputs": [ { "internalType": "enum IIntegrationManager.SpendAssetsHandleType", "name": "spendAssetsHandleType_", "type": "uint8" }, { "internalType": "address[]", "name": "spendAssets_", "type": "address[]" }, { "internalType": "uint256[]", "name": "spendAssetAmounts_", "type": "uint256[]" }, { "internalType": "address[]", "name": "incomingAssets_", "type": "address[]" }, { "internalType": "uint256[]", "name": "minIncomingAssetAmounts_", "type": "uint256[]" } ] }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "bytes", "name": "_actionData", "type": "bytes" }, { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "takeOrder" }, { "inputs": [], "stateMutability": "payable", "type": "receive" } ], "devdoc": { "kind": "dev", "methods": { "getCurveExchangeAddressProvider()": { "returns": { "curveExchangeAddressProvider_": "The `CURVE_EXCHANGE_ADDRESS_PROVIDER` variable value" } }, "getCurveExchangeWethToken()": { "returns": { "curveExchangeWethToken_": "The `CURVE_EXCHANGE_WETH_TOKEN` variable value" } }, "getIntegrationManager()": { "returns": { "integrationManager_": "The `INTEGRATION_MANAGER` variable value" } }, "parseAssetsForAction(address,bytes4,bytes)": { "params": { "_actionData": "Data specific to this action", "_selector": "The function selector for the callOnIntegration" }, "returns": { "incomingAssets_": "The assets to receive in the call", "minIncomingAssetAmounts_": "The min asset amounts to receive in the call", "spendAssetAmounts_": "The max asset amounts to spend in the call", "spendAssetsHandleType_": "A type that dictates how to handle granting the adapter access to spend assets (`None` by default)", "spendAssets_": "The assets to spend in the call" } }, "takeOrder(address,bytes,bytes)": { "params": { "_actionData": "Data specific to this action", "_vaultProxy": "The VaultProxy of the calling fund" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "getCurveExchangeAddressProvider()": { "notice": "Gets the `CURVE_EXCHANGE_ADDRESS_PROVIDER` variable" }, "getCurveExchangeWethToken()": { "notice": "Gets the `CURVE_EXCHANGE_WETH_TOKEN` variable" }, "getIntegrationManager()": { "notice": "Gets the `INTEGRATION_MANAGER` variable" }, "parseAssetsForAction(address,bytes4,bytes)": { "notice": "Parses the expected assets in a particular action" }, "takeOrder(address,bytes,bytes)": { "notice": "Trades assets on Curve" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/integration-manager/integrations/adapters/CurveExchangeAdapter.sol": "CurveExchangeAdapter" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/extensions/integration-manager/IIntegrationManager.sol": { "keccak256": "0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef", "urls": [ "bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23", "dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol": { "keccak256": "0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1", "urls": [ "bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336", "dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/adapters/CurveExchangeAdapter.sol": { "keccak256": "0xb76759278a80025f3f480d7cf891c87efeeda0c39950206ce9d6f886ef634f3f", "urls": [ "bzz-raw://c1ba2ce3198bef5533d4975eadf606f0c1c8148d8c04d621897a9224c7e500e3", "dweb:/ipfs/QmQp2RPBRzKZqdq2wBGpQCqcvwEHMr4vVqh3iTzHSbYGHM" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol": { "keccak256": "0x067e49bf0d3c1655ab41a413c65ccf61d4e593308132e1ffc484a0fadfbbaf26", "urls": [ "bzz-raw://387f425017e18e89cc1893521101fa99df595314847d0b3d9a1162369f714fcf", "dweb:/ipfs/Qmco3jCvuWAyfCpBYpGzHrQjiFJG63w1RJKcakoTEbxRQm" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol": { "keccak256": "0xfd34c7ca8231c6935e25dede32ca2b3121738e624d0fc896f7b895a731edcf88", "urls": [ "bzz-raw://d492c061963d36d07718446db191d4c5a340c0d847f6cd209f027bd99f7cb176", "dweb:/ipfs/QmfCvRZt56ftDdrEh6LepHXFJ4fVtcfpQGvEyY8k4zxG1A" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/utils/actions/CurveExchangeActionsMixin.sol": { "keccak256": "0xf43db095bb077746b226e86bce46b07fffc9b2985c0cc1e48b739a7e2e8da85f", "urls": [ "bzz-raw://c1f7539ac8a17a0efd5e29de522b613e6442da9cf96acd30a5ffd7f25e9ae8d0", "dweb:/ipfs/QmR8YAVn5vEVwk8SzfjfHSWB9ytgxj3K5Sw6GoZE8gLfjV" ], "license": "GPL-3.0" }, "contracts/release/interfaces/ICurveAddressProvider.sol": { "keccak256": "0xf8da903700c623760de62b3e5d0b01997c68b8847391e23b89081128780e55e1", "urls": [ "bzz-raw://735b71b448d4d5c78e98ead84bf8f8e1e94e38ff8a77c7e4f9cc944d1d73e7df", "dweb:/ipfs/QmXFgGFVEvQW9wpeBspcaVAXwCcxvnNJZLafTeP2HPArNQ" ], "license": "GPL-3.0" }, "contracts/release/interfaces/ICurveSwapsERC20.sol": { "keccak256": "0x384dddab88e4037aa1c3f579573f1ef250d45e2d87991e499f7727e2846a6078", "urls": [ "bzz-raw://c450327ec264e76398f24d9899d4642ea2a6f3fd19dd8cdd2b8d38a5e21dff90", "dweb:/ipfs/QmcqipKy6frn9uCkdJU1tutvS7jMTYJUpHdhZNh3WjL1Nm" ], "license": "GPL-3.0" }, "contracts/release/interfaces/ICurveSwapsEther.sol": { "keccak256": "0x2b99e3a8ccef63721f2524eaf53ff675be0510596ef5790562a6f9efe6a4a824", "urls": [ "bzz-raw://f6f8b4c1e4a639b5c5920880f6464bf291c25f0abe064bf9000171ab40ade820", "dweb:/ipfs/QmXJ5r6ji5NWffbHyL2Zy2CNPBxDzhJFRimfUCxA8b5n1K" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IWETH.sol": { "keccak256": "0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2", "urls": [ "bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2", "dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ" ], "license": "GPL-3.0" }, "contracts/release/utils/AssetHelpers.sol": { "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", "urls": [ "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", "urls": [ "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Address.sol": { "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", "urls": [ "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" } }, "version": 1 }, "id": 167 } diff --git a/eth_defi/abi/enzyme/CurveGaugeV2ActionsMixin.json b/eth_defi/abi/enzyme/CurveGaugeV2ActionsMixin.json index 11021060..619fe0cc 100644 --- a/eth_defi/abi/enzyme/CurveGaugeV2ActionsMixin.json +++ b/eth_defi/abi/enzyme/CurveGaugeV2ActionsMixin.json @@ -1,142 +1 @@ -{ - "abi": [], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": {}, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"CurveGaugeV2ActionsMixin Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Mixin contract for interacting with any Curve LiquidityGaugeV2 contract\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/integration-manager/integrations/utils/actions/CurveGaugeV2ActionsMixin.sol\":\"CurveGaugeV2ActionsMixin\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/integration-manager/integrations/utils/actions/CurveGaugeV2ActionsMixin.sol\":{\"keccak256\":\"0xb297d967916d8560814b5d85ca8abedacf7d3c414390a0eb1179aa3adaa9be1b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://97b52856086845cdfe9ddcd6e0be1eb72658a6775ab3cec97c4aa4d5477d28f3\",\"dweb:/ipfs/QmccHa8AXHZ4TiBu9225cxi6RgT6SskhgmUFzEJmgzE625\"]},\"contracts/release/interfaces/ICurveLiquidityGaugeV2.sol\":{\"keccak256\":\"0x0fbd9bdd7d7df1cd92c065ae3e62f1767d80914f086a0f146a2c9874aa7d4e30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://7ed9ee21be1e5c6e6caf3abd0a092410c50614239c72a361612e3d71a649e6e1\",\"dweb:/ipfs/QmZgGgbPsWAiMwnPiimNGgFN6ZnaqcUkRSsSpnQi1MtBNs\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/integration-manager/integrations/utils/actions/CurveGaugeV2ActionsMixin.sol": "CurveGaugeV2ActionsMixin" - }, - "libraries": {} - }, - "sources": { - "contracts/release/extensions/integration-manager/integrations/utils/actions/CurveGaugeV2ActionsMixin.sol": { - "keccak256": "0xb297d967916d8560814b5d85ca8abedacf7d3c414390a0eb1179aa3adaa9be1b", - "urls": [ - "bzz-raw://97b52856086845cdfe9ddcd6e0be1eb72658a6775ab3cec97c4aa4d5477d28f3", - "dweb:/ipfs/QmccHa8AXHZ4TiBu9225cxi6RgT6SskhgmUFzEJmgzE625" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/ICurveLiquidityGaugeV2.sol": { - "keccak256": "0x0fbd9bdd7d7df1cd92c065ae3e62f1767d80914f086a0f146a2c9874aa7d4e30", - "urls": [ - "bzz-raw://7ed9ee21be1e5c6e6caf3abd0a092410c50614239c72a361612e3d71a649e6e1", - "dweb:/ipfs/QmZgGgbPsWAiMwnPiimNGgFN6ZnaqcUkRSsSpnQi1MtBNs" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AssetHelpers.sol": { - "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", - "urls": [ - "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", - "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { - "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", - "urls": [ - "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", - "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Address.sol": { - "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", - "urls": [ - "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", - "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 187 -} +{ "abi": [], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": {}, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"CurveGaugeV2ActionsMixin Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Mixin contract for interacting with any Curve LiquidityGaugeV2 contract\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/integration-manager/integrations/utils/actions/CurveGaugeV2ActionsMixin.sol\":\"CurveGaugeV2ActionsMixin\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/integration-manager/integrations/utils/actions/CurveGaugeV2ActionsMixin.sol\":{\"keccak256\":\"0xb297d967916d8560814b5d85ca8abedacf7d3c414390a0eb1179aa3adaa9be1b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://97b52856086845cdfe9ddcd6e0be1eb72658a6775ab3cec97c4aa4d5477d28f3\",\"dweb:/ipfs/QmccHa8AXHZ4TiBu9225cxi6RgT6SskhgmUFzEJmgzE625\"]},\"contracts/release/interfaces/ICurveLiquidityGaugeV2.sol\":{\"keccak256\":\"0x0fbd9bdd7d7df1cd92c065ae3e62f1767d80914f086a0f146a2c9874aa7d4e30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://7ed9ee21be1e5c6e6caf3abd0a092410c50614239c72a361612e3d71a649e6e1\",\"dweb:/ipfs/QmZgGgbPsWAiMwnPiimNGgFN6ZnaqcUkRSsSpnQi1MtBNs\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/integration-manager/integrations/utils/actions/CurveGaugeV2ActionsMixin.sol": "CurveGaugeV2ActionsMixin" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/extensions/integration-manager/integrations/utils/actions/CurveGaugeV2ActionsMixin.sol": { "keccak256": "0xb297d967916d8560814b5d85ca8abedacf7d3c414390a0eb1179aa3adaa9be1b", "urls": [ "bzz-raw://97b52856086845cdfe9ddcd6e0be1eb72658a6775ab3cec97c4aa4d5477d28f3", "dweb:/ipfs/QmccHa8AXHZ4TiBu9225cxi6RgT6SskhgmUFzEJmgzE625" ], "license": "GPL-3.0" }, "contracts/release/interfaces/ICurveLiquidityGaugeV2.sol": { "keccak256": "0x0fbd9bdd7d7df1cd92c065ae3e62f1767d80914f086a0f146a2c9874aa7d4e30", "urls": [ "bzz-raw://7ed9ee21be1e5c6e6caf3abd0a092410c50614239c72a361612e3d71a649e6e1", "dweb:/ipfs/QmZgGgbPsWAiMwnPiimNGgFN6ZnaqcUkRSsSpnQi1MtBNs" ], "license": "GPL-3.0" }, "contracts/release/utils/AssetHelpers.sol": { "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", "urls": [ "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", "urls": [ "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Address.sol": { "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", "urls": [ "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" } }, "version": 1 }, "id": 187 } diff --git a/eth_defi/abi/enzyme/CurveGaugeV2RewardsHandlerMixin.json b/eth_defi/abi/enzyme/CurveGaugeV2RewardsHandlerMixin.json index 2ca7a451..e70ec079 100644 --- a/eth_defi/abi/enzyme/CurveGaugeV2RewardsHandlerMixin.json +++ b/eth_defi/abi/enzyme/CurveGaugeV2RewardsHandlerMixin.json @@ -1,273 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_minter", - "type": "address" - }, - { - "internalType": "address", - "name": "_crvToken", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "name": "getCurveGaugeV2RewardsHandlerCrvToken", - "outputs": [ - { - "internalType": "address", - "name": "crvToken_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getCurveGaugeV2RewardsHandlerMinter", - "outputs": [ - { - "internalType": "address", - "name": "minter_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "getCurveGaugeV2RewardsHandlerCrvToken()": "332d709f", - "getCurveGaugeV2RewardsHandlerMinter()": "f003eb85" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_minter\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_crvToken\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"getCurveGaugeV2RewardsHandlerCrvToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"crvToken_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurveGaugeV2RewardsHandlerMinter\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"minter_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"getCurveGaugeV2RewardsHandlerCrvToken()\":{\"returns\":{\"crvToken_\":\"The `CURVE_GAUGE_V2_REWARDS_HANDLER_CRV_TOKEN` variable value\"}},\"getCurveGaugeV2RewardsHandlerMinter()\":{\"returns\":{\"minter_\":\"The `CURVE_GAUGE_V2_REWARDS_HANDLER_MINTER` variable value\"}}},\"title\":\"CurveGaugeV2RewardsHandlerMixin Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getCurveGaugeV2RewardsHandlerCrvToken()\":{\"notice\":\"Gets the `CURVE_GAUGE_V2_REWARDS_HANDLER_CRV_TOKEN` variable\"},\"getCurveGaugeV2RewardsHandlerMinter()\":{\"notice\":\"Gets the `CURVE_GAUGE_V2_REWARDS_HANDLER_MINTER` variable\"}},\"notice\":\"Mixin contract for handling claiming and reinvesting rewards for a Curve pool that uses the LiquidityGaugeV2 contract\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/integration-manager/integrations/utils/actions/CurveGaugeV2RewardsHandlerMixin.sol\":\"CurveGaugeV2RewardsHandlerMixin\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/integration-manager/integrations/utils/actions/CurveGaugeV2ActionsMixin.sol\":{\"keccak256\":\"0xb297d967916d8560814b5d85ca8abedacf7d3c414390a0eb1179aa3adaa9be1b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://97b52856086845cdfe9ddcd6e0be1eb72658a6775ab3cec97c4aa4d5477d28f3\",\"dweb:/ipfs/QmccHa8AXHZ4TiBu9225cxi6RgT6SskhgmUFzEJmgzE625\"]},\"contracts/release/extensions/integration-manager/integrations/utils/actions/CurveGaugeV2RewardsHandlerMixin.sol\":{\"keccak256\":\"0x03af28f9cd7e5666a8060a8e2208d88f4ec3d6be4c7dad13d41757754296eb5b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d3396dfde6e114902db13370916a570fcad62502520dd129f9cac9f8d80e3aa4\",\"dweb:/ipfs/QmVVDVf6dm6fKvN2gFBM5NQWwX8cNzLszmvGwrUBBoQGqW\"]},\"contracts/release/interfaces/ICurveLiquidityGaugeV2.sol\":{\"keccak256\":\"0x0fbd9bdd7d7df1cd92c065ae3e62f1767d80914f086a0f146a2c9874aa7d4e30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://7ed9ee21be1e5c6e6caf3abd0a092410c50614239c72a361612e3d71a649e6e1\",\"dweb:/ipfs/QmZgGgbPsWAiMwnPiimNGgFN6ZnaqcUkRSsSpnQi1MtBNs\"]},\"contracts/release/interfaces/ICurveMinter.sol\":{\"keccak256\":\"0xbfe0cfa932805d9cda714d7ef7cb6b42d08c782b0ffa46de5e2c0530f4ce5ba1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://29ab2dcee291bf81ccb67ab31fd3548e634fb2742642f70890edc7af727d3d39\",\"dweb:/ipfs/QmVZtC5aHRABS8ZX8XVtwiW1Y8K5vnhVH7WKZ29prN2EpJ\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_minter", - "type": "address" - }, - { - "internalType": "address", - "name": "_crvToken", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getCurveGaugeV2RewardsHandlerCrvToken", - "outputs": [ - { - "internalType": "address", - "name": "crvToken_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getCurveGaugeV2RewardsHandlerMinter", - "outputs": [ - { - "internalType": "address", - "name": "minter_", - "type": "address" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "getCurveGaugeV2RewardsHandlerCrvToken()": { - "returns": { - "crvToken_": "The `CURVE_GAUGE_V2_REWARDS_HANDLER_CRV_TOKEN` variable value" - } - }, - "getCurveGaugeV2RewardsHandlerMinter()": { - "returns": { - "minter_": "The `CURVE_GAUGE_V2_REWARDS_HANDLER_MINTER` variable value" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "getCurveGaugeV2RewardsHandlerCrvToken()": { - "notice": "Gets the `CURVE_GAUGE_V2_REWARDS_HANDLER_CRV_TOKEN` variable" - }, - "getCurveGaugeV2RewardsHandlerMinter()": { - "notice": "Gets the `CURVE_GAUGE_V2_REWARDS_HANDLER_MINTER` variable" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/integration-manager/integrations/utils/actions/CurveGaugeV2RewardsHandlerMixin.sol": "CurveGaugeV2RewardsHandlerMixin" - }, - "libraries": {} - }, - "sources": { - "contracts/release/extensions/integration-manager/integrations/utils/actions/CurveGaugeV2ActionsMixin.sol": { - "keccak256": "0xb297d967916d8560814b5d85ca8abedacf7d3c414390a0eb1179aa3adaa9be1b", - "urls": [ - "bzz-raw://97b52856086845cdfe9ddcd6e0be1eb72658a6775ab3cec97c4aa4d5477d28f3", - "dweb:/ipfs/QmccHa8AXHZ4TiBu9225cxi6RgT6SskhgmUFzEJmgzE625" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/utils/actions/CurveGaugeV2RewardsHandlerMixin.sol": { - "keccak256": "0x03af28f9cd7e5666a8060a8e2208d88f4ec3d6be4c7dad13d41757754296eb5b", - "urls": [ - "bzz-raw://d3396dfde6e114902db13370916a570fcad62502520dd129f9cac9f8d80e3aa4", - "dweb:/ipfs/QmVVDVf6dm6fKvN2gFBM5NQWwX8cNzLszmvGwrUBBoQGqW" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/ICurveLiquidityGaugeV2.sol": { - "keccak256": "0x0fbd9bdd7d7df1cd92c065ae3e62f1767d80914f086a0f146a2c9874aa7d4e30", - "urls": [ - "bzz-raw://7ed9ee21be1e5c6e6caf3abd0a092410c50614239c72a361612e3d71a649e6e1", - "dweb:/ipfs/QmZgGgbPsWAiMwnPiimNGgFN6ZnaqcUkRSsSpnQi1MtBNs" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/ICurveMinter.sol": { - "keccak256": "0xbfe0cfa932805d9cda714d7ef7cb6b42d08c782b0ffa46de5e2c0530f4ce5ba1", - "urls": [ - "bzz-raw://29ab2dcee291bf81ccb67ab31fd3548e634fb2742642f70890edc7af727d3d39", - "dweb:/ipfs/QmVZtC5aHRABS8ZX8XVtwiW1Y8K5vnhVH7WKZ29prN2EpJ" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AddressArrayLib.sol": { - "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", - "urls": [ - "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", - "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AssetHelpers.sol": { - "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", - "urls": [ - "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", - "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { - "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", - "urls": [ - "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", - "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Address.sol": { - "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", - "urls": [ - "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", - "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 188 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_minter", "type": "address", "internalType": "address" }, { "name": "_crvToken", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "getCurveGaugeV2RewardsHandlerCrvToken", "inputs": [], "outputs": [ { "name": "crvToken_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getCurveGaugeV2RewardsHandlerMinter", "inputs": [], "outputs": [ { "name": "minter_", "type": "address", "internalType": "address" } ], "stateMutability": "view" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "getCurveGaugeV2RewardsHandlerCrvToken()": "332d709f", "getCurveGaugeV2RewardsHandlerMinter()": "f003eb85" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_minter\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_crvToken\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"getCurveGaugeV2RewardsHandlerCrvToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"crvToken_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurveGaugeV2RewardsHandlerMinter\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"minter_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"getCurveGaugeV2RewardsHandlerCrvToken()\":{\"returns\":{\"crvToken_\":\"The `CURVE_GAUGE_V2_REWARDS_HANDLER_CRV_TOKEN` variable value\"}},\"getCurveGaugeV2RewardsHandlerMinter()\":{\"returns\":{\"minter_\":\"The `CURVE_GAUGE_V2_REWARDS_HANDLER_MINTER` variable value\"}}},\"title\":\"CurveGaugeV2RewardsHandlerMixin Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getCurveGaugeV2RewardsHandlerCrvToken()\":{\"notice\":\"Gets the `CURVE_GAUGE_V2_REWARDS_HANDLER_CRV_TOKEN` variable\"},\"getCurveGaugeV2RewardsHandlerMinter()\":{\"notice\":\"Gets the `CURVE_GAUGE_V2_REWARDS_HANDLER_MINTER` variable\"}},\"notice\":\"Mixin contract for handling claiming and reinvesting rewards for a Curve pool that uses the LiquidityGaugeV2 contract\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/integration-manager/integrations/utils/actions/CurveGaugeV2RewardsHandlerMixin.sol\":\"CurveGaugeV2RewardsHandlerMixin\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/integration-manager/integrations/utils/actions/CurveGaugeV2ActionsMixin.sol\":{\"keccak256\":\"0xb297d967916d8560814b5d85ca8abedacf7d3c414390a0eb1179aa3adaa9be1b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://97b52856086845cdfe9ddcd6e0be1eb72658a6775ab3cec97c4aa4d5477d28f3\",\"dweb:/ipfs/QmccHa8AXHZ4TiBu9225cxi6RgT6SskhgmUFzEJmgzE625\"]},\"contracts/release/extensions/integration-manager/integrations/utils/actions/CurveGaugeV2RewardsHandlerMixin.sol\":{\"keccak256\":\"0x03af28f9cd7e5666a8060a8e2208d88f4ec3d6be4c7dad13d41757754296eb5b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d3396dfde6e114902db13370916a570fcad62502520dd129f9cac9f8d80e3aa4\",\"dweb:/ipfs/QmVVDVf6dm6fKvN2gFBM5NQWwX8cNzLszmvGwrUBBoQGqW\"]},\"contracts/release/interfaces/ICurveLiquidityGaugeV2.sol\":{\"keccak256\":\"0x0fbd9bdd7d7df1cd92c065ae3e62f1767d80914f086a0f146a2c9874aa7d4e30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://7ed9ee21be1e5c6e6caf3abd0a092410c50614239c72a361612e3d71a649e6e1\",\"dweb:/ipfs/QmZgGgbPsWAiMwnPiimNGgFN6ZnaqcUkRSsSpnQi1MtBNs\"]},\"contracts/release/interfaces/ICurveMinter.sol\":{\"keccak256\":\"0xbfe0cfa932805d9cda714d7ef7cb6b42d08c782b0ffa46de5e2c0530f4ce5ba1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://29ab2dcee291bf81ccb67ab31fd3548e634fb2742642f70890edc7af727d3d39\",\"dweb:/ipfs/QmVZtC5aHRABS8ZX8XVtwiW1Y8K5vnhVH7WKZ29prN2EpJ\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_minter", "type": "address" }, { "internalType": "address", "name": "_crvToken", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getCurveGaugeV2RewardsHandlerCrvToken", "outputs": [ { "internalType": "address", "name": "crvToken_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getCurveGaugeV2RewardsHandlerMinter", "outputs": [ { "internalType": "address", "name": "minter_", "type": "address" } ] } ], "devdoc": { "kind": "dev", "methods": { "getCurveGaugeV2RewardsHandlerCrvToken()": { "returns": { "crvToken_": "The `CURVE_GAUGE_V2_REWARDS_HANDLER_CRV_TOKEN` variable value" } }, "getCurveGaugeV2RewardsHandlerMinter()": { "returns": { "minter_": "The `CURVE_GAUGE_V2_REWARDS_HANDLER_MINTER` variable value" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "getCurveGaugeV2RewardsHandlerCrvToken()": { "notice": "Gets the `CURVE_GAUGE_V2_REWARDS_HANDLER_CRV_TOKEN` variable" }, "getCurveGaugeV2RewardsHandlerMinter()": { "notice": "Gets the `CURVE_GAUGE_V2_REWARDS_HANDLER_MINTER` variable" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/integration-manager/integrations/utils/actions/CurveGaugeV2RewardsHandlerMixin.sol": "CurveGaugeV2RewardsHandlerMixin" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/extensions/integration-manager/integrations/utils/actions/CurveGaugeV2ActionsMixin.sol": { "keccak256": "0xb297d967916d8560814b5d85ca8abedacf7d3c414390a0eb1179aa3adaa9be1b", "urls": [ "bzz-raw://97b52856086845cdfe9ddcd6e0be1eb72658a6775ab3cec97c4aa4d5477d28f3", "dweb:/ipfs/QmccHa8AXHZ4TiBu9225cxi6RgT6SskhgmUFzEJmgzE625" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/utils/actions/CurveGaugeV2RewardsHandlerMixin.sol": { "keccak256": "0x03af28f9cd7e5666a8060a8e2208d88f4ec3d6be4c7dad13d41757754296eb5b", "urls": [ "bzz-raw://d3396dfde6e114902db13370916a570fcad62502520dd129f9cac9f8d80e3aa4", "dweb:/ipfs/QmVVDVf6dm6fKvN2gFBM5NQWwX8cNzLszmvGwrUBBoQGqW" ], "license": "GPL-3.0" }, "contracts/release/interfaces/ICurveLiquidityGaugeV2.sol": { "keccak256": "0x0fbd9bdd7d7df1cd92c065ae3e62f1767d80914f086a0f146a2c9874aa7d4e30", "urls": [ "bzz-raw://7ed9ee21be1e5c6e6caf3abd0a092410c50614239c72a361612e3d71a649e6e1", "dweb:/ipfs/QmZgGgbPsWAiMwnPiimNGgFN6ZnaqcUkRSsSpnQi1MtBNs" ], "license": "GPL-3.0" }, "contracts/release/interfaces/ICurveMinter.sol": { "keccak256": "0xbfe0cfa932805d9cda714d7ef7cb6b42d08c782b0ffa46de5e2c0530f4ce5ba1", "urls": [ "bzz-raw://29ab2dcee291bf81ccb67ab31fd3548e634fb2742642f70890edc7af727d3d39", "dweb:/ipfs/QmVZtC5aHRABS8ZX8XVtwiW1Y8K5vnhVH7WKZ29prN2EpJ" ], "license": "GPL-3.0" }, "contracts/release/utils/AddressArrayLib.sol": { "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", "urls": [ "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" ], "license": "GPL-3.0" }, "contracts/release/utils/AssetHelpers.sol": { "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", "urls": [ "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", "urls": [ "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Address.sol": { "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", "urls": [ "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" } }, "version": 1 }, "id": 188 } diff --git a/eth_defi/abi/enzyme/CurveLiquidityActionsMixin.json b/eth_defi/abi/enzyme/CurveLiquidityActionsMixin.json index bab7da5c..c05f9452 100644 --- a/eth_defi/abi/enzyme/CurveLiquidityActionsMixin.json +++ b/eth_defi/abi/enzyme/CurveLiquidityActionsMixin.json @@ -1,212 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_wrappedNativeAsset", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "name": "getCurveLiquidityWrappedNativeAsset", - "outputs": [ - { - "internalType": "address", - "name": "addressProvider_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "getCurveLiquidityWrappedNativeAsset()": "12c9d386" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_wrappedNativeAsset\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"getCurveLiquidityWrappedNativeAsset\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"addressProvider_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"Inheriting contract must have a receive() function if lending or redeeming for the native asset\",\"kind\":\"dev\",\"methods\":{\"getCurveLiquidityWrappedNativeAsset()\":{\"returns\":{\"addressProvider_\":\"The `CURVE_LIQUIDITY_WRAPPED_NATIVE_ASSET` variable value\"}}},\"title\":\"CurveLiquidityActionsMixin Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getCurveLiquidityWrappedNativeAsset()\":{\"notice\":\"Gets the `CURVE_LIQUIDITY_WRAPPED_NATIVE_ASSET` variable\"}},\"notice\":\"Mixin contract for interacting with the Curve pool liquidity functions\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/integration-manager/integrations/utils/actions/CurveLiquidityActionsMixin.sol\":\"CurveLiquidityActionsMixin\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/integration-manager/integrations/utils/actions/CurveLiquidityActionsMixin.sol\":{\"keccak256\":\"0x71e040ad76ac9927ca73d597ce6cc767475b75f08227db9a4f471ac4b8291805\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://089fa77e85aeb131f96d02d2c46e2f99b59dd0337cde82244b11e23602ee4329\",\"dweb:/ipfs/QmZTv8u4HrMz4sm5TFLHv1nfjfjfUkcASD4Qhz88EVYwAR\"]},\"contracts/release/interfaces/IWETH.sol\":{\"keccak256\":\"0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2\",\"dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]},\"node_modules/@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0xa1e12f97981f1d0964b1c048978606a57127c56c438bab61cdfe269cad859a74\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5eefac1760f524971e14aa3f3d79515a3d54fd28c1d3bdca0b36127da349b830\",\"dweb:/ipfs/QmUMzkyH3ytJX5gVPizQruNLhkKmuJb3nFqBDad4LPdg5U\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_wrappedNativeAsset", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getCurveLiquidityWrappedNativeAsset", - "outputs": [ - { - "internalType": "address", - "name": "addressProvider_", - "type": "address" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "getCurveLiquidityWrappedNativeAsset()": { - "returns": { - "addressProvider_": "The `CURVE_LIQUIDITY_WRAPPED_NATIVE_ASSET` variable value" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "getCurveLiquidityWrappedNativeAsset()": { - "notice": "Gets the `CURVE_LIQUIDITY_WRAPPED_NATIVE_ASSET` variable" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/integration-manager/integrations/utils/actions/CurveLiquidityActionsMixin.sol": "CurveLiquidityActionsMixin" - }, - "libraries": {} - }, - "sources": { - "contracts/release/extensions/integration-manager/integrations/utils/actions/CurveLiquidityActionsMixin.sol": { - "keccak256": "0x71e040ad76ac9927ca73d597ce6cc767475b75f08227db9a4f471ac4b8291805", - "urls": [ - "bzz-raw://089fa77e85aeb131f96d02d2c46e2f99b59dd0337cde82244b11e23602ee4329", - "dweb:/ipfs/QmZTv8u4HrMz4sm5TFLHv1nfjfjfUkcASD4Qhz88EVYwAR" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IWETH.sol": { - "keccak256": "0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2", - "urls": [ - "bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2", - "dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AssetHelpers.sol": { - "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", - "urls": [ - "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", - "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { - "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", - "urls": [ - "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", - "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Address.sol": { - "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", - "urls": [ - "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", - "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Strings.sol": { - "keccak256": "0xa1e12f97981f1d0964b1c048978606a57127c56c438bab61cdfe269cad859a74", - "urls": [ - "bzz-raw://5eefac1760f524971e14aa3f3d79515a3d54fd28c1d3bdca0b36127da349b830", - "dweb:/ipfs/QmUMzkyH3ytJX5gVPizQruNLhkKmuJb3nFqBDad4LPdg5U" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 189 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_wrappedNativeAsset", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "getCurveLiquidityWrappedNativeAsset", "inputs": [], "outputs": [ { "name": "addressProvider_", "type": "address", "internalType": "address" } ], "stateMutability": "view" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "getCurveLiquidityWrappedNativeAsset()": "12c9d386" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_wrappedNativeAsset\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"getCurveLiquidityWrappedNativeAsset\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"addressProvider_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"Inheriting contract must have a receive() function if lending or redeeming for the native asset\",\"kind\":\"dev\",\"methods\":{\"getCurveLiquidityWrappedNativeAsset()\":{\"returns\":{\"addressProvider_\":\"The `CURVE_LIQUIDITY_WRAPPED_NATIVE_ASSET` variable value\"}}},\"title\":\"CurveLiquidityActionsMixin Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getCurveLiquidityWrappedNativeAsset()\":{\"notice\":\"Gets the `CURVE_LIQUIDITY_WRAPPED_NATIVE_ASSET` variable\"}},\"notice\":\"Mixin contract for interacting with the Curve pool liquidity functions\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/integration-manager/integrations/utils/actions/CurveLiquidityActionsMixin.sol\":\"CurveLiquidityActionsMixin\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/integration-manager/integrations/utils/actions/CurveLiquidityActionsMixin.sol\":{\"keccak256\":\"0x71e040ad76ac9927ca73d597ce6cc767475b75f08227db9a4f471ac4b8291805\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://089fa77e85aeb131f96d02d2c46e2f99b59dd0337cde82244b11e23602ee4329\",\"dweb:/ipfs/QmZTv8u4HrMz4sm5TFLHv1nfjfjfUkcASD4Qhz88EVYwAR\"]},\"contracts/release/interfaces/IWETH.sol\":{\"keccak256\":\"0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2\",\"dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]},\"node_modules/@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0xa1e12f97981f1d0964b1c048978606a57127c56c438bab61cdfe269cad859a74\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5eefac1760f524971e14aa3f3d79515a3d54fd28c1d3bdca0b36127da349b830\",\"dweb:/ipfs/QmUMzkyH3ytJX5gVPizQruNLhkKmuJb3nFqBDad4LPdg5U\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_wrappedNativeAsset", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getCurveLiquidityWrappedNativeAsset", "outputs": [ { "internalType": "address", "name": "addressProvider_", "type": "address" } ] } ], "devdoc": { "kind": "dev", "methods": { "getCurveLiquidityWrappedNativeAsset()": { "returns": { "addressProvider_": "The `CURVE_LIQUIDITY_WRAPPED_NATIVE_ASSET` variable value" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "getCurveLiquidityWrappedNativeAsset()": { "notice": "Gets the `CURVE_LIQUIDITY_WRAPPED_NATIVE_ASSET` variable" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/integration-manager/integrations/utils/actions/CurveLiquidityActionsMixin.sol": "CurveLiquidityActionsMixin" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/extensions/integration-manager/integrations/utils/actions/CurveLiquidityActionsMixin.sol": { "keccak256": "0x71e040ad76ac9927ca73d597ce6cc767475b75f08227db9a4f471ac4b8291805", "urls": [ "bzz-raw://089fa77e85aeb131f96d02d2c46e2f99b59dd0337cde82244b11e23602ee4329", "dweb:/ipfs/QmZTv8u4HrMz4sm5TFLHv1nfjfjfUkcASD4Qhz88EVYwAR" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IWETH.sol": { "keccak256": "0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2", "urls": [ "bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2", "dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ" ], "license": "GPL-3.0" }, "contracts/release/utils/AssetHelpers.sol": { "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", "urls": [ "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", "urls": [ "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Address.sol": { "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", "urls": [ "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Strings.sol": { "keccak256": "0xa1e12f97981f1d0964b1c048978606a57127c56c438bab61cdfe269cad859a74", "urls": [ "bzz-raw://5eefac1760f524971e14aa3f3d79515a3d54fd28c1d3bdca0b36127da349b830", "dweb:/ipfs/QmUMzkyH3ytJX5gVPizQruNLhkKmuJb3nFqBDad4LPdg5U" ], "license": "MIT" } }, "version": 1 }, "id": 189 } diff --git a/eth_defi/abi/enzyme/CurveLiquidityAdapter.json b/eth_defi/abi/enzyme/CurveLiquidityAdapter.json index cc995b10..47f5be43 100644 --- a/eth_defi/abi/enzyme/CurveLiquidityAdapter.json +++ b/eth_defi/abi/enzyme/CurveLiquidityAdapter.json @@ -1,1379 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_integrationManager", - "type": "address" - }, - { - "internalType": "address", - "name": "_curvePriceFeed", - "type": "address" - }, - { - "internalType": "address", - "name": "_wrappedNativeAsset", - "type": "address" - }, - { - "internalType": "address", - "name": "_curveMinter", - "type": "address" - }, - { - "internalType": "address", - "name": "_crvToken", - "type": "address" - }, - { - "internalType": "address", - "name": "_nativeAssetAddress", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "name": "CLAIM_REWARDS_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "LEND_AND_STAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "LEND_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "REDEEM_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "STAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "TAKE_MULTIPLE_ORDERS_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "TAKE_ORDER_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "UNSTAKE_AND_REDEEM_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "UNSTAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "claimRewards", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getCurveGaugeV2RewardsHandlerCrvToken", - "outputs": [ - { - "internalType": "address", - "name": "crvToken_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getCurveGaugeV2RewardsHandlerMinter", - "outputs": [ - { - "internalType": "address", - "name": "minter_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getCurveLiquidityWrappedNativeAsset", - "outputs": [ - { - "internalType": "address", - "name": "addressProvider_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getIntegrationManager", - "outputs": [ - { - "internalType": "address", - "name": "integrationManager_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "_assetData", - "type": "bytes" - } - ], - "name": "lend", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "_assetData", - "type": "bytes" - } - ], - "name": "lendAndStake", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes4", - "name": "_selector", - "type": "bytes4" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - } - ], - "name": "parseAssetsForAction", - "outputs": [ - { - "internalType": "enum IIntegrationManager.SpendAssetsHandleType", - "name": "spendAssetsHandleType_", - "type": "uint8" - }, - { - "internalType": "address[]", - "name": "spendAssets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "spendAssetAmounts_", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "incomingAssets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "minIncomingAssetAmounts_", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "_assetData", - "type": "bytes" - } - ], - "name": "redeem", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "_assetData", - "type": "bytes" - } - ], - "name": "stake", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "_assetData", - "type": "bytes" - } - ], - "name": "unstake", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "_assetData", - "type": "bytes" - } - ], - "name": "unstakeAndRedeem", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "stateMutability": "payable", - "type": "receive" - } - ], - "bytecode": { - "object": "0x61014060405234801561001157600080fd5b50604051620041bd380380620041bd833981810160405260c081101561003657600080fd5b5080516020820151604083015160608085015160808087015160a0978801516001600160601b031997851b881690925293831b861690965294811b841660c05290811b831660e05292831b82166101005290911b166101205260805160601c60a05160601c60c05160601c60e05160601c6101005160601c6101205160601c61408c6200013160003980610d8152806122bd528061255552806126ea528061296b52806133125250806114cd52806120455280613115525080610ebe525080613d8d525080610bde525080610a815280610c535280610f33528061102d5280611190528061124652806114a9528061151e525061408c6000f3fe60806040526004361061012e5760003560e01c80638334eb99116100ab578063c32990a21161006f578063c32990a214610754578063c54efee514610769578063e7c4569014610938578063f003eb851461094d578063f7d882b514610962578063fa7dd04d1461097757610135565b80638334eb9914610499578063863e5ad014610574578063b23228cf14610589578063b9dfbacc1461059e578063c29fa9dd1461067957610135565b806329fa046e116100f257806329fa046e146102a4578063332d709f1461037f5780633ffc15911461039457806340da225d146103a957806368e30677146103be57610135565b8063080456c11461013a578063099f75151461016c57806312c9d38614610249578063131461c01461027a578063257cb1a31461028f57610135565b3661013557005b600080fd5b34801561014657600080fd5b5061014f610a52565b604080516001600160e01b03199092168252519081900360200190f35b34801561017857600080fd5b506102476004803603606081101561018f57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b8111156101b957600080fd5b8201836020820111156101cb57600080fd5b803590602001918460018302840111600160201b831117156101ec57600080fd5b919390929091602081019035600160201b81111561020957600080fd5b82018360208201111561021b57600080fd5b803590602001918460018302840111600160201b8311171561023c57600080fd5b509092509050610a76565b005b34801561025557600080fd5b5061025e610bdc565b604080516001600160a01b039092168252519081900360200190f35b34801561028657600080fd5b5061014f610c00565b34801561029b57600080fd5b5061014f610c24565b3480156102b057600080fd5b50610247600480360360608110156102c757600080fd5b6001600160a01b038235169190810190604081016020820135600160201b8111156102f157600080fd5b82018360208201111561030357600080fd5b803590602001918460018302840111600160201b8311171561032457600080fd5b919390929091602081019035600160201b81111561034157600080fd5b82018360208201111561035357600080fd5b803590602001918460018302840111600160201b8311171561037457600080fd5b509092509050610c48565b34801561038b57600080fd5b5061025e610ebc565b3480156103a057600080fd5b5061014f610ee0565b3480156103b557600080fd5b5061014f610f04565b3480156103ca57600080fd5b50610247600480360360608110156103e157600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561040b57600080fd5b82018360208201111561041d57600080fd5b803590602001918460018302840111600160201b8311171561043e57600080fd5b919390929091602081019035600160201b81111561045b57600080fd5b82018360208201111561046d57600080fd5b803590602001918460018302840111600160201b8311171561048e57600080fd5b509092509050610f28565b3480156104a557600080fd5b50610247600480360360608110156104bc57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b8111156104e657600080fd5b8201836020820111156104f857600080fd5b803590602001918460018302840111600160201b8311171561051957600080fd5b919390929091602081019035600160201b81111561053657600080fd5b82018360208201111561054857600080fd5b803590602001918460018302840111600160201b8311171561056957600080fd5b509092509050611022565b34801561058057600080fd5b5061014f61113d565b34801561059557600080fd5b5061014f611161565b3480156105aa57600080fd5b50610247600480360360608110156105c157600080fd5b6001600160a01b038235169190810190604081016020820135600160201b8111156105eb57600080fd5b8201836020820111156105fd57600080fd5b803590602001918460018302840111600160201b8311171561061e57600080fd5b919390929091602081019035600160201b81111561063b57600080fd5b82018360208201111561064d57600080fd5b803590602001918460018302840111600160201b8311171561066e57600080fd5b509092509050611185565b34801561068557600080fd5b506102476004803603606081101561069c57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b8111156106c657600080fd5b8201836020820111156106d857600080fd5b803590602001918460018302840111600160201b831117156106f957600080fd5b919390929091602081019035600160201b81111561071657600080fd5b82018360208201111561072857600080fd5b803590602001918460018302840111600160201b8311171561074957600080fd5b50909250905061123b565b34801561076057600080fd5b5061014f611338565b34801561077557600080fd5b506108036004803603606081101561078c57600080fd5b6001600160a01b03823516916001600160e01b031960208201351691810190606081016040820135600160201b8111156107c557600080fd5b8201836020820111156107d757600080fd5b803590602001918460018302840111600160201b831117156107f857600080fd5b50909250905061135c565b6040518086600281111561081357fe5b815260200180602001806020018060200180602001858103855289818151815260200191508051906020019060200280838360005b83811015610860578181015183820152602001610848565b50505050905001858103845288818151815260200191508051906020019060200280838360005b8381101561089f578181015183820152602001610887565b50505050905001858103835287818151815260200191508051906020019060200280838360005b838110156108de5781810151838201526020016108c6565b50505050905001858103825286818151815260200191508051906020019060200280838360005b8381101561091d578181015183820152602001610905565b50505050905001995050505050505050505060405180910390f35b34801561094457600080fd5b5061025e6114a7565b34801561095957600080fd5b5061025e6114cb565b34801561096e57600080fd5b5061014f6114ef565b34801561098357600080fd5b506102476004803603606081101561099a57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b8111156109c457600080fd5b8201836020820111156109d657600080fd5b803590602001918460018302840111600160201b831117156109f757600080fd5b919390929091602081019035600160201b811115610a1457600080fd5b820183602082011115610a2657600080fd5b803590602001918460018302840111600160201b83111715610a4757600080fd5b509092509050611513565b7f8334eb99be0145865eba9889fca2ee920288090caefff4cc776038e20ad9259a81565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610add5760405162461bcd60e51b8152600401808060200182810382526032815260200180613fc76032913960400191505060405180910390fd5b8482828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250604080516020601f8c018190048102820181019092528a8152919450606093508492508291610b59918c908c908190840183828082843760009201919091525061165192505050565b93509350935093506060610ba289898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061171a92505050565b50509050610bb385828686866118d7565b50505050506060610bc38261171a565b92505050610bd18382611b8b565b505050505050505050565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f29fa046e79524c3c5ac4c01df692c35e217802b2b13b21121b76cf0ef02b138c81565b7f099f75155f0e997bf83a7993a71d5e7e7540bd386fe1e84643a09ce6b412521981565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610caf5760405162461bcd60e51b8152600401808060200182810382526032815260200180613fc76032913960400191505060405180910390fd5b8482828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250604080516020601f8c018190048102820181019092528a81529194506060935084925082918291610d2e91908d908d9081908401838280828437600092019190915250611ce692505050565b945094509450945094506060610d798a8a8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061171a92505050565b5050905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316631f5bce55886040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610dec57600080fd5b505afa158015610e00573d6000803e3d6000fd5b505050506040513d6020811015610e1657600080fd5b50519050610e2787838887876118d7565b610eaa8582836001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610e7957600080fd5b505afa158015610e8d573d6000803e3d6000fd5b505050506040513d6020811015610ea357600080fd5b5051611dba565b505050505050506060610bc38261171a565b7f000000000000000000000000000000000000000000000000000000000000000090565b7ffa7dd04da627f433da73c4355ead9c75682a67a8fc84d3f6170ef0922f402d2481565b7fb9dfbaccbe5cd2a84fdcf1d15f23ef25d23086f5afbaa99516065ed4a5bbc7a381565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610f8f5760405162461bcd60e51b8152600401808060200182810382526032815260200180613fc76032913960400191505060405180910390fd5b8482828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250604080516020601f8c018190048102820181019092528a815291945084935061100692508a908a9081908401838280828437600092019190915250611e3092505050565b92509250506110158282611e64565b50506060610bc38261171a565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146110895760405162461bcd60e51b8152600401808060200182810382526032815260200180613fc76032913960400191505060405180910390fd5b8482828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250604080516020601f8c018190048102820181019092528a815291945084935083925082918291606091611109918e908e9081908401838280828437600092019190915250611ec692505050565b95509550955095509550955061111f8585611e64565b61112c8685858585611fc9565b5050505050506060610bc38261171a565b7f03e38a2bd7063d45c897edeafc330e71657502dd86434d3c37a489caf116af6981565b7f68e30677f607df46e87da13e15b637784cfa62374b653f35ab43d10361a2f83081565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146111ec5760405162461bcd60e51b8152600401808060200182810382526032815260200180613fc76032913960400191505060405180910390fd5b61123461122e85858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061201592505050565b86612036565b5050505050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146112a25760405162461bcd60e51b8152600401808060200182810382526032815260200180613fc76032913960400191505060405180910390fd5b8482828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250604080516020601f8c018190048102820181019092528a8152919450849350839250829160609161132191908d908d90819084018382808284376000920191909152506120ea92505050565b94509450945094509450610bb38585858585611fc9565b7f0e7f692dad5b88fdee426250d6eae91207e56a2e8112b7364579bed1790e5bf481565b600060608080806001600160e01b03198816632e77eeb360e21b1415611393576113846121e3565b9450945094509450945061149c565b6001600160e01b0319881663099f751560e01b14156113b6576113848787612243565b6001600160e01b031988166314fd023760e11b14156113d95761138487876123d3565b6001600160e01b0319881663c29fa9dd60e01b14156113fc5761138487876124d8565b6001600160e01b0319881663fa7dd04d60e01b141561141f57611384878761266c565b6001600160e01b031988166368e3067760e01b141561144257611384878761286e565b6001600160e01b03198816638334eb9960e01b1415611465576113848787612a0f565b60405162461bcd60e51b81526004018080602001828103825260278152602001806140596027913960400191505060405180910390fd5b945094509450945094565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b7fc29fa9dde84204c2908778afd0613d802d31cf046179b88f6d2b4a4e507ea2d581565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461157a5760405162461bcd60e51b8152600401808060200182810382526032815260200180613fc76032913960400191505060405180910390fd5b8482828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f88018190048102820181019092528681526060935083925082916115f69190899089908190840183828082843760009201919091525061171a92505050565b9250925092506116438160008151811061160c57fe5b60200260200101518460008151811061162157fe5b60200260200101518460008151811061163657fe5b6020026020010151611dba565b5050506060610bc38261171a565b6000606060008084806020019051608081101561166d57600080fd5b815160208301805160405192949293830192919084600160201b82111561169357600080fd5b9083019060208201858111156116a857600080fd5b82518660208202830111600160201b821117156116c457600080fd5b82525081516020918201928201910280838360005b838110156116f15781810151838201526020016116d9565b505050509190910160409081526020830151920151959b949a5090985093965091945050505050565b606080606083806020019051606081101561173457600080fd5b8101908080516040519392919084600160201b82111561175357600080fd5b90830190602082018581111561176857600080fd5b82518660208202830111600160201b8211171561178457600080fd5b82525081516020918201928201910280838360005b838110156117b1578181015183820152602001611799565b5050505090500160405260200180516040519392919084600160201b8211156117d957600080fd5b9083019060208201858111156117ee57600080fd5b82518660208202830111600160201b8211171561180a57600080fd5b82525081516020918201928201910280838360005b8381101561183757818101518382015260200161181f565b5050505090500160405260200180516040519392919084600160201b82111561185f57600080fd5b90830190602082018581111561187457600080fd5b82518660208202830111600160201b8211171561189057600080fd5b82525081516020918201928201910280838360005b838110156118bd5781810151838201526020016118a5565b505050509050016040525050509250925092509193909250565b6000805b8551811015611a4a576118ec610bdc565b6001600160a01b031686828151811061190157fe5b60200260200101516001600160a01b03161415611a0457611920610bdc565b6001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561196c57600080fd5b505afa158015611980573d6000803e3d6000fd5b505050506040513d602081101561199657600080fd5b505191506119a2610bdc565b6001600160a01b0316632e1a7d4d836040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b1580156119e757600080fd5b505af11580156119fb573d6000803e3d6000fd5b50505050611a42565b611a42868281518110611a1357fe5b6020026020010151887f161bcca7119915b50764b4abe86529797775a5f1719510000000000000000000612b18565b6001016118db565b5060006060876001600160a01b031683611a65888888612bd6565b6040518082805190602001908083835b60208310611a945780518252601f199092019160209182019101611a75565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114611af6576040519150601f19603f3d011682016040523d82523d6000602084013e611afb565b606091505b5091509150818190610bd15760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611b50578181015183820152602001611b38565b50505050905090810190601f168015611b7d5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b6060815167ffffffffffffffff81118015611ba557600080fd5b50604051908082528060200260200182016040528015611bcf578160200160208202803683370190505b50905060005b8251811015611cdf576000838281518110611bec57fe5b60200260200101519050806001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015611c4357600080fd5b505afa158015611c57573d6000803e3d6000fd5b505050506040513d6020811015611c6d57600080fd5b50518351849084908110611c7d57fe5b6020026020010181815250506000838381518110611c9757fe5b60200260200101511115611cd657611cd685848481518110611cb557fe5b6020026020010151836001600160a01b0316612d279092919063ffffffff16565b50600101611bd5565b5092915050565b6000606060008060008580602001905160a0811015611d0457600080fd5b815160208301805160405192949293830192919084600160201b821115611d2a57600080fd5b908301906020820185811115611d3f57600080fd5b82518660208202830111600160201b82111715611d5b57600080fd5b82525081516020918201928201910280838360005b83811015611d88578181015183820152602001611d70565b50505050919091016040908152602083015190830151606090930151969d959c509a5090985093965091945050505050565b611dc5828483612b18565b60408051636e553f6560e01b81526004810183905230602482015290516001600160a01b03851691636e553f6591604480830192600092919082900301818387803b158015611e1357600080fd5b505af1158015611e27573d6000803e3d6000fd5b50505050505050565b6000806000838060200190516060811015611e4a57600080fd5b508051602082015160409092015190969195509350915050565b816001600160a01b0316632e1a7d4d826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015611eaa57600080fd5b505af1158015611ebe573d6000803e3d6000fd5b505050505050565b600080600080600060608680602001905160c0811015611ee557600080fd5b815160208301516040808501516060860151608087015160a088018051945196989597939692959194929382019284600160201b821115611f2557600080fd5b908301906020820185811115611f3a57600080fd5b8251600160201b811182820188101715611f5357600080fd5b82525081516020918201929091019080838360005b83811015611f80578181015183820152602001611f68565b50505050905090810190601f168015611fad5780820380516001836020036101000a031916815260200191505b5060405250505095509550955095509550955091939550919395565b6001826001811115611fd757fe5b141561200157600080611fe983612d7e565b91509150611ffa8787848489612da9565b5050611234565b611234858561200f84612f60565b86613008565b600081806020019051602081101561202c57600080fd5b505190505b919050565b61203e613113565b156120dc577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166327f18ae383836040518363ffffffff1660e01b815260040180836001600160a01b03168152602001826001600160a01b0316815260200192505050600060405180830381600087803b1580156120c357600080fd5b505af11580156120d7573d6000803e3d6000fd5b505050505b6120e68282613142565b5050565b60008060008060608580602001905160a081101561210757600080fd5b8151602083015160408085015160608601516080870180519351959794969295919491939282019284600160201b82111561214157600080fd5b90830190602082018581111561215657600080fd5b8251600160201b81118282018810171561216f57600080fd5b82525081516020918201929091019080838360005b8381101561219c578181015183820152602001612184565b50505050905090810190601f1680156121c95780820380516001836020036101000a031916815260200191505b506040525050509450945094509450945091939590929450565b600060608080808480604051908082528060200260200182016040528015612215578160200160208202803683370190505b5060408051600080825260208201818152828401918252606083019093529399929850965094509092509050565b6000606080606080600060606000806122918b8b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061165192505050565b6040805160018082528183019092529498509296509094509250602080830190803683370190505095507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316631f5bce55856040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561232857600080fd5b505afa15801561233c573d6000803e3d6000fd5b505050506040513d602081101561235257600080fd5b50518651879060009061236157fe5b6001600160a01b039290921660209283029190910182015260408051600180825281830190925291828101908036833701905050945081856000815181106123a557fe5b6020026020010181815250506123bc848483613191565b60029a509098509650505050509295509295909350565b60006060806060806000606060008060006124238c8c8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611ce692505050565b945094509450945094506124378584613306565b612442858583613191565b604080516001808252818301909252929b5090995060208083019080368337019050509650828760008151811061247557fe5b6001600160a01b039290921660209283029190910182015260408051600180825281830190925291828101908036833701905050955081866000815181106124b957fe5b6020026020010181815250506002995050505050509295509295909350565b600060608060608060008060008060606125278c8c8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506120ea92505050565b604080516001808252818301909252959a5093985091965094509250602080830190803683370190505098507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316631f5bce55866040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156125c057600080fd5b505afa1580156125d4573d6000803e3d6000fd5b505050506040513d60208110156125ea57600080fd5b505189518a906000906125f957fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509750838860008151811061263d57fe5b60200260200101818152505061265585848484613404565b60029e9a9d50989b50995096979650505050505050565b600060608060608060008060006126b88a8a8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611e3092505050565b9250925092506126c88383613306565b60408051600180825281830190925290602080830190803683370190505096507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316631f5bce55846040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561275557600080fd5b505afa158015612769573d6000803e3d6000fd5b505050506040513d602081101561277f57600080fd5b50518751889060009061278e57fe5b6001600160a01b039290921660209283029190910182015260408051600180825281830190925291828101908036833701905050955080866000815181106127d257fe5b602090810291909101015260408051600180825281830190925290816020016020820280368337019050509450818560008151811061280d57fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509350808460008151811061285157fe5b602002602001018181525050600297505050509295509295909350565b600060608060608060008060006128ba8a8a8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611e3092505050565b9250925092506128ca8383613306565b604080516001808252818301909252906020808301908036833701905050965081876000815181106128f857fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509550808660008151811061293c57fe5b6020908102919091010152604080516001808252818301909252908160200160208202803683370190505094507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316631f5bce55846040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156129d657600080fd5b505afa1580156129ea573d6000803e3d6000fd5b505050506040513d6020811015612a0057600080fd5b50518551869060009061280d57fe5b600060608060608060008060008060006060612a608d8d8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611ec692505050565b955095509550955095509550612a768686613306565b6040805160018082528183019092529060208083019080368337019050509950848a600081518110612aa457fe5b6001600160a01b03929092166020928302919091018201526040805160018082528183019092529182810190803683370190505098508389600081518110612ae857fe5b602002602001018181525050612b0086848484613404565b60029f9b9e50999c509a509798975050505050505050565b60408051636eb1769f60e11b81523060048201526001600160a01b038481166024830152915160009286169163dd62ed3e916044808301926020929190829003018186803b158015612b6957600080fd5b505afa158015612b7d573d6000803e3d6000fd5b505050506040513d6020811015612b9357600080fd5b5051905081811015612bd0578015612bba57612bba6001600160a01b038516846000613559565b612bd06001600160a01b03851684600019613559565b50505050565b6060808215612c005750604080516001602080830191909152825180830390910181529082019091525b612c0b85518461366c565b8560405160200180828051906020019060200280838360005b83811015612c3c578181015183820152602001612c24565b50505050905001915050604051602081830303815290604052858360405160200180856001600160e01b031916815260040184805190602001908083835b60208310612c995780518252601f199092019160209182019101612c7a565b51815160209384036101000a60001901801990921691161790529201858152845190830192850191508083835b60208310612ce55780518252601f199092019160209182019101612cc6565b6001836020036101000a0380198251168184511680821785525050505050509050019450505050506040516020818303038152906040529150505b9392505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052612d799084906137a8565b505050565b600080828060200190516040811015612d9657600080fd5b5080516020909101519092509050915091565b60608115612e0a57506040805160248101869052600f85900b60448201526064810184905260016084808301919091528251808303909101815260a49091019091526020810180516001600160e01b031663517a55a360e01b179052612e55565b506040805160248101869052600f85900b604482015260648082018590528251808303909101815260849091019091526020810180516001600160e01b0316630d2680e960e11b1790525b60006060876001600160a01b0316836040518082805190602001908083835b60208310612e935780518252601f199092019160209182019101612e74565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612ef5576040519150601f19603f3d011682016040523d82523d6000602084013e612efa565b606091505b5091509150818190612f4d5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315611b50578181015183820152602001611b38565b50612f56613859565b5050505050505050565b6060818060200190516020811015612f7757600080fd5b8101908080516040519392919084600160201b821115612f9657600080fd5b908301906020820185811115612fab57600080fd5b82518660208202830111600160201b82111715612fc757600080fd5b82525081516020918201928201910280838360005b83811015612ff4578181015183820152602001612fdc565b505050509050016040525050509050919050565b60006060856001600160a01b03166130218686866138a6565b6040518082805190602001908083835b602083106130505780518252601f199092019160209182019101613031565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146130b2576040519150601f19603f3d011682016040523d82523d6000602084013e6130b7565b606091505b509150915081819061310a5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315611b50578181015183820152602001611b38565b50611ebe613859565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316151590565b816001600160a01b03166384e9bd7e826040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050600060405180830381600087803b158015611eaa57600080fd5b6060806000805b85518110156131cc5760008682815181106131af57fe5b602002602001015111156131c4576001909101905b600101613198565b508067ffffffffffffffff811180156131e457600080fd5b5060405190808252806020026020018201604052801561320e578160200160208202803683370190505b5092508067ffffffffffffffff8111801561322857600080fd5b50604051908082528060200260200182016040528015613252578160200160208202803683370190505b5091506000805b86518110156132fb57600087828151811061327057fe5b602002602001015111156132f3576132898882886139b9565b85838151811061329557fe5b60200260200101906001600160a01b031690816001600160a01b0316815250508681815181106132c157fe5b60200260200101518483815181106132d557fe5b6020908102919091010152600190910190828214156132f3576132fb565b600101613259565b505050935093915050565b816001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316636a2175c0836040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561337d57600080fd5b505afa158015613391573d6000803e3d6000fd5b505050506040513d60208110156133a757600080fd5b50516001600160a01b0316146120e6576040805162461bcd60e51b815260206004820152601860248201527f5f5f76616c696461746547617567653a20496e76616c69640000000000000000604482015290519081900360640190fd5b606080600184600181111561341557fe5b14156134bb5760008061342785612d7e565b604080516001808252818301909252929450909250602080830190803683370190505093506134578883896139b9565b8460008151811061346457fe5b6001600160a01b039290921660209283029190910182015260408051600180825281830190925291828101908036833701905050925080836000815181106134a857fe5b6020026020010181815250505050613550565b6134c483612f60565b9050805167ffffffffffffffff811180156134de57600080fd5b50604051908082528060200260200182016040528015613508578160200160208202803683370190505b50915060005b825181101561354e576135228782886139b9565b83828151811061352e57fe5b6001600160a01b039092166020928302919091019091015260010161350e565b505b94509492505050565b8015806135df575060408051636eb1769f60e11b81523060048201526001600160a01b03848116602483015291519185169163dd62ed3e91604480820192602092909190829003018186803b1580156135b157600080fd5b505afa1580156135c5573d6000803e3d6000fd5b505050506040513d60208110156135db57600080fd5b5051155b61361a5760405162461bcd60e51b81526004018080602001828103825260368152602001806140236036913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052612d799084906137a8565b60006060821561369457506040805180820190915260058152640b189bdbdb60da1b60208201525b61369d84613bab565b816040516020018080756164645f6c69717569646974792875696e743235365b60501b81525060160183805190602001908083835b602083106136f15780518252601f1990920191602091820191016136d2565b51815160209384036101000a600019018019909216911617905261174b60f21b91909301908152663ab4b73a191a9b60c91b60028201528451600990910192850191508083835b602083106137575780518252601f199092019160209182019101613738565b6001836020036101000a03801982511681845116808217855250505050505090500180602960f81b815250600101925050506040516020818303038152906040528051906020012091505092915050565b60606137fd826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316613c869092919063ffffffff16565b805190915015612d795780806020019051602081101561381c57600080fd5b5051612d795760405162461bcd60e51b815260040180806020018281038252602a815260200180613ff9602a913960400191505060405180910390fd5b303180156138a357613869610bdc565b6001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b158015611eaa57600080fd5b50565b60608082156138d05750604080516001602080830191909152825180830390910181529082019091525b6138db845184613c95565b858560405160200180828051906020019060200280838360005b8381101561390d5781810151838201526020016138f5565b505050509050019150506040516020818303038152906040528360405160200180856001600160e01b031916815260040184815260200183805190602001908083835b6020831061396f5780518252601f199092019160209182019101613950565b51815160001960209485036101000a0190811690199190911617905285519390910192908501915080838360208310612ce55780518252601f199092019160209182019101612cc6565b60008115613ab057836001600160a01b031663b9947eb0846040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015613a0557600080fd5b505afa925050508015613a2a57506040513d6020811015613a2557600080fd5b505160015b613aa857836001600160a01b031663b739953e846040518263ffffffff1660e01b81526004018082600f0b815260200191505060206040518083038186803b158015613a7557600080fd5b505afa158015613a89573d6000803e3d6000fd5b505050506040513d6020811015613a9f57600080fd5b50519050613aab565b90505b613b9a565b836001600160a01b031663c6610657846040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015613af457600080fd5b505afa925050508015613b1957506040513d6020811015613b1457600080fd5b505160015b613b9757836001600160a01b03166323746eb8846040518263ffffffff1660e01b81526004018082600f0b815260200191505060206040518083038186803b158015613b6457600080fd5b505afa158015613b78573d6000803e3d6000fd5b505050506040513d6020811015613b8e57600080fd5b50519050613b9a565b90505b613ba381613d89565b949350505050565b606081613bd057506040805180820190915260018152600360fc1b6020820152612031565b8160005b8115613be857600101600a82049150613bd4565b60608167ffffffffffffffff81118015613c0157600080fd5b506040519080825280601f01601f191660200182016040528015613c2c576020820181803683370190505b50859350905060001982015b8315613c7d57600a840660300160f81b82828060019003935081518110613c5b57fe5b60200101906001600160f81b031916908160001a905350600a84049350613c38565b50949350505050565b6060613ba38484600085613dd8565b600060608215613cbd57506040805180820190915260058152640b189bdbdb60da1b60208201525b613cc684613bab565b6040517f72656d6f76655f6c69717569646974792875696e743235362c0000000000000060208083019182526775696e743235365b60c01b603984015283518593604101918501908083835b60208310613d315780518252601f199092019160209182019101613d12565b6001836020036101000a03801982511681845116808217855250505050505090500180605d60f81b8152506001018280519060200190808383602083106137575780518252601f199092019160209182019101613738565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b03161415613dd457613dcd610bdc565b9050612031565b5090565b606082471015613e195760405162461bcd60e51b8152600401808060200182810382526026815260200180613fa16026913960400191505060405180910390fd5b613e2285613f34565b613e73576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b60208310613eb25780518252601f199092019160209182019101613e93565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114613f14576040519150601f19603f3d011682016040523d82523d6000602084013e613f19565b606091505b5091509150613f29828286613f3a565b979650505050505050565b3b151590565b60608315613f49575081612d20565b825115613f595782518084602001fd5b60405162461bcd60e51b8152602060048201818152845160248401528451859391928392604401919085019080838360008315611b50578181015183820152602001611b3856fe416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c4f6e6c792074686520496e746567726174696f6e4d616e616765722063616e2063616c6c20746869732066756e6374696f6e5361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e63657061727365417373657473466f72416374696f6e3a205f73656c6563746f7220696e76616c6964a164736f6c634300060c000a", - "sourceMap": "913:18416:168:-:0;;;1077:476;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1077:476:168;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1938:41:179;;;;;;;;1247:58:189;;;;;;;;1015::203;;;;;1077:476:168;1015:58:203;998:52:188;;;;;;;1060:47;;;;;;;1487:59:168;;;;::::2;::::0;913:18416;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x60806040526004361061012e5760003560e01c80638334eb99116100ab578063c32990a21161006f578063c32990a214610754578063c54efee514610769578063e7c4569014610938578063f003eb851461094d578063f7d882b514610962578063fa7dd04d1461097757610135565b80638334eb9914610499578063863e5ad014610574578063b23228cf14610589578063b9dfbacc1461059e578063c29fa9dd1461067957610135565b806329fa046e116100f257806329fa046e146102a4578063332d709f1461037f5780633ffc15911461039457806340da225d146103a957806368e30677146103be57610135565b8063080456c11461013a578063099f75151461016c57806312c9d38614610249578063131461c01461027a578063257cb1a31461028f57610135565b3661013557005b600080fd5b34801561014657600080fd5b5061014f610a52565b604080516001600160e01b03199092168252519081900360200190f35b34801561017857600080fd5b506102476004803603606081101561018f57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b8111156101b957600080fd5b8201836020820111156101cb57600080fd5b803590602001918460018302840111600160201b831117156101ec57600080fd5b919390929091602081019035600160201b81111561020957600080fd5b82018360208201111561021b57600080fd5b803590602001918460018302840111600160201b8311171561023c57600080fd5b509092509050610a76565b005b34801561025557600080fd5b5061025e610bdc565b604080516001600160a01b039092168252519081900360200190f35b34801561028657600080fd5b5061014f610c00565b34801561029b57600080fd5b5061014f610c24565b3480156102b057600080fd5b50610247600480360360608110156102c757600080fd5b6001600160a01b038235169190810190604081016020820135600160201b8111156102f157600080fd5b82018360208201111561030357600080fd5b803590602001918460018302840111600160201b8311171561032457600080fd5b919390929091602081019035600160201b81111561034157600080fd5b82018360208201111561035357600080fd5b803590602001918460018302840111600160201b8311171561037457600080fd5b509092509050610c48565b34801561038b57600080fd5b5061025e610ebc565b3480156103a057600080fd5b5061014f610ee0565b3480156103b557600080fd5b5061014f610f04565b3480156103ca57600080fd5b50610247600480360360608110156103e157600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561040b57600080fd5b82018360208201111561041d57600080fd5b803590602001918460018302840111600160201b8311171561043e57600080fd5b919390929091602081019035600160201b81111561045b57600080fd5b82018360208201111561046d57600080fd5b803590602001918460018302840111600160201b8311171561048e57600080fd5b509092509050610f28565b3480156104a557600080fd5b50610247600480360360608110156104bc57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b8111156104e657600080fd5b8201836020820111156104f857600080fd5b803590602001918460018302840111600160201b8311171561051957600080fd5b919390929091602081019035600160201b81111561053657600080fd5b82018360208201111561054857600080fd5b803590602001918460018302840111600160201b8311171561056957600080fd5b509092509050611022565b34801561058057600080fd5b5061014f61113d565b34801561059557600080fd5b5061014f611161565b3480156105aa57600080fd5b50610247600480360360608110156105c157600080fd5b6001600160a01b038235169190810190604081016020820135600160201b8111156105eb57600080fd5b8201836020820111156105fd57600080fd5b803590602001918460018302840111600160201b8311171561061e57600080fd5b919390929091602081019035600160201b81111561063b57600080fd5b82018360208201111561064d57600080fd5b803590602001918460018302840111600160201b8311171561066e57600080fd5b509092509050611185565b34801561068557600080fd5b506102476004803603606081101561069c57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b8111156106c657600080fd5b8201836020820111156106d857600080fd5b803590602001918460018302840111600160201b831117156106f957600080fd5b919390929091602081019035600160201b81111561071657600080fd5b82018360208201111561072857600080fd5b803590602001918460018302840111600160201b8311171561074957600080fd5b50909250905061123b565b34801561076057600080fd5b5061014f611338565b34801561077557600080fd5b506108036004803603606081101561078c57600080fd5b6001600160a01b03823516916001600160e01b031960208201351691810190606081016040820135600160201b8111156107c557600080fd5b8201836020820111156107d757600080fd5b803590602001918460018302840111600160201b831117156107f857600080fd5b50909250905061135c565b6040518086600281111561081357fe5b815260200180602001806020018060200180602001858103855289818151815260200191508051906020019060200280838360005b83811015610860578181015183820152602001610848565b50505050905001858103845288818151815260200191508051906020019060200280838360005b8381101561089f578181015183820152602001610887565b50505050905001858103835287818151815260200191508051906020019060200280838360005b838110156108de5781810151838201526020016108c6565b50505050905001858103825286818151815260200191508051906020019060200280838360005b8381101561091d578181015183820152602001610905565b50505050905001995050505050505050505060405180910390f35b34801561094457600080fd5b5061025e6114a7565b34801561095957600080fd5b5061025e6114cb565b34801561096e57600080fd5b5061014f6114ef565b34801561098357600080fd5b506102476004803603606081101561099a57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b8111156109c457600080fd5b8201836020820111156109d657600080fd5b803590602001918460018302840111600160201b831117156109f757600080fd5b919390929091602081019035600160201b811115610a1457600080fd5b820183602082011115610a2657600080fd5b803590602001918460018302840111600160201b83111715610a4757600080fd5b509092509050611513565b7f8334eb99be0145865eba9889fca2ee920288090caefff4cc776038e20ad9259a81565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610add5760405162461bcd60e51b8152600401808060200182810382526032815260200180613fc76032913960400191505060405180910390fd5b8482828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250604080516020601f8c018190048102820181019092528a8152919450606093508492508291610b59918c908c908190840183828082843760009201919091525061165192505050565b93509350935093506060610ba289898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061171a92505050565b50509050610bb385828686866118d7565b50505050506060610bc38261171a565b92505050610bd18382611b8b565b505050505050505050565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f29fa046e79524c3c5ac4c01df692c35e217802b2b13b21121b76cf0ef02b138c81565b7f099f75155f0e997bf83a7993a71d5e7e7540bd386fe1e84643a09ce6b412521981565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610caf5760405162461bcd60e51b8152600401808060200182810382526032815260200180613fc76032913960400191505060405180910390fd5b8482828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250604080516020601f8c018190048102820181019092528a81529194506060935084925082918291610d2e91908d908d9081908401838280828437600092019190915250611ce692505050565b945094509450945094506060610d798a8a8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061171a92505050565b5050905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316631f5bce55886040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610dec57600080fd5b505afa158015610e00573d6000803e3d6000fd5b505050506040513d6020811015610e1657600080fd5b50519050610e2787838887876118d7565b610eaa8582836001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610e7957600080fd5b505afa158015610e8d573d6000803e3d6000fd5b505050506040513d6020811015610ea357600080fd5b5051611dba565b505050505050506060610bc38261171a565b7f000000000000000000000000000000000000000000000000000000000000000090565b7ffa7dd04da627f433da73c4355ead9c75682a67a8fc84d3f6170ef0922f402d2481565b7fb9dfbaccbe5cd2a84fdcf1d15f23ef25d23086f5afbaa99516065ed4a5bbc7a381565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610f8f5760405162461bcd60e51b8152600401808060200182810382526032815260200180613fc76032913960400191505060405180910390fd5b8482828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250604080516020601f8c018190048102820181019092528a815291945084935061100692508a908a9081908401838280828437600092019190915250611e3092505050565b92509250506110158282611e64565b50506060610bc38261171a565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146110895760405162461bcd60e51b8152600401808060200182810382526032815260200180613fc76032913960400191505060405180910390fd5b8482828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250604080516020601f8c018190048102820181019092528a815291945084935083925082918291606091611109918e908e9081908401838280828437600092019190915250611ec692505050565b95509550955095509550955061111f8585611e64565b61112c8685858585611fc9565b5050505050506060610bc38261171a565b7f03e38a2bd7063d45c897edeafc330e71657502dd86434d3c37a489caf116af6981565b7f68e30677f607df46e87da13e15b637784cfa62374b653f35ab43d10361a2f83081565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146111ec5760405162461bcd60e51b8152600401808060200182810382526032815260200180613fc76032913960400191505060405180910390fd5b61123461122e85858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061201592505050565b86612036565b5050505050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146112a25760405162461bcd60e51b8152600401808060200182810382526032815260200180613fc76032913960400191505060405180910390fd5b8482828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250604080516020601f8c018190048102820181019092528a8152919450849350839250829160609161132191908d908d90819084018382808284376000920191909152506120ea92505050565b94509450945094509450610bb38585858585611fc9565b7f0e7f692dad5b88fdee426250d6eae91207e56a2e8112b7364579bed1790e5bf481565b600060608080806001600160e01b03198816632e77eeb360e21b1415611393576113846121e3565b9450945094509450945061149c565b6001600160e01b0319881663099f751560e01b14156113b6576113848787612243565b6001600160e01b031988166314fd023760e11b14156113d95761138487876123d3565b6001600160e01b0319881663c29fa9dd60e01b14156113fc5761138487876124d8565b6001600160e01b0319881663fa7dd04d60e01b141561141f57611384878761266c565b6001600160e01b031988166368e3067760e01b141561144257611384878761286e565b6001600160e01b03198816638334eb9960e01b1415611465576113848787612a0f565b60405162461bcd60e51b81526004018080602001828103825260278152602001806140596027913960400191505060405180910390fd5b945094509450945094565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b7fc29fa9dde84204c2908778afd0613d802d31cf046179b88f6d2b4a4e507ea2d581565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461157a5760405162461bcd60e51b8152600401808060200182810382526032815260200180613fc76032913960400191505060405180910390fd5b8482828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f88018190048102820181019092528681526060935083925082916115f69190899089908190840183828082843760009201919091525061171a92505050565b9250925092506116438160008151811061160c57fe5b60200260200101518460008151811061162157fe5b60200260200101518460008151811061163657fe5b6020026020010151611dba565b5050506060610bc38261171a565b6000606060008084806020019051608081101561166d57600080fd5b815160208301805160405192949293830192919084600160201b82111561169357600080fd5b9083019060208201858111156116a857600080fd5b82518660208202830111600160201b821117156116c457600080fd5b82525081516020918201928201910280838360005b838110156116f15781810151838201526020016116d9565b505050509190910160409081526020830151920151959b949a5090985093965091945050505050565b606080606083806020019051606081101561173457600080fd5b8101908080516040519392919084600160201b82111561175357600080fd5b90830190602082018581111561176857600080fd5b82518660208202830111600160201b8211171561178457600080fd5b82525081516020918201928201910280838360005b838110156117b1578181015183820152602001611799565b5050505090500160405260200180516040519392919084600160201b8211156117d957600080fd5b9083019060208201858111156117ee57600080fd5b82518660208202830111600160201b8211171561180a57600080fd5b82525081516020918201928201910280838360005b8381101561183757818101518382015260200161181f565b5050505090500160405260200180516040519392919084600160201b82111561185f57600080fd5b90830190602082018581111561187457600080fd5b82518660208202830111600160201b8211171561189057600080fd5b82525081516020918201928201910280838360005b838110156118bd5781810151838201526020016118a5565b505050509050016040525050509250925092509193909250565b6000805b8551811015611a4a576118ec610bdc565b6001600160a01b031686828151811061190157fe5b60200260200101516001600160a01b03161415611a0457611920610bdc565b6001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561196c57600080fd5b505afa158015611980573d6000803e3d6000fd5b505050506040513d602081101561199657600080fd5b505191506119a2610bdc565b6001600160a01b0316632e1a7d4d836040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b1580156119e757600080fd5b505af11580156119fb573d6000803e3d6000fd5b50505050611a42565b611a42868281518110611a1357fe5b6020026020010151887f161bcca7119915b50764b4abe86529797775a5f1719510000000000000000000612b18565b6001016118db565b5060006060876001600160a01b031683611a65888888612bd6565b6040518082805190602001908083835b60208310611a945780518252601f199092019160209182019101611a75565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114611af6576040519150601f19603f3d011682016040523d82523d6000602084013e611afb565b606091505b5091509150818190610bd15760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611b50578181015183820152602001611b38565b50505050905090810190601f168015611b7d5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b6060815167ffffffffffffffff81118015611ba557600080fd5b50604051908082528060200260200182016040528015611bcf578160200160208202803683370190505b50905060005b8251811015611cdf576000838281518110611bec57fe5b60200260200101519050806001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015611c4357600080fd5b505afa158015611c57573d6000803e3d6000fd5b505050506040513d6020811015611c6d57600080fd5b50518351849084908110611c7d57fe5b6020026020010181815250506000838381518110611c9757fe5b60200260200101511115611cd657611cd685848481518110611cb557fe5b6020026020010151836001600160a01b0316612d279092919063ffffffff16565b50600101611bd5565b5092915050565b6000606060008060008580602001905160a0811015611d0457600080fd5b815160208301805160405192949293830192919084600160201b821115611d2a57600080fd5b908301906020820185811115611d3f57600080fd5b82518660208202830111600160201b82111715611d5b57600080fd5b82525081516020918201928201910280838360005b83811015611d88578181015183820152602001611d70565b50505050919091016040908152602083015190830151606090930151969d959c509a5090985093965091945050505050565b611dc5828483612b18565b60408051636e553f6560e01b81526004810183905230602482015290516001600160a01b03851691636e553f6591604480830192600092919082900301818387803b158015611e1357600080fd5b505af1158015611e27573d6000803e3d6000fd5b50505050505050565b6000806000838060200190516060811015611e4a57600080fd5b508051602082015160409092015190969195509350915050565b816001600160a01b0316632e1a7d4d826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015611eaa57600080fd5b505af1158015611ebe573d6000803e3d6000fd5b505050505050565b600080600080600060608680602001905160c0811015611ee557600080fd5b815160208301516040808501516060860151608087015160a088018051945196989597939692959194929382019284600160201b821115611f2557600080fd5b908301906020820185811115611f3a57600080fd5b8251600160201b811182820188101715611f5357600080fd5b82525081516020918201929091019080838360005b83811015611f80578181015183820152602001611f68565b50505050905090810190601f168015611fad5780820380516001836020036101000a031916815260200191505b5060405250505095509550955095509550955091939550919395565b6001826001811115611fd757fe5b141561200157600080611fe983612d7e565b91509150611ffa8787848489612da9565b5050611234565b611234858561200f84612f60565b86613008565b600081806020019051602081101561202c57600080fd5b505190505b919050565b61203e613113565b156120dc577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166327f18ae383836040518363ffffffff1660e01b815260040180836001600160a01b03168152602001826001600160a01b0316815260200192505050600060405180830381600087803b1580156120c357600080fd5b505af11580156120d7573d6000803e3d6000fd5b505050505b6120e68282613142565b5050565b60008060008060608580602001905160a081101561210757600080fd5b8151602083015160408085015160608601516080870180519351959794969295919491939282019284600160201b82111561214157600080fd5b90830190602082018581111561215657600080fd5b8251600160201b81118282018810171561216f57600080fd5b82525081516020918201929091019080838360005b8381101561219c578181015183820152602001612184565b50505050905090810190601f1680156121c95780820380516001836020036101000a031916815260200191505b506040525050509450945094509450945091939590929450565b600060608080808480604051908082528060200260200182016040528015612215578160200160208202803683370190505b5060408051600080825260208201818152828401918252606083019093529399929850965094509092509050565b6000606080606080600060606000806122918b8b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061165192505050565b6040805160018082528183019092529498509296509094509250602080830190803683370190505095507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316631f5bce55856040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561232857600080fd5b505afa15801561233c573d6000803e3d6000fd5b505050506040513d602081101561235257600080fd5b50518651879060009061236157fe5b6001600160a01b039290921660209283029190910182015260408051600180825281830190925291828101908036833701905050945081856000815181106123a557fe5b6020026020010181815250506123bc848483613191565b60029a509098509650505050509295509295909350565b60006060806060806000606060008060006124238c8c8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611ce692505050565b945094509450945094506124378584613306565b612442858583613191565b604080516001808252818301909252929b5090995060208083019080368337019050509650828760008151811061247557fe5b6001600160a01b039290921660209283029190910182015260408051600180825281830190925291828101908036833701905050955081866000815181106124b957fe5b6020026020010181815250506002995050505050509295509295909350565b600060608060608060008060008060606125278c8c8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506120ea92505050565b604080516001808252818301909252959a5093985091965094509250602080830190803683370190505098507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316631f5bce55866040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156125c057600080fd5b505afa1580156125d4573d6000803e3d6000fd5b505050506040513d60208110156125ea57600080fd5b505189518a906000906125f957fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509750838860008151811061263d57fe5b60200260200101818152505061265585848484613404565b60029e9a9d50989b50995096979650505050505050565b600060608060608060008060006126b88a8a8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611e3092505050565b9250925092506126c88383613306565b60408051600180825281830190925290602080830190803683370190505096507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316631f5bce55846040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561275557600080fd5b505afa158015612769573d6000803e3d6000fd5b505050506040513d602081101561277f57600080fd5b50518751889060009061278e57fe5b6001600160a01b039290921660209283029190910182015260408051600180825281830190925291828101908036833701905050955080866000815181106127d257fe5b602090810291909101015260408051600180825281830190925290816020016020820280368337019050509450818560008151811061280d57fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509350808460008151811061285157fe5b602002602001018181525050600297505050509295509295909350565b600060608060608060008060006128ba8a8a8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611e3092505050565b9250925092506128ca8383613306565b604080516001808252818301909252906020808301908036833701905050965081876000815181106128f857fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509550808660008151811061293c57fe5b6020908102919091010152604080516001808252818301909252908160200160208202803683370190505094507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316631f5bce55846040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156129d657600080fd5b505afa1580156129ea573d6000803e3d6000fd5b505050506040513d6020811015612a0057600080fd5b50518551869060009061280d57fe5b600060608060608060008060008060006060612a608d8d8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611ec692505050565b955095509550955095509550612a768686613306565b6040805160018082528183019092529060208083019080368337019050509950848a600081518110612aa457fe5b6001600160a01b03929092166020928302919091018201526040805160018082528183019092529182810190803683370190505098508389600081518110612ae857fe5b602002602001018181525050612b0086848484613404565b60029f9b9e50999c509a509798975050505050505050565b60408051636eb1769f60e11b81523060048201526001600160a01b038481166024830152915160009286169163dd62ed3e916044808301926020929190829003018186803b158015612b6957600080fd5b505afa158015612b7d573d6000803e3d6000fd5b505050506040513d6020811015612b9357600080fd5b5051905081811015612bd0578015612bba57612bba6001600160a01b038516846000613559565b612bd06001600160a01b03851684600019613559565b50505050565b6060808215612c005750604080516001602080830191909152825180830390910181529082019091525b612c0b85518461366c565b8560405160200180828051906020019060200280838360005b83811015612c3c578181015183820152602001612c24565b50505050905001915050604051602081830303815290604052858360405160200180856001600160e01b031916815260040184805190602001908083835b60208310612c995780518252601f199092019160209182019101612c7a565b51815160209384036101000a60001901801990921691161790529201858152845190830192850191508083835b60208310612ce55780518252601f199092019160209182019101612cc6565b6001836020036101000a0380198251168184511680821785525050505050509050019450505050506040516020818303038152906040529150505b9392505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052612d799084906137a8565b505050565b600080828060200190516040811015612d9657600080fd5b5080516020909101519092509050915091565b60608115612e0a57506040805160248101869052600f85900b60448201526064810184905260016084808301919091528251808303909101815260a49091019091526020810180516001600160e01b031663517a55a360e01b179052612e55565b506040805160248101869052600f85900b604482015260648082018590528251808303909101815260849091019091526020810180516001600160e01b0316630d2680e960e11b1790525b60006060876001600160a01b0316836040518082805190602001908083835b60208310612e935780518252601f199092019160209182019101612e74565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612ef5576040519150601f19603f3d011682016040523d82523d6000602084013e612efa565b606091505b5091509150818190612f4d5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315611b50578181015183820152602001611b38565b50612f56613859565b5050505050505050565b6060818060200190516020811015612f7757600080fd5b8101908080516040519392919084600160201b821115612f9657600080fd5b908301906020820185811115612fab57600080fd5b82518660208202830111600160201b82111715612fc757600080fd5b82525081516020918201928201910280838360005b83811015612ff4578181015183820152602001612fdc565b505050509050016040525050509050919050565b60006060856001600160a01b03166130218686866138a6565b6040518082805190602001908083835b602083106130505780518252601f199092019160209182019101613031565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146130b2576040519150601f19603f3d011682016040523d82523d6000602084013e6130b7565b606091505b509150915081819061310a5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315611b50578181015183820152602001611b38565b50611ebe613859565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316151590565b816001600160a01b03166384e9bd7e826040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050600060405180830381600087803b158015611eaa57600080fd5b6060806000805b85518110156131cc5760008682815181106131af57fe5b602002602001015111156131c4576001909101905b600101613198565b508067ffffffffffffffff811180156131e457600080fd5b5060405190808252806020026020018201604052801561320e578160200160208202803683370190505b5092508067ffffffffffffffff8111801561322857600080fd5b50604051908082528060200260200182016040528015613252578160200160208202803683370190505b5091506000805b86518110156132fb57600087828151811061327057fe5b602002602001015111156132f3576132898882886139b9565b85838151811061329557fe5b60200260200101906001600160a01b031690816001600160a01b0316815250508681815181106132c157fe5b60200260200101518483815181106132d557fe5b6020908102919091010152600190910190828214156132f3576132fb565b600101613259565b505050935093915050565b816001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316636a2175c0836040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561337d57600080fd5b505afa158015613391573d6000803e3d6000fd5b505050506040513d60208110156133a757600080fd5b50516001600160a01b0316146120e6576040805162461bcd60e51b815260206004820152601860248201527f5f5f76616c696461746547617567653a20496e76616c69640000000000000000604482015290519081900360640190fd5b606080600184600181111561341557fe5b14156134bb5760008061342785612d7e565b604080516001808252818301909252929450909250602080830190803683370190505093506134578883896139b9565b8460008151811061346457fe5b6001600160a01b039290921660209283029190910182015260408051600180825281830190925291828101908036833701905050925080836000815181106134a857fe5b6020026020010181815250505050613550565b6134c483612f60565b9050805167ffffffffffffffff811180156134de57600080fd5b50604051908082528060200260200182016040528015613508578160200160208202803683370190505b50915060005b825181101561354e576135228782886139b9565b83828151811061352e57fe5b6001600160a01b039092166020928302919091019091015260010161350e565b505b94509492505050565b8015806135df575060408051636eb1769f60e11b81523060048201526001600160a01b03848116602483015291519185169163dd62ed3e91604480820192602092909190829003018186803b1580156135b157600080fd5b505afa1580156135c5573d6000803e3d6000fd5b505050506040513d60208110156135db57600080fd5b5051155b61361a5760405162461bcd60e51b81526004018080602001828103825260368152602001806140236036913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052612d799084906137a8565b60006060821561369457506040805180820190915260058152640b189bdbdb60da1b60208201525b61369d84613bab565b816040516020018080756164645f6c69717569646974792875696e743235365b60501b81525060160183805190602001908083835b602083106136f15780518252601f1990920191602091820191016136d2565b51815160209384036101000a600019018019909216911617905261174b60f21b91909301908152663ab4b73a191a9b60c91b60028201528451600990910192850191508083835b602083106137575780518252601f199092019160209182019101613738565b6001836020036101000a03801982511681845116808217855250505050505090500180602960f81b815250600101925050506040516020818303038152906040528051906020012091505092915050565b60606137fd826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316613c869092919063ffffffff16565b805190915015612d795780806020019051602081101561381c57600080fd5b5051612d795760405162461bcd60e51b815260040180806020018281038252602a815260200180613ff9602a913960400191505060405180910390fd5b303180156138a357613869610bdc565b6001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b158015611eaa57600080fd5b50565b60608082156138d05750604080516001602080830191909152825180830390910181529082019091525b6138db845184613c95565b858560405160200180828051906020019060200280838360005b8381101561390d5781810151838201526020016138f5565b505050509050019150506040516020818303038152906040528360405160200180856001600160e01b031916815260040184815260200183805190602001908083835b6020831061396f5780518252601f199092019160209182019101613950565b51815160001960209485036101000a0190811690199190911617905285519390910192908501915080838360208310612ce55780518252601f199092019160209182019101612cc6565b60008115613ab057836001600160a01b031663b9947eb0846040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015613a0557600080fd5b505afa925050508015613a2a57506040513d6020811015613a2557600080fd5b505160015b613aa857836001600160a01b031663b739953e846040518263ffffffff1660e01b81526004018082600f0b815260200191505060206040518083038186803b158015613a7557600080fd5b505afa158015613a89573d6000803e3d6000fd5b505050506040513d6020811015613a9f57600080fd5b50519050613aab565b90505b613b9a565b836001600160a01b031663c6610657846040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015613af457600080fd5b505afa925050508015613b1957506040513d6020811015613b1457600080fd5b505160015b613b9757836001600160a01b03166323746eb8846040518263ffffffff1660e01b81526004018082600f0b815260200191505060206040518083038186803b158015613b6457600080fd5b505afa158015613b78573d6000803e3d6000fd5b505050506040513d6020811015613b8e57600080fd5b50519050613b9a565b90505b613ba381613d89565b949350505050565b606081613bd057506040805180820190915260018152600360fc1b6020820152612031565b8160005b8115613be857600101600a82049150613bd4565b60608167ffffffffffffffff81118015613c0157600080fd5b506040519080825280601f01601f191660200182016040528015613c2c576020820181803683370190505b50859350905060001982015b8315613c7d57600a840660300160f81b82828060019003935081518110613c5b57fe5b60200101906001600160f81b031916908160001a905350600a84049350613c38565b50949350505050565b6060613ba38484600085613dd8565b600060608215613cbd57506040805180820190915260058152640b189bdbdb60da1b60208201525b613cc684613bab565b6040517f72656d6f76655f6c69717569646974792875696e743235362c0000000000000060208083019182526775696e743235365b60c01b603984015283518593604101918501908083835b60208310613d315780518252601f199092019160209182019101613d12565b6001836020036101000a03801982511681845116808217855250505050505090500180605d60f81b8152506001018280519060200190808383602083106137575780518252601f199092019160209182019101613738565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b03161415613dd457613dcd610bdc565b9050612031565b5090565b606082471015613e195760405162461bcd60e51b8152600401808060200182810382526026815260200180613fa16026913960400191505060405180910390fd5b613e2285613f34565b613e73576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b60208310613eb25780518252601f199092019160209182019101613e93565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114613f14576040519150601f19603f3d011682016040523d82523d6000602084013e613f19565b606091505b5091509150613f29828286613f3a565b979650505050505050565b3b151590565b60608315613f49575081612d20565b825115613f595782518084602001fd5b60405162461bcd60e51b8152602060048201818152845160248401528451859391928392604401919085019080838360008315611b50578181015183820152602001611b3856fe416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c4f6e6c792074686520496e746567726174696f6e4d616e616765722063616e2063616c6c20746869732066756e6374696f6e5361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e63657061727365417373657473466f72416374696f6e3a205f73656c6563746f7220696e76616c6964a164736f6c634300060c000a", - "sourceMap": "913:18416:168:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1490:119:180;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;1490:119:180;;;;;;;;;;;;;;2411:737:168;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2411:737:168;;;;;;;;;;;;;;;-1:-1:-1;;;2411:737:168;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2411:737:168;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2411:737:168;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2411:737:168;;;;;;;;;;-1:-1:-1;2411:737:168;;-1:-1:-1;2411:737:168;-1:-1:-1;2411:737:168;:::i;:::-;;9355:154:189;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;9355:154:189;;;;;;;;;;;;;;1373:111:180;;;;;;;;;;;;;:::i;832:85::-;;;;;;;;;;;;;:::i;3438:1031:168:-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3438:1031:168;;;;;;;;;;;;;;;-1:-1:-1;;;3438:1031:168;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3438:1031:168;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3438:1031:168;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3438:1031:168;;;;;;;;;;-1:-1:-1;3438:1031:168;;-1:-1:-1;3438:1031:168;-1:-1:-1;3438:1031:168;:::i;2140:153:188:-;;;;;;;;;;;;;:::i;1034:87:180:-;;;;;;;;;;;;;:::i;1240:110::-;;;;;;;;;;;;;:::i;6258:414:168:-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6258:414:168;;;;;;;;;;;;;;;-1:-1:-1;;;6258:414:168;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;6258:414:168;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;6258:414:168;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;6258:414:168;;;;;;;;;;-1:-1:-1;6258:414:168;;-1:-1:-1;6258:414:168;-1:-1:-1;6258:414:168;:::i;6937:819::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6937:819:168;;;;;;;;;;;;;;;-1:-1:-1;;;6937:819:168;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;6937:819:168;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;6937:819:168;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;6937:819:168;;;;;;;;;;-1:-1:-1;6937:819:168;;-1:-1:-1;6937:819:168;-1:-1:-1;6937:819:168;:::i;706:104:180:-;;;;;;;;;;;;;:::i;1127:91::-;;;;;;;;;;;;;:::i;1893:251:168:-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1893:251:168;;;;;;;;;;;;;;;-1:-1:-1;;;1893:251:168;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1893:251:168;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1893:251:168;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1893:251:168;;;;;;;;;;-1:-1:-1;1893:251:168;;-1:-1:-1;1893:251:168;-1:-1:-1;1893:251:168;:::i;4714:595::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4714:595:168;;;;;;;;;;;;;;;-1:-1:-1;;;4714:595:168;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4714:595:168;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4714:595:168;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4714:595:168;;;;;;;;;;-1:-1:-1;4714:595:168;;-1:-1:-1;4714:595:168;-1:-1:-1;4714:595:168;:::i;577:123:180:-;;;;;;;;;;;;;:::i;8497:1317:168:-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8497:1317:168;;;;-1:-1:-1;;;;;;8497:1317:168;;;;;;;;;;;;;;;;-1:-1:-1;;;8497:1317:168;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;8497:1317:168;;;;;;;;;;-1:-1:-1;8497:1317:168;;-1:-1:-1;8497:1317:168;-1:-1:-1;8497:1317:168;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2637:128:179;;;;;;;;;;;;;:::i;2456:146:188:-;;;;;;;;;;;;;:::i;923:89:180:-;;;;;;;;;;;;;:::i;5497:515:168:-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5497:515:168;;;;;;;;;;;;;;;-1:-1:-1;;;5497:515:168;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5497:515:168;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5497:515:168;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5497:515:168;;;;;;;;;;-1:-1:-1;5497:515:168;;-1:-1:-1;5497:515:168;-1:-1:-1;5497:515:168;:::i;1490:119:180:-;1558:50;1490:119;:::o;2411:737:168:-;1747:10:179;-1:-1:-1;;;;;1761:19:179;1747:33;;1726:130;;;;-1:-1:-1;;;1726:130:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2627:11:168::1;2640:10;;987:278:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;-1:-1:-1;2842:33:168::2;::::0;;::::2;987:278:179::1;2842:33:168::0;::::2;::::0;;::::2;::::0;::::2;::::0;;;;;;;;;;987:278:179;;-1:-1:-1;2706:44:168::2;::::0;-1:-1:-1;987:278:179;;-1:-1:-1;987:278:179;;2842:33:168::2;::::0;2863:11;;;;;;2842:33;::::2;2863:11:::0;;;;2842:33;::::2;;::::0;::::2;::::0;;;;-1:-1:-1;2842:20:168::2;::::0;-1:-1:-1;;;2842:33:168:i:2;:::-;2666:209;;;;;;;;2886:28;2922:29;2940:10;;2922:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;::::0;;;;-1:-1:-1;2922:17:168::2;::::0;-1:-1:-1;;;2922:29:168:i:2;:::-;2885:66;;;;2962:179;2995:4;3013:11;3038:27;3079:24;3117:14;2962:19;:179::i;:::-;1114:1:179;;;;;1131:31:::1;1166:29;1184:10;1166:17;:29::i;:::-;1126:69;;;;1206:52;1230:11;1243:14;1206:23;:52::i;:::-;;1866:1;;;2411:737:168::0;;;;;:::o;9355:154:189:-;9466:36;9355:154;:::o;1373:111:180:-;1437:46;1373:111;:::o;832:85::-;878:38;832:85;:::o;3438:1031:168:-;1747:10:179;-1:-1:-1;;;;;1761:19:179;1747:33;;1726:130;;;;-1:-1:-1;;;1726:130:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3662:11:168::1;3675:10;;987:278:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;-1:-1:-1;3924:41:168::2;::::0;;::::2;987:278:179::1;3924:41:168::0;::::2;::::0;;::::2;::::0;::::2;::::0;;;;;;;;;;987:278:179;;-1:-1:-1;3741:44:168::2;::::0;-1:-1:-1;987:278:179;;-1:-1:-1;987:278:179;;;;3924:41:168::2;::::0;;3953:11;;;;;;3924:41;::::2;3953:11:::0;;;;3924:41;::::2;;::::0;::::2;::::0;;;;-1:-1:-1;3924:28:168::2;::::0;-1:-1:-1;;;3924:41:168:i:2;:::-;3701:264;;;;;;;;;;3976:28;4012:29;4030:10;;4012:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;::::0;;;;-1:-1:-1;4012:17:168::2;::::0;-1:-1:-1;;;4012:29:168:i:2;:::-;3975:66;;;;4052:15;4070:25;-1:-1:-1::0;;;;;4070:43:168::2;;4114:4;4070:49;;;;;;;;;;;;;-1:-1:-1::0;;;;;4070:49:168::2;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;::::0;::::2;;-1:-1:-1::0;4070:49:168;;-1:-1:-1;4130:184:168::2;4163:4:::0;4181:11;4206:27;4247:29;4290:14;4130:19:::2;:184::i;:::-;4325:137;4358:20;4392:7;4419;-1:-1:-1::0;;;;;4413:24:168::2;;4446:4;4413:39;;;;;;;;;;;;;-1:-1:-1::0;;;;;4413:39:168::2;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;::::0;::::2;;-1:-1:-1::0;4413:39:168;4325:19:::2;:137::i;:::-;1114:1:179;;;;;;;1131:31:::1;1166:29;1184:10;1166:17;:29::i;2140:153:188:-:0;2246:40;2140:153;:::o;1034:87:180:-;1081:39;1034:87;:::o;1240:110::-;1303:46;1240:110;:::o;6258:414:168:-;1747:10:179;-1:-1:-1;;;;;1761:19:179;1747:33;;1726:130;;;;-1:-1:-1;;;1726:130:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6477:11:168::1;6490:10;;987:278:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;-1:-1:-1;6567:36:168::2;::::0;;::::2;987:278:179::1;6567:36:168::0;::::2;::::0;;::::2;::::0;::::2;::::0;;;;;;;;;;987:278:179;;-1:-1:-1;987:278:179;;-1:-1:-1;6567:36:168::2;::::0;-1:-1:-1;6591:11:168;;;;;;6567:36;::::2;6591:11:::0;;;;6567:36;::::2;;::::0;::::2;::::0;;;;-1:-1:-1;6567:23:168::2;::::0;-1:-1:-1;;;6567:36:168:i:2;:::-;6516:87;;;;;6614:51;6636:20;6658:6;6614:21;:51::i;:::-;1114:1:179;;1131:31:::1;1166:29;1184:10;1166:17;:29::i;6937:819:168:-:0;1747:10:179;-1:-1:-1;;;;;1761:19:179;1747:33;;1726:130;;;;-1:-1:-1;;;1726:130:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7165:11:168::1;7178:10;;987:278:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;-1:-1:-1;7446:45:168::2;::::0;;::::2;987:278:179::1;7446:45:168::0;::::2;::::0;;::::2;::::0;::::2;::::0;;;;;;;;;;987:278:179;;-1:-1:-1;987:278:179;;-1:-1:-1;987:278:179;;-1:-1:-1;987:278:179;;;;7402:31:168::2;::::0;7446:45:::2;::::0;7479:11;;;;;;7446:45;::::2;7479:11:::0;;;;7446:45;::::2;;::::0;::::2;::::0;;;;-1:-1:-1;7446:32:168::2;::::0;-1:-1:-1;;;7446:45:168:i:2;:::-;7204:287;;;;;;;;;;;;7502:71;7524:20;7546:26;7502:21;:71::i;:::-;7584:165;7611:4;7629:26;7669:14;7697:10;7721:18;7584:13;:165::i;:::-;1114:1:179;;;;;;1131:31:::1;1166:29;1184:10;1166:17;:29::i;706:104:180:-:0;766:43;706:104;:::o;1127:91::-;1176:41;1127:91;:::o;1893:251:168:-;1747:10:179;-1:-1:-1;;;;;1761:19:179;1747:33;;1726:130;;;;-1:-1:-1;;;1726:130:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2052:85:168::1;2082:41;2111:11;;2082:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;2082:28:168::1;::::0;-1:-1:-1;;;2082:41:168:i:1;:::-;2125:11;2052:29;:85::i;:::-;1893:251:::0;;;;;:::o;4714:595::-;1747:10:179;-1:-1:-1;;;;;1761:19:179;1747:33;;1726:130;;;;-1:-1:-1;;;1726:130:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4932:11:168::1;4945:10;;987:278:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;-1:-1:-1;5166:35:168::2;::::0;;::::2;987:278:179::1;5166:35:168::0;::::2;::::0;;::::2;::::0;::::2;::::0;;;;;;;;;;987:278:179;;-1:-1:-1;987:278:179;;-1:-1:-1;987:278:179;;-1:-1:-1;987:278:179;;5122:31:168::2;::::0;5166:35:::2;::::0;;5189:11;;;;;;5166:35;::::2;5189:11:::0;;;;5166:35;::::2;;::::0;::::2;::::0;;;;-1:-1:-1;5166:22:168::2;::::0;-1:-1:-1;;;5166:35:168:i:2;:::-;4971:230;;;;;;;;;;5212:90;5226:4;5232:21;5255:14;5271:10;5283:18;5212:13;:90::i;577:123:180:-:0;647:52;577:123;:::o;8497:1317:168:-;8689:64;8767:29;;;;-1:-1:-1;;;;;;8975:35:168;;-1:-1:-1;;;8975:35:168;8971:777;;;9033:30;:28;:30::i;:::-;9026:37;;;;;;;;;;;;8971:777;-1:-1:-1;;;;;;9084:26:168;;-1:-1:-1;;;9084:26:168;9080:668;;;9133:33;9154:11;;9133:20;:33::i;9080:668::-;-1:-1:-1;;;;;;9187:36:168;;-1:-1:-1;;;9187:36:168;9183:565;;;9246:41;9275:11;;9246:28;:41::i;9183:565::-;-1:-1:-1;;;;;;9308:28:168;;-1:-1:-1;;;9308:28:168;9304:444;;;9359:35;9382:11;;9359:22;:35::i;9304:444::-;-1:-1:-1;;;;;;9415:27:168;;-1:-1:-1;;;9415:27:168;9411:337;;;9465:34;9487:11;;9465:21;:34::i;9411:337::-;-1:-1:-1;;;;;;9520:29:168;;-1:-1:-1;;;9520:29:168;9516:232;;;9572:36;9596:11;;9572:23;:36::i;9516:232::-;-1:-1:-1;;;;;;9629:40:168;;-1:-1:-1;;;9629:40:168;9625:123;;;9692:45;9725:11;;9692:32;:45::i;9625:123::-;9758:49;;-1:-1:-1;;;9758:49:168;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8497:1317;;;;;;;;;;:::o;2637:128:179:-;2739:19;2637:128;:::o;2456:146:188:-;2558:37;2456:146;:::o;923:89:180:-;971:40;923:89;:::o;5497:515:168:-;1747:10:179;-1:-1:-1;;;;;1761:19:179;1747:33;;1726:130;;;;-1:-1:-1;;;1726:130:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5702:11:168::1;5715:10;;987:278:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;;5889:29:168::2;::::0;;::::2;987:278:179::1;5889:29:168::0;::::2;::::0;;::::2;::::0;::::2;::::0;;;;;;;;;;5755:28:::2;::::0;-1:-1:-1;5755:28:168;;-1:-1:-1;5755:28:168;;5889:29:::2;::::0;;5907:10;;;;;;5889:29;::::2;5907:10:::0;;;;5889:29;::::2;;::::0;::::2;::::0;;;;-1:-1:-1;5889:17:168::2;::::0;-1:-1:-1;;;5889:29:168:i:2;:::-;5741:177;;;;;;5929:76;5949:14;5964:1;5949:17;;;;;;;;;;;;;;5968:11;5980:1;5968:14;;;;;;;;;;;;;;5984:17;6002:1;5984:20;;;;;;;;;;;;;;5929:19;:76::i;:::-;1114:1:179;;;1131:31:::1;1166:29;1184:10;1166:17;:29::i;7566:368:203:-:0;7682:13;7709:45;7768:33;7815:20;7878:11;7867:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;7867:60:203;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;7867:60:203;;;;;;;;;;;;-1:-1:-1;7867:60:203;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;7867:60:203;;;;;;;;;;;;;;;7860:67;;;;-1:-1:-1;7867:60:203;;-1:-1:-1;7867:60:203;;-1:-1:-1;7566:368:203;;-1:-1:-1;;;;;7566:368:203:o;2093:332:179:-;2205:29;2248:35;2297:32;2372:10;2361:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;-1:-1:-1;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;-1:-1:-1;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;-1:-1:-1;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2354:64;;;;;;2093:332;;;;;:::o;1570:1873:189:-;2006:33;2054:9;2049:999;2069:23;:30;2065:1;:34;2049:999;;;2154:37;:35;:37::i;:::-;-1:-1:-1;;;;;2124:67:189;:23;2148:1;2124:26;;;;;;;;;;;;;;-1:-1:-1;;;;;2124:67:189;;2120:918;;;2386:37;:35;:37::i;:::-;-1:-1:-1;;;;;2380:54:189;;2468:4;2380:115;;;;;;;;;;;;;-1:-1:-1;;;;;2380:115:189;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2380:115:189;;-1:-1:-1;2519:37:189;:35;:37::i;:::-;-1:-1:-1;;;;;2513:53:189;;2567:25;2513:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2120:918;;;2852:171;2899:23;2923:1;2899:26;;;;;;;;;;;;;;2947:5;873:4;2852:25;:171::i;:::-;2101:3;;2049:999;;;;3112:12;3126:23;3153:5;-1:-1:-1;;;;;3153:10:189;3171:25;3211:169;3262:28;3308:25;3351:15;3211:33;:169::i;:::-;3153:237;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3153:237:189;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3111:279;;;;3408:7;3424:10;3400:36;;;;;-1:-1:-1;;;3400:36:189;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3539:585:355;3649:36;3737:7;:14;3723:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3723:29:355;;3701:51;;3767:9;3762:319;3782:7;:14;3778:1;:18;3762:319;;;3817:19;3845:7;3853:1;3845:10;;;;;;;;;;;;;;3817:39;;3895:13;-1:-1:-1;;;;;3895:23:355;;3927:4;3895:38;;;;;;;;;;;;;-1:-1:-1;;;;;3895:38:355;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3895:38:355;3870:22;;:19;;3890:1;;3870:22;;;;;;;;;;;:63;;;;;3976:1;3951:19;3971:1;3951:22;;;;;;;;;;;;;;:26;3947:124;;;3997:59;4024:7;4033:19;4053:1;4033:22;;;;;;;;;;;;;;3997:13;-1:-1:-1;;;;;3997:26:355;;;:59;;;;;:::i;:::-;-1:-1:-1;3798:3:355;;3762:319;;;;3539:585;;;;:::o;7058:433:203:-;7182:13;7209:45;7268:29;7311:38;7363:20;7426:11;7415:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;7415:69:203;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;7415:69:203;;;;;;;;;;;;-1:-1:-1;7415:69:203;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;7415:69:203;;;;;;;;;;;;;;;;;;;;;7408:76;;;;-1:-1:-1;7415:69:203;-1:-1:-1;7415:69:203;;-1:-1:-1;7415:69:203;;-1:-1:-1;7058:433:203;;-1:-1:-1;;;;;7058:433:203:o;1874:260:187:-;2003:52;2029:8;2039:6;2047:7;2003:25;:52::i;:::-;2065:62;;;-1:-1:-1;;;2065:62:187;;;;;;;;2121:4;2065:62;;;;;;-1:-1:-1;;;;;2065:38:187;;;;;:62;;;;;-1:-1:-1;;2065:62:187;;;;;;;-1:-1:-1;2065:38:187;:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1874:260;;;:::o;10138:295:203:-;10257:13;10284:29;10327:15;10385:11;10374:52;;;;;;;;;;;;;;;-1:-1:-1;10374:52:203;;;;;;;;;;;;;;;-1:-1:-1;10374:52:203;-1:-1:-1;10138:295:203;-1:-1:-1;;10138:295:203:o;2181:138:187:-;2287:6;-1:-1:-1;;;;;2264:39:187;;2304:7;2264:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2181:138;;:::o;9596:465:203:-;9724:13;9751:29;9794:35;9843:20;9877:22;9913:32;9988:11;9977:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;9977:77:203;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;9977:77:203;;;;;;-1:-1:-1;9977:77:203;;;;;;;;;;-1:-1:-1;9977:77:203;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9970:84;;;;;;;;;;;;9596:465;;;;;;;:::o;1705:942::-;1939:18;1924:11;:33;;;;;;;;;1920:721;;;1991:30;2039;2086:60;2126:19;2086:39;:60::i;:::-;1973:173;;;;2161:227;2208:5;2231:22;2278;2319;2359:15;2161:29;:227::i;:::-;1920:721;;;;;2419:211;2459:5;2482:22;2522:61;2563:19;2522:40;:61::i;:::-;2601:15;2419:22;:211::i;6770:196::-;6881:21;6936:11;6925:34;;;;;;;;;;;;;;;-1:-1:-1;6925:34:203;;-1:-1:-1;6770:196:203;;;;:::o;1259:400:188:-;1354:28;:26;:28::i;:::-;1350:205;;;1480:37;-1:-1:-1;;;;;1467:60:188;;1528:6;1536:7;1467:77;;;;;;;;;;;;;-1:-1:-1;;;;;1467:77:188;;;;;;-1:-1:-1;;;;;1467:77:188;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1350:205;1609:43;1636:6;1644:7;1609:26;:43::i;:::-;1259:400;;:::o;8011:398:203:-;8129:13;8156:30;8200:20;8234:22;8270:32;8345:11;8334:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;8334:68:203;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;8334:68:203;;;;;;-1:-1:-1;8334:68:203;;;;;;;;;;-1:-1:-1;8334:68:203;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8327:75;;;;;;;;;;8011:398;;;;;;;:::o;9990:585:168:-;10089:64;10167:29;;;;10089:64;;10452:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10452:16:168;-1:-1:-1;10482:16:168;;;10496:1;10482:16;;;;;;10512;;;;;;10542;;;;;;;;;10371:197;;;;-1:-1:-1;10482:16:168;-1:-1:-1;10482:16:168;-1:-1:-1;10512:16:168;;-1:-1:-1;9990:585:168;-1:-1:-1;9990:585:168:o;10696:1253::-;10813:64;10891:29;10934:35;10983:32;11029:41;11109:12;11135:44;11193:32;11239:19;11271:33;11292:11;;11271:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11271:20:168;;-1:-1:-1;;;11271:33:168:i;:::-;11333:16;;;11347:1;11333:16;;;;;;;;;11095:209;;-1:-1:-1;11095:209:168;;-1:-1:-1;11095:209:168;;-1:-1:-1;11095:209:168;-1:-1:-1;11333:16:168;;;;;;;;;;;-1:-1:-1;11333:16:168;11315:34;;11380:25;-1:-1:-1;;;;;11380:43:168;;11424:4;11380:49;;;;;;;;;;;;;-1:-1:-1;;;;;11380:49:168;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11380:49:168;11359:18;;:15;;11375:1;;11359:18;;;;-1:-1:-1;;;;;11359:70:168;;;;:18;;;;;;;;;;:70;11467:16;;;11481:1;11467:16;;;;;;;;;;;;;;11359:18;11467:16;;;;;-1:-1:-1;11467:16:168;11440:43;;11523:24;11493;11518:1;11493:27;;;;;;;;;;;;;:54;;;;;11595:130;11642:4;11660:27;11701:14;11595:33;:130::i;:::-;11757:50;;-1:-1:-1;11558:167:168;;-1:-1:-1;11558:167:168;-1:-1:-1;;;;;10696:1253:168;;;;;;;;:::o;12078:1353::-;12203:64;12281:29;12324:35;12373:32;12419:41;12499:12;12525:44;12583:28;12625:37;12676:19;12708:41;12737:11;;12708:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12708:28:168;;-1:-1:-1;;;12708:41:168:i;:::-;12485:264;;;;;;;;;;12760:50;12783:4;12789:20;12760:22;:50::i;:::-;12858:130;12905:4;12923:27;12964:14;12858:33;:130::i;:::-;13017:16;;;13031:1;13017:16;;;;;;;;;12821:167;;-1:-1:-1;12821:167:168;;-1:-1:-1;13017:16:168;;;;;;;;;;;-1:-1:-1;13017:16:168;12999:34;;13064:20;13043:15;13059:1;13043:18;;;;;;;;-1:-1:-1;;;;;13043:41:168;;;;:18;;;;;;;;;;:41;13122:16;;;13136:1;13122:16;;;;;;;;;;;;;;13043:18;13122:16;;;;;-1:-1:-1;13122:16:168;13095:43;;13178:29;13148:24;13173:1;13148:27;;;;;;;;;;;;;:59;;;;;13239:50;13218:206;;;;;;;12078:1353;;;;;;;;:::o;13554:1285::-;13673:64;13751:29;13794:35;13843:32;13889:41;13969:12;13995:29;14038:19;14071:21;14106:31;14150:35;14173:11;;14150:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14150:22:168;;-1:-1:-1;;;14150:35:168:i;:::-;14211:16;;;14225:1;14211:16;;;;;;;;;13955:230;;-1:-1:-1;13955:230:168;;-1:-1:-1;13955:230:168;;-1:-1:-1;13955:230:168;-1:-1:-1;13955:230:168;-1:-1:-1;14211:16:168;;;;;;;;;;;-1:-1:-1;14211:16:168;14196:31;;14255:25;-1:-1:-1;;;;;14255:43:168;;14299:4;14255:49;;;;;;;;;;;;;-1:-1:-1;;;;;14255:49:168;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14255:49:168;14237:15;;:12;;14250:1;;14237:15;;;;-1:-1:-1;;;;;14237:67:168;;;;:15;;;;;;;;;;:67;14336:16;;;14350:1;14336:16;;;;;;;;;;;;;;14237:15;14336:16;;;;;-1:-1:-1;14336:16:168;14315:37;;14386:21;14362:18;14381:1;14362:21;;;;;;;;;;;;;:45;;;;;14464:151;14517:4;14535:14;14563:10;14587:18;14464:39;:151::i;:::-;14647:50;;13554:1285;;-1:-1:-1;13554:1285:168;;-1:-1:-1;14418:197:168;-1:-1:-1;14418:197:168;;13554:1285;-1:-1:-1;;;;;;;13554:1285:168:o;14961:1207::-;15079:64;15157:29;15200:35;15249:32;15295:41;15362:12;15376:28;15406:14;15424:56;15459:11;;15424:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15424:21:168;;-1:-1:-1;;;15424:56:168:i;:::-;15361:119;;;;;;15491:50;15514:4;15520:20;15491:22;:50::i;:::-;15567:16;;;15581:1;15567:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15567:16:168;15552:31;;15611:25;-1:-1:-1;;;;;15611:43:168;;15655:4;15611:49;;;;;;;;;;;;;-1:-1:-1;;;;;15611:49:168;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15611:49:168;15593:15;;:12;;15606:1;;15593:15;;;;-1:-1:-1;;;;;15593:67:168;;;;:15;;;;;;;;;;:67;15692:16;;;15706:1;15692:16;;;;;;;;;;;;;;15593:15;15692:16;;;;;-1:-1:-1;15692:16:168;15671:37;;15742:6;15718:18;15737:1;15718:21;;;;;;;;;;;;;;;;;:30;15777:16;;;15791:1;15777:16;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15777:16:168;15759:34;;15824:20;15803:15;15819:1;15803:18;;;;;;;;-1:-1:-1;;;;;15803:41:168;;;;:18;;;;;;;;;;:41;15882:16;;;15896:1;15882:16;;;;;;;;;;;;;;15803:18;15882:16;;;;;-1:-1:-1;15882:16:168;15855:43;;15938:6;15908:24;15933:1;15908:27;;;;;;;;;;;;;:36;;;;;15976:50;15955:206;;;;;14961:1207;;;;;;;;:::o;16292:1211::-;16412:64;16490:29;16533:35;16582:32;16628:41;16695:12;16709:28;16739:14;16757:58;16794:11;;16757:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;16757:23:168;;-1:-1:-1;;;16757:58:168:i;:::-;16694:121;;;;;;16826:50;16849:4;16855:20;16826:22;:50::i;:::-;16902:16;;;16916:1;16902:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;16902:16:168;16887:31;;16946:20;16928:12;16941:1;16928:15;;;;;;;;-1:-1:-1;;;;;16928:38:168;;;;:15;;;;;;;;;;:38;16998:16;;;17012:1;16998:16;;;;;;;;;;;;;;16928:15;16998:16;;;;;-1:-1:-1;16998:16:168;16977:37;;17048:6;17024:18;17043:1;17024:21;;;;;;;;;;;;;;;;;:30;17083:16;;;17097:1;17083:16;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;17083:16:168;17065:34;;17130:25;-1:-1:-1;;;;;17130:43:168;;17174:4;17130:49;;;;;;;;;;;;;-1:-1:-1;;;;;17130:49:168;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;17130:49:168;17109:18;;:15;;17125:1;;17109:18;;;17636:1389;17765:64;17843:29;17886:35;17935:32;17981:41;18061:12;18087:28;18129:34;18177:19;18210:21;18245:31;18289:45;18322:11;;18289:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;18289:32:168;;-1:-1:-1;;;18289:45:168:i;:::-;18047:287;;;;;;;;;;;;18345:50;18368:4;18374:20;18345:22;:50::i;:::-;18421:16;;;18435:1;18421:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;18421:16:168;18406:31;;18465:20;18447:12;18460:1;18447:15;;;;;;;;-1:-1:-1;;;;;18447:38:168;;;;:15;;;;;;;;;;:38;18517:16;;;18531:1;18517:16;;;;;;;;;;;;;;18447:15;18517:16;;;;;-1:-1:-1;18517:16:168;18496:37;;18567:26;18543:18;18562:1;18543:21;;;;;;;;;;;;;:50;;;;;18650:151;18703:4;18721:14;18749:10;18773:18;18650:39;:151::i;:::-;18833:50;;17636:1389;;-1:-1:-1;17636:1389:168;;-1:-1:-1;18604:197:168;-1:-1:-1;18604:197:168;;17636:1389;-1:-1:-1;;;;;;;;17636:1389:168:o;2554:434:355:-;2714:47;;;-1:-1:-1;;;2714:47:355;;2746:4;2714:47;;;;-1:-1:-1;;;;;2714:47:355;;;;;;;;;2694:17;;2714:23;;;;;:47;;;;;;;;;;;;;;:23;:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2714:47:355;;-1:-1:-1;2775:25:355;;;2771:211;;;2820:13;;2816:89;;2853:37;-1:-1:-1;;;;;2853:25:355;;2879:7;2888:1;2853:25;:37::i;:::-;2918:53;-1:-1:-1;;;;;2918:25:355;;2944:7;-1:-1:-1;;2918:25:355;:53::i;:::-;2554:434;;;;:::o;5609:741:189:-;5808:22;5842:35;5891:15;5887:87;;;-1:-1:-1;5947:16:189;;;5958:4;5947:16;;;;;;;;;;;;;;;;;;;;;;;;5887:87;6037:145;6092:28;:35;6149:15;6037:33;:145::i;:::-;6217:28;6200:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6264:25;6307:22;6003:340;;;;;;-1:-1:-1;;;;;6003:340:189;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6003:340:189;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6003:340:189;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6003:340:189;;;;;;;;;;;;;-1:-1:-1;;6003:340:189;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5984:359;;;5609:741;;;;;;:::o;704:175:450:-;813:58;;;-1:-1:-1;;;;;813:58:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;813:58:450;-1:-1:-1;;;813:58:450;;;786:86;;806:5;;786:19;:86::i;:::-;704:175;;;:::o;8506:275:203:-;8636:31;8669;8734:19;8723:51;;;;;;;;;;;;;;;-1:-1:-1;8723:51:203;;;;;;;;;-1:-1:-1;8723:51:203;-1:-1:-1;8506:275:203;;;:::o;4405:1096:189:-;4643:21;4678:15;4674:569;;;-1:-1:-1;4720:254:189;;;;;;;;;;;;;;;;;;;;;;;4956:4;4720:254;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4720:254:189;-1:-1:-1;;;4720:254:189;;;4674:569;;;-1:-1:-1;5016:216:189;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5016:216:189;-1:-1:-1;;;5016:216:189;;;4674:569;5307:12;5321:23;5348:5;-1:-1:-1;;;;;5348:10:189;5359:8;5348:20;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5348:20:189;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5306:62;;;;5386:7;5402:10;5378:36;;;;;-1:-1:-1;;;5378:36:189;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5454:40;:38;:40::i;:::-;4405:1096;;;;;;;;:::o;8879:253:203:-;9010:48;9092:19;9081:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;9081:44:203;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;9081:44:203;;;;;;;;;;;;-1:-1:-1;9081:44:203;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9074:51;;8879:253;;;:::o;3653:642:189:-;3915:12;3929:23;3956:5;-1:-1:-1;;;;;3956:10:189;3980:172;4034:22;4074:31;4123:15;3980:36;:172::i;:::-;3956:206;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3956:206:189;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3914:248;;;;4180:7;4196:10;4172:36;;;;;-1:-1:-1;;;4172:36:189;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4248:40;:38;:40::i;1746:150:188:-;1838:37;-1:-1:-1;;;;;1838:51:188;;;1746:150;:::o;752:148:187:-;863:6;-1:-1:-1;;;;;840:44:187;;885:7;840:53;;;;;;;;;;;;;-1:-1:-1;;;;;840:53:187;;;;;;;;;;;;;;;;;;;;;;;;;;;4410:1154:203;4590:29;4621:35;4668:24;4707:9;4702:178;4722:28;:35;4718:1;:39;4702:178;;;4816:1;4782:28;4811:1;4782:31;;;;;;;;;;;;;;:35;4778:92;;;4837:18;;;;;4778:92;4759:3;;4702:178;;;;4919:16;4905:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4905:31:203;;4890:46;;4981:16;4967:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4967:31:203;;4946:52;;5008:24;5047:9;5042:464;5062:28;:35;5058:1;:39;5042:464;;;5156:1;5122:28;5151:1;5122:31;;;;;;;;;;;;;;:35;5118:378;;;5210:41;5225:5;5232:1;5235:15;5210:14;:41::i;:::-;5177:12;5190:16;5177:30;;;;;;;;;;;;;:74;-1:-1:-1;;;;;5177:74:203;;;-1:-1:-1;;;;;5177:74:203;;;;;5308:28;5337:1;5308:31;;;;;;;;;;;;;;5269:18;5288:16;5269:36;;;;;;;;;;;;;;;;;:70;5357:18;;;;;5398:36;;;5394:88;;;5458:5;;5394:88;5099:3;;5042:464;;;;5516:41;;4410:1154;;;;;;:::o;19100:227:168:-;19265:5;-1:-1:-1;;;;;19207:63:168;:25;-1:-1:-1;;;;;19207:46:168;;19254:6;19207:54;;;;;;;;;;;;;-1:-1:-1;;;;;19207:54:168;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;19207:54:168;-1:-1:-1;;;;;19207:63:168;;19186:134;;;;;-1:-1:-1;;;19186:134:168;;;;;;;;;;;;;;;;;;;;;;;;;;;2746:1571:203;2975:32;;3085:18;3070:11;:33;;;;;;;;;3066:1184;;;3137:30;3185;3232:60;3272:19;3232:39;:60::i;:::-;3456:16;;;3470:1;3456:16;;;;;;;;;3119:173;;-1:-1:-1;3119:173:203;;-1:-1:-1;3456:16:203;;;;;;;;;;;-1:-1:-1;3456:16:203;3438:34;;3507:62;3522:5;3529:22;3553:15;3507:14;:62::i;:::-;3486:15;3502:1;3486:18;;;;;;;;-1:-1:-1;;;;;3486:83:203;;;;:18;;;;;;;;;;:83;3611:16;;;3625:1;3611:16;;;;;;;;;;;;;;3486:18;3611:16;;;;;-1:-1:-1;3611:16:203;3584:43;;3671:22;3641:24;3666:1;3641:27;;;;;;;;;;;;;:52;;;;;3066:1184;;;;;3751:91;3809:19;3751:40;:91::i;:::-;3724:118;;4050:24;:31;4036:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4036:46:203;;4018:64;;4101:9;4096:144;4116:15;:22;4112:1;:26;4096:144;;;4184:41;4199:5;4206:1;4209:15;4184:14;:41::i;:::-;4163:15;4179:1;4163:18;;;;;;;;-1:-1:-1;;;;;4163:62:203;;;:18;;;;;;;;;;;:62;4140:3;;4096:144;;;;3066:1184;2746:1571;;;;;;;:::o;1348:613:450:-;1713:10;;;1712:62;;-1:-1:-1;1729:39:450;;;-1:-1:-1;;;1729:39:450;;1753:4;1729:39;;;;-1:-1:-1;;;;;1729:39:450;;;;;;;;;:15;;;;;;:39;;;;;;;;;;;;;;;:15;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1729:39:450;:44;1712:62;1704:150;;;;-1:-1:-1;;;1704:150:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1891:62;;;-1:-1:-1;;;;;1891:62:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1891:62:450;-1:-1:-1;;;1891:62:450;;;1864:90;;1884:5;;1864:19;:90::i;6432:674:189:-;6567:16;6599:29;6642:15;6638:71;;;-1:-1:-1;6673:25:189;;;;;;;;;;;;-1:-1:-1;;;6673:25:189;;;;6638:71;6885:25;:14;:23;:25::i;:::-;7001:15;6793:274;;;;;;-1:-1:-1;;;6793:274:189;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6793:274:189;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6793:274:189;;;;;;;;;;;-1:-1:-1;;;6793:274:189;;;;;;;-1:-1:-1;;;6793:274:189;;;;;;;;;;;;;;-1:-1:-1;6793:274:189;;;;;;;;;;;;;-1:-1:-1;;6793:274:189;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;6793:274:189;;;;;;;;;;;;;;;;;;;;;6762:323;;;;;;6719:380;;;6432:674;;;;:::o;2967:751:450:-;3386:23;3412:69;3440:4;3412:69;;;;;;;;;;;;;;;;;3420:5;-1:-1:-1;;;;;3412:27:450;;;:69;;;;;:::i;:::-;3495:17;;3386:95;;-1:-1:-1;3495:21:450;3491:221;;3635:10;3624:30;;;;;;;;;;;;;;;-1:-1:-1;3624:30:450;3616:85;;;;-1:-1:-1;;;3616:85:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7194:316:189;7307:4;7291:30;7335:22;;7331:173;;7387:37;:35;:37::i;:::-;-1:-1:-1;;;;;7373:61:189;;7459:18;7373:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7331:173;7194:316;:::o;7597:750::-;7799:22;7833:35;7882:15;7878:87;;;-1:-1:-1;7938:16:189;;;7949:4;7938:16;;;;;;;;;;;;;;;;;;;;;;;;7878:87;8028:151;8086:31;:38;8146:15;8028:36;:151::i;:::-;8197:22;8254:31;8237:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8304:22;7994:346;;;;;;-1:-1:-1;;;;;7994:346:189;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7994:346:189;;;;;;;;;;;;;;;;-1:-1:-1;;7994:346:189;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7994:346:189;;;;;;;;;;;;-1:-1:-1;;7994:346:189;;;;;;;;;;;;5627:781:203;5756:14;5786;5782:568;;;5840:5;-1:-1:-1;;;;;5820:43:203;;5864:6;5820:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5820:51:203;;;5816:283;;6045:5;-1:-1:-1;;;;;6025:43:203;;6076:6;6025:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6025:59:203;;-1:-1:-1;5816:283:203;;;5962:14;-1:-1:-1;5816:283:203;5782:568;;;6153:5;-1:-1:-1;;;;;6133:32:203;;6166:6;6133:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6133:40:203;;;6129:211;;6297:5;-1:-1:-1;;;;;6277:32:203;;6317:6;6277:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6277:48:203;;-1:-1:-1;6129:211:203;;;6224:4;-1:-1:-1;6129:211:203;6367:34;6394:6;6367:26;:34::i;:::-;6360:41;5627:781;-1:-1:-1;;;;5627:781:203:o;210:725:455:-;266:13;483:10;479:51;;-1:-1:-1;509:10:455;;;;;;;;;;;;-1:-1:-1;;;509:10:455;;;;;;479:51;554:5;539:12;593:75;600:9;;593:75;;625:8;;655:2;647:10;;;;593:75;;;677:19;709:6;699:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;699:17:455;-1:-1:-1;769:5:455;;-1:-1:-1;677:39:455;-1:-1:-1;;;742:10:455;;784:114;791:9;;784:114;;859:2;852:4;:9;847:2;:14;834:29;;816:6;823:7;;;;;;;816:15;;;;;;;;;;;:47;-1:-1:-1;;;;;816:47:455;;;;;;;;-1:-1:-1;885:2:455;877:10;;;;784:114;;;-1:-1:-1;921:6:455;210:725;-1:-1:-1;;;;210:725:455:o;3581:193:451:-;3684:12;3715:52;3737:6;3745:4;3751:1;3754:12;3715:21;:52::i;8432:680:189:-;8570:16;8602:29;8645:15;8641:71;;;-1:-1:-1;8676:25:189;;;;;;;;;;;;-1:-1:-1;;;8676:25:189;;;;8641:71;8927:25;:14;:23;:25::i;:::-;8796:277;;;;;;;;;;-1:-1:-1;;;8796:277:189;;;;;;9007:15;;8796:277;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8796:277:189;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;8796:277:189;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8796:277:189;;;;;;;;;;;;1293:319:203;1405:14;1462:36;-1:-1:-1;;;;;1439:59:203;:19;-1:-1:-1;;;;;1439:59:203;;1435:134;;;1521:37;:35;:37::i;:::-;1514:44;;;;1435:134;-1:-1:-1;1586:19:203;1293:319::o;4608:523:451:-;4735:12;4792:5;4767:21;:30;;4759:81;;;;-1:-1:-1;;;4759:81:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4858:18;4869:6;4858:10;:18::i;:::-;4850:60;;;;;-1:-1:-1;;;4850:60:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;4981:12;4995:23;5022:6;-1:-1:-1;;;;;5022:11:451;5042:5;5050:4;5022:33;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5022:33:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4980:75;;;;5072:52;5090:7;5099:10;5111:12;5072:17;:52::i;:::-;5065:59;4608:523;-1:-1:-1;;;;;;;4608:523:451:o;726:413::-;1086:20;1124:8;;;726:413::o;7091:725::-;7206:12;7234:7;7230:580;;;-1:-1:-1;7264:10:451;7257:17;;7230:580;7375:17;;:21;7371:429;;7633:10;7627:17;7693:15;7680:10;7676:2;7672:19;7665:44;7582:145;7765:20;;-1:-1:-1;;;7765:20:451;;;;;;;;;;;;;;;;;7772:12;;7765:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;", - "linkReferences": {}, - "immutableReferences": { - "44142": [ - { - "start": 3457, - "length": 32 - }, - { - "start": 8893, - "length": 32 - }, - { - "start": 9557, - "length": 32 - }, - { - "start": 9962, - "length": 32 - }, - { - "start": 10603, - "length": 32 - }, - { - "start": 13074, - "length": 32 - } - ], - "49791": [ - { - "start": 2689, - "length": 32 - }, - { - "start": 3155, - "length": 32 - }, - { - "start": 3891, - "length": 32 - }, - { - "start": 4141, - "length": 32 - }, - { - "start": 4496, - "length": 32 - }, - { - "start": 4678, - "length": 32 - }, - { - "start": 5289, - "length": 32 - }, - { - "start": 5406, - "length": 32 - } - ], - "50802": [ - { - "start": 3774, - "length": 32 - } - ], - "50804": [ - { - "start": 5325, - "length": 32 - }, - { - "start": 8261, - "length": 32 - }, - { - "start": 12565, - "length": 32 - } - ], - "50901": [ - { - "start": 3038, - "length": 32 - } - ], - "55129": [ - { - "start": 15757, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "CLAIM_REWARDS_SELECTOR()": "40da225d", - "LEND_AND_STAKE_SELECTOR()": "131461c0", - "LEND_SELECTOR()": "257cb1a3", - "REDEEM_SELECTOR()": "f7d882b5", - "STAKE_SELECTOR()": "3ffc1591", - "TAKE_MULTIPLE_ORDERS_SELECTOR()": "c32990a2", - "TAKE_ORDER_SELECTOR()": "863e5ad0", - "UNSTAKE_AND_REDEEM_SELECTOR()": "080456c1", - "UNSTAKE_SELECTOR()": "b23228cf", - "claimRewards(address,bytes,bytes)": "b9dfbacc", - "getCurveGaugeV2RewardsHandlerCrvToken()": "332d709f", - "getCurveGaugeV2RewardsHandlerMinter()": "f003eb85", - "getCurveLiquidityWrappedNativeAsset()": "12c9d386", - "getIntegrationManager()": "e7c45690", - "lend(address,bytes,bytes)": "099f7515", - "lendAndStake(address,bytes,bytes)": "29fa046e", - "parseAssetsForAction(address,bytes4,bytes)": "c54efee5", - "redeem(address,bytes,bytes)": "c29fa9dd", - "stake(address,bytes,bytes)": "fa7dd04d", - "unstake(address,bytes,bytes)": "68e30677", - "unstakeAndRedeem(address,bytes,bytes)": "8334eb99" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_integrationManager\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_curvePriceFeed\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_wrappedNativeAsset\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_curveMinter\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_crvToken\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_nativeAssetAddress\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"CLAIM_REWARDS_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LEND_AND_STAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LEND_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"REDEEM_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"STAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TAKE_MULTIPLE_ORDERS_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TAKE_ORDER_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UNSTAKE_AND_REDEEM_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UNSTAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"claimRewards\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurveGaugeV2RewardsHandlerCrvToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"crvToken_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurveGaugeV2RewardsHandlerMinter\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"minter_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurveLiquidityWrappedNativeAsset\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"addressProvider_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getIntegrationManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"integrationManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"_assetData\",\"type\":\"bytes\"}],\"name\":\"lend\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"_assetData\",\"type\":\"bytes\"}],\"name\":\"lendAndStake\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"_selector\",\"type\":\"bytes4\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"}],\"name\":\"parseAssetsForAction\",\"outputs\":[{\"internalType\":\"enum IIntegrationManager.SpendAssetsHandleType\",\"name\":\"spendAssetsHandleType_\",\"type\":\"uint8\"},{\"internalType\":\"address[]\",\"name\":\"spendAssets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"spendAssetAmounts_\",\"type\":\"uint256[]\"},{\"internalType\":\"address[]\",\"name\":\"incomingAssets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"minIncomingAssetAmounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"_assetData\",\"type\":\"bytes\"}],\"name\":\"redeem\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"_assetData\",\"type\":\"bytes\"}],\"name\":\"stake\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"_assetData\",\"type\":\"bytes\"}],\"name\":\"unstake\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"_assetData\",\"type\":\"bytes\"}],\"name\":\"unstakeAndRedeem\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"Rewards tokens are not included as incoming assets for claimRewards() Rationale: - rewards tokens can be claimed to the vault outside of the IntegrationManager, so no need to enforce policy management or emit an event - rewards tokens can be outside of the asset universe, in which case they cannot be tracked\",\"kind\":\"dev\",\"methods\":{\"claimRewards(address,bytes,bytes)\":{\"details\":\"Pool must have an ERC20 liquidity gauge (e.g., v2, v3, v4) or an ERC20 wrapper (e.g., v1)\",\"params\":{\"_actionData\":\"Data specific to this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}},\"getCurveGaugeV2RewardsHandlerCrvToken()\":{\"returns\":{\"crvToken_\":\"The `CURVE_GAUGE_V2_REWARDS_HANDLER_CRV_TOKEN` variable value\"}},\"getCurveGaugeV2RewardsHandlerMinter()\":{\"returns\":{\"minter_\":\"The `CURVE_GAUGE_V2_REWARDS_HANDLER_MINTER` variable value\"}},\"getCurveLiquidityWrappedNativeAsset()\":{\"returns\":{\"addressProvider_\":\"The `CURVE_LIQUIDITY_WRAPPED_NATIVE_ASSET` variable value\"}},\"getIntegrationManager()\":{\"returns\":{\"integrationManager_\":\"The `INTEGRATION_MANAGER` variable value\"}},\"lend(address,bytes,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_assetData\":\"Parsed spend assets and incoming assets data for this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}},\"lendAndStake(address,bytes,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_assetData\":\"Parsed spend assets and incoming assets data for this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}},\"parseAssetsForAction(address,bytes4,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_selector\":\"The function selector for the callOnIntegration\"},\"returns\":{\"incomingAssets_\":\"The assets to receive in the call\",\"minIncomingAssetAmounts_\":\"The min asset amounts to receive in the call\",\"spendAssetAmounts_\":\"The max asset amounts to spend in the call\",\"spendAssetsHandleType_\":\"A type that dictates how to handle granting the adapter access to spend assets (`None` by default)\",\"spendAssets_\":\"The assets to spend in the call\"}},\"redeem(address,bytes,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_assetData\":\"Parsed spend assets and incoming assets data for this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}},\"stake(address,bytes,bytes)\":{\"params\":{\"_assetData\":\"Parsed spend assets and incoming assets data for this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}},\"unstake(address,bytes,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_assetData\":\"Parsed spend assets and incoming assets data for this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}},\"unstakeAndRedeem(address,bytes,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_assetData\":\"Parsed spend assets and incoming assets data for this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}}},\"title\":\"CurveLiquidityAdapter Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"claimRewards(address,bytes,bytes)\":{\"notice\":\"Claims rewards from the Curve Minter as well as pool-specific rewards\"},\"getCurveGaugeV2RewardsHandlerCrvToken()\":{\"notice\":\"Gets the `CURVE_GAUGE_V2_REWARDS_HANDLER_CRV_TOKEN` variable\"},\"getCurveGaugeV2RewardsHandlerMinter()\":{\"notice\":\"Gets the `CURVE_GAUGE_V2_REWARDS_HANDLER_MINTER` variable\"},\"getCurveLiquidityWrappedNativeAsset()\":{\"notice\":\"Gets the `CURVE_LIQUIDITY_WRAPPED_NATIVE_ASSET` variable\"},\"getIntegrationManager()\":{\"notice\":\"Gets the `INTEGRATION_MANAGER` variable\"},\"lend(address,bytes,bytes)\":{\"notice\":\"Lends assets for LP tokens (not staked)\"},\"lendAndStake(address,bytes,bytes)\":{\"notice\":\"Lends assets for LP tokens, then stakes the received LP tokens\"},\"parseAssetsForAction(address,bytes4,bytes)\":{\"notice\":\"Parses the expected assets in a particular action\"},\"redeem(address,bytes,bytes)\":{\"notice\":\"Redeems LP tokens\"},\"stake(address,bytes,bytes)\":{\"notice\":\"Stakes LP tokens\"},\"unstake(address,bytes,bytes)\":{\"notice\":\"Unstakes LP tokens\"},\"unstakeAndRedeem(address,bytes,bytes)\":{\"notice\":\"Unstakes LP tokens, then redeems them\"}},\"notice\":\"Adapter for liquidity provision in Curve pools that adhere to pool templates, as well as some old pools that have almost the same required interface (e.g., 3pool). Allows staking via Curve gauges.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/integration-manager/integrations/adapters/CurveLiquidityAdapter.sol\":\"CurveLiquidityAdapter\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/extensions/integration-manager/IIntegrationManager.sol\":{\"keccak256\":\"0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23\",\"dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk\"]},\"contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol\":{\"keccak256\":\"0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336\",\"dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS\"]},\"contracts/release/extensions/integration-manager/integrations/adapters/CurveLiquidityAdapter.sol\":{\"keccak256\":\"0x7facbbac0a3a655caf4c8f83964d5775ee57eede307ffd70016f6bc25683ab66\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c577a5fad15b9d95fc46d5baacc8fff92c4a9af6875280642e35d5dc4f5ac2e5\",\"dweb:/ipfs/QmaeKNkDA3EB4XmNU7eWLJ6DUfNwKUVnfVYTPrrDpjTo2D\"]},\"contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol\":{\"keccak256\":\"0x067e49bf0d3c1655ab41a413c65ccf61d4e593308132e1ffc484a0fadfbbaf26\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://387f425017e18e89cc1893521101fa99df595314847d0b3d9a1162369f714fcf\",\"dweb:/ipfs/Qmco3jCvuWAyfCpBYpGzHrQjiFJG63w1RJKcakoTEbxRQm\"]},\"contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol\":{\"keccak256\":\"0xfd34c7ca8231c6935e25dede32ca2b3121738e624d0fc896f7b895a731edcf88\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d492c061963d36d07718446db191d4c5a340c0d847f6cd209f027bd99f7cb176\",\"dweb:/ipfs/QmfCvRZt56ftDdrEh6LepHXFJ4fVtcfpQGvEyY8k4zxG1A\"]},\"contracts/release/extensions/integration-manager/integrations/utils/actions/CurveGaugeV2ActionsMixin.sol\":{\"keccak256\":\"0xb297d967916d8560814b5d85ca8abedacf7d3c414390a0eb1179aa3adaa9be1b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://97b52856086845cdfe9ddcd6e0be1eb72658a6775ab3cec97c4aa4d5477d28f3\",\"dweb:/ipfs/QmccHa8AXHZ4TiBu9225cxi6RgT6SskhgmUFzEJmgzE625\"]},\"contracts/release/extensions/integration-manager/integrations/utils/actions/CurveGaugeV2RewardsHandlerMixin.sol\":{\"keccak256\":\"0x03af28f9cd7e5666a8060a8e2208d88f4ec3d6be4c7dad13d41757754296eb5b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d3396dfde6e114902db13370916a570fcad62502520dd129f9cac9f8d80e3aa4\",\"dweb:/ipfs/QmVVDVf6dm6fKvN2gFBM5NQWwX8cNzLszmvGwrUBBoQGqW\"]},\"contracts/release/extensions/integration-manager/integrations/utils/actions/CurveLiquidityActionsMixin.sol\":{\"keccak256\":\"0x71e040ad76ac9927ca73d597ce6cc767475b75f08227db9a4f471ac4b8291805\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://089fa77e85aeb131f96d02d2c46e2f99b59dd0337cde82244b11e23602ee4329\",\"dweb:/ipfs/QmZTv8u4HrMz4sm5TFLHv1nfjfjfUkcASD4Qhz88EVYwAR\"]},\"contracts/release/extensions/integration-manager/integrations/utils/bases/CurveLiquidityAdapterBase.sol\":{\"keccak256\":\"0x85c51f77c1f0fe8e33b676e6a59266b92592acf10fc147925f95f97b16715432\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a897952b16993d624cd1e6ad1f62e2892166918e7bab0ad377ffe6405d3936ce\",\"dweb:/ipfs/QmXovhqFgdV7v2DwNMjksNwWWLU61gxV95Hy7xs9AV8g7E\"]},\"contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol\":{\"keccak256\":\"0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e\",\"dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK\"]},\"contracts/release/infrastructure/price-feeds/derivatives/feeds/CurvePriceFeed.sol\":{\"keccak256\":\"0xa8ddbd75bb5cb702b539b963c2694a8abcbd19eb801a36a42c0537f69ad26b42\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b6422a1ebdf7198942cee6b61ae807887a77864abc0b1bc16dba55c7b5f3ca90\",\"dweb:/ipfs/QmXNCQkT5Er6NvKBJnhk9jR4T1KhNeorAr8F6K6dQPjztx\"]},\"contracts/release/interfaces/ICurveAddressProvider.sol\":{\"keccak256\":\"0xf8da903700c623760de62b3e5d0b01997c68b8847391e23b89081128780e55e1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://735b71b448d4d5c78e98ead84bf8f8e1e94e38ff8a77c7e4f9cc944d1d73e7df\",\"dweb:/ipfs/QmXFgGFVEvQW9wpeBspcaVAXwCcxvnNJZLafTeP2HPArNQ\"]},\"contracts/release/interfaces/ICurveLiquidityGaugeV2.sol\":{\"keccak256\":\"0x0fbd9bdd7d7df1cd92c065ae3e62f1767d80914f086a0f146a2c9874aa7d4e30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://7ed9ee21be1e5c6e6caf3abd0a092410c50614239c72a361612e3d71a649e6e1\",\"dweb:/ipfs/QmZgGgbPsWAiMwnPiimNGgFN6ZnaqcUkRSsSpnQi1MtBNs\"]},\"contracts/release/interfaces/ICurveLiquidityPool.sol\":{\"keccak256\":\"0xd90f3399805f90d670098cc451f9948b8da7dd68be821617c76487fdc20f0731\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ba6e6e5bf761fa279329a564741e5cd2b78c5be2e50c388ac419c3d84736c9a1\",\"dweb:/ipfs/QmZ96kkg7oHLmdzwQLYbZVHDvKj8jZEJLaxNXy1j3sbgrn\"]},\"contracts/release/interfaces/ICurveMinter.sol\":{\"keccak256\":\"0xbfe0cfa932805d9cda714d7ef7cb6b42d08c782b0ffa46de5e2c0530f4ce5ba1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://29ab2dcee291bf81ccb67ab31fd3548e634fb2742642f70890edc7af727d3d39\",\"dweb:/ipfs/QmVZtC5aHRABS8ZX8XVtwiW1Y8K5vnhVH7WKZ29prN2EpJ\"]},\"contracts/release/interfaces/ICurvePoolOwner.sol\":{\"keccak256\":\"0x42a03eb0d757153add18d4f42b5b464041056e23f6965a48705088ddd213c336\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a4166f75c4c80b8f069ae2b8cfe9bda2babca27fd30b239e30606eca69f8878c\",\"dweb:/ipfs/QmYNULkXYTaKQUiCA8htR9KbCkK5YhrHfJgKtBqXiNPt9R\"]},\"contracts/release/interfaces/ICurveRegistryMain.sol\":{\"keccak256\":\"0x9e67cfcd4195bfd8db785be1cba42bf8871d0638770adaf04d638227b29a9b2b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://cb2587e7026be73f27d4dd75deb44faeca3112a58ddc07bb87bca46d96fd977b\",\"dweb:/ipfs/QmTVdpCWZ9rv583gxP5Ycvs5Nf7jZTxVWr5oeZvywYNSSh\"]},\"contracts/release/interfaces/ICurveRegistryMetapoolFactory.sol\":{\"keccak256\":\"0x43aa6bfbda8ca1fdcb0890792e7969999146c690986938ac43818ca9b9343e58\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3426ad7d87cd51519c288004f970da83bf672d60fc7d1c647af5e84855f6a4b5\",\"dweb:/ipfs/QmevngH3Acet8R6YHzGLRyNeEoUYfbnQm7NSbzHYN7rdpf\"]},\"contracts/release/interfaces/IWETH.sol\":{\"keccak256\":\"0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2\",\"dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"contracts/release/utils/FundDeployerOwnerMixin.sol\":{\"keccak256\":\"0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927\",\"dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]},\"node_modules/@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0xa1e12f97981f1d0964b1c048978606a57127c56c438bab61cdfe269cad859a74\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5eefac1760f524971e14aa3f3d79515a3d54fd28c1d3bdca0b36127da349b830\",\"dweb:/ipfs/QmUMzkyH3ytJX5gVPizQruNLhkKmuJb3nFqBDad4LPdg5U\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_integrationManager", - "type": "address" - }, - { - "internalType": "address", - "name": "_curvePriceFeed", - "type": "address" - }, - { - "internalType": "address", - "name": "_wrappedNativeAsset", - "type": "address" - }, - { - "internalType": "address", - "name": "_curveMinter", - "type": "address" - }, - { - "internalType": "address", - "name": "_crvToken", - "type": "address" - }, - { - "internalType": "address", - "name": "_nativeAssetAddress", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "CLAIM_REWARDS_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "LEND_AND_STAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "LEND_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "REDEEM_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "STAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "TAKE_MULTIPLE_ORDERS_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "TAKE_ORDER_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "UNSTAKE_AND_REDEEM_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "UNSTAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "claimRewards" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getCurveGaugeV2RewardsHandlerCrvToken", - "outputs": [ - { - "internalType": "address", - "name": "crvToken_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getCurveGaugeV2RewardsHandlerMinter", - "outputs": [ - { - "internalType": "address", - "name": "minter_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getCurveLiquidityWrappedNativeAsset", - "outputs": [ - { - "internalType": "address", - "name": "addressProvider_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getIntegrationManager", - "outputs": [ - { - "internalType": "address", - "name": "integrationManager_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "_assetData", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "lend" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "_assetData", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "lendAndStake" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes4", - "name": "_selector", - "type": "bytes4" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - } - ], - "stateMutability": "view", - "type": "function", - "name": "parseAssetsForAction", - "outputs": [ - { - "internalType": "enum IIntegrationManager.SpendAssetsHandleType", - "name": "spendAssetsHandleType_", - "type": "uint8" - }, - { - "internalType": "address[]", - "name": "spendAssets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "spendAssetAmounts_", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "incomingAssets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "minIncomingAssetAmounts_", - "type": "uint256[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "_assetData", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "redeem" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "_assetData", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "stake" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "_assetData", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "unstake" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "_assetData", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "unstakeAndRedeem" - }, - { - "inputs": [], - "stateMutability": "payable", - "type": "receive" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "claimRewards(address,bytes,bytes)": { - "details": "Pool must have an ERC20 liquidity gauge (e.g., v2, v3, v4) or an ERC20 wrapper (e.g., v1)", - "params": { - "_actionData": "Data specific to this action", - "_vaultProxy": "The VaultProxy of the calling fund" - } - }, - "getCurveGaugeV2RewardsHandlerCrvToken()": { - "returns": { - "crvToken_": "The `CURVE_GAUGE_V2_REWARDS_HANDLER_CRV_TOKEN` variable value" - } - }, - "getCurveGaugeV2RewardsHandlerMinter()": { - "returns": { - "minter_": "The `CURVE_GAUGE_V2_REWARDS_HANDLER_MINTER` variable value" - } - }, - "getCurveLiquidityWrappedNativeAsset()": { - "returns": { - "addressProvider_": "The `CURVE_LIQUIDITY_WRAPPED_NATIVE_ASSET` variable value" - } - }, - "getIntegrationManager()": { - "returns": { - "integrationManager_": "The `INTEGRATION_MANAGER` variable value" - } - }, - "lend(address,bytes,bytes)": { - "params": { - "_actionData": "Data specific to this action", - "_assetData": "Parsed spend assets and incoming assets data for this action", - "_vaultProxy": "The VaultProxy of the calling fund" - } - }, - "lendAndStake(address,bytes,bytes)": { - "params": { - "_actionData": "Data specific to this action", - "_assetData": "Parsed spend assets and incoming assets data for this action", - "_vaultProxy": "The VaultProxy of the calling fund" - } - }, - "parseAssetsForAction(address,bytes4,bytes)": { - "params": { - "_actionData": "Data specific to this action", - "_selector": "The function selector for the callOnIntegration" - }, - "returns": { - "incomingAssets_": "The assets to receive in the call", - "minIncomingAssetAmounts_": "The min asset amounts to receive in the call", - "spendAssetAmounts_": "The max asset amounts to spend in the call", - "spendAssetsHandleType_": "A type that dictates how to handle granting the adapter access to spend assets (`None` by default)", - "spendAssets_": "The assets to spend in the call" - } - }, - "redeem(address,bytes,bytes)": { - "params": { - "_actionData": "Data specific to this action", - "_assetData": "Parsed spend assets and incoming assets data for this action", - "_vaultProxy": "The VaultProxy of the calling fund" - } - }, - "stake(address,bytes,bytes)": { - "params": { - "_assetData": "Parsed spend assets and incoming assets data for this action", - "_vaultProxy": "The VaultProxy of the calling fund" - } - }, - "unstake(address,bytes,bytes)": { - "params": { - "_actionData": "Data specific to this action", - "_assetData": "Parsed spend assets and incoming assets data for this action", - "_vaultProxy": "The VaultProxy of the calling fund" - } - }, - "unstakeAndRedeem(address,bytes,bytes)": { - "params": { - "_actionData": "Data specific to this action", - "_assetData": "Parsed spend assets and incoming assets data for this action", - "_vaultProxy": "The VaultProxy of the calling fund" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "claimRewards(address,bytes,bytes)": { - "notice": "Claims rewards from the Curve Minter as well as pool-specific rewards" - }, - "getCurveGaugeV2RewardsHandlerCrvToken()": { - "notice": "Gets the `CURVE_GAUGE_V2_REWARDS_HANDLER_CRV_TOKEN` variable" - }, - "getCurveGaugeV2RewardsHandlerMinter()": { - "notice": "Gets the `CURVE_GAUGE_V2_REWARDS_HANDLER_MINTER` variable" - }, - "getCurveLiquidityWrappedNativeAsset()": { - "notice": "Gets the `CURVE_LIQUIDITY_WRAPPED_NATIVE_ASSET` variable" - }, - "getIntegrationManager()": { - "notice": "Gets the `INTEGRATION_MANAGER` variable" - }, - "lend(address,bytes,bytes)": { - "notice": "Lends assets for LP tokens (not staked)" - }, - "lendAndStake(address,bytes,bytes)": { - "notice": "Lends assets for LP tokens, then stakes the received LP tokens" - }, - "parseAssetsForAction(address,bytes4,bytes)": { - "notice": "Parses the expected assets in a particular action" - }, - "redeem(address,bytes,bytes)": { - "notice": "Redeems LP tokens" - }, - "stake(address,bytes,bytes)": { - "notice": "Stakes LP tokens" - }, - "unstake(address,bytes,bytes)": { - "notice": "Unstakes LP tokens" - }, - "unstakeAndRedeem(address,bytes,bytes)": { - "notice": "Unstakes LP tokens, then redeems them" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/integration-manager/integrations/adapters/CurveLiquidityAdapter.sol": "CurveLiquidityAdapter" - }, - "libraries": {} - }, - "sources": { - "contracts/release/core/fund-deployer/IFundDeployer.sol": { - "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", - "urls": [ - "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", - "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/IIntegrationManager.sol": { - "keccak256": "0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef", - "urls": [ - "bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23", - "dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol": { - "keccak256": "0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1", - "urls": [ - "bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336", - "dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/adapters/CurveLiquidityAdapter.sol": { - "keccak256": "0x7facbbac0a3a655caf4c8f83964d5775ee57eede307ffd70016f6bc25683ab66", - "urls": [ - "bzz-raw://c577a5fad15b9d95fc46d5baacc8fff92c4a9af6875280642e35d5dc4f5ac2e5", - "dweb:/ipfs/QmaeKNkDA3EB4XmNU7eWLJ6DUfNwKUVnfVYTPrrDpjTo2D" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol": { - "keccak256": "0x067e49bf0d3c1655ab41a413c65ccf61d4e593308132e1ffc484a0fadfbbaf26", - "urls": [ - "bzz-raw://387f425017e18e89cc1893521101fa99df595314847d0b3d9a1162369f714fcf", - "dweb:/ipfs/Qmco3jCvuWAyfCpBYpGzHrQjiFJG63w1RJKcakoTEbxRQm" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol": { - "keccak256": "0xfd34c7ca8231c6935e25dede32ca2b3121738e624d0fc896f7b895a731edcf88", - "urls": [ - "bzz-raw://d492c061963d36d07718446db191d4c5a340c0d847f6cd209f027bd99f7cb176", - "dweb:/ipfs/QmfCvRZt56ftDdrEh6LepHXFJ4fVtcfpQGvEyY8k4zxG1A" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/utils/actions/CurveGaugeV2ActionsMixin.sol": { - "keccak256": "0xb297d967916d8560814b5d85ca8abedacf7d3c414390a0eb1179aa3adaa9be1b", - "urls": [ - "bzz-raw://97b52856086845cdfe9ddcd6e0be1eb72658a6775ab3cec97c4aa4d5477d28f3", - "dweb:/ipfs/QmccHa8AXHZ4TiBu9225cxi6RgT6SskhgmUFzEJmgzE625" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/utils/actions/CurveGaugeV2RewardsHandlerMixin.sol": { - "keccak256": "0x03af28f9cd7e5666a8060a8e2208d88f4ec3d6be4c7dad13d41757754296eb5b", - "urls": [ - "bzz-raw://d3396dfde6e114902db13370916a570fcad62502520dd129f9cac9f8d80e3aa4", - "dweb:/ipfs/QmVVDVf6dm6fKvN2gFBM5NQWwX8cNzLszmvGwrUBBoQGqW" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/utils/actions/CurveLiquidityActionsMixin.sol": { - "keccak256": "0x71e040ad76ac9927ca73d597ce6cc767475b75f08227db9a4f471ac4b8291805", - "urls": [ - "bzz-raw://089fa77e85aeb131f96d02d2c46e2f99b59dd0337cde82244b11e23602ee4329", - "dweb:/ipfs/QmZTv8u4HrMz4sm5TFLHv1nfjfjfUkcASD4Qhz88EVYwAR" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/utils/bases/CurveLiquidityAdapterBase.sol": { - "keccak256": "0x85c51f77c1f0fe8e33b676e6a59266b92592acf10fc147925f95f97b16715432", - "urls": [ - "bzz-raw://a897952b16993d624cd1e6ad1f62e2892166918e7bab0ad377ffe6405d3936ce", - "dweb:/ipfs/QmXovhqFgdV7v2DwNMjksNwWWLU61gxV95Hy7xs9AV8g7E" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol": { - "keccak256": "0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332", - "urls": [ - "bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e", - "dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/price-feeds/derivatives/feeds/CurvePriceFeed.sol": { - "keccak256": "0xa8ddbd75bb5cb702b539b963c2694a8abcbd19eb801a36a42c0537f69ad26b42", - "urls": [ - "bzz-raw://b6422a1ebdf7198942cee6b61ae807887a77864abc0b1bc16dba55c7b5f3ca90", - "dweb:/ipfs/QmXNCQkT5Er6NvKBJnhk9jR4T1KhNeorAr8F6K6dQPjztx" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/ICurveAddressProvider.sol": { - "keccak256": "0xf8da903700c623760de62b3e5d0b01997c68b8847391e23b89081128780e55e1", - "urls": [ - "bzz-raw://735b71b448d4d5c78e98ead84bf8f8e1e94e38ff8a77c7e4f9cc944d1d73e7df", - "dweb:/ipfs/QmXFgGFVEvQW9wpeBspcaVAXwCcxvnNJZLafTeP2HPArNQ" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/ICurveLiquidityGaugeV2.sol": { - "keccak256": "0x0fbd9bdd7d7df1cd92c065ae3e62f1767d80914f086a0f146a2c9874aa7d4e30", - "urls": [ - "bzz-raw://7ed9ee21be1e5c6e6caf3abd0a092410c50614239c72a361612e3d71a649e6e1", - "dweb:/ipfs/QmZgGgbPsWAiMwnPiimNGgFN6ZnaqcUkRSsSpnQi1MtBNs" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/ICurveLiquidityPool.sol": { - "keccak256": "0xd90f3399805f90d670098cc451f9948b8da7dd68be821617c76487fdc20f0731", - "urls": [ - "bzz-raw://ba6e6e5bf761fa279329a564741e5cd2b78c5be2e50c388ac419c3d84736c9a1", - "dweb:/ipfs/QmZ96kkg7oHLmdzwQLYbZVHDvKj8jZEJLaxNXy1j3sbgrn" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/ICurveMinter.sol": { - "keccak256": "0xbfe0cfa932805d9cda714d7ef7cb6b42d08c782b0ffa46de5e2c0530f4ce5ba1", - "urls": [ - "bzz-raw://29ab2dcee291bf81ccb67ab31fd3548e634fb2742642f70890edc7af727d3d39", - "dweb:/ipfs/QmVZtC5aHRABS8ZX8XVtwiW1Y8K5vnhVH7WKZ29prN2EpJ" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/ICurvePoolOwner.sol": { - "keccak256": "0x42a03eb0d757153add18d4f42b5b464041056e23f6965a48705088ddd213c336", - "urls": [ - "bzz-raw://a4166f75c4c80b8f069ae2b8cfe9bda2babca27fd30b239e30606eca69f8878c", - "dweb:/ipfs/QmYNULkXYTaKQUiCA8htR9KbCkK5YhrHfJgKtBqXiNPt9R" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/ICurveRegistryMain.sol": { - "keccak256": "0x9e67cfcd4195bfd8db785be1cba42bf8871d0638770adaf04d638227b29a9b2b", - "urls": [ - "bzz-raw://cb2587e7026be73f27d4dd75deb44faeca3112a58ddc07bb87bca46d96fd977b", - "dweb:/ipfs/QmTVdpCWZ9rv583gxP5Ycvs5Nf7jZTxVWr5oeZvywYNSSh" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/ICurveRegistryMetapoolFactory.sol": { - "keccak256": "0x43aa6bfbda8ca1fdcb0890792e7969999146c690986938ac43818ca9b9343e58", - "urls": [ - "bzz-raw://3426ad7d87cd51519c288004f970da83bf672d60fc7d1c647af5e84855f6a4b5", - "dweb:/ipfs/QmevngH3Acet8R6YHzGLRyNeEoUYfbnQm7NSbzHYN7rdpf" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IWETH.sol": { - "keccak256": "0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2", - "urls": [ - "bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2", - "dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AddressArrayLib.sol": { - "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", - "urls": [ - "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", - "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AssetHelpers.sol": { - "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", - "urls": [ - "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", - "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/FundDeployerOwnerMixin.sol": { - "keccak256": "0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934", - "urls": [ - "bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927", - "dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { - "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", - "urls": [ - "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", - "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Address.sol": { - "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", - "urls": [ - "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", - "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Strings.sol": { - "keccak256": "0xa1e12f97981f1d0964b1c048978606a57127c56c438bab61cdfe269cad859a74", - "urls": [ - "bzz-raw://5eefac1760f524971e14aa3f3d79515a3d54fd28c1d3bdca0b36127da349b830", - "dweb:/ipfs/QmUMzkyH3ytJX5gVPizQruNLhkKmuJb3nFqBDad4LPdg5U" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 168 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_integrationManager", "type": "address", "internalType": "address" }, { "name": "_curvePriceFeed", "type": "address", "internalType": "address" }, { "name": "_wrappedNativeAsset", "type": "address", "internalType": "address" }, { "name": "_curveMinter", "type": "address", "internalType": "address" }, { "name": "_crvToken", "type": "address", "internalType": "address" }, { "name": "_nativeAssetAddress", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "receive", "stateMutability": "payable" }, { "type": "function", "name": "CLAIM_REWARDS_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "LEND_AND_STAKE_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "LEND_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "REDEEM_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "STAKE_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "TAKE_MULTIPLE_ORDERS_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "TAKE_ORDER_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "UNSTAKE_AND_REDEEM_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "UNSTAKE_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "claimRewards", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_actionData", "type": "bytes", "internalType": "bytes" }, { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "getCurveGaugeV2RewardsHandlerCrvToken", "inputs": [], "outputs": [ { "name": "crvToken_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getCurveGaugeV2RewardsHandlerMinter", "inputs": [], "outputs": [ { "name": "minter_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getCurveLiquidityWrappedNativeAsset", "inputs": [], "outputs": [ { "name": "addressProvider_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getIntegrationManager", "inputs": [], "outputs": [ { "name": "integrationManager_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "lend", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_actionData", "type": "bytes", "internalType": "bytes" }, { "name": "_assetData", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "lendAndStake", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_actionData", "type": "bytes", "internalType": "bytes" }, { "name": "_assetData", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "parseAssetsForAction", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "_selector", "type": "bytes4", "internalType": "bytes4" }, { "name": "_actionData", "type": "bytes", "internalType": "bytes" } ], "outputs": [ { "name": "spendAssetsHandleType_", "type": "uint8", "internalType": "enum IIntegrationManager.SpendAssetsHandleType" }, { "name": "spendAssets_", "type": "address[]", "internalType": "address[]" }, { "name": "spendAssetAmounts_", "type": "uint256[]", "internalType": "uint256[]" }, { "name": "incomingAssets_", "type": "address[]", "internalType": "address[]" }, { "name": "minIncomingAssetAmounts_", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "view" }, { "type": "function", "name": "redeem", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_actionData", "type": "bytes", "internalType": "bytes" }, { "name": "_assetData", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "stake", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "", "type": "bytes", "internalType": "bytes" }, { "name": "_assetData", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "unstake", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_actionData", "type": "bytes", "internalType": "bytes" }, { "name": "_assetData", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "unstakeAndRedeem", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_actionData", "type": "bytes", "internalType": "bytes" }, { "name": "_assetData", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x61014060405234801561001157600080fd5b50604051620041bd380380620041bd833981810160405260c081101561003657600080fd5b5080516020820151604083015160608085015160808087015160a0978801516001600160601b031997851b881690925293831b861690965294811b841660c05290811b831660e05292831b82166101005290911b166101205260805160601c60a05160601c60c05160601c60e05160601c6101005160601c6101205160601c61408c6200013160003980610d8152806122bd528061255552806126ea528061296b52806133125250806114cd52806120455280613115525080610ebe525080613d8d525080610bde525080610a815280610c535280610f33528061102d5280611190528061124652806114a9528061151e525061408c6000f3fe60806040526004361061012e5760003560e01c80638334eb99116100ab578063c32990a21161006f578063c32990a214610754578063c54efee514610769578063e7c4569014610938578063f003eb851461094d578063f7d882b514610962578063fa7dd04d1461097757610135565b80638334eb9914610499578063863e5ad014610574578063b23228cf14610589578063b9dfbacc1461059e578063c29fa9dd1461067957610135565b806329fa046e116100f257806329fa046e146102a4578063332d709f1461037f5780633ffc15911461039457806340da225d146103a957806368e30677146103be57610135565b8063080456c11461013a578063099f75151461016c57806312c9d38614610249578063131461c01461027a578063257cb1a31461028f57610135565b3661013557005b600080fd5b34801561014657600080fd5b5061014f610a52565b604080516001600160e01b03199092168252519081900360200190f35b34801561017857600080fd5b506102476004803603606081101561018f57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b8111156101b957600080fd5b8201836020820111156101cb57600080fd5b803590602001918460018302840111600160201b831117156101ec57600080fd5b919390929091602081019035600160201b81111561020957600080fd5b82018360208201111561021b57600080fd5b803590602001918460018302840111600160201b8311171561023c57600080fd5b509092509050610a76565b005b34801561025557600080fd5b5061025e610bdc565b604080516001600160a01b039092168252519081900360200190f35b34801561028657600080fd5b5061014f610c00565b34801561029b57600080fd5b5061014f610c24565b3480156102b057600080fd5b50610247600480360360608110156102c757600080fd5b6001600160a01b038235169190810190604081016020820135600160201b8111156102f157600080fd5b82018360208201111561030357600080fd5b803590602001918460018302840111600160201b8311171561032457600080fd5b919390929091602081019035600160201b81111561034157600080fd5b82018360208201111561035357600080fd5b803590602001918460018302840111600160201b8311171561037457600080fd5b509092509050610c48565b34801561038b57600080fd5b5061025e610ebc565b3480156103a057600080fd5b5061014f610ee0565b3480156103b557600080fd5b5061014f610f04565b3480156103ca57600080fd5b50610247600480360360608110156103e157600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561040b57600080fd5b82018360208201111561041d57600080fd5b803590602001918460018302840111600160201b8311171561043e57600080fd5b919390929091602081019035600160201b81111561045b57600080fd5b82018360208201111561046d57600080fd5b803590602001918460018302840111600160201b8311171561048e57600080fd5b509092509050610f28565b3480156104a557600080fd5b50610247600480360360608110156104bc57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b8111156104e657600080fd5b8201836020820111156104f857600080fd5b803590602001918460018302840111600160201b8311171561051957600080fd5b919390929091602081019035600160201b81111561053657600080fd5b82018360208201111561054857600080fd5b803590602001918460018302840111600160201b8311171561056957600080fd5b509092509050611022565b34801561058057600080fd5b5061014f61113d565b34801561059557600080fd5b5061014f611161565b3480156105aa57600080fd5b50610247600480360360608110156105c157600080fd5b6001600160a01b038235169190810190604081016020820135600160201b8111156105eb57600080fd5b8201836020820111156105fd57600080fd5b803590602001918460018302840111600160201b8311171561061e57600080fd5b919390929091602081019035600160201b81111561063b57600080fd5b82018360208201111561064d57600080fd5b803590602001918460018302840111600160201b8311171561066e57600080fd5b509092509050611185565b34801561068557600080fd5b506102476004803603606081101561069c57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b8111156106c657600080fd5b8201836020820111156106d857600080fd5b803590602001918460018302840111600160201b831117156106f957600080fd5b919390929091602081019035600160201b81111561071657600080fd5b82018360208201111561072857600080fd5b803590602001918460018302840111600160201b8311171561074957600080fd5b50909250905061123b565b34801561076057600080fd5b5061014f611338565b34801561077557600080fd5b506108036004803603606081101561078c57600080fd5b6001600160a01b03823516916001600160e01b031960208201351691810190606081016040820135600160201b8111156107c557600080fd5b8201836020820111156107d757600080fd5b803590602001918460018302840111600160201b831117156107f857600080fd5b50909250905061135c565b6040518086600281111561081357fe5b815260200180602001806020018060200180602001858103855289818151815260200191508051906020019060200280838360005b83811015610860578181015183820152602001610848565b50505050905001858103845288818151815260200191508051906020019060200280838360005b8381101561089f578181015183820152602001610887565b50505050905001858103835287818151815260200191508051906020019060200280838360005b838110156108de5781810151838201526020016108c6565b50505050905001858103825286818151815260200191508051906020019060200280838360005b8381101561091d578181015183820152602001610905565b50505050905001995050505050505050505060405180910390f35b34801561094457600080fd5b5061025e6114a7565b34801561095957600080fd5b5061025e6114cb565b34801561096e57600080fd5b5061014f6114ef565b34801561098357600080fd5b506102476004803603606081101561099a57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b8111156109c457600080fd5b8201836020820111156109d657600080fd5b803590602001918460018302840111600160201b831117156109f757600080fd5b919390929091602081019035600160201b811115610a1457600080fd5b820183602082011115610a2657600080fd5b803590602001918460018302840111600160201b83111715610a4757600080fd5b509092509050611513565b7f8334eb99be0145865eba9889fca2ee920288090caefff4cc776038e20ad9259a81565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610add5760405162461bcd60e51b8152600401808060200182810382526032815260200180613fc76032913960400191505060405180910390fd5b8482828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250604080516020601f8c018190048102820181019092528a8152919450606093508492508291610b59918c908c908190840183828082843760009201919091525061165192505050565b93509350935093506060610ba289898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061171a92505050565b50509050610bb385828686866118d7565b50505050506060610bc38261171a565b92505050610bd18382611b8b565b505050505050505050565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f29fa046e79524c3c5ac4c01df692c35e217802b2b13b21121b76cf0ef02b138c81565b7f099f75155f0e997bf83a7993a71d5e7e7540bd386fe1e84643a09ce6b412521981565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610caf5760405162461bcd60e51b8152600401808060200182810382526032815260200180613fc76032913960400191505060405180910390fd5b8482828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250604080516020601f8c018190048102820181019092528a81529194506060935084925082918291610d2e91908d908d9081908401838280828437600092019190915250611ce692505050565b945094509450945094506060610d798a8a8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061171a92505050565b5050905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316631f5bce55886040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610dec57600080fd5b505afa158015610e00573d6000803e3d6000fd5b505050506040513d6020811015610e1657600080fd5b50519050610e2787838887876118d7565b610eaa8582836001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610e7957600080fd5b505afa158015610e8d573d6000803e3d6000fd5b505050506040513d6020811015610ea357600080fd5b5051611dba565b505050505050506060610bc38261171a565b7f000000000000000000000000000000000000000000000000000000000000000090565b7ffa7dd04da627f433da73c4355ead9c75682a67a8fc84d3f6170ef0922f402d2481565b7fb9dfbaccbe5cd2a84fdcf1d15f23ef25d23086f5afbaa99516065ed4a5bbc7a381565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610f8f5760405162461bcd60e51b8152600401808060200182810382526032815260200180613fc76032913960400191505060405180910390fd5b8482828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250604080516020601f8c018190048102820181019092528a815291945084935061100692508a908a9081908401838280828437600092019190915250611e3092505050565b92509250506110158282611e64565b50506060610bc38261171a565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146110895760405162461bcd60e51b8152600401808060200182810382526032815260200180613fc76032913960400191505060405180910390fd5b8482828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250604080516020601f8c018190048102820181019092528a815291945084935083925082918291606091611109918e908e9081908401838280828437600092019190915250611ec692505050565b95509550955095509550955061111f8585611e64565b61112c8685858585611fc9565b5050505050506060610bc38261171a565b7f03e38a2bd7063d45c897edeafc330e71657502dd86434d3c37a489caf116af6981565b7f68e30677f607df46e87da13e15b637784cfa62374b653f35ab43d10361a2f83081565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146111ec5760405162461bcd60e51b8152600401808060200182810382526032815260200180613fc76032913960400191505060405180910390fd5b61123461122e85858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061201592505050565b86612036565b5050505050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146112a25760405162461bcd60e51b8152600401808060200182810382526032815260200180613fc76032913960400191505060405180910390fd5b8482828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250604080516020601f8c018190048102820181019092528a8152919450849350839250829160609161132191908d908d90819084018382808284376000920191909152506120ea92505050565b94509450945094509450610bb38585858585611fc9565b7f0e7f692dad5b88fdee426250d6eae91207e56a2e8112b7364579bed1790e5bf481565b600060608080806001600160e01b03198816632e77eeb360e21b1415611393576113846121e3565b9450945094509450945061149c565b6001600160e01b0319881663099f751560e01b14156113b6576113848787612243565b6001600160e01b031988166314fd023760e11b14156113d95761138487876123d3565b6001600160e01b0319881663c29fa9dd60e01b14156113fc5761138487876124d8565b6001600160e01b0319881663fa7dd04d60e01b141561141f57611384878761266c565b6001600160e01b031988166368e3067760e01b141561144257611384878761286e565b6001600160e01b03198816638334eb9960e01b1415611465576113848787612a0f565b60405162461bcd60e51b81526004018080602001828103825260278152602001806140596027913960400191505060405180910390fd5b945094509450945094565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b7fc29fa9dde84204c2908778afd0613d802d31cf046179b88f6d2b4a4e507ea2d581565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461157a5760405162461bcd60e51b8152600401808060200182810382526032815260200180613fc76032913960400191505060405180910390fd5b8482828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f88018190048102820181019092528681526060935083925082916115f69190899089908190840183828082843760009201919091525061171a92505050565b9250925092506116438160008151811061160c57fe5b60200260200101518460008151811061162157fe5b60200260200101518460008151811061163657fe5b6020026020010151611dba565b5050506060610bc38261171a565b6000606060008084806020019051608081101561166d57600080fd5b815160208301805160405192949293830192919084600160201b82111561169357600080fd5b9083019060208201858111156116a857600080fd5b82518660208202830111600160201b821117156116c457600080fd5b82525081516020918201928201910280838360005b838110156116f15781810151838201526020016116d9565b505050509190910160409081526020830151920151959b949a5090985093965091945050505050565b606080606083806020019051606081101561173457600080fd5b8101908080516040519392919084600160201b82111561175357600080fd5b90830190602082018581111561176857600080fd5b82518660208202830111600160201b8211171561178457600080fd5b82525081516020918201928201910280838360005b838110156117b1578181015183820152602001611799565b5050505090500160405260200180516040519392919084600160201b8211156117d957600080fd5b9083019060208201858111156117ee57600080fd5b82518660208202830111600160201b8211171561180a57600080fd5b82525081516020918201928201910280838360005b8381101561183757818101518382015260200161181f565b5050505090500160405260200180516040519392919084600160201b82111561185f57600080fd5b90830190602082018581111561187457600080fd5b82518660208202830111600160201b8211171561189057600080fd5b82525081516020918201928201910280838360005b838110156118bd5781810151838201526020016118a5565b505050509050016040525050509250925092509193909250565b6000805b8551811015611a4a576118ec610bdc565b6001600160a01b031686828151811061190157fe5b60200260200101516001600160a01b03161415611a0457611920610bdc565b6001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561196c57600080fd5b505afa158015611980573d6000803e3d6000fd5b505050506040513d602081101561199657600080fd5b505191506119a2610bdc565b6001600160a01b0316632e1a7d4d836040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b1580156119e757600080fd5b505af11580156119fb573d6000803e3d6000fd5b50505050611a42565b611a42868281518110611a1357fe5b6020026020010151887f161bcca7119915b50764b4abe86529797775a5f1719510000000000000000000612b18565b6001016118db565b5060006060876001600160a01b031683611a65888888612bd6565b6040518082805190602001908083835b60208310611a945780518252601f199092019160209182019101611a75565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114611af6576040519150601f19603f3d011682016040523d82523d6000602084013e611afb565b606091505b5091509150818190610bd15760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611b50578181015183820152602001611b38565b50505050905090810190601f168015611b7d5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b6060815167ffffffffffffffff81118015611ba557600080fd5b50604051908082528060200260200182016040528015611bcf578160200160208202803683370190505b50905060005b8251811015611cdf576000838281518110611bec57fe5b60200260200101519050806001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015611c4357600080fd5b505afa158015611c57573d6000803e3d6000fd5b505050506040513d6020811015611c6d57600080fd5b50518351849084908110611c7d57fe5b6020026020010181815250506000838381518110611c9757fe5b60200260200101511115611cd657611cd685848481518110611cb557fe5b6020026020010151836001600160a01b0316612d279092919063ffffffff16565b50600101611bd5565b5092915050565b6000606060008060008580602001905160a0811015611d0457600080fd5b815160208301805160405192949293830192919084600160201b821115611d2a57600080fd5b908301906020820185811115611d3f57600080fd5b82518660208202830111600160201b82111715611d5b57600080fd5b82525081516020918201928201910280838360005b83811015611d88578181015183820152602001611d70565b50505050919091016040908152602083015190830151606090930151969d959c509a5090985093965091945050505050565b611dc5828483612b18565b60408051636e553f6560e01b81526004810183905230602482015290516001600160a01b03851691636e553f6591604480830192600092919082900301818387803b158015611e1357600080fd5b505af1158015611e27573d6000803e3d6000fd5b50505050505050565b6000806000838060200190516060811015611e4a57600080fd5b508051602082015160409092015190969195509350915050565b816001600160a01b0316632e1a7d4d826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015611eaa57600080fd5b505af1158015611ebe573d6000803e3d6000fd5b505050505050565b600080600080600060608680602001905160c0811015611ee557600080fd5b815160208301516040808501516060860151608087015160a088018051945196989597939692959194929382019284600160201b821115611f2557600080fd5b908301906020820185811115611f3a57600080fd5b8251600160201b811182820188101715611f5357600080fd5b82525081516020918201929091019080838360005b83811015611f80578181015183820152602001611f68565b50505050905090810190601f168015611fad5780820380516001836020036101000a031916815260200191505b5060405250505095509550955095509550955091939550919395565b6001826001811115611fd757fe5b141561200157600080611fe983612d7e565b91509150611ffa8787848489612da9565b5050611234565b611234858561200f84612f60565b86613008565b600081806020019051602081101561202c57600080fd5b505190505b919050565b61203e613113565b156120dc577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166327f18ae383836040518363ffffffff1660e01b815260040180836001600160a01b03168152602001826001600160a01b0316815260200192505050600060405180830381600087803b1580156120c357600080fd5b505af11580156120d7573d6000803e3d6000fd5b505050505b6120e68282613142565b5050565b60008060008060608580602001905160a081101561210757600080fd5b8151602083015160408085015160608601516080870180519351959794969295919491939282019284600160201b82111561214157600080fd5b90830190602082018581111561215657600080fd5b8251600160201b81118282018810171561216f57600080fd5b82525081516020918201929091019080838360005b8381101561219c578181015183820152602001612184565b50505050905090810190601f1680156121c95780820380516001836020036101000a031916815260200191505b506040525050509450945094509450945091939590929450565b600060608080808480604051908082528060200260200182016040528015612215578160200160208202803683370190505b5060408051600080825260208201818152828401918252606083019093529399929850965094509092509050565b6000606080606080600060606000806122918b8b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061165192505050565b6040805160018082528183019092529498509296509094509250602080830190803683370190505095507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316631f5bce55856040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561232857600080fd5b505afa15801561233c573d6000803e3d6000fd5b505050506040513d602081101561235257600080fd5b50518651879060009061236157fe5b6001600160a01b039290921660209283029190910182015260408051600180825281830190925291828101908036833701905050945081856000815181106123a557fe5b6020026020010181815250506123bc848483613191565b60029a509098509650505050509295509295909350565b60006060806060806000606060008060006124238c8c8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611ce692505050565b945094509450945094506124378584613306565b612442858583613191565b604080516001808252818301909252929b5090995060208083019080368337019050509650828760008151811061247557fe5b6001600160a01b039290921660209283029190910182015260408051600180825281830190925291828101908036833701905050955081866000815181106124b957fe5b6020026020010181815250506002995050505050509295509295909350565b600060608060608060008060008060606125278c8c8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506120ea92505050565b604080516001808252818301909252959a5093985091965094509250602080830190803683370190505098507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316631f5bce55866040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156125c057600080fd5b505afa1580156125d4573d6000803e3d6000fd5b505050506040513d60208110156125ea57600080fd5b505189518a906000906125f957fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509750838860008151811061263d57fe5b60200260200101818152505061265585848484613404565b60029e9a9d50989b50995096979650505050505050565b600060608060608060008060006126b88a8a8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611e3092505050565b9250925092506126c88383613306565b60408051600180825281830190925290602080830190803683370190505096507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316631f5bce55846040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561275557600080fd5b505afa158015612769573d6000803e3d6000fd5b505050506040513d602081101561277f57600080fd5b50518751889060009061278e57fe5b6001600160a01b039290921660209283029190910182015260408051600180825281830190925291828101908036833701905050955080866000815181106127d257fe5b602090810291909101015260408051600180825281830190925290816020016020820280368337019050509450818560008151811061280d57fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509350808460008151811061285157fe5b602002602001018181525050600297505050509295509295909350565b600060608060608060008060006128ba8a8a8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611e3092505050565b9250925092506128ca8383613306565b604080516001808252818301909252906020808301908036833701905050965081876000815181106128f857fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509550808660008151811061293c57fe5b6020908102919091010152604080516001808252818301909252908160200160208202803683370190505094507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316631f5bce55846040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156129d657600080fd5b505afa1580156129ea573d6000803e3d6000fd5b505050506040513d6020811015612a0057600080fd5b50518551869060009061280d57fe5b600060608060608060008060008060006060612a608d8d8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611ec692505050565b955095509550955095509550612a768686613306565b6040805160018082528183019092529060208083019080368337019050509950848a600081518110612aa457fe5b6001600160a01b03929092166020928302919091018201526040805160018082528183019092529182810190803683370190505098508389600081518110612ae857fe5b602002602001018181525050612b0086848484613404565b60029f9b9e50999c509a509798975050505050505050565b60408051636eb1769f60e11b81523060048201526001600160a01b038481166024830152915160009286169163dd62ed3e916044808301926020929190829003018186803b158015612b6957600080fd5b505afa158015612b7d573d6000803e3d6000fd5b505050506040513d6020811015612b9357600080fd5b5051905081811015612bd0578015612bba57612bba6001600160a01b038516846000613559565b612bd06001600160a01b03851684600019613559565b50505050565b6060808215612c005750604080516001602080830191909152825180830390910181529082019091525b612c0b85518461366c565b8560405160200180828051906020019060200280838360005b83811015612c3c578181015183820152602001612c24565b50505050905001915050604051602081830303815290604052858360405160200180856001600160e01b031916815260040184805190602001908083835b60208310612c995780518252601f199092019160209182019101612c7a565b51815160209384036101000a60001901801990921691161790529201858152845190830192850191508083835b60208310612ce55780518252601f199092019160209182019101612cc6565b6001836020036101000a0380198251168184511680821785525050505050509050019450505050506040516020818303038152906040529150505b9392505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052612d799084906137a8565b505050565b600080828060200190516040811015612d9657600080fd5b5080516020909101519092509050915091565b60608115612e0a57506040805160248101869052600f85900b60448201526064810184905260016084808301919091528251808303909101815260a49091019091526020810180516001600160e01b031663517a55a360e01b179052612e55565b506040805160248101869052600f85900b604482015260648082018590528251808303909101815260849091019091526020810180516001600160e01b0316630d2680e960e11b1790525b60006060876001600160a01b0316836040518082805190602001908083835b60208310612e935780518252601f199092019160209182019101612e74565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612ef5576040519150601f19603f3d011682016040523d82523d6000602084013e612efa565b606091505b5091509150818190612f4d5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315611b50578181015183820152602001611b38565b50612f56613859565b5050505050505050565b6060818060200190516020811015612f7757600080fd5b8101908080516040519392919084600160201b821115612f9657600080fd5b908301906020820185811115612fab57600080fd5b82518660208202830111600160201b82111715612fc757600080fd5b82525081516020918201928201910280838360005b83811015612ff4578181015183820152602001612fdc565b505050509050016040525050509050919050565b60006060856001600160a01b03166130218686866138a6565b6040518082805190602001908083835b602083106130505780518252601f199092019160209182019101613031565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146130b2576040519150601f19603f3d011682016040523d82523d6000602084013e6130b7565b606091505b509150915081819061310a5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315611b50578181015183820152602001611b38565b50611ebe613859565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316151590565b816001600160a01b03166384e9bd7e826040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050600060405180830381600087803b158015611eaa57600080fd5b6060806000805b85518110156131cc5760008682815181106131af57fe5b602002602001015111156131c4576001909101905b600101613198565b508067ffffffffffffffff811180156131e457600080fd5b5060405190808252806020026020018201604052801561320e578160200160208202803683370190505b5092508067ffffffffffffffff8111801561322857600080fd5b50604051908082528060200260200182016040528015613252578160200160208202803683370190505b5091506000805b86518110156132fb57600087828151811061327057fe5b602002602001015111156132f3576132898882886139b9565b85838151811061329557fe5b60200260200101906001600160a01b031690816001600160a01b0316815250508681815181106132c157fe5b60200260200101518483815181106132d557fe5b6020908102919091010152600190910190828214156132f3576132fb565b600101613259565b505050935093915050565b816001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316636a2175c0836040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561337d57600080fd5b505afa158015613391573d6000803e3d6000fd5b505050506040513d60208110156133a757600080fd5b50516001600160a01b0316146120e6576040805162461bcd60e51b815260206004820152601860248201527f5f5f76616c696461746547617567653a20496e76616c69640000000000000000604482015290519081900360640190fd5b606080600184600181111561341557fe5b14156134bb5760008061342785612d7e565b604080516001808252818301909252929450909250602080830190803683370190505093506134578883896139b9565b8460008151811061346457fe5b6001600160a01b039290921660209283029190910182015260408051600180825281830190925291828101908036833701905050925080836000815181106134a857fe5b6020026020010181815250505050613550565b6134c483612f60565b9050805167ffffffffffffffff811180156134de57600080fd5b50604051908082528060200260200182016040528015613508578160200160208202803683370190505b50915060005b825181101561354e576135228782886139b9565b83828151811061352e57fe5b6001600160a01b039092166020928302919091019091015260010161350e565b505b94509492505050565b8015806135df575060408051636eb1769f60e11b81523060048201526001600160a01b03848116602483015291519185169163dd62ed3e91604480820192602092909190829003018186803b1580156135b157600080fd5b505afa1580156135c5573d6000803e3d6000fd5b505050506040513d60208110156135db57600080fd5b5051155b61361a5760405162461bcd60e51b81526004018080602001828103825260368152602001806140236036913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052612d799084906137a8565b60006060821561369457506040805180820190915260058152640b189bdbdb60da1b60208201525b61369d84613bab565b816040516020018080756164645f6c69717569646974792875696e743235365b60501b81525060160183805190602001908083835b602083106136f15780518252601f1990920191602091820191016136d2565b51815160209384036101000a600019018019909216911617905261174b60f21b91909301908152663ab4b73a191a9b60c91b60028201528451600990910192850191508083835b602083106137575780518252601f199092019160209182019101613738565b6001836020036101000a03801982511681845116808217855250505050505090500180602960f81b815250600101925050506040516020818303038152906040528051906020012091505092915050565b60606137fd826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316613c869092919063ffffffff16565b805190915015612d795780806020019051602081101561381c57600080fd5b5051612d795760405162461bcd60e51b815260040180806020018281038252602a815260200180613ff9602a913960400191505060405180910390fd5b303180156138a357613869610bdc565b6001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b158015611eaa57600080fd5b50565b60608082156138d05750604080516001602080830191909152825180830390910181529082019091525b6138db845184613c95565b858560405160200180828051906020019060200280838360005b8381101561390d5781810151838201526020016138f5565b505050509050019150506040516020818303038152906040528360405160200180856001600160e01b031916815260040184815260200183805190602001908083835b6020831061396f5780518252601f199092019160209182019101613950565b51815160001960209485036101000a0190811690199190911617905285519390910192908501915080838360208310612ce55780518252601f199092019160209182019101612cc6565b60008115613ab057836001600160a01b031663b9947eb0846040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015613a0557600080fd5b505afa925050508015613a2a57506040513d6020811015613a2557600080fd5b505160015b613aa857836001600160a01b031663b739953e846040518263ffffffff1660e01b81526004018082600f0b815260200191505060206040518083038186803b158015613a7557600080fd5b505afa158015613a89573d6000803e3d6000fd5b505050506040513d6020811015613a9f57600080fd5b50519050613aab565b90505b613b9a565b836001600160a01b031663c6610657846040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015613af457600080fd5b505afa925050508015613b1957506040513d6020811015613b1457600080fd5b505160015b613b9757836001600160a01b03166323746eb8846040518263ffffffff1660e01b81526004018082600f0b815260200191505060206040518083038186803b158015613b6457600080fd5b505afa158015613b78573d6000803e3d6000fd5b505050506040513d6020811015613b8e57600080fd5b50519050613b9a565b90505b613ba381613d89565b949350505050565b606081613bd057506040805180820190915260018152600360fc1b6020820152612031565b8160005b8115613be857600101600a82049150613bd4565b60608167ffffffffffffffff81118015613c0157600080fd5b506040519080825280601f01601f191660200182016040528015613c2c576020820181803683370190505b50859350905060001982015b8315613c7d57600a840660300160f81b82828060019003935081518110613c5b57fe5b60200101906001600160f81b031916908160001a905350600a84049350613c38565b50949350505050565b6060613ba38484600085613dd8565b600060608215613cbd57506040805180820190915260058152640b189bdbdb60da1b60208201525b613cc684613bab565b6040517f72656d6f76655f6c69717569646974792875696e743235362c0000000000000060208083019182526775696e743235365b60c01b603984015283518593604101918501908083835b60208310613d315780518252601f199092019160209182019101613d12565b6001836020036101000a03801982511681845116808217855250505050505090500180605d60f81b8152506001018280519060200190808383602083106137575780518252601f199092019160209182019101613738565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b03161415613dd457613dcd610bdc565b9050612031565b5090565b606082471015613e195760405162461bcd60e51b8152600401808060200182810382526026815260200180613fa16026913960400191505060405180910390fd5b613e2285613f34565b613e73576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b60208310613eb25780518252601f199092019160209182019101613e93565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114613f14576040519150601f19603f3d011682016040523d82523d6000602084013e613f19565b606091505b5091509150613f29828286613f3a565b979650505050505050565b3b151590565b60608315613f49575081612d20565b825115613f595782518084602001fd5b60405162461bcd60e51b8152602060048201818152845160248401528451859391928392604401919085019080838360008315611b50578181015183820152602001611b3856fe416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c4f6e6c792074686520496e746567726174696f6e4d616e616765722063616e2063616c6c20746869732066756e6374696f6e5361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e63657061727365417373657473466f72416374696f6e3a205f73656c6563746f7220696e76616c6964a164736f6c634300060c000a", "sourceMap": "913:18416:168:-:0;;;1077:476;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1077:476:168;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1938:41:179;;;;;;;;1247:58:189;;;;;;;;1015::203;;;;;1077:476:168;1015:58:203;998:52:188;;;;;;;1060:47;;;;;;;1487:59:168;;;;::::2;::::0;913:18416;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x60806040526004361061012e5760003560e01c80638334eb99116100ab578063c32990a21161006f578063c32990a214610754578063c54efee514610769578063e7c4569014610938578063f003eb851461094d578063f7d882b514610962578063fa7dd04d1461097757610135565b80638334eb9914610499578063863e5ad014610574578063b23228cf14610589578063b9dfbacc1461059e578063c29fa9dd1461067957610135565b806329fa046e116100f257806329fa046e146102a4578063332d709f1461037f5780633ffc15911461039457806340da225d146103a957806368e30677146103be57610135565b8063080456c11461013a578063099f75151461016c57806312c9d38614610249578063131461c01461027a578063257cb1a31461028f57610135565b3661013557005b600080fd5b34801561014657600080fd5b5061014f610a52565b604080516001600160e01b03199092168252519081900360200190f35b34801561017857600080fd5b506102476004803603606081101561018f57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b8111156101b957600080fd5b8201836020820111156101cb57600080fd5b803590602001918460018302840111600160201b831117156101ec57600080fd5b919390929091602081019035600160201b81111561020957600080fd5b82018360208201111561021b57600080fd5b803590602001918460018302840111600160201b8311171561023c57600080fd5b509092509050610a76565b005b34801561025557600080fd5b5061025e610bdc565b604080516001600160a01b039092168252519081900360200190f35b34801561028657600080fd5b5061014f610c00565b34801561029b57600080fd5b5061014f610c24565b3480156102b057600080fd5b50610247600480360360608110156102c757600080fd5b6001600160a01b038235169190810190604081016020820135600160201b8111156102f157600080fd5b82018360208201111561030357600080fd5b803590602001918460018302840111600160201b8311171561032457600080fd5b919390929091602081019035600160201b81111561034157600080fd5b82018360208201111561035357600080fd5b803590602001918460018302840111600160201b8311171561037457600080fd5b509092509050610c48565b34801561038b57600080fd5b5061025e610ebc565b3480156103a057600080fd5b5061014f610ee0565b3480156103b557600080fd5b5061014f610f04565b3480156103ca57600080fd5b50610247600480360360608110156103e157600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561040b57600080fd5b82018360208201111561041d57600080fd5b803590602001918460018302840111600160201b8311171561043e57600080fd5b919390929091602081019035600160201b81111561045b57600080fd5b82018360208201111561046d57600080fd5b803590602001918460018302840111600160201b8311171561048e57600080fd5b509092509050610f28565b3480156104a557600080fd5b50610247600480360360608110156104bc57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b8111156104e657600080fd5b8201836020820111156104f857600080fd5b803590602001918460018302840111600160201b8311171561051957600080fd5b919390929091602081019035600160201b81111561053657600080fd5b82018360208201111561054857600080fd5b803590602001918460018302840111600160201b8311171561056957600080fd5b509092509050611022565b34801561058057600080fd5b5061014f61113d565b34801561059557600080fd5b5061014f611161565b3480156105aa57600080fd5b50610247600480360360608110156105c157600080fd5b6001600160a01b038235169190810190604081016020820135600160201b8111156105eb57600080fd5b8201836020820111156105fd57600080fd5b803590602001918460018302840111600160201b8311171561061e57600080fd5b919390929091602081019035600160201b81111561063b57600080fd5b82018360208201111561064d57600080fd5b803590602001918460018302840111600160201b8311171561066e57600080fd5b509092509050611185565b34801561068557600080fd5b506102476004803603606081101561069c57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b8111156106c657600080fd5b8201836020820111156106d857600080fd5b803590602001918460018302840111600160201b831117156106f957600080fd5b919390929091602081019035600160201b81111561071657600080fd5b82018360208201111561072857600080fd5b803590602001918460018302840111600160201b8311171561074957600080fd5b50909250905061123b565b34801561076057600080fd5b5061014f611338565b34801561077557600080fd5b506108036004803603606081101561078c57600080fd5b6001600160a01b03823516916001600160e01b031960208201351691810190606081016040820135600160201b8111156107c557600080fd5b8201836020820111156107d757600080fd5b803590602001918460018302840111600160201b831117156107f857600080fd5b50909250905061135c565b6040518086600281111561081357fe5b815260200180602001806020018060200180602001858103855289818151815260200191508051906020019060200280838360005b83811015610860578181015183820152602001610848565b50505050905001858103845288818151815260200191508051906020019060200280838360005b8381101561089f578181015183820152602001610887565b50505050905001858103835287818151815260200191508051906020019060200280838360005b838110156108de5781810151838201526020016108c6565b50505050905001858103825286818151815260200191508051906020019060200280838360005b8381101561091d578181015183820152602001610905565b50505050905001995050505050505050505060405180910390f35b34801561094457600080fd5b5061025e6114a7565b34801561095957600080fd5b5061025e6114cb565b34801561096e57600080fd5b5061014f6114ef565b34801561098357600080fd5b506102476004803603606081101561099a57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b8111156109c457600080fd5b8201836020820111156109d657600080fd5b803590602001918460018302840111600160201b831117156109f757600080fd5b919390929091602081019035600160201b811115610a1457600080fd5b820183602082011115610a2657600080fd5b803590602001918460018302840111600160201b83111715610a4757600080fd5b509092509050611513565b7f8334eb99be0145865eba9889fca2ee920288090caefff4cc776038e20ad9259a81565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610add5760405162461bcd60e51b8152600401808060200182810382526032815260200180613fc76032913960400191505060405180910390fd5b8482828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250604080516020601f8c018190048102820181019092528a8152919450606093508492508291610b59918c908c908190840183828082843760009201919091525061165192505050565b93509350935093506060610ba289898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061171a92505050565b50509050610bb385828686866118d7565b50505050506060610bc38261171a565b92505050610bd18382611b8b565b505050505050505050565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f29fa046e79524c3c5ac4c01df692c35e217802b2b13b21121b76cf0ef02b138c81565b7f099f75155f0e997bf83a7993a71d5e7e7540bd386fe1e84643a09ce6b412521981565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610caf5760405162461bcd60e51b8152600401808060200182810382526032815260200180613fc76032913960400191505060405180910390fd5b8482828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250604080516020601f8c018190048102820181019092528a81529194506060935084925082918291610d2e91908d908d9081908401838280828437600092019190915250611ce692505050565b945094509450945094506060610d798a8a8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061171a92505050565b5050905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316631f5bce55886040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610dec57600080fd5b505afa158015610e00573d6000803e3d6000fd5b505050506040513d6020811015610e1657600080fd5b50519050610e2787838887876118d7565b610eaa8582836001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610e7957600080fd5b505afa158015610e8d573d6000803e3d6000fd5b505050506040513d6020811015610ea357600080fd5b5051611dba565b505050505050506060610bc38261171a565b7f000000000000000000000000000000000000000000000000000000000000000090565b7ffa7dd04da627f433da73c4355ead9c75682a67a8fc84d3f6170ef0922f402d2481565b7fb9dfbaccbe5cd2a84fdcf1d15f23ef25d23086f5afbaa99516065ed4a5bbc7a381565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610f8f5760405162461bcd60e51b8152600401808060200182810382526032815260200180613fc76032913960400191505060405180910390fd5b8482828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250604080516020601f8c018190048102820181019092528a815291945084935061100692508a908a9081908401838280828437600092019190915250611e3092505050565b92509250506110158282611e64565b50506060610bc38261171a565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146110895760405162461bcd60e51b8152600401808060200182810382526032815260200180613fc76032913960400191505060405180910390fd5b8482828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250604080516020601f8c018190048102820181019092528a815291945084935083925082918291606091611109918e908e9081908401838280828437600092019190915250611ec692505050565b95509550955095509550955061111f8585611e64565b61112c8685858585611fc9565b5050505050506060610bc38261171a565b7f03e38a2bd7063d45c897edeafc330e71657502dd86434d3c37a489caf116af6981565b7f68e30677f607df46e87da13e15b637784cfa62374b653f35ab43d10361a2f83081565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146111ec5760405162461bcd60e51b8152600401808060200182810382526032815260200180613fc76032913960400191505060405180910390fd5b61123461122e85858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061201592505050565b86612036565b5050505050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146112a25760405162461bcd60e51b8152600401808060200182810382526032815260200180613fc76032913960400191505060405180910390fd5b8482828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250604080516020601f8c018190048102820181019092528a8152919450849350839250829160609161132191908d908d90819084018382808284376000920191909152506120ea92505050565b94509450945094509450610bb38585858585611fc9565b7f0e7f692dad5b88fdee426250d6eae91207e56a2e8112b7364579bed1790e5bf481565b600060608080806001600160e01b03198816632e77eeb360e21b1415611393576113846121e3565b9450945094509450945061149c565b6001600160e01b0319881663099f751560e01b14156113b6576113848787612243565b6001600160e01b031988166314fd023760e11b14156113d95761138487876123d3565b6001600160e01b0319881663c29fa9dd60e01b14156113fc5761138487876124d8565b6001600160e01b0319881663fa7dd04d60e01b141561141f57611384878761266c565b6001600160e01b031988166368e3067760e01b141561144257611384878761286e565b6001600160e01b03198816638334eb9960e01b1415611465576113848787612a0f565b60405162461bcd60e51b81526004018080602001828103825260278152602001806140596027913960400191505060405180910390fd5b945094509450945094565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b7fc29fa9dde84204c2908778afd0613d802d31cf046179b88f6d2b4a4e507ea2d581565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461157a5760405162461bcd60e51b8152600401808060200182810382526032815260200180613fc76032913960400191505060405180910390fd5b8482828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f88018190048102820181019092528681526060935083925082916115f69190899089908190840183828082843760009201919091525061171a92505050565b9250925092506116438160008151811061160c57fe5b60200260200101518460008151811061162157fe5b60200260200101518460008151811061163657fe5b6020026020010151611dba565b5050506060610bc38261171a565b6000606060008084806020019051608081101561166d57600080fd5b815160208301805160405192949293830192919084600160201b82111561169357600080fd5b9083019060208201858111156116a857600080fd5b82518660208202830111600160201b821117156116c457600080fd5b82525081516020918201928201910280838360005b838110156116f15781810151838201526020016116d9565b505050509190910160409081526020830151920151959b949a5090985093965091945050505050565b606080606083806020019051606081101561173457600080fd5b8101908080516040519392919084600160201b82111561175357600080fd5b90830190602082018581111561176857600080fd5b82518660208202830111600160201b8211171561178457600080fd5b82525081516020918201928201910280838360005b838110156117b1578181015183820152602001611799565b5050505090500160405260200180516040519392919084600160201b8211156117d957600080fd5b9083019060208201858111156117ee57600080fd5b82518660208202830111600160201b8211171561180a57600080fd5b82525081516020918201928201910280838360005b8381101561183757818101518382015260200161181f565b5050505090500160405260200180516040519392919084600160201b82111561185f57600080fd5b90830190602082018581111561187457600080fd5b82518660208202830111600160201b8211171561189057600080fd5b82525081516020918201928201910280838360005b838110156118bd5781810151838201526020016118a5565b505050509050016040525050509250925092509193909250565b6000805b8551811015611a4a576118ec610bdc565b6001600160a01b031686828151811061190157fe5b60200260200101516001600160a01b03161415611a0457611920610bdc565b6001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561196c57600080fd5b505afa158015611980573d6000803e3d6000fd5b505050506040513d602081101561199657600080fd5b505191506119a2610bdc565b6001600160a01b0316632e1a7d4d836040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b1580156119e757600080fd5b505af11580156119fb573d6000803e3d6000fd5b50505050611a42565b611a42868281518110611a1357fe5b6020026020010151887f161bcca7119915b50764b4abe86529797775a5f1719510000000000000000000612b18565b6001016118db565b5060006060876001600160a01b031683611a65888888612bd6565b6040518082805190602001908083835b60208310611a945780518252601f199092019160209182019101611a75565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114611af6576040519150601f19603f3d011682016040523d82523d6000602084013e611afb565b606091505b5091509150818190610bd15760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611b50578181015183820152602001611b38565b50505050905090810190601f168015611b7d5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b6060815167ffffffffffffffff81118015611ba557600080fd5b50604051908082528060200260200182016040528015611bcf578160200160208202803683370190505b50905060005b8251811015611cdf576000838281518110611bec57fe5b60200260200101519050806001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015611c4357600080fd5b505afa158015611c57573d6000803e3d6000fd5b505050506040513d6020811015611c6d57600080fd5b50518351849084908110611c7d57fe5b6020026020010181815250506000838381518110611c9757fe5b60200260200101511115611cd657611cd685848481518110611cb557fe5b6020026020010151836001600160a01b0316612d279092919063ffffffff16565b50600101611bd5565b5092915050565b6000606060008060008580602001905160a0811015611d0457600080fd5b815160208301805160405192949293830192919084600160201b821115611d2a57600080fd5b908301906020820185811115611d3f57600080fd5b82518660208202830111600160201b82111715611d5b57600080fd5b82525081516020918201928201910280838360005b83811015611d88578181015183820152602001611d70565b50505050919091016040908152602083015190830151606090930151969d959c509a5090985093965091945050505050565b611dc5828483612b18565b60408051636e553f6560e01b81526004810183905230602482015290516001600160a01b03851691636e553f6591604480830192600092919082900301818387803b158015611e1357600080fd5b505af1158015611e27573d6000803e3d6000fd5b50505050505050565b6000806000838060200190516060811015611e4a57600080fd5b508051602082015160409092015190969195509350915050565b816001600160a01b0316632e1a7d4d826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015611eaa57600080fd5b505af1158015611ebe573d6000803e3d6000fd5b505050505050565b600080600080600060608680602001905160c0811015611ee557600080fd5b815160208301516040808501516060860151608087015160a088018051945196989597939692959194929382019284600160201b821115611f2557600080fd5b908301906020820185811115611f3a57600080fd5b8251600160201b811182820188101715611f5357600080fd5b82525081516020918201929091019080838360005b83811015611f80578181015183820152602001611f68565b50505050905090810190601f168015611fad5780820380516001836020036101000a031916815260200191505b5060405250505095509550955095509550955091939550919395565b6001826001811115611fd757fe5b141561200157600080611fe983612d7e565b91509150611ffa8787848489612da9565b5050611234565b611234858561200f84612f60565b86613008565b600081806020019051602081101561202c57600080fd5b505190505b919050565b61203e613113565b156120dc577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166327f18ae383836040518363ffffffff1660e01b815260040180836001600160a01b03168152602001826001600160a01b0316815260200192505050600060405180830381600087803b1580156120c357600080fd5b505af11580156120d7573d6000803e3d6000fd5b505050505b6120e68282613142565b5050565b60008060008060608580602001905160a081101561210757600080fd5b8151602083015160408085015160608601516080870180519351959794969295919491939282019284600160201b82111561214157600080fd5b90830190602082018581111561215657600080fd5b8251600160201b81118282018810171561216f57600080fd5b82525081516020918201929091019080838360005b8381101561219c578181015183820152602001612184565b50505050905090810190601f1680156121c95780820380516001836020036101000a031916815260200191505b506040525050509450945094509450945091939590929450565b600060608080808480604051908082528060200260200182016040528015612215578160200160208202803683370190505b5060408051600080825260208201818152828401918252606083019093529399929850965094509092509050565b6000606080606080600060606000806122918b8b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061165192505050565b6040805160018082528183019092529498509296509094509250602080830190803683370190505095507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316631f5bce55856040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561232857600080fd5b505afa15801561233c573d6000803e3d6000fd5b505050506040513d602081101561235257600080fd5b50518651879060009061236157fe5b6001600160a01b039290921660209283029190910182015260408051600180825281830190925291828101908036833701905050945081856000815181106123a557fe5b6020026020010181815250506123bc848483613191565b60029a509098509650505050509295509295909350565b60006060806060806000606060008060006124238c8c8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611ce692505050565b945094509450945094506124378584613306565b612442858583613191565b604080516001808252818301909252929b5090995060208083019080368337019050509650828760008151811061247557fe5b6001600160a01b039290921660209283029190910182015260408051600180825281830190925291828101908036833701905050955081866000815181106124b957fe5b6020026020010181815250506002995050505050509295509295909350565b600060608060608060008060008060606125278c8c8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506120ea92505050565b604080516001808252818301909252959a5093985091965094509250602080830190803683370190505098507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316631f5bce55866040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156125c057600080fd5b505afa1580156125d4573d6000803e3d6000fd5b505050506040513d60208110156125ea57600080fd5b505189518a906000906125f957fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509750838860008151811061263d57fe5b60200260200101818152505061265585848484613404565b60029e9a9d50989b50995096979650505050505050565b600060608060608060008060006126b88a8a8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611e3092505050565b9250925092506126c88383613306565b60408051600180825281830190925290602080830190803683370190505096507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316631f5bce55846040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561275557600080fd5b505afa158015612769573d6000803e3d6000fd5b505050506040513d602081101561277f57600080fd5b50518751889060009061278e57fe5b6001600160a01b039290921660209283029190910182015260408051600180825281830190925291828101908036833701905050955080866000815181106127d257fe5b602090810291909101015260408051600180825281830190925290816020016020820280368337019050509450818560008151811061280d57fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509350808460008151811061285157fe5b602002602001018181525050600297505050509295509295909350565b600060608060608060008060006128ba8a8a8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611e3092505050565b9250925092506128ca8383613306565b604080516001808252818301909252906020808301908036833701905050965081876000815181106128f857fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509550808660008151811061293c57fe5b6020908102919091010152604080516001808252818301909252908160200160208202803683370190505094507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316631f5bce55846040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156129d657600080fd5b505afa1580156129ea573d6000803e3d6000fd5b505050506040513d6020811015612a0057600080fd5b50518551869060009061280d57fe5b600060608060608060008060008060006060612a608d8d8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611ec692505050565b955095509550955095509550612a768686613306565b6040805160018082528183019092529060208083019080368337019050509950848a600081518110612aa457fe5b6001600160a01b03929092166020928302919091018201526040805160018082528183019092529182810190803683370190505098508389600081518110612ae857fe5b602002602001018181525050612b0086848484613404565b60029f9b9e50999c509a509798975050505050505050565b60408051636eb1769f60e11b81523060048201526001600160a01b038481166024830152915160009286169163dd62ed3e916044808301926020929190829003018186803b158015612b6957600080fd5b505afa158015612b7d573d6000803e3d6000fd5b505050506040513d6020811015612b9357600080fd5b5051905081811015612bd0578015612bba57612bba6001600160a01b038516846000613559565b612bd06001600160a01b03851684600019613559565b50505050565b6060808215612c005750604080516001602080830191909152825180830390910181529082019091525b612c0b85518461366c565b8560405160200180828051906020019060200280838360005b83811015612c3c578181015183820152602001612c24565b50505050905001915050604051602081830303815290604052858360405160200180856001600160e01b031916815260040184805190602001908083835b60208310612c995780518252601f199092019160209182019101612c7a565b51815160209384036101000a60001901801990921691161790529201858152845190830192850191508083835b60208310612ce55780518252601f199092019160209182019101612cc6565b6001836020036101000a0380198251168184511680821785525050505050509050019450505050506040516020818303038152906040529150505b9392505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052612d799084906137a8565b505050565b600080828060200190516040811015612d9657600080fd5b5080516020909101519092509050915091565b60608115612e0a57506040805160248101869052600f85900b60448201526064810184905260016084808301919091528251808303909101815260a49091019091526020810180516001600160e01b031663517a55a360e01b179052612e55565b506040805160248101869052600f85900b604482015260648082018590528251808303909101815260849091019091526020810180516001600160e01b0316630d2680e960e11b1790525b60006060876001600160a01b0316836040518082805190602001908083835b60208310612e935780518252601f199092019160209182019101612e74565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114612ef5576040519150601f19603f3d011682016040523d82523d6000602084013e612efa565b606091505b5091509150818190612f4d5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315611b50578181015183820152602001611b38565b50612f56613859565b5050505050505050565b6060818060200190516020811015612f7757600080fd5b8101908080516040519392919084600160201b821115612f9657600080fd5b908301906020820185811115612fab57600080fd5b82518660208202830111600160201b82111715612fc757600080fd5b82525081516020918201928201910280838360005b83811015612ff4578181015183820152602001612fdc565b505050509050016040525050509050919050565b60006060856001600160a01b03166130218686866138a6565b6040518082805190602001908083835b602083106130505780518252601f199092019160209182019101613031565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146130b2576040519150601f19603f3d011682016040523d82523d6000602084013e6130b7565b606091505b509150915081819061310a5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315611b50578181015183820152602001611b38565b50611ebe613859565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316151590565b816001600160a01b03166384e9bd7e826040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050600060405180830381600087803b158015611eaa57600080fd5b6060806000805b85518110156131cc5760008682815181106131af57fe5b602002602001015111156131c4576001909101905b600101613198565b508067ffffffffffffffff811180156131e457600080fd5b5060405190808252806020026020018201604052801561320e578160200160208202803683370190505b5092508067ffffffffffffffff8111801561322857600080fd5b50604051908082528060200260200182016040528015613252578160200160208202803683370190505b5091506000805b86518110156132fb57600087828151811061327057fe5b602002602001015111156132f3576132898882886139b9565b85838151811061329557fe5b60200260200101906001600160a01b031690816001600160a01b0316815250508681815181106132c157fe5b60200260200101518483815181106132d557fe5b6020908102919091010152600190910190828214156132f3576132fb565b600101613259565b505050935093915050565b816001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316636a2175c0836040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561337d57600080fd5b505afa158015613391573d6000803e3d6000fd5b505050506040513d60208110156133a757600080fd5b50516001600160a01b0316146120e6576040805162461bcd60e51b815260206004820152601860248201527f5f5f76616c696461746547617567653a20496e76616c69640000000000000000604482015290519081900360640190fd5b606080600184600181111561341557fe5b14156134bb5760008061342785612d7e565b604080516001808252818301909252929450909250602080830190803683370190505093506134578883896139b9565b8460008151811061346457fe5b6001600160a01b039290921660209283029190910182015260408051600180825281830190925291828101908036833701905050925080836000815181106134a857fe5b6020026020010181815250505050613550565b6134c483612f60565b9050805167ffffffffffffffff811180156134de57600080fd5b50604051908082528060200260200182016040528015613508578160200160208202803683370190505b50915060005b825181101561354e576135228782886139b9565b83828151811061352e57fe5b6001600160a01b039092166020928302919091019091015260010161350e565b505b94509492505050565b8015806135df575060408051636eb1769f60e11b81523060048201526001600160a01b03848116602483015291519185169163dd62ed3e91604480820192602092909190829003018186803b1580156135b157600080fd5b505afa1580156135c5573d6000803e3d6000fd5b505050506040513d60208110156135db57600080fd5b5051155b61361a5760405162461bcd60e51b81526004018080602001828103825260368152602001806140236036913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052612d799084906137a8565b60006060821561369457506040805180820190915260058152640b189bdbdb60da1b60208201525b61369d84613bab565b816040516020018080756164645f6c69717569646974792875696e743235365b60501b81525060160183805190602001908083835b602083106136f15780518252601f1990920191602091820191016136d2565b51815160209384036101000a600019018019909216911617905261174b60f21b91909301908152663ab4b73a191a9b60c91b60028201528451600990910192850191508083835b602083106137575780518252601f199092019160209182019101613738565b6001836020036101000a03801982511681845116808217855250505050505090500180602960f81b815250600101925050506040516020818303038152906040528051906020012091505092915050565b60606137fd826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316613c869092919063ffffffff16565b805190915015612d795780806020019051602081101561381c57600080fd5b5051612d795760405162461bcd60e51b815260040180806020018281038252602a815260200180613ff9602a913960400191505060405180910390fd5b303180156138a357613869610bdc565b6001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b158015611eaa57600080fd5b50565b60608082156138d05750604080516001602080830191909152825180830390910181529082019091525b6138db845184613c95565b858560405160200180828051906020019060200280838360005b8381101561390d5781810151838201526020016138f5565b505050509050019150506040516020818303038152906040528360405160200180856001600160e01b031916815260040184815260200183805190602001908083835b6020831061396f5780518252601f199092019160209182019101613950565b51815160001960209485036101000a0190811690199190911617905285519390910192908501915080838360208310612ce55780518252601f199092019160209182019101612cc6565b60008115613ab057836001600160a01b031663b9947eb0846040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015613a0557600080fd5b505afa925050508015613a2a57506040513d6020811015613a2557600080fd5b505160015b613aa857836001600160a01b031663b739953e846040518263ffffffff1660e01b81526004018082600f0b815260200191505060206040518083038186803b158015613a7557600080fd5b505afa158015613a89573d6000803e3d6000fd5b505050506040513d6020811015613a9f57600080fd5b50519050613aab565b90505b613b9a565b836001600160a01b031663c6610657846040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015613af457600080fd5b505afa925050508015613b1957506040513d6020811015613b1457600080fd5b505160015b613b9757836001600160a01b03166323746eb8846040518263ffffffff1660e01b81526004018082600f0b815260200191505060206040518083038186803b158015613b6457600080fd5b505afa158015613b78573d6000803e3d6000fd5b505050506040513d6020811015613b8e57600080fd5b50519050613b9a565b90505b613ba381613d89565b949350505050565b606081613bd057506040805180820190915260018152600360fc1b6020820152612031565b8160005b8115613be857600101600a82049150613bd4565b60608167ffffffffffffffff81118015613c0157600080fd5b506040519080825280601f01601f191660200182016040528015613c2c576020820181803683370190505b50859350905060001982015b8315613c7d57600a840660300160f81b82828060019003935081518110613c5b57fe5b60200101906001600160f81b031916908160001a905350600a84049350613c38565b50949350505050565b6060613ba38484600085613dd8565b600060608215613cbd57506040805180820190915260058152640b189bdbdb60da1b60208201525b613cc684613bab565b6040517f72656d6f76655f6c69717569646974792875696e743235362c0000000000000060208083019182526775696e743235365b60c01b603984015283518593604101918501908083835b60208310613d315780518252601f199092019160209182019101613d12565b6001836020036101000a03801982511681845116808217855250505050505090500180605d60f81b8152506001018280519060200190808383602083106137575780518252601f199092019160209182019101613738565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b03161415613dd457613dcd610bdc565b9050612031565b5090565b606082471015613e195760405162461bcd60e51b8152600401808060200182810382526026815260200180613fa16026913960400191505060405180910390fd5b613e2285613f34565b613e73576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b60208310613eb25780518252601f199092019160209182019101613e93565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114613f14576040519150601f19603f3d011682016040523d82523d6000602084013e613f19565b606091505b5091509150613f29828286613f3a565b979650505050505050565b3b151590565b60608315613f49575081612d20565b825115613f595782518084602001fd5b60405162461bcd60e51b8152602060048201818152845160248401528451859391928392604401919085019080838360008315611b50578181015183820152602001611b3856fe416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c4f6e6c792074686520496e746567726174696f6e4d616e616765722063616e2063616c6c20746869732066756e6374696f6e5361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e63657061727365417373657473466f72416374696f6e3a205f73656c6563746f7220696e76616c6964a164736f6c634300060c000a", "sourceMap": "913:18416:168:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1490:119:180;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;1490:119:180;;;;;;;;;;;;;;2411:737:168;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2411:737:168;;;;;;;;;;;;;;;-1:-1:-1;;;2411:737:168;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2411:737:168;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2411:737:168;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2411:737:168;;;;;;;;;;-1:-1:-1;2411:737:168;;-1:-1:-1;2411:737:168;-1:-1:-1;2411:737:168;:::i;:::-;;9355:154:189;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;9355:154:189;;;;;;;;;;;;;;1373:111:180;;;;;;;;;;;;;:::i;832:85::-;;;;;;;;;;;;;:::i;3438:1031:168:-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3438:1031:168;;;;;;;;;;;;;;;-1:-1:-1;;;3438:1031:168;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3438:1031:168;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3438:1031:168;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3438:1031:168;;;;;;;;;;-1:-1:-1;3438:1031:168;;-1:-1:-1;3438:1031:168;-1:-1:-1;3438:1031:168;:::i;2140:153:188:-;;;;;;;;;;;;;:::i;1034:87:180:-;;;;;;;;;;;;;:::i;1240:110::-;;;;;;;;;;;;;:::i;6258:414:168:-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6258:414:168;;;;;;;;;;;;;;;-1:-1:-1;;;6258:414:168;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;6258:414:168;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;6258:414:168;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;6258:414:168;;;;;;;;;;-1:-1:-1;6258:414:168;;-1:-1:-1;6258:414:168;-1:-1:-1;6258:414:168;:::i;6937:819::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6937:819:168;;;;;;;;;;;;;;;-1:-1:-1;;;6937:819:168;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;6937:819:168;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;6937:819:168;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;6937:819:168;;;;;;;;;;-1:-1:-1;6937:819:168;;-1:-1:-1;6937:819:168;-1:-1:-1;6937:819:168;:::i;706:104:180:-;;;;;;;;;;;;;:::i;1127:91::-;;;;;;;;;;;;;:::i;1893:251:168:-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1893:251:168;;;;;;;;;;;;;;;-1:-1:-1;;;1893:251:168;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1893:251:168;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1893:251:168;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1893:251:168;;;;;;;;;;-1:-1:-1;1893:251:168;;-1:-1:-1;1893:251:168;-1:-1:-1;1893:251:168;:::i;4714:595::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4714:595:168;;;;;;;;;;;;;;;-1:-1:-1;;;4714:595:168;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4714:595:168;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4714:595:168;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4714:595:168;;;;;;;;;;-1:-1:-1;4714:595:168;;-1:-1:-1;4714:595:168;-1:-1:-1;4714:595:168;:::i;577:123:180:-;;;;;;;;;;;;;:::i;8497:1317:168:-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8497:1317:168;;;;-1:-1:-1;;;;;;8497:1317:168;;;;;;;;;;;;;;;;-1:-1:-1;;;8497:1317:168;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;8497:1317:168;;;;;;;;;;-1:-1:-1;8497:1317:168;;-1:-1:-1;8497:1317:168;-1:-1:-1;8497:1317:168;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2637:128:179;;;;;;;;;;;;;:::i;2456:146:188:-;;;;;;;;;;;;;:::i;923:89:180:-;;;;;;;;;;;;;:::i;5497:515:168:-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5497:515:168;;;;;;;;;;;;;;;-1:-1:-1;;;5497:515:168;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5497:515:168;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5497:515:168;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5497:515:168;;;;;;;;;;-1:-1:-1;5497:515:168;;-1:-1:-1;5497:515:168;-1:-1:-1;5497:515:168;:::i;1490:119:180:-;1558:50;1490:119;:::o;2411:737:168:-;1747:10:179;-1:-1:-1;;;;;1761:19:179;1747:33;;1726:130;;;;-1:-1:-1;;;1726:130:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2627:11:168::1;2640:10;;987:278:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;-1:-1:-1;2842:33:168::2;::::0;;::::2;987:278:179::1;2842:33:168::0;::::2;::::0;;::::2;::::0;::::2;::::0;;;;;;;;;;987:278:179;;-1:-1:-1;2706:44:168::2;::::0;-1:-1:-1;987:278:179;;-1:-1:-1;987:278:179;;2842:33:168::2;::::0;2863:11;;;;;;2842:33;::::2;2863:11:::0;;;;2842:33;::::2;;::::0;::::2;::::0;;;;-1:-1:-1;2842:20:168::2;::::0;-1:-1:-1;;;2842:33:168:i:2;:::-;2666:209;;;;;;;;2886:28;2922:29;2940:10;;2922:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;::::0;;;;-1:-1:-1;2922:17:168::2;::::0;-1:-1:-1;;;2922:29:168:i:2;:::-;2885:66;;;;2962:179;2995:4;3013:11;3038:27;3079:24;3117:14;2962:19;:179::i;:::-;1114:1:179;;;;;1131:31:::1;1166:29;1184:10;1166:17;:29::i;:::-;1126:69;;;;1206:52;1230:11;1243:14;1206:23;:52::i;:::-;;1866:1;;;2411:737:168::0;;;;;:::o;9355:154:189:-;9466:36;9355:154;:::o;1373:111:180:-;1437:46;1373:111;:::o;832:85::-;878:38;832:85;:::o;3438:1031:168:-;1747:10:179;-1:-1:-1;;;;;1761:19:179;1747:33;;1726:130;;;;-1:-1:-1;;;1726:130:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3662:11:168::1;3675:10;;987:278:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;-1:-1:-1;3924:41:168::2;::::0;;::::2;987:278:179::1;3924:41:168::0;::::2;::::0;;::::2;::::0;::::2;::::0;;;;;;;;;;987:278:179;;-1:-1:-1;3741:44:168::2;::::0;-1:-1:-1;987:278:179;;-1:-1:-1;987:278:179;;;;3924:41:168::2;::::0;;3953:11;;;;;;3924:41;::::2;3953:11:::0;;;;3924:41;::::2;;::::0;::::2;::::0;;;;-1:-1:-1;3924:28:168::2;::::0;-1:-1:-1;;;3924:41:168:i:2;:::-;3701:264;;;;;;;;;;3976:28;4012:29;4030:10;;4012:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;::::0;;;;-1:-1:-1;4012:17:168::2;::::0;-1:-1:-1;;;4012:29:168:i:2;:::-;3975:66;;;;4052:15;4070:25;-1:-1:-1::0;;;;;4070:43:168::2;;4114:4;4070:49;;;;;;;;;;;;;-1:-1:-1::0;;;;;4070:49:168::2;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;::::0;::::2;;-1:-1:-1::0;4070:49:168;;-1:-1:-1;4130:184:168::2;4163:4:::0;4181:11;4206:27;4247:29;4290:14;4130:19:::2;:184::i;:::-;4325:137;4358:20;4392:7;4419;-1:-1:-1::0;;;;;4413:24:168::2;;4446:4;4413:39;;;;;;;;;;;;;-1:-1:-1::0;;;;;4413:39:168::2;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;::::0;::::2;;-1:-1:-1::0;4413:39:168;4325:19:::2;:137::i;:::-;1114:1:179;;;;;;;1131:31:::1;1166:29;1184:10;1166:17;:29::i;2140:153:188:-:0;2246:40;2140:153;:::o;1034:87:180:-;1081:39;1034:87;:::o;1240:110::-;1303:46;1240:110;:::o;6258:414:168:-;1747:10:179;-1:-1:-1;;;;;1761:19:179;1747:33;;1726:130;;;;-1:-1:-1;;;1726:130:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6477:11:168::1;6490:10;;987:278:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;-1:-1:-1;6567:36:168::2;::::0;;::::2;987:278:179::1;6567:36:168::0;::::2;::::0;;::::2;::::0;::::2;::::0;;;;;;;;;;987:278:179;;-1:-1:-1;987:278:179;;-1:-1:-1;6567:36:168::2;::::0;-1:-1:-1;6591:11:168;;;;;;6567:36;::::2;6591:11:::0;;;;6567:36;::::2;;::::0;::::2;::::0;;;;-1:-1:-1;6567:23:168::2;::::0;-1:-1:-1;;;6567:36:168:i:2;:::-;6516:87;;;;;6614:51;6636:20;6658:6;6614:21;:51::i;:::-;1114:1:179;;1131:31:::1;1166:29;1184:10;1166:17;:29::i;6937:819:168:-:0;1747:10:179;-1:-1:-1;;;;;1761:19:179;1747:33;;1726:130;;;;-1:-1:-1;;;1726:130:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7165:11:168::1;7178:10;;987:278:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;-1:-1:-1;7446:45:168::2;::::0;;::::2;987:278:179::1;7446:45:168::0;::::2;::::0;;::::2;::::0;::::2;::::0;;;;;;;;;;987:278:179;;-1:-1:-1;987:278:179;;-1:-1:-1;987:278:179;;-1:-1:-1;987:278:179;;;;7402:31:168::2;::::0;7446:45:::2;::::0;7479:11;;;;;;7446:45;::::2;7479:11:::0;;;;7446:45;::::2;;::::0;::::2;::::0;;;;-1:-1:-1;7446:32:168::2;::::0;-1:-1:-1;;;7446:45:168:i:2;:::-;7204:287;;;;;;;;;;;;7502:71;7524:20;7546:26;7502:21;:71::i;:::-;7584:165;7611:4;7629:26;7669:14;7697:10;7721:18;7584:13;:165::i;:::-;1114:1:179;;;;;;1131:31:::1;1166:29;1184:10;1166:17;:29::i;706:104:180:-:0;766:43;706:104;:::o;1127:91::-;1176:41;1127:91;:::o;1893:251:168:-;1747:10:179;-1:-1:-1;;;;;1761:19:179;1747:33;;1726:130;;;;-1:-1:-1;;;1726:130:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2052:85:168::1;2082:41;2111:11;;2082:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;2082:28:168::1;::::0;-1:-1:-1;;;2082:41:168:i:1;:::-;2125:11;2052:29;:85::i;:::-;1893:251:::0;;;;;:::o;4714:595::-;1747:10:179;-1:-1:-1;;;;;1761:19:179;1747:33;;1726:130;;;;-1:-1:-1;;;1726:130:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4932:11:168::1;4945:10;;987:278:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;-1:-1:-1;5166:35:168::2;::::0;;::::2;987:278:179::1;5166:35:168::0;::::2;::::0;;::::2;::::0;::::2;::::0;;;;;;;;;;987:278:179;;-1:-1:-1;987:278:179;;-1:-1:-1;987:278:179;;-1:-1:-1;987:278:179;;5122:31:168::2;::::0;5166:35:::2;::::0;;5189:11;;;;;;5166:35;::::2;5189:11:::0;;;;5166:35;::::2;;::::0;::::2;::::0;;;;-1:-1:-1;5166:22:168::2;::::0;-1:-1:-1;;;5166:35:168:i:2;:::-;4971:230;;;;;;;;;;5212:90;5226:4;5232:21;5255:14;5271:10;5283:18;5212:13;:90::i;577:123:180:-:0;647:52;577:123;:::o;8497:1317:168:-;8689:64;8767:29;;;;-1:-1:-1;;;;;;8975:35:168;;-1:-1:-1;;;8975:35:168;8971:777;;;9033:30;:28;:30::i;:::-;9026:37;;;;;;;;;;;;8971:777;-1:-1:-1;;;;;;9084:26:168;;-1:-1:-1;;;9084:26:168;9080:668;;;9133:33;9154:11;;9133:20;:33::i;9080:668::-;-1:-1:-1;;;;;;9187:36:168;;-1:-1:-1;;;9187:36:168;9183:565;;;9246:41;9275:11;;9246:28;:41::i;9183:565::-;-1:-1:-1;;;;;;9308:28:168;;-1:-1:-1;;;9308:28:168;9304:444;;;9359:35;9382:11;;9359:22;:35::i;9304:444::-;-1:-1:-1;;;;;;9415:27:168;;-1:-1:-1;;;9415:27:168;9411:337;;;9465:34;9487:11;;9465:21;:34::i;9411:337::-;-1:-1:-1;;;;;;9520:29:168;;-1:-1:-1;;;9520:29:168;9516:232;;;9572:36;9596:11;;9572:23;:36::i;9516:232::-;-1:-1:-1;;;;;;9629:40:168;;-1:-1:-1;;;9629:40:168;9625:123;;;9692:45;9725:11;;9692:32;:45::i;9625:123::-;9758:49;;-1:-1:-1;;;9758:49:168;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8497:1317;;;;;;;;;;:::o;2637:128:179:-;2739:19;2637:128;:::o;2456:146:188:-;2558:37;2456:146;:::o;923:89:180:-;971:40;923:89;:::o;5497:515:168:-;1747:10:179;-1:-1:-1;;;;;1761:19:179;1747:33;;1726:130;;;;-1:-1:-1;;;1726:130:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5702:11:168::1;5715:10;;987:278:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;;5889:29:168::2;::::0;;::::2;987:278:179::1;5889:29:168::0;::::2;::::0;;::::2;::::0;::::2;::::0;;;;;;;;;;5755:28:::2;::::0;-1:-1:-1;5755:28:168;;-1:-1:-1;5755:28:168;;5889:29:::2;::::0;;5907:10;;;;;;5889:29;::::2;5907:10:::0;;;;5889:29;::::2;;::::0;::::2;::::0;;;;-1:-1:-1;5889:17:168::2;::::0;-1:-1:-1;;;5889:29:168:i:2;:::-;5741:177;;;;;;5929:76;5949:14;5964:1;5949:17;;;;;;;;;;;;;;5968:11;5980:1;5968:14;;;;;;;;;;;;;;5984:17;6002:1;5984:20;;;;;;;;;;;;;;5929:19;:76::i;:::-;1114:1:179;;;1131:31:::1;1166:29;1184:10;1166:17;:29::i;7566:368:203:-:0;7682:13;7709:45;7768:33;7815:20;7878:11;7867:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;7867:60:203;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;7867:60:203;;;;;;;;;;;;-1:-1:-1;7867:60:203;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;7867:60:203;;;;;;;;;;;;;;;7860:67;;;;-1:-1:-1;7867:60:203;;-1:-1:-1;7867:60:203;;-1:-1:-1;7566:368:203;;-1:-1:-1;;;;;7566:368:203:o;2093:332:179:-;2205:29;2248:35;2297:32;2372:10;2361:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;-1:-1:-1;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;-1:-1:-1;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;-1:-1:-1;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2354:64;;;;;;2093:332;;;;;:::o;1570:1873:189:-;2006:33;2054:9;2049:999;2069:23;:30;2065:1;:34;2049:999;;;2154:37;:35;:37::i;:::-;-1:-1:-1;;;;;2124:67:189;:23;2148:1;2124:26;;;;;;;;;;;;;;-1:-1:-1;;;;;2124:67:189;;2120:918;;;2386:37;:35;:37::i;:::-;-1:-1:-1;;;;;2380:54:189;;2468:4;2380:115;;;;;;;;;;;;;-1:-1:-1;;;;;2380:115:189;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2380:115:189;;-1:-1:-1;2519:37:189;:35;:37::i;:::-;-1:-1:-1;;;;;2513:53:189;;2567:25;2513:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2120:918;;;2852:171;2899:23;2923:1;2899:26;;;;;;;;;;;;;;2947:5;873:4;2852:25;:171::i;:::-;2101:3;;2049:999;;;;3112:12;3126:23;3153:5;-1:-1:-1;;;;;3153:10:189;3171:25;3211:169;3262:28;3308:25;3351:15;3211:33;:169::i;:::-;3153:237;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3153:237:189;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3111:279;;;;3408:7;3424:10;3400:36;;;;;-1:-1:-1;;;3400:36:189;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3539:585:355;3649:36;3737:7;:14;3723:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3723:29:355;;3701:51;;3767:9;3762:319;3782:7;:14;3778:1;:18;3762:319;;;3817:19;3845:7;3853:1;3845:10;;;;;;;;;;;;;;3817:39;;3895:13;-1:-1:-1;;;;;3895:23:355;;3927:4;3895:38;;;;;;;;;;;;;-1:-1:-1;;;;;3895:38:355;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3895:38:355;3870:22;;:19;;3890:1;;3870:22;;;;;;;;;;;:63;;;;;3976:1;3951:19;3971:1;3951:22;;;;;;;;;;;;;;:26;3947:124;;;3997:59;4024:7;4033:19;4053:1;4033:22;;;;;;;;;;;;;;3997:13;-1:-1:-1;;;;;3997:26:355;;;:59;;;;;:::i;:::-;-1:-1:-1;3798:3:355;;3762:319;;;;3539:585;;;;:::o;7058:433:203:-;7182:13;7209:45;7268:29;7311:38;7363:20;7426:11;7415:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;7415:69:203;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;7415:69:203;;;;;;;;;;;;-1:-1:-1;7415:69:203;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;7415:69:203;;;;;;;;;;;;;;;;;;;;;7408:76;;;;-1:-1:-1;7415:69:203;-1:-1:-1;7415:69:203;;-1:-1:-1;7415:69:203;;-1:-1:-1;7058:433:203;;-1:-1:-1;;;;;7058:433:203:o;1874:260:187:-;2003:52;2029:8;2039:6;2047:7;2003:25;:52::i;:::-;2065:62;;;-1:-1:-1;;;2065:62:187;;;;;;;;2121:4;2065:62;;;;;;-1:-1:-1;;;;;2065:38:187;;;;;:62;;;;;-1:-1:-1;;2065:62:187;;;;;;;-1:-1:-1;2065:38:187;:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1874:260;;;:::o;10138:295:203:-;10257:13;10284:29;10327:15;10385:11;10374:52;;;;;;;;;;;;;;;-1:-1:-1;10374:52:203;;;;;;;;;;;;;;;-1:-1:-1;10374:52:203;-1:-1:-1;10138:295:203;-1:-1:-1;;10138:295:203:o;2181:138:187:-;2287:6;-1:-1:-1;;;;;2264:39:187;;2304:7;2264:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2181:138;;:::o;9596:465:203:-;9724:13;9751:29;9794:35;9843:20;9877:22;9913:32;9988:11;9977:77;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;9977:77:203;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;9977:77:203;;;;;;-1:-1:-1;9977:77:203;;;;;;;;;;-1:-1:-1;9977:77:203;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9970:84;;;;;;;;;;;;9596:465;;;;;;;:::o;1705:942::-;1939:18;1924:11;:33;;;;;;;;;1920:721;;;1991:30;2039;2086:60;2126:19;2086:39;:60::i;:::-;1973:173;;;;2161:227;2208:5;2231:22;2278;2319;2359:15;2161:29;:227::i;:::-;1920:721;;;;;2419:211;2459:5;2482:22;2522:61;2563:19;2522:40;:61::i;:::-;2601:15;2419:22;:211::i;6770:196::-;6881:21;6936:11;6925:34;;;;;;;;;;;;;;;-1:-1:-1;6925:34:203;;-1:-1:-1;6770:196:203;;;;:::o;1259:400:188:-;1354:28;:26;:28::i;:::-;1350:205;;;1480:37;-1:-1:-1;;;;;1467:60:188;;1528:6;1536:7;1467:77;;;;;;;;;;;;;-1:-1:-1;;;;;1467:77:188;;;;;;-1:-1:-1;;;;;1467:77:188;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1350:205;1609:43;1636:6;1644:7;1609:26;:43::i;:::-;1259:400;;:::o;8011:398:203:-;8129:13;8156:30;8200:20;8234:22;8270:32;8345:11;8334:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;8334:68:203;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;8334:68:203;;;;;;-1:-1:-1;8334:68:203;;;;;;;;;;-1:-1:-1;8334:68:203;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8327:75;;;;;;;;;;8011:398;;;;;;;:::o;9990:585:168:-;10089:64;10167:29;;;;10089:64;;10452:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10452:16:168;-1:-1:-1;10482:16:168;;;10496:1;10482:16;;;;;;10512;;;;;;10542;;;;;;;;;10371:197;;;;-1:-1:-1;10482:16:168;-1:-1:-1;10482:16:168;-1:-1:-1;10512:16:168;;-1:-1:-1;9990:585:168;-1:-1:-1;9990:585:168:o;10696:1253::-;10813:64;10891:29;10934:35;10983:32;11029:41;11109:12;11135:44;11193:32;11239:19;11271:33;11292:11;;11271:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11271:20:168;;-1:-1:-1;;;11271:33:168:i;:::-;11333:16;;;11347:1;11333:16;;;;;;;;;11095:209;;-1:-1:-1;11095:209:168;;-1:-1:-1;11095:209:168;;-1:-1:-1;11095:209:168;-1:-1:-1;11333:16:168;;;;;;;;;;;-1:-1:-1;11333:16:168;11315:34;;11380:25;-1:-1:-1;;;;;11380:43:168;;11424:4;11380:49;;;;;;;;;;;;;-1:-1:-1;;;;;11380:49:168;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11380:49:168;11359:18;;:15;;11375:1;;11359:18;;;;-1:-1:-1;;;;;11359:70:168;;;;:18;;;;;;;;;;:70;11467:16;;;11481:1;11467:16;;;;;;;;;;;;;;11359:18;11467:16;;;;;-1:-1:-1;11467:16:168;11440:43;;11523:24;11493;11518:1;11493:27;;;;;;;;;;;;;:54;;;;;11595:130;11642:4;11660:27;11701:14;11595:33;:130::i;:::-;11757:50;;-1:-1:-1;11558:167:168;;-1:-1:-1;11558:167:168;-1:-1:-1;;;;;10696:1253:168;;;;;;;;:::o;12078:1353::-;12203:64;12281:29;12324:35;12373:32;12419:41;12499:12;12525:44;12583:28;12625:37;12676:19;12708:41;12737:11;;12708:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12708:28:168;;-1:-1:-1;;;12708:41:168:i;:::-;12485:264;;;;;;;;;;12760:50;12783:4;12789:20;12760:22;:50::i;:::-;12858:130;12905:4;12923:27;12964:14;12858:33;:130::i;:::-;13017:16;;;13031:1;13017:16;;;;;;;;;12821:167;;-1:-1:-1;12821:167:168;;-1:-1:-1;13017:16:168;;;;;;;;;;;-1:-1:-1;13017:16:168;12999:34;;13064:20;13043:15;13059:1;13043:18;;;;;;;;-1:-1:-1;;;;;13043:41:168;;;;:18;;;;;;;;;;:41;13122:16;;;13136:1;13122:16;;;;;;;;;;;;;;13043:18;13122:16;;;;;-1:-1:-1;13122:16:168;13095:43;;13178:29;13148:24;13173:1;13148:27;;;;;;;;;;;;;:59;;;;;13239:50;13218:206;;;;;;;12078:1353;;;;;;;;:::o;13554:1285::-;13673:64;13751:29;13794:35;13843:32;13889:41;13969:12;13995:29;14038:19;14071:21;14106:31;14150:35;14173:11;;14150:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14150:22:168;;-1:-1:-1;;;14150:35:168:i;:::-;14211:16;;;14225:1;14211:16;;;;;;;;;13955:230;;-1:-1:-1;13955:230:168;;-1:-1:-1;13955:230:168;;-1:-1:-1;13955:230:168;-1:-1:-1;13955:230:168;-1:-1:-1;14211:16:168;;;;;;;;;;;-1:-1:-1;14211:16:168;14196:31;;14255:25;-1:-1:-1;;;;;14255:43:168;;14299:4;14255:49;;;;;;;;;;;;;-1:-1:-1;;;;;14255:49:168;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14255:49:168;14237:15;;:12;;14250:1;;14237:15;;;;-1:-1:-1;;;;;14237:67:168;;;;:15;;;;;;;;;;:67;14336:16;;;14350:1;14336:16;;;;;;;;;;;;;;14237:15;14336:16;;;;;-1:-1:-1;14336:16:168;14315:37;;14386:21;14362:18;14381:1;14362:21;;;;;;;;;;;;;:45;;;;;14464:151;14517:4;14535:14;14563:10;14587:18;14464:39;:151::i;:::-;14647:50;;13554:1285;;-1:-1:-1;13554:1285:168;;-1:-1:-1;14418:197:168;-1:-1:-1;14418:197:168;;13554:1285;-1:-1:-1;;;;;;;13554:1285:168:o;14961:1207::-;15079:64;15157:29;15200:35;15249:32;15295:41;15362:12;15376:28;15406:14;15424:56;15459:11;;15424:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15424:21:168;;-1:-1:-1;;;15424:56:168:i;:::-;15361:119;;;;;;15491:50;15514:4;15520:20;15491:22;:50::i;:::-;15567:16;;;15581:1;15567:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15567:16:168;15552:31;;15611:25;-1:-1:-1;;;;;15611:43:168;;15655:4;15611:49;;;;;;;;;;;;;-1:-1:-1;;;;;15611:49:168;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15611:49:168;15593:15;;:12;;15606:1;;15593:15;;;;-1:-1:-1;;;;;15593:67:168;;;;:15;;;;;;;;;;:67;15692:16;;;15706:1;15692:16;;;;;;;;;;;;;;15593:15;15692:16;;;;;-1:-1:-1;15692:16:168;15671:37;;15742:6;15718:18;15737:1;15718:21;;;;;;;;;;;;;;;;;:30;15777:16;;;15791:1;15777:16;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15777:16:168;15759:34;;15824:20;15803:15;15819:1;15803:18;;;;;;;;-1:-1:-1;;;;;15803:41:168;;;;:18;;;;;;;;;;:41;15882:16;;;15896:1;15882:16;;;;;;;;;;;;;;15803:18;15882:16;;;;;-1:-1:-1;15882:16:168;15855:43;;15938:6;15908:24;15933:1;15908:27;;;;;;;;;;;;;:36;;;;;15976:50;15955:206;;;;;14961:1207;;;;;;;;:::o;16292:1211::-;16412:64;16490:29;16533:35;16582:32;16628:41;16695:12;16709:28;16739:14;16757:58;16794:11;;16757:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;16757:23:168;;-1:-1:-1;;;16757:58:168:i;:::-;16694:121;;;;;;16826:50;16849:4;16855:20;16826:22;:50::i;:::-;16902:16;;;16916:1;16902:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;16902:16:168;16887:31;;16946:20;16928:12;16941:1;16928:15;;;;;;;;-1:-1:-1;;;;;16928:38:168;;;;:15;;;;;;;;;;:38;16998:16;;;17012:1;16998:16;;;;;;;;;;;;;;16928:15;16998:16;;;;;-1:-1:-1;16998:16:168;16977:37;;17048:6;17024:18;17043:1;17024:21;;;;;;;;;;;;;;;;;:30;17083:16;;;17097:1;17083:16;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;17083:16:168;17065:34;;17130:25;-1:-1:-1;;;;;17130:43:168;;17174:4;17130:49;;;;;;;;;;;;;-1:-1:-1;;;;;17130:49:168;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;17130:49:168;17109:18;;:15;;17125:1;;17109:18;;;17636:1389;17765:64;17843:29;17886:35;17935:32;17981:41;18061:12;18087:28;18129:34;18177:19;18210:21;18245:31;18289:45;18322:11;;18289:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;18289:32:168;;-1:-1:-1;;;18289:45:168:i;:::-;18047:287;;;;;;;;;;;;18345:50;18368:4;18374:20;18345:22;:50::i;:::-;18421:16;;;18435:1;18421:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;18421:16:168;18406:31;;18465:20;18447:12;18460:1;18447:15;;;;;;;;-1:-1:-1;;;;;18447:38:168;;;;:15;;;;;;;;;;:38;18517:16;;;18531:1;18517:16;;;;;;;;;;;;;;18447:15;18517:16;;;;;-1:-1:-1;18517:16:168;18496:37;;18567:26;18543:18;18562:1;18543:21;;;;;;;;;;;;;:50;;;;;18650:151;18703:4;18721:14;18749:10;18773:18;18650:39;:151::i;:::-;18833:50;;17636:1389;;-1:-1:-1;17636:1389:168;;-1:-1:-1;18604:197:168;-1:-1:-1;18604:197:168;;17636:1389;-1:-1:-1;;;;;;;;17636:1389:168:o;2554:434:355:-;2714:47;;;-1:-1:-1;;;2714:47:355;;2746:4;2714:47;;;;-1:-1:-1;;;;;2714:47:355;;;;;;;;;2694:17;;2714:23;;;;;:47;;;;;;;;;;;;;;:23;:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2714:47:355;;-1:-1:-1;2775:25:355;;;2771:211;;;2820:13;;2816:89;;2853:37;-1:-1:-1;;;;;2853:25:355;;2879:7;2888:1;2853:25;:37::i;:::-;2918:53;-1:-1:-1;;;;;2918:25:355;;2944:7;-1:-1:-1;;2918:25:355;:53::i;:::-;2554:434;;;;:::o;5609:741:189:-;5808:22;5842:35;5891:15;5887:87;;;-1:-1:-1;5947:16:189;;;5958:4;5947:16;;;;;;;;;;;;;;;;;;;;;;;;5887:87;6037:145;6092:28;:35;6149:15;6037:33;:145::i;:::-;6217:28;6200:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6264:25;6307:22;6003:340;;;;;;-1:-1:-1;;;;;6003:340:189;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6003:340:189;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6003:340:189;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6003:340:189;;;;;;;;;;;;;-1:-1:-1;;6003:340:189;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5984:359;;;5609:741;;;;;;:::o;704:175:450:-;813:58;;;-1:-1:-1;;;;;813:58:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;813:58:450;-1:-1:-1;;;813:58:450;;;786:86;;806:5;;786:19;:86::i;:::-;704:175;;;:::o;8506:275:203:-;8636:31;8669;8734:19;8723:51;;;;;;;;;;;;;;;-1:-1:-1;8723:51:203;;;;;;;;;-1:-1:-1;8723:51:203;-1:-1:-1;8506:275:203;;;:::o;4405:1096:189:-;4643:21;4678:15;4674:569;;;-1:-1:-1;4720:254:189;;;;;;;;;;;;;;;;;;;;;;;4956:4;4720:254;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4720:254:189;-1:-1:-1;;;4720:254:189;;;4674:569;;;-1:-1:-1;5016:216:189;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5016:216:189;-1:-1:-1;;;5016:216:189;;;4674:569;5307:12;5321:23;5348:5;-1:-1:-1;;;;;5348:10:189;5359:8;5348:20;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5348:20:189;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5306:62;;;;5386:7;5402:10;5378:36;;;;;-1:-1:-1;;;5378:36:189;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5454:40;:38;:40::i;:::-;4405:1096;;;;;;;;:::o;8879:253:203:-;9010:48;9092:19;9081:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;9081:44:203;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;9081:44:203;;;;;;;;;;;;-1:-1:-1;9081:44:203;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9074:51;;8879:253;;;:::o;3653:642:189:-;3915:12;3929:23;3956:5;-1:-1:-1;;;;;3956:10:189;3980:172;4034:22;4074:31;4123:15;3980:36;:172::i;:::-;3956:206;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3956:206:189;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3914:248;;;;4180:7;4196:10;4172:36;;;;;-1:-1:-1;;;4172:36:189;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4248:40;:38;:40::i;1746:150:188:-;1838:37;-1:-1:-1;;;;;1838:51:188;;;1746:150;:::o;752:148:187:-;863:6;-1:-1:-1;;;;;840:44:187;;885:7;840:53;;;;;;;;;;;;;-1:-1:-1;;;;;840:53:187;;;;;;;;;;;;;;;;;;;;;;;;;;;4410:1154:203;4590:29;4621:35;4668:24;4707:9;4702:178;4722:28;:35;4718:1;:39;4702:178;;;4816:1;4782:28;4811:1;4782:31;;;;;;;;;;;;;;:35;4778:92;;;4837:18;;;;;4778:92;4759:3;;4702:178;;;;4919:16;4905:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4905:31:203;;4890:46;;4981:16;4967:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4967:31:203;;4946:52;;5008:24;5047:9;5042:464;5062:28;:35;5058:1;:39;5042:464;;;5156:1;5122:28;5151:1;5122:31;;;;;;;;;;;;;;:35;5118:378;;;5210:41;5225:5;5232:1;5235:15;5210:14;:41::i;:::-;5177:12;5190:16;5177:30;;;;;;;;;;;;;:74;-1:-1:-1;;;;;5177:74:203;;;-1:-1:-1;;;;;5177:74:203;;;;;5308:28;5337:1;5308:31;;;;;;;;;;;;;;5269:18;5288:16;5269:36;;;;;;;;;;;;;;;;;:70;5357:18;;;;;5398:36;;;5394:88;;;5458:5;;5394:88;5099:3;;5042:464;;;;5516:41;;4410:1154;;;;;;:::o;19100:227:168:-;19265:5;-1:-1:-1;;;;;19207:63:168;:25;-1:-1:-1;;;;;19207:46:168;;19254:6;19207:54;;;;;;;;;;;;;-1:-1:-1;;;;;19207:54:168;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;19207:54:168;-1:-1:-1;;;;;19207:63:168;;19186:134;;;;;-1:-1:-1;;;19186:134:168;;;;;;;;;;;;;;;;;;;;;;;;;;;2746:1571:203;2975:32;;3085:18;3070:11;:33;;;;;;;;;3066:1184;;;3137:30;3185;3232:60;3272:19;3232:39;:60::i;:::-;3456:16;;;3470:1;3456:16;;;;;;;;;3119:173;;-1:-1:-1;3119:173:203;;-1:-1:-1;3456:16:203;;;;;;;;;;;-1:-1:-1;3456:16:203;3438:34;;3507:62;3522:5;3529:22;3553:15;3507:14;:62::i;:::-;3486:15;3502:1;3486:18;;;;;;;;-1:-1:-1;;;;;3486:83:203;;;;:18;;;;;;;;;;:83;3611:16;;;3625:1;3611:16;;;;;;;;;;;;;;3486:18;3611:16;;;;;-1:-1:-1;3611:16:203;3584:43;;3671:22;3641:24;3666:1;3641:27;;;;;;;;;;;;;:52;;;;;3066:1184;;;;;3751:91;3809:19;3751:40;:91::i;:::-;3724:118;;4050:24;:31;4036:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4036:46:203;;4018:64;;4101:9;4096:144;4116:15;:22;4112:1;:26;4096:144;;;4184:41;4199:5;4206:1;4209:15;4184:14;:41::i;:::-;4163:15;4179:1;4163:18;;;;;;;;-1:-1:-1;;;;;4163:62:203;;;:18;;;;;;;;;;;:62;4140:3;;4096:144;;;;3066:1184;2746:1571;;;;;;;:::o;1348:613:450:-;1713:10;;;1712:62;;-1:-1:-1;1729:39:450;;;-1:-1:-1;;;1729:39:450;;1753:4;1729:39;;;;-1:-1:-1;;;;;1729:39:450;;;;;;;;;:15;;;;;;:39;;;;;;;;;;;;;;;:15;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1729:39:450;:44;1712:62;1704:150;;;;-1:-1:-1;;;1704:150:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1891:62;;;-1:-1:-1;;;;;1891:62:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1891:62:450;-1:-1:-1;;;1891:62:450;;;1864:90;;1884:5;;1864:19;:90::i;6432:674:189:-;6567:16;6599:29;6642:15;6638:71;;;-1:-1:-1;6673:25:189;;;;;;;;;;;;-1:-1:-1;;;6673:25:189;;;;6638:71;6885:25;:14;:23;:25::i;:::-;7001:15;6793:274;;;;;;-1:-1:-1;;;6793:274:189;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6793:274:189;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6793:274:189;;;;;;;;;;;-1:-1:-1;;;6793:274:189;;;;;;;-1:-1:-1;;;6793:274:189;;;;;;;;;;;;;;-1:-1:-1;6793:274:189;;;;;;;;;;;;;-1:-1:-1;;6793:274:189;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;6793:274:189;;;;;;;;;;;;;;;;;;;;;6762:323;;;;;;6719:380;;;6432:674;;;;:::o;2967:751:450:-;3386:23;3412:69;3440:4;3412:69;;;;;;;;;;;;;;;;;3420:5;-1:-1:-1;;;;;3412:27:450;;;:69;;;;;:::i;:::-;3495:17;;3386:95;;-1:-1:-1;3495:21:450;3491:221;;3635:10;3624:30;;;;;;;;;;;;;;;-1:-1:-1;3624:30:450;3616:85;;;;-1:-1:-1;;;3616:85:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7194:316:189;7307:4;7291:30;7335:22;;7331:173;;7387:37;:35;:37::i;:::-;-1:-1:-1;;;;;7373:61:189;;7459:18;7373:120;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7331:173;7194:316;:::o;7597:750::-;7799:22;7833:35;7882:15;7878:87;;;-1:-1:-1;7938:16:189;;;7949:4;7938:16;;;;;;;;;;;;;;;;;;;;;;;;7878:87;8028:151;8086:31;:38;8146:15;8028:36;:151::i;:::-;8197:22;8254:31;8237:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8304:22;7994:346;;;;;;-1:-1:-1;;;;;7994:346:189;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7994:346:189;;;;;;;;;;;;;;;;-1:-1:-1;;7994:346:189;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7994:346:189;;;;;;;;;;;;-1:-1:-1;;7994:346:189;;;;;;;;;;;;5627:781:203;5756:14;5786;5782:568;;;5840:5;-1:-1:-1;;;;;5820:43:203;;5864:6;5820:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5820:51:203;;;5816:283;;6045:5;-1:-1:-1;;;;;6025:43:203;;6076:6;6025:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6025:59:203;;-1:-1:-1;5816:283:203;;;5962:14;-1:-1:-1;5816:283:203;5782:568;;;6153:5;-1:-1:-1;;;;;6133:32:203;;6166:6;6133:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6133:40:203;;;6129:211;;6297:5;-1:-1:-1;;;;;6277:32:203;;6317:6;6277:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6277:48:203;;-1:-1:-1;6129:211:203;;;6224:4;-1:-1:-1;6129:211:203;6367:34;6394:6;6367:26;:34::i;:::-;6360:41;5627:781;-1:-1:-1;;;;5627:781:203:o;210:725:455:-;266:13;483:10;479:51;;-1:-1:-1;509:10:455;;;;;;;;;;;;-1:-1:-1;;;509:10:455;;;;;;479:51;554:5;539:12;593:75;600:9;;593:75;;625:8;;655:2;647:10;;;;593:75;;;677:19;709:6;699:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;699:17:455;-1:-1:-1;769:5:455;;-1:-1:-1;677:39:455;-1:-1:-1;;;742:10:455;;784:114;791:9;;784:114;;859:2;852:4;:9;847:2;:14;834:29;;816:6;823:7;;;;;;;816:15;;;;;;;;;;;:47;-1:-1:-1;;;;;816:47:455;;;;;;;;-1:-1:-1;885:2:455;877:10;;;;784:114;;;-1:-1:-1;921:6:455;210:725;-1:-1:-1;;;;210:725:455:o;3581:193:451:-;3684:12;3715:52;3737:6;3745:4;3751:1;3754:12;3715:21;:52::i;8432:680:189:-;8570:16;8602:29;8645:15;8641:71;;;-1:-1:-1;8676:25:189;;;;;;;;;;;;-1:-1:-1;;;8676:25:189;;;;8641:71;8927:25;:14;:23;:25::i;:::-;8796:277;;;;;;;;;;-1:-1:-1;;;8796:277:189;;;;;;9007:15;;8796:277;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8796:277:189;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;8796:277:189;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8796:277:189;;;;;;;;;;;;1293:319:203;1405:14;1462:36;-1:-1:-1;;;;;1439:59:203;:19;-1:-1:-1;;;;;1439:59:203;;1435:134;;;1521:37;:35;:37::i;:::-;1514:44;;;;1435:134;-1:-1:-1;1586:19:203;1293:319::o;4608:523:451:-;4735:12;4792:5;4767:21;:30;;4759:81;;;;-1:-1:-1;;;4759:81:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4858:18;4869:6;4858:10;:18::i;:::-;4850:60;;;;;-1:-1:-1;;;4850:60:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;4981:12;4995:23;5022:6;-1:-1:-1;;;;;5022:11:451;5042:5;5050:4;5022:33;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5022:33:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4980:75;;;;5072:52;5090:7;5099:10;5111:12;5072:17;:52::i;:::-;5065:59;4608:523;-1:-1:-1;;;;;;;4608:523:451:o;726:413::-;1086:20;1124:8;;;726:413::o;7091:725::-;7206:12;7234:7;7230:580;;;-1:-1:-1;7264:10:451;7257:17;;7230:580;7375:17;;:21;7371:429;;7633:10;7627:17;7693:15;7680:10;7676:2;7672:19;7665:44;7582:145;7765:20;;-1:-1:-1;;;7765:20:451;;;;;;;;;;;;;;;;;7772:12;;7765:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;", "linkReferences": {}, "immutableReferences": { "44142": [ { "start": 3457, "length": 32 }, { "start": 8893, "length": 32 }, { "start": 9557, "length": 32 }, { "start": 9962, "length": 32 }, { "start": 10603, "length": 32 }, { "start": 13074, "length": 32 } ], "49791": [ { "start": 2689, "length": 32 }, { "start": 3155, "length": 32 }, { "start": 3891, "length": 32 }, { "start": 4141, "length": 32 }, { "start": 4496, "length": 32 }, { "start": 4678, "length": 32 }, { "start": 5289, "length": 32 }, { "start": 5406, "length": 32 } ], "50802": [ { "start": 3774, "length": 32 } ], "50804": [ { "start": 5325, "length": 32 }, { "start": 8261, "length": 32 }, { "start": 12565, "length": 32 } ], "50901": [ { "start": 3038, "length": 32 } ], "55129": [ { "start": 15757, "length": 32 } ] } }, "methodIdentifiers": { "CLAIM_REWARDS_SELECTOR()": "40da225d", "LEND_AND_STAKE_SELECTOR()": "131461c0", "LEND_SELECTOR()": "257cb1a3", "REDEEM_SELECTOR()": "f7d882b5", "STAKE_SELECTOR()": "3ffc1591", "TAKE_MULTIPLE_ORDERS_SELECTOR()": "c32990a2", "TAKE_ORDER_SELECTOR()": "863e5ad0", "UNSTAKE_AND_REDEEM_SELECTOR()": "080456c1", "UNSTAKE_SELECTOR()": "b23228cf", "claimRewards(address,bytes,bytes)": "b9dfbacc", "getCurveGaugeV2RewardsHandlerCrvToken()": "332d709f", "getCurveGaugeV2RewardsHandlerMinter()": "f003eb85", "getCurveLiquidityWrappedNativeAsset()": "12c9d386", "getIntegrationManager()": "e7c45690", "lend(address,bytes,bytes)": "099f7515", "lendAndStake(address,bytes,bytes)": "29fa046e", "parseAssetsForAction(address,bytes4,bytes)": "c54efee5", "redeem(address,bytes,bytes)": "c29fa9dd", "stake(address,bytes,bytes)": "fa7dd04d", "unstake(address,bytes,bytes)": "68e30677", "unstakeAndRedeem(address,bytes,bytes)": "8334eb99" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_integrationManager\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_curvePriceFeed\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_wrappedNativeAsset\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_curveMinter\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_crvToken\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_nativeAssetAddress\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"CLAIM_REWARDS_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LEND_AND_STAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LEND_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"REDEEM_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"STAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TAKE_MULTIPLE_ORDERS_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TAKE_ORDER_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UNSTAKE_AND_REDEEM_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UNSTAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"claimRewards\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurveGaugeV2RewardsHandlerCrvToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"crvToken_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurveGaugeV2RewardsHandlerMinter\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"minter_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurveLiquidityWrappedNativeAsset\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"addressProvider_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getIntegrationManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"integrationManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"_assetData\",\"type\":\"bytes\"}],\"name\":\"lend\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"_assetData\",\"type\":\"bytes\"}],\"name\":\"lendAndStake\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"_selector\",\"type\":\"bytes4\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"}],\"name\":\"parseAssetsForAction\",\"outputs\":[{\"internalType\":\"enum IIntegrationManager.SpendAssetsHandleType\",\"name\":\"spendAssetsHandleType_\",\"type\":\"uint8\"},{\"internalType\":\"address[]\",\"name\":\"spendAssets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"spendAssetAmounts_\",\"type\":\"uint256[]\"},{\"internalType\":\"address[]\",\"name\":\"incomingAssets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"minIncomingAssetAmounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"_assetData\",\"type\":\"bytes\"}],\"name\":\"redeem\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"_assetData\",\"type\":\"bytes\"}],\"name\":\"stake\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"_assetData\",\"type\":\"bytes\"}],\"name\":\"unstake\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"_assetData\",\"type\":\"bytes\"}],\"name\":\"unstakeAndRedeem\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"Rewards tokens are not included as incoming assets for claimRewards() Rationale: - rewards tokens can be claimed to the vault outside of the IntegrationManager, so no need to enforce policy management or emit an event - rewards tokens can be outside of the asset universe, in which case they cannot be tracked\",\"kind\":\"dev\",\"methods\":{\"claimRewards(address,bytes,bytes)\":{\"details\":\"Pool must have an ERC20 liquidity gauge (e.g., v2, v3, v4) or an ERC20 wrapper (e.g., v1)\",\"params\":{\"_actionData\":\"Data specific to this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}},\"getCurveGaugeV2RewardsHandlerCrvToken()\":{\"returns\":{\"crvToken_\":\"The `CURVE_GAUGE_V2_REWARDS_HANDLER_CRV_TOKEN` variable value\"}},\"getCurveGaugeV2RewardsHandlerMinter()\":{\"returns\":{\"minter_\":\"The `CURVE_GAUGE_V2_REWARDS_HANDLER_MINTER` variable value\"}},\"getCurveLiquidityWrappedNativeAsset()\":{\"returns\":{\"addressProvider_\":\"The `CURVE_LIQUIDITY_WRAPPED_NATIVE_ASSET` variable value\"}},\"getIntegrationManager()\":{\"returns\":{\"integrationManager_\":\"The `INTEGRATION_MANAGER` variable value\"}},\"lend(address,bytes,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_assetData\":\"Parsed spend assets and incoming assets data for this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}},\"lendAndStake(address,bytes,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_assetData\":\"Parsed spend assets and incoming assets data for this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}},\"parseAssetsForAction(address,bytes4,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_selector\":\"The function selector for the callOnIntegration\"},\"returns\":{\"incomingAssets_\":\"The assets to receive in the call\",\"minIncomingAssetAmounts_\":\"The min asset amounts to receive in the call\",\"spendAssetAmounts_\":\"The max asset amounts to spend in the call\",\"spendAssetsHandleType_\":\"A type that dictates how to handle granting the adapter access to spend assets (`None` by default)\",\"spendAssets_\":\"The assets to spend in the call\"}},\"redeem(address,bytes,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_assetData\":\"Parsed spend assets and incoming assets data for this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}},\"stake(address,bytes,bytes)\":{\"params\":{\"_assetData\":\"Parsed spend assets and incoming assets data for this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}},\"unstake(address,bytes,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_assetData\":\"Parsed spend assets and incoming assets data for this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}},\"unstakeAndRedeem(address,bytes,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_assetData\":\"Parsed spend assets and incoming assets data for this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}}},\"title\":\"CurveLiquidityAdapter Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"claimRewards(address,bytes,bytes)\":{\"notice\":\"Claims rewards from the Curve Minter as well as pool-specific rewards\"},\"getCurveGaugeV2RewardsHandlerCrvToken()\":{\"notice\":\"Gets the `CURVE_GAUGE_V2_REWARDS_HANDLER_CRV_TOKEN` variable\"},\"getCurveGaugeV2RewardsHandlerMinter()\":{\"notice\":\"Gets the `CURVE_GAUGE_V2_REWARDS_HANDLER_MINTER` variable\"},\"getCurveLiquidityWrappedNativeAsset()\":{\"notice\":\"Gets the `CURVE_LIQUIDITY_WRAPPED_NATIVE_ASSET` variable\"},\"getIntegrationManager()\":{\"notice\":\"Gets the `INTEGRATION_MANAGER` variable\"},\"lend(address,bytes,bytes)\":{\"notice\":\"Lends assets for LP tokens (not staked)\"},\"lendAndStake(address,bytes,bytes)\":{\"notice\":\"Lends assets for LP tokens, then stakes the received LP tokens\"},\"parseAssetsForAction(address,bytes4,bytes)\":{\"notice\":\"Parses the expected assets in a particular action\"},\"redeem(address,bytes,bytes)\":{\"notice\":\"Redeems LP tokens\"},\"stake(address,bytes,bytes)\":{\"notice\":\"Stakes LP tokens\"},\"unstake(address,bytes,bytes)\":{\"notice\":\"Unstakes LP tokens\"},\"unstakeAndRedeem(address,bytes,bytes)\":{\"notice\":\"Unstakes LP tokens, then redeems them\"}},\"notice\":\"Adapter for liquidity provision in Curve pools that adhere to pool templates, as well as some old pools that have almost the same required interface (e.g., 3pool). Allows staking via Curve gauges.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/integration-manager/integrations/adapters/CurveLiquidityAdapter.sol\":\"CurveLiquidityAdapter\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/extensions/integration-manager/IIntegrationManager.sol\":{\"keccak256\":\"0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23\",\"dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk\"]},\"contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol\":{\"keccak256\":\"0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336\",\"dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS\"]},\"contracts/release/extensions/integration-manager/integrations/adapters/CurveLiquidityAdapter.sol\":{\"keccak256\":\"0x7facbbac0a3a655caf4c8f83964d5775ee57eede307ffd70016f6bc25683ab66\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c577a5fad15b9d95fc46d5baacc8fff92c4a9af6875280642e35d5dc4f5ac2e5\",\"dweb:/ipfs/QmaeKNkDA3EB4XmNU7eWLJ6DUfNwKUVnfVYTPrrDpjTo2D\"]},\"contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol\":{\"keccak256\":\"0x067e49bf0d3c1655ab41a413c65ccf61d4e593308132e1ffc484a0fadfbbaf26\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://387f425017e18e89cc1893521101fa99df595314847d0b3d9a1162369f714fcf\",\"dweb:/ipfs/Qmco3jCvuWAyfCpBYpGzHrQjiFJG63w1RJKcakoTEbxRQm\"]},\"contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol\":{\"keccak256\":\"0xfd34c7ca8231c6935e25dede32ca2b3121738e624d0fc896f7b895a731edcf88\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d492c061963d36d07718446db191d4c5a340c0d847f6cd209f027bd99f7cb176\",\"dweb:/ipfs/QmfCvRZt56ftDdrEh6LepHXFJ4fVtcfpQGvEyY8k4zxG1A\"]},\"contracts/release/extensions/integration-manager/integrations/utils/actions/CurveGaugeV2ActionsMixin.sol\":{\"keccak256\":\"0xb297d967916d8560814b5d85ca8abedacf7d3c414390a0eb1179aa3adaa9be1b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://97b52856086845cdfe9ddcd6e0be1eb72658a6775ab3cec97c4aa4d5477d28f3\",\"dweb:/ipfs/QmccHa8AXHZ4TiBu9225cxi6RgT6SskhgmUFzEJmgzE625\"]},\"contracts/release/extensions/integration-manager/integrations/utils/actions/CurveGaugeV2RewardsHandlerMixin.sol\":{\"keccak256\":\"0x03af28f9cd7e5666a8060a8e2208d88f4ec3d6be4c7dad13d41757754296eb5b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d3396dfde6e114902db13370916a570fcad62502520dd129f9cac9f8d80e3aa4\",\"dweb:/ipfs/QmVVDVf6dm6fKvN2gFBM5NQWwX8cNzLszmvGwrUBBoQGqW\"]},\"contracts/release/extensions/integration-manager/integrations/utils/actions/CurveLiquidityActionsMixin.sol\":{\"keccak256\":\"0x71e040ad76ac9927ca73d597ce6cc767475b75f08227db9a4f471ac4b8291805\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://089fa77e85aeb131f96d02d2c46e2f99b59dd0337cde82244b11e23602ee4329\",\"dweb:/ipfs/QmZTv8u4HrMz4sm5TFLHv1nfjfjfUkcASD4Qhz88EVYwAR\"]},\"contracts/release/extensions/integration-manager/integrations/utils/bases/CurveLiquidityAdapterBase.sol\":{\"keccak256\":\"0x85c51f77c1f0fe8e33b676e6a59266b92592acf10fc147925f95f97b16715432\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a897952b16993d624cd1e6ad1f62e2892166918e7bab0ad377ffe6405d3936ce\",\"dweb:/ipfs/QmXovhqFgdV7v2DwNMjksNwWWLU61gxV95Hy7xs9AV8g7E\"]},\"contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol\":{\"keccak256\":\"0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e\",\"dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK\"]},\"contracts/release/infrastructure/price-feeds/derivatives/feeds/CurvePriceFeed.sol\":{\"keccak256\":\"0xa8ddbd75bb5cb702b539b963c2694a8abcbd19eb801a36a42c0537f69ad26b42\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b6422a1ebdf7198942cee6b61ae807887a77864abc0b1bc16dba55c7b5f3ca90\",\"dweb:/ipfs/QmXNCQkT5Er6NvKBJnhk9jR4T1KhNeorAr8F6K6dQPjztx\"]},\"contracts/release/interfaces/ICurveAddressProvider.sol\":{\"keccak256\":\"0xf8da903700c623760de62b3e5d0b01997c68b8847391e23b89081128780e55e1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://735b71b448d4d5c78e98ead84bf8f8e1e94e38ff8a77c7e4f9cc944d1d73e7df\",\"dweb:/ipfs/QmXFgGFVEvQW9wpeBspcaVAXwCcxvnNJZLafTeP2HPArNQ\"]},\"contracts/release/interfaces/ICurveLiquidityGaugeV2.sol\":{\"keccak256\":\"0x0fbd9bdd7d7df1cd92c065ae3e62f1767d80914f086a0f146a2c9874aa7d4e30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://7ed9ee21be1e5c6e6caf3abd0a092410c50614239c72a361612e3d71a649e6e1\",\"dweb:/ipfs/QmZgGgbPsWAiMwnPiimNGgFN6ZnaqcUkRSsSpnQi1MtBNs\"]},\"contracts/release/interfaces/ICurveLiquidityPool.sol\":{\"keccak256\":\"0xd90f3399805f90d670098cc451f9948b8da7dd68be821617c76487fdc20f0731\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ba6e6e5bf761fa279329a564741e5cd2b78c5be2e50c388ac419c3d84736c9a1\",\"dweb:/ipfs/QmZ96kkg7oHLmdzwQLYbZVHDvKj8jZEJLaxNXy1j3sbgrn\"]},\"contracts/release/interfaces/ICurveMinter.sol\":{\"keccak256\":\"0xbfe0cfa932805d9cda714d7ef7cb6b42d08c782b0ffa46de5e2c0530f4ce5ba1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://29ab2dcee291bf81ccb67ab31fd3548e634fb2742642f70890edc7af727d3d39\",\"dweb:/ipfs/QmVZtC5aHRABS8ZX8XVtwiW1Y8K5vnhVH7WKZ29prN2EpJ\"]},\"contracts/release/interfaces/ICurvePoolOwner.sol\":{\"keccak256\":\"0x42a03eb0d757153add18d4f42b5b464041056e23f6965a48705088ddd213c336\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a4166f75c4c80b8f069ae2b8cfe9bda2babca27fd30b239e30606eca69f8878c\",\"dweb:/ipfs/QmYNULkXYTaKQUiCA8htR9KbCkK5YhrHfJgKtBqXiNPt9R\"]},\"contracts/release/interfaces/ICurveRegistryMain.sol\":{\"keccak256\":\"0x9e67cfcd4195bfd8db785be1cba42bf8871d0638770adaf04d638227b29a9b2b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://cb2587e7026be73f27d4dd75deb44faeca3112a58ddc07bb87bca46d96fd977b\",\"dweb:/ipfs/QmTVdpCWZ9rv583gxP5Ycvs5Nf7jZTxVWr5oeZvywYNSSh\"]},\"contracts/release/interfaces/ICurveRegistryMetapoolFactory.sol\":{\"keccak256\":\"0x43aa6bfbda8ca1fdcb0890792e7969999146c690986938ac43818ca9b9343e58\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3426ad7d87cd51519c288004f970da83bf672d60fc7d1c647af5e84855f6a4b5\",\"dweb:/ipfs/QmevngH3Acet8R6YHzGLRyNeEoUYfbnQm7NSbzHYN7rdpf\"]},\"contracts/release/interfaces/IWETH.sol\":{\"keccak256\":\"0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2\",\"dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"contracts/release/utils/FundDeployerOwnerMixin.sol\":{\"keccak256\":\"0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927\",\"dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]},\"node_modules/@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0xa1e12f97981f1d0964b1c048978606a57127c56c438bab61cdfe269cad859a74\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5eefac1760f524971e14aa3f3d79515a3d54fd28c1d3bdca0b36127da349b830\",\"dweb:/ipfs/QmUMzkyH3ytJX5gVPizQruNLhkKmuJb3nFqBDad4LPdg5U\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_integrationManager", "type": "address" }, { "internalType": "address", "name": "_curvePriceFeed", "type": "address" }, { "internalType": "address", "name": "_wrappedNativeAsset", "type": "address" }, { "internalType": "address", "name": "_curveMinter", "type": "address" }, { "internalType": "address", "name": "_crvToken", "type": "address" }, { "internalType": "address", "name": "_nativeAssetAddress", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "CLAIM_REWARDS_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "LEND_AND_STAKE_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "LEND_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "REDEEM_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "STAKE_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "TAKE_MULTIPLE_ORDERS_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "TAKE_ORDER_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "UNSTAKE_AND_REDEEM_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "UNSTAKE_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "bytes", "name": "_actionData", "type": "bytes" }, { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "claimRewards" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getCurveGaugeV2RewardsHandlerCrvToken", "outputs": [ { "internalType": "address", "name": "crvToken_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getCurveGaugeV2RewardsHandlerMinter", "outputs": [ { "internalType": "address", "name": "minter_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getCurveLiquidityWrappedNativeAsset", "outputs": [ { "internalType": "address", "name": "addressProvider_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getIntegrationManager", "outputs": [ { "internalType": "address", "name": "integrationManager_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "bytes", "name": "_actionData", "type": "bytes" }, { "internalType": "bytes", "name": "_assetData", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "lend" }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "bytes", "name": "_actionData", "type": "bytes" }, { "internalType": "bytes", "name": "_assetData", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "lendAndStake" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "bytes4", "name": "_selector", "type": "bytes4" }, { "internalType": "bytes", "name": "_actionData", "type": "bytes" } ], "stateMutability": "view", "type": "function", "name": "parseAssetsForAction", "outputs": [ { "internalType": "enum IIntegrationManager.SpendAssetsHandleType", "name": "spendAssetsHandleType_", "type": "uint8" }, { "internalType": "address[]", "name": "spendAssets_", "type": "address[]" }, { "internalType": "uint256[]", "name": "spendAssetAmounts_", "type": "uint256[]" }, { "internalType": "address[]", "name": "incomingAssets_", "type": "address[]" }, { "internalType": "uint256[]", "name": "minIncomingAssetAmounts_", "type": "uint256[]" } ] }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "bytes", "name": "_actionData", "type": "bytes" }, { "internalType": "bytes", "name": "_assetData", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "redeem" }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "bytes", "name": "", "type": "bytes" }, { "internalType": "bytes", "name": "_assetData", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "stake" }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "bytes", "name": "_actionData", "type": "bytes" }, { "internalType": "bytes", "name": "_assetData", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "unstake" }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "bytes", "name": "_actionData", "type": "bytes" }, { "internalType": "bytes", "name": "_assetData", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "unstakeAndRedeem" }, { "inputs": [], "stateMutability": "payable", "type": "receive" } ], "devdoc": { "kind": "dev", "methods": { "claimRewards(address,bytes,bytes)": { "details": "Pool must have an ERC20 liquidity gauge (e.g., v2, v3, v4) or an ERC20 wrapper (e.g., v1)", "params": { "_actionData": "Data specific to this action", "_vaultProxy": "The VaultProxy of the calling fund" } }, "getCurveGaugeV2RewardsHandlerCrvToken()": { "returns": { "crvToken_": "The `CURVE_GAUGE_V2_REWARDS_HANDLER_CRV_TOKEN` variable value" } }, "getCurveGaugeV2RewardsHandlerMinter()": { "returns": { "minter_": "The `CURVE_GAUGE_V2_REWARDS_HANDLER_MINTER` variable value" } }, "getCurveLiquidityWrappedNativeAsset()": { "returns": { "addressProvider_": "The `CURVE_LIQUIDITY_WRAPPED_NATIVE_ASSET` variable value" } }, "getIntegrationManager()": { "returns": { "integrationManager_": "The `INTEGRATION_MANAGER` variable value" } }, "lend(address,bytes,bytes)": { "params": { "_actionData": "Data specific to this action", "_assetData": "Parsed spend assets and incoming assets data for this action", "_vaultProxy": "The VaultProxy of the calling fund" } }, "lendAndStake(address,bytes,bytes)": { "params": { "_actionData": "Data specific to this action", "_assetData": "Parsed spend assets and incoming assets data for this action", "_vaultProxy": "The VaultProxy of the calling fund" } }, "parseAssetsForAction(address,bytes4,bytes)": { "params": { "_actionData": "Data specific to this action", "_selector": "The function selector for the callOnIntegration" }, "returns": { "incomingAssets_": "The assets to receive in the call", "minIncomingAssetAmounts_": "The min asset amounts to receive in the call", "spendAssetAmounts_": "The max asset amounts to spend in the call", "spendAssetsHandleType_": "A type that dictates how to handle granting the adapter access to spend assets (`None` by default)", "spendAssets_": "The assets to spend in the call" } }, "redeem(address,bytes,bytes)": { "params": { "_actionData": "Data specific to this action", "_assetData": "Parsed spend assets and incoming assets data for this action", "_vaultProxy": "The VaultProxy of the calling fund" } }, "stake(address,bytes,bytes)": { "params": { "_assetData": "Parsed spend assets and incoming assets data for this action", "_vaultProxy": "The VaultProxy of the calling fund" } }, "unstake(address,bytes,bytes)": { "params": { "_actionData": "Data specific to this action", "_assetData": "Parsed spend assets and incoming assets data for this action", "_vaultProxy": "The VaultProxy of the calling fund" } }, "unstakeAndRedeem(address,bytes,bytes)": { "params": { "_actionData": "Data specific to this action", "_assetData": "Parsed spend assets and incoming assets data for this action", "_vaultProxy": "The VaultProxy of the calling fund" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "claimRewards(address,bytes,bytes)": { "notice": "Claims rewards from the Curve Minter as well as pool-specific rewards" }, "getCurveGaugeV2RewardsHandlerCrvToken()": { "notice": "Gets the `CURVE_GAUGE_V2_REWARDS_HANDLER_CRV_TOKEN` variable" }, "getCurveGaugeV2RewardsHandlerMinter()": { "notice": "Gets the `CURVE_GAUGE_V2_REWARDS_HANDLER_MINTER` variable" }, "getCurveLiquidityWrappedNativeAsset()": { "notice": "Gets the `CURVE_LIQUIDITY_WRAPPED_NATIVE_ASSET` variable" }, "getIntegrationManager()": { "notice": "Gets the `INTEGRATION_MANAGER` variable" }, "lend(address,bytes,bytes)": { "notice": "Lends assets for LP tokens (not staked)" }, "lendAndStake(address,bytes,bytes)": { "notice": "Lends assets for LP tokens, then stakes the received LP tokens" }, "parseAssetsForAction(address,bytes4,bytes)": { "notice": "Parses the expected assets in a particular action" }, "redeem(address,bytes,bytes)": { "notice": "Redeems LP tokens" }, "stake(address,bytes,bytes)": { "notice": "Stakes LP tokens" }, "unstake(address,bytes,bytes)": { "notice": "Unstakes LP tokens" }, "unstakeAndRedeem(address,bytes,bytes)": { "notice": "Unstakes LP tokens, then redeems them" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/integration-manager/integrations/adapters/CurveLiquidityAdapter.sol": "CurveLiquidityAdapter" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/core/fund-deployer/IFundDeployer.sol": { "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", "urls": [ "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/IIntegrationManager.sol": { "keccak256": "0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef", "urls": [ "bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23", "dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol": { "keccak256": "0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1", "urls": [ "bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336", "dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/adapters/CurveLiquidityAdapter.sol": { "keccak256": "0x7facbbac0a3a655caf4c8f83964d5775ee57eede307ffd70016f6bc25683ab66", "urls": [ "bzz-raw://c577a5fad15b9d95fc46d5baacc8fff92c4a9af6875280642e35d5dc4f5ac2e5", "dweb:/ipfs/QmaeKNkDA3EB4XmNU7eWLJ6DUfNwKUVnfVYTPrrDpjTo2D" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol": { "keccak256": "0x067e49bf0d3c1655ab41a413c65ccf61d4e593308132e1ffc484a0fadfbbaf26", "urls": [ "bzz-raw://387f425017e18e89cc1893521101fa99df595314847d0b3d9a1162369f714fcf", "dweb:/ipfs/Qmco3jCvuWAyfCpBYpGzHrQjiFJG63w1RJKcakoTEbxRQm" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol": { "keccak256": "0xfd34c7ca8231c6935e25dede32ca2b3121738e624d0fc896f7b895a731edcf88", "urls": [ "bzz-raw://d492c061963d36d07718446db191d4c5a340c0d847f6cd209f027bd99f7cb176", "dweb:/ipfs/QmfCvRZt56ftDdrEh6LepHXFJ4fVtcfpQGvEyY8k4zxG1A" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/utils/actions/CurveGaugeV2ActionsMixin.sol": { "keccak256": "0xb297d967916d8560814b5d85ca8abedacf7d3c414390a0eb1179aa3adaa9be1b", "urls": [ "bzz-raw://97b52856086845cdfe9ddcd6e0be1eb72658a6775ab3cec97c4aa4d5477d28f3", "dweb:/ipfs/QmccHa8AXHZ4TiBu9225cxi6RgT6SskhgmUFzEJmgzE625" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/utils/actions/CurveGaugeV2RewardsHandlerMixin.sol": { "keccak256": "0x03af28f9cd7e5666a8060a8e2208d88f4ec3d6be4c7dad13d41757754296eb5b", "urls": [ "bzz-raw://d3396dfde6e114902db13370916a570fcad62502520dd129f9cac9f8d80e3aa4", "dweb:/ipfs/QmVVDVf6dm6fKvN2gFBM5NQWwX8cNzLszmvGwrUBBoQGqW" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/utils/actions/CurveLiquidityActionsMixin.sol": { "keccak256": "0x71e040ad76ac9927ca73d597ce6cc767475b75f08227db9a4f471ac4b8291805", "urls": [ "bzz-raw://089fa77e85aeb131f96d02d2c46e2f99b59dd0337cde82244b11e23602ee4329", "dweb:/ipfs/QmZTv8u4HrMz4sm5TFLHv1nfjfjfUkcASD4Qhz88EVYwAR" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/utils/bases/CurveLiquidityAdapterBase.sol": { "keccak256": "0x85c51f77c1f0fe8e33b676e6a59266b92592acf10fc147925f95f97b16715432", "urls": [ "bzz-raw://a897952b16993d624cd1e6ad1f62e2892166918e7bab0ad377ffe6405d3936ce", "dweb:/ipfs/QmXovhqFgdV7v2DwNMjksNwWWLU61gxV95Hy7xs9AV8g7E" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol": { "keccak256": "0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332", "urls": [ "bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e", "dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/price-feeds/derivatives/feeds/CurvePriceFeed.sol": { "keccak256": "0xa8ddbd75bb5cb702b539b963c2694a8abcbd19eb801a36a42c0537f69ad26b42", "urls": [ "bzz-raw://b6422a1ebdf7198942cee6b61ae807887a77864abc0b1bc16dba55c7b5f3ca90", "dweb:/ipfs/QmXNCQkT5Er6NvKBJnhk9jR4T1KhNeorAr8F6K6dQPjztx" ], "license": "GPL-3.0" }, "contracts/release/interfaces/ICurveAddressProvider.sol": { "keccak256": "0xf8da903700c623760de62b3e5d0b01997c68b8847391e23b89081128780e55e1", "urls": [ "bzz-raw://735b71b448d4d5c78e98ead84bf8f8e1e94e38ff8a77c7e4f9cc944d1d73e7df", "dweb:/ipfs/QmXFgGFVEvQW9wpeBspcaVAXwCcxvnNJZLafTeP2HPArNQ" ], "license": "GPL-3.0" }, "contracts/release/interfaces/ICurveLiquidityGaugeV2.sol": { "keccak256": "0x0fbd9bdd7d7df1cd92c065ae3e62f1767d80914f086a0f146a2c9874aa7d4e30", "urls": [ "bzz-raw://7ed9ee21be1e5c6e6caf3abd0a092410c50614239c72a361612e3d71a649e6e1", "dweb:/ipfs/QmZgGgbPsWAiMwnPiimNGgFN6ZnaqcUkRSsSpnQi1MtBNs" ], "license": "GPL-3.0" }, "contracts/release/interfaces/ICurveLiquidityPool.sol": { "keccak256": "0xd90f3399805f90d670098cc451f9948b8da7dd68be821617c76487fdc20f0731", "urls": [ "bzz-raw://ba6e6e5bf761fa279329a564741e5cd2b78c5be2e50c388ac419c3d84736c9a1", "dweb:/ipfs/QmZ96kkg7oHLmdzwQLYbZVHDvKj8jZEJLaxNXy1j3sbgrn" ], "license": "GPL-3.0" }, "contracts/release/interfaces/ICurveMinter.sol": { "keccak256": "0xbfe0cfa932805d9cda714d7ef7cb6b42d08c782b0ffa46de5e2c0530f4ce5ba1", "urls": [ "bzz-raw://29ab2dcee291bf81ccb67ab31fd3548e634fb2742642f70890edc7af727d3d39", "dweb:/ipfs/QmVZtC5aHRABS8ZX8XVtwiW1Y8K5vnhVH7WKZ29prN2EpJ" ], "license": "GPL-3.0" }, "contracts/release/interfaces/ICurvePoolOwner.sol": { "keccak256": "0x42a03eb0d757153add18d4f42b5b464041056e23f6965a48705088ddd213c336", "urls": [ "bzz-raw://a4166f75c4c80b8f069ae2b8cfe9bda2babca27fd30b239e30606eca69f8878c", "dweb:/ipfs/QmYNULkXYTaKQUiCA8htR9KbCkK5YhrHfJgKtBqXiNPt9R" ], "license": "GPL-3.0" }, "contracts/release/interfaces/ICurveRegistryMain.sol": { "keccak256": "0x9e67cfcd4195bfd8db785be1cba42bf8871d0638770adaf04d638227b29a9b2b", "urls": [ "bzz-raw://cb2587e7026be73f27d4dd75deb44faeca3112a58ddc07bb87bca46d96fd977b", "dweb:/ipfs/QmTVdpCWZ9rv583gxP5Ycvs5Nf7jZTxVWr5oeZvywYNSSh" ], "license": "GPL-3.0" }, "contracts/release/interfaces/ICurveRegistryMetapoolFactory.sol": { "keccak256": "0x43aa6bfbda8ca1fdcb0890792e7969999146c690986938ac43818ca9b9343e58", "urls": [ "bzz-raw://3426ad7d87cd51519c288004f970da83bf672d60fc7d1c647af5e84855f6a4b5", "dweb:/ipfs/QmevngH3Acet8R6YHzGLRyNeEoUYfbnQm7NSbzHYN7rdpf" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IWETH.sol": { "keccak256": "0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2", "urls": [ "bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2", "dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ" ], "license": "GPL-3.0" }, "contracts/release/utils/AddressArrayLib.sol": { "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", "urls": [ "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" ], "license": "GPL-3.0" }, "contracts/release/utils/AssetHelpers.sol": { "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", "urls": [ "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" ], "license": "GPL-3.0" }, "contracts/release/utils/FundDeployerOwnerMixin.sol": { "keccak256": "0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934", "urls": [ "bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927", "dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", "urls": [ "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Address.sol": { "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", "urls": [ "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Strings.sol": { "keccak256": "0xa1e12f97981f1d0964b1c048978606a57127c56c438bab61cdfe269cad859a74", "urls": [ "bzz-raw://5eefac1760f524971e14aa3f3d79515a3d54fd28c1d3bdca0b36127da349b830", "dweb:/ipfs/QmUMzkyH3ytJX5gVPizQruNLhkKmuJb3nFqBDad4LPdg5U" ], "license": "MIT" } }, "version": 1 }, "id": 168 } diff --git a/eth_defi/abi/enzyme/CurveLiquidityAdapterBase.json b/eth_defi/abi/enzyme/CurveLiquidityAdapterBase.json index 01d74a55..55b0cd98 100644 --- a/eth_defi/abi/enzyme/CurveLiquidityAdapterBase.json +++ b/eth_defi/abi/enzyme/CurveLiquidityAdapterBase.json @@ -1,666 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_integrationManager", - "type": "address" - }, - { - "internalType": "address", - "name": "_wrappedNativeAsset", - "type": "address" - }, - { - "internalType": "address", - "name": "_nativeAssetAddress", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "name": "CLAIM_REWARDS_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "LEND_AND_STAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "LEND_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "REDEEM_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "STAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "TAKE_MULTIPLE_ORDERS_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "TAKE_ORDER_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "UNSTAKE_AND_REDEEM_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "UNSTAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getCurveLiquidityWrappedNativeAsset", - "outputs": [ - { - "internalType": "address", - "name": "addressProvider_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getIntegrationManager", - "outputs": [ - { - "internalType": "address", - "name": "integrationManager_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes4", - "name": "_selector", - "type": "bytes4" - }, - { - "internalType": "bytes", - "name": "_encodedCallArgs", - "type": "bytes" - } - ], - "name": "parseAssetsForAction", - "outputs": [ - { - "internalType": "enum IIntegrationManager.SpendAssetsHandleType", - "name": "spendAssetsHandleType_", - "type": "uint8" - }, - { - "internalType": "address[]", - "name": "spendAssets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "spendAssetAmounts_", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "incomingAssets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "minIncomingAssetAmounts_", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "stateMutability": "payable", - "type": "receive" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "CLAIM_REWARDS_SELECTOR()": "40da225d", - "LEND_AND_STAKE_SELECTOR()": "131461c0", - "LEND_SELECTOR()": "257cb1a3", - "REDEEM_SELECTOR()": "f7d882b5", - "STAKE_SELECTOR()": "3ffc1591", - "TAKE_MULTIPLE_ORDERS_SELECTOR()": "c32990a2", - "TAKE_ORDER_SELECTOR()": "863e5ad0", - "UNSTAKE_AND_REDEEM_SELECTOR()": "080456c1", - "UNSTAKE_SELECTOR()": "b23228cf", - "getCurveLiquidityWrappedNativeAsset()": "12c9d386", - "getIntegrationManager()": "e7c45690", - "parseAssetsForAction(address,bytes4,bytes)": "c54efee5" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_integrationManager\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_wrappedNativeAsset\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_nativeAssetAddress\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"CLAIM_REWARDS_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LEND_AND_STAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LEND_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"REDEEM_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"STAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TAKE_MULTIPLE_ORDERS_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TAKE_ORDER_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UNSTAKE_AND_REDEEM_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UNSTAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurveLiquidityWrappedNativeAsset\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"addressProvider_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getIntegrationManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"integrationManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"_selector\",\"type\":\"bytes4\"},{\"internalType\":\"bytes\",\"name\":\"_encodedCallArgs\",\"type\":\"bytes\"}],\"name\":\"parseAssetsForAction\",\"outputs\":[{\"internalType\":\"enum IIntegrationManager.SpendAssetsHandleType\",\"name\":\"spendAssetsHandleType_\",\"type\":\"uint8\"},{\"internalType\":\"address[]\",\"name\":\"spendAssets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"spendAssetAmounts_\",\"type\":\"uint256[]\"},{\"internalType\":\"address[]\",\"name\":\"incomingAssets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"minIncomingAssetAmounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"getCurveLiquidityWrappedNativeAsset()\":{\"returns\":{\"addressProvider_\":\"The `CURVE_LIQUIDITY_WRAPPED_NATIVE_ASSET` variable value\"}},\"getIntegrationManager()\":{\"returns\":{\"integrationManager_\":\"The `INTEGRATION_MANAGER` variable value\"}}},\"title\":\"CurveLiquidityAdapterBase Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getCurveLiquidityWrappedNativeAsset()\":{\"notice\":\"Gets the `CURVE_LIQUIDITY_WRAPPED_NATIVE_ASSET` variable\"},\"getIntegrationManager()\":{\"notice\":\"Gets the `INTEGRATION_MANAGER` variable\"}},\"notice\":\"Base adapter for liquidity provision in Curve pools that adhere to pool templates, as well as some old pools that have almost the same required interface (e.g., 3pool). Implementing contracts can allow staking via Curve gauges, Convex, etc.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/integration-manager/integrations/utils/bases/CurveLiquidityAdapterBase.sol\":\"CurveLiquidityAdapterBase\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/integration-manager/IIntegrationManager.sol\":{\"keccak256\":\"0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23\",\"dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk\"]},\"contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol\":{\"keccak256\":\"0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336\",\"dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS\"]},\"contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol\":{\"keccak256\":\"0x067e49bf0d3c1655ab41a413c65ccf61d4e593308132e1ffc484a0fadfbbaf26\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://387f425017e18e89cc1893521101fa99df595314847d0b3d9a1162369f714fcf\",\"dweb:/ipfs/Qmco3jCvuWAyfCpBYpGzHrQjiFJG63w1RJKcakoTEbxRQm\"]},\"contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol\":{\"keccak256\":\"0xfd34c7ca8231c6935e25dede32ca2b3121738e624d0fc896f7b895a731edcf88\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d492c061963d36d07718446db191d4c5a340c0d847f6cd209f027bd99f7cb176\",\"dweb:/ipfs/QmfCvRZt56ftDdrEh6LepHXFJ4fVtcfpQGvEyY8k4zxG1A\"]},\"contracts/release/extensions/integration-manager/integrations/utils/actions/CurveLiquidityActionsMixin.sol\":{\"keccak256\":\"0x71e040ad76ac9927ca73d597ce6cc767475b75f08227db9a4f471ac4b8291805\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://089fa77e85aeb131f96d02d2c46e2f99b59dd0337cde82244b11e23602ee4329\",\"dweb:/ipfs/QmZTv8u4HrMz4sm5TFLHv1nfjfjfUkcASD4Qhz88EVYwAR\"]},\"contracts/release/extensions/integration-manager/integrations/utils/bases/CurveLiquidityAdapterBase.sol\":{\"keccak256\":\"0x85c51f77c1f0fe8e33b676e6a59266b92592acf10fc147925f95f97b16715432\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a897952b16993d624cd1e6ad1f62e2892166918e7bab0ad377ffe6405d3936ce\",\"dweb:/ipfs/QmXovhqFgdV7v2DwNMjksNwWWLU61gxV95Hy7xs9AV8g7E\"]},\"contracts/release/interfaces/ICurveLiquidityPool.sol\":{\"keccak256\":\"0xd90f3399805f90d670098cc451f9948b8da7dd68be821617c76487fdc20f0731\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ba6e6e5bf761fa279329a564741e5cd2b78c5be2e50c388ac419c3d84736c9a1\",\"dweb:/ipfs/QmZ96kkg7oHLmdzwQLYbZVHDvKj8jZEJLaxNXy1j3sbgrn\"]},\"contracts/release/interfaces/IWETH.sol\":{\"keccak256\":\"0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2\",\"dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]},\"node_modules/@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0xa1e12f97981f1d0964b1c048978606a57127c56c438bab61cdfe269cad859a74\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5eefac1760f524971e14aa3f3d79515a3d54fd28c1d3bdca0b36127da349b830\",\"dweb:/ipfs/QmUMzkyH3ytJX5gVPizQruNLhkKmuJb3nFqBDad4LPdg5U\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_integrationManager", - "type": "address" - }, - { - "internalType": "address", - "name": "_wrappedNativeAsset", - "type": "address" - }, - { - "internalType": "address", - "name": "_nativeAssetAddress", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "CLAIM_REWARDS_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "LEND_AND_STAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "LEND_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "REDEEM_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "STAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "TAKE_MULTIPLE_ORDERS_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "TAKE_ORDER_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "UNSTAKE_AND_REDEEM_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "UNSTAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getCurveLiquidityWrappedNativeAsset", - "outputs": [ - { - "internalType": "address", - "name": "addressProvider_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getIntegrationManager", - "outputs": [ - { - "internalType": "address", - "name": "integrationManager_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes4", - "name": "_selector", - "type": "bytes4" - }, - { - "internalType": "bytes", - "name": "_encodedCallArgs", - "type": "bytes" - } - ], - "stateMutability": "view", - "type": "function", - "name": "parseAssetsForAction", - "outputs": [ - { - "internalType": "enum IIntegrationManager.SpendAssetsHandleType", - "name": "spendAssetsHandleType_", - "type": "uint8" - }, - { - "internalType": "address[]", - "name": "spendAssets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "spendAssetAmounts_", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "incomingAssets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "minIncomingAssetAmounts_", - "type": "uint256[]" - } - ] - }, - { - "inputs": [], - "stateMutability": "payable", - "type": "receive" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "getCurveLiquidityWrappedNativeAsset()": { - "returns": { - "addressProvider_": "The `CURVE_LIQUIDITY_WRAPPED_NATIVE_ASSET` variable value" - } - }, - "getIntegrationManager()": { - "returns": { - "integrationManager_": "The `INTEGRATION_MANAGER` variable value" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "getCurveLiquidityWrappedNativeAsset()": { - "notice": "Gets the `CURVE_LIQUIDITY_WRAPPED_NATIVE_ASSET` variable" - }, - "getIntegrationManager()": { - "notice": "Gets the `INTEGRATION_MANAGER` variable" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/integration-manager/integrations/utils/bases/CurveLiquidityAdapterBase.sol": "CurveLiquidityAdapterBase" - }, - "libraries": {} - }, - "sources": { - "contracts/release/extensions/integration-manager/IIntegrationManager.sol": { - "keccak256": "0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef", - "urls": [ - "bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23", - "dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol": { - "keccak256": "0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1", - "urls": [ - "bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336", - "dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol": { - "keccak256": "0x067e49bf0d3c1655ab41a413c65ccf61d4e593308132e1ffc484a0fadfbbaf26", - "urls": [ - "bzz-raw://387f425017e18e89cc1893521101fa99df595314847d0b3d9a1162369f714fcf", - "dweb:/ipfs/Qmco3jCvuWAyfCpBYpGzHrQjiFJG63w1RJKcakoTEbxRQm" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol": { - "keccak256": "0xfd34c7ca8231c6935e25dede32ca2b3121738e624d0fc896f7b895a731edcf88", - "urls": [ - "bzz-raw://d492c061963d36d07718446db191d4c5a340c0d847f6cd209f027bd99f7cb176", - "dweb:/ipfs/QmfCvRZt56ftDdrEh6LepHXFJ4fVtcfpQGvEyY8k4zxG1A" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/utils/actions/CurveLiquidityActionsMixin.sol": { - "keccak256": "0x71e040ad76ac9927ca73d597ce6cc767475b75f08227db9a4f471ac4b8291805", - "urls": [ - "bzz-raw://089fa77e85aeb131f96d02d2c46e2f99b59dd0337cde82244b11e23602ee4329", - "dweb:/ipfs/QmZTv8u4HrMz4sm5TFLHv1nfjfjfUkcASD4Qhz88EVYwAR" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/utils/bases/CurveLiquidityAdapterBase.sol": { - "keccak256": "0x85c51f77c1f0fe8e33b676e6a59266b92592acf10fc147925f95f97b16715432", - "urls": [ - "bzz-raw://a897952b16993d624cd1e6ad1f62e2892166918e7bab0ad377ffe6405d3936ce", - "dweb:/ipfs/QmXovhqFgdV7v2DwNMjksNwWWLU61gxV95Hy7xs9AV8g7E" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/ICurveLiquidityPool.sol": { - "keccak256": "0xd90f3399805f90d670098cc451f9948b8da7dd68be821617c76487fdc20f0731", - "urls": [ - "bzz-raw://ba6e6e5bf761fa279329a564741e5cd2b78c5be2e50c388ac419c3d84736c9a1", - "dweb:/ipfs/QmZ96kkg7oHLmdzwQLYbZVHDvKj8jZEJLaxNXy1j3sbgrn" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IWETH.sol": { - "keccak256": "0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2", - "urls": [ - "bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2", - "dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AssetHelpers.sol": { - "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", - "urls": [ - "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", - "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { - "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", - "urls": [ - "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", - "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Address.sol": { - "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", - "urls": [ - "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", - "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Strings.sol": { - "keccak256": "0xa1e12f97981f1d0964b1c048978606a57127c56c438bab61cdfe269cad859a74", - "urls": [ - "bzz-raw://5eefac1760f524971e14aa3f3d79515a3d54fd28c1d3bdca0b36127da349b830", - "dweb:/ipfs/QmUMzkyH3ytJX5gVPizQruNLhkKmuJb3nFqBDad4LPdg5U" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 203 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_integrationManager", "type": "address", "internalType": "address" }, { "name": "_wrappedNativeAsset", "type": "address", "internalType": "address" }, { "name": "_nativeAssetAddress", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "receive", "stateMutability": "payable" }, { "type": "function", "name": "CLAIM_REWARDS_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "LEND_AND_STAKE_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "LEND_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "REDEEM_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "STAKE_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "TAKE_MULTIPLE_ORDERS_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "TAKE_ORDER_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "UNSTAKE_AND_REDEEM_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "UNSTAKE_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "getCurveLiquidityWrappedNativeAsset", "inputs": [], "outputs": [ { "name": "addressProvider_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getIntegrationManager", "inputs": [], "outputs": [ { "name": "integrationManager_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "parseAssetsForAction", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_selector", "type": "bytes4", "internalType": "bytes4" }, { "name": "_encodedCallArgs", "type": "bytes", "internalType": "bytes" } ], "outputs": [ { "name": "spendAssetsHandleType_", "type": "uint8", "internalType": "enum IIntegrationManager.SpendAssetsHandleType" }, { "name": "spendAssets_", "type": "address[]", "internalType": "address[]" }, { "name": "spendAssetAmounts_", "type": "uint256[]", "internalType": "uint256[]" }, { "name": "incomingAssets_", "type": "address[]", "internalType": "address[]" }, { "name": "minIncomingAssetAmounts_", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "view" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "CLAIM_REWARDS_SELECTOR()": "40da225d", "LEND_AND_STAKE_SELECTOR()": "131461c0", "LEND_SELECTOR()": "257cb1a3", "REDEEM_SELECTOR()": "f7d882b5", "STAKE_SELECTOR()": "3ffc1591", "TAKE_MULTIPLE_ORDERS_SELECTOR()": "c32990a2", "TAKE_ORDER_SELECTOR()": "863e5ad0", "UNSTAKE_AND_REDEEM_SELECTOR()": "080456c1", "UNSTAKE_SELECTOR()": "b23228cf", "getCurveLiquidityWrappedNativeAsset()": "12c9d386", "getIntegrationManager()": "e7c45690", "parseAssetsForAction(address,bytes4,bytes)": "c54efee5" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_integrationManager\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_wrappedNativeAsset\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_nativeAssetAddress\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"CLAIM_REWARDS_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LEND_AND_STAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LEND_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"REDEEM_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"STAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TAKE_MULTIPLE_ORDERS_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TAKE_ORDER_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UNSTAKE_AND_REDEEM_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UNSTAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurveLiquidityWrappedNativeAsset\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"addressProvider_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getIntegrationManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"integrationManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"_selector\",\"type\":\"bytes4\"},{\"internalType\":\"bytes\",\"name\":\"_encodedCallArgs\",\"type\":\"bytes\"}],\"name\":\"parseAssetsForAction\",\"outputs\":[{\"internalType\":\"enum IIntegrationManager.SpendAssetsHandleType\",\"name\":\"spendAssetsHandleType_\",\"type\":\"uint8\"},{\"internalType\":\"address[]\",\"name\":\"spendAssets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"spendAssetAmounts_\",\"type\":\"uint256[]\"},{\"internalType\":\"address[]\",\"name\":\"incomingAssets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"minIncomingAssetAmounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"getCurveLiquidityWrappedNativeAsset()\":{\"returns\":{\"addressProvider_\":\"The `CURVE_LIQUIDITY_WRAPPED_NATIVE_ASSET` variable value\"}},\"getIntegrationManager()\":{\"returns\":{\"integrationManager_\":\"The `INTEGRATION_MANAGER` variable value\"}}},\"title\":\"CurveLiquidityAdapterBase Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getCurveLiquidityWrappedNativeAsset()\":{\"notice\":\"Gets the `CURVE_LIQUIDITY_WRAPPED_NATIVE_ASSET` variable\"},\"getIntegrationManager()\":{\"notice\":\"Gets the `INTEGRATION_MANAGER` variable\"}},\"notice\":\"Base adapter for liquidity provision in Curve pools that adhere to pool templates, as well as some old pools that have almost the same required interface (e.g., 3pool). Implementing contracts can allow staking via Curve gauges, Convex, etc.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/integration-manager/integrations/utils/bases/CurveLiquidityAdapterBase.sol\":\"CurveLiquidityAdapterBase\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/integration-manager/IIntegrationManager.sol\":{\"keccak256\":\"0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23\",\"dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk\"]},\"contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol\":{\"keccak256\":\"0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336\",\"dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS\"]},\"contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol\":{\"keccak256\":\"0x067e49bf0d3c1655ab41a413c65ccf61d4e593308132e1ffc484a0fadfbbaf26\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://387f425017e18e89cc1893521101fa99df595314847d0b3d9a1162369f714fcf\",\"dweb:/ipfs/Qmco3jCvuWAyfCpBYpGzHrQjiFJG63w1RJKcakoTEbxRQm\"]},\"contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol\":{\"keccak256\":\"0xfd34c7ca8231c6935e25dede32ca2b3121738e624d0fc896f7b895a731edcf88\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d492c061963d36d07718446db191d4c5a340c0d847f6cd209f027bd99f7cb176\",\"dweb:/ipfs/QmfCvRZt56ftDdrEh6LepHXFJ4fVtcfpQGvEyY8k4zxG1A\"]},\"contracts/release/extensions/integration-manager/integrations/utils/actions/CurveLiquidityActionsMixin.sol\":{\"keccak256\":\"0x71e040ad76ac9927ca73d597ce6cc767475b75f08227db9a4f471ac4b8291805\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://089fa77e85aeb131f96d02d2c46e2f99b59dd0337cde82244b11e23602ee4329\",\"dweb:/ipfs/QmZTv8u4HrMz4sm5TFLHv1nfjfjfUkcASD4Qhz88EVYwAR\"]},\"contracts/release/extensions/integration-manager/integrations/utils/bases/CurveLiquidityAdapterBase.sol\":{\"keccak256\":\"0x85c51f77c1f0fe8e33b676e6a59266b92592acf10fc147925f95f97b16715432\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a897952b16993d624cd1e6ad1f62e2892166918e7bab0ad377ffe6405d3936ce\",\"dweb:/ipfs/QmXovhqFgdV7v2DwNMjksNwWWLU61gxV95Hy7xs9AV8g7E\"]},\"contracts/release/interfaces/ICurveLiquidityPool.sol\":{\"keccak256\":\"0xd90f3399805f90d670098cc451f9948b8da7dd68be821617c76487fdc20f0731\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ba6e6e5bf761fa279329a564741e5cd2b78c5be2e50c388ac419c3d84736c9a1\",\"dweb:/ipfs/QmZ96kkg7oHLmdzwQLYbZVHDvKj8jZEJLaxNXy1j3sbgrn\"]},\"contracts/release/interfaces/IWETH.sol\":{\"keccak256\":\"0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2\",\"dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]},\"node_modules/@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0xa1e12f97981f1d0964b1c048978606a57127c56c438bab61cdfe269cad859a74\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5eefac1760f524971e14aa3f3d79515a3d54fd28c1d3bdca0b36127da349b830\",\"dweb:/ipfs/QmUMzkyH3ytJX5gVPizQruNLhkKmuJb3nFqBDad4LPdg5U\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_integrationManager", "type": "address" }, { "internalType": "address", "name": "_wrappedNativeAsset", "type": "address" }, { "internalType": "address", "name": "_nativeAssetAddress", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "CLAIM_REWARDS_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "LEND_AND_STAKE_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "LEND_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "REDEEM_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "STAKE_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "TAKE_MULTIPLE_ORDERS_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "TAKE_ORDER_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "UNSTAKE_AND_REDEEM_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "UNSTAKE_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getCurveLiquidityWrappedNativeAsset", "outputs": [ { "internalType": "address", "name": "addressProvider_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getIntegrationManager", "outputs": [ { "internalType": "address", "name": "integrationManager_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "bytes4", "name": "_selector", "type": "bytes4" }, { "internalType": "bytes", "name": "_encodedCallArgs", "type": "bytes" } ], "stateMutability": "view", "type": "function", "name": "parseAssetsForAction", "outputs": [ { "internalType": "enum IIntegrationManager.SpendAssetsHandleType", "name": "spendAssetsHandleType_", "type": "uint8" }, { "internalType": "address[]", "name": "spendAssets_", "type": "address[]" }, { "internalType": "uint256[]", "name": "spendAssetAmounts_", "type": "uint256[]" }, { "internalType": "address[]", "name": "incomingAssets_", "type": "address[]" }, { "internalType": "uint256[]", "name": "minIncomingAssetAmounts_", "type": "uint256[]" } ] }, { "inputs": [], "stateMutability": "payable", "type": "receive" } ], "devdoc": { "kind": "dev", "methods": { "getCurveLiquidityWrappedNativeAsset()": { "returns": { "addressProvider_": "The `CURVE_LIQUIDITY_WRAPPED_NATIVE_ASSET` variable value" } }, "getIntegrationManager()": { "returns": { "integrationManager_": "The `INTEGRATION_MANAGER` variable value" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "getCurveLiquidityWrappedNativeAsset()": { "notice": "Gets the `CURVE_LIQUIDITY_WRAPPED_NATIVE_ASSET` variable" }, "getIntegrationManager()": { "notice": "Gets the `INTEGRATION_MANAGER` variable" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/integration-manager/integrations/utils/bases/CurveLiquidityAdapterBase.sol": "CurveLiquidityAdapterBase" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/extensions/integration-manager/IIntegrationManager.sol": { "keccak256": "0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef", "urls": [ "bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23", "dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol": { "keccak256": "0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1", "urls": [ "bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336", "dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol": { "keccak256": "0x067e49bf0d3c1655ab41a413c65ccf61d4e593308132e1ffc484a0fadfbbaf26", "urls": [ "bzz-raw://387f425017e18e89cc1893521101fa99df595314847d0b3d9a1162369f714fcf", "dweb:/ipfs/Qmco3jCvuWAyfCpBYpGzHrQjiFJG63w1RJKcakoTEbxRQm" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol": { "keccak256": "0xfd34c7ca8231c6935e25dede32ca2b3121738e624d0fc896f7b895a731edcf88", "urls": [ "bzz-raw://d492c061963d36d07718446db191d4c5a340c0d847f6cd209f027bd99f7cb176", "dweb:/ipfs/QmfCvRZt56ftDdrEh6LepHXFJ4fVtcfpQGvEyY8k4zxG1A" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/utils/actions/CurveLiquidityActionsMixin.sol": { "keccak256": "0x71e040ad76ac9927ca73d597ce6cc767475b75f08227db9a4f471ac4b8291805", "urls": [ "bzz-raw://089fa77e85aeb131f96d02d2c46e2f99b59dd0337cde82244b11e23602ee4329", "dweb:/ipfs/QmZTv8u4HrMz4sm5TFLHv1nfjfjfUkcASD4Qhz88EVYwAR" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/utils/bases/CurveLiquidityAdapterBase.sol": { "keccak256": "0x85c51f77c1f0fe8e33b676e6a59266b92592acf10fc147925f95f97b16715432", "urls": [ "bzz-raw://a897952b16993d624cd1e6ad1f62e2892166918e7bab0ad377ffe6405d3936ce", "dweb:/ipfs/QmXovhqFgdV7v2DwNMjksNwWWLU61gxV95Hy7xs9AV8g7E" ], "license": "GPL-3.0" }, "contracts/release/interfaces/ICurveLiquidityPool.sol": { "keccak256": "0xd90f3399805f90d670098cc451f9948b8da7dd68be821617c76487fdc20f0731", "urls": [ "bzz-raw://ba6e6e5bf761fa279329a564741e5cd2b78c5be2e50c388ac419c3d84736c9a1", "dweb:/ipfs/QmZ96kkg7oHLmdzwQLYbZVHDvKj8jZEJLaxNXy1j3sbgrn" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IWETH.sol": { "keccak256": "0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2", "urls": [ "bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2", "dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ" ], "license": "GPL-3.0" }, "contracts/release/utils/AssetHelpers.sol": { "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", "urls": [ "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", "urls": [ "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Address.sol": { "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", "urls": [ "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Strings.sol": { "keccak256": "0xa1e12f97981f1d0964b1c048978606a57127c56c438bab61cdfe269cad859a74", "urls": [ "bzz-raw://5eefac1760f524971e14aa3f3d79515a3d54fd28c1d3bdca0b36127da349b830", "dweb:/ipfs/QmUMzkyH3ytJX5gVPizQruNLhkKmuJb3nFqBDad4LPdg5U" ], "license": "MIT" } }, "version": 1 }, "id": 203 } diff --git a/eth_defi/abi/enzyme/CurvePriceFeed.json b/eth_defi/abi/enzyme/CurvePriceFeed.json index 2ba2826f..2efa0795 100644 --- a/eth_defi/abi/enzyme/CurvePriceFeed.json +++ b/eth_defi/abi/enzyme/CurvePriceFeed.json @@ -1,1273 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_fundDeployer", - "type": "address" - }, - { - "internalType": "address", - "name": "_addressProvider", - "type": "address" - }, - { - "internalType": "address", - "name": "_poolOwner", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_virtualPriceDeviationThreshold", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "poolOwner", - "type": "address" - } - ], - "name": "CurvePoolOwnerSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "derivative", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "pool", - "type": "address" - } - ], - "name": "DerivativeAdded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "derivative", - "type": "address" - } - ], - "name": "DerivativeRemoved", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "pool", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "invariantProxyAsset", - "type": "address" - } - ], - "name": "InvariantProxyAssetForPoolSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "pool", - "type": "address" - } - ], - "name": "PoolRemoved", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "pool", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "virtualPrice", - "type": "uint256" - } - ], - "name": "ValidatedVirtualPriceForPoolUpdated", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_gaugeTokens", - "type": "address[]" - }, - { - "internalType": "address[]", - "name": "_pools", - "type": "address[]" - } - ], - "name": "addGaugeTokens", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_gaugeTokens", - "type": "address[]" - }, - { - "internalType": "address[]", - "name": "_pools", - "type": "address[]" - } - ], - "name": "addGaugeTokensWithoutValidation", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_pools", - "type": "address[]" - }, - { - "internalType": "address[]", - "name": "_invariantProxyAssets", - "type": "address[]" - }, - { - "internalType": "bool[]", - "name": "_reentrantVirtualPrices", - "type": "bool[]" - }, - { - "internalType": "address[]", - "name": "_lpTokens", - "type": "address[]" - }, - { - "internalType": "address[]", - "name": "_gaugeTokens", - "type": "address[]" - } - ], - "name": "addPools", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_pools", - "type": "address[]" - }, - { - "internalType": "address[]", - "name": "_invariantProxyAssets", - "type": "address[]" - }, - { - "internalType": "bool[]", - "name": "_reentrantVirtualPrices", - "type": "bool[]" - }, - { - "internalType": "address[]", - "name": "_lpTokens", - "type": "address[]" - }, - { - "internalType": "address[]", - "name": "_gaugeTokens", - "type": "address[]" - } - ], - "name": "addPoolsWithoutValidation", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_derivative", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_derivativeAmount", - "type": "uint256" - } - ], - "name": "calcUnderlyingValues", - "outputs": [ - { - "internalType": "address[]", - "name": "underlyings_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "underlyingAmounts_", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getCurvePoolOwner", - "outputs": [ - { - "internalType": "address", - "name": "poolOwner_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getFundDeployer", - "outputs": [ - { - "internalType": "address", - "name": "fundDeployer_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_pool", - "type": "address" - } - ], - "name": "getLpTokenForPool", - "outputs": [ - { - "internalType": "address", - "name": "lpToken_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "owner_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_derivative", - "type": "address" - } - ], - "name": "getPoolForDerivative", - "outputs": [ - { - "internalType": "address", - "name": "pool_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_pool", - "type": "address" - } - ], - "name": "getPoolInfo", - "outputs": [ - { - "components": [ - { - "internalType": "address", - "name": "invariantProxyAsset", - "type": "address" - }, - { - "internalType": "uint8", - "name": "invariantProxyAssetDecimals", - "type": "uint8" - }, - { - "internalType": "uint88", - "name": "lastValidatedVirtualPrice", - "type": "uint88" - } - ], - "internalType": "struct CurvePriceFeed.PoolInfo", - "name": "poolInfo_", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_asset", - "type": "address" - } - ], - "name": "isSupportedAsset", - "outputs": [ - { - "internalType": "bool", - "name": "isSupported_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_derivatives", - "type": "address[]" - } - ], - "name": "removeDerivatives", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_pools", - "type": "address[]" - } - ], - "name": "removePools", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_nextPoolOwner", - "type": "address" - } - ], - "name": "setCurvePoolOwner", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_pools", - "type": "address[]" - }, - { - "internalType": "address[]", - "name": "_invariantProxyAssets", - "type": "address[]" - }, - { - "internalType": "bool[]", - "name": "_reentrantVirtualPrices", - "type": "bool[]" - } - ], - "name": "updatePoolInfo", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x60e06040523480156200001157600080fd5b50604051620028cb380380620028cb8339810160408190526200003491620000e0565b6001600160601b0319606085811b821660805284901b1660a05260c08190526200005e8262000068565b50505050620001a5565b600080546001600160a01b0319166001600160a01b0383161790556040517f285938205335d4bea92402795be7d763d8fdcf6b363506d1e419f026c37f44bd90620000b59083906200015b565b60405180910390a150565b8051620000cd8162000180565b92915050565b8051620000cd816200019a565b60008060008060808587031215620000f757600080fd5b6000620001058787620000c0565b94505060206200011887828801620000c0565b93505060406200012b87828801620000c0565b92505060606200013e87828801620000d3565b91505092959194509250565b62000155816200016b565b82525050565b60208101620000cd82846200014a565b60006001600160a01b038216620000cd565b90565b6200018b816200016b565b81146200019757600080fd5b50565b6200018b816200017d565b60805160601c60a05160601c60c0516126e9620001e2600039806114bc525080610ece5280610f3f525080610bc65280610d4952506126e96000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c8063727212f6116100975780639be918e6116100665780639be918e614610206578063bb5c7b1514610226578063f044506b1461022e578063f6d959c31461024157610100565b8063727212f6146101c2578063893d20e8146101e35780638f72b136146101eb57806397c0ac87146101fe57610100565b80634b164140116100d35780634b1641401461017657806351e7d01f14610189578063540eaddc1461019c5780636a2175c0146101af57610100565b80630254f0541461010557806305ecc2d41461011a57806306bfa9381461012d5780631f5bce5514610156575b600080fd5b610118610113366004611dab565b610254565b005b610118610128366004611bae565b6105cc565b61014061013b366004611bae565b610610565b60405161014d91906125fb565b60405180910390f35b610169610164366004611bae565b61066e565b60405161014d91906124aa565b610118610184366004611c5e565b61068c565b610118610197366004611c9f565b6107c0565b6101186101aa366004611dab565b61093c565b6101696101bd366004611bae565b610992565b6101d56101d0366004611bf2565b6109b0565b60405161014d9291906124b8565b610169610bc2565b6101186101f9366004611c5e565b610c5a565b610169610d47565b610219610214366004611bae565b610d6b565b60405161014d91906124dd565b610169610d88565b61011861023c366004611d0d565b610d97565b61011861024f366004611c9f565b610e80565b61025c610bc2565b6001600160a01b0316336001600160a01b0316146102955760405162461bcd60e51b815260040161028c906124fb565b60405180910390fd5b600061029f610eca565b905060006102ab610f25565b905060005b8b8110156105ab57826001600160a01b031663379510498e8e848181106102d357fe5b90506020020160208101906102e89190611bae565b6040518263ffffffff1660e01b815260040161030491906124aa565b60206040518083038186803b15801561031c57600080fd5b505afa158015610330573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103549190611bd4565b6001600160a01b031687878381811061036957fe5b905060200201602081019061037e9190611bae565b6001600160a01b0316141561040e57600085858381811061039b57fe5b90506020020160208101906103b09190611bae565b6001600160a01b031614610409576104098585838181106103cd57fe5b90506020020160208101906103e29190611bae565b8e8e848181106103ee57fe5b90506020020160208101906104039190611bae565b85610f8d565b6105a3565b8c8c8281811061041a57fe5b905060200201602081019061042f9190611bae565b6001600160a01b031687878381811061044457fe5b90506020020160208101906104599190611bae565b6001600160a01b031614801561050a57506000826001600160a01b031663940494f18f8f8581811061048757fe5b905060200201602081019061049c9190611bae565b6040518263ffffffff1660e01b81526004016104b891906124aa565b60206040518083038186803b1580156104d057600080fd5b505afa1580156104e4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105089190611ec6565b115b1561058b57600085858381811061051d57fe5b90506020020160208101906105329190611bae565b6001600160a01b0316146104095761040985858381811061054f57fe5b90506020020160208101906105649190611bae565b8e8e8481811061057057fe5b90506020020160208101906105859190611bae565b84611073565b60405162461bcd60e51b815260040161028c906125cb565b6001016102b0565b506105be8c8c8c8c8c8c8c8c8c8c61111f565b505050505050505050505050565b6105d4610bc2565b6001600160a01b0316336001600160a01b0316146106045760405162461bcd60e51b815260040161028c906124fb565b61060d81611390565b50565b610618611a10565b506001600160a01b03908116600090815260026020908152604091829020825160608101845290549384168152600160a01b840460ff1691810191909152600160a81b9092046001600160581b03169082015290565b6001600160a01b039081166000908152600360205260409020541690565b610694610bc2565b6001600160a01b0316336001600160a01b0316146106c45760405162461bcd60e51b815260040161028c906124fb565b60005b818110156107bb57600260008484848181106106df57fe5b90506020020160208101906106f49190611bae565b6001600160a01b031681526020810191909152604001600090812081905560039084848481811061072157fe5b90506020020160208101906107369190611bae565b6001600160a01b03168152602081019190915260400160002080546001600160a01b031916905582828281811061076957fe5b905060200201602081019061077e9190611bae565b6001600160a01b03167f4106dfdaa577573db51c0ca93f766dbedfa0758faa2e7f5bcdb7c142be803c3f60405160405180910390a26001016106c7565b505050565b6107c8610bc2565b6001600160a01b0316336001600160a01b0316146107f85760405162461bcd60e51b815260040161028c906124fb565b6000610802610eca565b9050600061080e610f25565b905060005b858110156109275786868281811061082757fe5b905060200201602081019061083c9190611bae565b6001600160a01b0316826001600160a01b031663daf297b987878581811061086057fe5b90506020020160208101906108759190611bae565b6040518263ffffffff1660e01b815260040161089191906124aa565b60206040518083038186803b1580156108a957600080fd5b505afa1580156108bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108e19190611bd4565b6001600160a01b03161461091f5761091f8787838181106108fe57fe5b90506020020160208101906109139190611bae565b8686848181106103ee57fe5b600101610813565b50610934868686866113e6565b505050505050565b610944610bc2565b6001600160a01b0316336001600160a01b0316146109745760405162461bcd60e51b815260040161028c906124fb565b6109868a8a8a8a8a8a8a8a8a8a61111f565b50505050505050505050565b6001600160a01b039081166000908152600160205260409020541690565b60608060006109be85610992565b90506001600160a01b0381166109e65760405162461bcd60e51b815260040161028c906124eb565b6109ee611a10565b6109f782610610565b90506000826001600160a01b031663bb7b8b806040518163ffffffff1660e01b815260040160206040518083038186803b158015610a3457600080fd5b505afa158015610a48573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a6c9190611ec6565b9050600082604001516001600160581b0316118015610a9d5750610a9d8183604001516001600160581b0316611487565b15610aac57610aac83826114ea565b6040805160018082528183019092529060208083019080368337019050509450816000015185600081518110610ade57fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509350816020015160ff1660121415610b5e57610b40670de0b6b3a7640000610b3a8884611565565b906115a6565b84600081518110610b4d57fe5b602002602001018181525050610bb7565b610b9d670de0b6b3a7640000610b3a670de0b6b3a7640000610b3a866020015160ff16600a0a610b97878d61156590919063ffffffff16565b90611565565b84600081518110610baa57fe5b6020026020010181815250505b5050505b9250929050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b158015610c1d57600080fd5b505afa158015610c31573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c559190611bd4565b905090565b610c62610bc2565b6001600160a01b0316336001600160a01b031614610c925760405162461bcd60e51b815260040161028c906124fb565b60005b818110156107bb5760016000848484818110610cad57fe5b9050602002016020810190610cc29190611bae565b6001600160a01b03168152602081019190915260400160002080546001600160a01b0319169055828282818110610cf557fe5b9050602002016020810190610d0a9190611bae565b6001600160a01b03167fc15eb25d807b570f4567baf6e97c7b26d58a7d0512dc85e8db15375a056b860460405160405180910390a2600101610c95565b7f000000000000000000000000000000000000000000000000000000000000000090565b600080610d7783610992565b6001600160a01b0316141592915050565b6000546001600160a01b031690565b610d9f610bc2565b6001600160a01b0316336001600160a01b031614610dcf5760405162461bcd60e51b815260040161028c906124fb565b8483148015610ddd57508481145b610df95760405162461bcd60e51b815260040161028c906125db565b60005b85811015610e7757610e6f878783818110610e1357fe5b9050602002016020810190610e289190611bae565b868684818110610e3457fe5b9050602002016020810190610e499190611bae565b858585818110610e5557fe5b9050602002016020810190610e6a9190611ea8565b6115d8565b600101610dfc565b50505050505050565b610e88610bc2565b6001600160a01b0316336001600160a01b031614610eb85760405162461bcd60e51b815260040161028c906124fb565b610ec4848484846113e6565b50505050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a262904b6040518163ffffffff1660e01b815260040160206040518083038186803b158015610c1d57600080fd5b60405163124fd3dd60e21b81526000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063493f4f7490610f7590600390600401612609565b60206040518083038186803b158015610c1d57600080fd5b610f95611a30565b6040516356059ffb60e01b81526001600160a01b038316906356059ffb90610fc19086906004016124aa565b6102806040518083038186803b158015610fda57600080fd5b505afa158015610fee573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110129190611c2c565b50905060005b600a81101561105a578181600a811061102d57fe5b60200201516001600160a01b0316856001600160a01b031614156110525750506107bb565b600101611018565b5060405162461bcd60e51b815260040161028c9061259b565b60405163daf297b960e01b81526001600160a01b0382169063daf297b99061109f9085906004016124aa565b60206040518083038186803b1580156110b757600080fd5b505afa1580156110cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110ef9190611bd4565b6001600160a01b0316836001600160a01b0316146107bb5760405162461bcd60e51b815260040161028c906125ab565b888714801561112d57508885145b801561113857508883145b801561114357508881145b61115f5760405162461bcd60e51b815260040161028c9061250b565b60005b8981101561138357600085858381811061117857fe5b905060200201602081019061118d9190611bae565b6001600160a01b031614156111b45760405162461bcd60e51b815260040161028c9061258b565b60006111da8c8c848181106111c557fe5b90506020020160208101906101649190611bae565b6001600160a01b0316146112005760405162461bcd60e51b815260040161028c9061255b565b6112298b8b8381811061120f57fe5b90506020020160208101906112249190611bae565b6117dc565b61127a8b8b8381811061123857fe5b905060200201602081019061124d9190611bae565b8a8a8481811061125957fe5b905060200201602081019061126e9190611bae565b898985818110610e5557fe5b84848281811061128657fe5b905060200201602081019061129b9190611bae565b600360008d8d858181106112ab57fe5b90506020020160208101906112c09190611bae565b6001600160a01b039081168252602082019290925260400160002080546001600160a01b0319169290911691909117905561133b85858381811061130057fe5b90506020020160208101906113159190611bae565b8c8c8481811061132157fe5b90506020020160208101906113369190611bae565b61186c565b600083838381811061134957fe5b905060200201602081019061135e9190611bae565b6001600160a01b03161461137b5761137b83838381811061130057fe5b600101611162565b5050505050505050505050565b600080546001600160a01b0319166001600160a01b0383161790556040517f285938205335d4bea92402795be7d763d8fdcf6b363506d1e419f026c37f44bd906113db9083906124aa565b60405180910390a150565b8281146114055760405162461bcd60e51b815260040161028c9061252b565b60005b838110156114805760006114218484848181106111c557fe5b6001600160a01b031614156114485760405162461bcd60e51b815260040161028c906125eb565b61147885858381811061145757fe5b905060200201602081019061146c9190611bae565b84848481811061132157fe5b600101611408565b5050505050565b600080828411156114a35761149c8484611987565b90506114b0565b6114ad8385611987565b90505b6114e0612710610b3a857f0000000000000000000000000000000000000000000000000000000000000000611565565b1090505b92915050565b6114f3826119af565b6001600160a01b0382166000818152600260205260409081902080546001600160a81b0316600160a81b6001600160581b03861602179055517fe4e8751d7ee9680c15b1a348b174e860467c86da7f4da037714ff62621947fb590611559908490612609565b60405180910390a25050565b600082611574575060006114e4565b8282028284828161158157fe5b041461159f5760405162461bcd60e51b815260040161028c9061256b565b9392505050565b60008082116115c75760405162461bcd60e51b815260040161028c9061253b565b8183816115d057fe5b049392505050565b6000811561169e576115e9846119af565b836001600160a01b031663bb7b8b806040518163ffffffff1660e01b815260040160206040518083038186803b15801561162257600080fd5b505afa158015611636573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061165a9190611ec6565b9050836001600160a01b03167fe4e8751d7ee9680c15b1a348b174e860467c86da7f4da037714ff62621947fb5826040516116959190612609565b60405180910390a25b6040518060600160405280846001600160a01b03168152602001846001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b1580156116f157600080fd5b505afa158015611705573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117299190611ee4565b60ff90811682526001600160581b038481166020938401526001600160a01b03888116600081815260028652604080822088518154988a0151998301516001600160a01b03199099169086161760ff60a01b1916600160a01b9990971698909802959095176001600160a81b0316600160a81b96909416959095029290921790945590519286169290917fd748ce6086753f34f4a44a74c6e4ca397bcb452a0ce8389ba826794b0bd77dc391a350505050565b6000816001600160a01b031663bb7b8b806040518163ffffffff1660e01b815260040160206040518083038186803b15801561181757600080fd5b505afa15801561182b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061184f9190611ec6565b1161060d5760405162461bcd60e51b815260040161028c9061254b565b600061187783610992565b6001600160a01b03161461189d5760405162461bcd60e51b815260040161028c906125bb565b816001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b1580156118d657600080fd5b505afa1580156118ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061190e9190611ee4565b60ff166012146119305760405162461bcd60e51b815260040161028c9061257b565b6001600160a01b0382811660008181526001602052604080822080546001600160a01b0319169486169485179055517faa4ae250fb435bb4b31ed0b95822bc179fc6c5dd0c727c3ffe08d444025efd989190a35050565b6000828211156119a95760405162461bcd60e51b815260040161028c9061251b565b50900390565b6119b7610d88565b6001600160a01b031663e4e67c0f826040518263ffffffff1660e01b81526004016119e291906124aa565b600060405180830381600087803b1580156119fc57600080fd5b505af1158015611480573d6000803e3d6000fd5b604080516060810182526000808252602082018190529181019190915290565b604051806101400160405280600a906020820280368337509192915050565b80356114e4816126a4565b80516114e4816126a4565b600082601f830112611a7657600080fd5b600a611a89611a848261263d565b612617565b91508183856020840282011115611a9f57600080fd5b60005b83811015611acb5781611ab58882611a5a565b8452506020928301929190910190600101611aa2565b5050505092915050565b60008083601f840112611ae757600080fd5b5081356001600160401b03811115611afe57600080fd5b602083019150836020820283011115610bbb57600080fd5b600082601f830112611b2757600080fd5b600a611b35611a848261263d565b91508183856020840282011115611b4b57600080fd5b60005b83811015611acb5781611b618882611b82565b8452506020928301929190910190600101611b4e565b80356114e4816126b8565b80516114e4816126c1565b80356114e4816126ca565b80516114e4816126ca565b80516114e4816126d3565b600060208284031215611bc057600080fd5b6000611bcc8484611a4f565b949350505050565b600060208284031215611be657600080fd5b6000611bcc8484611a5a565b60008060408385031215611c0557600080fd5b6000611c118585611a4f565b9250506020611c2285828601611b8d565b9150509250929050565b6000806102808385031215611c4057600080fd5b6000611c4c8585611a65565b925050610140611c2285828601611b16565b60008060208385031215611c7157600080fd5b82356001600160401b03811115611c8757600080fd5b611c9385828601611ad5565b92509250509250929050565b60008060008060408587031215611cb557600080fd5b84356001600160401b03811115611ccb57600080fd5b611cd787828801611ad5565b945094505060208501356001600160401b03811115611cf557600080fd5b611d0187828801611ad5565b95989497509550505050565b60008060008060008060608789031215611d2657600080fd5b86356001600160401b03811115611d3c57600080fd5b611d4889828a01611ad5565b965096505060208701356001600160401b03811115611d6657600080fd5b611d7289828a01611ad5565b945094505060408701356001600160401b03811115611d9057600080fd5b611d9c89828a01611ad5565b92509250509295509295509295565b60008060008060008060008060008060a08b8d031215611dca57600080fd5b8a356001600160401b03811115611de057600080fd5b611dec8d828e01611ad5565b9a509a505060208b01356001600160401b03811115611e0a57600080fd5b611e168d828e01611ad5565b985098505060408b01356001600160401b03811115611e3457600080fd5b611e408d828e01611ad5565b965096505060608b01356001600160401b03811115611e5e57600080fd5b611e6a8d828e01611ad5565b945094505060808b01356001600160401b03811115611e8857600080fd5b611e948d828e01611ad5565b92509250509295989b9194979a5092959850565b600060208284031215611eba57600080fd5b6000611bcc8484611b77565b600060208284031215611ed857600080fd5b6000611bcc8484611b98565b600060208284031215611ef657600080fd5b6000611bcc8484611ba3565b6000611f0e8383611f22565b505060200190565b6000611f0e838361248f565b611f2b8161266d565b82525050565b6000611f3c82612660565b611f468185612664565b9350611f518361265a565b8060005b83811015611f7f578151611f698882611f02565b9750611f748361265a565b925050600101611f55565b509495945050505050565b6000611f9582612660565b611f9f8185612664565b9350611faa8361265a565b8060005b83811015611f7f578151611fc28882611f16565b9750611fcd8361265a565b925050600101611fae565b611f2b81612678565b6000611fee603283612664565b7f63616c63556e6465726c79696e6756616c7565733a205f64657269766174697681527119481a5cc81b9bdd081cdd5c1c1bdc9d195960721b602082015260400192915050565b6000612042604983612664565b7f6f6e6c7946756e644465706c6f7965724f776e65723a204f6e6c79207468652081527f46756e644465706c6f796572206f776e65722063616e2063616c6c207468697360208201526810333ab731ba34b7b760b91b604082015260600192915050565b60006120b3601a83612664565b7f5f5f616464506f6f6c733a20556e657175616c20617272617973000000000000815260200192915050565b60006120ec601e83612664565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000612125602083612664565b7f5f5f6164644761756765546f6b656e733a20556e657175616c20617272617973815260200192915050565b600061215e601a83612664565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b6000612197602983612664565b7f5f5f76616c6964617465506f6f6c436f6d7061746962696c6974793a20496e638152686f6d70617469626c6560b81b602082015260400192915050565b60006121e2601e83612664565b7f5f5f616464506f6f6c733a20416c726561647920726567697374657265640000815260200192915050565b600061221b602183612664565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b600061225e601f83612664565b7f5f5f616464446572697661746976653a204e6f742031382d646563696d616c00815260200192915050565b6000612297601983612664565b7f5f5f616464506f6f6c733a20456d707479206c70546f6b656e00000000000000815260200192915050565b60006122d0602a83612664565b7f5f5f76616c696461746547617567654d61696e52656769737472793a20496e76815269616c696420676175676560b01b602082015260400192915050565b600061231c603583612664565b7f5f5f76616c696461746547617567654d657461706f6f6c466163746f727952658152746769737472793a20496e76616c696420676175676560581b602082015260400192915050565b6000612373601f83612664565b7f5f5f616464446572697661746976653a20416c72656164792065786973747300815260200192915050565b60006123ac601883612664565b7f616464506f6f6c733a20496e76616c696420696e707574730000000000000000815260200192915050565b60006123e5601e83612664565b7f757064617465506f6f6c496e666f3a20556e657175616c206172726179730000815260200192915050565b600061241e602583612664565b7f5f5f6164644761756765546f6b656e733a20506f6f6c206e6f742072656769738152641d195c995960da1b602082015260400192915050565b805160608301906124698482611f22565b50602082015161247c60208501826124a1565b506040820151610ec46040850182612498565b611f2b8161268f565b611f2b81612698565b611f2b81612692565b602081016114e48284611f22565b604080825281016124c98185611f31565b90508181036020830152611bcc8184611f8a565b602081016114e48284611fd8565b602080825281016114e481611fe1565b602080825281016114e481612035565b602080825281016114e4816120a6565b602080825281016114e4816120df565b602080825281016114e481612118565b602080825281016114e481612151565b602080825281016114e48161218a565b602080825281016114e4816121d5565b602080825281016114e48161220e565b602080825281016114e481612251565b602080825281016114e48161228a565b602080825281016114e4816122c3565b602080825281016114e48161230f565b602080825281016114e481612366565b602080825281016114e48161239f565b602080825281016114e4816123d8565b602080825281016114e481612411565b606081016114e48284612458565b602081016114e4828461248f565b6040518181016001600160401b038111828210171561263557600080fd5b604052919050565b60006001600160401b0382111561265357600080fd5b5060200290565b60200190565b5190565b90815260200190565b60006114e482612683565b151590565b600f0b90565b6001600160a01b031690565b90565b60ff1690565b6001600160581b031690565b6126ad8161266d565b811461060d57600080fd5b6126ad81612678565b6126ad8161267d565b6126ad8161268f565b6126ad8161269256fea164736f6c634300060c000a", - "sourceMap": "941:22144:242:-:0;;;2659:408;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;864:29:358;;;;;;;;2874:67:242;;;;::::1;::::0;2951::::1;::::0;;;3029:31:::1;3049:10:::0;3029:19:::1;:31::i;:::-;2659:408:::0;;;;941:22144;;18001:158;18072:14;:31;;-1:-1:-1;;;;;;18072:31:242;-1:-1:-1;;;;;18072:31:242;;;;;18119:33;;;;;;18072:31;;18119:33;:::i;:::-;;;;;;;;18001:158;:::o;5:134:-1:-;83:13;;101:33;83:13;101:33;:::i;:::-;68:71;;;;:::o;146:134::-;224:13;;242:33;224:13;242:33;:::i;287:672::-;;;;;453:3;441:9;432:7;428:23;424:33;421:2;;;470:1;467;460:12;421:2;505:1;522:64;578:7;558:9;522:64;:::i;:::-;512:74;;484:108;623:2;641:64;697:7;688:6;677:9;673:22;641:64;:::i;:::-;631:74;;602:109;742:2;760:64;816:7;807:6;796:9;792:22;760:64;:::i;:::-;750:74;;721:109;861:2;879:64;935:7;926:6;915:9;911:22;879:64;:::i;:::-;869:74;;840:109;415:544;;;;;;;:::o;966:113::-;1049:24;1067:5;1049:24;:::i;:::-;1044:3;1037:37;1031:48;;:::o;1086:222::-;1213:2;1198:18;;1227:71;1202:9;1271:6;1227:71;:::i;1315:91::-;;-1:-1;;;;;1475:54;;1377:24;1458:76::o;1541:72::-;1603:5;1586:27::o;1620:117::-;1689:24;1707:5;1689:24;:::i;:::-;1682:5;1679:35;1669:2;;1728:1;1725;1718:12;1669:2;1663:74;:::o;1744:117::-;1813:24;1831:5;1813:24;:::i;1787:74::-;941:22144:242;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106101005760003560e01c8063727212f6116100975780639be918e6116100665780639be918e614610206578063bb5c7b1514610226578063f044506b1461022e578063f6d959c31461024157610100565b8063727212f6146101c2578063893d20e8146101e35780638f72b136146101eb57806397c0ac87146101fe57610100565b80634b164140116100d35780634b1641401461017657806351e7d01f14610189578063540eaddc1461019c5780636a2175c0146101af57610100565b80630254f0541461010557806305ecc2d41461011a57806306bfa9381461012d5780631f5bce5514610156575b600080fd5b610118610113366004611dab565b610254565b005b610118610128366004611bae565b6105cc565b61014061013b366004611bae565b610610565b60405161014d91906125fb565b60405180910390f35b610169610164366004611bae565b61066e565b60405161014d91906124aa565b610118610184366004611c5e565b61068c565b610118610197366004611c9f565b6107c0565b6101186101aa366004611dab565b61093c565b6101696101bd366004611bae565b610992565b6101d56101d0366004611bf2565b6109b0565b60405161014d9291906124b8565b610169610bc2565b6101186101f9366004611c5e565b610c5a565b610169610d47565b610219610214366004611bae565b610d6b565b60405161014d91906124dd565b610169610d88565b61011861023c366004611d0d565b610d97565b61011861024f366004611c9f565b610e80565b61025c610bc2565b6001600160a01b0316336001600160a01b0316146102955760405162461bcd60e51b815260040161028c906124fb565b60405180910390fd5b600061029f610eca565b905060006102ab610f25565b905060005b8b8110156105ab57826001600160a01b031663379510498e8e848181106102d357fe5b90506020020160208101906102e89190611bae565b6040518263ffffffff1660e01b815260040161030491906124aa565b60206040518083038186803b15801561031c57600080fd5b505afa158015610330573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103549190611bd4565b6001600160a01b031687878381811061036957fe5b905060200201602081019061037e9190611bae565b6001600160a01b0316141561040e57600085858381811061039b57fe5b90506020020160208101906103b09190611bae565b6001600160a01b031614610409576104098585838181106103cd57fe5b90506020020160208101906103e29190611bae565b8e8e848181106103ee57fe5b90506020020160208101906104039190611bae565b85610f8d565b6105a3565b8c8c8281811061041a57fe5b905060200201602081019061042f9190611bae565b6001600160a01b031687878381811061044457fe5b90506020020160208101906104599190611bae565b6001600160a01b031614801561050a57506000826001600160a01b031663940494f18f8f8581811061048757fe5b905060200201602081019061049c9190611bae565b6040518263ffffffff1660e01b81526004016104b891906124aa565b60206040518083038186803b1580156104d057600080fd5b505afa1580156104e4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105089190611ec6565b115b1561058b57600085858381811061051d57fe5b90506020020160208101906105329190611bae565b6001600160a01b0316146104095761040985858381811061054f57fe5b90506020020160208101906105649190611bae565b8e8e8481811061057057fe5b90506020020160208101906105859190611bae565b84611073565b60405162461bcd60e51b815260040161028c906125cb565b6001016102b0565b506105be8c8c8c8c8c8c8c8c8c8c61111f565b505050505050505050505050565b6105d4610bc2565b6001600160a01b0316336001600160a01b0316146106045760405162461bcd60e51b815260040161028c906124fb565b61060d81611390565b50565b610618611a10565b506001600160a01b03908116600090815260026020908152604091829020825160608101845290549384168152600160a01b840460ff1691810191909152600160a81b9092046001600160581b03169082015290565b6001600160a01b039081166000908152600360205260409020541690565b610694610bc2565b6001600160a01b0316336001600160a01b0316146106c45760405162461bcd60e51b815260040161028c906124fb565b60005b818110156107bb57600260008484848181106106df57fe5b90506020020160208101906106f49190611bae565b6001600160a01b031681526020810191909152604001600090812081905560039084848481811061072157fe5b90506020020160208101906107369190611bae565b6001600160a01b03168152602081019190915260400160002080546001600160a01b031916905582828281811061076957fe5b905060200201602081019061077e9190611bae565b6001600160a01b03167f4106dfdaa577573db51c0ca93f766dbedfa0758faa2e7f5bcdb7c142be803c3f60405160405180910390a26001016106c7565b505050565b6107c8610bc2565b6001600160a01b0316336001600160a01b0316146107f85760405162461bcd60e51b815260040161028c906124fb565b6000610802610eca565b9050600061080e610f25565b905060005b858110156109275786868281811061082757fe5b905060200201602081019061083c9190611bae565b6001600160a01b0316826001600160a01b031663daf297b987878581811061086057fe5b90506020020160208101906108759190611bae565b6040518263ffffffff1660e01b815260040161089191906124aa565b60206040518083038186803b1580156108a957600080fd5b505afa1580156108bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108e19190611bd4565b6001600160a01b03161461091f5761091f8787838181106108fe57fe5b90506020020160208101906109139190611bae565b8686848181106103ee57fe5b600101610813565b50610934868686866113e6565b505050505050565b610944610bc2565b6001600160a01b0316336001600160a01b0316146109745760405162461bcd60e51b815260040161028c906124fb565b6109868a8a8a8a8a8a8a8a8a8a61111f565b50505050505050505050565b6001600160a01b039081166000908152600160205260409020541690565b60608060006109be85610992565b90506001600160a01b0381166109e65760405162461bcd60e51b815260040161028c906124eb565b6109ee611a10565b6109f782610610565b90506000826001600160a01b031663bb7b8b806040518163ffffffff1660e01b815260040160206040518083038186803b158015610a3457600080fd5b505afa158015610a48573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a6c9190611ec6565b9050600082604001516001600160581b0316118015610a9d5750610a9d8183604001516001600160581b0316611487565b15610aac57610aac83826114ea565b6040805160018082528183019092529060208083019080368337019050509450816000015185600081518110610ade57fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509350816020015160ff1660121415610b5e57610b40670de0b6b3a7640000610b3a8884611565565b906115a6565b84600081518110610b4d57fe5b602002602001018181525050610bb7565b610b9d670de0b6b3a7640000610b3a670de0b6b3a7640000610b3a866020015160ff16600a0a610b97878d61156590919063ffffffff16565b90611565565b84600081518110610baa57fe5b6020026020010181815250505b5050505b9250929050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b158015610c1d57600080fd5b505afa158015610c31573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c559190611bd4565b905090565b610c62610bc2565b6001600160a01b0316336001600160a01b031614610c925760405162461bcd60e51b815260040161028c906124fb565b60005b818110156107bb5760016000848484818110610cad57fe5b9050602002016020810190610cc29190611bae565b6001600160a01b03168152602081019190915260400160002080546001600160a01b0319169055828282818110610cf557fe5b9050602002016020810190610d0a9190611bae565b6001600160a01b03167fc15eb25d807b570f4567baf6e97c7b26d58a7d0512dc85e8db15375a056b860460405160405180910390a2600101610c95565b7f000000000000000000000000000000000000000000000000000000000000000090565b600080610d7783610992565b6001600160a01b0316141592915050565b6000546001600160a01b031690565b610d9f610bc2565b6001600160a01b0316336001600160a01b031614610dcf5760405162461bcd60e51b815260040161028c906124fb565b8483148015610ddd57508481145b610df95760405162461bcd60e51b815260040161028c906125db565b60005b85811015610e7757610e6f878783818110610e1357fe5b9050602002016020810190610e289190611bae565b868684818110610e3457fe5b9050602002016020810190610e499190611bae565b858585818110610e5557fe5b9050602002016020810190610e6a9190611ea8565b6115d8565b600101610dfc565b50505050505050565b610e88610bc2565b6001600160a01b0316336001600160a01b031614610eb85760405162461bcd60e51b815260040161028c906124fb565b610ec4848484846113e6565b50505050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a262904b6040518163ffffffff1660e01b815260040160206040518083038186803b158015610c1d57600080fd5b60405163124fd3dd60e21b81526000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063493f4f7490610f7590600390600401612609565b60206040518083038186803b158015610c1d57600080fd5b610f95611a30565b6040516356059ffb60e01b81526001600160a01b038316906356059ffb90610fc19086906004016124aa565b6102806040518083038186803b158015610fda57600080fd5b505afa158015610fee573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110129190611c2c565b50905060005b600a81101561105a578181600a811061102d57fe5b60200201516001600160a01b0316856001600160a01b031614156110525750506107bb565b600101611018565b5060405162461bcd60e51b815260040161028c9061259b565b60405163daf297b960e01b81526001600160a01b0382169063daf297b99061109f9085906004016124aa565b60206040518083038186803b1580156110b757600080fd5b505afa1580156110cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110ef9190611bd4565b6001600160a01b0316836001600160a01b0316146107bb5760405162461bcd60e51b815260040161028c906125ab565b888714801561112d57508885145b801561113857508883145b801561114357508881145b61115f5760405162461bcd60e51b815260040161028c9061250b565b60005b8981101561138357600085858381811061117857fe5b905060200201602081019061118d9190611bae565b6001600160a01b031614156111b45760405162461bcd60e51b815260040161028c9061258b565b60006111da8c8c848181106111c557fe5b90506020020160208101906101649190611bae565b6001600160a01b0316146112005760405162461bcd60e51b815260040161028c9061255b565b6112298b8b8381811061120f57fe5b90506020020160208101906112249190611bae565b6117dc565b61127a8b8b8381811061123857fe5b905060200201602081019061124d9190611bae565b8a8a8481811061125957fe5b905060200201602081019061126e9190611bae565b898985818110610e5557fe5b84848281811061128657fe5b905060200201602081019061129b9190611bae565b600360008d8d858181106112ab57fe5b90506020020160208101906112c09190611bae565b6001600160a01b039081168252602082019290925260400160002080546001600160a01b0319169290911691909117905561133b85858381811061130057fe5b90506020020160208101906113159190611bae565b8c8c8481811061132157fe5b90506020020160208101906113369190611bae565b61186c565b600083838381811061134957fe5b905060200201602081019061135e9190611bae565b6001600160a01b03161461137b5761137b83838381811061130057fe5b600101611162565b5050505050505050505050565b600080546001600160a01b0319166001600160a01b0383161790556040517f285938205335d4bea92402795be7d763d8fdcf6b363506d1e419f026c37f44bd906113db9083906124aa565b60405180910390a150565b8281146114055760405162461bcd60e51b815260040161028c9061252b565b60005b838110156114805760006114218484848181106111c557fe5b6001600160a01b031614156114485760405162461bcd60e51b815260040161028c906125eb565b61147885858381811061145757fe5b905060200201602081019061146c9190611bae565b84848481811061132157fe5b600101611408565b5050505050565b600080828411156114a35761149c8484611987565b90506114b0565b6114ad8385611987565b90505b6114e0612710610b3a857f0000000000000000000000000000000000000000000000000000000000000000611565565b1090505b92915050565b6114f3826119af565b6001600160a01b0382166000818152600260205260409081902080546001600160a81b0316600160a81b6001600160581b03861602179055517fe4e8751d7ee9680c15b1a348b174e860467c86da7f4da037714ff62621947fb590611559908490612609565b60405180910390a25050565b600082611574575060006114e4565b8282028284828161158157fe5b041461159f5760405162461bcd60e51b815260040161028c9061256b565b9392505050565b60008082116115c75760405162461bcd60e51b815260040161028c9061253b565b8183816115d057fe5b049392505050565b6000811561169e576115e9846119af565b836001600160a01b031663bb7b8b806040518163ffffffff1660e01b815260040160206040518083038186803b15801561162257600080fd5b505afa158015611636573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061165a9190611ec6565b9050836001600160a01b03167fe4e8751d7ee9680c15b1a348b174e860467c86da7f4da037714ff62621947fb5826040516116959190612609565b60405180910390a25b6040518060600160405280846001600160a01b03168152602001846001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b1580156116f157600080fd5b505afa158015611705573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117299190611ee4565b60ff90811682526001600160581b038481166020938401526001600160a01b03888116600081815260028652604080822088518154988a0151998301516001600160a01b03199099169086161760ff60a01b1916600160a01b9990971698909802959095176001600160a81b0316600160a81b96909416959095029290921790945590519286169290917fd748ce6086753f34f4a44a74c6e4ca397bcb452a0ce8389ba826794b0bd77dc391a350505050565b6000816001600160a01b031663bb7b8b806040518163ffffffff1660e01b815260040160206040518083038186803b15801561181757600080fd5b505afa15801561182b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061184f9190611ec6565b1161060d5760405162461bcd60e51b815260040161028c9061254b565b600061187783610992565b6001600160a01b03161461189d5760405162461bcd60e51b815260040161028c906125bb565b816001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b1580156118d657600080fd5b505afa1580156118ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061190e9190611ee4565b60ff166012146119305760405162461bcd60e51b815260040161028c9061257b565b6001600160a01b0382811660008181526001602052604080822080546001600160a01b0319169486169485179055517faa4ae250fb435bb4b31ed0b95822bc179fc6c5dd0c727c3ffe08d444025efd989190a35050565b6000828211156119a95760405162461bcd60e51b815260040161028c9061251b565b50900390565b6119b7610d88565b6001600160a01b031663e4e67c0f826040518263ffffffff1660e01b81526004016119e291906124aa565b600060405180830381600087803b1580156119fc57600080fd5b505af1158015611480573d6000803e3d6000fd5b604080516060810182526000808252602082018190529181019190915290565b604051806101400160405280600a906020820280368337509192915050565b80356114e4816126a4565b80516114e4816126a4565b600082601f830112611a7657600080fd5b600a611a89611a848261263d565b612617565b91508183856020840282011115611a9f57600080fd5b60005b83811015611acb5781611ab58882611a5a565b8452506020928301929190910190600101611aa2565b5050505092915050565b60008083601f840112611ae757600080fd5b5081356001600160401b03811115611afe57600080fd5b602083019150836020820283011115610bbb57600080fd5b600082601f830112611b2757600080fd5b600a611b35611a848261263d565b91508183856020840282011115611b4b57600080fd5b60005b83811015611acb5781611b618882611b82565b8452506020928301929190910190600101611b4e565b80356114e4816126b8565b80516114e4816126c1565b80356114e4816126ca565b80516114e4816126ca565b80516114e4816126d3565b600060208284031215611bc057600080fd5b6000611bcc8484611a4f565b949350505050565b600060208284031215611be657600080fd5b6000611bcc8484611a5a565b60008060408385031215611c0557600080fd5b6000611c118585611a4f565b9250506020611c2285828601611b8d565b9150509250929050565b6000806102808385031215611c4057600080fd5b6000611c4c8585611a65565b925050610140611c2285828601611b16565b60008060208385031215611c7157600080fd5b82356001600160401b03811115611c8757600080fd5b611c9385828601611ad5565b92509250509250929050565b60008060008060408587031215611cb557600080fd5b84356001600160401b03811115611ccb57600080fd5b611cd787828801611ad5565b945094505060208501356001600160401b03811115611cf557600080fd5b611d0187828801611ad5565b95989497509550505050565b60008060008060008060608789031215611d2657600080fd5b86356001600160401b03811115611d3c57600080fd5b611d4889828a01611ad5565b965096505060208701356001600160401b03811115611d6657600080fd5b611d7289828a01611ad5565b945094505060408701356001600160401b03811115611d9057600080fd5b611d9c89828a01611ad5565b92509250509295509295509295565b60008060008060008060008060008060a08b8d031215611dca57600080fd5b8a356001600160401b03811115611de057600080fd5b611dec8d828e01611ad5565b9a509a505060208b01356001600160401b03811115611e0a57600080fd5b611e168d828e01611ad5565b985098505060408b01356001600160401b03811115611e3457600080fd5b611e408d828e01611ad5565b965096505060608b01356001600160401b03811115611e5e57600080fd5b611e6a8d828e01611ad5565b945094505060808b01356001600160401b03811115611e8857600080fd5b611e948d828e01611ad5565b92509250509295989b9194979a5092959850565b600060208284031215611eba57600080fd5b6000611bcc8484611b77565b600060208284031215611ed857600080fd5b6000611bcc8484611b98565b600060208284031215611ef657600080fd5b6000611bcc8484611ba3565b6000611f0e8383611f22565b505060200190565b6000611f0e838361248f565b611f2b8161266d565b82525050565b6000611f3c82612660565b611f468185612664565b9350611f518361265a565b8060005b83811015611f7f578151611f698882611f02565b9750611f748361265a565b925050600101611f55565b509495945050505050565b6000611f9582612660565b611f9f8185612664565b9350611faa8361265a565b8060005b83811015611f7f578151611fc28882611f16565b9750611fcd8361265a565b925050600101611fae565b611f2b81612678565b6000611fee603283612664565b7f63616c63556e6465726c79696e6756616c7565733a205f64657269766174697681527119481a5cc81b9bdd081cdd5c1c1bdc9d195960721b602082015260400192915050565b6000612042604983612664565b7f6f6e6c7946756e644465706c6f7965724f776e65723a204f6e6c79207468652081527f46756e644465706c6f796572206f776e65722063616e2063616c6c207468697360208201526810333ab731ba34b7b760b91b604082015260600192915050565b60006120b3601a83612664565b7f5f5f616464506f6f6c733a20556e657175616c20617272617973000000000000815260200192915050565b60006120ec601e83612664565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000612125602083612664565b7f5f5f6164644761756765546f6b656e733a20556e657175616c20617272617973815260200192915050565b600061215e601a83612664565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b6000612197602983612664565b7f5f5f76616c6964617465506f6f6c436f6d7061746962696c6974793a20496e638152686f6d70617469626c6560b81b602082015260400192915050565b60006121e2601e83612664565b7f5f5f616464506f6f6c733a20416c726561647920726567697374657265640000815260200192915050565b600061221b602183612664565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b600061225e601f83612664565b7f5f5f616464446572697661746976653a204e6f742031382d646563696d616c00815260200192915050565b6000612297601983612664565b7f5f5f616464506f6f6c733a20456d707479206c70546f6b656e00000000000000815260200192915050565b60006122d0602a83612664565b7f5f5f76616c696461746547617567654d61696e52656769737472793a20496e76815269616c696420676175676560b01b602082015260400192915050565b600061231c603583612664565b7f5f5f76616c696461746547617567654d657461706f6f6c466163746f727952658152746769737472793a20496e76616c696420676175676560581b602082015260400192915050565b6000612373601f83612664565b7f5f5f616464446572697661746976653a20416c72656164792065786973747300815260200192915050565b60006123ac601883612664565b7f616464506f6f6c733a20496e76616c696420696e707574730000000000000000815260200192915050565b60006123e5601e83612664565b7f757064617465506f6f6c496e666f3a20556e657175616c206172726179730000815260200192915050565b600061241e602583612664565b7f5f5f6164644761756765546f6b656e733a20506f6f6c206e6f742072656769738152641d195c995960da1b602082015260400192915050565b805160608301906124698482611f22565b50602082015161247c60208501826124a1565b506040820151610ec46040850182612498565b611f2b8161268f565b611f2b81612698565b611f2b81612692565b602081016114e48284611f22565b604080825281016124c98185611f31565b90508181036020830152611bcc8184611f8a565b602081016114e48284611fd8565b602080825281016114e481611fe1565b602080825281016114e481612035565b602080825281016114e4816120a6565b602080825281016114e4816120df565b602080825281016114e481612118565b602080825281016114e481612151565b602080825281016114e48161218a565b602080825281016114e4816121d5565b602080825281016114e48161220e565b602080825281016114e481612251565b602080825281016114e48161228a565b602080825281016114e4816122c3565b602080825281016114e48161230f565b602080825281016114e481612366565b602080825281016114e48161239f565b602080825281016114e4816123d8565b602080825281016114e481612411565b606081016114e48284612458565b602081016114e4828461248f565b6040518181016001600160401b038111828210171561263557600080fd5b604052919050565b60006001600160401b0382111561265357600080fd5b5060200290565b60200190565b5190565b90815260200190565b60006114e482612683565b151590565b600f0b90565b6001600160a01b031690565b90565b60ff1690565b6001600160581b031690565b6126ad8161266d565b811461060d57600080fd5b6126ad81612678565b6126ad8161267d565b6126ad8161268f565b6126ad8161269256fea164736f6c634300060c000a", - "sourceMap": "941:22144:242:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9015:1677;;;;;;:::i;:::-;;:::i;:::-;;13296:134;;;;;;:::i;:::-;;:::i;22682:129::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22424:125;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;12913:279::-;;;;;;:::i;:::-;;:::i;6682:609::-;;;;;;:::i;:::-;;:::i;11622:463::-;;;;;;:::i;:::-;;:::i;22943:140::-;;;;;;:::i;:::-;;:::i;3465:1940::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;1064:120:358:-;;;:::i;12400:272:242:-;;;;;;:::i;:::-;;:::i;1378:108:358:-;;;:::i;5578:159:242:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;22193:108::-;;;:::i;13769:554::-;;;;;;:::i;:::-;;:::i;7851:209::-;;;;;;:::i;:::-;;:::i;9015:1677::-;679:10:358;:8;:10::i;:::-;-1:-1:-1;;;;;665:24:358;:10;-1:-1:-1;;;;;665:24:358;;644:144;;;;-1:-1:-1;;;644:144:358;;;;;;;:::i;:::-;;;;;;;;;9293:35:242::1;9331:27;:25;:27::i;:::-;9293:65;;9368:45;9416:38;:36;:38::i;:::-;9368:86;;9470:9;9465:1049;9481:17:::0;;::::1;9465:1049;;;9609:16;-1:-1:-1::0;;;;;9609:29:242::1;;9639:6;;9646:1;9639:9;;;;;;;;;;;;;;;;;;;;:::i;:::-;9609:40;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9593:56:242::1;:9;;9603:1;9593:12;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9593:56:242::1;;9589:915;;;9734:1;9707:12:::0;;9720:1;9707:15;;::::1;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9707:29:242::1;;9703:149;;9760:73;9788:12;;9801:1;9788:15;;;;;;;;;;;;;;;;;;;;:::i;:::-;9805:6;;9812:1;9805:9;;;;;;;;;;;;;;;;;;;;:::i;:::-;9816:16;9760:27;:73::i;:::-;9589:915;;;9892:6;;9899:1;9892:9;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9876:25:242::1;:9;;9886:1;9876:12;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9876:25:242::1;;:71;;;;;9946:1;9905:15;-1:-1:-1::0;;;;;9905:27:242::1;;9933:6;;9940:1;9933:9;;;;;;;;;;;;;;;;;;;;:::i;:::-;9905:38;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:42;9876:71;9872:632;;;10195:1;10168:12:::0;;10181:1;10168:15;;::::1;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10168:29:242::1;;10164:253;;10221:177;10285:12;;10298:1;10285:15;;;;;;;;;;;;;;;;;;;;:::i;:::-;10326:6;;10333:1;10326:9;;;;;;;;;;;;;;;;;;;;:::i;:::-;10361:15;10221:38;:177::i;9872:632::-;10455:34;;-1:-1:-1::0;;;10455:34:242::1;;;;;;;:::i;9872:632::-;9500:3;;9465:1049;;;;10524:161;10548:6;;10568:21;;10603:23;;10640:9;;10663:12;;10524:10;:161::i;:::-;798:1:358;;9015:1677:242::0;;;;;;;;;;:::o;13296:134::-;679:10:358;:8;:10::i;:::-;-1:-1:-1;;;;;665:24:358;:10;-1:-1:-1;;;;;665:24:358;;644:144;;;;-1:-1:-1;;;644:144:358;;;;;;;:::i;:::-;13388:35:242::1;13408:14;13388:19;:35::i;:::-;13296:134:::0;:::o;22682:129::-;22739:25;;:::i;:::-;-1:-1:-1;;;;;;22783:21:242;;;;;;;:14;:21;;;;;;;;;22776:28;;;;;;;;;;;;;;-1:-1:-1;;;22776:28:242;;;;;;;;;;;-1:-1:-1;;;22776:28:242;;;-1:-1:-1;;;;;22776:28:242;;;;;;22682:129::o;22424:125::-;-1:-1:-1;;;;;22522:20:242;;;22487:16;22522:20;;;:13;:20;;;;;;;;22424:125::o;12913:279::-;679:10:358;:8;:10::i;:::-;-1:-1:-1;;;;;665:24:358;:10;-1:-1:-1;;;;;665:24:358;;644:144;;;;-1:-1:-1;;;644:144:358;;;;;;;:::i;:::-;13007:9:242::1;13002:184;13018:17:::0;;::::1;13002:184;;;13063:14;:25;13078:6;;13085:1;13078:9;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;13063:25:242::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;13063:25:242;;;13056:32;;;13109:13:::1;::::0;13123:6;;13130:1;13123:9;;::::1;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;13109:24:242::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;13109:24:242;13102:31;;-1:-1:-1;;;;;;13102:31:242::1;::::0;;13165:6;;13172:1;13165:9;;::::1;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;13153:22:242::1;;;;;;;;;;;13037:3;;13002:184;;;;12913:279:::0;;:::o;6682:609::-;679:10:358;:8;:10::i;:::-;-1:-1:-1;;;;;665:24:358;:10;-1:-1:-1;;;;;665:24:358;;644:144;;;;-1:-1:-1;;;644:144:358;;;;;;;:::i;:::-;6827:35:242::1;6865:27;:25;:27::i;:::-;6827:65;;6902:45;6950:38;:36;:38::i;:::-;6902:86;;7004:9;6999:237;7015:23:::0;;::::1;6999:237;;;7103:12;;7116:1;7103:15;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;7063:55:242::1;:15;-1:-1:-1::0;;;;;7063:25:242::1;;7089:6;;7096:1;7089:9;;;;;;;;;;;;;;;;;;;;:::i;:::-;7063:36;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;7063:55:242::1;;7059:167;;7138:73;7166:12;;7179:1;7166:15;;;;;;;;;;;;;;;;;;;;:::i;:::-;7183:6;;7190:1;7183:9;;;;;;7138:73;7040:3;;6999:237;;;;7246:38;7263:12;;7277:6;;7246:16;:38::i;:::-;798:1:358;;6682:609:242::0;;;;:::o;11622:463::-;679:10:358;:8;:10::i;:::-;-1:-1:-1;;;;;665:24:358;:10;-1:-1:-1;;;;;665:24:358;;644:144;;;;-1:-1:-1;;;644:144:358;;;;;;;:::i;:::-;11917:161:242::1;11941:6;;11961:21;;11996:23;;12033:9;;12056:12;;11917:10;:161::i;:::-;11622:463:::0;;;;;;;;;;:::o;22943:140::-;-1:-1:-1;;;;;23047:29:242;;;23015:13;23047:29;;;:16;:29;;;;;;;;22943:140::o;3465:1940::-;3594:29;3625:35;3676:12;3691:33;3712:11;3691:20;:33::i;:::-;3676:48;-1:-1:-1;;;;;;3742:18:242;;3734:81;;;;-1:-1:-1;;;3734:81:242;;;;;;;:::i;:::-;3826:24;;:::i;:::-;3853:17;3865:4;3853:11;:17::i;:::-;3826:44;;3881:20;3924:4;-1:-1:-1;;;;;3904:43:242;;:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3881:68;;4534:1;4497:8;:34;;;-1:-1:-1;;;;;4497:38:242;;:193;;;;;4551:139;4603:12;4641:8;:34;;;-1:-1:-1;;;;;4633:43:242;4551:34;:139::i;:::-;4480:295;;;4715:49;4745:4;4751:12;4715:29;:49::i;:::-;4800:16;;;4814:1;4800:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4800:16:242;4785:31;;4844:8;:28;;;4826:12;4839:1;4826:15;;;;;;;;-1:-1:-1;;;;;4826:46:242;;;;:15;;;;;;;;;;:46;4904:16;;;4918:1;4904:16;;;;;;;;;;;;;;4826:15;4904:16;;;;;-1:-1:-1;4904:16:242;4883:37;;4934:8;:36;;;:42;;4974:2;4934:42;4930:417;;;5016:59;1663:6;5016:35;:17;5038:12;5016:21;:35::i;:::-;:39;;:59::i;:::-;4992:18;5011:1;4992:21;;;;;;;;;;;;;:83;;;;;4930:417;;;5130:206;1663:6;5130:165;1663:6;5130:124;5216:8;:36;;;5208:45;;5204:2;:49;5130:52;5169:12;5130:17;:38;;:52;;;;:::i;:::-;:73;;:124::i;:206::-;5106:18;5125:1;5106:21;;;;;;;;;;;;;:230;;;;;4930:417;5357:41;;;3465:1940;;;;;;:::o;1064:120:358:-;1105:14;1152:13;-1:-1:-1;;;;;1138:37:358;;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1131:46;;1064:120;:::o;12400:272:242:-;679:10:358;:8;:10::i;:::-;-1:-1:-1;;;;;665:24:358;:10;-1:-1:-1;;;;;665:24:358;;644:144;;;;-1:-1:-1;;;644:144:358;;;;;;;:::i;:::-;12506:9:242::1;12501:165;12517:23:::0;;::::1;12501:165;;;12568:16;:33;12585:12;;12598:1;12585:15;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12568:33:242::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;12568:33:242;12561:40;;-1:-1:-1;;;;;;12561:40:242::1;::::0;;12639:12;;12652:1;12639:15;;::::1;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12621:34:242::1;;;;;;;;;;;12542:3;;12501:165;;1378:108:358::0;1466:13;1378:108;:::o;5578:159:242:-;5652:17;;5688:28;5709:6;5688:20;:28::i;:::-;-1:-1:-1;;;;;5688:42:242;;;;5578:159;-1:-1:-1;;5578:159:242:o;22193:108::-;22243:18;22280:14;-1:-1:-1;;;;;22280:14:242;22193:108;:::o;13769:554::-;679:10:358;:8;:10::i;:::-;-1:-1:-1;;;;;665:24:358;:10;-1:-1:-1;;;;;665:24:358;;644:144;;;;-1:-1:-1;;;644:144:358;;;;;;;:::i;:::-;13995:45:242;;::::1;:112:::0;::::1;;;-1:-1:-1::0;14060:47:242;;::::1;13995:112;13974:189;;;;-1:-1:-1::0;;;13974:189:242::1;;;;;;;:::i;:::-;14179:9;14174:143;14190:17:::0;;::::1;14174:143;;;14228:78;14242:6;;14249:1;14242:9;;;;;;;;;;;;;;;;;;;;:::i;:::-;14253:21;;14275:1;14253:24;;;;;;;;;;;;;;;;;;;;:::i;:::-;14279:23;;14303:1;14279:26;;;;;;;;;;;;;;;;;;;;:::i;:::-;14228:13;:78::i;:::-;14209:3;;14174:143;;;;13769:554:::0;;;;;;:::o;7851:209::-;679:10:358;:8;:10::i;:::-;-1:-1:-1;;;;;665:24:358;:10;-1:-1:-1;;;;;665:24:358;;644:144;;;;-1:-1:-1;;;644:144:358;;;;;;;:::i;:::-;8015:38:242::1;8032:12;;8046:6;;8015:16;:38::i;:::-;7851:209:::0;;;;:::o;17174:173::-;17233:28;17299:25;-1:-1:-1;;;;;17299:38:242;;:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17425:311;17640:75;;-1:-1:-1;;;17640:75:242;;17519:39;;-1:-1:-1;;;;;17640:25:242;:37;;;;:75;;1540:1;;17640:75;;;:::i;:::-;;;;;;;;;;;;;;;;;;;19679:441;19843:25;;:::i;:::-;19874:39;;-1:-1:-1;;;19874:39:242;;-1:-1:-1;;;;;19874:32:242;;;;;:39;;19907:5;;19874:39;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;19842:71;;;19928:9;19923:128;19943:13;19939:1;:17;19923:128;;;19991:6;19998:1;19991:9;;;;;;;;;;;-1:-1:-1;;;;;19981:19:242;:6;-1:-1:-1;;;;;19981:19:242;;19977:64;;;20020:7;;;;19977:64;19958:3;;19923:128;;;;20061:52;;-1:-1:-1;;;20061:52:242;;;;;;;:::i;20205:362::-;20432:49;;-1:-1:-1;;;20432:49:242;;-1:-1:-1;;;;;20432:42:242;;;;;:49;;20475:5;;20432:49;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;20422:59:242;:6;-1:-1:-1;;;;;20422:59:242;;20401:159;;;;-1:-1:-1;;;20401:159:242;;;;;;;:::i;15578:1530::-;15856:45;;;:112;;;;-1:-1:-1;15921:47:242;;;15856:112;:165;;;;-1:-1:-1;15988:33:242;;;15856:165;:221;;;;-1:-1:-1;16041:36:242;;;15856:221;15835:294;;;;-1:-1:-1;;;15835:294:242;;;;;;;:::i;:::-;16145:9;16140:962;16156:17;;;16140:962;;;16276:1;16252:9;;16262:1;16252:12;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;16252:26:242;;;16244:64;;;;-1:-1:-1;;;16244:64:242;;;;;;;:::i;:::-;16585:1;16545:28;16563:6;;16570:1;16563:9;;;;;;;;;;;;;;;;;;;;:::i;16545:28::-;-1:-1:-1;;;;;16545:42:242;;16537:85;;;;-1:-1:-1;;;16537:85:242;;;;;;;:::i;:::-;16636:38;16664:6;;16671:1;16664:9;;;;;;;;;;;;;;;;;;;;:::i;:::-;16636:27;:38::i;:::-;16723:78;16737:6;;16744:1;16737:9;;;;;;;;;;;;;;;;;;;;:::i;:::-;16748:21;;16770:1;16748:24;;;;;;;;;;;;;;;;;;;;:::i;:::-;16774:23;;16798:1;16774:26;;;;;;16723:78;16842:9;;16852:1;16842:12;;;;;;;;;;;;;;;;;;;;:::i;:::-;16815:13;:24;16829:6;;16836:1;16829:9;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;16815:24:242;;;;;;;;;;;;;;-1:-1:-1;16815:24:242;:39;;-1:-1:-1;;;;;;16815:39:242;;;;;;;;;;;16927:40;16943:9;;16953:1;16943:12;;;;;;;;;;;;;;;;;;;;:::i;:::-;16957:6;;16964:1;16957:9;;;;;;;;;;;;;;;;;;;;:::i;:::-;16927:15;:40::i;:::-;17012:1;16985:12;;16998:1;16985:15;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;16985:29:242;;16981:111;;17034:43;17050:12;;17063:1;17050:15;;;;;;17034:43;16175:3;;16140:962;;;;15578:1530;;;;;;;;;;:::o;18001:158::-;18072:14;:31;;-1:-1:-1;;;;;;18072:31:242;-1:-1:-1;;;;;18072:31:242;;;;;18119:33;;;;;;18072:31;;18119:33;:::i;:::-;;;;;;;;18001:158;:::o;14963:547::-;15075:36;;;15067:81;;;;-1:-1:-1;;;15067:81:242;;;;;;;:::i;:::-;15164:9;15159:345;15175:23;;;15159:345;;;15284:1;15244:28;15262:6;;15269:1;15262:9;;;;;;15244:28;-1:-1:-1;;;;;15244:42:242;;;15219:138;;;;-1:-1:-1;;;15219:138:242;;;;;;;:::i;:::-;15450:43;15466:12;;15479:1;15466:15;;;;;;;;;;;;;;;;;;;;:::i;:::-;15483:6;;15490:1;15483:9;;;;;;15450:43;15200:3;;15159:345;;;;14963:547;;;;:::o;21153:871::-;21307:22;21574:15;21626:26;21603:20;:49;21599:235;;;21678:52;:20;21703:26;21678:24;:52::i;:::-;21668:62;;21599:235;;;21771:52;:26;21802:20;21771:30;:52::i;:::-;21761:62;;21599:235;21885:132;1606:5;21885:65;:26;21916:33;21885:30;:65::i;:132::-;-1:-1:-1;21863:154:242;-1:-1:-1;21153:871:242;;;;;:::o;19188:418::-;19362:33;19389:5;19362:26;:33::i;:::-;-1:-1:-1;;;;;19455:21:242;;;;;;:14;:21;;;;;;;:71;;-1:-1:-1;;;;;19455:71:242;-1:-1:-1;;;;;;;;19455:71:242;;;;;;19542:57;;;;;19455:71;;19542:57;:::i;:::-;;;;;;;;19188:418;;:::o;3538:215:442:-;3596:7;3619:6;3615:20;;-1:-1:-1;3634:1:442;3627:8;;3615:20;3657:5;;;3661:1;3657;:5;:1;3680:5;;;;;:10;3672:56;;;;-1:-1:-1;;;3672:56:442;;;;;;;:::i;:::-;3745:1;3538:215;-1:-1:-1;;;3538:215:442:o;4217:150::-;4275:7;4306:1;4302;:5;4294:44;;;;-1:-1:-1;;;4294:44:442;;;;;;;:::i;:::-;4359:1;4355;:5;;;;;;;4217:150;-1:-1:-1;;;4217:150:442:o;18222:880:242:-;18367:33;18414:22;18410:347;;;18535:33;18562:5;18535:26;:33::i;:::-;18631:5;-1:-1:-1;;;;;18611:44:242;;:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18583:74;;18713:5;-1:-1:-1;;;;;18677:69:242;;18720:25;18677:69;;;;;;:::i;:::-;;;;;;;;18410:347;18791:230;;;;;;;;18835:20;-1:-1:-1;;;;;18791:230:242;;;;;18904:20;-1:-1:-1;;;;;18898:36:242;;:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18791:230;;;;;;-1:-1:-1;;;;;18791:230:242;;;;;;;;-1:-1:-1;;;;;18767:21:242;;;-1:-1:-1;18767:21:242;;;:14;:21;;;;;;:254;;;;;;;;;;;;-1:-1:-1;;;;;;18767:254:242;;;;;;;-1:-1:-1;;;;18767:254:242;-1:-1:-1;;;18767:254:242;;;;;;;;;;;;-1:-1:-1;;;;;18767:254:242;-1:-1:-1;;;18767:254:242;;;;;;;;;;;;;;;19037:58;;;;;;18767:21;;19037:58;;;18222:880;;;;:::o;20716:220::-;20861:1;20832:5;-1:-1:-1;;;;;20812:44:242;;:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:50;20791:138;;;;-1:-1:-1;;;20791:138:242;;;;;;;:::i;14413:481::-;14558:1;14513:33;14534:11;14513:20;:33::i;:::-;-1:-1:-1;;;;;14513:47:242;;14492:125;;;;-1:-1:-1;;;14492:125:242;;;;;;;:::i;:::-;14723:11;-1:-1:-1;;;;;14717:27:242;;:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:35;;14750:2;14717:35;14709:79;;;;-1:-1:-1;;;14709:79:242;;;;;;;:::i;:::-;-1:-1:-1;;;;;14799:29:242;;;;;;;:16;:29;;;;;;:37;;-1:-1:-1;;;;;;14799:37:242;;;;;;;;;14852:35;;;14799:29;14852:35;14413:481;;:::o;3136:155:442:-;3194:7;3226:1;3221;:6;;3213:49;;;;-1:-1:-1;;;3213:49:442;;;;;;;:::i;:::-;-1:-1:-1;3279:5:442;;;3136:155::o;17808:139:242:-;17893:19;:17;:19::i;:::-;-1:-1:-1;;;;;17877:56:242;;17934:5;17877:63;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;5:130::-;72:20;;97:33;72:20;97:33;:::i;142:134::-;220:13;;238:33;220:13;238:33;:::i;303:640::-;;430:3;423:4;415:6;411:17;407:27;397:2;;448:1;445;438:12;397:2;472:4;491:79;506:63;562:6;506:63;:::i;:::-;491:79;:::i;:::-;482:88;;587:5;646:6;693:3;685:4;677:6;673:17;668:3;664:27;661:36;658:2;;;710:1;707;700:12;658:2;735:1;720:217;745:6;742:1;739:13;720:217;;;803:3;825:48;869:3;857:10;825:48;:::i;:::-;813:61;;-1:-1;897:4;888:14;;;;916;;;;;767:1;760:9;720:217;;;724:14;390:553;;;;;;;:::o;969:352::-;;;1099:3;1092:4;1084:6;1080:17;1076:27;1066:2;;1117:1;1114;1107:12;1066:2;-1:-1;1137:20;;-1:-1;;;;;1166:30;;1163:2;;;1209:1;1206;1199:12;1163:2;1243:4;1235:6;1231:17;1219:29;;1294:3;1286:4;1278:6;1274:17;1264:8;1260:32;1257:41;1254:2;;;1311:1;1308;1301:12;1720:637;;1846:3;1839:4;1831:6;1827:17;1823:27;1813:2;;1864:1;1861;1854:12;1813:2;1888:4;1907:78;1922:62;1977:6;1922:62;:::i;1907:78::-;1898:87;;2002:5;2061:6;2108:3;2100:4;2092:6;2088:17;2083:3;2079:27;2076:36;2073:2;;;2125:1;2122;2115:12;2073:2;2150:1;2135:216;2160:6;2157:1;2154:13;2135:216;;;2218:3;2240:47;2283:3;2271:10;2240:47;:::i;:::-;2228:60;;-1:-1;2311:4;2302:14;;;;2330;;;;;2182:1;2175:9;2135:216;;2365:124;2429:20;;2454:30;2429:20;2454:30;:::i;2496:132::-;2573:13;;2591:32;2573:13;2591:32;:::i;2635:130::-;2702:20;;2727:33;2702:20;2727:33;:::i;2772:134::-;2850:13;;2868:33;2850:13;2868:33;:::i;2913:130::-;2989:13;;3007:31;2989:13;3007:31;:::i;3050:241::-;;3154:2;3142:9;3133:7;3129:23;3125:32;3122:2;;;3170:1;3167;3160:12;3122:2;3205:1;3222:53;3267:7;3247:9;3222:53;:::i;:::-;3212:63;3116:175;-1:-1;;;;3116:175::o;3298:263::-;;3413:2;3401:9;3392:7;3388:23;3384:32;3381:2;;;3429:1;3426;3419:12;3381:2;3464:1;3481:64;3537:7;3517:9;3481:64;:::i;3568:366::-;;;3689:2;3677:9;3668:7;3664:23;3660:32;3657:2;;;3705:1;3702;3695:12;3657:2;3740:1;3757:53;3802:7;3782:9;3757:53;:::i;:::-;3747:63;;3719:97;3847:2;3865:53;3910:7;3901:6;3890:9;3886:22;3865:53;:::i;:::-;3855:63;;3826:98;3651:283;;;;;:::o;3941:495::-;;;4120:3;4108:9;4099:7;4095:23;4091:33;4088:2;;;4137:1;4134;4127:12;4088:2;4172:1;4189:88;4269:7;4249:9;4189:88;:::i;:::-;4179:98;;4151:132;4314:3;4333:87;4412:7;4403:6;4392:9;4388:22;4333:87;:::i;4443:397::-;;;4582:2;4570:9;4561:7;4557:23;4553:32;4550:2;;;4598:1;4595;4588:12;4550:2;4633:31;;-1:-1;;;;;4673:30;;4670:2;;;4716:1;4713;4706:12;4670:2;4744:80;4816:7;4807:6;4796:9;4792:22;4744:80;:::i;:::-;4726:98;;;;4612:218;4544:296;;;;;:::o;4847:678::-;;;;;5038:2;5026:9;5017:7;5013:23;5009:32;5006:2;;;5054:1;5051;5044:12;5006:2;5089:31;;-1:-1;;;;;5129:30;;5126:2;;;5172:1;5169;5162:12;5126:2;5200:80;5272:7;5263:6;5252:9;5248:22;5200:80;:::i;:::-;5182:98;;;;5068:218;5345:2;5334:9;5330:18;5317:32;-1:-1;;;;;5361:6;5358:30;5355:2;;;5401:1;5398;5391:12;5355:2;5429:80;5501:7;5492:6;5481:9;5477:22;5429:80;:::i;:::-;5000:525;;;;-1:-1;5411:98;-1:-1;;;;5000:525::o;5532:953::-;;;;;;;5772:2;5760:9;5751:7;5747:23;5743:32;5740:2;;;5788:1;5785;5778:12;5740:2;5823:31;;-1:-1;;;;;5863:30;;5860:2;;;5906:1;5903;5896:12;5860:2;5934:80;6006:7;5997:6;5986:9;5982:22;5934:80;:::i;:::-;5916:98;;;;5802:218;6079:2;6068:9;6064:18;6051:32;-1:-1;;;;;6095:6;6092:30;6089:2;;;6135:1;6132;6125:12;6089:2;6163:80;6235:7;6226:6;6215:9;6211:22;6163:80;:::i;:::-;6145:98;;;;6030:219;6308:2;6297:9;6293:18;6280:32;-1:-1;;;;;6324:6;6321:30;6318:2;;;6364:1;6361;6354:12;6318:2;6392:77;6461:7;6452:6;6441:9;6437:22;6392:77;:::i;:::-;6374:95;;;;6259:216;5734:751;;;;;;;;:::o;6492:1517::-;;;;;;;;;;;6836:3;6824:9;6815:7;6811:23;6807:33;6804:2;;;6853:1;6850;6843:12;6804:2;6888:31;;-1:-1;;;;;6928:30;;6925:2;;;6971:1;6968;6961:12;6925:2;6999:80;7071:7;7062:6;7051:9;7047:22;6999:80;:::i;:::-;6981:98;;;;6867:218;7144:2;7133:9;7129:18;7116:32;-1:-1;;;;;7160:6;7157:30;7154:2;;;7200:1;7197;7190:12;7154:2;7228:80;7300:7;7291:6;7280:9;7276:22;7228:80;:::i;:::-;7210:98;;;;7095:219;7373:2;7362:9;7358:18;7345:32;-1:-1;;;;;7389:6;7386:30;7383:2;;;7429:1;7426;7419:12;7383:2;7457:77;7526:7;7517:6;7506:9;7502:22;7457:77;:::i;:::-;7439:95;;;;7324:216;7599:2;7588:9;7584:18;7571:32;-1:-1;;;;;7615:6;7612:30;7609:2;;;7655:1;7652;7645:12;7609:2;7683:80;7755:7;7746:6;7735:9;7731:22;7683:80;:::i;:::-;7665:98;;;;7550:219;7828:3;7817:9;7813:19;7800:33;-1:-1;;;;;7845:6;7842:30;7839:2;;;7885:1;7882;7875:12;7839:2;7913:80;7985:7;7976:6;7965:9;7961:22;7913:80;:::i;:::-;7895:98;;;;7779:220;6798:1211;;;;;;;;;;;;;:::o;8016:235::-;;8117:2;8105:9;8096:7;8092:23;8088:32;8085:2;;;8133:1;8130;8123:12;8085:2;8168:1;8185:50;8227:7;8207:9;8185:50;:::i;8258:263::-;;8373:2;8361:9;8352:7;8348:23;8344:32;8341:2;;;8389:1;8386;8379:12;8341:2;8424:1;8441:64;8497:7;8477:9;8441:64;:::i;8528:259::-;;8641:2;8629:9;8620:7;8616:23;8612:32;8609:2;;;8657:1;8654;8647:12;8609:2;8692:1;8709:62;8763:7;8743:9;8709:62;:::i;8795:173::-;;8882:46;8924:3;8916:6;8882:46;:::i;:::-;-1:-1;;8957:4;8948:14;;8875:93::o;8977:173::-;;9064:46;9106:3;9098:6;9064:46;:::i;9158:103::-;9231:24;9249:5;9231:24;:::i;:::-;9226:3;9219:37;9213:48;;:::o;9419:690::-;;9564:54;9612:5;9564:54;:::i;:::-;9631:86;9710:6;9705:3;9631:86;:::i;:::-;9624:93;;9738:56;9788:5;9738:56;:::i;:::-;9814:7;9842:1;9827:260;9852:6;9849:1;9846:13;9827:260;;;9919:6;9913:13;9940:63;9999:3;9984:13;9940:63;:::i;:::-;9933:70;;10020:60;10073:6;10020:60;:::i;:::-;10010:70;-1:-1;;9874:1;9867:9;9827:260;;;-1:-1;10100:3;;9543:566;-1:-1;;;;;9543:566::o;10148:690::-;;10293:54;10341:5;10293:54;:::i;:::-;10360:86;10439:6;10434:3;10360:86;:::i;:::-;10353:93;;10467:56;10517:5;10467:56;:::i;:::-;10543:7;10571:1;10556:260;10581:6;10578:1;10575:13;10556:260;;;10648:6;10642:13;10669:63;10728:3;10713:13;10669:63;:::i;:::-;10662:70;;10749:60;10802:6;10749:60;:::i;:::-;10739:70;-1:-1;;10603:1;10596:9;10556:260;;10846:104;10923:21;10938:5;10923:21;:::i;10958:387::-;;11118:67;11182:2;11177:3;11118:67;:::i;:::-;11218:34;11198:55;;-1:-1;;;11282:2;11273:12;;11266:42;11336:2;11327:12;;11104:241;-1:-1;;11104:241::o;11354:447::-;;11514:67;11578:2;11573:3;11514:67;:::i;:::-;11614:34;11594:55;;11683:34;11678:2;11669:12;;11662:56;-1:-1;;;11747:2;11738:12;;11731:33;11792:2;11783:12;;11500:301;-1:-1;;11500:301::o;11810:326::-;;11970:67;12034:2;12029:3;11970:67;:::i;:::-;12070:28;12050:49;;12127:2;12118:12;;11956:180;-1:-1;;11956:180::o;12145:330::-;;12305:67;12369:2;12364:3;12305:67;:::i;:::-;12405:32;12385:53;;12466:2;12457:12;;12291:184;-1:-1;;12291:184::o;12484:332::-;;12644:67;12708:2;12703:3;12644:67;:::i;:::-;12744:34;12724:55;;12807:2;12798:12;;12630:186;-1:-1;;12630:186::o;12825:326::-;;12985:67;13049:2;13044:3;12985:67;:::i;:::-;13085:28;13065:49;;13142:2;13133:12;;12971:180;-1:-1;;12971:180::o;13160:378::-;;13320:67;13384:2;13379:3;13320:67;:::i;:::-;13420:34;13400:55;;-1:-1;;;13484:2;13475:12;;13468:33;13529:2;13520:12;;13306:232;-1:-1;;13306:232::o;13547:330::-;;13707:67;13771:2;13766:3;13707:67;:::i;:::-;13807:32;13787:53;;13868:2;13859:12;;13693:184;-1:-1;;13693:184::o;13886:370::-;;14046:67;14110:2;14105:3;14046:67;:::i;:::-;14146:34;14126:55;;-1:-1;;;14210:2;14201:12;;14194:25;14247:2;14238:12;;14032:224;-1:-1;;14032:224::o;14265:331::-;;14425:67;14489:2;14484:3;14425:67;:::i;:::-;14525:33;14505:54;;14587:2;14578:12;;14411:185;-1:-1;;14411:185::o;14605:325::-;;14765:67;14829:2;14824:3;14765:67;:::i;:::-;14865:27;14845:48;;14921:2;14912:12;;14751:179;-1:-1;;14751:179::o;14939:379::-;;15099:67;15163:2;15158:3;15099:67;:::i;:::-;15199:34;15179:55;;-1:-1;;;15263:2;15254:12;;15247:34;15309:2;15300:12;;15085:233;-1:-1;;15085:233::o;15327:390::-;;15487:67;15551:2;15546:3;15487:67;:::i;:::-;15587:34;15567:55;;-1:-1;;;15651:2;15642:12;;15635:45;15708:2;15699:12;;15473:244;-1:-1;;15473:244::o;15726:331::-;;15886:67;15950:2;15945:3;15886:67;:::i;:::-;15986:33;15966:54;;16048:2;16039:12;;15872:185;-1:-1;;15872:185::o;16066:324::-;;16226:67;16290:2;16285:3;16226:67;:::i;:::-;16326:26;16306:47;;16381:2;16372:12;;16212:178;-1:-1;;16212:178::o;16399:330::-;;16559:67;16623:2;16618:3;16559:67;:::i;:::-;16659:32;16639:53;;16720:2;16711:12;;16545:184;-1:-1;;16545:184::o;16738:374::-;;16898:67;16962:2;16957:3;16898:67;:::i;:::-;16998:34;16978:55;;-1:-1;;;17062:2;17053:12;;17046:29;17103:2;17094:12;;16884:228;-1:-1;;16884:228::o;17191:687::-;17419:23;;17338:4;17329:14;;;17448:63;17333:3;17419:23;17448:63;:::i;:::-;17358:159;17613:4;17606:5;17602:16;17596:23;17625:59;17678:4;17673:3;17669:14;17655:12;17625:59;:::i;:::-;17527:163;17784:4;17777:5;17773:16;17767:23;17796:61;17851:4;17846:3;17842:14;17828:12;17796:61;:::i;17885:103::-;17958:24;17976:5;17958:24;:::i;18115:100::-;18186:23;18203:5;18186:23;:::i;18222:97::-;18291:22;18307:5;18291:22;:::i;18326:222::-;18453:2;18438:18;;18467:71;18442:9;18511:6;18467:71;:::i;18555:629::-;18810:2;18824:47;;;18795:18;;18885:108;18795:18;18979:6;18885:108;:::i;:::-;18877:116;;19041:9;19035:4;19031:20;19026:2;19015:9;19011:18;19004:48;19066:108;19169:4;19160:6;19066:108;:::i;19191:210::-;19312:2;19297:18;;19326:65;19301:9;19364:6;19326:65;:::i;19408:416::-;19608:2;19622:47;;;19593:18;;19683:131;19593:18;19683:131;:::i;19831:416::-;20031:2;20045:47;;;20016:18;;20106:131;20016:18;20106:131;:::i;20254:416::-;20454:2;20468:47;;;20439:18;;20529:131;20439:18;20529:131;:::i;20677:416::-;20877:2;20891:47;;;20862:18;;20952:131;20862:18;20952:131;:::i;21100:416::-;21300:2;21314:47;;;21285:18;;21375:131;21285:18;21375:131;:::i;21523:416::-;21723:2;21737:47;;;21708:18;;21798:131;21708:18;21798:131;:::i;21946:416::-;22146:2;22160:47;;;22131:18;;22221:131;22131:18;22221:131;:::i;22369:416::-;22569:2;22583:47;;;22554:18;;22644:131;22554:18;22644:131;:::i;22792:416::-;22992:2;23006:47;;;22977:18;;23067:131;22977:18;23067:131;:::i;23215:416::-;23415:2;23429:47;;;23400:18;;23490:131;23400:18;23490:131;:::i;23638:416::-;23838:2;23852:47;;;23823:18;;23913:131;23823:18;23913:131;:::i;24061:416::-;24261:2;24275:47;;;24246:18;;24336:131;24246:18;24336:131;:::i;24484:416::-;24684:2;24698:47;;;24669:18;;24759:131;24669:18;24759:131;:::i;24907:416::-;25107:2;25121:47;;;25092:18;;25182:131;25092:18;25182:131;:::i;25330:416::-;25530:2;25544:47;;;25515:18;;25605:131;25515:18;25605:131;:::i;25753:416::-;25953:2;25967:47;;;25938:18;;26028:131;25938:18;26028:131;:::i;26176:416::-;26376:2;26390:47;;;26361:18;;26451:131;26361:18;26451:131;:::i;26599:330::-;26780:2;26765:18;;26794:125;26769:9;26892:6;26794:125;:::i;26936:222::-;27063:2;27048:18;;27077:71;27052:9;27121:6;27077:71;:::i;27165:256::-;27227:2;27221:9;27253:17;;;-1:-1;;;;;27313:34;;27349:22;;;27310:62;27307:2;;;27385:1;27382;27375:12;27307:2;27401;27394:22;27205:216;;-1:-1;27205:216::o;27428:245::-;;-1:-1;;;;;27578:6;27575:30;27572:2;;;27618:1;27615;27608:12;27572:2;-1:-1;27653:4;27641:17;;27509:164::o;27931:151::-;28055:4;28046:14;;28003:79::o;28247:137::-;28350:12;;28321:63::o;28766:178::-;28884:19;;;28933:4;28924:14;;28877:67::o;29311:91::-;;29373:24;29391:5;29373:24;:::i;29409:85::-;29475:13;29468:21;;29451:43::o;29501:87::-;29573:2;29562:21;;29545:43::o;29595:121::-;-1:-1;;;;;29657:54;;29640:76::o;29723:72::-;29785:5;29768:27::o;29802:81::-;29873:4;29862:16;;29845:38::o;29890:102::-;-1:-1;;;;;29951:36;;29934:58::o;29999:117::-;30068:24;30086:5;30068:24;:::i;:::-;30061:5;30058:35;30048:2;;30107:1;30104;30097:12;30123:111;30189:21;30204:5;30189:21;:::i;30241:115::-;30309:23;30326:5;30309:23;:::i;30363:117::-;30432:24;30450:5;30432:24;:::i;30487:113::-;30554:22;30570:5;30554:22;:::i", - "linkReferences": {}, - "immutableReferences": { - "63809": [ - { - "start": 3790, - "length": 32 - }, - { - "start": 3903, - "length": 32 - } - ], - "63811": [ - { - "start": 5308, - "length": 32 - } - ], - "78707": [ - { - "start": 3014, - "length": 32 - }, - { - "start": 3401, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "addGaugeTokens(address[],address[])": "51e7d01f", - "addGaugeTokensWithoutValidation(address[],address[])": "f6d959c3", - "addPools(address[],address[],bool[],address[],address[])": "0254f054", - "addPoolsWithoutValidation(address[],address[],bool[],address[],address[])": "540eaddc", - "calcUnderlyingValues(address,uint256)": "727212f6", - "getCurvePoolOwner()": "bb5c7b15", - "getFundDeployer()": "97c0ac87", - "getLpTokenForPool(address)": "1f5bce55", - "getOwner()": "893d20e8", - "getPoolForDerivative(address)": "6a2175c0", - "getPoolInfo(address)": "06bfa938", - "isSupportedAsset(address)": "9be918e6", - "removeDerivatives(address[])": "8f72b136", - "removePools(address[])": "4b164140", - "setCurvePoolOwner(address)": "05ecc2d4", - "updatePoolInfo(address[],address[],bool[])": "f044506b" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_fundDeployer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_addressProvider\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_poolOwner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_virtualPriceDeviationThreshold\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"poolOwner\",\"type\":\"address\"}],\"name\":\"CurvePoolOwnerSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"derivative\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"pool\",\"type\":\"address\"}],\"name\":\"DerivativeAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"derivative\",\"type\":\"address\"}],\"name\":\"DerivativeRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"pool\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"invariantProxyAsset\",\"type\":\"address\"}],\"name\":\"InvariantProxyAssetForPoolSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"pool\",\"type\":\"address\"}],\"name\":\"PoolRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"pool\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"virtualPrice\",\"type\":\"uint256\"}],\"name\":\"ValidatedVirtualPriceForPoolUpdated\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_gaugeTokens\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"_pools\",\"type\":\"address[]\"}],\"name\":\"addGaugeTokens\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_gaugeTokens\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"_pools\",\"type\":\"address[]\"}],\"name\":\"addGaugeTokensWithoutValidation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_pools\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"_invariantProxyAssets\",\"type\":\"address[]\"},{\"internalType\":\"bool[]\",\"name\":\"_reentrantVirtualPrices\",\"type\":\"bool[]\"},{\"internalType\":\"address[]\",\"name\":\"_lpTokens\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"_gaugeTokens\",\"type\":\"address[]\"}],\"name\":\"addPools\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_pools\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"_invariantProxyAssets\",\"type\":\"address[]\"},{\"internalType\":\"bool[]\",\"name\":\"_reentrantVirtualPrices\",\"type\":\"bool[]\"},{\"internalType\":\"address[]\",\"name\":\"_lpTokens\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"_gaugeTokens\",\"type\":\"address[]\"}],\"name\":\"addPoolsWithoutValidation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_derivative\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_derivativeAmount\",\"type\":\"uint256\"}],\"name\":\"calcUnderlyingValues\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"underlyings_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"underlyingAmounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurvePoolOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"poolOwner_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFundDeployer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"fundDeployer_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_pool\",\"type\":\"address\"}],\"name\":\"getLpTokenForPool\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"lpToken_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_derivative\",\"type\":\"address\"}],\"name\":\"getPoolForDerivative\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"pool_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_pool\",\"type\":\"address\"}],\"name\":\"getPoolInfo\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"invariantProxyAsset\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"invariantProxyAssetDecimals\",\"type\":\"uint8\"},{\"internalType\":\"uint88\",\"name\":\"lastValidatedVirtualPrice\",\"type\":\"uint88\"}],\"internalType\":\"struct CurvePriceFeed.PoolInfo\",\"name\":\"poolInfo_\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"}],\"name\":\"isSupportedAsset\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isSupported_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_derivatives\",\"type\":\"address[]\"}],\"name\":\"removeDerivatives\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_pools\",\"type\":\"address[]\"}],\"name\":\"removePools\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nextPoolOwner\",\"type\":\"address\"}],\"name\":\"setCurvePoolOwner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_pools\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"_invariantProxyAssets\",\"type\":\"address[]\"},{\"internalType\":\"bool[]\",\"name\":\"_reentrantVirtualPrices\",\"type\":\"bool[]\"}],\"name\":\"updatePoolInfo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"addGaugeTokens(address[],address[])\":{\"details\":\"All params are corresponding, equal length arrays. _pools must already have been added via an addPools~() function\",\"params\":{\"_gaugeTokens\":\"The ordered gauge tokens\",\"_pools\":\"The ordered pools corresponding to _gaugeTokens\"}},\"addGaugeTokensWithoutValidation(address[],address[])\":{\"details\":\"Should only be used if something is incorrectly failing in the registry validation, or if gauge tokens exist outside of the registries supported by this price feed, e.g., a wrapper for non-tokenized gauges. All params are corresponding, equal length arrays. _pools must already have been added via an addPools~() function.\",\"params\":{\"_gaugeTokens\":\"The ordered gauge tokens\",\"_pools\":\"The ordered pools corresponding to _gaugeTokens\"}},\"addPools(address[],address[],bool[],address[],address[])\":{\"details\":\"All params are corresponding, equal length arrays. address(0) can be used for any _gaugeTokens index to omit the gauge (e.g., no gauge token exists). _lpTokens is not technically necessary since it is knowable from a Curve registry, but it's better to use Curve's upgradable contracts as an input validation rather than fully-trusted.\",\"params\":{\"_gaugeTokens\":\"The ordered gauge token corresponding to _pools\",\"_invariantProxyAssets\":\"The ordered invariant proxy assets corresponding to _pools, e.g., WETH for ETH-based pools\",\"_lpTokens\":\"The ordered lpToken corresponding to _pools\",\"_pools\":\"The ordered Curve pools\",\"_reentrantVirtualPrices\":\"The ordered flags corresponding to _pools, true if the get_virtual_price() function is potentially reenterable\"}},\"addPoolsWithoutValidation(address[],address[],bool[],address[],address[])\":{\"details\":\"Should only be used if something is incorrectly failing in the registry validation, or if pools exist outside of the registries supported by this price feed. All params are corresponding, equal length arrays. address(0) can be used for any _gaugeTokens index to omit the gauge (e.g., no gauge token exists).\",\"params\":{\"_gaugeTokens\":\"The ordered gauge token corresponding to _pools\",\"_invariantProxyAssets\":\"The ordered invariant proxy assets corresponding to _pools, e.g., WETH for ETH-based pools\",\"_lpTokens\":\"The ordered lpToken corresponding to _pools\",\"_pools\":\"The ordered Curve pools\",\"_reentrantVirtualPrices\":\"The ordered flags corresponding to _pools, true if the get_virtual_price() function is potentially reenterable\"}},\"calcUnderlyingValues(address,uint256)\":{\"params\":{\"_derivative\":\"The derivative to convert\",\"_derivativeAmount\":\"The amount of the derivative to convert\"},\"returns\":{\"underlyingAmounts_\":\"The amount of each underlying asset for the equivalent derivative amount\",\"underlyings_\":\"The underlying assets for the _derivative\"}},\"getCurvePoolOwner()\":{\"returns\":{\"poolOwner_\":\"The Curve pool owner\"}},\"getFundDeployer()\":{\"returns\":{\"fundDeployer_\":\"The `FUND_DEPLOYER` variable value\"}},\"getLpTokenForPool(address)\":{\"params\":{\"_pool\":\"The pool\"},\"returns\":{\"lpToken_\":\"The lpToken\"}},\"getOwner()\":{\"details\":\"Ownership is deferred to the owner of the FundDeployer contract\",\"returns\":{\"owner_\":\"The owner\"}},\"getPoolForDerivative(address)\":{\"params\":{\"_derivative\":\"The derivative\"},\"returns\":{\"pool_\":\"The pool\"}},\"getPoolInfo(address)\":{\"params\":{\"_pool\":\"The pool\"},\"returns\":{\"poolInfo_\":\"The PoolInfo\"}},\"isSupportedAsset(address)\":{\"params\":{\"_asset\":\"The asset to check\"},\"returns\":{\"isSupported_\":\"True if the asset is supported\"}},\"removeDerivatives(address[])\":{\"details\":\"Unlikely to be needed, just in case of bad storage entry. Can remove both lpToken and gaugeToken from derivatives list, but does not remove lpToken from pool info cache.\",\"params\":{\"_derivatives\":\"The derivatives to remove\"}},\"removePools(address[])\":{\"details\":\"Unlikely to be needed, just in case of bad storage entry. Does not remove lpToken nor gauge tokens from derivatives list.\",\"params\":{\"_pools\":\"The pools to remove\"}},\"setCurvePoolOwner(address)\":{\"params\":{\"_nextPoolOwner\":\"The next pool owner value\"}},\"updatePoolInfo(address[],address[],bool[])\":{\"params\":{\"_invariantProxyAssets\":\"The ordered invariant asset proxy assets\",\"_pools\":\"The ordered pools\",\"_reentrantVirtualPrices\":\"The ordered flags corresponding to _pools, true if the get_virtual_price() function is potentially reenterable\"}}},\"title\":\"CurvePriceFeed Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"addGaugeTokens(address[],address[])\":{\"notice\":\"Adds validated gaugeTokens to the price feed\"},\"addGaugeTokensWithoutValidation(address[],address[])\":{\"notice\":\"Adds unvalidated gaugeTokens to the price feed\"},\"addPools(address[],address[],bool[],address[],address[])\":{\"notice\":\"Adds validated Curve pool info, lpTokens, and gaugeTokens to the price feed\"},\"addPoolsWithoutValidation(address[],address[],bool[],address[],address[])\":{\"notice\":\"Adds unvalidated Curve pool info, lpTokens, and gaugeTokens to the price feed\"},\"calcUnderlyingValues(address,uint256)\":{\"notice\":\"Converts a given amount of a derivative to its underlying asset values\"},\"getCurvePoolOwner()\":{\"notice\":\"Gets the Curve pool owner\"},\"getFundDeployer()\":{\"notice\":\"Gets the `FUND_DEPLOYER` variable\"},\"getLpTokenForPool(address)\":{\"notice\":\"Gets the lpToken for a given pool\"},\"getOwner()\":{\"notice\":\"Gets the owner of this contract\"},\"getPoolForDerivative(address)\":{\"notice\":\"Gets the pool for a given derivative\"},\"getPoolInfo(address)\":{\"notice\":\"Gets the stored PoolInfo for a given pool\"},\"isSupportedAsset(address)\":{\"notice\":\"Checks if an asset is supported by the price feed\"},\"removeDerivatives(address[])\":{\"notice\":\"Removes derivatives from the price feed\"},\"removePools(address[])\":{\"notice\":\"Removes pools from the price feed\"},\"setCurvePoolOwner(address)\":{\"notice\":\"Sets the Curve pool owner\"},\"updatePoolInfo(address[],address[],bool[])\":{\"notice\":\"Updates the PoolInfo for the given pools\"}},\"notice\":\"Price feed for Curve pool tokens\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/infrastructure/price-feeds/derivatives/feeds/CurvePriceFeed.sol\":\"CurvePriceFeed\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol\":{\"keccak256\":\"0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e\",\"dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK\"]},\"contracts/release/infrastructure/price-feeds/derivatives/feeds/CurvePriceFeed.sol\":{\"keccak256\":\"0xa8ddbd75bb5cb702b539b963c2694a8abcbd19eb801a36a42c0537f69ad26b42\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b6422a1ebdf7198942cee6b61ae807887a77864abc0b1bc16dba55c7b5f3ca90\",\"dweb:/ipfs/QmXNCQkT5Er6NvKBJnhk9jR4T1KhNeorAr8F6K6dQPjztx\"]},\"contracts/release/interfaces/ICurveAddressProvider.sol\":{\"keccak256\":\"0xf8da903700c623760de62b3e5d0b01997c68b8847391e23b89081128780e55e1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://735b71b448d4d5c78e98ead84bf8f8e1e94e38ff8a77c7e4f9cc944d1d73e7df\",\"dweb:/ipfs/QmXFgGFVEvQW9wpeBspcaVAXwCcxvnNJZLafTeP2HPArNQ\"]},\"contracts/release/interfaces/ICurveLiquidityPool.sol\":{\"keccak256\":\"0xd90f3399805f90d670098cc451f9948b8da7dd68be821617c76487fdc20f0731\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ba6e6e5bf761fa279329a564741e5cd2b78c5be2e50c388ac419c3d84736c9a1\",\"dweb:/ipfs/QmZ96kkg7oHLmdzwQLYbZVHDvKj8jZEJLaxNXy1j3sbgrn\"]},\"contracts/release/interfaces/ICurvePoolOwner.sol\":{\"keccak256\":\"0x42a03eb0d757153add18d4f42b5b464041056e23f6965a48705088ddd213c336\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a4166f75c4c80b8f069ae2b8cfe9bda2babca27fd30b239e30606eca69f8878c\",\"dweb:/ipfs/QmYNULkXYTaKQUiCA8htR9KbCkK5YhrHfJgKtBqXiNPt9R\"]},\"contracts/release/interfaces/ICurveRegistryMain.sol\":{\"keccak256\":\"0x9e67cfcd4195bfd8db785be1cba42bf8871d0638770adaf04d638227b29a9b2b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://cb2587e7026be73f27d4dd75deb44faeca3112a58ddc07bb87bca46d96fd977b\",\"dweb:/ipfs/QmTVdpCWZ9rv583gxP5Ycvs5Nf7jZTxVWr5oeZvywYNSSh\"]},\"contracts/release/interfaces/ICurveRegistryMetapoolFactory.sol\":{\"keccak256\":\"0x43aa6bfbda8ca1fdcb0890792e7969999146c690986938ac43818ca9b9343e58\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3426ad7d87cd51519c288004f970da83bf672d60fc7d1c647af5e84855f6a4b5\",\"dweb:/ipfs/QmevngH3Acet8R6YHzGLRyNeEoUYfbnQm7NSbzHYN7rdpf\"]},\"contracts/release/utils/FundDeployerOwnerMixin.sol\":{\"keccak256\":\"0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927\",\"dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_fundDeployer", - "type": "address" - }, - { - "internalType": "address", - "name": "_addressProvider", - "type": "address" - }, - { - "internalType": "address", - "name": "_poolOwner", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_virtualPriceDeviationThreshold", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "poolOwner", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "CurvePoolOwnerSet", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "derivative", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "pool", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "DerivativeAdded", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "derivative", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "DerivativeRemoved", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "pool", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "invariantProxyAsset", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "InvariantProxyAssetForPoolSet", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "pool", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "PoolRemoved", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "pool", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "virtualPrice", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "ValidatedVirtualPriceForPoolUpdated", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_gaugeTokens", - "type": "address[]" - }, - { - "internalType": "address[]", - "name": "_pools", - "type": "address[]" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "addGaugeTokens" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_gaugeTokens", - "type": "address[]" - }, - { - "internalType": "address[]", - "name": "_pools", - "type": "address[]" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "addGaugeTokensWithoutValidation" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_pools", - "type": "address[]" - }, - { - "internalType": "address[]", - "name": "_invariantProxyAssets", - "type": "address[]" - }, - { - "internalType": "bool[]", - "name": "_reentrantVirtualPrices", - "type": "bool[]" - }, - { - "internalType": "address[]", - "name": "_lpTokens", - "type": "address[]" - }, - { - "internalType": "address[]", - "name": "_gaugeTokens", - "type": "address[]" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "addPools" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_pools", - "type": "address[]" - }, - { - "internalType": "address[]", - "name": "_invariantProxyAssets", - "type": "address[]" - }, - { - "internalType": "bool[]", - "name": "_reentrantVirtualPrices", - "type": "bool[]" - }, - { - "internalType": "address[]", - "name": "_lpTokens", - "type": "address[]" - }, - { - "internalType": "address[]", - "name": "_gaugeTokens", - "type": "address[]" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "addPoolsWithoutValidation" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_derivative", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_derivativeAmount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "calcUnderlyingValues", - "outputs": [ - { - "internalType": "address[]", - "name": "underlyings_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "underlyingAmounts_", - "type": "uint256[]" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getCurvePoolOwner", - "outputs": [ - { - "internalType": "address", - "name": "poolOwner_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getFundDeployer", - "outputs": [ - { - "internalType": "address", - "name": "fundDeployer_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_pool", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getLpTokenForPool", - "outputs": [ - { - "internalType": "address", - "name": "lpToken_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "owner_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_derivative", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getPoolForDerivative", - "outputs": [ - { - "internalType": "address", - "name": "pool_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_pool", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getPoolInfo", - "outputs": [ - { - "internalType": "struct CurvePriceFeed.PoolInfo", - "name": "poolInfo_", - "type": "tuple", - "components": [ - { - "internalType": "address", - "name": "invariantProxyAsset", - "type": "address" - }, - { - "internalType": "uint8", - "name": "invariantProxyAssetDecimals", - "type": "uint8" - }, - { - "internalType": "uint88", - "name": "lastValidatedVirtualPrice", - "type": "uint88" - } - ] - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_asset", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "isSupportedAsset", - "outputs": [ - { - "internalType": "bool", - "name": "isSupported_", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_derivatives", - "type": "address[]" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "removeDerivatives" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_pools", - "type": "address[]" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "removePools" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_nextPoolOwner", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setCurvePoolOwner" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_pools", - "type": "address[]" - }, - { - "internalType": "address[]", - "name": "_invariantProxyAssets", - "type": "address[]" - }, - { - "internalType": "bool[]", - "name": "_reentrantVirtualPrices", - "type": "bool[]" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "updatePoolInfo" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "addGaugeTokens(address[],address[])": { - "details": "All params are corresponding, equal length arrays. _pools must already have been added via an addPools~() function", - "params": { - "_gaugeTokens": "The ordered gauge tokens", - "_pools": "The ordered pools corresponding to _gaugeTokens" - } - }, - "addGaugeTokensWithoutValidation(address[],address[])": { - "details": "Should only be used if something is incorrectly failing in the registry validation, or if gauge tokens exist outside of the registries supported by this price feed, e.g., a wrapper for non-tokenized gauges. All params are corresponding, equal length arrays. _pools must already have been added via an addPools~() function.", - "params": { - "_gaugeTokens": "The ordered gauge tokens", - "_pools": "The ordered pools corresponding to _gaugeTokens" - } - }, - "addPools(address[],address[],bool[],address[],address[])": { - "details": "All params are corresponding, equal length arrays. address(0) can be used for any _gaugeTokens index to omit the gauge (e.g., no gauge token exists). _lpTokens is not technically necessary since it is knowable from a Curve registry, but it's better to use Curve's upgradable contracts as an input validation rather than fully-trusted.", - "params": { - "_gaugeTokens": "The ordered gauge token corresponding to _pools", - "_invariantProxyAssets": "The ordered invariant proxy assets corresponding to _pools, e.g., WETH for ETH-based pools", - "_lpTokens": "The ordered lpToken corresponding to _pools", - "_pools": "The ordered Curve pools", - "_reentrantVirtualPrices": "The ordered flags corresponding to _pools, true if the get_virtual_price() function is potentially reenterable" - } - }, - "addPoolsWithoutValidation(address[],address[],bool[],address[],address[])": { - "details": "Should only be used if something is incorrectly failing in the registry validation, or if pools exist outside of the registries supported by this price feed. All params are corresponding, equal length arrays. address(0) can be used for any _gaugeTokens index to omit the gauge (e.g., no gauge token exists).", - "params": { - "_gaugeTokens": "The ordered gauge token corresponding to _pools", - "_invariantProxyAssets": "The ordered invariant proxy assets corresponding to _pools, e.g., WETH for ETH-based pools", - "_lpTokens": "The ordered lpToken corresponding to _pools", - "_pools": "The ordered Curve pools", - "_reentrantVirtualPrices": "The ordered flags corresponding to _pools, true if the get_virtual_price() function is potentially reenterable" - } - }, - "calcUnderlyingValues(address,uint256)": { - "params": { - "_derivative": "The derivative to convert", - "_derivativeAmount": "The amount of the derivative to convert" - }, - "returns": { - "underlyingAmounts_": "The amount of each underlying asset for the equivalent derivative amount", - "underlyings_": "The underlying assets for the _derivative" - } - }, - "getCurvePoolOwner()": { - "returns": { - "poolOwner_": "The Curve pool owner" - } - }, - "getFundDeployer()": { - "returns": { - "fundDeployer_": "The `FUND_DEPLOYER` variable value" - } - }, - "getLpTokenForPool(address)": { - "params": { - "_pool": "The pool" - }, - "returns": { - "lpToken_": "The lpToken" - } - }, - "getOwner()": { - "details": "Ownership is deferred to the owner of the FundDeployer contract", - "returns": { - "owner_": "The owner" - } - }, - "getPoolForDerivative(address)": { - "params": { - "_derivative": "The derivative" - }, - "returns": { - "pool_": "The pool" - } - }, - "getPoolInfo(address)": { - "params": { - "_pool": "The pool" - }, - "returns": { - "poolInfo_": "The PoolInfo" - } - }, - "isSupportedAsset(address)": { - "params": { - "_asset": "The asset to check" - }, - "returns": { - "isSupported_": "True if the asset is supported" - } - }, - "removeDerivatives(address[])": { - "details": "Unlikely to be needed, just in case of bad storage entry. Can remove both lpToken and gaugeToken from derivatives list, but does not remove lpToken from pool info cache.", - "params": { - "_derivatives": "The derivatives to remove" - } - }, - "removePools(address[])": { - "details": "Unlikely to be needed, just in case of bad storage entry. Does not remove lpToken nor gauge tokens from derivatives list.", - "params": { - "_pools": "The pools to remove" - } - }, - "setCurvePoolOwner(address)": { - "params": { - "_nextPoolOwner": "The next pool owner value" - } - }, - "updatePoolInfo(address[],address[],bool[])": { - "params": { - "_invariantProxyAssets": "The ordered invariant asset proxy assets", - "_pools": "The ordered pools", - "_reentrantVirtualPrices": "The ordered flags corresponding to _pools, true if the get_virtual_price() function is potentially reenterable" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "addGaugeTokens(address[],address[])": { - "notice": "Adds validated gaugeTokens to the price feed" - }, - "addGaugeTokensWithoutValidation(address[],address[])": { - "notice": "Adds unvalidated gaugeTokens to the price feed" - }, - "addPools(address[],address[],bool[],address[],address[])": { - "notice": "Adds validated Curve pool info, lpTokens, and gaugeTokens to the price feed" - }, - "addPoolsWithoutValidation(address[],address[],bool[],address[],address[])": { - "notice": "Adds unvalidated Curve pool info, lpTokens, and gaugeTokens to the price feed" - }, - "calcUnderlyingValues(address,uint256)": { - "notice": "Converts a given amount of a derivative to its underlying asset values" - }, - "getCurvePoolOwner()": { - "notice": "Gets the Curve pool owner" - }, - "getFundDeployer()": { - "notice": "Gets the `FUND_DEPLOYER` variable" - }, - "getLpTokenForPool(address)": { - "notice": "Gets the lpToken for a given pool" - }, - "getOwner()": { - "notice": "Gets the owner of this contract" - }, - "getPoolForDerivative(address)": { - "notice": "Gets the pool for a given derivative" - }, - "getPoolInfo(address)": { - "notice": "Gets the stored PoolInfo for a given pool" - }, - "isSupportedAsset(address)": { - "notice": "Checks if an asset is supported by the price feed" - }, - "removeDerivatives(address[])": { - "notice": "Removes derivatives from the price feed" - }, - "removePools(address[])": { - "notice": "Removes pools from the price feed" - }, - "setCurvePoolOwner(address)": { - "notice": "Sets the Curve pool owner" - }, - "updatePoolInfo(address[],address[],bool[])": { - "notice": "Updates the PoolInfo for the given pools" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/infrastructure/price-feeds/derivatives/feeds/CurvePriceFeed.sol": "CurvePriceFeed" - }, - "libraries": {} - }, - "sources": { - "contracts/release/core/fund-deployer/IFundDeployer.sol": { - "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", - "urls": [ - "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", - "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol": { - "keccak256": "0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332", - "urls": [ - "bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e", - "dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/price-feeds/derivatives/feeds/CurvePriceFeed.sol": { - "keccak256": "0xa8ddbd75bb5cb702b539b963c2694a8abcbd19eb801a36a42c0537f69ad26b42", - "urls": [ - "bzz-raw://b6422a1ebdf7198942cee6b61ae807887a77864abc0b1bc16dba55c7b5f3ca90", - "dweb:/ipfs/QmXNCQkT5Er6NvKBJnhk9jR4T1KhNeorAr8F6K6dQPjztx" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/ICurveAddressProvider.sol": { - "keccak256": "0xf8da903700c623760de62b3e5d0b01997c68b8847391e23b89081128780e55e1", - "urls": [ - "bzz-raw://735b71b448d4d5c78e98ead84bf8f8e1e94e38ff8a77c7e4f9cc944d1d73e7df", - "dweb:/ipfs/QmXFgGFVEvQW9wpeBspcaVAXwCcxvnNJZLafTeP2HPArNQ" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/ICurveLiquidityPool.sol": { - "keccak256": "0xd90f3399805f90d670098cc451f9948b8da7dd68be821617c76487fdc20f0731", - "urls": [ - "bzz-raw://ba6e6e5bf761fa279329a564741e5cd2b78c5be2e50c388ac419c3d84736c9a1", - "dweb:/ipfs/QmZ96kkg7oHLmdzwQLYbZVHDvKj8jZEJLaxNXy1j3sbgrn" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/ICurvePoolOwner.sol": { - "keccak256": "0x42a03eb0d757153add18d4f42b5b464041056e23f6965a48705088ddd213c336", - "urls": [ - "bzz-raw://a4166f75c4c80b8f069ae2b8cfe9bda2babca27fd30b239e30606eca69f8878c", - "dweb:/ipfs/QmYNULkXYTaKQUiCA8htR9KbCkK5YhrHfJgKtBqXiNPt9R" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/ICurveRegistryMain.sol": { - "keccak256": "0x9e67cfcd4195bfd8db785be1cba42bf8871d0638770adaf04d638227b29a9b2b", - "urls": [ - "bzz-raw://cb2587e7026be73f27d4dd75deb44faeca3112a58ddc07bb87bca46d96fd977b", - "dweb:/ipfs/QmTVdpCWZ9rv583gxP5Ycvs5Nf7jZTxVWr5oeZvywYNSSh" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/ICurveRegistryMetapoolFactory.sol": { - "keccak256": "0x43aa6bfbda8ca1fdcb0890792e7969999146c690986938ac43818ca9b9343e58", - "urls": [ - "bzz-raw://3426ad7d87cd51519c288004f970da83bf672d60fc7d1c647af5e84855f6a4b5", - "dweb:/ipfs/QmevngH3Acet8R6YHzGLRyNeEoUYfbnQm7NSbzHYN7rdpf" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/FundDeployerOwnerMixin.sol": { - "keccak256": "0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934", - "urls": [ - "bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927", - "dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 242 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_fundDeployer", "type": "address", "internalType": "address" }, { "name": "_addressProvider", "type": "address", "internalType": "address" }, { "name": "_poolOwner", "type": "address", "internalType": "address" }, { "name": "_virtualPriceDeviationThreshold", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "addGaugeTokens", "inputs": [ { "name": "_gaugeTokens", "type": "address[]", "internalType": "address[]" }, { "name": "_pools", "type": "address[]", "internalType": "address[]" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "addGaugeTokensWithoutValidation", "inputs": [ { "name": "_gaugeTokens", "type": "address[]", "internalType": "address[]" }, { "name": "_pools", "type": "address[]", "internalType": "address[]" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "addPools", "inputs": [ { "name": "_pools", "type": "address[]", "internalType": "address[]" }, { "name": "_invariantProxyAssets", "type": "address[]", "internalType": "address[]" }, { "name": "_reentrantVirtualPrices", "type": "bool[]", "internalType": "bool[]" }, { "name": "_lpTokens", "type": "address[]", "internalType": "address[]" }, { "name": "_gaugeTokens", "type": "address[]", "internalType": "address[]" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "addPoolsWithoutValidation", "inputs": [ { "name": "_pools", "type": "address[]", "internalType": "address[]" }, { "name": "_invariantProxyAssets", "type": "address[]", "internalType": "address[]" }, { "name": "_reentrantVirtualPrices", "type": "bool[]", "internalType": "bool[]" }, { "name": "_lpTokens", "type": "address[]", "internalType": "address[]" }, { "name": "_gaugeTokens", "type": "address[]", "internalType": "address[]" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "calcUnderlyingValues", "inputs": [ { "name": "_derivative", "type": "address", "internalType": "address" }, { "name": "_derivativeAmount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "underlyings_", "type": "address[]", "internalType": "address[]" }, { "name": "underlyingAmounts_", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "getCurvePoolOwner", "inputs": [], "outputs": [ { "name": "poolOwner_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getFundDeployer", "inputs": [], "outputs": [ { "name": "fundDeployer_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getLpTokenForPool", "inputs": [ { "name": "_pool", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "lpToken_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getOwner", "inputs": [], "outputs": [ { "name": "owner_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getPoolForDerivative", "inputs": [ { "name": "_derivative", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "pool_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getPoolInfo", "inputs": [ { "name": "_pool", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "poolInfo_", "type": "tuple", "internalType": "struct CurvePriceFeed.PoolInfo", "components": [ { "name": "invariantProxyAsset", "type": "address", "internalType": "address" }, { "name": "invariantProxyAssetDecimals", "type": "uint8", "internalType": "uint8" }, { "name": "lastValidatedVirtualPrice", "type": "uint88", "internalType": "uint88" } ] } ], "stateMutability": "view" }, { "type": "function", "name": "isSupportedAsset", "inputs": [ { "name": "_asset", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "isSupported_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "removeDerivatives", "inputs": [ { "name": "_derivatives", "type": "address[]", "internalType": "address[]" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "removePools", "inputs": [ { "name": "_pools", "type": "address[]", "internalType": "address[]" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setCurvePoolOwner", "inputs": [ { "name": "_nextPoolOwner", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "updatePoolInfo", "inputs": [ { "name": "_pools", "type": "address[]", "internalType": "address[]" }, { "name": "_invariantProxyAssets", "type": "address[]", "internalType": "address[]" }, { "name": "_reentrantVirtualPrices", "type": "bool[]", "internalType": "bool[]" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "event", "name": "CurvePoolOwnerSet", "inputs": [ { "name": "poolOwner", "type": "address", "indexed": false, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "DerivativeAdded", "inputs": [ { "name": "derivative", "type": "address", "indexed": true, "internalType": "address" }, { "name": "pool", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "DerivativeRemoved", "inputs": [ { "name": "derivative", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "InvariantProxyAssetForPoolSet", "inputs": [ { "name": "pool", "type": "address", "indexed": true, "internalType": "address" }, { "name": "invariantProxyAsset", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "PoolRemoved", "inputs": [ { "name": "pool", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "ValidatedVirtualPriceForPoolUpdated", "inputs": [ { "name": "pool", "type": "address", "indexed": true, "internalType": "address" }, { "name": "virtualPrice", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false } ], "bytecode": { "object": "0x60e06040523480156200001157600080fd5b50604051620028cb380380620028cb8339810160408190526200003491620000e0565b6001600160601b0319606085811b821660805284901b1660a05260c08190526200005e8262000068565b50505050620001a5565b600080546001600160a01b0319166001600160a01b0383161790556040517f285938205335d4bea92402795be7d763d8fdcf6b363506d1e419f026c37f44bd90620000b59083906200015b565b60405180910390a150565b8051620000cd8162000180565b92915050565b8051620000cd816200019a565b60008060008060808587031215620000f757600080fd5b6000620001058787620000c0565b94505060206200011887828801620000c0565b93505060406200012b87828801620000c0565b92505060606200013e87828801620000d3565b91505092959194509250565b62000155816200016b565b82525050565b60208101620000cd82846200014a565b60006001600160a01b038216620000cd565b90565b6200018b816200016b565b81146200019757600080fd5b50565b6200018b816200017d565b60805160601c60a05160601c60c0516126e9620001e2600039806114bc525080610ece5280610f3f525080610bc65280610d4952506126e96000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c8063727212f6116100975780639be918e6116100665780639be918e614610206578063bb5c7b1514610226578063f044506b1461022e578063f6d959c31461024157610100565b8063727212f6146101c2578063893d20e8146101e35780638f72b136146101eb57806397c0ac87146101fe57610100565b80634b164140116100d35780634b1641401461017657806351e7d01f14610189578063540eaddc1461019c5780636a2175c0146101af57610100565b80630254f0541461010557806305ecc2d41461011a57806306bfa9381461012d5780631f5bce5514610156575b600080fd5b610118610113366004611dab565b610254565b005b610118610128366004611bae565b6105cc565b61014061013b366004611bae565b610610565b60405161014d91906125fb565b60405180910390f35b610169610164366004611bae565b61066e565b60405161014d91906124aa565b610118610184366004611c5e565b61068c565b610118610197366004611c9f565b6107c0565b6101186101aa366004611dab565b61093c565b6101696101bd366004611bae565b610992565b6101d56101d0366004611bf2565b6109b0565b60405161014d9291906124b8565b610169610bc2565b6101186101f9366004611c5e565b610c5a565b610169610d47565b610219610214366004611bae565b610d6b565b60405161014d91906124dd565b610169610d88565b61011861023c366004611d0d565b610d97565b61011861024f366004611c9f565b610e80565b61025c610bc2565b6001600160a01b0316336001600160a01b0316146102955760405162461bcd60e51b815260040161028c906124fb565b60405180910390fd5b600061029f610eca565b905060006102ab610f25565b905060005b8b8110156105ab57826001600160a01b031663379510498e8e848181106102d357fe5b90506020020160208101906102e89190611bae565b6040518263ffffffff1660e01b815260040161030491906124aa565b60206040518083038186803b15801561031c57600080fd5b505afa158015610330573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103549190611bd4565b6001600160a01b031687878381811061036957fe5b905060200201602081019061037e9190611bae565b6001600160a01b0316141561040e57600085858381811061039b57fe5b90506020020160208101906103b09190611bae565b6001600160a01b031614610409576104098585838181106103cd57fe5b90506020020160208101906103e29190611bae565b8e8e848181106103ee57fe5b90506020020160208101906104039190611bae565b85610f8d565b6105a3565b8c8c8281811061041a57fe5b905060200201602081019061042f9190611bae565b6001600160a01b031687878381811061044457fe5b90506020020160208101906104599190611bae565b6001600160a01b031614801561050a57506000826001600160a01b031663940494f18f8f8581811061048757fe5b905060200201602081019061049c9190611bae565b6040518263ffffffff1660e01b81526004016104b891906124aa565b60206040518083038186803b1580156104d057600080fd5b505afa1580156104e4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105089190611ec6565b115b1561058b57600085858381811061051d57fe5b90506020020160208101906105329190611bae565b6001600160a01b0316146104095761040985858381811061054f57fe5b90506020020160208101906105649190611bae565b8e8e8481811061057057fe5b90506020020160208101906105859190611bae565b84611073565b60405162461bcd60e51b815260040161028c906125cb565b6001016102b0565b506105be8c8c8c8c8c8c8c8c8c8c61111f565b505050505050505050505050565b6105d4610bc2565b6001600160a01b0316336001600160a01b0316146106045760405162461bcd60e51b815260040161028c906124fb565b61060d81611390565b50565b610618611a10565b506001600160a01b03908116600090815260026020908152604091829020825160608101845290549384168152600160a01b840460ff1691810191909152600160a81b9092046001600160581b03169082015290565b6001600160a01b039081166000908152600360205260409020541690565b610694610bc2565b6001600160a01b0316336001600160a01b0316146106c45760405162461bcd60e51b815260040161028c906124fb565b60005b818110156107bb57600260008484848181106106df57fe5b90506020020160208101906106f49190611bae565b6001600160a01b031681526020810191909152604001600090812081905560039084848481811061072157fe5b90506020020160208101906107369190611bae565b6001600160a01b03168152602081019190915260400160002080546001600160a01b031916905582828281811061076957fe5b905060200201602081019061077e9190611bae565b6001600160a01b03167f4106dfdaa577573db51c0ca93f766dbedfa0758faa2e7f5bcdb7c142be803c3f60405160405180910390a26001016106c7565b505050565b6107c8610bc2565b6001600160a01b0316336001600160a01b0316146107f85760405162461bcd60e51b815260040161028c906124fb565b6000610802610eca565b9050600061080e610f25565b905060005b858110156109275786868281811061082757fe5b905060200201602081019061083c9190611bae565b6001600160a01b0316826001600160a01b031663daf297b987878581811061086057fe5b90506020020160208101906108759190611bae565b6040518263ffffffff1660e01b815260040161089191906124aa565b60206040518083038186803b1580156108a957600080fd5b505afa1580156108bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108e19190611bd4565b6001600160a01b03161461091f5761091f8787838181106108fe57fe5b90506020020160208101906109139190611bae565b8686848181106103ee57fe5b600101610813565b50610934868686866113e6565b505050505050565b610944610bc2565b6001600160a01b0316336001600160a01b0316146109745760405162461bcd60e51b815260040161028c906124fb565b6109868a8a8a8a8a8a8a8a8a8a61111f565b50505050505050505050565b6001600160a01b039081166000908152600160205260409020541690565b60608060006109be85610992565b90506001600160a01b0381166109e65760405162461bcd60e51b815260040161028c906124eb565b6109ee611a10565b6109f782610610565b90506000826001600160a01b031663bb7b8b806040518163ffffffff1660e01b815260040160206040518083038186803b158015610a3457600080fd5b505afa158015610a48573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a6c9190611ec6565b9050600082604001516001600160581b0316118015610a9d5750610a9d8183604001516001600160581b0316611487565b15610aac57610aac83826114ea565b6040805160018082528183019092529060208083019080368337019050509450816000015185600081518110610ade57fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509350816020015160ff1660121415610b5e57610b40670de0b6b3a7640000610b3a8884611565565b906115a6565b84600081518110610b4d57fe5b602002602001018181525050610bb7565b610b9d670de0b6b3a7640000610b3a670de0b6b3a7640000610b3a866020015160ff16600a0a610b97878d61156590919063ffffffff16565b90611565565b84600081518110610baa57fe5b6020026020010181815250505b5050505b9250929050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b158015610c1d57600080fd5b505afa158015610c31573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c559190611bd4565b905090565b610c62610bc2565b6001600160a01b0316336001600160a01b031614610c925760405162461bcd60e51b815260040161028c906124fb565b60005b818110156107bb5760016000848484818110610cad57fe5b9050602002016020810190610cc29190611bae565b6001600160a01b03168152602081019190915260400160002080546001600160a01b0319169055828282818110610cf557fe5b9050602002016020810190610d0a9190611bae565b6001600160a01b03167fc15eb25d807b570f4567baf6e97c7b26d58a7d0512dc85e8db15375a056b860460405160405180910390a2600101610c95565b7f000000000000000000000000000000000000000000000000000000000000000090565b600080610d7783610992565b6001600160a01b0316141592915050565b6000546001600160a01b031690565b610d9f610bc2565b6001600160a01b0316336001600160a01b031614610dcf5760405162461bcd60e51b815260040161028c906124fb565b8483148015610ddd57508481145b610df95760405162461bcd60e51b815260040161028c906125db565b60005b85811015610e7757610e6f878783818110610e1357fe5b9050602002016020810190610e289190611bae565b868684818110610e3457fe5b9050602002016020810190610e499190611bae565b858585818110610e5557fe5b9050602002016020810190610e6a9190611ea8565b6115d8565b600101610dfc565b50505050505050565b610e88610bc2565b6001600160a01b0316336001600160a01b031614610eb85760405162461bcd60e51b815260040161028c906124fb565b610ec4848484846113e6565b50505050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a262904b6040518163ffffffff1660e01b815260040160206040518083038186803b158015610c1d57600080fd5b60405163124fd3dd60e21b81526000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063493f4f7490610f7590600390600401612609565b60206040518083038186803b158015610c1d57600080fd5b610f95611a30565b6040516356059ffb60e01b81526001600160a01b038316906356059ffb90610fc19086906004016124aa565b6102806040518083038186803b158015610fda57600080fd5b505afa158015610fee573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110129190611c2c565b50905060005b600a81101561105a578181600a811061102d57fe5b60200201516001600160a01b0316856001600160a01b031614156110525750506107bb565b600101611018565b5060405162461bcd60e51b815260040161028c9061259b565b60405163daf297b960e01b81526001600160a01b0382169063daf297b99061109f9085906004016124aa565b60206040518083038186803b1580156110b757600080fd5b505afa1580156110cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110ef9190611bd4565b6001600160a01b0316836001600160a01b0316146107bb5760405162461bcd60e51b815260040161028c906125ab565b888714801561112d57508885145b801561113857508883145b801561114357508881145b61115f5760405162461bcd60e51b815260040161028c9061250b565b60005b8981101561138357600085858381811061117857fe5b905060200201602081019061118d9190611bae565b6001600160a01b031614156111b45760405162461bcd60e51b815260040161028c9061258b565b60006111da8c8c848181106111c557fe5b90506020020160208101906101649190611bae565b6001600160a01b0316146112005760405162461bcd60e51b815260040161028c9061255b565b6112298b8b8381811061120f57fe5b90506020020160208101906112249190611bae565b6117dc565b61127a8b8b8381811061123857fe5b905060200201602081019061124d9190611bae565b8a8a8481811061125957fe5b905060200201602081019061126e9190611bae565b898985818110610e5557fe5b84848281811061128657fe5b905060200201602081019061129b9190611bae565b600360008d8d858181106112ab57fe5b90506020020160208101906112c09190611bae565b6001600160a01b039081168252602082019290925260400160002080546001600160a01b0319169290911691909117905561133b85858381811061130057fe5b90506020020160208101906113159190611bae565b8c8c8481811061132157fe5b90506020020160208101906113369190611bae565b61186c565b600083838381811061134957fe5b905060200201602081019061135e9190611bae565b6001600160a01b03161461137b5761137b83838381811061130057fe5b600101611162565b5050505050505050505050565b600080546001600160a01b0319166001600160a01b0383161790556040517f285938205335d4bea92402795be7d763d8fdcf6b363506d1e419f026c37f44bd906113db9083906124aa565b60405180910390a150565b8281146114055760405162461bcd60e51b815260040161028c9061252b565b60005b838110156114805760006114218484848181106111c557fe5b6001600160a01b031614156114485760405162461bcd60e51b815260040161028c906125eb565b61147885858381811061145757fe5b905060200201602081019061146c9190611bae565b84848481811061132157fe5b600101611408565b5050505050565b600080828411156114a35761149c8484611987565b90506114b0565b6114ad8385611987565b90505b6114e0612710610b3a857f0000000000000000000000000000000000000000000000000000000000000000611565565b1090505b92915050565b6114f3826119af565b6001600160a01b0382166000818152600260205260409081902080546001600160a81b0316600160a81b6001600160581b03861602179055517fe4e8751d7ee9680c15b1a348b174e860467c86da7f4da037714ff62621947fb590611559908490612609565b60405180910390a25050565b600082611574575060006114e4565b8282028284828161158157fe5b041461159f5760405162461bcd60e51b815260040161028c9061256b565b9392505050565b60008082116115c75760405162461bcd60e51b815260040161028c9061253b565b8183816115d057fe5b049392505050565b6000811561169e576115e9846119af565b836001600160a01b031663bb7b8b806040518163ffffffff1660e01b815260040160206040518083038186803b15801561162257600080fd5b505afa158015611636573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061165a9190611ec6565b9050836001600160a01b03167fe4e8751d7ee9680c15b1a348b174e860467c86da7f4da037714ff62621947fb5826040516116959190612609565b60405180910390a25b6040518060600160405280846001600160a01b03168152602001846001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b1580156116f157600080fd5b505afa158015611705573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117299190611ee4565b60ff90811682526001600160581b038481166020938401526001600160a01b03888116600081815260028652604080822088518154988a0151998301516001600160a01b03199099169086161760ff60a01b1916600160a01b9990971698909802959095176001600160a81b0316600160a81b96909416959095029290921790945590519286169290917fd748ce6086753f34f4a44a74c6e4ca397bcb452a0ce8389ba826794b0bd77dc391a350505050565b6000816001600160a01b031663bb7b8b806040518163ffffffff1660e01b815260040160206040518083038186803b15801561181757600080fd5b505afa15801561182b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061184f9190611ec6565b1161060d5760405162461bcd60e51b815260040161028c9061254b565b600061187783610992565b6001600160a01b03161461189d5760405162461bcd60e51b815260040161028c906125bb565b816001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b1580156118d657600080fd5b505afa1580156118ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061190e9190611ee4565b60ff166012146119305760405162461bcd60e51b815260040161028c9061257b565b6001600160a01b0382811660008181526001602052604080822080546001600160a01b0319169486169485179055517faa4ae250fb435bb4b31ed0b95822bc179fc6c5dd0c727c3ffe08d444025efd989190a35050565b6000828211156119a95760405162461bcd60e51b815260040161028c9061251b565b50900390565b6119b7610d88565b6001600160a01b031663e4e67c0f826040518263ffffffff1660e01b81526004016119e291906124aa565b600060405180830381600087803b1580156119fc57600080fd5b505af1158015611480573d6000803e3d6000fd5b604080516060810182526000808252602082018190529181019190915290565b604051806101400160405280600a906020820280368337509192915050565b80356114e4816126a4565b80516114e4816126a4565b600082601f830112611a7657600080fd5b600a611a89611a848261263d565b612617565b91508183856020840282011115611a9f57600080fd5b60005b83811015611acb5781611ab58882611a5a565b8452506020928301929190910190600101611aa2565b5050505092915050565b60008083601f840112611ae757600080fd5b5081356001600160401b03811115611afe57600080fd5b602083019150836020820283011115610bbb57600080fd5b600082601f830112611b2757600080fd5b600a611b35611a848261263d565b91508183856020840282011115611b4b57600080fd5b60005b83811015611acb5781611b618882611b82565b8452506020928301929190910190600101611b4e565b80356114e4816126b8565b80516114e4816126c1565b80356114e4816126ca565b80516114e4816126ca565b80516114e4816126d3565b600060208284031215611bc057600080fd5b6000611bcc8484611a4f565b949350505050565b600060208284031215611be657600080fd5b6000611bcc8484611a5a565b60008060408385031215611c0557600080fd5b6000611c118585611a4f565b9250506020611c2285828601611b8d565b9150509250929050565b6000806102808385031215611c4057600080fd5b6000611c4c8585611a65565b925050610140611c2285828601611b16565b60008060208385031215611c7157600080fd5b82356001600160401b03811115611c8757600080fd5b611c9385828601611ad5565b92509250509250929050565b60008060008060408587031215611cb557600080fd5b84356001600160401b03811115611ccb57600080fd5b611cd787828801611ad5565b945094505060208501356001600160401b03811115611cf557600080fd5b611d0187828801611ad5565b95989497509550505050565b60008060008060008060608789031215611d2657600080fd5b86356001600160401b03811115611d3c57600080fd5b611d4889828a01611ad5565b965096505060208701356001600160401b03811115611d6657600080fd5b611d7289828a01611ad5565b945094505060408701356001600160401b03811115611d9057600080fd5b611d9c89828a01611ad5565b92509250509295509295509295565b60008060008060008060008060008060a08b8d031215611dca57600080fd5b8a356001600160401b03811115611de057600080fd5b611dec8d828e01611ad5565b9a509a505060208b01356001600160401b03811115611e0a57600080fd5b611e168d828e01611ad5565b985098505060408b01356001600160401b03811115611e3457600080fd5b611e408d828e01611ad5565b965096505060608b01356001600160401b03811115611e5e57600080fd5b611e6a8d828e01611ad5565b945094505060808b01356001600160401b03811115611e8857600080fd5b611e948d828e01611ad5565b92509250509295989b9194979a5092959850565b600060208284031215611eba57600080fd5b6000611bcc8484611b77565b600060208284031215611ed857600080fd5b6000611bcc8484611b98565b600060208284031215611ef657600080fd5b6000611bcc8484611ba3565b6000611f0e8383611f22565b505060200190565b6000611f0e838361248f565b611f2b8161266d565b82525050565b6000611f3c82612660565b611f468185612664565b9350611f518361265a565b8060005b83811015611f7f578151611f698882611f02565b9750611f748361265a565b925050600101611f55565b509495945050505050565b6000611f9582612660565b611f9f8185612664565b9350611faa8361265a565b8060005b83811015611f7f578151611fc28882611f16565b9750611fcd8361265a565b925050600101611fae565b611f2b81612678565b6000611fee603283612664565b7f63616c63556e6465726c79696e6756616c7565733a205f64657269766174697681527119481a5cc81b9bdd081cdd5c1c1bdc9d195960721b602082015260400192915050565b6000612042604983612664565b7f6f6e6c7946756e644465706c6f7965724f776e65723a204f6e6c79207468652081527f46756e644465706c6f796572206f776e65722063616e2063616c6c207468697360208201526810333ab731ba34b7b760b91b604082015260600192915050565b60006120b3601a83612664565b7f5f5f616464506f6f6c733a20556e657175616c20617272617973000000000000815260200192915050565b60006120ec601e83612664565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000612125602083612664565b7f5f5f6164644761756765546f6b656e733a20556e657175616c20617272617973815260200192915050565b600061215e601a83612664565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b6000612197602983612664565b7f5f5f76616c6964617465506f6f6c436f6d7061746962696c6974793a20496e638152686f6d70617469626c6560b81b602082015260400192915050565b60006121e2601e83612664565b7f5f5f616464506f6f6c733a20416c726561647920726567697374657265640000815260200192915050565b600061221b602183612664565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b600061225e601f83612664565b7f5f5f616464446572697661746976653a204e6f742031382d646563696d616c00815260200192915050565b6000612297601983612664565b7f5f5f616464506f6f6c733a20456d707479206c70546f6b656e00000000000000815260200192915050565b60006122d0602a83612664565b7f5f5f76616c696461746547617567654d61696e52656769737472793a20496e76815269616c696420676175676560b01b602082015260400192915050565b600061231c603583612664565b7f5f5f76616c696461746547617567654d657461706f6f6c466163746f727952658152746769737472793a20496e76616c696420676175676560581b602082015260400192915050565b6000612373601f83612664565b7f5f5f616464446572697661746976653a20416c72656164792065786973747300815260200192915050565b60006123ac601883612664565b7f616464506f6f6c733a20496e76616c696420696e707574730000000000000000815260200192915050565b60006123e5601e83612664565b7f757064617465506f6f6c496e666f3a20556e657175616c206172726179730000815260200192915050565b600061241e602583612664565b7f5f5f6164644761756765546f6b656e733a20506f6f6c206e6f742072656769738152641d195c995960da1b602082015260400192915050565b805160608301906124698482611f22565b50602082015161247c60208501826124a1565b506040820151610ec46040850182612498565b611f2b8161268f565b611f2b81612698565b611f2b81612692565b602081016114e48284611f22565b604080825281016124c98185611f31565b90508181036020830152611bcc8184611f8a565b602081016114e48284611fd8565b602080825281016114e481611fe1565b602080825281016114e481612035565b602080825281016114e4816120a6565b602080825281016114e4816120df565b602080825281016114e481612118565b602080825281016114e481612151565b602080825281016114e48161218a565b602080825281016114e4816121d5565b602080825281016114e48161220e565b602080825281016114e481612251565b602080825281016114e48161228a565b602080825281016114e4816122c3565b602080825281016114e48161230f565b602080825281016114e481612366565b602080825281016114e48161239f565b602080825281016114e4816123d8565b602080825281016114e481612411565b606081016114e48284612458565b602081016114e4828461248f565b6040518181016001600160401b038111828210171561263557600080fd5b604052919050565b60006001600160401b0382111561265357600080fd5b5060200290565b60200190565b5190565b90815260200190565b60006114e482612683565b151590565b600f0b90565b6001600160a01b031690565b90565b60ff1690565b6001600160581b031690565b6126ad8161266d565b811461060d57600080fd5b6126ad81612678565b6126ad8161267d565b6126ad8161268f565b6126ad8161269256fea164736f6c634300060c000a", "sourceMap": "941:22144:242:-:0;;;2659:408;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;864:29:358;;;;;;;;2874:67:242;;;;::::1;::::0;2951::::1;::::0;;;3029:31:::1;3049:10:::0;3029:19:::1;:31::i;:::-;2659:408:::0;;;;941:22144;;18001:158;18072:14;:31;;-1:-1:-1;;;;;;18072:31:242;-1:-1:-1;;;;;18072:31:242;;;;;18119:33;;;;;;18072:31;;18119:33;:::i;:::-;;;;;;;;18001:158;:::o;5:134:-1:-;83:13;;101:33;83:13;101:33;:::i;:::-;68:71;;;;:::o;146:134::-;224:13;;242:33;224:13;242:33;:::i;287:672::-;;;;;453:3;441:9;432:7;428:23;424:33;421:2;;;470:1;467;460:12;421:2;505:1;522:64;578:7;558:9;522:64;:::i;:::-;512:74;;484:108;623:2;641:64;697:7;688:6;677:9;673:22;641:64;:::i;:::-;631:74;;602:109;742:2;760:64;816:7;807:6;796:9;792:22;760:64;:::i;:::-;750:74;;721:109;861:2;879:64;935:7;926:6;915:9;911:22;879:64;:::i;:::-;869:74;;840:109;415:544;;;;;;;:::o;966:113::-;1049:24;1067:5;1049:24;:::i;:::-;1044:3;1037:37;1031:48;;:::o;1086:222::-;1213:2;1198:18;;1227:71;1202:9;1271:6;1227:71;:::i;1315:91::-;;-1:-1;;;;;1475:54;;1377:24;1458:76::o;1541:72::-;1603:5;1586:27::o;1620:117::-;1689:24;1707:5;1689:24;:::i;:::-;1682:5;1679:35;1669:2;;1728:1;1725;1718:12;1669:2;1663:74;:::o;1744:117::-;1813:24;1831:5;1813:24;:::i;1787:74::-;941:22144:242;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106101005760003560e01c8063727212f6116100975780639be918e6116100665780639be918e614610206578063bb5c7b1514610226578063f044506b1461022e578063f6d959c31461024157610100565b8063727212f6146101c2578063893d20e8146101e35780638f72b136146101eb57806397c0ac87146101fe57610100565b80634b164140116100d35780634b1641401461017657806351e7d01f14610189578063540eaddc1461019c5780636a2175c0146101af57610100565b80630254f0541461010557806305ecc2d41461011a57806306bfa9381461012d5780631f5bce5514610156575b600080fd5b610118610113366004611dab565b610254565b005b610118610128366004611bae565b6105cc565b61014061013b366004611bae565b610610565b60405161014d91906125fb565b60405180910390f35b610169610164366004611bae565b61066e565b60405161014d91906124aa565b610118610184366004611c5e565b61068c565b610118610197366004611c9f565b6107c0565b6101186101aa366004611dab565b61093c565b6101696101bd366004611bae565b610992565b6101d56101d0366004611bf2565b6109b0565b60405161014d9291906124b8565b610169610bc2565b6101186101f9366004611c5e565b610c5a565b610169610d47565b610219610214366004611bae565b610d6b565b60405161014d91906124dd565b610169610d88565b61011861023c366004611d0d565b610d97565b61011861024f366004611c9f565b610e80565b61025c610bc2565b6001600160a01b0316336001600160a01b0316146102955760405162461bcd60e51b815260040161028c906124fb565b60405180910390fd5b600061029f610eca565b905060006102ab610f25565b905060005b8b8110156105ab57826001600160a01b031663379510498e8e848181106102d357fe5b90506020020160208101906102e89190611bae565b6040518263ffffffff1660e01b815260040161030491906124aa565b60206040518083038186803b15801561031c57600080fd5b505afa158015610330573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103549190611bd4565b6001600160a01b031687878381811061036957fe5b905060200201602081019061037e9190611bae565b6001600160a01b0316141561040e57600085858381811061039b57fe5b90506020020160208101906103b09190611bae565b6001600160a01b031614610409576104098585838181106103cd57fe5b90506020020160208101906103e29190611bae565b8e8e848181106103ee57fe5b90506020020160208101906104039190611bae565b85610f8d565b6105a3565b8c8c8281811061041a57fe5b905060200201602081019061042f9190611bae565b6001600160a01b031687878381811061044457fe5b90506020020160208101906104599190611bae565b6001600160a01b031614801561050a57506000826001600160a01b031663940494f18f8f8581811061048757fe5b905060200201602081019061049c9190611bae565b6040518263ffffffff1660e01b81526004016104b891906124aa565b60206040518083038186803b1580156104d057600080fd5b505afa1580156104e4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105089190611ec6565b115b1561058b57600085858381811061051d57fe5b90506020020160208101906105329190611bae565b6001600160a01b0316146104095761040985858381811061054f57fe5b90506020020160208101906105649190611bae565b8e8e8481811061057057fe5b90506020020160208101906105859190611bae565b84611073565b60405162461bcd60e51b815260040161028c906125cb565b6001016102b0565b506105be8c8c8c8c8c8c8c8c8c8c61111f565b505050505050505050505050565b6105d4610bc2565b6001600160a01b0316336001600160a01b0316146106045760405162461bcd60e51b815260040161028c906124fb565b61060d81611390565b50565b610618611a10565b506001600160a01b03908116600090815260026020908152604091829020825160608101845290549384168152600160a01b840460ff1691810191909152600160a81b9092046001600160581b03169082015290565b6001600160a01b039081166000908152600360205260409020541690565b610694610bc2565b6001600160a01b0316336001600160a01b0316146106c45760405162461bcd60e51b815260040161028c906124fb565b60005b818110156107bb57600260008484848181106106df57fe5b90506020020160208101906106f49190611bae565b6001600160a01b031681526020810191909152604001600090812081905560039084848481811061072157fe5b90506020020160208101906107369190611bae565b6001600160a01b03168152602081019190915260400160002080546001600160a01b031916905582828281811061076957fe5b905060200201602081019061077e9190611bae565b6001600160a01b03167f4106dfdaa577573db51c0ca93f766dbedfa0758faa2e7f5bcdb7c142be803c3f60405160405180910390a26001016106c7565b505050565b6107c8610bc2565b6001600160a01b0316336001600160a01b0316146107f85760405162461bcd60e51b815260040161028c906124fb565b6000610802610eca565b9050600061080e610f25565b905060005b858110156109275786868281811061082757fe5b905060200201602081019061083c9190611bae565b6001600160a01b0316826001600160a01b031663daf297b987878581811061086057fe5b90506020020160208101906108759190611bae565b6040518263ffffffff1660e01b815260040161089191906124aa565b60206040518083038186803b1580156108a957600080fd5b505afa1580156108bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108e19190611bd4565b6001600160a01b03161461091f5761091f8787838181106108fe57fe5b90506020020160208101906109139190611bae565b8686848181106103ee57fe5b600101610813565b50610934868686866113e6565b505050505050565b610944610bc2565b6001600160a01b0316336001600160a01b0316146109745760405162461bcd60e51b815260040161028c906124fb565b6109868a8a8a8a8a8a8a8a8a8a61111f565b50505050505050505050565b6001600160a01b039081166000908152600160205260409020541690565b60608060006109be85610992565b90506001600160a01b0381166109e65760405162461bcd60e51b815260040161028c906124eb565b6109ee611a10565b6109f782610610565b90506000826001600160a01b031663bb7b8b806040518163ffffffff1660e01b815260040160206040518083038186803b158015610a3457600080fd5b505afa158015610a48573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a6c9190611ec6565b9050600082604001516001600160581b0316118015610a9d5750610a9d8183604001516001600160581b0316611487565b15610aac57610aac83826114ea565b6040805160018082528183019092529060208083019080368337019050509450816000015185600081518110610ade57fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509350816020015160ff1660121415610b5e57610b40670de0b6b3a7640000610b3a8884611565565b906115a6565b84600081518110610b4d57fe5b602002602001018181525050610bb7565b610b9d670de0b6b3a7640000610b3a670de0b6b3a7640000610b3a866020015160ff16600a0a610b97878d61156590919063ffffffff16565b90611565565b84600081518110610baa57fe5b6020026020010181815250505b5050505b9250929050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b158015610c1d57600080fd5b505afa158015610c31573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c559190611bd4565b905090565b610c62610bc2565b6001600160a01b0316336001600160a01b031614610c925760405162461bcd60e51b815260040161028c906124fb565b60005b818110156107bb5760016000848484818110610cad57fe5b9050602002016020810190610cc29190611bae565b6001600160a01b03168152602081019190915260400160002080546001600160a01b0319169055828282818110610cf557fe5b9050602002016020810190610d0a9190611bae565b6001600160a01b03167fc15eb25d807b570f4567baf6e97c7b26d58a7d0512dc85e8db15375a056b860460405160405180910390a2600101610c95565b7f000000000000000000000000000000000000000000000000000000000000000090565b600080610d7783610992565b6001600160a01b0316141592915050565b6000546001600160a01b031690565b610d9f610bc2565b6001600160a01b0316336001600160a01b031614610dcf5760405162461bcd60e51b815260040161028c906124fb565b8483148015610ddd57508481145b610df95760405162461bcd60e51b815260040161028c906125db565b60005b85811015610e7757610e6f878783818110610e1357fe5b9050602002016020810190610e289190611bae565b868684818110610e3457fe5b9050602002016020810190610e499190611bae565b858585818110610e5557fe5b9050602002016020810190610e6a9190611ea8565b6115d8565b600101610dfc565b50505050505050565b610e88610bc2565b6001600160a01b0316336001600160a01b031614610eb85760405162461bcd60e51b815260040161028c906124fb565b610ec4848484846113e6565b50505050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a262904b6040518163ffffffff1660e01b815260040160206040518083038186803b158015610c1d57600080fd5b60405163124fd3dd60e21b81526000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063493f4f7490610f7590600390600401612609565b60206040518083038186803b158015610c1d57600080fd5b610f95611a30565b6040516356059ffb60e01b81526001600160a01b038316906356059ffb90610fc19086906004016124aa565b6102806040518083038186803b158015610fda57600080fd5b505afa158015610fee573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110129190611c2c565b50905060005b600a81101561105a578181600a811061102d57fe5b60200201516001600160a01b0316856001600160a01b031614156110525750506107bb565b600101611018565b5060405162461bcd60e51b815260040161028c9061259b565b60405163daf297b960e01b81526001600160a01b0382169063daf297b99061109f9085906004016124aa565b60206040518083038186803b1580156110b757600080fd5b505afa1580156110cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110ef9190611bd4565b6001600160a01b0316836001600160a01b0316146107bb5760405162461bcd60e51b815260040161028c906125ab565b888714801561112d57508885145b801561113857508883145b801561114357508881145b61115f5760405162461bcd60e51b815260040161028c9061250b565b60005b8981101561138357600085858381811061117857fe5b905060200201602081019061118d9190611bae565b6001600160a01b031614156111b45760405162461bcd60e51b815260040161028c9061258b565b60006111da8c8c848181106111c557fe5b90506020020160208101906101649190611bae565b6001600160a01b0316146112005760405162461bcd60e51b815260040161028c9061255b565b6112298b8b8381811061120f57fe5b90506020020160208101906112249190611bae565b6117dc565b61127a8b8b8381811061123857fe5b905060200201602081019061124d9190611bae565b8a8a8481811061125957fe5b905060200201602081019061126e9190611bae565b898985818110610e5557fe5b84848281811061128657fe5b905060200201602081019061129b9190611bae565b600360008d8d858181106112ab57fe5b90506020020160208101906112c09190611bae565b6001600160a01b039081168252602082019290925260400160002080546001600160a01b0319169290911691909117905561133b85858381811061130057fe5b90506020020160208101906113159190611bae565b8c8c8481811061132157fe5b90506020020160208101906113369190611bae565b61186c565b600083838381811061134957fe5b905060200201602081019061135e9190611bae565b6001600160a01b03161461137b5761137b83838381811061130057fe5b600101611162565b5050505050505050505050565b600080546001600160a01b0319166001600160a01b0383161790556040517f285938205335d4bea92402795be7d763d8fdcf6b363506d1e419f026c37f44bd906113db9083906124aa565b60405180910390a150565b8281146114055760405162461bcd60e51b815260040161028c9061252b565b60005b838110156114805760006114218484848181106111c557fe5b6001600160a01b031614156114485760405162461bcd60e51b815260040161028c906125eb565b61147885858381811061145757fe5b905060200201602081019061146c9190611bae565b84848481811061132157fe5b600101611408565b5050505050565b600080828411156114a35761149c8484611987565b90506114b0565b6114ad8385611987565b90505b6114e0612710610b3a857f0000000000000000000000000000000000000000000000000000000000000000611565565b1090505b92915050565b6114f3826119af565b6001600160a01b0382166000818152600260205260409081902080546001600160a81b0316600160a81b6001600160581b03861602179055517fe4e8751d7ee9680c15b1a348b174e860467c86da7f4da037714ff62621947fb590611559908490612609565b60405180910390a25050565b600082611574575060006114e4565b8282028284828161158157fe5b041461159f5760405162461bcd60e51b815260040161028c9061256b565b9392505050565b60008082116115c75760405162461bcd60e51b815260040161028c9061253b565b8183816115d057fe5b049392505050565b6000811561169e576115e9846119af565b836001600160a01b031663bb7b8b806040518163ffffffff1660e01b815260040160206040518083038186803b15801561162257600080fd5b505afa158015611636573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061165a9190611ec6565b9050836001600160a01b03167fe4e8751d7ee9680c15b1a348b174e860467c86da7f4da037714ff62621947fb5826040516116959190612609565b60405180910390a25b6040518060600160405280846001600160a01b03168152602001846001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b1580156116f157600080fd5b505afa158015611705573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117299190611ee4565b60ff90811682526001600160581b038481166020938401526001600160a01b03888116600081815260028652604080822088518154988a0151998301516001600160a01b03199099169086161760ff60a01b1916600160a01b9990971698909802959095176001600160a81b0316600160a81b96909416959095029290921790945590519286169290917fd748ce6086753f34f4a44a74c6e4ca397bcb452a0ce8389ba826794b0bd77dc391a350505050565b6000816001600160a01b031663bb7b8b806040518163ffffffff1660e01b815260040160206040518083038186803b15801561181757600080fd5b505afa15801561182b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061184f9190611ec6565b1161060d5760405162461bcd60e51b815260040161028c9061254b565b600061187783610992565b6001600160a01b03161461189d5760405162461bcd60e51b815260040161028c906125bb565b816001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b1580156118d657600080fd5b505afa1580156118ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061190e9190611ee4565b60ff166012146119305760405162461bcd60e51b815260040161028c9061257b565b6001600160a01b0382811660008181526001602052604080822080546001600160a01b0319169486169485179055517faa4ae250fb435bb4b31ed0b95822bc179fc6c5dd0c727c3ffe08d444025efd989190a35050565b6000828211156119a95760405162461bcd60e51b815260040161028c9061251b565b50900390565b6119b7610d88565b6001600160a01b031663e4e67c0f826040518263ffffffff1660e01b81526004016119e291906124aa565b600060405180830381600087803b1580156119fc57600080fd5b505af1158015611480573d6000803e3d6000fd5b604080516060810182526000808252602082018190529181019190915290565b604051806101400160405280600a906020820280368337509192915050565b80356114e4816126a4565b80516114e4816126a4565b600082601f830112611a7657600080fd5b600a611a89611a848261263d565b612617565b91508183856020840282011115611a9f57600080fd5b60005b83811015611acb5781611ab58882611a5a565b8452506020928301929190910190600101611aa2565b5050505092915050565b60008083601f840112611ae757600080fd5b5081356001600160401b03811115611afe57600080fd5b602083019150836020820283011115610bbb57600080fd5b600082601f830112611b2757600080fd5b600a611b35611a848261263d565b91508183856020840282011115611b4b57600080fd5b60005b83811015611acb5781611b618882611b82565b8452506020928301929190910190600101611b4e565b80356114e4816126b8565b80516114e4816126c1565b80356114e4816126ca565b80516114e4816126ca565b80516114e4816126d3565b600060208284031215611bc057600080fd5b6000611bcc8484611a4f565b949350505050565b600060208284031215611be657600080fd5b6000611bcc8484611a5a565b60008060408385031215611c0557600080fd5b6000611c118585611a4f565b9250506020611c2285828601611b8d565b9150509250929050565b6000806102808385031215611c4057600080fd5b6000611c4c8585611a65565b925050610140611c2285828601611b16565b60008060208385031215611c7157600080fd5b82356001600160401b03811115611c8757600080fd5b611c9385828601611ad5565b92509250509250929050565b60008060008060408587031215611cb557600080fd5b84356001600160401b03811115611ccb57600080fd5b611cd787828801611ad5565b945094505060208501356001600160401b03811115611cf557600080fd5b611d0187828801611ad5565b95989497509550505050565b60008060008060008060608789031215611d2657600080fd5b86356001600160401b03811115611d3c57600080fd5b611d4889828a01611ad5565b965096505060208701356001600160401b03811115611d6657600080fd5b611d7289828a01611ad5565b945094505060408701356001600160401b03811115611d9057600080fd5b611d9c89828a01611ad5565b92509250509295509295509295565b60008060008060008060008060008060a08b8d031215611dca57600080fd5b8a356001600160401b03811115611de057600080fd5b611dec8d828e01611ad5565b9a509a505060208b01356001600160401b03811115611e0a57600080fd5b611e168d828e01611ad5565b985098505060408b01356001600160401b03811115611e3457600080fd5b611e408d828e01611ad5565b965096505060608b01356001600160401b03811115611e5e57600080fd5b611e6a8d828e01611ad5565b945094505060808b01356001600160401b03811115611e8857600080fd5b611e948d828e01611ad5565b92509250509295989b9194979a5092959850565b600060208284031215611eba57600080fd5b6000611bcc8484611b77565b600060208284031215611ed857600080fd5b6000611bcc8484611b98565b600060208284031215611ef657600080fd5b6000611bcc8484611ba3565b6000611f0e8383611f22565b505060200190565b6000611f0e838361248f565b611f2b8161266d565b82525050565b6000611f3c82612660565b611f468185612664565b9350611f518361265a565b8060005b83811015611f7f578151611f698882611f02565b9750611f748361265a565b925050600101611f55565b509495945050505050565b6000611f9582612660565b611f9f8185612664565b9350611faa8361265a565b8060005b83811015611f7f578151611fc28882611f16565b9750611fcd8361265a565b925050600101611fae565b611f2b81612678565b6000611fee603283612664565b7f63616c63556e6465726c79696e6756616c7565733a205f64657269766174697681527119481a5cc81b9bdd081cdd5c1c1bdc9d195960721b602082015260400192915050565b6000612042604983612664565b7f6f6e6c7946756e644465706c6f7965724f776e65723a204f6e6c79207468652081527f46756e644465706c6f796572206f776e65722063616e2063616c6c207468697360208201526810333ab731ba34b7b760b91b604082015260600192915050565b60006120b3601a83612664565b7f5f5f616464506f6f6c733a20556e657175616c20617272617973000000000000815260200192915050565b60006120ec601e83612664565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000612125602083612664565b7f5f5f6164644761756765546f6b656e733a20556e657175616c20617272617973815260200192915050565b600061215e601a83612664565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b6000612197602983612664565b7f5f5f76616c6964617465506f6f6c436f6d7061746962696c6974793a20496e638152686f6d70617469626c6560b81b602082015260400192915050565b60006121e2601e83612664565b7f5f5f616464506f6f6c733a20416c726561647920726567697374657265640000815260200192915050565b600061221b602183612664565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b600061225e601f83612664565b7f5f5f616464446572697661746976653a204e6f742031382d646563696d616c00815260200192915050565b6000612297601983612664565b7f5f5f616464506f6f6c733a20456d707479206c70546f6b656e00000000000000815260200192915050565b60006122d0602a83612664565b7f5f5f76616c696461746547617567654d61696e52656769737472793a20496e76815269616c696420676175676560b01b602082015260400192915050565b600061231c603583612664565b7f5f5f76616c696461746547617567654d657461706f6f6c466163746f727952658152746769737472793a20496e76616c696420676175676560581b602082015260400192915050565b6000612373601f83612664565b7f5f5f616464446572697661746976653a20416c72656164792065786973747300815260200192915050565b60006123ac601883612664565b7f616464506f6f6c733a20496e76616c696420696e707574730000000000000000815260200192915050565b60006123e5601e83612664565b7f757064617465506f6f6c496e666f3a20556e657175616c206172726179730000815260200192915050565b600061241e602583612664565b7f5f5f6164644761756765546f6b656e733a20506f6f6c206e6f742072656769738152641d195c995960da1b602082015260400192915050565b805160608301906124698482611f22565b50602082015161247c60208501826124a1565b506040820151610ec46040850182612498565b611f2b8161268f565b611f2b81612698565b611f2b81612692565b602081016114e48284611f22565b604080825281016124c98185611f31565b90508181036020830152611bcc8184611f8a565b602081016114e48284611fd8565b602080825281016114e481611fe1565b602080825281016114e481612035565b602080825281016114e4816120a6565b602080825281016114e4816120df565b602080825281016114e481612118565b602080825281016114e481612151565b602080825281016114e48161218a565b602080825281016114e4816121d5565b602080825281016114e48161220e565b602080825281016114e481612251565b602080825281016114e48161228a565b602080825281016114e4816122c3565b602080825281016114e48161230f565b602080825281016114e481612366565b602080825281016114e48161239f565b602080825281016114e4816123d8565b602080825281016114e481612411565b606081016114e48284612458565b602081016114e4828461248f565b6040518181016001600160401b038111828210171561263557600080fd5b604052919050565b60006001600160401b0382111561265357600080fd5b5060200290565b60200190565b5190565b90815260200190565b60006114e482612683565b151590565b600f0b90565b6001600160a01b031690565b90565b60ff1690565b6001600160581b031690565b6126ad8161266d565b811461060d57600080fd5b6126ad81612678565b6126ad8161267d565b6126ad8161268f565b6126ad8161269256fea164736f6c634300060c000a", "sourceMap": "941:22144:242:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9015:1677;;;;;;:::i;:::-;;:::i;:::-;;13296:134;;;;;;:::i;:::-;;:::i;22682:129::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;22424:125;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;12913:279::-;;;;;;:::i;:::-;;:::i;6682:609::-;;;;;;:::i;:::-;;:::i;11622:463::-;;;;;;:::i;:::-;;:::i;22943:140::-;;;;;;:::i;:::-;;:::i;3465:1940::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;1064:120:358:-;;;:::i;12400:272:242:-;;;;;;:::i;:::-;;:::i;1378:108:358:-;;;:::i;5578:159:242:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;22193:108::-;;;:::i;13769:554::-;;;;;;:::i;:::-;;:::i;7851:209::-;;;;;;:::i;:::-;;:::i;9015:1677::-;679:10:358;:8;:10::i;:::-;-1:-1:-1;;;;;665:24:358;:10;-1:-1:-1;;;;;665:24:358;;644:144;;;;-1:-1:-1;;;644:144:358;;;;;;;:::i;:::-;;;;;;;;;9293:35:242::1;9331:27;:25;:27::i;:::-;9293:65;;9368:45;9416:38;:36;:38::i;:::-;9368:86;;9470:9;9465:1049;9481:17:::0;;::::1;9465:1049;;;9609:16;-1:-1:-1::0;;;;;9609:29:242::1;;9639:6;;9646:1;9639:9;;;;;;;;;;;;;;;;;;;;:::i;:::-;9609:40;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9593:56:242::1;:9;;9603:1;9593:12;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9593:56:242::1;;9589:915;;;9734:1;9707:12:::0;;9720:1;9707:15;;::::1;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9707:29:242::1;;9703:149;;9760:73;9788:12;;9801:1;9788:15;;;;;;;;;;;;;;;;;;;;:::i;:::-;9805:6;;9812:1;9805:9;;;;;;;;;;;;;;;;;;;;:::i;:::-;9816:16;9760:27;:73::i;:::-;9589:915;;;9892:6;;9899:1;9892:9;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9876:25:242::1;:9;;9886:1;9876:12;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9876:25:242::1;;:71;;;;;9946:1;9905:15;-1:-1:-1::0;;;;;9905:27:242::1;;9933:6;;9940:1;9933:9;;;;;;;;;;;;;;;;;;;;:::i;:::-;9905:38;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:42;9876:71;9872:632;;;10195:1;10168:12:::0;;10181:1;10168:15;;::::1;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10168:29:242::1;;10164:253;;10221:177;10285:12;;10298:1;10285:15;;;;;;;;;;;;;;;;;;;;:::i;:::-;10326:6;;10333:1;10326:9;;;;;;;;;;;;;;;;;;;;:::i;:::-;10361:15;10221:38;:177::i;9872:632::-;10455:34;;-1:-1:-1::0;;;10455:34:242::1;;;;;;;:::i;9872:632::-;9500:3;;9465:1049;;;;10524:161;10548:6;;10568:21;;10603:23;;10640:9;;10663:12;;10524:10;:161::i;:::-;798:1:358;;9015:1677:242::0;;;;;;;;;;:::o;13296:134::-;679:10:358;:8;:10::i;:::-;-1:-1:-1;;;;;665:24:358;:10;-1:-1:-1;;;;;665:24:358;;644:144;;;;-1:-1:-1;;;644:144:358;;;;;;;:::i;:::-;13388:35:242::1;13408:14;13388:19;:35::i;:::-;13296:134:::0;:::o;22682:129::-;22739:25;;:::i;:::-;-1:-1:-1;;;;;;22783:21:242;;;;;;;:14;:21;;;;;;;;;22776:28;;;;;;;;;;;;;;-1:-1:-1;;;22776:28:242;;;;;;;;;;;-1:-1:-1;;;22776:28:242;;;-1:-1:-1;;;;;22776:28:242;;;;;;22682:129::o;22424:125::-;-1:-1:-1;;;;;22522:20:242;;;22487:16;22522:20;;;:13;:20;;;;;;;;22424:125::o;12913:279::-;679:10:358;:8;:10::i;:::-;-1:-1:-1;;;;;665:24:358;:10;-1:-1:-1;;;;;665:24:358;;644:144;;;;-1:-1:-1;;;644:144:358;;;;;;;:::i;:::-;13007:9:242::1;13002:184;13018:17:::0;;::::1;13002:184;;;13063:14;:25;13078:6;;13085:1;13078:9;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;13063:25:242::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;13063:25:242;;;13056:32;;;13109:13:::1;::::0;13123:6;;13130:1;13123:9;;::::1;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;13109:24:242::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;13109:24:242;13102:31;;-1:-1:-1;;;;;;13102:31:242::1;::::0;;13165:6;;13172:1;13165:9;;::::1;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;13153:22:242::1;;;;;;;;;;;13037:3;;13002:184;;;;12913:279:::0;;:::o;6682:609::-;679:10:358;:8;:10::i;:::-;-1:-1:-1;;;;;665:24:358;:10;-1:-1:-1;;;;;665:24:358;;644:144;;;;-1:-1:-1;;;644:144:358;;;;;;;:::i;:::-;6827:35:242::1;6865:27;:25;:27::i;:::-;6827:65;;6902:45;6950:38;:36;:38::i;:::-;6902:86;;7004:9;6999:237;7015:23:::0;;::::1;6999:237;;;7103:12;;7116:1;7103:15;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;7063:55:242::1;:15;-1:-1:-1::0;;;;;7063:25:242::1;;7089:6;;7096:1;7089:9;;;;;;;;;;;;;;;;;;;;:::i;:::-;7063:36;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;7063:55:242::1;;7059:167;;7138:73;7166:12;;7179:1;7166:15;;;;;;;;;;;;;;;;;;;;:::i;:::-;7183:6;;7190:1;7183:9;;;;;;7138:73;7040:3;;6999:237;;;;7246:38;7263:12;;7277:6;;7246:16;:38::i;:::-;798:1:358;;6682:609:242::0;;;;:::o;11622:463::-;679:10:358;:8;:10::i;:::-;-1:-1:-1;;;;;665:24:358;:10;-1:-1:-1;;;;;665:24:358;;644:144;;;;-1:-1:-1;;;644:144:358;;;;;;;:::i;:::-;11917:161:242::1;11941:6;;11961:21;;11996:23;;12033:9;;12056:12;;11917:10;:161::i;:::-;11622:463:::0;;;;;;;;;;:::o;22943:140::-;-1:-1:-1;;;;;23047:29:242;;;23015:13;23047:29;;;:16;:29;;;;;;;;22943:140::o;3465:1940::-;3594:29;3625:35;3676:12;3691:33;3712:11;3691:20;:33::i;:::-;3676:48;-1:-1:-1;;;;;;3742:18:242;;3734:81;;;;-1:-1:-1;;;3734:81:242;;;;;;;:::i;:::-;3826:24;;:::i;:::-;3853:17;3865:4;3853:11;:17::i;:::-;3826:44;;3881:20;3924:4;-1:-1:-1;;;;;3904:43:242;;:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3881:68;;4534:1;4497:8;:34;;;-1:-1:-1;;;;;4497:38:242;;:193;;;;;4551:139;4603:12;4641:8;:34;;;-1:-1:-1;;;;;4633:43:242;4551:34;:139::i;:::-;4480:295;;;4715:49;4745:4;4751:12;4715:29;:49::i;:::-;4800:16;;;4814:1;4800:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4800:16:242;4785:31;;4844:8;:28;;;4826:12;4839:1;4826:15;;;;;;;;-1:-1:-1;;;;;4826:46:242;;;;:15;;;;;;;;;;:46;4904:16;;;4918:1;4904:16;;;;;;;;;;;;;;4826:15;4904:16;;;;;-1:-1:-1;4904:16:242;4883:37;;4934:8;:36;;;:42;;4974:2;4934:42;4930:417;;;5016:59;1663:6;5016:35;:17;5038:12;5016:21;:35::i;:::-;:39;;:59::i;:::-;4992:18;5011:1;4992:21;;;;;;;;;;;;;:83;;;;;4930:417;;;5130:206;1663:6;5130:165;1663:6;5130:124;5216:8;:36;;;5208:45;;5204:2;:49;5130:52;5169:12;5130:17;:38;;:52;;;;:::i;:::-;:73;;:124::i;:206::-;5106:18;5125:1;5106:21;;;;;;;;;;;;;:230;;;;;4930:417;5357:41;;;3465:1940;;;;;;:::o;1064:120:358:-;1105:14;1152:13;-1:-1:-1;;;;;1138:37:358;;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1131:46;;1064:120;:::o;12400:272:242:-;679:10:358;:8;:10::i;:::-;-1:-1:-1;;;;;665:24:358;:10;-1:-1:-1;;;;;665:24:358;;644:144;;;;-1:-1:-1;;;644:144:358;;;;;;;:::i;:::-;12506:9:242::1;12501:165;12517:23:::0;;::::1;12501:165;;;12568:16;:33;12585:12;;12598:1;12585:15;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12568:33:242::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;12568:33:242;12561:40;;-1:-1:-1;;;;;;12561:40:242::1;::::0;;12639:12;;12652:1;12639:15;;::::1;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12621:34:242::1;;;;;;;;;;;12542:3;;12501:165;;1378:108:358::0;1466:13;1378:108;:::o;5578:159:242:-;5652:17;;5688:28;5709:6;5688:20;:28::i;:::-;-1:-1:-1;;;;;5688:42:242;;;;5578:159;-1:-1:-1;;5578:159:242:o;22193:108::-;22243:18;22280:14;-1:-1:-1;;;;;22280:14:242;22193:108;:::o;13769:554::-;679:10:358;:8;:10::i;:::-;-1:-1:-1;;;;;665:24:358;:10;-1:-1:-1;;;;;665:24:358;;644:144;;;;-1:-1:-1;;;644:144:358;;;;;;;:::i;:::-;13995:45:242;;::::1;:112:::0;::::1;;;-1:-1:-1::0;14060:47:242;;::::1;13995:112;13974:189;;;;-1:-1:-1::0;;;13974:189:242::1;;;;;;;:::i;:::-;14179:9;14174:143;14190:17:::0;;::::1;14174:143;;;14228:78;14242:6;;14249:1;14242:9;;;;;;;;;;;;;;;;;;;;:::i;:::-;14253:21;;14275:1;14253:24;;;;;;;;;;;;;;;;;;;;:::i;:::-;14279:23;;14303:1;14279:26;;;;;;;;;;;;;;;;;;;;:::i;:::-;14228:13;:78::i;:::-;14209:3;;14174:143;;;;13769:554:::0;;;;;;:::o;7851:209::-;679:10:358;:8;:10::i;:::-;-1:-1:-1;;;;;665:24:358;:10;-1:-1:-1;;;;;665:24:358;;644:144;;;;-1:-1:-1;;;644:144:358;;;;;;;:::i;:::-;8015:38:242::1;8032:12;;8046:6;;8015:16;:38::i;:::-;7851:209:::0;;;;:::o;17174:173::-;17233:28;17299:25;-1:-1:-1;;;;;17299:38:242;;:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17425:311;17640:75;;-1:-1:-1;;;17640:75:242;;17519:39;;-1:-1:-1;;;;;17640:25:242;:37;;;;:75;;1540:1;;17640:75;;;:::i;:::-;;;;;;;;;;;;;;;;;;;19679:441;19843:25;;:::i;:::-;19874:39;;-1:-1:-1;;;19874:39:242;;-1:-1:-1;;;;;19874:32:242;;;;;:39;;19907:5;;19874:39;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;19842:71;;;19928:9;19923:128;19943:13;19939:1;:17;19923:128;;;19991:6;19998:1;19991:9;;;;;;;;;;;-1:-1:-1;;;;;19981:19:242;:6;-1:-1:-1;;;;;19981:19:242;;19977:64;;;20020:7;;;;19977:64;19958:3;;19923:128;;;;20061:52;;-1:-1:-1;;;20061:52:242;;;;;;;:::i;20205:362::-;20432:49;;-1:-1:-1;;;20432:49:242;;-1:-1:-1;;;;;20432:42:242;;;;;:49;;20475:5;;20432:49;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;20422:59:242;:6;-1:-1:-1;;;;;20422:59:242;;20401:159;;;;-1:-1:-1;;;20401:159:242;;;;;;;:::i;15578:1530::-;15856:45;;;:112;;;;-1:-1:-1;15921:47:242;;;15856:112;:165;;;;-1:-1:-1;15988:33:242;;;15856:165;:221;;;;-1:-1:-1;16041:36:242;;;15856:221;15835:294;;;;-1:-1:-1;;;15835:294:242;;;;;;;:::i;:::-;16145:9;16140:962;16156:17;;;16140:962;;;16276:1;16252:9;;16262:1;16252:12;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;16252:26:242;;;16244:64;;;;-1:-1:-1;;;16244:64:242;;;;;;;:::i;:::-;16585:1;16545:28;16563:6;;16570:1;16563:9;;;;;;;;;;;;;;;;;;;;:::i;16545:28::-;-1:-1:-1;;;;;16545:42:242;;16537:85;;;;-1:-1:-1;;;16537:85:242;;;;;;;:::i;:::-;16636:38;16664:6;;16671:1;16664:9;;;;;;;;;;;;;;;;;;;;:::i;:::-;16636:27;:38::i;:::-;16723:78;16737:6;;16744:1;16737:9;;;;;;;;;;;;;;;;;;;;:::i;:::-;16748:21;;16770:1;16748:24;;;;;;;;;;;;;;;;;;;;:::i;:::-;16774:23;;16798:1;16774:26;;;;;;16723:78;16842:9;;16852:1;16842:12;;;;;;;;;;;;;;;;;;;;:::i;:::-;16815:13;:24;16829:6;;16836:1;16829:9;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;16815:24:242;;;;;;;;;;;;;;-1:-1:-1;16815:24:242;:39;;-1:-1:-1;;;;;;16815:39:242;;;;;;;;;;;16927:40;16943:9;;16953:1;16943:12;;;;;;;;;;;;;;;;;;;;:::i;:::-;16957:6;;16964:1;16957:9;;;;;;;;;;;;;;;;;;;;:::i;:::-;16927:15;:40::i;:::-;17012:1;16985:12;;16998:1;16985:15;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;16985:29:242;;16981:111;;17034:43;17050:12;;17063:1;17050:15;;;;;;17034:43;16175:3;;16140:962;;;;15578:1530;;;;;;;;;;:::o;18001:158::-;18072:14;:31;;-1:-1:-1;;;;;;18072:31:242;-1:-1:-1;;;;;18072:31:242;;;;;18119:33;;;;;;18072:31;;18119:33;:::i;:::-;;;;;;;;18001:158;:::o;14963:547::-;15075:36;;;15067:81;;;;-1:-1:-1;;;15067:81:242;;;;;;;:::i;:::-;15164:9;15159:345;15175:23;;;15159:345;;;15284:1;15244:28;15262:6;;15269:1;15262:9;;;;;;15244:28;-1:-1:-1;;;;;15244:42:242;;;15219:138;;;;-1:-1:-1;;;15219:138:242;;;;;;;:::i;:::-;15450:43;15466:12;;15479:1;15466:15;;;;;;;;;;;;;;;;;;;;:::i;:::-;15483:6;;15490:1;15483:9;;;;;;15450:43;15200:3;;15159:345;;;;14963:547;;;;:::o;21153:871::-;21307:22;21574:15;21626:26;21603:20;:49;21599:235;;;21678:52;:20;21703:26;21678:24;:52::i;:::-;21668:62;;21599:235;;;21771:52;:26;21802:20;21771:30;:52::i;:::-;21761:62;;21599:235;21885:132;1606:5;21885:65;:26;21916:33;21885:30;:65::i;:132::-;-1:-1:-1;21863:154:242;-1:-1:-1;21153:871:242;;;;;:::o;19188:418::-;19362:33;19389:5;19362:26;:33::i;:::-;-1:-1:-1;;;;;19455:21:242;;;;;;:14;:21;;;;;;;:71;;-1:-1:-1;;;;;19455:71:242;-1:-1:-1;;;;;;;;19455:71:242;;;;;;19542:57;;;;;19455:71;;19542:57;:::i;:::-;;;;;;;;19188:418;;:::o;3538:215:442:-;3596:7;3619:6;3615:20;;-1:-1:-1;3634:1:442;3627:8;;3615:20;3657:5;;;3661:1;3657;:5;:1;3680:5;;;;;:10;3672:56;;;;-1:-1:-1;;;3672:56:442;;;;;;;:::i;:::-;3745:1;3538:215;-1:-1:-1;;;3538:215:442:o;4217:150::-;4275:7;4306:1;4302;:5;4294:44;;;;-1:-1:-1;;;4294:44:442;;;;;;;:::i;:::-;4359:1;4355;:5;;;;;;;4217:150;-1:-1:-1;;;4217:150:442:o;18222:880:242:-;18367:33;18414:22;18410:347;;;18535:33;18562:5;18535:26;:33::i;:::-;18631:5;-1:-1:-1;;;;;18611:44:242;;:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18583:74;;18713:5;-1:-1:-1;;;;;18677:69:242;;18720:25;18677:69;;;;;;:::i;:::-;;;;;;;;18410:347;18791:230;;;;;;;;18835:20;-1:-1:-1;;;;;18791:230:242;;;;;18904:20;-1:-1:-1;;;;;18898:36:242;;:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18791:230;;;;;;-1:-1:-1;;;;;18791:230:242;;;;;;;;-1:-1:-1;;;;;18767:21:242;;;-1:-1:-1;18767:21:242;;;:14;:21;;;;;;:254;;;;;;;;;;;;-1:-1:-1;;;;;;18767:254:242;;;;;;;-1:-1:-1;;;;18767:254:242;-1:-1:-1;;;18767:254:242;;;;;;;;;;;;-1:-1:-1;;;;;18767:254:242;-1:-1:-1;;;18767:254:242;;;;;;;;;;;;;;;19037:58;;;;;;18767:21;;19037:58;;;18222:880;;;;:::o;20716:220::-;20861:1;20832:5;-1:-1:-1;;;;;20812:44:242;;:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:50;20791:138;;;;-1:-1:-1;;;20791:138:242;;;;;;;:::i;14413:481::-;14558:1;14513:33;14534:11;14513:20;:33::i;:::-;-1:-1:-1;;;;;14513:47:242;;14492:125;;;;-1:-1:-1;;;14492:125:242;;;;;;;:::i;:::-;14723:11;-1:-1:-1;;;;;14717:27:242;;:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:35;;14750:2;14717:35;14709:79;;;;-1:-1:-1;;;14709:79:242;;;;;;;:::i;:::-;-1:-1:-1;;;;;14799:29:242;;;;;;;:16;:29;;;;;;:37;;-1:-1:-1;;;;;;14799:37:242;;;;;;;;;14852:35;;;14799:29;14852:35;14413:481;;:::o;3136:155:442:-;3194:7;3226:1;3221;:6;;3213:49;;;;-1:-1:-1;;;3213:49:442;;;;;;;:::i;:::-;-1:-1:-1;3279:5:442;;;3136:155::o;17808:139:242:-;17893:19;:17;:19::i;:::-;-1:-1:-1;;;;;17877:56:242;;17934:5;17877:63;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;5:130::-;72:20;;97:33;72:20;97:33;:::i;142:134::-;220:13;;238:33;220:13;238:33;:::i;303:640::-;;430:3;423:4;415:6;411:17;407:27;397:2;;448:1;445;438:12;397:2;472:4;491:79;506:63;562:6;506:63;:::i;:::-;491:79;:::i;:::-;482:88;;587:5;646:6;693:3;685:4;677:6;673:17;668:3;664:27;661:36;658:2;;;710:1;707;700:12;658:2;735:1;720:217;745:6;742:1;739:13;720:217;;;803:3;825:48;869:3;857:10;825:48;:::i;:::-;813:61;;-1:-1;897:4;888:14;;;;916;;;;;767:1;760:9;720:217;;;724:14;390:553;;;;;;;:::o;969:352::-;;;1099:3;1092:4;1084:6;1080:17;1076:27;1066:2;;1117:1;1114;1107:12;1066:2;-1:-1;1137:20;;-1:-1;;;;;1166:30;;1163:2;;;1209:1;1206;1199:12;1163:2;1243:4;1235:6;1231:17;1219:29;;1294:3;1286:4;1278:6;1274:17;1264:8;1260:32;1257:41;1254:2;;;1311:1;1308;1301:12;1720:637;;1846:3;1839:4;1831:6;1827:17;1823:27;1813:2;;1864:1;1861;1854:12;1813:2;1888:4;1907:78;1922:62;1977:6;1922:62;:::i;1907:78::-;1898:87;;2002:5;2061:6;2108:3;2100:4;2092:6;2088:17;2083:3;2079:27;2076:36;2073:2;;;2125:1;2122;2115:12;2073:2;2150:1;2135:216;2160:6;2157:1;2154:13;2135:216;;;2218:3;2240:47;2283:3;2271:10;2240:47;:::i;:::-;2228:60;;-1:-1;2311:4;2302:14;;;;2330;;;;;2182:1;2175:9;2135:216;;2365:124;2429:20;;2454:30;2429:20;2454:30;:::i;2496:132::-;2573:13;;2591:32;2573:13;2591:32;:::i;2635:130::-;2702:20;;2727:33;2702:20;2727:33;:::i;2772:134::-;2850:13;;2868:33;2850:13;2868:33;:::i;2913:130::-;2989:13;;3007:31;2989:13;3007:31;:::i;3050:241::-;;3154:2;3142:9;3133:7;3129:23;3125:32;3122:2;;;3170:1;3167;3160:12;3122:2;3205:1;3222:53;3267:7;3247:9;3222:53;:::i;:::-;3212:63;3116:175;-1:-1;;;;3116:175::o;3298:263::-;;3413:2;3401:9;3392:7;3388:23;3384:32;3381:2;;;3429:1;3426;3419:12;3381:2;3464:1;3481:64;3537:7;3517:9;3481:64;:::i;3568:366::-;;;3689:2;3677:9;3668:7;3664:23;3660:32;3657:2;;;3705:1;3702;3695:12;3657:2;3740:1;3757:53;3802:7;3782:9;3757:53;:::i;:::-;3747:63;;3719:97;3847:2;3865:53;3910:7;3901:6;3890:9;3886:22;3865:53;:::i;:::-;3855:63;;3826:98;3651:283;;;;;:::o;3941:495::-;;;4120:3;4108:9;4099:7;4095:23;4091:33;4088:2;;;4137:1;4134;4127:12;4088:2;4172:1;4189:88;4269:7;4249:9;4189:88;:::i;:::-;4179:98;;4151:132;4314:3;4333:87;4412:7;4403:6;4392:9;4388:22;4333:87;:::i;4443:397::-;;;4582:2;4570:9;4561:7;4557:23;4553:32;4550:2;;;4598:1;4595;4588:12;4550:2;4633:31;;-1:-1;;;;;4673:30;;4670:2;;;4716:1;4713;4706:12;4670:2;4744:80;4816:7;4807:6;4796:9;4792:22;4744:80;:::i;:::-;4726:98;;;;4612:218;4544:296;;;;;:::o;4847:678::-;;;;;5038:2;5026:9;5017:7;5013:23;5009:32;5006:2;;;5054:1;5051;5044:12;5006:2;5089:31;;-1:-1;;;;;5129:30;;5126:2;;;5172:1;5169;5162:12;5126:2;5200:80;5272:7;5263:6;5252:9;5248:22;5200:80;:::i;:::-;5182:98;;;;5068:218;5345:2;5334:9;5330:18;5317:32;-1:-1;;;;;5361:6;5358:30;5355:2;;;5401:1;5398;5391:12;5355:2;5429:80;5501:7;5492:6;5481:9;5477:22;5429:80;:::i;:::-;5000:525;;;;-1:-1;5411:98;-1:-1;;;;5000:525::o;5532:953::-;;;;;;;5772:2;5760:9;5751:7;5747:23;5743:32;5740:2;;;5788:1;5785;5778:12;5740:2;5823:31;;-1:-1;;;;;5863:30;;5860:2;;;5906:1;5903;5896:12;5860:2;5934:80;6006:7;5997:6;5986:9;5982:22;5934:80;:::i;:::-;5916:98;;;;5802:218;6079:2;6068:9;6064:18;6051:32;-1:-1;;;;;6095:6;6092:30;6089:2;;;6135:1;6132;6125:12;6089:2;6163:80;6235:7;6226:6;6215:9;6211:22;6163:80;:::i;:::-;6145:98;;;;6030:219;6308:2;6297:9;6293:18;6280:32;-1:-1;;;;;6324:6;6321:30;6318:2;;;6364:1;6361;6354:12;6318:2;6392:77;6461:7;6452:6;6441:9;6437:22;6392:77;:::i;:::-;6374:95;;;;6259:216;5734:751;;;;;;;;:::o;6492:1517::-;;;;;;;;;;;6836:3;6824:9;6815:7;6811:23;6807:33;6804:2;;;6853:1;6850;6843:12;6804:2;6888:31;;-1:-1;;;;;6928:30;;6925:2;;;6971:1;6968;6961:12;6925:2;6999:80;7071:7;7062:6;7051:9;7047:22;6999:80;:::i;:::-;6981:98;;;;6867:218;7144:2;7133:9;7129:18;7116:32;-1:-1;;;;;7160:6;7157:30;7154:2;;;7200:1;7197;7190:12;7154:2;7228:80;7300:7;7291:6;7280:9;7276:22;7228:80;:::i;:::-;7210:98;;;;7095:219;7373:2;7362:9;7358:18;7345:32;-1:-1;;;;;7389:6;7386:30;7383:2;;;7429:1;7426;7419:12;7383:2;7457:77;7526:7;7517:6;7506:9;7502:22;7457:77;:::i;:::-;7439:95;;;;7324:216;7599:2;7588:9;7584:18;7571:32;-1:-1;;;;;7615:6;7612:30;7609:2;;;7655:1;7652;7645:12;7609:2;7683:80;7755:7;7746:6;7735:9;7731:22;7683:80;:::i;:::-;7665:98;;;;7550:219;7828:3;7817:9;7813:19;7800:33;-1:-1;;;;;7845:6;7842:30;7839:2;;;7885:1;7882;7875:12;7839:2;7913:80;7985:7;7976:6;7965:9;7961:22;7913:80;:::i;:::-;7895:98;;;;7779:220;6798:1211;;;;;;;;;;;;;:::o;8016:235::-;;8117:2;8105:9;8096:7;8092:23;8088:32;8085:2;;;8133:1;8130;8123:12;8085:2;8168:1;8185:50;8227:7;8207:9;8185:50;:::i;8258:263::-;;8373:2;8361:9;8352:7;8348:23;8344:32;8341:2;;;8389:1;8386;8379:12;8341:2;8424:1;8441:64;8497:7;8477:9;8441:64;:::i;8528:259::-;;8641:2;8629:9;8620:7;8616:23;8612:32;8609:2;;;8657:1;8654;8647:12;8609:2;8692:1;8709:62;8763:7;8743:9;8709:62;:::i;8795:173::-;;8882:46;8924:3;8916:6;8882:46;:::i;:::-;-1:-1;;8957:4;8948:14;;8875:93::o;8977:173::-;;9064:46;9106:3;9098:6;9064:46;:::i;9158:103::-;9231:24;9249:5;9231:24;:::i;:::-;9226:3;9219:37;9213:48;;:::o;9419:690::-;;9564:54;9612:5;9564:54;:::i;:::-;9631:86;9710:6;9705:3;9631:86;:::i;:::-;9624:93;;9738:56;9788:5;9738:56;:::i;:::-;9814:7;9842:1;9827:260;9852:6;9849:1;9846:13;9827:260;;;9919:6;9913:13;9940:63;9999:3;9984:13;9940:63;:::i;:::-;9933:70;;10020:60;10073:6;10020:60;:::i;:::-;10010:70;-1:-1;;9874:1;9867:9;9827:260;;;-1:-1;10100:3;;9543:566;-1:-1;;;;;9543:566::o;10148:690::-;;10293:54;10341:5;10293:54;:::i;:::-;10360:86;10439:6;10434:3;10360:86;:::i;:::-;10353:93;;10467:56;10517:5;10467:56;:::i;:::-;10543:7;10571:1;10556:260;10581:6;10578:1;10575:13;10556:260;;;10648:6;10642:13;10669:63;10728:3;10713:13;10669:63;:::i;:::-;10662:70;;10749:60;10802:6;10749:60;:::i;:::-;10739:70;-1:-1;;10603:1;10596:9;10556:260;;10846:104;10923:21;10938:5;10923:21;:::i;10958:387::-;;11118:67;11182:2;11177:3;11118:67;:::i;:::-;11218:34;11198:55;;-1:-1;;;11282:2;11273:12;;11266:42;11336:2;11327:12;;11104:241;-1:-1;;11104:241::o;11354:447::-;;11514:67;11578:2;11573:3;11514:67;:::i;:::-;11614:34;11594:55;;11683:34;11678:2;11669:12;;11662:56;-1:-1;;;11747:2;11738:12;;11731:33;11792:2;11783:12;;11500:301;-1:-1;;11500:301::o;11810:326::-;;11970:67;12034:2;12029:3;11970:67;:::i;:::-;12070:28;12050:49;;12127:2;12118:12;;11956:180;-1:-1;;11956:180::o;12145:330::-;;12305:67;12369:2;12364:3;12305:67;:::i;:::-;12405:32;12385:53;;12466:2;12457:12;;12291:184;-1:-1;;12291:184::o;12484:332::-;;12644:67;12708:2;12703:3;12644:67;:::i;:::-;12744:34;12724:55;;12807:2;12798:12;;12630:186;-1:-1;;12630:186::o;12825:326::-;;12985:67;13049:2;13044:3;12985:67;:::i;:::-;13085:28;13065:49;;13142:2;13133:12;;12971:180;-1:-1;;12971:180::o;13160:378::-;;13320:67;13384:2;13379:3;13320:67;:::i;:::-;13420:34;13400:55;;-1:-1;;;13484:2;13475:12;;13468:33;13529:2;13520:12;;13306:232;-1:-1;;13306:232::o;13547:330::-;;13707:67;13771:2;13766:3;13707:67;:::i;:::-;13807:32;13787:53;;13868:2;13859:12;;13693:184;-1:-1;;13693:184::o;13886:370::-;;14046:67;14110:2;14105:3;14046:67;:::i;:::-;14146:34;14126:55;;-1:-1;;;14210:2;14201:12;;14194:25;14247:2;14238:12;;14032:224;-1:-1;;14032:224::o;14265:331::-;;14425:67;14489:2;14484:3;14425:67;:::i;:::-;14525:33;14505:54;;14587:2;14578:12;;14411:185;-1:-1;;14411:185::o;14605:325::-;;14765:67;14829:2;14824:3;14765:67;:::i;:::-;14865:27;14845:48;;14921:2;14912:12;;14751:179;-1:-1;;14751:179::o;14939:379::-;;15099:67;15163:2;15158:3;15099:67;:::i;:::-;15199:34;15179:55;;-1:-1;;;15263:2;15254:12;;15247:34;15309:2;15300:12;;15085:233;-1:-1;;15085:233::o;15327:390::-;;15487:67;15551:2;15546:3;15487:67;:::i;:::-;15587:34;15567:55;;-1:-1;;;15651:2;15642:12;;15635:45;15708:2;15699:12;;15473:244;-1:-1;;15473:244::o;15726:331::-;;15886:67;15950:2;15945:3;15886:67;:::i;:::-;15986:33;15966:54;;16048:2;16039:12;;15872:185;-1:-1;;15872:185::o;16066:324::-;;16226:67;16290:2;16285:3;16226:67;:::i;:::-;16326:26;16306:47;;16381:2;16372:12;;16212:178;-1:-1;;16212:178::o;16399:330::-;;16559:67;16623:2;16618:3;16559:67;:::i;:::-;16659:32;16639:53;;16720:2;16711:12;;16545:184;-1:-1;;16545:184::o;16738:374::-;;16898:67;16962:2;16957:3;16898:67;:::i;:::-;16998:34;16978:55;;-1:-1;;;17062:2;17053:12;;17046:29;17103:2;17094:12;;16884:228;-1:-1;;16884:228::o;17191:687::-;17419:23;;17338:4;17329:14;;;17448:63;17333:3;17419:23;17448:63;:::i;:::-;17358:159;17613:4;17606:5;17602:16;17596:23;17625:59;17678:4;17673:3;17669:14;17655:12;17625:59;:::i;:::-;17527:163;17784:4;17777:5;17773:16;17767:23;17796:61;17851:4;17846:3;17842:14;17828:12;17796:61;:::i;17885:103::-;17958:24;17976:5;17958:24;:::i;18115:100::-;18186:23;18203:5;18186:23;:::i;18222:97::-;18291:22;18307:5;18291:22;:::i;18326:222::-;18453:2;18438:18;;18467:71;18442:9;18511:6;18467:71;:::i;18555:629::-;18810:2;18824:47;;;18795:18;;18885:108;18795:18;18979:6;18885:108;:::i;:::-;18877:116;;19041:9;19035:4;19031:20;19026:2;19015:9;19011:18;19004:48;19066:108;19169:4;19160:6;19066:108;:::i;19191:210::-;19312:2;19297:18;;19326:65;19301:9;19364:6;19326:65;:::i;19408:416::-;19608:2;19622:47;;;19593:18;;19683:131;19593:18;19683:131;:::i;19831:416::-;20031:2;20045:47;;;20016:18;;20106:131;20016:18;20106:131;:::i;20254:416::-;20454:2;20468:47;;;20439:18;;20529:131;20439:18;20529:131;:::i;20677:416::-;20877:2;20891:47;;;20862:18;;20952:131;20862:18;20952:131;:::i;21100:416::-;21300:2;21314:47;;;21285:18;;21375:131;21285:18;21375:131;:::i;21523:416::-;21723:2;21737:47;;;21708:18;;21798:131;21708:18;21798:131;:::i;21946:416::-;22146:2;22160:47;;;22131:18;;22221:131;22131:18;22221:131;:::i;22369:416::-;22569:2;22583:47;;;22554:18;;22644:131;22554:18;22644:131;:::i;22792:416::-;22992:2;23006:47;;;22977:18;;23067:131;22977:18;23067:131;:::i;23215:416::-;23415:2;23429:47;;;23400:18;;23490:131;23400:18;23490:131;:::i;23638:416::-;23838:2;23852:47;;;23823:18;;23913:131;23823:18;23913:131;:::i;24061:416::-;24261:2;24275:47;;;24246:18;;24336:131;24246:18;24336:131;:::i;24484:416::-;24684:2;24698:47;;;24669:18;;24759:131;24669:18;24759:131;:::i;24907:416::-;25107:2;25121:47;;;25092:18;;25182:131;25092:18;25182:131;:::i;25330:416::-;25530:2;25544:47;;;25515:18;;25605:131;25515:18;25605:131;:::i;25753:416::-;25953:2;25967:47;;;25938:18;;26028:131;25938:18;26028:131;:::i;26176:416::-;26376:2;26390:47;;;26361:18;;26451:131;26361:18;26451:131;:::i;26599:330::-;26780:2;26765:18;;26794:125;26769:9;26892:6;26794:125;:::i;26936:222::-;27063:2;27048:18;;27077:71;27052:9;27121:6;27077:71;:::i;27165:256::-;27227:2;27221:9;27253:17;;;-1:-1;;;;;27313:34;;27349:22;;;27310:62;27307:2;;;27385:1;27382;27375:12;27307:2;27401;27394:22;27205:216;;-1:-1;27205:216::o;27428:245::-;;-1:-1;;;;;27578:6;27575:30;27572:2;;;27618:1;27615;27608:12;27572:2;-1:-1;27653:4;27641:17;;27509:164::o;27931:151::-;28055:4;28046:14;;28003:79::o;28247:137::-;28350:12;;28321:63::o;28766:178::-;28884:19;;;28933:4;28924:14;;28877:67::o;29311:91::-;;29373:24;29391:5;29373:24;:::i;29409:85::-;29475:13;29468:21;;29451:43::o;29501:87::-;29573:2;29562:21;;29545:43::o;29595:121::-;-1:-1;;;;;29657:54;;29640:76::o;29723:72::-;29785:5;29768:27::o;29802:81::-;29873:4;29862:16;;29845:38::o;29890:102::-;-1:-1;;;;;29951:36;;29934:58::o;29999:117::-;30068:24;30086:5;30068:24;:::i;:::-;30061:5;30058:35;30048:2;;30107:1;30104;30097:12;30123:111;30189:21;30204:5;30189:21;:::i;30241:115::-;30309:23;30326:5;30309:23;:::i;30363:117::-;30432:24;30450:5;30432:24;:::i;30487:113::-;30554:22;30570:5;30554:22;:::i", "linkReferences": {}, "immutableReferences": { "63809": [ { "start": 3790, "length": 32 }, { "start": 3903, "length": 32 } ], "63811": [ { "start": 5308, "length": 32 } ], "78707": [ { "start": 3014, "length": 32 }, { "start": 3401, "length": 32 } ] } }, "methodIdentifiers": { "addGaugeTokens(address[],address[])": "51e7d01f", "addGaugeTokensWithoutValidation(address[],address[])": "f6d959c3", "addPools(address[],address[],bool[],address[],address[])": "0254f054", "addPoolsWithoutValidation(address[],address[],bool[],address[],address[])": "540eaddc", "calcUnderlyingValues(address,uint256)": "727212f6", "getCurvePoolOwner()": "bb5c7b15", "getFundDeployer()": "97c0ac87", "getLpTokenForPool(address)": "1f5bce55", "getOwner()": "893d20e8", "getPoolForDerivative(address)": "6a2175c0", "getPoolInfo(address)": "06bfa938", "isSupportedAsset(address)": "9be918e6", "removeDerivatives(address[])": "8f72b136", "removePools(address[])": "4b164140", "setCurvePoolOwner(address)": "05ecc2d4", "updatePoolInfo(address[],address[],bool[])": "f044506b" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_fundDeployer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_addressProvider\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_poolOwner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_virtualPriceDeviationThreshold\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"poolOwner\",\"type\":\"address\"}],\"name\":\"CurvePoolOwnerSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"derivative\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"pool\",\"type\":\"address\"}],\"name\":\"DerivativeAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"derivative\",\"type\":\"address\"}],\"name\":\"DerivativeRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"pool\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"invariantProxyAsset\",\"type\":\"address\"}],\"name\":\"InvariantProxyAssetForPoolSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"pool\",\"type\":\"address\"}],\"name\":\"PoolRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"pool\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"virtualPrice\",\"type\":\"uint256\"}],\"name\":\"ValidatedVirtualPriceForPoolUpdated\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_gaugeTokens\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"_pools\",\"type\":\"address[]\"}],\"name\":\"addGaugeTokens\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_gaugeTokens\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"_pools\",\"type\":\"address[]\"}],\"name\":\"addGaugeTokensWithoutValidation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_pools\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"_invariantProxyAssets\",\"type\":\"address[]\"},{\"internalType\":\"bool[]\",\"name\":\"_reentrantVirtualPrices\",\"type\":\"bool[]\"},{\"internalType\":\"address[]\",\"name\":\"_lpTokens\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"_gaugeTokens\",\"type\":\"address[]\"}],\"name\":\"addPools\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_pools\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"_invariantProxyAssets\",\"type\":\"address[]\"},{\"internalType\":\"bool[]\",\"name\":\"_reentrantVirtualPrices\",\"type\":\"bool[]\"},{\"internalType\":\"address[]\",\"name\":\"_lpTokens\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"_gaugeTokens\",\"type\":\"address[]\"}],\"name\":\"addPoolsWithoutValidation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_derivative\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_derivativeAmount\",\"type\":\"uint256\"}],\"name\":\"calcUnderlyingValues\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"underlyings_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"underlyingAmounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurvePoolOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"poolOwner_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFundDeployer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"fundDeployer_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_pool\",\"type\":\"address\"}],\"name\":\"getLpTokenForPool\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"lpToken_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_derivative\",\"type\":\"address\"}],\"name\":\"getPoolForDerivative\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"pool_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_pool\",\"type\":\"address\"}],\"name\":\"getPoolInfo\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"invariantProxyAsset\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"invariantProxyAssetDecimals\",\"type\":\"uint8\"},{\"internalType\":\"uint88\",\"name\":\"lastValidatedVirtualPrice\",\"type\":\"uint88\"}],\"internalType\":\"struct CurvePriceFeed.PoolInfo\",\"name\":\"poolInfo_\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"}],\"name\":\"isSupportedAsset\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isSupported_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_derivatives\",\"type\":\"address[]\"}],\"name\":\"removeDerivatives\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_pools\",\"type\":\"address[]\"}],\"name\":\"removePools\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nextPoolOwner\",\"type\":\"address\"}],\"name\":\"setCurvePoolOwner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_pools\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"_invariantProxyAssets\",\"type\":\"address[]\"},{\"internalType\":\"bool[]\",\"name\":\"_reentrantVirtualPrices\",\"type\":\"bool[]\"}],\"name\":\"updatePoolInfo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"addGaugeTokens(address[],address[])\":{\"details\":\"All params are corresponding, equal length arrays. _pools must already have been added via an addPools~() function\",\"params\":{\"_gaugeTokens\":\"The ordered gauge tokens\",\"_pools\":\"The ordered pools corresponding to _gaugeTokens\"}},\"addGaugeTokensWithoutValidation(address[],address[])\":{\"details\":\"Should only be used if something is incorrectly failing in the registry validation, or if gauge tokens exist outside of the registries supported by this price feed, e.g., a wrapper for non-tokenized gauges. All params are corresponding, equal length arrays. _pools must already have been added via an addPools~() function.\",\"params\":{\"_gaugeTokens\":\"The ordered gauge tokens\",\"_pools\":\"The ordered pools corresponding to _gaugeTokens\"}},\"addPools(address[],address[],bool[],address[],address[])\":{\"details\":\"All params are corresponding, equal length arrays. address(0) can be used for any _gaugeTokens index to omit the gauge (e.g., no gauge token exists). _lpTokens is not technically necessary since it is knowable from a Curve registry, but it's better to use Curve's upgradable contracts as an input validation rather than fully-trusted.\",\"params\":{\"_gaugeTokens\":\"The ordered gauge token corresponding to _pools\",\"_invariantProxyAssets\":\"The ordered invariant proxy assets corresponding to _pools, e.g., WETH for ETH-based pools\",\"_lpTokens\":\"The ordered lpToken corresponding to _pools\",\"_pools\":\"The ordered Curve pools\",\"_reentrantVirtualPrices\":\"The ordered flags corresponding to _pools, true if the get_virtual_price() function is potentially reenterable\"}},\"addPoolsWithoutValidation(address[],address[],bool[],address[],address[])\":{\"details\":\"Should only be used if something is incorrectly failing in the registry validation, or if pools exist outside of the registries supported by this price feed. All params are corresponding, equal length arrays. address(0) can be used for any _gaugeTokens index to omit the gauge (e.g., no gauge token exists).\",\"params\":{\"_gaugeTokens\":\"The ordered gauge token corresponding to _pools\",\"_invariantProxyAssets\":\"The ordered invariant proxy assets corresponding to _pools, e.g., WETH for ETH-based pools\",\"_lpTokens\":\"The ordered lpToken corresponding to _pools\",\"_pools\":\"The ordered Curve pools\",\"_reentrantVirtualPrices\":\"The ordered flags corresponding to _pools, true if the get_virtual_price() function is potentially reenterable\"}},\"calcUnderlyingValues(address,uint256)\":{\"params\":{\"_derivative\":\"The derivative to convert\",\"_derivativeAmount\":\"The amount of the derivative to convert\"},\"returns\":{\"underlyingAmounts_\":\"The amount of each underlying asset for the equivalent derivative amount\",\"underlyings_\":\"The underlying assets for the _derivative\"}},\"getCurvePoolOwner()\":{\"returns\":{\"poolOwner_\":\"The Curve pool owner\"}},\"getFundDeployer()\":{\"returns\":{\"fundDeployer_\":\"The `FUND_DEPLOYER` variable value\"}},\"getLpTokenForPool(address)\":{\"params\":{\"_pool\":\"The pool\"},\"returns\":{\"lpToken_\":\"The lpToken\"}},\"getOwner()\":{\"details\":\"Ownership is deferred to the owner of the FundDeployer contract\",\"returns\":{\"owner_\":\"The owner\"}},\"getPoolForDerivative(address)\":{\"params\":{\"_derivative\":\"The derivative\"},\"returns\":{\"pool_\":\"The pool\"}},\"getPoolInfo(address)\":{\"params\":{\"_pool\":\"The pool\"},\"returns\":{\"poolInfo_\":\"The PoolInfo\"}},\"isSupportedAsset(address)\":{\"params\":{\"_asset\":\"The asset to check\"},\"returns\":{\"isSupported_\":\"True if the asset is supported\"}},\"removeDerivatives(address[])\":{\"details\":\"Unlikely to be needed, just in case of bad storage entry. Can remove both lpToken and gaugeToken from derivatives list, but does not remove lpToken from pool info cache.\",\"params\":{\"_derivatives\":\"The derivatives to remove\"}},\"removePools(address[])\":{\"details\":\"Unlikely to be needed, just in case of bad storage entry. Does not remove lpToken nor gauge tokens from derivatives list.\",\"params\":{\"_pools\":\"The pools to remove\"}},\"setCurvePoolOwner(address)\":{\"params\":{\"_nextPoolOwner\":\"The next pool owner value\"}},\"updatePoolInfo(address[],address[],bool[])\":{\"params\":{\"_invariantProxyAssets\":\"The ordered invariant asset proxy assets\",\"_pools\":\"The ordered pools\",\"_reentrantVirtualPrices\":\"The ordered flags corresponding to _pools, true if the get_virtual_price() function is potentially reenterable\"}}},\"title\":\"CurvePriceFeed Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"addGaugeTokens(address[],address[])\":{\"notice\":\"Adds validated gaugeTokens to the price feed\"},\"addGaugeTokensWithoutValidation(address[],address[])\":{\"notice\":\"Adds unvalidated gaugeTokens to the price feed\"},\"addPools(address[],address[],bool[],address[],address[])\":{\"notice\":\"Adds validated Curve pool info, lpTokens, and gaugeTokens to the price feed\"},\"addPoolsWithoutValidation(address[],address[],bool[],address[],address[])\":{\"notice\":\"Adds unvalidated Curve pool info, lpTokens, and gaugeTokens to the price feed\"},\"calcUnderlyingValues(address,uint256)\":{\"notice\":\"Converts a given amount of a derivative to its underlying asset values\"},\"getCurvePoolOwner()\":{\"notice\":\"Gets the Curve pool owner\"},\"getFundDeployer()\":{\"notice\":\"Gets the `FUND_DEPLOYER` variable\"},\"getLpTokenForPool(address)\":{\"notice\":\"Gets the lpToken for a given pool\"},\"getOwner()\":{\"notice\":\"Gets the owner of this contract\"},\"getPoolForDerivative(address)\":{\"notice\":\"Gets the pool for a given derivative\"},\"getPoolInfo(address)\":{\"notice\":\"Gets the stored PoolInfo for a given pool\"},\"isSupportedAsset(address)\":{\"notice\":\"Checks if an asset is supported by the price feed\"},\"removeDerivatives(address[])\":{\"notice\":\"Removes derivatives from the price feed\"},\"removePools(address[])\":{\"notice\":\"Removes pools from the price feed\"},\"setCurvePoolOwner(address)\":{\"notice\":\"Sets the Curve pool owner\"},\"updatePoolInfo(address[],address[],bool[])\":{\"notice\":\"Updates the PoolInfo for the given pools\"}},\"notice\":\"Price feed for Curve pool tokens\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/infrastructure/price-feeds/derivatives/feeds/CurvePriceFeed.sol\":\"CurvePriceFeed\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol\":{\"keccak256\":\"0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e\",\"dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK\"]},\"contracts/release/infrastructure/price-feeds/derivatives/feeds/CurvePriceFeed.sol\":{\"keccak256\":\"0xa8ddbd75bb5cb702b539b963c2694a8abcbd19eb801a36a42c0537f69ad26b42\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b6422a1ebdf7198942cee6b61ae807887a77864abc0b1bc16dba55c7b5f3ca90\",\"dweb:/ipfs/QmXNCQkT5Er6NvKBJnhk9jR4T1KhNeorAr8F6K6dQPjztx\"]},\"contracts/release/interfaces/ICurveAddressProvider.sol\":{\"keccak256\":\"0xf8da903700c623760de62b3e5d0b01997c68b8847391e23b89081128780e55e1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://735b71b448d4d5c78e98ead84bf8f8e1e94e38ff8a77c7e4f9cc944d1d73e7df\",\"dweb:/ipfs/QmXFgGFVEvQW9wpeBspcaVAXwCcxvnNJZLafTeP2HPArNQ\"]},\"contracts/release/interfaces/ICurveLiquidityPool.sol\":{\"keccak256\":\"0xd90f3399805f90d670098cc451f9948b8da7dd68be821617c76487fdc20f0731\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ba6e6e5bf761fa279329a564741e5cd2b78c5be2e50c388ac419c3d84736c9a1\",\"dweb:/ipfs/QmZ96kkg7oHLmdzwQLYbZVHDvKj8jZEJLaxNXy1j3sbgrn\"]},\"contracts/release/interfaces/ICurvePoolOwner.sol\":{\"keccak256\":\"0x42a03eb0d757153add18d4f42b5b464041056e23f6965a48705088ddd213c336\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a4166f75c4c80b8f069ae2b8cfe9bda2babca27fd30b239e30606eca69f8878c\",\"dweb:/ipfs/QmYNULkXYTaKQUiCA8htR9KbCkK5YhrHfJgKtBqXiNPt9R\"]},\"contracts/release/interfaces/ICurveRegistryMain.sol\":{\"keccak256\":\"0x9e67cfcd4195bfd8db785be1cba42bf8871d0638770adaf04d638227b29a9b2b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://cb2587e7026be73f27d4dd75deb44faeca3112a58ddc07bb87bca46d96fd977b\",\"dweb:/ipfs/QmTVdpCWZ9rv583gxP5Ycvs5Nf7jZTxVWr5oeZvywYNSSh\"]},\"contracts/release/interfaces/ICurveRegistryMetapoolFactory.sol\":{\"keccak256\":\"0x43aa6bfbda8ca1fdcb0890792e7969999146c690986938ac43818ca9b9343e58\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3426ad7d87cd51519c288004f970da83bf672d60fc7d1c647af5e84855f6a4b5\",\"dweb:/ipfs/QmevngH3Acet8R6YHzGLRyNeEoUYfbnQm7NSbzHYN7rdpf\"]},\"contracts/release/utils/FundDeployerOwnerMixin.sol\":{\"keccak256\":\"0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927\",\"dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_fundDeployer", "type": "address" }, { "internalType": "address", "name": "_addressProvider", "type": "address" }, { "internalType": "address", "name": "_poolOwner", "type": "address" }, { "internalType": "uint256", "name": "_virtualPriceDeviationThreshold", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "poolOwner", "type": "address", "indexed": false } ], "type": "event", "name": "CurvePoolOwnerSet", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "derivative", "type": "address", "indexed": true }, { "internalType": "address", "name": "pool", "type": "address", "indexed": true } ], "type": "event", "name": "DerivativeAdded", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "derivative", "type": "address", "indexed": true } ], "type": "event", "name": "DerivativeRemoved", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "pool", "type": "address", "indexed": true }, { "internalType": "address", "name": "invariantProxyAsset", "type": "address", "indexed": true } ], "type": "event", "name": "InvariantProxyAssetForPoolSet", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "pool", "type": "address", "indexed": true } ], "type": "event", "name": "PoolRemoved", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "pool", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "virtualPrice", "type": "uint256", "indexed": false } ], "type": "event", "name": "ValidatedVirtualPriceForPoolUpdated", "anonymous": false }, { "inputs": [ { "internalType": "address[]", "name": "_gaugeTokens", "type": "address[]" }, { "internalType": "address[]", "name": "_pools", "type": "address[]" } ], "stateMutability": "nonpayable", "type": "function", "name": "addGaugeTokens" }, { "inputs": [ { "internalType": "address[]", "name": "_gaugeTokens", "type": "address[]" }, { "internalType": "address[]", "name": "_pools", "type": "address[]" } ], "stateMutability": "nonpayable", "type": "function", "name": "addGaugeTokensWithoutValidation" }, { "inputs": [ { "internalType": "address[]", "name": "_pools", "type": "address[]" }, { "internalType": "address[]", "name": "_invariantProxyAssets", "type": "address[]" }, { "internalType": "bool[]", "name": "_reentrantVirtualPrices", "type": "bool[]" }, { "internalType": "address[]", "name": "_lpTokens", "type": "address[]" }, { "internalType": "address[]", "name": "_gaugeTokens", "type": "address[]" } ], "stateMutability": "nonpayable", "type": "function", "name": "addPools" }, { "inputs": [ { "internalType": "address[]", "name": "_pools", "type": "address[]" }, { "internalType": "address[]", "name": "_invariantProxyAssets", "type": "address[]" }, { "internalType": "bool[]", "name": "_reentrantVirtualPrices", "type": "bool[]" }, { "internalType": "address[]", "name": "_lpTokens", "type": "address[]" }, { "internalType": "address[]", "name": "_gaugeTokens", "type": "address[]" } ], "stateMutability": "nonpayable", "type": "function", "name": "addPoolsWithoutValidation" }, { "inputs": [ { "internalType": "address", "name": "_derivative", "type": "address" }, { "internalType": "uint256", "name": "_derivativeAmount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "calcUnderlyingValues", "outputs": [ { "internalType": "address[]", "name": "underlyings_", "type": "address[]" }, { "internalType": "uint256[]", "name": "underlyingAmounts_", "type": "uint256[]" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getCurvePoolOwner", "outputs": [ { "internalType": "address", "name": "poolOwner_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getFundDeployer", "outputs": [ { "internalType": "address", "name": "fundDeployer_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_pool", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getLpTokenForPool", "outputs": [ { "internalType": "address", "name": "lpToken_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getOwner", "outputs": [ { "internalType": "address", "name": "owner_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_derivative", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getPoolForDerivative", "outputs": [ { "internalType": "address", "name": "pool_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_pool", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getPoolInfo", "outputs": [ { "internalType": "struct CurvePriceFeed.PoolInfo", "name": "poolInfo_", "type": "tuple", "components": [ { "internalType": "address", "name": "invariantProxyAsset", "type": "address" }, { "internalType": "uint8", "name": "invariantProxyAssetDecimals", "type": "uint8" }, { "internalType": "uint88", "name": "lastValidatedVirtualPrice", "type": "uint88" } ] } ] }, { "inputs": [ { "internalType": "address", "name": "_asset", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "isSupportedAsset", "outputs": [ { "internalType": "bool", "name": "isSupported_", "type": "bool" } ] }, { "inputs": [ { "internalType": "address[]", "name": "_derivatives", "type": "address[]" } ], "stateMutability": "nonpayable", "type": "function", "name": "removeDerivatives" }, { "inputs": [ { "internalType": "address[]", "name": "_pools", "type": "address[]" } ], "stateMutability": "nonpayable", "type": "function", "name": "removePools" }, { "inputs": [ { "internalType": "address", "name": "_nextPoolOwner", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "setCurvePoolOwner" }, { "inputs": [ { "internalType": "address[]", "name": "_pools", "type": "address[]" }, { "internalType": "address[]", "name": "_invariantProxyAssets", "type": "address[]" }, { "internalType": "bool[]", "name": "_reentrantVirtualPrices", "type": "bool[]" } ], "stateMutability": "nonpayable", "type": "function", "name": "updatePoolInfo" } ], "devdoc": { "kind": "dev", "methods": { "addGaugeTokens(address[],address[])": { "details": "All params are corresponding, equal length arrays. _pools must already have been added via an addPools~() function", "params": { "_gaugeTokens": "The ordered gauge tokens", "_pools": "The ordered pools corresponding to _gaugeTokens" } }, "addGaugeTokensWithoutValidation(address[],address[])": { "details": "Should only be used if something is incorrectly failing in the registry validation, or if gauge tokens exist outside of the registries supported by this price feed, e.g., a wrapper for non-tokenized gauges. All params are corresponding, equal length arrays. _pools must already have been added via an addPools~() function.", "params": { "_gaugeTokens": "The ordered gauge tokens", "_pools": "The ordered pools corresponding to _gaugeTokens" } }, "addPools(address[],address[],bool[],address[],address[])": { "details": "All params are corresponding, equal length arrays. address(0) can be used for any _gaugeTokens index to omit the gauge (e.g., no gauge token exists). _lpTokens is not technically necessary since it is knowable from a Curve registry, but it's better to use Curve's upgradable contracts as an input validation rather than fully-trusted.", "params": { "_gaugeTokens": "The ordered gauge token corresponding to _pools", "_invariantProxyAssets": "The ordered invariant proxy assets corresponding to _pools, e.g., WETH for ETH-based pools", "_lpTokens": "The ordered lpToken corresponding to _pools", "_pools": "The ordered Curve pools", "_reentrantVirtualPrices": "The ordered flags corresponding to _pools, true if the get_virtual_price() function is potentially reenterable" } }, "addPoolsWithoutValidation(address[],address[],bool[],address[],address[])": { "details": "Should only be used if something is incorrectly failing in the registry validation, or if pools exist outside of the registries supported by this price feed. All params are corresponding, equal length arrays. address(0) can be used for any _gaugeTokens index to omit the gauge (e.g., no gauge token exists).", "params": { "_gaugeTokens": "The ordered gauge token corresponding to _pools", "_invariantProxyAssets": "The ordered invariant proxy assets corresponding to _pools, e.g., WETH for ETH-based pools", "_lpTokens": "The ordered lpToken corresponding to _pools", "_pools": "The ordered Curve pools", "_reentrantVirtualPrices": "The ordered flags corresponding to _pools, true if the get_virtual_price() function is potentially reenterable" } }, "calcUnderlyingValues(address,uint256)": { "params": { "_derivative": "The derivative to convert", "_derivativeAmount": "The amount of the derivative to convert" }, "returns": { "underlyingAmounts_": "The amount of each underlying asset for the equivalent derivative amount", "underlyings_": "The underlying assets for the _derivative" } }, "getCurvePoolOwner()": { "returns": { "poolOwner_": "The Curve pool owner" } }, "getFundDeployer()": { "returns": { "fundDeployer_": "The `FUND_DEPLOYER` variable value" } }, "getLpTokenForPool(address)": { "params": { "_pool": "The pool" }, "returns": { "lpToken_": "The lpToken" } }, "getOwner()": { "details": "Ownership is deferred to the owner of the FundDeployer contract", "returns": { "owner_": "The owner" } }, "getPoolForDerivative(address)": { "params": { "_derivative": "The derivative" }, "returns": { "pool_": "The pool" } }, "getPoolInfo(address)": { "params": { "_pool": "The pool" }, "returns": { "poolInfo_": "The PoolInfo" } }, "isSupportedAsset(address)": { "params": { "_asset": "The asset to check" }, "returns": { "isSupported_": "True if the asset is supported" } }, "removeDerivatives(address[])": { "details": "Unlikely to be needed, just in case of bad storage entry. Can remove both lpToken and gaugeToken from derivatives list, but does not remove lpToken from pool info cache.", "params": { "_derivatives": "The derivatives to remove" } }, "removePools(address[])": { "details": "Unlikely to be needed, just in case of bad storage entry. Does not remove lpToken nor gauge tokens from derivatives list.", "params": { "_pools": "The pools to remove" } }, "setCurvePoolOwner(address)": { "params": { "_nextPoolOwner": "The next pool owner value" } }, "updatePoolInfo(address[],address[],bool[])": { "params": { "_invariantProxyAssets": "The ordered invariant asset proxy assets", "_pools": "The ordered pools", "_reentrantVirtualPrices": "The ordered flags corresponding to _pools, true if the get_virtual_price() function is potentially reenterable" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "addGaugeTokens(address[],address[])": { "notice": "Adds validated gaugeTokens to the price feed" }, "addGaugeTokensWithoutValidation(address[],address[])": { "notice": "Adds unvalidated gaugeTokens to the price feed" }, "addPools(address[],address[],bool[],address[],address[])": { "notice": "Adds validated Curve pool info, lpTokens, and gaugeTokens to the price feed" }, "addPoolsWithoutValidation(address[],address[],bool[],address[],address[])": { "notice": "Adds unvalidated Curve pool info, lpTokens, and gaugeTokens to the price feed" }, "calcUnderlyingValues(address,uint256)": { "notice": "Converts a given amount of a derivative to its underlying asset values" }, "getCurvePoolOwner()": { "notice": "Gets the Curve pool owner" }, "getFundDeployer()": { "notice": "Gets the `FUND_DEPLOYER` variable" }, "getLpTokenForPool(address)": { "notice": "Gets the lpToken for a given pool" }, "getOwner()": { "notice": "Gets the owner of this contract" }, "getPoolForDerivative(address)": { "notice": "Gets the pool for a given derivative" }, "getPoolInfo(address)": { "notice": "Gets the stored PoolInfo for a given pool" }, "isSupportedAsset(address)": { "notice": "Checks if an asset is supported by the price feed" }, "removeDerivatives(address[])": { "notice": "Removes derivatives from the price feed" }, "removePools(address[])": { "notice": "Removes pools from the price feed" }, "setCurvePoolOwner(address)": { "notice": "Sets the Curve pool owner" }, "updatePoolInfo(address[],address[],bool[])": { "notice": "Updates the PoolInfo for the given pools" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/infrastructure/price-feeds/derivatives/feeds/CurvePriceFeed.sol": "CurvePriceFeed" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/core/fund-deployer/IFundDeployer.sol": { "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", "urls": [ "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol": { "keccak256": "0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332", "urls": [ "bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e", "dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/price-feeds/derivatives/feeds/CurvePriceFeed.sol": { "keccak256": "0xa8ddbd75bb5cb702b539b963c2694a8abcbd19eb801a36a42c0537f69ad26b42", "urls": [ "bzz-raw://b6422a1ebdf7198942cee6b61ae807887a77864abc0b1bc16dba55c7b5f3ca90", "dweb:/ipfs/QmXNCQkT5Er6NvKBJnhk9jR4T1KhNeorAr8F6K6dQPjztx" ], "license": "GPL-3.0" }, "contracts/release/interfaces/ICurveAddressProvider.sol": { "keccak256": "0xf8da903700c623760de62b3e5d0b01997c68b8847391e23b89081128780e55e1", "urls": [ "bzz-raw://735b71b448d4d5c78e98ead84bf8f8e1e94e38ff8a77c7e4f9cc944d1d73e7df", "dweb:/ipfs/QmXFgGFVEvQW9wpeBspcaVAXwCcxvnNJZLafTeP2HPArNQ" ], "license": "GPL-3.0" }, "contracts/release/interfaces/ICurveLiquidityPool.sol": { "keccak256": "0xd90f3399805f90d670098cc451f9948b8da7dd68be821617c76487fdc20f0731", "urls": [ "bzz-raw://ba6e6e5bf761fa279329a564741e5cd2b78c5be2e50c388ac419c3d84736c9a1", "dweb:/ipfs/QmZ96kkg7oHLmdzwQLYbZVHDvKj8jZEJLaxNXy1j3sbgrn" ], "license": "GPL-3.0" }, "contracts/release/interfaces/ICurvePoolOwner.sol": { "keccak256": "0x42a03eb0d757153add18d4f42b5b464041056e23f6965a48705088ddd213c336", "urls": [ "bzz-raw://a4166f75c4c80b8f069ae2b8cfe9bda2babca27fd30b239e30606eca69f8878c", "dweb:/ipfs/QmYNULkXYTaKQUiCA8htR9KbCkK5YhrHfJgKtBqXiNPt9R" ], "license": "GPL-3.0" }, "contracts/release/interfaces/ICurveRegistryMain.sol": { "keccak256": "0x9e67cfcd4195bfd8db785be1cba42bf8871d0638770adaf04d638227b29a9b2b", "urls": [ "bzz-raw://cb2587e7026be73f27d4dd75deb44faeca3112a58ddc07bb87bca46d96fd977b", "dweb:/ipfs/QmTVdpCWZ9rv583gxP5Ycvs5Nf7jZTxVWr5oeZvywYNSSh" ], "license": "GPL-3.0" }, "contracts/release/interfaces/ICurveRegistryMetapoolFactory.sol": { "keccak256": "0x43aa6bfbda8ca1fdcb0890792e7969999146c690986938ac43818ca9b9343e58", "urls": [ "bzz-raw://3426ad7d87cd51519c288004f970da83bf672d60fc7d1c647af5e84855f6a4b5", "dweb:/ipfs/QmevngH3Acet8R6YHzGLRyNeEoUYfbnQm7NSbzHYN7rdpf" ], "license": "GPL-3.0" }, "contracts/release/utils/FundDeployerOwnerMixin.sol": { "keccak256": "0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934", "urls": [ "bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927", "dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" } }, "version": 1 }, "id": 242 } diff --git a/eth_defi/abi/enzyme/DSTest.json b/eth_defi/abi/enzyme/DSTest.json index ceb268cb..6530d571 100644 --- a/eth_defi/abi/enzyme/DSTest.json +++ b/eth_defi/abi/enzyme/DSTest.json @@ -1,671 +1 @@ -{ - "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" - } - ], - "bytecode": { - "object": "0x60806040526000805460ff1916600117905534801561001d57600080fd5b506102568061002d6000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063ba414fa61461003b578063fa7626d414610057575b600080fd5b61004361005f565b604080519115158252519081900360200190f35b610043610225565b60008054610100900460ff16156100815750600054610100900460ff16610222565b600061008b61022e565b1561021f5760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d60208083018290526519985a5b195960d21b838501528351808403850181526060848101909552630667f9d760e41b60808501908152815193947f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc494929391926084909101918401908083835b602083106101355780518252601f199092019160209182019101610116565b6001836020036101000a038019825116818451168082178552505050505050905001925050506040516020818303038152906040526040518082805190602001908083835b602083106101995780518252601f19909201916020918201910161017a565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146101fb576040519150601f19603f3d011682016040523d82523d6000602084013e610200565b606091505b5091505080806020019051602081101561021957600080fd5b50519150505b90505b90565b60005460ff1681565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15159056fea164736f6c634300060c000a", - "sourceMap": "715:15435:435:-:0;;;1572:26;;;-1:-1:-1;;1572:26:435;1594:4;1572:26;;;715:15435;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c8063ba414fa61461003b578063fa7626d414610057575b600080fd5b61004361005f565b604080519115158252519081900360200190f35b610043610225565b60008054610100900460ff16156100815750600054610100900460ff16610222565b600061008b61022e565b1561021f5760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d60208083018290526519985a5b195960d21b838501528351808403850181526060848101909552630667f9d760e41b60808501908152815193947f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc494929391926084909101918401908083835b602083106101355780518252601f199092019160209182019101610116565b6001836020036101000a038019825116818451168082178552505050505050905001925050506040516020818303038152906040526040518082805190602001908083835b602083106101995780518252601f19909201916020918201910161017a565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146101fb576040519150601f19603f3d011682016040523d82523d6000602084013e610200565b606091505b5091505080806020019051602081101561021957600080fd5b50519150505b90505b90565b60005460ff1681565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15159056fea164736f6c634300060c000a", - "sourceMap": "715:15435:435:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1819:584;;;:::i;:::-;;;;;;;;;;;;;;;;;;1572:26;;;:::i;1819:584::-;1853:4;1873:7;;;;;;;1869:528;;;-1:-1:-1;1903:7:435;;;;;;;1896:14;;1869:528;1941:17;1984:16;:14;:16::i;:::-;1980:374;;;2196:43;;;1671:64;2196:43;;;;;;;-1:-1:-1;;;2196:43:435;;;;;;;;;;;;;2023:20;2196:43;;;;;;-1:-1:-1;;;2086:175:435;;;;;;;;1671:64;;2135:34;;2196:43;;2086:175;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2086:175:435;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2047:232;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2047:232:435;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2020:259;;;2323:7;2312:27;;;;;;;;;;;;;;;-1:-1:-1;2312:27:435;;-1:-1:-1;;1980:374:435;2374:12;-1:-1:-1;1869:528:435;1819:584;:::o;1572:26::-;;;;;;:::o;2840:242::-;2990:42;2978:55;3059:16;;2840:242;:::o", - "linkReferences": {} - }, - "methodIdentifiers": { - "IS_TEST()": "fa7626d4", - "failed()": "ba414fa6" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"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\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"lib/forge-std/lib/ds-test/src/test.sol\":{\"keccak256\":\"0xb39cd1d5220cb474947b131e15a4538334b7e886af244b440ae5c9c6bba96a54\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://3101520221449ac0070bda3881311a71d9aa87e5210765e875246922cb5cb5f5\",\"dweb:/ipfs/Qmbg6kAHNoG7ox9N9Xqd9Ere2H2XixMFWFqvyPwFCzB3Gr\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "string", - "name": "", - "type": "string", - "indexed": false - } - ], - "type": "event", - "name": "log", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "log_address", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes", - "indexed": false - } - ], - "type": "event", - "name": "log_bytes", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32", - "indexed": false - } - ], - "type": "event", - "name": "log_bytes32", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "int256", - "name": "", - "type": "int256", - "indexed": false - } - ], - "type": "event", - "name": "log_int", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "key", - "type": "string", - "indexed": false - }, - { - "internalType": "address", - "name": "val", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "log_named_address", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "key", - "type": "string", - "indexed": false - }, - { - "internalType": "bytes", - "name": "val", - "type": "bytes", - "indexed": false - } - ], - "type": "event", - "name": "log_named_bytes", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "key", - "type": "string", - "indexed": false - }, - { - "internalType": "bytes32", - "name": "val", - "type": "bytes32", - "indexed": false - } - ], - "type": "event", - "name": "log_named_bytes32", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "key", - "type": "string", - "indexed": false - }, - { - "internalType": "int256", - "name": "val", - "type": "int256", - "indexed": false - }, - { - "internalType": "uint256", - "name": "decimals", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "log_named_decimal_int", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "key", - "type": "string", - "indexed": false - }, - { - "internalType": "uint256", - "name": "val", - "type": "uint256", - "indexed": false - }, - { - "internalType": "uint256", - "name": "decimals", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "log_named_decimal_uint", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "key", - "type": "string", - "indexed": false - }, - { - "internalType": "int256", - "name": "val", - "type": "int256", - "indexed": false - } - ], - "type": "event", - "name": "log_named_int", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "key", - "type": "string", - "indexed": false - }, - { - "internalType": "string", - "name": "val", - "type": "string", - "indexed": false - } - ], - "type": "event", - "name": "log_named_string", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "key", - "type": "string", - "indexed": false - }, - { - "internalType": "uint256", - "name": "val", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "log_named_uint", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "", - "type": "string", - "indexed": false - } - ], - "type": "event", - "name": "log_string", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "log_uint", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes", - "indexed": false - } - ], - "type": "event", - "name": "logs", - "anonymous": false - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "IS_TEST", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "failed", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "lib/forge-std/lib/ds-test/src/test.sol": "DSTest" - }, - "libraries": {} - }, - "sources": { - "lib/forge-std/lib/ds-test/src/test.sol": { - "keccak256": "0xb39cd1d5220cb474947b131e15a4538334b7e886af244b440ae5c9c6bba96a54", - "urls": [ - "bzz-raw://3101520221449ac0070bda3881311a71d9aa87e5210765e875246922cb5cb5f5", - "dweb:/ipfs/Qmbg6kAHNoG7ox9N9Xqd9Ere2H2XixMFWFqvyPwFCzB3Gr" - ], - "license": "GPL-3.0-or-later" - } - }, - "version": 1 - }, - "id": 435 -} +{ "abi": [ { "type": "function", "name": "IS_TEST", "inputs": [], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "failed", "inputs": [], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "event", "name": "log", "inputs": [ { "name": "", "type": "string", "indexed": false, "internalType": "string" } ], "anonymous": false }, { "type": "event", "name": "log_address", "inputs": [ { "name": "", "type": "address", "indexed": false, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "log_bytes", "inputs": [ { "name": "", "type": "bytes", "indexed": false, "internalType": "bytes" } ], "anonymous": false }, { "type": "event", "name": "log_bytes32", "inputs": [ { "name": "", "type": "bytes32", "indexed": false, "internalType": "bytes32" } ], "anonymous": false }, { "type": "event", "name": "log_int", "inputs": [ { "name": "", "type": "int256", "indexed": false, "internalType": "int256" } ], "anonymous": false }, { "type": "event", "name": "log_named_address", "inputs": [ { "name": "key", "type": "string", "indexed": false, "internalType": "string" }, { "name": "val", "type": "address", "indexed": false, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "log_named_bytes", "inputs": [ { "name": "key", "type": "string", "indexed": false, "internalType": "string" }, { "name": "val", "type": "bytes", "indexed": false, "internalType": "bytes" } ], "anonymous": false }, { "type": "event", "name": "log_named_bytes32", "inputs": [ { "name": "key", "type": "string", "indexed": false, "internalType": "string" }, { "name": "val", "type": "bytes32", "indexed": false, "internalType": "bytes32" } ], "anonymous": false }, { "type": "event", "name": "log_named_decimal_int", "inputs": [ { "name": "key", "type": "string", "indexed": false, "internalType": "string" }, { "name": "val", "type": "int256", "indexed": false, "internalType": "int256" }, { "name": "decimals", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "log_named_decimal_uint", "inputs": [ { "name": "key", "type": "string", "indexed": false, "internalType": "string" }, { "name": "val", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "decimals", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "log_named_int", "inputs": [ { "name": "key", "type": "string", "indexed": false, "internalType": "string" }, { "name": "val", "type": "int256", "indexed": false, "internalType": "int256" } ], "anonymous": false }, { "type": "event", "name": "log_named_string", "inputs": [ { "name": "key", "type": "string", "indexed": false, "internalType": "string" }, { "name": "val", "type": "string", "indexed": false, "internalType": "string" } ], "anonymous": false }, { "type": "event", "name": "log_named_uint", "inputs": [ { "name": "key", "type": "string", "indexed": false, "internalType": "string" }, { "name": "val", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "log_string", "inputs": [ { "name": "", "type": "string", "indexed": false, "internalType": "string" } ], "anonymous": false }, { "type": "event", "name": "log_uint", "inputs": [ { "name": "", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "logs", "inputs": [ { "name": "", "type": "bytes", "indexed": false, "internalType": "bytes" } ], "anonymous": false } ], "bytecode": { "object": "0x60806040526000805460ff1916600117905534801561001d57600080fd5b506102568061002d6000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063ba414fa61461003b578063fa7626d414610057575b600080fd5b61004361005f565b604080519115158252519081900360200190f35b610043610225565b60008054610100900460ff16156100815750600054610100900460ff16610222565b600061008b61022e565b1561021f5760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d60208083018290526519985a5b195960d21b838501528351808403850181526060848101909552630667f9d760e41b60808501908152815193947f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc494929391926084909101918401908083835b602083106101355780518252601f199092019160209182019101610116565b6001836020036101000a038019825116818451168082178552505050505050905001925050506040516020818303038152906040526040518082805190602001908083835b602083106101995780518252601f19909201916020918201910161017a565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146101fb576040519150601f19603f3d011682016040523d82523d6000602084013e610200565b606091505b5091505080806020019051602081101561021957600080fd5b50519150505b90505b90565b60005460ff1681565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15159056fea164736f6c634300060c000a", "sourceMap": "715:15435:435:-:0;;;1572:26;;;-1:-1:-1;;1572:26:435;1594:4;1572:26;;;715:15435;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c8063ba414fa61461003b578063fa7626d414610057575b600080fd5b61004361005f565b604080519115158252519081900360200190f35b610043610225565b60008054610100900460ff16156100815750600054610100900460ff16610222565b600061008b61022e565b1561021f5760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d60208083018290526519985a5b195960d21b838501528351808403850181526060848101909552630667f9d760e41b60808501908152815193947f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc494929391926084909101918401908083835b602083106101355780518252601f199092019160209182019101610116565b6001836020036101000a038019825116818451168082178552505050505050905001925050506040516020818303038152906040526040518082805190602001908083835b602083106101995780518252601f19909201916020918201910161017a565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146101fb576040519150601f19603f3d011682016040523d82523d6000602084013e610200565b606091505b5091505080806020019051602081101561021957600080fd5b50519150505b90505b90565b60005460ff1681565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15159056fea164736f6c634300060c000a", "sourceMap": "715:15435:435:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1819:584;;;:::i;:::-;;;;;;;;;;;;;;;;;;1572:26;;;:::i;1819:584::-;1853:4;1873:7;;;;;;;1869:528;;;-1:-1:-1;1903:7:435;;;;;;;1896:14;;1869:528;1941:17;1984:16;:14;:16::i;:::-;1980:374;;;2196:43;;;1671:64;2196:43;;;;;;;-1:-1:-1;;;2196:43:435;;;;;;;;;;;;;2023:20;2196:43;;;;;;-1:-1:-1;;;2086:175:435;;;;;;;;1671:64;;2135:34;;2196:43;;2086:175;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2086:175:435;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2047:232;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2047:232:435;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2020:259;;;2323:7;2312:27;;;;;;;;;;;;;;;-1:-1:-1;2312:27:435;;-1:-1:-1;;1980:374:435;2374:12;-1:-1:-1;1869:528:435;1819:584;:::o;1572:26::-;;;;;;:::o;2840:242::-;2990:42;2978:55;3059:16;;2840:242;:::o", "linkReferences": {} }, "methodIdentifiers": { "IS_TEST()": "fa7626d4", "failed()": "ba414fa6" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"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\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"lib/forge-std/lib/ds-test/src/test.sol\":{\"keccak256\":\"0xb39cd1d5220cb474947b131e15a4538334b7e886af244b440ae5c9c6bba96a54\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://3101520221449ac0070bda3881311a71d9aa87e5210765e875246922cb5cb5f5\",\"dweb:/ipfs/Qmbg6kAHNoG7ox9N9Xqd9Ere2H2XixMFWFqvyPwFCzB3Gr\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "string", "name": "", "type": "string", "indexed": false } ], "type": "event", "name": "log", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "", "type": "address", "indexed": false } ], "type": "event", "name": "log_address", "anonymous": false }, { "inputs": [ { "internalType": "bytes", "name": "", "type": "bytes", "indexed": false } ], "type": "event", "name": "log_bytes", "anonymous": false }, { "inputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32", "indexed": false } ], "type": "event", "name": "log_bytes32", "anonymous": false }, { "inputs": [ { "internalType": "int256", "name": "", "type": "int256", "indexed": false } ], "type": "event", "name": "log_int", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "key", "type": "string", "indexed": false }, { "internalType": "address", "name": "val", "type": "address", "indexed": false } ], "type": "event", "name": "log_named_address", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "key", "type": "string", "indexed": false }, { "internalType": "bytes", "name": "val", "type": "bytes", "indexed": false } ], "type": "event", "name": "log_named_bytes", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "key", "type": "string", "indexed": false }, { "internalType": "bytes32", "name": "val", "type": "bytes32", "indexed": false } ], "type": "event", "name": "log_named_bytes32", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "key", "type": "string", "indexed": false }, { "internalType": "int256", "name": "val", "type": "int256", "indexed": false }, { "internalType": "uint256", "name": "decimals", "type": "uint256", "indexed": false } ], "type": "event", "name": "log_named_decimal_int", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "key", "type": "string", "indexed": false }, { "internalType": "uint256", "name": "val", "type": "uint256", "indexed": false }, { "internalType": "uint256", "name": "decimals", "type": "uint256", "indexed": false } ], "type": "event", "name": "log_named_decimal_uint", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "key", "type": "string", "indexed": false }, { "internalType": "int256", "name": "val", "type": "int256", "indexed": false } ], "type": "event", "name": "log_named_int", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "key", "type": "string", "indexed": false }, { "internalType": "string", "name": "val", "type": "string", "indexed": false } ], "type": "event", "name": "log_named_string", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "key", "type": "string", "indexed": false }, { "internalType": "uint256", "name": "val", "type": "uint256", "indexed": false } ], "type": "event", "name": "log_named_uint", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "", "type": "string", "indexed": false } ], "type": "event", "name": "log_string", "anonymous": false }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256", "indexed": false } ], "type": "event", "name": "log_uint", "anonymous": false }, { "inputs": [ { "internalType": "bytes", "name": "", "type": "bytes", "indexed": false } ], "type": "event", "name": "logs", "anonymous": false }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "IS_TEST", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "failed", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "lib/forge-std/lib/ds-test/src/test.sol": "DSTest" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "lib/forge-std/lib/ds-test/src/test.sol": { "keccak256": "0xb39cd1d5220cb474947b131e15a4538334b7e886af244b440ae5c9c6bba96a54", "urls": [ "bzz-raw://3101520221449ac0070bda3881311a71d9aa87e5210765e875246922cb5cb5f5", "dweb:/ipfs/Qmbg6kAHNoG7ox9N9Xqd9Ere2H2XixMFWFqvyPwFCzB3Gr" ], "license": "GPL-3.0-or-later" } }, "version": 1 }, "id": 435 } diff --git a/eth_defi/abi/enzyme/DeployVaultProxyTest.json b/eth_defi/abi/enzyme/DeployVaultProxyTest.json index 6a3495af..5b03e7dd 100644 --- a/eth_defi/abi/enzyme/DeployVaultProxyTest.json +++ b/eth_defi/abi/enzyme/DeployVaultProxyTest.json @@ -1,1340 +1 @@ -{ - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "prevAccessor", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "nextAccessor", - "type": "address" - } - ], - "name": "AccessorSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "prevOwner", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "nextOwner", - "type": "address" - } - ], - "name": "OwnerSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "prevVaultLib", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "nextVaultLib", - "type": "address" - } - ], - "name": "VaultLibSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "fundDeployer", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "vaultProxy", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "vaultLib", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "vaultAccessor", - "type": "address" - }, - { - "indexed": false, - "internalType": "string", - "name": "fundName", - "type": "string" - } - ], - "name": "VaultProxyDeployed", - "type": "event" - }, - { - "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_SCRIPT", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "IS_TEST", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "_name", - "type": "string" - } - ], - "name": "addr", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "failed", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "setUp", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "testDoesNotAllowBadVaultLib", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "testDoesNotAllowNonContractVaultAccessor", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "testHappyPath", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "vm", - "outputs": [ - { - "internalType": "contract Vm", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x60806040526000805462ff00001960ff19909116600117166201000017905534801561002a57600080fd5b50615a278061003a6000396000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c806371bcacd31161006657806371bcacd314610174578063ba414fa61461017c578063cd8591bb14610198578063f8ccbf47146101a0578063fa7626d4146101a857610093565b80630a9254e41461009857806312bfb5fb146100a25780633a768463146100aa578063511b1df9146100ce575b600080fd5b6100a06101b0565b005b6100a06103fb565b6100b2610668565b604080516001600160a01b039092168252519081900360200190f35b6100b2600480360360208110156100e457600080fd5b8101906020810181356401000000008111156100ff57600080fd5b82018360208201111561011157600080fd5b8035906020019184600183028401116401000000008311171561013357600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955061067b945050505050565b6100a061068f565b61018461082e565b604080519115158252519081900360200190f35b6100a06109ef565b610184611453565b610184611462565b6101b861146b565b604080518082019091526014815273323ab6b6bc903b30bab63a1030b1b1b2b9b9b7b960611b6020820152600080516020620059638339815191529063b4d6c782906102039061067b565b6040518263ffffffff1660e01b815260040180826001600160a01b03168152602001806020018281038252601481526020018073223ab6b6bc902b30bab63a1020b1b1b2b9b9b7b960611b81525060200192505050600060405180830381600087803b15801561027257600080fd5b505af1158015610286573d6000803e3d6000fd5b5050604080518082019091526013815272323ab6b6bc90333ab732103232b83637bcb2b960691b602082015260008051602062005963833981519152925063b4d6c78291506102d49061067b565b6040518263ffffffff1660e01b815260040180826001600160a01b03168152602001806020018281038252601381526020018072223ab6b6bc90233ab732102232b83637bcb2b960691b81525060200192505050600060405180830381600087803b15801561034257600080fd5b505af1158015610356573d6000803e3d6000fd5b5050600854604080518082019091526013815272323ab6b6bc90333ab732103232b83637bcb2b960691b60208201526001600160a01b0390911692506397af705091506103a29061067b565b6040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050600060405180830381600087803b1580156103e157600080fd5b505af11580156103f5573d6000803e3d6000fd5b50505050565b604080518082019091526013815272323ab6b6bc90333ab732103232b83637bcb2b960691b6020820152600080516020620059638339815191529063ca669fa7906104459061067b565b6040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050600060405180830381600087803b15801561048457600080fd5b505af1158015610498573d6000803e3d6000fd5b505060405163f28dceb360e01b8152602060048201908152602d6024830181905260008051602062005963833981519152945063f28dceb3935090918291604490910190620059c98239604001915050600060405180830381600087803b15801561050257600080fd5b505af1158015610516573d6000803e3d6000fd5b505060085460408051808201909152600f81526e323ab6b6bc903b30bab63a103634b160891b60208201526001600160a01b0390911692506322a0c08b915061055e9061067b565b61058460405180604001604052806005815260200164616c69636560d81b81525061067b565b6105c26040518060400160405280601b81526020017f6e6f6e2d636f6e7472616374207661756c74206163636573736f72000000000081525061067b565b604080516001600160e01b031960e087901b1681526001600160a01b03948516600482015292841660248401529216604482015260806064820152600a608482015269111d5b5b5e48119d5b9960b21b60a4820152905160c48083019260209291908290030181600087803b15801561063a57600080fd5b505af115801561064e573d6000803e3d6000fd5b505050506040513d602081101561066457600080fd5b5050565b6000805160206200596383398151915281565b80516020909101206001600160a01b031690565b604080518082019091526013815272323ab6b6bc90333ab732103232b83637bcb2b960691b6020820152600080516020620059638339815191529063ca669fa7906106d99061067b565b6040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050600060405180830381600087803b15801561071857600080fd5b505af115801561072c573d6000803e3d6000fd5b505060408051633d21120560e21b8152905160008051602062005963833981519152935063f48448149250600480830192600092919082900301818387803b15801561077757600080fd5b505af115801561078b573d6000803e3d6000fd5b505060085460408051808201909152600f81526e323ab6b6bc903b30bab63a103634b160891b60208201526001600160a01b0390911692506322a0c08b91506107d39061067b565b6107f960405180604001604052806005815260200164616c69636560d81b81525061067b565b6105c260405180604001604052806014815260200173323ab6b6bc903b30bab63a1030b1b1b2b9b9b7b960611b81525061067b565b60008054610100900460ff16156108505750600054610100900460ff166109ec565b600061085a6114b6565b156109e957604080516000805160206200596383398151915260208083018290526519985a5b195960d21b838501528351808403850181526060848101909552630667f9d760e41b60808501908152815193947f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc494929391926084909101918401908083835b602083106108ff5780518252601f1990920191602091820191016108e0565b6001836020036101000a038019825116818451168082178552505050505050905001925050506040516020818303038152906040526040518082805190602001908083835b602083106109635780518252601f199092019160209182019101610944565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146109c5576040519150601f19603f3d011682016040523d82523d6000602084013e6109ca565b606091505b509150508080602001905160208110156109e357600080fd5b50519150505b90505b90565b60006040516109fd90611de9565b604051809103906000f080158015610a19573d6000803e3d6000fd5b506040805163248e63e160e11b8152600160048201819052602482018190526044820181905260648201529051919250600080516020620059638339815191529163491cc7c29160848082019260009290919082900301818387803b158015610a8157600080fd5b505af1158015610a95573d6000803e3d6000fd5b505050507fb5a9def940973a936e331170816650368964b0602957d4bc60f5ddc2dc1b69cd6000610af160405180604001604052806014815260200173323ab6b6bc903b30bab63a1030b1b1b2b9b9b7b960611b81525061067b565b60405180836001600160a01b03168152602001826001600160a01b031681526020019250505060405180910390a16040805163248e63e160e11b8152600160048201819052602482018190526044820181905260648201529051600080516020620059638339815191529163491cc7c291608480830192600092919082900301818387803b158015610b8257600080fd5b505af1158015610b96573d6000803e3d6000fd5b505050507f342827c97908e5e2f71151c08502a66d44b6f758e3ac2f1de95f02eb95f0a7356000610be360405180604001604052806005815260200164616c69636560d81b81525061067b565b60405180836001600160a01b03168152602001826001600160a01b031681526020019250505060405180910390a16040805163248e63e160e11b8152600160048201819052602482018190526044820181905260648201529051600080516020620059638339815191529163491cc7c291608480830192600092919082900301818387803b158015610c7457600080fd5b505af1158015610c88573d6000803e3d6000fd5b505060408051600081526001600160a01b038516602082015281517fe504a0278c9d64c1a72d2f528a0c5e3686e093fcd478b3b1224a5c6983207df69450908190039091019150a16040805163248e63e160e11b8152600160048201819052602482018190526044820181905260648201529051600080516020620059638339815191529163491cc7c291608480830192600092919082900301818387803b158015610d3357600080fd5b505af1158015610d47573d6000803e3d6000fd5b50505050806001600160a01b0316610d7b60405180604001604052806005815260200164616c69636560d81b81525061067b565b6001600160a01b0316610db860405180604001604052806013815260200172323ab6b6bc90333ab732103232b83637bcb2b960691b81525061067b565b6008546001600160a01b03918216917fa50560b448ad796ef60adfeffe1c19ed34daf94c2aa6905d0e209017dbc19f5891610df5911660016114cc565b610e2a60405180604001604052806014815260200173323ab6b6bc903b30bab63a1030b1b1b2b9b9b7b960611b81525061067b565b604080516001600160a01b0393841681529190921660208201526060818301819052600a9082015269111d5b5b5e48119d5b9960b21b608082015290519081900360a00190a4604080518082019091526013815272323ab6b6bc90333ab732103232b83637bcb2b960691b6020820152600080516020620059638339815191529063ca669fa790610eba9061067b565b6040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050600060405180830381600087803b158015610ef957600080fd5b505af1158015610f0d573d6000803e3d6000fd5b5050600854604080518082019091526005815264616c69636560d81b6020820152600093506001600160a01b0390911691506322a0c08b908490610f509061067b565b610f8560405180604001604052806014815260200173323ab6b6bc903b30bab63a1030b1b1b2b9b9b7b960611b81525061067b565b604080516001600160e01b031960e087901b1681526001600160a01b03948516600482015292841660248401529216604482015260806064820152600a608482015269111d5b5b5e48119d5b9960b21b60a4820152905160c48083019260209291908290030181600087803b158015610ffd57600080fd5b505af1158015611011573d6000803e3d6000fd5b505050506040513d602081101561102757600080fd5b5051604080518082019091526013815272323ab6b6bc90333ab732103232b83637bcb2b960691b60208201529091506110e1906110639061067b565b600854604080516307af8e9f60e31b81526001600160a01b03868116600483015291519190921691633d7c74f8916024808301926020929190829003018186803b1580156110b057600080fd5b505afa1580156110c4573d6000803e3d6000fd5b505050506040513d60208110156110da57600080fd5b505161177c565b611133600860009054906101000a90046001600160a01b0316826001600160a01b0316630ee2cb106040518163ffffffff1660e01b815260040160206040518083038186803b1580156110b057600080fd5b6111a461116b60405180604001604052806014815260200173323ab6b6bc903b30bab63a1030b1b1b2b9b9b7b960611b81525061067b565b826001600160a01b0316635a53e3486040518163ffffffff1660e01b815260040160206040518083038186803b1580156110b057600080fd5b6112066111cd60405180604001604052806005815260200164616c69636560d81b81525061067b565b826001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b1580156110b057600080fd5b6112446000826001600160a01b031663cd63d5786040518163ffffffff1660e01b815260040160206040518083038186803b1580156110b057600080fd5b6113956040518060400160405280600a815260200169111d5b5b5e48119d5b9960b21b815250826001600160a01b03166306fdde036040518163ffffffff1660e01b815260040160006040518083038186803b1580156112a357600080fd5b505afa1580156112b7573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260208110156112e057600080fd5b810190808051604051939291908464010000000082111561130057600080fd5b90830190602082018581111561131557600080fd5b825164010000000081118282018810171561132f57600080fd5b82525081516020918201929091019080838360005b8381101561135c578181015183820152602001611344565b50505050905090810190601f1680156113895780820380516001836020036101000a031916815260200191505b5060405250505061189f565b6113e160405180602001604052806000815250826001600160a01b03166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b1580156112a357600080fd5b6106646012826001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561141f57600080fd5b505afa158015611433573d6000803e3d6000fd5b505050506040513d602081101561144957600080fd5b505160ff16611b52565b60005462010000900460ff1681565b60005460ff1681565b60405161147790611df7565b604051809103906000f080158015611493573d6000803e3d6000fd5b50600880546001600160a01b0319166001600160a01b0392909216919091179055565b600080516020620059638339815191523b151590565b6000816115345760408051606b60f91b602080830191909152602560fa1b60218301526001600160601b0319606087901b166022830152600160ff1b6036830152825160178184030181526037909201909252805191012061152d906109ec565b9050611776565b607f82116115a05760408051606b60f91b602080830191909152602560fa1b60218301526001600160601b0319606087901b16602283015260f885901b6001600160f81b0319166036830152825160178184030181526037909201909252805191012061152d906109ec565b60ff8211611616576040805160d760f81b602080830191909152602560fa1b60218301526001600160601b0319606087901b166022830152608160f81b603683015260f885901b6001600160f81b0319166037830152825160188184030181526038909201909252805191012061152d906109ec565b61ffff821161168d5760408051601b60fb1b602080830191909152602560fa1b60218301526001600160601b0319606087901b166022830152604160f91b60368301526001600160f01b031960f086901b166037830152825160198184030181526039909201909252805191012061152d906109ec565b62ffffff8211611705576040805160d960f81b602080830191909152602560fa1b60218301526001600160601b0319606087901b166022830152608360f81b60368301526001600160e81b031960e886901b1660378301528251601a818403018152603a909201909252805191012061152d906109ec565b60408051606d60f91b602080830191909152602560fa1b60218301526001600160601b0319606087901b166022830152602160fa1b60368301526001600160e01b031960e086901b1660378301528251601b818403018152603b9092019092528051910120611773906109ec565b90505b92915050565b806001600160a01b0316826001600160a01b031614610664577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50604051808060200182810382526025815260200180620059f66025913960400191505060405180910390a1604080516001600160a01b0383166020820152818152600a81830152690808115e1c1958dd195960b21b606082015290517f9c4e8541ca8f0dc1c413f9108f66d82d3cecb1bddbce437a61caa3175c4cc96f9181900360800190a1604080516001600160a01b0384166020820152818152600a8183015269080808081058dd1d585b60b21b606082015290517f9c4e8541ca8f0dc1c413f9108f66d82d3cecb1bddbce437a61caa3175c4cc96f9181900360800190a1610664611c4f565b806040516020018082805190602001908083835b602083106118d25780518252601f1990920191602091820191016118b3565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405160208183030381529060405280519060200120826040516020018082805190602001908083835b602083106119405780518252601f199092019160209182019101611921565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040516020818303038152906040528051906020012014610664577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50604051808060200182810382526024815260200180620059a56024913960400191505060405180910390a17f280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf3583816040518080602001806020018381038352600a815260200180690808115e1c1958dd195960b21b815250602001838103825284818151815260200191508051906020019080838360005b83811015611a50578181015183820152602001611a38565b50505050905090810190601f168015611a7d5780820380516001836020036101000a031916815260200191505b50935050505060405180910390a17f280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf3583826040518080602001806020018381038352600a81526020018069080808081058dd1d585b60b21b815250602001838103825284818151815260200191508051906020019080838360005b83811015611b0f578181015183820152602001611af7565b50505050905090810190601f168015611b3c5780820380516001836020036101000a031916815260200191505b50935050505060405180910390a1610664611c4f565b808214610664577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50604051808060200182810382526022815260200180620059836022913960400191505060405180910390a16040805160208101839052818152600a81830152690808115e1c1958dd195960b21b606082015290517fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a89181900360800190a16040805160208101849052818152600a8183015269080808081058dd1d585b60b21b606082015290517fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a89181900360800190a16106645b611c576114b6565b15611dd857604080516000805160206200596383398151915260208083018290526519985a5b195960d21b83850152600160608481019190915284518085039091018152608084019094526370ca10bb60e01b60a08401908152845160009593947f70ca10bbd0dbfd9020a9f4b13402c16cb120705e0d1c0aeab10fa353ae586fc4949360a490910191908401908083835b60208310611d085780518252601f199092019160209182019101611ce9565b6001836020036101000a038019825116818451168082178552505050505050905001925050506040516020818303038152906040526040518082805190602001908083835b60208310611d6c5780518252601f199092019160209182019101611d4d565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114611dce576040519150601f19603f3d011682016040523d82523d6000602084013e611dd3565b606091505b505050505b6000805461ff001916610100179055565b6111098062001e0683390190565b612a548062002f0f8339019056fe608060405234801561001057600080fd5b506110e9806100206000396000f3fe608060405234801561001057600080fd5b50600436106101215760003560e01c80635c9a6d37116100ad57806395d89b411161007157806395d89b4114610392578063a9059cbb1461039a578063ab9253ac146103c6578063cd63d578146103ec578063dd62ed3e146103f457610121565b80635c9a6d37146102ad578063682cea191461033657806370a082311461033e5780637de07cea14610364578063893d20e81461038a57610121565b806323b872dd116100f457806323b872dd14610221578063313ce567146102575780634140d6071461027557806352d1902d1461029d5780635a53e348146102a557610121565b806306fdde0314610126578063095ea7b3146101a35780630ee2cb10146101e357806318160ddd14610207575b600080fd5b61012e610422565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610168578181015183820152602001610150565b50505050905090810190601f1680156101955780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101cf600480360360408110156101b957600080fd5b506001600160a01b0381351690602001356104b8565b604080519115158252519081900360200190f35b6101eb6104ce565b604080516001600160a01b039092168252519081900360200190f35b61020f6104dd565b60408051918252519081900360200190f35b6101cf6004803603606081101561023757600080fd5b506001600160a01b038135811691602081013590911690604001356104e3565b61025f61054c565b6040805160ff9092168252519081900360200190f35b61029b6004803603602081101561028b57600080fd5b50356001600160a01b0316610551565b005b61020f6105f8565b6101eb61061c565b61029b600480360360608110156102c357600080fd5b6001600160a01b0382358116926020810135909116918101906060810160408201356401000000008111156102f757600080fd5b82018360208201111561030957600080fd5b8035906020019184600183028401116401000000008311171561032b57600080fd5b50909250905061062b565b6101eb610719565b61020f6004803603602081101561035457600080fd5b50356001600160a01b031661073e565b6101cf6004803603602081101561037a57600080fd5b50356001600160a01b0316610759565b6101eb61078b565b61012e61079a565b6101cf600480360360408110156103b057600080fd5b506001600160a01b0381351690602001356107fa565b61029b600480360360208110156103dc57600080fd5b50356001600160a01b0316610807565b6101eb61085c565b61020f6004803603604081101561040a57600080fd5b506001600160a01b038135811691602001351661086b565b60008054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104ae5780601f10610483576101008083540402835291602001916104ae565b820191906000526020600020905b81548152906001019060200180831161049157829003601f168201915b5050505050905090565b60006104c5338484610896565b50600192915050565b6006546001600160a01b031690565b60025490565b60006104f0848484610982565b610542843361053d85604051806060016040528060288152602001610fc0602891396001600160a01b038a1660009081526004602090815260408083203384529091529020549190610ad4565b610896565b5060019392505050565b601290565b6006546001600160a01b0316331461059a5760405162461bcd60e51b8152600401808060200182810382526032815260200180610f8e6032913960400191505060405180910390fd5b60006105a4610719565b90506105af82610b6b565b604080516001600160a01b0380841682528416602082015281517fe504a0278c9d64c1a72d2f528a0c5e3686e093fcd478b3b1224a5c6983207df6929181900390910190a15050565b7f027b9570e9fedc1a80b937ae9a06861e5faef3992491af30b684a64b3fbec7a590565b6005546001600160a01b031690565b6006546001600160a01b031615610689576040805162461bcd60e51b815260206004820152601f60248201527f696e69743a2050726f787920616c726561647920696e697469616c697a656400604482015290519081900360640190fd5b600680546001600160a01b031916331790556106a760008383610e38565b506106b183610c51565b6106ba84610cf9565b7fe504a0278c9d64c1a72d2f528a0c5e3686e093fcd478b3b1224a5c6983207df660006106e5610719565b60405180836001600160a01b03168152602001826001600160a01b031681526020019250505060405180910390a150505050565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b031660009081526003602052604090205490565b6008546000906001600160a01b038381169116148061078557506007546001600160a01b038381169116145b92915050565b6008546001600160a01b031690565b60018054604080516020601f600260001961010087891615020190951694909404938401819004810282018101909252828152606093909290918301828280156104ae5780601f10610483576101008083540402835291602001916104ae565b60006104c5338484610982565b6006546001600160a01b031633146108505760405162461bcd60e51b81526004018080602001828103825260328152602001806110366032913960400191505060405180910390fd5b61085981610c51565b50565b6007546001600160a01b031690565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b6001600160a01b0383166108db5760405162461bcd60e51b81526004018080602001828103825260248152602001806110b96024913960400191505060405180910390fd5b6001600160a01b0382166109205760405162461bcd60e51b8152600401808060200182810382526022815260200180610f206022913960400191505060405180910390fd5b6001600160a01b03808416600081815260046020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0383166109c75760405162461bcd60e51b81526004018080602001828103825260258152602001806110686025913960400191505060405180910390fd5b6001600160a01b038216610a0c5760405162461bcd60e51b8152600401808060200182810382526023815260200180610ecc6023913960400191505060405180910390fd5b610a4981604051806060016040528060268152602001610f42602691396001600160a01b0386166000908152600360205260409020549190610ad4565b6001600160a01b038085166000908152600360205260408082209390935590841681522054610a789082610ded565b6001600160a01b0380841660008181526003602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b60008184841115610b635760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610b28578181015183820152602001610b10565b50505050905090810190601f168015610b555780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b815260040160206040518083038186803b158015610ba457600080fd5b505afa158015610bb8573d6000803e3d6000fd5b505050506040513d6020811015610bce57600080fd5b50517f027b9570e9fedc1a80b937ae9a06861e5faef3992491af30b684a64b3fbec7a514610c2d5760405162461bcd60e51b8152600401808060200182810382526031815260200180610eef6031913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b6001600160a01b038116610c965760405162461bcd60e51b815260040180806020018281038252602c81526020018061108d602c913960400191505060405180910390fd5b600580546001600160a01b038381166001600160a01b0319831681179093556040805191909216808252602082019390935281517fb5a9def940973a936e331170816650368964b0602957d4bc60f5ddc2dc1b69cd929181900390910190a15050565b6001600160a01b038116610d3e5760405162461bcd60e51b8152600401808060200182810382526026815260200180610f686026913960400191505060405180910390fd5b6008546001600160a01b03908116908216811415610d8d5760405162461bcd60e51b815260040180806020018281038252602b81526020018061100b602b913960400191505060405180910390fd5b600880546001600160a01b0319166001600160a01b03848116918217909255604080519284168352602083019190915280517f342827c97908e5e2f71151c08502a66d44b6f758e3ac2f1de95f02eb95f0a7359281900390910190a15050565b600082820183811015610e315760405162461bcd60e51b8152600401808060200182810382526023815260200180610fe86023913960400191505060405180910390fd5b9392505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10610e795782800160ff19823516178555610ea6565b82800160010185558215610ea6579182015b82811115610ea6578235825591602001919060010190610e8b565b50610eb2929150610eb6565b5090565b5b80821115610eb25760008155600101610eb756fe45524332303a207472616e7366657220746f20746865207a65726f20616464726573735f5f757064617465436f6465416464726573733a205f6e6578745661756c744c6962206e6f7420636f6d70617469626c6545524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e63655f5f7365744f776e65723a205f6e6578744f776e65722063616e6e6f7420626520656d7074797365745661756c744c69623a204f6e6c792063616c6c61626c652062792074686520636f6e74726163742063726561746f7245524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63655661756c744c6962536166654d6174683a206164646974696f6e206f766572666c6f775f5f7365744f776e65723a205f6e6578744f776e6572206973207468652063757272656e74206f776e65727365744163636573736f723a204f6e6c792063616c6c61626c652062792074686520636f6e74726163742063726561746f7245524332303a207472616e736665722066726f6d20746865207a65726f20616464726573735f5f7365744163636573736f723a205f6e6578744163636573736f722063616e6e6f7420626520656d70747945524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a164736f6c634300060c000a60806040523480156200001157600080fd5b506202a300600355600280546001600160a01b031916331790556040805180820190915260048082526322a72d2360e11b60209092019182526200005691816200005d565b50620000f9565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620000a057805160ff1916838001178555620000d0565b82800160010185558215620000d0579182015b82811115620000d0578251825591602001919060010190620000b3565b50620000de929150620000e2565b5090565b5b80821115620000de5760008155600101620000e3565b61294b80620001096000396000f3fe60806040523480156200001157600080fd5b5060043610620001485760003560e01c806377a8c62411620000bd57806397af7050116200007b57806397af7050146200042d5780639c9d48da1462000456578063b47b06001462000487578063d0449d3d1462000509578063d15f9b9c14620005325762000148565b806377a8c62414620003885780637c77b2ed14620003b15780637dad9fc814620003bb5780638156eecf1462000419578063893d20e814620004235762000148565b80633d7c74f8116200010b5780633d7c74f814620002795780634e71e0c814620002a257806366231cea14620002ac578063728e17a014620002e9578063757bc0dd14620003125762000148565b80631df419f7146200014d57806322a0c08b146200016f578063288b6a3614620002225780632fa0c161146200022c57806338b3eb1b1462000248575b600080fd5b6200016d600480360360208110156200016557600080fd5b503562000573565b005b62000206600480360360808110156200018757600080fd5b6001600160a01b0382358116926020810135821692604082013590921691810190608081016060820135640100000000811115620001c457600080fd5b820183602082011115620001d757600080fd5b80359060200191846001830284011164010000000083111715620001fa57600080fd5b50909250905062000646565b604080516001600160a01b039092168252519081900360200190f35b62000206620008df565b62000236620008ee565b60408051918252519081900360200190f35b6200016d600480360360408110156200026057600080fd5b506001600160a01b0381351690602001351515620008f4565b62000206600480360360208110156200029157600080fd5b50356001600160a01b031662000c46565b6200016d62000c67565b620002d560048036036020811015620002c457600080fd5b50356001600160a01b031662000d10565b604080519115158252519081900360200190f35b6200016d600480360360208110156200030157600080fd5b50356001600160a01b031662000d43565b6200016d600480360360208110156200032a57600080fd5b8101906020810181356401000000008111156200034657600080fd5b8201836020820111156200035957600080fd5b803590602001918460018302840111640100000000831117156200037c57600080fd5b50909250905062000ebd565b6200023660048036036020811015620003a057600080fd5b50356001600160a01b031662000f7b565b6200020662000fc4565b620003e460048036036020811015620003d357600080fd5b50356001600160a01b031662000fd3565b604080516001600160a01b03958616815293851660208501529190931682820152606082019290925290519081900360800190f35b6200016d6200106b565b6200020662001147565b6200016d600480360360208110156200044557600080fd5b50356001600160a01b031662001156565b6200016d600480360360408110156200046e57600080fd5b506001600160a01b0381351690602001351515620012e1565b620004916200152a565b6040805160208082528351818301528351919283929083019185019080838360005b83811015620004cd578181015183820152602001620004b3565b50505050905090810190601f168015620004fb5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b620002d5600480360360208110156200052157600080fd5b50356001600160a01b0316620015c4565b6200016d600480360360808110156200054a57600080fd5b506001600160a01b038135811691602081013582169160408201351690606001351515620015e4565b6002546001600160a01b03163314620005be5760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b60035481811415620006025760405162461bcd60e51b815260040180806020018281038252603b81526020018062002904603b913960400191505060405180910390fd5b6003829055604080518281526020810184905281517f481ce28a1145a5d9b59e2d1d7eba33bc3350124def8fdc91032238d343ad5361929181900390910190a15050565b600080546001600160a01b03163314620006925760405162461bcd60e51b8152600401808060200182810382526034815260200180620024b66034913960400191505060405180910390fd5b6200069d8462001832565b620006da5760405162461bcd60e51b815260040180806020018281038252602d8152602001806200269b602d913960400191505060405180910390fd5b6060635c9a6d3760e01b8686868660405160240180856001600160a01b03168152602001846001600160a01b0316815260200180602001828103825284848281815260200192508082843760008382015260408051601f909201601f1990811690940182810390940182529283526020810180516001600160e01b03166001600160e01b0319909b169a909a17909952505196975087968e965062000786955093506200204c92505050565b8080602001836001600160a01b03168152602001828103825284818151815260200191508051906020019080838360005b83811015620007d1578181015183820152602001620007b7565b50505050905090810190601f168015620007ff5780820380516001836020036101000a031916815260200191505b509350505050604051809103906000f08015801562000822573d6000803e3d6000fd5b506001600160a01b0380821660008181526005602090815260409182902080546001600160a01b0319163390811790915582519384528a85169184019190915260609183018281529183018890529395508a8316928a169184917fa50560b448ad796ef60adfeffe1c19ed34daf94c2aa6905d0e209017dbc19f589188918c918c918c919060808201848480828437600083820152604051601f909101601f191690920182900397509095505050505050a4505095945050505050565b6001546001600160a01b031690565b60035490565b620008fe6200205a565b506001600160a01b038083166000908152600660209081526040918290208251608081018452815485168082526001830154861693820193909352600282015490941692840192909252600390910154606083015280620009915760405162461bcd60e51b815260040180806020018281038252603d815260200180620028c7603d913960400191505060405180910390fd5b336001600160a01b03821614620009da5760405162461bcd60e51b81526004018080602001828103825260458152602001806200279c6045913960600191505060405180910390fd5b6000546001600160a01b0382811691161462000a285760405162461bcd60e51b815260040180806020018281038252604f815260200180620025ed604f913960600191505060405180910390fd5b60608201514281111562000a6e5760405162461bcd60e51b8152600401808060200182810382526038815260200180620027296038913960400191505060405180910390fd5b6001600160a01b0380861660009081526005602090815260409182902054908601519186015192169162000aa9600289858886868d62001838565b876001600160a01b0316634140d607826040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050600060405180830381600087803b15801562000af957600080fd5b505af115801562000b0e573d6000803e3d6000fd5b50505050876001600160a01b031663ab9253ac836040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050600060405180830381600087803b15801562000b6257600080fd5b505af115801562000b77573d6000803e3d6000fd5b5050506001600160a01b03808a1660009081526005602090815260408083208054948b166001600160a01b0319958616179055600690915281208054831681556001810180548416905560028101805490931690925560039182015562000be5915089858886868d62001838565b604080516001600160a01b038481168252838116602083015281830187905291518288169286811692908c16917fad6fb3d36e2cda148dfd43203c1a40c0da9a9baa662ae9d6c3b0c3e4a9d6a6359181900360600190a45050505050505050565b6001600160a01b03808216600090815260056020526040902054165b919050565b6001546001600160a01b031633811462000cb35760405162461bcd60e51b815260040180806020018281038252603e8152602001806200281c603e913960400191505060405180910390fd5b600180546001600160a01b0319908116909155600280546001600160a01b0384811693821684179092556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038116600090815260066020526040812060030154801580159062000d3c5750804210155b9392505050565b6002546001600160a01b0316331462000d8e5760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b6001600160a01b03811662000dd55760405162461bcd60e51b8152600401808060200182810382526036815260200180620026c86036913960400191505060405180910390fd5b6002546001600160a01b038281169116141562000e245760405162461bcd60e51b815260040180806020018281038252603b81526020018062002761603b913960400191505060405180910390fd5b6001546001600160a01b038281169116141562000e735760405162461bcd60e51b815260040180806020018281038252603b815260200180620027e1603b913960400191505060405180910390fd5b600180546001600160a01b0319166001600160a01b0383169081179091556040517f132c19de901bb4ed8403c34734b6c841d5dc57745824da452a52433519ea5abf90600090a250565b6002546001600160a01b0316331462000f085760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b62000f166004838362002081565b507ff0115712c23b609855a28d7b8963c6d16d732ae388b11e5d4ec6d5eae4ad8698828260405180806020018281038252848482818152602001925080828437600083820152604051601f909101601f19169092018290039550909350505050a15050565b6001600160a01b0381166000908152600660205260408120600301548062000fa857600091505062000c62565b80421062000fbb57600091505062000c62565b42900392915050565b6000546001600160a01b031690565b60008060008062000fe36200205a565b506001600160a01b038086166000908152600660209081526040918290208251608081018452815485168152600182015485169281019290925260028101549093169181019190915260039091015460608201819052156200106257806000015181602001518260400151836060015194509450945094505062001064565b505b9193509193565b6002546001600160a01b03163314620010b65760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b6001546001600160a01b031680620011005760405162461bcd60e51b81526004018080602001828103825260318152602001806200266a6031913960400191505060405180910390fd5b600180546001600160a01b03191690556040516001600160a01b038216907fe4136584a5e8bb85d66301f3ce8b11cc2e5a8bea3979f10ea2451353849acc4790600090a250565b6002546001600160a01b031690565b6002546001600160a01b03163314620011a15760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b6001600160a01b038116620011e85760405162461bcd60e51b81526004018080602001828103825260398152602001806200258e6039913960400191505060405180910390fd5b620011f38162001832565b620012305760405162461bcd60e51b8152600401808060200182810382526036815260200180620028916036913960400191505060405180910390fd5b6000546001600160a01b03908116908216811415620012815760405162461bcd60e51b81526004018080602001828103825260488152602001806200251a6048913960600191505060405180910390fd5b600080546001600160a01b0319166001600160a01b03848116918217909255604080519284168352602083019190915280517f44cf34a26ccbaa8a20e6098a1278e28682572ec9921eb43d8dab274a503e92f59281900390910190a15050565b620012eb6200205a565b506001600160a01b0380831660009081526006602090815260409182902082516080810184528154851680825260018301548616938201939093526002820154909416928401929092526003909101546060830152806200137e5760405162461bcd60e51b815260040180806020018281038252602c81526020018062002562602c913960400191505060405180910390fd5b336001600160a01b038216148062001407575060408051633ef03e7560e11b815233600482015290516001600160a01b03861691637de07cea916024808301926020929190829003018186803b158015620013d857600080fd5b505afa158015620013ed573d6000803e3d6000fd5b505050506040513d60208110156200140457600080fd5b50515b620014445760405162461bcd60e51b8152600401808060200182810382526026815260200180620025c76026913960400191505060405180910390fd5b6001600160a01b0380851660009081526005602090815260408083205486830151878301516060890151600690955292852080546001600160a01b03199081168255600182018054821690556002820180549091169055600301949094559093169290620014b9600489868887878d62001838565b620014c988858786868c62001bd1565b604080516001600160a01b038581168252848116602083015281830184905291518288169287811692908c16917f9851a8f232c380eb2c1065756776e37d85d4fe0c8cb4005b0d72c749bfef923e9181900360600190a45050505050505050565b60048054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815260609390929091830182828015620015ba5780601f106200158e57610100808354040283529160200191620015ba565b820191906000526020600020905b8154815290600101906020018083116200159c57829003601f168201915b5050505050905090565b6001600160a01b0316600090815260066020526040902060030154151590565b6000546001600160a01b031633146200162f5760405162461bcd60e51b8152600401808060200182810382526034815260200180620024b66034913960400191505060405180910390fd5b6200163a8362001832565b620016775760405162461bcd60e51b8152600401808060200182810382526030815260200180620024ea6030913960400191505060405180910390fd5b6001600160a01b038085166000908152600560205260409020541680620016d05760405162461bcd60e51b815260040180806020018281038252602b815260200180620026fe602b913960400191505060405180910390fd5b336001600160a01b0382168114156200171b5760405162461bcd60e51b81526004018080602001828103825260378152602001806200285a6037913960400191505060405180910390fd5b6200172d600087848489898962001838565b60038054604080516080810182526001600160a01b03808616825289811660208084019182528a831684860190815242909601606085018181528e85166000908152600690935295909120935184549084166001600160a01b0319918216178555915160018086018054928616928516929092179091559551600285018054919094169216919091179091559151930192909255620017d2908885858a8a8a62001838565b604080516001600160a01b038881168252878116602083015281830184905291518285169286811692908b16917fb519c42fdb88f83f098814813f2ebff14fbf14f3e68b054e5a98834c69d54bfb9181900360600190a450505050505050565b3b151590565b60006060866001600160a01b0316633f84c12c60e01b8a8a898989604051602401808660048111156200186757fe5b8152602001856001600160a01b03168152602001846001600160a01b03168152602001836001600160a01b03168152602001826001600160a01b0316815260200195505050505050604051602081830303815290604052906001600160e01b0319166020820180516001600160e01b0383818316178352505050506040518082805190602001908083835b60208310620019135780518252601f199092019160209182019101620018f2565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811462001977576040519150601f19603f3d011682016040523d82523d6000602084013e6200197c565b606091505b50915091508162001bc65782620019938a62001ea1565b826040516020018083805190602001908083835b60208310620019c85780518252601f199092019160209182019101620019a7565b51815160209384036101000a600019018019909216911617905285519190930192850191508083835b6020831062001a125780518252601f199092019160209182019101620019f1565b6001836020036101000a038019825116818451168082178552505050505050905001925050506040516020818303038152906040529062001ad45760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101562001a9857818101518382015260200162001a7e565b50505050905090810190601f16801562001ac65780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50856001600160a01b0316876001600160a01b0316896001600160a01b03167fbf0ae6830883bd89855f2e7b17a2924b5de0b2b3d4a8834d7c2c0d5dc53447db848d8a8a604051808060200185600481111562001b2d57fe5b8152602001846001600160a01b03168152602001836001600160a01b03168152602001828103825286818151815260200191508051906020019080838360005b8381101562001b8757818101518382015260200162001b6d565b50505050905090810190601f16801562001bb55780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a45b505050505050505050565b604080516001600160a01b038881166024830152878116604483015285811660648301528481166084808401919091528351808403909101815260a490920183526020820180516001600160e01b031663df369ba760e01b17815292518251600094606094938a169392918291908083835b6020831062001c645780518252601f19909201916020918201910162001c43565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811462001cc8576040519150601f19603f3d011682016040523d82523d6000602084013e62001ccd565b606091505b50915091508162001e9757828160405160200180807f4d6967726174696f6e4f757443616e63656c486f6f6b3a20000000000000000081525060180182805190602001908083835b6020831062001d365780518252601f19909201916020918201910162001d15565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040516020818303038152906040529062001db95760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831562001a9857818101518382015260200162001a7e565b50856001600160a01b0316876001600160a01b0316896001600160a01b03167f7c79070aa51adb676fb9c8d0f7a1f841ff9cf514444b37c95297ed1c52547b328489896040518080602001846001600160a01b03168152602001836001600160a01b03168152602001828103825285818151815260200191508051906020019080838360005b8381101562001e5957818101518382015260200162001e3f565b50505050905090810190601f16801562001e875780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a45b5050505050505050565b6060600082600481111562001eb257fe5b141562001ef4575060408051808201909152601c81527f4d6967726174696f6e4f7574486f6f6b2e5072655369676e616c3a2000000000602082015262000c62565b600182600481111562001f0357fe5b141562001f45575060408051808201909152601d81527f4d6967726174696f6e4f7574486f6f6b2e506f73745369676e616c3a20000000602082015262000c62565b600282600481111562001f5457fe5b141562001f96575060408051808201909152601d81527f4d6967726174696f6e4f7574486f6f6b2e5072654d6967726174653a20000000602082015262000c62565b600382600481111562001fa557fe5b141562001fe7575060408051808201909152601e81527f4d6967726174696f6e4f7574486f6f6b2e506f73744d6967726174653a200000602082015262000c62565b600482600481111562001ff657fe5b141562002038575060408051808201909152601d81527f4d6967726174696f6e4f7574486f6f6b2e506f737443616e63656c3a20000000602082015262000c62565b505060408051602081019091526000815290565b610398806200211e83390190565b60408051608081018252600080825260208201819052918101829052606081019190915290565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620020c45782800160ff19823516178555620020f4565b82800160010185558215620020f4579182015b82811115620020f4578235825591602001919060010190620020d7565b506200210292915062002106565b5090565b5b808211156200210257600081556001016200210756fe608060405234801561001057600080fd5b506040516103983803806103988339818101604052604081101561003357600080fd5b810190808051604051939291908464010000000082111561005357600080fd5b90830190602082018581111561006857600080fd5b825164010000000081118282018810171561008257600080fd5b82525081516020918201929091019080838360005b838110156100af578181015183820152602001610097565b50505050905090810190601f1680156100dc5780820380516001836020036101000a031916815260200191505b5060408181526020928301516352d1902d60e01b835290519094506001600160a01b03851693506352d1902d92600480840193919291829003018186803b15801561012657600080fd5b505afa15801561013a573d6000803e3d6000fd5b505050506040513d602081101561015057600080fd5b50517f027b9570e9fedc1a80b937ae9a06861e5faef3992491af30b684a64b3fbec7a5146101af5760405162461bcd60e51b81526004018080602001828103825260258152602001806103736025913960400191505060405180910390fd5b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5560006060826001600160a01b0316846040518082805190602001908083835b602083106102105780518252601f1990920191602091820191016101f1565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610270576040519150601f19603f3d011682016040523d82523d6000602084013e610275565b606091505b50915091508181906103055760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156102ca5781810151838201526020016102b2565b50505050905090810190601f1680156102f75780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5050505050605b806103186000396000f3fe60806040527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc543660008037600080366000846127105a03f43d806000803e818015604957816000f35b816000fdfea164736f6c634300060c000a636f6e7374727563746f723a205f7661756c744c6962206e6f7420636f6d70617469626c654f6e6c79207468652063757272656e742046756e644465706c6f7965722063616e2063616c6c20746869732066756e6374696f6e7369676e616c4d6967726174696f6e3a204e6f6e2d636f6e7472616374205f6e6578745661756c744163636573736f7273657443757272656e7446756e644465706c6f7965723a205f6e65787446756e644465706c6f79657220697320616c72656164792063757272656e7446756e644465706c6f79657263616e63656c4d6967726174696f6e3a204e6f206d6967726174696f6e20726571756573742065786973747373657443757272656e7446756e644465706c6f7965723a205f6e65787446756e644465706c6f7965722063616e6e6f7420626520656d70747963616e63656c4d6967726174696f6e3a204e6f7420616e20616c6c6f7765642063616c6c6572657865637574654d6967726174696f6e3a20546865207461726765742046756e644465706c6f796572206973206e6f206c6f6e676572207468652063757272656e742046756e644465706c6f7965724f6e6c792074686520636f6e7472616374206f776e65722063616e2063616c6c20746869732066756e6374696f6e72656d6f76654e6f6d696e617465644f776e65723a205468657265206973206e6f206e6f6d696e61746564206f776e65726465706c6f795661756c7450726f78793a204e6f6e2d636f6e7472616374205f7661756c744163636573736f727365744e6f6d696e617465644f776e65723a205f6e6578744e6f6d696e617465644f776e65722063616e6e6f7420626520656d7074797369676e616c4d6967726174696f6e3a205f7661756c7450726f787920646f6573206e6f74206578697374657865637574654d6967726174696f6e3a20546865206d6967726174696f6e2074696d656c6f636b20686173206e6f7420656c61707365647365744e6f6d696e617465644f776e65723a205f6e6578744e6f6d696e617465644f776e657220697320616c726561647920746865206f776e6572657865637574654d6967726174696f6e3a204f6e6c7920746865207461726765742046756e644465706c6f7965722063616e2063616c6c20746869732066756e6374696f6e7365744e6f6d696e617465644f776e65723a205f6e6578744e6f6d696e617465644f776e657220697320616c7265616479206e6f6d696e61746564636c61696d4f776e6572736869703a204f6e6c7920746865206e6f6d696e617465644f776e65722063616e2063616c6c20746869732066756e6374696f6e7369676e616c4d6967726174696f6e3a2043616e206f6e6c79206d69677261746520746f2061206e65772046756e644465706c6f79657273657443757272656e7446756e644465706c6f7965723a204e6f6e2d636f6e7472616374205f6e65787446756e644465706c6f796572657865637574654d6967726174696f6e3a204e6f206d6967726174696f6e20726571756573742065786973747320666f72205f7661756c7450726f78797365744d6967726174696f6e54696d656c6f636b3a205f6e65787454696d656c6f636b206973207468652063757272656e742074696d656c6f636ba164736f6c634300060c000a0000000000000000000000007109709ecfa91a80626ff3989d68f67f5b1dd12d4572726f723a2061203d3d2062206e6f7420736174697366696564205b75696e745d4572726f723a2061203d3d2062206e6f7420736174697366696564205b737472696e675d6465706c6f795661756c7450726f78793a204e6f6e2d636f6e7472616374205f7661756c744163636573736f724572726f723a2061203d3d2062206e6f7420736174697366696564205b616464726573735da164736f6c634300060c000a", - "sourceMap": "3939:2960:456:-:0;;;1572:26:435;;;-1:-1:-1;;;;1572:26:435;;;1594:4;1572:26;165:28:436;;;;;3939:2960:456;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106100935760003560e01c806371bcacd31161006657806371bcacd314610174578063ba414fa61461017c578063cd8591bb14610198578063f8ccbf47146101a0578063fa7626d4146101a857610093565b80630a9254e41461009857806312bfb5fb146100a25780633a768463146100aa578063511b1df9146100ce575b600080fd5b6100a06101b0565b005b6100a06103fb565b6100b2610668565b604080516001600160a01b039092168252519081900360200190f35b6100b2600480360360208110156100e457600080fd5b8101906020810181356401000000008111156100ff57600080fd5b82018360208201111561011157600080fd5b8035906020019184600183028401116401000000008311171561013357600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955061067b945050505050565b6100a061068f565b61018461082e565b604080519115158252519081900360200190f35b6100a06109ef565b610184611453565b610184611462565b6101b861146b565b604080518082019091526014815273323ab6b6bc903b30bab63a1030b1b1b2b9b9b7b960611b6020820152600080516020620059638339815191529063b4d6c782906102039061067b565b6040518263ffffffff1660e01b815260040180826001600160a01b03168152602001806020018281038252601481526020018073223ab6b6bc902b30bab63a1020b1b1b2b9b9b7b960611b81525060200192505050600060405180830381600087803b15801561027257600080fd5b505af1158015610286573d6000803e3d6000fd5b5050604080518082019091526013815272323ab6b6bc90333ab732103232b83637bcb2b960691b602082015260008051602062005963833981519152925063b4d6c78291506102d49061067b565b6040518263ffffffff1660e01b815260040180826001600160a01b03168152602001806020018281038252601381526020018072223ab6b6bc90233ab732102232b83637bcb2b960691b81525060200192505050600060405180830381600087803b15801561034257600080fd5b505af1158015610356573d6000803e3d6000fd5b5050600854604080518082019091526013815272323ab6b6bc90333ab732103232b83637bcb2b960691b60208201526001600160a01b0390911692506397af705091506103a29061067b565b6040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050600060405180830381600087803b1580156103e157600080fd5b505af11580156103f5573d6000803e3d6000fd5b50505050565b604080518082019091526013815272323ab6b6bc90333ab732103232b83637bcb2b960691b6020820152600080516020620059638339815191529063ca669fa7906104459061067b565b6040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050600060405180830381600087803b15801561048457600080fd5b505af1158015610498573d6000803e3d6000fd5b505060405163f28dceb360e01b8152602060048201908152602d6024830181905260008051602062005963833981519152945063f28dceb3935090918291604490910190620059c98239604001915050600060405180830381600087803b15801561050257600080fd5b505af1158015610516573d6000803e3d6000fd5b505060085460408051808201909152600f81526e323ab6b6bc903b30bab63a103634b160891b60208201526001600160a01b0390911692506322a0c08b915061055e9061067b565b61058460405180604001604052806005815260200164616c69636560d81b81525061067b565b6105c26040518060400160405280601b81526020017f6e6f6e2d636f6e7472616374207661756c74206163636573736f72000000000081525061067b565b604080516001600160e01b031960e087901b1681526001600160a01b03948516600482015292841660248401529216604482015260806064820152600a608482015269111d5b5b5e48119d5b9960b21b60a4820152905160c48083019260209291908290030181600087803b15801561063a57600080fd5b505af115801561064e573d6000803e3d6000fd5b505050506040513d602081101561066457600080fd5b5050565b6000805160206200596383398151915281565b80516020909101206001600160a01b031690565b604080518082019091526013815272323ab6b6bc90333ab732103232b83637bcb2b960691b6020820152600080516020620059638339815191529063ca669fa7906106d99061067b565b6040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050600060405180830381600087803b15801561071857600080fd5b505af115801561072c573d6000803e3d6000fd5b505060408051633d21120560e21b8152905160008051602062005963833981519152935063f48448149250600480830192600092919082900301818387803b15801561077757600080fd5b505af115801561078b573d6000803e3d6000fd5b505060085460408051808201909152600f81526e323ab6b6bc903b30bab63a103634b160891b60208201526001600160a01b0390911692506322a0c08b91506107d39061067b565b6107f960405180604001604052806005815260200164616c69636560d81b81525061067b565b6105c260405180604001604052806014815260200173323ab6b6bc903b30bab63a1030b1b1b2b9b9b7b960611b81525061067b565b60008054610100900460ff16156108505750600054610100900460ff166109ec565b600061085a6114b6565b156109e957604080516000805160206200596383398151915260208083018290526519985a5b195960d21b838501528351808403850181526060848101909552630667f9d760e41b60808501908152815193947f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc494929391926084909101918401908083835b602083106108ff5780518252601f1990920191602091820191016108e0565b6001836020036101000a038019825116818451168082178552505050505050905001925050506040516020818303038152906040526040518082805190602001908083835b602083106109635780518252601f199092019160209182019101610944565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146109c5576040519150601f19603f3d011682016040523d82523d6000602084013e6109ca565b606091505b509150508080602001905160208110156109e357600080fd5b50519150505b90505b90565b60006040516109fd90611de9565b604051809103906000f080158015610a19573d6000803e3d6000fd5b506040805163248e63e160e11b8152600160048201819052602482018190526044820181905260648201529051919250600080516020620059638339815191529163491cc7c29160848082019260009290919082900301818387803b158015610a8157600080fd5b505af1158015610a95573d6000803e3d6000fd5b505050507fb5a9def940973a936e331170816650368964b0602957d4bc60f5ddc2dc1b69cd6000610af160405180604001604052806014815260200173323ab6b6bc903b30bab63a1030b1b1b2b9b9b7b960611b81525061067b565b60405180836001600160a01b03168152602001826001600160a01b031681526020019250505060405180910390a16040805163248e63e160e11b8152600160048201819052602482018190526044820181905260648201529051600080516020620059638339815191529163491cc7c291608480830192600092919082900301818387803b158015610b8257600080fd5b505af1158015610b96573d6000803e3d6000fd5b505050507f342827c97908e5e2f71151c08502a66d44b6f758e3ac2f1de95f02eb95f0a7356000610be360405180604001604052806005815260200164616c69636560d81b81525061067b565b60405180836001600160a01b03168152602001826001600160a01b031681526020019250505060405180910390a16040805163248e63e160e11b8152600160048201819052602482018190526044820181905260648201529051600080516020620059638339815191529163491cc7c291608480830192600092919082900301818387803b158015610c7457600080fd5b505af1158015610c88573d6000803e3d6000fd5b505060408051600081526001600160a01b038516602082015281517fe504a0278c9d64c1a72d2f528a0c5e3686e093fcd478b3b1224a5c6983207df69450908190039091019150a16040805163248e63e160e11b8152600160048201819052602482018190526044820181905260648201529051600080516020620059638339815191529163491cc7c291608480830192600092919082900301818387803b158015610d3357600080fd5b505af1158015610d47573d6000803e3d6000fd5b50505050806001600160a01b0316610d7b60405180604001604052806005815260200164616c69636560d81b81525061067b565b6001600160a01b0316610db860405180604001604052806013815260200172323ab6b6bc90333ab732103232b83637bcb2b960691b81525061067b565b6008546001600160a01b03918216917fa50560b448ad796ef60adfeffe1c19ed34daf94c2aa6905d0e209017dbc19f5891610df5911660016114cc565b610e2a60405180604001604052806014815260200173323ab6b6bc903b30bab63a1030b1b1b2b9b9b7b960611b81525061067b565b604080516001600160a01b0393841681529190921660208201526060818301819052600a9082015269111d5b5b5e48119d5b9960b21b608082015290519081900360a00190a4604080518082019091526013815272323ab6b6bc90333ab732103232b83637bcb2b960691b6020820152600080516020620059638339815191529063ca669fa790610eba9061067b565b6040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050600060405180830381600087803b158015610ef957600080fd5b505af1158015610f0d573d6000803e3d6000fd5b5050600854604080518082019091526005815264616c69636560d81b6020820152600093506001600160a01b0390911691506322a0c08b908490610f509061067b565b610f8560405180604001604052806014815260200173323ab6b6bc903b30bab63a1030b1b1b2b9b9b7b960611b81525061067b565b604080516001600160e01b031960e087901b1681526001600160a01b03948516600482015292841660248401529216604482015260806064820152600a608482015269111d5b5b5e48119d5b9960b21b60a4820152905160c48083019260209291908290030181600087803b158015610ffd57600080fd5b505af1158015611011573d6000803e3d6000fd5b505050506040513d602081101561102757600080fd5b5051604080518082019091526013815272323ab6b6bc90333ab732103232b83637bcb2b960691b60208201529091506110e1906110639061067b565b600854604080516307af8e9f60e31b81526001600160a01b03868116600483015291519190921691633d7c74f8916024808301926020929190829003018186803b1580156110b057600080fd5b505afa1580156110c4573d6000803e3d6000fd5b505050506040513d60208110156110da57600080fd5b505161177c565b611133600860009054906101000a90046001600160a01b0316826001600160a01b0316630ee2cb106040518163ffffffff1660e01b815260040160206040518083038186803b1580156110b057600080fd5b6111a461116b60405180604001604052806014815260200173323ab6b6bc903b30bab63a1030b1b1b2b9b9b7b960611b81525061067b565b826001600160a01b0316635a53e3486040518163ffffffff1660e01b815260040160206040518083038186803b1580156110b057600080fd5b6112066111cd60405180604001604052806005815260200164616c69636560d81b81525061067b565b826001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b1580156110b057600080fd5b6112446000826001600160a01b031663cd63d5786040518163ffffffff1660e01b815260040160206040518083038186803b1580156110b057600080fd5b6113956040518060400160405280600a815260200169111d5b5b5e48119d5b9960b21b815250826001600160a01b03166306fdde036040518163ffffffff1660e01b815260040160006040518083038186803b1580156112a357600080fd5b505afa1580156112b7573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260208110156112e057600080fd5b810190808051604051939291908464010000000082111561130057600080fd5b90830190602082018581111561131557600080fd5b825164010000000081118282018810171561132f57600080fd5b82525081516020918201929091019080838360005b8381101561135c578181015183820152602001611344565b50505050905090810190601f1680156113895780820380516001836020036101000a031916815260200191505b5060405250505061189f565b6113e160405180602001604052806000815250826001600160a01b03166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b1580156112a357600080fd5b6106646012826001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561141f57600080fd5b505afa158015611433573d6000803e3d6000fd5b505050506040513d602081101561144957600080fd5b505160ff16611b52565b60005462010000900460ff1681565b60005460ff1681565b60405161147790611df7565b604051809103906000f080158015611493573d6000803e3d6000fd5b50600880546001600160a01b0319166001600160a01b0392909216919091179055565b600080516020620059638339815191523b151590565b6000816115345760408051606b60f91b602080830191909152602560fa1b60218301526001600160601b0319606087901b166022830152600160ff1b6036830152825160178184030181526037909201909252805191012061152d906109ec565b9050611776565b607f82116115a05760408051606b60f91b602080830191909152602560fa1b60218301526001600160601b0319606087901b16602283015260f885901b6001600160f81b0319166036830152825160178184030181526037909201909252805191012061152d906109ec565b60ff8211611616576040805160d760f81b602080830191909152602560fa1b60218301526001600160601b0319606087901b166022830152608160f81b603683015260f885901b6001600160f81b0319166037830152825160188184030181526038909201909252805191012061152d906109ec565b61ffff821161168d5760408051601b60fb1b602080830191909152602560fa1b60218301526001600160601b0319606087901b166022830152604160f91b60368301526001600160f01b031960f086901b166037830152825160198184030181526039909201909252805191012061152d906109ec565b62ffffff8211611705576040805160d960f81b602080830191909152602560fa1b60218301526001600160601b0319606087901b166022830152608360f81b60368301526001600160e81b031960e886901b1660378301528251601a818403018152603a909201909252805191012061152d906109ec565b60408051606d60f91b602080830191909152602560fa1b60218301526001600160601b0319606087901b166022830152602160fa1b60368301526001600160e01b031960e086901b1660378301528251601b818403018152603b9092019092528051910120611773906109ec565b90505b92915050565b806001600160a01b0316826001600160a01b031614610664577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50604051808060200182810382526025815260200180620059f66025913960400191505060405180910390a1604080516001600160a01b0383166020820152818152600a81830152690808115e1c1958dd195960b21b606082015290517f9c4e8541ca8f0dc1c413f9108f66d82d3cecb1bddbce437a61caa3175c4cc96f9181900360800190a1604080516001600160a01b0384166020820152818152600a8183015269080808081058dd1d585b60b21b606082015290517f9c4e8541ca8f0dc1c413f9108f66d82d3cecb1bddbce437a61caa3175c4cc96f9181900360800190a1610664611c4f565b806040516020018082805190602001908083835b602083106118d25780518252601f1990920191602091820191016118b3565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405160208183030381529060405280519060200120826040516020018082805190602001908083835b602083106119405780518252601f199092019160209182019101611921565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040516020818303038152906040528051906020012014610664577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50604051808060200182810382526024815260200180620059a56024913960400191505060405180910390a17f280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf3583816040518080602001806020018381038352600a815260200180690808115e1c1958dd195960b21b815250602001838103825284818151815260200191508051906020019080838360005b83811015611a50578181015183820152602001611a38565b50505050905090810190601f168015611a7d5780820380516001836020036101000a031916815260200191505b50935050505060405180910390a17f280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf3583826040518080602001806020018381038352600a81526020018069080808081058dd1d585b60b21b815250602001838103825284818151815260200191508051906020019080838360005b83811015611b0f578181015183820152602001611af7565b50505050905090810190601f168015611b3c5780820380516001836020036101000a031916815260200191505b50935050505060405180910390a1610664611c4f565b808214610664577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50604051808060200182810382526022815260200180620059836022913960400191505060405180910390a16040805160208101839052818152600a81830152690808115e1c1958dd195960b21b606082015290517fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a89181900360800190a16040805160208101849052818152600a8183015269080808081058dd1d585b60b21b606082015290517fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a89181900360800190a16106645b611c576114b6565b15611dd857604080516000805160206200596383398151915260208083018290526519985a5b195960d21b83850152600160608481019190915284518085039091018152608084019094526370ca10bb60e01b60a08401908152845160009593947f70ca10bbd0dbfd9020a9f4b13402c16cb120705e0d1c0aeab10fa353ae586fc4949360a490910191908401908083835b60208310611d085780518252601f199092019160209182019101611ce9565b6001836020036101000a038019825116818451168082178552505050505050905001925050506040516020818303038152906040526040518082805190602001908083835b60208310611d6c5780518252601f199092019160209182019101611d4d565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114611dce576040519150601f19603f3d011682016040523d82523d6000602084013e611dd3565b606091505b505050505b6000805461ff001916610100179055565b6111098062001e0683390190565b612a548062002f0f8339019056fe608060405234801561001057600080fd5b506110e9806100206000396000f3fe608060405234801561001057600080fd5b50600436106101215760003560e01c80635c9a6d37116100ad57806395d89b411161007157806395d89b4114610392578063a9059cbb1461039a578063ab9253ac146103c6578063cd63d578146103ec578063dd62ed3e146103f457610121565b80635c9a6d37146102ad578063682cea191461033657806370a082311461033e5780637de07cea14610364578063893d20e81461038a57610121565b806323b872dd116100f457806323b872dd14610221578063313ce567146102575780634140d6071461027557806352d1902d1461029d5780635a53e348146102a557610121565b806306fdde0314610126578063095ea7b3146101a35780630ee2cb10146101e357806318160ddd14610207575b600080fd5b61012e610422565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610168578181015183820152602001610150565b50505050905090810190601f1680156101955780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101cf600480360360408110156101b957600080fd5b506001600160a01b0381351690602001356104b8565b604080519115158252519081900360200190f35b6101eb6104ce565b604080516001600160a01b039092168252519081900360200190f35b61020f6104dd565b60408051918252519081900360200190f35b6101cf6004803603606081101561023757600080fd5b506001600160a01b038135811691602081013590911690604001356104e3565b61025f61054c565b6040805160ff9092168252519081900360200190f35b61029b6004803603602081101561028b57600080fd5b50356001600160a01b0316610551565b005b61020f6105f8565b6101eb61061c565b61029b600480360360608110156102c357600080fd5b6001600160a01b0382358116926020810135909116918101906060810160408201356401000000008111156102f757600080fd5b82018360208201111561030957600080fd5b8035906020019184600183028401116401000000008311171561032b57600080fd5b50909250905061062b565b6101eb610719565b61020f6004803603602081101561035457600080fd5b50356001600160a01b031661073e565b6101cf6004803603602081101561037a57600080fd5b50356001600160a01b0316610759565b6101eb61078b565b61012e61079a565b6101cf600480360360408110156103b057600080fd5b506001600160a01b0381351690602001356107fa565b61029b600480360360208110156103dc57600080fd5b50356001600160a01b0316610807565b6101eb61085c565b61020f6004803603604081101561040a57600080fd5b506001600160a01b038135811691602001351661086b565b60008054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104ae5780601f10610483576101008083540402835291602001916104ae565b820191906000526020600020905b81548152906001019060200180831161049157829003601f168201915b5050505050905090565b60006104c5338484610896565b50600192915050565b6006546001600160a01b031690565b60025490565b60006104f0848484610982565b610542843361053d85604051806060016040528060288152602001610fc0602891396001600160a01b038a1660009081526004602090815260408083203384529091529020549190610ad4565b610896565b5060019392505050565b601290565b6006546001600160a01b0316331461059a5760405162461bcd60e51b8152600401808060200182810382526032815260200180610f8e6032913960400191505060405180910390fd5b60006105a4610719565b90506105af82610b6b565b604080516001600160a01b0380841682528416602082015281517fe504a0278c9d64c1a72d2f528a0c5e3686e093fcd478b3b1224a5c6983207df6929181900390910190a15050565b7f027b9570e9fedc1a80b937ae9a06861e5faef3992491af30b684a64b3fbec7a590565b6005546001600160a01b031690565b6006546001600160a01b031615610689576040805162461bcd60e51b815260206004820152601f60248201527f696e69743a2050726f787920616c726561647920696e697469616c697a656400604482015290519081900360640190fd5b600680546001600160a01b031916331790556106a760008383610e38565b506106b183610c51565b6106ba84610cf9565b7fe504a0278c9d64c1a72d2f528a0c5e3686e093fcd478b3b1224a5c6983207df660006106e5610719565b60405180836001600160a01b03168152602001826001600160a01b031681526020019250505060405180910390a150505050565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b031660009081526003602052604090205490565b6008546000906001600160a01b038381169116148061078557506007546001600160a01b038381169116145b92915050565b6008546001600160a01b031690565b60018054604080516020601f600260001961010087891615020190951694909404938401819004810282018101909252828152606093909290918301828280156104ae5780601f10610483576101008083540402835291602001916104ae565b60006104c5338484610982565b6006546001600160a01b031633146108505760405162461bcd60e51b81526004018080602001828103825260328152602001806110366032913960400191505060405180910390fd5b61085981610c51565b50565b6007546001600160a01b031690565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b6001600160a01b0383166108db5760405162461bcd60e51b81526004018080602001828103825260248152602001806110b96024913960400191505060405180910390fd5b6001600160a01b0382166109205760405162461bcd60e51b8152600401808060200182810382526022815260200180610f206022913960400191505060405180910390fd5b6001600160a01b03808416600081815260046020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0383166109c75760405162461bcd60e51b81526004018080602001828103825260258152602001806110686025913960400191505060405180910390fd5b6001600160a01b038216610a0c5760405162461bcd60e51b8152600401808060200182810382526023815260200180610ecc6023913960400191505060405180910390fd5b610a4981604051806060016040528060268152602001610f42602691396001600160a01b0386166000908152600360205260409020549190610ad4565b6001600160a01b038085166000908152600360205260408082209390935590841681522054610a789082610ded565b6001600160a01b0380841660008181526003602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b60008184841115610b635760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610b28578181015183820152602001610b10565b50505050905090810190601f168015610b555780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b815260040160206040518083038186803b158015610ba457600080fd5b505afa158015610bb8573d6000803e3d6000fd5b505050506040513d6020811015610bce57600080fd5b50517f027b9570e9fedc1a80b937ae9a06861e5faef3992491af30b684a64b3fbec7a514610c2d5760405162461bcd60e51b8152600401808060200182810382526031815260200180610eef6031913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b6001600160a01b038116610c965760405162461bcd60e51b815260040180806020018281038252602c81526020018061108d602c913960400191505060405180910390fd5b600580546001600160a01b038381166001600160a01b0319831681179093556040805191909216808252602082019390935281517fb5a9def940973a936e331170816650368964b0602957d4bc60f5ddc2dc1b69cd929181900390910190a15050565b6001600160a01b038116610d3e5760405162461bcd60e51b8152600401808060200182810382526026815260200180610f686026913960400191505060405180910390fd5b6008546001600160a01b03908116908216811415610d8d5760405162461bcd60e51b815260040180806020018281038252602b81526020018061100b602b913960400191505060405180910390fd5b600880546001600160a01b0319166001600160a01b03848116918217909255604080519284168352602083019190915280517f342827c97908e5e2f71151c08502a66d44b6f758e3ac2f1de95f02eb95f0a7359281900390910190a15050565b600082820183811015610e315760405162461bcd60e51b8152600401808060200182810382526023815260200180610fe86023913960400191505060405180910390fd5b9392505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10610e795782800160ff19823516178555610ea6565b82800160010185558215610ea6579182015b82811115610ea6578235825591602001919060010190610e8b565b50610eb2929150610eb6565b5090565b5b80821115610eb25760008155600101610eb756fe45524332303a207472616e7366657220746f20746865207a65726f20616464726573735f5f757064617465436f6465416464726573733a205f6e6578745661756c744c6962206e6f7420636f6d70617469626c6545524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e63655f5f7365744f776e65723a205f6e6578744f776e65722063616e6e6f7420626520656d7074797365745661756c744c69623a204f6e6c792063616c6c61626c652062792074686520636f6e74726163742063726561746f7245524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63655661756c744c6962536166654d6174683a206164646974696f6e206f766572666c6f775f5f7365744f776e65723a205f6e6578744f776e6572206973207468652063757272656e74206f776e65727365744163636573736f723a204f6e6c792063616c6c61626c652062792074686520636f6e74726163742063726561746f7245524332303a207472616e736665722066726f6d20746865207a65726f20616464726573735f5f7365744163636573736f723a205f6e6578744163636573736f722063616e6e6f7420626520656d70747945524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a164736f6c634300060c000a60806040523480156200001157600080fd5b506202a300600355600280546001600160a01b031916331790556040805180820190915260048082526322a72d2360e11b60209092019182526200005691816200005d565b50620000f9565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620000a057805160ff1916838001178555620000d0565b82800160010185558215620000d0579182015b82811115620000d0578251825591602001919060010190620000b3565b50620000de929150620000e2565b5090565b5b80821115620000de5760008155600101620000e3565b61294b80620001096000396000f3fe60806040523480156200001157600080fd5b5060043610620001485760003560e01c806377a8c62411620000bd57806397af7050116200007b57806397af7050146200042d5780639c9d48da1462000456578063b47b06001462000487578063d0449d3d1462000509578063d15f9b9c14620005325762000148565b806377a8c62414620003885780637c77b2ed14620003b15780637dad9fc814620003bb5780638156eecf1462000419578063893d20e814620004235762000148565b80633d7c74f8116200010b5780633d7c74f814620002795780634e71e0c814620002a257806366231cea14620002ac578063728e17a014620002e9578063757bc0dd14620003125762000148565b80631df419f7146200014d57806322a0c08b146200016f578063288b6a3614620002225780632fa0c161146200022c57806338b3eb1b1462000248575b600080fd5b6200016d600480360360208110156200016557600080fd5b503562000573565b005b62000206600480360360808110156200018757600080fd5b6001600160a01b0382358116926020810135821692604082013590921691810190608081016060820135640100000000811115620001c457600080fd5b820183602082011115620001d757600080fd5b80359060200191846001830284011164010000000083111715620001fa57600080fd5b50909250905062000646565b604080516001600160a01b039092168252519081900360200190f35b62000206620008df565b62000236620008ee565b60408051918252519081900360200190f35b6200016d600480360360408110156200026057600080fd5b506001600160a01b0381351690602001351515620008f4565b62000206600480360360208110156200029157600080fd5b50356001600160a01b031662000c46565b6200016d62000c67565b620002d560048036036020811015620002c457600080fd5b50356001600160a01b031662000d10565b604080519115158252519081900360200190f35b6200016d600480360360208110156200030157600080fd5b50356001600160a01b031662000d43565b6200016d600480360360208110156200032a57600080fd5b8101906020810181356401000000008111156200034657600080fd5b8201836020820111156200035957600080fd5b803590602001918460018302840111640100000000831117156200037c57600080fd5b50909250905062000ebd565b6200023660048036036020811015620003a057600080fd5b50356001600160a01b031662000f7b565b6200020662000fc4565b620003e460048036036020811015620003d357600080fd5b50356001600160a01b031662000fd3565b604080516001600160a01b03958616815293851660208501529190931682820152606082019290925290519081900360800190f35b6200016d6200106b565b6200020662001147565b6200016d600480360360208110156200044557600080fd5b50356001600160a01b031662001156565b6200016d600480360360408110156200046e57600080fd5b506001600160a01b0381351690602001351515620012e1565b620004916200152a565b6040805160208082528351818301528351919283929083019185019080838360005b83811015620004cd578181015183820152602001620004b3565b50505050905090810190601f168015620004fb5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b620002d5600480360360208110156200052157600080fd5b50356001600160a01b0316620015c4565b6200016d600480360360808110156200054a57600080fd5b506001600160a01b038135811691602081013582169160408201351690606001351515620015e4565b6002546001600160a01b03163314620005be5760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b60035481811415620006025760405162461bcd60e51b815260040180806020018281038252603b81526020018062002904603b913960400191505060405180910390fd5b6003829055604080518281526020810184905281517f481ce28a1145a5d9b59e2d1d7eba33bc3350124def8fdc91032238d343ad5361929181900390910190a15050565b600080546001600160a01b03163314620006925760405162461bcd60e51b8152600401808060200182810382526034815260200180620024b66034913960400191505060405180910390fd5b6200069d8462001832565b620006da5760405162461bcd60e51b815260040180806020018281038252602d8152602001806200269b602d913960400191505060405180910390fd5b6060635c9a6d3760e01b8686868660405160240180856001600160a01b03168152602001846001600160a01b0316815260200180602001828103825284848281815260200192508082843760008382015260408051601f909201601f1990811690940182810390940182529283526020810180516001600160e01b03166001600160e01b0319909b169a909a17909952505196975087968e965062000786955093506200204c92505050565b8080602001836001600160a01b03168152602001828103825284818151815260200191508051906020019080838360005b83811015620007d1578181015183820152602001620007b7565b50505050905090810190601f168015620007ff5780820380516001836020036101000a031916815260200191505b509350505050604051809103906000f08015801562000822573d6000803e3d6000fd5b506001600160a01b0380821660008181526005602090815260409182902080546001600160a01b0319163390811790915582519384528a85169184019190915260609183018281529183018890529395508a8316928a169184917fa50560b448ad796ef60adfeffe1c19ed34daf94c2aa6905d0e209017dbc19f589188918c918c918c919060808201848480828437600083820152604051601f909101601f191690920182900397509095505050505050a4505095945050505050565b6001546001600160a01b031690565b60035490565b620008fe6200205a565b506001600160a01b038083166000908152600660209081526040918290208251608081018452815485168082526001830154861693820193909352600282015490941692840192909252600390910154606083015280620009915760405162461bcd60e51b815260040180806020018281038252603d815260200180620028c7603d913960400191505060405180910390fd5b336001600160a01b03821614620009da5760405162461bcd60e51b81526004018080602001828103825260458152602001806200279c6045913960600191505060405180910390fd5b6000546001600160a01b0382811691161462000a285760405162461bcd60e51b815260040180806020018281038252604f815260200180620025ed604f913960600191505060405180910390fd5b60608201514281111562000a6e5760405162461bcd60e51b8152600401808060200182810382526038815260200180620027296038913960400191505060405180910390fd5b6001600160a01b0380861660009081526005602090815260409182902054908601519186015192169162000aa9600289858886868d62001838565b876001600160a01b0316634140d607826040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050600060405180830381600087803b15801562000af957600080fd5b505af115801562000b0e573d6000803e3d6000fd5b50505050876001600160a01b031663ab9253ac836040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050600060405180830381600087803b15801562000b6257600080fd5b505af115801562000b77573d6000803e3d6000fd5b5050506001600160a01b03808a1660009081526005602090815260408083208054948b166001600160a01b0319958616179055600690915281208054831681556001810180548416905560028101805490931690925560039182015562000be5915089858886868d62001838565b604080516001600160a01b038481168252838116602083015281830187905291518288169286811692908c16917fad6fb3d36e2cda148dfd43203c1a40c0da9a9baa662ae9d6c3b0c3e4a9d6a6359181900360600190a45050505050505050565b6001600160a01b03808216600090815260056020526040902054165b919050565b6001546001600160a01b031633811462000cb35760405162461bcd60e51b815260040180806020018281038252603e8152602001806200281c603e913960400191505060405180910390fd5b600180546001600160a01b0319908116909155600280546001600160a01b0384811693821684179092556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038116600090815260066020526040812060030154801580159062000d3c5750804210155b9392505050565b6002546001600160a01b0316331462000d8e5760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b6001600160a01b03811662000dd55760405162461bcd60e51b8152600401808060200182810382526036815260200180620026c86036913960400191505060405180910390fd5b6002546001600160a01b038281169116141562000e245760405162461bcd60e51b815260040180806020018281038252603b81526020018062002761603b913960400191505060405180910390fd5b6001546001600160a01b038281169116141562000e735760405162461bcd60e51b815260040180806020018281038252603b815260200180620027e1603b913960400191505060405180910390fd5b600180546001600160a01b0319166001600160a01b0383169081179091556040517f132c19de901bb4ed8403c34734b6c841d5dc57745824da452a52433519ea5abf90600090a250565b6002546001600160a01b0316331462000f085760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b62000f166004838362002081565b507ff0115712c23b609855a28d7b8963c6d16d732ae388b11e5d4ec6d5eae4ad8698828260405180806020018281038252848482818152602001925080828437600083820152604051601f909101601f19169092018290039550909350505050a15050565b6001600160a01b0381166000908152600660205260408120600301548062000fa857600091505062000c62565b80421062000fbb57600091505062000c62565b42900392915050565b6000546001600160a01b031690565b60008060008062000fe36200205a565b506001600160a01b038086166000908152600660209081526040918290208251608081018452815485168152600182015485169281019290925260028101549093169181019190915260039091015460608201819052156200106257806000015181602001518260400151836060015194509450945094505062001064565b505b9193509193565b6002546001600160a01b03163314620010b65760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b6001546001600160a01b031680620011005760405162461bcd60e51b81526004018080602001828103825260318152602001806200266a6031913960400191505060405180910390fd5b600180546001600160a01b03191690556040516001600160a01b038216907fe4136584a5e8bb85d66301f3ce8b11cc2e5a8bea3979f10ea2451353849acc4790600090a250565b6002546001600160a01b031690565b6002546001600160a01b03163314620011a15760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b6001600160a01b038116620011e85760405162461bcd60e51b81526004018080602001828103825260398152602001806200258e6039913960400191505060405180910390fd5b620011f38162001832565b620012305760405162461bcd60e51b8152600401808060200182810382526036815260200180620028916036913960400191505060405180910390fd5b6000546001600160a01b03908116908216811415620012815760405162461bcd60e51b81526004018080602001828103825260488152602001806200251a6048913960600191505060405180910390fd5b600080546001600160a01b0319166001600160a01b03848116918217909255604080519284168352602083019190915280517f44cf34a26ccbaa8a20e6098a1278e28682572ec9921eb43d8dab274a503e92f59281900390910190a15050565b620012eb6200205a565b506001600160a01b0380831660009081526006602090815260409182902082516080810184528154851680825260018301548616938201939093526002820154909416928401929092526003909101546060830152806200137e5760405162461bcd60e51b815260040180806020018281038252602c81526020018062002562602c913960400191505060405180910390fd5b336001600160a01b038216148062001407575060408051633ef03e7560e11b815233600482015290516001600160a01b03861691637de07cea916024808301926020929190829003018186803b158015620013d857600080fd5b505afa158015620013ed573d6000803e3d6000fd5b505050506040513d60208110156200140457600080fd5b50515b620014445760405162461bcd60e51b8152600401808060200182810382526026815260200180620025c76026913960400191505060405180910390fd5b6001600160a01b0380851660009081526005602090815260408083205486830151878301516060890151600690955292852080546001600160a01b03199081168255600182018054821690556002820180549091169055600301949094559093169290620014b9600489868887878d62001838565b620014c988858786868c62001bd1565b604080516001600160a01b038581168252848116602083015281830184905291518288169287811692908c16917f9851a8f232c380eb2c1065756776e37d85d4fe0c8cb4005b0d72c749bfef923e9181900360600190a45050505050505050565b60048054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815260609390929091830182828015620015ba5780601f106200158e57610100808354040283529160200191620015ba565b820191906000526020600020905b8154815290600101906020018083116200159c57829003601f168201915b5050505050905090565b6001600160a01b0316600090815260066020526040902060030154151590565b6000546001600160a01b031633146200162f5760405162461bcd60e51b8152600401808060200182810382526034815260200180620024b66034913960400191505060405180910390fd5b6200163a8362001832565b620016775760405162461bcd60e51b8152600401808060200182810382526030815260200180620024ea6030913960400191505060405180910390fd5b6001600160a01b038085166000908152600560205260409020541680620016d05760405162461bcd60e51b815260040180806020018281038252602b815260200180620026fe602b913960400191505060405180910390fd5b336001600160a01b0382168114156200171b5760405162461bcd60e51b81526004018080602001828103825260378152602001806200285a6037913960400191505060405180910390fd5b6200172d600087848489898962001838565b60038054604080516080810182526001600160a01b03808616825289811660208084019182528a831684860190815242909601606085018181528e85166000908152600690935295909120935184549084166001600160a01b0319918216178555915160018086018054928616928516929092179091559551600285018054919094169216919091179091559151930192909255620017d2908885858a8a8a62001838565b604080516001600160a01b038881168252878116602083015281830184905291518285169286811692908b16917fb519c42fdb88f83f098814813f2ebff14fbf14f3e68b054e5a98834c69d54bfb9181900360600190a450505050505050565b3b151590565b60006060866001600160a01b0316633f84c12c60e01b8a8a898989604051602401808660048111156200186757fe5b8152602001856001600160a01b03168152602001846001600160a01b03168152602001836001600160a01b03168152602001826001600160a01b0316815260200195505050505050604051602081830303815290604052906001600160e01b0319166020820180516001600160e01b0383818316178352505050506040518082805190602001908083835b60208310620019135780518252601f199092019160209182019101620018f2565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811462001977576040519150601f19603f3d011682016040523d82523d6000602084013e6200197c565b606091505b50915091508162001bc65782620019938a62001ea1565b826040516020018083805190602001908083835b60208310620019c85780518252601f199092019160209182019101620019a7565b51815160209384036101000a600019018019909216911617905285519190930192850191508083835b6020831062001a125780518252601f199092019160209182019101620019f1565b6001836020036101000a038019825116818451168082178552505050505050905001925050506040516020818303038152906040529062001ad45760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101562001a9857818101518382015260200162001a7e565b50505050905090810190601f16801562001ac65780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50856001600160a01b0316876001600160a01b0316896001600160a01b03167fbf0ae6830883bd89855f2e7b17a2924b5de0b2b3d4a8834d7c2c0d5dc53447db848d8a8a604051808060200185600481111562001b2d57fe5b8152602001846001600160a01b03168152602001836001600160a01b03168152602001828103825286818151815260200191508051906020019080838360005b8381101562001b8757818101518382015260200162001b6d565b50505050905090810190601f16801562001bb55780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a45b505050505050505050565b604080516001600160a01b038881166024830152878116604483015285811660648301528481166084808401919091528351808403909101815260a490920183526020820180516001600160e01b031663df369ba760e01b17815292518251600094606094938a169392918291908083835b6020831062001c645780518252601f19909201916020918201910162001c43565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811462001cc8576040519150601f19603f3d011682016040523d82523d6000602084013e62001ccd565b606091505b50915091508162001e9757828160405160200180807f4d6967726174696f6e4f757443616e63656c486f6f6b3a20000000000000000081525060180182805190602001908083835b6020831062001d365780518252601f19909201916020918201910162001d15565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040516020818303038152906040529062001db95760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831562001a9857818101518382015260200162001a7e565b50856001600160a01b0316876001600160a01b0316896001600160a01b03167f7c79070aa51adb676fb9c8d0f7a1f841ff9cf514444b37c95297ed1c52547b328489896040518080602001846001600160a01b03168152602001836001600160a01b03168152602001828103825285818151815260200191508051906020019080838360005b8381101562001e5957818101518382015260200162001e3f565b50505050905090810190601f16801562001e875780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a45b5050505050505050565b6060600082600481111562001eb257fe5b141562001ef4575060408051808201909152601c81527f4d6967726174696f6e4f7574486f6f6b2e5072655369676e616c3a2000000000602082015262000c62565b600182600481111562001f0357fe5b141562001f45575060408051808201909152601d81527f4d6967726174696f6e4f7574486f6f6b2e506f73745369676e616c3a20000000602082015262000c62565b600282600481111562001f5457fe5b141562001f96575060408051808201909152601d81527f4d6967726174696f6e4f7574486f6f6b2e5072654d6967726174653a20000000602082015262000c62565b600382600481111562001fa557fe5b141562001fe7575060408051808201909152601e81527f4d6967726174696f6e4f7574486f6f6b2e506f73744d6967726174653a200000602082015262000c62565b600482600481111562001ff657fe5b141562002038575060408051808201909152601d81527f4d6967726174696f6e4f7574486f6f6b2e506f737443616e63656c3a20000000602082015262000c62565b505060408051602081019091526000815290565b610398806200211e83390190565b60408051608081018252600080825260208201819052918101829052606081019190915290565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620020c45782800160ff19823516178555620020f4565b82800160010185558215620020f4579182015b82811115620020f4578235825591602001919060010190620020d7565b506200210292915062002106565b5090565b5b808211156200210257600081556001016200210756fe608060405234801561001057600080fd5b506040516103983803806103988339818101604052604081101561003357600080fd5b810190808051604051939291908464010000000082111561005357600080fd5b90830190602082018581111561006857600080fd5b825164010000000081118282018810171561008257600080fd5b82525081516020918201929091019080838360005b838110156100af578181015183820152602001610097565b50505050905090810190601f1680156100dc5780820380516001836020036101000a031916815260200191505b5060408181526020928301516352d1902d60e01b835290519094506001600160a01b03851693506352d1902d92600480840193919291829003018186803b15801561012657600080fd5b505afa15801561013a573d6000803e3d6000fd5b505050506040513d602081101561015057600080fd5b50517f027b9570e9fedc1a80b937ae9a06861e5faef3992491af30b684a64b3fbec7a5146101af5760405162461bcd60e51b81526004018080602001828103825260258152602001806103736025913960400191505060405180910390fd5b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5560006060826001600160a01b0316846040518082805190602001908083835b602083106102105780518252601f1990920191602091820191016101f1565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610270576040519150601f19603f3d011682016040523d82523d6000602084013e610275565b606091505b50915091508181906103055760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156102ca5781810151838201526020016102b2565b50505050905090810190601f1680156102f75780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5050505050605b806103186000396000f3fe60806040527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc543660008037600080366000846127105a03f43d806000803e818015604957816000f35b816000fdfea164736f6c634300060c000a636f6e7374727563746f723a205f7661756c744c6962206e6f7420636f6d70617469626c654f6e6c79207468652063757272656e742046756e644465706c6f7965722063616e2063616c6c20746869732066756e6374696f6e7369676e616c4d6967726174696f6e3a204e6f6e2d636f6e7472616374205f6e6578745661756c744163636573736f7273657443757272656e7446756e644465706c6f7965723a205f6e65787446756e644465706c6f79657220697320616c72656164792063757272656e7446756e644465706c6f79657263616e63656c4d6967726174696f6e3a204e6f206d6967726174696f6e20726571756573742065786973747373657443757272656e7446756e644465706c6f7965723a205f6e65787446756e644465706c6f7965722063616e6e6f7420626520656d70747963616e63656c4d6967726174696f6e3a204e6f7420616e20616c6c6f7765642063616c6c6572657865637574654d6967726174696f6e3a20546865207461726765742046756e644465706c6f796572206973206e6f206c6f6e676572207468652063757272656e742046756e644465706c6f7965724f6e6c792074686520636f6e7472616374206f776e65722063616e2063616c6c20746869732066756e6374696f6e72656d6f76654e6f6d696e617465644f776e65723a205468657265206973206e6f206e6f6d696e61746564206f776e65726465706c6f795661756c7450726f78793a204e6f6e2d636f6e7472616374205f7661756c744163636573736f727365744e6f6d696e617465644f776e65723a205f6e6578744e6f6d696e617465644f776e65722063616e6e6f7420626520656d7074797369676e616c4d6967726174696f6e3a205f7661756c7450726f787920646f6573206e6f74206578697374657865637574654d6967726174696f6e3a20546865206d6967726174696f6e2074696d656c6f636b20686173206e6f7420656c61707365647365744e6f6d696e617465644f776e65723a205f6e6578744e6f6d696e617465644f776e657220697320616c726561647920746865206f776e6572657865637574654d6967726174696f6e3a204f6e6c7920746865207461726765742046756e644465706c6f7965722063616e2063616c6c20746869732066756e6374696f6e7365744e6f6d696e617465644f776e65723a205f6e6578744e6f6d696e617465644f776e657220697320616c7265616479206e6f6d696e61746564636c61696d4f776e6572736869703a204f6e6c7920746865206e6f6d696e617465644f776e65722063616e2063616c6c20746869732066756e6374696f6e7369676e616c4d6967726174696f6e3a2043616e206f6e6c79206d69677261746520746f2061206e65772046756e644465706c6f79657273657443757272656e7446756e644465706c6f7965723a204e6f6e2d636f6e7472616374205f6e65787446756e644465706c6f796572657865637574654d6967726174696f6e3a204e6f206d6967726174696f6e20726571756573742065786973747320666f72205f7661756c7450726f78797365744d6967726174696f6e54696d656c6f636b3a205f6e65787454696d656c6f636b206973207468652063757272656e742074696d656c6f636ba164736f6c634300060c000a0000000000000000000000007109709ecfa91a80626ff3989d68f67f5b1dd12d4572726f723a2061203d3d2062206e6f7420736174697366696564205b75696e745d4572726f723a2061203d3d2062206e6f7420736174697366696564205b737472696e675d6465706c6f795661756c7450726f78793a204e6f6e2d636f6e7472616374205f7661756c744163636573736f724572726f723a2061203d3d2062206e6f7420736174697366696564205b616464726573735da164736f6c634300060c000a", - "sourceMap": "3939:2960:456:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4409:276;;;:::i;:::-;;6523:374;;;:::i;316:38:436:-;;;:::i;:::-;;;;-1:-1:-1;;;;;316:38:436;;;;;;;;;;;;;;669:148:456;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;669:148:456;;-1:-1:-1;669:148:456;;-1:-1:-1;;;;;669:148:456:i;6210:307::-;;;:::i;1819:584:435:-;;;:::i;:::-;;;;;;;;;;;;;;;;;;4691:1513:456;;;:::i;165:28:436:-;;;:::i;1572:26:435:-;;;:::i;4409:276:456:-;4452:13;:11;:13::i;:::-;4484:28;;;;;;;;;;;;-1:-1:-1;;;4484:28:456;;;;-1:-1:-1;;;;;;;;;;;245:64:436;4476:7:456;;4484:28;;:4;:28::i;:::-;4476:61;;;;;;;;;;;;;-1:-1:-1;;;;;4476:61:456;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4476:61:456;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4555:27:456;;;;;;;;;;;;-1:-1:-1;;;4555:27:456;;;;-1:-1:-1;;;;;;;;;;;245:64:436;-1:-1:-1;4547:7:456;;-1:-1:-1;4555:27:456;;:4;:27::i;:::-;4547:59;;;;;;;;;;;;;-1:-1:-1;;;;;4547:59:456;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4547:59:456;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4616:10:456;;4650:27;;;;;;;;;;;;-1:-1:-1;;;4650:27:456;;;;-1:-1:-1;;;;;4616:10:456;;;;-1:-1:-1;4616:33:456;;-1:-1:-1;4650:27:456;;:4;:27::i;:::-;4616:62;;;;;;;;;;;;;-1:-1:-1;;;;;4616:62:456;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4409:276::o;6523:374::-;6601:27;;;;;;;;;;;;-1:-1:-1;;;6601:27:456;;;;-1:-1:-1;;;;;;;;;;;245:64:436;6592:8:456;;6601:27;;:4;:27::i;:::-;6592:37;;;;;;;;;;;;;-1:-1:-1;;;;;6592:37:456;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6640:64:456;;-1:-1:-1;;;6640:64:456;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;245:64:436;-1:-1:-1;6640:15:456;;-1:-1:-1;6640:64:456;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6714:10:456;;6755:23;;;;;;;;;;;;-1:-1:-1;;;6755:23:456;;;;-1:-1:-1;;;;;6714:10:456;;;;-1:-1:-1;6714:27:456;;-1:-1:-1;6755:23:456;;:4;:23::i;:::-;6792:13;;;;;;;;;;;;;;-1:-1:-1;;;6792:13:456;;;:4;:13::i;:::-;6819:35;;;;;;;;;;;;;;;;;;:4;:35::i;:::-;6714:176;;;-1:-1:-1;;;;;;6714:176:456;;;;;;;-1:-1:-1;;;;;6714:176:456;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;6714:176:456;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6714:176:456;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6523:374:456:o;316:38:436:-;-1:-1:-1;;;;;;;;;;;316:38:436;:::o;669:148:456:-;783:23;;;;;;;-1:-1:-1;;;;;751:59:456;;669:148::o;6210:307::-;6275:27;;;;;;;;;;;;-1:-1:-1;;;6275:27:456;;;;-1:-1:-1;;;;;;;;;;;245:64:436;6266:8:456;;6275:27;;:4;:27::i;:::-;6266:37;;;;;;;;;;;;;-1:-1:-1;;;;;6266:37:456;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6314:17:456;;;-1:-1:-1;;;6314:17:456;;;;-1:-1:-1;;;;;;;;;;;245:64:436;-1:-1:-1;6314:15:456;;-1:-1:-1;6314:17:456;;;;;269:37:436;;6314:17:456;;;;;;;269:37:436;245:64;6314:17:456;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6341:10:456;;6382:23;;;;;;;;;;;;-1:-1:-1;;;6382:23:456;;;;-1:-1:-1;;;;;6341:10:456;;;;-1:-1:-1;6341:27:456;;-1:-1:-1;6382:23:456;;:4;:23::i;:::-;6419:13;;;;;;;;;;;;;;-1:-1:-1;;;6419:13:456;;;:4;:13::i;:::-;6446:28;;;;;;;;;;;;;;-1:-1:-1;;;6446:28:456;;;:4;:28::i;1819:584:435:-;1853:4;1873:7;;;;;;;1869:528;;;-1:-1:-1;1903:7:435;;;;;;;1896:14;;1869:528;1941:17;1984:16;:14;:16::i;:::-;1980:374;;;2196:43;;;-1:-1:-1;;;;;;;;;;;2196:43:435;;;;;;;-1:-1:-1;;;2196:43:435;;;;;;;;;;;;;2023:20;2196:43;;;;;;-1:-1:-1;;;2086:175:435;;;;;;;;1671:64;;2135:34;;2196:43;;2086:175;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2086:175:435;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2047:232;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2047:232:435;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2020:259;;;2323:7;2312:27;;;;;;;;;;;;;;;-1:-1:-1;2312:27:435;;-1:-1:-1;;1980:374:435;2374:12;-1:-1:-1;1869:528:435;1819:584;:::o;4691:1513:456:-;4733:20;4764:18;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4794:37:456;;;-1:-1:-1;;;4794:37:456;;4808:4;4794:37;;;;;;;;;;;;;;;;;;;;;;;;4733:50;;-1:-1:-1;;;;;;;;;;;;245:64:436;4794:13:456;;:37;;;;;269::436;;4794::456;;;;;;;;269::436;245:64;4794:37:456;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4846:53;4866:1;4870:28;;;;;;;;;;;;;;-1:-1:-1;;;4870:28:456;;;:4;:28::i;:::-;4846:53;;;;-1:-1:-1;;;;;4846:53:456;;;;;;-1:-1:-1;;;;;4846:53:456;;;;;;;;;;;;;;;;4910:37;;;-1:-1:-1;;;4910:37:456;;4924:4;4910:37;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;245:64:436;4910:13:456;;:37;;;;;269::436;;4910::456;;;;;;;269::436;245:64;4910:37:456;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4962:35;4979:1;4983:13;;;;;;;;;;;;;;-1:-1:-1;;;4983:13:456;;;:4;:13::i;:::-;4962:35;;;;-1:-1:-1;;;;;4962:35:456;;;;;;-1:-1:-1;;;;;4962:35:456;;;;;;;;;;;;;;;;5008:37;;;-1:-1:-1;;;5008:37:456;;5022:4;5008:37;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;245:64:436;5008:13:456;;:37;;;;;269::436;;5008::456;;;;;;;269::436;245:64;5008:37:456;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5060:37:456;;;5080:1;5060:37;;-1:-1:-1;;;;;5060:37:456;;;;;;;;;;-1:-1:-1;5060:37:456;;;;;;;;-1:-1:-1;5060:37:456;5108;;;-1:-1:-1;;;5108:37:456;;5122:4;5108:37;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;245:64:436;5108:13:456;;:37;;;;;269::436;;5108::456;;;;;;;269::436;245:64;5108:37:456;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5318:12;-1:-1:-1;;;;;5160:248:456;5233:13;;;;;;;;;;;;;;-1:-1:-1;;;5233:13:456;;;:4;:13::i;:::-;-1:-1:-1;;;;;5160:248:456;5192:27;;;;;;;;;;;;;;-1:-1:-1;;;5192:27:456;;;:4;:27::i;:::-;5289:10;;-1:-1:-1;;;;;5160:248:456;;;;;;5260:44;;5289:10;;5260:20;:44::i;:::-;5344:28;;;;;;;;;;;;;;-1:-1:-1;;;5344:28:456;;;:4;:28::i;:::-;5160:248;;;-1:-1:-1;;;;;5160:248:456;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5160:248:456;;;;;;;;;;;;;;5428:27;;;;;;;;;;;;-1:-1:-1;;;5428:27:456;;;;-1:-1:-1;;;;;;;;;;;245:64:436;5419:8:456;;5428:27;;:4;:27::i;:::-;5419:37;;;;;;;;;;;;;-1:-1:-1;;;;;5419:37:456;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5482:10:456;;5549:13;;;;;;;;;;;;-1:-1:-1;;;5549:13:456;;;;5466;;-1:-1:-1;;;;;;5482:10:456;;;;-1:-1:-1;5482:27:456;;5523:12;;5549:13;;:4;:13::i;:::-;5576:28;;;;;;;;;;;;;;-1:-1:-1;;;5576:28:456;;;:4;:28::i;:::-;5482:158;;;-1:-1:-1;;;;;;5482:158:456;;;;;;;-1:-1:-1;;;;;5482:158:456;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5482:158:456;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5482:158:456;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5482:158:456;5660:27;;;;;;;;;;;;-1:-1:-1;;;5482:158:456;5660:27;;;5482:158;;-1:-1:-1;5651:85:456;;5660:27;;:4;:27::i;:::-;5689:10;;:46;;;-1:-1:-1;;;5689:46:456;;-1:-1:-1;;;;;5689:46:456;;;;;;;;;:10;;;;;:39;;:46;;;;;;;;;;;;;;:10;:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5689:46:456;5651:8;:85::i;:::-;5746:63;5763:10;;;;;;;;;-1:-1:-1;;;;;5763:10:456;5789:5;-1:-1:-1;;;;;5776:30:456;;:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5746:63;5819:73;5828:28;;;;;;;;;;;;;;-1:-1:-1;;;5828:28:456;;;:4;:28::i;:::-;5871:5;-1:-1:-1;;;;;5858:31:456;;:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5819:73;5902:55;5911:13;;;;;;;;;;;;;;-1:-1:-1;;;5911:13:456;;;:4;:13::i;:::-;5939:5;-1:-1:-1;;;;;5926:28:456;;:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5902:55;5967;5984:1;6001:5;-1:-1:-1;;;;;5988:31:456;;:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5967:55;6032:50;;;;;;;;;;;;;;-1:-1:-1;;;6032:50:456;;;6068:5;-1:-1:-1;;;;;6055:24:456;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6055:26:456;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6055:26:456;;;;;;;;;;-1:-1:-1;6055:26:456;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6032:8;:50::i;:::-;6092:42;;;;;;;;;;;;;6118:5;-1:-1:-1;;;;;6105:26:456;;:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6092:42;6144:53;6161:2;6179:5;-1:-1:-1;;;;;6166:28:456;;:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6166:30:456;6144:53;;:8;:53::i;165:28:436:-;;;;;;;;;:::o;1572:26:435:-;;;;;;:::o;823:78:456:-;878:16;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;865:10:456;:29;;-1:-1:-1;;;;;;865:29:456;-1:-1:-1;;;;;865:29:456;;;;;;;;;;823:78::o;2840:242:435:-;-1:-1:-1;;;;;;;;;;;2978:55:435;3059:16;;2840:242;:::o;593:1878:436:-;679:7;979:13;975:141;;1046:68;;;-1:-1:-1;;;1046:68:436;;;;;;;;-1:-1:-1;;;1046:68:436;;;;-1:-1:-1;;;;;;1046:68:436;;;;;;;;;-1:-1:-1;;;1046:68:436;;;;;;;;;;;;;;;;;;;;1036:79;;;;;1013:103;;:22;:103::i;:::-;1006:110;;;;975:141;1139:4;1130:5;:13;1126:141;;1197:68;;;-1:-1:-1;;;1197:68:436;;;;;;;;-1:-1:-1;;;1197:68:436;;;;-1:-1:-1;;;;;;1197:68:436;;;;;;;;;1214:12;1197:68;;;-1:-1:-1;;;;;;1197:68:436;;;;;;;;;;;;;;;;;;;;;1187:79;;;;;1164:103;;:22;:103::i;1126:141::-;1429:8;1420:5;:17;1416:148;;1480:82;;;-1:-1:-1;;;1480:82:436;;;;;;;;-1:-1:-1;;;1480:82:436;;;;-1:-1:-1;;;;;;1480:82:436;;;;;;;;;-1:-1:-1;;;1480:82:436;;;;1497:12;1480:82;;;-1:-1:-1;;;;;;1480:82:436;;;;;;;;;;;;;;;;;;;;;1470:93;;;;;1447:117;;:22;:117::i;1416:148::-;1587:9;1578:5;:18;1574:149;;1638:83;;;-1:-1:-1;;;1638:83:436;;;;;;;;-1:-1:-1;;;1638:83:436;;;;-1:-1:-1;;;;;;1638:83:436;;;;;;;;;-1:-1:-1;;;1638:83:436;;;;-1:-1:-1;;;;;;1638:83:436;;;;;;;;;;;;;;;;;;;;;;;;;1628:94;;;;;1605:118;;:22;:118::i;1574:149::-;1746:9;1737:5;:18;1733:149;;1797:83;;;-1:-1:-1;;;1797:83:436;;;;;;;;-1:-1:-1;;;1797:83:436;;;;-1:-1:-1;;;;;;1797:83:436;;;;;;;;;-1:-1:-1;;;1797:83:436;;;;-1:-1:-1;;;;;;1797:83:436;;;;;;;;;;;;;;;;;;;;;;;;;1787:94;;;;;1764:118;;:22;:118::i;1733:149::-;2379:83;;;-1:-1:-1;;;2379:83:436;;;;;;;;-1:-1:-1;;;2379:83:436;;;;-1:-1:-1;;;;;;2379:83:436;;;;;;;;;-1:-1:-1;;;2379:83:436;;;;-1:-1:-1;;;;;;2379:83:436;;;;;;;;;;;;;;;;;;;;;;;;;2369:94;;;;;2346:118;;:22;:118::i;:::-;2339:125;;593:1878;;;;;:::o;3615:277:435:-;3683:1;-1:-1:-1;;;;;3678:6:435;:1;-1:-1:-1;;;;;3678:6:435;;3674:212;;3705:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3768:34;;;-1:-1:-1;;;;;3768:34:435;;;;;;;;;;;;;;-1:-1:-1;;;3768:34:435;;;;;;;;;;;;;;;3821;;;-1:-1:-1;;;;;3821:34:435;;;;;;;;;;;;;;-1:-1:-1;;;3821:34:435;;;;;;;;;;;;;;;3869:6;:4;:6::i;14688:344::-;14824:1;14807:19;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;14807:19:435;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14797:30;;;;;;14790:1;14773:19;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;14773:19:435;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14763:30;;;;;;:64;14759:267;;14848:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14910:33;14941:1;14910:33;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;14910:33:435;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14962;14993:1;14962:33;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;14962:33:435;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15009:6;:4;:6::i;5202:262::-;5264:1;5259;:6;5255:203;;5286:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5346:31;;;;;;;;;;;;;;;;;-1:-1:-1;;;5346:31:435;;;;;;;;;;;;;;;5396;;;;;;;;;;;;;;;;;-1:-1:-1;;;5396:31:435;;;;;;;;;;;;;;;5441:6;2410:424;2449:16;:14;:16::i;:::-;2445:359;;;2645:67;;;-1:-1:-1;;;;;;;;;;;2645:67:435;;;;;;;-1:-1:-1;;;2645:67:435;;;;2705:4;1679:55;2645:67;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2534:196:435;;;;;;;;2482:11;;1671:64;;2579:43;;2645:67;2534:196;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2534:196:435;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2499:245;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2499:245:435;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;2445:359:435;2813:7;:14;;-1:-1:-1;;2813:14:435;;;;;2410:424::o;-1:-1:-1:-;;;;;;;;:::o;:::-;;;;;;;;:::o", - "linkReferences": {} - }, - "methodIdentifiers": { - "IS_SCRIPT()": "f8ccbf47", - "IS_TEST()": "fa7626d4", - "addr(string)": "511b1df9", - "failed()": "ba414fa6", - "setUp()": "0a9254e4", - "testDoesNotAllowBadVaultLib()": "71bcacd3", - "testDoesNotAllowNonContractVaultAccessor()": "12bfb5fb", - "testHappyPath()": "cd8591bb", - "vm()": "3a768463" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"prevAccessor\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"nextAccessor\",\"type\":\"address\"}],\"name\":\"AccessorSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"prevOwner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"nextOwner\",\"type\":\"address\"}],\"name\":\"OwnerSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"prevVaultLib\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"nextVaultLib\",\"type\":\"address\"}],\"name\":\"VaultLibSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"fundDeployer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"vaultProxy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"vaultLib\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"vaultAccessor\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"fundName\",\"type\":\"string\"}],\"name\":\"VaultProxyDeployed\",\"type\":\"event\"},{\"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_SCRIPT\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"}],\"name\":\"addr\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"setUp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testDoesNotAllowBadVaultLib\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testDoesNotAllowNonContractVaultAccessor\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testHappyPath\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"vm\",\"outputs\":[{\"internalType\":\"contract Vm\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"tests/persistent/Dispatcher.t.sol\":\"DeployVaultProxyTest\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/mocks/MockVaultLib.sol\":{\"keccak256\":\"0x14d298c9cd4411cc6260fe50b93a1da572c5ddee7bfca377dd35403741c4e3b6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://e51c048dc4e2c9117fff0ecd4ab94d09701b9cd89247db8608c1a491c7374635\",\"dweb:/ipfs/QmYkH9dXQp1EEMfrcGPUTc3ey4o2UtvG91vDxjgQzwUuHE\"]},\"contracts/persistent/dispatcher/Dispatcher.sol\":{\"keccak256\":\"0x0590285e72005e40573fcc93e95aa75a5963bdcf5b02a627c73d8bc982f9d850\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://e9f2190a9ba01ec1f03b5159387c3864b9700337f3d7b07ec0758bbde52d32e2\",\"dweb:/ipfs/QmX5gevftdWC5xzSVcmVn14aFhKgweCXAhndZ8ZECN92fj\"]},\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/dispatcher/IMigrationHookHandler.sol\":{\"keccak256\":\"0x4cec61ef58c1d2e7693ee954c3582b1a04ff836a569e216edb7526c7e56a5632\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://0acae6d91e3e20e6ebd46cbeff926967a2d64f3d8eb2e3cdff20366917a77879\",\"dweb:/ipfs/Qmd44oJngTNRnwXdDwtNd9o4UvTgxAmBGikz3QMPKf4NWy\"]},\"contracts/persistent/vault/VaultLibBaseCore.sol\":{\"keccak256\":\"0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd\",\"dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz\"]},\"contracts/persistent/vault/VaultProxy.sol\":{\"keccak256\":\"0x08ff12cb7955ab80cf35f98a5abae23a92f655916669986d1580cb394f6b6bb3\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://320fcccd67d3390d6762bdef41f7d5e679e61b3244b1d945fc33402ea684bc3a\",\"dweb:/ipfs/Qmaaxqgm4EzF1r4n52pkjs7bA5quKhVwrh356rTFXDj86L\"]},\"contracts/persistent/vault/interfaces/IMigratableVault.sol\":{\"keccak256\":\"0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6\",\"dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs\"]},\"contracts/persistent/vault/utils/ProxiableVaultLib.sol\":{\"keccak256\":\"0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44\",\"dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4\"]},\"contracts/persistent/vault/utils/SharesTokenBase.sol\":{\"keccak256\":\"0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8\",\"dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4\"]},\"contracts/persistent/vault/utils/VaultLibSafeMath.sol\":{\"keccak256\":\"0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02\",\"dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG\"]},\"lib/forge-std/lib/ds-test/src/test.sol\":{\"keccak256\":\"0xb39cd1d5220cb474947b131e15a4538334b7e886af244b440ae5c9c6bba96a54\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://3101520221449ac0070bda3881311a71d9aa87e5210765e875246922cb5cb5f5\",\"dweb:/ipfs/Qmbg6kAHNoG7ox9N9Xqd9Ere2H2XixMFWFqvyPwFCzB3Gr\"]},\"lib/forge-std/src/Script.sol\":{\"keccak256\":\"0x4424dbcb8f5b741475445726f87408fcd89951fad973bec2ca442ee157f910e7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5b0b9f6dfb69245d8f888558ae82bf1d2cdeace46201444fe4b2e6a5283f944a\",\"dweb:/ipfs/QmWFSKeFEZngNcwNn7A84EF7pASo5qe6r5oK24r9Kwca7Z\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0xa85dee62f7a3d7d3b26051f28d08bbfaa6d76888b8e64395583c35f11070372b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f3ecace3d6120731c4520f651c36658940df958755a2c86d6bf0ec895320a915\",\"dweb:/ipfs/QmVGbUYLtMsAYF3C27qHKs3VHRuRNDypuDfs4XGK47kqUT\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x63fc2487cf3a6650d933e18bcb61766f15f74c327192381806ea00f8f6446f66\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aad99f7b2ed3b11ff6c17b84b4196c562898640a80cabc2c28c87c116099a00f\",\"dweb:/ipfs/QmQNNbxHabRycegyXwJWBDutrdcScAP2SU5zEvorWEaFpx\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0xbeb823fcdb356244a83aaccdf828ad019ecc1ffaa3dff18e624fc6d5714ea671\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4cbe9400340e5f9ec55e2aff3bad1c15fa3afbbe37e80800e6f3fed2ad26854f\",\"dweb:/ipfs/QmdJBABsuXkvWxVzEyGXsTE3vyfBPXDdw5xvvtUz3JeoYW\"]},\"tests/persistent/Dispatcher.t.sol\":{\"keccak256\":\"0x9f19e0376c4d2fa61f4c50089a46d54b7a1d464b31413aeb4147da02b44cd298\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://e9f733c425d149594c2044229dd51e543d330cfb11b7825dfd59631a3aabd71d\",\"dweb:/ipfs/QmY3c9daKiMH2W9qbq94TekosaySFV44ZUXsGuBfigo832\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "prevAccessor", - "type": "address", - "indexed": false - }, - { - "internalType": "address", - "name": "nextAccessor", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "AccessorSet", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "prevOwner", - "type": "address", - "indexed": false - }, - { - "internalType": "address", - "name": "nextOwner", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "OwnerSet", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "prevVaultLib", - "type": "address", - "indexed": false - }, - { - "internalType": "address", - "name": "nextVaultLib", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "VaultLibSet", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "fundDeployer", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "owner", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "vaultProxy", - "type": "address", - "indexed": false - }, - { - "internalType": "address", - "name": "vaultLib", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "vaultAccessor", - "type": "address", - "indexed": false - }, - { - "internalType": "string", - "name": "fundName", - "type": "string", - "indexed": false - } - ], - "type": "event", - "name": "VaultProxyDeployed", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "", - "type": "string", - "indexed": false - } - ], - "type": "event", - "name": "log", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "log_address", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "uint256[]", - "name": "val", - "type": "uint256[]", - "indexed": false - } - ], - "type": "event", - "name": "log_array", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "int256[]", - "name": "val", - "type": "int256[]", - "indexed": false - } - ], - "type": "event", - "name": "log_array", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "val", - "type": "address[]", - "indexed": false - } - ], - "type": "event", - "name": "log_array", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes", - "indexed": false - } - ], - "type": "event", - "name": "log_bytes", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32", - "indexed": false - } - ], - "type": "event", - "name": "log_bytes32", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "int256", - "name": "", - "type": "int256", - "indexed": false - } - ], - "type": "event", - "name": "log_int", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "key", - "type": "string", - "indexed": false - }, - { - "internalType": "address", - "name": "val", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "log_named_address", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "key", - "type": "string", - "indexed": false - }, - { - "internalType": "uint256[]", - "name": "val", - "type": "uint256[]", - "indexed": false - } - ], - "type": "event", - "name": "log_named_array", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "key", - "type": "string", - "indexed": false - }, - { - "internalType": "int256[]", - "name": "val", - "type": "int256[]", - "indexed": false - } - ], - "type": "event", - "name": "log_named_array", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "key", - "type": "string", - "indexed": false - }, - { - "internalType": "address[]", - "name": "val", - "type": "address[]", - "indexed": false - } - ], - "type": "event", - "name": "log_named_array", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "key", - "type": "string", - "indexed": false - }, - { - "internalType": "bytes", - "name": "val", - "type": "bytes", - "indexed": false - } - ], - "type": "event", - "name": "log_named_bytes", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "key", - "type": "string", - "indexed": false - }, - { - "internalType": "bytes32", - "name": "val", - "type": "bytes32", - "indexed": false - } - ], - "type": "event", - "name": "log_named_bytes32", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "key", - "type": "string", - "indexed": false - }, - { - "internalType": "int256", - "name": "val", - "type": "int256", - "indexed": false - }, - { - "internalType": "uint256", - "name": "decimals", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "log_named_decimal_int", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "key", - "type": "string", - "indexed": false - }, - { - "internalType": "uint256", - "name": "val", - "type": "uint256", - "indexed": false - }, - { - "internalType": "uint256", - "name": "decimals", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "log_named_decimal_uint", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "key", - "type": "string", - "indexed": false - }, - { - "internalType": "int256", - "name": "val", - "type": "int256", - "indexed": false - } - ], - "type": "event", - "name": "log_named_int", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "key", - "type": "string", - "indexed": false - }, - { - "internalType": "string", - "name": "val", - "type": "string", - "indexed": false - } - ], - "type": "event", - "name": "log_named_string", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "key", - "type": "string", - "indexed": false - }, - { - "internalType": "uint256", - "name": "val", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "log_named_uint", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "", - "type": "string", - "indexed": false - } - ], - "type": "event", - "name": "log_string", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "log_uint", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes", - "indexed": false - } - ], - "type": "event", - "name": "logs", - "anonymous": false - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "IS_SCRIPT", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "IS_TEST", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "string", - "name": "_name", - "type": "string" - } - ], - "stateMutability": "pure", - "type": "function", - "name": "addr", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "failed", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "setUp" - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "testDoesNotAllowBadVaultLib" - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "testDoesNotAllowNonContractVaultAccessor" - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "testHappyPath" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "vm", - "outputs": [ - { - "internalType": "contract Vm", - "name": "", - "type": "address" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "tests/persistent/Dispatcher.t.sol": "DeployVaultProxyTest" - }, - "libraries": {} - }, - "sources": { - "contracts/mocks/MockVaultLib.sol": { - "keccak256": "0x14d298c9cd4411cc6260fe50b93a1da572c5ddee7bfca377dd35403741c4e3b6", - "urls": [ - "bzz-raw://e51c048dc4e2c9117fff0ecd4ab94d09701b9cd89247db8608c1a491c7374635", - "dweb:/ipfs/QmYkH9dXQp1EEMfrcGPUTc3ey4o2UtvG91vDxjgQzwUuHE" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/dispatcher/Dispatcher.sol": { - "keccak256": "0x0590285e72005e40573fcc93e95aa75a5963bdcf5b02a627c73d8bc982f9d850", - "urls": [ - "bzz-raw://e9f2190a9ba01ec1f03b5159387c3864b9700337f3d7b07ec0758bbde52d32e2", - "dweb:/ipfs/QmX5gevftdWC5xzSVcmVn14aFhKgweCXAhndZ8ZECN92fj" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/dispatcher/IDispatcher.sol": { - "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", - "urls": [ - "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", - "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/dispatcher/IMigrationHookHandler.sol": { - "keccak256": "0x4cec61ef58c1d2e7693ee954c3582b1a04ff836a569e216edb7526c7e56a5632", - "urls": [ - "bzz-raw://0acae6d91e3e20e6ebd46cbeff926967a2d64f3d8eb2e3cdff20366917a77879", - "dweb:/ipfs/Qmd44oJngTNRnwXdDwtNd9o4UvTgxAmBGikz3QMPKf4NWy" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/VaultLibBaseCore.sol": { - "keccak256": "0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074", - "urls": [ - "bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd", - "dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/VaultProxy.sol": { - "keccak256": "0x08ff12cb7955ab80cf35f98a5abae23a92f655916669986d1580cb394f6b6bb3", - "urls": [ - "bzz-raw://320fcccd67d3390d6762bdef41f7d5e679e61b3244b1d945fc33402ea684bc3a", - "dweb:/ipfs/Qmaaxqgm4EzF1r4n52pkjs7bA5quKhVwrh356rTFXDj86L" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IMigratableVault.sol": { - "keccak256": "0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238", - "urls": [ - "bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6", - "dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/utils/ProxiableVaultLib.sol": { - "keccak256": "0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76", - "urls": [ - "bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44", - "dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/utils/SharesTokenBase.sol": { - "keccak256": "0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113", - "urls": [ - "bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8", - "dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/utils/VaultLibSafeMath.sol": { - "keccak256": "0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d", - "urls": [ - "bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02", - "dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG" - ], - "license": "GPL-3.0" - }, - "lib/forge-std/lib/ds-test/src/test.sol": { - "keccak256": "0xb39cd1d5220cb474947b131e15a4538334b7e886af244b440ae5c9c6bba96a54", - "urls": [ - "bzz-raw://3101520221449ac0070bda3881311a71d9aa87e5210765e875246922cb5cb5f5", - "dweb:/ipfs/Qmbg6kAHNoG7ox9N9Xqd9Ere2H2XixMFWFqvyPwFCzB3Gr" - ], - "license": "GPL-3.0-or-later" - }, - "lib/forge-std/src/Script.sol": { - "keccak256": "0x4424dbcb8f5b741475445726f87408fcd89951fad973bec2ca442ee157f910e7", - "urls": [ - "bzz-raw://5b0b9f6dfb69245d8f888558ae82bf1d2cdeace46201444fe4b2e6a5283f944a", - "dweb:/ipfs/QmWFSKeFEZngNcwNn7A84EF7pASo5qe6r5oK24r9Kwca7Z" - ], - "license": "MIT" - }, - "lib/forge-std/src/Test.sol": { - "keccak256": "0xa85dee62f7a3d7d3b26051f28d08bbfaa6d76888b8e64395583c35f11070372b", - "urls": [ - "bzz-raw://f3ecace3d6120731c4520f651c36658940df958755a2c86d6bf0ec895320a915", - "dweb:/ipfs/QmVGbUYLtMsAYF3C27qHKs3VHRuRNDypuDfs4XGK47kqUT" - ], - "license": "MIT" - }, - "lib/forge-std/src/Vm.sol": { - "keccak256": "0x63fc2487cf3a6650d933e18bcb61766f15f74c327192381806ea00f8f6446f66", - "urls": [ - "bzz-raw://aad99f7b2ed3b11ff6c17b84b4196c562898640a80cabc2c28c87c116099a00f", - "dweb:/ipfs/QmQNNbxHabRycegyXwJWBDutrdcScAP2SU5zEvorWEaFpx" - ], - "license": "MIT" - }, - "lib/forge-std/src/console.sol": { - "keccak256": "0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba", - "urls": [ - "bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70", - "dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec" - ], - "license": "MIT" - }, - "lib/forge-std/src/console2.sol": { - "keccak256": "0xbeb823fcdb356244a83aaccdf828ad019ecc1ffaa3dff18e624fc6d5714ea671", - "urls": [ - "bzz-raw://4cbe9400340e5f9ec55e2aff3bad1c15fa3afbbe37e80800e6f3fed2ad26854f", - "dweb:/ipfs/QmdJBABsuXkvWxVzEyGXsTE3vyfBPXDdw5xvvtUz3JeoYW" - ], - "license": "MIT" - }, - "tests/persistent/Dispatcher.t.sol": { - "keccak256": "0x9f19e0376c4d2fa61f4c50089a46d54b7a1d464b31413aeb4147da02b44cd298", - "urls": [ - "bzz-raw://e9f733c425d149594c2044229dd51e543d330cfb11b7825dfd59631a3aabd71d", - "dweb:/ipfs/QmY3c9daKiMH2W9qbq94TekosaySFV44ZUXsGuBfigo832" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 456 -} +{ "abi": [ { "type": "function", "name": "IS_SCRIPT", "inputs": [], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "IS_TEST", "inputs": [], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "addr", "inputs": [ { "name": "_name", "type": "string", "internalType": "string" } ], "outputs": [ { "name": "", "type": "address", "internalType": "address" } ], "stateMutability": "pure" }, { "type": "function", "name": "failed", "inputs": [], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "setUp", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "testDoesNotAllowBadVaultLib", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "testDoesNotAllowNonContractVaultAccessor", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "testHappyPath", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "vm", "inputs": [], "outputs": [ { "name": "", "type": "address", "internalType": "contract Vm" } ], "stateMutability": "view" }, { "type": "event", "name": "AccessorSet", "inputs": [ { "name": "prevAccessor", "type": "address", "indexed": false, "internalType": "address" }, { "name": "nextAccessor", "type": "address", "indexed": false, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "OwnerSet", "inputs": [ { "name": "prevOwner", "type": "address", "indexed": false, "internalType": "address" }, { "name": "nextOwner", "type": "address", "indexed": false, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "VaultLibSet", "inputs": [ { "name": "prevVaultLib", "type": "address", "indexed": false, "internalType": "address" }, { "name": "nextVaultLib", "type": "address", "indexed": false, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "VaultProxyDeployed", "inputs": [ { "name": "fundDeployer", "type": "address", "indexed": true, "internalType": "address" }, { "name": "owner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "vaultProxy", "type": "address", "indexed": false, "internalType": "address" }, { "name": "vaultLib", "type": "address", "indexed": true, "internalType": "address" }, { "name": "vaultAccessor", "type": "address", "indexed": false, "internalType": "address" }, { "name": "fundName", "type": "string", "indexed": false, "internalType": "string" } ], "anonymous": false }, { "type": "event", "name": "log", "inputs": [ { "name": "", "type": "string", "indexed": false, "internalType": "string" } ], "anonymous": false }, { "type": "event", "name": "log_address", "inputs": [ { "name": "", "type": "address", "indexed": false, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "log_array", "inputs": [ { "name": "val", "type": "uint256[]", "indexed": false, "internalType": "uint256[]" } ], "anonymous": false }, { "type": "event", "name": "log_array", "inputs": [ { "name": "val", "type": "int256[]", "indexed": false, "internalType": "int256[]" } ], "anonymous": false }, { "type": "event", "name": "log_array", "inputs": [ { "name": "val", "type": "address[]", "indexed": false, "internalType": "address[]" } ], "anonymous": false }, { "type": "event", "name": "log_bytes", "inputs": [ { "name": "", "type": "bytes", "indexed": false, "internalType": "bytes" } ], "anonymous": false }, { "type": "event", "name": "log_bytes32", "inputs": [ { "name": "", "type": "bytes32", "indexed": false, "internalType": "bytes32" } ], "anonymous": false }, { "type": "event", "name": "log_int", "inputs": [ { "name": "", "type": "int256", "indexed": false, "internalType": "int256" } ], "anonymous": false }, { "type": "event", "name": "log_named_address", "inputs": [ { "name": "key", "type": "string", "indexed": false, "internalType": "string" }, { "name": "val", "type": "address", "indexed": false, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "log_named_array", "inputs": [ { "name": "key", "type": "string", "indexed": false, "internalType": "string" }, { "name": "val", "type": "uint256[]", "indexed": false, "internalType": "uint256[]" } ], "anonymous": false }, { "type": "event", "name": "log_named_array", "inputs": [ { "name": "key", "type": "string", "indexed": false, "internalType": "string" }, { "name": "val", "type": "int256[]", "indexed": false, "internalType": "int256[]" } ], "anonymous": false }, { "type": "event", "name": "log_named_array", "inputs": [ { "name": "key", "type": "string", "indexed": false, "internalType": "string" }, { "name": "val", "type": "address[]", "indexed": false, "internalType": "address[]" } ], "anonymous": false }, { "type": "event", "name": "log_named_bytes", "inputs": [ { "name": "key", "type": "string", "indexed": false, "internalType": "string" }, { "name": "val", "type": "bytes", "indexed": false, "internalType": "bytes" } ], "anonymous": false }, { "type": "event", "name": "log_named_bytes32", "inputs": [ { "name": "key", "type": "string", "indexed": false, "internalType": "string" }, { "name": "val", "type": "bytes32", "indexed": false, "internalType": "bytes32" } ], "anonymous": false }, { "type": "event", "name": "log_named_decimal_int", "inputs": [ { "name": "key", "type": "string", "indexed": false, "internalType": "string" }, { "name": "val", "type": "int256", "indexed": false, "internalType": "int256" }, { "name": "decimals", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "log_named_decimal_uint", "inputs": [ { "name": "key", "type": "string", "indexed": false, "internalType": "string" }, { "name": "val", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "decimals", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "log_named_int", "inputs": [ { "name": "key", "type": "string", "indexed": false, "internalType": "string" }, { "name": "val", "type": "int256", "indexed": false, "internalType": "int256" } ], "anonymous": false }, { "type": "event", "name": "log_named_string", "inputs": [ { "name": "key", "type": "string", "indexed": false, "internalType": "string" }, { "name": "val", "type": "string", "indexed": false, "internalType": "string" } ], "anonymous": false }, { "type": "event", "name": "log_named_uint", "inputs": [ { "name": "key", "type": "string", "indexed": false, "internalType": "string" }, { "name": "val", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "log_string", "inputs": [ { "name": "", "type": "string", "indexed": false, "internalType": "string" } ], "anonymous": false }, { "type": "event", "name": "log_uint", "inputs": [ { "name": "", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "logs", "inputs": [ { "name": "", "type": "bytes", "indexed": false, "internalType": "bytes" } ], "anonymous": false } ], "bytecode": { "object": "0x60806040526000805462ff00001960ff19909116600117166201000017905534801561002a57600080fd5b50615a278061003a6000396000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c806371bcacd31161006657806371bcacd314610174578063ba414fa61461017c578063cd8591bb14610198578063f8ccbf47146101a0578063fa7626d4146101a857610093565b80630a9254e41461009857806312bfb5fb146100a25780633a768463146100aa578063511b1df9146100ce575b600080fd5b6100a06101b0565b005b6100a06103fb565b6100b2610668565b604080516001600160a01b039092168252519081900360200190f35b6100b2600480360360208110156100e457600080fd5b8101906020810181356401000000008111156100ff57600080fd5b82018360208201111561011157600080fd5b8035906020019184600183028401116401000000008311171561013357600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955061067b945050505050565b6100a061068f565b61018461082e565b604080519115158252519081900360200190f35b6100a06109ef565b610184611453565b610184611462565b6101b861146b565b604080518082019091526014815273323ab6b6bc903b30bab63a1030b1b1b2b9b9b7b960611b6020820152600080516020620059638339815191529063b4d6c782906102039061067b565b6040518263ffffffff1660e01b815260040180826001600160a01b03168152602001806020018281038252601481526020018073223ab6b6bc902b30bab63a1020b1b1b2b9b9b7b960611b81525060200192505050600060405180830381600087803b15801561027257600080fd5b505af1158015610286573d6000803e3d6000fd5b5050604080518082019091526013815272323ab6b6bc90333ab732103232b83637bcb2b960691b602082015260008051602062005963833981519152925063b4d6c78291506102d49061067b565b6040518263ffffffff1660e01b815260040180826001600160a01b03168152602001806020018281038252601381526020018072223ab6b6bc90233ab732102232b83637bcb2b960691b81525060200192505050600060405180830381600087803b15801561034257600080fd5b505af1158015610356573d6000803e3d6000fd5b5050600854604080518082019091526013815272323ab6b6bc90333ab732103232b83637bcb2b960691b60208201526001600160a01b0390911692506397af705091506103a29061067b565b6040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050600060405180830381600087803b1580156103e157600080fd5b505af11580156103f5573d6000803e3d6000fd5b50505050565b604080518082019091526013815272323ab6b6bc90333ab732103232b83637bcb2b960691b6020820152600080516020620059638339815191529063ca669fa7906104459061067b565b6040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050600060405180830381600087803b15801561048457600080fd5b505af1158015610498573d6000803e3d6000fd5b505060405163f28dceb360e01b8152602060048201908152602d6024830181905260008051602062005963833981519152945063f28dceb3935090918291604490910190620059c98239604001915050600060405180830381600087803b15801561050257600080fd5b505af1158015610516573d6000803e3d6000fd5b505060085460408051808201909152600f81526e323ab6b6bc903b30bab63a103634b160891b60208201526001600160a01b0390911692506322a0c08b915061055e9061067b565b61058460405180604001604052806005815260200164616c69636560d81b81525061067b565b6105c26040518060400160405280601b81526020017f6e6f6e2d636f6e7472616374207661756c74206163636573736f72000000000081525061067b565b604080516001600160e01b031960e087901b1681526001600160a01b03948516600482015292841660248401529216604482015260806064820152600a608482015269111d5b5b5e48119d5b9960b21b60a4820152905160c48083019260209291908290030181600087803b15801561063a57600080fd5b505af115801561064e573d6000803e3d6000fd5b505050506040513d602081101561066457600080fd5b5050565b6000805160206200596383398151915281565b80516020909101206001600160a01b031690565b604080518082019091526013815272323ab6b6bc90333ab732103232b83637bcb2b960691b6020820152600080516020620059638339815191529063ca669fa7906106d99061067b565b6040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050600060405180830381600087803b15801561071857600080fd5b505af115801561072c573d6000803e3d6000fd5b505060408051633d21120560e21b8152905160008051602062005963833981519152935063f48448149250600480830192600092919082900301818387803b15801561077757600080fd5b505af115801561078b573d6000803e3d6000fd5b505060085460408051808201909152600f81526e323ab6b6bc903b30bab63a103634b160891b60208201526001600160a01b0390911692506322a0c08b91506107d39061067b565b6107f960405180604001604052806005815260200164616c69636560d81b81525061067b565b6105c260405180604001604052806014815260200173323ab6b6bc903b30bab63a1030b1b1b2b9b9b7b960611b81525061067b565b60008054610100900460ff16156108505750600054610100900460ff166109ec565b600061085a6114b6565b156109e957604080516000805160206200596383398151915260208083018290526519985a5b195960d21b838501528351808403850181526060848101909552630667f9d760e41b60808501908152815193947f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc494929391926084909101918401908083835b602083106108ff5780518252601f1990920191602091820191016108e0565b6001836020036101000a038019825116818451168082178552505050505050905001925050506040516020818303038152906040526040518082805190602001908083835b602083106109635780518252601f199092019160209182019101610944565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146109c5576040519150601f19603f3d011682016040523d82523d6000602084013e6109ca565b606091505b509150508080602001905160208110156109e357600080fd5b50519150505b90505b90565b60006040516109fd90611de9565b604051809103906000f080158015610a19573d6000803e3d6000fd5b506040805163248e63e160e11b8152600160048201819052602482018190526044820181905260648201529051919250600080516020620059638339815191529163491cc7c29160848082019260009290919082900301818387803b158015610a8157600080fd5b505af1158015610a95573d6000803e3d6000fd5b505050507fb5a9def940973a936e331170816650368964b0602957d4bc60f5ddc2dc1b69cd6000610af160405180604001604052806014815260200173323ab6b6bc903b30bab63a1030b1b1b2b9b9b7b960611b81525061067b565b60405180836001600160a01b03168152602001826001600160a01b031681526020019250505060405180910390a16040805163248e63e160e11b8152600160048201819052602482018190526044820181905260648201529051600080516020620059638339815191529163491cc7c291608480830192600092919082900301818387803b158015610b8257600080fd5b505af1158015610b96573d6000803e3d6000fd5b505050507f342827c97908e5e2f71151c08502a66d44b6f758e3ac2f1de95f02eb95f0a7356000610be360405180604001604052806005815260200164616c69636560d81b81525061067b565b60405180836001600160a01b03168152602001826001600160a01b031681526020019250505060405180910390a16040805163248e63e160e11b8152600160048201819052602482018190526044820181905260648201529051600080516020620059638339815191529163491cc7c291608480830192600092919082900301818387803b158015610c7457600080fd5b505af1158015610c88573d6000803e3d6000fd5b505060408051600081526001600160a01b038516602082015281517fe504a0278c9d64c1a72d2f528a0c5e3686e093fcd478b3b1224a5c6983207df69450908190039091019150a16040805163248e63e160e11b8152600160048201819052602482018190526044820181905260648201529051600080516020620059638339815191529163491cc7c291608480830192600092919082900301818387803b158015610d3357600080fd5b505af1158015610d47573d6000803e3d6000fd5b50505050806001600160a01b0316610d7b60405180604001604052806005815260200164616c69636560d81b81525061067b565b6001600160a01b0316610db860405180604001604052806013815260200172323ab6b6bc90333ab732103232b83637bcb2b960691b81525061067b565b6008546001600160a01b03918216917fa50560b448ad796ef60adfeffe1c19ed34daf94c2aa6905d0e209017dbc19f5891610df5911660016114cc565b610e2a60405180604001604052806014815260200173323ab6b6bc903b30bab63a1030b1b1b2b9b9b7b960611b81525061067b565b604080516001600160a01b0393841681529190921660208201526060818301819052600a9082015269111d5b5b5e48119d5b9960b21b608082015290519081900360a00190a4604080518082019091526013815272323ab6b6bc90333ab732103232b83637bcb2b960691b6020820152600080516020620059638339815191529063ca669fa790610eba9061067b565b6040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050600060405180830381600087803b158015610ef957600080fd5b505af1158015610f0d573d6000803e3d6000fd5b5050600854604080518082019091526005815264616c69636560d81b6020820152600093506001600160a01b0390911691506322a0c08b908490610f509061067b565b610f8560405180604001604052806014815260200173323ab6b6bc903b30bab63a1030b1b1b2b9b9b7b960611b81525061067b565b604080516001600160e01b031960e087901b1681526001600160a01b03948516600482015292841660248401529216604482015260806064820152600a608482015269111d5b5b5e48119d5b9960b21b60a4820152905160c48083019260209291908290030181600087803b158015610ffd57600080fd5b505af1158015611011573d6000803e3d6000fd5b505050506040513d602081101561102757600080fd5b5051604080518082019091526013815272323ab6b6bc90333ab732103232b83637bcb2b960691b60208201529091506110e1906110639061067b565b600854604080516307af8e9f60e31b81526001600160a01b03868116600483015291519190921691633d7c74f8916024808301926020929190829003018186803b1580156110b057600080fd5b505afa1580156110c4573d6000803e3d6000fd5b505050506040513d60208110156110da57600080fd5b505161177c565b611133600860009054906101000a90046001600160a01b0316826001600160a01b0316630ee2cb106040518163ffffffff1660e01b815260040160206040518083038186803b1580156110b057600080fd5b6111a461116b60405180604001604052806014815260200173323ab6b6bc903b30bab63a1030b1b1b2b9b9b7b960611b81525061067b565b826001600160a01b0316635a53e3486040518163ffffffff1660e01b815260040160206040518083038186803b1580156110b057600080fd5b6112066111cd60405180604001604052806005815260200164616c69636560d81b81525061067b565b826001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b1580156110b057600080fd5b6112446000826001600160a01b031663cd63d5786040518163ffffffff1660e01b815260040160206040518083038186803b1580156110b057600080fd5b6113956040518060400160405280600a815260200169111d5b5b5e48119d5b9960b21b815250826001600160a01b03166306fdde036040518163ffffffff1660e01b815260040160006040518083038186803b1580156112a357600080fd5b505afa1580156112b7573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260208110156112e057600080fd5b810190808051604051939291908464010000000082111561130057600080fd5b90830190602082018581111561131557600080fd5b825164010000000081118282018810171561132f57600080fd5b82525081516020918201929091019080838360005b8381101561135c578181015183820152602001611344565b50505050905090810190601f1680156113895780820380516001836020036101000a031916815260200191505b5060405250505061189f565b6113e160405180602001604052806000815250826001600160a01b03166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b1580156112a357600080fd5b6106646012826001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561141f57600080fd5b505afa158015611433573d6000803e3d6000fd5b505050506040513d602081101561144957600080fd5b505160ff16611b52565b60005462010000900460ff1681565b60005460ff1681565b60405161147790611df7565b604051809103906000f080158015611493573d6000803e3d6000fd5b50600880546001600160a01b0319166001600160a01b0392909216919091179055565b600080516020620059638339815191523b151590565b6000816115345760408051606b60f91b602080830191909152602560fa1b60218301526001600160601b0319606087901b166022830152600160ff1b6036830152825160178184030181526037909201909252805191012061152d906109ec565b9050611776565b607f82116115a05760408051606b60f91b602080830191909152602560fa1b60218301526001600160601b0319606087901b16602283015260f885901b6001600160f81b0319166036830152825160178184030181526037909201909252805191012061152d906109ec565b60ff8211611616576040805160d760f81b602080830191909152602560fa1b60218301526001600160601b0319606087901b166022830152608160f81b603683015260f885901b6001600160f81b0319166037830152825160188184030181526038909201909252805191012061152d906109ec565b61ffff821161168d5760408051601b60fb1b602080830191909152602560fa1b60218301526001600160601b0319606087901b166022830152604160f91b60368301526001600160f01b031960f086901b166037830152825160198184030181526039909201909252805191012061152d906109ec565b62ffffff8211611705576040805160d960f81b602080830191909152602560fa1b60218301526001600160601b0319606087901b166022830152608360f81b60368301526001600160e81b031960e886901b1660378301528251601a818403018152603a909201909252805191012061152d906109ec565b60408051606d60f91b602080830191909152602560fa1b60218301526001600160601b0319606087901b166022830152602160fa1b60368301526001600160e01b031960e086901b1660378301528251601b818403018152603b9092019092528051910120611773906109ec565b90505b92915050565b806001600160a01b0316826001600160a01b031614610664577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50604051808060200182810382526025815260200180620059f66025913960400191505060405180910390a1604080516001600160a01b0383166020820152818152600a81830152690808115e1c1958dd195960b21b606082015290517f9c4e8541ca8f0dc1c413f9108f66d82d3cecb1bddbce437a61caa3175c4cc96f9181900360800190a1604080516001600160a01b0384166020820152818152600a8183015269080808081058dd1d585b60b21b606082015290517f9c4e8541ca8f0dc1c413f9108f66d82d3cecb1bddbce437a61caa3175c4cc96f9181900360800190a1610664611c4f565b806040516020018082805190602001908083835b602083106118d25780518252601f1990920191602091820191016118b3565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405160208183030381529060405280519060200120826040516020018082805190602001908083835b602083106119405780518252601f199092019160209182019101611921565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040516020818303038152906040528051906020012014610664577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50604051808060200182810382526024815260200180620059a56024913960400191505060405180910390a17f280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf3583816040518080602001806020018381038352600a815260200180690808115e1c1958dd195960b21b815250602001838103825284818151815260200191508051906020019080838360005b83811015611a50578181015183820152602001611a38565b50505050905090810190601f168015611a7d5780820380516001836020036101000a031916815260200191505b50935050505060405180910390a17f280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf3583826040518080602001806020018381038352600a81526020018069080808081058dd1d585b60b21b815250602001838103825284818151815260200191508051906020019080838360005b83811015611b0f578181015183820152602001611af7565b50505050905090810190601f168015611b3c5780820380516001836020036101000a031916815260200191505b50935050505060405180910390a1610664611c4f565b808214610664577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50604051808060200182810382526022815260200180620059836022913960400191505060405180910390a16040805160208101839052818152600a81830152690808115e1c1958dd195960b21b606082015290517fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a89181900360800190a16040805160208101849052818152600a8183015269080808081058dd1d585b60b21b606082015290517fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a89181900360800190a16106645b611c576114b6565b15611dd857604080516000805160206200596383398151915260208083018290526519985a5b195960d21b83850152600160608481019190915284518085039091018152608084019094526370ca10bb60e01b60a08401908152845160009593947f70ca10bbd0dbfd9020a9f4b13402c16cb120705e0d1c0aeab10fa353ae586fc4949360a490910191908401908083835b60208310611d085780518252601f199092019160209182019101611ce9565b6001836020036101000a038019825116818451168082178552505050505050905001925050506040516020818303038152906040526040518082805190602001908083835b60208310611d6c5780518252601f199092019160209182019101611d4d565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114611dce576040519150601f19603f3d011682016040523d82523d6000602084013e611dd3565b606091505b505050505b6000805461ff001916610100179055565b6111098062001e0683390190565b612a548062002f0f8339019056fe608060405234801561001057600080fd5b506110e9806100206000396000f3fe608060405234801561001057600080fd5b50600436106101215760003560e01c80635c9a6d37116100ad57806395d89b411161007157806395d89b4114610392578063a9059cbb1461039a578063ab9253ac146103c6578063cd63d578146103ec578063dd62ed3e146103f457610121565b80635c9a6d37146102ad578063682cea191461033657806370a082311461033e5780637de07cea14610364578063893d20e81461038a57610121565b806323b872dd116100f457806323b872dd14610221578063313ce567146102575780634140d6071461027557806352d1902d1461029d5780635a53e348146102a557610121565b806306fdde0314610126578063095ea7b3146101a35780630ee2cb10146101e357806318160ddd14610207575b600080fd5b61012e610422565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610168578181015183820152602001610150565b50505050905090810190601f1680156101955780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101cf600480360360408110156101b957600080fd5b506001600160a01b0381351690602001356104b8565b604080519115158252519081900360200190f35b6101eb6104ce565b604080516001600160a01b039092168252519081900360200190f35b61020f6104dd565b60408051918252519081900360200190f35b6101cf6004803603606081101561023757600080fd5b506001600160a01b038135811691602081013590911690604001356104e3565b61025f61054c565b6040805160ff9092168252519081900360200190f35b61029b6004803603602081101561028b57600080fd5b50356001600160a01b0316610551565b005b61020f6105f8565b6101eb61061c565b61029b600480360360608110156102c357600080fd5b6001600160a01b0382358116926020810135909116918101906060810160408201356401000000008111156102f757600080fd5b82018360208201111561030957600080fd5b8035906020019184600183028401116401000000008311171561032b57600080fd5b50909250905061062b565b6101eb610719565b61020f6004803603602081101561035457600080fd5b50356001600160a01b031661073e565b6101cf6004803603602081101561037a57600080fd5b50356001600160a01b0316610759565b6101eb61078b565b61012e61079a565b6101cf600480360360408110156103b057600080fd5b506001600160a01b0381351690602001356107fa565b61029b600480360360208110156103dc57600080fd5b50356001600160a01b0316610807565b6101eb61085c565b61020f6004803603604081101561040a57600080fd5b506001600160a01b038135811691602001351661086b565b60008054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104ae5780601f10610483576101008083540402835291602001916104ae565b820191906000526020600020905b81548152906001019060200180831161049157829003601f168201915b5050505050905090565b60006104c5338484610896565b50600192915050565b6006546001600160a01b031690565b60025490565b60006104f0848484610982565b610542843361053d85604051806060016040528060288152602001610fc0602891396001600160a01b038a1660009081526004602090815260408083203384529091529020549190610ad4565b610896565b5060019392505050565b601290565b6006546001600160a01b0316331461059a5760405162461bcd60e51b8152600401808060200182810382526032815260200180610f8e6032913960400191505060405180910390fd5b60006105a4610719565b90506105af82610b6b565b604080516001600160a01b0380841682528416602082015281517fe504a0278c9d64c1a72d2f528a0c5e3686e093fcd478b3b1224a5c6983207df6929181900390910190a15050565b7f027b9570e9fedc1a80b937ae9a06861e5faef3992491af30b684a64b3fbec7a590565b6005546001600160a01b031690565b6006546001600160a01b031615610689576040805162461bcd60e51b815260206004820152601f60248201527f696e69743a2050726f787920616c726561647920696e697469616c697a656400604482015290519081900360640190fd5b600680546001600160a01b031916331790556106a760008383610e38565b506106b183610c51565b6106ba84610cf9565b7fe504a0278c9d64c1a72d2f528a0c5e3686e093fcd478b3b1224a5c6983207df660006106e5610719565b60405180836001600160a01b03168152602001826001600160a01b031681526020019250505060405180910390a150505050565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b031660009081526003602052604090205490565b6008546000906001600160a01b038381169116148061078557506007546001600160a01b038381169116145b92915050565b6008546001600160a01b031690565b60018054604080516020601f600260001961010087891615020190951694909404938401819004810282018101909252828152606093909290918301828280156104ae5780601f10610483576101008083540402835291602001916104ae565b60006104c5338484610982565b6006546001600160a01b031633146108505760405162461bcd60e51b81526004018080602001828103825260328152602001806110366032913960400191505060405180910390fd5b61085981610c51565b50565b6007546001600160a01b031690565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b6001600160a01b0383166108db5760405162461bcd60e51b81526004018080602001828103825260248152602001806110b96024913960400191505060405180910390fd5b6001600160a01b0382166109205760405162461bcd60e51b8152600401808060200182810382526022815260200180610f206022913960400191505060405180910390fd5b6001600160a01b03808416600081815260046020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0383166109c75760405162461bcd60e51b81526004018080602001828103825260258152602001806110686025913960400191505060405180910390fd5b6001600160a01b038216610a0c5760405162461bcd60e51b8152600401808060200182810382526023815260200180610ecc6023913960400191505060405180910390fd5b610a4981604051806060016040528060268152602001610f42602691396001600160a01b0386166000908152600360205260409020549190610ad4565b6001600160a01b038085166000908152600360205260408082209390935590841681522054610a789082610ded565b6001600160a01b0380841660008181526003602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b60008184841115610b635760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610b28578181015183820152602001610b10565b50505050905090810190601f168015610b555780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b815260040160206040518083038186803b158015610ba457600080fd5b505afa158015610bb8573d6000803e3d6000fd5b505050506040513d6020811015610bce57600080fd5b50517f027b9570e9fedc1a80b937ae9a06861e5faef3992491af30b684a64b3fbec7a514610c2d5760405162461bcd60e51b8152600401808060200182810382526031815260200180610eef6031913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b6001600160a01b038116610c965760405162461bcd60e51b815260040180806020018281038252602c81526020018061108d602c913960400191505060405180910390fd5b600580546001600160a01b038381166001600160a01b0319831681179093556040805191909216808252602082019390935281517fb5a9def940973a936e331170816650368964b0602957d4bc60f5ddc2dc1b69cd929181900390910190a15050565b6001600160a01b038116610d3e5760405162461bcd60e51b8152600401808060200182810382526026815260200180610f686026913960400191505060405180910390fd5b6008546001600160a01b03908116908216811415610d8d5760405162461bcd60e51b815260040180806020018281038252602b81526020018061100b602b913960400191505060405180910390fd5b600880546001600160a01b0319166001600160a01b03848116918217909255604080519284168352602083019190915280517f342827c97908e5e2f71151c08502a66d44b6f758e3ac2f1de95f02eb95f0a7359281900390910190a15050565b600082820183811015610e315760405162461bcd60e51b8152600401808060200182810382526023815260200180610fe86023913960400191505060405180910390fd5b9392505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10610e795782800160ff19823516178555610ea6565b82800160010185558215610ea6579182015b82811115610ea6578235825591602001919060010190610e8b565b50610eb2929150610eb6565b5090565b5b80821115610eb25760008155600101610eb756fe45524332303a207472616e7366657220746f20746865207a65726f20616464726573735f5f757064617465436f6465416464726573733a205f6e6578745661756c744c6962206e6f7420636f6d70617469626c6545524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e63655f5f7365744f776e65723a205f6e6578744f776e65722063616e6e6f7420626520656d7074797365745661756c744c69623a204f6e6c792063616c6c61626c652062792074686520636f6e74726163742063726561746f7245524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63655661756c744c6962536166654d6174683a206164646974696f6e206f766572666c6f775f5f7365744f776e65723a205f6e6578744f776e6572206973207468652063757272656e74206f776e65727365744163636573736f723a204f6e6c792063616c6c61626c652062792074686520636f6e74726163742063726561746f7245524332303a207472616e736665722066726f6d20746865207a65726f20616464726573735f5f7365744163636573736f723a205f6e6578744163636573736f722063616e6e6f7420626520656d70747945524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a164736f6c634300060c000a60806040523480156200001157600080fd5b506202a300600355600280546001600160a01b031916331790556040805180820190915260048082526322a72d2360e11b60209092019182526200005691816200005d565b50620000f9565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620000a057805160ff1916838001178555620000d0565b82800160010185558215620000d0579182015b82811115620000d0578251825591602001919060010190620000b3565b50620000de929150620000e2565b5090565b5b80821115620000de5760008155600101620000e3565b61294b80620001096000396000f3fe60806040523480156200001157600080fd5b5060043610620001485760003560e01c806377a8c62411620000bd57806397af7050116200007b57806397af7050146200042d5780639c9d48da1462000456578063b47b06001462000487578063d0449d3d1462000509578063d15f9b9c14620005325762000148565b806377a8c62414620003885780637c77b2ed14620003b15780637dad9fc814620003bb5780638156eecf1462000419578063893d20e814620004235762000148565b80633d7c74f8116200010b5780633d7c74f814620002795780634e71e0c814620002a257806366231cea14620002ac578063728e17a014620002e9578063757bc0dd14620003125762000148565b80631df419f7146200014d57806322a0c08b146200016f578063288b6a3614620002225780632fa0c161146200022c57806338b3eb1b1462000248575b600080fd5b6200016d600480360360208110156200016557600080fd5b503562000573565b005b62000206600480360360808110156200018757600080fd5b6001600160a01b0382358116926020810135821692604082013590921691810190608081016060820135640100000000811115620001c457600080fd5b820183602082011115620001d757600080fd5b80359060200191846001830284011164010000000083111715620001fa57600080fd5b50909250905062000646565b604080516001600160a01b039092168252519081900360200190f35b62000206620008df565b62000236620008ee565b60408051918252519081900360200190f35b6200016d600480360360408110156200026057600080fd5b506001600160a01b0381351690602001351515620008f4565b62000206600480360360208110156200029157600080fd5b50356001600160a01b031662000c46565b6200016d62000c67565b620002d560048036036020811015620002c457600080fd5b50356001600160a01b031662000d10565b604080519115158252519081900360200190f35b6200016d600480360360208110156200030157600080fd5b50356001600160a01b031662000d43565b6200016d600480360360208110156200032a57600080fd5b8101906020810181356401000000008111156200034657600080fd5b8201836020820111156200035957600080fd5b803590602001918460018302840111640100000000831117156200037c57600080fd5b50909250905062000ebd565b6200023660048036036020811015620003a057600080fd5b50356001600160a01b031662000f7b565b6200020662000fc4565b620003e460048036036020811015620003d357600080fd5b50356001600160a01b031662000fd3565b604080516001600160a01b03958616815293851660208501529190931682820152606082019290925290519081900360800190f35b6200016d6200106b565b6200020662001147565b6200016d600480360360208110156200044557600080fd5b50356001600160a01b031662001156565b6200016d600480360360408110156200046e57600080fd5b506001600160a01b0381351690602001351515620012e1565b620004916200152a565b6040805160208082528351818301528351919283929083019185019080838360005b83811015620004cd578181015183820152602001620004b3565b50505050905090810190601f168015620004fb5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b620002d5600480360360208110156200052157600080fd5b50356001600160a01b0316620015c4565b6200016d600480360360808110156200054a57600080fd5b506001600160a01b038135811691602081013582169160408201351690606001351515620015e4565b6002546001600160a01b03163314620005be5760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b60035481811415620006025760405162461bcd60e51b815260040180806020018281038252603b81526020018062002904603b913960400191505060405180910390fd5b6003829055604080518281526020810184905281517f481ce28a1145a5d9b59e2d1d7eba33bc3350124def8fdc91032238d343ad5361929181900390910190a15050565b600080546001600160a01b03163314620006925760405162461bcd60e51b8152600401808060200182810382526034815260200180620024b66034913960400191505060405180910390fd5b6200069d8462001832565b620006da5760405162461bcd60e51b815260040180806020018281038252602d8152602001806200269b602d913960400191505060405180910390fd5b6060635c9a6d3760e01b8686868660405160240180856001600160a01b03168152602001846001600160a01b0316815260200180602001828103825284848281815260200192508082843760008382015260408051601f909201601f1990811690940182810390940182529283526020810180516001600160e01b03166001600160e01b0319909b169a909a17909952505196975087968e965062000786955093506200204c92505050565b8080602001836001600160a01b03168152602001828103825284818151815260200191508051906020019080838360005b83811015620007d1578181015183820152602001620007b7565b50505050905090810190601f168015620007ff5780820380516001836020036101000a031916815260200191505b509350505050604051809103906000f08015801562000822573d6000803e3d6000fd5b506001600160a01b0380821660008181526005602090815260409182902080546001600160a01b0319163390811790915582519384528a85169184019190915260609183018281529183018890529395508a8316928a169184917fa50560b448ad796ef60adfeffe1c19ed34daf94c2aa6905d0e209017dbc19f589188918c918c918c919060808201848480828437600083820152604051601f909101601f191690920182900397509095505050505050a4505095945050505050565b6001546001600160a01b031690565b60035490565b620008fe6200205a565b506001600160a01b038083166000908152600660209081526040918290208251608081018452815485168082526001830154861693820193909352600282015490941692840192909252600390910154606083015280620009915760405162461bcd60e51b815260040180806020018281038252603d815260200180620028c7603d913960400191505060405180910390fd5b336001600160a01b03821614620009da5760405162461bcd60e51b81526004018080602001828103825260458152602001806200279c6045913960600191505060405180910390fd5b6000546001600160a01b0382811691161462000a285760405162461bcd60e51b815260040180806020018281038252604f815260200180620025ed604f913960600191505060405180910390fd5b60608201514281111562000a6e5760405162461bcd60e51b8152600401808060200182810382526038815260200180620027296038913960400191505060405180910390fd5b6001600160a01b0380861660009081526005602090815260409182902054908601519186015192169162000aa9600289858886868d62001838565b876001600160a01b0316634140d607826040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050600060405180830381600087803b15801562000af957600080fd5b505af115801562000b0e573d6000803e3d6000fd5b50505050876001600160a01b031663ab9253ac836040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050600060405180830381600087803b15801562000b6257600080fd5b505af115801562000b77573d6000803e3d6000fd5b5050506001600160a01b03808a1660009081526005602090815260408083208054948b166001600160a01b0319958616179055600690915281208054831681556001810180548416905560028101805490931690925560039182015562000be5915089858886868d62001838565b604080516001600160a01b038481168252838116602083015281830187905291518288169286811692908c16917fad6fb3d36e2cda148dfd43203c1a40c0da9a9baa662ae9d6c3b0c3e4a9d6a6359181900360600190a45050505050505050565b6001600160a01b03808216600090815260056020526040902054165b919050565b6001546001600160a01b031633811462000cb35760405162461bcd60e51b815260040180806020018281038252603e8152602001806200281c603e913960400191505060405180910390fd5b600180546001600160a01b0319908116909155600280546001600160a01b0384811693821684179092556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038116600090815260066020526040812060030154801580159062000d3c5750804210155b9392505050565b6002546001600160a01b0316331462000d8e5760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b6001600160a01b03811662000dd55760405162461bcd60e51b8152600401808060200182810382526036815260200180620026c86036913960400191505060405180910390fd5b6002546001600160a01b038281169116141562000e245760405162461bcd60e51b815260040180806020018281038252603b81526020018062002761603b913960400191505060405180910390fd5b6001546001600160a01b038281169116141562000e735760405162461bcd60e51b815260040180806020018281038252603b815260200180620027e1603b913960400191505060405180910390fd5b600180546001600160a01b0319166001600160a01b0383169081179091556040517f132c19de901bb4ed8403c34734b6c841d5dc57745824da452a52433519ea5abf90600090a250565b6002546001600160a01b0316331462000f085760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b62000f166004838362002081565b507ff0115712c23b609855a28d7b8963c6d16d732ae388b11e5d4ec6d5eae4ad8698828260405180806020018281038252848482818152602001925080828437600083820152604051601f909101601f19169092018290039550909350505050a15050565b6001600160a01b0381166000908152600660205260408120600301548062000fa857600091505062000c62565b80421062000fbb57600091505062000c62565b42900392915050565b6000546001600160a01b031690565b60008060008062000fe36200205a565b506001600160a01b038086166000908152600660209081526040918290208251608081018452815485168152600182015485169281019290925260028101549093169181019190915260039091015460608201819052156200106257806000015181602001518260400151836060015194509450945094505062001064565b505b9193509193565b6002546001600160a01b03163314620010b65760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b6001546001600160a01b031680620011005760405162461bcd60e51b81526004018080602001828103825260318152602001806200266a6031913960400191505060405180910390fd5b600180546001600160a01b03191690556040516001600160a01b038216907fe4136584a5e8bb85d66301f3ce8b11cc2e5a8bea3979f10ea2451353849acc4790600090a250565b6002546001600160a01b031690565b6002546001600160a01b03163314620011a15760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b6001600160a01b038116620011e85760405162461bcd60e51b81526004018080602001828103825260398152602001806200258e6039913960400191505060405180910390fd5b620011f38162001832565b620012305760405162461bcd60e51b8152600401808060200182810382526036815260200180620028916036913960400191505060405180910390fd5b6000546001600160a01b03908116908216811415620012815760405162461bcd60e51b81526004018080602001828103825260488152602001806200251a6048913960600191505060405180910390fd5b600080546001600160a01b0319166001600160a01b03848116918217909255604080519284168352602083019190915280517f44cf34a26ccbaa8a20e6098a1278e28682572ec9921eb43d8dab274a503e92f59281900390910190a15050565b620012eb6200205a565b506001600160a01b0380831660009081526006602090815260409182902082516080810184528154851680825260018301548616938201939093526002820154909416928401929092526003909101546060830152806200137e5760405162461bcd60e51b815260040180806020018281038252602c81526020018062002562602c913960400191505060405180910390fd5b336001600160a01b038216148062001407575060408051633ef03e7560e11b815233600482015290516001600160a01b03861691637de07cea916024808301926020929190829003018186803b158015620013d857600080fd5b505afa158015620013ed573d6000803e3d6000fd5b505050506040513d60208110156200140457600080fd5b50515b620014445760405162461bcd60e51b8152600401808060200182810382526026815260200180620025c76026913960400191505060405180910390fd5b6001600160a01b0380851660009081526005602090815260408083205486830151878301516060890151600690955292852080546001600160a01b03199081168255600182018054821690556002820180549091169055600301949094559093169290620014b9600489868887878d62001838565b620014c988858786868c62001bd1565b604080516001600160a01b038581168252848116602083015281830184905291518288169287811692908c16917f9851a8f232c380eb2c1065756776e37d85d4fe0c8cb4005b0d72c749bfef923e9181900360600190a45050505050505050565b60048054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815260609390929091830182828015620015ba5780601f106200158e57610100808354040283529160200191620015ba565b820191906000526020600020905b8154815290600101906020018083116200159c57829003601f168201915b5050505050905090565b6001600160a01b0316600090815260066020526040902060030154151590565b6000546001600160a01b031633146200162f5760405162461bcd60e51b8152600401808060200182810382526034815260200180620024b66034913960400191505060405180910390fd5b6200163a8362001832565b620016775760405162461bcd60e51b8152600401808060200182810382526030815260200180620024ea6030913960400191505060405180910390fd5b6001600160a01b038085166000908152600560205260409020541680620016d05760405162461bcd60e51b815260040180806020018281038252602b815260200180620026fe602b913960400191505060405180910390fd5b336001600160a01b0382168114156200171b5760405162461bcd60e51b81526004018080602001828103825260378152602001806200285a6037913960400191505060405180910390fd5b6200172d600087848489898962001838565b60038054604080516080810182526001600160a01b03808616825289811660208084019182528a831684860190815242909601606085018181528e85166000908152600690935295909120935184549084166001600160a01b0319918216178555915160018086018054928616928516929092179091559551600285018054919094169216919091179091559151930192909255620017d2908885858a8a8a62001838565b604080516001600160a01b038881168252878116602083015281830184905291518285169286811692908b16917fb519c42fdb88f83f098814813f2ebff14fbf14f3e68b054e5a98834c69d54bfb9181900360600190a450505050505050565b3b151590565b60006060866001600160a01b0316633f84c12c60e01b8a8a898989604051602401808660048111156200186757fe5b8152602001856001600160a01b03168152602001846001600160a01b03168152602001836001600160a01b03168152602001826001600160a01b0316815260200195505050505050604051602081830303815290604052906001600160e01b0319166020820180516001600160e01b0383818316178352505050506040518082805190602001908083835b60208310620019135780518252601f199092019160209182019101620018f2565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811462001977576040519150601f19603f3d011682016040523d82523d6000602084013e6200197c565b606091505b50915091508162001bc65782620019938a62001ea1565b826040516020018083805190602001908083835b60208310620019c85780518252601f199092019160209182019101620019a7565b51815160209384036101000a600019018019909216911617905285519190930192850191508083835b6020831062001a125780518252601f199092019160209182019101620019f1565b6001836020036101000a038019825116818451168082178552505050505050905001925050506040516020818303038152906040529062001ad45760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101562001a9857818101518382015260200162001a7e565b50505050905090810190601f16801562001ac65780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50856001600160a01b0316876001600160a01b0316896001600160a01b03167fbf0ae6830883bd89855f2e7b17a2924b5de0b2b3d4a8834d7c2c0d5dc53447db848d8a8a604051808060200185600481111562001b2d57fe5b8152602001846001600160a01b03168152602001836001600160a01b03168152602001828103825286818151815260200191508051906020019080838360005b8381101562001b8757818101518382015260200162001b6d565b50505050905090810190601f16801562001bb55780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a45b505050505050505050565b604080516001600160a01b038881166024830152878116604483015285811660648301528481166084808401919091528351808403909101815260a490920183526020820180516001600160e01b031663df369ba760e01b17815292518251600094606094938a169392918291908083835b6020831062001c645780518252601f19909201916020918201910162001c43565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811462001cc8576040519150601f19603f3d011682016040523d82523d6000602084013e62001ccd565b606091505b50915091508162001e9757828160405160200180807f4d6967726174696f6e4f757443616e63656c486f6f6b3a20000000000000000081525060180182805190602001908083835b6020831062001d365780518252601f19909201916020918201910162001d15565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040516020818303038152906040529062001db95760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831562001a9857818101518382015260200162001a7e565b50856001600160a01b0316876001600160a01b0316896001600160a01b03167f7c79070aa51adb676fb9c8d0f7a1f841ff9cf514444b37c95297ed1c52547b328489896040518080602001846001600160a01b03168152602001836001600160a01b03168152602001828103825285818151815260200191508051906020019080838360005b8381101562001e5957818101518382015260200162001e3f565b50505050905090810190601f16801562001e875780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a45b5050505050505050565b6060600082600481111562001eb257fe5b141562001ef4575060408051808201909152601c81527f4d6967726174696f6e4f7574486f6f6b2e5072655369676e616c3a2000000000602082015262000c62565b600182600481111562001f0357fe5b141562001f45575060408051808201909152601d81527f4d6967726174696f6e4f7574486f6f6b2e506f73745369676e616c3a20000000602082015262000c62565b600282600481111562001f5457fe5b141562001f96575060408051808201909152601d81527f4d6967726174696f6e4f7574486f6f6b2e5072654d6967726174653a20000000602082015262000c62565b600382600481111562001fa557fe5b141562001fe7575060408051808201909152601e81527f4d6967726174696f6e4f7574486f6f6b2e506f73744d6967726174653a200000602082015262000c62565b600482600481111562001ff657fe5b141562002038575060408051808201909152601d81527f4d6967726174696f6e4f7574486f6f6b2e506f737443616e63656c3a20000000602082015262000c62565b505060408051602081019091526000815290565b610398806200211e83390190565b60408051608081018252600080825260208201819052918101829052606081019190915290565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620020c45782800160ff19823516178555620020f4565b82800160010185558215620020f4579182015b82811115620020f4578235825591602001919060010190620020d7565b506200210292915062002106565b5090565b5b808211156200210257600081556001016200210756fe608060405234801561001057600080fd5b506040516103983803806103988339818101604052604081101561003357600080fd5b810190808051604051939291908464010000000082111561005357600080fd5b90830190602082018581111561006857600080fd5b825164010000000081118282018810171561008257600080fd5b82525081516020918201929091019080838360005b838110156100af578181015183820152602001610097565b50505050905090810190601f1680156100dc5780820380516001836020036101000a031916815260200191505b5060408181526020928301516352d1902d60e01b835290519094506001600160a01b03851693506352d1902d92600480840193919291829003018186803b15801561012657600080fd5b505afa15801561013a573d6000803e3d6000fd5b505050506040513d602081101561015057600080fd5b50517f027b9570e9fedc1a80b937ae9a06861e5faef3992491af30b684a64b3fbec7a5146101af5760405162461bcd60e51b81526004018080602001828103825260258152602001806103736025913960400191505060405180910390fd5b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5560006060826001600160a01b0316846040518082805190602001908083835b602083106102105780518252601f1990920191602091820191016101f1565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610270576040519150601f19603f3d011682016040523d82523d6000602084013e610275565b606091505b50915091508181906103055760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156102ca5781810151838201526020016102b2565b50505050905090810190601f1680156102f75780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5050505050605b806103186000396000f3fe60806040527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc543660008037600080366000846127105a03f43d806000803e818015604957816000f35b816000fdfea164736f6c634300060c000a636f6e7374727563746f723a205f7661756c744c6962206e6f7420636f6d70617469626c654f6e6c79207468652063757272656e742046756e644465706c6f7965722063616e2063616c6c20746869732066756e6374696f6e7369676e616c4d6967726174696f6e3a204e6f6e2d636f6e7472616374205f6e6578745661756c744163636573736f7273657443757272656e7446756e644465706c6f7965723a205f6e65787446756e644465706c6f79657220697320616c72656164792063757272656e7446756e644465706c6f79657263616e63656c4d6967726174696f6e3a204e6f206d6967726174696f6e20726571756573742065786973747373657443757272656e7446756e644465706c6f7965723a205f6e65787446756e644465706c6f7965722063616e6e6f7420626520656d70747963616e63656c4d6967726174696f6e3a204e6f7420616e20616c6c6f7765642063616c6c6572657865637574654d6967726174696f6e3a20546865207461726765742046756e644465706c6f796572206973206e6f206c6f6e676572207468652063757272656e742046756e644465706c6f7965724f6e6c792074686520636f6e7472616374206f776e65722063616e2063616c6c20746869732066756e6374696f6e72656d6f76654e6f6d696e617465644f776e65723a205468657265206973206e6f206e6f6d696e61746564206f776e65726465706c6f795661756c7450726f78793a204e6f6e2d636f6e7472616374205f7661756c744163636573736f727365744e6f6d696e617465644f776e65723a205f6e6578744e6f6d696e617465644f776e65722063616e6e6f7420626520656d7074797369676e616c4d6967726174696f6e3a205f7661756c7450726f787920646f6573206e6f74206578697374657865637574654d6967726174696f6e3a20546865206d6967726174696f6e2074696d656c6f636b20686173206e6f7420656c61707365647365744e6f6d696e617465644f776e65723a205f6e6578744e6f6d696e617465644f776e657220697320616c726561647920746865206f776e6572657865637574654d6967726174696f6e3a204f6e6c7920746865207461726765742046756e644465706c6f7965722063616e2063616c6c20746869732066756e6374696f6e7365744e6f6d696e617465644f776e65723a205f6e6578744e6f6d696e617465644f776e657220697320616c7265616479206e6f6d696e61746564636c61696d4f776e6572736869703a204f6e6c7920746865206e6f6d696e617465644f776e65722063616e2063616c6c20746869732066756e6374696f6e7369676e616c4d6967726174696f6e3a2043616e206f6e6c79206d69677261746520746f2061206e65772046756e644465706c6f79657273657443757272656e7446756e644465706c6f7965723a204e6f6e2d636f6e7472616374205f6e65787446756e644465706c6f796572657865637574654d6967726174696f6e3a204e6f206d6967726174696f6e20726571756573742065786973747320666f72205f7661756c7450726f78797365744d6967726174696f6e54696d656c6f636b3a205f6e65787454696d656c6f636b206973207468652063757272656e742074696d656c6f636ba164736f6c634300060c000a0000000000000000000000007109709ecfa91a80626ff3989d68f67f5b1dd12d4572726f723a2061203d3d2062206e6f7420736174697366696564205b75696e745d4572726f723a2061203d3d2062206e6f7420736174697366696564205b737472696e675d6465706c6f795661756c7450726f78793a204e6f6e2d636f6e7472616374205f7661756c744163636573736f724572726f723a2061203d3d2062206e6f7420736174697366696564205b616464726573735da164736f6c634300060c000a", "sourceMap": "3939:2960:456:-:0;;;1572:26:435;;;-1:-1:-1;;;;1572:26:435;;;1594:4;1572:26;165:28:436;;;;;3939:2960:456;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106100935760003560e01c806371bcacd31161006657806371bcacd314610174578063ba414fa61461017c578063cd8591bb14610198578063f8ccbf47146101a0578063fa7626d4146101a857610093565b80630a9254e41461009857806312bfb5fb146100a25780633a768463146100aa578063511b1df9146100ce575b600080fd5b6100a06101b0565b005b6100a06103fb565b6100b2610668565b604080516001600160a01b039092168252519081900360200190f35b6100b2600480360360208110156100e457600080fd5b8101906020810181356401000000008111156100ff57600080fd5b82018360208201111561011157600080fd5b8035906020019184600183028401116401000000008311171561013357600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955061067b945050505050565b6100a061068f565b61018461082e565b604080519115158252519081900360200190f35b6100a06109ef565b610184611453565b610184611462565b6101b861146b565b604080518082019091526014815273323ab6b6bc903b30bab63a1030b1b1b2b9b9b7b960611b6020820152600080516020620059638339815191529063b4d6c782906102039061067b565b6040518263ffffffff1660e01b815260040180826001600160a01b03168152602001806020018281038252601481526020018073223ab6b6bc902b30bab63a1020b1b1b2b9b9b7b960611b81525060200192505050600060405180830381600087803b15801561027257600080fd5b505af1158015610286573d6000803e3d6000fd5b5050604080518082019091526013815272323ab6b6bc90333ab732103232b83637bcb2b960691b602082015260008051602062005963833981519152925063b4d6c78291506102d49061067b565b6040518263ffffffff1660e01b815260040180826001600160a01b03168152602001806020018281038252601381526020018072223ab6b6bc90233ab732102232b83637bcb2b960691b81525060200192505050600060405180830381600087803b15801561034257600080fd5b505af1158015610356573d6000803e3d6000fd5b5050600854604080518082019091526013815272323ab6b6bc90333ab732103232b83637bcb2b960691b60208201526001600160a01b0390911692506397af705091506103a29061067b565b6040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050600060405180830381600087803b1580156103e157600080fd5b505af11580156103f5573d6000803e3d6000fd5b50505050565b604080518082019091526013815272323ab6b6bc90333ab732103232b83637bcb2b960691b6020820152600080516020620059638339815191529063ca669fa7906104459061067b565b6040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050600060405180830381600087803b15801561048457600080fd5b505af1158015610498573d6000803e3d6000fd5b505060405163f28dceb360e01b8152602060048201908152602d6024830181905260008051602062005963833981519152945063f28dceb3935090918291604490910190620059c98239604001915050600060405180830381600087803b15801561050257600080fd5b505af1158015610516573d6000803e3d6000fd5b505060085460408051808201909152600f81526e323ab6b6bc903b30bab63a103634b160891b60208201526001600160a01b0390911692506322a0c08b915061055e9061067b565b61058460405180604001604052806005815260200164616c69636560d81b81525061067b565b6105c26040518060400160405280601b81526020017f6e6f6e2d636f6e7472616374207661756c74206163636573736f72000000000081525061067b565b604080516001600160e01b031960e087901b1681526001600160a01b03948516600482015292841660248401529216604482015260806064820152600a608482015269111d5b5b5e48119d5b9960b21b60a4820152905160c48083019260209291908290030181600087803b15801561063a57600080fd5b505af115801561064e573d6000803e3d6000fd5b505050506040513d602081101561066457600080fd5b5050565b6000805160206200596383398151915281565b80516020909101206001600160a01b031690565b604080518082019091526013815272323ab6b6bc90333ab732103232b83637bcb2b960691b6020820152600080516020620059638339815191529063ca669fa7906106d99061067b565b6040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050600060405180830381600087803b15801561071857600080fd5b505af115801561072c573d6000803e3d6000fd5b505060408051633d21120560e21b8152905160008051602062005963833981519152935063f48448149250600480830192600092919082900301818387803b15801561077757600080fd5b505af115801561078b573d6000803e3d6000fd5b505060085460408051808201909152600f81526e323ab6b6bc903b30bab63a103634b160891b60208201526001600160a01b0390911692506322a0c08b91506107d39061067b565b6107f960405180604001604052806005815260200164616c69636560d81b81525061067b565b6105c260405180604001604052806014815260200173323ab6b6bc903b30bab63a1030b1b1b2b9b9b7b960611b81525061067b565b60008054610100900460ff16156108505750600054610100900460ff166109ec565b600061085a6114b6565b156109e957604080516000805160206200596383398151915260208083018290526519985a5b195960d21b838501528351808403850181526060848101909552630667f9d760e41b60808501908152815193947f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc494929391926084909101918401908083835b602083106108ff5780518252601f1990920191602091820191016108e0565b6001836020036101000a038019825116818451168082178552505050505050905001925050506040516020818303038152906040526040518082805190602001908083835b602083106109635780518252601f199092019160209182019101610944565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146109c5576040519150601f19603f3d011682016040523d82523d6000602084013e6109ca565b606091505b509150508080602001905160208110156109e357600080fd5b50519150505b90505b90565b60006040516109fd90611de9565b604051809103906000f080158015610a19573d6000803e3d6000fd5b506040805163248e63e160e11b8152600160048201819052602482018190526044820181905260648201529051919250600080516020620059638339815191529163491cc7c29160848082019260009290919082900301818387803b158015610a8157600080fd5b505af1158015610a95573d6000803e3d6000fd5b505050507fb5a9def940973a936e331170816650368964b0602957d4bc60f5ddc2dc1b69cd6000610af160405180604001604052806014815260200173323ab6b6bc903b30bab63a1030b1b1b2b9b9b7b960611b81525061067b565b60405180836001600160a01b03168152602001826001600160a01b031681526020019250505060405180910390a16040805163248e63e160e11b8152600160048201819052602482018190526044820181905260648201529051600080516020620059638339815191529163491cc7c291608480830192600092919082900301818387803b158015610b8257600080fd5b505af1158015610b96573d6000803e3d6000fd5b505050507f342827c97908e5e2f71151c08502a66d44b6f758e3ac2f1de95f02eb95f0a7356000610be360405180604001604052806005815260200164616c69636560d81b81525061067b565b60405180836001600160a01b03168152602001826001600160a01b031681526020019250505060405180910390a16040805163248e63e160e11b8152600160048201819052602482018190526044820181905260648201529051600080516020620059638339815191529163491cc7c291608480830192600092919082900301818387803b158015610c7457600080fd5b505af1158015610c88573d6000803e3d6000fd5b505060408051600081526001600160a01b038516602082015281517fe504a0278c9d64c1a72d2f528a0c5e3686e093fcd478b3b1224a5c6983207df69450908190039091019150a16040805163248e63e160e11b8152600160048201819052602482018190526044820181905260648201529051600080516020620059638339815191529163491cc7c291608480830192600092919082900301818387803b158015610d3357600080fd5b505af1158015610d47573d6000803e3d6000fd5b50505050806001600160a01b0316610d7b60405180604001604052806005815260200164616c69636560d81b81525061067b565b6001600160a01b0316610db860405180604001604052806013815260200172323ab6b6bc90333ab732103232b83637bcb2b960691b81525061067b565b6008546001600160a01b03918216917fa50560b448ad796ef60adfeffe1c19ed34daf94c2aa6905d0e209017dbc19f5891610df5911660016114cc565b610e2a60405180604001604052806014815260200173323ab6b6bc903b30bab63a1030b1b1b2b9b9b7b960611b81525061067b565b604080516001600160a01b0393841681529190921660208201526060818301819052600a9082015269111d5b5b5e48119d5b9960b21b608082015290519081900360a00190a4604080518082019091526013815272323ab6b6bc90333ab732103232b83637bcb2b960691b6020820152600080516020620059638339815191529063ca669fa790610eba9061067b565b6040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050600060405180830381600087803b158015610ef957600080fd5b505af1158015610f0d573d6000803e3d6000fd5b5050600854604080518082019091526005815264616c69636560d81b6020820152600093506001600160a01b0390911691506322a0c08b908490610f509061067b565b610f8560405180604001604052806014815260200173323ab6b6bc903b30bab63a1030b1b1b2b9b9b7b960611b81525061067b565b604080516001600160e01b031960e087901b1681526001600160a01b03948516600482015292841660248401529216604482015260806064820152600a608482015269111d5b5b5e48119d5b9960b21b60a4820152905160c48083019260209291908290030181600087803b158015610ffd57600080fd5b505af1158015611011573d6000803e3d6000fd5b505050506040513d602081101561102757600080fd5b5051604080518082019091526013815272323ab6b6bc90333ab732103232b83637bcb2b960691b60208201529091506110e1906110639061067b565b600854604080516307af8e9f60e31b81526001600160a01b03868116600483015291519190921691633d7c74f8916024808301926020929190829003018186803b1580156110b057600080fd5b505afa1580156110c4573d6000803e3d6000fd5b505050506040513d60208110156110da57600080fd5b505161177c565b611133600860009054906101000a90046001600160a01b0316826001600160a01b0316630ee2cb106040518163ffffffff1660e01b815260040160206040518083038186803b1580156110b057600080fd5b6111a461116b60405180604001604052806014815260200173323ab6b6bc903b30bab63a1030b1b1b2b9b9b7b960611b81525061067b565b826001600160a01b0316635a53e3486040518163ffffffff1660e01b815260040160206040518083038186803b1580156110b057600080fd5b6112066111cd60405180604001604052806005815260200164616c69636560d81b81525061067b565b826001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b1580156110b057600080fd5b6112446000826001600160a01b031663cd63d5786040518163ffffffff1660e01b815260040160206040518083038186803b1580156110b057600080fd5b6113956040518060400160405280600a815260200169111d5b5b5e48119d5b9960b21b815250826001600160a01b03166306fdde036040518163ffffffff1660e01b815260040160006040518083038186803b1580156112a357600080fd5b505afa1580156112b7573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260208110156112e057600080fd5b810190808051604051939291908464010000000082111561130057600080fd5b90830190602082018581111561131557600080fd5b825164010000000081118282018810171561132f57600080fd5b82525081516020918201929091019080838360005b8381101561135c578181015183820152602001611344565b50505050905090810190601f1680156113895780820380516001836020036101000a031916815260200191505b5060405250505061189f565b6113e160405180602001604052806000815250826001600160a01b03166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b1580156112a357600080fd5b6106646012826001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561141f57600080fd5b505afa158015611433573d6000803e3d6000fd5b505050506040513d602081101561144957600080fd5b505160ff16611b52565b60005462010000900460ff1681565b60005460ff1681565b60405161147790611df7565b604051809103906000f080158015611493573d6000803e3d6000fd5b50600880546001600160a01b0319166001600160a01b0392909216919091179055565b600080516020620059638339815191523b151590565b6000816115345760408051606b60f91b602080830191909152602560fa1b60218301526001600160601b0319606087901b166022830152600160ff1b6036830152825160178184030181526037909201909252805191012061152d906109ec565b9050611776565b607f82116115a05760408051606b60f91b602080830191909152602560fa1b60218301526001600160601b0319606087901b16602283015260f885901b6001600160f81b0319166036830152825160178184030181526037909201909252805191012061152d906109ec565b60ff8211611616576040805160d760f81b602080830191909152602560fa1b60218301526001600160601b0319606087901b166022830152608160f81b603683015260f885901b6001600160f81b0319166037830152825160188184030181526038909201909252805191012061152d906109ec565b61ffff821161168d5760408051601b60fb1b602080830191909152602560fa1b60218301526001600160601b0319606087901b166022830152604160f91b60368301526001600160f01b031960f086901b166037830152825160198184030181526039909201909252805191012061152d906109ec565b62ffffff8211611705576040805160d960f81b602080830191909152602560fa1b60218301526001600160601b0319606087901b166022830152608360f81b60368301526001600160e81b031960e886901b1660378301528251601a818403018152603a909201909252805191012061152d906109ec565b60408051606d60f91b602080830191909152602560fa1b60218301526001600160601b0319606087901b166022830152602160fa1b60368301526001600160e01b031960e086901b1660378301528251601b818403018152603b9092019092528051910120611773906109ec565b90505b92915050565b806001600160a01b0316826001600160a01b031614610664577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50604051808060200182810382526025815260200180620059f66025913960400191505060405180910390a1604080516001600160a01b0383166020820152818152600a81830152690808115e1c1958dd195960b21b606082015290517f9c4e8541ca8f0dc1c413f9108f66d82d3cecb1bddbce437a61caa3175c4cc96f9181900360800190a1604080516001600160a01b0384166020820152818152600a8183015269080808081058dd1d585b60b21b606082015290517f9c4e8541ca8f0dc1c413f9108f66d82d3cecb1bddbce437a61caa3175c4cc96f9181900360800190a1610664611c4f565b806040516020018082805190602001908083835b602083106118d25780518252601f1990920191602091820191016118b3565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405160208183030381529060405280519060200120826040516020018082805190602001908083835b602083106119405780518252601f199092019160209182019101611921565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040516020818303038152906040528051906020012014610664577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50604051808060200182810382526024815260200180620059a56024913960400191505060405180910390a17f280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf3583816040518080602001806020018381038352600a815260200180690808115e1c1958dd195960b21b815250602001838103825284818151815260200191508051906020019080838360005b83811015611a50578181015183820152602001611a38565b50505050905090810190601f168015611a7d5780820380516001836020036101000a031916815260200191505b50935050505060405180910390a17f280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf3583826040518080602001806020018381038352600a81526020018069080808081058dd1d585b60b21b815250602001838103825284818151815260200191508051906020019080838360005b83811015611b0f578181015183820152602001611af7565b50505050905090810190601f168015611b3c5780820380516001836020036101000a031916815260200191505b50935050505060405180910390a1610664611c4f565b808214610664577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50604051808060200182810382526022815260200180620059836022913960400191505060405180910390a16040805160208101839052818152600a81830152690808115e1c1958dd195960b21b606082015290517fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a89181900360800190a16040805160208101849052818152600a8183015269080808081058dd1d585b60b21b606082015290517fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a89181900360800190a16106645b611c576114b6565b15611dd857604080516000805160206200596383398151915260208083018290526519985a5b195960d21b83850152600160608481019190915284518085039091018152608084019094526370ca10bb60e01b60a08401908152845160009593947f70ca10bbd0dbfd9020a9f4b13402c16cb120705e0d1c0aeab10fa353ae586fc4949360a490910191908401908083835b60208310611d085780518252601f199092019160209182019101611ce9565b6001836020036101000a038019825116818451168082178552505050505050905001925050506040516020818303038152906040526040518082805190602001908083835b60208310611d6c5780518252601f199092019160209182019101611d4d565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114611dce576040519150601f19603f3d011682016040523d82523d6000602084013e611dd3565b606091505b505050505b6000805461ff001916610100179055565b6111098062001e0683390190565b612a548062002f0f8339019056fe608060405234801561001057600080fd5b506110e9806100206000396000f3fe608060405234801561001057600080fd5b50600436106101215760003560e01c80635c9a6d37116100ad57806395d89b411161007157806395d89b4114610392578063a9059cbb1461039a578063ab9253ac146103c6578063cd63d578146103ec578063dd62ed3e146103f457610121565b80635c9a6d37146102ad578063682cea191461033657806370a082311461033e5780637de07cea14610364578063893d20e81461038a57610121565b806323b872dd116100f457806323b872dd14610221578063313ce567146102575780634140d6071461027557806352d1902d1461029d5780635a53e348146102a557610121565b806306fdde0314610126578063095ea7b3146101a35780630ee2cb10146101e357806318160ddd14610207575b600080fd5b61012e610422565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610168578181015183820152602001610150565b50505050905090810190601f1680156101955780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101cf600480360360408110156101b957600080fd5b506001600160a01b0381351690602001356104b8565b604080519115158252519081900360200190f35b6101eb6104ce565b604080516001600160a01b039092168252519081900360200190f35b61020f6104dd565b60408051918252519081900360200190f35b6101cf6004803603606081101561023757600080fd5b506001600160a01b038135811691602081013590911690604001356104e3565b61025f61054c565b6040805160ff9092168252519081900360200190f35b61029b6004803603602081101561028b57600080fd5b50356001600160a01b0316610551565b005b61020f6105f8565b6101eb61061c565b61029b600480360360608110156102c357600080fd5b6001600160a01b0382358116926020810135909116918101906060810160408201356401000000008111156102f757600080fd5b82018360208201111561030957600080fd5b8035906020019184600183028401116401000000008311171561032b57600080fd5b50909250905061062b565b6101eb610719565b61020f6004803603602081101561035457600080fd5b50356001600160a01b031661073e565b6101cf6004803603602081101561037a57600080fd5b50356001600160a01b0316610759565b6101eb61078b565b61012e61079a565b6101cf600480360360408110156103b057600080fd5b506001600160a01b0381351690602001356107fa565b61029b600480360360208110156103dc57600080fd5b50356001600160a01b0316610807565b6101eb61085c565b61020f6004803603604081101561040a57600080fd5b506001600160a01b038135811691602001351661086b565b60008054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104ae5780601f10610483576101008083540402835291602001916104ae565b820191906000526020600020905b81548152906001019060200180831161049157829003601f168201915b5050505050905090565b60006104c5338484610896565b50600192915050565b6006546001600160a01b031690565b60025490565b60006104f0848484610982565b610542843361053d85604051806060016040528060288152602001610fc0602891396001600160a01b038a1660009081526004602090815260408083203384529091529020549190610ad4565b610896565b5060019392505050565b601290565b6006546001600160a01b0316331461059a5760405162461bcd60e51b8152600401808060200182810382526032815260200180610f8e6032913960400191505060405180910390fd5b60006105a4610719565b90506105af82610b6b565b604080516001600160a01b0380841682528416602082015281517fe504a0278c9d64c1a72d2f528a0c5e3686e093fcd478b3b1224a5c6983207df6929181900390910190a15050565b7f027b9570e9fedc1a80b937ae9a06861e5faef3992491af30b684a64b3fbec7a590565b6005546001600160a01b031690565b6006546001600160a01b031615610689576040805162461bcd60e51b815260206004820152601f60248201527f696e69743a2050726f787920616c726561647920696e697469616c697a656400604482015290519081900360640190fd5b600680546001600160a01b031916331790556106a760008383610e38565b506106b183610c51565b6106ba84610cf9565b7fe504a0278c9d64c1a72d2f528a0c5e3686e093fcd478b3b1224a5c6983207df660006106e5610719565b60405180836001600160a01b03168152602001826001600160a01b031681526020019250505060405180910390a150505050565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b031660009081526003602052604090205490565b6008546000906001600160a01b038381169116148061078557506007546001600160a01b038381169116145b92915050565b6008546001600160a01b031690565b60018054604080516020601f600260001961010087891615020190951694909404938401819004810282018101909252828152606093909290918301828280156104ae5780601f10610483576101008083540402835291602001916104ae565b60006104c5338484610982565b6006546001600160a01b031633146108505760405162461bcd60e51b81526004018080602001828103825260328152602001806110366032913960400191505060405180910390fd5b61085981610c51565b50565b6007546001600160a01b031690565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b6001600160a01b0383166108db5760405162461bcd60e51b81526004018080602001828103825260248152602001806110b96024913960400191505060405180910390fd5b6001600160a01b0382166109205760405162461bcd60e51b8152600401808060200182810382526022815260200180610f206022913960400191505060405180910390fd5b6001600160a01b03808416600081815260046020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0383166109c75760405162461bcd60e51b81526004018080602001828103825260258152602001806110686025913960400191505060405180910390fd5b6001600160a01b038216610a0c5760405162461bcd60e51b8152600401808060200182810382526023815260200180610ecc6023913960400191505060405180910390fd5b610a4981604051806060016040528060268152602001610f42602691396001600160a01b0386166000908152600360205260409020549190610ad4565b6001600160a01b038085166000908152600360205260408082209390935590841681522054610a789082610ded565b6001600160a01b0380841660008181526003602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b60008184841115610b635760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610b28578181015183820152602001610b10565b50505050905090810190601f168015610b555780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b815260040160206040518083038186803b158015610ba457600080fd5b505afa158015610bb8573d6000803e3d6000fd5b505050506040513d6020811015610bce57600080fd5b50517f027b9570e9fedc1a80b937ae9a06861e5faef3992491af30b684a64b3fbec7a514610c2d5760405162461bcd60e51b8152600401808060200182810382526031815260200180610eef6031913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b6001600160a01b038116610c965760405162461bcd60e51b815260040180806020018281038252602c81526020018061108d602c913960400191505060405180910390fd5b600580546001600160a01b038381166001600160a01b0319831681179093556040805191909216808252602082019390935281517fb5a9def940973a936e331170816650368964b0602957d4bc60f5ddc2dc1b69cd929181900390910190a15050565b6001600160a01b038116610d3e5760405162461bcd60e51b8152600401808060200182810382526026815260200180610f686026913960400191505060405180910390fd5b6008546001600160a01b03908116908216811415610d8d5760405162461bcd60e51b815260040180806020018281038252602b81526020018061100b602b913960400191505060405180910390fd5b600880546001600160a01b0319166001600160a01b03848116918217909255604080519284168352602083019190915280517f342827c97908e5e2f71151c08502a66d44b6f758e3ac2f1de95f02eb95f0a7359281900390910190a15050565b600082820183811015610e315760405162461bcd60e51b8152600401808060200182810382526023815260200180610fe86023913960400191505060405180910390fd5b9392505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10610e795782800160ff19823516178555610ea6565b82800160010185558215610ea6579182015b82811115610ea6578235825591602001919060010190610e8b565b50610eb2929150610eb6565b5090565b5b80821115610eb25760008155600101610eb756fe45524332303a207472616e7366657220746f20746865207a65726f20616464726573735f5f757064617465436f6465416464726573733a205f6e6578745661756c744c6962206e6f7420636f6d70617469626c6545524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e63655f5f7365744f776e65723a205f6e6578744f776e65722063616e6e6f7420626520656d7074797365745661756c744c69623a204f6e6c792063616c6c61626c652062792074686520636f6e74726163742063726561746f7245524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63655661756c744c6962536166654d6174683a206164646974696f6e206f766572666c6f775f5f7365744f776e65723a205f6e6578744f776e6572206973207468652063757272656e74206f776e65727365744163636573736f723a204f6e6c792063616c6c61626c652062792074686520636f6e74726163742063726561746f7245524332303a207472616e736665722066726f6d20746865207a65726f20616464726573735f5f7365744163636573736f723a205f6e6578744163636573736f722063616e6e6f7420626520656d70747945524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a164736f6c634300060c000a60806040523480156200001157600080fd5b506202a300600355600280546001600160a01b031916331790556040805180820190915260048082526322a72d2360e11b60209092019182526200005691816200005d565b50620000f9565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620000a057805160ff1916838001178555620000d0565b82800160010185558215620000d0579182015b82811115620000d0578251825591602001919060010190620000b3565b50620000de929150620000e2565b5090565b5b80821115620000de5760008155600101620000e3565b61294b80620001096000396000f3fe60806040523480156200001157600080fd5b5060043610620001485760003560e01c806377a8c62411620000bd57806397af7050116200007b57806397af7050146200042d5780639c9d48da1462000456578063b47b06001462000487578063d0449d3d1462000509578063d15f9b9c14620005325762000148565b806377a8c62414620003885780637c77b2ed14620003b15780637dad9fc814620003bb5780638156eecf1462000419578063893d20e814620004235762000148565b80633d7c74f8116200010b5780633d7c74f814620002795780634e71e0c814620002a257806366231cea14620002ac578063728e17a014620002e9578063757bc0dd14620003125762000148565b80631df419f7146200014d57806322a0c08b146200016f578063288b6a3614620002225780632fa0c161146200022c57806338b3eb1b1462000248575b600080fd5b6200016d600480360360208110156200016557600080fd5b503562000573565b005b62000206600480360360808110156200018757600080fd5b6001600160a01b0382358116926020810135821692604082013590921691810190608081016060820135640100000000811115620001c457600080fd5b820183602082011115620001d757600080fd5b80359060200191846001830284011164010000000083111715620001fa57600080fd5b50909250905062000646565b604080516001600160a01b039092168252519081900360200190f35b62000206620008df565b62000236620008ee565b60408051918252519081900360200190f35b6200016d600480360360408110156200026057600080fd5b506001600160a01b0381351690602001351515620008f4565b62000206600480360360208110156200029157600080fd5b50356001600160a01b031662000c46565b6200016d62000c67565b620002d560048036036020811015620002c457600080fd5b50356001600160a01b031662000d10565b604080519115158252519081900360200190f35b6200016d600480360360208110156200030157600080fd5b50356001600160a01b031662000d43565b6200016d600480360360208110156200032a57600080fd5b8101906020810181356401000000008111156200034657600080fd5b8201836020820111156200035957600080fd5b803590602001918460018302840111640100000000831117156200037c57600080fd5b50909250905062000ebd565b6200023660048036036020811015620003a057600080fd5b50356001600160a01b031662000f7b565b6200020662000fc4565b620003e460048036036020811015620003d357600080fd5b50356001600160a01b031662000fd3565b604080516001600160a01b03958616815293851660208501529190931682820152606082019290925290519081900360800190f35b6200016d6200106b565b6200020662001147565b6200016d600480360360208110156200044557600080fd5b50356001600160a01b031662001156565b6200016d600480360360408110156200046e57600080fd5b506001600160a01b0381351690602001351515620012e1565b620004916200152a565b6040805160208082528351818301528351919283929083019185019080838360005b83811015620004cd578181015183820152602001620004b3565b50505050905090810190601f168015620004fb5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b620002d5600480360360208110156200052157600080fd5b50356001600160a01b0316620015c4565b6200016d600480360360808110156200054a57600080fd5b506001600160a01b038135811691602081013582169160408201351690606001351515620015e4565b6002546001600160a01b03163314620005be5760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b60035481811415620006025760405162461bcd60e51b815260040180806020018281038252603b81526020018062002904603b913960400191505060405180910390fd5b6003829055604080518281526020810184905281517f481ce28a1145a5d9b59e2d1d7eba33bc3350124def8fdc91032238d343ad5361929181900390910190a15050565b600080546001600160a01b03163314620006925760405162461bcd60e51b8152600401808060200182810382526034815260200180620024b66034913960400191505060405180910390fd5b6200069d8462001832565b620006da5760405162461bcd60e51b815260040180806020018281038252602d8152602001806200269b602d913960400191505060405180910390fd5b6060635c9a6d3760e01b8686868660405160240180856001600160a01b03168152602001846001600160a01b0316815260200180602001828103825284848281815260200192508082843760008382015260408051601f909201601f1990811690940182810390940182529283526020810180516001600160e01b03166001600160e01b0319909b169a909a17909952505196975087968e965062000786955093506200204c92505050565b8080602001836001600160a01b03168152602001828103825284818151815260200191508051906020019080838360005b83811015620007d1578181015183820152602001620007b7565b50505050905090810190601f168015620007ff5780820380516001836020036101000a031916815260200191505b509350505050604051809103906000f08015801562000822573d6000803e3d6000fd5b506001600160a01b0380821660008181526005602090815260409182902080546001600160a01b0319163390811790915582519384528a85169184019190915260609183018281529183018890529395508a8316928a169184917fa50560b448ad796ef60adfeffe1c19ed34daf94c2aa6905d0e209017dbc19f589188918c918c918c919060808201848480828437600083820152604051601f909101601f191690920182900397509095505050505050a4505095945050505050565b6001546001600160a01b031690565b60035490565b620008fe6200205a565b506001600160a01b038083166000908152600660209081526040918290208251608081018452815485168082526001830154861693820193909352600282015490941692840192909252600390910154606083015280620009915760405162461bcd60e51b815260040180806020018281038252603d815260200180620028c7603d913960400191505060405180910390fd5b336001600160a01b03821614620009da5760405162461bcd60e51b81526004018080602001828103825260458152602001806200279c6045913960600191505060405180910390fd5b6000546001600160a01b0382811691161462000a285760405162461bcd60e51b815260040180806020018281038252604f815260200180620025ed604f913960600191505060405180910390fd5b60608201514281111562000a6e5760405162461bcd60e51b8152600401808060200182810382526038815260200180620027296038913960400191505060405180910390fd5b6001600160a01b0380861660009081526005602090815260409182902054908601519186015192169162000aa9600289858886868d62001838565b876001600160a01b0316634140d607826040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050600060405180830381600087803b15801562000af957600080fd5b505af115801562000b0e573d6000803e3d6000fd5b50505050876001600160a01b031663ab9253ac836040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050600060405180830381600087803b15801562000b6257600080fd5b505af115801562000b77573d6000803e3d6000fd5b5050506001600160a01b03808a1660009081526005602090815260408083208054948b166001600160a01b0319958616179055600690915281208054831681556001810180548416905560028101805490931690925560039182015562000be5915089858886868d62001838565b604080516001600160a01b038481168252838116602083015281830187905291518288169286811692908c16917fad6fb3d36e2cda148dfd43203c1a40c0da9a9baa662ae9d6c3b0c3e4a9d6a6359181900360600190a45050505050505050565b6001600160a01b03808216600090815260056020526040902054165b919050565b6001546001600160a01b031633811462000cb35760405162461bcd60e51b815260040180806020018281038252603e8152602001806200281c603e913960400191505060405180910390fd5b600180546001600160a01b0319908116909155600280546001600160a01b0384811693821684179092556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038116600090815260066020526040812060030154801580159062000d3c5750804210155b9392505050565b6002546001600160a01b0316331462000d8e5760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b6001600160a01b03811662000dd55760405162461bcd60e51b8152600401808060200182810382526036815260200180620026c86036913960400191505060405180910390fd5b6002546001600160a01b038281169116141562000e245760405162461bcd60e51b815260040180806020018281038252603b81526020018062002761603b913960400191505060405180910390fd5b6001546001600160a01b038281169116141562000e735760405162461bcd60e51b815260040180806020018281038252603b815260200180620027e1603b913960400191505060405180910390fd5b600180546001600160a01b0319166001600160a01b0383169081179091556040517f132c19de901bb4ed8403c34734b6c841d5dc57745824da452a52433519ea5abf90600090a250565b6002546001600160a01b0316331462000f085760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b62000f166004838362002081565b507ff0115712c23b609855a28d7b8963c6d16d732ae388b11e5d4ec6d5eae4ad8698828260405180806020018281038252848482818152602001925080828437600083820152604051601f909101601f19169092018290039550909350505050a15050565b6001600160a01b0381166000908152600660205260408120600301548062000fa857600091505062000c62565b80421062000fbb57600091505062000c62565b42900392915050565b6000546001600160a01b031690565b60008060008062000fe36200205a565b506001600160a01b038086166000908152600660209081526040918290208251608081018452815485168152600182015485169281019290925260028101549093169181019190915260039091015460608201819052156200106257806000015181602001518260400151836060015194509450945094505062001064565b505b9193509193565b6002546001600160a01b03163314620010b65760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b6001546001600160a01b031680620011005760405162461bcd60e51b81526004018080602001828103825260318152602001806200266a6031913960400191505060405180910390fd5b600180546001600160a01b03191690556040516001600160a01b038216907fe4136584a5e8bb85d66301f3ce8b11cc2e5a8bea3979f10ea2451353849acc4790600090a250565b6002546001600160a01b031690565b6002546001600160a01b03163314620011a15760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b6001600160a01b038116620011e85760405162461bcd60e51b81526004018080602001828103825260398152602001806200258e6039913960400191505060405180910390fd5b620011f38162001832565b620012305760405162461bcd60e51b8152600401808060200182810382526036815260200180620028916036913960400191505060405180910390fd5b6000546001600160a01b03908116908216811415620012815760405162461bcd60e51b81526004018080602001828103825260488152602001806200251a6048913960600191505060405180910390fd5b600080546001600160a01b0319166001600160a01b03848116918217909255604080519284168352602083019190915280517f44cf34a26ccbaa8a20e6098a1278e28682572ec9921eb43d8dab274a503e92f59281900390910190a15050565b620012eb6200205a565b506001600160a01b0380831660009081526006602090815260409182902082516080810184528154851680825260018301548616938201939093526002820154909416928401929092526003909101546060830152806200137e5760405162461bcd60e51b815260040180806020018281038252602c81526020018062002562602c913960400191505060405180910390fd5b336001600160a01b038216148062001407575060408051633ef03e7560e11b815233600482015290516001600160a01b03861691637de07cea916024808301926020929190829003018186803b158015620013d857600080fd5b505afa158015620013ed573d6000803e3d6000fd5b505050506040513d60208110156200140457600080fd5b50515b620014445760405162461bcd60e51b8152600401808060200182810382526026815260200180620025c76026913960400191505060405180910390fd5b6001600160a01b0380851660009081526005602090815260408083205486830151878301516060890151600690955292852080546001600160a01b03199081168255600182018054821690556002820180549091169055600301949094559093169290620014b9600489868887878d62001838565b620014c988858786868c62001bd1565b604080516001600160a01b038581168252848116602083015281830184905291518288169287811692908c16917f9851a8f232c380eb2c1065756776e37d85d4fe0c8cb4005b0d72c749bfef923e9181900360600190a45050505050505050565b60048054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815260609390929091830182828015620015ba5780601f106200158e57610100808354040283529160200191620015ba565b820191906000526020600020905b8154815290600101906020018083116200159c57829003601f168201915b5050505050905090565b6001600160a01b0316600090815260066020526040902060030154151590565b6000546001600160a01b031633146200162f5760405162461bcd60e51b8152600401808060200182810382526034815260200180620024b66034913960400191505060405180910390fd5b6200163a8362001832565b620016775760405162461bcd60e51b8152600401808060200182810382526030815260200180620024ea6030913960400191505060405180910390fd5b6001600160a01b038085166000908152600560205260409020541680620016d05760405162461bcd60e51b815260040180806020018281038252602b815260200180620026fe602b913960400191505060405180910390fd5b336001600160a01b0382168114156200171b5760405162461bcd60e51b81526004018080602001828103825260378152602001806200285a6037913960400191505060405180910390fd5b6200172d600087848489898962001838565b60038054604080516080810182526001600160a01b03808616825289811660208084019182528a831684860190815242909601606085018181528e85166000908152600690935295909120935184549084166001600160a01b0319918216178555915160018086018054928616928516929092179091559551600285018054919094169216919091179091559151930192909255620017d2908885858a8a8a62001838565b604080516001600160a01b038881168252878116602083015281830184905291518285169286811692908b16917fb519c42fdb88f83f098814813f2ebff14fbf14f3e68b054e5a98834c69d54bfb9181900360600190a450505050505050565b3b151590565b60006060866001600160a01b0316633f84c12c60e01b8a8a898989604051602401808660048111156200186757fe5b8152602001856001600160a01b03168152602001846001600160a01b03168152602001836001600160a01b03168152602001826001600160a01b0316815260200195505050505050604051602081830303815290604052906001600160e01b0319166020820180516001600160e01b0383818316178352505050506040518082805190602001908083835b60208310620019135780518252601f199092019160209182019101620018f2565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811462001977576040519150601f19603f3d011682016040523d82523d6000602084013e6200197c565b606091505b50915091508162001bc65782620019938a62001ea1565b826040516020018083805190602001908083835b60208310620019c85780518252601f199092019160209182019101620019a7565b51815160209384036101000a600019018019909216911617905285519190930192850191508083835b6020831062001a125780518252601f199092019160209182019101620019f1565b6001836020036101000a038019825116818451168082178552505050505050905001925050506040516020818303038152906040529062001ad45760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101562001a9857818101518382015260200162001a7e565b50505050905090810190601f16801562001ac65780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50856001600160a01b0316876001600160a01b0316896001600160a01b03167fbf0ae6830883bd89855f2e7b17a2924b5de0b2b3d4a8834d7c2c0d5dc53447db848d8a8a604051808060200185600481111562001b2d57fe5b8152602001846001600160a01b03168152602001836001600160a01b03168152602001828103825286818151815260200191508051906020019080838360005b8381101562001b8757818101518382015260200162001b6d565b50505050905090810190601f16801562001bb55780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a45b505050505050505050565b604080516001600160a01b038881166024830152878116604483015285811660648301528481166084808401919091528351808403909101815260a490920183526020820180516001600160e01b031663df369ba760e01b17815292518251600094606094938a169392918291908083835b6020831062001c645780518252601f19909201916020918201910162001c43565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811462001cc8576040519150601f19603f3d011682016040523d82523d6000602084013e62001ccd565b606091505b50915091508162001e9757828160405160200180807f4d6967726174696f6e4f757443616e63656c486f6f6b3a20000000000000000081525060180182805190602001908083835b6020831062001d365780518252601f19909201916020918201910162001d15565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040516020818303038152906040529062001db95760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831562001a9857818101518382015260200162001a7e565b50856001600160a01b0316876001600160a01b0316896001600160a01b03167f7c79070aa51adb676fb9c8d0f7a1f841ff9cf514444b37c95297ed1c52547b328489896040518080602001846001600160a01b03168152602001836001600160a01b03168152602001828103825285818151815260200191508051906020019080838360005b8381101562001e5957818101518382015260200162001e3f565b50505050905090810190601f16801562001e875780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a45b5050505050505050565b6060600082600481111562001eb257fe5b141562001ef4575060408051808201909152601c81527f4d6967726174696f6e4f7574486f6f6b2e5072655369676e616c3a2000000000602082015262000c62565b600182600481111562001f0357fe5b141562001f45575060408051808201909152601d81527f4d6967726174696f6e4f7574486f6f6b2e506f73745369676e616c3a20000000602082015262000c62565b600282600481111562001f5457fe5b141562001f96575060408051808201909152601d81527f4d6967726174696f6e4f7574486f6f6b2e5072654d6967726174653a20000000602082015262000c62565b600382600481111562001fa557fe5b141562001fe7575060408051808201909152601e81527f4d6967726174696f6e4f7574486f6f6b2e506f73744d6967726174653a200000602082015262000c62565b600482600481111562001ff657fe5b141562002038575060408051808201909152601d81527f4d6967726174696f6e4f7574486f6f6b2e506f737443616e63656c3a20000000602082015262000c62565b505060408051602081019091526000815290565b610398806200211e83390190565b60408051608081018252600080825260208201819052918101829052606081019190915290565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620020c45782800160ff19823516178555620020f4565b82800160010185558215620020f4579182015b82811115620020f4578235825591602001919060010190620020d7565b506200210292915062002106565b5090565b5b808211156200210257600081556001016200210756fe608060405234801561001057600080fd5b506040516103983803806103988339818101604052604081101561003357600080fd5b810190808051604051939291908464010000000082111561005357600080fd5b90830190602082018581111561006857600080fd5b825164010000000081118282018810171561008257600080fd5b82525081516020918201929091019080838360005b838110156100af578181015183820152602001610097565b50505050905090810190601f1680156100dc5780820380516001836020036101000a031916815260200191505b5060408181526020928301516352d1902d60e01b835290519094506001600160a01b03851693506352d1902d92600480840193919291829003018186803b15801561012657600080fd5b505afa15801561013a573d6000803e3d6000fd5b505050506040513d602081101561015057600080fd5b50517f027b9570e9fedc1a80b937ae9a06861e5faef3992491af30b684a64b3fbec7a5146101af5760405162461bcd60e51b81526004018080602001828103825260258152602001806103736025913960400191505060405180910390fd5b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5560006060826001600160a01b0316846040518082805190602001908083835b602083106102105780518252601f1990920191602091820191016101f1565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610270576040519150601f19603f3d011682016040523d82523d6000602084013e610275565b606091505b50915091508181906103055760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156102ca5781810151838201526020016102b2565b50505050905090810190601f1680156102f75780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5050505050605b806103186000396000f3fe60806040527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc543660008037600080366000846127105a03f43d806000803e818015604957816000f35b816000fdfea164736f6c634300060c000a636f6e7374727563746f723a205f7661756c744c6962206e6f7420636f6d70617469626c654f6e6c79207468652063757272656e742046756e644465706c6f7965722063616e2063616c6c20746869732066756e6374696f6e7369676e616c4d6967726174696f6e3a204e6f6e2d636f6e7472616374205f6e6578745661756c744163636573736f7273657443757272656e7446756e644465706c6f7965723a205f6e65787446756e644465706c6f79657220697320616c72656164792063757272656e7446756e644465706c6f79657263616e63656c4d6967726174696f6e3a204e6f206d6967726174696f6e20726571756573742065786973747373657443757272656e7446756e644465706c6f7965723a205f6e65787446756e644465706c6f7965722063616e6e6f7420626520656d70747963616e63656c4d6967726174696f6e3a204e6f7420616e20616c6c6f7765642063616c6c6572657865637574654d6967726174696f6e3a20546865207461726765742046756e644465706c6f796572206973206e6f206c6f6e676572207468652063757272656e742046756e644465706c6f7965724f6e6c792074686520636f6e7472616374206f776e65722063616e2063616c6c20746869732066756e6374696f6e72656d6f76654e6f6d696e617465644f776e65723a205468657265206973206e6f206e6f6d696e61746564206f776e65726465706c6f795661756c7450726f78793a204e6f6e2d636f6e7472616374205f7661756c744163636573736f727365744e6f6d696e617465644f776e65723a205f6e6578744e6f6d696e617465644f776e65722063616e6e6f7420626520656d7074797369676e616c4d6967726174696f6e3a205f7661756c7450726f787920646f6573206e6f74206578697374657865637574654d6967726174696f6e3a20546865206d6967726174696f6e2074696d656c6f636b20686173206e6f7420656c61707365647365744e6f6d696e617465644f776e65723a205f6e6578744e6f6d696e617465644f776e657220697320616c726561647920746865206f776e6572657865637574654d6967726174696f6e3a204f6e6c7920746865207461726765742046756e644465706c6f7965722063616e2063616c6c20746869732066756e6374696f6e7365744e6f6d696e617465644f776e65723a205f6e6578744e6f6d696e617465644f776e657220697320616c7265616479206e6f6d696e61746564636c61696d4f776e6572736869703a204f6e6c7920746865206e6f6d696e617465644f776e65722063616e2063616c6c20746869732066756e6374696f6e7369676e616c4d6967726174696f6e3a2043616e206f6e6c79206d69677261746520746f2061206e65772046756e644465706c6f79657273657443757272656e7446756e644465706c6f7965723a204e6f6e2d636f6e7472616374205f6e65787446756e644465706c6f796572657865637574654d6967726174696f6e3a204e6f206d6967726174696f6e20726571756573742065786973747320666f72205f7661756c7450726f78797365744d6967726174696f6e54696d656c6f636b3a205f6e65787454696d656c6f636b206973207468652063757272656e742074696d656c6f636ba164736f6c634300060c000a0000000000000000000000007109709ecfa91a80626ff3989d68f67f5b1dd12d4572726f723a2061203d3d2062206e6f7420736174697366696564205b75696e745d4572726f723a2061203d3d2062206e6f7420736174697366696564205b737472696e675d6465706c6f795661756c7450726f78793a204e6f6e2d636f6e7472616374205f7661756c744163636573736f724572726f723a2061203d3d2062206e6f7420736174697366696564205b616464726573735da164736f6c634300060c000a", "sourceMap": "3939:2960:456:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4409:276;;;:::i;:::-;;6523:374;;;:::i;316:38:436:-;;;:::i;:::-;;;;-1:-1:-1;;;;;316:38:436;;;;;;;;;;;;;;669:148:456;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;669:148:456;;-1:-1:-1;669:148:456;;-1:-1:-1;;;;;669:148:456:i;6210:307::-;;;:::i;1819:584:435:-;;;:::i;:::-;;;;;;;;;;;;;;;;;;4691:1513:456;;;:::i;165:28:436:-;;;:::i;1572:26:435:-;;;:::i;4409:276:456:-;4452:13;:11;:13::i;:::-;4484:28;;;;;;;;;;;;-1:-1:-1;;;4484:28:456;;;;-1:-1:-1;;;;;;;;;;;245:64:436;4476:7:456;;4484:28;;:4;:28::i;:::-;4476:61;;;;;;;;;;;;;-1:-1:-1;;;;;4476:61:456;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4476:61:456;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4555:27:456;;;;;;;;;;;;-1:-1:-1;;;4555:27:456;;;;-1:-1:-1;;;;;;;;;;;245:64:436;-1:-1:-1;4547:7:456;;-1:-1:-1;4555:27:456;;:4;:27::i;:::-;4547:59;;;;;;;;;;;;;-1:-1:-1;;;;;4547:59:456;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4547:59:456;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4616:10:456;;4650:27;;;;;;;;;;;;-1:-1:-1;;;4650:27:456;;;;-1:-1:-1;;;;;4616:10:456;;;;-1:-1:-1;4616:33:456;;-1:-1:-1;4650:27:456;;:4;:27::i;:::-;4616:62;;;;;;;;;;;;;-1:-1:-1;;;;;4616:62:456;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4409:276::o;6523:374::-;6601:27;;;;;;;;;;;;-1:-1:-1;;;6601:27:456;;;;-1:-1:-1;;;;;;;;;;;245:64:436;6592:8:456;;6601:27;;:4;:27::i;:::-;6592:37;;;;;;;;;;;;;-1:-1:-1;;;;;6592:37:456;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6640:64:456;;-1:-1:-1;;;6640:64:456;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;245:64:436;-1:-1:-1;6640:15:456;;-1:-1:-1;6640:64:456;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6714:10:456;;6755:23;;;;;;;;;;;;-1:-1:-1;;;6755:23:456;;;;-1:-1:-1;;;;;6714:10:456;;;;-1:-1:-1;6714:27:456;;-1:-1:-1;6755:23:456;;:4;:23::i;:::-;6792:13;;;;;;;;;;;;;;-1:-1:-1;;;6792:13:456;;;:4;:13::i;:::-;6819:35;;;;;;;;;;;;;;;;;;:4;:35::i;:::-;6714:176;;;-1:-1:-1;;;;;;6714:176:456;;;;;;;-1:-1:-1;;;;;6714:176:456;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;6714:176:456;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6714:176:456;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6523:374:456:o;316:38:436:-;-1:-1:-1;;;;;;;;;;;316:38:436;:::o;669:148:456:-;783:23;;;;;;;-1:-1:-1;;;;;751:59:456;;669:148::o;6210:307::-;6275:27;;;;;;;;;;;;-1:-1:-1;;;6275:27:456;;;;-1:-1:-1;;;;;;;;;;;245:64:436;6266:8:456;;6275:27;;:4;:27::i;:::-;6266:37;;;;;;;;;;;;;-1:-1:-1;;;;;6266:37:456;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6314:17:456;;;-1:-1:-1;;;6314:17:456;;;;-1:-1:-1;;;;;;;;;;;245:64:436;-1:-1:-1;6314:15:456;;-1:-1:-1;6314:17:456;;;;;269:37:436;;6314:17:456;;;;;;;269:37:436;245:64;6314:17:456;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6341:10:456;;6382:23;;;;;;;;;;;;-1:-1:-1;;;6382:23:456;;;;-1:-1:-1;;;;;6341:10:456;;;;-1:-1:-1;6341:27:456;;-1:-1:-1;6382:23:456;;:4;:23::i;:::-;6419:13;;;;;;;;;;;;;;-1:-1:-1;;;6419:13:456;;;:4;:13::i;:::-;6446:28;;;;;;;;;;;;;;-1:-1:-1;;;6446:28:456;;;:4;:28::i;1819:584:435:-;1853:4;1873:7;;;;;;;1869:528;;;-1:-1:-1;1903:7:435;;;;;;;1896:14;;1869:528;1941:17;1984:16;:14;:16::i;:::-;1980:374;;;2196:43;;;-1:-1:-1;;;;;;;;;;;2196:43:435;;;;;;;-1:-1:-1;;;2196:43:435;;;;;;;;;;;;;2023:20;2196:43;;;;;;-1:-1:-1;;;2086:175:435;;;;;;;;1671:64;;2135:34;;2196:43;;2086:175;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2086:175:435;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2047:232;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2047:232:435;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2020:259;;;2323:7;2312:27;;;;;;;;;;;;;;;-1:-1:-1;2312:27:435;;-1:-1:-1;;1980:374:435;2374:12;-1:-1:-1;1869:528:435;1819:584;:::o;4691:1513:456:-;4733:20;4764:18;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4794:37:456;;;-1:-1:-1;;;4794:37:456;;4808:4;4794:37;;;;;;;;;;;;;;;;;;;;;;;;4733:50;;-1:-1:-1;;;;;;;;;;;;245:64:436;4794:13:456;;:37;;;;;269::436;;4794::456;;;;;;;;269::436;245:64;4794:37:456;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4846:53;4866:1;4870:28;;;;;;;;;;;;;;-1:-1:-1;;;4870:28:456;;;:4;:28::i;:::-;4846:53;;;;-1:-1:-1;;;;;4846:53:456;;;;;;-1:-1:-1;;;;;4846:53:456;;;;;;;;;;;;;;;;4910:37;;;-1:-1:-1;;;4910:37:456;;4924:4;4910:37;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;245:64:436;4910:13:456;;:37;;;;;269::436;;4910::456;;;;;;;269::436;245:64;4910:37:456;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4962:35;4979:1;4983:13;;;;;;;;;;;;;;-1:-1:-1;;;4983:13:456;;;:4;:13::i;:::-;4962:35;;;;-1:-1:-1;;;;;4962:35:456;;;;;;-1:-1:-1;;;;;4962:35:456;;;;;;;;;;;;;;;;5008:37;;;-1:-1:-1;;;5008:37:456;;5022:4;5008:37;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;245:64:436;5008:13:456;;:37;;;;;269::436;;5008::456;;;;;;;269::436;245:64;5008:37:456;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5060:37:456;;;5080:1;5060:37;;-1:-1:-1;;;;;5060:37:456;;;;;;;;;;-1:-1:-1;5060:37:456;;;;;;;;-1:-1:-1;5060:37:456;5108;;;-1:-1:-1;;;5108:37:456;;5122:4;5108:37;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;245:64:436;5108:13:456;;:37;;;;;269::436;;5108::456;;;;;;;269::436;245:64;5108:37:456;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5318:12;-1:-1:-1;;;;;5160:248:456;5233:13;;;;;;;;;;;;;;-1:-1:-1;;;5233:13:456;;;:4;:13::i;:::-;-1:-1:-1;;;;;5160:248:456;5192:27;;;;;;;;;;;;;;-1:-1:-1;;;5192:27:456;;;:4;:27::i;:::-;5289:10;;-1:-1:-1;;;;;5160:248:456;;;;;;5260:44;;5289:10;;5260:20;:44::i;:::-;5344:28;;;;;;;;;;;;;;-1:-1:-1;;;5344:28:456;;;:4;:28::i;:::-;5160:248;;;-1:-1:-1;;;;;5160:248:456;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5160:248:456;;;;;;;;;;;;;;5428:27;;;;;;;;;;;;-1:-1:-1;;;5428:27:456;;;;-1:-1:-1;;;;;;;;;;;245:64:436;5419:8:456;;5428:27;;:4;:27::i;:::-;5419:37;;;;;;;;;;;;;-1:-1:-1;;;;;5419:37:456;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5482:10:456;;5549:13;;;;;;;;;;;;-1:-1:-1;;;5549:13:456;;;;5466;;-1:-1:-1;;;;;;5482:10:456;;;;-1:-1:-1;5482:27:456;;5523:12;;5549:13;;:4;:13::i;:::-;5576:28;;;;;;;;;;;;;;-1:-1:-1;;;5576:28:456;;;:4;:28::i;:::-;5482:158;;;-1:-1:-1;;;;;;5482:158:456;;;;;;;-1:-1:-1;;;;;5482:158:456;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5482:158:456;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5482:158:456;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5482:158:456;5660:27;;;;;;;;;;;;-1:-1:-1;;;5482:158:456;5660:27;;;5482:158;;-1:-1:-1;5651:85:456;;5660:27;;:4;:27::i;:::-;5689:10;;:46;;;-1:-1:-1;;;5689:46:456;;-1:-1:-1;;;;;5689:46:456;;;;;;;;;:10;;;;;:39;;:46;;;;;;;;;;;;;;:10;:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5689:46:456;5651:8;:85::i;:::-;5746:63;5763:10;;;;;;;;;-1:-1:-1;;;;;5763:10:456;5789:5;-1:-1:-1;;;;;5776:30:456;;:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5746:63;5819:73;5828:28;;;;;;;;;;;;;;-1:-1:-1;;;5828:28:456;;;:4;:28::i;:::-;5871:5;-1:-1:-1;;;;;5858:31:456;;:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5819:73;5902:55;5911:13;;;;;;;;;;;;;;-1:-1:-1;;;5911:13:456;;;:4;:13::i;:::-;5939:5;-1:-1:-1;;;;;5926:28:456;;:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5902:55;5967;5984:1;6001:5;-1:-1:-1;;;;;5988:31:456;;:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5967:55;6032:50;;;;;;;;;;;;;;-1:-1:-1;;;6032:50:456;;;6068:5;-1:-1:-1;;;;;6055:24:456;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6055:26:456;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6055:26:456;;;;;;;;;;-1:-1:-1;6055:26:456;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6032:8;:50::i;:::-;6092:42;;;;;;;;;;;;;6118:5;-1:-1:-1;;;;;6105:26:456;;:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6092:42;6144:53;6161:2;6179:5;-1:-1:-1;;;;;6166:28:456;;:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6166:30:456;6144:53;;:8;:53::i;165:28:436:-;;;;;;;;;:::o;1572:26:435:-;;;;;;:::o;823:78:456:-;878:16;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;865:10:456;:29;;-1:-1:-1;;;;;;865:29:456;-1:-1:-1;;;;;865:29:456;;;;;;;;;;823:78::o;2840:242:435:-;-1:-1:-1;;;;;;;;;;;2978:55:435;3059:16;;2840:242;:::o;593:1878:436:-;679:7;979:13;975:141;;1046:68;;;-1:-1:-1;;;1046:68:436;;;;;;;;-1:-1:-1;;;1046:68:436;;;;-1:-1:-1;;;;;;1046:68:436;;;;;;;;;-1:-1:-1;;;1046:68:436;;;;;;;;;;;;;;;;;;;;1036:79;;;;;1013:103;;:22;:103::i;:::-;1006:110;;;;975:141;1139:4;1130:5;:13;1126:141;;1197:68;;;-1:-1:-1;;;1197:68:436;;;;;;;;-1:-1:-1;;;1197:68:436;;;;-1:-1:-1;;;;;;1197:68:436;;;;;;;;;1214:12;1197:68;;;-1:-1:-1;;;;;;1197:68:436;;;;;;;;;;;;;;;;;;;;;1187:79;;;;;1164:103;;:22;:103::i;1126:141::-;1429:8;1420:5;:17;1416:148;;1480:82;;;-1:-1:-1;;;1480:82:436;;;;;;;;-1:-1:-1;;;1480:82:436;;;;-1:-1:-1;;;;;;1480:82:436;;;;;;;;;-1:-1:-1;;;1480:82:436;;;;1497:12;1480:82;;;-1:-1:-1;;;;;;1480:82:436;;;;;;;;;;;;;;;;;;;;;1470:93;;;;;1447:117;;:22;:117::i;1416:148::-;1587:9;1578:5;:18;1574:149;;1638:83;;;-1:-1:-1;;;1638:83:436;;;;;;;;-1:-1:-1;;;1638:83:436;;;;-1:-1:-1;;;;;;1638:83:436;;;;;;;;;-1:-1:-1;;;1638:83:436;;;;-1:-1:-1;;;;;;1638:83:436;;;;;;;;;;;;;;;;;;;;;;;;;1628:94;;;;;1605:118;;:22;:118::i;1574:149::-;1746:9;1737:5;:18;1733:149;;1797:83;;;-1:-1:-1;;;1797:83:436;;;;;;;;-1:-1:-1;;;1797:83:436;;;;-1:-1:-1;;;;;;1797:83:436;;;;;;;;;-1:-1:-1;;;1797:83:436;;;;-1:-1:-1;;;;;;1797:83:436;;;;;;;;;;;;;;;;;;;;;;;;;1787:94;;;;;1764:118;;:22;:118::i;1733:149::-;2379:83;;;-1:-1:-1;;;2379:83:436;;;;;;;;-1:-1:-1;;;2379:83:436;;;;-1:-1:-1;;;;;;2379:83:436;;;;;;;;;-1:-1:-1;;;2379:83:436;;;;-1:-1:-1;;;;;;2379:83:436;;;;;;;;;;;;;;;;;;;;;;;;;2369:94;;;;;2346:118;;:22;:118::i;:::-;2339:125;;593:1878;;;;;:::o;3615:277:435:-;3683:1;-1:-1:-1;;;;;3678:6:435;:1;-1:-1:-1;;;;;3678:6:435;;3674:212;;3705:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3768:34;;;-1:-1:-1;;;;;3768:34:435;;;;;;;;;;;;;;-1:-1:-1;;;3768:34:435;;;;;;;;;;;;;;;3821;;;-1:-1:-1;;;;;3821:34:435;;;;;;;;;;;;;;-1:-1:-1;;;3821:34:435;;;;;;;;;;;;;;;3869:6;:4;:6::i;14688:344::-;14824:1;14807:19;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;14807:19:435;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14797:30;;;;;;14790:1;14773:19;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;14773:19:435;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14763:30;;;;;;:64;14759:267;;14848:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14910:33;14941:1;14910:33;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;14910:33:435;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14962;14993:1;14962:33;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;14962:33:435;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15009:6;:4;:6::i;5202:262::-;5264:1;5259;:6;5255:203;;5286:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5346:31;;;;;;;;;;;;;;;;;-1:-1:-1;;;5346:31:435;;;;;;;;;;;;;;;5396;;;;;;;;;;;;;;;;;-1:-1:-1;;;5396:31:435;;;;;;;;;;;;;;;5441:6;2410:424;2449:16;:14;:16::i;:::-;2445:359;;;2645:67;;;-1:-1:-1;;;;;;;;;;;2645:67:435;;;;;;;-1:-1:-1;;;2645:67:435;;;;2705:4;1679:55;2645:67;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2534:196:435;;;;;;;;2482:11;;1671:64;;2579:43;;2645:67;2534:196;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2534:196:435;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2499:245;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2499:245:435;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;2445:359:435;2813:7;:14;;-1:-1:-1;;2813:14:435;;;;;2410:424::o;-1:-1:-1:-;;;;;;;;:::o;:::-;;;;;;;;:::o", "linkReferences": {} }, "methodIdentifiers": { "IS_SCRIPT()": "f8ccbf47", "IS_TEST()": "fa7626d4", "addr(string)": "511b1df9", "failed()": "ba414fa6", "setUp()": "0a9254e4", "testDoesNotAllowBadVaultLib()": "71bcacd3", "testDoesNotAllowNonContractVaultAccessor()": "12bfb5fb", "testHappyPath()": "cd8591bb", "vm()": "3a768463" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"prevAccessor\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"nextAccessor\",\"type\":\"address\"}],\"name\":\"AccessorSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"prevOwner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"nextOwner\",\"type\":\"address\"}],\"name\":\"OwnerSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"prevVaultLib\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"nextVaultLib\",\"type\":\"address\"}],\"name\":\"VaultLibSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"fundDeployer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"vaultProxy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"vaultLib\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"vaultAccessor\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"fundName\",\"type\":\"string\"}],\"name\":\"VaultProxyDeployed\",\"type\":\"event\"},{\"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_SCRIPT\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"}],\"name\":\"addr\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"setUp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testDoesNotAllowBadVaultLib\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testDoesNotAllowNonContractVaultAccessor\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testHappyPath\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"vm\",\"outputs\":[{\"internalType\":\"contract Vm\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"tests/persistent/Dispatcher.t.sol\":\"DeployVaultProxyTest\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/mocks/MockVaultLib.sol\":{\"keccak256\":\"0x14d298c9cd4411cc6260fe50b93a1da572c5ddee7bfca377dd35403741c4e3b6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://e51c048dc4e2c9117fff0ecd4ab94d09701b9cd89247db8608c1a491c7374635\",\"dweb:/ipfs/QmYkH9dXQp1EEMfrcGPUTc3ey4o2UtvG91vDxjgQzwUuHE\"]},\"contracts/persistent/dispatcher/Dispatcher.sol\":{\"keccak256\":\"0x0590285e72005e40573fcc93e95aa75a5963bdcf5b02a627c73d8bc982f9d850\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://e9f2190a9ba01ec1f03b5159387c3864b9700337f3d7b07ec0758bbde52d32e2\",\"dweb:/ipfs/QmX5gevftdWC5xzSVcmVn14aFhKgweCXAhndZ8ZECN92fj\"]},\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/dispatcher/IMigrationHookHandler.sol\":{\"keccak256\":\"0x4cec61ef58c1d2e7693ee954c3582b1a04ff836a569e216edb7526c7e56a5632\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://0acae6d91e3e20e6ebd46cbeff926967a2d64f3d8eb2e3cdff20366917a77879\",\"dweb:/ipfs/Qmd44oJngTNRnwXdDwtNd9o4UvTgxAmBGikz3QMPKf4NWy\"]},\"contracts/persistent/vault/VaultLibBaseCore.sol\":{\"keccak256\":\"0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd\",\"dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz\"]},\"contracts/persistent/vault/VaultProxy.sol\":{\"keccak256\":\"0x08ff12cb7955ab80cf35f98a5abae23a92f655916669986d1580cb394f6b6bb3\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://320fcccd67d3390d6762bdef41f7d5e679e61b3244b1d945fc33402ea684bc3a\",\"dweb:/ipfs/Qmaaxqgm4EzF1r4n52pkjs7bA5quKhVwrh356rTFXDj86L\"]},\"contracts/persistent/vault/interfaces/IMigratableVault.sol\":{\"keccak256\":\"0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6\",\"dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs\"]},\"contracts/persistent/vault/utils/ProxiableVaultLib.sol\":{\"keccak256\":\"0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44\",\"dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4\"]},\"contracts/persistent/vault/utils/SharesTokenBase.sol\":{\"keccak256\":\"0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8\",\"dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4\"]},\"contracts/persistent/vault/utils/VaultLibSafeMath.sol\":{\"keccak256\":\"0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02\",\"dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG\"]},\"lib/forge-std/lib/ds-test/src/test.sol\":{\"keccak256\":\"0xb39cd1d5220cb474947b131e15a4538334b7e886af244b440ae5c9c6bba96a54\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://3101520221449ac0070bda3881311a71d9aa87e5210765e875246922cb5cb5f5\",\"dweb:/ipfs/Qmbg6kAHNoG7ox9N9Xqd9Ere2H2XixMFWFqvyPwFCzB3Gr\"]},\"lib/forge-std/src/Script.sol\":{\"keccak256\":\"0x4424dbcb8f5b741475445726f87408fcd89951fad973bec2ca442ee157f910e7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5b0b9f6dfb69245d8f888558ae82bf1d2cdeace46201444fe4b2e6a5283f944a\",\"dweb:/ipfs/QmWFSKeFEZngNcwNn7A84EF7pASo5qe6r5oK24r9Kwca7Z\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0xa85dee62f7a3d7d3b26051f28d08bbfaa6d76888b8e64395583c35f11070372b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f3ecace3d6120731c4520f651c36658940df958755a2c86d6bf0ec895320a915\",\"dweb:/ipfs/QmVGbUYLtMsAYF3C27qHKs3VHRuRNDypuDfs4XGK47kqUT\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x63fc2487cf3a6650d933e18bcb61766f15f74c327192381806ea00f8f6446f66\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aad99f7b2ed3b11ff6c17b84b4196c562898640a80cabc2c28c87c116099a00f\",\"dweb:/ipfs/QmQNNbxHabRycegyXwJWBDutrdcScAP2SU5zEvorWEaFpx\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0xbeb823fcdb356244a83aaccdf828ad019ecc1ffaa3dff18e624fc6d5714ea671\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4cbe9400340e5f9ec55e2aff3bad1c15fa3afbbe37e80800e6f3fed2ad26854f\",\"dweb:/ipfs/QmdJBABsuXkvWxVzEyGXsTE3vyfBPXDdw5xvvtUz3JeoYW\"]},\"tests/persistent/Dispatcher.t.sol\":{\"keccak256\":\"0x9f19e0376c4d2fa61f4c50089a46d54b7a1d464b31413aeb4147da02b44cd298\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://e9f733c425d149594c2044229dd51e543d330cfb11b7825dfd59631a3aabd71d\",\"dweb:/ipfs/QmY3c9daKiMH2W9qbq94TekosaySFV44ZUXsGuBfigo832\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "prevAccessor", "type": "address", "indexed": false }, { "internalType": "address", "name": "nextAccessor", "type": "address", "indexed": false } ], "type": "event", "name": "AccessorSet", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "prevOwner", "type": "address", "indexed": false }, { "internalType": "address", "name": "nextOwner", "type": "address", "indexed": false } ], "type": "event", "name": "OwnerSet", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "prevVaultLib", "type": "address", "indexed": false }, { "internalType": "address", "name": "nextVaultLib", "type": "address", "indexed": false } ], "type": "event", "name": "VaultLibSet", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "fundDeployer", "type": "address", "indexed": true }, { "internalType": "address", "name": "owner", "type": "address", "indexed": true }, { "internalType": "address", "name": "vaultProxy", "type": "address", "indexed": false }, { "internalType": "address", "name": "vaultLib", "type": "address", "indexed": true }, { "internalType": "address", "name": "vaultAccessor", "type": "address", "indexed": false }, { "internalType": "string", "name": "fundName", "type": "string", "indexed": false } ], "type": "event", "name": "VaultProxyDeployed", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "", "type": "string", "indexed": false } ], "type": "event", "name": "log", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "", "type": "address", "indexed": false } ], "type": "event", "name": "log_address", "anonymous": false }, { "inputs": [ { "internalType": "uint256[]", "name": "val", "type": "uint256[]", "indexed": false } ], "type": "event", "name": "log_array", "anonymous": false }, { "inputs": [ { "internalType": "int256[]", "name": "val", "type": "int256[]", "indexed": false } ], "type": "event", "name": "log_array", "anonymous": false }, { "inputs": [ { "internalType": "address[]", "name": "val", "type": "address[]", "indexed": false } ], "type": "event", "name": "log_array", "anonymous": false }, { "inputs": [ { "internalType": "bytes", "name": "", "type": "bytes", "indexed": false } ], "type": "event", "name": "log_bytes", "anonymous": false }, { "inputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32", "indexed": false } ], "type": "event", "name": "log_bytes32", "anonymous": false }, { "inputs": [ { "internalType": "int256", "name": "", "type": "int256", "indexed": false } ], "type": "event", "name": "log_int", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "key", "type": "string", "indexed": false }, { "internalType": "address", "name": "val", "type": "address", "indexed": false } ], "type": "event", "name": "log_named_address", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "key", "type": "string", "indexed": false }, { "internalType": "uint256[]", "name": "val", "type": "uint256[]", "indexed": false } ], "type": "event", "name": "log_named_array", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "key", "type": "string", "indexed": false }, { "internalType": "int256[]", "name": "val", "type": "int256[]", "indexed": false } ], "type": "event", "name": "log_named_array", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "key", "type": "string", "indexed": false }, { "internalType": "address[]", "name": "val", "type": "address[]", "indexed": false } ], "type": "event", "name": "log_named_array", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "key", "type": "string", "indexed": false }, { "internalType": "bytes", "name": "val", "type": "bytes", "indexed": false } ], "type": "event", "name": "log_named_bytes", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "key", "type": "string", "indexed": false }, { "internalType": "bytes32", "name": "val", "type": "bytes32", "indexed": false } ], "type": "event", "name": "log_named_bytes32", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "key", "type": "string", "indexed": false }, { "internalType": "int256", "name": "val", "type": "int256", "indexed": false }, { "internalType": "uint256", "name": "decimals", "type": "uint256", "indexed": false } ], "type": "event", "name": "log_named_decimal_int", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "key", "type": "string", "indexed": false }, { "internalType": "uint256", "name": "val", "type": "uint256", "indexed": false }, { "internalType": "uint256", "name": "decimals", "type": "uint256", "indexed": false } ], "type": "event", "name": "log_named_decimal_uint", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "key", "type": "string", "indexed": false }, { "internalType": "int256", "name": "val", "type": "int256", "indexed": false } ], "type": "event", "name": "log_named_int", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "key", "type": "string", "indexed": false }, { "internalType": "string", "name": "val", "type": "string", "indexed": false } ], "type": "event", "name": "log_named_string", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "key", "type": "string", "indexed": false }, { "internalType": "uint256", "name": "val", "type": "uint256", "indexed": false } ], "type": "event", "name": "log_named_uint", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "", "type": "string", "indexed": false } ], "type": "event", "name": "log_string", "anonymous": false }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256", "indexed": false } ], "type": "event", "name": "log_uint", "anonymous": false }, { "inputs": [ { "internalType": "bytes", "name": "", "type": "bytes", "indexed": false } ], "type": "event", "name": "logs", "anonymous": false }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "IS_SCRIPT", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "IS_TEST", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [ { "internalType": "string", "name": "_name", "type": "string" } ], "stateMutability": "pure", "type": "function", "name": "addr", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ] }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "failed", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "setUp" }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "testDoesNotAllowBadVaultLib" }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "testDoesNotAllowNonContractVaultAccessor" }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "testHappyPath" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "vm", "outputs": [ { "internalType": "contract Vm", "name": "", "type": "address" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "tests/persistent/Dispatcher.t.sol": "DeployVaultProxyTest" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/mocks/MockVaultLib.sol": { "keccak256": "0x14d298c9cd4411cc6260fe50b93a1da572c5ddee7bfca377dd35403741c4e3b6", "urls": [ "bzz-raw://e51c048dc4e2c9117fff0ecd4ab94d09701b9cd89247db8608c1a491c7374635", "dweb:/ipfs/QmYkH9dXQp1EEMfrcGPUTc3ey4o2UtvG91vDxjgQzwUuHE" ], "license": "GPL-3.0" }, "contracts/persistent/dispatcher/Dispatcher.sol": { "keccak256": "0x0590285e72005e40573fcc93e95aa75a5963bdcf5b02a627c73d8bc982f9d850", "urls": [ "bzz-raw://e9f2190a9ba01ec1f03b5159387c3864b9700337f3d7b07ec0758bbde52d32e2", "dweb:/ipfs/QmX5gevftdWC5xzSVcmVn14aFhKgweCXAhndZ8ZECN92fj" ], "license": "GPL-3.0" }, "contracts/persistent/dispatcher/IDispatcher.sol": { "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", "urls": [ "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" ], "license": "GPL-3.0" }, "contracts/persistent/dispatcher/IMigrationHookHandler.sol": { "keccak256": "0x4cec61ef58c1d2e7693ee954c3582b1a04ff836a569e216edb7526c7e56a5632", "urls": [ "bzz-raw://0acae6d91e3e20e6ebd46cbeff926967a2d64f3d8eb2e3cdff20366917a77879", "dweb:/ipfs/Qmd44oJngTNRnwXdDwtNd9o4UvTgxAmBGikz3QMPKf4NWy" ], "license": "GPL-3.0" }, "contracts/persistent/vault/VaultLibBaseCore.sol": { "keccak256": "0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074", "urls": [ "bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd", "dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz" ], "license": "GPL-3.0" }, "contracts/persistent/vault/VaultProxy.sol": { "keccak256": "0x08ff12cb7955ab80cf35f98a5abae23a92f655916669986d1580cb394f6b6bb3", "urls": [ "bzz-raw://320fcccd67d3390d6762bdef41f7d5e679e61b3244b1d945fc33402ea684bc3a", "dweb:/ipfs/Qmaaxqgm4EzF1r4n52pkjs7bA5quKhVwrh356rTFXDj86L" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IMigratableVault.sol": { "keccak256": "0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238", "urls": [ "bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6", "dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs" ], "license": "GPL-3.0" }, "contracts/persistent/vault/utils/ProxiableVaultLib.sol": { "keccak256": "0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76", "urls": [ "bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44", "dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4" ], "license": "GPL-3.0" }, "contracts/persistent/vault/utils/SharesTokenBase.sol": { "keccak256": "0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113", "urls": [ "bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8", "dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4" ], "license": "GPL-3.0" }, "contracts/persistent/vault/utils/VaultLibSafeMath.sol": { "keccak256": "0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d", "urls": [ "bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02", "dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG" ], "license": "GPL-3.0" }, "lib/forge-std/lib/ds-test/src/test.sol": { "keccak256": "0xb39cd1d5220cb474947b131e15a4538334b7e886af244b440ae5c9c6bba96a54", "urls": [ "bzz-raw://3101520221449ac0070bda3881311a71d9aa87e5210765e875246922cb5cb5f5", "dweb:/ipfs/Qmbg6kAHNoG7ox9N9Xqd9Ere2H2XixMFWFqvyPwFCzB3Gr" ], "license": "GPL-3.0-or-later" }, "lib/forge-std/src/Script.sol": { "keccak256": "0x4424dbcb8f5b741475445726f87408fcd89951fad973bec2ca442ee157f910e7", "urls": [ "bzz-raw://5b0b9f6dfb69245d8f888558ae82bf1d2cdeace46201444fe4b2e6a5283f944a", "dweb:/ipfs/QmWFSKeFEZngNcwNn7A84EF7pASo5qe6r5oK24r9Kwca7Z" ], "license": "MIT" }, "lib/forge-std/src/Test.sol": { "keccak256": "0xa85dee62f7a3d7d3b26051f28d08bbfaa6d76888b8e64395583c35f11070372b", "urls": [ "bzz-raw://f3ecace3d6120731c4520f651c36658940df958755a2c86d6bf0ec895320a915", "dweb:/ipfs/QmVGbUYLtMsAYF3C27qHKs3VHRuRNDypuDfs4XGK47kqUT" ], "license": "MIT" }, "lib/forge-std/src/Vm.sol": { "keccak256": "0x63fc2487cf3a6650d933e18bcb61766f15f74c327192381806ea00f8f6446f66", "urls": [ "bzz-raw://aad99f7b2ed3b11ff6c17b84b4196c562898640a80cabc2c28c87c116099a00f", "dweb:/ipfs/QmQNNbxHabRycegyXwJWBDutrdcScAP2SU5zEvorWEaFpx" ], "license": "MIT" }, "lib/forge-std/src/console.sol": { "keccak256": "0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba", "urls": [ "bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70", "dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec" ], "license": "MIT" }, "lib/forge-std/src/console2.sol": { "keccak256": "0xbeb823fcdb356244a83aaccdf828ad019ecc1ffaa3dff18e624fc6d5714ea671", "urls": [ "bzz-raw://4cbe9400340e5f9ec55e2aff3bad1c15fa3afbbe37e80800e6f3fed2ad26854f", "dweb:/ipfs/QmdJBABsuXkvWxVzEyGXsTE3vyfBPXDdw5xvvtUz3JeoYW" ], "license": "MIT" }, "tests/persistent/Dispatcher.t.sol": { "keccak256": "0x9f19e0376c4d2fa61f4c50089a46d54b7a1d464b31413aeb4147da02b44cd298", "urls": [ "bzz-raw://e9f733c425d149594c2044229dd51e543d330cfb11b7825dfd59631a3aabd71d", "dweb:/ipfs/QmY3c9daKiMH2W9qbq94TekosaySFV44ZUXsGuBfigo832" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 456 } diff --git a/eth_defi/abi/enzyme/DepositWrapper.json b/eth_defi/abi/enzyme/DepositWrapper.json index 5db0c34f..e1d0c30d 100644 --- a/eth_defi/abi/enzyme/DepositWrapper.json +++ b/eth_defi/abi/enzyme/DepositWrapper.json @@ -1,511 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_weth", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_minSharesQuantity", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_exchange", - "type": "address" - }, - { - "internalType": "address", - "name": "_exchangeApproveTarget", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_exchangeData", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "_minInvestmentAmount", - "type": "uint256" - } - ], - "name": "exchangeEthAndBuyShares", - "outputs": [ - { - "internalType": "uint256", - "name": "sharesReceived_", - "type": "uint256" - } - ], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [], - "name": "getWethToken", - "outputs": [ - { - "internalType": "address", - "name": "wethToken_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "stateMutability": "payable", - "type": "receive" - } - ], - "bytecode": { - "object": "0x60a060405234801561001057600080fd5b50604051610c73380380610c738339818101604052602081101561003357600080fd5b5051606081901b6001600160601b0319166080526001600160a01b0316610c0c610067600039806101145250610c0c6000f3fe60806040526004361061002d5760003560e01c80634c252f91146100395780639a98f01b1461006a57610034565b3661003457005b600080fd5b34801561004557600080fd5b5061004e610112565b604080516001600160a01b039092168252519081900360200190f35b610100600480360360c081101561008057600080fd5b6001600160a01b0382358116926020810135926040820135831692606083013516919081019060a0810160808201356401000000008111156100c157600080fd5b8201836020820111156100d357600080fd5b803590602001918460018302840111640100000000831117156100f557600080fd5b919350915035610136565b60408051918252519081900360200190f35b7f000000000000000000000000000000000000000000000000000000000000000090565b600080886001600160a01b031663e269c3d66040518163ffffffff1660e01b815260040160206040518083038186803b15801561017257600080fd5b505afa158015610186573d6000803e3d6000fd5b505050506040513d602081101561019c57600080fd5b505190506101a8610112565b6001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b1580156101e257600080fd5b505af11580156101f6573d6000803e3d6000fd5b5050505050610203610112565b6001600160a01b0316816001600160a01b031614156102425761022e610227610112565b8a34610620565b61023a8933348b6106de565b915050610615565b60008585602081101561025457600080fd5b50356001600160e01b03191690506321dff62560e21b8114156102a85760405162461bcd60e51b815260040180806020018281038252602c815260200180610b74602c913960400191505060405180910390fd5b6102ba6102b3610112565b8834610620565b60006060896001600160a01b03168888604051808383808284376040519201945060009350909150508083038183865af19150503d806000811461031a576040519150601f19603f3d011682016040523d82523d6000602084013e61031f565b606091505b50915091508181906103af5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561037457818101518382015260200161035c565b50505050905090810190601f1680156103a15780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000846001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156103ff57600080fd5b505afa158015610413573d6000803e3d6000fd5b505050506040513d602081101561042957600080fd5b505190508681101561046c5760405162461bcd60e51b8152600401808060200182810382526035815260200180610b196035913960400191505060405180910390fd5b610477858e83610620565b6104838d33838f6106de565b9550600061048f610112565b6001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156104db57600080fd5b505afa1580156104ef573d6000803e3d6000fd5b505050506040513d602081101561050557600080fd5b50519050801561060e57610517610112565b6001600160a01b0316632e1a7d4d826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561055c57600080fd5b505af1158015610570573d6000803e3d6000fd5b5050604051339250839150600081818185875af1925050503d80600081146105b4576040519150601f19603f3d011682016040523d82523d6000602084013e6105b9565b606091505b509094509250828461060c5760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561037457818101518382015260200161035c565b505b5050505050505b979650505050505050565b60408051636eb1769f60e11b81523060048201526001600160a01b038481166024830152915160009286169163dd62ed3e916044808301926020929190829003018186803b15801561067157600080fd5b505afa158015610685573d6000803e3d6000fd5b505050506040513d602081101561069b57600080fd5b50519050818110156106d85780156106c2576106c26001600160a01b038516846000610779565b6106d86001600160a01b03851684600019610779565b50505050565b600080859050806001600160a01b031663877fd8948686866040518463ffffffff1660e01b815260040180846001600160a01b031681526020018381526020018281526020019350505050602060405180830381600087803b15801561074357600080fd5b505af1158015610757573d6000803e3d6000fd5b505050506040513d602081101561076d57600080fd5b50519695505050505050565b8015806107ff575060408051636eb1769f60e11b81523060048201526001600160a01b03848116602483015291519185169163dd62ed3e91604480820192602092909190829003018186803b1580156107d157600080fd5b505afa1580156107e5573d6000803e3d6000fd5b505050506040513d60208110156107fb57600080fd5b5051155b61083a5760405162461bcd60e51b8152600401808060200182810382526036815260200180610bca6036913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b17905261088c908490610891565b505050565b60606108e6826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166109429092919063ffffffff16565b80519091501561088c5780806020019051602081101561090557600080fd5b505161088c5760405162461bcd60e51b815260040180806020018281038252602a815260200180610ba0602a913960400191505060405180910390fd5b6060610951848460008561095b565b90505b9392505050565b60608247101561099c5760405162461bcd60e51b8152600401808060200182810382526026815260200180610b4e6026913960400191505060405180910390fd5b6109a585610aac565b6109f6576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b60208310610a355780518252601f199092019160209182019101610a16565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114610a97576040519150601f19603f3d011682016040523d82523d6000602084013e610a9c565b606091505b5091509150610615828286610ab2565b3b151590565b60608315610ac1575081610954565b825115610ad15782518084602001fd5b60405162461bcd60e51b815260206004820181815284516024840152845185939192839260440191908501908083836000831561037457818101518382015260200161035c56fe65786368616e6765457468416e644275795368617265733a205f6d696e496e766573746d656e74416d6f756e74206e6f74206d6574416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c65786368616e6765457468416e644275795368617265733a20446973616c6c6f7765642073656c6563746f725361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e6365a164736f6c634300060c000a", - "sourceMap": "547:4896:349:-:0;;;708:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;708:69:349;752:18;;;;-1:-1:-1;;;;;;752:18:349;;;-1:-1:-1;;;;;547:4896:349;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x60806040526004361061002d5760003560e01c80634c252f91146100395780639a98f01b1461006a57610034565b3661003457005b600080fd5b34801561004557600080fd5b5061004e610112565b604080516001600160a01b039092168252519081900360200190f35b610100600480360360c081101561008057600080fd5b6001600160a01b0382358116926020810135926040820135831692606083013516919081019060a0810160808201356401000000008111156100c157600080fd5b8201836020820111156100d357600080fd5b803590602001918460018302840111640100000000831117156100f557600080fd5b919350915035610136565b60408051918252519081900360200190f35b7f000000000000000000000000000000000000000000000000000000000000000090565b600080886001600160a01b031663e269c3d66040518163ffffffff1660e01b815260040160206040518083038186803b15801561017257600080fd5b505afa158015610186573d6000803e3d6000fd5b505050506040513d602081101561019c57600080fd5b505190506101a8610112565b6001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b1580156101e257600080fd5b505af11580156101f6573d6000803e3d6000fd5b5050505050610203610112565b6001600160a01b0316816001600160a01b031614156102425761022e610227610112565b8a34610620565b61023a8933348b6106de565b915050610615565b60008585602081101561025457600080fd5b50356001600160e01b03191690506321dff62560e21b8114156102a85760405162461bcd60e51b815260040180806020018281038252602c815260200180610b74602c913960400191505060405180910390fd5b6102ba6102b3610112565b8834610620565b60006060896001600160a01b03168888604051808383808284376040519201945060009350909150508083038183865af19150503d806000811461031a576040519150601f19603f3d011682016040523d82523d6000602084013e61031f565b606091505b50915091508181906103af5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561037457818101518382015260200161035c565b50505050905090810190601f1680156103a15780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000846001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156103ff57600080fd5b505afa158015610413573d6000803e3d6000fd5b505050506040513d602081101561042957600080fd5b505190508681101561046c5760405162461bcd60e51b8152600401808060200182810382526035815260200180610b196035913960400191505060405180910390fd5b610477858e83610620565b6104838d33838f6106de565b9550600061048f610112565b6001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156104db57600080fd5b505afa1580156104ef573d6000803e3d6000fd5b505050506040513d602081101561050557600080fd5b50519050801561060e57610517610112565b6001600160a01b0316632e1a7d4d826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561055c57600080fd5b505af1158015610570573d6000803e3d6000fd5b5050604051339250839150600081818185875af1925050503d80600081146105b4576040519150601f19603f3d011682016040523d82523d6000602084013e6105b9565b606091505b509094509250828461060c5760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561037457818101518382015260200161035c565b505b5050505050505b979650505050505050565b60408051636eb1769f60e11b81523060048201526001600160a01b038481166024830152915160009286169163dd62ed3e916044808301926020929190829003018186803b15801561067157600080fd5b505afa158015610685573d6000803e3d6000fd5b505050506040513d602081101561069b57600080fd5b50519050818110156106d85780156106c2576106c26001600160a01b038516846000610779565b6106d86001600160a01b03851684600019610779565b50505050565b600080859050806001600160a01b031663877fd8948686866040518463ffffffff1660e01b815260040180846001600160a01b031681526020018381526020018281526020019350505050602060405180830381600087803b15801561074357600080fd5b505af1158015610757573d6000803e3d6000fd5b505050506040513d602081101561076d57600080fd5b50519695505050505050565b8015806107ff575060408051636eb1769f60e11b81523060048201526001600160a01b03848116602483015291519185169163dd62ed3e91604480820192602092909190829003018186803b1580156107d157600080fd5b505afa1580156107e5573d6000803e3d6000fd5b505050506040513d60208110156107fb57600080fd5b5051155b61083a5760405162461bcd60e51b8152600401808060200182810382526036815260200180610bca6036913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b17905261088c908490610891565b505050565b60606108e6826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166109429092919063ffffffff16565b80519091501561088c5780806020019051602081101561090557600080fd5b505161088c5760405162461bcd60e51b815260040180806020018281038252602a815260200180610ba0602a913960400191505060405180910390fd5b6060610951848460008561095b565b90505b9392505050565b60608247101561099c5760405162461bcd60e51b8152600401808060200182810382526026815260200180610b4e6026913960400191505060405180910390fd5b6109a585610aac565b6109f6576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b60208310610a355780518252601f199092019160209182019101610a16565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114610a97576040519150601f19603f3d011682016040523d82523d6000602084013e610a9c565b606091505b5091509150610615828286610ab2565b3b151590565b60608315610ac1575081610954565b825115610ad15782518084602001fd5b60405162461bcd60e51b815260206004820181815284516024840152845185939192839260440191908501908083836000831561037457818101518382015260200161035c56fe65786368616e6765457468416e644275795368617265733a205f6d696e496e766573746d656e74416d6f756e74206e6f74206d6574416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c65786368616e6765457468416e644275795368617265733a20446973616c6c6f7765642073656c6563746f725361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e6365a164736f6c634300060c000a", - "sourceMap": "547:4896:349:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5342:99;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;5342:99:349;;;;;;;;;;;;;;2081:2519;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2081:2519:349;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2081:2519:349;-1:-1:-1;2081:2519:349;;:::i;:::-;;;;;;;;;;;;;;;;5342:99;5424:10;5342:99;:::o;2081:2519::-;2360:23;2395:25;2438:17;-1:-1:-1;;;;;2423:54:349;;:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2423:56:349;;-1:-1:-1;2534:14:349;:12;:14::i;:::-;-1:-1:-1;;;;;2520:38:349;;2566:9;2520:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2684:14;:12;:14::i;:::-;-1:-1:-1;;;;;2663:35:349;:17;-1:-1:-1;;;;;2663:35:349;;2659:232;;;2714:71;2740:14;:12;:14::i;:::-;2756:17;2775:9;2714:25;:71::i;:::-;2807:73;2819:17;2838:10;2850:9;2861:18;2807:11;:73::i;:::-;2800:80;;;;;2659:232;2980:23;3017:13;;3006:35;;;;;;;;;;-1:-1:-1;3006:35:349;-1:-1:-1;;;;;;3006:35:349;;-1:-1:-1;;;;3072:49:349;;;3051:140;;;;-1:-1:-1;;;3051:140:349;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3259:76;3285:14;:12;:14::i;:::-;3301:22;3325:9;3259:25;:76::i;:::-;3346:12;3360:23;3387:9;-1:-1:-1;;;;;3387:14:349;3402:13;;3387:29;;;;;;;;;;;;;;-1:-1:-1;3387:29:349;;-1:-1:-1;3387:29:349;;-1:-1:-1;;3387:29:349;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3345:71;;;;3434:7;3450:10;3426:36;;;;;-1:-1:-1;;;3426:36:349;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3563:24;3596:17;-1:-1:-1;;;;;3590:34:349;;3633:4;3590:49;;;;;;;;;;;;;-1:-1:-1;;;;;3590:49:349;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3590:49:349;;-1:-1:-1;3670:40:349;;;;3649:140;;;;-1:-1:-1;;;3649:140:349;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3891:81;3917:17;3936;3955:16;3891:25;:81::i;:::-;4028:138;4053:17;4084:10;4108:16;4138:18;4028:11;:138::i;:::-;4010:156;;4250:21;4280:14;:12;:14::i;:::-;-1:-1:-1;;;;;4274:31:349;;4314:4;4274:46;;;;;;;;;;;;;-1:-1:-1;;;;;4274:46:349;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4274:46:349;;-1:-1:-1;4334:17:349;;4330:231;;4381:14;:12;:14::i;:::-;-1:-1:-1;;;;;4367:39:349;;4407:13;4367:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4459:41:349;;:10;;-1:-1:-1;4482:13:349;;-1:-1:-1;4459:41:349;;;;4482:13;4459:10;:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4435:65:349;;-1:-1:-1;4435:65:349;-1:-1:-1;4435:65:349;;4514:36;;;;-1:-1:-1;;;4514:36:349;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4330:231;4571:22;;;;;;2081:2519;;;;;;;;;;:::o;2554:434:355:-;2714:47;;;-1:-1:-1;;;2714:47:355;;2746:4;2714:47;;;;-1:-1:-1;;;;;2714:47:355;;;;;;;;;2694:17;;2714:23;;;;;:47;;;;;;;;;;;;;;:23;:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2714:47:355;;-1:-1:-1;2775:25:355;;;2771:211;;;2820:13;;2816:89;;2853:37;-1:-1:-1;;;;;2853:25:355;;2879:7;2888:1;2853:25;:37::i;:::-;2918:53;-1:-1:-1;;;;;2918:25:355;;2944:7;-1:-1:-1;;2918:25:355;:53::i;:::-;2554:434;;;;:::o;4670:487:349:-;4844:23;4879:39;4936:17;4879:75;;4982:24;-1:-1:-1;;;;;4982:42:349;;5038:6;5058:17;5089:18;4982:135;;;;;;;;;;;;;-1:-1:-1;;;;;4982:135:349;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4982:135:349;;4670:487;-1:-1:-1;;;;;;4670:487:349:o;1348:613:450:-;1713:10;;;1712:62;;-1:-1:-1;1729:39:450;;;-1:-1:-1;;;1729:39:450;;1753:4;1729:39;;;;-1:-1:-1;;;;;1729:39:450;;;;;;;;;:15;;;;;;:39;;;;;;;;;;;;;;;:15;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1729:39:450;:44;1712:62;1704:150;;;;-1:-1:-1;;;1704:150:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1891:62;;;-1:-1:-1;;;;;1891:62:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1891:62:450;-1:-1:-1;;;1891:62:450;;;1864:90;;1884:5;;1864:19;:90::i;:::-;1348:613;;;:::o;2967:751::-;3386:23;3412:69;3440:4;3412:69;;;;;;;;;;;;;;;;;3420:5;-1:-1:-1;;;;;3412:27:450;;;:69;;;;;:::i;:::-;3495:17;;3386:95;;-1:-1:-1;3495:21:450;3491:221;;3635:10;3624:30;;;;;;;;;;;;;;;-1:-1:-1;3624:30:450;3616:85;;;;-1:-1:-1;;;3616:85:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3581:193:451;3684:12;3715:52;3737:6;3745:4;3751:1;3754:12;3715:21;:52::i;:::-;3708:59;;3581:193;;;;;;:::o;4608:523::-;4735:12;4792:5;4767:21;:30;;4759:81;;;;-1:-1:-1;;;4759:81:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4858:18;4869:6;4858:10;:18::i;:::-;4850:60;;;;;-1:-1:-1;;;4850:60:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;4981:12;4995:23;5022:6;-1:-1:-1;;;;;5022:11:451;5042:5;5050:4;5022:33;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5022:33:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4980:75;;;;5072:52;5090:7;5099:10;5111:12;5072:17;:52::i;726:413::-;1086:20;1124:8;;;726:413::o;7091:725::-;7206:12;7234:7;7230:580;;;-1:-1:-1;7264:10:451;7257:17;;7230:580;7375:17;;:21;7371:429;;7633:10;7627:17;7693:15;7680:10;7676:2;7672:19;7665:44;7582:145;7765:20;;-1:-1:-1;;;7765:20:451;;;;;;;;;;;;;;;;;7772:12;;7765:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;", - "linkReferences": {}, - "immutableReferences": { - "74378": [ - { - "start": 276, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "exchangeEthAndBuyShares(address,uint256,address,address,bytes,uint256)": "9a98f01b", - "getWethToken()": "4c252f91" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_weth\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_minSharesQuantity\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_exchange\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_exchangeApproveTarget\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_exchangeData\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"_minInvestmentAmount\",\"type\":\"uint256\"}],\"name\":\"exchangeEthAndBuyShares\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"sharesReceived_\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getWethToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"wethToken_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"exchangeEthAndBuyShares(address,uint256,address,address,bytes,uint256)\":{\"details\":\"Use a reasonable _minInvestmentAmount always, in case the exchange does not perform as expected (low incoming asset amount, blend of assets, etc). If the fund's denomination asset is WETH, _exchange, _exchangeApproveTarget, _exchangeData, and _minInvestmentAmount will be ignored.\",\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\",\"_exchange\":\"The exchange on which to execute the swap to the denomination asset\",\"_exchangeApproveTarget\":\"The address that should be given an allowance of WETH for the given _exchange\",\"_exchangeData\":\"The data with which to call the exchange to execute the swap to the denomination asset\",\"_minInvestmentAmount\":\"The minimum amount of the denomination asset to receive in the trade for investment (not necessary for WETH)\",\"_minSharesQuantity\":\"The minimum quantity of shares to buy with the sent ETH\"},\"returns\":{\"sharesReceived_\":\"The actual amount of shares received\"}},\"getWethToken()\":{\"returns\":{\"wethToken_\":\"The `WETH_TOKEN` variable value\"}}},\"title\":\"DepositWrapper Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"exchangeEthAndBuyShares(address,uint256,address,address,bytes,uint256)\":{\"notice\":\"Exchanges ETH into a fund's denomination asset and then buys shares\"},\"getWethToken()\":{\"notice\":\"Gets the `WETH_TOKEN` variable\"}},\"notice\":\"Logic related to wrapping deposit actions\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/peripheral/DepositWrapper.sol\":\"DepositWrapper\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/persistent/vault/interfaces/IExternalPositionVault.sol\":{\"keccak256\":\"0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d\",\"dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8\"]},\"contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol\":{\"keccak256\":\"0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb\",\"dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU\"]},\"contracts/persistent/vault/interfaces/IMigratableVault.sol\":{\"keccak256\":\"0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6\",\"dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs\"]},\"contracts/persistent/vault/interfaces/IVaultCore.sol\":{\"keccak256\":\"0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd\",\"dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr\"]},\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/core/fund/comptroller/ComptrollerLib.sol\":{\"keccak256\":\"0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579\",\"dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq\"]},\"contracts/release/core/fund/comptroller/IComptroller.sol\":{\"keccak256\":\"0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97\",\"dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L\"]},\"contracts/release/core/fund/vault/IVault.sol\":{\"keccak256\":\"0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599\",\"dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG\"]},\"contracts/release/extensions/IExtension.sol\":{\"keccak256\":\"0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70\",\"dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t\"]},\"contracts/release/extensions/fee-manager/IFeeManager.sol\":{\"keccak256\":\"0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22\",\"dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod\"]},\"contracts/release/extensions/policy-manager/IPolicyManager.sol\":{\"keccak256\":\"0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa\",\"dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb\"]},\"contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol\":{\"keccak256\":\"0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f\",\"dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol\":{\"keccak256\":\"0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0\",\"dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol\":{\"keccak256\":\"0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b\",\"dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3\"]},\"contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol\":{\"keccak256\":\"0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965\",\"dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ\"]},\"contracts/release/interfaces/IGsnForwarder.sol\":{\"keccak256\":\"0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29\",\"dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G\"]},\"contracts/release/interfaces/IGsnPaymaster.sol\":{\"keccak256\":\"0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4\",\"dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF\"]},\"contracts/release/interfaces/IGsnTypes.sol\":{\"keccak256\":\"0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7\",\"dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C\"]},\"contracts/release/interfaces/IWETH.sol\":{\"keccak256\":\"0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2\",\"dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ\"]},\"contracts/release/peripheral/DepositWrapper.sol\":{\"keccak256\":\"0xa2e028bddf96ae6088a806a0ef181f230cce954a5d0b02897e7004a103cd12eb\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d8aeca3347328cc12c8d4b77412fd28c7d2cfe0d16e5f2842dbcdbf8e146fd25\",\"dweb:/ipfs/QmVs6kj68zkKXrtraBowc3ZSpNtrBLTyHGML49gsTueNs7\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"contracts/release/utils/beacon-proxy/IBeacon.sol\":{\"keccak256\":\"0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39\",\"dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V\"]},\"contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol\":{\"keccak256\":\"0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be\",\"dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_weth", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_minSharesQuantity", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_exchange", - "type": "address" - }, - { - "internalType": "address", - "name": "_exchangeApproveTarget", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_exchangeData", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "_minInvestmentAmount", - "type": "uint256" - } - ], - "stateMutability": "payable", - "type": "function", - "name": "exchangeEthAndBuyShares", - "outputs": [ - { - "internalType": "uint256", - "name": "sharesReceived_", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getWethToken", - "outputs": [ - { - "internalType": "address", - "name": "wethToken_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "payable", - "type": "receive" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "exchangeEthAndBuyShares(address,uint256,address,address,bytes,uint256)": { - "details": "Use a reasonable _minInvestmentAmount always, in case the exchange does not perform as expected (low incoming asset amount, blend of assets, etc). If the fund's denomination asset is WETH, _exchange, _exchangeApproveTarget, _exchangeData, and _minInvestmentAmount will be ignored.", - "params": { - "_comptrollerProxy": "The ComptrollerProxy of the fund", - "_exchange": "The exchange on which to execute the swap to the denomination asset", - "_exchangeApproveTarget": "The address that should be given an allowance of WETH for the given _exchange", - "_exchangeData": "The data with which to call the exchange to execute the swap to the denomination asset", - "_minInvestmentAmount": "The minimum amount of the denomination asset to receive in the trade for investment (not necessary for WETH)", - "_minSharesQuantity": "The minimum quantity of shares to buy with the sent ETH" - }, - "returns": { - "sharesReceived_": "The actual amount of shares received" - } - }, - "getWethToken()": { - "returns": { - "wethToken_": "The `WETH_TOKEN` variable value" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "exchangeEthAndBuyShares(address,uint256,address,address,bytes,uint256)": { - "notice": "Exchanges ETH into a fund's denomination asset and then buys shares" - }, - "getWethToken()": { - "notice": "Gets the `WETH_TOKEN` variable" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/peripheral/DepositWrapper.sol": "DepositWrapper" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/dispatcher/IDispatcher.sol": { - "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", - "urls": [ - "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", - "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/external-positions/IExternalPosition.sol": { - "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", - "urls": [ - "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", - "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IExternalPositionVault.sol": { - "keccak256": "0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6", - "urls": [ - "bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d", - "dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol": { - "keccak256": "0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0", - "urls": [ - "bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb", - "dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IMigratableVault.sol": { - "keccak256": "0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238", - "urls": [ - "bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6", - "dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IVaultCore.sol": { - "keccak256": "0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80", - "urls": [ - "bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd", - "dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund-deployer/IFundDeployer.sol": { - "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", - "urls": [ - "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", - "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/comptroller/ComptrollerLib.sol": { - "keccak256": "0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64", - "urls": [ - "bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579", - "dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/comptroller/IComptroller.sol": { - "keccak256": "0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f", - "urls": [ - "bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97", - "dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/vault/IVault.sol": { - "keccak256": "0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd", - "urls": [ - "bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599", - "dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/IExtension.sol": { - "keccak256": "0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b", - "urls": [ - "bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70", - "dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/fee-manager/IFeeManager.sol": { - "keccak256": "0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51", - "urls": [ - "bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22", - "dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/policy-manager/IPolicyManager.sol": { - "keccak256": "0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32", - "urls": [ - "bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa", - "dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol": { - "keccak256": "0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609", - "urls": [ - "bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f", - "dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol": { - "keccak256": "0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01", - "urls": [ - "bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0", - "dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol": { - "keccak256": "0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196", - "urls": [ - "bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b", - "dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol": { - "keccak256": "0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794", - "urls": [ - "bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965", - "dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IGsnForwarder.sol": { - "keccak256": "0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030", - "urls": [ - "bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29", - "dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IGsnPaymaster.sol": { - "keccak256": "0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c", - "urls": [ - "bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4", - "dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IGsnTypes.sol": { - "keccak256": "0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714", - "urls": [ - "bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7", - "dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IWETH.sol": { - "keccak256": "0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2", - "urls": [ - "bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2", - "dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ" - ], - "license": "GPL-3.0" - }, - "contracts/release/peripheral/DepositWrapper.sol": { - "keccak256": "0xa2e028bddf96ae6088a806a0ef181f230cce954a5d0b02897e7004a103cd12eb", - "urls": [ - "bzz-raw://d8aeca3347328cc12c8d4b77412fd28c7d2cfe0d16e5f2842dbcdbf8e146fd25", - "dweb:/ipfs/QmVs6kj68zkKXrtraBowc3ZSpNtrBLTyHGML49gsTueNs7" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AddressArrayLib.sol": { - "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", - "urls": [ - "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", - "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AssetHelpers.sol": { - "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", - "urls": [ - "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", - "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/beacon-proxy/IBeacon.sol": { - "keccak256": "0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2", - "urls": [ - "bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39", - "dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol": { - "keccak256": "0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc", - "urls": [ - "bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be", - "dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { - "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", - "urls": [ - "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", - "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Address.sol": { - "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", - "urls": [ - "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", - "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 349 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_weth", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "receive", "stateMutability": "payable" }, { "type": "function", "name": "exchangeEthAndBuyShares", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" }, { "name": "_minSharesQuantity", "type": "uint256", "internalType": "uint256" }, { "name": "_exchange", "type": "address", "internalType": "address" }, { "name": "_exchangeApproveTarget", "type": "address", "internalType": "address" }, { "name": "_exchangeData", "type": "bytes", "internalType": "bytes" }, { "name": "_minInvestmentAmount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "sharesReceived_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "payable" }, { "type": "function", "name": "getWethToken", "inputs": [], "outputs": [ { "name": "wethToken_", "type": "address", "internalType": "address" } ], "stateMutability": "view" } ], "bytecode": { "object": "0x60a060405234801561001057600080fd5b50604051610c73380380610c738339818101604052602081101561003357600080fd5b5051606081901b6001600160601b0319166080526001600160a01b0316610c0c610067600039806101145250610c0c6000f3fe60806040526004361061002d5760003560e01c80634c252f91146100395780639a98f01b1461006a57610034565b3661003457005b600080fd5b34801561004557600080fd5b5061004e610112565b604080516001600160a01b039092168252519081900360200190f35b610100600480360360c081101561008057600080fd5b6001600160a01b0382358116926020810135926040820135831692606083013516919081019060a0810160808201356401000000008111156100c157600080fd5b8201836020820111156100d357600080fd5b803590602001918460018302840111640100000000831117156100f557600080fd5b919350915035610136565b60408051918252519081900360200190f35b7f000000000000000000000000000000000000000000000000000000000000000090565b600080886001600160a01b031663e269c3d66040518163ffffffff1660e01b815260040160206040518083038186803b15801561017257600080fd5b505afa158015610186573d6000803e3d6000fd5b505050506040513d602081101561019c57600080fd5b505190506101a8610112565b6001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b1580156101e257600080fd5b505af11580156101f6573d6000803e3d6000fd5b5050505050610203610112565b6001600160a01b0316816001600160a01b031614156102425761022e610227610112565b8a34610620565b61023a8933348b6106de565b915050610615565b60008585602081101561025457600080fd5b50356001600160e01b03191690506321dff62560e21b8114156102a85760405162461bcd60e51b815260040180806020018281038252602c815260200180610b74602c913960400191505060405180910390fd5b6102ba6102b3610112565b8834610620565b60006060896001600160a01b03168888604051808383808284376040519201945060009350909150508083038183865af19150503d806000811461031a576040519150601f19603f3d011682016040523d82523d6000602084013e61031f565b606091505b50915091508181906103af5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561037457818101518382015260200161035c565b50505050905090810190601f1680156103a15780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000846001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156103ff57600080fd5b505afa158015610413573d6000803e3d6000fd5b505050506040513d602081101561042957600080fd5b505190508681101561046c5760405162461bcd60e51b8152600401808060200182810382526035815260200180610b196035913960400191505060405180910390fd5b610477858e83610620565b6104838d33838f6106de565b9550600061048f610112565b6001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156104db57600080fd5b505afa1580156104ef573d6000803e3d6000fd5b505050506040513d602081101561050557600080fd5b50519050801561060e57610517610112565b6001600160a01b0316632e1a7d4d826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561055c57600080fd5b505af1158015610570573d6000803e3d6000fd5b5050604051339250839150600081818185875af1925050503d80600081146105b4576040519150601f19603f3d011682016040523d82523d6000602084013e6105b9565b606091505b509094509250828461060c5760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561037457818101518382015260200161035c565b505b5050505050505b979650505050505050565b60408051636eb1769f60e11b81523060048201526001600160a01b038481166024830152915160009286169163dd62ed3e916044808301926020929190829003018186803b15801561067157600080fd5b505afa158015610685573d6000803e3d6000fd5b505050506040513d602081101561069b57600080fd5b50519050818110156106d85780156106c2576106c26001600160a01b038516846000610779565b6106d86001600160a01b03851684600019610779565b50505050565b600080859050806001600160a01b031663877fd8948686866040518463ffffffff1660e01b815260040180846001600160a01b031681526020018381526020018281526020019350505050602060405180830381600087803b15801561074357600080fd5b505af1158015610757573d6000803e3d6000fd5b505050506040513d602081101561076d57600080fd5b50519695505050505050565b8015806107ff575060408051636eb1769f60e11b81523060048201526001600160a01b03848116602483015291519185169163dd62ed3e91604480820192602092909190829003018186803b1580156107d157600080fd5b505afa1580156107e5573d6000803e3d6000fd5b505050506040513d60208110156107fb57600080fd5b5051155b61083a5760405162461bcd60e51b8152600401808060200182810382526036815260200180610bca6036913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b17905261088c908490610891565b505050565b60606108e6826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166109429092919063ffffffff16565b80519091501561088c5780806020019051602081101561090557600080fd5b505161088c5760405162461bcd60e51b815260040180806020018281038252602a815260200180610ba0602a913960400191505060405180910390fd5b6060610951848460008561095b565b90505b9392505050565b60608247101561099c5760405162461bcd60e51b8152600401808060200182810382526026815260200180610b4e6026913960400191505060405180910390fd5b6109a585610aac565b6109f6576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b60208310610a355780518252601f199092019160209182019101610a16565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114610a97576040519150601f19603f3d011682016040523d82523d6000602084013e610a9c565b606091505b5091509150610615828286610ab2565b3b151590565b60608315610ac1575081610954565b825115610ad15782518084602001fd5b60405162461bcd60e51b815260206004820181815284516024840152845185939192839260440191908501908083836000831561037457818101518382015260200161035c56fe65786368616e6765457468416e644275795368617265733a205f6d696e496e766573746d656e74416d6f756e74206e6f74206d6574416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c65786368616e6765457468416e644275795368617265733a20446973616c6c6f7765642073656c6563746f725361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e6365a164736f6c634300060c000a", "sourceMap": "547:4896:349:-:0;;;708:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;708:69:349;752:18;;;;-1:-1:-1;;;;;;752:18:349;;;-1:-1:-1;;;;;547:4896:349;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x60806040526004361061002d5760003560e01c80634c252f91146100395780639a98f01b1461006a57610034565b3661003457005b600080fd5b34801561004557600080fd5b5061004e610112565b604080516001600160a01b039092168252519081900360200190f35b610100600480360360c081101561008057600080fd5b6001600160a01b0382358116926020810135926040820135831692606083013516919081019060a0810160808201356401000000008111156100c157600080fd5b8201836020820111156100d357600080fd5b803590602001918460018302840111640100000000831117156100f557600080fd5b919350915035610136565b60408051918252519081900360200190f35b7f000000000000000000000000000000000000000000000000000000000000000090565b600080886001600160a01b031663e269c3d66040518163ffffffff1660e01b815260040160206040518083038186803b15801561017257600080fd5b505afa158015610186573d6000803e3d6000fd5b505050506040513d602081101561019c57600080fd5b505190506101a8610112565b6001600160a01b031663d0e30db0346040518263ffffffff1660e01b81526004016000604051808303818588803b1580156101e257600080fd5b505af11580156101f6573d6000803e3d6000fd5b5050505050610203610112565b6001600160a01b0316816001600160a01b031614156102425761022e610227610112565b8a34610620565b61023a8933348b6106de565b915050610615565b60008585602081101561025457600080fd5b50356001600160e01b03191690506321dff62560e21b8114156102a85760405162461bcd60e51b815260040180806020018281038252602c815260200180610b74602c913960400191505060405180910390fd5b6102ba6102b3610112565b8834610620565b60006060896001600160a01b03168888604051808383808284376040519201945060009350909150508083038183865af19150503d806000811461031a576040519150601f19603f3d011682016040523d82523d6000602084013e61031f565b606091505b50915091508181906103af5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561037457818101518382015260200161035c565b50505050905090810190601f1680156103a15780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000846001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156103ff57600080fd5b505afa158015610413573d6000803e3d6000fd5b505050506040513d602081101561042957600080fd5b505190508681101561046c5760405162461bcd60e51b8152600401808060200182810382526035815260200180610b196035913960400191505060405180910390fd5b610477858e83610620565b6104838d33838f6106de565b9550600061048f610112565b6001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156104db57600080fd5b505afa1580156104ef573d6000803e3d6000fd5b505050506040513d602081101561050557600080fd5b50519050801561060e57610517610112565b6001600160a01b0316632e1a7d4d826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561055c57600080fd5b505af1158015610570573d6000803e3d6000fd5b5050604051339250839150600081818185875af1925050503d80600081146105b4576040519150601f19603f3d011682016040523d82523d6000602084013e6105b9565b606091505b509094509250828461060c5760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561037457818101518382015260200161035c565b505b5050505050505b979650505050505050565b60408051636eb1769f60e11b81523060048201526001600160a01b038481166024830152915160009286169163dd62ed3e916044808301926020929190829003018186803b15801561067157600080fd5b505afa158015610685573d6000803e3d6000fd5b505050506040513d602081101561069b57600080fd5b50519050818110156106d85780156106c2576106c26001600160a01b038516846000610779565b6106d86001600160a01b03851684600019610779565b50505050565b600080859050806001600160a01b031663877fd8948686866040518463ffffffff1660e01b815260040180846001600160a01b031681526020018381526020018281526020019350505050602060405180830381600087803b15801561074357600080fd5b505af1158015610757573d6000803e3d6000fd5b505050506040513d602081101561076d57600080fd5b50519695505050505050565b8015806107ff575060408051636eb1769f60e11b81523060048201526001600160a01b03848116602483015291519185169163dd62ed3e91604480820192602092909190829003018186803b1580156107d157600080fd5b505afa1580156107e5573d6000803e3d6000fd5b505050506040513d60208110156107fb57600080fd5b5051155b61083a5760405162461bcd60e51b8152600401808060200182810382526036815260200180610bca6036913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b17905261088c908490610891565b505050565b60606108e6826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166109429092919063ffffffff16565b80519091501561088c5780806020019051602081101561090557600080fd5b505161088c5760405162461bcd60e51b815260040180806020018281038252602a815260200180610ba0602a913960400191505060405180910390fd5b6060610951848460008561095b565b90505b9392505050565b60608247101561099c5760405162461bcd60e51b8152600401808060200182810382526026815260200180610b4e6026913960400191505060405180910390fd5b6109a585610aac565b6109f6576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b60208310610a355780518252601f199092019160209182019101610a16565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114610a97576040519150601f19603f3d011682016040523d82523d6000602084013e610a9c565b606091505b5091509150610615828286610ab2565b3b151590565b60608315610ac1575081610954565b825115610ad15782518084602001fd5b60405162461bcd60e51b815260206004820181815284516024840152845185939192839260440191908501908083836000831561037457818101518382015260200161035c56fe65786368616e6765457468416e644275795368617265733a205f6d696e496e766573746d656e74416d6f756e74206e6f74206d6574416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c65786368616e6765457468416e644275795368617265733a20446973616c6c6f7765642073656c6563746f725361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e6365a164736f6c634300060c000a", "sourceMap": "547:4896:349:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5342:99;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;5342:99:349;;;;;;;;;;;;;;2081:2519;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2081:2519:349;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2081:2519:349;-1:-1:-1;2081:2519:349;;:::i;:::-;;;;;;;;;;;;;;;;5342:99;5424:10;5342:99;:::o;2081:2519::-;2360:23;2395:25;2438:17;-1:-1:-1;;;;;2423:54:349;;:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2423:56:349;;-1:-1:-1;2534:14:349;:12;:14::i;:::-;-1:-1:-1;;;;;2520:38:349;;2566:9;2520:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2684:14;:12;:14::i;:::-;-1:-1:-1;;;;;2663:35:349;:17;-1:-1:-1;;;;;2663:35:349;;2659:232;;;2714:71;2740:14;:12;:14::i;:::-;2756:17;2775:9;2714:25;:71::i;:::-;2807:73;2819:17;2838:10;2850:9;2861:18;2807:11;:73::i;:::-;2800:80;;;;;2659:232;2980:23;3017:13;;3006:35;;;;;;;;;;-1:-1:-1;3006:35:349;-1:-1:-1;;;;;;3006:35:349;;-1:-1:-1;;;;3072:49:349;;;3051:140;;;;-1:-1:-1;;;3051:140:349;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3259:76;3285:14;:12;:14::i;:::-;3301:22;3325:9;3259:25;:76::i;:::-;3346:12;3360:23;3387:9;-1:-1:-1;;;;;3387:14:349;3402:13;;3387:29;;;;;;;;;;;;;;-1:-1:-1;3387:29:349;;-1:-1:-1;3387:29:349;;-1:-1:-1;;3387:29:349;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3345:71;;;;3434:7;3450:10;3426:36;;;;;-1:-1:-1;;;3426:36:349;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3563:24;3596:17;-1:-1:-1;;;;;3590:34:349;;3633:4;3590:49;;;;;;;;;;;;;-1:-1:-1;;;;;3590:49:349;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3590:49:349;;-1:-1:-1;3670:40:349;;;;3649:140;;;;-1:-1:-1;;;3649:140:349;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3891:81;3917:17;3936;3955:16;3891:25;:81::i;:::-;4028:138;4053:17;4084:10;4108:16;4138:18;4028:11;:138::i;:::-;4010:156;;4250:21;4280:14;:12;:14::i;:::-;-1:-1:-1;;;;;4274:31:349;;4314:4;4274:46;;;;;;;;;;;;;-1:-1:-1;;;;;4274:46:349;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4274:46:349;;-1:-1:-1;4334:17:349;;4330:231;;4381:14;:12;:14::i;:::-;-1:-1:-1;;;;;4367:39:349;;4407:13;4367:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4459:41:349;;:10;;-1:-1:-1;4482:13:349;;-1:-1:-1;4459:41:349;;;;4482:13;4459:10;:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4435:65:349;;-1:-1:-1;4435:65:349;-1:-1:-1;4435:65:349;;4514:36;;;;-1:-1:-1;;;4514:36:349;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4330:231;4571:22;;;;;;2081:2519;;;;;;;;;;:::o;2554:434:355:-;2714:47;;;-1:-1:-1;;;2714:47:355;;2746:4;2714:47;;;;-1:-1:-1;;;;;2714:47:355;;;;;;;;;2694:17;;2714:23;;;;;:47;;;;;;;;;;;;;;:23;:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2714:47:355;;-1:-1:-1;2775:25:355;;;2771:211;;;2820:13;;2816:89;;2853:37;-1:-1:-1;;;;;2853:25:355;;2879:7;2888:1;2853:25;:37::i;:::-;2918:53;-1:-1:-1;;;;;2918:25:355;;2944:7;-1:-1:-1;;2918:25:355;:53::i;:::-;2554:434;;;;:::o;4670:487:349:-;4844:23;4879:39;4936:17;4879:75;;4982:24;-1:-1:-1;;;;;4982:42:349;;5038:6;5058:17;5089:18;4982:135;;;;;;;;;;;;;-1:-1:-1;;;;;4982:135:349;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4982:135:349;;4670:487;-1:-1:-1;;;;;;4670:487:349:o;1348:613:450:-;1713:10;;;1712:62;;-1:-1:-1;1729:39:450;;;-1:-1:-1;;;1729:39:450;;1753:4;1729:39;;;;-1:-1:-1;;;;;1729:39:450;;;;;;;;;:15;;;;;;:39;;;;;;;;;;;;;;;:15;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1729:39:450;:44;1712:62;1704:150;;;;-1:-1:-1;;;1704:150:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1891:62;;;-1:-1:-1;;;;;1891:62:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1891:62:450;-1:-1:-1;;;1891:62:450;;;1864:90;;1884:5;;1864:19;:90::i;:::-;1348:613;;;:::o;2967:751::-;3386:23;3412:69;3440:4;3412:69;;;;;;;;;;;;;;;;;3420:5;-1:-1:-1;;;;;3412:27:450;;;:69;;;;;:::i;:::-;3495:17;;3386:95;;-1:-1:-1;3495:21:450;3491:221;;3635:10;3624:30;;;;;;;;;;;;;;;-1:-1:-1;3624:30:450;3616:85;;;;-1:-1:-1;;;3616:85:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3581:193:451;3684:12;3715:52;3737:6;3745:4;3751:1;3754:12;3715:21;:52::i;:::-;3708:59;;3581:193;;;;;;:::o;4608:523::-;4735:12;4792:5;4767:21;:30;;4759:81;;;;-1:-1:-1;;;4759:81:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4858:18;4869:6;4858:10;:18::i;:::-;4850:60;;;;;-1:-1:-1;;;4850:60:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;4981:12;4995:23;5022:6;-1:-1:-1;;;;;5022:11:451;5042:5;5050:4;5022:33;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5022:33:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4980:75;;;;5072:52;5090:7;5099:10;5111:12;5072:17;:52::i;726:413::-;1086:20;1124:8;;;726:413::o;7091:725::-;7206:12;7234:7;7230:580;;;-1:-1:-1;7264:10:451;7257:17;;7230:580;7375:17;;:21;7371:429;;7633:10;7627:17;7693:15;7680:10;7676:2;7672:19;7665:44;7582:145;7765:20;;-1:-1:-1;;;7765:20:451;;;;;;;;;;;;;;;;;7772:12;;7765:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;", "linkReferences": {}, "immutableReferences": { "74378": [ { "start": 276, "length": 32 } ] } }, "methodIdentifiers": { "exchangeEthAndBuyShares(address,uint256,address,address,bytes,uint256)": "9a98f01b", "getWethToken()": "4c252f91" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_weth\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_minSharesQuantity\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_exchange\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_exchangeApproveTarget\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_exchangeData\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"_minInvestmentAmount\",\"type\":\"uint256\"}],\"name\":\"exchangeEthAndBuyShares\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"sharesReceived_\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getWethToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"wethToken_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"exchangeEthAndBuyShares(address,uint256,address,address,bytes,uint256)\":{\"details\":\"Use a reasonable _minInvestmentAmount always, in case the exchange does not perform as expected (low incoming asset amount, blend of assets, etc). If the fund's denomination asset is WETH, _exchange, _exchangeApproveTarget, _exchangeData, and _minInvestmentAmount will be ignored.\",\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\",\"_exchange\":\"The exchange on which to execute the swap to the denomination asset\",\"_exchangeApproveTarget\":\"The address that should be given an allowance of WETH for the given _exchange\",\"_exchangeData\":\"The data with which to call the exchange to execute the swap to the denomination asset\",\"_minInvestmentAmount\":\"The minimum amount of the denomination asset to receive in the trade for investment (not necessary for WETH)\",\"_minSharesQuantity\":\"The minimum quantity of shares to buy with the sent ETH\"},\"returns\":{\"sharesReceived_\":\"The actual amount of shares received\"}},\"getWethToken()\":{\"returns\":{\"wethToken_\":\"The `WETH_TOKEN` variable value\"}}},\"title\":\"DepositWrapper Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"exchangeEthAndBuyShares(address,uint256,address,address,bytes,uint256)\":{\"notice\":\"Exchanges ETH into a fund's denomination asset and then buys shares\"},\"getWethToken()\":{\"notice\":\"Gets the `WETH_TOKEN` variable\"}},\"notice\":\"Logic related to wrapping deposit actions\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/peripheral/DepositWrapper.sol\":\"DepositWrapper\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/persistent/vault/interfaces/IExternalPositionVault.sol\":{\"keccak256\":\"0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d\",\"dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8\"]},\"contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol\":{\"keccak256\":\"0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb\",\"dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU\"]},\"contracts/persistent/vault/interfaces/IMigratableVault.sol\":{\"keccak256\":\"0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6\",\"dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs\"]},\"contracts/persistent/vault/interfaces/IVaultCore.sol\":{\"keccak256\":\"0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd\",\"dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr\"]},\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/core/fund/comptroller/ComptrollerLib.sol\":{\"keccak256\":\"0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579\",\"dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq\"]},\"contracts/release/core/fund/comptroller/IComptroller.sol\":{\"keccak256\":\"0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97\",\"dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L\"]},\"contracts/release/core/fund/vault/IVault.sol\":{\"keccak256\":\"0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599\",\"dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG\"]},\"contracts/release/extensions/IExtension.sol\":{\"keccak256\":\"0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70\",\"dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t\"]},\"contracts/release/extensions/fee-manager/IFeeManager.sol\":{\"keccak256\":\"0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22\",\"dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod\"]},\"contracts/release/extensions/policy-manager/IPolicyManager.sol\":{\"keccak256\":\"0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa\",\"dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb\"]},\"contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol\":{\"keccak256\":\"0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f\",\"dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol\":{\"keccak256\":\"0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0\",\"dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol\":{\"keccak256\":\"0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b\",\"dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3\"]},\"contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol\":{\"keccak256\":\"0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965\",\"dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ\"]},\"contracts/release/interfaces/IGsnForwarder.sol\":{\"keccak256\":\"0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29\",\"dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G\"]},\"contracts/release/interfaces/IGsnPaymaster.sol\":{\"keccak256\":\"0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4\",\"dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF\"]},\"contracts/release/interfaces/IGsnTypes.sol\":{\"keccak256\":\"0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7\",\"dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C\"]},\"contracts/release/interfaces/IWETH.sol\":{\"keccak256\":\"0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2\",\"dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ\"]},\"contracts/release/peripheral/DepositWrapper.sol\":{\"keccak256\":\"0xa2e028bddf96ae6088a806a0ef181f230cce954a5d0b02897e7004a103cd12eb\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d8aeca3347328cc12c8d4b77412fd28c7d2cfe0d16e5f2842dbcdbf8e146fd25\",\"dweb:/ipfs/QmVs6kj68zkKXrtraBowc3ZSpNtrBLTyHGML49gsTueNs7\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"contracts/release/utils/beacon-proxy/IBeacon.sol\":{\"keccak256\":\"0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39\",\"dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V\"]},\"contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol\":{\"keccak256\":\"0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be\",\"dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_weth", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" }, { "internalType": "uint256", "name": "_minSharesQuantity", "type": "uint256" }, { "internalType": "address", "name": "_exchange", "type": "address" }, { "internalType": "address", "name": "_exchangeApproveTarget", "type": "address" }, { "internalType": "bytes", "name": "_exchangeData", "type": "bytes" }, { "internalType": "uint256", "name": "_minInvestmentAmount", "type": "uint256" } ], "stateMutability": "payable", "type": "function", "name": "exchangeEthAndBuyShares", "outputs": [ { "internalType": "uint256", "name": "sharesReceived_", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getWethToken", "outputs": [ { "internalType": "address", "name": "wethToken_", "type": "address" } ] }, { "inputs": [], "stateMutability": "payable", "type": "receive" } ], "devdoc": { "kind": "dev", "methods": { "exchangeEthAndBuyShares(address,uint256,address,address,bytes,uint256)": { "details": "Use a reasonable _minInvestmentAmount always, in case the exchange does not perform as expected (low incoming asset amount, blend of assets, etc). If the fund's denomination asset is WETH, _exchange, _exchangeApproveTarget, _exchangeData, and _minInvestmentAmount will be ignored.", "params": { "_comptrollerProxy": "The ComptrollerProxy of the fund", "_exchange": "The exchange on which to execute the swap to the denomination asset", "_exchangeApproveTarget": "The address that should be given an allowance of WETH for the given _exchange", "_exchangeData": "The data with which to call the exchange to execute the swap to the denomination asset", "_minInvestmentAmount": "The minimum amount of the denomination asset to receive in the trade for investment (not necessary for WETH)", "_minSharesQuantity": "The minimum quantity of shares to buy with the sent ETH" }, "returns": { "sharesReceived_": "The actual amount of shares received" } }, "getWethToken()": { "returns": { "wethToken_": "The `WETH_TOKEN` variable value" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "exchangeEthAndBuyShares(address,uint256,address,address,bytes,uint256)": { "notice": "Exchanges ETH into a fund's denomination asset and then buys shares" }, "getWethToken()": { "notice": "Gets the `WETH_TOKEN` variable" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/peripheral/DepositWrapper.sol": "DepositWrapper" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/dispatcher/IDispatcher.sol": { "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", "urls": [ "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" ], "license": "GPL-3.0" }, "contracts/persistent/external-positions/IExternalPosition.sol": { "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", "urls": [ "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IExternalPositionVault.sol": { "keccak256": "0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6", "urls": [ "bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d", "dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol": { "keccak256": "0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0", "urls": [ "bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb", "dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IMigratableVault.sol": { "keccak256": "0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238", "urls": [ "bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6", "dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IVaultCore.sol": { "keccak256": "0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80", "urls": [ "bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd", "dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr" ], "license": "GPL-3.0" }, "contracts/release/core/fund-deployer/IFundDeployer.sol": { "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", "urls": [ "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" ], "license": "GPL-3.0" }, "contracts/release/core/fund/comptroller/ComptrollerLib.sol": { "keccak256": "0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64", "urls": [ "bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579", "dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq" ], "license": "GPL-3.0" }, "contracts/release/core/fund/comptroller/IComptroller.sol": { "keccak256": "0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f", "urls": [ "bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97", "dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L" ], "license": "GPL-3.0" }, "contracts/release/core/fund/vault/IVault.sol": { "keccak256": "0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd", "urls": [ "bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599", "dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG" ], "license": "GPL-3.0" }, "contracts/release/extensions/IExtension.sol": { "keccak256": "0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b", "urls": [ "bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70", "dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t" ], "license": "GPL-3.0" }, "contracts/release/extensions/fee-manager/IFeeManager.sol": { "keccak256": "0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51", "urls": [ "bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22", "dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod" ], "license": "GPL-3.0" }, "contracts/release/extensions/policy-manager/IPolicyManager.sol": { "keccak256": "0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32", "urls": [ "bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa", "dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol": { "keccak256": "0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609", "urls": [ "bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f", "dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol": { "keccak256": "0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01", "urls": [ "bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0", "dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol": { "keccak256": "0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196", "urls": [ "bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b", "dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol": { "keccak256": "0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794", "urls": [ "bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965", "dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IGsnForwarder.sol": { "keccak256": "0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030", "urls": [ "bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29", "dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IGsnPaymaster.sol": { "keccak256": "0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c", "urls": [ "bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4", "dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IGsnTypes.sol": { "keccak256": "0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714", "urls": [ "bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7", "dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IWETH.sol": { "keccak256": "0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2", "urls": [ "bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2", "dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ" ], "license": "GPL-3.0" }, "contracts/release/peripheral/DepositWrapper.sol": { "keccak256": "0xa2e028bddf96ae6088a806a0ef181f230cce954a5d0b02897e7004a103cd12eb", "urls": [ "bzz-raw://d8aeca3347328cc12c8d4b77412fd28c7d2cfe0d16e5f2842dbcdbf8e146fd25", "dweb:/ipfs/QmVs6kj68zkKXrtraBowc3ZSpNtrBLTyHGML49gsTueNs7" ], "license": "GPL-3.0" }, "contracts/release/utils/AddressArrayLib.sol": { "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", "urls": [ "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" ], "license": "GPL-3.0" }, "contracts/release/utils/AssetHelpers.sol": { "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", "urls": [ "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" ], "license": "GPL-3.0" }, "contracts/release/utils/beacon-proxy/IBeacon.sol": { "keccak256": "0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2", "urls": [ "bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39", "dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V" ], "license": "GPL-3.0" }, "contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol": { "keccak256": "0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc", "urls": [ "bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be", "dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", "urls": [ "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Address.sol": { "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", "urls": [ "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" } }, "version": 1 }, "id": 349 } diff --git a/eth_defi/abi/enzyme/Dispatcher.json b/eth_defi/abi/enzyme/Dispatcher.json index 3a5411c6..f8b45fe1 100644 --- a/eth_defi/abi/enzyme/Dispatcher.json +++ b/eth_defi/abi/enzyme/Dispatcher.json @@ -1,1721 +1 @@ -{ - "abi": [ - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "prevFundDeployer", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "nextFundDeployer", - "type": "address" - } - ], - "name": "CurrentFundDeployerSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "vaultProxy", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "prevFundDeployer", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "nextFundDeployer", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "nextVaultAccessor", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "nextVaultLib", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "executableTimestamp", - "type": "uint256" - } - ], - "name": "MigrationCancelled", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "vaultProxy", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "prevFundDeployer", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "nextFundDeployer", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "nextVaultAccessor", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "nextVaultLib", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "executableTimestamp", - "type": "uint256" - } - ], - "name": "MigrationExecuted", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bytes", - "name": "failureReturnData", - "type": "bytes" - }, - { - "indexed": true, - "internalType": "address", - "name": "vaultProxy", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "prevFundDeployer", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "nextFundDeployer", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "nextVaultAccessor", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "nextVaultLib", - "type": "address" - } - ], - "name": "MigrationInCancelHookFailed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bytes", - "name": "failureReturnData", - "type": "bytes" - }, - { - "indexed": false, - "internalType": "enum IMigrationHookHandler.MigrationOutHook", - "name": "hook", - "type": "uint8" - }, - { - "indexed": true, - "internalType": "address", - "name": "vaultProxy", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "prevFundDeployer", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "nextFundDeployer", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "nextVaultAccessor", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "nextVaultLib", - "type": "address" - } - ], - "name": "MigrationOutHookFailed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "vaultProxy", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "prevFundDeployer", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "nextFundDeployer", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "nextVaultAccessor", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "nextVaultLib", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "executableTimestamp", - "type": "uint256" - } - ], - "name": "MigrationSignaled", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "prevTimelock", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "nextTimelock", - "type": "uint256" - } - ], - "name": "MigrationTimelockSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "nominatedOwner", - "type": "address" - } - ], - "name": "NominatedOwnerRemoved", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "nominatedOwner", - "type": "address" - } - ], - "name": "NominatedOwnerSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "prevOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "nextOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "string", - "name": "_nextSymbol", - "type": "string" - } - ], - "name": "SharesTokenSymbolSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "fundDeployer", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "vaultProxy", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "vaultLib", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "vaultAccessor", - "type": "address" - }, - { - "indexed": false, - "internalType": "string", - "name": "fundName", - "type": "string" - } - ], - "name": "VaultProxyDeployed", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bool", - "name": "_bypassFailure", - "type": "bool" - } - ], - "name": "cancelMigration", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "claimOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultLib", - "type": "address" - }, - { - "internalType": "address", - "name": "_owner", - "type": "address" - }, - { - "internalType": "address", - "name": "_vaultAccessor", - "type": "address" - }, - { - "internalType": "string", - "name": "_fundName", - "type": "string" - } - ], - "name": "deployVaultProxy", - "outputs": [ - { - "internalType": "address", - "name": "vaultProxy_", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bool", - "name": "_bypassFailure", - "type": "bool" - } - ], - "name": "executeMigration", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getCurrentFundDeployer", - "outputs": [ - { - "internalType": "address", - "name": "currentFundDeployer_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - } - ], - "name": "getFundDeployerForVaultProxy", - "outputs": [ - { - "internalType": "address", - "name": "fundDeployer_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - } - ], - "name": "getMigrationRequestDetailsForVaultProxy", - "outputs": [ - { - "internalType": "address", - "name": "nextFundDeployer_", - "type": "address" - }, - { - "internalType": "address", - "name": "nextVaultAccessor_", - "type": "address" - }, - { - "internalType": "address", - "name": "nextVaultLib_", - "type": "address" - }, - { - "internalType": "uint256", - "name": "executableTimestamp_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getMigrationTimelock", - "outputs": [ - { - "internalType": "uint256", - "name": "migrationTimelock_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getNominatedOwner", - "outputs": [ - { - "internalType": "address", - "name": "nominatedOwner_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "owner_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getSharesTokenSymbol", - "outputs": [ - { - "internalType": "string", - "name": "sharesTokenSymbol_", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - } - ], - "name": "getTimelockRemainingForMigrationRequest", - "outputs": [ - { - "internalType": "uint256", - "name": "secondsRemaining_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - } - ], - "name": "hasExecutableMigrationRequest", - "outputs": [ - { - "internalType": "bool", - "name": "hasExecutableRequest_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - } - ], - "name": "hasMigrationRequest", - "outputs": [ - { - "internalType": "bool", - "name": "hasMigrationRequest_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "removeNominatedOwner", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_nextFundDeployer", - "type": "address" - } - ], - "name": "setCurrentFundDeployer", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_nextTimelock", - "type": "uint256" - } - ], - "name": "setMigrationTimelock", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_nextNominatedOwner", - "type": "address" - } - ], - "name": "setNominatedOwner", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "_nextSymbol", - "type": "string" - } - ], - "name": "setSharesTokenSymbol", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_nextVaultAccessor", - "type": "address" - }, - { - "internalType": "address", - "name": "_nextVaultLib", - "type": "address" - }, - { - "internalType": "bool", - "name": "_bypassFailure", - "type": "bool" - } - ], - "name": "signalMigration", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x60806040523480156200001157600080fd5b506202a300600355600280546001600160a01b031916331790556040805180820190915260048082526322a72d2360e11b60209092019182526200005691816200005d565b50620000f9565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620000a057805160ff1916838001178555620000d0565b82800160010185558215620000d0579182015b82811115620000d0578251825591602001919060010190620000b3565b50620000de929150620000e2565b5090565b5b80821115620000de5760008155600101620000e3565b61294b80620001096000396000f3fe60806040523480156200001157600080fd5b5060043610620001485760003560e01c806377a8c62411620000bd57806397af7050116200007b57806397af7050146200042d5780639c9d48da1462000456578063b47b06001462000487578063d0449d3d1462000509578063d15f9b9c14620005325762000148565b806377a8c62414620003885780637c77b2ed14620003b15780637dad9fc814620003bb5780638156eecf1462000419578063893d20e814620004235762000148565b80633d7c74f8116200010b5780633d7c74f814620002795780634e71e0c814620002a257806366231cea14620002ac578063728e17a014620002e9578063757bc0dd14620003125762000148565b80631df419f7146200014d57806322a0c08b146200016f578063288b6a3614620002225780632fa0c161146200022c57806338b3eb1b1462000248575b600080fd5b6200016d600480360360208110156200016557600080fd5b503562000573565b005b62000206600480360360808110156200018757600080fd5b6001600160a01b0382358116926020810135821692604082013590921691810190608081016060820135640100000000811115620001c457600080fd5b820183602082011115620001d757600080fd5b80359060200191846001830284011164010000000083111715620001fa57600080fd5b50909250905062000646565b604080516001600160a01b039092168252519081900360200190f35b62000206620008df565b62000236620008ee565b60408051918252519081900360200190f35b6200016d600480360360408110156200026057600080fd5b506001600160a01b0381351690602001351515620008f4565b62000206600480360360208110156200029157600080fd5b50356001600160a01b031662000c46565b6200016d62000c67565b620002d560048036036020811015620002c457600080fd5b50356001600160a01b031662000d10565b604080519115158252519081900360200190f35b6200016d600480360360208110156200030157600080fd5b50356001600160a01b031662000d43565b6200016d600480360360208110156200032a57600080fd5b8101906020810181356401000000008111156200034657600080fd5b8201836020820111156200035957600080fd5b803590602001918460018302840111640100000000831117156200037c57600080fd5b50909250905062000ebd565b6200023660048036036020811015620003a057600080fd5b50356001600160a01b031662000f7b565b6200020662000fc4565b620003e460048036036020811015620003d357600080fd5b50356001600160a01b031662000fd3565b604080516001600160a01b03958616815293851660208501529190931682820152606082019290925290519081900360800190f35b6200016d6200106b565b6200020662001147565b6200016d600480360360208110156200044557600080fd5b50356001600160a01b031662001156565b6200016d600480360360408110156200046e57600080fd5b506001600160a01b0381351690602001351515620012e1565b620004916200152a565b6040805160208082528351818301528351919283929083019185019080838360005b83811015620004cd578181015183820152602001620004b3565b50505050905090810190601f168015620004fb5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b620002d5600480360360208110156200052157600080fd5b50356001600160a01b0316620015c4565b6200016d600480360360808110156200054a57600080fd5b506001600160a01b038135811691602081013582169160408201351690606001351515620015e4565b6002546001600160a01b03163314620005be5760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b60035481811415620006025760405162461bcd60e51b815260040180806020018281038252603b81526020018062002904603b913960400191505060405180910390fd5b6003829055604080518281526020810184905281517f481ce28a1145a5d9b59e2d1d7eba33bc3350124def8fdc91032238d343ad5361929181900390910190a15050565b600080546001600160a01b03163314620006925760405162461bcd60e51b8152600401808060200182810382526034815260200180620024b66034913960400191505060405180910390fd5b6200069d8462001832565b620006da5760405162461bcd60e51b815260040180806020018281038252602d8152602001806200269b602d913960400191505060405180910390fd5b6060635c9a6d3760e01b8686868660405160240180856001600160a01b03168152602001846001600160a01b0316815260200180602001828103825284848281815260200192508082843760008382015260408051601f909201601f1990811690940182810390940182529283526020810180516001600160e01b03166001600160e01b0319909b169a909a17909952505196975087968e965062000786955093506200204c92505050565b8080602001836001600160a01b03168152602001828103825284818151815260200191508051906020019080838360005b83811015620007d1578181015183820152602001620007b7565b50505050905090810190601f168015620007ff5780820380516001836020036101000a031916815260200191505b509350505050604051809103906000f08015801562000822573d6000803e3d6000fd5b506001600160a01b0380821660008181526005602090815260409182902080546001600160a01b0319163390811790915582519384528a85169184019190915260609183018281529183018890529395508a8316928a169184917fa50560b448ad796ef60adfeffe1c19ed34daf94c2aa6905d0e209017dbc19f589188918c918c918c919060808201848480828437600083820152604051601f909101601f191690920182900397509095505050505050a4505095945050505050565b6001546001600160a01b031690565b60035490565b620008fe6200205a565b506001600160a01b038083166000908152600660209081526040918290208251608081018452815485168082526001830154861693820193909352600282015490941692840192909252600390910154606083015280620009915760405162461bcd60e51b815260040180806020018281038252603d815260200180620028c7603d913960400191505060405180910390fd5b336001600160a01b03821614620009da5760405162461bcd60e51b81526004018080602001828103825260458152602001806200279c6045913960600191505060405180910390fd5b6000546001600160a01b0382811691161462000a285760405162461bcd60e51b815260040180806020018281038252604f815260200180620025ed604f913960600191505060405180910390fd5b60608201514281111562000a6e5760405162461bcd60e51b8152600401808060200182810382526038815260200180620027296038913960400191505060405180910390fd5b6001600160a01b0380861660009081526005602090815260409182902054908601519186015192169162000aa9600289858886868d62001838565b876001600160a01b0316634140d607826040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050600060405180830381600087803b15801562000af957600080fd5b505af115801562000b0e573d6000803e3d6000fd5b50505050876001600160a01b031663ab9253ac836040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050600060405180830381600087803b15801562000b6257600080fd5b505af115801562000b77573d6000803e3d6000fd5b5050506001600160a01b03808a1660009081526005602090815260408083208054948b166001600160a01b0319958616179055600690915281208054831681556001810180548416905560028101805490931690925560039182015562000be5915089858886868d62001838565b604080516001600160a01b038481168252838116602083015281830187905291518288169286811692908c16917fad6fb3d36e2cda148dfd43203c1a40c0da9a9baa662ae9d6c3b0c3e4a9d6a6359181900360600190a45050505050505050565b6001600160a01b03808216600090815260056020526040902054165b919050565b6001546001600160a01b031633811462000cb35760405162461bcd60e51b815260040180806020018281038252603e8152602001806200281c603e913960400191505060405180910390fd5b600180546001600160a01b0319908116909155600280546001600160a01b0384811693821684179092556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038116600090815260066020526040812060030154801580159062000d3c5750804210155b9392505050565b6002546001600160a01b0316331462000d8e5760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b6001600160a01b03811662000dd55760405162461bcd60e51b8152600401808060200182810382526036815260200180620026c86036913960400191505060405180910390fd5b6002546001600160a01b038281169116141562000e245760405162461bcd60e51b815260040180806020018281038252603b81526020018062002761603b913960400191505060405180910390fd5b6001546001600160a01b038281169116141562000e735760405162461bcd60e51b815260040180806020018281038252603b815260200180620027e1603b913960400191505060405180910390fd5b600180546001600160a01b0319166001600160a01b0383169081179091556040517f132c19de901bb4ed8403c34734b6c841d5dc57745824da452a52433519ea5abf90600090a250565b6002546001600160a01b0316331462000f085760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b62000f166004838362002081565b507ff0115712c23b609855a28d7b8963c6d16d732ae388b11e5d4ec6d5eae4ad8698828260405180806020018281038252848482818152602001925080828437600083820152604051601f909101601f19169092018290039550909350505050a15050565b6001600160a01b0381166000908152600660205260408120600301548062000fa857600091505062000c62565b80421062000fbb57600091505062000c62565b42900392915050565b6000546001600160a01b031690565b60008060008062000fe36200205a565b506001600160a01b038086166000908152600660209081526040918290208251608081018452815485168152600182015485169281019290925260028101549093169181019190915260039091015460608201819052156200106257806000015181602001518260400151836060015194509450945094505062001064565b505b9193509193565b6002546001600160a01b03163314620010b65760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b6001546001600160a01b031680620011005760405162461bcd60e51b81526004018080602001828103825260318152602001806200266a6031913960400191505060405180910390fd5b600180546001600160a01b03191690556040516001600160a01b038216907fe4136584a5e8bb85d66301f3ce8b11cc2e5a8bea3979f10ea2451353849acc4790600090a250565b6002546001600160a01b031690565b6002546001600160a01b03163314620011a15760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b6001600160a01b038116620011e85760405162461bcd60e51b81526004018080602001828103825260398152602001806200258e6039913960400191505060405180910390fd5b620011f38162001832565b620012305760405162461bcd60e51b8152600401808060200182810382526036815260200180620028916036913960400191505060405180910390fd5b6000546001600160a01b03908116908216811415620012815760405162461bcd60e51b81526004018080602001828103825260488152602001806200251a6048913960600191505060405180910390fd5b600080546001600160a01b0319166001600160a01b03848116918217909255604080519284168352602083019190915280517f44cf34a26ccbaa8a20e6098a1278e28682572ec9921eb43d8dab274a503e92f59281900390910190a15050565b620012eb6200205a565b506001600160a01b0380831660009081526006602090815260409182902082516080810184528154851680825260018301548616938201939093526002820154909416928401929092526003909101546060830152806200137e5760405162461bcd60e51b815260040180806020018281038252602c81526020018062002562602c913960400191505060405180910390fd5b336001600160a01b038216148062001407575060408051633ef03e7560e11b815233600482015290516001600160a01b03861691637de07cea916024808301926020929190829003018186803b158015620013d857600080fd5b505afa158015620013ed573d6000803e3d6000fd5b505050506040513d60208110156200140457600080fd5b50515b620014445760405162461bcd60e51b8152600401808060200182810382526026815260200180620025c76026913960400191505060405180910390fd5b6001600160a01b0380851660009081526005602090815260408083205486830151878301516060890151600690955292852080546001600160a01b03199081168255600182018054821690556002820180549091169055600301949094559093169290620014b9600489868887878d62001838565b620014c988858786868c62001bd1565b604080516001600160a01b038581168252848116602083015281830184905291518288169287811692908c16917f9851a8f232c380eb2c1065756776e37d85d4fe0c8cb4005b0d72c749bfef923e9181900360600190a45050505050505050565b60048054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815260609390929091830182828015620015ba5780601f106200158e57610100808354040283529160200191620015ba565b820191906000526020600020905b8154815290600101906020018083116200159c57829003601f168201915b5050505050905090565b6001600160a01b0316600090815260066020526040902060030154151590565b6000546001600160a01b031633146200162f5760405162461bcd60e51b8152600401808060200182810382526034815260200180620024b66034913960400191505060405180910390fd5b6200163a8362001832565b620016775760405162461bcd60e51b8152600401808060200182810382526030815260200180620024ea6030913960400191505060405180910390fd5b6001600160a01b038085166000908152600560205260409020541680620016d05760405162461bcd60e51b815260040180806020018281038252602b815260200180620026fe602b913960400191505060405180910390fd5b336001600160a01b0382168114156200171b5760405162461bcd60e51b81526004018080602001828103825260378152602001806200285a6037913960400191505060405180910390fd5b6200172d600087848489898962001838565b60038054604080516080810182526001600160a01b03808616825289811660208084019182528a831684860190815242909601606085018181528e85166000908152600690935295909120935184549084166001600160a01b0319918216178555915160018086018054928616928516929092179091559551600285018054919094169216919091179091559151930192909255620017d2908885858a8a8a62001838565b604080516001600160a01b038881168252878116602083015281830184905291518285169286811692908b16917fb519c42fdb88f83f098814813f2ebff14fbf14f3e68b054e5a98834c69d54bfb9181900360600190a450505050505050565b3b151590565b60006060866001600160a01b0316633f84c12c60e01b8a8a898989604051602401808660048111156200186757fe5b8152602001856001600160a01b03168152602001846001600160a01b03168152602001836001600160a01b03168152602001826001600160a01b0316815260200195505050505050604051602081830303815290604052906001600160e01b0319166020820180516001600160e01b0383818316178352505050506040518082805190602001908083835b60208310620019135780518252601f199092019160209182019101620018f2565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811462001977576040519150601f19603f3d011682016040523d82523d6000602084013e6200197c565b606091505b50915091508162001bc65782620019938a62001ea1565b826040516020018083805190602001908083835b60208310620019c85780518252601f199092019160209182019101620019a7565b51815160209384036101000a600019018019909216911617905285519190930192850191508083835b6020831062001a125780518252601f199092019160209182019101620019f1565b6001836020036101000a038019825116818451168082178552505050505050905001925050506040516020818303038152906040529062001ad45760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101562001a9857818101518382015260200162001a7e565b50505050905090810190601f16801562001ac65780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50856001600160a01b0316876001600160a01b0316896001600160a01b03167fbf0ae6830883bd89855f2e7b17a2924b5de0b2b3d4a8834d7c2c0d5dc53447db848d8a8a604051808060200185600481111562001b2d57fe5b8152602001846001600160a01b03168152602001836001600160a01b03168152602001828103825286818151815260200191508051906020019080838360005b8381101562001b8757818101518382015260200162001b6d565b50505050905090810190601f16801562001bb55780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a45b505050505050505050565b604080516001600160a01b038881166024830152878116604483015285811660648301528481166084808401919091528351808403909101815260a490920183526020820180516001600160e01b031663df369ba760e01b17815292518251600094606094938a169392918291908083835b6020831062001c645780518252601f19909201916020918201910162001c43565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811462001cc8576040519150601f19603f3d011682016040523d82523d6000602084013e62001ccd565b606091505b50915091508162001e9757828160405160200180807f4d6967726174696f6e4f757443616e63656c486f6f6b3a20000000000000000081525060180182805190602001908083835b6020831062001d365780518252601f19909201916020918201910162001d15565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040516020818303038152906040529062001db95760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831562001a9857818101518382015260200162001a7e565b50856001600160a01b0316876001600160a01b0316896001600160a01b03167f7c79070aa51adb676fb9c8d0f7a1f841ff9cf514444b37c95297ed1c52547b328489896040518080602001846001600160a01b03168152602001836001600160a01b03168152602001828103825285818151815260200191508051906020019080838360005b8381101562001e5957818101518382015260200162001e3f565b50505050905090810190601f16801562001e875780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a45b5050505050505050565b6060600082600481111562001eb257fe5b141562001ef4575060408051808201909152601c81527f4d6967726174696f6e4f7574486f6f6b2e5072655369676e616c3a2000000000602082015262000c62565b600182600481111562001f0357fe5b141562001f45575060408051808201909152601d81527f4d6967726174696f6e4f7574486f6f6b2e506f73745369676e616c3a20000000602082015262000c62565b600282600481111562001f5457fe5b141562001f96575060408051808201909152601d81527f4d6967726174696f6e4f7574486f6f6b2e5072654d6967726174653a20000000602082015262000c62565b600382600481111562001fa557fe5b141562001fe7575060408051808201909152601e81527f4d6967726174696f6e4f7574486f6f6b2e506f73744d6967726174653a200000602082015262000c62565b600482600481111562001ff657fe5b141562002038575060408051808201909152601d81527f4d6967726174696f6e4f7574486f6f6b2e506f737443616e63656c3a20000000602082015262000c62565b505060408051602081019091526000815290565b610398806200211e83390190565b60408051608081018252600080825260208201819052918101829052606081019190915290565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620020c45782800160ff19823516178555620020f4565b82800160010185558215620020f4579182015b82811115620020f4578235825591602001919060010190620020d7565b506200210292915062002106565b5090565b5b808211156200210257600081556001016200210756fe608060405234801561001057600080fd5b506040516103983803806103988339818101604052604081101561003357600080fd5b810190808051604051939291908464010000000082111561005357600080fd5b90830190602082018581111561006857600080fd5b825164010000000081118282018810171561008257600080fd5b82525081516020918201929091019080838360005b838110156100af578181015183820152602001610097565b50505050905090810190601f1680156100dc5780820380516001836020036101000a031916815260200191505b5060408181526020928301516352d1902d60e01b835290519094506001600160a01b03851693506352d1902d92600480840193919291829003018186803b15801561012657600080fd5b505afa15801561013a573d6000803e3d6000fd5b505050506040513d602081101561015057600080fd5b50517f027b9570e9fedc1a80b937ae9a06861e5faef3992491af30b684a64b3fbec7a5146101af5760405162461bcd60e51b81526004018080602001828103825260258152602001806103736025913960400191505060405180910390fd5b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5560006060826001600160a01b0316846040518082805190602001908083835b602083106102105780518252601f1990920191602091820191016101f1565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610270576040519150601f19603f3d011682016040523d82523d6000602084013e610275565b606091505b50915091508181906103055760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156102ca5781810151838201526020016102b2565b50505050905090810190601f1680156102f75780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5050505050605b806103186000396000f3fe60806040527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc543660008037600080366000846127105a03f43d806000803e818015604957816000f35b816000fdfea164736f6c634300060c000a636f6e7374727563746f723a205f7661756c744c6962206e6f7420636f6d70617469626c654f6e6c79207468652063757272656e742046756e644465706c6f7965722063616e2063616c6c20746869732066756e6374696f6e7369676e616c4d6967726174696f6e3a204e6f6e2d636f6e7472616374205f6e6578745661756c744163636573736f7273657443757272656e7446756e644465706c6f7965723a205f6e65787446756e644465706c6f79657220697320616c72656164792063757272656e7446756e644465706c6f79657263616e63656c4d6967726174696f6e3a204e6f206d6967726174696f6e20726571756573742065786973747373657443757272656e7446756e644465706c6f7965723a205f6e65787446756e644465706c6f7965722063616e6e6f7420626520656d70747963616e63656c4d6967726174696f6e3a204e6f7420616e20616c6c6f7765642063616c6c6572657865637574654d6967726174696f6e3a20546865207461726765742046756e644465706c6f796572206973206e6f206c6f6e676572207468652063757272656e742046756e644465706c6f7965724f6e6c792074686520636f6e7472616374206f776e65722063616e2063616c6c20746869732066756e6374696f6e72656d6f76654e6f6d696e617465644f776e65723a205468657265206973206e6f206e6f6d696e61746564206f776e65726465706c6f795661756c7450726f78793a204e6f6e2d636f6e7472616374205f7661756c744163636573736f727365744e6f6d696e617465644f776e65723a205f6e6578744e6f6d696e617465644f776e65722063616e6e6f7420626520656d7074797369676e616c4d6967726174696f6e3a205f7661756c7450726f787920646f6573206e6f74206578697374657865637574654d6967726174696f6e3a20546865206d6967726174696f6e2074696d656c6f636b20686173206e6f7420656c61707365647365744e6f6d696e617465644f776e65723a205f6e6578744e6f6d696e617465644f776e657220697320616c726561647920746865206f776e6572657865637574654d6967726174696f6e3a204f6e6c7920746865207461726765742046756e644465706c6f7965722063616e2063616c6c20746869732066756e6374696f6e7365744e6f6d696e617465644f776e65723a205f6e6578744e6f6d696e617465644f776e657220697320616c7265616479206e6f6d696e61746564636c61696d4f776e6572736869703a204f6e6c7920746865206e6f6d696e617465644f776e65722063616e2063616c6c20746869732066756e6374696f6e7369676e616c4d6967726174696f6e3a2043616e206f6e6c79206d69677261746520746f2061206e65772046756e644465706c6f79657273657443757272656e7446756e644465706c6f7965723a204e6f6e2d636f6e7472616374205f6e65787446756e644465706c6f796572657865637574654d6967726174696f6e3a204e6f206d6967726174696f6e20726571756573742065786973747320666f72205f7661756c7450726f78797365744d6967726174696f6e54696d656c6f636b3a205f6e65787454696d656c6f636b206973207468652063757272656e742074696d656c6f636ba164736f6c634300060c000a", - "sourceMap": "834:23848:20:-:0;;;3716:128;;;;;;;;;-1:-1:-1;3767:6:20;3747:17;:26;3783:5;:18;;-1:-1:-1;;;;;;3783:18:20;3791:10;3783:18;;;3811:26;;;;;;;;;;;;;-1:-1:-1;;;3811:26:20;;;;;;;;;;;:::i;:::-;;834:23848;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;834:23848:20;;;-1:-1:-1;834:23848:20;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x60806040523480156200001157600080fd5b5060043610620001485760003560e01c806377a8c62411620000bd57806397af7050116200007b57806397af7050146200042d5780639c9d48da1462000456578063b47b06001462000487578063d0449d3d1462000509578063d15f9b9c14620005325762000148565b806377a8c62414620003885780637c77b2ed14620003b15780637dad9fc814620003bb5780638156eecf1462000419578063893d20e814620004235762000148565b80633d7c74f8116200010b5780633d7c74f814620002795780634e71e0c814620002a257806366231cea14620002ac578063728e17a014620002e9578063757bc0dd14620003125762000148565b80631df419f7146200014d57806322a0c08b146200016f578063288b6a3614620002225780632fa0c161146200022c57806338b3eb1b1462000248575b600080fd5b6200016d600480360360208110156200016557600080fd5b503562000573565b005b62000206600480360360808110156200018757600080fd5b6001600160a01b0382358116926020810135821692604082013590921691810190608081016060820135640100000000811115620001c457600080fd5b820183602082011115620001d757600080fd5b80359060200191846001830284011164010000000083111715620001fa57600080fd5b50909250905062000646565b604080516001600160a01b039092168252519081900360200190f35b62000206620008df565b62000236620008ee565b60408051918252519081900360200190f35b6200016d600480360360408110156200026057600080fd5b506001600160a01b0381351690602001351515620008f4565b62000206600480360360208110156200029157600080fd5b50356001600160a01b031662000c46565b6200016d62000c67565b620002d560048036036020811015620002c457600080fd5b50356001600160a01b031662000d10565b604080519115158252519081900360200190f35b6200016d600480360360208110156200030157600080fd5b50356001600160a01b031662000d43565b6200016d600480360360208110156200032a57600080fd5b8101906020810181356401000000008111156200034657600080fd5b8201836020820111156200035957600080fd5b803590602001918460018302840111640100000000831117156200037c57600080fd5b50909250905062000ebd565b6200023660048036036020811015620003a057600080fd5b50356001600160a01b031662000f7b565b6200020662000fc4565b620003e460048036036020811015620003d357600080fd5b50356001600160a01b031662000fd3565b604080516001600160a01b03958616815293851660208501529190931682820152606082019290925290519081900360800190f35b6200016d6200106b565b6200020662001147565b6200016d600480360360208110156200044557600080fd5b50356001600160a01b031662001156565b6200016d600480360360408110156200046e57600080fd5b506001600160a01b0381351690602001351515620012e1565b620004916200152a565b6040805160208082528351818301528351919283929083019185019080838360005b83811015620004cd578181015183820152602001620004b3565b50505050905090810190601f168015620004fb5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b620002d5600480360360208110156200052157600080fd5b50356001600160a01b0316620015c4565b6200016d600480360360808110156200054a57600080fd5b506001600160a01b038135811691602081013582169160408201351690606001351515620015e4565b6002546001600160a01b03163314620005be5760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b60035481811415620006025760405162461bcd60e51b815260040180806020018281038252603b81526020018062002904603b913960400191505060405180910390fd5b6003829055604080518281526020810184905281517f481ce28a1145a5d9b59e2d1d7eba33bc3350124def8fdc91032238d343ad5361929181900390910190a15050565b600080546001600160a01b03163314620006925760405162461bcd60e51b8152600401808060200182810382526034815260200180620024b66034913960400191505060405180910390fd5b6200069d8462001832565b620006da5760405162461bcd60e51b815260040180806020018281038252602d8152602001806200269b602d913960400191505060405180910390fd5b6060635c9a6d3760e01b8686868660405160240180856001600160a01b03168152602001846001600160a01b0316815260200180602001828103825284848281815260200192508082843760008382015260408051601f909201601f1990811690940182810390940182529283526020810180516001600160e01b03166001600160e01b0319909b169a909a17909952505196975087968e965062000786955093506200204c92505050565b8080602001836001600160a01b03168152602001828103825284818151815260200191508051906020019080838360005b83811015620007d1578181015183820152602001620007b7565b50505050905090810190601f168015620007ff5780820380516001836020036101000a031916815260200191505b509350505050604051809103906000f08015801562000822573d6000803e3d6000fd5b506001600160a01b0380821660008181526005602090815260409182902080546001600160a01b0319163390811790915582519384528a85169184019190915260609183018281529183018890529395508a8316928a169184917fa50560b448ad796ef60adfeffe1c19ed34daf94c2aa6905d0e209017dbc19f589188918c918c918c919060808201848480828437600083820152604051601f909101601f191690920182900397509095505050505050a4505095945050505050565b6001546001600160a01b031690565b60035490565b620008fe6200205a565b506001600160a01b038083166000908152600660209081526040918290208251608081018452815485168082526001830154861693820193909352600282015490941692840192909252600390910154606083015280620009915760405162461bcd60e51b815260040180806020018281038252603d815260200180620028c7603d913960400191505060405180910390fd5b336001600160a01b03821614620009da5760405162461bcd60e51b81526004018080602001828103825260458152602001806200279c6045913960600191505060405180910390fd5b6000546001600160a01b0382811691161462000a285760405162461bcd60e51b815260040180806020018281038252604f815260200180620025ed604f913960600191505060405180910390fd5b60608201514281111562000a6e5760405162461bcd60e51b8152600401808060200182810382526038815260200180620027296038913960400191505060405180910390fd5b6001600160a01b0380861660009081526005602090815260409182902054908601519186015192169162000aa9600289858886868d62001838565b876001600160a01b0316634140d607826040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050600060405180830381600087803b15801562000af957600080fd5b505af115801562000b0e573d6000803e3d6000fd5b50505050876001600160a01b031663ab9253ac836040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050600060405180830381600087803b15801562000b6257600080fd5b505af115801562000b77573d6000803e3d6000fd5b5050506001600160a01b03808a1660009081526005602090815260408083208054948b166001600160a01b0319958616179055600690915281208054831681556001810180548416905560028101805490931690925560039182015562000be5915089858886868d62001838565b604080516001600160a01b038481168252838116602083015281830187905291518288169286811692908c16917fad6fb3d36e2cda148dfd43203c1a40c0da9a9baa662ae9d6c3b0c3e4a9d6a6359181900360600190a45050505050505050565b6001600160a01b03808216600090815260056020526040902054165b919050565b6001546001600160a01b031633811462000cb35760405162461bcd60e51b815260040180806020018281038252603e8152602001806200281c603e913960400191505060405180910390fd5b600180546001600160a01b0319908116909155600280546001600160a01b0384811693821684179092556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038116600090815260066020526040812060030154801580159062000d3c5750804210155b9392505050565b6002546001600160a01b0316331462000d8e5760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b6001600160a01b03811662000dd55760405162461bcd60e51b8152600401808060200182810382526036815260200180620026c86036913960400191505060405180910390fd5b6002546001600160a01b038281169116141562000e245760405162461bcd60e51b815260040180806020018281038252603b81526020018062002761603b913960400191505060405180910390fd5b6001546001600160a01b038281169116141562000e735760405162461bcd60e51b815260040180806020018281038252603b815260200180620027e1603b913960400191505060405180910390fd5b600180546001600160a01b0319166001600160a01b0383169081179091556040517f132c19de901bb4ed8403c34734b6c841d5dc57745824da452a52433519ea5abf90600090a250565b6002546001600160a01b0316331462000f085760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b62000f166004838362002081565b507ff0115712c23b609855a28d7b8963c6d16d732ae388b11e5d4ec6d5eae4ad8698828260405180806020018281038252848482818152602001925080828437600083820152604051601f909101601f19169092018290039550909350505050a15050565b6001600160a01b0381166000908152600660205260408120600301548062000fa857600091505062000c62565b80421062000fbb57600091505062000c62565b42900392915050565b6000546001600160a01b031690565b60008060008062000fe36200205a565b506001600160a01b038086166000908152600660209081526040918290208251608081018452815485168152600182015485169281019290925260028101549093169181019190915260039091015460608201819052156200106257806000015181602001518260400151836060015194509450945094505062001064565b505b9193509193565b6002546001600160a01b03163314620010b65760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b6001546001600160a01b031680620011005760405162461bcd60e51b81526004018080602001828103825260318152602001806200266a6031913960400191505060405180910390fd5b600180546001600160a01b03191690556040516001600160a01b038216907fe4136584a5e8bb85d66301f3ce8b11cc2e5a8bea3979f10ea2451353849acc4790600090a250565b6002546001600160a01b031690565b6002546001600160a01b03163314620011a15760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b6001600160a01b038116620011e85760405162461bcd60e51b81526004018080602001828103825260398152602001806200258e6039913960400191505060405180910390fd5b620011f38162001832565b620012305760405162461bcd60e51b8152600401808060200182810382526036815260200180620028916036913960400191505060405180910390fd5b6000546001600160a01b03908116908216811415620012815760405162461bcd60e51b81526004018080602001828103825260488152602001806200251a6048913960600191505060405180910390fd5b600080546001600160a01b0319166001600160a01b03848116918217909255604080519284168352602083019190915280517f44cf34a26ccbaa8a20e6098a1278e28682572ec9921eb43d8dab274a503e92f59281900390910190a15050565b620012eb6200205a565b506001600160a01b0380831660009081526006602090815260409182902082516080810184528154851680825260018301548616938201939093526002820154909416928401929092526003909101546060830152806200137e5760405162461bcd60e51b815260040180806020018281038252602c81526020018062002562602c913960400191505060405180910390fd5b336001600160a01b038216148062001407575060408051633ef03e7560e11b815233600482015290516001600160a01b03861691637de07cea916024808301926020929190829003018186803b158015620013d857600080fd5b505afa158015620013ed573d6000803e3d6000fd5b505050506040513d60208110156200140457600080fd5b50515b620014445760405162461bcd60e51b8152600401808060200182810382526026815260200180620025c76026913960400191505060405180910390fd5b6001600160a01b0380851660009081526005602090815260408083205486830151878301516060890151600690955292852080546001600160a01b03199081168255600182018054821690556002820180549091169055600301949094559093169290620014b9600489868887878d62001838565b620014c988858786868c62001bd1565b604080516001600160a01b038581168252848116602083015281830184905291518288169287811692908c16917f9851a8f232c380eb2c1065756776e37d85d4fe0c8cb4005b0d72c749bfef923e9181900360600190a45050505050505050565b60048054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815260609390929091830182828015620015ba5780601f106200158e57610100808354040283529160200191620015ba565b820191906000526020600020905b8154815290600101906020018083116200159c57829003601f168201915b5050505050905090565b6001600160a01b0316600090815260066020526040902060030154151590565b6000546001600160a01b031633146200162f5760405162461bcd60e51b8152600401808060200182810382526034815260200180620024b66034913960400191505060405180910390fd5b6200163a8362001832565b620016775760405162461bcd60e51b8152600401808060200182810382526030815260200180620024ea6030913960400191505060405180910390fd5b6001600160a01b038085166000908152600560205260409020541680620016d05760405162461bcd60e51b815260040180806020018281038252602b815260200180620026fe602b913960400191505060405180910390fd5b336001600160a01b0382168114156200171b5760405162461bcd60e51b81526004018080602001828103825260378152602001806200285a6037913960400191505060405180910390fd5b6200172d600087848489898962001838565b60038054604080516080810182526001600160a01b03808616825289811660208084019182528a831684860190815242909601606085018181528e85166000908152600690935295909120935184549084166001600160a01b0319918216178555915160018086018054928616928516929092179091559551600285018054919094169216919091179091559151930192909255620017d2908885858a8a8a62001838565b604080516001600160a01b038881168252878116602083015281830184905291518285169286811692908b16917fb519c42fdb88f83f098814813f2ebff14fbf14f3e68b054e5a98834c69d54bfb9181900360600190a450505050505050565b3b151590565b60006060866001600160a01b0316633f84c12c60e01b8a8a898989604051602401808660048111156200186757fe5b8152602001856001600160a01b03168152602001846001600160a01b03168152602001836001600160a01b03168152602001826001600160a01b0316815260200195505050505050604051602081830303815290604052906001600160e01b0319166020820180516001600160e01b0383818316178352505050506040518082805190602001908083835b60208310620019135780518252601f199092019160209182019101620018f2565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811462001977576040519150601f19603f3d011682016040523d82523d6000602084013e6200197c565b606091505b50915091508162001bc65782620019938a62001ea1565b826040516020018083805190602001908083835b60208310620019c85780518252601f199092019160209182019101620019a7565b51815160209384036101000a600019018019909216911617905285519190930192850191508083835b6020831062001a125780518252601f199092019160209182019101620019f1565b6001836020036101000a038019825116818451168082178552505050505050905001925050506040516020818303038152906040529062001ad45760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101562001a9857818101518382015260200162001a7e565b50505050905090810190601f16801562001ac65780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50856001600160a01b0316876001600160a01b0316896001600160a01b03167fbf0ae6830883bd89855f2e7b17a2924b5de0b2b3d4a8834d7c2c0d5dc53447db848d8a8a604051808060200185600481111562001b2d57fe5b8152602001846001600160a01b03168152602001836001600160a01b03168152602001828103825286818151815260200191508051906020019080838360005b8381101562001b8757818101518382015260200162001b6d565b50505050905090810190601f16801562001bb55780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a45b505050505050505050565b604080516001600160a01b038881166024830152878116604483015285811660648301528481166084808401919091528351808403909101815260a490920183526020820180516001600160e01b031663df369ba760e01b17815292518251600094606094938a169392918291908083835b6020831062001c645780518252601f19909201916020918201910162001c43565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811462001cc8576040519150601f19603f3d011682016040523d82523d6000602084013e62001ccd565b606091505b50915091508162001e9757828160405160200180807f4d6967726174696f6e4f757443616e63656c486f6f6b3a20000000000000000081525060180182805190602001908083835b6020831062001d365780518252601f19909201916020918201910162001d15565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040516020818303038152906040529062001db95760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831562001a9857818101518382015260200162001a7e565b50856001600160a01b0316876001600160a01b0316896001600160a01b03167f7c79070aa51adb676fb9c8d0f7a1f841ff9cf514444b37c95297ed1c52547b328489896040518080602001846001600160a01b03168152602001836001600160a01b03168152602001828103825285818151815260200191508051906020019080838360005b8381101562001e5957818101518382015260200162001e3f565b50505050905090810190601f16801562001e875780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a45b5050505050505050565b6060600082600481111562001eb257fe5b141562001ef4575060408051808201909152601c81527f4d6967726174696f6e4f7574486f6f6b2e5072655369676e616c3a2000000000602082015262000c62565b600182600481111562001f0357fe5b141562001f45575060408051808201909152601d81527f4d6967726174696f6e4f7574486f6f6b2e506f73745369676e616c3a20000000602082015262000c62565b600282600481111562001f5457fe5b141562001f96575060408051808201909152601d81527f4d6967726174696f6e4f7574486f6f6b2e5072654d6967726174653a20000000602082015262000c62565b600382600481111562001fa557fe5b141562001fe7575060408051808201909152601e81527f4d6967726174696f6e4f7574486f6f6b2e506f73744d6967726174653a200000602082015262000c62565b600482600481111562001ff657fe5b141562002038575060408051808201909152601d81527f4d6967726174696f6e4f7574486f6f6b2e506f737443616e63656c3a20000000602082015262000c62565b505060408051602081019091526000815290565b610398806200211e83390190565b60408051608081018252600080825260208201819052918101829052606081019190915290565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620020c45782800160ff19823516178555620020f4565b82800160010185558215620020f4579182015b82811115620020f4578235825591602001919060010190620020d7565b506200210292915062002106565b5090565b5b808211156200210257600081556001016200210756fe608060405234801561001057600080fd5b506040516103983803806103988339818101604052604081101561003357600080fd5b810190808051604051939291908464010000000082111561005357600080fd5b90830190602082018581111561006857600080fd5b825164010000000081118282018810171561008257600080fd5b82525081516020918201929091019080838360005b838110156100af578181015183820152602001610097565b50505050905090810190601f1680156100dc5780820380516001836020036101000a031916815260200191505b5060408181526020928301516352d1902d60e01b835290519094506001600160a01b03851693506352d1902d92600480840193919291829003018186803b15801561012657600080fd5b505afa15801561013a573d6000803e3d6000fd5b505050506040513d602081101561015057600080fd5b50517f027b9570e9fedc1a80b937ae9a06861e5faef3992491af30b684a64b3fbec7a5146101af5760405162461bcd60e51b81526004018080602001828103825260258152602001806103736025913960400191505060405180910390fd5b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5560006060826001600160a01b0316846040518082805190602001908083835b602083106102105780518252601f1990920191602091820191016101f1565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610270576040519150601f19603f3d011682016040523d82523d6000602084013e610275565b606091505b50915091508181906103055760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156102ca5781810151838201526020016102b2565b50505050905090810190601f1680156102f75780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5050505050605b806103186000396000f3fe60806040527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc543660008037600080366000846127105a03f43d806000803e818015604957816000f35b816000fdfea164736f6c634300060c000a636f6e7374727563746f723a205f7661756c744c6962206e6f7420636f6d70617469626c654f6e6c79207468652063757272656e742046756e644465706c6f7965722063616e2063616c6c20746869732066756e6374696f6e7369676e616c4d6967726174696f6e3a204e6f6e2d636f6e7472616374205f6e6578745661756c744163636573736f7273657443757272656e7446756e644465706c6f7965723a205f6e65787446756e644465706c6f79657220697320616c72656164792063757272656e7446756e644465706c6f79657263616e63656c4d6967726174696f6e3a204e6f206d6967726174696f6e20726571756573742065786973747373657443757272656e7446756e644465706c6f7965723a205f6e65787446756e644465706c6f7965722063616e6e6f7420626520656d70747963616e63656c4d6967726174696f6e3a204e6f7420616e20616c6c6f7765642063616c6c6572657865637574654d6967726174696f6e3a20546865207461726765742046756e644465706c6f796572206973206e6f206c6f6e676572207468652063757272656e742046756e644465706c6f7965724f6e6c792074686520636f6e7472616374206f776e65722063616e2063616c6c20746869732066756e6374696f6e72656d6f76654e6f6d696e617465644f776e65723a205468657265206973206e6f206e6f6d696e61746564206f776e65726465706c6f795661756c7450726f78793a204e6f6e2d636f6e7472616374205f7661756c744163636573736f727365744e6f6d696e617465644f776e65723a205f6e6578744e6f6d696e617465644f776e65722063616e6e6f7420626520656d7074797369676e616c4d6967726174696f6e3a205f7661756c7450726f787920646f6573206e6f74206578697374657865637574654d6967726174696f6e3a20546865206d6967726174696f6e2074696d656c6f636b20686173206e6f7420656c61707365647365744e6f6d696e617465644f776e65723a205f6e6578744e6f6d696e617465644f776e657220697320616c726561647920746865206f776e6572657865637574654d6967726174696f6e3a204f6e6c7920746865207461726765742046756e644465706c6f7965722063616e2063616c6c20746869732066756e6374696f6e7365744e6f6d696e617465644f776e65723a205f6e6578744e6f6d696e617465644f776e657220697320616c7265616479206e6f6d696e61746564636c61696d4f776e6572736869703a204f6e6c7920746865206e6f6d696e617465644f776e65722063616e2063616c6c20746869732066756e6374696f6e7369676e616c4d6967726174696f6e3a2043616e206f6e6c79206d69677261746520746f2061206e65772046756e644465706c6f79657273657443757272656e7446756e644465706c6f7965723a204e6f6e2d636f6e7472616374205f6e65787446756e644465706c6f796572657865637574654d6967726174696f6e3a204e6f206d6967726174696f6e20726571756573742065786973747320666f72205f7661756c7450726f78797365744d6967726174696f6e54696d656c6f636b3a205f6e65787454696d656c6f636b206973207468652063757272656e742074696d656c6f636ba164736f6c634300060c000a", - "sourceMap": "834:23848:20:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13467:392;;;;;;;;;;;;;;;;-1:-1:-1;13467:392:20;;:::i;:::-;;7598:909;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7598:909:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7598:909:20;;-1:-1:-1;7598:909:20;-1:-1:-1;7598:909:20;:::i;:::-;;;;-1:-1:-1;;;;;7598:909:20;;;;;;;;;;;;;;22235:124;;;:::i;21929:133::-;;;:::i;:::-;;;;;;;;;;;;;;;;10978:2365;;;;;;;;;;;;;;;;-1:-1:-1;10978:2365:20;;-1:-1:-1;;;;;10978:2365:20;;;;;;;;:::i;20370:211::-;;;;;;;;;;;;;;;;-1:-1:-1;20370:211:20;-1:-1:-1;;;;;20370:211:20;;:::i;4337:390::-;;;:::i;23876:360::-;;;;;;;;;;;;;;;;-1:-1:-1;23876:360:20;-1:-1:-1;;;;;23876:360:20;;:::i;:::-;;;;;;;;;;;;;;;;;;6208:633;;;;;;;;;;;;;;;;-1:-1:-1;6208:633:20;-1:-1:-1;;;;;6208:633:20;;:::i;4023:184::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4023:184:20;;-1:-1:-1;4023:184:20;-1:-1:-1;4023:184:20;:::i;23128:500::-;;;;;;;;;;;;;;;;-1:-1:-1;23128:500:20;-1:-1:-1;;;;;23128:500:20;;:::i;19992:175::-;;;:::i;21137:620::-;;;;;;;;;;;;;;;;-1:-1:-1;21137:620:20;-1:-1:-1;;;;;21137:620:20;;:::i;:::-;;;;-1:-1:-1;;;;;21137:620:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4795:356;;;:::i;22466:97::-;;;:::i;5298:729::-;;;;;;;;;;;;;;;;-1:-1:-1;5298:729:20;-1:-1:-1;;;;;5298:729:20;;:::i;9065:1669::-;;;;;;;;;;;;;;;;-1:-1:-1;9065:1669:20;;-1:-1:-1;;;;;9065:1669:20;;;;;;;;:::i;22708:175::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24446:234;;;;;;;;;;;;;;;;-1:-1:-1;24446:234:20;-1:-1:-1;;;;;24446:234:20;;:::i;14299:1840::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;14299:1840:20;;;;;;;;;;;;;;;;;;;;;;;;:::i;13467:392::-;3636:5;;-1:-1:-1;;;;;3636:5:20;3622:10;:19;3614:78;;;;-1:-1:-1;;;3614:78:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13581:17:::1;::::0;13629:29;;::::1;;13608:135;;;;-1:-1:-1::0;;;13608:135:20::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13754:17;:33:::0;;;13803:49:::1;::::0;;;;;::::1;::::0;::::1;::::0;;;;;::::1;::::0;;;;;;;;;::::1;3702:1;13467:392:::0;:::o;7598:909::-;7799:19;3462;;-1:-1:-1;;;;;3462:19:20;3448:10;:33;3427:132;;;;-1:-1:-1;;;3427:132:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7838:28:::1;7851:14;7838:12;:28::i;:::-;7830:86;;;;-1:-1:-1::0;;;7830:86:20::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7956:147;::::0;-1:-1:-1;;;;;7956:147:20;;::::1;;::::0;::::1;::::0;;;;;::::1;::::0;;;;7927:26:::1;7956:147:::0;;;;;;;;;;;;7927:26;;-1:-1:-1;;;;7956:147:20;;;;8084:9;;7956:147;;;;;;8084:9;7956:147;;8084:9;7956:147;::::1;;::::0;;::::1;::::0;::::1;::::0;;::::1;::::0;;::::1;-1:-1:-1::0;;7956:147:20;;::::1;::::0;;::::1;::::0;;::::1;::::0;;;;;;;;::::1;::::0;::::1;::::0;;-1:-1:-1;;;;;7956:147:20::1;-1:-1:-1::0;;;;;;7956:147:20;;;::::1;::::0;;;::::1;::::0;;;-1:-1:-1;8135:40:20;7956:147;;-1:-1:-1;7956:147:20;;8165:9;;-1:-1:-1;8135:40:20::1;::::0;-1:-1:-1;8135:40:20;-1:-1:-1;8135:40:20::1;::::0;-1:-1:-1;;;8135:40:20:i:1;:::-;-1:-1:-1::0;;;;;8135:40:20;::::1;;::::0;;::::1;::::0;;;;;;;;;;;;;;;;;;;;;;;;::::1;::::0;;;;-1:-1:-1;8135:40:20::1;;;;;;;::::0;;::::1;::::0;;;::::1;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;;;;;8230:37:20;;::::1;8187:20;8230:37:::0;;;:24:::1;:37;::::0;;;;;;;;:52;;-1:-1:-1;;;;;;8230:52:20::1;8210:10;8230:52:::0;;::::1;::::0;;;8298:173;;;;;;;::::1;::::0;;::::1;::::0;;;;;;;;;;;;;;;;;8230:37;;-1:-1:-1;8298:173:20;;::::1;::::0;;::::1;::::0;8210:10;;8298:173:::1;::::0;8230:37;;8298:173;;8452:9;;8298:173;;;;;;8452:9;8298:173;;8452:9;8298:173;::::1;;::::0;;::::1;::::0;::::1;::::0;::::1;::::0;;::::1;-1:-1:-1::0;;8298:173:20::1;::::0;;::::1;::::0;;::::1;::::0;-1:-1:-1;8298:173:20;;-1:-1:-1;;;;;;8298:173:20::1;8482:18;;7598:909:::0;;;;;;;:::o;22235:124::-;22338:14;;-1:-1:-1;;;;;22338:14:20;;22235:124::o;21929:133::-;22038:17;;21929:133;:::o;10978:2365::-;11074:31;;:::i;:::-;-1:-1:-1;;;;;;11108:41:20;;;;;;;:28;:41;;;;;;;;;11074:75;;;;;;;;;;;;;;-1:-1:-1;11074:75:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11220:138;;;;-1:-1:-1;;;11220:138:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11389:30:20;;:10;:30;11368:146;;;;-1:-1:-1;;;11368:146:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11565:19;;-1:-1:-1;;;;;11545:39:20;;;11565:19;;11545:39;11524:165;;;;-1:-1:-1;;;11524:165:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11729:27;;;;11787:15;:38;-1:-1:-1;11787:38:20;11766:141;;;;-1:-1:-1;;;11766:141:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11945:37:20;;;11918:24;11945:37;;;:24;:37;;;;;;;;;;12020:25;;;;12078:20;;;;11945:37;;;12109:267;12147:49;11945:37;;12265:16;12020:25;12078:20;12352:14;12109:24;:267::i;:::-;12484:55;;;-1:-1:-1;;;12484:55:20;;-1:-1:-1;;;;;12484:55:20;;;;;;;;;:41;;;;-1:-1:-1;;12484:55:20;;;;;-1:-1:-1;;12484:55:20;;;;;;;;-1:-1:-1;12484:41:20;:55;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;12549:60:20;;;-1:-1:-1;;;12549:60:20;;-1:-1:-1;;;;;12549:60:20;;;;;;;;;:41;;;;-1:-1:-1;12549:41:20;;-1:-1:-1;12549:60:20;;;;;-1:-1:-1;;12549:60:20;;;;;;;;-1:-1:-1;12549:41:20;:60;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;12684:37:20;;;;;;;:24;:37;;;;;;;;:56;;;;;-1:-1:-1;;;;;;12684:56:20;;;;;;12798:28;:41;;;;;12791:48;;;;;;-1:-1:-1;12791:48:20;;;;;;;;;;;;;;;;;;;;;;;;12850:268;;12684:37;12977:16;12684:56;13037:17;13068:12;13094:14;12850:24;:268::i;:::-;13134:202;;;-1:-1:-1;;;;;13134:202:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10978:2365;;;;;;;;:::o;20370:211::-;-1:-1:-1;;;;;20537:37:20;;;20493:21;20537:37;;;:24;:37;;;;;;;20370:211;;;;:::o;4337:390::-;4411:14;;-1:-1:-1;;;;;4411:14:20;4456:10;:23;;4435:132;;;;-1:-1:-1;;;4435:132:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4585:14;4578:21;;-1:-1:-1;;;;;;4578:21:20;;;;;;4630:5;;;-1:-1:-1;;;;;4645:17:20;;;;;;;;;;;4678:42;;4630:5;;;4645:17;4630:5;;4678:42;;-1:-1:-1;;4678:42:20;4337:390;;:::o;23876:360::-;-1:-1:-1;;;;;24072:41:20;;24000:26;24072:41;;;:28;:41;;;;;:74;;;24164:23;;;;;:65;;;24210:19;24191:15;:38;;24164:65;24157:72;23876:360;-1:-1:-1;;;23876:360:20:o;6208:633::-;3636:5;;-1:-1:-1;;;;;3636:5:20;3622:10;:19;3614:78;;;;-1:-1:-1;;;3614:78:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6323:33:20;::::1;6302:134;;;;-1:-1:-1::0;;;6302:134:20::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6490:5;::::0;-1:-1:-1;;;;;6467:28:20;;::::1;6490:5:::0;::::1;6467:28;;6446:134;;;;-1:-1:-1::0;;;6446:134:20::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6634:14;::::0;-1:-1:-1;;;;;6611:37:20;;::::1;6634:14:::0;::::1;6611:37;;6590:143;;;;-1:-1:-1::0;;;6590:143:20::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6744:14;:36:::0;;-1:-1:-1;;;;;;6744:36:20::1;-1:-1:-1::0;;;;;6744:36:20;::::1;::::0;;::::1;::::0;;;6796:38:::1;::::0;::::1;::::0;-1:-1:-1;;6796:38:20::1;6208:633:::0;:::o;4023:184::-;3636:5;;-1:-1:-1;;;;;3636:5:20;3622:10;:19;3614:78;;;;-1:-1:-1;;;3614:78:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4120:31:::1;:17;4140:11:::0;;4120:31:::1;:::i;:::-;;4167:33;4188:11;;4167:33;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;;::::1;::::0;::::1;::::0;::::1;::::0;;::::1;-1:-1:-1::0;;4167:33:20::1;::::0;;::::1;::::0;;::::1;::::0;-1:-1:-1;4167:33:20;;-1:-1:-1;;;;4167:33:20::1;4023:184:::0;;:::o;23128:500::-;-1:-1:-1;;;;;23333:41:20;;23262:25;23333:41;;;:28;:41;;;;;:74;;;;23417:63;;23468:1;23461:8;;;;;23417:63;23513:19;23494:15;:38;23490:77;;23555:1;23548:8;;;;;23490:77;23606:15;23584:37;;;23128:500;-1:-1:-1;;23128:500:20:o;19992:175::-;20090:28;20141:19;-1:-1:-1;;;;;20141:19:20;;19992:175::o;21137:620::-;21284:25;21323:26;21363:21;21398:28;21451:25;;:::i;:::-;-1:-1:-1;;;;;;21479:41:20;;;;;;;:28;:41;;;;;;;;;21451:69;;;;;;;;;;;;;-1:-1:-1;21451:69:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21534:25;21530:221;;21600:1;:18;;;21636:1;:19;;;21673:1;:14;;;21705:1;:21;;;21575:165;;;;;;;;;;;21530:221;21137:620;;;;;;;:::o;4795:356::-;3636:5;;-1:-1:-1;;;;;3636:5:20;3622:10;:19;3614:78;;;;-1:-1:-1;;;3614:78:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4897:14:::1;::::0;-1:-1:-1;;;;;4897:14:20::1;::::0;4921:131:::1;;;;-1:-1:-1::0;;;4921:131:20::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5070:14;5063:21:::0;;-1:-1:-1;;;;;;5063:21:20::1;::::0;;5100:44:::1;::::0;-1:-1:-1;;;;;5100:44:20;::::1;::::0;::::1;::::0;-1:-1:-1;;5100:44:20::1;3702:1;4795:356::o:0;22466:97::-;22551:5;;-1:-1:-1;;;;;22551:5:20;;22466:97::o;5298:729::-;3636:5;;-1:-1:-1;;;;;3636:5:20;3622:10;:19;3614:78;;;;-1:-1:-1;;;3614:78:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5416:31:20;::::1;5395:135;;;;-1:-1:-1::0;;;5395:135:20::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5561:31;5574:17;5561:12;:31::i;:::-;5540:132;;;;-1:-1:-1::0;;;5540:132:20::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5683:24;5710:19:::0;-1:-1:-1;;;;;5710:19:20;;::::1;::::0;5760:37;::::1;::::0;::::1;;5739:156;;;;-1:-1:-1::0;;;5739:156:20::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5906:19;:39:::0;;-1:-1:-1;;;;;;5906:39:20::1;-1:-1:-1::0;;;;;5906:39:20;;::::1;::::0;;::::1;::::0;;;5961:59:::1;::::0;;;;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;::::1;::::0;;;;;;;;::::1;3702:1;5298:729:::0;:::o;9065:1669::-;9160:31;;:::i;:::-;-1:-1:-1;;;;;;9194:41:20;;;;;;;:28;:41;;;;;;;;;9160:75;;;;;;;;;;;;;;-1:-1:-1;9160:75:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9306:87;;;;-1:-1:-1;;;9306:87:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9544:30:20;;:10;:30;;:86;;-1:-1:-1;9578:52:20;;;-1:-1:-1;;;9578:52:20;;9619:10;9578:52;;;;;;-1:-1:-1;;;;;9578:40:20;;;;;:52;;;;;;;;;;;;;;:40;:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9578:52:20;9544:86;9523:171;;;;-1:-1:-1;;;9523:171:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9732:37:20;;;9705:24;9732:37;;;:24;:37;;;;;;;;;9807:25;;;;9865:20;;;;9925:27;;;;9970:28;:41;;;;;;9963:48;;-1:-1:-1;;;;;;9963:48:20;;;;;-1:-1:-1;9963:48:20;;;;;;;;;;;;;;;;;;;;;;;;9732:37;;;;9865:20;10022:267;10060:49;9732:37;;10178:16;9807:25;9865:20;10265:14;10022:24;:267::i;:::-;10299:209;10342:11;10367:16;10397;10427:17;10458:12;10484:14;10299:29;:209::i;:::-;10524:203;;;-1:-1:-1;;;;;10524:203:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9065:1669;;;;;;;;:::o;22708:175::-;22859:17;22852:24;;;;;;;;;;;;;-1:-1:-1;;22852:24:20;;;;;;;;;;;;;;;;;;;;;;;;;;22804:32;;22852:24;;22859:17;;22852:24;;;22859:17;22852:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22708:175;:::o;24446:234::-;-1:-1:-1;;;;;24608:41:20;24560:25;24608:41;;;:28;:41;;;;;:61;;;:65;;;24446:234::o;14299:1840::-;3462:19;;-1:-1:-1;;;;;3462:19:20;3448:10;:33;3427:132;;;;-1:-1:-1;;;3427:132:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14528:32:::1;14541:18;14528:12;:32::i;:::-;14507:127;;;;-1:-1:-1::0;;;14507:127:20::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;14672:37:20;;::::1;14645:24;14672:37:::0;;;:24:::1;:37;::::0;;;;;::::1;::::0;14719:86:::1;;;;-1:-1:-1::0;;;14719:86:20::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14843:10;-1:-1:-1::0;;;;;14884:36:20;::::1;::::0;::::1;;14863:138;;;;-1:-1:-1::0;;;14863:138:20::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15012:268;15050:48;15112:11;15137:16;15167;15197:18;15229:13;15256:14;15012:24;:268::i;:::-;15339:17;::::0;;15410:222:::1;::::0;;::::1;::::0;::::1;::::0;;-1:-1:-1;;;;;15410:222:20;;::::1;::::0;;;;::::1;;::::0;;::::1;::::0;;;;;::::1;::::0;;;;;;15321:15:::1;:35:::0;;::::1;15410:222:::0;;;;;;15366:41;;::::1;-1:-1:-1::0;15366:41:20;;;:28:::1;:41:::0;;;;;;;:266;;;;-1:-1:-1;;;;;;15366:266:20;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;;-1:-1:-1;15366:266:20;;::::1;::::0;;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;;;::::1;::::0;::::1;::::0;;;;::::1;::::0;::::1;::::0;;;::::1;::::0;;;;;::::1;::::0;;;;15643:269:::1;::::0;15366:41;15769:16;15410:222;;;15888:14;15643:24:::1;:269::i;:::-;15928:204;::::0;;-1:-1:-1;;;;;15928:204:20;;::::1;::::0;;;;::::1;;::::0;::::1;::::0;;;;;;;;;;;::::1;::::0;;;::::1;::::0;;;::::1;::::0;::::1;::::0;;;;;;;::::1;3569:1;;;14299:1840:::0;;;;:::o;6918:198::-;7057:17;7101:8;;;6918:198::o;17541:1137::-;17849:12;17863:23;17890:17;-1:-1:-1;;;;;17890:22:20;17966:53;;;18037:5;18060:11;18089:17;18124:18;18160:13;17926:261;;;;;;;;;;;;;;;;-1:-1:-1;;;;;17926:261:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;17926:261:20;;;;;;;;;;-1:-1:-1;;;;;17926:261:20;-1:-1:-1;;;;;;17926:261:20;;;;;;;;;;17890:307;;;17926:261;;17890:307;;-1:-1:-1;17890:307:20;;-1:-1:-1;17926:261:20;17890:307;;17926:261;17890:307;;;;;;;;;;-1:-1:-1;;17890:307:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17848:349;;;;18212:7;18207:465;;18260:14;18316:44;18354:5;18316:37;:44::i;:::-;18362:10;18299:74;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;18299:74:20;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;18299:74:20;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;18299:74:20;;;;;;;;;;;;;-1:-1:-1;;18299:74:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18235:153;;;;;-1:-1:-1;;;18235:153:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;18235:153:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;18408:253:20;;-1:-1:-1;;;;;18408:253:20;;;;;;;;;;;;;18448:10;;18476:5;;18598:18;;18634:13;;18408:253;;;;18476:5;18408:253;;;;;;;;;;;;;-1:-1:-1;;;;;18408:253:20;;;;;;-1:-1:-1;;;;;18408:253:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18207:465;17541:1137;;;;;;;;;:::o;16312:1034::-;16648:243;;;-1:-1:-1;;;;;16648:243:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;16648:243:20;-1:-1:-1;;;16648:243:20;;;16612:289;;;;-1:-1:-1;;16585:23:20;;16612:22;;;;16648:243;16612:289;;;16648:243;16612:289;;16648:243;16612:289;;;;;;;;;;-1:-1:-1;;16612:289:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16570:331;;;;16916:7;16911:429;;16964:14;17048:10;17003:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;17003:56:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16939:135;;;;;-1:-1:-1;;;16939:135:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;16939:135:20;;;;;;;;;;;;;;;;;-1:-1:-1;17094:235:20;;;-1:-1:-1;;;;;17094:235:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;17094:235:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16911:429;16312:1034;;;;;;;;:::o;18773:886::-;18912:34;18975:48;18966:5;:57;;;;;;;;;18962:125;;;-1:-1:-1;19039:37:20;;;;;;;;;;;;;;;;;;;18962:125;19109:49;19100:5;:58;;;;;;;;;19096:127;;;-1:-1:-1;19174:38:20;;;;;;;;;;;;;;;;;;;19096:127;19245:49;19236:5;:58;;;;;;;;;19232:127;;;-1:-1:-1;19310:38:20;;;;;;;;;;;;;;;;;;;19232:127;19381:50;19372:5;:59;;;;;;;;;19368:129;;;-1:-1:-1;19447:39:20;;;;;;;;;;;;;;;;;;;19368:129;19519:49;19510:5;:58;;;;;;;;;19506:127;;;-1:-1:-1;19584:38:20;;;;;;;;;;;;;;;;;;;19506:127;-1:-1:-1;;19643:9:20;;;;;;;;;-1:-1:-1;19643:9:20;;;18773:886::o;-1:-1:-1:-;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "methodIdentifiers": { - "cancelMigration(address,bool)": "9c9d48da", - "claimOwnership()": "4e71e0c8", - "deployVaultProxy(address,address,address,string)": "22a0c08b", - "executeMigration(address,bool)": "38b3eb1b", - "getCurrentFundDeployer()": "7c77b2ed", - "getFundDeployerForVaultProxy(address)": "3d7c74f8", - "getMigrationRequestDetailsForVaultProxy(address)": "7dad9fc8", - "getMigrationTimelock()": "2fa0c161", - "getNominatedOwner()": "288b6a36", - "getOwner()": "893d20e8", - "getSharesTokenSymbol()": "b47b0600", - "getTimelockRemainingForMigrationRequest(address)": "77a8c624", - "hasExecutableMigrationRequest(address)": "66231cea", - "hasMigrationRequest(address)": "d0449d3d", - "removeNominatedOwner()": "8156eecf", - "setCurrentFundDeployer(address)": "97af7050", - "setMigrationTimelock(uint256)": "1df419f7", - "setNominatedOwner(address)": "728e17a0", - "setSharesTokenSymbol(string)": "757bc0dd", - "signalMigration(address,address,address,bool)": "d15f9b9c" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"prevFundDeployer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"nextFundDeployer\",\"type\":\"address\"}],\"name\":\"CurrentFundDeployerSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"vaultProxy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"prevFundDeployer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"nextFundDeployer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"nextVaultAccessor\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"nextVaultLib\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"executableTimestamp\",\"type\":\"uint256\"}],\"name\":\"MigrationCancelled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"vaultProxy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"prevFundDeployer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"nextFundDeployer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"nextVaultAccessor\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"nextVaultLib\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"executableTimestamp\",\"type\":\"uint256\"}],\"name\":\"MigrationExecuted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"failureReturnData\",\"type\":\"bytes\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"vaultProxy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"prevFundDeployer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"nextFundDeployer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"nextVaultAccessor\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"nextVaultLib\",\"type\":\"address\"}],\"name\":\"MigrationInCancelHookFailed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"failureReturnData\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"enum IMigrationHookHandler.MigrationOutHook\",\"name\":\"hook\",\"type\":\"uint8\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"vaultProxy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"prevFundDeployer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"nextFundDeployer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"nextVaultAccessor\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"nextVaultLib\",\"type\":\"address\"}],\"name\":\"MigrationOutHookFailed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"vaultProxy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"prevFundDeployer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"nextFundDeployer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"nextVaultAccessor\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"nextVaultLib\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"executableTimestamp\",\"type\":\"uint256\"}],\"name\":\"MigrationSignaled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"prevTimelock\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"nextTimelock\",\"type\":\"uint256\"}],\"name\":\"MigrationTimelockSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"nominatedOwner\",\"type\":\"address\"}],\"name\":\"NominatedOwnerRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"nominatedOwner\",\"type\":\"address\"}],\"name\":\"NominatedOwnerSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"prevOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"nextOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"_nextSymbol\",\"type\":\"string\"}],\"name\":\"SharesTokenSymbolSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"fundDeployer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"vaultProxy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"vaultLib\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"vaultAccessor\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"fundName\",\"type\":\"string\"}],\"name\":\"VaultProxyDeployed\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_bypassFailure\",\"type\":\"bool\"}],\"name\":\"cancelMigration\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"claimOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultLib\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_vaultAccessor\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_fundName\",\"type\":\"string\"}],\"name\":\"deployVaultProxy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"vaultProxy_\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_bypassFailure\",\"type\":\"bool\"}],\"name\":\"executeMigration\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentFundDeployer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"currentFundDeployer_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"}],\"name\":\"getFundDeployerForVaultProxy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"fundDeployer_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"}],\"name\":\"getMigrationRequestDetailsForVaultProxy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"nextFundDeployer_\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"nextVaultAccessor_\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"nextVaultLib_\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"executableTimestamp_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMigrationTimelock\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"migrationTimelock_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getNominatedOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"nominatedOwner_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getSharesTokenSymbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"sharesTokenSymbol_\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"}],\"name\":\"getTimelockRemainingForMigrationRequest\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"secondsRemaining_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"}],\"name\":\"hasExecutableMigrationRequest\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"hasExecutableRequest_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"}],\"name\":\"hasMigrationRequest\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"hasMigrationRequest_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"removeNominatedOwner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nextFundDeployer\",\"type\":\"address\"}],\"name\":\"setCurrentFundDeployer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_nextTimelock\",\"type\":\"uint256\"}],\"name\":\"setMigrationTimelock\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nextNominatedOwner\",\"type\":\"address\"}],\"name\":\"setNominatedOwner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_nextSymbol\",\"type\":\"string\"}],\"name\":\"setSharesTokenSymbol\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_nextVaultAccessor\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_nextVaultLib\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_bypassFailure\",\"type\":\"bool\"}],\"name\":\"signalMigration\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"DO NOT EDIT CONTRACT\",\"kind\":\"dev\",\"methods\":{\"cancelMigration(address,bool)\":{\"details\":\"Because this function must also be callable by a permissioned migrator, it has an extra migration hook to the nextFundDeployer for the case where cancelMigration() is called directly (rather than via the nextFundDeployer).\",\"params\":{\"_bypassFailure\":\"True if a failure in either migration hook should be ignored\",\"_vaultProxy\":\"The VaultProxy contract for which to cancel the migration request\"}},\"deployVaultProxy(address,address,address,string)\":{\"details\":\"Input validation should be handled by the VaultProxy during deployment\",\"params\":{\"_fundName\":\"The name of the fund\",\"_owner\":\"The account to set as the VaultProxy's owner\",\"_vaultAccessor\":\"The account to set as the VaultProxy's permissioned accessor\",\"_vaultLib\":\"The VaultLib library with which to instantiate the VaultProxy\"}},\"executeMigration(address,bool)\":{\"params\":{\"_bypassFailure\":\"True if a failure in either migration hook should be ignored\",\"_vaultProxy\":\"The VaultProxy contract for which to execute the migration request\"}},\"getCurrentFundDeployer()\":{\"returns\":{\"currentFundDeployer_\":\"The current FundDeployer contract address\"}},\"getFundDeployerForVaultProxy(address)\":{\"params\":{\"_vaultProxy\":\"The VaultProxy instance\"},\"returns\":{\"fundDeployer_\":\"The FundDeployer contract address\"}},\"getMigrationRequestDetailsForVaultProxy(address)\":{\"params\":{\"_vaultProxy\":\"The VaultProxy instance\"},\"returns\":{\"executableTimestamp_\":\"The timestamp at which the migration request can be executed\",\"nextFundDeployer_\":\"The FundDeployer contract address from which the migration request was made\",\"nextVaultAccessor_\":\"The account that will be the next `accessor` on the VaultProxy\",\"nextVaultLib_\":\"The next VaultLib library contract address to set on the VaultProxy\"}},\"getMigrationTimelock()\":{\"returns\":{\"migrationTimelock_\":\"The timelock value (in seconds)\"}},\"getNominatedOwner()\":{\"returns\":{\"nominatedOwner_\":\"The account that is nominated to be the owner\"}},\"getOwner()\":{\"returns\":{\"owner_\":\"The account that is the owner\"}},\"getSharesTokenSymbol()\":{\"returns\":{\"sharesTokenSymbol_\":\"The `symbol` value\"}},\"getTimelockRemainingForMigrationRequest(address)\":{\"params\":{\"_vaultProxy\":\"The VaultProxy instance\"},\"returns\":{\"secondsRemaining_\":\"The number of seconds remaining on the timelock\"}},\"hasExecutableMigrationRequest(address)\":{\"params\":{\"_vaultProxy\":\"The VaultProxy instance\"},\"returns\":{\"hasExecutableRequest_\":\"True if a migration request exists and is executable\"}},\"hasMigrationRequest(address)\":{\"params\":{\"_vaultProxy\":\"The VaultProxy instance\"},\"returns\":{\"hasMigrationRequest_\":\"True if a migration request exists\"}},\"setCurrentFundDeployer(address)\":{\"params\":{\"_nextFundDeployer\":\"The address of the FundDeployer contract\"}},\"setMigrationTimelock(uint256)\":{\"params\":{\"_nextTimelock\":\"The number of seconds for the new timelock\"}},\"setNominatedOwner(address)\":{\"details\":\"Does not prohibit overwriting the current nominatedOwner\",\"params\":{\"_nextNominatedOwner\":\"The account to nominate\"}},\"setSharesTokenSymbol(string)\":{\"params\":{\"_nextSymbol\":\"The symbol value to set\"}},\"signalMigration(address,address,address,bool)\":{\"params\":{\"_bypassFailure\":\"True if a failure in either migration hook should be ignored\",\"_nextVaultAccessor\":\"The account that will be the next `accessor` on the VaultProxy\",\"_nextVaultLib\":\"The next VaultLib library contract address to set on the VaultProxy\",\"_vaultProxy\":\"The VaultProxy contract for which to signal migration\"}}},\"title\":\"Dispatcher Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"cancelMigration(address,bool)\":{\"notice\":\"Cancels a pending migration request\"},\"claimOwnership()\":{\"notice\":\"Claim ownership of the contract\"},\"deployVaultProxy(address,address,address,string)\":{\"notice\":\"Deploys a VaultProxy\"},\"executeMigration(address,bool)\":{\"notice\":\"Executes a pending migration request\"},\"getCurrentFundDeployer()\":{\"notice\":\"Gets the current FundDeployer that is allowed to deploy and migrate funds\"},\"getFundDeployerForVaultProxy(address)\":{\"notice\":\"Gets the FundDeployer with which a given VaultProxy is associated\"},\"getMigrationRequestDetailsForVaultProxy(address)\":{\"notice\":\"Gets the details of a pending migration request for a given VaultProxy\"},\"getMigrationTimelock()\":{\"notice\":\"Gets the amount of time that must pass between signaling and executing a migration\"},\"getNominatedOwner()\":{\"notice\":\"Gets the account that is nominated to be the next owner of this contract\"},\"getOwner()\":{\"notice\":\"Gets the owner of this contract\"},\"getSharesTokenSymbol()\":{\"notice\":\"Gets the shares token `symbol` value for use in VaultProxy instances\"},\"getTimelockRemainingForMigrationRequest(address)\":{\"notice\":\"Gets the time remaining until the migration request of a given VaultProxy can be executed\"},\"hasExecutableMigrationRequest(address)\":{\"notice\":\"Checks whether a migration request that is executable exists for a given VaultProxy\"},\"hasMigrationRequest(address)\":{\"notice\":\"Checks whether a migration request exists for a given VaultProxy\"},\"removeNominatedOwner()\":{\"notice\":\"Revoke the nomination of a new contract owner\"},\"setCurrentFundDeployer(address)\":{\"notice\":\"Set a new FundDeployer for use within the contract\"},\"setMigrationTimelock(uint256)\":{\"notice\":\"Sets a new migration timelock\"},\"setNominatedOwner(address)\":{\"notice\":\"Nominate a new contract owner\"},\"setSharesTokenSymbol(string)\":{\"notice\":\"Sets a new `symbol` value for VaultProxy instances\"},\"signalMigration(address,address,address,bool)\":{\"notice\":\"Signals a migration by creating a migration request\"}},\"notice\":\"The top-level contract linking multiple releases. It handles the deployment of new VaultProxy instances, and the regulation of fund migration from a previous release to the current one. It can also be referred to for access-control based on this contract's owner.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/dispatcher/Dispatcher.sol\":\"Dispatcher\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/dispatcher/Dispatcher.sol\":{\"keccak256\":\"0x0590285e72005e40573fcc93e95aa75a5963bdcf5b02a627c73d8bc982f9d850\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://e9f2190a9ba01ec1f03b5159387c3864b9700337f3d7b07ec0758bbde52d32e2\",\"dweb:/ipfs/QmX5gevftdWC5xzSVcmVn14aFhKgweCXAhndZ8ZECN92fj\"]},\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/dispatcher/IMigrationHookHandler.sol\":{\"keccak256\":\"0x4cec61ef58c1d2e7693ee954c3582b1a04ff836a569e216edb7526c7e56a5632\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://0acae6d91e3e20e6ebd46cbeff926967a2d64f3d8eb2e3cdff20366917a77879\",\"dweb:/ipfs/Qmd44oJngTNRnwXdDwtNd9o4UvTgxAmBGikz3QMPKf4NWy\"]},\"contracts/persistent/vault/VaultProxy.sol\":{\"keccak256\":\"0x08ff12cb7955ab80cf35f98a5abae23a92f655916669986d1580cb394f6b6bb3\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://320fcccd67d3390d6762bdef41f7d5e679e61b3244b1d945fc33402ea684bc3a\",\"dweb:/ipfs/Qmaaxqgm4EzF1r4n52pkjs7bA5quKhVwrh356rTFXDj86L\"]},\"contracts/persistent/vault/interfaces/IMigratableVault.sol\":{\"keccak256\":\"0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6\",\"dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs\"]},\"contracts/persistent/vault/utils/ProxiableVaultLib.sol\":{\"keccak256\":\"0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44\",\"dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "prevFundDeployer", - "type": "address", - "indexed": false - }, - { - "internalType": "address", - "name": "nextFundDeployer", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "CurrentFundDeployerSet", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "vaultProxy", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "prevFundDeployer", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "nextFundDeployer", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "nextVaultAccessor", - "type": "address", - "indexed": false - }, - { - "internalType": "address", - "name": "nextVaultLib", - "type": "address", - "indexed": false - }, - { - "internalType": "uint256", - "name": "executableTimestamp", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "MigrationCancelled", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "vaultProxy", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "prevFundDeployer", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "nextFundDeployer", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "nextVaultAccessor", - "type": "address", - "indexed": false - }, - { - "internalType": "address", - "name": "nextVaultLib", - "type": "address", - "indexed": false - }, - { - "internalType": "uint256", - "name": "executableTimestamp", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "MigrationExecuted", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "failureReturnData", - "type": "bytes", - "indexed": false - }, - { - "internalType": "address", - "name": "vaultProxy", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "prevFundDeployer", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "nextFundDeployer", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "nextVaultAccessor", - "type": "address", - "indexed": false - }, - { - "internalType": "address", - "name": "nextVaultLib", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "MigrationInCancelHookFailed", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "failureReturnData", - "type": "bytes", - "indexed": false - }, - { - "internalType": "enum IMigrationHookHandler.MigrationOutHook", - "name": "hook", - "type": "uint8", - "indexed": false - }, - { - "internalType": "address", - "name": "vaultProxy", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "prevFundDeployer", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "nextFundDeployer", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "nextVaultAccessor", - "type": "address", - "indexed": false - }, - { - "internalType": "address", - "name": "nextVaultLib", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "MigrationOutHookFailed", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "vaultProxy", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "prevFundDeployer", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "nextFundDeployer", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "nextVaultAccessor", - "type": "address", - "indexed": false - }, - { - "internalType": "address", - "name": "nextVaultLib", - "type": "address", - "indexed": false - }, - { - "internalType": "uint256", - "name": "executableTimestamp", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "MigrationSignaled", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "prevTimelock", - "type": "uint256", - "indexed": false - }, - { - "internalType": "uint256", - "name": "nextTimelock", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "MigrationTimelockSet", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "nominatedOwner", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "NominatedOwnerRemoved", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "nominatedOwner", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "NominatedOwnerSet", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "prevOwner", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "nextOwner", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "OwnershipTransferred", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "_nextSymbol", - "type": "string", - "indexed": false - } - ], - "type": "event", - "name": "SharesTokenSymbolSet", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "fundDeployer", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "owner", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "vaultProxy", - "type": "address", - "indexed": false - }, - { - "internalType": "address", - "name": "vaultLib", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "vaultAccessor", - "type": "address", - "indexed": false - }, - { - "internalType": "string", - "name": "fundName", - "type": "string", - "indexed": false - } - ], - "type": "event", - "name": "VaultProxyDeployed", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bool", - "name": "_bypassFailure", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "cancelMigration" - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "claimOwnership" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultLib", - "type": "address" - }, - { - "internalType": "address", - "name": "_owner", - "type": "address" - }, - { - "internalType": "address", - "name": "_vaultAccessor", - "type": "address" - }, - { - "internalType": "string", - "name": "_fundName", - "type": "string" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "deployVaultProxy", - "outputs": [ - { - "internalType": "address", - "name": "vaultProxy_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bool", - "name": "_bypassFailure", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "executeMigration" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getCurrentFundDeployer", - "outputs": [ - { - "internalType": "address", - "name": "currentFundDeployer_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getFundDeployerForVaultProxy", - "outputs": [ - { - "internalType": "address", - "name": "fundDeployer_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getMigrationRequestDetailsForVaultProxy", - "outputs": [ - { - "internalType": "address", - "name": "nextFundDeployer_", - "type": "address" - }, - { - "internalType": "address", - "name": "nextVaultAccessor_", - "type": "address" - }, - { - "internalType": "address", - "name": "nextVaultLib_", - "type": "address" - }, - { - "internalType": "uint256", - "name": "executableTimestamp_", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getMigrationTimelock", - "outputs": [ - { - "internalType": "uint256", - "name": "migrationTimelock_", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getNominatedOwner", - "outputs": [ - { - "internalType": "address", - "name": "nominatedOwner_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "owner_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getSharesTokenSymbol", - "outputs": [ - { - "internalType": "string", - "name": "sharesTokenSymbol_", - "type": "string" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getTimelockRemainingForMigrationRequest", - "outputs": [ - { - "internalType": "uint256", - "name": "secondsRemaining_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "hasExecutableMigrationRequest", - "outputs": [ - { - "internalType": "bool", - "name": "hasExecutableRequest_", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "hasMigrationRequest", - "outputs": [ - { - "internalType": "bool", - "name": "hasMigrationRequest_", - "type": "bool" - } - ] - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "removeNominatedOwner" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_nextFundDeployer", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setCurrentFundDeployer" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_nextTimelock", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setMigrationTimelock" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_nextNominatedOwner", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setNominatedOwner" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "_nextSymbol", - "type": "string" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setSharesTokenSymbol" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_nextVaultAccessor", - "type": "address" - }, - { - "internalType": "address", - "name": "_nextVaultLib", - "type": "address" - }, - { - "internalType": "bool", - "name": "_bypassFailure", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "signalMigration" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "cancelMigration(address,bool)": { - "details": "Because this function must also be callable by a permissioned migrator, it has an extra migration hook to the nextFundDeployer for the case where cancelMigration() is called directly (rather than via the nextFundDeployer).", - "params": { - "_bypassFailure": "True if a failure in either migration hook should be ignored", - "_vaultProxy": "The VaultProxy contract for which to cancel the migration request" - } - }, - "deployVaultProxy(address,address,address,string)": { - "details": "Input validation should be handled by the VaultProxy during deployment", - "params": { - "_fundName": "The name of the fund", - "_owner": "The account to set as the VaultProxy's owner", - "_vaultAccessor": "The account to set as the VaultProxy's permissioned accessor", - "_vaultLib": "The VaultLib library with which to instantiate the VaultProxy" - } - }, - "executeMigration(address,bool)": { - "params": { - "_bypassFailure": "True if a failure in either migration hook should be ignored", - "_vaultProxy": "The VaultProxy contract for which to execute the migration request" - } - }, - "getCurrentFundDeployer()": { - "returns": { - "currentFundDeployer_": "The current FundDeployer contract address" - } - }, - "getFundDeployerForVaultProxy(address)": { - "params": { - "_vaultProxy": "The VaultProxy instance" - }, - "returns": { - "fundDeployer_": "The FundDeployer contract address" - } - }, - "getMigrationRequestDetailsForVaultProxy(address)": { - "params": { - "_vaultProxy": "The VaultProxy instance" - }, - "returns": { - "executableTimestamp_": "The timestamp at which the migration request can be executed", - "nextFundDeployer_": "The FundDeployer contract address from which the migration request was made", - "nextVaultAccessor_": "The account that will be the next `accessor` on the VaultProxy", - "nextVaultLib_": "The next VaultLib library contract address to set on the VaultProxy" - } - }, - "getMigrationTimelock()": { - "returns": { - "migrationTimelock_": "The timelock value (in seconds)" - } - }, - "getNominatedOwner()": { - "returns": { - "nominatedOwner_": "The account that is nominated to be the owner" - } - }, - "getOwner()": { - "returns": { - "owner_": "The account that is the owner" - } - }, - "getSharesTokenSymbol()": { - "returns": { - "sharesTokenSymbol_": "The `symbol` value" - } - }, - "getTimelockRemainingForMigrationRequest(address)": { - "params": { - "_vaultProxy": "The VaultProxy instance" - }, - "returns": { - "secondsRemaining_": "The number of seconds remaining on the timelock" - } - }, - "hasExecutableMigrationRequest(address)": { - "params": { - "_vaultProxy": "The VaultProxy instance" - }, - "returns": { - "hasExecutableRequest_": "True if a migration request exists and is executable" - } - }, - "hasMigrationRequest(address)": { - "params": { - "_vaultProxy": "The VaultProxy instance" - }, - "returns": { - "hasMigrationRequest_": "True if a migration request exists" - } - }, - "setCurrentFundDeployer(address)": { - "params": { - "_nextFundDeployer": "The address of the FundDeployer contract" - } - }, - "setMigrationTimelock(uint256)": { - "params": { - "_nextTimelock": "The number of seconds for the new timelock" - } - }, - "setNominatedOwner(address)": { - "details": "Does not prohibit overwriting the current nominatedOwner", - "params": { - "_nextNominatedOwner": "The account to nominate" - } - }, - "setSharesTokenSymbol(string)": { - "params": { - "_nextSymbol": "The symbol value to set" - } - }, - "signalMigration(address,address,address,bool)": { - "params": { - "_bypassFailure": "True if a failure in either migration hook should be ignored", - "_nextVaultAccessor": "The account that will be the next `accessor` on the VaultProxy", - "_nextVaultLib": "The next VaultLib library contract address to set on the VaultProxy", - "_vaultProxy": "The VaultProxy contract for which to signal migration" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "cancelMigration(address,bool)": { - "notice": "Cancels a pending migration request" - }, - "claimOwnership()": { - "notice": "Claim ownership of the contract" - }, - "deployVaultProxy(address,address,address,string)": { - "notice": "Deploys a VaultProxy" - }, - "executeMigration(address,bool)": { - "notice": "Executes a pending migration request" - }, - "getCurrentFundDeployer()": { - "notice": "Gets the current FundDeployer that is allowed to deploy and migrate funds" - }, - "getFundDeployerForVaultProxy(address)": { - "notice": "Gets the FundDeployer with which a given VaultProxy is associated" - }, - "getMigrationRequestDetailsForVaultProxy(address)": { - "notice": "Gets the details of a pending migration request for a given VaultProxy" - }, - "getMigrationTimelock()": { - "notice": "Gets the amount of time that must pass between signaling and executing a migration" - }, - "getNominatedOwner()": { - "notice": "Gets the account that is nominated to be the next owner of this contract" - }, - "getOwner()": { - "notice": "Gets the owner of this contract" - }, - "getSharesTokenSymbol()": { - "notice": "Gets the shares token `symbol` value for use in VaultProxy instances" - }, - "getTimelockRemainingForMigrationRequest(address)": { - "notice": "Gets the time remaining until the migration request of a given VaultProxy can be executed" - }, - "hasExecutableMigrationRequest(address)": { - "notice": "Checks whether a migration request that is executable exists for a given VaultProxy" - }, - "hasMigrationRequest(address)": { - "notice": "Checks whether a migration request exists for a given VaultProxy" - }, - "removeNominatedOwner()": { - "notice": "Revoke the nomination of a new contract owner" - }, - "setCurrentFundDeployer(address)": { - "notice": "Set a new FundDeployer for use within the contract" - }, - "setMigrationTimelock(uint256)": { - "notice": "Sets a new migration timelock" - }, - "setNominatedOwner(address)": { - "notice": "Nominate a new contract owner" - }, - "setSharesTokenSymbol(string)": { - "notice": "Sets a new `symbol` value for VaultProxy instances" - }, - "signalMigration(address,address,address,bool)": { - "notice": "Signals a migration by creating a migration request" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/persistent/dispatcher/Dispatcher.sol": "Dispatcher" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/dispatcher/Dispatcher.sol": { - "keccak256": "0x0590285e72005e40573fcc93e95aa75a5963bdcf5b02a627c73d8bc982f9d850", - "urls": [ - "bzz-raw://e9f2190a9ba01ec1f03b5159387c3864b9700337f3d7b07ec0758bbde52d32e2", - "dweb:/ipfs/QmX5gevftdWC5xzSVcmVn14aFhKgweCXAhndZ8ZECN92fj" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/dispatcher/IDispatcher.sol": { - "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", - "urls": [ - "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", - "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/dispatcher/IMigrationHookHandler.sol": { - "keccak256": "0x4cec61ef58c1d2e7693ee954c3582b1a04ff836a569e216edb7526c7e56a5632", - "urls": [ - "bzz-raw://0acae6d91e3e20e6ebd46cbeff926967a2d64f3d8eb2e3cdff20366917a77879", - "dweb:/ipfs/Qmd44oJngTNRnwXdDwtNd9o4UvTgxAmBGikz3QMPKf4NWy" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/VaultProxy.sol": { - "keccak256": "0x08ff12cb7955ab80cf35f98a5abae23a92f655916669986d1580cb394f6b6bb3", - "urls": [ - "bzz-raw://320fcccd67d3390d6762bdef41f7d5e679e61b3244b1d945fc33402ea684bc3a", - "dweb:/ipfs/Qmaaxqgm4EzF1r4n52pkjs7bA5quKhVwrh356rTFXDj86L" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IMigratableVault.sol": { - "keccak256": "0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238", - "urls": [ - "bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6", - "dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/utils/ProxiableVaultLib.sol": { - "keccak256": "0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76", - "urls": [ - "bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44", - "dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 20 -} +{ "abi": [ { "type": "constructor", "inputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "cancelMigration", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_bypassFailure", "type": "bool", "internalType": "bool" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "claimOwnership", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "deployVaultProxy", "inputs": [ { "name": "_vaultLib", "type": "address", "internalType": "address" }, { "name": "_owner", "type": "address", "internalType": "address" }, { "name": "_vaultAccessor", "type": "address", "internalType": "address" }, { "name": "_fundName", "type": "string", "internalType": "string" } ], "outputs": [ { "name": "vaultProxy_", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "executeMigration", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_bypassFailure", "type": "bool", "internalType": "bool" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "getCurrentFundDeployer", "inputs": [], "outputs": [ { "name": "currentFundDeployer_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getFundDeployerForVaultProxy", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "fundDeployer_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getMigrationRequestDetailsForVaultProxy", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "nextFundDeployer_", "type": "address", "internalType": "address" }, { "name": "nextVaultAccessor_", "type": "address", "internalType": "address" }, { "name": "nextVaultLib_", "type": "address", "internalType": "address" }, { "name": "executableTimestamp_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "getMigrationTimelock", "inputs": [], "outputs": [ { "name": "migrationTimelock_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "getNominatedOwner", "inputs": [], "outputs": [ { "name": "nominatedOwner_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getOwner", "inputs": [], "outputs": [ { "name": "owner_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getSharesTokenSymbol", "inputs": [], "outputs": [ { "name": "sharesTokenSymbol_", "type": "string", "internalType": "string" } ], "stateMutability": "view" }, { "type": "function", "name": "getTimelockRemainingForMigrationRequest", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "secondsRemaining_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "hasExecutableMigrationRequest", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "hasExecutableRequest_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "hasMigrationRequest", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "hasMigrationRequest_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "removeNominatedOwner", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setCurrentFundDeployer", "inputs": [ { "name": "_nextFundDeployer", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setMigrationTimelock", "inputs": [ { "name": "_nextTimelock", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setNominatedOwner", "inputs": [ { "name": "_nextNominatedOwner", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setSharesTokenSymbol", "inputs": [ { "name": "_nextSymbol", "type": "string", "internalType": "string" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "signalMigration", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_nextVaultAccessor", "type": "address", "internalType": "address" }, { "name": "_nextVaultLib", "type": "address", "internalType": "address" }, { "name": "_bypassFailure", "type": "bool", "internalType": "bool" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "event", "name": "CurrentFundDeployerSet", "inputs": [ { "name": "prevFundDeployer", "type": "address", "indexed": false, "internalType": "address" }, { "name": "nextFundDeployer", "type": "address", "indexed": false, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "MigrationCancelled", "inputs": [ { "name": "vaultProxy", "type": "address", "indexed": true, "internalType": "address" }, { "name": "prevFundDeployer", "type": "address", "indexed": true, "internalType": "address" }, { "name": "nextFundDeployer", "type": "address", "indexed": true, "internalType": "address" }, { "name": "nextVaultAccessor", "type": "address", "indexed": false, "internalType": "address" }, { "name": "nextVaultLib", "type": "address", "indexed": false, "internalType": "address" }, { "name": "executableTimestamp", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "MigrationExecuted", "inputs": [ { "name": "vaultProxy", "type": "address", "indexed": true, "internalType": "address" }, { "name": "prevFundDeployer", "type": "address", "indexed": true, "internalType": "address" }, { "name": "nextFundDeployer", "type": "address", "indexed": true, "internalType": "address" }, { "name": "nextVaultAccessor", "type": "address", "indexed": false, "internalType": "address" }, { "name": "nextVaultLib", "type": "address", "indexed": false, "internalType": "address" }, { "name": "executableTimestamp", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "MigrationInCancelHookFailed", "inputs": [ { "name": "failureReturnData", "type": "bytes", "indexed": false, "internalType": "bytes" }, { "name": "vaultProxy", "type": "address", "indexed": true, "internalType": "address" }, { "name": "prevFundDeployer", "type": "address", "indexed": true, "internalType": "address" }, { "name": "nextFundDeployer", "type": "address", "indexed": true, "internalType": "address" }, { "name": "nextVaultAccessor", "type": "address", "indexed": false, "internalType": "address" }, { "name": "nextVaultLib", "type": "address", "indexed": false, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "MigrationOutHookFailed", "inputs": [ { "name": "failureReturnData", "type": "bytes", "indexed": false, "internalType": "bytes" }, { "name": "hook", "type": "uint8", "indexed": false, "internalType": "enum IMigrationHookHandler.MigrationOutHook" }, { "name": "vaultProxy", "type": "address", "indexed": true, "internalType": "address" }, { "name": "prevFundDeployer", "type": "address", "indexed": true, "internalType": "address" }, { "name": "nextFundDeployer", "type": "address", "indexed": true, "internalType": "address" }, { "name": "nextVaultAccessor", "type": "address", "indexed": false, "internalType": "address" }, { "name": "nextVaultLib", "type": "address", "indexed": false, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "MigrationSignaled", "inputs": [ { "name": "vaultProxy", "type": "address", "indexed": true, "internalType": "address" }, { "name": "prevFundDeployer", "type": "address", "indexed": true, "internalType": "address" }, { "name": "nextFundDeployer", "type": "address", "indexed": true, "internalType": "address" }, { "name": "nextVaultAccessor", "type": "address", "indexed": false, "internalType": "address" }, { "name": "nextVaultLib", "type": "address", "indexed": false, "internalType": "address" }, { "name": "executableTimestamp", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "MigrationTimelockSet", "inputs": [ { "name": "prevTimelock", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "nextTimelock", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "NominatedOwnerRemoved", "inputs": [ { "name": "nominatedOwner", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "NominatedOwnerSet", "inputs": [ { "name": "nominatedOwner", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "OwnershipTransferred", "inputs": [ { "name": "prevOwner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "nextOwner", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "SharesTokenSymbolSet", "inputs": [ { "name": "_nextSymbol", "type": "string", "indexed": false, "internalType": "string" } ], "anonymous": false }, { "type": "event", "name": "VaultProxyDeployed", "inputs": [ { "name": "fundDeployer", "type": "address", "indexed": true, "internalType": "address" }, { "name": "owner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "vaultProxy", "type": "address", "indexed": false, "internalType": "address" }, { "name": "vaultLib", "type": "address", "indexed": true, "internalType": "address" }, { "name": "vaultAccessor", "type": "address", "indexed": false, "internalType": "address" }, { "name": "fundName", "type": "string", "indexed": false, "internalType": "string" } ], "anonymous": false } ], "bytecode": { "object": "0x60806040523480156200001157600080fd5b506202a300600355600280546001600160a01b031916331790556040805180820190915260048082526322a72d2360e11b60209092019182526200005691816200005d565b50620000f9565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620000a057805160ff1916838001178555620000d0565b82800160010185558215620000d0579182015b82811115620000d0578251825591602001919060010190620000b3565b50620000de929150620000e2565b5090565b5b80821115620000de5760008155600101620000e3565b61294b80620001096000396000f3fe60806040523480156200001157600080fd5b5060043610620001485760003560e01c806377a8c62411620000bd57806397af7050116200007b57806397af7050146200042d5780639c9d48da1462000456578063b47b06001462000487578063d0449d3d1462000509578063d15f9b9c14620005325762000148565b806377a8c62414620003885780637c77b2ed14620003b15780637dad9fc814620003bb5780638156eecf1462000419578063893d20e814620004235762000148565b80633d7c74f8116200010b5780633d7c74f814620002795780634e71e0c814620002a257806366231cea14620002ac578063728e17a014620002e9578063757bc0dd14620003125762000148565b80631df419f7146200014d57806322a0c08b146200016f578063288b6a3614620002225780632fa0c161146200022c57806338b3eb1b1462000248575b600080fd5b6200016d600480360360208110156200016557600080fd5b503562000573565b005b62000206600480360360808110156200018757600080fd5b6001600160a01b0382358116926020810135821692604082013590921691810190608081016060820135640100000000811115620001c457600080fd5b820183602082011115620001d757600080fd5b80359060200191846001830284011164010000000083111715620001fa57600080fd5b50909250905062000646565b604080516001600160a01b039092168252519081900360200190f35b62000206620008df565b62000236620008ee565b60408051918252519081900360200190f35b6200016d600480360360408110156200026057600080fd5b506001600160a01b0381351690602001351515620008f4565b62000206600480360360208110156200029157600080fd5b50356001600160a01b031662000c46565b6200016d62000c67565b620002d560048036036020811015620002c457600080fd5b50356001600160a01b031662000d10565b604080519115158252519081900360200190f35b6200016d600480360360208110156200030157600080fd5b50356001600160a01b031662000d43565b6200016d600480360360208110156200032a57600080fd5b8101906020810181356401000000008111156200034657600080fd5b8201836020820111156200035957600080fd5b803590602001918460018302840111640100000000831117156200037c57600080fd5b50909250905062000ebd565b6200023660048036036020811015620003a057600080fd5b50356001600160a01b031662000f7b565b6200020662000fc4565b620003e460048036036020811015620003d357600080fd5b50356001600160a01b031662000fd3565b604080516001600160a01b03958616815293851660208501529190931682820152606082019290925290519081900360800190f35b6200016d6200106b565b6200020662001147565b6200016d600480360360208110156200044557600080fd5b50356001600160a01b031662001156565b6200016d600480360360408110156200046e57600080fd5b506001600160a01b0381351690602001351515620012e1565b620004916200152a565b6040805160208082528351818301528351919283929083019185019080838360005b83811015620004cd578181015183820152602001620004b3565b50505050905090810190601f168015620004fb5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b620002d5600480360360208110156200052157600080fd5b50356001600160a01b0316620015c4565b6200016d600480360360808110156200054a57600080fd5b506001600160a01b038135811691602081013582169160408201351690606001351515620015e4565b6002546001600160a01b03163314620005be5760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b60035481811415620006025760405162461bcd60e51b815260040180806020018281038252603b81526020018062002904603b913960400191505060405180910390fd5b6003829055604080518281526020810184905281517f481ce28a1145a5d9b59e2d1d7eba33bc3350124def8fdc91032238d343ad5361929181900390910190a15050565b600080546001600160a01b03163314620006925760405162461bcd60e51b8152600401808060200182810382526034815260200180620024b66034913960400191505060405180910390fd5b6200069d8462001832565b620006da5760405162461bcd60e51b815260040180806020018281038252602d8152602001806200269b602d913960400191505060405180910390fd5b6060635c9a6d3760e01b8686868660405160240180856001600160a01b03168152602001846001600160a01b0316815260200180602001828103825284848281815260200192508082843760008382015260408051601f909201601f1990811690940182810390940182529283526020810180516001600160e01b03166001600160e01b0319909b169a909a17909952505196975087968e965062000786955093506200204c92505050565b8080602001836001600160a01b03168152602001828103825284818151815260200191508051906020019080838360005b83811015620007d1578181015183820152602001620007b7565b50505050905090810190601f168015620007ff5780820380516001836020036101000a031916815260200191505b509350505050604051809103906000f08015801562000822573d6000803e3d6000fd5b506001600160a01b0380821660008181526005602090815260409182902080546001600160a01b0319163390811790915582519384528a85169184019190915260609183018281529183018890529395508a8316928a169184917fa50560b448ad796ef60adfeffe1c19ed34daf94c2aa6905d0e209017dbc19f589188918c918c918c919060808201848480828437600083820152604051601f909101601f191690920182900397509095505050505050a4505095945050505050565b6001546001600160a01b031690565b60035490565b620008fe6200205a565b506001600160a01b038083166000908152600660209081526040918290208251608081018452815485168082526001830154861693820193909352600282015490941692840192909252600390910154606083015280620009915760405162461bcd60e51b815260040180806020018281038252603d815260200180620028c7603d913960400191505060405180910390fd5b336001600160a01b03821614620009da5760405162461bcd60e51b81526004018080602001828103825260458152602001806200279c6045913960600191505060405180910390fd5b6000546001600160a01b0382811691161462000a285760405162461bcd60e51b815260040180806020018281038252604f815260200180620025ed604f913960600191505060405180910390fd5b60608201514281111562000a6e5760405162461bcd60e51b8152600401808060200182810382526038815260200180620027296038913960400191505060405180910390fd5b6001600160a01b0380861660009081526005602090815260409182902054908601519186015192169162000aa9600289858886868d62001838565b876001600160a01b0316634140d607826040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050600060405180830381600087803b15801562000af957600080fd5b505af115801562000b0e573d6000803e3d6000fd5b50505050876001600160a01b031663ab9253ac836040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050600060405180830381600087803b15801562000b6257600080fd5b505af115801562000b77573d6000803e3d6000fd5b5050506001600160a01b03808a1660009081526005602090815260408083208054948b166001600160a01b0319958616179055600690915281208054831681556001810180548416905560028101805490931690925560039182015562000be5915089858886868d62001838565b604080516001600160a01b038481168252838116602083015281830187905291518288169286811692908c16917fad6fb3d36e2cda148dfd43203c1a40c0da9a9baa662ae9d6c3b0c3e4a9d6a6359181900360600190a45050505050505050565b6001600160a01b03808216600090815260056020526040902054165b919050565b6001546001600160a01b031633811462000cb35760405162461bcd60e51b815260040180806020018281038252603e8152602001806200281c603e913960400191505060405180910390fd5b600180546001600160a01b0319908116909155600280546001600160a01b0384811693821684179092556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038116600090815260066020526040812060030154801580159062000d3c5750804210155b9392505050565b6002546001600160a01b0316331462000d8e5760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b6001600160a01b03811662000dd55760405162461bcd60e51b8152600401808060200182810382526036815260200180620026c86036913960400191505060405180910390fd5b6002546001600160a01b038281169116141562000e245760405162461bcd60e51b815260040180806020018281038252603b81526020018062002761603b913960400191505060405180910390fd5b6001546001600160a01b038281169116141562000e735760405162461bcd60e51b815260040180806020018281038252603b815260200180620027e1603b913960400191505060405180910390fd5b600180546001600160a01b0319166001600160a01b0383169081179091556040517f132c19de901bb4ed8403c34734b6c841d5dc57745824da452a52433519ea5abf90600090a250565b6002546001600160a01b0316331462000f085760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b62000f166004838362002081565b507ff0115712c23b609855a28d7b8963c6d16d732ae388b11e5d4ec6d5eae4ad8698828260405180806020018281038252848482818152602001925080828437600083820152604051601f909101601f19169092018290039550909350505050a15050565b6001600160a01b0381166000908152600660205260408120600301548062000fa857600091505062000c62565b80421062000fbb57600091505062000c62565b42900392915050565b6000546001600160a01b031690565b60008060008062000fe36200205a565b506001600160a01b038086166000908152600660209081526040918290208251608081018452815485168152600182015485169281019290925260028101549093169181019190915260039091015460608201819052156200106257806000015181602001518260400151836060015194509450945094505062001064565b505b9193509193565b6002546001600160a01b03163314620010b65760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b6001546001600160a01b031680620011005760405162461bcd60e51b81526004018080602001828103825260318152602001806200266a6031913960400191505060405180910390fd5b600180546001600160a01b03191690556040516001600160a01b038216907fe4136584a5e8bb85d66301f3ce8b11cc2e5a8bea3979f10ea2451353849acc4790600090a250565b6002546001600160a01b031690565b6002546001600160a01b03163314620011a15760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b6001600160a01b038116620011e85760405162461bcd60e51b81526004018080602001828103825260398152602001806200258e6039913960400191505060405180910390fd5b620011f38162001832565b620012305760405162461bcd60e51b8152600401808060200182810382526036815260200180620028916036913960400191505060405180910390fd5b6000546001600160a01b03908116908216811415620012815760405162461bcd60e51b81526004018080602001828103825260488152602001806200251a6048913960600191505060405180910390fd5b600080546001600160a01b0319166001600160a01b03848116918217909255604080519284168352602083019190915280517f44cf34a26ccbaa8a20e6098a1278e28682572ec9921eb43d8dab274a503e92f59281900390910190a15050565b620012eb6200205a565b506001600160a01b0380831660009081526006602090815260409182902082516080810184528154851680825260018301548616938201939093526002820154909416928401929092526003909101546060830152806200137e5760405162461bcd60e51b815260040180806020018281038252602c81526020018062002562602c913960400191505060405180910390fd5b336001600160a01b038216148062001407575060408051633ef03e7560e11b815233600482015290516001600160a01b03861691637de07cea916024808301926020929190829003018186803b158015620013d857600080fd5b505afa158015620013ed573d6000803e3d6000fd5b505050506040513d60208110156200140457600080fd5b50515b620014445760405162461bcd60e51b8152600401808060200182810382526026815260200180620025c76026913960400191505060405180910390fd5b6001600160a01b0380851660009081526005602090815260408083205486830151878301516060890151600690955292852080546001600160a01b03199081168255600182018054821690556002820180549091169055600301949094559093169290620014b9600489868887878d62001838565b620014c988858786868c62001bd1565b604080516001600160a01b038581168252848116602083015281830184905291518288169287811692908c16917f9851a8f232c380eb2c1065756776e37d85d4fe0c8cb4005b0d72c749bfef923e9181900360600190a45050505050505050565b60048054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815260609390929091830182828015620015ba5780601f106200158e57610100808354040283529160200191620015ba565b820191906000526020600020905b8154815290600101906020018083116200159c57829003601f168201915b5050505050905090565b6001600160a01b0316600090815260066020526040902060030154151590565b6000546001600160a01b031633146200162f5760405162461bcd60e51b8152600401808060200182810382526034815260200180620024b66034913960400191505060405180910390fd5b6200163a8362001832565b620016775760405162461bcd60e51b8152600401808060200182810382526030815260200180620024ea6030913960400191505060405180910390fd5b6001600160a01b038085166000908152600560205260409020541680620016d05760405162461bcd60e51b815260040180806020018281038252602b815260200180620026fe602b913960400191505060405180910390fd5b336001600160a01b0382168114156200171b5760405162461bcd60e51b81526004018080602001828103825260378152602001806200285a6037913960400191505060405180910390fd5b6200172d600087848489898962001838565b60038054604080516080810182526001600160a01b03808616825289811660208084019182528a831684860190815242909601606085018181528e85166000908152600690935295909120935184549084166001600160a01b0319918216178555915160018086018054928616928516929092179091559551600285018054919094169216919091179091559151930192909255620017d2908885858a8a8a62001838565b604080516001600160a01b038881168252878116602083015281830184905291518285169286811692908b16917fb519c42fdb88f83f098814813f2ebff14fbf14f3e68b054e5a98834c69d54bfb9181900360600190a450505050505050565b3b151590565b60006060866001600160a01b0316633f84c12c60e01b8a8a898989604051602401808660048111156200186757fe5b8152602001856001600160a01b03168152602001846001600160a01b03168152602001836001600160a01b03168152602001826001600160a01b0316815260200195505050505050604051602081830303815290604052906001600160e01b0319166020820180516001600160e01b0383818316178352505050506040518082805190602001908083835b60208310620019135780518252601f199092019160209182019101620018f2565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811462001977576040519150601f19603f3d011682016040523d82523d6000602084013e6200197c565b606091505b50915091508162001bc65782620019938a62001ea1565b826040516020018083805190602001908083835b60208310620019c85780518252601f199092019160209182019101620019a7565b51815160209384036101000a600019018019909216911617905285519190930192850191508083835b6020831062001a125780518252601f199092019160209182019101620019f1565b6001836020036101000a038019825116818451168082178552505050505050905001925050506040516020818303038152906040529062001ad45760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101562001a9857818101518382015260200162001a7e565b50505050905090810190601f16801562001ac65780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50856001600160a01b0316876001600160a01b0316896001600160a01b03167fbf0ae6830883bd89855f2e7b17a2924b5de0b2b3d4a8834d7c2c0d5dc53447db848d8a8a604051808060200185600481111562001b2d57fe5b8152602001846001600160a01b03168152602001836001600160a01b03168152602001828103825286818151815260200191508051906020019080838360005b8381101562001b8757818101518382015260200162001b6d565b50505050905090810190601f16801562001bb55780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a45b505050505050505050565b604080516001600160a01b038881166024830152878116604483015285811660648301528481166084808401919091528351808403909101815260a490920183526020820180516001600160e01b031663df369ba760e01b17815292518251600094606094938a169392918291908083835b6020831062001c645780518252601f19909201916020918201910162001c43565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811462001cc8576040519150601f19603f3d011682016040523d82523d6000602084013e62001ccd565b606091505b50915091508162001e9757828160405160200180807f4d6967726174696f6e4f757443616e63656c486f6f6b3a20000000000000000081525060180182805190602001908083835b6020831062001d365780518252601f19909201916020918201910162001d15565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040516020818303038152906040529062001db95760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831562001a9857818101518382015260200162001a7e565b50856001600160a01b0316876001600160a01b0316896001600160a01b03167f7c79070aa51adb676fb9c8d0f7a1f841ff9cf514444b37c95297ed1c52547b328489896040518080602001846001600160a01b03168152602001836001600160a01b03168152602001828103825285818151815260200191508051906020019080838360005b8381101562001e5957818101518382015260200162001e3f565b50505050905090810190601f16801562001e875780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a45b5050505050505050565b6060600082600481111562001eb257fe5b141562001ef4575060408051808201909152601c81527f4d6967726174696f6e4f7574486f6f6b2e5072655369676e616c3a2000000000602082015262000c62565b600182600481111562001f0357fe5b141562001f45575060408051808201909152601d81527f4d6967726174696f6e4f7574486f6f6b2e506f73745369676e616c3a20000000602082015262000c62565b600282600481111562001f5457fe5b141562001f96575060408051808201909152601d81527f4d6967726174696f6e4f7574486f6f6b2e5072654d6967726174653a20000000602082015262000c62565b600382600481111562001fa557fe5b141562001fe7575060408051808201909152601e81527f4d6967726174696f6e4f7574486f6f6b2e506f73744d6967726174653a200000602082015262000c62565b600482600481111562001ff657fe5b141562002038575060408051808201909152601d81527f4d6967726174696f6e4f7574486f6f6b2e506f737443616e63656c3a20000000602082015262000c62565b505060408051602081019091526000815290565b610398806200211e83390190565b60408051608081018252600080825260208201819052918101829052606081019190915290565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620020c45782800160ff19823516178555620020f4565b82800160010185558215620020f4579182015b82811115620020f4578235825591602001919060010190620020d7565b506200210292915062002106565b5090565b5b808211156200210257600081556001016200210756fe608060405234801561001057600080fd5b506040516103983803806103988339818101604052604081101561003357600080fd5b810190808051604051939291908464010000000082111561005357600080fd5b90830190602082018581111561006857600080fd5b825164010000000081118282018810171561008257600080fd5b82525081516020918201929091019080838360005b838110156100af578181015183820152602001610097565b50505050905090810190601f1680156100dc5780820380516001836020036101000a031916815260200191505b5060408181526020928301516352d1902d60e01b835290519094506001600160a01b03851693506352d1902d92600480840193919291829003018186803b15801561012657600080fd5b505afa15801561013a573d6000803e3d6000fd5b505050506040513d602081101561015057600080fd5b50517f027b9570e9fedc1a80b937ae9a06861e5faef3992491af30b684a64b3fbec7a5146101af5760405162461bcd60e51b81526004018080602001828103825260258152602001806103736025913960400191505060405180910390fd5b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5560006060826001600160a01b0316846040518082805190602001908083835b602083106102105780518252601f1990920191602091820191016101f1565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610270576040519150601f19603f3d011682016040523d82523d6000602084013e610275565b606091505b50915091508181906103055760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156102ca5781810151838201526020016102b2565b50505050905090810190601f1680156102f75780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5050505050605b806103186000396000f3fe60806040527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc543660008037600080366000846127105a03f43d806000803e818015604957816000f35b816000fdfea164736f6c634300060c000a636f6e7374727563746f723a205f7661756c744c6962206e6f7420636f6d70617469626c654f6e6c79207468652063757272656e742046756e644465706c6f7965722063616e2063616c6c20746869732066756e6374696f6e7369676e616c4d6967726174696f6e3a204e6f6e2d636f6e7472616374205f6e6578745661756c744163636573736f7273657443757272656e7446756e644465706c6f7965723a205f6e65787446756e644465706c6f79657220697320616c72656164792063757272656e7446756e644465706c6f79657263616e63656c4d6967726174696f6e3a204e6f206d6967726174696f6e20726571756573742065786973747373657443757272656e7446756e644465706c6f7965723a205f6e65787446756e644465706c6f7965722063616e6e6f7420626520656d70747963616e63656c4d6967726174696f6e3a204e6f7420616e20616c6c6f7765642063616c6c6572657865637574654d6967726174696f6e3a20546865207461726765742046756e644465706c6f796572206973206e6f206c6f6e676572207468652063757272656e742046756e644465706c6f7965724f6e6c792074686520636f6e7472616374206f776e65722063616e2063616c6c20746869732066756e6374696f6e72656d6f76654e6f6d696e617465644f776e65723a205468657265206973206e6f206e6f6d696e61746564206f776e65726465706c6f795661756c7450726f78793a204e6f6e2d636f6e7472616374205f7661756c744163636573736f727365744e6f6d696e617465644f776e65723a205f6e6578744e6f6d696e617465644f776e65722063616e6e6f7420626520656d7074797369676e616c4d6967726174696f6e3a205f7661756c7450726f787920646f6573206e6f74206578697374657865637574654d6967726174696f6e3a20546865206d6967726174696f6e2074696d656c6f636b20686173206e6f7420656c61707365647365744e6f6d696e617465644f776e65723a205f6e6578744e6f6d696e617465644f776e657220697320616c726561647920746865206f776e6572657865637574654d6967726174696f6e3a204f6e6c7920746865207461726765742046756e644465706c6f7965722063616e2063616c6c20746869732066756e6374696f6e7365744e6f6d696e617465644f776e65723a205f6e6578744e6f6d696e617465644f776e657220697320616c7265616479206e6f6d696e61746564636c61696d4f776e6572736869703a204f6e6c7920746865206e6f6d696e617465644f776e65722063616e2063616c6c20746869732066756e6374696f6e7369676e616c4d6967726174696f6e3a2043616e206f6e6c79206d69677261746520746f2061206e65772046756e644465706c6f79657273657443757272656e7446756e644465706c6f7965723a204e6f6e2d636f6e7472616374205f6e65787446756e644465706c6f796572657865637574654d6967726174696f6e3a204e6f206d6967726174696f6e20726571756573742065786973747320666f72205f7661756c7450726f78797365744d6967726174696f6e54696d656c6f636b3a205f6e65787454696d656c6f636b206973207468652063757272656e742074696d656c6f636ba164736f6c634300060c000a", "sourceMap": "834:23848:20:-:0;;;3716:128;;;;;;;;;-1:-1:-1;3767:6:20;3747:17;:26;3783:5;:18;;-1:-1:-1;;;;;;3783:18:20;3791:10;3783:18;;;3811:26;;;;;;;;;;;;;-1:-1:-1;;;3811:26:20;;;;;;;;;;;:::i;:::-;;834:23848;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;834:23848:20;;;-1:-1:-1;834:23848:20;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x60806040523480156200001157600080fd5b5060043610620001485760003560e01c806377a8c62411620000bd57806397af7050116200007b57806397af7050146200042d5780639c9d48da1462000456578063b47b06001462000487578063d0449d3d1462000509578063d15f9b9c14620005325762000148565b806377a8c62414620003885780637c77b2ed14620003b15780637dad9fc814620003bb5780638156eecf1462000419578063893d20e814620004235762000148565b80633d7c74f8116200010b5780633d7c74f814620002795780634e71e0c814620002a257806366231cea14620002ac578063728e17a014620002e9578063757bc0dd14620003125762000148565b80631df419f7146200014d57806322a0c08b146200016f578063288b6a3614620002225780632fa0c161146200022c57806338b3eb1b1462000248575b600080fd5b6200016d600480360360208110156200016557600080fd5b503562000573565b005b62000206600480360360808110156200018757600080fd5b6001600160a01b0382358116926020810135821692604082013590921691810190608081016060820135640100000000811115620001c457600080fd5b820183602082011115620001d757600080fd5b80359060200191846001830284011164010000000083111715620001fa57600080fd5b50909250905062000646565b604080516001600160a01b039092168252519081900360200190f35b62000206620008df565b62000236620008ee565b60408051918252519081900360200190f35b6200016d600480360360408110156200026057600080fd5b506001600160a01b0381351690602001351515620008f4565b62000206600480360360208110156200029157600080fd5b50356001600160a01b031662000c46565b6200016d62000c67565b620002d560048036036020811015620002c457600080fd5b50356001600160a01b031662000d10565b604080519115158252519081900360200190f35b6200016d600480360360208110156200030157600080fd5b50356001600160a01b031662000d43565b6200016d600480360360208110156200032a57600080fd5b8101906020810181356401000000008111156200034657600080fd5b8201836020820111156200035957600080fd5b803590602001918460018302840111640100000000831117156200037c57600080fd5b50909250905062000ebd565b6200023660048036036020811015620003a057600080fd5b50356001600160a01b031662000f7b565b6200020662000fc4565b620003e460048036036020811015620003d357600080fd5b50356001600160a01b031662000fd3565b604080516001600160a01b03958616815293851660208501529190931682820152606082019290925290519081900360800190f35b6200016d6200106b565b6200020662001147565b6200016d600480360360208110156200044557600080fd5b50356001600160a01b031662001156565b6200016d600480360360408110156200046e57600080fd5b506001600160a01b0381351690602001351515620012e1565b620004916200152a565b6040805160208082528351818301528351919283929083019185019080838360005b83811015620004cd578181015183820152602001620004b3565b50505050905090810190601f168015620004fb5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b620002d5600480360360208110156200052157600080fd5b50356001600160a01b0316620015c4565b6200016d600480360360808110156200054a57600080fd5b506001600160a01b038135811691602081013582169160408201351690606001351515620015e4565b6002546001600160a01b03163314620005be5760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b60035481811415620006025760405162461bcd60e51b815260040180806020018281038252603b81526020018062002904603b913960400191505060405180910390fd5b6003829055604080518281526020810184905281517f481ce28a1145a5d9b59e2d1d7eba33bc3350124def8fdc91032238d343ad5361929181900390910190a15050565b600080546001600160a01b03163314620006925760405162461bcd60e51b8152600401808060200182810382526034815260200180620024b66034913960400191505060405180910390fd5b6200069d8462001832565b620006da5760405162461bcd60e51b815260040180806020018281038252602d8152602001806200269b602d913960400191505060405180910390fd5b6060635c9a6d3760e01b8686868660405160240180856001600160a01b03168152602001846001600160a01b0316815260200180602001828103825284848281815260200192508082843760008382015260408051601f909201601f1990811690940182810390940182529283526020810180516001600160e01b03166001600160e01b0319909b169a909a17909952505196975087968e965062000786955093506200204c92505050565b8080602001836001600160a01b03168152602001828103825284818151815260200191508051906020019080838360005b83811015620007d1578181015183820152602001620007b7565b50505050905090810190601f168015620007ff5780820380516001836020036101000a031916815260200191505b509350505050604051809103906000f08015801562000822573d6000803e3d6000fd5b506001600160a01b0380821660008181526005602090815260409182902080546001600160a01b0319163390811790915582519384528a85169184019190915260609183018281529183018890529395508a8316928a169184917fa50560b448ad796ef60adfeffe1c19ed34daf94c2aa6905d0e209017dbc19f589188918c918c918c919060808201848480828437600083820152604051601f909101601f191690920182900397509095505050505050a4505095945050505050565b6001546001600160a01b031690565b60035490565b620008fe6200205a565b506001600160a01b038083166000908152600660209081526040918290208251608081018452815485168082526001830154861693820193909352600282015490941692840192909252600390910154606083015280620009915760405162461bcd60e51b815260040180806020018281038252603d815260200180620028c7603d913960400191505060405180910390fd5b336001600160a01b03821614620009da5760405162461bcd60e51b81526004018080602001828103825260458152602001806200279c6045913960600191505060405180910390fd5b6000546001600160a01b0382811691161462000a285760405162461bcd60e51b815260040180806020018281038252604f815260200180620025ed604f913960600191505060405180910390fd5b60608201514281111562000a6e5760405162461bcd60e51b8152600401808060200182810382526038815260200180620027296038913960400191505060405180910390fd5b6001600160a01b0380861660009081526005602090815260409182902054908601519186015192169162000aa9600289858886868d62001838565b876001600160a01b0316634140d607826040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050600060405180830381600087803b15801562000af957600080fd5b505af115801562000b0e573d6000803e3d6000fd5b50505050876001600160a01b031663ab9253ac836040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050600060405180830381600087803b15801562000b6257600080fd5b505af115801562000b77573d6000803e3d6000fd5b5050506001600160a01b03808a1660009081526005602090815260408083208054948b166001600160a01b0319958616179055600690915281208054831681556001810180548416905560028101805490931690925560039182015562000be5915089858886868d62001838565b604080516001600160a01b038481168252838116602083015281830187905291518288169286811692908c16917fad6fb3d36e2cda148dfd43203c1a40c0da9a9baa662ae9d6c3b0c3e4a9d6a6359181900360600190a45050505050505050565b6001600160a01b03808216600090815260056020526040902054165b919050565b6001546001600160a01b031633811462000cb35760405162461bcd60e51b815260040180806020018281038252603e8152602001806200281c603e913960400191505060405180910390fd5b600180546001600160a01b0319908116909155600280546001600160a01b0384811693821684179092556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038116600090815260066020526040812060030154801580159062000d3c5750804210155b9392505050565b6002546001600160a01b0316331462000d8e5760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b6001600160a01b03811662000dd55760405162461bcd60e51b8152600401808060200182810382526036815260200180620026c86036913960400191505060405180910390fd5b6002546001600160a01b038281169116141562000e245760405162461bcd60e51b815260040180806020018281038252603b81526020018062002761603b913960400191505060405180910390fd5b6001546001600160a01b038281169116141562000e735760405162461bcd60e51b815260040180806020018281038252603b815260200180620027e1603b913960400191505060405180910390fd5b600180546001600160a01b0319166001600160a01b0383169081179091556040517f132c19de901bb4ed8403c34734b6c841d5dc57745824da452a52433519ea5abf90600090a250565b6002546001600160a01b0316331462000f085760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b62000f166004838362002081565b507ff0115712c23b609855a28d7b8963c6d16d732ae388b11e5d4ec6d5eae4ad8698828260405180806020018281038252848482818152602001925080828437600083820152604051601f909101601f19169092018290039550909350505050a15050565b6001600160a01b0381166000908152600660205260408120600301548062000fa857600091505062000c62565b80421062000fbb57600091505062000c62565b42900392915050565b6000546001600160a01b031690565b60008060008062000fe36200205a565b506001600160a01b038086166000908152600660209081526040918290208251608081018452815485168152600182015485169281019290925260028101549093169181019190915260039091015460608201819052156200106257806000015181602001518260400151836060015194509450945094505062001064565b505b9193509193565b6002546001600160a01b03163314620010b65760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b6001546001600160a01b031680620011005760405162461bcd60e51b81526004018080602001828103825260318152602001806200266a6031913960400191505060405180910390fd5b600180546001600160a01b03191690556040516001600160a01b038216907fe4136584a5e8bb85d66301f3ce8b11cc2e5a8bea3979f10ea2451353849acc4790600090a250565b6002546001600160a01b031690565b6002546001600160a01b03163314620011a15760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b6001600160a01b038116620011e85760405162461bcd60e51b81526004018080602001828103825260398152602001806200258e6039913960400191505060405180910390fd5b620011f38162001832565b620012305760405162461bcd60e51b8152600401808060200182810382526036815260200180620028916036913960400191505060405180910390fd5b6000546001600160a01b03908116908216811415620012815760405162461bcd60e51b81526004018080602001828103825260488152602001806200251a6048913960600191505060405180910390fd5b600080546001600160a01b0319166001600160a01b03848116918217909255604080519284168352602083019190915280517f44cf34a26ccbaa8a20e6098a1278e28682572ec9921eb43d8dab274a503e92f59281900390910190a15050565b620012eb6200205a565b506001600160a01b0380831660009081526006602090815260409182902082516080810184528154851680825260018301548616938201939093526002820154909416928401929092526003909101546060830152806200137e5760405162461bcd60e51b815260040180806020018281038252602c81526020018062002562602c913960400191505060405180910390fd5b336001600160a01b038216148062001407575060408051633ef03e7560e11b815233600482015290516001600160a01b03861691637de07cea916024808301926020929190829003018186803b158015620013d857600080fd5b505afa158015620013ed573d6000803e3d6000fd5b505050506040513d60208110156200140457600080fd5b50515b620014445760405162461bcd60e51b8152600401808060200182810382526026815260200180620025c76026913960400191505060405180910390fd5b6001600160a01b0380851660009081526005602090815260408083205486830151878301516060890151600690955292852080546001600160a01b03199081168255600182018054821690556002820180549091169055600301949094559093169290620014b9600489868887878d62001838565b620014c988858786868c62001bd1565b604080516001600160a01b038581168252848116602083015281830184905291518288169287811692908c16917f9851a8f232c380eb2c1065756776e37d85d4fe0c8cb4005b0d72c749bfef923e9181900360600190a45050505050505050565b60048054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815260609390929091830182828015620015ba5780601f106200158e57610100808354040283529160200191620015ba565b820191906000526020600020905b8154815290600101906020018083116200159c57829003601f168201915b5050505050905090565b6001600160a01b0316600090815260066020526040902060030154151590565b6000546001600160a01b031633146200162f5760405162461bcd60e51b8152600401808060200182810382526034815260200180620024b66034913960400191505060405180910390fd5b6200163a8362001832565b620016775760405162461bcd60e51b8152600401808060200182810382526030815260200180620024ea6030913960400191505060405180910390fd5b6001600160a01b038085166000908152600560205260409020541680620016d05760405162461bcd60e51b815260040180806020018281038252602b815260200180620026fe602b913960400191505060405180910390fd5b336001600160a01b0382168114156200171b5760405162461bcd60e51b81526004018080602001828103825260378152602001806200285a6037913960400191505060405180910390fd5b6200172d600087848489898962001838565b60038054604080516080810182526001600160a01b03808616825289811660208084019182528a831684860190815242909601606085018181528e85166000908152600690935295909120935184549084166001600160a01b0319918216178555915160018086018054928616928516929092179091559551600285018054919094169216919091179091559151930192909255620017d2908885858a8a8a62001838565b604080516001600160a01b038881168252878116602083015281830184905291518285169286811692908b16917fb519c42fdb88f83f098814813f2ebff14fbf14f3e68b054e5a98834c69d54bfb9181900360600190a450505050505050565b3b151590565b60006060866001600160a01b0316633f84c12c60e01b8a8a898989604051602401808660048111156200186757fe5b8152602001856001600160a01b03168152602001846001600160a01b03168152602001836001600160a01b03168152602001826001600160a01b0316815260200195505050505050604051602081830303815290604052906001600160e01b0319166020820180516001600160e01b0383818316178352505050506040518082805190602001908083835b60208310620019135780518252601f199092019160209182019101620018f2565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811462001977576040519150601f19603f3d011682016040523d82523d6000602084013e6200197c565b606091505b50915091508162001bc65782620019938a62001ea1565b826040516020018083805190602001908083835b60208310620019c85780518252601f199092019160209182019101620019a7565b51815160209384036101000a600019018019909216911617905285519190930192850191508083835b6020831062001a125780518252601f199092019160209182019101620019f1565b6001836020036101000a038019825116818451168082178552505050505050905001925050506040516020818303038152906040529062001ad45760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101562001a9857818101518382015260200162001a7e565b50505050905090810190601f16801562001ac65780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50856001600160a01b0316876001600160a01b0316896001600160a01b03167fbf0ae6830883bd89855f2e7b17a2924b5de0b2b3d4a8834d7c2c0d5dc53447db848d8a8a604051808060200185600481111562001b2d57fe5b8152602001846001600160a01b03168152602001836001600160a01b03168152602001828103825286818151815260200191508051906020019080838360005b8381101562001b8757818101518382015260200162001b6d565b50505050905090810190601f16801562001bb55780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a45b505050505050505050565b604080516001600160a01b038881166024830152878116604483015285811660648301528481166084808401919091528351808403909101815260a490920183526020820180516001600160e01b031663df369ba760e01b17815292518251600094606094938a169392918291908083835b6020831062001c645780518252601f19909201916020918201910162001c43565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811462001cc8576040519150601f19603f3d011682016040523d82523d6000602084013e62001ccd565b606091505b50915091508162001e9757828160405160200180807f4d6967726174696f6e4f757443616e63656c486f6f6b3a20000000000000000081525060180182805190602001908083835b6020831062001d365780518252601f19909201916020918201910162001d15565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040516020818303038152906040529062001db95760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831562001a9857818101518382015260200162001a7e565b50856001600160a01b0316876001600160a01b0316896001600160a01b03167f7c79070aa51adb676fb9c8d0f7a1f841ff9cf514444b37c95297ed1c52547b328489896040518080602001846001600160a01b03168152602001836001600160a01b03168152602001828103825285818151815260200191508051906020019080838360005b8381101562001e5957818101518382015260200162001e3f565b50505050905090810190601f16801562001e875780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a45b5050505050505050565b6060600082600481111562001eb257fe5b141562001ef4575060408051808201909152601c81527f4d6967726174696f6e4f7574486f6f6b2e5072655369676e616c3a2000000000602082015262000c62565b600182600481111562001f0357fe5b141562001f45575060408051808201909152601d81527f4d6967726174696f6e4f7574486f6f6b2e506f73745369676e616c3a20000000602082015262000c62565b600282600481111562001f5457fe5b141562001f96575060408051808201909152601d81527f4d6967726174696f6e4f7574486f6f6b2e5072654d6967726174653a20000000602082015262000c62565b600382600481111562001fa557fe5b141562001fe7575060408051808201909152601e81527f4d6967726174696f6e4f7574486f6f6b2e506f73744d6967726174653a200000602082015262000c62565b600482600481111562001ff657fe5b141562002038575060408051808201909152601d81527f4d6967726174696f6e4f7574486f6f6b2e506f737443616e63656c3a20000000602082015262000c62565b505060408051602081019091526000815290565b610398806200211e83390190565b60408051608081018252600080825260208201819052918101829052606081019190915290565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620020c45782800160ff19823516178555620020f4565b82800160010185558215620020f4579182015b82811115620020f4578235825591602001919060010190620020d7565b506200210292915062002106565b5090565b5b808211156200210257600081556001016200210756fe608060405234801561001057600080fd5b506040516103983803806103988339818101604052604081101561003357600080fd5b810190808051604051939291908464010000000082111561005357600080fd5b90830190602082018581111561006857600080fd5b825164010000000081118282018810171561008257600080fd5b82525081516020918201929091019080838360005b838110156100af578181015183820152602001610097565b50505050905090810190601f1680156100dc5780820380516001836020036101000a031916815260200191505b5060408181526020928301516352d1902d60e01b835290519094506001600160a01b03851693506352d1902d92600480840193919291829003018186803b15801561012657600080fd5b505afa15801561013a573d6000803e3d6000fd5b505050506040513d602081101561015057600080fd5b50517f027b9570e9fedc1a80b937ae9a06861e5faef3992491af30b684a64b3fbec7a5146101af5760405162461bcd60e51b81526004018080602001828103825260258152602001806103736025913960400191505060405180910390fd5b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5560006060826001600160a01b0316846040518082805190602001908083835b602083106102105780518252601f1990920191602091820191016101f1565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610270576040519150601f19603f3d011682016040523d82523d6000602084013e610275565b606091505b50915091508181906103055760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156102ca5781810151838201526020016102b2565b50505050905090810190601f1680156102f75780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5050505050605b806103186000396000f3fe60806040527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc543660008037600080366000846127105a03f43d806000803e818015604957816000f35b816000fdfea164736f6c634300060c000a636f6e7374727563746f723a205f7661756c744c6962206e6f7420636f6d70617469626c654f6e6c79207468652063757272656e742046756e644465706c6f7965722063616e2063616c6c20746869732066756e6374696f6e7369676e616c4d6967726174696f6e3a204e6f6e2d636f6e7472616374205f6e6578745661756c744163636573736f7273657443757272656e7446756e644465706c6f7965723a205f6e65787446756e644465706c6f79657220697320616c72656164792063757272656e7446756e644465706c6f79657263616e63656c4d6967726174696f6e3a204e6f206d6967726174696f6e20726571756573742065786973747373657443757272656e7446756e644465706c6f7965723a205f6e65787446756e644465706c6f7965722063616e6e6f7420626520656d70747963616e63656c4d6967726174696f6e3a204e6f7420616e20616c6c6f7765642063616c6c6572657865637574654d6967726174696f6e3a20546865207461726765742046756e644465706c6f796572206973206e6f206c6f6e676572207468652063757272656e742046756e644465706c6f7965724f6e6c792074686520636f6e7472616374206f776e65722063616e2063616c6c20746869732066756e6374696f6e72656d6f76654e6f6d696e617465644f776e65723a205468657265206973206e6f206e6f6d696e61746564206f776e65726465706c6f795661756c7450726f78793a204e6f6e2d636f6e7472616374205f7661756c744163636573736f727365744e6f6d696e617465644f776e65723a205f6e6578744e6f6d696e617465644f776e65722063616e6e6f7420626520656d7074797369676e616c4d6967726174696f6e3a205f7661756c7450726f787920646f6573206e6f74206578697374657865637574654d6967726174696f6e3a20546865206d6967726174696f6e2074696d656c6f636b20686173206e6f7420656c61707365647365744e6f6d696e617465644f776e65723a205f6e6578744e6f6d696e617465644f776e657220697320616c726561647920746865206f776e6572657865637574654d6967726174696f6e3a204f6e6c7920746865207461726765742046756e644465706c6f7965722063616e2063616c6c20746869732066756e6374696f6e7365744e6f6d696e617465644f776e65723a205f6e6578744e6f6d696e617465644f776e657220697320616c7265616479206e6f6d696e61746564636c61696d4f776e6572736869703a204f6e6c7920746865206e6f6d696e617465644f776e65722063616e2063616c6c20746869732066756e6374696f6e7369676e616c4d6967726174696f6e3a2043616e206f6e6c79206d69677261746520746f2061206e65772046756e644465706c6f79657273657443757272656e7446756e644465706c6f7965723a204e6f6e2d636f6e7472616374205f6e65787446756e644465706c6f796572657865637574654d6967726174696f6e3a204e6f206d6967726174696f6e20726571756573742065786973747320666f72205f7661756c7450726f78797365744d6967726174696f6e54696d656c6f636b3a205f6e65787454696d656c6f636b206973207468652063757272656e742074696d656c6f636ba164736f6c634300060c000a", "sourceMap": "834:23848:20:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13467:392;;;;;;;;;;;;;;;;-1:-1:-1;13467:392:20;;:::i;:::-;;7598:909;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7598:909:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7598:909:20;;-1:-1:-1;7598:909:20;-1:-1:-1;7598:909:20;:::i;:::-;;;;-1:-1:-1;;;;;7598:909:20;;;;;;;;;;;;;;22235:124;;;:::i;21929:133::-;;;:::i;:::-;;;;;;;;;;;;;;;;10978:2365;;;;;;;;;;;;;;;;-1:-1:-1;10978:2365:20;;-1:-1:-1;;;;;10978:2365:20;;;;;;;;:::i;20370:211::-;;;;;;;;;;;;;;;;-1:-1:-1;20370:211:20;-1:-1:-1;;;;;20370:211:20;;:::i;4337:390::-;;;:::i;23876:360::-;;;;;;;;;;;;;;;;-1:-1:-1;23876:360:20;-1:-1:-1;;;;;23876:360:20;;:::i;:::-;;;;;;;;;;;;;;;;;;6208:633;;;;;;;;;;;;;;;;-1:-1:-1;6208:633:20;-1:-1:-1;;;;;6208:633:20;;:::i;4023:184::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4023:184:20;;-1:-1:-1;4023:184:20;-1:-1:-1;4023:184:20;:::i;23128:500::-;;;;;;;;;;;;;;;;-1:-1:-1;23128:500:20;-1:-1:-1;;;;;23128:500:20;;:::i;19992:175::-;;;:::i;21137:620::-;;;;;;;;;;;;;;;;-1:-1:-1;21137:620:20;-1:-1:-1;;;;;21137:620:20;;:::i;:::-;;;;-1:-1:-1;;;;;21137:620:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4795:356;;;:::i;22466:97::-;;;:::i;5298:729::-;;;;;;;;;;;;;;;;-1:-1:-1;5298:729:20;-1:-1:-1;;;;;5298:729:20;;:::i;9065:1669::-;;;;;;;;;;;;;;;;-1:-1:-1;9065:1669:20;;-1:-1:-1;;;;;9065:1669:20;;;;;;;;:::i;22708:175::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24446:234;;;;;;;;;;;;;;;;-1:-1:-1;24446:234:20;-1:-1:-1;;;;;24446:234:20;;:::i;14299:1840::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;14299:1840:20;;;;;;;;;;;;;;;;;;;;;;;;:::i;13467:392::-;3636:5;;-1:-1:-1;;;;;3636:5:20;3622:10;:19;3614:78;;;;-1:-1:-1;;;3614:78:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13581:17:::1;::::0;13629:29;;::::1;;13608:135;;;;-1:-1:-1::0;;;13608:135:20::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13754:17;:33:::0;;;13803:49:::1;::::0;;;;;::::1;::::0;::::1;::::0;;;;;::::1;::::0;;;;;;;;;::::1;3702:1;13467:392:::0;:::o;7598:909::-;7799:19;3462;;-1:-1:-1;;;;;3462:19:20;3448:10;:33;3427:132;;;;-1:-1:-1;;;3427:132:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7838:28:::1;7851:14;7838:12;:28::i;:::-;7830:86;;;;-1:-1:-1::0;;;7830:86:20::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7956:147;::::0;-1:-1:-1;;;;;7956:147:20;;::::1;;::::0;::::1;::::0;;;;;::::1;::::0;;;;7927:26:::1;7956:147:::0;;;;;;;;;;;;7927:26;;-1:-1:-1;;;;7956:147:20;;;;8084:9;;7956:147;;;;;;8084:9;7956:147;;8084:9;7956:147;::::1;;::::0;;::::1;::::0;::::1;::::0;;::::1;::::0;;::::1;-1:-1:-1::0;;7956:147:20;;::::1;::::0;;::::1;::::0;;::::1;::::0;;;;;;;;::::1;::::0;::::1;::::0;;-1:-1:-1;;;;;7956:147:20::1;-1:-1:-1::0;;;;;;7956:147:20;;;::::1;::::0;;;::::1;::::0;;;-1:-1:-1;8135:40:20;7956:147;;-1:-1:-1;7956:147:20;;8165:9;;-1:-1:-1;8135:40:20::1;::::0;-1:-1:-1;8135:40:20;-1:-1:-1;8135:40:20::1;::::0;-1:-1:-1;;;8135:40:20:i:1;:::-;-1:-1:-1::0;;;;;8135:40:20;::::1;;::::0;;::::1;::::0;;;;;;;;;;;;;;;;;;;;;;;;::::1;::::0;;;;-1:-1:-1;8135:40:20::1;;;;;;;::::0;;::::1;::::0;;;::::1;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;;;;;8230:37:20;;::::1;8187:20;8230:37:::0;;;:24:::1;:37;::::0;;;;;;;;:52;;-1:-1:-1;;;;;;8230:52:20::1;8210:10;8230:52:::0;;::::1;::::0;;;8298:173;;;;;;;::::1;::::0;;::::1;::::0;;;;;;;;;;;;;;;;;8230:37;;-1:-1:-1;8298:173:20;;::::1;::::0;;::::1;::::0;8210:10;;8298:173:::1;::::0;8230:37;;8298:173;;8452:9;;8298:173;;;;;;8452:9;8298:173;;8452:9;8298:173;::::1;;::::0;;::::1;::::0;::::1;::::0;::::1;::::0;;::::1;-1:-1:-1::0;;8298:173:20::1;::::0;;::::1;::::0;;::::1;::::0;-1:-1:-1;8298:173:20;;-1:-1:-1;;;;;;8298:173:20::1;8482:18;;7598:909:::0;;;;;;;:::o;22235:124::-;22338:14;;-1:-1:-1;;;;;22338:14:20;;22235:124::o;21929:133::-;22038:17;;21929:133;:::o;10978:2365::-;11074:31;;:::i;:::-;-1:-1:-1;;;;;;11108:41:20;;;;;;;:28;:41;;;;;;;;;11074:75;;;;;;;;;;;;;;-1:-1:-1;11074:75:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11220:138;;;;-1:-1:-1;;;11220:138:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11389:30:20;;:10;:30;11368:146;;;;-1:-1:-1;;;11368:146:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11565:19;;-1:-1:-1;;;;;11545:39:20;;;11565:19;;11545:39;11524:165;;;;-1:-1:-1;;;11524:165:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11729:27;;;;11787:15;:38;-1:-1:-1;11787:38:20;11766:141;;;;-1:-1:-1;;;11766:141:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11945:37:20;;;11918:24;11945:37;;;:24;:37;;;;;;;;;;12020:25;;;;12078:20;;;;11945:37;;;12109:267;12147:49;11945:37;;12265:16;12020:25;12078:20;12352:14;12109:24;:267::i;:::-;12484:55;;;-1:-1:-1;;;12484:55:20;;-1:-1:-1;;;;;12484:55:20;;;;;;;;;:41;;;;-1:-1:-1;;12484:55:20;;;;;-1:-1:-1;;12484:55:20;;;;;;;;-1:-1:-1;12484:41:20;:55;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;12549:60:20;;;-1:-1:-1;;;12549:60:20;;-1:-1:-1;;;;;12549:60:20;;;;;;;;;:41;;;;-1:-1:-1;12549:41:20;;-1:-1:-1;12549:60:20;;;;;-1:-1:-1;;12549:60:20;;;;;;;;-1:-1:-1;12549:41:20;:60;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;12684:37:20;;;;;;;:24;:37;;;;;;;;:56;;;;;-1:-1:-1;;;;;;12684:56:20;;;;;;12798:28;:41;;;;;12791:48;;;;;;-1:-1:-1;12791:48:20;;;;;;;;;;;;;;;;;;;;;;;;12850:268;;12684:37;12977:16;12684:56;13037:17;13068:12;13094:14;12850:24;:268::i;:::-;13134:202;;;-1:-1:-1;;;;;13134:202:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10978:2365;;;;;;;;:::o;20370:211::-;-1:-1:-1;;;;;20537:37:20;;;20493:21;20537:37;;;:24;:37;;;;;;;20370:211;;;;:::o;4337:390::-;4411:14;;-1:-1:-1;;;;;4411:14:20;4456:10;:23;;4435:132;;;;-1:-1:-1;;;4435:132:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4585:14;4578:21;;-1:-1:-1;;;;;;4578:21:20;;;;;;4630:5;;;-1:-1:-1;;;;;4645:17:20;;;;;;;;;;;4678:42;;4630:5;;;4645:17;4630:5;;4678:42;;-1:-1:-1;;4678:42:20;4337:390;;:::o;23876:360::-;-1:-1:-1;;;;;24072:41:20;;24000:26;24072:41;;;:28;:41;;;;;:74;;;24164:23;;;;;:65;;;24210:19;24191:15;:38;;24164:65;24157:72;23876:360;-1:-1:-1;;;23876:360:20:o;6208:633::-;3636:5;;-1:-1:-1;;;;;3636:5:20;3622:10;:19;3614:78;;;;-1:-1:-1;;;3614:78:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6323:33:20;::::1;6302:134;;;;-1:-1:-1::0;;;6302:134:20::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6490:5;::::0;-1:-1:-1;;;;;6467:28:20;;::::1;6490:5:::0;::::1;6467:28;;6446:134;;;;-1:-1:-1::0;;;6446:134:20::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6634:14;::::0;-1:-1:-1;;;;;6611:37:20;;::::1;6634:14:::0;::::1;6611:37;;6590:143;;;;-1:-1:-1::0;;;6590:143:20::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6744:14;:36:::0;;-1:-1:-1;;;;;;6744:36:20::1;-1:-1:-1::0;;;;;6744:36:20;::::1;::::0;;::::1;::::0;;;6796:38:::1;::::0;::::1;::::0;-1:-1:-1;;6796:38:20::1;6208:633:::0;:::o;4023:184::-;3636:5;;-1:-1:-1;;;;;3636:5:20;3622:10;:19;3614:78;;;;-1:-1:-1;;;3614:78:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4120:31:::1;:17;4140:11:::0;;4120:31:::1;:::i;:::-;;4167:33;4188:11;;4167:33;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;;::::1;::::0;::::1;::::0;::::1;::::0;;::::1;-1:-1:-1::0;;4167:33:20::1;::::0;;::::1;::::0;;::::1;::::0;-1:-1:-1;4167:33:20;;-1:-1:-1;;;;4167:33:20::1;4023:184:::0;;:::o;23128:500::-;-1:-1:-1;;;;;23333:41:20;;23262:25;23333:41;;;:28;:41;;;;;:74;;;;23417:63;;23468:1;23461:8;;;;;23417:63;23513:19;23494:15;:38;23490:77;;23555:1;23548:8;;;;;23490:77;23606:15;23584:37;;;23128:500;-1:-1:-1;;23128:500:20:o;19992:175::-;20090:28;20141:19;-1:-1:-1;;;;;20141:19:20;;19992:175::o;21137:620::-;21284:25;21323:26;21363:21;21398:28;21451:25;;:::i;:::-;-1:-1:-1;;;;;;21479:41:20;;;;;;;:28;:41;;;;;;;;;21451:69;;;;;;;;;;;;;-1:-1:-1;21451:69:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21534:25;21530:221;;21600:1;:18;;;21636:1;:19;;;21673:1;:14;;;21705:1;:21;;;21575:165;;;;;;;;;;;21530:221;21137:620;;;;;;;:::o;4795:356::-;3636:5;;-1:-1:-1;;;;;3636:5:20;3622:10;:19;3614:78;;;;-1:-1:-1;;;3614:78:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4897:14:::1;::::0;-1:-1:-1;;;;;4897:14:20::1;::::0;4921:131:::1;;;;-1:-1:-1::0;;;4921:131:20::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5070:14;5063:21:::0;;-1:-1:-1;;;;;;5063:21:20::1;::::0;;5100:44:::1;::::0;-1:-1:-1;;;;;5100:44:20;::::1;::::0;::::1;::::0;-1:-1:-1;;5100:44:20::1;3702:1;4795:356::o:0;22466:97::-;22551:5;;-1:-1:-1;;;;;22551:5:20;;22466:97::o;5298:729::-;3636:5;;-1:-1:-1;;;;;3636:5:20;3622:10;:19;3614:78;;;;-1:-1:-1;;;3614:78:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5416:31:20;::::1;5395:135;;;;-1:-1:-1::0;;;5395:135:20::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5561:31;5574:17;5561:12;:31::i;:::-;5540:132;;;;-1:-1:-1::0;;;5540:132:20::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5683:24;5710:19:::0;-1:-1:-1;;;;;5710:19:20;;::::1;::::0;5760:37;::::1;::::0;::::1;;5739:156;;;;-1:-1:-1::0;;;5739:156:20::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5906:19;:39:::0;;-1:-1:-1;;;;;;5906:39:20::1;-1:-1:-1::0;;;;;5906:39:20;;::::1;::::0;;::::1;::::0;;;5961:59:::1;::::0;;;;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;::::1;::::0;;;;;;;;::::1;3702:1;5298:729:::0;:::o;9065:1669::-;9160:31;;:::i;:::-;-1:-1:-1;;;;;;9194:41:20;;;;;;;:28;:41;;;;;;;;;9160:75;;;;;;;;;;;;;;-1:-1:-1;9160:75:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9306:87;;;;-1:-1:-1;;;9306:87:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9544:30:20;;:10;:30;;:86;;-1:-1:-1;9578:52:20;;;-1:-1:-1;;;9578:52:20;;9619:10;9578:52;;;;;;-1:-1:-1;;;;;9578:40:20;;;;;:52;;;;;;;;;;;;;;:40;:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9578:52:20;9544:86;9523:171;;;;-1:-1:-1;;;9523:171:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9732:37:20;;;9705:24;9732:37;;;:24;:37;;;;;;;;;9807:25;;;;9865:20;;;;9925:27;;;;9970:28;:41;;;;;;9963:48;;-1:-1:-1;;;;;;9963:48:20;;;;;-1:-1:-1;9963:48:20;;;;;;;;;;;;;;;;;;;;;;;;9732:37;;;;9865:20;10022:267;10060:49;9732:37;;10178:16;9807:25;9865:20;10265:14;10022:24;:267::i;:::-;10299:209;10342:11;10367:16;10397;10427:17;10458:12;10484:14;10299:29;:209::i;:::-;10524:203;;;-1:-1:-1;;;;;10524:203:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9065:1669;;;;;;;;:::o;22708:175::-;22859:17;22852:24;;;;;;;;;;;;;-1:-1:-1;;22852:24:20;;;;;;;;;;;;;;;;;;;;;;;;;;22804:32;;22852:24;;22859:17;;22852:24;;;22859:17;22852:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22708:175;:::o;24446:234::-;-1:-1:-1;;;;;24608:41:20;24560:25;24608:41;;;:28;:41;;;;;:61;;;:65;;;24446:234::o;14299:1840::-;3462:19;;-1:-1:-1;;;;;3462:19:20;3448:10;:33;3427:132;;;;-1:-1:-1;;;3427:132:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14528:32:::1;14541:18;14528:12;:32::i;:::-;14507:127;;;;-1:-1:-1::0;;;14507:127:20::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;14672:37:20;;::::1;14645:24;14672:37:::0;;;:24:::1;:37;::::0;;;;;::::1;::::0;14719:86:::1;;;;-1:-1:-1::0;;;14719:86:20::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14843:10;-1:-1:-1::0;;;;;14884:36:20;::::1;::::0;::::1;;14863:138;;;;-1:-1:-1::0;;;14863:138:20::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15012:268;15050:48;15112:11;15137:16;15167;15197:18;15229:13;15256:14;15012:24;:268::i;:::-;15339:17;::::0;;15410:222:::1;::::0;;::::1;::::0;::::1;::::0;;-1:-1:-1;;;;;15410:222:20;;::::1;::::0;;;;::::1;;::::0;;::::1;::::0;;;;;::::1;::::0;;;;;;15321:15:::1;:35:::0;;::::1;15410:222:::0;;;;;;15366:41;;::::1;-1:-1:-1::0;15366:41:20;;;:28:::1;:41:::0;;;;;;;:266;;;;-1:-1:-1;;;;;;15366:266:20;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;;-1:-1:-1;15366:266:20;;::::1;::::0;;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;;;::::1;::::0;::::1;::::0;;;;::::1;::::0;::::1;::::0;;;::::1;::::0;;;;;::::1;::::0;;;;15643:269:::1;::::0;15366:41;15769:16;15410:222;;;15888:14;15643:24:::1;:269::i;:::-;15928:204;::::0;;-1:-1:-1;;;;;15928:204:20;;::::1;::::0;;;;::::1;;::::0;::::1;::::0;;;;;;;;;;;::::1;::::0;;;::::1;::::0;;;::::1;::::0;::::1;::::0;;;;;;;::::1;3569:1;;;14299:1840:::0;;;;:::o;6918:198::-;7057:17;7101:8;;;6918:198::o;17541:1137::-;17849:12;17863:23;17890:17;-1:-1:-1;;;;;17890:22:20;17966:53;;;18037:5;18060:11;18089:17;18124:18;18160:13;17926:261;;;;;;;;;;;;;;;;-1:-1:-1;;;;;17926:261:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;17926:261:20;;;;;;;;;;-1:-1:-1;;;;;17926:261:20;-1:-1:-1;;;;;;17926:261:20;;;;;;;;;;17890:307;;;17926:261;;17890:307;;-1:-1:-1;17890:307:20;;-1:-1:-1;17926:261:20;17890:307;;17926:261;17890:307;;;;;;;;;;-1:-1:-1;;17890:307:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17848:349;;;;18212:7;18207:465;;18260:14;18316:44;18354:5;18316:37;:44::i;:::-;18362:10;18299:74;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;18299:74:20;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;18299:74:20;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;18299:74:20;;;;;;;;;;;;;-1:-1:-1;;18299:74:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18235:153;;;;;-1:-1:-1;;;18235:153:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;18235:153:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;18408:253:20;;-1:-1:-1;;;;;18408:253:20;;;;;;;;;;;;;18448:10;;18476:5;;18598:18;;18634:13;;18408:253;;;;18476:5;18408:253;;;;;;;;;;;;;-1:-1:-1;;;;;18408:253:20;;;;;;-1:-1:-1;;;;;18408:253:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18207:465;17541:1137;;;;;;;;;:::o;16312:1034::-;16648:243;;;-1:-1:-1;;;;;16648:243:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;16648:243:20;-1:-1:-1;;;16648:243:20;;;16612:289;;;;-1:-1:-1;;16585:23:20;;16612:22;;;;16648:243;16612:289;;;16648:243;16612:289;;16648:243;16612:289;;;;;;;;;;-1:-1:-1;;16612:289:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16570:331;;;;16916:7;16911:429;;16964:14;17048:10;17003:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;17003:56:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16939:135;;;;;-1:-1:-1;;;16939:135:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;16939:135:20;;;;;;;;;;;;;;;;;-1:-1:-1;17094:235:20;;;-1:-1:-1;;;;;17094:235:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;17094:235:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16911:429;16312:1034;;;;;;;;:::o;18773:886::-;18912:34;18975:48;18966:5;:57;;;;;;;;;18962:125;;;-1:-1:-1;19039:37:20;;;;;;;;;;;;;;;;;;;18962:125;19109:49;19100:5;:58;;;;;;;;;19096:127;;;-1:-1:-1;19174:38:20;;;;;;;;;;;;;;;;;;;19096:127;19245:49;19236:5;:58;;;;;;;;;19232:127;;;-1:-1:-1;19310:38:20;;;;;;;;;;;;;;;;;;;19232:127;19381:50;19372:5;:59;;;;;;;;;19368:129;;;-1:-1:-1;19447:39:20;;;;;;;;;;;;;;;;;;;19368:129;19519:49;19510:5;:58;;;;;;;;;19506:127;;;-1:-1:-1;19584:38:20;;;;;;;;;;;;;;;;;;;19506:127;-1:-1:-1;;19643:9:20;;;;;;;;;-1:-1:-1;19643:9:20;;;18773:886::o;-1:-1:-1:-;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;", "linkReferences": {} }, "methodIdentifiers": { "cancelMigration(address,bool)": "9c9d48da", "claimOwnership()": "4e71e0c8", "deployVaultProxy(address,address,address,string)": "22a0c08b", "executeMigration(address,bool)": "38b3eb1b", "getCurrentFundDeployer()": "7c77b2ed", "getFundDeployerForVaultProxy(address)": "3d7c74f8", "getMigrationRequestDetailsForVaultProxy(address)": "7dad9fc8", "getMigrationTimelock()": "2fa0c161", "getNominatedOwner()": "288b6a36", "getOwner()": "893d20e8", "getSharesTokenSymbol()": "b47b0600", "getTimelockRemainingForMigrationRequest(address)": "77a8c624", "hasExecutableMigrationRequest(address)": "66231cea", "hasMigrationRequest(address)": "d0449d3d", "removeNominatedOwner()": "8156eecf", "setCurrentFundDeployer(address)": "97af7050", "setMigrationTimelock(uint256)": "1df419f7", "setNominatedOwner(address)": "728e17a0", "setSharesTokenSymbol(string)": "757bc0dd", "signalMigration(address,address,address,bool)": "d15f9b9c" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"prevFundDeployer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"nextFundDeployer\",\"type\":\"address\"}],\"name\":\"CurrentFundDeployerSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"vaultProxy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"prevFundDeployer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"nextFundDeployer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"nextVaultAccessor\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"nextVaultLib\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"executableTimestamp\",\"type\":\"uint256\"}],\"name\":\"MigrationCancelled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"vaultProxy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"prevFundDeployer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"nextFundDeployer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"nextVaultAccessor\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"nextVaultLib\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"executableTimestamp\",\"type\":\"uint256\"}],\"name\":\"MigrationExecuted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"failureReturnData\",\"type\":\"bytes\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"vaultProxy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"prevFundDeployer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"nextFundDeployer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"nextVaultAccessor\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"nextVaultLib\",\"type\":\"address\"}],\"name\":\"MigrationInCancelHookFailed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"failureReturnData\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"enum IMigrationHookHandler.MigrationOutHook\",\"name\":\"hook\",\"type\":\"uint8\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"vaultProxy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"prevFundDeployer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"nextFundDeployer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"nextVaultAccessor\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"nextVaultLib\",\"type\":\"address\"}],\"name\":\"MigrationOutHookFailed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"vaultProxy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"prevFundDeployer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"nextFundDeployer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"nextVaultAccessor\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"nextVaultLib\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"executableTimestamp\",\"type\":\"uint256\"}],\"name\":\"MigrationSignaled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"prevTimelock\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"nextTimelock\",\"type\":\"uint256\"}],\"name\":\"MigrationTimelockSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"nominatedOwner\",\"type\":\"address\"}],\"name\":\"NominatedOwnerRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"nominatedOwner\",\"type\":\"address\"}],\"name\":\"NominatedOwnerSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"prevOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"nextOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"_nextSymbol\",\"type\":\"string\"}],\"name\":\"SharesTokenSymbolSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"fundDeployer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"vaultProxy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"vaultLib\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"vaultAccessor\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"fundName\",\"type\":\"string\"}],\"name\":\"VaultProxyDeployed\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_bypassFailure\",\"type\":\"bool\"}],\"name\":\"cancelMigration\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"claimOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultLib\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_vaultAccessor\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_fundName\",\"type\":\"string\"}],\"name\":\"deployVaultProxy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"vaultProxy_\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_bypassFailure\",\"type\":\"bool\"}],\"name\":\"executeMigration\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentFundDeployer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"currentFundDeployer_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"}],\"name\":\"getFundDeployerForVaultProxy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"fundDeployer_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"}],\"name\":\"getMigrationRequestDetailsForVaultProxy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"nextFundDeployer_\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"nextVaultAccessor_\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"nextVaultLib_\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"executableTimestamp_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMigrationTimelock\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"migrationTimelock_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getNominatedOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"nominatedOwner_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getSharesTokenSymbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"sharesTokenSymbol_\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"}],\"name\":\"getTimelockRemainingForMigrationRequest\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"secondsRemaining_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"}],\"name\":\"hasExecutableMigrationRequest\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"hasExecutableRequest_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"}],\"name\":\"hasMigrationRequest\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"hasMigrationRequest_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"removeNominatedOwner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nextFundDeployer\",\"type\":\"address\"}],\"name\":\"setCurrentFundDeployer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_nextTimelock\",\"type\":\"uint256\"}],\"name\":\"setMigrationTimelock\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nextNominatedOwner\",\"type\":\"address\"}],\"name\":\"setNominatedOwner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_nextSymbol\",\"type\":\"string\"}],\"name\":\"setSharesTokenSymbol\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_nextVaultAccessor\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_nextVaultLib\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_bypassFailure\",\"type\":\"bool\"}],\"name\":\"signalMigration\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"DO NOT EDIT CONTRACT\",\"kind\":\"dev\",\"methods\":{\"cancelMigration(address,bool)\":{\"details\":\"Because this function must also be callable by a permissioned migrator, it has an extra migration hook to the nextFundDeployer for the case where cancelMigration() is called directly (rather than via the nextFundDeployer).\",\"params\":{\"_bypassFailure\":\"True if a failure in either migration hook should be ignored\",\"_vaultProxy\":\"The VaultProxy contract for which to cancel the migration request\"}},\"deployVaultProxy(address,address,address,string)\":{\"details\":\"Input validation should be handled by the VaultProxy during deployment\",\"params\":{\"_fundName\":\"The name of the fund\",\"_owner\":\"The account to set as the VaultProxy's owner\",\"_vaultAccessor\":\"The account to set as the VaultProxy's permissioned accessor\",\"_vaultLib\":\"The VaultLib library with which to instantiate the VaultProxy\"}},\"executeMigration(address,bool)\":{\"params\":{\"_bypassFailure\":\"True if a failure in either migration hook should be ignored\",\"_vaultProxy\":\"The VaultProxy contract for which to execute the migration request\"}},\"getCurrentFundDeployer()\":{\"returns\":{\"currentFundDeployer_\":\"The current FundDeployer contract address\"}},\"getFundDeployerForVaultProxy(address)\":{\"params\":{\"_vaultProxy\":\"The VaultProxy instance\"},\"returns\":{\"fundDeployer_\":\"The FundDeployer contract address\"}},\"getMigrationRequestDetailsForVaultProxy(address)\":{\"params\":{\"_vaultProxy\":\"The VaultProxy instance\"},\"returns\":{\"executableTimestamp_\":\"The timestamp at which the migration request can be executed\",\"nextFundDeployer_\":\"The FundDeployer contract address from which the migration request was made\",\"nextVaultAccessor_\":\"The account that will be the next `accessor` on the VaultProxy\",\"nextVaultLib_\":\"The next VaultLib library contract address to set on the VaultProxy\"}},\"getMigrationTimelock()\":{\"returns\":{\"migrationTimelock_\":\"The timelock value (in seconds)\"}},\"getNominatedOwner()\":{\"returns\":{\"nominatedOwner_\":\"The account that is nominated to be the owner\"}},\"getOwner()\":{\"returns\":{\"owner_\":\"The account that is the owner\"}},\"getSharesTokenSymbol()\":{\"returns\":{\"sharesTokenSymbol_\":\"The `symbol` value\"}},\"getTimelockRemainingForMigrationRequest(address)\":{\"params\":{\"_vaultProxy\":\"The VaultProxy instance\"},\"returns\":{\"secondsRemaining_\":\"The number of seconds remaining on the timelock\"}},\"hasExecutableMigrationRequest(address)\":{\"params\":{\"_vaultProxy\":\"The VaultProxy instance\"},\"returns\":{\"hasExecutableRequest_\":\"True if a migration request exists and is executable\"}},\"hasMigrationRequest(address)\":{\"params\":{\"_vaultProxy\":\"The VaultProxy instance\"},\"returns\":{\"hasMigrationRequest_\":\"True if a migration request exists\"}},\"setCurrentFundDeployer(address)\":{\"params\":{\"_nextFundDeployer\":\"The address of the FundDeployer contract\"}},\"setMigrationTimelock(uint256)\":{\"params\":{\"_nextTimelock\":\"The number of seconds for the new timelock\"}},\"setNominatedOwner(address)\":{\"details\":\"Does not prohibit overwriting the current nominatedOwner\",\"params\":{\"_nextNominatedOwner\":\"The account to nominate\"}},\"setSharesTokenSymbol(string)\":{\"params\":{\"_nextSymbol\":\"The symbol value to set\"}},\"signalMigration(address,address,address,bool)\":{\"params\":{\"_bypassFailure\":\"True if a failure in either migration hook should be ignored\",\"_nextVaultAccessor\":\"The account that will be the next `accessor` on the VaultProxy\",\"_nextVaultLib\":\"The next VaultLib library contract address to set on the VaultProxy\",\"_vaultProxy\":\"The VaultProxy contract for which to signal migration\"}}},\"title\":\"Dispatcher Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"cancelMigration(address,bool)\":{\"notice\":\"Cancels a pending migration request\"},\"claimOwnership()\":{\"notice\":\"Claim ownership of the contract\"},\"deployVaultProxy(address,address,address,string)\":{\"notice\":\"Deploys a VaultProxy\"},\"executeMigration(address,bool)\":{\"notice\":\"Executes a pending migration request\"},\"getCurrentFundDeployer()\":{\"notice\":\"Gets the current FundDeployer that is allowed to deploy and migrate funds\"},\"getFundDeployerForVaultProxy(address)\":{\"notice\":\"Gets the FundDeployer with which a given VaultProxy is associated\"},\"getMigrationRequestDetailsForVaultProxy(address)\":{\"notice\":\"Gets the details of a pending migration request for a given VaultProxy\"},\"getMigrationTimelock()\":{\"notice\":\"Gets the amount of time that must pass between signaling and executing a migration\"},\"getNominatedOwner()\":{\"notice\":\"Gets the account that is nominated to be the next owner of this contract\"},\"getOwner()\":{\"notice\":\"Gets the owner of this contract\"},\"getSharesTokenSymbol()\":{\"notice\":\"Gets the shares token `symbol` value for use in VaultProxy instances\"},\"getTimelockRemainingForMigrationRequest(address)\":{\"notice\":\"Gets the time remaining until the migration request of a given VaultProxy can be executed\"},\"hasExecutableMigrationRequest(address)\":{\"notice\":\"Checks whether a migration request that is executable exists for a given VaultProxy\"},\"hasMigrationRequest(address)\":{\"notice\":\"Checks whether a migration request exists for a given VaultProxy\"},\"removeNominatedOwner()\":{\"notice\":\"Revoke the nomination of a new contract owner\"},\"setCurrentFundDeployer(address)\":{\"notice\":\"Set a new FundDeployer for use within the contract\"},\"setMigrationTimelock(uint256)\":{\"notice\":\"Sets a new migration timelock\"},\"setNominatedOwner(address)\":{\"notice\":\"Nominate a new contract owner\"},\"setSharesTokenSymbol(string)\":{\"notice\":\"Sets a new `symbol` value for VaultProxy instances\"},\"signalMigration(address,address,address,bool)\":{\"notice\":\"Signals a migration by creating a migration request\"}},\"notice\":\"The top-level contract linking multiple releases. It handles the deployment of new VaultProxy instances, and the regulation of fund migration from a previous release to the current one. It can also be referred to for access-control based on this contract's owner.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/dispatcher/Dispatcher.sol\":\"Dispatcher\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/dispatcher/Dispatcher.sol\":{\"keccak256\":\"0x0590285e72005e40573fcc93e95aa75a5963bdcf5b02a627c73d8bc982f9d850\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://e9f2190a9ba01ec1f03b5159387c3864b9700337f3d7b07ec0758bbde52d32e2\",\"dweb:/ipfs/QmX5gevftdWC5xzSVcmVn14aFhKgweCXAhndZ8ZECN92fj\"]},\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/dispatcher/IMigrationHookHandler.sol\":{\"keccak256\":\"0x4cec61ef58c1d2e7693ee954c3582b1a04ff836a569e216edb7526c7e56a5632\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://0acae6d91e3e20e6ebd46cbeff926967a2d64f3d8eb2e3cdff20366917a77879\",\"dweb:/ipfs/Qmd44oJngTNRnwXdDwtNd9o4UvTgxAmBGikz3QMPKf4NWy\"]},\"contracts/persistent/vault/VaultProxy.sol\":{\"keccak256\":\"0x08ff12cb7955ab80cf35f98a5abae23a92f655916669986d1580cb394f6b6bb3\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://320fcccd67d3390d6762bdef41f7d5e679e61b3244b1d945fc33402ea684bc3a\",\"dweb:/ipfs/Qmaaxqgm4EzF1r4n52pkjs7bA5quKhVwrh356rTFXDj86L\"]},\"contracts/persistent/vault/interfaces/IMigratableVault.sol\":{\"keccak256\":\"0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6\",\"dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs\"]},\"contracts/persistent/vault/utils/ProxiableVaultLib.sol\":{\"keccak256\":\"0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44\",\"dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "prevFundDeployer", "type": "address", "indexed": false }, { "internalType": "address", "name": "nextFundDeployer", "type": "address", "indexed": false } ], "type": "event", "name": "CurrentFundDeployerSet", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "vaultProxy", "type": "address", "indexed": true }, { "internalType": "address", "name": "prevFundDeployer", "type": "address", "indexed": true }, { "internalType": "address", "name": "nextFundDeployer", "type": "address", "indexed": true }, { "internalType": "address", "name": "nextVaultAccessor", "type": "address", "indexed": false }, { "internalType": "address", "name": "nextVaultLib", "type": "address", "indexed": false }, { "internalType": "uint256", "name": "executableTimestamp", "type": "uint256", "indexed": false } ], "type": "event", "name": "MigrationCancelled", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "vaultProxy", "type": "address", "indexed": true }, { "internalType": "address", "name": "prevFundDeployer", "type": "address", "indexed": true }, { "internalType": "address", "name": "nextFundDeployer", "type": "address", "indexed": true }, { "internalType": "address", "name": "nextVaultAccessor", "type": "address", "indexed": false }, { "internalType": "address", "name": "nextVaultLib", "type": "address", "indexed": false }, { "internalType": "uint256", "name": "executableTimestamp", "type": "uint256", "indexed": false } ], "type": "event", "name": "MigrationExecuted", "anonymous": false }, { "inputs": [ { "internalType": "bytes", "name": "failureReturnData", "type": "bytes", "indexed": false }, { "internalType": "address", "name": "vaultProxy", "type": "address", "indexed": true }, { "internalType": "address", "name": "prevFundDeployer", "type": "address", "indexed": true }, { "internalType": "address", "name": "nextFundDeployer", "type": "address", "indexed": true }, { "internalType": "address", "name": "nextVaultAccessor", "type": "address", "indexed": false }, { "internalType": "address", "name": "nextVaultLib", "type": "address", "indexed": false } ], "type": "event", "name": "MigrationInCancelHookFailed", "anonymous": false }, { "inputs": [ { "internalType": "bytes", "name": "failureReturnData", "type": "bytes", "indexed": false }, { "internalType": "enum IMigrationHookHandler.MigrationOutHook", "name": "hook", "type": "uint8", "indexed": false }, { "internalType": "address", "name": "vaultProxy", "type": "address", "indexed": true }, { "internalType": "address", "name": "prevFundDeployer", "type": "address", "indexed": true }, { "internalType": "address", "name": "nextFundDeployer", "type": "address", "indexed": true }, { "internalType": "address", "name": "nextVaultAccessor", "type": "address", "indexed": false }, { "internalType": "address", "name": "nextVaultLib", "type": "address", "indexed": false } ], "type": "event", "name": "MigrationOutHookFailed", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "vaultProxy", "type": "address", "indexed": true }, { "internalType": "address", "name": "prevFundDeployer", "type": "address", "indexed": true }, { "internalType": "address", "name": "nextFundDeployer", "type": "address", "indexed": true }, { "internalType": "address", "name": "nextVaultAccessor", "type": "address", "indexed": false }, { "internalType": "address", "name": "nextVaultLib", "type": "address", "indexed": false }, { "internalType": "uint256", "name": "executableTimestamp", "type": "uint256", "indexed": false } ], "type": "event", "name": "MigrationSignaled", "anonymous": false }, { "inputs": [ { "internalType": "uint256", "name": "prevTimelock", "type": "uint256", "indexed": false }, { "internalType": "uint256", "name": "nextTimelock", "type": "uint256", "indexed": false } ], "type": "event", "name": "MigrationTimelockSet", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "nominatedOwner", "type": "address", "indexed": true } ], "type": "event", "name": "NominatedOwnerRemoved", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "nominatedOwner", "type": "address", "indexed": true } ], "type": "event", "name": "NominatedOwnerSet", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "prevOwner", "type": "address", "indexed": true }, { "internalType": "address", "name": "nextOwner", "type": "address", "indexed": true } ], "type": "event", "name": "OwnershipTransferred", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "_nextSymbol", "type": "string", "indexed": false } ], "type": "event", "name": "SharesTokenSymbolSet", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "fundDeployer", "type": "address", "indexed": true }, { "internalType": "address", "name": "owner", "type": "address", "indexed": true }, { "internalType": "address", "name": "vaultProxy", "type": "address", "indexed": false }, { "internalType": "address", "name": "vaultLib", "type": "address", "indexed": true }, { "internalType": "address", "name": "vaultAccessor", "type": "address", "indexed": false }, { "internalType": "string", "name": "fundName", "type": "string", "indexed": false } ], "type": "event", "name": "VaultProxyDeployed", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "bool", "name": "_bypassFailure", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function", "name": "cancelMigration" }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "claimOwnership" }, { "inputs": [ { "internalType": "address", "name": "_vaultLib", "type": "address" }, { "internalType": "address", "name": "_owner", "type": "address" }, { "internalType": "address", "name": "_vaultAccessor", "type": "address" }, { "internalType": "string", "name": "_fundName", "type": "string" } ], "stateMutability": "nonpayable", "type": "function", "name": "deployVaultProxy", "outputs": [ { "internalType": "address", "name": "vaultProxy_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "bool", "name": "_bypassFailure", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function", "name": "executeMigration" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getCurrentFundDeployer", "outputs": [ { "internalType": "address", "name": "currentFundDeployer_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getFundDeployerForVaultProxy", "outputs": [ { "internalType": "address", "name": "fundDeployer_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getMigrationRequestDetailsForVaultProxy", "outputs": [ { "internalType": "address", "name": "nextFundDeployer_", "type": "address" }, { "internalType": "address", "name": "nextVaultAccessor_", "type": "address" }, { "internalType": "address", "name": "nextVaultLib_", "type": "address" }, { "internalType": "uint256", "name": "executableTimestamp_", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getMigrationTimelock", "outputs": [ { "internalType": "uint256", "name": "migrationTimelock_", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getNominatedOwner", "outputs": [ { "internalType": "address", "name": "nominatedOwner_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getOwner", "outputs": [ { "internalType": "address", "name": "owner_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getSharesTokenSymbol", "outputs": [ { "internalType": "string", "name": "sharesTokenSymbol_", "type": "string" } ] }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getTimelockRemainingForMigrationRequest", "outputs": [ { "internalType": "uint256", "name": "secondsRemaining_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "hasExecutableMigrationRequest", "outputs": [ { "internalType": "bool", "name": "hasExecutableRequest_", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "hasMigrationRequest", "outputs": [ { "internalType": "bool", "name": "hasMigrationRequest_", "type": "bool" } ] }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "removeNominatedOwner" }, { "inputs": [ { "internalType": "address", "name": "_nextFundDeployer", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "setCurrentFundDeployer" }, { "inputs": [ { "internalType": "uint256", "name": "_nextTimelock", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "setMigrationTimelock" }, { "inputs": [ { "internalType": "address", "name": "_nextNominatedOwner", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "setNominatedOwner" }, { "inputs": [ { "internalType": "string", "name": "_nextSymbol", "type": "string" } ], "stateMutability": "nonpayable", "type": "function", "name": "setSharesTokenSymbol" }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "address", "name": "_nextVaultAccessor", "type": "address" }, { "internalType": "address", "name": "_nextVaultLib", "type": "address" }, { "internalType": "bool", "name": "_bypassFailure", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function", "name": "signalMigration" } ], "devdoc": { "kind": "dev", "methods": { "cancelMigration(address,bool)": { "details": "Because this function must also be callable by a permissioned migrator, it has an extra migration hook to the nextFundDeployer for the case where cancelMigration() is called directly (rather than via the nextFundDeployer).", "params": { "_bypassFailure": "True if a failure in either migration hook should be ignored", "_vaultProxy": "The VaultProxy contract for which to cancel the migration request" } }, "deployVaultProxy(address,address,address,string)": { "details": "Input validation should be handled by the VaultProxy during deployment", "params": { "_fundName": "The name of the fund", "_owner": "The account to set as the VaultProxy's owner", "_vaultAccessor": "The account to set as the VaultProxy's permissioned accessor", "_vaultLib": "The VaultLib library with which to instantiate the VaultProxy" } }, "executeMigration(address,bool)": { "params": { "_bypassFailure": "True if a failure in either migration hook should be ignored", "_vaultProxy": "The VaultProxy contract for which to execute the migration request" } }, "getCurrentFundDeployer()": { "returns": { "currentFundDeployer_": "The current FundDeployer contract address" } }, "getFundDeployerForVaultProxy(address)": { "params": { "_vaultProxy": "The VaultProxy instance" }, "returns": { "fundDeployer_": "The FundDeployer contract address" } }, "getMigrationRequestDetailsForVaultProxy(address)": { "params": { "_vaultProxy": "The VaultProxy instance" }, "returns": { "executableTimestamp_": "The timestamp at which the migration request can be executed", "nextFundDeployer_": "The FundDeployer contract address from which the migration request was made", "nextVaultAccessor_": "The account that will be the next `accessor` on the VaultProxy", "nextVaultLib_": "The next VaultLib library contract address to set on the VaultProxy" } }, "getMigrationTimelock()": { "returns": { "migrationTimelock_": "The timelock value (in seconds)" } }, "getNominatedOwner()": { "returns": { "nominatedOwner_": "The account that is nominated to be the owner" } }, "getOwner()": { "returns": { "owner_": "The account that is the owner" } }, "getSharesTokenSymbol()": { "returns": { "sharesTokenSymbol_": "The `symbol` value" } }, "getTimelockRemainingForMigrationRequest(address)": { "params": { "_vaultProxy": "The VaultProxy instance" }, "returns": { "secondsRemaining_": "The number of seconds remaining on the timelock" } }, "hasExecutableMigrationRequest(address)": { "params": { "_vaultProxy": "The VaultProxy instance" }, "returns": { "hasExecutableRequest_": "True if a migration request exists and is executable" } }, "hasMigrationRequest(address)": { "params": { "_vaultProxy": "The VaultProxy instance" }, "returns": { "hasMigrationRequest_": "True if a migration request exists" } }, "setCurrentFundDeployer(address)": { "params": { "_nextFundDeployer": "The address of the FundDeployer contract" } }, "setMigrationTimelock(uint256)": { "params": { "_nextTimelock": "The number of seconds for the new timelock" } }, "setNominatedOwner(address)": { "details": "Does not prohibit overwriting the current nominatedOwner", "params": { "_nextNominatedOwner": "The account to nominate" } }, "setSharesTokenSymbol(string)": { "params": { "_nextSymbol": "The symbol value to set" } }, "signalMigration(address,address,address,bool)": { "params": { "_bypassFailure": "True if a failure in either migration hook should be ignored", "_nextVaultAccessor": "The account that will be the next `accessor` on the VaultProxy", "_nextVaultLib": "The next VaultLib library contract address to set on the VaultProxy", "_vaultProxy": "The VaultProxy contract for which to signal migration" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "cancelMigration(address,bool)": { "notice": "Cancels a pending migration request" }, "claimOwnership()": { "notice": "Claim ownership of the contract" }, "deployVaultProxy(address,address,address,string)": { "notice": "Deploys a VaultProxy" }, "executeMigration(address,bool)": { "notice": "Executes a pending migration request" }, "getCurrentFundDeployer()": { "notice": "Gets the current FundDeployer that is allowed to deploy and migrate funds" }, "getFundDeployerForVaultProxy(address)": { "notice": "Gets the FundDeployer with which a given VaultProxy is associated" }, "getMigrationRequestDetailsForVaultProxy(address)": { "notice": "Gets the details of a pending migration request for a given VaultProxy" }, "getMigrationTimelock()": { "notice": "Gets the amount of time that must pass between signaling and executing a migration" }, "getNominatedOwner()": { "notice": "Gets the account that is nominated to be the next owner of this contract" }, "getOwner()": { "notice": "Gets the owner of this contract" }, "getSharesTokenSymbol()": { "notice": "Gets the shares token `symbol` value for use in VaultProxy instances" }, "getTimelockRemainingForMigrationRequest(address)": { "notice": "Gets the time remaining until the migration request of a given VaultProxy can be executed" }, "hasExecutableMigrationRequest(address)": { "notice": "Checks whether a migration request that is executable exists for a given VaultProxy" }, "hasMigrationRequest(address)": { "notice": "Checks whether a migration request exists for a given VaultProxy" }, "removeNominatedOwner()": { "notice": "Revoke the nomination of a new contract owner" }, "setCurrentFundDeployer(address)": { "notice": "Set a new FundDeployer for use within the contract" }, "setMigrationTimelock(uint256)": { "notice": "Sets a new migration timelock" }, "setNominatedOwner(address)": { "notice": "Nominate a new contract owner" }, "setSharesTokenSymbol(string)": { "notice": "Sets a new `symbol` value for VaultProxy instances" }, "signalMigration(address,address,address,bool)": { "notice": "Signals a migration by creating a migration request" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/persistent/dispatcher/Dispatcher.sol": "Dispatcher" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/dispatcher/Dispatcher.sol": { "keccak256": "0x0590285e72005e40573fcc93e95aa75a5963bdcf5b02a627c73d8bc982f9d850", "urls": [ "bzz-raw://e9f2190a9ba01ec1f03b5159387c3864b9700337f3d7b07ec0758bbde52d32e2", "dweb:/ipfs/QmX5gevftdWC5xzSVcmVn14aFhKgweCXAhndZ8ZECN92fj" ], "license": "GPL-3.0" }, "contracts/persistent/dispatcher/IDispatcher.sol": { "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", "urls": [ "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" ], "license": "GPL-3.0" }, "contracts/persistent/dispatcher/IMigrationHookHandler.sol": { "keccak256": "0x4cec61ef58c1d2e7693ee954c3582b1a04ff836a569e216edb7526c7e56a5632", "urls": [ "bzz-raw://0acae6d91e3e20e6ebd46cbeff926967a2d64f3d8eb2e3cdff20366917a77879", "dweb:/ipfs/Qmd44oJngTNRnwXdDwtNd9o4UvTgxAmBGikz3QMPKf4NWy" ], "license": "GPL-3.0" }, "contracts/persistent/vault/VaultProxy.sol": { "keccak256": "0x08ff12cb7955ab80cf35f98a5abae23a92f655916669986d1580cb394f6b6bb3", "urls": [ "bzz-raw://320fcccd67d3390d6762bdef41f7d5e679e61b3244b1d945fc33402ea684bc3a", "dweb:/ipfs/Qmaaxqgm4EzF1r4n52pkjs7bA5quKhVwrh356rTFXDj86L" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IMigratableVault.sol": { "keccak256": "0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238", "urls": [ "bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6", "dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs" ], "license": "GPL-3.0" }, "contracts/persistent/vault/utils/ProxiableVaultLib.sol": { "keccak256": "0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76", "urls": [ "bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44", "dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 20 } diff --git a/eth_defi/abi/enzyme/DispatcherTest.json b/eth_defi/abi/enzyme/DispatcherTest.json index f3a32937..c135fb3e 100644 --- a/eth_defi/abi/enzyme/DispatcherTest.json +++ b/eth_defi/abi/enzyme/DispatcherTest.json @@ -1,1098 +1 @@ -{ - "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_SCRIPT", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "IS_TEST", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "_name", - "type": "string" - } - ], - "name": "addr", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "failed", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "setUp", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "vm", - "outputs": [ - { - "internalType": "contract Vm", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "IS_SCRIPT()": "f8ccbf47", - "IS_TEST()": "fa7626d4", - "addr(string)": "511b1df9", - "failed()": "ba414fa6", - "setUp()": "0a9254e4", - "vm()": "3a768463" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"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_SCRIPT\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"}],\"name\":\"addr\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"setUp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"vm\",\"outputs\":[{\"internalType\":\"contract Vm\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"tests/persistent/Dispatcher.t.sol\":\"DispatcherTest\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/mocks/MockVaultLib.sol\":{\"keccak256\":\"0x14d298c9cd4411cc6260fe50b93a1da572c5ddee7bfca377dd35403741c4e3b6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://e51c048dc4e2c9117fff0ecd4ab94d09701b9cd89247db8608c1a491c7374635\",\"dweb:/ipfs/QmYkH9dXQp1EEMfrcGPUTc3ey4o2UtvG91vDxjgQzwUuHE\"]},\"contracts/persistent/dispatcher/Dispatcher.sol\":{\"keccak256\":\"0x0590285e72005e40573fcc93e95aa75a5963bdcf5b02a627c73d8bc982f9d850\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://e9f2190a9ba01ec1f03b5159387c3864b9700337f3d7b07ec0758bbde52d32e2\",\"dweb:/ipfs/QmX5gevftdWC5xzSVcmVn14aFhKgweCXAhndZ8ZECN92fj\"]},\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/dispatcher/IMigrationHookHandler.sol\":{\"keccak256\":\"0x4cec61ef58c1d2e7693ee954c3582b1a04ff836a569e216edb7526c7e56a5632\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://0acae6d91e3e20e6ebd46cbeff926967a2d64f3d8eb2e3cdff20366917a77879\",\"dweb:/ipfs/Qmd44oJngTNRnwXdDwtNd9o4UvTgxAmBGikz3QMPKf4NWy\"]},\"contracts/persistent/vault/VaultLibBaseCore.sol\":{\"keccak256\":\"0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd\",\"dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz\"]},\"contracts/persistent/vault/VaultProxy.sol\":{\"keccak256\":\"0x08ff12cb7955ab80cf35f98a5abae23a92f655916669986d1580cb394f6b6bb3\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://320fcccd67d3390d6762bdef41f7d5e679e61b3244b1d945fc33402ea684bc3a\",\"dweb:/ipfs/Qmaaxqgm4EzF1r4n52pkjs7bA5quKhVwrh356rTFXDj86L\"]},\"contracts/persistent/vault/interfaces/IMigratableVault.sol\":{\"keccak256\":\"0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6\",\"dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs\"]},\"contracts/persistent/vault/utils/ProxiableVaultLib.sol\":{\"keccak256\":\"0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44\",\"dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4\"]},\"contracts/persistent/vault/utils/SharesTokenBase.sol\":{\"keccak256\":\"0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8\",\"dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4\"]},\"contracts/persistent/vault/utils/VaultLibSafeMath.sol\":{\"keccak256\":\"0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02\",\"dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG\"]},\"lib/forge-std/lib/ds-test/src/test.sol\":{\"keccak256\":\"0xb39cd1d5220cb474947b131e15a4538334b7e886af244b440ae5c9c6bba96a54\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://3101520221449ac0070bda3881311a71d9aa87e5210765e875246922cb5cb5f5\",\"dweb:/ipfs/Qmbg6kAHNoG7ox9N9Xqd9Ere2H2XixMFWFqvyPwFCzB3Gr\"]},\"lib/forge-std/src/Script.sol\":{\"keccak256\":\"0x4424dbcb8f5b741475445726f87408fcd89951fad973bec2ca442ee157f910e7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5b0b9f6dfb69245d8f888558ae82bf1d2cdeace46201444fe4b2e6a5283f944a\",\"dweb:/ipfs/QmWFSKeFEZngNcwNn7A84EF7pASo5qe6r5oK24r9Kwca7Z\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0xa85dee62f7a3d7d3b26051f28d08bbfaa6d76888b8e64395583c35f11070372b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f3ecace3d6120731c4520f651c36658940df958755a2c86d6bf0ec895320a915\",\"dweb:/ipfs/QmVGbUYLtMsAYF3C27qHKs3VHRuRNDypuDfs4XGK47kqUT\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x63fc2487cf3a6650d933e18bcb61766f15f74c327192381806ea00f8f6446f66\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aad99f7b2ed3b11ff6c17b84b4196c562898640a80cabc2c28c87c116099a00f\",\"dweb:/ipfs/QmQNNbxHabRycegyXwJWBDutrdcScAP2SU5zEvorWEaFpx\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0xbeb823fcdb356244a83aaccdf828ad019ecc1ffaa3dff18e624fc6d5714ea671\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4cbe9400340e5f9ec55e2aff3bad1c15fa3afbbe37e80800e6f3fed2ad26854f\",\"dweb:/ipfs/QmdJBABsuXkvWxVzEyGXsTE3vyfBPXDdw5xvvtUz3JeoYW\"]},\"tests/persistent/Dispatcher.t.sol\":{\"keccak256\":\"0x9f19e0376c4d2fa61f4c50089a46d54b7a1d464b31413aeb4147da02b44cd298\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://e9f733c425d149594c2044229dd51e543d330cfb11b7825dfd59631a3aabd71d\",\"dweb:/ipfs/QmY3c9daKiMH2W9qbq94TekosaySFV44ZUXsGuBfigo832\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "string", - "name": "", - "type": "string", - "indexed": false - } - ], - "type": "event", - "name": "log", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "log_address", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "uint256[]", - "name": "val", - "type": "uint256[]", - "indexed": false - } - ], - "type": "event", - "name": "log_array", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "int256[]", - "name": "val", - "type": "int256[]", - "indexed": false - } - ], - "type": "event", - "name": "log_array", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "val", - "type": "address[]", - "indexed": false - } - ], - "type": "event", - "name": "log_array", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes", - "indexed": false - } - ], - "type": "event", - "name": "log_bytes", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32", - "indexed": false - } - ], - "type": "event", - "name": "log_bytes32", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "int256", - "name": "", - "type": "int256", - "indexed": false - } - ], - "type": "event", - "name": "log_int", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "key", - "type": "string", - "indexed": false - }, - { - "internalType": "address", - "name": "val", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "log_named_address", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "key", - "type": "string", - "indexed": false - }, - { - "internalType": "uint256[]", - "name": "val", - "type": "uint256[]", - "indexed": false - } - ], - "type": "event", - "name": "log_named_array", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "key", - "type": "string", - "indexed": false - }, - { - "internalType": "int256[]", - "name": "val", - "type": "int256[]", - "indexed": false - } - ], - "type": "event", - "name": "log_named_array", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "key", - "type": "string", - "indexed": false - }, - { - "internalType": "address[]", - "name": "val", - "type": "address[]", - "indexed": false - } - ], - "type": "event", - "name": "log_named_array", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "key", - "type": "string", - "indexed": false - }, - { - "internalType": "bytes", - "name": "val", - "type": "bytes", - "indexed": false - } - ], - "type": "event", - "name": "log_named_bytes", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "key", - "type": "string", - "indexed": false - }, - { - "internalType": "bytes32", - "name": "val", - "type": "bytes32", - "indexed": false - } - ], - "type": "event", - "name": "log_named_bytes32", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "key", - "type": "string", - "indexed": false - }, - { - "internalType": "int256", - "name": "val", - "type": "int256", - "indexed": false - }, - { - "internalType": "uint256", - "name": "decimals", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "log_named_decimal_int", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "key", - "type": "string", - "indexed": false - }, - { - "internalType": "uint256", - "name": "val", - "type": "uint256", - "indexed": false - }, - { - "internalType": "uint256", - "name": "decimals", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "log_named_decimal_uint", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "key", - "type": "string", - "indexed": false - }, - { - "internalType": "int256", - "name": "val", - "type": "int256", - "indexed": false - } - ], - "type": "event", - "name": "log_named_int", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "key", - "type": "string", - "indexed": false - }, - { - "internalType": "string", - "name": "val", - "type": "string", - "indexed": false - } - ], - "type": "event", - "name": "log_named_string", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "key", - "type": "string", - "indexed": false - }, - { - "internalType": "uint256", - "name": "val", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "log_named_uint", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "", - "type": "string", - "indexed": false - } - ], - "type": "event", - "name": "log_string", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "log_uint", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes", - "indexed": false - } - ], - "type": "event", - "name": "logs", - "anonymous": false - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "IS_SCRIPT", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "IS_TEST", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "string", - "name": "_name", - "type": "string" - } - ], - "stateMutability": "pure", - "type": "function", - "name": "addr", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "failed", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "setUp" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "vm", - "outputs": [ - { - "internalType": "contract Vm", - "name": "", - "type": "address" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "tests/persistent/Dispatcher.t.sol": "DispatcherTest" - }, - "libraries": {} - }, - "sources": { - "contracts/mocks/MockVaultLib.sol": { - "keccak256": "0x14d298c9cd4411cc6260fe50b93a1da572c5ddee7bfca377dd35403741c4e3b6", - "urls": [ - "bzz-raw://e51c048dc4e2c9117fff0ecd4ab94d09701b9cd89247db8608c1a491c7374635", - "dweb:/ipfs/QmYkH9dXQp1EEMfrcGPUTc3ey4o2UtvG91vDxjgQzwUuHE" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/dispatcher/Dispatcher.sol": { - "keccak256": "0x0590285e72005e40573fcc93e95aa75a5963bdcf5b02a627c73d8bc982f9d850", - "urls": [ - "bzz-raw://e9f2190a9ba01ec1f03b5159387c3864b9700337f3d7b07ec0758bbde52d32e2", - "dweb:/ipfs/QmX5gevftdWC5xzSVcmVn14aFhKgweCXAhndZ8ZECN92fj" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/dispatcher/IDispatcher.sol": { - "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", - "urls": [ - "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", - "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/dispatcher/IMigrationHookHandler.sol": { - "keccak256": "0x4cec61ef58c1d2e7693ee954c3582b1a04ff836a569e216edb7526c7e56a5632", - "urls": [ - "bzz-raw://0acae6d91e3e20e6ebd46cbeff926967a2d64f3d8eb2e3cdff20366917a77879", - "dweb:/ipfs/Qmd44oJngTNRnwXdDwtNd9o4UvTgxAmBGikz3QMPKf4NWy" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/VaultLibBaseCore.sol": { - "keccak256": "0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074", - "urls": [ - "bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd", - "dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/VaultProxy.sol": { - "keccak256": "0x08ff12cb7955ab80cf35f98a5abae23a92f655916669986d1580cb394f6b6bb3", - "urls": [ - "bzz-raw://320fcccd67d3390d6762bdef41f7d5e679e61b3244b1d945fc33402ea684bc3a", - "dweb:/ipfs/Qmaaxqgm4EzF1r4n52pkjs7bA5quKhVwrh356rTFXDj86L" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IMigratableVault.sol": { - "keccak256": "0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238", - "urls": [ - "bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6", - "dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/utils/ProxiableVaultLib.sol": { - "keccak256": "0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76", - "urls": [ - "bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44", - "dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/utils/SharesTokenBase.sol": { - "keccak256": "0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113", - "urls": [ - "bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8", - "dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/utils/VaultLibSafeMath.sol": { - "keccak256": "0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d", - "urls": [ - "bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02", - "dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG" - ], - "license": "GPL-3.0" - }, - "lib/forge-std/lib/ds-test/src/test.sol": { - "keccak256": "0xb39cd1d5220cb474947b131e15a4538334b7e886af244b440ae5c9c6bba96a54", - "urls": [ - "bzz-raw://3101520221449ac0070bda3881311a71d9aa87e5210765e875246922cb5cb5f5", - "dweb:/ipfs/Qmbg6kAHNoG7ox9N9Xqd9Ere2H2XixMFWFqvyPwFCzB3Gr" - ], - "license": "GPL-3.0-or-later" - }, - "lib/forge-std/src/Script.sol": { - "keccak256": "0x4424dbcb8f5b741475445726f87408fcd89951fad973bec2ca442ee157f910e7", - "urls": [ - "bzz-raw://5b0b9f6dfb69245d8f888558ae82bf1d2cdeace46201444fe4b2e6a5283f944a", - "dweb:/ipfs/QmWFSKeFEZngNcwNn7A84EF7pASo5qe6r5oK24r9Kwca7Z" - ], - "license": "MIT" - }, - "lib/forge-std/src/Test.sol": { - "keccak256": "0xa85dee62f7a3d7d3b26051f28d08bbfaa6d76888b8e64395583c35f11070372b", - "urls": [ - "bzz-raw://f3ecace3d6120731c4520f651c36658940df958755a2c86d6bf0ec895320a915", - "dweb:/ipfs/QmVGbUYLtMsAYF3C27qHKs3VHRuRNDypuDfs4XGK47kqUT" - ], - "license": "MIT" - }, - "lib/forge-std/src/Vm.sol": { - "keccak256": "0x63fc2487cf3a6650d933e18bcb61766f15f74c327192381806ea00f8f6446f66", - "urls": [ - "bzz-raw://aad99f7b2ed3b11ff6c17b84b4196c562898640a80cabc2c28c87c116099a00f", - "dweb:/ipfs/QmQNNbxHabRycegyXwJWBDutrdcScAP2SU5zEvorWEaFpx" - ], - "license": "MIT" - }, - "lib/forge-std/src/console.sol": { - "keccak256": "0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba", - "urls": [ - "bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70", - "dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec" - ], - "license": "MIT" - }, - "lib/forge-std/src/console2.sol": { - "keccak256": "0xbeb823fcdb356244a83aaccdf828ad019ecc1ffaa3dff18e624fc6d5714ea671", - "urls": [ - "bzz-raw://4cbe9400340e5f9ec55e2aff3bad1c15fa3afbbe37e80800e6f3fed2ad26854f", - "dweb:/ipfs/QmdJBABsuXkvWxVzEyGXsTE3vyfBPXDdw5xvvtUz3JeoYW" - ], - "license": "MIT" - }, - "tests/persistent/Dispatcher.t.sol": { - "keccak256": "0x9f19e0376c4d2fa61f4c50089a46d54b7a1d464b31413aeb4147da02b44cd298", - "urls": [ - "bzz-raw://e9f733c425d149594c2044229dd51e543d330cfb11b7825dfd59631a3aabd71d", - "dweb:/ipfs/QmY3c9daKiMH2W9qbq94TekosaySFV44ZUXsGuBfigo832" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 456 -} +{ "abi": [ { "type": "function", "name": "IS_SCRIPT", "inputs": [], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "IS_TEST", "inputs": [], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "addr", "inputs": [ { "name": "_name", "type": "string", "internalType": "string" } ], "outputs": [ { "name": "", "type": "address", "internalType": "address" } ], "stateMutability": "pure" }, { "type": "function", "name": "failed", "inputs": [], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "setUp", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "vm", "inputs": [], "outputs": [ { "name": "", "type": "address", "internalType": "contract Vm" } ], "stateMutability": "view" }, { "type": "event", "name": "log", "inputs": [ { "name": "", "type": "string", "indexed": false, "internalType": "string" } ], "anonymous": false }, { "type": "event", "name": "log_address", "inputs": [ { "name": "", "type": "address", "indexed": false, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "log_array", "inputs": [ { "name": "val", "type": "uint256[]", "indexed": false, "internalType": "uint256[]" } ], "anonymous": false }, { "type": "event", "name": "log_array", "inputs": [ { "name": "val", "type": "int256[]", "indexed": false, "internalType": "int256[]" } ], "anonymous": false }, { "type": "event", "name": "log_array", "inputs": [ { "name": "val", "type": "address[]", "indexed": false, "internalType": "address[]" } ], "anonymous": false }, { "type": "event", "name": "log_bytes", "inputs": [ { "name": "", "type": "bytes", "indexed": false, "internalType": "bytes" } ], "anonymous": false }, { "type": "event", "name": "log_bytes32", "inputs": [ { "name": "", "type": "bytes32", "indexed": false, "internalType": "bytes32" } ], "anonymous": false }, { "type": "event", "name": "log_int", "inputs": [ { "name": "", "type": "int256", "indexed": false, "internalType": "int256" } ], "anonymous": false }, { "type": "event", "name": "log_named_address", "inputs": [ { "name": "key", "type": "string", "indexed": false, "internalType": "string" }, { "name": "val", "type": "address", "indexed": false, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "log_named_array", "inputs": [ { "name": "key", "type": "string", "indexed": false, "internalType": "string" }, { "name": "val", "type": "uint256[]", "indexed": false, "internalType": "uint256[]" } ], "anonymous": false }, { "type": "event", "name": "log_named_array", "inputs": [ { "name": "key", "type": "string", "indexed": false, "internalType": "string" }, { "name": "val", "type": "int256[]", "indexed": false, "internalType": "int256[]" } ], "anonymous": false }, { "type": "event", "name": "log_named_array", "inputs": [ { "name": "key", "type": "string", "indexed": false, "internalType": "string" }, { "name": "val", "type": "address[]", "indexed": false, "internalType": "address[]" } ], "anonymous": false }, { "type": "event", "name": "log_named_bytes", "inputs": [ { "name": "key", "type": "string", "indexed": false, "internalType": "string" }, { "name": "val", "type": "bytes", "indexed": false, "internalType": "bytes" } ], "anonymous": false }, { "type": "event", "name": "log_named_bytes32", "inputs": [ { "name": "key", "type": "string", "indexed": false, "internalType": "string" }, { "name": "val", "type": "bytes32", "indexed": false, "internalType": "bytes32" } ], "anonymous": false }, { "type": "event", "name": "log_named_decimal_int", "inputs": [ { "name": "key", "type": "string", "indexed": false, "internalType": "string" }, { "name": "val", "type": "int256", "indexed": false, "internalType": "int256" }, { "name": "decimals", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "log_named_decimal_uint", "inputs": [ { "name": "key", "type": "string", "indexed": false, "internalType": "string" }, { "name": "val", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "decimals", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "log_named_int", "inputs": [ { "name": "key", "type": "string", "indexed": false, "internalType": "string" }, { "name": "val", "type": "int256", "indexed": false, "internalType": "int256" } ], "anonymous": false }, { "type": "event", "name": "log_named_string", "inputs": [ { "name": "key", "type": "string", "indexed": false, "internalType": "string" }, { "name": "val", "type": "string", "indexed": false, "internalType": "string" } ], "anonymous": false }, { "type": "event", "name": "log_named_uint", "inputs": [ { "name": "key", "type": "string", "indexed": false, "internalType": "string" }, { "name": "val", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "log_string", "inputs": [ { "name": "", "type": "string", "indexed": false, "internalType": "string" } ], "anonymous": false }, { "type": "event", "name": "log_uint", "inputs": [ { "name": "", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "logs", "inputs": [ { "name": "", "type": "bytes", "indexed": false, "internalType": "bytes" } ], "anonymous": false } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "IS_SCRIPT()": "f8ccbf47", "IS_TEST()": "fa7626d4", "addr(string)": "511b1df9", "failed()": "ba414fa6", "setUp()": "0a9254e4", "vm()": "3a768463" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"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_SCRIPT\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"}],\"name\":\"addr\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"setUp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"vm\",\"outputs\":[{\"internalType\":\"contract Vm\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"tests/persistent/Dispatcher.t.sol\":\"DispatcherTest\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/mocks/MockVaultLib.sol\":{\"keccak256\":\"0x14d298c9cd4411cc6260fe50b93a1da572c5ddee7bfca377dd35403741c4e3b6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://e51c048dc4e2c9117fff0ecd4ab94d09701b9cd89247db8608c1a491c7374635\",\"dweb:/ipfs/QmYkH9dXQp1EEMfrcGPUTc3ey4o2UtvG91vDxjgQzwUuHE\"]},\"contracts/persistent/dispatcher/Dispatcher.sol\":{\"keccak256\":\"0x0590285e72005e40573fcc93e95aa75a5963bdcf5b02a627c73d8bc982f9d850\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://e9f2190a9ba01ec1f03b5159387c3864b9700337f3d7b07ec0758bbde52d32e2\",\"dweb:/ipfs/QmX5gevftdWC5xzSVcmVn14aFhKgweCXAhndZ8ZECN92fj\"]},\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/dispatcher/IMigrationHookHandler.sol\":{\"keccak256\":\"0x4cec61ef58c1d2e7693ee954c3582b1a04ff836a569e216edb7526c7e56a5632\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://0acae6d91e3e20e6ebd46cbeff926967a2d64f3d8eb2e3cdff20366917a77879\",\"dweb:/ipfs/Qmd44oJngTNRnwXdDwtNd9o4UvTgxAmBGikz3QMPKf4NWy\"]},\"contracts/persistent/vault/VaultLibBaseCore.sol\":{\"keccak256\":\"0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd\",\"dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz\"]},\"contracts/persistent/vault/VaultProxy.sol\":{\"keccak256\":\"0x08ff12cb7955ab80cf35f98a5abae23a92f655916669986d1580cb394f6b6bb3\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://320fcccd67d3390d6762bdef41f7d5e679e61b3244b1d945fc33402ea684bc3a\",\"dweb:/ipfs/Qmaaxqgm4EzF1r4n52pkjs7bA5quKhVwrh356rTFXDj86L\"]},\"contracts/persistent/vault/interfaces/IMigratableVault.sol\":{\"keccak256\":\"0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6\",\"dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs\"]},\"contracts/persistent/vault/utils/ProxiableVaultLib.sol\":{\"keccak256\":\"0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44\",\"dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4\"]},\"contracts/persistent/vault/utils/SharesTokenBase.sol\":{\"keccak256\":\"0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8\",\"dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4\"]},\"contracts/persistent/vault/utils/VaultLibSafeMath.sol\":{\"keccak256\":\"0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02\",\"dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG\"]},\"lib/forge-std/lib/ds-test/src/test.sol\":{\"keccak256\":\"0xb39cd1d5220cb474947b131e15a4538334b7e886af244b440ae5c9c6bba96a54\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://3101520221449ac0070bda3881311a71d9aa87e5210765e875246922cb5cb5f5\",\"dweb:/ipfs/Qmbg6kAHNoG7ox9N9Xqd9Ere2H2XixMFWFqvyPwFCzB3Gr\"]},\"lib/forge-std/src/Script.sol\":{\"keccak256\":\"0x4424dbcb8f5b741475445726f87408fcd89951fad973bec2ca442ee157f910e7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5b0b9f6dfb69245d8f888558ae82bf1d2cdeace46201444fe4b2e6a5283f944a\",\"dweb:/ipfs/QmWFSKeFEZngNcwNn7A84EF7pASo5qe6r5oK24r9Kwca7Z\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0xa85dee62f7a3d7d3b26051f28d08bbfaa6d76888b8e64395583c35f11070372b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f3ecace3d6120731c4520f651c36658940df958755a2c86d6bf0ec895320a915\",\"dweb:/ipfs/QmVGbUYLtMsAYF3C27qHKs3VHRuRNDypuDfs4XGK47kqUT\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x63fc2487cf3a6650d933e18bcb61766f15f74c327192381806ea00f8f6446f66\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aad99f7b2ed3b11ff6c17b84b4196c562898640a80cabc2c28c87c116099a00f\",\"dweb:/ipfs/QmQNNbxHabRycegyXwJWBDutrdcScAP2SU5zEvorWEaFpx\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0xbeb823fcdb356244a83aaccdf828ad019ecc1ffaa3dff18e624fc6d5714ea671\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4cbe9400340e5f9ec55e2aff3bad1c15fa3afbbe37e80800e6f3fed2ad26854f\",\"dweb:/ipfs/QmdJBABsuXkvWxVzEyGXsTE3vyfBPXDdw5xvvtUz3JeoYW\"]},\"tests/persistent/Dispatcher.t.sol\":{\"keccak256\":\"0x9f19e0376c4d2fa61f4c50089a46d54b7a1d464b31413aeb4147da02b44cd298\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://e9f733c425d149594c2044229dd51e543d330cfb11b7825dfd59631a3aabd71d\",\"dweb:/ipfs/QmY3c9daKiMH2W9qbq94TekosaySFV44ZUXsGuBfigo832\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "string", "name": "", "type": "string", "indexed": false } ], "type": "event", "name": "log", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "", "type": "address", "indexed": false } ], "type": "event", "name": "log_address", "anonymous": false }, { "inputs": [ { "internalType": "uint256[]", "name": "val", "type": "uint256[]", "indexed": false } ], "type": "event", "name": "log_array", "anonymous": false }, { "inputs": [ { "internalType": "int256[]", "name": "val", "type": "int256[]", "indexed": false } ], "type": "event", "name": "log_array", "anonymous": false }, { "inputs": [ { "internalType": "address[]", "name": "val", "type": "address[]", "indexed": false } ], "type": "event", "name": "log_array", "anonymous": false }, { "inputs": [ { "internalType": "bytes", "name": "", "type": "bytes", "indexed": false } ], "type": "event", "name": "log_bytes", "anonymous": false }, { "inputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32", "indexed": false } ], "type": "event", "name": "log_bytes32", "anonymous": false }, { "inputs": [ { "internalType": "int256", "name": "", "type": "int256", "indexed": false } ], "type": "event", "name": "log_int", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "key", "type": "string", "indexed": false }, { "internalType": "address", "name": "val", "type": "address", "indexed": false } ], "type": "event", "name": "log_named_address", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "key", "type": "string", "indexed": false }, { "internalType": "uint256[]", "name": "val", "type": "uint256[]", "indexed": false } ], "type": "event", "name": "log_named_array", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "key", "type": "string", "indexed": false }, { "internalType": "int256[]", "name": "val", "type": "int256[]", "indexed": false } ], "type": "event", "name": "log_named_array", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "key", "type": "string", "indexed": false }, { "internalType": "address[]", "name": "val", "type": "address[]", "indexed": false } ], "type": "event", "name": "log_named_array", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "key", "type": "string", "indexed": false }, { "internalType": "bytes", "name": "val", "type": "bytes", "indexed": false } ], "type": "event", "name": "log_named_bytes", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "key", "type": "string", "indexed": false }, { "internalType": "bytes32", "name": "val", "type": "bytes32", "indexed": false } ], "type": "event", "name": "log_named_bytes32", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "key", "type": "string", "indexed": false }, { "internalType": "int256", "name": "val", "type": "int256", "indexed": false }, { "internalType": "uint256", "name": "decimals", "type": "uint256", "indexed": false } ], "type": "event", "name": "log_named_decimal_int", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "key", "type": "string", "indexed": false }, { "internalType": "uint256", "name": "val", "type": "uint256", "indexed": false }, { "internalType": "uint256", "name": "decimals", "type": "uint256", "indexed": false } ], "type": "event", "name": "log_named_decimal_uint", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "key", "type": "string", "indexed": false }, { "internalType": "int256", "name": "val", "type": "int256", "indexed": false } ], "type": "event", "name": "log_named_int", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "key", "type": "string", "indexed": false }, { "internalType": "string", "name": "val", "type": "string", "indexed": false } ], "type": "event", "name": "log_named_string", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "key", "type": "string", "indexed": false }, { "internalType": "uint256", "name": "val", "type": "uint256", "indexed": false } ], "type": "event", "name": "log_named_uint", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "", "type": "string", "indexed": false } ], "type": "event", "name": "log_string", "anonymous": false }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256", "indexed": false } ], "type": "event", "name": "log_uint", "anonymous": false }, { "inputs": [ { "internalType": "bytes", "name": "", "type": "bytes", "indexed": false } ], "type": "event", "name": "logs", "anonymous": false }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "IS_SCRIPT", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "IS_TEST", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [ { "internalType": "string", "name": "_name", "type": "string" } ], "stateMutability": "pure", "type": "function", "name": "addr", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ] }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "failed", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "setUp" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "vm", "outputs": [ { "internalType": "contract Vm", "name": "", "type": "address" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "tests/persistent/Dispatcher.t.sol": "DispatcherTest" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/mocks/MockVaultLib.sol": { "keccak256": "0x14d298c9cd4411cc6260fe50b93a1da572c5ddee7bfca377dd35403741c4e3b6", "urls": [ "bzz-raw://e51c048dc4e2c9117fff0ecd4ab94d09701b9cd89247db8608c1a491c7374635", "dweb:/ipfs/QmYkH9dXQp1EEMfrcGPUTc3ey4o2UtvG91vDxjgQzwUuHE" ], "license": "GPL-3.0" }, "contracts/persistent/dispatcher/Dispatcher.sol": { "keccak256": "0x0590285e72005e40573fcc93e95aa75a5963bdcf5b02a627c73d8bc982f9d850", "urls": [ "bzz-raw://e9f2190a9ba01ec1f03b5159387c3864b9700337f3d7b07ec0758bbde52d32e2", "dweb:/ipfs/QmX5gevftdWC5xzSVcmVn14aFhKgweCXAhndZ8ZECN92fj" ], "license": "GPL-3.0" }, "contracts/persistent/dispatcher/IDispatcher.sol": { "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", "urls": [ "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" ], "license": "GPL-3.0" }, "contracts/persistent/dispatcher/IMigrationHookHandler.sol": { "keccak256": "0x4cec61ef58c1d2e7693ee954c3582b1a04ff836a569e216edb7526c7e56a5632", "urls": [ "bzz-raw://0acae6d91e3e20e6ebd46cbeff926967a2d64f3d8eb2e3cdff20366917a77879", "dweb:/ipfs/Qmd44oJngTNRnwXdDwtNd9o4UvTgxAmBGikz3QMPKf4NWy" ], "license": "GPL-3.0" }, "contracts/persistent/vault/VaultLibBaseCore.sol": { "keccak256": "0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074", "urls": [ "bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd", "dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz" ], "license": "GPL-3.0" }, "contracts/persistent/vault/VaultProxy.sol": { "keccak256": "0x08ff12cb7955ab80cf35f98a5abae23a92f655916669986d1580cb394f6b6bb3", "urls": [ "bzz-raw://320fcccd67d3390d6762bdef41f7d5e679e61b3244b1d945fc33402ea684bc3a", "dweb:/ipfs/Qmaaxqgm4EzF1r4n52pkjs7bA5quKhVwrh356rTFXDj86L" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IMigratableVault.sol": { "keccak256": "0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238", "urls": [ "bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6", "dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs" ], "license": "GPL-3.0" }, "contracts/persistent/vault/utils/ProxiableVaultLib.sol": { "keccak256": "0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76", "urls": [ "bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44", "dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4" ], "license": "GPL-3.0" }, "contracts/persistent/vault/utils/SharesTokenBase.sol": { "keccak256": "0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113", "urls": [ "bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8", "dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4" ], "license": "GPL-3.0" }, "contracts/persistent/vault/utils/VaultLibSafeMath.sol": { "keccak256": "0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d", "urls": [ "bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02", "dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG" ], "license": "GPL-3.0" }, "lib/forge-std/lib/ds-test/src/test.sol": { "keccak256": "0xb39cd1d5220cb474947b131e15a4538334b7e886af244b440ae5c9c6bba96a54", "urls": [ "bzz-raw://3101520221449ac0070bda3881311a71d9aa87e5210765e875246922cb5cb5f5", "dweb:/ipfs/Qmbg6kAHNoG7ox9N9Xqd9Ere2H2XixMFWFqvyPwFCzB3Gr" ], "license": "GPL-3.0-or-later" }, "lib/forge-std/src/Script.sol": { "keccak256": "0x4424dbcb8f5b741475445726f87408fcd89951fad973bec2ca442ee157f910e7", "urls": [ "bzz-raw://5b0b9f6dfb69245d8f888558ae82bf1d2cdeace46201444fe4b2e6a5283f944a", "dweb:/ipfs/QmWFSKeFEZngNcwNn7A84EF7pASo5qe6r5oK24r9Kwca7Z" ], "license": "MIT" }, "lib/forge-std/src/Test.sol": { "keccak256": "0xa85dee62f7a3d7d3b26051f28d08bbfaa6d76888b8e64395583c35f11070372b", "urls": [ "bzz-raw://f3ecace3d6120731c4520f651c36658940df958755a2c86d6bf0ec895320a915", "dweb:/ipfs/QmVGbUYLtMsAYF3C27qHKs3VHRuRNDypuDfs4XGK47kqUT" ], "license": "MIT" }, "lib/forge-std/src/Vm.sol": { "keccak256": "0x63fc2487cf3a6650d933e18bcb61766f15f74c327192381806ea00f8f6446f66", "urls": [ "bzz-raw://aad99f7b2ed3b11ff6c17b84b4196c562898640a80cabc2c28c87c116099a00f", "dweb:/ipfs/QmQNNbxHabRycegyXwJWBDutrdcScAP2SU5zEvorWEaFpx" ], "license": "MIT" }, "lib/forge-std/src/console.sol": { "keccak256": "0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba", "urls": [ "bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70", "dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec" ], "license": "MIT" }, "lib/forge-std/src/console2.sol": { "keccak256": "0xbeb823fcdb356244a83aaccdf828ad019ecc1ffaa3dff18e624fc6d5714ea671", "urls": [ "bzz-raw://4cbe9400340e5f9ec55e2aff3bad1c15fa3afbbe37e80800e6f3fed2ad26854f", "dweb:/ipfs/QmdJBABsuXkvWxVzEyGXsTE3vyfBPXDdw5xvvtUz3JeoYW" ], "license": "MIT" }, "tests/persistent/Dispatcher.t.sol": { "keccak256": "0x9f19e0376c4d2fa61f4c50089a46d54b7a1d464b31413aeb4147da02b44cd298", "urls": [ "bzz-raw://e9f733c425d149594c2044229dd51e543d330cfb11b7825dfd59631a3aabd71d", "dweb:/ipfs/QmY3c9daKiMH2W9qbq94TekosaySFV44ZUXsGuBfigo832" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 456 } diff --git a/eth_defi/abi/enzyme/DustEvaluatorMixin.json b/eth_defi/abi/enzyme/DustEvaluatorMixin.json index e1c6dd17..21c250af 100644 --- a/eth_defi/abi/enzyme/DustEvaluatorMixin.json +++ b/eth_defi/abi/enzyme/DustEvaluatorMixin.json @@ -1,287 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_fundDeployer", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "nextDustToleranceInWeth", - "type": "uint256" - } - ], - "name": "DustToleranceInWethSet", - "type": "event" - }, - { - "inputs": [], - "name": "getDustToleranceInWeth", - "outputs": [ - { - "internalType": "uint256", - "name": "dustToleranceInWeth_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getFundDeployer", - "outputs": [ - { - "internalType": "address", - "name": "fundDeployer_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "owner_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_nextDustToleranceInWeth", - "type": "uint256" - } - ], - "name": "setDustToleranceInWeth", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "getDustToleranceInWeth()": "58bfdfee", - "getFundDeployer()": "97c0ac87", - "getOwner()": "893d20e8", - "setDustToleranceInWeth(uint256)": "219ea7bf" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_fundDeployer\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"nextDustToleranceInWeth\",\"type\":\"uint256\"}],\"name\":\"DustToleranceInWethSet\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"getDustToleranceInWeth\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"dustToleranceInWeth_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFundDeployer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"fundDeployer_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_nextDustToleranceInWeth\",\"type\":\"uint256\"}],\"name\":\"setDustToleranceInWeth\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"getDustToleranceInWeth()\":{\"returns\":{\"dustToleranceInWeth_\":\"The `dustToleranceInWeth` variable value\"}},\"getFundDeployer()\":{\"returns\":{\"fundDeployer_\":\"The `FUND_DEPLOYER` variable value\"}},\"getOwner()\":{\"details\":\"Ownership is deferred to the owner of the FundDeployer contract\",\"returns\":{\"owner_\":\"The owner\"}},\"setDustToleranceInWeth(uint256)\":{\"params\":{\"_nextDustToleranceInWeth\":\"The next dustToleranceInWeth value\"}}},\"title\":\"DustEvaluatorMixin Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getDustToleranceInWeth()\":{\"notice\":\"Gets the `dustToleranceInWeth` variable\"},\"getFundDeployer()\":{\"notice\":\"Gets the `FUND_DEPLOYER` variable\"},\"getOwner()\":{\"notice\":\"Gets the owner of this contract\"},\"setDustToleranceInWeth(uint256)\":{\"notice\":\"Sets the dustToleranceInWeth variable value\"}},\"notice\":\"A mixin used to evaluate where an amount of a given asset can be considered \\\"dust,\\\" i.e., of negligible value\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/policy-manager/policies/utils/DustEvaluatorMixin.sol\":\"DustEvaluatorMixin\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/extensions/policy-manager/policies/utils/DustEvaluatorMixin.sol\":{\"keccak256\":\"0xe3b05643184569abd6c1d6edcbaa983b54acfcdcf112306799896466786a6201\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://65e84bc47952fb5cd31a0617d7ec314e3a4c35f68582669bd2179514bc74b036\",\"dweb:/ipfs/QmUKqvbmeXvzvy3xZk3zhjNxm1kXSPKjBURm8Pd25Cmki4\"]},\"contracts/release/utils/FundDeployerOwnerMixin.sol\":{\"keccak256\":\"0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927\",\"dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_fundDeployer", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "nextDustToleranceInWeth", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "DustToleranceInWethSet", - "anonymous": false - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getDustToleranceInWeth", - "outputs": [ - { - "internalType": "uint256", - "name": "dustToleranceInWeth_", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getFundDeployer", - "outputs": [ - { - "internalType": "address", - "name": "fundDeployer_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "owner_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_nextDustToleranceInWeth", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setDustToleranceInWeth" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "getDustToleranceInWeth()": { - "returns": { - "dustToleranceInWeth_": "The `dustToleranceInWeth` variable value" - } - }, - "getFundDeployer()": { - "returns": { - "fundDeployer_": "The `FUND_DEPLOYER` variable value" - } - }, - "getOwner()": { - "details": "Ownership is deferred to the owner of the FundDeployer contract", - "returns": { - "owner_": "The owner" - } - }, - "setDustToleranceInWeth(uint256)": { - "params": { - "_nextDustToleranceInWeth": "The next dustToleranceInWeth value" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "getDustToleranceInWeth()": { - "notice": "Gets the `dustToleranceInWeth` variable" - }, - "getFundDeployer()": { - "notice": "Gets the `FUND_DEPLOYER` variable" - }, - "getOwner()": { - "notice": "Gets the owner of this contract" - }, - "setDustToleranceInWeth(uint256)": { - "notice": "Sets the dustToleranceInWeth variable value" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/policy-manager/policies/utils/DustEvaluatorMixin.sol": "DustEvaluatorMixin" - }, - "libraries": {} - }, - "sources": { - "contracts/release/core/fund-deployer/IFundDeployer.sol": { - "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", - "urls": [ - "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", - "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/policy-manager/policies/utils/DustEvaluatorMixin.sol": { - "keccak256": "0xe3b05643184569abd6c1d6edcbaa983b54acfcdcf112306799896466786a6201", - "urls": [ - "bzz-raw://65e84bc47952fb5cd31a0617d7ec314e3a4c35f68582669bd2179514bc74b036", - "dweb:/ipfs/QmUKqvbmeXvzvy3xZk3zhjNxm1kXSPKjBURm8Pd25Cmki4" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/FundDeployerOwnerMixin.sol": { - "keccak256": "0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934", - "urls": [ - "bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927", - "dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 222 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_fundDeployer", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "getDustToleranceInWeth", "inputs": [], "outputs": [ { "name": "dustToleranceInWeth_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "getFundDeployer", "inputs": [], "outputs": [ { "name": "fundDeployer_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getOwner", "inputs": [], "outputs": [ { "name": "owner_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "setDustToleranceInWeth", "inputs": [ { "name": "_nextDustToleranceInWeth", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "event", "name": "DustToleranceInWethSet", "inputs": [ { "name": "nextDustToleranceInWeth", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "getDustToleranceInWeth()": "58bfdfee", "getFundDeployer()": "97c0ac87", "getOwner()": "893d20e8", "setDustToleranceInWeth(uint256)": "219ea7bf" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_fundDeployer\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"nextDustToleranceInWeth\",\"type\":\"uint256\"}],\"name\":\"DustToleranceInWethSet\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"getDustToleranceInWeth\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"dustToleranceInWeth_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFundDeployer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"fundDeployer_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_nextDustToleranceInWeth\",\"type\":\"uint256\"}],\"name\":\"setDustToleranceInWeth\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"getDustToleranceInWeth()\":{\"returns\":{\"dustToleranceInWeth_\":\"The `dustToleranceInWeth` variable value\"}},\"getFundDeployer()\":{\"returns\":{\"fundDeployer_\":\"The `FUND_DEPLOYER` variable value\"}},\"getOwner()\":{\"details\":\"Ownership is deferred to the owner of the FundDeployer contract\",\"returns\":{\"owner_\":\"The owner\"}},\"setDustToleranceInWeth(uint256)\":{\"params\":{\"_nextDustToleranceInWeth\":\"The next dustToleranceInWeth value\"}}},\"title\":\"DustEvaluatorMixin Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getDustToleranceInWeth()\":{\"notice\":\"Gets the `dustToleranceInWeth` variable\"},\"getFundDeployer()\":{\"notice\":\"Gets the `FUND_DEPLOYER` variable\"},\"getOwner()\":{\"notice\":\"Gets the owner of this contract\"},\"setDustToleranceInWeth(uint256)\":{\"notice\":\"Sets the dustToleranceInWeth variable value\"}},\"notice\":\"A mixin used to evaluate where an amount of a given asset can be considered \\\"dust,\\\" i.e., of negligible value\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/policy-manager/policies/utils/DustEvaluatorMixin.sol\":\"DustEvaluatorMixin\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/extensions/policy-manager/policies/utils/DustEvaluatorMixin.sol\":{\"keccak256\":\"0xe3b05643184569abd6c1d6edcbaa983b54acfcdcf112306799896466786a6201\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://65e84bc47952fb5cd31a0617d7ec314e3a4c35f68582669bd2179514bc74b036\",\"dweb:/ipfs/QmUKqvbmeXvzvy3xZk3zhjNxm1kXSPKjBURm8Pd25Cmki4\"]},\"contracts/release/utils/FundDeployerOwnerMixin.sol\":{\"keccak256\":\"0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927\",\"dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_fundDeployer", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "uint256", "name": "nextDustToleranceInWeth", "type": "uint256", "indexed": false } ], "type": "event", "name": "DustToleranceInWethSet", "anonymous": false }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getDustToleranceInWeth", "outputs": [ { "internalType": "uint256", "name": "dustToleranceInWeth_", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getFundDeployer", "outputs": [ { "internalType": "address", "name": "fundDeployer_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getOwner", "outputs": [ { "internalType": "address", "name": "owner_", "type": "address" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_nextDustToleranceInWeth", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "setDustToleranceInWeth" } ], "devdoc": { "kind": "dev", "methods": { "getDustToleranceInWeth()": { "returns": { "dustToleranceInWeth_": "The `dustToleranceInWeth` variable value" } }, "getFundDeployer()": { "returns": { "fundDeployer_": "The `FUND_DEPLOYER` variable value" } }, "getOwner()": { "details": "Ownership is deferred to the owner of the FundDeployer contract", "returns": { "owner_": "The owner" } }, "setDustToleranceInWeth(uint256)": { "params": { "_nextDustToleranceInWeth": "The next dustToleranceInWeth value" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "getDustToleranceInWeth()": { "notice": "Gets the `dustToleranceInWeth` variable" }, "getFundDeployer()": { "notice": "Gets the `FUND_DEPLOYER` variable" }, "getOwner()": { "notice": "Gets the owner of this contract" }, "setDustToleranceInWeth(uint256)": { "notice": "Sets the dustToleranceInWeth variable value" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/policy-manager/policies/utils/DustEvaluatorMixin.sol": "DustEvaluatorMixin" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/core/fund-deployer/IFundDeployer.sol": { "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", "urls": [ "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" ], "license": "GPL-3.0" }, "contracts/release/extensions/policy-manager/policies/utils/DustEvaluatorMixin.sol": { "keccak256": "0xe3b05643184569abd6c1d6edcbaa983b54acfcdcf112306799896466786a6201", "urls": [ "bzz-raw://65e84bc47952fb5cd31a0617d7ec314e3a4c35f68582669bd2179514bc74b036", "dweb:/ipfs/QmUKqvbmeXvzvy3xZk3zhjNxm1kXSPKjBURm8Pd25Cmki4" ], "license": "GPL-3.0" }, "contracts/release/utils/FundDeployerOwnerMixin.sol": { "keccak256": "0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934", "urls": [ "bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927", "dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 222 } diff --git a/eth_defi/abi/enzyme/ERC165.json b/eth_defi/abi/enzyme/ERC165.json index 60286aaa..54a681ac 100644 --- a/eth_defi/abi/enzyme/ERC165.json +++ b/eth_defi/abi/enzyme/ERC165.json @@ -1,132 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "supportsInterface(bytes4)": "01ffc9a7" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.7.6+commit.7338295f\"},\"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 may inherit from this and call {_registerInterface} to declare their support of an interface.\",\"kind\":\"dev\",\"methods\":{\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}. Time complexity O(1), guaranteed to always use less than 30 000 gas.\"}},\"stateVariables\":{\"_supportedInterfaces\":{\"details\":\"Mapping of interface ids to whether or not it's supported.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@openzeppelin-solc-0.7/contracts/introspection/ERC165.sol\":\"ERC165\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"node_modules/@openzeppelin-solc-0.7/contracts/introspection/ERC165.sol\":{\"keccak256\":\"0x234cdf2c3efd5f0dc17d32fe65d33c21674ca17de1e945eb60ac1076d7152d96\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd196df6ec4549923b4581fcb4be3d05237b5221067410d0bc34cb76d4174441\",\"dweb:/ipfs/Qmf2vFVgbfpD4FvAhQXkprg9sKSX3TXKRdbQTSjJVEmzWj\"]},\"node_modules/@openzeppelin-solc-0.7/contracts/introspection/IERC165.sol\":{\"keccak256\":\"0xd2f30fad5b24c4120f96dbac83aacdb7993ee610a9092bc23c44463da292bf8d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e3d4e72409e392c7694b6405a0136cf073d8da016df33ef8f9ad195f724ebfea\",\"dweb:/ipfs/QmPGcddKq6CgsiKnxUUif2q76wRqP3dmdQ6bKuHCLmb8Wa\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.7.6+commit.7338295f" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function", - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "supportsInterface(bytes4)": { - "details": "See {IERC165-supportsInterface}. Time complexity O(1), guaranteed to always use less than 30 000 gas." - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "node_modules/@openzeppelin-solc-0.7/contracts/introspection/ERC165.sol": "ERC165" - }, - "libraries": {} - }, - "sources": { - "node_modules/@openzeppelin-solc-0.7/contracts/introspection/ERC165.sol": { - "keccak256": "0x234cdf2c3efd5f0dc17d32fe65d33c21674ca17de1e945eb60ac1076d7152d96", - "urls": [ - "bzz-raw://bd196df6ec4549923b4581fcb4be3d05237b5221067410d0bc34cb76d4174441", - "dweb:/ipfs/Qmf2vFVgbfpD4FvAhQXkprg9sKSX3TXKRdbQTSjJVEmzWj" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin-solc-0.7/contracts/introspection/IERC165.sol": { - "keccak256": "0xd2f30fad5b24c4120f96dbac83aacdb7993ee610a9092bc23c44463da292bf8d", - "urls": [ - "bzz-raw://e3d4e72409e392c7694b6405a0136cf073d8da016df33ef8f9ad195f724ebfea", - "dweb:/ipfs/QmPGcddKq6CgsiKnxUUif2q76wRqP3dmdQ6bKuHCLmb8Wa" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 8 -} +{ "abi": [ { "type": "function", "name": "supportsInterface", "inputs": [ { "name": "interfaceId", "type": "bytes4", "internalType": "bytes4" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "supportsInterface(bytes4)": "01ffc9a7" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.7.6+commit.7338295f\"},\"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 may inherit from this and call {_registerInterface} to declare their support of an interface.\",\"kind\":\"dev\",\"methods\":{\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}. Time complexity O(1), guaranteed to always use less than 30 000 gas.\"}},\"stateVariables\":{\"_supportedInterfaces\":{\"details\":\"Mapping of interface ids to whether or not it's supported.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@openzeppelin-solc-0.7/contracts/introspection/ERC165.sol\":\"ERC165\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"node_modules/@openzeppelin-solc-0.7/contracts/introspection/ERC165.sol\":{\"keccak256\":\"0x234cdf2c3efd5f0dc17d32fe65d33c21674ca17de1e945eb60ac1076d7152d96\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd196df6ec4549923b4581fcb4be3d05237b5221067410d0bc34cb76d4174441\",\"dweb:/ipfs/Qmf2vFVgbfpD4FvAhQXkprg9sKSX3TXKRdbQTSjJVEmzWj\"]},\"node_modules/@openzeppelin-solc-0.7/contracts/introspection/IERC165.sol\":{\"keccak256\":\"0xd2f30fad5b24c4120f96dbac83aacdb7993ee610a9092bc23c44463da292bf8d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e3d4e72409e392c7694b6405a0136cf073d8da016df33ef8f9ad195f724ebfea\",\"dweb:/ipfs/QmPGcddKq6CgsiKnxUUif2q76wRqP3dmdQ6bKuHCLmb8Wa\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.7.6+commit.7338295f" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "bytes4", "name": "interfaceId", "type": "bytes4" } ], "stateMutability": "view", "type": "function", "name": "supportsInterface", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] } ], "devdoc": { "kind": "dev", "methods": { "supportsInterface(bytes4)": { "details": "See {IERC165-supportsInterface}. Time complexity O(1), guaranteed to always use less than 30 000 gas." } }, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "node_modules/@openzeppelin-solc-0.7/contracts/introspection/ERC165.sol": "ERC165" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "node_modules/@openzeppelin-solc-0.7/contracts/introspection/ERC165.sol": { "keccak256": "0x234cdf2c3efd5f0dc17d32fe65d33c21674ca17de1e945eb60ac1076d7152d96", "urls": [ "bzz-raw://bd196df6ec4549923b4581fcb4be3d05237b5221067410d0bc34cb76d4174441", "dweb:/ipfs/Qmf2vFVgbfpD4FvAhQXkprg9sKSX3TXKRdbQTSjJVEmzWj" ], "license": "MIT" }, "node_modules/@openzeppelin-solc-0.7/contracts/introspection/IERC165.sol": { "keccak256": "0xd2f30fad5b24c4120f96dbac83aacdb7993ee610a9092bc23c44463da292bf8d", "urls": [ "bzz-raw://e3d4e72409e392c7694b6405a0136cf073d8da016df33ef8f9ad195f724ebfea", "dweb:/ipfs/QmPGcddKq6CgsiKnxUUif2q76wRqP3dmdQ6bKuHCLmb8Wa" ], "license": "MIT" } }, "version": 1 }, "id": 8 } diff --git a/eth_defi/abi/enzyme/ERC20.json b/eth_defi/abi/enzyme/ERC20.json index 450c47ec..dadb34e2 100644 --- a/eth_defi/abi/enzyme/ERC20.json +++ b/eth_defi/abi/enzyme/ERC20.json @@ -1,725 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "string", - "name": "name_", - "type": "string" - }, - { - "internalType": "string", - "name": "symbol_", - "type": "string" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "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": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "subtractedValue", - "type": "uint256" - } - ], - "name": "decreaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "addedValue", - "type": "uint256" - } - ], - "name": "increaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "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": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x60806040523480156200001157600080fd5b5060405162000c6538038062000c65833981810160405260408110156200003757600080fd5b81019080805160405193929190846401000000008211156200005857600080fd5b9083019060208201858111156200006e57600080fd5b82516401000000008111828201881017156200008957600080fd5b82525081516020918201929091019080838360005b83811015620000b85781810151838201526020016200009e565b50505050905090810190601f168015620000e65780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200010a57600080fd5b9083019060208201858111156200012057600080fd5b82516401000000008111828201881017156200013b57600080fd5b82525081516020918201929091019080838360005b838110156200016a57818101518382015260200162000150565b50505050905090810190601f168015620001985780820380516001836020036101000a031916815260200191505b5060405250508251620001b491506003906020850190620001e0565b508051620001ca906004906020840190620001e0565b50506005805460ff19166012179055506200028c565b828054600181600116156101000203166002900490600052602060002090601f01602090048101928262000218576000855562000263565b82601f106200023357805160ff191683800117855562000263565b8280016001018555821562000263579182015b828111156200026357825182559160200191906001019062000246565b506200027192915062000275565b5090565b5b8082111562000271576000815560010162000276565b6109c9806200029c6000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c8063395093511161007157806339509351146101d957806370a082311461020557806395d89b411461022b578063a457c2d714610233578063a9059cbb1461025f578063dd62ed3e1461028b576100a9565b806306fdde03146100ae578063095ea7b31461012b57806318160ddd1461016b57806323b872dd14610185578063313ce567146101bb575b600080fd5b6100b66102b9565b6040805160208082528351818301528351919283929083019185019080838360005b838110156100f05781810151838201526020016100d8565b50505050905090810190601f16801561011d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101576004803603604081101561014157600080fd5b506001600160a01b03813516906020013561034f565b604080519115158252519081900360200190f35b61017361036c565b60408051918252519081900360200190f35b6101576004803603606081101561019b57600080fd5b506001600160a01b03813581169160208101359091169060400135610372565b6101c36103f9565b6040805160ff9092168252519081900360200190f35b610157600480360360408110156101ef57600080fd5b506001600160a01b038135169060200135610402565b6101736004803603602081101561021b57600080fd5b50356001600160a01b0316610450565b6100b661046b565b6101576004803603604081101561024957600080fd5b506001600160a01b0381351690602001356104cc565b6101576004803603604081101561027557600080fd5b506001600160a01b038135169060200135610534565b610173600480360360408110156102a157600080fd5b506001600160a01b0381358116916020013516610548565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156103455780601f1061031a57610100808354040283529160200191610345565b820191906000526020600020905b81548152906001019060200180831161032857829003601f168201915b5050505050905090565b600061036361035c610573565b8484610577565b50600192915050565b60025490565b600061037f848484610663565b6103ef8461038b610573565b6103ea85604051806060016040528060288152602001610927602891396001600160a01b038a166000908152600160205260408120906103c9610573565b6001600160a01b0316815260208101919091526040016000205491906107be565b610577565b5060019392505050565b60055460ff1690565b600061036361040f610573565b846103ea8560016000610420610573565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490610855565b6001600160a01b031660009081526020819052604090205490565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156103455780601f1061031a57610100808354040283529160200191610345565b60006103636104d9610573565b846103ea856040518060600160405280602581526020016109986025913960016000610503610573565b6001600160a01b03908116825260208083019390935260409182016000908120918d168152925290205491906107be565b6000610363610541610573565b8484610663565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b3390565b6001600160a01b0383166105bc5760405162461bcd60e51b81526004018080602001828103825260248152602001806109746024913960400191505060405180910390fd5b6001600160a01b0382166106015760405162461bcd60e51b81526004018080602001828103825260228152602001806108df6022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0383166106a85760405162461bcd60e51b815260040180806020018281038252602581526020018061094f6025913960400191505060405180910390fd5b6001600160a01b0382166106ed5760405162461bcd60e51b81526004018080602001828103825260238152602001806108bc6023913960400191505060405180910390fd5b6106f88383836108b6565b61073581604051806060016040528060268152602001610901602691396001600160a01b03861660009081526020819052604090205491906107be565b6001600160a01b0380851660009081526020819052604080822093909355908416815220546107649082610855565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b6000818484111561084d5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156108125781810151838201526020016107fa565b50505050905090810190601f16801561083f5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6000828201838110156108af576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b50505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa164736f6c6343000706000a", - "sourceMap": "1313:9467:11:-:0;;;1950:138;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1950:138:11;;;;;;;;;;-1:-1:-1;1950:138:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1950:138:11;;;;;;;;;;-1:-1:-1;1950:138:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1950:138:11;;-1:-1:-1;;2017:13:11;;;;-1:-1:-1;2017:5:11;;:13;;;;;:::i;:::-;-1:-1:-1;2040:17:11;;;;:7;;:17;;;;;:::i;:::-;-1:-1:-1;;2067:9:11;:14;;-1:-1:-1;;2067:14:11;2079:2;2067:14;;;-1:-1:-1;1313:9467:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1313:9467:11;;;-1:-1:-1;1313:9467:11;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106100a95760003560e01c8063395093511161007157806339509351146101d957806370a082311461020557806395d89b411461022b578063a457c2d714610233578063a9059cbb1461025f578063dd62ed3e1461028b576100a9565b806306fdde03146100ae578063095ea7b31461012b57806318160ddd1461016b57806323b872dd14610185578063313ce567146101bb575b600080fd5b6100b66102b9565b6040805160208082528351818301528351919283929083019185019080838360005b838110156100f05781810151838201526020016100d8565b50505050905090810190601f16801561011d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101576004803603604081101561014157600080fd5b506001600160a01b03813516906020013561034f565b604080519115158252519081900360200190f35b61017361036c565b60408051918252519081900360200190f35b6101576004803603606081101561019b57600080fd5b506001600160a01b03813581169160208101359091169060400135610372565b6101c36103f9565b6040805160ff9092168252519081900360200190f35b610157600480360360408110156101ef57600080fd5b506001600160a01b038135169060200135610402565b6101736004803603602081101561021b57600080fd5b50356001600160a01b0316610450565b6100b661046b565b6101576004803603604081101561024957600080fd5b506001600160a01b0381351690602001356104cc565b6101576004803603604081101561027557600080fd5b506001600160a01b038135169060200135610534565b610173600480360360408110156102a157600080fd5b506001600160a01b0381358116916020013516610548565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156103455780601f1061031a57610100808354040283529160200191610345565b820191906000526020600020905b81548152906001019060200180831161032857829003601f168201915b5050505050905090565b600061036361035c610573565b8484610577565b50600192915050565b60025490565b600061037f848484610663565b6103ef8461038b610573565b6103ea85604051806060016040528060288152602001610927602891396001600160a01b038a166000908152600160205260408120906103c9610573565b6001600160a01b0316815260208101919091526040016000205491906107be565b610577565b5060019392505050565b60055460ff1690565b600061036361040f610573565b846103ea8560016000610420610573565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490610855565b6001600160a01b031660009081526020819052604090205490565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156103455780601f1061031a57610100808354040283529160200191610345565b60006103636104d9610573565b846103ea856040518060600160405280602581526020016109986025913960016000610503610573565b6001600160a01b03908116825260208083019390935260409182016000908120918d168152925290205491906107be565b6000610363610541610573565b8484610663565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b3390565b6001600160a01b0383166105bc5760405162461bcd60e51b81526004018080602001828103825260248152602001806109746024913960400191505060405180910390fd5b6001600160a01b0382166106015760405162461bcd60e51b81526004018080602001828103825260228152602001806108df6022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0383166106a85760405162461bcd60e51b815260040180806020018281038252602581526020018061094f6025913960400191505060405180910390fd5b6001600160a01b0382166106ed5760405162461bcd60e51b81526004018080602001828103825260238152602001806108bc6023913960400191505060405180910390fd5b6106f88383836108b6565b61073581604051806060016040528060268152602001610901602691396001600160a01b03861660009081526020819052604090205491906107be565b6001600160a01b0380851660009081526020819052604080822093909355908416815220546107649082610855565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b6000818484111561084d5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156108125781810151838201526020016107fa565b50505050905090810190601f16801561083f5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6000828201838110156108af576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b50505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa164736f6c6343000706000a", - "sourceMap": "1313:9467:11:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2153:89;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4229:166;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;4229:166:11;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;3220:106;;;:::i;:::-;;;;;;;;;;;;;;;;4862:317;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;4862:317:11;;;;;;;;;;;;;;;;;:::i;3071:89::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5574:215;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;5574:215:11;;;;;;;;:::i;3384:125::-;;;;;;;;;;;;;;;;-1:-1:-1;3384:125:11;-1:-1:-1;;;;;3384:125:11;;:::i;2355:93::-;;;:::i;6276:266::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;6276:266:11;;;;;;;;:::i;3712:172::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;3712:172:11;;;;;;;;:::i;3942:149::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;3942:149:11;;;;;;;;;;:::i;2153:89::-;2230:5;2223:12;;;;;;;;-1:-1:-1;;2223:12:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2198:13;;2223:12;;2230:5;;2223:12;;2230:5;2223:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2153:89;:::o;4229:166::-;4312:4;4328:39;4337:12;:10;:12::i;:::-;4351:7;4360:6;4328:8;:39::i;:::-;-1:-1:-1;4384:4:11;4229:166;;;;:::o;3220:106::-;3307:12;;3220:106;:::o;4862:317::-;4968:4;4984:36;4994:6;5002:9;5013:6;4984:9;:36::i;:::-;5030:121;5039:6;5047:12;:10;:12::i;:::-;5061:89;5099:6;5061:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5061:19:11;;;;;;:11;:19;;;;;;5081:12;:10;:12::i;:::-;-1:-1:-1;;;;;5061:33:11;;;;;;;;;;;;-1:-1:-1;5061:33:11;;;:89;:37;:89::i;:::-;5030:8;:121::i;:::-;-1:-1:-1;5168:4:11;4862:317;;;;;:::o;3071:89::-;3144:9;;;;3071:89;:::o;5574:215::-;5662:4;5678:83;5687:12;:10;:12::i;:::-;5701:7;5710:50;5749:10;5710:11;:25;5722:12;:10;:12::i;:::-;-1:-1:-1;;;;;5710:25:11;;;;;;;;;;;;;;;;;-1:-1:-1;5710:25:11;;;:34;;;;;;;;;;;:38;:50::i;3384:125::-;-1:-1:-1;;;;;3484:18:11;3458:7;3484:18;;;;;;;;;;;;3384:125::o;2355:93::-;2434:7;2427:14;;;;;;;;-1:-1:-1;;2427:14:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2402:13;;2427:14;;2434:7;;2427:14;;2434:7;2427:14;;;;;;;;;;;;;;;;;;;;;;;;6276:266;6369:4;6385:129;6394:12;:10;:12::i;:::-;6408:7;6417:96;6456:15;6417:96;;;;;;;;;;;;;;;;;:11;:25;6429:12;:10;:12::i;:::-;-1:-1:-1;;;;;6417:25:11;;;;;;;;;;;;;;;;;-1:-1:-1;6417:25:11;;;:34;;;;;;;;;;;:96;:38;:96::i;3712:172::-;3798:4;3814:42;3824:12;:10;:12::i;:::-;3838:9;3849:6;3814:9;:42::i;3942:149::-;-1:-1:-1;;;;;4057:18:11;;;4031:7;4057:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;3942:149::o;598:104:20:-;685:10;598:104;:::o;9340:340:11:-;-1:-1:-1;;;;;9441:19:11;;9433:68;;;;-1:-1:-1;;;9433:68:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9519:21:11;;9511:68;;;;-1:-1:-1;;;9511:68:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9590:18:11;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;9641:32;;;;;;;;;;;;;;;;;9340:340;;;:::o;7016:530::-;-1:-1:-1;;;;;7121:20:11;;7113:70;;;;-1:-1:-1;;;7113:70:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7201:23:11;;7193:71;;;;-1:-1:-1;;;7193:71:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7275:47;7296:6;7304:9;7315:6;7275:20;:47::i;:::-;7353:71;7375:6;7353:71;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7353:17:11;;:9;:17;;;;;;;;;;;;:71;:21;:71::i;:::-;-1:-1:-1;;;;;7333:17:11;;;:9;:17;;;;;;;;;;;:91;;;;7457:20;;;;;;;:32;;7482:6;7457:24;:32::i;:::-;-1:-1:-1;;;;;7434:20:11;;;:9;:20;;;;;;;;;;;;:55;;;;7504:35;;;;;;;7434:20;;7504:35;;;;;;;;;;;;;7016:530;;;:::o;5424:163:10:-;5510:7;5545:12;5537:6;;;;5529:29;;;;-1:-1:-1;;;5529:29:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5575:5:10;;;5424:163::o;2682:175::-;2740:7;2771:5;;;2794:6;;;;2786:46;;;;;-1:-1:-1;;;2786:46:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;2849:1;2682:175;-1:-1:-1;;;2682:175:10:o;10686:92:11:-;;;;:::o", - "linkReferences": {} - }, - "methodIdentifiers": { - "allowance(address,address)": "dd62ed3e", - "approve(address,uint256)": "095ea7b3", - "balanceOf(address)": "70a08231", - "decimals()": "313ce567", - "decreaseAllowance(address,uint256)": "a457c2d7", - "increaseAllowance(address,uint256)": "39509351", - "name()": "06fdde03", - "symbol()": "95d89b41", - "totalSupply()": "18160ddd", - "transfer(address,uint256)": "a9059cbb", - "transferFrom(address,address,uint256)": "23b872dd" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.7.6+commit.7338295f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name_\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol_\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"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\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"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\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Implementation of the {IERC20} interface. This implementation is agnostic to the way tokens are created. This means that a supply mechanism has to be added in a derived contract using {_mint}. For a generic mechanism see {ERC20PresetMinterPauser}. TIP: For a detailed writeup see our guide https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How to implement supply mechanisms]. We have followed general OpenZeppelin guidelines: functions revert instead of returning `false` on failure. This behavior is nonetheless conventional and does not conflict with the expectations of ERC20 applications. Additionally, an {Approval} event is emitted on calls to {transferFrom}. This allows applications to reconstruct the allowance for all accounts just by listening to said events. Other implementations of the EIP may not emit these events, as it isn't required by the specification. Finally, the non-standard {decreaseAllowance} and {increaseAllowance} functions have been added to mitigate the well-known issues around setting allowances. See {IERC20-approve}.\",\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"constructor\":{\"details\":\"Sets the values for {name} and {symbol}, initializes {decimals} with a default value of 18. To select a different value for {decimals}, use {_setupDecimals}. All three of these values are immutable: they can only be set once during construction.\"},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5,05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the value {ERC20} uses, unless {_setupDecimals} is called. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.\"},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `recipient` cannot be the zero address. - the caller must have a balance of at least `amount`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. Requirements: - `sender` and `recipient` cannot be the zero address. - `sender` must have a balance of at least `amount`. - the caller must have allowance for ``sender``'s tokens of at least `amount`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@openzeppelin-solc-0.7/contracts/token/ERC20/ERC20.sol\":\"ERC20\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"node_modules/@openzeppelin-solc-0.7/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xe22a1fc7400ae196eba2ad1562d0386462b00a6363b742d55a2fd2021a58586f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4a635cec58fb4141a16cfd408f1a21ac944c335a3beaba541c35d2e95c04536f\",\"dweb:/ipfs/QmXWcz73UenN1ji8jiWMbzxHjjfLbNQwLVKTEB5zNFE34K\"]},\"node_modules/@openzeppelin-solc-0.7/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0x36b5ca4eabe888b39b10973621ca0dcc9b1508f8d06db9ddf045d7aa7c867d4a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ccbd79e8d556aa7011babb0e5d1e55a966add74853e7ba0274ff184bd96ef002\",\"dweb:/ipfs/QmV28ozNRUFDiDUMvCwcFmLTQPG6nfvgeKr4cmbHWoegtH\"]},\"node_modules/@openzeppelin-solc-0.7/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xbd74f587ab9b9711801baf667db1426e4a03fd2d7f15af33e0e0d0394e7cef76\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2d0913dfbfce90d170df0d496ad7596c0778518e5fa7aba6c32562522546f66b\",\"dweb:/ipfs/QmR6B8nLj2PJf5e1JWD9Nk7ErkAwkqUwadCnvE82FJr1RU\"]},\"node_modules/@openzeppelin-solc-0.7/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.7.6+commit.7338295f" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "string", - "name": "name_", - "type": "string" - }, - { - "internalType": "string", - "name": "symbol_", - "type": "string" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "spender", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "Approval", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "to", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "Transfer", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "subtractedValue", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "decreaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "addedValue", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "increaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "allowance(address,address)": { - "details": "See {IERC20-allowance}." - }, - "approve(address,uint256)": { - "details": "See {IERC20-approve}. Requirements: - `spender` cannot be the zero address." - }, - "balanceOf(address)": { - "details": "See {IERC20-balanceOf}." - }, - "constructor": { - "details": "Sets the values for {name} and {symbol}, initializes {decimals} with a default value of 18. To select a different value for {decimals}, use {_setupDecimals}. All three of these values are immutable: they can only be set once during construction." - }, - "decimals()": { - "details": "Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5,05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the value {ERC20} uses, unless {_setupDecimals} is called. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}." - }, - "decreaseAllowance(address,uint256)": { - "details": "Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`." - }, - "increaseAllowance(address,uint256)": { - "details": "Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address." - }, - "name()": { - "details": "Returns the name of the token." - }, - "symbol()": { - "details": "Returns the symbol of the token, usually a shorter version of the name." - }, - "totalSupply()": { - "details": "See {IERC20-totalSupply}." - }, - "transfer(address,uint256)": { - "details": "See {IERC20-transfer}. Requirements: - `recipient` cannot be the zero address. - the caller must have a balance of at least `amount`." - }, - "transferFrom(address,address,uint256)": { - "details": "See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. Requirements: - `sender` and `recipient` cannot be the zero address. - `sender` must have a balance of at least `amount`. - the caller must have allowance for ``sender``'s tokens of at least `amount`." - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "node_modules/@openzeppelin-solc-0.7/contracts/token/ERC20/ERC20.sol": "ERC20" - }, - "libraries": {} - }, - "sources": { - "node_modules/@openzeppelin-solc-0.7/contracts/math/SafeMath.sol": { - "keccak256": "0xe22a1fc7400ae196eba2ad1562d0386462b00a6363b742d55a2fd2021a58586f", - "urls": [ - "bzz-raw://4a635cec58fb4141a16cfd408f1a21ac944c335a3beaba541c35d2e95c04536f", - "dweb:/ipfs/QmXWcz73UenN1ji8jiWMbzxHjjfLbNQwLVKTEB5zNFE34K" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin-solc-0.7/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0x36b5ca4eabe888b39b10973621ca0dcc9b1508f8d06db9ddf045d7aa7c867d4a", - "urls": [ - "bzz-raw://ccbd79e8d556aa7011babb0e5d1e55a966add74853e7ba0274ff184bd96ef002", - "dweb:/ipfs/QmV28ozNRUFDiDUMvCwcFmLTQPG6nfvgeKr4cmbHWoegtH" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin-solc-0.7/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0xbd74f587ab9b9711801baf667db1426e4a03fd2d7f15af33e0e0d0394e7cef76", - "urls": [ - "bzz-raw://2d0913dfbfce90d170df0d496ad7596c0778518e5fa7aba6c32562522546f66b", - "dweb:/ipfs/QmR6B8nLj2PJf5e1JWD9Nk7ErkAwkqUwadCnvE82FJr1RU" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin-solc-0.7/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 11 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "name_", "type": "string", "internalType": "string" }, { "name": "symbol_", "type": "string", "internalType": "string" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "allowance", "inputs": [ { "name": "owner", "type": "address", "internalType": "address" }, { "name": "spender", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "approve", "inputs": [ { "name": "spender", "type": "address", "internalType": "address" }, { "name": "amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "balanceOf", "inputs": [ { "name": "account", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "decimals", "inputs": [], "outputs": [ { "name": "", "type": "uint8", "internalType": "uint8" } ], "stateMutability": "view" }, { "type": "function", "name": "decreaseAllowance", "inputs": [ { "name": "spender", "type": "address", "internalType": "address" }, { "name": "subtractedValue", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "increaseAllowance", "inputs": [ { "name": "spender", "type": "address", "internalType": "address" }, { "name": "addedValue", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "name", "inputs": [], "outputs": [ { "name": "", "type": "string", "internalType": "string" } ], "stateMutability": "view" }, { "type": "function", "name": "symbol", "inputs": [], "outputs": [ { "name": "", "type": "string", "internalType": "string" } ], "stateMutability": "view" }, { "type": "function", "name": "totalSupply", "inputs": [], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "transfer", "inputs": [ { "name": "recipient", "type": "address", "internalType": "address" }, { "name": "amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "transferFrom", "inputs": [ { "name": "sender", "type": "address", "internalType": "address" }, { "name": "recipient", "type": "address", "internalType": "address" }, { "name": "amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "event", "name": "Approval", "inputs": [ { "name": "owner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "spender", "type": "address", "indexed": true, "internalType": "address" }, { "name": "value", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "Transfer", "inputs": [ { "name": "from", "type": "address", "indexed": true, "internalType": "address" }, { "name": "to", "type": "address", "indexed": true, "internalType": "address" }, { "name": "value", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false } ], "bytecode": { "object": "0x60806040523480156200001157600080fd5b5060405162000c6538038062000c65833981810160405260408110156200003757600080fd5b81019080805160405193929190846401000000008211156200005857600080fd5b9083019060208201858111156200006e57600080fd5b82516401000000008111828201881017156200008957600080fd5b82525081516020918201929091019080838360005b83811015620000b85781810151838201526020016200009e565b50505050905090810190601f168015620000e65780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200010a57600080fd5b9083019060208201858111156200012057600080fd5b82516401000000008111828201881017156200013b57600080fd5b82525081516020918201929091019080838360005b838110156200016a57818101518382015260200162000150565b50505050905090810190601f168015620001985780820380516001836020036101000a031916815260200191505b5060405250508251620001b491506003906020850190620001e0565b508051620001ca906004906020840190620001e0565b50506005805460ff19166012179055506200028c565b828054600181600116156101000203166002900490600052602060002090601f01602090048101928262000218576000855562000263565b82601f106200023357805160ff191683800117855562000263565b8280016001018555821562000263579182015b828111156200026357825182559160200191906001019062000246565b506200027192915062000275565b5090565b5b8082111562000271576000815560010162000276565b6109c9806200029c6000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c8063395093511161007157806339509351146101d957806370a082311461020557806395d89b411461022b578063a457c2d714610233578063a9059cbb1461025f578063dd62ed3e1461028b576100a9565b806306fdde03146100ae578063095ea7b31461012b57806318160ddd1461016b57806323b872dd14610185578063313ce567146101bb575b600080fd5b6100b66102b9565b6040805160208082528351818301528351919283929083019185019080838360005b838110156100f05781810151838201526020016100d8565b50505050905090810190601f16801561011d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101576004803603604081101561014157600080fd5b506001600160a01b03813516906020013561034f565b604080519115158252519081900360200190f35b61017361036c565b60408051918252519081900360200190f35b6101576004803603606081101561019b57600080fd5b506001600160a01b03813581169160208101359091169060400135610372565b6101c36103f9565b6040805160ff9092168252519081900360200190f35b610157600480360360408110156101ef57600080fd5b506001600160a01b038135169060200135610402565b6101736004803603602081101561021b57600080fd5b50356001600160a01b0316610450565b6100b661046b565b6101576004803603604081101561024957600080fd5b506001600160a01b0381351690602001356104cc565b6101576004803603604081101561027557600080fd5b506001600160a01b038135169060200135610534565b610173600480360360408110156102a157600080fd5b506001600160a01b0381358116916020013516610548565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156103455780601f1061031a57610100808354040283529160200191610345565b820191906000526020600020905b81548152906001019060200180831161032857829003601f168201915b5050505050905090565b600061036361035c610573565b8484610577565b50600192915050565b60025490565b600061037f848484610663565b6103ef8461038b610573565b6103ea85604051806060016040528060288152602001610927602891396001600160a01b038a166000908152600160205260408120906103c9610573565b6001600160a01b0316815260208101919091526040016000205491906107be565b610577565b5060019392505050565b60055460ff1690565b600061036361040f610573565b846103ea8560016000610420610573565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490610855565b6001600160a01b031660009081526020819052604090205490565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156103455780601f1061031a57610100808354040283529160200191610345565b60006103636104d9610573565b846103ea856040518060600160405280602581526020016109986025913960016000610503610573565b6001600160a01b03908116825260208083019390935260409182016000908120918d168152925290205491906107be565b6000610363610541610573565b8484610663565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b3390565b6001600160a01b0383166105bc5760405162461bcd60e51b81526004018080602001828103825260248152602001806109746024913960400191505060405180910390fd5b6001600160a01b0382166106015760405162461bcd60e51b81526004018080602001828103825260228152602001806108df6022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0383166106a85760405162461bcd60e51b815260040180806020018281038252602581526020018061094f6025913960400191505060405180910390fd5b6001600160a01b0382166106ed5760405162461bcd60e51b81526004018080602001828103825260238152602001806108bc6023913960400191505060405180910390fd5b6106f88383836108b6565b61073581604051806060016040528060268152602001610901602691396001600160a01b03861660009081526020819052604090205491906107be565b6001600160a01b0380851660009081526020819052604080822093909355908416815220546107649082610855565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b6000818484111561084d5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156108125781810151838201526020016107fa565b50505050905090810190601f16801561083f5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6000828201838110156108af576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b50505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa164736f6c6343000706000a", "sourceMap": "1313:9467:11:-:0;;;1950:138;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1950:138:11;;;;;;;;;;-1:-1:-1;1950:138:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1950:138:11;;;;;;;;;;-1:-1:-1;1950:138:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1950:138:11;;-1:-1:-1;;2017:13:11;;;;-1:-1:-1;2017:5:11;;:13;;;;;:::i;:::-;-1:-1:-1;2040:17:11;;;;:7;;:17;;;;;:::i;:::-;-1:-1:-1;;2067:9:11;:14;;-1:-1:-1;;2067:14:11;2079:2;2067:14;;;-1:-1:-1;1313:9467:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1313:9467:11;;;-1:-1:-1;1313:9467:11;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106100a95760003560e01c8063395093511161007157806339509351146101d957806370a082311461020557806395d89b411461022b578063a457c2d714610233578063a9059cbb1461025f578063dd62ed3e1461028b576100a9565b806306fdde03146100ae578063095ea7b31461012b57806318160ddd1461016b57806323b872dd14610185578063313ce567146101bb575b600080fd5b6100b66102b9565b6040805160208082528351818301528351919283929083019185019080838360005b838110156100f05781810151838201526020016100d8565b50505050905090810190601f16801561011d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101576004803603604081101561014157600080fd5b506001600160a01b03813516906020013561034f565b604080519115158252519081900360200190f35b61017361036c565b60408051918252519081900360200190f35b6101576004803603606081101561019b57600080fd5b506001600160a01b03813581169160208101359091169060400135610372565b6101c36103f9565b6040805160ff9092168252519081900360200190f35b610157600480360360408110156101ef57600080fd5b506001600160a01b038135169060200135610402565b6101736004803603602081101561021b57600080fd5b50356001600160a01b0316610450565b6100b661046b565b6101576004803603604081101561024957600080fd5b506001600160a01b0381351690602001356104cc565b6101576004803603604081101561027557600080fd5b506001600160a01b038135169060200135610534565b610173600480360360408110156102a157600080fd5b506001600160a01b0381358116916020013516610548565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156103455780601f1061031a57610100808354040283529160200191610345565b820191906000526020600020905b81548152906001019060200180831161032857829003601f168201915b5050505050905090565b600061036361035c610573565b8484610577565b50600192915050565b60025490565b600061037f848484610663565b6103ef8461038b610573565b6103ea85604051806060016040528060288152602001610927602891396001600160a01b038a166000908152600160205260408120906103c9610573565b6001600160a01b0316815260208101919091526040016000205491906107be565b610577565b5060019392505050565b60055460ff1690565b600061036361040f610573565b846103ea8560016000610420610573565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490610855565b6001600160a01b031660009081526020819052604090205490565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156103455780601f1061031a57610100808354040283529160200191610345565b60006103636104d9610573565b846103ea856040518060600160405280602581526020016109986025913960016000610503610573565b6001600160a01b03908116825260208083019390935260409182016000908120918d168152925290205491906107be565b6000610363610541610573565b8484610663565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b3390565b6001600160a01b0383166105bc5760405162461bcd60e51b81526004018080602001828103825260248152602001806109746024913960400191505060405180910390fd5b6001600160a01b0382166106015760405162461bcd60e51b81526004018080602001828103825260228152602001806108df6022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0383166106a85760405162461bcd60e51b815260040180806020018281038252602581526020018061094f6025913960400191505060405180910390fd5b6001600160a01b0382166106ed5760405162461bcd60e51b81526004018080602001828103825260238152602001806108bc6023913960400191505060405180910390fd5b6106f88383836108b6565b61073581604051806060016040528060268152602001610901602691396001600160a01b03861660009081526020819052604090205491906107be565b6001600160a01b0380851660009081526020819052604080822093909355908416815220546107649082610855565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b6000818484111561084d5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156108125781810151838201526020016107fa565b50505050905090810190601f16801561083f5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6000828201838110156108af576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b50505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa164736f6c6343000706000a", "sourceMap": "1313:9467:11:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2153:89;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4229:166;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;4229:166:11;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;3220:106;;;:::i;:::-;;;;;;;;;;;;;;;;4862:317;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;4862:317:11;;;;;;;;;;;;;;;;;:::i;3071:89::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5574:215;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;5574:215:11;;;;;;;;:::i;3384:125::-;;;;;;;;;;;;;;;;-1:-1:-1;3384:125:11;-1:-1:-1;;;;;3384:125:11;;:::i;2355:93::-;;;:::i;6276:266::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;6276:266:11;;;;;;;;:::i;3712:172::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;3712:172:11;;;;;;;;:::i;3942:149::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;3942:149:11;;;;;;;;;;:::i;2153:89::-;2230:5;2223:12;;;;;;;;-1:-1:-1;;2223:12:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2198:13;;2223:12;;2230:5;;2223:12;;2230:5;2223:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2153:89;:::o;4229:166::-;4312:4;4328:39;4337:12;:10;:12::i;:::-;4351:7;4360:6;4328:8;:39::i;:::-;-1:-1:-1;4384:4:11;4229:166;;;;:::o;3220:106::-;3307:12;;3220:106;:::o;4862:317::-;4968:4;4984:36;4994:6;5002:9;5013:6;4984:9;:36::i;:::-;5030:121;5039:6;5047:12;:10;:12::i;:::-;5061:89;5099:6;5061:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5061:19:11;;;;;;:11;:19;;;;;;5081:12;:10;:12::i;:::-;-1:-1:-1;;;;;5061:33:11;;;;;;;;;;;;-1:-1:-1;5061:33:11;;;:89;:37;:89::i;:::-;5030:8;:121::i;:::-;-1:-1:-1;5168:4:11;4862:317;;;;;:::o;3071:89::-;3144:9;;;;3071:89;:::o;5574:215::-;5662:4;5678:83;5687:12;:10;:12::i;:::-;5701:7;5710:50;5749:10;5710:11;:25;5722:12;:10;:12::i;:::-;-1:-1:-1;;;;;5710:25:11;;;;;;;;;;;;;;;;;-1:-1:-1;5710:25:11;;;:34;;;;;;;;;;;:38;:50::i;3384:125::-;-1:-1:-1;;;;;3484:18:11;3458:7;3484:18;;;;;;;;;;;;3384:125::o;2355:93::-;2434:7;2427:14;;;;;;;;-1:-1:-1;;2427:14:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2402:13;;2427:14;;2434:7;;2427:14;;2434:7;2427:14;;;;;;;;;;;;;;;;;;;;;;;;6276:266;6369:4;6385:129;6394:12;:10;:12::i;:::-;6408:7;6417:96;6456:15;6417:96;;;;;;;;;;;;;;;;;:11;:25;6429:12;:10;:12::i;:::-;-1:-1:-1;;;;;6417:25:11;;;;;;;;;;;;;;;;;-1:-1:-1;6417:25:11;;;:34;;;;;;;;;;;:96;:38;:96::i;3712:172::-;3798:4;3814:42;3824:12;:10;:12::i;:::-;3838:9;3849:6;3814:9;:42::i;3942:149::-;-1:-1:-1;;;;;4057:18:11;;;4031:7;4057:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;3942:149::o;598:104:20:-;685:10;598:104;:::o;9340:340:11:-;-1:-1:-1;;;;;9441:19:11;;9433:68;;;;-1:-1:-1;;;9433:68:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9519:21:11;;9511:68;;;;-1:-1:-1;;;9511:68:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9590:18:11;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;9641:32;;;;;;;;;;;;;;;;;9340:340;;;:::o;7016:530::-;-1:-1:-1;;;;;7121:20:11;;7113:70;;;;-1:-1:-1;;;7113:70:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7201:23:11;;7193:71;;;;-1:-1:-1;;;7193:71:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7275:47;7296:6;7304:9;7315:6;7275:20;:47::i;:::-;7353:71;7375:6;7353:71;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7353:17:11;;:9;:17;;;;;;;;;;;;:71;:21;:71::i;:::-;-1:-1:-1;;;;;7333:17:11;;;:9;:17;;;;;;;;;;;:91;;;;7457:20;;;;;;;:32;;7482:6;7457:24;:32::i;:::-;-1:-1:-1;;;;;7434:20:11;;;:9;:20;;;;;;;;;;;;:55;;;;7504:35;;;;;;;7434:20;;7504:35;;;;;;;;;;;;;7016:530;;;:::o;5424:163:10:-;5510:7;5545:12;5537:6;;;;5529:29;;;;-1:-1:-1;;;5529:29:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5575:5:10;;;5424:163::o;2682:175::-;2740:7;2771:5;;;2794:6;;;;2786:46;;;;;-1:-1:-1;;;2786:46:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;2849:1;2682:175;-1:-1:-1;;;2682:175:10:o;10686:92:11:-;;;;:::o", "linkReferences": {} }, "methodIdentifiers": { "allowance(address,address)": "dd62ed3e", "approve(address,uint256)": "095ea7b3", "balanceOf(address)": "70a08231", "decimals()": "313ce567", "decreaseAllowance(address,uint256)": "a457c2d7", "increaseAllowance(address,uint256)": "39509351", "name()": "06fdde03", "symbol()": "95d89b41", "totalSupply()": "18160ddd", "transfer(address,uint256)": "a9059cbb", "transferFrom(address,address,uint256)": "23b872dd" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.7.6+commit.7338295f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name_\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol_\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"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\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"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\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Implementation of the {IERC20} interface. This implementation is agnostic to the way tokens are created. This means that a supply mechanism has to be added in a derived contract using {_mint}. For a generic mechanism see {ERC20PresetMinterPauser}. TIP: For a detailed writeup see our guide https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How to implement supply mechanisms]. We have followed general OpenZeppelin guidelines: functions revert instead of returning `false` on failure. This behavior is nonetheless conventional and does not conflict with the expectations of ERC20 applications. Additionally, an {Approval} event is emitted on calls to {transferFrom}. This allows applications to reconstruct the allowance for all accounts just by listening to said events. Other implementations of the EIP may not emit these events, as it isn't required by the specification. Finally, the non-standard {decreaseAllowance} and {increaseAllowance} functions have been added to mitigate the well-known issues around setting allowances. See {IERC20-approve}.\",\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"constructor\":{\"details\":\"Sets the values for {name} and {symbol}, initializes {decimals} with a default value of 18. To select a different value for {decimals}, use {_setupDecimals}. All three of these values are immutable: they can only be set once during construction.\"},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5,05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the value {ERC20} uses, unless {_setupDecimals} is called. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.\"},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `recipient` cannot be the zero address. - the caller must have a balance of at least `amount`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. Requirements: - `sender` and `recipient` cannot be the zero address. - `sender` must have a balance of at least `amount`. - the caller must have allowance for ``sender``'s tokens of at least `amount`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@openzeppelin-solc-0.7/contracts/token/ERC20/ERC20.sol\":\"ERC20\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"node_modules/@openzeppelin-solc-0.7/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xe22a1fc7400ae196eba2ad1562d0386462b00a6363b742d55a2fd2021a58586f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4a635cec58fb4141a16cfd408f1a21ac944c335a3beaba541c35d2e95c04536f\",\"dweb:/ipfs/QmXWcz73UenN1ji8jiWMbzxHjjfLbNQwLVKTEB5zNFE34K\"]},\"node_modules/@openzeppelin-solc-0.7/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0x36b5ca4eabe888b39b10973621ca0dcc9b1508f8d06db9ddf045d7aa7c867d4a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ccbd79e8d556aa7011babb0e5d1e55a966add74853e7ba0274ff184bd96ef002\",\"dweb:/ipfs/QmV28ozNRUFDiDUMvCwcFmLTQPG6nfvgeKr4cmbHWoegtH\"]},\"node_modules/@openzeppelin-solc-0.7/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xbd74f587ab9b9711801baf667db1426e4a03fd2d7f15af33e0e0d0394e7cef76\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2d0913dfbfce90d170df0d496ad7596c0778518e5fa7aba6c32562522546f66b\",\"dweb:/ipfs/QmR6B8nLj2PJf5e1JWD9Nk7ErkAwkqUwadCnvE82FJr1RU\"]},\"node_modules/@openzeppelin-solc-0.7/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.7.6+commit.7338295f" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "string", "name": "name_", "type": "string" }, { "internalType": "string", "name": "symbol_", "type": "string" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address", "indexed": true }, { "internalType": "address", "name": "spender", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "value", "type": "uint256", "indexed": false } ], "type": "event", "name": "Approval", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address", "indexed": true }, { "internalType": "address", "name": "to", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "value", "type": "uint256", "indexed": false } ], "type": "event", "name": "Transfer", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ] }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "subtractedValue", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "decreaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "addedValue", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "increaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] } ], "devdoc": { "kind": "dev", "methods": { "allowance(address,address)": { "details": "See {IERC20-allowance}." }, "approve(address,uint256)": { "details": "See {IERC20-approve}. Requirements: - `spender` cannot be the zero address." }, "balanceOf(address)": { "details": "See {IERC20-balanceOf}." }, "constructor": { "details": "Sets the values for {name} and {symbol}, initializes {decimals} with a default value of 18. To select a different value for {decimals}, use {_setupDecimals}. All three of these values are immutable: they can only be set once during construction." }, "decimals()": { "details": "Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5,05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the value {ERC20} uses, unless {_setupDecimals} is called. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}." }, "decreaseAllowance(address,uint256)": { "details": "Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`." }, "increaseAllowance(address,uint256)": { "details": "Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address." }, "name()": { "details": "Returns the name of the token." }, "symbol()": { "details": "Returns the symbol of the token, usually a shorter version of the name." }, "totalSupply()": { "details": "See {IERC20-totalSupply}." }, "transfer(address,uint256)": { "details": "See {IERC20-transfer}. Requirements: - `recipient` cannot be the zero address. - the caller must have a balance of at least `amount`." }, "transferFrom(address,address,uint256)": { "details": "See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. Requirements: - `sender` and `recipient` cannot be the zero address. - `sender` must have a balance of at least `amount`. - the caller must have allowance for ``sender``'s tokens of at least `amount`." } }, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "node_modules/@openzeppelin-solc-0.7/contracts/token/ERC20/ERC20.sol": "ERC20" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "node_modules/@openzeppelin-solc-0.7/contracts/math/SafeMath.sol": { "keccak256": "0xe22a1fc7400ae196eba2ad1562d0386462b00a6363b742d55a2fd2021a58586f", "urls": [ "bzz-raw://4a635cec58fb4141a16cfd408f1a21ac944c335a3beaba541c35d2e95c04536f", "dweb:/ipfs/QmXWcz73UenN1ji8jiWMbzxHjjfLbNQwLVKTEB5zNFE34K" ], "license": "MIT" }, "node_modules/@openzeppelin-solc-0.7/contracts/token/ERC20/ERC20.sol": { "keccak256": "0x36b5ca4eabe888b39b10973621ca0dcc9b1508f8d06db9ddf045d7aa7c867d4a", "urls": [ "bzz-raw://ccbd79e8d556aa7011babb0e5d1e55a966add74853e7ba0274ff184bd96ef002", "dweb:/ipfs/QmV28ozNRUFDiDUMvCwcFmLTQPG6nfvgeKr4cmbHWoegtH" ], "license": "MIT" }, "node_modules/@openzeppelin-solc-0.7/contracts/token/ERC20/IERC20.sol": { "keccak256": "0xbd74f587ab9b9711801baf667db1426e4a03fd2d7f15af33e0e0d0394e7cef76", "urls": [ "bzz-raw://2d0913dfbfce90d170df0d496ad7596c0778518e5fa7aba6c32562522546f66b", "dweb:/ipfs/QmR6B8nLj2PJf5e1JWD9Nk7ErkAwkqUwadCnvE82FJr1RU" ], "license": "MIT" }, "node_modules/@openzeppelin-solc-0.7/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" } }, "version": 1 }, "id": 11 } diff --git a/eth_defi/abi/enzyme/ERC20Burnable.json b/eth_defi/abi/enzyme/ERC20Burnable.json index 2052199b..c19251da 100644 --- a/eth_defi/abi/enzyme/ERC20Burnable.json +++ b/eth_defi/abi/enzyme/ERC20Burnable.json @@ -1,766 +1 @@ -{ - "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": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "burn", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "burnFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "subtractedValue", - "type": "uint256" - } - ], - "name": "decreaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "addedValue", - "type": "uint256" - } - ], - "name": "increaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "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": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "allowance(address,address)": "dd62ed3e", - "approve(address,uint256)": "095ea7b3", - "balanceOf(address)": "70a08231", - "burn(uint256)": "42966c68", - "burnFrom(address,uint256)": "79cc6790", - "decimals()": "313ce567", - "decreaseAllowance(address,uint256)": "a457c2d7", - "increaseAllowance(address,uint256)": "39509351", - "name()": "06fdde03", - "symbol()": "95d89b41", - "totalSupply()": "18160ddd", - "transfer(address,uint256)": "a9059cbb", - "transferFrom(address,address,uint256)": "23b872dd" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"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\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"burnFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"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\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Extension of {ERC20} that allows token holders to destroy both their own tokens and those that they have an allowance for, in a way that can be recognized off-chain (via event analysis).\",\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"burn(uint256)\":{\"details\":\"Destroys `amount` tokens from the caller. See {ERC20-_burn}.\"},\"burnFrom(address,uint256)\":{\"details\":\"Destroys `amount` tokens from `account`, deducting from the caller's allowance. See {ERC20-_burn} and {ERC20-allowance}. Requirements: - the caller must have allowance for ``accounts``'s tokens of at least `amount`.\"},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5,05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the value {ERC20} uses, unless {_setupDecimals} is called. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.\"},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `recipient` cannot be the zero address. - the caller must have a balance of at least `amount`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. Requirements: - `sender` and `recipient` cannot be the zero address. - `sender` must have a balance of at least `amount`. - the caller must have allowance for ``sender``'s tokens of at least `amount`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20Burnable.sol\":\"ERC20Burnable\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20Burnable.sol\":{\"keccak256\":\"0x9c0eb3b0e11d2480d49991dc384f1e5f9c9b9967cc81944d50916a9b9c6c4984\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99e4033d778624992e86f0b6d801a4f6d7b5c0cd5c79c1296be90a051ad5f5af\",\"dweb:/ipfs/QmShYmkUqh6pDEeoWadZ24icmCr4C2Xys1uE5boivPmbwf\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "spender", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "Approval", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "to", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "Transfer", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "burn" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "burnFrom" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "subtractedValue", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "decreaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "addedValue", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "increaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "allowance(address,address)": { - "details": "See {IERC20-allowance}." - }, - "approve(address,uint256)": { - "details": "See {IERC20-approve}. Requirements: - `spender` cannot be the zero address." - }, - "balanceOf(address)": { - "details": "See {IERC20-balanceOf}." - }, - "burn(uint256)": { - "details": "Destroys `amount` tokens from the caller. See {ERC20-_burn}." - }, - "burnFrom(address,uint256)": { - "details": "Destroys `amount` tokens from `account`, deducting from the caller's allowance. See {ERC20-_burn} and {ERC20-allowance}. Requirements: - the caller must have allowance for ``accounts``'s tokens of at least `amount`." - }, - "decimals()": { - "details": "Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5,05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the value {ERC20} uses, unless {_setupDecimals} is called. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}." - }, - "decreaseAllowance(address,uint256)": { - "details": "Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`." - }, - "increaseAllowance(address,uint256)": { - "details": "Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address." - }, - "name()": { - "details": "Returns the name of the token." - }, - "symbol()": { - "details": "Returns the symbol of the token, usually a shorter version of the name." - }, - "totalSupply()": { - "details": "See {IERC20-totalSupply}." - }, - "transfer(address,uint256)": { - "details": "See {IERC20-transfer}. Requirements: - `recipient` cannot be the zero address. - the caller must have a balance of at least `amount`." - }, - "transferFrom(address,address,uint256)": { - "details": "See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. Requirements: - `sender` and `recipient` cannot be the zero address. - `sender` must have a balance of at least `amount`. - the caller must have allowance for ``sender``'s tokens of at least `amount`." - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20Burnable.sol": "ERC20Burnable" - }, - "libraries": {} - }, - "sources": { - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20Burnable.sol": { - "keccak256": "0x9c0eb3b0e11d2480d49991dc384f1e5f9c9b9967cc81944d50916a9b9c6c4984", - "urls": [ - "bzz-raw://99e4033d778624992e86f0b6d801a4f6d7b5c0cd5c79c1296be90a051ad5f5af", - "dweb:/ipfs/QmShYmkUqh6pDEeoWadZ24icmCr4C2Xys1uE5boivPmbwf" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 448 -} +{ "abi": [ { "type": "function", "name": "allowance", "inputs": [ { "name": "owner", "type": "address", "internalType": "address" }, { "name": "spender", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "approve", "inputs": [ { "name": "spender", "type": "address", "internalType": "address" }, { "name": "amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "balanceOf", "inputs": [ { "name": "account", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "burn", "inputs": [ { "name": "amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "burnFrom", "inputs": [ { "name": "account", "type": "address", "internalType": "address" }, { "name": "amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "decimals", "inputs": [], "outputs": [ { "name": "", "type": "uint8", "internalType": "uint8" } ], "stateMutability": "view" }, { "type": "function", "name": "decreaseAllowance", "inputs": [ { "name": "spender", "type": "address", "internalType": "address" }, { "name": "subtractedValue", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "increaseAllowance", "inputs": [ { "name": "spender", "type": "address", "internalType": "address" }, { "name": "addedValue", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "name", "inputs": [], "outputs": [ { "name": "", "type": "string", "internalType": "string" } ], "stateMutability": "view" }, { "type": "function", "name": "symbol", "inputs": [], "outputs": [ { "name": "", "type": "string", "internalType": "string" } ], "stateMutability": "view" }, { "type": "function", "name": "totalSupply", "inputs": [], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "transfer", "inputs": [ { "name": "recipient", "type": "address", "internalType": "address" }, { "name": "amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "transferFrom", "inputs": [ { "name": "sender", "type": "address", "internalType": "address" }, { "name": "recipient", "type": "address", "internalType": "address" }, { "name": "amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "event", "name": "Approval", "inputs": [ { "name": "owner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "spender", "type": "address", "indexed": true, "internalType": "address" }, { "name": "value", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "Transfer", "inputs": [ { "name": "from", "type": "address", "indexed": true, "internalType": "address" }, { "name": "to", "type": "address", "indexed": true, "internalType": "address" }, { "name": "value", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "allowance(address,address)": "dd62ed3e", "approve(address,uint256)": "095ea7b3", "balanceOf(address)": "70a08231", "burn(uint256)": "42966c68", "burnFrom(address,uint256)": "79cc6790", "decimals()": "313ce567", "decreaseAllowance(address,uint256)": "a457c2d7", "increaseAllowance(address,uint256)": "39509351", "name()": "06fdde03", "symbol()": "95d89b41", "totalSupply()": "18160ddd", "transfer(address,uint256)": "a9059cbb", "transferFrom(address,address,uint256)": "23b872dd" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"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\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"burnFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"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\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Extension of {ERC20} that allows token holders to destroy both their own tokens and those that they have an allowance for, in a way that can be recognized off-chain (via event analysis).\",\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"burn(uint256)\":{\"details\":\"Destroys `amount` tokens from the caller. See {ERC20-_burn}.\"},\"burnFrom(address,uint256)\":{\"details\":\"Destroys `amount` tokens from `account`, deducting from the caller's allowance. See {ERC20-_burn} and {ERC20-allowance}. Requirements: - the caller must have allowance for ``accounts``'s tokens of at least `amount`.\"},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5,05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the value {ERC20} uses, unless {_setupDecimals} is called. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.\"},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `recipient` cannot be the zero address. - the caller must have a balance of at least `amount`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. Requirements: - `sender` and `recipient` cannot be the zero address. - `sender` must have a balance of at least `amount`. - the caller must have allowance for ``sender``'s tokens of at least `amount`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20Burnable.sol\":\"ERC20Burnable\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20Burnable.sol\":{\"keccak256\":\"0x9c0eb3b0e11d2480d49991dc384f1e5f9c9b9967cc81944d50916a9b9c6c4984\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99e4033d778624992e86f0b6d801a4f6d7b5c0cd5c79c1296be90a051ad5f5af\",\"dweb:/ipfs/QmShYmkUqh6pDEeoWadZ24icmCr4C2Xys1uE5boivPmbwf\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "owner", "type": "address", "indexed": true }, { "internalType": "address", "name": "spender", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "value", "type": "uint256", "indexed": false } ], "type": "event", "name": "Approval", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address", "indexed": true }, { "internalType": "address", "name": "to", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "value", "type": "uint256", "indexed": false } ], "type": "event", "name": "Transfer", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "burn" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "burnFrom" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ] }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "subtractedValue", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "decreaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "addedValue", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "increaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] } ], "devdoc": { "kind": "dev", "methods": { "allowance(address,address)": { "details": "See {IERC20-allowance}." }, "approve(address,uint256)": { "details": "See {IERC20-approve}. Requirements: - `spender` cannot be the zero address." }, "balanceOf(address)": { "details": "See {IERC20-balanceOf}." }, "burn(uint256)": { "details": "Destroys `amount` tokens from the caller. See {ERC20-_burn}." }, "burnFrom(address,uint256)": { "details": "Destroys `amount` tokens from `account`, deducting from the caller's allowance. See {ERC20-_burn} and {ERC20-allowance}. Requirements: - the caller must have allowance for ``accounts``'s tokens of at least `amount`." }, "decimals()": { "details": "Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5,05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the value {ERC20} uses, unless {_setupDecimals} is called. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}." }, "decreaseAllowance(address,uint256)": { "details": "Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`." }, "increaseAllowance(address,uint256)": { "details": "Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address." }, "name()": { "details": "Returns the name of the token." }, "symbol()": { "details": "Returns the symbol of the token, usually a shorter version of the name." }, "totalSupply()": { "details": "See {IERC20-totalSupply}." }, "transfer(address,uint256)": { "details": "See {IERC20-transfer}. Requirements: - `recipient` cannot be the zero address. - the caller must have a balance of at least `amount`." }, "transferFrom(address,address,uint256)": { "details": "See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. Requirements: - `sender` and `recipient` cannot be the zero address. - `sender` must have a balance of at least `amount`. - the caller must have allowance for ``sender``'s tokens of at least `amount`." } }, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "node_modules/@openzeppelin/contracts/token/ERC20/ERC20Burnable.sol": "ERC20Burnable" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20Burnable.sol": { "keccak256": "0x9c0eb3b0e11d2480d49991dc384f1e5f9c9b9967cc81944d50916a9b9c6c4984", "urls": [ "bzz-raw://99e4033d778624992e86f0b6d801a4f6d7b5c0cd5c79c1296be90a051ad5f5af", "dweb:/ipfs/QmShYmkUqh6pDEeoWadZ24icmCr4C2Xys1uE5boivPmbwf" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" } }, "version": 1 }, "id": 448 } diff --git a/eth_defi/abi/enzyme/ERC721.json b/eth_defi/abi/enzyme/ERC721.json index 43038f6e..7e1b4429 100644 --- a/eth_defi/abi/enzyme/ERC721.json +++ b/eth_defi/abi/enzyme/ERC721.json @@ -1,1074 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "string", - "name": "name_", - "type": "string" - }, - { - "internalType": "string", - "name": "symbol_", - "type": "string" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "approved", - "type": "address" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "operator", - "type": "address" - }, - { - "indexed": false, - "internalType": "bool", - "name": "approved", - "type": "bool" - } - ], - "name": "ApprovalForAll", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "baseURI", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "getApproved", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "operator", - "type": "address" - } - ], - "name": "isApprovedForAll", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "ownerOf", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "safeTransferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "safeTransferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "operator", - "type": "address" - }, - { - "internalType": "bool", - "name": "approved", - "type": "bool" - } - ], - "name": "setApprovalForAll", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "index", - "type": "uint256" - } - ], - "name": "tokenByIndex", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "uint256", - "name": "index", - "type": "uint256" - } - ], - "name": "tokenOfOwnerByIndex", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "tokenURI", - "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": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x60806040523480156200001157600080fd5b5060405162001cc538038062001cc5833981810160405260408110156200003757600080fd5b81019080805160405193929190846401000000008211156200005857600080fd5b9083019060208201858111156200006e57600080fd5b82516401000000008111828201881017156200008957600080fd5b82525081516020918201929091019080838360005b83811015620000b85781810151838201526020016200009e565b50505050905090810190601f168015620000e65780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200010a57600080fd5b9083019060208201858111156200012057600080fd5b82516401000000008111828201881017156200013b57600080fd5b82525081516020918201929091019080838360005b838110156200016a57818101518382015260200162000150565b50505050905090810190601f168015620001985780820380516001836020036101000a031916815260200191505b5060405250620001b391506301ffc9a760e01b90506200021d565b8151620001c8906006906020850190620002a2565b508051620001de906007906020840190620002a2565b50620001f16380ac58cd60e01b6200021d565b62000203635b5e139f60e01b6200021d565b6200021563780e9d6360e01b6200021d565b50506200034e565b6001600160e01b031980821614156200027d576040805162461bcd60e51b815260206004820152601c60248201527f4552433136353a20696e76616c696420696e7465726661636520696400000000604482015290519081900360640190fd5b6001600160e01b0319166000908152602081905260409020805460ff19166001179055565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282620002da576000855562000325565b82601f10620002f557805160ff191683800117855562000325565b8280016001018555821562000325579182015b828111156200032557825182559160200191906001019062000308565b506200033392915062000337565b5090565b5b8082111562000333576000815560010162000338565b611967806200035e6000396000f3fe608060405234801561001057600080fd5b506004361061010b5760003560e01c80634f6ccce7116100a257806395d89b411161007157806395d89b4114610349578063a22cb46514610351578063b88d4fde1461037f578063c87b56dd14610445578063e985e9c5146104625761010b565b80634f6ccce7146102e15780636352211e146102fe5780636c0360eb1461031b57806370a08231146103235761010b565b806318160ddd116100de57806318160ddd1461022f57806323b872dd146102495780632f745c591461027f57806342842e0e146102ab5761010b565b806301ffc9a71461011057806306fdde031461014b578063081812fc146101c8578063095ea7b314610201575b600080fd5b6101376004803603602081101561012657600080fd5b50356001600160e01b031916610490565b604080519115158252519081900360200190f35b6101536104b3565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561018d578181015183820152602001610175565b50505050905090810190601f1680156101ba5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101e5600480360360208110156101de57600080fd5b5035610549565b604080516001600160a01b039092168252519081900360200190f35b61022d6004803603604081101561021757600080fd5b506001600160a01b0381351690602001356105ab565b005b610237610686565b60408051918252519081900360200190f35b61022d6004803603606081101561025f57600080fd5b506001600160a01b03813581169160208101359091169060400135610697565b6102376004803603604081101561029557600080fd5b506001600160a01b0381351690602001356106ee565b61022d600480360360608110156102c157600080fd5b506001600160a01b03813581169160208101359091169060400135610719565b610237600480360360208110156102f757600080fd5b5035610734565b6101e56004803603602081101561031457600080fd5b503561074a565b610153610772565b6102376004803603602081101561033957600080fd5b50356001600160a01b03166107d3565b61015361083b565b61022d6004803603604081101561036757600080fd5b506001600160a01b038135169060200135151561089c565b61022d6004803603608081101561039557600080fd5b6001600160a01b038235811692602081013590911691604082013591908101906080810160608201356401000000008111156103d057600080fd5b8201836020820111156103e257600080fd5b8035906020019184600183028401116401000000008311171561040457600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506109a1945050505050565b6101536004803603602081101561045b57600080fd5b50356109ff565b6101376004803603604081101561047857600080fd5b506001600160a01b0381358116916020013516610c80565b6001600160e01b0319811660009081526020819052604090205460ff165b919050565b60068054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561053f5780601f106105145761010080835404028352916020019161053f565b820191906000526020600020905b81548152906001019060200180831161052257829003601f168201915b5050505050905090565b600061055482610cae565b61058f5760405162461bcd60e51b815260040180806020018281038252602c815260200180611885602c913960400191505060405180910390fd5b506000908152600460205260409020546001600160a01b031690565b60006105b68261074a565b9050806001600160a01b0316836001600160a01b031614156106095760405162461bcd60e51b81526004018080602001828103825260218152602001806119096021913960400191505060405180910390fd5b806001600160a01b031661061b610cbb565b6001600160a01b0316148061063c575061063c81610637610cbb565b610c80565b6106775760405162461bcd60e51b81526004018080602001828103825260388152602001806117d86038913960400191505060405180910390fd5b6106818383610cbf565b505050565b60006106926002610d2d565b905090565b6106a86106a2610cbb565b82610d38565b6106e35760405162461bcd60e51b815260040180806020018281038252603181526020018061192a6031913960400191505060405180910390fd5b610681838383610ddc565b6001600160a01b03821660009081526001602052604081206107109083610f28565b90505b92915050565b610681838383604051806020016040528060008152506109a1565b600080610742600284610f34565b509392505050565b60006107138260405180606001604052806029815260200161183a6029913960029190610f50565b60098054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561053f5780601f106105145761010080835404028352916020019161053f565b60006001600160a01b03821661081a5760405162461bcd60e51b815260040180806020018281038252602a815260200180611810602a913960400191505060405180910390fd5b6001600160a01b038216600090815260016020526040902061071390610d2d565b60078054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561053f5780601f106105145761010080835404028352916020019161053f565b6108a4610cbb565b6001600160a01b0316826001600160a01b0316141561090a576040805162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015290519081900360640190fd5b8060056000610917610cbb565b6001600160a01b03908116825260208083019390935260409182016000908120918716808252919093529120805460ff19169215159290921790915561095b610cbb565b6001600160a01b03167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c318360405180821515815260200191505060405180910390a35050565b6109b26109ac610cbb565b83610d38565b6109ed5760405162461bcd60e51b815260040180806020018281038252603181526020018061192a6031913960400191505060405180910390fd5b6109f984848484610f67565b50505050565b6060610a0a82610cae565b610a455760405162461bcd60e51b815260040180806020018281038252602f8152602001806118da602f913960400191505060405180910390fd5b60008281526008602090815260408083208054825160026001831615610100026000190190921691909104601f810185900485028201850190935282815292909190830182828015610ad85780601f10610aad57610100808354040283529160200191610ad8565b820191906000526020600020905b815481529060010190602001808311610abb57829003601f168201915b505050505090506000610ae9610772565b9050805160001415610afd575090506104ae565b815115610bbe5780826040516020018083805190602001908083835b60208310610b385780518252601f199092019160209182019101610b19565b51815160209384036101000a600019018019909216911617905285519190930192850191508083835b60208310610b805780518252601f199092019160209182019101610b61565b6001836020036101000a03801982511681845116808217855250505050505090500192505050604051602081830303815290604052925050506104ae565b80610bc885610fb9565b6040516020018083805190602001908083835b60208310610bfa5780518252601f199092019160209182019101610bdb565b51815160209384036101000a600019018019909216911617905285519190930192850191508083835b60208310610c425780518252601f199092019160209182019101610c23565b6001836020036101000a0380198251168184511680821785525050505050509050019250505060405160208183030381529060405292505050919050565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b6000610713600283611094565b3390565b600081815260046020526040902080546001600160a01b0319166001600160a01b0384169081179091558190610cf48261074a565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000610713826110a0565b6000610d4382610cae565b610d7e5760405162461bcd60e51b815260040180806020018281038252602c8152602001806117ac602c913960400191505060405180910390fd5b6000610d898361074a565b9050806001600160a01b0316846001600160a01b03161480610dc45750836001600160a01b0316610db984610549565b6001600160a01b0316145b80610dd45750610dd48185610c80565b949350505050565b826001600160a01b0316610def8261074a565b6001600160a01b031614610e345760405162461bcd60e51b81526004018080602001828103825260298152602001806118b16029913960400191505060405180910390fd5b6001600160a01b038216610e795760405162461bcd60e51b81526004018080602001828103825260248152602001806117886024913960400191505060405180910390fd5b610e84838383610681565b610e8f600082610cbf565b6001600160a01b0383166000908152600160205260409020610eb190826110a4565b506001600160a01b0382166000908152600160205260409020610ed490826110b0565b50610ee1600282846110bc565b5080826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b600061071083836110d2565b6000808080610f438686611136565b9097909650945050505050565b6000610f5d8484846111b1565b90505b9392505050565b610f72848484610ddc565b610f7e8484848461127b565b6109f95760405162461bcd60e51b81526004018080602001828103825260328152602001806117566032913960400191505060405180910390fd5b606081610fde57506040805180820190915260018152600360fc1b60208201526104ae565b8160005b8115610ff657600101600a82049150610fe2565b60008167ffffffffffffffff8111801561100f57600080fd5b506040519080825280601f01601f19166020018201604052801561103a576020820181803683370190505b50859350905060001982015b831561108b57600a840660300160f81b8282806001900393508151811061106957fe5b60200101906001600160f81b031916908160001a905350600a84049350611046565b50949350505050565b600061071083836113e3565b5490565b600061071083836113fb565b600061071083836114c1565b6000610f5d84846001600160a01b03851661150b565b815460009082106111145760405162461bcd60e51b81526004018080602001828103825260228152602001806117346022913960400191505060405180910390fd5b82600001828154811061112357fe5b9060005260206000200154905092915050565b81546000908190831061117a5760405162461bcd60e51b81526004018080602001828103825260228152602001806118636022913960400191505060405180910390fd5b600084600001848154811061118b57fe5b906000526020600020906002020190508060000154816001015492509250509250929050565b6000828152600184016020526040812054828161124c5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156112115781810151838201526020016111f9565b50505050905090810190601f16801561123e5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5084600001600182038154811061125f57fe5b9060005260206000209060020201600101549150509392505050565b600061128f846001600160a01b03166115a2565b61129b57506001610dd4565b60006113a9630a85bd0160e11b6112b0610cbb565b88878760405160240180856001600160a01b03168152602001846001600160a01b0316815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b838110156113175781810151838201526020016112ff565b50505050905090810190601f1680156113445780820380516001836020036101000a031916815260200191505b5095505050505050604051602081830303815290604052906001600160e01b0319166020820180516001600160e01b038381831617835250505050604051806060016040528060328152602001611756603291396001600160a01b03881691906115a8565b905060008180602001905160208110156113c257600080fd5b50516001600160e01b031916630a85bd0160e11b1492505050949350505050565b60009081526001919091016020526040902054151590565b600081815260018301602052604081205480156114b7578354600019808301919081019060009087908390811061142e57fe5b906000526020600020015490508087600001848154811061144b57fe5b60009182526020808320909101929092558281526001898101909252604090209084019055865487908061147b57fe5b60019003818190600052602060002001600090559055866001016000878152602001908152602001600020600090556001945050505050610713565b6000915050610713565b60006114cd83836113e3565b61150357508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610713565b506000610713565b600082815260018401602052604081205480611570575050604080518082018252838152602080820184815286546001818101895560008981528481209551600290930290950191825591519082015586548684528188019092529290912055610f60565b8285600001600183038154811061158357fe5b9060005260206000209060020201600101819055506000915050610f60565b3b151590565b6060610f5d8484600085856115bc856115a2565b61160d576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b600080866001600160a01b031685876040518082805190602001908083835b6020831061164b5780518252601f19909201916020918201910161162c565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146116ad576040519150601f19603f3d011682016040523d82523d6000602084013e6116b2565b606091505b50915091506116c28282866116cd565b979650505050505050565b606083156116dc575081610f60565b8251156116ec5782518084602001fd5b60405162461bcd60e51b81526020600482018181528451602484015284518593919283926044019190850190808383600083156112115781810151838201526020016111f956fe456e756d657261626c655365743a20696e646578206f7574206f6620626f756e64734552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e7465724552433732313a207472616e7366657220746f20746865207a65726f20616464726573734552433732313a206f70657261746f7220717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76652063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f76656420666f7220616c6c4552433732313a2062616c616e636520717565727920666f7220746865207a65726f20616464726573734552433732313a206f776e657220717565727920666f72206e6f6e6578697374656e7420746f6b656e456e756d657261626c654d61703a20696e646578206f7574206f6620626f756e64734552433732313a20617070726f76656420717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a207472616e73666572206f6620746f6b656e2074686174206973206e6f74206f776e4552433732314d657461646174613a2055524920717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76616c20746f2063757272656e74206f776e65724552433732313a207472616e736665722063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564a164736f6c6343000706000a", - "sourceMap": "563:16527:14:-:0;;;3569:362;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3569:362:14;;;;;;;;;;-1:-1:-1;3569:362:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3569:362:14;;;;;;;;;;-1:-1:-1;3569:362:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3569:362:14;;-1:-1:-1;751:40:8;;-1:-1:-1;;;;770:20:8;-1:-1:-1;751:18:8;:40::i;:::-;3636:13:14;;;;:5;;:13;;;;;:::i;:::-;-1:-1:-1;3659:17:14;;;;:7;;:17;;;;;:::i;:::-;-1:-1:-1;3764:40:14;-1:-1:-1;;;3764:18:14;:40::i;:::-;3814:49;-1:-1:-1;;;3814:18:14;:49::i;:::-;3873:51;-1:-1:-1;;;3873:18:14;:51::i;:::-;3569:362;;563:16527;;1490:198:8;-1:-1:-1;;;;;;1573:25:8;;;;;1565:66;;;;;-1:-1:-1;;;1565:66:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1641:33:8;:20;:33;;;;;;;;;;:40;;-1:-1:-1;;1641:40:8;1677:4;1641:40;;;1490:198::o;563:16527:14:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;563:16527:14;;;-1:-1:-1;563:16527:14;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b506004361061010b5760003560e01c80634f6ccce7116100a257806395d89b411161007157806395d89b4114610349578063a22cb46514610351578063b88d4fde1461037f578063c87b56dd14610445578063e985e9c5146104625761010b565b80634f6ccce7146102e15780636352211e146102fe5780636c0360eb1461031b57806370a08231146103235761010b565b806318160ddd116100de57806318160ddd1461022f57806323b872dd146102495780632f745c591461027f57806342842e0e146102ab5761010b565b806301ffc9a71461011057806306fdde031461014b578063081812fc146101c8578063095ea7b314610201575b600080fd5b6101376004803603602081101561012657600080fd5b50356001600160e01b031916610490565b604080519115158252519081900360200190f35b6101536104b3565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561018d578181015183820152602001610175565b50505050905090810190601f1680156101ba5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101e5600480360360208110156101de57600080fd5b5035610549565b604080516001600160a01b039092168252519081900360200190f35b61022d6004803603604081101561021757600080fd5b506001600160a01b0381351690602001356105ab565b005b610237610686565b60408051918252519081900360200190f35b61022d6004803603606081101561025f57600080fd5b506001600160a01b03813581169160208101359091169060400135610697565b6102376004803603604081101561029557600080fd5b506001600160a01b0381351690602001356106ee565b61022d600480360360608110156102c157600080fd5b506001600160a01b03813581169160208101359091169060400135610719565b610237600480360360208110156102f757600080fd5b5035610734565b6101e56004803603602081101561031457600080fd5b503561074a565b610153610772565b6102376004803603602081101561033957600080fd5b50356001600160a01b03166107d3565b61015361083b565b61022d6004803603604081101561036757600080fd5b506001600160a01b038135169060200135151561089c565b61022d6004803603608081101561039557600080fd5b6001600160a01b038235811692602081013590911691604082013591908101906080810160608201356401000000008111156103d057600080fd5b8201836020820111156103e257600080fd5b8035906020019184600183028401116401000000008311171561040457600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506109a1945050505050565b6101536004803603602081101561045b57600080fd5b50356109ff565b6101376004803603604081101561047857600080fd5b506001600160a01b0381358116916020013516610c80565b6001600160e01b0319811660009081526020819052604090205460ff165b919050565b60068054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561053f5780601f106105145761010080835404028352916020019161053f565b820191906000526020600020905b81548152906001019060200180831161052257829003601f168201915b5050505050905090565b600061055482610cae565b61058f5760405162461bcd60e51b815260040180806020018281038252602c815260200180611885602c913960400191505060405180910390fd5b506000908152600460205260409020546001600160a01b031690565b60006105b68261074a565b9050806001600160a01b0316836001600160a01b031614156106095760405162461bcd60e51b81526004018080602001828103825260218152602001806119096021913960400191505060405180910390fd5b806001600160a01b031661061b610cbb565b6001600160a01b0316148061063c575061063c81610637610cbb565b610c80565b6106775760405162461bcd60e51b81526004018080602001828103825260388152602001806117d86038913960400191505060405180910390fd5b6106818383610cbf565b505050565b60006106926002610d2d565b905090565b6106a86106a2610cbb565b82610d38565b6106e35760405162461bcd60e51b815260040180806020018281038252603181526020018061192a6031913960400191505060405180910390fd5b610681838383610ddc565b6001600160a01b03821660009081526001602052604081206107109083610f28565b90505b92915050565b610681838383604051806020016040528060008152506109a1565b600080610742600284610f34565b509392505050565b60006107138260405180606001604052806029815260200161183a6029913960029190610f50565b60098054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561053f5780601f106105145761010080835404028352916020019161053f565b60006001600160a01b03821661081a5760405162461bcd60e51b815260040180806020018281038252602a815260200180611810602a913960400191505060405180910390fd5b6001600160a01b038216600090815260016020526040902061071390610d2d565b60078054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561053f5780601f106105145761010080835404028352916020019161053f565b6108a4610cbb565b6001600160a01b0316826001600160a01b0316141561090a576040805162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015290519081900360640190fd5b8060056000610917610cbb565b6001600160a01b03908116825260208083019390935260409182016000908120918716808252919093529120805460ff19169215159290921790915561095b610cbb565b6001600160a01b03167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c318360405180821515815260200191505060405180910390a35050565b6109b26109ac610cbb565b83610d38565b6109ed5760405162461bcd60e51b815260040180806020018281038252603181526020018061192a6031913960400191505060405180910390fd5b6109f984848484610f67565b50505050565b6060610a0a82610cae565b610a455760405162461bcd60e51b815260040180806020018281038252602f8152602001806118da602f913960400191505060405180910390fd5b60008281526008602090815260408083208054825160026001831615610100026000190190921691909104601f810185900485028201850190935282815292909190830182828015610ad85780601f10610aad57610100808354040283529160200191610ad8565b820191906000526020600020905b815481529060010190602001808311610abb57829003601f168201915b505050505090506000610ae9610772565b9050805160001415610afd575090506104ae565b815115610bbe5780826040516020018083805190602001908083835b60208310610b385780518252601f199092019160209182019101610b19565b51815160209384036101000a600019018019909216911617905285519190930192850191508083835b60208310610b805780518252601f199092019160209182019101610b61565b6001836020036101000a03801982511681845116808217855250505050505090500192505050604051602081830303815290604052925050506104ae565b80610bc885610fb9565b6040516020018083805190602001908083835b60208310610bfa5780518252601f199092019160209182019101610bdb565b51815160209384036101000a600019018019909216911617905285519190930192850191508083835b60208310610c425780518252601f199092019160209182019101610c23565b6001836020036101000a0380198251168184511680821785525050505050509050019250505060405160208183030381529060405292505050919050565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b6000610713600283611094565b3390565b600081815260046020526040902080546001600160a01b0319166001600160a01b0384169081179091558190610cf48261074a565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000610713826110a0565b6000610d4382610cae565b610d7e5760405162461bcd60e51b815260040180806020018281038252602c8152602001806117ac602c913960400191505060405180910390fd5b6000610d898361074a565b9050806001600160a01b0316846001600160a01b03161480610dc45750836001600160a01b0316610db984610549565b6001600160a01b0316145b80610dd45750610dd48185610c80565b949350505050565b826001600160a01b0316610def8261074a565b6001600160a01b031614610e345760405162461bcd60e51b81526004018080602001828103825260298152602001806118b16029913960400191505060405180910390fd5b6001600160a01b038216610e795760405162461bcd60e51b81526004018080602001828103825260248152602001806117886024913960400191505060405180910390fd5b610e84838383610681565b610e8f600082610cbf565b6001600160a01b0383166000908152600160205260409020610eb190826110a4565b506001600160a01b0382166000908152600160205260409020610ed490826110b0565b50610ee1600282846110bc565b5080826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b600061071083836110d2565b6000808080610f438686611136565b9097909650945050505050565b6000610f5d8484846111b1565b90505b9392505050565b610f72848484610ddc565b610f7e8484848461127b565b6109f95760405162461bcd60e51b81526004018080602001828103825260328152602001806117566032913960400191505060405180910390fd5b606081610fde57506040805180820190915260018152600360fc1b60208201526104ae565b8160005b8115610ff657600101600a82049150610fe2565b60008167ffffffffffffffff8111801561100f57600080fd5b506040519080825280601f01601f19166020018201604052801561103a576020820181803683370190505b50859350905060001982015b831561108b57600a840660300160f81b8282806001900393508151811061106957fe5b60200101906001600160f81b031916908160001a905350600a84049350611046565b50949350505050565b600061071083836113e3565b5490565b600061071083836113fb565b600061071083836114c1565b6000610f5d84846001600160a01b03851661150b565b815460009082106111145760405162461bcd60e51b81526004018080602001828103825260228152602001806117346022913960400191505060405180910390fd5b82600001828154811061112357fe5b9060005260206000200154905092915050565b81546000908190831061117a5760405162461bcd60e51b81526004018080602001828103825260228152602001806118636022913960400191505060405180910390fd5b600084600001848154811061118b57fe5b906000526020600020906002020190508060000154816001015492509250509250929050565b6000828152600184016020526040812054828161124c5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156112115781810151838201526020016111f9565b50505050905090810190601f16801561123e5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5084600001600182038154811061125f57fe5b9060005260206000209060020201600101549150509392505050565b600061128f846001600160a01b03166115a2565b61129b57506001610dd4565b60006113a9630a85bd0160e11b6112b0610cbb565b88878760405160240180856001600160a01b03168152602001846001600160a01b0316815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b838110156113175781810151838201526020016112ff565b50505050905090810190601f1680156113445780820380516001836020036101000a031916815260200191505b5095505050505050604051602081830303815290604052906001600160e01b0319166020820180516001600160e01b038381831617835250505050604051806060016040528060328152602001611756603291396001600160a01b03881691906115a8565b905060008180602001905160208110156113c257600080fd5b50516001600160e01b031916630a85bd0160e11b1492505050949350505050565b60009081526001919091016020526040902054151590565b600081815260018301602052604081205480156114b7578354600019808301919081019060009087908390811061142e57fe5b906000526020600020015490508087600001848154811061144b57fe5b60009182526020808320909101929092558281526001898101909252604090209084019055865487908061147b57fe5b60019003818190600052602060002001600090559055866001016000878152602001908152602001600020600090556001945050505050610713565b6000915050610713565b60006114cd83836113e3565b61150357508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610713565b506000610713565b600082815260018401602052604081205480611570575050604080518082018252838152602080820184815286546001818101895560008981528481209551600290930290950191825591519082015586548684528188019092529290912055610f60565b8285600001600183038154811061158357fe5b9060005260206000209060020201600101819055506000915050610f60565b3b151590565b6060610f5d8484600085856115bc856115a2565b61160d576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b600080866001600160a01b031685876040518082805190602001908083835b6020831061164b5780518252601f19909201916020918201910161162c565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146116ad576040519150601f19603f3d011682016040523d82523d6000602084013e6116b2565b606091505b50915091506116c28282866116cd565b979650505050505050565b606083156116dc575081610f60565b8251156116ec5782518084602001fd5b60405162461bcd60e51b81526020600482018181528451602484015284518593919283926044019190850190808383600083156112115781810151838201526020016111f956fe456e756d657261626c655365743a20696e646578206f7574206f6620626f756e64734552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e7465724552433732313a207472616e7366657220746f20746865207a65726f20616464726573734552433732313a206f70657261746f7220717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76652063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f76656420666f7220616c6c4552433732313a2062616c616e636520717565727920666f7220746865207a65726f20616464726573734552433732313a206f776e657220717565727920666f72206e6f6e6578697374656e7420746f6b656e456e756d657261626c654d61703a20696e646578206f7574206f6620626f756e64734552433732313a20617070726f76656420717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a207472616e73666572206f6620746f6b656e2074686174206973206e6f74206f776e4552433732314d657461646174613a2055524920717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76616c20746f2063757272656e74206f776e65724552433732313a207472616e736665722063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564a164736f6c6343000706000a", - "sourceMap": "563:16527:14:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;948:148:8;;;;;;;;;;;;;;;;-1:-1:-1;948:148:8;-1:-1:-1;;;;;;948:148:8;;:::i;:::-;;;;;;;;;;;;;;;;;;4502:98:14;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7207:217;;;;;;;;;;;;;;;;-1:-1:-1;7207:217:14;;:::i;:::-;;;;-1:-1:-1;;;;;7207:217:14;;;;;;;;;;;;;;6751:395;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;6751:395:14;;;;;;;;:::i;:::-;;6245:208;;;:::i;:::-;;;;;;;;;;;;;;;;8071:300;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;8071:300:14;;;;;;;;;;;;;;;;;:::i;6014:160::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;6014:160:14;;;;;;;;:::i;8437:149::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;8437:149:14;;;;;;;;;;;;;;;;;:::i;6525:169::-;;;;;;;;;;;;;;;;-1:-1:-1;6525:169:14;;:::i;4265:175::-;;;;;;;;;;;;;;;;-1:-1:-1;4265:175:14;;:::i;5840:95::-;;;:::i;3990:218::-;;;;;;;;;;;;;;;;-1:-1:-1;3990:218:14;-1:-1:-1;;;;;3990:218:14;;:::i;4664:102::-;;;:::i;7491:290::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;7491:290:14;;;;;;;;;;:::i;8652:282::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8652:282:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8652:282:14;;-1:-1:-1;8652:282:14;;-1:-1:-1;;;;;8652:282:14:i;4832:776::-;;;;;;;;;;;;;;;;-1:-1:-1;4832:776:14;;:::i;7847:162::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;7847:162:14;;;;;;;;;;:::i;948:148:8:-;-1:-1:-1;;;;;;1056:33:8;;1033:4;1056:33;;;;;;;;;;;;;948:148;;;;:::o;4502:98:14:-;4588:5;4581:12;;;;;;;;-1:-1:-1;;4581:12:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4556:13;;4581:12;;4588:5;;4581:12;;4588:5;4581:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4502:98;:::o;7207:217::-;7283:7;7310:16;7318:7;7310;:16::i;:::-;7302:73;;;;-1:-1:-1;;;7302:73:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7393:24:14;;;;:15;:24;;;;;;-1:-1:-1;;;;;7393:24:14;;7207:217::o;6751:395::-;6831:13;6847:23;6862:7;6847:14;:23::i;:::-;6831:39;;6894:5;-1:-1:-1;;;;;6888:11:14;:2;-1:-1:-1;;;;;6888:11:14;;;6880:57;;;;-1:-1:-1;;;6880:57:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6972:5;-1:-1:-1;;;;;6956:21:14;:12;:10;:12::i;:::-;-1:-1:-1;;;;;6956:21:14;;:69;;;;6981:44;7005:5;7012:12;:10;:12::i;:::-;6981:23;:44::i;:::-;6948:159;;;;-1:-1:-1;;;6948:159:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7118:21;7127:2;7131:7;7118:8;:21::i;:::-;6751:395;;;:::o;6245:208::-;6306:7;6425:21;:12;:19;:21::i;:::-;6418:28;;6245:208;:::o;8071:300::-;8230:41;8249:12;:10;:12::i;:::-;8263:7;8230:18;:41::i;:::-;8222:103;;;;-1:-1:-1;;;8222:103:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8336:28;8346:4;8352:2;8356:7;8336:9;:28::i;6014:160::-;-1:-1:-1;;;;;6137:20:14;;6111:7;6137:20;;;:13;:20;;;;;:30;;6161:5;6137:23;:30::i;:::-;6130:37;;6014:160;;;;;:::o;8437:149::-;8540:39;8557:4;8563:2;8567:7;8540:39;;;;;;;;;;;;:16;:39::i;6525:169::-;6600:7;;6641:22;:12;6657:5;6641:15;:22::i;:::-;-1:-1:-1;6619:44:14;6525:169;-1:-1:-1;;;6525:169:14:o;4265:175::-;4337:7;4363:70;4380:7;4363:70;;;;;;;;;;;;;;;;;:12;;:70;:16;:70::i;5840:95::-;5920:8;5913:15;;;;;;;;-1:-1:-1;;5913:15:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5888:13;;5913:15;;5920:8;;5913:15;;5920:8;5913:15;;;;;;;;;;;;;;;;;;;;;;;;3990:218;4062:7;-1:-1:-1;;;;;4089:19:14;;4081:74;;;;-1:-1:-1;;;4081:74:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4172:20:14;;;;;;:13;:20;;;;;:29;;:27;:29::i;4664:102::-;4752:7;4745:14;;;;;;;;-1:-1:-1;;4745:14:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4720:13;;4745:14;;4752:7;;4745:14;;4752:7;4745:14;;;;;;;;;;;;;;;;;;;;;;;;7491:290;7605:12;:10;:12::i;:::-;-1:-1:-1;;;;;7593:24:14;:8;-1:-1:-1;;;;;7593:24:14;;;7585:62;;;;;-1:-1:-1;;;7585:62:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;7703:8;7658:18;:32;7677:12;:10;:12::i;:::-;-1:-1:-1;;;;;7658:32:14;;;;;;;;;;;;;;;;;-1:-1:-1;7658:32:14;;;:42;;;;;;;;;;;;:53;;-1:-1:-1;;7658:53:14;;;;;;;;;;;7741:12;:10;:12::i;:::-;-1:-1:-1;;;;;7726:48:14;;7765:8;7726:48;;;;;;;;;;;;;;;;;;;;7491:290;;:::o;8652:282::-;8783:41;8802:12;:10;:12::i;:::-;8816:7;8783:18;:41::i;:::-;8775:103;;;;-1:-1:-1;;;8775:103:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8888:39;8902:4;8908:2;8912:7;8921:5;8888:13;:39::i;:::-;8652:282;;;;:::o;4832:776::-;4905:13;4938:16;4946:7;4938;:16::i;:::-;4930:76;;;;-1:-1:-1;;;4930:76:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5017:23;5043:19;;;:10;:19;;;;;;;;5017:45;;;;;;;;;;;-1:-1:-1;;5017:45:14;;;;;;;;;;;;;;;;;;;;;;;;;;;5043:19;;5017:45;;;5043:19;5017:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5072:18;5093:9;:7;:9::i;:::-;5072:30;;5181:4;5175:18;5197:1;5175:23;5171:70;;;-1:-1:-1;5221:9:14;-1:-1:-1;5214:16:14;;5171:70;5343:23;;:27;5339:106;;5417:4;5423:9;5400:33;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5400:33:14;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5400:33:14;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5400:33:14;;;;;;;;;;;;;-1:-1:-1;;5400:33:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5386:48;;;;;;5339:106;5575:4;5581:18;:7;:16;:18::i;:::-;5558:42;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5558:42:14;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5558:42:14;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5558:42:14;;;;;;;;;;;;;-1:-1:-1;;5558:42:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5544:57;;;;4832:776;;;:::o;7847:162::-;-1:-1:-1;;;;;7967:25:14;;;7944:4;7967:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;;;7847:162::o;10368:125::-;10433:4;10456:30;:12;10478:7;10456:21;:30::i;598:104:20:-;685:10;598:104;:::o;16210:189:14:-;16284:24;;;;:15;:24;;;;;:29;;-1:-1:-1;;;;;;16284:29:14;-1:-1:-1;;;;;16284:29:14;;;;;;;;:24;;16337:23;16284:24;16337:14;:23::i;:::-;-1:-1:-1;;;;;16328:46:14;;;;;;;;;;;16210:189;;:::o;7812:121:21:-;7881:7;7907:19;7915:3;7907:7;:19::i;10651:351:14:-;10744:4;10768:16;10776:7;10768;:16::i;:::-;10760:73;;;;-1:-1:-1;;;10760:73:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10843:13;10859:23;10874:7;10859:14;:23::i;:::-;10843:39;;10911:5;-1:-1:-1;;;;;10900:16:14;:7;-1:-1:-1;;;;;10900:16:14;;:51;;;;10944:7;-1:-1:-1;;;;;10920:31:14;:20;10932:7;10920:11;:20::i;:::-;-1:-1:-1;;;;;10920:31:14;;10900:51;:94;;;;10955:39;10979:5;10986:7;10955:23;:39::i;:::-;10892:103;10651:351;-1:-1:-1;;;;10651:351:14:o;13692:584::-;13816:4;-1:-1:-1;;;;;13789:31:14;:23;13804:7;13789:14;:23::i;:::-;-1:-1:-1;;;;;13789:31:14;;13781:85;;;;-1:-1:-1;;;13781:85:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;13902:16:14;;13894:65;;;;-1:-1:-1;;;13894:65:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13970:39;13991:4;13997:2;14001:7;13970:20;:39::i;:::-;14071:29;14088:1;14092:7;14071:8;:29::i;:::-;-1:-1:-1;;;;;14111:19:14;;;;;;:13;:19;;;;;:35;;14138:7;14111:26;:35::i;:::-;-1:-1:-1;;;;;;14156:17:14;;;;;;:13;:17;;;;;:30;;14178:7;14156:21;:30::i;:::-;-1:-1:-1;14197:29:14;:12;14214:7;14223:2;14197:16;:29::i;:::-;;14261:7;14257:2;-1:-1:-1;;;;;14242:27:14;14251:4;-1:-1:-1;;;;;14242:27:14;;;;;;;;;;;13692:584;;;:::o;9242:135:22:-;9313:7;9347:22;9351:3;9363:5;9347:3;:22::i;8261:233:21:-;8341:7;;;;8400:22;8404:3;8416:5;8400:3;:22::i;:::-;8369:53;;;;-1:-1:-1;8261:233:21;-1:-1:-1;;;;;8261:233:21:o;9514:211::-;9621:7;9671:44;9676:3;9696;9702:12;9671:4;:44::i;:::-;9663:53;-1:-1:-1;9514:211:21;;;;;;:::o;9796:269:14:-;9909:28;9919:4;9925:2;9929:7;9909:9;:28::i;:::-;9955:48;9978:4;9984:2;9988:7;9997:5;9955:22;:48::i;:::-;9947:111;;;;-1:-1:-1;;;9947:111:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;202:725:23;258:13;475:10;471:51;;-1:-1:-1;501:10:23;;;;;;;;;;;;-1:-1:-1;;;501:10:23;;;;;;471:51;546:5;531:12;585:75;592:9;;585:75;;617:8;;647:2;639:10;;;;585:75;;;669:19;701:6;691:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;691:17:23;-1:-1:-1;761:5:23;;-1:-1:-1;669:39:23;-1:-1:-1;;;734:10:23;;776:114;783:9;;776:114;;851:2;844:4;:9;839:2;:14;826:29;;808:6;815:7;;;;;;;808:15;;;;;;;;;;;:47;-1:-1:-1;;;;;808:47:23;;;;;;;;-1:-1:-1;877:2:23;869:10;;;;776:114;;;-1:-1:-1;913:6:23;202:725;-1:-1:-1;;;;202:725:23:o;7580:149:21:-;7664:4;7687:35;7697:3;7717;7687:9;:35::i;4483:108::-;4565:19;;4483:108::o;8357:135:22:-;8427:4;8450:35;8458:3;8478:5;8450:7;:35::i;8060:129::-;8127:4;8150:32;8155:3;8175:5;8150:4;:32::i;7019:183:21:-;7108:4;7131:64;7136:3;7156;-1:-1:-1;;;;;7170:23:21;;7131:4;:64::i;4444:201:22:-;4538:18;;4511:7;;4538:26;-1:-1:-1;4530:73:22;;;;-1:-1:-1;;;4530:73:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4620:3;:11;;4632:5;4620:18;;;;;;;;;;;;;;;;4613:25;;4444:201;;;;:::o;4934:274:21:-;5037:19;;5001:7;;;;5037:27;-1:-1:-1;5029:74:21;;;;-1:-1:-1;;;5029:74:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5114:22;5139:3;:12;;5152:5;5139:19;;;;;;;;;;;;;;;;;;5114:44;;5176:5;:10;;;5188:5;:12;;;5168:33;;;;;4934:274;;;;;:::o;6395:315::-;6489:7;6527:17;;;:12;;;:17;;;;;;6577:12;6562:13;6554:36;;;;-1:-1:-1;;;6554:36:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6643:3;:12;;6667:1;6656:8;:12;6643:26;;;;;;;;;;;;;;;;;;:33;;;6636:40;;;6395:315;;;;;:::o;15509:589:14:-;15629:4;15654:15;:2;-1:-1:-1;;;;;15654:13:14;;:15::i;:::-;15649:58;;-1:-1:-1;15692:4:14;15685:11;;15649:58;15716:23;15742:246;-1:-1:-1;;;15853:12:14;:10;:12::i;:::-;15879:4;15897:7;15918:5;15758:175;;;;;;-1:-1:-1;;;;;15758:175:14;;;;;;-1:-1:-1;;;;;15758:175:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15758:175:14;;;;;;;-1:-1:-1;;;;;15758:175:14;;;;;;;;;;;15742:246;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15742:15:14;;;:246;:15;:246::i;:::-;15716:272;;15998:13;16025:10;16014:32;;;;;;;;;;;;;;;-1:-1:-1;16014:32:14;-1:-1:-1;;;;;;16064:26:14;-1:-1:-1;;;16064:26:14;;-1:-1:-1;;;15509:589:14;;;;;;:::o;4270:123:21:-;4341:4;4364:17;;;:12;;;;;:17;;;;;;:22;;;4270:123::o;2204:1512:22:-;2270:4;2407:19;;;:12;;;:19;;;;;;2441:15;;2437:1273;;2870:18;;-1:-1:-1;;2822:14:22;;;;2870:22;;;;2798:21;;2870:3;;:22;;3152;;;;;;;;;;;;;;3132:42;;3295:9;3266:3;:11;;3278:13;3266:26;;;;;;;;;;;;;;;;;;;:38;;;;3370:23;;;3412:1;3370:12;;;:23;;;;;;3396:17;;;3370:43;;3519:17;;3370:3;;3519:17;;;;;;;;;;;;;;;;;;;;;;3611:3;:12;;:19;3624:5;3611:19;;;;;;;;;;;3604:26;;;3652:4;3645:11;;;;;;;;2437:1273;3694:5;3687:12;;;;;1632:404;1695:4;1716:21;1726:3;1731:5;1716:9;:21::i;:::-;1711:319;;-1:-1:-1;1753:23:22;;;;;;;;:11;:23;;;;;;;;;;;;;1933:18;;1911:19;;;:12;;;:19;;;;;;:40;;;;1965:11;;1711:319;-1:-1:-1;2014:5:22;2007:12;;1828:678:21;1904:4;2037:17;;;:12;;;:17;;;;;;2069:13;2065:435;;-1:-1:-1;;2153:38:21;;;;;;;;;;;;;;;;;;2135:57;;;;;;;;:12;:57;;;;;;;;;;;;;;;;;;;;;;;;2347:19;;2327:17;;;:12;;;:17;;;;;;;:39;2380:11;;2065:435;2458:5;2422:3;:12;;2446:1;2435:8;:12;2422:26;;;;;;;;;;;;;;;;;;:33;;:41;;;;2484:5;2477:12;;;;;718:413:19;1078:20;1116:8;;;718:413::o;3573:193::-;3676:12;3707:52;3729:6;3737:4;3743:1;3746:12;3676;4850:18;4861:6;4850:10;:18::i;:::-;4842:60;;;;;-1:-1:-1;;;4842:60:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;4973:12;4987:23;5014:6;-1:-1:-1;;;;;5014:11:19;5034:5;5042:4;5014:33;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5014:33:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4972:75;;;;5064:52;5082:7;5091:10;5103:12;5064:17;:52::i;:::-;5057:59;4600:523;-1:-1:-1;;;;;;;4600:523:19:o;7083:725::-;7198:12;7226:7;7222:580;;;-1:-1:-1;7256:10:19;7249:17;;7222:580;7367:17;;:21;7363:429;;7625:10;7619:17;7685:15;7672:10;7668:2;7664:19;7657:44;7574:145;7757:20;;-1:-1:-1;;;7757:20:19;;;;;;;;;;;;;;;;;7764:12;;7757:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "methodIdentifiers": { - "approve(address,uint256)": "095ea7b3", - "balanceOf(address)": "70a08231", - "baseURI()": "6c0360eb", - "getApproved(uint256)": "081812fc", - "isApprovedForAll(address,address)": "e985e9c5", - "name()": "06fdde03", - "ownerOf(uint256)": "6352211e", - "safeTransferFrom(address,address,uint256)": "42842e0e", - "safeTransferFrom(address,address,uint256,bytes)": "b88d4fde", - "setApprovalForAll(address,bool)": "a22cb465", - "supportsInterface(bytes4)": "01ffc9a7", - "symbol()": "95d89b41", - "tokenByIndex(uint256)": "4f6ccce7", - "tokenOfOwnerByIndex(address,uint256)": "2f745c59", - "tokenURI(uint256)": "c87b56dd", - "totalSupply()": "18160ddd", - "transferFrom(address,address,uint256)": "23b872dd" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.7.6+commit.7338295f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name_\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol_\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"baseURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"tokenByIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"tokenOfOwnerByIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"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\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"see https://eips.ethereum.org/EIPS/eip-721\",\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"See {IERC721-approve}.\"},\"balanceOf(address)\":{\"details\":\"See {IERC721-balanceOf}.\"},\"baseURI()\":{\"details\":\"Returns the base URI set via {_setBaseURI}. This will be automatically added as a prefix in {tokenURI} to each token's URI, or to the token ID if no specific URI is set for that token ID.\"},\"constructor\":{\"details\":\"Initializes the contract by setting a `name` and a `symbol` to the token collection.\"},\"getApproved(uint256)\":{\"details\":\"See {IERC721-getApproved}.\"},\"isApprovedForAll(address,address)\":{\"details\":\"See {IERC721-isApprovedForAll}.\"},\"name()\":{\"details\":\"See {IERC721Metadata-name}.\"},\"ownerOf(uint256)\":{\"details\":\"See {IERC721-ownerOf}.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"See {IERC721-setApprovalForAll}.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}. Time complexity O(1), guaranteed to always use less than 30 000 gas.\"},\"symbol()\":{\"details\":\"See {IERC721Metadata-symbol}.\"},\"tokenByIndex(uint256)\":{\"details\":\"See {IERC721Enumerable-tokenByIndex}.\"},\"tokenOfOwnerByIndex(address,uint256)\":{\"details\":\"See {IERC721Enumerable-tokenOfOwnerByIndex}.\"},\"tokenURI(uint256)\":{\"details\":\"See {IERC721Metadata-tokenURI}.\"},\"totalSupply()\":{\"details\":\"See {IERC721Enumerable-totalSupply}.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-transferFrom}.\"}},\"title\":\"ERC721 Non-Fungible Token Standard basic implementation\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@openzeppelin-solc-0.7/contracts/token/ERC721/ERC721.sol\":\"ERC721\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"node_modules/@openzeppelin-solc-0.7/contracts/introspection/ERC165.sol\":{\"keccak256\":\"0x234cdf2c3efd5f0dc17d32fe65d33c21674ca17de1e945eb60ac1076d7152d96\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd196df6ec4549923b4581fcb4be3d05237b5221067410d0bc34cb76d4174441\",\"dweb:/ipfs/Qmf2vFVgbfpD4FvAhQXkprg9sKSX3TXKRdbQTSjJVEmzWj\"]},\"node_modules/@openzeppelin-solc-0.7/contracts/introspection/IERC165.sol\":{\"keccak256\":\"0xd2f30fad5b24c4120f96dbac83aacdb7993ee610a9092bc23c44463da292bf8d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e3d4e72409e392c7694b6405a0136cf073d8da016df33ef8f9ad195f724ebfea\",\"dweb:/ipfs/QmPGcddKq6CgsiKnxUUif2q76wRqP3dmdQ6bKuHCLmb8Wa\"]},\"node_modules/@openzeppelin-solc-0.7/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xe22a1fc7400ae196eba2ad1562d0386462b00a6363b742d55a2fd2021a58586f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4a635cec58fb4141a16cfd408f1a21ac944c335a3beaba541c35d2e95c04536f\",\"dweb:/ipfs/QmXWcz73UenN1ji8jiWMbzxHjjfLbNQwLVKTEB5zNFE34K\"]},\"node_modules/@openzeppelin-solc-0.7/contracts/token/ERC721/ERC721.sol\":{\"keccak256\":\"0x93e4f65a89c3c888afbaa3ee18c3fa4f51c422419bbcd9cca47676a0f8e507ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a9c54b2935c810e14b17d6b5d7adeb0e1733d172823f02c30e1be8729715841\",\"dweb:/ipfs/QmZGveXLQpqJQRjfeNws7mGSjxKpnfZCnKaXyH4soxDSkR\"]},\"node_modules/@openzeppelin-solc-0.7/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0xb11597841d47f7a773bca63ca323c76f804cb5d944788de0327db5526319dc82\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://930d2da1934886a1098753be4173dd89c45ca0b306a1930accd37e00b1af4aaf\",\"dweb:/ipfs/QmVSXnvEV41d43k8cfpANHoTYMKgBDBL8iCbxkLfEtQZBe\"]},\"node_modules/@openzeppelin-solc-0.7/contracts/token/ERC721/IERC721Enumerable.sol\":{\"keccak256\":\"0x2789dfea2d73182683d637db5729201f6730dae6113030a94c828f8688f38f2f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://36374eaa68c0737bf7e1ae13d55327b4868fb0825e971ee729f4b8d355ededb4\",\"dweb:/ipfs/QmYN9yuzz4P5SumiT6rgYgTEY8MhnPQapMwx2LHxRKju7r\"]},\"node_modules/@openzeppelin-solc-0.7/contracts/token/ERC721/IERC721Metadata.sol\":{\"keccak256\":\"0xc82c7d1d732081d9bd23f1555ebdf8f3bc1738bc42c2bfc4b9aa7564d9fa3573\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5cb07e4ff3352161510a0d1536fe93f3c62526358e073a8bab2a8abbb27d0da1\",\"dweb:/ipfs/QmX7K1JjnWKT1JzZT92Qx5zNJQYbssE533TLFHP88hj2fb\"]},\"node_modules/@openzeppelin-solc-0.7/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0x05604ffcf69e416b8a42728bb0e4fd75170d8fac70bf1a284afeb4752a9bc52f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8a7fd1043372336ecccdbcbcf4962c6df8958dc9c7c7f8361fc2b3dd23570cc\",\"dweb:/ipfs/QmYHKgZxnanBfu7Q8ZicVhDDuB7XRGxuwvmCjfQQ1E5j39\"]},\"node_modules/@openzeppelin-solc-0.7/contracts/utils/Address.sol\":{\"keccak256\":\"0xf89f005a3d98f7768cdee2583707db0ac725cf567d455751af32ee68132f3db3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f963d438177764b5f43f637c02311c951c0f0025d12fe1ac7e62e295bf416c41\",\"dweb:/ipfs/QmcfVb9JsWrYeTwFUJsKVHpKB7EaWBKydAH9S4sKg2pzcK\"]},\"node_modules/@openzeppelin-solc-0.7/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]},\"node_modules/@openzeppelin-solc-0.7/contracts/utils/EnumerableMap.sol\":{\"keccak256\":\"0x2114555153edb5f273008b3d34205f511db9af06b88f752e4c280dd612c4c549\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8779df50f4f716c6adaa5f61880c572abb2b37197d690d6aad32e52a32d5f382\",\"dweb:/ipfs/QmVuZMGNFEo4gm1QB55gnCwCTc7XC5npkmgdfeJUgHbMiL\"]},\"node_modules/@openzeppelin-solc-0.7/contracts/utils/EnumerableSet.sol\":{\"keccak256\":\"0x9a2c1eebb65250f0e11882237038600f22a62376f0547db4acc0dfe0a3d8d34f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ccafc1afbcbf54559beea9c029d0b7656c56a185813c5fa74c4ea3eb4b608419\",\"dweb:/ipfs/QmTKwdbenDfNwmwRVh8VKtA6mhFK2AyTFRoJF3BqLB81KM\"]},\"node_modules/@openzeppelin-solc-0.7/contracts/utils/Strings.sol\":{\"keccak256\":\"0x08e38e034333372aea8cb1b8846085b7fbab42c6b77a0af464d2c6827827c4f0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://22746e9348187309fb4fbd3f79f6ad88787103eac10f24bd18f67257fafdd8ad\",\"dweb:/ipfs/QmSLXfXg8b27Xstq58DFGvCpqgtTqpfrGbLMq19PtEKQJS\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.7.6+commit.7338295f" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "string", - "name": "name_", - "type": "string" - }, - { - "internalType": "string", - "name": "symbol_", - "type": "string" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "approved", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256", - "indexed": true - } - ], - "type": "event", - "name": "Approval", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "operator", - "type": "address", - "indexed": true - }, - { - "internalType": "bool", - "name": "approved", - "type": "bool", - "indexed": false - } - ], - "type": "event", - "name": "ApprovalForAll", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "to", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256", - "indexed": true - } - ], - "type": "event", - "name": "Transfer", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "approve" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "baseURI", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getApproved", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "operator", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "isApprovedForAll", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "ownerOf", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "safeTransferFrom" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "safeTransferFrom" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "operator", - "type": "address" - }, - { - "internalType": "bool", - "name": "approved", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setApprovalForAll" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function", - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "index", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "tokenByIndex", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "uint256", - "name": "index", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "tokenOfOwnerByIndex", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "tokenURI", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "transferFrom" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "approve(address,uint256)": { - "details": "See {IERC721-approve}." - }, - "balanceOf(address)": { - "details": "See {IERC721-balanceOf}." - }, - "baseURI()": { - "details": "Returns the base URI set via {_setBaseURI}. This will be automatically added as a prefix in {tokenURI} to each token's URI, or to the token ID if no specific URI is set for that token ID." - }, - "constructor": { - "details": "Initializes the contract by setting a `name` and a `symbol` to the token collection." - }, - "getApproved(uint256)": { - "details": "See {IERC721-getApproved}." - }, - "isApprovedForAll(address,address)": { - "details": "See {IERC721-isApprovedForAll}." - }, - "name()": { - "details": "See {IERC721Metadata-name}." - }, - "ownerOf(uint256)": { - "details": "See {IERC721-ownerOf}." - }, - "safeTransferFrom(address,address,uint256)": { - "details": "See {IERC721-safeTransferFrom}." - }, - "safeTransferFrom(address,address,uint256,bytes)": { - "details": "See {IERC721-safeTransferFrom}." - }, - "setApprovalForAll(address,bool)": { - "details": "See {IERC721-setApprovalForAll}." - }, - "supportsInterface(bytes4)": { - "details": "See {IERC165-supportsInterface}. Time complexity O(1), guaranteed to always use less than 30 000 gas." - }, - "symbol()": { - "details": "See {IERC721Metadata-symbol}." - }, - "tokenByIndex(uint256)": { - "details": "See {IERC721Enumerable-tokenByIndex}." - }, - "tokenOfOwnerByIndex(address,uint256)": { - "details": "See {IERC721Enumerable-tokenOfOwnerByIndex}." - }, - "tokenURI(uint256)": { - "details": "See {IERC721Metadata-tokenURI}." - }, - "totalSupply()": { - "details": "See {IERC721Enumerable-totalSupply}." - }, - "transferFrom(address,address,uint256)": { - "details": "See {IERC721-transferFrom}." - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "node_modules/@openzeppelin-solc-0.7/contracts/token/ERC721/ERC721.sol": "ERC721" - }, - "libraries": {} - }, - "sources": { - "node_modules/@openzeppelin-solc-0.7/contracts/introspection/ERC165.sol": { - "keccak256": "0x234cdf2c3efd5f0dc17d32fe65d33c21674ca17de1e945eb60ac1076d7152d96", - "urls": [ - "bzz-raw://bd196df6ec4549923b4581fcb4be3d05237b5221067410d0bc34cb76d4174441", - "dweb:/ipfs/Qmf2vFVgbfpD4FvAhQXkprg9sKSX3TXKRdbQTSjJVEmzWj" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin-solc-0.7/contracts/introspection/IERC165.sol": { - "keccak256": "0xd2f30fad5b24c4120f96dbac83aacdb7993ee610a9092bc23c44463da292bf8d", - "urls": [ - "bzz-raw://e3d4e72409e392c7694b6405a0136cf073d8da016df33ef8f9ad195f724ebfea", - "dweb:/ipfs/QmPGcddKq6CgsiKnxUUif2q76wRqP3dmdQ6bKuHCLmb8Wa" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin-solc-0.7/contracts/math/SafeMath.sol": { - "keccak256": "0xe22a1fc7400ae196eba2ad1562d0386462b00a6363b742d55a2fd2021a58586f", - "urls": [ - "bzz-raw://4a635cec58fb4141a16cfd408f1a21ac944c335a3beaba541c35d2e95c04536f", - "dweb:/ipfs/QmXWcz73UenN1ji8jiWMbzxHjjfLbNQwLVKTEB5zNFE34K" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin-solc-0.7/contracts/token/ERC721/ERC721.sol": { - "keccak256": "0x93e4f65a89c3c888afbaa3ee18c3fa4f51c422419bbcd9cca47676a0f8e507ea", - "urls": [ - "bzz-raw://1a9c54b2935c810e14b17d6b5d7adeb0e1733d172823f02c30e1be8729715841", - "dweb:/ipfs/QmZGveXLQpqJQRjfeNws7mGSjxKpnfZCnKaXyH4soxDSkR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin-solc-0.7/contracts/token/ERC721/IERC721.sol": { - "keccak256": "0xb11597841d47f7a773bca63ca323c76f804cb5d944788de0327db5526319dc82", - "urls": [ - "bzz-raw://930d2da1934886a1098753be4173dd89c45ca0b306a1930accd37e00b1af4aaf", - "dweb:/ipfs/QmVSXnvEV41d43k8cfpANHoTYMKgBDBL8iCbxkLfEtQZBe" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin-solc-0.7/contracts/token/ERC721/IERC721Enumerable.sol": { - "keccak256": "0x2789dfea2d73182683d637db5729201f6730dae6113030a94c828f8688f38f2f", - "urls": [ - "bzz-raw://36374eaa68c0737bf7e1ae13d55327b4868fb0825e971ee729f4b8d355ededb4", - "dweb:/ipfs/QmYN9yuzz4P5SumiT6rgYgTEY8MhnPQapMwx2LHxRKju7r" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin-solc-0.7/contracts/token/ERC721/IERC721Metadata.sol": { - "keccak256": "0xc82c7d1d732081d9bd23f1555ebdf8f3bc1738bc42c2bfc4b9aa7564d9fa3573", - "urls": [ - "bzz-raw://5cb07e4ff3352161510a0d1536fe93f3c62526358e073a8bab2a8abbb27d0da1", - "dweb:/ipfs/QmX7K1JjnWKT1JzZT92Qx5zNJQYbssE533TLFHP88hj2fb" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin-solc-0.7/contracts/token/ERC721/IERC721Receiver.sol": { - "keccak256": "0x05604ffcf69e416b8a42728bb0e4fd75170d8fac70bf1a284afeb4752a9bc52f", - "urls": [ - "bzz-raw://a8a7fd1043372336ecccdbcbcf4962c6df8958dc9c7c7f8361fc2b3dd23570cc", - "dweb:/ipfs/QmYHKgZxnanBfu7Q8ZicVhDDuB7XRGxuwvmCjfQQ1E5j39" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin-solc-0.7/contracts/utils/Address.sol": { - "keccak256": "0xf89f005a3d98f7768cdee2583707db0ac725cf567d455751af32ee68132f3db3", - "urls": [ - "bzz-raw://f963d438177764b5f43f637c02311c951c0f0025d12fe1ac7e62e295bf416c41", - "dweb:/ipfs/QmcfVb9JsWrYeTwFUJsKVHpKB7EaWBKydAH9S4sKg2pzcK" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin-solc-0.7/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin-solc-0.7/contracts/utils/EnumerableMap.sol": { - "keccak256": "0x2114555153edb5f273008b3d34205f511db9af06b88f752e4c280dd612c4c549", - "urls": [ - "bzz-raw://8779df50f4f716c6adaa5f61880c572abb2b37197d690d6aad32e52a32d5f382", - "dweb:/ipfs/QmVuZMGNFEo4gm1QB55gnCwCTc7XC5npkmgdfeJUgHbMiL" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin-solc-0.7/contracts/utils/EnumerableSet.sol": { - "keccak256": "0x9a2c1eebb65250f0e11882237038600f22a62376f0547db4acc0dfe0a3d8d34f", - "urls": [ - "bzz-raw://ccafc1afbcbf54559beea9c029d0b7656c56a185813c5fa74c4ea3eb4b608419", - "dweb:/ipfs/QmTKwdbenDfNwmwRVh8VKtA6mhFK2AyTFRoJF3BqLB81KM" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin-solc-0.7/contracts/utils/Strings.sol": { - "keccak256": "0x08e38e034333372aea8cb1b8846085b7fbab42c6b77a0af464d2c6827827c4f0", - "urls": [ - "bzz-raw://22746e9348187309fb4fbd3f79f6ad88787103eac10f24bd18f67257fafdd8ad", - "dweb:/ipfs/QmSLXfXg8b27Xstq58DFGvCpqgtTqpfrGbLMq19PtEKQJS" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 14 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "name_", "type": "string", "internalType": "string" }, { "name": "symbol_", "type": "string", "internalType": "string" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "approve", "inputs": [ { "name": "to", "type": "address", "internalType": "address" }, { "name": "tokenId", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "balanceOf", "inputs": [ { "name": "owner", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "baseURI", "inputs": [], "outputs": [ { "name": "", "type": "string", "internalType": "string" } ], "stateMutability": "view" }, { "type": "function", "name": "getApproved", "inputs": [ { "name": "tokenId", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "isApprovedForAll", "inputs": [ { "name": "owner", "type": "address", "internalType": "address" }, { "name": "operator", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "name", "inputs": [], "outputs": [ { "name": "", "type": "string", "internalType": "string" } ], "stateMutability": "view" }, { "type": "function", "name": "ownerOf", "inputs": [ { "name": "tokenId", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "safeTransferFrom", "inputs": [ { "name": "from", "type": "address", "internalType": "address" }, { "name": "to", "type": "address", "internalType": "address" }, { "name": "tokenId", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "safeTransferFrom", "inputs": [ { "name": "from", "type": "address", "internalType": "address" }, { "name": "to", "type": "address", "internalType": "address" }, { "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "_data", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setApprovalForAll", "inputs": [ { "name": "operator", "type": "address", "internalType": "address" }, { "name": "approved", "type": "bool", "internalType": "bool" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "supportsInterface", "inputs": [ { "name": "interfaceId", "type": "bytes4", "internalType": "bytes4" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "symbol", "inputs": [], "outputs": [ { "name": "", "type": "string", "internalType": "string" } ], "stateMutability": "view" }, { "type": "function", "name": "tokenByIndex", "inputs": [ { "name": "index", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "tokenOfOwnerByIndex", "inputs": [ { "name": "owner", "type": "address", "internalType": "address" }, { "name": "index", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "tokenURI", "inputs": [ { "name": "tokenId", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "string", "internalType": "string" } ], "stateMutability": "view" }, { "type": "function", "name": "totalSupply", "inputs": [], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "transferFrom", "inputs": [ { "name": "from", "type": "address", "internalType": "address" }, { "name": "to", "type": "address", "internalType": "address" }, { "name": "tokenId", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "event", "name": "Approval", "inputs": [ { "name": "owner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "approved", "type": "address", "indexed": true, "internalType": "address" }, { "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "ApprovalForAll", "inputs": [ { "name": "owner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "operator", "type": "address", "indexed": true, "internalType": "address" }, { "name": "approved", "type": "bool", "indexed": false, "internalType": "bool" } ], "anonymous": false }, { "type": "event", "name": "Transfer", "inputs": [ { "name": "from", "type": "address", "indexed": true, "internalType": "address" }, { "name": "to", "type": "address", "indexed": true, "internalType": "address" }, { "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" } ], "anonymous": false } ], "bytecode": { "object": "0x60806040523480156200001157600080fd5b5060405162001cc538038062001cc5833981810160405260408110156200003757600080fd5b81019080805160405193929190846401000000008211156200005857600080fd5b9083019060208201858111156200006e57600080fd5b82516401000000008111828201881017156200008957600080fd5b82525081516020918201929091019080838360005b83811015620000b85781810151838201526020016200009e565b50505050905090810190601f168015620000e65780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200010a57600080fd5b9083019060208201858111156200012057600080fd5b82516401000000008111828201881017156200013b57600080fd5b82525081516020918201929091019080838360005b838110156200016a57818101518382015260200162000150565b50505050905090810190601f168015620001985780820380516001836020036101000a031916815260200191505b5060405250620001b391506301ffc9a760e01b90506200021d565b8151620001c8906006906020850190620002a2565b508051620001de906007906020840190620002a2565b50620001f16380ac58cd60e01b6200021d565b62000203635b5e139f60e01b6200021d565b6200021563780e9d6360e01b6200021d565b50506200034e565b6001600160e01b031980821614156200027d576040805162461bcd60e51b815260206004820152601c60248201527f4552433136353a20696e76616c696420696e7465726661636520696400000000604482015290519081900360640190fd5b6001600160e01b0319166000908152602081905260409020805460ff19166001179055565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282620002da576000855562000325565b82601f10620002f557805160ff191683800117855562000325565b8280016001018555821562000325579182015b828111156200032557825182559160200191906001019062000308565b506200033392915062000337565b5090565b5b8082111562000333576000815560010162000338565b611967806200035e6000396000f3fe608060405234801561001057600080fd5b506004361061010b5760003560e01c80634f6ccce7116100a257806395d89b411161007157806395d89b4114610349578063a22cb46514610351578063b88d4fde1461037f578063c87b56dd14610445578063e985e9c5146104625761010b565b80634f6ccce7146102e15780636352211e146102fe5780636c0360eb1461031b57806370a08231146103235761010b565b806318160ddd116100de57806318160ddd1461022f57806323b872dd146102495780632f745c591461027f57806342842e0e146102ab5761010b565b806301ffc9a71461011057806306fdde031461014b578063081812fc146101c8578063095ea7b314610201575b600080fd5b6101376004803603602081101561012657600080fd5b50356001600160e01b031916610490565b604080519115158252519081900360200190f35b6101536104b3565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561018d578181015183820152602001610175565b50505050905090810190601f1680156101ba5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101e5600480360360208110156101de57600080fd5b5035610549565b604080516001600160a01b039092168252519081900360200190f35b61022d6004803603604081101561021757600080fd5b506001600160a01b0381351690602001356105ab565b005b610237610686565b60408051918252519081900360200190f35b61022d6004803603606081101561025f57600080fd5b506001600160a01b03813581169160208101359091169060400135610697565b6102376004803603604081101561029557600080fd5b506001600160a01b0381351690602001356106ee565b61022d600480360360608110156102c157600080fd5b506001600160a01b03813581169160208101359091169060400135610719565b610237600480360360208110156102f757600080fd5b5035610734565b6101e56004803603602081101561031457600080fd5b503561074a565b610153610772565b6102376004803603602081101561033957600080fd5b50356001600160a01b03166107d3565b61015361083b565b61022d6004803603604081101561036757600080fd5b506001600160a01b038135169060200135151561089c565b61022d6004803603608081101561039557600080fd5b6001600160a01b038235811692602081013590911691604082013591908101906080810160608201356401000000008111156103d057600080fd5b8201836020820111156103e257600080fd5b8035906020019184600183028401116401000000008311171561040457600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506109a1945050505050565b6101536004803603602081101561045b57600080fd5b50356109ff565b6101376004803603604081101561047857600080fd5b506001600160a01b0381358116916020013516610c80565b6001600160e01b0319811660009081526020819052604090205460ff165b919050565b60068054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561053f5780601f106105145761010080835404028352916020019161053f565b820191906000526020600020905b81548152906001019060200180831161052257829003601f168201915b5050505050905090565b600061055482610cae565b61058f5760405162461bcd60e51b815260040180806020018281038252602c815260200180611885602c913960400191505060405180910390fd5b506000908152600460205260409020546001600160a01b031690565b60006105b68261074a565b9050806001600160a01b0316836001600160a01b031614156106095760405162461bcd60e51b81526004018080602001828103825260218152602001806119096021913960400191505060405180910390fd5b806001600160a01b031661061b610cbb565b6001600160a01b0316148061063c575061063c81610637610cbb565b610c80565b6106775760405162461bcd60e51b81526004018080602001828103825260388152602001806117d86038913960400191505060405180910390fd5b6106818383610cbf565b505050565b60006106926002610d2d565b905090565b6106a86106a2610cbb565b82610d38565b6106e35760405162461bcd60e51b815260040180806020018281038252603181526020018061192a6031913960400191505060405180910390fd5b610681838383610ddc565b6001600160a01b03821660009081526001602052604081206107109083610f28565b90505b92915050565b610681838383604051806020016040528060008152506109a1565b600080610742600284610f34565b509392505050565b60006107138260405180606001604052806029815260200161183a6029913960029190610f50565b60098054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561053f5780601f106105145761010080835404028352916020019161053f565b60006001600160a01b03821661081a5760405162461bcd60e51b815260040180806020018281038252602a815260200180611810602a913960400191505060405180910390fd5b6001600160a01b038216600090815260016020526040902061071390610d2d565b60078054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561053f5780601f106105145761010080835404028352916020019161053f565b6108a4610cbb565b6001600160a01b0316826001600160a01b0316141561090a576040805162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015290519081900360640190fd5b8060056000610917610cbb565b6001600160a01b03908116825260208083019390935260409182016000908120918716808252919093529120805460ff19169215159290921790915561095b610cbb565b6001600160a01b03167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c318360405180821515815260200191505060405180910390a35050565b6109b26109ac610cbb565b83610d38565b6109ed5760405162461bcd60e51b815260040180806020018281038252603181526020018061192a6031913960400191505060405180910390fd5b6109f984848484610f67565b50505050565b6060610a0a82610cae565b610a455760405162461bcd60e51b815260040180806020018281038252602f8152602001806118da602f913960400191505060405180910390fd5b60008281526008602090815260408083208054825160026001831615610100026000190190921691909104601f810185900485028201850190935282815292909190830182828015610ad85780601f10610aad57610100808354040283529160200191610ad8565b820191906000526020600020905b815481529060010190602001808311610abb57829003601f168201915b505050505090506000610ae9610772565b9050805160001415610afd575090506104ae565b815115610bbe5780826040516020018083805190602001908083835b60208310610b385780518252601f199092019160209182019101610b19565b51815160209384036101000a600019018019909216911617905285519190930192850191508083835b60208310610b805780518252601f199092019160209182019101610b61565b6001836020036101000a03801982511681845116808217855250505050505090500192505050604051602081830303815290604052925050506104ae565b80610bc885610fb9565b6040516020018083805190602001908083835b60208310610bfa5780518252601f199092019160209182019101610bdb565b51815160209384036101000a600019018019909216911617905285519190930192850191508083835b60208310610c425780518252601f199092019160209182019101610c23565b6001836020036101000a0380198251168184511680821785525050505050509050019250505060405160208183030381529060405292505050919050565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b6000610713600283611094565b3390565b600081815260046020526040902080546001600160a01b0319166001600160a01b0384169081179091558190610cf48261074a565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000610713826110a0565b6000610d4382610cae565b610d7e5760405162461bcd60e51b815260040180806020018281038252602c8152602001806117ac602c913960400191505060405180910390fd5b6000610d898361074a565b9050806001600160a01b0316846001600160a01b03161480610dc45750836001600160a01b0316610db984610549565b6001600160a01b0316145b80610dd45750610dd48185610c80565b949350505050565b826001600160a01b0316610def8261074a565b6001600160a01b031614610e345760405162461bcd60e51b81526004018080602001828103825260298152602001806118b16029913960400191505060405180910390fd5b6001600160a01b038216610e795760405162461bcd60e51b81526004018080602001828103825260248152602001806117886024913960400191505060405180910390fd5b610e84838383610681565b610e8f600082610cbf565b6001600160a01b0383166000908152600160205260409020610eb190826110a4565b506001600160a01b0382166000908152600160205260409020610ed490826110b0565b50610ee1600282846110bc565b5080826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b600061071083836110d2565b6000808080610f438686611136565b9097909650945050505050565b6000610f5d8484846111b1565b90505b9392505050565b610f72848484610ddc565b610f7e8484848461127b565b6109f95760405162461bcd60e51b81526004018080602001828103825260328152602001806117566032913960400191505060405180910390fd5b606081610fde57506040805180820190915260018152600360fc1b60208201526104ae565b8160005b8115610ff657600101600a82049150610fe2565b60008167ffffffffffffffff8111801561100f57600080fd5b506040519080825280601f01601f19166020018201604052801561103a576020820181803683370190505b50859350905060001982015b831561108b57600a840660300160f81b8282806001900393508151811061106957fe5b60200101906001600160f81b031916908160001a905350600a84049350611046565b50949350505050565b600061071083836113e3565b5490565b600061071083836113fb565b600061071083836114c1565b6000610f5d84846001600160a01b03851661150b565b815460009082106111145760405162461bcd60e51b81526004018080602001828103825260228152602001806117346022913960400191505060405180910390fd5b82600001828154811061112357fe5b9060005260206000200154905092915050565b81546000908190831061117a5760405162461bcd60e51b81526004018080602001828103825260228152602001806118636022913960400191505060405180910390fd5b600084600001848154811061118b57fe5b906000526020600020906002020190508060000154816001015492509250509250929050565b6000828152600184016020526040812054828161124c5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156112115781810151838201526020016111f9565b50505050905090810190601f16801561123e5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5084600001600182038154811061125f57fe5b9060005260206000209060020201600101549150509392505050565b600061128f846001600160a01b03166115a2565b61129b57506001610dd4565b60006113a9630a85bd0160e11b6112b0610cbb565b88878760405160240180856001600160a01b03168152602001846001600160a01b0316815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b838110156113175781810151838201526020016112ff565b50505050905090810190601f1680156113445780820380516001836020036101000a031916815260200191505b5095505050505050604051602081830303815290604052906001600160e01b0319166020820180516001600160e01b038381831617835250505050604051806060016040528060328152602001611756603291396001600160a01b03881691906115a8565b905060008180602001905160208110156113c257600080fd5b50516001600160e01b031916630a85bd0160e11b1492505050949350505050565b60009081526001919091016020526040902054151590565b600081815260018301602052604081205480156114b7578354600019808301919081019060009087908390811061142e57fe5b906000526020600020015490508087600001848154811061144b57fe5b60009182526020808320909101929092558281526001898101909252604090209084019055865487908061147b57fe5b60019003818190600052602060002001600090559055866001016000878152602001908152602001600020600090556001945050505050610713565b6000915050610713565b60006114cd83836113e3565b61150357508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610713565b506000610713565b600082815260018401602052604081205480611570575050604080518082018252838152602080820184815286546001818101895560008981528481209551600290930290950191825591519082015586548684528188019092529290912055610f60565b8285600001600183038154811061158357fe5b9060005260206000209060020201600101819055506000915050610f60565b3b151590565b6060610f5d8484600085856115bc856115a2565b61160d576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b600080866001600160a01b031685876040518082805190602001908083835b6020831061164b5780518252601f19909201916020918201910161162c565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146116ad576040519150601f19603f3d011682016040523d82523d6000602084013e6116b2565b606091505b50915091506116c28282866116cd565b979650505050505050565b606083156116dc575081610f60565b8251156116ec5782518084602001fd5b60405162461bcd60e51b81526020600482018181528451602484015284518593919283926044019190850190808383600083156112115781810151838201526020016111f956fe456e756d657261626c655365743a20696e646578206f7574206f6620626f756e64734552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e7465724552433732313a207472616e7366657220746f20746865207a65726f20616464726573734552433732313a206f70657261746f7220717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76652063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f76656420666f7220616c6c4552433732313a2062616c616e636520717565727920666f7220746865207a65726f20616464726573734552433732313a206f776e657220717565727920666f72206e6f6e6578697374656e7420746f6b656e456e756d657261626c654d61703a20696e646578206f7574206f6620626f756e64734552433732313a20617070726f76656420717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a207472616e73666572206f6620746f6b656e2074686174206973206e6f74206f776e4552433732314d657461646174613a2055524920717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76616c20746f2063757272656e74206f776e65724552433732313a207472616e736665722063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564a164736f6c6343000706000a", "sourceMap": "563:16527:14:-:0;;;3569:362;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3569:362:14;;;;;;;;;;-1:-1:-1;3569:362:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3569:362:14;;;;;;;;;;-1:-1:-1;3569:362:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3569:362:14;;-1:-1:-1;751:40:8;;-1:-1:-1;;;;770:20:8;-1:-1:-1;751:18:8;:40::i;:::-;3636:13:14;;;;:5;;:13;;;;;:::i;:::-;-1:-1:-1;3659:17:14;;;;:7;;:17;;;;;:::i;:::-;-1:-1:-1;3764:40:14;-1:-1:-1;;;3764:18:14;:40::i;:::-;3814:49;-1:-1:-1;;;3814:18:14;:49::i;:::-;3873:51;-1:-1:-1;;;3873:18:14;:51::i;:::-;3569:362;;563:16527;;1490:198:8;-1:-1:-1;;;;;;1573:25:8;;;;;1565:66;;;;;-1:-1:-1;;;1565:66:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1641:33:8;:20;:33;;;;;;;;;;:40;;-1:-1:-1;;1641:40:8;1677:4;1641:40;;;1490:198::o;563:16527:14:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;563:16527:14;;;-1:-1:-1;563:16527:14;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b506004361061010b5760003560e01c80634f6ccce7116100a257806395d89b411161007157806395d89b4114610349578063a22cb46514610351578063b88d4fde1461037f578063c87b56dd14610445578063e985e9c5146104625761010b565b80634f6ccce7146102e15780636352211e146102fe5780636c0360eb1461031b57806370a08231146103235761010b565b806318160ddd116100de57806318160ddd1461022f57806323b872dd146102495780632f745c591461027f57806342842e0e146102ab5761010b565b806301ffc9a71461011057806306fdde031461014b578063081812fc146101c8578063095ea7b314610201575b600080fd5b6101376004803603602081101561012657600080fd5b50356001600160e01b031916610490565b604080519115158252519081900360200190f35b6101536104b3565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561018d578181015183820152602001610175565b50505050905090810190601f1680156101ba5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101e5600480360360208110156101de57600080fd5b5035610549565b604080516001600160a01b039092168252519081900360200190f35b61022d6004803603604081101561021757600080fd5b506001600160a01b0381351690602001356105ab565b005b610237610686565b60408051918252519081900360200190f35b61022d6004803603606081101561025f57600080fd5b506001600160a01b03813581169160208101359091169060400135610697565b6102376004803603604081101561029557600080fd5b506001600160a01b0381351690602001356106ee565b61022d600480360360608110156102c157600080fd5b506001600160a01b03813581169160208101359091169060400135610719565b610237600480360360208110156102f757600080fd5b5035610734565b6101e56004803603602081101561031457600080fd5b503561074a565b610153610772565b6102376004803603602081101561033957600080fd5b50356001600160a01b03166107d3565b61015361083b565b61022d6004803603604081101561036757600080fd5b506001600160a01b038135169060200135151561089c565b61022d6004803603608081101561039557600080fd5b6001600160a01b038235811692602081013590911691604082013591908101906080810160608201356401000000008111156103d057600080fd5b8201836020820111156103e257600080fd5b8035906020019184600183028401116401000000008311171561040457600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506109a1945050505050565b6101536004803603602081101561045b57600080fd5b50356109ff565b6101376004803603604081101561047857600080fd5b506001600160a01b0381358116916020013516610c80565b6001600160e01b0319811660009081526020819052604090205460ff165b919050565b60068054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561053f5780601f106105145761010080835404028352916020019161053f565b820191906000526020600020905b81548152906001019060200180831161052257829003601f168201915b5050505050905090565b600061055482610cae565b61058f5760405162461bcd60e51b815260040180806020018281038252602c815260200180611885602c913960400191505060405180910390fd5b506000908152600460205260409020546001600160a01b031690565b60006105b68261074a565b9050806001600160a01b0316836001600160a01b031614156106095760405162461bcd60e51b81526004018080602001828103825260218152602001806119096021913960400191505060405180910390fd5b806001600160a01b031661061b610cbb565b6001600160a01b0316148061063c575061063c81610637610cbb565b610c80565b6106775760405162461bcd60e51b81526004018080602001828103825260388152602001806117d86038913960400191505060405180910390fd5b6106818383610cbf565b505050565b60006106926002610d2d565b905090565b6106a86106a2610cbb565b82610d38565b6106e35760405162461bcd60e51b815260040180806020018281038252603181526020018061192a6031913960400191505060405180910390fd5b610681838383610ddc565b6001600160a01b03821660009081526001602052604081206107109083610f28565b90505b92915050565b610681838383604051806020016040528060008152506109a1565b600080610742600284610f34565b509392505050565b60006107138260405180606001604052806029815260200161183a6029913960029190610f50565b60098054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561053f5780601f106105145761010080835404028352916020019161053f565b60006001600160a01b03821661081a5760405162461bcd60e51b815260040180806020018281038252602a815260200180611810602a913960400191505060405180910390fd5b6001600160a01b038216600090815260016020526040902061071390610d2d565b60078054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561053f5780601f106105145761010080835404028352916020019161053f565b6108a4610cbb565b6001600160a01b0316826001600160a01b0316141561090a576040805162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604482015290519081900360640190fd5b8060056000610917610cbb565b6001600160a01b03908116825260208083019390935260409182016000908120918716808252919093529120805460ff19169215159290921790915561095b610cbb565b6001600160a01b03167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c318360405180821515815260200191505060405180910390a35050565b6109b26109ac610cbb565b83610d38565b6109ed5760405162461bcd60e51b815260040180806020018281038252603181526020018061192a6031913960400191505060405180910390fd5b6109f984848484610f67565b50505050565b6060610a0a82610cae565b610a455760405162461bcd60e51b815260040180806020018281038252602f8152602001806118da602f913960400191505060405180910390fd5b60008281526008602090815260408083208054825160026001831615610100026000190190921691909104601f810185900485028201850190935282815292909190830182828015610ad85780601f10610aad57610100808354040283529160200191610ad8565b820191906000526020600020905b815481529060010190602001808311610abb57829003601f168201915b505050505090506000610ae9610772565b9050805160001415610afd575090506104ae565b815115610bbe5780826040516020018083805190602001908083835b60208310610b385780518252601f199092019160209182019101610b19565b51815160209384036101000a600019018019909216911617905285519190930192850191508083835b60208310610b805780518252601f199092019160209182019101610b61565b6001836020036101000a03801982511681845116808217855250505050505090500192505050604051602081830303815290604052925050506104ae565b80610bc885610fb9565b6040516020018083805190602001908083835b60208310610bfa5780518252601f199092019160209182019101610bdb565b51815160209384036101000a600019018019909216911617905285519190930192850191508083835b60208310610c425780518252601f199092019160209182019101610c23565b6001836020036101000a0380198251168184511680821785525050505050509050019250505060405160208183030381529060405292505050919050565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b6000610713600283611094565b3390565b600081815260046020526040902080546001600160a01b0319166001600160a01b0384169081179091558190610cf48261074a565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000610713826110a0565b6000610d4382610cae565b610d7e5760405162461bcd60e51b815260040180806020018281038252602c8152602001806117ac602c913960400191505060405180910390fd5b6000610d898361074a565b9050806001600160a01b0316846001600160a01b03161480610dc45750836001600160a01b0316610db984610549565b6001600160a01b0316145b80610dd45750610dd48185610c80565b949350505050565b826001600160a01b0316610def8261074a565b6001600160a01b031614610e345760405162461bcd60e51b81526004018080602001828103825260298152602001806118b16029913960400191505060405180910390fd5b6001600160a01b038216610e795760405162461bcd60e51b81526004018080602001828103825260248152602001806117886024913960400191505060405180910390fd5b610e84838383610681565b610e8f600082610cbf565b6001600160a01b0383166000908152600160205260409020610eb190826110a4565b506001600160a01b0382166000908152600160205260409020610ed490826110b0565b50610ee1600282846110bc565b5080826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b600061071083836110d2565b6000808080610f438686611136565b9097909650945050505050565b6000610f5d8484846111b1565b90505b9392505050565b610f72848484610ddc565b610f7e8484848461127b565b6109f95760405162461bcd60e51b81526004018080602001828103825260328152602001806117566032913960400191505060405180910390fd5b606081610fde57506040805180820190915260018152600360fc1b60208201526104ae565b8160005b8115610ff657600101600a82049150610fe2565b60008167ffffffffffffffff8111801561100f57600080fd5b506040519080825280601f01601f19166020018201604052801561103a576020820181803683370190505b50859350905060001982015b831561108b57600a840660300160f81b8282806001900393508151811061106957fe5b60200101906001600160f81b031916908160001a905350600a84049350611046565b50949350505050565b600061071083836113e3565b5490565b600061071083836113fb565b600061071083836114c1565b6000610f5d84846001600160a01b03851661150b565b815460009082106111145760405162461bcd60e51b81526004018080602001828103825260228152602001806117346022913960400191505060405180910390fd5b82600001828154811061112357fe5b9060005260206000200154905092915050565b81546000908190831061117a5760405162461bcd60e51b81526004018080602001828103825260228152602001806118636022913960400191505060405180910390fd5b600084600001848154811061118b57fe5b906000526020600020906002020190508060000154816001015492509250509250929050565b6000828152600184016020526040812054828161124c5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156112115781810151838201526020016111f9565b50505050905090810190601f16801561123e5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5084600001600182038154811061125f57fe5b9060005260206000209060020201600101549150509392505050565b600061128f846001600160a01b03166115a2565b61129b57506001610dd4565b60006113a9630a85bd0160e11b6112b0610cbb565b88878760405160240180856001600160a01b03168152602001846001600160a01b0316815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b838110156113175781810151838201526020016112ff565b50505050905090810190601f1680156113445780820380516001836020036101000a031916815260200191505b5095505050505050604051602081830303815290604052906001600160e01b0319166020820180516001600160e01b038381831617835250505050604051806060016040528060328152602001611756603291396001600160a01b03881691906115a8565b905060008180602001905160208110156113c257600080fd5b50516001600160e01b031916630a85bd0160e11b1492505050949350505050565b60009081526001919091016020526040902054151590565b600081815260018301602052604081205480156114b7578354600019808301919081019060009087908390811061142e57fe5b906000526020600020015490508087600001848154811061144b57fe5b60009182526020808320909101929092558281526001898101909252604090209084019055865487908061147b57fe5b60019003818190600052602060002001600090559055866001016000878152602001908152602001600020600090556001945050505050610713565b6000915050610713565b60006114cd83836113e3565b61150357508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155610713565b506000610713565b600082815260018401602052604081205480611570575050604080518082018252838152602080820184815286546001818101895560008981528481209551600290930290950191825591519082015586548684528188019092529290912055610f60565b8285600001600183038154811061158357fe5b9060005260206000209060020201600101819055506000915050610f60565b3b151590565b6060610f5d8484600085856115bc856115a2565b61160d576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b600080866001600160a01b031685876040518082805190602001908083835b6020831061164b5780518252601f19909201916020918201910161162c565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146116ad576040519150601f19603f3d011682016040523d82523d6000602084013e6116b2565b606091505b50915091506116c28282866116cd565b979650505050505050565b606083156116dc575081610f60565b8251156116ec5782518084602001fd5b60405162461bcd60e51b81526020600482018181528451602484015284518593919283926044019190850190808383600083156112115781810151838201526020016111f956fe456e756d657261626c655365743a20696e646578206f7574206f6620626f756e64734552433732313a207472616e7366657220746f206e6f6e20455243373231526563656976657220696d706c656d656e7465724552433732313a207472616e7366657220746f20746865207a65726f20616464726573734552433732313a206f70657261746f7220717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76652063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f76656420666f7220616c6c4552433732313a2062616c616e636520717565727920666f7220746865207a65726f20616464726573734552433732313a206f776e657220717565727920666f72206e6f6e6578697374656e7420746f6b656e456e756d657261626c654d61703a20696e646578206f7574206f6620626f756e64734552433732313a20617070726f76656420717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a207472616e73666572206f6620746f6b656e2074686174206973206e6f74206f776e4552433732314d657461646174613a2055524920717565727920666f72206e6f6e6578697374656e7420746f6b656e4552433732313a20617070726f76616c20746f2063757272656e74206f776e65724552433732313a207472616e736665722063616c6c6572206973206e6f74206f776e6572206e6f7220617070726f766564a164736f6c6343000706000a", "sourceMap": "563:16527:14:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;948:148:8;;;;;;;;;;;;;;;;-1:-1:-1;948:148:8;-1:-1:-1;;;;;;948:148:8;;:::i;:::-;;;;;;;;;;;;;;;;;;4502:98:14;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7207:217;;;;;;;;;;;;;;;;-1:-1:-1;7207:217:14;;:::i;:::-;;;;-1:-1:-1;;;;;7207:217:14;;;;;;;;;;;;;;6751:395;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;6751:395:14;;;;;;;;:::i;:::-;;6245:208;;;:::i;:::-;;;;;;;;;;;;;;;;8071:300;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;8071:300:14;;;;;;;;;;;;;;;;;:::i;6014:160::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;6014:160:14;;;;;;;;:::i;8437:149::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;8437:149:14;;;;;;;;;;;;;;;;;:::i;6525:169::-;;;;;;;;;;;;;;;;-1:-1:-1;6525:169:14;;:::i;4265:175::-;;;;;;;;;;;;;;;;-1:-1:-1;4265:175:14;;:::i;5840:95::-;;;:::i;3990:218::-;;;;;;;;;;;;;;;;-1:-1:-1;3990:218:14;-1:-1:-1;;;;;3990:218:14;;:::i;4664:102::-;;;:::i;7491:290::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;7491:290:14;;;;;;;;;;:::i;8652:282::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8652:282:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8652:282:14;;-1:-1:-1;8652:282:14;;-1:-1:-1;;;;;8652:282:14:i;4832:776::-;;;;;;;;;;;;;;;;-1:-1:-1;4832:776:14;;:::i;7847:162::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;7847:162:14;;;;;;;;;;:::i;948:148:8:-;-1:-1:-1;;;;;;1056:33:8;;1033:4;1056:33;;;;;;;;;;;;;948:148;;;;:::o;4502:98:14:-;4588:5;4581:12;;;;;;;;-1:-1:-1;;4581:12:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4556:13;;4581:12;;4588:5;;4581:12;;4588:5;4581:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4502:98;:::o;7207:217::-;7283:7;7310:16;7318:7;7310;:16::i;:::-;7302:73;;;;-1:-1:-1;;;7302:73:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7393:24:14;;;;:15;:24;;;;;;-1:-1:-1;;;;;7393:24:14;;7207:217::o;6751:395::-;6831:13;6847:23;6862:7;6847:14;:23::i;:::-;6831:39;;6894:5;-1:-1:-1;;;;;6888:11:14;:2;-1:-1:-1;;;;;6888:11:14;;;6880:57;;;;-1:-1:-1;;;6880:57:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6972:5;-1:-1:-1;;;;;6956:21:14;:12;:10;:12::i;:::-;-1:-1:-1;;;;;6956:21:14;;:69;;;;6981:44;7005:5;7012:12;:10;:12::i;:::-;6981:23;:44::i;:::-;6948:159;;;;-1:-1:-1;;;6948:159:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7118:21;7127:2;7131:7;7118:8;:21::i;:::-;6751:395;;;:::o;6245:208::-;6306:7;6425:21;:12;:19;:21::i;:::-;6418:28;;6245:208;:::o;8071:300::-;8230:41;8249:12;:10;:12::i;:::-;8263:7;8230:18;:41::i;:::-;8222:103;;;;-1:-1:-1;;;8222:103:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8336:28;8346:4;8352:2;8356:7;8336:9;:28::i;6014:160::-;-1:-1:-1;;;;;6137:20:14;;6111:7;6137:20;;;:13;:20;;;;;:30;;6161:5;6137:23;:30::i;:::-;6130:37;;6014:160;;;;;:::o;8437:149::-;8540:39;8557:4;8563:2;8567:7;8540:39;;;;;;;;;;;;:16;:39::i;6525:169::-;6600:7;;6641:22;:12;6657:5;6641:15;:22::i;:::-;-1:-1:-1;6619:44:14;6525:169;-1:-1:-1;;;6525:169:14:o;4265:175::-;4337:7;4363:70;4380:7;4363:70;;;;;;;;;;;;;;;;;:12;;:70;:16;:70::i;5840:95::-;5920:8;5913:15;;;;;;;;-1:-1:-1;;5913:15:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5888:13;;5913:15;;5920:8;;5913:15;;5920:8;5913:15;;;;;;;;;;;;;;;;;;;;;;;;3990:218;4062:7;-1:-1:-1;;;;;4089:19:14;;4081:74;;;;-1:-1:-1;;;4081:74:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4172:20:14;;;;;;:13;:20;;;;;:29;;:27;:29::i;4664:102::-;4752:7;4745:14;;;;;;;;-1:-1:-1;;4745:14:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4720:13;;4745:14;;4752:7;;4745:14;;4752:7;4745:14;;;;;;;;;;;;;;;;;;;;;;;;7491:290;7605:12;:10;:12::i;:::-;-1:-1:-1;;;;;7593:24:14;:8;-1:-1:-1;;;;;7593:24:14;;;7585:62;;;;;-1:-1:-1;;;7585:62:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;7703:8;7658:18;:32;7677:12;:10;:12::i;:::-;-1:-1:-1;;;;;7658:32:14;;;;;;;;;;;;;;;;;-1:-1:-1;7658:32:14;;;:42;;;;;;;;;;;;:53;;-1:-1:-1;;7658:53:14;;;;;;;;;;;7741:12;:10;:12::i;:::-;-1:-1:-1;;;;;7726:48:14;;7765:8;7726:48;;;;;;;;;;;;;;;;;;;;7491:290;;:::o;8652:282::-;8783:41;8802:12;:10;:12::i;:::-;8816:7;8783:18;:41::i;:::-;8775:103;;;;-1:-1:-1;;;8775:103:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8888:39;8902:4;8908:2;8912:7;8921:5;8888:13;:39::i;:::-;8652:282;;;;:::o;4832:776::-;4905:13;4938:16;4946:7;4938;:16::i;:::-;4930:76;;;;-1:-1:-1;;;4930:76:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5017:23;5043:19;;;:10;:19;;;;;;;;5017:45;;;;;;;;;;;-1:-1:-1;;5017:45:14;;;;;;;;;;;;;;;;;;;;;;;;;;;5043:19;;5017:45;;;5043:19;5017:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5072:18;5093:9;:7;:9::i;:::-;5072:30;;5181:4;5175:18;5197:1;5175:23;5171:70;;;-1:-1:-1;5221:9:14;-1:-1:-1;5214:16:14;;5171:70;5343:23;;:27;5339:106;;5417:4;5423:9;5400:33;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5400:33:14;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5400:33:14;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5400:33:14;;;;;;;;;;;;;-1:-1:-1;;5400:33:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5386:48;;;;;;5339:106;5575:4;5581:18;:7;:16;:18::i;:::-;5558:42;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5558:42:14;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5558:42:14;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5558:42:14;;;;;;;;;;;;;-1:-1:-1;;5558:42:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5544:57;;;;4832:776;;;:::o;7847:162::-;-1:-1:-1;;;;;7967:25:14;;;7944:4;7967:25;;;:18;:25;;;;;;;;:35;;;;;;;;;;;;;;;7847:162::o;10368:125::-;10433:4;10456:30;:12;10478:7;10456:21;:30::i;598:104:20:-;685:10;598:104;:::o;16210:189:14:-;16284:24;;;;:15;:24;;;;;:29;;-1:-1:-1;;;;;;16284:29:14;-1:-1:-1;;;;;16284:29:14;;;;;;;;:24;;16337:23;16284:24;16337:14;:23::i;:::-;-1:-1:-1;;;;;16328:46:14;;;;;;;;;;;16210:189;;:::o;7812:121:21:-;7881:7;7907:19;7915:3;7907:7;:19::i;10651:351:14:-;10744:4;10768:16;10776:7;10768;:16::i;:::-;10760:73;;;;-1:-1:-1;;;10760:73:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10843:13;10859:23;10874:7;10859:14;:23::i;:::-;10843:39;;10911:5;-1:-1:-1;;;;;10900:16:14;:7;-1:-1:-1;;;;;10900:16:14;;:51;;;;10944:7;-1:-1:-1;;;;;10920:31:14;:20;10932:7;10920:11;:20::i;:::-;-1:-1:-1;;;;;10920:31:14;;10900:51;:94;;;;10955:39;10979:5;10986:7;10955:23;:39::i;:::-;10892:103;10651:351;-1:-1:-1;;;;10651:351:14:o;13692:584::-;13816:4;-1:-1:-1;;;;;13789:31:14;:23;13804:7;13789:14;:23::i;:::-;-1:-1:-1;;;;;13789:31:14;;13781:85;;;;-1:-1:-1;;;13781:85:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;13902:16:14;;13894:65;;;;-1:-1:-1;;;13894:65:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13970:39;13991:4;13997:2;14001:7;13970:20;:39::i;:::-;14071:29;14088:1;14092:7;14071:8;:29::i;:::-;-1:-1:-1;;;;;14111:19:14;;;;;;:13;:19;;;;;:35;;14138:7;14111:26;:35::i;:::-;-1:-1:-1;;;;;;14156:17:14;;;;;;:13;:17;;;;;:30;;14178:7;14156:21;:30::i;:::-;-1:-1:-1;14197:29:14;:12;14214:7;14223:2;14197:16;:29::i;:::-;;14261:7;14257:2;-1:-1:-1;;;;;14242:27:14;14251:4;-1:-1:-1;;;;;14242:27:14;;;;;;;;;;;13692:584;;;:::o;9242:135:22:-;9313:7;9347:22;9351:3;9363:5;9347:3;:22::i;8261:233:21:-;8341:7;;;;8400:22;8404:3;8416:5;8400:3;:22::i;:::-;8369:53;;;;-1:-1:-1;8261:233:21;-1:-1:-1;;;;;8261:233:21:o;9514:211::-;9621:7;9671:44;9676:3;9696;9702:12;9671:4;:44::i;:::-;9663:53;-1:-1:-1;9514:211:21;;;;;;:::o;9796:269:14:-;9909:28;9919:4;9925:2;9929:7;9909:9;:28::i;:::-;9955:48;9978:4;9984:2;9988:7;9997:5;9955:22;:48::i;:::-;9947:111;;;;-1:-1:-1;;;9947:111:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;202:725:23;258:13;475:10;471:51;;-1:-1:-1;501:10:23;;;;;;;;;;;;-1:-1:-1;;;501:10:23;;;;;;471:51;546:5;531:12;585:75;592:9;;585:75;;617:8;;647:2;639:10;;;;585:75;;;669:19;701:6;691:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;691:17:23;-1:-1:-1;761:5:23;;-1:-1:-1;669:39:23;-1:-1:-1;;;734:10:23;;776:114;783:9;;776:114;;851:2;844:4;:9;839:2;:14;826:29;;808:6;815:7;;;;;;;808:15;;;;;;;;;;;:47;-1:-1:-1;;;;;808:47:23;;;;;;;;-1:-1:-1;877:2:23;869:10;;;;776:114;;;-1:-1:-1;913:6:23;202:725;-1:-1:-1;;;;202:725:23:o;7580:149:21:-;7664:4;7687:35;7697:3;7717;7687:9;:35::i;4483:108::-;4565:19;;4483:108::o;8357:135:22:-;8427:4;8450:35;8458:3;8478:5;8450:7;:35::i;8060:129::-;8127:4;8150:32;8155:3;8175:5;8150:4;:32::i;7019:183:21:-;7108:4;7131:64;7136:3;7156;-1:-1:-1;;;;;7170:23:21;;7131:4;:64::i;4444:201:22:-;4538:18;;4511:7;;4538:26;-1:-1:-1;4530:73:22;;;;-1:-1:-1;;;4530:73:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4620:3;:11;;4632:5;4620:18;;;;;;;;;;;;;;;;4613:25;;4444:201;;;;:::o;4934:274:21:-;5037:19;;5001:7;;;;5037:27;-1:-1:-1;5029:74:21;;;;-1:-1:-1;;;5029:74:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5114:22;5139:3;:12;;5152:5;5139:19;;;;;;;;;;;;;;;;;;5114:44;;5176:5;:10;;;5188:5;:12;;;5168:33;;;;;4934:274;;;;;:::o;6395:315::-;6489:7;6527:17;;;:12;;;:17;;;;;;6577:12;6562:13;6554:36;;;;-1:-1:-1;;;6554:36:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6643:3;:12;;6667:1;6656:8;:12;6643:26;;;;;;;;;;;;;;;;;;:33;;;6636:40;;;6395:315;;;;;:::o;15509:589:14:-;15629:4;15654:15;:2;-1:-1:-1;;;;;15654:13:14;;:15::i;:::-;15649:58;;-1:-1:-1;15692:4:14;15685:11;;15649:58;15716:23;15742:246;-1:-1:-1;;;15853:12:14;:10;:12::i;:::-;15879:4;15897:7;15918:5;15758:175;;;;;;-1:-1:-1;;;;;15758:175:14;;;;;;-1:-1:-1;;;;;15758:175:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15758:175:14;;;;;;;-1:-1:-1;;;;;15758:175:14;;;;;;;;;;;15742:246;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15742:15:14;;;:246;:15;:246::i;:::-;15716:272;;15998:13;16025:10;16014:32;;;;;;;;;;;;;;;-1:-1:-1;16014:32:14;-1:-1:-1;;;;;;16064:26:14;-1:-1:-1;;;16064:26:14;;-1:-1:-1;;;15509:589:14;;;;;;:::o;4270:123:21:-;4341:4;4364:17;;;:12;;;;;:17;;;;;;:22;;;4270:123::o;2204:1512:22:-;2270:4;2407:19;;;:12;;;:19;;;;;;2441:15;;2437:1273;;2870:18;;-1:-1:-1;;2822:14:22;;;;2870:22;;;;2798:21;;2870:3;;:22;;3152;;;;;;;;;;;;;;3132:42;;3295:9;3266:3;:11;;3278:13;3266:26;;;;;;;;;;;;;;;;;;;:38;;;;3370:23;;;3412:1;3370:12;;;:23;;;;;;3396:17;;;3370:43;;3519:17;;3370:3;;3519:17;;;;;;;;;;;;;;;;;;;;;;3611:3;:12;;:19;3624:5;3611:19;;;;;;;;;;;3604:26;;;3652:4;3645:11;;;;;;;;2437:1273;3694:5;3687:12;;;;;1632:404;1695:4;1716:21;1726:3;1731:5;1716:9;:21::i;:::-;1711:319;;-1:-1:-1;1753:23:22;;;;;;;;:11;:23;;;;;;;;;;;;;1933:18;;1911:19;;;:12;;;:19;;;;;;:40;;;;1965:11;;1711:319;-1:-1:-1;2014:5:22;2007:12;;1828:678:21;1904:4;2037:17;;;:12;;;:17;;;;;;2069:13;2065:435;;-1:-1:-1;;2153:38:21;;;;;;;;;;;;;;;;;;2135:57;;;;;;;;:12;:57;;;;;;;;;;;;;;;;;;;;;;;;2347:19;;2327:17;;;:12;;;:17;;;;;;;:39;2380:11;;2065:435;2458:5;2422:3;:12;;2446:1;2435:8;:12;2422:26;;;;;;;;;;;;;;;;;;:33;;:41;;;;2484:5;2477:12;;;;;718:413:19;1078:20;1116:8;;;718:413::o;3573:193::-;3676:12;3707:52;3729:6;3737:4;3743:1;3746:12;3676;4850:18;4861:6;4850:10;:18::i;:::-;4842:60;;;;;-1:-1:-1;;;4842:60:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;4973:12;4987:23;5014:6;-1:-1:-1;;;;;5014:11:19;5034:5;5042:4;5014:33;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5014:33:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4972:75;;;;5064:52;5082:7;5091:10;5103:12;5064:17;:52::i;:::-;5057:59;4600:523;-1:-1:-1;;;;;;;4600:523:19:o;7083:725::-;7198:12;7226:7;7222:580;;;-1:-1:-1;7256:10:19;7249:17;;7222:580;7367:17;;:21;7363:429;;7625:10;7619:17;7685:15;7672:10;7668:2;7664:19;7657:44;7574:145;7757:20;;-1:-1:-1;;;7757:20:19;;;;;;;;;;;;;;;;;7764:12;;7757:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "methodIdentifiers": { "approve(address,uint256)": "095ea7b3", "balanceOf(address)": "70a08231", "baseURI()": "6c0360eb", "getApproved(uint256)": "081812fc", "isApprovedForAll(address,address)": "e985e9c5", "name()": "06fdde03", "ownerOf(uint256)": "6352211e", "safeTransferFrom(address,address,uint256)": "42842e0e", "safeTransferFrom(address,address,uint256,bytes)": "b88d4fde", "setApprovalForAll(address,bool)": "a22cb465", "supportsInterface(bytes4)": "01ffc9a7", "symbol()": "95d89b41", "tokenByIndex(uint256)": "4f6ccce7", "tokenOfOwnerByIndex(address,uint256)": "2f745c59", "tokenURI(uint256)": "c87b56dd", "totalSupply()": "18160ddd", "transferFrom(address,address,uint256)": "23b872dd" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.7.6+commit.7338295f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name_\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol_\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"baseURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"tokenByIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"tokenOfOwnerByIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"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\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"see https://eips.ethereum.org/EIPS/eip-721\",\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"See {IERC721-approve}.\"},\"balanceOf(address)\":{\"details\":\"See {IERC721-balanceOf}.\"},\"baseURI()\":{\"details\":\"Returns the base URI set via {_setBaseURI}. This will be automatically added as a prefix in {tokenURI} to each token's URI, or to the token ID if no specific URI is set for that token ID.\"},\"constructor\":{\"details\":\"Initializes the contract by setting a `name` and a `symbol` to the token collection.\"},\"getApproved(uint256)\":{\"details\":\"See {IERC721-getApproved}.\"},\"isApprovedForAll(address,address)\":{\"details\":\"See {IERC721-isApprovedForAll}.\"},\"name()\":{\"details\":\"See {IERC721Metadata-name}.\"},\"ownerOf(uint256)\":{\"details\":\"See {IERC721-ownerOf}.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"See {IERC721-safeTransferFrom}.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"See {IERC721-setApprovalForAll}.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}. Time complexity O(1), guaranteed to always use less than 30 000 gas.\"},\"symbol()\":{\"details\":\"See {IERC721Metadata-symbol}.\"},\"tokenByIndex(uint256)\":{\"details\":\"See {IERC721Enumerable-tokenByIndex}.\"},\"tokenOfOwnerByIndex(address,uint256)\":{\"details\":\"See {IERC721Enumerable-tokenOfOwnerByIndex}.\"},\"tokenURI(uint256)\":{\"details\":\"See {IERC721Metadata-tokenURI}.\"},\"totalSupply()\":{\"details\":\"See {IERC721Enumerable-totalSupply}.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC721-transferFrom}.\"}},\"title\":\"ERC721 Non-Fungible Token Standard basic implementation\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@openzeppelin-solc-0.7/contracts/token/ERC721/ERC721.sol\":\"ERC721\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"node_modules/@openzeppelin-solc-0.7/contracts/introspection/ERC165.sol\":{\"keccak256\":\"0x234cdf2c3efd5f0dc17d32fe65d33c21674ca17de1e945eb60ac1076d7152d96\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd196df6ec4549923b4581fcb4be3d05237b5221067410d0bc34cb76d4174441\",\"dweb:/ipfs/Qmf2vFVgbfpD4FvAhQXkprg9sKSX3TXKRdbQTSjJVEmzWj\"]},\"node_modules/@openzeppelin-solc-0.7/contracts/introspection/IERC165.sol\":{\"keccak256\":\"0xd2f30fad5b24c4120f96dbac83aacdb7993ee610a9092bc23c44463da292bf8d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e3d4e72409e392c7694b6405a0136cf073d8da016df33ef8f9ad195f724ebfea\",\"dweb:/ipfs/QmPGcddKq6CgsiKnxUUif2q76wRqP3dmdQ6bKuHCLmb8Wa\"]},\"node_modules/@openzeppelin-solc-0.7/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xe22a1fc7400ae196eba2ad1562d0386462b00a6363b742d55a2fd2021a58586f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4a635cec58fb4141a16cfd408f1a21ac944c335a3beaba541c35d2e95c04536f\",\"dweb:/ipfs/QmXWcz73UenN1ji8jiWMbzxHjjfLbNQwLVKTEB5zNFE34K\"]},\"node_modules/@openzeppelin-solc-0.7/contracts/token/ERC721/ERC721.sol\":{\"keccak256\":\"0x93e4f65a89c3c888afbaa3ee18c3fa4f51c422419bbcd9cca47676a0f8e507ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a9c54b2935c810e14b17d6b5d7adeb0e1733d172823f02c30e1be8729715841\",\"dweb:/ipfs/QmZGveXLQpqJQRjfeNws7mGSjxKpnfZCnKaXyH4soxDSkR\"]},\"node_modules/@openzeppelin-solc-0.7/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0xb11597841d47f7a773bca63ca323c76f804cb5d944788de0327db5526319dc82\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://930d2da1934886a1098753be4173dd89c45ca0b306a1930accd37e00b1af4aaf\",\"dweb:/ipfs/QmVSXnvEV41d43k8cfpANHoTYMKgBDBL8iCbxkLfEtQZBe\"]},\"node_modules/@openzeppelin-solc-0.7/contracts/token/ERC721/IERC721Enumerable.sol\":{\"keccak256\":\"0x2789dfea2d73182683d637db5729201f6730dae6113030a94c828f8688f38f2f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://36374eaa68c0737bf7e1ae13d55327b4868fb0825e971ee729f4b8d355ededb4\",\"dweb:/ipfs/QmYN9yuzz4P5SumiT6rgYgTEY8MhnPQapMwx2LHxRKju7r\"]},\"node_modules/@openzeppelin-solc-0.7/contracts/token/ERC721/IERC721Metadata.sol\":{\"keccak256\":\"0xc82c7d1d732081d9bd23f1555ebdf8f3bc1738bc42c2bfc4b9aa7564d9fa3573\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5cb07e4ff3352161510a0d1536fe93f3c62526358e073a8bab2a8abbb27d0da1\",\"dweb:/ipfs/QmX7K1JjnWKT1JzZT92Qx5zNJQYbssE533TLFHP88hj2fb\"]},\"node_modules/@openzeppelin-solc-0.7/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0x05604ffcf69e416b8a42728bb0e4fd75170d8fac70bf1a284afeb4752a9bc52f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8a7fd1043372336ecccdbcbcf4962c6df8958dc9c7c7f8361fc2b3dd23570cc\",\"dweb:/ipfs/QmYHKgZxnanBfu7Q8ZicVhDDuB7XRGxuwvmCjfQQ1E5j39\"]},\"node_modules/@openzeppelin-solc-0.7/contracts/utils/Address.sol\":{\"keccak256\":\"0xf89f005a3d98f7768cdee2583707db0ac725cf567d455751af32ee68132f3db3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f963d438177764b5f43f637c02311c951c0f0025d12fe1ac7e62e295bf416c41\",\"dweb:/ipfs/QmcfVb9JsWrYeTwFUJsKVHpKB7EaWBKydAH9S4sKg2pzcK\"]},\"node_modules/@openzeppelin-solc-0.7/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]},\"node_modules/@openzeppelin-solc-0.7/contracts/utils/EnumerableMap.sol\":{\"keccak256\":\"0x2114555153edb5f273008b3d34205f511db9af06b88f752e4c280dd612c4c549\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8779df50f4f716c6adaa5f61880c572abb2b37197d690d6aad32e52a32d5f382\",\"dweb:/ipfs/QmVuZMGNFEo4gm1QB55gnCwCTc7XC5npkmgdfeJUgHbMiL\"]},\"node_modules/@openzeppelin-solc-0.7/contracts/utils/EnumerableSet.sol\":{\"keccak256\":\"0x9a2c1eebb65250f0e11882237038600f22a62376f0547db4acc0dfe0a3d8d34f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ccafc1afbcbf54559beea9c029d0b7656c56a185813c5fa74c4ea3eb4b608419\",\"dweb:/ipfs/QmTKwdbenDfNwmwRVh8VKtA6mhFK2AyTFRoJF3BqLB81KM\"]},\"node_modules/@openzeppelin-solc-0.7/contracts/utils/Strings.sol\":{\"keccak256\":\"0x08e38e034333372aea8cb1b8846085b7fbab42c6b77a0af464d2c6827827c4f0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://22746e9348187309fb4fbd3f79f6ad88787103eac10f24bd18f67257fafdd8ad\",\"dweb:/ipfs/QmSLXfXg8b27Xstq58DFGvCpqgtTqpfrGbLMq19PtEKQJS\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.7.6+commit.7338295f" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "string", "name": "name_", "type": "string" }, { "internalType": "string", "name": "symbol_", "type": "string" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address", "indexed": true }, { "internalType": "address", "name": "approved", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "tokenId", "type": "uint256", "indexed": true } ], "type": "event", "name": "Approval", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address", "indexed": true }, { "internalType": "address", "name": "operator", "type": "address", "indexed": true }, { "internalType": "bool", "name": "approved", "type": "bool", "indexed": false } ], "type": "event", "name": "ApprovalForAll", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address", "indexed": true }, { "internalType": "address", "name": "to", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "tokenId", "type": "uint256", "indexed": true } ], "type": "event", "name": "Transfer", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "approve" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "baseURI", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ] }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "getApproved", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "operator", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "isApprovedForAll", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ] }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "ownerOf", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "safeTransferFrom" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" }, { "internalType": "bytes", "name": "_data", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "safeTransferFrom" }, { "inputs": [ { "internalType": "address", "name": "operator", "type": "address" }, { "internalType": "bool", "name": "approved", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function", "name": "setApprovalForAll" }, { "inputs": [ { "internalType": "bytes4", "name": "interfaceId", "type": "bytes4" } ], "stateMutability": "view", "type": "function", "name": "supportsInterface", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ] }, { "inputs": [ { "internalType": "uint256", "name": "index", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "tokenByIndex", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "uint256", "name": "index", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "tokenOfOwnerByIndex", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "tokenURI", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "transferFrom" } ], "devdoc": { "kind": "dev", "methods": { "approve(address,uint256)": { "details": "See {IERC721-approve}." }, "balanceOf(address)": { "details": "See {IERC721-balanceOf}." }, "baseURI()": { "details": "Returns the base URI set via {_setBaseURI}. This will be automatically added as a prefix in {tokenURI} to each token's URI, or to the token ID if no specific URI is set for that token ID." }, "constructor": { "details": "Initializes the contract by setting a `name` and a `symbol` to the token collection." }, "getApproved(uint256)": { "details": "See {IERC721-getApproved}." }, "isApprovedForAll(address,address)": { "details": "See {IERC721-isApprovedForAll}." }, "name()": { "details": "See {IERC721Metadata-name}." }, "ownerOf(uint256)": { "details": "See {IERC721-ownerOf}." }, "safeTransferFrom(address,address,uint256)": { "details": "See {IERC721-safeTransferFrom}." }, "safeTransferFrom(address,address,uint256,bytes)": { "details": "See {IERC721-safeTransferFrom}." }, "setApprovalForAll(address,bool)": { "details": "See {IERC721-setApprovalForAll}." }, "supportsInterface(bytes4)": { "details": "See {IERC165-supportsInterface}. Time complexity O(1), guaranteed to always use less than 30 000 gas." }, "symbol()": { "details": "See {IERC721Metadata-symbol}." }, "tokenByIndex(uint256)": { "details": "See {IERC721Enumerable-tokenByIndex}." }, "tokenOfOwnerByIndex(address,uint256)": { "details": "See {IERC721Enumerable-tokenOfOwnerByIndex}." }, "tokenURI(uint256)": { "details": "See {IERC721Metadata-tokenURI}." }, "totalSupply()": { "details": "See {IERC721Enumerable-totalSupply}." }, "transferFrom(address,address,uint256)": { "details": "See {IERC721-transferFrom}." } }, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "node_modules/@openzeppelin-solc-0.7/contracts/token/ERC721/ERC721.sol": "ERC721" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "node_modules/@openzeppelin-solc-0.7/contracts/introspection/ERC165.sol": { "keccak256": "0x234cdf2c3efd5f0dc17d32fe65d33c21674ca17de1e945eb60ac1076d7152d96", "urls": [ "bzz-raw://bd196df6ec4549923b4581fcb4be3d05237b5221067410d0bc34cb76d4174441", "dweb:/ipfs/Qmf2vFVgbfpD4FvAhQXkprg9sKSX3TXKRdbQTSjJVEmzWj" ], "license": "MIT" }, "node_modules/@openzeppelin-solc-0.7/contracts/introspection/IERC165.sol": { "keccak256": "0xd2f30fad5b24c4120f96dbac83aacdb7993ee610a9092bc23c44463da292bf8d", "urls": [ "bzz-raw://e3d4e72409e392c7694b6405a0136cf073d8da016df33ef8f9ad195f724ebfea", "dweb:/ipfs/QmPGcddKq6CgsiKnxUUif2q76wRqP3dmdQ6bKuHCLmb8Wa" ], "license": "MIT" }, "node_modules/@openzeppelin-solc-0.7/contracts/math/SafeMath.sol": { "keccak256": "0xe22a1fc7400ae196eba2ad1562d0386462b00a6363b742d55a2fd2021a58586f", "urls": [ "bzz-raw://4a635cec58fb4141a16cfd408f1a21ac944c335a3beaba541c35d2e95c04536f", "dweb:/ipfs/QmXWcz73UenN1ji8jiWMbzxHjjfLbNQwLVKTEB5zNFE34K" ], "license": "MIT" }, "node_modules/@openzeppelin-solc-0.7/contracts/token/ERC721/ERC721.sol": { "keccak256": "0x93e4f65a89c3c888afbaa3ee18c3fa4f51c422419bbcd9cca47676a0f8e507ea", "urls": [ "bzz-raw://1a9c54b2935c810e14b17d6b5d7adeb0e1733d172823f02c30e1be8729715841", "dweb:/ipfs/QmZGveXLQpqJQRjfeNws7mGSjxKpnfZCnKaXyH4soxDSkR" ], "license": "MIT" }, "node_modules/@openzeppelin-solc-0.7/contracts/token/ERC721/IERC721.sol": { "keccak256": "0xb11597841d47f7a773bca63ca323c76f804cb5d944788de0327db5526319dc82", "urls": [ "bzz-raw://930d2da1934886a1098753be4173dd89c45ca0b306a1930accd37e00b1af4aaf", "dweb:/ipfs/QmVSXnvEV41d43k8cfpANHoTYMKgBDBL8iCbxkLfEtQZBe" ], "license": "MIT" }, "node_modules/@openzeppelin-solc-0.7/contracts/token/ERC721/IERC721Enumerable.sol": { "keccak256": "0x2789dfea2d73182683d637db5729201f6730dae6113030a94c828f8688f38f2f", "urls": [ "bzz-raw://36374eaa68c0737bf7e1ae13d55327b4868fb0825e971ee729f4b8d355ededb4", "dweb:/ipfs/QmYN9yuzz4P5SumiT6rgYgTEY8MhnPQapMwx2LHxRKju7r" ], "license": "MIT" }, "node_modules/@openzeppelin-solc-0.7/contracts/token/ERC721/IERC721Metadata.sol": { "keccak256": "0xc82c7d1d732081d9bd23f1555ebdf8f3bc1738bc42c2bfc4b9aa7564d9fa3573", "urls": [ "bzz-raw://5cb07e4ff3352161510a0d1536fe93f3c62526358e073a8bab2a8abbb27d0da1", "dweb:/ipfs/QmX7K1JjnWKT1JzZT92Qx5zNJQYbssE533TLFHP88hj2fb" ], "license": "MIT" }, "node_modules/@openzeppelin-solc-0.7/contracts/token/ERC721/IERC721Receiver.sol": { "keccak256": "0x05604ffcf69e416b8a42728bb0e4fd75170d8fac70bf1a284afeb4752a9bc52f", "urls": [ "bzz-raw://a8a7fd1043372336ecccdbcbcf4962c6df8958dc9c7c7f8361fc2b3dd23570cc", "dweb:/ipfs/QmYHKgZxnanBfu7Q8ZicVhDDuB7XRGxuwvmCjfQQ1E5j39" ], "license": "MIT" }, "node_modules/@openzeppelin-solc-0.7/contracts/utils/Address.sol": { "keccak256": "0xf89f005a3d98f7768cdee2583707db0ac725cf567d455751af32ee68132f3db3", "urls": [ "bzz-raw://f963d438177764b5f43f637c02311c951c0f0025d12fe1ac7e62e295bf416c41", "dweb:/ipfs/QmcfVb9JsWrYeTwFUJsKVHpKB7EaWBKydAH9S4sKg2pzcK" ], "license": "MIT" }, "node_modules/@openzeppelin-solc-0.7/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" }, "node_modules/@openzeppelin-solc-0.7/contracts/utils/EnumerableMap.sol": { "keccak256": "0x2114555153edb5f273008b3d34205f511db9af06b88f752e4c280dd612c4c549", "urls": [ "bzz-raw://8779df50f4f716c6adaa5f61880c572abb2b37197d690d6aad32e52a32d5f382", "dweb:/ipfs/QmVuZMGNFEo4gm1QB55gnCwCTc7XC5npkmgdfeJUgHbMiL" ], "license": "MIT" }, "node_modules/@openzeppelin-solc-0.7/contracts/utils/EnumerableSet.sol": { "keccak256": "0x9a2c1eebb65250f0e11882237038600f22a62376f0547db4acc0dfe0a3d8d34f", "urls": [ "bzz-raw://ccafc1afbcbf54559beea9c029d0b7656c56a185813c5fa74c4ea3eb4b608419", "dweb:/ipfs/QmTKwdbenDfNwmwRVh8VKtA6mhFK2AyTFRoJF3BqLB81KM" ], "license": "MIT" }, "node_modules/@openzeppelin-solc-0.7/contracts/utils/Strings.sol": { "keccak256": "0x08e38e034333372aea8cb1b8846085b7fbab42c6b77a0af464d2c6827827c4f0", "urls": [ "bzz-raw://22746e9348187309fb4fbd3f79f6ad88787103eac10f24bd18f67257fafdd8ad", "dweb:/ipfs/QmSLXfXg8b27Xstq58DFGvCpqgtTqpfrGbLMq19PtEKQJS" ], "license": "MIT" } }, "version": 1 }, "id": 14 } diff --git a/eth_defi/abi/enzyme/EntranceRateBurnFee.json b/eth_defi/abi/enzyme/EntranceRateBurnFee.json index 7f331ccf..d48952f1 100644 --- a/eth_defi/abi/enzyme/EntranceRateBurnFee.json +++ b/eth_defi/abi/enzyme/EntranceRateBurnFee.json @@ -1,871 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_feeManager", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "comptrollerProxy", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "rate", - "type": "uint256" - } - ], - "name": "FundSettingsAdded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "comptrollerProxy", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "payer", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "sharesQuantity", - "type": "uint256" - } - ], - "name": "Settled", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "activateForFund", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_settingsData", - "type": "bytes" - } - ], - "name": "addFundSettings", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getFeeManager", - "outputs": [ - { - "internalType": "address", - "name": "feeManager_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - } - ], - "name": "getRateForFund", - "outputs": [ - { - "internalType": "uint256", - "name": "rate_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "getRecipientForFund", - "outputs": [ - { - "internalType": "address", - "name": "recipient_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getSettlementType", - "outputs": [ - { - "internalType": "enum IFeeManager.SettlementType", - "name": "settlementType_", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "payout", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "enum IFeeManager.FeeHook", - "name": "", - "type": "uint8" - }, - { - "internalType": "bytes", - "name": "_settlementData", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "settle", - "outputs": [ - { - "internalType": "enum IFeeManager.SettlementType", - "name": "settlementType_", - "type": "uint8" - }, - { - "internalType": "address", - "name": "payer_", - "type": "address" - }, - { - "internalType": "uint256", - "name": "sharesDue_", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "enum IFeeManager.FeeHook", - "name": "_hook", - "type": "uint8" - } - ], - "name": "settlesOnHook", - "outputs": [ - { - "internalType": "bool", - "name": "settles_", - "type": "bool" - }, - { - "internalType": "bool", - "name": "usesGav_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "enum IFeeManager.FeeHook", - "name": "", - "type": "uint8" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "update", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "enum IFeeManager.FeeHook", - "name": "", - "type": "uint8" - } - ], - "name": "updatesOnHook", - "outputs": [ - { - "internalType": "bool", - "name": "updates_", - "type": "bool" - }, - { - "internalType": "bool", - "name": "usesGav_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x60c060405234801561001057600080fd5b5060405161099c38038061099c8339818101604052602081101561003357600080fd5b50516001600160601b0319606082901b16608052600360f81b60a0526001600160a01b03166003610916610086600039806106ef528061072752508061040f52806105b6528061075c52506109166000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c806341892d7e1161007157806341892d7e1461026457806362780b3c1461032f5780637bdd5b1d14610371578063b78b48131461039a578063e337a91f146103dc578063f2d63826146103fc576100a9565b80630f5f6b4f146100ae578063233faf5f146101305780633146d058146101c3578063320f0ddd146101f15780633eecc2bf1461022c575b600080fd5b61012e600480360360408110156100c457600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156100ef57600080fd5b82018360208201111561010157600080fd5b8035906020019184600183028401116401000000008311171561012357600080fd5b509092509050610404565b005b61012e600480360360a081101561014657600080fd5b6001600160a01b03823581169260208101359091169160ff604083013516919081019060808101606082013564010000000081111561018457600080fd5b82018360208201111561019657600080fd5b803590602001918460018302840111640100000000831117156101b857600080fd5b919350915035610551565b61012e600480360360408110156101d957600080fd5b506001600160a01b0381358116916020013516610559565b6102116004803603602081101561020757600080fd5b503560ff1661055d565b60408051921515835290151560208301528051918290030190f35b6102526004803603602081101561024257600080fd5b50356001600160a01b031661058c565b60408051918252519081900360200190f35b6102f7600480360360a081101561027a57600080fd5b6001600160a01b03823581169260208101359091169160ff60408301351691908101906080810160608201356401000000008111156102b857600080fd5b8201836020820111156102ca57600080fd5b803590602001918460018302840111640100000000831117156102ec57600080fd5b9193509150356105a7565b6040518084600581111561030757fe5b8152602001836001600160a01b03168152602001828152602001935050505060405180910390f35b6103556004803603602081101561034557600080fd5b50356001600160a01b031661071f565b604080516001600160a01b039092168252519081900360200190f35b610379610725565b6040518082600581111561038957fe5b815260200191505060405180910390f35b6103c8600480360360408110156103b057600080fd5b506001600160a01b0381358116916020013516610749565b604080519115158252519081900360200190f35b610211600480360360208110156103f257600080fd5b503560ff16610752565b61035561075a565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461046b5760405162461bcd60e51b815260040180806020018281038252602581526020018061087a6025913960400191505060405180910390fd5b60008282602081101561047d57600080fd5b50359050806104bd5760405162461bcd60e51b81526004018080602001828103825260248152602001806108e66024913960400191505060405180910390fd5b61271081106104fd5760405162461bcd60e51b81526004018080602001828103825260268152602001806108c06026913960400191505060405180910390fd5b6001600160a01b03841660008181526020818152604091829020849055815184815291517f90b7d1516011c1da1279f3ae0ed052b1416e7c373d4ec40cf515aa53c5f839df9281900390910190a250505050565b505050505050565b5050565b600080600283600381111561056e57fe5b14156105805750600190506000610587565b5060009050805b915091565b6001600160a01b031660009081526020819052604090205490565b60008080336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106125760405162461bcd60e51b815260040180806020018281038252602581526020018061087a6025913960400191505060405180910390fd5b600061065387878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061077e92505050565b6001600160a01b038d166000908152602081905260409020549295509250610689905061271061068384846107b2565b90610812565b9250826106a25760008060009450945094505050610713565b836001600160a01b03168b6001600160a01b03167f7e79a2206061184e05985ae0578dec52f817756a441996f984cdc817efc25a68856040518082815260200191505060405180910390a37f0000000000000000000000000000000000000000000000000000000000000000945050505b96509650969350505050565b50600090565b7f000000000000000000000000000000000000000000000000000000000000000090565b60005b92915050565b600080915091565b7f000000000000000000000000000000000000000000000000000000000000000090565b600080600083806020019051606081101561079857600080fd5b508051602082015160409092015190969195509350915050565b6000826107c15750600061074c565b828202828482816107ce57fe5b041461080b5760405162461bcd60e51b815260040180806020018281038252602181526020018061089f6021913960400191505060405180910390fd5b9392505050565b6000808211610868576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b81838161087157fe5b04939250505056fe4f6e6c7920746865204665654d616e6765722063616e206d616b6520746869732063616c6c536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7761646446756e6453657474696e67733a204665652072617465206d617820657863656564656461646446756e6453657474696e67733a204665652072617465206d757374206265203e30a164736f6c634300060c000a", - "sourceMap": "473:188:145:-:0;;;531:128;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;531:128:145;-1:-1:-1;;;;;;705:25:154;;;;;;;-1:-1:-1;;;1352:33:152::1;::::0;-1:-1:-1;;;;;473:188:145;620:31;473:188;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106100a95760003560e01c806341892d7e1161007157806341892d7e1461026457806362780b3c1461032f5780637bdd5b1d14610371578063b78b48131461039a578063e337a91f146103dc578063f2d63826146103fc576100a9565b80630f5f6b4f146100ae578063233faf5f146101305780633146d058146101c3578063320f0ddd146101f15780633eecc2bf1461022c575b600080fd5b61012e600480360360408110156100c457600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156100ef57600080fd5b82018360208201111561010157600080fd5b8035906020019184600183028401116401000000008311171561012357600080fd5b509092509050610404565b005b61012e600480360360a081101561014657600080fd5b6001600160a01b03823581169260208101359091169160ff604083013516919081019060808101606082013564010000000081111561018457600080fd5b82018360208201111561019657600080fd5b803590602001918460018302840111640100000000831117156101b857600080fd5b919350915035610551565b61012e600480360360408110156101d957600080fd5b506001600160a01b0381358116916020013516610559565b6102116004803603602081101561020757600080fd5b503560ff1661055d565b60408051921515835290151560208301528051918290030190f35b6102526004803603602081101561024257600080fd5b50356001600160a01b031661058c565b60408051918252519081900360200190f35b6102f7600480360360a081101561027a57600080fd5b6001600160a01b03823581169260208101359091169160ff60408301351691908101906080810160608201356401000000008111156102b857600080fd5b8201836020820111156102ca57600080fd5b803590602001918460018302840111640100000000831117156102ec57600080fd5b9193509150356105a7565b6040518084600581111561030757fe5b8152602001836001600160a01b03168152602001828152602001935050505060405180910390f35b6103556004803603602081101561034557600080fd5b50356001600160a01b031661071f565b604080516001600160a01b039092168252519081900360200190f35b610379610725565b6040518082600581111561038957fe5b815260200191505060405180910390f35b6103c8600480360360408110156103b057600080fd5b506001600160a01b0381358116916020013516610749565b604080519115158252519081900360200190f35b610211600480360360208110156103f257600080fd5b503560ff16610752565b61035561075a565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461046b5760405162461bcd60e51b815260040180806020018281038252602581526020018061087a6025913960400191505060405180910390fd5b60008282602081101561047d57600080fd5b50359050806104bd5760405162461bcd60e51b81526004018080602001828103825260248152602001806108e66024913960400191505060405180910390fd5b61271081106104fd5760405162461bcd60e51b81526004018080602001828103825260268152602001806108c06026913960400191505060405180910390fd5b6001600160a01b03841660008181526020818152604091829020849055815184815291517f90b7d1516011c1da1279f3ae0ed052b1416e7c373d4ec40cf515aa53c5f839df9281900390910190a250505050565b505050505050565b5050565b600080600283600381111561056e57fe5b14156105805750600190506000610587565b5060009050805b915091565b6001600160a01b031660009081526020819052604090205490565b60008080336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106125760405162461bcd60e51b815260040180806020018281038252602581526020018061087a6025913960400191505060405180910390fd5b600061065387878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061077e92505050565b6001600160a01b038d166000908152602081905260409020549295509250610689905061271061068384846107b2565b90610812565b9250826106a25760008060009450945094505050610713565b836001600160a01b03168b6001600160a01b03167f7e79a2206061184e05985ae0578dec52f817756a441996f984cdc817efc25a68856040518082815260200191505060405180910390a37f0000000000000000000000000000000000000000000000000000000000000000945050505b96509650969350505050565b50600090565b7f000000000000000000000000000000000000000000000000000000000000000090565b60005b92915050565b600080915091565b7f000000000000000000000000000000000000000000000000000000000000000090565b600080600083806020019051606081101561079857600080fd5b508051602082015160409092015190969195509350915050565b6000826107c15750600061074c565b828202828482816107ce57fe5b041461080b5760405162461bcd60e51b815260040180806020018281038252602181526020018061089f6021913960400191505060405180910390fd5b9392505050565b6000808211610868576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b81838161087157fe5b04939250505056fe4f6e6c7920746865204665654d616e6765722063616e206d616b6520746869732063616c6c536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7761646446756e6453657474696e67733a204665652072617465206d617820657863656564656461646446756e6453657474696e67733a204665652072617465206d757374206265203e30a164736f6c634300060c000a", - "sourceMap": "473:188:145:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1624:496:152;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1624:496:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1624:496:152;;-1:-1:-1;1624:496:152;-1:-1:-1;1624:496:152;:::i;:::-;;1755:175:154;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1755:175:154;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1755:175:154;-1:-1:-1;1755:175:154;;:::i;862:92::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;862:92:154;;;;;;;;;;:::i;3578:289:152:-;;;;;;;;;;;;;;;;-1:-1:-1;3578:289:152;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;4122:154;;;;;;;;;;;;;;;;-1:-1:-1;4122:154:152;-1:-1:-1;;;;;4122:154:152;;:::i;:::-;;;;;;;;;;;;;;;;2459:855;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2459:855:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2459:855:152;-1:-1:-1;2459:855:152;;:::i;:::-;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2459:855:152;;;;;;;;;;;;;;;;;;;;;;1144:176:154;;;;;;;;;;;;;;;;-1:-1:-1;1144:176:154;-1:-1:-1;;;;;1144:176:154;;:::i;:::-;;;;-1:-1:-1;;;;;1144:176:154;;;;;;;;;;;;;;4403:163:152;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;1490:104:154;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1490:104:154;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;2232:196;;;;;;;;;;;;;;;;-1:-1:-1;2232:196:154;;;;:::i;3806:104::-;;;:::i;1624:496:152:-;564:10:154;-1:-1:-1;;;;;578:11:154;564:25;;556:75;;;;-1:-1:-1;;;556:75:154;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1791:12:152::1;1817:13;;1806:36;;;;;;;::::0;::::1;;-1:-1:-1::0;1806:36:152::1;::::0;-1:-1:-1;1860:8:152;1852:57:::1;;;;-1:-1:-1::0;;;1852:57:152::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;859:5;1927:4;:26;1919:77;;;;-1:-1:-1::0;;;1919:77:152::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;2007:41:152;::::1;:22;:41:::0;;;::::1;::::0;;;;;;;;:48;;;2071:42;;;;;;;::::1;::::0;;;;;;;;::::1;641:1:154;1624:496:152::0;;;:::o;1755:175:154:-;;;;;;;:::o;862:92::-;;;:::o;3578:289:152:-;3692:13;;3749:33;3740:5;:42;;;;;;;;;3736:93;;;-1:-1:-1;3806:4:152;;-1:-1:-1;3812:5:152;3798:20;;3736:93;-1:-1:-1;3847:5:152;;-1:-1:-1;3847:5:152;3578:289;;;;:::o;4122:154::-;-1:-1:-1;;;;;4228:41:152;4196:13;4228:41;;;;;;;;;;;;4122:154::o;2459:855::-;2706:42;;;564:10:154;-1:-1:-1;;;;;578:11:154;564:25;;556:75;;;;-1:-1:-1;;;556:75:154;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2833:20:152::1;2890:52;2926:15;;2890:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;2890:35:152::1;::::0;-1:-1:-1;;;2890:52:152:i:1;:::-;-1:-1:-1::0;;;;;2968:41:152;::::1;2953:12;2968:41:::0;;;::::1;::::0;;;;;;;2863:79;;-1:-1:-1;2863:79:152;-1:-1:-1;3032:47:152::1;::::0;-1:-1:-1;859:5:152::1;3032:22;2863:79:::0;2968:41;3032:16:::1;:22::i;:::-;:26:::0;::::1;:47::i;:::-;3019:60:::0;-1:-1:-1;3094:15:152;3090:101:::1;;3133:31;3174:1:::0;3178::::1;3125:55;;;;;;;;;;3090:101;3233:6;-1:-1:-1::0;;;;;3206:46:152::1;3214:17;-1:-1:-1::0;;;;;3206:46:152::1;;3241:10;3206:46;;;;;;;;;;;;;;;;;;3271:15;3263:44;;;;641:1:154;2459:855:152::0;;;;;;;;;;:::o;1144:176:154:-;-1:-1:-1;1262:18:154;;1144:176::o;4403:163:152:-;4544:15;4403:163;:::o;1490:104:154:-;1559:4;1490:104;;;;;:::o;2232:196::-;2356:13;;2232:196;;;:::o;3806:104::-;3892:11;3806:104;:::o;3300:318::-;3435:14;3463:25;3502:21;3566:15;3555:56;;;;;;;;;;;;;;;-1:-1:-1;3555:56:154;;;;;;;;;;;;;;;-1:-1:-1;3555:56:154;-1:-1:-1;3300:318:154;-1:-1:-1;;3300:318:154:o;3538:215:442:-;3596:7;3619:6;3615:20;;-1:-1:-1;3634:1:442;3627:8;;3615:20;3657:5;;;3661:1;3657;:5;:1;3680:5;;;;;:10;3672:56;;;;-1:-1:-1;;;3672:56:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3745:1;3538:215;-1:-1:-1;;;3538:215:442:o;4217:150::-;4275:7;4306:1;4302;:5;4294:44;;;;;-1:-1:-1;;;4294:44:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;4359:1;4355;:5;;;;;;;4217:150;-1:-1:-1;;;4217:150:442:o", - "linkReferences": {}, - "immutableReferences": { - "39922": [ - { - "start": 1775, - "length": 32 - }, - { - "start": 1831, - "length": 32 - } - ], - "40426": [ - { - "start": 1039, - "length": 32 - }, - { - "start": 1462, - "length": 32 - }, - { - "start": 1884, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "activateForFund(address,address)": "3146d058", - "addFundSettings(address,bytes)": "0f5f6b4f", - "getFeeManager()": "f2d63826", - "getRateForFund(address)": "3eecc2bf", - "getRecipientForFund(address)": "62780b3c", - "getSettlementType()": "7bdd5b1d", - "payout(address,address)": "b78b4813", - "settle(address,address,uint8,bytes,uint256)": "41892d7e", - "settlesOnHook(uint8)": "320f0ddd", - "update(address,address,uint8,bytes,uint256)": "233faf5f", - "updatesOnHook(uint8)": "e337a91f" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_feeManager\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"rate\",\"type\":\"uint256\"}],\"name\":\"FundSettingsAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"payer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"sharesQuantity\",\"type\":\"uint256\"}],\"name\":\"Settled\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"activateForFund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_settingsData\",\"type\":\"bytes\"}],\"name\":\"addFundSettings\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFeeManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"feeManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"}],\"name\":\"getRateForFund\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"rate_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"getRecipientForFund\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"recipient_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getSettlementType\",\"outputs\":[{\"internalType\":\"enum IFeeManager.SettlementType\",\"name\":\"settlementType_\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"payout\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"enum IFeeManager.FeeHook\",\"name\":\"\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"_settlementData\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"settle\",\"outputs\":[{\"internalType\":\"enum IFeeManager.SettlementType\",\"name\":\"settlementType_\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"payer_\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"sharesDue_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IFeeManager.FeeHook\",\"name\":\"_hook\",\"type\":\"uint8\"}],\"name\":\"settlesOnHook\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"settles_\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"usesGav_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"enum IFeeManager.FeeHook\",\"name\":\"\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"update\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IFeeManager.FeeHook\",\"name\":\"\",\"type\":\"uint8\"}],\"name\":\"updatesOnHook\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"updates_\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"usesGav_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"activateForFund(address,address)\":{\"details\":\"Unimplemented by default, may be overrode.\"},\"addFundSettings(address,bytes)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\",\"_settingsData\":\"Encoded settings to apply to the fee for a fund\"}},\"getFeeManager()\":{\"returns\":{\"feeManager_\":\"The `FEE_MANAGER` variable value\"}},\"getRateForFund(address)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy contract for the fund\"},\"returns\":{\"rate_\":\"The `rate` variable value\"}},\"getRecipientForFund(address)\":{\"details\":\"address(0) signifies the VaultProxy owner. Returns address(0) by default, can be overridden by fee.\"},\"getSettlementType()\":{\"returns\":{\"settlementType_\":\"The `SETTLEMENT_TYPE` variable value\"}},\"payout(address,address)\":{\"details\":\"Returns false by default, can be overridden by fee\"},\"settle(address,address,uint8,bytes,uint256)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\",\"_settlementData\":\"Encoded args to use in calculating the settlement\"},\"returns\":{\"payer_\":\"The payer of shares due\",\"settlementType_\":\"The type of settlement\",\"sharesDue_\":\"The amount of shares due\"}},\"settlesOnHook(uint8)\":{\"params\":{\"_hook\":\"The FeeHook\"},\"returns\":{\"settles_\":\"True if the fee settles on the _hook\",\"usesGav_\":\"True if the fee uses GAV during settle() for the _hook\"}},\"update(address,address,uint8,bytes,uint256)\":{\"details\":\"Unimplemented by default, can be overridden by fee\"},\"updatesOnHook(uint8)\":{\"details\":\"Returns false values by default, can be overridden by fee\",\"returns\":{\"updates_\":\"True if the fee updates on the _hook\",\"usesGav_\":\"True if the fee uses GAV during update() for the _hook\"}}},\"title\":\"EntranceRateBurnFee Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"activateForFund(address,address)\":{\"notice\":\"Allows Fee to run logic during fund activation\"},\"addFundSettings(address,bytes)\":{\"notice\":\"Add the initial fee settings for a fund\"},\"getFeeManager()\":{\"notice\":\"Gets the `FEE_MANAGER` variable\"},\"getRateForFund(address)\":{\"notice\":\"Gets the `rate` variable for a fund\"},\"getRecipientForFund(address)\":{\"notice\":\"Gets the recipient of the fee for a given fund\"},\"getSettlementType()\":{\"notice\":\"Gets the `SETTLEMENT_TYPE` variable\"},\"payout(address,address)\":{\"notice\":\"Runs payout logic for a fee that utilizes shares outstanding as its settlement type\"},\"settle(address,address,uint8,bytes,uint256)\":{\"notice\":\"Settles the fee\"},\"settlesOnHook(uint8)\":{\"notice\":\"Gets whether the fee settles and requires GAV on a particular hook\"},\"update(address,address,uint8,bytes,uint256)\":{\"notice\":\"Update fee state after all settlement has occurred during a given fee hook\"},\"updatesOnHook(uint8)\":{\"notice\":\"Gets whether the fee updates and requires GAV on a particular hook\"}},\"notice\":\"An EntranceRateFee that burns the fee shares\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/fee-manager/fees/EntranceRateBurnFee.sol\":\"EntranceRateBurnFee\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/fee-manager/IFee.sol\":{\"keccak256\":\"0x38e3f324c67f3205e38197165586ea82ca226069902f34214bcde76cf905fcff\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c1fff656d1bdde3324421bc9e77cbfc4e80baf4e665f8713fdb65611b046f4b0\",\"dweb:/ipfs/QmVRFjNwmsVHdh4sp3DWdL74VWmhRhPZE5kDxJiuPL8Gu2\"]},\"contracts/release/extensions/fee-manager/IFeeManager.sol\":{\"keccak256\":\"0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22\",\"dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod\"]},\"contracts/release/extensions/fee-manager/fees/EntranceRateBurnFee.sol\":{\"keccak256\":\"0x6e662db86d34fb44976689f10475c414d15b29b2f207cec10204e080b64efd87\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5ede5d357a3de55d99f6c52dc6941a85ebdeb2df681c49c2db870c235b742875\",\"dweb:/ipfs/QmSCQxHYhMMa32LjsrX1WzoTR534XsWQxYe7cjZvxx7n9L\"]},\"contracts/release/extensions/fee-manager/fees/utils/EntranceRateFeeBase.sol\":{\"keccak256\":\"0xf12110b2c9f9763f15185fc7939d6e581f30a99b1f55c84d727838add42d262a\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6455aa6dbfaec13da1564632c2ca94ebcebc0a8a131bd0a11c208acb46925137\",\"dweb:/ipfs/QmbyQx6m7HdkH4vhdynqEQNvB8sUQDyAuRCY8jKCgsLQCm\"]},\"contracts/release/extensions/fee-manager/fees/utils/FeeBase.sol\":{\"keccak256\":\"0x485c03e3088b6dc9828d2e895cce6856501448b4a2c71a0acae4e012bc644b14\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b63aef3cd20eb4dd585632c74619235ef1d5c3c2c52fd61f8802d0a50569b767\",\"dweb:/ipfs/QmSuTYChj2j8NnLYCg47feAJ5P9NheQpK46fG6fhmMtimA\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_feeManager", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "comptrollerProxy", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "rate", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "FundSettingsAdded", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "comptrollerProxy", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "payer", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "sharesQuantity", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "Settled", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "activateForFund" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_settingsData", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "addFundSettings" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getFeeManager", - "outputs": [ - { - "internalType": "address", - "name": "feeManager_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getRateForFund", - "outputs": [ - { - "internalType": "uint256", - "name": "rate_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getRecipientForFund", - "outputs": [ - { - "internalType": "address", - "name": "recipient_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getSettlementType", - "outputs": [ - { - "internalType": "enum IFeeManager.SettlementType", - "name": "settlementType_", - "type": "uint8" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "payout", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "enum IFeeManager.FeeHook", - "name": "", - "type": "uint8" - }, - { - "internalType": "bytes", - "name": "_settlementData", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "settle", - "outputs": [ - { - "internalType": "enum IFeeManager.SettlementType", - "name": "settlementType_", - "type": "uint8" - }, - { - "internalType": "address", - "name": "payer_", - "type": "address" - }, - { - "internalType": "uint256", - "name": "sharesDue_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "enum IFeeManager.FeeHook", - "name": "_hook", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function", - "name": "settlesOnHook", - "outputs": [ - { - "internalType": "bool", - "name": "settles_", - "type": "bool" - }, - { - "internalType": "bool", - "name": "usesGav_", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "enum IFeeManager.FeeHook", - "name": "", - "type": "uint8" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "update" - }, - { - "inputs": [ - { - "internalType": "enum IFeeManager.FeeHook", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function", - "name": "updatesOnHook", - "outputs": [ - { - "internalType": "bool", - "name": "updates_", - "type": "bool" - }, - { - "internalType": "bool", - "name": "usesGav_", - "type": "bool" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "activateForFund(address,address)": { - "details": "Unimplemented by default, may be overrode." - }, - "addFundSettings(address,bytes)": { - "params": { - "_comptrollerProxy": "The ComptrollerProxy of the fund", - "_settingsData": "Encoded settings to apply to the fee for a fund" - } - }, - "getFeeManager()": { - "returns": { - "feeManager_": "The `FEE_MANAGER` variable value" - } - }, - "getRateForFund(address)": { - "params": { - "_comptrollerProxy": "The ComptrollerProxy contract for the fund" - }, - "returns": { - "rate_": "The `rate` variable value" - } - }, - "getRecipientForFund(address)": { - "details": "address(0) signifies the VaultProxy owner. Returns address(0) by default, can be overridden by fee." - }, - "getSettlementType()": { - "returns": { - "settlementType_": "The `SETTLEMENT_TYPE` variable value" - } - }, - "payout(address,address)": { - "details": "Returns false by default, can be overridden by fee" - }, - "settle(address,address,uint8,bytes,uint256)": { - "params": { - "_comptrollerProxy": "The ComptrollerProxy of the fund", - "_settlementData": "Encoded args to use in calculating the settlement" - }, - "returns": { - "payer_": "The payer of shares due", - "settlementType_": "The type of settlement", - "sharesDue_": "The amount of shares due" - } - }, - "settlesOnHook(uint8)": { - "params": { - "_hook": "The FeeHook" - }, - "returns": { - "settles_": "True if the fee settles on the _hook", - "usesGav_": "True if the fee uses GAV during settle() for the _hook" - } - }, - "update(address,address,uint8,bytes,uint256)": { - "details": "Unimplemented by default, can be overridden by fee" - }, - "updatesOnHook(uint8)": { - "details": "Returns false values by default, can be overridden by fee", - "returns": { - "updates_": "True if the fee updates on the _hook", - "usesGav_": "True if the fee uses GAV during update() for the _hook" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "activateForFund(address,address)": { - "notice": "Allows Fee to run logic during fund activation" - }, - "addFundSettings(address,bytes)": { - "notice": "Add the initial fee settings for a fund" - }, - "getFeeManager()": { - "notice": "Gets the `FEE_MANAGER` variable" - }, - "getRateForFund(address)": { - "notice": "Gets the `rate` variable for a fund" - }, - "getRecipientForFund(address)": { - "notice": "Gets the recipient of the fee for a given fund" - }, - "getSettlementType()": { - "notice": "Gets the `SETTLEMENT_TYPE` variable" - }, - "payout(address,address)": { - "notice": "Runs payout logic for a fee that utilizes shares outstanding as its settlement type" - }, - "settle(address,address,uint8,bytes,uint256)": { - "notice": "Settles the fee" - }, - "settlesOnHook(uint8)": { - "notice": "Gets whether the fee settles and requires GAV on a particular hook" - }, - "update(address,address,uint8,bytes,uint256)": { - "notice": "Update fee state after all settlement has occurred during a given fee hook" - }, - "updatesOnHook(uint8)": { - "notice": "Gets whether the fee updates and requires GAV on a particular hook" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/fee-manager/fees/EntranceRateBurnFee.sol": "EntranceRateBurnFee" - }, - "libraries": {} - }, - "sources": { - "contracts/release/extensions/fee-manager/IFee.sol": { - "keccak256": "0x38e3f324c67f3205e38197165586ea82ca226069902f34214bcde76cf905fcff", - "urls": [ - "bzz-raw://c1fff656d1bdde3324421bc9e77cbfc4e80baf4e665f8713fdb65611b046f4b0", - "dweb:/ipfs/QmVRFjNwmsVHdh4sp3DWdL74VWmhRhPZE5kDxJiuPL8Gu2" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/fee-manager/IFeeManager.sol": { - "keccak256": "0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51", - "urls": [ - "bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22", - "dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/fee-manager/fees/EntranceRateBurnFee.sol": { - "keccak256": "0x6e662db86d34fb44976689f10475c414d15b29b2f207cec10204e080b64efd87", - "urls": [ - "bzz-raw://5ede5d357a3de55d99f6c52dc6941a85ebdeb2df681c49c2db870c235b742875", - "dweb:/ipfs/QmSCQxHYhMMa32LjsrX1WzoTR534XsWQxYe7cjZvxx7n9L" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/fee-manager/fees/utils/EntranceRateFeeBase.sol": { - "keccak256": "0xf12110b2c9f9763f15185fc7939d6e581f30a99b1f55c84d727838add42d262a", - "urls": [ - "bzz-raw://6455aa6dbfaec13da1564632c2ca94ebcebc0a8a131bd0a11c208acb46925137", - "dweb:/ipfs/QmbyQx6m7HdkH4vhdynqEQNvB8sUQDyAuRCY8jKCgsLQCm" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/fee-manager/fees/utils/FeeBase.sol": { - "keccak256": "0x485c03e3088b6dc9828d2e895cce6856501448b4a2c71a0acae4e012bc644b14", - "urls": [ - "bzz-raw://b63aef3cd20eb4dd585632c74619235ef1d5c3c2c52fd61f8802d0a50569b767", - "dweb:/ipfs/QmSuTYChj2j8NnLYCg47feAJ5P9NheQpK46fG6fhmMtimA" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 145 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_feeManager", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "activateForFund", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "addFundSettings", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" }, { "name": "_settingsData", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "getFeeManager", "inputs": [], "outputs": [ { "name": "feeManager_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getRateForFund", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "rate_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "getRecipientForFund", "inputs": [ { "name": "", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "recipient_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getSettlementType", "inputs": [], "outputs": [ { "name": "settlementType_", "type": "uint8", "internalType": "enum IFeeManager.SettlementType" } ], "stateMutability": "view" }, { "type": "function", "name": "payout", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "settle", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" }, { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "uint8", "internalType": "enum IFeeManager.FeeHook" }, { "name": "_settlementData", "type": "bytes", "internalType": "bytes" }, { "name": "", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "settlementType_", "type": "uint8", "internalType": "enum IFeeManager.SettlementType" }, { "name": "payer_", "type": "address", "internalType": "address" }, { "name": "sharesDue_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "settlesOnHook", "inputs": [ { "name": "_hook", "type": "uint8", "internalType": "enum IFeeManager.FeeHook" } ], "outputs": [ { "name": "settles_", "type": "bool", "internalType": "bool" }, { "name": "usesGav_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "update", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "uint8", "internalType": "enum IFeeManager.FeeHook" }, { "name": "", "type": "bytes", "internalType": "bytes" }, { "name": "", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "updatesOnHook", "inputs": [ { "name": "", "type": "uint8", "internalType": "enum IFeeManager.FeeHook" } ], "outputs": [ { "name": "updates_", "type": "bool", "internalType": "bool" }, { "name": "usesGav_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "event", "name": "FundSettingsAdded", "inputs": [ { "name": "comptrollerProxy", "type": "address", "indexed": true, "internalType": "address" }, { "name": "rate", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "Settled", "inputs": [ { "name": "comptrollerProxy", "type": "address", "indexed": true, "internalType": "address" }, { "name": "payer", "type": "address", "indexed": true, "internalType": "address" }, { "name": "sharesQuantity", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false } ], "bytecode": { "object": "0x60c060405234801561001057600080fd5b5060405161099c38038061099c8339818101604052602081101561003357600080fd5b50516001600160601b0319606082901b16608052600360f81b60a0526001600160a01b03166003610916610086600039806106ef528061072752508061040f52806105b6528061075c52506109166000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c806341892d7e1161007157806341892d7e1461026457806362780b3c1461032f5780637bdd5b1d14610371578063b78b48131461039a578063e337a91f146103dc578063f2d63826146103fc576100a9565b80630f5f6b4f146100ae578063233faf5f146101305780633146d058146101c3578063320f0ddd146101f15780633eecc2bf1461022c575b600080fd5b61012e600480360360408110156100c457600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156100ef57600080fd5b82018360208201111561010157600080fd5b8035906020019184600183028401116401000000008311171561012357600080fd5b509092509050610404565b005b61012e600480360360a081101561014657600080fd5b6001600160a01b03823581169260208101359091169160ff604083013516919081019060808101606082013564010000000081111561018457600080fd5b82018360208201111561019657600080fd5b803590602001918460018302840111640100000000831117156101b857600080fd5b919350915035610551565b61012e600480360360408110156101d957600080fd5b506001600160a01b0381358116916020013516610559565b6102116004803603602081101561020757600080fd5b503560ff1661055d565b60408051921515835290151560208301528051918290030190f35b6102526004803603602081101561024257600080fd5b50356001600160a01b031661058c565b60408051918252519081900360200190f35b6102f7600480360360a081101561027a57600080fd5b6001600160a01b03823581169260208101359091169160ff60408301351691908101906080810160608201356401000000008111156102b857600080fd5b8201836020820111156102ca57600080fd5b803590602001918460018302840111640100000000831117156102ec57600080fd5b9193509150356105a7565b6040518084600581111561030757fe5b8152602001836001600160a01b03168152602001828152602001935050505060405180910390f35b6103556004803603602081101561034557600080fd5b50356001600160a01b031661071f565b604080516001600160a01b039092168252519081900360200190f35b610379610725565b6040518082600581111561038957fe5b815260200191505060405180910390f35b6103c8600480360360408110156103b057600080fd5b506001600160a01b0381358116916020013516610749565b604080519115158252519081900360200190f35b610211600480360360208110156103f257600080fd5b503560ff16610752565b61035561075a565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461046b5760405162461bcd60e51b815260040180806020018281038252602581526020018061087a6025913960400191505060405180910390fd5b60008282602081101561047d57600080fd5b50359050806104bd5760405162461bcd60e51b81526004018080602001828103825260248152602001806108e66024913960400191505060405180910390fd5b61271081106104fd5760405162461bcd60e51b81526004018080602001828103825260268152602001806108c06026913960400191505060405180910390fd5b6001600160a01b03841660008181526020818152604091829020849055815184815291517f90b7d1516011c1da1279f3ae0ed052b1416e7c373d4ec40cf515aa53c5f839df9281900390910190a250505050565b505050505050565b5050565b600080600283600381111561056e57fe5b14156105805750600190506000610587565b5060009050805b915091565b6001600160a01b031660009081526020819052604090205490565b60008080336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106125760405162461bcd60e51b815260040180806020018281038252602581526020018061087a6025913960400191505060405180910390fd5b600061065387878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061077e92505050565b6001600160a01b038d166000908152602081905260409020549295509250610689905061271061068384846107b2565b90610812565b9250826106a25760008060009450945094505050610713565b836001600160a01b03168b6001600160a01b03167f7e79a2206061184e05985ae0578dec52f817756a441996f984cdc817efc25a68856040518082815260200191505060405180910390a37f0000000000000000000000000000000000000000000000000000000000000000945050505b96509650969350505050565b50600090565b7f000000000000000000000000000000000000000000000000000000000000000090565b60005b92915050565b600080915091565b7f000000000000000000000000000000000000000000000000000000000000000090565b600080600083806020019051606081101561079857600080fd5b508051602082015160409092015190969195509350915050565b6000826107c15750600061074c565b828202828482816107ce57fe5b041461080b5760405162461bcd60e51b815260040180806020018281038252602181526020018061089f6021913960400191505060405180910390fd5b9392505050565b6000808211610868576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b81838161087157fe5b04939250505056fe4f6e6c7920746865204665654d616e6765722063616e206d616b6520746869732063616c6c536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7761646446756e6453657474696e67733a204665652072617465206d617820657863656564656461646446756e6453657474696e67733a204665652072617465206d757374206265203e30a164736f6c634300060c000a", "sourceMap": "473:188:145:-:0;;;531:128;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;531:128:145;-1:-1:-1;;;;;;705:25:154;;;;;;;-1:-1:-1;;;1352:33:152::1;::::0;-1:-1:-1;;;;;473:188:145;620:31;473:188;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106100a95760003560e01c806341892d7e1161007157806341892d7e1461026457806362780b3c1461032f5780637bdd5b1d14610371578063b78b48131461039a578063e337a91f146103dc578063f2d63826146103fc576100a9565b80630f5f6b4f146100ae578063233faf5f146101305780633146d058146101c3578063320f0ddd146101f15780633eecc2bf1461022c575b600080fd5b61012e600480360360408110156100c457600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156100ef57600080fd5b82018360208201111561010157600080fd5b8035906020019184600183028401116401000000008311171561012357600080fd5b509092509050610404565b005b61012e600480360360a081101561014657600080fd5b6001600160a01b03823581169260208101359091169160ff604083013516919081019060808101606082013564010000000081111561018457600080fd5b82018360208201111561019657600080fd5b803590602001918460018302840111640100000000831117156101b857600080fd5b919350915035610551565b61012e600480360360408110156101d957600080fd5b506001600160a01b0381358116916020013516610559565b6102116004803603602081101561020757600080fd5b503560ff1661055d565b60408051921515835290151560208301528051918290030190f35b6102526004803603602081101561024257600080fd5b50356001600160a01b031661058c565b60408051918252519081900360200190f35b6102f7600480360360a081101561027a57600080fd5b6001600160a01b03823581169260208101359091169160ff60408301351691908101906080810160608201356401000000008111156102b857600080fd5b8201836020820111156102ca57600080fd5b803590602001918460018302840111640100000000831117156102ec57600080fd5b9193509150356105a7565b6040518084600581111561030757fe5b8152602001836001600160a01b03168152602001828152602001935050505060405180910390f35b6103556004803603602081101561034557600080fd5b50356001600160a01b031661071f565b604080516001600160a01b039092168252519081900360200190f35b610379610725565b6040518082600581111561038957fe5b815260200191505060405180910390f35b6103c8600480360360408110156103b057600080fd5b506001600160a01b0381358116916020013516610749565b604080519115158252519081900360200190f35b610211600480360360208110156103f257600080fd5b503560ff16610752565b61035561075a565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461046b5760405162461bcd60e51b815260040180806020018281038252602581526020018061087a6025913960400191505060405180910390fd5b60008282602081101561047d57600080fd5b50359050806104bd5760405162461bcd60e51b81526004018080602001828103825260248152602001806108e66024913960400191505060405180910390fd5b61271081106104fd5760405162461bcd60e51b81526004018080602001828103825260268152602001806108c06026913960400191505060405180910390fd5b6001600160a01b03841660008181526020818152604091829020849055815184815291517f90b7d1516011c1da1279f3ae0ed052b1416e7c373d4ec40cf515aa53c5f839df9281900390910190a250505050565b505050505050565b5050565b600080600283600381111561056e57fe5b14156105805750600190506000610587565b5060009050805b915091565b6001600160a01b031660009081526020819052604090205490565b60008080336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106125760405162461bcd60e51b815260040180806020018281038252602581526020018061087a6025913960400191505060405180910390fd5b600061065387878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061077e92505050565b6001600160a01b038d166000908152602081905260409020549295509250610689905061271061068384846107b2565b90610812565b9250826106a25760008060009450945094505050610713565b836001600160a01b03168b6001600160a01b03167f7e79a2206061184e05985ae0578dec52f817756a441996f984cdc817efc25a68856040518082815260200191505060405180910390a37f0000000000000000000000000000000000000000000000000000000000000000945050505b96509650969350505050565b50600090565b7f000000000000000000000000000000000000000000000000000000000000000090565b60005b92915050565b600080915091565b7f000000000000000000000000000000000000000000000000000000000000000090565b600080600083806020019051606081101561079857600080fd5b508051602082015160409092015190969195509350915050565b6000826107c15750600061074c565b828202828482816107ce57fe5b041461080b5760405162461bcd60e51b815260040180806020018281038252602181526020018061089f6021913960400191505060405180910390fd5b9392505050565b6000808211610868576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b81838161087157fe5b04939250505056fe4f6e6c7920746865204665654d616e6765722063616e206d616b6520746869732063616c6c536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7761646446756e6453657474696e67733a204665652072617465206d617820657863656564656461646446756e6453657474696e67733a204665652072617465206d757374206265203e30a164736f6c634300060c000a", "sourceMap": "473:188:145:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1624:496:152;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1624:496:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1624:496:152;;-1:-1:-1;1624:496:152;-1:-1:-1;1624:496:152;:::i;:::-;;1755:175:154;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1755:175:154;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1755:175:154;-1:-1:-1;1755:175:154;;:::i;862:92::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;862:92:154;;;;;;;;;;:::i;3578:289:152:-;;;;;;;;;;;;;;;;-1:-1:-1;3578:289:152;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;4122:154;;;;;;;;;;;;;;;;-1:-1:-1;4122:154:152;-1:-1:-1;;;;;4122:154:152;;:::i;:::-;;;;;;;;;;;;;;;;2459:855;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2459:855:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2459:855:152;-1:-1:-1;2459:855:152;;:::i;:::-;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2459:855:152;;;;;;;;;;;;;;;;;;;;;;1144:176:154;;;;;;;;;;;;;;;;-1:-1:-1;1144:176:154;-1:-1:-1;;;;;1144:176:154;;:::i;:::-;;;;-1:-1:-1;;;;;1144:176:154;;;;;;;;;;;;;;4403:163:152;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;1490:104:154;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1490:104:154;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;2232:196;;;;;;;;;;;;;;;;-1:-1:-1;2232:196:154;;;;:::i;3806:104::-;;;:::i;1624:496:152:-;564:10:154;-1:-1:-1;;;;;578:11:154;564:25;;556:75;;;;-1:-1:-1;;;556:75:154;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1791:12:152::1;1817:13;;1806:36;;;;;;;::::0;::::1;;-1:-1:-1::0;1806:36:152::1;::::0;-1:-1:-1;1860:8:152;1852:57:::1;;;;-1:-1:-1::0;;;1852:57:152::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;859:5;1927:4;:26;1919:77;;;;-1:-1:-1::0;;;1919:77:152::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;2007:41:152;::::1;:22;:41:::0;;;::::1;::::0;;;;;;;;:48;;;2071:42;;;;;;;::::1;::::0;;;;;;;;::::1;641:1:154;1624:496:152::0;;;:::o;1755:175:154:-;;;;;;;:::o;862:92::-;;;:::o;3578:289:152:-;3692:13;;3749:33;3740:5;:42;;;;;;;;;3736:93;;;-1:-1:-1;3806:4:152;;-1:-1:-1;3812:5:152;3798:20;;3736:93;-1:-1:-1;3847:5:152;;-1:-1:-1;3847:5:152;3578:289;;;;:::o;4122:154::-;-1:-1:-1;;;;;4228:41:152;4196:13;4228:41;;;;;;;;;;;;4122:154::o;2459:855::-;2706:42;;;564:10:154;-1:-1:-1;;;;;578:11:154;564:25;;556:75;;;;-1:-1:-1;;;556:75:154;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2833:20:152::1;2890:52;2926:15;;2890:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;2890:35:152::1;::::0;-1:-1:-1;;;2890:52:152:i:1;:::-;-1:-1:-1::0;;;;;2968:41:152;::::1;2953:12;2968:41:::0;;;::::1;::::0;;;;;;;2863:79;;-1:-1:-1;2863:79:152;-1:-1:-1;3032:47:152::1;::::0;-1:-1:-1;859:5:152::1;3032:22;2863:79:::0;2968:41;3032:16:::1;:22::i;:::-;:26:::0;::::1;:47::i;:::-;3019:60:::0;-1:-1:-1;3094:15:152;3090:101:::1;;3133:31;3174:1:::0;3178::::1;3125:55;;;;;;;;;;3090:101;3233:6;-1:-1:-1::0;;;;;3206:46:152::1;3214:17;-1:-1:-1::0;;;;;3206:46:152::1;;3241:10;3206:46;;;;;;;;;;;;;;;;;;3271:15;3263:44;;;;641:1:154;2459:855:152::0;;;;;;;;;;:::o;1144:176:154:-;-1:-1:-1;1262:18:154;;1144:176::o;4403:163:152:-;4544:15;4403:163;:::o;1490:104:154:-;1559:4;1490:104;;;;;:::o;2232:196::-;2356:13;;2232:196;;;:::o;3806:104::-;3892:11;3806:104;:::o;3300:318::-;3435:14;3463:25;3502:21;3566:15;3555:56;;;;;;;;;;;;;;;-1:-1:-1;3555:56:154;;;;;;;;;;;;;;;-1:-1:-1;3555:56:154;-1:-1:-1;3300:318:154;-1:-1:-1;;3300:318:154:o;3538:215:442:-;3596:7;3619:6;3615:20;;-1:-1:-1;3634:1:442;3627:8;;3615:20;3657:5;;;3661:1;3657;:5;:1;3680:5;;;;;:10;3672:56;;;;-1:-1:-1;;;3672:56:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3745:1;3538:215;-1:-1:-1;;;3538:215:442:o;4217:150::-;4275:7;4306:1;4302;:5;4294:44;;;;;-1:-1:-1;;;4294:44:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;4359:1;4355;:5;;;;;;;4217:150;-1:-1:-1;;;4217:150:442:o", "linkReferences": {}, "immutableReferences": { "39922": [ { "start": 1775, "length": 32 }, { "start": 1831, "length": 32 } ], "40426": [ { "start": 1039, "length": 32 }, { "start": 1462, "length": 32 }, { "start": 1884, "length": 32 } ] } }, "methodIdentifiers": { "activateForFund(address,address)": "3146d058", "addFundSettings(address,bytes)": "0f5f6b4f", "getFeeManager()": "f2d63826", "getRateForFund(address)": "3eecc2bf", "getRecipientForFund(address)": "62780b3c", "getSettlementType()": "7bdd5b1d", "payout(address,address)": "b78b4813", "settle(address,address,uint8,bytes,uint256)": "41892d7e", "settlesOnHook(uint8)": "320f0ddd", "update(address,address,uint8,bytes,uint256)": "233faf5f", "updatesOnHook(uint8)": "e337a91f" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_feeManager\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"rate\",\"type\":\"uint256\"}],\"name\":\"FundSettingsAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"payer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"sharesQuantity\",\"type\":\"uint256\"}],\"name\":\"Settled\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"activateForFund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_settingsData\",\"type\":\"bytes\"}],\"name\":\"addFundSettings\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFeeManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"feeManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"}],\"name\":\"getRateForFund\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"rate_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"getRecipientForFund\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"recipient_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getSettlementType\",\"outputs\":[{\"internalType\":\"enum IFeeManager.SettlementType\",\"name\":\"settlementType_\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"payout\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"enum IFeeManager.FeeHook\",\"name\":\"\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"_settlementData\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"settle\",\"outputs\":[{\"internalType\":\"enum IFeeManager.SettlementType\",\"name\":\"settlementType_\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"payer_\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"sharesDue_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IFeeManager.FeeHook\",\"name\":\"_hook\",\"type\":\"uint8\"}],\"name\":\"settlesOnHook\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"settles_\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"usesGav_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"enum IFeeManager.FeeHook\",\"name\":\"\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"update\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IFeeManager.FeeHook\",\"name\":\"\",\"type\":\"uint8\"}],\"name\":\"updatesOnHook\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"updates_\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"usesGav_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"activateForFund(address,address)\":{\"details\":\"Unimplemented by default, may be overrode.\"},\"addFundSettings(address,bytes)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\",\"_settingsData\":\"Encoded settings to apply to the fee for a fund\"}},\"getFeeManager()\":{\"returns\":{\"feeManager_\":\"The `FEE_MANAGER` variable value\"}},\"getRateForFund(address)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy contract for the fund\"},\"returns\":{\"rate_\":\"The `rate` variable value\"}},\"getRecipientForFund(address)\":{\"details\":\"address(0) signifies the VaultProxy owner. Returns address(0) by default, can be overridden by fee.\"},\"getSettlementType()\":{\"returns\":{\"settlementType_\":\"The `SETTLEMENT_TYPE` variable value\"}},\"payout(address,address)\":{\"details\":\"Returns false by default, can be overridden by fee\"},\"settle(address,address,uint8,bytes,uint256)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\",\"_settlementData\":\"Encoded args to use in calculating the settlement\"},\"returns\":{\"payer_\":\"The payer of shares due\",\"settlementType_\":\"The type of settlement\",\"sharesDue_\":\"The amount of shares due\"}},\"settlesOnHook(uint8)\":{\"params\":{\"_hook\":\"The FeeHook\"},\"returns\":{\"settles_\":\"True if the fee settles on the _hook\",\"usesGav_\":\"True if the fee uses GAV during settle() for the _hook\"}},\"update(address,address,uint8,bytes,uint256)\":{\"details\":\"Unimplemented by default, can be overridden by fee\"},\"updatesOnHook(uint8)\":{\"details\":\"Returns false values by default, can be overridden by fee\",\"returns\":{\"updates_\":\"True if the fee updates on the _hook\",\"usesGav_\":\"True if the fee uses GAV during update() for the _hook\"}}},\"title\":\"EntranceRateBurnFee Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"activateForFund(address,address)\":{\"notice\":\"Allows Fee to run logic during fund activation\"},\"addFundSettings(address,bytes)\":{\"notice\":\"Add the initial fee settings for a fund\"},\"getFeeManager()\":{\"notice\":\"Gets the `FEE_MANAGER` variable\"},\"getRateForFund(address)\":{\"notice\":\"Gets the `rate` variable for a fund\"},\"getRecipientForFund(address)\":{\"notice\":\"Gets the recipient of the fee for a given fund\"},\"getSettlementType()\":{\"notice\":\"Gets the `SETTLEMENT_TYPE` variable\"},\"payout(address,address)\":{\"notice\":\"Runs payout logic for a fee that utilizes shares outstanding as its settlement type\"},\"settle(address,address,uint8,bytes,uint256)\":{\"notice\":\"Settles the fee\"},\"settlesOnHook(uint8)\":{\"notice\":\"Gets whether the fee settles and requires GAV on a particular hook\"},\"update(address,address,uint8,bytes,uint256)\":{\"notice\":\"Update fee state after all settlement has occurred during a given fee hook\"},\"updatesOnHook(uint8)\":{\"notice\":\"Gets whether the fee updates and requires GAV on a particular hook\"}},\"notice\":\"An EntranceRateFee that burns the fee shares\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/fee-manager/fees/EntranceRateBurnFee.sol\":\"EntranceRateBurnFee\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/fee-manager/IFee.sol\":{\"keccak256\":\"0x38e3f324c67f3205e38197165586ea82ca226069902f34214bcde76cf905fcff\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c1fff656d1bdde3324421bc9e77cbfc4e80baf4e665f8713fdb65611b046f4b0\",\"dweb:/ipfs/QmVRFjNwmsVHdh4sp3DWdL74VWmhRhPZE5kDxJiuPL8Gu2\"]},\"contracts/release/extensions/fee-manager/IFeeManager.sol\":{\"keccak256\":\"0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22\",\"dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod\"]},\"contracts/release/extensions/fee-manager/fees/EntranceRateBurnFee.sol\":{\"keccak256\":\"0x6e662db86d34fb44976689f10475c414d15b29b2f207cec10204e080b64efd87\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5ede5d357a3de55d99f6c52dc6941a85ebdeb2df681c49c2db870c235b742875\",\"dweb:/ipfs/QmSCQxHYhMMa32LjsrX1WzoTR534XsWQxYe7cjZvxx7n9L\"]},\"contracts/release/extensions/fee-manager/fees/utils/EntranceRateFeeBase.sol\":{\"keccak256\":\"0xf12110b2c9f9763f15185fc7939d6e581f30a99b1f55c84d727838add42d262a\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6455aa6dbfaec13da1564632c2ca94ebcebc0a8a131bd0a11c208acb46925137\",\"dweb:/ipfs/QmbyQx6m7HdkH4vhdynqEQNvB8sUQDyAuRCY8jKCgsLQCm\"]},\"contracts/release/extensions/fee-manager/fees/utils/FeeBase.sol\":{\"keccak256\":\"0x485c03e3088b6dc9828d2e895cce6856501448b4a2c71a0acae4e012bc644b14\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b63aef3cd20eb4dd585632c74619235ef1d5c3c2c52fd61f8802d0a50569b767\",\"dweb:/ipfs/QmSuTYChj2j8NnLYCg47feAJ5P9NheQpK46fG6fhmMtimA\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_feeManager", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "comptrollerProxy", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "rate", "type": "uint256", "indexed": false } ], "type": "event", "name": "FundSettingsAdded", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "comptrollerProxy", "type": "address", "indexed": true }, { "internalType": "address", "name": "payer", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "sharesQuantity", "type": "uint256", "indexed": false } ], "type": "event", "name": "Settled", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "activateForFund" }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" }, { "internalType": "bytes", "name": "_settingsData", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "addFundSettings" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getFeeManager", "outputs": [ { "internalType": "address", "name": "feeManager_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getRateForFund", "outputs": [ { "internalType": "uint256", "name": "rate_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getRecipientForFund", "outputs": [ { "internalType": "address", "name": "recipient_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getSettlementType", "outputs": [ { "internalType": "enum IFeeManager.SettlementType", "name": "settlementType_", "type": "uint8" } ] }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "payout", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" }, { "internalType": "address", "name": "", "type": "address" }, { "internalType": "enum IFeeManager.FeeHook", "name": "", "type": "uint8" }, { "internalType": "bytes", "name": "_settlementData", "type": "bytes" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "settle", "outputs": [ { "internalType": "enum IFeeManager.SettlementType", "name": "settlementType_", "type": "uint8" }, { "internalType": "address", "name": "payer_", "type": "address" }, { "internalType": "uint256", "name": "sharesDue_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "enum IFeeManager.FeeHook", "name": "_hook", "type": "uint8" } ], "stateMutability": "view", "type": "function", "name": "settlesOnHook", "outputs": [ { "internalType": "bool", "name": "settles_", "type": "bool" }, { "internalType": "bool", "name": "usesGav_", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "address", "name": "", "type": "address" }, { "internalType": "enum IFeeManager.FeeHook", "name": "", "type": "uint8" }, { "internalType": "bytes", "name": "", "type": "bytes" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "update" }, { "inputs": [ { "internalType": "enum IFeeManager.FeeHook", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function", "name": "updatesOnHook", "outputs": [ { "internalType": "bool", "name": "updates_", "type": "bool" }, { "internalType": "bool", "name": "usesGav_", "type": "bool" } ] } ], "devdoc": { "kind": "dev", "methods": { "activateForFund(address,address)": { "details": "Unimplemented by default, may be overrode." }, "addFundSettings(address,bytes)": { "params": { "_comptrollerProxy": "The ComptrollerProxy of the fund", "_settingsData": "Encoded settings to apply to the fee for a fund" } }, "getFeeManager()": { "returns": { "feeManager_": "The `FEE_MANAGER` variable value" } }, "getRateForFund(address)": { "params": { "_comptrollerProxy": "The ComptrollerProxy contract for the fund" }, "returns": { "rate_": "The `rate` variable value" } }, "getRecipientForFund(address)": { "details": "address(0) signifies the VaultProxy owner. Returns address(0) by default, can be overridden by fee." }, "getSettlementType()": { "returns": { "settlementType_": "The `SETTLEMENT_TYPE` variable value" } }, "payout(address,address)": { "details": "Returns false by default, can be overridden by fee" }, "settle(address,address,uint8,bytes,uint256)": { "params": { "_comptrollerProxy": "The ComptrollerProxy of the fund", "_settlementData": "Encoded args to use in calculating the settlement" }, "returns": { "payer_": "The payer of shares due", "settlementType_": "The type of settlement", "sharesDue_": "The amount of shares due" } }, "settlesOnHook(uint8)": { "params": { "_hook": "The FeeHook" }, "returns": { "settles_": "True if the fee settles on the _hook", "usesGav_": "True if the fee uses GAV during settle() for the _hook" } }, "update(address,address,uint8,bytes,uint256)": { "details": "Unimplemented by default, can be overridden by fee" }, "updatesOnHook(uint8)": { "details": "Returns false values by default, can be overridden by fee", "returns": { "updates_": "True if the fee updates on the _hook", "usesGav_": "True if the fee uses GAV during update() for the _hook" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "activateForFund(address,address)": { "notice": "Allows Fee to run logic during fund activation" }, "addFundSettings(address,bytes)": { "notice": "Add the initial fee settings for a fund" }, "getFeeManager()": { "notice": "Gets the `FEE_MANAGER` variable" }, "getRateForFund(address)": { "notice": "Gets the `rate` variable for a fund" }, "getRecipientForFund(address)": { "notice": "Gets the recipient of the fee for a given fund" }, "getSettlementType()": { "notice": "Gets the `SETTLEMENT_TYPE` variable" }, "payout(address,address)": { "notice": "Runs payout logic for a fee that utilizes shares outstanding as its settlement type" }, "settle(address,address,uint8,bytes,uint256)": { "notice": "Settles the fee" }, "settlesOnHook(uint8)": { "notice": "Gets whether the fee settles and requires GAV on a particular hook" }, "update(address,address,uint8,bytes,uint256)": { "notice": "Update fee state after all settlement has occurred during a given fee hook" }, "updatesOnHook(uint8)": { "notice": "Gets whether the fee updates and requires GAV on a particular hook" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/fee-manager/fees/EntranceRateBurnFee.sol": "EntranceRateBurnFee" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/extensions/fee-manager/IFee.sol": { "keccak256": "0x38e3f324c67f3205e38197165586ea82ca226069902f34214bcde76cf905fcff", "urls": [ "bzz-raw://c1fff656d1bdde3324421bc9e77cbfc4e80baf4e665f8713fdb65611b046f4b0", "dweb:/ipfs/QmVRFjNwmsVHdh4sp3DWdL74VWmhRhPZE5kDxJiuPL8Gu2" ], "license": "GPL-3.0" }, "contracts/release/extensions/fee-manager/IFeeManager.sol": { "keccak256": "0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51", "urls": [ "bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22", "dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod" ], "license": "GPL-3.0" }, "contracts/release/extensions/fee-manager/fees/EntranceRateBurnFee.sol": { "keccak256": "0x6e662db86d34fb44976689f10475c414d15b29b2f207cec10204e080b64efd87", "urls": [ "bzz-raw://5ede5d357a3de55d99f6c52dc6941a85ebdeb2df681c49c2db870c235b742875", "dweb:/ipfs/QmSCQxHYhMMa32LjsrX1WzoTR534XsWQxYe7cjZvxx7n9L" ], "license": "GPL-3.0" }, "contracts/release/extensions/fee-manager/fees/utils/EntranceRateFeeBase.sol": { "keccak256": "0xf12110b2c9f9763f15185fc7939d6e581f30a99b1f55c84d727838add42d262a", "urls": [ "bzz-raw://6455aa6dbfaec13da1564632c2ca94ebcebc0a8a131bd0a11c208acb46925137", "dweb:/ipfs/QmbyQx6m7HdkH4vhdynqEQNvB8sUQDyAuRCY8jKCgsLQCm" ], "license": "GPL-3.0" }, "contracts/release/extensions/fee-manager/fees/utils/FeeBase.sol": { "keccak256": "0x485c03e3088b6dc9828d2e895cce6856501448b4a2c71a0acae4e012bc644b14", "urls": [ "bzz-raw://b63aef3cd20eb4dd585632c74619235ef1d5c3c2c52fd61f8802d0a50569b767", "dweb:/ipfs/QmSuTYChj2j8NnLYCg47feAJ5P9NheQpK46fG6fhmMtimA" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" } }, "version": 1 }, "id": 145 } diff --git a/eth_defi/abi/enzyme/EntranceRateDirectFee.json b/eth_defi/abi/enzyme/EntranceRateDirectFee.json index 76722b88..6edb1096 100644 --- a/eth_defi/abi/enzyme/EntranceRateDirectFee.json +++ b/eth_defi/abi/enzyme/EntranceRateDirectFee.json @@ -1,1288 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_feeManager", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "comptrollerProxy", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "rate", - "type": "uint256" - } - ], - "name": "FundSettingsAdded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "comptrollerProxy", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "recipient", - "type": "address" - } - ], - "name": "RecipientSetForFund", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "comptrollerProxy", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "payer", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "sharesQuantity", - "type": "uint256" - } - ], - "name": "Settled", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "activateForFund", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_settingsData", - "type": "bytes" - } - ], - "name": "addFundSettings", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getFeeManager", - "outputs": [ - { - "internalType": "address", - "name": "feeManager_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - } - ], - "name": "getRateForFund", - "outputs": [ - { - "internalType": "uint256", - "name": "rate_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - } - ], - "name": "getRecipientForFund", - "outputs": [ - { - "internalType": "address", - "name": "recipient_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getSettlementType", - "outputs": [ - { - "internalType": "enum IFeeManager.SettlementType", - "name": "settlementType_", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "payout", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_recipient", - "type": "address" - } - ], - "name": "setRecipientForFund", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "enum IFeeManager.FeeHook", - "name": "", - "type": "uint8" - }, - { - "internalType": "bytes", - "name": "_settlementData", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "settle", - "outputs": [ - { - "internalType": "enum IFeeManager.SettlementType", - "name": "settlementType_", - "type": "uint8" - }, - { - "internalType": "address", - "name": "payer_", - "type": "address" - }, - { - "internalType": "uint256", - "name": "sharesDue_", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "enum IFeeManager.FeeHook", - "name": "_hook", - "type": "uint8" - } - ], - "name": "settlesOnHook", - "outputs": [ - { - "internalType": "bool", - "name": "settles_", - "type": "bool" - }, - { - "internalType": "bool", - "name": "usesGav_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "enum IFeeManager.FeeHook", - "name": "", - "type": "uint8" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "update", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "enum IFeeManager.FeeHook", - "name": "", - "type": "uint8" - } - ], - "name": "updatesOnHook", - "outputs": [ - { - "internalType": "bool", - "name": "updates_", - "type": "bool" - }, - { - "internalType": "bool", - "name": "usesGav_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x60c060405234801561001057600080fd5b50604051610bea380380610bea8339818101604052602081101561003357600080fd5b5051606081901b6001600160601b031916608052600160f81b60a0526001600160a01b03166001610b646100866000398061061e52806106615250806104e552806107b852806107e55250610b646000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c806362780b3c1161007157806362780b3c1461033a5780637bdd5b1d1461037c5780638c55f80f146103a5578063b78b4813146103d3578063e337a91f14610415578063f2d6382614610435576100b4565b80630f5f6b4f146100b9578063233faf5f1461013b5780633146d058146101ce578063320f0ddd146101fc5780633eecc2bf1461023757806341892d7e1461026f575b600080fd5b610139600480360360408110156100cf57600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156100fa57600080fd5b82018360208201111561010c57600080fd5b8035906020019184600183028401116401000000008311171561012e57600080fd5b50909250905061043d565b005b610139600480360360a081101561015157600080fd5b6001600160a01b03823581169260208101359091169160ff604083013516919081019060808101606082013564010000000081111561018f57600080fd5b8201836020820111156101a157600080fd5b803590602001918460018302840111640100000000831117156101c357600080fd5b919350915035610480565b610139600480360360408110156101e457600080fd5b506001600160a01b0381358116916020013516610488565b61021c6004803603602081101561021257600080fd5b503560ff1661048c565b60408051921515835290151560208301528051918290030190f35b61025d6004803603602081101561024d57600080fd5b50356001600160a01b03166104bb565b60408051918252519081900360200190f35b610302600480360360a081101561028557600080fd5b6001600160a01b03823581169260208101359091169160ff60408301351691908101906080810160608201356401000000008111156102c357600080fd5b8201836020820111156102d557600080fd5b803590602001918460018302840111640100000000831117156102f757600080fd5b9193509150356104d6565b6040518084600581111561031257fe5b8152602001836001600160a01b03168152602001828152602001935050505060405180910390f35b6103606004803603602081101561035057600080fd5b50356001600160a01b031661064e565b604080516001600160a01b039092168252519081900360200190f35b61038461065f565b6040518082600581111561039457fe5b815260200191505060405180910390f35b610139600480360360408110156103bb57600080fd5b506001600160a01b0381358116916020013516610683565b610401600480360360408110156103e957600080fd5b506001600160a01b03813581169160200135166107a6565b604080519115158252519081900360200190f35b61021c6004803603602081101561042b57600080fd5b503560ff166107ae565b6103606107b6565b6104488383836107da565b60008282604081101561045a57600080fd5b50602001356001600160a01b03169050801561047a5761047a8482610927565b50505050565b505050505050565b5050565b600080600283600381111561049d57fe5b14156104af57506001905060006104b6565b5060009050805b915091565b6001600160a01b031660009081526020819052604090205490565b60008080336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105415760405162461bcd60e51b8152600401808060200182810382526025815260200180610a986025913960400191505060405180910390fd5b600061058287878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061097e92505050565b6001600160a01b038d1660009081526020819052604090205492955092506105b890506127106105b284846109b2565b90610a12565b9250826105d15760008060009450945094505050610642565b836001600160a01b03168b6001600160a01b03167f7e79a2206061184e05985ae0578dec52f817756a441996f984cdc817efc25a68856040518082815260200191505060405180910390a37f0000000000000000000000000000000000000000000000000000000000000000945050505b96509650969350505050565b600061065982610a79565b92915050565b7f000000000000000000000000000000000000000000000000000000000000000090565b816001600160a01b031663c98091876040518163ffffffff1660e01b815260040160206040518083038186803b1580156106bc57600080fd5b505afa1580156106d0573d6000803e3d6000fd5b505050506040513d60208110156106e657600080fd5b505160408051631127a41d60e31b815290516001600160a01b039092169163893d20e891600480820192602092909190829003018186803b15801561072a57600080fd5b505afa15801561073e573d6000803e3d6000fd5b505050506040513d602081101561075457600080fd5b50516001600160a01b0316331461079c5760405162461bcd60e51b8152600401808060200182810382526030815260200180610b286030913960400191505060405180910390fd5b6104888282610927565b600092915050565b600080915091565b7f000000000000000000000000000000000000000000000000000000000000000090565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146108415760405162461bcd60e51b8152600401808060200182810382526025815260200180610a986025913960400191505060405180910390fd5b60008282602081101561085357600080fd5b50359050806108935760405162461bcd60e51b8152600401808060200182810382526024815260200180610b046024913960400191505060405180910390fd5b61271081106108d35760405162461bcd60e51b8152600401808060200182810382526026815260200180610ade6026913960400191505060405180910390fd5b6001600160a01b03841660008181526020818152604091829020849055815184815291517f90b7d1516011c1da1279f3ae0ed052b1416e7c373d4ec40cf515aa53c5f839df9281900390910190a250505050565b6001600160a01b0382811660008181526001602052604080822080546001600160a01b0319169486169485179055517fa11fc98cfb391622348acc16de92f0efb77d55f71a6e9fa18bfef387ae8d19ce9190a35050565b600080600083806020019051606081101561099857600080fd5b508051602082015160409092015190969195509350915050565b6000826109c157506000610659565b828202828482816109ce57fe5b0414610a0b5760405162461bcd60e51b8152600401808060200182810382526021815260200180610abd6021913960400191505060405180910390fd5b9392505050565b6000808211610a68576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b818381610a7157fe5b049392505050565b6001600160a01b03908116600090815260016020526040902054169056fe4f6e6c7920746865204665654d616e6765722063616e206d616b6520746869732063616c6c536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7761646446756e6453657474696e67733a204665652072617465206d617820657863656564656461646446756e6453657474696e67733a204665652072617465206d757374206265203e305f5f736574526563697069656e74466f7246756e643a204f6e6c79207661756c74206f776e65722063616c6c61626c65a164736f6c634300060c000a", - "sourceMap": "542:1307:146:-:0;;;629:130;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;629:130:146;705:25:154;;;;-1:-1:-1;;;;;;705:25:154;;;-1:-1:-1;;;1352:33:152::1;::::0;-1:-1:-1;;;;;542:1307:146;718:33;542:1307;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106100b45760003560e01c806362780b3c1161007157806362780b3c1461033a5780637bdd5b1d1461037c5780638c55f80f146103a5578063b78b4813146103d3578063e337a91f14610415578063f2d6382614610435576100b4565b80630f5f6b4f146100b9578063233faf5f1461013b5780633146d058146101ce578063320f0ddd146101fc5780633eecc2bf1461023757806341892d7e1461026f575b600080fd5b610139600480360360408110156100cf57600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156100fa57600080fd5b82018360208201111561010c57600080fd5b8035906020019184600183028401116401000000008311171561012e57600080fd5b50909250905061043d565b005b610139600480360360a081101561015157600080fd5b6001600160a01b03823581169260208101359091169160ff604083013516919081019060808101606082013564010000000081111561018f57600080fd5b8201836020820111156101a157600080fd5b803590602001918460018302840111640100000000831117156101c357600080fd5b919350915035610480565b610139600480360360408110156101e457600080fd5b506001600160a01b0381358116916020013516610488565b61021c6004803603602081101561021257600080fd5b503560ff1661048c565b60408051921515835290151560208301528051918290030190f35b61025d6004803603602081101561024d57600080fd5b50356001600160a01b03166104bb565b60408051918252519081900360200190f35b610302600480360360a081101561028557600080fd5b6001600160a01b03823581169260208101359091169160ff60408301351691908101906080810160608201356401000000008111156102c357600080fd5b8201836020820111156102d557600080fd5b803590602001918460018302840111640100000000831117156102f757600080fd5b9193509150356104d6565b6040518084600581111561031257fe5b8152602001836001600160a01b03168152602001828152602001935050505060405180910390f35b6103606004803603602081101561035057600080fd5b50356001600160a01b031661064e565b604080516001600160a01b039092168252519081900360200190f35b61038461065f565b6040518082600581111561039457fe5b815260200191505060405180910390f35b610139600480360360408110156103bb57600080fd5b506001600160a01b0381358116916020013516610683565b610401600480360360408110156103e957600080fd5b506001600160a01b03813581169160200135166107a6565b604080519115158252519081900360200190f35b61021c6004803603602081101561042b57600080fd5b503560ff166107ae565b6103606107b6565b6104488383836107da565b60008282604081101561045a57600080fd5b50602001356001600160a01b03169050801561047a5761047a8482610927565b50505050565b505050505050565b5050565b600080600283600381111561049d57fe5b14156104af57506001905060006104b6565b5060009050805b915091565b6001600160a01b031660009081526020819052604090205490565b60008080336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105415760405162461bcd60e51b8152600401808060200182810382526025815260200180610a986025913960400191505060405180910390fd5b600061058287878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061097e92505050565b6001600160a01b038d1660009081526020819052604090205492955092506105b890506127106105b284846109b2565b90610a12565b9250826105d15760008060009450945094505050610642565b836001600160a01b03168b6001600160a01b03167f7e79a2206061184e05985ae0578dec52f817756a441996f984cdc817efc25a68856040518082815260200191505060405180910390a37f0000000000000000000000000000000000000000000000000000000000000000945050505b96509650969350505050565b600061065982610a79565b92915050565b7f000000000000000000000000000000000000000000000000000000000000000090565b816001600160a01b031663c98091876040518163ffffffff1660e01b815260040160206040518083038186803b1580156106bc57600080fd5b505afa1580156106d0573d6000803e3d6000fd5b505050506040513d60208110156106e657600080fd5b505160408051631127a41d60e31b815290516001600160a01b039092169163893d20e891600480820192602092909190829003018186803b15801561072a57600080fd5b505afa15801561073e573d6000803e3d6000fd5b505050506040513d602081101561075457600080fd5b50516001600160a01b0316331461079c5760405162461bcd60e51b8152600401808060200182810382526030815260200180610b286030913960400191505060405180910390fd5b6104888282610927565b600092915050565b600080915091565b7f000000000000000000000000000000000000000000000000000000000000000090565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146108415760405162461bcd60e51b8152600401808060200182810382526025815260200180610a986025913960400191505060405180910390fd5b60008282602081101561085357600080fd5b50359050806108935760405162461bcd60e51b8152600401808060200182810382526024815260200180610b046024913960400191505060405180910390fd5b61271081106108d35760405162461bcd60e51b8152600401808060200182810382526026815260200180610ade6026913960400191505060405180910390fd5b6001600160a01b03841660008181526020818152604091829020849055815184815291517f90b7d1516011c1da1279f3ae0ed052b1416e7c373d4ec40cf515aa53c5f839df9281900390910190a250505050565b6001600160a01b0382811660008181526001602052604080822080546001600160a01b0319169486169485179055517fa11fc98cfb391622348acc16de92f0efb77d55f71a6e9fa18bfef387ae8d19ce9190a35050565b600080600083806020019051606081101561099857600080fd5b508051602082015160409092015190969195509350915050565b6000826109c157506000610659565b828202828482816109ce57fe5b0414610a0b5760405162461bcd60e51b8152600401808060200182810382526021815260200180610abd6021913960400191505060405180910390fd5b9392505050565b6000808211610a68576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b818381610a7157fe5b049392505050565b6001600160a01b03908116600090815260016020526040902054169056fe4f6e6c7920746865204665654d616e6765722063616e206d616b6520746869732063616c6c536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7761646446756e6453657474696e67733a204665652072617465206d617820657863656564656461646446756e6453657474696e67733a204665652072617465206d757374206265203e305f5f736574526563697069656e74466f7246756e643a204f6e6c79207661756c74206f776e65722063616c6c61626c65a164736f6c634300060c000a", - "sourceMap": "542:1307:146:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1012:385;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1012:385:146;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1012:385:146;;-1:-1:-1;1012:385:146;-1:-1:-1;1012:385:146;:::i;:::-;;1755:175:154;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1755:175:154;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1755:175:154;-1:-1:-1;1755:175:154;;:::i;862:92::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;862:92:154;;;;;;;;;;:::i;3578:289:152:-;;;;;;;;;;;;;;;;-1:-1:-1;3578:289:152;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;4122:154;;;;;;;;;;;;;;;;-1:-1:-1;4122:154:152;-1:-1:-1;;;;;4122:154:152;;:::i;:::-;;;;;;;;;;;;;;;;2459:855;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2459:855:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2459:855:152;-1:-1:-1;2459:855:152;;:::i;:::-;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2459:855:152;;;;;;;;;;;;;;;;;;;;;;1583:264:146;;;;;;;;;;;;;;;;-1:-1:-1;1583:264:146;-1:-1:-1;;;;;1583:264:146;;:::i;:::-;;;;-1:-1:-1;;;;;1583:264:146;;;;;;;;;;;;;;4403:163:152;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;883:369:156;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;883:369:156;;;;;;;;;;:::i;1490:104:154:-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1490:104:154;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;2232:196;;;;;;;;;;;;;;;;-1:-1:-1;2232:196:154;;;;:::i;3806:104::-;;;:::i;1012:385:146:-;1140:55;1162:17;1181:13;;1140:21;:55::i;:::-;1209:17;1241:13;;1230:45;;;;;;;;;;-1:-1:-1;1230:45:146;;;-1:-1:-1;;;;;1230:45:146;;-1:-1:-1;1290:23:146;;1286:105;;1329:51;1351:17;1370:9;1329:21;:51::i;:::-;1012:385;;;;:::o;1755:175:154:-;;;;;;;:::o;862:92::-;;;:::o;3578:289:152:-;3692:13;;3749:33;3740:5;:42;;;;;;;;;3736:93;;;-1:-1:-1;3806:4:152;;-1:-1:-1;3812:5:152;3798:20;;3736:93;-1:-1:-1;3847:5:152;;-1:-1:-1;3847:5:152;3578:289;;;;:::o;4122:154::-;-1:-1:-1;;;;;4228:41:152;4196:13;4228:41;;;;;;;;;;;;4122:154::o;2459:855::-;2706:42;;;564:10:154;-1:-1:-1;;;;;578:11:154;564:25;;556:75;;;;-1:-1:-1;;;556:75:154;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2833:20:152::1;2890:52;2926:15;;2890:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;2890:35:152::1;::::0;-1:-1:-1;;;2890:52:152:i:1;:::-;-1:-1:-1::0;;;;;2968:41:152;::::1;2953:12;2968:41:::0;;;::::1;::::0;;;;;;;2863:79;;-1:-1:-1;2863:79:152;-1:-1:-1;3032:47:152::1;::::0;-1:-1:-1;859:5:152::1;3032:22;2863:79:::0;2968:41;3032:16:::1;:22::i;:::-;:26:::0;::::1;:47::i;:::-;3019:60:::0;-1:-1:-1;3094:15:152;3090:101:::1;;3133:31;3174:1:::0;3178::::1;3125:55;;;;;;;;;;3090:101;3233:6;-1:-1:-1::0;;;;;3206:46:152::1;3214:17;-1:-1:-1::0;;;;;3206:46:152::1;;3241:10;3206:46;;;;;;;;;;;;;;;;;;3271:15;3263:44;;;;641:1:154;2459:855:152::0;;;;;;;;;;:::o;1583:264:146:-;1736:18;1777:63;1822:17;1777:44;:63::i;:::-;1770:70;1583:264;-1:-1:-1;;1583:264:146:o;4403:163:152:-;4544:15;4403:163;:::o;883:369:156:-;1061:17;-1:-1:-1;;;;;1046:47:156;;:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1046:49:156;1029:79;;;-1:-1:-1;;;1029:79:156;;;;-1:-1:-1;;;;;1029:77:156;;;;;;:79;;;;;1046:49;;1029:79;;;;;;;;:77;:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1029:79:156;-1:-1:-1;;;;;999:109:156;:10;:109;978:204;;;;-1:-1:-1;;;978:204:156;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1193:52;1215:17;1234:10;1193:21;:52::i;1490:104:154:-;1559:4;1490:104;;;;:::o;2232:196::-;2356:13;;2232:196;;;:::o;3806:104::-;3892:11;3806:104;:::o;1624:496:152:-;564:10:154;-1:-1:-1;;;;;578:11:154;564:25;;556:75;;;;-1:-1:-1;;;556:75:154;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1791:12:152::1;1817:13;;1806:36;;;;;;;::::0;::::1;;-1:-1:-1::0;1806:36:152::1;::::0;-1:-1:-1;1860:8:152;1852:57:::1;;;;-1:-1:-1::0;;;1852:57:152::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;859:5;1927:4;:26;1919:77;;;;-1:-1:-1::0;;;1919:77:152::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;2007:41:152;::::1;:22;:41:::0;;;::::1;::::0;;;;;;;;:48;;;2071:42;;;;;;;::::1;::::0;;;;;;;;::::1;641:1:154;1624:496:152::0;;;:::o;715:229:155:-;-1:-1:-1;;;;;812:46:155;;;;;;;:27;:46;;;;;;:59;;-1:-1:-1;;;;;;812:59:155;;;;;;;;;887:50;;;812:46;887:50;715:229;;:::o;3300:318:154:-;3435:14;3463:25;3502:21;3566:15;3555:56;;;;;;;;;;;;;;;-1:-1:-1;3555:56:154;;;;;;;;;;;;;;;-1:-1:-1;3555:56:154;-1:-1:-1;3300:318:154;-1:-1:-1;;3300:318:154:o;3538:215:442:-;3596:7;3619:6;3615:20;;-1:-1:-1;3634:1:442;3627:8;;3615:20;3657:5;;;3661:1;3657;:5;:1;3680:5;;;;;:10;3672:56;;;;-1:-1:-1;;;3672:56:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3745:1;3538:215;-1:-1:-1;;;3538:215:442:o;4217:150::-;4275:7;4306:1;4302;:5;4294:44;;;;;-1:-1:-1;;;4294:44:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;4359:1;4355;:5;;;;;;;4217:150;-1:-1:-1;;;4217:150:442:o;1258:211:155:-;-1:-1:-1;;;;;1416:46:155;;;1375:18;1416:46;;;:27;:46;;;;;;;;1258:211::o", - "linkReferences": {}, - "immutableReferences": { - "39922": [ - { - "start": 1566, - "length": 32 - }, - { - "start": 1633, - "length": 32 - } - ], - "40426": [ - { - "start": 1253, - "length": 32 - }, - { - "start": 1976, - "length": 32 - }, - { - "start": 2021, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "activateForFund(address,address)": "3146d058", - "addFundSettings(address,bytes)": "0f5f6b4f", - "getFeeManager()": "f2d63826", - "getRateForFund(address)": "3eecc2bf", - "getRecipientForFund(address)": "62780b3c", - "getSettlementType()": "7bdd5b1d", - "payout(address,address)": "b78b4813", - "setRecipientForFund(address,address)": "8c55f80f", - "settle(address,address,uint8,bytes,uint256)": "41892d7e", - "settlesOnHook(uint8)": "320f0ddd", - "update(address,address,uint8,bytes,uint256)": "233faf5f", - "updatesOnHook(uint8)": "e337a91f" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_feeManager\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"rate\",\"type\":\"uint256\"}],\"name\":\"FundSettingsAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"}],\"name\":\"RecipientSetForFund\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"payer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"sharesQuantity\",\"type\":\"uint256\"}],\"name\":\"Settled\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"activateForFund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_settingsData\",\"type\":\"bytes\"}],\"name\":\"addFundSettings\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFeeManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"feeManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"}],\"name\":\"getRateForFund\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"rate_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"}],\"name\":\"getRecipientForFund\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"recipient_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getSettlementType\",\"outputs\":[{\"internalType\":\"enum IFeeManager.SettlementType\",\"name\":\"settlementType_\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"payout\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_recipient\",\"type\":\"address\"}],\"name\":\"setRecipientForFund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"enum IFeeManager.FeeHook\",\"name\":\"\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"_settlementData\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"settle\",\"outputs\":[{\"internalType\":\"enum IFeeManager.SettlementType\",\"name\":\"settlementType_\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"payer_\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"sharesDue_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IFeeManager.FeeHook\",\"name\":\"_hook\",\"type\":\"uint8\"}],\"name\":\"settlesOnHook\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"settles_\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"usesGav_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"enum IFeeManager.FeeHook\",\"name\":\"\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"update\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IFeeManager.FeeHook\",\"name\":\"\",\"type\":\"uint8\"}],\"name\":\"updatesOnHook\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"updates_\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"usesGav_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"activateForFund(address,address)\":{\"details\":\"Unimplemented by default, may be overrode.\"},\"addFundSettings(address,bytes)\":{\"details\":\"onlyFeeManager validated by parent\",\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\",\"_settingsData\":\"Encoded settings to apply to the fee for a fund\"}},\"getFeeManager()\":{\"returns\":{\"feeManager_\":\"The `FEE_MANAGER` variable value\"}},\"getRateForFund(address)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy contract for the fund\"},\"returns\":{\"rate_\":\"The `rate` variable value\"}},\"getRecipientForFund(address)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy contract for the fund\"},\"returns\":{\"recipient_\":\"The recipient\"}},\"getSettlementType()\":{\"returns\":{\"settlementType_\":\"The `SETTLEMENT_TYPE` variable value\"}},\"payout(address,address)\":{\"details\":\"Returns false by default, can be overridden by fee\"},\"setRecipientForFund(address,address)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy contract for the fund\",\"_recipient\":\"The fee recipient\"}},\"settle(address,address,uint8,bytes,uint256)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\",\"_settlementData\":\"Encoded args to use in calculating the settlement\"},\"returns\":{\"payer_\":\"The payer of shares due\",\"settlementType_\":\"The type of settlement\",\"sharesDue_\":\"The amount of shares due\"}},\"settlesOnHook(uint8)\":{\"params\":{\"_hook\":\"The FeeHook\"},\"returns\":{\"settles_\":\"True if the fee settles on the _hook\",\"usesGav_\":\"True if the fee uses GAV during settle() for the _hook\"}},\"update(address,address,uint8,bytes,uint256)\":{\"details\":\"Unimplemented by default, can be overridden by fee\"},\"updatesOnHook(uint8)\":{\"details\":\"Returns false values by default, can be overridden by fee\",\"returns\":{\"updates_\":\"True if the fee updates on the _hook\",\"usesGav_\":\"True if the fee uses GAV during update() for the _hook\"}}},\"title\":\"EntranceRateDirectFee Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"activateForFund(address,address)\":{\"notice\":\"Allows Fee to run logic during fund activation\"},\"addFundSettings(address,bytes)\":{\"notice\":\"Add the initial fee settings for a fund\"},\"getFeeManager()\":{\"notice\":\"Gets the `FEE_MANAGER` variable\"},\"getRateForFund(address)\":{\"notice\":\"Gets the `rate` variable for a fund\"},\"getRecipientForFund(address)\":{\"notice\":\"Gets the recipient of the fee for a given fund\"},\"getSettlementType()\":{\"notice\":\"Gets the `SETTLEMENT_TYPE` variable\"},\"payout(address,address)\":{\"notice\":\"Runs payout logic for a fee that utilizes shares outstanding as its settlement type\"},\"setRecipientForFund(address,address)\":{\"notice\":\"Sets the fee recipient for the given fund\"},\"settle(address,address,uint8,bytes,uint256)\":{\"notice\":\"Settles the fee\"},\"settlesOnHook(uint8)\":{\"notice\":\"Gets whether the fee settles and requires GAV on a particular hook\"},\"update(address,address,uint8,bytes,uint256)\":{\"notice\":\"Update fee state after all settlement has occurred during a given fee hook\"},\"updatesOnHook(uint8)\":{\"notice\":\"Gets whether the fee updates and requires GAV on a particular hook\"}},\"notice\":\"An EntranceRateFee that transfers the fee shares to a recipient\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/fee-manager/fees/EntranceRateDirectFee.sol\":\"EntranceRateDirectFee\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/persistent/protocol-fee-reserve/interfaces/IProtocolFeeReserve1.sol\":{\"keccak256\":\"0x2728878c423db523bc95189137e8c58d2d7db9f56bbd5c6b1f988c08b551fbab\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3b0df1d2eb74151265d03ab91a7c341f7beca475dd2f4d669052dbc4ee2c06ac\",\"dweb:/ipfs/QmVx1cgrxQNYfdK1Kn15pcgqf79Uw8bF3U6i7F2HG2rj6G\"]},\"contracts/persistent/vault/VaultLibBase1.sol\":{\"keccak256\":\"0xa4dac1e4cdb311a2ab187135355357d8790c505ef36dd912c057fe53743d30b5\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b66efe821016ab927c949263023260515e90f5d480dc8d94eefbfeec7bf7490b\",\"dweb:/ipfs/QmNY3xKnhL9EptAbxGvXHGAXfV9pj3dDPwsZnKrPs54ZHw\"]},\"contracts/persistent/vault/VaultLibBase2.sol\":{\"keccak256\":\"0xf7d31f2a9a47770ed3f444be2c4fe9262ddb55fef7f25e546b1f03c9afec4c09\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9353ddce7c9b8b3c13fed23fe8edec99ca610d791b0c5b204b3d01f1f08d07d2\",\"dweb:/ipfs/QmeVsEh3joCjv49BRXeHASevnZZ5xdZXpkctHT8BPf37N2\"]},\"contracts/persistent/vault/VaultLibBaseCore.sol\":{\"keccak256\":\"0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd\",\"dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz\"]},\"contracts/persistent/vault/interfaces/IExternalPositionVault.sol\":{\"keccak256\":\"0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d\",\"dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8\"]},\"contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol\":{\"keccak256\":\"0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb\",\"dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU\"]},\"contracts/persistent/vault/interfaces/IMigratableVault.sol\":{\"keccak256\":\"0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6\",\"dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs\"]},\"contracts/persistent/vault/interfaces/IVaultCore.sol\":{\"keccak256\":\"0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd\",\"dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr\"]},\"contracts/persistent/vault/utils/ProxiableVaultLib.sol\":{\"keccak256\":\"0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44\",\"dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4\"]},\"contracts/persistent/vault/utils/SharesTokenBase.sol\":{\"keccak256\":\"0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8\",\"dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4\"]},\"contracts/persistent/vault/utils/VaultLibSafeMath.sol\":{\"keccak256\":\"0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02\",\"dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG\"]},\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/core/fund/comptroller/ComptrollerLib.sol\":{\"keccak256\":\"0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579\",\"dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq\"]},\"contracts/release/core/fund/comptroller/IComptroller.sol\":{\"keccak256\":\"0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97\",\"dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L\"]},\"contracts/release/core/fund/vault/IVault.sol\":{\"keccak256\":\"0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599\",\"dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG\"]},\"contracts/release/core/fund/vault/VaultLib.sol\":{\"keccak256\":\"0x07e49445ab55c01e1b499a48baadc2a15d1eba621f1c6d3ccfdb84c87b976da8\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://56d882459248f73e137db2e097fc56b946147fb28ec21661b77431f88e856cb4\",\"dweb:/ipfs/QmRP6Ry7DCS5uoKxnnkTomHSzbaCze6cHqbR9aLdjoF6vK\"]},\"contracts/release/extensions/IExtension.sol\":{\"keccak256\":\"0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70\",\"dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t\"]},\"contracts/release/extensions/external-position-manager/IExternalPositionManager.sol\":{\"keccak256\":\"0x3af3f634e1f99fb97091b7825c0d2e2baaafc124d4e87d56cb0c17ff8554f6c6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://515470605afe5ef147f30fa75ce7818f0e00e3d321eb81a4d9bffcdefc294495\",\"dweb:/ipfs/QmPKsp99pfHoz9Tfo3ZxnkmqDqJtN9PxqacF2RmeVfxUJF\"]},\"contracts/release/extensions/fee-manager/IFee.sol\":{\"keccak256\":\"0x38e3f324c67f3205e38197165586ea82ca226069902f34214bcde76cf905fcff\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c1fff656d1bdde3324421bc9e77cbfc4e80baf4e665f8713fdb65611b046f4b0\",\"dweb:/ipfs/QmVRFjNwmsVHdh4sp3DWdL74VWmhRhPZE5kDxJiuPL8Gu2\"]},\"contracts/release/extensions/fee-manager/IFeeManager.sol\":{\"keccak256\":\"0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22\",\"dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod\"]},\"contracts/release/extensions/fee-manager/fees/EntranceRateDirectFee.sol\":{\"keccak256\":\"0x3ebac2d81d0cfa623c7af6fce927b76e500214deddef97299ae0fdaac7f3e82c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8fc79a3d8e800d0c1c77920b75ebba743e4936b16796e76fd419d64da9b16ad2\",\"dweb:/ipfs/QmT8iTkf5LHskHCZHPzQ37T1uDTAGQEiWFVAamZ39nA3bJ\"]},\"contracts/release/extensions/fee-manager/fees/utils/EntranceRateFeeBase.sol\":{\"keccak256\":\"0xf12110b2c9f9763f15185fc7939d6e581f30a99b1f55c84d727838add42d262a\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6455aa6dbfaec13da1564632c2ca94ebcebc0a8a131bd0a11c208acb46925137\",\"dweb:/ipfs/QmbyQx6m7HdkH4vhdynqEQNvB8sUQDyAuRCY8jKCgsLQCm\"]},\"contracts/release/extensions/fee-manager/fees/utils/FeeBase.sol\":{\"keccak256\":\"0x485c03e3088b6dc9828d2e895cce6856501448b4a2c71a0acae4e012bc644b14\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b63aef3cd20eb4dd585632c74619235ef1d5c3c2c52fd61f8802d0a50569b767\",\"dweb:/ipfs/QmSuTYChj2j8NnLYCg47feAJ5P9NheQpK46fG6fhmMtimA\"]},\"contracts/release/extensions/fee-manager/fees/utils/SettableFeeRecipientBase.sol\":{\"keccak256\":\"0xb3b4b3cd13141871c912310ce1dace2e94f89eee7a52b95d4df9e4642a958f4d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b120324be26eddebb2fd5d15ecdbef4bfc5a5bbd05bd60796677157480842aa1\",\"dweb:/ipfs/Qmab9XnYHvG3zWtQaTee24qU7VK94MMLySPkrZqDBbB5NN\"]},\"contracts/release/extensions/fee-manager/fees/utils/UpdatableFeeRecipientBase.sol\":{\"keccak256\":\"0xac875e8923b29be8e697be04177b56d3f75d0ef4a56bc0cec2d2583efd802064\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://99d359ece6663298f925765b7558beb694bf3dbe3831fc60e016fd37b10d358c\",\"dweb:/ipfs/QmduCuit88g1HEb9HxF1aH82Ezx388M5CBLfUfLraKgcfA\"]},\"contracts/release/extensions/policy-manager/IPolicyManager.sol\":{\"keccak256\":\"0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa\",\"dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb\"]},\"contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol\":{\"keccak256\":\"0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f\",\"dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol\":{\"keccak256\":\"0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0\",\"dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol\":{\"keccak256\":\"0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b\",\"dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3\"]},\"contracts/release/infrastructure/protocol-fees/IProtocolFeeTracker.sol\":{\"keccak256\":\"0x232b347f83457439064add7369bfe1930c7cb56f15930bb87d640e909c15e447\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://24f9af5eebdd373b1d7a598c096eb6def31b2640d54416d7d5a7226e1cef17e6\",\"dweb:/ipfs/QmStq9ByGuSYdKwTmZf52L1X6sZVJUfXTnoVbnjLLiUcHG\"]},\"contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol\":{\"keccak256\":\"0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965\",\"dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ\"]},\"contracts/release/interfaces/IGsnForwarder.sol\":{\"keccak256\":\"0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29\",\"dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G\"]},\"contracts/release/interfaces/IGsnPaymaster.sol\":{\"keccak256\":\"0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4\",\"dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF\"]},\"contracts/release/interfaces/IGsnTypes.sol\":{\"keccak256\":\"0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7\",\"dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C\"]},\"contracts/release/interfaces/IWETH.sol\":{\"keccak256\":\"0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2\",\"dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/beacon-proxy/IBeacon.sol\":{\"keccak256\":\"0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39\",\"dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V\"]},\"contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol\":{\"keccak256\":\"0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be\",\"dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20Burnable.sol\":{\"keccak256\":\"0x9c0eb3b0e11d2480d49991dc384f1e5f9c9b9967cc81944d50916a9b9c6c4984\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99e4033d778624992e86f0b6d801a4f6d7b5c0cd5c79c1296be90a051ad5f5af\",\"dweb:/ipfs/QmShYmkUqh6pDEeoWadZ24icmCr4C2Xys1uE5boivPmbwf\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_feeManager", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "comptrollerProxy", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "rate", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "FundSettingsAdded", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "comptrollerProxy", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "recipient", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "RecipientSetForFund", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "comptrollerProxy", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "payer", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "sharesQuantity", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "Settled", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "activateForFund" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_settingsData", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "addFundSettings" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getFeeManager", - "outputs": [ - { - "internalType": "address", - "name": "feeManager_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getRateForFund", - "outputs": [ - { - "internalType": "uint256", - "name": "rate_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getRecipientForFund", - "outputs": [ - { - "internalType": "address", - "name": "recipient_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getSettlementType", - "outputs": [ - { - "internalType": "enum IFeeManager.SettlementType", - "name": "settlementType_", - "type": "uint8" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "payout", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_recipient", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setRecipientForFund" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "enum IFeeManager.FeeHook", - "name": "", - "type": "uint8" - }, - { - "internalType": "bytes", - "name": "_settlementData", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "settle", - "outputs": [ - { - "internalType": "enum IFeeManager.SettlementType", - "name": "settlementType_", - "type": "uint8" - }, - { - "internalType": "address", - "name": "payer_", - "type": "address" - }, - { - "internalType": "uint256", - "name": "sharesDue_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "enum IFeeManager.FeeHook", - "name": "_hook", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function", - "name": "settlesOnHook", - "outputs": [ - { - "internalType": "bool", - "name": "settles_", - "type": "bool" - }, - { - "internalType": "bool", - "name": "usesGav_", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "enum IFeeManager.FeeHook", - "name": "", - "type": "uint8" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "update" - }, - { - "inputs": [ - { - "internalType": "enum IFeeManager.FeeHook", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function", - "name": "updatesOnHook", - "outputs": [ - { - "internalType": "bool", - "name": "updates_", - "type": "bool" - }, - { - "internalType": "bool", - "name": "usesGav_", - "type": "bool" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "activateForFund(address,address)": { - "details": "Unimplemented by default, may be overrode." - }, - "addFundSettings(address,bytes)": { - "details": "onlyFeeManager validated by parent", - "params": { - "_comptrollerProxy": "The ComptrollerProxy of the fund", - "_settingsData": "Encoded settings to apply to the fee for a fund" - } - }, - "getFeeManager()": { - "returns": { - "feeManager_": "The `FEE_MANAGER` variable value" - } - }, - "getRateForFund(address)": { - "params": { - "_comptrollerProxy": "The ComptrollerProxy contract for the fund" - }, - "returns": { - "rate_": "The `rate` variable value" - } - }, - "getRecipientForFund(address)": { - "params": { - "_comptrollerProxy": "The ComptrollerProxy contract for the fund" - }, - "returns": { - "recipient_": "The recipient" - } - }, - "getSettlementType()": { - "returns": { - "settlementType_": "The `SETTLEMENT_TYPE` variable value" - } - }, - "payout(address,address)": { - "details": "Returns false by default, can be overridden by fee" - }, - "setRecipientForFund(address,address)": { - "params": { - "_comptrollerProxy": "The ComptrollerProxy contract for the fund", - "_recipient": "The fee recipient" - } - }, - "settle(address,address,uint8,bytes,uint256)": { - "params": { - "_comptrollerProxy": "The ComptrollerProxy of the fund", - "_settlementData": "Encoded args to use in calculating the settlement" - }, - "returns": { - "payer_": "The payer of shares due", - "settlementType_": "The type of settlement", - "sharesDue_": "The amount of shares due" - } - }, - "settlesOnHook(uint8)": { - "params": { - "_hook": "The FeeHook" - }, - "returns": { - "settles_": "True if the fee settles on the _hook", - "usesGav_": "True if the fee uses GAV during settle() for the _hook" - } - }, - "update(address,address,uint8,bytes,uint256)": { - "details": "Unimplemented by default, can be overridden by fee" - }, - "updatesOnHook(uint8)": { - "details": "Returns false values by default, can be overridden by fee", - "returns": { - "updates_": "True if the fee updates on the _hook", - "usesGav_": "True if the fee uses GAV during update() for the _hook" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "activateForFund(address,address)": { - "notice": "Allows Fee to run logic during fund activation" - }, - "addFundSettings(address,bytes)": { - "notice": "Add the initial fee settings for a fund" - }, - "getFeeManager()": { - "notice": "Gets the `FEE_MANAGER` variable" - }, - "getRateForFund(address)": { - "notice": "Gets the `rate` variable for a fund" - }, - "getRecipientForFund(address)": { - "notice": "Gets the recipient of the fee for a given fund" - }, - "getSettlementType()": { - "notice": "Gets the `SETTLEMENT_TYPE` variable" - }, - "payout(address,address)": { - "notice": "Runs payout logic for a fee that utilizes shares outstanding as its settlement type" - }, - "setRecipientForFund(address,address)": { - "notice": "Sets the fee recipient for the given fund" - }, - "settle(address,address,uint8,bytes,uint256)": { - "notice": "Settles the fee" - }, - "settlesOnHook(uint8)": { - "notice": "Gets whether the fee settles and requires GAV on a particular hook" - }, - "update(address,address,uint8,bytes,uint256)": { - "notice": "Update fee state after all settlement has occurred during a given fee hook" - }, - "updatesOnHook(uint8)": { - "notice": "Gets whether the fee updates and requires GAV on a particular hook" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/fee-manager/fees/EntranceRateDirectFee.sol": "EntranceRateDirectFee" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/dispatcher/IDispatcher.sol": { - "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", - "urls": [ - "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", - "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/external-positions/IExternalPosition.sol": { - "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", - "urls": [ - "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", - "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/protocol-fee-reserve/interfaces/IProtocolFeeReserve1.sol": { - "keccak256": "0x2728878c423db523bc95189137e8c58d2d7db9f56bbd5c6b1f988c08b551fbab", - "urls": [ - "bzz-raw://3b0df1d2eb74151265d03ab91a7c341f7beca475dd2f4d669052dbc4ee2c06ac", - "dweb:/ipfs/QmVx1cgrxQNYfdK1Kn15pcgqf79Uw8bF3U6i7F2HG2rj6G" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/VaultLibBase1.sol": { - "keccak256": "0xa4dac1e4cdb311a2ab187135355357d8790c505ef36dd912c057fe53743d30b5", - "urls": [ - "bzz-raw://b66efe821016ab927c949263023260515e90f5d480dc8d94eefbfeec7bf7490b", - "dweb:/ipfs/QmNY3xKnhL9EptAbxGvXHGAXfV9pj3dDPwsZnKrPs54ZHw" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/VaultLibBase2.sol": { - "keccak256": "0xf7d31f2a9a47770ed3f444be2c4fe9262ddb55fef7f25e546b1f03c9afec4c09", - "urls": [ - "bzz-raw://9353ddce7c9b8b3c13fed23fe8edec99ca610d791b0c5b204b3d01f1f08d07d2", - "dweb:/ipfs/QmeVsEh3joCjv49BRXeHASevnZZ5xdZXpkctHT8BPf37N2" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/VaultLibBaseCore.sol": { - "keccak256": "0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074", - "urls": [ - "bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd", - "dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IExternalPositionVault.sol": { - "keccak256": "0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6", - "urls": [ - "bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d", - "dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol": { - "keccak256": "0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0", - "urls": [ - "bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb", - "dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IMigratableVault.sol": { - "keccak256": "0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238", - "urls": [ - "bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6", - "dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IVaultCore.sol": { - "keccak256": "0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80", - "urls": [ - "bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd", - "dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/utils/ProxiableVaultLib.sol": { - "keccak256": "0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76", - "urls": [ - "bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44", - "dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/utils/SharesTokenBase.sol": { - "keccak256": "0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113", - "urls": [ - "bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8", - "dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/utils/VaultLibSafeMath.sol": { - "keccak256": "0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d", - "urls": [ - "bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02", - "dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund-deployer/IFundDeployer.sol": { - "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", - "urls": [ - "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", - "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/comptroller/ComptrollerLib.sol": { - "keccak256": "0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64", - "urls": [ - "bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579", - "dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/comptroller/IComptroller.sol": { - "keccak256": "0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f", - "urls": [ - "bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97", - "dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/vault/IVault.sol": { - "keccak256": "0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd", - "urls": [ - "bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599", - "dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/vault/VaultLib.sol": { - "keccak256": "0x07e49445ab55c01e1b499a48baadc2a15d1eba621f1c6d3ccfdb84c87b976da8", - "urls": [ - "bzz-raw://56d882459248f73e137db2e097fc56b946147fb28ec21661b77431f88e856cb4", - "dweb:/ipfs/QmRP6Ry7DCS5uoKxnnkTomHSzbaCze6cHqbR9aLdjoF6vK" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/IExtension.sol": { - "keccak256": "0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b", - "urls": [ - "bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70", - "dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/IExternalPositionManager.sol": { - "keccak256": "0x3af3f634e1f99fb97091b7825c0d2e2baaafc124d4e87d56cb0c17ff8554f6c6", - "urls": [ - "bzz-raw://515470605afe5ef147f30fa75ce7818f0e00e3d321eb81a4d9bffcdefc294495", - "dweb:/ipfs/QmPKsp99pfHoz9Tfo3ZxnkmqDqJtN9PxqacF2RmeVfxUJF" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/fee-manager/IFee.sol": { - "keccak256": "0x38e3f324c67f3205e38197165586ea82ca226069902f34214bcde76cf905fcff", - "urls": [ - "bzz-raw://c1fff656d1bdde3324421bc9e77cbfc4e80baf4e665f8713fdb65611b046f4b0", - "dweb:/ipfs/QmVRFjNwmsVHdh4sp3DWdL74VWmhRhPZE5kDxJiuPL8Gu2" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/fee-manager/IFeeManager.sol": { - "keccak256": "0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51", - "urls": [ - "bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22", - "dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/fee-manager/fees/EntranceRateDirectFee.sol": { - "keccak256": "0x3ebac2d81d0cfa623c7af6fce927b76e500214deddef97299ae0fdaac7f3e82c", - "urls": [ - "bzz-raw://8fc79a3d8e800d0c1c77920b75ebba743e4936b16796e76fd419d64da9b16ad2", - "dweb:/ipfs/QmT8iTkf5LHskHCZHPzQ37T1uDTAGQEiWFVAamZ39nA3bJ" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/fee-manager/fees/utils/EntranceRateFeeBase.sol": { - "keccak256": "0xf12110b2c9f9763f15185fc7939d6e581f30a99b1f55c84d727838add42d262a", - "urls": [ - "bzz-raw://6455aa6dbfaec13da1564632c2ca94ebcebc0a8a131bd0a11c208acb46925137", - "dweb:/ipfs/QmbyQx6m7HdkH4vhdynqEQNvB8sUQDyAuRCY8jKCgsLQCm" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/fee-manager/fees/utils/FeeBase.sol": { - "keccak256": "0x485c03e3088b6dc9828d2e895cce6856501448b4a2c71a0acae4e012bc644b14", - "urls": [ - "bzz-raw://b63aef3cd20eb4dd585632c74619235ef1d5c3c2c52fd61f8802d0a50569b767", - "dweb:/ipfs/QmSuTYChj2j8NnLYCg47feAJ5P9NheQpK46fG6fhmMtimA" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/fee-manager/fees/utils/SettableFeeRecipientBase.sol": { - "keccak256": "0xb3b4b3cd13141871c912310ce1dace2e94f89eee7a52b95d4df9e4642a958f4d", - "urls": [ - "bzz-raw://b120324be26eddebb2fd5d15ecdbef4bfc5a5bbd05bd60796677157480842aa1", - "dweb:/ipfs/Qmab9XnYHvG3zWtQaTee24qU7VK94MMLySPkrZqDBbB5NN" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/fee-manager/fees/utils/UpdatableFeeRecipientBase.sol": { - "keccak256": "0xac875e8923b29be8e697be04177b56d3f75d0ef4a56bc0cec2d2583efd802064", - "urls": [ - "bzz-raw://99d359ece6663298f925765b7558beb694bf3dbe3831fc60e016fd37b10d358c", - "dweb:/ipfs/QmduCuit88g1HEb9HxF1aH82Ezx388M5CBLfUfLraKgcfA" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/policy-manager/IPolicyManager.sol": { - "keccak256": "0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32", - "urls": [ - "bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa", - "dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol": { - "keccak256": "0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609", - "urls": [ - "bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f", - "dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol": { - "keccak256": "0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01", - "urls": [ - "bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0", - "dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol": { - "keccak256": "0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196", - "urls": [ - "bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b", - "dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/protocol-fees/IProtocolFeeTracker.sol": { - "keccak256": "0x232b347f83457439064add7369bfe1930c7cb56f15930bb87d640e909c15e447", - "urls": [ - "bzz-raw://24f9af5eebdd373b1d7a598c096eb6def31b2640d54416d7d5a7226e1cef17e6", - "dweb:/ipfs/QmStq9ByGuSYdKwTmZf52L1X6sZVJUfXTnoVbnjLLiUcHG" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol": { - "keccak256": "0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794", - "urls": [ - "bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965", - "dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IGsnForwarder.sol": { - "keccak256": "0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030", - "urls": [ - "bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29", - "dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IGsnPaymaster.sol": { - "keccak256": "0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c", - "urls": [ - "bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4", - "dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IGsnTypes.sol": { - "keccak256": "0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714", - "urls": [ - "bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7", - "dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IWETH.sol": { - "keccak256": "0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2", - "urls": [ - "bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2", - "dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AddressArrayLib.sol": { - "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", - "urls": [ - "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", - "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/beacon-proxy/IBeacon.sol": { - "keccak256": "0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2", - "urls": [ - "bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39", - "dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol": { - "keccak256": "0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc", - "urls": [ - "bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be", - "dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20Burnable.sol": { - "keccak256": "0x9c0eb3b0e11d2480d49991dc384f1e5f9c9b9967cc81944d50916a9b9c6c4984", - "urls": [ - "bzz-raw://99e4033d778624992e86f0b6d801a4f6d7b5c0cd5c79c1296be90a051ad5f5af", - "dweb:/ipfs/QmShYmkUqh6pDEeoWadZ24icmCr4C2Xys1uE5boivPmbwf" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { - "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", - "urls": [ - "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", - "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Address.sol": { - "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", - "urls": [ - "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", - "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 146 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_feeManager", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "activateForFund", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "addFundSettings", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" }, { "name": "_settingsData", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "getFeeManager", "inputs": [], "outputs": [ { "name": "feeManager_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getRateForFund", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "rate_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "getRecipientForFund", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "recipient_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getSettlementType", "inputs": [], "outputs": [ { "name": "settlementType_", "type": "uint8", "internalType": "enum IFeeManager.SettlementType" } ], "stateMutability": "view" }, { "type": "function", "name": "payout", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "setRecipientForFund", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" }, { "name": "_recipient", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "settle", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" }, { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "uint8", "internalType": "enum IFeeManager.FeeHook" }, { "name": "_settlementData", "type": "bytes", "internalType": "bytes" }, { "name": "", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "settlementType_", "type": "uint8", "internalType": "enum IFeeManager.SettlementType" }, { "name": "payer_", "type": "address", "internalType": "address" }, { "name": "sharesDue_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "settlesOnHook", "inputs": [ { "name": "_hook", "type": "uint8", "internalType": "enum IFeeManager.FeeHook" } ], "outputs": [ { "name": "settles_", "type": "bool", "internalType": "bool" }, { "name": "usesGav_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "update", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "uint8", "internalType": "enum IFeeManager.FeeHook" }, { "name": "", "type": "bytes", "internalType": "bytes" }, { "name": "", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "updatesOnHook", "inputs": [ { "name": "", "type": "uint8", "internalType": "enum IFeeManager.FeeHook" } ], "outputs": [ { "name": "updates_", "type": "bool", "internalType": "bool" }, { "name": "usesGav_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "event", "name": "FundSettingsAdded", "inputs": [ { "name": "comptrollerProxy", "type": "address", "indexed": true, "internalType": "address" }, { "name": "rate", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "RecipientSetForFund", "inputs": [ { "name": "comptrollerProxy", "type": "address", "indexed": true, "internalType": "address" }, { "name": "recipient", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "Settled", "inputs": [ { "name": "comptrollerProxy", "type": "address", "indexed": true, "internalType": "address" }, { "name": "payer", "type": "address", "indexed": true, "internalType": "address" }, { "name": "sharesQuantity", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false } ], "bytecode": { "object": "0x60c060405234801561001057600080fd5b50604051610bea380380610bea8339818101604052602081101561003357600080fd5b5051606081901b6001600160601b031916608052600160f81b60a0526001600160a01b03166001610b646100866000398061061e52806106615250806104e552806107b852806107e55250610b646000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c806362780b3c1161007157806362780b3c1461033a5780637bdd5b1d1461037c5780638c55f80f146103a5578063b78b4813146103d3578063e337a91f14610415578063f2d6382614610435576100b4565b80630f5f6b4f146100b9578063233faf5f1461013b5780633146d058146101ce578063320f0ddd146101fc5780633eecc2bf1461023757806341892d7e1461026f575b600080fd5b610139600480360360408110156100cf57600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156100fa57600080fd5b82018360208201111561010c57600080fd5b8035906020019184600183028401116401000000008311171561012e57600080fd5b50909250905061043d565b005b610139600480360360a081101561015157600080fd5b6001600160a01b03823581169260208101359091169160ff604083013516919081019060808101606082013564010000000081111561018f57600080fd5b8201836020820111156101a157600080fd5b803590602001918460018302840111640100000000831117156101c357600080fd5b919350915035610480565b610139600480360360408110156101e457600080fd5b506001600160a01b0381358116916020013516610488565b61021c6004803603602081101561021257600080fd5b503560ff1661048c565b60408051921515835290151560208301528051918290030190f35b61025d6004803603602081101561024d57600080fd5b50356001600160a01b03166104bb565b60408051918252519081900360200190f35b610302600480360360a081101561028557600080fd5b6001600160a01b03823581169260208101359091169160ff60408301351691908101906080810160608201356401000000008111156102c357600080fd5b8201836020820111156102d557600080fd5b803590602001918460018302840111640100000000831117156102f757600080fd5b9193509150356104d6565b6040518084600581111561031257fe5b8152602001836001600160a01b03168152602001828152602001935050505060405180910390f35b6103606004803603602081101561035057600080fd5b50356001600160a01b031661064e565b604080516001600160a01b039092168252519081900360200190f35b61038461065f565b6040518082600581111561039457fe5b815260200191505060405180910390f35b610139600480360360408110156103bb57600080fd5b506001600160a01b0381358116916020013516610683565b610401600480360360408110156103e957600080fd5b506001600160a01b03813581169160200135166107a6565b604080519115158252519081900360200190f35b61021c6004803603602081101561042b57600080fd5b503560ff166107ae565b6103606107b6565b6104488383836107da565b60008282604081101561045a57600080fd5b50602001356001600160a01b03169050801561047a5761047a8482610927565b50505050565b505050505050565b5050565b600080600283600381111561049d57fe5b14156104af57506001905060006104b6565b5060009050805b915091565b6001600160a01b031660009081526020819052604090205490565b60008080336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105415760405162461bcd60e51b8152600401808060200182810382526025815260200180610a986025913960400191505060405180910390fd5b600061058287878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061097e92505050565b6001600160a01b038d1660009081526020819052604090205492955092506105b890506127106105b284846109b2565b90610a12565b9250826105d15760008060009450945094505050610642565b836001600160a01b03168b6001600160a01b03167f7e79a2206061184e05985ae0578dec52f817756a441996f984cdc817efc25a68856040518082815260200191505060405180910390a37f0000000000000000000000000000000000000000000000000000000000000000945050505b96509650969350505050565b600061065982610a79565b92915050565b7f000000000000000000000000000000000000000000000000000000000000000090565b816001600160a01b031663c98091876040518163ffffffff1660e01b815260040160206040518083038186803b1580156106bc57600080fd5b505afa1580156106d0573d6000803e3d6000fd5b505050506040513d60208110156106e657600080fd5b505160408051631127a41d60e31b815290516001600160a01b039092169163893d20e891600480820192602092909190829003018186803b15801561072a57600080fd5b505afa15801561073e573d6000803e3d6000fd5b505050506040513d602081101561075457600080fd5b50516001600160a01b0316331461079c5760405162461bcd60e51b8152600401808060200182810382526030815260200180610b286030913960400191505060405180910390fd5b6104888282610927565b600092915050565b600080915091565b7f000000000000000000000000000000000000000000000000000000000000000090565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146108415760405162461bcd60e51b8152600401808060200182810382526025815260200180610a986025913960400191505060405180910390fd5b60008282602081101561085357600080fd5b50359050806108935760405162461bcd60e51b8152600401808060200182810382526024815260200180610b046024913960400191505060405180910390fd5b61271081106108d35760405162461bcd60e51b8152600401808060200182810382526026815260200180610ade6026913960400191505060405180910390fd5b6001600160a01b03841660008181526020818152604091829020849055815184815291517f90b7d1516011c1da1279f3ae0ed052b1416e7c373d4ec40cf515aa53c5f839df9281900390910190a250505050565b6001600160a01b0382811660008181526001602052604080822080546001600160a01b0319169486169485179055517fa11fc98cfb391622348acc16de92f0efb77d55f71a6e9fa18bfef387ae8d19ce9190a35050565b600080600083806020019051606081101561099857600080fd5b508051602082015160409092015190969195509350915050565b6000826109c157506000610659565b828202828482816109ce57fe5b0414610a0b5760405162461bcd60e51b8152600401808060200182810382526021815260200180610abd6021913960400191505060405180910390fd5b9392505050565b6000808211610a68576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b818381610a7157fe5b049392505050565b6001600160a01b03908116600090815260016020526040902054169056fe4f6e6c7920746865204665654d616e6765722063616e206d616b6520746869732063616c6c536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7761646446756e6453657474696e67733a204665652072617465206d617820657863656564656461646446756e6453657474696e67733a204665652072617465206d757374206265203e305f5f736574526563697069656e74466f7246756e643a204f6e6c79207661756c74206f776e65722063616c6c61626c65a164736f6c634300060c000a", "sourceMap": "542:1307:146:-:0;;;629:130;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;629:130:146;705:25:154;;;;-1:-1:-1;;;;;;705:25:154;;;-1:-1:-1;;;1352:33:152::1;::::0;-1:-1:-1;;;;;542:1307:146;718:33;542:1307;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106100b45760003560e01c806362780b3c1161007157806362780b3c1461033a5780637bdd5b1d1461037c5780638c55f80f146103a5578063b78b4813146103d3578063e337a91f14610415578063f2d6382614610435576100b4565b80630f5f6b4f146100b9578063233faf5f1461013b5780633146d058146101ce578063320f0ddd146101fc5780633eecc2bf1461023757806341892d7e1461026f575b600080fd5b610139600480360360408110156100cf57600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156100fa57600080fd5b82018360208201111561010c57600080fd5b8035906020019184600183028401116401000000008311171561012e57600080fd5b50909250905061043d565b005b610139600480360360a081101561015157600080fd5b6001600160a01b03823581169260208101359091169160ff604083013516919081019060808101606082013564010000000081111561018f57600080fd5b8201836020820111156101a157600080fd5b803590602001918460018302840111640100000000831117156101c357600080fd5b919350915035610480565b610139600480360360408110156101e457600080fd5b506001600160a01b0381358116916020013516610488565b61021c6004803603602081101561021257600080fd5b503560ff1661048c565b60408051921515835290151560208301528051918290030190f35b61025d6004803603602081101561024d57600080fd5b50356001600160a01b03166104bb565b60408051918252519081900360200190f35b610302600480360360a081101561028557600080fd5b6001600160a01b03823581169260208101359091169160ff60408301351691908101906080810160608201356401000000008111156102c357600080fd5b8201836020820111156102d557600080fd5b803590602001918460018302840111640100000000831117156102f757600080fd5b9193509150356104d6565b6040518084600581111561031257fe5b8152602001836001600160a01b03168152602001828152602001935050505060405180910390f35b6103606004803603602081101561035057600080fd5b50356001600160a01b031661064e565b604080516001600160a01b039092168252519081900360200190f35b61038461065f565b6040518082600581111561039457fe5b815260200191505060405180910390f35b610139600480360360408110156103bb57600080fd5b506001600160a01b0381358116916020013516610683565b610401600480360360408110156103e957600080fd5b506001600160a01b03813581169160200135166107a6565b604080519115158252519081900360200190f35b61021c6004803603602081101561042b57600080fd5b503560ff166107ae565b6103606107b6565b6104488383836107da565b60008282604081101561045a57600080fd5b50602001356001600160a01b03169050801561047a5761047a8482610927565b50505050565b505050505050565b5050565b600080600283600381111561049d57fe5b14156104af57506001905060006104b6565b5060009050805b915091565b6001600160a01b031660009081526020819052604090205490565b60008080336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105415760405162461bcd60e51b8152600401808060200182810382526025815260200180610a986025913960400191505060405180910390fd5b600061058287878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061097e92505050565b6001600160a01b038d1660009081526020819052604090205492955092506105b890506127106105b284846109b2565b90610a12565b9250826105d15760008060009450945094505050610642565b836001600160a01b03168b6001600160a01b03167f7e79a2206061184e05985ae0578dec52f817756a441996f984cdc817efc25a68856040518082815260200191505060405180910390a37f0000000000000000000000000000000000000000000000000000000000000000945050505b96509650969350505050565b600061065982610a79565b92915050565b7f000000000000000000000000000000000000000000000000000000000000000090565b816001600160a01b031663c98091876040518163ffffffff1660e01b815260040160206040518083038186803b1580156106bc57600080fd5b505afa1580156106d0573d6000803e3d6000fd5b505050506040513d60208110156106e657600080fd5b505160408051631127a41d60e31b815290516001600160a01b039092169163893d20e891600480820192602092909190829003018186803b15801561072a57600080fd5b505afa15801561073e573d6000803e3d6000fd5b505050506040513d602081101561075457600080fd5b50516001600160a01b0316331461079c5760405162461bcd60e51b8152600401808060200182810382526030815260200180610b286030913960400191505060405180910390fd5b6104888282610927565b600092915050565b600080915091565b7f000000000000000000000000000000000000000000000000000000000000000090565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146108415760405162461bcd60e51b8152600401808060200182810382526025815260200180610a986025913960400191505060405180910390fd5b60008282602081101561085357600080fd5b50359050806108935760405162461bcd60e51b8152600401808060200182810382526024815260200180610b046024913960400191505060405180910390fd5b61271081106108d35760405162461bcd60e51b8152600401808060200182810382526026815260200180610ade6026913960400191505060405180910390fd5b6001600160a01b03841660008181526020818152604091829020849055815184815291517f90b7d1516011c1da1279f3ae0ed052b1416e7c373d4ec40cf515aa53c5f839df9281900390910190a250505050565b6001600160a01b0382811660008181526001602052604080822080546001600160a01b0319169486169485179055517fa11fc98cfb391622348acc16de92f0efb77d55f71a6e9fa18bfef387ae8d19ce9190a35050565b600080600083806020019051606081101561099857600080fd5b508051602082015160409092015190969195509350915050565b6000826109c157506000610659565b828202828482816109ce57fe5b0414610a0b5760405162461bcd60e51b8152600401808060200182810382526021815260200180610abd6021913960400191505060405180910390fd5b9392505050565b6000808211610a68576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b818381610a7157fe5b049392505050565b6001600160a01b03908116600090815260016020526040902054169056fe4f6e6c7920746865204665654d616e6765722063616e206d616b6520746869732063616c6c536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7761646446756e6453657474696e67733a204665652072617465206d617820657863656564656461646446756e6453657474696e67733a204665652072617465206d757374206265203e305f5f736574526563697069656e74466f7246756e643a204f6e6c79207661756c74206f776e65722063616c6c61626c65a164736f6c634300060c000a", "sourceMap": "542:1307:146:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1012:385;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1012:385:146;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1012:385:146;;-1:-1:-1;1012:385:146;-1:-1:-1;1012:385:146;:::i;:::-;;1755:175:154;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1755:175:154;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1755:175:154;-1:-1:-1;1755:175:154;;:::i;862:92::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;862:92:154;;;;;;;;;;:::i;3578:289:152:-;;;;;;;;;;;;;;;;-1:-1:-1;3578:289:152;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;4122:154;;;;;;;;;;;;;;;;-1:-1:-1;4122:154:152;-1:-1:-1;;;;;4122:154:152;;:::i;:::-;;;;;;;;;;;;;;;;2459:855;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2459:855:152;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2459:855:152;-1:-1:-1;2459:855:152;;:::i;:::-;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2459:855:152;;;;;;;;;;;;;;;;;;;;;;1583:264:146;;;;;;;;;;;;;;;;-1:-1:-1;1583:264:146;-1:-1:-1;;;;;1583:264:146;;:::i;:::-;;;;-1:-1:-1;;;;;1583:264:146;;;;;;;;;;;;;;4403:163:152;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;883:369:156;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;883:369:156;;;;;;;;;;:::i;1490:104:154:-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1490:104:154;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;2232:196;;;;;;;;;;;;;;;;-1:-1:-1;2232:196:154;;;;:::i;3806:104::-;;;:::i;1012:385:146:-;1140:55;1162:17;1181:13;;1140:21;:55::i;:::-;1209:17;1241:13;;1230:45;;;;;;;;;;-1:-1:-1;1230:45:146;;;-1:-1:-1;;;;;1230:45:146;;-1:-1:-1;1290:23:146;;1286:105;;1329:51;1351:17;1370:9;1329:21;:51::i;:::-;1012:385;;;;:::o;1755:175:154:-;;;;;;;:::o;862:92::-;;;:::o;3578:289:152:-;3692:13;;3749:33;3740:5;:42;;;;;;;;;3736:93;;;-1:-1:-1;3806:4:152;;-1:-1:-1;3812:5:152;3798:20;;3736:93;-1:-1:-1;3847:5:152;;-1:-1:-1;3847:5:152;3578:289;;;;:::o;4122:154::-;-1:-1:-1;;;;;4228:41:152;4196:13;4228:41;;;;;;;;;;;;4122:154::o;2459:855::-;2706:42;;;564:10:154;-1:-1:-1;;;;;578:11:154;564:25;;556:75;;;;-1:-1:-1;;;556:75:154;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2833:20:152::1;2890:52;2926:15;;2890:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;2890:35:152::1;::::0;-1:-1:-1;;;2890:52:152:i:1;:::-;-1:-1:-1::0;;;;;2968:41:152;::::1;2953:12;2968:41:::0;;;::::1;::::0;;;;;;;2863:79;;-1:-1:-1;2863:79:152;-1:-1:-1;3032:47:152::1;::::0;-1:-1:-1;859:5:152::1;3032:22;2863:79:::0;2968:41;3032:16:::1;:22::i;:::-;:26:::0;::::1;:47::i;:::-;3019:60:::0;-1:-1:-1;3094:15:152;3090:101:::1;;3133:31;3174:1:::0;3178::::1;3125:55;;;;;;;;;;3090:101;3233:6;-1:-1:-1::0;;;;;3206:46:152::1;3214:17;-1:-1:-1::0;;;;;3206:46:152::1;;3241:10;3206:46;;;;;;;;;;;;;;;;;;3271:15;3263:44;;;;641:1:154;2459:855:152::0;;;;;;;;;;:::o;1583:264:146:-;1736:18;1777:63;1822:17;1777:44;:63::i;:::-;1770:70;1583:264;-1:-1:-1;;1583:264:146:o;4403:163:152:-;4544:15;4403:163;:::o;883:369:156:-;1061:17;-1:-1:-1;;;;;1046:47:156;;:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1046:49:156;1029:79;;;-1:-1:-1;;;1029:79:156;;;;-1:-1:-1;;;;;1029:77:156;;;;;;:79;;;;;1046:49;;1029:79;;;;;;;;:77;:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1029:79:156;-1:-1:-1;;;;;999:109:156;:10;:109;978:204;;;;-1:-1:-1;;;978:204:156;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1193:52;1215:17;1234:10;1193:21;:52::i;1490:104:154:-;1559:4;1490:104;;;;:::o;2232:196::-;2356:13;;2232:196;;;:::o;3806:104::-;3892:11;3806:104;:::o;1624:496:152:-;564:10:154;-1:-1:-1;;;;;578:11:154;564:25;;556:75;;;;-1:-1:-1;;;556:75:154;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1791:12:152::1;1817:13;;1806:36;;;;;;;::::0;::::1;;-1:-1:-1::0;1806:36:152::1;::::0;-1:-1:-1;1860:8:152;1852:57:::1;;;;-1:-1:-1::0;;;1852:57:152::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;859:5;1927:4;:26;1919:77;;;;-1:-1:-1::0;;;1919:77:152::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;2007:41:152;::::1;:22;:41:::0;;;::::1;::::0;;;;;;;;:48;;;2071:42;;;;;;;::::1;::::0;;;;;;;;::::1;641:1:154;1624:496:152::0;;;:::o;715:229:155:-;-1:-1:-1;;;;;812:46:155;;;;;;;:27;:46;;;;;;:59;;-1:-1:-1;;;;;;812:59:155;;;;;;;;;887:50;;;812:46;887:50;715:229;;:::o;3300:318:154:-;3435:14;3463:25;3502:21;3566:15;3555:56;;;;;;;;;;;;;;;-1:-1:-1;3555:56:154;;;;;;;;;;;;;;;-1:-1:-1;3555:56:154;-1:-1:-1;3300:318:154;-1:-1:-1;;3300:318:154:o;3538:215:442:-;3596:7;3619:6;3615:20;;-1:-1:-1;3634:1:442;3627:8;;3615:20;3657:5;;;3661:1;3657;:5;:1;3680:5;;;;;:10;3672:56;;;;-1:-1:-1;;;3672:56:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3745:1;3538:215;-1:-1:-1;;;3538:215:442:o;4217:150::-;4275:7;4306:1;4302;:5;4294:44;;;;;-1:-1:-1;;;4294:44:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;4359:1;4355;:5;;;;;;;4217:150;-1:-1:-1;;;4217:150:442:o;1258:211:155:-;-1:-1:-1;;;;;1416:46:155;;;1375:18;1416:46;;;:27;:46;;;;;;;;1258:211::o", "linkReferences": {}, "immutableReferences": { "39922": [ { "start": 1566, "length": 32 }, { "start": 1633, "length": 32 } ], "40426": [ { "start": 1253, "length": 32 }, { "start": 1976, "length": 32 }, { "start": 2021, "length": 32 } ] } }, "methodIdentifiers": { "activateForFund(address,address)": "3146d058", "addFundSettings(address,bytes)": "0f5f6b4f", "getFeeManager()": "f2d63826", "getRateForFund(address)": "3eecc2bf", "getRecipientForFund(address)": "62780b3c", "getSettlementType()": "7bdd5b1d", "payout(address,address)": "b78b4813", "setRecipientForFund(address,address)": "8c55f80f", "settle(address,address,uint8,bytes,uint256)": "41892d7e", "settlesOnHook(uint8)": "320f0ddd", "update(address,address,uint8,bytes,uint256)": "233faf5f", "updatesOnHook(uint8)": "e337a91f" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_feeManager\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"rate\",\"type\":\"uint256\"}],\"name\":\"FundSettingsAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"}],\"name\":\"RecipientSetForFund\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"payer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"sharesQuantity\",\"type\":\"uint256\"}],\"name\":\"Settled\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"activateForFund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_settingsData\",\"type\":\"bytes\"}],\"name\":\"addFundSettings\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFeeManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"feeManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"}],\"name\":\"getRateForFund\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"rate_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"}],\"name\":\"getRecipientForFund\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"recipient_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getSettlementType\",\"outputs\":[{\"internalType\":\"enum IFeeManager.SettlementType\",\"name\":\"settlementType_\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"payout\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_recipient\",\"type\":\"address\"}],\"name\":\"setRecipientForFund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"enum IFeeManager.FeeHook\",\"name\":\"\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"_settlementData\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"settle\",\"outputs\":[{\"internalType\":\"enum IFeeManager.SettlementType\",\"name\":\"settlementType_\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"payer_\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"sharesDue_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IFeeManager.FeeHook\",\"name\":\"_hook\",\"type\":\"uint8\"}],\"name\":\"settlesOnHook\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"settles_\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"usesGav_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"enum IFeeManager.FeeHook\",\"name\":\"\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"update\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IFeeManager.FeeHook\",\"name\":\"\",\"type\":\"uint8\"}],\"name\":\"updatesOnHook\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"updates_\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"usesGav_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"activateForFund(address,address)\":{\"details\":\"Unimplemented by default, may be overrode.\"},\"addFundSettings(address,bytes)\":{\"details\":\"onlyFeeManager validated by parent\",\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\",\"_settingsData\":\"Encoded settings to apply to the fee for a fund\"}},\"getFeeManager()\":{\"returns\":{\"feeManager_\":\"The `FEE_MANAGER` variable value\"}},\"getRateForFund(address)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy contract for the fund\"},\"returns\":{\"rate_\":\"The `rate` variable value\"}},\"getRecipientForFund(address)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy contract for the fund\"},\"returns\":{\"recipient_\":\"The recipient\"}},\"getSettlementType()\":{\"returns\":{\"settlementType_\":\"The `SETTLEMENT_TYPE` variable value\"}},\"payout(address,address)\":{\"details\":\"Returns false by default, can be overridden by fee\"},\"setRecipientForFund(address,address)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy contract for the fund\",\"_recipient\":\"The fee recipient\"}},\"settle(address,address,uint8,bytes,uint256)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\",\"_settlementData\":\"Encoded args to use in calculating the settlement\"},\"returns\":{\"payer_\":\"The payer of shares due\",\"settlementType_\":\"The type of settlement\",\"sharesDue_\":\"The amount of shares due\"}},\"settlesOnHook(uint8)\":{\"params\":{\"_hook\":\"The FeeHook\"},\"returns\":{\"settles_\":\"True if the fee settles on the _hook\",\"usesGav_\":\"True if the fee uses GAV during settle() for the _hook\"}},\"update(address,address,uint8,bytes,uint256)\":{\"details\":\"Unimplemented by default, can be overridden by fee\"},\"updatesOnHook(uint8)\":{\"details\":\"Returns false values by default, can be overridden by fee\",\"returns\":{\"updates_\":\"True if the fee updates on the _hook\",\"usesGav_\":\"True if the fee uses GAV during update() for the _hook\"}}},\"title\":\"EntranceRateDirectFee Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"activateForFund(address,address)\":{\"notice\":\"Allows Fee to run logic during fund activation\"},\"addFundSettings(address,bytes)\":{\"notice\":\"Add the initial fee settings for a fund\"},\"getFeeManager()\":{\"notice\":\"Gets the `FEE_MANAGER` variable\"},\"getRateForFund(address)\":{\"notice\":\"Gets the `rate` variable for a fund\"},\"getRecipientForFund(address)\":{\"notice\":\"Gets the recipient of the fee for a given fund\"},\"getSettlementType()\":{\"notice\":\"Gets the `SETTLEMENT_TYPE` variable\"},\"payout(address,address)\":{\"notice\":\"Runs payout logic for a fee that utilizes shares outstanding as its settlement type\"},\"setRecipientForFund(address,address)\":{\"notice\":\"Sets the fee recipient for the given fund\"},\"settle(address,address,uint8,bytes,uint256)\":{\"notice\":\"Settles the fee\"},\"settlesOnHook(uint8)\":{\"notice\":\"Gets whether the fee settles and requires GAV on a particular hook\"},\"update(address,address,uint8,bytes,uint256)\":{\"notice\":\"Update fee state after all settlement has occurred during a given fee hook\"},\"updatesOnHook(uint8)\":{\"notice\":\"Gets whether the fee updates and requires GAV on a particular hook\"}},\"notice\":\"An EntranceRateFee that transfers the fee shares to a recipient\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/fee-manager/fees/EntranceRateDirectFee.sol\":\"EntranceRateDirectFee\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/persistent/protocol-fee-reserve/interfaces/IProtocolFeeReserve1.sol\":{\"keccak256\":\"0x2728878c423db523bc95189137e8c58d2d7db9f56bbd5c6b1f988c08b551fbab\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3b0df1d2eb74151265d03ab91a7c341f7beca475dd2f4d669052dbc4ee2c06ac\",\"dweb:/ipfs/QmVx1cgrxQNYfdK1Kn15pcgqf79Uw8bF3U6i7F2HG2rj6G\"]},\"contracts/persistent/vault/VaultLibBase1.sol\":{\"keccak256\":\"0xa4dac1e4cdb311a2ab187135355357d8790c505ef36dd912c057fe53743d30b5\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b66efe821016ab927c949263023260515e90f5d480dc8d94eefbfeec7bf7490b\",\"dweb:/ipfs/QmNY3xKnhL9EptAbxGvXHGAXfV9pj3dDPwsZnKrPs54ZHw\"]},\"contracts/persistent/vault/VaultLibBase2.sol\":{\"keccak256\":\"0xf7d31f2a9a47770ed3f444be2c4fe9262ddb55fef7f25e546b1f03c9afec4c09\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9353ddce7c9b8b3c13fed23fe8edec99ca610d791b0c5b204b3d01f1f08d07d2\",\"dweb:/ipfs/QmeVsEh3joCjv49BRXeHASevnZZ5xdZXpkctHT8BPf37N2\"]},\"contracts/persistent/vault/VaultLibBaseCore.sol\":{\"keccak256\":\"0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd\",\"dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz\"]},\"contracts/persistent/vault/interfaces/IExternalPositionVault.sol\":{\"keccak256\":\"0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d\",\"dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8\"]},\"contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol\":{\"keccak256\":\"0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb\",\"dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU\"]},\"contracts/persistent/vault/interfaces/IMigratableVault.sol\":{\"keccak256\":\"0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6\",\"dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs\"]},\"contracts/persistent/vault/interfaces/IVaultCore.sol\":{\"keccak256\":\"0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd\",\"dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr\"]},\"contracts/persistent/vault/utils/ProxiableVaultLib.sol\":{\"keccak256\":\"0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44\",\"dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4\"]},\"contracts/persistent/vault/utils/SharesTokenBase.sol\":{\"keccak256\":\"0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8\",\"dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4\"]},\"contracts/persistent/vault/utils/VaultLibSafeMath.sol\":{\"keccak256\":\"0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02\",\"dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG\"]},\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/core/fund/comptroller/ComptrollerLib.sol\":{\"keccak256\":\"0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579\",\"dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq\"]},\"contracts/release/core/fund/comptroller/IComptroller.sol\":{\"keccak256\":\"0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97\",\"dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L\"]},\"contracts/release/core/fund/vault/IVault.sol\":{\"keccak256\":\"0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599\",\"dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG\"]},\"contracts/release/core/fund/vault/VaultLib.sol\":{\"keccak256\":\"0x07e49445ab55c01e1b499a48baadc2a15d1eba621f1c6d3ccfdb84c87b976da8\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://56d882459248f73e137db2e097fc56b946147fb28ec21661b77431f88e856cb4\",\"dweb:/ipfs/QmRP6Ry7DCS5uoKxnnkTomHSzbaCze6cHqbR9aLdjoF6vK\"]},\"contracts/release/extensions/IExtension.sol\":{\"keccak256\":\"0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70\",\"dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t\"]},\"contracts/release/extensions/external-position-manager/IExternalPositionManager.sol\":{\"keccak256\":\"0x3af3f634e1f99fb97091b7825c0d2e2baaafc124d4e87d56cb0c17ff8554f6c6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://515470605afe5ef147f30fa75ce7818f0e00e3d321eb81a4d9bffcdefc294495\",\"dweb:/ipfs/QmPKsp99pfHoz9Tfo3ZxnkmqDqJtN9PxqacF2RmeVfxUJF\"]},\"contracts/release/extensions/fee-manager/IFee.sol\":{\"keccak256\":\"0x38e3f324c67f3205e38197165586ea82ca226069902f34214bcde76cf905fcff\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c1fff656d1bdde3324421bc9e77cbfc4e80baf4e665f8713fdb65611b046f4b0\",\"dweb:/ipfs/QmVRFjNwmsVHdh4sp3DWdL74VWmhRhPZE5kDxJiuPL8Gu2\"]},\"contracts/release/extensions/fee-manager/IFeeManager.sol\":{\"keccak256\":\"0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22\",\"dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod\"]},\"contracts/release/extensions/fee-manager/fees/EntranceRateDirectFee.sol\":{\"keccak256\":\"0x3ebac2d81d0cfa623c7af6fce927b76e500214deddef97299ae0fdaac7f3e82c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8fc79a3d8e800d0c1c77920b75ebba743e4936b16796e76fd419d64da9b16ad2\",\"dweb:/ipfs/QmT8iTkf5LHskHCZHPzQ37T1uDTAGQEiWFVAamZ39nA3bJ\"]},\"contracts/release/extensions/fee-manager/fees/utils/EntranceRateFeeBase.sol\":{\"keccak256\":\"0xf12110b2c9f9763f15185fc7939d6e581f30a99b1f55c84d727838add42d262a\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6455aa6dbfaec13da1564632c2ca94ebcebc0a8a131bd0a11c208acb46925137\",\"dweb:/ipfs/QmbyQx6m7HdkH4vhdynqEQNvB8sUQDyAuRCY8jKCgsLQCm\"]},\"contracts/release/extensions/fee-manager/fees/utils/FeeBase.sol\":{\"keccak256\":\"0x485c03e3088b6dc9828d2e895cce6856501448b4a2c71a0acae4e012bc644b14\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b63aef3cd20eb4dd585632c74619235ef1d5c3c2c52fd61f8802d0a50569b767\",\"dweb:/ipfs/QmSuTYChj2j8NnLYCg47feAJ5P9NheQpK46fG6fhmMtimA\"]},\"contracts/release/extensions/fee-manager/fees/utils/SettableFeeRecipientBase.sol\":{\"keccak256\":\"0xb3b4b3cd13141871c912310ce1dace2e94f89eee7a52b95d4df9e4642a958f4d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b120324be26eddebb2fd5d15ecdbef4bfc5a5bbd05bd60796677157480842aa1\",\"dweb:/ipfs/Qmab9XnYHvG3zWtQaTee24qU7VK94MMLySPkrZqDBbB5NN\"]},\"contracts/release/extensions/fee-manager/fees/utils/UpdatableFeeRecipientBase.sol\":{\"keccak256\":\"0xac875e8923b29be8e697be04177b56d3f75d0ef4a56bc0cec2d2583efd802064\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://99d359ece6663298f925765b7558beb694bf3dbe3831fc60e016fd37b10d358c\",\"dweb:/ipfs/QmduCuit88g1HEb9HxF1aH82Ezx388M5CBLfUfLraKgcfA\"]},\"contracts/release/extensions/policy-manager/IPolicyManager.sol\":{\"keccak256\":\"0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa\",\"dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb\"]},\"contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol\":{\"keccak256\":\"0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f\",\"dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol\":{\"keccak256\":\"0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0\",\"dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol\":{\"keccak256\":\"0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b\",\"dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3\"]},\"contracts/release/infrastructure/protocol-fees/IProtocolFeeTracker.sol\":{\"keccak256\":\"0x232b347f83457439064add7369bfe1930c7cb56f15930bb87d640e909c15e447\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://24f9af5eebdd373b1d7a598c096eb6def31b2640d54416d7d5a7226e1cef17e6\",\"dweb:/ipfs/QmStq9ByGuSYdKwTmZf52L1X6sZVJUfXTnoVbnjLLiUcHG\"]},\"contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol\":{\"keccak256\":\"0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965\",\"dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ\"]},\"contracts/release/interfaces/IGsnForwarder.sol\":{\"keccak256\":\"0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29\",\"dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G\"]},\"contracts/release/interfaces/IGsnPaymaster.sol\":{\"keccak256\":\"0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4\",\"dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF\"]},\"contracts/release/interfaces/IGsnTypes.sol\":{\"keccak256\":\"0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7\",\"dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C\"]},\"contracts/release/interfaces/IWETH.sol\":{\"keccak256\":\"0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2\",\"dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/beacon-proxy/IBeacon.sol\":{\"keccak256\":\"0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39\",\"dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V\"]},\"contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol\":{\"keccak256\":\"0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be\",\"dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20Burnable.sol\":{\"keccak256\":\"0x9c0eb3b0e11d2480d49991dc384f1e5f9c9b9967cc81944d50916a9b9c6c4984\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99e4033d778624992e86f0b6d801a4f6d7b5c0cd5c79c1296be90a051ad5f5af\",\"dweb:/ipfs/QmShYmkUqh6pDEeoWadZ24icmCr4C2Xys1uE5boivPmbwf\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_feeManager", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "comptrollerProxy", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "rate", "type": "uint256", "indexed": false } ], "type": "event", "name": "FundSettingsAdded", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "comptrollerProxy", "type": "address", "indexed": true }, { "internalType": "address", "name": "recipient", "type": "address", "indexed": true } ], "type": "event", "name": "RecipientSetForFund", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "comptrollerProxy", "type": "address", "indexed": true }, { "internalType": "address", "name": "payer", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "sharesQuantity", "type": "uint256", "indexed": false } ], "type": "event", "name": "Settled", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "activateForFund" }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" }, { "internalType": "bytes", "name": "_settingsData", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "addFundSettings" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getFeeManager", "outputs": [ { "internalType": "address", "name": "feeManager_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getRateForFund", "outputs": [ { "internalType": "uint256", "name": "rate_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getRecipientForFund", "outputs": [ { "internalType": "address", "name": "recipient_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getSettlementType", "outputs": [ { "internalType": "enum IFeeManager.SettlementType", "name": "settlementType_", "type": "uint8" } ] }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "payout", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" }, { "internalType": "address", "name": "_recipient", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "setRecipientForFund" }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" }, { "internalType": "address", "name": "", "type": "address" }, { "internalType": "enum IFeeManager.FeeHook", "name": "", "type": "uint8" }, { "internalType": "bytes", "name": "_settlementData", "type": "bytes" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "settle", "outputs": [ { "internalType": "enum IFeeManager.SettlementType", "name": "settlementType_", "type": "uint8" }, { "internalType": "address", "name": "payer_", "type": "address" }, { "internalType": "uint256", "name": "sharesDue_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "enum IFeeManager.FeeHook", "name": "_hook", "type": "uint8" } ], "stateMutability": "view", "type": "function", "name": "settlesOnHook", "outputs": [ { "internalType": "bool", "name": "settles_", "type": "bool" }, { "internalType": "bool", "name": "usesGav_", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "address", "name": "", "type": "address" }, { "internalType": "enum IFeeManager.FeeHook", "name": "", "type": "uint8" }, { "internalType": "bytes", "name": "", "type": "bytes" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "update" }, { "inputs": [ { "internalType": "enum IFeeManager.FeeHook", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function", "name": "updatesOnHook", "outputs": [ { "internalType": "bool", "name": "updates_", "type": "bool" }, { "internalType": "bool", "name": "usesGav_", "type": "bool" } ] } ], "devdoc": { "kind": "dev", "methods": { "activateForFund(address,address)": { "details": "Unimplemented by default, may be overrode." }, "addFundSettings(address,bytes)": { "details": "onlyFeeManager validated by parent", "params": { "_comptrollerProxy": "The ComptrollerProxy of the fund", "_settingsData": "Encoded settings to apply to the fee for a fund" } }, "getFeeManager()": { "returns": { "feeManager_": "The `FEE_MANAGER` variable value" } }, "getRateForFund(address)": { "params": { "_comptrollerProxy": "The ComptrollerProxy contract for the fund" }, "returns": { "rate_": "The `rate` variable value" } }, "getRecipientForFund(address)": { "params": { "_comptrollerProxy": "The ComptrollerProxy contract for the fund" }, "returns": { "recipient_": "The recipient" } }, "getSettlementType()": { "returns": { "settlementType_": "The `SETTLEMENT_TYPE` variable value" } }, "payout(address,address)": { "details": "Returns false by default, can be overridden by fee" }, "setRecipientForFund(address,address)": { "params": { "_comptrollerProxy": "The ComptrollerProxy contract for the fund", "_recipient": "The fee recipient" } }, "settle(address,address,uint8,bytes,uint256)": { "params": { "_comptrollerProxy": "The ComptrollerProxy of the fund", "_settlementData": "Encoded args to use in calculating the settlement" }, "returns": { "payer_": "The payer of shares due", "settlementType_": "The type of settlement", "sharesDue_": "The amount of shares due" } }, "settlesOnHook(uint8)": { "params": { "_hook": "The FeeHook" }, "returns": { "settles_": "True if the fee settles on the _hook", "usesGav_": "True if the fee uses GAV during settle() for the _hook" } }, "update(address,address,uint8,bytes,uint256)": { "details": "Unimplemented by default, can be overridden by fee" }, "updatesOnHook(uint8)": { "details": "Returns false values by default, can be overridden by fee", "returns": { "updates_": "True if the fee updates on the _hook", "usesGav_": "True if the fee uses GAV during update() for the _hook" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "activateForFund(address,address)": { "notice": "Allows Fee to run logic during fund activation" }, "addFundSettings(address,bytes)": { "notice": "Add the initial fee settings for a fund" }, "getFeeManager()": { "notice": "Gets the `FEE_MANAGER` variable" }, "getRateForFund(address)": { "notice": "Gets the `rate` variable for a fund" }, "getRecipientForFund(address)": { "notice": "Gets the recipient of the fee for a given fund" }, "getSettlementType()": { "notice": "Gets the `SETTLEMENT_TYPE` variable" }, "payout(address,address)": { "notice": "Runs payout logic for a fee that utilizes shares outstanding as its settlement type" }, "setRecipientForFund(address,address)": { "notice": "Sets the fee recipient for the given fund" }, "settle(address,address,uint8,bytes,uint256)": { "notice": "Settles the fee" }, "settlesOnHook(uint8)": { "notice": "Gets whether the fee settles and requires GAV on a particular hook" }, "update(address,address,uint8,bytes,uint256)": { "notice": "Update fee state after all settlement has occurred during a given fee hook" }, "updatesOnHook(uint8)": { "notice": "Gets whether the fee updates and requires GAV on a particular hook" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/fee-manager/fees/EntranceRateDirectFee.sol": "EntranceRateDirectFee" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/dispatcher/IDispatcher.sol": { "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", "urls": [ "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" ], "license": "GPL-3.0" }, "contracts/persistent/external-positions/IExternalPosition.sol": { "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", "urls": [ "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" ], "license": "GPL-3.0" }, "contracts/persistent/protocol-fee-reserve/interfaces/IProtocolFeeReserve1.sol": { "keccak256": "0x2728878c423db523bc95189137e8c58d2d7db9f56bbd5c6b1f988c08b551fbab", "urls": [ "bzz-raw://3b0df1d2eb74151265d03ab91a7c341f7beca475dd2f4d669052dbc4ee2c06ac", "dweb:/ipfs/QmVx1cgrxQNYfdK1Kn15pcgqf79Uw8bF3U6i7F2HG2rj6G" ], "license": "GPL-3.0" }, "contracts/persistent/vault/VaultLibBase1.sol": { "keccak256": "0xa4dac1e4cdb311a2ab187135355357d8790c505ef36dd912c057fe53743d30b5", "urls": [ "bzz-raw://b66efe821016ab927c949263023260515e90f5d480dc8d94eefbfeec7bf7490b", "dweb:/ipfs/QmNY3xKnhL9EptAbxGvXHGAXfV9pj3dDPwsZnKrPs54ZHw" ], "license": "GPL-3.0" }, "contracts/persistent/vault/VaultLibBase2.sol": { "keccak256": "0xf7d31f2a9a47770ed3f444be2c4fe9262ddb55fef7f25e546b1f03c9afec4c09", "urls": [ "bzz-raw://9353ddce7c9b8b3c13fed23fe8edec99ca610d791b0c5b204b3d01f1f08d07d2", "dweb:/ipfs/QmeVsEh3joCjv49BRXeHASevnZZ5xdZXpkctHT8BPf37N2" ], "license": "GPL-3.0" }, "contracts/persistent/vault/VaultLibBaseCore.sol": { "keccak256": "0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074", "urls": [ "bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd", "dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IExternalPositionVault.sol": { "keccak256": "0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6", "urls": [ "bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d", "dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol": { "keccak256": "0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0", "urls": [ "bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb", "dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IMigratableVault.sol": { "keccak256": "0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238", "urls": [ "bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6", "dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IVaultCore.sol": { "keccak256": "0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80", "urls": [ "bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd", "dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr" ], "license": "GPL-3.0" }, "contracts/persistent/vault/utils/ProxiableVaultLib.sol": { "keccak256": "0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76", "urls": [ "bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44", "dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4" ], "license": "GPL-3.0" }, "contracts/persistent/vault/utils/SharesTokenBase.sol": { "keccak256": "0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113", "urls": [ "bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8", "dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4" ], "license": "GPL-3.0" }, "contracts/persistent/vault/utils/VaultLibSafeMath.sol": { "keccak256": "0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d", "urls": [ "bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02", "dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG" ], "license": "GPL-3.0" }, "contracts/release/core/fund-deployer/IFundDeployer.sol": { "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", "urls": [ "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" ], "license": "GPL-3.0" }, "contracts/release/core/fund/comptroller/ComptrollerLib.sol": { "keccak256": "0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64", "urls": [ "bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579", "dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq" ], "license": "GPL-3.0" }, "contracts/release/core/fund/comptroller/IComptroller.sol": { "keccak256": "0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f", "urls": [ "bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97", "dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L" ], "license": "GPL-3.0" }, "contracts/release/core/fund/vault/IVault.sol": { "keccak256": "0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd", "urls": [ "bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599", "dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG" ], "license": "GPL-3.0" }, "contracts/release/core/fund/vault/VaultLib.sol": { "keccak256": "0x07e49445ab55c01e1b499a48baadc2a15d1eba621f1c6d3ccfdb84c87b976da8", "urls": [ "bzz-raw://56d882459248f73e137db2e097fc56b946147fb28ec21661b77431f88e856cb4", "dweb:/ipfs/QmRP6Ry7DCS5uoKxnnkTomHSzbaCze6cHqbR9aLdjoF6vK" ], "license": "GPL-3.0" }, "contracts/release/extensions/IExtension.sol": { "keccak256": "0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b", "urls": [ "bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70", "dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/IExternalPositionManager.sol": { "keccak256": "0x3af3f634e1f99fb97091b7825c0d2e2baaafc124d4e87d56cb0c17ff8554f6c6", "urls": [ "bzz-raw://515470605afe5ef147f30fa75ce7818f0e00e3d321eb81a4d9bffcdefc294495", "dweb:/ipfs/QmPKsp99pfHoz9Tfo3ZxnkmqDqJtN9PxqacF2RmeVfxUJF" ], "license": "GPL-3.0" }, "contracts/release/extensions/fee-manager/IFee.sol": { "keccak256": "0x38e3f324c67f3205e38197165586ea82ca226069902f34214bcde76cf905fcff", "urls": [ "bzz-raw://c1fff656d1bdde3324421bc9e77cbfc4e80baf4e665f8713fdb65611b046f4b0", "dweb:/ipfs/QmVRFjNwmsVHdh4sp3DWdL74VWmhRhPZE5kDxJiuPL8Gu2" ], "license": "GPL-3.0" }, "contracts/release/extensions/fee-manager/IFeeManager.sol": { "keccak256": "0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51", "urls": [ "bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22", "dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod" ], "license": "GPL-3.0" }, "contracts/release/extensions/fee-manager/fees/EntranceRateDirectFee.sol": { "keccak256": "0x3ebac2d81d0cfa623c7af6fce927b76e500214deddef97299ae0fdaac7f3e82c", "urls": [ "bzz-raw://8fc79a3d8e800d0c1c77920b75ebba743e4936b16796e76fd419d64da9b16ad2", "dweb:/ipfs/QmT8iTkf5LHskHCZHPzQ37T1uDTAGQEiWFVAamZ39nA3bJ" ], "license": "GPL-3.0" }, "contracts/release/extensions/fee-manager/fees/utils/EntranceRateFeeBase.sol": { "keccak256": "0xf12110b2c9f9763f15185fc7939d6e581f30a99b1f55c84d727838add42d262a", "urls": [ "bzz-raw://6455aa6dbfaec13da1564632c2ca94ebcebc0a8a131bd0a11c208acb46925137", "dweb:/ipfs/QmbyQx6m7HdkH4vhdynqEQNvB8sUQDyAuRCY8jKCgsLQCm" ], "license": "GPL-3.0" }, "contracts/release/extensions/fee-manager/fees/utils/FeeBase.sol": { "keccak256": "0x485c03e3088b6dc9828d2e895cce6856501448b4a2c71a0acae4e012bc644b14", "urls": [ "bzz-raw://b63aef3cd20eb4dd585632c74619235ef1d5c3c2c52fd61f8802d0a50569b767", "dweb:/ipfs/QmSuTYChj2j8NnLYCg47feAJ5P9NheQpK46fG6fhmMtimA" ], "license": "GPL-3.0" }, "contracts/release/extensions/fee-manager/fees/utils/SettableFeeRecipientBase.sol": { "keccak256": "0xb3b4b3cd13141871c912310ce1dace2e94f89eee7a52b95d4df9e4642a958f4d", "urls": [ "bzz-raw://b120324be26eddebb2fd5d15ecdbef4bfc5a5bbd05bd60796677157480842aa1", "dweb:/ipfs/Qmab9XnYHvG3zWtQaTee24qU7VK94MMLySPkrZqDBbB5NN" ], "license": "GPL-3.0" }, "contracts/release/extensions/fee-manager/fees/utils/UpdatableFeeRecipientBase.sol": { "keccak256": "0xac875e8923b29be8e697be04177b56d3f75d0ef4a56bc0cec2d2583efd802064", "urls": [ "bzz-raw://99d359ece6663298f925765b7558beb694bf3dbe3831fc60e016fd37b10d358c", "dweb:/ipfs/QmduCuit88g1HEb9HxF1aH82Ezx388M5CBLfUfLraKgcfA" ], "license": "GPL-3.0" }, "contracts/release/extensions/policy-manager/IPolicyManager.sol": { "keccak256": "0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32", "urls": [ "bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa", "dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol": { "keccak256": "0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609", "urls": [ "bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f", "dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol": { "keccak256": "0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01", "urls": [ "bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0", "dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol": { "keccak256": "0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196", "urls": [ "bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b", "dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/protocol-fees/IProtocolFeeTracker.sol": { "keccak256": "0x232b347f83457439064add7369bfe1930c7cb56f15930bb87d640e909c15e447", "urls": [ "bzz-raw://24f9af5eebdd373b1d7a598c096eb6def31b2640d54416d7d5a7226e1cef17e6", "dweb:/ipfs/QmStq9ByGuSYdKwTmZf52L1X6sZVJUfXTnoVbnjLLiUcHG" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol": { "keccak256": "0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794", "urls": [ "bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965", "dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IGsnForwarder.sol": { "keccak256": "0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030", "urls": [ "bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29", "dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IGsnPaymaster.sol": { "keccak256": "0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c", "urls": [ "bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4", "dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IGsnTypes.sol": { "keccak256": "0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714", "urls": [ "bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7", "dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IWETH.sol": { "keccak256": "0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2", "urls": [ "bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2", "dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ" ], "license": "GPL-3.0" }, "contracts/release/utils/AddressArrayLib.sol": { "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", "urls": [ "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" ], "license": "GPL-3.0" }, "contracts/release/utils/beacon-proxy/IBeacon.sol": { "keccak256": "0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2", "urls": [ "bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39", "dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V" ], "license": "GPL-3.0" }, "contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol": { "keccak256": "0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc", "urls": [ "bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be", "dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20Burnable.sol": { "keccak256": "0x9c0eb3b0e11d2480d49991dc384f1e5f9c9b9967cc81944d50916a9b9c6c4984", "urls": [ "bzz-raw://99e4033d778624992e86f0b6d801a4f6d7b5c0cd5c79c1296be90a051ad5f5af", "dweb:/ipfs/QmShYmkUqh6pDEeoWadZ24icmCr4C2Xys1uE5boivPmbwf" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", "urls": [ "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Address.sol": { "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", "urls": [ "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" } }, "version": 1 }, "id": 146 } diff --git a/eth_defi/abi/enzyme/EntranceRateFeeBase.json b/eth_defi/abi/enzyme/EntranceRateFeeBase.json index e581dc0f..64475558 100644 --- a/eth_defi/abi/enzyme/EntranceRateFeeBase.json +++ b/eth_defi/abi/enzyme/EntranceRateFeeBase.json @@ -1,847 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_feeManager", - "type": "address" - }, - { - "internalType": "enum IFeeManager.SettlementType", - "name": "_settlementType", - "type": "uint8" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "comptrollerProxy", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "rate", - "type": "uint256" - } - ], - "name": "FundSettingsAdded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "comptrollerProxy", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "payer", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "sharesQuantity", - "type": "uint256" - } - ], - "name": "Settled", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "activateForFund", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_settingsData", - "type": "bytes" - } - ], - "name": "addFundSettings", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getFeeManager", - "outputs": [ - { - "internalType": "address", - "name": "feeManager_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - } - ], - "name": "getRateForFund", - "outputs": [ - { - "internalType": "uint256", - "name": "rate_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "getRecipientForFund", - "outputs": [ - { - "internalType": "address", - "name": "recipient_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getSettlementType", - "outputs": [ - { - "internalType": "enum IFeeManager.SettlementType", - "name": "settlementType_", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "payout", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "enum IFeeManager.FeeHook", - "name": "", - "type": "uint8" - }, - { - "internalType": "bytes", - "name": "_settlementData", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "settle", - "outputs": [ - { - "internalType": "enum IFeeManager.SettlementType", - "name": "settlementType_", - "type": "uint8" - }, - { - "internalType": "address", - "name": "payer_", - "type": "address" - }, - { - "internalType": "uint256", - "name": "sharesDue_", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "enum IFeeManager.FeeHook", - "name": "_hook", - "type": "uint8" - } - ], - "name": "settlesOnHook", - "outputs": [ - { - "internalType": "bool", - "name": "settles_", - "type": "bool" - }, - { - "internalType": "bool", - "name": "usesGav_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "enum IFeeManager.FeeHook", - "name": "", - "type": "uint8" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "update", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "enum IFeeManager.FeeHook", - "name": "", - "type": "uint8" - } - ], - "name": "updatesOnHook", - "outputs": [ - { - "internalType": "bool", - "name": "updates_", - "type": "bool" - }, - { - "internalType": "bool", - "name": "usesGav_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "activateForFund(address,address)": "3146d058", - "addFundSettings(address,bytes)": "0f5f6b4f", - "getFeeManager()": "f2d63826", - "getRateForFund(address)": "3eecc2bf", - "getRecipientForFund(address)": "62780b3c", - "getSettlementType()": "7bdd5b1d", - "payout(address,address)": "b78b4813", - "settle(address,address,uint8,bytes,uint256)": "41892d7e", - "settlesOnHook(uint8)": "320f0ddd", - "update(address,address,uint8,bytes,uint256)": "233faf5f", - "updatesOnHook(uint8)": "e337a91f" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_feeManager\",\"type\":\"address\"},{\"internalType\":\"enum IFeeManager.SettlementType\",\"name\":\"_settlementType\",\"type\":\"uint8\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"rate\",\"type\":\"uint256\"}],\"name\":\"FundSettingsAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"payer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"sharesQuantity\",\"type\":\"uint256\"}],\"name\":\"Settled\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"activateForFund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_settingsData\",\"type\":\"bytes\"}],\"name\":\"addFundSettings\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFeeManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"feeManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"}],\"name\":\"getRateForFund\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"rate_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"getRecipientForFund\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"recipient_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getSettlementType\",\"outputs\":[{\"internalType\":\"enum IFeeManager.SettlementType\",\"name\":\"settlementType_\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"payout\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"enum IFeeManager.FeeHook\",\"name\":\"\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"_settlementData\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"settle\",\"outputs\":[{\"internalType\":\"enum IFeeManager.SettlementType\",\"name\":\"settlementType_\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"payer_\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"sharesDue_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IFeeManager.FeeHook\",\"name\":\"_hook\",\"type\":\"uint8\"}],\"name\":\"settlesOnHook\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"settles_\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"usesGav_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"enum IFeeManager.FeeHook\",\"name\":\"\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"update\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IFeeManager.FeeHook\",\"name\":\"\",\"type\":\"uint8\"}],\"name\":\"updatesOnHook\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"updates_\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"usesGav_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"activateForFund(address,address)\":{\"details\":\"Unimplemented by default, may be overrode.\"},\"addFundSettings(address,bytes)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\",\"_settingsData\":\"Encoded settings to apply to the fee for a fund\"}},\"getFeeManager()\":{\"returns\":{\"feeManager_\":\"The `FEE_MANAGER` variable value\"}},\"getRateForFund(address)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy contract for the fund\"},\"returns\":{\"rate_\":\"The `rate` variable value\"}},\"getRecipientForFund(address)\":{\"details\":\"address(0) signifies the VaultProxy owner. Returns address(0) by default, can be overridden by fee.\"},\"getSettlementType()\":{\"returns\":{\"settlementType_\":\"The `SETTLEMENT_TYPE` variable value\"}},\"payout(address,address)\":{\"details\":\"Returns false by default, can be overridden by fee\"},\"settle(address,address,uint8,bytes,uint256)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\",\"_settlementData\":\"Encoded args to use in calculating the settlement\"},\"returns\":{\"payer_\":\"The payer of shares due\",\"settlementType_\":\"The type of settlement\",\"sharesDue_\":\"The amount of shares due\"}},\"settlesOnHook(uint8)\":{\"params\":{\"_hook\":\"The FeeHook\"},\"returns\":{\"settles_\":\"True if the fee settles on the _hook\",\"usesGav_\":\"True if the fee uses GAV during settle() for the _hook\"}},\"update(address,address,uint8,bytes,uint256)\":{\"details\":\"Unimplemented by default, can be overridden by fee\"},\"updatesOnHook(uint8)\":{\"details\":\"Returns false values by default, can be overridden by fee\",\"returns\":{\"updates_\":\"True if the fee updates on the _hook\",\"usesGav_\":\"True if the fee uses GAV during update() for the _hook\"}}},\"title\":\"EntranceRateFeeBase Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"activateForFund(address,address)\":{\"notice\":\"Allows Fee to run logic during fund activation\"},\"addFundSettings(address,bytes)\":{\"notice\":\"Add the initial fee settings for a fund\"},\"getFeeManager()\":{\"notice\":\"Gets the `FEE_MANAGER` variable\"},\"getRateForFund(address)\":{\"notice\":\"Gets the `rate` variable for a fund\"},\"getRecipientForFund(address)\":{\"notice\":\"Gets the recipient of the fee for a given fund\"},\"getSettlementType()\":{\"notice\":\"Gets the `SETTLEMENT_TYPE` variable\"},\"payout(address,address)\":{\"notice\":\"Runs payout logic for a fee that utilizes shares outstanding as its settlement type\"},\"settle(address,address,uint8,bytes,uint256)\":{\"notice\":\"Settles the fee\"},\"settlesOnHook(uint8)\":{\"notice\":\"Gets whether the fee settles and requires GAV on a particular hook\"},\"update(address,address,uint8,bytes,uint256)\":{\"notice\":\"Update fee state after all settlement has occurred during a given fee hook\"},\"updatesOnHook(uint8)\":{\"notice\":\"Gets whether the fee updates and requires GAV on a particular hook\"}},\"notice\":\"Calculates a fee based on a rate to be charged to an investor upon entering a fund\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/fee-manager/fees/utils/EntranceRateFeeBase.sol\":\"EntranceRateFeeBase\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/fee-manager/IFee.sol\":{\"keccak256\":\"0x38e3f324c67f3205e38197165586ea82ca226069902f34214bcde76cf905fcff\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c1fff656d1bdde3324421bc9e77cbfc4e80baf4e665f8713fdb65611b046f4b0\",\"dweb:/ipfs/QmVRFjNwmsVHdh4sp3DWdL74VWmhRhPZE5kDxJiuPL8Gu2\"]},\"contracts/release/extensions/fee-manager/IFeeManager.sol\":{\"keccak256\":\"0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22\",\"dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod\"]},\"contracts/release/extensions/fee-manager/fees/utils/EntranceRateFeeBase.sol\":{\"keccak256\":\"0xf12110b2c9f9763f15185fc7939d6e581f30a99b1f55c84d727838add42d262a\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6455aa6dbfaec13da1564632c2ca94ebcebc0a8a131bd0a11c208acb46925137\",\"dweb:/ipfs/QmbyQx6m7HdkH4vhdynqEQNvB8sUQDyAuRCY8jKCgsLQCm\"]},\"contracts/release/extensions/fee-manager/fees/utils/FeeBase.sol\":{\"keccak256\":\"0x485c03e3088b6dc9828d2e895cce6856501448b4a2c71a0acae4e012bc644b14\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b63aef3cd20eb4dd585632c74619235ef1d5c3c2c52fd61f8802d0a50569b767\",\"dweb:/ipfs/QmSuTYChj2j8NnLYCg47feAJ5P9NheQpK46fG6fhmMtimA\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_feeManager", - "type": "address" - }, - { - "internalType": "enum IFeeManager.SettlementType", - "name": "_settlementType", - "type": "uint8" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "comptrollerProxy", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "rate", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "FundSettingsAdded", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "comptrollerProxy", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "payer", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "sharesQuantity", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "Settled", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "activateForFund" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_settingsData", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "addFundSettings" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getFeeManager", - "outputs": [ - { - "internalType": "address", - "name": "feeManager_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getRateForFund", - "outputs": [ - { - "internalType": "uint256", - "name": "rate_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getRecipientForFund", - "outputs": [ - { - "internalType": "address", - "name": "recipient_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getSettlementType", - "outputs": [ - { - "internalType": "enum IFeeManager.SettlementType", - "name": "settlementType_", - "type": "uint8" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "payout", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "enum IFeeManager.FeeHook", - "name": "", - "type": "uint8" - }, - { - "internalType": "bytes", - "name": "_settlementData", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "settle", - "outputs": [ - { - "internalType": "enum IFeeManager.SettlementType", - "name": "settlementType_", - "type": "uint8" - }, - { - "internalType": "address", - "name": "payer_", - "type": "address" - }, - { - "internalType": "uint256", - "name": "sharesDue_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "enum IFeeManager.FeeHook", - "name": "_hook", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function", - "name": "settlesOnHook", - "outputs": [ - { - "internalType": "bool", - "name": "settles_", - "type": "bool" - }, - { - "internalType": "bool", - "name": "usesGav_", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "enum IFeeManager.FeeHook", - "name": "", - "type": "uint8" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "update" - }, - { - "inputs": [ - { - "internalType": "enum IFeeManager.FeeHook", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function", - "name": "updatesOnHook", - "outputs": [ - { - "internalType": "bool", - "name": "updates_", - "type": "bool" - }, - { - "internalType": "bool", - "name": "usesGav_", - "type": "bool" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "activateForFund(address,address)": { - "details": "Unimplemented by default, may be overrode." - }, - "addFundSettings(address,bytes)": { - "params": { - "_comptrollerProxy": "The ComptrollerProxy of the fund", - "_settingsData": "Encoded settings to apply to the fee for a fund" - } - }, - "getFeeManager()": { - "returns": { - "feeManager_": "The `FEE_MANAGER` variable value" - } - }, - "getRateForFund(address)": { - "params": { - "_comptrollerProxy": "The ComptrollerProxy contract for the fund" - }, - "returns": { - "rate_": "The `rate` variable value" - } - }, - "getRecipientForFund(address)": { - "details": "address(0) signifies the VaultProxy owner. Returns address(0) by default, can be overridden by fee." - }, - "getSettlementType()": { - "returns": { - "settlementType_": "The `SETTLEMENT_TYPE` variable value" - } - }, - "payout(address,address)": { - "details": "Returns false by default, can be overridden by fee" - }, - "settle(address,address,uint8,bytes,uint256)": { - "params": { - "_comptrollerProxy": "The ComptrollerProxy of the fund", - "_settlementData": "Encoded args to use in calculating the settlement" - }, - "returns": { - "payer_": "The payer of shares due", - "settlementType_": "The type of settlement", - "sharesDue_": "The amount of shares due" - } - }, - "settlesOnHook(uint8)": { - "params": { - "_hook": "The FeeHook" - }, - "returns": { - "settles_": "True if the fee settles on the _hook", - "usesGav_": "True if the fee uses GAV during settle() for the _hook" - } - }, - "update(address,address,uint8,bytes,uint256)": { - "details": "Unimplemented by default, can be overridden by fee" - }, - "updatesOnHook(uint8)": { - "details": "Returns false values by default, can be overridden by fee", - "returns": { - "updates_": "True if the fee updates on the _hook", - "usesGav_": "True if the fee uses GAV during update() for the _hook" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "activateForFund(address,address)": { - "notice": "Allows Fee to run logic during fund activation" - }, - "addFundSettings(address,bytes)": { - "notice": "Add the initial fee settings for a fund" - }, - "getFeeManager()": { - "notice": "Gets the `FEE_MANAGER` variable" - }, - "getRateForFund(address)": { - "notice": "Gets the `rate` variable for a fund" - }, - "getRecipientForFund(address)": { - "notice": "Gets the recipient of the fee for a given fund" - }, - "getSettlementType()": { - "notice": "Gets the `SETTLEMENT_TYPE` variable" - }, - "payout(address,address)": { - "notice": "Runs payout logic for a fee that utilizes shares outstanding as its settlement type" - }, - "settle(address,address,uint8,bytes,uint256)": { - "notice": "Settles the fee" - }, - "settlesOnHook(uint8)": { - "notice": "Gets whether the fee settles and requires GAV on a particular hook" - }, - "update(address,address,uint8,bytes,uint256)": { - "notice": "Update fee state after all settlement has occurred during a given fee hook" - }, - "updatesOnHook(uint8)": { - "notice": "Gets whether the fee updates and requires GAV on a particular hook" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/fee-manager/fees/utils/EntranceRateFeeBase.sol": "EntranceRateFeeBase" - }, - "libraries": {} - }, - "sources": { - "contracts/release/extensions/fee-manager/IFee.sol": { - "keccak256": "0x38e3f324c67f3205e38197165586ea82ca226069902f34214bcde76cf905fcff", - "urls": [ - "bzz-raw://c1fff656d1bdde3324421bc9e77cbfc4e80baf4e665f8713fdb65611b046f4b0", - "dweb:/ipfs/QmVRFjNwmsVHdh4sp3DWdL74VWmhRhPZE5kDxJiuPL8Gu2" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/fee-manager/IFeeManager.sol": { - "keccak256": "0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51", - "urls": [ - "bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22", - "dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/fee-manager/fees/utils/EntranceRateFeeBase.sol": { - "keccak256": "0xf12110b2c9f9763f15185fc7939d6e581f30a99b1f55c84d727838add42d262a", - "urls": [ - "bzz-raw://6455aa6dbfaec13da1564632c2ca94ebcebc0a8a131bd0a11c208acb46925137", - "dweb:/ipfs/QmbyQx6m7HdkH4vhdynqEQNvB8sUQDyAuRCY8jKCgsLQCm" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/fee-manager/fees/utils/FeeBase.sol": { - "keccak256": "0x485c03e3088b6dc9828d2e895cce6856501448b4a2c71a0acae4e012bc644b14", - "urls": [ - "bzz-raw://b63aef3cd20eb4dd585632c74619235ef1d5c3c2c52fd61f8802d0a50569b767", - "dweb:/ipfs/QmSuTYChj2j8NnLYCg47feAJ5P9NheQpK46fG6fhmMtimA" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 152 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_feeManager", "type": "address", "internalType": "address" }, { "name": "_settlementType", "type": "uint8", "internalType": "enum IFeeManager.SettlementType" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "activateForFund", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "addFundSettings", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" }, { "name": "_settingsData", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "getFeeManager", "inputs": [], "outputs": [ { "name": "feeManager_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getRateForFund", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "rate_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "getRecipientForFund", "inputs": [ { "name": "", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "recipient_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getSettlementType", "inputs": [], "outputs": [ { "name": "settlementType_", "type": "uint8", "internalType": "enum IFeeManager.SettlementType" } ], "stateMutability": "view" }, { "type": "function", "name": "payout", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "settle", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" }, { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "uint8", "internalType": "enum IFeeManager.FeeHook" }, { "name": "_settlementData", "type": "bytes", "internalType": "bytes" }, { "name": "", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "settlementType_", "type": "uint8", "internalType": "enum IFeeManager.SettlementType" }, { "name": "payer_", "type": "address", "internalType": "address" }, { "name": "sharesDue_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "settlesOnHook", "inputs": [ { "name": "_hook", "type": "uint8", "internalType": "enum IFeeManager.FeeHook" } ], "outputs": [ { "name": "settles_", "type": "bool", "internalType": "bool" }, { "name": "usesGav_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "update", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "uint8", "internalType": "enum IFeeManager.FeeHook" }, { "name": "", "type": "bytes", "internalType": "bytes" }, { "name": "", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "updatesOnHook", "inputs": [ { "name": "", "type": "uint8", "internalType": "enum IFeeManager.FeeHook" } ], "outputs": [ { "name": "updates_", "type": "bool", "internalType": "bool" }, { "name": "usesGav_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "event", "name": "FundSettingsAdded", "inputs": [ { "name": "comptrollerProxy", "type": "address", "indexed": true, "internalType": "address" }, { "name": "rate", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "Settled", "inputs": [ { "name": "comptrollerProxy", "type": "address", "indexed": true, "internalType": "address" }, { "name": "payer", "type": "address", "indexed": true, "internalType": "address" }, { "name": "sharesQuantity", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "activateForFund(address,address)": "3146d058", "addFundSettings(address,bytes)": "0f5f6b4f", "getFeeManager()": "f2d63826", "getRateForFund(address)": "3eecc2bf", "getRecipientForFund(address)": "62780b3c", "getSettlementType()": "7bdd5b1d", "payout(address,address)": "b78b4813", "settle(address,address,uint8,bytes,uint256)": "41892d7e", "settlesOnHook(uint8)": "320f0ddd", "update(address,address,uint8,bytes,uint256)": "233faf5f", "updatesOnHook(uint8)": "e337a91f" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_feeManager\",\"type\":\"address\"},{\"internalType\":\"enum IFeeManager.SettlementType\",\"name\":\"_settlementType\",\"type\":\"uint8\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"rate\",\"type\":\"uint256\"}],\"name\":\"FundSettingsAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"payer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"sharesQuantity\",\"type\":\"uint256\"}],\"name\":\"Settled\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"activateForFund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_settingsData\",\"type\":\"bytes\"}],\"name\":\"addFundSettings\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFeeManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"feeManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"}],\"name\":\"getRateForFund\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"rate_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"getRecipientForFund\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"recipient_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getSettlementType\",\"outputs\":[{\"internalType\":\"enum IFeeManager.SettlementType\",\"name\":\"settlementType_\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"payout\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"enum IFeeManager.FeeHook\",\"name\":\"\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"_settlementData\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"settle\",\"outputs\":[{\"internalType\":\"enum IFeeManager.SettlementType\",\"name\":\"settlementType_\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"payer_\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"sharesDue_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IFeeManager.FeeHook\",\"name\":\"_hook\",\"type\":\"uint8\"}],\"name\":\"settlesOnHook\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"settles_\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"usesGav_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"enum IFeeManager.FeeHook\",\"name\":\"\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"update\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IFeeManager.FeeHook\",\"name\":\"\",\"type\":\"uint8\"}],\"name\":\"updatesOnHook\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"updates_\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"usesGav_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"activateForFund(address,address)\":{\"details\":\"Unimplemented by default, may be overrode.\"},\"addFundSettings(address,bytes)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\",\"_settingsData\":\"Encoded settings to apply to the fee for a fund\"}},\"getFeeManager()\":{\"returns\":{\"feeManager_\":\"The `FEE_MANAGER` variable value\"}},\"getRateForFund(address)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy contract for the fund\"},\"returns\":{\"rate_\":\"The `rate` variable value\"}},\"getRecipientForFund(address)\":{\"details\":\"address(0) signifies the VaultProxy owner. Returns address(0) by default, can be overridden by fee.\"},\"getSettlementType()\":{\"returns\":{\"settlementType_\":\"The `SETTLEMENT_TYPE` variable value\"}},\"payout(address,address)\":{\"details\":\"Returns false by default, can be overridden by fee\"},\"settle(address,address,uint8,bytes,uint256)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\",\"_settlementData\":\"Encoded args to use in calculating the settlement\"},\"returns\":{\"payer_\":\"The payer of shares due\",\"settlementType_\":\"The type of settlement\",\"sharesDue_\":\"The amount of shares due\"}},\"settlesOnHook(uint8)\":{\"params\":{\"_hook\":\"The FeeHook\"},\"returns\":{\"settles_\":\"True if the fee settles on the _hook\",\"usesGav_\":\"True if the fee uses GAV during settle() for the _hook\"}},\"update(address,address,uint8,bytes,uint256)\":{\"details\":\"Unimplemented by default, can be overridden by fee\"},\"updatesOnHook(uint8)\":{\"details\":\"Returns false values by default, can be overridden by fee\",\"returns\":{\"updates_\":\"True if the fee updates on the _hook\",\"usesGav_\":\"True if the fee uses GAV during update() for the _hook\"}}},\"title\":\"EntranceRateFeeBase Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"activateForFund(address,address)\":{\"notice\":\"Allows Fee to run logic during fund activation\"},\"addFundSettings(address,bytes)\":{\"notice\":\"Add the initial fee settings for a fund\"},\"getFeeManager()\":{\"notice\":\"Gets the `FEE_MANAGER` variable\"},\"getRateForFund(address)\":{\"notice\":\"Gets the `rate` variable for a fund\"},\"getRecipientForFund(address)\":{\"notice\":\"Gets the recipient of the fee for a given fund\"},\"getSettlementType()\":{\"notice\":\"Gets the `SETTLEMENT_TYPE` variable\"},\"payout(address,address)\":{\"notice\":\"Runs payout logic for a fee that utilizes shares outstanding as its settlement type\"},\"settle(address,address,uint8,bytes,uint256)\":{\"notice\":\"Settles the fee\"},\"settlesOnHook(uint8)\":{\"notice\":\"Gets whether the fee settles and requires GAV on a particular hook\"},\"update(address,address,uint8,bytes,uint256)\":{\"notice\":\"Update fee state after all settlement has occurred during a given fee hook\"},\"updatesOnHook(uint8)\":{\"notice\":\"Gets whether the fee updates and requires GAV on a particular hook\"}},\"notice\":\"Calculates a fee based on a rate to be charged to an investor upon entering a fund\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/fee-manager/fees/utils/EntranceRateFeeBase.sol\":\"EntranceRateFeeBase\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/fee-manager/IFee.sol\":{\"keccak256\":\"0x38e3f324c67f3205e38197165586ea82ca226069902f34214bcde76cf905fcff\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c1fff656d1bdde3324421bc9e77cbfc4e80baf4e665f8713fdb65611b046f4b0\",\"dweb:/ipfs/QmVRFjNwmsVHdh4sp3DWdL74VWmhRhPZE5kDxJiuPL8Gu2\"]},\"contracts/release/extensions/fee-manager/IFeeManager.sol\":{\"keccak256\":\"0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22\",\"dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod\"]},\"contracts/release/extensions/fee-manager/fees/utils/EntranceRateFeeBase.sol\":{\"keccak256\":\"0xf12110b2c9f9763f15185fc7939d6e581f30a99b1f55c84d727838add42d262a\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6455aa6dbfaec13da1564632c2ca94ebcebc0a8a131bd0a11c208acb46925137\",\"dweb:/ipfs/QmbyQx6m7HdkH4vhdynqEQNvB8sUQDyAuRCY8jKCgsLQCm\"]},\"contracts/release/extensions/fee-manager/fees/utils/FeeBase.sol\":{\"keccak256\":\"0x485c03e3088b6dc9828d2e895cce6856501448b4a2c71a0acae4e012bc644b14\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b63aef3cd20eb4dd585632c74619235ef1d5c3c2c52fd61f8802d0a50569b767\",\"dweb:/ipfs/QmSuTYChj2j8NnLYCg47feAJ5P9NheQpK46fG6fhmMtimA\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_feeManager", "type": "address" }, { "internalType": "enum IFeeManager.SettlementType", "name": "_settlementType", "type": "uint8" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "comptrollerProxy", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "rate", "type": "uint256", "indexed": false } ], "type": "event", "name": "FundSettingsAdded", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "comptrollerProxy", "type": "address", "indexed": true }, { "internalType": "address", "name": "payer", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "sharesQuantity", "type": "uint256", "indexed": false } ], "type": "event", "name": "Settled", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "activateForFund" }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" }, { "internalType": "bytes", "name": "_settingsData", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "addFundSettings" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getFeeManager", "outputs": [ { "internalType": "address", "name": "feeManager_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getRateForFund", "outputs": [ { "internalType": "uint256", "name": "rate_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getRecipientForFund", "outputs": [ { "internalType": "address", "name": "recipient_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getSettlementType", "outputs": [ { "internalType": "enum IFeeManager.SettlementType", "name": "settlementType_", "type": "uint8" } ] }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "payout", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" }, { "internalType": "address", "name": "", "type": "address" }, { "internalType": "enum IFeeManager.FeeHook", "name": "", "type": "uint8" }, { "internalType": "bytes", "name": "_settlementData", "type": "bytes" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "settle", "outputs": [ { "internalType": "enum IFeeManager.SettlementType", "name": "settlementType_", "type": "uint8" }, { "internalType": "address", "name": "payer_", "type": "address" }, { "internalType": "uint256", "name": "sharesDue_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "enum IFeeManager.FeeHook", "name": "_hook", "type": "uint8" } ], "stateMutability": "view", "type": "function", "name": "settlesOnHook", "outputs": [ { "internalType": "bool", "name": "settles_", "type": "bool" }, { "internalType": "bool", "name": "usesGav_", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "address", "name": "", "type": "address" }, { "internalType": "enum IFeeManager.FeeHook", "name": "", "type": "uint8" }, { "internalType": "bytes", "name": "", "type": "bytes" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "update" }, { "inputs": [ { "internalType": "enum IFeeManager.FeeHook", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function", "name": "updatesOnHook", "outputs": [ { "internalType": "bool", "name": "updates_", "type": "bool" }, { "internalType": "bool", "name": "usesGav_", "type": "bool" } ] } ], "devdoc": { "kind": "dev", "methods": { "activateForFund(address,address)": { "details": "Unimplemented by default, may be overrode." }, "addFundSettings(address,bytes)": { "params": { "_comptrollerProxy": "The ComptrollerProxy of the fund", "_settingsData": "Encoded settings to apply to the fee for a fund" } }, "getFeeManager()": { "returns": { "feeManager_": "The `FEE_MANAGER` variable value" } }, "getRateForFund(address)": { "params": { "_comptrollerProxy": "The ComptrollerProxy contract for the fund" }, "returns": { "rate_": "The `rate` variable value" } }, "getRecipientForFund(address)": { "details": "address(0) signifies the VaultProxy owner. Returns address(0) by default, can be overridden by fee." }, "getSettlementType()": { "returns": { "settlementType_": "The `SETTLEMENT_TYPE` variable value" } }, "payout(address,address)": { "details": "Returns false by default, can be overridden by fee" }, "settle(address,address,uint8,bytes,uint256)": { "params": { "_comptrollerProxy": "The ComptrollerProxy of the fund", "_settlementData": "Encoded args to use in calculating the settlement" }, "returns": { "payer_": "The payer of shares due", "settlementType_": "The type of settlement", "sharesDue_": "The amount of shares due" } }, "settlesOnHook(uint8)": { "params": { "_hook": "The FeeHook" }, "returns": { "settles_": "True if the fee settles on the _hook", "usesGav_": "True if the fee uses GAV during settle() for the _hook" } }, "update(address,address,uint8,bytes,uint256)": { "details": "Unimplemented by default, can be overridden by fee" }, "updatesOnHook(uint8)": { "details": "Returns false values by default, can be overridden by fee", "returns": { "updates_": "True if the fee updates on the _hook", "usesGav_": "True if the fee uses GAV during update() for the _hook" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "activateForFund(address,address)": { "notice": "Allows Fee to run logic during fund activation" }, "addFundSettings(address,bytes)": { "notice": "Add the initial fee settings for a fund" }, "getFeeManager()": { "notice": "Gets the `FEE_MANAGER` variable" }, "getRateForFund(address)": { "notice": "Gets the `rate` variable for a fund" }, "getRecipientForFund(address)": { "notice": "Gets the recipient of the fee for a given fund" }, "getSettlementType()": { "notice": "Gets the `SETTLEMENT_TYPE` variable" }, "payout(address,address)": { "notice": "Runs payout logic for a fee that utilizes shares outstanding as its settlement type" }, "settle(address,address,uint8,bytes,uint256)": { "notice": "Settles the fee" }, "settlesOnHook(uint8)": { "notice": "Gets whether the fee settles and requires GAV on a particular hook" }, "update(address,address,uint8,bytes,uint256)": { "notice": "Update fee state after all settlement has occurred during a given fee hook" }, "updatesOnHook(uint8)": { "notice": "Gets whether the fee updates and requires GAV on a particular hook" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/fee-manager/fees/utils/EntranceRateFeeBase.sol": "EntranceRateFeeBase" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/extensions/fee-manager/IFee.sol": { "keccak256": "0x38e3f324c67f3205e38197165586ea82ca226069902f34214bcde76cf905fcff", "urls": [ "bzz-raw://c1fff656d1bdde3324421bc9e77cbfc4e80baf4e665f8713fdb65611b046f4b0", "dweb:/ipfs/QmVRFjNwmsVHdh4sp3DWdL74VWmhRhPZE5kDxJiuPL8Gu2" ], "license": "GPL-3.0" }, "contracts/release/extensions/fee-manager/IFeeManager.sol": { "keccak256": "0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51", "urls": [ "bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22", "dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod" ], "license": "GPL-3.0" }, "contracts/release/extensions/fee-manager/fees/utils/EntranceRateFeeBase.sol": { "keccak256": "0xf12110b2c9f9763f15185fc7939d6e581f30a99b1f55c84d727838add42d262a", "urls": [ "bzz-raw://6455aa6dbfaec13da1564632c2ca94ebcebc0a8a131bd0a11c208acb46925137", "dweb:/ipfs/QmbyQx6m7HdkH4vhdynqEQNvB8sUQDyAuRCY8jKCgsLQCm" ], "license": "GPL-3.0" }, "contracts/release/extensions/fee-manager/fees/utils/FeeBase.sol": { "keccak256": "0x485c03e3088b6dc9828d2e895cce6856501448b4a2c71a0acae4e012bc644b14", "urls": [ "bzz-raw://b63aef3cd20eb4dd585632c74619235ef1d5c3c2c52fd61f8802d0a50569b767", "dweb:/ipfs/QmSuTYChj2j8NnLYCg47feAJ5P9NheQpK46fG6fhmMtimA" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" } }, "version": 1 }, "id": 152 } diff --git a/eth_defi/abi/enzyme/EnumerableMap.json b/eth_defi/abi/enzyme/EnumerableMap.json index 3f93da46..e6117f8e 100644 --- a/eth_defi/abi/enzyme/EnumerableMap.json +++ b/eth_defi/abi/enzyme/EnumerableMap.json @@ -1,78 +1 @@ -{ - "abi": [], - "bytecode": { - "object": "0x602d6023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c6343000706000a", - "sourceMap": "764:8963:21:-:0;;;;;;;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c6343000706000a", - "sourceMap": "764:8963:21:-:0;;;;;;;;", - "linkReferences": {} - }, - "methodIdentifiers": {}, - "rawMetadata": "{\"compiler\":{\"version\":\"0.7.6+commit.7338295f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Library for managing an enumerable variant of Solidity's https://solidity.readthedocs.io/en/latest/types.html#mapping-types[`mapping`] type. Maps have the following properties: - Entries are added, removed, and checked for existence in constant time (O(1)). - Entries are enumerated in O(n). No guarantees are made on the ordering. ``` contract Example { // Add the library methods using EnumerableMap for EnumerableMap.UintToAddressMap; // Declare a set state variable EnumerableMap.UintToAddressMap private myMap; } ``` As of v3.0.0, only maps of type `uint256 -> address` (`UintToAddressMap`) are supported.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@openzeppelin-solc-0.7/contracts/utils/EnumerableMap.sol\":\"EnumerableMap\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"node_modules/@openzeppelin-solc-0.7/contracts/utils/EnumerableMap.sol\":{\"keccak256\":\"0x2114555153edb5f273008b3d34205f511db9af06b88f752e4c280dd612c4c549\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8779df50f4f716c6adaa5f61880c572abb2b37197d690d6aad32e52a32d5f382\",\"dweb:/ipfs/QmVuZMGNFEo4gm1QB55gnCwCTc7XC5npkmgdfeJUgHbMiL\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.7.6+commit.7338295f" - }, - "language": "Solidity", - "output": { - "abi": [], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "node_modules/@openzeppelin-solc-0.7/contracts/utils/EnumerableMap.sol": "EnumerableMap" - }, - "libraries": {} - }, - "sources": { - "node_modules/@openzeppelin-solc-0.7/contracts/utils/EnumerableMap.sol": { - "keccak256": "0x2114555153edb5f273008b3d34205f511db9af06b88f752e4c280dd612c4c549", - "urls": [ - "bzz-raw://8779df50f4f716c6adaa5f61880c572abb2b37197d690d6aad32e52a32d5f382", - "dweb:/ipfs/QmVuZMGNFEo4gm1QB55gnCwCTc7XC5npkmgdfeJUgHbMiL" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 21 -} +{ "abi": [], "bytecode": { "object": "0x602d6023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c6343000706000a", "sourceMap": "764:8963:21:-:0;;;;;;;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c6343000706000a", "sourceMap": "764:8963:21:-:0;;;;;;;;", "linkReferences": {} }, "methodIdentifiers": {}, "rawMetadata": "{\"compiler\":{\"version\":\"0.7.6+commit.7338295f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Library for managing an enumerable variant of Solidity's https://solidity.readthedocs.io/en/latest/types.html#mapping-types[`mapping`] type. Maps have the following properties: - Entries are added, removed, and checked for existence in constant time (O(1)). - Entries are enumerated in O(n). No guarantees are made on the ordering. ``` contract Example { // Add the library methods using EnumerableMap for EnumerableMap.UintToAddressMap; // Declare a set state variable EnumerableMap.UintToAddressMap private myMap; } ``` As of v3.0.0, only maps of type `uint256 -> address` (`UintToAddressMap`) are supported.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@openzeppelin-solc-0.7/contracts/utils/EnumerableMap.sol\":\"EnumerableMap\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"node_modules/@openzeppelin-solc-0.7/contracts/utils/EnumerableMap.sol\":{\"keccak256\":\"0x2114555153edb5f273008b3d34205f511db9af06b88f752e4c280dd612c4c549\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8779df50f4f716c6adaa5f61880c572abb2b37197d690d6aad32e52a32d5f382\",\"dweb:/ipfs/QmVuZMGNFEo4gm1QB55gnCwCTc7XC5npkmgdfeJUgHbMiL\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.7.6+commit.7338295f" }, "language": "Solidity", "output": { "abi": [], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "node_modules/@openzeppelin-solc-0.7/contracts/utils/EnumerableMap.sol": "EnumerableMap" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "node_modules/@openzeppelin-solc-0.7/contracts/utils/EnumerableMap.sol": { "keccak256": "0x2114555153edb5f273008b3d34205f511db9af06b88f752e4c280dd612c4c549", "urls": [ "bzz-raw://8779df50f4f716c6adaa5f61880c572abb2b37197d690d6aad32e52a32d5f382", "dweb:/ipfs/QmVuZMGNFEo4gm1QB55gnCwCTc7XC5npkmgdfeJUgHbMiL" ], "license": "MIT" } }, "version": 1 }, "id": 21 } diff --git a/eth_defi/abi/enzyme/EnumerableSet.json b/eth_defi/abi/enzyme/EnumerableSet.json index 87065b1e..87bed3ca 100644 --- a/eth_defi/abi/enzyme/EnumerableSet.json +++ b/eth_defi/abi/enzyme/EnumerableSet.json @@ -1,78 +1 @@ -{ - "abi": [], - "bytecode": { - "object": "0x602d6023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c6343000706000a", - "sourceMap": "745:8634:22:-:0;;;;;;;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c6343000706000a", - "sourceMap": "745:8634:22:-:0;;;;;;;;", - "linkReferences": {} - }, - "methodIdentifiers": {}, - "rawMetadata": "{\"compiler\":{\"version\":\"0.7.6+commit.7338295f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Library for managing https://en.wikipedia.org/wiki/Set_(abstract_data_type)[sets] of primitive types. Sets have the following properties: - Elements are added, removed, and checked for existence in constant time (O(1)). - Elements are enumerated in O(n). No guarantees are made on the ordering. ``` contract Example { // Add the library methods using EnumerableSet for EnumerableSet.AddressSet; // Declare a set state variable EnumerableSet.AddressSet private mySet; } ``` As of v3.3.0, sets of type `bytes32` (`Bytes32Set`), `address` (`AddressSet`) and `uint256` (`UintSet`) are supported.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@openzeppelin-solc-0.7/contracts/utils/EnumerableSet.sol\":\"EnumerableSet\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"node_modules/@openzeppelin-solc-0.7/contracts/utils/EnumerableSet.sol\":{\"keccak256\":\"0x9a2c1eebb65250f0e11882237038600f22a62376f0547db4acc0dfe0a3d8d34f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ccafc1afbcbf54559beea9c029d0b7656c56a185813c5fa74c4ea3eb4b608419\",\"dweb:/ipfs/QmTKwdbenDfNwmwRVh8VKtA6mhFK2AyTFRoJF3BqLB81KM\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.7.6+commit.7338295f" - }, - "language": "Solidity", - "output": { - "abi": [], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "node_modules/@openzeppelin-solc-0.7/contracts/utils/EnumerableSet.sol": "EnumerableSet" - }, - "libraries": {} - }, - "sources": { - "node_modules/@openzeppelin-solc-0.7/contracts/utils/EnumerableSet.sol": { - "keccak256": "0x9a2c1eebb65250f0e11882237038600f22a62376f0547db4acc0dfe0a3d8d34f", - "urls": [ - "bzz-raw://ccafc1afbcbf54559beea9c029d0b7656c56a185813c5fa74c4ea3eb4b608419", - "dweb:/ipfs/QmTKwdbenDfNwmwRVh8VKtA6mhFK2AyTFRoJF3BqLB81KM" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 22 -} +{ "abi": [], "bytecode": { "object": "0x602d6023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c6343000706000a", "sourceMap": "745:8634:22:-:0;;;;;;;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c6343000706000a", "sourceMap": "745:8634:22:-:0;;;;;;;;", "linkReferences": {} }, "methodIdentifiers": {}, "rawMetadata": "{\"compiler\":{\"version\":\"0.7.6+commit.7338295f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Library for managing https://en.wikipedia.org/wiki/Set_(abstract_data_type)[sets] of primitive types. Sets have the following properties: - Elements are added, removed, and checked for existence in constant time (O(1)). - Elements are enumerated in O(n). No guarantees are made on the ordering. ``` contract Example { // Add the library methods using EnumerableSet for EnumerableSet.AddressSet; // Declare a set state variable EnumerableSet.AddressSet private mySet; } ``` As of v3.3.0, sets of type `bytes32` (`Bytes32Set`), `address` (`AddressSet`) and `uint256` (`UintSet`) are supported.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@openzeppelin-solc-0.7/contracts/utils/EnumerableSet.sol\":\"EnumerableSet\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"node_modules/@openzeppelin-solc-0.7/contracts/utils/EnumerableSet.sol\":{\"keccak256\":\"0x9a2c1eebb65250f0e11882237038600f22a62376f0547db4acc0dfe0a3d8d34f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ccafc1afbcbf54559beea9c029d0b7656c56a185813c5fa74c4ea3eb4b608419\",\"dweb:/ipfs/QmTKwdbenDfNwmwRVh8VKtA6mhFK2AyTFRoJF3BqLB81KM\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.7.6+commit.7338295f" }, "language": "Solidity", "output": { "abi": [], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "node_modules/@openzeppelin-solc-0.7/contracts/utils/EnumerableSet.sol": "EnumerableSet" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "node_modules/@openzeppelin-solc-0.7/contracts/utils/EnumerableSet.sol": { "keccak256": "0x9a2c1eebb65250f0e11882237038600f22a62376f0547db4acc0dfe0a3d8d34f", "urls": [ "bzz-raw://ccafc1afbcbf54559beea9c029d0b7656c56a185813c5fa74c4ea3eb4b608419", "dweb:/ipfs/QmTKwdbenDfNwmwRVh8VKtA6mhFK2AyTFRoJF3BqLB81KM" ], "license": "MIT" } }, "version": 1 }, "id": 22 } diff --git a/eth_defi/abi/enzyme/EthConstantMixin.json b/eth_defi/abi/enzyme/EthConstantMixin.json index 6455a18a..dc3d132a 100644 --- a/eth_defi/abi/enzyme/EthConstantMixin.json +++ b/eth_defi/abi/enzyme/EthConstantMixin.json @@ -1,108 +1 @@ -{ - "abi": [ - { - "inputs": [], - "name": "ETH_ADDRESS", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "ETH_ADDRESS()": "a734f06e" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"ETH_ADDRESS\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/mocks/utils/EthConstantMixin.sol\":\"EthConstantMixin\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/mocks/utils/EthConstantMixin.sol\":{\"keccak256\":\"0x3970888dcaec9b20f4fe5910225221dbea5582cff9908f391ff7bf30f3e8c27b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1e99ecbe6188f2ec0a650634fa22e93e41786d55c67083a5672e71f755fb7018\",\"dweb:/ipfs/QmXbBTuMQMED2u97L8wZbNZuJ1hTmhFWbDUusuBNYVTh3o\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "ETH_ADDRESS", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/mocks/utils/EthConstantMixin.sol": "EthConstantMixin" - }, - "libraries": {} - }, - "sources": { - "contracts/mocks/utils/EthConstantMixin.sol": { - "keccak256": "0x3970888dcaec9b20f4fe5910225221dbea5582cff9908f391ff7bf30f3e8c27b", - "urls": [ - "bzz-raw://1e99ecbe6188f2ec0a650634fa22e93e41786d55c67083a5672e71f755fb7018", - "dweb:/ipfs/QmXbBTuMQMED2u97L8wZbNZuJ1hTmhFWbDUusuBNYVTh3o" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 8 -} +{ "abi": [ { "type": "function", "name": "ETH_ADDRESS", "inputs": [], "outputs": [ { "name": "", "type": "address", "internalType": "address" } ], "stateMutability": "view" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "ETH_ADDRESS()": "a734f06e" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"ETH_ADDRESS\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/mocks/utils/EthConstantMixin.sol\":\"EthConstantMixin\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/mocks/utils/EthConstantMixin.sol\":{\"keccak256\":\"0x3970888dcaec9b20f4fe5910225221dbea5582cff9908f391ff7bf30f3e8c27b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1e99ecbe6188f2ec0a650634fa22e93e41786d55c67083a5672e71f755fb7018\",\"dweb:/ipfs/QmXbBTuMQMED2u97L8wZbNZuJ1hTmhFWbDUusuBNYVTh3o\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [], "stateMutability": "view", "type": "function", "name": "ETH_ADDRESS", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/mocks/utils/EthConstantMixin.sol": "EthConstantMixin" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/mocks/utils/EthConstantMixin.sol": { "keccak256": "0x3970888dcaec9b20f4fe5910225221dbea5582cff9908f391ff7bf30f3e8c27b", "urls": [ "bzz-raw://1e99ecbe6188f2ec0a650634fa22e93e41786d55c67083a5672e71f755fb7018", "dweb:/ipfs/QmXbBTuMQMED2u97L8wZbNZuJ1hTmhFWbDUusuBNYVTh3o" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 8 } diff --git a/eth_defi/abi/enzyme/ExitRateBurnFee.json b/eth_defi/abi/enzyme/ExitRateBurnFee.json index 65c9dc0b..81085994 100644 --- a/eth_defi/abi/enzyme/ExitRateBurnFee.json +++ b/eth_defi/abi/enzyme/ExitRateBurnFee.json @@ -1,941 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_feeManager", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "comptrollerProxy", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "inKindRate", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "specificAssetsRate", - "type": "uint256" - } - ], - "name": "FundSettingsAdded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "comptrollerProxy", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "payer", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "sharesQuantity", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "bool", - "name": "forSpecificAssets", - "type": "bool" - } - ], - "name": "Settled", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "activateForFund", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_settingsData", - "type": "bytes" - } - ], - "name": "addFundSettings", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getFeeManager", - "outputs": [ - { - "internalType": "address", - "name": "feeManager_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - } - ], - "name": "getInKindRateForFund", - "outputs": [ - { - "internalType": "uint256", - "name": "rate_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "getRecipientForFund", - "outputs": [ - { - "internalType": "address", - "name": "recipient_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getSettlementType", - "outputs": [ - { - "internalType": "enum IFeeManager.SettlementType", - "name": "settlementType_", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - } - ], - "name": "getSpecificAssetsRateForFund", - "outputs": [ - { - "internalType": "uint256", - "name": "rate_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "payout", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "enum IFeeManager.FeeHook", - "name": "", - "type": "uint8" - }, - { - "internalType": "bytes", - "name": "_settlementData", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "settle", - "outputs": [ - { - "internalType": "enum IFeeManager.SettlementType", - "name": "settlementType_", - "type": "uint8" - }, - { - "internalType": "address", - "name": "payer_", - "type": "address" - }, - { - "internalType": "uint256", - "name": "sharesDue_", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "enum IFeeManager.FeeHook", - "name": "_hook", - "type": "uint8" - } - ], - "name": "settlesOnHook", - "outputs": [ - { - "internalType": "bool", - "name": "settles_", - "type": "bool" - }, - { - "internalType": "bool", - "name": "usesGav_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "enum IFeeManager.FeeHook", - "name": "", - "type": "uint8" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "update", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "enum IFeeManager.FeeHook", - "name": "", - "type": "uint8" - } - ], - "name": "updatesOnHook", - "outputs": [ - { - "internalType": "bool", - "name": "updates_", - "type": "bool" - }, - { - "internalType": "bool", - "name": "usesGav_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x60c060405234801561001057600080fd5b50604051610a58380380610a588339818101604052602081101561003357600080fd5b50516001600160601b0319606082901b16608052600360f81b60a0526001600160a01b031660036109d7610081600039806107b5525080610440528061064b528061080f52506109d76000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c806362780b3c1161007157806362780b3c1461033a5780637bdd5b1d1461037c578063a8a0fa7d146103a5578063b78b4813146103cb578063e337a91f1461040d578063f2d638261461042d576100b4565b80630f5f6b4f146100b9578063223e65051461013b578063233faf5f146101735780633146d05814610206578063320f0ddd1461023457806341892d7e1461026f575b600080fd5b610139600480360360408110156100cf57600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156100fa57600080fd5b82018360208201111561010c57600080fd5b8035906020019184600183028401116401000000008311171561012e57600080fd5b509092509050610435565b005b6101616004803603602081101561015157600080fd5b50356001600160a01b03166105e2565b60408051918252519081900360200190f35b610139600480360360a081101561018957600080fd5b6001600160a01b03823581169260208101359091169160ff60408301351691908101906080810160608201356401000000008111156101c757600080fd5b8201836020820111156101d957600080fd5b803590602001918460018302840111640100000000831117156101fb57600080fd5b919350915035610601565b6101396004803603604081101561021c57600080fd5b506001600160a01b0381358116916020013516610609565b6102546004803603602081101561024a57600080fd5b503560ff1661060d565b60408051921515835290151560208301528051918290030190f35b610302600480360360a081101561028557600080fd5b6001600160a01b03823581169260208101359091169160ff60408301351691908101906080810160608201356401000000008111156102c357600080fd5b8201836020820111156102d557600080fd5b803590602001918460018302840111640100000000831117156102f757600080fd5b91935091503561063c565b6040518084600581111561031257fe5b8152602001836001600160a01b03168152602001828152602001935050505060405180910390f35b6103606004803603602081101561035057600080fd5b50356001600160a01b03166107ad565b604080516001600160a01b039092168252519081900360200190f35b6103846107b3565b6040518082600581111561039457fe5b815260200191505060405180910390f35b610161600480360360208110156103bb57600080fd5b50356001600160a01b03166107d7565b6103f9600480360360408110156103e157600080fd5b506001600160a01b03813581169160200135166107fc565b604080519115158252519081900360200190f35b6102546004803603602081101561042357600080fd5b503560ff16610805565b61036061080d565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461049c5760405162461bcd60e51b81526004018080602001828103825260258152602001806109556025913960400191505060405180910390fd5b600080838360408110156104af57600080fd5b5061ffff81358116935060209091013516905061271082106105025760405162461bcd60e51b815260040180806020018281038252602881526020018061092d6028913960400191505060405180910390fd5b6127108161ffff16106105465760405162461bcd60e51b815260040180806020018281038252603081526020018061097a6030913960400191505060405180910390fd5b60408051808201825261ffff84811680835284821660208085018281526001600160a01b038c16600081815280845288902096518754925161ffff199093169087161763ffff0000191662010000929096169190910294909417909455845191825292810192909252825190927f9f856f74192181b265e61298e386477299c53e0cb24be55a84416f2af4ba4a61928290030190a25050505050565b6001600160a01b031660009081526020819052604090205461ffff1690565b505050505050565b5050565b600080600383600381111561061e57fe5b14156106305750600190506000610637565b5060009050805b915091565b60008080336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106a75760405162461bcd60e51b81526004018080602001828103825260258152602001806109556025913960400191505060405180910390fd5b6000806106e988888080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061083192505050565b919550909250905060008215610709576107028c6107d7565b9050610715565b6107128c6105e2565b90505b61072b6127106107258484610865565b906108c5565b9350836107455760008060009550955095505050506107a1565b821515856001600160a01b03168d6001600160a01b03167f3535fa1da8a29b0e085cee0bb81ac6587dd875222e0854b76f3ffa3c16ab1a7f876040518082815260200191505060405180910390a461079b6107b3565b95505050505b96509650969350505050565b50600090565b7f000000000000000000000000000000000000000000000000000000000000000090565b6001600160a01b031660009081526020819052604090205462010000900461ffff1690565b60005b92915050565b600080915091565b7f000000000000000000000000000000000000000000000000000000000000000090565b600080600083806020019051606081101561084b57600080fd5b508051602082015160409092015190969195509350915050565b600082610874575060006107ff565b8282028284828161088157fe5b04146108be5760405162461bcd60e51b81526004018080602001828103825260218152602001806109aa6021913960400191505060405180910390fd5b9392505050565b600080821161091b576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b81838161092457fe5b04939250505056fe61646446756e6453657474696e67733a20696e4b696e6452617465206d61782065786365656465644f6e6c7920746865204665654d616e6765722063616e206d616b6520746869732063616c6c61646446756e6453657474696e67733a20737065636966696341737365747352617465206d6178206578636565646564536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a164736f6c634300060c000a", - "sourceMap": "461:176:147:-:0;;;511:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;511:124:147;-1:-1:-1;;;;;;705:25:154;;;;;;;-1:-1:-1;;;1570:33:153::1;::::0;-1:-1:-1;;;;;461:176:147;596:31;461:176;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106100b45760003560e01c806362780b3c1161007157806362780b3c1461033a5780637bdd5b1d1461037c578063a8a0fa7d146103a5578063b78b4813146103cb578063e337a91f1461040d578063f2d638261461042d576100b4565b80630f5f6b4f146100b9578063223e65051461013b578063233faf5f146101735780633146d05814610206578063320f0ddd1461023457806341892d7e1461026f575b600080fd5b610139600480360360408110156100cf57600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156100fa57600080fd5b82018360208201111561010c57600080fd5b8035906020019184600183028401116401000000008311171561012e57600080fd5b509092509050610435565b005b6101616004803603602081101561015157600080fd5b50356001600160a01b03166105e2565b60408051918252519081900360200190f35b610139600480360360a081101561018957600080fd5b6001600160a01b03823581169260208101359091169160ff60408301351691908101906080810160608201356401000000008111156101c757600080fd5b8201836020820111156101d957600080fd5b803590602001918460018302840111640100000000831117156101fb57600080fd5b919350915035610601565b6101396004803603604081101561021c57600080fd5b506001600160a01b0381358116916020013516610609565b6102546004803603602081101561024a57600080fd5b503560ff1661060d565b60408051921515835290151560208301528051918290030190f35b610302600480360360a081101561028557600080fd5b6001600160a01b03823581169260208101359091169160ff60408301351691908101906080810160608201356401000000008111156102c357600080fd5b8201836020820111156102d557600080fd5b803590602001918460018302840111640100000000831117156102f757600080fd5b91935091503561063c565b6040518084600581111561031257fe5b8152602001836001600160a01b03168152602001828152602001935050505060405180910390f35b6103606004803603602081101561035057600080fd5b50356001600160a01b03166107ad565b604080516001600160a01b039092168252519081900360200190f35b6103846107b3565b6040518082600581111561039457fe5b815260200191505060405180910390f35b610161600480360360208110156103bb57600080fd5b50356001600160a01b03166107d7565b6103f9600480360360408110156103e157600080fd5b506001600160a01b03813581169160200135166107fc565b604080519115158252519081900360200190f35b6102546004803603602081101561042357600080fd5b503560ff16610805565b61036061080d565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461049c5760405162461bcd60e51b81526004018080602001828103825260258152602001806109556025913960400191505060405180910390fd5b600080838360408110156104af57600080fd5b5061ffff81358116935060209091013516905061271082106105025760405162461bcd60e51b815260040180806020018281038252602881526020018061092d6028913960400191505060405180910390fd5b6127108161ffff16106105465760405162461bcd60e51b815260040180806020018281038252603081526020018061097a6030913960400191505060405180910390fd5b60408051808201825261ffff84811680835284821660208085018281526001600160a01b038c16600081815280845288902096518754925161ffff199093169087161763ffff0000191662010000929096169190910294909417909455845191825292810192909252825190927f9f856f74192181b265e61298e386477299c53e0cb24be55a84416f2af4ba4a61928290030190a25050505050565b6001600160a01b031660009081526020819052604090205461ffff1690565b505050505050565b5050565b600080600383600381111561061e57fe5b14156106305750600190506000610637565b5060009050805b915091565b60008080336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106a75760405162461bcd60e51b81526004018080602001828103825260258152602001806109556025913960400191505060405180910390fd5b6000806106e988888080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061083192505050565b919550909250905060008215610709576107028c6107d7565b9050610715565b6107128c6105e2565b90505b61072b6127106107258484610865565b906108c5565b9350836107455760008060009550955095505050506107a1565b821515856001600160a01b03168d6001600160a01b03167f3535fa1da8a29b0e085cee0bb81ac6587dd875222e0854b76f3ffa3c16ab1a7f876040518082815260200191505060405180910390a461079b6107b3565b95505050505b96509650969350505050565b50600090565b7f000000000000000000000000000000000000000000000000000000000000000090565b6001600160a01b031660009081526020819052604090205462010000900461ffff1690565b60005b92915050565b600080915091565b7f000000000000000000000000000000000000000000000000000000000000000090565b600080600083806020019051606081101561084b57600080fd5b508051602082015160409092015190969195509350915050565b600082610874575060006107ff565b8282028284828161088157fe5b04146108be5760405162461bcd60e51b81526004018080602001828103825260218152602001806109aa6021913960400191505060405180910390fd5b9392505050565b600080821161091b576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b81838161092457fe5b04939250505056fe61646446756e6453657474696e67733a20696e4b696e6452617465206d61782065786365656465644f6e6c7920746865204665654d616e6765722063616e206d616b6520746869732063616c6c61646446756e6453657474696e67733a20737065636966696341737365747352617465206d6178206578636565646564536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a164736f6c634300060c000a", - "sourceMap": "461:176:147:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1842:789:153;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1842:789:153;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1842:789:153;;-1:-1:-1;1842:789:153;-1:-1:-1;1842:789:153;:::i;:::-;;4877:172;;;;;;;;;;;;;;;;-1:-1:-1;4877:172:153;-1:-1:-1;;;;;4877:172:153;;:::i;:::-;;;;;;;;;;;;;;;;1755:175:154;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1755:175:154;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1755:175:154;-1:-1:-1;1755:175:154;;:::i;862:92::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;862:92:154;;;;;;;;;;:::i;4336:291:153:-;;;;;;;;;;;;;;;;-1:-1:-1;4336:291:153;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;2970:1102;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2970:1102:153;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2970:1102:153;-1:-1:-1;2970:1102:153;;:::i;:::-;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2970:1102:153;;;;;;;;;;;;;;;;;;;;;;1144:176:154;;;;;;;;;;;;;;;;-1:-1:-1;1144:176:154;-1:-1:-1;;;;;1144:176:154;;:::i;:::-;;;;-1:-1:-1;;;;;1144:176:154;;;;;;;;;;;;;;5176:133:153;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;5493:216;;;;;;;;;;;;;;;;-1:-1:-1;5493:216:153;-1:-1:-1;;;;;5493:216:153;;:::i;1490:104:154:-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1490:104:154;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;2232:196;;;;;;;;;;;;;;;;-1:-1:-1;2232:196:154;;;;:::i;3806:104::-;;;:::i;1842:789:153:-;564:10:154;-1:-1:-1;;;;;578:11:154;564:25;;556:75;;;;-1:-1:-1;;;556:75:154;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2010:17:153::1;2029:25:::0;2082:13:::1;;2058:77;;;;;;;::::0;::::1;;-1:-1:-1::0;2058:77:153::1;::::0;::::1;::::0;::::1;::::0;-1:-1:-1;2058:77:153::1;::::0;;::::1;;;::::0;-1:-1:-1;1074:5:153::1;2153:32:::0;::::1;2145:85;;;;-1:-1:-1::0;;;2145:85:153::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1074:5;2261:18;:40;;;2240:135;;;;-1:-1:-1::0;;;2240:135:153::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2433:107;::::0;;;;::::1;::::0;;::::1;::::0;;::::1;::::0;;;;;::::1;;::::0;;::::1;::::0;;;-1:-1:-1;;;;;2386:44:153;::::1;-1:-1:-1::0;2386:44:153;;;;;;;;;:154;;;;;;-1:-1:-1;;2386:154:153;;::::1;::::0;;::::1;;-1:-1:-1::0;;2386:154:153::1;::::0;;;;::::1;::::0;;;::::1;::::0;;;::::1;::::0;;;2556:68;;;;;;;::::1;::::0;;;;;;2386:44;;2556:68:::1;::::0;;;;;;::::1;641:1:154;;1842:789:153::0;;;:::o;4877:172::-;-1:-1:-1;;;;;4987:44:153;4955:13;4987:44;;;;;;;;;;:55;;;;4877:172::o;1755:175:154:-;;;;;;;:::o;862:92::-;;;:::o;4336:291:153:-;4450:13;;4507:35;4498:5;:44;;;;;;;;;4494:95;;;-1:-1:-1;4566:4:153;;-1:-1:-1;4572:5:153;4558:20;;4494:95;-1:-1:-1;4607:5:153;;-1:-1:-1;4607:5:153;4336:291;;;;:::o;2970:1102::-;3217:42;;;564:10:154;-1:-1:-1;;;;;578:11:154;564:25;;556:75;;;;-1:-1:-1;;;556:75:154;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3344:22:153::1;3376::::0;3454:76:::1;3505:15;;3454:76;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;3454:37:153::1;::::0;-1:-1:-1;;;3454:76:153:i:1;:::-;3408:122:::0;;-1:-1:-1;3408:122:153;;-1:-1:-1;3408:122:153;-1:-1:-1;3541:12:153::1;3563:179:::0;::::1;;;3607:47;3636:17;3607:28;:47::i;:::-;3600:54;;3563:179;;;3692:39;3713:17;3692:20;:39::i;:::-;3685:46;;3563:179;3765:49;1074:5;3765:24;:14:::0;3784:4;3765:18:::1;:24::i;:::-;:28:::0;::::1;:49::i;:::-;3752:62:::0;-1:-1:-1;3829:15:153;3825:101:::1;;3868:31;3909:1:::0;3913::::1;3860:55;;;;;;;;;;;3825:101;3988:17;3941:65;;3968:6;-1:-1:-1::0;;;;;3941:65:153::1;3949:17;-1:-1:-1::0;;;;;3941:65:153::1;;3976:10;3941:65;;;;;;;;;;;;;;;;;;4025:19;:17;:19::i;:::-;4017:48;;;;;641:1:154;2970:1102:153::0;;;;;;;;;;:::o;1144:176:154:-;-1:-1:-1;1262:18:154;;1144:176::o;5176:133:153:-;5287:15;5176:133;:::o;5493:216::-;-1:-1:-1;;;;;5639:44:153;5603:13;5639:44;;;;;;;;;;:63;;;;;;;5493:216::o;1490:104:154:-;1559:4;1490:104;;;;;:::o;2232:196::-;2356:13;;2232:196;;;:::o;3806:104::-;3892:11;3806:104;:::o;2876:320::-;3013:17;3044:23;3081;3147:15;3136:53;;;;;;;;;;;;;;;-1:-1:-1;3136:53:154;;;;;;;;;;;;;;;-1:-1:-1;3136:53:154;-1:-1:-1;2876:320:154;-1:-1:-1;;2876:320:154:o;3538:215:442:-;3596:7;3619:6;3615:20;;-1:-1:-1;3634:1:442;3627:8;;3615:20;3657:5;;;3661:1;3657;:5;:1;3680:5;;;;;:10;3672:56;;;;-1:-1:-1;;;3672:56:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3745:1;3538:215;-1:-1:-1;;;3538:215:442:o;4217:150::-;4275:7;4306:1;4302;:5;4294:44;;;;;-1:-1:-1;;;4294:44:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;4359:1;4355;:5;;;;;;;4217:150;-1:-1:-1;;;4217:150:442:o", - "linkReferences": {}, - "immutableReferences": { - "40168": [ - { - "start": 1973, - "length": 32 - } - ], - "40426": [ - { - "start": 1088, - "length": 32 - }, - { - "start": 1611, - "length": 32 - }, - { - "start": 2063, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "activateForFund(address,address)": "3146d058", - "addFundSettings(address,bytes)": "0f5f6b4f", - "getFeeManager()": "f2d63826", - "getInKindRateForFund(address)": "223e6505", - "getRecipientForFund(address)": "62780b3c", - "getSettlementType()": "7bdd5b1d", - "getSpecificAssetsRateForFund(address)": "a8a0fa7d", - "payout(address,address)": "b78b4813", - "settle(address,address,uint8,bytes,uint256)": "41892d7e", - "settlesOnHook(uint8)": "320f0ddd", - "update(address,address,uint8,bytes,uint256)": "233faf5f", - "updatesOnHook(uint8)": "e337a91f" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_feeManager\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"inKindRate\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"specificAssetsRate\",\"type\":\"uint256\"}],\"name\":\"FundSettingsAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"payer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"sharesQuantity\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"bool\",\"name\":\"forSpecificAssets\",\"type\":\"bool\"}],\"name\":\"Settled\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"activateForFund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_settingsData\",\"type\":\"bytes\"}],\"name\":\"addFundSettings\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFeeManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"feeManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"}],\"name\":\"getInKindRateForFund\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"rate_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"getRecipientForFund\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"recipient_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getSettlementType\",\"outputs\":[{\"internalType\":\"enum IFeeManager.SettlementType\",\"name\":\"settlementType_\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"}],\"name\":\"getSpecificAssetsRateForFund\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"rate_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"payout\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"enum IFeeManager.FeeHook\",\"name\":\"\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"_settlementData\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"settle\",\"outputs\":[{\"internalType\":\"enum IFeeManager.SettlementType\",\"name\":\"settlementType_\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"payer_\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"sharesDue_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IFeeManager.FeeHook\",\"name\":\"_hook\",\"type\":\"uint8\"}],\"name\":\"settlesOnHook\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"settles_\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"usesGav_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"enum IFeeManager.FeeHook\",\"name\":\"\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"update\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IFeeManager.FeeHook\",\"name\":\"\",\"type\":\"uint8\"}],\"name\":\"updatesOnHook\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"updates_\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"usesGav_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"activateForFund(address,address)\":{\"details\":\"Unimplemented by default, may be overrode.\"},\"addFundSettings(address,bytes)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\",\"_settingsData\":\"Encoded settings to apply to the fee for a fund\"}},\"getFeeManager()\":{\"returns\":{\"feeManager_\":\"The `FEE_MANAGER` variable value\"}},\"getInKindRateForFund(address)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy contract for the fund\"},\"returns\":{\"rate_\":\"The fee rate\"}},\"getRecipientForFund(address)\":{\"details\":\"address(0) signifies the VaultProxy owner. Returns address(0) by default, can be overridden by fee.\"},\"getSettlementType()\":{\"returns\":{\"settlementType_\":\"The `SETTLEMENT_TYPE` variable value\"}},\"getSpecificAssetsRateForFund(address)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy contract for the fund\"},\"returns\":{\"rate_\":\"The fee rate\"}},\"payout(address,address)\":{\"details\":\"Returns false by default, can be overridden by fee\"},\"settle(address,address,uint8,bytes,uint256)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\",\"_settlementData\":\"Encoded args to use in calculating the settlement\"},\"returns\":{\"payer_\":\"The payer of shares due\",\"settlementType_\":\"The type of settlement\",\"sharesDue_\":\"The amount of shares due\"}},\"settlesOnHook(uint8)\":{\"params\":{\"_hook\":\"The FeeHook\"},\"returns\":{\"settles_\":\"True if the fee settles on the _hook\",\"usesGav_\":\"True if the fee uses GAV during settle() for the _hook\"}},\"update(address,address,uint8,bytes,uint256)\":{\"details\":\"Unimplemented by default, can be overridden by fee\"},\"updatesOnHook(uint8)\":{\"details\":\"Returns false values by default, can be overridden by fee\",\"returns\":{\"updates_\":\"True if the fee updates on the _hook\",\"usesGav_\":\"True if the fee uses GAV during update() for the _hook\"}}},\"title\":\"ExitRateBurnFee Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"activateForFund(address,address)\":{\"notice\":\"Allows Fee to run logic during fund activation\"},\"addFundSettings(address,bytes)\":{\"notice\":\"Add the initial fee settings for a fund\"},\"getFeeManager()\":{\"notice\":\"Gets the `FEE_MANAGER` variable\"},\"getInKindRateForFund(address)\":{\"notice\":\"Gets the fee rate for an in-kind redemption\"},\"getRecipientForFund(address)\":{\"notice\":\"Gets the recipient of the fee for a given fund\"},\"getSettlementType()\":{\"notice\":\"Gets the `SETTLEMENT_TYPE` variable\"},\"getSpecificAssetsRateForFund(address)\":{\"notice\":\"Gets the fee rate for a specific assets redemption\"},\"payout(address,address)\":{\"notice\":\"Runs payout logic for a fee that utilizes shares outstanding as its settlement type\"},\"settle(address,address,uint8,bytes,uint256)\":{\"notice\":\"Settles the fee\"},\"settlesOnHook(uint8)\":{\"notice\":\"Gets whether the fee settles and requires GAV on a particular hook\"},\"update(address,address,uint8,bytes,uint256)\":{\"notice\":\"Update fee state after all settlement has occurred during a given fee hook\"},\"updatesOnHook(uint8)\":{\"notice\":\"Gets whether the fee updates and requires GAV on a particular hook\"}},\"notice\":\"An ExitRateFee that burns the fee shares\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/fee-manager/fees/ExitRateBurnFee.sol\":\"ExitRateBurnFee\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/fee-manager/IFee.sol\":{\"keccak256\":\"0x38e3f324c67f3205e38197165586ea82ca226069902f34214bcde76cf905fcff\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c1fff656d1bdde3324421bc9e77cbfc4e80baf4e665f8713fdb65611b046f4b0\",\"dweb:/ipfs/QmVRFjNwmsVHdh4sp3DWdL74VWmhRhPZE5kDxJiuPL8Gu2\"]},\"contracts/release/extensions/fee-manager/IFeeManager.sol\":{\"keccak256\":\"0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22\",\"dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod\"]},\"contracts/release/extensions/fee-manager/fees/ExitRateBurnFee.sol\":{\"keccak256\":\"0xa656884c19fece41f77a2b4e92c06c78c12f0ebd6f21c49d5f94496dc2306309\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ad46c16cf0ad093aa30d42ea9014ad9bf07f3e34a5f8fbb10a174c2a0616b85e\",\"dweb:/ipfs/QmVFBMBSJWfuWGysXhj9Nzc6ff2urtYsPQeNFKZJCVk5og\"]},\"contracts/release/extensions/fee-manager/fees/utils/ExitRateFeeBase.sol\":{\"keccak256\":\"0x5db95baa1ba9312cf22745331635831ac765913a661c69bfdd5b63010ba524f3\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d1aae0eb8b22a98647ec2950eb793f6f65f590e3d52fa04eb75a940086bad09d\",\"dweb:/ipfs/QmPHVpcgSqxsG4kBZzqqy7YYi2ao8QpNgBR6McpqAcmu8R\"]},\"contracts/release/extensions/fee-manager/fees/utils/FeeBase.sol\":{\"keccak256\":\"0x485c03e3088b6dc9828d2e895cce6856501448b4a2c71a0acae4e012bc644b14\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b63aef3cd20eb4dd585632c74619235ef1d5c3c2c52fd61f8802d0a50569b767\",\"dweb:/ipfs/QmSuTYChj2j8NnLYCg47feAJ5P9NheQpK46fG6fhmMtimA\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_feeManager", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "comptrollerProxy", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "inKindRate", - "type": "uint256", - "indexed": false - }, - { - "internalType": "uint256", - "name": "specificAssetsRate", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "FundSettingsAdded", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "comptrollerProxy", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "payer", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "sharesQuantity", - "type": "uint256", - "indexed": false - }, - { - "internalType": "bool", - "name": "forSpecificAssets", - "type": "bool", - "indexed": true - } - ], - "type": "event", - "name": "Settled", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "activateForFund" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_settingsData", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "addFundSettings" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getFeeManager", - "outputs": [ - { - "internalType": "address", - "name": "feeManager_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getInKindRateForFund", - "outputs": [ - { - "internalType": "uint256", - "name": "rate_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getRecipientForFund", - "outputs": [ - { - "internalType": "address", - "name": "recipient_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getSettlementType", - "outputs": [ - { - "internalType": "enum IFeeManager.SettlementType", - "name": "settlementType_", - "type": "uint8" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getSpecificAssetsRateForFund", - "outputs": [ - { - "internalType": "uint256", - "name": "rate_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "payout", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "enum IFeeManager.FeeHook", - "name": "", - "type": "uint8" - }, - { - "internalType": "bytes", - "name": "_settlementData", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "settle", - "outputs": [ - { - "internalType": "enum IFeeManager.SettlementType", - "name": "settlementType_", - "type": "uint8" - }, - { - "internalType": "address", - "name": "payer_", - "type": "address" - }, - { - "internalType": "uint256", - "name": "sharesDue_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "enum IFeeManager.FeeHook", - "name": "_hook", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function", - "name": "settlesOnHook", - "outputs": [ - { - "internalType": "bool", - "name": "settles_", - "type": "bool" - }, - { - "internalType": "bool", - "name": "usesGav_", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "enum IFeeManager.FeeHook", - "name": "", - "type": "uint8" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "update" - }, - { - "inputs": [ - { - "internalType": "enum IFeeManager.FeeHook", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function", - "name": "updatesOnHook", - "outputs": [ - { - "internalType": "bool", - "name": "updates_", - "type": "bool" - }, - { - "internalType": "bool", - "name": "usesGav_", - "type": "bool" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "activateForFund(address,address)": { - "details": "Unimplemented by default, may be overrode." - }, - "addFundSettings(address,bytes)": { - "params": { - "_comptrollerProxy": "The ComptrollerProxy of the fund", - "_settingsData": "Encoded settings to apply to the fee for a fund" - } - }, - "getFeeManager()": { - "returns": { - "feeManager_": "The `FEE_MANAGER` variable value" - } - }, - "getInKindRateForFund(address)": { - "params": { - "_comptrollerProxy": "The ComptrollerProxy contract for the fund" - }, - "returns": { - "rate_": "The fee rate" - } - }, - "getRecipientForFund(address)": { - "details": "address(0) signifies the VaultProxy owner. Returns address(0) by default, can be overridden by fee." - }, - "getSettlementType()": { - "returns": { - "settlementType_": "The `SETTLEMENT_TYPE` variable value" - } - }, - "getSpecificAssetsRateForFund(address)": { - "params": { - "_comptrollerProxy": "The ComptrollerProxy contract for the fund" - }, - "returns": { - "rate_": "The fee rate" - } - }, - "payout(address,address)": { - "details": "Returns false by default, can be overridden by fee" - }, - "settle(address,address,uint8,bytes,uint256)": { - "params": { - "_comptrollerProxy": "The ComptrollerProxy of the fund", - "_settlementData": "Encoded args to use in calculating the settlement" - }, - "returns": { - "payer_": "The payer of shares due", - "settlementType_": "The type of settlement", - "sharesDue_": "The amount of shares due" - } - }, - "settlesOnHook(uint8)": { - "params": { - "_hook": "The FeeHook" - }, - "returns": { - "settles_": "True if the fee settles on the _hook", - "usesGav_": "True if the fee uses GAV during settle() for the _hook" - } - }, - "update(address,address,uint8,bytes,uint256)": { - "details": "Unimplemented by default, can be overridden by fee" - }, - "updatesOnHook(uint8)": { - "details": "Returns false values by default, can be overridden by fee", - "returns": { - "updates_": "True if the fee updates on the _hook", - "usesGav_": "True if the fee uses GAV during update() for the _hook" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "activateForFund(address,address)": { - "notice": "Allows Fee to run logic during fund activation" - }, - "addFundSettings(address,bytes)": { - "notice": "Add the initial fee settings for a fund" - }, - "getFeeManager()": { - "notice": "Gets the `FEE_MANAGER` variable" - }, - "getInKindRateForFund(address)": { - "notice": "Gets the fee rate for an in-kind redemption" - }, - "getRecipientForFund(address)": { - "notice": "Gets the recipient of the fee for a given fund" - }, - "getSettlementType()": { - "notice": "Gets the `SETTLEMENT_TYPE` variable" - }, - "getSpecificAssetsRateForFund(address)": { - "notice": "Gets the fee rate for a specific assets redemption" - }, - "payout(address,address)": { - "notice": "Runs payout logic for a fee that utilizes shares outstanding as its settlement type" - }, - "settle(address,address,uint8,bytes,uint256)": { - "notice": "Settles the fee" - }, - "settlesOnHook(uint8)": { - "notice": "Gets whether the fee settles and requires GAV on a particular hook" - }, - "update(address,address,uint8,bytes,uint256)": { - "notice": "Update fee state after all settlement has occurred during a given fee hook" - }, - "updatesOnHook(uint8)": { - "notice": "Gets whether the fee updates and requires GAV on a particular hook" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/fee-manager/fees/ExitRateBurnFee.sol": "ExitRateBurnFee" - }, - "libraries": {} - }, - "sources": { - "contracts/release/extensions/fee-manager/IFee.sol": { - "keccak256": "0x38e3f324c67f3205e38197165586ea82ca226069902f34214bcde76cf905fcff", - "urls": [ - "bzz-raw://c1fff656d1bdde3324421bc9e77cbfc4e80baf4e665f8713fdb65611b046f4b0", - "dweb:/ipfs/QmVRFjNwmsVHdh4sp3DWdL74VWmhRhPZE5kDxJiuPL8Gu2" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/fee-manager/IFeeManager.sol": { - "keccak256": "0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51", - "urls": [ - "bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22", - "dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/fee-manager/fees/ExitRateBurnFee.sol": { - "keccak256": "0xa656884c19fece41f77a2b4e92c06c78c12f0ebd6f21c49d5f94496dc2306309", - "urls": [ - "bzz-raw://ad46c16cf0ad093aa30d42ea9014ad9bf07f3e34a5f8fbb10a174c2a0616b85e", - "dweb:/ipfs/QmVFBMBSJWfuWGysXhj9Nzc6ff2urtYsPQeNFKZJCVk5og" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/fee-manager/fees/utils/ExitRateFeeBase.sol": { - "keccak256": "0x5db95baa1ba9312cf22745331635831ac765913a661c69bfdd5b63010ba524f3", - "urls": [ - "bzz-raw://d1aae0eb8b22a98647ec2950eb793f6f65f590e3d52fa04eb75a940086bad09d", - "dweb:/ipfs/QmPHVpcgSqxsG4kBZzqqy7YYi2ao8QpNgBR6McpqAcmu8R" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/fee-manager/fees/utils/FeeBase.sol": { - "keccak256": "0x485c03e3088b6dc9828d2e895cce6856501448b4a2c71a0acae4e012bc644b14", - "urls": [ - "bzz-raw://b63aef3cd20eb4dd585632c74619235ef1d5c3c2c52fd61f8802d0a50569b767", - "dweb:/ipfs/QmSuTYChj2j8NnLYCg47feAJ5P9NheQpK46fG6fhmMtimA" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 147 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_feeManager", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "activateForFund", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "addFundSettings", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" }, { "name": "_settingsData", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "getFeeManager", "inputs": [], "outputs": [ { "name": "feeManager_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getInKindRateForFund", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "rate_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "getRecipientForFund", "inputs": [ { "name": "", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "recipient_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getSettlementType", "inputs": [], "outputs": [ { "name": "settlementType_", "type": "uint8", "internalType": "enum IFeeManager.SettlementType" } ], "stateMutability": "view" }, { "type": "function", "name": "getSpecificAssetsRateForFund", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "rate_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "payout", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "settle", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" }, { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "uint8", "internalType": "enum IFeeManager.FeeHook" }, { "name": "_settlementData", "type": "bytes", "internalType": "bytes" }, { "name": "", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "settlementType_", "type": "uint8", "internalType": "enum IFeeManager.SettlementType" }, { "name": "payer_", "type": "address", "internalType": "address" }, { "name": "sharesDue_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "settlesOnHook", "inputs": [ { "name": "_hook", "type": "uint8", "internalType": "enum IFeeManager.FeeHook" } ], "outputs": [ { "name": "settles_", "type": "bool", "internalType": "bool" }, { "name": "usesGav_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "update", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "uint8", "internalType": "enum IFeeManager.FeeHook" }, { "name": "", "type": "bytes", "internalType": "bytes" }, { "name": "", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "updatesOnHook", "inputs": [ { "name": "", "type": "uint8", "internalType": "enum IFeeManager.FeeHook" } ], "outputs": [ { "name": "updates_", "type": "bool", "internalType": "bool" }, { "name": "usesGav_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "event", "name": "FundSettingsAdded", "inputs": [ { "name": "comptrollerProxy", "type": "address", "indexed": true, "internalType": "address" }, { "name": "inKindRate", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "specificAssetsRate", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "Settled", "inputs": [ { "name": "comptrollerProxy", "type": "address", "indexed": true, "internalType": "address" }, { "name": "payer", "type": "address", "indexed": true, "internalType": "address" }, { "name": "sharesQuantity", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "forSpecificAssets", "type": "bool", "indexed": true, "internalType": "bool" } ], "anonymous": false } ], "bytecode": { "object": "0x60c060405234801561001057600080fd5b50604051610a58380380610a588339818101604052602081101561003357600080fd5b50516001600160601b0319606082901b16608052600360f81b60a0526001600160a01b031660036109d7610081600039806107b5525080610440528061064b528061080f52506109d76000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c806362780b3c1161007157806362780b3c1461033a5780637bdd5b1d1461037c578063a8a0fa7d146103a5578063b78b4813146103cb578063e337a91f1461040d578063f2d638261461042d576100b4565b80630f5f6b4f146100b9578063223e65051461013b578063233faf5f146101735780633146d05814610206578063320f0ddd1461023457806341892d7e1461026f575b600080fd5b610139600480360360408110156100cf57600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156100fa57600080fd5b82018360208201111561010c57600080fd5b8035906020019184600183028401116401000000008311171561012e57600080fd5b509092509050610435565b005b6101616004803603602081101561015157600080fd5b50356001600160a01b03166105e2565b60408051918252519081900360200190f35b610139600480360360a081101561018957600080fd5b6001600160a01b03823581169260208101359091169160ff60408301351691908101906080810160608201356401000000008111156101c757600080fd5b8201836020820111156101d957600080fd5b803590602001918460018302840111640100000000831117156101fb57600080fd5b919350915035610601565b6101396004803603604081101561021c57600080fd5b506001600160a01b0381358116916020013516610609565b6102546004803603602081101561024a57600080fd5b503560ff1661060d565b60408051921515835290151560208301528051918290030190f35b610302600480360360a081101561028557600080fd5b6001600160a01b03823581169260208101359091169160ff60408301351691908101906080810160608201356401000000008111156102c357600080fd5b8201836020820111156102d557600080fd5b803590602001918460018302840111640100000000831117156102f757600080fd5b91935091503561063c565b6040518084600581111561031257fe5b8152602001836001600160a01b03168152602001828152602001935050505060405180910390f35b6103606004803603602081101561035057600080fd5b50356001600160a01b03166107ad565b604080516001600160a01b039092168252519081900360200190f35b6103846107b3565b6040518082600581111561039457fe5b815260200191505060405180910390f35b610161600480360360208110156103bb57600080fd5b50356001600160a01b03166107d7565b6103f9600480360360408110156103e157600080fd5b506001600160a01b03813581169160200135166107fc565b604080519115158252519081900360200190f35b6102546004803603602081101561042357600080fd5b503560ff16610805565b61036061080d565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461049c5760405162461bcd60e51b81526004018080602001828103825260258152602001806109556025913960400191505060405180910390fd5b600080838360408110156104af57600080fd5b5061ffff81358116935060209091013516905061271082106105025760405162461bcd60e51b815260040180806020018281038252602881526020018061092d6028913960400191505060405180910390fd5b6127108161ffff16106105465760405162461bcd60e51b815260040180806020018281038252603081526020018061097a6030913960400191505060405180910390fd5b60408051808201825261ffff84811680835284821660208085018281526001600160a01b038c16600081815280845288902096518754925161ffff199093169087161763ffff0000191662010000929096169190910294909417909455845191825292810192909252825190927f9f856f74192181b265e61298e386477299c53e0cb24be55a84416f2af4ba4a61928290030190a25050505050565b6001600160a01b031660009081526020819052604090205461ffff1690565b505050505050565b5050565b600080600383600381111561061e57fe5b14156106305750600190506000610637565b5060009050805b915091565b60008080336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106a75760405162461bcd60e51b81526004018080602001828103825260258152602001806109556025913960400191505060405180910390fd5b6000806106e988888080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061083192505050565b919550909250905060008215610709576107028c6107d7565b9050610715565b6107128c6105e2565b90505b61072b6127106107258484610865565b906108c5565b9350836107455760008060009550955095505050506107a1565b821515856001600160a01b03168d6001600160a01b03167f3535fa1da8a29b0e085cee0bb81ac6587dd875222e0854b76f3ffa3c16ab1a7f876040518082815260200191505060405180910390a461079b6107b3565b95505050505b96509650969350505050565b50600090565b7f000000000000000000000000000000000000000000000000000000000000000090565b6001600160a01b031660009081526020819052604090205462010000900461ffff1690565b60005b92915050565b600080915091565b7f000000000000000000000000000000000000000000000000000000000000000090565b600080600083806020019051606081101561084b57600080fd5b508051602082015160409092015190969195509350915050565b600082610874575060006107ff565b8282028284828161088157fe5b04146108be5760405162461bcd60e51b81526004018080602001828103825260218152602001806109aa6021913960400191505060405180910390fd5b9392505050565b600080821161091b576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b81838161092457fe5b04939250505056fe61646446756e6453657474696e67733a20696e4b696e6452617465206d61782065786365656465644f6e6c7920746865204665654d616e6765722063616e206d616b6520746869732063616c6c61646446756e6453657474696e67733a20737065636966696341737365747352617465206d6178206578636565646564536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a164736f6c634300060c000a", "sourceMap": "461:176:147:-:0;;;511:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;511:124:147;-1:-1:-1;;;;;;705:25:154;;;;;;;-1:-1:-1;;;1570:33:153::1;::::0;-1:-1:-1;;;;;461:176:147;596:31;461:176;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106100b45760003560e01c806362780b3c1161007157806362780b3c1461033a5780637bdd5b1d1461037c578063a8a0fa7d146103a5578063b78b4813146103cb578063e337a91f1461040d578063f2d638261461042d576100b4565b80630f5f6b4f146100b9578063223e65051461013b578063233faf5f146101735780633146d05814610206578063320f0ddd1461023457806341892d7e1461026f575b600080fd5b610139600480360360408110156100cf57600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156100fa57600080fd5b82018360208201111561010c57600080fd5b8035906020019184600183028401116401000000008311171561012e57600080fd5b509092509050610435565b005b6101616004803603602081101561015157600080fd5b50356001600160a01b03166105e2565b60408051918252519081900360200190f35b610139600480360360a081101561018957600080fd5b6001600160a01b03823581169260208101359091169160ff60408301351691908101906080810160608201356401000000008111156101c757600080fd5b8201836020820111156101d957600080fd5b803590602001918460018302840111640100000000831117156101fb57600080fd5b919350915035610601565b6101396004803603604081101561021c57600080fd5b506001600160a01b0381358116916020013516610609565b6102546004803603602081101561024a57600080fd5b503560ff1661060d565b60408051921515835290151560208301528051918290030190f35b610302600480360360a081101561028557600080fd5b6001600160a01b03823581169260208101359091169160ff60408301351691908101906080810160608201356401000000008111156102c357600080fd5b8201836020820111156102d557600080fd5b803590602001918460018302840111640100000000831117156102f757600080fd5b91935091503561063c565b6040518084600581111561031257fe5b8152602001836001600160a01b03168152602001828152602001935050505060405180910390f35b6103606004803603602081101561035057600080fd5b50356001600160a01b03166107ad565b604080516001600160a01b039092168252519081900360200190f35b6103846107b3565b6040518082600581111561039457fe5b815260200191505060405180910390f35b610161600480360360208110156103bb57600080fd5b50356001600160a01b03166107d7565b6103f9600480360360408110156103e157600080fd5b506001600160a01b03813581169160200135166107fc565b604080519115158252519081900360200190f35b6102546004803603602081101561042357600080fd5b503560ff16610805565b61036061080d565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461049c5760405162461bcd60e51b81526004018080602001828103825260258152602001806109556025913960400191505060405180910390fd5b600080838360408110156104af57600080fd5b5061ffff81358116935060209091013516905061271082106105025760405162461bcd60e51b815260040180806020018281038252602881526020018061092d6028913960400191505060405180910390fd5b6127108161ffff16106105465760405162461bcd60e51b815260040180806020018281038252603081526020018061097a6030913960400191505060405180910390fd5b60408051808201825261ffff84811680835284821660208085018281526001600160a01b038c16600081815280845288902096518754925161ffff199093169087161763ffff0000191662010000929096169190910294909417909455845191825292810192909252825190927f9f856f74192181b265e61298e386477299c53e0cb24be55a84416f2af4ba4a61928290030190a25050505050565b6001600160a01b031660009081526020819052604090205461ffff1690565b505050505050565b5050565b600080600383600381111561061e57fe5b14156106305750600190506000610637565b5060009050805b915091565b60008080336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106a75760405162461bcd60e51b81526004018080602001828103825260258152602001806109556025913960400191505060405180910390fd5b6000806106e988888080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061083192505050565b919550909250905060008215610709576107028c6107d7565b9050610715565b6107128c6105e2565b90505b61072b6127106107258484610865565b906108c5565b9350836107455760008060009550955095505050506107a1565b821515856001600160a01b03168d6001600160a01b03167f3535fa1da8a29b0e085cee0bb81ac6587dd875222e0854b76f3ffa3c16ab1a7f876040518082815260200191505060405180910390a461079b6107b3565b95505050505b96509650969350505050565b50600090565b7f000000000000000000000000000000000000000000000000000000000000000090565b6001600160a01b031660009081526020819052604090205462010000900461ffff1690565b60005b92915050565b600080915091565b7f000000000000000000000000000000000000000000000000000000000000000090565b600080600083806020019051606081101561084b57600080fd5b508051602082015160409092015190969195509350915050565b600082610874575060006107ff565b8282028284828161088157fe5b04146108be5760405162461bcd60e51b81526004018080602001828103825260218152602001806109aa6021913960400191505060405180910390fd5b9392505050565b600080821161091b576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b81838161092457fe5b04939250505056fe61646446756e6453657474696e67733a20696e4b696e6452617465206d61782065786365656465644f6e6c7920746865204665654d616e6765722063616e206d616b6520746869732063616c6c61646446756e6453657474696e67733a20737065636966696341737365747352617465206d6178206578636565646564536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a164736f6c634300060c000a", "sourceMap": "461:176:147:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1842:789:153;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1842:789:153;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1842:789:153;;-1:-1:-1;1842:789:153;-1:-1:-1;1842:789:153;:::i;:::-;;4877:172;;;;;;;;;;;;;;;;-1:-1:-1;4877:172:153;-1:-1:-1;;;;;4877:172:153;;:::i;:::-;;;;;;;;;;;;;;;;1755:175:154;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1755:175:154;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1755:175:154;-1:-1:-1;1755:175:154;;:::i;862:92::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;862:92:154;;;;;;;;;;:::i;4336:291:153:-;;;;;;;;;;;;;;;;-1:-1:-1;4336:291:153;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;2970:1102;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2970:1102:153;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2970:1102:153;-1:-1:-1;2970:1102:153;;:::i;:::-;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2970:1102:153;;;;;;;;;;;;;;;;;;;;;;1144:176:154;;;;;;;;;;;;;;;;-1:-1:-1;1144:176:154;-1:-1:-1;;;;;1144:176:154;;:::i;:::-;;;;-1:-1:-1;;;;;1144:176:154;;;;;;;;;;;;;;5176:133:153;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;5493:216;;;;;;;;;;;;;;;;-1:-1:-1;5493:216:153;-1:-1:-1;;;;;5493:216:153;;:::i;1490:104:154:-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1490:104:154;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;2232:196;;;;;;;;;;;;;;;;-1:-1:-1;2232:196:154;;;;:::i;3806:104::-;;;:::i;1842:789:153:-;564:10:154;-1:-1:-1;;;;;578:11:154;564:25;;556:75;;;;-1:-1:-1;;;556:75:154;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2010:17:153::1;2029:25:::0;2082:13:::1;;2058:77;;;;;;;::::0;::::1;;-1:-1:-1::0;2058:77:153::1;::::0;::::1;::::0;::::1;::::0;-1:-1:-1;2058:77:153::1;::::0;;::::1;;;::::0;-1:-1:-1;1074:5:153::1;2153:32:::0;::::1;2145:85;;;;-1:-1:-1::0;;;2145:85:153::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1074:5;2261:18;:40;;;2240:135;;;;-1:-1:-1::0;;;2240:135:153::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2433:107;::::0;;;;::::1;::::0;;::::1;::::0;;::::1;::::0;;;;;::::1;;::::0;;::::1;::::0;;;-1:-1:-1;;;;;2386:44:153;::::1;-1:-1:-1::0;2386:44:153;;;;;;;;;:154;;;;;;-1:-1:-1;;2386:154:153;;::::1;::::0;;::::1;;-1:-1:-1::0;;2386:154:153::1;::::0;;;;::::1;::::0;;;::::1;::::0;;;::::1;::::0;;;2556:68;;;;;;;::::1;::::0;;;;;;2386:44;;2556:68:::1;::::0;;;;;;::::1;641:1:154;;1842:789:153::0;;;:::o;4877:172::-;-1:-1:-1;;;;;4987:44:153;4955:13;4987:44;;;;;;;;;;:55;;;;4877:172::o;1755:175:154:-;;;;;;;:::o;862:92::-;;;:::o;4336:291:153:-;4450:13;;4507:35;4498:5;:44;;;;;;;;;4494:95;;;-1:-1:-1;4566:4:153;;-1:-1:-1;4572:5:153;4558:20;;4494:95;-1:-1:-1;4607:5:153;;-1:-1:-1;4607:5:153;4336:291;;;;:::o;2970:1102::-;3217:42;;;564:10:154;-1:-1:-1;;;;;578:11:154;564:25;;556:75;;;;-1:-1:-1;;;556:75:154;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3344:22:153::1;3376::::0;3454:76:::1;3505:15;;3454:76;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;3454:37:153::1;::::0;-1:-1:-1;;;3454:76:153:i:1;:::-;3408:122:::0;;-1:-1:-1;3408:122:153;;-1:-1:-1;3408:122:153;-1:-1:-1;3541:12:153::1;3563:179:::0;::::1;;;3607:47;3636:17;3607:28;:47::i;:::-;3600:54;;3563:179;;;3692:39;3713:17;3692:20;:39::i;:::-;3685:46;;3563:179;3765:49;1074:5;3765:24;:14:::0;3784:4;3765:18:::1;:24::i;:::-;:28:::0;::::1;:49::i;:::-;3752:62:::0;-1:-1:-1;3829:15:153;3825:101:::1;;3868:31;3909:1:::0;3913::::1;3860:55;;;;;;;;;;;3825:101;3988:17;3941:65;;3968:6;-1:-1:-1::0;;;;;3941:65:153::1;3949:17;-1:-1:-1::0;;;;;3941:65:153::1;;3976:10;3941:65;;;;;;;;;;;;;;;;;;4025:19;:17;:19::i;:::-;4017:48;;;;;641:1:154;2970:1102:153::0;;;;;;;;;;:::o;1144:176:154:-;-1:-1:-1;1262:18:154;;1144:176::o;5176:133:153:-;5287:15;5176:133;:::o;5493:216::-;-1:-1:-1;;;;;5639:44:153;5603:13;5639:44;;;;;;;;;;:63;;;;;;;5493:216::o;1490:104:154:-;1559:4;1490:104;;;;;:::o;2232:196::-;2356:13;;2232:196;;;:::o;3806:104::-;3892:11;3806:104;:::o;2876:320::-;3013:17;3044:23;3081;3147:15;3136:53;;;;;;;;;;;;;;;-1:-1:-1;3136:53:154;;;;;;;;;;;;;;;-1:-1:-1;3136:53:154;-1:-1:-1;2876:320:154;-1:-1:-1;;2876:320:154:o;3538:215:442:-;3596:7;3619:6;3615:20;;-1:-1:-1;3634:1:442;3627:8;;3615:20;3657:5;;;3661:1;3657;:5;:1;3680:5;;;;;:10;3672:56;;;;-1:-1:-1;;;3672:56:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3745:1;3538:215;-1:-1:-1;;;3538:215:442:o;4217:150::-;4275:7;4306:1;4302;:5;4294:44;;;;;-1:-1:-1;;;4294:44:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;4359:1;4355;:5;;;;;;;4217:150;-1:-1:-1;;;4217:150:442:o", "linkReferences": {}, "immutableReferences": { "40168": [ { "start": 1973, "length": 32 } ], "40426": [ { "start": 1088, "length": 32 }, { "start": 1611, "length": 32 }, { "start": 2063, "length": 32 } ] } }, "methodIdentifiers": { "activateForFund(address,address)": "3146d058", "addFundSettings(address,bytes)": "0f5f6b4f", "getFeeManager()": "f2d63826", "getInKindRateForFund(address)": "223e6505", "getRecipientForFund(address)": "62780b3c", "getSettlementType()": "7bdd5b1d", "getSpecificAssetsRateForFund(address)": "a8a0fa7d", "payout(address,address)": "b78b4813", "settle(address,address,uint8,bytes,uint256)": "41892d7e", "settlesOnHook(uint8)": "320f0ddd", "update(address,address,uint8,bytes,uint256)": "233faf5f", "updatesOnHook(uint8)": "e337a91f" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_feeManager\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"inKindRate\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"specificAssetsRate\",\"type\":\"uint256\"}],\"name\":\"FundSettingsAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"payer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"sharesQuantity\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"bool\",\"name\":\"forSpecificAssets\",\"type\":\"bool\"}],\"name\":\"Settled\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"activateForFund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_settingsData\",\"type\":\"bytes\"}],\"name\":\"addFundSettings\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFeeManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"feeManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"}],\"name\":\"getInKindRateForFund\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"rate_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"getRecipientForFund\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"recipient_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getSettlementType\",\"outputs\":[{\"internalType\":\"enum IFeeManager.SettlementType\",\"name\":\"settlementType_\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"}],\"name\":\"getSpecificAssetsRateForFund\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"rate_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"payout\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"enum IFeeManager.FeeHook\",\"name\":\"\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"_settlementData\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"settle\",\"outputs\":[{\"internalType\":\"enum IFeeManager.SettlementType\",\"name\":\"settlementType_\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"payer_\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"sharesDue_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IFeeManager.FeeHook\",\"name\":\"_hook\",\"type\":\"uint8\"}],\"name\":\"settlesOnHook\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"settles_\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"usesGav_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"enum IFeeManager.FeeHook\",\"name\":\"\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"update\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IFeeManager.FeeHook\",\"name\":\"\",\"type\":\"uint8\"}],\"name\":\"updatesOnHook\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"updates_\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"usesGav_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"activateForFund(address,address)\":{\"details\":\"Unimplemented by default, may be overrode.\"},\"addFundSettings(address,bytes)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\",\"_settingsData\":\"Encoded settings to apply to the fee for a fund\"}},\"getFeeManager()\":{\"returns\":{\"feeManager_\":\"The `FEE_MANAGER` variable value\"}},\"getInKindRateForFund(address)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy contract for the fund\"},\"returns\":{\"rate_\":\"The fee rate\"}},\"getRecipientForFund(address)\":{\"details\":\"address(0) signifies the VaultProxy owner. Returns address(0) by default, can be overridden by fee.\"},\"getSettlementType()\":{\"returns\":{\"settlementType_\":\"The `SETTLEMENT_TYPE` variable value\"}},\"getSpecificAssetsRateForFund(address)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy contract for the fund\"},\"returns\":{\"rate_\":\"The fee rate\"}},\"payout(address,address)\":{\"details\":\"Returns false by default, can be overridden by fee\"},\"settle(address,address,uint8,bytes,uint256)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\",\"_settlementData\":\"Encoded args to use in calculating the settlement\"},\"returns\":{\"payer_\":\"The payer of shares due\",\"settlementType_\":\"The type of settlement\",\"sharesDue_\":\"The amount of shares due\"}},\"settlesOnHook(uint8)\":{\"params\":{\"_hook\":\"The FeeHook\"},\"returns\":{\"settles_\":\"True if the fee settles on the _hook\",\"usesGav_\":\"True if the fee uses GAV during settle() for the _hook\"}},\"update(address,address,uint8,bytes,uint256)\":{\"details\":\"Unimplemented by default, can be overridden by fee\"},\"updatesOnHook(uint8)\":{\"details\":\"Returns false values by default, can be overridden by fee\",\"returns\":{\"updates_\":\"True if the fee updates on the _hook\",\"usesGav_\":\"True if the fee uses GAV during update() for the _hook\"}}},\"title\":\"ExitRateBurnFee Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"activateForFund(address,address)\":{\"notice\":\"Allows Fee to run logic during fund activation\"},\"addFundSettings(address,bytes)\":{\"notice\":\"Add the initial fee settings for a fund\"},\"getFeeManager()\":{\"notice\":\"Gets the `FEE_MANAGER` variable\"},\"getInKindRateForFund(address)\":{\"notice\":\"Gets the fee rate for an in-kind redemption\"},\"getRecipientForFund(address)\":{\"notice\":\"Gets the recipient of the fee for a given fund\"},\"getSettlementType()\":{\"notice\":\"Gets the `SETTLEMENT_TYPE` variable\"},\"getSpecificAssetsRateForFund(address)\":{\"notice\":\"Gets the fee rate for a specific assets redemption\"},\"payout(address,address)\":{\"notice\":\"Runs payout logic for a fee that utilizes shares outstanding as its settlement type\"},\"settle(address,address,uint8,bytes,uint256)\":{\"notice\":\"Settles the fee\"},\"settlesOnHook(uint8)\":{\"notice\":\"Gets whether the fee settles and requires GAV on a particular hook\"},\"update(address,address,uint8,bytes,uint256)\":{\"notice\":\"Update fee state after all settlement has occurred during a given fee hook\"},\"updatesOnHook(uint8)\":{\"notice\":\"Gets whether the fee updates and requires GAV on a particular hook\"}},\"notice\":\"An ExitRateFee that burns the fee shares\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/fee-manager/fees/ExitRateBurnFee.sol\":\"ExitRateBurnFee\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/fee-manager/IFee.sol\":{\"keccak256\":\"0x38e3f324c67f3205e38197165586ea82ca226069902f34214bcde76cf905fcff\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c1fff656d1bdde3324421bc9e77cbfc4e80baf4e665f8713fdb65611b046f4b0\",\"dweb:/ipfs/QmVRFjNwmsVHdh4sp3DWdL74VWmhRhPZE5kDxJiuPL8Gu2\"]},\"contracts/release/extensions/fee-manager/IFeeManager.sol\":{\"keccak256\":\"0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22\",\"dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod\"]},\"contracts/release/extensions/fee-manager/fees/ExitRateBurnFee.sol\":{\"keccak256\":\"0xa656884c19fece41f77a2b4e92c06c78c12f0ebd6f21c49d5f94496dc2306309\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ad46c16cf0ad093aa30d42ea9014ad9bf07f3e34a5f8fbb10a174c2a0616b85e\",\"dweb:/ipfs/QmVFBMBSJWfuWGysXhj9Nzc6ff2urtYsPQeNFKZJCVk5og\"]},\"contracts/release/extensions/fee-manager/fees/utils/ExitRateFeeBase.sol\":{\"keccak256\":\"0x5db95baa1ba9312cf22745331635831ac765913a661c69bfdd5b63010ba524f3\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d1aae0eb8b22a98647ec2950eb793f6f65f590e3d52fa04eb75a940086bad09d\",\"dweb:/ipfs/QmPHVpcgSqxsG4kBZzqqy7YYi2ao8QpNgBR6McpqAcmu8R\"]},\"contracts/release/extensions/fee-manager/fees/utils/FeeBase.sol\":{\"keccak256\":\"0x485c03e3088b6dc9828d2e895cce6856501448b4a2c71a0acae4e012bc644b14\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b63aef3cd20eb4dd585632c74619235ef1d5c3c2c52fd61f8802d0a50569b767\",\"dweb:/ipfs/QmSuTYChj2j8NnLYCg47feAJ5P9NheQpK46fG6fhmMtimA\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_feeManager", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "comptrollerProxy", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "inKindRate", "type": "uint256", "indexed": false }, { "internalType": "uint256", "name": "specificAssetsRate", "type": "uint256", "indexed": false } ], "type": "event", "name": "FundSettingsAdded", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "comptrollerProxy", "type": "address", "indexed": true }, { "internalType": "address", "name": "payer", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "sharesQuantity", "type": "uint256", "indexed": false }, { "internalType": "bool", "name": "forSpecificAssets", "type": "bool", "indexed": true } ], "type": "event", "name": "Settled", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "activateForFund" }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" }, { "internalType": "bytes", "name": "_settingsData", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "addFundSettings" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getFeeManager", "outputs": [ { "internalType": "address", "name": "feeManager_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getInKindRateForFund", "outputs": [ { "internalType": "uint256", "name": "rate_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getRecipientForFund", "outputs": [ { "internalType": "address", "name": "recipient_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getSettlementType", "outputs": [ { "internalType": "enum IFeeManager.SettlementType", "name": "settlementType_", "type": "uint8" } ] }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getSpecificAssetsRateForFund", "outputs": [ { "internalType": "uint256", "name": "rate_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "payout", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" }, { "internalType": "address", "name": "", "type": "address" }, { "internalType": "enum IFeeManager.FeeHook", "name": "", "type": "uint8" }, { "internalType": "bytes", "name": "_settlementData", "type": "bytes" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "settle", "outputs": [ { "internalType": "enum IFeeManager.SettlementType", "name": "settlementType_", "type": "uint8" }, { "internalType": "address", "name": "payer_", "type": "address" }, { "internalType": "uint256", "name": "sharesDue_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "enum IFeeManager.FeeHook", "name": "_hook", "type": "uint8" } ], "stateMutability": "view", "type": "function", "name": "settlesOnHook", "outputs": [ { "internalType": "bool", "name": "settles_", "type": "bool" }, { "internalType": "bool", "name": "usesGav_", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "address", "name": "", "type": "address" }, { "internalType": "enum IFeeManager.FeeHook", "name": "", "type": "uint8" }, { "internalType": "bytes", "name": "", "type": "bytes" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "update" }, { "inputs": [ { "internalType": "enum IFeeManager.FeeHook", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function", "name": "updatesOnHook", "outputs": [ { "internalType": "bool", "name": "updates_", "type": "bool" }, { "internalType": "bool", "name": "usesGav_", "type": "bool" } ] } ], "devdoc": { "kind": "dev", "methods": { "activateForFund(address,address)": { "details": "Unimplemented by default, may be overrode." }, "addFundSettings(address,bytes)": { "params": { "_comptrollerProxy": "The ComptrollerProxy of the fund", "_settingsData": "Encoded settings to apply to the fee for a fund" } }, "getFeeManager()": { "returns": { "feeManager_": "The `FEE_MANAGER` variable value" } }, "getInKindRateForFund(address)": { "params": { "_comptrollerProxy": "The ComptrollerProxy contract for the fund" }, "returns": { "rate_": "The fee rate" } }, "getRecipientForFund(address)": { "details": "address(0) signifies the VaultProxy owner. Returns address(0) by default, can be overridden by fee." }, "getSettlementType()": { "returns": { "settlementType_": "The `SETTLEMENT_TYPE` variable value" } }, "getSpecificAssetsRateForFund(address)": { "params": { "_comptrollerProxy": "The ComptrollerProxy contract for the fund" }, "returns": { "rate_": "The fee rate" } }, "payout(address,address)": { "details": "Returns false by default, can be overridden by fee" }, "settle(address,address,uint8,bytes,uint256)": { "params": { "_comptrollerProxy": "The ComptrollerProxy of the fund", "_settlementData": "Encoded args to use in calculating the settlement" }, "returns": { "payer_": "The payer of shares due", "settlementType_": "The type of settlement", "sharesDue_": "The amount of shares due" } }, "settlesOnHook(uint8)": { "params": { "_hook": "The FeeHook" }, "returns": { "settles_": "True if the fee settles on the _hook", "usesGav_": "True if the fee uses GAV during settle() for the _hook" } }, "update(address,address,uint8,bytes,uint256)": { "details": "Unimplemented by default, can be overridden by fee" }, "updatesOnHook(uint8)": { "details": "Returns false values by default, can be overridden by fee", "returns": { "updates_": "True if the fee updates on the _hook", "usesGav_": "True if the fee uses GAV during update() for the _hook" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "activateForFund(address,address)": { "notice": "Allows Fee to run logic during fund activation" }, "addFundSettings(address,bytes)": { "notice": "Add the initial fee settings for a fund" }, "getFeeManager()": { "notice": "Gets the `FEE_MANAGER` variable" }, "getInKindRateForFund(address)": { "notice": "Gets the fee rate for an in-kind redemption" }, "getRecipientForFund(address)": { "notice": "Gets the recipient of the fee for a given fund" }, "getSettlementType()": { "notice": "Gets the `SETTLEMENT_TYPE` variable" }, "getSpecificAssetsRateForFund(address)": { "notice": "Gets the fee rate for a specific assets redemption" }, "payout(address,address)": { "notice": "Runs payout logic for a fee that utilizes shares outstanding as its settlement type" }, "settle(address,address,uint8,bytes,uint256)": { "notice": "Settles the fee" }, "settlesOnHook(uint8)": { "notice": "Gets whether the fee settles and requires GAV on a particular hook" }, "update(address,address,uint8,bytes,uint256)": { "notice": "Update fee state after all settlement has occurred during a given fee hook" }, "updatesOnHook(uint8)": { "notice": "Gets whether the fee updates and requires GAV on a particular hook" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/fee-manager/fees/ExitRateBurnFee.sol": "ExitRateBurnFee" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/extensions/fee-manager/IFee.sol": { "keccak256": "0x38e3f324c67f3205e38197165586ea82ca226069902f34214bcde76cf905fcff", "urls": [ "bzz-raw://c1fff656d1bdde3324421bc9e77cbfc4e80baf4e665f8713fdb65611b046f4b0", "dweb:/ipfs/QmVRFjNwmsVHdh4sp3DWdL74VWmhRhPZE5kDxJiuPL8Gu2" ], "license": "GPL-3.0" }, "contracts/release/extensions/fee-manager/IFeeManager.sol": { "keccak256": "0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51", "urls": [ "bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22", "dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod" ], "license": "GPL-3.0" }, "contracts/release/extensions/fee-manager/fees/ExitRateBurnFee.sol": { "keccak256": "0xa656884c19fece41f77a2b4e92c06c78c12f0ebd6f21c49d5f94496dc2306309", "urls": [ "bzz-raw://ad46c16cf0ad093aa30d42ea9014ad9bf07f3e34a5f8fbb10a174c2a0616b85e", "dweb:/ipfs/QmVFBMBSJWfuWGysXhj9Nzc6ff2urtYsPQeNFKZJCVk5og" ], "license": "GPL-3.0" }, "contracts/release/extensions/fee-manager/fees/utils/ExitRateFeeBase.sol": { "keccak256": "0x5db95baa1ba9312cf22745331635831ac765913a661c69bfdd5b63010ba524f3", "urls": [ "bzz-raw://d1aae0eb8b22a98647ec2950eb793f6f65f590e3d52fa04eb75a940086bad09d", "dweb:/ipfs/QmPHVpcgSqxsG4kBZzqqy7YYi2ao8QpNgBR6McpqAcmu8R" ], "license": "GPL-3.0" }, "contracts/release/extensions/fee-manager/fees/utils/FeeBase.sol": { "keccak256": "0x485c03e3088b6dc9828d2e895cce6856501448b4a2c71a0acae4e012bc644b14", "urls": [ "bzz-raw://b63aef3cd20eb4dd585632c74619235ef1d5c3c2c52fd61f8802d0a50569b767", "dweb:/ipfs/QmSuTYChj2j8NnLYCg47feAJ5P9NheQpK46fG6fhmMtimA" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" } }, "version": 1 }, "id": 147 } diff --git a/eth_defi/abi/enzyme/ExitRateDirectFee.json b/eth_defi/abi/enzyme/ExitRateDirectFee.json index 83d7be1f..0d65d562 100644 --- a/eth_defi/abi/enzyme/ExitRateDirectFee.json +++ b/eth_defi/abi/enzyme/ExitRateDirectFee.json @@ -1,1358 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_feeManager", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "comptrollerProxy", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "inKindRate", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "specificAssetsRate", - "type": "uint256" - } - ], - "name": "FundSettingsAdded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "comptrollerProxy", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "recipient", - "type": "address" - } - ], - "name": "RecipientSetForFund", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "comptrollerProxy", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "payer", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "sharesQuantity", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "bool", - "name": "forSpecificAssets", - "type": "bool" - } - ], - "name": "Settled", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "activateForFund", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_settingsData", - "type": "bytes" - } - ], - "name": "addFundSettings", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getFeeManager", - "outputs": [ - { - "internalType": "address", - "name": "feeManager_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - } - ], - "name": "getInKindRateForFund", - "outputs": [ - { - "internalType": "uint256", - "name": "rate_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - } - ], - "name": "getRecipientForFund", - "outputs": [ - { - "internalType": "address", - "name": "recipient_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getSettlementType", - "outputs": [ - { - "internalType": "enum IFeeManager.SettlementType", - "name": "settlementType_", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - } - ], - "name": "getSpecificAssetsRateForFund", - "outputs": [ - { - "internalType": "uint256", - "name": "rate_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "payout", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_recipient", - "type": "address" - } - ], - "name": "setRecipientForFund", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "enum IFeeManager.FeeHook", - "name": "", - "type": "uint8" - }, - { - "internalType": "bytes", - "name": "_settlementData", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "settle", - "outputs": [ - { - "internalType": "enum IFeeManager.SettlementType", - "name": "settlementType_", - "type": "uint8" - }, - { - "internalType": "address", - "name": "payer_", - "type": "address" - }, - { - "internalType": "uint256", - "name": "sharesDue_", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "enum IFeeManager.FeeHook", - "name": "_hook", - "type": "uint8" - } - ], - "name": "settlesOnHook", - "outputs": [ - { - "internalType": "bool", - "name": "settles_", - "type": "bool" - }, - { - "internalType": "bool", - "name": "usesGav_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "enum IFeeManager.FeeHook", - "name": "", - "type": "uint8" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "update", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "enum IFeeManager.FeeHook", - "name": "", - "type": "uint8" - } - ], - "name": "updatesOnHook", - "outputs": [ - { - "internalType": "bool", - "name": "updates_", - "type": "bool" - }, - { - "internalType": "bool", - "name": "usesGav_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x60c060405234801561001057600080fd5b50604051610cb6380380610cb68339818101604052602081101561003357600080fd5b5051606081901b6001600160601b031916608052600160f81b60a0526001600160a01b03166001610c356100816000398061069f52508061052a528061081b52806108485250610c356000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c806362780b3c1161008c578063a8a0fa7d11610066578063a8a0fa7d146103ee578063b78b481314610414578063e337a91f14610456578063f2d6382614610476576100cf565b806362780b3c146103555780637bdd5b1d146103975780638c55f80f146103c0576100cf565b80630f5f6b4f146100d4578063223e650514610156578063233faf5f1461018e5780633146d05814610221578063320f0ddd1461024f57806341892d7e1461028a575b600080fd5b610154600480360360408110156100ea57600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561011557600080fd5b82018360208201111561012757600080fd5b8035906020019184600183028401116401000000008311171561014957600080fd5b50909250905061047e565b005b61017c6004803603602081101561016c57600080fd5b50356001600160a01b03166104c1565b60408051918252519081900360200190f35b610154600480360360a08110156101a457600080fd5b6001600160a01b03823581169260208101359091169160ff60408301351691908101906080810160608201356401000000008111156101e257600080fd5b8201836020820111156101f457600080fd5b8035906020019184600183028401116401000000008311171561021657600080fd5b9193509150356104e0565b6101546004803603604081101561023757600080fd5b506001600160a01b03813581169160200135166104e8565b61026f6004803603602081101561026557600080fd5b503560ff166104ec565b60408051921515835290151560208301528051918290030190f35b61031d600480360360a08110156102a057600080fd5b6001600160a01b03823581169260208101359091169160ff60408301351691908101906080810160608201356401000000008111156102de57600080fd5b8201836020820111156102f057600080fd5b8035906020019184600183028401116401000000008311171561031257600080fd5b91935091503561051b565b6040518084600581111561032d57fe5b8152602001836001600160a01b03168152602001828152602001935050505060405180910390f35b61037b6004803603602081101561036b57600080fd5b50356001600160a01b031661068c565b604080516001600160a01b039092168252519081900360200190f35b61039f61069d565b604051808260058111156103af57fe5b815260200191505060405180910390f35b610154600480360360408110156103d657600080fd5b506001600160a01b03813581169160200135166106c1565b61017c6004803603602081101561040457600080fd5b50356001600160a01b03166107e4565b6104426004803603604081101561042a57600080fd5b506001600160a01b0381358116916020013516610809565b604080519115158252519081900360200190f35b61026f6004803603602081101561046c57600080fd5b503560ff16610811565b61037b610819565b61048983838361083d565b60008282606081101561049b57600080fd5b50604001356001600160a01b0316905080156104bb576104bb84826109ea565b50505050565b6001600160a01b031660009081526020819052604090205461ffff1690565b505050505050565b5050565b60008060038360038111156104fd57fe5b141561050f5750600190506000610516565b5060009050805b915091565b60008080336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105865760405162461bcd60e51b8152600401808060200182810382526025815260200180610b836025913960400191505060405180910390fd5b6000806105c888888080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610a4192505050565b9195509092509050600082156105e8576105e18c6107e4565b90506105f4565b6105f18c6104c1565b90505b61060a6127106106048484610a75565b90610ad5565b935083610624576000806000955095509550505050610680565b821515856001600160a01b03168d6001600160a01b03167f3535fa1da8a29b0e085cee0bb81ac6587dd875222e0854b76f3ffa3c16ab1a7f876040518082815260200191505060405180910390a461067a61069d565b95505050505b96509650969350505050565b600061069782610b3c565b92915050565b7f000000000000000000000000000000000000000000000000000000000000000090565b816001600160a01b031663c98091876040518163ffffffff1660e01b815260040160206040518083038186803b1580156106fa57600080fd5b505afa15801561070e573d6000803e3d6000fd5b505050506040513d602081101561072457600080fd5b505160408051631127a41d60e31b815290516001600160a01b039092169163893d20e891600480820192602092909190829003018186803b15801561076857600080fd5b505afa15801561077c573d6000803e3d6000fd5b505050506040513d602081101561079257600080fd5b50516001600160a01b031633146107da5760405162461bcd60e51b8152600401808060200182810382526030815260200180610bf96030913960400191505060405180910390fd5b6104e882826109ea565b6001600160a01b031660009081526020819052604090205462010000900461ffff1690565b600092915050565b600080915091565b7f000000000000000000000000000000000000000000000000000000000000000090565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146108a45760405162461bcd60e51b8152600401808060200182810382526025815260200180610b836025913960400191505060405180910390fd5b600080838360408110156108b757600080fd5b5061ffff813581169350602090910135169050612710821061090a5760405162461bcd60e51b8152600401808060200182810382526028815260200180610b5b6028913960400191505060405180910390fd5b6127108161ffff161061094e5760405162461bcd60e51b8152600401808060200182810382526030815260200180610ba86030913960400191505060405180910390fd5b60408051808201825261ffff84811680835284821660208085018281526001600160a01b038c16600081815280845288902096518754925161ffff199093169087161763ffff0000191662010000929096169190910294909417909455845191825292810192909252825190927f9f856f74192181b265e61298e386477299c53e0cb24be55a84416f2af4ba4a61928290030190a25050505050565b6001600160a01b0382811660008181526001602052604080822080546001600160a01b0319169486169485179055517fa11fc98cfb391622348acc16de92f0efb77d55f71a6e9fa18bfef387ae8d19ce9190a35050565b6000806000838060200190516060811015610a5b57600080fd5b508051602082015160409092015190969195509350915050565b600082610a8457506000610697565b82820282848281610a9157fe5b0414610ace5760405162461bcd60e51b8152600401808060200182810382526021815260200180610bd86021913960400191505060405180910390fd5b9392505050565b6000808211610b2b576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b818381610b3457fe5b049392505050565b6001600160a01b03908116600090815260016020526040902054169056fe61646446756e6453657474696e67733a20696e4b696e6452617465206d61782065786365656465644f6e6c7920746865204665654d616e6765722063616e206d616b6520746869732063616c6c61646446756e6453657474696e67733a20737065636966696341737365747352617465206d6178206578636565646564536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775f5f736574526563697069656e74466f7246756e643a204f6e6c79207661756c74206f776e65722063616c6c61626c65a164736f6c634300060c000a", - "sourceMap": "530:1306:148:-:0;;;609:126;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;609:126:148;705:25:154;;;;-1:-1:-1;;;;;;705:25:154;;;-1:-1:-1;;;1570:33:153::1;::::0;-1:-1:-1;;;;;530:1306:148;694:33;530:1306;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106100cf5760003560e01c806362780b3c1161008c578063a8a0fa7d11610066578063a8a0fa7d146103ee578063b78b481314610414578063e337a91f14610456578063f2d6382614610476576100cf565b806362780b3c146103555780637bdd5b1d146103975780638c55f80f146103c0576100cf565b80630f5f6b4f146100d4578063223e650514610156578063233faf5f1461018e5780633146d05814610221578063320f0ddd1461024f57806341892d7e1461028a575b600080fd5b610154600480360360408110156100ea57600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561011557600080fd5b82018360208201111561012757600080fd5b8035906020019184600183028401116401000000008311171561014957600080fd5b50909250905061047e565b005b61017c6004803603602081101561016c57600080fd5b50356001600160a01b03166104c1565b60408051918252519081900360200190f35b610154600480360360a08110156101a457600080fd5b6001600160a01b03823581169260208101359091169160ff60408301351691908101906080810160608201356401000000008111156101e257600080fd5b8201836020820111156101f457600080fd5b8035906020019184600183028401116401000000008311171561021657600080fd5b9193509150356104e0565b6101546004803603604081101561023757600080fd5b506001600160a01b03813581169160200135166104e8565b61026f6004803603602081101561026557600080fd5b503560ff166104ec565b60408051921515835290151560208301528051918290030190f35b61031d600480360360a08110156102a057600080fd5b6001600160a01b03823581169260208101359091169160ff60408301351691908101906080810160608201356401000000008111156102de57600080fd5b8201836020820111156102f057600080fd5b8035906020019184600183028401116401000000008311171561031257600080fd5b91935091503561051b565b6040518084600581111561032d57fe5b8152602001836001600160a01b03168152602001828152602001935050505060405180910390f35b61037b6004803603602081101561036b57600080fd5b50356001600160a01b031661068c565b604080516001600160a01b039092168252519081900360200190f35b61039f61069d565b604051808260058111156103af57fe5b815260200191505060405180910390f35b610154600480360360408110156103d657600080fd5b506001600160a01b03813581169160200135166106c1565b61017c6004803603602081101561040457600080fd5b50356001600160a01b03166107e4565b6104426004803603604081101561042a57600080fd5b506001600160a01b0381358116916020013516610809565b604080519115158252519081900360200190f35b61026f6004803603602081101561046c57600080fd5b503560ff16610811565b61037b610819565b61048983838361083d565b60008282606081101561049b57600080fd5b50604001356001600160a01b0316905080156104bb576104bb84826109ea565b50505050565b6001600160a01b031660009081526020819052604090205461ffff1690565b505050505050565b5050565b60008060038360038111156104fd57fe5b141561050f5750600190506000610516565b5060009050805b915091565b60008080336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105865760405162461bcd60e51b8152600401808060200182810382526025815260200180610b836025913960400191505060405180910390fd5b6000806105c888888080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610a4192505050565b9195509092509050600082156105e8576105e18c6107e4565b90506105f4565b6105f18c6104c1565b90505b61060a6127106106048484610a75565b90610ad5565b935083610624576000806000955095509550505050610680565b821515856001600160a01b03168d6001600160a01b03167f3535fa1da8a29b0e085cee0bb81ac6587dd875222e0854b76f3ffa3c16ab1a7f876040518082815260200191505060405180910390a461067a61069d565b95505050505b96509650969350505050565b600061069782610b3c565b92915050565b7f000000000000000000000000000000000000000000000000000000000000000090565b816001600160a01b031663c98091876040518163ffffffff1660e01b815260040160206040518083038186803b1580156106fa57600080fd5b505afa15801561070e573d6000803e3d6000fd5b505050506040513d602081101561072457600080fd5b505160408051631127a41d60e31b815290516001600160a01b039092169163893d20e891600480820192602092909190829003018186803b15801561076857600080fd5b505afa15801561077c573d6000803e3d6000fd5b505050506040513d602081101561079257600080fd5b50516001600160a01b031633146107da5760405162461bcd60e51b8152600401808060200182810382526030815260200180610bf96030913960400191505060405180910390fd5b6104e882826109ea565b6001600160a01b031660009081526020819052604090205462010000900461ffff1690565b600092915050565b600080915091565b7f000000000000000000000000000000000000000000000000000000000000000090565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146108a45760405162461bcd60e51b8152600401808060200182810382526025815260200180610b836025913960400191505060405180910390fd5b600080838360408110156108b757600080fd5b5061ffff813581169350602090910135169050612710821061090a5760405162461bcd60e51b8152600401808060200182810382526028815260200180610b5b6028913960400191505060405180910390fd5b6127108161ffff161061094e5760405162461bcd60e51b8152600401808060200182810382526030815260200180610ba86030913960400191505060405180910390fd5b60408051808201825261ffff84811680835284821660208085018281526001600160a01b038c16600081815280845288902096518754925161ffff199093169087161763ffff0000191662010000929096169190910294909417909455845191825292810192909252825190927f9f856f74192181b265e61298e386477299c53e0cb24be55a84416f2af4ba4a61928290030190a25050505050565b6001600160a01b0382811660008181526001602052604080822080546001600160a01b0319169486169485179055517fa11fc98cfb391622348acc16de92f0efb77d55f71a6e9fa18bfef387ae8d19ce9190a35050565b6000806000838060200190516060811015610a5b57600080fd5b508051602082015160409092015190969195509350915050565b600082610a8457506000610697565b82820282848281610a9157fe5b0414610ace5760405162461bcd60e51b8152600401808060200182810382526021815260200180610bd86021913960400191505060405180910390fd5b9392505050565b6000808211610b2b576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b818381610b3457fe5b049392505050565b6001600160a01b03908116600090815260016020526040902054169056fe61646446756e6453657474696e67733a20696e4b696e6452617465206d61782065786365656465644f6e6c7920746865204665654d616e6765722063616e206d616b6520746869732063616c6c61646446756e6453657474696e67733a20737065636966696341737365747352617465206d6178206578636565646564536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775f5f736574526563697069656e74466f7246756e643a204f6e6c79207661756c74206f776e65722063616c6c61626c65a164736f6c634300060c000a", - "sourceMap": "530:1306:148:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;988:396;;;;;;;;;;;;;;;;-1:-1:-1;;;;;988:396:148;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;988:396:148;;-1:-1:-1;988:396:148;-1:-1:-1;988:396:148;:::i;:::-;;4877:172:153;;;;;;;;;;;;;;;;-1:-1:-1;4877:172:153;-1:-1:-1;;;;;4877:172:153;;:::i;:::-;;;;;;;;;;;;;;;;1755:175:154;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1755:175:154;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1755:175:154;-1:-1:-1;1755:175:154;;:::i;862:92::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;862:92:154;;;;;;;;;;:::i;4336:291:153:-;;;;;;;;;;;;;;;;-1:-1:-1;4336:291:153;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;2970:1102;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2970:1102:153;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2970:1102:153;-1:-1:-1;2970:1102:153;;:::i;:::-;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2970:1102:153;;;;;;;;;;;;;;;;;;;;;;1570:264:148;;;;;;;;;;;;;;;;-1:-1:-1;1570:264:148;-1:-1:-1;;;;;1570:264:148;;:::i;:::-;;;;-1:-1:-1;;;;;1570:264:148;;;;;;;;;;;;;;5176:133:153;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;883:369:156;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;883:369:156;;;;;;;;;;:::i;5493:216:153:-;;;;;;;;;;;;;;;;-1:-1:-1;5493:216:153;-1:-1:-1;;;;;5493:216:153;;:::i;1490:104:154:-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1490:104:154;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;2232:196;;;;;;;;;;;;;;;;-1:-1:-1;2232:196:154;;;;:::i;3806:104::-;;;:::i;988:396:148:-;1116:55;1138:17;1157:13;;1116:21;:55::i;:::-;1187:17;1219:13;;1208:54;;;;;;;;;;-1:-1:-1;1208:54:148;;;-1:-1:-1;;;;;1208:54:148;;-1:-1:-1;1277:23:148;;1273:105;;1316:51;1338:17;1357:9;1316:21;:51::i;:::-;988:396;;;;:::o;4877:172:153:-;-1:-1:-1;;;;;4987:44:153;4955:13;4987:44;;;;;;;;;;:55;;;;4877:172::o;1755:175:154:-;;;;;;;:::o;862:92::-;;;:::o;4336:291:153:-;4450:13;;4507:35;4498:5;:44;;;;;;;;;4494:95;;;-1:-1:-1;4566:4:153;;-1:-1:-1;4572:5:153;4558:20;;4494:95;-1:-1:-1;4607:5:153;;-1:-1:-1;4607:5:153;4336:291;;;;:::o;2970:1102::-;3217:42;;;564:10:154;-1:-1:-1;;;;;578:11:154;564:25;;556:75;;;;-1:-1:-1;;;556:75:154;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3344:22:153::1;3376::::0;3454:76:::1;3505:15;;3454:76;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;3454:37:153::1;::::0;-1:-1:-1;;;3454:76:153:i:1;:::-;3408:122:::0;;-1:-1:-1;3408:122:153;;-1:-1:-1;3408:122:153;-1:-1:-1;3541:12:153::1;3563:179:::0;::::1;;;3607:47;3636:17;3607:28;:47::i;:::-;3600:54;;3563:179;;;3692:39;3713:17;3692:20;:39::i;:::-;3685:46;;3563:179;3765:49;1074:5;3765:24;:14:::0;3784:4;3765:18:::1;:24::i;:::-;:28:::0;::::1;:49::i;:::-;3752:62:::0;-1:-1:-1;3829:15:153;3825:101:::1;;3868:31;3909:1:::0;3913::::1;3860:55;;;;;;;;;;;3825:101;3988:17;3941:65;;3968:6;-1:-1:-1::0;;;;;3941:65:153::1;3949:17;-1:-1:-1::0;;;;;3941:65:153::1;;3976:10;3941:65;;;;;;;;;;;;;;;;;;4025:19;:17;:19::i;:::-;4017:48;;;;;641:1:154;2970:1102:153::0;;;;;;;;;;:::o;1570:264:148:-;1723:18;1764:63;1809:17;1764:44;:63::i;:::-;1757:70;1570:264;-1:-1:-1;;1570:264:148:o;5176:133:153:-;5287:15;5176:133;:::o;883:369:156:-;1061:17;-1:-1:-1;;;;;1046:47:156;;:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1046:49:156;1029:79;;;-1:-1:-1;;;1029:79:156;;;;-1:-1:-1;;;;;1029:77:156;;;;;;:79;;;;;1046:49;;1029:79;;;;;;;;:77;:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1029:79:156;-1:-1:-1;;;;;999:109:156;:10;:109;978:204;;;;-1:-1:-1;;;978:204:156;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1193:52;1215:17;1234:10;1193:21;:52::i;5493:216:153:-;-1:-1:-1;;;;;5639:44:153;5603:13;5639:44;;;;;;;;;;:63;;;;;;;5493:216::o;1490:104:154:-;1559:4;1490:104;;;;:::o;2232:196::-;2356:13;;2232:196;;;:::o;3806:104::-;3892:11;3806:104;:::o;1842:789:153:-;564:10:154;-1:-1:-1;;;;;578:11:154;564:25;;556:75;;;;-1:-1:-1;;;556:75:154;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2010:17:153::1;2029:25:::0;2082:13:::1;;2058:77;;;;;;;::::0;::::1;;-1:-1:-1::0;2058:77:153::1;::::0;::::1;::::0;::::1;::::0;-1:-1:-1;2058:77:153::1;::::0;;::::1;;;::::0;-1:-1:-1;1074:5:153::1;2153:32:::0;::::1;2145:85;;;;-1:-1:-1::0;;;2145:85:153::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1074:5;2261:18;:40;;;2240:135;;;;-1:-1:-1::0;;;2240:135:153::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2433:107;::::0;;;;::::1;::::0;;::::1;::::0;;::::1;::::0;;;;;::::1;;::::0;;::::1;::::0;;;-1:-1:-1;;;;;2386:44:153;::::1;-1:-1:-1::0;2386:44:153;;;;;;;;;:154;;;;;;-1:-1:-1;;2386:154:153;;::::1;::::0;;::::1;;-1:-1:-1::0;;2386:154:153::1;::::0;;;;::::1;::::0;;;::::1;::::0;;;::::1;::::0;;;2556:68;;;;;;;::::1;::::0;;;;;;2386:44;;2556:68:::1;::::0;;;;;;::::1;641:1:154;;1842:789:153::0;;;:::o;715:229:155:-;-1:-1:-1;;;;;812:46:155;;;;;;;:27;:46;;;;;;:59;;-1:-1:-1;;;;;;812:59:155;;;;;;;;;887:50;;;812:46;887:50;715:229;;:::o;2876:320:154:-;3013:17;3044:23;3081;3147:15;3136:53;;;;;;;;;;;;;;;-1:-1:-1;3136:53:154;;;;;;;;;;;;;;;-1:-1:-1;3136:53:154;-1:-1:-1;2876:320:154;-1:-1:-1;;2876:320:154:o;3538:215:442:-;3596:7;3619:6;3615:20;;-1:-1:-1;3634:1:442;3627:8;;3615:20;3657:5;;;3661:1;3657;:5;:1;3680:5;;;;;:10;3672:56;;;;-1:-1:-1;;;3672:56:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3745:1;3538:215;-1:-1:-1;;;3538:215:442:o;4217:150::-;4275:7;4306:1;4302;:5;4294:44;;;;;-1:-1:-1;;;4294:44:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;4359:1;4355;:5;;;;;;;4217:150;-1:-1:-1;;;4217:150:442:o;1258:211:155:-;-1:-1:-1;;;;;1416:46:155;;;1375:18;1416:46;;;:27;:46;;;;;;;;1258:211::o", - "linkReferences": {}, - "immutableReferences": { - "40168": [ - { - "start": 1695, - "length": 32 - } - ], - "40426": [ - { - "start": 1322, - "length": 32 - }, - { - "start": 2075, - "length": 32 - }, - { - "start": 2120, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "activateForFund(address,address)": "3146d058", - "addFundSettings(address,bytes)": "0f5f6b4f", - "getFeeManager()": "f2d63826", - "getInKindRateForFund(address)": "223e6505", - "getRecipientForFund(address)": "62780b3c", - "getSettlementType()": "7bdd5b1d", - "getSpecificAssetsRateForFund(address)": "a8a0fa7d", - "payout(address,address)": "b78b4813", - "setRecipientForFund(address,address)": "8c55f80f", - "settle(address,address,uint8,bytes,uint256)": "41892d7e", - "settlesOnHook(uint8)": "320f0ddd", - "update(address,address,uint8,bytes,uint256)": "233faf5f", - "updatesOnHook(uint8)": "e337a91f" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_feeManager\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"inKindRate\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"specificAssetsRate\",\"type\":\"uint256\"}],\"name\":\"FundSettingsAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"}],\"name\":\"RecipientSetForFund\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"payer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"sharesQuantity\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"bool\",\"name\":\"forSpecificAssets\",\"type\":\"bool\"}],\"name\":\"Settled\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"activateForFund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_settingsData\",\"type\":\"bytes\"}],\"name\":\"addFundSettings\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFeeManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"feeManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"}],\"name\":\"getInKindRateForFund\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"rate_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"}],\"name\":\"getRecipientForFund\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"recipient_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getSettlementType\",\"outputs\":[{\"internalType\":\"enum IFeeManager.SettlementType\",\"name\":\"settlementType_\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"}],\"name\":\"getSpecificAssetsRateForFund\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"rate_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"payout\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_recipient\",\"type\":\"address\"}],\"name\":\"setRecipientForFund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"enum IFeeManager.FeeHook\",\"name\":\"\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"_settlementData\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"settle\",\"outputs\":[{\"internalType\":\"enum IFeeManager.SettlementType\",\"name\":\"settlementType_\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"payer_\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"sharesDue_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IFeeManager.FeeHook\",\"name\":\"_hook\",\"type\":\"uint8\"}],\"name\":\"settlesOnHook\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"settles_\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"usesGav_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"enum IFeeManager.FeeHook\",\"name\":\"\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"update\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IFeeManager.FeeHook\",\"name\":\"\",\"type\":\"uint8\"}],\"name\":\"updatesOnHook\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"updates_\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"usesGav_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"activateForFund(address,address)\":{\"details\":\"Unimplemented by default, may be overrode.\"},\"addFundSettings(address,bytes)\":{\"details\":\"onlyFeeManager validated by parent\",\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\",\"_settingsData\":\"Encoded settings to apply to the fee for a fund\"}},\"getFeeManager()\":{\"returns\":{\"feeManager_\":\"The `FEE_MANAGER` variable value\"}},\"getInKindRateForFund(address)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy contract for the fund\"},\"returns\":{\"rate_\":\"The fee rate\"}},\"getRecipientForFund(address)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy contract for the fund\"},\"returns\":{\"recipient_\":\"The recipient\"}},\"getSettlementType()\":{\"returns\":{\"settlementType_\":\"The `SETTLEMENT_TYPE` variable value\"}},\"getSpecificAssetsRateForFund(address)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy contract for the fund\"},\"returns\":{\"rate_\":\"The fee rate\"}},\"payout(address,address)\":{\"details\":\"Returns false by default, can be overridden by fee\"},\"setRecipientForFund(address,address)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy contract for the fund\",\"_recipient\":\"The fee recipient\"}},\"settle(address,address,uint8,bytes,uint256)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\",\"_settlementData\":\"Encoded args to use in calculating the settlement\"},\"returns\":{\"payer_\":\"The payer of shares due\",\"settlementType_\":\"The type of settlement\",\"sharesDue_\":\"The amount of shares due\"}},\"settlesOnHook(uint8)\":{\"params\":{\"_hook\":\"The FeeHook\"},\"returns\":{\"settles_\":\"True if the fee settles on the _hook\",\"usesGav_\":\"True if the fee uses GAV during settle() for the _hook\"}},\"update(address,address,uint8,bytes,uint256)\":{\"details\":\"Unimplemented by default, can be overridden by fee\"},\"updatesOnHook(uint8)\":{\"details\":\"Returns false values by default, can be overridden by fee\",\"returns\":{\"updates_\":\"True if the fee updates on the _hook\",\"usesGav_\":\"True if the fee uses GAV during update() for the _hook\"}}},\"title\":\"ExitRateDirectFee Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"activateForFund(address,address)\":{\"notice\":\"Allows Fee to run logic during fund activation\"},\"addFundSettings(address,bytes)\":{\"notice\":\"Add the initial fee settings for a fund\"},\"getFeeManager()\":{\"notice\":\"Gets the `FEE_MANAGER` variable\"},\"getInKindRateForFund(address)\":{\"notice\":\"Gets the fee rate for an in-kind redemption\"},\"getRecipientForFund(address)\":{\"notice\":\"Gets the recipient of the fee for a given fund\"},\"getSettlementType()\":{\"notice\":\"Gets the `SETTLEMENT_TYPE` variable\"},\"getSpecificAssetsRateForFund(address)\":{\"notice\":\"Gets the fee rate for a specific assets redemption\"},\"payout(address,address)\":{\"notice\":\"Runs payout logic for a fee that utilizes shares outstanding as its settlement type\"},\"setRecipientForFund(address,address)\":{\"notice\":\"Sets the fee recipient for the given fund\"},\"settle(address,address,uint8,bytes,uint256)\":{\"notice\":\"Settles the fee\"},\"settlesOnHook(uint8)\":{\"notice\":\"Gets whether the fee settles and requires GAV on a particular hook\"},\"update(address,address,uint8,bytes,uint256)\":{\"notice\":\"Update fee state after all settlement has occurred during a given fee hook\"},\"updatesOnHook(uint8)\":{\"notice\":\"Gets whether the fee updates and requires GAV on a particular hook\"}},\"notice\":\"An ExitRateFee that transfers the fee shares to a recipient\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/fee-manager/fees/ExitRateDirectFee.sol\":\"ExitRateDirectFee\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/persistent/protocol-fee-reserve/interfaces/IProtocolFeeReserve1.sol\":{\"keccak256\":\"0x2728878c423db523bc95189137e8c58d2d7db9f56bbd5c6b1f988c08b551fbab\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3b0df1d2eb74151265d03ab91a7c341f7beca475dd2f4d669052dbc4ee2c06ac\",\"dweb:/ipfs/QmVx1cgrxQNYfdK1Kn15pcgqf79Uw8bF3U6i7F2HG2rj6G\"]},\"contracts/persistent/vault/VaultLibBase1.sol\":{\"keccak256\":\"0xa4dac1e4cdb311a2ab187135355357d8790c505ef36dd912c057fe53743d30b5\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b66efe821016ab927c949263023260515e90f5d480dc8d94eefbfeec7bf7490b\",\"dweb:/ipfs/QmNY3xKnhL9EptAbxGvXHGAXfV9pj3dDPwsZnKrPs54ZHw\"]},\"contracts/persistent/vault/VaultLibBase2.sol\":{\"keccak256\":\"0xf7d31f2a9a47770ed3f444be2c4fe9262ddb55fef7f25e546b1f03c9afec4c09\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9353ddce7c9b8b3c13fed23fe8edec99ca610d791b0c5b204b3d01f1f08d07d2\",\"dweb:/ipfs/QmeVsEh3joCjv49BRXeHASevnZZ5xdZXpkctHT8BPf37N2\"]},\"contracts/persistent/vault/VaultLibBaseCore.sol\":{\"keccak256\":\"0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd\",\"dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz\"]},\"contracts/persistent/vault/interfaces/IExternalPositionVault.sol\":{\"keccak256\":\"0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d\",\"dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8\"]},\"contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol\":{\"keccak256\":\"0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb\",\"dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU\"]},\"contracts/persistent/vault/interfaces/IMigratableVault.sol\":{\"keccak256\":\"0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6\",\"dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs\"]},\"contracts/persistent/vault/interfaces/IVaultCore.sol\":{\"keccak256\":\"0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd\",\"dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr\"]},\"contracts/persistent/vault/utils/ProxiableVaultLib.sol\":{\"keccak256\":\"0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44\",\"dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4\"]},\"contracts/persistent/vault/utils/SharesTokenBase.sol\":{\"keccak256\":\"0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8\",\"dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4\"]},\"contracts/persistent/vault/utils/VaultLibSafeMath.sol\":{\"keccak256\":\"0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02\",\"dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG\"]},\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/core/fund/comptroller/ComptrollerLib.sol\":{\"keccak256\":\"0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579\",\"dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq\"]},\"contracts/release/core/fund/comptroller/IComptroller.sol\":{\"keccak256\":\"0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97\",\"dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L\"]},\"contracts/release/core/fund/vault/IVault.sol\":{\"keccak256\":\"0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599\",\"dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG\"]},\"contracts/release/core/fund/vault/VaultLib.sol\":{\"keccak256\":\"0x07e49445ab55c01e1b499a48baadc2a15d1eba621f1c6d3ccfdb84c87b976da8\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://56d882459248f73e137db2e097fc56b946147fb28ec21661b77431f88e856cb4\",\"dweb:/ipfs/QmRP6Ry7DCS5uoKxnnkTomHSzbaCze6cHqbR9aLdjoF6vK\"]},\"contracts/release/extensions/IExtension.sol\":{\"keccak256\":\"0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70\",\"dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t\"]},\"contracts/release/extensions/external-position-manager/IExternalPositionManager.sol\":{\"keccak256\":\"0x3af3f634e1f99fb97091b7825c0d2e2baaafc124d4e87d56cb0c17ff8554f6c6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://515470605afe5ef147f30fa75ce7818f0e00e3d321eb81a4d9bffcdefc294495\",\"dweb:/ipfs/QmPKsp99pfHoz9Tfo3ZxnkmqDqJtN9PxqacF2RmeVfxUJF\"]},\"contracts/release/extensions/fee-manager/IFee.sol\":{\"keccak256\":\"0x38e3f324c67f3205e38197165586ea82ca226069902f34214bcde76cf905fcff\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c1fff656d1bdde3324421bc9e77cbfc4e80baf4e665f8713fdb65611b046f4b0\",\"dweb:/ipfs/QmVRFjNwmsVHdh4sp3DWdL74VWmhRhPZE5kDxJiuPL8Gu2\"]},\"contracts/release/extensions/fee-manager/IFeeManager.sol\":{\"keccak256\":\"0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22\",\"dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod\"]},\"contracts/release/extensions/fee-manager/fees/ExitRateDirectFee.sol\":{\"keccak256\":\"0xc21d3347ff72c54a3cd44a88e55d893a0b4ee075c2a6e36705bf6bc3e4685351\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://cc9aca88277b28d7812727809e2af8f04a6b8575babf1962f50804992f05332c\",\"dweb:/ipfs/QmXsPps9HLx9GXqxrEduNQkcsxw8h4hBUve836iE8Bowxr\"]},\"contracts/release/extensions/fee-manager/fees/utils/ExitRateFeeBase.sol\":{\"keccak256\":\"0x5db95baa1ba9312cf22745331635831ac765913a661c69bfdd5b63010ba524f3\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d1aae0eb8b22a98647ec2950eb793f6f65f590e3d52fa04eb75a940086bad09d\",\"dweb:/ipfs/QmPHVpcgSqxsG4kBZzqqy7YYi2ao8QpNgBR6McpqAcmu8R\"]},\"contracts/release/extensions/fee-manager/fees/utils/FeeBase.sol\":{\"keccak256\":\"0x485c03e3088b6dc9828d2e895cce6856501448b4a2c71a0acae4e012bc644b14\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b63aef3cd20eb4dd585632c74619235ef1d5c3c2c52fd61f8802d0a50569b767\",\"dweb:/ipfs/QmSuTYChj2j8NnLYCg47feAJ5P9NheQpK46fG6fhmMtimA\"]},\"contracts/release/extensions/fee-manager/fees/utils/SettableFeeRecipientBase.sol\":{\"keccak256\":\"0xb3b4b3cd13141871c912310ce1dace2e94f89eee7a52b95d4df9e4642a958f4d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b120324be26eddebb2fd5d15ecdbef4bfc5a5bbd05bd60796677157480842aa1\",\"dweb:/ipfs/Qmab9XnYHvG3zWtQaTee24qU7VK94MMLySPkrZqDBbB5NN\"]},\"contracts/release/extensions/fee-manager/fees/utils/UpdatableFeeRecipientBase.sol\":{\"keccak256\":\"0xac875e8923b29be8e697be04177b56d3f75d0ef4a56bc0cec2d2583efd802064\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://99d359ece6663298f925765b7558beb694bf3dbe3831fc60e016fd37b10d358c\",\"dweb:/ipfs/QmduCuit88g1HEb9HxF1aH82Ezx388M5CBLfUfLraKgcfA\"]},\"contracts/release/extensions/policy-manager/IPolicyManager.sol\":{\"keccak256\":\"0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa\",\"dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb\"]},\"contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol\":{\"keccak256\":\"0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f\",\"dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol\":{\"keccak256\":\"0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0\",\"dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol\":{\"keccak256\":\"0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b\",\"dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3\"]},\"contracts/release/infrastructure/protocol-fees/IProtocolFeeTracker.sol\":{\"keccak256\":\"0x232b347f83457439064add7369bfe1930c7cb56f15930bb87d640e909c15e447\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://24f9af5eebdd373b1d7a598c096eb6def31b2640d54416d7d5a7226e1cef17e6\",\"dweb:/ipfs/QmStq9ByGuSYdKwTmZf52L1X6sZVJUfXTnoVbnjLLiUcHG\"]},\"contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol\":{\"keccak256\":\"0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965\",\"dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ\"]},\"contracts/release/interfaces/IGsnForwarder.sol\":{\"keccak256\":\"0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29\",\"dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G\"]},\"contracts/release/interfaces/IGsnPaymaster.sol\":{\"keccak256\":\"0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4\",\"dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF\"]},\"contracts/release/interfaces/IGsnTypes.sol\":{\"keccak256\":\"0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7\",\"dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C\"]},\"contracts/release/interfaces/IWETH.sol\":{\"keccak256\":\"0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2\",\"dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/beacon-proxy/IBeacon.sol\":{\"keccak256\":\"0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39\",\"dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V\"]},\"contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol\":{\"keccak256\":\"0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be\",\"dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20Burnable.sol\":{\"keccak256\":\"0x9c0eb3b0e11d2480d49991dc384f1e5f9c9b9967cc81944d50916a9b9c6c4984\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99e4033d778624992e86f0b6d801a4f6d7b5c0cd5c79c1296be90a051ad5f5af\",\"dweb:/ipfs/QmShYmkUqh6pDEeoWadZ24icmCr4C2Xys1uE5boivPmbwf\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_feeManager", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "comptrollerProxy", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "inKindRate", - "type": "uint256", - "indexed": false - }, - { - "internalType": "uint256", - "name": "specificAssetsRate", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "FundSettingsAdded", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "comptrollerProxy", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "recipient", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "RecipientSetForFund", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "comptrollerProxy", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "payer", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "sharesQuantity", - "type": "uint256", - "indexed": false - }, - { - "internalType": "bool", - "name": "forSpecificAssets", - "type": "bool", - "indexed": true - } - ], - "type": "event", - "name": "Settled", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "activateForFund" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_settingsData", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "addFundSettings" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getFeeManager", - "outputs": [ - { - "internalType": "address", - "name": "feeManager_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getInKindRateForFund", - "outputs": [ - { - "internalType": "uint256", - "name": "rate_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getRecipientForFund", - "outputs": [ - { - "internalType": "address", - "name": "recipient_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getSettlementType", - "outputs": [ - { - "internalType": "enum IFeeManager.SettlementType", - "name": "settlementType_", - "type": "uint8" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getSpecificAssetsRateForFund", - "outputs": [ - { - "internalType": "uint256", - "name": "rate_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "payout", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_recipient", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setRecipientForFund" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "enum IFeeManager.FeeHook", - "name": "", - "type": "uint8" - }, - { - "internalType": "bytes", - "name": "_settlementData", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "settle", - "outputs": [ - { - "internalType": "enum IFeeManager.SettlementType", - "name": "settlementType_", - "type": "uint8" - }, - { - "internalType": "address", - "name": "payer_", - "type": "address" - }, - { - "internalType": "uint256", - "name": "sharesDue_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "enum IFeeManager.FeeHook", - "name": "_hook", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function", - "name": "settlesOnHook", - "outputs": [ - { - "internalType": "bool", - "name": "settles_", - "type": "bool" - }, - { - "internalType": "bool", - "name": "usesGav_", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "enum IFeeManager.FeeHook", - "name": "", - "type": "uint8" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "update" - }, - { - "inputs": [ - { - "internalType": "enum IFeeManager.FeeHook", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function", - "name": "updatesOnHook", - "outputs": [ - { - "internalType": "bool", - "name": "updates_", - "type": "bool" - }, - { - "internalType": "bool", - "name": "usesGav_", - "type": "bool" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "activateForFund(address,address)": { - "details": "Unimplemented by default, may be overrode." - }, - "addFundSettings(address,bytes)": { - "details": "onlyFeeManager validated by parent", - "params": { - "_comptrollerProxy": "The ComptrollerProxy of the fund", - "_settingsData": "Encoded settings to apply to the fee for a fund" - } - }, - "getFeeManager()": { - "returns": { - "feeManager_": "The `FEE_MANAGER` variable value" - } - }, - "getInKindRateForFund(address)": { - "params": { - "_comptrollerProxy": "The ComptrollerProxy contract for the fund" - }, - "returns": { - "rate_": "The fee rate" - } - }, - "getRecipientForFund(address)": { - "params": { - "_comptrollerProxy": "The ComptrollerProxy contract for the fund" - }, - "returns": { - "recipient_": "The recipient" - } - }, - "getSettlementType()": { - "returns": { - "settlementType_": "The `SETTLEMENT_TYPE` variable value" - } - }, - "getSpecificAssetsRateForFund(address)": { - "params": { - "_comptrollerProxy": "The ComptrollerProxy contract for the fund" - }, - "returns": { - "rate_": "The fee rate" - } - }, - "payout(address,address)": { - "details": "Returns false by default, can be overridden by fee" - }, - "setRecipientForFund(address,address)": { - "params": { - "_comptrollerProxy": "The ComptrollerProxy contract for the fund", - "_recipient": "The fee recipient" - } - }, - "settle(address,address,uint8,bytes,uint256)": { - "params": { - "_comptrollerProxy": "The ComptrollerProxy of the fund", - "_settlementData": "Encoded args to use in calculating the settlement" - }, - "returns": { - "payer_": "The payer of shares due", - "settlementType_": "The type of settlement", - "sharesDue_": "The amount of shares due" - } - }, - "settlesOnHook(uint8)": { - "params": { - "_hook": "The FeeHook" - }, - "returns": { - "settles_": "True if the fee settles on the _hook", - "usesGav_": "True if the fee uses GAV during settle() for the _hook" - } - }, - "update(address,address,uint8,bytes,uint256)": { - "details": "Unimplemented by default, can be overridden by fee" - }, - "updatesOnHook(uint8)": { - "details": "Returns false values by default, can be overridden by fee", - "returns": { - "updates_": "True if the fee updates on the _hook", - "usesGav_": "True if the fee uses GAV during update() for the _hook" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "activateForFund(address,address)": { - "notice": "Allows Fee to run logic during fund activation" - }, - "addFundSettings(address,bytes)": { - "notice": "Add the initial fee settings for a fund" - }, - "getFeeManager()": { - "notice": "Gets the `FEE_MANAGER` variable" - }, - "getInKindRateForFund(address)": { - "notice": "Gets the fee rate for an in-kind redemption" - }, - "getRecipientForFund(address)": { - "notice": "Gets the recipient of the fee for a given fund" - }, - "getSettlementType()": { - "notice": "Gets the `SETTLEMENT_TYPE` variable" - }, - "getSpecificAssetsRateForFund(address)": { - "notice": "Gets the fee rate for a specific assets redemption" - }, - "payout(address,address)": { - "notice": "Runs payout logic for a fee that utilizes shares outstanding as its settlement type" - }, - "setRecipientForFund(address,address)": { - "notice": "Sets the fee recipient for the given fund" - }, - "settle(address,address,uint8,bytes,uint256)": { - "notice": "Settles the fee" - }, - "settlesOnHook(uint8)": { - "notice": "Gets whether the fee settles and requires GAV on a particular hook" - }, - "update(address,address,uint8,bytes,uint256)": { - "notice": "Update fee state after all settlement has occurred during a given fee hook" - }, - "updatesOnHook(uint8)": { - "notice": "Gets whether the fee updates and requires GAV on a particular hook" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/fee-manager/fees/ExitRateDirectFee.sol": "ExitRateDirectFee" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/dispatcher/IDispatcher.sol": { - "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", - "urls": [ - "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", - "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/external-positions/IExternalPosition.sol": { - "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", - "urls": [ - "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", - "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/protocol-fee-reserve/interfaces/IProtocolFeeReserve1.sol": { - "keccak256": "0x2728878c423db523bc95189137e8c58d2d7db9f56bbd5c6b1f988c08b551fbab", - "urls": [ - "bzz-raw://3b0df1d2eb74151265d03ab91a7c341f7beca475dd2f4d669052dbc4ee2c06ac", - "dweb:/ipfs/QmVx1cgrxQNYfdK1Kn15pcgqf79Uw8bF3U6i7F2HG2rj6G" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/VaultLibBase1.sol": { - "keccak256": "0xa4dac1e4cdb311a2ab187135355357d8790c505ef36dd912c057fe53743d30b5", - "urls": [ - "bzz-raw://b66efe821016ab927c949263023260515e90f5d480dc8d94eefbfeec7bf7490b", - "dweb:/ipfs/QmNY3xKnhL9EptAbxGvXHGAXfV9pj3dDPwsZnKrPs54ZHw" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/VaultLibBase2.sol": { - "keccak256": "0xf7d31f2a9a47770ed3f444be2c4fe9262ddb55fef7f25e546b1f03c9afec4c09", - "urls": [ - "bzz-raw://9353ddce7c9b8b3c13fed23fe8edec99ca610d791b0c5b204b3d01f1f08d07d2", - "dweb:/ipfs/QmeVsEh3joCjv49BRXeHASevnZZ5xdZXpkctHT8BPf37N2" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/VaultLibBaseCore.sol": { - "keccak256": "0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074", - "urls": [ - "bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd", - "dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IExternalPositionVault.sol": { - "keccak256": "0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6", - "urls": [ - "bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d", - "dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol": { - "keccak256": "0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0", - "urls": [ - "bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb", - "dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IMigratableVault.sol": { - "keccak256": "0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238", - "urls": [ - "bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6", - "dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IVaultCore.sol": { - "keccak256": "0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80", - "urls": [ - "bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd", - "dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/utils/ProxiableVaultLib.sol": { - "keccak256": "0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76", - "urls": [ - "bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44", - "dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/utils/SharesTokenBase.sol": { - "keccak256": "0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113", - "urls": [ - "bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8", - "dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/utils/VaultLibSafeMath.sol": { - "keccak256": "0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d", - "urls": [ - "bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02", - "dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund-deployer/IFundDeployer.sol": { - "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", - "urls": [ - "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", - "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/comptroller/ComptrollerLib.sol": { - "keccak256": "0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64", - "urls": [ - "bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579", - "dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/comptroller/IComptroller.sol": { - "keccak256": "0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f", - "urls": [ - "bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97", - "dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/vault/IVault.sol": { - "keccak256": "0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd", - "urls": [ - "bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599", - "dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/vault/VaultLib.sol": { - "keccak256": "0x07e49445ab55c01e1b499a48baadc2a15d1eba621f1c6d3ccfdb84c87b976da8", - "urls": [ - "bzz-raw://56d882459248f73e137db2e097fc56b946147fb28ec21661b77431f88e856cb4", - "dweb:/ipfs/QmRP6Ry7DCS5uoKxnnkTomHSzbaCze6cHqbR9aLdjoF6vK" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/IExtension.sol": { - "keccak256": "0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b", - "urls": [ - "bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70", - "dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/IExternalPositionManager.sol": { - "keccak256": "0x3af3f634e1f99fb97091b7825c0d2e2baaafc124d4e87d56cb0c17ff8554f6c6", - "urls": [ - "bzz-raw://515470605afe5ef147f30fa75ce7818f0e00e3d321eb81a4d9bffcdefc294495", - "dweb:/ipfs/QmPKsp99pfHoz9Tfo3ZxnkmqDqJtN9PxqacF2RmeVfxUJF" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/fee-manager/IFee.sol": { - "keccak256": "0x38e3f324c67f3205e38197165586ea82ca226069902f34214bcde76cf905fcff", - "urls": [ - "bzz-raw://c1fff656d1bdde3324421bc9e77cbfc4e80baf4e665f8713fdb65611b046f4b0", - "dweb:/ipfs/QmVRFjNwmsVHdh4sp3DWdL74VWmhRhPZE5kDxJiuPL8Gu2" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/fee-manager/IFeeManager.sol": { - "keccak256": "0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51", - "urls": [ - "bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22", - "dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/fee-manager/fees/ExitRateDirectFee.sol": { - "keccak256": "0xc21d3347ff72c54a3cd44a88e55d893a0b4ee075c2a6e36705bf6bc3e4685351", - "urls": [ - "bzz-raw://cc9aca88277b28d7812727809e2af8f04a6b8575babf1962f50804992f05332c", - "dweb:/ipfs/QmXsPps9HLx9GXqxrEduNQkcsxw8h4hBUve836iE8Bowxr" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/fee-manager/fees/utils/ExitRateFeeBase.sol": { - "keccak256": "0x5db95baa1ba9312cf22745331635831ac765913a661c69bfdd5b63010ba524f3", - "urls": [ - "bzz-raw://d1aae0eb8b22a98647ec2950eb793f6f65f590e3d52fa04eb75a940086bad09d", - "dweb:/ipfs/QmPHVpcgSqxsG4kBZzqqy7YYi2ao8QpNgBR6McpqAcmu8R" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/fee-manager/fees/utils/FeeBase.sol": { - "keccak256": "0x485c03e3088b6dc9828d2e895cce6856501448b4a2c71a0acae4e012bc644b14", - "urls": [ - "bzz-raw://b63aef3cd20eb4dd585632c74619235ef1d5c3c2c52fd61f8802d0a50569b767", - "dweb:/ipfs/QmSuTYChj2j8NnLYCg47feAJ5P9NheQpK46fG6fhmMtimA" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/fee-manager/fees/utils/SettableFeeRecipientBase.sol": { - "keccak256": "0xb3b4b3cd13141871c912310ce1dace2e94f89eee7a52b95d4df9e4642a958f4d", - "urls": [ - "bzz-raw://b120324be26eddebb2fd5d15ecdbef4bfc5a5bbd05bd60796677157480842aa1", - "dweb:/ipfs/Qmab9XnYHvG3zWtQaTee24qU7VK94MMLySPkrZqDBbB5NN" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/fee-manager/fees/utils/UpdatableFeeRecipientBase.sol": { - "keccak256": "0xac875e8923b29be8e697be04177b56d3f75d0ef4a56bc0cec2d2583efd802064", - "urls": [ - "bzz-raw://99d359ece6663298f925765b7558beb694bf3dbe3831fc60e016fd37b10d358c", - "dweb:/ipfs/QmduCuit88g1HEb9HxF1aH82Ezx388M5CBLfUfLraKgcfA" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/policy-manager/IPolicyManager.sol": { - "keccak256": "0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32", - "urls": [ - "bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa", - "dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol": { - "keccak256": "0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609", - "urls": [ - "bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f", - "dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol": { - "keccak256": "0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01", - "urls": [ - "bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0", - "dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol": { - "keccak256": "0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196", - "urls": [ - "bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b", - "dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/protocol-fees/IProtocolFeeTracker.sol": { - "keccak256": "0x232b347f83457439064add7369bfe1930c7cb56f15930bb87d640e909c15e447", - "urls": [ - "bzz-raw://24f9af5eebdd373b1d7a598c096eb6def31b2640d54416d7d5a7226e1cef17e6", - "dweb:/ipfs/QmStq9ByGuSYdKwTmZf52L1X6sZVJUfXTnoVbnjLLiUcHG" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol": { - "keccak256": "0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794", - "urls": [ - "bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965", - "dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IGsnForwarder.sol": { - "keccak256": "0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030", - "urls": [ - "bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29", - "dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IGsnPaymaster.sol": { - "keccak256": "0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c", - "urls": [ - "bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4", - "dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IGsnTypes.sol": { - "keccak256": "0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714", - "urls": [ - "bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7", - "dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IWETH.sol": { - "keccak256": "0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2", - "urls": [ - "bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2", - "dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AddressArrayLib.sol": { - "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", - "urls": [ - "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", - "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/beacon-proxy/IBeacon.sol": { - "keccak256": "0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2", - "urls": [ - "bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39", - "dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol": { - "keccak256": "0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc", - "urls": [ - "bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be", - "dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20Burnable.sol": { - "keccak256": "0x9c0eb3b0e11d2480d49991dc384f1e5f9c9b9967cc81944d50916a9b9c6c4984", - "urls": [ - "bzz-raw://99e4033d778624992e86f0b6d801a4f6d7b5c0cd5c79c1296be90a051ad5f5af", - "dweb:/ipfs/QmShYmkUqh6pDEeoWadZ24icmCr4C2Xys1uE5boivPmbwf" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { - "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", - "urls": [ - "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", - "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Address.sol": { - "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", - "urls": [ - "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", - "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 148 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_feeManager", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "activateForFund", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "addFundSettings", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" }, { "name": "_settingsData", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "getFeeManager", "inputs": [], "outputs": [ { "name": "feeManager_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getInKindRateForFund", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "rate_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "getRecipientForFund", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "recipient_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getSettlementType", "inputs": [], "outputs": [ { "name": "settlementType_", "type": "uint8", "internalType": "enum IFeeManager.SettlementType" } ], "stateMutability": "view" }, { "type": "function", "name": "getSpecificAssetsRateForFund", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "rate_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "payout", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "setRecipientForFund", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" }, { "name": "_recipient", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "settle", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" }, { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "uint8", "internalType": "enum IFeeManager.FeeHook" }, { "name": "_settlementData", "type": "bytes", "internalType": "bytes" }, { "name": "", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "settlementType_", "type": "uint8", "internalType": "enum IFeeManager.SettlementType" }, { "name": "payer_", "type": "address", "internalType": "address" }, { "name": "sharesDue_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "settlesOnHook", "inputs": [ { "name": "_hook", "type": "uint8", "internalType": "enum IFeeManager.FeeHook" } ], "outputs": [ { "name": "settles_", "type": "bool", "internalType": "bool" }, { "name": "usesGav_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "update", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "uint8", "internalType": "enum IFeeManager.FeeHook" }, { "name": "", "type": "bytes", "internalType": "bytes" }, { "name": "", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "updatesOnHook", "inputs": [ { "name": "", "type": "uint8", "internalType": "enum IFeeManager.FeeHook" } ], "outputs": [ { "name": "updates_", "type": "bool", "internalType": "bool" }, { "name": "usesGav_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "event", "name": "FundSettingsAdded", "inputs": [ { "name": "comptrollerProxy", "type": "address", "indexed": true, "internalType": "address" }, { "name": "inKindRate", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "specificAssetsRate", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "RecipientSetForFund", "inputs": [ { "name": "comptrollerProxy", "type": "address", "indexed": true, "internalType": "address" }, { "name": "recipient", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "Settled", "inputs": [ { "name": "comptrollerProxy", "type": "address", "indexed": true, "internalType": "address" }, { "name": "payer", "type": "address", "indexed": true, "internalType": "address" }, { "name": "sharesQuantity", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "forSpecificAssets", "type": "bool", "indexed": true, "internalType": "bool" } ], "anonymous": false } ], "bytecode": { "object": "0x60c060405234801561001057600080fd5b50604051610cb6380380610cb68339818101604052602081101561003357600080fd5b5051606081901b6001600160601b031916608052600160f81b60a0526001600160a01b03166001610c356100816000398061069f52508061052a528061081b52806108485250610c356000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c806362780b3c1161008c578063a8a0fa7d11610066578063a8a0fa7d146103ee578063b78b481314610414578063e337a91f14610456578063f2d6382614610476576100cf565b806362780b3c146103555780637bdd5b1d146103975780638c55f80f146103c0576100cf565b80630f5f6b4f146100d4578063223e650514610156578063233faf5f1461018e5780633146d05814610221578063320f0ddd1461024f57806341892d7e1461028a575b600080fd5b610154600480360360408110156100ea57600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561011557600080fd5b82018360208201111561012757600080fd5b8035906020019184600183028401116401000000008311171561014957600080fd5b50909250905061047e565b005b61017c6004803603602081101561016c57600080fd5b50356001600160a01b03166104c1565b60408051918252519081900360200190f35b610154600480360360a08110156101a457600080fd5b6001600160a01b03823581169260208101359091169160ff60408301351691908101906080810160608201356401000000008111156101e257600080fd5b8201836020820111156101f457600080fd5b8035906020019184600183028401116401000000008311171561021657600080fd5b9193509150356104e0565b6101546004803603604081101561023757600080fd5b506001600160a01b03813581169160200135166104e8565b61026f6004803603602081101561026557600080fd5b503560ff166104ec565b60408051921515835290151560208301528051918290030190f35b61031d600480360360a08110156102a057600080fd5b6001600160a01b03823581169260208101359091169160ff60408301351691908101906080810160608201356401000000008111156102de57600080fd5b8201836020820111156102f057600080fd5b8035906020019184600183028401116401000000008311171561031257600080fd5b91935091503561051b565b6040518084600581111561032d57fe5b8152602001836001600160a01b03168152602001828152602001935050505060405180910390f35b61037b6004803603602081101561036b57600080fd5b50356001600160a01b031661068c565b604080516001600160a01b039092168252519081900360200190f35b61039f61069d565b604051808260058111156103af57fe5b815260200191505060405180910390f35b610154600480360360408110156103d657600080fd5b506001600160a01b03813581169160200135166106c1565b61017c6004803603602081101561040457600080fd5b50356001600160a01b03166107e4565b6104426004803603604081101561042a57600080fd5b506001600160a01b0381358116916020013516610809565b604080519115158252519081900360200190f35b61026f6004803603602081101561046c57600080fd5b503560ff16610811565b61037b610819565b61048983838361083d565b60008282606081101561049b57600080fd5b50604001356001600160a01b0316905080156104bb576104bb84826109ea565b50505050565b6001600160a01b031660009081526020819052604090205461ffff1690565b505050505050565b5050565b60008060038360038111156104fd57fe5b141561050f5750600190506000610516565b5060009050805b915091565b60008080336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105865760405162461bcd60e51b8152600401808060200182810382526025815260200180610b836025913960400191505060405180910390fd5b6000806105c888888080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610a4192505050565b9195509092509050600082156105e8576105e18c6107e4565b90506105f4565b6105f18c6104c1565b90505b61060a6127106106048484610a75565b90610ad5565b935083610624576000806000955095509550505050610680565b821515856001600160a01b03168d6001600160a01b03167f3535fa1da8a29b0e085cee0bb81ac6587dd875222e0854b76f3ffa3c16ab1a7f876040518082815260200191505060405180910390a461067a61069d565b95505050505b96509650969350505050565b600061069782610b3c565b92915050565b7f000000000000000000000000000000000000000000000000000000000000000090565b816001600160a01b031663c98091876040518163ffffffff1660e01b815260040160206040518083038186803b1580156106fa57600080fd5b505afa15801561070e573d6000803e3d6000fd5b505050506040513d602081101561072457600080fd5b505160408051631127a41d60e31b815290516001600160a01b039092169163893d20e891600480820192602092909190829003018186803b15801561076857600080fd5b505afa15801561077c573d6000803e3d6000fd5b505050506040513d602081101561079257600080fd5b50516001600160a01b031633146107da5760405162461bcd60e51b8152600401808060200182810382526030815260200180610bf96030913960400191505060405180910390fd5b6104e882826109ea565b6001600160a01b031660009081526020819052604090205462010000900461ffff1690565b600092915050565b600080915091565b7f000000000000000000000000000000000000000000000000000000000000000090565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146108a45760405162461bcd60e51b8152600401808060200182810382526025815260200180610b836025913960400191505060405180910390fd5b600080838360408110156108b757600080fd5b5061ffff813581169350602090910135169050612710821061090a5760405162461bcd60e51b8152600401808060200182810382526028815260200180610b5b6028913960400191505060405180910390fd5b6127108161ffff161061094e5760405162461bcd60e51b8152600401808060200182810382526030815260200180610ba86030913960400191505060405180910390fd5b60408051808201825261ffff84811680835284821660208085018281526001600160a01b038c16600081815280845288902096518754925161ffff199093169087161763ffff0000191662010000929096169190910294909417909455845191825292810192909252825190927f9f856f74192181b265e61298e386477299c53e0cb24be55a84416f2af4ba4a61928290030190a25050505050565b6001600160a01b0382811660008181526001602052604080822080546001600160a01b0319169486169485179055517fa11fc98cfb391622348acc16de92f0efb77d55f71a6e9fa18bfef387ae8d19ce9190a35050565b6000806000838060200190516060811015610a5b57600080fd5b508051602082015160409092015190969195509350915050565b600082610a8457506000610697565b82820282848281610a9157fe5b0414610ace5760405162461bcd60e51b8152600401808060200182810382526021815260200180610bd86021913960400191505060405180910390fd5b9392505050565b6000808211610b2b576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b818381610b3457fe5b049392505050565b6001600160a01b03908116600090815260016020526040902054169056fe61646446756e6453657474696e67733a20696e4b696e6452617465206d61782065786365656465644f6e6c7920746865204665654d616e6765722063616e206d616b6520746869732063616c6c61646446756e6453657474696e67733a20737065636966696341737365747352617465206d6178206578636565646564536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775f5f736574526563697069656e74466f7246756e643a204f6e6c79207661756c74206f776e65722063616c6c61626c65a164736f6c634300060c000a", "sourceMap": "530:1306:148:-:0;;;609:126;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;609:126:148;705:25:154;;;;-1:-1:-1;;;;;;705:25:154;;;-1:-1:-1;;;1570:33:153::1;::::0;-1:-1:-1;;;;;530:1306:148;694:33;530:1306;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106100cf5760003560e01c806362780b3c1161008c578063a8a0fa7d11610066578063a8a0fa7d146103ee578063b78b481314610414578063e337a91f14610456578063f2d6382614610476576100cf565b806362780b3c146103555780637bdd5b1d146103975780638c55f80f146103c0576100cf565b80630f5f6b4f146100d4578063223e650514610156578063233faf5f1461018e5780633146d05814610221578063320f0ddd1461024f57806341892d7e1461028a575b600080fd5b610154600480360360408110156100ea57600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561011557600080fd5b82018360208201111561012757600080fd5b8035906020019184600183028401116401000000008311171561014957600080fd5b50909250905061047e565b005b61017c6004803603602081101561016c57600080fd5b50356001600160a01b03166104c1565b60408051918252519081900360200190f35b610154600480360360a08110156101a457600080fd5b6001600160a01b03823581169260208101359091169160ff60408301351691908101906080810160608201356401000000008111156101e257600080fd5b8201836020820111156101f457600080fd5b8035906020019184600183028401116401000000008311171561021657600080fd5b9193509150356104e0565b6101546004803603604081101561023757600080fd5b506001600160a01b03813581169160200135166104e8565b61026f6004803603602081101561026557600080fd5b503560ff166104ec565b60408051921515835290151560208301528051918290030190f35b61031d600480360360a08110156102a057600080fd5b6001600160a01b03823581169260208101359091169160ff60408301351691908101906080810160608201356401000000008111156102de57600080fd5b8201836020820111156102f057600080fd5b8035906020019184600183028401116401000000008311171561031257600080fd5b91935091503561051b565b6040518084600581111561032d57fe5b8152602001836001600160a01b03168152602001828152602001935050505060405180910390f35b61037b6004803603602081101561036b57600080fd5b50356001600160a01b031661068c565b604080516001600160a01b039092168252519081900360200190f35b61039f61069d565b604051808260058111156103af57fe5b815260200191505060405180910390f35b610154600480360360408110156103d657600080fd5b506001600160a01b03813581169160200135166106c1565b61017c6004803603602081101561040457600080fd5b50356001600160a01b03166107e4565b6104426004803603604081101561042a57600080fd5b506001600160a01b0381358116916020013516610809565b604080519115158252519081900360200190f35b61026f6004803603602081101561046c57600080fd5b503560ff16610811565b61037b610819565b61048983838361083d565b60008282606081101561049b57600080fd5b50604001356001600160a01b0316905080156104bb576104bb84826109ea565b50505050565b6001600160a01b031660009081526020819052604090205461ffff1690565b505050505050565b5050565b60008060038360038111156104fd57fe5b141561050f5750600190506000610516565b5060009050805b915091565b60008080336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105865760405162461bcd60e51b8152600401808060200182810382526025815260200180610b836025913960400191505060405180910390fd5b6000806105c888888080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610a4192505050565b9195509092509050600082156105e8576105e18c6107e4565b90506105f4565b6105f18c6104c1565b90505b61060a6127106106048484610a75565b90610ad5565b935083610624576000806000955095509550505050610680565b821515856001600160a01b03168d6001600160a01b03167f3535fa1da8a29b0e085cee0bb81ac6587dd875222e0854b76f3ffa3c16ab1a7f876040518082815260200191505060405180910390a461067a61069d565b95505050505b96509650969350505050565b600061069782610b3c565b92915050565b7f000000000000000000000000000000000000000000000000000000000000000090565b816001600160a01b031663c98091876040518163ffffffff1660e01b815260040160206040518083038186803b1580156106fa57600080fd5b505afa15801561070e573d6000803e3d6000fd5b505050506040513d602081101561072457600080fd5b505160408051631127a41d60e31b815290516001600160a01b039092169163893d20e891600480820192602092909190829003018186803b15801561076857600080fd5b505afa15801561077c573d6000803e3d6000fd5b505050506040513d602081101561079257600080fd5b50516001600160a01b031633146107da5760405162461bcd60e51b8152600401808060200182810382526030815260200180610bf96030913960400191505060405180910390fd5b6104e882826109ea565b6001600160a01b031660009081526020819052604090205462010000900461ffff1690565b600092915050565b600080915091565b7f000000000000000000000000000000000000000000000000000000000000000090565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146108a45760405162461bcd60e51b8152600401808060200182810382526025815260200180610b836025913960400191505060405180910390fd5b600080838360408110156108b757600080fd5b5061ffff813581169350602090910135169050612710821061090a5760405162461bcd60e51b8152600401808060200182810382526028815260200180610b5b6028913960400191505060405180910390fd5b6127108161ffff161061094e5760405162461bcd60e51b8152600401808060200182810382526030815260200180610ba86030913960400191505060405180910390fd5b60408051808201825261ffff84811680835284821660208085018281526001600160a01b038c16600081815280845288902096518754925161ffff199093169087161763ffff0000191662010000929096169190910294909417909455845191825292810192909252825190927f9f856f74192181b265e61298e386477299c53e0cb24be55a84416f2af4ba4a61928290030190a25050505050565b6001600160a01b0382811660008181526001602052604080822080546001600160a01b0319169486169485179055517fa11fc98cfb391622348acc16de92f0efb77d55f71a6e9fa18bfef387ae8d19ce9190a35050565b6000806000838060200190516060811015610a5b57600080fd5b508051602082015160409092015190969195509350915050565b600082610a8457506000610697565b82820282848281610a9157fe5b0414610ace5760405162461bcd60e51b8152600401808060200182810382526021815260200180610bd86021913960400191505060405180910390fd5b9392505050565b6000808211610b2b576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b818381610b3457fe5b049392505050565b6001600160a01b03908116600090815260016020526040902054169056fe61646446756e6453657474696e67733a20696e4b696e6452617465206d61782065786365656465644f6e6c7920746865204665654d616e6765722063616e206d616b6520746869732063616c6c61646446756e6453657474696e67733a20737065636966696341737365747352617465206d6178206578636565646564536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775f5f736574526563697069656e74466f7246756e643a204f6e6c79207661756c74206f776e65722063616c6c61626c65a164736f6c634300060c000a", "sourceMap": "530:1306:148:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;988:396;;;;;;;;;;;;;;;;-1:-1:-1;;;;;988:396:148;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;988:396:148;;-1:-1:-1;988:396:148;-1:-1:-1;988:396:148;:::i;:::-;;4877:172:153;;;;;;;;;;;;;;;;-1:-1:-1;4877:172:153;-1:-1:-1;;;;;4877:172:153;;:::i;:::-;;;;;;;;;;;;;;;;1755:175:154;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1755:175:154;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1755:175:154;-1:-1:-1;1755:175:154;;:::i;862:92::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;862:92:154;;;;;;;;;;:::i;4336:291:153:-;;;;;;;;;;;;;;;;-1:-1:-1;4336:291:153;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;2970:1102;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2970:1102:153;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2970:1102:153;-1:-1:-1;2970:1102:153;;:::i;:::-;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2970:1102:153;;;;;;;;;;;;;;;;;;;;;;1570:264:148;;;;;;;;;;;;;;;;-1:-1:-1;1570:264:148;-1:-1:-1;;;;;1570:264:148;;:::i;:::-;;;;-1:-1:-1;;;;;1570:264:148;;;;;;;;;;;;;;5176:133:153;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;883:369:156;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;883:369:156;;;;;;;;;;:::i;5493:216:153:-;;;;;;;;;;;;;;;;-1:-1:-1;5493:216:153;-1:-1:-1;;;;;5493:216:153;;:::i;1490:104:154:-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1490:104:154;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;2232:196;;;;;;;;;;;;;;;;-1:-1:-1;2232:196:154;;;;:::i;3806:104::-;;;:::i;988:396:148:-;1116:55;1138:17;1157:13;;1116:21;:55::i;:::-;1187:17;1219:13;;1208:54;;;;;;;;;;-1:-1:-1;1208:54:148;;;-1:-1:-1;;;;;1208:54:148;;-1:-1:-1;1277:23:148;;1273:105;;1316:51;1338:17;1357:9;1316:21;:51::i;:::-;988:396;;;;:::o;4877:172:153:-;-1:-1:-1;;;;;4987:44:153;4955:13;4987:44;;;;;;;;;;:55;;;;4877:172::o;1755:175:154:-;;;;;;;:::o;862:92::-;;;:::o;4336:291:153:-;4450:13;;4507:35;4498:5;:44;;;;;;;;;4494:95;;;-1:-1:-1;4566:4:153;;-1:-1:-1;4572:5:153;4558:20;;4494:95;-1:-1:-1;4607:5:153;;-1:-1:-1;4607:5:153;4336:291;;;;:::o;2970:1102::-;3217:42;;;564:10:154;-1:-1:-1;;;;;578:11:154;564:25;;556:75;;;;-1:-1:-1;;;556:75:154;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3344:22:153::1;3376::::0;3454:76:::1;3505:15;;3454:76;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;3454:37:153::1;::::0;-1:-1:-1;;;3454:76:153:i:1;:::-;3408:122:::0;;-1:-1:-1;3408:122:153;;-1:-1:-1;3408:122:153;-1:-1:-1;3541:12:153::1;3563:179:::0;::::1;;;3607:47;3636:17;3607:28;:47::i;:::-;3600:54;;3563:179;;;3692:39;3713:17;3692:20;:39::i;:::-;3685:46;;3563:179;3765:49;1074:5;3765:24;:14:::0;3784:4;3765:18:::1;:24::i;:::-;:28:::0;::::1;:49::i;:::-;3752:62:::0;-1:-1:-1;3829:15:153;3825:101:::1;;3868:31;3909:1:::0;3913::::1;3860:55;;;;;;;;;;;3825:101;3988:17;3941:65;;3968:6;-1:-1:-1::0;;;;;3941:65:153::1;3949:17;-1:-1:-1::0;;;;;3941:65:153::1;;3976:10;3941:65;;;;;;;;;;;;;;;;;;4025:19;:17;:19::i;:::-;4017:48;;;;;641:1:154;2970:1102:153::0;;;;;;;;;;:::o;1570:264:148:-;1723:18;1764:63;1809:17;1764:44;:63::i;:::-;1757:70;1570:264;-1:-1:-1;;1570:264:148:o;5176:133:153:-;5287:15;5176:133;:::o;883:369:156:-;1061:17;-1:-1:-1;;;;;1046:47:156;;:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1046:49:156;1029:79;;;-1:-1:-1;;;1029:79:156;;;;-1:-1:-1;;;;;1029:77:156;;;;;;:79;;;;;1046:49;;1029:79;;;;;;;;:77;:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1029:79:156;-1:-1:-1;;;;;999:109:156;:10;:109;978:204;;;;-1:-1:-1;;;978:204:156;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1193:52;1215:17;1234:10;1193:21;:52::i;5493:216:153:-;-1:-1:-1;;;;;5639:44:153;5603:13;5639:44;;;;;;;;;;:63;;;;;;;5493:216::o;1490:104:154:-;1559:4;1490:104;;;;:::o;2232:196::-;2356:13;;2232:196;;;:::o;3806:104::-;3892:11;3806:104;:::o;1842:789:153:-;564:10:154;-1:-1:-1;;;;;578:11:154;564:25;;556:75;;;;-1:-1:-1;;;556:75:154;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2010:17:153::1;2029:25:::0;2082:13:::1;;2058:77;;;;;;;::::0;::::1;;-1:-1:-1::0;2058:77:153::1;::::0;::::1;::::0;::::1;::::0;-1:-1:-1;2058:77:153::1;::::0;;::::1;;;::::0;-1:-1:-1;1074:5:153::1;2153:32:::0;::::1;2145:85;;;;-1:-1:-1::0;;;2145:85:153::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1074:5;2261:18;:40;;;2240:135;;;;-1:-1:-1::0;;;2240:135:153::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2433:107;::::0;;;;::::1;::::0;;::::1;::::0;;::::1;::::0;;;;;::::1;;::::0;;::::1;::::0;;;-1:-1:-1;;;;;2386:44:153;::::1;-1:-1:-1::0;2386:44:153;;;;;;;;;:154;;;;;;-1:-1:-1;;2386:154:153;;::::1;::::0;;::::1;;-1:-1:-1::0;;2386:154:153::1;::::0;;;;::::1;::::0;;;::::1;::::0;;;::::1;::::0;;;2556:68;;;;;;;::::1;::::0;;;;;;2386:44;;2556:68:::1;::::0;;;;;;::::1;641:1:154;;1842:789:153::0;;;:::o;715:229:155:-;-1:-1:-1;;;;;812:46:155;;;;;;;:27;:46;;;;;;:59;;-1:-1:-1;;;;;;812:59:155;;;;;;;;;887:50;;;812:46;887:50;715:229;;:::o;2876:320:154:-;3013:17;3044:23;3081;3147:15;3136:53;;;;;;;;;;;;;;;-1:-1:-1;3136:53:154;;;;;;;;;;;;;;;-1:-1:-1;3136:53:154;-1:-1:-1;2876:320:154;-1:-1:-1;;2876:320:154:o;3538:215:442:-;3596:7;3619:6;3615:20;;-1:-1:-1;3634:1:442;3627:8;;3615:20;3657:5;;;3661:1;3657;:5;:1;3680:5;;;;;:10;3672:56;;;;-1:-1:-1;;;3672:56:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3745:1;3538:215;-1:-1:-1;;;3538:215:442:o;4217:150::-;4275:7;4306:1;4302;:5;4294:44;;;;;-1:-1:-1;;;4294:44:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;4359:1;4355;:5;;;;;;;4217:150;-1:-1:-1;;;4217:150:442:o;1258:211:155:-;-1:-1:-1;;;;;1416:46:155;;;1375:18;1416:46;;;:27;:46;;;;;;;;1258:211::o", "linkReferences": {}, "immutableReferences": { "40168": [ { "start": 1695, "length": 32 } ], "40426": [ { "start": 1322, "length": 32 }, { "start": 2075, "length": 32 }, { "start": 2120, "length": 32 } ] } }, "methodIdentifiers": { "activateForFund(address,address)": "3146d058", "addFundSettings(address,bytes)": "0f5f6b4f", "getFeeManager()": "f2d63826", "getInKindRateForFund(address)": "223e6505", "getRecipientForFund(address)": "62780b3c", "getSettlementType()": "7bdd5b1d", "getSpecificAssetsRateForFund(address)": "a8a0fa7d", "payout(address,address)": "b78b4813", "setRecipientForFund(address,address)": "8c55f80f", "settle(address,address,uint8,bytes,uint256)": "41892d7e", "settlesOnHook(uint8)": "320f0ddd", "update(address,address,uint8,bytes,uint256)": "233faf5f", "updatesOnHook(uint8)": "e337a91f" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_feeManager\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"inKindRate\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"specificAssetsRate\",\"type\":\"uint256\"}],\"name\":\"FundSettingsAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"}],\"name\":\"RecipientSetForFund\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"payer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"sharesQuantity\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"bool\",\"name\":\"forSpecificAssets\",\"type\":\"bool\"}],\"name\":\"Settled\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"activateForFund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_settingsData\",\"type\":\"bytes\"}],\"name\":\"addFundSettings\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFeeManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"feeManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"}],\"name\":\"getInKindRateForFund\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"rate_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"}],\"name\":\"getRecipientForFund\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"recipient_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getSettlementType\",\"outputs\":[{\"internalType\":\"enum IFeeManager.SettlementType\",\"name\":\"settlementType_\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"}],\"name\":\"getSpecificAssetsRateForFund\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"rate_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"payout\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_recipient\",\"type\":\"address\"}],\"name\":\"setRecipientForFund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"enum IFeeManager.FeeHook\",\"name\":\"\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"_settlementData\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"settle\",\"outputs\":[{\"internalType\":\"enum IFeeManager.SettlementType\",\"name\":\"settlementType_\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"payer_\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"sharesDue_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IFeeManager.FeeHook\",\"name\":\"_hook\",\"type\":\"uint8\"}],\"name\":\"settlesOnHook\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"settles_\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"usesGav_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"enum IFeeManager.FeeHook\",\"name\":\"\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"update\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IFeeManager.FeeHook\",\"name\":\"\",\"type\":\"uint8\"}],\"name\":\"updatesOnHook\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"updates_\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"usesGav_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"activateForFund(address,address)\":{\"details\":\"Unimplemented by default, may be overrode.\"},\"addFundSettings(address,bytes)\":{\"details\":\"onlyFeeManager validated by parent\",\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\",\"_settingsData\":\"Encoded settings to apply to the fee for a fund\"}},\"getFeeManager()\":{\"returns\":{\"feeManager_\":\"The `FEE_MANAGER` variable value\"}},\"getInKindRateForFund(address)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy contract for the fund\"},\"returns\":{\"rate_\":\"The fee rate\"}},\"getRecipientForFund(address)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy contract for the fund\"},\"returns\":{\"recipient_\":\"The recipient\"}},\"getSettlementType()\":{\"returns\":{\"settlementType_\":\"The `SETTLEMENT_TYPE` variable value\"}},\"getSpecificAssetsRateForFund(address)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy contract for the fund\"},\"returns\":{\"rate_\":\"The fee rate\"}},\"payout(address,address)\":{\"details\":\"Returns false by default, can be overridden by fee\"},\"setRecipientForFund(address,address)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy contract for the fund\",\"_recipient\":\"The fee recipient\"}},\"settle(address,address,uint8,bytes,uint256)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\",\"_settlementData\":\"Encoded args to use in calculating the settlement\"},\"returns\":{\"payer_\":\"The payer of shares due\",\"settlementType_\":\"The type of settlement\",\"sharesDue_\":\"The amount of shares due\"}},\"settlesOnHook(uint8)\":{\"params\":{\"_hook\":\"The FeeHook\"},\"returns\":{\"settles_\":\"True if the fee settles on the _hook\",\"usesGav_\":\"True if the fee uses GAV during settle() for the _hook\"}},\"update(address,address,uint8,bytes,uint256)\":{\"details\":\"Unimplemented by default, can be overridden by fee\"},\"updatesOnHook(uint8)\":{\"details\":\"Returns false values by default, can be overridden by fee\",\"returns\":{\"updates_\":\"True if the fee updates on the _hook\",\"usesGav_\":\"True if the fee uses GAV during update() for the _hook\"}}},\"title\":\"ExitRateDirectFee Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"activateForFund(address,address)\":{\"notice\":\"Allows Fee to run logic during fund activation\"},\"addFundSettings(address,bytes)\":{\"notice\":\"Add the initial fee settings for a fund\"},\"getFeeManager()\":{\"notice\":\"Gets the `FEE_MANAGER` variable\"},\"getInKindRateForFund(address)\":{\"notice\":\"Gets the fee rate for an in-kind redemption\"},\"getRecipientForFund(address)\":{\"notice\":\"Gets the recipient of the fee for a given fund\"},\"getSettlementType()\":{\"notice\":\"Gets the `SETTLEMENT_TYPE` variable\"},\"getSpecificAssetsRateForFund(address)\":{\"notice\":\"Gets the fee rate for a specific assets redemption\"},\"payout(address,address)\":{\"notice\":\"Runs payout logic for a fee that utilizes shares outstanding as its settlement type\"},\"setRecipientForFund(address,address)\":{\"notice\":\"Sets the fee recipient for the given fund\"},\"settle(address,address,uint8,bytes,uint256)\":{\"notice\":\"Settles the fee\"},\"settlesOnHook(uint8)\":{\"notice\":\"Gets whether the fee settles and requires GAV on a particular hook\"},\"update(address,address,uint8,bytes,uint256)\":{\"notice\":\"Update fee state after all settlement has occurred during a given fee hook\"},\"updatesOnHook(uint8)\":{\"notice\":\"Gets whether the fee updates and requires GAV on a particular hook\"}},\"notice\":\"An ExitRateFee that transfers the fee shares to a recipient\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/fee-manager/fees/ExitRateDirectFee.sol\":\"ExitRateDirectFee\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/persistent/protocol-fee-reserve/interfaces/IProtocolFeeReserve1.sol\":{\"keccak256\":\"0x2728878c423db523bc95189137e8c58d2d7db9f56bbd5c6b1f988c08b551fbab\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3b0df1d2eb74151265d03ab91a7c341f7beca475dd2f4d669052dbc4ee2c06ac\",\"dweb:/ipfs/QmVx1cgrxQNYfdK1Kn15pcgqf79Uw8bF3U6i7F2HG2rj6G\"]},\"contracts/persistent/vault/VaultLibBase1.sol\":{\"keccak256\":\"0xa4dac1e4cdb311a2ab187135355357d8790c505ef36dd912c057fe53743d30b5\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b66efe821016ab927c949263023260515e90f5d480dc8d94eefbfeec7bf7490b\",\"dweb:/ipfs/QmNY3xKnhL9EptAbxGvXHGAXfV9pj3dDPwsZnKrPs54ZHw\"]},\"contracts/persistent/vault/VaultLibBase2.sol\":{\"keccak256\":\"0xf7d31f2a9a47770ed3f444be2c4fe9262ddb55fef7f25e546b1f03c9afec4c09\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9353ddce7c9b8b3c13fed23fe8edec99ca610d791b0c5b204b3d01f1f08d07d2\",\"dweb:/ipfs/QmeVsEh3joCjv49BRXeHASevnZZ5xdZXpkctHT8BPf37N2\"]},\"contracts/persistent/vault/VaultLibBaseCore.sol\":{\"keccak256\":\"0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd\",\"dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz\"]},\"contracts/persistent/vault/interfaces/IExternalPositionVault.sol\":{\"keccak256\":\"0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d\",\"dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8\"]},\"contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol\":{\"keccak256\":\"0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb\",\"dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU\"]},\"contracts/persistent/vault/interfaces/IMigratableVault.sol\":{\"keccak256\":\"0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6\",\"dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs\"]},\"contracts/persistent/vault/interfaces/IVaultCore.sol\":{\"keccak256\":\"0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd\",\"dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr\"]},\"contracts/persistent/vault/utils/ProxiableVaultLib.sol\":{\"keccak256\":\"0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44\",\"dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4\"]},\"contracts/persistent/vault/utils/SharesTokenBase.sol\":{\"keccak256\":\"0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8\",\"dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4\"]},\"contracts/persistent/vault/utils/VaultLibSafeMath.sol\":{\"keccak256\":\"0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02\",\"dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG\"]},\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/core/fund/comptroller/ComptrollerLib.sol\":{\"keccak256\":\"0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579\",\"dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq\"]},\"contracts/release/core/fund/comptroller/IComptroller.sol\":{\"keccak256\":\"0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97\",\"dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L\"]},\"contracts/release/core/fund/vault/IVault.sol\":{\"keccak256\":\"0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599\",\"dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG\"]},\"contracts/release/core/fund/vault/VaultLib.sol\":{\"keccak256\":\"0x07e49445ab55c01e1b499a48baadc2a15d1eba621f1c6d3ccfdb84c87b976da8\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://56d882459248f73e137db2e097fc56b946147fb28ec21661b77431f88e856cb4\",\"dweb:/ipfs/QmRP6Ry7DCS5uoKxnnkTomHSzbaCze6cHqbR9aLdjoF6vK\"]},\"contracts/release/extensions/IExtension.sol\":{\"keccak256\":\"0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70\",\"dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t\"]},\"contracts/release/extensions/external-position-manager/IExternalPositionManager.sol\":{\"keccak256\":\"0x3af3f634e1f99fb97091b7825c0d2e2baaafc124d4e87d56cb0c17ff8554f6c6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://515470605afe5ef147f30fa75ce7818f0e00e3d321eb81a4d9bffcdefc294495\",\"dweb:/ipfs/QmPKsp99pfHoz9Tfo3ZxnkmqDqJtN9PxqacF2RmeVfxUJF\"]},\"contracts/release/extensions/fee-manager/IFee.sol\":{\"keccak256\":\"0x38e3f324c67f3205e38197165586ea82ca226069902f34214bcde76cf905fcff\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c1fff656d1bdde3324421bc9e77cbfc4e80baf4e665f8713fdb65611b046f4b0\",\"dweb:/ipfs/QmVRFjNwmsVHdh4sp3DWdL74VWmhRhPZE5kDxJiuPL8Gu2\"]},\"contracts/release/extensions/fee-manager/IFeeManager.sol\":{\"keccak256\":\"0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22\",\"dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod\"]},\"contracts/release/extensions/fee-manager/fees/ExitRateDirectFee.sol\":{\"keccak256\":\"0xc21d3347ff72c54a3cd44a88e55d893a0b4ee075c2a6e36705bf6bc3e4685351\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://cc9aca88277b28d7812727809e2af8f04a6b8575babf1962f50804992f05332c\",\"dweb:/ipfs/QmXsPps9HLx9GXqxrEduNQkcsxw8h4hBUve836iE8Bowxr\"]},\"contracts/release/extensions/fee-manager/fees/utils/ExitRateFeeBase.sol\":{\"keccak256\":\"0x5db95baa1ba9312cf22745331635831ac765913a661c69bfdd5b63010ba524f3\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d1aae0eb8b22a98647ec2950eb793f6f65f590e3d52fa04eb75a940086bad09d\",\"dweb:/ipfs/QmPHVpcgSqxsG4kBZzqqy7YYi2ao8QpNgBR6McpqAcmu8R\"]},\"contracts/release/extensions/fee-manager/fees/utils/FeeBase.sol\":{\"keccak256\":\"0x485c03e3088b6dc9828d2e895cce6856501448b4a2c71a0acae4e012bc644b14\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b63aef3cd20eb4dd585632c74619235ef1d5c3c2c52fd61f8802d0a50569b767\",\"dweb:/ipfs/QmSuTYChj2j8NnLYCg47feAJ5P9NheQpK46fG6fhmMtimA\"]},\"contracts/release/extensions/fee-manager/fees/utils/SettableFeeRecipientBase.sol\":{\"keccak256\":\"0xb3b4b3cd13141871c912310ce1dace2e94f89eee7a52b95d4df9e4642a958f4d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b120324be26eddebb2fd5d15ecdbef4bfc5a5bbd05bd60796677157480842aa1\",\"dweb:/ipfs/Qmab9XnYHvG3zWtQaTee24qU7VK94MMLySPkrZqDBbB5NN\"]},\"contracts/release/extensions/fee-manager/fees/utils/UpdatableFeeRecipientBase.sol\":{\"keccak256\":\"0xac875e8923b29be8e697be04177b56d3f75d0ef4a56bc0cec2d2583efd802064\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://99d359ece6663298f925765b7558beb694bf3dbe3831fc60e016fd37b10d358c\",\"dweb:/ipfs/QmduCuit88g1HEb9HxF1aH82Ezx388M5CBLfUfLraKgcfA\"]},\"contracts/release/extensions/policy-manager/IPolicyManager.sol\":{\"keccak256\":\"0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa\",\"dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb\"]},\"contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol\":{\"keccak256\":\"0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f\",\"dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol\":{\"keccak256\":\"0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0\",\"dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol\":{\"keccak256\":\"0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b\",\"dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3\"]},\"contracts/release/infrastructure/protocol-fees/IProtocolFeeTracker.sol\":{\"keccak256\":\"0x232b347f83457439064add7369bfe1930c7cb56f15930bb87d640e909c15e447\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://24f9af5eebdd373b1d7a598c096eb6def31b2640d54416d7d5a7226e1cef17e6\",\"dweb:/ipfs/QmStq9ByGuSYdKwTmZf52L1X6sZVJUfXTnoVbnjLLiUcHG\"]},\"contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol\":{\"keccak256\":\"0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965\",\"dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ\"]},\"contracts/release/interfaces/IGsnForwarder.sol\":{\"keccak256\":\"0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29\",\"dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G\"]},\"contracts/release/interfaces/IGsnPaymaster.sol\":{\"keccak256\":\"0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4\",\"dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF\"]},\"contracts/release/interfaces/IGsnTypes.sol\":{\"keccak256\":\"0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7\",\"dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C\"]},\"contracts/release/interfaces/IWETH.sol\":{\"keccak256\":\"0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2\",\"dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/beacon-proxy/IBeacon.sol\":{\"keccak256\":\"0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39\",\"dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V\"]},\"contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol\":{\"keccak256\":\"0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be\",\"dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20Burnable.sol\":{\"keccak256\":\"0x9c0eb3b0e11d2480d49991dc384f1e5f9c9b9967cc81944d50916a9b9c6c4984\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99e4033d778624992e86f0b6d801a4f6d7b5c0cd5c79c1296be90a051ad5f5af\",\"dweb:/ipfs/QmShYmkUqh6pDEeoWadZ24icmCr4C2Xys1uE5boivPmbwf\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_feeManager", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "comptrollerProxy", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "inKindRate", "type": "uint256", "indexed": false }, { "internalType": "uint256", "name": "specificAssetsRate", "type": "uint256", "indexed": false } ], "type": "event", "name": "FundSettingsAdded", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "comptrollerProxy", "type": "address", "indexed": true }, { "internalType": "address", "name": "recipient", "type": "address", "indexed": true } ], "type": "event", "name": "RecipientSetForFund", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "comptrollerProxy", "type": "address", "indexed": true }, { "internalType": "address", "name": "payer", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "sharesQuantity", "type": "uint256", "indexed": false }, { "internalType": "bool", "name": "forSpecificAssets", "type": "bool", "indexed": true } ], "type": "event", "name": "Settled", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "activateForFund" }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" }, { "internalType": "bytes", "name": "_settingsData", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "addFundSettings" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getFeeManager", "outputs": [ { "internalType": "address", "name": "feeManager_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getInKindRateForFund", "outputs": [ { "internalType": "uint256", "name": "rate_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getRecipientForFund", "outputs": [ { "internalType": "address", "name": "recipient_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getSettlementType", "outputs": [ { "internalType": "enum IFeeManager.SettlementType", "name": "settlementType_", "type": "uint8" } ] }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getSpecificAssetsRateForFund", "outputs": [ { "internalType": "uint256", "name": "rate_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "payout", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" }, { "internalType": "address", "name": "_recipient", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "setRecipientForFund" }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" }, { "internalType": "address", "name": "", "type": "address" }, { "internalType": "enum IFeeManager.FeeHook", "name": "", "type": "uint8" }, { "internalType": "bytes", "name": "_settlementData", "type": "bytes" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "settle", "outputs": [ { "internalType": "enum IFeeManager.SettlementType", "name": "settlementType_", "type": "uint8" }, { "internalType": "address", "name": "payer_", "type": "address" }, { "internalType": "uint256", "name": "sharesDue_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "enum IFeeManager.FeeHook", "name": "_hook", "type": "uint8" } ], "stateMutability": "view", "type": "function", "name": "settlesOnHook", "outputs": [ { "internalType": "bool", "name": "settles_", "type": "bool" }, { "internalType": "bool", "name": "usesGav_", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "address", "name": "", "type": "address" }, { "internalType": "enum IFeeManager.FeeHook", "name": "", "type": "uint8" }, { "internalType": "bytes", "name": "", "type": "bytes" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "update" }, { "inputs": [ { "internalType": "enum IFeeManager.FeeHook", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function", "name": "updatesOnHook", "outputs": [ { "internalType": "bool", "name": "updates_", "type": "bool" }, { "internalType": "bool", "name": "usesGav_", "type": "bool" } ] } ], "devdoc": { "kind": "dev", "methods": { "activateForFund(address,address)": { "details": "Unimplemented by default, may be overrode." }, "addFundSettings(address,bytes)": { "details": "onlyFeeManager validated by parent", "params": { "_comptrollerProxy": "The ComptrollerProxy of the fund", "_settingsData": "Encoded settings to apply to the fee for a fund" } }, "getFeeManager()": { "returns": { "feeManager_": "The `FEE_MANAGER` variable value" } }, "getInKindRateForFund(address)": { "params": { "_comptrollerProxy": "The ComptrollerProxy contract for the fund" }, "returns": { "rate_": "The fee rate" } }, "getRecipientForFund(address)": { "params": { "_comptrollerProxy": "The ComptrollerProxy contract for the fund" }, "returns": { "recipient_": "The recipient" } }, "getSettlementType()": { "returns": { "settlementType_": "The `SETTLEMENT_TYPE` variable value" } }, "getSpecificAssetsRateForFund(address)": { "params": { "_comptrollerProxy": "The ComptrollerProxy contract for the fund" }, "returns": { "rate_": "The fee rate" } }, "payout(address,address)": { "details": "Returns false by default, can be overridden by fee" }, "setRecipientForFund(address,address)": { "params": { "_comptrollerProxy": "The ComptrollerProxy contract for the fund", "_recipient": "The fee recipient" } }, "settle(address,address,uint8,bytes,uint256)": { "params": { "_comptrollerProxy": "The ComptrollerProxy of the fund", "_settlementData": "Encoded args to use in calculating the settlement" }, "returns": { "payer_": "The payer of shares due", "settlementType_": "The type of settlement", "sharesDue_": "The amount of shares due" } }, "settlesOnHook(uint8)": { "params": { "_hook": "The FeeHook" }, "returns": { "settles_": "True if the fee settles on the _hook", "usesGav_": "True if the fee uses GAV during settle() for the _hook" } }, "update(address,address,uint8,bytes,uint256)": { "details": "Unimplemented by default, can be overridden by fee" }, "updatesOnHook(uint8)": { "details": "Returns false values by default, can be overridden by fee", "returns": { "updates_": "True if the fee updates on the _hook", "usesGav_": "True if the fee uses GAV during update() for the _hook" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "activateForFund(address,address)": { "notice": "Allows Fee to run logic during fund activation" }, "addFundSettings(address,bytes)": { "notice": "Add the initial fee settings for a fund" }, "getFeeManager()": { "notice": "Gets the `FEE_MANAGER` variable" }, "getInKindRateForFund(address)": { "notice": "Gets the fee rate for an in-kind redemption" }, "getRecipientForFund(address)": { "notice": "Gets the recipient of the fee for a given fund" }, "getSettlementType()": { "notice": "Gets the `SETTLEMENT_TYPE` variable" }, "getSpecificAssetsRateForFund(address)": { "notice": "Gets the fee rate for a specific assets redemption" }, "payout(address,address)": { "notice": "Runs payout logic for a fee that utilizes shares outstanding as its settlement type" }, "setRecipientForFund(address,address)": { "notice": "Sets the fee recipient for the given fund" }, "settle(address,address,uint8,bytes,uint256)": { "notice": "Settles the fee" }, "settlesOnHook(uint8)": { "notice": "Gets whether the fee settles and requires GAV on a particular hook" }, "update(address,address,uint8,bytes,uint256)": { "notice": "Update fee state after all settlement has occurred during a given fee hook" }, "updatesOnHook(uint8)": { "notice": "Gets whether the fee updates and requires GAV on a particular hook" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/fee-manager/fees/ExitRateDirectFee.sol": "ExitRateDirectFee" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/dispatcher/IDispatcher.sol": { "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", "urls": [ "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" ], "license": "GPL-3.0" }, "contracts/persistent/external-positions/IExternalPosition.sol": { "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", "urls": [ "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" ], "license": "GPL-3.0" }, "contracts/persistent/protocol-fee-reserve/interfaces/IProtocolFeeReserve1.sol": { "keccak256": "0x2728878c423db523bc95189137e8c58d2d7db9f56bbd5c6b1f988c08b551fbab", "urls": [ "bzz-raw://3b0df1d2eb74151265d03ab91a7c341f7beca475dd2f4d669052dbc4ee2c06ac", "dweb:/ipfs/QmVx1cgrxQNYfdK1Kn15pcgqf79Uw8bF3U6i7F2HG2rj6G" ], "license": "GPL-3.0" }, "contracts/persistent/vault/VaultLibBase1.sol": { "keccak256": "0xa4dac1e4cdb311a2ab187135355357d8790c505ef36dd912c057fe53743d30b5", "urls": [ "bzz-raw://b66efe821016ab927c949263023260515e90f5d480dc8d94eefbfeec7bf7490b", "dweb:/ipfs/QmNY3xKnhL9EptAbxGvXHGAXfV9pj3dDPwsZnKrPs54ZHw" ], "license": "GPL-3.0" }, "contracts/persistent/vault/VaultLibBase2.sol": { "keccak256": "0xf7d31f2a9a47770ed3f444be2c4fe9262ddb55fef7f25e546b1f03c9afec4c09", "urls": [ "bzz-raw://9353ddce7c9b8b3c13fed23fe8edec99ca610d791b0c5b204b3d01f1f08d07d2", "dweb:/ipfs/QmeVsEh3joCjv49BRXeHASevnZZ5xdZXpkctHT8BPf37N2" ], "license": "GPL-3.0" }, "contracts/persistent/vault/VaultLibBaseCore.sol": { "keccak256": "0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074", "urls": [ "bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd", "dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IExternalPositionVault.sol": { "keccak256": "0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6", "urls": [ "bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d", "dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol": { "keccak256": "0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0", "urls": [ "bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb", "dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IMigratableVault.sol": { "keccak256": "0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238", "urls": [ "bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6", "dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IVaultCore.sol": { "keccak256": "0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80", "urls": [ "bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd", "dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr" ], "license": "GPL-3.0" }, "contracts/persistent/vault/utils/ProxiableVaultLib.sol": { "keccak256": "0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76", "urls": [ "bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44", "dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4" ], "license": "GPL-3.0" }, "contracts/persistent/vault/utils/SharesTokenBase.sol": { "keccak256": "0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113", "urls": [ "bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8", "dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4" ], "license": "GPL-3.0" }, "contracts/persistent/vault/utils/VaultLibSafeMath.sol": { "keccak256": "0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d", "urls": [ "bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02", "dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG" ], "license": "GPL-3.0" }, "contracts/release/core/fund-deployer/IFundDeployer.sol": { "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", "urls": [ "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" ], "license": "GPL-3.0" }, "contracts/release/core/fund/comptroller/ComptrollerLib.sol": { "keccak256": "0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64", "urls": [ "bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579", "dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq" ], "license": "GPL-3.0" }, "contracts/release/core/fund/comptroller/IComptroller.sol": { "keccak256": "0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f", "urls": [ "bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97", "dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L" ], "license": "GPL-3.0" }, "contracts/release/core/fund/vault/IVault.sol": { "keccak256": "0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd", "urls": [ "bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599", "dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG" ], "license": "GPL-3.0" }, "contracts/release/core/fund/vault/VaultLib.sol": { "keccak256": "0x07e49445ab55c01e1b499a48baadc2a15d1eba621f1c6d3ccfdb84c87b976da8", "urls": [ "bzz-raw://56d882459248f73e137db2e097fc56b946147fb28ec21661b77431f88e856cb4", "dweb:/ipfs/QmRP6Ry7DCS5uoKxnnkTomHSzbaCze6cHqbR9aLdjoF6vK" ], "license": "GPL-3.0" }, "contracts/release/extensions/IExtension.sol": { "keccak256": "0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b", "urls": [ "bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70", "dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/IExternalPositionManager.sol": { "keccak256": "0x3af3f634e1f99fb97091b7825c0d2e2baaafc124d4e87d56cb0c17ff8554f6c6", "urls": [ "bzz-raw://515470605afe5ef147f30fa75ce7818f0e00e3d321eb81a4d9bffcdefc294495", "dweb:/ipfs/QmPKsp99pfHoz9Tfo3ZxnkmqDqJtN9PxqacF2RmeVfxUJF" ], "license": "GPL-3.0" }, "contracts/release/extensions/fee-manager/IFee.sol": { "keccak256": "0x38e3f324c67f3205e38197165586ea82ca226069902f34214bcde76cf905fcff", "urls": [ "bzz-raw://c1fff656d1bdde3324421bc9e77cbfc4e80baf4e665f8713fdb65611b046f4b0", "dweb:/ipfs/QmVRFjNwmsVHdh4sp3DWdL74VWmhRhPZE5kDxJiuPL8Gu2" ], "license": "GPL-3.0" }, "contracts/release/extensions/fee-manager/IFeeManager.sol": { "keccak256": "0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51", "urls": [ "bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22", "dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod" ], "license": "GPL-3.0" }, "contracts/release/extensions/fee-manager/fees/ExitRateDirectFee.sol": { "keccak256": "0xc21d3347ff72c54a3cd44a88e55d893a0b4ee075c2a6e36705bf6bc3e4685351", "urls": [ "bzz-raw://cc9aca88277b28d7812727809e2af8f04a6b8575babf1962f50804992f05332c", "dweb:/ipfs/QmXsPps9HLx9GXqxrEduNQkcsxw8h4hBUve836iE8Bowxr" ], "license": "GPL-3.0" }, "contracts/release/extensions/fee-manager/fees/utils/ExitRateFeeBase.sol": { "keccak256": "0x5db95baa1ba9312cf22745331635831ac765913a661c69bfdd5b63010ba524f3", "urls": [ "bzz-raw://d1aae0eb8b22a98647ec2950eb793f6f65f590e3d52fa04eb75a940086bad09d", "dweb:/ipfs/QmPHVpcgSqxsG4kBZzqqy7YYi2ao8QpNgBR6McpqAcmu8R" ], "license": "GPL-3.0" }, "contracts/release/extensions/fee-manager/fees/utils/FeeBase.sol": { "keccak256": "0x485c03e3088b6dc9828d2e895cce6856501448b4a2c71a0acae4e012bc644b14", "urls": [ "bzz-raw://b63aef3cd20eb4dd585632c74619235ef1d5c3c2c52fd61f8802d0a50569b767", "dweb:/ipfs/QmSuTYChj2j8NnLYCg47feAJ5P9NheQpK46fG6fhmMtimA" ], "license": "GPL-3.0" }, "contracts/release/extensions/fee-manager/fees/utils/SettableFeeRecipientBase.sol": { "keccak256": "0xb3b4b3cd13141871c912310ce1dace2e94f89eee7a52b95d4df9e4642a958f4d", "urls": [ "bzz-raw://b120324be26eddebb2fd5d15ecdbef4bfc5a5bbd05bd60796677157480842aa1", "dweb:/ipfs/Qmab9XnYHvG3zWtQaTee24qU7VK94MMLySPkrZqDBbB5NN" ], "license": "GPL-3.0" }, "contracts/release/extensions/fee-manager/fees/utils/UpdatableFeeRecipientBase.sol": { "keccak256": "0xac875e8923b29be8e697be04177b56d3f75d0ef4a56bc0cec2d2583efd802064", "urls": [ "bzz-raw://99d359ece6663298f925765b7558beb694bf3dbe3831fc60e016fd37b10d358c", "dweb:/ipfs/QmduCuit88g1HEb9HxF1aH82Ezx388M5CBLfUfLraKgcfA" ], "license": "GPL-3.0" }, "contracts/release/extensions/policy-manager/IPolicyManager.sol": { "keccak256": "0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32", "urls": [ "bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa", "dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol": { "keccak256": "0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609", "urls": [ "bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f", "dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol": { "keccak256": "0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01", "urls": [ "bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0", "dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol": { "keccak256": "0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196", "urls": [ "bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b", "dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/protocol-fees/IProtocolFeeTracker.sol": { "keccak256": "0x232b347f83457439064add7369bfe1930c7cb56f15930bb87d640e909c15e447", "urls": [ "bzz-raw://24f9af5eebdd373b1d7a598c096eb6def31b2640d54416d7d5a7226e1cef17e6", "dweb:/ipfs/QmStq9ByGuSYdKwTmZf52L1X6sZVJUfXTnoVbnjLLiUcHG" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol": { "keccak256": "0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794", "urls": [ "bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965", "dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IGsnForwarder.sol": { "keccak256": "0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030", "urls": [ "bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29", "dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IGsnPaymaster.sol": { "keccak256": "0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c", "urls": [ "bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4", "dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IGsnTypes.sol": { "keccak256": "0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714", "urls": [ "bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7", "dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IWETH.sol": { "keccak256": "0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2", "urls": [ "bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2", "dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ" ], "license": "GPL-3.0" }, "contracts/release/utils/AddressArrayLib.sol": { "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", "urls": [ "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" ], "license": "GPL-3.0" }, "contracts/release/utils/beacon-proxy/IBeacon.sol": { "keccak256": "0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2", "urls": [ "bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39", "dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V" ], "license": "GPL-3.0" }, "contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol": { "keccak256": "0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc", "urls": [ "bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be", "dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20Burnable.sol": { "keccak256": "0x9c0eb3b0e11d2480d49991dc384f1e5f9c9b9967cc81944d50916a9b9c6c4984", "urls": [ "bzz-raw://99e4033d778624992e86f0b6d801a4f6d7b5c0cd5c79c1296be90a051ad5f5af", "dweb:/ipfs/QmShYmkUqh6pDEeoWadZ24icmCr4C2Xys1uE5boivPmbwf" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", "urls": [ "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Address.sol": { "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", "urls": [ "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" } }, "version": 1 }, "id": 148 } diff --git a/eth_defi/abi/enzyme/ExitRateFeeBase.json b/eth_defi/abi/enzyme/ExitRateFeeBase.json index 4d1cd4e8..2e35e40f 100644 --- a/eth_defi/abi/enzyme/ExitRateFeeBase.json +++ b/eth_defi/abi/enzyme/ExitRateFeeBase.json @@ -1,921 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_feeManager", - "type": "address" - }, - { - "internalType": "enum IFeeManager.SettlementType", - "name": "_settlementType", - "type": "uint8" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "comptrollerProxy", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "inKindRate", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "specificAssetsRate", - "type": "uint256" - } - ], - "name": "FundSettingsAdded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "comptrollerProxy", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "payer", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "sharesQuantity", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "bool", - "name": "forSpecificAssets", - "type": "bool" - } - ], - "name": "Settled", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "activateForFund", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_settingsData", - "type": "bytes" - } - ], - "name": "addFundSettings", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getFeeManager", - "outputs": [ - { - "internalType": "address", - "name": "feeManager_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - } - ], - "name": "getInKindRateForFund", - "outputs": [ - { - "internalType": "uint256", - "name": "rate_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "getRecipientForFund", - "outputs": [ - { - "internalType": "address", - "name": "recipient_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getSettlementType", - "outputs": [ - { - "internalType": "enum IFeeManager.SettlementType", - "name": "settlementType_", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - } - ], - "name": "getSpecificAssetsRateForFund", - "outputs": [ - { - "internalType": "uint256", - "name": "rate_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "payout", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "enum IFeeManager.FeeHook", - "name": "", - "type": "uint8" - }, - { - "internalType": "bytes", - "name": "_settlementData", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "settle", - "outputs": [ - { - "internalType": "enum IFeeManager.SettlementType", - "name": "settlementType_", - "type": "uint8" - }, - { - "internalType": "address", - "name": "payer_", - "type": "address" - }, - { - "internalType": "uint256", - "name": "sharesDue_", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "enum IFeeManager.FeeHook", - "name": "_hook", - "type": "uint8" - } - ], - "name": "settlesOnHook", - "outputs": [ - { - "internalType": "bool", - "name": "settles_", - "type": "bool" - }, - { - "internalType": "bool", - "name": "usesGav_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "enum IFeeManager.FeeHook", - "name": "", - "type": "uint8" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "update", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "enum IFeeManager.FeeHook", - "name": "", - "type": "uint8" - } - ], - "name": "updatesOnHook", - "outputs": [ - { - "internalType": "bool", - "name": "updates_", - "type": "bool" - }, - { - "internalType": "bool", - "name": "usesGav_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "activateForFund(address,address)": "3146d058", - "addFundSettings(address,bytes)": "0f5f6b4f", - "getFeeManager()": "f2d63826", - "getInKindRateForFund(address)": "223e6505", - "getRecipientForFund(address)": "62780b3c", - "getSettlementType()": "7bdd5b1d", - "getSpecificAssetsRateForFund(address)": "a8a0fa7d", - "payout(address,address)": "b78b4813", - "settle(address,address,uint8,bytes,uint256)": "41892d7e", - "settlesOnHook(uint8)": "320f0ddd", - "update(address,address,uint8,bytes,uint256)": "233faf5f", - "updatesOnHook(uint8)": "e337a91f" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_feeManager\",\"type\":\"address\"},{\"internalType\":\"enum IFeeManager.SettlementType\",\"name\":\"_settlementType\",\"type\":\"uint8\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"inKindRate\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"specificAssetsRate\",\"type\":\"uint256\"}],\"name\":\"FundSettingsAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"payer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"sharesQuantity\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"bool\",\"name\":\"forSpecificAssets\",\"type\":\"bool\"}],\"name\":\"Settled\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"activateForFund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_settingsData\",\"type\":\"bytes\"}],\"name\":\"addFundSettings\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFeeManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"feeManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"}],\"name\":\"getInKindRateForFund\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"rate_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"getRecipientForFund\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"recipient_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getSettlementType\",\"outputs\":[{\"internalType\":\"enum IFeeManager.SettlementType\",\"name\":\"settlementType_\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"}],\"name\":\"getSpecificAssetsRateForFund\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"rate_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"payout\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"enum IFeeManager.FeeHook\",\"name\":\"\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"_settlementData\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"settle\",\"outputs\":[{\"internalType\":\"enum IFeeManager.SettlementType\",\"name\":\"settlementType_\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"payer_\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"sharesDue_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IFeeManager.FeeHook\",\"name\":\"_hook\",\"type\":\"uint8\"}],\"name\":\"settlesOnHook\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"settles_\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"usesGav_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"enum IFeeManager.FeeHook\",\"name\":\"\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"update\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IFeeManager.FeeHook\",\"name\":\"\",\"type\":\"uint8\"}],\"name\":\"updatesOnHook\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"updates_\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"usesGav_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"activateForFund(address,address)\":{\"details\":\"Unimplemented by default, may be overrode.\"},\"addFundSettings(address,bytes)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\",\"_settingsData\":\"Encoded settings to apply to the fee for a fund\"}},\"getFeeManager()\":{\"returns\":{\"feeManager_\":\"The `FEE_MANAGER` variable value\"}},\"getInKindRateForFund(address)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy contract for the fund\"},\"returns\":{\"rate_\":\"The fee rate\"}},\"getRecipientForFund(address)\":{\"details\":\"address(0) signifies the VaultProxy owner. Returns address(0) by default, can be overridden by fee.\"},\"getSettlementType()\":{\"returns\":{\"settlementType_\":\"The `SETTLEMENT_TYPE` variable value\"}},\"getSpecificAssetsRateForFund(address)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy contract for the fund\"},\"returns\":{\"rate_\":\"The fee rate\"}},\"payout(address,address)\":{\"details\":\"Returns false by default, can be overridden by fee\"},\"settle(address,address,uint8,bytes,uint256)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\",\"_settlementData\":\"Encoded args to use in calculating the settlement\"},\"returns\":{\"payer_\":\"The payer of shares due\",\"settlementType_\":\"The type of settlement\",\"sharesDue_\":\"The amount of shares due\"}},\"settlesOnHook(uint8)\":{\"params\":{\"_hook\":\"The FeeHook\"},\"returns\":{\"settles_\":\"True if the fee settles on the _hook\",\"usesGav_\":\"True if the fee uses GAV during settle() for the _hook\"}},\"update(address,address,uint8,bytes,uint256)\":{\"details\":\"Unimplemented by default, can be overridden by fee\"},\"updatesOnHook(uint8)\":{\"details\":\"Returns false values by default, can be overridden by fee\",\"returns\":{\"updates_\":\"True if the fee updates on the _hook\",\"usesGav_\":\"True if the fee uses GAV during update() for the _hook\"}}},\"title\":\"ExitRateFeeBase Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"activateForFund(address,address)\":{\"notice\":\"Allows Fee to run logic during fund activation\"},\"addFundSettings(address,bytes)\":{\"notice\":\"Add the initial fee settings for a fund\"},\"getFeeManager()\":{\"notice\":\"Gets the `FEE_MANAGER` variable\"},\"getInKindRateForFund(address)\":{\"notice\":\"Gets the fee rate for an in-kind redemption\"},\"getRecipientForFund(address)\":{\"notice\":\"Gets the recipient of the fee for a given fund\"},\"getSettlementType()\":{\"notice\":\"Gets the `SETTLEMENT_TYPE` variable\"},\"getSpecificAssetsRateForFund(address)\":{\"notice\":\"Gets the fee rate for a specific assets redemption\"},\"payout(address,address)\":{\"notice\":\"Runs payout logic for a fee that utilizes shares outstanding as its settlement type\"},\"settle(address,address,uint8,bytes,uint256)\":{\"notice\":\"Settles the fee\"},\"settlesOnHook(uint8)\":{\"notice\":\"Gets whether the fee settles and requires GAV on a particular hook\"},\"update(address,address,uint8,bytes,uint256)\":{\"notice\":\"Update fee state after all settlement has occurred during a given fee hook\"},\"updatesOnHook(uint8)\":{\"notice\":\"Gets whether the fee updates and requires GAV on a particular hook\"}},\"notice\":\"Calculates a fee based on a rate to be charged to an investor upon exiting a fund\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/fee-manager/fees/utils/ExitRateFeeBase.sol\":\"ExitRateFeeBase\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/fee-manager/IFee.sol\":{\"keccak256\":\"0x38e3f324c67f3205e38197165586ea82ca226069902f34214bcde76cf905fcff\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c1fff656d1bdde3324421bc9e77cbfc4e80baf4e665f8713fdb65611b046f4b0\",\"dweb:/ipfs/QmVRFjNwmsVHdh4sp3DWdL74VWmhRhPZE5kDxJiuPL8Gu2\"]},\"contracts/release/extensions/fee-manager/IFeeManager.sol\":{\"keccak256\":\"0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22\",\"dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod\"]},\"contracts/release/extensions/fee-manager/fees/utils/ExitRateFeeBase.sol\":{\"keccak256\":\"0x5db95baa1ba9312cf22745331635831ac765913a661c69bfdd5b63010ba524f3\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d1aae0eb8b22a98647ec2950eb793f6f65f590e3d52fa04eb75a940086bad09d\",\"dweb:/ipfs/QmPHVpcgSqxsG4kBZzqqy7YYi2ao8QpNgBR6McpqAcmu8R\"]},\"contracts/release/extensions/fee-manager/fees/utils/FeeBase.sol\":{\"keccak256\":\"0x485c03e3088b6dc9828d2e895cce6856501448b4a2c71a0acae4e012bc644b14\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b63aef3cd20eb4dd585632c74619235ef1d5c3c2c52fd61f8802d0a50569b767\",\"dweb:/ipfs/QmSuTYChj2j8NnLYCg47feAJ5P9NheQpK46fG6fhmMtimA\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_feeManager", - "type": "address" - }, - { - "internalType": "enum IFeeManager.SettlementType", - "name": "_settlementType", - "type": "uint8" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "comptrollerProxy", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "inKindRate", - "type": "uint256", - "indexed": false - }, - { - "internalType": "uint256", - "name": "specificAssetsRate", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "FundSettingsAdded", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "comptrollerProxy", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "payer", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "sharesQuantity", - "type": "uint256", - "indexed": false - }, - { - "internalType": "bool", - "name": "forSpecificAssets", - "type": "bool", - "indexed": true - } - ], - "type": "event", - "name": "Settled", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "activateForFund" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_settingsData", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "addFundSettings" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getFeeManager", - "outputs": [ - { - "internalType": "address", - "name": "feeManager_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getInKindRateForFund", - "outputs": [ - { - "internalType": "uint256", - "name": "rate_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getRecipientForFund", - "outputs": [ - { - "internalType": "address", - "name": "recipient_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getSettlementType", - "outputs": [ - { - "internalType": "enum IFeeManager.SettlementType", - "name": "settlementType_", - "type": "uint8" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getSpecificAssetsRateForFund", - "outputs": [ - { - "internalType": "uint256", - "name": "rate_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "payout", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "enum IFeeManager.FeeHook", - "name": "", - "type": "uint8" - }, - { - "internalType": "bytes", - "name": "_settlementData", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "settle", - "outputs": [ - { - "internalType": "enum IFeeManager.SettlementType", - "name": "settlementType_", - "type": "uint8" - }, - { - "internalType": "address", - "name": "payer_", - "type": "address" - }, - { - "internalType": "uint256", - "name": "sharesDue_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "enum IFeeManager.FeeHook", - "name": "_hook", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function", - "name": "settlesOnHook", - "outputs": [ - { - "internalType": "bool", - "name": "settles_", - "type": "bool" - }, - { - "internalType": "bool", - "name": "usesGav_", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "enum IFeeManager.FeeHook", - "name": "", - "type": "uint8" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "update" - }, - { - "inputs": [ - { - "internalType": "enum IFeeManager.FeeHook", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function", - "name": "updatesOnHook", - "outputs": [ - { - "internalType": "bool", - "name": "updates_", - "type": "bool" - }, - { - "internalType": "bool", - "name": "usesGav_", - "type": "bool" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "activateForFund(address,address)": { - "details": "Unimplemented by default, may be overrode." - }, - "addFundSettings(address,bytes)": { - "params": { - "_comptrollerProxy": "The ComptrollerProxy of the fund", - "_settingsData": "Encoded settings to apply to the fee for a fund" - } - }, - "getFeeManager()": { - "returns": { - "feeManager_": "The `FEE_MANAGER` variable value" - } - }, - "getInKindRateForFund(address)": { - "params": { - "_comptrollerProxy": "The ComptrollerProxy contract for the fund" - }, - "returns": { - "rate_": "The fee rate" - } - }, - "getRecipientForFund(address)": { - "details": "address(0) signifies the VaultProxy owner. Returns address(0) by default, can be overridden by fee." - }, - "getSettlementType()": { - "returns": { - "settlementType_": "The `SETTLEMENT_TYPE` variable value" - } - }, - "getSpecificAssetsRateForFund(address)": { - "params": { - "_comptrollerProxy": "The ComptrollerProxy contract for the fund" - }, - "returns": { - "rate_": "The fee rate" - } - }, - "payout(address,address)": { - "details": "Returns false by default, can be overridden by fee" - }, - "settle(address,address,uint8,bytes,uint256)": { - "params": { - "_comptrollerProxy": "The ComptrollerProxy of the fund", - "_settlementData": "Encoded args to use in calculating the settlement" - }, - "returns": { - "payer_": "The payer of shares due", - "settlementType_": "The type of settlement", - "sharesDue_": "The amount of shares due" - } - }, - "settlesOnHook(uint8)": { - "params": { - "_hook": "The FeeHook" - }, - "returns": { - "settles_": "True if the fee settles on the _hook", - "usesGav_": "True if the fee uses GAV during settle() for the _hook" - } - }, - "update(address,address,uint8,bytes,uint256)": { - "details": "Unimplemented by default, can be overridden by fee" - }, - "updatesOnHook(uint8)": { - "details": "Returns false values by default, can be overridden by fee", - "returns": { - "updates_": "True if the fee updates on the _hook", - "usesGav_": "True if the fee uses GAV during update() for the _hook" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "activateForFund(address,address)": { - "notice": "Allows Fee to run logic during fund activation" - }, - "addFundSettings(address,bytes)": { - "notice": "Add the initial fee settings for a fund" - }, - "getFeeManager()": { - "notice": "Gets the `FEE_MANAGER` variable" - }, - "getInKindRateForFund(address)": { - "notice": "Gets the fee rate for an in-kind redemption" - }, - "getRecipientForFund(address)": { - "notice": "Gets the recipient of the fee for a given fund" - }, - "getSettlementType()": { - "notice": "Gets the `SETTLEMENT_TYPE` variable" - }, - "getSpecificAssetsRateForFund(address)": { - "notice": "Gets the fee rate for a specific assets redemption" - }, - "payout(address,address)": { - "notice": "Runs payout logic for a fee that utilizes shares outstanding as its settlement type" - }, - "settle(address,address,uint8,bytes,uint256)": { - "notice": "Settles the fee" - }, - "settlesOnHook(uint8)": { - "notice": "Gets whether the fee settles and requires GAV on a particular hook" - }, - "update(address,address,uint8,bytes,uint256)": { - "notice": "Update fee state after all settlement has occurred during a given fee hook" - }, - "updatesOnHook(uint8)": { - "notice": "Gets whether the fee updates and requires GAV on a particular hook" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/fee-manager/fees/utils/ExitRateFeeBase.sol": "ExitRateFeeBase" - }, - "libraries": {} - }, - "sources": { - "contracts/release/extensions/fee-manager/IFee.sol": { - "keccak256": "0x38e3f324c67f3205e38197165586ea82ca226069902f34214bcde76cf905fcff", - "urls": [ - "bzz-raw://c1fff656d1bdde3324421bc9e77cbfc4e80baf4e665f8713fdb65611b046f4b0", - "dweb:/ipfs/QmVRFjNwmsVHdh4sp3DWdL74VWmhRhPZE5kDxJiuPL8Gu2" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/fee-manager/IFeeManager.sol": { - "keccak256": "0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51", - "urls": [ - "bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22", - "dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/fee-manager/fees/utils/ExitRateFeeBase.sol": { - "keccak256": "0x5db95baa1ba9312cf22745331635831ac765913a661c69bfdd5b63010ba524f3", - "urls": [ - "bzz-raw://d1aae0eb8b22a98647ec2950eb793f6f65f590e3d52fa04eb75a940086bad09d", - "dweb:/ipfs/QmPHVpcgSqxsG4kBZzqqy7YYi2ao8QpNgBR6McpqAcmu8R" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/fee-manager/fees/utils/FeeBase.sol": { - "keccak256": "0x485c03e3088b6dc9828d2e895cce6856501448b4a2c71a0acae4e012bc644b14", - "urls": [ - "bzz-raw://b63aef3cd20eb4dd585632c74619235ef1d5c3c2c52fd61f8802d0a50569b767", - "dweb:/ipfs/QmSuTYChj2j8NnLYCg47feAJ5P9NheQpK46fG6fhmMtimA" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 153 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_feeManager", "type": "address", "internalType": "address" }, { "name": "_settlementType", "type": "uint8", "internalType": "enum IFeeManager.SettlementType" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "activateForFund", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "addFundSettings", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" }, { "name": "_settingsData", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "getFeeManager", "inputs": [], "outputs": [ { "name": "feeManager_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getInKindRateForFund", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "rate_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "getRecipientForFund", "inputs": [ { "name": "", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "recipient_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getSettlementType", "inputs": [], "outputs": [ { "name": "settlementType_", "type": "uint8", "internalType": "enum IFeeManager.SettlementType" } ], "stateMutability": "view" }, { "type": "function", "name": "getSpecificAssetsRateForFund", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "rate_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "payout", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "settle", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" }, { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "uint8", "internalType": "enum IFeeManager.FeeHook" }, { "name": "_settlementData", "type": "bytes", "internalType": "bytes" }, { "name": "", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "settlementType_", "type": "uint8", "internalType": "enum IFeeManager.SettlementType" }, { "name": "payer_", "type": "address", "internalType": "address" }, { "name": "sharesDue_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "settlesOnHook", "inputs": [ { "name": "_hook", "type": "uint8", "internalType": "enum IFeeManager.FeeHook" } ], "outputs": [ { "name": "settles_", "type": "bool", "internalType": "bool" }, { "name": "usesGav_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "update", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "uint8", "internalType": "enum IFeeManager.FeeHook" }, { "name": "", "type": "bytes", "internalType": "bytes" }, { "name": "", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "updatesOnHook", "inputs": [ { "name": "", "type": "uint8", "internalType": "enum IFeeManager.FeeHook" } ], "outputs": [ { "name": "updates_", "type": "bool", "internalType": "bool" }, { "name": "usesGav_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "event", "name": "FundSettingsAdded", "inputs": [ { "name": "comptrollerProxy", "type": "address", "indexed": true, "internalType": "address" }, { "name": "inKindRate", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "specificAssetsRate", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "Settled", "inputs": [ { "name": "comptrollerProxy", "type": "address", "indexed": true, "internalType": "address" }, { "name": "payer", "type": "address", "indexed": true, "internalType": "address" }, { "name": "sharesQuantity", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "forSpecificAssets", "type": "bool", "indexed": true, "internalType": "bool" } ], "anonymous": false } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "activateForFund(address,address)": "3146d058", "addFundSettings(address,bytes)": "0f5f6b4f", "getFeeManager()": "f2d63826", "getInKindRateForFund(address)": "223e6505", "getRecipientForFund(address)": "62780b3c", "getSettlementType()": "7bdd5b1d", "getSpecificAssetsRateForFund(address)": "a8a0fa7d", "payout(address,address)": "b78b4813", "settle(address,address,uint8,bytes,uint256)": "41892d7e", "settlesOnHook(uint8)": "320f0ddd", "update(address,address,uint8,bytes,uint256)": "233faf5f", "updatesOnHook(uint8)": "e337a91f" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_feeManager\",\"type\":\"address\"},{\"internalType\":\"enum IFeeManager.SettlementType\",\"name\":\"_settlementType\",\"type\":\"uint8\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"inKindRate\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"specificAssetsRate\",\"type\":\"uint256\"}],\"name\":\"FundSettingsAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"payer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"sharesQuantity\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"bool\",\"name\":\"forSpecificAssets\",\"type\":\"bool\"}],\"name\":\"Settled\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"activateForFund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_settingsData\",\"type\":\"bytes\"}],\"name\":\"addFundSettings\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFeeManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"feeManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"}],\"name\":\"getInKindRateForFund\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"rate_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"getRecipientForFund\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"recipient_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getSettlementType\",\"outputs\":[{\"internalType\":\"enum IFeeManager.SettlementType\",\"name\":\"settlementType_\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"}],\"name\":\"getSpecificAssetsRateForFund\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"rate_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"payout\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"enum IFeeManager.FeeHook\",\"name\":\"\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"_settlementData\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"settle\",\"outputs\":[{\"internalType\":\"enum IFeeManager.SettlementType\",\"name\":\"settlementType_\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"payer_\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"sharesDue_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IFeeManager.FeeHook\",\"name\":\"_hook\",\"type\":\"uint8\"}],\"name\":\"settlesOnHook\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"settles_\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"usesGav_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"enum IFeeManager.FeeHook\",\"name\":\"\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"update\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IFeeManager.FeeHook\",\"name\":\"\",\"type\":\"uint8\"}],\"name\":\"updatesOnHook\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"updates_\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"usesGav_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"activateForFund(address,address)\":{\"details\":\"Unimplemented by default, may be overrode.\"},\"addFundSettings(address,bytes)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\",\"_settingsData\":\"Encoded settings to apply to the fee for a fund\"}},\"getFeeManager()\":{\"returns\":{\"feeManager_\":\"The `FEE_MANAGER` variable value\"}},\"getInKindRateForFund(address)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy contract for the fund\"},\"returns\":{\"rate_\":\"The fee rate\"}},\"getRecipientForFund(address)\":{\"details\":\"address(0) signifies the VaultProxy owner. Returns address(0) by default, can be overridden by fee.\"},\"getSettlementType()\":{\"returns\":{\"settlementType_\":\"The `SETTLEMENT_TYPE` variable value\"}},\"getSpecificAssetsRateForFund(address)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy contract for the fund\"},\"returns\":{\"rate_\":\"The fee rate\"}},\"payout(address,address)\":{\"details\":\"Returns false by default, can be overridden by fee\"},\"settle(address,address,uint8,bytes,uint256)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\",\"_settlementData\":\"Encoded args to use in calculating the settlement\"},\"returns\":{\"payer_\":\"The payer of shares due\",\"settlementType_\":\"The type of settlement\",\"sharesDue_\":\"The amount of shares due\"}},\"settlesOnHook(uint8)\":{\"params\":{\"_hook\":\"The FeeHook\"},\"returns\":{\"settles_\":\"True if the fee settles on the _hook\",\"usesGav_\":\"True if the fee uses GAV during settle() for the _hook\"}},\"update(address,address,uint8,bytes,uint256)\":{\"details\":\"Unimplemented by default, can be overridden by fee\"},\"updatesOnHook(uint8)\":{\"details\":\"Returns false values by default, can be overridden by fee\",\"returns\":{\"updates_\":\"True if the fee updates on the _hook\",\"usesGav_\":\"True if the fee uses GAV during update() for the _hook\"}}},\"title\":\"ExitRateFeeBase Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"activateForFund(address,address)\":{\"notice\":\"Allows Fee to run logic during fund activation\"},\"addFundSettings(address,bytes)\":{\"notice\":\"Add the initial fee settings for a fund\"},\"getFeeManager()\":{\"notice\":\"Gets the `FEE_MANAGER` variable\"},\"getInKindRateForFund(address)\":{\"notice\":\"Gets the fee rate for an in-kind redemption\"},\"getRecipientForFund(address)\":{\"notice\":\"Gets the recipient of the fee for a given fund\"},\"getSettlementType()\":{\"notice\":\"Gets the `SETTLEMENT_TYPE` variable\"},\"getSpecificAssetsRateForFund(address)\":{\"notice\":\"Gets the fee rate for a specific assets redemption\"},\"payout(address,address)\":{\"notice\":\"Runs payout logic for a fee that utilizes shares outstanding as its settlement type\"},\"settle(address,address,uint8,bytes,uint256)\":{\"notice\":\"Settles the fee\"},\"settlesOnHook(uint8)\":{\"notice\":\"Gets whether the fee settles and requires GAV on a particular hook\"},\"update(address,address,uint8,bytes,uint256)\":{\"notice\":\"Update fee state after all settlement has occurred during a given fee hook\"},\"updatesOnHook(uint8)\":{\"notice\":\"Gets whether the fee updates and requires GAV on a particular hook\"}},\"notice\":\"Calculates a fee based on a rate to be charged to an investor upon exiting a fund\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/fee-manager/fees/utils/ExitRateFeeBase.sol\":\"ExitRateFeeBase\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/fee-manager/IFee.sol\":{\"keccak256\":\"0x38e3f324c67f3205e38197165586ea82ca226069902f34214bcde76cf905fcff\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c1fff656d1bdde3324421bc9e77cbfc4e80baf4e665f8713fdb65611b046f4b0\",\"dweb:/ipfs/QmVRFjNwmsVHdh4sp3DWdL74VWmhRhPZE5kDxJiuPL8Gu2\"]},\"contracts/release/extensions/fee-manager/IFeeManager.sol\":{\"keccak256\":\"0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22\",\"dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod\"]},\"contracts/release/extensions/fee-manager/fees/utils/ExitRateFeeBase.sol\":{\"keccak256\":\"0x5db95baa1ba9312cf22745331635831ac765913a661c69bfdd5b63010ba524f3\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d1aae0eb8b22a98647ec2950eb793f6f65f590e3d52fa04eb75a940086bad09d\",\"dweb:/ipfs/QmPHVpcgSqxsG4kBZzqqy7YYi2ao8QpNgBR6McpqAcmu8R\"]},\"contracts/release/extensions/fee-manager/fees/utils/FeeBase.sol\":{\"keccak256\":\"0x485c03e3088b6dc9828d2e895cce6856501448b4a2c71a0acae4e012bc644b14\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b63aef3cd20eb4dd585632c74619235ef1d5c3c2c52fd61f8802d0a50569b767\",\"dweb:/ipfs/QmSuTYChj2j8NnLYCg47feAJ5P9NheQpK46fG6fhmMtimA\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_feeManager", "type": "address" }, { "internalType": "enum IFeeManager.SettlementType", "name": "_settlementType", "type": "uint8" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "comptrollerProxy", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "inKindRate", "type": "uint256", "indexed": false }, { "internalType": "uint256", "name": "specificAssetsRate", "type": "uint256", "indexed": false } ], "type": "event", "name": "FundSettingsAdded", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "comptrollerProxy", "type": "address", "indexed": true }, { "internalType": "address", "name": "payer", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "sharesQuantity", "type": "uint256", "indexed": false }, { "internalType": "bool", "name": "forSpecificAssets", "type": "bool", "indexed": true } ], "type": "event", "name": "Settled", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "activateForFund" }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" }, { "internalType": "bytes", "name": "_settingsData", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "addFundSettings" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getFeeManager", "outputs": [ { "internalType": "address", "name": "feeManager_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getInKindRateForFund", "outputs": [ { "internalType": "uint256", "name": "rate_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getRecipientForFund", "outputs": [ { "internalType": "address", "name": "recipient_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getSettlementType", "outputs": [ { "internalType": "enum IFeeManager.SettlementType", "name": "settlementType_", "type": "uint8" } ] }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getSpecificAssetsRateForFund", "outputs": [ { "internalType": "uint256", "name": "rate_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "payout", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" }, { "internalType": "address", "name": "", "type": "address" }, { "internalType": "enum IFeeManager.FeeHook", "name": "", "type": "uint8" }, { "internalType": "bytes", "name": "_settlementData", "type": "bytes" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "settle", "outputs": [ { "internalType": "enum IFeeManager.SettlementType", "name": "settlementType_", "type": "uint8" }, { "internalType": "address", "name": "payer_", "type": "address" }, { "internalType": "uint256", "name": "sharesDue_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "enum IFeeManager.FeeHook", "name": "_hook", "type": "uint8" } ], "stateMutability": "view", "type": "function", "name": "settlesOnHook", "outputs": [ { "internalType": "bool", "name": "settles_", "type": "bool" }, { "internalType": "bool", "name": "usesGav_", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "address", "name": "", "type": "address" }, { "internalType": "enum IFeeManager.FeeHook", "name": "", "type": "uint8" }, { "internalType": "bytes", "name": "", "type": "bytes" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "update" }, { "inputs": [ { "internalType": "enum IFeeManager.FeeHook", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function", "name": "updatesOnHook", "outputs": [ { "internalType": "bool", "name": "updates_", "type": "bool" }, { "internalType": "bool", "name": "usesGav_", "type": "bool" } ] } ], "devdoc": { "kind": "dev", "methods": { "activateForFund(address,address)": { "details": "Unimplemented by default, may be overrode." }, "addFundSettings(address,bytes)": { "params": { "_comptrollerProxy": "The ComptrollerProxy of the fund", "_settingsData": "Encoded settings to apply to the fee for a fund" } }, "getFeeManager()": { "returns": { "feeManager_": "The `FEE_MANAGER` variable value" } }, "getInKindRateForFund(address)": { "params": { "_comptrollerProxy": "The ComptrollerProxy contract for the fund" }, "returns": { "rate_": "The fee rate" } }, "getRecipientForFund(address)": { "details": "address(0) signifies the VaultProxy owner. Returns address(0) by default, can be overridden by fee." }, "getSettlementType()": { "returns": { "settlementType_": "The `SETTLEMENT_TYPE` variable value" } }, "getSpecificAssetsRateForFund(address)": { "params": { "_comptrollerProxy": "The ComptrollerProxy contract for the fund" }, "returns": { "rate_": "The fee rate" } }, "payout(address,address)": { "details": "Returns false by default, can be overridden by fee" }, "settle(address,address,uint8,bytes,uint256)": { "params": { "_comptrollerProxy": "The ComptrollerProxy of the fund", "_settlementData": "Encoded args to use in calculating the settlement" }, "returns": { "payer_": "The payer of shares due", "settlementType_": "The type of settlement", "sharesDue_": "The amount of shares due" } }, "settlesOnHook(uint8)": { "params": { "_hook": "The FeeHook" }, "returns": { "settles_": "True if the fee settles on the _hook", "usesGav_": "True if the fee uses GAV during settle() for the _hook" } }, "update(address,address,uint8,bytes,uint256)": { "details": "Unimplemented by default, can be overridden by fee" }, "updatesOnHook(uint8)": { "details": "Returns false values by default, can be overridden by fee", "returns": { "updates_": "True if the fee updates on the _hook", "usesGav_": "True if the fee uses GAV during update() for the _hook" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "activateForFund(address,address)": { "notice": "Allows Fee to run logic during fund activation" }, "addFundSettings(address,bytes)": { "notice": "Add the initial fee settings for a fund" }, "getFeeManager()": { "notice": "Gets the `FEE_MANAGER` variable" }, "getInKindRateForFund(address)": { "notice": "Gets the fee rate for an in-kind redemption" }, "getRecipientForFund(address)": { "notice": "Gets the recipient of the fee for a given fund" }, "getSettlementType()": { "notice": "Gets the `SETTLEMENT_TYPE` variable" }, "getSpecificAssetsRateForFund(address)": { "notice": "Gets the fee rate for a specific assets redemption" }, "payout(address,address)": { "notice": "Runs payout logic for a fee that utilizes shares outstanding as its settlement type" }, "settle(address,address,uint8,bytes,uint256)": { "notice": "Settles the fee" }, "settlesOnHook(uint8)": { "notice": "Gets whether the fee settles and requires GAV on a particular hook" }, "update(address,address,uint8,bytes,uint256)": { "notice": "Update fee state after all settlement has occurred during a given fee hook" }, "updatesOnHook(uint8)": { "notice": "Gets whether the fee updates and requires GAV on a particular hook" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/fee-manager/fees/utils/ExitRateFeeBase.sol": "ExitRateFeeBase" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/extensions/fee-manager/IFee.sol": { "keccak256": "0x38e3f324c67f3205e38197165586ea82ca226069902f34214bcde76cf905fcff", "urls": [ "bzz-raw://c1fff656d1bdde3324421bc9e77cbfc4e80baf4e665f8713fdb65611b046f4b0", "dweb:/ipfs/QmVRFjNwmsVHdh4sp3DWdL74VWmhRhPZE5kDxJiuPL8Gu2" ], "license": "GPL-3.0" }, "contracts/release/extensions/fee-manager/IFeeManager.sol": { "keccak256": "0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51", "urls": [ "bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22", "dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod" ], "license": "GPL-3.0" }, "contracts/release/extensions/fee-manager/fees/utils/ExitRateFeeBase.sol": { "keccak256": "0x5db95baa1ba9312cf22745331635831ac765913a661c69bfdd5b63010ba524f3", "urls": [ "bzz-raw://d1aae0eb8b22a98647ec2950eb793f6f65f590e3d52fa04eb75a940086bad09d", "dweb:/ipfs/QmPHVpcgSqxsG4kBZzqqy7YYi2ao8QpNgBR6McpqAcmu8R" ], "license": "GPL-3.0" }, "contracts/release/extensions/fee-manager/fees/utils/FeeBase.sol": { "keccak256": "0x485c03e3088b6dc9828d2e895cce6856501448b4a2c71a0acae4e012bc644b14", "urls": [ "bzz-raw://b63aef3cd20eb4dd585632c74619235ef1d5c3c2c52fd61f8802d0a50569b767", "dweb:/ipfs/QmSuTYChj2j8NnLYCg47feAJ5P9NheQpK46fG6fhmMtimA" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" } }, "version": 1 }, "id": 153 } diff --git a/eth_defi/abi/enzyme/ExtensionBase.json b/eth_defi/abi/enzyme/ExtensionBase.json index 1b1ec100..80a94c08 100644 --- a/eth_defi/abi/enzyme/ExtensionBase.json +++ b/eth_defi/abi/enzyme/ExtensionBase.json @@ -1,444 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_fundDeployer", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "comptrollerProxy", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "vaultProxy", - "type": "address" - } - ], - "name": "ValidatedVaultProxySetForFund", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "name": "activateForFund", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "deactivateForFund", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getFundDeployer", - "outputs": [ - { - "internalType": "address", - "name": "fundDeployer_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "owner_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - } - ], - "name": "getVaultProxyForFund", - "outputs": [ - { - "internalType": "address", - "name": "vaultProxy_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "receiveCallFromComptroller", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "setConfigForFund", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "activateForFund(bool)": "80d57063", - "deactivateForFund()": "bd8e959a", - "getFundDeployer()": "97c0ac87", - "getOwner()": "893d20e8", - "getVaultProxyForFund(address)": "46790346", - "receiveCallFromComptroller(address,uint256,bytes)": "1bee801e", - "setConfigForFund(address,address,bytes)": "f067cc11" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_fundDeployer\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"vaultProxy\",\"type\":\"address\"}],\"name\":\"ValidatedVaultProxySetForFund\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"name\":\"activateForFund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"deactivateForFund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFundDeployer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"fundDeployer_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"}],\"name\":\"getVaultProxyForFund\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"vaultProxy_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"receiveCallFromComptroller\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"setConfigForFund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"activateForFund(bool)\":{\"details\":\"Unimplemented by default, may be overridden.\"},\"deactivateForFund()\":{\"details\":\"Unimplemented by default, may be overridden.\"},\"getFundDeployer()\":{\"returns\":{\"fundDeployer_\":\"The `FUND_DEPLOYER` variable value\"}},\"getOwner()\":{\"details\":\"Ownership is deferred to the owner of the FundDeployer contract\",\"returns\":{\"owner_\":\"The owner\"}},\"getVaultProxyForFund(address)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\"},\"returns\":{\"vaultProxy_\":\"The VaultProxy of the fund\"}},\"receiveCallFromComptroller(address,uint256,bytes)\":{\"details\":\"Unimplemented by default, may be overridden.\"},\"setConfigForFund(address,address,bytes)\":{\"details\":\"Unimplemented by default, may be overridden.\"}},\"title\":\"ExtensionBase Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"activateForFund(bool)\":{\"notice\":\"Allows extension to run logic during fund activation\"},\"deactivateForFund()\":{\"notice\":\"Allows extension to run logic during fund deactivation (destruct)\"},\"getFundDeployer()\":{\"notice\":\"Gets the `FUND_DEPLOYER` variable\"},\"getOwner()\":{\"notice\":\"Gets the owner of this contract\"},\"getVaultProxyForFund(address)\":{\"notice\":\"Gets the verified VaultProxy for a given ComptrollerProxy\"},\"receiveCallFromComptroller(address,uint256,bytes)\":{\"notice\":\"Receives calls from ComptrollerLib.callOnExtension() and dispatches the appropriate action\"},\"setConfigForFund(address,address,bytes)\":{\"notice\":\"Allows extension to run logic during fund configuration\"}},\"notice\":\"Base class for an extension\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/utils/ExtensionBase.sol\":\"ExtensionBase\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/extensions/IExtension.sol\":{\"keccak256\":\"0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70\",\"dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t\"]},\"contracts/release/extensions/utils/ExtensionBase.sol\":{\"keccak256\":\"0xae68767766f6459bd2cd9dbd39df74f2c2f68f2150885bbce410e4091c807bb1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ce4c49522a39f618cc76feb474260fe910949f38e83b5f4518f1f245ba6eb876\",\"dweb:/ipfs/QmZ4wciRpziZAS4HRQy44Sgzm4GM4Wzme9zYnABzR6Cbzo\"]},\"contracts/release/utils/FundDeployerOwnerMixin.sol\":{\"keccak256\":\"0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927\",\"dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_fundDeployer", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "comptrollerProxy", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "vaultProxy", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "ValidatedVaultProxySetForFund", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "activateForFund" - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "deactivateForFund" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getFundDeployer", - "outputs": [ - { - "internalType": "address", - "name": "fundDeployer_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "owner_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getVaultProxyForFund", - "outputs": [ - { - "internalType": "address", - "name": "vaultProxy_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "receiveCallFromComptroller" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setConfigForFund" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "activateForFund(bool)": { - "details": "Unimplemented by default, may be overridden." - }, - "deactivateForFund()": { - "details": "Unimplemented by default, may be overridden." - }, - "getFundDeployer()": { - "returns": { - "fundDeployer_": "The `FUND_DEPLOYER` variable value" - } - }, - "getOwner()": { - "details": "Ownership is deferred to the owner of the FundDeployer contract", - "returns": { - "owner_": "The owner" - } - }, - "getVaultProxyForFund(address)": { - "params": { - "_comptrollerProxy": "The ComptrollerProxy of the fund" - }, - "returns": { - "vaultProxy_": "The VaultProxy of the fund" - } - }, - "receiveCallFromComptroller(address,uint256,bytes)": { - "details": "Unimplemented by default, may be overridden." - }, - "setConfigForFund(address,address,bytes)": { - "details": "Unimplemented by default, may be overridden." - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "activateForFund(bool)": { - "notice": "Allows extension to run logic during fund activation" - }, - "deactivateForFund()": { - "notice": "Allows extension to run logic during fund deactivation (destruct)" - }, - "getFundDeployer()": { - "notice": "Gets the `FUND_DEPLOYER` variable" - }, - "getOwner()": { - "notice": "Gets the owner of this contract" - }, - "getVaultProxyForFund(address)": { - "notice": "Gets the verified VaultProxy for a given ComptrollerProxy" - }, - "receiveCallFromComptroller(address,uint256,bytes)": { - "notice": "Receives calls from ComptrollerLib.callOnExtension() and dispatches the appropriate action" - }, - "setConfigForFund(address,address,bytes)": { - "notice": "Allows extension to run logic during fund configuration" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/utils/ExtensionBase.sol": "ExtensionBase" - }, - "libraries": {} - }, - "sources": { - "contracts/release/core/fund-deployer/IFundDeployer.sol": { - "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", - "urls": [ - "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", - "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/IExtension.sol": { - "keccak256": "0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b", - "urls": [ - "bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70", - "dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/utils/ExtensionBase.sol": { - "keccak256": "0xae68767766f6459bd2cd9dbd39df74f2c2f68f2150885bbce410e4091c807bb1", - "urls": [ - "bzz-raw://ce4c49522a39f618cc76feb474260fe910949f38e83b5f4518f1f245ba6eb876", - "dweb:/ipfs/QmZ4wciRpziZAS4HRQy44Sgzm4GM4Wzme9zYnABzR6Cbzo" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/FundDeployerOwnerMixin.sol": { - "keccak256": "0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934", - "urls": [ - "bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927", - "dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 226 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_fundDeployer", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "activateForFund", "inputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "deactivateForFund", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "getFundDeployer", "inputs": [], "outputs": [ { "name": "fundDeployer_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getOwner", "inputs": [], "outputs": [ { "name": "owner_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getVaultProxyForFund", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "vaultProxy_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "receiveCallFromComptroller", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setConfigForFund", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "event", "name": "ValidatedVaultProxySetForFund", "inputs": [ { "name": "comptrollerProxy", "type": "address", "indexed": true, "internalType": "address" }, { "name": "vaultProxy", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "activateForFund(bool)": "80d57063", "deactivateForFund()": "bd8e959a", "getFundDeployer()": "97c0ac87", "getOwner()": "893d20e8", "getVaultProxyForFund(address)": "46790346", "receiveCallFromComptroller(address,uint256,bytes)": "1bee801e", "setConfigForFund(address,address,bytes)": "f067cc11" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_fundDeployer\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"vaultProxy\",\"type\":\"address\"}],\"name\":\"ValidatedVaultProxySetForFund\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"name\":\"activateForFund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"deactivateForFund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFundDeployer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"fundDeployer_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"}],\"name\":\"getVaultProxyForFund\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"vaultProxy_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"receiveCallFromComptroller\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"setConfigForFund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"activateForFund(bool)\":{\"details\":\"Unimplemented by default, may be overridden.\"},\"deactivateForFund()\":{\"details\":\"Unimplemented by default, may be overridden.\"},\"getFundDeployer()\":{\"returns\":{\"fundDeployer_\":\"The `FUND_DEPLOYER` variable value\"}},\"getOwner()\":{\"details\":\"Ownership is deferred to the owner of the FundDeployer contract\",\"returns\":{\"owner_\":\"The owner\"}},\"getVaultProxyForFund(address)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\"},\"returns\":{\"vaultProxy_\":\"The VaultProxy of the fund\"}},\"receiveCallFromComptroller(address,uint256,bytes)\":{\"details\":\"Unimplemented by default, may be overridden.\"},\"setConfigForFund(address,address,bytes)\":{\"details\":\"Unimplemented by default, may be overridden.\"}},\"title\":\"ExtensionBase Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"activateForFund(bool)\":{\"notice\":\"Allows extension to run logic during fund activation\"},\"deactivateForFund()\":{\"notice\":\"Allows extension to run logic during fund deactivation (destruct)\"},\"getFundDeployer()\":{\"notice\":\"Gets the `FUND_DEPLOYER` variable\"},\"getOwner()\":{\"notice\":\"Gets the owner of this contract\"},\"getVaultProxyForFund(address)\":{\"notice\":\"Gets the verified VaultProxy for a given ComptrollerProxy\"},\"receiveCallFromComptroller(address,uint256,bytes)\":{\"notice\":\"Receives calls from ComptrollerLib.callOnExtension() and dispatches the appropriate action\"},\"setConfigForFund(address,address,bytes)\":{\"notice\":\"Allows extension to run logic during fund configuration\"}},\"notice\":\"Base class for an extension\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/utils/ExtensionBase.sol\":\"ExtensionBase\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/extensions/IExtension.sol\":{\"keccak256\":\"0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70\",\"dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t\"]},\"contracts/release/extensions/utils/ExtensionBase.sol\":{\"keccak256\":\"0xae68767766f6459bd2cd9dbd39df74f2c2f68f2150885bbce410e4091c807bb1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ce4c49522a39f618cc76feb474260fe910949f38e83b5f4518f1f245ba6eb876\",\"dweb:/ipfs/QmZ4wciRpziZAS4HRQy44Sgzm4GM4Wzme9zYnABzR6Cbzo\"]},\"contracts/release/utils/FundDeployerOwnerMixin.sol\":{\"keccak256\":\"0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927\",\"dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_fundDeployer", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "comptrollerProxy", "type": "address", "indexed": true }, { "internalType": "address", "name": "vaultProxy", "type": "address", "indexed": true } ], "type": "event", "name": "ValidatedVaultProxySetForFund", "anonymous": false }, { "inputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function", "name": "activateForFund" }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "deactivateForFund" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getFundDeployer", "outputs": [ { "internalType": "address", "name": "fundDeployer_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getOwner", "outputs": [ { "internalType": "address", "name": "owner_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getVaultProxyForFund", "outputs": [ { "internalType": "address", "name": "vaultProxy_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "receiveCallFromComptroller" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "address", "name": "", "type": "address" }, { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "setConfigForFund" } ], "devdoc": { "kind": "dev", "methods": { "activateForFund(bool)": { "details": "Unimplemented by default, may be overridden." }, "deactivateForFund()": { "details": "Unimplemented by default, may be overridden." }, "getFundDeployer()": { "returns": { "fundDeployer_": "The `FUND_DEPLOYER` variable value" } }, "getOwner()": { "details": "Ownership is deferred to the owner of the FundDeployer contract", "returns": { "owner_": "The owner" } }, "getVaultProxyForFund(address)": { "params": { "_comptrollerProxy": "The ComptrollerProxy of the fund" }, "returns": { "vaultProxy_": "The VaultProxy of the fund" } }, "receiveCallFromComptroller(address,uint256,bytes)": { "details": "Unimplemented by default, may be overridden." }, "setConfigForFund(address,address,bytes)": { "details": "Unimplemented by default, may be overridden." } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "activateForFund(bool)": { "notice": "Allows extension to run logic during fund activation" }, "deactivateForFund()": { "notice": "Allows extension to run logic during fund deactivation (destruct)" }, "getFundDeployer()": { "notice": "Gets the `FUND_DEPLOYER` variable" }, "getOwner()": { "notice": "Gets the owner of this contract" }, "getVaultProxyForFund(address)": { "notice": "Gets the verified VaultProxy for a given ComptrollerProxy" }, "receiveCallFromComptroller(address,uint256,bytes)": { "notice": "Receives calls from ComptrollerLib.callOnExtension() and dispatches the appropriate action" }, "setConfigForFund(address,address,bytes)": { "notice": "Allows extension to run logic during fund configuration" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/utils/ExtensionBase.sol": "ExtensionBase" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/core/fund-deployer/IFundDeployer.sol": { "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", "urls": [ "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" ], "license": "GPL-3.0" }, "contracts/release/extensions/IExtension.sol": { "keccak256": "0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b", "urls": [ "bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70", "dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t" ], "license": "GPL-3.0" }, "contracts/release/extensions/utils/ExtensionBase.sol": { "keccak256": "0xae68767766f6459bd2cd9dbd39df74f2c2f68f2150885bbce410e4091c807bb1", "urls": [ "bzz-raw://ce4c49522a39f618cc76feb474260fe910949f38e83b5f4518f1f245ba6eb876", "dweb:/ipfs/QmZ4wciRpziZAS4HRQy44Sgzm4GM4Wzme9zYnABzR6Cbzo" ], "license": "GPL-3.0" }, "contracts/release/utils/FundDeployerOwnerMixin.sol": { "keccak256": "0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934", "urls": [ "bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927", "dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 226 } diff --git a/eth_defi/abi/enzyme/ExternalPositionFactory.json b/eth_defi/abi/enzyme/ExternalPositionFactory.json index f9fde755..54a25e9a 100644 --- a/eth_defi/abi/enzyme/ExternalPositionFactory.json +++ b/eth_defi/abi/enzyme/ExternalPositionFactory.json @@ -1,790 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_dispatcher", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "vaultProxy", - "type": "address" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "typeId", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "address", - "name": "constructLib", - "type": "address" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "constructData", - "type": "bytes" - } - ], - "name": "PositionDeployed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "positionDeployer", - "type": "address" - } - ], - "name": "PositionDeployerAdded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "positionDeployer", - "type": "address" - } - ], - "name": "PositionDeployerRemoved", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "typeId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "string", - "name": "label", - "type": "string" - } - ], - "name": "PositionTypeAdded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint256", - "name": "typeId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "string", - "name": "label", - "type": "string" - } - ], - "name": "PositionTypeLabelUpdated", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "string[]", - "name": "_labels", - "type": "string[]" - } - ], - "name": "addNewPositionTypes", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_accounts", - "type": "address[]" - } - ], - "name": "addPositionDeployers", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_typeId", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_constructLib", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_constructData", - "type": "bytes" - } - ], - "name": "deploy", - "outputs": [ - { - "internalType": "address", - "name": "externalPositionProxy_", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getDispatcher", - "outputs": [ - { - "internalType": "address", - "name": "dispatcher_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_typeId", - "type": "uint256" - } - ], - "name": "getLabelForPositionType", - "outputs": [ - { - "internalType": "string", - "name": "label_", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getPositionTypeCounter", - "outputs": [ - { - "internalType": "uint256", - "name": "positionTypeCounter_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_account", - "type": "address" - } - ], - "name": "isExternalPositionProxy", - "outputs": [ - { - "internalType": "bool", - "name": "isExternalPositionProxy_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_account", - "type": "address" - } - ], - "name": "isPositionDeployer", - "outputs": [ - { - "internalType": "bool", - "name": "isPositionDeployer_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_accounts", - "type": "address[]" - } - ], - "name": "removePositionDeployers", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256[]", - "name": "_typeIds", - "type": "uint256[]" - }, - { - "internalType": "string[]", - "name": "_labels", - "type": "string[]" - } - ], - "name": "updatePositionTypeLabels", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x60a06040523480156200001157600080fd5b5060405162001b2738038062001b2783398101604081905262000034916200005d565b60601b6001600160601b031916608052620000b2565b8051620000578162000098565b92915050565b6000602082840312156200007057600080fd5b60006200007e84846200004a565b949350505050565b60006001600160a01b03821662000057565b620000a38162000086565b8114620000af57600080fd5b50565b60805160601c611a57620000d06000398061078e5250611a576000f3fe60806040523480156200001157600080fd5b5060043610620000ac5760003560e01c8063b678863b116200006f578063b678863b146200014f578063e976aa0e1462000166578063ebb3d589146200017d578063f908bc771462000196578063fdad10f214620001ad57620000ac565b80633825abe814620000b15780635869506714620000d35780635cf5f4f014620000f957806371b79dc114620001125780639b6832a51462000129575b600080fd5b620000bb620001c4565b604051620000ca91906200114f565b60405180910390f35b620000ea620000e436600462000c25565b620001ca565b604051620000ca9190620010b7565b620001106200010a36600462000cf2565b620001e8565b005b620000ea6200012336600462000c25565b6200039a565b620001406200013a36600462000de8565b620003b8565b604051620000ca9190620010c7565b620001106200016036600462000d71565b6200045c565b620001106200017736600462000d2b565b62000610565b620001876200078c565b604051620000ca91906200105b565b62000187620001a736600462000c6f565b620007b0565b62000110620001be36600462000cf2565b6200088d565b60005490565b6001600160a01b031660009081526003602052604090205460ff1690565b620001f26200078c565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b1580156200022b57600080fd5b505afa15801562000240573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000266919062000c4e565b6001600160a01b0316336001600160a01b031614620002a25760405162461bcd60e51b815260040162000299906200112b565b60405180910390fd5b60005b81518110156200039657620002ce828281518110620002c057fe5b6020026020010151620001ca565b15620002ee5760405162461bcd60e51b815260040162000299906200113d565b6001600360008484815181106200030157fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055507f4e2cddb881b704c83c6ade58337e3de618b1a567844cc023636b12f2593c92f58282815181106200036e57fe5b60200260200101516040516200038591906200105b565b60405180910390a1600101620002a5565b5050565b6001600160a01b031660009081526002602052604090205460ff1690565b60008181526001602081815260409283902080548451600294821615610100026000190190911693909304601f81018390048302840183019094528383526060939091830182828015620004505780601f10620004245761010080835404028352916020019162000450565b820191906000526020600020905b8154815290600101906020018083116200043257829003601f168201915b50505050509050919050565b620004666200078c565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b1580156200049f57600080fd5b505afa158015620004b4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004da919062000c4e565b6001600160a01b0316336001600160a01b0316146200050d5760405162461bcd60e51b815260040162000299906200112b565b8281146200052f5760405162461bcd60e51b8152600401620002999062001119565b60005b8381101562000609578282828181106200054857fe5b90506020028101906200055c91906200118d565b600160008888868181106200056d57fe5b90506020020135815260200190815260200160002091906200059192919062000a23565b508484828181106200059f57fe5b905060200201357ff2a237a53e7bb8b02a659a4a650726a021c70b7a95fb81df08497a61659a279a848484818110620005d457fe5b9050602002810190620005e891906200118d565b604051620005f8929190620010e1565b60405180910390a260010162000532565b5050505050565b6200061a6200078c565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b1580156200065357600080fd5b505afa15801562000668573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200068e919062000c4e565b6001600160a01b0316336001600160a01b031614620006c15760405162461bcd60e51b815260040162000299906200112b565b60005b8181101562000787576000620006d9620001c4565b6000805460010190559050838383818110620006f157fe5b90506020028101906200070591906200118d565b60008381526001602052604090206200072092909162000a23565b507fc43043ed6e970dd281081754f024483e889327202cc79ec3f4aa059535472133818585858181106200075057fe5b90506020028101906200076491906200118d565b60405162000775939291906200115f565b60405180910390a150600101620006c4565b505050565b7f000000000000000000000000000000000000000000000000000000000000000090565b6000620007bd33620001ca565b620007dc5760405162461bcd60e51b8152600401620002999062001107565b84848484604051620007ee9062000aa8565b620007fd94939291906200106b565b604051809103906000f0801580156200081a573d6000803e3d6000fd5b506001600160a01b0380821660009081526002602052604090819020805460ff19166001179055519192508481169186918816907f1b6bd29f1cd483c0ffcdab807b5fb7193c1ec1661c42cc1c9cba25f9c32efe92906200087d908790620010c7565b60405180910390a4949350505050565b620008976200078c565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b158015620008d057600080fd5b505afa158015620008e5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200090b919062000c4e565b6001600160a01b0316336001600160a01b0316146200093e5760405162461bcd60e51b815260040162000299906200112b565b60005b815181101562000396576200095c828281518110620002c057fe5b6200097b5760405162461bcd60e51b81526004016200029990620010f5565b6000600360008484815181106200098e57fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055507fa800cb2ff9f46268ead3d548d8466dfea9fcab8ff13867076c45be6e38ab97a6828281518110620009fb57fe5b602002602001015160405162000a1291906200105b565b60405180910390a160010162000941565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1062000a665782800160ff1982351617855562000a96565b8280016001018555821562000a96579182015b8281111562000a9657823582559160200191906001019062000a79565b5062000aa492915062000ab6565b5090565b61075580620012f683390190565b5b8082111562000aa4576000815560010162000ab7565b803562000ada81620012d0565b92915050565b805162000ada81620012d0565b600082601f83011262000aff57600080fd5b813562000b1662000b10826200120e565b620011e6565b9150818183526020840193506020810190508385602084028201111562000b3c57600080fd5b60005b8381101562000b6c578162000b55888262000acd565b845250602092830192919091019060010162000b3f565b5050505092915050565b60008083601f84011262000b8957600080fd5b50813567ffffffffffffffff81111562000ba257600080fd5b60208301915083602082028301111562000bbb57600080fd5b9250929050565b600082601f83011262000bd457600080fd5b813562000be562000b108262001230565b9150808252602083016020830185838301111562000c0257600080fd5b62000c0f83828462001287565b50505092915050565b803562000ada81620012ea565b60006020828403121562000c3857600080fd5b600062000c46848462000acd565b949350505050565b60006020828403121562000c6157600080fd5b600062000c46848462000ae0565b6000806000806080858703121562000c8657600080fd5b600062000c94878762000acd565b945050602062000ca78782880162000c18565b935050604062000cba8782880162000acd565b925050606085013567ffffffffffffffff81111562000cd857600080fd5b62000ce68782880162000bc2565b91505092959194509250565b60006020828403121562000d0557600080fd5b813567ffffffffffffffff81111562000d1d57600080fd5b62000c468482850162000aed565b6000806020838503121562000d3f57600080fd5b823567ffffffffffffffff81111562000d5757600080fd5b62000d658582860162000b76565b92509250509250929050565b6000806000806040858703121562000d8857600080fd5b843567ffffffffffffffff81111562000da057600080fd5b62000dae8782880162000b76565b9450945050602085013567ffffffffffffffff81111562000dce57600080fd5b62000ddc8782880162000b76565b95989497509550505050565b60006020828403121562000dfb57600080fd5b600062000c46848462000c18565b62000e148162001266565b82525050565b62000e148162001273565b600062000e328262001259565b62000e3e81856200125d565b935062000e5081856020860162001293565b62000e5b81620012c6565b9093019392505050565b600062000e7383856200125d565b935062000e8283858462001287565b62000e5b83620012c6565b600062000e9c603b836200125d565b7f72656d6f7665506f736974696f6e4465706c6f796572733a204163636f756e7481527f206973206e6f74206120706f736974696f6e206465706c6f7965720000000000602082015260400192915050565b600062000efd6037836200125d565b7f6465706c6f793a204f6e6c79206120706f736974696f6e206465706c6f79657281527f2063616e2063616c6c20746869732066756e6374696f6e000000000000000000602082015260400192915050565b600062000f5e6028836200125d565b7f757064617465506f736974696f6e547970654c6162656c733a20556e657175618152676c2061727261797360c01b602082015260400192915050565b600062000faa6030836200125d565b7f4f6e6c79207468652044697370617463686572206f776e65722063616e20636181526f3636103a3434b990333ab731ba34b7b760811b602082015260400192915050565b600062000ffe603c836200125d565b7f616464506f736974696f6e4465706c6f796572733a204163636f756e7420697381527f20616c7265616479206120706f736974696f6e206465706c6f79657200000000602082015260400192915050565b62000e148162001284565b6020810162000ada828462000e09565b608081016200107b828762000e09565b6200108a602083018662001050565b62001099604083018562000e09565b8181036060830152620010ad818462000e25565b9695505050505050565b6020810162000ada828462000e1a565b60208082528101620010da818462000e25565b9392505050565b6020808252810162000c4681848662000e65565b6020808252810162000ada8162000e8d565b6020808252810162000ada8162000eee565b6020808252810162000ada8162000f4f565b6020808252810162000ada8162000f9b565b6020808252810162000ada8162000fef565b6020810162000ada828462001050565b604081016200116f828662001050565b81810360208301526200118481848662000e65565b95945050505050565b6000808335601e1936859003018112620011a657600080fd5b80840192508235915067ffffffffffffffff821115620011c557600080fd5b602083019250600182023603831315620011de57600080fd5b509250929050565b60405181810167ffffffffffffffff811182821017156200120657600080fd5b604052919050565b600067ffffffffffffffff8211156200122657600080fd5b5060209081020190565b600067ffffffffffffffff8211156200124857600080fd5b506020601f91909101601f19160190565b5190565b90815260200190565b600062000ada8262001278565b151590565b6001600160a01b031690565b90565b82818337506000910152565b60005b83811015620012b057818101518382015260200162001296565b83811115620012c0576000848401525b50505050565b601f01601f191690565b620012db8162001266565b8114620012e757600080fd5b50565b620012db816200128456fe60c060405234801561001057600080fd5b506040516107553803806107558339818101604052608081101561003357600080fd5b81516020830151604080850151606086018051925194969395919493918201928464010000000082111561006657600080fd5b90830190602082018581111561007b57600080fd5b825164010000000081118282018810171561009557600080fd5b82525081516020918201929091019080838360005b838110156100c25781810151838201526020016100aa565b50505050905090810190601f1680156100ef5780820380516001836020036101000a031916815260200191505b50604052505050836001600160a01b031660a0816001600160a01b031660601b81525050826080818152505060006060836001600160a01b0316836040518082805190602001908083835b602083106101595780518252601f19909201916020918201910161013a565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d80600081146101b9576040519150601f19603f3d011682016040523d82523d6000602084013e6101be565b606091505b509150915081819061024e5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156102135781810151838201526020016101fb565b50505050905090810190601f1680156102405780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5050505050505060805160a05160601c6104da61027b600039806101c35250806101e752506104da6000f3fe6080604052600436106100385760003560e01c806312bc0a44146100ea578063c980918714610111578063e5c23a97146101425761003f565b3661003f57005b60006100496101c1565b6001600160a01b03166375d8bb0e61005f6101e5565b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561009357600080fd5b505afa1580156100a7573d6000803e3d6000fd5b505050506040513d60208110156100bd57600080fd5b505190503660008037600080366000846127105a03f43d806000803e8180156100e557816000f35b816000fd5b3480156100f657600080fd5b506100ff6101e5565b60408051918252519081900360200190f35b34801561011d57600080fd5b506101266101c1565b604080516001600160a01b039092168252519081900360200190f35b34801561014e57600080fd5b506101bf6004803603602081101561016557600080fd5b81019060208101813564010000000081111561018057600080fd5b82018360208201111561019257600080fd5b803590602001918460018302840111640100000000831117156101b457600080fd5b509092509050610209565b005b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b6102116101c1565b6001600160a01b0316336001600160a01b0316146102605760405162461bcd60e51b81526004018080602001828103825260378152602001806104976037913960400191505060405180910390fd5b600061026a6101c1565b6001600160a01b03166375d8bb0e6102806101e5565b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156102b457600080fd5b505afa1580156102c8573d6000803e3d6000fd5b505050506040513d60208110156102de57600080fd5b5051604051602060248201908152604482018590529192506000916060916001600160a01b0385169163e5c23a9760e01b9188918891819060640184848082843760008382015260408051601f909201601f1990811690940182810390940182529283526020810180516001600160e01b03166001600160e01b0319909916989098178852915182519297909650869550935090915081905083835b602083106103995780518252601f19909201916020918201910161037a565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d80600081146103f9576040519150601f19603f3d011682016040523d82523d6000602084013e6103fe565b606091505b509150915081819061048e5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561045357818101518382015260200161043b565b50505050905090810190601f1680156104805780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50505050505056fe7265636569766543616c6c46726f6d5661756c743a204f6e6c7920746865207661756c742063616e206d616b6520746869732063616c6ca164736f6c634300060c000aa164736f6c634300060c000a", - "sourceMap": "542:6259:23:-:0;;;1505:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1555:24;;-1:-1:-1;;;;;;1555:24:23;;;542:6259;;5:134:-1;83:13;;101:33;83:13;101:33;:::i;:::-;68:71;;;;:::o;146:263::-;;261:2;249:9;240:7;236:23;232:32;229:2;;;277:1;274;267:12;229:2;312:1;329:64;385:7;365:9;329:64;:::i;:::-;319:74;223:186;-1:-1;;;;223:186::o;416:91::-;;-1:-1;;;;;576:54;;478:24;559:76::o;642:117::-;711:24;729:5;711:24;:::i;:::-;704:5;701:35;691:2;;750:1;747;740:12;691:2;685:74;:::o;:::-;542:6259:23;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x60806040523480156200001157600080fd5b5060043610620000ac5760003560e01c8063b678863b116200006f578063b678863b146200014f578063e976aa0e1462000166578063ebb3d589146200017d578063f908bc771462000196578063fdad10f214620001ad57620000ac565b80633825abe814620000b15780635869506714620000d35780635cf5f4f014620000f957806371b79dc114620001125780639b6832a51462000129575b600080fd5b620000bb620001c4565b604051620000ca91906200114f565b60405180910390f35b620000ea620000e436600462000c25565b620001ca565b604051620000ca9190620010b7565b620001106200010a36600462000cf2565b620001e8565b005b620000ea6200012336600462000c25565b6200039a565b620001406200013a36600462000de8565b620003b8565b604051620000ca9190620010c7565b620001106200016036600462000d71565b6200045c565b620001106200017736600462000d2b565b62000610565b620001876200078c565b604051620000ca91906200105b565b62000187620001a736600462000c6f565b620007b0565b62000110620001be36600462000cf2565b6200088d565b60005490565b6001600160a01b031660009081526003602052604090205460ff1690565b620001f26200078c565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b1580156200022b57600080fd5b505afa15801562000240573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000266919062000c4e565b6001600160a01b0316336001600160a01b031614620002a25760405162461bcd60e51b815260040162000299906200112b565b60405180910390fd5b60005b81518110156200039657620002ce828281518110620002c057fe5b6020026020010151620001ca565b15620002ee5760405162461bcd60e51b815260040162000299906200113d565b6001600360008484815181106200030157fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055507f4e2cddb881b704c83c6ade58337e3de618b1a567844cc023636b12f2593c92f58282815181106200036e57fe5b60200260200101516040516200038591906200105b565b60405180910390a1600101620002a5565b5050565b6001600160a01b031660009081526002602052604090205460ff1690565b60008181526001602081815260409283902080548451600294821615610100026000190190911693909304601f81018390048302840183019094528383526060939091830182828015620004505780601f10620004245761010080835404028352916020019162000450565b820191906000526020600020905b8154815290600101906020018083116200043257829003601f168201915b50505050509050919050565b620004666200078c565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b1580156200049f57600080fd5b505afa158015620004b4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004da919062000c4e565b6001600160a01b0316336001600160a01b0316146200050d5760405162461bcd60e51b815260040162000299906200112b565b8281146200052f5760405162461bcd60e51b8152600401620002999062001119565b60005b8381101562000609578282828181106200054857fe5b90506020028101906200055c91906200118d565b600160008888868181106200056d57fe5b90506020020135815260200190815260200160002091906200059192919062000a23565b508484828181106200059f57fe5b905060200201357ff2a237a53e7bb8b02a659a4a650726a021c70b7a95fb81df08497a61659a279a848484818110620005d457fe5b9050602002810190620005e891906200118d565b604051620005f8929190620010e1565b60405180910390a260010162000532565b5050505050565b6200061a6200078c565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b1580156200065357600080fd5b505afa15801562000668573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200068e919062000c4e565b6001600160a01b0316336001600160a01b031614620006c15760405162461bcd60e51b815260040162000299906200112b565b60005b8181101562000787576000620006d9620001c4565b6000805460010190559050838383818110620006f157fe5b90506020028101906200070591906200118d565b60008381526001602052604090206200072092909162000a23565b507fc43043ed6e970dd281081754f024483e889327202cc79ec3f4aa059535472133818585858181106200075057fe5b90506020028101906200076491906200118d565b60405162000775939291906200115f565b60405180910390a150600101620006c4565b505050565b7f000000000000000000000000000000000000000000000000000000000000000090565b6000620007bd33620001ca565b620007dc5760405162461bcd60e51b8152600401620002999062001107565b84848484604051620007ee9062000aa8565b620007fd94939291906200106b565b604051809103906000f0801580156200081a573d6000803e3d6000fd5b506001600160a01b0380821660009081526002602052604090819020805460ff19166001179055519192508481169186918816907f1b6bd29f1cd483c0ffcdab807b5fb7193c1ec1661c42cc1c9cba25f9c32efe92906200087d908790620010c7565b60405180910390a4949350505050565b620008976200078c565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b158015620008d057600080fd5b505afa158015620008e5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200090b919062000c4e565b6001600160a01b0316336001600160a01b0316146200093e5760405162461bcd60e51b815260040162000299906200112b565b60005b815181101562000396576200095c828281518110620002c057fe5b6200097b5760405162461bcd60e51b81526004016200029990620010f5565b6000600360008484815181106200098e57fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055507fa800cb2ff9f46268ead3d548d8466dfea9fcab8ff13867076c45be6e38ab97a6828281518110620009fb57fe5b602002602001015160405162000a1291906200105b565b60405180910390a160010162000941565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1062000a665782800160ff1982351617855562000a96565b8280016001018555821562000a96579182015b8281111562000a9657823582559160200191906001019062000a79565b5062000aa492915062000ab6565b5090565b61075580620012f683390190565b5b8082111562000aa4576000815560010162000ab7565b803562000ada81620012d0565b92915050565b805162000ada81620012d0565b600082601f83011262000aff57600080fd5b813562000b1662000b10826200120e565b620011e6565b9150818183526020840193506020810190508385602084028201111562000b3c57600080fd5b60005b8381101562000b6c578162000b55888262000acd565b845250602092830192919091019060010162000b3f565b5050505092915050565b60008083601f84011262000b8957600080fd5b50813567ffffffffffffffff81111562000ba257600080fd5b60208301915083602082028301111562000bbb57600080fd5b9250929050565b600082601f83011262000bd457600080fd5b813562000be562000b108262001230565b9150808252602083016020830185838301111562000c0257600080fd5b62000c0f83828462001287565b50505092915050565b803562000ada81620012ea565b60006020828403121562000c3857600080fd5b600062000c46848462000acd565b949350505050565b60006020828403121562000c6157600080fd5b600062000c46848462000ae0565b6000806000806080858703121562000c8657600080fd5b600062000c94878762000acd565b945050602062000ca78782880162000c18565b935050604062000cba8782880162000acd565b925050606085013567ffffffffffffffff81111562000cd857600080fd5b62000ce68782880162000bc2565b91505092959194509250565b60006020828403121562000d0557600080fd5b813567ffffffffffffffff81111562000d1d57600080fd5b62000c468482850162000aed565b6000806020838503121562000d3f57600080fd5b823567ffffffffffffffff81111562000d5757600080fd5b62000d658582860162000b76565b92509250509250929050565b6000806000806040858703121562000d8857600080fd5b843567ffffffffffffffff81111562000da057600080fd5b62000dae8782880162000b76565b9450945050602085013567ffffffffffffffff81111562000dce57600080fd5b62000ddc8782880162000b76565b95989497509550505050565b60006020828403121562000dfb57600080fd5b600062000c46848462000c18565b62000e148162001266565b82525050565b62000e148162001273565b600062000e328262001259565b62000e3e81856200125d565b935062000e5081856020860162001293565b62000e5b81620012c6565b9093019392505050565b600062000e7383856200125d565b935062000e8283858462001287565b62000e5b83620012c6565b600062000e9c603b836200125d565b7f72656d6f7665506f736974696f6e4465706c6f796572733a204163636f756e7481527f206973206e6f74206120706f736974696f6e206465706c6f7965720000000000602082015260400192915050565b600062000efd6037836200125d565b7f6465706c6f793a204f6e6c79206120706f736974696f6e206465706c6f79657281527f2063616e2063616c6c20746869732066756e6374696f6e000000000000000000602082015260400192915050565b600062000f5e6028836200125d565b7f757064617465506f736974696f6e547970654c6162656c733a20556e657175618152676c2061727261797360c01b602082015260400192915050565b600062000faa6030836200125d565b7f4f6e6c79207468652044697370617463686572206f776e65722063616e20636181526f3636103a3434b990333ab731ba34b7b760811b602082015260400192915050565b600062000ffe603c836200125d565b7f616464506f736974696f6e4465706c6f796572733a204163636f756e7420697381527f20616c7265616479206120706f736974696f6e206465706c6f79657200000000602082015260400192915050565b62000e148162001284565b6020810162000ada828462000e09565b608081016200107b828762000e09565b6200108a602083018662001050565b62001099604083018562000e09565b8181036060830152620010ad818462000e25565b9695505050505050565b6020810162000ada828462000e1a565b60208082528101620010da818462000e25565b9392505050565b6020808252810162000c4681848662000e65565b6020808252810162000ada8162000e8d565b6020808252810162000ada8162000eee565b6020808252810162000ada8162000f4f565b6020808252810162000ada8162000f9b565b6020808252810162000ada8162000fef565b6020810162000ada828462001050565b604081016200116f828662001050565b81810360208301526200118481848662000e65565b95945050505050565b6000808335601e1936859003018112620011a657600080fd5b80840192508235915067ffffffffffffffff821115620011c557600080fd5b602083019250600182023603831315620011de57600080fd5b509250929050565b60405181810167ffffffffffffffff811182821017156200120657600080fd5b604052919050565b600067ffffffffffffffff8211156200122657600080fd5b5060209081020190565b600067ffffffffffffffff8211156200124857600080fd5b506020601f91909101601f19160190565b5190565b90815260200190565b600062000ada8262001278565b151590565b6001600160a01b031690565b90565b82818337506000910152565b60005b83811015620012b057818101518382015260200162001296565b83811115620012c0576000848401525b50505050565b601f01601f191690565b620012db8162001266565b8114620012e757600080fd5b50565b620012db816200128456fe60c060405234801561001057600080fd5b506040516107553803806107558339818101604052608081101561003357600080fd5b81516020830151604080850151606086018051925194969395919493918201928464010000000082111561006657600080fd5b90830190602082018581111561007b57600080fd5b825164010000000081118282018810171561009557600080fd5b82525081516020918201929091019080838360005b838110156100c25781810151838201526020016100aa565b50505050905090810190601f1680156100ef5780820380516001836020036101000a031916815260200191505b50604052505050836001600160a01b031660a0816001600160a01b031660601b81525050826080818152505060006060836001600160a01b0316836040518082805190602001908083835b602083106101595780518252601f19909201916020918201910161013a565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d80600081146101b9576040519150601f19603f3d011682016040523d82523d6000602084013e6101be565b606091505b509150915081819061024e5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156102135781810151838201526020016101fb565b50505050905090810190601f1680156102405780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5050505050505060805160a05160601c6104da61027b600039806101c35250806101e752506104da6000f3fe6080604052600436106100385760003560e01c806312bc0a44146100ea578063c980918714610111578063e5c23a97146101425761003f565b3661003f57005b60006100496101c1565b6001600160a01b03166375d8bb0e61005f6101e5565b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561009357600080fd5b505afa1580156100a7573d6000803e3d6000fd5b505050506040513d60208110156100bd57600080fd5b505190503660008037600080366000846127105a03f43d806000803e8180156100e557816000f35b816000fd5b3480156100f657600080fd5b506100ff6101e5565b60408051918252519081900360200190f35b34801561011d57600080fd5b506101266101c1565b604080516001600160a01b039092168252519081900360200190f35b34801561014e57600080fd5b506101bf6004803603602081101561016557600080fd5b81019060208101813564010000000081111561018057600080fd5b82018360208201111561019257600080fd5b803590602001918460018302840111640100000000831117156101b457600080fd5b509092509050610209565b005b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b6102116101c1565b6001600160a01b0316336001600160a01b0316146102605760405162461bcd60e51b81526004018080602001828103825260378152602001806104976037913960400191505060405180910390fd5b600061026a6101c1565b6001600160a01b03166375d8bb0e6102806101e5565b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156102b457600080fd5b505afa1580156102c8573d6000803e3d6000fd5b505050506040513d60208110156102de57600080fd5b5051604051602060248201908152604482018590529192506000916060916001600160a01b0385169163e5c23a9760e01b9188918891819060640184848082843760008382015260408051601f909201601f1990811690940182810390940182529283526020810180516001600160e01b03166001600160e01b0319909916989098178852915182519297909650869550935090915081905083835b602083106103995780518252601f19909201916020918201910161037a565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d80600081146103f9576040519150601f19603f3d011682016040523d82523d6000602084013e6103fe565b606091505b509150915081819061048e5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561045357818101518382015260200161043b565b50505050905090810190601f1680156104805780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50505050505056fe7265636569766543616c6c46726f6d5661756c743a204f6e6c7920746865207661756c742063616e206d616b6520746869732063616c6ca164736f6c634300060c000aa164736f6c634300060c000a", - "sourceMap": "542:6259:23:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6327:128;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6645:154;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;4095:441::-;;;;;;:::i;:::-;;:::i;:::-;;5749:199;;;;;;:::i;:::-;;:::i;5365:177::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;3419:434::-;;;;;;:::i;:::-;;:::i;2914:357::-;;;;;;:::i;:::-;;:::i;6086:101::-;;;:::i;:::-;;;;;;;:::i;2039:687::-;;;;;;:::i;:::-;;:::i;4686:445::-;;;;;;:::i;:::-;;:::i;6327:128::-;6382:28;6429:19;6327:128;:::o;6645:154::-;-1:-1:-1;;;;;6755:37:23;6712:24;6755:37;;;:27;:37;;;;;;;;;6645:154::o;4095:441::-;1380:15;:13;:15::i;:::-;-1:-1:-1;;;;;1368:37:23;;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1354:53:23;:10;-1:-1:-1;;;;;1354:53:23;;1333:148;;;;-1:-1:-1;;;1333:148:23;;;;;;;:::i;:::-;;;;;;;;;4197:9:::1;4192:338;4212:9;:16;4208:1;:20;4192:338;;;4275:32;4294:9;4304:1;4294:12;;;;;;;;;;;;;;4275:18;:32::i;:::-;4274:33;4249:152;;;;-1:-1:-1::0;;;4249:152:23::1;;;;;;;:::i;:::-;4460:4;4416:27;:41;4444:9;4454:1;4444:12;;;;;;;;;;;;;;-1:-1:-1::0;;;;;4416:41:23::1;-1:-1:-1::0;;;;;4416:41:23::1;;;;;;;;;;;;;:48;;;;;;;;;;;;;;;;;;4484:35;4506:9;4516:1;4506:12;;;;;;;;;;;;;;4484:35;;;;;;:::i;:::-;;;;;;;;4230:3;;4192:338;;;;4095:441:::0;:::o;5749:199::-;-1:-1:-1;;;;;5899:42:23;5847:29;5899:42;;;:32;:42;;;;;;;;;5749:199::o;5365:177::-;5505:30;;;;:21;:30;;;;;;;;;5498:37;;;;;;;;;;;-1:-1:-1;;5498:37:23;;;;;;;;;;;;;;;;;;;;;;;;;;5462:20;;5505:30;;5498:37;;5505:30;5498:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5365:177;;;:::o;3419:434::-;1380:15;:13;:15::i;:::-;-1:-1:-1;;;;;1368:37:23;;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1354:53:23;:10;-1:-1:-1;;;;;1354:53:23;;1333:148;;;;-1:-1:-1;;;1333:148:23;;;;;;;:::i;:::-;3576:33;;::::1;3568:86;;;;-1:-1:-1::0;;;3568:86:23::1;;;;;;;:::i;:::-;3669:9;3664:183;3680:19:::0;;::::1;3664:183;;;3757:7;;3765:1;3757:10;;;;;;;;;;;;;;;;;;:::i;:::-;3720:21;:34;3742:8;;3751:1;3742:11;;;;;;;;;;;;;3720:34;;;;;;;;;;;:47;;;;;;;:::i;:::-;;3812:8;;3821:1;3812:11;;;;;;;;;;;;;3787:49;3825:7;;3833:1;3825:10;;;;;;;;;;;;;;;;;;:::i;:::-;3787:49;;;;;;;:::i;:::-;;;;;;;;3701:3;;3664:183;;;;3419:434:::0;;;;:::o;2914:357::-;1380:15;:13;:15::i;:::-;-1:-1:-1;;;;;1368:37:23;;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1354:53:23;:10;-1:-1:-1;;;;;1354:53:23;;1333:148;;;;-1:-1:-1;;;1333:148:23;;;;;;;:::i;:::-;3014:9:::1;3009:256;3025:18:::0;;::::1;3009:256;;;3064:14;3081:24;:22;:24::i;:::-;3119:19;:21:::0;;::::1;;::::0;;3064:41;-1:-1:-1;3187:7:23;;3195:1;3187:10;;::::1;;;;;;;;;;;;;;;;:::i;:::-;3155:29;::::0;;;:21:::1;:29;::::0;;;;:42:::1;::::0;:29;;:42:::1;:::i;:::-;;3217:37;3235:6;3243:7;;3251:1;3243:10;;;;;;;;;;;;;;;;;;:::i;:::-;3217:37;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1::0;3045:3:23::1;;3009:256;;;;2914:357:::0;;:::o;6086:101::-;6170:10;6086:101;:::o;2039:687::-;2201:30;2264;2283:10;2264:18;:30::i;:::-;2243:132;;;;-1:-1:-1;;;2243:132:23;;;;;;;:::i;:::-;2458:11;2471:7;2480:13;2495:14;2432:78;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;2531:56:23;;;;;;;:32;:56;;;;;;;:63;;-1:-1:-1;;2531:63:23;2590:4;2531:63;;;2610:69;2386:134;;-1:-1:-1;2610:69:23;;;;2640:7;;2610:69;;;;;;;2664:14;;2610:69;:::i;:::-;;;;;;;;2039:687;;;;;;:::o;4686:445::-;1380:15;:13;:15::i;:::-;-1:-1:-1;;;;;1368:37:23;;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1354:53:23;:10;-1:-1:-1;;;;;1354:53:23;;1333:148;;;;-1:-1:-1;;;1333:148:23;;;;;;;:::i;:::-;4791:9:::1;4786:339;4806:9;:16;4802:1;:20;4786:339;;;4868:32;4887:9;4897:1;4887:12;;;;;;;4868:32;4843:150;;;;-1:-1:-1::0;;;4843:150:23::1;;;;;;;:::i;:::-;5052:5;5008:27;:41;5036:9;5046:1;5036:12;;;;;;;;;;;;;;-1:-1:-1::0;;;;;5008:41:23::1;-1:-1:-1::0;;;;;5008:41:23::1;;;;;;;;;;;;;:49;;;;;;;;;;;;;;;;;;5077:37;5101:9;5111:1;5101:12;;;;;;;;;;;;;;5077:37;;;;;;:::i;:::-;;;;;;;;4824:3;;4786:339;;-1:-1:-1::0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;5:130;72:20;;97:33;72:20;97:33;:::i;:::-;57:78;;;;:::o;142:134::-;220:13;;238:33;220:13;238:33;:::i;301:707::-;;418:3;411:4;403:6;399:17;395:27;385:2;;436:1;433;426:12;385:2;473:6;460:20;495:80;510:64;567:6;510:64;:::i;:::-;495:80;:::i;:::-;486:89;;592:5;617:6;610:5;603:21;647:4;639:6;635:17;625:27;;669:4;664:3;660:14;653:21;;722:6;769:3;761:4;753:6;749:17;744:3;740:27;737:36;734:2;;;786:1;783;776:12;734:2;811:1;796:206;821:6;818:1;815:13;796:206;;;879:3;901:37;934:3;922:10;901:37;:::i;:::-;889:50;;-1:-1;962:4;953:14;;;;981;;;;;843:1;836:9;796:206;;;800:14;378:630;;;;;;;:::o;1033:364::-;;;1175:3;1168:4;1160:6;1156:17;1152:27;1142:2;;1193:1;1190;1183:12;1142:2;-1:-1;1213:20;;1253:18;1242:30;;1239:2;;;1285:1;1282;1275:12;1239:2;1319:4;1311:6;1307:17;1295:29;;1370:3;1362:4;1354:6;1350:17;1340:8;1336:32;1333:41;1330:2;;;1387:1;1384;1377:12;1330:2;1135:262;;;;;:::o;1784:440::-;;1885:3;1878:4;1870:6;1866:17;1862:27;1852:2;;1903:1;1900;1893:12;1852:2;1940:6;1927:20;1962:64;1977:48;2018:6;1977:48;:::i;1962:64::-;1953:73;;2046:6;2039:5;2032:21;2082:4;2074:6;2070:17;2115:4;2108:5;2104:16;2150:3;2141:6;2136:3;2132:16;2129:25;2126:2;;;2167:1;2164;2157:12;2126:2;2177:41;2211:6;2206:3;2201;2177:41;:::i;:::-;1845:379;;;;;;;:::o;2232:130::-;2299:20;;2324:33;2299:20;2324:33;:::i;2369:241::-;;2473:2;2461:9;2452:7;2448:23;2444:32;2441:2;;;2489:1;2486;2479:12;2441:2;2524:1;2541:53;2586:7;2566:9;2541:53;:::i;:::-;2531:63;2435:175;-1:-1;;;;2435:175::o;2617:263::-;;2732:2;2720:9;2711:7;2707:23;2703:32;2700:2;;;2748:1;2745;2738:12;2700:2;2783:1;2800:64;2856:7;2836:9;2800:64;:::i;2887:721::-;;;;;3051:3;3039:9;3030:7;3026:23;3022:33;3019:2;;;3068:1;3065;3058:12;3019:2;3103:1;3120:53;3165:7;3145:9;3120:53;:::i;:::-;3110:63;;3082:97;3210:2;3228:53;3273:7;3264:6;3253:9;3249:22;3228:53;:::i;:::-;3218:63;;3189:98;3318:2;3336:53;3381:7;3372:6;3361:9;3357:22;3336:53;:::i;:::-;3326:63;;3297:98;3454:2;3443:9;3439:18;3426:32;3478:18;3470:6;3467:30;3464:2;;;3510:1;3507;3500:12;3464:2;3530:62;3584:7;3575:6;3564:9;3560:22;3530:62;:::i;:::-;3520:72;;3405:193;3013:595;;;;;;;:::o;3615:377::-;;3744:2;3732:9;3723:7;3719:23;3715:32;3712:2;;;3760:1;3757;3750:12;3712:2;3795:31;;3846:18;3835:30;;3832:2;;;3878:1;3875;3868:12;3832:2;3898:78;3968:7;3959:6;3948:9;3944:22;3898:78;:::i;3999:421::-;;;4150:2;4138:9;4129:7;4125:23;4121:32;4118:2;;;4166:1;4163;4156:12;4118:2;4201:31;;4252:18;4241:30;;4238:2;;;4284:1;4281;4274:12;4238:2;4312:92;4396:7;4387:6;4376:9;4372:22;4312:92;:::i;:::-;4294:110;;;;4180:230;4112:308;;;;;:::o;4427:702::-;;;;;4630:2;4618:9;4609:7;4605:23;4601:32;4598:2;;;4646:1;4643;4636:12;4598:2;4681:31;;4732:18;4721:30;;4718:2;;;4764:1;4761;4754:12;4718:2;4792:80;4864:7;4855:6;4844:9;4840:22;4792:80;:::i;:::-;4774:98;;;;4660:218;4937:2;4926:9;4922:18;4909:32;4961:18;4953:6;4950:30;4947:2;;;4993:1;4990;4983:12;4947:2;5021:92;5105:7;5096:6;5085:9;5081:22;5021:92;:::i;:::-;4592:537;;;;-1:-1;5003:110;-1:-1;;;;4592:537::o;5136:241::-;;5240:2;5228:9;5219:7;5215:23;5211:32;5208:2;;;5256:1;5253;5246:12;5208:2;5291:1;5308:53;5353:7;5333:9;5308:53;:::i;5384:113::-;5467:24;5485:5;5467:24;:::i;:::-;5462:3;5455:37;5449:48;;:::o;5504:104::-;5581:21;5596:5;5581:21;:::i;5615:343::-;;5725:38;5757:5;5725:38;:::i;:::-;5775:70;5838:6;5833:3;5775:70;:::i;:::-;5768:77;;5850:52;5895:6;5890:3;5883:4;5876:5;5872:16;5850:52;:::i;:::-;5923:29;5945:6;5923:29;:::i;:::-;5914:39;;;;5705:253;-1:-1;;;5705:253::o;5990:300::-;;6106:71;6170:6;6165:3;6106:71;:::i;:::-;6099:78;;6189:43;6225:6;6220:3;6213:5;6189:43;:::i;:::-;6254:29;6276:6;6254:29;:::i;6653:396::-;;6813:67;6877:2;6872:3;6813:67;:::i;:::-;6913:34;6893:55;;6982:29;6977:2;6968:12;;6961:51;7040:2;7031:12;;6799:250;-1:-1;;6799:250::o;7058:392::-;;7218:67;7282:2;7277:3;7218:67;:::i;:::-;7318:34;7298:55;;7387:25;7382:2;7373:12;;7366:47;7441:2;7432:12;;7204:246;-1:-1;;7204:246::o;7459:377::-;;7619:67;7683:2;7678:3;7619:67;:::i;:::-;7719:34;7699:55;;-1:-1;;;7783:2;7774:12;;7767:32;7827:2;7818:12;;7605:231;-1:-1;;7605:231::o;7845:385::-;;8005:67;8069:2;8064:3;8005:67;:::i;:::-;8105:34;8085:55;;-1:-1;;;8169:2;8160:12;;8153:40;8221:2;8212:12;;7991:239;-1:-1;;7991:239::o;8239:397::-;;8399:67;8463:2;8458:3;8399:67;:::i;:::-;8499:34;8479:55;;8568:30;8563:2;8554:12;;8547:52;8627:2;8618:12;;8385:251;-1:-1;;8385:251::o;8644:113::-;8727:24;8745:5;8727:24;:::i;8764:222::-;8891:2;8876:18;;8905:71;8880:9;8949:6;8905:71;:::i;8993:640::-;9222:3;9207:19;;9237:71;9211:9;9281:6;9237:71;:::i;:::-;9319:72;9387:2;9376:9;9372:18;9363:6;9319:72;:::i;:::-;9402;9470:2;9459:9;9455:18;9446:6;9402:72;:::i;:::-;9522:9;9516:4;9512:20;9507:2;9496:9;9492:18;9485:48;9547:76;9618:4;9609:6;9547:76;:::i;:::-;9539:84;9193:440;-1:-1;;;;;;9193:440::o;9640:210::-;9761:2;9746:18;;9775:65;9750:9;9813:6;9775:65;:::i;9857:306::-;10002:2;10016:47;;;9987:18;;10077:76;9987:18;10139:6;10077:76;:::i;:::-;10069:84;9973:190;-1:-1;;;9973:190::o;10170:330::-;10327:2;10341:47;;;10312:18;;10402:88;10312:18;10476:6;10468;10402:88;:::i;10824:416::-;11024:2;11038:47;;;11009:18;;11099:131;11009:18;11099:131;:::i;11247:416::-;11447:2;11461:47;;;11432:18;;11522:131;11432:18;11522:131;:::i;11670:416::-;11870:2;11884:47;;;11855:18;;11945:131;11855:18;11945:131;:::i;12093:416::-;12293:2;12307:47;;;12278:18;;12368:131;12278:18;12368:131;:::i;12516:416::-;12716:2;12730:47;;;12701:18;;12791:131;12701:18;12791:131;:::i;12939:222::-;13066:2;13051:18;;13080:71;13055:9;13124:6;13080:71;:::i;13168:441::-;13353:2;13338:18;;13367:71;13342:9;13411:6;13367:71;:::i;:::-;13486:9;13480:4;13476:20;13471:2;13460:9;13456:18;13449:48;13511:88;13594:4;13585:6;13577;13511:88;:::i;:::-;13503:96;13324:285;-1:-1;;;;;13324:285::o;13616:507::-;;;13739:25;;-1:-1;;13811:14;13807:29;;;13803:48;13779:73;;13769:2;;13866:1;13863;13856:12;13769:2;13897:18;13887:8;13883:33;13875:41;;13950:4;13937:18;13927:28;;13975:18;13967:6;13964:30;13961:2;;;14007:1;14004;13997:12;13961:2;14035;14029:4;14025:13;14017:21;;14089:4;14081:6;14077:17;14061:14;14057:38;14051:4;14047:49;14044:2;;;14109:1;14106;14099:12;14044:2;13707:416;;;;;;:::o;14130:256::-;14192:2;14186:9;14218:17;;;14293:18;14278:34;;14314:22;;;14275:62;14272:2;;;14350:1;14347;14340:12;14272:2;14366;14359:22;14170:216;;-1:-1;14170:216::o;14393:304::-;;14552:18;14544:6;14541:30;14538:2;;;14584:1;14581;14574:12;14538:2;-1:-1;14619:4;14607:17;;;14672:15;;14475:222::o;14704:321::-;;14847:18;14839:6;14836:30;14833:2;;;14879:1;14876;14869:12;14833:2;-1:-1;15010:4;14946;14923:17;;;;-1:-1;;14919:33;15000:15;;14770:255::o;15032:121::-;15119:12;;15090:63::o;15290:162::-;15392:19;;;15441:4;15432:14;;15385:67::o;15632:91::-;;15694:24;15712:5;15694:24;:::i;15730:85::-;15796:13;15789:21;;15772:43::o;15822:121::-;-1:-1;;;;;15884:54;;15867:76::o;15950:72::-;16012:5;15995:27::o;16030:145::-;16111:6;16106:3;16101;16088:30;-1:-1;16167:1;16149:16;;16142:27;16081:94::o;16184:268::-;16249:1;16256:101;16270:6;16267:1;16264:13;16256:101;;;16337:11;;;16331:18;16318:11;;;16311:39;16292:2;16285:10;16256:101;;;16372:6;16369:1;16366:13;16363:2;;;16437:1;16428:6;16423:3;16419:16;16412:27;16363:2;16233:219;;;;:::o;16460:97::-;16548:2;16528:14;-1:-1;;16524:28;;16508:49::o;16565:117::-;16634:24;16652:5;16634:24;:::i;:::-;16627:5;16624:35;16614:2;;16673:1;16670;16663:12;16614:2;16608:74;:::o;16689:117::-;16758:24;16776:5;16758:24;:::i", - "linkReferences": {}, - "immutableReferences": { - "4602": [ - { - "start": 1934, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "addNewPositionTypes(string[])": "e976aa0e", - "addPositionDeployers(address[])": "5cf5f4f0", - "deploy(address,uint256,address,bytes)": "f908bc77", - "getDispatcher()": "ebb3d589", - "getLabelForPositionType(uint256)": "9b6832a5", - "getPositionTypeCounter()": "3825abe8", - "isExternalPositionProxy(address)": "71b79dc1", - "isPositionDeployer(address)": "58695067", - "removePositionDeployers(address[])": "fdad10f2", - "updatePositionTypeLabels(uint256[],string[])": "b678863b" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_dispatcher\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"vaultProxy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"typeId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"constructLib\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"constructData\",\"type\":\"bytes\"}],\"name\":\"PositionDeployed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"positionDeployer\",\"type\":\"address\"}],\"name\":\"PositionDeployerAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"positionDeployer\",\"type\":\"address\"}],\"name\":\"PositionDeployerRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"typeId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"label\",\"type\":\"string\"}],\"name\":\"PositionTypeAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"typeId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"label\",\"type\":\"string\"}],\"name\":\"PositionTypeLabelUpdated\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"string[]\",\"name\":\"_labels\",\"type\":\"string[]\"}],\"name\":\"addNewPositionTypes\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_accounts\",\"type\":\"address[]\"}],\"name\":\"addPositionDeployers\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_typeId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_constructLib\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_constructData\",\"type\":\"bytes\"}],\"name\":\"deploy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"externalPositionProxy_\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDispatcher\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"dispatcher_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_typeId\",\"type\":\"uint256\"}],\"name\":\"getLabelForPositionType\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"label_\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPositionTypeCounter\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"positionTypeCounter_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"}],\"name\":\"isExternalPositionProxy\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isExternalPositionProxy_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"}],\"name\":\"isPositionDeployer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isPositionDeployer_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_accounts\",\"type\":\"address[]\"}],\"name\":\"removePositionDeployers\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"_typeIds\",\"type\":\"uint256[]\"},{\"internalType\":\"string[]\",\"name\":\"_labels\",\"type\":\"string[]\"}],\"name\":\"updatePositionTypeLabels\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"addNewPositionTypes(string[])\":{\"params\":{\"_labels\":\"Labels for each new position type\"}},\"addPositionDeployers(address[])\":{\"params\":{\"_accounts\":\"Accounts to be added as position deployers\"}},\"deploy(address,uint256,address,bytes)\":{\"params\":{\"_constructData\":\"Encoded data to be used on the ExternalPositionProxy constructor\",\"_constructLib\":\"The external position lib contract that will be used on the constructor\",\"_typeId\":\"The type of external position to be created\",\"_vaultProxy\":\"The _vaultProxy owner of the external position\"}},\"getDispatcher()\":{\"returns\":{\"dispatcher_\":\"The `DISPATCHER` variable value\"}},\"getLabelForPositionType(uint256)\":{\"params\":{\"_typeId\":\"The position type id\"},\"returns\":{\"label_\":\"The label\"}},\"getPositionTypeCounter()\":{\"returns\":{\"positionTypeCounter_\":\"The `positionTypeCounter` variable value\"}},\"isExternalPositionProxy(address)\":{\"params\":{\"_account\":\"The account to check\"},\"returns\":{\"isExternalPositionProxy_\":\"True if the account is an externalPositionProxy\"}},\"isPositionDeployer(address)\":{\"params\":{\"_account\":\"The account to check\"},\"returns\":{\"isPositionDeployer_\":\"True if the account is a position deployer\"}},\"removePositionDeployers(address[])\":{\"params\":{\"_accounts\":\"Existing position deployers to be removed from their role\"}},\"updatePositionTypeLabels(uint256[],string[])\":{\"params\":{\"_labels\":\"The updated labels\",\"_typeIds\":\"The position type ids\"}}},\"title\":\"ExternalPositionFactory Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"addNewPositionTypes(string[])\":{\"notice\":\"Adds a set of new position types\"},\"addPositionDeployers(address[])\":{\"notice\":\"Adds a set of new position deployers\"},\"deploy(address,uint256,address,bytes)\":{\"notice\":\"Creates a new external position proxy and adds it to the list of supported external positions\"},\"getDispatcher()\":{\"notice\":\"Gets the `DISPATCHER` variable\"},\"getLabelForPositionType(uint256)\":{\"notice\":\"Gets the label for a position type\"},\"getPositionTypeCounter()\":{\"notice\":\"Gets the `positionTypeCounter` variable\"},\"isExternalPositionProxy(address)\":{\"notice\":\"Checks if an account is an external position proxy\"},\"isPositionDeployer(address)\":{\"notice\":\"Checks if an account is a position deployer\"},\"removePositionDeployers(address[])\":{\"notice\":\"Removes a set of existing position deployers\"},\"updatePositionTypeLabels(uint256[],string[])\":{\"notice\":\"Updates a set of position type labels\"}},\"notice\":\"A contract factory for External Positions\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/external-positions/ExternalPositionFactory.sol\":\"ExternalPositionFactory\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/external-positions/ExternalPositionFactory.sol\":{\"keccak256\":\"0x20bfd32ff5da52c8d53a936635715543602ee87fb0e7e1e1c79d5f5628048251\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5f28762e680e7601e90388670de048310640436f701e2fa0c738127813be01ed\",\"dweb:/ipfs/QmYWR4mTaXYQtQ5He1pfZDS1d1k9s3UNB5GwfoWHFMRdKZ\"]},\"contracts/persistent/external-positions/ExternalPositionProxy.sol\":{\"keccak256\":\"0x8927ca263d3c6dd7093ed8663fe0a3b26162eacae4e5aa602204ceea957c8c54\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ae54235028276298cb7879b64da87d356bf301aa921723570dbf41e79bc821fb\",\"dweb:/ipfs/QmUa5gHtKoD3oSfNuihQPmB4seARwWfkkWrq67PtUM5DWa\"]},\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/persistent/external-positions/IExternalPositionProxy.sol\":{\"keccak256\":\"0xc74e623dbdc949df49e9cef31e0f958b17c715d89198dbbc1754d8f9c21e90de\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://074daf0a9f4e667964e6d50039986e3d792860cdece05d21e3606d33358a02b2\",\"dweb:/ipfs/QmVHXiKry9fYfjSNd6dxmtSr7DubNJvYJTNXtLDKGer2xH\"]},\"contracts/persistent/vault/interfaces/IExternalPositionVault.sol\":{\"keccak256\":\"0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d\",\"dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_dispatcher", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "vaultProxy", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "typeId", - "type": "uint256", - "indexed": true - }, - { - "internalType": "address", - "name": "constructLib", - "type": "address", - "indexed": true - }, - { - "internalType": "bytes", - "name": "constructData", - "type": "bytes", - "indexed": false - } - ], - "type": "event", - "name": "PositionDeployed", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "positionDeployer", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "PositionDeployerAdded", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "positionDeployer", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "PositionDeployerRemoved", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "typeId", - "type": "uint256", - "indexed": false - }, - { - "internalType": "string", - "name": "label", - "type": "string", - "indexed": false - } - ], - "type": "event", - "name": "PositionTypeAdded", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "typeId", - "type": "uint256", - "indexed": true - }, - { - "internalType": "string", - "name": "label", - "type": "string", - "indexed": false - } - ], - "type": "event", - "name": "PositionTypeLabelUpdated", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string[]", - "name": "_labels", - "type": "string[]" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "addNewPositionTypes" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_accounts", - "type": "address[]" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "addPositionDeployers" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_typeId", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_constructLib", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_constructData", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "deploy", - "outputs": [ - { - "internalType": "address", - "name": "externalPositionProxy_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getDispatcher", - "outputs": [ - { - "internalType": "address", - "name": "dispatcher_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_typeId", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getLabelForPositionType", - "outputs": [ - { - "internalType": "string", - "name": "label_", - "type": "string" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getPositionTypeCounter", - "outputs": [ - { - "internalType": "uint256", - "name": "positionTypeCounter_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_account", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "isExternalPositionProxy", - "outputs": [ - { - "internalType": "bool", - "name": "isExternalPositionProxy_", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_account", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "isPositionDeployer", - "outputs": [ - { - "internalType": "bool", - "name": "isPositionDeployer_", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_accounts", - "type": "address[]" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "removePositionDeployers" - }, - { - "inputs": [ - { - "internalType": "uint256[]", - "name": "_typeIds", - "type": "uint256[]" - }, - { - "internalType": "string[]", - "name": "_labels", - "type": "string[]" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "updatePositionTypeLabels" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "addNewPositionTypes(string[])": { - "params": { - "_labels": "Labels for each new position type" - } - }, - "addPositionDeployers(address[])": { - "params": { - "_accounts": "Accounts to be added as position deployers" - } - }, - "deploy(address,uint256,address,bytes)": { - "params": { - "_constructData": "Encoded data to be used on the ExternalPositionProxy constructor", - "_constructLib": "The external position lib contract that will be used on the constructor", - "_typeId": "The type of external position to be created", - "_vaultProxy": "The _vaultProxy owner of the external position" - } - }, - "getDispatcher()": { - "returns": { - "dispatcher_": "The `DISPATCHER` variable value" - } - }, - "getLabelForPositionType(uint256)": { - "params": { - "_typeId": "The position type id" - }, - "returns": { - "label_": "The label" - } - }, - "getPositionTypeCounter()": { - "returns": { - "positionTypeCounter_": "The `positionTypeCounter` variable value" - } - }, - "isExternalPositionProxy(address)": { - "params": { - "_account": "The account to check" - }, - "returns": { - "isExternalPositionProxy_": "True if the account is an externalPositionProxy" - } - }, - "isPositionDeployer(address)": { - "params": { - "_account": "The account to check" - }, - "returns": { - "isPositionDeployer_": "True if the account is a position deployer" - } - }, - "removePositionDeployers(address[])": { - "params": { - "_accounts": "Existing position deployers to be removed from their role" - } - }, - "updatePositionTypeLabels(uint256[],string[])": { - "params": { - "_labels": "The updated labels", - "_typeIds": "The position type ids" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "addNewPositionTypes(string[])": { - "notice": "Adds a set of new position types" - }, - "addPositionDeployers(address[])": { - "notice": "Adds a set of new position deployers" - }, - "deploy(address,uint256,address,bytes)": { - "notice": "Creates a new external position proxy and adds it to the list of supported external positions" - }, - "getDispatcher()": { - "notice": "Gets the `DISPATCHER` variable" - }, - "getLabelForPositionType(uint256)": { - "notice": "Gets the label for a position type" - }, - "getPositionTypeCounter()": { - "notice": "Gets the `positionTypeCounter` variable" - }, - "isExternalPositionProxy(address)": { - "notice": "Checks if an account is an external position proxy" - }, - "isPositionDeployer(address)": { - "notice": "Checks if an account is a position deployer" - }, - "removePositionDeployers(address[])": { - "notice": "Removes a set of existing position deployers" - }, - "updatePositionTypeLabels(uint256[],string[])": { - "notice": "Updates a set of position type labels" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/persistent/external-positions/ExternalPositionFactory.sol": "ExternalPositionFactory" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/dispatcher/IDispatcher.sol": { - "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", - "urls": [ - "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", - "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/external-positions/ExternalPositionFactory.sol": { - "keccak256": "0x20bfd32ff5da52c8d53a936635715543602ee87fb0e7e1e1c79d5f5628048251", - "urls": [ - "bzz-raw://5f28762e680e7601e90388670de048310640436f701e2fa0c738127813be01ed", - "dweb:/ipfs/QmYWR4mTaXYQtQ5He1pfZDS1d1k9s3UNB5GwfoWHFMRdKZ" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/external-positions/ExternalPositionProxy.sol": { - "keccak256": "0x8927ca263d3c6dd7093ed8663fe0a3b26162eacae4e5aa602204ceea957c8c54", - "urls": [ - "bzz-raw://ae54235028276298cb7879b64da87d356bf301aa921723570dbf41e79bc821fb", - "dweb:/ipfs/QmUa5gHtKoD3oSfNuihQPmB4seARwWfkkWrq67PtUM5DWa" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/external-positions/IExternalPosition.sol": { - "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", - "urls": [ - "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", - "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/external-positions/IExternalPositionProxy.sol": { - "keccak256": "0xc74e623dbdc949df49e9cef31e0f958b17c715d89198dbbc1754d8f9c21e90de", - "urls": [ - "bzz-raw://074daf0a9f4e667964e6d50039986e3d792860cdece05d21e3606d33358a02b2", - "dweb:/ipfs/QmVHXiKry9fYfjSNd6dxmtSr7DubNJvYJTNXtLDKGer2xH" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IExternalPositionVault.sol": { - "keccak256": "0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6", - "urls": [ - "bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d", - "dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 23 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_dispatcher", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "addNewPositionTypes", "inputs": [ { "name": "_labels", "type": "string[]", "internalType": "string[]" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "addPositionDeployers", "inputs": [ { "name": "_accounts", "type": "address[]", "internalType": "address[]" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "deploy", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_typeId", "type": "uint256", "internalType": "uint256" }, { "name": "_constructLib", "type": "address", "internalType": "address" }, { "name": "_constructData", "type": "bytes", "internalType": "bytes" } ], "outputs": [ { "name": "externalPositionProxy_", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "getDispatcher", "inputs": [], "outputs": [ { "name": "dispatcher_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getLabelForPositionType", "inputs": [ { "name": "_typeId", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "label_", "type": "string", "internalType": "string" } ], "stateMutability": "view" }, { "type": "function", "name": "getPositionTypeCounter", "inputs": [], "outputs": [ { "name": "positionTypeCounter_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "isExternalPositionProxy", "inputs": [ { "name": "_account", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "isExternalPositionProxy_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "isPositionDeployer", "inputs": [ { "name": "_account", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "isPositionDeployer_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "removePositionDeployers", "inputs": [ { "name": "_accounts", "type": "address[]", "internalType": "address[]" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "updatePositionTypeLabels", "inputs": [ { "name": "_typeIds", "type": "uint256[]", "internalType": "uint256[]" }, { "name": "_labels", "type": "string[]", "internalType": "string[]" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "event", "name": "PositionDeployed", "inputs": [ { "name": "vaultProxy", "type": "address", "indexed": true, "internalType": "address" }, { "name": "typeId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "constructLib", "type": "address", "indexed": true, "internalType": "address" }, { "name": "constructData", "type": "bytes", "indexed": false, "internalType": "bytes" } ], "anonymous": false }, { "type": "event", "name": "PositionDeployerAdded", "inputs": [ { "name": "positionDeployer", "type": "address", "indexed": false, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "PositionDeployerRemoved", "inputs": [ { "name": "positionDeployer", "type": "address", "indexed": false, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "PositionTypeAdded", "inputs": [ { "name": "typeId", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "label", "type": "string", "indexed": false, "internalType": "string" } ], "anonymous": false }, { "type": "event", "name": "PositionTypeLabelUpdated", "inputs": [ { "name": "typeId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "label", "type": "string", "indexed": false, "internalType": "string" } ], "anonymous": false } ], "bytecode": { "object": "0x60a06040523480156200001157600080fd5b5060405162001b2738038062001b2783398101604081905262000034916200005d565b60601b6001600160601b031916608052620000b2565b8051620000578162000098565b92915050565b6000602082840312156200007057600080fd5b60006200007e84846200004a565b949350505050565b60006001600160a01b03821662000057565b620000a38162000086565b8114620000af57600080fd5b50565b60805160601c611a57620000d06000398061078e5250611a576000f3fe60806040523480156200001157600080fd5b5060043610620000ac5760003560e01c8063b678863b116200006f578063b678863b146200014f578063e976aa0e1462000166578063ebb3d589146200017d578063f908bc771462000196578063fdad10f214620001ad57620000ac565b80633825abe814620000b15780635869506714620000d35780635cf5f4f014620000f957806371b79dc114620001125780639b6832a51462000129575b600080fd5b620000bb620001c4565b604051620000ca91906200114f565b60405180910390f35b620000ea620000e436600462000c25565b620001ca565b604051620000ca9190620010b7565b620001106200010a36600462000cf2565b620001e8565b005b620000ea6200012336600462000c25565b6200039a565b620001406200013a36600462000de8565b620003b8565b604051620000ca9190620010c7565b620001106200016036600462000d71565b6200045c565b620001106200017736600462000d2b565b62000610565b620001876200078c565b604051620000ca91906200105b565b62000187620001a736600462000c6f565b620007b0565b62000110620001be36600462000cf2565b6200088d565b60005490565b6001600160a01b031660009081526003602052604090205460ff1690565b620001f26200078c565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b1580156200022b57600080fd5b505afa15801562000240573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000266919062000c4e565b6001600160a01b0316336001600160a01b031614620002a25760405162461bcd60e51b815260040162000299906200112b565b60405180910390fd5b60005b81518110156200039657620002ce828281518110620002c057fe5b6020026020010151620001ca565b15620002ee5760405162461bcd60e51b815260040162000299906200113d565b6001600360008484815181106200030157fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055507f4e2cddb881b704c83c6ade58337e3de618b1a567844cc023636b12f2593c92f58282815181106200036e57fe5b60200260200101516040516200038591906200105b565b60405180910390a1600101620002a5565b5050565b6001600160a01b031660009081526002602052604090205460ff1690565b60008181526001602081815260409283902080548451600294821615610100026000190190911693909304601f81018390048302840183019094528383526060939091830182828015620004505780601f10620004245761010080835404028352916020019162000450565b820191906000526020600020905b8154815290600101906020018083116200043257829003601f168201915b50505050509050919050565b620004666200078c565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b1580156200049f57600080fd5b505afa158015620004b4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004da919062000c4e565b6001600160a01b0316336001600160a01b0316146200050d5760405162461bcd60e51b815260040162000299906200112b565b8281146200052f5760405162461bcd60e51b8152600401620002999062001119565b60005b8381101562000609578282828181106200054857fe5b90506020028101906200055c91906200118d565b600160008888868181106200056d57fe5b90506020020135815260200190815260200160002091906200059192919062000a23565b508484828181106200059f57fe5b905060200201357ff2a237a53e7bb8b02a659a4a650726a021c70b7a95fb81df08497a61659a279a848484818110620005d457fe5b9050602002810190620005e891906200118d565b604051620005f8929190620010e1565b60405180910390a260010162000532565b5050505050565b6200061a6200078c565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b1580156200065357600080fd5b505afa15801562000668573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200068e919062000c4e565b6001600160a01b0316336001600160a01b031614620006c15760405162461bcd60e51b815260040162000299906200112b565b60005b8181101562000787576000620006d9620001c4565b6000805460010190559050838383818110620006f157fe5b90506020028101906200070591906200118d565b60008381526001602052604090206200072092909162000a23565b507fc43043ed6e970dd281081754f024483e889327202cc79ec3f4aa059535472133818585858181106200075057fe5b90506020028101906200076491906200118d565b60405162000775939291906200115f565b60405180910390a150600101620006c4565b505050565b7f000000000000000000000000000000000000000000000000000000000000000090565b6000620007bd33620001ca565b620007dc5760405162461bcd60e51b8152600401620002999062001107565b84848484604051620007ee9062000aa8565b620007fd94939291906200106b565b604051809103906000f0801580156200081a573d6000803e3d6000fd5b506001600160a01b0380821660009081526002602052604090819020805460ff19166001179055519192508481169186918816907f1b6bd29f1cd483c0ffcdab807b5fb7193c1ec1661c42cc1c9cba25f9c32efe92906200087d908790620010c7565b60405180910390a4949350505050565b620008976200078c565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b158015620008d057600080fd5b505afa158015620008e5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200090b919062000c4e565b6001600160a01b0316336001600160a01b0316146200093e5760405162461bcd60e51b815260040162000299906200112b565b60005b815181101562000396576200095c828281518110620002c057fe5b6200097b5760405162461bcd60e51b81526004016200029990620010f5565b6000600360008484815181106200098e57fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055507fa800cb2ff9f46268ead3d548d8466dfea9fcab8ff13867076c45be6e38ab97a6828281518110620009fb57fe5b602002602001015160405162000a1291906200105b565b60405180910390a160010162000941565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1062000a665782800160ff1982351617855562000a96565b8280016001018555821562000a96579182015b8281111562000a9657823582559160200191906001019062000a79565b5062000aa492915062000ab6565b5090565b61075580620012f683390190565b5b8082111562000aa4576000815560010162000ab7565b803562000ada81620012d0565b92915050565b805162000ada81620012d0565b600082601f83011262000aff57600080fd5b813562000b1662000b10826200120e565b620011e6565b9150818183526020840193506020810190508385602084028201111562000b3c57600080fd5b60005b8381101562000b6c578162000b55888262000acd565b845250602092830192919091019060010162000b3f565b5050505092915050565b60008083601f84011262000b8957600080fd5b50813567ffffffffffffffff81111562000ba257600080fd5b60208301915083602082028301111562000bbb57600080fd5b9250929050565b600082601f83011262000bd457600080fd5b813562000be562000b108262001230565b9150808252602083016020830185838301111562000c0257600080fd5b62000c0f83828462001287565b50505092915050565b803562000ada81620012ea565b60006020828403121562000c3857600080fd5b600062000c46848462000acd565b949350505050565b60006020828403121562000c6157600080fd5b600062000c46848462000ae0565b6000806000806080858703121562000c8657600080fd5b600062000c94878762000acd565b945050602062000ca78782880162000c18565b935050604062000cba8782880162000acd565b925050606085013567ffffffffffffffff81111562000cd857600080fd5b62000ce68782880162000bc2565b91505092959194509250565b60006020828403121562000d0557600080fd5b813567ffffffffffffffff81111562000d1d57600080fd5b62000c468482850162000aed565b6000806020838503121562000d3f57600080fd5b823567ffffffffffffffff81111562000d5757600080fd5b62000d658582860162000b76565b92509250509250929050565b6000806000806040858703121562000d8857600080fd5b843567ffffffffffffffff81111562000da057600080fd5b62000dae8782880162000b76565b9450945050602085013567ffffffffffffffff81111562000dce57600080fd5b62000ddc8782880162000b76565b95989497509550505050565b60006020828403121562000dfb57600080fd5b600062000c46848462000c18565b62000e148162001266565b82525050565b62000e148162001273565b600062000e328262001259565b62000e3e81856200125d565b935062000e5081856020860162001293565b62000e5b81620012c6565b9093019392505050565b600062000e7383856200125d565b935062000e8283858462001287565b62000e5b83620012c6565b600062000e9c603b836200125d565b7f72656d6f7665506f736974696f6e4465706c6f796572733a204163636f756e7481527f206973206e6f74206120706f736974696f6e206465706c6f7965720000000000602082015260400192915050565b600062000efd6037836200125d565b7f6465706c6f793a204f6e6c79206120706f736974696f6e206465706c6f79657281527f2063616e2063616c6c20746869732066756e6374696f6e000000000000000000602082015260400192915050565b600062000f5e6028836200125d565b7f757064617465506f736974696f6e547970654c6162656c733a20556e657175618152676c2061727261797360c01b602082015260400192915050565b600062000faa6030836200125d565b7f4f6e6c79207468652044697370617463686572206f776e65722063616e20636181526f3636103a3434b990333ab731ba34b7b760811b602082015260400192915050565b600062000ffe603c836200125d565b7f616464506f736974696f6e4465706c6f796572733a204163636f756e7420697381527f20616c7265616479206120706f736974696f6e206465706c6f79657200000000602082015260400192915050565b62000e148162001284565b6020810162000ada828462000e09565b608081016200107b828762000e09565b6200108a602083018662001050565b62001099604083018562000e09565b8181036060830152620010ad818462000e25565b9695505050505050565b6020810162000ada828462000e1a565b60208082528101620010da818462000e25565b9392505050565b6020808252810162000c4681848662000e65565b6020808252810162000ada8162000e8d565b6020808252810162000ada8162000eee565b6020808252810162000ada8162000f4f565b6020808252810162000ada8162000f9b565b6020808252810162000ada8162000fef565b6020810162000ada828462001050565b604081016200116f828662001050565b81810360208301526200118481848662000e65565b95945050505050565b6000808335601e1936859003018112620011a657600080fd5b80840192508235915067ffffffffffffffff821115620011c557600080fd5b602083019250600182023603831315620011de57600080fd5b509250929050565b60405181810167ffffffffffffffff811182821017156200120657600080fd5b604052919050565b600067ffffffffffffffff8211156200122657600080fd5b5060209081020190565b600067ffffffffffffffff8211156200124857600080fd5b506020601f91909101601f19160190565b5190565b90815260200190565b600062000ada8262001278565b151590565b6001600160a01b031690565b90565b82818337506000910152565b60005b83811015620012b057818101518382015260200162001296565b83811115620012c0576000848401525b50505050565b601f01601f191690565b620012db8162001266565b8114620012e757600080fd5b50565b620012db816200128456fe60c060405234801561001057600080fd5b506040516107553803806107558339818101604052608081101561003357600080fd5b81516020830151604080850151606086018051925194969395919493918201928464010000000082111561006657600080fd5b90830190602082018581111561007b57600080fd5b825164010000000081118282018810171561009557600080fd5b82525081516020918201929091019080838360005b838110156100c25781810151838201526020016100aa565b50505050905090810190601f1680156100ef5780820380516001836020036101000a031916815260200191505b50604052505050836001600160a01b031660a0816001600160a01b031660601b81525050826080818152505060006060836001600160a01b0316836040518082805190602001908083835b602083106101595780518252601f19909201916020918201910161013a565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d80600081146101b9576040519150601f19603f3d011682016040523d82523d6000602084013e6101be565b606091505b509150915081819061024e5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156102135781810151838201526020016101fb565b50505050905090810190601f1680156102405780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5050505050505060805160a05160601c6104da61027b600039806101c35250806101e752506104da6000f3fe6080604052600436106100385760003560e01c806312bc0a44146100ea578063c980918714610111578063e5c23a97146101425761003f565b3661003f57005b60006100496101c1565b6001600160a01b03166375d8bb0e61005f6101e5565b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561009357600080fd5b505afa1580156100a7573d6000803e3d6000fd5b505050506040513d60208110156100bd57600080fd5b505190503660008037600080366000846127105a03f43d806000803e8180156100e557816000f35b816000fd5b3480156100f657600080fd5b506100ff6101e5565b60408051918252519081900360200190f35b34801561011d57600080fd5b506101266101c1565b604080516001600160a01b039092168252519081900360200190f35b34801561014e57600080fd5b506101bf6004803603602081101561016557600080fd5b81019060208101813564010000000081111561018057600080fd5b82018360208201111561019257600080fd5b803590602001918460018302840111640100000000831117156101b457600080fd5b509092509050610209565b005b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b6102116101c1565b6001600160a01b0316336001600160a01b0316146102605760405162461bcd60e51b81526004018080602001828103825260378152602001806104976037913960400191505060405180910390fd5b600061026a6101c1565b6001600160a01b03166375d8bb0e6102806101e5565b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156102b457600080fd5b505afa1580156102c8573d6000803e3d6000fd5b505050506040513d60208110156102de57600080fd5b5051604051602060248201908152604482018590529192506000916060916001600160a01b0385169163e5c23a9760e01b9188918891819060640184848082843760008382015260408051601f909201601f1990811690940182810390940182529283526020810180516001600160e01b03166001600160e01b0319909916989098178852915182519297909650869550935090915081905083835b602083106103995780518252601f19909201916020918201910161037a565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d80600081146103f9576040519150601f19603f3d011682016040523d82523d6000602084013e6103fe565b606091505b509150915081819061048e5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561045357818101518382015260200161043b565b50505050905090810190601f1680156104805780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50505050505056fe7265636569766543616c6c46726f6d5661756c743a204f6e6c7920746865207661756c742063616e206d616b6520746869732063616c6ca164736f6c634300060c000aa164736f6c634300060c000a", "sourceMap": "542:6259:23:-:0;;;1505:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1555:24;;-1:-1:-1;;;;;;1555:24:23;;;542:6259;;5:134:-1;83:13;;101:33;83:13;101:33;:::i;:::-;68:71;;;;:::o;146:263::-;;261:2;249:9;240:7;236:23;232:32;229:2;;;277:1;274;267:12;229:2;312:1;329:64;385:7;365:9;329:64;:::i;:::-;319:74;223:186;-1:-1;;;;223:186::o;416:91::-;;-1:-1;;;;;576:54;;478:24;559:76::o;642:117::-;711:24;729:5;711:24;:::i;:::-;704:5;701:35;691:2;;750:1;747;740:12;691:2;685:74;:::o;:::-;542:6259:23;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x60806040523480156200001157600080fd5b5060043610620000ac5760003560e01c8063b678863b116200006f578063b678863b146200014f578063e976aa0e1462000166578063ebb3d589146200017d578063f908bc771462000196578063fdad10f214620001ad57620000ac565b80633825abe814620000b15780635869506714620000d35780635cf5f4f014620000f957806371b79dc114620001125780639b6832a51462000129575b600080fd5b620000bb620001c4565b604051620000ca91906200114f565b60405180910390f35b620000ea620000e436600462000c25565b620001ca565b604051620000ca9190620010b7565b620001106200010a36600462000cf2565b620001e8565b005b620000ea6200012336600462000c25565b6200039a565b620001406200013a36600462000de8565b620003b8565b604051620000ca9190620010c7565b620001106200016036600462000d71565b6200045c565b620001106200017736600462000d2b565b62000610565b620001876200078c565b604051620000ca91906200105b565b62000187620001a736600462000c6f565b620007b0565b62000110620001be36600462000cf2565b6200088d565b60005490565b6001600160a01b031660009081526003602052604090205460ff1690565b620001f26200078c565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b1580156200022b57600080fd5b505afa15801562000240573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000266919062000c4e565b6001600160a01b0316336001600160a01b031614620002a25760405162461bcd60e51b815260040162000299906200112b565b60405180910390fd5b60005b81518110156200039657620002ce828281518110620002c057fe5b6020026020010151620001ca565b15620002ee5760405162461bcd60e51b815260040162000299906200113d565b6001600360008484815181106200030157fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055507f4e2cddb881b704c83c6ade58337e3de618b1a567844cc023636b12f2593c92f58282815181106200036e57fe5b60200260200101516040516200038591906200105b565b60405180910390a1600101620002a5565b5050565b6001600160a01b031660009081526002602052604090205460ff1690565b60008181526001602081815260409283902080548451600294821615610100026000190190911693909304601f81018390048302840183019094528383526060939091830182828015620004505780601f10620004245761010080835404028352916020019162000450565b820191906000526020600020905b8154815290600101906020018083116200043257829003601f168201915b50505050509050919050565b620004666200078c565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b1580156200049f57600080fd5b505afa158015620004b4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004da919062000c4e565b6001600160a01b0316336001600160a01b0316146200050d5760405162461bcd60e51b815260040162000299906200112b565b8281146200052f5760405162461bcd60e51b8152600401620002999062001119565b60005b8381101562000609578282828181106200054857fe5b90506020028101906200055c91906200118d565b600160008888868181106200056d57fe5b90506020020135815260200190815260200160002091906200059192919062000a23565b508484828181106200059f57fe5b905060200201357ff2a237a53e7bb8b02a659a4a650726a021c70b7a95fb81df08497a61659a279a848484818110620005d457fe5b9050602002810190620005e891906200118d565b604051620005f8929190620010e1565b60405180910390a260010162000532565b5050505050565b6200061a6200078c565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b1580156200065357600080fd5b505afa15801562000668573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200068e919062000c4e565b6001600160a01b0316336001600160a01b031614620006c15760405162461bcd60e51b815260040162000299906200112b565b60005b8181101562000787576000620006d9620001c4565b6000805460010190559050838383818110620006f157fe5b90506020028101906200070591906200118d565b60008381526001602052604090206200072092909162000a23565b507fc43043ed6e970dd281081754f024483e889327202cc79ec3f4aa059535472133818585858181106200075057fe5b90506020028101906200076491906200118d565b60405162000775939291906200115f565b60405180910390a150600101620006c4565b505050565b7f000000000000000000000000000000000000000000000000000000000000000090565b6000620007bd33620001ca565b620007dc5760405162461bcd60e51b8152600401620002999062001107565b84848484604051620007ee9062000aa8565b620007fd94939291906200106b565b604051809103906000f0801580156200081a573d6000803e3d6000fd5b506001600160a01b0380821660009081526002602052604090819020805460ff19166001179055519192508481169186918816907f1b6bd29f1cd483c0ffcdab807b5fb7193c1ec1661c42cc1c9cba25f9c32efe92906200087d908790620010c7565b60405180910390a4949350505050565b620008976200078c565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b158015620008d057600080fd5b505afa158015620008e5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200090b919062000c4e565b6001600160a01b0316336001600160a01b0316146200093e5760405162461bcd60e51b815260040162000299906200112b565b60005b815181101562000396576200095c828281518110620002c057fe5b6200097b5760405162461bcd60e51b81526004016200029990620010f5565b6000600360008484815181106200098e57fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055507fa800cb2ff9f46268ead3d548d8466dfea9fcab8ff13867076c45be6e38ab97a6828281518110620009fb57fe5b602002602001015160405162000a1291906200105b565b60405180910390a160010162000941565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1062000a665782800160ff1982351617855562000a96565b8280016001018555821562000a96579182015b8281111562000a9657823582559160200191906001019062000a79565b5062000aa492915062000ab6565b5090565b61075580620012f683390190565b5b8082111562000aa4576000815560010162000ab7565b803562000ada81620012d0565b92915050565b805162000ada81620012d0565b600082601f83011262000aff57600080fd5b813562000b1662000b10826200120e565b620011e6565b9150818183526020840193506020810190508385602084028201111562000b3c57600080fd5b60005b8381101562000b6c578162000b55888262000acd565b845250602092830192919091019060010162000b3f565b5050505092915050565b60008083601f84011262000b8957600080fd5b50813567ffffffffffffffff81111562000ba257600080fd5b60208301915083602082028301111562000bbb57600080fd5b9250929050565b600082601f83011262000bd457600080fd5b813562000be562000b108262001230565b9150808252602083016020830185838301111562000c0257600080fd5b62000c0f83828462001287565b50505092915050565b803562000ada81620012ea565b60006020828403121562000c3857600080fd5b600062000c46848462000acd565b949350505050565b60006020828403121562000c6157600080fd5b600062000c46848462000ae0565b6000806000806080858703121562000c8657600080fd5b600062000c94878762000acd565b945050602062000ca78782880162000c18565b935050604062000cba8782880162000acd565b925050606085013567ffffffffffffffff81111562000cd857600080fd5b62000ce68782880162000bc2565b91505092959194509250565b60006020828403121562000d0557600080fd5b813567ffffffffffffffff81111562000d1d57600080fd5b62000c468482850162000aed565b6000806020838503121562000d3f57600080fd5b823567ffffffffffffffff81111562000d5757600080fd5b62000d658582860162000b76565b92509250509250929050565b6000806000806040858703121562000d8857600080fd5b843567ffffffffffffffff81111562000da057600080fd5b62000dae8782880162000b76565b9450945050602085013567ffffffffffffffff81111562000dce57600080fd5b62000ddc8782880162000b76565b95989497509550505050565b60006020828403121562000dfb57600080fd5b600062000c46848462000c18565b62000e148162001266565b82525050565b62000e148162001273565b600062000e328262001259565b62000e3e81856200125d565b935062000e5081856020860162001293565b62000e5b81620012c6565b9093019392505050565b600062000e7383856200125d565b935062000e8283858462001287565b62000e5b83620012c6565b600062000e9c603b836200125d565b7f72656d6f7665506f736974696f6e4465706c6f796572733a204163636f756e7481527f206973206e6f74206120706f736974696f6e206465706c6f7965720000000000602082015260400192915050565b600062000efd6037836200125d565b7f6465706c6f793a204f6e6c79206120706f736974696f6e206465706c6f79657281527f2063616e2063616c6c20746869732066756e6374696f6e000000000000000000602082015260400192915050565b600062000f5e6028836200125d565b7f757064617465506f736974696f6e547970654c6162656c733a20556e657175618152676c2061727261797360c01b602082015260400192915050565b600062000faa6030836200125d565b7f4f6e6c79207468652044697370617463686572206f776e65722063616e20636181526f3636103a3434b990333ab731ba34b7b760811b602082015260400192915050565b600062000ffe603c836200125d565b7f616464506f736974696f6e4465706c6f796572733a204163636f756e7420697381527f20616c7265616479206120706f736974696f6e206465706c6f79657200000000602082015260400192915050565b62000e148162001284565b6020810162000ada828462000e09565b608081016200107b828762000e09565b6200108a602083018662001050565b62001099604083018562000e09565b8181036060830152620010ad818462000e25565b9695505050505050565b6020810162000ada828462000e1a565b60208082528101620010da818462000e25565b9392505050565b6020808252810162000c4681848662000e65565b6020808252810162000ada8162000e8d565b6020808252810162000ada8162000eee565b6020808252810162000ada8162000f4f565b6020808252810162000ada8162000f9b565b6020808252810162000ada8162000fef565b6020810162000ada828462001050565b604081016200116f828662001050565b81810360208301526200118481848662000e65565b95945050505050565b6000808335601e1936859003018112620011a657600080fd5b80840192508235915067ffffffffffffffff821115620011c557600080fd5b602083019250600182023603831315620011de57600080fd5b509250929050565b60405181810167ffffffffffffffff811182821017156200120657600080fd5b604052919050565b600067ffffffffffffffff8211156200122657600080fd5b5060209081020190565b600067ffffffffffffffff8211156200124857600080fd5b506020601f91909101601f19160190565b5190565b90815260200190565b600062000ada8262001278565b151590565b6001600160a01b031690565b90565b82818337506000910152565b60005b83811015620012b057818101518382015260200162001296565b83811115620012c0576000848401525b50505050565b601f01601f191690565b620012db8162001266565b8114620012e757600080fd5b50565b620012db816200128456fe60c060405234801561001057600080fd5b506040516107553803806107558339818101604052608081101561003357600080fd5b81516020830151604080850151606086018051925194969395919493918201928464010000000082111561006657600080fd5b90830190602082018581111561007b57600080fd5b825164010000000081118282018810171561009557600080fd5b82525081516020918201929091019080838360005b838110156100c25781810151838201526020016100aa565b50505050905090810190601f1680156100ef5780820380516001836020036101000a031916815260200191505b50604052505050836001600160a01b031660a0816001600160a01b031660601b81525050826080818152505060006060836001600160a01b0316836040518082805190602001908083835b602083106101595780518252601f19909201916020918201910161013a565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d80600081146101b9576040519150601f19603f3d011682016040523d82523d6000602084013e6101be565b606091505b509150915081819061024e5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156102135781810151838201526020016101fb565b50505050905090810190601f1680156102405780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5050505050505060805160a05160601c6104da61027b600039806101c35250806101e752506104da6000f3fe6080604052600436106100385760003560e01c806312bc0a44146100ea578063c980918714610111578063e5c23a97146101425761003f565b3661003f57005b60006100496101c1565b6001600160a01b03166375d8bb0e61005f6101e5565b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561009357600080fd5b505afa1580156100a7573d6000803e3d6000fd5b505050506040513d60208110156100bd57600080fd5b505190503660008037600080366000846127105a03f43d806000803e8180156100e557816000f35b816000fd5b3480156100f657600080fd5b506100ff6101e5565b60408051918252519081900360200190f35b34801561011d57600080fd5b506101266101c1565b604080516001600160a01b039092168252519081900360200190f35b34801561014e57600080fd5b506101bf6004803603602081101561016557600080fd5b81019060208101813564010000000081111561018057600080fd5b82018360208201111561019257600080fd5b803590602001918460018302840111640100000000831117156101b457600080fd5b509092509050610209565b005b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b6102116101c1565b6001600160a01b0316336001600160a01b0316146102605760405162461bcd60e51b81526004018080602001828103825260378152602001806104976037913960400191505060405180910390fd5b600061026a6101c1565b6001600160a01b03166375d8bb0e6102806101e5565b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156102b457600080fd5b505afa1580156102c8573d6000803e3d6000fd5b505050506040513d60208110156102de57600080fd5b5051604051602060248201908152604482018590529192506000916060916001600160a01b0385169163e5c23a9760e01b9188918891819060640184848082843760008382015260408051601f909201601f1990811690940182810390940182529283526020810180516001600160e01b03166001600160e01b0319909916989098178852915182519297909650869550935090915081905083835b602083106103995780518252601f19909201916020918201910161037a565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d80600081146103f9576040519150601f19603f3d011682016040523d82523d6000602084013e6103fe565b606091505b509150915081819061048e5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561045357818101518382015260200161043b565b50505050905090810190601f1680156104805780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50505050505056fe7265636569766543616c6c46726f6d5661756c743a204f6e6c7920746865207661756c742063616e206d616b6520746869732063616c6ca164736f6c634300060c000aa164736f6c634300060c000a", "sourceMap": "542:6259:23:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6327:128;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6645:154;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;4095:441::-;;;;;;:::i;:::-;;:::i;:::-;;5749:199;;;;;;:::i;:::-;;:::i;5365:177::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;3419:434::-;;;;;;:::i;:::-;;:::i;2914:357::-;;;;;;:::i;:::-;;:::i;6086:101::-;;;:::i;:::-;;;;;;;:::i;2039:687::-;;;;;;:::i;:::-;;:::i;4686:445::-;;;;;;:::i;:::-;;:::i;6327:128::-;6382:28;6429:19;6327:128;:::o;6645:154::-;-1:-1:-1;;;;;6755:37:23;6712:24;6755:37;;;:27;:37;;;;;;;;;6645:154::o;4095:441::-;1380:15;:13;:15::i;:::-;-1:-1:-1;;;;;1368:37:23;;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1354:53:23;:10;-1:-1:-1;;;;;1354:53:23;;1333:148;;;;-1:-1:-1;;;1333:148:23;;;;;;;:::i;:::-;;;;;;;;;4197:9:::1;4192:338;4212:9;:16;4208:1;:20;4192:338;;;4275:32;4294:9;4304:1;4294:12;;;;;;;;;;;;;;4275:18;:32::i;:::-;4274:33;4249:152;;;;-1:-1:-1::0;;;4249:152:23::1;;;;;;;:::i;:::-;4460:4;4416:27;:41;4444:9;4454:1;4444:12;;;;;;;;;;;;;;-1:-1:-1::0;;;;;4416:41:23::1;-1:-1:-1::0;;;;;4416:41:23::1;;;;;;;;;;;;;:48;;;;;;;;;;;;;;;;;;4484:35;4506:9;4516:1;4506:12;;;;;;;;;;;;;;4484:35;;;;;;:::i;:::-;;;;;;;;4230:3;;4192:338;;;;4095:441:::0;:::o;5749:199::-;-1:-1:-1;;;;;5899:42:23;5847:29;5899:42;;;:32;:42;;;;;;;;;5749:199::o;5365:177::-;5505:30;;;;:21;:30;;;;;;;;;5498:37;;;;;;;;;;;-1:-1:-1;;5498:37:23;;;;;;;;;;;;;;;;;;;;;;;;;;5462:20;;5505:30;;5498:37;;5505:30;5498:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5365:177;;;:::o;3419:434::-;1380:15;:13;:15::i;:::-;-1:-1:-1;;;;;1368:37:23;;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1354:53:23;:10;-1:-1:-1;;;;;1354:53:23;;1333:148;;;;-1:-1:-1;;;1333:148:23;;;;;;;:::i;:::-;3576:33;;::::1;3568:86;;;;-1:-1:-1::0;;;3568:86:23::1;;;;;;;:::i;:::-;3669:9;3664:183;3680:19:::0;;::::1;3664:183;;;3757:7;;3765:1;3757:10;;;;;;;;;;;;;;;;;;:::i;:::-;3720:21;:34;3742:8;;3751:1;3742:11;;;;;;;;;;;;;3720:34;;;;;;;;;;;:47;;;;;;;:::i;:::-;;3812:8;;3821:1;3812:11;;;;;;;;;;;;;3787:49;3825:7;;3833:1;3825:10;;;;;;;;;;;;;;;;;;:::i;:::-;3787:49;;;;;;;:::i;:::-;;;;;;;;3701:3;;3664:183;;;;3419:434:::0;;;;:::o;2914:357::-;1380:15;:13;:15::i;:::-;-1:-1:-1;;;;;1368:37:23;;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1354:53:23;:10;-1:-1:-1;;;;;1354:53:23;;1333:148;;;;-1:-1:-1;;;1333:148:23;;;;;;;:::i;:::-;3014:9:::1;3009:256;3025:18:::0;;::::1;3009:256;;;3064:14;3081:24;:22;:24::i;:::-;3119:19;:21:::0;;::::1;;::::0;;3064:41;-1:-1:-1;3187:7:23;;3195:1;3187:10;;::::1;;;;;;;;;;;;;;;;:::i;:::-;3155:29;::::0;;;:21:::1;:29;::::0;;;;:42:::1;::::0;:29;;:42:::1;:::i;:::-;;3217:37;3235:6;3243:7;;3251:1;3243:10;;;;;;;;;;;;;;;;;;:::i;:::-;3217:37;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1::0;3045:3:23::1;;3009:256;;;;2914:357:::0;;:::o;6086:101::-;6170:10;6086:101;:::o;2039:687::-;2201:30;2264;2283:10;2264:18;:30::i;:::-;2243:132;;;;-1:-1:-1;;;2243:132:23;;;;;;;:::i;:::-;2458:11;2471:7;2480:13;2495:14;2432:78;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;2531:56:23;;;;;;;:32;:56;;;;;;;:63;;-1:-1:-1;;2531:63:23;2590:4;2531:63;;;2610:69;2386:134;;-1:-1:-1;2610:69:23;;;;2640:7;;2610:69;;;;;;;2664:14;;2610:69;:::i;:::-;;;;;;;;2039:687;;;;;;:::o;4686:445::-;1380:15;:13;:15::i;:::-;-1:-1:-1;;;;;1368:37:23;;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1354:53:23;:10;-1:-1:-1;;;;;1354:53:23;;1333:148;;;;-1:-1:-1;;;1333:148:23;;;;;;;:::i;:::-;4791:9:::1;4786:339;4806:9;:16;4802:1;:20;4786:339;;;4868:32;4887:9;4897:1;4887:12;;;;;;;4868:32;4843:150;;;;-1:-1:-1::0;;;4843:150:23::1;;;;;;;:::i;:::-;5052:5;5008:27;:41;5036:9;5046:1;5036:12;;;;;;;;;;;;;;-1:-1:-1::0;;;;;5008:41:23::1;-1:-1:-1::0;;;;;5008:41:23::1;;;;;;;;;;;;;:49;;;;;;;;;;;;;;;;;;5077:37;5101:9;5111:1;5101:12;;;;;;;;;;;;;;5077:37;;;;;;:::i;:::-;;;;;;;;4824:3;;4786:339;;-1:-1:-1::0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;5:130;72:20;;97:33;72:20;97:33;:::i;:::-;57:78;;;;:::o;142:134::-;220:13;;238:33;220:13;238:33;:::i;301:707::-;;418:3;411:4;403:6;399:17;395:27;385:2;;436:1;433;426:12;385:2;473:6;460:20;495:80;510:64;567:6;510:64;:::i;:::-;495:80;:::i;:::-;486:89;;592:5;617:6;610:5;603:21;647:4;639:6;635:17;625:27;;669:4;664:3;660:14;653:21;;722:6;769:3;761:4;753:6;749:17;744:3;740:27;737:36;734:2;;;786:1;783;776:12;734:2;811:1;796:206;821:6;818:1;815:13;796:206;;;879:3;901:37;934:3;922:10;901:37;:::i;:::-;889:50;;-1:-1;962:4;953:14;;;;981;;;;;843:1;836:9;796:206;;;800:14;378:630;;;;;;;:::o;1033:364::-;;;1175:3;1168:4;1160:6;1156:17;1152:27;1142:2;;1193:1;1190;1183:12;1142:2;-1:-1;1213:20;;1253:18;1242:30;;1239:2;;;1285:1;1282;1275:12;1239:2;1319:4;1311:6;1307:17;1295:29;;1370:3;1362:4;1354:6;1350:17;1340:8;1336:32;1333:41;1330:2;;;1387:1;1384;1377:12;1330:2;1135:262;;;;;:::o;1784:440::-;;1885:3;1878:4;1870:6;1866:17;1862:27;1852:2;;1903:1;1900;1893:12;1852:2;1940:6;1927:20;1962:64;1977:48;2018:6;1977:48;:::i;1962:64::-;1953:73;;2046:6;2039:5;2032:21;2082:4;2074:6;2070:17;2115:4;2108:5;2104:16;2150:3;2141:6;2136:3;2132:16;2129:25;2126:2;;;2167:1;2164;2157:12;2126:2;2177:41;2211:6;2206:3;2201;2177:41;:::i;:::-;1845:379;;;;;;;:::o;2232:130::-;2299:20;;2324:33;2299:20;2324:33;:::i;2369:241::-;;2473:2;2461:9;2452:7;2448:23;2444:32;2441:2;;;2489:1;2486;2479:12;2441:2;2524:1;2541:53;2586:7;2566:9;2541:53;:::i;:::-;2531:63;2435:175;-1:-1;;;;2435:175::o;2617:263::-;;2732:2;2720:9;2711:7;2707:23;2703:32;2700:2;;;2748:1;2745;2738:12;2700:2;2783:1;2800:64;2856:7;2836:9;2800:64;:::i;2887:721::-;;;;;3051:3;3039:9;3030:7;3026:23;3022:33;3019:2;;;3068:1;3065;3058:12;3019:2;3103:1;3120:53;3165:7;3145:9;3120:53;:::i;:::-;3110:63;;3082:97;3210:2;3228:53;3273:7;3264:6;3253:9;3249:22;3228:53;:::i;:::-;3218:63;;3189:98;3318:2;3336:53;3381:7;3372:6;3361:9;3357:22;3336:53;:::i;:::-;3326:63;;3297:98;3454:2;3443:9;3439:18;3426:32;3478:18;3470:6;3467:30;3464:2;;;3510:1;3507;3500:12;3464:2;3530:62;3584:7;3575:6;3564:9;3560:22;3530:62;:::i;:::-;3520:72;;3405:193;3013:595;;;;;;;:::o;3615:377::-;;3744:2;3732:9;3723:7;3719:23;3715:32;3712:2;;;3760:1;3757;3750:12;3712:2;3795:31;;3846:18;3835:30;;3832:2;;;3878:1;3875;3868:12;3832:2;3898:78;3968:7;3959:6;3948:9;3944:22;3898:78;:::i;3999:421::-;;;4150:2;4138:9;4129:7;4125:23;4121:32;4118:2;;;4166:1;4163;4156:12;4118:2;4201:31;;4252:18;4241:30;;4238:2;;;4284:1;4281;4274:12;4238:2;4312:92;4396:7;4387:6;4376:9;4372:22;4312:92;:::i;:::-;4294:110;;;;4180:230;4112:308;;;;;:::o;4427:702::-;;;;;4630:2;4618:9;4609:7;4605:23;4601:32;4598:2;;;4646:1;4643;4636:12;4598:2;4681:31;;4732:18;4721:30;;4718:2;;;4764:1;4761;4754:12;4718:2;4792:80;4864:7;4855:6;4844:9;4840:22;4792:80;:::i;:::-;4774:98;;;;4660:218;4937:2;4926:9;4922:18;4909:32;4961:18;4953:6;4950:30;4947:2;;;4993:1;4990;4983:12;4947:2;5021:92;5105:7;5096:6;5085:9;5081:22;5021:92;:::i;:::-;4592:537;;;;-1:-1;5003:110;-1:-1;;;;4592:537::o;5136:241::-;;5240:2;5228:9;5219:7;5215:23;5211:32;5208:2;;;5256:1;5253;5246:12;5208:2;5291:1;5308:53;5353:7;5333:9;5308:53;:::i;5384:113::-;5467:24;5485:5;5467:24;:::i;:::-;5462:3;5455:37;5449:48;;:::o;5504:104::-;5581:21;5596:5;5581:21;:::i;5615:343::-;;5725:38;5757:5;5725:38;:::i;:::-;5775:70;5838:6;5833:3;5775:70;:::i;:::-;5768:77;;5850:52;5895:6;5890:3;5883:4;5876:5;5872:16;5850:52;:::i;:::-;5923:29;5945:6;5923:29;:::i;:::-;5914:39;;;;5705:253;-1:-1;;;5705:253::o;5990:300::-;;6106:71;6170:6;6165:3;6106:71;:::i;:::-;6099:78;;6189:43;6225:6;6220:3;6213:5;6189:43;:::i;:::-;6254:29;6276:6;6254:29;:::i;6653:396::-;;6813:67;6877:2;6872:3;6813:67;:::i;:::-;6913:34;6893:55;;6982:29;6977:2;6968:12;;6961:51;7040:2;7031:12;;6799:250;-1:-1;;6799:250::o;7058:392::-;;7218:67;7282:2;7277:3;7218:67;:::i;:::-;7318:34;7298:55;;7387:25;7382:2;7373:12;;7366:47;7441:2;7432:12;;7204:246;-1:-1;;7204:246::o;7459:377::-;;7619:67;7683:2;7678:3;7619:67;:::i;:::-;7719:34;7699:55;;-1:-1;;;7783:2;7774:12;;7767:32;7827:2;7818:12;;7605:231;-1:-1;;7605:231::o;7845:385::-;;8005:67;8069:2;8064:3;8005:67;:::i;:::-;8105:34;8085:55;;-1:-1;;;8169:2;8160:12;;8153:40;8221:2;8212:12;;7991:239;-1:-1;;7991:239::o;8239:397::-;;8399:67;8463:2;8458:3;8399:67;:::i;:::-;8499:34;8479:55;;8568:30;8563:2;8554:12;;8547:52;8627:2;8618:12;;8385:251;-1:-1;;8385:251::o;8644:113::-;8727:24;8745:5;8727:24;:::i;8764:222::-;8891:2;8876:18;;8905:71;8880:9;8949:6;8905:71;:::i;8993:640::-;9222:3;9207:19;;9237:71;9211:9;9281:6;9237:71;:::i;:::-;9319:72;9387:2;9376:9;9372:18;9363:6;9319:72;:::i;:::-;9402;9470:2;9459:9;9455:18;9446:6;9402:72;:::i;:::-;9522:9;9516:4;9512:20;9507:2;9496:9;9492:18;9485:48;9547:76;9618:4;9609:6;9547:76;:::i;:::-;9539:84;9193:440;-1:-1;;;;;;9193:440::o;9640:210::-;9761:2;9746:18;;9775:65;9750:9;9813:6;9775:65;:::i;9857:306::-;10002:2;10016:47;;;9987:18;;10077:76;9987:18;10139:6;10077:76;:::i;:::-;10069:84;9973:190;-1:-1;;;9973:190::o;10170:330::-;10327:2;10341:47;;;10312:18;;10402:88;10312:18;10476:6;10468;10402:88;:::i;10824:416::-;11024:2;11038:47;;;11009:18;;11099:131;11009:18;11099:131;:::i;11247:416::-;11447:2;11461:47;;;11432:18;;11522:131;11432:18;11522:131;:::i;11670:416::-;11870:2;11884:47;;;11855:18;;11945:131;11855:18;11945:131;:::i;12093:416::-;12293:2;12307:47;;;12278:18;;12368:131;12278:18;12368:131;:::i;12516:416::-;12716:2;12730:47;;;12701:18;;12791:131;12701:18;12791:131;:::i;12939:222::-;13066:2;13051:18;;13080:71;13055:9;13124:6;13080:71;:::i;13168:441::-;13353:2;13338:18;;13367:71;13342:9;13411:6;13367:71;:::i;:::-;13486:9;13480:4;13476:20;13471:2;13460:9;13456:18;13449:48;13511:88;13594:4;13585:6;13577;13511:88;:::i;:::-;13503:96;13324:285;-1:-1;;;;;13324:285::o;13616:507::-;;;13739:25;;-1:-1;;13811:14;13807:29;;;13803:48;13779:73;;13769:2;;13866:1;13863;13856:12;13769:2;13897:18;13887:8;13883:33;13875:41;;13950:4;13937:18;13927:28;;13975:18;13967:6;13964:30;13961:2;;;14007:1;14004;13997:12;13961:2;14035;14029:4;14025:13;14017:21;;14089:4;14081:6;14077:17;14061:14;14057:38;14051:4;14047:49;14044:2;;;14109:1;14106;14099:12;14044:2;13707:416;;;;;;:::o;14130:256::-;14192:2;14186:9;14218:17;;;14293:18;14278:34;;14314:22;;;14275:62;14272:2;;;14350:1;14347;14340:12;14272:2;14366;14359:22;14170:216;;-1:-1;14170:216::o;14393:304::-;;14552:18;14544:6;14541:30;14538:2;;;14584:1;14581;14574:12;14538:2;-1:-1;14619:4;14607:17;;;14672:15;;14475:222::o;14704:321::-;;14847:18;14839:6;14836:30;14833:2;;;14879:1;14876;14869:12;14833:2;-1:-1;15010:4;14946;14923:17;;;;-1:-1;;14919:33;15000:15;;14770:255::o;15032:121::-;15119:12;;15090:63::o;15290:162::-;15392:19;;;15441:4;15432:14;;15385:67::o;15632:91::-;;15694:24;15712:5;15694:24;:::i;15730:85::-;15796:13;15789:21;;15772:43::o;15822:121::-;-1:-1;;;;;15884:54;;15867:76::o;15950:72::-;16012:5;15995:27::o;16030:145::-;16111:6;16106:3;16101;16088:30;-1:-1;16167:1;16149:16;;16142:27;16081:94::o;16184:268::-;16249:1;16256:101;16270:6;16267:1;16264:13;16256:101;;;16337:11;;;16331:18;16318:11;;;16311:39;16292:2;16285:10;16256:101;;;16372:6;16369:1;16366:13;16363:2;;;16437:1;16428:6;16423:3;16419:16;16412:27;16363:2;16233:219;;;;:::o;16460:97::-;16548:2;16528:14;-1:-1;;16524:28;;16508:49::o;16565:117::-;16634:24;16652:5;16634:24;:::i;:::-;16627:5;16624:35;16614:2;;16673:1;16670;16663:12;16614:2;16608:74;:::o;16689:117::-;16758:24;16776:5;16758:24;:::i", "linkReferences": {}, "immutableReferences": { "4602": [ { "start": 1934, "length": 32 } ] } }, "methodIdentifiers": { "addNewPositionTypes(string[])": "e976aa0e", "addPositionDeployers(address[])": "5cf5f4f0", "deploy(address,uint256,address,bytes)": "f908bc77", "getDispatcher()": "ebb3d589", "getLabelForPositionType(uint256)": "9b6832a5", "getPositionTypeCounter()": "3825abe8", "isExternalPositionProxy(address)": "71b79dc1", "isPositionDeployer(address)": "58695067", "removePositionDeployers(address[])": "fdad10f2", "updatePositionTypeLabels(uint256[],string[])": "b678863b" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_dispatcher\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"vaultProxy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"typeId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"constructLib\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"constructData\",\"type\":\"bytes\"}],\"name\":\"PositionDeployed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"positionDeployer\",\"type\":\"address\"}],\"name\":\"PositionDeployerAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"positionDeployer\",\"type\":\"address\"}],\"name\":\"PositionDeployerRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"typeId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"label\",\"type\":\"string\"}],\"name\":\"PositionTypeAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"typeId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"label\",\"type\":\"string\"}],\"name\":\"PositionTypeLabelUpdated\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"string[]\",\"name\":\"_labels\",\"type\":\"string[]\"}],\"name\":\"addNewPositionTypes\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_accounts\",\"type\":\"address[]\"}],\"name\":\"addPositionDeployers\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_typeId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_constructLib\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_constructData\",\"type\":\"bytes\"}],\"name\":\"deploy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"externalPositionProxy_\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDispatcher\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"dispatcher_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_typeId\",\"type\":\"uint256\"}],\"name\":\"getLabelForPositionType\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"label_\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPositionTypeCounter\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"positionTypeCounter_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"}],\"name\":\"isExternalPositionProxy\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isExternalPositionProxy_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"}],\"name\":\"isPositionDeployer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isPositionDeployer_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_accounts\",\"type\":\"address[]\"}],\"name\":\"removePositionDeployers\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"_typeIds\",\"type\":\"uint256[]\"},{\"internalType\":\"string[]\",\"name\":\"_labels\",\"type\":\"string[]\"}],\"name\":\"updatePositionTypeLabels\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"addNewPositionTypes(string[])\":{\"params\":{\"_labels\":\"Labels for each new position type\"}},\"addPositionDeployers(address[])\":{\"params\":{\"_accounts\":\"Accounts to be added as position deployers\"}},\"deploy(address,uint256,address,bytes)\":{\"params\":{\"_constructData\":\"Encoded data to be used on the ExternalPositionProxy constructor\",\"_constructLib\":\"The external position lib contract that will be used on the constructor\",\"_typeId\":\"The type of external position to be created\",\"_vaultProxy\":\"The _vaultProxy owner of the external position\"}},\"getDispatcher()\":{\"returns\":{\"dispatcher_\":\"The `DISPATCHER` variable value\"}},\"getLabelForPositionType(uint256)\":{\"params\":{\"_typeId\":\"The position type id\"},\"returns\":{\"label_\":\"The label\"}},\"getPositionTypeCounter()\":{\"returns\":{\"positionTypeCounter_\":\"The `positionTypeCounter` variable value\"}},\"isExternalPositionProxy(address)\":{\"params\":{\"_account\":\"The account to check\"},\"returns\":{\"isExternalPositionProxy_\":\"True if the account is an externalPositionProxy\"}},\"isPositionDeployer(address)\":{\"params\":{\"_account\":\"The account to check\"},\"returns\":{\"isPositionDeployer_\":\"True if the account is a position deployer\"}},\"removePositionDeployers(address[])\":{\"params\":{\"_accounts\":\"Existing position deployers to be removed from their role\"}},\"updatePositionTypeLabels(uint256[],string[])\":{\"params\":{\"_labels\":\"The updated labels\",\"_typeIds\":\"The position type ids\"}}},\"title\":\"ExternalPositionFactory Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"addNewPositionTypes(string[])\":{\"notice\":\"Adds a set of new position types\"},\"addPositionDeployers(address[])\":{\"notice\":\"Adds a set of new position deployers\"},\"deploy(address,uint256,address,bytes)\":{\"notice\":\"Creates a new external position proxy and adds it to the list of supported external positions\"},\"getDispatcher()\":{\"notice\":\"Gets the `DISPATCHER` variable\"},\"getLabelForPositionType(uint256)\":{\"notice\":\"Gets the label for a position type\"},\"getPositionTypeCounter()\":{\"notice\":\"Gets the `positionTypeCounter` variable\"},\"isExternalPositionProxy(address)\":{\"notice\":\"Checks if an account is an external position proxy\"},\"isPositionDeployer(address)\":{\"notice\":\"Checks if an account is a position deployer\"},\"removePositionDeployers(address[])\":{\"notice\":\"Removes a set of existing position deployers\"},\"updatePositionTypeLabels(uint256[],string[])\":{\"notice\":\"Updates a set of position type labels\"}},\"notice\":\"A contract factory for External Positions\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/external-positions/ExternalPositionFactory.sol\":\"ExternalPositionFactory\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/external-positions/ExternalPositionFactory.sol\":{\"keccak256\":\"0x20bfd32ff5da52c8d53a936635715543602ee87fb0e7e1e1c79d5f5628048251\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5f28762e680e7601e90388670de048310640436f701e2fa0c738127813be01ed\",\"dweb:/ipfs/QmYWR4mTaXYQtQ5He1pfZDS1d1k9s3UNB5GwfoWHFMRdKZ\"]},\"contracts/persistent/external-positions/ExternalPositionProxy.sol\":{\"keccak256\":\"0x8927ca263d3c6dd7093ed8663fe0a3b26162eacae4e5aa602204ceea957c8c54\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ae54235028276298cb7879b64da87d356bf301aa921723570dbf41e79bc821fb\",\"dweb:/ipfs/QmUa5gHtKoD3oSfNuihQPmB4seARwWfkkWrq67PtUM5DWa\"]},\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/persistent/external-positions/IExternalPositionProxy.sol\":{\"keccak256\":\"0xc74e623dbdc949df49e9cef31e0f958b17c715d89198dbbc1754d8f9c21e90de\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://074daf0a9f4e667964e6d50039986e3d792860cdece05d21e3606d33358a02b2\",\"dweb:/ipfs/QmVHXiKry9fYfjSNd6dxmtSr7DubNJvYJTNXtLDKGer2xH\"]},\"contracts/persistent/vault/interfaces/IExternalPositionVault.sol\":{\"keccak256\":\"0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d\",\"dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_dispatcher", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "vaultProxy", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "typeId", "type": "uint256", "indexed": true }, { "internalType": "address", "name": "constructLib", "type": "address", "indexed": true }, { "internalType": "bytes", "name": "constructData", "type": "bytes", "indexed": false } ], "type": "event", "name": "PositionDeployed", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "positionDeployer", "type": "address", "indexed": false } ], "type": "event", "name": "PositionDeployerAdded", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "positionDeployer", "type": "address", "indexed": false } ], "type": "event", "name": "PositionDeployerRemoved", "anonymous": false }, { "inputs": [ { "internalType": "uint256", "name": "typeId", "type": "uint256", "indexed": false }, { "internalType": "string", "name": "label", "type": "string", "indexed": false } ], "type": "event", "name": "PositionTypeAdded", "anonymous": false }, { "inputs": [ { "internalType": "uint256", "name": "typeId", "type": "uint256", "indexed": true }, { "internalType": "string", "name": "label", "type": "string", "indexed": false } ], "type": "event", "name": "PositionTypeLabelUpdated", "anonymous": false }, { "inputs": [ { "internalType": "string[]", "name": "_labels", "type": "string[]" } ], "stateMutability": "nonpayable", "type": "function", "name": "addNewPositionTypes" }, { "inputs": [ { "internalType": "address[]", "name": "_accounts", "type": "address[]" } ], "stateMutability": "nonpayable", "type": "function", "name": "addPositionDeployers" }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "uint256", "name": "_typeId", "type": "uint256" }, { "internalType": "address", "name": "_constructLib", "type": "address" }, { "internalType": "bytes", "name": "_constructData", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "deploy", "outputs": [ { "internalType": "address", "name": "externalPositionProxy_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getDispatcher", "outputs": [ { "internalType": "address", "name": "dispatcher_", "type": "address" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_typeId", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "getLabelForPositionType", "outputs": [ { "internalType": "string", "name": "label_", "type": "string" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getPositionTypeCounter", "outputs": [ { "internalType": "uint256", "name": "positionTypeCounter_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "_account", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "isExternalPositionProxy", "outputs": [ { "internalType": "bool", "name": "isExternalPositionProxy_", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "_account", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "isPositionDeployer", "outputs": [ { "internalType": "bool", "name": "isPositionDeployer_", "type": "bool" } ] }, { "inputs": [ { "internalType": "address[]", "name": "_accounts", "type": "address[]" } ], "stateMutability": "nonpayable", "type": "function", "name": "removePositionDeployers" }, { "inputs": [ { "internalType": "uint256[]", "name": "_typeIds", "type": "uint256[]" }, { "internalType": "string[]", "name": "_labels", "type": "string[]" } ], "stateMutability": "nonpayable", "type": "function", "name": "updatePositionTypeLabels" } ], "devdoc": { "kind": "dev", "methods": { "addNewPositionTypes(string[])": { "params": { "_labels": "Labels for each new position type" } }, "addPositionDeployers(address[])": { "params": { "_accounts": "Accounts to be added as position deployers" } }, "deploy(address,uint256,address,bytes)": { "params": { "_constructData": "Encoded data to be used on the ExternalPositionProxy constructor", "_constructLib": "The external position lib contract that will be used on the constructor", "_typeId": "The type of external position to be created", "_vaultProxy": "The _vaultProxy owner of the external position" } }, "getDispatcher()": { "returns": { "dispatcher_": "The `DISPATCHER` variable value" } }, "getLabelForPositionType(uint256)": { "params": { "_typeId": "The position type id" }, "returns": { "label_": "The label" } }, "getPositionTypeCounter()": { "returns": { "positionTypeCounter_": "The `positionTypeCounter` variable value" } }, "isExternalPositionProxy(address)": { "params": { "_account": "The account to check" }, "returns": { "isExternalPositionProxy_": "True if the account is an externalPositionProxy" } }, "isPositionDeployer(address)": { "params": { "_account": "The account to check" }, "returns": { "isPositionDeployer_": "True if the account is a position deployer" } }, "removePositionDeployers(address[])": { "params": { "_accounts": "Existing position deployers to be removed from their role" } }, "updatePositionTypeLabels(uint256[],string[])": { "params": { "_labels": "The updated labels", "_typeIds": "The position type ids" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "addNewPositionTypes(string[])": { "notice": "Adds a set of new position types" }, "addPositionDeployers(address[])": { "notice": "Adds a set of new position deployers" }, "deploy(address,uint256,address,bytes)": { "notice": "Creates a new external position proxy and adds it to the list of supported external positions" }, "getDispatcher()": { "notice": "Gets the `DISPATCHER` variable" }, "getLabelForPositionType(uint256)": { "notice": "Gets the label for a position type" }, "getPositionTypeCounter()": { "notice": "Gets the `positionTypeCounter` variable" }, "isExternalPositionProxy(address)": { "notice": "Checks if an account is an external position proxy" }, "isPositionDeployer(address)": { "notice": "Checks if an account is a position deployer" }, "removePositionDeployers(address[])": { "notice": "Removes a set of existing position deployers" }, "updatePositionTypeLabels(uint256[],string[])": { "notice": "Updates a set of position type labels" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/persistent/external-positions/ExternalPositionFactory.sol": "ExternalPositionFactory" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/dispatcher/IDispatcher.sol": { "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", "urls": [ "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" ], "license": "GPL-3.0" }, "contracts/persistent/external-positions/ExternalPositionFactory.sol": { "keccak256": "0x20bfd32ff5da52c8d53a936635715543602ee87fb0e7e1e1c79d5f5628048251", "urls": [ "bzz-raw://5f28762e680e7601e90388670de048310640436f701e2fa0c738127813be01ed", "dweb:/ipfs/QmYWR4mTaXYQtQ5He1pfZDS1d1k9s3UNB5GwfoWHFMRdKZ" ], "license": "GPL-3.0" }, "contracts/persistent/external-positions/ExternalPositionProxy.sol": { "keccak256": "0x8927ca263d3c6dd7093ed8663fe0a3b26162eacae4e5aa602204ceea957c8c54", "urls": [ "bzz-raw://ae54235028276298cb7879b64da87d356bf301aa921723570dbf41e79bc821fb", "dweb:/ipfs/QmUa5gHtKoD3oSfNuihQPmB4seARwWfkkWrq67PtUM5DWa" ], "license": "GPL-3.0" }, "contracts/persistent/external-positions/IExternalPosition.sol": { "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", "urls": [ "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" ], "license": "GPL-3.0" }, "contracts/persistent/external-positions/IExternalPositionProxy.sol": { "keccak256": "0xc74e623dbdc949df49e9cef31e0f958b17c715d89198dbbc1754d8f9c21e90de", "urls": [ "bzz-raw://074daf0a9f4e667964e6d50039986e3d792860cdece05d21e3606d33358a02b2", "dweb:/ipfs/QmVHXiKry9fYfjSNd6dxmtSr7DubNJvYJTNXtLDKGer2xH" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IExternalPositionVault.sol": { "keccak256": "0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6", "urls": [ "bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d", "dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 23 } diff --git a/eth_defi/abi/enzyme/ExternalPositionManager.json b/eth_defi/abi/enzyme/ExternalPositionManager.json index b68c2d54..5abd0125 100644 --- a/eth_defi/abi/enzyme/ExternalPositionManager.json +++ b/eth_defi/abi/enzyme/ExternalPositionManager.json @@ -1,1087 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_fundDeployer", - "type": "address" - }, - { - "internalType": "address", - "name": "_externalPositionFactory", - "type": "address" - }, - { - "internalType": "address", - "name": "_policyManager", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "caller", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "comptrollerProxy", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "externalPosition", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "actionId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "actionArgs", - "type": "bytes" - }, - { - "indexed": false, - "internalType": "address[]", - "name": "assetsToTransfer", - "type": "address[]" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "amountsToTransfer", - "type": "uint256[]" - }, - { - "indexed": false, - "internalType": "address[]", - "name": "assetsToReceive", - "type": "address[]" - } - ], - "name": "CallOnExternalPositionExecutedForFund", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "comptrollerProxy", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "vaultProxy", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "externalPosition", - "type": "address" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "externalPositionTypeId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "ExternalPositionDeployedForFund", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint256", - "name": "typeId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "lib", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "parser", - "type": "address" - } - ], - "name": "ExternalPositionTypeInfoUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "comptrollerProxy", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "vaultProxy", - "type": "address" - } - ], - "name": "ValidatedVaultProxySetForFund", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "name": "activateForFund", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "deactivateForFund", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getExternalPositionFactory", - "outputs": [ - { - "internalType": "address", - "name": "externalPositionFactory_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_typeId", - "type": "uint256" - } - ], - "name": "getExternalPositionLibForType", - "outputs": [ - { - "internalType": "address", - "name": "lib_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_typeId", - "type": "uint256" - } - ], - "name": "getExternalPositionParserForType", - "outputs": [ - { - "internalType": "address", - "name": "parser_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getFundDeployer", - "outputs": [ - { - "internalType": "address", - "name": "fundDeployer_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "owner_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getPolicyManager", - "outputs": [ - { - "internalType": "address", - "name": "policyManager_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - } - ], - "name": "getVaultProxyForFund", - "outputs": [ - { - "internalType": "address", - "name": "vaultProxy_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_caller", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_actionId", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_callArgs", - "type": "bytes" - } - ], - "name": "receiveCallFromComptroller", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "setConfigForFund", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256[]", - "name": "_typeIds", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "_libs", - "type": "address[]" - }, - { - "internalType": "address[]", - "name": "_parsers", - "type": "address[]" - } - ], - "name": "updateExternalPositionTypesInfo", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x60e060405234801561001057600080fd5b5060405161252c38038061252c8339818101604052606081101561003357600080fd5b50805160208201516040909201516001600160601b0319606092831b811660805292821b831660a052901b1660c05260805160601c60a05160601c60c05160601c61248b6100a160003980610aa252508061098f52806110e25250806109f25280610a7c525061248b6000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c806380d570631161007157806380d5706314610367578063893d20e81461038657806397c0ac871461038e578063bd8e959a14610396578063d44ad6cb1461039e578063f067cc11146103a6576100b4565b80631bee801e146100b9578063467903461461013e5780634c68a8dc14610180578063634ac96d1461032557806375d8bb0e1461032d5780637c65c1141461034a575b600080fd5b61013c600480360360608110156100cf57600080fd5b6001600160a01b0382351691602081013591810190606081016040820135600160201b8111156100fe57600080fd5b82018360208201111561011057600080fd5b803590602001918460018302840111600160201b8311171561013157600080fd5b50909250905061042d565b005b6101646004803603602081101561015457600080fd5b50356001600160a01b03166106bc565b604080516001600160a01b039092168252519081900360200190f35b61013c6004803603606081101561019657600080fd5b810190602081018135600160201b8111156101b057600080fd5b8201836020820111156101c257600080fd5b803590602001918460208302840111600160201b831117156101e357600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b81111561023257600080fd5b82018360208201111561024457600080fd5b803590602001918460208302840111600160201b8311171561026557600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b8111156102b457600080fd5b8201836020820111156102c657600080fd5b803590602001918460208302840111600160201b831117156102e757600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295506106da945050505050565b61016461098d565b6101646004803603602081101561034357600080fd5b50356109b1565b6101646004803603602081101561036057600080fd5b50356109d0565b61013c6004803603602081101561037d57600080fd5b503515156109eb565b6101646109ee565b610164610a7a565b61013c610a9e565b610164610aa0565b61013c600480360360608110156103bc57600080fd5b6001600160a01b038235811692602081013590911691810190606081016040820135600160201b8111156103ef57600080fd5b82018360208201111561040157600080fd5b803590602001918460018302840111600160201b8311171561042257600080fd5b509092509050610ac4565b336000610439826106bc565b90506001600160a01b0381166104805760405162461bcd60e51b815260040180806020018281038252602d815260200180612423602d913960400191505060405180910390fd5b806001600160a01b031663714ca2d1876040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156104cd57600080fd5b505afa1580156104e1573d6000803e3d6000fd5b505050506040513d60208110156104f757600080fd5b50516105345760405162461bcd60e51b815260040180806020018281038252602881526020018061232b6028913960400191505060405180910390fd5b846105805761057b86838387878080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610b2592505050565b6106b4565b60018514156105e85760008060606105cd87878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061130e92505050565b9250925092506105e089868585856113ee565b5050506106b4565b60028514156106325761057b868386868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611cf092505050565b600385141561067d5761057b86838387878080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611e1592505050565b60405162461bcd60e51b815260040180806020018281038252602d8152602001806122af602d913960400191505060405180910390fd5b505050505050565b6001600160a01b039081166000908152602081905260409020541690565b6106e26109ee565b6001600160a01b0316336001600160a01b0316146107315760405162461bcd60e51b81526004018080602001828103825260498152602001806122666049913960600191505060405180910390fd5b80518351148015610743575080518251145b61077e5760405162461bcd60e51b815260040180806020018281038252602f815260200180612450602f913960400191505060405180910390fd5b60005b83518110156109875761079261098d565b6001600160a01b0316633825abe86040518163ffffffff1660e01b815260040160206040518083038186803b1580156107ca57600080fd5b505afa1580156107de573d6000803e3d6000fd5b505050506040513d60208110156107f457600080fd5b5051845185908390811061080457fe5b6020026020010151106108485760405162461bcd60e51b81526004018080602001828103825260348152602001806123536034913960400191505060405180910390fd5b604051806040016040528083838151811061085f57fe5b60200260200101516001600160a01b0316815260200184838151811061088157fe5b60200260200101516001600160a01b0316815250600160008684815181106108a557fe5b602090810291909101810151825281810192909252604001600020825181546001600160a01b03199081166001600160a01b039283161783559390920151600190910180549093169116179055835184908290811061090057fe5b60200260200101517f14f0f52379e27a06185de7281205c2496464cf539a6dcc46258cc6cebe89dc3084838151811061093557fe5b602002602001015184848151811061094957fe5b602002602001015160405180836001600160a01b03168152602001826001600160a01b031681526020019250505060405180910390a2600101610781565b50505050565b7f000000000000000000000000000000000000000000000000000000000000000090565b600090815260016020819052604090912001546001600160a01b031690565b6000908152600160205260409020546001600160a01b031690565b50565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b158015610a4957600080fd5b505afa158015610a5d573d6000803e3d6000fd5b505050506040513d6020811015610a7357600080fd5b5051905090565b7f000000000000000000000000000000000000000000000000000000000000000090565b565b7f000000000000000000000000000000000000000000000000000000000000000090565b610acc610a7a565b6001600160a01b0316336001600160a01b031614610b1b5760405162461bcd60e51b81526004018080602001828103825260288152602001806123876028913960400191505060405180910390fd5b61098784846120b0565b6000606080838060200190516060811015610b3f57600080fd5b815160208301805160405192949293830192919084600160201b821115610b6557600080fd5b908301906020820185811115610b7a57600080fd5b8251600160201b811182820188101715610b9357600080fd5b82525081516020918201929091019080838360005b83811015610bc0578181015183820152602001610ba8565b50505050905090810190601f168015610bed5780820380516001836020036101000a031916815260200191505b5060405260200180516040519392919084600160201b821115610c0f57600080fd5b908301906020820185811115610c2457600080fd5b8251600160201b811182820188101715610c3d57600080fd5b82525081516020918201929091019080838360005b83811015610c6a578181015183820152602001610c52565b50505050905090810190601f168015610c975780820380516001836020036101000a031916815260200191505b506040525050509250925092506000610caf846109d0565b90506001600160a01b038116610cf65760405162461bcd60e51b81526004018080602001828103825260288152602001806123af6028913960400191505060405180910390fd5b610cfe610aa0565b6001600160a01b0316630442bad58860068b888860405160200180846001600160a01b0316815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610d67578181015183820152602001610d4f565b50505050905090810190601f168015610d945780820380516001836020036101000a031916815260200191505b509450505050506040516020818303038152906040526040518463ffffffff1660e01b815260040180846001600160a01b03168152602001836009811115610dd857fe5b815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610e16578181015183820152602001610dfe565b50505050905090810190601f168015610e435780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b158015610e6457600080fd5b505af1158015610e78573d6000803e3d6000fd5b505050506060816001600160a01b031663db16c72e88866040518363ffffffff1660e01b815260040180836001600160a01b0316815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610eea578181015183820152602001610ed2565b50505050905090810190601f168015610f175780820380516001836020036101000a031916815260200191505b509350505050600060405180830381600087803b158015610f3757600080fd5b505af1158015610f4b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526020811015610f7457600080fd5b8101908080516040519392919084600160201b821115610f9357600080fd5b908301906020820185811115610fa857600080fd5b8251600160201b811182820188101715610fc157600080fd5b82525081516020918201929091019080838360005b83811015610fee578181015183820152602001610fd6565b50505050905090810190601f16801561101b5780820380516001836020036101000a031916815260200191505b5060405250505090506060634ddf47d460e01b826040516024018080602001828103825283818151815260200191508051906020019080838360005b8381101561106f578181015183820152602001611057565b50505050905090810190601f16801561109c5780820380516001836020036101000a031916815260200191505b5060408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909616959095179094525091925060009150506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001663f908bc778a89611112816109b1565b866040518563ffffffff1660e01b815260040180856001600160a01b03168152602001848152602001836001600160a01b0316815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561118357818101518382015260200161116b565b50505050905090810190601f1680156111b05780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b1580156111d257600080fd5b505af11580156111e6573d6000803e3d6000fd5b505050506040513d60208110156111fc57600080fd5b8101908080519060200190929190505050905086896001600160a01b03168b6001600160a01b03167fc3b9bcc16acc2ee56104cb9a5d736ade0f1446a66aa9e217d8fa5b44f946b59e848760405180836001600160a01b0316815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561129357818101518382015260200161127b565b50505050905090810190601f1680156112c05780820380516001836020036101000a031916815260200191505b50935050505060405180910390a46112d88a82612107565b84511561130157600060606112ec8761130e565b92509250506112fe8d8d8585856113ee565b50505b5050505050505050505050565b600080606083806020019051606081101561132857600080fd5b81516020830151604080850180519151939592948301929184600160201b82111561135257600080fd5b90830190602082018581111561136757600080fd5b8251600160201b81118282018810171561138057600080fd5b82525081516020918201929091019080838360005b838110156113ad578181015183820152602001611395565b50505050905090810190601f1680156113da5780820380516001836020036101000a031916815260200191505b506040525050509250925092509193909250565b600061145d846001600160a01b03166312bc0a446040518163ffffffff1660e01b815260040160206040518083038186803b15801561142c57600080fd5b505afa158015611440573d6000803e3d6000fd5b505050506040513d602081101561145657600080fd5b50516109d0565b90506060806060836001600160a01b031663bbd2d6468888886040518463ffffffff1660e01b815260040180846001600160a01b0316815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b838110156114d75781810151838201526020016114bf565b50505050905090810190601f1680156115045780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b15801561152557600080fd5b505af1158015611539573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052606081101561156257600080fd5b8101908080516040519392919084600160201b82111561158157600080fd5b90830190602082018581111561159657600080fd5b82518660208202830111600160201b821117156115b257600080fd5b82525081516020918201928201910280838360005b838110156115df5781810151838201526020016115c7565b5050505090500160405260200180516040519392919084600160201b82111561160757600080fd5b90830190602082018581111561161c57600080fd5b82518660208202830111600160201b8211171561163857600080fd5b82525081516020918201928201910280838360005b8381101561166557818101518382015260200161164d565b5050505090500160405260200180516040519392919084600160201b82111561168d57600080fd5b9083019060208201858111156116a257600080fd5b82518660208202830111600160201b821117156116be57600080fd5b82525081516020918201928201910280838360005b838110156116eb5781810151838201526020016116d3565b50505050905001604052505050925092509250606086866040516020018083815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611748578181015183820152602001611730565b50505050905090810190601f1680156117755780820380516001836020036101000a031916815260200191505b50935050505060405160208183030381529060405290506118f689898387878760405160200180866001600160a01b0316815260200180602001806020018060200180602001858103855289818151815260200191508051906020019080838360005b838110156117f05781810151838201526020016117d8565b50505050905090810190601f16801561181d5780820380516001836020036101000a031916815260200191505b508581038452885181528851602091820191808b01910280838360005b8381101561185257818101518382015260200161183a565b50505050905001858103835287818151815260200191508051906020019060200280838360005b83811015611891578181015183820152602001611879565b50505050905001858103825286818151815260200191508051906020019060200280838360005b838110156118d05781810151838201526020016118b8565b5050505090500199505050505050505050506040516020818303038152906040526121ed565b6118fe610aa0565b6001600160a01b0316630442bad58a60078d8c8989898960405160200180876001600160a01b03168152602001866001600160a01b0316815260200180602001806020018060200180602001858103855289818151815260200191508051906020019060200280838360005b8381101561198257818101518382015260200161196a565b50505050905001858103845288818151815260200191508051906020019060200280838360005b838110156119c15781810151838201526020016119a9565b50505050905001858103835287818151815260200191508051906020019060200280838360005b83811015611a005781810151838201526020016119e8565b50505050905001858103825286818151815260200191508051906020019080838360005b83811015611a3c578181015183820152602001611a24565b50505050905090810190601f168015611a695780820380516001836020036101000a031916815260200191505b509a50505050505050505050506040516020818303038152906040526040518463ffffffff1660e01b815260040180846001600160a01b03168152602001836009811115611ab357fe5b815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611af1578181015183820152602001611ad9565b50505050905090810190601f168015611b1e5780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b158015611b3f57600080fd5b505af1158015611b53573d6000803e3d6000fd5b50505050876001600160a01b0316896001600160a01b03168b6001600160a01b03167f62e5ab7686baa8b666d45a227de296ea589ff48f1f215ca0e647ef6417a8657e8a8a8989896040518086815260200180602001806020018060200180602001858103855289818151815260200191508051906020019080838360005b83811015611bea578181015183820152602001611bd2565b50505050905090810190601f168015611c175780820380516001836020036101000a031916815260200191505b508581038452885181528851602091820191808b01910280838360005b83811015611c4c578181015183820152602001611c34565b50505050905001858103835287818151815260200191508051906020019060200280838360005b83811015611c8b578181015183820152602001611c73565b50505050905001858103825286818151815260200191508051906020019060200280838360005b83811015611cca578181015183820152602001611cb2565b50505050905001995050505050505050505060405180910390a450505050505050505050565b6000818060200190516020811015611d0757600080fd5b50519050611d13610aa0565b604080516001600160a01b038781166020830152848116828401528251808303840181526060830193849052630442bad560e01b90935286811660648301908152931692630442bad59287926008929060840183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611da5578181015183820152602001611d8d565b50505050905090810190601f168015611dd25780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b158015611df357600080fd5b505af1158015611e07573d6000803e3d6000fd5b50505050610987838261221a565b6000818060200190516020811015611e2c57600080fd5b50519050611e3861098d565b6001600160a01b03166371b79dc1826040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015611e8457600080fd5b505afa158015611e98573d6000803e3d6000fd5b505050506040513d6020811015611eae57600080fd5b5051611eeb5760405162461bcd60e51b815260040180806020018281038252604f8152602001806122dc604f913960600191505060405180910390fd5b826001600160a01b0316816001600160a01b031663c98091876040518163ffffffff1660e01b815260040160206040518083038186803b158015611f2e57600080fd5b505afa158015611f42573d6000803e3d6000fd5b505050506040513d6020811015611f5857600080fd5b50516001600160a01b031614611f9f5760405162461bcd60e51b815260040180806020018281038252604c8152602001806123d7604c913960600191505060405180910390fd5b611fa7610aa0565b604080516001600160a01b038881166020830152848116828401528251808303840181526060830193849052630442bad560e01b90935287811660648301908152931692630442bad59288926009929060840183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015612039578181015183820152602001612021565b50505050905090810190601f1680156120665780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b15801561208757600080fd5b505af115801561209b573d6000803e3d6000fd5b505050506120a98482612107565b5050505050565b6001600160a01b0382811660008181526020819052604080822080546001600160a01b0319169486169485179055517f8852dcaa71340ea616a65ffac013450dfb238607481fb9d78346c667fe256c139190a35050565b604080516001600160a01b0383811660208084019190915283518084039091018152828401938490526310acd06d60e01b9093528416916310acd06d916008919060440180835b815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561218c578181015183820152602001612174565b50505050905090810190601f1680156121b95780820380516001836020036101000a031916815260200191505b509350505050600060405180830381600087803b1580156121d957600080fd5b505af11580156106b4573d6000803e3d6000fd5b6040516310acd06d60e01b81526001600160a01b038316906310acd06d906009908490600401808361214e565b604080516001600160a01b0383811660208084019190915283518084039091018152828401938490526310acd06d60e01b9093528416916310acd06d91600a9190604401808361214e56fe6f6e6c7946756e644465706c6f7965724f776e65723a204f6e6c79207468652046756e644465706c6f796572206f776e65722063616e2063616c6c20746869732066756e6374696f6e7265636569766543616c6c46726f6d436f6d7074726f6c6c65723a20496e76616c6964205f616374696f6e49645f5f7265616374697661746545787465726e616c506f736974696f6e3a204163636f756e742070726f7669646564206973206e6f7420612076616c69642065787465726e616c20706f736974696f6e7265636569766543616c6c46726f6d436f6d7074726f6c6c65723a20556e617574686f72697a656475706461746545787465726e616c506f736974696f6e5479706573496e666f3a205479706520646f6573206e6f742065786973744f6e6c79207468652046756e644465706c6f7965722063616e206d616b6520746869732063616c6c5f5f63726561746545787465726e616c506f736974696f6e3a20496e76616c6964207479706549645f5f7265616374697661746545787465726e616c506f736974696f6e3a2045787465726e616c20706f736974696f6e2062656c6f6e677320746f206120646966666572656e74207661756c747265636569766543616c6c46726f6d436f6d7074726f6c6c65723a2046756e64206973206e6f742076616c696475706461746545787465726e616c506f736974696f6e5479706573496e666f3a20556e657175616c20617272617973a164736f6c634300060c000a", - "sourceMap": "905:12848:85:-:0;;;1868:269;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1868:269:85;;;;;;;;;;;-1:-1:-1;;;;;;1868:269:85;864:29:358;;;;;;;2037:52:85;;;;;::::1;::::0;2099:31;;;::::1;::::0;905:12848;;;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106100b45760003560e01c806380d570631161007157806380d5706314610367578063893d20e81461038657806397c0ac871461038e578063bd8e959a14610396578063d44ad6cb1461039e578063f067cc11146103a6576100b4565b80631bee801e146100b9578063467903461461013e5780634c68a8dc14610180578063634ac96d1461032557806375d8bb0e1461032d5780637c65c1141461034a575b600080fd5b61013c600480360360608110156100cf57600080fd5b6001600160a01b0382351691602081013591810190606081016040820135600160201b8111156100fe57600080fd5b82018360208201111561011057600080fd5b803590602001918460018302840111600160201b8311171561013157600080fd5b50909250905061042d565b005b6101646004803603602081101561015457600080fd5b50356001600160a01b03166106bc565b604080516001600160a01b039092168252519081900360200190f35b61013c6004803603606081101561019657600080fd5b810190602081018135600160201b8111156101b057600080fd5b8201836020820111156101c257600080fd5b803590602001918460208302840111600160201b831117156101e357600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b81111561023257600080fd5b82018360208201111561024457600080fd5b803590602001918460208302840111600160201b8311171561026557600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b8111156102b457600080fd5b8201836020820111156102c657600080fd5b803590602001918460208302840111600160201b831117156102e757600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295506106da945050505050565b61016461098d565b6101646004803603602081101561034357600080fd5b50356109b1565b6101646004803603602081101561036057600080fd5b50356109d0565b61013c6004803603602081101561037d57600080fd5b503515156109eb565b6101646109ee565b610164610a7a565b61013c610a9e565b610164610aa0565b61013c600480360360608110156103bc57600080fd5b6001600160a01b038235811692602081013590911691810190606081016040820135600160201b8111156103ef57600080fd5b82018360208201111561040157600080fd5b803590602001918460018302840111600160201b8311171561042257600080fd5b509092509050610ac4565b336000610439826106bc565b90506001600160a01b0381166104805760405162461bcd60e51b815260040180806020018281038252602d815260200180612423602d913960400191505060405180910390fd5b806001600160a01b031663714ca2d1876040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156104cd57600080fd5b505afa1580156104e1573d6000803e3d6000fd5b505050506040513d60208110156104f757600080fd5b50516105345760405162461bcd60e51b815260040180806020018281038252602881526020018061232b6028913960400191505060405180910390fd5b846105805761057b86838387878080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610b2592505050565b6106b4565b60018514156105e85760008060606105cd87878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061130e92505050565b9250925092506105e089868585856113ee565b5050506106b4565b60028514156106325761057b868386868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611cf092505050565b600385141561067d5761057b86838387878080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611e1592505050565b60405162461bcd60e51b815260040180806020018281038252602d8152602001806122af602d913960400191505060405180910390fd5b505050505050565b6001600160a01b039081166000908152602081905260409020541690565b6106e26109ee565b6001600160a01b0316336001600160a01b0316146107315760405162461bcd60e51b81526004018080602001828103825260498152602001806122666049913960600191505060405180910390fd5b80518351148015610743575080518251145b61077e5760405162461bcd60e51b815260040180806020018281038252602f815260200180612450602f913960400191505060405180910390fd5b60005b83518110156109875761079261098d565b6001600160a01b0316633825abe86040518163ffffffff1660e01b815260040160206040518083038186803b1580156107ca57600080fd5b505afa1580156107de573d6000803e3d6000fd5b505050506040513d60208110156107f457600080fd5b5051845185908390811061080457fe5b6020026020010151106108485760405162461bcd60e51b81526004018080602001828103825260348152602001806123536034913960400191505060405180910390fd5b604051806040016040528083838151811061085f57fe5b60200260200101516001600160a01b0316815260200184838151811061088157fe5b60200260200101516001600160a01b0316815250600160008684815181106108a557fe5b602090810291909101810151825281810192909252604001600020825181546001600160a01b03199081166001600160a01b039283161783559390920151600190910180549093169116179055835184908290811061090057fe5b60200260200101517f14f0f52379e27a06185de7281205c2496464cf539a6dcc46258cc6cebe89dc3084838151811061093557fe5b602002602001015184848151811061094957fe5b602002602001015160405180836001600160a01b03168152602001826001600160a01b031681526020019250505060405180910390a2600101610781565b50505050565b7f000000000000000000000000000000000000000000000000000000000000000090565b600090815260016020819052604090912001546001600160a01b031690565b6000908152600160205260409020546001600160a01b031690565b50565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b158015610a4957600080fd5b505afa158015610a5d573d6000803e3d6000fd5b505050506040513d6020811015610a7357600080fd5b5051905090565b7f000000000000000000000000000000000000000000000000000000000000000090565b565b7f000000000000000000000000000000000000000000000000000000000000000090565b610acc610a7a565b6001600160a01b0316336001600160a01b031614610b1b5760405162461bcd60e51b81526004018080602001828103825260288152602001806123876028913960400191505060405180910390fd5b61098784846120b0565b6000606080838060200190516060811015610b3f57600080fd5b815160208301805160405192949293830192919084600160201b821115610b6557600080fd5b908301906020820185811115610b7a57600080fd5b8251600160201b811182820188101715610b9357600080fd5b82525081516020918201929091019080838360005b83811015610bc0578181015183820152602001610ba8565b50505050905090810190601f168015610bed5780820380516001836020036101000a031916815260200191505b5060405260200180516040519392919084600160201b821115610c0f57600080fd5b908301906020820185811115610c2457600080fd5b8251600160201b811182820188101715610c3d57600080fd5b82525081516020918201929091019080838360005b83811015610c6a578181015183820152602001610c52565b50505050905090810190601f168015610c975780820380516001836020036101000a031916815260200191505b506040525050509250925092506000610caf846109d0565b90506001600160a01b038116610cf65760405162461bcd60e51b81526004018080602001828103825260288152602001806123af6028913960400191505060405180910390fd5b610cfe610aa0565b6001600160a01b0316630442bad58860068b888860405160200180846001600160a01b0316815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610d67578181015183820152602001610d4f565b50505050905090810190601f168015610d945780820380516001836020036101000a031916815260200191505b509450505050506040516020818303038152906040526040518463ffffffff1660e01b815260040180846001600160a01b03168152602001836009811115610dd857fe5b815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610e16578181015183820152602001610dfe565b50505050905090810190601f168015610e435780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b158015610e6457600080fd5b505af1158015610e78573d6000803e3d6000fd5b505050506060816001600160a01b031663db16c72e88866040518363ffffffff1660e01b815260040180836001600160a01b0316815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610eea578181015183820152602001610ed2565b50505050905090810190601f168015610f175780820380516001836020036101000a031916815260200191505b509350505050600060405180830381600087803b158015610f3757600080fd5b505af1158015610f4b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526020811015610f7457600080fd5b8101908080516040519392919084600160201b821115610f9357600080fd5b908301906020820185811115610fa857600080fd5b8251600160201b811182820188101715610fc157600080fd5b82525081516020918201929091019080838360005b83811015610fee578181015183820152602001610fd6565b50505050905090810190601f16801561101b5780820380516001836020036101000a031916815260200191505b5060405250505090506060634ddf47d460e01b826040516024018080602001828103825283818151815260200191508051906020019080838360005b8381101561106f578181015183820152602001611057565b50505050905090810190601f16801561109c5780820380516001836020036101000a031916815260200191505b5060408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909616959095179094525091925060009150506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001663f908bc778a89611112816109b1565b866040518563ffffffff1660e01b815260040180856001600160a01b03168152602001848152602001836001600160a01b0316815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561118357818101518382015260200161116b565b50505050905090810190601f1680156111b05780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b1580156111d257600080fd5b505af11580156111e6573d6000803e3d6000fd5b505050506040513d60208110156111fc57600080fd5b8101908080519060200190929190505050905086896001600160a01b03168b6001600160a01b03167fc3b9bcc16acc2ee56104cb9a5d736ade0f1446a66aa9e217d8fa5b44f946b59e848760405180836001600160a01b0316815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561129357818101518382015260200161127b565b50505050905090810190601f1680156112c05780820380516001836020036101000a031916815260200191505b50935050505060405180910390a46112d88a82612107565b84511561130157600060606112ec8761130e565b92509250506112fe8d8d8585856113ee565b50505b5050505050505050505050565b600080606083806020019051606081101561132857600080fd5b81516020830151604080850180519151939592948301929184600160201b82111561135257600080fd5b90830190602082018581111561136757600080fd5b8251600160201b81118282018810171561138057600080fd5b82525081516020918201929091019080838360005b838110156113ad578181015183820152602001611395565b50505050905090810190601f1680156113da5780820380516001836020036101000a031916815260200191505b506040525050509250925092509193909250565b600061145d846001600160a01b03166312bc0a446040518163ffffffff1660e01b815260040160206040518083038186803b15801561142c57600080fd5b505afa158015611440573d6000803e3d6000fd5b505050506040513d602081101561145657600080fd5b50516109d0565b90506060806060836001600160a01b031663bbd2d6468888886040518463ffffffff1660e01b815260040180846001600160a01b0316815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b838110156114d75781810151838201526020016114bf565b50505050905090810190601f1680156115045780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b15801561152557600080fd5b505af1158015611539573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052606081101561156257600080fd5b8101908080516040519392919084600160201b82111561158157600080fd5b90830190602082018581111561159657600080fd5b82518660208202830111600160201b821117156115b257600080fd5b82525081516020918201928201910280838360005b838110156115df5781810151838201526020016115c7565b5050505090500160405260200180516040519392919084600160201b82111561160757600080fd5b90830190602082018581111561161c57600080fd5b82518660208202830111600160201b8211171561163857600080fd5b82525081516020918201928201910280838360005b8381101561166557818101518382015260200161164d565b5050505090500160405260200180516040519392919084600160201b82111561168d57600080fd5b9083019060208201858111156116a257600080fd5b82518660208202830111600160201b821117156116be57600080fd5b82525081516020918201928201910280838360005b838110156116eb5781810151838201526020016116d3565b50505050905001604052505050925092509250606086866040516020018083815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611748578181015183820152602001611730565b50505050905090810190601f1680156117755780820380516001836020036101000a031916815260200191505b50935050505060405160208183030381529060405290506118f689898387878760405160200180866001600160a01b0316815260200180602001806020018060200180602001858103855289818151815260200191508051906020019080838360005b838110156117f05781810151838201526020016117d8565b50505050905090810190601f16801561181d5780820380516001836020036101000a031916815260200191505b508581038452885181528851602091820191808b01910280838360005b8381101561185257818101518382015260200161183a565b50505050905001858103835287818151815260200191508051906020019060200280838360005b83811015611891578181015183820152602001611879565b50505050905001858103825286818151815260200191508051906020019060200280838360005b838110156118d05781810151838201526020016118b8565b5050505090500199505050505050505050506040516020818303038152906040526121ed565b6118fe610aa0565b6001600160a01b0316630442bad58a60078d8c8989898960405160200180876001600160a01b03168152602001866001600160a01b0316815260200180602001806020018060200180602001858103855289818151815260200191508051906020019060200280838360005b8381101561198257818101518382015260200161196a565b50505050905001858103845288818151815260200191508051906020019060200280838360005b838110156119c15781810151838201526020016119a9565b50505050905001858103835287818151815260200191508051906020019060200280838360005b83811015611a005781810151838201526020016119e8565b50505050905001858103825286818151815260200191508051906020019080838360005b83811015611a3c578181015183820152602001611a24565b50505050905090810190601f168015611a695780820380516001836020036101000a031916815260200191505b509a50505050505050505050506040516020818303038152906040526040518463ffffffff1660e01b815260040180846001600160a01b03168152602001836009811115611ab357fe5b815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611af1578181015183820152602001611ad9565b50505050905090810190601f168015611b1e5780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b158015611b3f57600080fd5b505af1158015611b53573d6000803e3d6000fd5b50505050876001600160a01b0316896001600160a01b03168b6001600160a01b03167f62e5ab7686baa8b666d45a227de296ea589ff48f1f215ca0e647ef6417a8657e8a8a8989896040518086815260200180602001806020018060200180602001858103855289818151815260200191508051906020019080838360005b83811015611bea578181015183820152602001611bd2565b50505050905090810190601f168015611c175780820380516001836020036101000a031916815260200191505b508581038452885181528851602091820191808b01910280838360005b83811015611c4c578181015183820152602001611c34565b50505050905001858103835287818151815260200191508051906020019060200280838360005b83811015611c8b578181015183820152602001611c73565b50505050905001858103825286818151815260200191508051906020019060200280838360005b83811015611cca578181015183820152602001611cb2565b50505050905001995050505050505050505060405180910390a450505050505050505050565b6000818060200190516020811015611d0757600080fd5b50519050611d13610aa0565b604080516001600160a01b038781166020830152848116828401528251808303840181526060830193849052630442bad560e01b90935286811660648301908152931692630442bad59287926008929060840183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611da5578181015183820152602001611d8d565b50505050905090810190601f168015611dd25780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b158015611df357600080fd5b505af1158015611e07573d6000803e3d6000fd5b50505050610987838261221a565b6000818060200190516020811015611e2c57600080fd5b50519050611e3861098d565b6001600160a01b03166371b79dc1826040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015611e8457600080fd5b505afa158015611e98573d6000803e3d6000fd5b505050506040513d6020811015611eae57600080fd5b5051611eeb5760405162461bcd60e51b815260040180806020018281038252604f8152602001806122dc604f913960600191505060405180910390fd5b826001600160a01b0316816001600160a01b031663c98091876040518163ffffffff1660e01b815260040160206040518083038186803b158015611f2e57600080fd5b505afa158015611f42573d6000803e3d6000fd5b505050506040513d6020811015611f5857600080fd5b50516001600160a01b031614611f9f5760405162461bcd60e51b815260040180806020018281038252604c8152602001806123d7604c913960600191505060405180910390fd5b611fa7610aa0565b604080516001600160a01b038881166020830152848116828401528251808303840181526060830193849052630442bad560e01b90935287811660648301908152931692630442bad59288926009929060840183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015612039578181015183820152602001612021565b50505050905090810190601f1680156120665780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b15801561208757600080fd5b505af115801561209b573d6000803e3d6000fd5b505050506120a98482612107565b5050505050565b6001600160a01b0382811660008181526020819052604080822080546001600160a01b0319169486169485179055517f8852dcaa71340ea616a65ffac013450dfb238607481fb9d78346c667fe256c139190a35050565b604080516001600160a01b0383811660208084019190915283518084039091018152828401938490526310acd06d60e01b9093528416916310acd06d916008919060440180835b815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561218c578181015183820152602001612174565b50505050905090810190601f1680156121b95780820380516001836020036101000a031916815260200191505b509350505050600060405180830381600087803b1580156121d957600080fd5b505af11580156106b4573d6000803e3d6000fd5b6040516310acd06d60e01b81526001600160a01b038316906310acd06d906009908490600401808361214e565b604080516001600160a01b0383811660208084019190915283518084039091018152828401938490526310acd06d60e01b9093528416916310acd06d91600a9190604401808361214e56fe6f6e6c7946756e644465706c6f7965724f776e65723a204f6e6c79207468652046756e644465706c6f796572206f776e65722063616e2063616c6c20746869732066756e6374696f6e7265636569766543616c6c46726f6d436f6d7074726f6c6c65723a20496e76616c6964205f616374696f6e49645f5f7265616374697661746545787465726e616c506f736974696f6e3a204163636f756e742070726f7669646564206973206e6f7420612076616c69642065787465726e616c20706f736974696f6e7265636569766543616c6c46726f6d436f6d7074726f6c6c65723a20556e617574686f72697a656475706461746545787465726e616c506f736974696f6e5479706573496e666f3a205479706520646f6573206e6f742065786973744f6e6c79207468652046756e644465706c6f7965722063616e206d616b6520746869732063616c6c5f5f63726561746545787465726e616c506f736974696f6e3a20496e76616c6964207479706549645f5f7265616374697661746545787465726e616c506f736974696f6e3a2045787465726e616c20706f736974696f6e2062656c6f6e677320746f206120646966666572656e74207661756c747265636569766543616c6c46726f6d436f6d7074726f6c6c65723a2046756e64206973206e6f742076616c696475706461746545787465726e616c506f736974696f6e5479706573496e666f3a20556e657175616c20617272617973a164736f6c634300060c000a", - "sourceMap": "905:12848:85:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3000:1927;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3000:1927:85;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3000:1927:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3000:1927:85;;;;;;;;;;-1:-1:-1;3000:1927:85;;-1:-1:-1;3000:1927:85;-1:-1:-1;3000:1927:85;:::i;:::-;;2692:198:226;;;;;;;;;;;;;;;;-1:-1:-1;2692:198:226;-1:-1:-1;;;;;2692:198:226;;:::i;:::-;;;;-1:-1:-1;;;;;2692:198:226;;;;;;;;;;;;;;11445:902:85;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;11445:902:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;11445:902:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11445:902:85;;;;;;;;-1:-1:-1;11445:902:85;;-1:-1:-1;;;;;11445:902:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;11445:902:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11445:902:85;;;;;;;;-1:-1:-1;11445:902:85;;-1:-1:-1;;;;;11445:902:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;11445:902:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11445:902:85;;-1:-1:-1;11445:902:85;;-1:-1:-1;;;;;11445:902:85:i;12576:142::-;;;:::i;12931:189::-;;;;;;;;;;;;;;;;-1:-1:-1;12931:189:85;;:::i;13335:181::-;;;;;;;;;;;;;;;;-1:-1:-1;13335:181:85;;:::i;1120:80:226:-;;;;;;;;;;;;;;;;-1:-1:-1;1120:80:226;;;;:::i;1064:120:358:-;;;:::i;1378:108::-;;;:::i;1346:78:226:-;;;:::i;13640:111:85:-;;;:::i;2391:228::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2391:228:85;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2391:228:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2391:228:85;;;;;;;;;;-1:-1:-1;2391:228:85;;-1:-1:-1;2391:228:85;-1:-1:-1;2391:228:85;:::i;3000:1927::-;3183:10;3156:24;3444:38;3183:10;3444:20;:38::i;:::-;3423:59;-1:-1:-1;;;;;;3500:24:85;;3492:82;;;;-1:-1:-1;;;3492:82:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3613:10;-1:-1:-1;;;;;3606:34:85;;3641:7;3606:43;;;;;;;;;;;;;-1:-1:-1;;;;;3606:43:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3606:43:85;3585:130;;;;-1:-1:-1;;;3585:130:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3761:75;3757:1164;;3852:74;3877:7;3886:16;3904:10;3916:9;;3852:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3852:24:85;;-1:-1:-1;;;3852:74:85:i;:::-;3757:1164;;;3968:53;3947:9;:75;3943:978;;;4056:24;4098:16;4132:23;4172:49;4211:9;;4172:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4172:38:85;;-1:-1:-1;;;4172:49:85:i;:::-;4038:183;;;;;;4235:192;4284:7;4309:16;4343;4377:8;4403:10;4235:31;:192::i;:::-;3943:978;;;;;;4469:53;4448:9;:75;4444:477;;;4539:69;4571:7;4580:16;4598:9;;4539:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4539:31:85;;-1:-1:-1;;;4539:69:85:i;4444:477::-;4663:57;4642:9;:79;4625:296;;;4746:78;4775:7;4784:16;4802:10;4814:9;;4746:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4746:28:85;;-1:-1:-1;;;4746:78:85:i;4625:296::-;4855:55;;-1:-1:-1;;;4855:55:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4625:296;3000:1927;;;;;;:::o;2692:198:226:-;-1:-1:-1;;;;;2836:47:226;;;2794:19;2836:47;;;;;;;;;;;;;2692:198::o;11445:902:85:-;679:10:358;:8;:10::i;:::-;-1:-1:-1;;;;;665:24:358;:10;-1:-1:-1;;;;;665:24:358;;644:144;;;;-1:-1:-1;;;644:144:358;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11675:8:85::1;:15;11656:8;:15;:34;:69;;;;;11710:8;:15;11694:5;:12;:31;11656:69;11635:163;;;;-1:-1:-1::0;;;11635:163:85::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11814:9;11809:532;11829:8;:15;11825:1;:19;11809:532;;;11948:28;:26;:28::i;:::-;-1:-1:-1::0;;;;;11924:76:85::1;;:78;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;11924:78:85;11890:11;;:8;;11899:1;;11890:11;::::1;;;;;;;;;;;:112;11865:223;;;;-1:-1:-1::0;;;11865:223:85::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12135:108;;;;;;;;12217:8;12226:1;12217:11;;;;;;;;;;;;;;-1:-1:-1::0;;;;;12135:108:85::1;;;;;12183:5;12189:1;12183:8;;;;;;;;;;;;;;-1:-1:-1::0;;;;;12135:108:85::1;;;::::0;12103:16:::1;:29;12120:8;12129:1;12120:11;;;;;;;;;::::0;;::::1;::::0;;;;;;;12103:29;;;;::::1;::::0;;;;;;-1:-1:-1;12103:29:85;:140;;;;-1:-1:-1;;;;;;12103:140:85;;::::1;-1:-1:-1::0;;;;;12103:140:85;;::::1;;::::0;;;;;::::1;::::0;-1:-1:-1;12103:140:85;;::::1;::::0;;;;::::1;::::0;::::1;;::::0;;12295:11;;;;12304:1;;12295:11;::::1;;;;;;;;;;;12263:67;12308:5;12314:1;12308:8;;;;;;;;;;;;;;12318;12327:1;12318:11;;;;;;;;;;;;;;12263:67;;;;-1:-1:-1::0;;;;;12263:67:85::1;;;;;;-1:-1:-1::0;;;;;12263:67:85::1;;;;;;;;;;;;;;;;11846:3;;11809:532;;;;11445:902:::0;;;:::o;12576:142::-;12686:25;12576:142;:::o;12931:189::-;13049:12;13084:25;;;:16;:25;;;;;;;;:29;;-1:-1:-1;;;;;13084:29:85;;12931:189::o;13335:181::-;13439:15;13477:25;;;:16;:25;;;;;:32;-1:-1:-1;;;;;13477:32:85;;13335:181::o;1120:80:226:-;;:::o;1064:120:358:-;1105:14;1152:13;-1:-1:-1;;;;;1138:37:358;;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1138:39:358;;-1:-1:-1;1064:120:358;:::o;1378:108::-;1466:13;1378:108;:::o;1346:78:226:-;:::o;13640:111:85:-;13730:14;13640:111;:::o;2391:228::-;819:17:226;:15;:17::i;:::-;-1:-1:-1;;;;;805:31:226;:10;-1:-1:-1;;;;;805:31:226;;797:84;;;;-1:-1:-1;;;797:84:226;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2556:56:85::1;2581:17;2600:11;2556:24;:56::i;5036:2183::-:0;5229:14;5257:31;5302:43;5369:9;5358:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5358:46:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5358:46:85;;;;;;-1:-1:-1;5358:46:85;;;;;;;;;;-1:-1:-1;5358:46:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5358:46:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5358:46:85;;;;;;-1:-1:-1;5358:46:85;;;;;;;;;;-1:-1:-1;5358:46:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5215:189;;;;;;5415:14;5432:40;5465:6;5432:32;:40::i;:::-;5415:57;-1:-1:-1;;;;;;5490:20:85;;5482:73;;;;-1:-1:-1;;;5482:73:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5581:18;:16;:18::i;:::-;-1:-1:-1;;;;;5566:51:85;;5631:17;5662:48;5735:7;5744:6;5752:18;5724:47;;;;;;-1:-1:-1;;;;;5724:47:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5566:215;;;;;;;;;;;;;-1:-1:-1;;;;;5566:215:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5901:21;5949:6;-1:-1:-1;;;;;5925:45:85;;5984:11;6009:18;5925:112;;;;;;;;;;;;;-1:-1:-1;;;;;5925:112:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5925:112:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5925:112:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5925:112:85;;;;;;-1:-1:-1;5925:112:85;;;;;;;;;;-1:-1:-1;5925:112:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5901:136;;6048:26;6113:31;;;6158:8;6077:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6077:99:85;;;-1:-1:-1;;6077:99:85;;;;;;;;;;;;;;-1:-1:-1;;;;;6077:99:85;-1:-1:-1;;;;;;6077:99:85;;;;;;;;;;-1:-1:-1;6077:99:85;;-1:-1:-1;;;;;;;;;;6238:25:85;6214:57;;6285:11;6310:6;6330:37;6310:6;6330:29;:37::i;:::-;6381:13;6214:190;;;;;;;;;;;;;-1:-1:-1;;;;;6214:190:85;;;;;;;;;;;-1:-1:-1;;;;;6214:190:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6187:217;;6551:6;6496:11;-1:-1:-1;;;;;6420:169:85;6465:17;-1:-1:-1;;;;;6420:169:85;;6521:16;6571:8;6420:169;;;;-1:-1:-1;;;;;6420:169:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6600:58;6622:17;6641:16;6600:21;:58::i;:::-;6732:37;;:42;6728:485;;6850:16;6868:23;6895:100;6951:30;6895:38;:100::i;:::-;6847:148;;;;;7009:193;7058:7;7083:17;7118:16;7152:8;7178:10;7009:31;:193::i;:::-;6728:485;;;5036:2183;;;;;;;;;;;:::o;7283:312::-;7414:25;7453:17;7484:24;7551:9;7540:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;7540:48:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;7540:48:85;;;;;;-1:-1:-1;7540:48:85;;;;;;;;;;-1:-1:-1;7540:48:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7533:55;;;;;;7283:312;;;;;:::o;7665:1742::-;7886:14;7903:123;7972:17;-1:-1:-1;;;;;7949:65:85;;:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7949:67:85;7903:32;:123::i;:::-;7886:140;;8051:33;8098:34;8146:32;8215:6;-1:-1:-1;;;;;8191:52:85;;8261:17;8296:9;8323:11;8191:157;;;;;;;;;;;;;-1:-1:-1;;;;;8191:157:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8191:157:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;8191:157:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;8191:157:85;;;;;;;;;;;;-1:-1:-1;8191:157:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;8191:157:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;8191:157:85;;;;;;;;;;;;-1:-1:-1;8191:157:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;8191:157:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;8191:157:85;;;;;;;;;;;;-1:-1:-1;8191:157:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8037:311;;;;;;8359:30;8403:9;8414:11;8392:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8359:67;;8437:275;8475:17;8534;8569;8604:16;8638:17;8673:15;8506:196;;;;;;-1:-1:-1;;;;;8506:196:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8506:196:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8437:24;:275::i;:::-;8738:18;:16;:18::i;:::-;-1:-1:-1;;;;;8723:51:85;;8788:17;8819:52;8913:7;8938:17;8973:16;9007:17;9042:15;9075:17;8885:221;;;;;;-1:-1:-1;;;;;8885:221:85;;;;;;-1:-1:-1;;;;;8885:221:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8723:393;;;;;;;;;;;;;-1:-1:-1;;;;;8723:393:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9235:17;-1:-1:-1;;;;;9132:268:85;9204:17;-1:-1:-1;;;;;9132:268:85;9183:7;-1:-1:-1;;;;;9132:268:85;;9266:9;9289:11;9314:16;9344:17;9375:15;9132:268;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9132:268:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7665:1742;;;;;;;;;;:::o;9475:511::-;9632:24;9670:9;9659:32;;;;;;;;;;;;;;;-1:-1:-1;9659:32:85;;-1:-1:-1;9717:18:85;:16;:18::i;:::-;9860:37;;;-1:-1:-1;;;;;9860:37:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;9702:205:85;;;;;;;;;;;;:51;;;;;9767:17;;9798:48;;9702:205;;;9798:48;9702:205;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9918:61;9943:17;9962:16;9918:24;:61::i;10045:1005::-;10228:24;10266:9;10255:32;;;;;;;;;;;;;;;-1:-1:-1;10255:32:85;;-1:-1:-1;10343:28:85;:26;:28::i;:::-;-1:-1:-1;;;;;10319:77:85;;10414:16;10319:125;;;;;;;;;;;;;-1:-1:-1;;;;;10319:125:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10319:125:85;10298:251;;;;-1:-1:-1;;;10298:251:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10641:11;-1:-1:-1;;;;;10581:71:85;10604:16;-1:-1:-1;;;;;10581:54:85;;:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10581:56:85;-1:-1:-1;;;;;10581:71:85;;10560:194;;;;-1:-1:-1;;;10560:194:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10780:18;:16;:18::i;:::-;10927:37;;;-1:-1:-1;;;;;10927:37:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;10765:209:85;;;;;;;;;;;;:51;;;;;10830:17;;10861:52;;10765:209;;;10861:52;10765:209;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10985:58;11007:17;11026:16;10985:21;:58::i;:::-;10045:1005;;;;;:::o;2172:246:226:-;-1:-1:-1;;;;;2273:47:226;;;:28;:47;;;;;;;;;;;:61;;-1:-1:-1;;;;;;2273:61:226;;;;;;;;;2350;;;2273:28;2350:61;2172:246;;:::o;821:271:227:-;1046:29;;;-1:-1:-1;;;;;1046:29:227;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;925:160:227;;;:55;;;;;994:38;;1046:29;925:160;;;994:38;925:160;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2835:246;2935:139;;-1:-1:-1;;;2935:139:227;;-1:-1:-1;;;;;2935:55:227;;;;;3004:41;;3059:5;;2935:139;;;3004:41;2935:139;;3812:289;4055:29;;;-1:-1:-1;;;;;4055:29:227;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3931:163:227;;;:55;;;;;4000:41;;4055:29;3931:163;;;4000:41;3931:163;", - "linkReferences": {}, - "immutableReferences": { - "19109": [ - { - "start": 2447, - "length": 32 - }, - { - "start": 4322, - "length": 32 - } - ], - "19111": [ - { - "start": 2722, - "length": 32 - } - ], - "78707": [ - { - "start": 2546, - "length": 32 - }, - { - "start": 2684, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "activateForFund(bool)": "80d57063", - "deactivateForFund()": "bd8e959a", - "getExternalPositionFactory()": "634ac96d", - "getExternalPositionLibForType(uint256)": "75d8bb0e", - "getExternalPositionParserForType(uint256)": "7c65c114", - "getFundDeployer()": "97c0ac87", - "getOwner()": "893d20e8", - "getPolicyManager()": "d44ad6cb", - "getVaultProxyForFund(address)": "46790346", - "receiveCallFromComptroller(address,uint256,bytes)": "1bee801e", - "setConfigForFund(address,address,bytes)": "f067cc11", - "updateExternalPositionTypesInfo(uint256[],address[],address[])": "4c68a8dc" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_fundDeployer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_externalPositionFactory\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_policyManager\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"externalPosition\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"actionId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"actionArgs\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"assetsToTransfer\",\"type\":\"address[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"amountsToTransfer\",\"type\":\"uint256[]\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"assetsToReceive\",\"type\":\"address[]\"}],\"name\":\"CallOnExternalPositionExecutedForFund\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"vaultProxy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"externalPosition\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"externalPositionTypeId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"ExternalPositionDeployedForFund\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"typeId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"lib\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"parser\",\"type\":\"address\"}],\"name\":\"ExternalPositionTypeInfoUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"vaultProxy\",\"type\":\"address\"}],\"name\":\"ValidatedVaultProxySetForFund\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"name\":\"activateForFund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"deactivateForFund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getExternalPositionFactory\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"externalPositionFactory_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_typeId\",\"type\":\"uint256\"}],\"name\":\"getExternalPositionLibForType\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"lib_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_typeId\",\"type\":\"uint256\"}],\"name\":\"getExternalPositionParserForType\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"parser_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFundDeployer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"fundDeployer_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPolicyManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"policyManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"}],\"name\":\"getVaultProxyForFund\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"vaultProxy_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_caller\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_actionId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_callArgs\",\"type\":\"bytes\"}],\"name\":\"receiveCallFromComptroller\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"setConfigForFund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"_typeIds\",\"type\":\"uint256[]\"},{\"internalType\":\"address[]\",\"name\":\"_libs\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"_parsers\",\"type\":\"address[]\"}],\"name\":\"updateExternalPositionTypesInfo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"activateForFund(bool)\":{\"details\":\"Unimplemented by default, may be overridden.\"},\"deactivateForFund()\":{\"details\":\"Unimplemented by default, may be overridden.\"},\"getExternalPositionFactory()\":{\"returns\":{\"externalPositionFactory_\":\"The `EXTERNAL_POSITION_FACTORY` variable value\"}},\"getExternalPositionLibForType(uint256)\":{\"params\":{\"_typeId\":\"The type for which to get the external position library\"},\"returns\":{\"lib_\":\"The external position library\"}},\"getExternalPositionParserForType(uint256)\":{\"params\":{\"_typeId\":\"The type for which to get the external position's parser\"},\"returns\":{\"parser_\":\"The external position parser\"}},\"getFundDeployer()\":{\"returns\":{\"fundDeployer_\":\"The `FUND_DEPLOYER` variable value\"}},\"getOwner()\":{\"details\":\"Ownership is deferred to the owner of the FundDeployer contract\",\"returns\":{\"owner_\":\"The owner\"}},\"getPolicyManager()\":{\"returns\":{\"policyManager_\":\"The `POLICY_MANAGER` variable value\"}},\"getVaultProxyForFund(address)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\"},\"returns\":{\"vaultProxy_\":\"The VaultProxy of the fund\"}},\"receiveCallFromComptroller(address,uint256,bytes)\":{\"params\":{\"_actionId\":\"An ID representing the desired action\",\"_callArgs\":\"The encoded args for the action\",\"_caller\":\"The user who called for this action\"}},\"setConfigForFund(address,address,bytes)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\",\"_vaultProxy\":\"The VaultProxy of the fund\"}},\"updateExternalPositionTypesInfo(uint256[],address[],address[])\":{\"params\":{\"_libs\":\"The libs\",\"_parsers\":\"The parsers\",\"_typeIds\":\"The external position type ids for which to set the libs and parsers\"}}},\"title\":\"ExternalPositionManager\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"activateForFund(bool)\":{\"notice\":\"Allows extension to run logic during fund activation\"},\"deactivateForFund()\":{\"notice\":\"Allows extension to run logic during fund deactivation (destruct)\"},\"getExternalPositionFactory()\":{\"notice\":\"Gets the `EXTERNAL_POSITION_FACTORY` variable\"},\"getExternalPositionLibForType(uint256)\":{\"notice\":\"Gets the external position library contract for a given type\"},\"getExternalPositionParserForType(uint256)\":{\"notice\":\"Gets the external position parser contract for a given type\"},\"getFundDeployer()\":{\"notice\":\"Gets the `FUND_DEPLOYER` variable\"},\"getOwner()\":{\"notice\":\"Gets the owner of this contract\"},\"getPolicyManager()\":{\"notice\":\"Gets the `POLICY_MANAGER` variable\"},\"getVaultProxyForFund(address)\":{\"notice\":\"Gets the verified VaultProxy for a given ComptrollerProxy\"},\"receiveCallFromComptroller(address,uint256,bytes)\":{\"notice\":\"Receives a dispatched `callOnExtension` from a fund's ComptrollerProxy\"},\"setConfigForFund(address,address,bytes)\":{\"notice\":\"Enables the ExternalPositionManager to be used by a fund\"},\"updateExternalPositionTypesInfo(uint256[],address[],address[])\":{\"notice\":\"Updates the libs and parsers for a set of external position type ids\"}},\"notice\":\"Extension to handle external position actions for funds\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/ExternalPositionManager.sol\":\"ExternalPositionManager\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/external-positions/ExternalPositionFactory.sol\":{\"keccak256\":\"0x20bfd32ff5da52c8d53a936635715543602ee87fb0e7e1e1c79d5f5628048251\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5f28762e680e7601e90388670de048310640436f701e2fa0c738127813be01ed\",\"dweb:/ipfs/QmYWR4mTaXYQtQ5He1pfZDS1d1k9s3UNB5GwfoWHFMRdKZ\"]},\"contracts/persistent/external-positions/ExternalPositionProxy.sol\":{\"keccak256\":\"0x8927ca263d3c6dd7093ed8663fe0a3b26162eacae4e5aa602204ceea957c8c54\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ae54235028276298cb7879b64da87d356bf301aa921723570dbf41e79bc821fb\",\"dweb:/ipfs/QmUa5gHtKoD3oSfNuihQPmB4seARwWfkkWrq67PtUM5DWa\"]},\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/persistent/external-positions/IExternalPositionProxy.sol\":{\"keccak256\":\"0xc74e623dbdc949df49e9cef31e0f958b17c715d89198dbbc1754d8f9c21e90de\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://074daf0a9f4e667964e6d50039986e3d792860cdece05d21e3606d33358a02b2\",\"dweb:/ipfs/QmVHXiKry9fYfjSNd6dxmtSr7DubNJvYJTNXtLDKGer2xH\"]},\"contracts/persistent/vault/interfaces/IExternalPositionVault.sol\":{\"keccak256\":\"0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d\",\"dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8\"]},\"contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol\":{\"keccak256\":\"0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb\",\"dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU\"]},\"contracts/persistent/vault/interfaces/IMigratableVault.sol\":{\"keccak256\":\"0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6\",\"dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs\"]},\"contracts/persistent/vault/interfaces/IVaultCore.sol\":{\"keccak256\":\"0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd\",\"dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr\"]},\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/core/fund/comptroller/IComptroller.sol\":{\"keccak256\":\"0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97\",\"dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L\"]},\"contracts/release/core/fund/vault/IVault.sol\":{\"keccak256\":\"0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599\",\"dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG\"]},\"contracts/release/extensions/IExtension.sol\":{\"keccak256\":\"0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70\",\"dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t\"]},\"contracts/release/extensions/external-position-manager/ExternalPositionManager.sol\":{\"keccak256\":\"0x3de23d5f7829ee2e4fc7bdaedb9002d8164a55005f380a30cacc6a43f4fe2623\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://28478ff1d1a12a129ed643557fc107ad358cd489c97490d7e3ead5312125cdb7\",\"dweb:/ipfs/QmaSAw1mRsz5ha1wNSZjYyREv23eu6PGbtmTZdMmS7nW1V\"]},\"contracts/release/extensions/external-position-manager/IExternalPositionManager.sol\":{\"keccak256\":\"0x3af3f634e1f99fb97091b7825c0d2e2baaafc124d4e87d56cb0c17ff8554f6c6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://515470605afe5ef147f30fa75ce7818f0e00e3d321eb81a4d9bffcdefc294495\",\"dweb:/ipfs/QmPKsp99pfHoz9Tfo3ZxnkmqDqJtN9PxqacF2RmeVfxUJF\"]},\"contracts/release/extensions/external-position-manager/external-positions/IExternalPositionParser.sol\":{\"keccak256\":\"0x1662fbd65841ee5e9cf8d5329b9d04c264b24ef68ae1e0484e59a8969b0d2c46\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://580569b0f875e0344db83fae1e72dcc6c0767a049b2a6cc3e4f3c411d2284b27\",\"dweb:/ipfs/QmXFmF9QbcVsPHaBo1iq8sZHYhDkwfkMZpHmLTuJJ37NvZ\"]},\"contracts/release/extensions/policy-manager/IPolicyManager.sol\":{\"keccak256\":\"0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa\",\"dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb\"]},\"contracts/release/extensions/utils/ExtensionBase.sol\":{\"keccak256\":\"0xae68767766f6459bd2cd9dbd39df74f2c2f68f2150885bbce410e4091c807bb1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ce4c49522a39f618cc76feb474260fe910949f38e83b5f4518f1f245ba6eb876\",\"dweb:/ipfs/QmZ4wciRpziZAS4HRQy44Sgzm4GM4Wzme9zYnABzR6Cbzo\"]},\"contracts/release/extensions/utils/PermissionedVaultActionMixin.sol\":{\"keccak256\":\"0x77ddb9299d9c5f1538c20ae1543c20ef73db11ad7d9a9b817d26969ab233bb57\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://77812616256a092e0fd77469dcd2a2e098a1cf52686eeb6703a169efa64c27df\",\"dweb:/ipfs/QmbRPZznXSX3aA2VVJNpRqFXdJZebVDcDuY8EnF75Z7GpB\"]},\"contracts/release/utils/FundDeployerOwnerMixin.sol\":{\"keccak256\":\"0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927\",\"dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_fundDeployer", - "type": "address" - }, - { - "internalType": "address", - "name": "_externalPositionFactory", - "type": "address" - }, - { - "internalType": "address", - "name": "_policyManager", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "caller", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "comptrollerProxy", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "externalPosition", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "actionId", - "type": "uint256", - "indexed": false - }, - { - "internalType": "bytes", - "name": "actionArgs", - "type": "bytes", - "indexed": false - }, - { - "internalType": "address[]", - "name": "assetsToTransfer", - "type": "address[]", - "indexed": false - }, - { - "internalType": "uint256[]", - "name": "amountsToTransfer", - "type": "uint256[]", - "indexed": false - }, - { - "internalType": "address[]", - "name": "assetsToReceive", - "type": "address[]", - "indexed": false - } - ], - "type": "event", - "name": "CallOnExternalPositionExecutedForFund", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "comptrollerProxy", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "vaultProxy", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "externalPosition", - "type": "address", - "indexed": false - }, - { - "internalType": "uint256", - "name": "externalPositionTypeId", - "type": "uint256", - "indexed": true - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes", - "indexed": false - } - ], - "type": "event", - "name": "ExternalPositionDeployedForFund", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "typeId", - "type": "uint256", - "indexed": true - }, - { - "internalType": "address", - "name": "lib", - "type": "address", - "indexed": false - }, - { - "internalType": "address", - "name": "parser", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "ExternalPositionTypeInfoUpdated", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "comptrollerProxy", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "vaultProxy", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "ValidatedVaultProxySetForFund", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "activateForFund" - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "deactivateForFund" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getExternalPositionFactory", - "outputs": [ - { - "internalType": "address", - "name": "externalPositionFactory_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_typeId", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getExternalPositionLibForType", - "outputs": [ - { - "internalType": "address", - "name": "lib_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_typeId", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getExternalPositionParserForType", - "outputs": [ - { - "internalType": "address", - "name": "parser_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getFundDeployer", - "outputs": [ - { - "internalType": "address", - "name": "fundDeployer_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "owner_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getPolicyManager", - "outputs": [ - { - "internalType": "address", - "name": "policyManager_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getVaultProxyForFund", - "outputs": [ - { - "internalType": "address", - "name": "vaultProxy_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_caller", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_actionId", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_callArgs", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "receiveCallFromComptroller" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setConfigForFund" - }, - { - "inputs": [ - { - "internalType": "uint256[]", - "name": "_typeIds", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "_libs", - "type": "address[]" - }, - { - "internalType": "address[]", - "name": "_parsers", - "type": "address[]" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "updateExternalPositionTypesInfo" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "activateForFund(bool)": { - "details": "Unimplemented by default, may be overridden." - }, - "deactivateForFund()": { - "details": "Unimplemented by default, may be overridden." - }, - "getExternalPositionFactory()": { - "returns": { - "externalPositionFactory_": "The `EXTERNAL_POSITION_FACTORY` variable value" - } - }, - "getExternalPositionLibForType(uint256)": { - "params": { - "_typeId": "The type for which to get the external position library" - }, - "returns": { - "lib_": "The external position library" - } - }, - "getExternalPositionParserForType(uint256)": { - "params": { - "_typeId": "The type for which to get the external position's parser" - }, - "returns": { - "parser_": "The external position parser" - } - }, - "getFundDeployer()": { - "returns": { - "fundDeployer_": "The `FUND_DEPLOYER` variable value" - } - }, - "getOwner()": { - "details": "Ownership is deferred to the owner of the FundDeployer contract", - "returns": { - "owner_": "The owner" - } - }, - "getPolicyManager()": { - "returns": { - "policyManager_": "The `POLICY_MANAGER` variable value" - } - }, - "getVaultProxyForFund(address)": { - "params": { - "_comptrollerProxy": "The ComptrollerProxy of the fund" - }, - "returns": { - "vaultProxy_": "The VaultProxy of the fund" - } - }, - "receiveCallFromComptroller(address,uint256,bytes)": { - "params": { - "_actionId": "An ID representing the desired action", - "_callArgs": "The encoded args for the action", - "_caller": "The user who called for this action" - } - }, - "setConfigForFund(address,address,bytes)": { - "params": { - "_comptrollerProxy": "The ComptrollerProxy of the fund", - "_vaultProxy": "The VaultProxy of the fund" - } - }, - "updateExternalPositionTypesInfo(uint256[],address[],address[])": { - "params": { - "_libs": "The libs", - "_parsers": "The parsers", - "_typeIds": "The external position type ids for which to set the libs and parsers" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "activateForFund(bool)": { - "notice": "Allows extension to run logic during fund activation" - }, - "deactivateForFund()": { - "notice": "Allows extension to run logic during fund deactivation (destruct)" - }, - "getExternalPositionFactory()": { - "notice": "Gets the `EXTERNAL_POSITION_FACTORY` variable" - }, - "getExternalPositionLibForType(uint256)": { - "notice": "Gets the external position library contract for a given type" - }, - "getExternalPositionParserForType(uint256)": { - "notice": "Gets the external position parser contract for a given type" - }, - "getFundDeployer()": { - "notice": "Gets the `FUND_DEPLOYER` variable" - }, - "getOwner()": { - "notice": "Gets the owner of this contract" - }, - "getPolicyManager()": { - "notice": "Gets the `POLICY_MANAGER` variable" - }, - "getVaultProxyForFund(address)": { - "notice": "Gets the verified VaultProxy for a given ComptrollerProxy" - }, - "receiveCallFromComptroller(address,uint256,bytes)": { - "notice": "Receives a dispatched `callOnExtension` from a fund's ComptrollerProxy" - }, - "setConfigForFund(address,address,bytes)": { - "notice": "Enables the ExternalPositionManager to be used by a fund" - }, - "updateExternalPositionTypesInfo(uint256[],address[],address[])": { - "notice": "Updates the libs and parsers for a set of external position type ids" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/external-position-manager/ExternalPositionManager.sol": "ExternalPositionManager" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/dispatcher/IDispatcher.sol": { - "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", - "urls": [ - "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", - "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/external-positions/ExternalPositionFactory.sol": { - "keccak256": "0x20bfd32ff5da52c8d53a936635715543602ee87fb0e7e1e1c79d5f5628048251", - "urls": [ - "bzz-raw://5f28762e680e7601e90388670de048310640436f701e2fa0c738127813be01ed", - "dweb:/ipfs/QmYWR4mTaXYQtQ5He1pfZDS1d1k9s3UNB5GwfoWHFMRdKZ" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/external-positions/ExternalPositionProxy.sol": { - "keccak256": "0x8927ca263d3c6dd7093ed8663fe0a3b26162eacae4e5aa602204ceea957c8c54", - "urls": [ - "bzz-raw://ae54235028276298cb7879b64da87d356bf301aa921723570dbf41e79bc821fb", - "dweb:/ipfs/QmUa5gHtKoD3oSfNuihQPmB4seARwWfkkWrq67PtUM5DWa" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/external-positions/IExternalPosition.sol": { - "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", - "urls": [ - "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", - "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/external-positions/IExternalPositionProxy.sol": { - "keccak256": "0xc74e623dbdc949df49e9cef31e0f958b17c715d89198dbbc1754d8f9c21e90de", - "urls": [ - "bzz-raw://074daf0a9f4e667964e6d50039986e3d792860cdece05d21e3606d33358a02b2", - "dweb:/ipfs/QmVHXiKry9fYfjSNd6dxmtSr7DubNJvYJTNXtLDKGer2xH" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IExternalPositionVault.sol": { - "keccak256": "0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6", - "urls": [ - "bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d", - "dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol": { - "keccak256": "0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0", - "urls": [ - "bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb", - "dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IMigratableVault.sol": { - "keccak256": "0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238", - "urls": [ - "bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6", - "dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IVaultCore.sol": { - "keccak256": "0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80", - "urls": [ - "bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd", - "dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund-deployer/IFundDeployer.sol": { - "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", - "urls": [ - "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", - "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/comptroller/IComptroller.sol": { - "keccak256": "0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f", - "urls": [ - "bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97", - "dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/vault/IVault.sol": { - "keccak256": "0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd", - "urls": [ - "bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599", - "dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/IExtension.sol": { - "keccak256": "0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b", - "urls": [ - "bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70", - "dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/ExternalPositionManager.sol": { - "keccak256": "0x3de23d5f7829ee2e4fc7bdaedb9002d8164a55005f380a30cacc6a43f4fe2623", - "urls": [ - "bzz-raw://28478ff1d1a12a129ed643557fc107ad358cd489c97490d7e3ead5312125cdb7", - "dweb:/ipfs/QmaSAw1mRsz5ha1wNSZjYyREv23eu6PGbtmTZdMmS7nW1V" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/IExternalPositionManager.sol": { - "keccak256": "0x3af3f634e1f99fb97091b7825c0d2e2baaafc124d4e87d56cb0c17ff8554f6c6", - "urls": [ - "bzz-raw://515470605afe5ef147f30fa75ce7818f0e00e3d321eb81a4d9bffcdefc294495", - "dweb:/ipfs/QmPKsp99pfHoz9Tfo3ZxnkmqDqJtN9PxqacF2RmeVfxUJF" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/IExternalPositionParser.sol": { - "keccak256": "0x1662fbd65841ee5e9cf8d5329b9d04c264b24ef68ae1e0484e59a8969b0d2c46", - "urls": [ - "bzz-raw://580569b0f875e0344db83fae1e72dcc6c0767a049b2a6cc3e4f3c411d2284b27", - "dweb:/ipfs/QmXFmF9QbcVsPHaBo1iq8sZHYhDkwfkMZpHmLTuJJ37NvZ" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/policy-manager/IPolicyManager.sol": { - "keccak256": "0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32", - "urls": [ - "bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa", - "dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/utils/ExtensionBase.sol": { - "keccak256": "0xae68767766f6459bd2cd9dbd39df74f2c2f68f2150885bbce410e4091c807bb1", - "urls": [ - "bzz-raw://ce4c49522a39f618cc76feb474260fe910949f38e83b5f4518f1f245ba6eb876", - "dweb:/ipfs/QmZ4wciRpziZAS4HRQy44Sgzm4GM4Wzme9zYnABzR6Cbzo" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/utils/PermissionedVaultActionMixin.sol": { - "keccak256": "0x77ddb9299d9c5f1538c20ae1543c20ef73db11ad7d9a9b817d26969ab233bb57", - "urls": [ - "bzz-raw://77812616256a092e0fd77469dcd2a2e098a1cf52686eeb6703a169efa64c27df", - "dweb:/ipfs/QmbRPZznXSX3aA2VVJNpRqFXdJZebVDcDuY8EnF75Z7GpB" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/FundDeployerOwnerMixin.sol": { - "keccak256": "0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934", - "urls": [ - "bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927", - "dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 85 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_fundDeployer", "type": "address", "internalType": "address" }, { "name": "_externalPositionFactory", "type": "address", "internalType": "address" }, { "name": "_policyManager", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "activateForFund", "inputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "deactivateForFund", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "getExternalPositionFactory", "inputs": [], "outputs": [ { "name": "externalPositionFactory_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getExternalPositionLibForType", "inputs": [ { "name": "_typeId", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "lib_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getExternalPositionParserForType", "inputs": [ { "name": "_typeId", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "parser_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getFundDeployer", "inputs": [], "outputs": [ { "name": "fundDeployer_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getOwner", "inputs": [], "outputs": [ { "name": "owner_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getPolicyManager", "inputs": [], "outputs": [ { "name": "policyManager_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getVaultProxyForFund", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "vaultProxy_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "receiveCallFromComptroller", "inputs": [ { "name": "_caller", "type": "address", "internalType": "address" }, { "name": "_actionId", "type": "uint256", "internalType": "uint256" }, { "name": "_callArgs", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setConfigForFund", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" }, { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "updateExternalPositionTypesInfo", "inputs": [ { "name": "_typeIds", "type": "uint256[]", "internalType": "uint256[]" }, { "name": "_libs", "type": "address[]", "internalType": "address[]" }, { "name": "_parsers", "type": "address[]", "internalType": "address[]" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "event", "name": "CallOnExternalPositionExecutedForFund", "inputs": [ { "name": "caller", "type": "address", "indexed": true, "internalType": "address" }, { "name": "comptrollerProxy", "type": "address", "indexed": true, "internalType": "address" }, { "name": "externalPosition", "type": "address", "indexed": true, "internalType": "address" }, { "name": "actionId", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "actionArgs", "type": "bytes", "indexed": false, "internalType": "bytes" }, { "name": "assetsToTransfer", "type": "address[]", "indexed": false, "internalType": "address[]" }, { "name": "amountsToTransfer", "type": "uint256[]", "indexed": false, "internalType": "uint256[]" }, { "name": "assetsToReceive", "type": "address[]", "indexed": false, "internalType": "address[]" } ], "anonymous": false }, { "type": "event", "name": "ExternalPositionDeployedForFund", "inputs": [ { "name": "comptrollerProxy", "type": "address", "indexed": true, "internalType": "address" }, { "name": "vaultProxy", "type": "address", "indexed": true, "internalType": "address" }, { "name": "externalPosition", "type": "address", "indexed": false, "internalType": "address" }, { "name": "externalPositionTypeId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "data", "type": "bytes", "indexed": false, "internalType": "bytes" } ], "anonymous": false }, { "type": "event", "name": "ExternalPositionTypeInfoUpdated", "inputs": [ { "name": "typeId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "lib", "type": "address", "indexed": false, "internalType": "address" }, { "name": "parser", "type": "address", "indexed": false, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "ValidatedVaultProxySetForFund", "inputs": [ { "name": "comptrollerProxy", "type": "address", "indexed": true, "internalType": "address" }, { "name": "vaultProxy", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false } ], "bytecode": { "object": "0x60e060405234801561001057600080fd5b5060405161252c38038061252c8339818101604052606081101561003357600080fd5b50805160208201516040909201516001600160601b0319606092831b811660805292821b831660a052901b1660c05260805160601c60a05160601c60c05160601c61248b6100a160003980610aa252508061098f52806110e25250806109f25280610a7c525061248b6000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c806380d570631161007157806380d5706314610367578063893d20e81461038657806397c0ac871461038e578063bd8e959a14610396578063d44ad6cb1461039e578063f067cc11146103a6576100b4565b80631bee801e146100b9578063467903461461013e5780634c68a8dc14610180578063634ac96d1461032557806375d8bb0e1461032d5780637c65c1141461034a575b600080fd5b61013c600480360360608110156100cf57600080fd5b6001600160a01b0382351691602081013591810190606081016040820135600160201b8111156100fe57600080fd5b82018360208201111561011057600080fd5b803590602001918460018302840111600160201b8311171561013157600080fd5b50909250905061042d565b005b6101646004803603602081101561015457600080fd5b50356001600160a01b03166106bc565b604080516001600160a01b039092168252519081900360200190f35b61013c6004803603606081101561019657600080fd5b810190602081018135600160201b8111156101b057600080fd5b8201836020820111156101c257600080fd5b803590602001918460208302840111600160201b831117156101e357600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b81111561023257600080fd5b82018360208201111561024457600080fd5b803590602001918460208302840111600160201b8311171561026557600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b8111156102b457600080fd5b8201836020820111156102c657600080fd5b803590602001918460208302840111600160201b831117156102e757600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295506106da945050505050565b61016461098d565b6101646004803603602081101561034357600080fd5b50356109b1565b6101646004803603602081101561036057600080fd5b50356109d0565b61013c6004803603602081101561037d57600080fd5b503515156109eb565b6101646109ee565b610164610a7a565b61013c610a9e565b610164610aa0565b61013c600480360360608110156103bc57600080fd5b6001600160a01b038235811692602081013590911691810190606081016040820135600160201b8111156103ef57600080fd5b82018360208201111561040157600080fd5b803590602001918460018302840111600160201b8311171561042257600080fd5b509092509050610ac4565b336000610439826106bc565b90506001600160a01b0381166104805760405162461bcd60e51b815260040180806020018281038252602d815260200180612423602d913960400191505060405180910390fd5b806001600160a01b031663714ca2d1876040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156104cd57600080fd5b505afa1580156104e1573d6000803e3d6000fd5b505050506040513d60208110156104f757600080fd5b50516105345760405162461bcd60e51b815260040180806020018281038252602881526020018061232b6028913960400191505060405180910390fd5b846105805761057b86838387878080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610b2592505050565b6106b4565b60018514156105e85760008060606105cd87878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061130e92505050565b9250925092506105e089868585856113ee565b5050506106b4565b60028514156106325761057b868386868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611cf092505050565b600385141561067d5761057b86838387878080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611e1592505050565b60405162461bcd60e51b815260040180806020018281038252602d8152602001806122af602d913960400191505060405180910390fd5b505050505050565b6001600160a01b039081166000908152602081905260409020541690565b6106e26109ee565b6001600160a01b0316336001600160a01b0316146107315760405162461bcd60e51b81526004018080602001828103825260498152602001806122666049913960600191505060405180910390fd5b80518351148015610743575080518251145b61077e5760405162461bcd60e51b815260040180806020018281038252602f815260200180612450602f913960400191505060405180910390fd5b60005b83518110156109875761079261098d565b6001600160a01b0316633825abe86040518163ffffffff1660e01b815260040160206040518083038186803b1580156107ca57600080fd5b505afa1580156107de573d6000803e3d6000fd5b505050506040513d60208110156107f457600080fd5b5051845185908390811061080457fe5b6020026020010151106108485760405162461bcd60e51b81526004018080602001828103825260348152602001806123536034913960400191505060405180910390fd5b604051806040016040528083838151811061085f57fe5b60200260200101516001600160a01b0316815260200184838151811061088157fe5b60200260200101516001600160a01b0316815250600160008684815181106108a557fe5b602090810291909101810151825281810192909252604001600020825181546001600160a01b03199081166001600160a01b039283161783559390920151600190910180549093169116179055835184908290811061090057fe5b60200260200101517f14f0f52379e27a06185de7281205c2496464cf539a6dcc46258cc6cebe89dc3084838151811061093557fe5b602002602001015184848151811061094957fe5b602002602001015160405180836001600160a01b03168152602001826001600160a01b031681526020019250505060405180910390a2600101610781565b50505050565b7f000000000000000000000000000000000000000000000000000000000000000090565b600090815260016020819052604090912001546001600160a01b031690565b6000908152600160205260409020546001600160a01b031690565b50565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b158015610a4957600080fd5b505afa158015610a5d573d6000803e3d6000fd5b505050506040513d6020811015610a7357600080fd5b5051905090565b7f000000000000000000000000000000000000000000000000000000000000000090565b565b7f000000000000000000000000000000000000000000000000000000000000000090565b610acc610a7a565b6001600160a01b0316336001600160a01b031614610b1b5760405162461bcd60e51b81526004018080602001828103825260288152602001806123876028913960400191505060405180910390fd5b61098784846120b0565b6000606080838060200190516060811015610b3f57600080fd5b815160208301805160405192949293830192919084600160201b821115610b6557600080fd5b908301906020820185811115610b7a57600080fd5b8251600160201b811182820188101715610b9357600080fd5b82525081516020918201929091019080838360005b83811015610bc0578181015183820152602001610ba8565b50505050905090810190601f168015610bed5780820380516001836020036101000a031916815260200191505b5060405260200180516040519392919084600160201b821115610c0f57600080fd5b908301906020820185811115610c2457600080fd5b8251600160201b811182820188101715610c3d57600080fd5b82525081516020918201929091019080838360005b83811015610c6a578181015183820152602001610c52565b50505050905090810190601f168015610c975780820380516001836020036101000a031916815260200191505b506040525050509250925092506000610caf846109d0565b90506001600160a01b038116610cf65760405162461bcd60e51b81526004018080602001828103825260288152602001806123af6028913960400191505060405180910390fd5b610cfe610aa0565b6001600160a01b0316630442bad58860068b888860405160200180846001600160a01b0316815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610d67578181015183820152602001610d4f565b50505050905090810190601f168015610d945780820380516001836020036101000a031916815260200191505b509450505050506040516020818303038152906040526040518463ffffffff1660e01b815260040180846001600160a01b03168152602001836009811115610dd857fe5b815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610e16578181015183820152602001610dfe565b50505050905090810190601f168015610e435780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b158015610e6457600080fd5b505af1158015610e78573d6000803e3d6000fd5b505050506060816001600160a01b031663db16c72e88866040518363ffffffff1660e01b815260040180836001600160a01b0316815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610eea578181015183820152602001610ed2565b50505050905090810190601f168015610f175780820380516001836020036101000a031916815260200191505b509350505050600060405180830381600087803b158015610f3757600080fd5b505af1158015610f4b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526020811015610f7457600080fd5b8101908080516040519392919084600160201b821115610f9357600080fd5b908301906020820185811115610fa857600080fd5b8251600160201b811182820188101715610fc157600080fd5b82525081516020918201929091019080838360005b83811015610fee578181015183820152602001610fd6565b50505050905090810190601f16801561101b5780820380516001836020036101000a031916815260200191505b5060405250505090506060634ddf47d460e01b826040516024018080602001828103825283818151815260200191508051906020019080838360005b8381101561106f578181015183820152602001611057565b50505050905090810190601f16801561109c5780820380516001836020036101000a031916815260200191505b5060408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909616959095179094525091925060009150506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001663f908bc778a89611112816109b1565b866040518563ffffffff1660e01b815260040180856001600160a01b03168152602001848152602001836001600160a01b0316815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561118357818101518382015260200161116b565b50505050905090810190601f1680156111b05780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b1580156111d257600080fd5b505af11580156111e6573d6000803e3d6000fd5b505050506040513d60208110156111fc57600080fd5b8101908080519060200190929190505050905086896001600160a01b03168b6001600160a01b03167fc3b9bcc16acc2ee56104cb9a5d736ade0f1446a66aa9e217d8fa5b44f946b59e848760405180836001600160a01b0316815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561129357818101518382015260200161127b565b50505050905090810190601f1680156112c05780820380516001836020036101000a031916815260200191505b50935050505060405180910390a46112d88a82612107565b84511561130157600060606112ec8761130e565b92509250506112fe8d8d8585856113ee565b50505b5050505050505050505050565b600080606083806020019051606081101561132857600080fd5b81516020830151604080850180519151939592948301929184600160201b82111561135257600080fd5b90830190602082018581111561136757600080fd5b8251600160201b81118282018810171561138057600080fd5b82525081516020918201929091019080838360005b838110156113ad578181015183820152602001611395565b50505050905090810190601f1680156113da5780820380516001836020036101000a031916815260200191505b506040525050509250925092509193909250565b600061145d846001600160a01b03166312bc0a446040518163ffffffff1660e01b815260040160206040518083038186803b15801561142c57600080fd5b505afa158015611440573d6000803e3d6000fd5b505050506040513d602081101561145657600080fd5b50516109d0565b90506060806060836001600160a01b031663bbd2d6468888886040518463ffffffff1660e01b815260040180846001600160a01b0316815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b838110156114d75781810151838201526020016114bf565b50505050905090810190601f1680156115045780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b15801561152557600080fd5b505af1158015611539573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052606081101561156257600080fd5b8101908080516040519392919084600160201b82111561158157600080fd5b90830190602082018581111561159657600080fd5b82518660208202830111600160201b821117156115b257600080fd5b82525081516020918201928201910280838360005b838110156115df5781810151838201526020016115c7565b5050505090500160405260200180516040519392919084600160201b82111561160757600080fd5b90830190602082018581111561161c57600080fd5b82518660208202830111600160201b8211171561163857600080fd5b82525081516020918201928201910280838360005b8381101561166557818101518382015260200161164d565b5050505090500160405260200180516040519392919084600160201b82111561168d57600080fd5b9083019060208201858111156116a257600080fd5b82518660208202830111600160201b821117156116be57600080fd5b82525081516020918201928201910280838360005b838110156116eb5781810151838201526020016116d3565b50505050905001604052505050925092509250606086866040516020018083815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611748578181015183820152602001611730565b50505050905090810190601f1680156117755780820380516001836020036101000a031916815260200191505b50935050505060405160208183030381529060405290506118f689898387878760405160200180866001600160a01b0316815260200180602001806020018060200180602001858103855289818151815260200191508051906020019080838360005b838110156117f05781810151838201526020016117d8565b50505050905090810190601f16801561181d5780820380516001836020036101000a031916815260200191505b508581038452885181528851602091820191808b01910280838360005b8381101561185257818101518382015260200161183a565b50505050905001858103835287818151815260200191508051906020019060200280838360005b83811015611891578181015183820152602001611879565b50505050905001858103825286818151815260200191508051906020019060200280838360005b838110156118d05781810151838201526020016118b8565b5050505090500199505050505050505050506040516020818303038152906040526121ed565b6118fe610aa0565b6001600160a01b0316630442bad58a60078d8c8989898960405160200180876001600160a01b03168152602001866001600160a01b0316815260200180602001806020018060200180602001858103855289818151815260200191508051906020019060200280838360005b8381101561198257818101518382015260200161196a565b50505050905001858103845288818151815260200191508051906020019060200280838360005b838110156119c15781810151838201526020016119a9565b50505050905001858103835287818151815260200191508051906020019060200280838360005b83811015611a005781810151838201526020016119e8565b50505050905001858103825286818151815260200191508051906020019080838360005b83811015611a3c578181015183820152602001611a24565b50505050905090810190601f168015611a695780820380516001836020036101000a031916815260200191505b509a50505050505050505050506040516020818303038152906040526040518463ffffffff1660e01b815260040180846001600160a01b03168152602001836009811115611ab357fe5b815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611af1578181015183820152602001611ad9565b50505050905090810190601f168015611b1e5780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b158015611b3f57600080fd5b505af1158015611b53573d6000803e3d6000fd5b50505050876001600160a01b0316896001600160a01b03168b6001600160a01b03167f62e5ab7686baa8b666d45a227de296ea589ff48f1f215ca0e647ef6417a8657e8a8a8989896040518086815260200180602001806020018060200180602001858103855289818151815260200191508051906020019080838360005b83811015611bea578181015183820152602001611bd2565b50505050905090810190601f168015611c175780820380516001836020036101000a031916815260200191505b508581038452885181528851602091820191808b01910280838360005b83811015611c4c578181015183820152602001611c34565b50505050905001858103835287818151815260200191508051906020019060200280838360005b83811015611c8b578181015183820152602001611c73565b50505050905001858103825286818151815260200191508051906020019060200280838360005b83811015611cca578181015183820152602001611cb2565b50505050905001995050505050505050505060405180910390a450505050505050505050565b6000818060200190516020811015611d0757600080fd5b50519050611d13610aa0565b604080516001600160a01b038781166020830152848116828401528251808303840181526060830193849052630442bad560e01b90935286811660648301908152931692630442bad59287926008929060840183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611da5578181015183820152602001611d8d565b50505050905090810190601f168015611dd25780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b158015611df357600080fd5b505af1158015611e07573d6000803e3d6000fd5b50505050610987838261221a565b6000818060200190516020811015611e2c57600080fd5b50519050611e3861098d565b6001600160a01b03166371b79dc1826040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015611e8457600080fd5b505afa158015611e98573d6000803e3d6000fd5b505050506040513d6020811015611eae57600080fd5b5051611eeb5760405162461bcd60e51b815260040180806020018281038252604f8152602001806122dc604f913960600191505060405180910390fd5b826001600160a01b0316816001600160a01b031663c98091876040518163ffffffff1660e01b815260040160206040518083038186803b158015611f2e57600080fd5b505afa158015611f42573d6000803e3d6000fd5b505050506040513d6020811015611f5857600080fd5b50516001600160a01b031614611f9f5760405162461bcd60e51b815260040180806020018281038252604c8152602001806123d7604c913960600191505060405180910390fd5b611fa7610aa0565b604080516001600160a01b038881166020830152848116828401528251808303840181526060830193849052630442bad560e01b90935287811660648301908152931692630442bad59288926009929060840183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015612039578181015183820152602001612021565b50505050905090810190601f1680156120665780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b15801561208757600080fd5b505af115801561209b573d6000803e3d6000fd5b505050506120a98482612107565b5050505050565b6001600160a01b0382811660008181526020819052604080822080546001600160a01b0319169486169485179055517f8852dcaa71340ea616a65ffac013450dfb238607481fb9d78346c667fe256c139190a35050565b604080516001600160a01b0383811660208084019190915283518084039091018152828401938490526310acd06d60e01b9093528416916310acd06d916008919060440180835b815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561218c578181015183820152602001612174565b50505050905090810190601f1680156121b95780820380516001836020036101000a031916815260200191505b509350505050600060405180830381600087803b1580156121d957600080fd5b505af11580156106b4573d6000803e3d6000fd5b6040516310acd06d60e01b81526001600160a01b038316906310acd06d906009908490600401808361214e565b604080516001600160a01b0383811660208084019190915283518084039091018152828401938490526310acd06d60e01b9093528416916310acd06d91600a9190604401808361214e56fe6f6e6c7946756e644465706c6f7965724f776e65723a204f6e6c79207468652046756e644465706c6f796572206f776e65722063616e2063616c6c20746869732066756e6374696f6e7265636569766543616c6c46726f6d436f6d7074726f6c6c65723a20496e76616c6964205f616374696f6e49645f5f7265616374697661746545787465726e616c506f736974696f6e3a204163636f756e742070726f7669646564206973206e6f7420612076616c69642065787465726e616c20706f736974696f6e7265636569766543616c6c46726f6d436f6d7074726f6c6c65723a20556e617574686f72697a656475706461746545787465726e616c506f736974696f6e5479706573496e666f3a205479706520646f6573206e6f742065786973744f6e6c79207468652046756e644465706c6f7965722063616e206d616b6520746869732063616c6c5f5f63726561746545787465726e616c506f736974696f6e3a20496e76616c6964207479706549645f5f7265616374697661746545787465726e616c506f736974696f6e3a2045787465726e616c20706f736974696f6e2062656c6f6e677320746f206120646966666572656e74207661756c747265636569766543616c6c46726f6d436f6d7074726f6c6c65723a2046756e64206973206e6f742076616c696475706461746545787465726e616c506f736974696f6e5479706573496e666f3a20556e657175616c20617272617973a164736f6c634300060c000a", "sourceMap": "905:12848:85:-:0;;;1868:269;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1868:269:85;;;;;;;;;;;-1:-1:-1;;;;;;1868:269:85;864:29:358;;;;;;;2037:52:85;;;;;::::1;::::0;2099:31;;;::::1;::::0;905:12848;;;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106100b45760003560e01c806380d570631161007157806380d5706314610367578063893d20e81461038657806397c0ac871461038e578063bd8e959a14610396578063d44ad6cb1461039e578063f067cc11146103a6576100b4565b80631bee801e146100b9578063467903461461013e5780634c68a8dc14610180578063634ac96d1461032557806375d8bb0e1461032d5780637c65c1141461034a575b600080fd5b61013c600480360360608110156100cf57600080fd5b6001600160a01b0382351691602081013591810190606081016040820135600160201b8111156100fe57600080fd5b82018360208201111561011057600080fd5b803590602001918460018302840111600160201b8311171561013157600080fd5b50909250905061042d565b005b6101646004803603602081101561015457600080fd5b50356001600160a01b03166106bc565b604080516001600160a01b039092168252519081900360200190f35b61013c6004803603606081101561019657600080fd5b810190602081018135600160201b8111156101b057600080fd5b8201836020820111156101c257600080fd5b803590602001918460208302840111600160201b831117156101e357600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b81111561023257600080fd5b82018360208201111561024457600080fd5b803590602001918460208302840111600160201b8311171561026557600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b8111156102b457600080fd5b8201836020820111156102c657600080fd5b803590602001918460208302840111600160201b831117156102e757600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295506106da945050505050565b61016461098d565b6101646004803603602081101561034357600080fd5b50356109b1565b6101646004803603602081101561036057600080fd5b50356109d0565b61013c6004803603602081101561037d57600080fd5b503515156109eb565b6101646109ee565b610164610a7a565b61013c610a9e565b610164610aa0565b61013c600480360360608110156103bc57600080fd5b6001600160a01b038235811692602081013590911691810190606081016040820135600160201b8111156103ef57600080fd5b82018360208201111561040157600080fd5b803590602001918460018302840111600160201b8311171561042257600080fd5b509092509050610ac4565b336000610439826106bc565b90506001600160a01b0381166104805760405162461bcd60e51b815260040180806020018281038252602d815260200180612423602d913960400191505060405180910390fd5b806001600160a01b031663714ca2d1876040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156104cd57600080fd5b505afa1580156104e1573d6000803e3d6000fd5b505050506040513d60208110156104f757600080fd5b50516105345760405162461bcd60e51b815260040180806020018281038252602881526020018061232b6028913960400191505060405180910390fd5b846105805761057b86838387878080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610b2592505050565b6106b4565b60018514156105e85760008060606105cd87878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061130e92505050565b9250925092506105e089868585856113ee565b5050506106b4565b60028514156106325761057b868386868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611cf092505050565b600385141561067d5761057b86838387878080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611e1592505050565b60405162461bcd60e51b815260040180806020018281038252602d8152602001806122af602d913960400191505060405180910390fd5b505050505050565b6001600160a01b039081166000908152602081905260409020541690565b6106e26109ee565b6001600160a01b0316336001600160a01b0316146107315760405162461bcd60e51b81526004018080602001828103825260498152602001806122666049913960600191505060405180910390fd5b80518351148015610743575080518251145b61077e5760405162461bcd60e51b815260040180806020018281038252602f815260200180612450602f913960400191505060405180910390fd5b60005b83518110156109875761079261098d565b6001600160a01b0316633825abe86040518163ffffffff1660e01b815260040160206040518083038186803b1580156107ca57600080fd5b505afa1580156107de573d6000803e3d6000fd5b505050506040513d60208110156107f457600080fd5b5051845185908390811061080457fe5b6020026020010151106108485760405162461bcd60e51b81526004018080602001828103825260348152602001806123536034913960400191505060405180910390fd5b604051806040016040528083838151811061085f57fe5b60200260200101516001600160a01b0316815260200184838151811061088157fe5b60200260200101516001600160a01b0316815250600160008684815181106108a557fe5b602090810291909101810151825281810192909252604001600020825181546001600160a01b03199081166001600160a01b039283161783559390920151600190910180549093169116179055835184908290811061090057fe5b60200260200101517f14f0f52379e27a06185de7281205c2496464cf539a6dcc46258cc6cebe89dc3084838151811061093557fe5b602002602001015184848151811061094957fe5b602002602001015160405180836001600160a01b03168152602001826001600160a01b031681526020019250505060405180910390a2600101610781565b50505050565b7f000000000000000000000000000000000000000000000000000000000000000090565b600090815260016020819052604090912001546001600160a01b031690565b6000908152600160205260409020546001600160a01b031690565b50565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b158015610a4957600080fd5b505afa158015610a5d573d6000803e3d6000fd5b505050506040513d6020811015610a7357600080fd5b5051905090565b7f000000000000000000000000000000000000000000000000000000000000000090565b565b7f000000000000000000000000000000000000000000000000000000000000000090565b610acc610a7a565b6001600160a01b0316336001600160a01b031614610b1b5760405162461bcd60e51b81526004018080602001828103825260288152602001806123876028913960400191505060405180910390fd5b61098784846120b0565b6000606080838060200190516060811015610b3f57600080fd5b815160208301805160405192949293830192919084600160201b821115610b6557600080fd5b908301906020820185811115610b7a57600080fd5b8251600160201b811182820188101715610b9357600080fd5b82525081516020918201929091019080838360005b83811015610bc0578181015183820152602001610ba8565b50505050905090810190601f168015610bed5780820380516001836020036101000a031916815260200191505b5060405260200180516040519392919084600160201b821115610c0f57600080fd5b908301906020820185811115610c2457600080fd5b8251600160201b811182820188101715610c3d57600080fd5b82525081516020918201929091019080838360005b83811015610c6a578181015183820152602001610c52565b50505050905090810190601f168015610c975780820380516001836020036101000a031916815260200191505b506040525050509250925092506000610caf846109d0565b90506001600160a01b038116610cf65760405162461bcd60e51b81526004018080602001828103825260288152602001806123af6028913960400191505060405180910390fd5b610cfe610aa0565b6001600160a01b0316630442bad58860068b888860405160200180846001600160a01b0316815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610d67578181015183820152602001610d4f565b50505050905090810190601f168015610d945780820380516001836020036101000a031916815260200191505b509450505050506040516020818303038152906040526040518463ffffffff1660e01b815260040180846001600160a01b03168152602001836009811115610dd857fe5b815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610e16578181015183820152602001610dfe565b50505050905090810190601f168015610e435780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b158015610e6457600080fd5b505af1158015610e78573d6000803e3d6000fd5b505050506060816001600160a01b031663db16c72e88866040518363ffffffff1660e01b815260040180836001600160a01b0316815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610eea578181015183820152602001610ed2565b50505050905090810190601f168015610f175780820380516001836020036101000a031916815260200191505b509350505050600060405180830381600087803b158015610f3757600080fd5b505af1158015610f4b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526020811015610f7457600080fd5b8101908080516040519392919084600160201b821115610f9357600080fd5b908301906020820185811115610fa857600080fd5b8251600160201b811182820188101715610fc157600080fd5b82525081516020918201929091019080838360005b83811015610fee578181015183820152602001610fd6565b50505050905090810190601f16801561101b5780820380516001836020036101000a031916815260200191505b5060405250505090506060634ddf47d460e01b826040516024018080602001828103825283818151815260200191508051906020019080838360005b8381101561106f578181015183820152602001611057565b50505050905090810190601f16801561109c5780820380516001836020036101000a031916815260200191505b5060408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909616959095179094525091925060009150506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001663f908bc778a89611112816109b1565b866040518563ffffffff1660e01b815260040180856001600160a01b03168152602001848152602001836001600160a01b0316815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561118357818101518382015260200161116b565b50505050905090810190601f1680156111b05780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b1580156111d257600080fd5b505af11580156111e6573d6000803e3d6000fd5b505050506040513d60208110156111fc57600080fd5b8101908080519060200190929190505050905086896001600160a01b03168b6001600160a01b03167fc3b9bcc16acc2ee56104cb9a5d736ade0f1446a66aa9e217d8fa5b44f946b59e848760405180836001600160a01b0316815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561129357818101518382015260200161127b565b50505050905090810190601f1680156112c05780820380516001836020036101000a031916815260200191505b50935050505060405180910390a46112d88a82612107565b84511561130157600060606112ec8761130e565b92509250506112fe8d8d8585856113ee565b50505b5050505050505050505050565b600080606083806020019051606081101561132857600080fd5b81516020830151604080850180519151939592948301929184600160201b82111561135257600080fd5b90830190602082018581111561136757600080fd5b8251600160201b81118282018810171561138057600080fd5b82525081516020918201929091019080838360005b838110156113ad578181015183820152602001611395565b50505050905090810190601f1680156113da5780820380516001836020036101000a031916815260200191505b506040525050509250925092509193909250565b600061145d846001600160a01b03166312bc0a446040518163ffffffff1660e01b815260040160206040518083038186803b15801561142c57600080fd5b505afa158015611440573d6000803e3d6000fd5b505050506040513d602081101561145657600080fd5b50516109d0565b90506060806060836001600160a01b031663bbd2d6468888886040518463ffffffff1660e01b815260040180846001600160a01b0316815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b838110156114d75781810151838201526020016114bf565b50505050905090810190601f1680156115045780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b15801561152557600080fd5b505af1158015611539573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052606081101561156257600080fd5b8101908080516040519392919084600160201b82111561158157600080fd5b90830190602082018581111561159657600080fd5b82518660208202830111600160201b821117156115b257600080fd5b82525081516020918201928201910280838360005b838110156115df5781810151838201526020016115c7565b5050505090500160405260200180516040519392919084600160201b82111561160757600080fd5b90830190602082018581111561161c57600080fd5b82518660208202830111600160201b8211171561163857600080fd5b82525081516020918201928201910280838360005b8381101561166557818101518382015260200161164d565b5050505090500160405260200180516040519392919084600160201b82111561168d57600080fd5b9083019060208201858111156116a257600080fd5b82518660208202830111600160201b821117156116be57600080fd5b82525081516020918201928201910280838360005b838110156116eb5781810151838201526020016116d3565b50505050905001604052505050925092509250606086866040516020018083815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611748578181015183820152602001611730565b50505050905090810190601f1680156117755780820380516001836020036101000a031916815260200191505b50935050505060405160208183030381529060405290506118f689898387878760405160200180866001600160a01b0316815260200180602001806020018060200180602001858103855289818151815260200191508051906020019080838360005b838110156117f05781810151838201526020016117d8565b50505050905090810190601f16801561181d5780820380516001836020036101000a031916815260200191505b508581038452885181528851602091820191808b01910280838360005b8381101561185257818101518382015260200161183a565b50505050905001858103835287818151815260200191508051906020019060200280838360005b83811015611891578181015183820152602001611879565b50505050905001858103825286818151815260200191508051906020019060200280838360005b838110156118d05781810151838201526020016118b8565b5050505090500199505050505050505050506040516020818303038152906040526121ed565b6118fe610aa0565b6001600160a01b0316630442bad58a60078d8c8989898960405160200180876001600160a01b03168152602001866001600160a01b0316815260200180602001806020018060200180602001858103855289818151815260200191508051906020019060200280838360005b8381101561198257818101518382015260200161196a565b50505050905001858103845288818151815260200191508051906020019060200280838360005b838110156119c15781810151838201526020016119a9565b50505050905001858103835287818151815260200191508051906020019060200280838360005b83811015611a005781810151838201526020016119e8565b50505050905001858103825286818151815260200191508051906020019080838360005b83811015611a3c578181015183820152602001611a24565b50505050905090810190601f168015611a695780820380516001836020036101000a031916815260200191505b509a50505050505050505050506040516020818303038152906040526040518463ffffffff1660e01b815260040180846001600160a01b03168152602001836009811115611ab357fe5b815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611af1578181015183820152602001611ad9565b50505050905090810190601f168015611b1e5780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b158015611b3f57600080fd5b505af1158015611b53573d6000803e3d6000fd5b50505050876001600160a01b0316896001600160a01b03168b6001600160a01b03167f62e5ab7686baa8b666d45a227de296ea589ff48f1f215ca0e647ef6417a8657e8a8a8989896040518086815260200180602001806020018060200180602001858103855289818151815260200191508051906020019080838360005b83811015611bea578181015183820152602001611bd2565b50505050905090810190601f168015611c175780820380516001836020036101000a031916815260200191505b508581038452885181528851602091820191808b01910280838360005b83811015611c4c578181015183820152602001611c34565b50505050905001858103835287818151815260200191508051906020019060200280838360005b83811015611c8b578181015183820152602001611c73565b50505050905001858103825286818151815260200191508051906020019060200280838360005b83811015611cca578181015183820152602001611cb2565b50505050905001995050505050505050505060405180910390a450505050505050505050565b6000818060200190516020811015611d0757600080fd5b50519050611d13610aa0565b604080516001600160a01b038781166020830152848116828401528251808303840181526060830193849052630442bad560e01b90935286811660648301908152931692630442bad59287926008929060840183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611da5578181015183820152602001611d8d565b50505050905090810190601f168015611dd25780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b158015611df357600080fd5b505af1158015611e07573d6000803e3d6000fd5b50505050610987838261221a565b6000818060200190516020811015611e2c57600080fd5b50519050611e3861098d565b6001600160a01b03166371b79dc1826040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015611e8457600080fd5b505afa158015611e98573d6000803e3d6000fd5b505050506040513d6020811015611eae57600080fd5b5051611eeb5760405162461bcd60e51b815260040180806020018281038252604f8152602001806122dc604f913960600191505060405180910390fd5b826001600160a01b0316816001600160a01b031663c98091876040518163ffffffff1660e01b815260040160206040518083038186803b158015611f2e57600080fd5b505afa158015611f42573d6000803e3d6000fd5b505050506040513d6020811015611f5857600080fd5b50516001600160a01b031614611f9f5760405162461bcd60e51b815260040180806020018281038252604c8152602001806123d7604c913960600191505060405180910390fd5b611fa7610aa0565b604080516001600160a01b038881166020830152848116828401528251808303840181526060830193849052630442bad560e01b90935287811660648301908152931692630442bad59288926009929060840183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015612039578181015183820152602001612021565b50505050905090810190601f1680156120665780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b15801561208757600080fd5b505af115801561209b573d6000803e3d6000fd5b505050506120a98482612107565b5050505050565b6001600160a01b0382811660008181526020819052604080822080546001600160a01b0319169486169485179055517f8852dcaa71340ea616a65ffac013450dfb238607481fb9d78346c667fe256c139190a35050565b604080516001600160a01b0383811660208084019190915283518084039091018152828401938490526310acd06d60e01b9093528416916310acd06d916008919060440180835b815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561218c578181015183820152602001612174565b50505050905090810190601f1680156121b95780820380516001836020036101000a031916815260200191505b509350505050600060405180830381600087803b1580156121d957600080fd5b505af11580156106b4573d6000803e3d6000fd5b6040516310acd06d60e01b81526001600160a01b038316906310acd06d906009908490600401808361214e565b604080516001600160a01b0383811660208084019190915283518084039091018152828401938490526310acd06d60e01b9093528416916310acd06d91600a9190604401808361214e56fe6f6e6c7946756e644465706c6f7965724f776e65723a204f6e6c79207468652046756e644465706c6f796572206f776e65722063616e2063616c6c20746869732066756e6374696f6e7265636569766543616c6c46726f6d436f6d7074726f6c6c65723a20496e76616c6964205f616374696f6e49645f5f7265616374697661746545787465726e616c506f736974696f6e3a204163636f756e742070726f7669646564206973206e6f7420612076616c69642065787465726e616c20706f736974696f6e7265636569766543616c6c46726f6d436f6d7074726f6c6c65723a20556e617574686f72697a656475706461746545787465726e616c506f736974696f6e5479706573496e666f3a205479706520646f6573206e6f742065786973744f6e6c79207468652046756e644465706c6f7965722063616e206d616b6520746869732063616c6c5f5f63726561746545787465726e616c506f736974696f6e3a20496e76616c6964207479706549645f5f7265616374697661746545787465726e616c506f736974696f6e3a2045787465726e616c20706f736974696f6e2062656c6f6e677320746f206120646966666572656e74207661756c747265636569766543616c6c46726f6d436f6d7074726f6c6c65723a2046756e64206973206e6f742076616c696475706461746545787465726e616c506f736974696f6e5479706573496e666f3a20556e657175616c20617272617973a164736f6c634300060c000a", "sourceMap": "905:12848:85:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3000:1927;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3000:1927:85;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3000:1927:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3000:1927:85;;;;;;;;;;-1:-1:-1;3000:1927:85;;-1:-1:-1;3000:1927:85;-1:-1:-1;3000:1927:85;:::i;:::-;;2692:198:226;;;;;;;;;;;;;;;;-1:-1:-1;2692:198:226;-1:-1:-1;;;;;2692:198:226;;:::i;:::-;;;;-1:-1:-1;;;;;2692:198:226;;;;;;;;;;;;;;11445:902:85;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;11445:902:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;11445:902:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11445:902:85;;;;;;;;-1:-1:-1;11445:902:85;;-1:-1:-1;;;;;11445:902:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;11445:902:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11445:902:85;;;;;;;;-1:-1:-1;11445:902:85;;-1:-1:-1;;;;;11445:902:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;11445:902:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11445:902:85;;-1:-1:-1;11445:902:85;;-1:-1:-1;;;;;11445:902:85:i;12576:142::-;;;:::i;12931:189::-;;;;;;;;;;;;;;;;-1:-1:-1;12931:189:85;;:::i;13335:181::-;;;;;;;;;;;;;;;;-1:-1:-1;13335:181:85;;:::i;1120:80:226:-;;;;;;;;;;;;;;;;-1:-1:-1;1120:80:226;;;;:::i;1064:120:358:-;;;:::i;1378:108::-;;;:::i;1346:78:226:-;;;:::i;13640:111:85:-;;;:::i;2391:228::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2391:228:85;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2391:228:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2391:228:85;;;;;;;;;;-1:-1:-1;2391:228:85;;-1:-1:-1;2391:228:85;-1:-1:-1;2391:228:85;:::i;3000:1927::-;3183:10;3156:24;3444:38;3183:10;3444:20;:38::i;:::-;3423:59;-1:-1:-1;;;;;;3500:24:85;;3492:82;;;;-1:-1:-1;;;3492:82:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3613:10;-1:-1:-1;;;;;3606:34:85;;3641:7;3606:43;;;;;;;;;;;;;-1:-1:-1;;;;;3606:43:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3606:43:85;3585:130;;;;-1:-1:-1;;;3585:130:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3761:75;3757:1164;;3852:74;3877:7;3886:16;3904:10;3916:9;;3852:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3852:24:85;;-1:-1:-1;;;3852:74:85:i;:::-;3757:1164;;;3968:53;3947:9;:75;3943:978;;;4056:24;4098:16;4132:23;4172:49;4211:9;;4172:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4172:38:85;;-1:-1:-1;;;4172:49:85:i;:::-;4038:183;;;;;;4235:192;4284:7;4309:16;4343;4377:8;4403:10;4235:31;:192::i;:::-;3943:978;;;;;;4469:53;4448:9;:75;4444:477;;;4539:69;4571:7;4580:16;4598:9;;4539:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4539:31:85;;-1:-1:-1;;;4539:69:85:i;4444:477::-;4663:57;4642:9;:79;4625:296;;;4746:78;4775:7;4784:16;4802:10;4814:9;;4746:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4746:28:85;;-1:-1:-1;;;4746:78:85:i;4625:296::-;4855:55;;-1:-1:-1;;;4855:55:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4625:296;3000:1927;;;;;;:::o;2692:198:226:-;-1:-1:-1;;;;;2836:47:226;;;2794:19;2836:47;;;;;;;;;;;;;2692:198::o;11445:902:85:-;679:10:358;:8;:10::i;:::-;-1:-1:-1;;;;;665:24:358;:10;-1:-1:-1;;;;;665:24:358;;644:144;;;;-1:-1:-1;;;644:144:358;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11675:8:85::1;:15;11656:8;:15;:34;:69;;;;;11710:8;:15;11694:5;:12;:31;11656:69;11635:163;;;;-1:-1:-1::0;;;11635:163:85::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11814:9;11809:532;11829:8;:15;11825:1;:19;11809:532;;;11948:28;:26;:28::i;:::-;-1:-1:-1::0;;;;;11924:76:85::1;;:78;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;11924:78:85;11890:11;;:8;;11899:1;;11890:11;::::1;;;;;;;;;;;:112;11865:223;;;;-1:-1:-1::0;;;11865:223:85::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12135:108;;;;;;;;12217:8;12226:1;12217:11;;;;;;;;;;;;;;-1:-1:-1::0;;;;;12135:108:85::1;;;;;12183:5;12189:1;12183:8;;;;;;;;;;;;;;-1:-1:-1::0;;;;;12135:108:85::1;;;::::0;12103:16:::1;:29;12120:8;12129:1;12120:11;;;;;;;;;::::0;;::::1;::::0;;;;;;;12103:29;;;;::::1;::::0;;;;;;-1:-1:-1;12103:29:85;:140;;;;-1:-1:-1;;;;;;12103:140:85;;::::1;-1:-1:-1::0;;;;;12103:140:85;;::::1;;::::0;;;;;::::1;::::0;-1:-1:-1;12103:140:85;;::::1;::::0;;;;::::1;::::0;::::1;;::::0;;12295:11;;;;12304:1;;12295:11;::::1;;;;;;;;;;;12263:67;12308:5;12314:1;12308:8;;;;;;;;;;;;;;12318;12327:1;12318:11;;;;;;;;;;;;;;12263:67;;;;-1:-1:-1::0;;;;;12263:67:85::1;;;;;;-1:-1:-1::0;;;;;12263:67:85::1;;;;;;;;;;;;;;;;11846:3;;11809:532;;;;11445:902:::0;;;:::o;12576:142::-;12686:25;12576:142;:::o;12931:189::-;13049:12;13084:25;;;:16;:25;;;;;;;;:29;;-1:-1:-1;;;;;13084:29:85;;12931:189::o;13335:181::-;13439:15;13477:25;;;:16;:25;;;;;:32;-1:-1:-1;;;;;13477:32:85;;13335:181::o;1120:80:226:-;;:::o;1064:120:358:-;1105:14;1152:13;-1:-1:-1;;;;;1138:37:358;;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1138:39:358;;-1:-1:-1;1064:120:358;:::o;1378:108::-;1466:13;1378:108;:::o;1346:78:226:-;:::o;13640:111:85:-;13730:14;13640:111;:::o;2391:228::-;819:17:226;:15;:17::i;:::-;-1:-1:-1;;;;;805:31:226;:10;-1:-1:-1;;;;;805:31:226;;797:84;;;;-1:-1:-1;;;797:84:226;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2556:56:85::1;2581:17;2600:11;2556:24;:56::i;5036:2183::-:0;5229:14;5257:31;5302:43;5369:9;5358:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5358:46:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5358:46:85;;;;;;-1:-1:-1;5358:46:85;;;;;;;;;;-1:-1:-1;5358:46:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5358:46:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5358:46:85;;;;;;-1:-1:-1;5358:46:85;;;;;;;;;;-1:-1:-1;5358:46:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5215:189;;;;;;5415:14;5432:40;5465:6;5432:32;:40::i;:::-;5415:57;-1:-1:-1;;;;;;5490:20:85;;5482:73;;;;-1:-1:-1;;;5482:73:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5581:18;:16;:18::i;:::-;-1:-1:-1;;;;;5566:51:85;;5631:17;5662:48;5735:7;5744:6;5752:18;5724:47;;;;;;-1:-1:-1;;;;;5724:47:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5566:215;;;;;;;;;;;;;-1:-1:-1;;;;;5566:215:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5901:21;5949:6;-1:-1:-1;;;;;5925:45:85;;5984:11;6009:18;5925:112;;;;;;;;;;;;;-1:-1:-1;;;;;5925:112:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5925:112:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5925:112:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5925:112:85;;;;;;-1:-1:-1;5925:112:85;;;;;;;;;;-1:-1:-1;5925:112:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5901:136;;6048:26;6113:31;;;6158:8;6077:99;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6077:99:85;;;-1:-1:-1;;6077:99:85;;;;;;;;;;;;;;-1:-1:-1;;;;;6077:99:85;-1:-1:-1;;;;;;6077:99:85;;;;;;;;;;-1:-1:-1;6077:99:85;;-1:-1:-1;;;;;;;;;;6238:25:85;6214:57;;6285:11;6310:6;6330:37;6310:6;6330:29;:37::i;:::-;6381:13;6214:190;;;;;;;;;;;;;-1:-1:-1;;;;;6214:190:85;;;;;;;;;;;-1:-1:-1;;;;;6214:190:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6187:217;;6551:6;6496:11;-1:-1:-1;;;;;6420:169:85;6465:17;-1:-1:-1;;;;;6420:169:85;;6521:16;6571:8;6420:169;;;;-1:-1:-1;;;;;6420:169:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6600:58;6622:17;6641:16;6600:21;:58::i;:::-;6732:37;;:42;6728:485;;6850:16;6868:23;6895:100;6951:30;6895:38;:100::i;:::-;6847:148;;;;;7009:193;7058:7;7083:17;7118:16;7152:8;7178:10;7009:31;:193::i;:::-;6728:485;;;5036:2183;;;;;;;;;;;:::o;7283:312::-;7414:25;7453:17;7484:24;7551:9;7540:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;7540:48:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;7540:48:85;;;;;;-1:-1:-1;7540:48:85;;;;;;;;;;-1:-1:-1;7540:48:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7533:55;;;;;;7283:312;;;;;:::o;7665:1742::-;7886:14;7903:123;7972:17;-1:-1:-1;;;;;7949:65:85;;:67;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7949:67:85;7903:32;:123::i;:::-;7886:140;;8051:33;8098:34;8146:32;8215:6;-1:-1:-1;;;;;8191:52:85;;8261:17;8296:9;8323:11;8191:157;;;;;;;;;;;;;-1:-1:-1;;;;;8191:157:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8191:157:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;8191:157:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;8191:157:85;;;;;;;;;;;;-1:-1:-1;8191:157:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;8191:157:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;8191:157:85;;;;;;;;;;;;-1:-1:-1;8191:157:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;8191:157:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;8191:157:85;;;;;;;;;;;;-1:-1:-1;8191:157:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8037:311;;;;;;8359:30;8403:9;8414:11;8392:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8359:67;;8437:275;8475:17;8534;8569;8604:16;8638:17;8673:15;8506:196;;;;;;-1:-1:-1;;;;;8506:196:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8506:196:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8437:24;:275::i;:::-;8738:18;:16;:18::i;:::-;-1:-1:-1;;;;;8723:51:85;;8788:17;8819:52;8913:7;8938:17;8973:16;9007:17;9042:15;9075:17;8885:221;;;;;;-1:-1:-1;;;;;8885:221:85;;;;;;-1:-1:-1;;;;;8885:221:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8723:393;;;;;;;;;;;;;-1:-1:-1;;;;;8723:393:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9235:17;-1:-1:-1;;;;;9132:268:85;9204:17;-1:-1:-1;;;;;9132:268:85;9183:7;-1:-1:-1;;;;;9132:268:85;;9266:9;9289:11;9314:16;9344:17;9375:15;9132:268;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9132:268:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7665:1742;;;;;;;;;;:::o;9475:511::-;9632:24;9670:9;9659:32;;;;;;;;;;;;;;;-1:-1:-1;9659:32:85;;-1:-1:-1;9717:18:85;:16;:18::i;:::-;9860:37;;;-1:-1:-1;;;;;9860:37:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;9702:205:85;;;;;;;;;;;;:51;;;;;9767:17;;9798:48;;9702:205;;;9798:48;9702:205;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9918:61;9943:17;9962:16;9918:24;:61::i;10045:1005::-;10228:24;10266:9;10255:32;;;;;;;;;;;;;;;-1:-1:-1;10255:32:85;;-1:-1:-1;10343:28:85;:26;:28::i;:::-;-1:-1:-1;;;;;10319:77:85;;10414:16;10319:125;;;;;;;;;;;;;-1:-1:-1;;;;;10319:125:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10319:125:85;10298:251;;;;-1:-1:-1;;;10298:251:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10641:11;-1:-1:-1;;;;;10581:71:85;10604:16;-1:-1:-1;;;;;10581:54:85;;:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10581:56:85;-1:-1:-1;;;;;10581:71:85;;10560:194;;;;-1:-1:-1;;;10560:194:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10780:18;:16;:18::i;:::-;10927:37;;;-1:-1:-1;;;;;10927:37:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;10765:209:85;;;;;;;;;;;;:51;;;;;10830:17;;10861:52;;10765:209;;;10861:52;10765:209;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10985:58;11007:17;11026:16;10985:21;:58::i;:::-;10045:1005;;;;;:::o;2172:246:226:-;-1:-1:-1;;;;;2273:47:226;;;:28;:47;;;;;;;;;;;:61;;-1:-1:-1;;;;;;2273:61:226;;;;;;;;;2350;;;2273:28;2350:61;2172:246;;:::o;821:271:227:-;1046:29;;;-1:-1:-1;;;;;1046:29:227;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;925:160:227;;;:55;;;;;994:38;;1046:29;925:160;;;994:38;925:160;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2835:246;2935:139;;-1:-1:-1;;;2935:139:227;;-1:-1:-1;;;;;2935:55:227;;;;;3004:41;;3059:5;;2935:139;;;3004:41;2935:139;;3812:289;4055:29;;;-1:-1:-1;;;;;4055:29:227;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3931:163:227;;;:55;;;;;4000:41;;4055:29;3931:163;;;4000:41;3931:163;", "linkReferences": {}, "immutableReferences": { "19109": [ { "start": 2447, "length": 32 }, { "start": 4322, "length": 32 } ], "19111": [ { "start": 2722, "length": 32 } ], "78707": [ { "start": 2546, "length": 32 }, { "start": 2684, "length": 32 } ] } }, "methodIdentifiers": { "activateForFund(bool)": "80d57063", "deactivateForFund()": "bd8e959a", "getExternalPositionFactory()": "634ac96d", "getExternalPositionLibForType(uint256)": "75d8bb0e", "getExternalPositionParserForType(uint256)": "7c65c114", "getFundDeployer()": "97c0ac87", "getOwner()": "893d20e8", "getPolicyManager()": "d44ad6cb", "getVaultProxyForFund(address)": "46790346", "receiveCallFromComptroller(address,uint256,bytes)": "1bee801e", "setConfigForFund(address,address,bytes)": "f067cc11", "updateExternalPositionTypesInfo(uint256[],address[],address[])": "4c68a8dc" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_fundDeployer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_externalPositionFactory\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_policyManager\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"externalPosition\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"actionId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"actionArgs\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"assetsToTransfer\",\"type\":\"address[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"amountsToTransfer\",\"type\":\"uint256[]\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"assetsToReceive\",\"type\":\"address[]\"}],\"name\":\"CallOnExternalPositionExecutedForFund\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"vaultProxy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"externalPosition\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"externalPositionTypeId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"ExternalPositionDeployedForFund\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"typeId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"lib\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"parser\",\"type\":\"address\"}],\"name\":\"ExternalPositionTypeInfoUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"vaultProxy\",\"type\":\"address\"}],\"name\":\"ValidatedVaultProxySetForFund\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"name\":\"activateForFund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"deactivateForFund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getExternalPositionFactory\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"externalPositionFactory_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_typeId\",\"type\":\"uint256\"}],\"name\":\"getExternalPositionLibForType\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"lib_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_typeId\",\"type\":\"uint256\"}],\"name\":\"getExternalPositionParserForType\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"parser_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFundDeployer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"fundDeployer_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPolicyManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"policyManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"}],\"name\":\"getVaultProxyForFund\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"vaultProxy_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_caller\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_actionId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_callArgs\",\"type\":\"bytes\"}],\"name\":\"receiveCallFromComptroller\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"setConfigForFund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"_typeIds\",\"type\":\"uint256[]\"},{\"internalType\":\"address[]\",\"name\":\"_libs\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"_parsers\",\"type\":\"address[]\"}],\"name\":\"updateExternalPositionTypesInfo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"activateForFund(bool)\":{\"details\":\"Unimplemented by default, may be overridden.\"},\"deactivateForFund()\":{\"details\":\"Unimplemented by default, may be overridden.\"},\"getExternalPositionFactory()\":{\"returns\":{\"externalPositionFactory_\":\"The `EXTERNAL_POSITION_FACTORY` variable value\"}},\"getExternalPositionLibForType(uint256)\":{\"params\":{\"_typeId\":\"The type for which to get the external position library\"},\"returns\":{\"lib_\":\"The external position library\"}},\"getExternalPositionParserForType(uint256)\":{\"params\":{\"_typeId\":\"The type for which to get the external position's parser\"},\"returns\":{\"parser_\":\"The external position parser\"}},\"getFundDeployer()\":{\"returns\":{\"fundDeployer_\":\"The `FUND_DEPLOYER` variable value\"}},\"getOwner()\":{\"details\":\"Ownership is deferred to the owner of the FundDeployer contract\",\"returns\":{\"owner_\":\"The owner\"}},\"getPolicyManager()\":{\"returns\":{\"policyManager_\":\"The `POLICY_MANAGER` variable value\"}},\"getVaultProxyForFund(address)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\"},\"returns\":{\"vaultProxy_\":\"The VaultProxy of the fund\"}},\"receiveCallFromComptroller(address,uint256,bytes)\":{\"params\":{\"_actionId\":\"An ID representing the desired action\",\"_callArgs\":\"The encoded args for the action\",\"_caller\":\"The user who called for this action\"}},\"setConfigForFund(address,address,bytes)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\",\"_vaultProxy\":\"The VaultProxy of the fund\"}},\"updateExternalPositionTypesInfo(uint256[],address[],address[])\":{\"params\":{\"_libs\":\"The libs\",\"_parsers\":\"The parsers\",\"_typeIds\":\"The external position type ids for which to set the libs and parsers\"}}},\"title\":\"ExternalPositionManager\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"activateForFund(bool)\":{\"notice\":\"Allows extension to run logic during fund activation\"},\"deactivateForFund()\":{\"notice\":\"Allows extension to run logic during fund deactivation (destruct)\"},\"getExternalPositionFactory()\":{\"notice\":\"Gets the `EXTERNAL_POSITION_FACTORY` variable\"},\"getExternalPositionLibForType(uint256)\":{\"notice\":\"Gets the external position library contract for a given type\"},\"getExternalPositionParserForType(uint256)\":{\"notice\":\"Gets the external position parser contract for a given type\"},\"getFundDeployer()\":{\"notice\":\"Gets the `FUND_DEPLOYER` variable\"},\"getOwner()\":{\"notice\":\"Gets the owner of this contract\"},\"getPolicyManager()\":{\"notice\":\"Gets the `POLICY_MANAGER` variable\"},\"getVaultProxyForFund(address)\":{\"notice\":\"Gets the verified VaultProxy for a given ComptrollerProxy\"},\"receiveCallFromComptroller(address,uint256,bytes)\":{\"notice\":\"Receives a dispatched `callOnExtension` from a fund's ComptrollerProxy\"},\"setConfigForFund(address,address,bytes)\":{\"notice\":\"Enables the ExternalPositionManager to be used by a fund\"},\"updateExternalPositionTypesInfo(uint256[],address[],address[])\":{\"notice\":\"Updates the libs and parsers for a set of external position type ids\"}},\"notice\":\"Extension to handle external position actions for funds\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/ExternalPositionManager.sol\":\"ExternalPositionManager\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/external-positions/ExternalPositionFactory.sol\":{\"keccak256\":\"0x20bfd32ff5da52c8d53a936635715543602ee87fb0e7e1e1c79d5f5628048251\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5f28762e680e7601e90388670de048310640436f701e2fa0c738127813be01ed\",\"dweb:/ipfs/QmYWR4mTaXYQtQ5He1pfZDS1d1k9s3UNB5GwfoWHFMRdKZ\"]},\"contracts/persistent/external-positions/ExternalPositionProxy.sol\":{\"keccak256\":\"0x8927ca263d3c6dd7093ed8663fe0a3b26162eacae4e5aa602204ceea957c8c54\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ae54235028276298cb7879b64da87d356bf301aa921723570dbf41e79bc821fb\",\"dweb:/ipfs/QmUa5gHtKoD3oSfNuihQPmB4seARwWfkkWrq67PtUM5DWa\"]},\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/persistent/external-positions/IExternalPositionProxy.sol\":{\"keccak256\":\"0xc74e623dbdc949df49e9cef31e0f958b17c715d89198dbbc1754d8f9c21e90de\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://074daf0a9f4e667964e6d50039986e3d792860cdece05d21e3606d33358a02b2\",\"dweb:/ipfs/QmVHXiKry9fYfjSNd6dxmtSr7DubNJvYJTNXtLDKGer2xH\"]},\"contracts/persistent/vault/interfaces/IExternalPositionVault.sol\":{\"keccak256\":\"0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d\",\"dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8\"]},\"contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol\":{\"keccak256\":\"0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb\",\"dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU\"]},\"contracts/persistent/vault/interfaces/IMigratableVault.sol\":{\"keccak256\":\"0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6\",\"dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs\"]},\"contracts/persistent/vault/interfaces/IVaultCore.sol\":{\"keccak256\":\"0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd\",\"dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr\"]},\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/core/fund/comptroller/IComptroller.sol\":{\"keccak256\":\"0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97\",\"dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L\"]},\"contracts/release/core/fund/vault/IVault.sol\":{\"keccak256\":\"0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599\",\"dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG\"]},\"contracts/release/extensions/IExtension.sol\":{\"keccak256\":\"0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70\",\"dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t\"]},\"contracts/release/extensions/external-position-manager/ExternalPositionManager.sol\":{\"keccak256\":\"0x3de23d5f7829ee2e4fc7bdaedb9002d8164a55005f380a30cacc6a43f4fe2623\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://28478ff1d1a12a129ed643557fc107ad358cd489c97490d7e3ead5312125cdb7\",\"dweb:/ipfs/QmaSAw1mRsz5ha1wNSZjYyREv23eu6PGbtmTZdMmS7nW1V\"]},\"contracts/release/extensions/external-position-manager/IExternalPositionManager.sol\":{\"keccak256\":\"0x3af3f634e1f99fb97091b7825c0d2e2baaafc124d4e87d56cb0c17ff8554f6c6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://515470605afe5ef147f30fa75ce7818f0e00e3d321eb81a4d9bffcdefc294495\",\"dweb:/ipfs/QmPKsp99pfHoz9Tfo3ZxnkmqDqJtN9PxqacF2RmeVfxUJF\"]},\"contracts/release/extensions/external-position-manager/external-positions/IExternalPositionParser.sol\":{\"keccak256\":\"0x1662fbd65841ee5e9cf8d5329b9d04c264b24ef68ae1e0484e59a8969b0d2c46\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://580569b0f875e0344db83fae1e72dcc6c0767a049b2a6cc3e4f3c411d2284b27\",\"dweb:/ipfs/QmXFmF9QbcVsPHaBo1iq8sZHYhDkwfkMZpHmLTuJJ37NvZ\"]},\"contracts/release/extensions/policy-manager/IPolicyManager.sol\":{\"keccak256\":\"0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa\",\"dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb\"]},\"contracts/release/extensions/utils/ExtensionBase.sol\":{\"keccak256\":\"0xae68767766f6459bd2cd9dbd39df74f2c2f68f2150885bbce410e4091c807bb1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ce4c49522a39f618cc76feb474260fe910949f38e83b5f4518f1f245ba6eb876\",\"dweb:/ipfs/QmZ4wciRpziZAS4HRQy44Sgzm4GM4Wzme9zYnABzR6Cbzo\"]},\"contracts/release/extensions/utils/PermissionedVaultActionMixin.sol\":{\"keccak256\":\"0x77ddb9299d9c5f1538c20ae1543c20ef73db11ad7d9a9b817d26969ab233bb57\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://77812616256a092e0fd77469dcd2a2e098a1cf52686eeb6703a169efa64c27df\",\"dweb:/ipfs/QmbRPZznXSX3aA2VVJNpRqFXdJZebVDcDuY8EnF75Z7GpB\"]},\"contracts/release/utils/FundDeployerOwnerMixin.sol\":{\"keccak256\":\"0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927\",\"dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_fundDeployer", "type": "address" }, { "internalType": "address", "name": "_externalPositionFactory", "type": "address" }, { "internalType": "address", "name": "_policyManager", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "caller", "type": "address", "indexed": true }, { "internalType": "address", "name": "comptrollerProxy", "type": "address", "indexed": true }, { "internalType": "address", "name": "externalPosition", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "actionId", "type": "uint256", "indexed": false }, { "internalType": "bytes", "name": "actionArgs", "type": "bytes", "indexed": false }, { "internalType": "address[]", "name": "assetsToTransfer", "type": "address[]", "indexed": false }, { "internalType": "uint256[]", "name": "amountsToTransfer", "type": "uint256[]", "indexed": false }, { "internalType": "address[]", "name": "assetsToReceive", "type": "address[]", "indexed": false } ], "type": "event", "name": "CallOnExternalPositionExecutedForFund", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "comptrollerProxy", "type": "address", "indexed": true }, { "internalType": "address", "name": "vaultProxy", "type": "address", "indexed": true }, { "internalType": "address", "name": "externalPosition", "type": "address", "indexed": false }, { "internalType": "uint256", "name": "externalPositionTypeId", "type": "uint256", "indexed": true }, { "internalType": "bytes", "name": "data", "type": "bytes", "indexed": false } ], "type": "event", "name": "ExternalPositionDeployedForFund", "anonymous": false }, { "inputs": [ { "internalType": "uint256", "name": "typeId", "type": "uint256", "indexed": true }, { "internalType": "address", "name": "lib", "type": "address", "indexed": false }, { "internalType": "address", "name": "parser", "type": "address", "indexed": false } ], "type": "event", "name": "ExternalPositionTypeInfoUpdated", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "comptrollerProxy", "type": "address", "indexed": true }, { "internalType": "address", "name": "vaultProxy", "type": "address", "indexed": true } ], "type": "event", "name": "ValidatedVaultProxySetForFund", "anonymous": false }, { "inputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function", "name": "activateForFund" }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "deactivateForFund" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getExternalPositionFactory", "outputs": [ { "internalType": "address", "name": "externalPositionFactory_", "type": "address" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_typeId", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "getExternalPositionLibForType", "outputs": [ { "internalType": "address", "name": "lib_", "type": "address" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_typeId", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "getExternalPositionParserForType", "outputs": [ { "internalType": "address", "name": "parser_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getFundDeployer", "outputs": [ { "internalType": "address", "name": "fundDeployer_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getOwner", "outputs": [ { "internalType": "address", "name": "owner_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getPolicyManager", "outputs": [ { "internalType": "address", "name": "policyManager_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getVaultProxyForFund", "outputs": [ { "internalType": "address", "name": "vaultProxy_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_caller", "type": "address" }, { "internalType": "uint256", "name": "_actionId", "type": "uint256" }, { "internalType": "bytes", "name": "_callArgs", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "receiveCallFromComptroller" }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" }, { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "setConfigForFund" }, { "inputs": [ { "internalType": "uint256[]", "name": "_typeIds", "type": "uint256[]" }, { "internalType": "address[]", "name": "_libs", "type": "address[]" }, { "internalType": "address[]", "name": "_parsers", "type": "address[]" } ], "stateMutability": "nonpayable", "type": "function", "name": "updateExternalPositionTypesInfo" } ], "devdoc": { "kind": "dev", "methods": { "activateForFund(bool)": { "details": "Unimplemented by default, may be overridden." }, "deactivateForFund()": { "details": "Unimplemented by default, may be overridden." }, "getExternalPositionFactory()": { "returns": { "externalPositionFactory_": "The `EXTERNAL_POSITION_FACTORY` variable value" } }, "getExternalPositionLibForType(uint256)": { "params": { "_typeId": "The type for which to get the external position library" }, "returns": { "lib_": "The external position library" } }, "getExternalPositionParserForType(uint256)": { "params": { "_typeId": "The type for which to get the external position's parser" }, "returns": { "parser_": "The external position parser" } }, "getFundDeployer()": { "returns": { "fundDeployer_": "The `FUND_DEPLOYER` variable value" } }, "getOwner()": { "details": "Ownership is deferred to the owner of the FundDeployer contract", "returns": { "owner_": "The owner" } }, "getPolicyManager()": { "returns": { "policyManager_": "The `POLICY_MANAGER` variable value" } }, "getVaultProxyForFund(address)": { "params": { "_comptrollerProxy": "The ComptrollerProxy of the fund" }, "returns": { "vaultProxy_": "The VaultProxy of the fund" } }, "receiveCallFromComptroller(address,uint256,bytes)": { "params": { "_actionId": "An ID representing the desired action", "_callArgs": "The encoded args for the action", "_caller": "The user who called for this action" } }, "setConfigForFund(address,address,bytes)": { "params": { "_comptrollerProxy": "The ComptrollerProxy of the fund", "_vaultProxy": "The VaultProxy of the fund" } }, "updateExternalPositionTypesInfo(uint256[],address[],address[])": { "params": { "_libs": "The libs", "_parsers": "The parsers", "_typeIds": "The external position type ids for which to set the libs and parsers" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "activateForFund(bool)": { "notice": "Allows extension to run logic during fund activation" }, "deactivateForFund()": { "notice": "Allows extension to run logic during fund deactivation (destruct)" }, "getExternalPositionFactory()": { "notice": "Gets the `EXTERNAL_POSITION_FACTORY` variable" }, "getExternalPositionLibForType(uint256)": { "notice": "Gets the external position library contract for a given type" }, "getExternalPositionParserForType(uint256)": { "notice": "Gets the external position parser contract for a given type" }, "getFundDeployer()": { "notice": "Gets the `FUND_DEPLOYER` variable" }, "getOwner()": { "notice": "Gets the owner of this contract" }, "getPolicyManager()": { "notice": "Gets the `POLICY_MANAGER` variable" }, "getVaultProxyForFund(address)": { "notice": "Gets the verified VaultProxy for a given ComptrollerProxy" }, "receiveCallFromComptroller(address,uint256,bytes)": { "notice": "Receives a dispatched `callOnExtension` from a fund's ComptrollerProxy" }, "setConfigForFund(address,address,bytes)": { "notice": "Enables the ExternalPositionManager to be used by a fund" }, "updateExternalPositionTypesInfo(uint256[],address[],address[])": { "notice": "Updates the libs and parsers for a set of external position type ids" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/external-position-manager/ExternalPositionManager.sol": "ExternalPositionManager" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/dispatcher/IDispatcher.sol": { "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", "urls": [ "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" ], "license": "GPL-3.0" }, "contracts/persistent/external-positions/ExternalPositionFactory.sol": { "keccak256": "0x20bfd32ff5da52c8d53a936635715543602ee87fb0e7e1e1c79d5f5628048251", "urls": [ "bzz-raw://5f28762e680e7601e90388670de048310640436f701e2fa0c738127813be01ed", "dweb:/ipfs/QmYWR4mTaXYQtQ5He1pfZDS1d1k9s3UNB5GwfoWHFMRdKZ" ], "license": "GPL-3.0" }, "contracts/persistent/external-positions/ExternalPositionProxy.sol": { "keccak256": "0x8927ca263d3c6dd7093ed8663fe0a3b26162eacae4e5aa602204ceea957c8c54", "urls": [ "bzz-raw://ae54235028276298cb7879b64da87d356bf301aa921723570dbf41e79bc821fb", "dweb:/ipfs/QmUa5gHtKoD3oSfNuihQPmB4seARwWfkkWrq67PtUM5DWa" ], "license": "GPL-3.0" }, "contracts/persistent/external-positions/IExternalPosition.sol": { "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", "urls": [ "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" ], "license": "GPL-3.0" }, "contracts/persistent/external-positions/IExternalPositionProxy.sol": { "keccak256": "0xc74e623dbdc949df49e9cef31e0f958b17c715d89198dbbc1754d8f9c21e90de", "urls": [ "bzz-raw://074daf0a9f4e667964e6d50039986e3d792860cdece05d21e3606d33358a02b2", "dweb:/ipfs/QmVHXiKry9fYfjSNd6dxmtSr7DubNJvYJTNXtLDKGer2xH" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IExternalPositionVault.sol": { "keccak256": "0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6", "urls": [ "bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d", "dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol": { "keccak256": "0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0", "urls": [ "bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb", "dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IMigratableVault.sol": { "keccak256": "0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238", "urls": [ "bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6", "dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IVaultCore.sol": { "keccak256": "0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80", "urls": [ "bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd", "dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr" ], "license": "GPL-3.0" }, "contracts/release/core/fund-deployer/IFundDeployer.sol": { "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", "urls": [ "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" ], "license": "GPL-3.0" }, "contracts/release/core/fund/comptroller/IComptroller.sol": { "keccak256": "0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f", "urls": [ "bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97", "dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L" ], "license": "GPL-3.0" }, "contracts/release/core/fund/vault/IVault.sol": { "keccak256": "0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd", "urls": [ "bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599", "dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG" ], "license": "GPL-3.0" }, "contracts/release/extensions/IExtension.sol": { "keccak256": "0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b", "urls": [ "bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70", "dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/ExternalPositionManager.sol": { "keccak256": "0x3de23d5f7829ee2e4fc7bdaedb9002d8164a55005f380a30cacc6a43f4fe2623", "urls": [ "bzz-raw://28478ff1d1a12a129ed643557fc107ad358cd489c97490d7e3ead5312125cdb7", "dweb:/ipfs/QmaSAw1mRsz5ha1wNSZjYyREv23eu6PGbtmTZdMmS7nW1V" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/IExternalPositionManager.sol": { "keccak256": "0x3af3f634e1f99fb97091b7825c0d2e2baaafc124d4e87d56cb0c17ff8554f6c6", "urls": [ "bzz-raw://515470605afe5ef147f30fa75ce7818f0e00e3d321eb81a4d9bffcdefc294495", "dweb:/ipfs/QmPKsp99pfHoz9Tfo3ZxnkmqDqJtN9PxqacF2RmeVfxUJF" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/IExternalPositionParser.sol": { "keccak256": "0x1662fbd65841ee5e9cf8d5329b9d04c264b24ef68ae1e0484e59a8969b0d2c46", "urls": [ "bzz-raw://580569b0f875e0344db83fae1e72dcc6c0767a049b2a6cc3e4f3c411d2284b27", "dweb:/ipfs/QmXFmF9QbcVsPHaBo1iq8sZHYhDkwfkMZpHmLTuJJ37NvZ" ], "license": "GPL-3.0" }, "contracts/release/extensions/policy-manager/IPolicyManager.sol": { "keccak256": "0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32", "urls": [ "bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa", "dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb" ], "license": "GPL-3.0" }, "contracts/release/extensions/utils/ExtensionBase.sol": { "keccak256": "0xae68767766f6459bd2cd9dbd39df74f2c2f68f2150885bbce410e4091c807bb1", "urls": [ "bzz-raw://ce4c49522a39f618cc76feb474260fe910949f38e83b5f4518f1f245ba6eb876", "dweb:/ipfs/QmZ4wciRpziZAS4HRQy44Sgzm4GM4Wzme9zYnABzR6Cbzo" ], "license": "GPL-3.0" }, "contracts/release/extensions/utils/PermissionedVaultActionMixin.sol": { "keccak256": "0x77ddb9299d9c5f1538c20ae1543c20ef73db11ad7d9a9b817d26969ab233bb57", "urls": [ "bzz-raw://77812616256a092e0fd77469dcd2a2e098a1cf52686eeb6703a169efa64c27df", "dweb:/ipfs/QmbRPZznXSX3aA2VVJNpRqFXdJZebVDcDuY8EnF75Z7GpB" ], "license": "GPL-3.0" }, "contracts/release/utils/FundDeployerOwnerMixin.sol": { "keccak256": "0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934", "urls": [ "bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927", "dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 85 } diff --git a/eth_defi/abi/enzyme/ExternalPositionProxy.json b/eth_defi/abi/enzyme/ExternalPositionProxy.json index e37045bf..a2352550 100644 --- a/eth_defi/abi/enzyme/ExternalPositionProxy.json +++ b/eth_defi/abi/enzyme/ExternalPositionProxy.json @@ -1,295 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_typeId", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_constructLib", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_constructData", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "stateMutability": "payable", - "type": "fallback" - }, - { - "inputs": [], - "name": "getExternalPositionType", - "outputs": [ - { - "internalType": "uint256", - "name": "externalPositionType_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getVaultProxy", - "outputs": [ - { - "internalType": "address", - "name": "vaultProxy_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "name": "receiveCallFromVault", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "stateMutability": "payable", - "type": "receive" - } - ], - "bytecode": { - "object": "0x60c060405234801561001057600080fd5b506040516107553803806107558339818101604052608081101561003357600080fd5b81516020830151604080850151606086018051925194969395919493918201928464010000000082111561006657600080fd5b90830190602082018581111561007b57600080fd5b825164010000000081118282018810171561009557600080fd5b82525081516020918201929091019080838360005b838110156100c25781810151838201526020016100aa565b50505050905090810190601f1680156100ef5780820380516001836020036101000a031916815260200191505b50604052505050836001600160a01b031660a0816001600160a01b031660601b81525050826080818152505060006060836001600160a01b0316836040518082805190602001908083835b602083106101595780518252601f19909201916020918201910161013a565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d80600081146101b9576040519150601f19603f3d011682016040523d82523d6000602084013e6101be565b606091505b509150915081819061024e5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156102135781810151838201526020016101fb565b50505050905090810190601f1680156102405780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5050505050505060805160a05160601c6104da61027b600039806101c35250806101e752506104da6000f3fe6080604052600436106100385760003560e01c806312bc0a44146100ea578063c980918714610111578063e5c23a97146101425761003f565b3661003f57005b60006100496101c1565b6001600160a01b03166375d8bb0e61005f6101e5565b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561009357600080fd5b505afa1580156100a7573d6000803e3d6000fd5b505050506040513d60208110156100bd57600080fd5b505190503660008037600080366000846127105a03f43d806000803e8180156100e557816000f35b816000fd5b3480156100f657600080fd5b506100ff6101e5565b60408051918252519081900360200190f35b34801561011d57600080fd5b506101266101c1565b604080516001600160a01b039092168252519081900360200190f35b34801561014e57600080fd5b506101bf6004803603602081101561016557600080fd5b81019060208101813564010000000081111561018057600080fd5b82018360208201111561019257600080fd5b803590602001918460018302840111640100000000831117156101b457600080fd5b509092509050610209565b005b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b6102116101c1565b6001600160a01b0316336001600160a01b0316146102605760405162461bcd60e51b81526004018080602001828103825260378152602001806104976037913960400191505060405180910390fd5b600061026a6101c1565b6001600160a01b03166375d8bb0e6102806101e5565b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156102b457600080fd5b505afa1580156102c8573d6000803e3d6000fd5b505050506040513d60208110156102de57600080fd5b5051604051602060248201908152604482018590529192506000916060916001600160a01b0385169163e5c23a9760e01b9188918891819060640184848082843760008382015260408051601f909201601f1990811690940182810390940182529283526020810180516001600160e01b03166001600160e01b0319909916989098178852915182519297909650869550935090915081905083835b602083106103995780518252601f19909201916020918201910161037a565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d80600081146103f9576040519150601f19603f3d011682016040523d82523d6000602084013e6103fe565b606091505b509150915081819061048e5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561045357818101518382015260200161043b565b50505050905090810190601f1680156104805780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50505050505056fe7265636569766543616c6c46726f6d5661756c743a204f6e6c7920746865207661756c742063616e206d616b6520746869732063616c6ca164736f6c634300060c000a", - "sourceMap": "575:2768:24:-:0;;;828:373;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;828:373:24;;;;;;;;;;-1:-1:-1;828:373:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;828:373:24;;;;985:25;;;;-1:-1:-1;;985:25:24;-1:-1:-1;985:25:24;1020:32;;;;1105:42;;1064:12;;-1:-1:-1;985:25:24;;-1:-1:-1;;;;;;1105:26:24;;;-1:-1:-1;1105:42:24;;828:373;;;-1:-1:-1;1105:42:24;;;;828:373;1105:42;;;;;;;;;;;-1:-1:-1;;1105:42:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1063:84;;;;1166:7;1182:10;1158:36;;;;;-1:-1:-1;;;1158:36:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;828:373;;;;;;575:2768;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x6080604052600436106100385760003560e01c806312bc0a44146100ea578063c980918714610111578063e5c23a97146101425761003f565b3661003f57005b60006100496101c1565b6001600160a01b03166375d8bb0e61005f6101e5565b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561009357600080fd5b505afa1580156100a7573d6000803e3d6000fd5b505050506040513d60208110156100bd57600080fd5b505190503660008037600080366000846127105a03f43d806000803e8180156100e557816000f35b816000fd5b3480156100f657600080fd5b506100ff6101e5565b60408051918252519081900360200190f35b34801561011d57600080fd5b506101266101c1565b604080516001600160a01b039092168252519081900360200190f35b34801561014e57600080fd5b506101bf6004803603602081101561016557600080fd5b81019060208101813564010000000081111561018057600080fd5b82018360208201111561019257600080fd5b803590602001918460018302840111640100000000831117156101b457600080fd5b509092509050610209565b005b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b6102116101c1565b6001600160a01b0316336001600160a01b0316146102605760405162461bcd60e51b81526004018080602001828103825260378152602001806104976037913960400191505060405180910390fd5b600061026a6101c1565b6001600160a01b03166375d8bb0e6102806101e5565b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156102b457600080fd5b505afa1580156102c8573d6000803e3d6000fd5b505050506040513d60208110156102de57600080fd5b5051604051602060248201908152604482018590529192506000916060916001600160a01b0385169163e5c23a9760e01b9188918891819060640184848082843760008382015260408051601f909201601f1990811690940182810390940182529283526020810180516001600160e01b03166001600160e01b0319909916989098178852915182519297909650869550935090915081905083835b602083106103995780518252601f19909201916020918201910161037a565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d80600081146103f9576040519150601f19603f3d011682016040523d82523d6000602084013e6103fe565b606091505b509150915081819061048e5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561045357818101518382015260200161043b565b50505050905090810190601f1680156104805780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50505050505056fe7265636569766543616c6c46726f6d5661756c743a204f6e6c7920746865207661756c742063616e206d616b6520746869732063616c6ca164736f6c634300060c000a", - "sourceMap": "575:2768:24:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1298:21;1345:15;:13;:15::i;:::-;-1:-1:-1;;;;;1322:82:24;;1405:25;:23;:25::i;:::-;1322:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1322:109:24;;-1:-1:-1;1487:14:24;1482:3;;1464:38;1698:1;1679;1647:14;1626:3;1595:13;1571:5;1564;1560:17;1530:183;1739:16;1789:5;1786:1;1783;1768:27;1815:7;1835:55;;;;1939:5;1936:1;1929:16;1835:55;1870:5;1867:1;1860:16;2937:178;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;3230:111;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;3230:111:24;;;;;;;;;;;;;;2138:579;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2138:579:24;;-1:-1:-1;2138:579:24;-1:-1:-1;2138:579:24;:::i;:::-;;3230:111;3323:11;3230:111;:::o;2937:178::-;3086:22;2937:178;:::o;2138:579::-;2244:15;:13;:15::i;:::-;-1:-1:-1;;;;;2230:29:24;:10;:29;2209:131;;;;-1:-1:-1;;;2209:131:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2350:21;2397:15;:13;:15::i;:::-;-1:-1:-1;;;;;2374:82:24;;2457:25;:23;:25::i;:::-;2374:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2374:109:24;2575:78;;2374:109;2575:78;;;;;;;;;;;;2374:109;;-1:-1:-1;;;2508:23:24;;-1:-1:-1;;;;;2535:26:24;;;-1:-1:-1;;;;2647:5:24;;2575:78;;;;;;2647:5;2575:78;;2647:5;2575:78;;;;;;;;;;-1:-1:-1;;2575:78:24;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;2575:78:24;;;;-1:-1:-1;;;;;2575:78:24;;;;;;;;;2535:128;;;2575:78;;2535:128;;-1:-1:-1;2535:128:24;;-1:-1:-1;2575:78:24;-1:-1:-1;2535:128:24;;-1:-1:-1;2535:128:24;;-1:-1:-1;2535:128:24;2575:78;2535:128;;;;;;;;;;-1:-1:-1;;2535:128:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2493:170;;;;2682:7;2698:10;2674:36;;;;;-1:-1:-1;;;2674:36:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2138:579;;;;;:::o", - "linkReferences": {}, - "immutableReferences": { - "4951": [ - { - "start": 487, - "length": 32 - } - ], - "4953": [ - { - "start": 451, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "getExternalPositionType()": "12bc0a44", - "getVaultProxy()": "c9809187", - "receiveCallFromVault(bytes)": "e5c23a97" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_typeId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_constructLib\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_constructData\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"inputs\":[],\"name\":\"getExternalPositionType\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"externalPositionType_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getVaultProxy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"vaultProxy_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"receiveCallFromVault\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"getExternalPositionType()\":{\"returns\":{\"externalPositionType_\":\"The `EXTERNAL_POSITION_TYPE` variable value\"}},\"getVaultProxy()\":{\"returns\":{\"vaultProxy_\":\"The `VAULT_PROXY` variable value\"}},\"receiveCallFromVault(bytes)\":{\"params\":{\"_data\":\"The bytes data variable to be decoded at the External Position\"}}},\"title\":\"ExternalPositionProxy Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getExternalPositionType()\":{\"notice\":\"Gets the `EXTERNAL_POSITION_TYPE` variable\"},\"getVaultProxy()\":{\"notice\":\"Gets the `VAULT_PROXY` variable\"},\"receiveCallFromVault(bytes)\":{\"notice\":\"Delegates call to IExternalPosition.receiveCallFromVault\"}},\"notice\":\"A proxy for all external positions, modified from EIP-1822\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/external-positions/ExternalPositionProxy.sol\":\"ExternalPositionProxy\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/external-positions/ExternalPositionProxy.sol\":{\"keccak256\":\"0x8927ca263d3c6dd7093ed8663fe0a3b26162eacae4e5aa602204ceea957c8c54\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ae54235028276298cb7879b64da87d356bf301aa921723570dbf41e79bc821fb\",\"dweb:/ipfs/QmUa5gHtKoD3oSfNuihQPmB4seARwWfkkWrq67PtUM5DWa\"]},\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/persistent/external-positions/IExternalPositionProxy.sol\":{\"keccak256\":\"0xc74e623dbdc949df49e9cef31e0f958b17c715d89198dbbc1754d8f9c21e90de\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://074daf0a9f4e667964e6d50039986e3d792860cdece05d21e3606d33358a02b2\",\"dweb:/ipfs/QmVHXiKry9fYfjSNd6dxmtSr7DubNJvYJTNXtLDKGer2xH\"]},\"contracts/persistent/vault/interfaces/IExternalPositionVault.sol\":{\"keccak256\":\"0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d\",\"dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_typeId", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_constructLib", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_constructData", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "stateMutability": "payable", - "type": "fallback" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getExternalPositionType", - "outputs": [ - { - "internalType": "uint256", - "name": "externalPositionType_", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getVaultProxy", - "outputs": [ - { - "internalType": "address", - "name": "vaultProxy_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "receiveCallFromVault" - }, - { - "inputs": [], - "stateMutability": "payable", - "type": "receive" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "getExternalPositionType()": { - "returns": { - "externalPositionType_": "The `EXTERNAL_POSITION_TYPE` variable value" - } - }, - "getVaultProxy()": { - "returns": { - "vaultProxy_": "The `VAULT_PROXY` variable value" - } - }, - "receiveCallFromVault(bytes)": { - "params": { - "_data": "The bytes data variable to be decoded at the External Position" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "getExternalPositionType()": { - "notice": "Gets the `EXTERNAL_POSITION_TYPE` variable" - }, - "getVaultProxy()": { - "notice": "Gets the `VAULT_PROXY` variable" - }, - "receiveCallFromVault(bytes)": { - "notice": "Delegates call to IExternalPosition.receiveCallFromVault" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/persistent/external-positions/ExternalPositionProxy.sol": "ExternalPositionProxy" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/external-positions/ExternalPositionProxy.sol": { - "keccak256": "0x8927ca263d3c6dd7093ed8663fe0a3b26162eacae4e5aa602204ceea957c8c54", - "urls": [ - "bzz-raw://ae54235028276298cb7879b64da87d356bf301aa921723570dbf41e79bc821fb", - "dweb:/ipfs/QmUa5gHtKoD3oSfNuihQPmB4seARwWfkkWrq67PtUM5DWa" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/external-positions/IExternalPosition.sol": { - "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", - "urls": [ - "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", - "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/external-positions/IExternalPositionProxy.sol": { - "keccak256": "0xc74e623dbdc949df49e9cef31e0f958b17c715d89198dbbc1754d8f9c21e90de", - "urls": [ - "bzz-raw://074daf0a9f4e667964e6d50039986e3d792860cdece05d21e3606d33358a02b2", - "dweb:/ipfs/QmVHXiKry9fYfjSNd6dxmtSr7DubNJvYJTNXtLDKGer2xH" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IExternalPositionVault.sol": { - "keccak256": "0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6", - "urls": [ - "bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d", - "dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 24 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_typeId", "type": "uint256", "internalType": "uint256" }, { "name": "_constructLib", "type": "address", "internalType": "address" }, { "name": "_constructData", "type": "bytes", "internalType": "bytes" } ], "stateMutability": "nonpayable" }, { "type": "fallback", "stateMutability": "payable" }, { "type": "receive", "stateMutability": "payable" }, { "type": "function", "name": "getExternalPositionType", "inputs": [], "outputs": [ { "name": "externalPositionType_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "getVaultProxy", "inputs": [], "outputs": [ { "name": "vaultProxy_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "receiveCallFromVault", "inputs": [ { "name": "_data", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x60c060405234801561001057600080fd5b506040516107553803806107558339818101604052608081101561003357600080fd5b81516020830151604080850151606086018051925194969395919493918201928464010000000082111561006657600080fd5b90830190602082018581111561007b57600080fd5b825164010000000081118282018810171561009557600080fd5b82525081516020918201929091019080838360005b838110156100c25781810151838201526020016100aa565b50505050905090810190601f1680156100ef5780820380516001836020036101000a031916815260200191505b50604052505050836001600160a01b031660a0816001600160a01b031660601b81525050826080818152505060006060836001600160a01b0316836040518082805190602001908083835b602083106101595780518252601f19909201916020918201910161013a565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d80600081146101b9576040519150601f19603f3d011682016040523d82523d6000602084013e6101be565b606091505b509150915081819061024e5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156102135781810151838201526020016101fb565b50505050905090810190601f1680156102405780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5050505050505060805160a05160601c6104da61027b600039806101c35250806101e752506104da6000f3fe6080604052600436106100385760003560e01c806312bc0a44146100ea578063c980918714610111578063e5c23a97146101425761003f565b3661003f57005b60006100496101c1565b6001600160a01b03166375d8bb0e61005f6101e5565b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561009357600080fd5b505afa1580156100a7573d6000803e3d6000fd5b505050506040513d60208110156100bd57600080fd5b505190503660008037600080366000846127105a03f43d806000803e8180156100e557816000f35b816000fd5b3480156100f657600080fd5b506100ff6101e5565b60408051918252519081900360200190f35b34801561011d57600080fd5b506101266101c1565b604080516001600160a01b039092168252519081900360200190f35b34801561014e57600080fd5b506101bf6004803603602081101561016557600080fd5b81019060208101813564010000000081111561018057600080fd5b82018360208201111561019257600080fd5b803590602001918460018302840111640100000000831117156101b457600080fd5b509092509050610209565b005b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b6102116101c1565b6001600160a01b0316336001600160a01b0316146102605760405162461bcd60e51b81526004018080602001828103825260378152602001806104976037913960400191505060405180910390fd5b600061026a6101c1565b6001600160a01b03166375d8bb0e6102806101e5565b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156102b457600080fd5b505afa1580156102c8573d6000803e3d6000fd5b505050506040513d60208110156102de57600080fd5b5051604051602060248201908152604482018590529192506000916060916001600160a01b0385169163e5c23a9760e01b9188918891819060640184848082843760008382015260408051601f909201601f1990811690940182810390940182529283526020810180516001600160e01b03166001600160e01b0319909916989098178852915182519297909650869550935090915081905083835b602083106103995780518252601f19909201916020918201910161037a565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d80600081146103f9576040519150601f19603f3d011682016040523d82523d6000602084013e6103fe565b606091505b509150915081819061048e5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561045357818101518382015260200161043b565b50505050905090810190601f1680156104805780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50505050505056fe7265636569766543616c6c46726f6d5661756c743a204f6e6c7920746865207661756c742063616e206d616b6520746869732063616c6ca164736f6c634300060c000a", "sourceMap": "575:2768:24:-:0;;;828:373;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;828:373:24;;;;;;;;;;-1:-1:-1;828:373:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;828:373:24;;;;985:25;;;;-1:-1:-1;;985:25:24;-1:-1:-1;985:25:24;1020:32;;;;1105:42;;1064:12;;-1:-1:-1;985:25:24;;-1:-1:-1;;;;;;1105:26:24;;;-1:-1:-1;1105:42:24;;828:373;;;-1:-1:-1;1105:42:24;;;;828:373;1105:42;;;;;;;;;;;-1:-1:-1;;1105:42:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1063:84;;;;1166:7;1182:10;1158:36;;;;;-1:-1:-1;;;1158:36:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;828:373;;;;;;575:2768;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x6080604052600436106100385760003560e01c806312bc0a44146100ea578063c980918714610111578063e5c23a97146101425761003f565b3661003f57005b60006100496101c1565b6001600160a01b03166375d8bb0e61005f6101e5565b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561009357600080fd5b505afa1580156100a7573d6000803e3d6000fd5b505050506040513d60208110156100bd57600080fd5b505190503660008037600080366000846127105a03f43d806000803e8180156100e557816000f35b816000fd5b3480156100f657600080fd5b506100ff6101e5565b60408051918252519081900360200190f35b34801561011d57600080fd5b506101266101c1565b604080516001600160a01b039092168252519081900360200190f35b34801561014e57600080fd5b506101bf6004803603602081101561016557600080fd5b81019060208101813564010000000081111561018057600080fd5b82018360208201111561019257600080fd5b803590602001918460018302840111640100000000831117156101b457600080fd5b509092509050610209565b005b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b6102116101c1565b6001600160a01b0316336001600160a01b0316146102605760405162461bcd60e51b81526004018080602001828103825260378152602001806104976037913960400191505060405180910390fd5b600061026a6101c1565b6001600160a01b03166375d8bb0e6102806101e5565b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156102b457600080fd5b505afa1580156102c8573d6000803e3d6000fd5b505050506040513d60208110156102de57600080fd5b5051604051602060248201908152604482018590529192506000916060916001600160a01b0385169163e5c23a9760e01b9188918891819060640184848082843760008382015260408051601f909201601f1990811690940182810390940182529283526020810180516001600160e01b03166001600160e01b0319909916989098178852915182519297909650869550935090915081905083835b602083106103995780518252601f19909201916020918201910161037a565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d80600081146103f9576040519150601f19603f3d011682016040523d82523d6000602084013e6103fe565b606091505b509150915081819061048e5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561045357818101518382015260200161043b565b50505050905090810190601f1680156104805780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50505050505056fe7265636569766543616c6c46726f6d5661756c743a204f6e6c7920746865207661756c742063616e206d616b6520746869732063616c6ca164736f6c634300060c000a", "sourceMap": "575:2768:24:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1298:21;1345:15;:13;:15::i;:::-;-1:-1:-1;;;;;1322:82:24;;1405:25;:23;:25::i;:::-;1322:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1322:109:24;;-1:-1:-1;1487:14:24;1482:3;;1464:38;1698:1;1679;1647:14;1626:3;1595:13;1571:5;1564;1560:17;1530:183;1739:16;1789:5;1786:1;1783;1768:27;1815:7;1835:55;;;;1939:5;1936:1;1929:16;1835:55;1870:5;1867:1;1860:16;2937:178;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;3230:111;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;3230:111:24;;;;;;;;;;;;;;2138:579;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2138:579:24;;-1:-1:-1;2138:579:24;-1:-1:-1;2138:579:24;:::i;:::-;;3230:111;3323:11;3230:111;:::o;2937:178::-;3086:22;2937:178;:::o;2138:579::-;2244:15;:13;:15::i;:::-;-1:-1:-1;;;;;2230:29:24;:10;:29;2209:131;;;;-1:-1:-1;;;2209:131:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2350:21;2397:15;:13;:15::i;:::-;-1:-1:-1;;;;;2374:82:24;;2457:25;:23;:25::i;:::-;2374:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2374:109:24;2575:78;;2374:109;2575:78;;;;;;;;;;;;2374:109;;-1:-1:-1;;;2508:23:24;;-1:-1:-1;;;;;2535:26:24;;;-1:-1:-1;;;;2647:5:24;;2575:78;;;;;;2647:5;2575:78;;2647:5;2575:78;;;;;;;;;;-1:-1:-1;;2575:78:24;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;2575:78:24;;;;-1:-1:-1;;;;;2575:78:24;;;;;;;;;2535:128;;;2575:78;;2535:128;;-1:-1:-1;2535:128:24;;-1:-1:-1;2575:78:24;-1:-1:-1;2535:128:24;;-1:-1:-1;2535:128:24;;-1:-1:-1;2535:128:24;2575:78;2535:128;;;;;;;;;;-1:-1:-1;;2535:128:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2493:170;;;;2682:7;2698:10;2674:36;;;;;-1:-1:-1;;;2674:36:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2138:579;;;;;:::o", "linkReferences": {}, "immutableReferences": { "4951": [ { "start": 487, "length": 32 } ], "4953": [ { "start": 451, "length": 32 } ] } }, "methodIdentifiers": { "getExternalPositionType()": "12bc0a44", "getVaultProxy()": "c9809187", "receiveCallFromVault(bytes)": "e5c23a97" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_typeId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_constructLib\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_constructData\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"inputs\":[],\"name\":\"getExternalPositionType\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"externalPositionType_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getVaultProxy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"vaultProxy_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"receiveCallFromVault\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"getExternalPositionType()\":{\"returns\":{\"externalPositionType_\":\"The `EXTERNAL_POSITION_TYPE` variable value\"}},\"getVaultProxy()\":{\"returns\":{\"vaultProxy_\":\"The `VAULT_PROXY` variable value\"}},\"receiveCallFromVault(bytes)\":{\"params\":{\"_data\":\"The bytes data variable to be decoded at the External Position\"}}},\"title\":\"ExternalPositionProxy Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getExternalPositionType()\":{\"notice\":\"Gets the `EXTERNAL_POSITION_TYPE` variable\"},\"getVaultProxy()\":{\"notice\":\"Gets the `VAULT_PROXY` variable\"},\"receiveCallFromVault(bytes)\":{\"notice\":\"Delegates call to IExternalPosition.receiveCallFromVault\"}},\"notice\":\"A proxy for all external positions, modified from EIP-1822\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/external-positions/ExternalPositionProxy.sol\":\"ExternalPositionProxy\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/external-positions/ExternalPositionProxy.sol\":{\"keccak256\":\"0x8927ca263d3c6dd7093ed8663fe0a3b26162eacae4e5aa602204ceea957c8c54\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ae54235028276298cb7879b64da87d356bf301aa921723570dbf41e79bc821fb\",\"dweb:/ipfs/QmUa5gHtKoD3oSfNuihQPmB4seARwWfkkWrq67PtUM5DWa\"]},\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/persistent/external-positions/IExternalPositionProxy.sol\":{\"keccak256\":\"0xc74e623dbdc949df49e9cef31e0f958b17c715d89198dbbc1754d8f9c21e90de\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://074daf0a9f4e667964e6d50039986e3d792860cdece05d21e3606d33358a02b2\",\"dweb:/ipfs/QmVHXiKry9fYfjSNd6dxmtSr7DubNJvYJTNXtLDKGer2xH\"]},\"contracts/persistent/vault/interfaces/IExternalPositionVault.sol\":{\"keccak256\":\"0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d\",\"dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "uint256", "name": "_typeId", "type": "uint256" }, { "internalType": "address", "name": "_constructLib", "type": "address" }, { "internalType": "bytes", "name": "_constructData", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "stateMutability": "payable", "type": "fallback" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getExternalPositionType", "outputs": [ { "internalType": "uint256", "name": "externalPositionType_", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getVaultProxy", "outputs": [ { "internalType": "address", "name": "vaultProxy_", "type": "address" } ] }, { "inputs": [ { "internalType": "bytes", "name": "_data", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "receiveCallFromVault" }, { "inputs": [], "stateMutability": "payable", "type": "receive" } ], "devdoc": { "kind": "dev", "methods": { "getExternalPositionType()": { "returns": { "externalPositionType_": "The `EXTERNAL_POSITION_TYPE` variable value" } }, "getVaultProxy()": { "returns": { "vaultProxy_": "The `VAULT_PROXY` variable value" } }, "receiveCallFromVault(bytes)": { "params": { "_data": "The bytes data variable to be decoded at the External Position" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "getExternalPositionType()": { "notice": "Gets the `EXTERNAL_POSITION_TYPE` variable" }, "getVaultProxy()": { "notice": "Gets the `VAULT_PROXY` variable" }, "receiveCallFromVault(bytes)": { "notice": "Delegates call to IExternalPosition.receiveCallFromVault" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/persistent/external-positions/ExternalPositionProxy.sol": "ExternalPositionProxy" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/external-positions/ExternalPositionProxy.sol": { "keccak256": "0x8927ca263d3c6dd7093ed8663fe0a3b26162eacae4e5aa602204ceea957c8c54", "urls": [ "bzz-raw://ae54235028276298cb7879b64da87d356bf301aa921723570dbf41e79bc821fb", "dweb:/ipfs/QmUa5gHtKoD3oSfNuihQPmB4seARwWfkkWrq67PtUM5DWa" ], "license": "GPL-3.0" }, "contracts/persistent/external-positions/IExternalPosition.sol": { "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", "urls": [ "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" ], "license": "GPL-3.0" }, "contracts/persistent/external-positions/IExternalPositionProxy.sol": { "keccak256": "0xc74e623dbdc949df49e9cef31e0f958b17c715d89198dbbc1754d8f9c21e90de", "urls": [ "bzz-raw://074daf0a9f4e667964e6d50039986e3d792860cdece05d21e3606d33358a02b2", "dweb:/ipfs/QmVHXiKry9fYfjSNd6dxmtSr7DubNJvYJTNXtLDKGer2xH" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IExternalPositionVault.sol": { "keccak256": "0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6", "urls": [ "bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d", "dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 24 } diff --git a/eth_defi/abi/enzyme/FeeBase.json b/eth_defi/abi/enzyme/FeeBase.json index a08a6128..73b2572d 100644 --- a/eth_defi/abi/enzyme/FeeBase.json +++ b/eth_defi/abi/enzyme/FeeBase.json @@ -1,613 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_feeManager", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "activateForFund", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_settingsData", - "type": "bytes" - } - ], - "name": "addFundSettings", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getFeeManager", - "outputs": [ - { - "internalType": "address", - "name": "feeManager_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "getRecipientForFund", - "outputs": [ - { - "internalType": "address", - "name": "recipient_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "payout", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "enum IFeeManager.FeeHook", - "name": "_hook", - "type": "uint8" - }, - { - "internalType": "bytes", - "name": "_settlementData", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "_gav", - "type": "uint256" - } - ], - "name": "settle", - "outputs": [ - { - "internalType": "enum IFeeManager.SettlementType", - "name": "settlementType_", - "type": "uint8" - }, - { - "internalType": "address", - "name": "payer_", - "type": "address" - }, - { - "internalType": "uint256", - "name": "sharesDue_", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "enum IFeeManager.FeeHook", - "name": "_hook", - "type": "uint8" - } - ], - "name": "settlesOnHook", - "outputs": [ - { - "internalType": "bool", - "name": "settles_", - "type": "bool" - }, - { - "internalType": "bool", - "name": "usesGav_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "enum IFeeManager.FeeHook", - "name": "", - "type": "uint8" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "update", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "enum IFeeManager.FeeHook", - "name": "", - "type": "uint8" - } - ], - "name": "updatesOnHook", - "outputs": [ - { - "internalType": "bool", - "name": "updates_", - "type": "bool" - }, - { - "internalType": "bool", - "name": "usesGav_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "activateForFund(address,address)": "3146d058", - "addFundSettings(address,bytes)": "0f5f6b4f", - "getFeeManager()": "f2d63826", - "getRecipientForFund(address)": "62780b3c", - "payout(address,address)": "b78b4813", - "settle(address,address,uint8,bytes,uint256)": "41892d7e", - "settlesOnHook(uint8)": "320f0ddd", - "update(address,address,uint8,bytes,uint256)": "233faf5f", - "updatesOnHook(uint8)": "e337a91f" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_feeManager\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"activateForFund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_settingsData\",\"type\":\"bytes\"}],\"name\":\"addFundSettings\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFeeManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"feeManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"getRecipientForFund\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"recipient_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"payout\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"enum IFeeManager.FeeHook\",\"name\":\"_hook\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"_settlementData\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"_gav\",\"type\":\"uint256\"}],\"name\":\"settle\",\"outputs\":[{\"internalType\":\"enum IFeeManager.SettlementType\",\"name\":\"settlementType_\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"payer_\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"sharesDue_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IFeeManager.FeeHook\",\"name\":\"_hook\",\"type\":\"uint8\"}],\"name\":\"settlesOnHook\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"settles_\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"usesGav_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"enum IFeeManager.FeeHook\",\"name\":\"\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"update\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IFeeManager.FeeHook\",\"name\":\"\",\"type\":\"uint8\"}],\"name\":\"updatesOnHook\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"updates_\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"usesGav_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"activateForFund(address,address)\":{\"details\":\"Unimplemented by default, may be overrode.\"},\"getFeeManager()\":{\"returns\":{\"feeManager_\":\"The `FEE_MANAGER` variable value\"}},\"getRecipientForFund(address)\":{\"details\":\"address(0) signifies the VaultProxy owner. Returns address(0) by default, can be overridden by fee.\"},\"payout(address,address)\":{\"details\":\"Returns false by default, can be overridden by fee\"},\"update(address,address,uint8,bytes,uint256)\":{\"details\":\"Unimplemented by default, can be overridden by fee\"},\"updatesOnHook(uint8)\":{\"details\":\"Returns false values by default, can be overridden by fee\",\"returns\":{\"updates_\":\"True if the fee updates on the _hook\",\"usesGav_\":\"True if the fee uses GAV during update() for the _hook\"}}},\"title\":\"FeeBase Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"activateForFund(address,address)\":{\"notice\":\"Allows Fee to run logic during fund activation\"},\"getFeeManager()\":{\"notice\":\"Gets the `FEE_MANAGER` variable\"},\"getRecipientForFund(address)\":{\"notice\":\"Gets the recipient of the fee for a given fund\"},\"payout(address,address)\":{\"notice\":\"Runs payout logic for a fee that utilizes shares outstanding as its settlement type\"},\"update(address,address,uint8,bytes,uint256)\":{\"notice\":\"Update fee state after all settlement has occurred during a given fee hook\"},\"updatesOnHook(uint8)\":{\"notice\":\"Gets whether the fee updates and requires GAV on a particular hook\"}},\"notice\":\"Abstract base contract for all fees\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/fee-manager/fees/utils/FeeBase.sol\":\"FeeBase\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/fee-manager/IFee.sol\":{\"keccak256\":\"0x38e3f324c67f3205e38197165586ea82ca226069902f34214bcde76cf905fcff\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c1fff656d1bdde3324421bc9e77cbfc4e80baf4e665f8713fdb65611b046f4b0\",\"dweb:/ipfs/QmVRFjNwmsVHdh4sp3DWdL74VWmhRhPZE5kDxJiuPL8Gu2\"]},\"contracts/release/extensions/fee-manager/IFeeManager.sol\":{\"keccak256\":\"0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22\",\"dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod\"]},\"contracts/release/extensions/fee-manager/fees/utils/FeeBase.sol\":{\"keccak256\":\"0x485c03e3088b6dc9828d2e895cce6856501448b4a2c71a0acae4e012bc644b14\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b63aef3cd20eb4dd585632c74619235ef1d5c3c2c52fd61f8802d0a50569b767\",\"dweb:/ipfs/QmSuTYChj2j8NnLYCg47feAJ5P9NheQpK46fG6fhmMtimA\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_feeManager", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "activateForFund" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_settingsData", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "addFundSettings" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getFeeManager", - "outputs": [ - { - "internalType": "address", - "name": "feeManager_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getRecipientForFund", - "outputs": [ - { - "internalType": "address", - "name": "recipient_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "payout", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "enum IFeeManager.FeeHook", - "name": "_hook", - "type": "uint8" - }, - { - "internalType": "bytes", - "name": "_settlementData", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "_gav", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "settle", - "outputs": [ - { - "internalType": "enum IFeeManager.SettlementType", - "name": "settlementType_", - "type": "uint8" - }, - { - "internalType": "address", - "name": "payer_", - "type": "address" - }, - { - "internalType": "uint256", - "name": "sharesDue_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "enum IFeeManager.FeeHook", - "name": "_hook", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function", - "name": "settlesOnHook", - "outputs": [ - { - "internalType": "bool", - "name": "settles_", - "type": "bool" - }, - { - "internalType": "bool", - "name": "usesGav_", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "enum IFeeManager.FeeHook", - "name": "", - "type": "uint8" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "update" - }, - { - "inputs": [ - { - "internalType": "enum IFeeManager.FeeHook", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function", - "name": "updatesOnHook", - "outputs": [ - { - "internalType": "bool", - "name": "updates_", - "type": "bool" - }, - { - "internalType": "bool", - "name": "usesGav_", - "type": "bool" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "activateForFund(address,address)": { - "details": "Unimplemented by default, may be overrode." - }, - "getFeeManager()": { - "returns": { - "feeManager_": "The `FEE_MANAGER` variable value" - } - }, - "getRecipientForFund(address)": { - "details": "address(0) signifies the VaultProxy owner. Returns address(0) by default, can be overridden by fee." - }, - "payout(address,address)": { - "details": "Returns false by default, can be overridden by fee" - }, - "update(address,address,uint8,bytes,uint256)": { - "details": "Unimplemented by default, can be overridden by fee" - }, - "updatesOnHook(uint8)": { - "details": "Returns false values by default, can be overridden by fee", - "returns": { - "updates_": "True if the fee updates on the _hook", - "usesGav_": "True if the fee uses GAV during update() for the _hook" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "activateForFund(address,address)": { - "notice": "Allows Fee to run logic during fund activation" - }, - "getFeeManager()": { - "notice": "Gets the `FEE_MANAGER` variable" - }, - "getRecipientForFund(address)": { - "notice": "Gets the recipient of the fee for a given fund" - }, - "payout(address,address)": { - "notice": "Runs payout logic for a fee that utilizes shares outstanding as its settlement type" - }, - "update(address,address,uint8,bytes,uint256)": { - "notice": "Update fee state after all settlement has occurred during a given fee hook" - }, - "updatesOnHook(uint8)": { - "notice": "Gets whether the fee updates and requires GAV on a particular hook" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/fee-manager/fees/utils/FeeBase.sol": "FeeBase" - }, - "libraries": {} - }, - "sources": { - "contracts/release/extensions/fee-manager/IFee.sol": { - "keccak256": "0x38e3f324c67f3205e38197165586ea82ca226069902f34214bcde76cf905fcff", - "urls": [ - "bzz-raw://c1fff656d1bdde3324421bc9e77cbfc4e80baf4e665f8713fdb65611b046f4b0", - "dweb:/ipfs/QmVRFjNwmsVHdh4sp3DWdL74VWmhRhPZE5kDxJiuPL8Gu2" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/fee-manager/IFeeManager.sol": { - "keccak256": "0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51", - "urls": [ - "bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22", - "dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/fee-manager/fees/utils/FeeBase.sol": { - "keccak256": "0x485c03e3088b6dc9828d2e895cce6856501448b4a2c71a0acae4e012bc644b14", - "urls": [ - "bzz-raw://b63aef3cd20eb4dd585632c74619235ef1d5c3c2c52fd61f8802d0a50569b767", - "dweb:/ipfs/QmSuTYChj2j8NnLYCg47feAJ5P9NheQpK46fG6fhmMtimA" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 154 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_feeManager", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "activateForFund", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "addFundSettings", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" }, { "name": "_settingsData", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "getFeeManager", "inputs": [], "outputs": [ { "name": "feeManager_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getRecipientForFund", "inputs": [ { "name": "", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "recipient_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "payout", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "settle", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" }, { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_hook", "type": "uint8", "internalType": "enum IFeeManager.FeeHook" }, { "name": "_settlementData", "type": "bytes", "internalType": "bytes" }, { "name": "_gav", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "settlementType_", "type": "uint8", "internalType": "enum IFeeManager.SettlementType" }, { "name": "payer_", "type": "address", "internalType": "address" }, { "name": "sharesDue_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "settlesOnHook", "inputs": [ { "name": "_hook", "type": "uint8", "internalType": "enum IFeeManager.FeeHook" } ], "outputs": [ { "name": "settles_", "type": "bool", "internalType": "bool" }, { "name": "usesGav_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "update", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "uint8", "internalType": "enum IFeeManager.FeeHook" }, { "name": "", "type": "bytes", "internalType": "bytes" }, { "name": "", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "updatesOnHook", "inputs": [ { "name": "", "type": "uint8", "internalType": "enum IFeeManager.FeeHook" } ], "outputs": [ { "name": "updates_", "type": "bool", "internalType": "bool" }, { "name": "usesGav_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "activateForFund(address,address)": "3146d058", "addFundSettings(address,bytes)": "0f5f6b4f", "getFeeManager()": "f2d63826", "getRecipientForFund(address)": "62780b3c", "payout(address,address)": "b78b4813", "settle(address,address,uint8,bytes,uint256)": "41892d7e", "settlesOnHook(uint8)": "320f0ddd", "update(address,address,uint8,bytes,uint256)": "233faf5f", "updatesOnHook(uint8)": "e337a91f" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_feeManager\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"activateForFund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_settingsData\",\"type\":\"bytes\"}],\"name\":\"addFundSettings\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFeeManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"feeManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"getRecipientForFund\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"recipient_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"payout\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"enum IFeeManager.FeeHook\",\"name\":\"_hook\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"_settlementData\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"_gav\",\"type\":\"uint256\"}],\"name\":\"settle\",\"outputs\":[{\"internalType\":\"enum IFeeManager.SettlementType\",\"name\":\"settlementType_\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"payer_\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"sharesDue_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IFeeManager.FeeHook\",\"name\":\"_hook\",\"type\":\"uint8\"}],\"name\":\"settlesOnHook\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"settles_\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"usesGav_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"enum IFeeManager.FeeHook\",\"name\":\"\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"update\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IFeeManager.FeeHook\",\"name\":\"\",\"type\":\"uint8\"}],\"name\":\"updatesOnHook\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"updates_\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"usesGav_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"activateForFund(address,address)\":{\"details\":\"Unimplemented by default, may be overrode.\"},\"getFeeManager()\":{\"returns\":{\"feeManager_\":\"The `FEE_MANAGER` variable value\"}},\"getRecipientForFund(address)\":{\"details\":\"address(0) signifies the VaultProxy owner. Returns address(0) by default, can be overridden by fee.\"},\"payout(address,address)\":{\"details\":\"Returns false by default, can be overridden by fee\"},\"update(address,address,uint8,bytes,uint256)\":{\"details\":\"Unimplemented by default, can be overridden by fee\"},\"updatesOnHook(uint8)\":{\"details\":\"Returns false values by default, can be overridden by fee\",\"returns\":{\"updates_\":\"True if the fee updates on the _hook\",\"usesGav_\":\"True if the fee uses GAV during update() for the _hook\"}}},\"title\":\"FeeBase Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"activateForFund(address,address)\":{\"notice\":\"Allows Fee to run logic during fund activation\"},\"getFeeManager()\":{\"notice\":\"Gets the `FEE_MANAGER` variable\"},\"getRecipientForFund(address)\":{\"notice\":\"Gets the recipient of the fee for a given fund\"},\"payout(address,address)\":{\"notice\":\"Runs payout logic for a fee that utilizes shares outstanding as its settlement type\"},\"update(address,address,uint8,bytes,uint256)\":{\"notice\":\"Update fee state after all settlement has occurred during a given fee hook\"},\"updatesOnHook(uint8)\":{\"notice\":\"Gets whether the fee updates and requires GAV on a particular hook\"}},\"notice\":\"Abstract base contract for all fees\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/fee-manager/fees/utils/FeeBase.sol\":\"FeeBase\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/fee-manager/IFee.sol\":{\"keccak256\":\"0x38e3f324c67f3205e38197165586ea82ca226069902f34214bcde76cf905fcff\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c1fff656d1bdde3324421bc9e77cbfc4e80baf4e665f8713fdb65611b046f4b0\",\"dweb:/ipfs/QmVRFjNwmsVHdh4sp3DWdL74VWmhRhPZE5kDxJiuPL8Gu2\"]},\"contracts/release/extensions/fee-manager/IFeeManager.sol\":{\"keccak256\":\"0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22\",\"dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod\"]},\"contracts/release/extensions/fee-manager/fees/utils/FeeBase.sol\":{\"keccak256\":\"0x485c03e3088b6dc9828d2e895cce6856501448b4a2c71a0acae4e012bc644b14\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b63aef3cd20eb4dd585632c74619235ef1d5c3c2c52fd61f8802d0a50569b767\",\"dweb:/ipfs/QmSuTYChj2j8NnLYCg47feAJ5P9NheQpK46fG6fhmMtimA\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_feeManager", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "activateForFund" }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" }, { "internalType": "bytes", "name": "_settingsData", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "addFundSettings" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getFeeManager", "outputs": [ { "internalType": "address", "name": "feeManager_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getRecipientForFund", "outputs": [ { "internalType": "address", "name": "recipient_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "payout", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" }, { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "enum IFeeManager.FeeHook", "name": "_hook", "type": "uint8" }, { "internalType": "bytes", "name": "_settlementData", "type": "bytes" }, { "internalType": "uint256", "name": "_gav", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "settle", "outputs": [ { "internalType": "enum IFeeManager.SettlementType", "name": "settlementType_", "type": "uint8" }, { "internalType": "address", "name": "payer_", "type": "address" }, { "internalType": "uint256", "name": "sharesDue_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "enum IFeeManager.FeeHook", "name": "_hook", "type": "uint8" } ], "stateMutability": "view", "type": "function", "name": "settlesOnHook", "outputs": [ { "internalType": "bool", "name": "settles_", "type": "bool" }, { "internalType": "bool", "name": "usesGav_", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "address", "name": "", "type": "address" }, { "internalType": "enum IFeeManager.FeeHook", "name": "", "type": "uint8" }, { "internalType": "bytes", "name": "", "type": "bytes" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "update" }, { "inputs": [ { "internalType": "enum IFeeManager.FeeHook", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function", "name": "updatesOnHook", "outputs": [ { "internalType": "bool", "name": "updates_", "type": "bool" }, { "internalType": "bool", "name": "usesGav_", "type": "bool" } ] } ], "devdoc": { "kind": "dev", "methods": { "activateForFund(address,address)": { "details": "Unimplemented by default, may be overrode." }, "getFeeManager()": { "returns": { "feeManager_": "The `FEE_MANAGER` variable value" } }, "getRecipientForFund(address)": { "details": "address(0) signifies the VaultProxy owner. Returns address(0) by default, can be overridden by fee." }, "payout(address,address)": { "details": "Returns false by default, can be overridden by fee" }, "update(address,address,uint8,bytes,uint256)": { "details": "Unimplemented by default, can be overridden by fee" }, "updatesOnHook(uint8)": { "details": "Returns false values by default, can be overridden by fee", "returns": { "updates_": "True if the fee updates on the _hook", "usesGav_": "True if the fee uses GAV during update() for the _hook" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "activateForFund(address,address)": { "notice": "Allows Fee to run logic during fund activation" }, "getFeeManager()": { "notice": "Gets the `FEE_MANAGER` variable" }, "getRecipientForFund(address)": { "notice": "Gets the recipient of the fee for a given fund" }, "payout(address,address)": { "notice": "Runs payout logic for a fee that utilizes shares outstanding as its settlement type" }, "update(address,address,uint8,bytes,uint256)": { "notice": "Update fee state after all settlement has occurred during a given fee hook" }, "updatesOnHook(uint8)": { "notice": "Gets whether the fee updates and requires GAV on a particular hook" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/fee-manager/fees/utils/FeeBase.sol": "FeeBase" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/extensions/fee-manager/IFee.sol": { "keccak256": "0x38e3f324c67f3205e38197165586ea82ca226069902f34214bcde76cf905fcff", "urls": [ "bzz-raw://c1fff656d1bdde3324421bc9e77cbfc4e80baf4e665f8713fdb65611b046f4b0", "dweb:/ipfs/QmVRFjNwmsVHdh4sp3DWdL74VWmhRhPZE5kDxJiuPL8Gu2" ], "license": "GPL-3.0" }, "contracts/release/extensions/fee-manager/IFeeManager.sol": { "keccak256": "0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51", "urls": [ "bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22", "dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod" ], "license": "GPL-3.0" }, "contracts/release/extensions/fee-manager/fees/utils/FeeBase.sol": { "keccak256": "0x485c03e3088b6dc9828d2e895cce6856501448b4a2c71a0acae4e012bc644b14", "urls": [ "bzz-raw://b63aef3cd20eb4dd585632c74619235ef1d5c3c2c52fd61f8802d0a50569b767", "dweb:/ipfs/QmSuTYChj2j8NnLYCg47feAJ5P9NheQpK46fG6fhmMtimA" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 154 } diff --git a/eth_defi/abi/enzyme/FeeManager.json b/eth_defi/abi/enzyme/FeeManager.json index d376d751..04bd9447 100644 --- a/eth_defi/abi/enzyme/FeeManager.json +++ b/eth_defi/abi/enzyme/FeeManager.json @@ -1,923 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_fundDeployer", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "comptrollerProxy", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "fee", - "type": "address" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "settingsData", - "type": "bytes" - } - ], - "name": "FeeEnabledForFund", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "comptrollerProxy", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "fee", - "type": "address" - }, - { - "indexed": true, - "internalType": "enum IFeeManager.SettlementType", - "name": "settlementType", - "type": "uint8" - }, - { - "indexed": false, - "internalType": "address", - "name": "payer", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "payee", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "sharesDue", - "type": "uint256" - } - ], - "name": "FeeSettledForFund", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "comptrollerProxy", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "fee", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "payee", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "sharesDue", - "type": "uint256" - } - ], - "name": "SharesOutstandingPaidForFund", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "comptrollerProxy", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "vaultProxy", - "type": "address" - } - ], - "name": "ValidatedVaultProxySetForFund", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "name": "activateForFund", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "deactivateForFund", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - } - ], - "name": "getEnabledFeesForFund", - "outputs": [ - { - "internalType": "address[]", - "name": "enabledFees_", - "type": "address[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_fee", - "type": "address" - } - ], - "name": "getFeeSharesOutstandingForFund", - "outputs": [ - { - "internalType": "uint256", - "name": "sharesOutstanding_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getFundDeployer", - "outputs": [ - { - "internalType": "address", - "name": "fundDeployer_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "owner_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - } - ], - "name": "getVaultProxyForFund", - "outputs": [ - { - "internalType": "address", - "name": "vaultProxy_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "enum IFeeManager.FeeHook", - "name": "_hook", - "type": "uint8" - }, - { - "internalType": "bytes", - "name": "_settlementData", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "_gav", - "type": "uint256" - } - ], - "name": "invokeHook", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_actionId", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_callArgs", - "type": "bytes" - } - ], - "name": "receiveCallFromComptroller", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_configData", - "type": "bytes" - } - ], - "name": "setConfigForFund", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x60a06040523480156200001157600080fd5b5060405162001dd938038062001dd983398101604081905262000034916200005d565b60601b6001600160601b031916608052620000b2565b8051620000578162000098565b92915050565b6000602082840312156200007057600080fd5b60006200007e84846200004a565b949350505050565b60006001600160a01b03821662000057565b620000a38162000086565b8114620000af57600080fd5b50565b60805160601c611d04620000d56000398061032352806103b95250611d046000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c806397c0ac871161006657806397c0ac871461010f578063a9f3b42f14610117578063aa051c2c14610137578063bd8e959a14610157578063f067cc111461015f5761009e565b80631bee801e146100a357806346790346146100b85780637759c164146100e157806380d57063146100f4578063893d20e814610107575b600080fd5b6100b66100b13660046114e0565b610172565b005b6100cb6100c63660046113fa565b61020b565b6040516100d891906119f1565b60405180910390f35b6100b66100ef366004611613565b61022c565b6100b66101023660046115a7565b610272565b6100cb61031f565b6100cb6103b7565b61012a6101253660046113fa565b6103db565b6040516100d89190611ac6565b61014a61014536600461143e565b610451565b6040516100d89190611b84565b6100b661047e565b6100b661016d366004611478565b6104cb565b8261019b5761019633600060405180602001604052806000815250600060016106dd565b610205565b82600114156101e4576101963383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061075d92505050565b60405162461bcd60e51b81526004016101fc90611b14565b60405180910390fd5b50505050565b6001600160a01b03808216600090815260208190526040902054165b919050565b610205338585858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250879250600191506106dd9050565b33600061027e8261020b565b9050606061028b836103db565b905060005b8151811015610318578181815181106102a557fe5b60200260200101516001600160a01b0316633146d05885856040518363ffffffff1660e01b81526004016102da9291906119ff565b600060405180830381600087803b1580156102f457600080fd5b505af1158015610308573d6000803e3d6000fd5b5050600190920191506102909050565b5050505050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561037a57600080fd5b505afa15801561038e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103b29190611420565b905090565b7f000000000000000000000000000000000000000000000000000000000000000090565b6001600160a01b03811660009081526001602090815260409182902080548351818402810184019094528084526060939283018282801561044557602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610427575b50505050509050919050565b6001600160a01b038083166000908152600260209081526040808320938516835292905220545b92915050565b33600061048a8261020b565b90506060610497836103db565b905060005b8151811015610205576104c384848484815181106104b657fe5b602002602001015161083f565b60010161049c565b6104d36103b7565b6001600160a01b0316336001600160a01b0316146105035760405162461bcd60e51b81526004016101fc90611b54565b61050d84846108f8565b60608061051c83850185611548565b9150915080518251146105415760405162461bcd60e51b81526004016101fc90611b34565b61054a8261094f565b6105665760405162461bcd60e51b81526004016101fc90611b44565b60005b82518110156106d45782818151811061057e57fe5b60200260200101516001600160a01b0316630f5f6b4f888484815181106105a157fe5b60200260200101516040518363ffffffff1660e01b81526004016105c6929190611a8b565b600060405180830381600087803b1580156105e057600080fd5b505af11580156105f4573d6000803e3d6000fd5b505050506001600160a01b0387166000908152600160205260409020835184908390811061061e57fe5b60209081029190910181015182546001810184556000938452919092200180546001600160a01b0319166001600160a01b03909216919091179055825183908290811061066757fe5b60200260200101516001600160a01b0316876001600160a01b03167f62b7814f137868e44c7a83c2b0a340fc5dacef8f3e748867d0f5f879fc0ef6da8484815181106106af57fe5b60200260200101516040516106c49190611ad7565b60405180910390a3600101610569565b50505050505050565b60606106e8866103db565b90508051600014156106fa5750610318565b60006107058761020b565b90506001600160a01b03811661072d5760405162461bcd60e51b81526004016101fc90611b74565b600061073d8883858a8a8a6109e3565b90508315610753576107538883858a8a86610adc565b5050505050505050565b6060818060200190518101906107739190611513565b905060006107803361020b565b905060005b82518110156103185782818151811061079a57fe5b60200260200101516001600160a01b031663b78b481386846040518363ffffffff1660e01b81526004016107cf9291906119ff565b602060405180830381600087803b1580156107e957600080fd5b505af11580156107fd573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061082191906115c5565b156108375761083785838584815181106104b657fe5b600101610785565b600061084b8483610451565b90508061085857506108f3565b6001600160a01b038085166000908152600260209081526040808320938616835292905290812081905561088d858585610c21565b905061089b85858385610d2b565b806001600160a01b0316836001600160a01b0316866001600160a01b03167f4e6eff738a7af3dbd4288f753eb551833c09a82d6c3dfaf07a23c3fcc82a3522856040516108e89190611b84565b60405180910390a450505b505050565b6001600160a01b0382811660008181526020819052604080822080546001600160a01b0319169486169485179055517f8852dcaa71340ea616a65ffac013450dfb238607481fb9d78346c667fe256c139190a35050565b6000600182511161096257506001610227565b815160005b818110156109d957600181015b828110156109d05784818151811061098857fe5b60200260200101516001600160a01b03168583815181106109a557fe5b60200260200101516001600160a01b031614156109c85760009350505050610227565b600101610974565b50600101610967565b5060019392505050565b8060005b8551811015610ad0576000808783815181106109ff57fe5b60200260200101516001600160a01b031663320f0ddd886040518263ffffffff1660e01b8152600401610a329190611ae8565b604080518083038186803b158015610a4957600080fd5b505afa158015610a5d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a8191906115e3565b9150915081610a91575050610ac8565b8015610aa457610aa18a85610dab565b93505b610ac58a8a8a8681518110610ab557fe5b60200260200101518a8a89610e33565b50505b6001016109e7565b505b9695505050505050565b8060005b855181101561075357600080878381518110610af857fe5b60200260200101516001600160a01b031663e337a91f886040518263ffffffff1660e01b8152600401610b2b9190611ae8565b604080518083038186803b158015610b4257600080fd5b505afa158015610b56573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b7a91906115e3565b9150915081610b8a575050610c19565b8015610b9d57610b9a8a85610dab565b93505b878381518110610ba957fe5b60200260200101516001600160a01b031663233faf5f8b8b8a8a896040518663ffffffff1660e01b8152600401610be4959493929190611a1a565b600060405180830381600087803b158015610bfe57600080fd5b505af1158015610c12573d6000803e3d6000fd5b5050505050505b600101610ae0565b60405163189e02cf60e21b81526000906001600160a01b038316906362780b3c90610c509087906004016119f1565b60206040518083038186803b158015610c6857600080fd5b505afa158015610c7c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ca09190611420565b90506001600160a01b038116610d2457826001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b158015610ce957600080fd5b505afa158015610cfd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d219190611420565b90505b9392505050565b836001600160a01b03166310acd06d6003858585604051602001610d5193929190611a63565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401610d7d929190611af6565b600060405180830381600087803b158015610d9757600080fd5b505af1158015610753573d6000803e3d6000fd5b600081610e2c57826001600160a01b03166356cff99f6040518163ffffffff1660e01b8152600401602060405180830381600087803b158015610ded57600080fd5b505af1158015610e01573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e2591906116ca565b9050610478565b5080610478565b6000806000866001600160a01b03166341892d7e8a8a8989896040518663ffffffff1660e01b8152600401610e6c959493929190611a1a565b606060405180830381600087803b158015610e8657600080fd5b505af1158015610e9a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ebe919061167d565b919450925090506000836005811115610ed357fe5b1415610ee1575050506110c7565b60006001846005811115610ef157fe5b1415610f1557610f028a8a8a610c21565b9050610f108a848385610d2b565b611067565b6002846005811115610f2357fe5b1415610f4157610f348a8a8a610c21565b9050610f108a82846110cf565b6003846005811115610f4f57fe5b1415610f6057610f108a848461114d565b6004846005811115610f6e57fe5b1415610fd7576001600160a01b03808b166000908152600260209081526040808320938c1683529290522054610fa49083611171565b6001600160a01b03808c166000908152600260209081526040808320938d16835292905220555087610f108a82846110cf565b6005846005811115610fe557fe5b141561104f576001600160a01b03808b166000908152600260209081526040808320938c168352929052205461101b9083611196565b6001600160a01b03808c166000908152600260209081526040808320938d1683529290522055889250610f108a848461114d565b60405162461bcd60e51b81526004016101fc90611b64565b83600581111561107357fe5b886001600160a01b03168b6001600160a01b03167fef7da7c40d1fc52df907f6fed0e539680d5fb491c3b8f94db234a360dafe1d628685876040516110ba93929190611a63565b60405180910390a4505050505b505050505050565b826001600160a01b03166310acd06d600284846040516020016110f3929190611aab565b6040516020818303038152906040526040518363ffffffff1660e01b815260040161111f929190611af6565b600060405180830381600087803b15801561113957600080fd5b505af11580156106d4573d6000803e3d6000fd5b826001600160a01b03166310acd06d600184846040516020016110f3929190611aab565b600082820183811015610d245760405162461bcd60e51b81526004016101fc90611b04565b6000828211156111b85760405162461bcd60e51b81526004016101fc90611b24565b50900390565b803561047881611cb7565b805161047881611cb7565b600082601f8301126111e557600080fd5b81356111f86111f382611bb9565b611b92565b9150818183526020840193506020810190508385602084028201111561121d57600080fd5b60005b83811015611249578161123388826111be565b8452506020928301929190910190600101611220565b5050505092915050565b600082601f83011261126457600080fd5b81516112726111f382611bb9565b9150818183526020840193506020810190508385602084028201111561129757600080fd5b60005b8381101561124957816112ad88826111c9565b845250602092830192919091019060010161129a565b600082601f8301126112d457600080fd5b81356112e26111f382611bb9565b81815260209384019390925082018360005b83811015611249578135860161130a888261137f565b84525060209283019291909101906001016112f4565b803561047881611ccb565b805161047881611ccb565b60008083601f84011261134857600080fd5b50813567ffffffffffffffff81111561136057600080fd5b60208301915083600182028301111561137857600080fd5b9250929050565b600082601f83011261139057600080fd5b813561139e6111f382611bda565b915080825260208301602083018583830111156113ba57600080fd5b6113c5838284611c5e565b50505092915050565b803561047881611cd4565b805161047881611ce1565b803561047881611cee565b805161047881611cee565b60006020828403121561140c57600080fd5b600061141884846111be565b949350505050565b60006020828403121561143257600080fd5b600061141884846111c9565b6000806040838503121561145157600080fd5b600061145d85856111be565b925050602061146e858286016111be565b9150509250929050565b6000806000806060858703121561148e57600080fd5b600061149a87876111be565b94505060206114ab878288016111be565b935050604085013567ffffffffffffffff8111156114c857600080fd5b6114d487828801611336565b95989497509550505050565b600080600080606085870312156114f657600080fd5b600061150287876111be565b94505060206114ab878288016113e4565b60006020828403121561152557600080fd5b815167ffffffffffffffff81111561153c57600080fd5b61141884828501611253565b6000806040838503121561155b57600080fd5b823567ffffffffffffffff81111561157257600080fd5b61157e858286016111d4565b925050602083013567ffffffffffffffff81111561159b57600080fd5b61146e858286016112c3565b6000602082840312156115b957600080fd5b60006114188484611320565b6000602082840312156115d757600080fd5b6000611418848461132b565b600080604083850312156115f657600080fd5b6000611602858561132b565b925050602061146e8582860161132b565b6000806000806060858703121561162957600080fd5b600061163587876113ce565b945050602085013567ffffffffffffffff81111561165257600080fd5b61165e87828801611336565b93509350506040611671878288016113e4565b91505092959194509250565b60008060006060848603121561169257600080fd5b600061169e86866113d9565b93505060206116af868287016111c9565b92505060406116c0868287016113ef565b9150509250925092565b6000602082840312156116dc57600080fd5b600061141884846113ef565b60006116f483836116fc565b505060200190565b61170581611c15565b82525050565b600061171682611c08565b6117208185611c0c565b935061172b83611c02565b8060005b8381101561175957815161174388826116e8565b975061174e83611c02565b92505060010161172f565b509495945050505050565b600061176f82611c08565b6117798185611c0c565b9350611789818560208601611c6a565b61179281611c96565b9093019392505050565b61170581611c48565b61170581611c53565b60006117bb601b83611c0c565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b60006117f4602d83611c0c565b7f7265636569766543616c6c46726f6d436f6d7074726f6c6c65723a20496e766181526c1b1a590817d858dd1a5bdb9259609a1b602082015260400192915050565b6000611843601e83611c0c565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b600061187c603d83611c0c565b7f736574436f6e666967466f7246756e643a206665657320616e6420736574746981527f6e677344617461206172726179206c656e6774687320756e657175616c000000602082015260400192915050565b60006118db603083611c0c565b7f736574436f6e666967466f7246756e643a20666565732063616e6e6f7420696e81526f636c756465206475706c69636174657360801b602082015260400192915050565b600061192d602883611c0c565b7f4f6e6c79207468652046756e644465706c6f7965722063616e206d616b6520748152671a1a5cc818d85b1b60c21b602082015260400192915050565b6000611977602383611c0c565b7f5f5f736574746c654665653a20496e76616c696420536574746c656d656e745481526279706560e81b602082015260400192915050565b60006119bc602083611c0c565b7f5f5f696e766f6b65486f6f6b3a2046756e64206973206e6f7420616374697665815260200192915050565b61170581611c45565b6020810161047882846116fc565b60408101611a0d82856116fc565b610d2460208301846116fc565b60a08101611a2882886116fc565b611a3560208301876116fc565b611a42604083018661179c565b8181036060830152611a548185611764565b9050610ad260808301846119e8565b60608101611a7182866116fc565b611a7e60208301856116fc565b61141860408301846119e8565b60408101611a9982856116fc565b8181036020830152610d218184611764565b60408101611ab982856116fc565b610d2460208301846119e8565b60208082528101610d24818461170b565b60208082528101610d248184611764565b60208101610478828461179c565b60408101611a9982856117a5565b60208082528101610478816117ae565b60208082528101610478816117e7565b6020808252810161047881611836565b602080825281016104788161186f565b60208082528101610478816118ce565b6020808252810161047881611920565b602080825281016104788161196a565b60208082528101610478816119af565b6020810161047882846119e8565b60405181810167ffffffffffffffff81118282101715611bb157600080fd5b604052919050565b600067ffffffffffffffff821115611bd057600080fd5b5060209081020190565b600067ffffffffffffffff821115611bf157600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b600061047882611c39565b151590565b8061022781611ca0565b8061022781611cad565b6001600160a01b031690565b90565b600061047882611c25565b600061047882611c2f565b82818337506000910152565b60005b83811015611c85578181015183820152602001611c6d565b838111156102055750506000910152565b601f01601f191690565b60048110611caa57fe5b50565b600b8110611caa57fe5b611cc081611c15565b8114611caa57600080fd5b611cc081611c20565b60048110611caa57600080fd5b60068110611caa57600080fd5b611cc081611c4556fea164736f6c634300060c000a", - "sourceMap": "1006:13641:142:-:0;;;1881:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;864:29:358;;-1:-1:-1;;;;;;864:29:358;;;1006:13641:142;;5:134:-1;83:13;;101:33;83:13;101:33;:::i;:::-;68:71;;;;:::o;146:263::-;;261:2;249:9;240:7;236:23;232:32;229:2;;;277:1;274;267:12;229:2;312:1;329:64;385:7;365:9;329:64;:::i;:::-;319:74;223:186;-1:-1;;;;223:186::o;416:91::-;;-1:-1;;;;;576:54;;478:24;559:76::o;642:117::-;711:24;729:5;711:24;:::i;:::-;704:5;701:35;691:2;;750:1;747;740:12;691:2;685:74;:::o;:::-;1006:13641:142;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b506004361061009e5760003560e01c806397c0ac871161006657806397c0ac871461010f578063a9f3b42f14610117578063aa051c2c14610137578063bd8e959a14610157578063f067cc111461015f5761009e565b80631bee801e146100a357806346790346146100b85780637759c164146100e157806380d57063146100f4578063893d20e814610107575b600080fd5b6100b66100b13660046114e0565b610172565b005b6100cb6100c63660046113fa565b61020b565b6040516100d891906119f1565b60405180910390f35b6100b66100ef366004611613565b61022c565b6100b66101023660046115a7565b610272565b6100cb61031f565b6100cb6103b7565b61012a6101253660046113fa565b6103db565b6040516100d89190611ac6565b61014a61014536600461143e565b610451565b6040516100d89190611b84565b6100b661047e565b6100b661016d366004611478565b6104cb565b8261019b5761019633600060405180602001604052806000815250600060016106dd565b610205565b82600114156101e4576101963383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061075d92505050565b60405162461bcd60e51b81526004016101fc90611b14565b60405180910390fd5b50505050565b6001600160a01b03808216600090815260208190526040902054165b919050565b610205338585858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250879250600191506106dd9050565b33600061027e8261020b565b9050606061028b836103db565b905060005b8151811015610318578181815181106102a557fe5b60200260200101516001600160a01b0316633146d05885856040518363ffffffff1660e01b81526004016102da9291906119ff565b600060405180830381600087803b1580156102f457600080fd5b505af1158015610308573d6000803e3d6000fd5b5050600190920191506102909050565b5050505050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561037a57600080fd5b505afa15801561038e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103b29190611420565b905090565b7f000000000000000000000000000000000000000000000000000000000000000090565b6001600160a01b03811660009081526001602090815260409182902080548351818402810184019094528084526060939283018282801561044557602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610427575b50505050509050919050565b6001600160a01b038083166000908152600260209081526040808320938516835292905220545b92915050565b33600061048a8261020b565b90506060610497836103db565b905060005b8151811015610205576104c384848484815181106104b657fe5b602002602001015161083f565b60010161049c565b6104d36103b7565b6001600160a01b0316336001600160a01b0316146105035760405162461bcd60e51b81526004016101fc90611b54565b61050d84846108f8565b60608061051c83850185611548565b9150915080518251146105415760405162461bcd60e51b81526004016101fc90611b34565b61054a8261094f565b6105665760405162461bcd60e51b81526004016101fc90611b44565b60005b82518110156106d45782818151811061057e57fe5b60200260200101516001600160a01b0316630f5f6b4f888484815181106105a157fe5b60200260200101516040518363ffffffff1660e01b81526004016105c6929190611a8b565b600060405180830381600087803b1580156105e057600080fd5b505af11580156105f4573d6000803e3d6000fd5b505050506001600160a01b0387166000908152600160205260409020835184908390811061061e57fe5b60209081029190910181015182546001810184556000938452919092200180546001600160a01b0319166001600160a01b03909216919091179055825183908290811061066757fe5b60200260200101516001600160a01b0316876001600160a01b03167f62b7814f137868e44c7a83c2b0a340fc5dacef8f3e748867d0f5f879fc0ef6da8484815181106106af57fe5b60200260200101516040516106c49190611ad7565b60405180910390a3600101610569565b50505050505050565b60606106e8866103db565b90508051600014156106fa5750610318565b60006107058761020b565b90506001600160a01b03811661072d5760405162461bcd60e51b81526004016101fc90611b74565b600061073d8883858a8a8a6109e3565b90508315610753576107538883858a8a86610adc565b5050505050505050565b6060818060200190518101906107739190611513565b905060006107803361020b565b905060005b82518110156103185782818151811061079a57fe5b60200260200101516001600160a01b031663b78b481386846040518363ffffffff1660e01b81526004016107cf9291906119ff565b602060405180830381600087803b1580156107e957600080fd5b505af11580156107fd573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061082191906115c5565b156108375761083785838584815181106104b657fe5b600101610785565b600061084b8483610451565b90508061085857506108f3565b6001600160a01b038085166000908152600260209081526040808320938616835292905290812081905561088d858585610c21565b905061089b85858385610d2b565b806001600160a01b0316836001600160a01b0316866001600160a01b03167f4e6eff738a7af3dbd4288f753eb551833c09a82d6c3dfaf07a23c3fcc82a3522856040516108e89190611b84565b60405180910390a450505b505050565b6001600160a01b0382811660008181526020819052604080822080546001600160a01b0319169486169485179055517f8852dcaa71340ea616a65ffac013450dfb238607481fb9d78346c667fe256c139190a35050565b6000600182511161096257506001610227565b815160005b818110156109d957600181015b828110156109d05784818151811061098857fe5b60200260200101516001600160a01b03168583815181106109a557fe5b60200260200101516001600160a01b031614156109c85760009350505050610227565b600101610974565b50600101610967565b5060019392505050565b8060005b8551811015610ad0576000808783815181106109ff57fe5b60200260200101516001600160a01b031663320f0ddd886040518263ffffffff1660e01b8152600401610a329190611ae8565b604080518083038186803b158015610a4957600080fd5b505afa158015610a5d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a8191906115e3565b9150915081610a91575050610ac8565b8015610aa457610aa18a85610dab565b93505b610ac58a8a8a8681518110610ab557fe5b60200260200101518a8a89610e33565b50505b6001016109e7565b505b9695505050505050565b8060005b855181101561075357600080878381518110610af857fe5b60200260200101516001600160a01b031663e337a91f886040518263ffffffff1660e01b8152600401610b2b9190611ae8565b604080518083038186803b158015610b4257600080fd5b505afa158015610b56573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b7a91906115e3565b9150915081610b8a575050610c19565b8015610b9d57610b9a8a85610dab565b93505b878381518110610ba957fe5b60200260200101516001600160a01b031663233faf5f8b8b8a8a896040518663ffffffff1660e01b8152600401610be4959493929190611a1a565b600060405180830381600087803b158015610bfe57600080fd5b505af1158015610c12573d6000803e3d6000fd5b5050505050505b600101610ae0565b60405163189e02cf60e21b81526000906001600160a01b038316906362780b3c90610c509087906004016119f1565b60206040518083038186803b158015610c6857600080fd5b505afa158015610c7c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ca09190611420565b90506001600160a01b038116610d2457826001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b158015610ce957600080fd5b505afa158015610cfd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d219190611420565b90505b9392505050565b836001600160a01b03166310acd06d6003858585604051602001610d5193929190611a63565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401610d7d929190611af6565b600060405180830381600087803b158015610d9757600080fd5b505af1158015610753573d6000803e3d6000fd5b600081610e2c57826001600160a01b03166356cff99f6040518163ffffffff1660e01b8152600401602060405180830381600087803b158015610ded57600080fd5b505af1158015610e01573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e2591906116ca565b9050610478565b5080610478565b6000806000866001600160a01b03166341892d7e8a8a8989896040518663ffffffff1660e01b8152600401610e6c959493929190611a1a565b606060405180830381600087803b158015610e8657600080fd5b505af1158015610e9a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ebe919061167d565b919450925090506000836005811115610ed357fe5b1415610ee1575050506110c7565b60006001846005811115610ef157fe5b1415610f1557610f028a8a8a610c21565b9050610f108a848385610d2b565b611067565b6002846005811115610f2357fe5b1415610f4157610f348a8a8a610c21565b9050610f108a82846110cf565b6003846005811115610f4f57fe5b1415610f6057610f108a848461114d565b6004846005811115610f6e57fe5b1415610fd7576001600160a01b03808b166000908152600260209081526040808320938c1683529290522054610fa49083611171565b6001600160a01b03808c166000908152600260209081526040808320938d16835292905220555087610f108a82846110cf565b6005846005811115610fe557fe5b141561104f576001600160a01b03808b166000908152600260209081526040808320938c168352929052205461101b9083611196565b6001600160a01b03808c166000908152600260209081526040808320938d1683529290522055889250610f108a848461114d565b60405162461bcd60e51b81526004016101fc90611b64565b83600581111561107357fe5b886001600160a01b03168b6001600160a01b03167fef7da7c40d1fc52df907f6fed0e539680d5fb491c3b8f94db234a360dafe1d628685876040516110ba93929190611a63565b60405180910390a4505050505b505050505050565b826001600160a01b03166310acd06d600284846040516020016110f3929190611aab565b6040516020818303038152906040526040518363ffffffff1660e01b815260040161111f929190611af6565b600060405180830381600087803b15801561113957600080fd5b505af11580156106d4573d6000803e3d6000fd5b826001600160a01b03166310acd06d600184846040516020016110f3929190611aab565b600082820183811015610d245760405162461bcd60e51b81526004016101fc90611b04565b6000828211156111b85760405162461bcd60e51b81526004016101fc90611b24565b50900390565b803561047881611cb7565b805161047881611cb7565b600082601f8301126111e557600080fd5b81356111f86111f382611bb9565b611b92565b9150818183526020840193506020810190508385602084028201111561121d57600080fd5b60005b83811015611249578161123388826111be565b8452506020928301929190910190600101611220565b5050505092915050565b600082601f83011261126457600080fd5b81516112726111f382611bb9565b9150818183526020840193506020810190508385602084028201111561129757600080fd5b60005b8381101561124957816112ad88826111c9565b845250602092830192919091019060010161129a565b600082601f8301126112d457600080fd5b81356112e26111f382611bb9565b81815260209384019390925082018360005b83811015611249578135860161130a888261137f565b84525060209283019291909101906001016112f4565b803561047881611ccb565b805161047881611ccb565b60008083601f84011261134857600080fd5b50813567ffffffffffffffff81111561136057600080fd5b60208301915083600182028301111561137857600080fd5b9250929050565b600082601f83011261139057600080fd5b813561139e6111f382611bda565b915080825260208301602083018583830111156113ba57600080fd5b6113c5838284611c5e565b50505092915050565b803561047881611cd4565b805161047881611ce1565b803561047881611cee565b805161047881611cee565b60006020828403121561140c57600080fd5b600061141884846111be565b949350505050565b60006020828403121561143257600080fd5b600061141884846111c9565b6000806040838503121561145157600080fd5b600061145d85856111be565b925050602061146e858286016111be565b9150509250929050565b6000806000806060858703121561148e57600080fd5b600061149a87876111be565b94505060206114ab878288016111be565b935050604085013567ffffffffffffffff8111156114c857600080fd5b6114d487828801611336565b95989497509550505050565b600080600080606085870312156114f657600080fd5b600061150287876111be565b94505060206114ab878288016113e4565b60006020828403121561152557600080fd5b815167ffffffffffffffff81111561153c57600080fd5b61141884828501611253565b6000806040838503121561155b57600080fd5b823567ffffffffffffffff81111561157257600080fd5b61157e858286016111d4565b925050602083013567ffffffffffffffff81111561159b57600080fd5b61146e858286016112c3565b6000602082840312156115b957600080fd5b60006114188484611320565b6000602082840312156115d757600080fd5b6000611418848461132b565b600080604083850312156115f657600080fd5b6000611602858561132b565b925050602061146e8582860161132b565b6000806000806060858703121561162957600080fd5b600061163587876113ce565b945050602085013567ffffffffffffffff81111561165257600080fd5b61165e87828801611336565b93509350506040611671878288016113e4565b91505092959194509250565b60008060006060848603121561169257600080fd5b600061169e86866113d9565b93505060206116af868287016111c9565b92505060406116c0868287016113ef565b9150509250925092565b6000602082840312156116dc57600080fd5b600061141884846113ef565b60006116f483836116fc565b505060200190565b61170581611c15565b82525050565b600061171682611c08565b6117208185611c0c565b935061172b83611c02565b8060005b8381101561175957815161174388826116e8565b975061174e83611c02565b92505060010161172f565b509495945050505050565b600061176f82611c08565b6117798185611c0c565b9350611789818560208601611c6a565b61179281611c96565b9093019392505050565b61170581611c48565b61170581611c53565b60006117bb601b83611c0c565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b60006117f4602d83611c0c565b7f7265636569766543616c6c46726f6d436f6d7074726f6c6c65723a20496e766181526c1b1a590817d858dd1a5bdb9259609a1b602082015260400192915050565b6000611843601e83611c0c565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b600061187c603d83611c0c565b7f736574436f6e666967466f7246756e643a206665657320616e6420736574746981527f6e677344617461206172726179206c656e6774687320756e657175616c000000602082015260400192915050565b60006118db603083611c0c565b7f736574436f6e666967466f7246756e643a20666565732063616e6e6f7420696e81526f636c756465206475706c69636174657360801b602082015260400192915050565b600061192d602883611c0c565b7f4f6e6c79207468652046756e644465706c6f7965722063616e206d616b6520748152671a1a5cc818d85b1b60c21b602082015260400192915050565b6000611977602383611c0c565b7f5f5f736574746c654665653a20496e76616c696420536574746c656d656e745481526279706560e81b602082015260400192915050565b60006119bc602083611c0c565b7f5f5f696e766f6b65486f6f6b3a2046756e64206973206e6f7420616374697665815260200192915050565b61170581611c45565b6020810161047882846116fc565b60408101611a0d82856116fc565b610d2460208301846116fc565b60a08101611a2882886116fc565b611a3560208301876116fc565b611a42604083018661179c565b8181036060830152611a548185611764565b9050610ad260808301846119e8565b60608101611a7182866116fc565b611a7e60208301856116fc565b61141860408301846119e8565b60408101611a9982856116fc565b8181036020830152610d218184611764565b60408101611ab982856116fc565b610d2460208301846119e8565b60208082528101610d24818461170b565b60208082528101610d248184611764565b60208101610478828461179c565b60408101611a9982856117a5565b60208082528101610478816117ae565b60208082528101610478816117e7565b6020808252810161047881611836565b602080825281016104788161186f565b60208082528101610478816118ce565b6020808252810161047881611920565b602080825281016104788161196a565b60208082528101610478816119af565b6020810161047882846119e8565b60405181810167ffffffffffffffff81118282101715611bb157600080fd5b604052919050565b600067ffffffffffffffff821115611bd057600080fd5b5060209081020190565b600067ffffffffffffffff821115611bf157600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b600061047882611c39565b151590565b8061022781611ca0565b8061022781611cad565b6001600160a01b031690565b90565b600061047882611c25565b600061047882611c2f565b82818337506000910152565b60005b83811015611c85578181015183820152602001611c6d565b838111156102055750506000910152565b601f01601f191690565b60048110611caa57fe5b50565b600b8110611caa57fe5b611cc081611c15565b8114611caa57600080fd5b611cc081611c20565b60048110611caa57600080fd5b60068110611caa57600080fd5b611cc081611c4556fea164736f6c634300060c000a", - "sourceMap": "1006:13641:142:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3972:513;;;;;;:::i;:::-;;:::i;:::-;;2692:198:226;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3348:206:142;;;;;;:::i;:::-;;:::i;2064:398::-;;;;;;:::i;:::-;;:::i;1064:120:358:-;;;:::i;1378:108::-;;;:::i;13909:203:142:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;14398:247::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;2592:436::-;;;:::i;4960:1056::-;;;;;;:::i;:::-;;:::i;3972:513::-;4124:14;4120:359;;4207:69;4220:10;4232:30;4207:69;;;;;;;;;;;;4268:1;4271:4;4207:12;:69::i;:::-;4120:359;;;4297:9;4310:1;4297:14;4293:186;;;4327:55;4360:10;4372:9;;4327:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4327:32:142;;-1:-1:-1;;;4327:55:142:i;4293:186::-;4413:55;;-1:-1:-1;;;4413:55:142;;;;;;;:::i;:::-;;;;;;;;4293:186;3972:513;;;;:::o;2692:198:226:-;-1:-1:-1;;;;;2836:47:226;;;2794:19;2836:47;;;;;;;;;;;;2692:198;;;;:::o;3348:206:142:-;3487:60;3500:10;3512:5;3519:15;;3487:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3536:4:142;;-1:-1:-1;3542:4:142;;-1:-1:-1;3487:12:142;;-1:-1:-1;3487:60:142:i;2064:398::-;2150:10;2123:24;2191:38;2150:10;2191:20;:38::i;:::-;2170:59;;2240:28;2271:39;2293:16;2271:21;:39::i;:::-;2240:70;;2325:9;2320:136;2340:11;:18;2336:1;:22;2320:136;;;2384:11;2396:1;2384:14;;;;;;;;;;;;;;-1:-1:-1;;;;;2379:36:142;;2416:16;2434:10;2379:66;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2360:3:142;;;;;-1:-1:-1;2320:136:142;;-1:-1:-1;2320:136:142;;;2064:398;;;;:::o;1064:120:358:-;1105:14;1152:13;-1:-1:-1;;;;;1138:37:358;;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1131:46;;1064:120;:::o;1378:108::-;1466:13;1378:108;:::o;13909:203:142:-;-1:-1:-1;;;;;14064:41:142;;;;;;:22;:41;;;;;;;;;14057:48;;;;;;;;;;;;;;;;;14012:29;;14057:48;;;14064:41;14057:48;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;14057:48:142;;;;;;;;;;;;;;;;;;;;;;;13909:203;;;:::o;14398:247::-;-1:-1:-1;;;;;14573:59:142;;;14524:26;14573:59;;;:40;:59;;;;;;;;:65;;;;;;;;;;14398:247;;;;;:::o;2592:436::-;2676:10;2649:24;2717:38;2676:10;2717:20;:38::i;:::-;2696:59;;2822:21;2846:39;2868:16;2846:21;:39::i;:::-;2822:63;;2900:9;2895:127;2915:4;:11;2911:1;:15;2895:127;;;2947:64;2973:16;2991:10;3003:4;3008:1;3003:7;;;;;;;;;;;;;;2947:25;:64::i;:::-;2928:3;;2895:127;;4960:1056;819:17:226;:15;:17::i;:::-;-1:-1:-1;;;;;805:31:226;:10;-1:-1:-1;;;;;805:31:226;;797:84;;;;-1:-1:-1;;;797:84:226;;;;;;;:::i;:::-;5137:56:142::1;5162:17;5181:11;5137:24;:56::i;:::-;5205:21;::::0;5259:79:::1;::::0;;::::1;5283:11:::0;5259:79:::1;:::i;:::-;5204:134;;;;5410:12;:19;5395:4;:11;:34;5374:142;;;;-1:-1:-1::0;;;5374:142:142::1;;;;;;;:::i;:::-;5534:18;:4;:16;:18::i;:::-;5526:79;;;;-1:-1:-1::0;;;5526:79:142::1;;;;;;;:::i;:::-;5662:9;5657:353;5677:4;:11;5673:1;:15;5657:353;;;5752:4;5757:1;5752:7;;;;;;;;;;;;;;-1:-1:-1::0;;;;;5747:29:142::1;;5777:17;5796:12;5809:1;5796:15;;;;;;;;;;;;;;5747:65;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;;;;;;;;5862:41:142;::::1;;::::0;;;:22:::1;:41;::::0;;;;5909:7;;;;5914:1;;5909:7;::::1;;;;;;::::0;;::::1;::::0;;;;;;;5862:55;;::::1;::::0;::::1;::::0;;-1:-1:-1;5862:55:142;;;;;;;::::1;::::0;;-1:-1:-1;;;;;;5862:55:142::1;-1:-1:-1::0;;;;;5862:55:142;;::::1;::::0;;;::::1;::::0;;5974:7;;;;5979:1;;5974:7;::::1;;;;;;;;;;;-1:-1:-1::0;;;;;5937:62:142::1;5955:17;-1:-1:-1::0;;;;;5937:62:142::1;;5983:12;5996:1;5983:15;;;;;;;;;;;;;;5937:62;;;;;;:::i;:::-;;;;;;;;5690:3;;5657:353;;;;891:1:226;;4960:1056:142::0;;;;:::o;6981:1178::-;7177:21;7201:40;7223:17;7201:21;:40::i;:::-;7177:64;;7255:4;:11;7270:1;7255:16;7251:53;;;7287:7;;;7251:53;7314:18;7335:39;7356:17;7335:20;:39::i;:::-;7314:60;-1:-1:-1;;;;;;7521:24:142;;7513:69;;;;-1:-1:-1;;;7513:69:142;;;;;;;:::i;:::-;7648:11;7662:167;7688:17;7719:10;7743:4;7761:5;7780:15;7809:10;7662:12;:167::i;:::-;7648:181;;8037:11;8033:120;;;8064:78;8077:17;8096:10;8108:4;8114:5;8121:15;8138:3;8064:12;:78::i;:::-;6981:1178;;;;;;;;:::o;8804:478::-;8927:21;8962:9;8951:34;;;;;;;;;;;;:::i;:::-;8927:58;;8995:18;9016:32;9037:10;9016:20;:32::i;:::-;8995:53;;9064:9;9059:217;9079:4;:11;9075:1;:15;9059:217;;;9120:4;9125:1;9120:7;;;;;;;;;;;;;;-1:-1:-1;;;;;9115:20:142;;9136:17;9155:10;9115:51;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9111:155;;;9186:65;9212:17;9231:10;9243:4;9248:1;9243:7;;;;;;;9186:65;9092:3;;9059:217;;9394:657;9539:25;9567:55;9598:17;9617:4;9567:30;:55::i;:::-;9539:83;-1:-1:-1;9636:22:142;9632:59;;9674:7;;;9632:59;-1:-1:-1;;;;;9708:59:142;;;;;;;:40;:59;;;;;;;;:65;;;;;;;;;;;9701:72;;;9800:64;9749:17;9846:11;9768:4;9800:26;:64::i;:::-;9784:80;;9875:74;9892:17;9911:11;9924:5;9931:17;9875:16;:74::i;:::-;10019:5;-1:-1:-1;;;;;9965:79:142;10013:4;-1:-1:-1;;;;;9965:79:142;9994:17;-1:-1:-1;;;;;9965:79:142;;10026:17;9965:79;;;;;;:::i;:::-;;;;;;;;9394:657;;;;;;:::o;2172:246:226:-;-1:-1:-1;;;;;2273:47:226;;;:28;:47;;;;;;;;;;;:61;;-1:-1:-1;;;;;;2273:61:226;;;;;;;;;2350;;;2273:28;2350:61;2172:246;;:::o;3999:454:354:-;4067:14;4113:1;4097:5;:12;:17;4093:59;;-1:-1:-1;4137:4:354;4130:11;;4093:59;4184:12;;4162:19;4206:219;4226:11;4222:1;:15;4206:219;;;4279:1;4275:5;;4258:157;4286:11;4282:1;:15;4258:157;;;4338:5;4344:1;4338:8;;;;;;;;;;;;;;-1:-1:-1;;;;;4326:20:354;:5;4332:1;4326:8;;;;;;;;;;;;;;-1:-1:-1;;;;;4326:20:354;;4322:79;;;4377:5;4370:12;;;;;;;4322:79;4299:3;;4258:157;;;-1:-1:-1;4239:3:354;;4206:219;;;-1:-1:-1;4442:4:354;;3999:454;-1:-1:-1;;;3999:454:354:o;12175:717:142:-;12436:10;12405:12;12457:407;12477:5;:12;12473:1;:16;12457:407;;;12511:12;12525;12546:5;12552:1;12546:8;;;;;;;;;;;;;;-1:-1:-1;;;;;12541:28:142;;12570:5;12541:35;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12510:66;;;;12595:7;12590:55;;12622:8;;;;12590:55;12663:7;12659:97;;;12697:44;12717:17;12736:4;12697:19;:44::i;:::-;12690:51;;12659:97;12770:83;12782:17;12801:11;12814:5;12820:1;12814:8;;;;;;;;;;;;;;12824:5;12831:15;12848:4;12770:11;:83::i;:::-;12457:407;;;12491:3;;12457:407;;;;12175:717;;;;;;;;;:::o;12965:676::-;13210:10;13196:11;13231:404;13251:5;:12;13247:1;:16;13231:404;;;13285:12;13299;13320:5;13326:1;13320:8;;;;;;;;;;;;;;-1:-1:-1;;;;;13315:28:142;;13344:5;13315:35;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13284:66;;;;13369:7;13364:55;;13396:8;;;;13364:55;13437:7;13433:95;;;13470:43;13490:17;13509:3;13470:19;:43::i;:::-;13464:49;;13433:95;13547:5;13553:1;13547:8;;;;;;;;;;;;;;-1:-1:-1;;;;;13542:21:142;;13564:17;13583:11;13596:5;13603:15;13620:3;13542:82;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13231:404;;;13265:3;;13231:404;;8235:384;8428:49;;-1:-1:-1;;;8428:49:142;;8385:18;;-1:-1:-1;;;;;8428:30:142;;;;;:49;;8459:17;;8428:49;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8415:62;-1:-1:-1;;;;;;8491:24:142;;8487:98;;8551:11;-1:-1:-1;;;;;8544:28:142;;:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8531:43;;8487:98;8235:384;;;;;:::o;4818:319:227:-;4986:17;-1:-1:-1;;;;;4973:55:227;;5042:33;5100:5;5107:3;5112:7;5089:31;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;4973:157;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6137:285:142;6246:12;6278:15;6274:142;;6329:17;-1:-1:-1;;;;;6316:39:142;;:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6309:48;;;;6274:142;-1:-1:-1;6395:10:142;6388:17;;10093:2009;10308:29;10339:13;10354:17;10380:4;-1:-1:-1;;;;;10375:17:142;;10406;10437:11;10462:5;10481:15;10510:4;10375:149;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10307:217;;-1:-1:-1;10307:217:142;-1:-1:-1;10307:217:142;-1:-1:-1;10556:19:142;10538:14;:37;;;;;;;;;10534:74;;;10591:7;;;;;10534:74;10618:13;10663:21;10645:14;:39;;;;;;;;;10641:1356;;;10708:64;10735:17;10754:11;10767:4;10708:26;:64::i;:::-;10700:72;;10786:60;10803:17;10822:5;10829;10836:9;10786:16;:60::i;:::-;10641:1356;;;10885:19;10867:14;:37;;;;;;;;;10863:1134;;;10928:64;10955:17;10974:11;10987:4;10928:26;:64::i;:::-;10920:72;;11006:49;11019:17;11038:5;11045:9;11006:12;:49::i;10863:1134::-;11094:19;11076:14;:37;;;;;;;;;11072:925;;;11129:49;11142:17;11161:5;11168:9;11129:12;:49::i;11072:925::-;11217:36;11199:14;:54;;;;;;;;;11195:802;;;-1:-1:-1;;;;;11367:59:142;;;;;;;:40;:59;;;;;;;;:65;;;;;;;;;;:80;;11437:9;11367:69;:80::i;:::-;-1:-1:-1;;;;;11269:59:142;;;;;;;:40;:59;;;;;;;;:95;;;;;;;;;:178;-1:-1:-1;11470:11:142;11495:49;11310:17;11470:11;11534:9;11495:12;:49::i;11195:802::-;11583:36;11565:14;:54;;;;;;;;;11561:436;;;-1:-1:-1;;;;;11733:59:142;;;;;;;:40;:59;;;;;;;;:65;;;;;;;;;;:80;;11803:9;11733:69;:80::i;:::-;-1:-1:-1;;;;;11635:59:142;;;;;;;:40;:59;;;;;;;;:95;;;;;;;;;:178;11836:11;;-1:-1:-1;11861:49:142;11676:17;11836:11;11900:9;11861:12;:49::i;11561:436::-;11941:45;;-1:-1:-1;;;11941:45:142;;;;;;;:::i;11561:436::-;12055:14;12012:83;;;;;;;;12049:4;-1:-1:-1;;;;;12012:83:142;12030:17;-1:-1:-1;;;;;12012:83:142;;12071:5;12078;12085:9;12012:83;;;;;;;;:::i;:::-;;;;;;;;10093:2009;;;;;;;;;;;:::o;3322:289:227:-;3467:17;-1:-1:-1;;;;;3454:55:227;;3523:29;3577:7;3586;3566:28;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3454:150;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2373:289;2518:17;-1:-1:-1;;;;;2505:55:227;;2574:29;2628:7;2637;2617:28;;;;;;;;;:::i;2690:175:442:-;2748:7;2779:5;;;2802:6;;;;2794:46;;;;-1:-1:-1;;;2794:46:442;;;;;;;:::i;3136:155::-;3194:7;3226:1;3221;:6;;3213:49;;;;-1:-1:-1;;;3213:49:442;;;;;;;:::i;:::-;-1:-1:-1;3279:5:442;;;3136:155::o;5:130:-1:-;72:20;;97:33;72:20;97:33;:::i;142:134::-;220:13;;238:33;220:13;238:33;:::i;301:707::-;;418:3;411:4;403:6;399:17;395:27;385:2;;436:1;433;426:12;385:2;473:6;460:20;495:80;510:64;567:6;510:64;:::i;:::-;495:80;:::i;:::-;486:89;;592:5;617:6;610:5;603:21;647:4;639:6;635:17;625:27;;669:4;664:3;660:14;653:21;;722:6;769:3;761:4;753:6;749:17;744:3;740:27;737:36;734:2;;;786:1;783;776:12;734:2;811:1;796:206;821:6;818:1;815:13;796:206;;;879:3;901:37;934:3;922:10;901:37;:::i;:::-;889:50;;-1:-1;962:4;953:14;;;;981;;;;;843:1;836:9;796:206;;;800:14;378:630;;;;;;;:::o;1034:722::-;;1162:3;1155:4;1147:6;1143:17;1139:27;1129:2;;1180:1;1177;1170:12;1129:2;1210:6;1204:13;1232:80;1247:64;1304:6;1247:64;:::i;1232:80::-;1223:89;;1329:5;1354:6;1347:5;1340:21;1384:4;1376:6;1372:17;1362:27;;1406:4;1401:3;1397:14;1390:21;;1459:6;1506:3;1498:4;1490:6;1486:17;1481:3;1477:27;1474:36;1471:2;;;1523:1;1520;1513:12;1471:2;1548:1;1533:217;1558:6;1555:1;1552:13;1533:217;;;1616:3;1638:48;1682:3;1670:10;1638:48;:::i;:::-;1626:61;;-1:-1;1710:4;1701:14;;;;1729;;;;;1580:1;1573:9;1533:217;;1780:705;;1906:3;1899:4;1891:6;1887:17;1883:27;1873:2;;1924:1;1921;1914:12;1873:2;1961:6;1948:20;1983:89;1998:73;2064:6;1998:73;:::i;1983:89::-;2100:21;;;2144:4;2132:17;;;;1974:98;;-1:-1;2157:14;;2132:17;2252:1;2237:242;2262:6;2259:1;2256:13;2237:242;;;2345:3;2332:17;2324:6;2320:30;2369:46;2411:3;2399:10;2369:46;:::i;:::-;2357:59;;-1:-1;2439:4;2430:14;;;;2458;;;;;2284:1;2277:9;2237:242;;2493:124;2557:20;;2582:30;2557:20;2582:30;:::i;2624:128::-;2699:13;;2717:30;2699:13;2717:30;:::i;2773:336::-;;;2887:3;2880:4;2872:6;2868:17;2864:27;2854:2;;2905:1;2902;2895:12;2854:2;-1:-1;2925:20;;2965:18;2954:30;;2951:2;;;2997:1;2994;2987:12;2951:2;3031:4;3023:6;3019:17;3007:29;;3082:3;3074:4;3066:6;3062:17;3052:8;3048:32;3045:41;3042:2;;;3099:1;3096;3089:12;3042:2;2847:262;;;;;:::o;3118:440::-;;3219:3;3212:4;3204:6;3200:17;3196:27;3186:2;;3237:1;3234;3227:12;3186:2;3274:6;3261:20;3296:64;3311:48;3352:6;3311:48;:::i;3296:64::-;3287:73;;3380:6;3373:5;3366:21;3416:4;3408:6;3404:17;3449:4;3442:5;3438:16;3484:3;3475:6;3470:3;3466:16;3463:25;3460:2;;;3501:1;3498;3491:12;3460:2;3511:41;3545:6;3540:3;3535;3511:41;:::i;:::-;3179:379;;;;;;;:::o;3566:156::-;3646:20;;3671:46;3646:20;3671:46;:::i;3729:174::-;3827:13;;3845:53;3827:13;3845:53;:::i;3910:130::-;3977:20;;4002:33;3977:20;4002:33;:::i;4047:134::-;4125:13;;4143:33;4125:13;4143:33;:::i;4188:241::-;;4292:2;4280:9;4271:7;4267:23;4263:32;4260:2;;;4308:1;4305;4298:12;4260:2;4343:1;4360:53;4405:7;4385:9;4360:53;:::i;:::-;4350:63;4254:175;-1:-1;;;;4254:175::o;4436:263::-;;4551:2;4539:9;4530:7;4526:23;4522:32;4519:2;;;4567:1;4564;4557:12;4519:2;4602:1;4619:64;4675:7;4655:9;4619:64;:::i;4706:366::-;;;4827:2;4815:9;4806:7;4802:23;4798:32;4795:2;;;4843:1;4840;4833:12;4795:2;4878:1;4895:53;4940:7;4920:9;4895:53;:::i;:::-;4885:63;;4857:97;4985:2;5003:53;5048:7;5039:6;5028:9;5024:22;5003:53;:::i;:::-;4993:63;;4964:98;4789:283;;;;;:::o;5079:615::-;;;;;5236:2;5224:9;5215:7;5211:23;5207:32;5204:2;;;5252:1;5249;5242:12;5204:2;5287:1;5304:53;5349:7;5329:9;5304:53;:::i;:::-;5294:63;;5266:97;5394:2;5412:53;5457:7;5448:6;5437:9;5433:22;5412:53;:::i;:::-;5402:63;;5373:98;5530:2;5519:9;5515:18;5502:32;5554:18;5546:6;5543:30;5540:2;;;5586:1;5583;5576:12;5540:2;5614:64;5670:7;5661:6;5650:9;5646:22;5614:64;:::i;:::-;5198:496;;;;-1:-1;5596:82;-1:-1;;;;5198:496::o;5701:615::-;;;;;5858:2;5846:9;5837:7;5833:23;5829:32;5826:2;;;5874:1;5871;5864:12;5826:2;5909:1;5926:53;5971:7;5951:9;5926:53;:::i;:::-;5916:63;;5888:97;6016:2;6034:53;6079:7;6070:6;6059:9;6055:22;6034:53;:::i;6323:392::-;;6463:2;6451:9;6442:7;6438:23;6434:32;6431:2;;;6479:1;6476;6469:12;6431:2;6514:24;;6558:18;6547:30;;6544:2;;;6590:1;6587;6580:12;6544:2;6610:89;6691:7;6682:6;6671:9;6667:22;6610:89;:::i;6722:656::-;;;6902:2;6890:9;6881:7;6877:23;6873:32;6870:2;;;6918:1;6915;6908:12;6870:2;6953:31;;7004:18;6993:30;;6990:2;;;7036:1;7033;7026:12;6990:2;7056:78;7126:7;7117:6;7106:9;7102:22;7056:78;:::i;:::-;7046:88;;6932:208;7199:2;7188:9;7184:18;7171:32;7223:18;7215:6;7212:30;7209:2;;;7255:1;7252;7245:12;7209:2;7275:87;7354:7;7345:6;7334:9;7330:22;7275:87;:::i;7385:235::-;;7486:2;7474:9;7465:7;7461:23;7457:32;7454:2;;;7502:1;7499;7492:12;7454:2;7537:1;7554:50;7596:7;7576:9;7554:50;:::i;7627:257::-;;7739:2;7727:9;7718:7;7714:23;7710:32;7707:2;;;7755:1;7752;7745:12;7707:2;7790:1;7807:61;7860:7;7840:9;7807:61;:::i;7891:387::-;;;8017:2;8005:9;7996:7;7992:23;7988:32;7985:2;;;8033:1;8030;8023:12;7985:2;8068:1;8085:61;8138:7;8118:9;8085:61;:::i;:::-;8075:71;;8047:105;8183:2;8201:61;8254:7;8245:6;8234:9;8230:22;8201:61;:::i;8285:641::-;;;;;8455:2;8443:9;8434:7;8430:23;8426:32;8423:2;;;8471:1;8468;8461:12;8423:2;8506:1;8523:66;8581:7;8561:9;8523:66;:::i;:::-;8513:76;;8485:110;8654:2;8643:9;8639:18;8626:32;8678:18;8670:6;8667:30;8664:2;;;8710:1;8707;8700:12;8664:2;8738:64;8794:7;8785:6;8774:9;8770:22;8738:64;:::i;:::-;8720:82;;;;8605:203;8839:2;8857:53;8902:7;8893:6;8882:9;8878:22;8857:53;:::i;:::-;8847:63;;8818:98;8417:509;;;;;;;:::o;8933:575::-;;;;9102:2;9090:9;9081:7;9077:23;9073:32;9070:2;;;9118:1;9115;9108:12;9070:2;9153:1;9170:84;9246:7;9226:9;9170:84;:::i;:::-;9160:94;;9132:128;9291:2;9309:64;9365:7;9356:6;9345:9;9341:22;9309:64;:::i;:::-;9299:74;;9270:109;9410:2;9428:64;9484:7;9475:6;9464:9;9460:22;9428:64;:::i;:::-;9418:74;;9389:109;9064:444;;;;;:::o;9515:263::-;;9630:2;9618:9;9609:7;9605:23;9601:32;9598:2;;;9646:1;9643;9636:12;9598:2;9681:1;9698:64;9754:7;9734:9;9698:64;:::i;9786:173::-;;9873:46;9915:3;9907:6;9873:46;:::i;:::-;-1:-1;;9948:4;9939:14;;9866:93::o;9967:103::-;10040:24;10058:5;10040:24;:::i;:::-;10035:3;10028:37;10022:48;;:::o;10228:690::-;;10373:54;10421:5;10373:54;:::i;:::-;10440:86;10519:6;10514:3;10440:86;:::i;:::-;10433:93;;10547:56;10597:5;10547:56;:::i;:::-;10623:7;10651:1;10636:260;10661:6;10658:1;10655:13;10636:260;;;10728:6;10722:13;10749:63;10808:3;10793:13;10749:63;:::i;:::-;10742:70;;10829:60;10882:6;10829:60;:::i;:::-;10819:70;-1:-1;;10683:1;10676:9;10636:260;;;-1:-1;10909:3;;10352:566;-1:-1;;;;;10352:566::o;10926:343::-;;11036:38;11068:5;11036:38;:::i;:::-;11086:70;11149:6;11144:3;11086:70;:::i;:::-;11079:77;;11161:52;11206:6;11201:3;11194:4;11187:5;11183:16;11161:52;:::i;:::-;11234:29;11256:6;11234:29;:::i;:::-;11225:39;;;;11016:253;-1:-1;;;11016:253::o;11276:148::-;11370:48;11412:5;11370:48;:::i;11431:156::-;11529:52;11575:5;11529:52;:::i;11595:327::-;;11755:67;11819:2;11814:3;11755:67;:::i;:::-;11855:29;11835:50;;11913:2;11904:12;;11741:181;-1:-1;;11741:181::o;11931:382::-;;12091:67;12155:2;12150:3;12091:67;:::i;:::-;12191:34;12171:55;;-1:-1;;;12255:2;12246:12;;12239:37;12304:2;12295:12;;12077:236;-1:-1;;12077:236::o;12322:330::-;;12482:67;12546:2;12541:3;12482:67;:::i;:::-;12582:32;12562:53;;12643:2;12634:12;;12468:184;-1:-1;;12468:184::o;12661:398::-;;12821:67;12885:2;12880:3;12821:67;:::i;:::-;12921:34;12901:55;;12990:31;12985:2;12976:12;;12969:53;13050:2;13041:12;;12807:252;-1:-1;;12807:252::o;13068:385::-;;13228:67;13292:2;13287:3;13228:67;:::i;:::-;13328:34;13308:55;;-1:-1;;;13392:2;13383:12;;13376:40;13444:2;13435:12;;13214:239;-1:-1;;13214:239::o;13462:377::-;;13622:67;13686:2;13681:3;13622:67;:::i;:::-;13722:34;13702:55;;-1:-1;;;13786:2;13777:12;;13770:32;13830:2;13821:12;;13608:231;-1:-1;;13608:231::o;13848:372::-;;14008:67;14072:2;14067:3;14008:67;:::i;:::-;14108:34;14088:55;;-1:-1;;;14172:2;14163:12;;14156:27;14211:2;14202:12;;13994:226;-1:-1;;13994:226::o;14229:332::-;;14389:67;14453:2;14448:3;14389:67;:::i;:::-;14489:34;14469:55;;14552:2;14543:12;;14375:186;-1:-1;;14375:186::o;14569:113::-;14652:24;14670:5;14652:24;:::i;14689:222::-;14816:2;14801:18;;14830:71;14805:9;14874:6;14830:71;:::i;14918:333::-;15073:2;15058:18;;15087:71;15062:9;15131:6;15087:71;:::i;:::-;15169:72;15237:2;15226:9;15222:18;15213:6;15169:72;:::i;15258:774::-;15526:3;15511:19;;15541:71;15515:9;15585:6;15541:71;:::i;:::-;15623:72;15691:2;15680:9;15676:18;15667:6;15623:72;:::i;:::-;15706:83;15785:2;15774:9;15770:18;15761:6;15706:83;:::i;:::-;15837:9;15831:4;15827:20;15822:2;15811:9;15807:18;15800:48;15862:76;15933:4;15924:6;15862:76;:::i;:::-;15854:84;;15949:73;16017:3;16006:9;16002:19;15993:6;15949:73;:::i;16039:444::-;16222:2;16207:18;;16236:71;16211:9;16280:6;16236:71;:::i;:::-;16318:72;16386:2;16375:9;16371:18;16362:6;16318:72;:::i;:::-;16401;16469:2;16458:9;16454:18;16445:6;16401:72;:::i;16490:417::-;16663:2;16648:18;;16677:71;16652:9;16721:6;16677:71;:::i;:::-;16796:9;16790:4;16786:20;16781:2;16770:9;16766:18;16759:48;16821:76;16892:4;16883:6;16821:76;:::i;16914:333::-;17069:2;17054:18;;17083:71;17058:9;17127:6;17083:71;:::i;:::-;17165:72;17233:2;17222:9;17218:18;17209:6;17165:72;:::i;17254:370::-;17431:2;17445:47;;;17416:18;;17506:108;17416:18;17600:6;17506:108;:::i;17631:306::-;17776:2;17790:47;;;17761:18;;17851:76;17761:18;17913:6;17851:76;:::i;17944:244::-;18082:2;18067:18;;18096:82;18071:9;18151:6;18096:82;:::i;18195:447::-;18383:2;18368:18;;18397:86;18372:9;18456:6;18397:86;:::i;18649:416::-;18849:2;18863:47;;;18834:18;;18924:131;18834:18;18924:131;:::i;19072:416::-;19272:2;19286:47;;;19257:18;;19347:131;19257:18;19347:131;:::i;19495:416::-;19695:2;19709:47;;;19680:18;;19770:131;19680:18;19770:131;:::i;19918:416::-;20118:2;20132:47;;;20103:18;;20193:131;20103:18;20193:131;:::i;20341:416::-;20541:2;20555:47;;;20526:18;;20616:131;20526:18;20616:131;:::i;20764:416::-;20964:2;20978:47;;;20949:18;;21039:131;20949:18;21039:131;:::i;21187:416::-;21387:2;21401:47;;;21372:18;;21462:131;21372:18;21462:131;:::i;21610:416::-;21810:2;21824:47;;;21795:18;;21885:131;21795:18;21885:131;:::i;22033:222::-;22160:2;22145:18;;22174:71;22149:9;22218:6;22174:71;:::i;22262:256::-;22324:2;22318:9;22350:17;;;22425:18;22410:34;;22446:22;;;22407:62;22404:2;;;22482:1;22479;22472:12;22404:2;22498;22491:22;22302:216;;-1:-1;22302:216::o;22525:304::-;;22684:18;22676:6;22673:30;22670:2;;;22716:1;22713;22706:12;22670:2;-1:-1;22751:4;22739:17;;;22804:15;;22607:222::o;23156:321::-;;23299:18;23291:6;23288:30;23285:2;;;23331:1;23328;23321:12;23285:2;-1:-1;23462:4;23398;23375:17;;;;-1:-1;;23371:33;23452:15;;23222:255::o;23484:151::-;23608:4;23599:14;;23556:79::o;23642:137::-;23745:12;;23716:63::o;24030:178::-;24148:19;;;24197:4;24188:14;;24141:67::o;24559:91::-;;24621:24;24639:5;24621:24;:::i;24657:85::-;24723:13;24716:21;;24699:43::o;24749:132::-;24824:5;24830:46;24824:5;24830:46;:::i;24888:140::-;24967:5;24973:50;24967:5;24973:50;:::i;25035:121::-;-1:-1;;;;;25097:54;;25080:76::o;25163:72::-;25225:5;25208:27::o;25242:132::-;;25332:37;25363:5;25332:37;:::i;25381:140::-;;25475:41;25510:5;25475:41;:::i;25529:145::-;25610:6;25605:3;25600;25587:30;-1:-1;25666:1;25648:16;;25641:27;25580:94::o;25683:268::-;25748:1;25755:101;25769:6;25766:1;25763:13;25755:101;;;25836:11;;;25830:18;25817:11;;;25810:39;25791:2;25784:10;25755:101;;;25871:6;25868:1;25865:13;25862:2;;;-1:-1;;25936:1;25918:16;;25911:27;25732:219::o;25959:97::-;26047:2;26027:14;-1:-1;;26023:28;;26007:49::o;26064:104::-;26146:1;26139:5;26136:12;26126:2;;26152:9;26126:2;26120:48;:::o;26175:109::-;26261:2;26254:5;26251:13;26241:2;;26268:9;26291:117;26360:24;26378:5;26360:24;:::i;:::-;26353:5;26350:35;26340:2;;26399:1;26396;26389:12;26415:111;26481:21;26496:5;26481:21;:::i;26533:107::-;26615:1;26608:5;26605:12;26595:2;;26631:1;26628;26621:12;26647:114;26736:1;26729:5;26726:12;26716:2;;26752:1;26749;26742:12;26768:117;26837:24;26855:5;26837:24;:::i", - "linkReferences": {}, - "immutableReferences": { - "78707": [ - { - "start": 803, - "length": 32 - }, - { - "start": 953, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "activateForFund(bool)": "80d57063", - "deactivateForFund()": "bd8e959a", - "getEnabledFeesForFund(address)": "a9f3b42f", - "getFeeSharesOutstandingForFund(address,address)": "aa051c2c", - "getFundDeployer()": "97c0ac87", - "getOwner()": "893d20e8", - "getVaultProxyForFund(address)": "46790346", - "invokeHook(uint8,bytes,uint256)": "7759c164", - "receiveCallFromComptroller(address,uint256,bytes)": "1bee801e", - "setConfigForFund(address,address,bytes)": "f067cc11" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_fundDeployer\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"fee\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"settingsData\",\"type\":\"bytes\"}],\"name\":\"FeeEnabledForFund\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"fee\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"enum IFeeManager.SettlementType\",\"name\":\"settlementType\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"payer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"payee\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"sharesDue\",\"type\":\"uint256\"}],\"name\":\"FeeSettledForFund\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"fee\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"payee\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"sharesDue\",\"type\":\"uint256\"}],\"name\":\"SharesOutstandingPaidForFund\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"vaultProxy\",\"type\":\"address\"}],\"name\":\"ValidatedVaultProxySetForFund\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"name\":\"activateForFund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"deactivateForFund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"}],\"name\":\"getEnabledFeesForFund\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"enabledFees_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_fee\",\"type\":\"address\"}],\"name\":\"getFeeSharesOutstandingForFund\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"sharesOutstanding_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFundDeployer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"fundDeployer_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"}],\"name\":\"getVaultProxyForFund\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"vaultProxy_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IFeeManager.FeeHook\",\"name\":\"_hook\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"_settlementData\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"_gav\",\"type\":\"uint256\"}],\"name\":\"invokeHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_actionId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_callArgs\",\"type\":\"bytes\"}],\"name\":\"receiveCallFromComptroller\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_configData\",\"type\":\"bytes\"}],\"name\":\"setConfigForFund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"Any arbitrary fee is allowed by default, so all participants must be aware of their fund's configuration, especially whether they use official fees only. Fees can only be added upon fund setup, migration, or reconfiguration.\",\"kind\":\"dev\",\"methods\":{\"deactivateForFund()\":{\"details\":\"There will be no fees if the caller is not a valid ComptrollerProxy\"},\"getEnabledFeesForFund(address)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\"},\"returns\":{\"enabledFees_\":\"An array of enabled fee addresses\"}},\"getFeeSharesOutstandingForFund(address,address)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\",\"_fee\":\"The fee address\"},\"returns\":{\"sharesOutstanding_\":\"The amount of shares outstanding\"}},\"getFundDeployer()\":{\"returns\":{\"fundDeployer_\":\"The `FUND_DEPLOYER` variable value\"}},\"getOwner()\":{\"details\":\"Ownership is deferred to the owner of the FundDeployer contract\",\"returns\":{\"owner_\":\"The owner\"}},\"getVaultProxyForFund(address)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\"},\"returns\":{\"vaultProxy_\":\"The VaultProxy of the fund\"}},\"invokeHook(uint8,bytes,uint256)\":{\"params\":{\"_gav\":\"The GAV for a fund if known in the invocating code, otherwise 0\",\"_hook\":\"The FeeHook to invoke\",\"_settlementData\":\"The encoded settlement parameters specific to the FeeHook\"}},\"receiveCallFromComptroller(address,uint256,bytes)\":{\"details\":\"This is the only way to call a function on this contract that updates VaultProxy state. For both of these actions, any caller is allowed, so we don't use the caller param.\",\"params\":{\"_actionId\":\"An ID representing the desired action\",\"_callArgs\":\"Encoded arguments specific to the _actionId\"}},\"setConfigForFund(address,address,bytes)\":{\"details\":\"The order of `fees` determines the order in which fees of the same FeeHook will be applied. It is recommended to run ManagementFee before PerformanceFee in order to achieve precise PerformanceFee calcs.\",\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\",\"_configData\":\"Encoded config data\",\"_vaultProxy\":\"The VaultProxy of the fund\"}}},\"title\":\"FeeManager Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"activateForFund(bool)\":{\"notice\":\"Activate already-configured fees for use in the calling fund\"},\"deactivateForFund()\":{\"notice\":\"Deactivate fees for a fund\"},\"getEnabledFeesForFund(address)\":{\"notice\":\"Get a list of enabled fees for a given fund\"},\"getFeeSharesOutstandingForFund(address,address)\":{\"notice\":\"Get the amount of shares outstanding for a particular fee for a fund\"},\"getFundDeployer()\":{\"notice\":\"Gets the `FUND_DEPLOYER` variable\"},\"getOwner()\":{\"notice\":\"Gets the owner of this contract\"},\"getVaultProxyForFund(address)\":{\"notice\":\"Gets the verified VaultProxy for a given ComptrollerProxy\"},\"invokeHook(uint8,bytes,uint256)\":{\"notice\":\"Allows all fees for a particular FeeHook to implement settle() and update() logic\"},\"receiveCallFromComptroller(address,uint256,bytes)\":{\"notice\":\"Receives a dispatched `callOnExtension` from a fund's ComptrollerProxy\"},\"setConfigForFund(address,address,bytes)\":{\"notice\":\"Enable and configure fees for use in the calling fund\"}},\"notice\":\"Manages fees for funds\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/fee-manager/FeeManager.sol\":\"FeeManager\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/vault/interfaces/IExternalPositionVault.sol\":{\"keccak256\":\"0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d\",\"dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8\"]},\"contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol\":{\"keccak256\":\"0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb\",\"dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU\"]},\"contracts/persistent/vault/interfaces/IMigratableVault.sol\":{\"keccak256\":\"0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6\",\"dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs\"]},\"contracts/persistent/vault/interfaces/IVaultCore.sol\":{\"keccak256\":\"0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd\",\"dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr\"]},\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/core/fund/comptroller/IComptroller.sol\":{\"keccak256\":\"0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97\",\"dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L\"]},\"contracts/release/core/fund/vault/IVault.sol\":{\"keccak256\":\"0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599\",\"dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG\"]},\"contracts/release/extensions/IExtension.sol\":{\"keccak256\":\"0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70\",\"dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t\"]},\"contracts/release/extensions/fee-manager/FeeManager.sol\":{\"keccak256\":\"0xf3a3e504ca755cafda78f204d1e8005b6808854be0b5b19d17d9971ec49369a9\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3b82ffb3926983b4c60ddf8cd80b14d4ae548ea9b6f9ebf87f3fe70ffa5a89b9\",\"dweb:/ipfs/QmfJE4i4ZTDWhPwwKQSfjfWYQ62BsDs3FrxavjmLFe3HzB\"]},\"contracts/release/extensions/fee-manager/IFee.sol\":{\"keccak256\":\"0x38e3f324c67f3205e38197165586ea82ca226069902f34214bcde76cf905fcff\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c1fff656d1bdde3324421bc9e77cbfc4e80baf4e665f8713fdb65611b046f4b0\",\"dweb:/ipfs/QmVRFjNwmsVHdh4sp3DWdL74VWmhRhPZE5kDxJiuPL8Gu2\"]},\"contracts/release/extensions/fee-manager/IFeeManager.sol\":{\"keccak256\":\"0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22\",\"dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod\"]},\"contracts/release/extensions/utils/ExtensionBase.sol\":{\"keccak256\":\"0xae68767766f6459bd2cd9dbd39df74f2c2f68f2150885bbce410e4091c807bb1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ce4c49522a39f618cc76feb474260fe910949f38e83b5f4518f1f245ba6eb876\",\"dweb:/ipfs/QmZ4wciRpziZAS4HRQy44Sgzm4GM4Wzme9zYnABzR6Cbzo\"]},\"contracts/release/extensions/utils/PermissionedVaultActionMixin.sol\":{\"keccak256\":\"0x77ddb9299d9c5f1538c20ae1543c20ef73db11ad7d9a9b817d26969ab233bb57\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://77812616256a092e0fd77469dcd2a2e098a1cf52686eeb6703a169efa64c27df\",\"dweb:/ipfs/QmbRPZznXSX3aA2VVJNpRqFXdJZebVDcDuY8EnF75Z7GpB\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/FundDeployerOwnerMixin.sol\":{\"keccak256\":\"0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927\",\"dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_fundDeployer", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "comptrollerProxy", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "fee", - "type": "address", - "indexed": true - }, - { - "internalType": "bytes", - "name": "settingsData", - "type": "bytes", - "indexed": false - } - ], - "type": "event", - "name": "FeeEnabledForFund", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "comptrollerProxy", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "fee", - "type": "address", - "indexed": true - }, - { - "internalType": "enum IFeeManager.SettlementType", - "name": "settlementType", - "type": "uint8", - "indexed": true - }, - { - "internalType": "address", - "name": "payer", - "type": "address", - "indexed": false - }, - { - "internalType": "address", - "name": "payee", - "type": "address", - "indexed": false - }, - { - "internalType": "uint256", - "name": "sharesDue", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "FeeSettledForFund", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "comptrollerProxy", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "fee", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "payee", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "sharesDue", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "SharesOutstandingPaidForFund", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "comptrollerProxy", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "vaultProxy", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "ValidatedVaultProxySetForFund", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "activateForFund" - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "deactivateForFund" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getEnabledFeesForFund", - "outputs": [ - { - "internalType": "address[]", - "name": "enabledFees_", - "type": "address[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_fee", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getFeeSharesOutstandingForFund", - "outputs": [ - { - "internalType": "uint256", - "name": "sharesOutstanding_", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getFundDeployer", - "outputs": [ - { - "internalType": "address", - "name": "fundDeployer_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "owner_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getVaultProxyForFund", - "outputs": [ - { - "internalType": "address", - "name": "vaultProxy_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "enum IFeeManager.FeeHook", - "name": "_hook", - "type": "uint8" - }, - { - "internalType": "bytes", - "name": "_settlementData", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "_gav", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "invokeHook" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_actionId", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_callArgs", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "receiveCallFromComptroller" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_configData", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setConfigForFund" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "deactivateForFund()": { - "details": "There will be no fees if the caller is not a valid ComptrollerProxy" - }, - "getEnabledFeesForFund(address)": { - "params": { - "_comptrollerProxy": "The ComptrollerProxy of the fund" - }, - "returns": { - "enabledFees_": "An array of enabled fee addresses" - } - }, - "getFeeSharesOutstandingForFund(address,address)": { - "params": { - "_comptrollerProxy": "The ComptrollerProxy of the fund", - "_fee": "The fee address" - }, - "returns": { - "sharesOutstanding_": "The amount of shares outstanding" - } - }, - "getFundDeployer()": { - "returns": { - "fundDeployer_": "The `FUND_DEPLOYER` variable value" - } - }, - "getOwner()": { - "details": "Ownership is deferred to the owner of the FundDeployer contract", - "returns": { - "owner_": "The owner" - } - }, - "getVaultProxyForFund(address)": { - "params": { - "_comptrollerProxy": "The ComptrollerProxy of the fund" - }, - "returns": { - "vaultProxy_": "The VaultProxy of the fund" - } - }, - "invokeHook(uint8,bytes,uint256)": { - "params": { - "_gav": "The GAV for a fund if known in the invocating code, otherwise 0", - "_hook": "The FeeHook to invoke", - "_settlementData": "The encoded settlement parameters specific to the FeeHook" - } - }, - "receiveCallFromComptroller(address,uint256,bytes)": { - "details": "This is the only way to call a function on this contract that updates VaultProxy state. For both of these actions, any caller is allowed, so we don't use the caller param.", - "params": { - "_actionId": "An ID representing the desired action", - "_callArgs": "Encoded arguments specific to the _actionId" - } - }, - "setConfigForFund(address,address,bytes)": { - "details": "The order of `fees` determines the order in which fees of the same FeeHook will be applied. It is recommended to run ManagementFee before PerformanceFee in order to achieve precise PerformanceFee calcs.", - "params": { - "_comptrollerProxy": "The ComptrollerProxy of the fund", - "_configData": "Encoded config data", - "_vaultProxy": "The VaultProxy of the fund" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "activateForFund(bool)": { - "notice": "Activate already-configured fees for use in the calling fund" - }, - "deactivateForFund()": { - "notice": "Deactivate fees for a fund" - }, - "getEnabledFeesForFund(address)": { - "notice": "Get a list of enabled fees for a given fund" - }, - "getFeeSharesOutstandingForFund(address,address)": { - "notice": "Get the amount of shares outstanding for a particular fee for a fund" - }, - "getFundDeployer()": { - "notice": "Gets the `FUND_DEPLOYER` variable" - }, - "getOwner()": { - "notice": "Gets the owner of this contract" - }, - "getVaultProxyForFund(address)": { - "notice": "Gets the verified VaultProxy for a given ComptrollerProxy" - }, - "invokeHook(uint8,bytes,uint256)": { - "notice": "Allows all fees for a particular FeeHook to implement settle() and update() logic" - }, - "receiveCallFromComptroller(address,uint256,bytes)": { - "notice": "Receives a dispatched `callOnExtension` from a fund's ComptrollerProxy" - }, - "setConfigForFund(address,address,bytes)": { - "notice": "Enable and configure fees for use in the calling fund" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/fee-manager/FeeManager.sol": "FeeManager" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/vault/interfaces/IExternalPositionVault.sol": { - "keccak256": "0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6", - "urls": [ - "bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d", - "dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol": { - "keccak256": "0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0", - "urls": [ - "bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb", - "dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IMigratableVault.sol": { - "keccak256": "0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238", - "urls": [ - "bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6", - "dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IVaultCore.sol": { - "keccak256": "0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80", - "urls": [ - "bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd", - "dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund-deployer/IFundDeployer.sol": { - "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", - "urls": [ - "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", - "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/comptroller/IComptroller.sol": { - "keccak256": "0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f", - "urls": [ - "bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97", - "dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/vault/IVault.sol": { - "keccak256": "0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd", - "urls": [ - "bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599", - "dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/IExtension.sol": { - "keccak256": "0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b", - "urls": [ - "bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70", - "dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/fee-manager/FeeManager.sol": { - "keccak256": "0xf3a3e504ca755cafda78f204d1e8005b6808854be0b5b19d17d9971ec49369a9", - "urls": [ - "bzz-raw://3b82ffb3926983b4c60ddf8cd80b14d4ae548ea9b6f9ebf87f3fe70ffa5a89b9", - "dweb:/ipfs/QmfJE4i4ZTDWhPwwKQSfjfWYQ62BsDs3FrxavjmLFe3HzB" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/fee-manager/IFee.sol": { - "keccak256": "0x38e3f324c67f3205e38197165586ea82ca226069902f34214bcde76cf905fcff", - "urls": [ - "bzz-raw://c1fff656d1bdde3324421bc9e77cbfc4e80baf4e665f8713fdb65611b046f4b0", - "dweb:/ipfs/QmVRFjNwmsVHdh4sp3DWdL74VWmhRhPZE5kDxJiuPL8Gu2" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/fee-manager/IFeeManager.sol": { - "keccak256": "0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51", - "urls": [ - "bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22", - "dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/utils/ExtensionBase.sol": { - "keccak256": "0xae68767766f6459bd2cd9dbd39df74f2c2f68f2150885bbce410e4091c807bb1", - "urls": [ - "bzz-raw://ce4c49522a39f618cc76feb474260fe910949f38e83b5f4518f1f245ba6eb876", - "dweb:/ipfs/QmZ4wciRpziZAS4HRQy44Sgzm4GM4Wzme9zYnABzR6Cbzo" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/utils/PermissionedVaultActionMixin.sol": { - "keccak256": "0x77ddb9299d9c5f1538c20ae1543c20ef73db11ad7d9a9b817d26969ab233bb57", - "urls": [ - "bzz-raw://77812616256a092e0fd77469dcd2a2e098a1cf52686eeb6703a169efa64c27df", - "dweb:/ipfs/QmbRPZznXSX3aA2VVJNpRqFXdJZebVDcDuY8EnF75Z7GpB" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AddressArrayLib.sol": { - "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", - "urls": [ - "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", - "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/FundDeployerOwnerMixin.sol": { - "keccak256": "0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934", - "urls": [ - "bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927", - "dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 142 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_fundDeployer", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "activateForFund", "inputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "deactivateForFund", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "getEnabledFeesForFund", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "enabledFees_", "type": "address[]", "internalType": "address[]" } ], "stateMutability": "view" }, { "type": "function", "name": "getFeeSharesOutstandingForFund", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" }, { "name": "_fee", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "sharesOutstanding_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "getFundDeployer", "inputs": [], "outputs": [ { "name": "fundDeployer_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getOwner", "inputs": [], "outputs": [ { "name": "owner_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getVaultProxyForFund", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "vaultProxy_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "invokeHook", "inputs": [ { "name": "_hook", "type": "uint8", "internalType": "enum IFeeManager.FeeHook" }, { "name": "_settlementData", "type": "bytes", "internalType": "bytes" }, { "name": "_gav", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "receiveCallFromComptroller", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "_actionId", "type": "uint256", "internalType": "uint256" }, { "name": "_callArgs", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setConfigForFund", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" }, { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_configData", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "event", "name": "FeeEnabledForFund", "inputs": [ { "name": "comptrollerProxy", "type": "address", "indexed": true, "internalType": "address" }, { "name": "fee", "type": "address", "indexed": true, "internalType": "address" }, { "name": "settingsData", "type": "bytes", "indexed": false, "internalType": "bytes" } ], "anonymous": false }, { "type": "event", "name": "FeeSettledForFund", "inputs": [ { "name": "comptrollerProxy", "type": "address", "indexed": true, "internalType": "address" }, { "name": "fee", "type": "address", "indexed": true, "internalType": "address" }, { "name": "settlementType", "type": "uint8", "indexed": true, "internalType": "enum IFeeManager.SettlementType" }, { "name": "payer", "type": "address", "indexed": false, "internalType": "address" }, { "name": "payee", "type": "address", "indexed": false, "internalType": "address" }, { "name": "sharesDue", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "SharesOutstandingPaidForFund", "inputs": [ { "name": "comptrollerProxy", "type": "address", "indexed": true, "internalType": "address" }, { "name": "fee", "type": "address", "indexed": true, "internalType": "address" }, { "name": "payee", "type": "address", "indexed": true, "internalType": "address" }, { "name": "sharesDue", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "ValidatedVaultProxySetForFund", "inputs": [ { "name": "comptrollerProxy", "type": "address", "indexed": true, "internalType": "address" }, { "name": "vaultProxy", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false } ], "bytecode": { "object": "0x60a06040523480156200001157600080fd5b5060405162001dd938038062001dd983398101604081905262000034916200005d565b60601b6001600160601b031916608052620000b2565b8051620000578162000098565b92915050565b6000602082840312156200007057600080fd5b60006200007e84846200004a565b949350505050565b60006001600160a01b03821662000057565b620000a38162000086565b8114620000af57600080fd5b50565b60805160601c611d04620000d56000398061032352806103b95250611d046000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c806397c0ac871161006657806397c0ac871461010f578063a9f3b42f14610117578063aa051c2c14610137578063bd8e959a14610157578063f067cc111461015f5761009e565b80631bee801e146100a357806346790346146100b85780637759c164146100e157806380d57063146100f4578063893d20e814610107575b600080fd5b6100b66100b13660046114e0565b610172565b005b6100cb6100c63660046113fa565b61020b565b6040516100d891906119f1565b60405180910390f35b6100b66100ef366004611613565b61022c565b6100b66101023660046115a7565b610272565b6100cb61031f565b6100cb6103b7565b61012a6101253660046113fa565b6103db565b6040516100d89190611ac6565b61014a61014536600461143e565b610451565b6040516100d89190611b84565b6100b661047e565b6100b661016d366004611478565b6104cb565b8261019b5761019633600060405180602001604052806000815250600060016106dd565b610205565b82600114156101e4576101963383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061075d92505050565b60405162461bcd60e51b81526004016101fc90611b14565b60405180910390fd5b50505050565b6001600160a01b03808216600090815260208190526040902054165b919050565b610205338585858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250879250600191506106dd9050565b33600061027e8261020b565b9050606061028b836103db565b905060005b8151811015610318578181815181106102a557fe5b60200260200101516001600160a01b0316633146d05885856040518363ffffffff1660e01b81526004016102da9291906119ff565b600060405180830381600087803b1580156102f457600080fd5b505af1158015610308573d6000803e3d6000fd5b5050600190920191506102909050565b5050505050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561037a57600080fd5b505afa15801561038e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103b29190611420565b905090565b7f000000000000000000000000000000000000000000000000000000000000000090565b6001600160a01b03811660009081526001602090815260409182902080548351818402810184019094528084526060939283018282801561044557602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610427575b50505050509050919050565b6001600160a01b038083166000908152600260209081526040808320938516835292905220545b92915050565b33600061048a8261020b565b90506060610497836103db565b905060005b8151811015610205576104c384848484815181106104b657fe5b602002602001015161083f565b60010161049c565b6104d36103b7565b6001600160a01b0316336001600160a01b0316146105035760405162461bcd60e51b81526004016101fc90611b54565b61050d84846108f8565b60608061051c83850185611548565b9150915080518251146105415760405162461bcd60e51b81526004016101fc90611b34565b61054a8261094f565b6105665760405162461bcd60e51b81526004016101fc90611b44565b60005b82518110156106d45782818151811061057e57fe5b60200260200101516001600160a01b0316630f5f6b4f888484815181106105a157fe5b60200260200101516040518363ffffffff1660e01b81526004016105c6929190611a8b565b600060405180830381600087803b1580156105e057600080fd5b505af11580156105f4573d6000803e3d6000fd5b505050506001600160a01b0387166000908152600160205260409020835184908390811061061e57fe5b60209081029190910181015182546001810184556000938452919092200180546001600160a01b0319166001600160a01b03909216919091179055825183908290811061066757fe5b60200260200101516001600160a01b0316876001600160a01b03167f62b7814f137868e44c7a83c2b0a340fc5dacef8f3e748867d0f5f879fc0ef6da8484815181106106af57fe5b60200260200101516040516106c49190611ad7565b60405180910390a3600101610569565b50505050505050565b60606106e8866103db565b90508051600014156106fa5750610318565b60006107058761020b565b90506001600160a01b03811661072d5760405162461bcd60e51b81526004016101fc90611b74565b600061073d8883858a8a8a6109e3565b90508315610753576107538883858a8a86610adc565b5050505050505050565b6060818060200190518101906107739190611513565b905060006107803361020b565b905060005b82518110156103185782818151811061079a57fe5b60200260200101516001600160a01b031663b78b481386846040518363ffffffff1660e01b81526004016107cf9291906119ff565b602060405180830381600087803b1580156107e957600080fd5b505af11580156107fd573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061082191906115c5565b156108375761083785838584815181106104b657fe5b600101610785565b600061084b8483610451565b90508061085857506108f3565b6001600160a01b038085166000908152600260209081526040808320938616835292905290812081905561088d858585610c21565b905061089b85858385610d2b565b806001600160a01b0316836001600160a01b0316866001600160a01b03167f4e6eff738a7af3dbd4288f753eb551833c09a82d6c3dfaf07a23c3fcc82a3522856040516108e89190611b84565b60405180910390a450505b505050565b6001600160a01b0382811660008181526020819052604080822080546001600160a01b0319169486169485179055517f8852dcaa71340ea616a65ffac013450dfb238607481fb9d78346c667fe256c139190a35050565b6000600182511161096257506001610227565b815160005b818110156109d957600181015b828110156109d05784818151811061098857fe5b60200260200101516001600160a01b03168583815181106109a557fe5b60200260200101516001600160a01b031614156109c85760009350505050610227565b600101610974565b50600101610967565b5060019392505050565b8060005b8551811015610ad0576000808783815181106109ff57fe5b60200260200101516001600160a01b031663320f0ddd886040518263ffffffff1660e01b8152600401610a329190611ae8565b604080518083038186803b158015610a4957600080fd5b505afa158015610a5d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a8191906115e3565b9150915081610a91575050610ac8565b8015610aa457610aa18a85610dab565b93505b610ac58a8a8a8681518110610ab557fe5b60200260200101518a8a89610e33565b50505b6001016109e7565b505b9695505050505050565b8060005b855181101561075357600080878381518110610af857fe5b60200260200101516001600160a01b031663e337a91f886040518263ffffffff1660e01b8152600401610b2b9190611ae8565b604080518083038186803b158015610b4257600080fd5b505afa158015610b56573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b7a91906115e3565b9150915081610b8a575050610c19565b8015610b9d57610b9a8a85610dab565b93505b878381518110610ba957fe5b60200260200101516001600160a01b031663233faf5f8b8b8a8a896040518663ffffffff1660e01b8152600401610be4959493929190611a1a565b600060405180830381600087803b158015610bfe57600080fd5b505af1158015610c12573d6000803e3d6000fd5b5050505050505b600101610ae0565b60405163189e02cf60e21b81526000906001600160a01b038316906362780b3c90610c509087906004016119f1565b60206040518083038186803b158015610c6857600080fd5b505afa158015610c7c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ca09190611420565b90506001600160a01b038116610d2457826001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b158015610ce957600080fd5b505afa158015610cfd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d219190611420565b90505b9392505050565b836001600160a01b03166310acd06d6003858585604051602001610d5193929190611a63565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401610d7d929190611af6565b600060405180830381600087803b158015610d9757600080fd5b505af1158015610753573d6000803e3d6000fd5b600081610e2c57826001600160a01b03166356cff99f6040518163ffffffff1660e01b8152600401602060405180830381600087803b158015610ded57600080fd5b505af1158015610e01573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e2591906116ca565b9050610478565b5080610478565b6000806000866001600160a01b03166341892d7e8a8a8989896040518663ffffffff1660e01b8152600401610e6c959493929190611a1a565b606060405180830381600087803b158015610e8657600080fd5b505af1158015610e9a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ebe919061167d565b919450925090506000836005811115610ed357fe5b1415610ee1575050506110c7565b60006001846005811115610ef157fe5b1415610f1557610f028a8a8a610c21565b9050610f108a848385610d2b565b611067565b6002846005811115610f2357fe5b1415610f4157610f348a8a8a610c21565b9050610f108a82846110cf565b6003846005811115610f4f57fe5b1415610f6057610f108a848461114d565b6004846005811115610f6e57fe5b1415610fd7576001600160a01b03808b166000908152600260209081526040808320938c1683529290522054610fa49083611171565b6001600160a01b03808c166000908152600260209081526040808320938d16835292905220555087610f108a82846110cf565b6005846005811115610fe557fe5b141561104f576001600160a01b03808b166000908152600260209081526040808320938c168352929052205461101b9083611196565b6001600160a01b03808c166000908152600260209081526040808320938d1683529290522055889250610f108a848461114d565b60405162461bcd60e51b81526004016101fc90611b64565b83600581111561107357fe5b886001600160a01b03168b6001600160a01b03167fef7da7c40d1fc52df907f6fed0e539680d5fb491c3b8f94db234a360dafe1d628685876040516110ba93929190611a63565b60405180910390a4505050505b505050505050565b826001600160a01b03166310acd06d600284846040516020016110f3929190611aab565b6040516020818303038152906040526040518363ffffffff1660e01b815260040161111f929190611af6565b600060405180830381600087803b15801561113957600080fd5b505af11580156106d4573d6000803e3d6000fd5b826001600160a01b03166310acd06d600184846040516020016110f3929190611aab565b600082820183811015610d245760405162461bcd60e51b81526004016101fc90611b04565b6000828211156111b85760405162461bcd60e51b81526004016101fc90611b24565b50900390565b803561047881611cb7565b805161047881611cb7565b600082601f8301126111e557600080fd5b81356111f86111f382611bb9565b611b92565b9150818183526020840193506020810190508385602084028201111561121d57600080fd5b60005b83811015611249578161123388826111be565b8452506020928301929190910190600101611220565b5050505092915050565b600082601f83011261126457600080fd5b81516112726111f382611bb9565b9150818183526020840193506020810190508385602084028201111561129757600080fd5b60005b8381101561124957816112ad88826111c9565b845250602092830192919091019060010161129a565b600082601f8301126112d457600080fd5b81356112e26111f382611bb9565b81815260209384019390925082018360005b83811015611249578135860161130a888261137f565b84525060209283019291909101906001016112f4565b803561047881611ccb565b805161047881611ccb565b60008083601f84011261134857600080fd5b50813567ffffffffffffffff81111561136057600080fd5b60208301915083600182028301111561137857600080fd5b9250929050565b600082601f83011261139057600080fd5b813561139e6111f382611bda565b915080825260208301602083018583830111156113ba57600080fd5b6113c5838284611c5e565b50505092915050565b803561047881611cd4565b805161047881611ce1565b803561047881611cee565b805161047881611cee565b60006020828403121561140c57600080fd5b600061141884846111be565b949350505050565b60006020828403121561143257600080fd5b600061141884846111c9565b6000806040838503121561145157600080fd5b600061145d85856111be565b925050602061146e858286016111be565b9150509250929050565b6000806000806060858703121561148e57600080fd5b600061149a87876111be565b94505060206114ab878288016111be565b935050604085013567ffffffffffffffff8111156114c857600080fd5b6114d487828801611336565b95989497509550505050565b600080600080606085870312156114f657600080fd5b600061150287876111be565b94505060206114ab878288016113e4565b60006020828403121561152557600080fd5b815167ffffffffffffffff81111561153c57600080fd5b61141884828501611253565b6000806040838503121561155b57600080fd5b823567ffffffffffffffff81111561157257600080fd5b61157e858286016111d4565b925050602083013567ffffffffffffffff81111561159b57600080fd5b61146e858286016112c3565b6000602082840312156115b957600080fd5b60006114188484611320565b6000602082840312156115d757600080fd5b6000611418848461132b565b600080604083850312156115f657600080fd5b6000611602858561132b565b925050602061146e8582860161132b565b6000806000806060858703121561162957600080fd5b600061163587876113ce565b945050602085013567ffffffffffffffff81111561165257600080fd5b61165e87828801611336565b93509350506040611671878288016113e4565b91505092959194509250565b60008060006060848603121561169257600080fd5b600061169e86866113d9565b93505060206116af868287016111c9565b92505060406116c0868287016113ef565b9150509250925092565b6000602082840312156116dc57600080fd5b600061141884846113ef565b60006116f483836116fc565b505060200190565b61170581611c15565b82525050565b600061171682611c08565b6117208185611c0c565b935061172b83611c02565b8060005b8381101561175957815161174388826116e8565b975061174e83611c02565b92505060010161172f565b509495945050505050565b600061176f82611c08565b6117798185611c0c565b9350611789818560208601611c6a565b61179281611c96565b9093019392505050565b61170581611c48565b61170581611c53565b60006117bb601b83611c0c565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b60006117f4602d83611c0c565b7f7265636569766543616c6c46726f6d436f6d7074726f6c6c65723a20496e766181526c1b1a590817d858dd1a5bdb9259609a1b602082015260400192915050565b6000611843601e83611c0c565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b600061187c603d83611c0c565b7f736574436f6e666967466f7246756e643a206665657320616e6420736574746981527f6e677344617461206172726179206c656e6774687320756e657175616c000000602082015260400192915050565b60006118db603083611c0c565b7f736574436f6e666967466f7246756e643a20666565732063616e6e6f7420696e81526f636c756465206475706c69636174657360801b602082015260400192915050565b600061192d602883611c0c565b7f4f6e6c79207468652046756e644465706c6f7965722063616e206d616b6520748152671a1a5cc818d85b1b60c21b602082015260400192915050565b6000611977602383611c0c565b7f5f5f736574746c654665653a20496e76616c696420536574746c656d656e745481526279706560e81b602082015260400192915050565b60006119bc602083611c0c565b7f5f5f696e766f6b65486f6f6b3a2046756e64206973206e6f7420616374697665815260200192915050565b61170581611c45565b6020810161047882846116fc565b60408101611a0d82856116fc565b610d2460208301846116fc565b60a08101611a2882886116fc565b611a3560208301876116fc565b611a42604083018661179c565b8181036060830152611a548185611764565b9050610ad260808301846119e8565b60608101611a7182866116fc565b611a7e60208301856116fc565b61141860408301846119e8565b60408101611a9982856116fc565b8181036020830152610d218184611764565b60408101611ab982856116fc565b610d2460208301846119e8565b60208082528101610d24818461170b565b60208082528101610d248184611764565b60208101610478828461179c565b60408101611a9982856117a5565b60208082528101610478816117ae565b60208082528101610478816117e7565b6020808252810161047881611836565b602080825281016104788161186f565b60208082528101610478816118ce565b6020808252810161047881611920565b602080825281016104788161196a565b60208082528101610478816119af565b6020810161047882846119e8565b60405181810167ffffffffffffffff81118282101715611bb157600080fd5b604052919050565b600067ffffffffffffffff821115611bd057600080fd5b5060209081020190565b600067ffffffffffffffff821115611bf157600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b600061047882611c39565b151590565b8061022781611ca0565b8061022781611cad565b6001600160a01b031690565b90565b600061047882611c25565b600061047882611c2f565b82818337506000910152565b60005b83811015611c85578181015183820152602001611c6d565b838111156102055750506000910152565b601f01601f191690565b60048110611caa57fe5b50565b600b8110611caa57fe5b611cc081611c15565b8114611caa57600080fd5b611cc081611c20565b60048110611caa57600080fd5b60068110611caa57600080fd5b611cc081611c4556fea164736f6c634300060c000a", "sourceMap": "1006:13641:142:-:0;;;1881:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;864:29:358;;-1:-1:-1;;;;;;864:29:358;;;1006:13641:142;;5:134:-1;83:13;;101:33;83:13;101:33;:::i;:::-;68:71;;;;:::o;146:263::-;;261:2;249:9;240:7;236:23;232:32;229:2;;;277:1;274;267:12;229:2;312:1;329:64;385:7;365:9;329:64;:::i;:::-;319:74;223:186;-1:-1;;;;223:186::o;416:91::-;;-1:-1;;;;;576:54;;478:24;559:76::o;642:117::-;711:24;729:5;711:24;:::i;:::-;704:5;701:35;691:2;;750:1;747;740:12;691:2;685:74;:::o;:::-;1006:13641:142;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b506004361061009e5760003560e01c806397c0ac871161006657806397c0ac871461010f578063a9f3b42f14610117578063aa051c2c14610137578063bd8e959a14610157578063f067cc111461015f5761009e565b80631bee801e146100a357806346790346146100b85780637759c164146100e157806380d57063146100f4578063893d20e814610107575b600080fd5b6100b66100b13660046114e0565b610172565b005b6100cb6100c63660046113fa565b61020b565b6040516100d891906119f1565b60405180910390f35b6100b66100ef366004611613565b61022c565b6100b66101023660046115a7565b610272565b6100cb61031f565b6100cb6103b7565b61012a6101253660046113fa565b6103db565b6040516100d89190611ac6565b61014a61014536600461143e565b610451565b6040516100d89190611b84565b6100b661047e565b6100b661016d366004611478565b6104cb565b8261019b5761019633600060405180602001604052806000815250600060016106dd565b610205565b82600114156101e4576101963383838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061075d92505050565b60405162461bcd60e51b81526004016101fc90611b14565b60405180910390fd5b50505050565b6001600160a01b03808216600090815260208190526040902054165b919050565b610205338585858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250879250600191506106dd9050565b33600061027e8261020b565b9050606061028b836103db565b905060005b8151811015610318578181815181106102a557fe5b60200260200101516001600160a01b0316633146d05885856040518363ffffffff1660e01b81526004016102da9291906119ff565b600060405180830381600087803b1580156102f457600080fd5b505af1158015610308573d6000803e3d6000fd5b5050600190920191506102909050565b5050505050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561037a57600080fd5b505afa15801561038e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103b29190611420565b905090565b7f000000000000000000000000000000000000000000000000000000000000000090565b6001600160a01b03811660009081526001602090815260409182902080548351818402810184019094528084526060939283018282801561044557602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610427575b50505050509050919050565b6001600160a01b038083166000908152600260209081526040808320938516835292905220545b92915050565b33600061048a8261020b565b90506060610497836103db565b905060005b8151811015610205576104c384848484815181106104b657fe5b602002602001015161083f565b60010161049c565b6104d36103b7565b6001600160a01b0316336001600160a01b0316146105035760405162461bcd60e51b81526004016101fc90611b54565b61050d84846108f8565b60608061051c83850185611548565b9150915080518251146105415760405162461bcd60e51b81526004016101fc90611b34565b61054a8261094f565b6105665760405162461bcd60e51b81526004016101fc90611b44565b60005b82518110156106d45782818151811061057e57fe5b60200260200101516001600160a01b0316630f5f6b4f888484815181106105a157fe5b60200260200101516040518363ffffffff1660e01b81526004016105c6929190611a8b565b600060405180830381600087803b1580156105e057600080fd5b505af11580156105f4573d6000803e3d6000fd5b505050506001600160a01b0387166000908152600160205260409020835184908390811061061e57fe5b60209081029190910181015182546001810184556000938452919092200180546001600160a01b0319166001600160a01b03909216919091179055825183908290811061066757fe5b60200260200101516001600160a01b0316876001600160a01b03167f62b7814f137868e44c7a83c2b0a340fc5dacef8f3e748867d0f5f879fc0ef6da8484815181106106af57fe5b60200260200101516040516106c49190611ad7565b60405180910390a3600101610569565b50505050505050565b60606106e8866103db565b90508051600014156106fa5750610318565b60006107058761020b565b90506001600160a01b03811661072d5760405162461bcd60e51b81526004016101fc90611b74565b600061073d8883858a8a8a6109e3565b90508315610753576107538883858a8a86610adc565b5050505050505050565b6060818060200190518101906107739190611513565b905060006107803361020b565b905060005b82518110156103185782818151811061079a57fe5b60200260200101516001600160a01b031663b78b481386846040518363ffffffff1660e01b81526004016107cf9291906119ff565b602060405180830381600087803b1580156107e957600080fd5b505af11580156107fd573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061082191906115c5565b156108375761083785838584815181106104b657fe5b600101610785565b600061084b8483610451565b90508061085857506108f3565b6001600160a01b038085166000908152600260209081526040808320938616835292905290812081905561088d858585610c21565b905061089b85858385610d2b565b806001600160a01b0316836001600160a01b0316866001600160a01b03167f4e6eff738a7af3dbd4288f753eb551833c09a82d6c3dfaf07a23c3fcc82a3522856040516108e89190611b84565b60405180910390a450505b505050565b6001600160a01b0382811660008181526020819052604080822080546001600160a01b0319169486169485179055517f8852dcaa71340ea616a65ffac013450dfb238607481fb9d78346c667fe256c139190a35050565b6000600182511161096257506001610227565b815160005b818110156109d957600181015b828110156109d05784818151811061098857fe5b60200260200101516001600160a01b03168583815181106109a557fe5b60200260200101516001600160a01b031614156109c85760009350505050610227565b600101610974565b50600101610967565b5060019392505050565b8060005b8551811015610ad0576000808783815181106109ff57fe5b60200260200101516001600160a01b031663320f0ddd886040518263ffffffff1660e01b8152600401610a329190611ae8565b604080518083038186803b158015610a4957600080fd5b505afa158015610a5d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a8191906115e3565b9150915081610a91575050610ac8565b8015610aa457610aa18a85610dab565b93505b610ac58a8a8a8681518110610ab557fe5b60200260200101518a8a89610e33565b50505b6001016109e7565b505b9695505050505050565b8060005b855181101561075357600080878381518110610af857fe5b60200260200101516001600160a01b031663e337a91f886040518263ffffffff1660e01b8152600401610b2b9190611ae8565b604080518083038186803b158015610b4257600080fd5b505afa158015610b56573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b7a91906115e3565b9150915081610b8a575050610c19565b8015610b9d57610b9a8a85610dab565b93505b878381518110610ba957fe5b60200260200101516001600160a01b031663233faf5f8b8b8a8a896040518663ffffffff1660e01b8152600401610be4959493929190611a1a565b600060405180830381600087803b158015610bfe57600080fd5b505af1158015610c12573d6000803e3d6000fd5b5050505050505b600101610ae0565b60405163189e02cf60e21b81526000906001600160a01b038316906362780b3c90610c509087906004016119f1565b60206040518083038186803b158015610c6857600080fd5b505afa158015610c7c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ca09190611420565b90506001600160a01b038116610d2457826001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b158015610ce957600080fd5b505afa158015610cfd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d219190611420565b90505b9392505050565b836001600160a01b03166310acd06d6003858585604051602001610d5193929190611a63565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401610d7d929190611af6565b600060405180830381600087803b158015610d9757600080fd5b505af1158015610753573d6000803e3d6000fd5b600081610e2c57826001600160a01b03166356cff99f6040518163ffffffff1660e01b8152600401602060405180830381600087803b158015610ded57600080fd5b505af1158015610e01573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e2591906116ca565b9050610478565b5080610478565b6000806000866001600160a01b03166341892d7e8a8a8989896040518663ffffffff1660e01b8152600401610e6c959493929190611a1a565b606060405180830381600087803b158015610e8657600080fd5b505af1158015610e9a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ebe919061167d565b919450925090506000836005811115610ed357fe5b1415610ee1575050506110c7565b60006001846005811115610ef157fe5b1415610f1557610f028a8a8a610c21565b9050610f108a848385610d2b565b611067565b6002846005811115610f2357fe5b1415610f4157610f348a8a8a610c21565b9050610f108a82846110cf565b6003846005811115610f4f57fe5b1415610f6057610f108a848461114d565b6004846005811115610f6e57fe5b1415610fd7576001600160a01b03808b166000908152600260209081526040808320938c1683529290522054610fa49083611171565b6001600160a01b03808c166000908152600260209081526040808320938d16835292905220555087610f108a82846110cf565b6005846005811115610fe557fe5b141561104f576001600160a01b03808b166000908152600260209081526040808320938c168352929052205461101b9083611196565b6001600160a01b03808c166000908152600260209081526040808320938d1683529290522055889250610f108a848461114d565b60405162461bcd60e51b81526004016101fc90611b64565b83600581111561107357fe5b886001600160a01b03168b6001600160a01b03167fef7da7c40d1fc52df907f6fed0e539680d5fb491c3b8f94db234a360dafe1d628685876040516110ba93929190611a63565b60405180910390a4505050505b505050505050565b826001600160a01b03166310acd06d600284846040516020016110f3929190611aab565b6040516020818303038152906040526040518363ffffffff1660e01b815260040161111f929190611af6565b600060405180830381600087803b15801561113957600080fd5b505af11580156106d4573d6000803e3d6000fd5b826001600160a01b03166310acd06d600184846040516020016110f3929190611aab565b600082820183811015610d245760405162461bcd60e51b81526004016101fc90611b04565b6000828211156111b85760405162461bcd60e51b81526004016101fc90611b24565b50900390565b803561047881611cb7565b805161047881611cb7565b600082601f8301126111e557600080fd5b81356111f86111f382611bb9565b611b92565b9150818183526020840193506020810190508385602084028201111561121d57600080fd5b60005b83811015611249578161123388826111be565b8452506020928301929190910190600101611220565b5050505092915050565b600082601f83011261126457600080fd5b81516112726111f382611bb9565b9150818183526020840193506020810190508385602084028201111561129757600080fd5b60005b8381101561124957816112ad88826111c9565b845250602092830192919091019060010161129a565b600082601f8301126112d457600080fd5b81356112e26111f382611bb9565b81815260209384019390925082018360005b83811015611249578135860161130a888261137f565b84525060209283019291909101906001016112f4565b803561047881611ccb565b805161047881611ccb565b60008083601f84011261134857600080fd5b50813567ffffffffffffffff81111561136057600080fd5b60208301915083600182028301111561137857600080fd5b9250929050565b600082601f83011261139057600080fd5b813561139e6111f382611bda565b915080825260208301602083018583830111156113ba57600080fd5b6113c5838284611c5e565b50505092915050565b803561047881611cd4565b805161047881611ce1565b803561047881611cee565b805161047881611cee565b60006020828403121561140c57600080fd5b600061141884846111be565b949350505050565b60006020828403121561143257600080fd5b600061141884846111c9565b6000806040838503121561145157600080fd5b600061145d85856111be565b925050602061146e858286016111be565b9150509250929050565b6000806000806060858703121561148e57600080fd5b600061149a87876111be565b94505060206114ab878288016111be565b935050604085013567ffffffffffffffff8111156114c857600080fd5b6114d487828801611336565b95989497509550505050565b600080600080606085870312156114f657600080fd5b600061150287876111be565b94505060206114ab878288016113e4565b60006020828403121561152557600080fd5b815167ffffffffffffffff81111561153c57600080fd5b61141884828501611253565b6000806040838503121561155b57600080fd5b823567ffffffffffffffff81111561157257600080fd5b61157e858286016111d4565b925050602083013567ffffffffffffffff81111561159b57600080fd5b61146e858286016112c3565b6000602082840312156115b957600080fd5b60006114188484611320565b6000602082840312156115d757600080fd5b6000611418848461132b565b600080604083850312156115f657600080fd5b6000611602858561132b565b925050602061146e8582860161132b565b6000806000806060858703121561162957600080fd5b600061163587876113ce565b945050602085013567ffffffffffffffff81111561165257600080fd5b61165e87828801611336565b93509350506040611671878288016113e4565b91505092959194509250565b60008060006060848603121561169257600080fd5b600061169e86866113d9565b93505060206116af868287016111c9565b92505060406116c0868287016113ef565b9150509250925092565b6000602082840312156116dc57600080fd5b600061141884846113ef565b60006116f483836116fc565b505060200190565b61170581611c15565b82525050565b600061171682611c08565b6117208185611c0c565b935061172b83611c02565b8060005b8381101561175957815161174388826116e8565b975061174e83611c02565b92505060010161172f565b509495945050505050565b600061176f82611c08565b6117798185611c0c565b9350611789818560208601611c6a565b61179281611c96565b9093019392505050565b61170581611c48565b61170581611c53565b60006117bb601b83611c0c565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b60006117f4602d83611c0c565b7f7265636569766543616c6c46726f6d436f6d7074726f6c6c65723a20496e766181526c1b1a590817d858dd1a5bdb9259609a1b602082015260400192915050565b6000611843601e83611c0c565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b600061187c603d83611c0c565b7f736574436f6e666967466f7246756e643a206665657320616e6420736574746981527f6e677344617461206172726179206c656e6774687320756e657175616c000000602082015260400192915050565b60006118db603083611c0c565b7f736574436f6e666967466f7246756e643a20666565732063616e6e6f7420696e81526f636c756465206475706c69636174657360801b602082015260400192915050565b600061192d602883611c0c565b7f4f6e6c79207468652046756e644465706c6f7965722063616e206d616b6520748152671a1a5cc818d85b1b60c21b602082015260400192915050565b6000611977602383611c0c565b7f5f5f736574746c654665653a20496e76616c696420536574746c656d656e745481526279706560e81b602082015260400192915050565b60006119bc602083611c0c565b7f5f5f696e766f6b65486f6f6b3a2046756e64206973206e6f7420616374697665815260200192915050565b61170581611c45565b6020810161047882846116fc565b60408101611a0d82856116fc565b610d2460208301846116fc565b60a08101611a2882886116fc565b611a3560208301876116fc565b611a42604083018661179c565b8181036060830152611a548185611764565b9050610ad260808301846119e8565b60608101611a7182866116fc565b611a7e60208301856116fc565b61141860408301846119e8565b60408101611a9982856116fc565b8181036020830152610d218184611764565b60408101611ab982856116fc565b610d2460208301846119e8565b60208082528101610d24818461170b565b60208082528101610d248184611764565b60208101610478828461179c565b60408101611a9982856117a5565b60208082528101610478816117ae565b60208082528101610478816117e7565b6020808252810161047881611836565b602080825281016104788161186f565b60208082528101610478816118ce565b6020808252810161047881611920565b602080825281016104788161196a565b60208082528101610478816119af565b6020810161047882846119e8565b60405181810167ffffffffffffffff81118282101715611bb157600080fd5b604052919050565b600067ffffffffffffffff821115611bd057600080fd5b5060209081020190565b600067ffffffffffffffff821115611bf157600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b600061047882611c39565b151590565b8061022781611ca0565b8061022781611cad565b6001600160a01b031690565b90565b600061047882611c25565b600061047882611c2f565b82818337506000910152565b60005b83811015611c85578181015183820152602001611c6d565b838111156102055750506000910152565b601f01601f191690565b60048110611caa57fe5b50565b600b8110611caa57fe5b611cc081611c15565b8114611caa57600080fd5b611cc081611c20565b60048110611caa57600080fd5b60068110611caa57600080fd5b611cc081611c4556fea164736f6c634300060c000a", "sourceMap": "1006:13641:142:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3972:513;;;;;;:::i;:::-;;:::i;:::-;;2692:198:226;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3348:206:142;;;;;;:::i;:::-;;:::i;2064:398::-;;;;;;:::i;:::-;;:::i;1064:120:358:-;;;:::i;1378:108::-;;;:::i;13909:203:142:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;14398:247::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;2592:436::-;;;:::i;4960:1056::-;;;;;;:::i;:::-;;:::i;3972:513::-;4124:14;4120:359;;4207:69;4220:10;4232:30;4207:69;;;;;;;;;;;;4268:1;4271:4;4207:12;:69::i;:::-;4120:359;;;4297:9;4310:1;4297:14;4293:186;;;4327:55;4360:10;4372:9;;4327:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4327:32:142;;-1:-1:-1;;;4327:55:142:i;4293:186::-;4413:55;;-1:-1:-1;;;4413:55:142;;;;;;;:::i;:::-;;;;;;;;4293:186;3972:513;;;;:::o;2692:198:226:-;-1:-1:-1;;;;;2836:47:226;;;2794:19;2836:47;;;;;;;;;;;;2692:198;;;;:::o;3348:206:142:-;3487:60;3500:10;3512:5;3519:15;;3487:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3536:4:142;;-1:-1:-1;3542:4:142;;-1:-1:-1;3487:12:142;;-1:-1:-1;3487:60:142:i;2064:398::-;2150:10;2123:24;2191:38;2150:10;2191:20;:38::i;:::-;2170:59;;2240:28;2271:39;2293:16;2271:21;:39::i;:::-;2240:70;;2325:9;2320:136;2340:11;:18;2336:1;:22;2320:136;;;2384:11;2396:1;2384:14;;;;;;;;;;;;;;-1:-1:-1;;;;;2379:36:142;;2416:16;2434:10;2379:66;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2360:3:142;;;;;-1:-1:-1;2320:136:142;;-1:-1:-1;2320:136:142;;;2064:398;;;;:::o;1064:120:358:-;1105:14;1152:13;-1:-1:-1;;;;;1138:37:358;;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1131:46;;1064:120;:::o;1378:108::-;1466:13;1378:108;:::o;13909:203:142:-;-1:-1:-1;;;;;14064:41:142;;;;;;:22;:41;;;;;;;;;14057:48;;;;;;;;;;;;;;;;;14012:29;;14057:48;;;14064:41;14057:48;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;14057:48:142;;;;;;;;;;;;;;;;;;;;;;;13909:203;;;:::o;14398:247::-;-1:-1:-1;;;;;14573:59:142;;;14524:26;14573:59;;;:40;:59;;;;;;;;:65;;;;;;;;;;14398:247;;;;;:::o;2592:436::-;2676:10;2649:24;2717:38;2676:10;2717:20;:38::i;:::-;2696:59;;2822:21;2846:39;2868:16;2846:21;:39::i;:::-;2822:63;;2900:9;2895:127;2915:4;:11;2911:1;:15;2895:127;;;2947:64;2973:16;2991:10;3003:4;3008:1;3003:7;;;;;;;;;;;;;;2947:25;:64::i;:::-;2928:3;;2895:127;;4960:1056;819:17:226;:15;:17::i;:::-;-1:-1:-1;;;;;805:31:226;:10;-1:-1:-1;;;;;805:31:226;;797:84;;;;-1:-1:-1;;;797:84:226;;;;;;;:::i;:::-;5137:56:142::1;5162:17;5181:11;5137:24;:56::i;:::-;5205:21;::::0;5259:79:::1;::::0;;::::1;5283:11:::0;5259:79:::1;:::i;:::-;5204:134;;;;5410:12;:19;5395:4;:11;:34;5374:142;;;;-1:-1:-1::0;;;5374:142:142::1;;;;;;;:::i;:::-;5534:18;:4;:16;:18::i;:::-;5526:79;;;;-1:-1:-1::0;;;5526:79:142::1;;;;;;;:::i;:::-;5662:9;5657:353;5677:4;:11;5673:1;:15;5657:353;;;5752:4;5757:1;5752:7;;;;;;;;;;;;;;-1:-1:-1::0;;;;;5747:29:142::1;;5777:17;5796:12;5809:1;5796:15;;;;;;;;;;;;;;5747:65;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;;;;;;;;5862:41:142;::::1;;::::0;;;:22:::1;:41;::::0;;;;5909:7;;;;5914:1;;5909:7;::::1;;;;;;::::0;;::::1;::::0;;;;;;;5862:55;;::::1;::::0;::::1;::::0;;-1:-1:-1;5862:55:142;;;;;;;::::1;::::0;;-1:-1:-1;;;;;;5862:55:142::1;-1:-1:-1::0;;;;;5862:55:142;;::::1;::::0;;;::::1;::::0;;5974:7;;;;5979:1;;5974:7;::::1;;;;;;;;;;;-1:-1:-1::0;;;;;5937:62:142::1;5955:17;-1:-1:-1::0;;;;;5937:62:142::1;;5983:12;5996:1;5983:15;;;;;;;;;;;;;;5937:62;;;;;;:::i;:::-;;;;;;;;5690:3;;5657:353;;;;891:1:226;;4960:1056:142::0;;;;:::o;6981:1178::-;7177:21;7201:40;7223:17;7201:21;:40::i;:::-;7177:64;;7255:4;:11;7270:1;7255:16;7251:53;;;7287:7;;;7251:53;7314:18;7335:39;7356:17;7335:20;:39::i;:::-;7314:60;-1:-1:-1;;;;;;7521:24:142;;7513:69;;;;-1:-1:-1;;;7513:69:142;;;;;;;:::i;:::-;7648:11;7662:167;7688:17;7719:10;7743:4;7761:5;7780:15;7809:10;7662:12;:167::i;:::-;7648:181;;8037:11;8033:120;;;8064:78;8077:17;8096:10;8108:4;8114:5;8121:15;8138:3;8064:12;:78::i;:::-;6981:1178;;;;;;;;:::o;8804:478::-;8927:21;8962:9;8951:34;;;;;;;;;;;;:::i;:::-;8927:58;;8995:18;9016:32;9037:10;9016:20;:32::i;:::-;8995:53;;9064:9;9059:217;9079:4;:11;9075:1;:15;9059:217;;;9120:4;9125:1;9120:7;;;;;;;;;;;;;;-1:-1:-1;;;;;9115:20:142;;9136:17;9155:10;9115:51;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9111:155;;;9186:65;9212:17;9231:10;9243:4;9248:1;9243:7;;;;;;;9186:65;9092:3;;9059:217;;9394:657;9539:25;9567:55;9598:17;9617:4;9567:30;:55::i;:::-;9539:83;-1:-1:-1;9636:22:142;9632:59;;9674:7;;;9632:59;-1:-1:-1;;;;;9708:59:142;;;;;;;:40;:59;;;;;;;;:65;;;;;;;;;;;9701:72;;;9800:64;9749:17;9846:11;9768:4;9800:26;:64::i;:::-;9784:80;;9875:74;9892:17;9911:11;9924:5;9931:17;9875:16;:74::i;:::-;10019:5;-1:-1:-1;;;;;9965:79:142;10013:4;-1:-1:-1;;;;;9965:79:142;9994:17;-1:-1:-1;;;;;9965:79:142;;10026:17;9965:79;;;;;;:::i;:::-;;;;;;;;9394:657;;;;;;:::o;2172:246:226:-;-1:-1:-1;;;;;2273:47:226;;;:28;:47;;;;;;;;;;;:61;;-1:-1:-1;;;;;;2273:61:226;;;;;;;;;2350;;;2273:28;2350:61;2172:246;;:::o;3999:454:354:-;4067:14;4113:1;4097:5;:12;:17;4093:59;;-1:-1:-1;4137:4:354;4130:11;;4093:59;4184:12;;4162:19;4206:219;4226:11;4222:1;:15;4206:219;;;4279:1;4275:5;;4258:157;4286:11;4282:1;:15;4258:157;;;4338:5;4344:1;4338:8;;;;;;;;;;;;;;-1:-1:-1;;;;;4326:20:354;:5;4332:1;4326:8;;;;;;;;;;;;;;-1:-1:-1;;;;;4326:20:354;;4322:79;;;4377:5;4370:12;;;;;;;4322:79;4299:3;;4258:157;;;-1:-1:-1;4239:3:354;;4206:219;;;-1:-1:-1;4442:4:354;;3999:454;-1:-1:-1;;;3999:454:354:o;12175:717:142:-;12436:10;12405:12;12457:407;12477:5;:12;12473:1;:16;12457:407;;;12511:12;12525;12546:5;12552:1;12546:8;;;;;;;;;;;;;;-1:-1:-1;;;;;12541:28:142;;12570:5;12541:35;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12510:66;;;;12595:7;12590:55;;12622:8;;;;12590:55;12663:7;12659:97;;;12697:44;12717:17;12736:4;12697:19;:44::i;:::-;12690:51;;12659:97;12770:83;12782:17;12801:11;12814:5;12820:1;12814:8;;;;;;;;;;;;;;12824:5;12831:15;12848:4;12770:11;:83::i;:::-;12457:407;;;12491:3;;12457:407;;;;12175:717;;;;;;;;;:::o;12965:676::-;13210:10;13196:11;13231:404;13251:5;:12;13247:1;:16;13231:404;;;13285:12;13299;13320:5;13326:1;13320:8;;;;;;;;;;;;;;-1:-1:-1;;;;;13315:28:142;;13344:5;13315:35;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13284:66;;;;13369:7;13364:55;;13396:8;;;;13364:55;13437:7;13433:95;;;13470:43;13490:17;13509:3;13470:19;:43::i;:::-;13464:49;;13433:95;13547:5;13553:1;13547:8;;;;;;;;;;;;;;-1:-1:-1;;;;;13542:21:142;;13564:17;13583:11;13596:5;13603:15;13620:3;13542:82;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13231:404;;;13265:3;;13231:404;;8235:384;8428:49;;-1:-1:-1;;;8428:49:142;;8385:18;;-1:-1:-1;;;;;8428:30:142;;;;;:49;;8459:17;;8428:49;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8415:62;-1:-1:-1;;;;;;8491:24:142;;8487:98;;8551:11;-1:-1:-1;;;;;8544:28:142;;:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8531:43;;8487:98;8235:384;;;;;:::o;4818:319:227:-;4986:17;-1:-1:-1;;;;;4973:55:227;;5042:33;5100:5;5107:3;5112:7;5089:31;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;4973:157;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6137:285:142;6246:12;6278:15;6274:142;;6329:17;-1:-1:-1;;;;;6316:39:142;;:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6309:48;;;;6274:142;-1:-1:-1;6395:10:142;6388:17;;10093:2009;10308:29;10339:13;10354:17;10380:4;-1:-1:-1;;;;;10375:17:142;;10406;10437:11;10462:5;10481:15;10510:4;10375:149;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10307:217;;-1:-1:-1;10307:217:142;-1:-1:-1;10307:217:142;-1:-1:-1;10556:19:142;10538:14;:37;;;;;;;;;10534:74;;;10591:7;;;;;10534:74;10618:13;10663:21;10645:14;:39;;;;;;;;;10641:1356;;;10708:64;10735:17;10754:11;10767:4;10708:26;:64::i;:::-;10700:72;;10786:60;10803:17;10822:5;10829;10836:9;10786:16;:60::i;:::-;10641:1356;;;10885:19;10867:14;:37;;;;;;;;;10863:1134;;;10928:64;10955:17;10974:11;10987:4;10928:26;:64::i;:::-;10920:72;;11006:49;11019:17;11038:5;11045:9;11006:12;:49::i;10863:1134::-;11094:19;11076:14;:37;;;;;;;;;11072:925;;;11129:49;11142:17;11161:5;11168:9;11129:12;:49::i;11072:925::-;11217:36;11199:14;:54;;;;;;;;;11195:802;;;-1:-1:-1;;;;;11367:59:142;;;;;;;:40;:59;;;;;;;;:65;;;;;;;;;;:80;;11437:9;11367:69;:80::i;:::-;-1:-1:-1;;;;;11269:59:142;;;;;;;:40;:59;;;;;;;;:95;;;;;;;;;:178;-1:-1:-1;11470:11:142;11495:49;11310:17;11470:11;11534:9;11495:12;:49::i;11195:802::-;11583:36;11565:14;:54;;;;;;;;;11561:436;;;-1:-1:-1;;;;;11733:59:142;;;;;;;:40;:59;;;;;;;;:65;;;;;;;;;;:80;;11803:9;11733:69;:80::i;:::-;-1:-1:-1;;;;;11635:59:142;;;;;;;:40;:59;;;;;;;;:95;;;;;;;;;:178;11836:11;;-1:-1:-1;11861:49:142;11676:17;11836:11;11900:9;11861:12;:49::i;11561:436::-;11941:45;;-1:-1:-1;;;11941:45:142;;;;;;;:::i;11561:436::-;12055:14;12012:83;;;;;;;;12049:4;-1:-1:-1;;;;;12012:83:142;12030:17;-1:-1:-1;;;;;12012:83:142;;12071:5;12078;12085:9;12012:83;;;;;;;;:::i;:::-;;;;;;;;10093:2009;;;;;;;;;;;:::o;3322:289:227:-;3467:17;-1:-1:-1;;;;;3454:55:227;;3523:29;3577:7;3586;3566:28;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3454:150;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2373:289;2518:17;-1:-1:-1;;;;;2505:55:227;;2574:29;2628:7;2637;2617:28;;;;;;;;;:::i;2690:175:442:-;2748:7;2779:5;;;2802:6;;;;2794:46;;;;-1:-1:-1;;;2794:46:442;;;;;;;:::i;3136:155::-;3194:7;3226:1;3221;:6;;3213:49;;;;-1:-1:-1;;;3213:49:442;;;;;;;:::i;:::-;-1:-1:-1;3279:5:442;;;3136:155::o;5:130:-1:-;72:20;;97:33;72:20;97:33;:::i;142:134::-;220:13;;238:33;220:13;238:33;:::i;301:707::-;;418:3;411:4;403:6;399:17;395:27;385:2;;436:1;433;426:12;385:2;473:6;460:20;495:80;510:64;567:6;510:64;:::i;:::-;495:80;:::i;:::-;486:89;;592:5;617:6;610:5;603:21;647:4;639:6;635:17;625:27;;669:4;664:3;660:14;653:21;;722:6;769:3;761:4;753:6;749:17;744:3;740:27;737:36;734:2;;;786:1;783;776:12;734:2;811:1;796:206;821:6;818:1;815:13;796:206;;;879:3;901:37;934:3;922:10;901:37;:::i;:::-;889:50;;-1:-1;962:4;953:14;;;;981;;;;;843:1;836:9;796:206;;;800:14;378:630;;;;;;;:::o;1034:722::-;;1162:3;1155:4;1147:6;1143:17;1139:27;1129:2;;1180:1;1177;1170:12;1129:2;1210:6;1204:13;1232:80;1247:64;1304:6;1247:64;:::i;1232:80::-;1223:89;;1329:5;1354:6;1347:5;1340:21;1384:4;1376:6;1372:17;1362:27;;1406:4;1401:3;1397:14;1390:21;;1459:6;1506:3;1498:4;1490:6;1486:17;1481:3;1477:27;1474:36;1471:2;;;1523:1;1520;1513:12;1471:2;1548:1;1533:217;1558:6;1555:1;1552:13;1533:217;;;1616:3;1638:48;1682:3;1670:10;1638:48;:::i;:::-;1626:61;;-1:-1;1710:4;1701:14;;;;1729;;;;;1580:1;1573:9;1533:217;;1780:705;;1906:3;1899:4;1891:6;1887:17;1883:27;1873:2;;1924:1;1921;1914:12;1873:2;1961:6;1948:20;1983:89;1998:73;2064:6;1998:73;:::i;1983:89::-;2100:21;;;2144:4;2132:17;;;;1974:98;;-1:-1;2157:14;;2132:17;2252:1;2237:242;2262:6;2259:1;2256:13;2237:242;;;2345:3;2332:17;2324:6;2320:30;2369:46;2411:3;2399:10;2369:46;:::i;:::-;2357:59;;-1:-1;2439:4;2430:14;;;;2458;;;;;2284:1;2277:9;2237:242;;2493:124;2557:20;;2582:30;2557:20;2582:30;:::i;2624:128::-;2699:13;;2717:30;2699:13;2717:30;:::i;2773:336::-;;;2887:3;2880:4;2872:6;2868:17;2864:27;2854:2;;2905:1;2902;2895:12;2854:2;-1:-1;2925:20;;2965:18;2954:30;;2951:2;;;2997:1;2994;2987:12;2951:2;3031:4;3023:6;3019:17;3007:29;;3082:3;3074:4;3066:6;3062:17;3052:8;3048:32;3045:41;3042:2;;;3099:1;3096;3089:12;3042:2;2847:262;;;;;:::o;3118:440::-;;3219:3;3212:4;3204:6;3200:17;3196:27;3186:2;;3237:1;3234;3227:12;3186:2;3274:6;3261:20;3296:64;3311:48;3352:6;3311:48;:::i;3296:64::-;3287:73;;3380:6;3373:5;3366:21;3416:4;3408:6;3404:17;3449:4;3442:5;3438:16;3484:3;3475:6;3470:3;3466:16;3463:25;3460:2;;;3501:1;3498;3491:12;3460:2;3511:41;3545:6;3540:3;3535;3511:41;:::i;:::-;3179:379;;;;;;;:::o;3566:156::-;3646:20;;3671:46;3646:20;3671:46;:::i;3729:174::-;3827:13;;3845:53;3827:13;3845:53;:::i;3910:130::-;3977:20;;4002:33;3977:20;4002:33;:::i;4047:134::-;4125:13;;4143:33;4125:13;4143:33;:::i;4188:241::-;;4292:2;4280:9;4271:7;4267:23;4263:32;4260:2;;;4308:1;4305;4298:12;4260:2;4343:1;4360:53;4405:7;4385:9;4360:53;:::i;:::-;4350:63;4254:175;-1:-1;;;;4254:175::o;4436:263::-;;4551:2;4539:9;4530:7;4526:23;4522:32;4519:2;;;4567:1;4564;4557:12;4519:2;4602:1;4619:64;4675:7;4655:9;4619:64;:::i;4706:366::-;;;4827:2;4815:9;4806:7;4802:23;4798:32;4795:2;;;4843:1;4840;4833:12;4795:2;4878:1;4895:53;4940:7;4920:9;4895:53;:::i;:::-;4885:63;;4857:97;4985:2;5003:53;5048:7;5039:6;5028:9;5024:22;5003:53;:::i;:::-;4993:63;;4964:98;4789:283;;;;;:::o;5079:615::-;;;;;5236:2;5224:9;5215:7;5211:23;5207:32;5204:2;;;5252:1;5249;5242:12;5204:2;5287:1;5304:53;5349:7;5329:9;5304:53;:::i;:::-;5294:63;;5266:97;5394:2;5412:53;5457:7;5448:6;5437:9;5433:22;5412:53;:::i;:::-;5402:63;;5373:98;5530:2;5519:9;5515:18;5502:32;5554:18;5546:6;5543:30;5540:2;;;5586:1;5583;5576:12;5540:2;5614:64;5670:7;5661:6;5650:9;5646:22;5614:64;:::i;:::-;5198:496;;;;-1:-1;5596:82;-1:-1;;;;5198:496::o;5701:615::-;;;;;5858:2;5846:9;5837:7;5833:23;5829:32;5826:2;;;5874:1;5871;5864:12;5826:2;5909:1;5926:53;5971:7;5951:9;5926:53;:::i;:::-;5916:63;;5888:97;6016:2;6034:53;6079:7;6070:6;6059:9;6055:22;6034:53;:::i;6323:392::-;;6463:2;6451:9;6442:7;6438:23;6434:32;6431:2;;;6479:1;6476;6469:12;6431:2;6514:24;;6558:18;6547:30;;6544:2;;;6590:1;6587;6580:12;6544:2;6610:89;6691:7;6682:6;6671:9;6667:22;6610:89;:::i;6722:656::-;;;6902:2;6890:9;6881:7;6877:23;6873:32;6870:2;;;6918:1;6915;6908:12;6870:2;6953:31;;7004:18;6993:30;;6990:2;;;7036:1;7033;7026:12;6990:2;7056:78;7126:7;7117:6;7106:9;7102:22;7056:78;:::i;:::-;7046:88;;6932:208;7199:2;7188:9;7184:18;7171:32;7223:18;7215:6;7212:30;7209:2;;;7255:1;7252;7245:12;7209:2;7275:87;7354:7;7345:6;7334:9;7330:22;7275:87;:::i;7385:235::-;;7486:2;7474:9;7465:7;7461:23;7457:32;7454:2;;;7502:1;7499;7492:12;7454:2;7537:1;7554:50;7596:7;7576:9;7554:50;:::i;7627:257::-;;7739:2;7727:9;7718:7;7714:23;7710:32;7707:2;;;7755:1;7752;7745:12;7707:2;7790:1;7807:61;7860:7;7840:9;7807:61;:::i;7891:387::-;;;8017:2;8005:9;7996:7;7992:23;7988:32;7985:2;;;8033:1;8030;8023:12;7985:2;8068:1;8085:61;8138:7;8118:9;8085:61;:::i;:::-;8075:71;;8047:105;8183:2;8201:61;8254:7;8245:6;8234:9;8230:22;8201:61;:::i;8285:641::-;;;;;8455:2;8443:9;8434:7;8430:23;8426:32;8423:2;;;8471:1;8468;8461:12;8423:2;8506:1;8523:66;8581:7;8561:9;8523:66;:::i;:::-;8513:76;;8485:110;8654:2;8643:9;8639:18;8626:32;8678:18;8670:6;8667:30;8664:2;;;8710:1;8707;8700:12;8664:2;8738:64;8794:7;8785:6;8774:9;8770:22;8738:64;:::i;:::-;8720:82;;;;8605:203;8839:2;8857:53;8902:7;8893:6;8882:9;8878:22;8857:53;:::i;:::-;8847:63;;8818:98;8417:509;;;;;;;:::o;8933:575::-;;;;9102:2;9090:9;9081:7;9077:23;9073:32;9070:2;;;9118:1;9115;9108:12;9070:2;9153:1;9170:84;9246:7;9226:9;9170:84;:::i;:::-;9160:94;;9132:128;9291:2;9309:64;9365:7;9356:6;9345:9;9341:22;9309:64;:::i;:::-;9299:74;;9270:109;9410:2;9428:64;9484:7;9475:6;9464:9;9460:22;9428:64;:::i;:::-;9418:74;;9389:109;9064:444;;;;;:::o;9515:263::-;;9630:2;9618:9;9609:7;9605:23;9601:32;9598:2;;;9646:1;9643;9636:12;9598:2;9681:1;9698:64;9754:7;9734:9;9698:64;:::i;9786:173::-;;9873:46;9915:3;9907:6;9873:46;:::i;:::-;-1:-1;;9948:4;9939:14;;9866:93::o;9967:103::-;10040:24;10058:5;10040:24;:::i;:::-;10035:3;10028:37;10022:48;;:::o;10228:690::-;;10373:54;10421:5;10373:54;:::i;:::-;10440:86;10519:6;10514:3;10440:86;:::i;:::-;10433:93;;10547:56;10597:5;10547:56;:::i;:::-;10623:7;10651:1;10636:260;10661:6;10658:1;10655:13;10636:260;;;10728:6;10722:13;10749:63;10808:3;10793:13;10749:63;:::i;:::-;10742:70;;10829:60;10882:6;10829:60;:::i;:::-;10819:70;-1:-1;;10683:1;10676:9;10636:260;;;-1:-1;10909:3;;10352:566;-1:-1;;;;;10352:566::o;10926:343::-;;11036:38;11068:5;11036:38;:::i;:::-;11086:70;11149:6;11144:3;11086:70;:::i;:::-;11079:77;;11161:52;11206:6;11201:3;11194:4;11187:5;11183:16;11161:52;:::i;:::-;11234:29;11256:6;11234:29;:::i;:::-;11225:39;;;;11016:253;-1:-1;;;11016:253::o;11276:148::-;11370:48;11412:5;11370:48;:::i;11431:156::-;11529:52;11575:5;11529:52;:::i;11595:327::-;;11755:67;11819:2;11814:3;11755:67;:::i;:::-;11855:29;11835:50;;11913:2;11904:12;;11741:181;-1:-1;;11741:181::o;11931:382::-;;12091:67;12155:2;12150:3;12091:67;:::i;:::-;12191:34;12171:55;;-1:-1;;;12255:2;12246:12;;12239:37;12304:2;12295:12;;12077:236;-1:-1;;12077:236::o;12322:330::-;;12482:67;12546:2;12541:3;12482:67;:::i;:::-;12582:32;12562:53;;12643:2;12634:12;;12468:184;-1:-1;;12468:184::o;12661:398::-;;12821:67;12885:2;12880:3;12821:67;:::i;:::-;12921:34;12901:55;;12990:31;12985:2;12976:12;;12969:53;13050:2;13041:12;;12807:252;-1:-1;;12807:252::o;13068:385::-;;13228:67;13292:2;13287:3;13228:67;:::i;:::-;13328:34;13308:55;;-1:-1;;;13392:2;13383:12;;13376:40;13444:2;13435:12;;13214:239;-1:-1;;13214:239::o;13462:377::-;;13622:67;13686:2;13681:3;13622:67;:::i;:::-;13722:34;13702:55;;-1:-1;;;13786:2;13777:12;;13770:32;13830:2;13821:12;;13608:231;-1:-1;;13608:231::o;13848:372::-;;14008:67;14072:2;14067:3;14008:67;:::i;:::-;14108:34;14088:55;;-1:-1;;;14172:2;14163:12;;14156:27;14211:2;14202:12;;13994:226;-1:-1;;13994:226::o;14229:332::-;;14389:67;14453:2;14448:3;14389:67;:::i;:::-;14489:34;14469:55;;14552:2;14543:12;;14375:186;-1:-1;;14375:186::o;14569:113::-;14652:24;14670:5;14652:24;:::i;14689:222::-;14816:2;14801:18;;14830:71;14805:9;14874:6;14830:71;:::i;14918:333::-;15073:2;15058:18;;15087:71;15062:9;15131:6;15087:71;:::i;:::-;15169:72;15237:2;15226:9;15222:18;15213:6;15169:72;:::i;15258:774::-;15526:3;15511:19;;15541:71;15515:9;15585:6;15541:71;:::i;:::-;15623:72;15691:2;15680:9;15676:18;15667:6;15623:72;:::i;:::-;15706:83;15785:2;15774:9;15770:18;15761:6;15706:83;:::i;:::-;15837:9;15831:4;15827:20;15822:2;15811:9;15807:18;15800:48;15862:76;15933:4;15924:6;15862:76;:::i;:::-;15854:84;;15949:73;16017:3;16006:9;16002:19;15993:6;15949:73;:::i;16039:444::-;16222:2;16207:18;;16236:71;16211:9;16280:6;16236:71;:::i;:::-;16318:72;16386:2;16375:9;16371:18;16362:6;16318:72;:::i;:::-;16401;16469:2;16458:9;16454:18;16445:6;16401:72;:::i;16490:417::-;16663:2;16648:18;;16677:71;16652:9;16721:6;16677:71;:::i;:::-;16796:9;16790:4;16786:20;16781:2;16770:9;16766:18;16759:48;16821:76;16892:4;16883:6;16821:76;:::i;16914:333::-;17069:2;17054:18;;17083:71;17058:9;17127:6;17083:71;:::i;:::-;17165:72;17233:2;17222:9;17218:18;17209:6;17165:72;:::i;17254:370::-;17431:2;17445:47;;;17416:18;;17506:108;17416:18;17600:6;17506:108;:::i;17631:306::-;17776:2;17790:47;;;17761:18;;17851:76;17761:18;17913:6;17851:76;:::i;17944:244::-;18082:2;18067:18;;18096:82;18071:9;18151:6;18096:82;:::i;18195:447::-;18383:2;18368:18;;18397:86;18372:9;18456:6;18397:86;:::i;18649:416::-;18849:2;18863:47;;;18834:18;;18924:131;18834:18;18924:131;:::i;19072:416::-;19272:2;19286:47;;;19257:18;;19347:131;19257:18;19347:131;:::i;19495:416::-;19695:2;19709:47;;;19680:18;;19770:131;19680:18;19770:131;:::i;19918:416::-;20118:2;20132:47;;;20103:18;;20193:131;20103:18;20193:131;:::i;20341:416::-;20541:2;20555:47;;;20526:18;;20616:131;20526:18;20616:131;:::i;20764:416::-;20964:2;20978:47;;;20949:18;;21039:131;20949:18;21039:131;:::i;21187:416::-;21387:2;21401:47;;;21372:18;;21462:131;21372:18;21462:131;:::i;21610:416::-;21810:2;21824:47;;;21795:18;;21885:131;21795:18;21885:131;:::i;22033:222::-;22160:2;22145:18;;22174:71;22149:9;22218:6;22174:71;:::i;22262:256::-;22324:2;22318:9;22350:17;;;22425:18;22410:34;;22446:22;;;22407:62;22404:2;;;22482:1;22479;22472:12;22404:2;22498;22491:22;22302:216;;-1:-1;22302:216::o;22525:304::-;;22684:18;22676:6;22673:30;22670:2;;;22716:1;22713;22706:12;22670:2;-1:-1;22751:4;22739:17;;;22804:15;;22607:222::o;23156:321::-;;23299:18;23291:6;23288:30;23285:2;;;23331:1;23328;23321:12;23285:2;-1:-1;23462:4;23398;23375:17;;;;-1:-1;;23371:33;23452:15;;23222:255::o;23484:151::-;23608:4;23599:14;;23556:79::o;23642:137::-;23745:12;;23716:63::o;24030:178::-;24148:19;;;24197:4;24188:14;;24141:67::o;24559:91::-;;24621:24;24639:5;24621:24;:::i;24657:85::-;24723:13;24716:21;;24699:43::o;24749:132::-;24824:5;24830:46;24824:5;24830:46;:::i;24888:140::-;24967:5;24973:50;24967:5;24973:50;:::i;25035:121::-;-1:-1;;;;;25097:54;;25080:76::o;25163:72::-;25225:5;25208:27::o;25242:132::-;;25332:37;25363:5;25332:37;:::i;25381:140::-;;25475:41;25510:5;25475:41;:::i;25529:145::-;25610:6;25605:3;25600;25587:30;-1:-1;25666:1;25648:16;;25641:27;25580:94::o;25683:268::-;25748:1;25755:101;25769:6;25766:1;25763:13;25755:101;;;25836:11;;;25830:18;25817:11;;;25810:39;25791:2;25784:10;25755:101;;;25871:6;25868:1;25865:13;25862:2;;;-1:-1;;25936:1;25918:16;;25911:27;25732:219::o;25959:97::-;26047:2;26027:14;-1:-1;;26023:28;;26007:49::o;26064:104::-;26146:1;26139:5;26136:12;26126:2;;26152:9;26126:2;26120:48;:::o;26175:109::-;26261:2;26254:5;26251:13;26241:2;;26268:9;26291:117;26360:24;26378:5;26360:24;:::i;:::-;26353:5;26350:35;26340:2;;26399:1;26396;26389:12;26415:111;26481:21;26496:5;26481:21;:::i;26533:107::-;26615:1;26608:5;26605:12;26595:2;;26631:1;26628;26621:12;26647:114;26736:1;26729:5;26726:12;26716:2;;26752:1;26749;26742:12;26768:117;26837:24;26855:5;26837:24;:::i", "linkReferences": {}, "immutableReferences": { "78707": [ { "start": 803, "length": 32 }, { "start": 953, "length": 32 } ] } }, "methodIdentifiers": { "activateForFund(bool)": "80d57063", "deactivateForFund()": "bd8e959a", "getEnabledFeesForFund(address)": "a9f3b42f", "getFeeSharesOutstandingForFund(address,address)": "aa051c2c", "getFundDeployer()": "97c0ac87", "getOwner()": "893d20e8", "getVaultProxyForFund(address)": "46790346", "invokeHook(uint8,bytes,uint256)": "7759c164", "receiveCallFromComptroller(address,uint256,bytes)": "1bee801e", "setConfigForFund(address,address,bytes)": "f067cc11" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_fundDeployer\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"fee\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"settingsData\",\"type\":\"bytes\"}],\"name\":\"FeeEnabledForFund\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"fee\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"enum IFeeManager.SettlementType\",\"name\":\"settlementType\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"payer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"payee\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"sharesDue\",\"type\":\"uint256\"}],\"name\":\"FeeSettledForFund\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"fee\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"payee\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"sharesDue\",\"type\":\"uint256\"}],\"name\":\"SharesOutstandingPaidForFund\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"vaultProxy\",\"type\":\"address\"}],\"name\":\"ValidatedVaultProxySetForFund\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"name\":\"activateForFund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"deactivateForFund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"}],\"name\":\"getEnabledFeesForFund\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"enabledFees_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_fee\",\"type\":\"address\"}],\"name\":\"getFeeSharesOutstandingForFund\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"sharesOutstanding_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFundDeployer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"fundDeployer_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"}],\"name\":\"getVaultProxyForFund\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"vaultProxy_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IFeeManager.FeeHook\",\"name\":\"_hook\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"_settlementData\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"_gav\",\"type\":\"uint256\"}],\"name\":\"invokeHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_actionId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_callArgs\",\"type\":\"bytes\"}],\"name\":\"receiveCallFromComptroller\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_configData\",\"type\":\"bytes\"}],\"name\":\"setConfigForFund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"Any arbitrary fee is allowed by default, so all participants must be aware of their fund's configuration, especially whether they use official fees only. Fees can only be added upon fund setup, migration, or reconfiguration.\",\"kind\":\"dev\",\"methods\":{\"deactivateForFund()\":{\"details\":\"There will be no fees if the caller is not a valid ComptrollerProxy\"},\"getEnabledFeesForFund(address)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\"},\"returns\":{\"enabledFees_\":\"An array of enabled fee addresses\"}},\"getFeeSharesOutstandingForFund(address,address)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\",\"_fee\":\"The fee address\"},\"returns\":{\"sharesOutstanding_\":\"The amount of shares outstanding\"}},\"getFundDeployer()\":{\"returns\":{\"fundDeployer_\":\"The `FUND_DEPLOYER` variable value\"}},\"getOwner()\":{\"details\":\"Ownership is deferred to the owner of the FundDeployer contract\",\"returns\":{\"owner_\":\"The owner\"}},\"getVaultProxyForFund(address)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\"},\"returns\":{\"vaultProxy_\":\"The VaultProxy of the fund\"}},\"invokeHook(uint8,bytes,uint256)\":{\"params\":{\"_gav\":\"The GAV for a fund if known in the invocating code, otherwise 0\",\"_hook\":\"The FeeHook to invoke\",\"_settlementData\":\"The encoded settlement parameters specific to the FeeHook\"}},\"receiveCallFromComptroller(address,uint256,bytes)\":{\"details\":\"This is the only way to call a function on this contract that updates VaultProxy state. For both of these actions, any caller is allowed, so we don't use the caller param.\",\"params\":{\"_actionId\":\"An ID representing the desired action\",\"_callArgs\":\"Encoded arguments specific to the _actionId\"}},\"setConfigForFund(address,address,bytes)\":{\"details\":\"The order of `fees` determines the order in which fees of the same FeeHook will be applied. It is recommended to run ManagementFee before PerformanceFee in order to achieve precise PerformanceFee calcs.\",\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\",\"_configData\":\"Encoded config data\",\"_vaultProxy\":\"The VaultProxy of the fund\"}}},\"title\":\"FeeManager Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"activateForFund(bool)\":{\"notice\":\"Activate already-configured fees for use in the calling fund\"},\"deactivateForFund()\":{\"notice\":\"Deactivate fees for a fund\"},\"getEnabledFeesForFund(address)\":{\"notice\":\"Get a list of enabled fees for a given fund\"},\"getFeeSharesOutstandingForFund(address,address)\":{\"notice\":\"Get the amount of shares outstanding for a particular fee for a fund\"},\"getFundDeployer()\":{\"notice\":\"Gets the `FUND_DEPLOYER` variable\"},\"getOwner()\":{\"notice\":\"Gets the owner of this contract\"},\"getVaultProxyForFund(address)\":{\"notice\":\"Gets the verified VaultProxy for a given ComptrollerProxy\"},\"invokeHook(uint8,bytes,uint256)\":{\"notice\":\"Allows all fees for a particular FeeHook to implement settle() and update() logic\"},\"receiveCallFromComptroller(address,uint256,bytes)\":{\"notice\":\"Receives a dispatched `callOnExtension` from a fund's ComptrollerProxy\"},\"setConfigForFund(address,address,bytes)\":{\"notice\":\"Enable and configure fees for use in the calling fund\"}},\"notice\":\"Manages fees for funds\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/fee-manager/FeeManager.sol\":\"FeeManager\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/vault/interfaces/IExternalPositionVault.sol\":{\"keccak256\":\"0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d\",\"dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8\"]},\"contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol\":{\"keccak256\":\"0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb\",\"dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU\"]},\"contracts/persistent/vault/interfaces/IMigratableVault.sol\":{\"keccak256\":\"0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6\",\"dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs\"]},\"contracts/persistent/vault/interfaces/IVaultCore.sol\":{\"keccak256\":\"0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd\",\"dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr\"]},\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/core/fund/comptroller/IComptroller.sol\":{\"keccak256\":\"0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97\",\"dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L\"]},\"contracts/release/core/fund/vault/IVault.sol\":{\"keccak256\":\"0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599\",\"dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG\"]},\"contracts/release/extensions/IExtension.sol\":{\"keccak256\":\"0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70\",\"dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t\"]},\"contracts/release/extensions/fee-manager/FeeManager.sol\":{\"keccak256\":\"0xf3a3e504ca755cafda78f204d1e8005b6808854be0b5b19d17d9971ec49369a9\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3b82ffb3926983b4c60ddf8cd80b14d4ae548ea9b6f9ebf87f3fe70ffa5a89b9\",\"dweb:/ipfs/QmfJE4i4ZTDWhPwwKQSfjfWYQ62BsDs3FrxavjmLFe3HzB\"]},\"contracts/release/extensions/fee-manager/IFee.sol\":{\"keccak256\":\"0x38e3f324c67f3205e38197165586ea82ca226069902f34214bcde76cf905fcff\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c1fff656d1bdde3324421bc9e77cbfc4e80baf4e665f8713fdb65611b046f4b0\",\"dweb:/ipfs/QmVRFjNwmsVHdh4sp3DWdL74VWmhRhPZE5kDxJiuPL8Gu2\"]},\"contracts/release/extensions/fee-manager/IFeeManager.sol\":{\"keccak256\":\"0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22\",\"dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod\"]},\"contracts/release/extensions/utils/ExtensionBase.sol\":{\"keccak256\":\"0xae68767766f6459bd2cd9dbd39df74f2c2f68f2150885bbce410e4091c807bb1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ce4c49522a39f618cc76feb474260fe910949f38e83b5f4518f1f245ba6eb876\",\"dweb:/ipfs/QmZ4wciRpziZAS4HRQy44Sgzm4GM4Wzme9zYnABzR6Cbzo\"]},\"contracts/release/extensions/utils/PermissionedVaultActionMixin.sol\":{\"keccak256\":\"0x77ddb9299d9c5f1538c20ae1543c20ef73db11ad7d9a9b817d26969ab233bb57\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://77812616256a092e0fd77469dcd2a2e098a1cf52686eeb6703a169efa64c27df\",\"dweb:/ipfs/QmbRPZznXSX3aA2VVJNpRqFXdJZebVDcDuY8EnF75Z7GpB\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/FundDeployerOwnerMixin.sol\":{\"keccak256\":\"0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927\",\"dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_fundDeployer", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "comptrollerProxy", "type": "address", "indexed": true }, { "internalType": "address", "name": "fee", "type": "address", "indexed": true }, { "internalType": "bytes", "name": "settingsData", "type": "bytes", "indexed": false } ], "type": "event", "name": "FeeEnabledForFund", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "comptrollerProxy", "type": "address", "indexed": true }, { "internalType": "address", "name": "fee", "type": "address", "indexed": true }, { "internalType": "enum IFeeManager.SettlementType", "name": "settlementType", "type": "uint8", "indexed": true }, { "internalType": "address", "name": "payer", "type": "address", "indexed": false }, { "internalType": "address", "name": "payee", "type": "address", "indexed": false }, { "internalType": "uint256", "name": "sharesDue", "type": "uint256", "indexed": false } ], "type": "event", "name": "FeeSettledForFund", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "comptrollerProxy", "type": "address", "indexed": true }, { "internalType": "address", "name": "fee", "type": "address", "indexed": true }, { "internalType": "address", "name": "payee", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "sharesDue", "type": "uint256", "indexed": false } ], "type": "event", "name": "SharesOutstandingPaidForFund", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "comptrollerProxy", "type": "address", "indexed": true }, { "internalType": "address", "name": "vaultProxy", "type": "address", "indexed": true } ], "type": "event", "name": "ValidatedVaultProxySetForFund", "anonymous": false }, { "inputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function", "name": "activateForFund" }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "deactivateForFund" }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getEnabledFeesForFund", "outputs": [ { "internalType": "address[]", "name": "enabledFees_", "type": "address[]" } ] }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" }, { "internalType": "address", "name": "_fee", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getFeeSharesOutstandingForFund", "outputs": [ { "internalType": "uint256", "name": "sharesOutstanding_", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getFundDeployer", "outputs": [ { "internalType": "address", "name": "fundDeployer_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getOwner", "outputs": [ { "internalType": "address", "name": "owner_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getVaultProxyForFund", "outputs": [ { "internalType": "address", "name": "vaultProxy_", "type": "address" } ] }, { "inputs": [ { "internalType": "enum IFeeManager.FeeHook", "name": "_hook", "type": "uint8" }, { "internalType": "bytes", "name": "_settlementData", "type": "bytes" }, { "internalType": "uint256", "name": "_gav", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "invokeHook" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "uint256", "name": "_actionId", "type": "uint256" }, { "internalType": "bytes", "name": "_callArgs", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "receiveCallFromComptroller" }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" }, { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "bytes", "name": "_configData", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "setConfigForFund" } ], "devdoc": { "kind": "dev", "methods": { "deactivateForFund()": { "details": "There will be no fees if the caller is not a valid ComptrollerProxy" }, "getEnabledFeesForFund(address)": { "params": { "_comptrollerProxy": "The ComptrollerProxy of the fund" }, "returns": { "enabledFees_": "An array of enabled fee addresses" } }, "getFeeSharesOutstandingForFund(address,address)": { "params": { "_comptrollerProxy": "The ComptrollerProxy of the fund", "_fee": "The fee address" }, "returns": { "sharesOutstanding_": "The amount of shares outstanding" } }, "getFundDeployer()": { "returns": { "fundDeployer_": "The `FUND_DEPLOYER` variable value" } }, "getOwner()": { "details": "Ownership is deferred to the owner of the FundDeployer contract", "returns": { "owner_": "The owner" } }, "getVaultProxyForFund(address)": { "params": { "_comptrollerProxy": "The ComptrollerProxy of the fund" }, "returns": { "vaultProxy_": "The VaultProxy of the fund" } }, "invokeHook(uint8,bytes,uint256)": { "params": { "_gav": "The GAV for a fund if known in the invocating code, otherwise 0", "_hook": "The FeeHook to invoke", "_settlementData": "The encoded settlement parameters specific to the FeeHook" } }, "receiveCallFromComptroller(address,uint256,bytes)": { "details": "This is the only way to call a function on this contract that updates VaultProxy state. For both of these actions, any caller is allowed, so we don't use the caller param.", "params": { "_actionId": "An ID representing the desired action", "_callArgs": "Encoded arguments specific to the _actionId" } }, "setConfigForFund(address,address,bytes)": { "details": "The order of `fees` determines the order in which fees of the same FeeHook will be applied. It is recommended to run ManagementFee before PerformanceFee in order to achieve precise PerformanceFee calcs.", "params": { "_comptrollerProxy": "The ComptrollerProxy of the fund", "_configData": "Encoded config data", "_vaultProxy": "The VaultProxy of the fund" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "activateForFund(bool)": { "notice": "Activate already-configured fees for use in the calling fund" }, "deactivateForFund()": { "notice": "Deactivate fees for a fund" }, "getEnabledFeesForFund(address)": { "notice": "Get a list of enabled fees for a given fund" }, "getFeeSharesOutstandingForFund(address,address)": { "notice": "Get the amount of shares outstanding for a particular fee for a fund" }, "getFundDeployer()": { "notice": "Gets the `FUND_DEPLOYER` variable" }, "getOwner()": { "notice": "Gets the owner of this contract" }, "getVaultProxyForFund(address)": { "notice": "Gets the verified VaultProxy for a given ComptrollerProxy" }, "invokeHook(uint8,bytes,uint256)": { "notice": "Allows all fees for a particular FeeHook to implement settle() and update() logic" }, "receiveCallFromComptroller(address,uint256,bytes)": { "notice": "Receives a dispatched `callOnExtension` from a fund's ComptrollerProxy" }, "setConfigForFund(address,address,bytes)": { "notice": "Enable and configure fees for use in the calling fund" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/fee-manager/FeeManager.sol": "FeeManager" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/vault/interfaces/IExternalPositionVault.sol": { "keccak256": "0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6", "urls": [ "bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d", "dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol": { "keccak256": "0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0", "urls": [ "bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb", "dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IMigratableVault.sol": { "keccak256": "0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238", "urls": [ "bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6", "dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IVaultCore.sol": { "keccak256": "0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80", "urls": [ "bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd", "dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr" ], "license": "GPL-3.0" }, "contracts/release/core/fund-deployer/IFundDeployer.sol": { "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", "urls": [ "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" ], "license": "GPL-3.0" }, "contracts/release/core/fund/comptroller/IComptroller.sol": { "keccak256": "0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f", "urls": [ "bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97", "dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L" ], "license": "GPL-3.0" }, "contracts/release/core/fund/vault/IVault.sol": { "keccak256": "0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd", "urls": [ "bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599", "dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG" ], "license": "GPL-3.0" }, "contracts/release/extensions/IExtension.sol": { "keccak256": "0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b", "urls": [ "bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70", "dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t" ], "license": "GPL-3.0" }, "contracts/release/extensions/fee-manager/FeeManager.sol": { "keccak256": "0xf3a3e504ca755cafda78f204d1e8005b6808854be0b5b19d17d9971ec49369a9", "urls": [ "bzz-raw://3b82ffb3926983b4c60ddf8cd80b14d4ae548ea9b6f9ebf87f3fe70ffa5a89b9", "dweb:/ipfs/QmfJE4i4ZTDWhPwwKQSfjfWYQ62BsDs3FrxavjmLFe3HzB" ], "license": "GPL-3.0" }, "contracts/release/extensions/fee-manager/IFee.sol": { "keccak256": "0x38e3f324c67f3205e38197165586ea82ca226069902f34214bcde76cf905fcff", "urls": [ "bzz-raw://c1fff656d1bdde3324421bc9e77cbfc4e80baf4e665f8713fdb65611b046f4b0", "dweb:/ipfs/QmVRFjNwmsVHdh4sp3DWdL74VWmhRhPZE5kDxJiuPL8Gu2" ], "license": "GPL-3.0" }, "contracts/release/extensions/fee-manager/IFeeManager.sol": { "keccak256": "0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51", "urls": [ "bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22", "dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod" ], "license": "GPL-3.0" }, "contracts/release/extensions/utils/ExtensionBase.sol": { "keccak256": "0xae68767766f6459bd2cd9dbd39df74f2c2f68f2150885bbce410e4091c807bb1", "urls": [ "bzz-raw://ce4c49522a39f618cc76feb474260fe910949f38e83b5f4518f1f245ba6eb876", "dweb:/ipfs/QmZ4wciRpziZAS4HRQy44Sgzm4GM4Wzme9zYnABzR6Cbzo" ], "license": "GPL-3.0" }, "contracts/release/extensions/utils/PermissionedVaultActionMixin.sol": { "keccak256": "0x77ddb9299d9c5f1538c20ae1543c20ef73db11ad7d9a9b817d26969ab233bb57", "urls": [ "bzz-raw://77812616256a092e0fd77469dcd2a2e098a1cf52686eeb6703a169efa64c27df", "dweb:/ipfs/QmbRPZznXSX3aA2VVJNpRqFXdJZebVDcDuY8EnF75Z7GpB" ], "license": "GPL-3.0" }, "contracts/release/utils/AddressArrayLib.sol": { "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", "urls": [ "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" ], "license": "GPL-3.0" }, "contracts/release/utils/FundDeployerOwnerMixin.sol": { "keccak256": "0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934", "urls": [ "bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927", "dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" } }, "version": 1 }, "id": 142 } diff --git a/eth_defi/abi/enzyme/FiduPriceFeed.json b/eth_defi/abi/enzyme/FiduPriceFeed.json index 284236e4..fde7fea6 100644 --- a/eth_defi/abi/enzyme/FiduPriceFeed.json +++ b/eth_defi/abi/enzyme/FiduPriceFeed.json @@ -1,303 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_fidu", - "type": "address" - }, - { - "internalType": "address", - "name": "_goldfinchSeniorPool", - "type": "address" - }, - { - "internalType": "address", - "name": "_usdc", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_derivative", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_derivativeAmount", - "type": "uint256" - } - ], - "name": "calcUnderlyingValues", - "outputs": [ - { - "internalType": "address[]", - "name": "underlyings_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "underlyingAmounts_", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_asset", - "type": "address" - } - ], - "name": "isSupportedAsset", - "outputs": [ - { - "internalType": "bool", - "name": "isSupported_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x60e060405234801561001057600080fd5b506040516106353803806106358339818101604052606081101561003357600080fd5b50805160208201516040909201516001600160601b0319606092831b811660805292821b831660a052901b1660c05260805160601c60a05160601c60c05160601c61059961009c60003980610358525080610199528061022f5250806103e952506105996000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063727212f61461003b5780639be918e614610100575b600080fd5b6100676004803603604081101561005157600080fd5b506001600160a01b03813516906020013561013a565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156100ab578181015183820152602001610093565b50505050905001838103825284818151815260200191508051906020019060200280838360005b838110156100ea5781810151838201526020016100d2565b5050505090500194505050505060405180910390f35b6101266004803603602081101561011657600080fd5b50356001600160a01b03166103e7565b604080519115158252519081900360200190f35b606080610146846103e7565b6101815760405162461bcd60e51b815260040180806020018281038252602c815260200180610561602c913960400191505060405180910390fd5b60006102296c0c9f2c9cd04674edea400000006102237f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663872697296040518163ffffffff1660e01b815260040160206040518083038186803b1580156101f057600080fd5b505afa158015610204573d6000803e3d6000fd5b505050506040513d602081101561021a57600080fd5b50518790610419565b9061047b565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166379502c556040518163ffffffff1660e01b815260040160206040518083038186803b15801561028657600080fd5b505afa15801561029a573d6000803e3d6000fd5b505050506040513d60208110156102b057600080fd5b505160408051631f8ac6cb60e31b815260048181015290516001600160a01b039092169163fc56365891602480820192602092909190829003018186803b1580156102fa57600080fd5b505afa15801561030e573d6000803e3d6000fd5b505050506040513d602081101561032457600080fd5b505190506000610334838361047b565b604080516001808252818301909252919250602080830190803683370190505094507f00000000000000000000000000000000000000000000000000000000000000008560008151811061038457fe5b6001600160a01b03929092166020928302919091018201526040805160018082528183019092529182810190803683370190505093506103c483826104e2565b846000815181106103d157fe5b6020026020010181815250505050509250929050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0390811691161490565b60008261042857506000610475565b8282028284828161043557fe5b04146104725760405162461bcd60e51b81526004018080602001828103825260218152602001806105406021913960400191505060405180910390fd5b90505b92915050565b60008082116104d1576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b8183816104da57fe5b049392505050565b600082821115610539576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b5090039056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7763616c63556e6465726c79696e6756616c7565733a20556e737570706f727465642064657269766174697665a164736f6c634300060c000a", - "sourceMap": "618:2460:243:-:0;;;1245:245;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1245:245:243;;;;;;;;;;;-1:-1:-1;;;;;;1245:245:243;1364:12;;;;;;;1386:75;;;;;;;1471:12;;;;;618:2460;;;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c8063727212f61461003b5780639be918e614610100575b600080fd5b6100676004803603604081101561005157600080fd5b506001600160a01b03813516906020013561013a565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156100ab578181015183820152602001610093565b50505050905001838103825284818151815260200191508051906020019060200280838360005b838110156100ea5781810151838201526020016100d2565b5050505090500194505050505060405180910390f35b6101266004803603602081101561011657600080fd5b50356001600160a01b03166103e7565b604080519115158252519081900360200190f35b606080610146846103e7565b6101815760405162461bcd60e51b815260040180806020018281038252602c815260200180610561602c913960400191505060405180910390fd5b60006102296c0c9f2c9cd04674edea400000006102237f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663872697296040518163ffffffff1660e01b815260040160206040518083038186803b1580156101f057600080fd5b505afa158015610204573d6000803e3d6000fd5b505050506040513d602081101561021a57600080fd5b50518790610419565b9061047b565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166379502c556040518163ffffffff1660e01b815260040160206040518083038186803b15801561028657600080fd5b505afa15801561029a573d6000803e3d6000fd5b505050506040513d60208110156102b057600080fd5b505160408051631f8ac6cb60e31b815260048181015290516001600160a01b039092169163fc56365891602480820192602092909190829003018186803b1580156102fa57600080fd5b505afa15801561030e573d6000803e3d6000fd5b505050506040513d602081101561032457600080fd5b505190506000610334838361047b565b604080516001808252818301909252919250602080830190803683370190505094507f00000000000000000000000000000000000000000000000000000000000000008560008151811061038457fe5b6001600160a01b03929092166020928302919091018201526040805160018082528183019092529182810190803683370190505093506103c483826104e2565b846000815181106103d157fe5b6020026020010181815250505050509250929050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0390811691161490565b60008261042857506000610475565b8282028284828161043557fe5b04146104725760405162461bcd60e51b81526004018080602001828103825260218152602001806105406021913960400191505060405180910390fd5b90505b92915050565b60008082116104d1576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b8183816104da57fe5b049392505050565b600082821115610539576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b5090039056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7763616c63556e6465726c79696e6756616c7565733a20556e737570706f727465642064657269766174697665a164736f6c634300060c000a", - "sourceMap": "618:2460:243:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1888:886;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1888:886:243;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2947:129;;;;;;;;;;;;;;;;-1:-1:-1;2947:129:243;-1:-1:-1;;;;;2947:129:243;;:::i;:::-;;;;;;;;;;;;;;;;;;1888:886;2017:29;2048:35;2107:29;2124:11;2107:16;:29::i;:::-;2099:86;;;;-1:-1:-1;;;2099:86:243;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2196:21;2220:118;903:4;2220:79;2255:30;-1:-1:-1;;;;;2255:41:243;;:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2255:43:243;2220:17;;:34;:79::i;:::-;:96;;:118::i;:::-;2196:142;;2349:30;2399;-1:-1:-1;;;;;2399:37:243;;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2399:39:243;2382:119;;;-1:-1:-1;;;2382:119:243;;1089:1;2382:119;;;;;;-1:-1:-1;;;;;2382:80:243;;;;;;:119;;;;;2399:39;;2382:119;;;;;;;;:80;:119;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2382:119:243;;-1:-1:-1;2511:23:243;2537:41;:13;2382:119;2537:17;:41::i;:::-;2604:16;;;2618:1;2604:16;;;;;;;;;2511:67;;-1:-1:-1;2604:16:243;;;;;;;;;;;-1:-1:-1;2604:16:243;2589:31;;2648:4;2630:12;2643:1;2630:15;;;;;;;;-1:-1:-1;;;;;2630:22:243;;;;:15;;;;;;;;;;:22;2683:16;;;2697:1;2683:16;;;;;;;;;;;;;;2630:15;2683:16;;;;;-1:-1:-1;;2662:37:243;-1:-1:-1;2733:34:243;:13;2751:15;2733:17;:34::i;:::-;2709:18;2728:1;2709:21;;;;;;;;;;;;;:58;;;;;1888:886;;;;;;;;:::o;2947:129::-;3065:4;-1:-1:-1;;;;;3055:14:243;;;;;;;2947:129::o;3538:215:442:-;3596:7;3619:6;3615:20;;-1:-1:-1;3634:1:442;3627:8;;3615:20;3657:5;;;3661:1;3657;:5;:1;3680:5;;;;;:10;3672:56;;;;-1:-1:-1;;;3672:56:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3745:1;-1:-1:-1;3538:215:442;;;;;:::o;4217:150::-;4275:7;4306:1;4302;:5;4294:44;;;;;-1:-1:-1;;;4294:44:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;4359:1;4355;:5;;;;;;;4217:150;-1:-1:-1;;;4217:150:442:o;3136:155::-;3194:7;3226:1;3221;:6;;3213:49;;;;;-1:-1:-1;;;3213:49:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3279:5:442;;;3136:155::o", - "linkReferences": {}, - "immutableReferences": { - "64976": [ - { - "start": 1001, - "length": 32 - } - ], - "64978": [ - { - "start": 409, - "length": 32 - }, - { - "start": 559, - "length": 32 - } - ], - "64980": [ - { - "start": 856, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "calcUnderlyingValues(address,uint256)": "727212f6", - "isSupportedAsset(address)": "9be918e6" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_fidu\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_goldfinchSeniorPool\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_usdc\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_derivative\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_derivativeAmount\",\"type\":\"uint256\"}],\"name\":\"calcUnderlyingValues\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"underlyings_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"underlyingAmounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"}],\"name\":\"isSupportedAsset\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isSupported_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"calcUnderlyingValues(address,uint256)\":{\"params\":{\"_derivative\":\"The derivative to convert\",\"_derivativeAmount\":\"The amount of the derivative to convert\"},\"returns\":{\"underlyingAmounts_\":\"The amount of each underlying asset for the equivalent derivative amount\",\"underlyings_\":\"The underlying assets for the _derivative\"}},\"isSupportedAsset(address)\":{\"params\":{\"_asset\":\"The asset to check\"},\"returns\":{\"isSupported_\":\"True if the asset is supported\"}}},\"title\":\"FiduPriceFeed Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"calcUnderlyingValues(address,uint256)\":{\"notice\":\"Converts a given amount of a derivative to its underlying asset values\"},\"isSupportedAsset(address)\":{\"notice\":\"Checks if an asset is supported by the price feed\"}},\"notice\":\"Price feed for Goldfinch FIDU token\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/infrastructure/price-feeds/derivatives/feeds/FiduPriceFeed.sol\":\"FiduPriceFeed\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol\":{\"keccak256\":\"0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e\",\"dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK\"]},\"contracts/release/infrastructure/price-feeds/derivatives/feeds/FiduPriceFeed.sol\":{\"keccak256\":\"0xc8cc5ed63dd45c19f356c72b5ad04810c7e887e330986fa7bd1dca75f805884d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://4e85d1970488f6461568623ae5ea1f6dcddffeee6feab7a80cc7a3226e205477\",\"dweb:/ipfs/QmWeisAcq65x2oi2iaJU8sBKb1FiyGeEZ4D1xAMv8uhJcz\"]},\"contracts/release/interfaces/IGoldfinchConfig.sol\":{\"keccak256\":\"0xcb4060c0278811ee27f445d12dfe1046246055d54520bd6ca107f1e94477d693\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://0080e4ed699883e83d58e689f227e5138a171878dffd41e8f27c393a54219932\",\"dweb:/ipfs/QmcAoYW14R2Q6wLX7CNxWgra6NrL1XjArKVSyJkUS5qu3F\"]},\"contracts/release/interfaces/IGoldfinchSeniorPool.sol\":{\"keccak256\":\"0x651e29127e7c1256ca109e0a227038c5a3eac2543c6523927438751033ad12f5\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://75ebbd304decb6ba7ee94278f5c555a4f43a258d50689ffa84c4efc05fbe8d9b\",\"dweb:/ipfs/QmcTSWXNj2yiZAoa4J7aQ4jbKvmfjKvmQX3LNF8m7nL6Q7\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_fidu", - "type": "address" - }, - { - "internalType": "address", - "name": "_goldfinchSeniorPool", - "type": "address" - }, - { - "internalType": "address", - "name": "_usdc", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_derivative", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_derivativeAmount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "calcUnderlyingValues", - "outputs": [ - { - "internalType": "address[]", - "name": "underlyings_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "underlyingAmounts_", - "type": "uint256[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_asset", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "isSupportedAsset", - "outputs": [ - { - "internalType": "bool", - "name": "isSupported_", - "type": "bool" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "calcUnderlyingValues(address,uint256)": { - "params": { - "_derivative": "The derivative to convert", - "_derivativeAmount": "The amount of the derivative to convert" - }, - "returns": { - "underlyingAmounts_": "The amount of each underlying asset for the equivalent derivative amount", - "underlyings_": "The underlying assets for the _derivative" - } - }, - "isSupportedAsset(address)": { - "params": { - "_asset": "The asset to check" - }, - "returns": { - "isSupported_": "True if the asset is supported" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "calcUnderlyingValues(address,uint256)": { - "notice": "Converts a given amount of a derivative to its underlying asset values" - }, - "isSupportedAsset(address)": { - "notice": "Checks if an asset is supported by the price feed" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/infrastructure/price-feeds/derivatives/feeds/FiduPriceFeed.sol": "FiduPriceFeed" - }, - "libraries": {} - }, - "sources": { - "contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol": { - "keccak256": "0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332", - "urls": [ - "bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e", - "dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/price-feeds/derivatives/feeds/FiduPriceFeed.sol": { - "keccak256": "0xc8cc5ed63dd45c19f356c72b5ad04810c7e887e330986fa7bd1dca75f805884d", - "urls": [ - "bzz-raw://4e85d1970488f6461568623ae5ea1f6dcddffeee6feab7a80cc7a3226e205477", - "dweb:/ipfs/QmWeisAcq65x2oi2iaJU8sBKb1FiyGeEZ4D1xAMv8uhJcz" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IGoldfinchConfig.sol": { - "keccak256": "0xcb4060c0278811ee27f445d12dfe1046246055d54520bd6ca107f1e94477d693", - "urls": [ - "bzz-raw://0080e4ed699883e83d58e689f227e5138a171878dffd41e8f27c393a54219932", - "dweb:/ipfs/QmcAoYW14R2Q6wLX7CNxWgra6NrL1XjArKVSyJkUS5qu3F" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IGoldfinchSeniorPool.sol": { - "keccak256": "0x651e29127e7c1256ca109e0a227038c5a3eac2543c6523927438751033ad12f5", - "urls": [ - "bzz-raw://75ebbd304decb6ba7ee94278f5c555a4f43a258d50689ffa84c4efc05fbe8d9b", - "dweb:/ipfs/QmcTSWXNj2yiZAoa4J7aQ4jbKvmfjKvmQX3LNF8m7nL6Q7" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 243 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_fidu", "type": "address", "internalType": "address" }, { "name": "_goldfinchSeniorPool", "type": "address", "internalType": "address" }, { "name": "_usdc", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "calcUnderlyingValues", "inputs": [ { "name": "_derivative", "type": "address", "internalType": "address" }, { "name": "_derivativeAmount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "underlyings_", "type": "address[]", "internalType": "address[]" }, { "name": "underlyingAmounts_", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "isSupportedAsset", "inputs": [ { "name": "_asset", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "isSupported_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" } ], "bytecode": { "object": "0x60e060405234801561001057600080fd5b506040516106353803806106358339818101604052606081101561003357600080fd5b50805160208201516040909201516001600160601b0319606092831b811660805292821b831660a052901b1660c05260805160601c60a05160601c60c05160601c61059961009c60003980610358525080610199528061022f5250806103e952506105996000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063727212f61461003b5780639be918e614610100575b600080fd5b6100676004803603604081101561005157600080fd5b506001600160a01b03813516906020013561013a565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156100ab578181015183820152602001610093565b50505050905001838103825284818151815260200191508051906020019060200280838360005b838110156100ea5781810151838201526020016100d2565b5050505090500194505050505060405180910390f35b6101266004803603602081101561011657600080fd5b50356001600160a01b03166103e7565b604080519115158252519081900360200190f35b606080610146846103e7565b6101815760405162461bcd60e51b815260040180806020018281038252602c815260200180610561602c913960400191505060405180910390fd5b60006102296c0c9f2c9cd04674edea400000006102237f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663872697296040518163ffffffff1660e01b815260040160206040518083038186803b1580156101f057600080fd5b505afa158015610204573d6000803e3d6000fd5b505050506040513d602081101561021a57600080fd5b50518790610419565b9061047b565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166379502c556040518163ffffffff1660e01b815260040160206040518083038186803b15801561028657600080fd5b505afa15801561029a573d6000803e3d6000fd5b505050506040513d60208110156102b057600080fd5b505160408051631f8ac6cb60e31b815260048181015290516001600160a01b039092169163fc56365891602480820192602092909190829003018186803b1580156102fa57600080fd5b505afa15801561030e573d6000803e3d6000fd5b505050506040513d602081101561032457600080fd5b505190506000610334838361047b565b604080516001808252818301909252919250602080830190803683370190505094507f00000000000000000000000000000000000000000000000000000000000000008560008151811061038457fe5b6001600160a01b03929092166020928302919091018201526040805160018082528183019092529182810190803683370190505093506103c483826104e2565b846000815181106103d157fe5b6020026020010181815250505050509250929050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0390811691161490565b60008261042857506000610475565b8282028284828161043557fe5b04146104725760405162461bcd60e51b81526004018080602001828103825260218152602001806105406021913960400191505060405180910390fd5b90505b92915050565b60008082116104d1576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b8183816104da57fe5b049392505050565b600082821115610539576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b5090039056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7763616c63556e6465726c79696e6756616c7565733a20556e737570706f727465642064657269766174697665a164736f6c634300060c000a", "sourceMap": "618:2460:243:-:0;;;1245:245;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1245:245:243;;;;;;;;;;;-1:-1:-1;;;;;;1245:245:243;1364:12;;;;;;;1386:75;;;;;;;1471:12;;;;;618:2460;;;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c8063727212f61461003b5780639be918e614610100575b600080fd5b6100676004803603604081101561005157600080fd5b506001600160a01b03813516906020013561013a565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156100ab578181015183820152602001610093565b50505050905001838103825284818151815260200191508051906020019060200280838360005b838110156100ea5781810151838201526020016100d2565b5050505090500194505050505060405180910390f35b6101266004803603602081101561011657600080fd5b50356001600160a01b03166103e7565b604080519115158252519081900360200190f35b606080610146846103e7565b6101815760405162461bcd60e51b815260040180806020018281038252602c815260200180610561602c913960400191505060405180910390fd5b60006102296c0c9f2c9cd04674edea400000006102237f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663872697296040518163ffffffff1660e01b815260040160206040518083038186803b1580156101f057600080fd5b505afa158015610204573d6000803e3d6000fd5b505050506040513d602081101561021a57600080fd5b50518790610419565b9061047b565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166379502c556040518163ffffffff1660e01b815260040160206040518083038186803b15801561028657600080fd5b505afa15801561029a573d6000803e3d6000fd5b505050506040513d60208110156102b057600080fd5b505160408051631f8ac6cb60e31b815260048181015290516001600160a01b039092169163fc56365891602480820192602092909190829003018186803b1580156102fa57600080fd5b505afa15801561030e573d6000803e3d6000fd5b505050506040513d602081101561032457600080fd5b505190506000610334838361047b565b604080516001808252818301909252919250602080830190803683370190505094507f00000000000000000000000000000000000000000000000000000000000000008560008151811061038457fe5b6001600160a01b03929092166020928302919091018201526040805160018082528183019092529182810190803683370190505093506103c483826104e2565b846000815181106103d157fe5b6020026020010181815250505050509250929050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0390811691161490565b60008261042857506000610475565b8282028284828161043557fe5b04146104725760405162461bcd60e51b81526004018080602001828103825260218152602001806105406021913960400191505060405180910390fd5b90505b92915050565b60008082116104d1576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b8183816104da57fe5b049392505050565b600082821115610539576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b5090039056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7763616c63556e6465726c79696e6756616c7565733a20556e737570706f727465642064657269766174697665a164736f6c634300060c000a", "sourceMap": "618:2460:243:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1888:886;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1888:886:243;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2947:129;;;;;;;;;;;;;;;;-1:-1:-1;2947:129:243;-1:-1:-1;;;;;2947:129:243;;:::i;:::-;;;;;;;;;;;;;;;;;;1888:886;2017:29;2048:35;2107:29;2124:11;2107:16;:29::i;:::-;2099:86;;;;-1:-1:-1;;;2099:86:243;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2196:21;2220:118;903:4;2220:79;2255:30;-1:-1:-1;;;;;2255:41:243;;:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2255:43:243;2220:17;;:34;:79::i;:::-;:96;;:118::i;:::-;2196:142;;2349:30;2399;-1:-1:-1;;;;;2399:37:243;;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2399:39:243;2382:119;;;-1:-1:-1;;;2382:119:243;;1089:1;2382:119;;;;;;-1:-1:-1;;;;;2382:80:243;;;;;;:119;;;;;2399:39;;2382:119;;;;;;;;:80;:119;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2382:119:243;;-1:-1:-1;2511:23:243;2537:41;:13;2382:119;2537:17;:41::i;:::-;2604:16;;;2618:1;2604:16;;;;;;;;;2511:67;;-1:-1:-1;2604:16:243;;;;;;;;;;;-1:-1:-1;2604:16:243;2589:31;;2648:4;2630:12;2643:1;2630:15;;;;;;;;-1:-1:-1;;;;;2630:22:243;;;;:15;;;;;;;;;;:22;2683:16;;;2697:1;2683:16;;;;;;;;;;;;;;2630:15;2683:16;;;;;-1:-1:-1;;2662:37:243;-1:-1:-1;2733:34:243;:13;2751:15;2733:17;:34::i;:::-;2709:18;2728:1;2709:21;;;;;;;;;;;;;:58;;;;;1888:886;;;;;;;;:::o;2947:129::-;3065:4;-1:-1:-1;;;;;3055:14:243;;;;;;;2947:129::o;3538:215:442:-;3596:7;3619:6;3615:20;;-1:-1:-1;3634:1:442;3627:8;;3615:20;3657:5;;;3661:1;3657;:5;:1;3680:5;;;;;:10;3672:56;;;;-1:-1:-1;;;3672:56:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3745:1;-1:-1:-1;3538:215:442;;;;;:::o;4217:150::-;4275:7;4306:1;4302;:5;4294:44;;;;;-1:-1:-1;;;4294:44:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;4359:1;4355;:5;;;;;;;4217:150;-1:-1:-1;;;4217:150:442:o;3136:155::-;3194:7;3226:1;3221;:6;;3213:49;;;;;-1:-1:-1;;;3213:49:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3279:5:442;;;3136:155::o", "linkReferences": {}, "immutableReferences": { "64976": [ { "start": 1001, "length": 32 } ], "64978": [ { "start": 409, "length": 32 }, { "start": 559, "length": 32 } ], "64980": [ { "start": 856, "length": 32 } ] } }, "methodIdentifiers": { "calcUnderlyingValues(address,uint256)": "727212f6", "isSupportedAsset(address)": "9be918e6" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_fidu\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_goldfinchSeniorPool\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_usdc\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_derivative\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_derivativeAmount\",\"type\":\"uint256\"}],\"name\":\"calcUnderlyingValues\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"underlyings_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"underlyingAmounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"}],\"name\":\"isSupportedAsset\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isSupported_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"calcUnderlyingValues(address,uint256)\":{\"params\":{\"_derivative\":\"The derivative to convert\",\"_derivativeAmount\":\"The amount of the derivative to convert\"},\"returns\":{\"underlyingAmounts_\":\"The amount of each underlying asset for the equivalent derivative amount\",\"underlyings_\":\"The underlying assets for the _derivative\"}},\"isSupportedAsset(address)\":{\"params\":{\"_asset\":\"The asset to check\"},\"returns\":{\"isSupported_\":\"True if the asset is supported\"}}},\"title\":\"FiduPriceFeed Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"calcUnderlyingValues(address,uint256)\":{\"notice\":\"Converts a given amount of a derivative to its underlying asset values\"},\"isSupportedAsset(address)\":{\"notice\":\"Checks if an asset is supported by the price feed\"}},\"notice\":\"Price feed for Goldfinch FIDU token\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/infrastructure/price-feeds/derivatives/feeds/FiduPriceFeed.sol\":\"FiduPriceFeed\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol\":{\"keccak256\":\"0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e\",\"dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK\"]},\"contracts/release/infrastructure/price-feeds/derivatives/feeds/FiduPriceFeed.sol\":{\"keccak256\":\"0xc8cc5ed63dd45c19f356c72b5ad04810c7e887e330986fa7bd1dca75f805884d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://4e85d1970488f6461568623ae5ea1f6dcddffeee6feab7a80cc7a3226e205477\",\"dweb:/ipfs/QmWeisAcq65x2oi2iaJU8sBKb1FiyGeEZ4D1xAMv8uhJcz\"]},\"contracts/release/interfaces/IGoldfinchConfig.sol\":{\"keccak256\":\"0xcb4060c0278811ee27f445d12dfe1046246055d54520bd6ca107f1e94477d693\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://0080e4ed699883e83d58e689f227e5138a171878dffd41e8f27c393a54219932\",\"dweb:/ipfs/QmcAoYW14R2Q6wLX7CNxWgra6NrL1XjArKVSyJkUS5qu3F\"]},\"contracts/release/interfaces/IGoldfinchSeniorPool.sol\":{\"keccak256\":\"0x651e29127e7c1256ca109e0a227038c5a3eac2543c6523927438751033ad12f5\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://75ebbd304decb6ba7ee94278f5c555a4f43a258d50689ffa84c4efc05fbe8d9b\",\"dweb:/ipfs/QmcTSWXNj2yiZAoa4J7aQ4jbKvmfjKvmQX3LNF8m7nL6Q7\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_fidu", "type": "address" }, { "internalType": "address", "name": "_goldfinchSeniorPool", "type": "address" }, { "internalType": "address", "name": "_usdc", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "_derivative", "type": "address" }, { "internalType": "uint256", "name": "_derivativeAmount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "calcUnderlyingValues", "outputs": [ { "internalType": "address[]", "name": "underlyings_", "type": "address[]" }, { "internalType": "uint256[]", "name": "underlyingAmounts_", "type": "uint256[]" } ] }, { "inputs": [ { "internalType": "address", "name": "_asset", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "isSupportedAsset", "outputs": [ { "internalType": "bool", "name": "isSupported_", "type": "bool" } ] } ], "devdoc": { "kind": "dev", "methods": { "calcUnderlyingValues(address,uint256)": { "params": { "_derivative": "The derivative to convert", "_derivativeAmount": "The amount of the derivative to convert" }, "returns": { "underlyingAmounts_": "The amount of each underlying asset for the equivalent derivative amount", "underlyings_": "The underlying assets for the _derivative" } }, "isSupportedAsset(address)": { "params": { "_asset": "The asset to check" }, "returns": { "isSupported_": "True if the asset is supported" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "calcUnderlyingValues(address,uint256)": { "notice": "Converts a given amount of a derivative to its underlying asset values" }, "isSupportedAsset(address)": { "notice": "Checks if an asset is supported by the price feed" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/infrastructure/price-feeds/derivatives/feeds/FiduPriceFeed.sol": "FiduPriceFeed" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol": { "keccak256": "0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332", "urls": [ "bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e", "dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/price-feeds/derivatives/feeds/FiduPriceFeed.sol": { "keccak256": "0xc8cc5ed63dd45c19f356c72b5ad04810c7e887e330986fa7bd1dca75f805884d", "urls": [ "bzz-raw://4e85d1970488f6461568623ae5ea1f6dcddffeee6feab7a80cc7a3226e205477", "dweb:/ipfs/QmWeisAcq65x2oi2iaJU8sBKb1FiyGeEZ4D1xAMv8uhJcz" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IGoldfinchConfig.sol": { "keccak256": "0xcb4060c0278811ee27f445d12dfe1046246055d54520bd6ca107f1e94477d693", "urls": [ "bzz-raw://0080e4ed699883e83d58e689f227e5138a171878dffd41e8f27c393a54219932", "dweb:/ipfs/QmcAoYW14R2Q6wLX7CNxWgra6NrL1XjArKVSyJkUS5qu3F" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IGoldfinchSeniorPool.sol": { "keccak256": "0x651e29127e7c1256ca109e0a227038c5a3eac2543c6523927438751033ad12f5", "urls": [ "bzz-raw://75ebbd304decb6ba7ee94278f5c555a4f43a258d50689ffa84c4efc05fbe8d9b", "dweb:/ipfs/QmcTSWXNj2yiZAoa4J7aQ4jbKvmfjKvmQX3LNF8m7nL6Q7" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" } }, "version": 1 }, "id": 243 } diff --git a/eth_defi/abi/enzyme/FixedPoint128.json b/eth_defi/abi/enzyme/FixedPoint128.json index 6a09bf8b..2b727647 100644 --- a/eth_defi/abi/enzyme/FixedPoint128.json +++ b/eth_defi/abi/enzyme/FixedPoint128.json @@ -1,78 +1 @@ -{ - "abi": [], - "bytecode": { - "object": "0x602d6023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c6343000706000a", - "sourceMap": "211:99:35:-:0;;;;;;;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c6343000706000a", - "sourceMap": "211:99:35:-:0;;;;;;;;", - "linkReferences": {} - }, - "methodIdentifiers": {}, - "rawMetadata": "{\"compiler\":{\"version\":\"0.7.6+commit.7338295f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"title\":\"FixedPoint128\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"A library for handling binary fixed point numbers, see https://en.wikipedia.org/wiki/Q_(number_format)\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@uniswap/v3-core/contracts/libraries/FixedPoint128.sol\":\"FixedPoint128\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"node_modules/@uniswap/v3-core/contracts/libraries/FixedPoint128.sol\":{\"keccak256\":\"0x2d1f4f73ae0d8f0a210b8d30084659b57c56ac8f2f96011fca36f00a6d417178\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://2ba88933f16cd2df398e19c6ad227268f83c03081b70d243c97116d2ed9bc241\",\"dweb:/ipfs/QmTUGxdh8snzEM9VrTSS47StCg9VVWvvLJtJeNnMTFY4xb\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.7.6+commit.7338295f" - }, - "language": "Solidity", - "output": { - "abi": [], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "node_modules/@uniswap/v3-core/contracts/libraries/FixedPoint128.sol": "FixedPoint128" - }, - "libraries": {} - }, - "sources": { - "node_modules/@uniswap/v3-core/contracts/libraries/FixedPoint128.sol": { - "keccak256": "0x2d1f4f73ae0d8f0a210b8d30084659b57c56ac8f2f96011fca36f00a6d417178", - "urls": [ - "bzz-raw://2ba88933f16cd2df398e19c6ad227268f83c03081b70d243c97116d2ed9bc241", - "dweb:/ipfs/QmTUGxdh8snzEM9VrTSS47StCg9VVWvvLJtJeNnMTFY4xb" - ], - "license": "GPL-2.0-or-later" - } - }, - "version": 1 - }, - "id": 35 -} +{ "abi": [], "bytecode": { "object": "0x602d6023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c6343000706000a", "sourceMap": "211:99:35:-:0;;;;;;;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c6343000706000a", "sourceMap": "211:99:35:-:0;;;;;;;;", "linkReferences": {} }, "methodIdentifiers": {}, "rawMetadata": "{\"compiler\":{\"version\":\"0.7.6+commit.7338295f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"title\":\"FixedPoint128\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"A library for handling binary fixed point numbers, see https://en.wikipedia.org/wiki/Q_(number_format)\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@uniswap/v3-core/contracts/libraries/FixedPoint128.sol\":\"FixedPoint128\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"node_modules/@uniswap/v3-core/contracts/libraries/FixedPoint128.sol\":{\"keccak256\":\"0x2d1f4f73ae0d8f0a210b8d30084659b57c56ac8f2f96011fca36f00a6d417178\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://2ba88933f16cd2df398e19c6ad227268f83c03081b70d243c97116d2ed9bc241\",\"dweb:/ipfs/QmTUGxdh8snzEM9VrTSS47StCg9VVWvvLJtJeNnMTFY4xb\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.7.6+commit.7338295f" }, "language": "Solidity", "output": { "abi": [], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "node_modules/@uniswap/v3-core/contracts/libraries/FixedPoint128.sol": "FixedPoint128" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "node_modules/@uniswap/v3-core/contracts/libraries/FixedPoint128.sol": { "keccak256": "0x2d1f4f73ae0d8f0a210b8d30084659b57c56ac8f2f96011fca36f00a6d417178", "urls": [ "bzz-raw://2ba88933f16cd2df398e19c6ad227268f83c03081b70d243c97116d2ed9bc241", "dweb:/ipfs/QmTUGxdh8snzEM9VrTSS47StCg9VVWvvLJtJeNnMTFY4xb" ], "license": "GPL-2.0-or-later" } }, "version": 1 }, "id": 35 } diff --git a/eth_defi/abi/enzyme/FixedPoint96.json b/eth_defi/abi/enzyme/FixedPoint96.json index db67467a..b28ae230 100644 --- a/eth_defi/abi/enzyme/FixedPoint96.json +++ b/eth_defi/abi/enzyme/FixedPoint96.json @@ -1,78 +1 @@ -{ - "abi": [], - "bytecode": { - "object": "0x602d6023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c6343000706000a", - "sourceMap": "245:134:36:-:0;;;;;;;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c6343000706000a", - "sourceMap": "245:134:36:-:0;;;;;;;;", - "linkReferences": {} - }, - "methodIdentifiers": {}, - "rawMetadata": "{\"compiler\":{\"version\":\"0.7.6+commit.7338295f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Used in SqrtPriceMath.sol\",\"kind\":\"dev\",\"methods\":{},\"title\":\"FixedPoint96\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"A library for handling binary fixed point numbers, see https://en.wikipedia.org/wiki/Q_(number_format)\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@uniswap/v3-core/contracts/libraries/FixedPoint96.sol\":\"FixedPoint96\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"node_modules/@uniswap/v3-core/contracts/libraries/FixedPoint96.sol\":{\"keccak256\":\"0x0ba8a9b95a956a4050749c0158e928398c447c91469682ca8a7cc7e77a7fe032\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://186d3b528866065a5856f96d2aeec698efa99f8da913e9adf34f8cc296cc993d\",\"dweb:/ipfs/QmUAiMvtAQp8c9dy57bqJYzG7hkb1uChiPaQmt264skoqP\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.7.6+commit.7338295f" - }, - "language": "Solidity", - "output": { - "abi": [], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "node_modules/@uniswap/v3-core/contracts/libraries/FixedPoint96.sol": "FixedPoint96" - }, - "libraries": {} - }, - "sources": { - "node_modules/@uniswap/v3-core/contracts/libraries/FixedPoint96.sol": { - "keccak256": "0x0ba8a9b95a956a4050749c0158e928398c447c91469682ca8a7cc7e77a7fe032", - "urls": [ - "bzz-raw://186d3b528866065a5856f96d2aeec698efa99f8da913e9adf34f8cc296cc993d", - "dweb:/ipfs/QmUAiMvtAQp8c9dy57bqJYzG7hkb1uChiPaQmt264skoqP" - ], - "license": "GPL-2.0-or-later" - } - }, - "version": 1 - }, - "id": 36 -} +{ "abi": [], "bytecode": { "object": "0x602d6023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c6343000706000a", "sourceMap": "245:134:36:-:0;;;;;;;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c6343000706000a", "sourceMap": "245:134:36:-:0;;;;;;;;", "linkReferences": {} }, "methodIdentifiers": {}, "rawMetadata": "{\"compiler\":{\"version\":\"0.7.6+commit.7338295f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Used in SqrtPriceMath.sol\",\"kind\":\"dev\",\"methods\":{},\"title\":\"FixedPoint96\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"A library for handling binary fixed point numbers, see https://en.wikipedia.org/wiki/Q_(number_format)\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@uniswap/v3-core/contracts/libraries/FixedPoint96.sol\":\"FixedPoint96\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"node_modules/@uniswap/v3-core/contracts/libraries/FixedPoint96.sol\":{\"keccak256\":\"0x0ba8a9b95a956a4050749c0158e928398c447c91469682ca8a7cc7e77a7fe032\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://186d3b528866065a5856f96d2aeec698efa99f8da913e9adf34f8cc296cc993d\",\"dweb:/ipfs/QmUAiMvtAQp8c9dy57bqJYzG7hkb1uChiPaQmt264skoqP\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.7.6+commit.7338295f" }, "language": "Solidity", "output": { "abi": [], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "node_modules/@uniswap/v3-core/contracts/libraries/FixedPoint96.sol": "FixedPoint96" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "node_modules/@uniswap/v3-core/contracts/libraries/FixedPoint96.sol": { "keccak256": "0x0ba8a9b95a956a4050749c0158e928398c447c91469682ca8a7cc7e77a7fe032", "urls": [ "bzz-raw://186d3b528866065a5856f96d2aeec698efa99f8da913e9adf34f8cc296cc993d", "dweb:/ipfs/QmUAiMvtAQp8c9dy57bqJYzG7hkb1uChiPaQmt264skoqP" ], "license": "GPL-2.0-or-later" } }, "version": 1 }, "id": 36 } diff --git a/eth_defi/abi/enzyme/FullMath.json b/eth_defi/abi/enzyme/FullMath.json index adeb2316..11985ead 100644 --- a/eth_defi/abi/enzyme/FullMath.json +++ b/eth_defi/abi/enzyme/FullMath.json @@ -1,78 +1 @@ -{ - "abi": [], - "bytecode": { - "object": "0x602d6023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c6343000706000a", - "sourceMap": "355:4762:37:-:0;;;;;;;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c6343000706000a", - "sourceMap": "355:4762:37:-:0;;;;;;;;", - "linkReferences": {} - }, - "methodIdentifiers": {}, - "rawMetadata": "{\"compiler\":{\"version\":\"0.7.6+commit.7338295f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Handles \\\"phantom overflow\\\" i.e., allows multiplication and division where an intermediate value overflows 256 bits\",\"kind\":\"dev\",\"methods\":{},\"title\":\"Contains 512-bit math functions\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Facilitates multiplication and division that can have overflow of an intermediate value without any loss of precision\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@uniswap/v3-core/contracts/libraries/FullMath.sol\":\"FullMath\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"node_modules/@uniswap/v3-core/contracts/libraries/FullMath.sol\":{\"keccak256\":\"0xe511530871deaef86692cea9adb6076d26d7b47fd4815ce51af52af981026057\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5a6ae776be3e7dcbd23d49ffbc9d792fed0ddf4b111ebb64b9bb2133ec263e\",\"dweb:/ipfs/QmbAUtWqvipzEARQpFpkzYKBELy3qeW5WXnZxHFU84sxG7\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.7.6+commit.7338295f" - }, - "language": "Solidity", - "output": { - "abi": [], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "node_modules/@uniswap/v3-core/contracts/libraries/FullMath.sol": "FullMath" - }, - "libraries": {} - }, - "sources": { - "node_modules/@uniswap/v3-core/contracts/libraries/FullMath.sol": { - "keccak256": "0xe511530871deaef86692cea9adb6076d26d7b47fd4815ce51af52af981026057", - "urls": [ - "bzz-raw://bc5a6ae776be3e7dcbd23d49ffbc9d792fed0ddf4b111ebb64b9bb2133ec263e", - "dweb:/ipfs/QmbAUtWqvipzEARQpFpkzYKBELy3qeW5WXnZxHFU84sxG7" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 37 -} +{ "abi": [], "bytecode": { "object": "0x602d6023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c6343000706000a", "sourceMap": "355:4762:37:-:0;;;;;;;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c6343000706000a", "sourceMap": "355:4762:37:-:0;;;;;;;;", "linkReferences": {} }, "methodIdentifiers": {}, "rawMetadata": "{\"compiler\":{\"version\":\"0.7.6+commit.7338295f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Handles \\\"phantom overflow\\\" i.e., allows multiplication and division where an intermediate value overflows 256 bits\",\"kind\":\"dev\",\"methods\":{},\"title\":\"Contains 512-bit math functions\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Facilitates multiplication and division that can have overflow of an intermediate value without any loss of precision\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@uniswap/v3-core/contracts/libraries/FullMath.sol\":\"FullMath\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"node_modules/@uniswap/v3-core/contracts/libraries/FullMath.sol\":{\"keccak256\":\"0xe511530871deaef86692cea9adb6076d26d7b47fd4815ce51af52af981026057\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5a6ae776be3e7dcbd23d49ffbc9d792fed0ddf4b111ebb64b9bb2133ec263e\",\"dweb:/ipfs/QmbAUtWqvipzEARQpFpkzYKBELy3qeW5WXnZxHFU84sxG7\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.7.6+commit.7338295f" }, "language": "Solidity", "output": { "abi": [], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "node_modules/@uniswap/v3-core/contracts/libraries/FullMath.sol": "FullMath" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "node_modules/@uniswap/v3-core/contracts/libraries/FullMath.sol": { "keccak256": "0xe511530871deaef86692cea9adb6076d26d7b47fd4815ce51af52af981026057", "urls": [ "bzz-raw://bc5a6ae776be3e7dcbd23d49ffbc9d792fed0ddf4b111ebb64b9bb2133ec263e", "dweb:/ipfs/QmbAUtWqvipzEARQpFpkzYKBELy3qeW5WXnZxHFU84sxG7" ], "license": "MIT" } }, "version": 1 }, "id": 37 } diff --git a/eth_defi/abi/enzyme/FundDeployer.json b/eth_defi/abi/enzyme/FundDeployer.json index 49d44fa5..5c98f45d 100644 --- a/eth_defi/abi/enzyme/FundDeployer.json +++ b/eth_defi/abi/enzyme/FundDeployer.json @@ -1,2643 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_dispatcher", - "type": "address" - }, - { - "internalType": "address", - "name": "_gasRelayPaymasterFactory", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "caller", - "type": "address" - } - ], - "name": "BuySharesOnBehalfCallerDeregistered", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "caller", - "type": "address" - } - ], - "name": "BuySharesOnBehalfCallerRegistered", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "comptrollerLib", - "type": "address" - } - ], - "name": "ComptrollerLibSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "creator", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "comptrollerProxy", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "denominationAsset", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "sharesActionTimelock", - "type": "uint256" - } - ], - "name": "ComptrollerProxyDeployed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "nextDeactivateFeeManagerGasLimit", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "nextPayProtocolFeeGasLimit", - "type": "uint256" - } - ], - "name": "GasLimitsForDestructCallSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "creator", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "vaultProxy", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "comptrollerProxy", - "type": "address" - } - ], - "name": "MigrationRequestCreated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "creator", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "vaultProxy", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "comptrollerProxy", - "type": "address" - } - ], - "name": "NewFundCreated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "protocolFeeTracker", - "type": "address" - } - ], - "name": "ProtocolFeeTrackerSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "vaultProxy", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "nextComptrollerProxy", - "type": "address" - } - ], - "name": "ReconfigurationRequestCancelled", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "creator", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "vaultProxy", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "comptrollerProxy", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "executableTimestamp", - "type": "uint256" - } - ], - "name": "ReconfigurationRequestCreated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "vaultProxy", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "prevComptrollerProxy", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "nextComptrollerProxy", - "type": "address" - } - ], - "name": "ReconfigurationRequestExecuted", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "nextTimelock", - "type": "uint256" - } - ], - "name": "ReconfigurationTimelockSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [], - "name": "ReleaseIsLive", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "contractAddress", - "type": "address" - }, - { - "indexed": false, - "internalType": "bytes4", - "name": "selector", - "type": "bytes4" - }, - { - "indexed": false, - "internalType": "bytes32", - "name": "dataHash", - "type": "bytes32" - } - ], - "name": "VaultCallDeregistered", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "contractAddress", - "type": "address" - }, - { - "indexed": false, - "internalType": "bytes4", - "name": "selector", - "type": "bytes4" - }, - { - "indexed": false, - "internalType": "bytes32", - "name": "dataHash", - "type": "bytes32" - } - ], - "name": "VaultCallRegistered", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "vaultLib", - "type": "address" - } - ], - "name": "VaultLibSet", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bool", - "name": "_bypassPrevReleaseFailure", - "type": "bool" - } - ], - "name": "cancelMigration", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - } - ], - "name": "cancelReconfiguration", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_denominationAsset", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_sharesActionTimelock", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_feeManagerConfigData", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "_policyManagerConfigData", - "type": "bytes" - }, - { - "internalType": "bool", - "name": "_bypassPrevReleaseFailure", - "type": "bool" - } - ], - "name": "createMigrationRequest", - "outputs": [ - { - "internalType": "address", - "name": "comptrollerProxy_", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_fundOwner", - "type": "address" - }, - { - "internalType": "string", - "name": "_fundName", - "type": "string" - }, - { - "internalType": "string", - "name": "_fundSymbol", - "type": "string" - }, - { - "internalType": "address", - "name": "_denominationAsset", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_sharesActionTimelock", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_feeManagerConfigData", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "_policyManagerConfigData", - "type": "bytes" - } - ], - "name": "createNewFund", - "outputs": [ - { - "internalType": "address", - "name": "comptrollerProxy_", - "type": "address" - }, - { - "internalType": "address", - "name": "vaultProxy_", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_denominationAsset", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_sharesActionTimelock", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_feeManagerConfigData", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "_policyManagerConfigData", - "type": "bytes" - } - ], - "name": "createReconfigurationRequest", - "outputs": [ - { - "internalType": "address", - "name": "comptrollerProxy_", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_callers", - "type": "address[]" - } - ], - "name": "deregisterBuySharesOnBehalfCallers", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_contracts", - "type": "address[]" - }, - { - "internalType": "bytes4[]", - "name": "_selectors", - "type": "bytes4[]" - }, - { - "internalType": "bytes32[]", - "name": "_dataHashes", - "type": "bytes32[]" - } - ], - "name": "deregisterVaultCalls", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bool", - "name": "_bypassPrevReleaseFailure", - "type": "bool" - } - ], - "name": "executeMigration", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - } - ], - "name": "executeReconfiguration", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getComptrollerLib", - "outputs": [ - { - "internalType": "address", - "name": "comptrollerLib_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getCreator", - "outputs": [ - { - "internalType": "address", - "name": "creator_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getDispatcher", - "outputs": [ - { - "internalType": "address", - "name": "dispatcher_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getGasLimitsForDestructCall", - "outputs": [ - { - "internalType": "uint256", - "name": "deactivateFeeManagerGasLimit_", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "payProtocolFeeGasLimit_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getGasRelayPaymasterFactory", - "outputs": [ - { - "internalType": "address", - "name": "gasRelayPaymasterFactory_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getGasRelayTrustedForwarder", - "outputs": [ - { - "internalType": "address", - "name": "trustedForwarder_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "owner_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getProtocolFeeTracker", - "outputs": [ - { - "internalType": "address", - "name": "protocolFeeTracker_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - } - ], - "name": "getReconfigurationRequestForVaultProxy", - "outputs": [ - { - "components": [ - { - "internalType": "address", - "name": "nextComptrollerProxy", - "type": "address" - }, - { - "internalType": "uint256", - "name": "executableTimestamp", - "type": "uint256" - } - ], - "internalType": "struct FundDeployer.ReconfigurationRequest", - "name": "reconfigurationRequest_", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getReconfigurationTimelock", - "outputs": [ - { - "internalType": "uint256", - "name": "reconfigurationTimelock_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getVaultLib", - "outputs": [ - { - "internalType": "address", - "name": "vaultLib_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - } - ], - "name": "hasReconfigurationRequest", - "outputs": [ - { - "internalType": "bool", - "name": "hasReconfigurationRequest_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "_nextComptrollerProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "invokeMigrationInCancelHook", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "enum IMigrationHookHandler.MigrationOutHook", - "name": "_hook", - "type": "uint8" - }, - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "invokeMigrationOutHook", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_who", - "type": "address" - } - ], - "name": "isAllowedBuySharesOnBehalfCaller", - "outputs": [ - { - "internalType": "bool", - "name": "isAllowed_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_contract", - "type": "address" - }, - { - "internalType": "bytes4", - "name": "_selector", - "type": "bytes4" - }, - { - "internalType": "bytes32", - "name": "_dataHash", - "type": "bytes32" - } - ], - "name": "isAllowedVaultCall", - "outputs": [ - { - "internalType": "bool", - "name": "isAllowed_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_contract", - "type": "address" - }, - { - "internalType": "bytes4", - "name": "_selector", - "type": "bytes4" - }, - { - "internalType": "bytes32", - "name": "_dataHash", - "type": "bytes32" - } - ], - "name": "isRegisteredVaultCall", - "outputs": [ - { - "internalType": "bool", - "name": "isRegistered_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_callers", - "type": "address[]" - } - ], - "name": "registerBuySharesOnBehalfCallers", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_contracts", - "type": "address[]" - }, - { - "internalType": "bytes4[]", - "name": "_selectors", - "type": "bytes4[]" - }, - { - "internalType": "bytes32[]", - "name": "_dataHashes", - "type": "bytes32[]" - } - ], - "name": "registerVaultCalls", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "releaseIsLive", - "outputs": [ - { - "internalType": "bool", - "name": "isLive_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerLib", - "type": "address" - } - ], - "name": "setComptrollerLib", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint32", - "name": "_nextDeactivateFeeManagerGasLimit", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "_nextPayProtocolFeeGasLimit", - "type": "uint32" - } - ], - "name": "setGasLimitsForDestructCall", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_protocolFeeTracker", - "type": "address" - } - ], - "name": "setProtocolFeeTracker", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_nextTimelock", - "type": "uint256" - } - ], - "name": "setReconfigurationTimelock", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "setReleaseLive", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultLib", - "type": "address" - } - ], - "name": "setVaultLib", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x60e06040523480156200001157600080fd5b50604051620048493803806200484983398101604081905262000034916200011a565b6001600160601b0319606082901b166080526040516200005790602001620001d1565b604051602081830303815290604052805190602001207f5bf1898dd28c4d29f33c4c1bb9b8a7e2f6322847d70be63e8f89de024d08a66960001b14620000ba5760405162461bcd60e51b8152600401620000b190620001de565b60405180910390fd5b5033606090811b60a0521b6001600160601b03191660c0526002805463ffffffff60a01b191661249f60a51b1763ffffffff60c01b1916610c3560c61b1790556202a3006003556200022a565b8051620001148162000210565b92915050565b600080604083850312156200012e57600080fd5b60006200013c858562000107565b92505060206200014f8582860162000107565b9150509250929050565b600062000168601183620001f9565b706d6c6e2e7661756c7443616c6c2e616e7960781b815260110192915050565b600062000197602583620001f0565b7f636f6e7374727563746f723a20496e636f727265637420414e595f5641554c5481526417d0d0531360da1b602082015260400192915050565b6000620001148262000159565b60208082528101620001148162000188565b90815260200190565b919050565b60006001600160a01b03821662000114565b6200021b81620001fe565b81146200022757600080fd5b50565b60805160601c60a05160601c60c05160601c6145df6200026a60003980610a575280611c1a5280611cb752508061060e5250806115e952506145df6000f3fe60806040523480156200001157600080fd5b5060043610620002445760003560e01c806372eb5f2b1162000141578063b8f8a84c11620000bd578063df369ba71162000087578063df369ba714620004d3578063ebb3d58914620004ea578063ed9eeb7f14620004f4578063efcde9e3146200050b578063ff84571814620005225762000244565b8063b8f8a84c1462000465578063c83980dd146200047c578063cebffb5814620004a3578063d5189add14620004bc5762000244565b806393a2ecd9116200010b57806393a2ecd9146200041957806398f0d4bb14620004235780639c9d48da146200042d5780639f9df7851462000444578063ac259456146200045b5762000244565b806372eb5f2b14620003c8578063749cc8f514620003ee578063893d20e814620003f85780638c500ea314620004025762000244565b80634140d60711620001d1578063575403dc116200019b578063575403dc146200036f578063682cea1914620003865780636c579e5714620003905780636ea2114314620003a75780636f2b757414620003b15762000244565b80634140d60714620003135780634348ab62146200032a5780634bacc5f7146200034157806354391f0914620003585762000244565b806338b3eb1b116200021357806338b3eb1b14620002b45780633b30dce714620002cb5780633d0d4abb14620002e25780633f84c12c14620002fc5762000244565b80630d2fcd7614620002495780630ee2cb101462000262578063164dd2d4146200028457806336b4ea4f146200028e575b600080fd5b620002606200025a36600462002da6565b62000539565b005b6200026c6200060c565b6040516200027b919062003dd1565b60405180910390f35b6200026062000631565b620002a56200029f3660046200307e565b62000778565b6040516200027b919062003f2e565b62000260620002c53660046200303f565b620007d1565b62000260620002dc3660046200338e565b620009af565b620002ec62000a2e565b6040516200027b9291906200417a565b620002606200030d3660046200331b565b62000a4c565b620002606200032436600462002da6565b62000b3f565b6200026c6200033b36600462002eb8565b62000bfd565b6200026062000352366004620031ef565b62000e8e565b620002a56200036936600462002da6565b62000fda565b6200026062000380366004620033af565b62000ff8565b6200026c620010dd565b620002a5620003a136600462002da6565b620010ec565b6200026c6200110c565b62000260620003c2366004620031ef565b62001205565b620003df620003d936600462002da6565b62001336565b6040516200027b91906200415a565b6200026c6200137d565b6200026c6200138c565b620002a5620004133660046200307e565b620013f2565b6200026c6200148b565b620002a56200149a565b620002606200043e3660046200303f565b620014aa565b620002606200045536600462002da6565b62001529565b6200026c620015e7565b6200026c6200047636600462002f71565b6200160b565b620004936200048d366004620030d2565b620018ab565b6040516200027b92919062003de1565b620004ad62001b07565b6040516200027b91906200416a565b62000260620004cd36600462002da6565b62001b0d565b62000260620004e436600462002df0565b62001c0f565b6200026c62001cb5565b620002606200050536600462003234565b62001cd9565b620002606200051c36600462003234565b62001f60565b620002606200053336600462002da6565b62002192565b620005436200138c565b6001600160a01b0316336001600160a01b0316146200057f5760405162461bcd60e51b8152600401620005769062003ff2565b60405180910390fd5b620005896200148b565b6001600160a01b03811615620005b35760405162461bcd60e51b8152600401620005769062003fce565b600080546001600160a01b0319166001600160a01b0384161790556040517f38e37d5fdf60e4358769c3b616594ad451626b1e023c65eaa1062116feadacf8906200060090849062003dd1565b60405180910390a15050565b7f00000000000000000000000000000000000000000000000000000000000000005b90565b6200063b6200060c565b6001600160a01b0316336001600160a01b0316146200066e5760405162461bcd60e51b8152600401620005769062004124565b620006786200149a565b15620006985760405162461bcd60e51b815260040162000576906200405e565b6000620006a46200148b565b6001600160a01b03161415620006ce5760405162461bcd60e51b8152600401620005769062003fbc565b6000620006da6200137d565b6001600160a01b03161415620007045760405162461bcd60e51b81526004016200057690620040a6565b600062000710620010dd565b6001600160a01b031614156200073a5760405162461bcd60e51b8152600401620005769062003f98565b6002805460ff60e01b1916600160e01b1790556040517f0356d4f8f825c1c2803d9e1f15724b6b8eea8992d04fad04da8bcbe6ff30296f90600090a1565b60006005600085856040516020016200079392919062003da7565b60408051601f1981840301815291815281516020928301208352828201939093529082016000908120858252909152205460ff1690505b9392505050565b81620007de813362002560565b6000620007ea62001cb5565b90506000816001600160a01b0316637dad9fc8866040518263ffffffff1660e01b81526004016200081c919062003dd1565b60806040518083038186803b1580156200083557600080fd5b505afa1580156200084a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000870919062002e5a565b50506040516338b3eb1b60e01b81529092506001600160a01b03841691506338b3eb1b90620008a6908890889060040162003ef0565b600060405180830381600087803b158015620008c157600080fd5b505af1158015620008d6573d6000803e3d6000fd5b505060405163ce5e84a360e01b81526001600160a01b038416925063ce5e84a39150620009099060019060040162003f2e565b600060405180830381600087803b1580156200092457600080fd5b505af115801562000939573d6000803e3d6000fd5b50505050620009476200137d565b6001600160a01b0316630a48e041866040518263ffffffff1660e01b815260040162000974919062003dd1565b600060405180830381600087803b1580156200098f57600080fd5b505af1158015620009a4573d6000803e3d6000fd5b505050505050505050565b620009b96200138c565b6001600160a01b0316336001600160a01b031614620009ec5760405162461bcd60e51b8152600401620005769062003ff2565b60038190556040517fa12f25dbb69b970318f8cc02d37f8cfe5bb3fec3a55630fd7e419d6dc42f1d919062000a239083906200416a565b60405180910390a150565b60025463ffffffff600160a01b8204811691600160c01b9004169091565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161462000a975760405162461bcd60e51b815260040162000576906200403a565b600285600481111562000aa657fe5b1462000ab25762000b38565b6000846001600160a01b0316635a53e3486040518163ffffffff1660e01b815260040160206040518083038186803b15801562000aee57600080fd5b505afa15801562000b03573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000b29919062002dcf565b905062000b368162002605565b505b5050505050565b62000b496200138c565b6001600160a01b0316336001600160a01b03161462000b7c5760405162461bcd60e51b8152600401620005769062003ff2565b62000b86620010dd565b6001600160a01b0381161562000bb05760405162461bcd60e51b8152600401620005769062003fce565b600280546001600160a01b0319166001600160a01b0384161790556040517f1e01982aac1b1376985c41ed48c69e04ff4c75107bfe0b8a4827693d2ddba04e906200060090849062003dd1565b60008062000c0a62002647565b905062000c18898262002560565b3062000c2362001cb5565b6001600160a01b0316633d7c74f88b6040518263ffffffff1660e01b815260040162000c50919062003dd1565b60206040518083038186803b15801562000c6957600080fd5b505afa15801562000c7e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000ca4919062002dcf565b6001600160a01b03161462000ccd5760405162461bcd60e51b8152600401620005769062004004565b62000cd889620010ec565b1562000cf85760405162461bcd60e51b8152600401620005769062004112565b62000d0581898962002690565b60405163397bfe5560e01b81529092506001600160a01b0383169063397bfe559062000d36908c9060040162003dd1565b600060405180830381600087803b15801562000d5157600080fd5b505af115801562000d66573d6000803e3d6000fd5b5050505062000de1828a88888080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8c018190048102820181019092528a815292508a91508990819084018382808284376000920191909152506200278292505050565b600062000ded62001b07565b6040805180820182526001600160a01b038681168252429390930160208083018281528f86166000818152600690935291859020935184546001600160a01b031916908716178455516001909301929092559151919350918416907fbc4a5bba58d663a7e6752f3a72d2737260a60caeec28e0bf880ee25711f7fe1e9062000e79908790869062003f0f565b60405180910390a35050979650505050505050565b62000e986200138c565b6001600160a01b0316336001600160a01b03161462000ecb5760405162461bcd60e51b8152600401620005769062003ff2565b60005b8181101562000fd55762000eff83838381811062000ee857fe5b905060200201602081019062000369919062002da6565b62000f1e5760405162461bcd60e51b81526004016200057690620040ca565b60006004600085858581811062000f3157fe5b905060200201602081019062000f48919062002da6565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790557fe49a33dc7a73a9833a0358b29ef8d5fecbfff419af0c4fd9219f57a7147009c683838381811062000f9e57fe5b905060200201602081019062000fb5919062002da6565b60405162000fc4919062003dd1565b60405180910390a160010162000ece565b505050565b6001600160a01b031660009081526004602052604090205460ff1690565b620010026200138c565b6001600160a01b0316336001600160a01b031614620010355760405162461bcd60e51b8152600401620005769062003ff2565b60008263ffffffff1611801562001052575060008163ffffffff16115b620010715760405162461bcd60e51b8152600401620005769062004082565b6002805463ffffffff838116600160c01b0263ffffffff60c01b19918616600160a01b0263ffffffff60a01b1990931692909217161790556040517f09069ba7f5bded3e9f9f7d353e606ae6ee8496309d9cbe09241d1c741e1dceed906200060090849084906200418a565b6002546001600160a01b031690565b6001600160a01b0390811660009081526006602052604090205416151590565b600062001118620015e7565b6001600160a01b03166398a7c4c76040518163ffffffff1660e01b815260040160206040518083038186803b1580156200115157600080fd5b505afa15801562001166573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200118c919062002dcf565b6001600160a01b0316637da0a8776040518163ffffffff1660e01b815260040160206040518083038186803b158015620011c557600080fd5b505afa158015620011da573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001200919062002dcf565b905090565b6200120f6200138c565b6001600160a01b0316336001600160a01b031614620012425760405162461bcd60e51b8152600401620005769062003ff2565b60005b8181101562000fd5576200125f83838381811062000ee857fe5b156200127f5760405162461bcd60e51b8152600401620005769062003fe0565b6001600460008585858181106200129257fe5b9050602002016020810190620012a9919062002da6565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790557f7b322f508cd6b0cc569822d5a028bb23e6698192d88a7b9669ab48fd68916eda838383818110620012ff57fe5b905060200201602081019062001316919062002da6565b60405162001325919062003dd1565b60405180910390a160010162001245565b6200134062002bee565b506001600160a01b039081166000908152600660209081526040918290208251808401909352805490931682526001909201549181019190915290565b6001546001600160a01b031690565b6000620013986200149a565b620013af57620013a76200060c565b90506200062e565b620013b962001cb5565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b158015620011c557600080fd5b60008084846040516020016200140a92919062003da7565b60408051601f19818403018152918152815160209283012060008181526005845282812087825290935291205490915060ff168062001482575060008181526005602090815260408083207f5bf1898dd28c4d29f33c4c1bb9b8a7e2f6322847d70be63e8f89de024d08a669845290915290205460ff165b95945050505050565b6000546001600160a01b031690565b600254600160e01b900460ff1690565b81620014b7813362002560565b620014c162001cb5565b6001600160a01b0316639c9d48da84846040518363ffffffff1660e01b8152600401620014f092919062003ef0565b600060405180830381600087803b1580156200150b57600080fd5b505af115801562001520573d6000803e3d6000fd5b50505050505050565b620015336200138c565b6001600160a01b0316336001600160a01b031614620015665760405162461bcd60e51b8152600401620005769062003ff2565b620015706200137d565b6001600160a01b038116156200159a5760405162461bcd60e51b8152600401620005769062003fce565b600180546001600160a01b0319166001600160a01b0384161790556040517f1a8919bc714742db0ed6eb86960768bdd5103c1dabb914651aaec5796907db15906200060090849062003dd1565b7f000000000000000000000000000000000000000000000000000000000000000090565b6000620016176200149a565b620016365760405162461bcd60e51b8152600401620005769062004094565b8862001643813362002560565b6200164d62001cb5565b6001600160a01b031663d0449d3d8b6040518263ffffffff1660e01b81526004016200167a919062003dd1565b60206040518083038186803b1580156200169357600080fd5b505afa158015620016a8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620016ce9190620032d9565b15620016ee5760405162461bcd60e51b815260040162000576906200404c565b620016fb338a8a62002690565b60405163397bfe5560e01b81529092506001600160a01b0383169063397bfe55906200172c908d9060040162003dd1565b600060405180830381600087803b1580156200174757600080fd5b505af11580156200175c573d6000803e3d6000fd5b50505050620017d7828b89898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8d018190048102820181019092528b815292508b91508a90819084018382808284376000920191909152506200278292505050565b620017e162001cb5565b6001600160a01b031663d15f9b9c8b84620017fb620010dd565b876040518563ffffffff1660e01b81526004016200181d949392919062003e00565b600060405180830381600087803b1580156200183857600080fd5b505af11580156200184d573d6000803e3d6000fd5b50505050896001600160a01b0316336001600160a01b03167f7cb609d1845028175b74ce1b27f0b41ba93711f8699a747463f0cf89c5c95b818460405162001896919062003dd1565b60405180910390a35098975050505050505050565b600080620018b86200149a565b620018d75760405162461bcd60e51b8152600401620005769062004094565b6000620018e362002647565b9050620018f2818a8a62002690565b9250620019048e848f8f8f8f62002ad6565b60405163397bfe5560e01b815290925083906001600160a01b0382169063397bfe55906200193790869060040162003dd1565b600060405180830381600087803b1580156200195257600080fd5b505af115801562001967573d6000803e3d6000fd5b50505050620019e284848a8a8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8e018190048102820181019092528c815292508c91508b90819084018382808284376000920191909152506200278292505050565b60405163ce5e84a360e01b81526001600160a01b0382169063ce5e84a39062001a119060009060040162003f2e565b600060405180830381600087803b15801562001a2c57600080fd5b505af115801562001a41573d6000803e3d6000fd5b5050505062001a4f6200137d565b6001600160a01b0316630a48e041846040518263ffffffff1660e01b815260040162001a7c919062003dd1565b600060405180830381600087803b15801562001a9757600080fd5b505af115801562001aac573d6000803e3d6000fd5b50505050816001600160a01b03167f04dab3bc63cc7e4b52aa28a026644559e2937d78dbf7b81e26dfecdd8bbe33b9848660405162001aed92919062003de1565b60405180910390a250509b509b9950505050505050505050565b60035490565b8062001b238162001b1d62002647565b62002560565b6001600160a01b03808316600090815260066020526040902054168062001b5e5760405162461bcd60e51b8152600401620005769062003f86565b806001600160a01b031663e53a73b96040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562001b9a57600080fd5b505af115801562001baf573d6000803e3d6000fd5b505050506001600160a01b0383811660008181526006602052604080822080546001600160a01b031916815560010182905551928416927f8eae645f408f18cb738736a49846a7ccb7a4ed8cdf9b960624ea965ffbe96e919190a3505050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161462001c5a5760405162461bcd60e51b815260040162000576906200403a565b816001600160a01b031663e53a73b96040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562001c9657600080fd5b505af115801562001cab573d6000803e3d6000fd5b5050505050505050565b7f000000000000000000000000000000000000000000000000000000000000000090565b62001ce36200138c565b6001600160a01b0316336001600160a01b03161462001d165760405162461bcd60e51b8152600401620005769062003ff2565b8362001d365760405162461bcd60e51b8152600401620005769062004100565b838214801562001d465750805184145b62001d655760405162461bcd60e51b8152600401620005769062004148565b60005b8481101562000b365762001dd886868381811062001d8257fe5b905060200201602081019062001d99919062002da6565b85858481811062001da657fe5b905060200201602081019062001dbd9190620032fa565b84848151811062001dca57fe5b602002602001015162000778565b62001df75760405162461bcd60e51b8152600401620005769062004016565b60006005600088888581811062001e0a57fe5b905060200201602081019062001e21919062002da6565b87878681811062001e2e57fe5b905060200201602081019062001e459190620032fa565b60405160200162001e5892919062003da7565b604051602081830303815290604052805190602001208152602001908152602001600020600084848151811062001e8b57fe5b6020026020010151815260200190815260200160002060006101000a81548160ff02191690831515021790555085858281811062001ec557fe5b905060200201602081019062001edc919062002da6565b6001600160a01b03167f845c9ef356cc5570a54e9eb6be3e6d95a2aaad4c4c7d7b2c0cf8c7cdd78d614d85858481811062001f1357fe5b905060200201602081019062001f2a9190620032fa565b84848151811062001f3757fe5b602002602001015160405162001f4f92919062003f3e565b60405180910390a260010162001d68565b62001f6a6200138c565b6001600160a01b0316336001600160a01b03161462001f9d5760405162461bcd60e51b8152600401620005769062003ff2565b8362001fbd5760405162461bcd60e51b81526004016200057690620040b8565b838214801562001fcd5750805184145b62001fec5760405162461bcd60e51b81526004016200057690620040ee565b60005b8481101562000b36576200200986868381811062001d8257fe5b15620020295760405162461bcd60e51b81526004016200057690620040dc565b6001600560008888858181106200203c57fe5b905060200201602081019062002053919062002da6565b8787868181106200206057fe5b9050602002016020810190620020779190620032fa565b6040516020016200208a92919062003da7565b6040516020818303038152906040528051906020012081526020019081526020016000206000848481518110620020bd57fe5b6020026020010151815260200190815260200160002060006101000a81548160ff021916908315150217905550858582818110620020f757fe5b90506020020160208101906200210e919062002da6565b6001600160a01b03167fb1fbe377864edcbf521713f906125bd99a3638c7a9e4087f6a70019686a741d18585848181106200214557fe5b90506020020160208101906200215c9190620032fa565b8484815181106200216957fe5b60200260200101516040516200218192919062003f3e565b60405180910390a260010162001fef565b80620021a28162001b1d62002647565b620021ac62002bee565b620021b78362001336565b80519091506001600160a01b0316620021e45760405162461bcd60e51b8152600401620005769062003faa565b80602001514210156200220b5760405162461bcd60e51b8152600401620005769062004136565b306200221662001cb5565b6001600160a01b0316633d7c74f8856040518263ffffffff1660e01b815260040162002243919062003dd1565b60206040518083038186803b1580156200225c57600080fd5b505afa15801562002271573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002297919062002dcf565b6001600160a01b031614620022c05760405162461bcd60e51b8152600401620005769062004070565b6000836001600160a01b0316635a53e3486040518163ffffffff1660e01b815260040160206040518083038186803b158015620022fc57600080fd5b505afa15801562002311573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002337919062002dcf565b90506000816001600160a01b031663faf9096b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156200237557600080fd5b505afa1580156200238a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620023b0919062002dcf565b9050620023bd8262002605565b8251604051633a0795ad60e11b81526001600160a01b0387169163740f2b5a91620023ec919060040162003dd1565b600060405180830381600087803b1580156200240757600080fd5b505af11580156200241c573d6000803e3d6000fd5b5050845160405163ce5e84a360e01b81526001600160a01b03909116925063ce5e84a39150620024529060019060040162003f2e565b600060405180830381600087803b1580156200246d57600080fd5b505af115801562002482573d6000803e3d6000fd5b505050506001600160a01b03811615620024fc5782516040516373eecf4760e01b81526001600160a01b03909116906373eecf4790620024c790849060040162003dd1565b600060405180830381600087803b158015620024e257600080fd5b505af1158015620024f7573d6000803e3d6000fd5b505050505b6001600160a01b0380861660008181526006602052604080822080546001600160a01b03191681556001018290558651905190841693861692917fa587629d93edeac6431610facaeec919890c8bc040ef849f720e42315148d7d991a45050505050565b604051633ef03e7560e11b81526001600160a01b03831690637de07cea906200258e90849060040162003dd1565b60206040518083038186803b158015620025a757600080fd5b505afa158015620025bc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620025e29190620032d9565b620026015760405162461bcd60e51b8152600401620005769062004028565b5050565b6000806200261262000a2e565b60405163495abadb60e11b815291935091506001600160a01b038416906392b575b690620014f090859085906004016200417a565b600060183610801590620026755750620026606200110c565b6001600160a01b0316336001600160a01b0316145b156200268b575060131936013560601c6200062e565b503390565b6000606063399ae72460e01b8484604051602401620026b192919062003f0f565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152905080620026f06200148b565b604051620026fe9062002c05565b6200270b92919062003f4e565b604051809103906000f08015801562002728573d6000803e3d6000fd5b509150836001600160a01b0316856001600160a01b03167f19dbe5ac5bcfdc5074f78d1e907e1dce6f6e3b50a56b50d990926abaf9c5505784866040516200277292919062003f0f565b60405180910390a3509392505050565b8151156200286557836001600160a01b031663f2d638266040518163ffffffff1660e01b815260040160206040518083038186803b158015620027c457600080fd5b505afa158015620027d9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620027ff919062002dcf565b6001600160a01b031663f067cc118585856040518463ffffffff1660e01b8152600401620028309392919062003e8b565b600060405180830381600087803b1580156200284b57600080fd5b505af115801562002860573d6000803e3d6000fd5b505050505b836001600160a01b031663b3fc38e96040518163ffffffff1660e01b815260040160206040518083038186803b1580156200289f57600080fd5b505afa158015620028b4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620028da919062002dcf565b6001600160a01b031663f067cc1185856040518363ffffffff1660e01b81526004016200290992919062003ebe565b600060405180830381600087803b1580156200292457600080fd5b505af115801562002939573d6000803e3d6000fd5b50505050836001600160a01b031663e7c456906040518163ffffffff1660e01b815260040160206040518083038186803b1580156200297757600080fd5b505afa1580156200298c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620029b2919062002dcf565b6001600160a01b031663f067cc1185856040518363ffffffff1660e01b8152600401620029e192919062003ebe565b600060405180830381600087803b158015620029fc57600080fd5b505af115801562002a11573d6000803e3d6000fd5b50505050836001600160a01b031663d44ad6cb6040518163ffffffff1660e01b815260040160206040518083038186803b15801562002a4f57600080fd5b505afa15801562002a64573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002a8a919062002dcf565b6001600160a01b031663f067cc118585846040518463ffffffff1660e01b815260040162002abb9392919062003e8b565b600060405180830381600087803b15801562001c9657600080fd5b600062002ae262001cb5565b6001600160a01b03166322a0c08b62002afa620010dd565b898989896040518663ffffffff1660e01b815260040162002b2095949392919062003e3d565b602060405180830381600087803b15801562002b3b57600080fd5b505af115801562002b50573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002b76919062002dcf565b9050811562002be457604051635c26412360e11b81526001600160a01b0382169063b84c82469062002baf908690869060040162003f72565b600060405180830381600087803b15801562002bca57600080fd5b505af115801562002bdf573d6000803e3d6000fd5b505050505b9695505050505050565b604080518082019091526000808252602082015290565b6102e080620042f383390190565b803562002c20816200429e565b92915050565b805162002c20816200429e565b60008083601f84011262002c4657600080fd5b5081356001600160401b0381111562002c5e57600080fd5b60208301915083602082028301111562002c7757600080fd5b9250929050565b600082601f83011262002c9057600080fd5b813562002ca762002ca182620041d0565b620041a9565b9150818183526020840193506020810190508385602084028201111562002ccd57600080fd5b60005b8381101562002cfd578162002ce6888262002d21565b845250602092830192919091019060010162002cd0565b5050505092915050565b803562002c2081620042b8565b805162002c2081620042b8565b803562002c2081620042c3565b803562002c2081620042ce565b60008083601f84011262002d4e57600080fd5b5081356001600160401b0381111562002d6657600080fd5b60208301915083600182028301111562002c7757600080fd5b803562002c2081620042d9565b805162002c2081620042c3565b803562002c2081620042e7565b60006020828403121562002db957600080fd5b600062002dc7848462002c13565b949350505050565b60006020828403121562002de257600080fd5b600062002dc7848462002c26565b6000806000806080858703121562002e0757600080fd5b600062002e15878762002c13565b945050602062002e288782880162002c13565b935050604062002e3b8782880162002c13565b925050606062002e4e8782880162002c13565b91505092959194509250565b6000806000806080858703121562002e7157600080fd5b600062002e7f878762002c26565b945050602062002e928782880162002c26565b935050604062002ea58782880162002c26565b925050606062002e4e8782880162002d8c565b600080600080600080600060a0888a03121562002ed457600080fd5b600062002ee28a8a62002c13565b975050602062002ef58a828b0162002c13565b965050604062002f088a828b0162002d21565b95505060608801356001600160401b0381111562002f2557600080fd5b62002f338a828b0162002d3b565b945094505060808801356001600160401b0381111562002f5257600080fd5b62002f608a828b0162002d3b565b925092505092959891949750929550565b60008060008060008060008060c0898b03121562002f8e57600080fd5b600062002f9c8b8b62002c13565b985050602062002faf8b828c0162002c13565b975050604062002fc28b828c0162002d21565b96505060608901356001600160401b0381111562002fdf57600080fd5b62002fed8b828c0162002d3b565b955095505060808901356001600160401b038111156200300c57600080fd5b6200301a8b828c0162002d3b565b935093505060a06200302f8b828c0162002d07565b9150509295985092959890939650565b600080604083850312156200305357600080fd5b600062003061858562002c13565b9250506020620030748582860162002d07565b9150509250929050565b6000806000606084860312156200309457600080fd5b6000620030a2868662002c13565b9350506020620030b58682870162002d2e565b9250506040620030c88682870162002d21565b9150509250925092565b600080600080600080600080600080600060e08c8e031215620030f457600080fd5b6000620031028e8e62002c13565b9b505060208c01356001600160401b038111156200311f57600080fd5b6200312d8e828f0162002d3b565b9a509a505060408c01356001600160401b038111156200314c57600080fd5b6200315a8e828f0162002d3b565b985098505060606200316f8e828f0162002c13565b9650506080620031828e828f0162002d21565b95505060a08c01356001600160401b038111156200319f57600080fd5b620031ad8e828f0162002d3b565b945094505060c08c01356001600160401b03811115620031cc57600080fd5b620031da8e828f0162002d3b565b92509250509295989b509295989b9093969950565b600080602083850312156200320357600080fd5b82356001600160401b038111156200321a57600080fd5b620032288582860162002c33565b92509250509250929050565b6000806000806000606086880312156200324d57600080fd5b85356001600160401b038111156200326457600080fd5b620032728882890162002c33565b955095505060208601356001600160401b038111156200329157600080fd5b6200329f8882890162002c33565b935093505060408601356001600160401b03811115620032be57600080fd5b620032cc8882890162002c7e565b9150509295509295909350565b600060208284031215620032ec57600080fd5b600062002dc7848462002d14565b6000602082840312156200330d57600080fd5b600062002dc7848462002d2e565b600080600080600060a086880312156200333457600080fd5b600062003342888862002d7f565b9550506020620033558882890162002c13565b9450506040620033688882890162002c13565b93505060606200337b8882890162002c13565b9250506080620032cc8882890162002c13565b600060208284031215620033a157600080fd5b600062002dc7848462002d21565b60008060408385031215620033c357600080fd5b6000620033d1858562002d99565b9250506020620030748582860162002d99565b620033ef81620041fe565b82525050565b620033ef6200340482620041fe565b6200427a565b620033ef816200420b565b620033ef816200062e565b620033ef8162004210565b620033ef6200343a8262004210565b6200062e565b60006200344d82620041f1565b620034598185620041f5565b93506200346b8185602086016200424b565b62003476816200428e565b9093019392505050565b60006200348e8385620041f5565b93506200349d8385846200423f565b62003476836200428e565b6000620034b7604883620041f5565b7f63616e63656c5265636f6e66696775726174696f6e3a204e6f207265636f6e6681527f696775726174696f6e20726571756573742065786973747320666f72205f7661602082015267756c7450726f787960c01b604082015260600192915050565b600062003529602383620041f5565b7f73657452656c656173654c6976653a207661756c744c6962206973206e6f74208152621cd95d60ea1b602082015260400192915050565b600062003570604983620041f5565b7f657865637574655265636f6e66696775726174696f6e3a204e6f207265636f6e81527f66696775726174696f6e20726571756573742065786973747320666f72205f7660208201526861756c7450726f787960b81b604082015260600192915050565b6000620035e3602983620041f5565b7f73657452656c656173654c6976653a20636f6d7074726f6c6c65724c696220698152681cc81b9bdd081cd95d60ba1b602082015260400192915050565b600062003630601f83620041f5565b7f546869732076616c75652063616e206f6e6c7920626520736574206f6e636500815260200192915050565b60006200366b603b83620041f5565b7f72656769737465724275795368617265734f6e426568616c6643616c6c65727381527f3a2043616c6c657220616c726561647920726567697374657265640000000000602082015260400192915050565b6000620036cc602e83620041f5565b7f4f6e6c792074686520636f6e7472616374206f776e65722063616e2063616c6c81526d103a3434b990333ab731ba34b7b760911b602082015260400192915050565b60006200371e603c83620041f5565b7f6372656174655265636f6e66696775726174696f6e526571756573743a20566181527f756c7450726f7879206e6f74206f6e20746869732072656c6561736500000000602082015260400192915050565b60006200377f602983620041f5565b7f646572656769737465725661756c7443616c6c733a2043616c6c206e6f7420728152681959da5cdd195c995960ba1b602082015260400192915050565b6000620037cc603383620041f5565b7f4f6e6c792061207065726d697373696f6e6564206d69677261746f722063616e8152721031b0b636103a3434b990333ab731ba34b7b760691b602082015260400192915050565b600062003823602683620041f5565b7f4f6e6c7920446973706174636865722063616e2063616c6c20746869732066758152653731ba34b7b760d11b602082015260400192915050565b60006200386d603983620041f5565b7f6372656174654d6967726174696f6e526571756573743a2041204d696772617481527f696f6e5265717565737420616c72656164792065786973747300000000000000602082015260400192915050565b6000620038ce601c83620041f5565b7f73657452656c656173654c6976653a20416c7265616479206c69766500000000815260200192915050565b600062003909604083620041f5565b7f657865637574655265636f6e66696775726174696f6e3a205f7661756c74507281527f6f7879206973206e6f206c6f6e676572206f6e20746869732072656c65617365602082015260400192915050565b60006200396a603383620041f5565b7f7365744761734c696d697473466f72446573747275637443616c6c3a205a65728152721bc81d985b1d59481b9bdd08185b1b1bddd959606a1b602082015260400192915050565b6000620039c1601783620041f5565b7f52656c65617365206973206e6f7420796574206c697665000000000000000000815260200192915050565b6000620039fc602d83620041f5565b7f73657452656c656173654c6976653a2070726f746f636f6c466565547261636b81526c195c881a5cc81b9bdd081cd95d609a1b602082015260400192915050565b600062003a4d602483620041f5565b7f72656769737465725661756c7443616c6c733a20456d707479205f636f6e74728152636163747360e01b602082015260400192915050565b600062002c20600083620041f5565b600062003aa4603983620041f5565b7f646572656769737465724275795368617265734f6e426568616c6643616c6c6581527f72733a2043616c6c6572206e6f74207265676973746572656400000000000000602082015260400192915050565b600062003b05602b83620041f5565b7f72656769737465725661756c7443616c6c733a2043616c6c20616c726561647981526a081c9959da5cdd195c995960aa1b602082015260400192915050565b600062003b54602783620041f5565b7f72656769737465725661756c7443616c6c733a20556e6576656e20696e7075748152662061727261797360c81b602082015260400192915050565b600062003b9f602683620041f5565b7f646572656769737465725661756c7443616c6c733a20456d707479205f636f6e81526574726163747360d01b602082015260400192915050565b600062003be9604e83620041f5565b7f6372656174655265636f6e66696775726174696f6e526571756573743a20566181527f756c7450726f78792068617320612070656e64696e67207265636f6e6669677560208201526d1c985d1a5bdb881c995c5d595cdd60921b604082015260600192915050565b600062003c61603783620041f5565b7f73657452656c656173654c6976653a204f6e6c79207468652063726561746f7281527f2063616e2063616c6c20746869732066756e6374696f6e000000000000000000602082015260400192915050565b600062003cc2604483620041f5565b7f657865637574655265636f6e66696775726174696f6e3a20546865207265636f81527f6e66696775726174696f6e2074696d656c6f636b20686173206e6f7420656c616020820152631c1cd95960e21b604082015260600192915050565b600062003d30602983620041f5565b7f646572656769737465725661756c7443616c6c733a20556e6576656e20696e7081526875742061727261797360b81b602082015260400192915050565b8051604083019062003d818482620033e4565b50602082015162003d96602085018262003415565b50505050565b620033ef8162004232565b600062003db58285620033f5565b60148201915062003dc782846200342b565b5060040192915050565b6020810162002c208284620033e4565b6040810162003df18285620033e4565b620007ca6020830184620033e4565b6080810162003e108287620033e4565b62003e1f6020830186620033e4565b62003e2e6040830185620033e4565b6200148260608301846200340a565b6080810162003e4d8288620033e4565b62003e5c6020830187620033e4565b62003e6b6040830186620033e4565b818103606083015262003e8081848662003480565b979650505050505050565b6060810162003e9b8286620033e4565b62003eaa6020830185620033e4565b818103604083015262001482818462003440565b6060810162003ece8285620033e4565b62003edd6020830184620033e4565b818103604083015262002dc78162003a86565b6040810162003f008285620033e4565b620007ca60208301846200340a565b6040810162003f1f8285620033e4565b620007ca602083018462003415565b6020810162002c2082846200340a565b6040810162003f1f828562003420565b6040808252810162003f61818562003440565b9050620007ca6020830184620033e4565b6020808252810162002dc781848662003480565b6020808252810162002c2081620034a8565b6020808252810162002c20816200351a565b6020808252810162002c208162003561565b6020808252810162002c2081620035d4565b6020808252810162002c208162003621565b6020808252810162002c20816200365c565b6020808252810162002c2081620036bd565b6020808252810162002c20816200370f565b6020808252810162002c208162003770565b6020808252810162002c2081620037bd565b6020808252810162002c208162003814565b6020808252810162002c20816200385e565b6020808252810162002c2081620038bf565b6020808252810162002c2081620038fa565b6020808252810162002c20816200395b565b6020808252810162002c2081620039b2565b6020808252810162002c2081620039ed565b6020808252810162002c208162003a3e565b6020808252810162002c208162003a95565b6020808252810162002c208162003af6565b6020808252810162002c208162003b45565b6020808252810162002c208162003b90565b6020808252810162002c208162003bda565b6020808252810162002c208162003c52565b6020808252810162002c208162003cb3565b6020808252810162002c208162003d21565b6040810162002c20828462003d6e565b6020810162002c20828462003415565b6040810162003f1f828562003415565b604081016200419a828562003d9c565b620007ca602083018462003d9c565b6040518181016001600160401b0381118282101715620041c857600080fd5b604052919050565b60006001600160401b03821115620041e757600080fd5b5060209081020190565b5190565b90815260200190565b600062002c20826200421d565b151590565b6001600160e01b03191690565b6001600160a01b031690565b63ffffffff1690565b600062002c208262004229565b82818337506000910152565b60005b83811015620042685781810151838201526020016200424e565b8381111562003d965750506000910152565b600062002c2082600062002c208262004298565b601f01601f191690565b60601b90565b620042a981620041fe565b8114620042b557600080fd5b50565b620042a9816200420b565b620042a9816200062e565b620042a98162004210565b60058110620042b557600080fd5b620042a9816200422956fe60a060405234801561001057600080fd5b506040516102e03803806102e08339818101604052604081101561003357600080fd5b810190808051604051939291908464010000000082111561005357600080fd5b90830190602082018581111561006857600080fd5b825164010000000081118282018810171561008257600080fd5b82525081516020918201929091019080838360005b838110156100af578181015183820152602001610097565b50505050905090810190601f1680156100dc5780820380516001836020036101000a031916815260200191505b50604052602001805190602001909291905050508181806001600160a01b03166080816001600160a01b031660601b81525050807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5560006060826001600160a01b0316846040518082805190602001908083835b602083106101705780518252601f199092019160209182019101610151565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d80600081146101d0576040519150601f19603f3d011682016040523d82523d6000602084013e6101d5565b606091505b50915091508181906102655760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561022a578181015183820152602001610212565b50505050905090810190601f1680156102575780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5050505050505060805160601c605a6102866000398060065250605a6000f3fe60806040527f00000000000000000000000000000000000000000000000000000000000000003660008037600080366000846127105a03f43d806000803e818015604857816000f35b816000fdfea164736f6c634300060c000aa164736f6c634300060c000a", - "sourceMap": "1131:33846:77:-:0;;;4990:765;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;820:55:230;;;;;;;5224:37:77::1;::::0;::::1;::::0;::::1;;;:::i;:::-;;;;;;;;;;;;;5214:48;;;;;;3139:66;5196:14;;:66;5175:150;;;;-1:-1:-1::0;;;5175:150:77::1;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1::0;5346:10:77::1;5336:20;::::0;;::::1;;::::0;5366:24;-1:-1:-1;;;;;;5366:24:77;::::1;::::0;5562:45:::1;:54:::0;;-1:-1:-1;;;;5562:54:77::1;-1:-1:-1::0;;;5562:54:77::1;-1:-1:-1::0;;;;5657:48:77::1;-1:-1:-1::0;;;5657:48:77::1;::::0;;5742:6:::1;5716:23;:32:::0;1131:33846;;5:134:-1;83:13;;101:33;83:13;101:33;:::i;:::-;68:71;;;;:::o;146:399::-;;;278:2;266:9;257:7;253:23;249:32;246:2;;;294:1;291;284:12;246:2;329:1;346:64;402:7;382:9;346:64;:::i;:::-;336:74;;308:108;447:2;465:64;521:7;512:6;501:9;497:22;465:64;:::i;:::-;455:74;;426:109;240:305;;;;;:::o;553:353::-;;731:85;813:2;808:3;731:85;:::i;:::-;-1:-1;;;829:40;;897:2;888:12;;717:189;-1:-1;;717:189::o;915:374::-;;1075:67;1139:2;1134:3;1075:67;:::i;:::-;1175:34;1155:55;;-1:-1;;;1239:2;1230:12;;1223:29;1280:2;1271:12;;1061:228;-1:-1;;1061:228::o;1297:381::-;;1505:148;1649:3;1505:148;:::i;1685:416::-;1885:2;1899:47;;;1870:18;;1960:131;1870:18;1960:131;:::i;2109:163::-;2212:19;;;2261:4;2252:14;;2205:67::o;2281:145::-;2417:3;2395:31;-1:-1;2395:31::o;2434:91::-;;-1:-1;;;;;2594:54;;2496:24;2577:76::o;2660:117::-;2729:24;2747:5;2729:24;:::i;:::-;2722:5;2719:35;2709:2;;2768:1;2765;2758:12;2709:2;2703:74;:::o;:::-;1131:33846:77;;;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x60806040523480156200001157600080fd5b5060043610620002445760003560e01c806372eb5f2b1162000141578063b8f8a84c11620000bd578063df369ba71162000087578063df369ba714620004d3578063ebb3d58914620004ea578063ed9eeb7f14620004f4578063efcde9e3146200050b578063ff84571814620005225762000244565b8063b8f8a84c1462000465578063c83980dd146200047c578063cebffb5814620004a3578063d5189add14620004bc5762000244565b806393a2ecd9116200010b57806393a2ecd9146200041957806398f0d4bb14620004235780639c9d48da146200042d5780639f9df7851462000444578063ac259456146200045b5762000244565b806372eb5f2b14620003c8578063749cc8f514620003ee578063893d20e814620003f85780638c500ea314620004025762000244565b80634140d60711620001d1578063575403dc116200019b578063575403dc146200036f578063682cea1914620003865780636c579e5714620003905780636ea2114314620003a75780636f2b757414620003b15762000244565b80634140d60714620003135780634348ab62146200032a5780634bacc5f7146200034157806354391f0914620003585762000244565b806338b3eb1b116200021357806338b3eb1b14620002b45780633b30dce714620002cb5780633d0d4abb14620002e25780633f84c12c14620002fc5762000244565b80630d2fcd7614620002495780630ee2cb101462000262578063164dd2d4146200028457806336b4ea4f146200028e575b600080fd5b620002606200025a36600462002da6565b62000539565b005b6200026c6200060c565b6040516200027b919062003dd1565b60405180910390f35b6200026062000631565b620002a56200029f3660046200307e565b62000778565b6040516200027b919062003f2e565b62000260620002c53660046200303f565b620007d1565b62000260620002dc3660046200338e565b620009af565b620002ec62000a2e565b6040516200027b9291906200417a565b620002606200030d3660046200331b565b62000a4c565b620002606200032436600462002da6565b62000b3f565b6200026c6200033b36600462002eb8565b62000bfd565b6200026062000352366004620031ef565b62000e8e565b620002a56200036936600462002da6565b62000fda565b6200026062000380366004620033af565b62000ff8565b6200026c620010dd565b620002a5620003a136600462002da6565b620010ec565b6200026c6200110c565b62000260620003c2366004620031ef565b62001205565b620003df620003d936600462002da6565b62001336565b6040516200027b91906200415a565b6200026c6200137d565b6200026c6200138c565b620002a5620004133660046200307e565b620013f2565b6200026c6200148b565b620002a56200149a565b620002606200043e3660046200303f565b620014aa565b620002606200045536600462002da6565b62001529565b6200026c620015e7565b6200026c6200047636600462002f71565b6200160b565b620004936200048d366004620030d2565b620018ab565b6040516200027b92919062003de1565b620004ad62001b07565b6040516200027b91906200416a565b62000260620004cd36600462002da6565b62001b0d565b62000260620004e436600462002df0565b62001c0f565b6200026c62001cb5565b620002606200050536600462003234565b62001cd9565b620002606200051c36600462003234565b62001f60565b620002606200053336600462002da6565b62002192565b620005436200138c565b6001600160a01b0316336001600160a01b0316146200057f5760405162461bcd60e51b8152600401620005769062003ff2565b60405180910390fd5b620005896200148b565b6001600160a01b03811615620005b35760405162461bcd60e51b8152600401620005769062003fce565b600080546001600160a01b0319166001600160a01b0384161790556040517f38e37d5fdf60e4358769c3b616594ad451626b1e023c65eaa1062116feadacf8906200060090849062003dd1565b60405180910390a15050565b7f00000000000000000000000000000000000000000000000000000000000000005b90565b6200063b6200060c565b6001600160a01b0316336001600160a01b0316146200066e5760405162461bcd60e51b8152600401620005769062004124565b620006786200149a565b15620006985760405162461bcd60e51b815260040162000576906200405e565b6000620006a46200148b565b6001600160a01b03161415620006ce5760405162461bcd60e51b8152600401620005769062003fbc565b6000620006da6200137d565b6001600160a01b03161415620007045760405162461bcd60e51b81526004016200057690620040a6565b600062000710620010dd565b6001600160a01b031614156200073a5760405162461bcd60e51b8152600401620005769062003f98565b6002805460ff60e01b1916600160e01b1790556040517f0356d4f8f825c1c2803d9e1f15724b6b8eea8992d04fad04da8bcbe6ff30296f90600090a1565b60006005600085856040516020016200079392919062003da7565b60408051601f1981840301815291815281516020928301208352828201939093529082016000908120858252909152205460ff1690505b9392505050565b81620007de813362002560565b6000620007ea62001cb5565b90506000816001600160a01b0316637dad9fc8866040518263ffffffff1660e01b81526004016200081c919062003dd1565b60806040518083038186803b1580156200083557600080fd5b505afa1580156200084a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000870919062002e5a565b50506040516338b3eb1b60e01b81529092506001600160a01b03841691506338b3eb1b90620008a6908890889060040162003ef0565b600060405180830381600087803b158015620008c157600080fd5b505af1158015620008d6573d6000803e3d6000fd5b505060405163ce5e84a360e01b81526001600160a01b038416925063ce5e84a39150620009099060019060040162003f2e565b600060405180830381600087803b1580156200092457600080fd5b505af115801562000939573d6000803e3d6000fd5b50505050620009476200137d565b6001600160a01b0316630a48e041866040518263ffffffff1660e01b815260040162000974919062003dd1565b600060405180830381600087803b1580156200098f57600080fd5b505af1158015620009a4573d6000803e3d6000fd5b505050505050505050565b620009b96200138c565b6001600160a01b0316336001600160a01b031614620009ec5760405162461bcd60e51b8152600401620005769062003ff2565b60038190556040517fa12f25dbb69b970318f8cc02d37f8cfe5bb3fec3a55630fd7e419d6dc42f1d919062000a239083906200416a565b60405180910390a150565b60025463ffffffff600160a01b8204811691600160c01b9004169091565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161462000a975760405162461bcd60e51b815260040162000576906200403a565b600285600481111562000aa657fe5b1462000ab25762000b38565b6000846001600160a01b0316635a53e3486040518163ffffffff1660e01b815260040160206040518083038186803b15801562000aee57600080fd5b505afa15801562000b03573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000b29919062002dcf565b905062000b368162002605565b505b5050505050565b62000b496200138c565b6001600160a01b0316336001600160a01b03161462000b7c5760405162461bcd60e51b8152600401620005769062003ff2565b62000b86620010dd565b6001600160a01b0381161562000bb05760405162461bcd60e51b8152600401620005769062003fce565b600280546001600160a01b0319166001600160a01b0384161790556040517f1e01982aac1b1376985c41ed48c69e04ff4c75107bfe0b8a4827693d2ddba04e906200060090849062003dd1565b60008062000c0a62002647565b905062000c18898262002560565b3062000c2362001cb5565b6001600160a01b0316633d7c74f88b6040518263ffffffff1660e01b815260040162000c50919062003dd1565b60206040518083038186803b15801562000c6957600080fd5b505afa15801562000c7e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000ca4919062002dcf565b6001600160a01b03161462000ccd5760405162461bcd60e51b8152600401620005769062004004565b62000cd889620010ec565b1562000cf85760405162461bcd60e51b8152600401620005769062004112565b62000d0581898962002690565b60405163397bfe5560e01b81529092506001600160a01b0383169063397bfe559062000d36908c9060040162003dd1565b600060405180830381600087803b15801562000d5157600080fd5b505af115801562000d66573d6000803e3d6000fd5b5050505062000de1828a88888080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8c018190048102820181019092528a815292508a91508990819084018382808284376000920191909152506200278292505050565b600062000ded62001b07565b6040805180820182526001600160a01b038681168252429390930160208083018281528f86166000818152600690935291859020935184546001600160a01b031916908716178455516001909301929092559151919350918416907fbc4a5bba58d663a7e6752f3a72d2737260a60caeec28e0bf880ee25711f7fe1e9062000e79908790869062003f0f565b60405180910390a35050979650505050505050565b62000e986200138c565b6001600160a01b0316336001600160a01b03161462000ecb5760405162461bcd60e51b8152600401620005769062003ff2565b60005b8181101562000fd55762000eff83838381811062000ee857fe5b905060200201602081019062000369919062002da6565b62000f1e5760405162461bcd60e51b81526004016200057690620040ca565b60006004600085858581811062000f3157fe5b905060200201602081019062000f48919062002da6565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790557fe49a33dc7a73a9833a0358b29ef8d5fecbfff419af0c4fd9219f57a7147009c683838381811062000f9e57fe5b905060200201602081019062000fb5919062002da6565b60405162000fc4919062003dd1565b60405180910390a160010162000ece565b505050565b6001600160a01b031660009081526004602052604090205460ff1690565b620010026200138c565b6001600160a01b0316336001600160a01b031614620010355760405162461bcd60e51b8152600401620005769062003ff2565b60008263ffffffff1611801562001052575060008163ffffffff16115b620010715760405162461bcd60e51b8152600401620005769062004082565b6002805463ffffffff838116600160c01b0263ffffffff60c01b19918616600160a01b0263ffffffff60a01b1990931692909217161790556040517f09069ba7f5bded3e9f9f7d353e606ae6ee8496309d9cbe09241d1c741e1dceed906200060090849084906200418a565b6002546001600160a01b031690565b6001600160a01b0390811660009081526006602052604090205416151590565b600062001118620015e7565b6001600160a01b03166398a7c4c76040518163ffffffff1660e01b815260040160206040518083038186803b1580156200115157600080fd5b505afa15801562001166573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200118c919062002dcf565b6001600160a01b0316637da0a8776040518163ffffffff1660e01b815260040160206040518083038186803b158015620011c557600080fd5b505afa158015620011da573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001200919062002dcf565b905090565b6200120f6200138c565b6001600160a01b0316336001600160a01b031614620012425760405162461bcd60e51b8152600401620005769062003ff2565b60005b8181101562000fd5576200125f83838381811062000ee857fe5b156200127f5760405162461bcd60e51b8152600401620005769062003fe0565b6001600460008585858181106200129257fe5b9050602002016020810190620012a9919062002da6565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790557f7b322f508cd6b0cc569822d5a028bb23e6698192d88a7b9669ab48fd68916eda838383818110620012ff57fe5b905060200201602081019062001316919062002da6565b60405162001325919062003dd1565b60405180910390a160010162001245565b6200134062002bee565b506001600160a01b039081166000908152600660209081526040918290208251808401909352805490931682526001909201549181019190915290565b6001546001600160a01b031690565b6000620013986200149a565b620013af57620013a76200060c565b90506200062e565b620013b962001cb5565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b158015620011c557600080fd5b60008084846040516020016200140a92919062003da7565b60408051601f19818403018152918152815160209283012060008181526005845282812087825290935291205490915060ff168062001482575060008181526005602090815260408083207f5bf1898dd28c4d29f33c4c1bb9b8a7e2f6322847d70be63e8f89de024d08a669845290915290205460ff165b95945050505050565b6000546001600160a01b031690565b600254600160e01b900460ff1690565b81620014b7813362002560565b620014c162001cb5565b6001600160a01b0316639c9d48da84846040518363ffffffff1660e01b8152600401620014f092919062003ef0565b600060405180830381600087803b1580156200150b57600080fd5b505af115801562001520573d6000803e3d6000fd5b50505050505050565b620015336200138c565b6001600160a01b0316336001600160a01b031614620015665760405162461bcd60e51b8152600401620005769062003ff2565b620015706200137d565b6001600160a01b038116156200159a5760405162461bcd60e51b8152600401620005769062003fce565b600180546001600160a01b0319166001600160a01b0384161790556040517f1a8919bc714742db0ed6eb86960768bdd5103c1dabb914651aaec5796907db15906200060090849062003dd1565b7f000000000000000000000000000000000000000000000000000000000000000090565b6000620016176200149a565b620016365760405162461bcd60e51b8152600401620005769062004094565b8862001643813362002560565b6200164d62001cb5565b6001600160a01b031663d0449d3d8b6040518263ffffffff1660e01b81526004016200167a919062003dd1565b60206040518083038186803b1580156200169357600080fd5b505afa158015620016a8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620016ce9190620032d9565b15620016ee5760405162461bcd60e51b815260040162000576906200404c565b620016fb338a8a62002690565b60405163397bfe5560e01b81529092506001600160a01b0383169063397bfe55906200172c908d9060040162003dd1565b600060405180830381600087803b1580156200174757600080fd5b505af11580156200175c573d6000803e3d6000fd5b50505050620017d7828b89898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8d018190048102820181019092528b815292508b91508a90819084018382808284376000920191909152506200278292505050565b620017e162001cb5565b6001600160a01b031663d15f9b9c8b84620017fb620010dd565b876040518563ffffffff1660e01b81526004016200181d949392919062003e00565b600060405180830381600087803b1580156200183857600080fd5b505af11580156200184d573d6000803e3d6000fd5b50505050896001600160a01b0316336001600160a01b03167f7cb609d1845028175b74ce1b27f0b41ba93711f8699a747463f0cf89c5c95b818460405162001896919062003dd1565b60405180910390a35098975050505050505050565b600080620018b86200149a565b620018d75760405162461bcd60e51b8152600401620005769062004094565b6000620018e362002647565b9050620018f2818a8a62002690565b9250620019048e848f8f8f8f62002ad6565b60405163397bfe5560e01b815290925083906001600160a01b0382169063397bfe55906200193790869060040162003dd1565b600060405180830381600087803b1580156200195257600080fd5b505af115801562001967573d6000803e3d6000fd5b50505050620019e284848a8a8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8e018190048102820181019092528c815292508c91508b90819084018382808284376000920191909152506200278292505050565b60405163ce5e84a360e01b81526001600160a01b0382169063ce5e84a39062001a119060009060040162003f2e565b600060405180830381600087803b15801562001a2c57600080fd5b505af115801562001a41573d6000803e3d6000fd5b5050505062001a4f6200137d565b6001600160a01b0316630a48e041846040518263ffffffff1660e01b815260040162001a7c919062003dd1565b600060405180830381600087803b15801562001a9757600080fd5b505af115801562001aac573d6000803e3d6000fd5b50505050816001600160a01b03167f04dab3bc63cc7e4b52aa28a026644559e2937d78dbf7b81e26dfecdd8bbe33b9848660405162001aed92919062003de1565b60405180910390a250509b509b9950505050505050505050565b60035490565b8062001b238162001b1d62002647565b62002560565b6001600160a01b03808316600090815260066020526040902054168062001b5e5760405162461bcd60e51b8152600401620005769062003f86565b806001600160a01b031663e53a73b96040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562001b9a57600080fd5b505af115801562001baf573d6000803e3d6000fd5b505050506001600160a01b0383811660008181526006602052604080822080546001600160a01b031916815560010182905551928416927f8eae645f408f18cb738736a49846a7ccb7a4ed8cdf9b960624ea965ffbe96e919190a3505050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161462001c5a5760405162461bcd60e51b815260040162000576906200403a565b816001600160a01b031663e53a73b96040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562001c9657600080fd5b505af115801562001cab573d6000803e3d6000fd5b5050505050505050565b7f000000000000000000000000000000000000000000000000000000000000000090565b62001ce36200138c565b6001600160a01b0316336001600160a01b03161462001d165760405162461bcd60e51b8152600401620005769062003ff2565b8362001d365760405162461bcd60e51b8152600401620005769062004100565b838214801562001d465750805184145b62001d655760405162461bcd60e51b8152600401620005769062004148565b60005b8481101562000b365762001dd886868381811062001d8257fe5b905060200201602081019062001d99919062002da6565b85858481811062001da657fe5b905060200201602081019062001dbd9190620032fa565b84848151811062001dca57fe5b602002602001015162000778565b62001df75760405162461bcd60e51b8152600401620005769062004016565b60006005600088888581811062001e0a57fe5b905060200201602081019062001e21919062002da6565b87878681811062001e2e57fe5b905060200201602081019062001e459190620032fa565b60405160200162001e5892919062003da7565b604051602081830303815290604052805190602001208152602001908152602001600020600084848151811062001e8b57fe5b6020026020010151815260200190815260200160002060006101000a81548160ff02191690831515021790555085858281811062001ec557fe5b905060200201602081019062001edc919062002da6565b6001600160a01b03167f845c9ef356cc5570a54e9eb6be3e6d95a2aaad4c4c7d7b2c0cf8c7cdd78d614d85858481811062001f1357fe5b905060200201602081019062001f2a9190620032fa565b84848151811062001f3757fe5b602002602001015160405162001f4f92919062003f3e565b60405180910390a260010162001d68565b62001f6a6200138c565b6001600160a01b0316336001600160a01b03161462001f9d5760405162461bcd60e51b8152600401620005769062003ff2565b8362001fbd5760405162461bcd60e51b81526004016200057690620040b8565b838214801562001fcd5750805184145b62001fec5760405162461bcd60e51b81526004016200057690620040ee565b60005b8481101562000b36576200200986868381811062001d8257fe5b15620020295760405162461bcd60e51b81526004016200057690620040dc565b6001600560008888858181106200203c57fe5b905060200201602081019062002053919062002da6565b8787868181106200206057fe5b9050602002016020810190620020779190620032fa565b6040516020016200208a92919062003da7565b6040516020818303038152906040528051906020012081526020019081526020016000206000848481518110620020bd57fe5b6020026020010151815260200190815260200160002060006101000a81548160ff021916908315150217905550858582818110620020f757fe5b90506020020160208101906200210e919062002da6565b6001600160a01b03167fb1fbe377864edcbf521713f906125bd99a3638c7a9e4087f6a70019686a741d18585848181106200214557fe5b90506020020160208101906200215c9190620032fa565b8484815181106200216957fe5b60200260200101516040516200218192919062003f3e565b60405180910390a260010162001fef565b80620021a28162001b1d62002647565b620021ac62002bee565b620021b78362001336565b80519091506001600160a01b0316620021e45760405162461bcd60e51b8152600401620005769062003faa565b80602001514210156200220b5760405162461bcd60e51b8152600401620005769062004136565b306200221662001cb5565b6001600160a01b0316633d7c74f8856040518263ffffffff1660e01b815260040162002243919062003dd1565b60206040518083038186803b1580156200225c57600080fd5b505afa15801562002271573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002297919062002dcf565b6001600160a01b031614620022c05760405162461bcd60e51b8152600401620005769062004070565b6000836001600160a01b0316635a53e3486040518163ffffffff1660e01b815260040160206040518083038186803b158015620022fc57600080fd5b505afa15801562002311573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002337919062002dcf565b90506000816001600160a01b031663faf9096b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156200237557600080fd5b505afa1580156200238a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620023b0919062002dcf565b9050620023bd8262002605565b8251604051633a0795ad60e11b81526001600160a01b0387169163740f2b5a91620023ec919060040162003dd1565b600060405180830381600087803b1580156200240757600080fd5b505af11580156200241c573d6000803e3d6000fd5b5050845160405163ce5e84a360e01b81526001600160a01b03909116925063ce5e84a39150620024529060019060040162003f2e565b600060405180830381600087803b1580156200246d57600080fd5b505af115801562002482573d6000803e3d6000fd5b505050506001600160a01b03811615620024fc5782516040516373eecf4760e01b81526001600160a01b03909116906373eecf4790620024c790849060040162003dd1565b600060405180830381600087803b158015620024e257600080fd5b505af1158015620024f7573d6000803e3d6000fd5b505050505b6001600160a01b0380861660008181526006602052604080822080546001600160a01b03191681556001018290558651905190841693861692917fa587629d93edeac6431610facaeec919890c8bc040ef849f720e42315148d7d991a45050505050565b604051633ef03e7560e11b81526001600160a01b03831690637de07cea906200258e90849060040162003dd1565b60206040518083038186803b158015620025a757600080fd5b505afa158015620025bc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620025e29190620032d9565b620026015760405162461bcd60e51b8152600401620005769062004028565b5050565b6000806200261262000a2e565b60405163495abadb60e11b815291935091506001600160a01b038416906392b575b690620014f090859085906004016200417a565b600060183610801590620026755750620026606200110c565b6001600160a01b0316336001600160a01b0316145b156200268b575060131936013560601c6200062e565b503390565b6000606063399ae72460e01b8484604051602401620026b192919062003f0f565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152905080620026f06200148b565b604051620026fe9062002c05565b6200270b92919062003f4e565b604051809103906000f08015801562002728573d6000803e3d6000fd5b509150836001600160a01b0316856001600160a01b03167f19dbe5ac5bcfdc5074f78d1e907e1dce6f6e3b50a56b50d990926abaf9c5505784866040516200277292919062003f0f565b60405180910390a3509392505050565b8151156200286557836001600160a01b031663f2d638266040518163ffffffff1660e01b815260040160206040518083038186803b158015620027c457600080fd5b505afa158015620027d9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620027ff919062002dcf565b6001600160a01b031663f067cc118585856040518463ffffffff1660e01b8152600401620028309392919062003e8b565b600060405180830381600087803b1580156200284b57600080fd5b505af115801562002860573d6000803e3d6000fd5b505050505b836001600160a01b031663b3fc38e96040518163ffffffff1660e01b815260040160206040518083038186803b1580156200289f57600080fd5b505afa158015620028b4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620028da919062002dcf565b6001600160a01b031663f067cc1185856040518363ffffffff1660e01b81526004016200290992919062003ebe565b600060405180830381600087803b1580156200292457600080fd5b505af115801562002939573d6000803e3d6000fd5b50505050836001600160a01b031663e7c456906040518163ffffffff1660e01b815260040160206040518083038186803b1580156200297757600080fd5b505afa1580156200298c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620029b2919062002dcf565b6001600160a01b031663f067cc1185856040518363ffffffff1660e01b8152600401620029e192919062003ebe565b600060405180830381600087803b158015620029fc57600080fd5b505af115801562002a11573d6000803e3d6000fd5b50505050836001600160a01b031663d44ad6cb6040518163ffffffff1660e01b815260040160206040518083038186803b15801562002a4f57600080fd5b505afa15801562002a64573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002a8a919062002dcf565b6001600160a01b031663f067cc118585846040518463ffffffff1660e01b815260040162002abb9392919062003e8b565b600060405180830381600087803b15801562001c9657600080fd5b600062002ae262001cb5565b6001600160a01b03166322a0c08b62002afa620010dd565b898989896040518663ffffffff1660e01b815260040162002b2095949392919062003e3d565b602060405180830381600087803b15801562002b3b57600080fd5b505af115801562002b50573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002b76919062002dcf565b9050811562002be457604051635c26412360e11b81526001600160a01b0382169063b84c82469062002baf908690869060040162003f72565b600060405180830381600087803b15801562002bca57600080fd5b505af115801562002bdf573d6000803e3d6000fd5b505050505b9695505050505050565b604080518082019091526000808252602082015290565b6102e080620042f383390190565b803562002c20816200429e565b92915050565b805162002c20816200429e565b60008083601f84011262002c4657600080fd5b5081356001600160401b0381111562002c5e57600080fd5b60208301915083602082028301111562002c7757600080fd5b9250929050565b600082601f83011262002c9057600080fd5b813562002ca762002ca182620041d0565b620041a9565b9150818183526020840193506020810190508385602084028201111562002ccd57600080fd5b60005b8381101562002cfd578162002ce6888262002d21565b845250602092830192919091019060010162002cd0565b5050505092915050565b803562002c2081620042b8565b805162002c2081620042b8565b803562002c2081620042c3565b803562002c2081620042ce565b60008083601f84011262002d4e57600080fd5b5081356001600160401b0381111562002d6657600080fd5b60208301915083600182028301111562002c7757600080fd5b803562002c2081620042d9565b805162002c2081620042c3565b803562002c2081620042e7565b60006020828403121562002db957600080fd5b600062002dc7848462002c13565b949350505050565b60006020828403121562002de257600080fd5b600062002dc7848462002c26565b6000806000806080858703121562002e0757600080fd5b600062002e15878762002c13565b945050602062002e288782880162002c13565b935050604062002e3b8782880162002c13565b925050606062002e4e8782880162002c13565b91505092959194509250565b6000806000806080858703121562002e7157600080fd5b600062002e7f878762002c26565b945050602062002e928782880162002c26565b935050604062002ea58782880162002c26565b925050606062002e4e8782880162002d8c565b600080600080600080600060a0888a03121562002ed457600080fd5b600062002ee28a8a62002c13565b975050602062002ef58a828b0162002c13565b965050604062002f088a828b0162002d21565b95505060608801356001600160401b0381111562002f2557600080fd5b62002f338a828b0162002d3b565b945094505060808801356001600160401b0381111562002f5257600080fd5b62002f608a828b0162002d3b565b925092505092959891949750929550565b60008060008060008060008060c0898b03121562002f8e57600080fd5b600062002f9c8b8b62002c13565b985050602062002faf8b828c0162002c13565b975050604062002fc28b828c0162002d21565b96505060608901356001600160401b0381111562002fdf57600080fd5b62002fed8b828c0162002d3b565b955095505060808901356001600160401b038111156200300c57600080fd5b6200301a8b828c0162002d3b565b935093505060a06200302f8b828c0162002d07565b9150509295985092959890939650565b600080604083850312156200305357600080fd5b600062003061858562002c13565b9250506020620030748582860162002d07565b9150509250929050565b6000806000606084860312156200309457600080fd5b6000620030a2868662002c13565b9350506020620030b58682870162002d2e565b9250506040620030c88682870162002d21565b9150509250925092565b600080600080600080600080600080600060e08c8e031215620030f457600080fd5b6000620031028e8e62002c13565b9b505060208c01356001600160401b038111156200311f57600080fd5b6200312d8e828f0162002d3b565b9a509a505060408c01356001600160401b038111156200314c57600080fd5b6200315a8e828f0162002d3b565b985098505060606200316f8e828f0162002c13565b9650506080620031828e828f0162002d21565b95505060a08c01356001600160401b038111156200319f57600080fd5b620031ad8e828f0162002d3b565b945094505060c08c01356001600160401b03811115620031cc57600080fd5b620031da8e828f0162002d3b565b92509250509295989b509295989b9093969950565b600080602083850312156200320357600080fd5b82356001600160401b038111156200321a57600080fd5b620032288582860162002c33565b92509250509250929050565b6000806000806000606086880312156200324d57600080fd5b85356001600160401b038111156200326457600080fd5b620032728882890162002c33565b955095505060208601356001600160401b038111156200329157600080fd5b6200329f8882890162002c33565b935093505060408601356001600160401b03811115620032be57600080fd5b620032cc8882890162002c7e565b9150509295509295909350565b600060208284031215620032ec57600080fd5b600062002dc7848462002d14565b6000602082840312156200330d57600080fd5b600062002dc7848462002d2e565b600080600080600060a086880312156200333457600080fd5b600062003342888862002d7f565b9550506020620033558882890162002c13565b9450506040620033688882890162002c13565b93505060606200337b8882890162002c13565b9250506080620032cc8882890162002c13565b600060208284031215620033a157600080fd5b600062002dc7848462002d21565b60008060408385031215620033c357600080fd5b6000620033d1858562002d99565b9250506020620030748582860162002d99565b620033ef81620041fe565b82525050565b620033ef6200340482620041fe565b6200427a565b620033ef816200420b565b620033ef816200062e565b620033ef8162004210565b620033ef6200343a8262004210565b6200062e565b60006200344d82620041f1565b620034598185620041f5565b93506200346b8185602086016200424b565b62003476816200428e565b9093019392505050565b60006200348e8385620041f5565b93506200349d8385846200423f565b62003476836200428e565b6000620034b7604883620041f5565b7f63616e63656c5265636f6e66696775726174696f6e3a204e6f207265636f6e6681527f696775726174696f6e20726571756573742065786973747320666f72205f7661602082015267756c7450726f787960c01b604082015260600192915050565b600062003529602383620041f5565b7f73657452656c656173654c6976653a207661756c744c6962206973206e6f74208152621cd95d60ea1b602082015260400192915050565b600062003570604983620041f5565b7f657865637574655265636f6e66696775726174696f6e3a204e6f207265636f6e81527f66696775726174696f6e20726571756573742065786973747320666f72205f7660208201526861756c7450726f787960b81b604082015260600192915050565b6000620035e3602983620041f5565b7f73657452656c656173654c6976653a20636f6d7074726f6c6c65724c696220698152681cc81b9bdd081cd95d60ba1b602082015260400192915050565b600062003630601f83620041f5565b7f546869732076616c75652063616e206f6e6c7920626520736574206f6e636500815260200192915050565b60006200366b603b83620041f5565b7f72656769737465724275795368617265734f6e426568616c6643616c6c65727381527f3a2043616c6c657220616c726561647920726567697374657265640000000000602082015260400192915050565b6000620036cc602e83620041f5565b7f4f6e6c792074686520636f6e7472616374206f776e65722063616e2063616c6c81526d103a3434b990333ab731ba34b7b760911b602082015260400192915050565b60006200371e603c83620041f5565b7f6372656174655265636f6e66696775726174696f6e526571756573743a20566181527f756c7450726f7879206e6f74206f6e20746869732072656c6561736500000000602082015260400192915050565b60006200377f602983620041f5565b7f646572656769737465725661756c7443616c6c733a2043616c6c206e6f7420728152681959da5cdd195c995960ba1b602082015260400192915050565b6000620037cc603383620041f5565b7f4f6e6c792061207065726d697373696f6e6564206d69677261746f722063616e8152721031b0b636103a3434b990333ab731ba34b7b760691b602082015260400192915050565b600062003823602683620041f5565b7f4f6e6c7920446973706174636865722063616e2063616c6c20746869732066758152653731ba34b7b760d11b602082015260400192915050565b60006200386d603983620041f5565b7f6372656174654d6967726174696f6e526571756573743a2041204d696772617481527f696f6e5265717565737420616c72656164792065786973747300000000000000602082015260400192915050565b6000620038ce601c83620041f5565b7f73657452656c656173654c6976653a20416c7265616479206c69766500000000815260200192915050565b600062003909604083620041f5565b7f657865637574655265636f6e66696775726174696f6e3a205f7661756c74507281527f6f7879206973206e6f206c6f6e676572206f6e20746869732072656c65617365602082015260400192915050565b60006200396a603383620041f5565b7f7365744761734c696d697473466f72446573747275637443616c6c3a205a65728152721bc81d985b1d59481b9bdd08185b1b1bddd959606a1b602082015260400192915050565b6000620039c1601783620041f5565b7f52656c65617365206973206e6f7420796574206c697665000000000000000000815260200192915050565b6000620039fc602d83620041f5565b7f73657452656c656173654c6976653a2070726f746f636f6c466565547261636b81526c195c881a5cc81b9bdd081cd95d609a1b602082015260400192915050565b600062003a4d602483620041f5565b7f72656769737465725661756c7443616c6c733a20456d707479205f636f6e74728152636163747360e01b602082015260400192915050565b600062002c20600083620041f5565b600062003aa4603983620041f5565b7f646572656769737465724275795368617265734f6e426568616c6643616c6c6581527f72733a2043616c6c6572206e6f74207265676973746572656400000000000000602082015260400192915050565b600062003b05602b83620041f5565b7f72656769737465725661756c7443616c6c733a2043616c6c20616c726561647981526a081c9959da5cdd195c995960aa1b602082015260400192915050565b600062003b54602783620041f5565b7f72656769737465725661756c7443616c6c733a20556e6576656e20696e7075748152662061727261797360c81b602082015260400192915050565b600062003b9f602683620041f5565b7f646572656769737465725661756c7443616c6c733a20456d707479205f636f6e81526574726163747360d01b602082015260400192915050565b600062003be9604e83620041f5565b7f6372656174655265636f6e66696775726174696f6e526571756573743a20566181527f756c7450726f78792068617320612070656e64696e67207265636f6e6669677560208201526d1c985d1a5bdb881c995c5d595cdd60921b604082015260600192915050565b600062003c61603783620041f5565b7f73657452656c656173654c6976653a204f6e6c79207468652063726561746f7281527f2063616e2063616c6c20746869732066756e6374696f6e000000000000000000602082015260400192915050565b600062003cc2604483620041f5565b7f657865637574655265636f6e66696775726174696f6e3a20546865207265636f81527f6e66696775726174696f6e2074696d656c6f636b20686173206e6f7420656c616020820152631c1cd95960e21b604082015260600192915050565b600062003d30602983620041f5565b7f646572656769737465725661756c7443616c6c733a20556e6576656e20696e7081526875742061727261797360b81b602082015260400192915050565b8051604083019062003d818482620033e4565b50602082015162003d96602085018262003415565b50505050565b620033ef8162004232565b600062003db58285620033f5565b60148201915062003dc782846200342b565b5060040192915050565b6020810162002c208284620033e4565b6040810162003df18285620033e4565b620007ca6020830184620033e4565b6080810162003e108287620033e4565b62003e1f6020830186620033e4565b62003e2e6040830185620033e4565b6200148260608301846200340a565b6080810162003e4d8288620033e4565b62003e5c6020830187620033e4565b62003e6b6040830186620033e4565b818103606083015262003e8081848662003480565b979650505050505050565b6060810162003e9b8286620033e4565b62003eaa6020830185620033e4565b818103604083015262001482818462003440565b6060810162003ece8285620033e4565b62003edd6020830184620033e4565b818103604083015262002dc78162003a86565b6040810162003f008285620033e4565b620007ca60208301846200340a565b6040810162003f1f8285620033e4565b620007ca602083018462003415565b6020810162002c2082846200340a565b6040810162003f1f828562003420565b6040808252810162003f61818562003440565b9050620007ca6020830184620033e4565b6020808252810162002dc781848662003480565b6020808252810162002c2081620034a8565b6020808252810162002c20816200351a565b6020808252810162002c208162003561565b6020808252810162002c2081620035d4565b6020808252810162002c208162003621565b6020808252810162002c20816200365c565b6020808252810162002c2081620036bd565b6020808252810162002c20816200370f565b6020808252810162002c208162003770565b6020808252810162002c2081620037bd565b6020808252810162002c208162003814565b6020808252810162002c20816200385e565b6020808252810162002c2081620038bf565b6020808252810162002c2081620038fa565b6020808252810162002c20816200395b565b6020808252810162002c2081620039b2565b6020808252810162002c2081620039ed565b6020808252810162002c208162003a3e565b6020808252810162002c208162003a95565b6020808252810162002c208162003af6565b6020808252810162002c208162003b45565b6020808252810162002c208162003b90565b6020808252810162002c208162003bda565b6020808252810162002c208162003c52565b6020808252810162002c208162003cb3565b6020808252810162002c208162003d21565b6040810162002c20828462003d6e565b6020810162002c20828462003415565b6040810162003f1f828562003415565b604081016200419a828562003d9c565b620007ca602083018462003d9c565b6040518181016001600160401b0381118282101715620041c857600080fd5b604052919050565b60006001600160401b03821115620041e757600080fd5b5060209081020190565b5190565b90815260200190565b600062002c20826200421d565b151590565b6001600160e01b03191690565b6001600160a01b031690565b63ffffffff1690565b600062002c208262004229565b82818337506000910152565b60005b83811015620042685781810151838201526020016200424e565b8381111562003d965750506000910152565b600062002c2082600062002c208262004298565b601f01601f191690565b60601b90565b620042a981620041fe565b8114620042b557600080fd5b50565b620042a9816200420b565b620042a9816200062e565b620042a98162004210565b60058110620042b557600080fd5b620042a9816200422956fe60a060405234801561001057600080fd5b506040516102e03803806102e08339818101604052604081101561003357600080fd5b810190808051604051939291908464010000000082111561005357600080fd5b90830190602082018581111561006857600080fd5b825164010000000081118282018810171561008257600080fd5b82525081516020918201929091019080838360005b838110156100af578181015183820152602001610097565b50505050905090810190601f1680156100dc5780820380516001836020036101000a031916815260200191505b50604052602001805190602001909291905050508181806001600160a01b03166080816001600160a01b031660601b81525050807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5560006060826001600160a01b0316846040518082805190602001908083835b602083106101705780518252601f199092019160209182019101610151565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d80600081146101d0576040519150601f19603f3d011682016040523d82523d6000602084013e6101d5565b606091505b50915091508181906102655760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561022a578181015183820152602001610212565b50505050905090810190601f1680156102575780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5050505050505060805160601c605a6102866000398060065250605a6000f3fe60806040527f00000000000000000000000000000000000000000000000000000000000000003660008037600080366000846127105a03f43d806000803e818015604857816000f35b816000fdfea164736f6c634300060c000aa164736f6c634300060c000a", - "sourceMap": "1131:33846:77:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5998:234;;;;;;:::i;:::-;;:::i;:::-;;31059:92;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8594:670;;;:::i;34463:315::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;23708:583::-;;;;;;:::i;:::-;;:::i;22711:191::-;;;;;;:::i;:::-;;:::i;31690:306::-;;;:::i;:::-;;;;;;;;:::i;24988:540::-;;;;;;:::i;:::-;;:::i;6714:164::-;;;;;;:::i;:::-;;:::i;14814:1693::-;;;;;;:::i;:::-;;:::i;25753:478::-;;;;;;:::i;:::-;;:::i;33943:207::-;;;;;;:::i;:::-;;:::i;7752:655::-;;;;;;:::i;:::-;;:::i;33148:95::-;;;:::i;33469:261::-;;;;;;:::i;:::-;;:::i;1880:260:230:-;;;:::i;26609:476:77:-;;;;;;:::i;:::-;;:::i;32475:244::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;32139:125::-;;;:::i;7222:205::-;;;:::i;30245:435::-;;;;;;:::i;:::-;;:::i;30836:113::-;;;:::i;34885:90::-;;;:::i;23214:246::-;;;;;;:::i;:::-;;:::i;6357:262::-;;;;;;:::i;:::-;;:::i;1584:174:230:-;;;:::i;10643:1375:77:-;;;;;;:::i;:::-;;:::i;12776:1322::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;32895:140::-;;;:::i;:::-;;;;;;;:::i;19716:683::-;;;;;;:::i;:::-;;:::i;24457:240::-;;;;;;:::i;:::-;;:::i;31270:101::-;;;:::i;27495:928::-;;;;;;:::i;:::-;;:::i;28801:922::-;;;;;;:::i;:::-;;:::i;20735:1846::-;;;;;;:::i;:::-;;:::i;5998:234::-;4520:10;:8;:10::i;:::-;-1:-1:-1;;;;;4506:24:77;:10;-1:-1:-1;;;;;4506:24:77;;4498:83;;;;-1:-1:-1;;;4498:83:77;;;;;;;:::i;:::-;;;;;;;;;6108:19:::1;:17;:19::i;:::-;-1:-1:-1::0;;;;;4670:27:77;::::1;::::0;4662:71:::1;;;;-1:-1:-1::0;;;4662:71:77::1;;;;;;;:::i;:::-;6143:14:::2;:32:::0;;-1:-1:-1;;;;;;6143:32:77::2;-1:-1:-1::0;;;;;6143:32:77;::::2;;::::0;;6191:34:::2;::::0;::::2;::::0;::::2;::::0;6143:32;;6191:34:::2;:::i;:::-;;;;;;;;4591:1:::1;5998:234:::0;:::o;31059:92::-;31137:7;31059:92;;:::o;8594:670::-;8674:12;:10;:12::i;:::-;-1:-1:-1;;;;;8660:26:77;:10;-1:-1:-1;;;;;8660:26:77;;8639:128;;;;-1:-1:-1;;;8639:128:77;;;;;;;:::i;:::-;8786:15;:13;:15::i;:::-;8785:16;8777:57;;;;-1:-1:-1;;;8777:57:77;;;;;;;:::i;:::-;8930:1;8899:19;:17;:19::i;:::-;-1:-1:-1;;;;;8899:33:77;;;8891:87;;;;-1:-1:-1;;;8891:87:77;;;;;;;:::i;:::-;9044:1;9009:23;:21;:23::i;:::-;-1:-1:-1;;;;;9009:37:77;;;8988:129;;;;-1:-1:-1;;;8988:129:77;;;;;;;:::i;:::-;9160:1;9135:13;:11;:13::i;:::-;-1:-1:-1;;;;;9135:27:77;;;9127:75;;;;-1:-1:-1;;;9127:75:77;;;;;;;:::i;:::-;9213:6;:13;;-1:-1:-1;;;;9213:13:77;-1:-1:-1;;;9213:13:77;;;9242:15;;;;9213:13;;9242:15;8594:670::o;34463:315::-;34601:18;34650:29;:80;34707:9;34718;34690:38;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;34690:38:77;;;;;;;;;34680:49;;34690:38;34680:49;;;;34650:80;;;;;;;;;;;;-1:-1:-1;34650:80:77;;;:121;;;;;;;;;;;-1:-1:-1;34463:315:77;;;;;;:::o;23708:583::-;23837:11;4400:43;4419:11;4432:10;4400:18;:43::i;:::-;23864:30:::1;23909:15;:13;:15::i;:::-;23864:61;;23939:24;23971:18;-1:-1:-1::0;;;;;23971:71:77::1;;24043:11;23971:84;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;24066:75:77::1;::::0;-1:-1:-1;;;24066:75:77;;23936:119;;-1:-1:-1;;;;;;24066:35:77;::::1;::::0;-1:-1:-1;24066:35:77::1;::::0;:75:::1;::::0;24102:11;;24115:25;;24066:75:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;24152:45:77::1;::::0;-1:-1:-1;;;24152:45:77;;-1:-1:-1;;;;;24152:39:77;::::1;::::0;-1:-1:-1;24152:39:77::1;::::0;-1:-1:-1;24152:45:77::1;::::0;24192:4:::1;::::0;24152:45:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;24228:23;:21;:23::i;:::-;-1:-1:-1::0;;;;;24208:63:77::1;;24272:11;24208:76;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;4453:1;;23708:583:::0;;;:::o;22711:191::-;4520:10;:8;:10::i;:::-;-1:-1:-1;;;;;4506:24:77;:10;-1:-1:-1;;;;;4506:24:77;;4498:83;;;;-1:-1:-1;;;4498:83:77;;;;;;;:::i;:::-;22799:23:::1;:39:::0;;;22854:41:::1;::::0;::::1;::::0;::::1;::::0;22825:13;;22854:41:::1;:::i;:::-;;;;;;;;22711:191:::0;:::o;31690:306::-;31881:45;;;-1:-1:-1;;;31881:45:77;;;;;-1:-1:-1;;;31940:39:77;;;31690:306;;:::o;24988:540::-;4009:10;-1:-1:-1;;;;;4023:10:77;4009:24;;4001:75;;;;-1:-1:-1;;;4001:75:77;;;;;;;:::i;:::-;25194:27:::1;25185:5;:36;;;;;;;;;25181:73;;25237:7;;25181:73;25348:24;25382:11;-1:-1:-1::0;;;;;25375:31:77::1;;:33;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;25348:60;;25468:53;25504:16;25468:35;:53::i;:::-;4086:1;;24988:540:::0;;;;;:::o;6714:164::-;4520:10;:8;:10::i;:::-;-1:-1:-1;;;;;4506:24:77;:10;-1:-1:-1;;;;;4506:24:77;;4498:83;;;;-1:-1:-1;;;4498:83:77;;;;;;;:::i;:::-;6788:13:::1;:11;:13::i;:::-;-1:-1:-1::0;;;;;4670:27:77;::::1;::::0;4662:71:::1;;;;-1:-1:-1::0;;;4662:71:77::1;;;;;;;:::i;:::-;6813:8:::2;:20:::0;;-1:-1:-1;;;;;;6813:20:77::2;-1:-1:-1::0;;;;;6813:20:77;::::2;;::::0;;6849:22:::2;::::0;::::2;::::0;::::2;::::0;6813:20;;6849:22:::2;:::i;14814:1693::-:0;15075:25;15112:23;15138:13;:11;:13::i;:::-;15112:39;;15161:48;15180:11;15193:15;15161:18;:48::i;:::-;15338:4;15252:15;:13;:15::i;:::-;-1:-1:-1;;;;;15240:57:77;;15298:11;15240:70;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;15240:103:77;;15219:210;;;;-1:-1:-1;;;15219:210:77;;;;;;;:::i;:::-;15461:38;15487:11;15461:25;:38::i;:::-;15460:39;15439:164;;;;-1:-1:-1;;;15439:164:77;;;;;;;:::i;:::-;15634:130;15672:15;15701:18;15733:21;15634:24;:130::i;:::-;15775:58;;-1:-1:-1;;;15775:58:77;;15614:150;;-1:-1:-1;;;;;;15775:45:77;;;;;:58;;15821:11;;15775:58;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15844:160;15879:17;15910:11;15935:21;;15844:160;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;15844:160:77;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15970:24:77;;-1:-1:-1;15970:24:77;;;;15844:160;;15970:24;;;;15844:160;;;;;;;;;-1:-1:-1;15844:21:77;;-1:-1:-1;;;15844:160:77:i;:::-;16015:27;16063:28;:26;:28::i;:::-;16151:141;;;;;;;;-1:-1:-1;;;;;16151:141:77;;;;;16045:15;:46;;;;16151:141;;;;;;;16101:47;;;-1:-1:-1;16101:47:77;;;:34;:47;;;;;;;:191;;;;-1:-1:-1;;;;;;16101:191:77;;;;;;;;-1:-1:-1;16101:191:77;;;;;;;16308:157;;16045:46;;-1:-1:-1;16101:47:77;16308:157;;;;;;;16151:141;;16045:46;;16308:157;:::i;:::-;;;;;;;;16476:24;;14814:1693;;;;;;;;;:::o;25753:478::-;4520:10;:8;:10::i;:::-;-1:-1:-1;;;;;4506:24:77;:10;-1:-1:-1;;;;;4506:24:77;;4498:83;;;;-1:-1:-1;;;4498:83:77;;;;;;;:::i;:::-;25860:9:::1;25855:370;25871:19:::0;;::::1;25855:370;;;25936:45;25969:8;;25978:1;25969:11;;;;;;;;;;;;;;;;;;;;:::i;25936:45::-;25911:161;;;;-1:-1:-1::0;;;25911:161:77::1;;;;;;;:::i;:::-;26141:5;26087:38;:51;26126:8;;26135:1;26126:11;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;26087:51:77::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;26087:51:77;:59;;-1:-1:-1;;26087:59:77::1;::::0;::::1;;::::0;;;::::1;::::0;;26166:48:::1;26202:8:::0;;26211:1;26202:11;;::::1;;;;;;;;;;;;;;;;;;:::i;:::-;26166:48;;;;;;:::i;:::-;;;;;;;;25892:3;;25855:370;;;;25753:478:::0;;:::o;33943:207::-;-1:-1:-1;;;;;34099:44:77;34061:15;34099:44;;;:38;:44;;;;;;;;;33943:207::o;7752:655::-;4520:10;:8;:10::i;:::-;-1:-1:-1;;;;;4506:24:77;:10;-1:-1:-1;;;;;4506:24:77;;4498:83;;;;-1:-1:-1;;;4498:83:77;;;;;;;:::i;:::-;7975:1:::1;7939:33;:37;;;:72;;;;;8010:1;7980:27;:31;;;7939:72;7918:170;;;;-1:-1:-1::0;;;7918:170:77::1;;;;;;;:::i;:::-;8099:45;:81:::0;;::::1;8190:69:::0;;::::1;-1:-1:-1::0;;;8190:69:77::1;-1:-1:-1::0;;;;8099:81:77;;::::1;-1:-1:-1::0;;;8099:81:77::1;-1:-1:-1::0;;;;8099:81:77;;::::1;::::0;;;::::1;8190:69;;::::0;;8275:125:::1;::::0;::::1;::::0;::::1;::::0;8147:33;;8232:27;;8275:125:::1;:::i;33148:95::-:0;33228:8;;-1:-1:-1;;;;;33228:8:77;33148:95;:::o;33469:261::-;-1:-1:-1;;;;;33641:47:77;;;33587:31;33641:47;;;:34;:47;;;;;:68;;:82;;;33469:261::o;1880:260:230:-;1940:25;2052:29;:27;:29::i;:::-;-1:-1:-1;;;;;2032:66:230;;:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1996:135:230;;:137;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1977:156;;1880:260;:::o;26609:476:77:-;4520:10;:8;:10::i;:::-;-1:-1:-1;;;;;4506:24:77;:10;-1:-1:-1;;;;;4506:24:77;;4498:83;;;;-1:-1:-1;;;4498:83:77;;;;;;;:::i;:::-;26714:9:::1;26709:370;26725:19:::0;;::::1;26709:370;;;26791:45;26824:8;;26833:1;26824:11;;;;;;26791:45;26790:46;26765:164;;;;-1:-1:-1::0;;;26765:164:77::1;;;;;;;:::i;:::-;26998:4;26944:38;:51;26983:8;;26992:1;26983:11;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;26944:51:77::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;26944:51:77;:58;;-1:-1:-1;;26944:58:77::1;::::0;::::1;;::::0;;;::::1;::::0;;27022:46:::1;27056:8:::0;;27065:1;27056:11;;::::1;;;;;;;;;;;;;;;;;;:::i;:::-;27022:46;;;;;;:::i;:::-;;;;;;;;26746:3;;26709:370;;32475:244:::0;32589:53;;:::i;:::-;-1:-1:-1;;;;;;32665:47:77;;;;;;;:34;:47;;;;;;;;;32658:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;32475:244::o;32139:125::-;32239:18;;-1:-1:-1;;;;;32239:18:77;32139:125;:::o;7222:205::-;7272:14;7303:15;:13;:15::i;:::-;7298:66;;7341:12;:10;:12::i;:::-;7334:19;;;;7298:66;7393:15;:13;:15::i;:::-;-1:-1:-1;;;;;7381:37:77;;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30245:435;30391:15;30418:28;30476:9;30487;30459:38;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;30459:38:77;;;;;;;;;30449:49;;30459:38;30449:49;;;;30528:51;;;;:29;:51;;;;;:62;;;;;;;;;30449:49;;-1:-1:-1;30528:62:77;;;:145;;-1:-1:-1;30606:51:77;;;;:29;:51;;;;;;;;3139:66;30606:67;;;;;;;;;;30528:145;30509:164;30245:435;-1:-1:-1;;;;;30245:435:77:o;30836:113::-;30886:23;30928:14;-1:-1:-1;;;;;30928:14:77;30836:113;:::o;34885:90::-;34962:6;;-1:-1:-1;;;34962:6:77;;;;;34885:90::o;23214:246::-;23342:11;4400:43;4419:11;4432:10;4400:18;:43::i;:::-;23381:15:::1;:13;:15::i;:::-;-1:-1:-1::0;;;;;23369:44:77::1;;23414:11;23427:25;23369:84;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;23214:246:::0;;;:::o;6357:262::-;4520:10;:8;:10::i;:::-;-1:-1:-1;;;;;4506:24:77;:10;-1:-1:-1;;;;;4506:24:77;;4498:83;;;;-1:-1:-1;;;4498:83:77;;;;;;;:::i;:::-;6475:23:::1;:21;:23::i;:::-;-1:-1:-1::0;;;;;4670:27:77;::::1;::::0;4662:71:::1;;;;-1:-1:-1::0;;;4662:71:77::1;;;;;;;:::i;:::-;6514:18:::2;:40:::0;;-1:-1:-1;;;;;;6514:40:77::2;-1:-1:-1::0;;;;;6514:40:77;::::2;;::::0;;6570:42:::2;::::0;::::2;::::0;::::2;::::0;6514:40;;6570:42:::2;:::i;1584:174:230:-:0;1724:27;1584:174;:::o;10643:1375:77:-;11024:25;4145:15;:13;:15::i;:::-;4137:51;;;;-1:-1:-1;;;4137:51:77;;;;;;;:::i;:::-;10994:11:::1;4400:43;4419:11;4432:10;4400:18;:43::i;:::-;11178:15:::2;:13;:15::i;:::-;-1:-1:-1::0;;;;;11166:48:77::2;;11215:11;11166:61;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11165:62;11144:166;;;;-1:-1:-1::0;;;11144:166:77::2;;;;;;;:::i;:::-;11341:125;11379:10;11403:18;11435:21;11341:24;:125::i;:::-;11477:58;::::0;-1:-1:-1;;;11477:58:77;;11321:145;;-1:-1:-1;;;;;;11477:45:77;::::2;::::0;::::2;::::0;:58:::2;::::0;11523:11;;11477:58:::2;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;11546:160;11581:17;11612:11;11637:21;;11546:160;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;::::0;;;;-1:-1:-1;;11546:160:77::2;::::0;;::::2;;::::0;::::2;::::0;;::::2;::::0;::::2;::::0;;;;;;;;;;;-1:-1:-1;11672:24:77;;-1:-1:-1;11672:24:77;;;;11546:160;::::2;11672:24:::0;;;;11546:160;::::2;;::::0;::::2;::::0;;;;-1:-1:-1;11546:21:77::2;::::0;-1:-1:-1;;;11546:160:77:i:2;:::-;11729:15;:13;:15::i;:::-;-1:-1:-1::0;;;;;11717:44:77::2;;11775:11;11800:17;11831:13;:11;:13::i;:::-;11858:25;11717:176;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;11945:11;-1:-1:-1::0;;;;;11909:67:77::2;11933:10;-1:-1:-1::0;;;;;11909:67:77::2;;11958:17;11909:67;;;;;;:::i;:::-;;;;;;;;4198:1:::1;10643:1375:::0;;;;;;;;;;:::o;12776:1322::-;13109:25;13136:19;4145:15;:13;:15::i;:::-;4137:51;;;;-1:-1:-1;;;4137:51:77;;;;;;;:::i;:::-;13227:23:::1;13253:13;:11;:13::i;:::-;13227:39;;13297:130;13335:15;13364:18;13396:21;13297:24;:130::i;:::-;13277:150;;13452:73;13471:10;13483:17;13502:9;;13513:11;;13452:18;:73::i;:::-;13612:46;::::0;-1:-1:-1;;;13612:46:77;;13438:87;;-1:-1:-1;13584:17:77;;-1:-1:-1;;;;;13612:33:77;::::1;::::0;::::1;::::0;:46:::1;::::0;13438:87;;13612:46:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;13669:160;13704:17;13735:11;13760:21;;13669:160;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;;13669:160:77::1;::::0;;::::1;;::::0;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;;;-1:-1:-1;13795:24:77;;-1:-1:-1;13795:24:77;;;;13669:160;::::1;13795:24:::0;;;;13669:160;::::1;;::::0;::::1;::::0;;;;-1:-1:-1;13669:21:77::1;::::0;-1:-1:-1;;;13669:160:77:i:1;:::-;13840:35;::::0;-1:-1:-1;;;13840:35:77;;-1:-1:-1;;;;;13840:28:77;::::1;::::0;::::1;::::0;:35:::1;::::0;13869:5:::1;::::0;13840:35:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;13906:23;:21;:23::i;:::-;-1:-1:-1::0;;;;;13886:63:77::1;;13950:11;13886:76;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;13993:15;-1:-1:-1::0;;;;;13978:63:77::1;;14010:11;14023:17;13978:63;;;;;;;:::i;:::-;;;;;;;;14052:39;;12776:1322:::0;;;;;;;;;;;;;;:::o;32895:140::-;33005:23;;32895:140;:::o;19716:683::-;19790:11;4265:46;4284:11;4297:13;:11;:13::i;:::-;4265:18;:46::i;:::-;-1:-1:-1;;;;;19844:47:77;;::::1;19813:28;19844:47:::0;;;:34:::1;:47;::::0;;;;:81;::::1;19956:34:::0;19935:153:::1;;;;-1:-1:-1::0;;;19935:153:77::1;;;;;;;:::i;:::-;20156:20;-1:-1:-1::0;;;;;20143:54:77::1;;:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;;;;;;;;20263:47:77;;::::1;;::::0;;;:34:::1;:47;::::0;;;;;20256:54;;-1:-1:-1;;;;;;20256:54:77::1;::::0;;-1:-1:-1;20256:54:77::1;::::0;;;20326:66;;;::::1;::::0;::::1;::::0;20263:47;20326:66:::1;4321:1;19716:683:::0;;:::o;24457:240::-;4009:10;-1:-1:-1;;;;;4023:10:77;4009:24;;4001:75;;;;-1:-1:-1;;;4001:75:77;;;;;;;:::i;:::-;24646:21:::1;-1:-1:-1::0;;;;;24633:55:77::1;;:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;24457:240:::0;;;;:::o;31270:101::-;31354:10;31270:101;:::o;27495:928::-;4520:10;:8;:10::i;:::-;-1:-1:-1;;;;;4506:24:77;:10;-1:-1:-1;;;;;4506:24:77;;4498:83;;;;-1:-1:-1;;;4498:83:77;;;;;;;:::i;:::-;27683:21;27675:72:::1;;;;-1:-1:-1::0;;;27675:72:77::1;;;;;;;:::i;:::-;27778:38:::0;;::::1;:81:::0;::::1;;;-1:-1:-1::0;27841:18:77;;27820:39;::::1;27778:81;27757:169;;;;-1:-1:-1::0;;;27757:169:77::1;;;;;;;:::i;:::-;27942:9;27937:480;27953:21:::0;;::::1;27937:480;;;28020:67;28042:10;;28053:1;28042:13;;;;;;;;;;;;;;;;;;;;:::i;:::-;28057:10;;28068:1;28057:13;;;;;;;;;;;;;;;;;;;;:::i;:::-;28072:11;28084:1;28072:14;;;;;;;;;;;;;;28020:21;:67::i;:::-;27995:167;;;;-1:-1:-1::0;;;27995:167:77::1;;;;;;;:::i;:::-;28314:5;28177:29;:118;28251:10;;28262:1;28251:13;;;;;;;;;;;;;;;;;;;;:::i;:::-;28266:10;;28277:1;28266:13;;;;;;;;;;;;;;;;;;;;:::i;:::-;28234:46;;;;;;;;;:::i;:::-;;;;;;;;;;;;;28224:57;;;;;;28177:118;;;;;;;;;;;:134;28296:11;28308:1;28296:14;;;;;;;;;;;;;;28177:134;;;;;;;;;;;;:142;;;;;;;;;;;;;;;;;;28361:10;;28372:1;28361:13;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;28339:67:77::1;;28376:10;;28387:1;28376:13;;;;;;;;;;;;;;;;;;;;:::i;:::-;28391:11;28403:1;28391:14;;;;;;;;;;;;;;28339:67;;;;;;;:::i;:::-;;;;;;;;27976:3;;27937:480;;28801:922:::0;4520:10;:8;:10::i;:::-;-1:-1:-1;;;;;4506:24:77;:10;-1:-1:-1;;;;;4506:24:77;;4498:83;;;;-1:-1:-1;;;4498:83:77;;;;;;;:::i;:::-;28987:21;28979:70:::1;;;;-1:-1:-1::0;;;28979:70:77::1;;;;;;;:::i;:::-;29080:38:::0;;::::1;:81:::0;::::1;;;-1:-1:-1::0;29143:18:77;;29122:39;::::1;29080:81;29059:167;;;;-1:-1:-1::0;;;29059:167:77::1;;;;;;;:::i;:::-;29242:9;29237:480;29253:21:::0;;::::1;29237:480;;;29321:67;29343:10;;29354:1;29343:13;;;;;;29321:67;29320:68;29295:170;;;;-1:-1:-1::0;;;29295:170:77::1;;;;;;;:::i;:::-;29617:4;29480:29;:118;29554:10;;29565:1;29554:13;;;;;;;;;;;;;;;;;;;;:::i;:::-;29569:10;;29580:1;29569:13;;;;;;;;;;;;;;;;;;;;:::i;:::-;29537:46;;;;;;;;;:::i;:::-;;;;;;;;;;;;;29527:57;;;;;;29480:118;;;;;;;;;;;:134;29599:11;29611:1;29599:14;;;;;;;;;;;;;;29480:134;;;;;;;;;;;;:141;;;;;;;;;;;;;;;;;;29661:10;;29672:1;29661:13;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;29641:65:77::1;;29676:10;;29687:1;29676:13;;;;;;;;;;;;;;;;;;;;:::i;:::-;29691:11;29703:1;29691:14;;;;;;;;;;;;;;29641:65;;;;;;;:::i;:::-;;;;;;;;29276:3;;29237:480;;20735:1846:::0;20810:11;4265:46;4284:11;4297:13;:11;:13::i;4265:46::-;20833:37:::1;;:::i;:::-;20873:73;20925:11;20873:38;:73::i;:::-;20977:28:::0;;20833:113;;-1:-1:-1;;;;;;20977:42:77::1;20956:162;;;;-1:-1:-1::0;;;20956:162:77::1;;;;;;;:::i;:::-;21168:7;:27;;;21149:15;:46;;21128:161;;;;-1:-1:-1::0;;;21128:161:77::1;;;;;;;:::i;:::-;21477:4;21391:15;:13;:15::i;:::-;-1:-1:-1::0;;;;;21379:57:77::1;;21437:11;21379:70;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;21379:103:77::1;;21358:214;;;;-1:-1:-1::0;;;21358:214:77::1;;;;;;;:::i;:::-;21705:28;21743:11;-1:-1:-1::0;;;;;21736:31:77::1;;:33;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;21705:64;;21779:17;21812:20;-1:-1:-1::0;;;;;21799:55:77::1;;:57;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;21779:77;;21866:57;21902:20;21866:35;:57::i;:::-;22027:28:::0;;21973:83:::1;::::0;-1:-1:-1;;;21973:83:77;;-1:-1:-1;;;;;21973:53:77;::::1;::::0;::::1;::::0;:83:::1;::::0;22027:28;21973:83:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;22125:28:77;;22112:57:::1;::::0;-1:-1:-1;;;22112:57:77;;-1:-1:-1;;;;;22112:51:77;;::::1;::::0;-1:-1:-1;22112:51:77::1;::::0;-1:-1:-1;22112:57:77::1;::::0;22164:4:::1;::::0;22112:57:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;;;;;;;;22183:23:77;::::1;::::0;22179:128:::1;;22235:28:::0;;22222:74:::1;::::0;-1:-1:-1;;;22222:74:77;;-1:-1:-1;;;;;22222:63:77;;::::1;::::0;::::1;::::0;:74:::1;::::0;22286:9;;22222:74:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;22179:128;-1:-1:-1::0;;;;;22370:47:77;;::::1;;::::0;;;:34:::1;:47;::::0;;;;;22363:54;;-1:-1:-1;;;;;;22363:54:77::1;::::0;;;::::1;::::0;;;22536:28;;22433:141;;;;::::1;::::0;;::::1;::::0;22370:47;22433:141:::1;::::0;::::1;4321:1;;;20735:1846:::0;;:::o;4757:227::-;4864:36;;-1:-1:-1;;;4864:36:77;;-1:-1:-1;;;;;4864:30:77;;;;;:36;;4895:4;;4864:36;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4843:134;;;;-1:-1:-1;;;4843:134:77;;;;;;;:::i;:::-;4757:227;;:::o;9359:380::-;9463:36;9513:30;9556:29;:27;:29::i;:::-;9595:137;;-1:-1:-1;;;9595:137:77;;9449:136;;-1:-1:-1;9449:136:77;-1:-1:-1;;;;;;9595:49:77;;;;;:137;;9449:136;;;;9595:137;;;:::i;983:367:230:-;1029:32;1096:2;1077:8;:21;;;;:68;;;1116:29;:27;:29::i;:::-;-1:-1:-1;;;;;1102:43:230;:10;-1:-1:-1;;;;;1102:43:230;;1077:68;1073:243;;;-1:-1:-1;;;1233:14:230;1229:23;1216:37;1212:2;1208:46;1282:23;;1073:243;-1:-1:-1;1333:10:230;983:367;:::o;17981:755:77:-;18147:25;18253:26;18318;;;18358:18;18390:21;18282:139;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;18282:139:77;;;;;;;;;;;;;;-1:-1:-1;;;;;18282:139:77;-1:-1:-1;;;;;;18282:139:77;;;;;;;;;;;-1:-1:-1;18282:139:77;18495:19;:17;:19::i;:::-;18459:56;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;18431:85;;18631:18;-1:-1:-1;;;;;18532:162:77;18570:16;-1:-1:-1;;;;;18532:162:77;;18600:17;18663:21;18532:162;;;;;;;:::i;:::-;;;;;;;;18705:24;17981:755;;;;;:::o;16599:1307::-;16936:28;;:32;16932:256;;17008:17;-1:-1:-1;;;;;16995:45:77;;:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;16984:76:77;;17078:17;17113:11;17142:21;16984:193;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16932:256;17383:17;-1:-1:-1;;;;;17370:58:77;;:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;17359:89:77;;17462:17;17493:11;17359:171;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17564:17;-1:-1:-1;;;;;17551:53:77;;:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;17540:84:77;;17638:17;17669:11;17540:166;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17740:17;-1:-1:-1;;;;;17727:48:77;;:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;17716:79:77;;17809:17;17840:11;17865:24;17716:183;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;18857:539;19043:19;19100:15;:13;:15::i;:::-;-1:-1:-1;;;;;19088:45:77;;19147:13;:11;:13::i;:::-;19174:10;19198:17;19229:9;;19088:160;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;19074:174;-1:-1:-1;19262:30:77;;19258:103;;19308:42;;-1:-1:-1;;;19308:42:77;;-1:-1:-1;;;;;19308:29:77;;;;;:42;;19338:11;;;;19308:42;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19258:103;18857:539;;;;;;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;:::o;5:130::-;72:20;;97:33;72:20;97:33;:::i;:::-;57:78;;;;:::o;142:134::-;220:13;;238:33;220:13;238:33;:::i;301:352::-;;;431:3;424:4;416:6;412:17;408:27;398:2;;449:1;446;439:12;398:2;-1:-1;469:20;;-1:-1;;;;;498:30;;495:2;;;541:1;538;531:12;495:2;575:4;567:6;563:17;551:29;;626:3;618:4;610:6;606:17;596:8;592:32;589:41;586:2;;;643:1;640;633:12;586:2;391:262;;;;;:::o;679:707::-;;796:3;789:4;781:6;777:17;773:27;763:2;;814:1;811;804:12;763:2;851:6;838:20;873:80;888:64;945:6;888:64;:::i;:::-;873:80;:::i;:::-;864:89;;970:5;995:6;988:5;981:21;1025:4;1017:6;1013:17;1003:27;;1047:4;1042:3;1038:14;1031:21;;1100:6;1147:3;1139:4;1131:6;1127:17;1122:3;1118:27;1115:36;1112:2;;;1164:1;1161;1154:12;1112:2;1189:1;1174:206;1199:6;1196:1;1193:13;1174:206;;;1257:3;1279:37;1312:3;1300:10;1279:37;:::i;:::-;1267:50;;-1:-1;1340:4;1331:14;;;;1359;;;;;1221:1;1214:9;1174:206;;;1178:14;756:630;;;;;;;:::o;1770:124::-;1834:20;;1859:30;1834:20;1859:30;:::i;1901:128::-;1976:13;;1994:30;1976:13;1994:30;:::i;2036:130::-;2103:20;;2128:33;2103:20;2128:33;:::i;2173:128::-;2239:20;;2264:32;2239:20;2264:32;:::i;2322:336::-;;;2436:3;2429:4;2421:6;2417:17;2413:27;2403:2;;2454:1;2451;2444:12;2403:2;-1:-1;2474:20;;-1:-1;;;;;2503:30;;2500:2;;;2546:1;2543;2536:12;2500:2;2580:4;2572:6;2568:17;2556:29;;2631:3;2623:4;2615:6;2611:17;2601:8;2597:32;2594:41;2591:2;;;2648:1;2645;2638:12;2666:172;2754:20;;2779:54;2754:20;2779:54;:::i;3342:134::-;3420:13;;3438:33;3420:13;3438:33;:::i;3483:128::-;3549:20;;3574:32;3549:20;3574:32;:::i;3618:241::-;;3722:2;3710:9;3701:7;3697:23;3693:32;3690:2;;;3738:1;3735;3728:12;3690:2;3773:1;3790:53;3835:7;3815:9;3790:53;:::i;:::-;3780:63;3684:175;-1:-1;;;;3684:175::o;3866:263::-;;3981:2;3969:9;3960:7;3956:23;3952:32;3949:2;;;3997:1;3994;3987:12;3949:2;4032:1;4049:64;4105:7;4085:9;4049:64;:::i;4136:617::-;;;;;4291:3;4279:9;4270:7;4266:23;4262:33;4259:2;;;4308:1;4305;4298:12;4259:2;4343:1;4360:53;4405:7;4385:9;4360:53;:::i;:::-;4350:63;;4322:97;4450:2;4468:53;4513:7;4504:6;4493:9;4489:22;4468:53;:::i;:::-;4458:63;;4429:98;4558:2;4576:53;4621:7;4612:6;4601:9;4597:22;4576:53;:::i;:::-;4566:63;;4537:98;4666:2;4684:53;4729:7;4720:6;4709:9;4705:22;4684:53;:::i;:::-;4674:63;;4645:98;4253:500;;;;;;;:::o;4760:672::-;;;;;4926:3;4914:9;4905:7;4901:23;4897:33;4894:2;;;4943:1;4940;4933:12;4894:2;4978:1;4995:64;5051:7;5031:9;4995:64;:::i;:::-;4985:74;;4957:108;5096:2;5114:64;5170:7;5161:6;5150:9;5146:22;5114:64;:::i;:::-;5104:74;;5075:109;5215:2;5233:64;5289:7;5280:6;5269:9;5265:22;5233:64;:::i;:::-;5223:74;;5194:109;5334:2;5352:64;5408:7;5399:6;5388:9;5384:22;5352:64;:::i;5439:991::-;;;;;;;;5649:3;5637:9;5628:7;5624:23;5620:33;5617:2;;;5666:1;5663;5656:12;5617:2;5701:1;5718:53;5763:7;5743:9;5718:53;:::i;:::-;5708:63;;5680:97;5808:2;5826:53;5871:7;5862:6;5851:9;5847:22;5826:53;:::i;:::-;5816:63;;5787:98;5916:2;5934:53;5979:7;5970:6;5959:9;5955:22;5934:53;:::i;:::-;5924:63;;5895:98;6052:2;6041:9;6037:18;6024:32;-1:-1;;;;;6068:6;6065:30;6062:2;;;6108:1;6105;6098:12;6062:2;6136:64;6192:7;6183:6;6172:9;6168:22;6136:64;:::i;:::-;6118:82;;;;6003:203;6265:3;6254:9;6250:19;6237:33;-1:-1;;;;;6282:6;6279:30;6276:2;;;6322:1;6319;6312:12;6276:2;6350:64;6406:7;6397:6;6386:9;6382:22;6350:64;:::i;:::-;6332:82;;;;6216:204;5611:819;;;;;;;;;;:::o;6437:1111::-;;;;;;;;;6661:3;6649:9;6640:7;6636:23;6632:33;6629:2;;;6678:1;6675;6668:12;6629:2;6713:1;6730:53;6775:7;6755:9;6730:53;:::i;:::-;6720:63;;6692:97;6820:2;6838:53;6883:7;6874:6;6863:9;6859:22;6838:53;:::i;:::-;6828:63;;6799:98;6928:2;6946:53;6991:7;6982:6;6971:9;6967:22;6946:53;:::i;:::-;6936:63;;6907:98;7064:2;7053:9;7049:18;7036:32;-1:-1;;;;;7080:6;7077:30;7074:2;;;7120:1;7117;7110:12;7074:2;7148:64;7204:7;7195:6;7184:9;7180:22;7148:64;:::i;:::-;7130:82;;;;7015:203;7277:3;7266:9;7262:19;7249:33;-1:-1;;;;;7294:6;7291:30;7288:2;;;7334:1;7331;7324:12;7288:2;7362:64;7418:7;7409:6;7398:9;7394:22;7362:64;:::i;:::-;7344:82;;;;7228:204;7463:3;7482:50;7524:7;7515:6;7504:9;7500:22;7482:50;:::i;:::-;7472:60;;7442:96;6623:925;;;;;;;;;;;:::o;7555:360::-;;;7673:2;7661:9;7652:7;7648:23;7644:32;7641:2;;;7689:1;7686;7679:12;7641:2;7724:1;7741:53;7786:7;7766:9;7741:53;:::i;:::-;7731:63;;7703:97;7831:2;7849:50;7891:7;7882:6;7871:9;7867:22;7849:50;:::i;:::-;7839:60;;7810:95;7635:280;;;;;:::o;7922:489::-;;;;8059:2;8047:9;8038:7;8034:23;8030:32;8027:2;;;8075:1;8072;8065:12;8027:2;8110:1;8127:53;8172:7;8152:9;8127:53;:::i;:::-;8117:63;;8089:97;8217:2;8235:52;8279:7;8270:6;8259:9;8255:22;8235:52;:::i;:::-;8225:62;;8196:97;8324:2;8342:53;8387:7;8378:6;8367:9;8363:22;8342:53;:::i;:::-;8332:63;;8303:98;8021:390;;;;;:::o;8418:1497::-;;;;;;;;;;;;8703:3;8691:9;8682:7;8678:23;8674:33;8671:2;;;8720:1;8717;8710:12;8671:2;8755:1;8772:53;8817:7;8797:9;8772:53;:::i;:::-;8762:63;;8734:97;8890:2;8879:9;8875:18;8862:32;-1:-1;;;;;8906:6;8903:30;8900:2;;;8946:1;8943;8936:12;8900:2;8974:65;9031:7;9022:6;9011:9;9007:22;8974:65;:::i;:::-;8956:83;;;;8841:204;9104:2;9093:9;9089:18;9076:32;-1:-1;;;;;9120:6;9117:30;9114:2;;;9160:1;9157;9150:12;9114:2;9188:65;9245:7;9236:6;9225:9;9221:22;9188:65;:::i;:::-;9170:83;;;;9055:204;9290:2;9308:53;9353:7;9344:6;9333:9;9329:22;9308:53;:::i;:::-;9298:63;;9269:98;9398:3;9417:53;9462:7;9453:6;9442:9;9438:22;9417:53;:::i;:::-;9407:63;;9377:99;9535:3;9524:9;9520:19;9507:33;-1:-1;;;;;9552:6;9549:30;9546:2;;;9592:1;9589;9582:12;9546:2;9620:64;9676:7;9667:6;9656:9;9652:22;9620:64;:::i;:::-;9602:82;;;;9486:204;9749:3;9738:9;9734:19;9721:33;-1:-1;;;;;9766:6;9763:30;9760:2;;;9806:1;9803;9796:12;9760:2;9835:64;9891:7;9882:6;9871:9;9867:22;9835:64;:::i;:::-;9816:83;;;;9700:205;8665:1250;;;;;;;;;;;;;;:::o;9922:397::-;;;10061:2;10049:9;10040:7;10036:23;10032:32;10029:2;;;10077:1;10074;10067:12;10029:2;10112:31;;-1:-1;;;;;10152:30;;10149:2;;;10195:1;10192;10185:12;10149:2;10223:80;10295:7;10286:6;10275:9;10271:22;10223:80;:::i;:::-;10205:98;;;;10091:218;10023:296;;;;;:::o;10326:937::-;;;;;;10558:2;10546:9;10537:7;10533:23;10529:32;10526:2;;;10574:1;10571;10564:12;10526:2;10609:31;;-1:-1;;;;;10649:30;;10646:2;;;10692:1;10689;10682:12;10646:2;10720:80;10792:7;10783:6;10772:9;10768:22;10720:80;:::i;:::-;10702:98;;;;10588:218;10865:2;10854:9;10850:18;10837:32;-1:-1;;;;;10881:6;10878:30;10875:2;;;10921:1;10918;10911:12;10875:2;10949:79;11020:7;11011:6;11000:9;10996:22;10949:79;:::i;:::-;10931:97;;;;10816:218;11093:2;11082:9;11078:18;11065:32;-1:-1;;;;;11109:6;11106:30;11103:2;;;11149:1;11146;11139:12;11103:2;11169:78;11239:7;11230:6;11219:9;11215:22;11169:78;:::i;:::-;11159:88;;11044:209;10520:743;;;;;;;;:::o;11270:257::-;;11382:2;11370:9;11361:7;11357:23;11353:32;11350:2;;;11398:1;11395;11388:12;11350:2;11433:1;11450:61;11503:7;11483:9;11450:61;:::i;11534:239::-;;11637:2;11625:9;11616:7;11612:23;11608:32;11605:2;;;11653:1;11650;11643:12;11605:2;11688:1;11705:52;11749:7;11729:9;11705:52;:::i;11780:785::-;;;;;;11973:3;11961:9;11952:7;11948:23;11944:33;11941:2;;;11990:1;11987;11980:12;11941:2;12025:1;12042:74;12108:7;12088:9;12042:74;:::i;:::-;12032:84;;12004:118;12153:2;12171:53;12216:7;12207:6;12196:9;12192:22;12171:53;:::i;:::-;12161:63;;12132:98;12261:2;12279:53;12324:7;12315:6;12304:9;12300:22;12279:53;:::i;:::-;12269:63;;12240:98;12369:2;12387:53;12432:7;12423:6;12412:9;12408:22;12387:53;:::i;:::-;12377:63;;12348:98;12477:3;12496:53;12541:7;12532:6;12521:9;12517:22;12496:53;:::i;12572:241::-;;12676:2;12664:9;12655:7;12651:23;12647:32;12644:2;;;12692:1;12689;12682:12;12644:2;12727:1;12744:53;12789:7;12769:9;12744:53;:::i;12820:362::-;;;12939:2;12927:9;12918:7;12914:23;12910:32;12907:2;;;12955:1;12952;12945:12;12907:2;12990:1;13007:52;13051:7;13031:9;13007:52;:::i;:::-;12997:62;;12969:96;13096:2;13114:52;13158:7;13149:6;13138:9;13134:22;13114:52;:::i;13189:103::-;13262:24;13280:5;13262:24;:::i;:::-;13257:3;13250:37;13244:48;;:::o;13419:152::-;13520:45;13540:24;13558:5;13540:24;:::i;:::-;13520:45;:::i;13578:104::-;13655:21;13670:5;13655:21;:::i;13689:113::-;13772:24;13790:5;13772:24;:::i;13809:110::-;13890:23;13907:5;13890:23;:::i;13926:148::-;14025:43;14044:23;14061:5;14044:23;:::i;:::-;14025:43;:::i;14081:343::-;;14191:38;14223:5;14191:38;:::i;:::-;14241:70;14304:6;14299:3;14241:70;:::i;:::-;14234:77;;14316:52;14361:6;14356:3;14349:4;14342:5;14338:16;14316:52;:::i;:::-;14389:29;14411:6;14389:29;:::i;:::-;14380:39;;;;14171:253;-1:-1;;;14171:253::o;14456:300::-;;14572:71;14636:6;14631:3;14572:71;:::i;:::-;14565:78;;14655:43;14691:6;14686:3;14679:5;14655:43;:::i;:::-;14720:29;14742:6;14720:29;:::i;14765:446::-;;14925:67;14989:2;14984:3;14925:67;:::i;:::-;15025:34;15005:55;;15094:34;15089:2;15080:12;;15073:56;-1:-1;;;15158:2;15149:12;;15142:32;15202:2;15193:12;;14911:300;-1:-1;;14911:300::o;15220:372::-;;15380:67;15444:2;15439:3;15380:67;:::i;:::-;15480:34;15460:55;;-1:-1;;;15544:2;15535:12;;15528:27;15583:2;15574:12;;15366:226;-1:-1;;15366:226::o;15601:447::-;;15761:67;15825:2;15820:3;15761:67;:::i;:::-;15861:34;15841:55;;15930:34;15925:2;15916:12;;15909:56;-1:-1;;;15994:2;15985:12;;15978:33;16039:2;16030:12;;15747:301;-1:-1;;15747:301::o;16057:378::-;;16217:67;16281:2;16276:3;16217:67;:::i;:::-;16317:34;16297:55;;-1:-1;;;16381:2;16372:12;;16365:33;16426:2;16417:12;;16203:232;-1:-1;;16203:232::o;16444:331::-;;16604:67;16668:2;16663:3;16604:67;:::i;:::-;16704:33;16684:54;;16766:2;16757:12;;16590:185;-1:-1;;16590:185::o;16784:396::-;;16944:67;17008:2;17003:3;16944:67;:::i;:::-;17044:34;17024:55;;17113:29;17108:2;17099:12;;17092:51;17171:2;17162:12;;16930:250;-1:-1;;16930:250::o;17189:383::-;;17349:67;17413:2;17408:3;17349:67;:::i;:::-;17449:34;17429:55;;-1:-1;;;17513:2;17504:12;;17497:38;17563:2;17554:12;;17335:237;-1:-1;;17335:237::o;17581:397::-;;17741:67;17805:2;17800:3;17741:67;:::i;:::-;17841:34;17821:55;;17910:30;17905:2;17896:12;;17889:52;17969:2;17960:12;;17727:251;-1:-1;;17727:251::o;17987:378::-;;18147:67;18211:2;18206:3;18147:67;:::i;:::-;18247:34;18227:55;;-1:-1;;;18311:2;18302:12;;18295:33;18356:2;18347:12;;18133:232;-1:-1;;18133:232::o;18374:388::-;;18534:67;18598:2;18593:3;18534:67;:::i;:::-;18634:34;18614:55;;-1:-1;;;18698:2;18689:12;;18682:43;18753:2;18744:12;;18520:242;-1:-1;;18520:242::o;18771:375::-;;18931:67;18995:2;18990:3;18931:67;:::i;:::-;19031:34;19011:55;;-1:-1;;;19095:2;19086:12;;19079:30;19137:2;19128:12;;18917:229;-1:-1;;18917:229::o;19155:394::-;;19315:67;19379:2;19374:3;19315:67;:::i;:::-;19415:34;19395:55;;19484:27;19479:2;19470:12;;19463:49;19540:2;19531:12;;19301:248;-1:-1;;19301:248::o;19558:328::-;;19718:67;19782:2;19777:3;19718:67;:::i;:::-;19818:30;19798:51;;19877:2;19868:12;;19704:182;-1:-1;;19704:182::o;19895:401::-;;20055:67;20119:2;20114:3;20055:67;:::i;:::-;20155:34;20135:55;;20224:34;20219:2;20210:12;;20203:56;20287:2;20278:12;;20041:255;-1:-1;;20041:255::o;20305:388::-;;20465:67;20529:2;20524:3;20465:67;:::i;:::-;20565:34;20545:55;;-1:-1;;;20629:2;20620:12;;20613:43;20684:2;20675:12;;20451:242;-1:-1;;20451:242::o;20702:323::-;;20862:67;20926:2;20921:3;20862:67;:::i;:::-;20962:25;20942:46;;21016:2;21007:12;;20848:177;-1:-1;;20848:177::o;21034:382::-;;21194:67;21258:2;21253:3;21194:67;:::i;:::-;21294:34;21274:55;;-1:-1;;;21358:2;21349:12;;21342:37;21407:2;21398:12;;21180:236;-1:-1;;21180:236::o;21425:373::-;;21585:67;21649:2;21644:3;21585:67;:::i;:::-;21685:34;21665:55;;-1:-1;;;21749:2;21740:12;;21733:28;21789:2;21780:12;;21571:227;-1:-1;;21571:227::o;21807:260::-;;21966:65;22029:1;22024:3;21966:65;:::i;22076:394::-;;22236:67;22300:2;22295:3;22236:67;:::i;:::-;22336:34;22316:55;;22405:27;22400:2;22391:12;;22384:49;22461:2;22452:12;;22222:248;-1:-1;;22222:248::o;22479:380::-;;22639:67;22703:2;22698:3;22639:67;:::i;:::-;22739:34;22719:55;;-1:-1;;;22803:2;22794:12;;22787:35;22850:2;22841:12;;22625:234;-1:-1;;22625:234::o;22868:376::-;;23028:67;23092:2;23087:3;23028:67;:::i;:::-;23128:34;23108:55;;-1:-1;;;23192:2;23183:12;;23176:31;23235:2;23226:12;;23014:230;-1:-1;;23014:230::o;23253:375::-;;23413:67;23477:2;23472:3;23413:67;:::i;:::-;23513:34;23493:55;;-1:-1;;;23577:2;23568:12;;23561:30;23619:2;23610:12;;23399:229;-1:-1;;23399:229::o;23637:452::-;;23797:67;23861:2;23856:3;23797:67;:::i;:::-;23897:34;23877:55;;23966:34;23961:2;23952:12;;23945:56;-1:-1;;;24030:2;24021:12;;24014:38;24080:2;24071:12;;23783:306;-1:-1;;23783:306::o;24098:392::-;;24258:67;24322:2;24317:3;24258:67;:::i;:::-;24358:34;24338:55;;24427:25;24422:2;24413:12;;24406:47;24481:2;24472:12;;24244:246;-1:-1;;24244:246::o;24499:442::-;;24659:67;24723:2;24718:3;24659:67;:::i;:::-;24759:34;24739:55;;24828:34;24823:2;24814:12;;24807:56;-1:-1;;;24892:2;24883:12;;24876:28;24932:2;24923:12;;24645:296;-1:-1;;24645:296::o;24950:378::-;;25110:67;25174:2;25169:3;25110:67;:::i;:::-;25210:34;25190:55;;-1:-1;;;25274:2;25265:12;;25258:33;25319:2;25310:12;;25096:232;-1:-1;;25096:232::o;25431:539::-;25688:23;;25606:4;25597:14;;;25717:63;25601:3;25688:23;25717:63;:::i;:::-;25626:160;25874:4;25867:5;25863:16;25857:23;25886:63;25943:4;25938:3;25934:14;25920:12;25886:63;:::i;:::-;25796:159;25579:391;;;:::o;26207:124::-;26289:36;26319:5;26289:36;:::i;26338:387::-;;26492:75;26563:3;26554:6;26492:75;:::i;:::-;26589:2;26584:3;26580:12;26573:19;;26603:73;26672:3;26663:6;26603:73;:::i;:::-;-1:-1;26698:1;26689:11;;26480:245;-1:-1;;26480:245::o;26732:222::-;26859:2;26844:18;;26873:71;26848:9;26917:6;26873:71;:::i;26961:333::-;27116:2;27101:18;;27130:71;27105:9;27174:6;27130:71;:::i;:::-;27212:72;27280:2;27269:9;27265:18;27256:6;27212:72;:::i;27301:544::-;27506:3;27491:19;;27521:71;27495:9;27565:6;27521:71;:::i;:::-;27603:72;27671:2;27660:9;27656:18;27647:6;27603:72;:::i;:::-;27686;27754:2;27743:9;27739:18;27730:6;27686:72;:::i;:::-;27769:66;27831:2;27820:9;27816:18;27807:6;27769:66;:::i;27852:664::-;28093:3;28078:19;;28108:71;28082:9;28152:6;28108:71;:::i;:::-;28190:72;28258:2;28247:9;28243:18;28234:6;28190:72;:::i;:::-;28273;28341:2;28330:9;28326:18;28317:6;28273:72;:::i;:::-;28393:9;28387:4;28383:20;28378:2;28367:9;28363:18;28356:48;28418:88;28501:4;28492:6;28484;28418:88;:::i;:::-;28410:96;28064:452;-1:-1;;;;;;;28064:452::o;28523:528::-;28724:2;28709:18;;28738:71;28713:9;28782:6;28738:71;:::i;:::-;28820:72;28888:2;28877:9;28873:18;28864:6;28820:72;:::i;:::-;28940:9;28934:4;28930:20;28925:2;28914:9;28910:18;28903:48;28965:76;29036:4;29027:6;28965:76;:::i;29058:636::-;29313:2;29298:18;;29327:71;29302:9;29371:6;29327:71;:::i;:::-;29409:72;29477:2;29466:9;29462:18;29453:6;29409:72;:::i;:::-;29529:9;29523:4;29519:20;29514:2;29503:9;29499:18;29492:48;29554:130;29679:4;29554:130;:::i;29701:321::-;29850:2;29835:18;;29864:71;29839:9;29908:6;29864:71;:::i;:::-;29946:66;30008:2;29997:9;29993:18;29984:6;29946:66;:::i;30029:333::-;30184:2;30169:18;;30198:71;30173:9;30242:6;30198:71;:::i;:::-;30280:72;30348:2;30337:9;30333:18;30324:6;30280:72;:::i;30369:210::-;30490:2;30475:18;;30504:65;30479:9;30542:6;30504:65;:::i;30586:329::-;30739:2;30724:18;;30753:69;30728:9;30795:6;30753:69;:::i;30922:417::-;31095:2;31109:47;;;31080:18;;31170:76;31080:18;31232:6;31170:76;:::i;:::-;31162:84;;31257:72;31325:2;31314:9;31310:18;31301:6;31257:72;:::i;31346:330::-;31503:2;31517:47;;;31488:18;;31578:88;31488:18;31652:6;31644;31578:88;:::i;31683:416::-;31883:2;31897:47;;;31868:18;;31958:131;31868:18;31958:131;:::i;32106:416::-;32306:2;32320:47;;;32291:18;;32381:131;32291:18;32381:131;:::i;32529:416::-;32729:2;32743:47;;;32714:18;;32804:131;32714:18;32804:131;:::i;32952:416::-;33152:2;33166:47;;;33137:18;;33227:131;33137:18;33227:131;:::i;33375:416::-;33575:2;33589:47;;;33560:18;;33650:131;33560:18;33650:131;:::i;33798:416::-;33998:2;34012:47;;;33983:18;;34073:131;33983:18;34073:131;:::i;34221:416::-;34421:2;34435:47;;;34406:18;;34496:131;34406:18;34496:131;:::i;34644:416::-;34844:2;34858:47;;;34829:18;;34919:131;34829:18;34919:131;:::i;35067:416::-;35267:2;35281:47;;;35252:18;;35342:131;35252:18;35342:131;:::i;35490:416::-;35690:2;35704:47;;;35675:18;;35765:131;35675:18;35765:131;:::i;35913:416::-;36113:2;36127:47;;;36098:18;;36188:131;36098:18;36188:131;:::i;36336:416::-;36536:2;36550:47;;;36521:18;;36611:131;36521:18;36611:131;:::i;36759:416::-;36959:2;36973:47;;;36944:18;;37034:131;36944:18;37034:131;:::i;37182:416::-;37382:2;37396:47;;;37367:18;;37457:131;37367:18;37457:131;:::i;37605:416::-;37805:2;37819:47;;;37790:18;;37880:131;37790:18;37880:131;:::i;38028:416::-;38228:2;38242:47;;;38213:18;;38303:131;38213:18;38303:131;:::i;38451:416::-;38651:2;38665:47;;;38636:18;;38726:131;38636:18;38726:131;:::i;38874:416::-;39074:2;39088:47;;;39059:18;;39149:131;39059:18;39149:131;:::i;39297:416::-;39497:2;39511:47;;;39482:18;;39572:131;39482:18;39572:131;:::i;39720:416::-;39920:2;39934:47;;;39905:18;;39995:131;39905:18;39995:131;:::i;40143:416::-;40343:2;40357:47;;;40328:18;;40418:131;40328:18;40418:131;:::i;40566:416::-;40766:2;40780:47;;;40751:18;;40841:131;40751:18;40841:131;:::i;40989:416::-;41189:2;41203:47;;;41174:18;;41264:131;41174:18;41264:131;:::i;41412:416::-;41612:2;41626:47;;;41597:18;;41687:131;41597:18;41687:131;:::i;41835:416::-;42035:2;42049:47;;;42020:18;;42110:131;42020:18;42110:131;:::i;42258:416::-;42458:2;42472:47;;;42443:18;;42533:131;42443:18;42533:131;:::i;42681:386::-;42890:2;42875:18;;42904:153;42879:9;43030:6;42904:153;:::i;43074:222::-;43201:2;43186:18;;43215:71;43190:9;43259:6;43215:71;:::i;43303:333::-;43458:2;43443:18;;43472:71;43447:9;43516:6;43472:71;:::i;43643:329::-;43796:2;43781:18;;43810:70;43785:9;43853:6;43810:70;:::i;:::-;43891:71;43958:2;43947:9;43943:18;43934:6;43891:71;:::i;43979:256::-;44041:2;44035:9;44067:17;;;-1:-1;;;;;44127:34;;44163:22;;;44124:62;44121:2;;;44199:1;44196;44189:12;44121:2;44215;44208:22;44019:216;;-1:-1;44019:216::o;44242:304::-;;-1:-1;;;;;44393:6;44390:30;44387:2;;;44433:1;44430;44423:12;44387:2;-1:-1;44468:4;44456:17;;;44521:15;;44324:222::o;44553:121::-;44640:12;;44611:63::o;44682:162::-;44784:19;;;44833:4;44824:14;;44777:67::o;45024:91::-;;45086:24;45104:5;45086:24;:::i;45122:85::-;45188:13;45181:21;;45164:43::o;45293:144::-;-1:-1;;;;;;45354:78;;45337:100::o;45444:121::-;-1:-1;;;;;45506:54;;45489:76::o;45651:88::-;45723:10;45712:22;;45695:44::o;45746:106::-;;45824:23;45841:5;45824:23;:::i;45860:145::-;45941:6;45936:3;45931;45918:30;-1:-1;45997:1;45979:16;;45972:27;45911:94::o;46014:268::-;46079:1;46086:101;46100:6;46097:1;46094:13;46086:101;;;46167:11;;;46161:18;46148:11;;;46141:39;46122:2;46115:10;46086:101;;;46202:6;46199:1;46196:13;46193:2;;;-1:-1;;46267:1;46249:16;;46242:27;46063:219::o;46290:95::-;;46354:26;46374:5;46472:89;46536:20;46550:5;46536:20;:::i;46568:97::-;46656:2;46636:14;-1:-1;;46632:28;;46616:49::o;46673:94::-;46747:2;46743:14;;46715:52::o;46775:117::-;46844:24;46862:5;46844:24;:::i;:::-;46837:5;46834:35;46824:2;;46883:1;46880;46873:12;46824:2;46818:74;:::o;46899:111::-;46965:21;46980:5;46965:21;:::i;47017:117::-;47086:24;47104:5;47086:24;:::i;47141:115::-;47209:23;47226:5;47209:23;:::i;47263:115::-;47353:1;47346:5;47343:12;47333:2;;47369:1;47366;47359:12;47509:115;47577:23;47594:5;47577:23;:::i", - "linkReferences": {}, - "immutableReferences": { - "12525": [ - { - "start": 1550, - "length": 32 - } - ], - "12527": [ - { - "start": 2647, - "length": 32 - }, - { - "start": 7194, - "length": 32 - }, - { - "start": 7351, - "length": 32 - } - ], - "62077": [ - { - "start": 5609, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "cancelMigration(address,bool)": "9c9d48da", - "cancelReconfiguration(address)": "d5189add", - "createMigrationRequest(address,address,uint256,bytes,bytes,bool)": "b8f8a84c", - "createNewFund(address,string,string,address,uint256,bytes,bytes)": "c83980dd", - "createReconfigurationRequest(address,address,uint256,bytes,bytes)": "4348ab62", - "deregisterBuySharesOnBehalfCallers(address[])": "4bacc5f7", - "deregisterVaultCalls(address[],bytes4[],bytes32[])": "ed9eeb7f", - "executeMigration(address,bool)": "38b3eb1b", - "executeReconfiguration(address)": "ff845718", - "getComptrollerLib()": "93a2ecd9", - "getCreator()": "0ee2cb10", - "getDispatcher()": "ebb3d589", - "getGasLimitsForDestructCall()": "3d0d4abb", - "getGasRelayPaymasterFactory()": "ac259456", - "getGasRelayTrustedForwarder()": "6ea21143", - "getOwner()": "893d20e8", - "getProtocolFeeTracker()": "749cc8f5", - "getReconfigurationRequestForVaultProxy(address)": "72eb5f2b", - "getReconfigurationTimelock()": "cebffb58", - "getVaultLib()": "682cea19", - "hasReconfigurationRequest(address)": "6c579e57", - "invokeMigrationInCancelHook(address,address,address,address)": "df369ba7", - "invokeMigrationOutHook(uint8,address,address,address,address)": "3f84c12c", - "isAllowedBuySharesOnBehalfCaller(address)": "54391f09", - "isAllowedVaultCall(address,bytes4,bytes32)": "8c500ea3", - "isRegisteredVaultCall(address,bytes4,bytes32)": "36b4ea4f", - "registerBuySharesOnBehalfCallers(address[])": "6f2b7574", - "registerVaultCalls(address[],bytes4[],bytes32[])": "efcde9e3", - "releaseIsLive()": "98f0d4bb", - "setComptrollerLib(address)": "0d2fcd76", - "setGasLimitsForDestructCall(uint32,uint32)": "575403dc", - "setProtocolFeeTracker(address)": "9f9df785", - "setReconfigurationTimelock(uint256)": "3b30dce7", - "setReleaseLive()": "164dd2d4", - "setVaultLib(address)": "4140d607" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_dispatcher\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_gasRelayPaymasterFactory\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"BuySharesOnBehalfCallerDeregistered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"BuySharesOnBehalfCallerRegistered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"comptrollerLib\",\"type\":\"address\"}],\"name\":\"ComptrollerLibSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"creator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"denominationAsset\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"sharesActionTimelock\",\"type\":\"uint256\"}],\"name\":\"ComptrollerProxyDeployed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"nextDeactivateFeeManagerGasLimit\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"nextPayProtocolFeeGasLimit\",\"type\":\"uint256\"}],\"name\":\"GasLimitsForDestructCallSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"creator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"vaultProxy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"}],\"name\":\"MigrationRequestCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"creator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"vaultProxy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"}],\"name\":\"NewFundCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"protocolFeeTracker\",\"type\":\"address\"}],\"name\":\"ProtocolFeeTrackerSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"vaultProxy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"nextComptrollerProxy\",\"type\":\"address\"}],\"name\":\"ReconfigurationRequestCancelled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"creator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"vaultProxy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"executableTimestamp\",\"type\":\"uint256\"}],\"name\":\"ReconfigurationRequestCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"vaultProxy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"prevComptrollerProxy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"nextComptrollerProxy\",\"type\":\"address\"}],\"name\":\"ReconfigurationRequestExecuted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"nextTimelock\",\"type\":\"uint256\"}],\"name\":\"ReconfigurationTimelockSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"ReleaseIsLive\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes4\",\"name\":\"selector\",\"type\":\"bytes4\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"dataHash\",\"type\":\"bytes32\"}],\"name\":\"VaultCallDeregistered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes4\",\"name\":\"selector\",\"type\":\"bytes4\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"dataHash\",\"type\":\"bytes32\"}],\"name\":\"VaultCallRegistered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"vaultLib\",\"type\":\"address\"}],\"name\":\"VaultLibSet\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_bypassPrevReleaseFailure\",\"type\":\"bool\"}],\"name\":\"cancelMigration\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"}],\"name\":\"cancelReconfiguration\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_denominationAsset\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_sharesActionTimelock\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_feeManagerConfigData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"_policyManagerConfigData\",\"type\":\"bytes\"},{\"internalType\":\"bool\",\"name\":\"_bypassPrevReleaseFailure\",\"type\":\"bool\"}],\"name\":\"createMigrationRequest\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"comptrollerProxy_\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_fundOwner\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_fundName\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_fundSymbol\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"_denominationAsset\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_sharesActionTimelock\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_feeManagerConfigData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"_policyManagerConfigData\",\"type\":\"bytes\"}],\"name\":\"createNewFund\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"comptrollerProxy_\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"vaultProxy_\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_denominationAsset\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_sharesActionTimelock\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_feeManagerConfigData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"_policyManagerConfigData\",\"type\":\"bytes\"}],\"name\":\"createReconfigurationRequest\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"comptrollerProxy_\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_callers\",\"type\":\"address[]\"}],\"name\":\"deregisterBuySharesOnBehalfCallers\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_contracts\",\"type\":\"address[]\"},{\"internalType\":\"bytes4[]\",\"name\":\"_selectors\",\"type\":\"bytes4[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"_dataHashes\",\"type\":\"bytes32[]\"}],\"name\":\"deregisterVaultCalls\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_bypassPrevReleaseFailure\",\"type\":\"bool\"}],\"name\":\"executeMigration\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"}],\"name\":\"executeReconfiguration\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getComptrollerLib\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"comptrollerLib_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCreator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"creator_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDispatcher\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"dispatcher_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getGasLimitsForDestructCall\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"deactivateFeeManagerGasLimit_\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"payProtocolFeeGasLimit_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getGasRelayPaymasterFactory\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"gasRelayPaymasterFactory_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getGasRelayTrustedForwarder\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"trustedForwarder_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getProtocolFeeTracker\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"protocolFeeTracker_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"}],\"name\":\"getReconfigurationRequestForVaultProxy\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"nextComptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"executableTimestamp\",\"type\":\"uint256\"}],\"internalType\":\"struct FundDeployer.ReconfigurationRequest\",\"name\":\"reconfigurationRequest_\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getReconfigurationTimelock\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"reconfigurationTimelock_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getVaultLib\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"vaultLib_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"}],\"name\":\"hasReconfigurationRequest\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"hasReconfigurationRequest_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_nextComptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"invokeMigrationInCancelHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IMigrationHookHandler.MigrationOutHook\",\"name\":\"_hook\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"invokeMigrationOutHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_who\",\"type\":\"address\"}],\"name\":\"isAllowedBuySharesOnBehalfCaller\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isAllowed_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contract\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"_selector\",\"type\":\"bytes4\"},{\"internalType\":\"bytes32\",\"name\":\"_dataHash\",\"type\":\"bytes32\"}],\"name\":\"isAllowedVaultCall\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isAllowed_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contract\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"_selector\",\"type\":\"bytes4\"},{\"internalType\":\"bytes32\",\"name\":\"_dataHash\",\"type\":\"bytes32\"}],\"name\":\"isRegisteredVaultCall\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isRegistered_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_callers\",\"type\":\"address[]\"}],\"name\":\"registerBuySharesOnBehalfCallers\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_contracts\",\"type\":\"address[]\"},{\"internalType\":\"bytes4[]\",\"name\":\"_selectors\",\"type\":\"bytes4[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"_dataHashes\",\"type\":\"bytes32[]\"}],\"name\":\"registerVaultCalls\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"releaseIsLive\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isLive_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerLib\",\"type\":\"address\"}],\"name\":\"setComptrollerLib\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"_nextDeactivateFeeManagerGasLimit\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"_nextPayProtocolFeeGasLimit\",\"type\":\"uint32\"}],\"name\":\"setGasLimitsForDestructCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_protocolFeeTracker\",\"type\":\"address\"}],\"name\":\"setProtocolFeeTracker\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_nextTimelock\",\"type\":\"uint256\"}],\"name\":\"setReconfigurationTimelock\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"setReleaseLive\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultLib\",\"type\":\"address\"}],\"name\":\"setVaultLib\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"cancelMigration(address,bool)\":{\"params\":{\"_bypassPrevReleaseFailure\":\"True if should override a failure in the previous release while canceling migration\",\"_vaultProxy\":\"The VaultProxy for which to cancel migration\"}},\"cancelReconfiguration(address)\":{\"params\":{\"_vaultProxy\":\"The VaultProxy contract for which to cancel the reconfiguration request\"}},\"createMigrationRequest(address,address,uint256,bytes,bytes,bool)\":{\"params\":{\"_bypassPrevReleaseFailure\":\"True if should override a failure in the previous release while signaling migration\",\"_denominationAsset\":\"The contract address of the denomination asset for the fund\",\"_feeManagerConfigData\":\"Bytes data for the fees to be enabled for the fund\",\"_policyManagerConfigData\":\"Bytes data for the policies to be enabled for the fund\",\"_sharesActionTimelock\":\"The minimum number of seconds between any two \\\"shares actions\\\" (buying or selling shares) by the same user\",\"_vaultProxy\":\"The VaultProxy to migrate\"},\"returns\":{\"comptrollerProxy_\":\"The address of the ComptrollerProxy deployed during this action\"}},\"createNewFund(address,string,string,address,uint256,bytes,bytes)\":{\"params\":{\"_denominationAsset\":\"The contract address of the denomination asset for the fund\",\"_feeManagerConfigData\":\"Bytes data for the fees to be enabled for the fund\",\"_fundName\":\"The name of the fund's shares token\",\"_fundOwner\":\"The address of the owner for the fund\",\"_fundSymbol\":\"The symbol of the fund's shares token\",\"_policyManagerConfigData\":\"Bytes data for the policies to be enabled for the fund\",\"_sharesActionTimelock\":\"The minimum number of seconds between any two \\\"shares actions\\\" (buying or selling shares) by the same user\"},\"returns\":{\"comptrollerProxy_\":\"The address of the ComptrollerProxy deployed during this action\"}},\"createReconfigurationRequest(address,address,uint256,bytes,bytes)\":{\"params\":{\"_denominationAsset\":\"The contract address of the denomination asset for the fund\",\"_feeManagerConfigData\":\"Bytes data for the fees to be enabled for the fund\",\"_policyManagerConfigData\":\"Bytes data for the policies to be enabled for the fund\",\"_sharesActionTimelock\":\"The minimum number of seconds between any two \\\"shares actions\\\" (buying or selling shares) by the same user\",\"_vaultProxy\":\"The VaultProxy to reconfigure\"},\"returns\":{\"comptrollerProxy_\":\"The address of the ComptrollerProxy deployed during this action\"}},\"deregisterBuySharesOnBehalfCallers(address[])\":{\"params\":{\"_callers\":\"The callers to deregister\"}},\"deregisterVaultCalls(address[],bytes4[],bytes32[])\":{\"details\":\"ANY_VAULT_CALL is a wildcard that allows any payload\",\"params\":{\"_contracts\":\"The contracts of the calls to de-register\",\"_dataHashes\":\"The keccak call data hashes of the calls to de-register\",\"_selectors\":\"The selectors of the calls to de-register\"}},\"executeMigration(address,bool)\":{\"params\":{\"_bypassPrevReleaseFailure\":\"True if should override a failure in the previous release while executing migration\",\"_vaultProxy\":\"The VaultProxy for which to execute the migration\"}},\"executeReconfiguration(address)\":{\"details\":\"ProtocolFeeTracker.initializeForVault() does not need to be included in a reconfiguration, as it refers to the vault and not the new ComptrollerProxy\",\"params\":{\"_vaultProxy\":\"The VaultProxy contract for which to execute the reconfiguration request\"}},\"getComptrollerLib()\":{\"returns\":{\"comptrollerLib_\":\"The `comptrollerLib` variable value\"}},\"getCreator()\":{\"returns\":{\"creator_\":\"The `CREATOR` variable value\"}},\"getDispatcher()\":{\"returns\":{\"dispatcher_\":\"The `DISPATCHER` variable value\"}},\"getGasLimitsForDestructCall()\":{\"returns\":{\"deactivateFeeManagerGasLimit_\":\"The amount of gas to forward to deactivate the FeeManager\",\"payProtocolFeeGasLimit_\":\"The amount of gas to forward to pay the protocol fee\"}},\"getGasRelayPaymasterFactory()\":{\"returns\":{\"gasRelayPaymasterFactory_\":\"The `GAS_RELAY_PAYMASTER_FACTORY` variable value\"}},\"getGasRelayTrustedForwarder()\":{\"returns\":{\"trustedForwarder_\":\"The trusted forwarder\"}},\"getOwner()\":{\"details\":\"The owner is initially the contract's creator, for convenience in setting up configuration. Ownership is handed-off when the creator calls setReleaseLive().\",\"returns\":{\"owner_\":\"The contract owner address\"}},\"getProtocolFeeTracker()\":{\"returns\":{\"protocolFeeTracker_\":\"The `protocolFeeTracker` variable value\"}},\"getReconfigurationRequestForVaultProxy(address)\":{\"params\":{\"_vaultProxy\":\"The VaultProxy instance\"},\"returns\":{\"reconfigurationRequest_\":\"The pending ReconfigurationRequest\"}},\"getReconfigurationTimelock()\":{\"returns\":{\"reconfigurationTimelock_\":\"The timelock value (in seconds)\"}},\"getVaultLib()\":{\"returns\":{\"vaultLib_\":\"The `vaultLib` variable value\"}},\"hasReconfigurationRequest(address)\":{\"params\":{\"_vaultProxy\":\"The VaultProxy instance\"},\"returns\":{\"hasReconfigurationRequest_\":\"True if a ReconfigurationRequest exists\"}},\"invokeMigrationInCancelHook(address,address,address,address)\":{\"params\":{\"_nextComptrollerProxy\":\"The ComptrollerProxy created on this release\"}},\"invokeMigrationOutHook(uint8,address,address,address,address)\":{\"params\":{\"_vaultProxy\":\"The VaultProxy being migrated\"}},\"isAllowedBuySharesOnBehalfCaller(address)\":{\"params\":{\"_who\":\"The account to check\"},\"returns\":{\"isAllowed_\":\"True if the account is an allowed caller\"}},\"isAllowedVaultCall(address,bytes4,bytes32)\":{\"details\":\"A vault call is allowed if the _dataHash is specifically allowed, or if any _dataHash is allowed\",\"params\":{\"_contract\":\"The contract of the call to check\",\"_dataHash\":\"The keccak call data hash of the call to check\",\"_selector\":\"The selector of the call to check\"},\"returns\":{\"isAllowed_\":\"True if the call is allowed\"}},\"isRegisteredVaultCall(address,bytes4,bytes32)\":{\"params\":{\"_contract\":\"The contract of the call to check\",\"_dataHash\":\"The keccak call data hash of the call to check\",\"_selector\":\"The selector of the call to check\"},\"returns\":{\"isRegistered_\":\"True if the call is registered\"}},\"registerBuySharesOnBehalfCallers(address[])\":{\"details\":\"Validate that each registered caller only forwards requests to buy shares that originate from the same _buyer passed into buySharesOnBehalf(). This is critical to the integrity of VaultProxy.freelyTransferableShares.\",\"params\":{\"_callers\":\"The allowed callers\"}},\"registerVaultCalls(address[],bytes4[],bytes32[])\":{\"details\":\"ANY_VAULT_CALL is a wildcard that allows any payload\",\"params\":{\"_contracts\":\"The contracts of the calls to register\",\"_dataHashes\":\"The keccak call data hashes of the calls to register\",\"_selectors\":\"The selectors of the calls to register\"}},\"releaseIsLive()\":{\"returns\":{\"isLive_\":\"The `isLive` variable value\"}},\"setComptrollerLib(address)\":{\"params\":{\"_comptrollerLib\":\"The ComptrollerLib contract address\"}},\"setGasLimitsForDestructCall(uint32,uint32)\":{\"params\":{\"_nextDeactivateFeeManagerGasLimit\":\"The amount of gas to forward to deactivate the FeeManager\",\"_nextPayProtocolFeeGasLimit\":\"The amount of gas to forward to pay the protocol fee\"}},\"setProtocolFeeTracker(address)\":{\"params\":{\"_protocolFeeTracker\":\"The ProtocolFeeTracker contract address\"}},\"setReconfigurationTimelock(uint256)\":{\"params\":{\"_nextTimelock\":\"The number of seconds for the new timelock\"}},\"setReleaseLive()\":{\"details\":\"A live release allows funds to be created and migrated once this contract is set as the Dispatcher.currentFundDeployer\"},\"setVaultLib(address)\":{\"params\":{\"_vaultLib\":\"The VaultLib contract address\"}}},\"title\":\"FundDeployer Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"cancelMigration(address,bool)\":{\"notice\":\"Cancels fund migration\"},\"cancelReconfiguration(address)\":{\"notice\":\"Cancels a pending reconfiguration request\"},\"createMigrationRequest(address,address,uint256,bytes,bytes,bool)\":{\"notice\":\"Creates a fully-configured ComptrollerProxy instance for a VaultProxy and signals the migration process\"},\"createNewFund(address,string,string,address,uint256,bytes,bytes)\":{\"notice\":\"Creates a new fund\"},\"createReconfigurationRequest(address,address,uint256,bytes,bytes)\":{\"notice\":\"Creates a fully-configured ComptrollerProxy instance for a VaultProxy and signals the reconfiguration process\"},\"deregisterBuySharesOnBehalfCallers(address[])\":{\"notice\":\"Deregisters allowed callers of ComptrollerProxy.buySharesOnBehalf()\"},\"deregisterVaultCalls(address[],bytes4[],bytes32[])\":{\"notice\":\"De-registers allowed arbitrary contract calls that can be sent from the VaultProxy\"},\"executeMigration(address,bool)\":{\"notice\":\"Executes fund migration\"},\"executeReconfiguration(address)\":{\"notice\":\"Executes a pending reconfiguration request\"},\"getComptrollerLib()\":{\"notice\":\"Gets the `comptrollerLib` variable value\"},\"getCreator()\":{\"notice\":\"Gets the `CREATOR` variable value\"},\"getDispatcher()\":{\"notice\":\"Gets the `DISPATCHER` variable value\"},\"getGasLimitsForDestructCall()\":{\"notice\":\"Gets the amounts of gas to forward to each of the ComptrollerLib.destructActivated() external calls\"},\"getGasRelayPaymasterFactory()\":{\"notice\":\"Gets the `GAS_RELAY_PAYMASTER_FACTORY` variable\"},\"getGasRelayTrustedForwarder()\":{\"notice\":\"Gets the trusted forwarder for GSN relaying\"},\"getOwner()\":{\"notice\":\"Gets the current owner of the contract\"},\"getProtocolFeeTracker()\":{\"notice\":\"Gets the `protocolFeeTracker` variable value\"},\"getReconfigurationRequestForVaultProxy(address)\":{\"notice\":\"Gets the pending ReconfigurationRequest for a given VaultProxy\"},\"getReconfigurationTimelock()\":{\"notice\":\"Gets the amount of time that must pass before executing a ReconfigurationRequest\"},\"getVaultLib()\":{\"notice\":\"Gets the `vaultLib` variable value\"},\"hasReconfigurationRequest(address)\":{\"notice\":\"Checks whether a ReconfigurationRequest exists for a given VaultProxy\"},\"invokeMigrationInCancelHook(address,address,address,address)\":{\"notice\":\"Executes logic when a migration is canceled on the Dispatcher\"},\"invokeMigrationOutHook(uint8,address,address,address,address)\":{\"notice\":\"Allows \\\"hooking into\\\" specific moments in the migration pipeline to execute arbitrary logic during a migration out of this release\"},\"isAllowedBuySharesOnBehalfCaller(address)\":{\"notice\":\"Checks if an account is an allowed caller of ComptrollerProxy.buySharesOnBehalf()\"},\"isAllowedVaultCall(address,bytes4,bytes32)\":{\"notice\":\"Checks if a contract call is allowed\"},\"isRegisteredVaultCall(address,bytes4,bytes32)\":{\"notice\":\"Checks if a contract call is registered\"},\"registerBuySharesOnBehalfCallers(address[])\":{\"notice\":\"Registers allowed callers of ComptrollerProxy.buySharesOnBehalf()\"},\"registerVaultCalls(address[],bytes4[],bytes32[])\":{\"notice\":\"Registers allowed arbitrary contract calls that can be sent from the VaultProxy\"},\"releaseIsLive()\":{\"notice\":\"Gets the `isLive` variable value\"},\"setComptrollerLib(address)\":{\"notice\":\"Sets the ComptrollerLib\"},\"setGasLimitsForDestructCall(uint32,uint32)\":{\"notice\":\"Sets the amounts of gas to forward to each of the ComptrollerLib.destructActivated() external calls\"},\"setProtocolFeeTracker(address)\":{\"notice\":\"Sets the ProtocolFeeTracker\"},\"setReconfigurationTimelock(uint256)\":{\"notice\":\"Sets a new reconfiguration timelock\"},\"setReleaseLive()\":{\"notice\":\"Sets the release as live\"},\"setVaultLib(address)\":{\"notice\":\"Sets the VaultLib\"}},\"notice\":\"The top-level contract of the release. It primarily coordinates fund deployment and fund migration, but it is also deferred to for contract access control and for allowed calls that can be made with a fund's VaultProxy as the msg.sender.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/core/fund-deployer/FundDeployer.sol\":\"FundDeployer\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/dispatcher/IMigrationHookHandler.sol\":{\"keccak256\":\"0x4cec61ef58c1d2e7693ee954c3582b1a04ff836a569e216edb7526c7e56a5632\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://0acae6d91e3e20e6ebd46cbeff926967a2d64f3d8eb2e3cdff20366917a77879\",\"dweb:/ipfs/Qmd44oJngTNRnwXdDwtNd9o4UvTgxAmBGikz3QMPKf4NWy\"]},\"contracts/persistent/vault/interfaces/IExternalPositionVault.sol\":{\"keccak256\":\"0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d\",\"dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8\"]},\"contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol\":{\"keccak256\":\"0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb\",\"dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU\"]},\"contracts/persistent/vault/interfaces/IMigratableVault.sol\":{\"keccak256\":\"0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6\",\"dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs\"]},\"contracts/persistent/vault/interfaces/IVaultCore.sol\":{\"keccak256\":\"0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd\",\"dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr\"]},\"contracts/release/core/fund-deployer/FundDeployer.sol\":{\"keccak256\":\"0x8662d2630a08a8383fa72bd9d6d73138f6bc300c94c808f29bf6a18edeb9a71b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2351ac152b1c97dec9287c15da022f05bbf484e772e2bfdcf89186116dfeaf15\",\"dweb:/ipfs/Qmc5zs3yPzZeAf3iTe1hAavgbHAeeqYtqxNryRdjXL4tBJ\"]},\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/core/fund/comptroller/ComptrollerProxy.sol\":{\"keccak256\":\"0x2915bf85b7a39e3b31f00d87bf06fc11415c6e027e00f98681b122176b74c76f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://07a34cb3bd349426cbf016b21a3be2391c2a2aba1cd383965da2b5546253515b\",\"dweb:/ipfs/QmbQtHhPzFPQjw5JgLNQN2ZeVUrYQXKwAUaW5pwNMAcSQ3\"]},\"contracts/release/core/fund/comptroller/IComptroller.sol\":{\"keccak256\":\"0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97\",\"dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L\"]},\"contracts/release/core/fund/vault/IVault.sol\":{\"keccak256\":\"0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599\",\"dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG\"]},\"contracts/release/extensions/IExtension.sol\":{\"keccak256\":\"0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70\",\"dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t\"]},\"contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol\":{\"keccak256\":\"0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f\",\"dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol\":{\"keccak256\":\"0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0\",\"dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2\"]},\"contracts/release/infrastructure/protocol-fees/IProtocolFeeTracker.sol\":{\"keccak256\":\"0x232b347f83457439064add7369bfe1930c7cb56f15930bb87d640e909c15e447\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://24f9af5eebdd373b1d7a598c096eb6def31b2640d54416d7d5a7226e1cef17e6\",\"dweb:/ipfs/QmStq9ByGuSYdKwTmZf52L1X6sZVJUfXTnoVbnjLLiUcHG\"]},\"contracts/release/interfaces/IGsnForwarder.sol\":{\"keccak256\":\"0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29\",\"dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G\"]},\"contracts/release/interfaces/IGsnPaymaster.sol\":{\"keccak256\":\"0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4\",\"dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF\"]},\"contracts/release/interfaces/IGsnTypes.sol\":{\"keccak256\":\"0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7\",\"dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C\"]},\"contracts/release/utils/NonUpgradableProxy.sol\":{\"keccak256\":\"0x7d70145a2a0ff8c36318b23ac6ca662f133584dd823933230c66143b89e2d53d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b05ea625a428fdf3f908db3e97a358a4117d4998abde806ba3839c7fad821bca\",\"dweb:/ipfs/QmSLzFT1ktLTZ7rAKYjcg6dBRuxVMzrGXjGJSsH5nSVx2G\"]},\"contracts/release/utils/beacon-proxy/IBeacon.sol\":{\"keccak256\":\"0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39\",\"dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V\"]},\"contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol\":{\"keccak256\":\"0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be\",\"dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_dispatcher", - "type": "address" - }, - { - "internalType": "address", - "name": "_gasRelayPaymasterFactory", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "caller", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "BuySharesOnBehalfCallerDeregistered", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "caller", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "BuySharesOnBehalfCallerRegistered", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "comptrollerLib", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "ComptrollerLibSet", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "creator", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "comptrollerProxy", - "type": "address", - "indexed": false - }, - { - "internalType": "address", - "name": "denominationAsset", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "sharesActionTimelock", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "ComptrollerProxyDeployed", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "nextDeactivateFeeManagerGasLimit", - "type": "uint256", - "indexed": false - }, - { - "internalType": "uint256", - "name": "nextPayProtocolFeeGasLimit", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "GasLimitsForDestructCallSet", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "creator", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "vaultProxy", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "comptrollerProxy", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "MigrationRequestCreated", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "creator", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "vaultProxy", - "type": "address", - "indexed": false - }, - { - "internalType": "address", - "name": "comptrollerProxy", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "NewFundCreated", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "protocolFeeTracker", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "ProtocolFeeTrackerSet", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "vaultProxy", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "nextComptrollerProxy", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "ReconfigurationRequestCancelled", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "creator", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "vaultProxy", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "comptrollerProxy", - "type": "address", - "indexed": false - }, - { - "internalType": "uint256", - "name": "executableTimestamp", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "ReconfigurationRequestCreated", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "vaultProxy", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "prevComptrollerProxy", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "nextComptrollerProxy", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "ReconfigurationRequestExecuted", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "nextTimelock", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "ReconfigurationTimelockSet", - "anonymous": false - }, - { - "inputs": [], - "type": "event", - "name": "ReleaseIsLive", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "contractAddress", - "type": "address", - "indexed": true - }, - { - "internalType": "bytes4", - "name": "selector", - "type": "bytes4", - "indexed": false - }, - { - "internalType": "bytes32", - "name": "dataHash", - "type": "bytes32", - "indexed": false - } - ], - "type": "event", - "name": "VaultCallDeregistered", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "contractAddress", - "type": "address", - "indexed": true - }, - { - "internalType": "bytes4", - "name": "selector", - "type": "bytes4", - "indexed": false - }, - { - "internalType": "bytes32", - "name": "dataHash", - "type": "bytes32", - "indexed": false - } - ], - "type": "event", - "name": "VaultCallRegistered", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "vaultLib", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "VaultLibSet", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bool", - "name": "_bypassPrevReleaseFailure", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "cancelMigration" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "cancelReconfiguration" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_denominationAsset", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_sharesActionTimelock", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_feeManagerConfigData", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "_policyManagerConfigData", - "type": "bytes" - }, - { - "internalType": "bool", - "name": "_bypassPrevReleaseFailure", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "createMigrationRequest", - "outputs": [ - { - "internalType": "address", - "name": "comptrollerProxy_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_fundOwner", - "type": "address" - }, - { - "internalType": "string", - "name": "_fundName", - "type": "string" - }, - { - "internalType": "string", - "name": "_fundSymbol", - "type": "string" - }, - { - "internalType": "address", - "name": "_denominationAsset", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_sharesActionTimelock", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_feeManagerConfigData", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "_policyManagerConfigData", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "createNewFund", - "outputs": [ - { - "internalType": "address", - "name": "comptrollerProxy_", - "type": "address" - }, - { - "internalType": "address", - "name": "vaultProxy_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_denominationAsset", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_sharesActionTimelock", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_feeManagerConfigData", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "_policyManagerConfigData", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "createReconfigurationRequest", - "outputs": [ - { - "internalType": "address", - "name": "comptrollerProxy_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_callers", - "type": "address[]" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "deregisterBuySharesOnBehalfCallers" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_contracts", - "type": "address[]" - }, - { - "internalType": "bytes4[]", - "name": "_selectors", - "type": "bytes4[]" - }, - { - "internalType": "bytes32[]", - "name": "_dataHashes", - "type": "bytes32[]" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "deregisterVaultCalls" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bool", - "name": "_bypassPrevReleaseFailure", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "executeMigration" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "executeReconfiguration" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getComptrollerLib", - "outputs": [ - { - "internalType": "address", - "name": "comptrollerLib_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getCreator", - "outputs": [ - { - "internalType": "address", - "name": "creator_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getDispatcher", - "outputs": [ - { - "internalType": "address", - "name": "dispatcher_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getGasLimitsForDestructCall", - "outputs": [ - { - "internalType": "uint256", - "name": "deactivateFeeManagerGasLimit_", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "payProtocolFeeGasLimit_", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getGasRelayPaymasterFactory", - "outputs": [ - { - "internalType": "address", - "name": "gasRelayPaymasterFactory_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getGasRelayTrustedForwarder", - "outputs": [ - { - "internalType": "address", - "name": "trustedForwarder_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "owner_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getProtocolFeeTracker", - "outputs": [ - { - "internalType": "address", - "name": "protocolFeeTracker_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getReconfigurationRequestForVaultProxy", - "outputs": [ - { - "internalType": "struct FundDeployer.ReconfigurationRequest", - "name": "reconfigurationRequest_", - "type": "tuple", - "components": [ - { - "internalType": "address", - "name": "nextComptrollerProxy", - "type": "address" - }, - { - "internalType": "uint256", - "name": "executableTimestamp", - "type": "uint256" - } - ] - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getReconfigurationTimelock", - "outputs": [ - { - "internalType": "uint256", - "name": "reconfigurationTimelock_", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getVaultLib", - "outputs": [ - { - "internalType": "address", - "name": "vaultLib_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "hasReconfigurationRequest", - "outputs": [ - { - "internalType": "bool", - "name": "hasReconfigurationRequest_", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "_nextComptrollerProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "invokeMigrationInCancelHook" - }, - { - "inputs": [ - { - "internalType": "enum IMigrationHookHandler.MigrationOutHook", - "name": "_hook", - "type": "uint8" - }, - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "invokeMigrationOutHook" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_who", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "isAllowedBuySharesOnBehalfCaller", - "outputs": [ - { - "internalType": "bool", - "name": "isAllowed_", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_contract", - "type": "address" - }, - { - "internalType": "bytes4", - "name": "_selector", - "type": "bytes4" - }, - { - "internalType": "bytes32", - "name": "_dataHash", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function", - "name": "isAllowedVaultCall", - "outputs": [ - { - "internalType": "bool", - "name": "isAllowed_", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_contract", - "type": "address" - }, - { - "internalType": "bytes4", - "name": "_selector", - "type": "bytes4" - }, - { - "internalType": "bytes32", - "name": "_dataHash", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function", - "name": "isRegisteredVaultCall", - "outputs": [ - { - "internalType": "bool", - "name": "isRegistered_", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_callers", - "type": "address[]" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "registerBuySharesOnBehalfCallers" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_contracts", - "type": "address[]" - }, - { - "internalType": "bytes4[]", - "name": "_selectors", - "type": "bytes4[]" - }, - { - "internalType": "bytes32[]", - "name": "_dataHashes", - "type": "bytes32[]" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "registerVaultCalls" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "releaseIsLive", - "outputs": [ - { - "internalType": "bool", - "name": "isLive_", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerLib", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setComptrollerLib" - }, - { - "inputs": [ - { - "internalType": "uint32", - "name": "_nextDeactivateFeeManagerGasLimit", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "_nextPayProtocolFeeGasLimit", - "type": "uint32" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setGasLimitsForDestructCall" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_protocolFeeTracker", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setProtocolFeeTracker" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_nextTimelock", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setReconfigurationTimelock" - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "setReleaseLive" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultLib", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setVaultLib" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "cancelMigration(address,bool)": { - "params": { - "_bypassPrevReleaseFailure": "True if should override a failure in the previous release while canceling migration", - "_vaultProxy": "The VaultProxy for which to cancel migration" - } - }, - "cancelReconfiguration(address)": { - "params": { - "_vaultProxy": "The VaultProxy contract for which to cancel the reconfiguration request" - } - }, - "createMigrationRequest(address,address,uint256,bytes,bytes,bool)": { - "params": { - "_bypassPrevReleaseFailure": "True if should override a failure in the previous release while signaling migration", - "_denominationAsset": "The contract address of the denomination asset for the fund", - "_feeManagerConfigData": "Bytes data for the fees to be enabled for the fund", - "_policyManagerConfigData": "Bytes data for the policies to be enabled for the fund", - "_sharesActionTimelock": "The minimum number of seconds between any two \"shares actions\" (buying or selling shares) by the same user", - "_vaultProxy": "The VaultProxy to migrate" - }, - "returns": { - "comptrollerProxy_": "The address of the ComptrollerProxy deployed during this action" - } - }, - "createNewFund(address,string,string,address,uint256,bytes,bytes)": { - "params": { - "_denominationAsset": "The contract address of the denomination asset for the fund", - "_feeManagerConfigData": "Bytes data for the fees to be enabled for the fund", - "_fundName": "The name of the fund's shares token", - "_fundOwner": "The address of the owner for the fund", - "_fundSymbol": "The symbol of the fund's shares token", - "_policyManagerConfigData": "Bytes data for the policies to be enabled for the fund", - "_sharesActionTimelock": "The minimum number of seconds between any two \"shares actions\" (buying or selling shares) by the same user" - }, - "returns": { - "comptrollerProxy_": "The address of the ComptrollerProxy deployed during this action" - } - }, - "createReconfigurationRequest(address,address,uint256,bytes,bytes)": { - "params": { - "_denominationAsset": "The contract address of the denomination asset for the fund", - "_feeManagerConfigData": "Bytes data for the fees to be enabled for the fund", - "_policyManagerConfigData": "Bytes data for the policies to be enabled for the fund", - "_sharesActionTimelock": "The minimum number of seconds between any two \"shares actions\" (buying or selling shares) by the same user", - "_vaultProxy": "The VaultProxy to reconfigure" - }, - "returns": { - "comptrollerProxy_": "The address of the ComptrollerProxy deployed during this action" - } - }, - "deregisterBuySharesOnBehalfCallers(address[])": { - "params": { - "_callers": "The callers to deregister" - } - }, - "deregisterVaultCalls(address[],bytes4[],bytes32[])": { - "details": "ANY_VAULT_CALL is a wildcard that allows any payload", - "params": { - "_contracts": "The contracts of the calls to de-register", - "_dataHashes": "The keccak call data hashes of the calls to de-register", - "_selectors": "The selectors of the calls to de-register" - } - }, - "executeMigration(address,bool)": { - "params": { - "_bypassPrevReleaseFailure": "True if should override a failure in the previous release while executing migration", - "_vaultProxy": "The VaultProxy for which to execute the migration" - } - }, - "executeReconfiguration(address)": { - "details": "ProtocolFeeTracker.initializeForVault() does not need to be included in a reconfiguration, as it refers to the vault and not the new ComptrollerProxy", - "params": { - "_vaultProxy": "The VaultProxy contract for which to execute the reconfiguration request" - } - }, - "getComptrollerLib()": { - "returns": { - "comptrollerLib_": "The `comptrollerLib` variable value" - } - }, - "getCreator()": { - "returns": { - "creator_": "The `CREATOR` variable value" - } - }, - "getDispatcher()": { - "returns": { - "dispatcher_": "The `DISPATCHER` variable value" - } - }, - "getGasLimitsForDestructCall()": { - "returns": { - "deactivateFeeManagerGasLimit_": "The amount of gas to forward to deactivate the FeeManager", - "payProtocolFeeGasLimit_": "The amount of gas to forward to pay the protocol fee" - } - }, - "getGasRelayPaymasterFactory()": { - "returns": { - "gasRelayPaymasterFactory_": "The `GAS_RELAY_PAYMASTER_FACTORY` variable value" - } - }, - "getGasRelayTrustedForwarder()": { - "returns": { - "trustedForwarder_": "The trusted forwarder" - } - }, - "getOwner()": { - "details": "The owner is initially the contract's creator, for convenience in setting up configuration. Ownership is handed-off when the creator calls setReleaseLive().", - "returns": { - "owner_": "The contract owner address" - } - }, - "getProtocolFeeTracker()": { - "returns": { - "protocolFeeTracker_": "The `protocolFeeTracker` variable value" - } - }, - "getReconfigurationRequestForVaultProxy(address)": { - "params": { - "_vaultProxy": "The VaultProxy instance" - }, - "returns": { - "reconfigurationRequest_": "The pending ReconfigurationRequest" - } - }, - "getReconfigurationTimelock()": { - "returns": { - "reconfigurationTimelock_": "The timelock value (in seconds)" - } - }, - "getVaultLib()": { - "returns": { - "vaultLib_": "The `vaultLib` variable value" - } - }, - "hasReconfigurationRequest(address)": { - "params": { - "_vaultProxy": "The VaultProxy instance" - }, - "returns": { - "hasReconfigurationRequest_": "True if a ReconfigurationRequest exists" - } - }, - "invokeMigrationInCancelHook(address,address,address,address)": { - "params": { - "_nextComptrollerProxy": "The ComptrollerProxy created on this release" - } - }, - "invokeMigrationOutHook(uint8,address,address,address,address)": { - "params": { - "_vaultProxy": "The VaultProxy being migrated" - } - }, - "isAllowedBuySharesOnBehalfCaller(address)": { - "params": { - "_who": "The account to check" - }, - "returns": { - "isAllowed_": "True if the account is an allowed caller" - } - }, - "isAllowedVaultCall(address,bytes4,bytes32)": { - "details": "A vault call is allowed if the _dataHash is specifically allowed, or if any _dataHash is allowed", - "params": { - "_contract": "The contract of the call to check", - "_dataHash": "The keccak call data hash of the call to check", - "_selector": "The selector of the call to check" - }, - "returns": { - "isAllowed_": "True if the call is allowed" - } - }, - "isRegisteredVaultCall(address,bytes4,bytes32)": { - "params": { - "_contract": "The contract of the call to check", - "_dataHash": "The keccak call data hash of the call to check", - "_selector": "The selector of the call to check" - }, - "returns": { - "isRegistered_": "True if the call is registered" - } - }, - "registerBuySharesOnBehalfCallers(address[])": { - "details": "Validate that each registered caller only forwards requests to buy shares that originate from the same _buyer passed into buySharesOnBehalf(). This is critical to the integrity of VaultProxy.freelyTransferableShares.", - "params": { - "_callers": "The allowed callers" - } - }, - "registerVaultCalls(address[],bytes4[],bytes32[])": { - "details": "ANY_VAULT_CALL is a wildcard that allows any payload", - "params": { - "_contracts": "The contracts of the calls to register", - "_dataHashes": "The keccak call data hashes of the calls to register", - "_selectors": "The selectors of the calls to register" - } - }, - "releaseIsLive()": { - "returns": { - "isLive_": "The `isLive` variable value" - } - }, - "setComptrollerLib(address)": { - "params": { - "_comptrollerLib": "The ComptrollerLib contract address" - } - }, - "setGasLimitsForDestructCall(uint32,uint32)": { - "params": { - "_nextDeactivateFeeManagerGasLimit": "The amount of gas to forward to deactivate the FeeManager", - "_nextPayProtocolFeeGasLimit": "The amount of gas to forward to pay the protocol fee" - } - }, - "setProtocolFeeTracker(address)": { - "params": { - "_protocolFeeTracker": "The ProtocolFeeTracker contract address" - } - }, - "setReconfigurationTimelock(uint256)": { - "params": { - "_nextTimelock": "The number of seconds for the new timelock" - } - }, - "setReleaseLive()": { - "details": "A live release allows funds to be created and migrated once this contract is set as the Dispatcher.currentFundDeployer" - }, - "setVaultLib(address)": { - "params": { - "_vaultLib": "The VaultLib contract address" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "cancelMigration(address,bool)": { - "notice": "Cancels fund migration" - }, - "cancelReconfiguration(address)": { - "notice": "Cancels a pending reconfiguration request" - }, - "createMigrationRequest(address,address,uint256,bytes,bytes,bool)": { - "notice": "Creates a fully-configured ComptrollerProxy instance for a VaultProxy and signals the migration process" - }, - "createNewFund(address,string,string,address,uint256,bytes,bytes)": { - "notice": "Creates a new fund" - }, - "createReconfigurationRequest(address,address,uint256,bytes,bytes)": { - "notice": "Creates a fully-configured ComptrollerProxy instance for a VaultProxy and signals the reconfiguration process" - }, - "deregisterBuySharesOnBehalfCallers(address[])": { - "notice": "Deregisters allowed callers of ComptrollerProxy.buySharesOnBehalf()" - }, - "deregisterVaultCalls(address[],bytes4[],bytes32[])": { - "notice": "De-registers allowed arbitrary contract calls that can be sent from the VaultProxy" - }, - "executeMigration(address,bool)": { - "notice": "Executes fund migration" - }, - "executeReconfiguration(address)": { - "notice": "Executes a pending reconfiguration request" - }, - "getComptrollerLib()": { - "notice": "Gets the `comptrollerLib` variable value" - }, - "getCreator()": { - "notice": "Gets the `CREATOR` variable value" - }, - "getDispatcher()": { - "notice": "Gets the `DISPATCHER` variable value" - }, - "getGasLimitsForDestructCall()": { - "notice": "Gets the amounts of gas to forward to each of the ComptrollerLib.destructActivated() external calls" - }, - "getGasRelayPaymasterFactory()": { - "notice": "Gets the `GAS_RELAY_PAYMASTER_FACTORY` variable" - }, - "getGasRelayTrustedForwarder()": { - "notice": "Gets the trusted forwarder for GSN relaying" - }, - "getOwner()": { - "notice": "Gets the current owner of the contract" - }, - "getProtocolFeeTracker()": { - "notice": "Gets the `protocolFeeTracker` variable value" - }, - "getReconfigurationRequestForVaultProxy(address)": { - "notice": "Gets the pending ReconfigurationRequest for a given VaultProxy" - }, - "getReconfigurationTimelock()": { - "notice": "Gets the amount of time that must pass before executing a ReconfigurationRequest" - }, - "getVaultLib()": { - "notice": "Gets the `vaultLib` variable value" - }, - "hasReconfigurationRequest(address)": { - "notice": "Checks whether a ReconfigurationRequest exists for a given VaultProxy" - }, - "invokeMigrationInCancelHook(address,address,address,address)": { - "notice": "Executes logic when a migration is canceled on the Dispatcher" - }, - "invokeMigrationOutHook(uint8,address,address,address,address)": { - "notice": "Allows \"hooking into\" specific moments in the migration pipeline to execute arbitrary logic during a migration out of this release" - }, - "isAllowedBuySharesOnBehalfCaller(address)": { - "notice": "Checks if an account is an allowed caller of ComptrollerProxy.buySharesOnBehalf()" - }, - "isAllowedVaultCall(address,bytes4,bytes32)": { - "notice": "Checks if a contract call is allowed" - }, - "isRegisteredVaultCall(address,bytes4,bytes32)": { - "notice": "Checks if a contract call is registered" - }, - "registerBuySharesOnBehalfCallers(address[])": { - "notice": "Registers allowed callers of ComptrollerProxy.buySharesOnBehalf()" - }, - "registerVaultCalls(address[],bytes4[],bytes32[])": { - "notice": "Registers allowed arbitrary contract calls that can be sent from the VaultProxy" - }, - "releaseIsLive()": { - "notice": "Gets the `isLive` variable value" - }, - "setComptrollerLib(address)": { - "notice": "Sets the ComptrollerLib" - }, - "setGasLimitsForDestructCall(uint32,uint32)": { - "notice": "Sets the amounts of gas to forward to each of the ComptrollerLib.destructActivated() external calls" - }, - "setProtocolFeeTracker(address)": { - "notice": "Sets the ProtocolFeeTracker" - }, - "setReconfigurationTimelock(uint256)": { - "notice": "Sets a new reconfiguration timelock" - }, - "setReleaseLive()": { - "notice": "Sets the release as live" - }, - "setVaultLib(address)": { - "notice": "Sets the VaultLib" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/core/fund-deployer/FundDeployer.sol": "FundDeployer" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/dispatcher/IDispatcher.sol": { - "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", - "urls": [ - "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", - "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/dispatcher/IMigrationHookHandler.sol": { - "keccak256": "0x4cec61ef58c1d2e7693ee954c3582b1a04ff836a569e216edb7526c7e56a5632", - "urls": [ - "bzz-raw://0acae6d91e3e20e6ebd46cbeff926967a2d64f3d8eb2e3cdff20366917a77879", - "dweb:/ipfs/Qmd44oJngTNRnwXdDwtNd9o4UvTgxAmBGikz3QMPKf4NWy" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IExternalPositionVault.sol": { - "keccak256": "0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6", - "urls": [ - "bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d", - "dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol": { - "keccak256": "0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0", - "urls": [ - "bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb", - "dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IMigratableVault.sol": { - "keccak256": "0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238", - "urls": [ - "bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6", - "dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IVaultCore.sol": { - "keccak256": "0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80", - "urls": [ - "bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd", - "dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund-deployer/FundDeployer.sol": { - "keccak256": "0x8662d2630a08a8383fa72bd9d6d73138f6bc300c94c808f29bf6a18edeb9a71b", - "urls": [ - "bzz-raw://2351ac152b1c97dec9287c15da022f05bbf484e772e2bfdcf89186116dfeaf15", - "dweb:/ipfs/Qmc5zs3yPzZeAf3iTe1hAavgbHAeeqYtqxNryRdjXL4tBJ" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund-deployer/IFundDeployer.sol": { - "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", - "urls": [ - "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", - "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/comptroller/ComptrollerProxy.sol": { - "keccak256": "0x2915bf85b7a39e3b31f00d87bf06fc11415c6e027e00f98681b122176b74c76f", - "urls": [ - "bzz-raw://07a34cb3bd349426cbf016b21a3be2391c2a2aba1cd383965da2b5546253515b", - "dweb:/ipfs/QmbQtHhPzFPQjw5JgLNQN2ZeVUrYQXKwAUaW5pwNMAcSQ3" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/comptroller/IComptroller.sol": { - "keccak256": "0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f", - "urls": [ - "bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97", - "dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/vault/IVault.sol": { - "keccak256": "0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd", - "urls": [ - "bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599", - "dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/IExtension.sol": { - "keccak256": "0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b", - "urls": [ - "bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70", - "dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol": { - "keccak256": "0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609", - "urls": [ - "bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f", - "dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol": { - "keccak256": "0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01", - "urls": [ - "bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0", - "dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/protocol-fees/IProtocolFeeTracker.sol": { - "keccak256": "0x232b347f83457439064add7369bfe1930c7cb56f15930bb87d640e909c15e447", - "urls": [ - "bzz-raw://24f9af5eebdd373b1d7a598c096eb6def31b2640d54416d7d5a7226e1cef17e6", - "dweb:/ipfs/QmStq9ByGuSYdKwTmZf52L1X6sZVJUfXTnoVbnjLLiUcHG" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IGsnForwarder.sol": { - "keccak256": "0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030", - "urls": [ - "bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29", - "dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IGsnPaymaster.sol": { - "keccak256": "0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c", - "urls": [ - "bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4", - "dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IGsnTypes.sol": { - "keccak256": "0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714", - "urls": [ - "bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7", - "dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/NonUpgradableProxy.sol": { - "keccak256": "0x7d70145a2a0ff8c36318b23ac6ca662f133584dd823933230c66143b89e2d53d", - "urls": [ - "bzz-raw://b05ea625a428fdf3f908db3e97a358a4117d4998abde806ba3839c7fad821bca", - "dweb:/ipfs/QmSLzFT1ktLTZ7rAKYjcg6dBRuxVMzrGXjGJSsH5nSVx2G" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/beacon-proxy/IBeacon.sol": { - "keccak256": "0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2", - "urls": [ - "bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39", - "dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol": { - "keccak256": "0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc", - "urls": [ - "bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be", - "dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 77 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_dispatcher", "type": "address", "internalType": "address" }, { "name": "_gasRelayPaymasterFactory", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "cancelMigration", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_bypassPrevReleaseFailure", "type": "bool", "internalType": "bool" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "cancelReconfiguration", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "createMigrationRequest", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_denominationAsset", "type": "address", "internalType": "address" }, { "name": "_sharesActionTimelock", "type": "uint256", "internalType": "uint256" }, { "name": "_feeManagerConfigData", "type": "bytes", "internalType": "bytes" }, { "name": "_policyManagerConfigData", "type": "bytes", "internalType": "bytes" }, { "name": "_bypassPrevReleaseFailure", "type": "bool", "internalType": "bool" } ], "outputs": [ { "name": "comptrollerProxy_", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "createNewFund", "inputs": [ { "name": "_fundOwner", "type": "address", "internalType": "address" }, { "name": "_fundName", "type": "string", "internalType": "string" }, { "name": "_fundSymbol", "type": "string", "internalType": "string" }, { "name": "_denominationAsset", "type": "address", "internalType": "address" }, { "name": "_sharesActionTimelock", "type": "uint256", "internalType": "uint256" }, { "name": "_feeManagerConfigData", "type": "bytes", "internalType": "bytes" }, { "name": "_policyManagerConfigData", "type": "bytes", "internalType": "bytes" } ], "outputs": [ { "name": "comptrollerProxy_", "type": "address", "internalType": "address" }, { "name": "vaultProxy_", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "createReconfigurationRequest", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_denominationAsset", "type": "address", "internalType": "address" }, { "name": "_sharesActionTimelock", "type": "uint256", "internalType": "uint256" }, { "name": "_feeManagerConfigData", "type": "bytes", "internalType": "bytes" }, { "name": "_policyManagerConfigData", "type": "bytes", "internalType": "bytes" } ], "outputs": [ { "name": "comptrollerProxy_", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "deregisterBuySharesOnBehalfCallers", "inputs": [ { "name": "_callers", "type": "address[]", "internalType": "address[]" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "deregisterVaultCalls", "inputs": [ { "name": "_contracts", "type": "address[]", "internalType": "address[]" }, { "name": "_selectors", "type": "bytes4[]", "internalType": "bytes4[]" }, { "name": "_dataHashes", "type": "bytes32[]", "internalType": "bytes32[]" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "executeMigration", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_bypassPrevReleaseFailure", "type": "bool", "internalType": "bool" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "executeReconfiguration", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "getComptrollerLib", "inputs": [], "outputs": [ { "name": "comptrollerLib_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getCreator", "inputs": [], "outputs": [ { "name": "creator_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getDispatcher", "inputs": [], "outputs": [ { "name": "dispatcher_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getGasLimitsForDestructCall", "inputs": [], "outputs": [ { "name": "deactivateFeeManagerGasLimit_", "type": "uint256", "internalType": "uint256" }, { "name": "payProtocolFeeGasLimit_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "getGasRelayPaymasterFactory", "inputs": [], "outputs": [ { "name": "gasRelayPaymasterFactory_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getGasRelayTrustedForwarder", "inputs": [], "outputs": [ { "name": "trustedForwarder_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getOwner", "inputs": [], "outputs": [ { "name": "owner_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getProtocolFeeTracker", "inputs": [], "outputs": [ { "name": "protocolFeeTracker_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getReconfigurationRequestForVaultProxy", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "reconfigurationRequest_", "type": "tuple", "internalType": "struct FundDeployer.ReconfigurationRequest", "components": [ { "name": "nextComptrollerProxy", "type": "address", "internalType": "address" }, { "name": "executableTimestamp", "type": "uint256", "internalType": "uint256" } ] } ], "stateMutability": "view" }, { "type": "function", "name": "getReconfigurationTimelock", "inputs": [], "outputs": [ { "name": "reconfigurationTimelock_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "getVaultLib", "inputs": [], "outputs": [ { "name": "vaultLib_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "hasReconfigurationRequest", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "hasReconfigurationRequest_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "invokeMigrationInCancelHook", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "address", "internalType": "address" }, { "name": "_nextComptrollerProxy", "type": "address", "internalType": "address" }, { "name": "", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "invokeMigrationOutHook", "inputs": [ { "name": "_hook", "type": "uint8", "internalType": "enum IMigrationHookHandler.MigrationOutHook" }, { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "isAllowedBuySharesOnBehalfCaller", "inputs": [ { "name": "_who", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "isAllowed_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "isAllowedVaultCall", "inputs": [ { "name": "_contract", "type": "address", "internalType": "address" }, { "name": "_selector", "type": "bytes4", "internalType": "bytes4" }, { "name": "_dataHash", "type": "bytes32", "internalType": "bytes32" } ], "outputs": [ { "name": "isAllowed_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "isRegisteredVaultCall", "inputs": [ { "name": "_contract", "type": "address", "internalType": "address" }, { "name": "_selector", "type": "bytes4", "internalType": "bytes4" }, { "name": "_dataHash", "type": "bytes32", "internalType": "bytes32" } ], "outputs": [ { "name": "isRegistered_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "registerBuySharesOnBehalfCallers", "inputs": [ { "name": "_callers", "type": "address[]", "internalType": "address[]" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "registerVaultCalls", "inputs": [ { "name": "_contracts", "type": "address[]", "internalType": "address[]" }, { "name": "_selectors", "type": "bytes4[]", "internalType": "bytes4[]" }, { "name": "_dataHashes", "type": "bytes32[]", "internalType": "bytes32[]" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "releaseIsLive", "inputs": [], "outputs": [ { "name": "isLive_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "setComptrollerLib", "inputs": [ { "name": "_comptrollerLib", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setGasLimitsForDestructCall", "inputs": [ { "name": "_nextDeactivateFeeManagerGasLimit", "type": "uint32", "internalType": "uint32" }, { "name": "_nextPayProtocolFeeGasLimit", "type": "uint32", "internalType": "uint32" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setProtocolFeeTracker", "inputs": [ { "name": "_protocolFeeTracker", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setReconfigurationTimelock", "inputs": [ { "name": "_nextTimelock", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setReleaseLive", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setVaultLib", "inputs": [ { "name": "_vaultLib", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "event", "name": "BuySharesOnBehalfCallerDeregistered", "inputs": [ { "name": "caller", "type": "address", "indexed": false, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "BuySharesOnBehalfCallerRegistered", "inputs": [ { "name": "caller", "type": "address", "indexed": false, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "ComptrollerLibSet", "inputs": [ { "name": "comptrollerLib", "type": "address", "indexed": false, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "ComptrollerProxyDeployed", "inputs": [ { "name": "creator", "type": "address", "indexed": true, "internalType": "address" }, { "name": "comptrollerProxy", "type": "address", "indexed": false, "internalType": "address" }, { "name": "denominationAsset", "type": "address", "indexed": true, "internalType": "address" }, { "name": "sharesActionTimelock", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "GasLimitsForDestructCallSet", "inputs": [ { "name": "nextDeactivateFeeManagerGasLimit", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "nextPayProtocolFeeGasLimit", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "MigrationRequestCreated", "inputs": [ { "name": "creator", "type": "address", "indexed": true, "internalType": "address" }, { "name": "vaultProxy", "type": "address", "indexed": true, "internalType": "address" }, { "name": "comptrollerProxy", "type": "address", "indexed": false, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "NewFundCreated", "inputs": [ { "name": "creator", "type": "address", "indexed": true, "internalType": "address" }, { "name": "vaultProxy", "type": "address", "indexed": false, "internalType": "address" }, { "name": "comptrollerProxy", "type": "address", "indexed": false, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "ProtocolFeeTrackerSet", "inputs": [ { "name": "protocolFeeTracker", "type": "address", "indexed": false, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "ReconfigurationRequestCancelled", "inputs": [ { "name": "vaultProxy", "type": "address", "indexed": true, "internalType": "address" }, { "name": "nextComptrollerProxy", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "ReconfigurationRequestCreated", "inputs": [ { "name": "creator", "type": "address", "indexed": true, "internalType": "address" }, { "name": "vaultProxy", "type": "address", "indexed": true, "internalType": "address" }, { "name": "comptrollerProxy", "type": "address", "indexed": false, "internalType": "address" }, { "name": "executableTimestamp", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "ReconfigurationRequestExecuted", "inputs": [ { "name": "vaultProxy", "type": "address", "indexed": true, "internalType": "address" }, { "name": "prevComptrollerProxy", "type": "address", "indexed": true, "internalType": "address" }, { "name": "nextComptrollerProxy", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "ReconfigurationTimelockSet", "inputs": [ { "name": "nextTimelock", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "ReleaseIsLive", "inputs": [], "anonymous": false }, { "type": "event", "name": "VaultCallDeregistered", "inputs": [ { "name": "contractAddress", "type": "address", "indexed": true, "internalType": "address" }, { "name": "selector", "type": "bytes4", "indexed": false, "internalType": "bytes4" }, { "name": "dataHash", "type": "bytes32", "indexed": false, "internalType": "bytes32" } ], "anonymous": false }, { "type": "event", "name": "VaultCallRegistered", "inputs": [ { "name": "contractAddress", "type": "address", "indexed": true, "internalType": "address" }, { "name": "selector", "type": "bytes4", "indexed": false, "internalType": "bytes4" }, { "name": "dataHash", "type": "bytes32", "indexed": false, "internalType": "bytes32" } ], "anonymous": false }, { "type": "event", "name": "VaultLibSet", "inputs": [ { "name": "vaultLib", "type": "address", "indexed": false, "internalType": "address" } ], "anonymous": false } ], "bytecode": { "object": "0x60e06040523480156200001157600080fd5b50604051620048493803806200484983398101604081905262000034916200011a565b6001600160601b0319606082901b166080526040516200005790602001620001d1565b604051602081830303815290604052805190602001207f5bf1898dd28c4d29f33c4c1bb9b8a7e2f6322847d70be63e8f89de024d08a66960001b14620000ba5760405162461bcd60e51b8152600401620000b190620001de565b60405180910390fd5b5033606090811b60a0521b6001600160601b03191660c0526002805463ffffffff60a01b191661249f60a51b1763ffffffff60c01b1916610c3560c61b1790556202a3006003556200022a565b8051620001148162000210565b92915050565b600080604083850312156200012e57600080fd5b60006200013c858562000107565b92505060206200014f8582860162000107565b9150509250929050565b600062000168601183620001f9565b706d6c6e2e7661756c7443616c6c2e616e7960781b815260110192915050565b600062000197602583620001f0565b7f636f6e7374727563746f723a20496e636f727265637420414e595f5641554c5481526417d0d0531360da1b602082015260400192915050565b6000620001148262000159565b60208082528101620001148162000188565b90815260200190565b919050565b60006001600160a01b03821662000114565b6200021b81620001fe565b81146200022757600080fd5b50565b60805160601c60a05160601c60c05160601c6145df6200026a60003980610a575280611c1a5280611cb752508061060e5250806115e952506145df6000f3fe60806040523480156200001157600080fd5b5060043610620002445760003560e01c806372eb5f2b1162000141578063b8f8a84c11620000bd578063df369ba71162000087578063df369ba714620004d3578063ebb3d58914620004ea578063ed9eeb7f14620004f4578063efcde9e3146200050b578063ff84571814620005225762000244565b8063b8f8a84c1462000465578063c83980dd146200047c578063cebffb5814620004a3578063d5189add14620004bc5762000244565b806393a2ecd9116200010b57806393a2ecd9146200041957806398f0d4bb14620004235780639c9d48da146200042d5780639f9df7851462000444578063ac259456146200045b5762000244565b806372eb5f2b14620003c8578063749cc8f514620003ee578063893d20e814620003f85780638c500ea314620004025762000244565b80634140d60711620001d1578063575403dc116200019b578063575403dc146200036f578063682cea1914620003865780636c579e5714620003905780636ea2114314620003a75780636f2b757414620003b15762000244565b80634140d60714620003135780634348ab62146200032a5780634bacc5f7146200034157806354391f0914620003585762000244565b806338b3eb1b116200021357806338b3eb1b14620002b45780633b30dce714620002cb5780633d0d4abb14620002e25780633f84c12c14620002fc5762000244565b80630d2fcd7614620002495780630ee2cb101462000262578063164dd2d4146200028457806336b4ea4f146200028e575b600080fd5b620002606200025a36600462002da6565b62000539565b005b6200026c6200060c565b6040516200027b919062003dd1565b60405180910390f35b6200026062000631565b620002a56200029f3660046200307e565b62000778565b6040516200027b919062003f2e565b62000260620002c53660046200303f565b620007d1565b62000260620002dc3660046200338e565b620009af565b620002ec62000a2e565b6040516200027b9291906200417a565b620002606200030d3660046200331b565b62000a4c565b620002606200032436600462002da6565b62000b3f565b6200026c6200033b36600462002eb8565b62000bfd565b6200026062000352366004620031ef565b62000e8e565b620002a56200036936600462002da6565b62000fda565b6200026062000380366004620033af565b62000ff8565b6200026c620010dd565b620002a5620003a136600462002da6565b620010ec565b6200026c6200110c565b62000260620003c2366004620031ef565b62001205565b620003df620003d936600462002da6565b62001336565b6040516200027b91906200415a565b6200026c6200137d565b6200026c6200138c565b620002a5620004133660046200307e565b620013f2565b6200026c6200148b565b620002a56200149a565b620002606200043e3660046200303f565b620014aa565b620002606200045536600462002da6565b62001529565b6200026c620015e7565b6200026c6200047636600462002f71565b6200160b565b620004936200048d366004620030d2565b620018ab565b6040516200027b92919062003de1565b620004ad62001b07565b6040516200027b91906200416a565b62000260620004cd36600462002da6565b62001b0d565b62000260620004e436600462002df0565b62001c0f565b6200026c62001cb5565b620002606200050536600462003234565b62001cd9565b620002606200051c36600462003234565b62001f60565b620002606200053336600462002da6565b62002192565b620005436200138c565b6001600160a01b0316336001600160a01b0316146200057f5760405162461bcd60e51b8152600401620005769062003ff2565b60405180910390fd5b620005896200148b565b6001600160a01b03811615620005b35760405162461bcd60e51b8152600401620005769062003fce565b600080546001600160a01b0319166001600160a01b0384161790556040517f38e37d5fdf60e4358769c3b616594ad451626b1e023c65eaa1062116feadacf8906200060090849062003dd1565b60405180910390a15050565b7f00000000000000000000000000000000000000000000000000000000000000005b90565b6200063b6200060c565b6001600160a01b0316336001600160a01b0316146200066e5760405162461bcd60e51b8152600401620005769062004124565b620006786200149a565b15620006985760405162461bcd60e51b815260040162000576906200405e565b6000620006a46200148b565b6001600160a01b03161415620006ce5760405162461bcd60e51b8152600401620005769062003fbc565b6000620006da6200137d565b6001600160a01b03161415620007045760405162461bcd60e51b81526004016200057690620040a6565b600062000710620010dd565b6001600160a01b031614156200073a5760405162461bcd60e51b8152600401620005769062003f98565b6002805460ff60e01b1916600160e01b1790556040517f0356d4f8f825c1c2803d9e1f15724b6b8eea8992d04fad04da8bcbe6ff30296f90600090a1565b60006005600085856040516020016200079392919062003da7565b60408051601f1981840301815291815281516020928301208352828201939093529082016000908120858252909152205460ff1690505b9392505050565b81620007de813362002560565b6000620007ea62001cb5565b90506000816001600160a01b0316637dad9fc8866040518263ffffffff1660e01b81526004016200081c919062003dd1565b60806040518083038186803b1580156200083557600080fd5b505afa1580156200084a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000870919062002e5a565b50506040516338b3eb1b60e01b81529092506001600160a01b03841691506338b3eb1b90620008a6908890889060040162003ef0565b600060405180830381600087803b158015620008c157600080fd5b505af1158015620008d6573d6000803e3d6000fd5b505060405163ce5e84a360e01b81526001600160a01b038416925063ce5e84a39150620009099060019060040162003f2e565b600060405180830381600087803b1580156200092457600080fd5b505af115801562000939573d6000803e3d6000fd5b50505050620009476200137d565b6001600160a01b0316630a48e041866040518263ffffffff1660e01b815260040162000974919062003dd1565b600060405180830381600087803b1580156200098f57600080fd5b505af1158015620009a4573d6000803e3d6000fd5b505050505050505050565b620009b96200138c565b6001600160a01b0316336001600160a01b031614620009ec5760405162461bcd60e51b8152600401620005769062003ff2565b60038190556040517fa12f25dbb69b970318f8cc02d37f8cfe5bb3fec3a55630fd7e419d6dc42f1d919062000a239083906200416a565b60405180910390a150565b60025463ffffffff600160a01b8204811691600160c01b9004169091565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161462000a975760405162461bcd60e51b815260040162000576906200403a565b600285600481111562000aa657fe5b1462000ab25762000b38565b6000846001600160a01b0316635a53e3486040518163ffffffff1660e01b815260040160206040518083038186803b15801562000aee57600080fd5b505afa15801562000b03573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000b29919062002dcf565b905062000b368162002605565b505b5050505050565b62000b496200138c565b6001600160a01b0316336001600160a01b03161462000b7c5760405162461bcd60e51b8152600401620005769062003ff2565b62000b86620010dd565b6001600160a01b0381161562000bb05760405162461bcd60e51b8152600401620005769062003fce565b600280546001600160a01b0319166001600160a01b0384161790556040517f1e01982aac1b1376985c41ed48c69e04ff4c75107bfe0b8a4827693d2ddba04e906200060090849062003dd1565b60008062000c0a62002647565b905062000c18898262002560565b3062000c2362001cb5565b6001600160a01b0316633d7c74f88b6040518263ffffffff1660e01b815260040162000c50919062003dd1565b60206040518083038186803b15801562000c6957600080fd5b505afa15801562000c7e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000ca4919062002dcf565b6001600160a01b03161462000ccd5760405162461bcd60e51b8152600401620005769062004004565b62000cd889620010ec565b1562000cf85760405162461bcd60e51b8152600401620005769062004112565b62000d0581898962002690565b60405163397bfe5560e01b81529092506001600160a01b0383169063397bfe559062000d36908c9060040162003dd1565b600060405180830381600087803b15801562000d5157600080fd5b505af115801562000d66573d6000803e3d6000fd5b5050505062000de1828a88888080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8c018190048102820181019092528a815292508a91508990819084018382808284376000920191909152506200278292505050565b600062000ded62001b07565b6040805180820182526001600160a01b038681168252429390930160208083018281528f86166000818152600690935291859020935184546001600160a01b031916908716178455516001909301929092559151919350918416907fbc4a5bba58d663a7e6752f3a72d2737260a60caeec28e0bf880ee25711f7fe1e9062000e79908790869062003f0f565b60405180910390a35050979650505050505050565b62000e986200138c565b6001600160a01b0316336001600160a01b03161462000ecb5760405162461bcd60e51b8152600401620005769062003ff2565b60005b8181101562000fd55762000eff83838381811062000ee857fe5b905060200201602081019062000369919062002da6565b62000f1e5760405162461bcd60e51b81526004016200057690620040ca565b60006004600085858581811062000f3157fe5b905060200201602081019062000f48919062002da6565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790557fe49a33dc7a73a9833a0358b29ef8d5fecbfff419af0c4fd9219f57a7147009c683838381811062000f9e57fe5b905060200201602081019062000fb5919062002da6565b60405162000fc4919062003dd1565b60405180910390a160010162000ece565b505050565b6001600160a01b031660009081526004602052604090205460ff1690565b620010026200138c565b6001600160a01b0316336001600160a01b031614620010355760405162461bcd60e51b8152600401620005769062003ff2565b60008263ffffffff1611801562001052575060008163ffffffff16115b620010715760405162461bcd60e51b8152600401620005769062004082565b6002805463ffffffff838116600160c01b0263ffffffff60c01b19918616600160a01b0263ffffffff60a01b1990931692909217161790556040517f09069ba7f5bded3e9f9f7d353e606ae6ee8496309d9cbe09241d1c741e1dceed906200060090849084906200418a565b6002546001600160a01b031690565b6001600160a01b0390811660009081526006602052604090205416151590565b600062001118620015e7565b6001600160a01b03166398a7c4c76040518163ffffffff1660e01b815260040160206040518083038186803b1580156200115157600080fd5b505afa15801562001166573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200118c919062002dcf565b6001600160a01b0316637da0a8776040518163ffffffff1660e01b815260040160206040518083038186803b158015620011c557600080fd5b505afa158015620011da573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001200919062002dcf565b905090565b6200120f6200138c565b6001600160a01b0316336001600160a01b031614620012425760405162461bcd60e51b8152600401620005769062003ff2565b60005b8181101562000fd5576200125f83838381811062000ee857fe5b156200127f5760405162461bcd60e51b8152600401620005769062003fe0565b6001600460008585858181106200129257fe5b9050602002016020810190620012a9919062002da6565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790557f7b322f508cd6b0cc569822d5a028bb23e6698192d88a7b9669ab48fd68916eda838383818110620012ff57fe5b905060200201602081019062001316919062002da6565b60405162001325919062003dd1565b60405180910390a160010162001245565b6200134062002bee565b506001600160a01b039081166000908152600660209081526040918290208251808401909352805490931682526001909201549181019190915290565b6001546001600160a01b031690565b6000620013986200149a565b620013af57620013a76200060c565b90506200062e565b620013b962001cb5565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b158015620011c557600080fd5b60008084846040516020016200140a92919062003da7565b60408051601f19818403018152918152815160209283012060008181526005845282812087825290935291205490915060ff168062001482575060008181526005602090815260408083207f5bf1898dd28c4d29f33c4c1bb9b8a7e2f6322847d70be63e8f89de024d08a669845290915290205460ff165b95945050505050565b6000546001600160a01b031690565b600254600160e01b900460ff1690565b81620014b7813362002560565b620014c162001cb5565b6001600160a01b0316639c9d48da84846040518363ffffffff1660e01b8152600401620014f092919062003ef0565b600060405180830381600087803b1580156200150b57600080fd5b505af115801562001520573d6000803e3d6000fd5b50505050505050565b620015336200138c565b6001600160a01b0316336001600160a01b031614620015665760405162461bcd60e51b8152600401620005769062003ff2565b620015706200137d565b6001600160a01b038116156200159a5760405162461bcd60e51b8152600401620005769062003fce565b600180546001600160a01b0319166001600160a01b0384161790556040517f1a8919bc714742db0ed6eb86960768bdd5103c1dabb914651aaec5796907db15906200060090849062003dd1565b7f000000000000000000000000000000000000000000000000000000000000000090565b6000620016176200149a565b620016365760405162461bcd60e51b8152600401620005769062004094565b8862001643813362002560565b6200164d62001cb5565b6001600160a01b031663d0449d3d8b6040518263ffffffff1660e01b81526004016200167a919062003dd1565b60206040518083038186803b1580156200169357600080fd5b505afa158015620016a8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620016ce9190620032d9565b15620016ee5760405162461bcd60e51b815260040162000576906200404c565b620016fb338a8a62002690565b60405163397bfe5560e01b81529092506001600160a01b0383169063397bfe55906200172c908d9060040162003dd1565b600060405180830381600087803b1580156200174757600080fd5b505af11580156200175c573d6000803e3d6000fd5b50505050620017d7828b89898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8d018190048102820181019092528b815292508b91508a90819084018382808284376000920191909152506200278292505050565b620017e162001cb5565b6001600160a01b031663d15f9b9c8b84620017fb620010dd565b876040518563ffffffff1660e01b81526004016200181d949392919062003e00565b600060405180830381600087803b1580156200183857600080fd5b505af11580156200184d573d6000803e3d6000fd5b50505050896001600160a01b0316336001600160a01b03167f7cb609d1845028175b74ce1b27f0b41ba93711f8699a747463f0cf89c5c95b818460405162001896919062003dd1565b60405180910390a35098975050505050505050565b600080620018b86200149a565b620018d75760405162461bcd60e51b8152600401620005769062004094565b6000620018e362002647565b9050620018f2818a8a62002690565b9250620019048e848f8f8f8f62002ad6565b60405163397bfe5560e01b815290925083906001600160a01b0382169063397bfe55906200193790869060040162003dd1565b600060405180830381600087803b1580156200195257600080fd5b505af115801562001967573d6000803e3d6000fd5b50505050620019e284848a8a8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8e018190048102820181019092528c815292508c91508b90819084018382808284376000920191909152506200278292505050565b60405163ce5e84a360e01b81526001600160a01b0382169063ce5e84a39062001a119060009060040162003f2e565b600060405180830381600087803b15801562001a2c57600080fd5b505af115801562001a41573d6000803e3d6000fd5b5050505062001a4f6200137d565b6001600160a01b0316630a48e041846040518263ffffffff1660e01b815260040162001a7c919062003dd1565b600060405180830381600087803b15801562001a9757600080fd5b505af115801562001aac573d6000803e3d6000fd5b50505050816001600160a01b03167f04dab3bc63cc7e4b52aa28a026644559e2937d78dbf7b81e26dfecdd8bbe33b9848660405162001aed92919062003de1565b60405180910390a250509b509b9950505050505050505050565b60035490565b8062001b238162001b1d62002647565b62002560565b6001600160a01b03808316600090815260066020526040902054168062001b5e5760405162461bcd60e51b8152600401620005769062003f86565b806001600160a01b031663e53a73b96040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562001b9a57600080fd5b505af115801562001baf573d6000803e3d6000fd5b505050506001600160a01b0383811660008181526006602052604080822080546001600160a01b031916815560010182905551928416927f8eae645f408f18cb738736a49846a7ccb7a4ed8cdf9b960624ea965ffbe96e919190a3505050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161462001c5a5760405162461bcd60e51b815260040162000576906200403a565b816001600160a01b031663e53a73b96040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562001c9657600080fd5b505af115801562001cab573d6000803e3d6000fd5b5050505050505050565b7f000000000000000000000000000000000000000000000000000000000000000090565b62001ce36200138c565b6001600160a01b0316336001600160a01b03161462001d165760405162461bcd60e51b8152600401620005769062003ff2565b8362001d365760405162461bcd60e51b8152600401620005769062004100565b838214801562001d465750805184145b62001d655760405162461bcd60e51b8152600401620005769062004148565b60005b8481101562000b365762001dd886868381811062001d8257fe5b905060200201602081019062001d99919062002da6565b85858481811062001da657fe5b905060200201602081019062001dbd9190620032fa565b84848151811062001dca57fe5b602002602001015162000778565b62001df75760405162461bcd60e51b8152600401620005769062004016565b60006005600088888581811062001e0a57fe5b905060200201602081019062001e21919062002da6565b87878681811062001e2e57fe5b905060200201602081019062001e459190620032fa565b60405160200162001e5892919062003da7565b604051602081830303815290604052805190602001208152602001908152602001600020600084848151811062001e8b57fe5b6020026020010151815260200190815260200160002060006101000a81548160ff02191690831515021790555085858281811062001ec557fe5b905060200201602081019062001edc919062002da6565b6001600160a01b03167f845c9ef356cc5570a54e9eb6be3e6d95a2aaad4c4c7d7b2c0cf8c7cdd78d614d85858481811062001f1357fe5b905060200201602081019062001f2a9190620032fa565b84848151811062001f3757fe5b602002602001015160405162001f4f92919062003f3e565b60405180910390a260010162001d68565b62001f6a6200138c565b6001600160a01b0316336001600160a01b03161462001f9d5760405162461bcd60e51b8152600401620005769062003ff2565b8362001fbd5760405162461bcd60e51b81526004016200057690620040b8565b838214801562001fcd5750805184145b62001fec5760405162461bcd60e51b81526004016200057690620040ee565b60005b8481101562000b36576200200986868381811062001d8257fe5b15620020295760405162461bcd60e51b81526004016200057690620040dc565b6001600560008888858181106200203c57fe5b905060200201602081019062002053919062002da6565b8787868181106200206057fe5b9050602002016020810190620020779190620032fa565b6040516020016200208a92919062003da7565b6040516020818303038152906040528051906020012081526020019081526020016000206000848481518110620020bd57fe5b6020026020010151815260200190815260200160002060006101000a81548160ff021916908315150217905550858582818110620020f757fe5b90506020020160208101906200210e919062002da6565b6001600160a01b03167fb1fbe377864edcbf521713f906125bd99a3638c7a9e4087f6a70019686a741d18585848181106200214557fe5b90506020020160208101906200215c9190620032fa565b8484815181106200216957fe5b60200260200101516040516200218192919062003f3e565b60405180910390a260010162001fef565b80620021a28162001b1d62002647565b620021ac62002bee565b620021b78362001336565b80519091506001600160a01b0316620021e45760405162461bcd60e51b8152600401620005769062003faa565b80602001514210156200220b5760405162461bcd60e51b8152600401620005769062004136565b306200221662001cb5565b6001600160a01b0316633d7c74f8856040518263ffffffff1660e01b815260040162002243919062003dd1565b60206040518083038186803b1580156200225c57600080fd5b505afa15801562002271573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002297919062002dcf565b6001600160a01b031614620022c05760405162461bcd60e51b8152600401620005769062004070565b6000836001600160a01b0316635a53e3486040518163ffffffff1660e01b815260040160206040518083038186803b158015620022fc57600080fd5b505afa15801562002311573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002337919062002dcf565b90506000816001600160a01b031663faf9096b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156200237557600080fd5b505afa1580156200238a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620023b0919062002dcf565b9050620023bd8262002605565b8251604051633a0795ad60e11b81526001600160a01b0387169163740f2b5a91620023ec919060040162003dd1565b600060405180830381600087803b1580156200240757600080fd5b505af11580156200241c573d6000803e3d6000fd5b5050845160405163ce5e84a360e01b81526001600160a01b03909116925063ce5e84a39150620024529060019060040162003f2e565b600060405180830381600087803b1580156200246d57600080fd5b505af115801562002482573d6000803e3d6000fd5b505050506001600160a01b03811615620024fc5782516040516373eecf4760e01b81526001600160a01b03909116906373eecf4790620024c790849060040162003dd1565b600060405180830381600087803b158015620024e257600080fd5b505af1158015620024f7573d6000803e3d6000fd5b505050505b6001600160a01b0380861660008181526006602052604080822080546001600160a01b03191681556001018290558651905190841693861692917fa587629d93edeac6431610facaeec919890c8bc040ef849f720e42315148d7d991a45050505050565b604051633ef03e7560e11b81526001600160a01b03831690637de07cea906200258e90849060040162003dd1565b60206040518083038186803b158015620025a757600080fd5b505afa158015620025bc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620025e29190620032d9565b620026015760405162461bcd60e51b8152600401620005769062004028565b5050565b6000806200261262000a2e565b60405163495abadb60e11b815291935091506001600160a01b038416906392b575b690620014f090859085906004016200417a565b600060183610801590620026755750620026606200110c565b6001600160a01b0316336001600160a01b0316145b156200268b575060131936013560601c6200062e565b503390565b6000606063399ae72460e01b8484604051602401620026b192919062003f0f565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152905080620026f06200148b565b604051620026fe9062002c05565b6200270b92919062003f4e565b604051809103906000f08015801562002728573d6000803e3d6000fd5b509150836001600160a01b0316856001600160a01b03167f19dbe5ac5bcfdc5074f78d1e907e1dce6f6e3b50a56b50d990926abaf9c5505784866040516200277292919062003f0f565b60405180910390a3509392505050565b8151156200286557836001600160a01b031663f2d638266040518163ffffffff1660e01b815260040160206040518083038186803b158015620027c457600080fd5b505afa158015620027d9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620027ff919062002dcf565b6001600160a01b031663f067cc118585856040518463ffffffff1660e01b8152600401620028309392919062003e8b565b600060405180830381600087803b1580156200284b57600080fd5b505af115801562002860573d6000803e3d6000fd5b505050505b836001600160a01b031663b3fc38e96040518163ffffffff1660e01b815260040160206040518083038186803b1580156200289f57600080fd5b505afa158015620028b4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620028da919062002dcf565b6001600160a01b031663f067cc1185856040518363ffffffff1660e01b81526004016200290992919062003ebe565b600060405180830381600087803b1580156200292457600080fd5b505af115801562002939573d6000803e3d6000fd5b50505050836001600160a01b031663e7c456906040518163ffffffff1660e01b815260040160206040518083038186803b1580156200297757600080fd5b505afa1580156200298c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620029b2919062002dcf565b6001600160a01b031663f067cc1185856040518363ffffffff1660e01b8152600401620029e192919062003ebe565b600060405180830381600087803b158015620029fc57600080fd5b505af115801562002a11573d6000803e3d6000fd5b50505050836001600160a01b031663d44ad6cb6040518163ffffffff1660e01b815260040160206040518083038186803b15801562002a4f57600080fd5b505afa15801562002a64573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002a8a919062002dcf565b6001600160a01b031663f067cc118585846040518463ffffffff1660e01b815260040162002abb9392919062003e8b565b600060405180830381600087803b15801562001c9657600080fd5b600062002ae262001cb5565b6001600160a01b03166322a0c08b62002afa620010dd565b898989896040518663ffffffff1660e01b815260040162002b2095949392919062003e3d565b602060405180830381600087803b15801562002b3b57600080fd5b505af115801562002b50573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002b76919062002dcf565b9050811562002be457604051635c26412360e11b81526001600160a01b0382169063b84c82469062002baf908690869060040162003f72565b600060405180830381600087803b15801562002bca57600080fd5b505af115801562002bdf573d6000803e3d6000fd5b505050505b9695505050505050565b604080518082019091526000808252602082015290565b6102e080620042f383390190565b803562002c20816200429e565b92915050565b805162002c20816200429e565b60008083601f84011262002c4657600080fd5b5081356001600160401b0381111562002c5e57600080fd5b60208301915083602082028301111562002c7757600080fd5b9250929050565b600082601f83011262002c9057600080fd5b813562002ca762002ca182620041d0565b620041a9565b9150818183526020840193506020810190508385602084028201111562002ccd57600080fd5b60005b8381101562002cfd578162002ce6888262002d21565b845250602092830192919091019060010162002cd0565b5050505092915050565b803562002c2081620042b8565b805162002c2081620042b8565b803562002c2081620042c3565b803562002c2081620042ce565b60008083601f84011262002d4e57600080fd5b5081356001600160401b0381111562002d6657600080fd5b60208301915083600182028301111562002c7757600080fd5b803562002c2081620042d9565b805162002c2081620042c3565b803562002c2081620042e7565b60006020828403121562002db957600080fd5b600062002dc7848462002c13565b949350505050565b60006020828403121562002de257600080fd5b600062002dc7848462002c26565b6000806000806080858703121562002e0757600080fd5b600062002e15878762002c13565b945050602062002e288782880162002c13565b935050604062002e3b8782880162002c13565b925050606062002e4e8782880162002c13565b91505092959194509250565b6000806000806080858703121562002e7157600080fd5b600062002e7f878762002c26565b945050602062002e928782880162002c26565b935050604062002ea58782880162002c26565b925050606062002e4e8782880162002d8c565b600080600080600080600060a0888a03121562002ed457600080fd5b600062002ee28a8a62002c13565b975050602062002ef58a828b0162002c13565b965050604062002f088a828b0162002d21565b95505060608801356001600160401b0381111562002f2557600080fd5b62002f338a828b0162002d3b565b945094505060808801356001600160401b0381111562002f5257600080fd5b62002f608a828b0162002d3b565b925092505092959891949750929550565b60008060008060008060008060c0898b03121562002f8e57600080fd5b600062002f9c8b8b62002c13565b985050602062002faf8b828c0162002c13565b975050604062002fc28b828c0162002d21565b96505060608901356001600160401b0381111562002fdf57600080fd5b62002fed8b828c0162002d3b565b955095505060808901356001600160401b038111156200300c57600080fd5b6200301a8b828c0162002d3b565b935093505060a06200302f8b828c0162002d07565b9150509295985092959890939650565b600080604083850312156200305357600080fd5b600062003061858562002c13565b9250506020620030748582860162002d07565b9150509250929050565b6000806000606084860312156200309457600080fd5b6000620030a2868662002c13565b9350506020620030b58682870162002d2e565b9250506040620030c88682870162002d21565b9150509250925092565b600080600080600080600080600080600060e08c8e031215620030f457600080fd5b6000620031028e8e62002c13565b9b505060208c01356001600160401b038111156200311f57600080fd5b6200312d8e828f0162002d3b565b9a509a505060408c01356001600160401b038111156200314c57600080fd5b6200315a8e828f0162002d3b565b985098505060606200316f8e828f0162002c13565b9650506080620031828e828f0162002d21565b95505060a08c01356001600160401b038111156200319f57600080fd5b620031ad8e828f0162002d3b565b945094505060c08c01356001600160401b03811115620031cc57600080fd5b620031da8e828f0162002d3b565b92509250509295989b509295989b9093969950565b600080602083850312156200320357600080fd5b82356001600160401b038111156200321a57600080fd5b620032288582860162002c33565b92509250509250929050565b6000806000806000606086880312156200324d57600080fd5b85356001600160401b038111156200326457600080fd5b620032728882890162002c33565b955095505060208601356001600160401b038111156200329157600080fd5b6200329f8882890162002c33565b935093505060408601356001600160401b03811115620032be57600080fd5b620032cc8882890162002c7e565b9150509295509295909350565b600060208284031215620032ec57600080fd5b600062002dc7848462002d14565b6000602082840312156200330d57600080fd5b600062002dc7848462002d2e565b600080600080600060a086880312156200333457600080fd5b600062003342888862002d7f565b9550506020620033558882890162002c13565b9450506040620033688882890162002c13565b93505060606200337b8882890162002c13565b9250506080620032cc8882890162002c13565b600060208284031215620033a157600080fd5b600062002dc7848462002d21565b60008060408385031215620033c357600080fd5b6000620033d1858562002d99565b9250506020620030748582860162002d99565b620033ef81620041fe565b82525050565b620033ef6200340482620041fe565b6200427a565b620033ef816200420b565b620033ef816200062e565b620033ef8162004210565b620033ef6200343a8262004210565b6200062e565b60006200344d82620041f1565b620034598185620041f5565b93506200346b8185602086016200424b565b62003476816200428e565b9093019392505050565b60006200348e8385620041f5565b93506200349d8385846200423f565b62003476836200428e565b6000620034b7604883620041f5565b7f63616e63656c5265636f6e66696775726174696f6e3a204e6f207265636f6e6681527f696775726174696f6e20726571756573742065786973747320666f72205f7661602082015267756c7450726f787960c01b604082015260600192915050565b600062003529602383620041f5565b7f73657452656c656173654c6976653a207661756c744c6962206973206e6f74208152621cd95d60ea1b602082015260400192915050565b600062003570604983620041f5565b7f657865637574655265636f6e66696775726174696f6e3a204e6f207265636f6e81527f66696775726174696f6e20726571756573742065786973747320666f72205f7660208201526861756c7450726f787960b81b604082015260600192915050565b6000620035e3602983620041f5565b7f73657452656c656173654c6976653a20636f6d7074726f6c6c65724c696220698152681cc81b9bdd081cd95d60ba1b602082015260400192915050565b600062003630601f83620041f5565b7f546869732076616c75652063616e206f6e6c7920626520736574206f6e636500815260200192915050565b60006200366b603b83620041f5565b7f72656769737465724275795368617265734f6e426568616c6643616c6c65727381527f3a2043616c6c657220616c726561647920726567697374657265640000000000602082015260400192915050565b6000620036cc602e83620041f5565b7f4f6e6c792074686520636f6e7472616374206f776e65722063616e2063616c6c81526d103a3434b990333ab731ba34b7b760911b602082015260400192915050565b60006200371e603c83620041f5565b7f6372656174655265636f6e66696775726174696f6e526571756573743a20566181527f756c7450726f7879206e6f74206f6e20746869732072656c6561736500000000602082015260400192915050565b60006200377f602983620041f5565b7f646572656769737465725661756c7443616c6c733a2043616c6c206e6f7420728152681959da5cdd195c995960ba1b602082015260400192915050565b6000620037cc603383620041f5565b7f4f6e6c792061207065726d697373696f6e6564206d69677261746f722063616e8152721031b0b636103a3434b990333ab731ba34b7b760691b602082015260400192915050565b600062003823602683620041f5565b7f4f6e6c7920446973706174636865722063616e2063616c6c20746869732066758152653731ba34b7b760d11b602082015260400192915050565b60006200386d603983620041f5565b7f6372656174654d6967726174696f6e526571756573743a2041204d696772617481527f696f6e5265717565737420616c72656164792065786973747300000000000000602082015260400192915050565b6000620038ce601c83620041f5565b7f73657452656c656173654c6976653a20416c7265616479206c69766500000000815260200192915050565b600062003909604083620041f5565b7f657865637574655265636f6e66696775726174696f6e3a205f7661756c74507281527f6f7879206973206e6f206c6f6e676572206f6e20746869732072656c65617365602082015260400192915050565b60006200396a603383620041f5565b7f7365744761734c696d697473466f72446573747275637443616c6c3a205a65728152721bc81d985b1d59481b9bdd08185b1b1bddd959606a1b602082015260400192915050565b6000620039c1601783620041f5565b7f52656c65617365206973206e6f7420796574206c697665000000000000000000815260200192915050565b6000620039fc602d83620041f5565b7f73657452656c656173654c6976653a2070726f746f636f6c466565547261636b81526c195c881a5cc81b9bdd081cd95d609a1b602082015260400192915050565b600062003a4d602483620041f5565b7f72656769737465725661756c7443616c6c733a20456d707479205f636f6e74728152636163747360e01b602082015260400192915050565b600062002c20600083620041f5565b600062003aa4603983620041f5565b7f646572656769737465724275795368617265734f6e426568616c6643616c6c6581527f72733a2043616c6c6572206e6f74207265676973746572656400000000000000602082015260400192915050565b600062003b05602b83620041f5565b7f72656769737465725661756c7443616c6c733a2043616c6c20616c726561647981526a081c9959da5cdd195c995960aa1b602082015260400192915050565b600062003b54602783620041f5565b7f72656769737465725661756c7443616c6c733a20556e6576656e20696e7075748152662061727261797360c81b602082015260400192915050565b600062003b9f602683620041f5565b7f646572656769737465725661756c7443616c6c733a20456d707479205f636f6e81526574726163747360d01b602082015260400192915050565b600062003be9604e83620041f5565b7f6372656174655265636f6e66696775726174696f6e526571756573743a20566181527f756c7450726f78792068617320612070656e64696e67207265636f6e6669677560208201526d1c985d1a5bdb881c995c5d595cdd60921b604082015260600192915050565b600062003c61603783620041f5565b7f73657452656c656173654c6976653a204f6e6c79207468652063726561746f7281527f2063616e2063616c6c20746869732066756e6374696f6e000000000000000000602082015260400192915050565b600062003cc2604483620041f5565b7f657865637574655265636f6e66696775726174696f6e3a20546865207265636f81527f6e66696775726174696f6e2074696d656c6f636b20686173206e6f7420656c616020820152631c1cd95960e21b604082015260600192915050565b600062003d30602983620041f5565b7f646572656769737465725661756c7443616c6c733a20556e6576656e20696e7081526875742061727261797360b81b602082015260400192915050565b8051604083019062003d818482620033e4565b50602082015162003d96602085018262003415565b50505050565b620033ef8162004232565b600062003db58285620033f5565b60148201915062003dc782846200342b565b5060040192915050565b6020810162002c208284620033e4565b6040810162003df18285620033e4565b620007ca6020830184620033e4565b6080810162003e108287620033e4565b62003e1f6020830186620033e4565b62003e2e6040830185620033e4565b6200148260608301846200340a565b6080810162003e4d8288620033e4565b62003e5c6020830187620033e4565b62003e6b6040830186620033e4565b818103606083015262003e8081848662003480565b979650505050505050565b6060810162003e9b8286620033e4565b62003eaa6020830185620033e4565b818103604083015262001482818462003440565b6060810162003ece8285620033e4565b62003edd6020830184620033e4565b818103604083015262002dc78162003a86565b6040810162003f008285620033e4565b620007ca60208301846200340a565b6040810162003f1f8285620033e4565b620007ca602083018462003415565b6020810162002c2082846200340a565b6040810162003f1f828562003420565b6040808252810162003f61818562003440565b9050620007ca6020830184620033e4565b6020808252810162002dc781848662003480565b6020808252810162002c2081620034a8565b6020808252810162002c20816200351a565b6020808252810162002c208162003561565b6020808252810162002c2081620035d4565b6020808252810162002c208162003621565b6020808252810162002c20816200365c565b6020808252810162002c2081620036bd565b6020808252810162002c20816200370f565b6020808252810162002c208162003770565b6020808252810162002c2081620037bd565b6020808252810162002c208162003814565b6020808252810162002c20816200385e565b6020808252810162002c2081620038bf565b6020808252810162002c2081620038fa565b6020808252810162002c20816200395b565b6020808252810162002c2081620039b2565b6020808252810162002c2081620039ed565b6020808252810162002c208162003a3e565b6020808252810162002c208162003a95565b6020808252810162002c208162003af6565b6020808252810162002c208162003b45565b6020808252810162002c208162003b90565b6020808252810162002c208162003bda565b6020808252810162002c208162003c52565b6020808252810162002c208162003cb3565b6020808252810162002c208162003d21565b6040810162002c20828462003d6e565b6020810162002c20828462003415565b6040810162003f1f828562003415565b604081016200419a828562003d9c565b620007ca602083018462003d9c565b6040518181016001600160401b0381118282101715620041c857600080fd5b604052919050565b60006001600160401b03821115620041e757600080fd5b5060209081020190565b5190565b90815260200190565b600062002c20826200421d565b151590565b6001600160e01b03191690565b6001600160a01b031690565b63ffffffff1690565b600062002c208262004229565b82818337506000910152565b60005b83811015620042685781810151838201526020016200424e565b8381111562003d965750506000910152565b600062002c2082600062002c208262004298565b601f01601f191690565b60601b90565b620042a981620041fe565b8114620042b557600080fd5b50565b620042a9816200420b565b620042a9816200062e565b620042a98162004210565b60058110620042b557600080fd5b620042a9816200422956fe60a060405234801561001057600080fd5b506040516102e03803806102e08339818101604052604081101561003357600080fd5b810190808051604051939291908464010000000082111561005357600080fd5b90830190602082018581111561006857600080fd5b825164010000000081118282018810171561008257600080fd5b82525081516020918201929091019080838360005b838110156100af578181015183820152602001610097565b50505050905090810190601f1680156100dc5780820380516001836020036101000a031916815260200191505b50604052602001805190602001909291905050508181806001600160a01b03166080816001600160a01b031660601b81525050807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5560006060826001600160a01b0316846040518082805190602001908083835b602083106101705780518252601f199092019160209182019101610151565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d80600081146101d0576040519150601f19603f3d011682016040523d82523d6000602084013e6101d5565b606091505b50915091508181906102655760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561022a578181015183820152602001610212565b50505050905090810190601f1680156102575780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5050505050505060805160601c605a6102866000398060065250605a6000f3fe60806040527f00000000000000000000000000000000000000000000000000000000000000003660008037600080366000846127105a03f43d806000803e818015604857816000f35b816000fdfea164736f6c634300060c000aa164736f6c634300060c000a", "sourceMap": "1131:33846:77:-:0;;;4990:765;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;820:55:230;;;;;;;5224:37:77::1;::::0;::::1;::::0;::::1;;;:::i;:::-;;;;;;;;;;;;;5214:48;;;;;;3139:66;5196:14;;:66;5175:150;;;;-1:-1:-1::0;;;5175:150:77::1;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1::0;5346:10:77::1;5336:20;::::0;;::::1;;::::0;5366:24;-1:-1:-1;;;;;;5366:24:77;::::1;::::0;5562:45:::1;:54:::0;;-1:-1:-1;;;;5562:54:77::1;-1:-1:-1::0;;;5562:54:77::1;-1:-1:-1::0;;;;5657:48:77::1;-1:-1:-1::0;;;5657:48:77::1;::::0;;5742:6:::1;5716:23;:32:::0;1131:33846;;5:134:-1;83:13;;101:33;83:13;101:33;:::i;:::-;68:71;;;;:::o;146:399::-;;;278:2;266:9;257:7;253:23;249:32;246:2;;;294:1;291;284:12;246:2;329:1;346:64;402:7;382:9;346:64;:::i;:::-;336:74;;308:108;447:2;465:64;521:7;512:6;501:9;497:22;465:64;:::i;:::-;455:74;;426:109;240:305;;;;;:::o;553:353::-;;731:85;813:2;808:3;731:85;:::i;:::-;-1:-1;;;829:40;;897:2;888:12;;717:189;-1:-1;;717:189::o;915:374::-;;1075:67;1139:2;1134:3;1075:67;:::i;:::-;1175:34;1155:55;;-1:-1;;;1239:2;1230:12;;1223:29;1280:2;1271:12;;1061:228;-1:-1;;1061:228::o;1297:381::-;;1505:148;1649:3;1505:148;:::i;1685:416::-;1885:2;1899:47;;;1870:18;;1960:131;1870:18;1960:131;:::i;2109:163::-;2212:19;;;2261:4;2252:14;;2205:67::o;2281:145::-;2417:3;2395:31;-1:-1;2395:31::o;2434:91::-;;-1:-1;;;;;2594:54;;2496:24;2577:76::o;2660:117::-;2729:24;2747:5;2729:24;:::i;:::-;2722:5;2719:35;2709:2;;2768:1;2765;2758:12;2709:2;2703:74;:::o;:::-;1131:33846:77;;;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x60806040523480156200001157600080fd5b5060043610620002445760003560e01c806372eb5f2b1162000141578063b8f8a84c11620000bd578063df369ba71162000087578063df369ba714620004d3578063ebb3d58914620004ea578063ed9eeb7f14620004f4578063efcde9e3146200050b578063ff84571814620005225762000244565b8063b8f8a84c1462000465578063c83980dd146200047c578063cebffb5814620004a3578063d5189add14620004bc5762000244565b806393a2ecd9116200010b57806393a2ecd9146200041957806398f0d4bb14620004235780639c9d48da146200042d5780639f9df7851462000444578063ac259456146200045b5762000244565b806372eb5f2b14620003c8578063749cc8f514620003ee578063893d20e814620003f85780638c500ea314620004025762000244565b80634140d60711620001d1578063575403dc116200019b578063575403dc146200036f578063682cea1914620003865780636c579e5714620003905780636ea2114314620003a75780636f2b757414620003b15762000244565b80634140d60714620003135780634348ab62146200032a5780634bacc5f7146200034157806354391f0914620003585762000244565b806338b3eb1b116200021357806338b3eb1b14620002b45780633b30dce714620002cb5780633d0d4abb14620002e25780633f84c12c14620002fc5762000244565b80630d2fcd7614620002495780630ee2cb101462000262578063164dd2d4146200028457806336b4ea4f146200028e575b600080fd5b620002606200025a36600462002da6565b62000539565b005b6200026c6200060c565b6040516200027b919062003dd1565b60405180910390f35b6200026062000631565b620002a56200029f3660046200307e565b62000778565b6040516200027b919062003f2e565b62000260620002c53660046200303f565b620007d1565b62000260620002dc3660046200338e565b620009af565b620002ec62000a2e565b6040516200027b9291906200417a565b620002606200030d3660046200331b565b62000a4c565b620002606200032436600462002da6565b62000b3f565b6200026c6200033b36600462002eb8565b62000bfd565b6200026062000352366004620031ef565b62000e8e565b620002a56200036936600462002da6565b62000fda565b6200026062000380366004620033af565b62000ff8565b6200026c620010dd565b620002a5620003a136600462002da6565b620010ec565b6200026c6200110c565b62000260620003c2366004620031ef565b62001205565b620003df620003d936600462002da6565b62001336565b6040516200027b91906200415a565b6200026c6200137d565b6200026c6200138c565b620002a5620004133660046200307e565b620013f2565b6200026c6200148b565b620002a56200149a565b620002606200043e3660046200303f565b620014aa565b620002606200045536600462002da6565b62001529565b6200026c620015e7565b6200026c6200047636600462002f71565b6200160b565b620004936200048d366004620030d2565b620018ab565b6040516200027b92919062003de1565b620004ad62001b07565b6040516200027b91906200416a565b62000260620004cd36600462002da6565b62001b0d565b62000260620004e436600462002df0565b62001c0f565b6200026c62001cb5565b620002606200050536600462003234565b62001cd9565b620002606200051c36600462003234565b62001f60565b620002606200053336600462002da6565b62002192565b620005436200138c565b6001600160a01b0316336001600160a01b0316146200057f5760405162461bcd60e51b8152600401620005769062003ff2565b60405180910390fd5b620005896200148b565b6001600160a01b03811615620005b35760405162461bcd60e51b8152600401620005769062003fce565b600080546001600160a01b0319166001600160a01b0384161790556040517f38e37d5fdf60e4358769c3b616594ad451626b1e023c65eaa1062116feadacf8906200060090849062003dd1565b60405180910390a15050565b7f00000000000000000000000000000000000000000000000000000000000000005b90565b6200063b6200060c565b6001600160a01b0316336001600160a01b0316146200066e5760405162461bcd60e51b8152600401620005769062004124565b620006786200149a565b15620006985760405162461bcd60e51b815260040162000576906200405e565b6000620006a46200148b565b6001600160a01b03161415620006ce5760405162461bcd60e51b8152600401620005769062003fbc565b6000620006da6200137d565b6001600160a01b03161415620007045760405162461bcd60e51b81526004016200057690620040a6565b600062000710620010dd565b6001600160a01b031614156200073a5760405162461bcd60e51b8152600401620005769062003f98565b6002805460ff60e01b1916600160e01b1790556040517f0356d4f8f825c1c2803d9e1f15724b6b8eea8992d04fad04da8bcbe6ff30296f90600090a1565b60006005600085856040516020016200079392919062003da7565b60408051601f1981840301815291815281516020928301208352828201939093529082016000908120858252909152205460ff1690505b9392505050565b81620007de813362002560565b6000620007ea62001cb5565b90506000816001600160a01b0316637dad9fc8866040518263ffffffff1660e01b81526004016200081c919062003dd1565b60806040518083038186803b1580156200083557600080fd5b505afa1580156200084a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000870919062002e5a565b50506040516338b3eb1b60e01b81529092506001600160a01b03841691506338b3eb1b90620008a6908890889060040162003ef0565b600060405180830381600087803b158015620008c157600080fd5b505af1158015620008d6573d6000803e3d6000fd5b505060405163ce5e84a360e01b81526001600160a01b038416925063ce5e84a39150620009099060019060040162003f2e565b600060405180830381600087803b1580156200092457600080fd5b505af115801562000939573d6000803e3d6000fd5b50505050620009476200137d565b6001600160a01b0316630a48e041866040518263ffffffff1660e01b815260040162000974919062003dd1565b600060405180830381600087803b1580156200098f57600080fd5b505af1158015620009a4573d6000803e3d6000fd5b505050505050505050565b620009b96200138c565b6001600160a01b0316336001600160a01b031614620009ec5760405162461bcd60e51b8152600401620005769062003ff2565b60038190556040517fa12f25dbb69b970318f8cc02d37f8cfe5bb3fec3a55630fd7e419d6dc42f1d919062000a239083906200416a565b60405180910390a150565b60025463ffffffff600160a01b8204811691600160c01b9004169091565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161462000a975760405162461bcd60e51b815260040162000576906200403a565b600285600481111562000aa657fe5b1462000ab25762000b38565b6000846001600160a01b0316635a53e3486040518163ffffffff1660e01b815260040160206040518083038186803b15801562000aee57600080fd5b505afa15801562000b03573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000b29919062002dcf565b905062000b368162002605565b505b5050505050565b62000b496200138c565b6001600160a01b0316336001600160a01b03161462000b7c5760405162461bcd60e51b8152600401620005769062003ff2565b62000b86620010dd565b6001600160a01b0381161562000bb05760405162461bcd60e51b8152600401620005769062003fce565b600280546001600160a01b0319166001600160a01b0384161790556040517f1e01982aac1b1376985c41ed48c69e04ff4c75107bfe0b8a4827693d2ddba04e906200060090849062003dd1565b60008062000c0a62002647565b905062000c18898262002560565b3062000c2362001cb5565b6001600160a01b0316633d7c74f88b6040518263ffffffff1660e01b815260040162000c50919062003dd1565b60206040518083038186803b15801562000c6957600080fd5b505afa15801562000c7e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000ca4919062002dcf565b6001600160a01b03161462000ccd5760405162461bcd60e51b8152600401620005769062004004565b62000cd889620010ec565b1562000cf85760405162461bcd60e51b8152600401620005769062004112565b62000d0581898962002690565b60405163397bfe5560e01b81529092506001600160a01b0383169063397bfe559062000d36908c9060040162003dd1565b600060405180830381600087803b15801562000d5157600080fd5b505af115801562000d66573d6000803e3d6000fd5b5050505062000de1828a88888080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8c018190048102820181019092528a815292508a91508990819084018382808284376000920191909152506200278292505050565b600062000ded62001b07565b6040805180820182526001600160a01b038681168252429390930160208083018281528f86166000818152600690935291859020935184546001600160a01b031916908716178455516001909301929092559151919350918416907fbc4a5bba58d663a7e6752f3a72d2737260a60caeec28e0bf880ee25711f7fe1e9062000e79908790869062003f0f565b60405180910390a35050979650505050505050565b62000e986200138c565b6001600160a01b0316336001600160a01b03161462000ecb5760405162461bcd60e51b8152600401620005769062003ff2565b60005b8181101562000fd55762000eff83838381811062000ee857fe5b905060200201602081019062000369919062002da6565b62000f1e5760405162461bcd60e51b81526004016200057690620040ca565b60006004600085858581811062000f3157fe5b905060200201602081019062000f48919062002da6565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790557fe49a33dc7a73a9833a0358b29ef8d5fecbfff419af0c4fd9219f57a7147009c683838381811062000f9e57fe5b905060200201602081019062000fb5919062002da6565b60405162000fc4919062003dd1565b60405180910390a160010162000ece565b505050565b6001600160a01b031660009081526004602052604090205460ff1690565b620010026200138c565b6001600160a01b0316336001600160a01b031614620010355760405162461bcd60e51b8152600401620005769062003ff2565b60008263ffffffff1611801562001052575060008163ffffffff16115b620010715760405162461bcd60e51b8152600401620005769062004082565b6002805463ffffffff838116600160c01b0263ffffffff60c01b19918616600160a01b0263ffffffff60a01b1990931692909217161790556040517f09069ba7f5bded3e9f9f7d353e606ae6ee8496309d9cbe09241d1c741e1dceed906200060090849084906200418a565b6002546001600160a01b031690565b6001600160a01b0390811660009081526006602052604090205416151590565b600062001118620015e7565b6001600160a01b03166398a7c4c76040518163ffffffff1660e01b815260040160206040518083038186803b1580156200115157600080fd5b505afa15801562001166573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200118c919062002dcf565b6001600160a01b0316637da0a8776040518163ffffffff1660e01b815260040160206040518083038186803b158015620011c557600080fd5b505afa158015620011da573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001200919062002dcf565b905090565b6200120f6200138c565b6001600160a01b0316336001600160a01b031614620012425760405162461bcd60e51b8152600401620005769062003ff2565b60005b8181101562000fd5576200125f83838381811062000ee857fe5b156200127f5760405162461bcd60e51b8152600401620005769062003fe0565b6001600460008585858181106200129257fe5b9050602002016020810190620012a9919062002da6565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790557f7b322f508cd6b0cc569822d5a028bb23e6698192d88a7b9669ab48fd68916eda838383818110620012ff57fe5b905060200201602081019062001316919062002da6565b60405162001325919062003dd1565b60405180910390a160010162001245565b6200134062002bee565b506001600160a01b039081166000908152600660209081526040918290208251808401909352805490931682526001909201549181019190915290565b6001546001600160a01b031690565b6000620013986200149a565b620013af57620013a76200060c565b90506200062e565b620013b962001cb5565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b158015620011c557600080fd5b60008084846040516020016200140a92919062003da7565b60408051601f19818403018152918152815160209283012060008181526005845282812087825290935291205490915060ff168062001482575060008181526005602090815260408083207f5bf1898dd28c4d29f33c4c1bb9b8a7e2f6322847d70be63e8f89de024d08a669845290915290205460ff165b95945050505050565b6000546001600160a01b031690565b600254600160e01b900460ff1690565b81620014b7813362002560565b620014c162001cb5565b6001600160a01b0316639c9d48da84846040518363ffffffff1660e01b8152600401620014f092919062003ef0565b600060405180830381600087803b1580156200150b57600080fd5b505af115801562001520573d6000803e3d6000fd5b50505050505050565b620015336200138c565b6001600160a01b0316336001600160a01b031614620015665760405162461bcd60e51b8152600401620005769062003ff2565b620015706200137d565b6001600160a01b038116156200159a5760405162461bcd60e51b8152600401620005769062003fce565b600180546001600160a01b0319166001600160a01b0384161790556040517f1a8919bc714742db0ed6eb86960768bdd5103c1dabb914651aaec5796907db15906200060090849062003dd1565b7f000000000000000000000000000000000000000000000000000000000000000090565b6000620016176200149a565b620016365760405162461bcd60e51b8152600401620005769062004094565b8862001643813362002560565b6200164d62001cb5565b6001600160a01b031663d0449d3d8b6040518263ffffffff1660e01b81526004016200167a919062003dd1565b60206040518083038186803b1580156200169357600080fd5b505afa158015620016a8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620016ce9190620032d9565b15620016ee5760405162461bcd60e51b815260040162000576906200404c565b620016fb338a8a62002690565b60405163397bfe5560e01b81529092506001600160a01b0383169063397bfe55906200172c908d9060040162003dd1565b600060405180830381600087803b1580156200174757600080fd5b505af11580156200175c573d6000803e3d6000fd5b50505050620017d7828b89898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8d018190048102820181019092528b815292508b91508a90819084018382808284376000920191909152506200278292505050565b620017e162001cb5565b6001600160a01b031663d15f9b9c8b84620017fb620010dd565b876040518563ffffffff1660e01b81526004016200181d949392919062003e00565b600060405180830381600087803b1580156200183857600080fd5b505af11580156200184d573d6000803e3d6000fd5b50505050896001600160a01b0316336001600160a01b03167f7cb609d1845028175b74ce1b27f0b41ba93711f8699a747463f0cf89c5c95b818460405162001896919062003dd1565b60405180910390a35098975050505050505050565b600080620018b86200149a565b620018d75760405162461bcd60e51b8152600401620005769062004094565b6000620018e362002647565b9050620018f2818a8a62002690565b9250620019048e848f8f8f8f62002ad6565b60405163397bfe5560e01b815290925083906001600160a01b0382169063397bfe55906200193790869060040162003dd1565b600060405180830381600087803b1580156200195257600080fd5b505af115801562001967573d6000803e3d6000fd5b50505050620019e284848a8a8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8e018190048102820181019092528c815292508c91508b90819084018382808284376000920191909152506200278292505050565b60405163ce5e84a360e01b81526001600160a01b0382169063ce5e84a39062001a119060009060040162003f2e565b600060405180830381600087803b15801562001a2c57600080fd5b505af115801562001a41573d6000803e3d6000fd5b5050505062001a4f6200137d565b6001600160a01b0316630a48e041846040518263ffffffff1660e01b815260040162001a7c919062003dd1565b600060405180830381600087803b15801562001a9757600080fd5b505af115801562001aac573d6000803e3d6000fd5b50505050816001600160a01b03167f04dab3bc63cc7e4b52aa28a026644559e2937d78dbf7b81e26dfecdd8bbe33b9848660405162001aed92919062003de1565b60405180910390a250509b509b9950505050505050505050565b60035490565b8062001b238162001b1d62002647565b62002560565b6001600160a01b03808316600090815260066020526040902054168062001b5e5760405162461bcd60e51b8152600401620005769062003f86565b806001600160a01b031663e53a73b96040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562001b9a57600080fd5b505af115801562001baf573d6000803e3d6000fd5b505050506001600160a01b0383811660008181526006602052604080822080546001600160a01b031916815560010182905551928416927f8eae645f408f18cb738736a49846a7ccb7a4ed8cdf9b960624ea965ffbe96e919190a3505050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161462001c5a5760405162461bcd60e51b815260040162000576906200403a565b816001600160a01b031663e53a73b96040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562001c9657600080fd5b505af115801562001cab573d6000803e3d6000fd5b5050505050505050565b7f000000000000000000000000000000000000000000000000000000000000000090565b62001ce36200138c565b6001600160a01b0316336001600160a01b03161462001d165760405162461bcd60e51b8152600401620005769062003ff2565b8362001d365760405162461bcd60e51b8152600401620005769062004100565b838214801562001d465750805184145b62001d655760405162461bcd60e51b8152600401620005769062004148565b60005b8481101562000b365762001dd886868381811062001d8257fe5b905060200201602081019062001d99919062002da6565b85858481811062001da657fe5b905060200201602081019062001dbd9190620032fa565b84848151811062001dca57fe5b602002602001015162000778565b62001df75760405162461bcd60e51b8152600401620005769062004016565b60006005600088888581811062001e0a57fe5b905060200201602081019062001e21919062002da6565b87878681811062001e2e57fe5b905060200201602081019062001e459190620032fa565b60405160200162001e5892919062003da7565b604051602081830303815290604052805190602001208152602001908152602001600020600084848151811062001e8b57fe5b6020026020010151815260200190815260200160002060006101000a81548160ff02191690831515021790555085858281811062001ec557fe5b905060200201602081019062001edc919062002da6565b6001600160a01b03167f845c9ef356cc5570a54e9eb6be3e6d95a2aaad4c4c7d7b2c0cf8c7cdd78d614d85858481811062001f1357fe5b905060200201602081019062001f2a9190620032fa565b84848151811062001f3757fe5b602002602001015160405162001f4f92919062003f3e565b60405180910390a260010162001d68565b62001f6a6200138c565b6001600160a01b0316336001600160a01b03161462001f9d5760405162461bcd60e51b8152600401620005769062003ff2565b8362001fbd5760405162461bcd60e51b81526004016200057690620040b8565b838214801562001fcd5750805184145b62001fec5760405162461bcd60e51b81526004016200057690620040ee565b60005b8481101562000b36576200200986868381811062001d8257fe5b15620020295760405162461bcd60e51b81526004016200057690620040dc565b6001600560008888858181106200203c57fe5b905060200201602081019062002053919062002da6565b8787868181106200206057fe5b9050602002016020810190620020779190620032fa565b6040516020016200208a92919062003da7565b6040516020818303038152906040528051906020012081526020019081526020016000206000848481518110620020bd57fe5b6020026020010151815260200190815260200160002060006101000a81548160ff021916908315150217905550858582818110620020f757fe5b90506020020160208101906200210e919062002da6565b6001600160a01b03167fb1fbe377864edcbf521713f906125bd99a3638c7a9e4087f6a70019686a741d18585848181106200214557fe5b90506020020160208101906200215c9190620032fa565b8484815181106200216957fe5b60200260200101516040516200218192919062003f3e565b60405180910390a260010162001fef565b80620021a28162001b1d62002647565b620021ac62002bee565b620021b78362001336565b80519091506001600160a01b0316620021e45760405162461bcd60e51b8152600401620005769062003faa565b80602001514210156200220b5760405162461bcd60e51b8152600401620005769062004136565b306200221662001cb5565b6001600160a01b0316633d7c74f8856040518263ffffffff1660e01b815260040162002243919062003dd1565b60206040518083038186803b1580156200225c57600080fd5b505afa15801562002271573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002297919062002dcf565b6001600160a01b031614620022c05760405162461bcd60e51b8152600401620005769062004070565b6000836001600160a01b0316635a53e3486040518163ffffffff1660e01b815260040160206040518083038186803b158015620022fc57600080fd5b505afa15801562002311573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002337919062002dcf565b90506000816001600160a01b031663faf9096b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156200237557600080fd5b505afa1580156200238a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620023b0919062002dcf565b9050620023bd8262002605565b8251604051633a0795ad60e11b81526001600160a01b0387169163740f2b5a91620023ec919060040162003dd1565b600060405180830381600087803b1580156200240757600080fd5b505af11580156200241c573d6000803e3d6000fd5b5050845160405163ce5e84a360e01b81526001600160a01b03909116925063ce5e84a39150620024529060019060040162003f2e565b600060405180830381600087803b1580156200246d57600080fd5b505af115801562002482573d6000803e3d6000fd5b505050506001600160a01b03811615620024fc5782516040516373eecf4760e01b81526001600160a01b03909116906373eecf4790620024c790849060040162003dd1565b600060405180830381600087803b158015620024e257600080fd5b505af1158015620024f7573d6000803e3d6000fd5b505050505b6001600160a01b0380861660008181526006602052604080822080546001600160a01b03191681556001018290558651905190841693861692917fa587629d93edeac6431610facaeec919890c8bc040ef849f720e42315148d7d991a45050505050565b604051633ef03e7560e11b81526001600160a01b03831690637de07cea906200258e90849060040162003dd1565b60206040518083038186803b158015620025a757600080fd5b505afa158015620025bc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620025e29190620032d9565b620026015760405162461bcd60e51b8152600401620005769062004028565b5050565b6000806200261262000a2e565b60405163495abadb60e11b815291935091506001600160a01b038416906392b575b690620014f090859085906004016200417a565b600060183610801590620026755750620026606200110c565b6001600160a01b0316336001600160a01b0316145b156200268b575060131936013560601c6200062e565b503390565b6000606063399ae72460e01b8484604051602401620026b192919062003f0f565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152905080620026f06200148b565b604051620026fe9062002c05565b6200270b92919062003f4e565b604051809103906000f08015801562002728573d6000803e3d6000fd5b509150836001600160a01b0316856001600160a01b03167f19dbe5ac5bcfdc5074f78d1e907e1dce6f6e3b50a56b50d990926abaf9c5505784866040516200277292919062003f0f565b60405180910390a3509392505050565b8151156200286557836001600160a01b031663f2d638266040518163ffffffff1660e01b815260040160206040518083038186803b158015620027c457600080fd5b505afa158015620027d9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620027ff919062002dcf565b6001600160a01b031663f067cc118585856040518463ffffffff1660e01b8152600401620028309392919062003e8b565b600060405180830381600087803b1580156200284b57600080fd5b505af115801562002860573d6000803e3d6000fd5b505050505b836001600160a01b031663b3fc38e96040518163ffffffff1660e01b815260040160206040518083038186803b1580156200289f57600080fd5b505afa158015620028b4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620028da919062002dcf565b6001600160a01b031663f067cc1185856040518363ffffffff1660e01b81526004016200290992919062003ebe565b600060405180830381600087803b1580156200292457600080fd5b505af115801562002939573d6000803e3d6000fd5b50505050836001600160a01b031663e7c456906040518163ffffffff1660e01b815260040160206040518083038186803b1580156200297757600080fd5b505afa1580156200298c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620029b2919062002dcf565b6001600160a01b031663f067cc1185856040518363ffffffff1660e01b8152600401620029e192919062003ebe565b600060405180830381600087803b158015620029fc57600080fd5b505af115801562002a11573d6000803e3d6000fd5b50505050836001600160a01b031663d44ad6cb6040518163ffffffff1660e01b815260040160206040518083038186803b15801562002a4f57600080fd5b505afa15801562002a64573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002a8a919062002dcf565b6001600160a01b031663f067cc118585846040518463ffffffff1660e01b815260040162002abb9392919062003e8b565b600060405180830381600087803b15801562001c9657600080fd5b600062002ae262001cb5565b6001600160a01b03166322a0c08b62002afa620010dd565b898989896040518663ffffffff1660e01b815260040162002b2095949392919062003e3d565b602060405180830381600087803b15801562002b3b57600080fd5b505af115801562002b50573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062002b76919062002dcf565b9050811562002be457604051635c26412360e11b81526001600160a01b0382169063b84c82469062002baf908690869060040162003f72565b600060405180830381600087803b15801562002bca57600080fd5b505af115801562002bdf573d6000803e3d6000fd5b505050505b9695505050505050565b604080518082019091526000808252602082015290565b6102e080620042f383390190565b803562002c20816200429e565b92915050565b805162002c20816200429e565b60008083601f84011262002c4657600080fd5b5081356001600160401b0381111562002c5e57600080fd5b60208301915083602082028301111562002c7757600080fd5b9250929050565b600082601f83011262002c9057600080fd5b813562002ca762002ca182620041d0565b620041a9565b9150818183526020840193506020810190508385602084028201111562002ccd57600080fd5b60005b8381101562002cfd578162002ce6888262002d21565b845250602092830192919091019060010162002cd0565b5050505092915050565b803562002c2081620042b8565b805162002c2081620042b8565b803562002c2081620042c3565b803562002c2081620042ce565b60008083601f84011262002d4e57600080fd5b5081356001600160401b0381111562002d6657600080fd5b60208301915083600182028301111562002c7757600080fd5b803562002c2081620042d9565b805162002c2081620042c3565b803562002c2081620042e7565b60006020828403121562002db957600080fd5b600062002dc7848462002c13565b949350505050565b60006020828403121562002de257600080fd5b600062002dc7848462002c26565b6000806000806080858703121562002e0757600080fd5b600062002e15878762002c13565b945050602062002e288782880162002c13565b935050604062002e3b8782880162002c13565b925050606062002e4e8782880162002c13565b91505092959194509250565b6000806000806080858703121562002e7157600080fd5b600062002e7f878762002c26565b945050602062002e928782880162002c26565b935050604062002ea58782880162002c26565b925050606062002e4e8782880162002d8c565b600080600080600080600060a0888a03121562002ed457600080fd5b600062002ee28a8a62002c13565b975050602062002ef58a828b0162002c13565b965050604062002f088a828b0162002d21565b95505060608801356001600160401b0381111562002f2557600080fd5b62002f338a828b0162002d3b565b945094505060808801356001600160401b0381111562002f5257600080fd5b62002f608a828b0162002d3b565b925092505092959891949750929550565b60008060008060008060008060c0898b03121562002f8e57600080fd5b600062002f9c8b8b62002c13565b985050602062002faf8b828c0162002c13565b975050604062002fc28b828c0162002d21565b96505060608901356001600160401b0381111562002fdf57600080fd5b62002fed8b828c0162002d3b565b955095505060808901356001600160401b038111156200300c57600080fd5b6200301a8b828c0162002d3b565b935093505060a06200302f8b828c0162002d07565b9150509295985092959890939650565b600080604083850312156200305357600080fd5b600062003061858562002c13565b9250506020620030748582860162002d07565b9150509250929050565b6000806000606084860312156200309457600080fd5b6000620030a2868662002c13565b9350506020620030b58682870162002d2e565b9250506040620030c88682870162002d21565b9150509250925092565b600080600080600080600080600080600060e08c8e031215620030f457600080fd5b6000620031028e8e62002c13565b9b505060208c01356001600160401b038111156200311f57600080fd5b6200312d8e828f0162002d3b565b9a509a505060408c01356001600160401b038111156200314c57600080fd5b6200315a8e828f0162002d3b565b985098505060606200316f8e828f0162002c13565b9650506080620031828e828f0162002d21565b95505060a08c01356001600160401b038111156200319f57600080fd5b620031ad8e828f0162002d3b565b945094505060c08c01356001600160401b03811115620031cc57600080fd5b620031da8e828f0162002d3b565b92509250509295989b509295989b9093969950565b600080602083850312156200320357600080fd5b82356001600160401b038111156200321a57600080fd5b620032288582860162002c33565b92509250509250929050565b6000806000806000606086880312156200324d57600080fd5b85356001600160401b038111156200326457600080fd5b620032728882890162002c33565b955095505060208601356001600160401b038111156200329157600080fd5b6200329f8882890162002c33565b935093505060408601356001600160401b03811115620032be57600080fd5b620032cc8882890162002c7e565b9150509295509295909350565b600060208284031215620032ec57600080fd5b600062002dc7848462002d14565b6000602082840312156200330d57600080fd5b600062002dc7848462002d2e565b600080600080600060a086880312156200333457600080fd5b600062003342888862002d7f565b9550506020620033558882890162002c13565b9450506040620033688882890162002c13565b93505060606200337b8882890162002c13565b9250506080620032cc8882890162002c13565b600060208284031215620033a157600080fd5b600062002dc7848462002d21565b60008060408385031215620033c357600080fd5b6000620033d1858562002d99565b9250506020620030748582860162002d99565b620033ef81620041fe565b82525050565b620033ef6200340482620041fe565b6200427a565b620033ef816200420b565b620033ef816200062e565b620033ef8162004210565b620033ef6200343a8262004210565b6200062e565b60006200344d82620041f1565b620034598185620041f5565b93506200346b8185602086016200424b565b62003476816200428e565b9093019392505050565b60006200348e8385620041f5565b93506200349d8385846200423f565b62003476836200428e565b6000620034b7604883620041f5565b7f63616e63656c5265636f6e66696775726174696f6e3a204e6f207265636f6e6681527f696775726174696f6e20726571756573742065786973747320666f72205f7661602082015267756c7450726f787960c01b604082015260600192915050565b600062003529602383620041f5565b7f73657452656c656173654c6976653a207661756c744c6962206973206e6f74208152621cd95d60ea1b602082015260400192915050565b600062003570604983620041f5565b7f657865637574655265636f6e66696775726174696f6e3a204e6f207265636f6e81527f66696775726174696f6e20726571756573742065786973747320666f72205f7660208201526861756c7450726f787960b81b604082015260600192915050565b6000620035e3602983620041f5565b7f73657452656c656173654c6976653a20636f6d7074726f6c6c65724c696220698152681cc81b9bdd081cd95d60ba1b602082015260400192915050565b600062003630601f83620041f5565b7f546869732076616c75652063616e206f6e6c7920626520736574206f6e636500815260200192915050565b60006200366b603b83620041f5565b7f72656769737465724275795368617265734f6e426568616c6643616c6c65727381527f3a2043616c6c657220616c726561647920726567697374657265640000000000602082015260400192915050565b6000620036cc602e83620041f5565b7f4f6e6c792074686520636f6e7472616374206f776e65722063616e2063616c6c81526d103a3434b990333ab731ba34b7b760911b602082015260400192915050565b60006200371e603c83620041f5565b7f6372656174655265636f6e66696775726174696f6e526571756573743a20566181527f756c7450726f7879206e6f74206f6e20746869732072656c6561736500000000602082015260400192915050565b60006200377f602983620041f5565b7f646572656769737465725661756c7443616c6c733a2043616c6c206e6f7420728152681959da5cdd195c995960ba1b602082015260400192915050565b6000620037cc603383620041f5565b7f4f6e6c792061207065726d697373696f6e6564206d69677261746f722063616e8152721031b0b636103a3434b990333ab731ba34b7b760691b602082015260400192915050565b600062003823602683620041f5565b7f4f6e6c7920446973706174636865722063616e2063616c6c20746869732066758152653731ba34b7b760d11b602082015260400192915050565b60006200386d603983620041f5565b7f6372656174654d6967726174696f6e526571756573743a2041204d696772617481527f696f6e5265717565737420616c72656164792065786973747300000000000000602082015260400192915050565b6000620038ce601c83620041f5565b7f73657452656c656173654c6976653a20416c7265616479206c69766500000000815260200192915050565b600062003909604083620041f5565b7f657865637574655265636f6e66696775726174696f6e3a205f7661756c74507281527f6f7879206973206e6f206c6f6e676572206f6e20746869732072656c65617365602082015260400192915050565b60006200396a603383620041f5565b7f7365744761734c696d697473466f72446573747275637443616c6c3a205a65728152721bc81d985b1d59481b9bdd08185b1b1bddd959606a1b602082015260400192915050565b6000620039c1601783620041f5565b7f52656c65617365206973206e6f7420796574206c697665000000000000000000815260200192915050565b6000620039fc602d83620041f5565b7f73657452656c656173654c6976653a2070726f746f636f6c466565547261636b81526c195c881a5cc81b9bdd081cd95d609a1b602082015260400192915050565b600062003a4d602483620041f5565b7f72656769737465725661756c7443616c6c733a20456d707479205f636f6e74728152636163747360e01b602082015260400192915050565b600062002c20600083620041f5565b600062003aa4603983620041f5565b7f646572656769737465724275795368617265734f6e426568616c6643616c6c6581527f72733a2043616c6c6572206e6f74207265676973746572656400000000000000602082015260400192915050565b600062003b05602b83620041f5565b7f72656769737465725661756c7443616c6c733a2043616c6c20616c726561647981526a081c9959da5cdd195c995960aa1b602082015260400192915050565b600062003b54602783620041f5565b7f72656769737465725661756c7443616c6c733a20556e6576656e20696e7075748152662061727261797360c81b602082015260400192915050565b600062003b9f602683620041f5565b7f646572656769737465725661756c7443616c6c733a20456d707479205f636f6e81526574726163747360d01b602082015260400192915050565b600062003be9604e83620041f5565b7f6372656174655265636f6e66696775726174696f6e526571756573743a20566181527f756c7450726f78792068617320612070656e64696e67207265636f6e6669677560208201526d1c985d1a5bdb881c995c5d595cdd60921b604082015260600192915050565b600062003c61603783620041f5565b7f73657452656c656173654c6976653a204f6e6c79207468652063726561746f7281527f2063616e2063616c6c20746869732066756e6374696f6e000000000000000000602082015260400192915050565b600062003cc2604483620041f5565b7f657865637574655265636f6e66696775726174696f6e3a20546865207265636f81527f6e66696775726174696f6e2074696d656c6f636b20686173206e6f7420656c616020820152631c1cd95960e21b604082015260600192915050565b600062003d30602983620041f5565b7f646572656769737465725661756c7443616c6c733a20556e6576656e20696e7081526875742061727261797360b81b602082015260400192915050565b8051604083019062003d818482620033e4565b50602082015162003d96602085018262003415565b50505050565b620033ef8162004232565b600062003db58285620033f5565b60148201915062003dc782846200342b565b5060040192915050565b6020810162002c208284620033e4565b6040810162003df18285620033e4565b620007ca6020830184620033e4565b6080810162003e108287620033e4565b62003e1f6020830186620033e4565b62003e2e6040830185620033e4565b6200148260608301846200340a565b6080810162003e4d8288620033e4565b62003e5c6020830187620033e4565b62003e6b6040830186620033e4565b818103606083015262003e8081848662003480565b979650505050505050565b6060810162003e9b8286620033e4565b62003eaa6020830185620033e4565b818103604083015262001482818462003440565b6060810162003ece8285620033e4565b62003edd6020830184620033e4565b818103604083015262002dc78162003a86565b6040810162003f008285620033e4565b620007ca60208301846200340a565b6040810162003f1f8285620033e4565b620007ca602083018462003415565b6020810162002c2082846200340a565b6040810162003f1f828562003420565b6040808252810162003f61818562003440565b9050620007ca6020830184620033e4565b6020808252810162002dc781848662003480565b6020808252810162002c2081620034a8565b6020808252810162002c20816200351a565b6020808252810162002c208162003561565b6020808252810162002c2081620035d4565b6020808252810162002c208162003621565b6020808252810162002c20816200365c565b6020808252810162002c2081620036bd565b6020808252810162002c20816200370f565b6020808252810162002c208162003770565b6020808252810162002c2081620037bd565b6020808252810162002c208162003814565b6020808252810162002c20816200385e565b6020808252810162002c2081620038bf565b6020808252810162002c2081620038fa565b6020808252810162002c20816200395b565b6020808252810162002c2081620039b2565b6020808252810162002c2081620039ed565b6020808252810162002c208162003a3e565b6020808252810162002c208162003a95565b6020808252810162002c208162003af6565b6020808252810162002c208162003b45565b6020808252810162002c208162003b90565b6020808252810162002c208162003bda565b6020808252810162002c208162003c52565b6020808252810162002c208162003cb3565b6020808252810162002c208162003d21565b6040810162002c20828462003d6e565b6020810162002c20828462003415565b6040810162003f1f828562003415565b604081016200419a828562003d9c565b620007ca602083018462003d9c565b6040518181016001600160401b0381118282101715620041c857600080fd5b604052919050565b60006001600160401b03821115620041e757600080fd5b5060209081020190565b5190565b90815260200190565b600062002c20826200421d565b151590565b6001600160e01b03191690565b6001600160a01b031690565b63ffffffff1690565b600062002c208262004229565b82818337506000910152565b60005b83811015620042685781810151838201526020016200424e565b8381111562003d965750506000910152565b600062002c2082600062002c208262004298565b601f01601f191690565b60601b90565b620042a981620041fe565b8114620042b557600080fd5b50565b620042a9816200420b565b620042a9816200062e565b620042a98162004210565b60058110620042b557600080fd5b620042a9816200422956fe60a060405234801561001057600080fd5b506040516102e03803806102e08339818101604052604081101561003357600080fd5b810190808051604051939291908464010000000082111561005357600080fd5b90830190602082018581111561006857600080fd5b825164010000000081118282018810171561008257600080fd5b82525081516020918201929091019080838360005b838110156100af578181015183820152602001610097565b50505050905090810190601f1680156100dc5780820380516001836020036101000a031916815260200191505b50604052602001805190602001909291905050508181806001600160a01b03166080816001600160a01b031660601b81525050807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5560006060826001600160a01b0316846040518082805190602001908083835b602083106101705780518252601f199092019160209182019101610151565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d80600081146101d0576040519150601f19603f3d011682016040523d82523d6000602084013e6101d5565b606091505b50915091508181906102655760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561022a578181015183820152602001610212565b50505050905090810190601f1680156102575780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5050505050505060805160601c605a6102866000398060065250605a6000f3fe60806040527f00000000000000000000000000000000000000000000000000000000000000003660008037600080366000846127105a03f43d806000803e818015604857816000f35b816000fdfea164736f6c634300060c000aa164736f6c634300060c000a", "sourceMap": "1131:33846:77:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5998:234;;;;;;:::i;:::-;;:::i;:::-;;31059:92;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8594:670;;;:::i;34463:315::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;23708:583::-;;;;;;:::i;:::-;;:::i;22711:191::-;;;;;;:::i;:::-;;:::i;31690:306::-;;;:::i;:::-;;;;;;;;:::i;24988:540::-;;;;;;:::i;:::-;;:::i;6714:164::-;;;;;;:::i;:::-;;:::i;14814:1693::-;;;;;;:::i;:::-;;:::i;25753:478::-;;;;;;:::i;:::-;;:::i;33943:207::-;;;;;;:::i;:::-;;:::i;7752:655::-;;;;;;:::i;:::-;;:::i;33148:95::-;;;:::i;33469:261::-;;;;;;:::i;:::-;;:::i;1880:260:230:-;;;:::i;26609:476:77:-;;;;;;:::i;:::-;;:::i;32475:244::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;32139:125::-;;;:::i;7222:205::-;;;:::i;30245:435::-;;;;;;:::i;:::-;;:::i;30836:113::-;;;:::i;34885:90::-;;;:::i;23214:246::-;;;;;;:::i;:::-;;:::i;6357:262::-;;;;;;:::i;:::-;;:::i;1584:174:230:-;;;:::i;10643:1375:77:-;;;;;;:::i;:::-;;:::i;12776:1322::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;32895:140::-;;;:::i;:::-;;;;;;;:::i;19716:683::-;;;;;;:::i;:::-;;:::i;24457:240::-;;;;;;:::i;:::-;;:::i;31270:101::-;;;:::i;27495:928::-;;;;;;:::i;:::-;;:::i;28801:922::-;;;;;;:::i;:::-;;:::i;20735:1846::-;;;;;;:::i;:::-;;:::i;5998:234::-;4520:10;:8;:10::i;:::-;-1:-1:-1;;;;;4506:24:77;:10;-1:-1:-1;;;;;4506:24:77;;4498:83;;;;-1:-1:-1;;;4498:83:77;;;;;;;:::i;:::-;;;;;;;;;6108:19:::1;:17;:19::i;:::-;-1:-1:-1::0;;;;;4670:27:77;::::1;::::0;4662:71:::1;;;;-1:-1:-1::0;;;4662:71:77::1;;;;;;;:::i;:::-;6143:14:::2;:32:::0;;-1:-1:-1;;;;;;6143:32:77::2;-1:-1:-1::0;;;;;6143:32:77;::::2;;::::0;;6191:34:::2;::::0;::::2;::::0;::::2;::::0;6143:32;;6191:34:::2;:::i;:::-;;;;;;;;4591:1:::1;5998:234:::0;:::o;31059:92::-;31137:7;31059:92;;:::o;8594:670::-;8674:12;:10;:12::i;:::-;-1:-1:-1;;;;;8660:26:77;:10;-1:-1:-1;;;;;8660:26:77;;8639:128;;;;-1:-1:-1;;;8639:128:77;;;;;;;:::i;:::-;8786:15;:13;:15::i;:::-;8785:16;8777:57;;;;-1:-1:-1;;;8777:57:77;;;;;;;:::i;:::-;8930:1;8899:19;:17;:19::i;:::-;-1:-1:-1;;;;;8899:33:77;;;8891:87;;;;-1:-1:-1;;;8891:87:77;;;;;;;:::i;:::-;9044:1;9009:23;:21;:23::i;:::-;-1:-1:-1;;;;;9009:37:77;;;8988:129;;;;-1:-1:-1;;;8988:129:77;;;;;;;:::i;:::-;9160:1;9135:13;:11;:13::i;:::-;-1:-1:-1;;;;;9135:27:77;;;9127:75;;;;-1:-1:-1;;;9127:75:77;;;;;;;:::i;:::-;9213:6;:13;;-1:-1:-1;;;;9213:13:77;-1:-1:-1;;;9213:13:77;;;9242:15;;;;9213:13;;9242:15;8594:670::o;34463:315::-;34601:18;34650:29;:80;34707:9;34718;34690:38;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;34690:38:77;;;;;;;;;34680:49;;34690:38;34680:49;;;;34650:80;;;;;;;;;;;;-1:-1:-1;34650:80:77;;;:121;;;;;;;;;;;-1:-1:-1;34463:315:77;;;;;;:::o;23708:583::-;23837:11;4400:43;4419:11;4432:10;4400:18;:43::i;:::-;23864:30:::1;23909:15;:13;:15::i;:::-;23864:61;;23939:24;23971:18;-1:-1:-1::0;;;;;23971:71:77::1;;24043:11;23971:84;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;24066:75:77::1;::::0;-1:-1:-1;;;24066:75:77;;23936:119;;-1:-1:-1;;;;;;24066:35:77;::::1;::::0;-1:-1:-1;24066:35:77::1;::::0;:75:::1;::::0;24102:11;;24115:25;;24066:75:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;24152:45:77::1;::::0;-1:-1:-1;;;24152:45:77;;-1:-1:-1;;;;;24152:39:77;::::1;::::0;-1:-1:-1;24152:39:77::1;::::0;-1:-1:-1;24152:45:77::1;::::0;24192:4:::1;::::0;24152:45:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;24228:23;:21;:23::i;:::-;-1:-1:-1::0;;;;;24208:63:77::1;;24272:11;24208:76;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;4453:1;;23708:583:::0;;;:::o;22711:191::-;4520:10;:8;:10::i;:::-;-1:-1:-1;;;;;4506:24:77;:10;-1:-1:-1;;;;;4506:24:77;;4498:83;;;;-1:-1:-1;;;4498:83:77;;;;;;;:::i;:::-;22799:23:::1;:39:::0;;;22854:41:::1;::::0;::::1;::::0;::::1;::::0;22825:13;;22854:41:::1;:::i;:::-;;;;;;;;22711:191:::0;:::o;31690:306::-;31881:45;;;-1:-1:-1;;;31881:45:77;;;;;-1:-1:-1;;;31940:39:77;;;31690:306;;:::o;24988:540::-;4009:10;-1:-1:-1;;;;;4023:10:77;4009:24;;4001:75;;;;-1:-1:-1;;;4001:75:77;;;;;;;:::i;:::-;25194:27:::1;25185:5;:36;;;;;;;;;25181:73;;25237:7;;25181:73;25348:24;25382:11;-1:-1:-1::0;;;;;25375:31:77::1;;:33;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;25348:60;;25468:53;25504:16;25468:35;:53::i;:::-;4086:1;;24988:540:::0;;;;;:::o;6714:164::-;4520:10;:8;:10::i;:::-;-1:-1:-1;;;;;4506:24:77;:10;-1:-1:-1;;;;;4506:24:77;;4498:83;;;;-1:-1:-1;;;4498:83:77;;;;;;;:::i;:::-;6788:13:::1;:11;:13::i;:::-;-1:-1:-1::0;;;;;4670:27:77;::::1;::::0;4662:71:::1;;;;-1:-1:-1::0;;;4662:71:77::1;;;;;;;:::i;:::-;6813:8:::2;:20:::0;;-1:-1:-1;;;;;;6813:20:77::2;-1:-1:-1::0;;;;;6813:20:77;::::2;;::::0;;6849:22:::2;::::0;::::2;::::0;::::2;::::0;6813:20;;6849:22:::2;:::i;14814:1693::-:0;15075:25;15112:23;15138:13;:11;:13::i;:::-;15112:39;;15161:48;15180:11;15193:15;15161:18;:48::i;:::-;15338:4;15252:15;:13;:15::i;:::-;-1:-1:-1;;;;;15240:57:77;;15298:11;15240:70;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;15240:103:77;;15219:210;;;;-1:-1:-1;;;15219:210:77;;;;;;;:::i;:::-;15461:38;15487:11;15461:25;:38::i;:::-;15460:39;15439:164;;;;-1:-1:-1;;;15439:164:77;;;;;;;:::i;:::-;15634:130;15672:15;15701:18;15733:21;15634:24;:130::i;:::-;15775:58;;-1:-1:-1;;;15775:58:77;;15614:150;;-1:-1:-1;;;;;;15775:45:77;;;;;:58;;15821:11;;15775:58;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15844:160;15879:17;15910:11;15935:21;;15844:160;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;15844:160:77;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15970:24:77;;-1:-1:-1;15970:24:77;;;;15844:160;;15970:24;;;;15844:160;;;;;;;;;-1:-1:-1;15844:21:77;;-1:-1:-1;;;15844:160:77:i;:::-;16015:27;16063:28;:26;:28::i;:::-;16151:141;;;;;;;;-1:-1:-1;;;;;16151:141:77;;;;;16045:15;:46;;;;16151:141;;;;;;;16101:47;;;-1:-1:-1;16101:47:77;;;:34;:47;;;;;;;:191;;;;-1:-1:-1;;;;;;16101:191:77;;;;;;;;-1:-1:-1;16101:191:77;;;;;;;16308:157;;16045:46;;-1:-1:-1;16101:47:77;16308:157;;;;;;;16151:141;;16045:46;;16308:157;:::i;:::-;;;;;;;;16476:24;;14814:1693;;;;;;;;;:::o;25753:478::-;4520:10;:8;:10::i;:::-;-1:-1:-1;;;;;4506:24:77;:10;-1:-1:-1;;;;;4506:24:77;;4498:83;;;;-1:-1:-1;;;4498:83:77;;;;;;;:::i;:::-;25860:9:::1;25855:370;25871:19:::0;;::::1;25855:370;;;25936:45;25969:8;;25978:1;25969:11;;;;;;;;;;;;;;;;;;;;:::i;25936:45::-;25911:161;;;;-1:-1:-1::0;;;25911:161:77::1;;;;;;;:::i;:::-;26141:5;26087:38;:51;26126:8;;26135:1;26126:11;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;26087:51:77::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;26087:51:77;:59;;-1:-1:-1;;26087:59:77::1;::::0;::::1;;::::0;;;::::1;::::0;;26166:48:::1;26202:8:::0;;26211:1;26202:11;;::::1;;;;;;;;;;;;;;;;;;:::i;:::-;26166:48;;;;;;:::i;:::-;;;;;;;;25892:3;;25855:370;;;;25753:478:::0;;:::o;33943:207::-;-1:-1:-1;;;;;34099:44:77;34061:15;34099:44;;;:38;:44;;;;;;;;;33943:207::o;7752:655::-;4520:10;:8;:10::i;:::-;-1:-1:-1;;;;;4506:24:77;:10;-1:-1:-1;;;;;4506:24:77;;4498:83;;;;-1:-1:-1;;;4498:83:77;;;;;;;:::i;:::-;7975:1:::1;7939:33;:37;;;:72;;;;;8010:1;7980:27;:31;;;7939:72;7918:170;;;;-1:-1:-1::0;;;7918:170:77::1;;;;;;;:::i;:::-;8099:45;:81:::0;;::::1;8190:69:::0;;::::1;-1:-1:-1::0;;;8190:69:77::1;-1:-1:-1::0;;;;8099:81:77;;::::1;-1:-1:-1::0;;;8099:81:77::1;-1:-1:-1::0;;;;8099:81:77;;::::1;::::0;;;::::1;8190:69;;::::0;;8275:125:::1;::::0;::::1;::::0;::::1;::::0;8147:33;;8232:27;;8275:125:::1;:::i;33148:95::-:0;33228:8;;-1:-1:-1;;;;;33228:8:77;33148:95;:::o;33469:261::-;-1:-1:-1;;;;;33641:47:77;;;33587:31;33641:47;;;:34;:47;;;;;:68;;:82;;;33469:261::o;1880:260:230:-;1940:25;2052:29;:27;:29::i;:::-;-1:-1:-1;;;;;2032:66:230;;:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1996:135:230;;:137;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1977:156;;1880:260;:::o;26609:476:77:-;4520:10;:8;:10::i;:::-;-1:-1:-1;;;;;4506:24:77;:10;-1:-1:-1;;;;;4506:24:77;;4498:83;;;;-1:-1:-1;;;4498:83:77;;;;;;;:::i;:::-;26714:9:::1;26709:370;26725:19:::0;;::::1;26709:370;;;26791:45;26824:8;;26833:1;26824:11;;;;;;26791:45;26790:46;26765:164;;;;-1:-1:-1::0;;;26765:164:77::1;;;;;;;:::i;:::-;26998:4;26944:38;:51;26983:8;;26992:1;26983:11;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;26944:51:77::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;26944:51:77;:58;;-1:-1:-1;;26944:58:77::1;::::0;::::1;;::::0;;;::::1;::::0;;27022:46:::1;27056:8:::0;;27065:1;27056:11;;::::1;;;;;;;;;;;;;;;;;;:::i;:::-;27022:46;;;;;;:::i;:::-;;;;;;;;26746:3;;26709:370;;32475:244:::0;32589:53;;:::i;:::-;-1:-1:-1;;;;;;32665:47:77;;;;;;;:34;:47;;;;;;;;;32658:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;32475:244::o;32139:125::-;32239:18;;-1:-1:-1;;;;;32239:18:77;32139:125;:::o;7222:205::-;7272:14;7303:15;:13;:15::i;:::-;7298:66;;7341:12;:10;:12::i;:::-;7334:19;;;;7298:66;7393:15;:13;:15::i;:::-;-1:-1:-1;;;;;7381:37:77;;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30245:435;30391:15;30418:28;30476:9;30487;30459:38;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;30459:38:77;;;;;;;;;30449:49;;30459:38;30449:49;;;;30528:51;;;;:29;:51;;;;;:62;;;;;;;;;30449:49;;-1:-1:-1;30528:62:77;;;:145;;-1:-1:-1;30606:51:77;;;;:29;:51;;;;;;;;3139:66;30606:67;;;;;;;;;;30528:145;30509:164;30245:435;-1:-1:-1;;;;;30245:435:77:o;30836:113::-;30886:23;30928:14;-1:-1:-1;;;;;30928:14:77;30836:113;:::o;34885:90::-;34962:6;;-1:-1:-1;;;34962:6:77;;;;;34885:90::o;23214:246::-;23342:11;4400:43;4419:11;4432:10;4400:18;:43::i;:::-;23381:15:::1;:13;:15::i;:::-;-1:-1:-1::0;;;;;23369:44:77::1;;23414:11;23427:25;23369:84;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;23214:246:::0;;;:::o;6357:262::-;4520:10;:8;:10::i;:::-;-1:-1:-1;;;;;4506:24:77;:10;-1:-1:-1;;;;;4506:24:77;;4498:83;;;;-1:-1:-1;;;4498:83:77;;;;;;;:::i;:::-;6475:23:::1;:21;:23::i;:::-;-1:-1:-1::0;;;;;4670:27:77;::::1;::::0;4662:71:::1;;;;-1:-1:-1::0;;;4662:71:77::1;;;;;;;:::i;:::-;6514:18:::2;:40:::0;;-1:-1:-1;;;;;;6514:40:77::2;-1:-1:-1::0;;;;;6514:40:77;::::2;;::::0;;6570:42:::2;::::0;::::2;::::0;::::2;::::0;6514:40;;6570:42:::2;:::i;1584:174:230:-:0;1724:27;1584:174;:::o;10643:1375:77:-;11024:25;4145:15;:13;:15::i;:::-;4137:51;;;;-1:-1:-1;;;4137:51:77;;;;;;;:::i;:::-;10994:11:::1;4400:43;4419:11;4432:10;4400:18;:43::i;:::-;11178:15:::2;:13;:15::i;:::-;-1:-1:-1::0;;;;;11166:48:77::2;;11215:11;11166:61;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11165:62;11144:166;;;;-1:-1:-1::0;;;11144:166:77::2;;;;;;;:::i;:::-;11341:125;11379:10;11403:18;11435:21;11341:24;:125::i;:::-;11477:58;::::0;-1:-1:-1;;;11477:58:77;;11321:145;;-1:-1:-1;;;;;;11477:45:77;::::2;::::0;::::2;::::0;:58:::2;::::0;11523:11;;11477:58:::2;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;11546:160;11581:17;11612:11;11637:21;;11546:160;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;::::0;;;;-1:-1:-1;;11546:160:77::2;::::0;;::::2;;::::0;::::2;::::0;;::::2;::::0;::::2;::::0;;;;;;;;;;;-1:-1:-1;11672:24:77;;-1:-1:-1;11672:24:77;;;;11546:160;::::2;11672:24:::0;;;;11546:160;::::2;;::::0;::::2;::::0;;;;-1:-1:-1;11546:21:77::2;::::0;-1:-1:-1;;;11546:160:77:i:2;:::-;11729:15;:13;:15::i;:::-;-1:-1:-1::0;;;;;11717:44:77::2;;11775:11;11800:17;11831:13;:11;:13::i;:::-;11858:25;11717:176;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;11945:11;-1:-1:-1::0;;;;;11909:67:77::2;11933:10;-1:-1:-1::0;;;;;11909:67:77::2;;11958:17;11909:67;;;;;;:::i;:::-;;;;;;;;4198:1:::1;10643:1375:::0;;;;;;;;;;:::o;12776:1322::-;13109:25;13136:19;4145:15;:13;:15::i;:::-;4137:51;;;;-1:-1:-1;;;4137:51:77;;;;;;;:::i;:::-;13227:23:::1;13253:13;:11;:13::i;:::-;13227:39;;13297:130;13335:15;13364:18;13396:21;13297:24;:130::i;:::-;13277:150;;13452:73;13471:10;13483:17;13502:9;;13513:11;;13452:18;:73::i;:::-;13612:46;::::0;-1:-1:-1;;;13612:46:77;;13438:87;;-1:-1:-1;13584:17:77;;-1:-1:-1;;;;;13612:33:77;::::1;::::0;::::1;::::0;:46:::1;::::0;13438:87;;13612:46:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;13669:160;13704:17;13735:11;13760:21;;13669:160;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;;13669:160:77::1;::::0;;::::1;;::::0;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;;;;-1:-1:-1;13795:24:77;;-1:-1:-1;13795:24:77;;;;13669:160;::::1;13795:24:::0;;;;13669:160;::::1;;::::0;::::1;::::0;;;;-1:-1:-1;13669:21:77::1;::::0;-1:-1:-1;;;13669:160:77:i:1;:::-;13840:35;::::0;-1:-1:-1;;;13840:35:77;;-1:-1:-1;;;;;13840:28:77;::::1;::::0;::::1;::::0;:35:::1;::::0;13869:5:::1;::::0;13840:35:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;13906:23;:21;:23::i;:::-;-1:-1:-1::0;;;;;13886:63:77::1;;13950:11;13886:76;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;13993:15;-1:-1:-1::0;;;;;13978:63:77::1;;14010:11;14023:17;13978:63;;;;;;;:::i;:::-;;;;;;;;14052:39;;12776:1322:::0;;;;;;;;;;;;;;:::o;32895:140::-;33005:23;;32895:140;:::o;19716:683::-;19790:11;4265:46;4284:11;4297:13;:11;:13::i;:::-;4265:18;:46::i;:::-;-1:-1:-1;;;;;19844:47:77;;::::1;19813:28;19844:47:::0;;;:34:::1;:47;::::0;;;;:81;::::1;19956:34:::0;19935:153:::1;;;;-1:-1:-1::0;;;19935:153:77::1;;;;;;;:::i;:::-;20156:20;-1:-1:-1::0;;;;;20143:54:77::1;;:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;;;;;;;;20263:47:77;;::::1;;::::0;;;:34:::1;:47;::::0;;;;;20256:54;;-1:-1:-1;;;;;;20256:54:77::1;::::0;;-1:-1:-1;20256:54:77::1;::::0;;;20326:66;;;::::1;::::0;::::1;::::0;20263:47;20326:66:::1;4321:1;19716:683:::0;;:::o;24457:240::-;4009:10;-1:-1:-1;;;;;4023:10:77;4009:24;;4001:75;;;;-1:-1:-1;;;4001:75:77;;;;;;;:::i;:::-;24646:21:::1;-1:-1:-1::0;;;;;24633:55:77::1;;:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;24457:240:::0;;;;:::o;31270:101::-;31354:10;31270:101;:::o;27495:928::-;4520:10;:8;:10::i;:::-;-1:-1:-1;;;;;4506:24:77;:10;-1:-1:-1;;;;;4506:24:77;;4498:83;;;;-1:-1:-1;;;4498:83:77;;;;;;;:::i;:::-;27683:21;27675:72:::1;;;;-1:-1:-1::0;;;27675:72:77::1;;;;;;;:::i;:::-;27778:38:::0;;::::1;:81:::0;::::1;;;-1:-1:-1::0;27841:18:77;;27820:39;::::1;27778:81;27757:169;;;;-1:-1:-1::0;;;27757:169:77::1;;;;;;;:::i;:::-;27942:9;27937:480;27953:21:::0;;::::1;27937:480;;;28020:67;28042:10;;28053:1;28042:13;;;;;;;;;;;;;;;;;;;;:::i;:::-;28057:10;;28068:1;28057:13;;;;;;;;;;;;;;;;;;;;:::i;:::-;28072:11;28084:1;28072:14;;;;;;;;;;;;;;28020:21;:67::i;:::-;27995:167;;;;-1:-1:-1::0;;;27995:167:77::1;;;;;;;:::i;:::-;28314:5;28177:29;:118;28251:10;;28262:1;28251:13;;;;;;;;;;;;;;;;;;;;:::i;:::-;28266:10;;28277:1;28266:13;;;;;;;;;;;;;;;;;;;;:::i;:::-;28234:46;;;;;;;;;:::i;:::-;;;;;;;;;;;;;28224:57;;;;;;28177:118;;;;;;;;;;;:134;28296:11;28308:1;28296:14;;;;;;;;;;;;;;28177:134;;;;;;;;;;;;:142;;;;;;;;;;;;;;;;;;28361:10;;28372:1;28361:13;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;28339:67:77::1;;28376:10;;28387:1;28376:13;;;;;;;;;;;;;;;;;;;;:::i;:::-;28391:11;28403:1;28391:14;;;;;;;;;;;;;;28339:67;;;;;;;:::i;:::-;;;;;;;;27976:3;;27937:480;;28801:922:::0;4520:10;:8;:10::i;:::-;-1:-1:-1;;;;;4506:24:77;:10;-1:-1:-1;;;;;4506:24:77;;4498:83;;;;-1:-1:-1;;;4498:83:77;;;;;;;:::i;:::-;28987:21;28979:70:::1;;;;-1:-1:-1::0;;;28979:70:77::1;;;;;;;:::i;:::-;29080:38:::0;;::::1;:81:::0;::::1;;;-1:-1:-1::0;29143:18:77;;29122:39;::::1;29080:81;29059:167;;;;-1:-1:-1::0;;;29059:167:77::1;;;;;;;:::i;:::-;29242:9;29237:480;29253:21:::0;;::::1;29237:480;;;29321:67;29343:10;;29354:1;29343:13;;;;;;29321:67;29320:68;29295:170;;;;-1:-1:-1::0;;;29295:170:77::1;;;;;;;:::i;:::-;29617:4;29480:29;:118;29554:10;;29565:1;29554:13;;;;;;;;;;;;;;;;;;;;:::i;:::-;29569:10;;29580:1;29569:13;;;;;;;;;;;;;;;;;;;;:::i;:::-;29537:46;;;;;;;;;:::i;:::-;;;;;;;;;;;;;29527:57;;;;;;29480:118;;;;;;;;;;;:134;29599:11;29611:1;29599:14;;;;;;;;;;;;;;29480:134;;;;;;;;;;;;:141;;;;;;;;;;;;;;;;;;29661:10;;29672:1;29661:13;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;29641:65:77::1;;29676:10;;29687:1;29676:13;;;;;;;;;;;;;;;;;;;;:::i;:::-;29691:11;29703:1;29691:14;;;;;;;;;;;;;;29641:65;;;;;;;:::i;:::-;;;;;;;;29276:3;;29237:480;;20735:1846:::0;20810:11;4265:46;4284:11;4297:13;:11;:13::i;4265:46::-;20833:37:::1;;:::i;:::-;20873:73;20925:11;20873:38;:73::i;:::-;20977:28:::0;;20833:113;;-1:-1:-1;;;;;;20977:42:77::1;20956:162;;;;-1:-1:-1::0;;;20956:162:77::1;;;;;;;:::i;:::-;21168:7;:27;;;21149:15;:46;;21128:161;;;;-1:-1:-1::0;;;21128:161:77::1;;;;;;;:::i;:::-;21477:4;21391:15;:13;:15::i;:::-;-1:-1:-1::0;;;;;21379:57:77::1;;21437:11;21379:70;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;21379:103:77::1;;21358:214;;;;-1:-1:-1::0;;;21358:214:77::1;;;;;;;:::i;:::-;21705:28;21743:11;-1:-1:-1::0;;;;;21736:31:77::1;;:33;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;21705:64;;21779:17;21812:20;-1:-1:-1::0;;;;;21799:55:77::1;;:57;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;21779:77;;21866:57;21902:20;21866:35;:57::i;:::-;22027:28:::0;;21973:83:::1;::::0;-1:-1:-1;;;21973:83:77;;-1:-1:-1;;;;;21973:53:77;::::1;::::0;::::1;::::0;:83:::1;::::0;22027:28;21973:83:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;22125:28:77;;22112:57:::1;::::0;-1:-1:-1;;;22112:57:77;;-1:-1:-1;;;;;22112:51:77;;::::1;::::0;-1:-1:-1;22112:51:77::1;::::0;-1:-1:-1;22112:57:77::1;::::0;22164:4:::1;::::0;22112:57:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;;;;;;;;22183:23:77;::::1;::::0;22179:128:::1;;22235:28:::0;;22222:74:::1;::::0;-1:-1:-1;;;22222:74:77;;-1:-1:-1;;;;;22222:63:77;;::::1;::::0;::::1;::::0;:74:::1;::::0;22286:9;;22222:74:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;22179:128;-1:-1:-1::0;;;;;22370:47:77;;::::1;;::::0;;;:34:::1;:47;::::0;;;;;22363:54;;-1:-1:-1;;;;;;22363:54:77::1;::::0;;;::::1;::::0;;;22536:28;;22433:141;;;;::::1;::::0;;::::1;::::0;22370:47;22433:141:::1;::::0;::::1;4321:1;;;20735:1846:::0;;:::o;4757:227::-;4864:36;;-1:-1:-1;;;4864:36:77;;-1:-1:-1;;;;;4864:30:77;;;;;:36;;4895:4;;4864:36;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4843:134;;;;-1:-1:-1;;;4843:134:77;;;;;;;:::i;:::-;4757:227;;:::o;9359:380::-;9463:36;9513:30;9556:29;:27;:29::i;:::-;9595:137;;-1:-1:-1;;;9595:137:77;;9449:136;;-1:-1:-1;9449:136:77;-1:-1:-1;;;;;;9595:49:77;;;;;:137;;9449:136;;;;9595:137;;;:::i;983:367:230:-;1029:32;1096:2;1077:8;:21;;;;:68;;;1116:29;:27;:29::i;:::-;-1:-1:-1;;;;;1102:43:230;:10;-1:-1:-1;;;;;1102:43:230;;1077:68;1073:243;;;-1:-1:-1;;;1233:14:230;1229:23;1216:37;1212:2;1208:46;1282:23;;1073:243;-1:-1:-1;1333:10:230;983:367;:::o;17981:755:77:-;18147:25;18253:26;18318;;;18358:18;18390:21;18282:139;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;18282:139:77;;;;;;;;;;;;;;-1:-1:-1;;;;;18282:139:77;-1:-1:-1;;;;;;18282:139:77;;;;;;;;;;;-1:-1:-1;18282:139:77;18495:19;:17;:19::i;:::-;18459:56;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;18431:85;;18631:18;-1:-1:-1;;;;;18532:162:77;18570:16;-1:-1:-1;;;;;18532:162:77;;18600:17;18663:21;18532:162;;;;;;;:::i;:::-;;;;;;;;18705:24;17981:755;;;;;:::o;16599:1307::-;16936:28;;:32;16932:256;;17008:17;-1:-1:-1;;;;;16995:45:77;;:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;16984:76:77;;17078:17;17113:11;17142:21;16984:193;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16932:256;17383:17;-1:-1:-1;;;;;17370:58:77;;:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;17359:89:77;;17462:17;17493:11;17359:171;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17564:17;-1:-1:-1;;;;;17551:53:77;;:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;17540:84:77;;17638:17;17669:11;17540:166;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17740:17;-1:-1:-1;;;;;17727:48:77;;:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;17716:79:77;;17809:17;17840:11;17865:24;17716:183;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;18857:539;19043:19;19100:15;:13;:15::i;:::-;-1:-1:-1;;;;;19088:45:77;;19147:13;:11;:13::i;:::-;19174:10;19198:17;19229:9;;19088:160;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;19074:174;-1:-1:-1;19262:30:77;;19258:103;;19308:42;;-1:-1:-1;;;19308:42:77;;-1:-1:-1;;;;;19308:29:77;;;;;:42;;19338:11;;;;19308:42;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19258:103;18857:539;;;;;;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;:::o;5:130::-;72:20;;97:33;72:20;97:33;:::i;:::-;57:78;;;;:::o;142:134::-;220:13;;238:33;220:13;238:33;:::i;301:352::-;;;431:3;424:4;416:6;412:17;408:27;398:2;;449:1;446;439:12;398:2;-1:-1;469:20;;-1:-1;;;;;498:30;;495:2;;;541:1;538;531:12;495:2;575:4;567:6;563:17;551:29;;626:3;618:4;610:6;606:17;596:8;592:32;589:41;586:2;;;643:1;640;633:12;586:2;391:262;;;;;:::o;679:707::-;;796:3;789:4;781:6;777:17;773:27;763:2;;814:1;811;804:12;763:2;851:6;838:20;873:80;888:64;945:6;888:64;:::i;:::-;873:80;:::i;:::-;864:89;;970:5;995:6;988:5;981:21;1025:4;1017:6;1013:17;1003:27;;1047:4;1042:3;1038:14;1031:21;;1100:6;1147:3;1139:4;1131:6;1127:17;1122:3;1118:27;1115:36;1112:2;;;1164:1;1161;1154:12;1112:2;1189:1;1174:206;1199:6;1196:1;1193:13;1174:206;;;1257:3;1279:37;1312:3;1300:10;1279:37;:::i;:::-;1267:50;;-1:-1;1340:4;1331:14;;;;1359;;;;;1221:1;1214:9;1174:206;;;1178:14;756:630;;;;;;;:::o;1770:124::-;1834:20;;1859:30;1834:20;1859:30;:::i;1901:128::-;1976:13;;1994:30;1976:13;1994:30;:::i;2036:130::-;2103:20;;2128:33;2103:20;2128:33;:::i;2173:128::-;2239:20;;2264:32;2239:20;2264:32;:::i;2322:336::-;;;2436:3;2429:4;2421:6;2417:17;2413:27;2403:2;;2454:1;2451;2444:12;2403:2;-1:-1;2474:20;;-1:-1;;;;;2503:30;;2500:2;;;2546:1;2543;2536:12;2500:2;2580:4;2572:6;2568:17;2556:29;;2631:3;2623:4;2615:6;2611:17;2601:8;2597:32;2594:41;2591:2;;;2648:1;2645;2638:12;2666:172;2754:20;;2779:54;2754:20;2779:54;:::i;3342:134::-;3420:13;;3438:33;3420:13;3438:33;:::i;3483:128::-;3549:20;;3574:32;3549:20;3574:32;:::i;3618:241::-;;3722:2;3710:9;3701:7;3697:23;3693:32;3690:2;;;3738:1;3735;3728:12;3690:2;3773:1;3790:53;3835:7;3815:9;3790:53;:::i;:::-;3780:63;3684:175;-1:-1;;;;3684:175::o;3866:263::-;;3981:2;3969:9;3960:7;3956:23;3952:32;3949:2;;;3997:1;3994;3987:12;3949:2;4032:1;4049:64;4105:7;4085:9;4049:64;:::i;4136:617::-;;;;;4291:3;4279:9;4270:7;4266:23;4262:33;4259:2;;;4308:1;4305;4298:12;4259:2;4343:1;4360:53;4405:7;4385:9;4360:53;:::i;:::-;4350:63;;4322:97;4450:2;4468:53;4513:7;4504:6;4493:9;4489:22;4468:53;:::i;:::-;4458:63;;4429:98;4558:2;4576:53;4621:7;4612:6;4601:9;4597:22;4576:53;:::i;:::-;4566:63;;4537:98;4666:2;4684:53;4729:7;4720:6;4709:9;4705:22;4684:53;:::i;:::-;4674:63;;4645:98;4253:500;;;;;;;:::o;4760:672::-;;;;;4926:3;4914:9;4905:7;4901:23;4897:33;4894:2;;;4943:1;4940;4933:12;4894:2;4978:1;4995:64;5051:7;5031:9;4995:64;:::i;:::-;4985:74;;4957:108;5096:2;5114:64;5170:7;5161:6;5150:9;5146:22;5114:64;:::i;:::-;5104:74;;5075:109;5215:2;5233:64;5289:7;5280:6;5269:9;5265:22;5233:64;:::i;:::-;5223:74;;5194:109;5334:2;5352:64;5408:7;5399:6;5388:9;5384:22;5352:64;:::i;5439:991::-;;;;;;;;5649:3;5637:9;5628:7;5624:23;5620:33;5617:2;;;5666:1;5663;5656:12;5617:2;5701:1;5718:53;5763:7;5743:9;5718:53;:::i;:::-;5708:63;;5680:97;5808:2;5826:53;5871:7;5862:6;5851:9;5847:22;5826:53;:::i;:::-;5816:63;;5787:98;5916:2;5934:53;5979:7;5970:6;5959:9;5955:22;5934:53;:::i;:::-;5924:63;;5895:98;6052:2;6041:9;6037:18;6024:32;-1:-1;;;;;6068:6;6065:30;6062:2;;;6108:1;6105;6098:12;6062:2;6136:64;6192:7;6183:6;6172:9;6168:22;6136:64;:::i;:::-;6118:82;;;;6003:203;6265:3;6254:9;6250:19;6237:33;-1:-1;;;;;6282:6;6279:30;6276:2;;;6322:1;6319;6312:12;6276:2;6350:64;6406:7;6397:6;6386:9;6382:22;6350:64;:::i;:::-;6332:82;;;;6216:204;5611:819;;;;;;;;;;:::o;6437:1111::-;;;;;;;;;6661:3;6649:9;6640:7;6636:23;6632:33;6629:2;;;6678:1;6675;6668:12;6629:2;6713:1;6730:53;6775:7;6755:9;6730:53;:::i;:::-;6720:63;;6692:97;6820:2;6838:53;6883:7;6874:6;6863:9;6859:22;6838:53;:::i;:::-;6828:63;;6799:98;6928:2;6946:53;6991:7;6982:6;6971:9;6967:22;6946:53;:::i;:::-;6936:63;;6907:98;7064:2;7053:9;7049:18;7036:32;-1:-1;;;;;7080:6;7077:30;7074:2;;;7120:1;7117;7110:12;7074:2;7148:64;7204:7;7195:6;7184:9;7180:22;7148:64;:::i;:::-;7130:82;;;;7015:203;7277:3;7266:9;7262:19;7249:33;-1:-1;;;;;7294:6;7291:30;7288:2;;;7334:1;7331;7324:12;7288:2;7362:64;7418:7;7409:6;7398:9;7394:22;7362:64;:::i;:::-;7344:82;;;;7228:204;7463:3;7482:50;7524:7;7515:6;7504:9;7500:22;7482:50;:::i;:::-;7472:60;;7442:96;6623:925;;;;;;;;;;;:::o;7555:360::-;;;7673:2;7661:9;7652:7;7648:23;7644:32;7641:2;;;7689:1;7686;7679:12;7641:2;7724:1;7741:53;7786:7;7766:9;7741:53;:::i;:::-;7731:63;;7703:97;7831:2;7849:50;7891:7;7882:6;7871:9;7867:22;7849:50;:::i;:::-;7839:60;;7810:95;7635:280;;;;;:::o;7922:489::-;;;;8059:2;8047:9;8038:7;8034:23;8030:32;8027:2;;;8075:1;8072;8065:12;8027:2;8110:1;8127:53;8172:7;8152:9;8127:53;:::i;:::-;8117:63;;8089:97;8217:2;8235:52;8279:7;8270:6;8259:9;8255:22;8235:52;:::i;:::-;8225:62;;8196:97;8324:2;8342:53;8387:7;8378:6;8367:9;8363:22;8342:53;:::i;:::-;8332:63;;8303:98;8021:390;;;;;:::o;8418:1497::-;;;;;;;;;;;;8703:3;8691:9;8682:7;8678:23;8674:33;8671:2;;;8720:1;8717;8710:12;8671:2;8755:1;8772:53;8817:7;8797:9;8772:53;:::i;:::-;8762:63;;8734:97;8890:2;8879:9;8875:18;8862:32;-1:-1;;;;;8906:6;8903:30;8900:2;;;8946:1;8943;8936:12;8900:2;8974:65;9031:7;9022:6;9011:9;9007:22;8974:65;:::i;:::-;8956:83;;;;8841:204;9104:2;9093:9;9089:18;9076:32;-1:-1;;;;;9120:6;9117:30;9114:2;;;9160:1;9157;9150:12;9114:2;9188:65;9245:7;9236:6;9225:9;9221:22;9188:65;:::i;:::-;9170:83;;;;9055:204;9290:2;9308:53;9353:7;9344:6;9333:9;9329:22;9308:53;:::i;:::-;9298:63;;9269:98;9398:3;9417:53;9462:7;9453:6;9442:9;9438:22;9417:53;:::i;:::-;9407:63;;9377:99;9535:3;9524:9;9520:19;9507:33;-1:-1;;;;;9552:6;9549:30;9546:2;;;9592:1;9589;9582:12;9546:2;9620:64;9676:7;9667:6;9656:9;9652:22;9620:64;:::i;:::-;9602:82;;;;9486:204;9749:3;9738:9;9734:19;9721:33;-1:-1;;;;;9766:6;9763:30;9760:2;;;9806:1;9803;9796:12;9760:2;9835:64;9891:7;9882:6;9871:9;9867:22;9835:64;:::i;:::-;9816:83;;;;9700:205;8665:1250;;;;;;;;;;;;;;:::o;9922:397::-;;;10061:2;10049:9;10040:7;10036:23;10032:32;10029:2;;;10077:1;10074;10067:12;10029:2;10112:31;;-1:-1;;;;;10152:30;;10149:2;;;10195:1;10192;10185:12;10149:2;10223:80;10295:7;10286:6;10275:9;10271:22;10223:80;:::i;:::-;10205:98;;;;10091:218;10023:296;;;;;:::o;10326:937::-;;;;;;10558:2;10546:9;10537:7;10533:23;10529:32;10526:2;;;10574:1;10571;10564:12;10526:2;10609:31;;-1:-1;;;;;10649:30;;10646:2;;;10692:1;10689;10682:12;10646:2;10720:80;10792:7;10783:6;10772:9;10768:22;10720:80;:::i;:::-;10702:98;;;;10588:218;10865:2;10854:9;10850:18;10837:32;-1:-1;;;;;10881:6;10878:30;10875:2;;;10921:1;10918;10911:12;10875:2;10949:79;11020:7;11011:6;11000:9;10996:22;10949:79;:::i;:::-;10931:97;;;;10816:218;11093:2;11082:9;11078:18;11065:32;-1:-1;;;;;11109:6;11106:30;11103:2;;;11149:1;11146;11139:12;11103:2;11169:78;11239:7;11230:6;11219:9;11215:22;11169:78;:::i;:::-;11159:88;;11044:209;10520:743;;;;;;;;:::o;11270:257::-;;11382:2;11370:9;11361:7;11357:23;11353:32;11350:2;;;11398:1;11395;11388:12;11350:2;11433:1;11450:61;11503:7;11483:9;11450:61;:::i;11534:239::-;;11637:2;11625:9;11616:7;11612:23;11608:32;11605:2;;;11653:1;11650;11643:12;11605:2;11688:1;11705:52;11749:7;11729:9;11705:52;:::i;11780:785::-;;;;;;11973:3;11961:9;11952:7;11948:23;11944:33;11941:2;;;11990:1;11987;11980:12;11941:2;12025:1;12042:74;12108:7;12088:9;12042:74;:::i;:::-;12032:84;;12004:118;12153:2;12171:53;12216:7;12207:6;12196:9;12192:22;12171:53;:::i;:::-;12161:63;;12132:98;12261:2;12279:53;12324:7;12315:6;12304:9;12300:22;12279:53;:::i;:::-;12269:63;;12240:98;12369:2;12387:53;12432:7;12423:6;12412:9;12408:22;12387:53;:::i;:::-;12377:63;;12348:98;12477:3;12496:53;12541:7;12532:6;12521:9;12517:22;12496:53;:::i;12572:241::-;;12676:2;12664:9;12655:7;12651:23;12647:32;12644:2;;;12692:1;12689;12682:12;12644:2;12727:1;12744:53;12789:7;12769:9;12744:53;:::i;12820:362::-;;;12939:2;12927:9;12918:7;12914:23;12910:32;12907:2;;;12955:1;12952;12945:12;12907:2;12990:1;13007:52;13051:7;13031:9;13007:52;:::i;:::-;12997:62;;12969:96;13096:2;13114:52;13158:7;13149:6;13138:9;13134:22;13114:52;:::i;13189:103::-;13262:24;13280:5;13262:24;:::i;:::-;13257:3;13250:37;13244:48;;:::o;13419:152::-;13520:45;13540:24;13558:5;13540:24;:::i;:::-;13520:45;:::i;13578:104::-;13655:21;13670:5;13655:21;:::i;13689:113::-;13772:24;13790:5;13772:24;:::i;13809:110::-;13890:23;13907:5;13890:23;:::i;13926:148::-;14025:43;14044:23;14061:5;14044:23;:::i;:::-;14025:43;:::i;14081:343::-;;14191:38;14223:5;14191:38;:::i;:::-;14241:70;14304:6;14299:3;14241:70;:::i;:::-;14234:77;;14316:52;14361:6;14356:3;14349:4;14342:5;14338:16;14316:52;:::i;:::-;14389:29;14411:6;14389:29;:::i;:::-;14380:39;;;;14171:253;-1:-1;;;14171:253::o;14456:300::-;;14572:71;14636:6;14631:3;14572:71;:::i;:::-;14565:78;;14655:43;14691:6;14686:3;14679:5;14655:43;:::i;:::-;14720:29;14742:6;14720:29;:::i;14765:446::-;;14925:67;14989:2;14984:3;14925:67;:::i;:::-;15025:34;15005:55;;15094:34;15089:2;15080:12;;15073:56;-1:-1;;;15158:2;15149:12;;15142:32;15202:2;15193:12;;14911:300;-1:-1;;14911:300::o;15220:372::-;;15380:67;15444:2;15439:3;15380:67;:::i;:::-;15480:34;15460:55;;-1:-1;;;15544:2;15535:12;;15528:27;15583:2;15574:12;;15366:226;-1:-1;;15366:226::o;15601:447::-;;15761:67;15825:2;15820:3;15761:67;:::i;:::-;15861:34;15841:55;;15930:34;15925:2;15916:12;;15909:56;-1:-1;;;15994:2;15985:12;;15978:33;16039:2;16030:12;;15747:301;-1:-1;;15747:301::o;16057:378::-;;16217:67;16281:2;16276:3;16217:67;:::i;:::-;16317:34;16297:55;;-1:-1;;;16381:2;16372:12;;16365:33;16426:2;16417:12;;16203:232;-1:-1;;16203:232::o;16444:331::-;;16604:67;16668:2;16663:3;16604:67;:::i;:::-;16704:33;16684:54;;16766:2;16757:12;;16590:185;-1:-1;;16590:185::o;16784:396::-;;16944:67;17008:2;17003:3;16944:67;:::i;:::-;17044:34;17024:55;;17113:29;17108:2;17099:12;;17092:51;17171:2;17162:12;;16930:250;-1:-1;;16930:250::o;17189:383::-;;17349:67;17413:2;17408:3;17349:67;:::i;:::-;17449:34;17429:55;;-1:-1;;;17513:2;17504:12;;17497:38;17563:2;17554:12;;17335:237;-1:-1;;17335:237::o;17581:397::-;;17741:67;17805:2;17800:3;17741:67;:::i;:::-;17841:34;17821:55;;17910:30;17905:2;17896:12;;17889:52;17969:2;17960:12;;17727:251;-1:-1;;17727:251::o;17987:378::-;;18147:67;18211:2;18206:3;18147:67;:::i;:::-;18247:34;18227:55;;-1:-1;;;18311:2;18302:12;;18295:33;18356:2;18347:12;;18133:232;-1:-1;;18133:232::o;18374:388::-;;18534:67;18598:2;18593:3;18534:67;:::i;:::-;18634:34;18614:55;;-1:-1;;;18698:2;18689:12;;18682:43;18753:2;18744:12;;18520:242;-1:-1;;18520:242::o;18771:375::-;;18931:67;18995:2;18990:3;18931:67;:::i;:::-;19031:34;19011:55;;-1:-1;;;19095:2;19086:12;;19079:30;19137:2;19128:12;;18917:229;-1:-1;;18917:229::o;19155:394::-;;19315:67;19379:2;19374:3;19315:67;:::i;:::-;19415:34;19395:55;;19484:27;19479:2;19470:12;;19463:49;19540:2;19531:12;;19301:248;-1:-1;;19301:248::o;19558:328::-;;19718:67;19782:2;19777:3;19718:67;:::i;:::-;19818:30;19798:51;;19877:2;19868:12;;19704:182;-1:-1;;19704:182::o;19895:401::-;;20055:67;20119:2;20114:3;20055:67;:::i;:::-;20155:34;20135:55;;20224:34;20219:2;20210:12;;20203:56;20287:2;20278:12;;20041:255;-1:-1;;20041:255::o;20305:388::-;;20465:67;20529:2;20524:3;20465:67;:::i;:::-;20565:34;20545:55;;-1:-1;;;20629:2;20620:12;;20613:43;20684:2;20675:12;;20451:242;-1:-1;;20451:242::o;20702:323::-;;20862:67;20926:2;20921:3;20862:67;:::i;:::-;20962:25;20942:46;;21016:2;21007:12;;20848:177;-1:-1;;20848:177::o;21034:382::-;;21194:67;21258:2;21253:3;21194:67;:::i;:::-;21294:34;21274:55;;-1:-1;;;21358:2;21349:12;;21342:37;21407:2;21398:12;;21180:236;-1:-1;;21180:236::o;21425:373::-;;21585:67;21649:2;21644:3;21585:67;:::i;:::-;21685:34;21665:55;;-1:-1;;;21749:2;21740:12;;21733:28;21789:2;21780:12;;21571:227;-1:-1;;21571:227::o;21807:260::-;;21966:65;22029:1;22024:3;21966:65;:::i;22076:394::-;;22236:67;22300:2;22295:3;22236:67;:::i;:::-;22336:34;22316:55;;22405:27;22400:2;22391:12;;22384:49;22461:2;22452:12;;22222:248;-1:-1;;22222:248::o;22479:380::-;;22639:67;22703:2;22698:3;22639:67;:::i;:::-;22739:34;22719:55;;-1:-1;;;22803:2;22794:12;;22787:35;22850:2;22841:12;;22625:234;-1:-1;;22625:234::o;22868:376::-;;23028:67;23092:2;23087:3;23028:67;:::i;:::-;23128:34;23108:55;;-1:-1;;;23192:2;23183:12;;23176:31;23235:2;23226:12;;23014:230;-1:-1;;23014:230::o;23253:375::-;;23413:67;23477:2;23472:3;23413:67;:::i;:::-;23513:34;23493:55;;-1:-1;;;23577:2;23568:12;;23561:30;23619:2;23610:12;;23399:229;-1:-1;;23399:229::o;23637:452::-;;23797:67;23861:2;23856:3;23797:67;:::i;:::-;23897:34;23877:55;;23966:34;23961:2;23952:12;;23945:56;-1:-1;;;24030:2;24021:12;;24014:38;24080:2;24071:12;;23783:306;-1:-1;;23783:306::o;24098:392::-;;24258:67;24322:2;24317:3;24258:67;:::i;:::-;24358:34;24338:55;;24427:25;24422:2;24413:12;;24406:47;24481:2;24472:12;;24244:246;-1:-1;;24244:246::o;24499:442::-;;24659:67;24723:2;24718:3;24659:67;:::i;:::-;24759:34;24739:55;;24828:34;24823:2;24814:12;;24807:56;-1:-1;;;24892:2;24883:12;;24876:28;24932:2;24923:12;;24645:296;-1:-1;;24645:296::o;24950:378::-;;25110:67;25174:2;25169:3;25110:67;:::i;:::-;25210:34;25190:55;;-1:-1;;;25274:2;25265:12;;25258:33;25319:2;25310:12;;25096:232;-1:-1;;25096:232::o;25431:539::-;25688:23;;25606:4;25597:14;;;25717:63;25601:3;25688:23;25717:63;:::i;:::-;25626:160;25874:4;25867:5;25863:16;25857:23;25886:63;25943:4;25938:3;25934:14;25920:12;25886:63;:::i;:::-;25796:159;25579:391;;;:::o;26207:124::-;26289:36;26319:5;26289:36;:::i;26338:387::-;;26492:75;26563:3;26554:6;26492:75;:::i;:::-;26589:2;26584:3;26580:12;26573:19;;26603:73;26672:3;26663:6;26603:73;:::i;:::-;-1:-1;26698:1;26689:11;;26480:245;-1:-1;;26480:245::o;26732:222::-;26859:2;26844:18;;26873:71;26848:9;26917:6;26873:71;:::i;26961:333::-;27116:2;27101:18;;27130:71;27105:9;27174:6;27130:71;:::i;:::-;27212:72;27280:2;27269:9;27265:18;27256:6;27212:72;:::i;27301:544::-;27506:3;27491:19;;27521:71;27495:9;27565:6;27521:71;:::i;:::-;27603:72;27671:2;27660:9;27656:18;27647:6;27603:72;:::i;:::-;27686;27754:2;27743:9;27739:18;27730:6;27686:72;:::i;:::-;27769:66;27831:2;27820:9;27816:18;27807:6;27769:66;:::i;27852:664::-;28093:3;28078:19;;28108:71;28082:9;28152:6;28108:71;:::i;:::-;28190:72;28258:2;28247:9;28243:18;28234:6;28190:72;:::i;:::-;28273;28341:2;28330:9;28326:18;28317:6;28273:72;:::i;:::-;28393:9;28387:4;28383:20;28378:2;28367:9;28363:18;28356:48;28418:88;28501:4;28492:6;28484;28418:88;:::i;:::-;28410:96;28064:452;-1:-1;;;;;;;28064:452::o;28523:528::-;28724:2;28709:18;;28738:71;28713:9;28782:6;28738:71;:::i;:::-;28820:72;28888:2;28877:9;28873:18;28864:6;28820:72;:::i;:::-;28940:9;28934:4;28930:20;28925:2;28914:9;28910:18;28903:48;28965:76;29036:4;29027:6;28965:76;:::i;29058:636::-;29313:2;29298:18;;29327:71;29302:9;29371:6;29327:71;:::i;:::-;29409:72;29477:2;29466:9;29462:18;29453:6;29409:72;:::i;:::-;29529:9;29523:4;29519:20;29514:2;29503:9;29499:18;29492:48;29554:130;29679:4;29554:130;:::i;29701:321::-;29850:2;29835:18;;29864:71;29839:9;29908:6;29864:71;:::i;:::-;29946:66;30008:2;29997:9;29993:18;29984:6;29946:66;:::i;30029:333::-;30184:2;30169:18;;30198:71;30173:9;30242:6;30198:71;:::i;:::-;30280:72;30348:2;30337:9;30333:18;30324:6;30280:72;:::i;30369:210::-;30490:2;30475:18;;30504:65;30479:9;30542:6;30504:65;:::i;30586:329::-;30739:2;30724:18;;30753:69;30728:9;30795:6;30753:69;:::i;30922:417::-;31095:2;31109:47;;;31080:18;;31170:76;31080:18;31232:6;31170:76;:::i;:::-;31162:84;;31257:72;31325:2;31314:9;31310:18;31301:6;31257:72;:::i;31346:330::-;31503:2;31517:47;;;31488:18;;31578:88;31488:18;31652:6;31644;31578:88;:::i;31683:416::-;31883:2;31897:47;;;31868:18;;31958:131;31868:18;31958:131;:::i;32106:416::-;32306:2;32320:47;;;32291:18;;32381:131;32291:18;32381:131;:::i;32529:416::-;32729:2;32743:47;;;32714:18;;32804:131;32714:18;32804:131;:::i;32952:416::-;33152:2;33166:47;;;33137:18;;33227:131;33137:18;33227:131;:::i;33375:416::-;33575:2;33589:47;;;33560:18;;33650:131;33560:18;33650:131;:::i;33798:416::-;33998:2;34012:47;;;33983:18;;34073:131;33983:18;34073:131;:::i;34221:416::-;34421:2;34435:47;;;34406:18;;34496:131;34406:18;34496:131;:::i;34644:416::-;34844:2;34858:47;;;34829:18;;34919:131;34829:18;34919:131;:::i;35067:416::-;35267:2;35281:47;;;35252:18;;35342:131;35252:18;35342:131;:::i;35490:416::-;35690:2;35704:47;;;35675:18;;35765:131;35675:18;35765:131;:::i;35913:416::-;36113:2;36127:47;;;36098:18;;36188:131;36098:18;36188:131;:::i;36336:416::-;36536:2;36550:47;;;36521:18;;36611:131;36521:18;36611:131;:::i;36759:416::-;36959:2;36973:47;;;36944:18;;37034:131;36944:18;37034:131;:::i;37182:416::-;37382:2;37396:47;;;37367:18;;37457:131;37367:18;37457:131;:::i;37605:416::-;37805:2;37819:47;;;37790:18;;37880:131;37790:18;37880:131;:::i;38028:416::-;38228:2;38242:47;;;38213:18;;38303:131;38213:18;38303:131;:::i;38451:416::-;38651:2;38665:47;;;38636:18;;38726:131;38636:18;38726:131;:::i;38874:416::-;39074:2;39088:47;;;39059:18;;39149:131;39059:18;39149:131;:::i;39297:416::-;39497:2;39511:47;;;39482:18;;39572:131;39482:18;39572:131;:::i;39720:416::-;39920:2;39934:47;;;39905:18;;39995:131;39905:18;39995:131;:::i;40143:416::-;40343:2;40357:47;;;40328:18;;40418:131;40328:18;40418:131;:::i;40566:416::-;40766:2;40780:47;;;40751:18;;40841:131;40751:18;40841:131;:::i;40989:416::-;41189:2;41203:47;;;41174:18;;41264:131;41174:18;41264:131;:::i;41412:416::-;41612:2;41626:47;;;41597:18;;41687:131;41597:18;41687:131;:::i;41835:416::-;42035:2;42049:47;;;42020:18;;42110:131;42020:18;42110:131;:::i;42258:416::-;42458:2;42472:47;;;42443:18;;42533:131;42443:18;42533:131;:::i;42681:386::-;42890:2;42875:18;;42904:153;42879:9;43030:6;42904:153;:::i;43074:222::-;43201:2;43186:18;;43215:71;43190:9;43259:6;43215:71;:::i;43303:333::-;43458:2;43443:18;;43472:71;43447:9;43516:6;43472:71;:::i;43643:329::-;43796:2;43781:18;;43810:70;43785:9;43853:6;43810:70;:::i;:::-;43891:71;43958:2;43947:9;43943:18;43934:6;43891:71;:::i;43979:256::-;44041:2;44035:9;44067:17;;;-1:-1;;;;;44127:34;;44163:22;;;44124:62;44121:2;;;44199:1;44196;44189:12;44121:2;44215;44208:22;44019:216;;-1:-1;44019:216::o;44242:304::-;;-1:-1;;;;;44393:6;44390:30;44387:2;;;44433:1;44430;44423:12;44387:2;-1:-1;44468:4;44456:17;;;44521:15;;44324:222::o;44553:121::-;44640:12;;44611:63::o;44682:162::-;44784:19;;;44833:4;44824:14;;44777:67::o;45024:91::-;;45086:24;45104:5;45086:24;:::i;45122:85::-;45188:13;45181:21;;45164:43::o;45293:144::-;-1:-1;;;;;;45354:78;;45337:100::o;45444:121::-;-1:-1;;;;;45506:54;;45489:76::o;45651:88::-;45723:10;45712:22;;45695:44::o;45746:106::-;;45824:23;45841:5;45824:23;:::i;45860:145::-;45941:6;45936:3;45931;45918:30;-1:-1;45997:1;45979:16;;45972:27;45911:94::o;46014:268::-;46079:1;46086:101;46100:6;46097:1;46094:13;46086:101;;;46167:11;;;46161:18;46148:11;;;46141:39;46122:2;46115:10;46086:101;;;46202:6;46199:1;46196:13;46193:2;;;-1:-1;;46267:1;46249:16;;46242:27;46063:219::o;46290:95::-;;46354:26;46374:5;46472:89;46536:20;46550:5;46536:20;:::i;46568:97::-;46656:2;46636:14;-1:-1;;46632:28;;46616:49::o;46673:94::-;46747:2;46743:14;;46715:52::o;46775:117::-;46844:24;46862:5;46844:24;:::i;:::-;46837:5;46834:35;46824:2;;46883:1;46880;46873:12;46824:2;46818:74;:::o;46899:111::-;46965:21;46980:5;46965:21;:::i;47017:117::-;47086:24;47104:5;47086:24;:::i;47141:115::-;47209:23;47226:5;47209:23;:::i;47263:115::-;47353:1;47346:5;47343:12;47333:2;;47369:1;47366;47359:12;47509:115;47577:23;47594:5;47577:23;:::i", "linkReferences": {}, "immutableReferences": { "12525": [ { "start": 1550, "length": 32 } ], "12527": [ { "start": 2647, "length": 32 }, { "start": 7194, "length": 32 }, { "start": 7351, "length": 32 } ], "62077": [ { "start": 5609, "length": 32 } ] } }, "methodIdentifiers": { "cancelMigration(address,bool)": "9c9d48da", "cancelReconfiguration(address)": "d5189add", "createMigrationRequest(address,address,uint256,bytes,bytes,bool)": "b8f8a84c", "createNewFund(address,string,string,address,uint256,bytes,bytes)": "c83980dd", "createReconfigurationRequest(address,address,uint256,bytes,bytes)": "4348ab62", "deregisterBuySharesOnBehalfCallers(address[])": "4bacc5f7", "deregisterVaultCalls(address[],bytes4[],bytes32[])": "ed9eeb7f", "executeMigration(address,bool)": "38b3eb1b", "executeReconfiguration(address)": "ff845718", "getComptrollerLib()": "93a2ecd9", "getCreator()": "0ee2cb10", "getDispatcher()": "ebb3d589", "getGasLimitsForDestructCall()": "3d0d4abb", "getGasRelayPaymasterFactory()": "ac259456", "getGasRelayTrustedForwarder()": "6ea21143", "getOwner()": "893d20e8", "getProtocolFeeTracker()": "749cc8f5", "getReconfigurationRequestForVaultProxy(address)": "72eb5f2b", "getReconfigurationTimelock()": "cebffb58", "getVaultLib()": "682cea19", "hasReconfigurationRequest(address)": "6c579e57", "invokeMigrationInCancelHook(address,address,address,address)": "df369ba7", "invokeMigrationOutHook(uint8,address,address,address,address)": "3f84c12c", "isAllowedBuySharesOnBehalfCaller(address)": "54391f09", "isAllowedVaultCall(address,bytes4,bytes32)": "8c500ea3", "isRegisteredVaultCall(address,bytes4,bytes32)": "36b4ea4f", "registerBuySharesOnBehalfCallers(address[])": "6f2b7574", "registerVaultCalls(address[],bytes4[],bytes32[])": "efcde9e3", "releaseIsLive()": "98f0d4bb", "setComptrollerLib(address)": "0d2fcd76", "setGasLimitsForDestructCall(uint32,uint32)": "575403dc", "setProtocolFeeTracker(address)": "9f9df785", "setReconfigurationTimelock(uint256)": "3b30dce7", "setReleaseLive()": "164dd2d4", "setVaultLib(address)": "4140d607" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_dispatcher\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_gasRelayPaymasterFactory\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"BuySharesOnBehalfCallerDeregistered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"BuySharesOnBehalfCallerRegistered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"comptrollerLib\",\"type\":\"address\"}],\"name\":\"ComptrollerLibSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"creator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"denominationAsset\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"sharesActionTimelock\",\"type\":\"uint256\"}],\"name\":\"ComptrollerProxyDeployed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"nextDeactivateFeeManagerGasLimit\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"nextPayProtocolFeeGasLimit\",\"type\":\"uint256\"}],\"name\":\"GasLimitsForDestructCallSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"creator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"vaultProxy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"}],\"name\":\"MigrationRequestCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"creator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"vaultProxy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"}],\"name\":\"NewFundCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"protocolFeeTracker\",\"type\":\"address\"}],\"name\":\"ProtocolFeeTrackerSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"vaultProxy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"nextComptrollerProxy\",\"type\":\"address\"}],\"name\":\"ReconfigurationRequestCancelled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"creator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"vaultProxy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"executableTimestamp\",\"type\":\"uint256\"}],\"name\":\"ReconfigurationRequestCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"vaultProxy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"prevComptrollerProxy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"nextComptrollerProxy\",\"type\":\"address\"}],\"name\":\"ReconfigurationRequestExecuted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"nextTimelock\",\"type\":\"uint256\"}],\"name\":\"ReconfigurationTimelockSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"ReleaseIsLive\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes4\",\"name\":\"selector\",\"type\":\"bytes4\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"dataHash\",\"type\":\"bytes32\"}],\"name\":\"VaultCallDeregistered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes4\",\"name\":\"selector\",\"type\":\"bytes4\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"dataHash\",\"type\":\"bytes32\"}],\"name\":\"VaultCallRegistered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"vaultLib\",\"type\":\"address\"}],\"name\":\"VaultLibSet\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_bypassPrevReleaseFailure\",\"type\":\"bool\"}],\"name\":\"cancelMigration\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"}],\"name\":\"cancelReconfiguration\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_denominationAsset\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_sharesActionTimelock\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_feeManagerConfigData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"_policyManagerConfigData\",\"type\":\"bytes\"},{\"internalType\":\"bool\",\"name\":\"_bypassPrevReleaseFailure\",\"type\":\"bool\"}],\"name\":\"createMigrationRequest\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"comptrollerProxy_\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_fundOwner\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_fundName\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_fundSymbol\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"_denominationAsset\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_sharesActionTimelock\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_feeManagerConfigData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"_policyManagerConfigData\",\"type\":\"bytes\"}],\"name\":\"createNewFund\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"comptrollerProxy_\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"vaultProxy_\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_denominationAsset\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_sharesActionTimelock\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_feeManagerConfigData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"_policyManagerConfigData\",\"type\":\"bytes\"}],\"name\":\"createReconfigurationRequest\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"comptrollerProxy_\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_callers\",\"type\":\"address[]\"}],\"name\":\"deregisterBuySharesOnBehalfCallers\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_contracts\",\"type\":\"address[]\"},{\"internalType\":\"bytes4[]\",\"name\":\"_selectors\",\"type\":\"bytes4[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"_dataHashes\",\"type\":\"bytes32[]\"}],\"name\":\"deregisterVaultCalls\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_bypassPrevReleaseFailure\",\"type\":\"bool\"}],\"name\":\"executeMigration\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"}],\"name\":\"executeReconfiguration\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getComptrollerLib\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"comptrollerLib_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCreator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"creator_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDispatcher\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"dispatcher_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getGasLimitsForDestructCall\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"deactivateFeeManagerGasLimit_\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"payProtocolFeeGasLimit_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getGasRelayPaymasterFactory\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"gasRelayPaymasterFactory_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getGasRelayTrustedForwarder\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"trustedForwarder_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getProtocolFeeTracker\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"protocolFeeTracker_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"}],\"name\":\"getReconfigurationRequestForVaultProxy\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"nextComptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"executableTimestamp\",\"type\":\"uint256\"}],\"internalType\":\"struct FundDeployer.ReconfigurationRequest\",\"name\":\"reconfigurationRequest_\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getReconfigurationTimelock\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"reconfigurationTimelock_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getVaultLib\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"vaultLib_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"}],\"name\":\"hasReconfigurationRequest\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"hasReconfigurationRequest_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_nextComptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"invokeMigrationInCancelHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IMigrationHookHandler.MigrationOutHook\",\"name\":\"_hook\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"invokeMigrationOutHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_who\",\"type\":\"address\"}],\"name\":\"isAllowedBuySharesOnBehalfCaller\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isAllowed_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contract\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"_selector\",\"type\":\"bytes4\"},{\"internalType\":\"bytes32\",\"name\":\"_dataHash\",\"type\":\"bytes32\"}],\"name\":\"isAllowedVaultCall\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isAllowed_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contract\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"_selector\",\"type\":\"bytes4\"},{\"internalType\":\"bytes32\",\"name\":\"_dataHash\",\"type\":\"bytes32\"}],\"name\":\"isRegisteredVaultCall\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isRegistered_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_callers\",\"type\":\"address[]\"}],\"name\":\"registerBuySharesOnBehalfCallers\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_contracts\",\"type\":\"address[]\"},{\"internalType\":\"bytes4[]\",\"name\":\"_selectors\",\"type\":\"bytes4[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"_dataHashes\",\"type\":\"bytes32[]\"}],\"name\":\"registerVaultCalls\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"releaseIsLive\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isLive_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerLib\",\"type\":\"address\"}],\"name\":\"setComptrollerLib\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32\",\"name\":\"_nextDeactivateFeeManagerGasLimit\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"_nextPayProtocolFeeGasLimit\",\"type\":\"uint32\"}],\"name\":\"setGasLimitsForDestructCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_protocolFeeTracker\",\"type\":\"address\"}],\"name\":\"setProtocolFeeTracker\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_nextTimelock\",\"type\":\"uint256\"}],\"name\":\"setReconfigurationTimelock\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"setReleaseLive\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultLib\",\"type\":\"address\"}],\"name\":\"setVaultLib\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"cancelMigration(address,bool)\":{\"params\":{\"_bypassPrevReleaseFailure\":\"True if should override a failure in the previous release while canceling migration\",\"_vaultProxy\":\"The VaultProxy for which to cancel migration\"}},\"cancelReconfiguration(address)\":{\"params\":{\"_vaultProxy\":\"The VaultProxy contract for which to cancel the reconfiguration request\"}},\"createMigrationRequest(address,address,uint256,bytes,bytes,bool)\":{\"params\":{\"_bypassPrevReleaseFailure\":\"True if should override a failure in the previous release while signaling migration\",\"_denominationAsset\":\"The contract address of the denomination asset for the fund\",\"_feeManagerConfigData\":\"Bytes data for the fees to be enabled for the fund\",\"_policyManagerConfigData\":\"Bytes data for the policies to be enabled for the fund\",\"_sharesActionTimelock\":\"The minimum number of seconds between any two \\\"shares actions\\\" (buying or selling shares) by the same user\",\"_vaultProxy\":\"The VaultProxy to migrate\"},\"returns\":{\"comptrollerProxy_\":\"The address of the ComptrollerProxy deployed during this action\"}},\"createNewFund(address,string,string,address,uint256,bytes,bytes)\":{\"params\":{\"_denominationAsset\":\"The contract address of the denomination asset for the fund\",\"_feeManagerConfigData\":\"Bytes data for the fees to be enabled for the fund\",\"_fundName\":\"The name of the fund's shares token\",\"_fundOwner\":\"The address of the owner for the fund\",\"_fundSymbol\":\"The symbol of the fund's shares token\",\"_policyManagerConfigData\":\"Bytes data for the policies to be enabled for the fund\",\"_sharesActionTimelock\":\"The minimum number of seconds between any two \\\"shares actions\\\" (buying or selling shares) by the same user\"},\"returns\":{\"comptrollerProxy_\":\"The address of the ComptrollerProxy deployed during this action\"}},\"createReconfigurationRequest(address,address,uint256,bytes,bytes)\":{\"params\":{\"_denominationAsset\":\"The contract address of the denomination asset for the fund\",\"_feeManagerConfigData\":\"Bytes data for the fees to be enabled for the fund\",\"_policyManagerConfigData\":\"Bytes data for the policies to be enabled for the fund\",\"_sharesActionTimelock\":\"The minimum number of seconds between any two \\\"shares actions\\\" (buying or selling shares) by the same user\",\"_vaultProxy\":\"The VaultProxy to reconfigure\"},\"returns\":{\"comptrollerProxy_\":\"The address of the ComptrollerProxy deployed during this action\"}},\"deregisterBuySharesOnBehalfCallers(address[])\":{\"params\":{\"_callers\":\"The callers to deregister\"}},\"deregisterVaultCalls(address[],bytes4[],bytes32[])\":{\"details\":\"ANY_VAULT_CALL is a wildcard that allows any payload\",\"params\":{\"_contracts\":\"The contracts of the calls to de-register\",\"_dataHashes\":\"The keccak call data hashes of the calls to de-register\",\"_selectors\":\"The selectors of the calls to de-register\"}},\"executeMigration(address,bool)\":{\"params\":{\"_bypassPrevReleaseFailure\":\"True if should override a failure in the previous release while executing migration\",\"_vaultProxy\":\"The VaultProxy for which to execute the migration\"}},\"executeReconfiguration(address)\":{\"details\":\"ProtocolFeeTracker.initializeForVault() does not need to be included in a reconfiguration, as it refers to the vault and not the new ComptrollerProxy\",\"params\":{\"_vaultProxy\":\"The VaultProxy contract for which to execute the reconfiguration request\"}},\"getComptrollerLib()\":{\"returns\":{\"comptrollerLib_\":\"The `comptrollerLib` variable value\"}},\"getCreator()\":{\"returns\":{\"creator_\":\"The `CREATOR` variable value\"}},\"getDispatcher()\":{\"returns\":{\"dispatcher_\":\"The `DISPATCHER` variable value\"}},\"getGasLimitsForDestructCall()\":{\"returns\":{\"deactivateFeeManagerGasLimit_\":\"The amount of gas to forward to deactivate the FeeManager\",\"payProtocolFeeGasLimit_\":\"The amount of gas to forward to pay the protocol fee\"}},\"getGasRelayPaymasterFactory()\":{\"returns\":{\"gasRelayPaymasterFactory_\":\"The `GAS_RELAY_PAYMASTER_FACTORY` variable value\"}},\"getGasRelayTrustedForwarder()\":{\"returns\":{\"trustedForwarder_\":\"The trusted forwarder\"}},\"getOwner()\":{\"details\":\"The owner is initially the contract's creator, for convenience in setting up configuration. Ownership is handed-off when the creator calls setReleaseLive().\",\"returns\":{\"owner_\":\"The contract owner address\"}},\"getProtocolFeeTracker()\":{\"returns\":{\"protocolFeeTracker_\":\"The `protocolFeeTracker` variable value\"}},\"getReconfigurationRequestForVaultProxy(address)\":{\"params\":{\"_vaultProxy\":\"The VaultProxy instance\"},\"returns\":{\"reconfigurationRequest_\":\"The pending ReconfigurationRequest\"}},\"getReconfigurationTimelock()\":{\"returns\":{\"reconfigurationTimelock_\":\"The timelock value (in seconds)\"}},\"getVaultLib()\":{\"returns\":{\"vaultLib_\":\"The `vaultLib` variable value\"}},\"hasReconfigurationRequest(address)\":{\"params\":{\"_vaultProxy\":\"The VaultProxy instance\"},\"returns\":{\"hasReconfigurationRequest_\":\"True if a ReconfigurationRequest exists\"}},\"invokeMigrationInCancelHook(address,address,address,address)\":{\"params\":{\"_nextComptrollerProxy\":\"The ComptrollerProxy created on this release\"}},\"invokeMigrationOutHook(uint8,address,address,address,address)\":{\"params\":{\"_vaultProxy\":\"The VaultProxy being migrated\"}},\"isAllowedBuySharesOnBehalfCaller(address)\":{\"params\":{\"_who\":\"The account to check\"},\"returns\":{\"isAllowed_\":\"True if the account is an allowed caller\"}},\"isAllowedVaultCall(address,bytes4,bytes32)\":{\"details\":\"A vault call is allowed if the _dataHash is specifically allowed, or if any _dataHash is allowed\",\"params\":{\"_contract\":\"The contract of the call to check\",\"_dataHash\":\"The keccak call data hash of the call to check\",\"_selector\":\"The selector of the call to check\"},\"returns\":{\"isAllowed_\":\"True if the call is allowed\"}},\"isRegisteredVaultCall(address,bytes4,bytes32)\":{\"params\":{\"_contract\":\"The contract of the call to check\",\"_dataHash\":\"The keccak call data hash of the call to check\",\"_selector\":\"The selector of the call to check\"},\"returns\":{\"isRegistered_\":\"True if the call is registered\"}},\"registerBuySharesOnBehalfCallers(address[])\":{\"details\":\"Validate that each registered caller only forwards requests to buy shares that originate from the same _buyer passed into buySharesOnBehalf(). This is critical to the integrity of VaultProxy.freelyTransferableShares.\",\"params\":{\"_callers\":\"The allowed callers\"}},\"registerVaultCalls(address[],bytes4[],bytes32[])\":{\"details\":\"ANY_VAULT_CALL is a wildcard that allows any payload\",\"params\":{\"_contracts\":\"The contracts of the calls to register\",\"_dataHashes\":\"The keccak call data hashes of the calls to register\",\"_selectors\":\"The selectors of the calls to register\"}},\"releaseIsLive()\":{\"returns\":{\"isLive_\":\"The `isLive` variable value\"}},\"setComptrollerLib(address)\":{\"params\":{\"_comptrollerLib\":\"The ComptrollerLib contract address\"}},\"setGasLimitsForDestructCall(uint32,uint32)\":{\"params\":{\"_nextDeactivateFeeManagerGasLimit\":\"The amount of gas to forward to deactivate the FeeManager\",\"_nextPayProtocolFeeGasLimit\":\"The amount of gas to forward to pay the protocol fee\"}},\"setProtocolFeeTracker(address)\":{\"params\":{\"_protocolFeeTracker\":\"The ProtocolFeeTracker contract address\"}},\"setReconfigurationTimelock(uint256)\":{\"params\":{\"_nextTimelock\":\"The number of seconds for the new timelock\"}},\"setReleaseLive()\":{\"details\":\"A live release allows funds to be created and migrated once this contract is set as the Dispatcher.currentFundDeployer\"},\"setVaultLib(address)\":{\"params\":{\"_vaultLib\":\"The VaultLib contract address\"}}},\"title\":\"FundDeployer Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"cancelMigration(address,bool)\":{\"notice\":\"Cancels fund migration\"},\"cancelReconfiguration(address)\":{\"notice\":\"Cancels a pending reconfiguration request\"},\"createMigrationRequest(address,address,uint256,bytes,bytes,bool)\":{\"notice\":\"Creates a fully-configured ComptrollerProxy instance for a VaultProxy and signals the migration process\"},\"createNewFund(address,string,string,address,uint256,bytes,bytes)\":{\"notice\":\"Creates a new fund\"},\"createReconfigurationRequest(address,address,uint256,bytes,bytes)\":{\"notice\":\"Creates a fully-configured ComptrollerProxy instance for a VaultProxy and signals the reconfiguration process\"},\"deregisterBuySharesOnBehalfCallers(address[])\":{\"notice\":\"Deregisters allowed callers of ComptrollerProxy.buySharesOnBehalf()\"},\"deregisterVaultCalls(address[],bytes4[],bytes32[])\":{\"notice\":\"De-registers allowed arbitrary contract calls that can be sent from the VaultProxy\"},\"executeMigration(address,bool)\":{\"notice\":\"Executes fund migration\"},\"executeReconfiguration(address)\":{\"notice\":\"Executes a pending reconfiguration request\"},\"getComptrollerLib()\":{\"notice\":\"Gets the `comptrollerLib` variable value\"},\"getCreator()\":{\"notice\":\"Gets the `CREATOR` variable value\"},\"getDispatcher()\":{\"notice\":\"Gets the `DISPATCHER` variable value\"},\"getGasLimitsForDestructCall()\":{\"notice\":\"Gets the amounts of gas to forward to each of the ComptrollerLib.destructActivated() external calls\"},\"getGasRelayPaymasterFactory()\":{\"notice\":\"Gets the `GAS_RELAY_PAYMASTER_FACTORY` variable\"},\"getGasRelayTrustedForwarder()\":{\"notice\":\"Gets the trusted forwarder for GSN relaying\"},\"getOwner()\":{\"notice\":\"Gets the current owner of the contract\"},\"getProtocolFeeTracker()\":{\"notice\":\"Gets the `protocolFeeTracker` variable value\"},\"getReconfigurationRequestForVaultProxy(address)\":{\"notice\":\"Gets the pending ReconfigurationRequest for a given VaultProxy\"},\"getReconfigurationTimelock()\":{\"notice\":\"Gets the amount of time that must pass before executing a ReconfigurationRequest\"},\"getVaultLib()\":{\"notice\":\"Gets the `vaultLib` variable value\"},\"hasReconfigurationRequest(address)\":{\"notice\":\"Checks whether a ReconfigurationRequest exists for a given VaultProxy\"},\"invokeMigrationInCancelHook(address,address,address,address)\":{\"notice\":\"Executes logic when a migration is canceled on the Dispatcher\"},\"invokeMigrationOutHook(uint8,address,address,address,address)\":{\"notice\":\"Allows \\\"hooking into\\\" specific moments in the migration pipeline to execute arbitrary logic during a migration out of this release\"},\"isAllowedBuySharesOnBehalfCaller(address)\":{\"notice\":\"Checks if an account is an allowed caller of ComptrollerProxy.buySharesOnBehalf()\"},\"isAllowedVaultCall(address,bytes4,bytes32)\":{\"notice\":\"Checks if a contract call is allowed\"},\"isRegisteredVaultCall(address,bytes4,bytes32)\":{\"notice\":\"Checks if a contract call is registered\"},\"registerBuySharesOnBehalfCallers(address[])\":{\"notice\":\"Registers allowed callers of ComptrollerProxy.buySharesOnBehalf()\"},\"registerVaultCalls(address[],bytes4[],bytes32[])\":{\"notice\":\"Registers allowed arbitrary contract calls that can be sent from the VaultProxy\"},\"releaseIsLive()\":{\"notice\":\"Gets the `isLive` variable value\"},\"setComptrollerLib(address)\":{\"notice\":\"Sets the ComptrollerLib\"},\"setGasLimitsForDestructCall(uint32,uint32)\":{\"notice\":\"Sets the amounts of gas to forward to each of the ComptrollerLib.destructActivated() external calls\"},\"setProtocolFeeTracker(address)\":{\"notice\":\"Sets the ProtocolFeeTracker\"},\"setReconfigurationTimelock(uint256)\":{\"notice\":\"Sets a new reconfiguration timelock\"},\"setReleaseLive()\":{\"notice\":\"Sets the release as live\"},\"setVaultLib(address)\":{\"notice\":\"Sets the VaultLib\"}},\"notice\":\"The top-level contract of the release. It primarily coordinates fund deployment and fund migration, but it is also deferred to for contract access control and for allowed calls that can be made with a fund's VaultProxy as the msg.sender.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/core/fund-deployer/FundDeployer.sol\":\"FundDeployer\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/dispatcher/IMigrationHookHandler.sol\":{\"keccak256\":\"0x4cec61ef58c1d2e7693ee954c3582b1a04ff836a569e216edb7526c7e56a5632\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://0acae6d91e3e20e6ebd46cbeff926967a2d64f3d8eb2e3cdff20366917a77879\",\"dweb:/ipfs/Qmd44oJngTNRnwXdDwtNd9o4UvTgxAmBGikz3QMPKf4NWy\"]},\"contracts/persistent/vault/interfaces/IExternalPositionVault.sol\":{\"keccak256\":\"0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d\",\"dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8\"]},\"contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol\":{\"keccak256\":\"0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb\",\"dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU\"]},\"contracts/persistent/vault/interfaces/IMigratableVault.sol\":{\"keccak256\":\"0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6\",\"dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs\"]},\"contracts/persistent/vault/interfaces/IVaultCore.sol\":{\"keccak256\":\"0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd\",\"dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr\"]},\"contracts/release/core/fund-deployer/FundDeployer.sol\":{\"keccak256\":\"0x8662d2630a08a8383fa72bd9d6d73138f6bc300c94c808f29bf6a18edeb9a71b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2351ac152b1c97dec9287c15da022f05bbf484e772e2bfdcf89186116dfeaf15\",\"dweb:/ipfs/Qmc5zs3yPzZeAf3iTe1hAavgbHAeeqYtqxNryRdjXL4tBJ\"]},\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/core/fund/comptroller/ComptrollerProxy.sol\":{\"keccak256\":\"0x2915bf85b7a39e3b31f00d87bf06fc11415c6e027e00f98681b122176b74c76f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://07a34cb3bd349426cbf016b21a3be2391c2a2aba1cd383965da2b5546253515b\",\"dweb:/ipfs/QmbQtHhPzFPQjw5JgLNQN2ZeVUrYQXKwAUaW5pwNMAcSQ3\"]},\"contracts/release/core/fund/comptroller/IComptroller.sol\":{\"keccak256\":\"0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97\",\"dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L\"]},\"contracts/release/core/fund/vault/IVault.sol\":{\"keccak256\":\"0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599\",\"dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG\"]},\"contracts/release/extensions/IExtension.sol\":{\"keccak256\":\"0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70\",\"dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t\"]},\"contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol\":{\"keccak256\":\"0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f\",\"dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol\":{\"keccak256\":\"0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0\",\"dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2\"]},\"contracts/release/infrastructure/protocol-fees/IProtocolFeeTracker.sol\":{\"keccak256\":\"0x232b347f83457439064add7369bfe1930c7cb56f15930bb87d640e909c15e447\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://24f9af5eebdd373b1d7a598c096eb6def31b2640d54416d7d5a7226e1cef17e6\",\"dweb:/ipfs/QmStq9ByGuSYdKwTmZf52L1X6sZVJUfXTnoVbnjLLiUcHG\"]},\"contracts/release/interfaces/IGsnForwarder.sol\":{\"keccak256\":\"0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29\",\"dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G\"]},\"contracts/release/interfaces/IGsnPaymaster.sol\":{\"keccak256\":\"0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4\",\"dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF\"]},\"contracts/release/interfaces/IGsnTypes.sol\":{\"keccak256\":\"0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7\",\"dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C\"]},\"contracts/release/utils/NonUpgradableProxy.sol\":{\"keccak256\":\"0x7d70145a2a0ff8c36318b23ac6ca662f133584dd823933230c66143b89e2d53d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b05ea625a428fdf3f908db3e97a358a4117d4998abde806ba3839c7fad821bca\",\"dweb:/ipfs/QmSLzFT1ktLTZ7rAKYjcg6dBRuxVMzrGXjGJSsH5nSVx2G\"]},\"contracts/release/utils/beacon-proxy/IBeacon.sol\":{\"keccak256\":\"0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39\",\"dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V\"]},\"contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol\":{\"keccak256\":\"0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be\",\"dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_dispatcher", "type": "address" }, { "internalType": "address", "name": "_gasRelayPaymasterFactory", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "caller", "type": "address", "indexed": false } ], "type": "event", "name": "BuySharesOnBehalfCallerDeregistered", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "caller", "type": "address", "indexed": false } ], "type": "event", "name": "BuySharesOnBehalfCallerRegistered", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "comptrollerLib", "type": "address", "indexed": false } ], "type": "event", "name": "ComptrollerLibSet", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "creator", "type": "address", "indexed": true }, { "internalType": "address", "name": "comptrollerProxy", "type": "address", "indexed": false }, { "internalType": "address", "name": "denominationAsset", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "sharesActionTimelock", "type": "uint256", "indexed": false } ], "type": "event", "name": "ComptrollerProxyDeployed", "anonymous": false }, { "inputs": [ { "internalType": "uint256", "name": "nextDeactivateFeeManagerGasLimit", "type": "uint256", "indexed": false }, { "internalType": "uint256", "name": "nextPayProtocolFeeGasLimit", "type": "uint256", "indexed": false } ], "type": "event", "name": "GasLimitsForDestructCallSet", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "creator", "type": "address", "indexed": true }, { "internalType": "address", "name": "vaultProxy", "type": "address", "indexed": true }, { "internalType": "address", "name": "comptrollerProxy", "type": "address", "indexed": false } ], "type": "event", "name": "MigrationRequestCreated", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "creator", "type": "address", "indexed": true }, { "internalType": "address", "name": "vaultProxy", "type": "address", "indexed": false }, { "internalType": "address", "name": "comptrollerProxy", "type": "address", "indexed": false } ], "type": "event", "name": "NewFundCreated", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "protocolFeeTracker", "type": "address", "indexed": false } ], "type": "event", "name": "ProtocolFeeTrackerSet", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "vaultProxy", "type": "address", "indexed": true }, { "internalType": "address", "name": "nextComptrollerProxy", "type": "address", "indexed": true } ], "type": "event", "name": "ReconfigurationRequestCancelled", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "creator", "type": "address", "indexed": true }, { "internalType": "address", "name": "vaultProxy", "type": "address", "indexed": true }, { "internalType": "address", "name": "comptrollerProxy", "type": "address", "indexed": false }, { "internalType": "uint256", "name": "executableTimestamp", "type": "uint256", "indexed": false } ], "type": "event", "name": "ReconfigurationRequestCreated", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "vaultProxy", "type": "address", "indexed": true }, { "internalType": "address", "name": "prevComptrollerProxy", "type": "address", "indexed": true }, { "internalType": "address", "name": "nextComptrollerProxy", "type": "address", "indexed": true } ], "type": "event", "name": "ReconfigurationRequestExecuted", "anonymous": false }, { "inputs": [ { "internalType": "uint256", "name": "nextTimelock", "type": "uint256", "indexed": false } ], "type": "event", "name": "ReconfigurationTimelockSet", "anonymous": false }, { "inputs": [], "type": "event", "name": "ReleaseIsLive", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "contractAddress", "type": "address", "indexed": true }, { "internalType": "bytes4", "name": "selector", "type": "bytes4", "indexed": false }, { "internalType": "bytes32", "name": "dataHash", "type": "bytes32", "indexed": false } ], "type": "event", "name": "VaultCallDeregistered", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "contractAddress", "type": "address", "indexed": true }, { "internalType": "bytes4", "name": "selector", "type": "bytes4", "indexed": false }, { "internalType": "bytes32", "name": "dataHash", "type": "bytes32", "indexed": false } ], "type": "event", "name": "VaultCallRegistered", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "vaultLib", "type": "address", "indexed": false } ], "type": "event", "name": "VaultLibSet", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "bool", "name": "_bypassPrevReleaseFailure", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function", "name": "cancelMigration" }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "cancelReconfiguration" }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "address", "name": "_denominationAsset", "type": "address" }, { "internalType": "uint256", "name": "_sharesActionTimelock", "type": "uint256" }, { "internalType": "bytes", "name": "_feeManagerConfigData", "type": "bytes" }, { "internalType": "bytes", "name": "_policyManagerConfigData", "type": "bytes" }, { "internalType": "bool", "name": "_bypassPrevReleaseFailure", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function", "name": "createMigrationRequest", "outputs": [ { "internalType": "address", "name": "comptrollerProxy_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_fundOwner", "type": "address" }, { "internalType": "string", "name": "_fundName", "type": "string" }, { "internalType": "string", "name": "_fundSymbol", "type": "string" }, { "internalType": "address", "name": "_denominationAsset", "type": "address" }, { "internalType": "uint256", "name": "_sharesActionTimelock", "type": "uint256" }, { "internalType": "bytes", "name": "_feeManagerConfigData", "type": "bytes" }, { "internalType": "bytes", "name": "_policyManagerConfigData", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "createNewFund", "outputs": [ { "internalType": "address", "name": "comptrollerProxy_", "type": "address" }, { "internalType": "address", "name": "vaultProxy_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "address", "name": "_denominationAsset", "type": "address" }, { "internalType": "uint256", "name": "_sharesActionTimelock", "type": "uint256" }, { "internalType": "bytes", "name": "_feeManagerConfigData", "type": "bytes" }, { "internalType": "bytes", "name": "_policyManagerConfigData", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "createReconfigurationRequest", "outputs": [ { "internalType": "address", "name": "comptrollerProxy_", "type": "address" } ] }, { "inputs": [ { "internalType": "address[]", "name": "_callers", "type": "address[]" } ], "stateMutability": "nonpayable", "type": "function", "name": "deregisterBuySharesOnBehalfCallers" }, { "inputs": [ { "internalType": "address[]", "name": "_contracts", "type": "address[]" }, { "internalType": "bytes4[]", "name": "_selectors", "type": "bytes4[]" }, { "internalType": "bytes32[]", "name": "_dataHashes", "type": "bytes32[]" } ], "stateMutability": "nonpayable", "type": "function", "name": "deregisterVaultCalls" }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "bool", "name": "_bypassPrevReleaseFailure", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function", "name": "executeMigration" }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "executeReconfiguration" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getComptrollerLib", "outputs": [ { "internalType": "address", "name": "comptrollerLib_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getCreator", "outputs": [ { "internalType": "address", "name": "creator_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getDispatcher", "outputs": [ { "internalType": "address", "name": "dispatcher_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getGasLimitsForDestructCall", "outputs": [ { "internalType": "uint256", "name": "deactivateFeeManagerGasLimit_", "type": "uint256" }, { "internalType": "uint256", "name": "payProtocolFeeGasLimit_", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getGasRelayPaymasterFactory", "outputs": [ { "internalType": "address", "name": "gasRelayPaymasterFactory_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getGasRelayTrustedForwarder", "outputs": [ { "internalType": "address", "name": "trustedForwarder_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getOwner", "outputs": [ { "internalType": "address", "name": "owner_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getProtocolFeeTracker", "outputs": [ { "internalType": "address", "name": "protocolFeeTracker_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getReconfigurationRequestForVaultProxy", "outputs": [ { "internalType": "struct FundDeployer.ReconfigurationRequest", "name": "reconfigurationRequest_", "type": "tuple", "components": [ { "internalType": "address", "name": "nextComptrollerProxy", "type": "address" }, { "internalType": "uint256", "name": "executableTimestamp", "type": "uint256" } ] } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getReconfigurationTimelock", "outputs": [ { "internalType": "uint256", "name": "reconfigurationTimelock_", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getVaultLib", "outputs": [ { "internalType": "address", "name": "vaultLib_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "hasReconfigurationRequest", "outputs": [ { "internalType": "bool", "name": "hasReconfigurationRequest_", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "address", "name": "", "type": "address" }, { "internalType": "address", "name": "_nextComptrollerProxy", "type": "address" }, { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "invokeMigrationInCancelHook" }, { "inputs": [ { "internalType": "enum IMigrationHookHandler.MigrationOutHook", "name": "_hook", "type": "uint8" }, { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "address", "name": "", "type": "address" }, { "internalType": "address", "name": "", "type": "address" }, { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "invokeMigrationOutHook" }, { "inputs": [ { "internalType": "address", "name": "_who", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "isAllowedBuySharesOnBehalfCaller", "outputs": [ { "internalType": "bool", "name": "isAllowed_", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "_contract", "type": "address" }, { "internalType": "bytes4", "name": "_selector", "type": "bytes4" }, { "internalType": "bytes32", "name": "_dataHash", "type": "bytes32" } ], "stateMutability": "view", "type": "function", "name": "isAllowedVaultCall", "outputs": [ { "internalType": "bool", "name": "isAllowed_", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "_contract", "type": "address" }, { "internalType": "bytes4", "name": "_selector", "type": "bytes4" }, { "internalType": "bytes32", "name": "_dataHash", "type": "bytes32" } ], "stateMutability": "view", "type": "function", "name": "isRegisteredVaultCall", "outputs": [ { "internalType": "bool", "name": "isRegistered_", "type": "bool" } ] }, { "inputs": [ { "internalType": "address[]", "name": "_callers", "type": "address[]" } ], "stateMutability": "nonpayable", "type": "function", "name": "registerBuySharesOnBehalfCallers" }, { "inputs": [ { "internalType": "address[]", "name": "_contracts", "type": "address[]" }, { "internalType": "bytes4[]", "name": "_selectors", "type": "bytes4[]" }, { "internalType": "bytes32[]", "name": "_dataHashes", "type": "bytes32[]" } ], "stateMutability": "nonpayable", "type": "function", "name": "registerVaultCalls" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "releaseIsLive", "outputs": [ { "internalType": "bool", "name": "isLive_", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "_comptrollerLib", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "setComptrollerLib" }, { "inputs": [ { "internalType": "uint32", "name": "_nextDeactivateFeeManagerGasLimit", "type": "uint32" }, { "internalType": "uint32", "name": "_nextPayProtocolFeeGasLimit", "type": "uint32" } ], "stateMutability": "nonpayable", "type": "function", "name": "setGasLimitsForDestructCall" }, { "inputs": [ { "internalType": "address", "name": "_protocolFeeTracker", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "setProtocolFeeTracker" }, { "inputs": [ { "internalType": "uint256", "name": "_nextTimelock", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "setReconfigurationTimelock" }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "setReleaseLive" }, { "inputs": [ { "internalType": "address", "name": "_vaultLib", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "setVaultLib" } ], "devdoc": { "kind": "dev", "methods": { "cancelMigration(address,bool)": { "params": { "_bypassPrevReleaseFailure": "True if should override a failure in the previous release while canceling migration", "_vaultProxy": "The VaultProxy for which to cancel migration" } }, "cancelReconfiguration(address)": { "params": { "_vaultProxy": "The VaultProxy contract for which to cancel the reconfiguration request" } }, "createMigrationRequest(address,address,uint256,bytes,bytes,bool)": { "params": { "_bypassPrevReleaseFailure": "True if should override a failure in the previous release while signaling migration", "_denominationAsset": "The contract address of the denomination asset for the fund", "_feeManagerConfigData": "Bytes data for the fees to be enabled for the fund", "_policyManagerConfigData": "Bytes data for the policies to be enabled for the fund", "_sharesActionTimelock": "The minimum number of seconds between any two \"shares actions\" (buying or selling shares) by the same user", "_vaultProxy": "The VaultProxy to migrate" }, "returns": { "comptrollerProxy_": "The address of the ComptrollerProxy deployed during this action" } }, "createNewFund(address,string,string,address,uint256,bytes,bytes)": { "params": { "_denominationAsset": "The contract address of the denomination asset for the fund", "_feeManagerConfigData": "Bytes data for the fees to be enabled for the fund", "_fundName": "The name of the fund's shares token", "_fundOwner": "The address of the owner for the fund", "_fundSymbol": "The symbol of the fund's shares token", "_policyManagerConfigData": "Bytes data for the policies to be enabled for the fund", "_sharesActionTimelock": "The minimum number of seconds between any two \"shares actions\" (buying or selling shares) by the same user" }, "returns": { "comptrollerProxy_": "The address of the ComptrollerProxy deployed during this action" } }, "createReconfigurationRequest(address,address,uint256,bytes,bytes)": { "params": { "_denominationAsset": "The contract address of the denomination asset for the fund", "_feeManagerConfigData": "Bytes data for the fees to be enabled for the fund", "_policyManagerConfigData": "Bytes data for the policies to be enabled for the fund", "_sharesActionTimelock": "The minimum number of seconds between any two \"shares actions\" (buying or selling shares) by the same user", "_vaultProxy": "The VaultProxy to reconfigure" }, "returns": { "comptrollerProxy_": "The address of the ComptrollerProxy deployed during this action" } }, "deregisterBuySharesOnBehalfCallers(address[])": { "params": { "_callers": "The callers to deregister" } }, "deregisterVaultCalls(address[],bytes4[],bytes32[])": { "details": "ANY_VAULT_CALL is a wildcard that allows any payload", "params": { "_contracts": "The contracts of the calls to de-register", "_dataHashes": "The keccak call data hashes of the calls to de-register", "_selectors": "The selectors of the calls to de-register" } }, "executeMigration(address,bool)": { "params": { "_bypassPrevReleaseFailure": "True if should override a failure in the previous release while executing migration", "_vaultProxy": "The VaultProxy for which to execute the migration" } }, "executeReconfiguration(address)": { "details": "ProtocolFeeTracker.initializeForVault() does not need to be included in a reconfiguration, as it refers to the vault and not the new ComptrollerProxy", "params": { "_vaultProxy": "The VaultProxy contract for which to execute the reconfiguration request" } }, "getComptrollerLib()": { "returns": { "comptrollerLib_": "The `comptrollerLib` variable value" } }, "getCreator()": { "returns": { "creator_": "The `CREATOR` variable value" } }, "getDispatcher()": { "returns": { "dispatcher_": "The `DISPATCHER` variable value" } }, "getGasLimitsForDestructCall()": { "returns": { "deactivateFeeManagerGasLimit_": "The amount of gas to forward to deactivate the FeeManager", "payProtocolFeeGasLimit_": "The amount of gas to forward to pay the protocol fee" } }, "getGasRelayPaymasterFactory()": { "returns": { "gasRelayPaymasterFactory_": "The `GAS_RELAY_PAYMASTER_FACTORY` variable value" } }, "getGasRelayTrustedForwarder()": { "returns": { "trustedForwarder_": "The trusted forwarder" } }, "getOwner()": { "details": "The owner is initially the contract's creator, for convenience in setting up configuration. Ownership is handed-off when the creator calls setReleaseLive().", "returns": { "owner_": "The contract owner address" } }, "getProtocolFeeTracker()": { "returns": { "protocolFeeTracker_": "The `protocolFeeTracker` variable value" } }, "getReconfigurationRequestForVaultProxy(address)": { "params": { "_vaultProxy": "The VaultProxy instance" }, "returns": { "reconfigurationRequest_": "The pending ReconfigurationRequest" } }, "getReconfigurationTimelock()": { "returns": { "reconfigurationTimelock_": "The timelock value (in seconds)" } }, "getVaultLib()": { "returns": { "vaultLib_": "The `vaultLib` variable value" } }, "hasReconfigurationRequest(address)": { "params": { "_vaultProxy": "The VaultProxy instance" }, "returns": { "hasReconfigurationRequest_": "True if a ReconfigurationRequest exists" } }, "invokeMigrationInCancelHook(address,address,address,address)": { "params": { "_nextComptrollerProxy": "The ComptrollerProxy created on this release" } }, "invokeMigrationOutHook(uint8,address,address,address,address)": { "params": { "_vaultProxy": "The VaultProxy being migrated" } }, "isAllowedBuySharesOnBehalfCaller(address)": { "params": { "_who": "The account to check" }, "returns": { "isAllowed_": "True if the account is an allowed caller" } }, "isAllowedVaultCall(address,bytes4,bytes32)": { "details": "A vault call is allowed if the _dataHash is specifically allowed, or if any _dataHash is allowed", "params": { "_contract": "The contract of the call to check", "_dataHash": "The keccak call data hash of the call to check", "_selector": "The selector of the call to check" }, "returns": { "isAllowed_": "True if the call is allowed" } }, "isRegisteredVaultCall(address,bytes4,bytes32)": { "params": { "_contract": "The contract of the call to check", "_dataHash": "The keccak call data hash of the call to check", "_selector": "The selector of the call to check" }, "returns": { "isRegistered_": "True if the call is registered" } }, "registerBuySharesOnBehalfCallers(address[])": { "details": "Validate that each registered caller only forwards requests to buy shares that originate from the same _buyer passed into buySharesOnBehalf(). This is critical to the integrity of VaultProxy.freelyTransferableShares.", "params": { "_callers": "The allowed callers" } }, "registerVaultCalls(address[],bytes4[],bytes32[])": { "details": "ANY_VAULT_CALL is a wildcard that allows any payload", "params": { "_contracts": "The contracts of the calls to register", "_dataHashes": "The keccak call data hashes of the calls to register", "_selectors": "The selectors of the calls to register" } }, "releaseIsLive()": { "returns": { "isLive_": "The `isLive` variable value" } }, "setComptrollerLib(address)": { "params": { "_comptrollerLib": "The ComptrollerLib contract address" } }, "setGasLimitsForDestructCall(uint32,uint32)": { "params": { "_nextDeactivateFeeManagerGasLimit": "The amount of gas to forward to deactivate the FeeManager", "_nextPayProtocolFeeGasLimit": "The amount of gas to forward to pay the protocol fee" } }, "setProtocolFeeTracker(address)": { "params": { "_protocolFeeTracker": "The ProtocolFeeTracker contract address" } }, "setReconfigurationTimelock(uint256)": { "params": { "_nextTimelock": "The number of seconds for the new timelock" } }, "setReleaseLive()": { "details": "A live release allows funds to be created and migrated once this contract is set as the Dispatcher.currentFundDeployer" }, "setVaultLib(address)": { "params": { "_vaultLib": "The VaultLib contract address" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "cancelMigration(address,bool)": { "notice": "Cancels fund migration" }, "cancelReconfiguration(address)": { "notice": "Cancels a pending reconfiguration request" }, "createMigrationRequest(address,address,uint256,bytes,bytes,bool)": { "notice": "Creates a fully-configured ComptrollerProxy instance for a VaultProxy and signals the migration process" }, "createNewFund(address,string,string,address,uint256,bytes,bytes)": { "notice": "Creates a new fund" }, "createReconfigurationRequest(address,address,uint256,bytes,bytes)": { "notice": "Creates a fully-configured ComptrollerProxy instance for a VaultProxy and signals the reconfiguration process" }, "deregisterBuySharesOnBehalfCallers(address[])": { "notice": "Deregisters allowed callers of ComptrollerProxy.buySharesOnBehalf()" }, "deregisterVaultCalls(address[],bytes4[],bytes32[])": { "notice": "De-registers allowed arbitrary contract calls that can be sent from the VaultProxy" }, "executeMigration(address,bool)": { "notice": "Executes fund migration" }, "executeReconfiguration(address)": { "notice": "Executes a pending reconfiguration request" }, "getComptrollerLib()": { "notice": "Gets the `comptrollerLib` variable value" }, "getCreator()": { "notice": "Gets the `CREATOR` variable value" }, "getDispatcher()": { "notice": "Gets the `DISPATCHER` variable value" }, "getGasLimitsForDestructCall()": { "notice": "Gets the amounts of gas to forward to each of the ComptrollerLib.destructActivated() external calls" }, "getGasRelayPaymasterFactory()": { "notice": "Gets the `GAS_RELAY_PAYMASTER_FACTORY` variable" }, "getGasRelayTrustedForwarder()": { "notice": "Gets the trusted forwarder for GSN relaying" }, "getOwner()": { "notice": "Gets the current owner of the contract" }, "getProtocolFeeTracker()": { "notice": "Gets the `protocolFeeTracker` variable value" }, "getReconfigurationRequestForVaultProxy(address)": { "notice": "Gets the pending ReconfigurationRequest for a given VaultProxy" }, "getReconfigurationTimelock()": { "notice": "Gets the amount of time that must pass before executing a ReconfigurationRequest" }, "getVaultLib()": { "notice": "Gets the `vaultLib` variable value" }, "hasReconfigurationRequest(address)": { "notice": "Checks whether a ReconfigurationRequest exists for a given VaultProxy" }, "invokeMigrationInCancelHook(address,address,address,address)": { "notice": "Executes logic when a migration is canceled on the Dispatcher" }, "invokeMigrationOutHook(uint8,address,address,address,address)": { "notice": "Allows \"hooking into\" specific moments in the migration pipeline to execute arbitrary logic during a migration out of this release" }, "isAllowedBuySharesOnBehalfCaller(address)": { "notice": "Checks if an account is an allowed caller of ComptrollerProxy.buySharesOnBehalf()" }, "isAllowedVaultCall(address,bytes4,bytes32)": { "notice": "Checks if a contract call is allowed" }, "isRegisteredVaultCall(address,bytes4,bytes32)": { "notice": "Checks if a contract call is registered" }, "registerBuySharesOnBehalfCallers(address[])": { "notice": "Registers allowed callers of ComptrollerProxy.buySharesOnBehalf()" }, "registerVaultCalls(address[],bytes4[],bytes32[])": { "notice": "Registers allowed arbitrary contract calls that can be sent from the VaultProxy" }, "releaseIsLive()": { "notice": "Gets the `isLive` variable value" }, "setComptrollerLib(address)": { "notice": "Sets the ComptrollerLib" }, "setGasLimitsForDestructCall(uint32,uint32)": { "notice": "Sets the amounts of gas to forward to each of the ComptrollerLib.destructActivated() external calls" }, "setProtocolFeeTracker(address)": { "notice": "Sets the ProtocolFeeTracker" }, "setReconfigurationTimelock(uint256)": { "notice": "Sets a new reconfiguration timelock" }, "setReleaseLive()": { "notice": "Sets the release as live" }, "setVaultLib(address)": { "notice": "Sets the VaultLib" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/core/fund-deployer/FundDeployer.sol": "FundDeployer" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/dispatcher/IDispatcher.sol": { "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", "urls": [ "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" ], "license": "GPL-3.0" }, "contracts/persistent/dispatcher/IMigrationHookHandler.sol": { "keccak256": "0x4cec61ef58c1d2e7693ee954c3582b1a04ff836a569e216edb7526c7e56a5632", "urls": [ "bzz-raw://0acae6d91e3e20e6ebd46cbeff926967a2d64f3d8eb2e3cdff20366917a77879", "dweb:/ipfs/Qmd44oJngTNRnwXdDwtNd9o4UvTgxAmBGikz3QMPKf4NWy" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IExternalPositionVault.sol": { "keccak256": "0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6", "urls": [ "bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d", "dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol": { "keccak256": "0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0", "urls": [ "bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb", "dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IMigratableVault.sol": { "keccak256": "0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238", "urls": [ "bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6", "dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IVaultCore.sol": { "keccak256": "0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80", "urls": [ "bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd", "dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr" ], "license": "GPL-3.0" }, "contracts/release/core/fund-deployer/FundDeployer.sol": { "keccak256": "0x8662d2630a08a8383fa72bd9d6d73138f6bc300c94c808f29bf6a18edeb9a71b", "urls": [ "bzz-raw://2351ac152b1c97dec9287c15da022f05bbf484e772e2bfdcf89186116dfeaf15", "dweb:/ipfs/Qmc5zs3yPzZeAf3iTe1hAavgbHAeeqYtqxNryRdjXL4tBJ" ], "license": "GPL-3.0" }, "contracts/release/core/fund-deployer/IFundDeployer.sol": { "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", "urls": [ "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" ], "license": "GPL-3.0" }, "contracts/release/core/fund/comptroller/ComptrollerProxy.sol": { "keccak256": "0x2915bf85b7a39e3b31f00d87bf06fc11415c6e027e00f98681b122176b74c76f", "urls": [ "bzz-raw://07a34cb3bd349426cbf016b21a3be2391c2a2aba1cd383965da2b5546253515b", "dweb:/ipfs/QmbQtHhPzFPQjw5JgLNQN2ZeVUrYQXKwAUaW5pwNMAcSQ3" ], "license": "GPL-3.0" }, "contracts/release/core/fund/comptroller/IComptroller.sol": { "keccak256": "0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f", "urls": [ "bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97", "dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L" ], "license": "GPL-3.0" }, "contracts/release/core/fund/vault/IVault.sol": { "keccak256": "0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd", "urls": [ "bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599", "dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG" ], "license": "GPL-3.0" }, "contracts/release/extensions/IExtension.sol": { "keccak256": "0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b", "urls": [ "bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70", "dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol": { "keccak256": "0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609", "urls": [ "bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f", "dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol": { "keccak256": "0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01", "urls": [ "bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0", "dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/protocol-fees/IProtocolFeeTracker.sol": { "keccak256": "0x232b347f83457439064add7369bfe1930c7cb56f15930bb87d640e909c15e447", "urls": [ "bzz-raw://24f9af5eebdd373b1d7a598c096eb6def31b2640d54416d7d5a7226e1cef17e6", "dweb:/ipfs/QmStq9ByGuSYdKwTmZf52L1X6sZVJUfXTnoVbnjLLiUcHG" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IGsnForwarder.sol": { "keccak256": "0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030", "urls": [ "bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29", "dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IGsnPaymaster.sol": { "keccak256": "0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c", "urls": [ "bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4", "dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IGsnTypes.sol": { "keccak256": "0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714", "urls": [ "bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7", "dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C" ], "license": "GPL-3.0" }, "contracts/release/utils/NonUpgradableProxy.sol": { "keccak256": "0x7d70145a2a0ff8c36318b23ac6ca662f133584dd823933230c66143b89e2d53d", "urls": [ "bzz-raw://b05ea625a428fdf3f908db3e97a358a4117d4998abde806ba3839c7fad821bca", "dweb:/ipfs/QmSLzFT1ktLTZ7rAKYjcg6dBRuxVMzrGXjGJSsH5nSVx2G" ], "license": "GPL-3.0" }, "contracts/release/utils/beacon-proxy/IBeacon.sol": { "keccak256": "0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2", "urls": [ "bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39", "dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V" ], "license": "GPL-3.0" }, "contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol": { "keccak256": "0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc", "urls": [ "bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be", "dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 77 } diff --git a/eth_defi/abi/enzyme/FundDeployerOwnerMixin.json b/eth_defi/abi/enzyme/FundDeployerOwnerMixin.json index c1b77b9b..270567c8 100644 --- a/eth_defi/abi/enzyme/FundDeployerOwnerMixin.json +++ b/eth_defi/abi/enzyme/FundDeployerOwnerMixin.json @@ -1,184 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_fundDeployer", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "name": "getFundDeployer", - "outputs": [ - { - "internalType": "address", - "name": "fundDeployer_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "owner_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "getFundDeployer()": "97c0ac87", - "getOwner()": "893d20e8" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_fundDeployer\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"getFundDeployer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"fundDeployer_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"getFundDeployer()\":{\"returns\":{\"fundDeployer_\":\"The `FUND_DEPLOYER` variable value\"}},\"getOwner()\":{\"details\":\"Ownership is deferred to the owner of the FundDeployer contract\",\"returns\":{\"owner_\":\"The owner\"}}},\"title\":\"FundDeployerOwnerMixin Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getFundDeployer()\":{\"notice\":\"Gets the `FUND_DEPLOYER` variable\"},\"getOwner()\":{\"notice\":\"Gets the owner of this contract\"}},\"notice\":\"A mixin contract that defers ownership to the owner of FundDeployer\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/utils/FundDeployerOwnerMixin.sol\":\"FundDeployerOwnerMixin\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/utils/FundDeployerOwnerMixin.sol\":{\"keccak256\":\"0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927\",\"dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_fundDeployer", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getFundDeployer", - "outputs": [ - { - "internalType": "address", - "name": "fundDeployer_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "owner_", - "type": "address" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "getFundDeployer()": { - "returns": { - "fundDeployer_": "The `FUND_DEPLOYER` variable value" - } - }, - "getOwner()": { - "details": "Ownership is deferred to the owner of the FundDeployer contract", - "returns": { - "owner_": "The owner" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "getFundDeployer()": { - "notice": "Gets the `FUND_DEPLOYER` variable" - }, - "getOwner()": { - "notice": "Gets the owner of this contract" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/utils/FundDeployerOwnerMixin.sol": "FundDeployerOwnerMixin" - }, - "libraries": {} - }, - "sources": { - "contracts/release/core/fund-deployer/IFundDeployer.sol": { - "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", - "urls": [ - "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", - "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/FundDeployerOwnerMixin.sol": { - "keccak256": "0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934", - "urls": [ - "bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927", - "dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 358 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_fundDeployer", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "getFundDeployer", "inputs": [], "outputs": [ { "name": "fundDeployer_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getOwner", "inputs": [], "outputs": [ { "name": "owner_", "type": "address", "internalType": "address" } ], "stateMutability": "view" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "getFundDeployer()": "97c0ac87", "getOwner()": "893d20e8" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_fundDeployer\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"getFundDeployer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"fundDeployer_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"getFundDeployer()\":{\"returns\":{\"fundDeployer_\":\"The `FUND_DEPLOYER` variable value\"}},\"getOwner()\":{\"details\":\"Ownership is deferred to the owner of the FundDeployer contract\",\"returns\":{\"owner_\":\"The owner\"}}},\"title\":\"FundDeployerOwnerMixin Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getFundDeployer()\":{\"notice\":\"Gets the `FUND_DEPLOYER` variable\"},\"getOwner()\":{\"notice\":\"Gets the owner of this contract\"}},\"notice\":\"A mixin contract that defers ownership to the owner of FundDeployer\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/utils/FundDeployerOwnerMixin.sol\":\"FundDeployerOwnerMixin\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/utils/FundDeployerOwnerMixin.sol\":{\"keccak256\":\"0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927\",\"dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_fundDeployer", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getFundDeployer", "outputs": [ { "internalType": "address", "name": "fundDeployer_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getOwner", "outputs": [ { "internalType": "address", "name": "owner_", "type": "address" } ] } ], "devdoc": { "kind": "dev", "methods": { "getFundDeployer()": { "returns": { "fundDeployer_": "The `FUND_DEPLOYER` variable value" } }, "getOwner()": { "details": "Ownership is deferred to the owner of the FundDeployer contract", "returns": { "owner_": "The owner" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "getFundDeployer()": { "notice": "Gets the `FUND_DEPLOYER` variable" }, "getOwner()": { "notice": "Gets the owner of this contract" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/utils/FundDeployerOwnerMixin.sol": "FundDeployerOwnerMixin" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/core/fund-deployer/IFundDeployer.sol": { "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", "urls": [ "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" ], "license": "GPL-3.0" }, "contracts/release/utils/FundDeployerOwnerMixin.sol": { "keccak256": "0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934", "urls": [ "bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927", "dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 358 } diff --git a/eth_defi/abi/enzyme/FundValueCalculator.json b/eth_defi/abi/enzyme/FundValueCalculator.json index 852d5f77..69da2630 100644 --- a/eth_defi/abi/enzyme/FundValueCalculator.json +++ b/eth_defi/abi/enzyme/FundValueCalculator.json @@ -1,1366 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_feeManager", - "type": "address" - }, - { - "internalType": "address", - "name": "_protocolFeeTracker", - "type": "address" - }, - { - "internalType": "address", - "name": "_valueInterpreter", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - } - ], - "name": "calcGav", - "outputs": [ - { - "internalType": "address", - "name": "denominationAsset_", - "type": "address" - }, - { - "internalType": "uint256", - "name": "gav_", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_quoteAsset", - "type": "address" - } - ], - "name": "calcGavInAsset", - "outputs": [ - { - "internalType": "uint256", - "name": "gav_", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - } - ], - "name": "calcGrossShareValue", - "outputs": [ - { - "internalType": "address", - "name": "denominationAsset_", - "type": "address" - }, - { - "internalType": "uint256", - "name": "grossShareValue_", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_quoteAsset", - "type": "address" - } - ], - "name": "calcGrossShareValueInAsset", - "outputs": [ - { - "internalType": "uint256", - "name": "grossShareValue_", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - } - ], - "name": "calcNav", - "outputs": [ - { - "internalType": "address", - "name": "denominationAsset_", - "type": "address" - }, - { - "internalType": "uint256", - "name": "nav_", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_quoteAsset", - "type": "address" - } - ], - "name": "calcNavInAsset", - "outputs": [ - { - "internalType": "uint256", - "name": "nav_", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - } - ], - "name": "calcNetShareValue", - "outputs": [ - { - "internalType": "address", - "name": "denominationAsset_", - "type": "address" - }, - { - "internalType": "uint256", - "name": "netShareValue_", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_quoteAsset", - "type": "address" - } - ], - "name": "calcNetShareValueInAsset", - "outputs": [ - { - "internalType": "uint256", - "name": "netShareValue_", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_sharesHolder", - "type": "address" - } - ], - "name": "calcNetValueForSharesHolder", - "outputs": [ - { - "internalType": "address", - "name": "denominationAsset_", - "type": "address" - }, - { - "internalType": "uint256", - "name": "netValue_", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_sharesHolder", - "type": "address" - }, - { - "internalType": "address", - "name": "_quoteAsset", - "type": "address" - } - ], - "name": "calcNetValueForSharesHolderInAsset", - "outputs": [ - { - "internalType": "uint256", - "name": "netValue_", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - } - ], - "name": "calcProtocolFeeDueForFund", - "outputs": [ - { - "internalType": "uint256", - "name": "sharesDue_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getFeeManager", - "outputs": [ - { - "internalType": "address", - "name": "feeManager_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getProtocolFeeTracker", - "outputs": [ - { - "internalType": "address", - "name": "protocolFeeTracker_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getValueInterpreter", - "outputs": [ - { - "internalType": "address", - "name": "valueInterpreter_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x60e060405234801561001057600080fd5b50604051610f6d380380610f6d8339818101604052606081101561003357600080fd5b50805160208201516040909201516001600160601b0319606092831b811660805292821b831660a052901b1660c05260805160601c60a05160601c60c05160601c610ed661009760003980610b06525080610a31525080610bfd5250610ed66000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c806381dfa95b1161008c578063c65988ff11610066578063c65988ff146102a2578063eefcb1b3146102d0578063f2d63826146102fe578063faf6eeef14610306576100ea565b806381dfa95b14610246578063875fb4b314610274578063c35526631461027c576100ea565b80634807ccbd116100c85780634807ccbd1461019657806351ac29c7146101ce57806353d467f3146101fc578063749cc8f514610222576100ea565b8063037276c1146100ef578063140a9924146101385780633ba6b85114610170575b600080fd5b6101156004803603602081101561010557600080fd5b50356001600160a01b0316610334565b604080516001600160a01b03909316835260208301919091528051918290030190f35b61015e6004803603602081101561014e57600080fd5b50356001600160a01b0316610422565b60408051918252519081900360200190f35b6101156004803603602081101561018657600080fd5b50356001600160a01b0316610623565b61015e600480360360608110156101ac57600080fd5b506001600160a01b03813581169160208101358216916040909101351661082b565b61015e600480360360408110156101e457600080fd5b506001600160a01b03813581169160200135166108e5565b6101156004803603602081101561021257600080fd5b50356001600160a01b031661099d565b61022a610a2f565b604080516001600160a01b039092168252519081900360200190f35b6101156004803603604081101561025c57600080fd5b506001600160a01b0381358116916020013516610a53565b61022a610b04565b6101156004803603602081101561029257600080fd5b50356001600160a01b0316610b28565b61015e600480360360408110156102b857600080fd5b506001600160a01b0381358116916020013516610bdf565b61015e600480360360408110156102e657600080fd5b506001600160a01b0381358116916020013516610bed565b61022a610bfb565b61015e6004803603604081101561031c57600080fd5b506001600160a01b0381358116916020013516610c1f565b600080600061034284610c2d565b9050806001600160a01b031663e269c3d66040518163ffffffff1660e01b815260040160206040518083038186803b15801561037d57600080fd5b505afa158015610391573d6000803e3d6000fd5b505050506040513d60208110156103a757600080fd5b5051604080516356cff99f60e01b815290516001600160a01b038416916356cff99f9160048083019260209291908290030181600087803b1580156103eb57600080fd5b505af11580156103ff573d6000803e3d6000fd5b505050506040513d602081101561041557600080fd5b5051909350915050915091565b60008061042d610a2f565b6001600160a01b031663b69f3652846040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561047957600080fd5b505afa15801561048d573d6000803e3d6000fd5b505050506040513d60208110156104a357600080fd5b5051905042811015806104b4575080155b156104c357600091505061061e565b60006104cf4283610c9a565b90506000846001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561050c57600080fd5b505afa158015610520573d6000803e3d6000fd5b505050506040513d602081101561053657600080fd5b5051905060006105e26127106105dc6301e187e081876105d6610557610a2f565b6001600160a01b031663f8fc29618e6040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156105a357600080fd5b505afa1580156105b7573d6000803e3d6000fd5b505050506040513d60208110156105cd57600080fd5b50518990610cf7565b90610cf7565b90610d50565b905060006105f08383610c9a565b9050806106055760009550505050505061061e565b61061660026105dc83818688610cf7565b955050505050505b919050565b600080600061063184610c2d565b9050806001600160a01b03166339bf70d161064a610bfb565b604080516001600160e01b031960e085901b1681526001600160a01b0390921660048301526000602483018190526060604484015260648301819052905160a48084019382900301818387803b1580156106a357600080fd5b505af11580156106b7573d6000803e3d6000fd5b5050505060006106c685610422565b9050816001600160a01b031663e269c3d66040518163ffffffff1660e01b815260040160206040518083038186803b15801561070157600080fd5b505afa158015610715573d6000803e3d6000fd5b505050506040513d602081101561072b57600080fd5b5051604080516356cff99f60e01b815290519195506108229186916001600160a01b038616916356cff99f916004808201926020929091908290030181600087803b15801561077957600080fd5b505af115801561078d573d6000803e3d6000fd5b505050506040513d60208110156107a357600080fd5b5051604080516318160ddd60e01b8152905161081d9186916001600160a01b038c16916318160ddd916004808301926020929190829003018186803b1580156107eb57600080fd5b505afa1580156107ff573d6000803e3d6000fd5b505050506040513d602081101561081557600080fd5b505190610db7565b610e11565b92505050915091565b600080600061083a8686610a53565b91509150610846610b04565b6001600160a01b0316634c67e1068383876040518463ffffffff1660e01b815260040180846001600160a01b03168152602001838152602001826001600160a01b031681526020019350505050602060405180830381600087803b1580156108ad57600080fd5b505af11580156108c1573d6000803e3d6000fd5b505050506040513d60208110156108d757600080fd5b5051925050505b9392505050565b60008060006108f385610334565b915091506108ff610b04565b6001600160a01b0316634c67e1068383876040518463ffffffff1660e01b815260040180846001600160a01b03168152602001838152602001826001600160a01b031681526020019350505050602060405180830381600087803b15801561096657600080fd5b505af115801561097a573d6000803e3d6000fd5b505050506040513d602081101561099057600080fd5b5051925050505b92915050565b6000806000836001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156109db57600080fd5b505afa1580156109ef573d6000803e3d6000fd5b505050506040513d6020811015610a0557600080fd5b505190506000610a1485610623565b9094509050610822670de0b6b3a76400006105dc8484610cf7565b7f000000000000000000000000000000000000000000000000000000000000000090565b6000806000846001600160a01b03166370a08231856040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610aa557600080fd5b505afa158015610ab9573d6000803e3d6000fd5b505050506040513d6020811015610acf57600080fd5b505190506000610ade86610623565b9094509050610af9670de0b6b3a76400006105dc8484610cf7565b925050509250929050565b7f000000000000000000000000000000000000000000000000000000000000000090565b6000806000610b3684610c2d565b9050806001600160a01b031663e269c3d66040518163ffffffff1660e01b815260040160206040518083038186803b158015610b7157600080fd5b505afa158015610b85573d6000803e3d6000fd5b505050506040513d6020811015610b9b57600080fd5b50516040805163369c940f60e21b815290516001600160a01b0384169163da72503c9160048083019260209291908290030181600087803b1580156103eb57600080fd5b60008060006108f38561099d565b60008060006108f385610b28565b7f000000000000000000000000000000000000000000000000000000000000000090565b60008060006108f385610623565b6000816001600160a01b0316635a53e3486040518163ffffffff1660e01b815260040160206040518083038186803b158015610c6857600080fd5b505afa158015610c7c573d6000803e3d6000fd5b505050506040513d6020811015610c9257600080fd5b505192915050565b600082821115610cf1576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600082610d0657506000610997565b82820282848281610d1357fe5b04146108de5760405162461bcd60e51b8152600401808060200182810382526021815260200180610ea96021913960400191505060405180910390fd5b6000808211610da6576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b818381610daf57fe5b049392505050565b6000828201838110156108de576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600081610e8a57836001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015610e5157600080fd5b505afa158015610e65573d6000803e3d6000fd5b505050506040513d6020811015610e7b57600080fd5b505160ff16600a0a90506108de565b610ea0826105dc85670de0b6b3a7640000610cf7565b94935050505056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a164736f6c634300060c000a", - "sourceMap": "1046:12185:348:-:0;;;1698:267;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1698:267:348;;;;;;;;;;;-1:-1:-1;;;;;;1698:267:348;1834:25;;;;;;;1869:42;;;;;;;1921:37;;;;;1046:12185;;;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106100ea5760003560e01c806381dfa95b1161008c578063c65988ff11610066578063c65988ff146102a2578063eefcb1b3146102d0578063f2d63826146102fe578063faf6eeef14610306576100ea565b806381dfa95b14610246578063875fb4b314610274578063c35526631461027c576100ea565b80634807ccbd116100c85780634807ccbd1461019657806351ac29c7146101ce57806353d467f3146101fc578063749cc8f514610222576100ea565b8063037276c1146100ef578063140a9924146101385780633ba6b85114610170575b600080fd5b6101156004803603602081101561010557600080fd5b50356001600160a01b0316610334565b604080516001600160a01b03909316835260208301919091528051918290030190f35b61015e6004803603602081101561014e57600080fd5b50356001600160a01b0316610422565b60408051918252519081900360200190f35b6101156004803603602081101561018657600080fd5b50356001600160a01b0316610623565b61015e600480360360608110156101ac57600080fd5b506001600160a01b03813581169160208101358216916040909101351661082b565b61015e600480360360408110156101e457600080fd5b506001600160a01b03813581169160200135166108e5565b6101156004803603602081101561021257600080fd5b50356001600160a01b031661099d565b61022a610a2f565b604080516001600160a01b039092168252519081900360200190f35b6101156004803603604081101561025c57600080fd5b506001600160a01b0381358116916020013516610a53565b61022a610b04565b6101156004803603602081101561029257600080fd5b50356001600160a01b0316610b28565b61015e600480360360408110156102b857600080fd5b506001600160a01b0381358116916020013516610bdf565b61015e600480360360408110156102e657600080fd5b506001600160a01b0381358116916020013516610bed565b61022a610bfb565b61015e6004803603604081101561031c57600080fd5b506001600160a01b0381358116916020013516610c1f565b600080600061034284610c2d565b9050806001600160a01b031663e269c3d66040518163ffffffff1660e01b815260040160206040518083038186803b15801561037d57600080fd5b505afa158015610391573d6000803e3d6000fd5b505050506040513d60208110156103a757600080fd5b5051604080516356cff99f60e01b815290516001600160a01b038416916356cff99f9160048083019260209291908290030181600087803b1580156103eb57600080fd5b505af11580156103ff573d6000803e3d6000fd5b505050506040513d602081101561041557600080fd5b5051909350915050915091565b60008061042d610a2f565b6001600160a01b031663b69f3652846040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561047957600080fd5b505afa15801561048d573d6000803e3d6000fd5b505050506040513d60208110156104a357600080fd5b5051905042811015806104b4575080155b156104c357600091505061061e565b60006104cf4283610c9a565b90506000846001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561050c57600080fd5b505afa158015610520573d6000803e3d6000fd5b505050506040513d602081101561053657600080fd5b5051905060006105e26127106105dc6301e187e081876105d6610557610a2f565b6001600160a01b031663f8fc29618e6040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156105a357600080fd5b505afa1580156105b7573d6000803e3d6000fd5b505050506040513d60208110156105cd57600080fd5b50518990610cf7565b90610cf7565b90610d50565b905060006105f08383610c9a565b9050806106055760009550505050505061061e565b61061660026105dc83818688610cf7565b955050505050505b919050565b600080600061063184610c2d565b9050806001600160a01b03166339bf70d161064a610bfb565b604080516001600160e01b031960e085901b1681526001600160a01b0390921660048301526000602483018190526060604484015260648301819052905160a48084019382900301818387803b1580156106a357600080fd5b505af11580156106b7573d6000803e3d6000fd5b5050505060006106c685610422565b9050816001600160a01b031663e269c3d66040518163ffffffff1660e01b815260040160206040518083038186803b15801561070157600080fd5b505afa158015610715573d6000803e3d6000fd5b505050506040513d602081101561072b57600080fd5b5051604080516356cff99f60e01b815290519195506108229186916001600160a01b038616916356cff99f916004808201926020929091908290030181600087803b15801561077957600080fd5b505af115801561078d573d6000803e3d6000fd5b505050506040513d60208110156107a357600080fd5b5051604080516318160ddd60e01b8152905161081d9186916001600160a01b038c16916318160ddd916004808301926020929190829003018186803b1580156107eb57600080fd5b505afa1580156107ff573d6000803e3d6000fd5b505050506040513d602081101561081557600080fd5b505190610db7565b610e11565b92505050915091565b600080600061083a8686610a53565b91509150610846610b04565b6001600160a01b0316634c67e1068383876040518463ffffffff1660e01b815260040180846001600160a01b03168152602001838152602001826001600160a01b031681526020019350505050602060405180830381600087803b1580156108ad57600080fd5b505af11580156108c1573d6000803e3d6000fd5b505050506040513d60208110156108d757600080fd5b5051925050505b9392505050565b60008060006108f385610334565b915091506108ff610b04565b6001600160a01b0316634c67e1068383876040518463ffffffff1660e01b815260040180846001600160a01b03168152602001838152602001826001600160a01b031681526020019350505050602060405180830381600087803b15801561096657600080fd5b505af115801561097a573d6000803e3d6000fd5b505050506040513d602081101561099057600080fd5b5051925050505b92915050565b6000806000836001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156109db57600080fd5b505afa1580156109ef573d6000803e3d6000fd5b505050506040513d6020811015610a0557600080fd5b505190506000610a1485610623565b9094509050610822670de0b6b3a76400006105dc8484610cf7565b7f000000000000000000000000000000000000000000000000000000000000000090565b6000806000846001600160a01b03166370a08231856040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610aa557600080fd5b505afa158015610ab9573d6000803e3d6000fd5b505050506040513d6020811015610acf57600080fd5b505190506000610ade86610623565b9094509050610af9670de0b6b3a76400006105dc8484610cf7565b925050509250929050565b7f000000000000000000000000000000000000000000000000000000000000000090565b6000806000610b3684610c2d565b9050806001600160a01b031663e269c3d66040518163ffffffff1660e01b815260040160206040518083038186803b158015610b7157600080fd5b505afa158015610b85573d6000803e3d6000fd5b505050506040513d6020811015610b9b57600080fd5b50516040805163369c940f60e21b815290516001600160a01b0384169163da72503c9160048083019260209291908290030181600087803b1580156103eb57600080fd5b60008060006108f38561099d565b60008060006108f385610b28565b7f000000000000000000000000000000000000000000000000000000000000000090565b60008060006108f385610623565b6000816001600160a01b0316635a53e3486040518163ffffffff1660e01b815260040160206040518083038186803b158015610c6857600080fd5b505afa158015610c7c573d6000803e3d6000fd5b505050506040513d6020811015610c9257600080fd5b505192915050565b600082821115610cf1576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600082610d0657506000610997565b82820282848281610d1357fe5b04146108de5760405162461bcd60e51b8152600401808060200182810382526021815260200180610ea96021913960400191505060405180910390fd5b6000808211610da6576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b818381610daf57fe5b049392505050565b6000828201838110156108de576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600081610e8a57836001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015610e5157600080fd5b505afa158015610e65573d6000803e3d6000fd5b505050506040513d6020811015610e7b57600080fd5b505160ff16600a0a90506108de565b610ea0826105dc85670de0b6b3a7640000610cf7565b94935050505056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a164736f6c634300060c000a", - "sourceMap": "1046:12185:348:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6146:371;;;;;;;;;;;;;;;;-1:-1:-1;6146:371:348;-1:-1:-1;;;;;6146:371:348;;:::i;:::-;;;;-1:-1:-1;;;;;6146:371:348;;;;;;;;;;;;;;;;;;;;;10548:1114;;;;;;;;;;;;;;;;-1:-1:-1;10548:1114:348;-1:-1:-1;;;;;10548:1114:348;;:::i;:::-;;;;;;;;;;;;;;;;8459:826;;;;;;;;;;;;;;;;-1:-1:-1;8459:826:348;-1:-1:-1;;;;;8459:826:348;;:::i;5309:568::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;5309:568:348;;;;;;;;;;;;;;;;;;;:::i;2223:449::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;2223:449:348;;;;;;;;;;:::i;7726:431::-;;;;;;;;;;;;;;;;-1:-1:-1;7726:431:348;-1:-1:-1;;;;;7726:431:348;;:::i;12849:127::-;;;:::i;:::-;;;;-1:-1:-1;;;;;12849:127:348;;;;;;;;;;;;;;9630:597;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;9630:597:348;;;;;;;;;;:::i;13109:120::-;;;:::i;6825:407::-;;;;;;;;;;;;;;;;-1:-1:-1;6825:407:348;-1:-1:-1;;;;;6825:407:348;;:::i;3705:449::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;3705:449:348;;;;;;;;;;:::i;2967:507::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;2967:507:348;;;;;;;;;;:::i;12606:102::-;;;:::i;4443:501::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;4443:501:348;;;;;;;;;;:::i;6146:371::-;6233:26;6261:12;6289:39;6331:42;6361:11;6331:29;:42::i;:::-;6289:84;;6405:24;-1:-1:-1;;;;;6405:45:348;;:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6405:47:348;6466:34;;;-1:-1:-1;;;6466:34:348;;;;-1:-1:-1;;;;;6466:32:348;;;;;:34;;;;;6405:47;;6466:34;;;;;;;;:32;:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6466:34:348;6384:126;;-1:-1:-1;6466:34:348;-1:-1:-1;;6146:371:348;;;:::o;10548:1114::-;10649:18;10729:16;10767:23;:21;:23::i;:::-;-1:-1:-1;;;;;10748:63:348;;10825:11;10748:98;;;;;;;;;;;;;-1:-1:-1;;;;;10748:98:348;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10748:98:348;;-1:-1:-1;10872:15:348;10860:27;;;;:44;;-1:-1:-1;10891:13:348;;10860:44;10856:83;;;10927:1;10920:8;;;;;10856:83;10949:18;10970:29;:15;10990:8;10970:19;:29::i;:::-;10949:50;;11078:20;11107:11;-1:-1:-1;;;;;11101:30:348;;:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11101:32:348;;-1:-1:-1;11144:20:348;11167:194;1246:5;11167:168;1300:8;11167:168;11290:10;11167:105;11216:23;:21;:23::i;:::-;-1:-1:-1;;;;;11197:61:348;;11259:11;11197:74;;;;;;;;;;;;;-1:-1:-1;;;;;11197:74:348;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11197:74:348;11167:12;;:29;:105::i;:::-;:122;;:134::i;:::-;:151;;:168::i;:194::-;11144:217;-1:-1:-1;11372:29:348;11404:30;:12;11144:217;11404:16;:30::i;:::-;11372:62;-1:-1:-1;11448:26:348;11444:65;;11497:1;11490:8;;;;;;;;;11444:65;11538:117;1461:1;11538:57;11573:21;11538:57;:12;11555;11538:16;:30::i;:117::-;11519:136;;;;;;;10548:1114;;;;:::o;8459:826::-;8556:26;8584:22;8622:39;8664:42;8694:11;8664:29;:42::i;:::-;8622:84;;8751:24;-1:-1:-1;;;;;8751:40:348;;8792:15;:13;:15::i;:::-;8751:64;;;-1:-1:-1;;;;;;8751:64:348;;;;;;;-1:-1:-1;;;;;8751:64:348;;;;;;;8809:1;8751:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8809:1;8751:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8871:28;8902:38;8928:11;8902:25;:38::i;:::-;8871:69;;8972:24;-1:-1:-1;;;;;8972:45:348;;:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8972:47:348;9108:34;;;-1:-1:-1;;;9108:34:348;;;;8972:47;;-1:-1:-1;9046:178:348;;8972:47;;-1:-1:-1;;;;;9108:32:348;;;;;:34;;;;;8972:47;;9108:34;;;;;;;;;:32;:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9108:34:348;9156:32;;;-1:-1:-1;;;9156:32:348;;;;:58;;9193:20;;-1:-1:-1;;;;;9156:30:348;;;;;:32;;;;;9108:34;;9156:32;;;;;;;:30;:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9156:32:348;;:36;:58::i;:::-;9046:16;:178::i;:::-;9029:195;;9235:43;;8459:826;;;:::o;5309:568::-;5475:17;5518:25;5557:32;5602:55;5630:11;5643:13;5602:27;:55::i;:::-;5504:153;;;;5704:21;:19;:21::i;:::-;-1:-1:-1;;;;;5687:63:348;;5768:17;5803:24;5845:11;5687:183;;;;;;;;;;;;;-1:-1:-1;;;;;5687:183:348;;;;;;;;;;;-1:-1:-1;;;;;5687:183:348;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5687:183:348;;-1:-1:-1;;;5309:568:348;;;;;;:::o;2223:449::-;2340:12;2369:25;2396:32;2432:20;2440:11;2432:7;:20::i;:::-;2368:84;;;;2499:21;:19;:21::i;:::-;-1:-1:-1;;;;;2482:63:348;;2563:17;2598:24;2640:11;2482:183;;;;;;;;;;;;;-1:-1:-1;;;;;2482:183:348;;;;;;;;;;;-1:-1:-1;;;;;2482:183:348;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2482:183:348;;-1:-1:-1;;;2223:449:348;;;;;:::o;7726:431::-;7813:26;7841:12;7869:23;7901:11;-1:-1:-1;;;;;7895:30:348;;:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7895:32:348;;-1:-1:-1;7938:21:348;8007:30;8025:11;8007:17;:30::i;:::-;7969:68;;-1:-1:-1;7969:68:348;-1:-1:-1;8055:51:348;1540:6;8055:34;:15;7969:68;8055:19;:34::i;12849:127::-;12949:20;12849:127;:::o;9630:597::-;9760:26;9788:17;9910:27;9946:11;-1:-1:-1;;;;;9940:28:348;;9969:13;9940:43;;;;;;;;;;;;;-1:-1:-1;;;;;9940:43:348;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9940:43:348;;-1:-1:-1;9994:21:348;10063:30;10081:11;10063:17;:30::i;:::-;10025:68;;-1:-1:-1;10025:68:348;-1:-1:-1;10116:55:348;1540:6;10116:38;:19;10025:68;10116:23;:38::i;:55::-;10104:67;;10182:38;;9630:597;;;;;:::o;13109:120::-;13205:17;13109:120;:::o;6825:407::-;6924:26;6952:24;6992:39;7034:42;7064:11;7034:29;:42::i;:::-;6992:84;;7108:24;-1:-1:-1;;;;;7108:45:348;;:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7108:47:348;7169:46;;;-1:-1:-1;;;7169:46:348;;;;-1:-1:-1;;;;;7169:44:348;;;;;:46;;;;;7108:47;;7169:46;;;;;;;;:44;:46;;;;;;;;;;3705:449;3822:12;3851:25;3878:32;3914:20;3922:11;3914:7;:20::i;2967:507::-;3096:24;3137:25;3164:32;3200:54;3233:11;3200:19;:54::i;12606:102::-;12690:11;12606:102;:::o;4443:501::-;4570:22;4609:25;4636:32;4672:52;4703:11;4672:17;:52::i;12182:236::-;12288:40;12383:11;-1:-1:-1;;;;;12366:42:348;;:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12366:44:348;;12182:236;-1:-1:-1;;12182:236:348:o;3136:155:442:-;3194:7;3226:1;3221;:6;;3213:49;;;;;-1:-1:-1;;;3213:49:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3279:5:442;;;3136:155::o;3538:215::-;3596:7;3619:6;3615:20;;-1:-1:-1;3634:1:442;3627:8;;3615:20;3657:5;;;3661:1;3657;:5;:1;3680:5;;;;;:10;3672:56;;;;-1:-1:-1;;;3672:56:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4217:150;4275:7;4306:1;4302;:5;4294:44;;;;;-1:-1:-1;;;4294:44:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;4359:1;4355;:5;;;;;;;4217:150;-1:-1:-1;;;4217:150:442:o;2690:175::-;2748:7;2779:5;;;2802:6;;;;2794:46;;;;;-1:-1:-1;;;2794:46:442;;;;;;;;;;;;;;;;;;;;;;;;;;;11746:359:348;11897:19;11932:18;11928:105;;11991:18;-1:-1:-1;;;;;11985:34:348;;:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11985:36:348;11977:45;;11973:2;:49;;-1:-1:-1;11966:56:348;;11928:105;12050:48;12084:13;12050:29;:12;1540:6;12050:16;:29::i;:48::-;12043:55;11746:359;-1:-1:-1;;;;11746:359:348:o", - "linkReferences": {}, - "immutableReferences": { - "73802": [ - { - "start": 3069, - "length": 32 - } - ], - "73804": [ - { - "start": 2609, - "length": 32 - } - ], - "73806": [ - { - "start": 2822, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "calcGav(address)": "037276c1", - "calcGavInAsset(address,address)": "51ac29c7", - "calcGrossShareValue(address)": "c3552663", - "calcGrossShareValueInAsset(address,address)": "eefcb1b3", - "calcNav(address)": "53d467f3", - "calcNavInAsset(address,address)": "c65988ff", - "calcNetShareValue(address)": "3ba6b851", - "calcNetShareValueInAsset(address,address)": "faf6eeef", - "calcNetValueForSharesHolder(address,address)": "81dfa95b", - "calcNetValueForSharesHolderInAsset(address,address,address)": "4807ccbd", - "calcProtocolFeeDueForFund(address)": "140a9924", - "getFeeManager()": "f2d63826", - "getProtocolFeeTracker()": "749cc8f5", - "getValueInterpreter()": "875fb4b3" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_feeManager\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_protocolFeeTracker\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_valueInterpreter\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"}],\"name\":\"calcGav\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"denominationAsset_\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"gav_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_quoteAsset\",\"type\":\"address\"}],\"name\":\"calcGavInAsset\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"gav_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"}],\"name\":\"calcGrossShareValue\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"denominationAsset_\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"grossShareValue_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_quoteAsset\",\"type\":\"address\"}],\"name\":\"calcGrossShareValueInAsset\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"grossShareValue_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"}],\"name\":\"calcNav\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"denominationAsset_\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nav_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_quoteAsset\",\"type\":\"address\"}],\"name\":\"calcNavInAsset\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"nav_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"}],\"name\":\"calcNetShareValue\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"denominationAsset_\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"netShareValue_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_quoteAsset\",\"type\":\"address\"}],\"name\":\"calcNetShareValueInAsset\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"netShareValue_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_sharesHolder\",\"type\":\"address\"}],\"name\":\"calcNetValueForSharesHolder\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"denominationAsset_\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"netValue_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_sharesHolder\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_quoteAsset\",\"type\":\"address\"}],\"name\":\"calcNetValueForSharesHolderInAsset\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"netValue_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"}],\"name\":\"calcProtocolFeeDueForFund\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"sharesDue_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFeeManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"feeManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getProtocolFeeTracker\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"protocolFeeTracker_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getValueInterpreter\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"valueInterpreter_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"These are convenience functions intended for off-chain consumption, some of which involve potentially expensive state transitions.\",\"kind\":\"dev\",\"methods\":{\"calcGav(address)\":{\"params\":{\"_vaultProxy\":\"The VaultProxy of the fund\"},\"returns\":{\"denominationAsset_\":\"The denomination asset of the fund\",\"gav_\":\"The GAV quoted in the denomination asset\"}},\"calcGavInAsset(address,address)\":{\"params\":{\"_quoteAsset\":\"The quote asset\",\"_vaultProxy\":\"The VaultProxy of the fund\"},\"returns\":{\"gav_\":\"The GAV quoted in _quoteAsset\"}},\"calcGrossShareValue(address)\":{\"params\":{\"_vaultProxy\":\"The VaultProxy of the fund\"},\"returns\":{\"denominationAsset_\":\"The denomination asset of the fund\",\"grossShareValue_\":\"The gross share value quoted in the denomination asset\"}},\"calcGrossShareValueInAsset(address,address)\":{\"params\":{\"_quoteAsset\":\"The quote asset\",\"_vaultProxy\":\"The VaultProxy of the fund\"},\"returns\":{\"grossShareValue_\":\"The gross share value quoted in _quoteAsset\"}},\"calcNav(address)\":{\"details\":\"This value should only be consumed from off-chain, as the NAV is only valid for the shares quantity prior to the settlement of fees, and this function actually settles fund-level fees, so the NAV would no longer be valid\",\"params\":{\"_vaultProxy\":\"The VaultProxy of the fund\"},\"returns\":{\"denominationAsset_\":\"The denomination asset of the fund\",\"nav_\":\"The NAV quoted in the denomination asset\"}},\"calcNavInAsset(address,address)\":{\"params\":{\"_quoteAsset\":\"The quote asset\",\"_vaultProxy\":\"The VaultProxy of the fund\"},\"returns\":{\"nav_\":\"The NAV quoted in _quoteAsset\"}},\"calcNetShareValue(address)\":{\"params\":{\"_vaultProxy\":\"The VaultProxy of the fund\"},\"returns\":{\"denominationAsset_\":\"The denomination asset of the fund\",\"netShareValue_\":\"The net share value quoted in the denomination asset\"}},\"calcNetShareValueInAsset(address,address)\":{\"params\":{\"_quoteAsset\":\"The quote asset\",\"_vaultProxy\":\"The VaultProxy of the fund\"},\"returns\":{\"netShareValue_\":\"The net share value quoted in _quoteAsset\"}},\"calcNetValueForSharesHolder(address,address)\":{\"params\":{\"_sharesHolder\":\"The account holding shares\",\"_vaultProxy\":\"The VaultProxy of the fund\"},\"returns\":{\"denominationAsset_\":\"The denomination asset of the fund\",\"netValue_\":\"The net value of all shares held by _sharesHolder\"}},\"calcNetValueForSharesHolderInAsset(address,address,address)\":{\"params\":{\"_quoteAsset\":\"The quote asset\",\"_sharesHolder\":\"The account holding shares\",\"_vaultProxy\":\"The VaultProxy of the fund\"},\"returns\":{\"netValue_\":\"The net value of all shares held by _sharesHolder quoted in _quoteAsset\"}},\"calcProtocolFeeDueForFund(address)\":{\"details\":\"Mostly copy-paste from ProtocolFeeTracker.payFee() and its helpers. Includes the 50% buyback discount.\",\"params\":{\"_vaultProxy\":\"The VaultProxy of the fund\"},\"returns\":{\"sharesDue_\":\"The protocol fee shares due\"}},\"getFeeManager()\":{\"returns\":{\"feeManager_\":\"The `FEE_MANAGER` variable value\"}},\"getProtocolFeeTracker()\":{\"returns\":{\"protocolFeeTracker_\":\"The `PROTOCOL_FEE_TRACKER` variable value\"}},\"getValueInterpreter()\":{\"returns\":{\"valueInterpreter_\":\"The `VALUE_INTERPRETER` variable value\"}}},\"title\":\"FundValueCalculator Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"calcGav(address)\":{\"notice\":\"Calculates the GAV for a given fund\"},\"calcGavInAsset(address,address)\":{\"notice\":\"Calculates the GAV for a given fund, quoted in a given asset\"},\"calcGrossShareValue(address)\":{\"notice\":\"Calculates the gross value of one shares unit (10 ** 18) for a given fund\"},\"calcGrossShareValueInAsset(address,address)\":{\"notice\":\"Calculates the gross value of one shares unit (10 ** 18) for a given fund, quoted in a given asset\"},\"calcNav(address)\":{\"notice\":\"Calculates the NAV for a given fund\"},\"calcNavInAsset(address,address)\":{\"notice\":\"Calculates the NAV for a given fund, quoted in a given asset\"},\"calcNetShareValue(address)\":{\"notice\":\"Calculates the net value of one shares unit (10 ** 18) for a given fund\"},\"calcNetShareValueInAsset(address,address)\":{\"notice\":\"Calculates the net value of one shares unit (10 ** 18) for a given fund, quoted in a given asset\"},\"calcNetValueForSharesHolder(address,address)\":{\"notice\":\"Calculates the net value of all shares held by a specified account\"},\"calcNetValueForSharesHolderInAsset(address,address,address)\":{\"notice\":\"Calculates the net value of all shares held by a specified account, quoted in a given asset\"},\"calcProtocolFeeDueForFund(address)\":{\"notice\":\"Calculates the protocol fee shares currently due for a given fund\"},\"getFeeManager()\":{\"notice\":\"Gets the `FEE_MANAGER` variable\"},\"getProtocolFeeTracker()\":{\"notice\":\"Gets the `PROTOCOL_FEE_TRACKER` variable\"},\"getValueInterpreter()\":{\"notice\":\"Gets the `VALUE_INTERPRETER` variable\"}},\"notice\":\"A peripheral contract for serving fund value calculation requests from the FundValueCalculatorRouter\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/off-chain/FundValueCalculator.sol\":\"FundValueCalculator\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/persistent/off-chain/fund-value-calculator/IFundValueCalculator.sol\":{\"keccak256\":\"0x993e11b879d6ad85f5ecf5f8e1880989c010bdf03de2079b39f66a953844de2d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f61a09908b981589bc4d3657736276f463f1ea23f9811b8d174cd5de224b556d\",\"dweb:/ipfs/QmU6rYofnKmWSTBzshVMxFnVRtBKCECSpnGepDy6DddCbv\"]},\"contracts/persistent/protocol-fee-reserve/interfaces/IProtocolFeeReserve1.sol\":{\"keccak256\":\"0x2728878c423db523bc95189137e8c58d2d7db9f56bbd5c6b1f988c08b551fbab\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3b0df1d2eb74151265d03ab91a7c341f7beca475dd2f4d669052dbc4ee2c06ac\",\"dweb:/ipfs/QmVx1cgrxQNYfdK1Kn15pcgqf79Uw8bF3U6i7F2HG2rj6G\"]},\"contracts/persistent/vault/VaultLibBase1.sol\":{\"keccak256\":\"0xa4dac1e4cdb311a2ab187135355357d8790c505ef36dd912c057fe53743d30b5\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b66efe821016ab927c949263023260515e90f5d480dc8d94eefbfeec7bf7490b\",\"dweb:/ipfs/QmNY3xKnhL9EptAbxGvXHGAXfV9pj3dDPwsZnKrPs54ZHw\"]},\"contracts/persistent/vault/VaultLibBase2.sol\":{\"keccak256\":\"0xf7d31f2a9a47770ed3f444be2c4fe9262ddb55fef7f25e546b1f03c9afec4c09\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9353ddce7c9b8b3c13fed23fe8edec99ca610d791b0c5b204b3d01f1f08d07d2\",\"dweb:/ipfs/QmeVsEh3joCjv49BRXeHASevnZZ5xdZXpkctHT8BPf37N2\"]},\"contracts/persistent/vault/VaultLibBaseCore.sol\":{\"keccak256\":\"0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd\",\"dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz\"]},\"contracts/persistent/vault/interfaces/IExternalPositionVault.sol\":{\"keccak256\":\"0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d\",\"dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8\"]},\"contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol\":{\"keccak256\":\"0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb\",\"dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU\"]},\"contracts/persistent/vault/interfaces/IMigratableVault.sol\":{\"keccak256\":\"0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6\",\"dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs\"]},\"contracts/persistent/vault/interfaces/IVaultCore.sol\":{\"keccak256\":\"0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd\",\"dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr\"]},\"contracts/persistent/vault/utils/ProxiableVaultLib.sol\":{\"keccak256\":\"0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44\",\"dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4\"]},\"contracts/persistent/vault/utils/SharesTokenBase.sol\":{\"keccak256\":\"0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8\",\"dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4\"]},\"contracts/persistent/vault/utils/VaultLibSafeMath.sol\":{\"keccak256\":\"0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02\",\"dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG\"]},\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/core/fund/comptroller/ComptrollerLib.sol\":{\"keccak256\":\"0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579\",\"dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq\"]},\"contracts/release/core/fund/comptroller/IComptroller.sol\":{\"keccak256\":\"0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97\",\"dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L\"]},\"contracts/release/core/fund/vault/IVault.sol\":{\"keccak256\":\"0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599\",\"dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG\"]},\"contracts/release/core/fund/vault/VaultLib.sol\":{\"keccak256\":\"0x07e49445ab55c01e1b499a48baadc2a15d1eba621f1c6d3ccfdb84c87b976da8\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://56d882459248f73e137db2e097fc56b946147fb28ec21661b77431f88e856cb4\",\"dweb:/ipfs/QmRP6Ry7DCS5uoKxnnkTomHSzbaCze6cHqbR9aLdjoF6vK\"]},\"contracts/release/extensions/IExtension.sol\":{\"keccak256\":\"0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70\",\"dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t\"]},\"contracts/release/extensions/external-position-manager/IExternalPositionManager.sol\":{\"keccak256\":\"0x3af3f634e1f99fb97091b7825c0d2e2baaafc124d4e87d56cb0c17ff8554f6c6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://515470605afe5ef147f30fa75ce7818f0e00e3d321eb81a4d9bffcdefc294495\",\"dweb:/ipfs/QmPKsp99pfHoz9Tfo3ZxnkmqDqJtN9PxqacF2RmeVfxUJF\"]},\"contracts/release/extensions/fee-manager/FeeManager.sol\":{\"keccak256\":\"0xf3a3e504ca755cafda78f204d1e8005b6808854be0b5b19d17d9971ec49369a9\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3b82ffb3926983b4c60ddf8cd80b14d4ae548ea9b6f9ebf87f3fe70ffa5a89b9\",\"dweb:/ipfs/QmfJE4i4ZTDWhPwwKQSfjfWYQ62BsDs3FrxavjmLFe3HzB\"]},\"contracts/release/extensions/fee-manager/IFee.sol\":{\"keccak256\":\"0x38e3f324c67f3205e38197165586ea82ca226069902f34214bcde76cf905fcff\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c1fff656d1bdde3324421bc9e77cbfc4e80baf4e665f8713fdb65611b046f4b0\",\"dweb:/ipfs/QmVRFjNwmsVHdh4sp3DWdL74VWmhRhPZE5kDxJiuPL8Gu2\"]},\"contracts/release/extensions/fee-manager/IFeeManager.sol\":{\"keccak256\":\"0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22\",\"dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod\"]},\"contracts/release/extensions/policy-manager/IPolicyManager.sol\":{\"keccak256\":\"0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa\",\"dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb\"]},\"contracts/release/extensions/utils/ExtensionBase.sol\":{\"keccak256\":\"0xae68767766f6459bd2cd9dbd39df74f2c2f68f2150885bbce410e4091c807bb1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ce4c49522a39f618cc76feb474260fe910949f38e83b5f4518f1f245ba6eb876\",\"dweb:/ipfs/QmZ4wciRpziZAS4HRQy44Sgzm4GM4Wzme9zYnABzR6Cbzo\"]},\"contracts/release/extensions/utils/PermissionedVaultActionMixin.sol\":{\"keccak256\":\"0x77ddb9299d9c5f1538c20ae1543c20ef73db11ad7d9a9b817d26969ab233bb57\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://77812616256a092e0fd77469dcd2a2e098a1cf52686eeb6703a169efa64c27df\",\"dweb:/ipfs/QmbRPZznXSX3aA2VVJNpRqFXdJZebVDcDuY8EnF75Z7GpB\"]},\"contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol\":{\"keccak256\":\"0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f\",\"dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol\":{\"keccak256\":\"0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0\",\"dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol\":{\"keccak256\":\"0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b\",\"dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3\"]},\"contracts/release/infrastructure/price-feeds/derivatives/AggregatedDerivativePriceFeedMixin.sol\":{\"keccak256\":\"0x85d2ac39834dae7feb04f0e37317a38b8abeb0f950692fbc9d29078c52cd8d52\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://7bf8f1ce064d85a2812a944fc93068955b233924097f7f45898be3db826579d5\",\"dweb:/ipfs/Qme7f6AhxLVn32prM8fHaCvxtVi86A9KqFMqPA1s88kVYR\"]},\"contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol\":{\"keccak256\":\"0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e\",\"dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK\"]},\"contracts/release/infrastructure/price-feeds/primitives/ChainlinkPriceFeedMixin.sol\":{\"keccak256\":\"0x7fb0078e7387f07ff09958fe4e4e7b317e72c23884f61e8c133776cad522f8bb\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://e973f29ed0c3bf03e20154ab4b0cfc68c3a4372a52ec746f9d9f86697b30e977\",\"dweb:/ipfs/QmfMb7H1zNnj2hzmUr6742HmCTiNVuQ2PFjeR8q2M4Liyu\"]},\"contracts/release/infrastructure/protocol-fees/IProtocolFeeTracker.sol\":{\"keccak256\":\"0x232b347f83457439064add7369bfe1930c7cb56f15930bb87d640e909c15e447\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://24f9af5eebdd373b1d7a598c096eb6def31b2640d54416d7d5a7226e1cef17e6\",\"dweb:/ipfs/QmStq9ByGuSYdKwTmZf52L1X6sZVJUfXTnoVbnjLLiUcHG\"]},\"contracts/release/infrastructure/protocol-fees/ProtocolFeeTracker.sol\":{\"keccak256\":\"0x57be8ee480bab83f94de3c621463ae8762a1ba11c3fc91bf9d07ffb25fb35cbd\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f43ed4412fa2f3025d5418e27dd5f69ac3384c8b8cf00fedee6757f549b82b00\",\"dweb:/ipfs/QmZQYAgYqoQeZooE2gwoxBPiSncMktCyTPyaD3yqrRA2FA\"]},\"contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol\":{\"keccak256\":\"0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965\",\"dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ\"]},\"contracts/release/infrastructure/value-interpreter/ValueInterpreter.sol\":{\"keccak256\":\"0x64565011785d0d29a75021cda34687cfbc0641094d6f2faf4d9c78c8cd9f0d1d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://03ea9b29a332436d18ca1a4df7e5cdf231d5142dfb916a39cb3a721342d54e0e\",\"dweb:/ipfs/QmcB8Z7A7QELAxg2FfJpD26k2bUhMNUT4wACMVKxuge3QS\"]},\"contracts/release/interfaces/IChainlinkAggregator.sol\":{\"keccak256\":\"0x8104db68d4edc00c86b29b366f4397cdbe7bd95bb9dc90f54140af4bae963788\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://4664240be22fe76bd4e84d1cbaace3998dbc96759a14345819a889f0c288d22e\",\"dweb:/ipfs/QmQ8fbA4tvXeCeaAFeS2JrLEQUPFeYrePAKoUywRtcicgA\"]},\"contracts/release/interfaces/IGsnForwarder.sol\":{\"keccak256\":\"0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29\",\"dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G\"]},\"contracts/release/interfaces/IGsnPaymaster.sol\":{\"keccak256\":\"0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4\",\"dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF\"]},\"contracts/release/interfaces/IGsnTypes.sol\":{\"keccak256\":\"0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7\",\"dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C\"]},\"contracts/release/interfaces/IWETH.sol\":{\"keccak256\":\"0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2\",\"dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ\"]},\"contracts/release/off-chain/FundValueCalculator.sol\":{\"keccak256\":\"0x2cccb478eab330a2edb77c96657a77815d3aa250abf6b75caad63c59616a1125\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d77465a056475c24bc51bc179147190ac68e1d6edaade6073341ee1afb611a44\",\"dweb:/ipfs/QmPHitqNbYNo96qwukiEaepBgCPBQEZAJMSLmJCQJiGKgz\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/FundDeployerOwnerMixin.sol\":{\"keccak256\":\"0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927\",\"dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM\"]},\"contracts/release/utils/MathHelpers.sol\":{\"keccak256\":\"0x8aef498ae98bfb40cd1df8c9ed652b4c092fbbe62d5a1fad522c53654523248e\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ed62789f6a8d5ca30a40c591f244b915e4711493a9e4b1b4d40ea2bc97b02a95\",\"dweb:/ipfs/QmWyXJ55arURtx9VMkUQokdsjk8tbgM2cC8rENFUMyz5D3\"]},\"contracts/release/utils/beacon-proxy/IBeacon.sol\":{\"keccak256\":\"0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39\",\"dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V\"]},\"contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol\":{\"keccak256\":\"0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be\",\"dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20Burnable.sol\":{\"keccak256\":\"0x9c0eb3b0e11d2480d49991dc384f1e5f9c9b9967cc81944d50916a9b9c6c4984\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99e4033d778624992e86f0b6d801a4f6d7b5c0cd5c79c1296be90a051ad5f5af\",\"dweb:/ipfs/QmShYmkUqh6pDEeoWadZ24icmCr4C2Xys1uE5boivPmbwf\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_feeManager", - "type": "address" - }, - { - "internalType": "address", - "name": "_protocolFeeTracker", - "type": "address" - }, - { - "internalType": "address", - "name": "_valueInterpreter", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "calcGav", - "outputs": [ - { - "internalType": "address", - "name": "denominationAsset_", - "type": "address" - }, - { - "internalType": "uint256", - "name": "gav_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_quoteAsset", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "calcGavInAsset", - "outputs": [ - { - "internalType": "uint256", - "name": "gav_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "calcGrossShareValue", - "outputs": [ - { - "internalType": "address", - "name": "denominationAsset_", - "type": "address" - }, - { - "internalType": "uint256", - "name": "grossShareValue_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_quoteAsset", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "calcGrossShareValueInAsset", - "outputs": [ - { - "internalType": "uint256", - "name": "grossShareValue_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "calcNav", - "outputs": [ - { - "internalType": "address", - "name": "denominationAsset_", - "type": "address" - }, - { - "internalType": "uint256", - "name": "nav_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_quoteAsset", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "calcNavInAsset", - "outputs": [ - { - "internalType": "uint256", - "name": "nav_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "calcNetShareValue", - "outputs": [ - { - "internalType": "address", - "name": "denominationAsset_", - "type": "address" - }, - { - "internalType": "uint256", - "name": "netShareValue_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_quoteAsset", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "calcNetShareValueInAsset", - "outputs": [ - { - "internalType": "uint256", - "name": "netShareValue_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_sharesHolder", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "calcNetValueForSharesHolder", - "outputs": [ - { - "internalType": "address", - "name": "denominationAsset_", - "type": "address" - }, - { - "internalType": "uint256", - "name": "netValue_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_sharesHolder", - "type": "address" - }, - { - "internalType": "address", - "name": "_quoteAsset", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "calcNetValueForSharesHolderInAsset", - "outputs": [ - { - "internalType": "uint256", - "name": "netValue_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "calcProtocolFeeDueForFund", - "outputs": [ - { - "internalType": "uint256", - "name": "sharesDue_", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getFeeManager", - "outputs": [ - { - "internalType": "address", - "name": "feeManager_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getProtocolFeeTracker", - "outputs": [ - { - "internalType": "address", - "name": "protocolFeeTracker_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getValueInterpreter", - "outputs": [ - { - "internalType": "address", - "name": "valueInterpreter_", - "type": "address" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "calcGav(address)": { - "params": { - "_vaultProxy": "The VaultProxy of the fund" - }, - "returns": { - "denominationAsset_": "The denomination asset of the fund", - "gav_": "The GAV quoted in the denomination asset" - } - }, - "calcGavInAsset(address,address)": { - "params": { - "_quoteAsset": "The quote asset", - "_vaultProxy": "The VaultProxy of the fund" - }, - "returns": { - "gav_": "The GAV quoted in _quoteAsset" - } - }, - "calcGrossShareValue(address)": { - "params": { - "_vaultProxy": "The VaultProxy of the fund" - }, - "returns": { - "denominationAsset_": "The denomination asset of the fund", - "grossShareValue_": "The gross share value quoted in the denomination asset" - } - }, - "calcGrossShareValueInAsset(address,address)": { - "params": { - "_quoteAsset": "The quote asset", - "_vaultProxy": "The VaultProxy of the fund" - }, - "returns": { - "grossShareValue_": "The gross share value quoted in _quoteAsset" - } - }, - "calcNav(address)": { - "details": "This value should only be consumed from off-chain, as the NAV is only valid for the shares quantity prior to the settlement of fees, and this function actually settles fund-level fees, so the NAV would no longer be valid", - "params": { - "_vaultProxy": "The VaultProxy of the fund" - }, - "returns": { - "denominationAsset_": "The denomination asset of the fund", - "nav_": "The NAV quoted in the denomination asset" - } - }, - "calcNavInAsset(address,address)": { - "params": { - "_quoteAsset": "The quote asset", - "_vaultProxy": "The VaultProxy of the fund" - }, - "returns": { - "nav_": "The NAV quoted in _quoteAsset" - } - }, - "calcNetShareValue(address)": { - "params": { - "_vaultProxy": "The VaultProxy of the fund" - }, - "returns": { - "denominationAsset_": "The denomination asset of the fund", - "netShareValue_": "The net share value quoted in the denomination asset" - } - }, - "calcNetShareValueInAsset(address,address)": { - "params": { - "_quoteAsset": "The quote asset", - "_vaultProxy": "The VaultProxy of the fund" - }, - "returns": { - "netShareValue_": "The net share value quoted in _quoteAsset" - } - }, - "calcNetValueForSharesHolder(address,address)": { - "params": { - "_sharesHolder": "The account holding shares", - "_vaultProxy": "The VaultProxy of the fund" - }, - "returns": { - "denominationAsset_": "The denomination asset of the fund", - "netValue_": "The net value of all shares held by _sharesHolder" - } - }, - "calcNetValueForSharesHolderInAsset(address,address,address)": { - "params": { - "_quoteAsset": "The quote asset", - "_sharesHolder": "The account holding shares", - "_vaultProxy": "The VaultProxy of the fund" - }, - "returns": { - "netValue_": "The net value of all shares held by _sharesHolder quoted in _quoteAsset" - } - }, - "calcProtocolFeeDueForFund(address)": { - "details": "Mostly copy-paste from ProtocolFeeTracker.payFee() and its helpers. Includes the 50% buyback discount.", - "params": { - "_vaultProxy": "The VaultProxy of the fund" - }, - "returns": { - "sharesDue_": "The protocol fee shares due" - } - }, - "getFeeManager()": { - "returns": { - "feeManager_": "The `FEE_MANAGER` variable value" - } - }, - "getProtocolFeeTracker()": { - "returns": { - "protocolFeeTracker_": "The `PROTOCOL_FEE_TRACKER` variable value" - } - }, - "getValueInterpreter()": { - "returns": { - "valueInterpreter_": "The `VALUE_INTERPRETER` variable value" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "calcGav(address)": { - "notice": "Calculates the GAV for a given fund" - }, - "calcGavInAsset(address,address)": { - "notice": "Calculates the GAV for a given fund, quoted in a given asset" - }, - "calcGrossShareValue(address)": { - "notice": "Calculates the gross value of one shares unit (10 ** 18) for a given fund" - }, - "calcGrossShareValueInAsset(address,address)": { - "notice": "Calculates the gross value of one shares unit (10 ** 18) for a given fund, quoted in a given asset" - }, - "calcNav(address)": { - "notice": "Calculates the NAV for a given fund" - }, - "calcNavInAsset(address,address)": { - "notice": "Calculates the NAV for a given fund, quoted in a given asset" - }, - "calcNetShareValue(address)": { - "notice": "Calculates the net value of one shares unit (10 ** 18) for a given fund" - }, - "calcNetShareValueInAsset(address,address)": { - "notice": "Calculates the net value of one shares unit (10 ** 18) for a given fund, quoted in a given asset" - }, - "calcNetValueForSharesHolder(address,address)": { - "notice": "Calculates the net value of all shares held by a specified account" - }, - "calcNetValueForSharesHolderInAsset(address,address,address)": { - "notice": "Calculates the net value of all shares held by a specified account, quoted in a given asset" - }, - "calcProtocolFeeDueForFund(address)": { - "notice": "Calculates the protocol fee shares currently due for a given fund" - }, - "getFeeManager()": { - "notice": "Gets the `FEE_MANAGER` variable" - }, - "getProtocolFeeTracker()": { - "notice": "Gets the `PROTOCOL_FEE_TRACKER` variable" - }, - "getValueInterpreter()": { - "notice": "Gets the `VALUE_INTERPRETER` variable" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/off-chain/FundValueCalculator.sol": "FundValueCalculator" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/dispatcher/IDispatcher.sol": { - "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", - "urls": [ - "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", - "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/external-positions/IExternalPosition.sol": { - "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", - "urls": [ - "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", - "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/off-chain/fund-value-calculator/IFundValueCalculator.sol": { - "keccak256": "0x993e11b879d6ad85f5ecf5f8e1880989c010bdf03de2079b39f66a953844de2d", - "urls": [ - "bzz-raw://f61a09908b981589bc4d3657736276f463f1ea23f9811b8d174cd5de224b556d", - "dweb:/ipfs/QmU6rYofnKmWSTBzshVMxFnVRtBKCECSpnGepDy6DddCbv" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/protocol-fee-reserve/interfaces/IProtocolFeeReserve1.sol": { - "keccak256": "0x2728878c423db523bc95189137e8c58d2d7db9f56bbd5c6b1f988c08b551fbab", - "urls": [ - "bzz-raw://3b0df1d2eb74151265d03ab91a7c341f7beca475dd2f4d669052dbc4ee2c06ac", - "dweb:/ipfs/QmVx1cgrxQNYfdK1Kn15pcgqf79Uw8bF3U6i7F2HG2rj6G" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/VaultLibBase1.sol": { - "keccak256": "0xa4dac1e4cdb311a2ab187135355357d8790c505ef36dd912c057fe53743d30b5", - "urls": [ - "bzz-raw://b66efe821016ab927c949263023260515e90f5d480dc8d94eefbfeec7bf7490b", - "dweb:/ipfs/QmNY3xKnhL9EptAbxGvXHGAXfV9pj3dDPwsZnKrPs54ZHw" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/VaultLibBase2.sol": { - "keccak256": "0xf7d31f2a9a47770ed3f444be2c4fe9262ddb55fef7f25e546b1f03c9afec4c09", - "urls": [ - "bzz-raw://9353ddce7c9b8b3c13fed23fe8edec99ca610d791b0c5b204b3d01f1f08d07d2", - "dweb:/ipfs/QmeVsEh3joCjv49BRXeHASevnZZ5xdZXpkctHT8BPf37N2" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/VaultLibBaseCore.sol": { - "keccak256": "0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074", - "urls": [ - "bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd", - "dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IExternalPositionVault.sol": { - "keccak256": "0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6", - "urls": [ - "bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d", - "dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol": { - "keccak256": "0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0", - "urls": [ - "bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb", - "dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IMigratableVault.sol": { - "keccak256": "0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238", - "urls": [ - "bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6", - "dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IVaultCore.sol": { - "keccak256": "0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80", - "urls": [ - "bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd", - "dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/utils/ProxiableVaultLib.sol": { - "keccak256": "0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76", - "urls": [ - "bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44", - "dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/utils/SharesTokenBase.sol": { - "keccak256": "0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113", - "urls": [ - "bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8", - "dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/utils/VaultLibSafeMath.sol": { - "keccak256": "0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d", - "urls": [ - "bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02", - "dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund-deployer/IFundDeployer.sol": { - "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", - "urls": [ - "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", - "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/comptroller/ComptrollerLib.sol": { - "keccak256": "0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64", - "urls": [ - "bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579", - "dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/comptroller/IComptroller.sol": { - "keccak256": "0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f", - "urls": [ - "bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97", - "dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/vault/IVault.sol": { - "keccak256": "0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd", - "urls": [ - "bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599", - "dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/vault/VaultLib.sol": { - "keccak256": "0x07e49445ab55c01e1b499a48baadc2a15d1eba621f1c6d3ccfdb84c87b976da8", - "urls": [ - "bzz-raw://56d882459248f73e137db2e097fc56b946147fb28ec21661b77431f88e856cb4", - "dweb:/ipfs/QmRP6Ry7DCS5uoKxnnkTomHSzbaCze6cHqbR9aLdjoF6vK" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/IExtension.sol": { - "keccak256": "0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b", - "urls": [ - "bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70", - "dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/IExternalPositionManager.sol": { - "keccak256": "0x3af3f634e1f99fb97091b7825c0d2e2baaafc124d4e87d56cb0c17ff8554f6c6", - "urls": [ - "bzz-raw://515470605afe5ef147f30fa75ce7818f0e00e3d321eb81a4d9bffcdefc294495", - "dweb:/ipfs/QmPKsp99pfHoz9Tfo3ZxnkmqDqJtN9PxqacF2RmeVfxUJF" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/fee-manager/FeeManager.sol": { - "keccak256": "0xf3a3e504ca755cafda78f204d1e8005b6808854be0b5b19d17d9971ec49369a9", - "urls": [ - "bzz-raw://3b82ffb3926983b4c60ddf8cd80b14d4ae548ea9b6f9ebf87f3fe70ffa5a89b9", - "dweb:/ipfs/QmfJE4i4ZTDWhPwwKQSfjfWYQ62BsDs3FrxavjmLFe3HzB" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/fee-manager/IFee.sol": { - "keccak256": "0x38e3f324c67f3205e38197165586ea82ca226069902f34214bcde76cf905fcff", - "urls": [ - "bzz-raw://c1fff656d1bdde3324421bc9e77cbfc4e80baf4e665f8713fdb65611b046f4b0", - "dweb:/ipfs/QmVRFjNwmsVHdh4sp3DWdL74VWmhRhPZE5kDxJiuPL8Gu2" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/fee-manager/IFeeManager.sol": { - "keccak256": "0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51", - "urls": [ - "bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22", - "dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/policy-manager/IPolicyManager.sol": { - "keccak256": "0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32", - "urls": [ - "bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa", - "dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/utils/ExtensionBase.sol": { - "keccak256": "0xae68767766f6459bd2cd9dbd39df74f2c2f68f2150885bbce410e4091c807bb1", - "urls": [ - "bzz-raw://ce4c49522a39f618cc76feb474260fe910949f38e83b5f4518f1f245ba6eb876", - "dweb:/ipfs/QmZ4wciRpziZAS4HRQy44Sgzm4GM4Wzme9zYnABzR6Cbzo" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/utils/PermissionedVaultActionMixin.sol": { - "keccak256": "0x77ddb9299d9c5f1538c20ae1543c20ef73db11ad7d9a9b817d26969ab233bb57", - "urls": [ - "bzz-raw://77812616256a092e0fd77469dcd2a2e098a1cf52686eeb6703a169efa64c27df", - "dweb:/ipfs/QmbRPZznXSX3aA2VVJNpRqFXdJZebVDcDuY8EnF75Z7GpB" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol": { - "keccak256": "0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609", - "urls": [ - "bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f", - "dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol": { - "keccak256": "0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01", - "urls": [ - "bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0", - "dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol": { - "keccak256": "0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196", - "urls": [ - "bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b", - "dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/price-feeds/derivatives/AggregatedDerivativePriceFeedMixin.sol": { - "keccak256": "0x85d2ac39834dae7feb04f0e37317a38b8abeb0f950692fbc9d29078c52cd8d52", - "urls": [ - "bzz-raw://7bf8f1ce064d85a2812a944fc93068955b233924097f7f45898be3db826579d5", - "dweb:/ipfs/Qme7f6AhxLVn32prM8fHaCvxtVi86A9KqFMqPA1s88kVYR" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol": { - "keccak256": "0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332", - "urls": [ - "bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e", - "dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/price-feeds/primitives/ChainlinkPriceFeedMixin.sol": { - "keccak256": "0x7fb0078e7387f07ff09958fe4e4e7b317e72c23884f61e8c133776cad522f8bb", - "urls": [ - "bzz-raw://e973f29ed0c3bf03e20154ab4b0cfc68c3a4372a52ec746f9d9f86697b30e977", - "dweb:/ipfs/QmfMb7H1zNnj2hzmUr6742HmCTiNVuQ2PFjeR8q2M4Liyu" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/protocol-fees/IProtocolFeeTracker.sol": { - "keccak256": "0x232b347f83457439064add7369bfe1930c7cb56f15930bb87d640e909c15e447", - "urls": [ - "bzz-raw://24f9af5eebdd373b1d7a598c096eb6def31b2640d54416d7d5a7226e1cef17e6", - "dweb:/ipfs/QmStq9ByGuSYdKwTmZf52L1X6sZVJUfXTnoVbnjLLiUcHG" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/protocol-fees/ProtocolFeeTracker.sol": { - "keccak256": "0x57be8ee480bab83f94de3c621463ae8762a1ba11c3fc91bf9d07ffb25fb35cbd", - "urls": [ - "bzz-raw://f43ed4412fa2f3025d5418e27dd5f69ac3384c8b8cf00fedee6757f549b82b00", - "dweb:/ipfs/QmZQYAgYqoQeZooE2gwoxBPiSncMktCyTPyaD3yqrRA2FA" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol": { - "keccak256": "0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794", - "urls": [ - "bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965", - "dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/value-interpreter/ValueInterpreter.sol": { - "keccak256": "0x64565011785d0d29a75021cda34687cfbc0641094d6f2faf4d9c78c8cd9f0d1d", - "urls": [ - "bzz-raw://03ea9b29a332436d18ca1a4df7e5cdf231d5142dfb916a39cb3a721342d54e0e", - "dweb:/ipfs/QmcB8Z7A7QELAxg2FfJpD26k2bUhMNUT4wACMVKxuge3QS" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IChainlinkAggregator.sol": { - "keccak256": "0x8104db68d4edc00c86b29b366f4397cdbe7bd95bb9dc90f54140af4bae963788", - "urls": [ - "bzz-raw://4664240be22fe76bd4e84d1cbaace3998dbc96759a14345819a889f0c288d22e", - "dweb:/ipfs/QmQ8fbA4tvXeCeaAFeS2JrLEQUPFeYrePAKoUywRtcicgA" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IGsnForwarder.sol": { - "keccak256": "0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030", - "urls": [ - "bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29", - "dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IGsnPaymaster.sol": { - "keccak256": "0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c", - "urls": [ - "bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4", - "dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IGsnTypes.sol": { - "keccak256": "0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714", - "urls": [ - "bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7", - "dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IWETH.sol": { - "keccak256": "0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2", - "urls": [ - "bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2", - "dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ" - ], - "license": "GPL-3.0" - }, - "contracts/release/off-chain/FundValueCalculator.sol": { - "keccak256": "0x2cccb478eab330a2edb77c96657a77815d3aa250abf6b75caad63c59616a1125", - "urls": [ - "bzz-raw://d77465a056475c24bc51bc179147190ac68e1d6edaade6073341ee1afb611a44", - "dweb:/ipfs/QmPHitqNbYNo96qwukiEaepBgCPBQEZAJMSLmJCQJiGKgz" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AddressArrayLib.sol": { - "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", - "urls": [ - "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", - "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/FundDeployerOwnerMixin.sol": { - "keccak256": "0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934", - "urls": [ - "bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927", - "dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/MathHelpers.sol": { - "keccak256": "0x8aef498ae98bfb40cd1df8c9ed652b4c092fbbe62d5a1fad522c53654523248e", - "urls": [ - "bzz-raw://ed62789f6a8d5ca30a40c591f244b915e4711493a9e4b1b4d40ea2bc97b02a95", - "dweb:/ipfs/QmWyXJ55arURtx9VMkUQokdsjk8tbgM2cC8rENFUMyz5D3" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/beacon-proxy/IBeacon.sol": { - "keccak256": "0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2", - "urls": [ - "bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39", - "dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol": { - "keccak256": "0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc", - "urls": [ - "bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be", - "dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20Burnable.sol": { - "keccak256": "0x9c0eb3b0e11d2480d49991dc384f1e5f9c9b9967cc81944d50916a9b9c6c4984", - "urls": [ - "bzz-raw://99e4033d778624992e86f0b6d801a4f6d7b5c0cd5c79c1296be90a051ad5f5af", - "dweb:/ipfs/QmShYmkUqh6pDEeoWadZ24icmCr4C2Xys1uE5boivPmbwf" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { - "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", - "urls": [ - "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", - "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Address.sol": { - "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", - "urls": [ - "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", - "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 348 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_feeManager", "type": "address", "internalType": "address" }, { "name": "_protocolFeeTracker", "type": "address", "internalType": "address" }, { "name": "_valueInterpreter", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "calcGav", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "denominationAsset_", "type": "address", "internalType": "address" }, { "name": "gav_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "calcGavInAsset", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_quoteAsset", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "gav_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "calcGrossShareValue", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "denominationAsset_", "type": "address", "internalType": "address" }, { "name": "grossShareValue_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "calcGrossShareValueInAsset", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_quoteAsset", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "grossShareValue_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "calcNav", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "denominationAsset_", "type": "address", "internalType": "address" }, { "name": "nav_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "calcNavInAsset", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_quoteAsset", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "nav_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "calcNetShareValue", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "denominationAsset_", "type": "address", "internalType": "address" }, { "name": "netShareValue_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "calcNetShareValueInAsset", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_quoteAsset", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "netShareValue_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "calcNetValueForSharesHolder", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_sharesHolder", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "denominationAsset_", "type": "address", "internalType": "address" }, { "name": "netValue_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "calcNetValueForSharesHolderInAsset", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_sharesHolder", "type": "address", "internalType": "address" }, { "name": "_quoteAsset", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "netValue_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "calcProtocolFeeDueForFund", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "sharesDue_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "getFeeManager", "inputs": [], "outputs": [ { "name": "feeManager_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getProtocolFeeTracker", "inputs": [], "outputs": [ { "name": "protocolFeeTracker_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getValueInterpreter", "inputs": [], "outputs": [ { "name": "valueInterpreter_", "type": "address", "internalType": "address" } ], "stateMutability": "view" } ], "bytecode": { "object": "0x60e060405234801561001057600080fd5b50604051610f6d380380610f6d8339818101604052606081101561003357600080fd5b50805160208201516040909201516001600160601b0319606092831b811660805292821b831660a052901b1660c05260805160601c60a05160601c60c05160601c610ed661009760003980610b06525080610a31525080610bfd5250610ed66000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c806381dfa95b1161008c578063c65988ff11610066578063c65988ff146102a2578063eefcb1b3146102d0578063f2d63826146102fe578063faf6eeef14610306576100ea565b806381dfa95b14610246578063875fb4b314610274578063c35526631461027c576100ea565b80634807ccbd116100c85780634807ccbd1461019657806351ac29c7146101ce57806353d467f3146101fc578063749cc8f514610222576100ea565b8063037276c1146100ef578063140a9924146101385780633ba6b85114610170575b600080fd5b6101156004803603602081101561010557600080fd5b50356001600160a01b0316610334565b604080516001600160a01b03909316835260208301919091528051918290030190f35b61015e6004803603602081101561014e57600080fd5b50356001600160a01b0316610422565b60408051918252519081900360200190f35b6101156004803603602081101561018657600080fd5b50356001600160a01b0316610623565b61015e600480360360608110156101ac57600080fd5b506001600160a01b03813581169160208101358216916040909101351661082b565b61015e600480360360408110156101e457600080fd5b506001600160a01b03813581169160200135166108e5565b6101156004803603602081101561021257600080fd5b50356001600160a01b031661099d565b61022a610a2f565b604080516001600160a01b039092168252519081900360200190f35b6101156004803603604081101561025c57600080fd5b506001600160a01b0381358116916020013516610a53565b61022a610b04565b6101156004803603602081101561029257600080fd5b50356001600160a01b0316610b28565b61015e600480360360408110156102b857600080fd5b506001600160a01b0381358116916020013516610bdf565b61015e600480360360408110156102e657600080fd5b506001600160a01b0381358116916020013516610bed565b61022a610bfb565b61015e6004803603604081101561031c57600080fd5b506001600160a01b0381358116916020013516610c1f565b600080600061034284610c2d565b9050806001600160a01b031663e269c3d66040518163ffffffff1660e01b815260040160206040518083038186803b15801561037d57600080fd5b505afa158015610391573d6000803e3d6000fd5b505050506040513d60208110156103a757600080fd5b5051604080516356cff99f60e01b815290516001600160a01b038416916356cff99f9160048083019260209291908290030181600087803b1580156103eb57600080fd5b505af11580156103ff573d6000803e3d6000fd5b505050506040513d602081101561041557600080fd5b5051909350915050915091565b60008061042d610a2f565b6001600160a01b031663b69f3652846040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561047957600080fd5b505afa15801561048d573d6000803e3d6000fd5b505050506040513d60208110156104a357600080fd5b5051905042811015806104b4575080155b156104c357600091505061061e565b60006104cf4283610c9a565b90506000846001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561050c57600080fd5b505afa158015610520573d6000803e3d6000fd5b505050506040513d602081101561053657600080fd5b5051905060006105e26127106105dc6301e187e081876105d6610557610a2f565b6001600160a01b031663f8fc29618e6040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156105a357600080fd5b505afa1580156105b7573d6000803e3d6000fd5b505050506040513d60208110156105cd57600080fd5b50518990610cf7565b90610cf7565b90610d50565b905060006105f08383610c9a565b9050806106055760009550505050505061061e565b61061660026105dc83818688610cf7565b955050505050505b919050565b600080600061063184610c2d565b9050806001600160a01b03166339bf70d161064a610bfb565b604080516001600160e01b031960e085901b1681526001600160a01b0390921660048301526000602483018190526060604484015260648301819052905160a48084019382900301818387803b1580156106a357600080fd5b505af11580156106b7573d6000803e3d6000fd5b5050505060006106c685610422565b9050816001600160a01b031663e269c3d66040518163ffffffff1660e01b815260040160206040518083038186803b15801561070157600080fd5b505afa158015610715573d6000803e3d6000fd5b505050506040513d602081101561072b57600080fd5b5051604080516356cff99f60e01b815290519195506108229186916001600160a01b038616916356cff99f916004808201926020929091908290030181600087803b15801561077957600080fd5b505af115801561078d573d6000803e3d6000fd5b505050506040513d60208110156107a357600080fd5b5051604080516318160ddd60e01b8152905161081d9186916001600160a01b038c16916318160ddd916004808301926020929190829003018186803b1580156107eb57600080fd5b505afa1580156107ff573d6000803e3d6000fd5b505050506040513d602081101561081557600080fd5b505190610db7565b610e11565b92505050915091565b600080600061083a8686610a53565b91509150610846610b04565b6001600160a01b0316634c67e1068383876040518463ffffffff1660e01b815260040180846001600160a01b03168152602001838152602001826001600160a01b031681526020019350505050602060405180830381600087803b1580156108ad57600080fd5b505af11580156108c1573d6000803e3d6000fd5b505050506040513d60208110156108d757600080fd5b5051925050505b9392505050565b60008060006108f385610334565b915091506108ff610b04565b6001600160a01b0316634c67e1068383876040518463ffffffff1660e01b815260040180846001600160a01b03168152602001838152602001826001600160a01b031681526020019350505050602060405180830381600087803b15801561096657600080fd5b505af115801561097a573d6000803e3d6000fd5b505050506040513d602081101561099057600080fd5b5051925050505b92915050565b6000806000836001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156109db57600080fd5b505afa1580156109ef573d6000803e3d6000fd5b505050506040513d6020811015610a0557600080fd5b505190506000610a1485610623565b9094509050610822670de0b6b3a76400006105dc8484610cf7565b7f000000000000000000000000000000000000000000000000000000000000000090565b6000806000846001600160a01b03166370a08231856040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610aa557600080fd5b505afa158015610ab9573d6000803e3d6000fd5b505050506040513d6020811015610acf57600080fd5b505190506000610ade86610623565b9094509050610af9670de0b6b3a76400006105dc8484610cf7565b925050509250929050565b7f000000000000000000000000000000000000000000000000000000000000000090565b6000806000610b3684610c2d565b9050806001600160a01b031663e269c3d66040518163ffffffff1660e01b815260040160206040518083038186803b158015610b7157600080fd5b505afa158015610b85573d6000803e3d6000fd5b505050506040513d6020811015610b9b57600080fd5b50516040805163369c940f60e21b815290516001600160a01b0384169163da72503c9160048083019260209291908290030181600087803b1580156103eb57600080fd5b60008060006108f38561099d565b60008060006108f385610b28565b7f000000000000000000000000000000000000000000000000000000000000000090565b60008060006108f385610623565b6000816001600160a01b0316635a53e3486040518163ffffffff1660e01b815260040160206040518083038186803b158015610c6857600080fd5b505afa158015610c7c573d6000803e3d6000fd5b505050506040513d6020811015610c9257600080fd5b505192915050565b600082821115610cf1576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600082610d0657506000610997565b82820282848281610d1357fe5b04146108de5760405162461bcd60e51b8152600401808060200182810382526021815260200180610ea96021913960400191505060405180910390fd5b6000808211610da6576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b818381610daf57fe5b049392505050565b6000828201838110156108de576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600081610e8a57836001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015610e5157600080fd5b505afa158015610e65573d6000803e3d6000fd5b505050506040513d6020811015610e7b57600080fd5b505160ff16600a0a90506108de565b610ea0826105dc85670de0b6b3a7640000610cf7565b94935050505056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a164736f6c634300060c000a", "sourceMap": "1046:12185:348:-:0;;;1698:267;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1698:267:348;;;;;;;;;;;-1:-1:-1;;;;;;1698:267:348;1834:25;;;;;;;1869:42;;;;;;;1921:37;;;;;1046:12185;;;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106100ea5760003560e01c806381dfa95b1161008c578063c65988ff11610066578063c65988ff146102a2578063eefcb1b3146102d0578063f2d63826146102fe578063faf6eeef14610306576100ea565b806381dfa95b14610246578063875fb4b314610274578063c35526631461027c576100ea565b80634807ccbd116100c85780634807ccbd1461019657806351ac29c7146101ce57806353d467f3146101fc578063749cc8f514610222576100ea565b8063037276c1146100ef578063140a9924146101385780633ba6b85114610170575b600080fd5b6101156004803603602081101561010557600080fd5b50356001600160a01b0316610334565b604080516001600160a01b03909316835260208301919091528051918290030190f35b61015e6004803603602081101561014e57600080fd5b50356001600160a01b0316610422565b60408051918252519081900360200190f35b6101156004803603602081101561018657600080fd5b50356001600160a01b0316610623565b61015e600480360360608110156101ac57600080fd5b506001600160a01b03813581169160208101358216916040909101351661082b565b61015e600480360360408110156101e457600080fd5b506001600160a01b03813581169160200135166108e5565b6101156004803603602081101561021257600080fd5b50356001600160a01b031661099d565b61022a610a2f565b604080516001600160a01b039092168252519081900360200190f35b6101156004803603604081101561025c57600080fd5b506001600160a01b0381358116916020013516610a53565b61022a610b04565b6101156004803603602081101561029257600080fd5b50356001600160a01b0316610b28565b61015e600480360360408110156102b857600080fd5b506001600160a01b0381358116916020013516610bdf565b61015e600480360360408110156102e657600080fd5b506001600160a01b0381358116916020013516610bed565b61022a610bfb565b61015e6004803603604081101561031c57600080fd5b506001600160a01b0381358116916020013516610c1f565b600080600061034284610c2d565b9050806001600160a01b031663e269c3d66040518163ffffffff1660e01b815260040160206040518083038186803b15801561037d57600080fd5b505afa158015610391573d6000803e3d6000fd5b505050506040513d60208110156103a757600080fd5b5051604080516356cff99f60e01b815290516001600160a01b038416916356cff99f9160048083019260209291908290030181600087803b1580156103eb57600080fd5b505af11580156103ff573d6000803e3d6000fd5b505050506040513d602081101561041557600080fd5b5051909350915050915091565b60008061042d610a2f565b6001600160a01b031663b69f3652846040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561047957600080fd5b505afa15801561048d573d6000803e3d6000fd5b505050506040513d60208110156104a357600080fd5b5051905042811015806104b4575080155b156104c357600091505061061e565b60006104cf4283610c9a565b90506000846001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561050c57600080fd5b505afa158015610520573d6000803e3d6000fd5b505050506040513d602081101561053657600080fd5b5051905060006105e26127106105dc6301e187e081876105d6610557610a2f565b6001600160a01b031663f8fc29618e6040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156105a357600080fd5b505afa1580156105b7573d6000803e3d6000fd5b505050506040513d60208110156105cd57600080fd5b50518990610cf7565b90610cf7565b90610d50565b905060006105f08383610c9a565b9050806106055760009550505050505061061e565b61061660026105dc83818688610cf7565b955050505050505b919050565b600080600061063184610c2d565b9050806001600160a01b03166339bf70d161064a610bfb565b604080516001600160e01b031960e085901b1681526001600160a01b0390921660048301526000602483018190526060604484015260648301819052905160a48084019382900301818387803b1580156106a357600080fd5b505af11580156106b7573d6000803e3d6000fd5b5050505060006106c685610422565b9050816001600160a01b031663e269c3d66040518163ffffffff1660e01b815260040160206040518083038186803b15801561070157600080fd5b505afa158015610715573d6000803e3d6000fd5b505050506040513d602081101561072b57600080fd5b5051604080516356cff99f60e01b815290519195506108229186916001600160a01b038616916356cff99f916004808201926020929091908290030181600087803b15801561077957600080fd5b505af115801561078d573d6000803e3d6000fd5b505050506040513d60208110156107a357600080fd5b5051604080516318160ddd60e01b8152905161081d9186916001600160a01b038c16916318160ddd916004808301926020929190829003018186803b1580156107eb57600080fd5b505afa1580156107ff573d6000803e3d6000fd5b505050506040513d602081101561081557600080fd5b505190610db7565b610e11565b92505050915091565b600080600061083a8686610a53565b91509150610846610b04565b6001600160a01b0316634c67e1068383876040518463ffffffff1660e01b815260040180846001600160a01b03168152602001838152602001826001600160a01b031681526020019350505050602060405180830381600087803b1580156108ad57600080fd5b505af11580156108c1573d6000803e3d6000fd5b505050506040513d60208110156108d757600080fd5b5051925050505b9392505050565b60008060006108f385610334565b915091506108ff610b04565b6001600160a01b0316634c67e1068383876040518463ffffffff1660e01b815260040180846001600160a01b03168152602001838152602001826001600160a01b031681526020019350505050602060405180830381600087803b15801561096657600080fd5b505af115801561097a573d6000803e3d6000fd5b505050506040513d602081101561099057600080fd5b5051925050505b92915050565b6000806000836001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156109db57600080fd5b505afa1580156109ef573d6000803e3d6000fd5b505050506040513d6020811015610a0557600080fd5b505190506000610a1485610623565b9094509050610822670de0b6b3a76400006105dc8484610cf7565b7f000000000000000000000000000000000000000000000000000000000000000090565b6000806000846001600160a01b03166370a08231856040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610aa557600080fd5b505afa158015610ab9573d6000803e3d6000fd5b505050506040513d6020811015610acf57600080fd5b505190506000610ade86610623565b9094509050610af9670de0b6b3a76400006105dc8484610cf7565b925050509250929050565b7f000000000000000000000000000000000000000000000000000000000000000090565b6000806000610b3684610c2d565b9050806001600160a01b031663e269c3d66040518163ffffffff1660e01b815260040160206040518083038186803b158015610b7157600080fd5b505afa158015610b85573d6000803e3d6000fd5b505050506040513d6020811015610b9b57600080fd5b50516040805163369c940f60e21b815290516001600160a01b0384169163da72503c9160048083019260209291908290030181600087803b1580156103eb57600080fd5b60008060006108f38561099d565b60008060006108f385610b28565b7f000000000000000000000000000000000000000000000000000000000000000090565b60008060006108f385610623565b6000816001600160a01b0316635a53e3486040518163ffffffff1660e01b815260040160206040518083038186803b158015610c6857600080fd5b505afa158015610c7c573d6000803e3d6000fd5b505050506040513d6020811015610c9257600080fd5b505192915050565b600082821115610cf1576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600082610d0657506000610997565b82820282848281610d1357fe5b04146108de5760405162461bcd60e51b8152600401808060200182810382526021815260200180610ea96021913960400191505060405180910390fd5b6000808211610da6576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b818381610daf57fe5b049392505050565b6000828201838110156108de576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600081610e8a57836001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015610e5157600080fd5b505afa158015610e65573d6000803e3d6000fd5b505050506040513d6020811015610e7b57600080fd5b505160ff16600a0a90506108de565b610ea0826105dc85670de0b6b3a7640000610cf7565b94935050505056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a164736f6c634300060c000a", "sourceMap": "1046:12185:348:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6146:371;;;;;;;;;;;;;;;;-1:-1:-1;6146:371:348;-1:-1:-1;;;;;6146:371:348;;:::i;:::-;;;;-1:-1:-1;;;;;6146:371:348;;;;;;;;;;;;;;;;;;;;;10548:1114;;;;;;;;;;;;;;;;-1:-1:-1;10548:1114:348;-1:-1:-1;;;;;10548:1114:348;;:::i;:::-;;;;;;;;;;;;;;;;8459:826;;;;;;;;;;;;;;;;-1:-1:-1;8459:826:348;-1:-1:-1;;;;;8459:826:348;;:::i;5309:568::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;5309:568:348;;;;;;;;;;;;;;;;;;;:::i;2223:449::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;2223:449:348;;;;;;;;;;:::i;7726:431::-;;;;;;;;;;;;;;;;-1:-1:-1;7726:431:348;-1:-1:-1;;;;;7726:431:348;;:::i;12849:127::-;;;:::i;:::-;;;;-1:-1:-1;;;;;12849:127:348;;;;;;;;;;;;;;9630:597;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;9630:597:348;;;;;;;;;;:::i;13109:120::-;;;:::i;6825:407::-;;;;;;;;;;;;;;;;-1:-1:-1;6825:407:348;-1:-1:-1;;;;;6825:407:348;;:::i;3705:449::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;3705:449:348;;;;;;;;;;:::i;2967:507::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;2967:507:348;;;;;;;;;;:::i;12606:102::-;;;:::i;4443:501::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;4443:501:348;;;;;;;;;;:::i;6146:371::-;6233:26;6261:12;6289:39;6331:42;6361:11;6331:29;:42::i;:::-;6289:84;;6405:24;-1:-1:-1;;;;;6405:45:348;;:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6405:47:348;6466:34;;;-1:-1:-1;;;6466:34:348;;;;-1:-1:-1;;;;;6466:32:348;;;;;:34;;;;;6405:47;;6466:34;;;;;;;;:32;:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6466:34:348;6384:126;;-1:-1:-1;6466:34:348;-1:-1:-1;;6146:371:348;;;:::o;10548:1114::-;10649:18;10729:16;10767:23;:21;:23::i;:::-;-1:-1:-1;;;;;10748:63:348;;10825:11;10748:98;;;;;;;;;;;;;-1:-1:-1;;;;;10748:98:348;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10748:98:348;;-1:-1:-1;10872:15:348;10860:27;;;;:44;;-1:-1:-1;10891:13:348;;10860:44;10856:83;;;10927:1;10920:8;;;;;10856:83;10949:18;10970:29;:15;10990:8;10970:19;:29::i;:::-;10949:50;;11078:20;11107:11;-1:-1:-1;;;;;11101:30:348;;:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11101:32:348;;-1:-1:-1;11144:20:348;11167:194;1246:5;11167:168;1300:8;11167:168;11290:10;11167:105;11216:23;:21;:23::i;:::-;-1:-1:-1;;;;;11197:61:348;;11259:11;11197:74;;;;;;;;;;;;;-1:-1:-1;;;;;11197:74:348;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11197:74:348;11167:12;;:29;:105::i;:::-;:122;;:134::i;:::-;:151;;:168::i;:194::-;11144:217;-1:-1:-1;11372:29:348;11404:30;:12;11144:217;11404:16;:30::i;:::-;11372:62;-1:-1:-1;11448:26:348;11444:65;;11497:1;11490:8;;;;;;;;;11444:65;11538:117;1461:1;11538:57;11573:21;11538:57;:12;11555;11538:16;:30::i;:117::-;11519:136;;;;;;;10548:1114;;;;:::o;8459:826::-;8556:26;8584:22;8622:39;8664:42;8694:11;8664:29;:42::i;:::-;8622:84;;8751:24;-1:-1:-1;;;;;8751:40:348;;8792:15;:13;:15::i;:::-;8751:64;;;-1:-1:-1;;;;;;8751:64:348;;;;;;;-1:-1:-1;;;;;8751:64:348;;;;;;;8809:1;8751:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8809:1;8751:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8871:28;8902:38;8928:11;8902:25;:38::i;:::-;8871:69;;8972:24;-1:-1:-1;;;;;8972:45:348;;:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8972:47:348;9108:34;;;-1:-1:-1;;;9108:34:348;;;;8972:47;;-1:-1:-1;9046:178:348;;8972:47;;-1:-1:-1;;;;;9108:32:348;;;;;:34;;;;;8972:47;;9108:34;;;;;;;;;:32;:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9108:34:348;9156:32;;;-1:-1:-1;;;9156:32:348;;;;:58;;9193:20;;-1:-1:-1;;;;;9156:30:348;;;;;:32;;;;;9108:34;;9156:32;;;;;;;:30;:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9156:32:348;;:36;:58::i;:::-;9046:16;:178::i;:::-;9029:195;;9235:43;;8459:826;;;:::o;5309:568::-;5475:17;5518:25;5557:32;5602:55;5630:11;5643:13;5602:27;:55::i;:::-;5504:153;;;;5704:21;:19;:21::i;:::-;-1:-1:-1;;;;;5687:63:348;;5768:17;5803:24;5845:11;5687:183;;;;;;;;;;;;;-1:-1:-1;;;;;5687:183:348;;;;;;;;;;;-1:-1:-1;;;;;5687:183:348;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5687:183:348;;-1:-1:-1;;;5309:568:348;;;;;;:::o;2223:449::-;2340:12;2369:25;2396:32;2432:20;2440:11;2432:7;:20::i;:::-;2368:84;;;;2499:21;:19;:21::i;:::-;-1:-1:-1;;;;;2482:63:348;;2563:17;2598:24;2640:11;2482:183;;;;;;;;;;;;;-1:-1:-1;;;;;2482:183:348;;;;;;;;;;;-1:-1:-1;;;;;2482:183:348;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2482:183:348;;-1:-1:-1;;;2223:449:348;;;;;:::o;7726:431::-;7813:26;7841:12;7869:23;7901:11;-1:-1:-1;;;;;7895:30:348;;:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7895:32:348;;-1:-1:-1;7938:21:348;8007:30;8025:11;8007:17;:30::i;:::-;7969:68;;-1:-1:-1;7969:68:348;-1:-1:-1;8055:51:348;1540:6;8055:34;:15;7969:68;8055:19;:34::i;12849:127::-;12949:20;12849:127;:::o;9630:597::-;9760:26;9788:17;9910:27;9946:11;-1:-1:-1;;;;;9940:28:348;;9969:13;9940:43;;;;;;;;;;;;;-1:-1:-1;;;;;9940:43:348;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9940:43:348;;-1:-1:-1;9994:21:348;10063:30;10081:11;10063:17;:30::i;:::-;10025:68;;-1:-1:-1;10025:68:348;-1:-1:-1;10116:55:348;1540:6;10116:38;:19;10025:68;10116:23;:38::i;:55::-;10104:67;;10182:38;;9630:597;;;;;:::o;13109:120::-;13205:17;13109:120;:::o;6825:407::-;6924:26;6952:24;6992:39;7034:42;7064:11;7034:29;:42::i;:::-;6992:84;;7108:24;-1:-1:-1;;;;;7108:45:348;;:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7108:47:348;7169:46;;;-1:-1:-1;;;7169:46:348;;;;-1:-1:-1;;;;;7169:44:348;;;;;:46;;;;;7108:47;;7169:46;;;;;;;;:44;:46;;;;;;;;;;3705:449;3822:12;3851:25;3878:32;3914:20;3922:11;3914:7;:20::i;2967:507::-;3096:24;3137:25;3164:32;3200:54;3233:11;3200:19;:54::i;12606:102::-;12690:11;12606:102;:::o;4443:501::-;4570:22;4609:25;4636:32;4672:52;4703:11;4672:17;:52::i;12182:236::-;12288:40;12383:11;-1:-1:-1;;;;;12366:42:348;;:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12366:44:348;;12182:236;-1:-1:-1;;12182:236:348:o;3136:155:442:-;3194:7;3226:1;3221;:6;;3213:49;;;;;-1:-1:-1;;;3213:49:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3279:5:442;;;3136:155::o;3538:215::-;3596:7;3619:6;3615:20;;-1:-1:-1;3634:1:442;3627:8;;3615:20;3657:5;;;3661:1;3657;:5;:1;3680:5;;;;;:10;3672:56;;;;-1:-1:-1;;;3672:56:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4217:150;4275:7;4306:1;4302;:5;4294:44;;;;;-1:-1:-1;;;4294:44:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;4359:1;4355;:5;;;;;;;4217:150;-1:-1:-1;;;4217:150:442:o;2690:175::-;2748:7;2779:5;;;2802:6;;;;2794:46;;;;;-1:-1:-1;;;2794:46:442;;;;;;;;;;;;;;;;;;;;;;;;;;;11746:359:348;11897:19;11932:18;11928:105;;11991:18;-1:-1:-1;;;;;11985:34:348;;:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11985:36:348;11977:45;;11973:2;:49;;-1:-1:-1;11966:56:348;;11928:105;12050:48;12084:13;12050:29;:12;1540:6;12050:16;:29::i;:48::-;12043:55;11746:359;-1:-1:-1;;;;11746:359:348:o", "linkReferences": {}, "immutableReferences": { "73802": [ { "start": 3069, "length": 32 } ], "73804": [ { "start": 2609, "length": 32 } ], "73806": [ { "start": 2822, "length": 32 } ] } }, "methodIdentifiers": { "calcGav(address)": "037276c1", "calcGavInAsset(address,address)": "51ac29c7", "calcGrossShareValue(address)": "c3552663", "calcGrossShareValueInAsset(address,address)": "eefcb1b3", "calcNav(address)": "53d467f3", "calcNavInAsset(address,address)": "c65988ff", "calcNetShareValue(address)": "3ba6b851", "calcNetShareValueInAsset(address,address)": "faf6eeef", "calcNetValueForSharesHolder(address,address)": "81dfa95b", "calcNetValueForSharesHolderInAsset(address,address,address)": "4807ccbd", "calcProtocolFeeDueForFund(address)": "140a9924", "getFeeManager()": "f2d63826", "getProtocolFeeTracker()": "749cc8f5", "getValueInterpreter()": "875fb4b3" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_feeManager\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_protocolFeeTracker\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_valueInterpreter\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"}],\"name\":\"calcGav\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"denominationAsset_\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"gav_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_quoteAsset\",\"type\":\"address\"}],\"name\":\"calcGavInAsset\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"gav_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"}],\"name\":\"calcGrossShareValue\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"denominationAsset_\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"grossShareValue_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_quoteAsset\",\"type\":\"address\"}],\"name\":\"calcGrossShareValueInAsset\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"grossShareValue_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"}],\"name\":\"calcNav\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"denominationAsset_\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nav_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_quoteAsset\",\"type\":\"address\"}],\"name\":\"calcNavInAsset\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"nav_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"}],\"name\":\"calcNetShareValue\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"denominationAsset_\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"netShareValue_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_quoteAsset\",\"type\":\"address\"}],\"name\":\"calcNetShareValueInAsset\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"netShareValue_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_sharesHolder\",\"type\":\"address\"}],\"name\":\"calcNetValueForSharesHolder\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"denominationAsset_\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"netValue_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_sharesHolder\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_quoteAsset\",\"type\":\"address\"}],\"name\":\"calcNetValueForSharesHolderInAsset\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"netValue_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"}],\"name\":\"calcProtocolFeeDueForFund\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"sharesDue_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFeeManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"feeManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getProtocolFeeTracker\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"protocolFeeTracker_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getValueInterpreter\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"valueInterpreter_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"These are convenience functions intended for off-chain consumption, some of which involve potentially expensive state transitions.\",\"kind\":\"dev\",\"methods\":{\"calcGav(address)\":{\"params\":{\"_vaultProxy\":\"The VaultProxy of the fund\"},\"returns\":{\"denominationAsset_\":\"The denomination asset of the fund\",\"gav_\":\"The GAV quoted in the denomination asset\"}},\"calcGavInAsset(address,address)\":{\"params\":{\"_quoteAsset\":\"The quote asset\",\"_vaultProxy\":\"The VaultProxy of the fund\"},\"returns\":{\"gav_\":\"The GAV quoted in _quoteAsset\"}},\"calcGrossShareValue(address)\":{\"params\":{\"_vaultProxy\":\"The VaultProxy of the fund\"},\"returns\":{\"denominationAsset_\":\"The denomination asset of the fund\",\"grossShareValue_\":\"The gross share value quoted in the denomination asset\"}},\"calcGrossShareValueInAsset(address,address)\":{\"params\":{\"_quoteAsset\":\"The quote asset\",\"_vaultProxy\":\"The VaultProxy of the fund\"},\"returns\":{\"grossShareValue_\":\"The gross share value quoted in _quoteAsset\"}},\"calcNav(address)\":{\"details\":\"This value should only be consumed from off-chain, as the NAV is only valid for the shares quantity prior to the settlement of fees, and this function actually settles fund-level fees, so the NAV would no longer be valid\",\"params\":{\"_vaultProxy\":\"The VaultProxy of the fund\"},\"returns\":{\"denominationAsset_\":\"The denomination asset of the fund\",\"nav_\":\"The NAV quoted in the denomination asset\"}},\"calcNavInAsset(address,address)\":{\"params\":{\"_quoteAsset\":\"The quote asset\",\"_vaultProxy\":\"The VaultProxy of the fund\"},\"returns\":{\"nav_\":\"The NAV quoted in _quoteAsset\"}},\"calcNetShareValue(address)\":{\"params\":{\"_vaultProxy\":\"The VaultProxy of the fund\"},\"returns\":{\"denominationAsset_\":\"The denomination asset of the fund\",\"netShareValue_\":\"The net share value quoted in the denomination asset\"}},\"calcNetShareValueInAsset(address,address)\":{\"params\":{\"_quoteAsset\":\"The quote asset\",\"_vaultProxy\":\"The VaultProxy of the fund\"},\"returns\":{\"netShareValue_\":\"The net share value quoted in _quoteAsset\"}},\"calcNetValueForSharesHolder(address,address)\":{\"params\":{\"_sharesHolder\":\"The account holding shares\",\"_vaultProxy\":\"The VaultProxy of the fund\"},\"returns\":{\"denominationAsset_\":\"The denomination asset of the fund\",\"netValue_\":\"The net value of all shares held by _sharesHolder\"}},\"calcNetValueForSharesHolderInAsset(address,address,address)\":{\"params\":{\"_quoteAsset\":\"The quote asset\",\"_sharesHolder\":\"The account holding shares\",\"_vaultProxy\":\"The VaultProxy of the fund\"},\"returns\":{\"netValue_\":\"The net value of all shares held by _sharesHolder quoted in _quoteAsset\"}},\"calcProtocolFeeDueForFund(address)\":{\"details\":\"Mostly copy-paste from ProtocolFeeTracker.payFee() and its helpers. Includes the 50% buyback discount.\",\"params\":{\"_vaultProxy\":\"The VaultProxy of the fund\"},\"returns\":{\"sharesDue_\":\"The protocol fee shares due\"}},\"getFeeManager()\":{\"returns\":{\"feeManager_\":\"The `FEE_MANAGER` variable value\"}},\"getProtocolFeeTracker()\":{\"returns\":{\"protocolFeeTracker_\":\"The `PROTOCOL_FEE_TRACKER` variable value\"}},\"getValueInterpreter()\":{\"returns\":{\"valueInterpreter_\":\"The `VALUE_INTERPRETER` variable value\"}}},\"title\":\"FundValueCalculator Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"calcGav(address)\":{\"notice\":\"Calculates the GAV for a given fund\"},\"calcGavInAsset(address,address)\":{\"notice\":\"Calculates the GAV for a given fund, quoted in a given asset\"},\"calcGrossShareValue(address)\":{\"notice\":\"Calculates the gross value of one shares unit (10 ** 18) for a given fund\"},\"calcGrossShareValueInAsset(address,address)\":{\"notice\":\"Calculates the gross value of one shares unit (10 ** 18) for a given fund, quoted in a given asset\"},\"calcNav(address)\":{\"notice\":\"Calculates the NAV for a given fund\"},\"calcNavInAsset(address,address)\":{\"notice\":\"Calculates the NAV for a given fund, quoted in a given asset\"},\"calcNetShareValue(address)\":{\"notice\":\"Calculates the net value of one shares unit (10 ** 18) for a given fund\"},\"calcNetShareValueInAsset(address,address)\":{\"notice\":\"Calculates the net value of one shares unit (10 ** 18) for a given fund, quoted in a given asset\"},\"calcNetValueForSharesHolder(address,address)\":{\"notice\":\"Calculates the net value of all shares held by a specified account\"},\"calcNetValueForSharesHolderInAsset(address,address,address)\":{\"notice\":\"Calculates the net value of all shares held by a specified account, quoted in a given asset\"},\"calcProtocolFeeDueForFund(address)\":{\"notice\":\"Calculates the protocol fee shares currently due for a given fund\"},\"getFeeManager()\":{\"notice\":\"Gets the `FEE_MANAGER` variable\"},\"getProtocolFeeTracker()\":{\"notice\":\"Gets the `PROTOCOL_FEE_TRACKER` variable\"},\"getValueInterpreter()\":{\"notice\":\"Gets the `VALUE_INTERPRETER` variable\"}},\"notice\":\"A peripheral contract for serving fund value calculation requests from the FundValueCalculatorRouter\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/off-chain/FundValueCalculator.sol\":\"FundValueCalculator\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/persistent/off-chain/fund-value-calculator/IFundValueCalculator.sol\":{\"keccak256\":\"0x993e11b879d6ad85f5ecf5f8e1880989c010bdf03de2079b39f66a953844de2d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f61a09908b981589bc4d3657736276f463f1ea23f9811b8d174cd5de224b556d\",\"dweb:/ipfs/QmU6rYofnKmWSTBzshVMxFnVRtBKCECSpnGepDy6DddCbv\"]},\"contracts/persistent/protocol-fee-reserve/interfaces/IProtocolFeeReserve1.sol\":{\"keccak256\":\"0x2728878c423db523bc95189137e8c58d2d7db9f56bbd5c6b1f988c08b551fbab\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3b0df1d2eb74151265d03ab91a7c341f7beca475dd2f4d669052dbc4ee2c06ac\",\"dweb:/ipfs/QmVx1cgrxQNYfdK1Kn15pcgqf79Uw8bF3U6i7F2HG2rj6G\"]},\"contracts/persistent/vault/VaultLibBase1.sol\":{\"keccak256\":\"0xa4dac1e4cdb311a2ab187135355357d8790c505ef36dd912c057fe53743d30b5\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b66efe821016ab927c949263023260515e90f5d480dc8d94eefbfeec7bf7490b\",\"dweb:/ipfs/QmNY3xKnhL9EptAbxGvXHGAXfV9pj3dDPwsZnKrPs54ZHw\"]},\"contracts/persistent/vault/VaultLibBase2.sol\":{\"keccak256\":\"0xf7d31f2a9a47770ed3f444be2c4fe9262ddb55fef7f25e546b1f03c9afec4c09\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9353ddce7c9b8b3c13fed23fe8edec99ca610d791b0c5b204b3d01f1f08d07d2\",\"dweb:/ipfs/QmeVsEh3joCjv49BRXeHASevnZZ5xdZXpkctHT8BPf37N2\"]},\"contracts/persistent/vault/VaultLibBaseCore.sol\":{\"keccak256\":\"0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd\",\"dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz\"]},\"contracts/persistent/vault/interfaces/IExternalPositionVault.sol\":{\"keccak256\":\"0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d\",\"dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8\"]},\"contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol\":{\"keccak256\":\"0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb\",\"dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU\"]},\"contracts/persistent/vault/interfaces/IMigratableVault.sol\":{\"keccak256\":\"0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6\",\"dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs\"]},\"contracts/persistent/vault/interfaces/IVaultCore.sol\":{\"keccak256\":\"0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd\",\"dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr\"]},\"contracts/persistent/vault/utils/ProxiableVaultLib.sol\":{\"keccak256\":\"0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44\",\"dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4\"]},\"contracts/persistent/vault/utils/SharesTokenBase.sol\":{\"keccak256\":\"0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8\",\"dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4\"]},\"contracts/persistent/vault/utils/VaultLibSafeMath.sol\":{\"keccak256\":\"0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02\",\"dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG\"]},\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/core/fund/comptroller/ComptrollerLib.sol\":{\"keccak256\":\"0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579\",\"dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq\"]},\"contracts/release/core/fund/comptroller/IComptroller.sol\":{\"keccak256\":\"0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97\",\"dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L\"]},\"contracts/release/core/fund/vault/IVault.sol\":{\"keccak256\":\"0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599\",\"dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG\"]},\"contracts/release/core/fund/vault/VaultLib.sol\":{\"keccak256\":\"0x07e49445ab55c01e1b499a48baadc2a15d1eba621f1c6d3ccfdb84c87b976da8\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://56d882459248f73e137db2e097fc56b946147fb28ec21661b77431f88e856cb4\",\"dweb:/ipfs/QmRP6Ry7DCS5uoKxnnkTomHSzbaCze6cHqbR9aLdjoF6vK\"]},\"contracts/release/extensions/IExtension.sol\":{\"keccak256\":\"0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70\",\"dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t\"]},\"contracts/release/extensions/external-position-manager/IExternalPositionManager.sol\":{\"keccak256\":\"0x3af3f634e1f99fb97091b7825c0d2e2baaafc124d4e87d56cb0c17ff8554f6c6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://515470605afe5ef147f30fa75ce7818f0e00e3d321eb81a4d9bffcdefc294495\",\"dweb:/ipfs/QmPKsp99pfHoz9Tfo3ZxnkmqDqJtN9PxqacF2RmeVfxUJF\"]},\"contracts/release/extensions/fee-manager/FeeManager.sol\":{\"keccak256\":\"0xf3a3e504ca755cafda78f204d1e8005b6808854be0b5b19d17d9971ec49369a9\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3b82ffb3926983b4c60ddf8cd80b14d4ae548ea9b6f9ebf87f3fe70ffa5a89b9\",\"dweb:/ipfs/QmfJE4i4ZTDWhPwwKQSfjfWYQ62BsDs3FrxavjmLFe3HzB\"]},\"contracts/release/extensions/fee-manager/IFee.sol\":{\"keccak256\":\"0x38e3f324c67f3205e38197165586ea82ca226069902f34214bcde76cf905fcff\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c1fff656d1bdde3324421bc9e77cbfc4e80baf4e665f8713fdb65611b046f4b0\",\"dweb:/ipfs/QmVRFjNwmsVHdh4sp3DWdL74VWmhRhPZE5kDxJiuPL8Gu2\"]},\"contracts/release/extensions/fee-manager/IFeeManager.sol\":{\"keccak256\":\"0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22\",\"dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod\"]},\"contracts/release/extensions/policy-manager/IPolicyManager.sol\":{\"keccak256\":\"0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa\",\"dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb\"]},\"contracts/release/extensions/utils/ExtensionBase.sol\":{\"keccak256\":\"0xae68767766f6459bd2cd9dbd39df74f2c2f68f2150885bbce410e4091c807bb1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ce4c49522a39f618cc76feb474260fe910949f38e83b5f4518f1f245ba6eb876\",\"dweb:/ipfs/QmZ4wciRpziZAS4HRQy44Sgzm4GM4Wzme9zYnABzR6Cbzo\"]},\"contracts/release/extensions/utils/PermissionedVaultActionMixin.sol\":{\"keccak256\":\"0x77ddb9299d9c5f1538c20ae1543c20ef73db11ad7d9a9b817d26969ab233bb57\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://77812616256a092e0fd77469dcd2a2e098a1cf52686eeb6703a169efa64c27df\",\"dweb:/ipfs/QmbRPZznXSX3aA2VVJNpRqFXdJZebVDcDuY8EnF75Z7GpB\"]},\"contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol\":{\"keccak256\":\"0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f\",\"dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol\":{\"keccak256\":\"0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0\",\"dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol\":{\"keccak256\":\"0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b\",\"dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3\"]},\"contracts/release/infrastructure/price-feeds/derivatives/AggregatedDerivativePriceFeedMixin.sol\":{\"keccak256\":\"0x85d2ac39834dae7feb04f0e37317a38b8abeb0f950692fbc9d29078c52cd8d52\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://7bf8f1ce064d85a2812a944fc93068955b233924097f7f45898be3db826579d5\",\"dweb:/ipfs/Qme7f6AhxLVn32prM8fHaCvxtVi86A9KqFMqPA1s88kVYR\"]},\"contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol\":{\"keccak256\":\"0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e\",\"dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK\"]},\"contracts/release/infrastructure/price-feeds/primitives/ChainlinkPriceFeedMixin.sol\":{\"keccak256\":\"0x7fb0078e7387f07ff09958fe4e4e7b317e72c23884f61e8c133776cad522f8bb\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://e973f29ed0c3bf03e20154ab4b0cfc68c3a4372a52ec746f9d9f86697b30e977\",\"dweb:/ipfs/QmfMb7H1zNnj2hzmUr6742HmCTiNVuQ2PFjeR8q2M4Liyu\"]},\"contracts/release/infrastructure/protocol-fees/IProtocolFeeTracker.sol\":{\"keccak256\":\"0x232b347f83457439064add7369bfe1930c7cb56f15930bb87d640e909c15e447\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://24f9af5eebdd373b1d7a598c096eb6def31b2640d54416d7d5a7226e1cef17e6\",\"dweb:/ipfs/QmStq9ByGuSYdKwTmZf52L1X6sZVJUfXTnoVbnjLLiUcHG\"]},\"contracts/release/infrastructure/protocol-fees/ProtocolFeeTracker.sol\":{\"keccak256\":\"0x57be8ee480bab83f94de3c621463ae8762a1ba11c3fc91bf9d07ffb25fb35cbd\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f43ed4412fa2f3025d5418e27dd5f69ac3384c8b8cf00fedee6757f549b82b00\",\"dweb:/ipfs/QmZQYAgYqoQeZooE2gwoxBPiSncMktCyTPyaD3yqrRA2FA\"]},\"contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol\":{\"keccak256\":\"0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965\",\"dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ\"]},\"contracts/release/infrastructure/value-interpreter/ValueInterpreter.sol\":{\"keccak256\":\"0x64565011785d0d29a75021cda34687cfbc0641094d6f2faf4d9c78c8cd9f0d1d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://03ea9b29a332436d18ca1a4df7e5cdf231d5142dfb916a39cb3a721342d54e0e\",\"dweb:/ipfs/QmcB8Z7A7QELAxg2FfJpD26k2bUhMNUT4wACMVKxuge3QS\"]},\"contracts/release/interfaces/IChainlinkAggregator.sol\":{\"keccak256\":\"0x8104db68d4edc00c86b29b366f4397cdbe7bd95bb9dc90f54140af4bae963788\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://4664240be22fe76bd4e84d1cbaace3998dbc96759a14345819a889f0c288d22e\",\"dweb:/ipfs/QmQ8fbA4tvXeCeaAFeS2JrLEQUPFeYrePAKoUywRtcicgA\"]},\"contracts/release/interfaces/IGsnForwarder.sol\":{\"keccak256\":\"0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29\",\"dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G\"]},\"contracts/release/interfaces/IGsnPaymaster.sol\":{\"keccak256\":\"0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4\",\"dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF\"]},\"contracts/release/interfaces/IGsnTypes.sol\":{\"keccak256\":\"0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7\",\"dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C\"]},\"contracts/release/interfaces/IWETH.sol\":{\"keccak256\":\"0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2\",\"dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ\"]},\"contracts/release/off-chain/FundValueCalculator.sol\":{\"keccak256\":\"0x2cccb478eab330a2edb77c96657a77815d3aa250abf6b75caad63c59616a1125\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d77465a056475c24bc51bc179147190ac68e1d6edaade6073341ee1afb611a44\",\"dweb:/ipfs/QmPHitqNbYNo96qwukiEaepBgCPBQEZAJMSLmJCQJiGKgz\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/FundDeployerOwnerMixin.sol\":{\"keccak256\":\"0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927\",\"dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM\"]},\"contracts/release/utils/MathHelpers.sol\":{\"keccak256\":\"0x8aef498ae98bfb40cd1df8c9ed652b4c092fbbe62d5a1fad522c53654523248e\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ed62789f6a8d5ca30a40c591f244b915e4711493a9e4b1b4d40ea2bc97b02a95\",\"dweb:/ipfs/QmWyXJ55arURtx9VMkUQokdsjk8tbgM2cC8rENFUMyz5D3\"]},\"contracts/release/utils/beacon-proxy/IBeacon.sol\":{\"keccak256\":\"0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39\",\"dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V\"]},\"contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol\":{\"keccak256\":\"0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be\",\"dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20Burnable.sol\":{\"keccak256\":\"0x9c0eb3b0e11d2480d49991dc384f1e5f9c9b9967cc81944d50916a9b9c6c4984\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99e4033d778624992e86f0b6d801a4f6d7b5c0cd5c79c1296be90a051ad5f5af\",\"dweb:/ipfs/QmShYmkUqh6pDEeoWadZ24icmCr4C2Xys1uE5boivPmbwf\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_feeManager", "type": "address" }, { "internalType": "address", "name": "_protocolFeeTracker", "type": "address" }, { "internalType": "address", "name": "_valueInterpreter", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "calcGav", "outputs": [ { "internalType": "address", "name": "denominationAsset_", "type": "address" }, { "internalType": "uint256", "name": "gav_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "address", "name": "_quoteAsset", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "calcGavInAsset", "outputs": [ { "internalType": "uint256", "name": "gav_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "calcGrossShareValue", "outputs": [ { "internalType": "address", "name": "denominationAsset_", "type": "address" }, { "internalType": "uint256", "name": "grossShareValue_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "address", "name": "_quoteAsset", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "calcGrossShareValueInAsset", "outputs": [ { "internalType": "uint256", "name": "grossShareValue_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "calcNav", "outputs": [ { "internalType": "address", "name": "denominationAsset_", "type": "address" }, { "internalType": "uint256", "name": "nav_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "address", "name": "_quoteAsset", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "calcNavInAsset", "outputs": [ { "internalType": "uint256", "name": "nav_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "calcNetShareValue", "outputs": [ { "internalType": "address", "name": "denominationAsset_", "type": "address" }, { "internalType": "uint256", "name": "netShareValue_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "address", "name": "_quoteAsset", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "calcNetShareValueInAsset", "outputs": [ { "internalType": "uint256", "name": "netShareValue_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "address", "name": "_sharesHolder", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "calcNetValueForSharesHolder", "outputs": [ { "internalType": "address", "name": "denominationAsset_", "type": "address" }, { "internalType": "uint256", "name": "netValue_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "address", "name": "_sharesHolder", "type": "address" }, { "internalType": "address", "name": "_quoteAsset", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "calcNetValueForSharesHolderInAsset", "outputs": [ { "internalType": "uint256", "name": "netValue_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "calcProtocolFeeDueForFund", "outputs": [ { "internalType": "uint256", "name": "sharesDue_", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getFeeManager", "outputs": [ { "internalType": "address", "name": "feeManager_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getProtocolFeeTracker", "outputs": [ { "internalType": "address", "name": "protocolFeeTracker_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getValueInterpreter", "outputs": [ { "internalType": "address", "name": "valueInterpreter_", "type": "address" } ] } ], "devdoc": { "kind": "dev", "methods": { "calcGav(address)": { "params": { "_vaultProxy": "The VaultProxy of the fund" }, "returns": { "denominationAsset_": "The denomination asset of the fund", "gav_": "The GAV quoted in the denomination asset" } }, "calcGavInAsset(address,address)": { "params": { "_quoteAsset": "The quote asset", "_vaultProxy": "The VaultProxy of the fund" }, "returns": { "gav_": "The GAV quoted in _quoteAsset" } }, "calcGrossShareValue(address)": { "params": { "_vaultProxy": "The VaultProxy of the fund" }, "returns": { "denominationAsset_": "The denomination asset of the fund", "grossShareValue_": "The gross share value quoted in the denomination asset" } }, "calcGrossShareValueInAsset(address,address)": { "params": { "_quoteAsset": "The quote asset", "_vaultProxy": "The VaultProxy of the fund" }, "returns": { "grossShareValue_": "The gross share value quoted in _quoteAsset" } }, "calcNav(address)": { "details": "This value should only be consumed from off-chain, as the NAV is only valid for the shares quantity prior to the settlement of fees, and this function actually settles fund-level fees, so the NAV would no longer be valid", "params": { "_vaultProxy": "The VaultProxy of the fund" }, "returns": { "denominationAsset_": "The denomination asset of the fund", "nav_": "The NAV quoted in the denomination asset" } }, "calcNavInAsset(address,address)": { "params": { "_quoteAsset": "The quote asset", "_vaultProxy": "The VaultProxy of the fund" }, "returns": { "nav_": "The NAV quoted in _quoteAsset" } }, "calcNetShareValue(address)": { "params": { "_vaultProxy": "The VaultProxy of the fund" }, "returns": { "denominationAsset_": "The denomination asset of the fund", "netShareValue_": "The net share value quoted in the denomination asset" } }, "calcNetShareValueInAsset(address,address)": { "params": { "_quoteAsset": "The quote asset", "_vaultProxy": "The VaultProxy of the fund" }, "returns": { "netShareValue_": "The net share value quoted in _quoteAsset" } }, "calcNetValueForSharesHolder(address,address)": { "params": { "_sharesHolder": "The account holding shares", "_vaultProxy": "The VaultProxy of the fund" }, "returns": { "denominationAsset_": "The denomination asset of the fund", "netValue_": "The net value of all shares held by _sharesHolder" } }, "calcNetValueForSharesHolderInAsset(address,address,address)": { "params": { "_quoteAsset": "The quote asset", "_sharesHolder": "The account holding shares", "_vaultProxy": "The VaultProxy of the fund" }, "returns": { "netValue_": "The net value of all shares held by _sharesHolder quoted in _quoteAsset" } }, "calcProtocolFeeDueForFund(address)": { "details": "Mostly copy-paste from ProtocolFeeTracker.payFee() and its helpers. Includes the 50% buyback discount.", "params": { "_vaultProxy": "The VaultProxy of the fund" }, "returns": { "sharesDue_": "The protocol fee shares due" } }, "getFeeManager()": { "returns": { "feeManager_": "The `FEE_MANAGER` variable value" } }, "getProtocolFeeTracker()": { "returns": { "protocolFeeTracker_": "The `PROTOCOL_FEE_TRACKER` variable value" } }, "getValueInterpreter()": { "returns": { "valueInterpreter_": "The `VALUE_INTERPRETER` variable value" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "calcGav(address)": { "notice": "Calculates the GAV for a given fund" }, "calcGavInAsset(address,address)": { "notice": "Calculates the GAV for a given fund, quoted in a given asset" }, "calcGrossShareValue(address)": { "notice": "Calculates the gross value of one shares unit (10 ** 18) for a given fund" }, "calcGrossShareValueInAsset(address,address)": { "notice": "Calculates the gross value of one shares unit (10 ** 18) for a given fund, quoted in a given asset" }, "calcNav(address)": { "notice": "Calculates the NAV for a given fund" }, "calcNavInAsset(address,address)": { "notice": "Calculates the NAV for a given fund, quoted in a given asset" }, "calcNetShareValue(address)": { "notice": "Calculates the net value of one shares unit (10 ** 18) for a given fund" }, "calcNetShareValueInAsset(address,address)": { "notice": "Calculates the net value of one shares unit (10 ** 18) for a given fund, quoted in a given asset" }, "calcNetValueForSharesHolder(address,address)": { "notice": "Calculates the net value of all shares held by a specified account" }, "calcNetValueForSharesHolderInAsset(address,address,address)": { "notice": "Calculates the net value of all shares held by a specified account, quoted in a given asset" }, "calcProtocolFeeDueForFund(address)": { "notice": "Calculates the protocol fee shares currently due for a given fund" }, "getFeeManager()": { "notice": "Gets the `FEE_MANAGER` variable" }, "getProtocolFeeTracker()": { "notice": "Gets the `PROTOCOL_FEE_TRACKER` variable" }, "getValueInterpreter()": { "notice": "Gets the `VALUE_INTERPRETER` variable" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/off-chain/FundValueCalculator.sol": "FundValueCalculator" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/dispatcher/IDispatcher.sol": { "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", "urls": [ "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" ], "license": "GPL-3.0" }, "contracts/persistent/external-positions/IExternalPosition.sol": { "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", "urls": [ "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" ], "license": "GPL-3.0" }, "contracts/persistent/off-chain/fund-value-calculator/IFundValueCalculator.sol": { "keccak256": "0x993e11b879d6ad85f5ecf5f8e1880989c010bdf03de2079b39f66a953844de2d", "urls": [ "bzz-raw://f61a09908b981589bc4d3657736276f463f1ea23f9811b8d174cd5de224b556d", "dweb:/ipfs/QmU6rYofnKmWSTBzshVMxFnVRtBKCECSpnGepDy6DddCbv" ], "license": "GPL-3.0" }, "contracts/persistent/protocol-fee-reserve/interfaces/IProtocolFeeReserve1.sol": { "keccak256": "0x2728878c423db523bc95189137e8c58d2d7db9f56bbd5c6b1f988c08b551fbab", "urls": [ "bzz-raw://3b0df1d2eb74151265d03ab91a7c341f7beca475dd2f4d669052dbc4ee2c06ac", "dweb:/ipfs/QmVx1cgrxQNYfdK1Kn15pcgqf79Uw8bF3U6i7F2HG2rj6G" ], "license": "GPL-3.0" }, "contracts/persistent/vault/VaultLibBase1.sol": { "keccak256": "0xa4dac1e4cdb311a2ab187135355357d8790c505ef36dd912c057fe53743d30b5", "urls": [ "bzz-raw://b66efe821016ab927c949263023260515e90f5d480dc8d94eefbfeec7bf7490b", "dweb:/ipfs/QmNY3xKnhL9EptAbxGvXHGAXfV9pj3dDPwsZnKrPs54ZHw" ], "license": "GPL-3.0" }, "contracts/persistent/vault/VaultLibBase2.sol": { "keccak256": "0xf7d31f2a9a47770ed3f444be2c4fe9262ddb55fef7f25e546b1f03c9afec4c09", "urls": [ "bzz-raw://9353ddce7c9b8b3c13fed23fe8edec99ca610d791b0c5b204b3d01f1f08d07d2", "dweb:/ipfs/QmeVsEh3joCjv49BRXeHASevnZZ5xdZXpkctHT8BPf37N2" ], "license": "GPL-3.0" }, "contracts/persistent/vault/VaultLibBaseCore.sol": { "keccak256": "0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074", "urls": [ "bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd", "dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IExternalPositionVault.sol": { "keccak256": "0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6", "urls": [ "bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d", "dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol": { "keccak256": "0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0", "urls": [ "bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb", "dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IMigratableVault.sol": { "keccak256": "0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238", "urls": [ "bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6", "dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IVaultCore.sol": { "keccak256": "0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80", "urls": [ "bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd", "dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr" ], "license": "GPL-3.0" }, "contracts/persistent/vault/utils/ProxiableVaultLib.sol": { "keccak256": "0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76", "urls": [ "bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44", "dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4" ], "license": "GPL-3.0" }, "contracts/persistent/vault/utils/SharesTokenBase.sol": { "keccak256": "0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113", "urls": [ "bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8", "dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4" ], "license": "GPL-3.0" }, "contracts/persistent/vault/utils/VaultLibSafeMath.sol": { "keccak256": "0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d", "urls": [ "bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02", "dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG" ], "license": "GPL-3.0" }, "contracts/release/core/fund-deployer/IFundDeployer.sol": { "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", "urls": [ "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" ], "license": "GPL-3.0" }, "contracts/release/core/fund/comptroller/ComptrollerLib.sol": { "keccak256": "0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64", "urls": [ "bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579", "dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq" ], "license": "GPL-3.0" }, "contracts/release/core/fund/comptroller/IComptroller.sol": { "keccak256": "0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f", "urls": [ "bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97", "dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L" ], "license": "GPL-3.0" }, "contracts/release/core/fund/vault/IVault.sol": { "keccak256": "0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd", "urls": [ "bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599", "dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG" ], "license": "GPL-3.0" }, "contracts/release/core/fund/vault/VaultLib.sol": { "keccak256": "0x07e49445ab55c01e1b499a48baadc2a15d1eba621f1c6d3ccfdb84c87b976da8", "urls": [ "bzz-raw://56d882459248f73e137db2e097fc56b946147fb28ec21661b77431f88e856cb4", "dweb:/ipfs/QmRP6Ry7DCS5uoKxnnkTomHSzbaCze6cHqbR9aLdjoF6vK" ], "license": "GPL-3.0" }, "contracts/release/extensions/IExtension.sol": { "keccak256": "0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b", "urls": [ "bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70", "dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/IExternalPositionManager.sol": { "keccak256": "0x3af3f634e1f99fb97091b7825c0d2e2baaafc124d4e87d56cb0c17ff8554f6c6", "urls": [ "bzz-raw://515470605afe5ef147f30fa75ce7818f0e00e3d321eb81a4d9bffcdefc294495", "dweb:/ipfs/QmPKsp99pfHoz9Tfo3ZxnkmqDqJtN9PxqacF2RmeVfxUJF" ], "license": "GPL-3.0" }, "contracts/release/extensions/fee-manager/FeeManager.sol": { "keccak256": "0xf3a3e504ca755cafda78f204d1e8005b6808854be0b5b19d17d9971ec49369a9", "urls": [ "bzz-raw://3b82ffb3926983b4c60ddf8cd80b14d4ae548ea9b6f9ebf87f3fe70ffa5a89b9", "dweb:/ipfs/QmfJE4i4ZTDWhPwwKQSfjfWYQ62BsDs3FrxavjmLFe3HzB" ], "license": "GPL-3.0" }, "contracts/release/extensions/fee-manager/IFee.sol": { "keccak256": "0x38e3f324c67f3205e38197165586ea82ca226069902f34214bcde76cf905fcff", "urls": [ "bzz-raw://c1fff656d1bdde3324421bc9e77cbfc4e80baf4e665f8713fdb65611b046f4b0", "dweb:/ipfs/QmVRFjNwmsVHdh4sp3DWdL74VWmhRhPZE5kDxJiuPL8Gu2" ], "license": "GPL-3.0" }, "contracts/release/extensions/fee-manager/IFeeManager.sol": { "keccak256": "0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51", "urls": [ "bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22", "dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod" ], "license": "GPL-3.0" }, "contracts/release/extensions/policy-manager/IPolicyManager.sol": { "keccak256": "0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32", "urls": [ "bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa", "dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb" ], "license": "GPL-3.0" }, "contracts/release/extensions/utils/ExtensionBase.sol": { "keccak256": "0xae68767766f6459bd2cd9dbd39df74f2c2f68f2150885bbce410e4091c807bb1", "urls": [ "bzz-raw://ce4c49522a39f618cc76feb474260fe910949f38e83b5f4518f1f245ba6eb876", "dweb:/ipfs/QmZ4wciRpziZAS4HRQy44Sgzm4GM4Wzme9zYnABzR6Cbzo" ], "license": "GPL-3.0" }, "contracts/release/extensions/utils/PermissionedVaultActionMixin.sol": { "keccak256": "0x77ddb9299d9c5f1538c20ae1543c20ef73db11ad7d9a9b817d26969ab233bb57", "urls": [ "bzz-raw://77812616256a092e0fd77469dcd2a2e098a1cf52686eeb6703a169efa64c27df", "dweb:/ipfs/QmbRPZznXSX3aA2VVJNpRqFXdJZebVDcDuY8EnF75Z7GpB" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol": { "keccak256": "0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609", "urls": [ "bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f", "dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol": { "keccak256": "0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01", "urls": [ "bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0", "dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol": { "keccak256": "0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196", "urls": [ "bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b", "dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/price-feeds/derivatives/AggregatedDerivativePriceFeedMixin.sol": { "keccak256": "0x85d2ac39834dae7feb04f0e37317a38b8abeb0f950692fbc9d29078c52cd8d52", "urls": [ "bzz-raw://7bf8f1ce064d85a2812a944fc93068955b233924097f7f45898be3db826579d5", "dweb:/ipfs/Qme7f6AhxLVn32prM8fHaCvxtVi86A9KqFMqPA1s88kVYR" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol": { "keccak256": "0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332", "urls": [ "bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e", "dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/price-feeds/primitives/ChainlinkPriceFeedMixin.sol": { "keccak256": "0x7fb0078e7387f07ff09958fe4e4e7b317e72c23884f61e8c133776cad522f8bb", "urls": [ "bzz-raw://e973f29ed0c3bf03e20154ab4b0cfc68c3a4372a52ec746f9d9f86697b30e977", "dweb:/ipfs/QmfMb7H1zNnj2hzmUr6742HmCTiNVuQ2PFjeR8q2M4Liyu" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/protocol-fees/IProtocolFeeTracker.sol": { "keccak256": "0x232b347f83457439064add7369bfe1930c7cb56f15930bb87d640e909c15e447", "urls": [ "bzz-raw://24f9af5eebdd373b1d7a598c096eb6def31b2640d54416d7d5a7226e1cef17e6", "dweb:/ipfs/QmStq9ByGuSYdKwTmZf52L1X6sZVJUfXTnoVbnjLLiUcHG" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/protocol-fees/ProtocolFeeTracker.sol": { "keccak256": "0x57be8ee480bab83f94de3c621463ae8762a1ba11c3fc91bf9d07ffb25fb35cbd", "urls": [ "bzz-raw://f43ed4412fa2f3025d5418e27dd5f69ac3384c8b8cf00fedee6757f549b82b00", "dweb:/ipfs/QmZQYAgYqoQeZooE2gwoxBPiSncMktCyTPyaD3yqrRA2FA" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol": { "keccak256": "0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794", "urls": [ "bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965", "dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/value-interpreter/ValueInterpreter.sol": { "keccak256": "0x64565011785d0d29a75021cda34687cfbc0641094d6f2faf4d9c78c8cd9f0d1d", "urls": [ "bzz-raw://03ea9b29a332436d18ca1a4df7e5cdf231d5142dfb916a39cb3a721342d54e0e", "dweb:/ipfs/QmcB8Z7A7QELAxg2FfJpD26k2bUhMNUT4wACMVKxuge3QS" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IChainlinkAggregator.sol": { "keccak256": "0x8104db68d4edc00c86b29b366f4397cdbe7bd95bb9dc90f54140af4bae963788", "urls": [ "bzz-raw://4664240be22fe76bd4e84d1cbaace3998dbc96759a14345819a889f0c288d22e", "dweb:/ipfs/QmQ8fbA4tvXeCeaAFeS2JrLEQUPFeYrePAKoUywRtcicgA" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IGsnForwarder.sol": { "keccak256": "0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030", "urls": [ "bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29", "dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IGsnPaymaster.sol": { "keccak256": "0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c", "urls": [ "bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4", "dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IGsnTypes.sol": { "keccak256": "0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714", "urls": [ "bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7", "dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IWETH.sol": { "keccak256": "0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2", "urls": [ "bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2", "dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ" ], "license": "GPL-3.0" }, "contracts/release/off-chain/FundValueCalculator.sol": { "keccak256": "0x2cccb478eab330a2edb77c96657a77815d3aa250abf6b75caad63c59616a1125", "urls": [ "bzz-raw://d77465a056475c24bc51bc179147190ac68e1d6edaade6073341ee1afb611a44", "dweb:/ipfs/QmPHitqNbYNo96qwukiEaepBgCPBQEZAJMSLmJCQJiGKgz" ], "license": "GPL-3.0" }, "contracts/release/utils/AddressArrayLib.sol": { "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", "urls": [ "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" ], "license": "GPL-3.0" }, "contracts/release/utils/FundDeployerOwnerMixin.sol": { "keccak256": "0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934", "urls": [ "bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927", "dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM" ], "license": "GPL-3.0" }, "contracts/release/utils/MathHelpers.sol": { "keccak256": "0x8aef498ae98bfb40cd1df8c9ed652b4c092fbbe62d5a1fad522c53654523248e", "urls": [ "bzz-raw://ed62789f6a8d5ca30a40c591f244b915e4711493a9e4b1b4d40ea2bc97b02a95", "dweb:/ipfs/QmWyXJ55arURtx9VMkUQokdsjk8tbgM2cC8rENFUMyz5D3" ], "license": "GPL-3.0" }, "contracts/release/utils/beacon-proxy/IBeacon.sol": { "keccak256": "0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2", "urls": [ "bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39", "dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V" ], "license": "GPL-3.0" }, "contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol": { "keccak256": "0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc", "urls": [ "bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be", "dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20Burnable.sol": { "keccak256": "0x9c0eb3b0e11d2480d49991dc384f1e5f9c9b9967cc81944d50916a9b9c6c4984", "urls": [ "bzz-raw://99e4033d778624992e86f0b6d801a4f6d7b5c0cd5c79c1296be90a051ad5f5af", "dweb:/ipfs/QmShYmkUqh6pDEeoWadZ24icmCr4C2Xys1uE5boivPmbwf" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", "urls": [ "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Address.sol": { "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", "urls": [ "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" } }, "version": 1 }, "id": 348 } diff --git a/eth_defi/abi/enzyme/FundValueCalculatorRouter.json b/eth_defi/abi/enzyme/FundValueCalculatorRouter.json index 898fcc70..166a87d9 100644 --- a/eth_defi/abi/enzyme/FundValueCalculatorRouter.json +++ b/eth_defi/abi/enzyme/FundValueCalculatorRouter.json @@ -1,1003 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_dispatcher", - "type": "address" - }, - { - "internalType": "address[]", - "name": "_fundDeployers", - "type": "address[]" - }, - { - "internalType": "address[]", - "name": "_fundValueCalculators", - "type": "address[]" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "fundDeployer", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "fundValueCalculator", - "type": "address" - } - ], - "name": "FundValueCalculatorUpdated", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - } - ], - "name": "calcGav", - "outputs": [ - { - "internalType": "address", - "name": "denominationAsset_", - "type": "address" - }, - { - "internalType": "uint256", - "name": "gav_", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_quoteAsset", - "type": "address" - } - ], - "name": "calcGavInAsset", - "outputs": [ - { - "internalType": "uint256", - "name": "gav_", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - } - ], - "name": "calcGrossShareValue", - "outputs": [ - { - "internalType": "address", - "name": "denominationAsset_", - "type": "address" - }, - { - "internalType": "uint256", - "name": "grossShareValue_", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_quoteAsset", - "type": "address" - } - ], - "name": "calcGrossShareValueInAsset", - "outputs": [ - { - "internalType": "uint256", - "name": "grossShareValue_", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - } - ], - "name": "calcNav", - "outputs": [ - { - "internalType": "address", - "name": "denominationAsset_", - "type": "address" - }, - { - "internalType": "uint256", - "name": "nav_", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_quoteAsset", - "type": "address" - } - ], - "name": "calcNavInAsset", - "outputs": [ - { - "internalType": "uint256", - "name": "nav_", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - } - ], - "name": "calcNetShareValue", - "outputs": [ - { - "internalType": "address", - "name": "denominationAsset_", - "type": "address" - }, - { - "internalType": "uint256", - "name": "netShareValue_", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_quoteAsset", - "type": "address" - } - ], - "name": "calcNetShareValueInAsset", - "outputs": [ - { - "internalType": "uint256", - "name": "netShareValue_", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_sharesHolder", - "type": "address" - } - ], - "name": "calcNetValueForSharesHolder", - "outputs": [ - { - "internalType": "address", - "name": "denominationAsset_", - "type": "address" - }, - { - "internalType": "uint256", - "name": "netValue_", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_sharesHolder", - "type": "address" - }, - { - "internalType": "address", - "name": "_quoteAsset", - "type": "address" - } - ], - "name": "calcNetValueForSharesHolderInAsset", - "outputs": [ - { - "internalType": "uint256", - "name": "netValue_", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getDispatcher", - "outputs": [ - { - "internalType": "address", - "name": "dispatcher_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_fundDeployer", - "type": "address" - } - ], - "name": "getFundValueCalculatorForFundDeployer", - "outputs": [ - { - "internalType": "address", - "name": "fundValueCalculator_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - } - ], - "name": "getFundValueCalculatorForVault", - "outputs": [ - { - "internalType": "contract IFundValueCalculator", - "name": "fundValueCalculatorContract_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_fundDeployers", - "type": "address[]" - }, - { - "internalType": "address[]", - "name": "_fundValueCalculators", - "type": "address[]" - } - ], - "name": "setFundValueCalculators", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x60a06040523480156200001157600080fd5b50604051620010a0380380620010a0833981810160405260608110156200003757600080fd5b8151602083018051604051929492938301929190846401000000008211156200005f57600080fd5b9083019060208201858111156200007557600080fd5b82518660208202830111640100000000821117156200009357600080fd5b82525081516020918201928201910280838360005b83811015620000c2578181015183820152602001620000a8565b5050505090500160405260200180516040519392919084640100000000821115620000ec57600080fd5b9083019060208201858111156200010257600080fd5b82518660208202830111640100000000821117156200012057600080fd5b82525081516020918201928201910280838360005b838110156200014f57818101518382015260200162000135565b50505050919091016040525050506001600160601b0319606085901b16608052506200017c828262000185565b505050620002c5565b8051825114620001c75760405162461bcd60e51b8152600401808060200182810382526030815260200180620010706030913960400191505060405180910390fd5b60005b8251811015620002c057818181518110620001e157fe5b6020026020010151600080858481518110620001f957fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b031602179055508281815181106200025257fe5b60200260200101516001600160a01b03167fb1d29f6ea94d91c5d37a117188a5b71f514ff0f0e0347c76232fbad7242ef97b8383815181106200029157fe5b602002602001015160405180826001600160a01b0316815260200191505060405180910390a2600101620001ca565b505050565b60805160601c610d88620002e86000398061050e5280610a805250610d886000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c806381dfa95b1161008c578063c65988ff11610066578063c65988ff146103e1578063ebb3d5891461040f578063eefcb1b314610417578063faf6eeef14610445576100ea565b806381dfa95b14610264578063826e85e414610292578063c3552663146103bb576100ea565b80633ba6b851116100c85780633ba6b851146101a05780634807ccbd146101c657806351ac29c71461021057806353d467f31461023e576100ea565b8063037276c1146100ef578063360a91d8146101385780633b35b9a81461017a575b600080fd5b6101156004803603602081101561010557600080fd5b50356001600160a01b0316610473565b604080516001600160a01b03909316835260208301919091528051918290030190f35b61015e6004803603602081101561014e57600080fd5b50356001600160a01b0316610509565b604080516001600160a01b039092168252519081900360200190f35b61015e6004803603602081101561019057600080fd5b50356001600160a01b0316610645565b610115600480360360208110156101b657600080fd5b50356001600160a01b0316610663565b6101fe600480360360608110156101dc57600080fd5b506001600160a01b0381358116916020810135821691604090910135166106bc565b60408051918252519081900360200190f35b6101fe6004803603604081101561022657600080fd5b506001600160a01b038135811691602001351661076b565b6101156004803603602081101561025457600080fd5b50356001600160a01b0316610808565b6101156004803603604081101561027a57600080fd5b506001600160a01b0381358116916020013516610861565b6103b9600480360360408110156102a857600080fd5b8101906020810181356401000000008111156102c357600080fd5b8201836020820111156102d557600080fd5b803590602001918460208302840111640100000000831117156102f757600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929594936020810193503591505064010000000081111561034757600080fd5b82018360208201111561035957600080fd5b8035906020019184602083028401116401000000008311171561037b57600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295506108fb945050505050565b005b610115600480360360208110156103d157600080fd5b50356001600160a01b03166109bb565b6101fe600480360360408110156103f757600080fd5b506001600160a01b0381358116916020013516610a14565b61015e610a7e565b6101fe6004803603604081101561042d57600080fd5b506001600160a01b0381358116916020013516610aa2565b6101fe6004803603604081101561045b57600080fd5b506001600160a01b0381358116916020013516610b0c565b60008061047f83610509565b6001600160a01b031663037276c1846040518263ffffffff1660e01b815260040180826001600160a01b031681526020019150506040805180830381600087803b1580156104cc57600080fd5b505af11580156104e0573d6000803e3d6000fd5b505050506040513d60408110156104f657600080fd5b5080516020909101519092509050915091565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316633d7c74f8846040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561057957600080fd5b505afa15801561058d573d6000803e3d6000fd5b505050506040513d60208110156105a357600080fd5b505190506001600160a01b0381166105ec5760405162461bcd60e51b8152600401808060200182810382526033815260200180610caf6033913960400191505060405180910390fd5b60006105f782610645565b90506001600160a01b03811661063e5760405162461bcd60e51b815260040180806020018281038252603a815260200180610ce2603a913960400191505060405180910390fd5b9392505050565b6001600160a01b039081166000908152602081905260409020541690565b60008061066f83610509565b6001600160a01b0316633ba6b851846040518263ffffffff1660e01b815260040180826001600160a01b031681526020019150506040805180830381600087803b1580156104cc57600080fd5b60006106c784610509565b6001600160a01b0316634807ccbd8585856040518463ffffffff1660e01b815260040180846001600160a01b03168152602001836001600160a01b03168152602001826001600160a01b031681526020019350505050602060405180830381600087803b15801561073757600080fd5b505af115801561074b573d6000803e3d6000fd5b505050506040513d602081101561076157600080fd5b5051949350505050565b600061077683610509565b6001600160a01b03166351ac29c784846040518363ffffffff1660e01b815260040180836001600160a01b03168152602001826001600160a01b0316815260200192505050602060405180830381600087803b1580156107d557600080fd5b505af11580156107e9573d6000803e3d6000fd5b505050506040513d60208110156107ff57600080fd5b50519392505050565b60008061081483610509565b6001600160a01b03166353d467f3846040518263ffffffff1660e01b815260040180826001600160a01b031681526020019150506040805180830381600087803b1580156104cc57600080fd5b60008061086d84610509565b604080516381dfa95b60e01b81526001600160a01b038781166004830152868116602483015282519316926381dfa95b926044808401939192918290030181600087803b1580156108bd57600080fd5b505af11580156108d1573d6000803e3d6000fd5b505050506040513d60408110156108e757600080fd5b508051602090910151909590945092505050565b610903610a7e565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561093b57600080fd5b505afa15801561094f573d6000803e3d6000fd5b505050506040513d602081101561096557600080fd5b50516001600160a01b031633146109ad5760405162461bcd60e51b8152600401808060200182810382526030815260200180610d1c6030913960400191505060405180910390fd5b6109b78282610b76565b5050565b6000806109c783610509565b6001600160a01b031663c3552663846040518263ffffffff1660e01b815260040180826001600160a01b031681526020019150506040805180830381600087803b1580156104cc57600080fd5b6000610a1f83610509565b6001600160a01b031663c65988ff84846040518363ffffffff1660e01b815260040180836001600160a01b03168152602001826001600160a01b0316815260200192505050602060405180830381600087803b1580156107d557600080fd5b7f000000000000000000000000000000000000000000000000000000000000000090565b6000610aad83610509565b6001600160a01b031663eefcb1b384846040518363ffffffff1660e01b815260040180836001600160a01b03168152602001826001600160a01b0316815260200192505050602060405180830381600087803b1580156107d557600080fd5b6000610b1783610509565b6001600160a01b031663faf6eeef84846040518363ffffffff1660e01b815260040180836001600160a01b03168152602001826001600160a01b0316815260200192505050602060405180830381600087803b1580156107d557600080fd5b8051825114610bb65760405162461bcd60e51b8152600401808060200182810382526030815260200180610d4c6030913960400191505060405180910390fd5b60005b8251811015610ca957818181518110610bce57fe5b6020026020010151600080858481518110610be557fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b03160217905550828181518110610c3d57fe5b60200260200101516001600160a01b03167fb1d29f6ea94d91c5d37a117188a5b71f514ff0f0e0347c76232fbad7242ef97b838381518110610c7b57fe5b602002602001015160405180826001600160a01b0316815260200191505060405180910390a2600101610bb9565b50505056fe67657446756e6456616c756543616c63756c61746f72466f725661756c743a20496e76616c6964205f7661756c7450726f787967657446756e6456616c756543616c63756c61746f72466f725661756c743a204e6f2046756e6456616c756543616c63756c61746f72207365744f6e6c79207468652044697370617463686572206f776e65722063616e2063616c6c20746869732066756e6374696f6e5f5f73657446756e6456616c756543616c63756c61746f72733a20556e657175616c206172726179206c656e67746873a164736f6c634300060c000a5f5f73657446756e6456616c756543616c63756c61746f72733a20556e657175616c206172726179206c656e67746873", - "sourceMap": "749:9214:49:-:0;;;1007:259;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1007:259:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1007:259:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;1007:259:49;;;;;;-1:-1:-1;;;;;;;;;1160:24:49;;;;;;;-1:-1:-1;1195:64:49;1221:14;1237:21;1195:25;:64::i;:::-;1007:259;;;749:9214;;8649:556;8843:21;:28;8818:14;:21;:53;8797:148;;;;-1:-1:-1;;;8797:148:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8961:9;8956:243;8976:14;:21;8972:1;:25;8956:243;;;9073:21;9095:1;9073:24;;;;;;;;;;;;;;9018:33;:52;9052:14;9067:1;9052:17;;;;;;;;;;;;;;-1:-1:-1;;;;;9018:52:49;-1:-1:-1;;;;;9018:52:49;;;;;;;;;;;;;:79;;;;;-1:-1:-1;;;;;9018:79:49;;;;;-1:-1:-1;;;;;9018:79:49;;;;;;9144:14;9159:1;9144:17;;;;;;;;;;;;;;-1:-1:-1;;;;;9117:71:49;;9163:21;9185:1;9163:24;;;;;;;;;;;;;;9117:71;;;;-1:-1:-1;;;;;9117:71:49;;;;;;;;;;;;;;;8999:3;;8956:243;;;;8649:556;;:::o;749:9214::-;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106100ea5760003560e01c806381dfa95b1161008c578063c65988ff11610066578063c65988ff146103e1578063ebb3d5891461040f578063eefcb1b314610417578063faf6eeef14610445576100ea565b806381dfa95b14610264578063826e85e414610292578063c3552663146103bb576100ea565b80633ba6b851116100c85780633ba6b851146101a05780634807ccbd146101c657806351ac29c71461021057806353d467f31461023e576100ea565b8063037276c1146100ef578063360a91d8146101385780633b35b9a81461017a575b600080fd5b6101156004803603602081101561010557600080fd5b50356001600160a01b0316610473565b604080516001600160a01b03909316835260208301919091528051918290030190f35b61015e6004803603602081101561014e57600080fd5b50356001600160a01b0316610509565b604080516001600160a01b039092168252519081900360200190f35b61015e6004803603602081101561019057600080fd5b50356001600160a01b0316610645565b610115600480360360208110156101b657600080fd5b50356001600160a01b0316610663565b6101fe600480360360608110156101dc57600080fd5b506001600160a01b0381358116916020810135821691604090910135166106bc565b60408051918252519081900360200190f35b6101fe6004803603604081101561022657600080fd5b506001600160a01b038135811691602001351661076b565b6101156004803603602081101561025457600080fd5b50356001600160a01b0316610808565b6101156004803603604081101561027a57600080fd5b506001600160a01b0381358116916020013516610861565b6103b9600480360360408110156102a857600080fd5b8101906020810181356401000000008111156102c357600080fd5b8201836020820111156102d557600080fd5b803590602001918460208302840111640100000000831117156102f757600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929594936020810193503591505064010000000081111561034757600080fd5b82018360208201111561035957600080fd5b8035906020019184602083028401116401000000008311171561037b57600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295506108fb945050505050565b005b610115600480360360208110156103d157600080fd5b50356001600160a01b03166109bb565b6101fe600480360360408110156103f757600080fd5b506001600160a01b0381358116916020013516610a14565b61015e610a7e565b6101fe6004803603604081101561042d57600080fd5b506001600160a01b0381358116916020013516610aa2565b6101fe6004803603604081101561045b57600080fd5b506001600160a01b0381358116916020013516610b0c565b60008061047f83610509565b6001600160a01b031663037276c1846040518263ffffffff1660e01b815260040180826001600160a01b031681526020019150506040805180830381600087803b1580156104cc57600080fd5b505af11580156104e0573d6000803e3d6000fd5b505050506040513d60408110156104f657600080fd5b5080516020909101519092509050915091565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316633d7c74f8846040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561057957600080fd5b505afa15801561058d573d6000803e3d6000fd5b505050506040513d60208110156105a357600080fd5b505190506001600160a01b0381166105ec5760405162461bcd60e51b8152600401808060200182810382526033815260200180610caf6033913960400191505060405180910390fd5b60006105f782610645565b90506001600160a01b03811661063e5760405162461bcd60e51b815260040180806020018281038252603a815260200180610ce2603a913960400191505060405180910390fd5b9392505050565b6001600160a01b039081166000908152602081905260409020541690565b60008061066f83610509565b6001600160a01b0316633ba6b851846040518263ffffffff1660e01b815260040180826001600160a01b031681526020019150506040805180830381600087803b1580156104cc57600080fd5b60006106c784610509565b6001600160a01b0316634807ccbd8585856040518463ffffffff1660e01b815260040180846001600160a01b03168152602001836001600160a01b03168152602001826001600160a01b031681526020019350505050602060405180830381600087803b15801561073757600080fd5b505af115801561074b573d6000803e3d6000fd5b505050506040513d602081101561076157600080fd5b5051949350505050565b600061077683610509565b6001600160a01b03166351ac29c784846040518363ffffffff1660e01b815260040180836001600160a01b03168152602001826001600160a01b0316815260200192505050602060405180830381600087803b1580156107d557600080fd5b505af11580156107e9573d6000803e3d6000fd5b505050506040513d60208110156107ff57600080fd5b50519392505050565b60008061081483610509565b6001600160a01b03166353d467f3846040518263ffffffff1660e01b815260040180826001600160a01b031681526020019150506040805180830381600087803b1580156104cc57600080fd5b60008061086d84610509565b604080516381dfa95b60e01b81526001600160a01b038781166004830152868116602483015282519316926381dfa95b926044808401939192918290030181600087803b1580156108bd57600080fd5b505af11580156108d1573d6000803e3d6000fd5b505050506040513d60408110156108e757600080fd5b508051602090910151909590945092505050565b610903610a7e565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561093b57600080fd5b505afa15801561094f573d6000803e3d6000fd5b505050506040513d602081101561096557600080fd5b50516001600160a01b031633146109ad5760405162461bcd60e51b8152600401808060200182810382526030815260200180610d1c6030913960400191505060405180910390fd5b6109b78282610b76565b5050565b6000806109c783610509565b6001600160a01b031663c3552663846040518263ffffffff1660e01b815260040180826001600160a01b031681526020019150506040805180830381600087803b1580156104cc57600080fd5b6000610a1f83610509565b6001600160a01b031663c65988ff84846040518363ffffffff1660e01b815260040180836001600160a01b03168152602001826001600160a01b0316815260200192505050602060405180830381600087803b1580156107d557600080fd5b7f000000000000000000000000000000000000000000000000000000000000000090565b6000610aad83610509565b6001600160a01b031663eefcb1b384846040518363ffffffff1660e01b815260040180836001600160a01b03168152602001826001600160a01b0316815260200192505050602060405180830381600087803b1580156107d557600080fd5b6000610b1783610509565b6001600160a01b031663faf6eeef84846040518363ffffffff1660e01b815260040180836001600160a01b03168152602001826001600160a01b0316815260200192505050602060405180830381600087803b1580156107d557600080fd5b8051825114610bb65760405162461bcd60e51b8152600401808060200182810382526030815260200180610d4c6030913960400191505060405180910390fd5b60005b8251811015610ca957818181518110610bce57fe5b6020026020010151600080858481518110610be557fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b03160217905550828181518110610c3d57fe5b60200260200101516001600160a01b03167fb1d29f6ea94d91c5d37a117188a5b71f514ff0f0e0347c76232fbad7242ef97b838381518110610c7b57fe5b602002602001015160405180826001600160a01b0316815260200191505060405180910390a2600101610bb9565b50505056fe67657446756e6456616c756543616c63756c61746f72466f725661756c743a20496e76616c6964205f7661756c7450726f787967657446756e6456616c756543616c63756c61746f72466f725661756c743a204e6f2046756e6456616c756543616c63756c61746f72207365744f6e6c79207468652044697370617463686572206f776e65722063616e2063616c6c20746869732066756e6374696f6e5f5f73657446756e6456616c756543616c63756c61746f72733a20556e657175616c206172726179206c656e67746873a164736f6c634300060c000a", - "sourceMap": "749:9214:49:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1537:206;;;;;;;;;;;;;;;;-1:-1:-1;1537:206:49;-1:-1:-1;;;;;1537:206:49;;:::i;:::-;;;;-1:-1:-1;;;;;1537:206:49;;;;;;;;;;;;;;;;;;;;;7128:665;;;;;;;;;;;;;;;;-1:-1:-1;7128:665:49;-1:-1:-1;;;;;7128:665:49;;:::i;:::-;;;;-1:-1:-1;;;;;7128:665:49;;;;;;;;;;;;;;9740:221;;;;;;;;;;;;;;;;-1:-1:-1;9740:221:49;-1:-1:-1;;;;;9740:221:49;;:::i;4598:236::-;;;;;;;;;;;;;;;;-1:-1:-1;4598:236:49;-1:-1:-1;;;;;4598:236:49;;:::i;6494:393::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;6494:393:49;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;1974:238;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1974:238:49;;;;;;;;;;:::i;3621:206::-;;;;;;;;;;;;;;;;-1:-1:-1;3621:206:49;-1:-1:-1;;;;;3621:206:49;;:::i;5782:347::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;5782:347:49;;;;;;;;;;:::i;8172:377::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8172:377:49;;;;;;;;-1:-1:-1;8172:377:49;;-1:-1:-1;;8172:377:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8172:377:49;;-1:-1:-1;8172:377:49;;-1:-1:-1;;;;;8172:377:49:i;:::-;;2520:242;;;;;;;;;;;;;;;;-1:-1:-1;2520:242:49;-1:-1:-1;;;;;2520:242:49;;:::i;4058:238::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;4058:238:49;;;;;;;;;;:::i;9391:101::-;;;:::i;3057:320::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;3057:320:49;;;;;;;;;;:::i;5123:314::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;5123:314:49;;;;;;;;;;:::i;1537:206::-;1609:26;1637:12;1672:43;1703:11;1672:30;:43::i;:::-;-1:-1:-1;;;;;1672:51:49;;1724:11;1672:64;;;;;;;;;;;;;-1:-1:-1;;;;;1672:64:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1672:64:49;;;;;;;;;-1:-1:-1;1672:64:49;-1:-1:-1;1537:206:49;;;:::o;7128:665::-;7234:49;7299:20;7334:10;-1:-1:-1;;;;;7322:52:49;;7375:11;7322:65;;;;;;;;;;;;;-1:-1:-1;;;;;7322:65:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7322:65:49;;-1:-1:-1;;;;;;7405:26:49;;7397:90;;;;-1:-1:-1;;;7397:90:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7498:27;7528:51;7566:12;7528:37;:51::i;:::-;7498:81;-1:-1:-1;;;;;;7610:33:49;;7589:138;;;;-1:-1:-1;;;7589:138:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7766:19;7128:665;-1:-1:-1;;;7128:665:49:o;9740:221::-;-1:-1:-1;;;;;9906:48:49;;;9855:28;9906:48;;;;;;;;;;;;;9740:221::o;4598:236::-;4680:26;4708:22;4753:43;4784:11;4753:30;:43::i;:::-;-1:-1:-1;;;;;4753:61:49;;4815:11;4753:74;;;;;;;;;;;;;-1:-1:-1;;;;;4753:74:49;;;;;;;;;;;;;;;;;;;;;;;;;;;6494:393;6651:17;6699:43;6730:11;6699:30;:43::i;:::-;-1:-1:-1;;;;;6699:78:49;;6795:11;6824:13;6855:11;6699:181;;;;;;;;;;;;;-1:-1:-1;;;;;6699:181:49;;;;;;-1:-1:-1;;;;;6699:181:49;;;;;;-1:-1:-1;;;;;6699:181:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6699:181:49;;6494:393;-1:-1:-1;;;;6494:393:49:o;1974:238::-;2074:12;2121:43;2152:11;2121:30;:43::i;:::-;-1:-1:-1;;;;;2121:58:49;;2180:11;2193;2121:84;;;;;;;;;;;;;-1:-1:-1;;;;;2121:84:49;;;;;;-1:-1:-1;;;;;2121:84:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2121:84:49;;1974:238;-1:-1:-1;;;1974:238:49:o;3621:206::-;3693:26;3721:12;3756:43;3787:11;3756:30;:43::i;:::-;-1:-1:-1;;;;;3756:51:49;;3808:11;3756:64;;;;;;;;;;;;;-1:-1:-1;;;;;3756:64:49;;;;;;;;;;;;;;;;;;;;;;;;;;;5782:347;5897:26;5925:17;5977:43;6008:11;5977:30;:43::i;:::-;:145;;;-1:-1:-1;;;5977:145:49;;-1:-1:-1;;;;;5977:145:49;;;;;;;;;;;;;;;;:71;;;;;:145;;;;;;;;;;;;;-1:-1:-1;5977:71:49;:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5977:145:49;;;;;;;;;;;-1:-1:-1;5782:347:49;-1:-1:-1;;;5782:347:49:o;8172:377::-;8366:15;:13;:15::i;:::-;-1:-1:-1;;;;;8354:37:49;;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8354:39:49;-1:-1:-1;;;;;8340:53:49;:10;:53;8319:148;;;;-1:-1:-1;;;8319:148:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8478:64;8504:14;8520:21;8478:25;:64::i;:::-;8172:377;;:::o;2520:242::-;2604:26;2632:24;2679:43;2710:11;2679:30;:43::i;:::-;-1:-1:-1;;;;;2679:63:49;;2743:11;2679:76;;;;;;;;;;;;;-1:-1:-1;;;;;2679:76:49;;;;;;;;;;;;;;;;;;;;;;;;;;;4058:238;4158:12;4205:43;4236:11;4205:30;:43::i;:::-;-1:-1:-1;;;;;4205:58:49;;4264:11;4277;4205:84;;;;;;;;;;;;;-1:-1:-1;;;;;4205:84:49;;;;;;-1:-1:-1;;;;;4205:84:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;9391:101;9475:10;9391:101;:::o;3057:320::-;3169:24;3228:43;3259:11;3228:30;:43::i;:::-;-1:-1:-1;;;;;3228:70:49;;3316:11;3345;3228:142;;;;;;;;;;;;;-1:-1:-1;;;;;3228:142:49;;;;;;-1:-1:-1;;;;;3228:142:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;5123:314;5233:22;5290:43;5321:11;5290:30;:43::i;:::-;-1:-1:-1;;;;;5290:68:49;;5376:11;5405;5290:140;;;;;;;;;;;;;-1:-1:-1;;;;;5290:140:49;;;;;;-1:-1:-1;;;;;5290:140:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;8649:556;8843:21;:28;8818:14;:21;:53;8797:148;;;;-1:-1:-1;;;8797:148:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8961:9;8956:243;8976:14;:21;8972:1;:25;8956:243;;;9073:21;9095:1;9073:24;;;;;;;;;;;;;;9018:33;:52;9052:14;9067:1;9052:17;;;;;;;;;;;;;;-1:-1:-1;;;;;9018:52:49;-1:-1:-1;;;;;9018:52:49;;;;;;;;;;;;;:79;;;;;-1:-1:-1;;;;;9018:79:49;;;;;-1:-1:-1;;;;;9018:79:49;;;;;;9144:14;9159:1;9144:17;;;;;;;;;;;;;;-1:-1:-1;;;;;9117:71:49;;9163:21;9185:1;9163:24;;;;;;;;;;;;;;9117:71;;;;-1:-1:-1;;;;;9117:71:49;;;;;;;;;;;;;;;8999:3;;8956:243;;;;8649:556;;:::o", - "linkReferences": {}, - "immutableReferences": { - "6614": [ - { - "start": 1294, - "length": 32 - }, - { - "start": 2688, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "calcGav(address)": "037276c1", - "calcGavInAsset(address,address)": "51ac29c7", - "calcGrossShareValue(address)": "c3552663", - "calcGrossShareValueInAsset(address,address)": "eefcb1b3", - "calcNav(address)": "53d467f3", - "calcNavInAsset(address,address)": "c65988ff", - "calcNetShareValue(address)": "3ba6b851", - "calcNetShareValueInAsset(address,address)": "faf6eeef", - "calcNetValueForSharesHolder(address,address)": "81dfa95b", - "calcNetValueForSharesHolderInAsset(address,address,address)": "4807ccbd", - "getDispatcher()": "ebb3d589", - "getFundValueCalculatorForFundDeployer(address)": "3b35b9a8", - "getFundValueCalculatorForVault(address)": "360a91d8", - "setFundValueCalculators(address[],address[])": "826e85e4" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_dispatcher\",\"type\":\"address\"},{\"internalType\":\"address[]\",\"name\":\"_fundDeployers\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"_fundValueCalculators\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"fundDeployer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"fundValueCalculator\",\"type\":\"address\"}],\"name\":\"FundValueCalculatorUpdated\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"}],\"name\":\"calcGav\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"denominationAsset_\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"gav_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_quoteAsset\",\"type\":\"address\"}],\"name\":\"calcGavInAsset\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"gav_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"}],\"name\":\"calcGrossShareValue\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"denominationAsset_\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"grossShareValue_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_quoteAsset\",\"type\":\"address\"}],\"name\":\"calcGrossShareValueInAsset\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"grossShareValue_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"}],\"name\":\"calcNav\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"denominationAsset_\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nav_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_quoteAsset\",\"type\":\"address\"}],\"name\":\"calcNavInAsset\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"nav_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"}],\"name\":\"calcNetShareValue\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"denominationAsset_\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"netShareValue_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_quoteAsset\",\"type\":\"address\"}],\"name\":\"calcNetShareValueInAsset\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"netShareValue_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_sharesHolder\",\"type\":\"address\"}],\"name\":\"calcNetValueForSharesHolder\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"denominationAsset_\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"netValue_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_sharesHolder\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_quoteAsset\",\"type\":\"address\"}],\"name\":\"calcNetValueForSharesHolderInAsset\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"netValue_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDispatcher\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"dispatcher_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_fundDeployer\",\"type\":\"address\"}],\"name\":\"getFundValueCalculatorForFundDeployer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"fundValueCalculator_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"}],\"name\":\"getFundValueCalculatorForVault\",\"outputs\":[{\"internalType\":\"contract IFundValueCalculator\",\"name\":\"fundValueCalculatorContract_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_fundDeployers\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"_fundValueCalculators\",\"type\":\"address[]\"}],\"name\":\"setFundValueCalculators\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"These values should generally only be consumed from off-chain, unless you understand how each release interprets each calculation\",\"kind\":\"dev\",\"methods\":{\"calcGav(address)\":{\"params\":{\"_vaultProxy\":\"The VaultProxy of the fund\"},\"returns\":{\"denominationAsset_\":\"The denomination asset of the fund\",\"gav_\":\"The GAV quoted in the denomination asset\"}},\"calcGavInAsset(address,address)\":{\"params\":{\"_quoteAsset\":\"The quote asset\",\"_vaultProxy\":\"The VaultProxy of the fund\"},\"returns\":{\"gav_\":\"The GAV quoted in _quoteAsset\"}},\"calcGrossShareValue(address)\":{\"params\":{\"_vaultProxy\":\"The VaultProxy of the fund\"},\"returns\":{\"denominationAsset_\":\"The denomination asset of the fund\",\"grossShareValue_\":\"The gross share value quoted in the denomination asset\"}},\"calcGrossShareValueInAsset(address,address)\":{\"params\":{\"_quoteAsset\":\"The quote asset\",\"_vaultProxy\":\"The VaultProxy of the fund\"},\"returns\":{\"grossShareValue_\":\"The gross share value quoted in _quoteAsset\"}},\"calcNav(address)\":{\"params\":{\"_vaultProxy\":\"The VaultProxy of the fund\"},\"returns\":{\"denominationAsset_\":\"The denomination asset of the fund\",\"nav_\":\"The NAV quoted in the denomination asset\"}},\"calcNavInAsset(address,address)\":{\"params\":{\"_quoteAsset\":\"The quote asset\",\"_vaultProxy\":\"The VaultProxy of the fund\"},\"returns\":{\"nav_\":\"The NAV quoted in _quoteAsset\"}},\"calcNetShareValue(address)\":{\"params\":{\"_vaultProxy\":\"The VaultProxy of the fund\"},\"returns\":{\"denominationAsset_\":\"The denomination asset of the fund\",\"netShareValue_\":\"The net share value quoted in the denomination asset\"}},\"calcNetShareValueInAsset(address,address)\":{\"params\":{\"_quoteAsset\":\"The quote asset\",\"_vaultProxy\":\"The VaultProxy of the fund\"},\"returns\":{\"netShareValue_\":\"The net share value quoted in _quoteAsset\"}},\"calcNetValueForSharesHolder(address,address)\":{\"params\":{\"_sharesHolder\":\"The account holding shares\",\"_vaultProxy\":\"The VaultProxy of the fund\"},\"returns\":{\"denominationAsset_\":\"The denomination asset of the fund\",\"netValue_\":\"The net value of all shares held by _sharesHolder\"}},\"calcNetValueForSharesHolderInAsset(address,address,address)\":{\"params\":{\"_quoteAsset\":\"The quote asset\",\"_sharesHolder\":\"The account holding shares\",\"_vaultProxy\":\"The VaultProxy of the fund\"},\"returns\":{\"netValue_\":\"The net value of all shares held by _sharesHolder quoted in _quoteAsset\"}},\"getDispatcher()\":{\"returns\":{\"dispatcher_\":\"The `DISPATCHER` variable value\"}},\"getFundValueCalculatorForFundDeployer(address)\":{\"params\":{\"_fundDeployer\":\"The FundDeployer for which to get the FundValueCalculator address\"},\"returns\":{\"fundValueCalculator_\":\"The FundValueCalculator address\"}},\"getFundValueCalculatorForVault(address)\":{\"params\":{\"_vaultProxy\":\"The VaultProxy of the fund\"},\"returns\":{\"fundValueCalculatorContract_\":\"The FundValueCalculator instance\"}},\"setFundValueCalculators(address[],address[])\":{\"params\":{\"_fundDeployers\":\"The FundDeployer instances\",\"_fundValueCalculators\":\"The FundValueCalculator instances corresponding to each instance in _fundDeployers\"}}},\"title\":\"FundValueCalculatorRouter Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"calcGav(address)\":{\"notice\":\"Calculates the GAV for a given fund\"},\"calcGavInAsset(address,address)\":{\"notice\":\"Calculates the GAV for a given fund, quoted in a given asset\"},\"calcGrossShareValue(address)\":{\"notice\":\"Calculates the gross value of one shares unit (10 ** 18) for a given fund\"},\"calcGrossShareValueInAsset(address,address)\":{\"notice\":\"Calculates the gross value of one shares unit (10 ** 18) for a given fund, quoted in a given asset\"},\"calcNav(address)\":{\"notice\":\"Calculates the NAV for a given fund\"},\"calcNavInAsset(address,address)\":{\"notice\":\"Calculates the NAV for a given fund, quoted in a given asset\"},\"calcNetShareValue(address)\":{\"notice\":\"Calculates the net value of one shares unit (10 ** 18) for a given fund\"},\"calcNetShareValueInAsset(address,address)\":{\"notice\":\"Calculates the net value of one shares unit (10 ** 18) for a given fund, quoted in a given asset\"},\"calcNetValueForSharesHolder(address,address)\":{\"notice\":\"Calculates the net value of all shares held by a specified account\"},\"calcNetValueForSharesHolderInAsset(address,address,address)\":{\"notice\":\"Calculates the net value of all shares held by a specified account, quoted in a given asset\"},\"getDispatcher()\":{\"notice\":\"Gets the `DISPATCHER` variable\"},\"getFundValueCalculatorForFundDeployer(address)\":{\"notice\":\"Gets the FundValueCalculator address for a given FundDeployer\"},\"getFundValueCalculatorForVault(address)\":{\"notice\":\"Gets the FundValueCalculator instance to use for a given fund\"},\"setFundValueCalculators(address[],address[])\":{\"notice\":\"Sets FundValueCalculator instances for a list of FundDeployer instances\"}},\"notice\":\"A peripheral contract for routing value calculation requests to the correct FundValueCalculator instance for a particular release\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/off-chain/fund-value-calculator/FundValueCalculatorRouter.sol\":\"FundValueCalculatorRouter\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/off-chain/fund-value-calculator/FundValueCalculatorRouter.sol\":{\"keccak256\":\"0x313dcaccdb58e7e24854243cfe7286285dd385a1cbaa7836f9fe3beaa8c9b94c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://db28f41b75d384877faa0e7dca4c713b0d59cb84e97b7393805212a672453474\",\"dweb:/ipfs/QmVWq8rzvUkuuH4F5KRj2taWi1eHkgdvHkQptHa8P18arS\"]},\"contracts/persistent/off-chain/fund-value-calculator/IFundValueCalculator.sol\":{\"keccak256\":\"0x993e11b879d6ad85f5ecf5f8e1880989c010bdf03de2079b39f66a953844de2d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f61a09908b981589bc4d3657736276f463f1ea23f9811b8d174cd5de224b556d\",\"dweb:/ipfs/QmU6rYofnKmWSTBzshVMxFnVRtBKCECSpnGepDy6DddCbv\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_dispatcher", - "type": "address" - }, - { - "internalType": "address[]", - "name": "_fundDeployers", - "type": "address[]" - }, - { - "internalType": "address[]", - "name": "_fundValueCalculators", - "type": "address[]" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "fundDeployer", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "fundValueCalculator", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "FundValueCalculatorUpdated", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "calcGav", - "outputs": [ - { - "internalType": "address", - "name": "denominationAsset_", - "type": "address" - }, - { - "internalType": "uint256", - "name": "gav_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_quoteAsset", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "calcGavInAsset", - "outputs": [ - { - "internalType": "uint256", - "name": "gav_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "calcGrossShareValue", - "outputs": [ - { - "internalType": "address", - "name": "denominationAsset_", - "type": "address" - }, - { - "internalType": "uint256", - "name": "grossShareValue_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_quoteAsset", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "calcGrossShareValueInAsset", - "outputs": [ - { - "internalType": "uint256", - "name": "grossShareValue_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "calcNav", - "outputs": [ - { - "internalType": "address", - "name": "denominationAsset_", - "type": "address" - }, - { - "internalType": "uint256", - "name": "nav_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_quoteAsset", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "calcNavInAsset", - "outputs": [ - { - "internalType": "uint256", - "name": "nav_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "calcNetShareValue", - "outputs": [ - { - "internalType": "address", - "name": "denominationAsset_", - "type": "address" - }, - { - "internalType": "uint256", - "name": "netShareValue_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_quoteAsset", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "calcNetShareValueInAsset", - "outputs": [ - { - "internalType": "uint256", - "name": "netShareValue_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_sharesHolder", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "calcNetValueForSharesHolder", - "outputs": [ - { - "internalType": "address", - "name": "denominationAsset_", - "type": "address" - }, - { - "internalType": "uint256", - "name": "netValue_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_sharesHolder", - "type": "address" - }, - { - "internalType": "address", - "name": "_quoteAsset", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "calcNetValueForSharesHolderInAsset", - "outputs": [ - { - "internalType": "uint256", - "name": "netValue_", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getDispatcher", - "outputs": [ - { - "internalType": "address", - "name": "dispatcher_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_fundDeployer", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getFundValueCalculatorForFundDeployer", - "outputs": [ - { - "internalType": "address", - "name": "fundValueCalculator_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getFundValueCalculatorForVault", - "outputs": [ - { - "internalType": "contract IFundValueCalculator", - "name": "fundValueCalculatorContract_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_fundDeployers", - "type": "address[]" - }, - { - "internalType": "address[]", - "name": "_fundValueCalculators", - "type": "address[]" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setFundValueCalculators" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "calcGav(address)": { - "params": { - "_vaultProxy": "The VaultProxy of the fund" - }, - "returns": { - "denominationAsset_": "The denomination asset of the fund", - "gav_": "The GAV quoted in the denomination asset" - } - }, - "calcGavInAsset(address,address)": { - "params": { - "_quoteAsset": "The quote asset", - "_vaultProxy": "The VaultProxy of the fund" - }, - "returns": { - "gav_": "The GAV quoted in _quoteAsset" - } - }, - "calcGrossShareValue(address)": { - "params": { - "_vaultProxy": "The VaultProxy of the fund" - }, - "returns": { - "denominationAsset_": "The denomination asset of the fund", - "grossShareValue_": "The gross share value quoted in the denomination asset" - } - }, - "calcGrossShareValueInAsset(address,address)": { - "params": { - "_quoteAsset": "The quote asset", - "_vaultProxy": "The VaultProxy of the fund" - }, - "returns": { - "grossShareValue_": "The gross share value quoted in _quoteAsset" - } - }, - "calcNav(address)": { - "params": { - "_vaultProxy": "The VaultProxy of the fund" - }, - "returns": { - "denominationAsset_": "The denomination asset of the fund", - "nav_": "The NAV quoted in the denomination asset" - } - }, - "calcNavInAsset(address,address)": { - "params": { - "_quoteAsset": "The quote asset", - "_vaultProxy": "The VaultProxy of the fund" - }, - "returns": { - "nav_": "The NAV quoted in _quoteAsset" - } - }, - "calcNetShareValue(address)": { - "params": { - "_vaultProxy": "The VaultProxy of the fund" - }, - "returns": { - "denominationAsset_": "The denomination asset of the fund", - "netShareValue_": "The net share value quoted in the denomination asset" - } - }, - "calcNetShareValueInAsset(address,address)": { - "params": { - "_quoteAsset": "The quote asset", - "_vaultProxy": "The VaultProxy of the fund" - }, - "returns": { - "netShareValue_": "The net share value quoted in _quoteAsset" - } - }, - "calcNetValueForSharesHolder(address,address)": { - "params": { - "_sharesHolder": "The account holding shares", - "_vaultProxy": "The VaultProxy of the fund" - }, - "returns": { - "denominationAsset_": "The denomination asset of the fund", - "netValue_": "The net value of all shares held by _sharesHolder" - } - }, - "calcNetValueForSharesHolderInAsset(address,address,address)": { - "params": { - "_quoteAsset": "The quote asset", - "_sharesHolder": "The account holding shares", - "_vaultProxy": "The VaultProxy of the fund" - }, - "returns": { - "netValue_": "The net value of all shares held by _sharesHolder quoted in _quoteAsset" - } - }, - "getDispatcher()": { - "returns": { - "dispatcher_": "The `DISPATCHER` variable value" - } - }, - "getFundValueCalculatorForFundDeployer(address)": { - "params": { - "_fundDeployer": "The FundDeployer for which to get the FundValueCalculator address" - }, - "returns": { - "fundValueCalculator_": "The FundValueCalculator address" - } - }, - "getFundValueCalculatorForVault(address)": { - "params": { - "_vaultProxy": "The VaultProxy of the fund" - }, - "returns": { - "fundValueCalculatorContract_": "The FundValueCalculator instance" - } - }, - "setFundValueCalculators(address[],address[])": { - "params": { - "_fundDeployers": "The FundDeployer instances", - "_fundValueCalculators": "The FundValueCalculator instances corresponding to each instance in _fundDeployers" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "calcGav(address)": { - "notice": "Calculates the GAV for a given fund" - }, - "calcGavInAsset(address,address)": { - "notice": "Calculates the GAV for a given fund, quoted in a given asset" - }, - "calcGrossShareValue(address)": { - "notice": "Calculates the gross value of one shares unit (10 ** 18) for a given fund" - }, - "calcGrossShareValueInAsset(address,address)": { - "notice": "Calculates the gross value of one shares unit (10 ** 18) for a given fund, quoted in a given asset" - }, - "calcNav(address)": { - "notice": "Calculates the NAV for a given fund" - }, - "calcNavInAsset(address,address)": { - "notice": "Calculates the NAV for a given fund, quoted in a given asset" - }, - "calcNetShareValue(address)": { - "notice": "Calculates the net value of one shares unit (10 ** 18) for a given fund" - }, - "calcNetShareValueInAsset(address,address)": { - "notice": "Calculates the net value of one shares unit (10 ** 18) for a given fund, quoted in a given asset" - }, - "calcNetValueForSharesHolder(address,address)": { - "notice": "Calculates the net value of all shares held by a specified account" - }, - "calcNetValueForSharesHolderInAsset(address,address,address)": { - "notice": "Calculates the net value of all shares held by a specified account, quoted in a given asset" - }, - "getDispatcher()": { - "notice": "Gets the `DISPATCHER` variable" - }, - "getFundValueCalculatorForFundDeployer(address)": { - "notice": "Gets the FundValueCalculator address for a given FundDeployer" - }, - "getFundValueCalculatorForVault(address)": { - "notice": "Gets the FundValueCalculator instance to use for a given fund" - }, - "setFundValueCalculators(address[],address[])": { - "notice": "Sets FundValueCalculator instances for a list of FundDeployer instances" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/persistent/off-chain/fund-value-calculator/FundValueCalculatorRouter.sol": "FundValueCalculatorRouter" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/dispatcher/IDispatcher.sol": { - "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", - "urls": [ - "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", - "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/off-chain/fund-value-calculator/FundValueCalculatorRouter.sol": { - "keccak256": "0x313dcaccdb58e7e24854243cfe7286285dd385a1cbaa7836f9fe3beaa8c9b94c", - "urls": [ - "bzz-raw://db28f41b75d384877faa0e7dca4c713b0d59cb84e97b7393805212a672453474", - "dweb:/ipfs/QmVWq8rzvUkuuH4F5KRj2taWi1eHkgdvHkQptHa8P18arS" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/off-chain/fund-value-calculator/IFundValueCalculator.sol": { - "keccak256": "0x993e11b879d6ad85f5ecf5f8e1880989c010bdf03de2079b39f66a953844de2d", - "urls": [ - "bzz-raw://f61a09908b981589bc4d3657736276f463f1ea23f9811b8d174cd5de224b556d", - "dweb:/ipfs/QmU6rYofnKmWSTBzshVMxFnVRtBKCECSpnGepDy6DddCbv" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 49 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_dispatcher", "type": "address", "internalType": "address" }, { "name": "_fundDeployers", "type": "address[]", "internalType": "address[]" }, { "name": "_fundValueCalculators", "type": "address[]", "internalType": "address[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "calcGav", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "denominationAsset_", "type": "address", "internalType": "address" }, { "name": "gav_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "calcGavInAsset", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_quoteAsset", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "gav_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "calcGrossShareValue", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "denominationAsset_", "type": "address", "internalType": "address" }, { "name": "grossShareValue_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "calcGrossShareValueInAsset", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_quoteAsset", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "grossShareValue_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "calcNav", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "denominationAsset_", "type": "address", "internalType": "address" }, { "name": "nav_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "calcNavInAsset", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_quoteAsset", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "nav_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "calcNetShareValue", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "denominationAsset_", "type": "address", "internalType": "address" }, { "name": "netShareValue_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "calcNetShareValueInAsset", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_quoteAsset", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "netShareValue_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "calcNetValueForSharesHolder", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_sharesHolder", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "denominationAsset_", "type": "address", "internalType": "address" }, { "name": "netValue_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "calcNetValueForSharesHolderInAsset", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_sharesHolder", "type": "address", "internalType": "address" }, { "name": "_quoteAsset", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "netValue_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "getDispatcher", "inputs": [], "outputs": [ { "name": "dispatcher_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getFundValueCalculatorForFundDeployer", "inputs": [ { "name": "_fundDeployer", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "fundValueCalculator_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getFundValueCalculatorForVault", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "fundValueCalculatorContract_", "type": "address", "internalType": "contract IFundValueCalculator" } ], "stateMutability": "view" }, { "type": "function", "name": "setFundValueCalculators", "inputs": [ { "name": "_fundDeployers", "type": "address[]", "internalType": "address[]" }, { "name": "_fundValueCalculators", "type": "address[]", "internalType": "address[]" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "event", "name": "FundValueCalculatorUpdated", "inputs": [ { "name": "fundDeployer", "type": "address", "indexed": true, "internalType": "address" }, { "name": "fundValueCalculator", "type": "address", "indexed": false, "internalType": "address" } ], "anonymous": false } ], "bytecode": { "object": "0x60a06040523480156200001157600080fd5b50604051620010a0380380620010a0833981810160405260608110156200003757600080fd5b8151602083018051604051929492938301929190846401000000008211156200005f57600080fd5b9083019060208201858111156200007557600080fd5b82518660208202830111640100000000821117156200009357600080fd5b82525081516020918201928201910280838360005b83811015620000c2578181015183820152602001620000a8565b5050505090500160405260200180516040519392919084640100000000821115620000ec57600080fd5b9083019060208201858111156200010257600080fd5b82518660208202830111640100000000821117156200012057600080fd5b82525081516020918201928201910280838360005b838110156200014f57818101518382015260200162000135565b50505050919091016040525050506001600160601b0319606085901b16608052506200017c828262000185565b505050620002c5565b8051825114620001c75760405162461bcd60e51b8152600401808060200182810382526030815260200180620010706030913960400191505060405180910390fd5b60005b8251811015620002c057818181518110620001e157fe5b6020026020010151600080858481518110620001f957fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b031602179055508281815181106200025257fe5b60200260200101516001600160a01b03167fb1d29f6ea94d91c5d37a117188a5b71f514ff0f0e0347c76232fbad7242ef97b8383815181106200029157fe5b602002602001015160405180826001600160a01b0316815260200191505060405180910390a2600101620001ca565b505050565b60805160601c610d88620002e86000398061050e5280610a805250610d886000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c806381dfa95b1161008c578063c65988ff11610066578063c65988ff146103e1578063ebb3d5891461040f578063eefcb1b314610417578063faf6eeef14610445576100ea565b806381dfa95b14610264578063826e85e414610292578063c3552663146103bb576100ea565b80633ba6b851116100c85780633ba6b851146101a05780634807ccbd146101c657806351ac29c71461021057806353d467f31461023e576100ea565b8063037276c1146100ef578063360a91d8146101385780633b35b9a81461017a575b600080fd5b6101156004803603602081101561010557600080fd5b50356001600160a01b0316610473565b604080516001600160a01b03909316835260208301919091528051918290030190f35b61015e6004803603602081101561014e57600080fd5b50356001600160a01b0316610509565b604080516001600160a01b039092168252519081900360200190f35b61015e6004803603602081101561019057600080fd5b50356001600160a01b0316610645565b610115600480360360208110156101b657600080fd5b50356001600160a01b0316610663565b6101fe600480360360608110156101dc57600080fd5b506001600160a01b0381358116916020810135821691604090910135166106bc565b60408051918252519081900360200190f35b6101fe6004803603604081101561022657600080fd5b506001600160a01b038135811691602001351661076b565b6101156004803603602081101561025457600080fd5b50356001600160a01b0316610808565b6101156004803603604081101561027a57600080fd5b506001600160a01b0381358116916020013516610861565b6103b9600480360360408110156102a857600080fd5b8101906020810181356401000000008111156102c357600080fd5b8201836020820111156102d557600080fd5b803590602001918460208302840111640100000000831117156102f757600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929594936020810193503591505064010000000081111561034757600080fd5b82018360208201111561035957600080fd5b8035906020019184602083028401116401000000008311171561037b57600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295506108fb945050505050565b005b610115600480360360208110156103d157600080fd5b50356001600160a01b03166109bb565b6101fe600480360360408110156103f757600080fd5b506001600160a01b0381358116916020013516610a14565b61015e610a7e565b6101fe6004803603604081101561042d57600080fd5b506001600160a01b0381358116916020013516610aa2565b6101fe6004803603604081101561045b57600080fd5b506001600160a01b0381358116916020013516610b0c565b60008061047f83610509565b6001600160a01b031663037276c1846040518263ffffffff1660e01b815260040180826001600160a01b031681526020019150506040805180830381600087803b1580156104cc57600080fd5b505af11580156104e0573d6000803e3d6000fd5b505050506040513d60408110156104f657600080fd5b5080516020909101519092509050915091565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316633d7c74f8846040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561057957600080fd5b505afa15801561058d573d6000803e3d6000fd5b505050506040513d60208110156105a357600080fd5b505190506001600160a01b0381166105ec5760405162461bcd60e51b8152600401808060200182810382526033815260200180610caf6033913960400191505060405180910390fd5b60006105f782610645565b90506001600160a01b03811661063e5760405162461bcd60e51b815260040180806020018281038252603a815260200180610ce2603a913960400191505060405180910390fd5b9392505050565b6001600160a01b039081166000908152602081905260409020541690565b60008061066f83610509565b6001600160a01b0316633ba6b851846040518263ffffffff1660e01b815260040180826001600160a01b031681526020019150506040805180830381600087803b1580156104cc57600080fd5b60006106c784610509565b6001600160a01b0316634807ccbd8585856040518463ffffffff1660e01b815260040180846001600160a01b03168152602001836001600160a01b03168152602001826001600160a01b031681526020019350505050602060405180830381600087803b15801561073757600080fd5b505af115801561074b573d6000803e3d6000fd5b505050506040513d602081101561076157600080fd5b5051949350505050565b600061077683610509565b6001600160a01b03166351ac29c784846040518363ffffffff1660e01b815260040180836001600160a01b03168152602001826001600160a01b0316815260200192505050602060405180830381600087803b1580156107d557600080fd5b505af11580156107e9573d6000803e3d6000fd5b505050506040513d60208110156107ff57600080fd5b50519392505050565b60008061081483610509565b6001600160a01b03166353d467f3846040518263ffffffff1660e01b815260040180826001600160a01b031681526020019150506040805180830381600087803b1580156104cc57600080fd5b60008061086d84610509565b604080516381dfa95b60e01b81526001600160a01b038781166004830152868116602483015282519316926381dfa95b926044808401939192918290030181600087803b1580156108bd57600080fd5b505af11580156108d1573d6000803e3d6000fd5b505050506040513d60408110156108e757600080fd5b508051602090910151909590945092505050565b610903610a7e565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561093b57600080fd5b505afa15801561094f573d6000803e3d6000fd5b505050506040513d602081101561096557600080fd5b50516001600160a01b031633146109ad5760405162461bcd60e51b8152600401808060200182810382526030815260200180610d1c6030913960400191505060405180910390fd5b6109b78282610b76565b5050565b6000806109c783610509565b6001600160a01b031663c3552663846040518263ffffffff1660e01b815260040180826001600160a01b031681526020019150506040805180830381600087803b1580156104cc57600080fd5b6000610a1f83610509565b6001600160a01b031663c65988ff84846040518363ffffffff1660e01b815260040180836001600160a01b03168152602001826001600160a01b0316815260200192505050602060405180830381600087803b1580156107d557600080fd5b7f000000000000000000000000000000000000000000000000000000000000000090565b6000610aad83610509565b6001600160a01b031663eefcb1b384846040518363ffffffff1660e01b815260040180836001600160a01b03168152602001826001600160a01b0316815260200192505050602060405180830381600087803b1580156107d557600080fd5b6000610b1783610509565b6001600160a01b031663faf6eeef84846040518363ffffffff1660e01b815260040180836001600160a01b03168152602001826001600160a01b0316815260200192505050602060405180830381600087803b1580156107d557600080fd5b8051825114610bb65760405162461bcd60e51b8152600401808060200182810382526030815260200180610d4c6030913960400191505060405180910390fd5b60005b8251811015610ca957818181518110610bce57fe5b6020026020010151600080858481518110610be557fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b03160217905550828181518110610c3d57fe5b60200260200101516001600160a01b03167fb1d29f6ea94d91c5d37a117188a5b71f514ff0f0e0347c76232fbad7242ef97b838381518110610c7b57fe5b602002602001015160405180826001600160a01b0316815260200191505060405180910390a2600101610bb9565b50505056fe67657446756e6456616c756543616c63756c61746f72466f725661756c743a20496e76616c6964205f7661756c7450726f787967657446756e6456616c756543616c63756c61746f72466f725661756c743a204e6f2046756e6456616c756543616c63756c61746f72207365744f6e6c79207468652044697370617463686572206f776e65722063616e2063616c6c20746869732066756e6374696f6e5f5f73657446756e6456616c756543616c63756c61746f72733a20556e657175616c206172726179206c656e67746873a164736f6c634300060c000a5f5f73657446756e6456616c756543616c63756c61746f72733a20556e657175616c206172726179206c656e67746873", "sourceMap": "749:9214:49:-:0;;;1007:259;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1007:259:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1007:259:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;1007:259:49;;;;;;-1:-1:-1;;;;;;;;;1160:24:49;;;;;;;-1:-1:-1;1195:64:49;1221:14;1237:21;1195:25;:64::i;:::-;1007:259;;;749:9214;;8649:556;8843:21;:28;8818:14;:21;:53;8797:148;;;;-1:-1:-1;;;8797:148:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8961:9;8956:243;8976:14;:21;8972:1;:25;8956:243;;;9073:21;9095:1;9073:24;;;;;;;;;;;;;;9018:33;:52;9052:14;9067:1;9052:17;;;;;;;;;;;;;;-1:-1:-1;;;;;9018:52:49;-1:-1:-1;;;;;9018:52:49;;;;;;;;;;;;;:79;;;;;-1:-1:-1;;;;;9018:79:49;;;;;-1:-1:-1;;;;;9018:79:49;;;;;;9144:14;9159:1;9144:17;;;;;;;;;;;;;;-1:-1:-1;;;;;9117:71:49;;9163:21;9185:1;9163:24;;;;;;;;;;;;;;9117:71;;;;-1:-1:-1;;;;;9117:71:49;;;;;;;;;;;;;;;8999:3;;8956:243;;;;8649:556;;:::o;749:9214::-;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106100ea5760003560e01c806381dfa95b1161008c578063c65988ff11610066578063c65988ff146103e1578063ebb3d5891461040f578063eefcb1b314610417578063faf6eeef14610445576100ea565b806381dfa95b14610264578063826e85e414610292578063c3552663146103bb576100ea565b80633ba6b851116100c85780633ba6b851146101a05780634807ccbd146101c657806351ac29c71461021057806353d467f31461023e576100ea565b8063037276c1146100ef578063360a91d8146101385780633b35b9a81461017a575b600080fd5b6101156004803603602081101561010557600080fd5b50356001600160a01b0316610473565b604080516001600160a01b03909316835260208301919091528051918290030190f35b61015e6004803603602081101561014e57600080fd5b50356001600160a01b0316610509565b604080516001600160a01b039092168252519081900360200190f35b61015e6004803603602081101561019057600080fd5b50356001600160a01b0316610645565b610115600480360360208110156101b657600080fd5b50356001600160a01b0316610663565b6101fe600480360360608110156101dc57600080fd5b506001600160a01b0381358116916020810135821691604090910135166106bc565b60408051918252519081900360200190f35b6101fe6004803603604081101561022657600080fd5b506001600160a01b038135811691602001351661076b565b6101156004803603602081101561025457600080fd5b50356001600160a01b0316610808565b6101156004803603604081101561027a57600080fd5b506001600160a01b0381358116916020013516610861565b6103b9600480360360408110156102a857600080fd5b8101906020810181356401000000008111156102c357600080fd5b8201836020820111156102d557600080fd5b803590602001918460208302840111640100000000831117156102f757600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929594936020810193503591505064010000000081111561034757600080fd5b82018360208201111561035957600080fd5b8035906020019184602083028401116401000000008311171561037b57600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295506108fb945050505050565b005b610115600480360360208110156103d157600080fd5b50356001600160a01b03166109bb565b6101fe600480360360408110156103f757600080fd5b506001600160a01b0381358116916020013516610a14565b61015e610a7e565b6101fe6004803603604081101561042d57600080fd5b506001600160a01b0381358116916020013516610aa2565b6101fe6004803603604081101561045b57600080fd5b506001600160a01b0381358116916020013516610b0c565b60008061047f83610509565b6001600160a01b031663037276c1846040518263ffffffff1660e01b815260040180826001600160a01b031681526020019150506040805180830381600087803b1580156104cc57600080fd5b505af11580156104e0573d6000803e3d6000fd5b505050506040513d60408110156104f657600080fd5b5080516020909101519092509050915091565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316633d7c74f8846040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561057957600080fd5b505afa15801561058d573d6000803e3d6000fd5b505050506040513d60208110156105a357600080fd5b505190506001600160a01b0381166105ec5760405162461bcd60e51b8152600401808060200182810382526033815260200180610caf6033913960400191505060405180910390fd5b60006105f782610645565b90506001600160a01b03811661063e5760405162461bcd60e51b815260040180806020018281038252603a815260200180610ce2603a913960400191505060405180910390fd5b9392505050565b6001600160a01b039081166000908152602081905260409020541690565b60008061066f83610509565b6001600160a01b0316633ba6b851846040518263ffffffff1660e01b815260040180826001600160a01b031681526020019150506040805180830381600087803b1580156104cc57600080fd5b60006106c784610509565b6001600160a01b0316634807ccbd8585856040518463ffffffff1660e01b815260040180846001600160a01b03168152602001836001600160a01b03168152602001826001600160a01b031681526020019350505050602060405180830381600087803b15801561073757600080fd5b505af115801561074b573d6000803e3d6000fd5b505050506040513d602081101561076157600080fd5b5051949350505050565b600061077683610509565b6001600160a01b03166351ac29c784846040518363ffffffff1660e01b815260040180836001600160a01b03168152602001826001600160a01b0316815260200192505050602060405180830381600087803b1580156107d557600080fd5b505af11580156107e9573d6000803e3d6000fd5b505050506040513d60208110156107ff57600080fd5b50519392505050565b60008061081483610509565b6001600160a01b03166353d467f3846040518263ffffffff1660e01b815260040180826001600160a01b031681526020019150506040805180830381600087803b1580156104cc57600080fd5b60008061086d84610509565b604080516381dfa95b60e01b81526001600160a01b038781166004830152868116602483015282519316926381dfa95b926044808401939192918290030181600087803b1580156108bd57600080fd5b505af11580156108d1573d6000803e3d6000fd5b505050506040513d60408110156108e757600080fd5b508051602090910151909590945092505050565b610903610a7e565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561093b57600080fd5b505afa15801561094f573d6000803e3d6000fd5b505050506040513d602081101561096557600080fd5b50516001600160a01b031633146109ad5760405162461bcd60e51b8152600401808060200182810382526030815260200180610d1c6030913960400191505060405180910390fd5b6109b78282610b76565b5050565b6000806109c783610509565b6001600160a01b031663c3552663846040518263ffffffff1660e01b815260040180826001600160a01b031681526020019150506040805180830381600087803b1580156104cc57600080fd5b6000610a1f83610509565b6001600160a01b031663c65988ff84846040518363ffffffff1660e01b815260040180836001600160a01b03168152602001826001600160a01b0316815260200192505050602060405180830381600087803b1580156107d557600080fd5b7f000000000000000000000000000000000000000000000000000000000000000090565b6000610aad83610509565b6001600160a01b031663eefcb1b384846040518363ffffffff1660e01b815260040180836001600160a01b03168152602001826001600160a01b0316815260200192505050602060405180830381600087803b1580156107d557600080fd5b6000610b1783610509565b6001600160a01b031663faf6eeef84846040518363ffffffff1660e01b815260040180836001600160a01b03168152602001826001600160a01b0316815260200192505050602060405180830381600087803b1580156107d557600080fd5b8051825114610bb65760405162461bcd60e51b8152600401808060200182810382526030815260200180610d4c6030913960400191505060405180910390fd5b60005b8251811015610ca957818181518110610bce57fe5b6020026020010151600080858481518110610be557fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b03160217905550828181518110610c3d57fe5b60200260200101516001600160a01b03167fb1d29f6ea94d91c5d37a117188a5b71f514ff0f0e0347c76232fbad7242ef97b838381518110610c7b57fe5b602002602001015160405180826001600160a01b0316815260200191505060405180910390a2600101610bb9565b50505056fe67657446756e6456616c756543616c63756c61746f72466f725661756c743a20496e76616c6964205f7661756c7450726f787967657446756e6456616c756543616c63756c61746f72466f725661756c743a204e6f2046756e6456616c756543616c63756c61746f72207365744f6e6c79207468652044697370617463686572206f776e65722063616e2063616c6c20746869732066756e6374696f6e5f5f73657446756e6456616c756543616c63756c61746f72733a20556e657175616c206172726179206c656e67746873a164736f6c634300060c000a", "sourceMap": "749:9214:49:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1537:206;;;;;;;;;;;;;;;;-1:-1:-1;1537:206:49;-1:-1:-1;;;;;1537:206:49;;:::i;:::-;;;;-1:-1:-1;;;;;1537:206:49;;;;;;;;;;;;;;;;;;;;;7128:665;;;;;;;;;;;;;;;;-1:-1:-1;7128:665:49;-1:-1:-1;;;;;7128:665:49;;:::i;:::-;;;;-1:-1:-1;;;;;7128:665:49;;;;;;;;;;;;;;9740:221;;;;;;;;;;;;;;;;-1:-1:-1;9740:221:49;-1:-1:-1;;;;;9740:221:49;;:::i;4598:236::-;;;;;;;;;;;;;;;;-1:-1:-1;4598:236:49;-1:-1:-1;;;;;4598:236:49;;:::i;6494:393::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;6494:393:49;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;1974:238;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1974:238:49;;;;;;;;;;:::i;3621:206::-;;;;;;;;;;;;;;;;-1:-1:-1;3621:206:49;-1:-1:-1;;;;;3621:206:49;;:::i;5782:347::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;5782:347:49;;;;;;;;;;:::i;8172:377::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8172:377:49;;;;;;;;-1:-1:-1;8172:377:49;;-1:-1:-1;;8172:377:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8172:377:49;;-1:-1:-1;8172:377:49;;-1:-1:-1;;;;;8172:377:49:i;:::-;;2520:242;;;;;;;;;;;;;;;;-1:-1:-1;2520:242:49;-1:-1:-1;;;;;2520:242:49;;:::i;4058:238::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;4058:238:49;;;;;;;;;;:::i;9391:101::-;;;:::i;3057:320::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;3057:320:49;;;;;;;;;;:::i;5123:314::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;5123:314:49;;;;;;;;;;:::i;1537:206::-;1609:26;1637:12;1672:43;1703:11;1672:30;:43::i;:::-;-1:-1:-1;;;;;1672:51:49;;1724:11;1672:64;;;;;;;;;;;;;-1:-1:-1;;;;;1672:64:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1672:64:49;;;;;;;;;-1:-1:-1;1672:64:49;-1:-1:-1;1537:206:49;;;:::o;7128:665::-;7234:49;7299:20;7334:10;-1:-1:-1;;;;;7322:52:49;;7375:11;7322:65;;;;;;;;;;;;;-1:-1:-1;;;;;7322:65:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7322:65:49;;-1:-1:-1;;;;;;7405:26:49;;7397:90;;;;-1:-1:-1;;;7397:90:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7498:27;7528:51;7566:12;7528:37;:51::i;:::-;7498:81;-1:-1:-1;;;;;;7610:33:49;;7589:138;;;;-1:-1:-1;;;7589:138:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7766:19;7128:665;-1:-1:-1;;;7128:665:49:o;9740:221::-;-1:-1:-1;;;;;9906:48:49;;;9855:28;9906:48;;;;;;;;;;;;;9740:221::o;4598:236::-;4680:26;4708:22;4753:43;4784:11;4753:30;:43::i;:::-;-1:-1:-1;;;;;4753:61:49;;4815:11;4753:74;;;;;;;;;;;;;-1:-1:-1;;;;;4753:74:49;;;;;;;;;;;;;;;;;;;;;;;;;;;6494:393;6651:17;6699:43;6730:11;6699:30;:43::i;:::-;-1:-1:-1;;;;;6699:78:49;;6795:11;6824:13;6855:11;6699:181;;;;;;;;;;;;;-1:-1:-1;;;;;6699:181:49;;;;;;-1:-1:-1;;;;;6699:181:49;;;;;;-1:-1:-1;;;;;6699:181:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6699:181:49;;6494:393;-1:-1:-1;;;;6494:393:49:o;1974:238::-;2074:12;2121:43;2152:11;2121:30;:43::i;:::-;-1:-1:-1;;;;;2121:58:49;;2180:11;2193;2121:84;;;;;;;;;;;;;-1:-1:-1;;;;;2121:84:49;;;;;;-1:-1:-1;;;;;2121:84:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2121:84:49;;1974:238;-1:-1:-1;;;1974:238:49:o;3621:206::-;3693:26;3721:12;3756:43;3787:11;3756:30;:43::i;:::-;-1:-1:-1;;;;;3756:51:49;;3808:11;3756:64;;;;;;;;;;;;;-1:-1:-1;;;;;3756:64:49;;;;;;;;;;;;;;;;;;;;;;;;;;;5782:347;5897:26;5925:17;5977:43;6008:11;5977:30;:43::i;:::-;:145;;;-1:-1:-1;;;5977:145:49;;-1:-1:-1;;;;;5977:145:49;;;;;;;;;;;;;;;;:71;;;;;:145;;;;;;;;;;;;;-1:-1:-1;5977:71:49;:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5977:145:49;;;;;;;;;;;-1:-1:-1;5782:347:49;-1:-1:-1;;;5782:347:49:o;8172:377::-;8366:15;:13;:15::i;:::-;-1:-1:-1;;;;;8354:37:49;;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8354:39:49;-1:-1:-1;;;;;8340:53:49;:10;:53;8319:148;;;;-1:-1:-1;;;8319:148:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8478:64;8504:14;8520:21;8478:25;:64::i;:::-;8172:377;;:::o;2520:242::-;2604:26;2632:24;2679:43;2710:11;2679:30;:43::i;:::-;-1:-1:-1;;;;;2679:63:49;;2743:11;2679:76;;;;;;;;;;;;;-1:-1:-1;;;;;2679:76:49;;;;;;;;;;;;;;;;;;;;;;;;;;;4058:238;4158:12;4205:43;4236:11;4205:30;:43::i;:::-;-1:-1:-1;;;;;4205:58:49;;4264:11;4277;4205:84;;;;;;;;;;;;;-1:-1:-1;;;;;4205:84:49;;;;;;-1:-1:-1;;;;;4205:84:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;9391:101;9475:10;9391:101;:::o;3057:320::-;3169:24;3228:43;3259:11;3228:30;:43::i;:::-;-1:-1:-1;;;;;3228:70:49;;3316:11;3345;3228:142;;;;;;;;;;;;;-1:-1:-1;;;;;3228:142:49;;;;;;-1:-1:-1;;;;;3228:142:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;5123:314;5233:22;5290:43;5321:11;5290:30;:43::i;:::-;-1:-1:-1;;;;;5290:68:49;;5376:11;5405;5290:140;;;;;;;;;;;;;-1:-1:-1;;;;;5290:140:49;;;;;;-1:-1:-1;;;;;5290:140:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;8649:556;8843:21;:28;8818:14;:21;:53;8797:148;;;;-1:-1:-1;;;8797:148:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8961:9;8956:243;8976:14;:21;8972:1;:25;8956:243;;;9073:21;9095:1;9073:24;;;;;;;;;;;;;;9018:33;:52;9052:14;9067:1;9052:17;;;;;;;;;;;;;;-1:-1:-1;;;;;9018:52:49;-1:-1:-1;;;;;9018:52:49;;;;;;;;;;;;;:79;;;;;-1:-1:-1;;;;;9018:79:49;;;;;-1:-1:-1;;;;;9018:79:49;;;;;;9144:14;9159:1;9144:17;;;;;;;;;;;;;;-1:-1:-1;;;;;9117:71:49;;9163:21;9185:1;9163:24;;;;;;;;;;;;;;9117:71;;;;-1:-1:-1;;;;;9117:71:49;;;;;;;;;;;;;;;8999:3;;8956:243;;;;8649:556;;:::o", "linkReferences": {}, "immutableReferences": { "6614": [ { "start": 1294, "length": 32 }, { "start": 2688, "length": 32 } ] } }, "methodIdentifiers": { "calcGav(address)": "037276c1", "calcGavInAsset(address,address)": "51ac29c7", "calcGrossShareValue(address)": "c3552663", "calcGrossShareValueInAsset(address,address)": "eefcb1b3", "calcNav(address)": "53d467f3", "calcNavInAsset(address,address)": "c65988ff", "calcNetShareValue(address)": "3ba6b851", "calcNetShareValueInAsset(address,address)": "faf6eeef", "calcNetValueForSharesHolder(address,address)": "81dfa95b", "calcNetValueForSharesHolderInAsset(address,address,address)": "4807ccbd", "getDispatcher()": "ebb3d589", "getFundValueCalculatorForFundDeployer(address)": "3b35b9a8", "getFundValueCalculatorForVault(address)": "360a91d8", "setFundValueCalculators(address[],address[])": "826e85e4" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_dispatcher\",\"type\":\"address\"},{\"internalType\":\"address[]\",\"name\":\"_fundDeployers\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"_fundValueCalculators\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"fundDeployer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"fundValueCalculator\",\"type\":\"address\"}],\"name\":\"FundValueCalculatorUpdated\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"}],\"name\":\"calcGav\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"denominationAsset_\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"gav_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_quoteAsset\",\"type\":\"address\"}],\"name\":\"calcGavInAsset\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"gav_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"}],\"name\":\"calcGrossShareValue\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"denominationAsset_\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"grossShareValue_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_quoteAsset\",\"type\":\"address\"}],\"name\":\"calcGrossShareValueInAsset\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"grossShareValue_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"}],\"name\":\"calcNav\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"denominationAsset_\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nav_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_quoteAsset\",\"type\":\"address\"}],\"name\":\"calcNavInAsset\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"nav_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"}],\"name\":\"calcNetShareValue\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"denominationAsset_\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"netShareValue_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_quoteAsset\",\"type\":\"address\"}],\"name\":\"calcNetShareValueInAsset\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"netShareValue_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_sharesHolder\",\"type\":\"address\"}],\"name\":\"calcNetValueForSharesHolder\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"denominationAsset_\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"netValue_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_sharesHolder\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_quoteAsset\",\"type\":\"address\"}],\"name\":\"calcNetValueForSharesHolderInAsset\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"netValue_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDispatcher\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"dispatcher_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_fundDeployer\",\"type\":\"address\"}],\"name\":\"getFundValueCalculatorForFundDeployer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"fundValueCalculator_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"}],\"name\":\"getFundValueCalculatorForVault\",\"outputs\":[{\"internalType\":\"contract IFundValueCalculator\",\"name\":\"fundValueCalculatorContract_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_fundDeployers\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"_fundValueCalculators\",\"type\":\"address[]\"}],\"name\":\"setFundValueCalculators\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"These values should generally only be consumed from off-chain, unless you understand how each release interprets each calculation\",\"kind\":\"dev\",\"methods\":{\"calcGav(address)\":{\"params\":{\"_vaultProxy\":\"The VaultProxy of the fund\"},\"returns\":{\"denominationAsset_\":\"The denomination asset of the fund\",\"gav_\":\"The GAV quoted in the denomination asset\"}},\"calcGavInAsset(address,address)\":{\"params\":{\"_quoteAsset\":\"The quote asset\",\"_vaultProxy\":\"The VaultProxy of the fund\"},\"returns\":{\"gav_\":\"The GAV quoted in _quoteAsset\"}},\"calcGrossShareValue(address)\":{\"params\":{\"_vaultProxy\":\"The VaultProxy of the fund\"},\"returns\":{\"denominationAsset_\":\"The denomination asset of the fund\",\"grossShareValue_\":\"The gross share value quoted in the denomination asset\"}},\"calcGrossShareValueInAsset(address,address)\":{\"params\":{\"_quoteAsset\":\"The quote asset\",\"_vaultProxy\":\"The VaultProxy of the fund\"},\"returns\":{\"grossShareValue_\":\"The gross share value quoted in _quoteAsset\"}},\"calcNav(address)\":{\"params\":{\"_vaultProxy\":\"The VaultProxy of the fund\"},\"returns\":{\"denominationAsset_\":\"The denomination asset of the fund\",\"nav_\":\"The NAV quoted in the denomination asset\"}},\"calcNavInAsset(address,address)\":{\"params\":{\"_quoteAsset\":\"The quote asset\",\"_vaultProxy\":\"The VaultProxy of the fund\"},\"returns\":{\"nav_\":\"The NAV quoted in _quoteAsset\"}},\"calcNetShareValue(address)\":{\"params\":{\"_vaultProxy\":\"The VaultProxy of the fund\"},\"returns\":{\"denominationAsset_\":\"The denomination asset of the fund\",\"netShareValue_\":\"The net share value quoted in the denomination asset\"}},\"calcNetShareValueInAsset(address,address)\":{\"params\":{\"_quoteAsset\":\"The quote asset\",\"_vaultProxy\":\"The VaultProxy of the fund\"},\"returns\":{\"netShareValue_\":\"The net share value quoted in _quoteAsset\"}},\"calcNetValueForSharesHolder(address,address)\":{\"params\":{\"_sharesHolder\":\"The account holding shares\",\"_vaultProxy\":\"The VaultProxy of the fund\"},\"returns\":{\"denominationAsset_\":\"The denomination asset of the fund\",\"netValue_\":\"The net value of all shares held by _sharesHolder\"}},\"calcNetValueForSharesHolderInAsset(address,address,address)\":{\"params\":{\"_quoteAsset\":\"The quote asset\",\"_sharesHolder\":\"The account holding shares\",\"_vaultProxy\":\"The VaultProxy of the fund\"},\"returns\":{\"netValue_\":\"The net value of all shares held by _sharesHolder quoted in _quoteAsset\"}},\"getDispatcher()\":{\"returns\":{\"dispatcher_\":\"The `DISPATCHER` variable value\"}},\"getFundValueCalculatorForFundDeployer(address)\":{\"params\":{\"_fundDeployer\":\"The FundDeployer for which to get the FundValueCalculator address\"},\"returns\":{\"fundValueCalculator_\":\"The FundValueCalculator address\"}},\"getFundValueCalculatorForVault(address)\":{\"params\":{\"_vaultProxy\":\"The VaultProxy of the fund\"},\"returns\":{\"fundValueCalculatorContract_\":\"The FundValueCalculator instance\"}},\"setFundValueCalculators(address[],address[])\":{\"params\":{\"_fundDeployers\":\"The FundDeployer instances\",\"_fundValueCalculators\":\"The FundValueCalculator instances corresponding to each instance in _fundDeployers\"}}},\"title\":\"FundValueCalculatorRouter Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"calcGav(address)\":{\"notice\":\"Calculates the GAV for a given fund\"},\"calcGavInAsset(address,address)\":{\"notice\":\"Calculates the GAV for a given fund, quoted in a given asset\"},\"calcGrossShareValue(address)\":{\"notice\":\"Calculates the gross value of one shares unit (10 ** 18) for a given fund\"},\"calcGrossShareValueInAsset(address,address)\":{\"notice\":\"Calculates the gross value of one shares unit (10 ** 18) for a given fund, quoted in a given asset\"},\"calcNav(address)\":{\"notice\":\"Calculates the NAV for a given fund\"},\"calcNavInAsset(address,address)\":{\"notice\":\"Calculates the NAV for a given fund, quoted in a given asset\"},\"calcNetShareValue(address)\":{\"notice\":\"Calculates the net value of one shares unit (10 ** 18) for a given fund\"},\"calcNetShareValueInAsset(address,address)\":{\"notice\":\"Calculates the net value of one shares unit (10 ** 18) for a given fund, quoted in a given asset\"},\"calcNetValueForSharesHolder(address,address)\":{\"notice\":\"Calculates the net value of all shares held by a specified account\"},\"calcNetValueForSharesHolderInAsset(address,address,address)\":{\"notice\":\"Calculates the net value of all shares held by a specified account, quoted in a given asset\"},\"getDispatcher()\":{\"notice\":\"Gets the `DISPATCHER` variable\"},\"getFundValueCalculatorForFundDeployer(address)\":{\"notice\":\"Gets the FundValueCalculator address for a given FundDeployer\"},\"getFundValueCalculatorForVault(address)\":{\"notice\":\"Gets the FundValueCalculator instance to use for a given fund\"},\"setFundValueCalculators(address[],address[])\":{\"notice\":\"Sets FundValueCalculator instances for a list of FundDeployer instances\"}},\"notice\":\"A peripheral contract for routing value calculation requests to the correct FundValueCalculator instance for a particular release\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/off-chain/fund-value-calculator/FundValueCalculatorRouter.sol\":\"FundValueCalculatorRouter\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/off-chain/fund-value-calculator/FundValueCalculatorRouter.sol\":{\"keccak256\":\"0x313dcaccdb58e7e24854243cfe7286285dd385a1cbaa7836f9fe3beaa8c9b94c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://db28f41b75d384877faa0e7dca4c713b0d59cb84e97b7393805212a672453474\",\"dweb:/ipfs/QmVWq8rzvUkuuH4F5KRj2taWi1eHkgdvHkQptHa8P18arS\"]},\"contracts/persistent/off-chain/fund-value-calculator/IFundValueCalculator.sol\":{\"keccak256\":\"0x993e11b879d6ad85f5ecf5f8e1880989c010bdf03de2079b39f66a953844de2d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f61a09908b981589bc4d3657736276f463f1ea23f9811b8d174cd5de224b556d\",\"dweb:/ipfs/QmU6rYofnKmWSTBzshVMxFnVRtBKCECSpnGepDy6DddCbv\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_dispatcher", "type": "address" }, { "internalType": "address[]", "name": "_fundDeployers", "type": "address[]" }, { "internalType": "address[]", "name": "_fundValueCalculators", "type": "address[]" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "fundDeployer", "type": "address", "indexed": true }, { "internalType": "address", "name": "fundValueCalculator", "type": "address", "indexed": false } ], "type": "event", "name": "FundValueCalculatorUpdated", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "calcGav", "outputs": [ { "internalType": "address", "name": "denominationAsset_", "type": "address" }, { "internalType": "uint256", "name": "gav_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "address", "name": "_quoteAsset", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "calcGavInAsset", "outputs": [ { "internalType": "uint256", "name": "gav_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "calcGrossShareValue", "outputs": [ { "internalType": "address", "name": "denominationAsset_", "type": "address" }, { "internalType": "uint256", "name": "grossShareValue_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "address", "name": "_quoteAsset", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "calcGrossShareValueInAsset", "outputs": [ { "internalType": "uint256", "name": "grossShareValue_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "calcNav", "outputs": [ { "internalType": "address", "name": "denominationAsset_", "type": "address" }, { "internalType": "uint256", "name": "nav_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "address", "name": "_quoteAsset", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "calcNavInAsset", "outputs": [ { "internalType": "uint256", "name": "nav_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "calcNetShareValue", "outputs": [ { "internalType": "address", "name": "denominationAsset_", "type": "address" }, { "internalType": "uint256", "name": "netShareValue_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "address", "name": "_quoteAsset", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "calcNetShareValueInAsset", "outputs": [ { "internalType": "uint256", "name": "netShareValue_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "address", "name": "_sharesHolder", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "calcNetValueForSharesHolder", "outputs": [ { "internalType": "address", "name": "denominationAsset_", "type": "address" }, { "internalType": "uint256", "name": "netValue_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "address", "name": "_sharesHolder", "type": "address" }, { "internalType": "address", "name": "_quoteAsset", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "calcNetValueForSharesHolderInAsset", "outputs": [ { "internalType": "uint256", "name": "netValue_", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getDispatcher", "outputs": [ { "internalType": "address", "name": "dispatcher_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_fundDeployer", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getFundValueCalculatorForFundDeployer", "outputs": [ { "internalType": "address", "name": "fundValueCalculator_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getFundValueCalculatorForVault", "outputs": [ { "internalType": "contract IFundValueCalculator", "name": "fundValueCalculatorContract_", "type": "address" } ] }, { "inputs": [ { "internalType": "address[]", "name": "_fundDeployers", "type": "address[]" }, { "internalType": "address[]", "name": "_fundValueCalculators", "type": "address[]" } ], "stateMutability": "nonpayable", "type": "function", "name": "setFundValueCalculators" } ], "devdoc": { "kind": "dev", "methods": { "calcGav(address)": { "params": { "_vaultProxy": "The VaultProxy of the fund" }, "returns": { "denominationAsset_": "The denomination asset of the fund", "gav_": "The GAV quoted in the denomination asset" } }, "calcGavInAsset(address,address)": { "params": { "_quoteAsset": "The quote asset", "_vaultProxy": "The VaultProxy of the fund" }, "returns": { "gav_": "The GAV quoted in _quoteAsset" } }, "calcGrossShareValue(address)": { "params": { "_vaultProxy": "The VaultProxy of the fund" }, "returns": { "denominationAsset_": "The denomination asset of the fund", "grossShareValue_": "The gross share value quoted in the denomination asset" } }, "calcGrossShareValueInAsset(address,address)": { "params": { "_quoteAsset": "The quote asset", "_vaultProxy": "The VaultProxy of the fund" }, "returns": { "grossShareValue_": "The gross share value quoted in _quoteAsset" } }, "calcNav(address)": { "params": { "_vaultProxy": "The VaultProxy of the fund" }, "returns": { "denominationAsset_": "The denomination asset of the fund", "nav_": "The NAV quoted in the denomination asset" } }, "calcNavInAsset(address,address)": { "params": { "_quoteAsset": "The quote asset", "_vaultProxy": "The VaultProxy of the fund" }, "returns": { "nav_": "The NAV quoted in _quoteAsset" } }, "calcNetShareValue(address)": { "params": { "_vaultProxy": "The VaultProxy of the fund" }, "returns": { "denominationAsset_": "The denomination asset of the fund", "netShareValue_": "The net share value quoted in the denomination asset" } }, "calcNetShareValueInAsset(address,address)": { "params": { "_quoteAsset": "The quote asset", "_vaultProxy": "The VaultProxy of the fund" }, "returns": { "netShareValue_": "The net share value quoted in _quoteAsset" } }, "calcNetValueForSharesHolder(address,address)": { "params": { "_sharesHolder": "The account holding shares", "_vaultProxy": "The VaultProxy of the fund" }, "returns": { "denominationAsset_": "The denomination asset of the fund", "netValue_": "The net value of all shares held by _sharesHolder" } }, "calcNetValueForSharesHolderInAsset(address,address,address)": { "params": { "_quoteAsset": "The quote asset", "_sharesHolder": "The account holding shares", "_vaultProxy": "The VaultProxy of the fund" }, "returns": { "netValue_": "The net value of all shares held by _sharesHolder quoted in _quoteAsset" } }, "getDispatcher()": { "returns": { "dispatcher_": "The `DISPATCHER` variable value" } }, "getFundValueCalculatorForFundDeployer(address)": { "params": { "_fundDeployer": "The FundDeployer for which to get the FundValueCalculator address" }, "returns": { "fundValueCalculator_": "The FundValueCalculator address" } }, "getFundValueCalculatorForVault(address)": { "params": { "_vaultProxy": "The VaultProxy of the fund" }, "returns": { "fundValueCalculatorContract_": "The FundValueCalculator instance" } }, "setFundValueCalculators(address[],address[])": { "params": { "_fundDeployers": "The FundDeployer instances", "_fundValueCalculators": "The FundValueCalculator instances corresponding to each instance in _fundDeployers" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "calcGav(address)": { "notice": "Calculates the GAV for a given fund" }, "calcGavInAsset(address,address)": { "notice": "Calculates the GAV for a given fund, quoted in a given asset" }, "calcGrossShareValue(address)": { "notice": "Calculates the gross value of one shares unit (10 ** 18) for a given fund" }, "calcGrossShareValueInAsset(address,address)": { "notice": "Calculates the gross value of one shares unit (10 ** 18) for a given fund, quoted in a given asset" }, "calcNav(address)": { "notice": "Calculates the NAV for a given fund" }, "calcNavInAsset(address,address)": { "notice": "Calculates the NAV for a given fund, quoted in a given asset" }, "calcNetShareValue(address)": { "notice": "Calculates the net value of one shares unit (10 ** 18) for a given fund" }, "calcNetShareValueInAsset(address,address)": { "notice": "Calculates the net value of one shares unit (10 ** 18) for a given fund, quoted in a given asset" }, "calcNetValueForSharesHolder(address,address)": { "notice": "Calculates the net value of all shares held by a specified account" }, "calcNetValueForSharesHolderInAsset(address,address,address)": { "notice": "Calculates the net value of all shares held by a specified account, quoted in a given asset" }, "getDispatcher()": { "notice": "Gets the `DISPATCHER` variable" }, "getFundValueCalculatorForFundDeployer(address)": { "notice": "Gets the FundValueCalculator address for a given FundDeployer" }, "getFundValueCalculatorForVault(address)": { "notice": "Gets the FundValueCalculator instance to use for a given fund" }, "setFundValueCalculators(address[],address[])": { "notice": "Sets FundValueCalculator instances for a list of FundDeployer instances" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/persistent/off-chain/fund-value-calculator/FundValueCalculatorRouter.sol": "FundValueCalculatorRouter" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/dispatcher/IDispatcher.sol": { "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", "urls": [ "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" ], "license": "GPL-3.0" }, "contracts/persistent/off-chain/fund-value-calculator/FundValueCalculatorRouter.sol": { "keccak256": "0x313dcaccdb58e7e24854243cfe7286285dd385a1cbaa7836f9fe3beaa8c9b94c", "urls": [ "bzz-raw://db28f41b75d384877faa0e7dca4c713b0d59cb84e97b7393805212a672453474", "dweb:/ipfs/QmVWq8rzvUkuuH4F5KRj2taWi1eHkgdvHkQptHa8P18arS" ], "license": "GPL-3.0" }, "contracts/persistent/off-chain/fund-value-calculator/IFundValueCalculator.sol": { "keccak256": "0x993e11b879d6ad85f5ecf5f8e1880989c010bdf03de2079b39f66a953844de2d", "urls": [ "bzz-raw://f61a09908b981589bc4d3657736276f463f1ea23f9811b8d174cd5de224b556d", "dweb:/ipfs/QmU6rYofnKmWSTBzshVMxFnVRtBKCECSpnGepDy6DddCbv" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 49 } diff --git a/eth_defi/abi/enzyme/FundValueCalculatorUsdWrapper.json b/eth_defi/abi/enzyme/FundValueCalculatorUsdWrapper.json index ee8d792e..b5567eb5 100644 --- a/eth_defi/abi/enzyme/FundValueCalculatorUsdWrapper.json +++ b/eth_defi/abi/enzyme/FundValueCalculatorUsdWrapper.json @@ -1,594 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_fundValueCalculatorRouter", - "type": "address" - }, - { - "internalType": "address", - "name": "_wethToken", - "type": "address" - }, - { - "internalType": "address", - "name": "_ethUsdAggregator", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_staleRateThreshold", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - } - ], - "name": "calcGav", - "outputs": [ - { - "internalType": "uint256", - "name": "gav_", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - } - ], - "name": "calcGrossShareValue", - "outputs": [ - { - "internalType": "uint256", - "name": "grossShareValue_", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - } - ], - "name": "calcNav", - "outputs": [ - { - "internalType": "uint256", - "name": "nav_", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - } - ], - "name": "calcNetShareValue", - "outputs": [ - { - "internalType": "uint256", - "name": "netShareValue_", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_sharesHolder", - "type": "address" - } - ], - "name": "calcNetValueForSharesHolder", - "outputs": [ - { - "internalType": "uint256", - "name": "netValue_", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getEthUsdAggregatorContract", - "outputs": [ - { - "internalType": "contract IChainlinkAggregatorFundValueCalculatorUsdWrapper", - "name": "ethUsdAggregatorContract_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getFundValueCalculatorRouter", - "outputs": [ - { - "internalType": "address", - "name": "fundValueCalculatorRouter_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getStaleRateThreshold", - "outputs": [ - { - "internalType": "uint256", - "name": "staleRateThreshold_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getWethToken", - "outputs": [ - { - "internalType": "address", - "name": "wethToken_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x61010060405234801561001157600080fd5b5060405161077d38038061077d8339818101604052608081101561003457600080fd5b508051602082015160408301516060938401516001600160601b031991851b821660805292841b811660a05260c09290925290911b1660e05260805160601c60a05160601c60c05160e05160601c6106d26100ab6000398061029f5250806103cc52508061025d5250806102e552506106d26000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c806353d467f31161006657806353d467f3146101225780636ed0a4ef1461014857806381dfa95b14610150578063b54fbdaa1461017e578063c35526631461018657610093565b8063037276c1146100985780632f88698c146100d05780633ba6b851146100f45780634c252f911461011a575b600080fd5b6100be600480360360208110156100ae57600080fd5b50356001600160a01b03166101ac565b60408051918252519081900360200190f35b6100d861025b565b604080516001600160a01b039092168252519081900360200190f35b6100be6004803603602081101561010a57600080fd5b50356001600160a01b031661027f565b6100d861029d565b6100be6004803603602081101561013857600080fd5b50356001600160a01b03166102c1565b6100d86102e3565b6100be6004803603604081101561016657600080fd5b506001600160a01b0381358116916020013516610307565b6100be6103ca565b6100be6004803603602081101561019c57600080fd5b50356001600160a01b03166103ee565b6000806101b761025b565b6001600160a01b03166351ac29c7846101ce61029d565b6040518363ffffffff1660e01b815260040180836001600160a01b03168152602001826001600160a01b0316815260200192505050602060405180830381600087803b15801561021d57600080fd5b505af1158015610231573d6000803e3d6000fd5b505050506040513d602081101561024757600080fd5b5051905061025481610410565b9392505050565b7f000000000000000000000000000000000000000000000000000000000000000090565b60008061028a61025b565b6001600160a01b031663faf6eeef846101ce5b7f000000000000000000000000000000000000000000000000000000000000000090565b6000806102cc61025b565b6001600160a01b031663c65988ff846101ce61029d565b7f000000000000000000000000000000000000000000000000000000000000000090565b60008061031261025b565b6001600160a01b0316634807ccbd858561032a61029d565b6040518463ffffffff1660e01b815260040180846001600160a01b03168152602001836001600160a01b03168152602001826001600160a01b031681526020019350505050602060405180830381600087803b15801561038957600080fd5b505af115801561039d573d6000803e3d6000fd5b505050506040513d60208110156103b357600080fd5b505190506103c081610410565b9150505b92915050565b7f000000000000000000000000000000000000000000000000000000000000000090565b6000806103f961025b565b6001600160a01b031663eefcb1b3846101ce61029d565b600080600061041d6102e3565b6001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a06040518083038186803b15801561045557600080fd5b505afa158015610469573d6000803e3d6000fd5b505050506040513d60a081101561047f57600080fd5b5060208101516060909101519092509050600082136104cf5760405162461bcd60e51b81526004018080602001828103825260228152602001806106a46022913960400191505060405180910390fd5b6104e16104da6103ca565b429061053f565b81101561051f5760405162461bcd60e51b815260040180806020018281038252602681526020018061065d6026913960400191505060405180910390fd5b6105376305f5e100610531868561059c565b906105f5565b949350505050565b600082821115610596576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6000826105ab575060006103c4565b828202828482816105b857fe5b04146102545760405162461bcd60e51b81526004018080602001828103825260218152602001806106836021913960400191505060405180910390fd5b600080821161064b576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b81838161065457fe5b04939250505056fe5f5f636f6e76657274457468546f5573643a205374616c652072617465206465746563746564536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775f5f636f6e76657274457468546f5573643a20426164206574685573642072617465a164736f6c634300060c000a", - "sourceMap": "1181:5227:48:-:0;;;1527:376;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1527:376:48;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1706:38:48;;;;;1527:376;1706:38;1754:57;;;;;;;1821:42;;;;;1873:23;;;;;;1181:5227;;;;;;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106100935760003560e01c806353d467f31161006657806353d467f3146101225780636ed0a4ef1461014857806381dfa95b14610150578063b54fbdaa1461017e578063c35526631461018657610093565b8063037276c1146100985780632f88698c146100d05780633ba6b851146100f45780634c252f911461011a575b600080fd5b6100be600480360360208110156100ae57600080fd5b50356001600160a01b03166101ac565b60408051918252519081900360200190f35b6100d861025b565b604080516001600160a01b039092168252519081900360200190f35b6100be6004803603602081101561010a57600080fd5b50356001600160a01b031661027f565b6100d861029d565b6100be6004803603602081101561013857600080fd5b50356001600160a01b03166102c1565b6100d86102e3565b6100be6004803603604081101561016657600080fd5b506001600160a01b0381358116916020013516610307565b6100be6103ca565b6100be6004803603602081101561019c57600080fd5b50356001600160a01b03166103ee565b6000806101b761025b565b6001600160a01b03166351ac29c7846101ce61029d565b6040518363ffffffff1660e01b815260040180836001600160a01b03168152602001826001600160a01b0316815260200192505050602060405180830381600087803b15801561021d57600080fd5b505af1158015610231573d6000803e3d6000fd5b505050506040513d602081101561024757600080fd5b5051905061025481610410565b9392505050565b7f000000000000000000000000000000000000000000000000000000000000000090565b60008061028a61025b565b6001600160a01b031663faf6eeef846101ce5b7f000000000000000000000000000000000000000000000000000000000000000090565b6000806102cc61025b565b6001600160a01b031663c65988ff846101ce61029d565b7f000000000000000000000000000000000000000000000000000000000000000090565b60008061031261025b565b6001600160a01b0316634807ccbd858561032a61029d565b6040518463ffffffff1660e01b815260040180846001600160a01b03168152602001836001600160a01b03168152602001826001600160a01b031681526020019350505050602060405180830381600087803b15801561038957600080fd5b505af115801561039d573d6000803e3d6000fd5b505050506040513d60208110156103b357600080fd5b505190506103c081610410565b9150505b92915050565b7f000000000000000000000000000000000000000000000000000000000000000090565b6000806103f961025b565b6001600160a01b031663eefcb1b3846101ce61029d565b600080600061041d6102e3565b6001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a06040518083038186803b15801561045557600080fd5b505afa158015610469573d6000803e3d6000fd5b505050506040513d60a081101561047f57600080fd5b5060208101516060909101519092509050600082136104cf5760405162461bcd60e51b81526004018080602001828103825260228152602001806106a46022913960400191505060405180910390fd5b6104e16104da6103ca565b429061053f565b81101561051f5760405162461bcd60e51b815260040180806020018281038252602681526020018061065d6026913960400191505060405180910390fd5b6105376305f5e100610531868561059c565b906105f5565b949350505050565b600082821115610596576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6000826105ab575060006103c4565b828202828482816105b857fe5b04146102545760405162461bcd60e51b81526004018080602001828103825260218152602001806106836021913960400191505060405180910390fd5b600080821161064b576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b81838161065457fe5b04939250505056fe5f5f636f6e76657274457468546f5573643a205374616c652072617465206465746563746564536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775f5f636f6e76657274457468546f5573643a20426164206574685573642072617465a164736f6c634300060c000a", - "sourceMap": "1181:5227:48:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2092:269;;;;;;;;;;;;;;;;-1:-1:-1;2092:269:48;-1:-1:-1;;;;;2092:269:48;;:::i;:::-;;;;;;;;;;;;;;;;5747:177;;;:::i;:::-;;;;-1:-1:-1;;;;;5747:177:48;;;;;;;;;;;;;;3543:299;;;;;;;;;;;;;;;;-1:-1:-1;3543:299:48;-1:-1:-1;;;;;3543:299:48;;:::i;6307:99::-;;;:::i;3054:269::-;;;;;;;;;;;;;;;;-1:-1:-1;3054:269:48;-1:-1:-1;;;;;3054:269:48;;:::i;5325:258::-;;;:::i;4138:372::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;4138:372:48;;;;;;;;;;:::i;6062:127::-;;;:::i;2587:305::-;;;;;;;;;;;;;;;;-1:-1:-1;2587:305:48;-1:-1:-1;;;;;2587:305:48;;:::i;2092:269::-;2148:12;2172:18;2219:30;:28;:30::i;:::-;-1:-1:-1;;;;;2193:85:48;;2279:11;2292:14;:12;:14::i;:::-;2193:114;;;;;;;;;;;;;-1:-1:-1;;;;;2193:114:48;;;;;;-1:-1:-1;;;;;2193:114:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2193:114:48;;-1:-1:-1;2325:29:48;2193:114;2325:17;:29::i;:::-;2318:36;2092:269;-1:-1:-1;;;2092:269:48:o;5747:177::-;5889:28;5747:177;:::o;3543:299::-;3609:22;3643:18;3690:30;:28;:30::i;:::-;-1:-1:-1;;;;;3664:95:48;;3760:11;3773:14;6307:99;6389:10;6307:99;:::o;3054:269::-;3110:12;3134:18;3181:30;:28;:30::i;:::-;-1:-1:-1;;;;;3155:85:48;;3241:11;3254:14;:12;:14::i;5325:258::-;5557:18;5325:258;:::o;4138:372::-;4253:17;4286:18;4333:30;:28;:30::i;:::-;-1:-1:-1;;;;;4307:105:48;;4413:11;4426:13;4441:14;:12;:14::i;:::-;4307:149;;;;;;;;;;;;;-1:-1:-1;;;;;4307:149:48;;;;;;-1:-1:-1;;;;;4307:149:48;;;;;;-1:-1:-1;;;;;4307:149:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4307:149:48;;-1:-1:-1;4474:29:48;4307:149;4474:17;:29::i;:::-;4467:36;;;4138:372;;;;;:::o;6062:127::-;6162:20;6062:127;:::o;2587:305::-;2655:24;2691:18;2738:30;:28;:30::i;:::-;-1:-1:-1;;;;;2712:97:48;;2810:11;2823:14;:12;:14::i;4568:535::-;4637:18;4670:20;4694:17;4717:29;:27;:29::i;:::-;-1:-1:-1;;;;;4717:58:48;;:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4717:60:48;;;;;;;;;;;-1:-1:-1;4717:60:48;-1:-1:-1;4811:1:48;4795:17;;4787:64;;;;-1:-1:-1;;;4787:64:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4895:44;4915:23;:21;:23::i;:::-;4895:15;;:19;:44::i;:::-;4882:9;:57;;4861:142;;;;-1:-1:-1;;;4861:142:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5021:75;5064:31;5021:38;:10;5044:13;5021:14;:38::i;:::-;:42;;:75::i;:::-;5014:82;4568:535;-1:-1:-1;;;;4568:535:48:o;3136:155:442:-;3194:7;3226:1;3221;:6;;3213:49;;;;;-1:-1:-1;;;3213:49:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3279:5:442;;;3136:155::o;3538:215::-;3596:7;3619:6;3615:20;;-1:-1:-1;3634:1:442;3627:8;;3615:20;3657:5;;;3661:1;3657;:5;:1;3680:5;;;;;:10;3672:56;;;;-1:-1:-1;;;3672:56:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4217:150;4275:7;4306:1;4302;:5;4294:44;;;;;-1:-1:-1;;;4294:44:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;4359:1;4355;:5;;;;;;;4217:150;-1:-1:-1;;;4217:150:442:o", - "linkReferences": {}, - "immutableReferences": { - "6350": [ - { - "start": 741, - "length": 32 - } - ], - "6352": [ - { - "start": 605, - "length": 32 - } - ], - "6354": [ - { - "start": 972, - "length": 32 - } - ], - "6356": [ - { - "start": 671, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "calcGav(address)": "037276c1", - "calcGrossShareValue(address)": "c3552663", - "calcNav(address)": "53d467f3", - "calcNetShareValue(address)": "3ba6b851", - "calcNetValueForSharesHolder(address,address)": "81dfa95b", - "getEthUsdAggregatorContract()": "6ed0a4ef", - "getFundValueCalculatorRouter()": "2f88698c", - "getStaleRateThreshold()": "b54fbdaa", - "getWethToken()": "4c252f91" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_fundValueCalculatorRouter\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_wethToken\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_ethUsdAggregator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_staleRateThreshold\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"}],\"name\":\"calcGav\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"gav_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"}],\"name\":\"calcGrossShareValue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"grossShareValue_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"}],\"name\":\"calcNav\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"nav_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"}],\"name\":\"calcNetShareValue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"netShareValue_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_sharesHolder\",\"type\":\"address\"}],\"name\":\"calcNetValueForSharesHolder\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"netValue_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getEthUsdAggregatorContract\",\"outputs\":[{\"internalType\":\"contract IChainlinkAggregatorFundValueCalculatorUsdWrapper\",\"name\":\"ethUsdAggregatorContract_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFundValueCalculatorRouter\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"fundValueCalculatorRouter_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getStaleRateThreshold\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"staleRateThreshold_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getWethToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"wethToken_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"USD values are normalized to a precision of 18 decimals. These values should generally only be consumed from off-chain, unless you understand how each release interprets each calculation.\",\"kind\":\"dev\",\"methods\":{\"calcGav(address)\":{\"params\":{\"_vaultProxy\":\"The VaultProxy of the fund\"},\"returns\":{\"gav_\":\"The GAV quoted in USD\"}},\"calcGrossShareValue(address)\":{\"params\":{\"_vaultProxy\":\"The VaultProxy of the fund\"},\"returns\":{\"grossShareValue_\":\"The gross share value quoted in USD\"}},\"calcNav(address)\":{\"params\":{\"_vaultProxy\":\"The VaultProxy of the fund\"},\"returns\":{\"nav_\":\"The NAV quoted in USD\"}},\"calcNetShareValue(address)\":{\"params\":{\"_vaultProxy\":\"The VaultProxy of the fund\"},\"returns\":{\"netShareValue_\":\"The net share value quoted in USD\"}},\"calcNetValueForSharesHolder(address,address)\":{\"params\":{\"_sharesHolder\":\"The account holding shares\",\"_vaultProxy\":\"The VaultProxy of the fund\"},\"returns\":{\"netValue_\":\"The net value of all shares held by _sharesHolder quoted in USD\"}},\"getEthUsdAggregatorContract()\":{\"returns\":{\"ethUsdAggregatorContract_\":\"The `ETH_USD_AGGREGATOR` variable value\"}},\"getFundValueCalculatorRouter()\":{\"returns\":{\"fundValueCalculatorRouter_\":\"The `FUND_VALUE_CALCULATOR_ROUTER` variable value\"}},\"getStaleRateThreshold()\":{\"returns\":{\"staleRateThreshold_\":\"The `STALE_RATE_THRESHOLD` value\"}},\"getWethToken()\":{\"returns\":{\"wethToken_\":\"The `WETH_TOKEN` variable value\"}}},\"title\":\"FundValueCalculatorUsdWrapper Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"calcGav(address)\":{\"notice\":\"Calculates the GAV for a given fund in USD\"},\"calcGrossShareValue(address)\":{\"notice\":\"Calculates the gross value of one shares unit (10 ** 18) for a given fund in USD\"},\"calcNav(address)\":{\"notice\":\"Calculates the NAV for a given fund in USD\"},\"calcNetShareValue(address)\":{\"notice\":\"Calculates the net value of one shares unit (10 ** 18) for a given fund in USD\"},\"calcNetValueForSharesHolder(address,address)\":{\"notice\":\"Calculates the net value of all shares held by a specified account in USD\"},\"getEthUsdAggregatorContract()\":{\"notice\":\"Gets the `ETH_USD_AGGREGATOR` variable value\"},\"getFundValueCalculatorRouter()\":{\"notice\":\"Gets the `FUND_VALUE_CALCULATOR_ROUTER` variable\"},\"getStaleRateThreshold()\":{\"notice\":\"Gets the `STALE_RATE_THRESHOLD` variable value\"},\"getWethToken()\":{\"notice\":\"Gets the `WETH_TOKEN` variable value\"}},\"notice\":\"Wraps the FundValueCalculatorRouter to get fund values with USD as the quote asset\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/off-chain/fund-value-calculator-usd-wrapper/FundValueCalculatorUsdWrapper.sol\":\"FundValueCalculatorUsdWrapper\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/off-chain/fund-value-calculator-usd-wrapper/FundValueCalculatorUsdWrapper.sol\":{\"keccak256\":\"0xc3c5e8014a0ba529376f25acf17319dc7e1f723421bcaa4f3028f233a94261b3\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b60b51fdaeea8f7c41faa6868ce366218f9504987678a83faccc371656967aff\",\"dweb:/ipfs/QmdU9KyTpUyNfDXT4QNSMwfswDZr6Z4okE9DqX3EFLL3cm\"]},\"contracts/persistent/off-chain/fund-value-calculator/FundValueCalculatorRouter.sol\":{\"keccak256\":\"0x313dcaccdb58e7e24854243cfe7286285dd385a1cbaa7836f9fe3beaa8c9b94c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://db28f41b75d384877faa0e7dca4c713b0d59cb84e97b7393805212a672453474\",\"dweb:/ipfs/QmVWq8rzvUkuuH4F5KRj2taWi1eHkgdvHkQptHa8P18arS\"]},\"contracts/persistent/off-chain/fund-value-calculator/IFundValueCalculator.sol\":{\"keccak256\":\"0x993e11b879d6ad85f5ecf5f8e1880989c010bdf03de2079b39f66a953844de2d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f61a09908b981589bc4d3657736276f463f1ea23f9811b8d174cd5de224b556d\",\"dweb:/ipfs/QmU6rYofnKmWSTBzshVMxFnVRtBKCECSpnGepDy6DddCbv\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_fundValueCalculatorRouter", - "type": "address" - }, - { - "internalType": "address", - "name": "_wethToken", - "type": "address" - }, - { - "internalType": "address", - "name": "_ethUsdAggregator", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_staleRateThreshold", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "calcGav", - "outputs": [ - { - "internalType": "uint256", - "name": "gav_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "calcGrossShareValue", - "outputs": [ - { - "internalType": "uint256", - "name": "grossShareValue_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "calcNav", - "outputs": [ - { - "internalType": "uint256", - "name": "nav_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "calcNetShareValue", - "outputs": [ - { - "internalType": "uint256", - "name": "netShareValue_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_sharesHolder", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "calcNetValueForSharesHolder", - "outputs": [ - { - "internalType": "uint256", - "name": "netValue_", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getEthUsdAggregatorContract", - "outputs": [ - { - "internalType": "contract IChainlinkAggregatorFundValueCalculatorUsdWrapper", - "name": "ethUsdAggregatorContract_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getFundValueCalculatorRouter", - "outputs": [ - { - "internalType": "address", - "name": "fundValueCalculatorRouter_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getStaleRateThreshold", - "outputs": [ - { - "internalType": "uint256", - "name": "staleRateThreshold_", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getWethToken", - "outputs": [ - { - "internalType": "address", - "name": "wethToken_", - "type": "address" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "calcGav(address)": { - "params": { - "_vaultProxy": "The VaultProxy of the fund" - }, - "returns": { - "gav_": "The GAV quoted in USD" - } - }, - "calcGrossShareValue(address)": { - "params": { - "_vaultProxy": "The VaultProxy of the fund" - }, - "returns": { - "grossShareValue_": "The gross share value quoted in USD" - } - }, - "calcNav(address)": { - "params": { - "_vaultProxy": "The VaultProxy of the fund" - }, - "returns": { - "nav_": "The NAV quoted in USD" - } - }, - "calcNetShareValue(address)": { - "params": { - "_vaultProxy": "The VaultProxy of the fund" - }, - "returns": { - "netShareValue_": "The net share value quoted in USD" - } - }, - "calcNetValueForSharesHolder(address,address)": { - "params": { - "_sharesHolder": "The account holding shares", - "_vaultProxy": "The VaultProxy of the fund" - }, - "returns": { - "netValue_": "The net value of all shares held by _sharesHolder quoted in USD" - } - }, - "getEthUsdAggregatorContract()": { - "returns": { - "ethUsdAggregatorContract_": "The `ETH_USD_AGGREGATOR` variable value" - } - }, - "getFundValueCalculatorRouter()": { - "returns": { - "fundValueCalculatorRouter_": "The `FUND_VALUE_CALCULATOR_ROUTER` variable value" - } - }, - "getStaleRateThreshold()": { - "returns": { - "staleRateThreshold_": "The `STALE_RATE_THRESHOLD` value" - } - }, - "getWethToken()": { - "returns": { - "wethToken_": "The `WETH_TOKEN` variable value" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "calcGav(address)": { - "notice": "Calculates the GAV for a given fund in USD" - }, - "calcGrossShareValue(address)": { - "notice": "Calculates the gross value of one shares unit (10 ** 18) for a given fund in USD" - }, - "calcNav(address)": { - "notice": "Calculates the NAV for a given fund in USD" - }, - "calcNetShareValue(address)": { - "notice": "Calculates the net value of one shares unit (10 ** 18) for a given fund in USD" - }, - "calcNetValueForSharesHolder(address,address)": { - "notice": "Calculates the net value of all shares held by a specified account in USD" - }, - "getEthUsdAggregatorContract()": { - "notice": "Gets the `ETH_USD_AGGREGATOR` variable value" - }, - "getFundValueCalculatorRouter()": { - "notice": "Gets the `FUND_VALUE_CALCULATOR_ROUTER` variable" - }, - "getStaleRateThreshold()": { - "notice": "Gets the `STALE_RATE_THRESHOLD` variable value" - }, - "getWethToken()": { - "notice": "Gets the `WETH_TOKEN` variable value" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/persistent/off-chain/fund-value-calculator-usd-wrapper/FundValueCalculatorUsdWrapper.sol": "FundValueCalculatorUsdWrapper" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/dispatcher/IDispatcher.sol": { - "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", - "urls": [ - "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", - "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/off-chain/fund-value-calculator-usd-wrapper/FundValueCalculatorUsdWrapper.sol": { - "keccak256": "0xc3c5e8014a0ba529376f25acf17319dc7e1f723421bcaa4f3028f233a94261b3", - "urls": [ - "bzz-raw://b60b51fdaeea8f7c41faa6868ce366218f9504987678a83faccc371656967aff", - "dweb:/ipfs/QmdU9KyTpUyNfDXT4QNSMwfswDZr6Z4okE9DqX3EFLL3cm" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/off-chain/fund-value-calculator/FundValueCalculatorRouter.sol": { - "keccak256": "0x313dcaccdb58e7e24854243cfe7286285dd385a1cbaa7836f9fe3beaa8c9b94c", - "urls": [ - "bzz-raw://db28f41b75d384877faa0e7dca4c713b0d59cb84e97b7393805212a672453474", - "dweb:/ipfs/QmVWq8rzvUkuuH4F5KRj2taWi1eHkgdvHkQptHa8P18arS" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/off-chain/fund-value-calculator/IFundValueCalculator.sol": { - "keccak256": "0x993e11b879d6ad85f5ecf5f8e1880989c010bdf03de2079b39f66a953844de2d", - "urls": [ - "bzz-raw://f61a09908b981589bc4d3657736276f463f1ea23f9811b8d174cd5de224b556d", - "dweb:/ipfs/QmU6rYofnKmWSTBzshVMxFnVRtBKCECSpnGepDy6DddCbv" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 48 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_fundValueCalculatorRouter", "type": "address", "internalType": "address" }, { "name": "_wethToken", "type": "address", "internalType": "address" }, { "name": "_ethUsdAggregator", "type": "address", "internalType": "address" }, { "name": "_staleRateThreshold", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "calcGav", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "gav_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "calcGrossShareValue", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "grossShareValue_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "calcNav", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "nav_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "calcNetShareValue", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "netShareValue_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "calcNetValueForSharesHolder", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_sharesHolder", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "netValue_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "getEthUsdAggregatorContract", "inputs": [], "outputs": [ { "name": "ethUsdAggregatorContract_", "type": "address", "internalType": "contract IChainlinkAggregatorFundValueCalculatorUsdWrapper" } ], "stateMutability": "view" }, { "type": "function", "name": "getFundValueCalculatorRouter", "inputs": [], "outputs": [ { "name": "fundValueCalculatorRouter_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getStaleRateThreshold", "inputs": [], "outputs": [ { "name": "staleRateThreshold_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "getWethToken", "inputs": [], "outputs": [ { "name": "wethToken_", "type": "address", "internalType": "address" } ], "stateMutability": "view" } ], "bytecode": { "object": "0x61010060405234801561001157600080fd5b5060405161077d38038061077d8339818101604052608081101561003457600080fd5b508051602082015160408301516060938401516001600160601b031991851b821660805292841b811660a05260c09290925290911b1660e05260805160601c60a05160601c60c05160e05160601c6106d26100ab6000398061029f5250806103cc52508061025d5250806102e552506106d26000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c806353d467f31161006657806353d467f3146101225780636ed0a4ef1461014857806381dfa95b14610150578063b54fbdaa1461017e578063c35526631461018657610093565b8063037276c1146100985780632f88698c146100d05780633ba6b851146100f45780634c252f911461011a575b600080fd5b6100be600480360360208110156100ae57600080fd5b50356001600160a01b03166101ac565b60408051918252519081900360200190f35b6100d861025b565b604080516001600160a01b039092168252519081900360200190f35b6100be6004803603602081101561010a57600080fd5b50356001600160a01b031661027f565b6100d861029d565b6100be6004803603602081101561013857600080fd5b50356001600160a01b03166102c1565b6100d86102e3565b6100be6004803603604081101561016657600080fd5b506001600160a01b0381358116916020013516610307565b6100be6103ca565b6100be6004803603602081101561019c57600080fd5b50356001600160a01b03166103ee565b6000806101b761025b565b6001600160a01b03166351ac29c7846101ce61029d565b6040518363ffffffff1660e01b815260040180836001600160a01b03168152602001826001600160a01b0316815260200192505050602060405180830381600087803b15801561021d57600080fd5b505af1158015610231573d6000803e3d6000fd5b505050506040513d602081101561024757600080fd5b5051905061025481610410565b9392505050565b7f000000000000000000000000000000000000000000000000000000000000000090565b60008061028a61025b565b6001600160a01b031663faf6eeef846101ce5b7f000000000000000000000000000000000000000000000000000000000000000090565b6000806102cc61025b565b6001600160a01b031663c65988ff846101ce61029d565b7f000000000000000000000000000000000000000000000000000000000000000090565b60008061031261025b565b6001600160a01b0316634807ccbd858561032a61029d565b6040518463ffffffff1660e01b815260040180846001600160a01b03168152602001836001600160a01b03168152602001826001600160a01b031681526020019350505050602060405180830381600087803b15801561038957600080fd5b505af115801561039d573d6000803e3d6000fd5b505050506040513d60208110156103b357600080fd5b505190506103c081610410565b9150505b92915050565b7f000000000000000000000000000000000000000000000000000000000000000090565b6000806103f961025b565b6001600160a01b031663eefcb1b3846101ce61029d565b600080600061041d6102e3565b6001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a06040518083038186803b15801561045557600080fd5b505afa158015610469573d6000803e3d6000fd5b505050506040513d60a081101561047f57600080fd5b5060208101516060909101519092509050600082136104cf5760405162461bcd60e51b81526004018080602001828103825260228152602001806106a46022913960400191505060405180910390fd5b6104e16104da6103ca565b429061053f565b81101561051f5760405162461bcd60e51b815260040180806020018281038252602681526020018061065d6026913960400191505060405180910390fd5b6105376305f5e100610531868561059c565b906105f5565b949350505050565b600082821115610596576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6000826105ab575060006103c4565b828202828482816105b857fe5b04146102545760405162461bcd60e51b81526004018080602001828103825260218152602001806106836021913960400191505060405180910390fd5b600080821161064b576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b81838161065457fe5b04939250505056fe5f5f636f6e76657274457468546f5573643a205374616c652072617465206465746563746564536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775f5f636f6e76657274457468546f5573643a20426164206574685573642072617465a164736f6c634300060c000a", "sourceMap": "1181:5227:48:-:0;;;1527:376;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1527:376:48;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1706:38:48;;;;;1527:376;1706:38;1754:57;;;;;;;1821:42;;;;;1873:23;;;;;;1181:5227;;;;;;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106100935760003560e01c806353d467f31161006657806353d467f3146101225780636ed0a4ef1461014857806381dfa95b14610150578063b54fbdaa1461017e578063c35526631461018657610093565b8063037276c1146100985780632f88698c146100d05780633ba6b851146100f45780634c252f911461011a575b600080fd5b6100be600480360360208110156100ae57600080fd5b50356001600160a01b03166101ac565b60408051918252519081900360200190f35b6100d861025b565b604080516001600160a01b039092168252519081900360200190f35b6100be6004803603602081101561010a57600080fd5b50356001600160a01b031661027f565b6100d861029d565b6100be6004803603602081101561013857600080fd5b50356001600160a01b03166102c1565b6100d86102e3565b6100be6004803603604081101561016657600080fd5b506001600160a01b0381358116916020013516610307565b6100be6103ca565b6100be6004803603602081101561019c57600080fd5b50356001600160a01b03166103ee565b6000806101b761025b565b6001600160a01b03166351ac29c7846101ce61029d565b6040518363ffffffff1660e01b815260040180836001600160a01b03168152602001826001600160a01b0316815260200192505050602060405180830381600087803b15801561021d57600080fd5b505af1158015610231573d6000803e3d6000fd5b505050506040513d602081101561024757600080fd5b5051905061025481610410565b9392505050565b7f000000000000000000000000000000000000000000000000000000000000000090565b60008061028a61025b565b6001600160a01b031663faf6eeef846101ce5b7f000000000000000000000000000000000000000000000000000000000000000090565b6000806102cc61025b565b6001600160a01b031663c65988ff846101ce61029d565b7f000000000000000000000000000000000000000000000000000000000000000090565b60008061031261025b565b6001600160a01b0316634807ccbd858561032a61029d565b6040518463ffffffff1660e01b815260040180846001600160a01b03168152602001836001600160a01b03168152602001826001600160a01b031681526020019350505050602060405180830381600087803b15801561038957600080fd5b505af115801561039d573d6000803e3d6000fd5b505050506040513d60208110156103b357600080fd5b505190506103c081610410565b9150505b92915050565b7f000000000000000000000000000000000000000000000000000000000000000090565b6000806103f961025b565b6001600160a01b031663eefcb1b3846101ce61029d565b600080600061041d6102e3565b6001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a06040518083038186803b15801561045557600080fd5b505afa158015610469573d6000803e3d6000fd5b505050506040513d60a081101561047f57600080fd5b5060208101516060909101519092509050600082136104cf5760405162461bcd60e51b81526004018080602001828103825260228152602001806106a46022913960400191505060405180910390fd5b6104e16104da6103ca565b429061053f565b81101561051f5760405162461bcd60e51b815260040180806020018281038252602681526020018061065d6026913960400191505060405180910390fd5b6105376305f5e100610531868561059c565b906105f5565b949350505050565b600082821115610596576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6000826105ab575060006103c4565b828202828482816105b857fe5b04146102545760405162461bcd60e51b81526004018080602001828103825260218152602001806106836021913960400191505060405180910390fd5b600080821161064b576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b81838161065457fe5b04939250505056fe5f5f636f6e76657274457468546f5573643a205374616c652072617465206465746563746564536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775f5f636f6e76657274457468546f5573643a20426164206574685573642072617465a164736f6c634300060c000a", "sourceMap": "1181:5227:48:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2092:269;;;;;;;;;;;;;;;;-1:-1:-1;2092:269:48;-1:-1:-1;;;;;2092:269:48;;:::i;:::-;;;;;;;;;;;;;;;;5747:177;;;:::i;:::-;;;;-1:-1:-1;;;;;5747:177:48;;;;;;;;;;;;;;3543:299;;;;;;;;;;;;;;;;-1:-1:-1;3543:299:48;-1:-1:-1;;;;;3543:299:48;;:::i;6307:99::-;;;:::i;3054:269::-;;;;;;;;;;;;;;;;-1:-1:-1;3054:269:48;-1:-1:-1;;;;;3054:269:48;;:::i;5325:258::-;;;:::i;4138:372::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;4138:372:48;;;;;;;;;;:::i;6062:127::-;;;:::i;2587:305::-;;;;;;;;;;;;;;;;-1:-1:-1;2587:305:48;-1:-1:-1;;;;;2587:305:48;;:::i;2092:269::-;2148:12;2172:18;2219:30;:28;:30::i;:::-;-1:-1:-1;;;;;2193:85:48;;2279:11;2292:14;:12;:14::i;:::-;2193:114;;;;;;;;;;;;;-1:-1:-1;;;;;2193:114:48;;;;;;-1:-1:-1;;;;;2193:114:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2193:114:48;;-1:-1:-1;2325:29:48;2193:114;2325:17;:29::i;:::-;2318:36;2092:269;-1:-1:-1;;;2092:269:48:o;5747:177::-;5889:28;5747:177;:::o;3543:299::-;3609:22;3643:18;3690:30;:28;:30::i;:::-;-1:-1:-1;;;;;3664:95:48;;3760:11;3773:14;6307:99;6389:10;6307:99;:::o;3054:269::-;3110:12;3134:18;3181:30;:28;:30::i;:::-;-1:-1:-1;;;;;3155:85:48;;3241:11;3254:14;:12;:14::i;5325:258::-;5557:18;5325:258;:::o;4138:372::-;4253:17;4286:18;4333:30;:28;:30::i;:::-;-1:-1:-1;;;;;4307:105:48;;4413:11;4426:13;4441:14;:12;:14::i;:::-;4307:149;;;;;;;;;;;;;-1:-1:-1;;;;;4307:149:48;;;;;;-1:-1:-1;;;;;4307:149:48;;;;;;-1:-1:-1;;;;;4307:149:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4307:149:48;;-1:-1:-1;4474:29:48;4307:149;4474:17;:29::i;:::-;4467:36;;;4138:372;;;;;:::o;6062:127::-;6162:20;6062:127;:::o;2587:305::-;2655:24;2691:18;2738:30;:28;:30::i;:::-;-1:-1:-1;;;;;2712:97:48;;2810:11;2823:14;:12;:14::i;4568:535::-;4637:18;4670:20;4694:17;4717:29;:27;:29::i;:::-;-1:-1:-1;;;;;4717:58:48;;:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4717:60:48;;;;;;;;;;;-1:-1:-1;4717:60:48;-1:-1:-1;4811:1:48;4795:17;;4787:64;;;;-1:-1:-1;;;4787:64:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4895:44;4915:23;:21;:23::i;:::-;4895:15;;:19;:44::i;:::-;4882:9;:57;;4861:142;;;;-1:-1:-1;;;4861:142:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5021:75;5064:31;5021:38;:10;5044:13;5021:14;:38::i;:::-;:42;;:75::i;:::-;5014:82;4568:535;-1:-1:-1;;;;4568:535:48:o;3136:155:442:-;3194:7;3226:1;3221;:6;;3213:49;;;;;-1:-1:-1;;;3213:49:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3279:5:442;;;3136:155::o;3538:215::-;3596:7;3619:6;3615:20;;-1:-1:-1;3634:1:442;3627:8;;3615:20;3657:5;;;3661:1;3657;:5;:1;3680:5;;;;;:10;3672:56;;;;-1:-1:-1;;;3672:56:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4217:150;4275:7;4306:1;4302;:5;4294:44;;;;;-1:-1:-1;;;4294:44:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;4359:1;4355;:5;;;;;;;4217:150;-1:-1:-1;;;4217:150:442:o", "linkReferences": {}, "immutableReferences": { "6350": [ { "start": 741, "length": 32 } ], "6352": [ { "start": 605, "length": 32 } ], "6354": [ { "start": 972, "length": 32 } ], "6356": [ { "start": 671, "length": 32 } ] } }, "methodIdentifiers": { "calcGav(address)": "037276c1", "calcGrossShareValue(address)": "c3552663", "calcNav(address)": "53d467f3", "calcNetShareValue(address)": "3ba6b851", "calcNetValueForSharesHolder(address,address)": "81dfa95b", "getEthUsdAggregatorContract()": "6ed0a4ef", "getFundValueCalculatorRouter()": "2f88698c", "getStaleRateThreshold()": "b54fbdaa", "getWethToken()": "4c252f91" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_fundValueCalculatorRouter\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_wethToken\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_ethUsdAggregator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_staleRateThreshold\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"}],\"name\":\"calcGav\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"gav_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"}],\"name\":\"calcGrossShareValue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"grossShareValue_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"}],\"name\":\"calcNav\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"nav_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"}],\"name\":\"calcNetShareValue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"netShareValue_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_sharesHolder\",\"type\":\"address\"}],\"name\":\"calcNetValueForSharesHolder\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"netValue_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getEthUsdAggregatorContract\",\"outputs\":[{\"internalType\":\"contract IChainlinkAggregatorFundValueCalculatorUsdWrapper\",\"name\":\"ethUsdAggregatorContract_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFundValueCalculatorRouter\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"fundValueCalculatorRouter_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getStaleRateThreshold\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"staleRateThreshold_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getWethToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"wethToken_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"USD values are normalized to a precision of 18 decimals. These values should generally only be consumed from off-chain, unless you understand how each release interprets each calculation.\",\"kind\":\"dev\",\"methods\":{\"calcGav(address)\":{\"params\":{\"_vaultProxy\":\"The VaultProxy of the fund\"},\"returns\":{\"gav_\":\"The GAV quoted in USD\"}},\"calcGrossShareValue(address)\":{\"params\":{\"_vaultProxy\":\"The VaultProxy of the fund\"},\"returns\":{\"grossShareValue_\":\"The gross share value quoted in USD\"}},\"calcNav(address)\":{\"params\":{\"_vaultProxy\":\"The VaultProxy of the fund\"},\"returns\":{\"nav_\":\"The NAV quoted in USD\"}},\"calcNetShareValue(address)\":{\"params\":{\"_vaultProxy\":\"The VaultProxy of the fund\"},\"returns\":{\"netShareValue_\":\"The net share value quoted in USD\"}},\"calcNetValueForSharesHolder(address,address)\":{\"params\":{\"_sharesHolder\":\"The account holding shares\",\"_vaultProxy\":\"The VaultProxy of the fund\"},\"returns\":{\"netValue_\":\"The net value of all shares held by _sharesHolder quoted in USD\"}},\"getEthUsdAggregatorContract()\":{\"returns\":{\"ethUsdAggregatorContract_\":\"The `ETH_USD_AGGREGATOR` variable value\"}},\"getFundValueCalculatorRouter()\":{\"returns\":{\"fundValueCalculatorRouter_\":\"The `FUND_VALUE_CALCULATOR_ROUTER` variable value\"}},\"getStaleRateThreshold()\":{\"returns\":{\"staleRateThreshold_\":\"The `STALE_RATE_THRESHOLD` value\"}},\"getWethToken()\":{\"returns\":{\"wethToken_\":\"The `WETH_TOKEN` variable value\"}}},\"title\":\"FundValueCalculatorUsdWrapper Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"calcGav(address)\":{\"notice\":\"Calculates the GAV for a given fund in USD\"},\"calcGrossShareValue(address)\":{\"notice\":\"Calculates the gross value of one shares unit (10 ** 18) for a given fund in USD\"},\"calcNav(address)\":{\"notice\":\"Calculates the NAV for a given fund in USD\"},\"calcNetShareValue(address)\":{\"notice\":\"Calculates the net value of one shares unit (10 ** 18) for a given fund in USD\"},\"calcNetValueForSharesHolder(address,address)\":{\"notice\":\"Calculates the net value of all shares held by a specified account in USD\"},\"getEthUsdAggregatorContract()\":{\"notice\":\"Gets the `ETH_USD_AGGREGATOR` variable value\"},\"getFundValueCalculatorRouter()\":{\"notice\":\"Gets the `FUND_VALUE_CALCULATOR_ROUTER` variable\"},\"getStaleRateThreshold()\":{\"notice\":\"Gets the `STALE_RATE_THRESHOLD` variable value\"},\"getWethToken()\":{\"notice\":\"Gets the `WETH_TOKEN` variable value\"}},\"notice\":\"Wraps the FundValueCalculatorRouter to get fund values with USD as the quote asset\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/off-chain/fund-value-calculator-usd-wrapper/FundValueCalculatorUsdWrapper.sol\":\"FundValueCalculatorUsdWrapper\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/off-chain/fund-value-calculator-usd-wrapper/FundValueCalculatorUsdWrapper.sol\":{\"keccak256\":\"0xc3c5e8014a0ba529376f25acf17319dc7e1f723421bcaa4f3028f233a94261b3\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b60b51fdaeea8f7c41faa6868ce366218f9504987678a83faccc371656967aff\",\"dweb:/ipfs/QmdU9KyTpUyNfDXT4QNSMwfswDZr6Z4okE9DqX3EFLL3cm\"]},\"contracts/persistent/off-chain/fund-value-calculator/FundValueCalculatorRouter.sol\":{\"keccak256\":\"0x313dcaccdb58e7e24854243cfe7286285dd385a1cbaa7836f9fe3beaa8c9b94c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://db28f41b75d384877faa0e7dca4c713b0d59cb84e97b7393805212a672453474\",\"dweb:/ipfs/QmVWq8rzvUkuuH4F5KRj2taWi1eHkgdvHkQptHa8P18arS\"]},\"contracts/persistent/off-chain/fund-value-calculator/IFundValueCalculator.sol\":{\"keccak256\":\"0x993e11b879d6ad85f5ecf5f8e1880989c010bdf03de2079b39f66a953844de2d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f61a09908b981589bc4d3657736276f463f1ea23f9811b8d174cd5de224b556d\",\"dweb:/ipfs/QmU6rYofnKmWSTBzshVMxFnVRtBKCECSpnGepDy6DddCbv\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_fundValueCalculatorRouter", "type": "address" }, { "internalType": "address", "name": "_wethToken", "type": "address" }, { "internalType": "address", "name": "_ethUsdAggregator", "type": "address" }, { "internalType": "uint256", "name": "_staleRateThreshold", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "calcGav", "outputs": [ { "internalType": "uint256", "name": "gav_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "calcGrossShareValue", "outputs": [ { "internalType": "uint256", "name": "grossShareValue_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "calcNav", "outputs": [ { "internalType": "uint256", "name": "nav_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "calcNetShareValue", "outputs": [ { "internalType": "uint256", "name": "netShareValue_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "address", "name": "_sharesHolder", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "calcNetValueForSharesHolder", "outputs": [ { "internalType": "uint256", "name": "netValue_", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getEthUsdAggregatorContract", "outputs": [ { "internalType": "contract IChainlinkAggregatorFundValueCalculatorUsdWrapper", "name": "ethUsdAggregatorContract_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getFundValueCalculatorRouter", "outputs": [ { "internalType": "address", "name": "fundValueCalculatorRouter_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getStaleRateThreshold", "outputs": [ { "internalType": "uint256", "name": "staleRateThreshold_", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getWethToken", "outputs": [ { "internalType": "address", "name": "wethToken_", "type": "address" } ] } ], "devdoc": { "kind": "dev", "methods": { "calcGav(address)": { "params": { "_vaultProxy": "The VaultProxy of the fund" }, "returns": { "gav_": "The GAV quoted in USD" } }, "calcGrossShareValue(address)": { "params": { "_vaultProxy": "The VaultProxy of the fund" }, "returns": { "grossShareValue_": "The gross share value quoted in USD" } }, "calcNav(address)": { "params": { "_vaultProxy": "The VaultProxy of the fund" }, "returns": { "nav_": "The NAV quoted in USD" } }, "calcNetShareValue(address)": { "params": { "_vaultProxy": "The VaultProxy of the fund" }, "returns": { "netShareValue_": "The net share value quoted in USD" } }, "calcNetValueForSharesHolder(address,address)": { "params": { "_sharesHolder": "The account holding shares", "_vaultProxy": "The VaultProxy of the fund" }, "returns": { "netValue_": "The net value of all shares held by _sharesHolder quoted in USD" } }, "getEthUsdAggregatorContract()": { "returns": { "ethUsdAggregatorContract_": "The `ETH_USD_AGGREGATOR` variable value" } }, "getFundValueCalculatorRouter()": { "returns": { "fundValueCalculatorRouter_": "The `FUND_VALUE_CALCULATOR_ROUTER` variable value" } }, "getStaleRateThreshold()": { "returns": { "staleRateThreshold_": "The `STALE_RATE_THRESHOLD` value" } }, "getWethToken()": { "returns": { "wethToken_": "The `WETH_TOKEN` variable value" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "calcGav(address)": { "notice": "Calculates the GAV for a given fund in USD" }, "calcGrossShareValue(address)": { "notice": "Calculates the gross value of one shares unit (10 ** 18) for a given fund in USD" }, "calcNav(address)": { "notice": "Calculates the NAV for a given fund in USD" }, "calcNetShareValue(address)": { "notice": "Calculates the net value of one shares unit (10 ** 18) for a given fund in USD" }, "calcNetValueForSharesHolder(address,address)": { "notice": "Calculates the net value of all shares held by a specified account in USD" }, "getEthUsdAggregatorContract()": { "notice": "Gets the `ETH_USD_AGGREGATOR` variable value" }, "getFundValueCalculatorRouter()": { "notice": "Gets the `FUND_VALUE_CALCULATOR_ROUTER` variable" }, "getStaleRateThreshold()": { "notice": "Gets the `STALE_RATE_THRESHOLD` variable value" }, "getWethToken()": { "notice": "Gets the `WETH_TOKEN` variable value" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/persistent/off-chain/fund-value-calculator-usd-wrapper/FundValueCalculatorUsdWrapper.sol": "FundValueCalculatorUsdWrapper" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/dispatcher/IDispatcher.sol": { "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", "urls": [ "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" ], "license": "GPL-3.0" }, "contracts/persistent/off-chain/fund-value-calculator-usd-wrapper/FundValueCalculatorUsdWrapper.sol": { "keccak256": "0xc3c5e8014a0ba529376f25acf17319dc7e1f723421bcaa4f3028f233a94261b3", "urls": [ "bzz-raw://b60b51fdaeea8f7c41faa6868ce366218f9504987678a83faccc371656967aff", "dweb:/ipfs/QmdU9KyTpUyNfDXT4QNSMwfswDZr6Z4okE9DqX3EFLL3cm" ], "license": "GPL-3.0" }, "contracts/persistent/off-chain/fund-value-calculator/FundValueCalculatorRouter.sol": { "keccak256": "0x313dcaccdb58e7e24854243cfe7286285dd385a1cbaa7836f9fe3beaa8c9b94c", "urls": [ "bzz-raw://db28f41b75d384877faa0e7dca4c713b0d59cb84e97b7393805212a672453474", "dweb:/ipfs/QmVWq8rzvUkuuH4F5KRj2taWi1eHkgdvHkQptHa8P18arS" ], "license": "GPL-3.0" }, "contracts/persistent/off-chain/fund-value-calculator/IFundValueCalculator.sol": { "keccak256": "0x993e11b879d6ad85f5ecf5f8e1880989c010bdf03de2079b39f66a953844de2d", "urls": [ "bzz-raw://f61a09908b981589bc4d3657736276f463f1ea23f9811b8d174cd5de224b556d", "dweb:/ipfs/QmU6rYofnKmWSTBzshVMxFnVRtBKCECSpnGepDy6DddCbv" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" } }, "version": 1 }, "id": 48 } diff --git a/eth_defi/abi/enzyme/GasRelayPaymasterFactory.json b/eth_defi/abi/enzyme/GasRelayPaymasterFactory.json index 5d66f84e..1afd6c2a 100644 --- a/eth_defi/abi/enzyme/GasRelayPaymasterFactory.json +++ b/eth_defi/abi/enzyme/GasRelayPaymasterFactory.json @@ -1,428 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_dispatcher", - "type": "address" - }, - { - "internalType": "address", - "name": "_paymasterLib", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "nextCanonicalLib", - "type": "address" - } - ], - "name": "CanonicalLibSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "caller", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "proxy", - "type": "address" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "constructData", - "type": "bytes" - } - ], - "name": "ProxyDeployed", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "_constructData", - "type": "bytes" - } - ], - "name": "deployProxy", - "outputs": [ - { - "internalType": "address", - "name": "proxy_", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getCanonicalLib", - "outputs": [ - { - "internalType": "address", - "name": "canonicalLib_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getDispatcher", - "outputs": [ - { - "internalType": "address", - "name": "dispatcher_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "owner_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_nextCanonicalLib", - "type": "address" - } - ], - "name": "setCanonicalLib", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x60a060405234801561001057600080fd5b506040516108bb3803806108bb8339818101604052604081101561003357600080fd5b508051602090910151806100468161005d565b505060601b6001600160601b0319166080526100b1565b600080546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f9007c6c0b3b1622c381c19563620e3ce8b824e958af3020495bd6654e8a0310a9181900360200190a150565b60805160601c6107ed6100ce600039806103a952506107ed6000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c80630c0872f51461005c578063893d20e81461011e57806398a7c4c714610126578063d0ac1a8d1461012e578063ebb3d58914610156575b600080fd5b6101026004803603602081101561007257600080fd5b81019060208101813564010000000081111561008d57600080fd5b82018360208201111561009f57600080fd5b803590602001918460018302840111640100000000831117156100c157600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955061015e945050505050565b604080516001600160a01b039092168252519081900360200190f35b6101026102c2565b610102610335565b6101546004803603602081101561014457600080fd5b50356001600160a01b0316610344565b005b6101026103a7565b6000813060405161016e9061041f565b8080602001836001600160a01b03168152602001828103825284818151815260200191508051906020019080838360005b838110156101b757818101518382015260200161019f565b50505050905090810190601f1680156101e45780820380516001836020036101000a031916815260200191505b509350505050604051809103906000f080158015610206573d6000803e3d6000fd5b509050336001600160a01b03167f8f1eab90fee81d885732c2e07a3a9b9f6c32278756471123fa57486858c3f701828460405180836001600160a01b0316815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561028257818101518382015260200161026a565b50505050905090810190601f1680156102af5780820380516001836020036101000a031916815260200191505b50935050505060405180910390a2919050565b60006102cc6103a7565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561030457600080fd5b505afa158015610318573d6000803e3d6000fd5b505050506040513d602081101561032e57600080fd5b5051905090565b6000546001600160a01b031690565b61034c6102c2565b6001600160a01b0316336001600160a01b03161461039b5760405162461bcd60e51b81526004018080602001828103825260368152602001806107ab6036913960400191505060405180910390fd5b6103a4816103cb565b50565b7f000000000000000000000000000000000000000000000000000000000000000090565b600080546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f9007c6c0b3b1622c381c19563620e3ce8b824e958af3020495bd6654e8a0310a9181900360200190a150565b61037e8061042d8339019056fe60a060405234801561001057600080fd5b5060405161037e38038061037e8339818101604052604081101561003357600080fd5b810190808051604051939291908464010000000082111561005357600080fd5b90830190602082018581111561006857600080fd5b825164010000000081118282018810171561008257600080fd5b82525081516020918201929091019080838360005b838110156100af578181015183820152602001610097565b50505050905090810190601f1680156100dc5780820380516001836020036101000a031916815260200191505b506040818152602092830151606081811b6001600160601b0319166080526398a7c4c760e01b845291519095506000945090926001600160a01b038616926398a7c4c79260048083019392829003018186803b15801561013b57600080fd5b505afa15801561014f573d6000803e3d6000fd5b505050506040513d602081101561016557600080fd5b505160405185516001600160a01b0390921691869190819060208401908083835b602083106101a55780518252601f199092019160209182019101610186565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610205576040519150601f19603f3d011682016040523d82523d6000602084013e61020a565b606091505b509150915081819061029a5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561025f578181015183820152602001610247565b50505050905090810190601f16801561028c5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050505060805160601c60c56102b960003980600e525060c56000f3fe608060405236600a57005b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166398a7c4c76040518163ffffffff1660e01b815260040160206040518083038186803b158015606457600080fd5b505afa1580156077573d6000803e3d6000fd5b505050506040513d6020811015608c57600080fd5b505190503660008037600080366000846127105a03f43d806000803e81801560b357816000f35b816000fdfea164736f6c634300060c000a73657443616e6f6e6963616c4c69623a204f6e6c7920746865206f776e65722063616e2063616c6c20746869732066756e6374696f6ea164736f6c634300060c000a", - "sourceMap": "571:769:228:-:0;;;676:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;676:158:228;;;;;;;;787:32:365;676:158:228;787:17:365;:32::i;:::-;-1:-1:-1;;803:24:228::1;::::0;-1:-1:-1;;;;;;803:24:228;::::1;::::0;571:769;;2101:162:365;2174:12;:32;;-1:-1:-1;;;;;2174:32:365;;-1:-1:-1;;;;;;2174:32:365;;;;;;;;2222:34;;;;;;;;;;;;;;;;2101:162;:::o;571:769:228:-;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106100575760003560e01c80630c0872f51461005c578063893d20e81461011e57806398a7c4c714610126578063d0ac1a8d1461012e578063ebb3d58914610156575b600080fd5b6101026004803603602081101561007257600080fd5b81019060208101813564010000000081111561008d57600080fd5b82018360208201111561009f57600080fd5b803590602001918460018302840111640100000000831117156100c157600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955061015e945050505050565b604080516001600160a01b039092168252519081900360200190f35b6101026102c2565b610102610335565b6101546004803603602081101561014457600080fd5b50356001600160a01b0316610344565b005b6101026103a7565b6000813060405161016e9061041f565b8080602001836001600160a01b03168152602001828103825284818151815260200191508051906020019080838360005b838110156101b757818101518382015260200161019f565b50505050905090810190601f1680156101e45780820380516001836020036101000a031916815260200191505b509350505050604051809103906000f080158015610206573d6000803e3d6000fd5b509050336001600160a01b03167f8f1eab90fee81d885732c2e07a3a9b9f6c32278756471123fa57486858c3f701828460405180836001600160a01b0316815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561028257818101518382015260200161026a565b50505050905090810190601f1680156102af5780820380516001836020036101000a031916815260200191505b50935050505060405180910390a2919050565b60006102cc6103a7565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561030457600080fd5b505afa158015610318573d6000803e3d6000fd5b505050506040513d602081101561032e57600080fd5b5051905090565b6000546001600160a01b031690565b61034c6102c2565b6001600160a01b0316336001600160a01b03161461039b5760405162461bcd60e51b81526004018080602001828103825260368152602001806107ab6036913960400191505060405180910390fd5b6103a4816103cb565b50565b7f000000000000000000000000000000000000000000000000000000000000000090565b600080546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f9007c6c0b3b1622c381c19563620e3ce8b824e958af3020495bd6654e8a0310a9181900360200190a150565b61037e8061042d8339019056fe60a060405234801561001057600080fd5b5060405161037e38038061037e8339818101604052604081101561003357600080fd5b810190808051604051939291908464010000000082111561005357600080fd5b90830190602082018581111561006857600080fd5b825164010000000081118282018810171561008257600080fd5b82525081516020918201929091019080838360005b838110156100af578181015183820152602001610097565b50505050905090810190601f1680156100dc5780820380516001836020036101000a031916815260200191505b506040818152602092830151606081811b6001600160601b0319166080526398a7c4c760e01b845291519095506000945090926001600160a01b038616926398a7c4c79260048083019392829003018186803b15801561013b57600080fd5b505afa15801561014f573d6000803e3d6000fd5b505050506040513d602081101561016557600080fd5b505160405185516001600160a01b0390921691869190819060208401908083835b602083106101a55780518252601f199092019160209182019101610186565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610205576040519150601f19603f3d011682016040523d82523d6000602084013e61020a565b606091505b509150915081819061029a5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561025f578181015183820152602001610247565b50505050905090810190601f16801561028c5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050505060805160601c60c56102b960003980600e525060c56000f3fe608060405236600a57005b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166398a7c4c76040518163ffffffff1660e01b815260040160206040518083038186803b158015606457600080fd5b505afa1580156077573d6000803e3d6000fd5b505050506040513d6020811015608c57600080fd5b505190503660008037600080366000846127105a03f43d806000803e81801560b357816000f35b816000fdfea164736f6c634300060c000a73657443616e6f6e6963616c4c69623a204f6e6c7920746865206f776e65722063616e2063616c6c20746869732066756e6374696f6ea164736f6c634300060c000a", - "sourceMap": "571:769:228:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1019:261:365;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1019:261:365;;-1:-1:-1;1019:261:365;;-1:-1:-1;;;;;1019:261:365:i;:::-;;;;-1:-1:-1;;;;;1019:261:365;;;;;;;;;;;;;;922:129:228;;;:::i;1393:116:365:-;;;:::i;1788:257::-;;;;;;;;;;;;;;;;-1:-1:-1;1788:257:365;-1:-1:-1;;;;;1788:257:365;;:::i;:::-;;1237:101:228;;;:::i;1019:261:365:-;1094:14;1153;1177:4;1137:46;;;;;:::i;:::-;;;;;;-1:-1:-1;;;;;1137:46:365;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1120:64;;1214:10;-1:-1:-1;;;;;1200:49:365;;1226:6;1234:14;1200:49;;;;-1:-1:-1;;;;;1200:49:365;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1019:261;;;:::o;922:129:228:-;972:14;1017:15;:13;:15::i;:::-;-1:-1:-1;;;;;1005:37:228;;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1005:39:228;;-1:-1:-1;922:129:228;:::o;1393:116:365:-;1450:21;1490:12;-1:-1:-1;;;;;1490:12:365;1393:116;:::o;1788:257::-;1901:10;:8;:10::i;:::-;-1:-1:-1;;;;;1887:24:365;:10;-1:-1:-1;;;;;1887:24:365;;1866:125;;;;-1:-1:-1;;;1866:125:365;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2002:36;2020:17;2002;:36::i;:::-;1788:257;:::o;1237:101:228:-;1321:10;1237:101;:::o;2101:162:365:-;2174:12;:32;;-1:-1:-1;;;;;2174:32:365;;-1:-1:-1;;;;;;2174:32:365;;;;;;;;2222:34;;;;;;;;;;;;;;;;2101:162;:::o;-1:-1:-1:-;;;;;;;;:::o", - "linkReferences": {}, - "immutableReferences": { - "61329": [ - { - "start": 937, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "deployProxy(bytes)": "0c0872f5", - "getCanonicalLib()": "98a7c4c7", - "getDispatcher()": "ebb3d589", - "getOwner()": "893d20e8", - "setCanonicalLib(address)": "d0ac1a8d" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_dispatcher\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_paymasterLib\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"nextCanonicalLib\",\"type\":\"address\"}],\"name\":\"CanonicalLibSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"proxy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"constructData\",\"type\":\"bytes\"}],\"name\":\"ProxyDeployed\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_constructData\",\"type\":\"bytes\"}],\"name\":\"deployProxy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"proxy_\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCanonicalLib\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"canonicalLib_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDispatcher\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"dispatcher_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nextCanonicalLib\",\"type\":\"address\"}],\"name\":\"setCanonicalLib\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"deployProxy(bytes)\":{\"params\":{\"_constructData\":\"The constructor data with which to call `init()` on the deployed proxy\"},\"returns\":{\"proxy_\":\"The proxy address\"}},\"getCanonicalLib()\":{\"returns\":{\"canonicalLib_\":\"The canonical lib\"}},\"getDispatcher()\":{\"returns\":{\"dispatcher_\":\"The `DISPATCHER` variable value\"}},\"getOwner()\":{\"returns\":{\"owner_\":\"The contract owner\"}},\"setCanonicalLib(address)\":{\"params\":{\"_nextCanonicalLib\":\"The next canonical lib\"}}},\"title\":\"GasRelayPaymasterFactory Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"deployProxy(bytes)\":{\"notice\":\"Deploys a new proxy instance\"},\"getCanonicalLib()\":{\"notice\":\"Gets the canonical lib used by all proxies\"},\"getDispatcher()\":{\"notice\":\"Gets the `DISPATCHER` variable\"},\"getOwner()\":{\"notice\":\"Gets the contract owner\"},\"setCanonicalLib(address)\":{\"notice\":\"Sets the next canonical lib used by all proxies\"}},\"notice\":\"Factory contract that deploys paymaster proxies for gas relaying\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/infrastructure/gas-relayer/GasRelayPaymasterFactory.sol\":\"GasRelayPaymasterFactory\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/release/infrastructure/gas-relayer/GasRelayPaymasterFactory.sol\":{\"keccak256\":\"0x9fb602805e91d5cf5a8b1774217e3bd2ade58a92aa50f7836e0d4413460debf2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3adc00b3c45d7f59b33c9724c35d6d4f6942e8d4b25d66d637deed2098645212\",\"dweb:/ipfs/QmayeJ6iUrDJsVwCULQZB66fe29C6NjwGLdbMSB6ey1upe\"]},\"contracts/release/utils/beacon-proxy/BeaconProxy.sol\":{\"keccak256\":\"0x7a0a6c511a30434a9b329226b0cf1a05ec426ddbfc4e1d9b9083978ee4cf6d53\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://692d3a116ecf306f20a3d29dc70846099ce46ba281524a502336325a6cd05667\",\"dweb:/ipfs/QmTGxmDWMcMtGEsPLzVB8eyK3WDqaCwoChuc24RXuSzwVb\"]},\"contracts/release/utils/beacon-proxy/BeaconProxyFactory.sol\":{\"keccak256\":\"0xd35fa5134e3a8694ed1dbbc8dcd4b4d5b459608c23097a95984e1b98af3e64d9\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1c008f83ac64b316479406cbf0287593a810d453825a2f669b5810c51429f9fc\",\"dweb:/ipfs/QmNtdtcWGZFpnb3LsshwV5BiM5H1Vz8SGpoqMchUyfuhQx\"]},\"contracts/release/utils/beacon-proxy/IBeacon.sol\":{\"keccak256\":\"0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39\",\"dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V\"]},\"contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol\":{\"keccak256\":\"0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be\",\"dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_dispatcher", - "type": "address" - }, - { - "internalType": "address", - "name": "_paymasterLib", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "nextCanonicalLib", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "CanonicalLibSet", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "caller", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "proxy", - "type": "address", - "indexed": false - }, - { - "internalType": "bytes", - "name": "constructData", - "type": "bytes", - "indexed": false - } - ], - "type": "event", - "name": "ProxyDeployed", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "_constructData", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "deployProxy", - "outputs": [ - { - "internalType": "address", - "name": "proxy_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getCanonicalLib", - "outputs": [ - { - "internalType": "address", - "name": "canonicalLib_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getDispatcher", - "outputs": [ - { - "internalType": "address", - "name": "dispatcher_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "owner_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_nextCanonicalLib", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setCanonicalLib" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "deployProxy(bytes)": { - "params": { - "_constructData": "The constructor data with which to call `init()` on the deployed proxy" - }, - "returns": { - "proxy_": "The proxy address" - } - }, - "getCanonicalLib()": { - "returns": { - "canonicalLib_": "The canonical lib" - } - }, - "getDispatcher()": { - "returns": { - "dispatcher_": "The `DISPATCHER` variable value" - } - }, - "getOwner()": { - "returns": { - "owner_": "The contract owner" - } - }, - "setCanonicalLib(address)": { - "params": { - "_nextCanonicalLib": "The next canonical lib" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "deployProxy(bytes)": { - "notice": "Deploys a new proxy instance" - }, - "getCanonicalLib()": { - "notice": "Gets the canonical lib used by all proxies" - }, - "getDispatcher()": { - "notice": "Gets the `DISPATCHER` variable" - }, - "getOwner()": { - "notice": "Gets the contract owner" - }, - "setCanonicalLib(address)": { - "notice": "Sets the next canonical lib used by all proxies" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/infrastructure/gas-relayer/GasRelayPaymasterFactory.sol": "GasRelayPaymasterFactory" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/dispatcher/IDispatcher.sol": { - "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", - "urls": [ - "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", - "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/gas-relayer/GasRelayPaymasterFactory.sol": { - "keccak256": "0x9fb602805e91d5cf5a8b1774217e3bd2ade58a92aa50f7836e0d4413460debf2", - "urls": [ - "bzz-raw://3adc00b3c45d7f59b33c9724c35d6d4f6942e8d4b25d66d637deed2098645212", - "dweb:/ipfs/QmayeJ6iUrDJsVwCULQZB66fe29C6NjwGLdbMSB6ey1upe" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/beacon-proxy/BeaconProxy.sol": { - "keccak256": "0x7a0a6c511a30434a9b329226b0cf1a05ec426ddbfc4e1d9b9083978ee4cf6d53", - "urls": [ - "bzz-raw://692d3a116ecf306f20a3d29dc70846099ce46ba281524a502336325a6cd05667", - "dweb:/ipfs/QmTGxmDWMcMtGEsPLzVB8eyK3WDqaCwoChuc24RXuSzwVb" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/beacon-proxy/BeaconProxyFactory.sol": { - "keccak256": "0xd35fa5134e3a8694ed1dbbc8dcd4b4d5b459608c23097a95984e1b98af3e64d9", - "urls": [ - "bzz-raw://1c008f83ac64b316479406cbf0287593a810d453825a2f669b5810c51429f9fc", - "dweb:/ipfs/QmNtdtcWGZFpnb3LsshwV5BiM5H1Vz8SGpoqMchUyfuhQx" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/beacon-proxy/IBeacon.sol": { - "keccak256": "0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2", - "urls": [ - "bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39", - "dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol": { - "keccak256": "0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc", - "urls": [ - "bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be", - "dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 228 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_dispatcher", "type": "address", "internalType": "address" }, { "name": "_paymasterLib", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "deployProxy", "inputs": [ { "name": "_constructData", "type": "bytes", "internalType": "bytes" } ], "outputs": [ { "name": "proxy_", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "getCanonicalLib", "inputs": [], "outputs": [ { "name": "canonicalLib_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getDispatcher", "inputs": [], "outputs": [ { "name": "dispatcher_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getOwner", "inputs": [], "outputs": [ { "name": "owner_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "setCanonicalLib", "inputs": [ { "name": "_nextCanonicalLib", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "event", "name": "CanonicalLibSet", "inputs": [ { "name": "nextCanonicalLib", "type": "address", "indexed": false, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "ProxyDeployed", "inputs": [ { "name": "caller", "type": "address", "indexed": true, "internalType": "address" }, { "name": "proxy", "type": "address", "indexed": false, "internalType": "address" }, { "name": "constructData", "type": "bytes", "indexed": false, "internalType": "bytes" } ], "anonymous": false } ], "bytecode": { "object": "0x60a060405234801561001057600080fd5b506040516108bb3803806108bb8339818101604052604081101561003357600080fd5b508051602090910151806100468161005d565b505060601b6001600160601b0319166080526100b1565b600080546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f9007c6c0b3b1622c381c19563620e3ce8b824e958af3020495bd6654e8a0310a9181900360200190a150565b60805160601c6107ed6100ce600039806103a952506107ed6000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c80630c0872f51461005c578063893d20e81461011e57806398a7c4c714610126578063d0ac1a8d1461012e578063ebb3d58914610156575b600080fd5b6101026004803603602081101561007257600080fd5b81019060208101813564010000000081111561008d57600080fd5b82018360208201111561009f57600080fd5b803590602001918460018302840111640100000000831117156100c157600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955061015e945050505050565b604080516001600160a01b039092168252519081900360200190f35b6101026102c2565b610102610335565b6101546004803603602081101561014457600080fd5b50356001600160a01b0316610344565b005b6101026103a7565b6000813060405161016e9061041f565b8080602001836001600160a01b03168152602001828103825284818151815260200191508051906020019080838360005b838110156101b757818101518382015260200161019f565b50505050905090810190601f1680156101e45780820380516001836020036101000a031916815260200191505b509350505050604051809103906000f080158015610206573d6000803e3d6000fd5b509050336001600160a01b03167f8f1eab90fee81d885732c2e07a3a9b9f6c32278756471123fa57486858c3f701828460405180836001600160a01b0316815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561028257818101518382015260200161026a565b50505050905090810190601f1680156102af5780820380516001836020036101000a031916815260200191505b50935050505060405180910390a2919050565b60006102cc6103a7565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561030457600080fd5b505afa158015610318573d6000803e3d6000fd5b505050506040513d602081101561032e57600080fd5b5051905090565b6000546001600160a01b031690565b61034c6102c2565b6001600160a01b0316336001600160a01b03161461039b5760405162461bcd60e51b81526004018080602001828103825260368152602001806107ab6036913960400191505060405180910390fd5b6103a4816103cb565b50565b7f000000000000000000000000000000000000000000000000000000000000000090565b600080546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f9007c6c0b3b1622c381c19563620e3ce8b824e958af3020495bd6654e8a0310a9181900360200190a150565b61037e8061042d8339019056fe60a060405234801561001057600080fd5b5060405161037e38038061037e8339818101604052604081101561003357600080fd5b810190808051604051939291908464010000000082111561005357600080fd5b90830190602082018581111561006857600080fd5b825164010000000081118282018810171561008257600080fd5b82525081516020918201929091019080838360005b838110156100af578181015183820152602001610097565b50505050905090810190601f1680156100dc5780820380516001836020036101000a031916815260200191505b506040818152602092830151606081811b6001600160601b0319166080526398a7c4c760e01b845291519095506000945090926001600160a01b038616926398a7c4c79260048083019392829003018186803b15801561013b57600080fd5b505afa15801561014f573d6000803e3d6000fd5b505050506040513d602081101561016557600080fd5b505160405185516001600160a01b0390921691869190819060208401908083835b602083106101a55780518252601f199092019160209182019101610186565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610205576040519150601f19603f3d011682016040523d82523d6000602084013e61020a565b606091505b509150915081819061029a5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561025f578181015183820152602001610247565b50505050905090810190601f16801561028c5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050505060805160601c60c56102b960003980600e525060c56000f3fe608060405236600a57005b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166398a7c4c76040518163ffffffff1660e01b815260040160206040518083038186803b158015606457600080fd5b505afa1580156077573d6000803e3d6000fd5b505050506040513d6020811015608c57600080fd5b505190503660008037600080366000846127105a03f43d806000803e81801560b357816000f35b816000fdfea164736f6c634300060c000a73657443616e6f6e6963616c4c69623a204f6e6c7920746865206f776e65722063616e2063616c6c20746869732066756e6374696f6ea164736f6c634300060c000a", "sourceMap": "571:769:228:-:0;;;676:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;676:158:228;;;;;;;;787:32:365;676:158:228;787:17:365;:32::i;:::-;-1:-1:-1;;803:24:228::1;::::0;-1:-1:-1;;;;;;803:24:228;::::1;::::0;571:769;;2101:162:365;2174:12;:32;;-1:-1:-1;;;;;2174:32:365;;-1:-1:-1;;;;;;2174:32:365;;;;;;;;2222:34;;;;;;;;;;;;;;;;2101:162;:::o;571:769:228:-;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106100575760003560e01c80630c0872f51461005c578063893d20e81461011e57806398a7c4c714610126578063d0ac1a8d1461012e578063ebb3d58914610156575b600080fd5b6101026004803603602081101561007257600080fd5b81019060208101813564010000000081111561008d57600080fd5b82018360208201111561009f57600080fd5b803590602001918460018302840111640100000000831117156100c157600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955061015e945050505050565b604080516001600160a01b039092168252519081900360200190f35b6101026102c2565b610102610335565b6101546004803603602081101561014457600080fd5b50356001600160a01b0316610344565b005b6101026103a7565b6000813060405161016e9061041f565b8080602001836001600160a01b03168152602001828103825284818151815260200191508051906020019080838360005b838110156101b757818101518382015260200161019f565b50505050905090810190601f1680156101e45780820380516001836020036101000a031916815260200191505b509350505050604051809103906000f080158015610206573d6000803e3d6000fd5b509050336001600160a01b03167f8f1eab90fee81d885732c2e07a3a9b9f6c32278756471123fa57486858c3f701828460405180836001600160a01b0316815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561028257818101518382015260200161026a565b50505050905090810190601f1680156102af5780820380516001836020036101000a031916815260200191505b50935050505060405180910390a2919050565b60006102cc6103a7565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561030457600080fd5b505afa158015610318573d6000803e3d6000fd5b505050506040513d602081101561032e57600080fd5b5051905090565b6000546001600160a01b031690565b61034c6102c2565b6001600160a01b0316336001600160a01b03161461039b5760405162461bcd60e51b81526004018080602001828103825260368152602001806107ab6036913960400191505060405180910390fd5b6103a4816103cb565b50565b7f000000000000000000000000000000000000000000000000000000000000000090565b600080546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f9007c6c0b3b1622c381c19563620e3ce8b824e958af3020495bd6654e8a0310a9181900360200190a150565b61037e8061042d8339019056fe60a060405234801561001057600080fd5b5060405161037e38038061037e8339818101604052604081101561003357600080fd5b810190808051604051939291908464010000000082111561005357600080fd5b90830190602082018581111561006857600080fd5b825164010000000081118282018810171561008257600080fd5b82525081516020918201929091019080838360005b838110156100af578181015183820152602001610097565b50505050905090810190601f1680156100dc5780820380516001836020036101000a031916815260200191505b506040818152602092830151606081811b6001600160601b0319166080526398a7c4c760e01b845291519095506000945090926001600160a01b038616926398a7c4c79260048083019392829003018186803b15801561013b57600080fd5b505afa15801561014f573d6000803e3d6000fd5b505050506040513d602081101561016557600080fd5b505160405185516001600160a01b0390921691869190819060208401908083835b602083106101a55780518252601f199092019160209182019101610186565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610205576040519150601f19603f3d011682016040523d82523d6000602084013e61020a565b606091505b509150915081819061029a5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561025f578181015183820152602001610247565b50505050905090810190601f16801561028c5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050505060805160601c60c56102b960003980600e525060c56000f3fe608060405236600a57005b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166398a7c4c76040518163ffffffff1660e01b815260040160206040518083038186803b158015606457600080fd5b505afa1580156077573d6000803e3d6000fd5b505050506040513d6020811015608c57600080fd5b505190503660008037600080366000846127105a03f43d806000803e81801560b357816000f35b816000fdfea164736f6c634300060c000a73657443616e6f6e6963616c4c69623a204f6e6c7920746865206f776e65722063616e2063616c6c20746869732066756e6374696f6ea164736f6c634300060c000a", "sourceMap": "571:769:228:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1019:261:365;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1019:261:365;;-1:-1:-1;1019:261:365;;-1:-1:-1;;;;;1019:261:365:i;:::-;;;;-1:-1:-1;;;;;1019:261:365;;;;;;;;;;;;;;922:129:228;;;:::i;1393:116:365:-;;;:::i;1788:257::-;;;;;;;;;;;;;;;;-1:-1:-1;1788:257:365;-1:-1:-1;;;;;1788:257:365;;:::i;:::-;;1237:101:228;;;:::i;1019:261:365:-;1094:14;1153;1177:4;1137:46;;;;;:::i;:::-;;;;;;-1:-1:-1;;;;;1137:46:365;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1120:64;;1214:10;-1:-1:-1;;;;;1200:49:365;;1226:6;1234:14;1200:49;;;;-1:-1:-1;;;;;1200:49:365;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1019:261;;;:::o;922:129:228:-;972:14;1017:15;:13;:15::i;:::-;-1:-1:-1;;;;;1005:37:228;;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1005:39:228;;-1:-1:-1;922:129:228;:::o;1393:116:365:-;1450:21;1490:12;-1:-1:-1;;;;;1490:12:365;1393:116;:::o;1788:257::-;1901:10;:8;:10::i;:::-;-1:-1:-1;;;;;1887:24:365;:10;-1:-1:-1;;;;;1887:24:365;;1866:125;;;;-1:-1:-1;;;1866:125:365;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2002:36;2020:17;2002;:36::i;:::-;1788:257;:::o;1237:101:228:-;1321:10;1237:101;:::o;2101:162:365:-;2174:12;:32;;-1:-1:-1;;;;;2174:32:365;;-1:-1:-1;;;;;;2174:32:365;;;;;;;;2222:34;;;;;;;;;;;;;;;;2101:162;:::o;-1:-1:-1:-;;;;;;;;:::o", "linkReferences": {}, "immutableReferences": { "61329": [ { "start": 937, "length": 32 } ] } }, "methodIdentifiers": { "deployProxy(bytes)": "0c0872f5", "getCanonicalLib()": "98a7c4c7", "getDispatcher()": "ebb3d589", "getOwner()": "893d20e8", "setCanonicalLib(address)": "d0ac1a8d" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_dispatcher\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_paymasterLib\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"nextCanonicalLib\",\"type\":\"address\"}],\"name\":\"CanonicalLibSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"proxy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"constructData\",\"type\":\"bytes\"}],\"name\":\"ProxyDeployed\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_constructData\",\"type\":\"bytes\"}],\"name\":\"deployProxy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"proxy_\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCanonicalLib\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"canonicalLib_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDispatcher\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"dispatcher_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nextCanonicalLib\",\"type\":\"address\"}],\"name\":\"setCanonicalLib\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"deployProxy(bytes)\":{\"params\":{\"_constructData\":\"The constructor data with which to call `init()` on the deployed proxy\"},\"returns\":{\"proxy_\":\"The proxy address\"}},\"getCanonicalLib()\":{\"returns\":{\"canonicalLib_\":\"The canonical lib\"}},\"getDispatcher()\":{\"returns\":{\"dispatcher_\":\"The `DISPATCHER` variable value\"}},\"getOwner()\":{\"returns\":{\"owner_\":\"The contract owner\"}},\"setCanonicalLib(address)\":{\"params\":{\"_nextCanonicalLib\":\"The next canonical lib\"}}},\"title\":\"GasRelayPaymasterFactory Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"deployProxy(bytes)\":{\"notice\":\"Deploys a new proxy instance\"},\"getCanonicalLib()\":{\"notice\":\"Gets the canonical lib used by all proxies\"},\"getDispatcher()\":{\"notice\":\"Gets the `DISPATCHER` variable\"},\"getOwner()\":{\"notice\":\"Gets the contract owner\"},\"setCanonicalLib(address)\":{\"notice\":\"Sets the next canonical lib used by all proxies\"}},\"notice\":\"Factory contract that deploys paymaster proxies for gas relaying\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/infrastructure/gas-relayer/GasRelayPaymasterFactory.sol\":\"GasRelayPaymasterFactory\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/release/infrastructure/gas-relayer/GasRelayPaymasterFactory.sol\":{\"keccak256\":\"0x9fb602805e91d5cf5a8b1774217e3bd2ade58a92aa50f7836e0d4413460debf2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3adc00b3c45d7f59b33c9724c35d6d4f6942e8d4b25d66d637deed2098645212\",\"dweb:/ipfs/QmayeJ6iUrDJsVwCULQZB66fe29C6NjwGLdbMSB6ey1upe\"]},\"contracts/release/utils/beacon-proxy/BeaconProxy.sol\":{\"keccak256\":\"0x7a0a6c511a30434a9b329226b0cf1a05ec426ddbfc4e1d9b9083978ee4cf6d53\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://692d3a116ecf306f20a3d29dc70846099ce46ba281524a502336325a6cd05667\",\"dweb:/ipfs/QmTGxmDWMcMtGEsPLzVB8eyK3WDqaCwoChuc24RXuSzwVb\"]},\"contracts/release/utils/beacon-proxy/BeaconProxyFactory.sol\":{\"keccak256\":\"0xd35fa5134e3a8694ed1dbbc8dcd4b4d5b459608c23097a95984e1b98af3e64d9\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1c008f83ac64b316479406cbf0287593a810d453825a2f669b5810c51429f9fc\",\"dweb:/ipfs/QmNtdtcWGZFpnb3LsshwV5BiM5H1Vz8SGpoqMchUyfuhQx\"]},\"contracts/release/utils/beacon-proxy/IBeacon.sol\":{\"keccak256\":\"0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39\",\"dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V\"]},\"contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol\":{\"keccak256\":\"0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be\",\"dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_dispatcher", "type": "address" }, { "internalType": "address", "name": "_paymasterLib", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "nextCanonicalLib", "type": "address", "indexed": false } ], "type": "event", "name": "CanonicalLibSet", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "caller", "type": "address", "indexed": true }, { "internalType": "address", "name": "proxy", "type": "address", "indexed": false }, { "internalType": "bytes", "name": "constructData", "type": "bytes", "indexed": false } ], "type": "event", "name": "ProxyDeployed", "anonymous": false }, { "inputs": [ { "internalType": "bytes", "name": "_constructData", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "deployProxy", "outputs": [ { "internalType": "address", "name": "proxy_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getCanonicalLib", "outputs": [ { "internalType": "address", "name": "canonicalLib_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getDispatcher", "outputs": [ { "internalType": "address", "name": "dispatcher_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getOwner", "outputs": [ { "internalType": "address", "name": "owner_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_nextCanonicalLib", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "setCanonicalLib" } ], "devdoc": { "kind": "dev", "methods": { "deployProxy(bytes)": { "params": { "_constructData": "The constructor data with which to call `init()` on the deployed proxy" }, "returns": { "proxy_": "The proxy address" } }, "getCanonicalLib()": { "returns": { "canonicalLib_": "The canonical lib" } }, "getDispatcher()": { "returns": { "dispatcher_": "The `DISPATCHER` variable value" } }, "getOwner()": { "returns": { "owner_": "The contract owner" } }, "setCanonicalLib(address)": { "params": { "_nextCanonicalLib": "The next canonical lib" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "deployProxy(bytes)": { "notice": "Deploys a new proxy instance" }, "getCanonicalLib()": { "notice": "Gets the canonical lib used by all proxies" }, "getDispatcher()": { "notice": "Gets the `DISPATCHER` variable" }, "getOwner()": { "notice": "Gets the contract owner" }, "setCanonicalLib(address)": { "notice": "Sets the next canonical lib used by all proxies" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/infrastructure/gas-relayer/GasRelayPaymasterFactory.sol": "GasRelayPaymasterFactory" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/dispatcher/IDispatcher.sol": { "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", "urls": [ "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/gas-relayer/GasRelayPaymasterFactory.sol": { "keccak256": "0x9fb602805e91d5cf5a8b1774217e3bd2ade58a92aa50f7836e0d4413460debf2", "urls": [ "bzz-raw://3adc00b3c45d7f59b33c9724c35d6d4f6942e8d4b25d66d637deed2098645212", "dweb:/ipfs/QmayeJ6iUrDJsVwCULQZB66fe29C6NjwGLdbMSB6ey1upe" ], "license": "GPL-3.0" }, "contracts/release/utils/beacon-proxy/BeaconProxy.sol": { "keccak256": "0x7a0a6c511a30434a9b329226b0cf1a05ec426ddbfc4e1d9b9083978ee4cf6d53", "urls": [ "bzz-raw://692d3a116ecf306f20a3d29dc70846099ce46ba281524a502336325a6cd05667", "dweb:/ipfs/QmTGxmDWMcMtGEsPLzVB8eyK3WDqaCwoChuc24RXuSzwVb" ], "license": "GPL-3.0" }, "contracts/release/utils/beacon-proxy/BeaconProxyFactory.sol": { "keccak256": "0xd35fa5134e3a8694ed1dbbc8dcd4b4d5b459608c23097a95984e1b98af3e64d9", "urls": [ "bzz-raw://1c008f83ac64b316479406cbf0287593a810d453825a2f669b5810c51429f9fc", "dweb:/ipfs/QmNtdtcWGZFpnb3LsshwV5BiM5H1Vz8SGpoqMchUyfuhQx" ], "license": "GPL-3.0" }, "contracts/release/utils/beacon-proxy/IBeacon.sol": { "keccak256": "0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2", "urls": [ "bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39", "dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V" ], "license": "GPL-3.0" }, "contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol": { "keccak256": "0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc", "urls": [ "bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be", "dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 228 } diff --git a/eth_defi/abi/enzyme/GasRelayPaymasterLib.json b/eth_defi/abi/enzyme/GasRelayPaymasterLib.json index ca00342d..fda53419 100644 --- a/eth_defi/abi/enzyme/GasRelayPaymasterLib.json +++ b/eth_defi/abi/enzyme/GasRelayPaymasterLib.json @@ -1,1391 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_wethToken", - "type": "address" - }, - { - "internalType": "address", - "name": "_relayHub", - "type": "address" - }, - { - "internalType": "address", - "name": "_trustedForwarder", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "Deposited", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "authorizer", - "type": "address" - }, - { - "indexed": false, - "internalType": "bytes4", - "name": "invokedSelector", - "type": "bytes4" - }, - { - "indexed": false, - "internalType": "bool", - "name": "successful", - "type": "bool" - } - ], - "name": "TransactionRelayed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "Withdrawn", - "type": "event" - }, - { - "inputs": [], - "name": "deposit", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getGasAndDataLimits", - "outputs": [ - { - "components": [ - { - "internalType": "uint256", - "name": "acceptanceBudget", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "preRelayedCallGasLimit", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "postRelayedCallGasLimit", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "calldataSizeLimit", - "type": "uint256" - } - ], - "internalType": "struct IGsnPaymaster.GasAndDataLimits", - "name": "limits_", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getHubAddr", - "outputs": [ - { - "internalType": "address", - "name": "relayHub_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getParentComptroller", - "outputs": [ - { - "internalType": "address", - "name": "parentComptroller_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getParentVault", - "outputs": [ - { - "internalType": "address", - "name": "parentVault_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getRelayHubDeposit", - "outputs": [ - { - "internalType": "uint256", - "name": "depositBalance_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getWethToken", - "outputs": [ - { - "internalType": "address", - "name": "wethToken_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vault", - "type": "address" - } - ], - "name": "init", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "_context", - "type": "bytes" - }, - { - "internalType": "bool", - "name": "_success", - "type": "bool" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "components": [ - { - "internalType": "uint256", - "name": "gasPrice", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "pctRelayFee", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "baseRelayFee", - "type": "uint256" - }, - { - "internalType": "address", - "name": "relayWorker", - "type": "address" - }, - { - "internalType": "address", - "name": "paymaster", - "type": "address" - }, - { - "internalType": "address", - "name": "forwarder", - "type": "address" - }, - { - "internalType": "bytes", - "name": "paymasterData", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "clientId", - "type": "uint256" - } - ], - "internalType": "struct IGsnTypes.RelayData", - "name": "_relayData", - "type": "tuple" - } - ], - "name": "postRelayedCall", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "components": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "gas", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "nonce", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "validUntil", - "type": "uint256" - } - ], - "internalType": "struct IGsnForwarder.ForwardRequest", - "name": "request", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "uint256", - "name": "gasPrice", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "pctRelayFee", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "baseRelayFee", - "type": "uint256" - }, - { - "internalType": "address", - "name": "relayWorker", - "type": "address" - }, - { - "internalType": "address", - "name": "paymaster", - "type": "address" - }, - { - "internalType": "address", - "name": "forwarder", - "type": "address" - }, - { - "internalType": "bytes", - "name": "paymasterData", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "clientId", - "type": "uint256" - } - ], - "internalType": "struct IGsnTypes.RelayData", - "name": "relayData", - "type": "tuple" - } - ], - "internalType": "struct IGsnTypes.RelayRequest", - "name": "_relayRequest", - "type": "tuple" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "preRelayedCall", - "outputs": [ - { - "internalType": "bytes", - "name": "context_", - "type": "bytes" - }, - { - "internalType": "bool", - "name": "rejectOnRecipientRevert_", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "trustedForwarder", - "outputs": [ - { - "internalType": "address", - "name": "trustedForwarder_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "versionPaymaster", - "outputs": [ - { - "internalType": "string", - "name": "versionString_", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "withdrawBalance", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x60e06040523480156200001157600080fd5b50604051620019833803806200198383398101604081905262000034916200006f565b6001600160601b0319606092831b811660805290821b811660a05291901b1660c052620000ef565b80516200006981620000d5565b92915050565b6000806000606084860312156200008557600080fd5b60006200009386866200005c565b9350506020620000a6868287016200005c565b9250506040620000b9868287016200005c565b9150509250925092565b60006001600160a01b03821662000069565b620000e081620000c3565b8114620000ec57600080fd5b50565b60805160601c60a05160601c60c05160601c61185e620001256000398061044f5250806106e35250806105fb525061185e6000f3fe608060405234801561001057600080fd5b50600436106100ce5760003560e01c806376fa01c31161008c578063ad5cb1cf11610066578063ad5cb1cf1461017c578063b039a88f14610184578063d0e30db014610199578063de866200146101a1576100ce565b806376fa01c31461014c5780637da0a8771461015f578063921276ea14610167576100ce565b8062be5dd4146100d357806319ab453c146100fd5780632afe31c1146101125780634c252f91146101275780635fd8c7101461013c57806374e861d614610144575b600080fd5b6100e66100e136600461109e565b6101a9565b6040516100f49291906115d2565b60405180910390f35b61011061010b366004610f4f565b610371565b005b61011a6103c3565b6040516100f491906116c1565b61012f61044d565b6040516100f4919061158e565b610110610471565b61012f6105f9565b61011061015a366004611009565b61061d565b61012f6106e1565b61016f610705565b6040516100f491906115f2565b61012f610725565b61018c61073b565b6040516100f491906116b3565b610110610774565b61012f6107b6565b606060006101b56105f9565b6001600160a01b0316336001600160a01b0316146101ee5760405162461bcd60e51b81526004016101e590611673565b60405180910390fd5b60006101f86107b6565b90506001600160a01b03811663368618896102138b80611740565b610221906020810190610f4f565b6040518263ffffffff1660e01b815260040161023d919061158e565b60206040518083038186803b15801561025557600080fd5b505afa158015610269573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061028d9190610feb565b6102a95760405162461bcd60e51b81526004016101e590611603565b60006102cb6102b88b80611740565b6102c69060a08101906116ea565b6107c5565b905061030a826102db8c80611740565b6102ec906040810190602001610f4f565b836102f78e80611740565b6103059060a08101906116ea565b610879565b6103265760405162461bcd60e51b81526004016101e5906116a3565b6103308a80611740565b61033e906020810190610f4f565b8160405160200161035092919061159c565b60408051601f198184030181529190529a60009a5098505050505050505050565b600061037b6107b6565b6001600160a01b0316146103a15760405162461bcd60e51b81526004016101e590611683565b600080546001600160a01b0319166001600160a01b0392909216919091179055565b60006103cd6105f9565b6001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016103f8919061158e565b60206040518083038186803b15801561041057600080fd5b505afa158015610424573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610448919061114e565b905090565b7f000000000000000000000000000000000000000000000000000000000000000090565b600061047b6107b6565b9050806001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b1580156104b657600080fd5b505afa1580156104ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ee9190610f75565b6001600160a01b0316336001600160a01b03161480610526575061051181610b51565b6001600160a01b0316336001600160a01b0316145b6105425760405162461bcd60e51b81526004016101e590611663565b61054a6105f9565b6001600160a01b031662f714ce61055f6103c3565b306040518363ffffffff1660e01b815260040161057d9291906116cf565b600060405180830381600087803b15801561059757600080fd5b505af11580156105ab573d6000803e3d6000fd5b5050505060004790506105be8282610bc4565b7f430648de173157e069201c943adb2d4e340e7cf5b27b1b09c9cb852f03d63b56816040516105ed91906116c1565b60405180910390a15050565b7f000000000000000000000000000000000000000000000000000000000000000090565b6106256105f9565b6001600160a01b0316336001600160a01b0316146106555760405162461bcd60e51b81526004016101e590611673565b600061066460c08301836116ea565b8101906106719190610fcd565b9050801561068157610681610c65565b60008061069087890189610f93565b91509150816001600160a01b03167f0899cabaea081bac7a32055422e160973f6e38e6ecb8faee1f6aa46b1b76d91482886040516106cf9291906115b7565b60405180910390a25050505050505050565b7f000000000000000000000000000000000000000000000000000000000000000090565b606060405180606001604052806023815260200161182f60239139905090565b60008054610448906001600160a01b0316610b51565b610743610e66565b6040518060800160405280620249f08152602001620186a081526020016201adb08152602001612904815250905090565b61077c610725565b6001600160a01b0316336001600160a01b0316146107ac5760405162461bcd60e51b81526004016101e590611693565b6107b4610c65565b565b6000546001600160a01b031690565b600060048210156107e85760405162461bcd60e51b81526004016101e590611613565b6018838360038181106107f757fe5b909101356001600160f81b03191690911c905060108484600281811061081957fe5b909101356001600160f81b03191690911c905060088585600181811061083b57fe5b909101356001600160f81b03191690911c9050858560008161085957fe5b9050013560f81c60f81b6001600160f81b03191617171790505b92915050565b6000856001600160a01b0316856001600160a01b0316141561089d57506001610b48565b60006108a887610b51565b9050806001600160a01b0316866001600160a01b03161415610958576001600160e01b031985166339bf70d160e01b14806108f357506001600160e01b0319851663e572ced160e01b145b8061090e57506001600160e01b03198516630b10ea2b60e41b145b8061092957506001600160e01b03198516631c5b536960e21b145b8061094457506001600160e01b0319851663016e3d1d60e51b145b15610953576001915050610b48565b610b42565b806001600160a01b031663d44ad6cb6040518163ffffffff1660e01b815260040160206040518083038186803b15801561099157600080fd5b505afa1580156109a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109c99190610f75565b6001600160a01b0316866001600160a01b03161415610a5e576001600160e01b03198516634ed28b3f60e01b1480610a1157506001600160e01b031985166348f3520960e01b145b80610a2c57506001600160e01b031985166345d582e760e01b145b1561095357610a39610725565b6001600160a01b0316610a4c8585610df9565b6001600160a01b031614915050610b48565b806001600160a01b03166397c0ac876040518163ffffffff1660e01b815260040160206040518083038186803b158015610a9757600080fd5b505afa158015610aab573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610acf9190610f75565b6001600160a01b0316866001600160a01b03161415610b42576001600160e01b031985166321a455b160e11b1480610b1a57506001600160e01b031985166001620f751d60e31b0319145b80610b3557506001600160e01b0319851663d5189add60e01b145b15610b4257610a396107b6565b60009150505b95945050505050565b6000816001600160a01b0316635a53e3486040518163ffffffff1660e01b815260040160206040518083038186803b158015610b8c57600080fd5b505afa158015610ba0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108739190610f75565b80471015610be45760405162461bcd60e51b81526004016101e590611653565b6000826001600160a01b031682604051610bfd90611583565b60006040518083038185875af1925050503d8060008114610c3a576040519150601f19603f3d011682016040523d82523d6000602084013e610c3f565b606091505b5050905080610c605760405162461bcd60e51b81526004016101e590611643565b505050565b6000610c6f6103c3565b90506706f05b59d3b20000811015610df6576000610c956706f05b59d3b2000083610e3e565b9050610c9f610725565b6001600160a01b03166379951f0f826040518263ffffffff1660e01b8152600401610cca91906116c1565b600060405180830381600087803b158015610ce457600080fd5b505af1158015610cf8573d6000803e3d6000fd5b50505050610d0461044d565b6001600160a01b0316632e1a7d4d826040518263ffffffff1660e01b8152600401610d2f91906116c1565b600060405180830381600087803b158015610d4957600080fd5b505af1158015610d5d573d6000803e3d6000fd5b50505050610d696105f9565b6001600160a01b031663aa67c91982306040518363ffffffff1660e01b8152600401610d95919061158e565b6000604051808303818588803b158015610dae57600080fd5b505af1158015610dc2573d6000803e3d6000fd5b50505050507f2a89b2e3d580398d6dc2db5e0f336b52602bbaa51afa9bb5cdf59239cf0d2bea816040516105ed91906116c1565b50565b60006024821015610e1c5760405162461bcd60e51b81526004016101e590611623565b610e2a602460048486611773565b810190610e379190610f4f565b9392505050565b600082821115610e605760405162461bcd60e51b81526004016101e590611633565b50900390565b6040518060800160405280600081526020016000815260200160008152602001600081525090565b8035610873816117ff565b8051610873816117ff565b803561087381611813565b805161087381611813565b80356108738161181c565b60008083601f840112610ed757600080fd5b50813567ffffffffffffffff811115610eef57600080fd5b602083019150836001820283011115610f0757600080fd5b9250929050565b60006101008284031215610f2157600080fd5b50919050565b600060408284031215610f2157600080fd5b803561087381611825565b805161087381611825565b600060208284031215610f6157600080fd5b6000610f6d8484610e8e565b949350505050565b600060208284031215610f8757600080fd5b6000610f6d8484610e99565b60008060408385031215610fa657600080fd5b6000610fb28585610e8e565b9250506020610fc385828601610eba565b9150509250929050565b600060208284031215610fdf57600080fd5b6000610f6d8484610ea4565b600060208284031215610ffd57600080fd5b6000610f6d8484610eaf565b60008060008060006080868803121561102157600080fd5b853567ffffffffffffffff81111561103857600080fd5b61104488828901610ec5565b9550955050602061105788828901610ea4565b935050604061106888828901610f39565b925050606086013567ffffffffffffffff81111561108557600080fd5b61109188828901610f0e565b9150509295509295909350565b600080600080600080608087890312156110b757600080fd5b863567ffffffffffffffff8111156110ce57600080fd5b6110da89828a01610f27565b965050602087013567ffffffffffffffff8111156110f757600080fd5b61110389828a01610ec5565b9550955050604087013567ffffffffffffffff81111561112257600080fd5b61112e89828a01610ec5565b9350935050606061114189828a01610f39565b9150509295509295509295565b60006020828403121561116057600080fd5b6000610f6d8484610f44565b6111758161179d565b82525050565b611175816117a8565b611175816117ad565b600061119882611761565b6111a28185611765565b93506111b28185602086016117c9565b6111bb816117f5565b9093019392505050565b60006111d2602383611765565b7f70726552656c6179656443616c6c3a20556e617574686f72697a65642063616c8152623632b960e91b602082015260400192915050565b6000611217603c83611765565b7f5f5f706172736554784461746146756e6374696f6e53656c6563746f723a205f81527f747844617461206973206e6f7420612076616c6964206c656e67746800000000602082015260400192915050565b6000611276604383611765565b7f5f5f70617273655478446174614669727374506172616d65746572417341646481527f726573733a205f747844617461206973206e6f7420612076616c6964206c656e6020820152620cee8d60eb1b604082015260600192915050565b60006112e1601e83611765565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b600061131a603a83611765565b7f416464726573733a20756e61626c6520746f2073656e642076616c75652c207281527f6563697069656e74206d61792068617665207265766572746564000000000000602082015260400192915050565b6000611379601d83611765565b7f416464726573733a20696e73756666696369656e742062616c616e6365000000815260200192915050565b60006113b2603883611765565b7f776974686472617742616c616e63653a204f6e6c79206f776e6572206f72206381527f6f6d7074726f6c6c657220697320617574686f72697a65640000000000000000602082015260400192915050565b6000611411601e83611765565b7f43616e206f6e6c792062652063616c6c65642062792052656c61794875620000815260200192915050565b600061144a602383611765565b7f696e69743a205061796d617374657220616c726561647920696e697469616c698152621e995960ea1b602082015260400192915050565b600061148f602c83611765565b7f43616e206f6e6c792062652063616c6c65642062792074686520706172656e7481526b1031b7b6b83a3937b63632b960a11b602082015260400192915050565b600061087360008361176e565b60006114ea602b83611765565b7f70726552656c6179656443616c6c3a2046756e6374696f6e2063616c6c206e6f81526a1d081c195c9b5a5d1d195960aa1b602082015260400192915050565b8051608083019061153b848261157a565b50602082015161154e602085018261157a565b506040820151611561604085018261157a565b506060820151611574606085018261157a565b50505050565b611175816117c6565b6000610873826114d0565b60208101610873828461116c565b604081016115aa828561116c565b610e376020830184611184565b604081016115c58285611184565b610e37602083018461117b565b604080825281016115e3818561118d565b9050610e37602083018461117b565b60208082528101610e37818461118d565b60208082528101610873816111c5565b602080825281016108738161120a565b6020808252810161087381611269565b60208082528101610873816112d4565b602080825281016108738161130d565b602080825281016108738161136c565b60208082528101610873816113a5565b6020808252810161087381611404565b602080825281016108738161143d565b6020808252810161087381611482565b60208082528101610873816114dd565b60808101610873828461152a565b60208101610873828461157a565b604081016116dd828561157a565b610e37602083018461116c565b6000808335601e193685900301811261170257600080fd5b80840192508235915067ffffffffffffffff82111561172057600080fd5b60208301925060018202360383131561173857600080fd5b509250929050565b6000823560de193684900301811261175757600080fd5b9190910192915050565b5190565b90815260200190565b919050565b6000808585111561178357600080fd5b8386111561179057600080fd5b5050820193919092039150565b6000610873826117ba565b151590565b6001600160e01b03191690565b6001600160a01b031690565b90565b60005b838110156117e45781810151838201526020016117cc565b838111156115745750506000910152565b601f01601f191690565b6118088161179d565b8114610df657600080fd5b611808816117a8565b611808816117ad565b611808816117c656fe322e322e332b6f70656e67736e2e656e7a796d6566756e642e697061796d6173746572a164736f6c634300060c000a", - "sourceMap": "1065:11482:229:-:0;;;2241:233;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;2366:21:229;;;;;;;;2397:37;;;;;;;2444:23;;;;;;1065:11482;;5:134:-1;83:13;;101:33;83:13;101:33;:::i;:::-;68:71;;;;:::o;146:535::-;;;;295:2;283:9;274:7;270:23;266:32;263:2;;;311:1;308;301:12;263:2;346:1;363:64;419:7;399:9;363:64;:::i;:::-;353:74;;325:108;464:2;482:64;538:7;529:6;518:9;514:22;482:64;:::i;:::-;472:74;;443:109;583:2;601:64;657:7;648:6;637:9;633:22;601:64;:::i;:::-;591:74;;562:109;257:424;;;;;:::o;688:91::-;;-1:-1;;;;;848:54;;750:24;831:76::o;914:117::-;983:24;1001:5;983:24;:::i;:::-;976:5;973:35;963:2;;1022:1;1019;1012:12;963:2;957:74;:::o;:::-;1065:11482:229;;;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106100ce5760003560e01c806376fa01c31161008c578063ad5cb1cf11610066578063ad5cb1cf1461017c578063b039a88f14610184578063d0e30db014610199578063de866200146101a1576100ce565b806376fa01c31461014c5780637da0a8771461015f578063921276ea14610167576100ce565b8062be5dd4146100d357806319ab453c146100fd5780632afe31c1146101125780634c252f91146101275780635fd8c7101461013c57806374e861d614610144575b600080fd5b6100e66100e136600461109e565b6101a9565b6040516100f49291906115d2565b60405180910390f35b61011061010b366004610f4f565b610371565b005b61011a6103c3565b6040516100f491906116c1565b61012f61044d565b6040516100f4919061158e565b610110610471565b61012f6105f9565b61011061015a366004611009565b61061d565b61012f6106e1565b61016f610705565b6040516100f491906115f2565b61012f610725565b61018c61073b565b6040516100f491906116b3565b610110610774565b61012f6107b6565b606060006101b56105f9565b6001600160a01b0316336001600160a01b0316146101ee5760405162461bcd60e51b81526004016101e590611673565b60405180910390fd5b60006101f86107b6565b90506001600160a01b03811663368618896102138b80611740565b610221906020810190610f4f565b6040518263ffffffff1660e01b815260040161023d919061158e565b60206040518083038186803b15801561025557600080fd5b505afa158015610269573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061028d9190610feb565b6102a95760405162461bcd60e51b81526004016101e590611603565b60006102cb6102b88b80611740565b6102c69060a08101906116ea565b6107c5565b905061030a826102db8c80611740565b6102ec906040810190602001610f4f565b836102f78e80611740565b6103059060a08101906116ea565b610879565b6103265760405162461bcd60e51b81526004016101e5906116a3565b6103308a80611740565b61033e906020810190610f4f565b8160405160200161035092919061159c565b60408051601f198184030181529190529a60009a5098505050505050505050565b600061037b6107b6565b6001600160a01b0316146103a15760405162461bcd60e51b81526004016101e590611683565b600080546001600160a01b0319166001600160a01b0392909216919091179055565b60006103cd6105f9565b6001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016103f8919061158e565b60206040518083038186803b15801561041057600080fd5b505afa158015610424573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610448919061114e565b905090565b7f000000000000000000000000000000000000000000000000000000000000000090565b600061047b6107b6565b9050806001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b1580156104b657600080fd5b505afa1580156104ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ee9190610f75565b6001600160a01b0316336001600160a01b03161480610526575061051181610b51565b6001600160a01b0316336001600160a01b0316145b6105425760405162461bcd60e51b81526004016101e590611663565b61054a6105f9565b6001600160a01b031662f714ce61055f6103c3565b306040518363ffffffff1660e01b815260040161057d9291906116cf565b600060405180830381600087803b15801561059757600080fd5b505af11580156105ab573d6000803e3d6000fd5b5050505060004790506105be8282610bc4565b7f430648de173157e069201c943adb2d4e340e7cf5b27b1b09c9cb852f03d63b56816040516105ed91906116c1565b60405180910390a15050565b7f000000000000000000000000000000000000000000000000000000000000000090565b6106256105f9565b6001600160a01b0316336001600160a01b0316146106555760405162461bcd60e51b81526004016101e590611673565b600061066460c08301836116ea565b8101906106719190610fcd565b9050801561068157610681610c65565b60008061069087890189610f93565b91509150816001600160a01b03167f0899cabaea081bac7a32055422e160973f6e38e6ecb8faee1f6aa46b1b76d91482886040516106cf9291906115b7565b60405180910390a25050505050505050565b7f000000000000000000000000000000000000000000000000000000000000000090565b606060405180606001604052806023815260200161182f60239139905090565b60008054610448906001600160a01b0316610b51565b610743610e66565b6040518060800160405280620249f08152602001620186a081526020016201adb08152602001612904815250905090565b61077c610725565b6001600160a01b0316336001600160a01b0316146107ac5760405162461bcd60e51b81526004016101e590611693565b6107b4610c65565b565b6000546001600160a01b031690565b600060048210156107e85760405162461bcd60e51b81526004016101e590611613565b6018838360038181106107f757fe5b909101356001600160f81b03191690911c905060108484600281811061081957fe5b909101356001600160f81b03191690911c905060088585600181811061083b57fe5b909101356001600160f81b03191690911c9050858560008161085957fe5b9050013560f81c60f81b6001600160f81b03191617171790505b92915050565b6000856001600160a01b0316856001600160a01b0316141561089d57506001610b48565b60006108a887610b51565b9050806001600160a01b0316866001600160a01b03161415610958576001600160e01b031985166339bf70d160e01b14806108f357506001600160e01b0319851663e572ced160e01b145b8061090e57506001600160e01b03198516630b10ea2b60e41b145b8061092957506001600160e01b03198516631c5b536960e21b145b8061094457506001600160e01b0319851663016e3d1d60e51b145b15610953576001915050610b48565b610b42565b806001600160a01b031663d44ad6cb6040518163ffffffff1660e01b815260040160206040518083038186803b15801561099157600080fd5b505afa1580156109a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109c99190610f75565b6001600160a01b0316866001600160a01b03161415610a5e576001600160e01b03198516634ed28b3f60e01b1480610a1157506001600160e01b031985166348f3520960e01b145b80610a2c57506001600160e01b031985166345d582e760e01b145b1561095357610a39610725565b6001600160a01b0316610a4c8585610df9565b6001600160a01b031614915050610b48565b806001600160a01b03166397c0ac876040518163ffffffff1660e01b815260040160206040518083038186803b158015610a9757600080fd5b505afa158015610aab573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610acf9190610f75565b6001600160a01b0316866001600160a01b03161415610b42576001600160e01b031985166321a455b160e11b1480610b1a57506001600160e01b031985166001620f751d60e31b0319145b80610b3557506001600160e01b0319851663d5189add60e01b145b15610b4257610a396107b6565b60009150505b95945050505050565b6000816001600160a01b0316635a53e3486040518163ffffffff1660e01b815260040160206040518083038186803b158015610b8c57600080fd5b505afa158015610ba0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108739190610f75565b80471015610be45760405162461bcd60e51b81526004016101e590611653565b6000826001600160a01b031682604051610bfd90611583565b60006040518083038185875af1925050503d8060008114610c3a576040519150601f19603f3d011682016040523d82523d6000602084013e610c3f565b606091505b5050905080610c605760405162461bcd60e51b81526004016101e590611643565b505050565b6000610c6f6103c3565b90506706f05b59d3b20000811015610df6576000610c956706f05b59d3b2000083610e3e565b9050610c9f610725565b6001600160a01b03166379951f0f826040518263ffffffff1660e01b8152600401610cca91906116c1565b600060405180830381600087803b158015610ce457600080fd5b505af1158015610cf8573d6000803e3d6000fd5b50505050610d0461044d565b6001600160a01b0316632e1a7d4d826040518263ffffffff1660e01b8152600401610d2f91906116c1565b600060405180830381600087803b158015610d4957600080fd5b505af1158015610d5d573d6000803e3d6000fd5b50505050610d696105f9565b6001600160a01b031663aa67c91982306040518363ffffffff1660e01b8152600401610d95919061158e565b6000604051808303818588803b158015610dae57600080fd5b505af1158015610dc2573d6000803e3d6000fd5b50505050507f2a89b2e3d580398d6dc2db5e0f336b52602bbaa51afa9bb5cdf59239cf0d2bea816040516105ed91906116c1565b50565b60006024821015610e1c5760405162461bcd60e51b81526004016101e590611623565b610e2a602460048486611773565b810190610e379190610f4f565b9392505050565b600082821115610e605760405162461bcd60e51b81526004016101e590611633565b50900390565b6040518060800160405280600081526020016000815260200160008152602001600081525090565b8035610873816117ff565b8051610873816117ff565b803561087381611813565b805161087381611813565b80356108738161181c565b60008083601f840112610ed757600080fd5b50813567ffffffffffffffff811115610eef57600080fd5b602083019150836001820283011115610f0757600080fd5b9250929050565b60006101008284031215610f2157600080fd5b50919050565b600060408284031215610f2157600080fd5b803561087381611825565b805161087381611825565b600060208284031215610f6157600080fd5b6000610f6d8484610e8e565b949350505050565b600060208284031215610f8757600080fd5b6000610f6d8484610e99565b60008060408385031215610fa657600080fd5b6000610fb28585610e8e565b9250506020610fc385828601610eba565b9150509250929050565b600060208284031215610fdf57600080fd5b6000610f6d8484610ea4565b600060208284031215610ffd57600080fd5b6000610f6d8484610eaf565b60008060008060006080868803121561102157600080fd5b853567ffffffffffffffff81111561103857600080fd5b61104488828901610ec5565b9550955050602061105788828901610ea4565b935050604061106888828901610f39565b925050606086013567ffffffffffffffff81111561108557600080fd5b61109188828901610f0e565b9150509295509295909350565b600080600080600080608087890312156110b757600080fd5b863567ffffffffffffffff8111156110ce57600080fd5b6110da89828a01610f27565b965050602087013567ffffffffffffffff8111156110f757600080fd5b61110389828a01610ec5565b9550955050604087013567ffffffffffffffff81111561112257600080fd5b61112e89828a01610ec5565b9350935050606061114189828a01610f39565b9150509295509295509295565b60006020828403121561116057600080fd5b6000610f6d8484610f44565b6111758161179d565b82525050565b611175816117a8565b611175816117ad565b600061119882611761565b6111a28185611765565b93506111b28185602086016117c9565b6111bb816117f5565b9093019392505050565b60006111d2602383611765565b7f70726552656c6179656443616c6c3a20556e617574686f72697a65642063616c8152623632b960e91b602082015260400192915050565b6000611217603c83611765565b7f5f5f706172736554784461746146756e6374696f6e53656c6563746f723a205f81527f747844617461206973206e6f7420612076616c6964206c656e67746800000000602082015260400192915050565b6000611276604383611765565b7f5f5f70617273655478446174614669727374506172616d65746572417341646481527f726573733a205f747844617461206973206e6f7420612076616c6964206c656e6020820152620cee8d60eb1b604082015260600192915050565b60006112e1601e83611765565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b600061131a603a83611765565b7f416464726573733a20756e61626c6520746f2073656e642076616c75652c207281527f6563697069656e74206d61792068617665207265766572746564000000000000602082015260400192915050565b6000611379601d83611765565b7f416464726573733a20696e73756666696369656e742062616c616e6365000000815260200192915050565b60006113b2603883611765565b7f776974686472617742616c616e63653a204f6e6c79206f776e6572206f72206381527f6f6d7074726f6c6c657220697320617574686f72697a65640000000000000000602082015260400192915050565b6000611411601e83611765565b7f43616e206f6e6c792062652063616c6c65642062792052656c61794875620000815260200192915050565b600061144a602383611765565b7f696e69743a205061796d617374657220616c726561647920696e697469616c698152621e995960ea1b602082015260400192915050565b600061148f602c83611765565b7f43616e206f6e6c792062652063616c6c65642062792074686520706172656e7481526b1031b7b6b83a3937b63632b960a11b602082015260400192915050565b600061087360008361176e565b60006114ea602b83611765565b7f70726552656c6179656443616c6c3a2046756e6374696f6e2063616c6c206e6f81526a1d081c195c9b5a5d1d195960aa1b602082015260400192915050565b8051608083019061153b848261157a565b50602082015161154e602085018261157a565b506040820151611561604085018261157a565b506060820151611574606085018261157a565b50505050565b611175816117c6565b6000610873826114d0565b60208101610873828461116c565b604081016115aa828561116c565b610e376020830184611184565b604081016115c58285611184565b610e37602083018461117b565b604080825281016115e3818561118d565b9050610e37602083018461117b565b60208082528101610e37818461118d565b60208082528101610873816111c5565b602080825281016108738161120a565b6020808252810161087381611269565b60208082528101610873816112d4565b602080825281016108738161130d565b602080825281016108738161136c565b60208082528101610873816113a5565b6020808252810161087381611404565b602080825281016108738161143d565b6020808252810161087381611482565b60208082528101610873816114dd565b60808101610873828461152a565b60208101610873828461157a565b604081016116dd828561157a565b610e37602083018461116c565b6000808335601e193685900301811261170257600080fd5b80840192508235915067ffffffffffffffff82111561172057600080fd5b60208301925060018202360383131561173857600080fd5b509250929050565b6000823560de193684900301811261175757600080fd5b9190910192915050565b5190565b90815260200190565b919050565b6000808585111561178357600080fd5b8386111561179057600080fd5b5050820193919092039150565b6000610873826117ba565b151590565b6001600160e01b03191690565b6001600160a01b031690565b90565b60005b838110156117e45781810151838201526020016117cc565b838111156115745750506000910152565b601f01601f191690565b6118088161179d565b8114610df657600080fd5b611808816117a8565b611808816117ad565b611808816117c656fe322e322e332b6f70656e67736e2e656e7a796d6566756e642e697061796d6173746572a164736f6c634300060c000a", - "sourceMap": "1065:11482:229:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3310:916;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;2654:165;;;;;;:::i;:::-;;:::i;:::-;;11572:160;;;:::i;:::-;;;;;;;:::i;11841:99::-;;;:::i;:::-;;;;;;;:::i;5201:556::-;;;:::i;11107:104::-;;;:::i;4646:492::-;;;;;;:::i;:::-;;:::i;12118:128::-;;;:::i;12394:151::-;;;:::i;:::-;;;;;;;:::i;5942:142::-;;;:::i;10604:397::-;;;:::i;:::-;;;;;;;:::i;2920:84::-;;;:::i;11324:104::-;;;:::i;3310:916::-;3532:21;3555:29;2170:12;:10;:12::i;:::-;-1:-1:-1;;;;;2156:26:229;:10;-1:-1:-1;;;;;2156:26:229;;2148:69;;;;-1:-1:-1;;;2148:69:229;;;;;;;:::i;:::-;;;;;;;;;3600:18:::1;3621:16;:14;:16::i;:::-;3600:37:::0;-1:-1:-1;;;;;;3668:32:229;::::1;;3701:21;:13:::0;;:21:::1;:::i;:::-;:26;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;3668:60;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3647:142;;;;-1:-1:-1::0;;;3647:142:229::1;;;;;;;:::i;:::-;3800:15;3818:57;3848:21;:13:::0;;:21:::1;:::i;:::-;:26;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;3818:29;:57::i;:::-;3800:75:::0;-1:-1:-1;3906:169:229::1;3939:10:::0;3967:21:::1;:13:::0;;:21:::1;:::i;:::-;:24;::::0;;;;;::::1;;;:::i;:::-;4009:8:::0;4035:21:::1;:13:::0;;:21:::1;:::i;:::-;:26;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;3906:15;:169::i;:::-;3885:259;;;;-1:-1:-1::0;;;3885:259:229::1;;;;;;;:::i;:::-;4174:21;:13:::0;;:21:::1;:::i;:::-;:26;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;4202:8;4163:48;;;;;;;;;:::i;:::-;;::::0;;-1:-1:-1;;4163:48:229;;::::1;::::0;;;;;;;4213:5:::1;::::0;-1:-1:-1;3310:916:229;-1:-1:-1;;;;;;;;;3310:916:229:o;2654:165::-;2739:1;2711:16;:14;:16::i;:::-;-1:-1:-1;;;;;2711:30:229;;2703:78;;;;-1:-1:-1;;;2703:78:229;;;;;;;:::i;:::-;2792:11;:20;;-1:-1:-1;;;;;;2792:20:229;-1:-1:-1;;;;;2792:20:229;;;;;;;;;;2654:165::o;11572:160::-;11632:23;11687:12;:10;:12::i;:::-;-1:-1:-1;;;;;11674:36:229;;11719:4;11674:51;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11667:58;;11572:160;:::o;11841:99::-;11923:10;11841:99;:::o;5201:556::-;5256:18;5277:16;:14;:16::i;:::-;5256:37;;5345:10;-1:-1:-1;;;;;5338:27:229;;:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;5324:43:229;:10;-1:-1:-1;;;;;5324:43:229;;:113;;;;5401:36;5426:10;5401:24;:36::i;:::-;-1:-1:-1;;;;;5387:50:229;:10;-1:-1:-1;;;;;5387:50:229;;5324:113;5303:216;;;;-1:-1:-1;;;5303:216:229;;;;;;;:::i;:::-;5543:12;:10;:12::i;:::-;-1:-1:-1;;;;;5530:35:229;;5566:20;:18;:20::i;:::-;5604:4;5530:81;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5622:14;5639:21;5622:38;;5671:46;5697:10;5710:6;5671:17;:46::i;:::-;5733:17;5743:6;5733:17;;;;;;:::i;:::-;;;;;;;;5201:556;;:::o;11107:104::-;11195:9;11107:104;:::o;4646:492::-;2170:12;:10;:12::i;:::-;-1:-1:-1;;;;;2156:26:229;:10;-1:-1:-1;;;;;2156:26:229;;2148:69;;;;-1:-1:-1;;;2148:69:229;;;;;;;:::i;:::-;4840:23:::1;4877:24;;::::0;::::1;:10:::0;:24:::1;:::i;:::-;4866:44;;;;;;;:::i;:::-;4840:70;;4924:18;4920:63;;;4958:14;:12;:14::i;:::-;4994:15;::::0;5030:39:::1;::::0;;::::1;5041:8:::0;5030:39:::1;:::i;:::-;4993:76;;;;5103:7;-1:-1:-1::0;;;;;5084:47:229::1;;5112:8;5122;5084:47;;;;;;;:::i;:::-;;;;;;;;2227:1;;;4646:492:::0;;;;;:::o;12118:128::-;12222:17;12118:128;:::o;12394:151::-;12454:28;12494:44;;;;;;;;;;;;;;;;;;;12394:151;:::o;5942:142::-;5995:26;6065:11;;6040:37;;-1:-1:-1;;;;;6065:11:229;6040:24;:37::i;10604:397::-;10699:45;;:::i;:::-;10779:215;;;;;;;;1780:6;10779:215;;;;1518:6;10779:215;;;;1585:6;10779:215;;;;1321:5;10779:215;;;10760:234;;10604:397;:::o;2920:84::-;1998:22;:20;:22::i;:::-;-1:-1:-1;;;;;1984:36:229;:10;-1:-1:-1;;;;;1984:36:229;;1963:127;;;;-1:-1:-1;;;1963:127:229;;;;;;;:::i;:::-;2983:14:::1;:12;:14::i;:::-;2920:84::o:0;11324:104::-;11371:20;11410:11;-1:-1:-1;;;;;11410:11:229;11324:104;:::o;9756:532::-;9865:24;9984:1;9966:19;;;9945:126;;;;-1:-1:-1;;;9945:126:229;;;;;;;:::i;:::-;10243:2;10228:7;;10236:1;10228:10;;;;;;;;;;;-1:-1:-1;;;;;;10228:10:229;10221:24;;;;-1:-1:-1;10202:2:229;10187:7;;10195:1;10187:10;;;;;;;;;;;-1:-1:-1;;;;;;10187:10:229;10180:24;;;;-1:-1:-1;10162:1:229;10147:7;;10155:1;10147:10;;;;;;;;;;;-1:-1:-1;;;;;;10147:10:229;10140:23;;;;-1:-1:-1;10114:7:229;;10122:1;10114:7;:10;;;;;;;;;;;;-1:-1:-1;;;;;10114:50:229;;;:91;:132;10082:164;;9756:532;;;;;:::o;7179:1866::-;7346:13;7388:11;-1:-1:-1;;;;;7375:24:229;:9;-1:-1:-1;;;;;7375:24:229;;7371:121;;;-1:-1:-1;7477:4:229;7470:11;;7371:121;7502:25;7530:37;7555:11;7530:24;:37::i;:::-;7502:65;;7594:17;-1:-1:-1;;;;;7581:30:229;:9;-1:-1:-1;;;;;7581:30:229;;7577:1439;;;-1:-1:-1;;;;;;7648:52:229;;-1:-1:-1;;;7648:52:229;;:128;;-1:-1:-1;;;;;;;7720:56:229;;-1:-1:-1;;;7720:56:229;7648:128;:209;;;-1:-1:-1;;;;;;;7796:61:229;;-1:-1:-1;;;7796:61:229;7648:209;:292;;;-1:-1:-1;;;;;;;7877:63:229;;-1:-1:-1;;;7877:63:229;7648:292;:380;;;-1:-1:-1;;;;;;;7960:68:229;;-1:-1:-1;;;7960:68:229;7648:380;7627:460;;;8068:4;8061:11;;;;;7627:460;7577:1439;;;8135:17;-1:-1:-1;;;;;8120:50:229;;:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;8107:65:229;:9;-1:-1:-1;;;;;8107:65:229;;8103:913;;;-1:-1:-1;;;;;;8209:63:229;;-1:-1:-1;;;8209:63:229;;:138;;-1:-1:-1;;;;;;;8292:55:229;;-1:-1:-1;;;8292:55:229;8209:138;:214;;;-1:-1:-1;;;;;;;8367:56:229;;-1:-1:-1;;;8367:56:229;8209:214;8188:361;;;8512:22;:20;:22::i;:::-;-1:-1:-1;;;;;8463:71:229;:45;8500:7;;8463:36;:45::i;:::-;-1:-1:-1;;;;;8463:71:229;;8456:78;;;;;8103:913;8597:17;-1:-1:-1;;;;;8582:49:229;;:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;8569:64:229;:9;-1:-1:-1;;;;;8569:64:229;;8565:451;;;-1:-1:-1;;;;;;8670:63:229;;-1:-1:-1;;;8670:63:229;;:140;;-1:-1:-1;;;;;;;8753:57:229;;-1:-1:-1;;;;;;8753:57:229;8670:140;:216;;;-1:-1:-1;;;;;;;8830:56:229;;-1:-1:-1;;;8830:56:229;8670:216;8649:357;;;8975:16;:14;:16::i;8649:357::-;9033:5;9026:12;;;7179:1866;;;;;;;;:::o;6764:189::-;6865:25;6920:11;-1:-1:-1;;;;;6913:31:229;;:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;2056:391:451:-;2170:6;2145:21;:31;;2137:73;;;;-1:-1:-1;;;2137:73:451;;;;;;;:::i;:::-;2299:12;2317:9;-1:-1:-1;;;;;2317:14:451;2340:6;2317:35;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2298:54;;;2370:7;2362:78;;;;-1:-1:-1;;;2362:78:451;;;;;;;:::i;:::-;2056:391;;;:::o;6225:462:229:-;6267:19;6289:20;:18;:20::i;:::-;6267:42;;1389:9;6324:11;:21;6320:361;;;6361:14;6378:24;1389:9;6390:11;6378;:24::i;:::-;6361:41;;6445:22;:20;:22::i;:::-;-1:-1:-1;;;;;6417:73:229;;6491:6;6417:81;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6519:14;:12;:14::i;:::-;-1:-1:-1;;;;;6513:30:229;;6544:6;6513:38;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6579:12;:10;:12::i;:::-;-1:-1:-1;;;;;6566:37:229;;6611:6;6627:4;6566:67;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6653:17;6663:6;6653:17;;;;;;:::i;6320:361::-;6225:462;:::o;9239:352::-;9355:25;9435:2;9417:20;;;9396:134;;;;-1:-1:-1;;;9396:134:229;;;;;;;:::i;:::-;9559:13;9569:2;9567:1;9559:7;;:13;:::i;:::-;9548:36;;;;;;;:::i;:::-;9541:43;9239:352;-1:-1:-1;;;9239:352:229:o;3136:155:442:-;3194:7;3226:1;3221;:6;;3213:49;;;;-1:-1:-1;;;3213:49:442;;;;;;;:::i;:::-;-1:-1:-1;3279:5:442;;;3136:155::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5:130::-;72:20;;97:33;72:20;97:33;:::i;142:134::-;220:13;;238:33;220:13;238:33;:::i;436:124::-;500:20;;525:30;500:20;525:30;:::i;567:128::-;642:13;;660:30;642:13;660:30;:::i;702:128::-;768:20;;793:32;768:20;793:32;:::i;851:336::-;;;965:3;958:4;950:6;946:17;942:27;932:2;;983:1;980;973:12;932:2;-1:-1;1003:20;;1043:18;1032:30;;1029:2;;;1075:1;1072;1065:12;1029:2;1109:4;1101:6;1097:17;1085:29;;1160:3;1152:4;1144:6;1140:17;1130:8;1126:32;1123:41;1120:2;;;1177:1;1174;1167:12;1120:2;925:262;;;;;:::o;1230:162::-;;1344:3;1335:6;1330:3;1326:16;1322:26;1319:2;;;1361:1;1358;1351:12;1319:2;-1:-1;1380:6;1312:80;-1:-1;1312:80::o;1437:164::-;;1554:2;1545:6;1540:3;1536:16;1532:25;1529:2;;;1570:1;1567;1560:12;1608:130;1675:20;;1700:33;1675:20;1700:33;:::i;1745:134::-;1823:13;;1841:33;1823:13;1841:33;:::i;1886:241::-;;1990:2;1978:9;1969:7;1965:23;1961:32;1958:2;;;2006:1;2003;1996:12;1958:2;2041:1;2058:53;2103:7;2083:9;2058:53;:::i;:::-;2048:63;1952:175;-1:-1;;;;1952:175::o;2134:263::-;;2249:2;2237:9;2228:7;2224:23;2220:32;2217:2;;;2265:1;2262;2255:12;2217:2;2300:1;2317:64;2373:7;2353:9;2317:64;:::i;2668:380::-;;;2796:2;2784:9;2775:7;2771:23;2767:32;2764:2;;;2812:1;2809;2802:12;2764:2;2847:1;2864:61;2917:7;2897:9;2864:61;:::i;:::-;2854:71;;2826:105;2962:2;2980:52;3024:7;3015:6;3004:9;3000:22;2980:52;:::i;:::-;2970:62;;2941:97;2758:290;;;;;:::o;3055:235::-;;3156:2;3144:9;3135:7;3131:23;3127:32;3124:2;;;3172:1;3169;3162:12;3124:2;3207:1;3224:50;3266:7;3246:9;3224:50;:::i;3297:257::-;;3409:2;3397:9;3388:7;3384:23;3380:32;3377:2;;;3425:1;3422;3415:12;3377:2;3460:1;3477:61;3530:7;3510:9;3477:61;:::i;3561:881::-;;;;;;3762:3;3750:9;3741:7;3737:23;3733:33;3730:2;;;3779:1;3776;3769:12;3730:2;3814:31;;3865:18;3854:30;;3851:2;;;3897:1;3894;3887:12;3851:2;3925:64;3981:7;3972:6;3961:9;3957:22;3925:64;:::i;:::-;3907:82;;;;3793:202;4026:2;4044:50;4086:7;4077:6;4066:9;4062:22;4044:50;:::i;:::-;4034:60;;4005:95;4131:2;4149:53;4194:7;4185:6;4174:9;4170:22;4149:53;:::i;:::-;4139:63;;4110:98;4267:2;4256:9;4252:18;4239:32;4291:18;4283:6;4280:30;4277:2;;;4323:1;4320;4313:12;4277:2;4343:83;4418:7;4409:6;4398:9;4394:22;4343:83;:::i;:::-;4333:93;;4218:214;3724:718;;;;;;;;:::o;4449:1017::-;;;;;;;4675:3;4663:9;4654:7;4650:23;4646:33;4643:2;;;4692:1;4689;4682:12;4643:2;4727:31;;4778:18;4767:30;;4764:2;;;4810:1;4807;4800:12;4764:2;4830:86;4908:7;4899:6;4888:9;4884:22;4830:86;:::i;:::-;4820:96;;4706:216;4981:2;4970:9;4966:18;4953:32;5005:18;4997:6;4994:30;4991:2;;;5037:1;5034;5027:12;4991:2;5065:64;5121:7;5112:6;5101:9;5097:22;5065:64;:::i;:::-;5047:82;;;;4932:203;5194:2;5183:9;5179:18;5166:32;5218:18;5210:6;5207:30;5204:2;;;5250:1;5247;5240:12;5204:2;5278:64;5334:7;5325:6;5314:9;5310:22;5278:64;:::i;:::-;5260:82;;;;5145:203;5379:2;5397:53;5442:7;5433:6;5422:9;5418:22;5397:53;:::i;:::-;5387:63;;5358:98;4637:829;;;;;;;;:::o;5473:263::-;;5588:2;5576:9;5567:7;5563:23;5559:32;5556:2;;;5604:1;5601;5594:12;5556:2;5639:1;5656:64;5712:7;5692:9;5656:64;:::i;5743:137::-;5842:32;5868:5;5842:32;:::i;:::-;5837:3;5830:45;5824:56;;:::o;6007:104::-;6084:21;6099:5;6084:21;:::i;6118:110::-;6199:23;6216:5;6199:23;:::i;6235:343::-;;6345:38;6377:5;6345:38;:::i;:::-;6395:70;6458:6;6453:3;6395:70;:::i;:::-;6388:77;;6470:52;6515:6;6510:3;6503:4;6496:5;6492:16;6470:52;:::i;:::-;6543:29;6565:6;6543:29;:::i;:::-;6534:39;;;;6325:253;-1:-1;;;6325:253::o;6940:372::-;;7100:67;7164:2;7159:3;7100:67;:::i;:::-;7200:34;7180:55;;-1:-1;;;7264:2;7255:12;;7248:27;7303:2;7294:12;;7086:226;-1:-1;;7086:226::o;7321:397::-;;7481:67;7545:2;7540:3;7481:67;:::i;:::-;7581:34;7561:55;;7650:30;7645:2;7636:12;;7629:52;7709:2;7700:12;;7467:251;-1:-1;;7467:251::o;7727:441::-;;7887:67;7951:2;7946:3;7887:67;:::i;:::-;7987:34;7967:55;;8056:34;8051:2;8042:12;;8035:56;-1:-1;;;8120:2;8111:12;;8104:27;8159:2;8150:12;;7873:295;-1:-1;;7873:295::o;8177:330::-;;8337:67;8401:2;8396:3;8337:67;:::i;:::-;8437:32;8417:53;;8498:2;8489:12;;8323:184;-1:-1;;8323:184::o;8516:395::-;;8676:67;8740:2;8735:3;8676:67;:::i;:::-;8776:34;8756:55;;8845:28;8840:2;8831:12;;8824:50;8902:2;8893:12;;8662:249;-1:-1;;8662:249::o;8920:329::-;;9080:67;9144:2;9139:3;9080:67;:::i;:::-;9180:31;9160:52;;9240:2;9231:12;;9066:183;-1:-1;;9066:183::o;9258:393::-;;9418:67;9482:2;9477:3;9418:67;:::i;:::-;9518:34;9498:55;;9587:26;9582:2;9573:12;;9566:48;9642:2;9633:12;;9404:247;-1:-1;;9404:247::o;9660:330::-;;9820:67;9884:2;9879:3;9820:67;:::i;:::-;9920:32;9900:53;;9981:2;9972:12;;9806:184;-1:-1;;9806:184::o;9999:372::-;;10159:67;10223:2;10218:3;10159:67;:::i;:::-;10259:34;10239:55;;-1:-1;;;10323:2;10314:12;;10307:27;10362:2;10353:12;;10145:226;-1:-1;;10145:226::o;10380:381::-;;10540:67;10604:2;10599:3;10540:67;:::i;:::-;10640:34;10620:55;;-1:-1;;;10704:2;10695:12;;10688:36;10752:2;10743:12;;10526:235;-1:-1;;10526:235::o;10770:296::-;;10947:83;11028:1;11023:3;10947:83;:::i;11075:380::-;;11235:67;11299:2;11294:3;11235:67;:::i;:::-;11335:34;11315:55;;-1:-1;;;11399:2;11390:12;;11383:35;11446:2;11437:12;;11221:234;-1:-1;;11221:234::o;11548:866::-;11789:23;;11711:4;11702:14;;;11818:63;11706:3;11789:23;11818:63;:::i;:::-;11731:156;11978:4;11971:5;11967:16;11961:23;11990:63;12047:4;12042:3;12038:14;12024:12;11990:63;:::i;:::-;11897:162;12151:4;12144:5;12140:16;12134:23;12163:63;12220:4;12215:3;12211:14;12197:12;12163:63;:::i;:::-;12069:163;12318:4;12311:5;12307:16;12301:23;12330:63;12387:4;12382:3;12378:14;12364:12;12330:63;:::i;:::-;12242:157;11684:730;;;:::o;12421:103::-;12494:24;12512:5;12494:24;:::i;12651:379::-;;12858:147;13001:3;12858:147;:::i;13037:222::-;13164:2;13149:18;;13178:71;13153:9;13222:6;13178:71;:::i;13266:329::-;13419:2;13404:18;;13433:71;13408:9;13477:6;13433:71;:::i;:::-;13515:70;13581:2;13570:9;13566:18;13557:6;13515:70;:::i;13602:317::-;13749:2;13734:18;;13763:69;13738:9;13805:6;13763:69;:::i;:::-;13843:66;13905:2;13894:9;13890:18;13881:6;13843:66;:::i;13926:405::-;14093:2;14107:47;;;14078:18;;14168:76;14078:18;14230:6;14168:76;:::i;:::-;14160:84;;14255:66;14317:2;14306:9;14302:18;14293:6;14255:66;:::i;14338:310::-;14485:2;14499:47;;;14470:18;;14560:78;14470:18;14624:6;14560:78;:::i;14655:416::-;14855:2;14869:47;;;14840:18;;14930:131;14840:18;14930:131;:::i;15078:416::-;15278:2;15292:47;;;15263:18;;15353:131;15263:18;15353:131;:::i;15501:416::-;15701:2;15715:47;;;15686:18;;15776:131;15686:18;15776:131;:::i;15924:416::-;16124:2;16138:47;;;16109:18;;16199:131;16109:18;16199:131;:::i;16347:416::-;16547:2;16561:47;;;16532:18;;16622:131;16532:18;16622:131;:::i;16770:416::-;16970:2;16984:47;;;16955:18;;17045:131;16955:18;17045:131;:::i;17193:416::-;17393:2;17407:47;;;17378:18;;17468:131;17378:18;17468:131;:::i;17616:416::-;17816:2;17830:47;;;17801:18;;17891:131;17801:18;17891:131;:::i;18039:416::-;18239:2;18253:47;;;18224:18;;18314:131;18224:18;18314:131;:::i;18462:416::-;18662:2;18676:47;;;18647:18;;18737:131;18647:18;18737:131;:::i;18885:416::-;19085:2;19099:47;;;19070:18;;19160:131;19070:18;19160:131;:::i;19308:363::-;19505:3;19490:19;;19520:141;19494:9;19634:6;19520:141;:::i;19678:222::-;19805:2;19790:18;;19819:71;19794:9;19863:6;19819:71;:::i;19907:365::-;20078:2;20063:18;;20092:71;20067:9;20136:6;20092:71;:::i;:::-;20174:88;20258:2;20247:9;20243:18;20234:6;20174:88;:::i;20279:506::-;;;20401:25;;-1:-1;;20473:14;20469:29;;;20465:48;20441:73;;20431:2;;20528:1;20525;20518:12;20431:2;20559:18;20549:8;20545:33;20537:41;;20612:4;20599:18;20589:28;;20637:18;20629:6;20626:30;20623:2;;;20669:1;20666;20659:12;20623:2;20697;20691:4;20687:13;20679:21;;20751:4;20743:6;20739:17;20723:14;20719:38;20713:4;20709:49;20706:2;;;20771:1;20768;20761:12;20706:2;20369:416;;;;;;:::o;20792:325::-;;20930:25;;-1:-1;;21002:14;20998:29;;;20994:48;20970:73;;20960:2;;21057:1;21054;21047:12;20960:2;21074:33;;;;;20898:219;-1:-1;;20898:219::o;21124:121::-;21211:12;;21182:63::o;21382:162::-;21484:19;;;21533:4;21524:14;;21477:67::o;21553:144::-;21688:3;21666:31;-1:-1;21666:31::o;21877:318::-;;;22027:8;22015:10;22012:24;22009:2;;;22049:1;22046;22039:12;22009:2;22074:6;22064:8;22061:20;22058:2;;;22094:1;22091;22084:12;22058:2;-1:-1;;22116:31;;;22165:25;;;;;-1:-1;22003:192::o;22202:91::-;;22264:24;22282:5;22264:24;:::i;22406:85::-;22472:13;22465:21;;22448:43::o;22498:144::-;-1:-1;;;;;;22559:78;;22542:100::o;22649:121::-;-1:-1;;;;;22711:54;;22694:76::o;22777:72::-;22839:5;22822:27::o;22857:268::-;22922:1;22929:101;22943:6;22940:1;22937:13;22929:101;;;23010:11;;;23004:18;22991:11;;;22984:39;22965:2;22958:10;22929:101;;;23045:6;23042:1;23039:13;23036:2;;;-1:-1;;23110:1;23092:16;;23085:27;22906:219::o;23133:97::-;23221:2;23201:14;-1:-1;;23197:28;;23181:49::o;23238:117::-;23307:24;23325:5;23307:24;:::i;:::-;23300:5;23297:35;23287:2;;23346:1;23343;23336:12;23502:111;23568:21;23583:5;23568:21;:::i;23620:115::-;23688:23;23705:5;23688:23;:::i;23742:117::-;23811:24;23829:5;23811:24;:::i", - "linkReferences": {}, - "immutableReferences": { - "61409": [ - { - "start": 1531, - "length": 32 - } - ], - "61411": [ - { - "start": 1763, - "length": 32 - } - ], - "61413": [ - { - "start": 1103, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "deposit()": "d0e30db0", - "getGasAndDataLimits()": "b039a88f", - "getHubAddr()": "74e861d6", - "getParentComptroller()": "ad5cb1cf", - "getParentVault()": "de866200", - "getRelayHubDeposit()": "2afe31c1", - "getWethToken()": "4c252f91", - "init(address)": "19ab453c", - "postRelayedCall(bytes,bool,uint256,(uint256,uint256,uint256,address,address,address,bytes,uint256))": "76fa01c3", - "preRelayedCall(((address,address,uint256,uint256,uint256,bytes,uint256),(uint256,uint256,uint256,address,address,address,bytes,uint256)),bytes,bytes,uint256)": "00be5dd4", - "trustedForwarder()": "7da0a877", - "versionPaymaster()": "921276ea", - "withdrawBalance()": "5fd8c710" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_wethToken\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_relayHub\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_trustedForwarder\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Deposited\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"authorizer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes4\",\"name\":\"invokedSelector\",\"type\":\"bytes4\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"successful\",\"type\":\"bool\"}],\"name\":\"TransactionRelayed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Withdrawn\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"deposit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getGasAndDataLimits\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"acceptanceBudget\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"preRelayedCallGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"postRelayedCallGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"calldataSizeLimit\",\"type\":\"uint256\"}],\"internalType\":\"struct IGsnPaymaster.GasAndDataLimits\",\"name\":\"limits_\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getHubAddr\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"relayHub_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getParentComptroller\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"parentComptroller_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getParentVault\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"parentVault_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRelayHubDeposit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"depositBalance_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getWethToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"wethToken_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vault\",\"type\":\"address\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_context\",\"type\":\"bytes\"},{\"internalType\":\"bool\",\"name\":\"_success\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"gasPrice\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"pctRelayFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"baseRelayFee\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"relayWorker\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"paymaster\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"forwarder\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"paymasterData\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"clientId\",\"type\":\"uint256\"}],\"internalType\":\"struct IGsnTypes.RelayData\",\"name\":\"_relayData\",\"type\":\"tuple\"}],\"name\":\"postRelayedCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"gas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"validUntil\",\"type\":\"uint256\"}],\"internalType\":\"struct IGsnForwarder.ForwardRequest\",\"name\":\"request\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"gasPrice\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"pctRelayFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"baseRelayFee\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"relayWorker\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"paymaster\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"forwarder\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"paymasterData\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"clientId\",\"type\":\"uint256\"}],\"internalType\":\"struct IGsnTypes.RelayData\",\"name\":\"relayData\",\"type\":\"tuple\"}],\"internalType\":\"struct IGsnTypes.RelayRequest\",\"name\":\"_relayRequest\",\"type\":\"tuple\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"preRelayedCall\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"context_\",\"type\":\"bytes\"},{\"internalType\":\"bool\",\"name\":\"rejectOnRecipientRevert_\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"trustedForwarder\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"trustedForwarder_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"versionPaymaster\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"versionString_\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"withdrawBalance\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"getGasAndDataLimits()\":{\"returns\":{\"limits_\":\"`GasAndDataLimits(PAYMASTER_ACCEPTANCE_BUDGET, PRE_RELAYED_CALL_GAS_LIMIT, POST_RELAYED_CALL_GAS_LIMIT, CALLDATA_SIZE_LIMIT)`\"}},\"getHubAddr()\":{\"returns\":{\"relayHub_\":\"The `RELAY_HUB` value\"}},\"getParentComptroller()\":{\"returns\":{\"parentComptroller_\":\"The ComptrollerProxy\"}},\"getParentVault()\":{\"returns\":{\"parentVault_\":\"The `parentVault` value\"}},\"getRelayHubDeposit()\":{\"returns\":{\"depositBalance_\":\"amount of ETH deposited on the relay hub\"}},\"getWethToken()\":{\"returns\":{\"wethToken_\":\"The `WETH_TOKEN` value\"}},\"init(address)\":{\"details\":\"Used to set the owning vault\",\"params\":{\"_vault\":\"The VaultProxy associated with the paymaster proxy\"}},\"postRelayedCall(bytes,bool,uint256,(uint256,uint256,uint256,address,address,address,bytes,uint256))\":{\"params\":{\"_context\":\"The context constructed by preRelayedCall (used to pass data from pre to post relayed call)\",\"_relayData\":\"The relay params of the request. can be used by relayHub.calculateCharge()\",\"_success\":\"Whether or not the relayed tx succeed\"}},\"preRelayedCall(((address,address,uint256,uint256,uint256,bytes,uint256),(uint256,uint256,uint256,address,address,address,bytes,uint256)),bytes,bytes,uint256)\":{\"params\":{\"_relayRequest\":\"The full relay request structure\"},\"returns\":{\"context_\":\"The tx signer and the fn sig, encoded so that it can be passed to `postRelayCall`\",\"rejectOnRecipientRevert_\":\"Always false\"}},\"trustedForwarder()\":{\"returns\":{\"trustedForwarder_\":\"The forwarder contract which is trusted to validated the relayed tx signature\"}},\"versionPaymaster()\":{\"returns\":{\"versionString_\":\"The version string\"}}},\"title\":\"GasRelayPaymasterLib Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"deposit()\":{\"notice\":\"Pull deposit from the vault and reactivate relaying\"},\"getGasAndDataLimits()\":{\"notice\":\"Gets gas limits used by the relay hub for the pre and post relay calls\"},\"getHubAddr()\":{\"notice\":\"Gets the `RELAY_HUB` variable value\"},\"getParentComptroller()\":{\"notice\":\"Gets the current ComptrollerProxy of the VaultProxy associated with this contract\"},\"getParentVault()\":{\"notice\":\"Gets the `parentVault` variable value\"},\"getRelayHubDeposit()\":{\"notice\":\"Look up amount of ETH deposited on the relay hub\"},\"getWethToken()\":{\"notice\":\"Gets the `WETH_TOKEN` variable value\"},\"init(address)\":{\"notice\":\"Initializes a paymaster proxy\"},\"postRelayedCall(bytes,bool,uint256,(uint256,uint256,uint256,address,address,address,bytes,uint256))\":{\"notice\":\"Called by the relay hub after the relayed tx is executed, tops up deposit if flag passed through paymasterdata is true\"},\"preRelayedCall(((address,address,uint256,uint256,uint256,bytes,uint256),(uint256,uint256,uint256,address,address,address,bytes,uint256)),bytes,bytes,uint256)\":{\"notice\":\"Checks whether the paymaster will pay for a given relayed tx\"},\"trustedForwarder()\":{\"notice\":\"Gets the `TRUSTED_FORWARDER` variable value\"},\"versionPaymaster()\":{\"notice\":\"Gets the string representation of the contract version (fulfills interface)\"},\"withdrawBalance()\":{\"notice\":\"Send any deposited ETH back to the vault\"}},\"notice\":\"The core logic library for the \\\"paymaster\\\" contract which refunds GSN relayers\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/infrastructure/gas-relayer/GasRelayPaymasterLib.sol\":\"GasRelayPaymasterLib\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/dispatcher/IMigrationHookHandler.sol\":{\"keccak256\":\"0x4cec61ef58c1d2e7693ee954c3582b1a04ff836a569e216edb7526c7e56a5632\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://0acae6d91e3e20e6ebd46cbeff926967a2d64f3d8eb2e3cdff20366917a77879\",\"dweb:/ipfs/Qmd44oJngTNRnwXdDwtNd9o4UvTgxAmBGikz3QMPKf4NWy\"]},\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/persistent/vault/interfaces/IExternalPositionVault.sol\":{\"keccak256\":\"0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d\",\"dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8\"]},\"contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol\":{\"keccak256\":\"0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb\",\"dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU\"]},\"contracts/persistent/vault/interfaces/IMigratableVault.sol\":{\"keccak256\":\"0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6\",\"dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs\"]},\"contracts/persistent/vault/interfaces/IVaultCore.sol\":{\"keccak256\":\"0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd\",\"dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr\"]},\"contracts/release/core/fund-deployer/FundDeployer.sol\":{\"keccak256\":\"0x8662d2630a08a8383fa72bd9d6d73138f6bc300c94c808f29bf6a18edeb9a71b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2351ac152b1c97dec9287c15da022f05bbf484e772e2bfdcf89186116dfeaf15\",\"dweb:/ipfs/Qmc5zs3yPzZeAf3iTe1hAavgbHAeeqYtqxNryRdjXL4tBJ\"]},\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/core/fund/comptroller/ComptrollerLib.sol\":{\"keccak256\":\"0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579\",\"dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq\"]},\"contracts/release/core/fund/comptroller/ComptrollerProxy.sol\":{\"keccak256\":\"0x2915bf85b7a39e3b31f00d87bf06fc11415c6e027e00f98681b122176b74c76f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://07a34cb3bd349426cbf016b21a3be2391c2a2aba1cd383965da2b5546253515b\",\"dweb:/ipfs/QmbQtHhPzFPQjw5JgLNQN2ZeVUrYQXKwAUaW5pwNMAcSQ3\"]},\"contracts/release/core/fund/comptroller/IComptroller.sol\":{\"keccak256\":\"0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97\",\"dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L\"]},\"contracts/release/core/fund/vault/IVault.sol\":{\"keccak256\":\"0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599\",\"dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG\"]},\"contracts/release/extensions/IExtension.sol\":{\"keccak256\":\"0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70\",\"dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t\"]},\"contracts/release/extensions/fee-manager/IFeeManager.sol\":{\"keccak256\":\"0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22\",\"dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod\"]},\"contracts/release/extensions/policy-manager/IPolicy.sol\":{\"keccak256\":\"0xc12663ca72065b256c3b934ab738fde26c147c7b0399de43650df89dd52ee467\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://be8fecfcba0f3fda615f0a1bb3c766750c23761ef751d7c4472dfe540e460cd1\",\"dweb:/ipfs/QmaarPoRTsX6NiJ8V4u2f3Qh6d7tUs28bw9R14An3t5Bs1\"]},\"contracts/release/extensions/policy-manager/IPolicyManager.sol\":{\"keccak256\":\"0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa\",\"dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb\"]},\"contracts/release/extensions/policy-manager/PolicyManager.sol\":{\"keccak256\":\"0xd15a53daee1148a76df4e0de9a3d77181f0134a0cf4c815f222e16a352ac3ac0\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a58b2508954f047e4c613da8dee716cd573a1f15061893dc7c00e71ee6a4e465\",\"dweb:/ipfs/QmcSpn8RhvicFaXPcG9KoveX6t6wvfsFRuz63pVZsEJcda\"]},\"contracts/release/extensions/utils/ExtensionBase.sol\":{\"keccak256\":\"0xae68767766f6459bd2cd9dbd39df74f2c2f68f2150885bbce410e4091c807bb1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ce4c49522a39f618cc76feb474260fe910949f38e83b5f4518f1f245ba6eb876\",\"dweb:/ipfs/QmZ4wciRpziZAS4HRQy44Sgzm4GM4Wzme9zYnABzR6Cbzo\"]},\"contracts/release/infrastructure/gas-relayer/GasRelayPaymasterLib.sol\":{\"keccak256\":\"0xdc0562c8c791dbdca601278078fb2df0a20286805906ff1e9c81b51f2fd8789f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3ff25d0377cd67308a2425eaa05e5b042af9120f850de91fe58def674f709f61\",\"dweb:/ipfs/QmQgb8SBED1CCF47NUDViwQVdS1KJ9mQLNH6bBRp68dzNC\"]},\"contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol\":{\"keccak256\":\"0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f\",\"dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol\":{\"keccak256\":\"0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0\",\"dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol\":{\"keccak256\":\"0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b\",\"dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3\"]},\"contracts/release/infrastructure/gas-relayer/bases/GasRelayPaymasterLibBase1.sol\":{\"keccak256\":\"0xe127c2554c9e32a7cae0905a496d221d20732bbe66abb479b639877328b5daa0\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6231b13d306ed1eea40a805fa815cb44279203ec17dde3485e25266abbe89725\",\"dweb:/ipfs/QmNeZy9zojT5XELkCPy64URdKWsahM53zGos8ubeH7DB1K\"]},\"contracts/release/infrastructure/protocol-fees/IProtocolFeeTracker.sol\":{\"keccak256\":\"0x232b347f83457439064add7369bfe1930c7cb56f15930bb87d640e909c15e447\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://24f9af5eebdd373b1d7a598c096eb6def31b2640d54416d7d5a7226e1cef17e6\",\"dweb:/ipfs/QmStq9ByGuSYdKwTmZf52L1X6sZVJUfXTnoVbnjLLiUcHG\"]},\"contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol\":{\"keccak256\":\"0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965\",\"dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ\"]},\"contracts/release/interfaces/IGsnForwarder.sol\":{\"keccak256\":\"0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29\",\"dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G\"]},\"contracts/release/interfaces/IGsnPaymaster.sol\":{\"keccak256\":\"0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4\",\"dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF\"]},\"contracts/release/interfaces/IGsnRelayHub.sol\":{\"keccak256\":\"0x118c6df3aa483cc26ba7d4331267fb75c92025fe7890b35f4057a7c6f96a7590\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://374088f4368235c911ea94b213cbf3dd40ab277d183c5c3d3db0435ef50cbf04\",\"dweb:/ipfs/QmSC2JoNqrjqiAnYHNX1JFQnp8XnPriSi7cAutT6YbKvb9\"]},\"contracts/release/interfaces/IGsnTypes.sol\":{\"keccak256\":\"0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7\",\"dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C\"]},\"contracts/release/interfaces/IWETH.sol\":{\"keccak256\":\"0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2\",\"dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/FundDeployerOwnerMixin.sol\":{\"keccak256\":\"0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927\",\"dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM\"]},\"contracts/release/utils/NonUpgradableProxy.sol\":{\"keccak256\":\"0x7d70145a2a0ff8c36318b23ac6ca662f133584dd823933230c66143b89e2d53d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b05ea625a428fdf3f908db3e97a358a4117d4998abde806ba3839c7fad821bca\",\"dweb:/ipfs/QmSLzFT1ktLTZ7rAKYjcg6dBRuxVMzrGXjGJSsH5nSVx2G\"]},\"contracts/release/utils/beacon-proxy/IBeacon.sol\":{\"keccak256\":\"0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39\",\"dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V\"]},\"contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol\":{\"keccak256\":\"0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be\",\"dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_wethToken", - "type": "address" - }, - { - "internalType": "address", - "name": "_relayHub", - "type": "address" - }, - { - "internalType": "address", - "name": "_trustedForwarder", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "Deposited", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "authorizer", - "type": "address", - "indexed": true - }, - { - "internalType": "bytes4", - "name": "invokedSelector", - "type": "bytes4", - "indexed": false - }, - { - "internalType": "bool", - "name": "successful", - "type": "bool", - "indexed": false - } - ], - "type": "event", - "name": "TransactionRelayed", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "Withdrawn", - "anonymous": false - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "deposit" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getGasAndDataLimits", - "outputs": [ - { - "internalType": "struct IGsnPaymaster.GasAndDataLimits", - "name": "limits_", - "type": "tuple", - "components": [ - { - "internalType": "uint256", - "name": "acceptanceBudget", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "preRelayedCallGasLimit", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "postRelayedCallGasLimit", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "calldataSizeLimit", - "type": "uint256" - } - ] - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getHubAddr", - "outputs": [ - { - "internalType": "address", - "name": "relayHub_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getParentComptroller", - "outputs": [ - { - "internalType": "address", - "name": "parentComptroller_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getParentVault", - "outputs": [ - { - "internalType": "address", - "name": "parentVault_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getRelayHubDeposit", - "outputs": [ - { - "internalType": "uint256", - "name": "depositBalance_", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getWethToken", - "outputs": [ - { - "internalType": "address", - "name": "wethToken_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vault", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "init" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "_context", - "type": "bytes" - }, - { - "internalType": "bool", - "name": "_success", - "type": "bool" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "struct IGsnTypes.RelayData", - "name": "_relayData", - "type": "tuple", - "components": [ - { - "internalType": "uint256", - "name": "gasPrice", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "pctRelayFee", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "baseRelayFee", - "type": "uint256" - }, - { - "internalType": "address", - "name": "relayWorker", - "type": "address" - }, - { - "internalType": "address", - "name": "paymaster", - "type": "address" - }, - { - "internalType": "address", - "name": "forwarder", - "type": "address" - }, - { - "internalType": "bytes", - "name": "paymasterData", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "clientId", - "type": "uint256" - } - ] - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "postRelayedCall" - }, - { - "inputs": [ - { - "internalType": "struct IGsnTypes.RelayRequest", - "name": "_relayRequest", - "type": "tuple", - "components": [ - { - "internalType": "struct IGsnForwarder.ForwardRequest", - "name": "request", - "type": "tuple", - "components": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "gas", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "nonce", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "validUntil", - "type": "uint256" - } - ] - }, - { - "internalType": "struct IGsnTypes.RelayData", - "name": "relayData", - "type": "tuple", - "components": [ - { - "internalType": "uint256", - "name": "gasPrice", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "pctRelayFee", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "baseRelayFee", - "type": "uint256" - }, - { - "internalType": "address", - "name": "relayWorker", - "type": "address" - }, - { - "internalType": "address", - "name": "paymaster", - "type": "address" - }, - { - "internalType": "address", - "name": "forwarder", - "type": "address" - }, - { - "internalType": "bytes", - "name": "paymasterData", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "clientId", - "type": "uint256" - } - ] - } - ] - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "preRelayedCall", - "outputs": [ - { - "internalType": "bytes", - "name": "context_", - "type": "bytes" - }, - { - "internalType": "bool", - "name": "rejectOnRecipientRevert_", - "type": "bool" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "trustedForwarder", - "outputs": [ - { - "internalType": "address", - "name": "trustedForwarder_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "versionPaymaster", - "outputs": [ - { - "internalType": "string", - "name": "versionString_", - "type": "string" - } - ] - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "withdrawBalance" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "getGasAndDataLimits()": { - "returns": { - "limits_": "`GasAndDataLimits(PAYMASTER_ACCEPTANCE_BUDGET, PRE_RELAYED_CALL_GAS_LIMIT, POST_RELAYED_CALL_GAS_LIMIT, CALLDATA_SIZE_LIMIT)`" - } - }, - "getHubAddr()": { - "returns": { - "relayHub_": "The `RELAY_HUB` value" - } - }, - "getParentComptroller()": { - "returns": { - "parentComptroller_": "The ComptrollerProxy" - } - }, - "getParentVault()": { - "returns": { - "parentVault_": "The `parentVault` value" - } - }, - "getRelayHubDeposit()": { - "returns": { - "depositBalance_": "amount of ETH deposited on the relay hub" - } - }, - "getWethToken()": { - "returns": { - "wethToken_": "The `WETH_TOKEN` value" - } - }, - "init(address)": { - "details": "Used to set the owning vault", - "params": { - "_vault": "The VaultProxy associated with the paymaster proxy" - } - }, - "postRelayedCall(bytes,bool,uint256,(uint256,uint256,uint256,address,address,address,bytes,uint256))": { - "params": { - "_context": "The context constructed by preRelayedCall (used to pass data from pre to post relayed call)", - "_relayData": "The relay params of the request. can be used by relayHub.calculateCharge()", - "_success": "Whether or not the relayed tx succeed" - } - }, - "preRelayedCall(((address,address,uint256,uint256,uint256,bytes,uint256),(uint256,uint256,uint256,address,address,address,bytes,uint256)),bytes,bytes,uint256)": { - "params": { - "_relayRequest": "The full relay request structure" - }, - "returns": { - "context_": "The tx signer and the fn sig, encoded so that it can be passed to `postRelayCall`", - "rejectOnRecipientRevert_": "Always false" - } - }, - "trustedForwarder()": { - "returns": { - "trustedForwarder_": "The forwarder contract which is trusted to validated the relayed tx signature" - } - }, - "versionPaymaster()": { - "returns": { - "versionString_": "The version string" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "deposit()": { - "notice": "Pull deposit from the vault and reactivate relaying" - }, - "getGasAndDataLimits()": { - "notice": "Gets gas limits used by the relay hub for the pre and post relay calls" - }, - "getHubAddr()": { - "notice": "Gets the `RELAY_HUB` variable value" - }, - "getParentComptroller()": { - "notice": "Gets the current ComptrollerProxy of the VaultProxy associated with this contract" - }, - "getParentVault()": { - "notice": "Gets the `parentVault` variable value" - }, - "getRelayHubDeposit()": { - "notice": "Look up amount of ETH deposited on the relay hub" - }, - "getWethToken()": { - "notice": "Gets the `WETH_TOKEN` variable value" - }, - "init(address)": { - "notice": "Initializes a paymaster proxy" - }, - "postRelayedCall(bytes,bool,uint256,(uint256,uint256,uint256,address,address,address,bytes,uint256))": { - "notice": "Called by the relay hub after the relayed tx is executed, tops up deposit if flag passed through paymasterdata is true" - }, - "preRelayedCall(((address,address,uint256,uint256,uint256,bytes,uint256),(uint256,uint256,uint256,address,address,address,bytes,uint256)),bytes,bytes,uint256)": { - "notice": "Checks whether the paymaster will pay for a given relayed tx" - }, - "trustedForwarder()": { - "notice": "Gets the `TRUSTED_FORWARDER` variable value" - }, - "versionPaymaster()": { - "notice": "Gets the string representation of the contract version (fulfills interface)" - }, - "withdrawBalance()": { - "notice": "Send any deposited ETH back to the vault" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/infrastructure/gas-relayer/GasRelayPaymasterLib.sol": "GasRelayPaymasterLib" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/dispatcher/IDispatcher.sol": { - "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", - "urls": [ - "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", - "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/dispatcher/IMigrationHookHandler.sol": { - "keccak256": "0x4cec61ef58c1d2e7693ee954c3582b1a04ff836a569e216edb7526c7e56a5632", - "urls": [ - "bzz-raw://0acae6d91e3e20e6ebd46cbeff926967a2d64f3d8eb2e3cdff20366917a77879", - "dweb:/ipfs/Qmd44oJngTNRnwXdDwtNd9o4UvTgxAmBGikz3QMPKf4NWy" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/external-positions/IExternalPosition.sol": { - "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", - "urls": [ - "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", - "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IExternalPositionVault.sol": { - "keccak256": "0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6", - "urls": [ - "bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d", - "dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol": { - "keccak256": "0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0", - "urls": [ - "bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb", - "dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IMigratableVault.sol": { - "keccak256": "0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238", - "urls": [ - "bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6", - "dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IVaultCore.sol": { - "keccak256": "0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80", - "urls": [ - "bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd", - "dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund-deployer/FundDeployer.sol": { - "keccak256": "0x8662d2630a08a8383fa72bd9d6d73138f6bc300c94c808f29bf6a18edeb9a71b", - "urls": [ - "bzz-raw://2351ac152b1c97dec9287c15da022f05bbf484e772e2bfdcf89186116dfeaf15", - "dweb:/ipfs/Qmc5zs3yPzZeAf3iTe1hAavgbHAeeqYtqxNryRdjXL4tBJ" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund-deployer/IFundDeployer.sol": { - "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", - "urls": [ - "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", - "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/comptroller/ComptrollerLib.sol": { - "keccak256": "0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64", - "urls": [ - "bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579", - "dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/comptroller/ComptrollerProxy.sol": { - "keccak256": "0x2915bf85b7a39e3b31f00d87bf06fc11415c6e027e00f98681b122176b74c76f", - "urls": [ - "bzz-raw://07a34cb3bd349426cbf016b21a3be2391c2a2aba1cd383965da2b5546253515b", - "dweb:/ipfs/QmbQtHhPzFPQjw5JgLNQN2ZeVUrYQXKwAUaW5pwNMAcSQ3" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/comptroller/IComptroller.sol": { - "keccak256": "0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f", - "urls": [ - "bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97", - "dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/vault/IVault.sol": { - "keccak256": "0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd", - "urls": [ - "bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599", - "dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/IExtension.sol": { - "keccak256": "0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b", - "urls": [ - "bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70", - "dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/fee-manager/IFeeManager.sol": { - "keccak256": "0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51", - "urls": [ - "bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22", - "dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/policy-manager/IPolicy.sol": { - "keccak256": "0xc12663ca72065b256c3b934ab738fde26c147c7b0399de43650df89dd52ee467", - "urls": [ - "bzz-raw://be8fecfcba0f3fda615f0a1bb3c766750c23761ef751d7c4472dfe540e460cd1", - "dweb:/ipfs/QmaarPoRTsX6NiJ8V4u2f3Qh6d7tUs28bw9R14An3t5Bs1" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/policy-manager/IPolicyManager.sol": { - "keccak256": "0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32", - "urls": [ - "bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa", - "dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/policy-manager/PolicyManager.sol": { - "keccak256": "0xd15a53daee1148a76df4e0de9a3d77181f0134a0cf4c815f222e16a352ac3ac0", - "urls": [ - "bzz-raw://a58b2508954f047e4c613da8dee716cd573a1f15061893dc7c00e71ee6a4e465", - "dweb:/ipfs/QmcSpn8RhvicFaXPcG9KoveX6t6wvfsFRuz63pVZsEJcda" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/utils/ExtensionBase.sol": { - "keccak256": "0xae68767766f6459bd2cd9dbd39df74f2c2f68f2150885bbce410e4091c807bb1", - "urls": [ - "bzz-raw://ce4c49522a39f618cc76feb474260fe910949f38e83b5f4518f1f245ba6eb876", - "dweb:/ipfs/QmZ4wciRpziZAS4HRQy44Sgzm4GM4Wzme9zYnABzR6Cbzo" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/gas-relayer/GasRelayPaymasterLib.sol": { - "keccak256": "0xdc0562c8c791dbdca601278078fb2df0a20286805906ff1e9c81b51f2fd8789f", - "urls": [ - "bzz-raw://3ff25d0377cd67308a2425eaa05e5b042af9120f850de91fe58def674f709f61", - "dweb:/ipfs/QmQgb8SBED1CCF47NUDViwQVdS1KJ9mQLNH6bBRp68dzNC" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol": { - "keccak256": "0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609", - "urls": [ - "bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f", - "dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol": { - "keccak256": "0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01", - "urls": [ - "bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0", - "dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol": { - "keccak256": "0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196", - "urls": [ - "bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b", - "dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/gas-relayer/bases/GasRelayPaymasterLibBase1.sol": { - "keccak256": "0xe127c2554c9e32a7cae0905a496d221d20732bbe66abb479b639877328b5daa0", - "urls": [ - "bzz-raw://6231b13d306ed1eea40a805fa815cb44279203ec17dde3485e25266abbe89725", - "dweb:/ipfs/QmNeZy9zojT5XELkCPy64URdKWsahM53zGos8ubeH7DB1K" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/protocol-fees/IProtocolFeeTracker.sol": { - "keccak256": "0x232b347f83457439064add7369bfe1930c7cb56f15930bb87d640e909c15e447", - "urls": [ - "bzz-raw://24f9af5eebdd373b1d7a598c096eb6def31b2640d54416d7d5a7226e1cef17e6", - "dweb:/ipfs/QmStq9ByGuSYdKwTmZf52L1X6sZVJUfXTnoVbnjLLiUcHG" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol": { - "keccak256": "0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794", - "urls": [ - "bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965", - "dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IGsnForwarder.sol": { - "keccak256": "0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030", - "urls": [ - "bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29", - "dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IGsnPaymaster.sol": { - "keccak256": "0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c", - "urls": [ - "bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4", - "dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IGsnRelayHub.sol": { - "keccak256": "0x118c6df3aa483cc26ba7d4331267fb75c92025fe7890b35f4057a7c6f96a7590", - "urls": [ - "bzz-raw://374088f4368235c911ea94b213cbf3dd40ab277d183c5c3d3db0435ef50cbf04", - "dweb:/ipfs/QmSC2JoNqrjqiAnYHNX1JFQnp8XnPriSi7cAutT6YbKvb9" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IGsnTypes.sol": { - "keccak256": "0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714", - "urls": [ - "bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7", - "dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IWETH.sol": { - "keccak256": "0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2", - "urls": [ - "bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2", - "dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AddressArrayLib.sol": { - "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", - "urls": [ - "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", - "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/FundDeployerOwnerMixin.sol": { - "keccak256": "0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934", - "urls": [ - "bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927", - "dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/NonUpgradableProxy.sol": { - "keccak256": "0x7d70145a2a0ff8c36318b23ac6ca662f133584dd823933230c66143b89e2d53d", - "urls": [ - "bzz-raw://b05ea625a428fdf3f908db3e97a358a4117d4998abde806ba3839c7fad821bca", - "dweb:/ipfs/QmSLzFT1ktLTZ7rAKYjcg6dBRuxVMzrGXjGJSsH5nSVx2G" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/beacon-proxy/IBeacon.sol": { - "keccak256": "0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2", - "urls": [ - "bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39", - "dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol": { - "keccak256": "0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc", - "urls": [ - "bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be", - "dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { - "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", - "urls": [ - "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", - "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Address.sol": { - "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", - "urls": [ - "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", - "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 229 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_wethToken", "type": "address", "internalType": "address" }, { "name": "_relayHub", "type": "address", "internalType": "address" }, { "name": "_trustedForwarder", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "deposit", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "getGasAndDataLimits", "inputs": [], "outputs": [ { "name": "limits_", "type": "tuple", "internalType": "struct IGsnPaymaster.GasAndDataLimits", "components": [ { "name": "acceptanceBudget", "type": "uint256", "internalType": "uint256" }, { "name": "preRelayedCallGasLimit", "type": "uint256", "internalType": "uint256" }, { "name": "postRelayedCallGasLimit", "type": "uint256", "internalType": "uint256" }, { "name": "calldataSizeLimit", "type": "uint256", "internalType": "uint256" } ] } ], "stateMutability": "view" }, { "type": "function", "name": "getHubAddr", "inputs": [], "outputs": [ { "name": "relayHub_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getParentComptroller", "inputs": [], "outputs": [ { "name": "parentComptroller_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getParentVault", "inputs": [], "outputs": [ { "name": "parentVault_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getRelayHubDeposit", "inputs": [], "outputs": [ { "name": "depositBalance_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "getWethToken", "inputs": [], "outputs": [ { "name": "wethToken_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "init", "inputs": [ { "name": "_vault", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "postRelayedCall", "inputs": [ { "name": "_context", "type": "bytes", "internalType": "bytes" }, { "name": "_success", "type": "bool", "internalType": "bool" }, { "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "_relayData", "type": "tuple", "internalType": "struct IGsnTypes.RelayData", "components": [ { "name": "gasPrice", "type": "uint256", "internalType": "uint256" }, { "name": "pctRelayFee", "type": "uint256", "internalType": "uint256" }, { "name": "baseRelayFee", "type": "uint256", "internalType": "uint256" }, { "name": "relayWorker", "type": "address", "internalType": "address" }, { "name": "paymaster", "type": "address", "internalType": "address" }, { "name": "forwarder", "type": "address", "internalType": "address" }, { "name": "paymasterData", "type": "bytes", "internalType": "bytes" }, { "name": "clientId", "type": "uint256", "internalType": "uint256" } ] } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "preRelayedCall", "inputs": [ { "name": "_relayRequest", "type": "tuple", "internalType": "struct IGsnTypes.RelayRequest", "components": [ { "name": "request", "type": "tuple", "internalType": "struct IGsnForwarder.ForwardRequest", "components": [ { "name": "from", "type": "address", "internalType": "address" }, { "name": "to", "type": "address", "internalType": "address" }, { "name": "value", "type": "uint256", "internalType": "uint256" }, { "name": "gas", "type": "uint256", "internalType": "uint256" }, { "name": "nonce", "type": "uint256", "internalType": "uint256" }, { "name": "data", "type": "bytes", "internalType": "bytes" }, { "name": "validUntil", "type": "uint256", "internalType": "uint256" } ] }, { "name": "relayData", "type": "tuple", "internalType": "struct IGsnTypes.RelayData", "components": [ { "name": "gasPrice", "type": "uint256", "internalType": "uint256" }, { "name": "pctRelayFee", "type": "uint256", "internalType": "uint256" }, { "name": "baseRelayFee", "type": "uint256", "internalType": "uint256" }, { "name": "relayWorker", "type": "address", "internalType": "address" }, { "name": "paymaster", "type": "address", "internalType": "address" }, { "name": "forwarder", "type": "address", "internalType": "address" }, { "name": "paymasterData", "type": "bytes", "internalType": "bytes" }, { "name": "clientId", "type": "uint256", "internalType": "uint256" } ] } ] }, { "name": "", "type": "bytes", "internalType": "bytes" }, { "name": "", "type": "bytes", "internalType": "bytes" }, { "name": "", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "context_", "type": "bytes", "internalType": "bytes" }, { "name": "rejectOnRecipientRevert_", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "trustedForwarder", "inputs": [], "outputs": [ { "name": "trustedForwarder_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "versionPaymaster", "inputs": [], "outputs": [ { "name": "versionString_", "type": "string", "internalType": "string" } ], "stateMutability": "view" }, { "type": "function", "name": "withdrawBalance", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "event", "name": "Deposited", "inputs": [ { "name": "amount", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "TransactionRelayed", "inputs": [ { "name": "authorizer", "type": "address", "indexed": true, "internalType": "address" }, { "name": "invokedSelector", "type": "bytes4", "indexed": false, "internalType": "bytes4" }, { "name": "successful", "type": "bool", "indexed": false, "internalType": "bool" } ], "anonymous": false }, { "type": "event", "name": "Withdrawn", "inputs": [ { "name": "amount", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false } ], "bytecode": { "object": "0x60e06040523480156200001157600080fd5b50604051620019833803806200198383398101604081905262000034916200006f565b6001600160601b0319606092831b811660805290821b811660a05291901b1660c052620000ef565b80516200006981620000d5565b92915050565b6000806000606084860312156200008557600080fd5b60006200009386866200005c565b9350506020620000a6868287016200005c565b9250506040620000b9868287016200005c565b9150509250925092565b60006001600160a01b03821662000069565b620000e081620000c3565b8114620000ec57600080fd5b50565b60805160601c60a05160601c60c05160601c61185e620001256000398061044f5250806106e35250806105fb525061185e6000f3fe608060405234801561001057600080fd5b50600436106100ce5760003560e01c806376fa01c31161008c578063ad5cb1cf11610066578063ad5cb1cf1461017c578063b039a88f14610184578063d0e30db014610199578063de866200146101a1576100ce565b806376fa01c31461014c5780637da0a8771461015f578063921276ea14610167576100ce565b8062be5dd4146100d357806319ab453c146100fd5780632afe31c1146101125780634c252f91146101275780635fd8c7101461013c57806374e861d614610144575b600080fd5b6100e66100e136600461109e565b6101a9565b6040516100f49291906115d2565b60405180910390f35b61011061010b366004610f4f565b610371565b005b61011a6103c3565b6040516100f491906116c1565b61012f61044d565b6040516100f4919061158e565b610110610471565b61012f6105f9565b61011061015a366004611009565b61061d565b61012f6106e1565b61016f610705565b6040516100f491906115f2565b61012f610725565b61018c61073b565b6040516100f491906116b3565b610110610774565b61012f6107b6565b606060006101b56105f9565b6001600160a01b0316336001600160a01b0316146101ee5760405162461bcd60e51b81526004016101e590611673565b60405180910390fd5b60006101f86107b6565b90506001600160a01b03811663368618896102138b80611740565b610221906020810190610f4f565b6040518263ffffffff1660e01b815260040161023d919061158e565b60206040518083038186803b15801561025557600080fd5b505afa158015610269573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061028d9190610feb565b6102a95760405162461bcd60e51b81526004016101e590611603565b60006102cb6102b88b80611740565b6102c69060a08101906116ea565b6107c5565b905061030a826102db8c80611740565b6102ec906040810190602001610f4f565b836102f78e80611740565b6103059060a08101906116ea565b610879565b6103265760405162461bcd60e51b81526004016101e5906116a3565b6103308a80611740565b61033e906020810190610f4f565b8160405160200161035092919061159c565b60408051601f198184030181529190529a60009a5098505050505050505050565b600061037b6107b6565b6001600160a01b0316146103a15760405162461bcd60e51b81526004016101e590611683565b600080546001600160a01b0319166001600160a01b0392909216919091179055565b60006103cd6105f9565b6001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016103f8919061158e565b60206040518083038186803b15801561041057600080fd5b505afa158015610424573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610448919061114e565b905090565b7f000000000000000000000000000000000000000000000000000000000000000090565b600061047b6107b6565b9050806001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b1580156104b657600080fd5b505afa1580156104ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ee9190610f75565b6001600160a01b0316336001600160a01b03161480610526575061051181610b51565b6001600160a01b0316336001600160a01b0316145b6105425760405162461bcd60e51b81526004016101e590611663565b61054a6105f9565b6001600160a01b031662f714ce61055f6103c3565b306040518363ffffffff1660e01b815260040161057d9291906116cf565b600060405180830381600087803b15801561059757600080fd5b505af11580156105ab573d6000803e3d6000fd5b5050505060004790506105be8282610bc4565b7f430648de173157e069201c943adb2d4e340e7cf5b27b1b09c9cb852f03d63b56816040516105ed91906116c1565b60405180910390a15050565b7f000000000000000000000000000000000000000000000000000000000000000090565b6106256105f9565b6001600160a01b0316336001600160a01b0316146106555760405162461bcd60e51b81526004016101e590611673565b600061066460c08301836116ea565b8101906106719190610fcd565b9050801561068157610681610c65565b60008061069087890189610f93565b91509150816001600160a01b03167f0899cabaea081bac7a32055422e160973f6e38e6ecb8faee1f6aa46b1b76d91482886040516106cf9291906115b7565b60405180910390a25050505050505050565b7f000000000000000000000000000000000000000000000000000000000000000090565b606060405180606001604052806023815260200161182f60239139905090565b60008054610448906001600160a01b0316610b51565b610743610e66565b6040518060800160405280620249f08152602001620186a081526020016201adb08152602001612904815250905090565b61077c610725565b6001600160a01b0316336001600160a01b0316146107ac5760405162461bcd60e51b81526004016101e590611693565b6107b4610c65565b565b6000546001600160a01b031690565b600060048210156107e85760405162461bcd60e51b81526004016101e590611613565b6018838360038181106107f757fe5b909101356001600160f81b03191690911c905060108484600281811061081957fe5b909101356001600160f81b03191690911c905060088585600181811061083b57fe5b909101356001600160f81b03191690911c9050858560008161085957fe5b9050013560f81c60f81b6001600160f81b03191617171790505b92915050565b6000856001600160a01b0316856001600160a01b0316141561089d57506001610b48565b60006108a887610b51565b9050806001600160a01b0316866001600160a01b03161415610958576001600160e01b031985166339bf70d160e01b14806108f357506001600160e01b0319851663e572ced160e01b145b8061090e57506001600160e01b03198516630b10ea2b60e41b145b8061092957506001600160e01b03198516631c5b536960e21b145b8061094457506001600160e01b0319851663016e3d1d60e51b145b15610953576001915050610b48565b610b42565b806001600160a01b031663d44ad6cb6040518163ffffffff1660e01b815260040160206040518083038186803b15801561099157600080fd5b505afa1580156109a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109c99190610f75565b6001600160a01b0316866001600160a01b03161415610a5e576001600160e01b03198516634ed28b3f60e01b1480610a1157506001600160e01b031985166348f3520960e01b145b80610a2c57506001600160e01b031985166345d582e760e01b145b1561095357610a39610725565b6001600160a01b0316610a4c8585610df9565b6001600160a01b031614915050610b48565b806001600160a01b03166397c0ac876040518163ffffffff1660e01b815260040160206040518083038186803b158015610a9757600080fd5b505afa158015610aab573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610acf9190610f75565b6001600160a01b0316866001600160a01b03161415610b42576001600160e01b031985166321a455b160e11b1480610b1a57506001600160e01b031985166001620f751d60e31b0319145b80610b3557506001600160e01b0319851663d5189add60e01b145b15610b4257610a396107b6565b60009150505b95945050505050565b6000816001600160a01b0316635a53e3486040518163ffffffff1660e01b815260040160206040518083038186803b158015610b8c57600080fd5b505afa158015610ba0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108739190610f75565b80471015610be45760405162461bcd60e51b81526004016101e590611653565b6000826001600160a01b031682604051610bfd90611583565b60006040518083038185875af1925050503d8060008114610c3a576040519150601f19603f3d011682016040523d82523d6000602084013e610c3f565b606091505b5050905080610c605760405162461bcd60e51b81526004016101e590611643565b505050565b6000610c6f6103c3565b90506706f05b59d3b20000811015610df6576000610c956706f05b59d3b2000083610e3e565b9050610c9f610725565b6001600160a01b03166379951f0f826040518263ffffffff1660e01b8152600401610cca91906116c1565b600060405180830381600087803b158015610ce457600080fd5b505af1158015610cf8573d6000803e3d6000fd5b50505050610d0461044d565b6001600160a01b0316632e1a7d4d826040518263ffffffff1660e01b8152600401610d2f91906116c1565b600060405180830381600087803b158015610d4957600080fd5b505af1158015610d5d573d6000803e3d6000fd5b50505050610d696105f9565b6001600160a01b031663aa67c91982306040518363ffffffff1660e01b8152600401610d95919061158e565b6000604051808303818588803b158015610dae57600080fd5b505af1158015610dc2573d6000803e3d6000fd5b50505050507f2a89b2e3d580398d6dc2db5e0f336b52602bbaa51afa9bb5cdf59239cf0d2bea816040516105ed91906116c1565b50565b60006024821015610e1c5760405162461bcd60e51b81526004016101e590611623565b610e2a602460048486611773565b810190610e379190610f4f565b9392505050565b600082821115610e605760405162461bcd60e51b81526004016101e590611633565b50900390565b6040518060800160405280600081526020016000815260200160008152602001600081525090565b8035610873816117ff565b8051610873816117ff565b803561087381611813565b805161087381611813565b80356108738161181c565b60008083601f840112610ed757600080fd5b50813567ffffffffffffffff811115610eef57600080fd5b602083019150836001820283011115610f0757600080fd5b9250929050565b60006101008284031215610f2157600080fd5b50919050565b600060408284031215610f2157600080fd5b803561087381611825565b805161087381611825565b600060208284031215610f6157600080fd5b6000610f6d8484610e8e565b949350505050565b600060208284031215610f8757600080fd5b6000610f6d8484610e99565b60008060408385031215610fa657600080fd5b6000610fb28585610e8e565b9250506020610fc385828601610eba565b9150509250929050565b600060208284031215610fdf57600080fd5b6000610f6d8484610ea4565b600060208284031215610ffd57600080fd5b6000610f6d8484610eaf565b60008060008060006080868803121561102157600080fd5b853567ffffffffffffffff81111561103857600080fd5b61104488828901610ec5565b9550955050602061105788828901610ea4565b935050604061106888828901610f39565b925050606086013567ffffffffffffffff81111561108557600080fd5b61109188828901610f0e565b9150509295509295909350565b600080600080600080608087890312156110b757600080fd5b863567ffffffffffffffff8111156110ce57600080fd5b6110da89828a01610f27565b965050602087013567ffffffffffffffff8111156110f757600080fd5b61110389828a01610ec5565b9550955050604087013567ffffffffffffffff81111561112257600080fd5b61112e89828a01610ec5565b9350935050606061114189828a01610f39565b9150509295509295509295565b60006020828403121561116057600080fd5b6000610f6d8484610f44565b6111758161179d565b82525050565b611175816117a8565b611175816117ad565b600061119882611761565b6111a28185611765565b93506111b28185602086016117c9565b6111bb816117f5565b9093019392505050565b60006111d2602383611765565b7f70726552656c6179656443616c6c3a20556e617574686f72697a65642063616c8152623632b960e91b602082015260400192915050565b6000611217603c83611765565b7f5f5f706172736554784461746146756e6374696f6e53656c6563746f723a205f81527f747844617461206973206e6f7420612076616c6964206c656e67746800000000602082015260400192915050565b6000611276604383611765565b7f5f5f70617273655478446174614669727374506172616d65746572417341646481527f726573733a205f747844617461206973206e6f7420612076616c6964206c656e6020820152620cee8d60eb1b604082015260600192915050565b60006112e1601e83611765565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b600061131a603a83611765565b7f416464726573733a20756e61626c6520746f2073656e642076616c75652c207281527f6563697069656e74206d61792068617665207265766572746564000000000000602082015260400192915050565b6000611379601d83611765565b7f416464726573733a20696e73756666696369656e742062616c616e6365000000815260200192915050565b60006113b2603883611765565b7f776974686472617742616c616e63653a204f6e6c79206f776e6572206f72206381527f6f6d7074726f6c6c657220697320617574686f72697a65640000000000000000602082015260400192915050565b6000611411601e83611765565b7f43616e206f6e6c792062652063616c6c65642062792052656c61794875620000815260200192915050565b600061144a602383611765565b7f696e69743a205061796d617374657220616c726561647920696e697469616c698152621e995960ea1b602082015260400192915050565b600061148f602c83611765565b7f43616e206f6e6c792062652063616c6c65642062792074686520706172656e7481526b1031b7b6b83a3937b63632b960a11b602082015260400192915050565b600061087360008361176e565b60006114ea602b83611765565b7f70726552656c6179656443616c6c3a2046756e6374696f6e2063616c6c206e6f81526a1d081c195c9b5a5d1d195960aa1b602082015260400192915050565b8051608083019061153b848261157a565b50602082015161154e602085018261157a565b506040820151611561604085018261157a565b506060820151611574606085018261157a565b50505050565b611175816117c6565b6000610873826114d0565b60208101610873828461116c565b604081016115aa828561116c565b610e376020830184611184565b604081016115c58285611184565b610e37602083018461117b565b604080825281016115e3818561118d565b9050610e37602083018461117b565b60208082528101610e37818461118d565b60208082528101610873816111c5565b602080825281016108738161120a565b6020808252810161087381611269565b60208082528101610873816112d4565b602080825281016108738161130d565b602080825281016108738161136c565b60208082528101610873816113a5565b6020808252810161087381611404565b602080825281016108738161143d565b6020808252810161087381611482565b60208082528101610873816114dd565b60808101610873828461152a565b60208101610873828461157a565b604081016116dd828561157a565b610e37602083018461116c565b6000808335601e193685900301811261170257600080fd5b80840192508235915067ffffffffffffffff82111561172057600080fd5b60208301925060018202360383131561173857600080fd5b509250929050565b6000823560de193684900301811261175757600080fd5b9190910192915050565b5190565b90815260200190565b919050565b6000808585111561178357600080fd5b8386111561179057600080fd5b5050820193919092039150565b6000610873826117ba565b151590565b6001600160e01b03191690565b6001600160a01b031690565b90565b60005b838110156117e45781810151838201526020016117cc565b838111156115745750506000910152565b601f01601f191690565b6118088161179d565b8114610df657600080fd5b611808816117a8565b611808816117ad565b611808816117c656fe322e322e332b6f70656e67736e2e656e7a796d6566756e642e697061796d6173746572a164736f6c634300060c000a", "sourceMap": "1065:11482:229:-:0;;;2241:233;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;2366:21:229;;;;;;;;2397:37;;;;;;;2444:23;;;;;;1065:11482;;5:134:-1;83:13;;101:33;83:13;101:33;:::i;:::-;68:71;;;;:::o;146:535::-;;;;295:2;283:9;274:7;270:23;266:32;263:2;;;311:1;308;301:12;263:2;346:1;363:64;419:7;399:9;363:64;:::i;:::-;353:74;;325:108;464:2;482:64;538:7;529:6;518:9;514:22;482:64;:::i;:::-;472:74;;443:109;583:2;601:64;657:7;648:6;637:9;633:22;601:64;:::i;:::-;591:74;;562:109;257:424;;;;;:::o;688:91::-;;-1:-1;;;;;848:54;;750:24;831:76::o;914:117::-;983:24;1001:5;983:24;:::i;:::-;976:5;973:35;963:2;;1022:1;1019;1012:12;963:2;957:74;:::o;:::-;1065:11482:229;;;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106100ce5760003560e01c806376fa01c31161008c578063ad5cb1cf11610066578063ad5cb1cf1461017c578063b039a88f14610184578063d0e30db014610199578063de866200146101a1576100ce565b806376fa01c31461014c5780637da0a8771461015f578063921276ea14610167576100ce565b8062be5dd4146100d357806319ab453c146100fd5780632afe31c1146101125780634c252f91146101275780635fd8c7101461013c57806374e861d614610144575b600080fd5b6100e66100e136600461109e565b6101a9565b6040516100f49291906115d2565b60405180910390f35b61011061010b366004610f4f565b610371565b005b61011a6103c3565b6040516100f491906116c1565b61012f61044d565b6040516100f4919061158e565b610110610471565b61012f6105f9565b61011061015a366004611009565b61061d565b61012f6106e1565b61016f610705565b6040516100f491906115f2565b61012f610725565b61018c61073b565b6040516100f491906116b3565b610110610774565b61012f6107b6565b606060006101b56105f9565b6001600160a01b0316336001600160a01b0316146101ee5760405162461bcd60e51b81526004016101e590611673565b60405180910390fd5b60006101f86107b6565b90506001600160a01b03811663368618896102138b80611740565b610221906020810190610f4f565b6040518263ffffffff1660e01b815260040161023d919061158e565b60206040518083038186803b15801561025557600080fd5b505afa158015610269573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061028d9190610feb565b6102a95760405162461bcd60e51b81526004016101e590611603565b60006102cb6102b88b80611740565b6102c69060a08101906116ea565b6107c5565b905061030a826102db8c80611740565b6102ec906040810190602001610f4f565b836102f78e80611740565b6103059060a08101906116ea565b610879565b6103265760405162461bcd60e51b81526004016101e5906116a3565b6103308a80611740565b61033e906020810190610f4f565b8160405160200161035092919061159c565b60408051601f198184030181529190529a60009a5098505050505050505050565b600061037b6107b6565b6001600160a01b0316146103a15760405162461bcd60e51b81526004016101e590611683565b600080546001600160a01b0319166001600160a01b0392909216919091179055565b60006103cd6105f9565b6001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016103f8919061158e565b60206040518083038186803b15801561041057600080fd5b505afa158015610424573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610448919061114e565b905090565b7f000000000000000000000000000000000000000000000000000000000000000090565b600061047b6107b6565b9050806001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b1580156104b657600080fd5b505afa1580156104ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ee9190610f75565b6001600160a01b0316336001600160a01b03161480610526575061051181610b51565b6001600160a01b0316336001600160a01b0316145b6105425760405162461bcd60e51b81526004016101e590611663565b61054a6105f9565b6001600160a01b031662f714ce61055f6103c3565b306040518363ffffffff1660e01b815260040161057d9291906116cf565b600060405180830381600087803b15801561059757600080fd5b505af11580156105ab573d6000803e3d6000fd5b5050505060004790506105be8282610bc4565b7f430648de173157e069201c943adb2d4e340e7cf5b27b1b09c9cb852f03d63b56816040516105ed91906116c1565b60405180910390a15050565b7f000000000000000000000000000000000000000000000000000000000000000090565b6106256105f9565b6001600160a01b0316336001600160a01b0316146106555760405162461bcd60e51b81526004016101e590611673565b600061066460c08301836116ea565b8101906106719190610fcd565b9050801561068157610681610c65565b60008061069087890189610f93565b91509150816001600160a01b03167f0899cabaea081bac7a32055422e160973f6e38e6ecb8faee1f6aa46b1b76d91482886040516106cf9291906115b7565b60405180910390a25050505050505050565b7f000000000000000000000000000000000000000000000000000000000000000090565b606060405180606001604052806023815260200161182f60239139905090565b60008054610448906001600160a01b0316610b51565b610743610e66565b6040518060800160405280620249f08152602001620186a081526020016201adb08152602001612904815250905090565b61077c610725565b6001600160a01b0316336001600160a01b0316146107ac5760405162461bcd60e51b81526004016101e590611693565b6107b4610c65565b565b6000546001600160a01b031690565b600060048210156107e85760405162461bcd60e51b81526004016101e590611613565b6018838360038181106107f757fe5b909101356001600160f81b03191690911c905060108484600281811061081957fe5b909101356001600160f81b03191690911c905060088585600181811061083b57fe5b909101356001600160f81b03191690911c9050858560008161085957fe5b9050013560f81c60f81b6001600160f81b03191617171790505b92915050565b6000856001600160a01b0316856001600160a01b0316141561089d57506001610b48565b60006108a887610b51565b9050806001600160a01b0316866001600160a01b03161415610958576001600160e01b031985166339bf70d160e01b14806108f357506001600160e01b0319851663e572ced160e01b145b8061090e57506001600160e01b03198516630b10ea2b60e41b145b8061092957506001600160e01b03198516631c5b536960e21b145b8061094457506001600160e01b0319851663016e3d1d60e51b145b15610953576001915050610b48565b610b42565b806001600160a01b031663d44ad6cb6040518163ffffffff1660e01b815260040160206040518083038186803b15801561099157600080fd5b505afa1580156109a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109c99190610f75565b6001600160a01b0316866001600160a01b03161415610a5e576001600160e01b03198516634ed28b3f60e01b1480610a1157506001600160e01b031985166348f3520960e01b145b80610a2c57506001600160e01b031985166345d582e760e01b145b1561095357610a39610725565b6001600160a01b0316610a4c8585610df9565b6001600160a01b031614915050610b48565b806001600160a01b03166397c0ac876040518163ffffffff1660e01b815260040160206040518083038186803b158015610a9757600080fd5b505afa158015610aab573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610acf9190610f75565b6001600160a01b0316866001600160a01b03161415610b42576001600160e01b031985166321a455b160e11b1480610b1a57506001600160e01b031985166001620f751d60e31b0319145b80610b3557506001600160e01b0319851663d5189add60e01b145b15610b4257610a396107b6565b60009150505b95945050505050565b6000816001600160a01b0316635a53e3486040518163ffffffff1660e01b815260040160206040518083038186803b158015610b8c57600080fd5b505afa158015610ba0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108739190610f75565b80471015610be45760405162461bcd60e51b81526004016101e590611653565b6000826001600160a01b031682604051610bfd90611583565b60006040518083038185875af1925050503d8060008114610c3a576040519150601f19603f3d011682016040523d82523d6000602084013e610c3f565b606091505b5050905080610c605760405162461bcd60e51b81526004016101e590611643565b505050565b6000610c6f6103c3565b90506706f05b59d3b20000811015610df6576000610c956706f05b59d3b2000083610e3e565b9050610c9f610725565b6001600160a01b03166379951f0f826040518263ffffffff1660e01b8152600401610cca91906116c1565b600060405180830381600087803b158015610ce457600080fd5b505af1158015610cf8573d6000803e3d6000fd5b50505050610d0461044d565b6001600160a01b0316632e1a7d4d826040518263ffffffff1660e01b8152600401610d2f91906116c1565b600060405180830381600087803b158015610d4957600080fd5b505af1158015610d5d573d6000803e3d6000fd5b50505050610d696105f9565b6001600160a01b031663aa67c91982306040518363ffffffff1660e01b8152600401610d95919061158e565b6000604051808303818588803b158015610dae57600080fd5b505af1158015610dc2573d6000803e3d6000fd5b50505050507f2a89b2e3d580398d6dc2db5e0f336b52602bbaa51afa9bb5cdf59239cf0d2bea816040516105ed91906116c1565b50565b60006024821015610e1c5760405162461bcd60e51b81526004016101e590611623565b610e2a602460048486611773565b810190610e379190610f4f565b9392505050565b600082821115610e605760405162461bcd60e51b81526004016101e590611633565b50900390565b6040518060800160405280600081526020016000815260200160008152602001600081525090565b8035610873816117ff565b8051610873816117ff565b803561087381611813565b805161087381611813565b80356108738161181c565b60008083601f840112610ed757600080fd5b50813567ffffffffffffffff811115610eef57600080fd5b602083019150836001820283011115610f0757600080fd5b9250929050565b60006101008284031215610f2157600080fd5b50919050565b600060408284031215610f2157600080fd5b803561087381611825565b805161087381611825565b600060208284031215610f6157600080fd5b6000610f6d8484610e8e565b949350505050565b600060208284031215610f8757600080fd5b6000610f6d8484610e99565b60008060408385031215610fa657600080fd5b6000610fb28585610e8e565b9250506020610fc385828601610eba565b9150509250929050565b600060208284031215610fdf57600080fd5b6000610f6d8484610ea4565b600060208284031215610ffd57600080fd5b6000610f6d8484610eaf565b60008060008060006080868803121561102157600080fd5b853567ffffffffffffffff81111561103857600080fd5b61104488828901610ec5565b9550955050602061105788828901610ea4565b935050604061106888828901610f39565b925050606086013567ffffffffffffffff81111561108557600080fd5b61109188828901610f0e565b9150509295509295909350565b600080600080600080608087890312156110b757600080fd5b863567ffffffffffffffff8111156110ce57600080fd5b6110da89828a01610f27565b965050602087013567ffffffffffffffff8111156110f757600080fd5b61110389828a01610ec5565b9550955050604087013567ffffffffffffffff81111561112257600080fd5b61112e89828a01610ec5565b9350935050606061114189828a01610f39565b9150509295509295509295565b60006020828403121561116057600080fd5b6000610f6d8484610f44565b6111758161179d565b82525050565b611175816117a8565b611175816117ad565b600061119882611761565b6111a28185611765565b93506111b28185602086016117c9565b6111bb816117f5565b9093019392505050565b60006111d2602383611765565b7f70726552656c6179656443616c6c3a20556e617574686f72697a65642063616c8152623632b960e91b602082015260400192915050565b6000611217603c83611765565b7f5f5f706172736554784461746146756e6374696f6e53656c6563746f723a205f81527f747844617461206973206e6f7420612076616c6964206c656e67746800000000602082015260400192915050565b6000611276604383611765565b7f5f5f70617273655478446174614669727374506172616d65746572417341646481527f726573733a205f747844617461206973206e6f7420612076616c6964206c656e6020820152620cee8d60eb1b604082015260600192915050565b60006112e1601e83611765565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b600061131a603a83611765565b7f416464726573733a20756e61626c6520746f2073656e642076616c75652c207281527f6563697069656e74206d61792068617665207265766572746564000000000000602082015260400192915050565b6000611379601d83611765565b7f416464726573733a20696e73756666696369656e742062616c616e6365000000815260200192915050565b60006113b2603883611765565b7f776974686472617742616c616e63653a204f6e6c79206f776e6572206f72206381527f6f6d7074726f6c6c657220697320617574686f72697a65640000000000000000602082015260400192915050565b6000611411601e83611765565b7f43616e206f6e6c792062652063616c6c65642062792052656c61794875620000815260200192915050565b600061144a602383611765565b7f696e69743a205061796d617374657220616c726561647920696e697469616c698152621e995960ea1b602082015260400192915050565b600061148f602c83611765565b7f43616e206f6e6c792062652063616c6c65642062792074686520706172656e7481526b1031b7b6b83a3937b63632b960a11b602082015260400192915050565b600061087360008361176e565b60006114ea602b83611765565b7f70726552656c6179656443616c6c3a2046756e6374696f6e2063616c6c206e6f81526a1d081c195c9b5a5d1d195960aa1b602082015260400192915050565b8051608083019061153b848261157a565b50602082015161154e602085018261157a565b506040820151611561604085018261157a565b506060820151611574606085018261157a565b50505050565b611175816117c6565b6000610873826114d0565b60208101610873828461116c565b604081016115aa828561116c565b610e376020830184611184565b604081016115c58285611184565b610e37602083018461117b565b604080825281016115e3818561118d565b9050610e37602083018461117b565b60208082528101610e37818461118d565b60208082528101610873816111c5565b602080825281016108738161120a565b6020808252810161087381611269565b60208082528101610873816112d4565b602080825281016108738161130d565b602080825281016108738161136c565b60208082528101610873816113a5565b6020808252810161087381611404565b602080825281016108738161143d565b6020808252810161087381611482565b60208082528101610873816114dd565b60808101610873828461152a565b60208101610873828461157a565b604081016116dd828561157a565b610e37602083018461116c565b6000808335601e193685900301811261170257600080fd5b80840192508235915067ffffffffffffffff82111561172057600080fd5b60208301925060018202360383131561173857600080fd5b509250929050565b6000823560de193684900301811261175757600080fd5b9190910192915050565b5190565b90815260200190565b919050565b6000808585111561178357600080fd5b8386111561179057600080fd5b5050820193919092039150565b6000610873826117ba565b151590565b6001600160e01b03191690565b6001600160a01b031690565b90565b60005b838110156117e45781810151838201526020016117cc565b838111156115745750506000910152565b601f01601f191690565b6118088161179d565b8114610df657600080fd5b611808816117a8565b611808816117ad565b611808816117c656fe322e322e332b6f70656e67736e2e656e7a796d6566756e642e697061796d6173746572a164736f6c634300060c000a", "sourceMap": "1065:11482:229:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3310:916;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;2654:165;;;;;;:::i;:::-;;:::i;:::-;;11572:160;;;:::i;:::-;;;;;;;:::i;11841:99::-;;;:::i;:::-;;;;;;;:::i;5201:556::-;;;:::i;11107:104::-;;;:::i;4646:492::-;;;;;;:::i;:::-;;:::i;12118:128::-;;;:::i;12394:151::-;;;:::i;:::-;;;;;;;:::i;5942:142::-;;;:::i;10604:397::-;;;:::i;:::-;;;;;;;:::i;2920:84::-;;;:::i;11324:104::-;;;:::i;3310:916::-;3532:21;3555:29;2170:12;:10;:12::i;:::-;-1:-1:-1;;;;;2156:26:229;:10;-1:-1:-1;;;;;2156:26:229;;2148:69;;;;-1:-1:-1;;;2148:69:229;;;;;;;:::i;:::-;;;;;;;;;3600:18:::1;3621:16;:14;:16::i;:::-;3600:37:::0;-1:-1:-1;;;;;;3668:32:229;::::1;;3701:21;:13:::0;;:21:::1;:::i;:::-;:26;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;3668:60;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3647:142;;;;-1:-1:-1::0;;;3647:142:229::1;;;;;;;:::i;:::-;3800:15;3818:57;3848:21;:13:::0;;:21:::1;:::i;:::-;:26;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;3818:29;:57::i;:::-;3800:75:::0;-1:-1:-1;3906:169:229::1;3939:10:::0;3967:21:::1;:13:::0;;:21:::1;:::i;:::-;:24;::::0;;;;;::::1;;;:::i;:::-;4009:8:::0;4035:21:::1;:13:::0;;:21:::1;:::i;:::-;:26;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;3906:15;:169::i;:::-;3885:259;;;;-1:-1:-1::0;;;3885:259:229::1;;;;;;;:::i;:::-;4174:21;:13:::0;;:21:::1;:::i;:::-;:26;::::0;::::1;::::0;::::1;::::0;::::1;:::i;:::-;4202:8;4163:48;;;;;;;;;:::i;:::-;;::::0;;-1:-1:-1;;4163:48:229;;::::1;::::0;;;;;;;4213:5:::1;::::0;-1:-1:-1;3310:916:229;-1:-1:-1;;;;;;;;;3310:916:229:o;2654:165::-;2739:1;2711:16;:14;:16::i;:::-;-1:-1:-1;;;;;2711:30:229;;2703:78;;;;-1:-1:-1;;;2703:78:229;;;;;;;:::i;:::-;2792:11;:20;;-1:-1:-1;;;;;;2792:20:229;-1:-1:-1;;;;;2792:20:229;;;;;;;;;;2654:165::o;11572:160::-;11632:23;11687:12;:10;:12::i;:::-;-1:-1:-1;;;;;11674:36:229;;11719:4;11674:51;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11667:58;;11572:160;:::o;11841:99::-;11923:10;11841:99;:::o;5201:556::-;5256:18;5277:16;:14;:16::i;:::-;5256:37;;5345:10;-1:-1:-1;;;;;5338:27:229;;:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;5324:43:229;:10;-1:-1:-1;;;;;5324:43:229;;:113;;;;5401:36;5426:10;5401:24;:36::i;:::-;-1:-1:-1;;;;;5387:50:229;:10;-1:-1:-1;;;;;5387:50:229;;5324:113;5303:216;;;;-1:-1:-1;;;5303:216:229;;;;;;;:::i;:::-;5543:12;:10;:12::i;:::-;-1:-1:-1;;;;;5530:35:229;;5566:20;:18;:20::i;:::-;5604:4;5530:81;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5622:14;5639:21;5622:38;;5671:46;5697:10;5710:6;5671:17;:46::i;:::-;5733:17;5743:6;5733:17;;;;;;:::i;:::-;;;;;;;;5201:556;;:::o;11107:104::-;11195:9;11107:104;:::o;4646:492::-;2170:12;:10;:12::i;:::-;-1:-1:-1;;;;;2156:26:229;:10;-1:-1:-1;;;;;2156:26:229;;2148:69;;;;-1:-1:-1;;;2148:69:229;;;;;;;:::i;:::-;4840:23:::1;4877:24;;::::0;::::1;:10:::0;:24:::1;:::i;:::-;4866:44;;;;;;;:::i;:::-;4840:70;;4924:18;4920:63;;;4958:14;:12;:14::i;:::-;4994:15;::::0;5030:39:::1;::::0;;::::1;5041:8:::0;5030:39:::1;:::i;:::-;4993:76;;;;5103:7;-1:-1:-1::0;;;;;5084:47:229::1;;5112:8;5122;5084:47;;;;;;;:::i;:::-;;;;;;;;2227:1;;;4646:492:::0;;;;;:::o;12118:128::-;12222:17;12118:128;:::o;12394:151::-;12454:28;12494:44;;;;;;;;;;;;;;;;;;;12394:151;:::o;5942:142::-;5995:26;6065:11;;6040:37;;-1:-1:-1;;;;;6065:11:229;6040:24;:37::i;10604:397::-;10699:45;;:::i;:::-;10779:215;;;;;;;;1780:6;10779:215;;;;1518:6;10779:215;;;;1585:6;10779:215;;;;1321:5;10779:215;;;10760:234;;10604:397;:::o;2920:84::-;1998:22;:20;:22::i;:::-;-1:-1:-1;;;;;1984:36:229;:10;-1:-1:-1;;;;;1984:36:229;;1963:127;;;;-1:-1:-1;;;1963:127:229;;;;;;;:::i;:::-;2983:14:::1;:12;:14::i;:::-;2920:84::o:0;11324:104::-;11371:20;11410:11;-1:-1:-1;;;;;11410:11:229;11324:104;:::o;9756:532::-;9865:24;9984:1;9966:19;;;9945:126;;;;-1:-1:-1;;;9945:126:229;;;;;;;:::i;:::-;10243:2;10228:7;;10236:1;10228:10;;;;;;;;;;;-1:-1:-1;;;;;;10228:10:229;10221:24;;;;-1:-1:-1;10202:2:229;10187:7;;10195:1;10187:10;;;;;;;;;;;-1:-1:-1;;;;;;10187:10:229;10180:24;;;;-1:-1:-1;10162:1:229;10147:7;;10155:1;10147:10;;;;;;;;;;;-1:-1:-1;;;;;;10147:10:229;10140:23;;;;-1:-1:-1;10114:7:229;;10122:1;10114:7;:10;;;;;;;;;;;;-1:-1:-1;;;;;10114:50:229;;;:91;:132;10082:164;;9756:532;;;;;:::o;7179:1866::-;7346:13;7388:11;-1:-1:-1;;;;;7375:24:229;:9;-1:-1:-1;;;;;7375:24:229;;7371:121;;;-1:-1:-1;7477:4:229;7470:11;;7371:121;7502:25;7530:37;7555:11;7530:24;:37::i;:::-;7502:65;;7594:17;-1:-1:-1;;;;;7581:30:229;:9;-1:-1:-1;;;;;7581:30:229;;7577:1439;;;-1:-1:-1;;;;;;7648:52:229;;-1:-1:-1;;;7648:52:229;;:128;;-1:-1:-1;;;;;;;7720:56:229;;-1:-1:-1;;;7720:56:229;7648:128;:209;;;-1:-1:-1;;;;;;;7796:61:229;;-1:-1:-1;;;7796:61:229;7648:209;:292;;;-1:-1:-1;;;;;;;7877:63:229;;-1:-1:-1;;;7877:63:229;7648:292;:380;;;-1:-1:-1;;;;;;;7960:68:229;;-1:-1:-1;;;7960:68:229;7648:380;7627:460;;;8068:4;8061:11;;;;;7627:460;7577:1439;;;8135:17;-1:-1:-1;;;;;8120:50:229;;:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;8107:65:229;:9;-1:-1:-1;;;;;8107:65:229;;8103:913;;;-1:-1:-1;;;;;;8209:63:229;;-1:-1:-1;;;8209:63:229;;:138;;-1:-1:-1;;;;;;;8292:55:229;;-1:-1:-1;;;8292:55:229;8209:138;:214;;;-1:-1:-1;;;;;;;8367:56:229;;-1:-1:-1;;;8367:56:229;8209:214;8188:361;;;8512:22;:20;:22::i;:::-;-1:-1:-1;;;;;8463:71:229;:45;8500:7;;8463:36;:45::i;:::-;-1:-1:-1;;;;;8463:71:229;;8456:78;;;;;8103:913;8597:17;-1:-1:-1;;;;;8582:49:229;;:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;8569:64:229;:9;-1:-1:-1;;;;;8569:64:229;;8565:451;;;-1:-1:-1;;;;;;8670:63:229;;-1:-1:-1;;;8670:63:229;;:140;;-1:-1:-1;;;;;;;8753:57:229;;-1:-1:-1;;;;;;8753:57:229;8670:140;:216;;;-1:-1:-1;;;;;;;8830:56:229;;-1:-1:-1;;;8830:56:229;8670:216;8649:357;;;8975:16;:14;:16::i;8649:357::-;9033:5;9026:12;;;7179:1866;;;;;;;;:::o;6764:189::-;6865:25;6920:11;-1:-1:-1;;;;;6913:31:229;;:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;2056:391:451:-;2170:6;2145:21;:31;;2137:73;;;;-1:-1:-1;;;2137:73:451;;;;;;;:::i;:::-;2299:12;2317:9;-1:-1:-1;;;;;2317:14:451;2340:6;2317:35;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2298:54;;;2370:7;2362:78;;;;-1:-1:-1;;;2362:78:451;;;;;;;:::i;:::-;2056:391;;;:::o;6225:462:229:-;6267:19;6289:20;:18;:20::i;:::-;6267:42;;1389:9;6324:11;:21;6320:361;;;6361:14;6378:24;1389:9;6390:11;6378;:24::i;:::-;6361:41;;6445:22;:20;:22::i;:::-;-1:-1:-1;;;;;6417:73:229;;6491:6;6417:81;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6519:14;:12;:14::i;:::-;-1:-1:-1;;;;;6513:30:229;;6544:6;6513:38;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6579:12;:10;:12::i;:::-;-1:-1:-1;;;;;6566:37:229;;6611:6;6627:4;6566:67;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6653:17;6663:6;6653:17;;;;;;:::i;6320:361::-;6225:462;:::o;9239:352::-;9355:25;9435:2;9417:20;;;9396:134;;;;-1:-1:-1;;;9396:134:229;;;;;;;:::i;:::-;9559:13;9569:2;9567:1;9559:7;;:13;:::i;:::-;9548:36;;;;;;;:::i;:::-;9541:43;9239:352;-1:-1:-1;;;9239:352:229:o;3136:155:442:-;3194:7;3226:1;3221;:6;;3213:49;;;;-1:-1:-1;;;3213:49:442;;;;;;;:::i;:::-;-1:-1:-1;3279:5:442;;;3136:155::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5:130::-;72:20;;97:33;72:20;97:33;:::i;142:134::-;220:13;;238:33;220:13;238:33;:::i;436:124::-;500:20;;525:30;500:20;525:30;:::i;567:128::-;642:13;;660:30;642:13;660:30;:::i;702:128::-;768:20;;793:32;768:20;793:32;:::i;851:336::-;;;965:3;958:4;950:6;946:17;942:27;932:2;;983:1;980;973:12;932:2;-1:-1;1003:20;;1043:18;1032:30;;1029:2;;;1075:1;1072;1065:12;1029:2;1109:4;1101:6;1097:17;1085:29;;1160:3;1152:4;1144:6;1140:17;1130:8;1126:32;1123:41;1120:2;;;1177:1;1174;1167:12;1120:2;925:262;;;;;:::o;1230:162::-;;1344:3;1335:6;1330:3;1326:16;1322:26;1319:2;;;1361:1;1358;1351:12;1319:2;-1:-1;1380:6;1312:80;-1:-1;1312:80::o;1437:164::-;;1554:2;1545:6;1540:3;1536:16;1532:25;1529:2;;;1570:1;1567;1560:12;1608:130;1675:20;;1700:33;1675:20;1700:33;:::i;1745:134::-;1823:13;;1841:33;1823:13;1841:33;:::i;1886:241::-;;1990:2;1978:9;1969:7;1965:23;1961:32;1958:2;;;2006:1;2003;1996:12;1958:2;2041:1;2058:53;2103:7;2083:9;2058:53;:::i;:::-;2048:63;1952:175;-1:-1;;;;1952:175::o;2134:263::-;;2249:2;2237:9;2228:7;2224:23;2220:32;2217:2;;;2265:1;2262;2255:12;2217:2;2300:1;2317:64;2373:7;2353:9;2317:64;:::i;2668:380::-;;;2796:2;2784:9;2775:7;2771:23;2767:32;2764:2;;;2812:1;2809;2802:12;2764:2;2847:1;2864:61;2917:7;2897:9;2864:61;:::i;:::-;2854:71;;2826:105;2962:2;2980:52;3024:7;3015:6;3004:9;3000:22;2980:52;:::i;:::-;2970:62;;2941:97;2758:290;;;;;:::o;3055:235::-;;3156:2;3144:9;3135:7;3131:23;3127:32;3124:2;;;3172:1;3169;3162:12;3124:2;3207:1;3224:50;3266:7;3246:9;3224:50;:::i;3297:257::-;;3409:2;3397:9;3388:7;3384:23;3380:32;3377:2;;;3425:1;3422;3415:12;3377:2;3460:1;3477:61;3530:7;3510:9;3477:61;:::i;3561:881::-;;;;;;3762:3;3750:9;3741:7;3737:23;3733:33;3730:2;;;3779:1;3776;3769:12;3730:2;3814:31;;3865:18;3854:30;;3851:2;;;3897:1;3894;3887:12;3851:2;3925:64;3981:7;3972:6;3961:9;3957:22;3925:64;:::i;:::-;3907:82;;;;3793:202;4026:2;4044:50;4086:7;4077:6;4066:9;4062:22;4044:50;:::i;:::-;4034:60;;4005:95;4131:2;4149:53;4194:7;4185:6;4174:9;4170:22;4149:53;:::i;:::-;4139:63;;4110:98;4267:2;4256:9;4252:18;4239:32;4291:18;4283:6;4280:30;4277:2;;;4323:1;4320;4313:12;4277:2;4343:83;4418:7;4409:6;4398:9;4394:22;4343:83;:::i;:::-;4333:93;;4218:214;3724:718;;;;;;;;:::o;4449:1017::-;;;;;;;4675:3;4663:9;4654:7;4650:23;4646:33;4643:2;;;4692:1;4689;4682:12;4643:2;4727:31;;4778:18;4767:30;;4764:2;;;4810:1;4807;4800:12;4764:2;4830:86;4908:7;4899:6;4888:9;4884:22;4830:86;:::i;:::-;4820:96;;4706:216;4981:2;4970:9;4966:18;4953:32;5005:18;4997:6;4994:30;4991:2;;;5037:1;5034;5027:12;4991:2;5065:64;5121:7;5112:6;5101:9;5097:22;5065:64;:::i;:::-;5047:82;;;;4932:203;5194:2;5183:9;5179:18;5166:32;5218:18;5210:6;5207:30;5204:2;;;5250:1;5247;5240:12;5204:2;5278:64;5334:7;5325:6;5314:9;5310:22;5278:64;:::i;:::-;5260:82;;;;5145:203;5379:2;5397:53;5442:7;5433:6;5422:9;5418:22;5397:53;:::i;:::-;5387:63;;5358:98;4637:829;;;;;;;;:::o;5473:263::-;;5588:2;5576:9;5567:7;5563:23;5559:32;5556:2;;;5604:1;5601;5594:12;5556:2;5639:1;5656:64;5712:7;5692:9;5656:64;:::i;5743:137::-;5842:32;5868:5;5842:32;:::i;:::-;5837:3;5830:45;5824:56;;:::o;6007:104::-;6084:21;6099:5;6084:21;:::i;6118:110::-;6199:23;6216:5;6199:23;:::i;6235:343::-;;6345:38;6377:5;6345:38;:::i;:::-;6395:70;6458:6;6453:3;6395:70;:::i;:::-;6388:77;;6470:52;6515:6;6510:3;6503:4;6496:5;6492:16;6470:52;:::i;:::-;6543:29;6565:6;6543:29;:::i;:::-;6534:39;;;;6325:253;-1:-1;;;6325:253::o;6940:372::-;;7100:67;7164:2;7159:3;7100:67;:::i;:::-;7200:34;7180:55;;-1:-1;;;7264:2;7255:12;;7248:27;7303:2;7294:12;;7086:226;-1:-1;;7086:226::o;7321:397::-;;7481:67;7545:2;7540:3;7481:67;:::i;:::-;7581:34;7561:55;;7650:30;7645:2;7636:12;;7629:52;7709:2;7700:12;;7467:251;-1:-1;;7467:251::o;7727:441::-;;7887:67;7951:2;7946:3;7887:67;:::i;:::-;7987:34;7967:55;;8056:34;8051:2;8042:12;;8035:56;-1:-1;;;8120:2;8111:12;;8104:27;8159:2;8150:12;;7873:295;-1:-1;;7873:295::o;8177:330::-;;8337:67;8401:2;8396:3;8337:67;:::i;:::-;8437:32;8417:53;;8498:2;8489:12;;8323:184;-1:-1;;8323:184::o;8516:395::-;;8676:67;8740:2;8735:3;8676:67;:::i;:::-;8776:34;8756:55;;8845:28;8840:2;8831:12;;8824:50;8902:2;8893:12;;8662:249;-1:-1;;8662:249::o;8920:329::-;;9080:67;9144:2;9139:3;9080:67;:::i;:::-;9180:31;9160:52;;9240:2;9231:12;;9066:183;-1:-1;;9066:183::o;9258:393::-;;9418:67;9482:2;9477:3;9418:67;:::i;:::-;9518:34;9498:55;;9587:26;9582:2;9573:12;;9566:48;9642:2;9633:12;;9404:247;-1:-1;;9404:247::o;9660:330::-;;9820:67;9884:2;9879:3;9820:67;:::i;:::-;9920:32;9900:53;;9981:2;9972:12;;9806:184;-1:-1;;9806:184::o;9999:372::-;;10159:67;10223:2;10218:3;10159:67;:::i;:::-;10259:34;10239:55;;-1:-1;;;10323:2;10314:12;;10307:27;10362:2;10353:12;;10145:226;-1:-1;;10145:226::o;10380:381::-;;10540:67;10604:2;10599:3;10540:67;:::i;:::-;10640:34;10620:55;;-1:-1;;;10704:2;10695:12;;10688:36;10752:2;10743:12;;10526:235;-1:-1;;10526:235::o;10770:296::-;;10947:83;11028:1;11023:3;10947:83;:::i;11075:380::-;;11235:67;11299:2;11294:3;11235:67;:::i;:::-;11335:34;11315:55;;-1:-1;;;11399:2;11390:12;;11383:35;11446:2;11437:12;;11221:234;-1:-1;;11221:234::o;11548:866::-;11789:23;;11711:4;11702:14;;;11818:63;11706:3;11789:23;11818:63;:::i;:::-;11731:156;11978:4;11971:5;11967:16;11961:23;11990:63;12047:4;12042:3;12038:14;12024:12;11990:63;:::i;:::-;11897:162;12151:4;12144:5;12140:16;12134:23;12163:63;12220:4;12215:3;12211:14;12197:12;12163:63;:::i;:::-;12069:163;12318:4;12311:5;12307:16;12301:23;12330:63;12387:4;12382:3;12378:14;12364:12;12330:63;:::i;:::-;12242:157;11684:730;;;:::o;12421:103::-;12494:24;12512:5;12494:24;:::i;12651:379::-;;12858:147;13001:3;12858:147;:::i;13037:222::-;13164:2;13149:18;;13178:71;13153:9;13222:6;13178:71;:::i;13266:329::-;13419:2;13404:18;;13433:71;13408:9;13477:6;13433:71;:::i;:::-;13515:70;13581:2;13570:9;13566:18;13557:6;13515:70;:::i;13602:317::-;13749:2;13734:18;;13763:69;13738:9;13805:6;13763:69;:::i;:::-;13843:66;13905:2;13894:9;13890:18;13881:6;13843:66;:::i;13926:405::-;14093:2;14107:47;;;14078:18;;14168:76;14078:18;14230:6;14168:76;:::i;:::-;14160:84;;14255:66;14317:2;14306:9;14302:18;14293:6;14255:66;:::i;14338:310::-;14485:2;14499:47;;;14470:18;;14560:78;14470:18;14624:6;14560:78;:::i;14655:416::-;14855:2;14869:47;;;14840:18;;14930:131;14840:18;14930:131;:::i;15078:416::-;15278:2;15292:47;;;15263:18;;15353:131;15263:18;15353:131;:::i;15501:416::-;15701:2;15715:47;;;15686:18;;15776:131;15686:18;15776:131;:::i;15924:416::-;16124:2;16138:47;;;16109:18;;16199:131;16109:18;16199:131;:::i;16347:416::-;16547:2;16561:47;;;16532:18;;16622:131;16532:18;16622:131;:::i;16770:416::-;16970:2;16984:47;;;16955:18;;17045:131;16955:18;17045:131;:::i;17193:416::-;17393:2;17407:47;;;17378:18;;17468:131;17378:18;17468:131;:::i;17616:416::-;17816:2;17830:47;;;17801:18;;17891:131;17801:18;17891:131;:::i;18039:416::-;18239:2;18253:47;;;18224:18;;18314:131;18224:18;18314:131;:::i;18462:416::-;18662:2;18676:47;;;18647:18;;18737:131;18647:18;18737:131;:::i;18885:416::-;19085:2;19099:47;;;19070:18;;19160:131;19070:18;19160:131;:::i;19308:363::-;19505:3;19490:19;;19520:141;19494:9;19634:6;19520:141;:::i;19678:222::-;19805:2;19790:18;;19819:71;19794:9;19863:6;19819:71;:::i;19907:365::-;20078:2;20063:18;;20092:71;20067:9;20136:6;20092:71;:::i;:::-;20174:88;20258:2;20247:9;20243:18;20234:6;20174:88;:::i;20279:506::-;;;20401:25;;-1:-1;;20473:14;20469:29;;;20465:48;20441:73;;20431:2;;20528:1;20525;20518:12;20431:2;20559:18;20549:8;20545:33;20537:41;;20612:4;20599:18;20589:28;;20637:18;20629:6;20626:30;20623:2;;;20669:1;20666;20659:12;20623:2;20697;20691:4;20687:13;20679:21;;20751:4;20743:6;20739:17;20723:14;20719:38;20713:4;20709:49;20706:2;;;20771:1;20768;20761:12;20706:2;20369:416;;;;;;:::o;20792:325::-;;20930:25;;-1:-1;;21002:14;20998:29;;;20994:48;20970:73;;20960:2;;21057:1;21054;21047:12;20960:2;21074:33;;;;;20898:219;-1:-1;;20898:219::o;21124:121::-;21211:12;;21182:63::o;21382:162::-;21484:19;;;21533:4;21524:14;;21477:67::o;21553:144::-;21688:3;21666:31;-1:-1;21666:31::o;21877:318::-;;;22027:8;22015:10;22012:24;22009:2;;;22049:1;22046;22039:12;22009:2;22074:6;22064:8;22061:20;22058:2;;;22094:1;22091;22084:12;22058:2;-1:-1;;22116:31;;;22165:25;;;;;-1:-1;22003:192::o;22202:91::-;;22264:24;22282:5;22264:24;:::i;22406:85::-;22472:13;22465:21;;22448:43::o;22498:144::-;-1:-1;;;;;;22559:78;;22542:100::o;22649:121::-;-1:-1;;;;;22711:54;;22694:76::o;22777:72::-;22839:5;22822:27::o;22857:268::-;22922:1;22929:101;22943:6;22940:1;22937:13;22929:101;;;23010:11;;;23004:18;22991:11;;;22984:39;22965:2;22958:10;22929:101;;;23045:6;23042:1;23039:13;23036:2;;;-1:-1;;23110:1;23092:16;;23085:27;22906:219::o;23133:97::-;23221:2;23201:14;-1:-1;;23197:28;;23181:49::o;23238:117::-;23307:24;23325:5;23307:24;:::i;:::-;23300:5;23297:35;23287:2;;23346:1;23343;23336:12;23502:111;23568:21;23583:5;23568:21;:::i;23620:115::-;23688:23;23705:5;23688:23;:::i;23742:117::-;23811:24;23829:5;23811:24;:::i", "linkReferences": {}, "immutableReferences": { "61409": [ { "start": 1531, "length": 32 } ], "61411": [ { "start": 1763, "length": 32 } ], "61413": [ { "start": 1103, "length": 32 } ] } }, "methodIdentifiers": { "deposit()": "d0e30db0", "getGasAndDataLimits()": "b039a88f", "getHubAddr()": "74e861d6", "getParentComptroller()": "ad5cb1cf", "getParentVault()": "de866200", "getRelayHubDeposit()": "2afe31c1", "getWethToken()": "4c252f91", "init(address)": "19ab453c", "postRelayedCall(bytes,bool,uint256,(uint256,uint256,uint256,address,address,address,bytes,uint256))": "76fa01c3", "preRelayedCall(((address,address,uint256,uint256,uint256,bytes,uint256),(uint256,uint256,uint256,address,address,address,bytes,uint256)),bytes,bytes,uint256)": "00be5dd4", "trustedForwarder()": "7da0a877", "versionPaymaster()": "921276ea", "withdrawBalance()": "5fd8c710" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_wethToken\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_relayHub\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_trustedForwarder\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Deposited\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"authorizer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes4\",\"name\":\"invokedSelector\",\"type\":\"bytes4\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"successful\",\"type\":\"bool\"}],\"name\":\"TransactionRelayed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Withdrawn\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"deposit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getGasAndDataLimits\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"acceptanceBudget\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"preRelayedCallGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"postRelayedCallGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"calldataSizeLimit\",\"type\":\"uint256\"}],\"internalType\":\"struct IGsnPaymaster.GasAndDataLimits\",\"name\":\"limits_\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getHubAddr\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"relayHub_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getParentComptroller\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"parentComptroller_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getParentVault\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"parentVault_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRelayHubDeposit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"depositBalance_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getWethToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"wethToken_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vault\",\"type\":\"address\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_context\",\"type\":\"bytes\"},{\"internalType\":\"bool\",\"name\":\"_success\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"gasPrice\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"pctRelayFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"baseRelayFee\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"relayWorker\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"paymaster\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"forwarder\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"paymasterData\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"clientId\",\"type\":\"uint256\"}],\"internalType\":\"struct IGsnTypes.RelayData\",\"name\":\"_relayData\",\"type\":\"tuple\"}],\"name\":\"postRelayedCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"gas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"validUntil\",\"type\":\"uint256\"}],\"internalType\":\"struct IGsnForwarder.ForwardRequest\",\"name\":\"request\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"gasPrice\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"pctRelayFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"baseRelayFee\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"relayWorker\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"paymaster\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"forwarder\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"paymasterData\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"clientId\",\"type\":\"uint256\"}],\"internalType\":\"struct IGsnTypes.RelayData\",\"name\":\"relayData\",\"type\":\"tuple\"}],\"internalType\":\"struct IGsnTypes.RelayRequest\",\"name\":\"_relayRequest\",\"type\":\"tuple\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"preRelayedCall\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"context_\",\"type\":\"bytes\"},{\"internalType\":\"bool\",\"name\":\"rejectOnRecipientRevert_\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"trustedForwarder\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"trustedForwarder_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"versionPaymaster\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"versionString_\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"withdrawBalance\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"getGasAndDataLimits()\":{\"returns\":{\"limits_\":\"`GasAndDataLimits(PAYMASTER_ACCEPTANCE_BUDGET, PRE_RELAYED_CALL_GAS_LIMIT, POST_RELAYED_CALL_GAS_LIMIT, CALLDATA_SIZE_LIMIT)`\"}},\"getHubAddr()\":{\"returns\":{\"relayHub_\":\"The `RELAY_HUB` value\"}},\"getParentComptroller()\":{\"returns\":{\"parentComptroller_\":\"The ComptrollerProxy\"}},\"getParentVault()\":{\"returns\":{\"parentVault_\":\"The `parentVault` value\"}},\"getRelayHubDeposit()\":{\"returns\":{\"depositBalance_\":\"amount of ETH deposited on the relay hub\"}},\"getWethToken()\":{\"returns\":{\"wethToken_\":\"The `WETH_TOKEN` value\"}},\"init(address)\":{\"details\":\"Used to set the owning vault\",\"params\":{\"_vault\":\"The VaultProxy associated with the paymaster proxy\"}},\"postRelayedCall(bytes,bool,uint256,(uint256,uint256,uint256,address,address,address,bytes,uint256))\":{\"params\":{\"_context\":\"The context constructed by preRelayedCall (used to pass data from pre to post relayed call)\",\"_relayData\":\"The relay params of the request. can be used by relayHub.calculateCharge()\",\"_success\":\"Whether or not the relayed tx succeed\"}},\"preRelayedCall(((address,address,uint256,uint256,uint256,bytes,uint256),(uint256,uint256,uint256,address,address,address,bytes,uint256)),bytes,bytes,uint256)\":{\"params\":{\"_relayRequest\":\"The full relay request structure\"},\"returns\":{\"context_\":\"The tx signer and the fn sig, encoded so that it can be passed to `postRelayCall`\",\"rejectOnRecipientRevert_\":\"Always false\"}},\"trustedForwarder()\":{\"returns\":{\"trustedForwarder_\":\"The forwarder contract which is trusted to validated the relayed tx signature\"}},\"versionPaymaster()\":{\"returns\":{\"versionString_\":\"The version string\"}}},\"title\":\"GasRelayPaymasterLib Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"deposit()\":{\"notice\":\"Pull deposit from the vault and reactivate relaying\"},\"getGasAndDataLimits()\":{\"notice\":\"Gets gas limits used by the relay hub for the pre and post relay calls\"},\"getHubAddr()\":{\"notice\":\"Gets the `RELAY_HUB` variable value\"},\"getParentComptroller()\":{\"notice\":\"Gets the current ComptrollerProxy of the VaultProxy associated with this contract\"},\"getParentVault()\":{\"notice\":\"Gets the `parentVault` variable value\"},\"getRelayHubDeposit()\":{\"notice\":\"Look up amount of ETH deposited on the relay hub\"},\"getWethToken()\":{\"notice\":\"Gets the `WETH_TOKEN` variable value\"},\"init(address)\":{\"notice\":\"Initializes a paymaster proxy\"},\"postRelayedCall(bytes,bool,uint256,(uint256,uint256,uint256,address,address,address,bytes,uint256))\":{\"notice\":\"Called by the relay hub after the relayed tx is executed, tops up deposit if flag passed through paymasterdata is true\"},\"preRelayedCall(((address,address,uint256,uint256,uint256,bytes,uint256),(uint256,uint256,uint256,address,address,address,bytes,uint256)),bytes,bytes,uint256)\":{\"notice\":\"Checks whether the paymaster will pay for a given relayed tx\"},\"trustedForwarder()\":{\"notice\":\"Gets the `TRUSTED_FORWARDER` variable value\"},\"versionPaymaster()\":{\"notice\":\"Gets the string representation of the contract version (fulfills interface)\"},\"withdrawBalance()\":{\"notice\":\"Send any deposited ETH back to the vault\"}},\"notice\":\"The core logic library for the \\\"paymaster\\\" contract which refunds GSN relayers\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/infrastructure/gas-relayer/GasRelayPaymasterLib.sol\":\"GasRelayPaymasterLib\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/dispatcher/IMigrationHookHandler.sol\":{\"keccak256\":\"0x4cec61ef58c1d2e7693ee954c3582b1a04ff836a569e216edb7526c7e56a5632\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://0acae6d91e3e20e6ebd46cbeff926967a2d64f3d8eb2e3cdff20366917a77879\",\"dweb:/ipfs/Qmd44oJngTNRnwXdDwtNd9o4UvTgxAmBGikz3QMPKf4NWy\"]},\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/persistent/vault/interfaces/IExternalPositionVault.sol\":{\"keccak256\":\"0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d\",\"dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8\"]},\"contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol\":{\"keccak256\":\"0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb\",\"dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU\"]},\"contracts/persistent/vault/interfaces/IMigratableVault.sol\":{\"keccak256\":\"0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6\",\"dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs\"]},\"contracts/persistent/vault/interfaces/IVaultCore.sol\":{\"keccak256\":\"0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd\",\"dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr\"]},\"contracts/release/core/fund-deployer/FundDeployer.sol\":{\"keccak256\":\"0x8662d2630a08a8383fa72bd9d6d73138f6bc300c94c808f29bf6a18edeb9a71b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2351ac152b1c97dec9287c15da022f05bbf484e772e2bfdcf89186116dfeaf15\",\"dweb:/ipfs/Qmc5zs3yPzZeAf3iTe1hAavgbHAeeqYtqxNryRdjXL4tBJ\"]},\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/core/fund/comptroller/ComptrollerLib.sol\":{\"keccak256\":\"0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579\",\"dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq\"]},\"contracts/release/core/fund/comptroller/ComptrollerProxy.sol\":{\"keccak256\":\"0x2915bf85b7a39e3b31f00d87bf06fc11415c6e027e00f98681b122176b74c76f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://07a34cb3bd349426cbf016b21a3be2391c2a2aba1cd383965da2b5546253515b\",\"dweb:/ipfs/QmbQtHhPzFPQjw5JgLNQN2ZeVUrYQXKwAUaW5pwNMAcSQ3\"]},\"contracts/release/core/fund/comptroller/IComptroller.sol\":{\"keccak256\":\"0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97\",\"dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L\"]},\"contracts/release/core/fund/vault/IVault.sol\":{\"keccak256\":\"0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599\",\"dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG\"]},\"contracts/release/extensions/IExtension.sol\":{\"keccak256\":\"0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70\",\"dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t\"]},\"contracts/release/extensions/fee-manager/IFeeManager.sol\":{\"keccak256\":\"0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22\",\"dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod\"]},\"contracts/release/extensions/policy-manager/IPolicy.sol\":{\"keccak256\":\"0xc12663ca72065b256c3b934ab738fde26c147c7b0399de43650df89dd52ee467\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://be8fecfcba0f3fda615f0a1bb3c766750c23761ef751d7c4472dfe540e460cd1\",\"dweb:/ipfs/QmaarPoRTsX6NiJ8V4u2f3Qh6d7tUs28bw9R14An3t5Bs1\"]},\"contracts/release/extensions/policy-manager/IPolicyManager.sol\":{\"keccak256\":\"0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa\",\"dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb\"]},\"contracts/release/extensions/policy-manager/PolicyManager.sol\":{\"keccak256\":\"0xd15a53daee1148a76df4e0de9a3d77181f0134a0cf4c815f222e16a352ac3ac0\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a58b2508954f047e4c613da8dee716cd573a1f15061893dc7c00e71ee6a4e465\",\"dweb:/ipfs/QmcSpn8RhvicFaXPcG9KoveX6t6wvfsFRuz63pVZsEJcda\"]},\"contracts/release/extensions/utils/ExtensionBase.sol\":{\"keccak256\":\"0xae68767766f6459bd2cd9dbd39df74f2c2f68f2150885bbce410e4091c807bb1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ce4c49522a39f618cc76feb474260fe910949f38e83b5f4518f1f245ba6eb876\",\"dweb:/ipfs/QmZ4wciRpziZAS4HRQy44Sgzm4GM4Wzme9zYnABzR6Cbzo\"]},\"contracts/release/infrastructure/gas-relayer/GasRelayPaymasterLib.sol\":{\"keccak256\":\"0xdc0562c8c791dbdca601278078fb2df0a20286805906ff1e9c81b51f2fd8789f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3ff25d0377cd67308a2425eaa05e5b042af9120f850de91fe58def674f709f61\",\"dweb:/ipfs/QmQgb8SBED1CCF47NUDViwQVdS1KJ9mQLNH6bBRp68dzNC\"]},\"contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol\":{\"keccak256\":\"0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f\",\"dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol\":{\"keccak256\":\"0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0\",\"dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol\":{\"keccak256\":\"0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b\",\"dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3\"]},\"contracts/release/infrastructure/gas-relayer/bases/GasRelayPaymasterLibBase1.sol\":{\"keccak256\":\"0xe127c2554c9e32a7cae0905a496d221d20732bbe66abb479b639877328b5daa0\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6231b13d306ed1eea40a805fa815cb44279203ec17dde3485e25266abbe89725\",\"dweb:/ipfs/QmNeZy9zojT5XELkCPy64URdKWsahM53zGos8ubeH7DB1K\"]},\"contracts/release/infrastructure/protocol-fees/IProtocolFeeTracker.sol\":{\"keccak256\":\"0x232b347f83457439064add7369bfe1930c7cb56f15930bb87d640e909c15e447\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://24f9af5eebdd373b1d7a598c096eb6def31b2640d54416d7d5a7226e1cef17e6\",\"dweb:/ipfs/QmStq9ByGuSYdKwTmZf52L1X6sZVJUfXTnoVbnjLLiUcHG\"]},\"contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol\":{\"keccak256\":\"0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965\",\"dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ\"]},\"contracts/release/interfaces/IGsnForwarder.sol\":{\"keccak256\":\"0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29\",\"dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G\"]},\"contracts/release/interfaces/IGsnPaymaster.sol\":{\"keccak256\":\"0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4\",\"dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF\"]},\"contracts/release/interfaces/IGsnRelayHub.sol\":{\"keccak256\":\"0x118c6df3aa483cc26ba7d4331267fb75c92025fe7890b35f4057a7c6f96a7590\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://374088f4368235c911ea94b213cbf3dd40ab277d183c5c3d3db0435ef50cbf04\",\"dweb:/ipfs/QmSC2JoNqrjqiAnYHNX1JFQnp8XnPriSi7cAutT6YbKvb9\"]},\"contracts/release/interfaces/IGsnTypes.sol\":{\"keccak256\":\"0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7\",\"dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C\"]},\"contracts/release/interfaces/IWETH.sol\":{\"keccak256\":\"0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2\",\"dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/FundDeployerOwnerMixin.sol\":{\"keccak256\":\"0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927\",\"dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM\"]},\"contracts/release/utils/NonUpgradableProxy.sol\":{\"keccak256\":\"0x7d70145a2a0ff8c36318b23ac6ca662f133584dd823933230c66143b89e2d53d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b05ea625a428fdf3f908db3e97a358a4117d4998abde806ba3839c7fad821bca\",\"dweb:/ipfs/QmSLzFT1ktLTZ7rAKYjcg6dBRuxVMzrGXjGJSsH5nSVx2G\"]},\"contracts/release/utils/beacon-proxy/IBeacon.sol\":{\"keccak256\":\"0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39\",\"dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V\"]},\"contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol\":{\"keccak256\":\"0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be\",\"dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_wethToken", "type": "address" }, { "internalType": "address", "name": "_relayHub", "type": "address" }, { "internalType": "address", "name": "_trustedForwarder", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256", "indexed": false } ], "type": "event", "name": "Deposited", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "authorizer", "type": "address", "indexed": true }, { "internalType": "bytes4", "name": "invokedSelector", "type": "bytes4", "indexed": false }, { "internalType": "bool", "name": "successful", "type": "bool", "indexed": false } ], "type": "event", "name": "TransactionRelayed", "anonymous": false }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256", "indexed": false } ], "type": "event", "name": "Withdrawn", "anonymous": false }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "deposit" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getGasAndDataLimits", "outputs": [ { "internalType": "struct IGsnPaymaster.GasAndDataLimits", "name": "limits_", "type": "tuple", "components": [ { "internalType": "uint256", "name": "acceptanceBudget", "type": "uint256" }, { "internalType": "uint256", "name": "preRelayedCallGasLimit", "type": "uint256" }, { "internalType": "uint256", "name": "postRelayedCallGasLimit", "type": "uint256" }, { "internalType": "uint256", "name": "calldataSizeLimit", "type": "uint256" } ] } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getHubAddr", "outputs": [ { "internalType": "address", "name": "relayHub_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getParentComptroller", "outputs": [ { "internalType": "address", "name": "parentComptroller_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getParentVault", "outputs": [ { "internalType": "address", "name": "parentVault_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getRelayHubDeposit", "outputs": [ { "internalType": "uint256", "name": "depositBalance_", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getWethToken", "outputs": [ { "internalType": "address", "name": "wethToken_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_vault", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "init" }, { "inputs": [ { "internalType": "bytes", "name": "_context", "type": "bytes" }, { "internalType": "bool", "name": "_success", "type": "bool" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "struct IGsnTypes.RelayData", "name": "_relayData", "type": "tuple", "components": [ { "internalType": "uint256", "name": "gasPrice", "type": "uint256" }, { "internalType": "uint256", "name": "pctRelayFee", "type": "uint256" }, { "internalType": "uint256", "name": "baseRelayFee", "type": "uint256" }, { "internalType": "address", "name": "relayWorker", "type": "address" }, { "internalType": "address", "name": "paymaster", "type": "address" }, { "internalType": "address", "name": "forwarder", "type": "address" }, { "internalType": "bytes", "name": "paymasterData", "type": "bytes" }, { "internalType": "uint256", "name": "clientId", "type": "uint256" } ] } ], "stateMutability": "nonpayable", "type": "function", "name": "postRelayedCall" }, { "inputs": [ { "internalType": "struct IGsnTypes.RelayRequest", "name": "_relayRequest", "type": "tuple", "components": [ { "internalType": "struct IGsnForwarder.ForwardRequest", "name": "request", "type": "tuple", "components": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" }, { "internalType": "uint256", "name": "gas", "type": "uint256" }, { "internalType": "uint256", "name": "nonce", "type": "uint256" }, { "internalType": "bytes", "name": "data", "type": "bytes" }, { "internalType": "uint256", "name": "validUntil", "type": "uint256" } ] }, { "internalType": "struct IGsnTypes.RelayData", "name": "relayData", "type": "tuple", "components": [ { "internalType": "uint256", "name": "gasPrice", "type": "uint256" }, { "internalType": "uint256", "name": "pctRelayFee", "type": "uint256" }, { "internalType": "uint256", "name": "baseRelayFee", "type": "uint256" }, { "internalType": "address", "name": "relayWorker", "type": "address" }, { "internalType": "address", "name": "paymaster", "type": "address" }, { "internalType": "address", "name": "forwarder", "type": "address" }, { "internalType": "bytes", "name": "paymasterData", "type": "bytes" }, { "internalType": "uint256", "name": "clientId", "type": "uint256" } ] } ] }, { "internalType": "bytes", "name": "", "type": "bytes" }, { "internalType": "bytes", "name": "", "type": "bytes" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "preRelayedCall", "outputs": [ { "internalType": "bytes", "name": "context_", "type": "bytes" }, { "internalType": "bool", "name": "rejectOnRecipientRevert_", "type": "bool" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "trustedForwarder", "outputs": [ { "internalType": "address", "name": "trustedForwarder_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "versionPaymaster", "outputs": [ { "internalType": "string", "name": "versionString_", "type": "string" } ] }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "withdrawBalance" } ], "devdoc": { "kind": "dev", "methods": { "getGasAndDataLimits()": { "returns": { "limits_": "`GasAndDataLimits(PAYMASTER_ACCEPTANCE_BUDGET, PRE_RELAYED_CALL_GAS_LIMIT, POST_RELAYED_CALL_GAS_LIMIT, CALLDATA_SIZE_LIMIT)`" } }, "getHubAddr()": { "returns": { "relayHub_": "The `RELAY_HUB` value" } }, "getParentComptroller()": { "returns": { "parentComptroller_": "The ComptrollerProxy" } }, "getParentVault()": { "returns": { "parentVault_": "The `parentVault` value" } }, "getRelayHubDeposit()": { "returns": { "depositBalance_": "amount of ETH deposited on the relay hub" } }, "getWethToken()": { "returns": { "wethToken_": "The `WETH_TOKEN` value" } }, "init(address)": { "details": "Used to set the owning vault", "params": { "_vault": "The VaultProxy associated with the paymaster proxy" } }, "postRelayedCall(bytes,bool,uint256,(uint256,uint256,uint256,address,address,address,bytes,uint256))": { "params": { "_context": "The context constructed by preRelayedCall (used to pass data from pre to post relayed call)", "_relayData": "The relay params of the request. can be used by relayHub.calculateCharge()", "_success": "Whether or not the relayed tx succeed" } }, "preRelayedCall(((address,address,uint256,uint256,uint256,bytes,uint256),(uint256,uint256,uint256,address,address,address,bytes,uint256)),bytes,bytes,uint256)": { "params": { "_relayRequest": "The full relay request structure" }, "returns": { "context_": "The tx signer and the fn sig, encoded so that it can be passed to `postRelayCall`", "rejectOnRecipientRevert_": "Always false" } }, "trustedForwarder()": { "returns": { "trustedForwarder_": "The forwarder contract which is trusted to validated the relayed tx signature" } }, "versionPaymaster()": { "returns": { "versionString_": "The version string" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "deposit()": { "notice": "Pull deposit from the vault and reactivate relaying" }, "getGasAndDataLimits()": { "notice": "Gets gas limits used by the relay hub for the pre and post relay calls" }, "getHubAddr()": { "notice": "Gets the `RELAY_HUB` variable value" }, "getParentComptroller()": { "notice": "Gets the current ComptrollerProxy of the VaultProxy associated with this contract" }, "getParentVault()": { "notice": "Gets the `parentVault` variable value" }, "getRelayHubDeposit()": { "notice": "Look up amount of ETH deposited on the relay hub" }, "getWethToken()": { "notice": "Gets the `WETH_TOKEN` variable value" }, "init(address)": { "notice": "Initializes a paymaster proxy" }, "postRelayedCall(bytes,bool,uint256,(uint256,uint256,uint256,address,address,address,bytes,uint256))": { "notice": "Called by the relay hub after the relayed tx is executed, tops up deposit if flag passed through paymasterdata is true" }, "preRelayedCall(((address,address,uint256,uint256,uint256,bytes,uint256),(uint256,uint256,uint256,address,address,address,bytes,uint256)),bytes,bytes,uint256)": { "notice": "Checks whether the paymaster will pay for a given relayed tx" }, "trustedForwarder()": { "notice": "Gets the `TRUSTED_FORWARDER` variable value" }, "versionPaymaster()": { "notice": "Gets the string representation of the contract version (fulfills interface)" }, "withdrawBalance()": { "notice": "Send any deposited ETH back to the vault" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/infrastructure/gas-relayer/GasRelayPaymasterLib.sol": "GasRelayPaymasterLib" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/dispatcher/IDispatcher.sol": { "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", "urls": [ "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" ], "license": "GPL-3.0" }, "contracts/persistent/dispatcher/IMigrationHookHandler.sol": { "keccak256": "0x4cec61ef58c1d2e7693ee954c3582b1a04ff836a569e216edb7526c7e56a5632", "urls": [ "bzz-raw://0acae6d91e3e20e6ebd46cbeff926967a2d64f3d8eb2e3cdff20366917a77879", "dweb:/ipfs/Qmd44oJngTNRnwXdDwtNd9o4UvTgxAmBGikz3QMPKf4NWy" ], "license": "GPL-3.0" }, "contracts/persistent/external-positions/IExternalPosition.sol": { "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", "urls": [ "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IExternalPositionVault.sol": { "keccak256": "0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6", "urls": [ "bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d", "dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol": { "keccak256": "0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0", "urls": [ "bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb", "dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IMigratableVault.sol": { "keccak256": "0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238", "urls": [ "bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6", "dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IVaultCore.sol": { "keccak256": "0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80", "urls": [ "bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd", "dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr" ], "license": "GPL-3.0" }, "contracts/release/core/fund-deployer/FundDeployer.sol": { "keccak256": "0x8662d2630a08a8383fa72bd9d6d73138f6bc300c94c808f29bf6a18edeb9a71b", "urls": [ "bzz-raw://2351ac152b1c97dec9287c15da022f05bbf484e772e2bfdcf89186116dfeaf15", "dweb:/ipfs/Qmc5zs3yPzZeAf3iTe1hAavgbHAeeqYtqxNryRdjXL4tBJ" ], "license": "GPL-3.0" }, "contracts/release/core/fund-deployer/IFundDeployer.sol": { "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", "urls": [ "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" ], "license": "GPL-3.0" }, "contracts/release/core/fund/comptroller/ComptrollerLib.sol": { "keccak256": "0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64", "urls": [ "bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579", "dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq" ], "license": "GPL-3.0" }, "contracts/release/core/fund/comptroller/ComptrollerProxy.sol": { "keccak256": "0x2915bf85b7a39e3b31f00d87bf06fc11415c6e027e00f98681b122176b74c76f", "urls": [ "bzz-raw://07a34cb3bd349426cbf016b21a3be2391c2a2aba1cd383965da2b5546253515b", "dweb:/ipfs/QmbQtHhPzFPQjw5JgLNQN2ZeVUrYQXKwAUaW5pwNMAcSQ3" ], "license": "GPL-3.0" }, "contracts/release/core/fund/comptroller/IComptroller.sol": { "keccak256": "0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f", "urls": [ "bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97", "dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L" ], "license": "GPL-3.0" }, "contracts/release/core/fund/vault/IVault.sol": { "keccak256": "0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd", "urls": [ "bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599", "dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG" ], "license": "GPL-3.0" }, "contracts/release/extensions/IExtension.sol": { "keccak256": "0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b", "urls": [ "bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70", "dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t" ], "license": "GPL-3.0" }, "contracts/release/extensions/fee-manager/IFeeManager.sol": { "keccak256": "0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51", "urls": [ "bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22", "dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod" ], "license": "GPL-3.0" }, "contracts/release/extensions/policy-manager/IPolicy.sol": { "keccak256": "0xc12663ca72065b256c3b934ab738fde26c147c7b0399de43650df89dd52ee467", "urls": [ "bzz-raw://be8fecfcba0f3fda615f0a1bb3c766750c23761ef751d7c4472dfe540e460cd1", "dweb:/ipfs/QmaarPoRTsX6NiJ8V4u2f3Qh6d7tUs28bw9R14An3t5Bs1" ], "license": "GPL-3.0" }, "contracts/release/extensions/policy-manager/IPolicyManager.sol": { "keccak256": "0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32", "urls": [ "bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa", "dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb" ], "license": "GPL-3.0" }, "contracts/release/extensions/policy-manager/PolicyManager.sol": { "keccak256": "0xd15a53daee1148a76df4e0de9a3d77181f0134a0cf4c815f222e16a352ac3ac0", "urls": [ "bzz-raw://a58b2508954f047e4c613da8dee716cd573a1f15061893dc7c00e71ee6a4e465", "dweb:/ipfs/QmcSpn8RhvicFaXPcG9KoveX6t6wvfsFRuz63pVZsEJcda" ], "license": "GPL-3.0" }, "contracts/release/extensions/utils/ExtensionBase.sol": { "keccak256": "0xae68767766f6459bd2cd9dbd39df74f2c2f68f2150885bbce410e4091c807bb1", "urls": [ "bzz-raw://ce4c49522a39f618cc76feb474260fe910949f38e83b5f4518f1f245ba6eb876", "dweb:/ipfs/QmZ4wciRpziZAS4HRQy44Sgzm4GM4Wzme9zYnABzR6Cbzo" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/gas-relayer/GasRelayPaymasterLib.sol": { "keccak256": "0xdc0562c8c791dbdca601278078fb2df0a20286805906ff1e9c81b51f2fd8789f", "urls": [ "bzz-raw://3ff25d0377cd67308a2425eaa05e5b042af9120f850de91fe58def674f709f61", "dweb:/ipfs/QmQgb8SBED1CCF47NUDViwQVdS1KJ9mQLNH6bBRp68dzNC" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol": { "keccak256": "0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609", "urls": [ "bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f", "dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol": { "keccak256": "0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01", "urls": [ "bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0", "dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol": { "keccak256": "0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196", "urls": [ "bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b", "dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/gas-relayer/bases/GasRelayPaymasterLibBase1.sol": { "keccak256": "0xe127c2554c9e32a7cae0905a496d221d20732bbe66abb479b639877328b5daa0", "urls": [ "bzz-raw://6231b13d306ed1eea40a805fa815cb44279203ec17dde3485e25266abbe89725", "dweb:/ipfs/QmNeZy9zojT5XELkCPy64URdKWsahM53zGos8ubeH7DB1K" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/protocol-fees/IProtocolFeeTracker.sol": { "keccak256": "0x232b347f83457439064add7369bfe1930c7cb56f15930bb87d640e909c15e447", "urls": [ "bzz-raw://24f9af5eebdd373b1d7a598c096eb6def31b2640d54416d7d5a7226e1cef17e6", "dweb:/ipfs/QmStq9ByGuSYdKwTmZf52L1X6sZVJUfXTnoVbnjLLiUcHG" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol": { "keccak256": "0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794", "urls": [ "bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965", "dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IGsnForwarder.sol": { "keccak256": "0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030", "urls": [ "bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29", "dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IGsnPaymaster.sol": { "keccak256": "0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c", "urls": [ "bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4", "dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IGsnRelayHub.sol": { "keccak256": "0x118c6df3aa483cc26ba7d4331267fb75c92025fe7890b35f4057a7c6f96a7590", "urls": [ "bzz-raw://374088f4368235c911ea94b213cbf3dd40ab277d183c5c3d3db0435ef50cbf04", "dweb:/ipfs/QmSC2JoNqrjqiAnYHNX1JFQnp8XnPriSi7cAutT6YbKvb9" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IGsnTypes.sol": { "keccak256": "0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714", "urls": [ "bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7", "dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IWETH.sol": { "keccak256": "0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2", "urls": [ "bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2", "dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ" ], "license": "GPL-3.0" }, "contracts/release/utils/AddressArrayLib.sol": { "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", "urls": [ "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" ], "license": "GPL-3.0" }, "contracts/release/utils/FundDeployerOwnerMixin.sol": { "keccak256": "0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934", "urls": [ "bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927", "dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM" ], "license": "GPL-3.0" }, "contracts/release/utils/NonUpgradableProxy.sol": { "keccak256": "0x7d70145a2a0ff8c36318b23ac6ca662f133584dd823933230c66143b89e2d53d", "urls": [ "bzz-raw://b05ea625a428fdf3f908db3e97a358a4117d4998abde806ba3839c7fad821bca", "dweb:/ipfs/QmSLzFT1ktLTZ7rAKYjcg6dBRuxVMzrGXjGJSsH5nSVx2G" ], "license": "GPL-3.0" }, "contracts/release/utils/beacon-proxy/IBeacon.sol": { "keccak256": "0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2", "urls": [ "bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39", "dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V" ], "license": "GPL-3.0" }, "contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol": { "keccak256": "0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc", "urls": [ "bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be", "dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", "urls": [ "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Address.sol": { "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", "urls": [ "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" } }, "version": 1 }, "id": 229 } diff --git a/eth_defi/abi/enzyme/GasRelayPaymasterLibBase1.json b/eth_defi/abi/enzyme/GasRelayPaymasterLibBase1.json index 2e6ffaa1..8521e392 100644 --- a/eth_defi/abi/enzyme/GasRelayPaymasterLibBase1.json +++ b/eth_defi/abi/enzyme/GasRelayPaymasterLibBase1.json @@ -1,182 +1 @@ -{ - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "Deposited", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "authorizer", - "type": "address" - }, - { - "indexed": false, - "internalType": "bytes4", - "name": "invokedSelector", - "type": "bytes4" - }, - { - "indexed": false, - "internalType": "bool", - "name": "successful", - "type": "bool" - } - ], - "name": "TransactionRelayed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "Withdrawn", - "type": "event" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": {}, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Deposited\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"authorizer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes4\",\"name\":\"invokedSelector\",\"type\":\"bytes4\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"successful\",\"type\":\"bool\"}],\"name\":\"TransactionRelayed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Withdrawn\",\"type\":\"event\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"DO NOT EDIT CONTRACT ONCE DEPLOYED. If new events or storage are necessary, they should be added to a numbered GasRelayPaymasterLibBaseXXX that inherits the previous base. e.g., `GasRelayPaymasterLibBase2 is GasRelayPaymasterLibBase1`\",\"kind\":\"dev\",\"methods\":{},\"title\":\"GasRelayPaymasterLibBase1 Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"A persistent contract containing all required storage variables and events for a GasRelayPaymasterLib\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/infrastructure/gas-relayer/bases/GasRelayPaymasterLibBase1.sol\":\"GasRelayPaymasterLibBase1\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/infrastructure/gas-relayer/bases/GasRelayPaymasterLibBase1.sol\":{\"keccak256\":\"0xe127c2554c9e32a7cae0905a496d221d20732bbe66abb479b639877328b5daa0\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6231b13d306ed1eea40a805fa815cb44279203ec17dde3485e25266abbe89725\",\"dweb:/ipfs/QmNeZy9zojT5XELkCPy64URdKWsahM53zGos8ubeH7DB1K\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "Deposited", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "authorizer", - "type": "address", - "indexed": true - }, - { - "internalType": "bytes4", - "name": "invokedSelector", - "type": "bytes4", - "indexed": false - }, - { - "internalType": "bool", - "name": "successful", - "type": "bool", - "indexed": false - } - ], - "type": "event", - "name": "TransactionRelayed", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "Withdrawn", - "anonymous": false - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/infrastructure/gas-relayer/bases/GasRelayPaymasterLibBase1.sol": "GasRelayPaymasterLibBase1" - }, - "libraries": {} - }, - "sources": { - "contracts/release/infrastructure/gas-relayer/bases/GasRelayPaymasterLibBase1.sol": { - "keccak256": "0xe127c2554c9e32a7cae0905a496d221d20732bbe66abb479b639877328b5daa0", - "urls": [ - "bzz-raw://6231b13d306ed1eea40a805fa815cb44279203ec17dde3485e25266abbe89725", - "dweb:/ipfs/QmNeZy9zojT5XELkCPy64URdKWsahM53zGos8ubeH7DB1K" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 233 -} +{ "abi": [ { "type": "event", "name": "Deposited", "inputs": [ { "name": "amount", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "TransactionRelayed", "inputs": [ { "name": "authorizer", "type": "address", "indexed": true, "internalType": "address" }, { "name": "invokedSelector", "type": "bytes4", "indexed": false, "internalType": "bytes4" }, { "name": "successful", "type": "bool", "indexed": false, "internalType": "bool" } ], "anonymous": false }, { "type": "event", "name": "Withdrawn", "inputs": [ { "name": "amount", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": {}, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Deposited\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"authorizer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes4\",\"name\":\"invokedSelector\",\"type\":\"bytes4\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"successful\",\"type\":\"bool\"}],\"name\":\"TransactionRelayed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Withdrawn\",\"type\":\"event\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"DO NOT EDIT CONTRACT ONCE DEPLOYED. If new events or storage are necessary, they should be added to a numbered GasRelayPaymasterLibBaseXXX that inherits the previous base. e.g., `GasRelayPaymasterLibBase2 is GasRelayPaymasterLibBase1`\",\"kind\":\"dev\",\"methods\":{},\"title\":\"GasRelayPaymasterLibBase1 Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"A persistent contract containing all required storage variables and events for a GasRelayPaymasterLib\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/infrastructure/gas-relayer/bases/GasRelayPaymasterLibBase1.sol\":\"GasRelayPaymasterLibBase1\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/infrastructure/gas-relayer/bases/GasRelayPaymasterLibBase1.sol\":{\"keccak256\":\"0xe127c2554c9e32a7cae0905a496d221d20732bbe66abb479b639877328b5daa0\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6231b13d306ed1eea40a805fa815cb44279203ec17dde3485e25266abbe89725\",\"dweb:/ipfs/QmNeZy9zojT5XELkCPy64URdKWsahM53zGos8ubeH7DB1K\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256", "indexed": false } ], "type": "event", "name": "Deposited", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "authorizer", "type": "address", "indexed": true }, { "internalType": "bytes4", "name": "invokedSelector", "type": "bytes4", "indexed": false }, { "internalType": "bool", "name": "successful", "type": "bool", "indexed": false } ], "type": "event", "name": "TransactionRelayed", "anonymous": false }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256", "indexed": false } ], "type": "event", "name": "Withdrawn", "anonymous": false } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/infrastructure/gas-relayer/bases/GasRelayPaymasterLibBase1.sol": "GasRelayPaymasterLibBase1" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/infrastructure/gas-relayer/bases/GasRelayPaymasterLibBase1.sol": { "keccak256": "0xe127c2554c9e32a7cae0905a496d221d20732bbe66abb479b639877328b5daa0", "urls": [ "bzz-raw://6231b13d306ed1eea40a805fa815cb44279203ec17dde3485e25266abbe89725", "dweb:/ipfs/QmNeZy9zojT5XELkCPy64URdKWsahM53zGos8ubeH7DB1K" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 233 } diff --git a/eth_defi/abi/enzyme/GasRelayRecipientMixin.json b/eth_defi/abi/enzyme/GasRelayRecipientMixin.json index beccfa3b..5fc8a22d 100644 --- a/eth_defi/abi/enzyme/GasRelayRecipientMixin.json +++ b/eth_defi/abi/enzyme/GasRelayRecipientMixin.json @@ -1,201 +1 @@ -{ - "abi": [ - { - "inputs": [], - "name": "getGasRelayPaymasterFactory", - "outputs": [ - { - "internalType": "address", - "name": "gasRelayPaymasterFactory_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getGasRelayTrustedForwarder", - "outputs": [ - { - "internalType": "address", - "name": "trustedForwarder_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "getGasRelayPaymasterFactory()": "ac259456", - "getGasRelayTrustedForwarder()": "6ea21143" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"getGasRelayPaymasterFactory\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"gasRelayPaymasterFactory_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getGasRelayTrustedForwarder\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"trustedForwarder_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"IMPORTANT: Do not use storage var in this contract, unless it is no longer inherited by the VaultLib\",\"kind\":\"dev\",\"methods\":{\"getGasRelayPaymasterFactory()\":{\"returns\":{\"gasRelayPaymasterFactory_\":\"The `GAS_RELAY_PAYMASTER_FACTORY` variable value\"}},\"getGasRelayTrustedForwarder()\":{\"returns\":{\"trustedForwarder_\":\"The trusted forwarder\"}}},\"title\":\"GasRelayRecipientMixin Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getGasRelayPaymasterFactory()\":{\"notice\":\"Gets the `GAS_RELAY_PAYMASTER_FACTORY` variable\"},\"getGasRelayTrustedForwarder()\":{\"notice\":\"Gets the trusted forwarder for GSN relaying\"}},\"notice\":\"A mixin that enables receiving GSN-relayed calls\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol\":\"GasRelayRecipientMixin\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol\":{\"keccak256\":\"0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f\",\"dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol\":{\"keccak256\":\"0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0\",\"dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2\"]},\"contracts/release/interfaces/IGsnForwarder.sol\":{\"keccak256\":\"0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29\",\"dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G\"]},\"contracts/release/interfaces/IGsnPaymaster.sol\":{\"keccak256\":\"0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4\",\"dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF\"]},\"contracts/release/interfaces/IGsnTypes.sol\":{\"keccak256\":\"0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7\",\"dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C\"]},\"contracts/release/utils/beacon-proxy/IBeacon.sol\":{\"keccak256\":\"0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39\",\"dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V\"]},\"contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol\":{\"keccak256\":\"0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be\",\"dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getGasRelayPaymasterFactory", - "outputs": [ - { - "internalType": "address", - "name": "gasRelayPaymasterFactory_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getGasRelayTrustedForwarder", - "outputs": [ - { - "internalType": "address", - "name": "trustedForwarder_", - "type": "address" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "getGasRelayPaymasterFactory()": { - "returns": { - "gasRelayPaymasterFactory_": "The `GAS_RELAY_PAYMASTER_FACTORY` variable value" - } - }, - "getGasRelayTrustedForwarder()": { - "returns": { - "trustedForwarder_": "The trusted forwarder" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "getGasRelayPaymasterFactory()": { - "notice": "Gets the `GAS_RELAY_PAYMASTER_FACTORY` variable" - }, - "getGasRelayTrustedForwarder()": { - "notice": "Gets the trusted forwarder for GSN relaying" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol": "GasRelayRecipientMixin" - }, - "libraries": {} - }, - "sources": { - "contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol": { - "keccak256": "0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609", - "urls": [ - "bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f", - "dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol": { - "keccak256": "0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01", - "urls": [ - "bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0", - "dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IGsnForwarder.sol": { - "keccak256": "0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030", - "urls": [ - "bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29", - "dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IGsnPaymaster.sol": { - "keccak256": "0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c", - "urls": [ - "bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4", - "dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IGsnTypes.sol": { - "keccak256": "0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714", - "urls": [ - "bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7", - "dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/beacon-proxy/IBeacon.sol": { - "keccak256": "0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2", - "urls": [ - "bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39", - "dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol": { - "keccak256": "0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc", - "urls": [ - "bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be", - "dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 230 -} +{ "abi": [ { "type": "function", "name": "getGasRelayPaymasterFactory", "inputs": [], "outputs": [ { "name": "gasRelayPaymasterFactory_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getGasRelayTrustedForwarder", "inputs": [], "outputs": [ { "name": "trustedForwarder_", "type": "address", "internalType": "address" } ], "stateMutability": "view" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "getGasRelayPaymasterFactory()": "ac259456", "getGasRelayTrustedForwarder()": "6ea21143" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"getGasRelayPaymasterFactory\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"gasRelayPaymasterFactory_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getGasRelayTrustedForwarder\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"trustedForwarder_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"IMPORTANT: Do not use storage var in this contract, unless it is no longer inherited by the VaultLib\",\"kind\":\"dev\",\"methods\":{\"getGasRelayPaymasterFactory()\":{\"returns\":{\"gasRelayPaymasterFactory_\":\"The `GAS_RELAY_PAYMASTER_FACTORY` variable value\"}},\"getGasRelayTrustedForwarder()\":{\"returns\":{\"trustedForwarder_\":\"The trusted forwarder\"}}},\"title\":\"GasRelayRecipientMixin Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getGasRelayPaymasterFactory()\":{\"notice\":\"Gets the `GAS_RELAY_PAYMASTER_FACTORY` variable\"},\"getGasRelayTrustedForwarder()\":{\"notice\":\"Gets the trusted forwarder for GSN relaying\"}},\"notice\":\"A mixin that enables receiving GSN-relayed calls\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol\":\"GasRelayRecipientMixin\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol\":{\"keccak256\":\"0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f\",\"dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol\":{\"keccak256\":\"0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0\",\"dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2\"]},\"contracts/release/interfaces/IGsnForwarder.sol\":{\"keccak256\":\"0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29\",\"dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G\"]},\"contracts/release/interfaces/IGsnPaymaster.sol\":{\"keccak256\":\"0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4\",\"dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF\"]},\"contracts/release/interfaces/IGsnTypes.sol\":{\"keccak256\":\"0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7\",\"dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C\"]},\"contracts/release/utils/beacon-proxy/IBeacon.sol\":{\"keccak256\":\"0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39\",\"dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V\"]},\"contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol\":{\"keccak256\":\"0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be\",\"dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [], "stateMutability": "view", "type": "function", "name": "getGasRelayPaymasterFactory", "outputs": [ { "internalType": "address", "name": "gasRelayPaymasterFactory_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getGasRelayTrustedForwarder", "outputs": [ { "internalType": "address", "name": "trustedForwarder_", "type": "address" } ] } ], "devdoc": { "kind": "dev", "methods": { "getGasRelayPaymasterFactory()": { "returns": { "gasRelayPaymasterFactory_": "The `GAS_RELAY_PAYMASTER_FACTORY` variable value" } }, "getGasRelayTrustedForwarder()": { "returns": { "trustedForwarder_": "The trusted forwarder" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "getGasRelayPaymasterFactory()": { "notice": "Gets the `GAS_RELAY_PAYMASTER_FACTORY` variable" }, "getGasRelayTrustedForwarder()": { "notice": "Gets the trusted forwarder for GSN relaying" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol": "GasRelayRecipientMixin" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol": { "keccak256": "0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609", "urls": [ "bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f", "dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol": { "keccak256": "0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01", "urls": [ "bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0", "dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IGsnForwarder.sol": { "keccak256": "0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030", "urls": [ "bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29", "dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IGsnPaymaster.sol": { "keccak256": "0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c", "urls": [ "bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4", "dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IGsnTypes.sol": { "keccak256": "0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714", "urls": [ "bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7", "dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C" ], "license": "GPL-3.0" }, "contracts/release/utils/beacon-proxy/IBeacon.sol": { "keccak256": "0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2", "urls": [ "bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39", "dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V" ], "license": "GPL-3.0" }, "contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol": { "keccak256": "0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc", "urls": [ "bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be", "dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 230 } diff --git a/eth_defi/abi/enzyme/GatedRedemptionQueueSharesWrapperFactory.json b/eth_defi/abi/enzyme/GatedRedemptionQueueSharesWrapperFactory.json index 8370bc8a..e4685bde 100644 --- a/eth_defi/abi/enzyme/GatedRedemptionQueueSharesWrapperFactory.json +++ b/eth_defi/abi/enzyme/GatedRedemptionQueueSharesWrapperFactory.json @@ -1,500 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_dispatcher", - "type": "address" - }, - { - "internalType": "address", - "name": "_implementation", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "implementation", - "type": "address" - } - ], - "name": "ImplementationSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "caller", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "proxy", - "type": "address" - } - ], - "name": "ProxyDeployed", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "address[]", - "name": "_managers", - "type": "address[]" - }, - { - "internalType": "address", - "name": "_redemptionAsset", - "type": "address" - }, - { - "internalType": "bool", - "name": "_useDepositApprovals", - "type": "bool" - }, - { - "internalType": "bool", - "name": "_useRedemptionApprovals", - "type": "bool" - }, - { - "internalType": "bool", - "name": "_useTransferApprovals", - "type": "bool" - }, - { - "components": [ - { - "internalType": "uint64", - "name": "firstWindowStart", - "type": "uint64" - }, - { - "internalType": "uint32", - "name": "frequency", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "duration", - "type": "uint32" - }, - { - "internalType": "uint64", - "name": "relativeSharesCap", - "type": "uint64" - } - ], - "internalType": "struct GatedRedemptionQueueSharesWrapperLibBase1.RedemptionWindowConfig", - "name": "_windowConfig", - "type": "tuple" - } - ], - "name": "deploy", - "outputs": [ - { - "internalType": "address", - "name": "wrapperProxy_", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "implementation", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_nextImplementation", - "type": "address" - } - ], - "name": "setImplementation", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x60a060405234801561001057600080fd5b5060405161123538038061123583398101604081905261002f91610077565b60609190911b6001600160601b031916608052600080546001600160a01b0319166001600160a01b039092169190911790556100d9565b8051610071816100c2565b92915050565b6000806040838503121561008a57600080fd5b60006100968585610066565b92505060206100a785828601610066565b9150509250929050565b60006001600160a01b038216610071565b6100cb816100b1565b81146100d657600080fd5b50565b60805160601c61113b6100fa6000398060b15280610275525061113b6000f3fe60806040523480156200001157600080fd5b5060043610620000465760003560e01c806349e33a5a146200004b5780635c60da1b146200007a578063d784d4261462000084575b600080fd5b620000626200005c36600462000497565b6200009d565b60405162000071919062000741565b60405180910390f35b6200006262000264565b6200009b620000953660046200044d565b62000273565b005b6040516307af8e9f60e31b815260009081907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690633d7c74f890620000f0908d9060040162000741565b60206040518083038186803b1580156200010957600080fd5b505afa1580156200011e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000144919062000476565b6001600160a01b03161415620001775760405162461bcd60e51b81526004016200016e9062000807565b60405180910390fd5b60606342f6be5b60e01b8a8a8a8a8a8a8a8a604051602401620001a298979695949392919062000751565b604051602081830303815290604052906001600160e01b0319166020820180516001600160e01b03838183161783525050505090503081604051620001e79062000393565b620001f4929190620007d1565b604051809103906000f08015801562000211573d6000803e3d6000fd5b509150336001600160a01b03167f3d2489efb661e8b1c3679865db649ca1de61d76a71184a1234de2e55786a6aad836040516200024f919062000741565b60405180910390a25098975050505050505050565b6000546001600160a01b031681565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b158015620002cd57600080fd5b505afa158015620002e2573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000308919062000476565b6001600160a01b0316336001600160a01b0316146200033b5760405162461bcd60e51b81526004016200016e90620007f5565b600080546001600160a01b0319166001600160a01b0383161790556040517fab64f92ab780ecbf4f3866f57cee465ff36c89450dcce20237ca7a8d81fb7d13906200038890839062000741565b60405180910390a150565b61081d806200091283390190565b8035620003ae81620008d6565b92915050565b8051620003ae81620008d6565b60008083601f840112620003d457600080fd5b50813567ffffffffffffffff811115620003ed57600080fd5b6020830191508360208202830111156200040657600080fd5b9250929050565b8035620003ae81620008f0565b6000608082840312156200042d57600080fd5b50919050565b8035620003ae81620008fb565b8035620003ae8162000906565b6000602082840312156200046057600080fd5b60006200046e8484620003a1565b949350505050565b6000602082840312156200048957600080fd5b60006200046e8484620003b4565b600080600080600080600080610140898b031215620004b557600080fd5b6000620004c38b8b620003a1565b985050602089013567ffffffffffffffff811115620004e157600080fd5b620004ef8b828c01620003c1565b97509750506040620005048b828c01620003a1565b9550506060620005178b828c016200040d565b94505060806200052a8b828c016200040d565b93505060a06200053d8b828c016200040d565b92505060c0620005508b828c016200041a565b9150509295985092959890939650565b60006200056e838362000576565b505060200190565b620005818162000869565b82525050565b600062000595838562000826565b9350620005a28262000819565b8060005b85811015620005e057620005bb82846200082f565b620005c7888262000560565b9750620005d48362000820565b925050600101620005a6565b509495945050505050565b620005818162000876565b600062000603826200081c565b6200060f818562000826565b9350620006218185602086016200089d565b6200062c81620008cc565b9093019392505050565b600062000645601f8362000826565b7f736574496d706c656d656e746174696f6e3a20556e617574686f72697a656400815260200192915050565b600062000680601a8362000826565b7f5f7661756c7450726f78793a20496e76616c6964207661756c74000000000000815260200192915050565b60808201620006bc828062000858565b620006c8848262000736565b50620006d8602083018362000847565b620006e760208501826200072b565b50620006f7604083018362000847565b6200070660408501826200072b565b5062000716606083018362000858565b62000725606085018262000736565b50505050565b620005818162000887565b620005818162000890565b60208101620003ae828462000576565b610140810162000762828b62000576565b81810360208301526200077781898b62000587565b905062000788604083018862000576565b620007976060830187620005eb565b620007a66080830186620005eb565b620007b560a0830185620005eb565b620007c460c0830184620006ac565b9998505050505050505050565b60408101620007e1828562000576565b81810360208301526200046e8184620005f6565b60208082528101620003ae8162000636565b60208082528101620003ae8162000671565b90565b5190565b60200190565b90815260200190565b6000620008406020840184620003a1565b9392505050565b600062000840602084018462000433565b600062000840602084018462000440565b6000620003ae826200087b565b151590565b6001600160a01b031690565b63ffffffff1690565b67ffffffffffffffff1690565b60005b83811015620008ba578181015183820152602001620008a0565b83811115620007255750506000910152565b601f01601f191690565b620008e18162000869565b8114620008ed57600080fd5b50565b620008e18162000876565b620008e18162000887565b620008e1816200089056fe608060405260405161081d38038061081d8339818101604052604081101561002657600080fd5b81516020830180516040519294929383019291908464010000000082111561004d57600080fd5b90830190602082018581111561006257600080fd5b825164010000000081118282018810171561007c57600080fd5b82525081516020918201929091019080838360005b838110156100a9578181015183820152602001610091565b50505050905090810190601f1680156100d65780820380516001836020036101000a031916815260200191505b50604052506100e3915050565b6100ed82826100f4565b505061047f565b6101078261024960201b6100311760201c565b6101425760405162461bcd60e51b815260040180806020018281038252602581526020018061079e6025913960400191505060405180910390fd5b6101ba826001600160a01b0316635c60da1b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561017e57600080fd5b505afa158015610192573d6000803e3d6000fd5b505050506040513d60208110156101a857600080fd5b5051610249602090811b61003117901c565b6101f55760405162461bcd60e51b81526004018080602001828103825260348152602001806107e96034913960400191505060405180910390fd5b60008051602061075d8339815191528281558151156102445761024261021961024f565b8360405180606001604052806021815260200161077d602191396102c260201b6100371760201c565b505b505050565b3b151590565b60006102596103c8565b6001600160a01b0316635c60da1b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561029157600080fd5b505afa1580156102a5573d6000803e3d6000fd5b505050506040513d60208110156102bb57600080fd5b5051905090565b60606102cd84610249565b6103085760405162461bcd60e51b81526004018080602001828103825260268152602001806107c36026913960400191505060405180910390fd5b60006060856001600160a01b0316856040518082805190602001908083835b602083106103465780518252601f199092019160209182019101610327565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d80600081146103a6576040519150601f19603f3d011682016040523d82523d6000602084013e6103ab565b606091505b5090925090506103bc8282866103db565b925050505b9392505050565b60008051602061075d8339815191525490565b606083156103ea5750816103c1565b8251156103fa5782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561044457818101518382015260200161042c565b50505050905090810190601f1680156104715780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b6102cf8061048e6000396000f3fe60806040523661001357610011610017565b005b6100115b61001f61002f565b61002f61002a61013c565b6101af565b565b3b151590565b606061004284610031565b61007d5760405162461bcd60e51b815260040180806020018281038252602681526020018061029d6026913960400191505060405180910390fd5b60006060856001600160a01b0316856040518082805190602001908083835b602083106100bb5780518252601f19909201916020918201910161009c565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d806000811461011b576040519150601f19603f3d011682016040523d82523d6000602084013e610120565b606091505b50915091506101308282866101d3565b925050505b9392505050565b6000610146610277565b6001600160a01b0316635c60da1b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561017e57600080fd5b505afa158015610192573d6000803e3d6000fd5b505050506040513d60208110156101a857600080fd5b5051905090565b3660008037600080366000845af43d6000803e8080156101ce573d6000f35b3d6000fd5b606083156101e2575081610135565b8251156101f25782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561023c578181015183820152602001610224565b50505050905090810190601f1680156102695780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b7fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d50549056fe416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6e7472616374a164736f6c634300060c000aa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d50426561636f6e50726f78793a2066756e6374696f6e2063616c6c206661696c6564426561636f6e50726f78793a20626561636f6e206973206e6f74206120636f6e7472616374416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6e7472616374426561636f6e50726f78793a20626561636f6e20696d706c656d656e746174696f6e206973206e6f74206120636f6e7472616374a164736f6c634300060c000a", - "sourceMap": "721:2631:62:-:0;;;1008:170;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1083:46;;;;;-1:-1:-1;;;;;;1083:46:62;;;1139:14;:32;;-1:-1:-1;;;;;;1139:32:62;-1:-1:-1;;;;;1139:32:62;;;;;;;;;721:2631;;5:134:-1;83:13;;101:33;83:13;101:33;:::i;:::-;68:71;;;;:::o;146:399::-;;;278:2;266:9;257:7;253:23;249:32;246:2;;;294:1;291;284:12;246:2;329:1;346:64;402:7;382:9;346:64;:::i;:::-;336:74;;308:108;447:2;465:64;521:7;512:6;501:9;497:22;465:64;:::i;:::-;455:74;;426:109;240:305;;;;;:::o;552:91::-;;-1:-1;;;;;712:54;;614:24;695:76::o;778:117::-;847:24;865:5;847:24;:::i;:::-;840:5;837:35;827:2;;886:1;883;876:12;827:2;821:74;:::o;:::-;721:2631:62;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x60806040523480156200001157600080fd5b5060043610620000465760003560e01c806349e33a5a146200004b5780635c60da1b146200007a578063d784d4261462000084575b600080fd5b620000626200005c36600462000497565b6200009d565b60405162000071919062000741565b60405180910390f35b6200006262000264565b6200009b620000953660046200044d565b62000273565b005b6040516307af8e9f60e31b815260009081907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690633d7c74f890620000f0908d9060040162000741565b60206040518083038186803b1580156200010957600080fd5b505afa1580156200011e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000144919062000476565b6001600160a01b03161415620001775760405162461bcd60e51b81526004016200016e9062000807565b60405180910390fd5b60606342f6be5b60e01b8a8a8a8a8a8a8a8a604051602401620001a298979695949392919062000751565b604051602081830303815290604052906001600160e01b0319166020820180516001600160e01b03838183161783525050505090503081604051620001e79062000393565b620001f4929190620007d1565b604051809103906000f08015801562000211573d6000803e3d6000fd5b509150336001600160a01b03167f3d2489efb661e8b1c3679865db649ca1de61d76a71184a1234de2e55786a6aad836040516200024f919062000741565b60405180910390a25098975050505050505050565b6000546001600160a01b031681565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b158015620002cd57600080fd5b505afa158015620002e2573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000308919062000476565b6001600160a01b0316336001600160a01b0316146200033b5760405162461bcd60e51b81526004016200016e90620007f5565b600080546001600160a01b0319166001600160a01b0383161790556040517fab64f92ab780ecbf4f3866f57cee465ff36c89450dcce20237ca7a8d81fb7d13906200038890839062000741565b60405180910390a150565b61081d806200091283390190565b8035620003ae81620008d6565b92915050565b8051620003ae81620008d6565b60008083601f840112620003d457600080fd5b50813567ffffffffffffffff811115620003ed57600080fd5b6020830191508360208202830111156200040657600080fd5b9250929050565b8035620003ae81620008f0565b6000608082840312156200042d57600080fd5b50919050565b8035620003ae81620008fb565b8035620003ae8162000906565b6000602082840312156200046057600080fd5b60006200046e8484620003a1565b949350505050565b6000602082840312156200048957600080fd5b60006200046e8484620003b4565b600080600080600080600080610140898b031215620004b557600080fd5b6000620004c38b8b620003a1565b985050602089013567ffffffffffffffff811115620004e157600080fd5b620004ef8b828c01620003c1565b97509750506040620005048b828c01620003a1565b9550506060620005178b828c016200040d565b94505060806200052a8b828c016200040d565b93505060a06200053d8b828c016200040d565b92505060c0620005508b828c016200041a565b9150509295985092959890939650565b60006200056e838362000576565b505060200190565b620005818162000869565b82525050565b600062000595838562000826565b9350620005a28262000819565b8060005b85811015620005e057620005bb82846200082f565b620005c7888262000560565b9750620005d48362000820565b925050600101620005a6565b509495945050505050565b620005818162000876565b600062000603826200081c565b6200060f818562000826565b9350620006218185602086016200089d565b6200062c81620008cc565b9093019392505050565b600062000645601f8362000826565b7f736574496d706c656d656e746174696f6e3a20556e617574686f72697a656400815260200192915050565b600062000680601a8362000826565b7f5f7661756c7450726f78793a20496e76616c6964207661756c74000000000000815260200192915050565b60808201620006bc828062000858565b620006c8848262000736565b50620006d8602083018362000847565b620006e760208501826200072b565b50620006f7604083018362000847565b6200070660408501826200072b565b5062000716606083018362000858565b62000725606085018262000736565b50505050565b620005818162000887565b620005818162000890565b60208101620003ae828462000576565b610140810162000762828b62000576565b81810360208301526200077781898b62000587565b905062000788604083018862000576565b620007976060830187620005eb565b620007a66080830186620005eb565b620007b560a0830185620005eb565b620007c460c0830184620006ac565b9998505050505050505050565b60408101620007e1828562000576565b81810360208301526200046e8184620005f6565b60208082528101620003ae8162000636565b60208082528101620003ae8162000671565b90565b5190565b60200190565b90815260200190565b6000620008406020840184620003a1565b9392505050565b600062000840602084018462000433565b600062000840602084018462000440565b6000620003ae826200087b565b151590565b6001600160a01b031690565b63ffffffff1690565b67ffffffffffffffff1690565b60005b83811015620008ba578181015183820152602001620008a0565b83811115620007255750506000910152565b601f01601f191690565b620008e18162000869565b8114620008ed57600080fd5b50565b620008e18162000876565b620008e18162000887565b620008e1816200089056fe608060405260405161081d38038061081d8339818101604052604081101561002657600080fd5b81516020830180516040519294929383019291908464010000000082111561004d57600080fd5b90830190602082018581111561006257600080fd5b825164010000000081118282018810171561007c57600080fd5b82525081516020918201929091019080838360005b838110156100a9578181015183820152602001610091565b50505050905090810190601f1680156100d65780820380516001836020036101000a031916815260200191505b50604052506100e3915050565b6100ed82826100f4565b505061047f565b6101078261024960201b6100311760201c565b6101425760405162461bcd60e51b815260040180806020018281038252602581526020018061079e6025913960400191505060405180910390fd5b6101ba826001600160a01b0316635c60da1b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561017e57600080fd5b505afa158015610192573d6000803e3d6000fd5b505050506040513d60208110156101a857600080fd5b5051610249602090811b61003117901c565b6101f55760405162461bcd60e51b81526004018080602001828103825260348152602001806107e96034913960400191505060405180910390fd5b60008051602061075d8339815191528281558151156102445761024261021961024f565b8360405180606001604052806021815260200161077d602191396102c260201b6100371760201c565b505b505050565b3b151590565b60006102596103c8565b6001600160a01b0316635c60da1b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561029157600080fd5b505afa1580156102a5573d6000803e3d6000fd5b505050506040513d60208110156102bb57600080fd5b5051905090565b60606102cd84610249565b6103085760405162461bcd60e51b81526004018080602001828103825260268152602001806107c36026913960400191505060405180910390fd5b60006060856001600160a01b0316856040518082805190602001908083835b602083106103465780518252601f199092019160209182019101610327565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d80600081146103a6576040519150601f19603f3d011682016040523d82523d6000602084013e6103ab565b606091505b5090925090506103bc8282866103db565b925050505b9392505050565b60008051602061075d8339815191525490565b606083156103ea5750816103c1565b8251156103fa5782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561044457818101518382015260200161042c565b50505050905090810190601f1680156104715780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b6102cf8061048e6000396000f3fe60806040523661001357610011610017565b005b6100115b61001f61002f565b61002f61002a61013c565b6101af565b565b3b151590565b606061004284610031565b61007d5760405162461bcd60e51b815260040180806020018281038252602681526020018061029d6026913960400191505060405180910390fd5b60006060856001600160a01b0316856040518082805190602001908083835b602083106100bb5780518252601f19909201916020918201910161009c565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d806000811461011b576040519150601f19603f3d011682016040523d82523d6000602084013e610120565b606091505b50915091506101308282866101d3565b925050505b9392505050565b6000610146610277565b6001600160a01b0316635c60da1b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561017e57600080fd5b505afa158015610192573d6000803e3d6000fd5b505050506040513d60208110156101a857600080fd5b5051905090565b3660008037600080366000845af43d6000803e8080156101ce573d6000f35b3d6000fd5b606083156101e2575081610135565b8251156101f25782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561023c578181015183820152602001610224565b50505050905090810190601f1680156102695780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b7fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d50549056fe416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6e7472616374a164736f6c634300060c000aa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d50426561636f6e50726f78793a2066756e6374696f6e2063616c6c206661696c6564426561636f6e50726f78793a20626561636f6e206973206e6f74206120636f6e7472616374416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6e7472616374426561636f6e50726f78793a20626561636f6e20696d706c656d656e746174696f6e206973206e6f74206120636f6e7472616374a164736f6c634300060c000a", - "sourceMap": "721:2631:62:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1845:1071;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;963:38;;;:::i;3079:271::-;;;;;;:::i;:::-;;:::i;:::-;;1845:1071;2246:61;;-1:-1:-1;;;2246:61:62;;2192:21;;;;2246:19;-1:-1:-1;;;;;2246:48:62;;;;:61;;2295:11;;2246:61;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;2246:75:62;;;2225:148;;;;-1:-1:-1;;;2225:148:62;;;;;;;:::i;:::-;;;;;;;;;2384:26;2449:55;;;2518:11;2543:9;;2566:16;2596:20;2630:23;2667:21;2702:13;2413:312;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;-1:-1:-1;;;;;2413:312:62;;;;;;;-1:-1:-1;;;;;2413:312:62;;;;;;;;;;;2384:341;;2793:4;2806:13;2760:61;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;2736:86;;2852:10;-1:-1:-1;;;;;2838:40:62;;2864:13;2838:40;;;;;;:::i;:::-;;;;;;;;2889:20;1845:1071;;;;;;;;;;:::o;963:38::-;;;-1:-1:-1;;;;;963:38:62;;:::o;3079:271::-;3176:19;-1:-1:-1;;;;;3176:28:62;;:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;3162:44:62;:10;-1:-1:-1;;;;;3162:44:62;;3154:88;;;;-1:-1:-1;;;3154:88:62;;;;;;;:::i;:::-;3253:14;:36;;-1:-1:-1;;;;;;3253:36:62;-1:-1:-1;;;;;3253:36:62;;;;;3305:38;;;;;;3253:36;;3305:38;:::i;:::-;;;;;;;;3079:271;:::o;-1:-1:-1:-;;;;;;;;:::o;5:130::-;72:20;;97:33;72:20;97:33;:::i;:::-;57:78;;;;:::o;142:134::-;220:13;;238:33;220:13;238:33;:::i;301:352::-;;;431:3;424:4;416:6;412:17;408:27;398:2;;449:1;446;439:12;398:2;-1:-1;469:20;;509:18;498:30;;495:2;;;541:1;538;531:12;495:2;575:4;567:6;563:17;551:29;;626:3;618:4;610:6;606:17;596:8;592:32;589:41;586:2;;;643:1;640;633:12;586:2;391:262;;;;;:::o;661:124::-;725:20;;750:30;725:20;750:30;:::i;872:175::-;;999:3;990:6;985:3;981:16;977:26;974:2;;;1016:1;1013;1006:12;974:2;-1:-1;1035:6;967:80;-1:-1;967:80::o;1054:128::-;1120:20;;1145:32;1120:20;1145:32;:::i;1189:128::-;1255:20;;1280:32;1255:20;1280:32;:::i;1324:241::-;;1428:2;1416:9;1407:7;1403:23;1399:32;1396:2;;;1444:1;1441;1434:12;1396:2;1479:1;1496:53;1541:7;1521:9;1496:53;:::i;:::-;1486:63;1390:175;-1:-1;;;;1390:175::o;1572:263::-;;1687:2;1675:9;1666:7;1662:23;1658:32;1655:2;;;1703:1;1700;1693:12;1655:2;1738:1;1755:64;1811:7;1791:9;1755:64;:::i;1842:1219::-;;;;;;;;;2117:3;2105:9;2096:7;2092:23;2088:33;2085:2;;;2134:1;2131;2124:12;2085:2;2169:1;2186:53;2231:7;2211:9;2186:53;:::i;:::-;2176:63;;2148:97;2304:2;2293:9;2289:18;2276:32;2328:18;2320:6;2317:30;2314:2;;;2360:1;2357;2350:12;2314:2;2388:80;2460:7;2451:6;2440:9;2436:22;2388:80;:::i;:::-;2370:98;;;;2255:219;2505:2;2523:53;2568:7;2559:6;2548:9;2544:22;2523:53;:::i;:::-;2513:63;;2484:98;2613:2;2631:50;2673:7;2664:6;2653:9;2649:22;2631:50;:::i;:::-;2621:60;;2592:95;2718:3;2737:50;2779:7;2770:6;2759:9;2755:22;2737:50;:::i;:::-;2727:60;;2697:96;2824:3;2843:50;2885:7;2876:6;2865:9;2861:22;2843:50;:::i;:::-;2833:60;;2803:96;2930:3;2949:96;3037:7;3028:6;3017:9;3013:22;2949:96;:::i;:::-;2939:106;;2909:142;2079:982;;;;;;;;;;;:::o;3069:173::-;;3156:46;3198:3;3190:6;3156:46;:::i;:::-;-1:-1;;3231:4;3222:14;;3149:93::o;3250:103::-;3323:24;3341:5;3323:24;:::i;:::-;3318:3;3311:37;3305:48;;:::o;3511:665::-;;3665:86;3744:6;3739:3;3665:86;:::i;:::-;3658:93;;3772:58;3824:5;3772:58;:::i;:::-;3850:7;3878:1;3863:291;3888:6;3885:1;3882:13;3863:291;;;3949:42;3984:6;3975:7;3949:42;:::i;:::-;4005:63;4064:3;4049:13;4005:63;:::i;:::-;3998:70;;4085:62;4140:6;4085:62;:::i;:::-;4075:72;-1:-1;;3910:1;3903:9;3863:291;;;-1:-1;4167:3;;3645:531;-1:-1;;;;;3645:531::o;4184:104::-;4261:21;4276:5;4261:21;:::i;4295:343::-;;4405:38;4437:5;4405:38;:::i;:::-;4455:70;4518:6;4513:3;4455:70;:::i;:::-;4448:77;;4530:52;4575:6;4570:3;4563:4;4556:5;4552:16;4530:52;:::i;:::-;4603:29;4625:6;4603:29;:::i;:::-;4594:39;;;;4385:253;-1:-1;;;4385:253::o;4646:331::-;;4806:67;4870:2;4865:3;4806:67;:::i;:::-;4906:33;4886:54;;4968:2;4959:12;;4792:185;-1:-1;;4792:185::o;4986:326::-;;5146:67;5210:2;5205:3;5146:67;:::i;:::-;5246:28;5226:49;;5303:2;5294:12;;5132:180;-1:-1;;5132:180::o;5473:948::-;5650:4;5641:14;;5728:49;5764:5;;5728:49;:::i;:::-;5783:61;5833:3;5815:12;5783:61;:::i;:::-;5670:180;5911:49;5954:4;5947:5;5943:16;5936:5;5911:49;:::i;:::-;5966:61;6021:4;6016:3;6012:14;5998:12;5966:61;:::i;:::-;5860:173;6093:49;6136:4;6129:5;6125:16;6118:5;6093:49;:::i;:::-;6148:61;6203:4;6198:3;6194:14;6180:12;6148:61;:::i;:::-;6043:172;6284:49;6327:4;6320:5;6316:16;6309:5;6284:49;:::i;:::-;6339:61;6394:4;6389:3;6385:14;6371:12;6339:61;:::i;:::-;6225:181;5623:798;;;:::o;6428:100::-;6499:23;6516:5;6499:23;:::i;6535:100::-;6606:23;6623:5;6606:23;:::i;6642:222::-;6769:2;6754:18;;6783:71;6758:9;6827:6;6783:71;:::i;6871:1192::-;7292:3;7277:19;;7307:71;7281:9;7351:6;7307:71;:::i;:::-;7426:9;7420:4;7416:20;7411:2;7400:9;7396:18;7389:48;7451:118;7564:4;7555:6;7547;7451:118;:::i;:::-;7443:126;;7580:72;7648:2;7637:9;7633:18;7624:6;7580:72;:::i;:::-;7663:66;7725:2;7714:9;7710:18;7701:6;7663:66;:::i;:::-;7740:67;7802:3;7791:9;7787:19;7778:6;7740:67;:::i;:::-;7818;7880:3;7869:9;7865:19;7856:6;7818:67;:::i;:::-;7896:157;8048:3;8037:9;8033:19;8024:6;7896:157;:::i;:::-;7263:800;;;;;;;;;;;:::o;8070:417::-;8243:2;8228:18;;8257:71;8232:9;8301:6;8257:71;:::i;:::-;8376:9;8370:4;8366:20;8361:2;8350:9;8346:18;8339:48;8401:76;8472:4;8463:6;8401:76;:::i;8494:416::-;8694:2;8708:47;;;8679:18;;8769:131;8679:18;8769:131;:::i;8917:416::-;9117:2;9131:47;;;9102:18;;9192:131;9102:18;9192:131;:::i;9340:118::-;9428:3;9414:44::o;9465:121::-;9552:12;;9523:63::o;9593:110::-;9693:4;9684:14;;9670:33::o;9711:178::-;9829:19;;;9878:4;9869:14;;9822:67::o;10241:119::-;;10315:39;10350:2;10345:3;10341:12;10336:3;10315:39;:::i;:::-;10306:48;10299:61;-1:-1;;;10299:61::o;10369:117::-;;10442:38;10476:2;10471:3;10467:12;10462:3;10442:38;:::i;10495:117::-;;10568:38;10602:2;10597:3;10593:12;10588:3;10568:38;:::i;10620:91::-;;10682:24;10700:5;10682:24;:::i;10718:85::-;10784:13;10777:21;;10760:43::o;10810:121::-;-1:-1;;;;;10872:54;;10855:76::o;10938:88::-;11010:10;10999:22;;10982:44::o;11033:96::-;11105:18;11094:30;;11077:52::o;11137:268::-;11202:1;11209:101;11223:6;11220:1;11217:13;11209:101;;;11290:11;;;11284:18;11271:11;;;11264:39;11245:2;11238:10;11209:101;;;11325:6;11322:1;11319:13;11316:2;;;-1:-1;;11390:1;11372:16;;11365:27;11186:219::o;11413:97::-;11501:2;11481:14;-1:-1;;11477:28;;11461:49::o;11518:117::-;11587:24;11605:5;11587:24;:::i;:::-;11580:5;11577:35;11567:2;;11626:1;11623;11616:12;11567:2;11561:74;:::o;11642:111::-;11708:21;11723:5;11708:21;:::i;11760:115::-;11828:23;11845:5;11828:23;:::i;11882:115::-;11950:23;11967:5;11950:23;:::i", - "linkReferences": {}, - "immutableReferences": { - "8104": [ - { - "start": 177, - "length": 32 - }, - { - "start": 629, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "deploy(address,address[],address,bool,bool,bool,(uint64,uint32,uint32,uint64))": "49e33a5a", - "implementation()": "5c60da1b", - "setImplementation(address)": "d784d426" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_dispatcher\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_implementation\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"ImplementationSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"proxy\",\"type\":\"address\"}],\"name\":\"ProxyDeployed\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"address[]\",\"name\":\"_managers\",\"type\":\"address[]\"},{\"internalType\":\"address\",\"name\":\"_redemptionAsset\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_useDepositApprovals\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"_useRedemptionApprovals\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"_useTransferApprovals\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"uint64\",\"name\":\"firstWindowStart\",\"type\":\"uint64\"},{\"internalType\":\"uint32\",\"name\":\"frequency\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"duration\",\"type\":\"uint32\"},{\"internalType\":\"uint64\",\"name\":\"relativeSharesCap\",\"type\":\"uint64\"}],\"internalType\":\"struct GatedRedemptionQueueSharesWrapperLibBase1.RedemptionWindowConfig\",\"name\":\"_windowConfig\",\"type\":\"tuple\"}],\"name\":\"deploy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"wrapperProxy_\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"implementation\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nextImplementation\",\"type\":\"address\"}],\"name\":\"setImplementation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"deploy(address,address[],address,bool,bool,bool,(uint64,uint32,uint32,uint64))\":{\"params\":{\"_managers\":\"Users to give the role of manager for the wrapper\",\"_redemptionAsset\":\"The asset to receive during shares redemptions\",\"_useDepositApprovals\":\"True if deposit pre-approvals are required\",\"_useRedemptionApprovals\":\"True if the redemption request pre-approvals are required\",\"_useTransferApprovals\":\"True if shares transfer pre-approvals are required\",\"_vaultProxy\":\"The VaultProxy that will have its shares wrapped\",\"_windowConfig\":\"Initial redemption window configuration\"},\"returns\":{\"wrapperProxy_\":\"The deployed wrapper proxy\"}},\"setImplementation(address)\":{\"params\":{\"_nextImplementation\":\"The next implementation contract\"}}},\"stateVariables\":{\"implementation\":{\"details\":\"Must return an address that can be used as a delegate call target. {BeaconProxy} will check that this address is a contract.\"}},\"title\":\"GatedRedemptionQueueSharesWrapperFactory Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"deploy(address,address[],address,bool,bool,bool,(uint64,uint32,uint32,uint64))\":{\"notice\":\"Deploys a proxy instance\"},\"setImplementation(address)\":{\"notice\":\"Gets the contract owner\"}},\"notice\":\"A contract factory for GatedRedemptionQueueSharesWrapper instances\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/shares-wrappers/gated-redemption-queue/GatedRedemptionQueueSharesWrapperFactory.sol\":\"GatedRedemptionQueueSharesWrapperFactory\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/shares-wrappers/gated-redemption-queue/GatedRedemptionQueueSharesWrapperFactory.sol\":{\"keccak256\":\"0xa0a763248f25f2da01f3abbda4157b582ac671f1358a4823d92baaedc4ff5923\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1276c5e877bdbeb606e54026ebf488d20c1e343c8af1d17fc41760cf089edcfe\",\"dweb:/ipfs/QmWM2WaWNhZH3TwN8D61LXbPQdgCPC3vZviqMTKbtUGMSy\"]},\"contracts/persistent/shares-wrappers/gated-redemption-queue/bases/GatedRedemptionQueueSharesWrapperLibBase1.sol\":{\"keccak256\":\"0x388cb81f45eeef5e9d5faef80fd2820cde5d1204c8163171795a6e96475f87dd\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6d2b5da8a69e4da279a7fe48653ab48bfc4f21bb81cefdf080046de896e8183e\",\"dweb:/ipfs/QmbExKRHLVSpo1fSySKBGdozACen2uYNMhVTpao6GfkPTC\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/proxy/BeaconProxy.sol\":{\"keccak256\":\"0xb4bc4f87445593e5c371454feb723d6977609c20958dfcd032668b476477a0ce\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99f36509ff11b0f5de545991a7f7fb06b1104403359f53acf8867f2904c29036\",\"dweb:/ipfs/QmSYfh2uVz7cvmjxmKxNXBMPdrPrLFPzfsTcHYfGjvDxS6\"]},\"node_modules/@openzeppelin/contracts/proxy/IBeacon.sol\":{\"keccak256\":\"0x77c167740c8227e2569064dabdb2d683800f409743bda1bab8d66d5a2dae3674\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://db67aa92e2fa0b00447b469ab9416584024092ff9fd0768d8f2a56b82f90a13a\",\"dweb:/ipfs/QmT39rVeCqKkniTVvPJjgFajmS5QbjE77xgrEVJeAw6VFA\"]},\"node_modules/@openzeppelin/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0x0414d54056b3d8f9102ae1142264e9361408397878148203ab7a25cbf6248f08\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ebdc01639f69030c754dc3462d5f437c4644164465066187e320f524579fbede\",\"dweb:/ipfs/QmZZhoPYagwu4MoJMAg26Y6Nfj4d9HJzUnvrMNsbo9ZorM\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]},\"node_modules/@openzeppelin/contracts/utils/ReentrancyGuard.sol\":{\"keccak256\":\"0x8bbbc2f5c10065ee272592ae0a7a6ceb23de2fbd81564ee0bb015ecf404d5f61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b95e56c1640d0ef789fc5c16269e141e992f6c8ac97cc6d377bd3825e9cab182\",\"dweb:/ipfs/QmVzaxJZY51EhagrcNnkxoU6Uq17RhATe7aHvtkC6wUkgK\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_dispatcher", - "type": "address" - }, - { - "internalType": "address", - "name": "_implementation", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "implementation", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "ImplementationSet", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "caller", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "proxy", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "ProxyDeployed", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "address[]", - "name": "_managers", - "type": "address[]" - }, - { - "internalType": "address", - "name": "_redemptionAsset", - "type": "address" - }, - { - "internalType": "bool", - "name": "_useDepositApprovals", - "type": "bool" - }, - { - "internalType": "bool", - "name": "_useRedemptionApprovals", - "type": "bool" - }, - { - "internalType": "bool", - "name": "_useTransferApprovals", - "type": "bool" - }, - { - "internalType": "struct GatedRedemptionQueueSharesWrapperLibBase1.RedemptionWindowConfig", - "name": "_windowConfig", - "type": "tuple", - "components": [ - { - "internalType": "uint64", - "name": "firstWindowStart", - "type": "uint64" - }, - { - "internalType": "uint32", - "name": "frequency", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "duration", - "type": "uint32" - }, - { - "internalType": "uint64", - "name": "relativeSharesCap", - "type": "uint64" - } - ] - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "deploy", - "outputs": [ - { - "internalType": "address", - "name": "wrapperProxy_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "implementation", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_nextImplementation", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setImplementation" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "deploy(address,address[],address,bool,bool,bool,(uint64,uint32,uint32,uint64))": { - "params": { - "_managers": "Users to give the role of manager for the wrapper", - "_redemptionAsset": "The asset to receive during shares redemptions", - "_useDepositApprovals": "True if deposit pre-approvals are required", - "_useRedemptionApprovals": "True if the redemption request pre-approvals are required", - "_useTransferApprovals": "True if shares transfer pre-approvals are required", - "_vaultProxy": "The VaultProxy that will have its shares wrapped", - "_windowConfig": "Initial redemption window configuration" - }, - "returns": { - "wrapperProxy_": "The deployed wrapper proxy" - } - }, - "setImplementation(address)": { - "params": { - "_nextImplementation": "The next implementation contract" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "deploy(address,address[],address,bool,bool,bool,(uint64,uint32,uint32,uint64))": { - "notice": "Deploys a proxy instance" - }, - "setImplementation(address)": { - "notice": "Gets the contract owner" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/persistent/shares-wrappers/gated-redemption-queue/GatedRedemptionQueueSharesWrapperFactory.sol": "GatedRedemptionQueueSharesWrapperFactory" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/dispatcher/IDispatcher.sol": { - "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", - "urls": [ - "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", - "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/shares-wrappers/gated-redemption-queue/GatedRedemptionQueueSharesWrapperFactory.sol": { - "keccak256": "0xa0a763248f25f2da01f3abbda4157b582ac671f1358a4823d92baaedc4ff5923", - "urls": [ - "bzz-raw://1276c5e877bdbeb606e54026ebf488d20c1e343c8af1d17fc41760cf089edcfe", - "dweb:/ipfs/QmWM2WaWNhZH3TwN8D61LXbPQdgCPC3vZviqMTKbtUGMSy" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/shares-wrappers/gated-redemption-queue/bases/GatedRedemptionQueueSharesWrapperLibBase1.sol": { - "keccak256": "0x388cb81f45eeef5e9d5faef80fd2820cde5d1204c8163171795a6e96475f87dd", - "urls": [ - "bzz-raw://6d2b5da8a69e4da279a7fe48653ab48bfc4f21bb81cefdf080046de896e8183e", - "dweb:/ipfs/QmbExKRHLVSpo1fSySKBGdozACen2uYNMhVTpao6GfkPTC" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/proxy/BeaconProxy.sol": { - "keccak256": "0xb4bc4f87445593e5c371454feb723d6977609c20958dfcd032668b476477a0ce", - "urls": [ - "bzz-raw://99f36509ff11b0f5de545991a7f7fb06b1104403359f53acf8867f2904c29036", - "dweb:/ipfs/QmSYfh2uVz7cvmjxmKxNXBMPdrPrLFPzfsTcHYfGjvDxS6" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/proxy/IBeacon.sol": { - "keccak256": "0x77c167740c8227e2569064dabdb2d683800f409743bda1bab8d66d5a2dae3674", - "urls": [ - "bzz-raw://db67aa92e2fa0b00447b469ab9416584024092ff9fd0768d8f2a56b82f90a13a", - "dweb:/ipfs/QmT39rVeCqKkniTVvPJjgFajmS5QbjE77xgrEVJeAw6VFA" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/proxy/Proxy.sol": { - "keccak256": "0x0414d54056b3d8f9102ae1142264e9361408397878148203ab7a25cbf6248f08", - "urls": [ - "bzz-raw://ebdc01639f69030c754dc3462d5f437c4644164465066187e320f524579fbede", - "dweb:/ipfs/QmZZhoPYagwu4MoJMAg26Y6Nfj4d9HJzUnvrMNsbo9ZorM" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Address.sol": { - "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", - "urls": [ - "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", - "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/ReentrancyGuard.sol": { - "keccak256": "0x8bbbc2f5c10065ee272592ae0a7a6ceb23de2fbd81564ee0bb015ecf404d5f61", - "urls": [ - "bzz-raw://b95e56c1640d0ef789fc5c16269e141e992f6c8ac97cc6d377bd3825e9cab182", - "dweb:/ipfs/QmVzaxJZY51EhagrcNnkxoU6Uq17RhATe7aHvtkC6wUkgK" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 62 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_dispatcher", "type": "address", "internalType": "address" }, { "name": "_implementation", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "deploy", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_managers", "type": "address[]", "internalType": "address[]" }, { "name": "_redemptionAsset", "type": "address", "internalType": "address" }, { "name": "_useDepositApprovals", "type": "bool", "internalType": "bool" }, { "name": "_useRedemptionApprovals", "type": "bool", "internalType": "bool" }, { "name": "_useTransferApprovals", "type": "bool", "internalType": "bool" }, { "name": "_windowConfig", "type": "tuple", "internalType": "struct GatedRedemptionQueueSharesWrapperLibBase1.RedemptionWindowConfig", "components": [ { "name": "firstWindowStart", "type": "uint64", "internalType": "uint64" }, { "name": "frequency", "type": "uint32", "internalType": "uint32" }, { "name": "duration", "type": "uint32", "internalType": "uint32" }, { "name": "relativeSharesCap", "type": "uint64", "internalType": "uint64" } ] } ], "outputs": [ { "name": "wrapperProxy_", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "implementation", "inputs": [], "outputs": [ { "name": "", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "setImplementation", "inputs": [ { "name": "_nextImplementation", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "event", "name": "ImplementationSet", "inputs": [ { "name": "implementation", "type": "address", "indexed": false, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "ProxyDeployed", "inputs": [ { "name": "caller", "type": "address", "indexed": true, "internalType": "address" }, { "name": "proxy", "type": "address", "indexed": false, "internalType": "address" } ], "anonymous": false } ], "bytecode": { "object": "0x60a060405234801561001057600080fd5b5060405161123538038061123583398101604081905261002f91610077565b60609190911b6001600160601b031916608052600080546001600160a01b0319166001600160a01b039092169190911790556100d9565b8051610071816100c2565b92915050565b6000806040838503121561008a57600080fd5b60006100968585610066565b92505060206100a785828601610066565b9150509250929050565b60006001600160a01b038216610071565b6100cb816100b1565b81146100d657600080fd5b50565b60805160601c61113b6100fa6000398060b15280610275525061113b6000f3fe60806040523480156200001157600080fd5b5060043610620000465760003560e01c806349e33a5a146200004b5780635c60da1b146200007a578063d784d4261462000084575b600080fd5b620000626200005c36600462000497565b6200009d565b60405162000071919062000741565b60405180910390f35b6200006262000264565b6200009b620000953660046200044d565b62000273565b005b6040516307af8e9f60e31b815260009081907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690633d7c74f890620000f0908d9060040162000741565b60206040518083038186803b1580156200010957600080fd5b505afa1580156200011e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000144919062000476565b6001600160a01b03161415620001775760405162461bcd60e51b81526004016200016e9062000807565b60405180910390fd5b60606342f6be5b60e01b8a8a8a8a8a8a8a8a604051602401620001a298979695949392919062000751565b604051602081830303815290604052906001600160e01b0319166020820180516001600160e01b03838183161783525050505090503081604051620001e79062000393565b620001f4929190620007d1565b604051809103906000f08015801562000211573d6000803e3d6000fd5b509150336001600160a01b03167f3d2489efb661e8b1c3679865db649ca1de61d76a71184a1234de2e55786a6aad836040516200024f919062000741565b60405180910390a25098975050505050505050565b6000546001600160a01b031681565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b158015620002cd57600080fd5b505afa158015620002e2573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000308919062000476565b6001600160a01b0316336001600160a01b0316146200033b5760405162461bcd60e51b81526004016200016e90620007f5565b600080546001600160a01b0319166001600160a01b0383161790556040517fab64f92ab780ecbf4f3866f57cee465ff36c89450dcce20237ca7a8d81fb7d13906200038890839062000741565b60405180910390a150565b61081d806200091283390190565b8035620003ae81620008d6565b92915050565b8051620003ae81620008d6565b60008083601f840112620003d457600080fd5b50813567ffffffffffffffff811115620003ed57600080fd5b6020830191508360208202830111156200040657600080fd5b9250929050565b8035620003ae81620008f0565b6000608082840312156200042d57600080fd5b50919050565b8035620003ae81620008fb565b8035620003ae8162000906565b6000602082840312156200046057600080fd5b60006200046e8484620003a1565b949350505050565b6000602082840312156200048957600080fd5b60006200046e8484620003b4565b600080600080600080600080610140898b031215620004b557600080fd5b6000620004c38b8b620003a1565b985050602089013567ffffffffffffffff811115620004e157600080fd5b620004ef8b828c01620003c1565b97509750506040620005048b828c01620003a1565b9550506060620005178b828c016200040d565b94505060806200052a8b828c016200040d565b93505060a06200053d8b828c016200040d565b92505060c0620005508b828c016200041a565b9150509295985092959890939650565b60006200056e838362000576565b505060200190565b620005818162000869565b82525050565b600062000595838562000826565b9350620005a28262000819565b8060005b85811015620005e057620005bb82846200082f565b620005c7888262000560565b9750620005d48362000820565b925050600101620005a6565b509495945050505050565b620005818162000876565b600062000603826200081c565b6200060f818562000826565b9350620006218185602086016200089d565b6200062c81620008cc565b9093019392505050565b600062000645601f8362000826565b7f736574496d706c656d656e746174696f6e3a20556e617574686f72697a656400815260200192915050565b600062000680601a8362000826565b7f5f7661756c7450726f78793a20496e76616c6964207661756c74000000000000815260200192915050565b60808201620006bc828062000858565b620006c8848262000736565b50620006d8602083018362000847565b620006e760208501826200072b565b50620006f7604083018362000847565b6200070660408501826200072b565b5062000716606083018362000858565b62000725606085018262000736565b50505050565b620005818162000887565b620005818162000890565b60208101620003ae828462000576565b610140810162000762828b62000576565b81810360208301526200077781898b62000587565b905062000788604083018862000576565b620007976060830187620005eb565b620007a66080830186620005eb565b620007b560a0830185620005eb565b620007c460c0830184620006ac565b9998505050505050505050565b60408101620007e1828562000576565b81810360208301526200046e8184620005f6565b60208082528101620003ae8162000636565b60208082528101620003ae8162000671565b90565b5190565b60200190565b90815260200190565b6000620008406020840184620003a1565b9392505050565b600062000840602084018462000433565b600062000840602084018462000440565b6000620003ae826200087b565b151590565b6001600160a01b031690565b63ffffffff1690565b67ffffffffffffffff1690565b60005b83811015620008ba578181015183820152602001620008a0565b83811115620007255750506000910152565b601f01601f191690565b620008e18162000869565b8114620008ed57600080fd5b50565b620008e18162000876565b620008e18162000887565b620008e1816200089056fe608060405260405161081d38038061081d8339818101604052604081101561002657600080fd5b81516020830180516040519294929383019291908464010000000082111561004d57600080fd5b90830190602082018581111561006257600080fd5b825164010000000081118282018810171561007c57600080fd5b82525081516020918201929091019080838360005b838110156100a9578181015183820152602001610091565b50505050905090810190601f1680156100d65780820380516001836020036101000a031916815260200191505b50604052506100e3915050565b6100ed82826100f4565b505061047f565b6101078261024960201b6100311760201c565b6101425760405162461bcd60e51b815260040180806020018281038252602581526020018061079e6025913960400191505060405180910390fd5b6101ba826001600160a01b0316635c60da1b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561017e57600080fd5b505afa158015610192573d6000803e3d6000fd5b505050506040513d60208110156101a857600080fd5b5051610249602090811b61003117901c565b6101f55760405162461bcd60e51b81526004018080602001828103825260348152602001806107e96034913960400191505060405180910390fd5b60008051602061075d8339815191528281558151156102445761024261021961024f565b8360405180606001604052806021815260200161077d602191396102c260201b6100371760201c565b505b505050565b3b151590565b60006102596103c8565b6001600160a01b0316635c60da1b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561029157600080fd5b505afa1580156102a5573d6000803e3d6000fd5b505050506040513d60208110156102bb57600080fd5b5051905090565b60606102cd84610249565b6103085760405162461bcd60e51b81526004018080602001828103825260268152602001806107c36026913960400191505060405180910390fd5b60006060856001600160a01b0316856040518082805190602001908083835b602083106103465780518252601f199092019160209182019101610327565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d80600081146103a6576040519150601f19603f3d011682016040523d82523d6000602084013e6103ab565b606091505b5090925090506103bc8282866103db565b925050505b9392505050565b60008051602061075d8339815191525490565b606083156103ea5750816103c1565b8251156103fa5782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561044457818101518382015260200161042c565b50505050905090810190601f1680156104715780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b6102cf8061048e6000396000f3fe60806040523661001357610011610017565b005b6100115b61001f61002f565b61002f61002a61013c565b6101af565b565b3b151590565b606061004284610031565b61007d5760405162461bcd60e51b815260040180806020018281038252602681526020018061029d6026913960400191505060405180910390fd5b60006060856001600160a01b0316856040518082805190602001908083835b602083106100bb5780518252601f19909201916020918201910161009c565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d806000811461011b576040519150601f19603f3d011682016040523d82523d6000602084013e610120565b606091505b50915091506101308282866101d3565b925050505b9392505050565b6000610146610277565b6001600160a01b0316635c60da1b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561017e57600080fd5b505afa158015610192573d6000803e3d6000fd5b505050506040513d60208110156101a857600080fd5b5051905090565b3660008037600080366000845af43d6000803e8080156101ce573d6000f35b3d6000fd5b606083156101e2575081610135565b8251156101f25782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561023c578181015183820152602001610224565b50505050905090810190601f1680156102695780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b7fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d50549056fe416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6e7472616374a164736f6c634300060c000aa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d50426561636f6e50726f78793a2066756e6374696f6e2063616c6c206661696c6564426561636f6e50726f78793a20626561636f6e206973206e6f74206120636f6e7472616374416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6e7472616374426561636f6e50726f78793a20626561636f6e20696d706c656d656e746174696f6e206973206e6f74206120636f6e7472616374a164736f6c634300060c000a", "sourceMap": "721:2631:62:-:0;;;1008:170;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1083:46;;;;;-1:-1:-1;;;;;;1083:46:62;;;1139:14;:32;;-1:-1:-1;;;;;;1139:32:62;-1:-1:-1;;;;;1139:32:62;;;;;;;;;721:2631;;5:134:-1;83:13;;101:33;83:13;101:33;:::i;:::-;68:71;;;;:::o;146:399::-;;;278:2;266:9;257:7;253:23;249:32;246:2;;;294:1;291;284:12;246:2;329:1;346:64;402:7;382:9;346:64;:::i;:::-;336:74;;308:108;447:2;465:64;521:7;512:6;501:9;497:22;465:64;:::i;:::-;455:74;;426:109;240:305;;;;;:::o;552:91::-;;-1:-1;;;;;712:54;;614:24;695:76::o;778:117::-;847:24;865:5;847:24;:::i;:::-;840:5;837:35;827:2;;886:1;883;876:12;827:2;821:74;:::o;:::-;721:2631:62;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x60806040523480156200001157600080fd5b5060043610620000465760003560e01c806349e33a5a146200004b5780635c60da1b146200007a578063d784d4261462000084575b600080fd5b620000626200005c36600462000497565b6200009d565b60405162000071919062000741565b60405180910390f35b6200006262000264565b6200009b620000953660046200044d565b62000273565b005b6040516307af8e9f60e31b815260009081907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690633d7c74f890620000f0908d9060040162000741565b60206040518083038186803b1580156200010957600080fd5b505afa1580156200011e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000144919062000476565b6001600160a01b03161415620001775760405162461bcd60e51b81526004016200016e9062000807565b60405180910390fd5b60606342f6be5b60e01b8a8a8a8a8a8a8a8a604051602401620001a298979695949392919062000751565b604051602081830303815290604052906001600160e01b0319166020820180516001600160e01b03838183161783525050505090503081604051620001e79062000393565b620001f4929190620007d1565b604051809103906000f08015801562000211573d6000803e3d6000fd5b509150336001600160a01b03167f3d2489efb661e8b1c3679865db649ca1de61d76a71184a1234de2e55786a6aad836040516200024f919062000741565b60405180910390a25098975050505050505050565b6000546001600160a01b031681565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b158015620002cd57600080fd5b505afa158015620002e2573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000308919062000476565b6001600160a01b0316336001600160a01b0316146200033b5760405162461bcd60e51b81526004016200016e90620007f5565b600080546001600160a01b0319166001600160a01b0383161790556040517fab64f92ab780ecbf4f3866f57cee465ff36c89450dcce20237ca7a8d81fb7d13906200038890839062000741565b60405180910390a150565b61081d806200091283390190565b8035620003ae81620008d6565b92915050565b8051620003ae81620008d6565b60008083601f840112620003d457600080fd5b50813567ffffffffffffffff811115620003ed57600080fd5b6020830191508360208202830111156200040657600080fd5b9250929050565b8035620003ae81620008f0565b6000608082840312156200042d57600080fd5b50919050565b8035620003ae81620008fb565b8035620003ae8162000906565b6000602082840312156200046057600080fd5b60006200046e8484620003a1565b949350505050565b6000602082840312156200048957600080fd5b60006200046e8484620003b4565b600080600080600080600080610140898b031215620004b557600080fd5b6000620004c38b8b620003a1565b985050602089013567ffffffffffffffff811115620004e157600080fd5b620004ef8b828c01620003c1565b97509750506040620005048b828c01620003a1565b9550506060620005178b828c016200040d565b94505060806200052a8b828c016200040d565b93505060a06200053d8b828c016200040d565b92505060c0620005508b828c016200041a565b9150509295985092959890939650565b60006200056e838362000576565b505060200190565b620005818162000869565b82525050565b600062000595838562000826565b9350620005a28262000819565b8060005b85811015620005e057620005bb82846200082f565b620005c7888262000560565b9750620005d48362000820565b925050600101620005a6565b509495945050505050565b620005818162000876565b600062000603826200081c565b6200060f818562000826565b9350620006218185602086016200089d565b6200062c81620008cc565b9093019392505050565b600062000645601f8362000826565b7f736574496d706c656d656e746174696f6e3a20556e617574686f72697a656400815260200192915050565b600062000680601a8362000826565b7f5f7661756c7450726f78793a20496e76616c6964207661756c74000000000000815260200192915050565b60808201620006bc828062000858565b620006c8848262000736565b50620006d8602083018362000847565b620006e760208501826200072b565b50620006f7604083018362000847565b6200070660408501826200072b565b5062000716606083018362000858565b62000725606085018262000736565b50505050565b620005818162000887565b620005818162000890565b60208101620003ae828462000576565b610140810162000762828b62000576565b81810360208301526200077781898b62000587565b905062000788604083018862000576565b620007976060830187620005eb565b620007a66080830186620005eb565b620007b560a0830185620005eb565b620007c460c0830184620006ac565b9998505050505050505050565b60408101620007e1828562000576565b81810360208301526200046e8184620005f6565b60208082528101620003ae8162000636565b60208082528101620003ae8162000671565b90565b5190565b60200190565b90815260200190565b6000620008406020840184620003a1565b9392505050565b600062000840602084018462000433565b600062000840602084018462000440565b6000620003ae826200087b565b151590565b6001600160a01b031690565b63ffffffff1690565b67ffffffffffffffff1690565b60005b83811015620008ba578181015183820152602001620008a0565b83811115620007255750506000910152565b601f01601f191690565b620008e18162000869565b8114620008ed57600080fd5b50565b620008e18162000876565b620008e18162000887565b620008e1816200089056fe608060405260405161081d38038061081d8339818101604052604081101561002657600080fd5b81516020830180516040519294929383019291908464010000000082111561004d57600080fd5b90830190602082018581111561006257600080fd5b825164010000000081118282018810171561007c57600080fd5b82525081516020918201929091019080838360005b838110156100a9578181015183820152602001610091565b50505050905090810190601f1680156100d65780820380516001836020036101000a031916815260200191505b50604052506100e3915050565b6100ed82826100f4565b505061047f565b6101078261024960201b6100311760201c565b6101425760405162461bcd60e51b815260040180806020018281038252602581526020018061079e6025913960400191505060405180910390fd5b6101ba826001600160a01b0316635c60da1b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561017e57600080fd5b505afa158015610192573d6000803e3d6000fd5b505050506040513d60208110156101a857600080fd5b5051610249602090811b61003117901c565b6101f55760405162461bcd60e51b81526004018080602001828103825260348152602001806107e96034913960400191505060405180910390fd5b60008051602061075d8339815191528281558151156102445761024261021961024f565b8360405180606001604052806021815260200161077d602191396102c260201b6100371760201c565b505b505050565b3b151590565b60006102596103c8565b6001600160a01b0316635c60da1b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561029157600080fd5b505afa1580156102a5573d6000803e3d6000fd5b505050506040513d60208110156102bb57600080fd5b5051905090565b60606102cd84610249565b6103085760405162461bcd60e51b81526004018080602001828103825260268152602001806107c36026913960400191505060405180910390fd5b60006060856001600160a01b0316856040518082805190602001908083835b602083106103465780518252601f199092019160209182019101610327565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d80600081146103a6576040519150601f19603f3d011682016040523d82523d6000602084013e6103ab565b606091505b5090925090506103bc8282866103db565b925050505b9392505050565b60008051602061075d8339815191525490565b606083156103ea5750816103c1565b8251156103fa5782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561044457818101518382015260200161042c565b50505050905090810190601f1680156104715780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b6102cf8061048e6000396000f3fe60806040523661001357610011610017565b005b6100115b61001f61002f565b61002f61002a61013c565b6101af565b565b3b151590565b606061004284610031565b61007d5760405162461bcd60e51b815260040180806020018281038252602681526020018061029d6026913960400191505060405180910390fd5b60006060856001600160a01b0316856040518082805190602001908083835b602083106100bb5780518252601f19909201916020918201910161009c565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d806000811461011b576040519150601f19603f3d011682016040523d82523d6000602084013e610120565b606091505b50915091506101308282866101d3565b925050505b9392505050565b6000610146610277565b6001600160a01b0316635c60da1b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561017e57600080fd5b505afa158015610192573d6000803e3d6000fd5b505050506040513d60208110156101a857600080fd5b5051905090565b3660008037600080366000845af43d6000803e8080156101ce573d6000f35b3d6000fd5b606083156101e2575081610135565b8251156101f25782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561023c578181015183820152602001610224565b50505050905090810190601f1680156102695780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b7fa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d50549056fe416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6e7472616374a164736f6c634300060c000aa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d50426561636f6e50726f78793a2066756e6374696f6e2063616c6c206661696c6564426561636f6e50726f78793a20626561636f6e206973206e6f74206120636f6e7472616374416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6e7472616374426561636f6e50726f78793a20626561636f6e20696d706c656d656e746174696f6e206973206e6f74206120636f6e7472616374a164736f6c634300060c000a", "sourceMap": "721:2631:62:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1845:1071;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;963:38;;;:::i;3079:271::-;;;;;;:::i;:::-;;:::i;:::-;;1845:1071;2246:61;;-1:-1:-1;;;2246:61:62;;2192:21;;;;2246:19;-1:-1:-1;;;;;2246:48:62;;;;:61;;2295:11;;2246:61;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;2246:75:62;;;2225:148;;;;-1:-1:-1;;;2225:148:62;;;;;;;:::i;:::-;;;;;;;;;2384:26;2449:55;;;2518:11;2543:9;;2566:16;2596:20;2630:23;2667:21;2702:13;2413:312;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;-1:-1:-1;;;;;2413:312:62;;;;;;;-1:-1:-1;;;;;2413:312:62;;;;;;;;;;;2384:341;;2793:4;2806:13;2760:61;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;2736:86;;2852:10;-1:-1:-1;;;;;2838:40:62;;2864:13;2838:40;;;;;;:::i;:::-;;;;;;;;2889:20;1845:1071;;;;;;;;;;:::o;963:38::-;;;-1:-1:-1;;;;;963:38:62;;:::o;3079:271::-;3176:19;-1:-1:-1;;;;;3176:28:62;;:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;3162:44:62;:10;-1:-1:-1;;;;;3162:44:62;;3154:88;;;;-1:-1:-1;;;3154:88:62;;;;;;;:::i;:::-;3253:14;:36;;-1:-1:-1;;;;;;3253:36:62;-1:-1:-1;;;;;3253:36:62;;;;;3305:38;;;;;;3253:36;;3305:38;:::i;:::-;;;;;;;;3079:271;:::o;-1:-1:-1:-;;;;;;;;:::o;5:130::-;72:20;;97:33;72:20;97:33;:::i;:::-;57:78;;;;:::o;142:134::-;220:13;;238:33;220:13;238:33;:::i;301:352::-;;;431:3;424:4;416:6;412:17;408:27;398:2;;449:1;446;439:12;398:2;-1:-1;469:20;;509:18;498:30;;495:2;;;541:1;538;531:12;495:2;575:4;567:6;563:17;551:29;;626:3;618:4;610:6;606:17;596:8;592:32;589:41;586:2;;;643:1;640;633:12;586:2;391:262;;;;;:::o;661:124::-;725:20;;750:30;725:20;750:30;:::i;872:175::-;;999:3;990:6;985:3;981:16;977:26;974:2;;;1016:1;1013;1006:12;974:2;-1:-1;1035:6;967:80;-1:-1;967:80::o;1054:128::-;1120:20;;1145:32;1120:20;1145:32;:::i;1189:128::-;1255:20;;1280:32;1255:20;1280:32;:::i;1324:241::-;;1428:2;1416:9;1407:7;1403:23;1399:32;1396:2;;;1444:1;1441;1434:12;1396:2;1479:1;1496:53;1541:7;1521:9;1496:53;:::i;:::-;1486:63;1390:175;-1:-1;;;;1390:175::o;1572:263::-;;1687:2;1675:9;1666:7;1662:23;1658:32;1655:2;;;1703:1;1700;1693:12;1655:2;1738:1;1755:64;1811:7;1791:9;1755:64;:::i;1842:1219::-;;;;;;;;;2117:3;2105:9;2096:7;2092:23;2088:33;2085:2;;;2134:1;2131;2124:12;2085:2;2169:1;2186:53;2231:7;2211:9;2186:53;:::i;:::-;2176:63;;2148:97;2304:2;2293:9;2289:18;2276:32;2328:18;2320:6;2317:30;2314:2;;;2360:1;2357;2350:12;2314:2;2388:80;2460:7;2451:6;2440:9;2436:22;2388:80;:::i;:::-;2370:98;;;;2255:219;2505:2;2523:53;2568:7;2559:6;2548:9;2544:22;2523:53;:::i;:::-;2513:63;;2484:98;2613:2;2631:50;2673:7;2664:6;2653:9;2649:22;2631:50;:::i;:::-;2621:60;;2592:95;2718:3;2737:50;2779:7;2770:6;2759:9;2755:22;2737:50;:::i;:::-;2727:60;;2697:96;2824:3;2843:50;2885:7;2876:6;2865:9;2861:22;2843:50;:::i;:::-;2833:60;;2803:96;2930:3;2949:96;3037:7;3028:6;3017:9;3013:22;2949:96;:::i;:::-;2939:106;;2909:142;2079:982;;;;;;;;;;;:::o;3069:173::-;;3156:46;3198:3;3190:6;3156:46;:::i;:::-;-1:-1;;3231:4;3222:14;;3149:93::o;3250:103::-;3323:24;3341:5;3323:24;:::i;:::-;3318:3;3311:37;3305:48;;:::o;3511:665::-;;3665:86;3744:6;3739:3;3665:86;:::i;:::-;3658:93;;3772:58;3824:5;3772:58;:::i;:::-;3850:7;3878:1;3863:291;3888:6;3885:1;3882:13;3863:291;;;3949:42;3984:6;3975:7;3949:42;:::i;:::-;4005:63;4064:3;4049:13;4005:63;:::i;:::-;3998:70;;4085:62;4140:6;4085:62;:::i;:::-;4075:72;-1:-1;;3910:1;3903:9;3863:291;;;-1:-1;4167:3;;3645:531;-1:-1;;;;;3645:531::o;4184:104::-;4261:21;4276:5;4261:21;:::i;4295:343::-;;4405:38;4437:5;4405:38;:::i;:::-;4455:70;4518:6;4513:3;4455:70;:::i;:::-;4448:77;;4530:52;4575:6;4570:3;4563:4;4556:5;4552:16;4530:52;:::i;:::-;4603:29;4625:6;4603:29;:::i;:::-;4594:39;;;;4385:253;-1:-1;;;4385:253::o;4646:331::-;;4806:67;4870:2;4865:3;4806:67;:::i;:::-;4906:33;4886:54;;4968:2;4959:12;;4792:185;-1:-1;;4792:185::o;4986:326::-;;5146:67;5210:2;5205:3;5146:67;:::i;:::-;5246:28;5226:49;;5303:2;5294:12;;5132:180;-1:-1;;5132:180::o;5473:948::-;5650:4;5641:14;;5728:49;5764:5;;5728:49;:::i;:::-;5783:61;5833:3;5815:12;5783:61;:::i;:::-;5670:180;5911:49;5954:4;5947:5;5943:16;5936:5;5911:49;:::i;:::-;5966:61;6021:4;6016:3;6012:14;5998:12;5966:61;:::i;:::-;5860:173;6093:49;6136:4;6129:5;6125:16;6118:5;6093:49;:::i;:::-;6148:61;6203:4;6198:3;6194:14;6180:12;6148:61;:::i;:::-;6043:172;6284:49;6327:4;6320:5;6316:16;6309:5;6284:49;:::i;:::-;6339:61;6394:4;6389:3;6385:14;6371:12;6339:61;:::i;:::-;6225:181;5623:798;;;:::o;6428:100::-;6499:23;6516:5;6499:23;:::i;6535:100::-;6606:23;6623:5;6606:23;:::i;6642:222::-;6769:2;6754:18;;6783:71;6758:9;6827:6;6783:71;:::i;6871:1192::-;7292:3;7277:19;;7307:71;7281:9;7351:6;7307:71;:::i;:::-;7426:9;7420:4;7416:20;7411:2;7400:9;7396:18;7389:48;7451:118;7564:4;7555:6;7547;7451:118;:::i;:::-;7443:126;;7580:72;7648:2;7637:9;7633:18;7624:6;7580:72;:::i;:::-;7663:66;7725:2;7714:9;7710:18;7701:6;7663:66;:::i;:::-;7740:67;7802:3;7791:9;7787:19;7778:6;7740:67;:::i;:::-;7818;7880:3;7869:9;7865:19;7856:6;7818:67;:::i;:::-;7896:157;8048:3;8037:9;8033:19;8024:6;7896:157;:::i;:::-;7263:800;;;;;;;;;;;:::o;8070:417::-;8243:2;8228:18;;8257:71;8232:9;8301:6;8257:71;:::i;:::-;8376:9;8370:4;8366:20;8361:2;8350:9;8346:18;8339:48;8401:76;8472:4;8463:6;8401:76;:::i;8494:416::-;8694:2;8708:47;;;8679:18;;8769:131;8679:18;8769:131;:::i;8917:416::-;9117:2;9131:47;;;9102:18;;9192:131;9102:18;9192:131;:::i;9340:118::-;9428:3;9414:44::o;9465:121::-;9552:12;;9523:63::o;9593:110::-;9693:4;9684:14;;9670:33::o;9711:178::-;9829:19;;;9878:4;9869:14;;9822:67::o;10241:119::-;;10315:39;10350:2;10345:3;10341:12;10336:3;10315:39;:::i;:::-;10306:48;10299:61;-1:-1;;;10299:61::o;10369:117::-;;10442:38;10476:2;10471:3;10467:12;10462:3;10442:38;:::i;10495:117::-;;10568:38;10602:2;10597:3;10593:12;10588:3;10568:38;:::i;10620:91::-;;10682:24;10700:5;10682:24;:::i;10718:85::-;10784:13;10777:21;;10760:43::o;10810:121::-;-1:-1;;;;;10872:54;;10855:76::o;10938:88::-;11010:10;10999:22;;10982:44::o;11033:96::-;11105:18;11094:30;;11077:52::o;11137:268::-;11202:1;11209:101;11223:6;11220:1;11217:13;11209:101;;;11290:11;;;11284:18;11271:11;;;11264:39;11245:2;11238:10;11209:101;;;11325:6;11322:1;11319:13;11316:2;;;-1:-1;;11390:1;11372:16;;11365:27;11186:219::o;11413:97::-;11501:2;11481:14;-1:-1;;11477:28;;11461:49::o;11518:117::-;11587:24;11605:5;11587:24;:::i;:::-;11580:5;11577:35;11567:2;;11626:1;11623;11616:12;11567:2;11561:74;:::o;11642:111::-;11708:21;11723:5;11708:21;:::i;11760:115::-;11828:23;11845:5;11828:23;:::i;11882:115::-;11950:23;11967:5;11950:23;:::i", "linkReferences": {}, "immutableReferences": { "8104": [ { "start": 177, "length": 32 }, { "start": 629, "length": 32 } ] } }, "methodIdentifiers": { "deploy(address,address[],address,bool,bool,bool,(uint64,uint32,uint32,uint64))": "49e33a5a", "implementation()": "5c60da1b", "setImplementation(address)": "d784d426" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_dispatcher\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_implementation\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"ImplementationSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"proxy\",\"type\":\"address\"}],\"name\":\"ProxyDeployed\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"address[]\",\"name\":\"_managers\",\"type\":\"address[]\"},{\"internalType\":\"address\",\"name\":\"_redemptionAsset\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_useDepositApprovals\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"_useRedemptionApprovals\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"_useTransferApprovals\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"uint64\",\"name\":\"firstWindowStart\",\"type\":\"uint64\"},{\"internalType\":\"uint32\",\"name\":\"frequency\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"duration\",\"type\":\"uint32\"},{\"internalType\":\"uint64\",\"name\":\"relativeSharesCap\",\"type\":\"uint64\"}],\"internalType\":\"struct GatedRedemptionQueueSharesWrapperLibBase1.RedemptionWindowConfig\",\"name\":\"_windowConfig\",\"type\":\"tuple\"}],\"name\":\"deploy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"wrapperProxy_\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"implementation\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nextImplementation\",\"type\":\"address\"}],\"name\":\"setImplementation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"deploy(address,address[],address,bool,bool,bool,(uint64,uint32,uint32,uint64))\":{\"params\":{\"_managers\":\"Users to give the role of manager for the wrapper\",\"_redemptionAsset\":\"The asset to receive during shares redemptions\",\"_useDepositApprovals\":\"True if deposit pre-approvals are required\",\"_useRedemptionApprovals\":\"True if the redemption request pre-approvals are required\",\"_useTransferApprovals\":\"True if shares transfer pre-approvals are required\",\"_vaultProxy\":\"The VaultProxy that will have its shares wrapped\",\"_windowConfig\":\"Initial redemption window configuration\"},\"returns\":{\"wrapperProxy_\":\"The deployed wrapper proxy\"}},\"setImplementation(address)\":{\"params\":{\"_nextImplementation\":\"The next implementation contract\"}}},\"stateVariables\":{\"implementation\":{\"details\":\"Must return an address that can be used as a delegate call target. {BeaconProxy} will check that this address is a contract.\"}},\"title\":\"GatedRedemptionQueueSharesWrapperFactory Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"deploy(address,address[],address,bool,bool,bool,(uint64,uint32,uint32,uint64))\":{\"notice\":\"Deploys a proxy instance\"},\"setImplementation(address)\":{\"notice\":\"Gets the contract owner\"}},\"notice\":\"A contract factory for GatedRedemptionQueueSharesWrapper instances\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/shares-wrappers/gated-redemption-queue/GatedRedemptionQueueSharesWrapperFactory.sol\":\"GatedRedemptionQueueSharesWrapperFactory\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/shares-wrappers/gated-redemption-queue/GatedRedemptionQueueSharesWrapperFactory.sol\":{\"keccak256\":\"0xa0a763248f25f2da01f3abbda4157b582ac671f1358a4823d92baaedc4ff5923\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1276c5e877bdbeb606e54026ebf488d20c1e343c8af1d17fc41760cf089edcfe\",\"dweb:/ipfs/QmWM2WaWNhZH3TwN8D61LXbPQdgCPC3vZviqMTKbtUGMSy\"]},\"contracts/persistent/shares-wrappers/gated-redemption-queue/bases/GatedRedemptionQueueSharesWrapperLibBase1.sol\":{\"keccak256\":\"0x388cb81f45eeef5e9d5faef80fd2820cde5d1204c8163171795a6e96475f87dd\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6d2b5da8a69e4da279a7fe48653ab48bfc4f21bb81cefdf080046de896e8183e\",\"dweb:/ipfs/QmbExKRHLVSpo1fSySKBGdozACen2uYNMhVTpao6GfkPTC\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/proxy/BeaconProxy.sol\":{\"keccak256\":\"0xb4bc4f87445593e5c371454feb723d6977609c20958dfcd032668b476477a0ce\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99f36509ff11b0f5de545991a7f7fb06b1104403359f53acf8867f2904c29036\",\"dweb:/ipfs/QmSYfh2uVz7cvmjxmKxNXBMPdrPrLFPzfsTcHYfGjvDxS6\"]},\"node_modules/@openzeppelin/contracts/proxy/IBeacon.sol\":{\"keccak256\":\"0x77c167740c8227e2569064dabdb2d683800f409743bda1bab8d66d5a2dae3674\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://db67aa92e2fa0b00447b469ab9416584024092ff9fd0768d8f2a56b82f90a13a\",\"dweb:/ipfs/QmT39rVeCqKkniTVvPJjgFajmS5QbjE77xgrEVJeAw6VFA\"]},\"node_modules/@openzeppelin/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0x0414d54056b3d8f9102ae1142264e9361408397878148203ab7a25cbf6248f08\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ebdc01639f69030c754dc3462d5f437c4644164465066187e320f524579fbede\",\"dweb:/ipfs/QmZZhoPYagwu4MoJMAg26Y6Nfj4d9HJzUnvrMNsbo9ZorM\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]},\"node_modules/@openzeppelin/contracts/utils/ReentrancyGuard.sol\":{\"keccak256\":\"0x8bbbc2f5c10065ee272592ae0a7a6ceb23de2fbd81564ee0bb015ecf404d5f61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b95e56c1640d0ef789fc5c16269e141e992f6c8ac97cc6d377bd3825e9cab182\",\"dweb:/ipfs/QmVzaxJZY51EhagrcNnkxoU6Uq17RhATe7aHvtkC6wUkgK\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_dispatcher", "type": "address" }, { "internalType": "address", "name": "_implementation", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "implementation", "type": "address", "indexed": false } ], "type": "event", "name": "ImplementationSet", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "caller", "type": "address", "indexed": true }, { "internalType": "address", "name": "proxy", "type": "address", "indexed": false } ], "type": "event", "name": "ProxyDeployed", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "address[]", "name": "_managers", "type": "address[]" }, { "internalType": "address", "name": "_redemptionAsset", "type": "address" }, { "internalType": "bool", "name": "_useDepositApprovals", "type": "bool" }, { "internalType": "bool", "name": "_useRedemptionApprovals", "type": "bool" }, { "internalType": "bool", "name": "_useTransferApprovals", "type": "bool" }, { "internalType": "struct GatedRedemptionQueueSharesWrapperLibBase1.RedemptionWindowConfig", "name": "_windowConfig", "type": "tuple", "components": [ { "internalType": "uint64", "name": "firstWindowStart", "type": "uint64" }, { "internalType": "uint32", "name": "frequency", "type": "uint32" }, { "internalType": "uint32", "name": "duration", "type": "uint32" }, { "internalType": "uint64", "name": "relativeSharesCap", "type": "uint64" } ] } ], "stateMutability": "nonpayable", "type": "function", "name": "deploy", "outputs": [ { "internalType": "address", "name": "wrapperProxy_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "implementation", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_nextImplementation", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "setImplementation" } ], "devdoc": { "kind": "dev", "methods": { "deploy(address,address[],address,bool,bool,bool,(uint64,uint32,uint32,uint64))": { "params": { "_managers": "Users to give the role of manager for the wrapper", "_redemptionAsset": "The asset to receive during shares redemptions", "_useDepositApprovals": "True if deposit pre-approvals are required", "_useRedemptionApprovals": "True if the redemption request pre-approvals are required", "_useTransferApprovals": "True if shares transfer pre-approvals are required", "_vaultProxy": "The VaultProxy that will have its shares wrapped", "_windowConfig": "Initial redemption window configuration" }, "returns": { "wrapperProxy_": "The deployed wrapper proxy" } }, "setImplementation(address)": { "params": { "_nextImplementation": "The next implementation contract" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "deploy(address,address[],address,bool,bool,bool,(uint64,uint32,uint32,uint64))": { "notice": "Deploys a proxy instance" }, "setImplementation(address)": { "notice": "Gets the contract owner" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/persistent/shares-wrappers/gated-redemption-queue/GatedRedemptionQueueSharesWrapperFactory.sol": "GatedRedemptionQueueSharesWrapperFactory" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/dispatcher/IDispatcher.sol": { "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", "urls": [ "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" ], "license": "GPL-3.0" }, "contracts/persistent/shares-wrappers/gated-redemption-queue/GatedRedemptionQueueSharesWrapperFactory.sol": { "keccak256": "0xa0a763248f25f2da01f3abbda4157b582ac671f1358a4823d92baaedc4ff5923", "urls": [ "bzz-raw://1276c5e877bdbeb606e54026ebf488d20c1e343c8af1d17fc41760cf089edcfe", "dweb:/ipfs/QmWM2WaWNhZH3TwN8D61LXbPQdgCPC3vZviqMTKbtUGMSy" ], "license": "GPL-3.0" }, "contracts/persistent/shares-wrappers/gated-redemption-queue/bases/GatedRedemptionQueueSharesWrapperLibBase1.sol": { "keccak256": "0x388cb81f45eeef5e9d5faef80fd2820cde5d1204c8163171795a6e96475f87dd", "urls": [ "bzz-raw://6d2b5da8a69e4da279a7fe48653ab48bfc4f21bb81cefdf080046de896e8183e", "dweb:/ipfs/QmbExKRHLVSpo1fSySKBGdozACen2uYNMhVTpao6GfkPTC" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/proxy/BeaconProxy.sol": { "keccak256": "0xb4bc4f87445593e5c371454feb723d6977609c20958dfcd032668b476477a0ce", "urls": [ "bzz-raw://99f36509ff11b0f5de545991a7f7fb06b1104403359f53acf8867f2904c29036", "dweb:/ipfs/QmSYfh2uVz7cvmjxmKxNXBMPdrPrLFPzfsTcHYfGjvDxS6" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/proxy/IBeacon.sol": { "keccak256": "0x77c167740c8227e2569064dabdb2d683800f409743bda1bab8d66d5a2dae3674", "urls": [ "bzz-raw://db67aa92e2fa0b00447b469ab9416584024092ff9fd0768d8f2a56b82f90a13a", "dweb:/ipfs/QmT39rVeCqKkniTVvPJjgFajmS5QbjE77xgrEVJeAw6VFA" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/proxy/Proxy.sol": { "keccak256": "0x0414d54056b3d8f9102ae1142264e9361408397878148203ab7a25cbf6248f08", "urls": [ "bzz-raw://ebdc01639f69030c754dc3462d5f437c4644164465066187e320f524579fbede", "dweb:/ipfs/QmZZhoPYagwu4MoJMAg26Y6Nfj4d9HJzUnvrMNsbo9ZorM" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Address.sol": { "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", "urls": [ "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/ReentrancyGuard.sol": { "keccak256": "0x8bbbc2f5c10065ee272592ae0a7a6ceb23de2fbd81564ee0bb015ecf404d5f61", "urls": [ "bzz-raw://b95e56c1640d0ef789fc5c16269e141e992f6c8ac97cc6d377bd3825e9cab182", "dweb:/ipfs/QmVzaxJZY51EhagrcNnkxoU6Uq17RhATe7aHvtkC6wUkgK" ], "license": "MIT" } }, "version": 1 }, "id": 62 } diff --git a/eth_defi/abi/enzyme/GatedRedemptionQueueSharesWrapperLib.json b/eth_defi/abi/enzyme/GatedRedemptionQueueSharesWrapperLib.json index d154119e..a115ac76 100644 --- a/eth_defi/abi/enzyme/GatedRedemptionQueueSharesWrapperLib.json +++ b/eth_defi/abi/enzyme/GatedRedemptionQueueSharesWrapperLib.json @@ -1,3021 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_globalConfigProxy", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "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": "user", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "asset", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "DepositApproval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "depositToken", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "depositTokenAmount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "sharesReceived", - "type": "uint256" - } - ], - "name": "Deposited", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "vaultProxy", - "type": "address" - } - ], - "name": "Initialized", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "sharesAmount", - "type": "uint256" - } - ], - "name": "Kicked", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "user", - "type": "address" - } - ], - "name": "ManagerAdded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "user", - "type": "address" - } - ], - "name": "ManagerRemoved", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "sharesAmount", - "type": "uint256" - } - ], - "name": "Redeemed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "RedemptionApproval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "asset", - "type": "address" - } - ], - "name": "RedemptionAssetSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "sharesAmount", - "type": "uint256" - } - ], - "name": "RedemptionRequestAdded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "user", - "type": "address" - } - ], - "name": "RedemptionRequestRemoved", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "firstWindowStart", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "frequency", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "duration", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "relativeSharesCap", - "type": "uint256" - } - ], - "name": "RedemptionWindowConfigSet", - "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" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "TransferApproval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bool", - "name": "useApprovals", - "type": "bool" - } - ], - "name": "UseDepositApprovalsSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bool", - "name": "useApprovals", - "type": "bool" - } - ], - "name": "UseRedemptionApprovalsSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bool", - "name": "useApprovals", - "type": "bool" - } - ], - "name": "UseTransferApprovalsSet", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_managers", - "type": "address[]" - } - ], - "name": "addManagers", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "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": "calcLatestRedemptionWindow", - "outputs": [ - { - "internalType": "uint256", - "name": "windowStart_", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "windowEnd_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "cancelRequestRedeem", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "decimals_", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "subtractedValue", - "type": "uint256" - } - ], - "name": "decreaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "contract ERC20", - "name": "_depositAssetContract", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_depositAssetAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_minSharesAmount", - "type": "uint256" - } - ], - "name": "deposit", - "outputs": [ - { - "internalType": "uint256", - "name": "sharesReceived_", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "depositApprovalsAreUsed", - "outputs": [ - { - "internalType": "bool", - "name": "approvalsUsed_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_user", - "type": "address" - }, - { - "internalType": "address", - "name": "_asset", - "type": "address" - } - ], - "name": "getDepositApproval", - "outputs": [ - { - "internalType": "uint256", - "name": "amount_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_user", - "type": "address" - } - ], - "name": "getRedemptionApproval", - "outputs": [ - { - "internalType": "uint256", - "name": "amount_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getRedemptionAsset", - "outputs": [ - { - "internalType": "address", - "name": "asset_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getRedemptionQueue", - "outputs": [ - { - "internalType": "uint256", - "name": "totalSharesPending_", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "relativeSharesAllowed_", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "relativeSharesCheckpointed_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_index", - "type": "uint256" - } - ], - "name": "getRedemptionQueueUserByIndex", - "outputs": [ - { - "internalType": "address", - "name": "user_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_user", - "type": "address" - } - ], - "name": "getRedemptionQueueUserRequest", - "outputs": [ - { - "components": [ - { - "internalType": "uint64", - "name": "index", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "lastRedeemed", - "type": "uint64" - }, - { - "internalType": "uint128", - "name": "sharesPending", - "type": "uint128" - } - ], - "internalType": "struct GatedRedemptionQueueSharesWrapperLibBase1.RedemptionRequest", - "name": "request_", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getRedemptionQueueUsers", - "outputs": [ - { - "internalType": "address[]", - "name": "users_", - "type": "address[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getRedemptionQueueUsersLength", - "outputs": [ - { - "internalType": "uint256", - "name": "length_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getRedemptionWindowConfig", - "outputs": [ - { - "components": [ - { - "internalType": "uint64", - "name": "firstWindowStart", - "type": "uint64" - }, - { - "internalType": "uint32", - "name": "frequency", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "duration", - "type": "uint32" - }, - { - "internalType": "uint64", - "name": "relativeSharesCap", - "type": "uint64" - } - ], - "internalType": "struct GatedRedemptionQueueSharesWrapperLibBase1.RedemptionWindowConfig", - "name": "redemptionWindowConfig_", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_sender", - "type": "address" - }, - { - "internalType": "address", - "name": "_recipient", - "type": "address" - } - ], - "name": "getTransferApproval", - "outputs": [ - { - "internalType": "uint256", - "name": "amount_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getVaultProxy", - "outputs": [ - { - "internalType": "address", - "name": "vaultProxy_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "addedValue", - "type": "uint256" - } - ], - "name": "increaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "address[]", - "name": "_managers", - "type": "address[]" - }, - { - "internalType": "address", - "name": "_redemptionAsset", - "type": "address" - }, - { - "internalType": "bool", - "name": "_useDepositApprovals", - "type": "bool" - }, - { - "internalType": "bool", - "name": "_useRedemptionApprovals", - "type": "bool" - }, - { - "internalType": "bool", - "name": "_useTransferApprovals", - "type": "bool" - }, - { - "components": [ - { - "internalType": "uint64", - "name": "firstWindowStart", - "type": "uint64" - }, - { - "internalType": "uint32", - "name": "frequency", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "duration", - "type": "uint32" - }, - { - "internalType": "uint64", - "name": "relativeSharesCap", - "type": "uint64" - } - ], - "internalType": "struct GatedRedemptionQueueSharesWrapperLibBase1.RedemptionWindowConfig", - "name": "_windowConfig", - "type": "tuple" - } - ], - "name": "init", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_user", - "type": "address" - } - ], - "name": "isManager", - "outputs": [ - { - "internalType": "bool", - "name": "isManager_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_user", - "type": "address" - } - ], - "name": "kick", - "outputs": [ - { - "internalType": "uint256", - "name": "sharesRedeemed_", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "name_", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_startIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_endIndex", - "type": "uint256" - } - ], - "name": "redeemFromQueue", - "outputs": [ - { - "internalType": "address[]", - "name": "usersRedeemed_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "sharesRedeemed_", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "redemptionApprovalsAreUsed", - "outputs": [ - { - "internalType": "bool", - "name": "approvalsUsed_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_managers", - "type": "address[]" - } - ], - "name": "removeManagers", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_sharesAmount", - "type": "uint256" - } - ], - "name": "requestRedeem", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_users", - "type": "address[]" - }, - { - "internalType": "address[]", - "name": "_assets", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "_amounts", - "type": "uint256[]" - } - ], - "name": "setDepositApprovals", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_users", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "_amounts", - "type": "uint256[]" - } - ], - "name": "setRedemptionApprovals", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_nextRedemptionAsset", - "type": "address" - } - ], - "name": "setRedemptionAsset", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "uint64", - "name": "firstWindowStart", - "type": "uint64" - }, - { - "internalType": "uint32", - "name": "frequency", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "duration", - "type": "uint32" - }, - { - "internalType": "uint64", - "name": "relativeSharesCap", - "type": "uint64" - } - ], - "internalType": "struct GatedRedemptionQueueSharesWrapperLibBase1.RedemptionWindowConfig", - "name": "_nextWindowConfig", - "type": "tuple" - } - ], - "name": "setRedemptionWindowConfig", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_users", - "type": "address[]" - }, - { - "internalType": "address[]", - "name": "_recipients", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "_amounts", - "type": "uint256[]" - } - ], - "name": "setTransferApprovals", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bool", - "name": "_nextUseDepositApprovals", - "type": "bool" - } - ], - "name": "setUseDepositApprovals", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bool", - "name": "_nextUseRedemptionApprovals", - "type": "bool" - } - ], - "name": "setUseRedemptionApprovals", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bool", - "name": "_nextUseTransferApprovals", - "type": "bool" - } - ], - "name": "setUseTransferApprovals", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "symbol_", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "success_", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "transferApprovalsAreUsed", - "outputs": [ - { - "internalType": "bool", - "name": "approvalsUsed_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_sender", - "type": "address" - }, - { - "internalType": "address", - "name": "_recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "success_", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x60c06040523480156200001157600080fd5b506040516200539c3803806200539c833981016040819052620000349162000192565b604080518082018252601981527f5772617070656420456e7a796d6520536861726573204c6962000000000000006020808301918252835180850190945260098452683ba2a72d2316b634b160b91b9084015281519192916200009a91600391620000e3565b508051620000b0906004906020840190620000e3565b50506005805460ff191660121790555060016006556001600160601b0319606091821b1660805230901b60a052620001e7565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200012657805160ff191683800117855562000156565b8280016001018555821562000156579182015b828111156200015657825182559160200191906001019062000139565b506200016492915062000168565b5090565b5b8082111562000164576000815560010162000169565b80516200018c81620001cd565b92915050565b600060208284031215620001a557600080fd5b6000620001b384846200017f565b949350505050565b60006001600160a01b0382166200018c565b620001d881620001bb565b8114620001e457600080fd5b50565b60805160601c60a05160601c6151816200021b600039806105a552806119cb5250806108c5528061338a52506151816000f3fe608060405234801561001057600080fd5b50600436106102695760003560e01c80636829bda711610151578063a8e5eeb1116100c3578063ca4ca8fa11610087578063ca4ca8fa1461051d578063cea6a0ee1461053e578063dd62ed3e14610555578063f3ae241514610568578063f7cb89521461057b578063fd71b12b1461058357610269565b8063a8e5eeb1146104bc578063a9059cbb146104dc578063aa2f892d146104ef578063b9a3abdb14610502578063c98091871461051557610269565b80638d1d24da116101155780638d1d24da1461046b5780638f958f711461047e57806395d89b411461048657806396c551751461048e5780639a8fea95146104a1578063a457c2d7146104a957610269565b80636829bda71461042257806370a082311461042a5780637ba069311461043d5780637cb4f020146104505780638c5f9e741461045857610269565b8063318f98aa116101ea578063447d7e19116101ae578063447d7e19146103b6578063469df117146103cb5780634d947471146103de57806358205209146103f157806361791f27146103f95780636753c1591461040f57610269565b8063318f98aa1461034a57806334c945061461036a57806338f1917d1461037d578063395093511461039057806342f6be5b146103a357610269565b806315fd7a521161023157806315fd7a52146102f457806318160ddd1461030757806323b872dd1461030f5780632f63221d14610322578063313ce5671461033557610269565b806306fdde031461026e578063095ea7b31461028c57806309f8ca5c146102ac5780630efe6a8b146102c157806310f3ee29146102e1575b600080fd5b610276610598565b6040516102839190614c54565b60405180910390f35b61029f61029a366004613b10565b61067b565b6040516102839190614c46565b6102bf6102ba366004613d2f565b610699565b005b6102d46102cf366004613cc9565b610774565b6040516102839190614f21565b6102bf6102ef366004613b40565b610b27565b6102bf610302366004613c8d565b610c78565b6102d4610d39565b61029f61031d3660046139c4565b610d3f565b6102d461033036600461398a565b610d61565b61033d610d8c565b6040516102839190614f96565b61035d610358366004613d6b565b610d91565b6040516102839190614b58565b6102bf610378366004613b81565b610dc0565b6102d461038b36600461394e565b610ff0565b61029f61039e366004613b10565b61100b565b6102bf6103b1366004613a11565b61105e565b6103be611120565b6040516102839190614c10565b6102bf6103d9366004613b81565b611185565b6102bf6103ec366004613c8d565b6113ac565b6102bf61146d565b61040161154d565b604051610283929190614f2f565b6102d461041d36600461398a565b611626565b61035d611651565b6102d461043836600461394e565b611660565b6102bf61044b36600461394e565b61167b565b6102d461173c565b6102bf610466366004613b40565b611742565b6102bf610479366004613c1f565b6117f8565b61029f6119ae565b6102766119be565b6102d461049c36600461394e565b611a85565b61029f611c67565b61029f6104b7366004613b10565b611c77565b6104cf6104ca36600461394e565b611cdf565b6040516102839190614f05565b61029f6104ea366004613b10565b611d44565b6102bf6104fd366004613d6b565b611d5b565b6102bf610510366004613c8d565b611f55565b61035d612016565b61053061052b366004613da7565b612025565b604051610283929190614c21565b610546612580565b60405161028393929190614f3d565b6102d461056336600461398a565b6125ab565b61029f61057636600461394e565b6125d6565b61029f6125f4565b61058b612604565b6040516102839190614f13565b6060306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156105da576105d361265b565b9050610678565b6105e2612016565b6001600160a01b03166306fdde036040518163ffffffff1660e01b815260040160006040518083038186803b15801561061a57600080fd5b505afa15801561062e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526106569190810190613cfb565b6040516020016106669190614b4d565b60405160208183030381529060405290505b90565b600061068f6106886126e8565b84846126ec565b5060015b92915050565b6106a2336125d6565b8061073557506106b0612016565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b1580156106e857600080fd5b505afa1580156106fc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610720919061396c565b6001600160a01b0316336001600160a01b0316145b61075a5760405162461bcd60e51b815260040161075190614c65565b60405180910390fd5b61077161076c36839003830183613d4d565b6127a0565b50565b6000600260065414156107995760405162461bcd60e51b815260040161075190614ec5565b60026006556107a6611c67565b156108085760006107b73386610d61565b90506000198114610806578381146107e15760405162461bcd60e51b815260040161075190614c95565b336000908152600e602090815260408083206001600160a01b03891684529091528120555b505b61081142612988565b1561081e5761081e6129c0565b6108336001600160a01b038516333086612ac0565b600061083d612016565b90506000816001600160a01b03166370a08231306040518263ffffffff1660e01b815260040161086d9190614b58565b60206040518083038186803b15801561088557600080fd5b505afa158015610899573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108bd9190613d89565b9050600060607f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637f180433858a8a6040518463ffffffff1660e01b815260040161091393929190614bcd565b60006040518083038186803b15801561092b57600080fd5b505afa15801561093f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526109679190810190613ac9565b604051636eb1769f60e11b815291935091506001600160a01b0389169063dd62ed3e9061099a9030908690600401614b66565b60206040518083038186803b1580156109b257600080fd5b505afa1580156109c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109ea9190613d89565b610a0457610a046001600160a01b03891683600019612b1e565b610a176001600160a01b03831682612be1565b50610a9e83856001600160a01b03166370a08231306040518263ffffffff1660e01b8152600401610a489190614b58565b60206040518083038186803b158015610a6057600080fd5b505afa158015610a74573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a989190613d89565b90612c23565b945085851015610ac05760405162461bcd60e51b815260040161075190614da5565b610aca3386612c4b565b876001600160a01b0316336001600160a01b03167ff5681f9d0db1b911ac18ee83d515a1cf1051853a9eae418316a2fdf7dea427c58988604051610b0f929190614f2f565b60405180910390a35050505060016006559392505050565b610b2f612016565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b158015610b6757600080fd5b505afa158015610b7b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b9f919061396c565b6001600160a01b0316336001600160a01b031614610bcf5760405162461bcd60e51b815260040161075190614e65565b60005b81811015610c73576000838383818110610be857fe5b9050602002016020810190610bfd919061394e565b9050610c08816125d6565b610c245760405162461bcd60e51b815260040161075190614cb5565b6001600160a01b0381166000818152600d6020526040808220805460ff19169055517fef69f7d97228658c92417be1b16b19058315de71fecb435d07b7d23728b6bd319190a250600101610bd2565b505050565b610c81336125d6565b80610d145750610c8f612016565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b158015610cc757600080fd5b505afa158015610cdb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cff919061396c565b6001600160a01b0316336001600160a01b0316145b610d305760405162461bcd60e51b815260040161075190614c65565b61077181612d0b565b60025490565b6000610d4c848484612d5d565b610d57848484612e23565b90505b9392505050565b6001600160a01b039182166000908152600e6020908152604080832093909416825291909152205490565b601290565b600060096002018281548110610da357fe5b6000918252602090912001546001600160a01b031690505b919050565b610dc9336125d6565b80610e5c5750610dd7612016565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b158015610e0f57600080fd5b505afa158015610e23573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e47919061396c565b6001600160a01b0316336001600160a01b0316145b610e785760405162461bcd60e51b815260040161075190614c65565b8483148015610e8657508481145b610ea25760405162461bcd60e51b815260040161075190614e75565b60005b85811015610fe757828282818110610eb957fe5b90506020020135600e6000898985818110610ed057fe5b9050602002016020810190610ee5919061394e565b6001600160a01b03166001600160a01b031681526020019081526020016000206000878785818110610f1357fe5b9050602002016020810190610f28919061394e565b6001600160a01b03168152602081019190915260400160002055848482818110610f4e57fe5b9050602002016020810190610f63919061394e565b6001600160a01b0316878783818110610f7857fe5b9050602002016020810190610f8d919061394e565b6001600160a01b03167f4dae074c756df580211e8a4d151b1943c628014581d922bca6f1ed34971da8f7858585818110610fc357fe5b90506020020135604051610fd79190614f21565b60405180910390a3600101610ea5565b50505050505050565b6001600160a01b031660009081526010602052604090205490565b600061068f6110186126e8565b8461105985600160006110296126e8565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490612ea5565b6126ec565b6007546001600160a01b0316156110875760405162461bcd60e51b815260040161075190614e05565b600780546001600160a01b0319166001600160a01b038a161790556110ac8787612eca565b6110b585612f72565b6110be84612fbc565b6110c783613003565b6110d082612d0b565b6110e261076c36839003830183613d4d565b6040516001600160a01b038916907f908408e307fc569b417f6cbec5d5a06f44a0a505ac0479b47d421a4b2fd6a1e690600090a25050505050505050565b6060600960020180548060200260200160405190810160405280929190818152602001828054801561117b57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161115d575b5050505050905090565b61118e336125d6565b80611221575061119c612016565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b1580156111d457600080fd5b505afa1580156111e8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061120c919061396c565b6001600160a01b0316336001600160a01b0316145b61123d5760405162461bcd60e51b815260040161075190614c65565b848314801561124b57508481145b6112675760405162461bcd60e51b815260040161075190614ea5565b60005b85811015610fe75782828281811061127e57fe5b90506020020135600f600089898581811061129557fe5b90506020020160208101906112aa919061394e565b6001600160a01b03166001600160a01b0316815260200190815260200160002060008787858181106112d857fe5b90506020020160208101906112ed919061394e565b6001600160a01b0316815260208101919091526040016000205584848281811061131357fe5b9050602002016020810190611328919061394e565b6001600160a01b031687878381811061133d57fe5b9050602002016020810190611352919061394e565b6001600160a01b03167fd87fddc704b730421c81d78c453e00a9fce9becb5d1bac170929a72880a7115e85858581811061138857fe5b9050602002013560405161139c9190614f21565b60405180910390a360010161126a565b6113b5336125d6565b8061144857506113c3612016565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b1580156113fb57600080fd5b505afa15801561140f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611433919061396c565b6001600160a01b0316336001600160a01b0316145b6114645760405162461bcd60e51b815260040161075190614c65565b61077181613003565b600260065414156114905760405162461bcd60e51b815260040161075190614ec5565b600260065561149e42612988565b156114bb5760405162461bcd60e51b815260040161075190614df5565b336000908152600a6020526040902054600990600160801b90046001600160801b0316806114fb5760405162461bcd60e51b815260040161075190614cc5565b815461151990611514906001600160801b031683612c23565b61304a565b82546001600160801b0319166001600160801b03919091161782556002820154611544903390613073565b50506001600655565b600080611558613781565b611560612604565b80519091506001600160401b0316421080611583575080516001600160401b0316155b15611595576000809250925050611622565b60006115cb826020015163ffffffff166115c584600001516001600160401b031642612c2390919063ffffffff16565b906131bb565b90506115fe6115ed836020015163ffffffff16836131ed90919063ffffffff16565b83516001600160401b031690612ea5565b935061161d826040015163ffffffff1685612ea590919063ffffffff16565b925050505b9091565b6001600160a01b039182166000908152600f6020908152604080832093909416825291909152205490565b6008546001600160a01b031690565b6001600160a01b031660009081526020819052604090205490565b611684336125d6565b806117175750611692612016565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b1580156116ca57600080fd5b505afa1580156116de573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611702919061396c565b6001600160a01b0316336001600160a01b0316145b6117335760405162461bcd60e51b815260040161075190614c65565b61077181612f72565b600b5490565b61174a612016565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561178257600080fd5b505afa158015611796573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117ba919061396c565b6001600160a01b0316336001600160a01b0316146117ea5760405162461bcd60e51b815260040161075190614e65565b6117f48282612eca565b5050565b611801336125d6565b80611894575061180f612016565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561184757600080fd5b505afa15801561185b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061187f919061396c565b6001600160a01b0316336001600160a01b0316145b6118b05760405162461bcd60e51b815260040161075190614c65565b8281146118cf5760405162461bcd60e51b815260040161075190614de5565b60005b838110156119a7578282828181106118e657fe5b90506020020135601060008787858181106118fd57fe5b9050602002016020810190611912919061394e565b6001600160a01b0316815260208101919091526040016000205584848281811061193857fe5b905060200201602081019061194d919061394e565b6001600160a01b03167f86a006418c5abeb0342afa5645c469058b419458005b407f04edf930d356504784848481811061198357fe5b905060200201356040516119979190614f21565b60405180910390a26001016118d2565b5050505050565b600754600160a81b900460ff1690565b6060306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156119f9576105d3613227565b611a01612016565b6001600160a01b03166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b158015611a3957600080fd5b505afa158015611a4d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611a759190810190613cfb565b6040516020016106669190614b36565b6000611a90336125d6565b80611b235750611a9e612016565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b158015611ad657600080fd5b505afa158015611aea573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b0e919061396c565b6001600160a01b0316336001600160a01b0316145b611b3f5760405162461bcd60e51b815260040161075190614c65565b60026006541415611b625760405162461bcd60e51b815260040161075190614ec5565b6002600655611b7042612988565b15611b7d57611b7d6129c0565b6001600160a01b0382166000908152600a6020526040902054600990600160801b90046001600160801b03168015611bf3578154611bc890611514906001600160801b031683612c23565b82546001600160801b0319166001600160801b03919091161782556002820154611bf3908590613073565b611bfc84611660565b9250611c088484613288565b611c1a8484611c15611651565b61335e565b836001600160a01b03167f8684348ed72cd103be12fcb99e9c5917294a8092ccd4808d1cd7b19daf98299184604051611c539190614f21565b60405180910390a250506001600655919050565b600754600160a01b900460ff1690565b600061068f611c846126e8565b84611059856040518060600160405280602581526020016151506025913960016000611cae6126e8565b6001600160a01b03908116825260208083019390935260409182016000908120918d16815292529020549190613458565b611ce76137a8565b506001600160a01b03166000908152600a6020908152604091829020825160608101845290546001600160401b038082168352600160401b82041692820192909252600160801b9091046001600160801b03169181019190915290565b6000611d51338484612d5d565b610d5a8383613484565b60026006541415611d7e5760405162461bcd60e51b815260040161075190614ec5565b6002600655611d8c42612988565b15611da95760405162461bcd60e51b815260040161075190614ef5565b611db16119ae565b15611dff576000611dc133610ff0565b90506000198114611dfd5780821115611dec5760405162461bcd60e51b815260040161075190614d15565b336000908152601060205260408120555b505b336000908152600a6020526040812060098054909290611e28906001600160801b031685612ea5565b8254909150600090611e4a90600160801b90046001600160801b031686612ea5565b9050611e5533611660565b811115611e745760405162461bcd60e51b815260040161075190614c85565b611e7d8261304a565b84546001600160801b0319166001600160801b0391909116178455611ea18161304a565b83546001600160801b03918216600160801b02911617835584811415611f085760028401805484546001600160401b0390911667ffffffffffffffff199091161784558054600181018255600091825260209091200180546001600160a01b031916331790555b336001600160a01b03167f8442da065c568ee5c2d856b7d959cdc982160318607425e37fa33ae08e0a1ff986604051611f419190614f21565b60405180910390a250506001600655505050565b611f5e336125d6565b80611ff15750611f6c612016565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b158015611fa457600080fd5b505afa158015611fb8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fdc919061396c565b6001600160a01b0316336001600160a01b0316145b61200d5760405162461bcd60e51b815260040161075190614c65565b61077181612fbc565b6007546001600160a01b031690565b6060806002600654141561204b5760405162461bcd60e51b815260040161075190614ec5565b6002600655612059336125d6565b806120ec5750612067612016565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561209f57600080fd5b505afa1580156120b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120d7919061396c565b6001600160a01b0316336001600160a01b0316145b6121085760405162461bcd60e51b815260040161075190614c65565b60008061211361154d565b91509150612122428383613498565b61213e5760405162461bcd60e51b815260040161075190614cf5565b600b54600990600019871415612155576001810396505b8087106121745760405162461bcd60e51b815260040161075190614cd5565b868811156121945760405162461bcd60e51b815260040161075190614d95565b61219c6129c0565b8154670de0b6b3a76400006001600160401b03600160801b9092048216109060009060018b8b0301908190811180156121d457600080fd5b506040519080825280602002602001820160405280156121fe578160200160208202803683370190505b509850806001600160401b038111801561221757600080fd5b50604051908082528060200260200182016040528015612241578160200160208202803683370190505b509750895b811561243457600086600201828154811061225d57fe5b60009182526020808320909101546001600160a01b031680835260018a0190915260409091208054919250906122a5906001600160401b03600160401b909104168b8b613498565b156122c25760405162461bcd60e51b815260040161075190614e25565b6000861561235e5781548954600160801b918290046001600160801b031691670de0b6b3a764000091612300918491046001600160401b03166131ed565b8161230757fe5b0491506123176115148284612c23565b83546001600160401b034216600160401b026fffffffffffffffff0000000000000000196001600160801b03938416600160801b0293909216929092171617835550612383565b508054600160801b90046001600160801b031661237b8389613073565b600019909701965b61238d8382613288565b848060019003955050828d86815181106123a357fe5b60200260200101906001600160a01b031690816001600160a01b031681525050808c86815181106123d057fe5b60209081029190910101526123e58682612ea5565b9550826001600160a01b03167f4896181ff8f4543cc00db9fe9b6fb7e6f032b7eb772c72ab1ec1b4d2e03b9369826040516124209190614f21565b60405180910390a250505060001901612246565b50845461244e90611514906001600160801b031684612c23565b85546001600160801b0319166001600160801b03919091161785556000612473611651565b905061248030848361335e565b6040516370a0823160e01b81526000906001600160a01b038316906370a08231906124af903090600401614b58565b60206040518083038186803b1580156124c757600080fd5b505afa1580156124db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124ff9190613d89565b905060005b8b518110156125675761255f8c828151811061251c57fe5b602002602001015161254e876115c58f868151811061253757fe5b6020026020010151876131ed90919063ffffffff16565b6001600160a01b03861691906134af565b600101612504565b5050505050505050505060016006819055509250929050565b6009546001600160801b038116916001600160401b03600160801b8304811692600160c01b90041690565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b03166000908152600d602052604090205460ff1690565b600754600160b01b900460ff1690565b61260c613781565b5060408051608081018252600c546001600160401b03808216835263ffffffff600160401b830481166020850152600160601b83041693830193909352600160801b9004909116606082015290565b60038054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561117b5780601f106126bc5761010080835404028352916020019161117b565b820191906000526020600020905b8154815290600101906020018083116126ca57509395945050505050565b3390565b6001600160a01b0383166127125760405162461bcd60e51b815260040161075190614e45565b6001600160a01b0382166127385760405162461bcd60e51b815260040161075190614ca5565b6001600160a01b0380841660008181526001602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590612793908590614f21565b60405180910390a3505050565b80516001600160401b03161580156127c05750604081015163ffffffff16155b80156127d45750602081015163ffffffff16155b80156127eb575060608101516001600160401b0316155b6128ad574281600001516001600160401b03161161281b5760405162461bcd60e51b815260040161075190614e95565b6000816040015163ffffffff16116128455760405162461bcd60e51b815260040161075190614dc5565b806040015163ffffffff16816020015163ffffffff16116128785760405162461bcd60e51b815260040161075190614d35565b670de0b6b3a764000081606001516001600160401b031611156128ad5760405162461bcd60e51b815260040161075190614d25565b8051600c80546020840151604080860151606087015167ffffffffffffffff199094166001600160401b03808816919091176bffffffff00000000000000001916600160401b63ffffffff808716919091029190911763ffffffff60601b1916600160601b918416919091021767ffffffffffffffff60801b1916600160801b9186169190910217909455600980546001600160801b03168155905190947f2b031552c22336dc4af5bd89436b409d517289ddd34cfc8e4e1543dc4235e6519461297c94919392909190614f58565b60405180910390a15050565b600080600061299561154d565b9150915081600014156129ad57600092505050610dbb565b6129b8848383613498565b949350505050565b600980546001600160801b031615806129ef575080546129ef90600160c01b90046001600160401b0316612988565b156129fa5750612abe565b6000670de0b6b3a7640000612a2b612a10612604565b606001516001600160401b0316612a25610d39565b906131ed565b81612a3257fe5b835491900491506000906001600160801b0316821015612a74578254612a6d906001600160801b03166115c5670de0b6b3a7640000856131ed565b9050612a7f565b50670de0b6b3a76400005b825467ffffffffffffffff60801b1916600160801b6001600160401b0392831602176001600160c01b0316600160c01b42929092169190910217909155505b565b612b18846323b872dd60e01b858585604051602401612ae193929190614bcd565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526134ce565b50505050565b801580612ba65750604051636eb1769f60e11b81526001600160a01b0384169063dd62ed3e90612b549030908690600401614b66565b60206040518083038186803b158015612b6c57600080fd5b505afa158015612b80573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ba49190613d89565b155b612bc25760405162461bcd60e51b815260040161075190614ed5565b610c738363095ea7b360e01b8484604051602401612ae1929190614bf5565b6060610d5a83836040518060400160405280601e81526020017f416464726573733a206c6f772d6c6576656c2063616c6c206661696c6564000081525061355d565b600082821115612c455760405162461bcd60e51b815260040161075190614d65565b50900390565b6001600160a01b038216612c715760405162461bcd60e51b815260040161075190614ee5565b612c7d60008383610c73565b600254612c8a9082612ea5565b6002556001600160a01b038216600090815260208190526040902054612cb09082612ea5565b6001600160a01b0383166000818152602081905260408082209390935591519091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90612cff908590614f21565b60405180910390a35050565b6007805460ff60b01b1916600160b01b831515021790556040517f64e7f780e6e1129031b8bdd0e74a6718620d8dac82a40fd17743c71249bc019390612d52908390614c46565b60405180910390a150565b6001600160a01b0383166000908152600a6020526040902054612d9390600160801b90046001600160801b0316610a9885611660565b811115612db25760405162461bcd60e51b815260040161075190614d55565b612dba6125f4565b15610c73576000612dcb8484611626565b90506000198114612b1857818114612df55760405162461bcd60e51b815260040161075190614e85565b6001600160a01b038085166000908152600f6020908152604080832093871683529290529081205550505050565b6000612e3084848461356c565b612e9b84612e3c6126e8565b61105985604051806060016040528060288152602001615128602891396001600160a01b038a16600090815260016020526040812090612e7a6126e8565b6001600160a01b031681526020810191909152604001600020549190613458565b5060019392505050565b600082820183811015610d5a5760405162461bcd60e51b815260040161075190614d05565b60005b81811015610c73576000838383818110612ee357fe5b9050602002016020810190612ef8919061394e565b9050612f03816125d6565b15612f205760405162461bcd60e51b815260040161075190614db5565b6001600160a01b0381166000818152600d6020526040808220805460ff19166001179055517f3b4a40cccf2058c593542587329dd385be4f0b588db5471fbd9598e56dd7093a9190a250600101612ecd565b600880546001600160a01b0319166001600160a01b0383169081179091556040517f410f9465288aecd0c52f8000879de6419ab719bcb75db47009c66d629155208e90600090a250565b6007805460ff60a01b1916600160a01b831515021790556040517f8ee78a6848b5a5226d78b64328db1890ef13d87d478dfa9f0e423ea6698b580b90612d52908390614c46565b6007805460ff60a81b1916600160a81b831515021790556040517fd281e56a7f217bdcf7035d71951c03cd2ad9bb04f3b3388c53fa2f85dcb7245e90612d52908390614c46565b6000600160801b821061306f5760405162461bcd60e51b815260040161075190614d45565b5090565b6001600160a01b0382166000908152600a60205260409020546009906001600160401b031660001983018110156131375760008260020160018503815481106130b857fe5b6000918252602090912001546002840180546001600160a01b0390921692508291849081106130e357fe5b600091825260208083209190910180546001600160a01b0319166001600160a01b039485161790559290911681526001840190915260409020805467ffffffffffffffff19166001600160401b0383161790555b6001600160a01b03841660009081526001830160205260408120556002820180548061315f57fe5b600082815260208120820160001990810180546001600160a01b03191690559091019091556040516001600160a01b038616917f328fa7077ce5de1ca1520bbd7c37ef13c017de42d86cd7053c06fffaa1c5187a91a250505050565b60008082116131dc5760405162461bcd60e51b815260040161075190614d85565b8183816131e557fe5b049392505050565b6000826131fc57506000610693565b8282028284828161320957fe5b0414610d5a5760405162461bcd60e51b815260040161075190614dd5565b60048054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561117b5780601f106126bc5761010080835404028352916020019161117b565b6001600160a01b0382166132ae5760405162461bcd60e51b815260040161075190614e15565b6132ba82600083610c73565b6132f7816040518060600160405280602281526020016150e0602291396001600160a01b0385166000908152602081905260409020549190613458565b6001600160a01b03831660009081526020819052604090205560025461331d9082612c23565b6002556040516000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90612cff908590614f21565b6001600160a01b0381166133845760405162461bcd60e51b815260040161075190614ce5565b600060607f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316632441593c6133bf612016565b87868860016040518663ffffffff1660e01b81526004016133e4959493929190614b81565b60006040518083038186803b1580156133fc57600080fd5b505afa158015613410573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526134389190810190613ac9565b90925090506134506001600160a01b03831682612be1565b505050505050565b6000818484111561347c5760405162461bcd60e51b81526004016107519190614c54565b505050900390565b600061068f6134916126e8565b848461356c565b6000828410158015610d5757505090911115919050565b610c738363a9059cbb60e01b8484604051602401612ae1929190614bf5565b6060613523826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031661355d9092919063ffffffff16565b805190915015610c7357808060200190518101906135419190613cab565b610c735760405162461bcd60e51b815260040161075190614eb5565b6060610d578484600085613681565b6001600160a01b0383166135925760405162461bcd60e51b815260040161075190614e35565b6001600160a01b0382166135b85760405162461bcd60e51b815260040161075190614c75565b6135c3838383610c73565b61360081604051806060016040528060268152602001615102602691396001600160a01b0386166000908152602081905260409020549190613458565b6001600160a01b03808516600090815260208190526040808220939093559084168152205461362f9082612ea5565b6001600160a01b0380841660008181526020819052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90612793908590614f21565b6060824710156136a35760405162461bcd60e51b815260040161075190614d75565b6136ac85613742565b6136c85760405162461bcd60e51b815260040161075190614e55565b60006060866001600160a01b031685876040516136e59190614b2a565b60006040518083038185875af1925050503d8060008114613722576040519150601f19603f3d011682016040523d82523d6000602084013e613727565b606091505b5091509150613737828286613748565b979650505050505050565b3b151590565b60608315613757575081610d5a565b8251156137675782518084602001fd5b8160405162461bcd60e51b81526004016107519190614c54565b60408051608081018252600080825260208201819052918101829052606081019190915290565b604080516060810182526000808252602082018190529181019190915290565b80356106938161509e565b80516106938161509e565b60008083601f8401126137f057600080fd5b5081356001600160401b0381111561380757600080fd5b60208301915083602082028301111561381f57600080fd5b9250929050565b8035610693816150b2565b8051610693816150b2565b600082601f83011261384d57600080fd5b815161386061385b82614fca565b614fa4565b9150808252602083016020830185838301111561387c57600080fd5b613887838284615068565b50505092915050565b8035610693816150bb565b6000608082840312156138ad57600080fd5b50919050565b6000608082840312156138c557600080fd5b6138cf6080614fa4565b905060006138dd8484613943565b82525060206138ee84848301613938565b602083015250604061390284828501613938565b604083015250606061391684828501613943565b60608301525092915050565b8035610693816150c4565b8051610693816150c4565b8035610693816150cd565b8035610693816150d6565b60006020828403121561396057600080fd5b60006129b884846137c8565b60006020828403121561397e57600080fd5b60006129b884846137d3565b6000806040838503121561399d57600080fd5b60006139a985856137c8565b92505060206139ba858286016137c8565b9150509250929050565b6000806000606084860312156139d957600080fd5b60006139e586866137c8565b93505060206139f6868287016137c8565b9250506040613a0786828701613922565b9150509250925092565b600080600080600080600080610140898b031215613a2e57600080fd5b6000613a3a8b8b6137c8565b98505060208901356001600160401b03811115613a5657600080fd5b613a628b828c016137de565b97509750506040613a758b828c016137c8565b9550506060613a868b828c01613826565b9450506080613a978b828c01613826565b93505060a0613aa88b828c01613826565b92505060c0613ab98b828c0161389b565b9150509295985092959890939650565b60008060408385031215613adc57600080fd5b6000613ae885856137d3565b92505060208301516001600160401b03811115613b0457600080fd5b6139ba8582860161383c565b60008060408385031215613b2357600080fd5b6000613b2f85856137c8565b92505060206139ba85828601613922565b60008060208385031215613b5357600080fd5b82356001600160401b03811115613b6957600080fd5b613b75858286016137de565b92509250509250929050565b60008060008060008060608789031215613b9a57600080fd5b86356001600160401b03811115613bb057600080fd5b613bbc89828a016137de565b965096505060208701356001600160401b03811115613bda57600080fd5b613be689828a016137de565b945094505060408701356001600160401b03811115613c0457600080fd5b613c1089828a016137de565b92509250509295509295509295565b60008060008060408587031215613c3557600080fd5b84356001600160401b03811115613c4b57600080fd5b613c57878288016137de565b945094505060208501356001600160401b03811115613c7557600080fd5b613c81878288016137de565b95989497509550505050565b600060208284031215613c9f57600080fd5b60006129b88484613826565b600060208284031215613cbd57600080fd5b60006129b88484613831565b600080600060608486031215613cde57600080fd5b6000613cea8686613890565b93505060206139f686828701613922565b600060208284031215613d0d57600080fd5b81516001600160401b03811115613d2357600080fd5b6129b88482850161383c565b600060808284031215613d4157600080fd5b60006129b8848461389b565b600060808284031215613d5f57600080fd5b60006129b884846138b3565b600060208284031215613d7d57600080fd5b60006129b88484613922565b600060208284031215613d9b57600080fd5b60006129b8848461392d565b60008060408385031215613dba57600080fd5b6000613b2f8585613922565b6000613dd28383613de6565b505060200190565b6000613dd28383614af4565b613def81615004565b82525050565b6000613e0082614ff7565b613e0a8185614ffb565b9350613e1583614ff1565b8060005b83811015613e43578151613e2d8882613dc6565b9750613e3883614ff1565b925050600101613e19565b509495945050505050565b6000613e5982614ff7565b613e638185614ffb565b9350613e6e83614ff1565b8060005b83811015613e43578151613e868882613dda565b9750613e9183614ff1565b925050600101613e72565b613def8161500f565b6000613eb082614ff7565b613eba8185610dbb565b9350613eca818560208601615068565b9290920192915050565b6000613edf82614ff7565b613ee98185614ffb565b9350613ef9818560208601615068565b613f0281615094565b9093019392505050565b6000613f19600183610dbb565b607760f81b815260010192915050565b6000613f36602083614ffb565b7f6f6e6c794d616e616765724f724f776e65723a20556e617574686f72697a6564815260200192915050565b6000613f6f602383614ffb565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647281526265737360e81b602082015260400192915050565b6000613fb4601e83614ffb565b7f7265717565737452656465656d3a20457863656564732062616c616e63650000815260200192915050565b6000613fed601a83614ffb565b7f6465706f7369743a20417070726f76616c206d69736d61746368000000000000815260200192915050565b6000614026602283614ffb565b7f45524332303a20617070726f766520746f20746865207a65726f206164647265815261737360f01b602082015260400192915050565b600061406a601d83614ffb565b7f72656d6f76654d616e61676572733a204e6f742061206d616e61676572000000815260200192915050565b60006140a3601f83614ffb565b7f63616e63656c5265717565737452656465656d3a204e6f207265717565737400815260200192915050565b60006140dc602783614ffb565b7f72656465656d46726f6d51756575653a204f75742d6f662d72616e6765205f658152660dcc892dcc8caf60cb1b602082015260400192915050565b6000614125602183614ffb565b7f5f5f72656465656d43616c6c3a204e6f20726564656d7074696f6e20617373658152601d60fa1b602082015260400192915050565b6000614168602a83614ffb565b7f72656465656d46726f6d51756575653a204f75747369646520726564656d7074815269696f6e2077696e646f7760b01b602082015260400192915050565b60006141b4601b83614ffb565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b60006141ed601f83614ffb565b7f7265717565737452656465656d3a204578636565647320617070726f76616c00815260200192915050565b6000614226603b83614ffb565b7f5f5f736574526564656d7074696f6e57696e646f77436f6e6669673a2072656c81527f6174697665536861726573436170206578636565647320313030250000000000602082015260400192915050565b6000614285603783614ffb565b7f5f5f736574526564656d7074696f6e57696e646f77436f6e6669673a2064757281527f6174696f6e2065786365656473206672657175656e6379000000000000000000602082015260400192915050565b60006142e4602783614ffb565b7f53616665436173743a2076616c756520646f65736e27742066697420696e20318152663238206269747360c81b602082015260400192915050565b600061432d602983614ffb565b7f5f5f70726550726f636573735472616e736665723a20496e20726564656d7074815268696f6e20717565756560b81b602082015260400192915050565b6000614378601e83614ffb565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b60006143b1602683614ffb565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f8152651c8818d85b1b60d21b602082015260400192915050565b60006143f9601a83614ffb565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b6000614432602383614ffb565b7f72656465656d46726f6d51756575653a204d69736f72646572656420696e646581526278657360e81b602082015260400192915050565b6000614477601c83614ffb565b7f6465706f7369743a20496e73756666696369656e742073686172657300000000815260200192915050565b60006144b0601e83614ffb565b7f5f5f6164644d616e61676572733a20416c7265616479206d616e616765720000815260200192915050565b60006144e9602883614ffb565b7f5f5f736574526564656d7074696f6e57696e646f77436f6e6669673a204e6f20815267323ab930ba34b7b760c11b602082015260400192915050565b6000614533602183614ffb565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000614576602683614ffb565b7f736574526564656d7074696f6e417070726f76616c733a20556e657175616c2081526561727261797360d01b602082015260400192915050565b60006145be602d83614ffb565b7f63616e63656c5265717565737452656465656d3a20496e73696465207265646581526c6d7074696f6e2077696e646f7760981b602082015260400192915050565b600061460d601183614ffb565b701a5b9a5d0e88125b9a5d1a585b1a5e9959607a1b815260200192915050565b600061463a602183614ffb565b7f45524332303a206275726e2066726f6d20746865207a65726f206164647265738152607360f81b602082015260400192915050565b600061467d602b83614ffb565b7f72656465656d46726f6d51756575653a20416c72656164792072656465656d6581526a6420696e2077696e646f7760a81b602082015260400192915050565b60006146ca602583614ffb565b7f45524332303a207472616e736665722066726f6d20746865207a65726f206164815264647265737360d81b602082015260400192915050565b6000614711602483614ffb565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164648152637265737360e01b602082015260400192915050565b6000614757601d83614ffb565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000815260200192915050565b6000614790601783614ffb565b7f6f6e6c794f776e65723a20556e617574686f72697a6564000000000000000000815260200192915050565b60006147c9602383614ffb565b7f7365744465706f736974417070726f76616c733a20556e657175616c2061727281526261797360e81b602082015260400192915050565b600061480e602783614ffb565b7f5f5f70726550726f636573735472616e736665723a20417070726f76616c206d8152660d2e6dac2e8c6d60cb1b602082015260400192915050565b6000614857603583614ffb565b7f5f5f736574526564656d7074696f6e57696e646f77436f6e6669673a20496e76815274185b1a5908199a5c9cdd15da5b991bddd4dd185c9d605a1b602082015260400192915050565b60006148ae602483614ffb565b7f7365745472616e73666572417070726f76616c733a20556e657175616c2061728152637261797360e01b602082015260400192915050565b60006148f4602a83614ffb565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e8152691bdd081cdd58d8d9595960b21b602082015260400192915050565b6000614940601f83614ffb565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00815260200192915050565b6000614979603683614ffb565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f81527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b602082015260400192915050565b60006149d1601f83614ffb565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300815260200192915050565b6000614a0a602783614ffb565b7f7265717565737452656465656d3a20496e7369646520726564656d7074696f6e8152662077696e646f7760c81b602082015260400192915050565b6000614a53600883610dbb565b6702bb930b83832b2160c51b815260080192915050565b80516060830190614a7b8482614b18565b506020820151614a8e6020850182614b18565b506040820151612b186040850182614aeb565b80516080830190614ab28482614b18565b506020820151614ac56020850182614b06565b506040820151614ad86040850182614b06565b506060820151612b186060850182614b18565b613def8161501f565b613def81610678565b613def81615052565b613def81615037565b613def8161505d565b613def81615040565b613def8161504c565b6000610d5a8284613ea5565b6000614b4182613f0c565b9150610d5a8284613ea5565b6000614b4182614a46565b602081016106938284613de6565b60408101614b748285613de6565b610d5a6020830184613de6565b60a08101614b8f8288613de6565b614b9c6020830187613de6565b614ba96040830186613de6565b614bb66060830185614af4565b614bc36080830184613e9c565b9695505050505050565b60608101614bdb8286613de6565b614be86020830185613de6565b6129b86040830184614af4565b60408101614c038285613de6565b610d5a6020830184614af4565b60208082528101610d5a8184613df5565b60408082528101614c328185613df5565b90508181036020830152610d578184613e4e565b602081016106938284613e9c565b60208082528101610d5a8184613ed4565b6020808252810161069381613f29565b6020808252810161069381613f62565b6020808252810161069381613fa7565b6020808252810161069381613fe0565b6020808252810161069381614019565b602080825281016106938161405d565b6020808252810161069381614096565b60208082528101610693816140cf565b6020808252810161069381614118565b602080825281016106938161415b565b60208082528101610693816141a7565b60208082528101610693816141e0565b6020808252810161069381614219565b6020808252810161069381614278565b60208082528101610693816142d7565b6020808252810161069381614320565b602080825281016106938161436b565b60208082528101610693816143a4565b60208082528101610693816143ec565b6020808252810161069381614425565b602080825281016106938161446a565b60208082528101610693816144a3565b60208082528101610693816144dc565b6020808252810161069381614526565b6020808252810161069381614569565b60208082528101610693816145b1565b6020808252810161069381614600565b602080825281016106938161462d565b6020808252810161069381614670565b60208082528101610693816146bd565b6020808252810161069381614704565b602080825281016106938161474a565b6020808252810161069381614783565b60208082528101610693816147bc565b6020808252810161069381614801565b602080825281016106938161484a565b60208082528101610693816148a1565b60208082528101610693816148e7565b6020808252810161069381614933565b602080825281016106938161496c565b60208082528101610693816149c4565b60208082528101610693816149fd565b606081016106938284614a6a565b608081016106938284614aa1565b602081016106938284614af4565b60408101614c038285614af4565b60608101614f4b8286614af4565b614be86020830185614af4565b60808101614f668287614b0f565b614f736020830186614afd565b614f806040830185614afd565b614f8d6060830184614b0f565b95945050505050565b602081016106938284614b21565b6040518181016001600160401b0381118282101715614fc257600080fd5b604052919050565b60006001600160401b03821115614fe057600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b60006106938261502b565b151590565b600061069382615004565b6001600160801b031690565b6001600160a01b031690565b63ffffffff1690565b6001600160401b031690565b60ff1690565b600061069382615037565b600061069382615040565b60005b8381101561508357818101518382015260200161506b565b83811115612b185750506000910152565b601f01601f191690565b6150a781615004565b811461077157600080fd5b6150a78161500f565b6150a781615014565b6150a781610678565b6150a781615037565b6150a78161504056fe45524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa164736f6c634300060c000a", - "sourceMap": "981:34447:63:-:0;;;1696:225;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1958:145:447;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1958:145:447;;;;2032:13;;1958:145;;;2032:13;;:5;;:13;:::i;:::-;-1:-1:-1;2055:17:447;;;;:7;;:17;;;;;:::i;:::-;-1:-1:-1;;2082:9:447;:14;;-1:-1:-1;;2082:14:447;2094:2;2082:14;;;-1:-1:-1;2082:14:447;1760:7:453;:22;-1:-1:-1;;;;;;1821:59:63::1;::::0;;;;::::1;::::0;1909:4:::1;1890:24:::0;::::1;;::::0;981:34447;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;981:34447:63;;;-1:-1:-1;981:34447:63;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;5:134:-1;83:13;;101:33;83:13;101:33;:::i;:::-;68:71;;;;:::o;146:263::-;;261:2;249:9;240:7;236:23;232:32;229:2;;;277:1;274;267:12;229:2;312:1;329:64;385:7;365:9;329:64;:::i;:::-;319:74;223:186;-1:-1;;;;223:186::o;416:91::-;;-1:-1;;;;;576:54;;478:24;559:76::o;642:117::-;711:24;729:5;711:24;:::i;:::-;704:5;701:35;691:2;;750:1;747;740:12;691:2;685:74;:::o;:::-;981:34447:63;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106102695760003560e01c80636829bda711610151578063a8e5eeb1116100c3578063ca4ca8fa11610087578063ca4ca8fa1461051d578063cea6a0ee1461053e578063dd62ed3e14610555578063f3ae241514610568578063f7cb89521461057b578063fd71b12b1461058357610269565b8063a8e5eeb1146104bc578063a9059cbb146104dc578063aa2f892d146104ef578063b9a3abdb14610502578063c98091871461051557610269565b80638d1d24da116101155780638d1d24da1461046b5780638f958f711461047e57806395d89b411461048657806396c551751461048e5780639a8fea95146104a1578063a457c2d7146104a957610269565b80636829bda71461042257806370a082311461042a5780637ba069311461043d5780637cb4f020146104505780638c5f9e741461045857610269565b8063318f98aa116101ea578063447d7e19116101ae578063447d7e19146103b6578063469df117146103cb5780634d947471146103de57806358205209146103f157806361791f27146103f95780636753c1591461040f57610269565b8063318f98aa1461034a57806334c945061461036a57806338f1917d1461037d578063395093511461039057806342f6be5b146103a357610269565b806315fd7a521161023157806315fd7a52146102f457806318160ddd1461030757806323b872dd1461030f5780632f63221d14610322578063313ce5671461033557610269565b806306fdde031461026e578063095ea7b31461028c57806309f8ca5c146102ac5780630efe6a8b146102c157806310f3ee29146102e1575b600080fd5b610276610598565b6040516102839190614c54565b60405180910390f35b61029f61029a366004613b10565b61067b565b6040516102839190614c46565b6102bf6102ba366004613d2f565b610699565b005b6102d46102cf366004613cc9565b610774565b6040516102839190614f21565b6102bf6102ef366004613b40565b610b27565b6102bf610302366004613c8d565b610c78565b6102d4610d39565b61029f61031d3660046139c4565b610d3f565b6102d461033036600461398a565b610d61565b61033d610d8c565b6040516102839190614f96565b61035d610358366004613d6b565b610d91565b6040516102839190614b58565b6102bf610378366004613b81565b610dc0565b6102d461038b36600461394e565b610ff0565b61029f61039e366004613b10565b61100b565b6102bf6103b1366004613a11565b61105e565b6103be611120565b6040516102839190614c10565b6102bf6103d9366004613b81565b611185565b6102bf6103ec366004613c8d565b6113ac565b6102bf61146d565b61040161154d565b604051610283929190614f2f565b6102d461041d36600461398a565b611626565b61035d611651565b6102d461043836600461394e565b611660565b6102bf61044b36600461394e565b61167b565b6102d461173c565b6102bf610466366004613b40565b611742565b6102bf610479366004613c1f565b6117f8565b61029f6119ae565b6102766119be565b6102d461049c36600461394e565b611a85565b61029f611c67565b61029f6104b7366004613b10565b611c77565b6104cf6104ca36600461394e565b611cdf565b6040516102839190614f05565b61029f6104ea366004613b10565b611d44565b6102bf6104fd366004613d6b565b611d5b565b6102bf610510366004613c8d565b611f55565b61035d612016565b61053061052b366004613da7565b612025565b604051610283929190614c21565b610546612580565b60405161028393929190614f3d565b6102d461056336600461398a565b6125ab565b61029f61057636600461394e565b6125d6565b61029f6125f4565b61058b612604565b6040516102839190614f13565b6060306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156105da576105d361265b565b9050610678565b6105e2612016565b6001600160a01b03166306fdde036040518163ffffffff1660e01b815260040160006040518083038186803b15801561061a57600080fd5b505afa15801561062e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526106569190810190613cfb565b6040516020016106669190614b4d565b60405160208183030381529060405290505b90565b600061068f6106886126e8565b84846126ec565b5060015b92915050565b6106a2336125d6565b8061073557506106b0612016565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b1580156106e857600080fd5b505afa1580156106fc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610720919061396c565b6001600160a01b0316336001600160a01b0316145b61075a5760405162461bcd60e51b815260040161075190614c65565b60405180910390fd5b61077161076c36839003830183613d4d565b6127a0565b50565b6000600260065414156107995760405162461bcd60e51b815260040161075190614ec5565b60026006556107a6611c67565b156108085760006107b73386610d61565b90506000198114610806578381146107e15760405162461bcd60e51b815260040161075190614c95565b336000908152600e602090815260408083206001600160a01b03891684529091528120555b505b61081142612988565b1561081e5761081e6129c0565b6108336001600160a01b038516333086612ac0565b600061083d612016565b90506000816001600160a01b03166370a08231306040518263ffffffff1660e01b815260040161086d9190614b58565b60206040518083038186803b15801561088557600080fd5b505afa158015610899573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108bd9190613d89565b9050600060607f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637f180433858a8a6040518463ffffffff1660e01b815260040161091393929190614bcd565b60006040518083038186803b15801561092b57600080fd5b505afa15801561093f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526109679190810190613ac9565b604051636eb1769f60e11b815291935091506001600160a01b0389169063dd62ed3e9061099a9030908690600401614b66565b60206040518083038186803b1580156109b257600080fd5b505afa1580156109c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109ea9190613d89565b610a0457610a046001600160a01b03891683600019612b1e565b610a176001600160a01b03831682612be1565b50610a9e83856001600160a01b03166370a08231306040518263ffffffff1660e01b8152600401610a489190614b58565b60206040518083038186803b158015610a6057600080fd5b505afa158015610a74573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a989190613d89565b90612c23565b945085851015610ac05760405162461bcd60e51b815260040161075190614da5565b610aca3386612c4b565b876001600160a01b0316336001600160a01b03167ff5681f9d0db1b911ac18ee83d515a1cf1051853a9eae418316a2fdf7dea427c58988604051610b0f929190614f2f565b60405180910390a35050505060016006559392505050565b610b2f612016565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b158015610b6757600080fd5b505afa158015610b7b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b9f919061396c565b6001600160a01b0316336001600160a01b031614610bcf5760405162461bcd60e51b815260040161075190614e65565b60005b81811015610c73576000838383818110610be857fe5b9050602002016020810190610bfd919061394e565b9050610c08816125d6565b610c245760405162461bcd60e51b815260040161075190614cb5565b6001600160a01b0381166000818152600d6020526040808220805460ff19169055517fef69f7d97228658c92417be1b16b19058315de71fecb435d07b7d23728b6bd319190a250600101610bd2565b505050565b610c81336125d6565b80610d145750610c8f612016565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b158015610cc757600080fd5b505afa158015610cdb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cff919061396c565b6001600160a01b0316336001600160a01b0316145b610d305760405162461bcd60e51b815260040161075190614c65565b61077181612d0b565b60025490565b6000610d4c848484612d5d565b610d57848484612e23565b90505b9392505050565b6001600160a01b039182166000908152600e6020908152604080832093909416825291909152205490565b601290565b600060096002018281548110610da357fe5b6000918252602090912001546001600160a01b031690505b919050565b610dc9336125d6565b80610e5c5750610dd7612016565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b158015610e0f57600080fd5b505afa158015610e23573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e47919061396c565b6001600160a01b0316336001600160a01b0316145b610e785760405162461bcd60e51b815260040161075190614c65565b8483148015610e8657508481145b610ea25760405162461bcd60e51b815260040161075190614e75565b60005b85811015610fe757828282818110610eb957fe5b90506020020135600e6000898985818110610ed057fe5b9050602002016020810190610ee5919061394e565b6001600160a01b03166001600160a01b031681526020019081526020016000206000878785818110610f1357fe5b9050602002016020810190610f28919061394e565b6001600160a01b03168152602081019190915260400160002055848482818110610f4e57fe5b9050602002016020810190610f63919061394e565b6001600160a01b0316878783818110610f7857fe5b9050602002016020810190610f8d919061394e565b6001600160a01b03167f4dae074c756df580211e8a4d151b1943c628014581d922bca6f1ed34971da8f7858585818110610fc357fe5b90506020020135604051610fd79190614f21565b60405180910390a3600101610ea5565b50505050505050565b6001600160a01b031660009081526010602052604090205490565b600061068f6110186126e8565b8461105985600160006110296126e8565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490612ea5565b6126ec565b6007546001600160a01b0316156110875760405162461bcd60e51b815260040161075190614e05565b600780546001600160a01b0319166001600160a01b038a161790556110ac8787612eca565b6110b585612f72565b6110be84612fbc565b6110c783613003565b6110d082612d0b565b6110e261076c36839003830183613d4d565b6040516001600160a01b038916907f908408e307fc569b417f6cbec5d5a06f44a0a505ac0479b47d421a4b2fd6a1e690600090a25050505050505050565b6060600960020180548060200260200160405190810160405280929190818152602001828054801561117b57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161115d575b5050505050905090565b61118e336125d6565b80611221575061119c612016565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b1580156111d457600080fd5b505afa1580156111e8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061120c919061396c565b6001600160a01b0316336001600160a01b0316145b61123d5760405162461bcd60e51b815260040161075190614c65565b848314801561124b57508481145b6112675760405162461bcd60e51b815260040161075190614ea5565b60005b85811015610fe75782828281811061127e57fe5b90506020020135600f600089898581811061129557fe5b90506020020160208101906112aa919061394e565b6001600160a01b03166001600160a01b0316815260200190815260200160002060008787858181106112d857fe5b90506020020160208101906112ed919061394e565b6001600160a01b0316815260208101919091526040016000205584848281811061131357fe5b9050602002016020810190611328919061394e565b6001600160a01b031687878381811061133d57fe5b9050602002016020810190611352919061394e565b6001600160a01b03167fd87fddc704b730421c81d78c453e00a9fce9becb5d1bac170929a72880a7115e85858581811061138857fe5b9050602002013560405161139c9190614f21565b60405180910390a360010161126a565b6113b5336125d6565b8061144857506113c3612016565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b1580156113fb57600080fd5b505afa15801561140f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611433919061396c565b6001600160a01b0316336001600160a01b0316145b6114645760405162461bcd60e51b815260040161075190614c65565b61077181613003565b600260065414156114905760405162461bcd60e51b815260040161075190614ec5565b600260065561149e42612988565b156114bb5760405162461bcd60e51b815260040161075190614df5565b336000908152600a6020526040902054600990600160801b90046001600160801b0316806114fb5760405162461bcd60e51b815260040161075190614cc5565b815461151990611514906001600160801b031683612c23565b61304a565b82546001600160801b0319166001600160801b03919091161782556002820154611544903390613073565b50506001600655565b600080611558613781565b611560612604565b80519091506001600160401b0316421080611583575080516001600160401b0316155b15611595576000809250925050611622565b60006115cb826020015163ffffffff166115c584600001516001600160401b031642612c2390919063ffffffff16565b906131bb565b90506115fe6115ed836020015163ffffffff16836131ed90919063ffffffff16565b83516001600160401b031690612ea5565b935061161d826040015163ffffffff1685612ea590919063ffffffff16565b925050505b9091565b6001600160a01b039182166000908152600f6020908152604080832093909416825291909152205490565b6008546001600160a01b031690565b6001600160a01b031660009081526020819052604090205490565b611684336125d6565b806117175750611692612016565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b1580156116ca57600080fd5b505afa1580156116de573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611702919061396c565b6001600160a01b0316336001600160a01b0316145b6117335760405162461bcd60e51b815260040161075190614c65565b61077181612f72565b600b5490565b61174a612016565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561178257600080fd5b505afa158015611796573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117ba919061396c565b6001600160a01b0316336001600160a01b0316146117ea5760405162461bcd60e51b815260040161075190614e65565b6117f48282612eca565b5050565b611801336125d6565b80611894575061180f612016565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561184757600080fd5b505afa15801561185b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061187f919061396c565b6001600160a01b0316336001600160a01b0316145b6118b05760405162461bcd60e51b815260040161075190614c65565b8281146118cf5760405162461bcd60e51b815260040161075190614de5565b60005b838110156119a7578282828181106118e657fe5b90506020020135601060008787858181106118fd57fe5b9050602002016020810190611912919061394e565b6001600160a01b0316815260208101919091526040016000205584848281811061193857fe5b905060200201602081019061194d919061394e565b6001600160a01b03167f86a006418c5abeb0342afa5645c469058b419458005b407f04edf930d356504784848481811061198357fe5b905060200201356040516119979190614f21565b60405180910390a26001016118d2565b5050505050565b600754600160a81b900460ff1690565b6060306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156119f9576105d3613227565b611a01612016565b6001600160a01b03166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b158015611a3957600080fd5b505afa158015611a4d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611a759190810190613cfb565b6040516020016106669190614b36565b6000611a90336125d6565b80611b235750611a9e612016565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b158015611ad657600080fd5b505afa158015611aea573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b0e919061396c565b6001600160a01b0316336001600160a01b0316145b611b3f5760405162461bcd60e51b815260040161075190614c65565b60026006541415611b625760405162461bcd60e51b815260040161075190614ec5565b6002600655611b7042612988565b15611b7d57611b7d6129c0565b6001600160a01b0382166000908152600a6020526040902054600990600160801b90046001600160801b03168015611bf3578154611bc890611514906001600160801b031683612c23565b82546001600160801b0319166001600160801b03919091161782556002820154611bf3908590613073565b611bfc84611660565b9250611c088484613288565b611c1a8484611c15611651565b61335e565b836001600160a01b03167f8684348ed72cd103be12fcb99e9c5917294a8092ccd4808d1cd7b19daf98299184604051611c539190614f21565b60405180910390a250506001600655919050565b600754600160a01b900460ff1690565b600061068f611c846126e8565b84611059856040518060600160405280602581526020016151506025913960016000611cae6126e8565b6001600160a01b03908116825260208083019390935260409182016000908120918d16815292529020549190613458565b611ce76137a8565b506001600160a01b03166000908152600a6020908152604091829020825160608101845290546001600160401b038082168352600160401b82041692820192909252600160801b9091046001600160801b03169181019190915290565b6000611d51338484612d5d565b610d5a8383613484565b60026006541415611d7e5760405162461bcd60e51b815260040161075190614ec5565b6002600655611d8c42612988565b15611da95760405162461bcd60e51b815260040161075190614ef5565b611db16119ae565b15611dff576000611dc133610ff0565b90506000198114611dfd5780821115611dec5760405162461bcd60e51b815260040161075190614d15565b336000908152601060205260408120555b505b336000908152600a6020526040812060098054909290611e28906001600160801b031685612ea5565b8254909150600090611e4a90600160801b90046001600160801b031686612ea5565b9050611e5533611660565b811115611e745760405162461bcd60e51b815260040161075190614c85565b611e7d8261304a565b84546001600160801b0319166001600160801b0391909116178455611ea18161304a565b83546001600160801b03918216600160801b02911617835584811415611f085760028401805484546001600160401b0390911667ffffffffffffffff199091161784558054600181018255600091825260209091200180546001600160a01b031916331790555b336001600160a01b03167f8442da065c568ee5c2d856b7d959cdc982160318607425e37fa33ae08e0a1ff986604051611f419190614f21565b60405180910390a250506001600655505050565b611f5e336125d6565b80611ff15750611f6c612016565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b158015611fa457600080fd5b505afa158015611fb8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fdc919061396c565b6001600160a01b0316336001600160a01b0316145b61200d5760405162461bcd60e51b815260040161075190614c65565b61077181612fbc565b6007546001600160a01b031690565b6060806002600654141561204b5760405162461bcd60e51b815260040161075190614ec5565b6002600655612059336125d6565b806120ec5750612067612016565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561209f57600080fd5b505afa1580156120b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120d7919061396c565b6001600160a01b0316336001600160a01b0316145b6121085760405162461bcd60e51b815260040161075190614c65565b60008061211361154d565b91509150612122428383613498565b61213e5760405162461bcd60e51b815260040161075190614cf5565b600b54600990600019871415612155576001810396505b8087106121745760405162461bcd60e51b815260040161075190614cd5565b868811156121945760405162461bcd60e51b815260040161075190614d95565b61219c6129c0565b8154670de0b6b3a76400006001600160401b03600160801b9092048216109060009060018b8b0301908190811180156121d457600080fd5b506040519080825280602002602001820160405280156121fe578160200160208202803683370190505b509850806001600160401b038111801561221757600080fd5b50604051908082528060200260200182016040528015612241578160200160208202803683370190505b509750895b811561243457600086600201828154811061225d57fe5b60009182526020808320909101546001600160a01b031680835260018a0190915260409091208054919250906122a5906001600160401b03600160401b909104168b8b613498565b156122c25760405162461bcd60e51b815260040161075190614e25565b6000861561235e5781548954600160801b918290046001600160801b031691670de0b6b3a764000091612300918491046001600160401b03166131ed565b8161230757fe5b0491506123176115148284612c23565b83546001600160401b034216600160401b026fffffffffffffffff0000000000000000196001600160801b03938416600160801b0293909216929092171617835550612383565b508054600160801b90046001600160801b031661237b8389613073565b600019909701965b61238d8382613288565b848060019003955050828d86815181106123a357fe5b60200260200101906001600160a01b031690816001600160a01b031681525050808c86815181106123d057fe5b60209081029190910101526123e58682612ea5565b9550826001600160a01b03167f4896181ff8f4543cc00db9fe9b6fb7e6f032b7eb772c72ab1ec1b4d2e03b9369826040516124209190614f21565b60405180910390a250505060001901612246565b50845461244e90611514906001600160801b031684612c23565b85546001600160801b0319166001600160801b03919091161785556000612473611651565b905061248030848361335e565b6040516370a0823160e01b81526000906001600160a01b038316906370a08231906124af903090600401614b58565b60206040518083038186803b1580156124c757600080fd5b505afa1580156124db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124ff9190613d89565b905060005b8b518110156125675761255f8c828151811061251c57fe5b602002602001015161254e876115c58f868151811061253757fe5b6020026020010151876131ed90919063ffffffff16565b6001600160a01b03861691906134af565b600101612504565b5050505050505050505060016006819055509250929050565b6009546001600160801b038116916001600160401b03600160801b8304811692600160c01b90041690565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b03166000908152600d602052604090205460ff1690565b600754600160b01b900460ff1690565b61260c613781565b5060408051608081018252600c546001600160401b03808216835263ffffffff600160401b830481166020850152600160601b83041693830193909352600160801b9004909116606082015290565b60038054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561117b5780601f106126bc5761010080835404028352916020019161117b565b820191906000526020600020905b8154815290600101906020018083116126ca57509395945050505050565b3390565b6001600160a01b0383166127125760405162461bcd60e51b815260040161075190614e45565b6001600160a01b0382166127385760405162461bcd60e51b815260040161075190614ca5565b6001600160a01b0380841660008181526001602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590612793908590614f21565b60405180910390a3505050565b80516001600160401b03161580156127c05750604081015163ffffffff16155b80156127d45750602081015163ffffffff16155b80156127eb575060608101516001600160401b0316155b6128ad574281600001516001600160401b03161161281b5760405162461bcd60e51b815260040161075190614e95565b6000816040015163ffffffff16116128455760405162461bcd60e51b815260040161075190614dc5565b806040015163ffffffff16816020015163ffffffff16116128785760405162461bcd60e51b815260040161075190614d35565b670de0b6b3a764000081606001516001600160401b031611156128ad5760405162461bcd60e51b815260040161075190614d25565b8051600c80546020840151604080860151606087015167ffffffffffffffff199094166001600160401b03808816919091176bffffffff00000000000000001916600160401b63ffffffff808716919091029190911763ffffffff60601b1916600160601b918416919091021767ffffffffffffffff60801b1916600160801b9186169190910217909455600980546001600160801b03168155905190947f2b031552c22336dc4af5bd89436b409d517289ddd34cfc8e4e1543dc4235e6519461297c94919392909190614f58565b60405180910390a15050565b600080600061299561154d565b9150915081600014156129ad57600092505050610dbb565b6129b8848383613498565b949350505050565b600980546001600160801b031615806129ef575080546129ef90600160c01b90046001600160401b0316612988565b156129fa5750612abe565b6000670de0b6b3a7640000612a2b612a10612604565b606001516001600160401b0316612a25610d39565b906131ed565b81612a3257fe5b835491900491506000906001600160801b0316821015612a74578254612a6d906001600160801b03166115c5670de0b6b3a7640000856131ed565b9050612a7f565b50670de0b6b3a76400005b825467ffffffffffffffff60801b1916600160801b6001600160401b0392831602176001600160c01b0316600160c01b42929092169190910217909155505b565b612b18846323b872dd60e01b858585604051602401612ae193929190614bcd565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526134ce565b50505050565b801580612ba65750604051636eb1769f60e11b81526001600160a01b0384169063dd62ed3e90612b549030908690600401614b66565b60206040518083038186803b158015612b6c57600080fd5b505afa158015612b80573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ba49190613d89565b155b612bc25760405162461bcd60e51b815260040161075190614ed5565b610c738363095ea7b360e01b8484604051602401612ae1929190614bf5565b6060610d5a83836040518060400160405280601e81526020017f416464726573733a206c6f772d6c6576656c2063616c6c206661696c6564000081525061355d565b600082821115612c455760405162461bcd60e51b815260040161075190614d65565b50900390565b6001600160a01b038216612c715760405162461bcd60e51b815260040161075190614ee5565b612c7d60008383610c73565b600254612c8a9082612ea5565b6002556001600160a01b038216600090815260208190526040902054612cb09082612ea5565b6001600160a01b0383166000818152602081905260408082209390935591519091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90612cff908590614f21565b60405180910390a35050565b6007805460ff60b01b1916600160b01b831515021790556040517f64e7f780e6e1129031b8bdd0e74a6718620d8dac82a40fd17743c71249bc019390612d52908390614c46565b60405180910390a150565b6001600160a01b0383166000908152600a6020526040902054612d9390600160801b90046001600160801b0316610a9885611660565b811115612db25760405162461bcd60e51b815260040161075190614d55565b612dba6125f4565b15610c73576000612dcb8484611626565b90506000198114612b1857818114612df55760405162461bcd60e51b815260040161075190614e85565b6001600160a01b038085166000908152600f6020908152604080832093871683529290529081205550505050565b6000612e3084848461356c565b612e9b84612e3c6126e8565b61105985604051806060016040528060288152602001615128602891396001600160a01b038a16600090815260016020526040812090612e7a6126e8565b6001600160a01b031681526020810191909152604001600020549190613458565b5060019392505050565b600082820183811015610d5a5760405162461bcd60e51b815260040161075190614d05565b60005b81811015610c73576000838383818110612ee357fe5b9050602002016020810190612ef8919061394e565b9050612f03816125d6565b15612f205760405162461bcd60e51b815260040161075190614db5565b6001600160a01b0381166000818152600d6020526040808220805460ff19166001179055517f3b4a40cccf2058c593542587329dd385be4f0b588db5471fbd9598e56dd7093a9190a250600101612ecd565b600880546001600160a01b0319166001600160a01b0383169081179091556040517f410f9465288aecd0c52f8000879de6419ab719bcb75db47009c66d629155208e90600090a250565b6007805460ff60a01b1916600160a01b831515021790556040517f8ee78a6848b5a5226d78b64328db1890ef13d87d478dfa9f0e423ea6698b580b90612d52908390614c46565b6007805460ff60a81b1916600160a81b831515021790556040517fd281e56a7f217bdcf7035d71951c03cd2ad9bb04f3b3388c53fa2f85dcb7245e90612d52908390614c46565b6000600160801b821061306f5760405162461bcd60e51b815260040161075190614d45565b5090565b6001600160a01b0382166000908152600a60205260409020546009906001600160401b031660001983018110156131375760008260020160018503815481106130b857fe5b6000918252602090912001546002840180546001600160a01b0390921692508291849081106130e357fe5b600091825260208083209190910180546001600160a01b0319166001600160a01b039485161790559290911681526001840190915260409020805467ffffffffffffffff19166001600160401b0383161790555b6001600160a01b03841660009081526001830160205260408120556002820180548061315f57fe5b600082815260208120820160001990810180546001600160a01b03191690559091019091556040516001600160a01b038616917f328fa7077ce5de1ca1520bbd7c37ef13c017de42d86cd7053c06fffaa1c5187a91a250505050565b60008082116131dc5760405162461bcd60e51b815260040161075190614d85565b8183816131e557fe5b049392505050565b6000826131fc57506000610693565b8282028284828161320957fe5b0414610d5a5760405162461bcd60e51b815260040161075190614dd5565b60048054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561117b5780601f106126bc5761010080835404028352916020019161117b565b6001600160a01b0382166132ae5760405162461bcd60e51b815260040161075190614e15565b6132ba82600083610c73565b6132f7816040518060600160405280602281526020016150e0602291396001600160a01b0385166000908152602081905260409020549190613458565b6001600160a01b03831660009081526020819052604090205560025461331d9082612c23565b6002556040516000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90612cff908590614f21565b6001600160a01b0381166133845760405162461bcd60e51b815260040161075190614ce5565b600060607f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316632441593c6133bf612016565b87868860016040518663ffffffff1660e01b81526004016133e4959493929190614b81565b60006040518083038186803b1580156133fc57600080fd5b505afa158015613410573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526134389190810190613ac9565b90925090506134506001600160a01b03831682612be1565b505050505050565b6000818484111561347c5760405162461bcd60e51b81526004016107519190614c54565b505050900390565b600061068f6134916126e8565b848461356c565b6000828410158015610d5757505090911115919050565b610c738363a9059cbb60e01b8484604051602401612ae1929190614bf5565b6060613523826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031661355d9092919063ffffffff16565b805190915015610c7357808060200190518101906135419190613cab565b610c735760405162461bcd60e51b815260040161075190614eb5565b6060610d578484600085613681565b6001600160a01b0383166135925760405162461bcd60e51b815260040161075190614e35565b6001600160a01b0382166135b85760405162461bcd60e51b815260040161075190614c75565b6135c3838383610c73565b61360081604051806060016040528060268152602001615102602691396001600160a01b0386166000908152602081905260409020549190613458565b6001600160a01b03808516600090815260208190526040808220939093559084168152205461362f9082612ea5565b6001600160a01b0380841660008181526020819052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90612793908590614f21565b6060824710156136a35760405162461bcd60e51b815260040161075190614d75565b6136ac85613742565b6136c85760405162461bcd60e51b815260040161075190614e55565b60006060866001600160a01b031685876040516136e59190614b2a565b60006040518083038185875af1925050503d8060008114613722576040519150601f19603f3d011682016040523d82523d6000602084013e613727565b606091505b5091509150613737828286613748565b979650505050505050565b3b151590565b60608315613757575081610d5a565b8251156137675782518084602001fd5b8160405162461bcd60e51b81526004016107519190614c54565b60408051608081018252600080825260208201819052918101829052606081019190915290565b604080516060810182526000808252602082018190529181019190915290565b80356106938161509e565b80516106938161509e565b60008083601f8401126137f057600080fd5b5081356001600160401b0381111561380757600080fd5b60208301915083602082028301111561381f57600080fd5b9250929050565b8035610693816150b2565b8051610693816150b2565b600082601f83011261384d57600080fd5b815161386061385b82614fca565b614fa4565b9150808252602083016020830185838301111561387c57600080fd5b613887838284615068565b50505092915050565b8035610693816150bb565b6000608082840312156138ad57600080fd5b50919050565b6000608082840312156138c557600080fd5b6138cf6080614fa4565b905060006138dd8484613943565b82525060206138ee84848301613938565b602083015250604061390284828501613938565b604083015250606061391684828501613943565b60608301525092915050565b8035610693816150c4565b8051610693816150c4565b8035610693816150cd565b8035610693816150d6565b60006020828403121561396057600080fd5b60006129b884846137c8565b60006020828403121561397e57600080fd5b60006129b884846137d3565b6000806040838503121561399d57600080fd5b60006139a985856137c8565b92505060206139ba858286016137c8565b9150509250929050565b6000806000606084860312156139d957600080fd5b60006139e586866137c8565b93505060206139f6868287016137c8565b9250506040613a0786828701613922565b9150509250925092565b600080600080600080600080610140898b031215613a2e57600080fd5b6000613a3a8b8b6137c8565b98505060208901356001600160401b03811115613a5657600080fd5b613a628b828c016137de565b97509750506040613a758b828c016137c8565b9550506060613a868b828c01613826565b9450506080613a978b828c01613826565b93505060a0613aa88b828c01613826565b92505060c0613ab98b828c0161389b565b9150509295985092959890939650565b60008060408385031215613adc57600080fd5b6000613ae885856137d3565b92505060208301516001600160401b03811115613b0457600080fd5b6139ba8582860161383c565b60008060408385031215613b2357600080fd5b6000613b2f85856137c8565b92505060206139ba85828601613922565b60008060208385031215613b5357600080fd5b82356001600160401b03811115613b6957600080fd5b613b75858286016137de565b92509250509250929050565b60008060008060008060608789031215613b9a57600080fd5b86356001600160401b03811115613bb057600080fd5b613bbc89828a016137de565b965096505060208701356001600160401b03811115613bda57600080fd5b613be689828a016137de565b945094505060408701356001600160401b03811115613c0457600080fd5b613c1089828a016137de565b92509250509295509295509295565b60008060008060408587031215613c3557600080fd5b84356001600160401b03811115613c4b57600080fd5b613c57878288016137de565b945094505060208501356001600160401b03811115613c7557600080fd5b613c81878288016137de565b95989497509550505050565b600060208284031215613c9f57600080fd5b60006129b88484613826565b600060208284031215613cbd57600080fd5b60006129b88484613831565b600080600060608486031215613cde57600080fd5b6000613cea8686613890565b93505060206139f686828701613922565b600060208284031215613d0d57600080fd5b81516001600160401b03811115613d2357600080fd5b6129b88482850161383c565b600060808284031215613d4157600080fd5b60006129b8848461389b565b600060808284031215613d5f57600080fd5b60006129b884846138b3565b600060208284031215613d7d57600080fd5b60006129b88484613922565b600060208284031215613d9b57600080fd5b60006129b8848461392d565b60008060408385031215613dba57600080fd5b6000613b2f8585613922565b6000613dd28383613de6565b505060200190565b6000613dd28383614af4565b613def81615004565b82525050565b6000613e0082614ff7565b613e0a8185614ffb565b9350613e1583614ff1565b8060005b83811015613e43578151613e2d8882613dc6565b9750613e3883614ff1565b925050600101613e19565b509495945050505050565b6000613e5982614ff7565b613e638185614ffb565b9350613e6e83614ff1565b8060005b83811015613e43578151613e868882613dda565b9750613e9183614ff1565b925050600101613e72565b613def8161500f565b6000613eb082614ff7565b613eba8185610dbb565b9350613eca818560208601615068565b9290920192915050565b6000613edf82614ff7565b613ee98185614ffb565b9350613ef9818560208601615068565b613f0281615094565b9093019392505050565b6000613f19600183610dbb565b607760f81b815260010192915050565b6000613f36602083614ffb565b7f6f6e6c794d616e616765724f724f776e65723a20556e617574686f72697a6564815260200192915050565b6000613f6f602383614ffb565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647281526265737360e81b602082015260400192915050565b6000613fb4601e83614ffb565b7f7265717565737452656465656d3a20457863656564732062616c616e63650000815260200192915050565b6000613fed601a83614ffb565b7f6465706f7369743a20417070726f76616c206d69736d61746368000000000000815260200192915050565b6000614026602283614ffb565b7f45524332303a20617070726f766520746f20746865207a65726f206164647265815261737360f01b602082015260400192915050565b600061406a601d83614ffb565b7f72656d6f76654d616e61676572733a204e6f742061206d616e61676572000000815260200192915050565b60006140a3601f83614ffb565b7f63616e63656c5265717565737452656465656d3a204e6f207265717565737400815260200192915050565b60006140dc602783614ffb565b7f72656465656d46726f6d51756575653a204f75742d6f662d72616e6765205f658152660dcc892dcc8caf60cb1b602082015260400192915050565b6000614125602183614ffb565b7f5f5f72656465656d43616c6c3a204e6f20726564656d7074696f6e20617373658152601d60fa1b602082015260400192915050565b6000614168602a83614ffb565b7f72656465656d46726f6d51756575653a204f75747369646520726564656d7074815269696f6e2077696e646f7760b01b602082015260400192915050565b60006141b4601b83614ffb565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b60006141ed601f83614ffb565b7f7265717565737452656465656d3a204578636565647320617070726f76616c00815260200192915050565b6000614226603b83614ffb565b7f5f5f736574526564656d7074696f6e57696e646f77436f6e6669673a2072656c81527f6174697665536861726573436170206578636565647320313030250000000000602082015260400192915050565b6000614285603783614ffb565b7f5f5f736574526564656d7074696f6e57696e646f77436f6e6669673a2064757281527f6174696f6e2065786365656473206672657175656e6379000000000000000000602082015260400192915050565b60006142e4602783614ffb565b7f53616665436173743a2076616c756520646f65736e27742066697420696e20318152663238206269747360c81b602082015260400192915050565b600061432d602983614ffb565b7f5f5f70726550726f636573735472616e736665723a20496e20726564656d7074815268696f6e20717565756560b81b602082015260400192915050565b6000614378601e83614ffb565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b60006143b1602683614ffb565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f8152651c8818d85b1b60d21b602082015260400192915050565b60006143f9601a83614ffb565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b6000614432602383614ffb565b7f72656465656d46726f6d51756575653a204d69736f72646572656420696e646581526278657360e81b602082015260400192915050565b6000614477601c83614ffb565b7f6465706f7369743a20496e73756666696369656e742073686172657300000000815260200192915050565b60006144b0601e83614ffb565b7f5f5f6164644d616e61676572733a20416c7265616479206d616e616765720000815260200192915050565b60006144e9602883614ffb565b7f5f5f736574526564656d7074696f6e57696e646f77436f6e6669673a204e6f20815267323ab930ba34b7b760c11b602082015260400192915050565b6000614533602183614ffb565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000614576602683614ffb565b7f736574526564656d7074696f6e417070726f76616c733a20556e657175616c2081526561727261797360d01b602082015260400192915050565b60006145be602d83614ffb565b7f63616e63656c5265717565737452656465656d3a20496e73696465207265646581526c6d7074696f6e2077696e646f7760981b602082015260400192915050565b600061460d601183614ffb565b701a5b9a5d0e88125b9a5d1a585b1a5e9959607a1b815260200192915050565b600061463a602183614ffb565b7f45524332303a206275726e2066726f6d20746865207a65726f206164647265738152607360f81b602082015260400192915050565b600061467d602b83614ffb565b7f72656465656d46726f6d51756575653a20416c72656164792072656465656d6581526a6420696e2077696e646f7760a81b602082015260400192915050565b60006146ca602583614ffb565b7f45524332303a207472616e736665722066726f6d20746865207a65726f206164815264647265737360d81b602082015260400192915050565b6000614711602483614ffb565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164648152637265737360e01b602082015260400192915050565b6000614757601d83614ffb565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000815260200192915050565b6000614790601783614ffb565b7f6f6e6c794f776e65723a20556e617574686f72697a6564000000000000000000815260200192915050565b60006147c9602383614ffb565b7f7365744465706f736974417070726f76616c733a20556e657175616c2061727281526261797360e81b602082015260400192915050565b600061480e602783614ffb565b7f5f5f70726550726f636573735472616e736665723a20417070726f76616c206d8152660d2e6dac2e8c6d60cb1b602082015260400192915050565b6000614857603583614ffb565b7f5f5f736574526564656d7074696f6e57696e646f77436f6e6669673a20496e76815274185b1a5908199a5c9cdd15da5b991bddd4dd185c9d605a1b602082015260400192915050565b60006148ae602483614ffb565b7f7365745472616e73666572417070726f76616c733a20556e657175616c2061728152637261797360e01b602082015260400192915050565b60006148f4602a83614ffb565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e8152691bdd081cdd58d8d9595960b21b602082015260400192915050565b6000614940601f83614ffb565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00815260200192915050565b6000614979603683614ffb565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f81527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b602082015260400192915050565b60006149d1601f83614ffb565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300815260200192915050565b6000614a0a602783614ffb565b7f7265717565737452656465656d3a20496e7369646520726564656d7074696f6e8152662077696e646f7760c81b602082015260400192915050565b6000614a53600883610dbb565b6702bb930b83832b2160c51b815260080192915050565b80516060830190614a7b8482614b18565b506020820151614a8e6020850182614b18565b506040820151612b186040850182614aeb565b80516080830190614ab28482614b18565b506020820151614ac56020850182614b06565b506040820151614ad86040850182614b06565b506060820151612b186060850182614b18565b613def8161501f565b613def81610678565b613def81615052565b613def81615037565b613def8161505d565b613def81615040565b613def8161504c565b6000610d5a8284613ea5565b6000614b4182613f0c565b9150610d5a8284613ea5565b6000614b4182614a46565b602081016106938284613de6565b60408101614b748285613de6565b610d5a6020830184613de6565b60a08101614b8f8288613de6565b614b9c6020830187613de6565b614ba96040830186613de6565b614bb66060830185614af4565b614bc36080830184613e9c565b9695505050505050565b60608101614bdb8286613de6565b614be86020830185613de6565b6129b86040830184614af4565b60408101614c038285613de6565b610d5a6020830184614af4565b60208082528101610d5a8184613df5565b60408082528101614c328185613df5565b90508181036020830152610d578184613e4e565b602081016106938284613e9c565b60208082528101610d5a8184613ed4565b6020808252810161069381613f29565b6020808252810161069381613f62565b6020808252810161069381613fa7565b6020808252810161069381613fe0565b6020808252810161069381614019565b602080825281016106938161405d565b6020808252810161069381614096565b60208082528101610693816140cf565b6020808252810161069381614118565b602080825281016106938161415b565b60208082528101610693816141a7565b60208082528101610693816141e0565b6020808252810161069381614219565b6020808252810161069381614278565b60208082528101610693816142d7565b6020808252810161069381614320565b602080825281016106938161436b565b60208082528101610693816143a4565b60208082528101610693816143ec565b6020808252810161069381614425565b602080825281016106938161446a565b60208082528101610693816144a3565b60208082528101610693816144dc565b6020808252810161069381614526565b6020808252810161069381614569565b60208082528101610693816145b1565b6020808252810161069381614600565b602080825281016106938161462d565b6020808252810161069381614670565b60208082528101610693816146bd565b6020808252810161069381614704565b602080825281016106938161474a565b6020808252810161069381614783565b60208082528101610693816147bc565b6020808252810161069381614801565b602080825281016106938161484a565b60208082528101610693816148a1565b60208082528101610693816148e7565b6020808252810161069381614933565b602080825281016106938161496c565b60208082528101610693816149c4565b60208082528101610693816149fd565b606081016106938284614a6a565b608081016106938284614aa1565b602081016106938284614af4565b60408101614c038285614af4565b60608101614f4b8286614af4565b614be86020830185614af4565b60808101614f668287614b0f565b614f736020830186614afd565b614f806040830185614afd565b614f8d6060830184614b0f565b95945050505050565b602081016106938284614b21565b6040518181016001600160401b0381118282101715614fc257600080fd5b604052919050565b60006001600160401b03821115614fe057600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b60006106938261502b565b151590565b600061069382615004565b6001600160801b031690565b6001600160a01b031690565b63ffffffff1690565b6001600160401b031690565b60ff1690565b600061069382615037565b600061069382615040565b60005b8381101561508357818101518382015260200161506b565b83811115612b185750506000910152565b601f01601f191690565b6150a781615004565b811461077157600080fd5b6150a78161500f565b6150a781615014565b6150a781610678565b6150a781615037565b6150a78161504056fe45524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa164736f6c634300060c000a", - "sourceMap": "981:34447:63:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3511:243;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4244:166:447;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;27121:197:63:-;;;;;;:::i;:::-;;:::i;:::-;;7199:2400;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;29792:352::-;;;;;;:::i;:::-;;:::i;25921:162::-;;;;;;:::i;:::-;;:::i;3235:106:447:-;;;:::i;4793:311:63:-;;;;;;:::i;:::-;;:::i;33036:192::-;;;;;;:::i;:::-;;:::i;4226:93::-;;;:::i;:::-;;;;;;;:::i;31612:146::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;23283:548::-;;;;;;:::i;:::-;;:::i;33370:139::-;;;;;;:::i;:::-;;:::i;5589:215:447:-;;;;;;:::i;:::-;;:::i;2535:802:63:-;;;;;;:::i;:::-;;:::i;32220:128::-;;;:::i;:::-;;;;;;;:::i;24624:572::-;;;;;;:::i;:::-;;:::i;25606:190::-;;;;;;:::i;:::-;;:::i;6125:681::-;;;:::i;20868:813::-;;;:::i;:::-;;;;;;;;:::i;34229:210::-;;;;;;:::i;:::-;;:::i;33607:106::-;;;:::i;3399:125:447:-;;;;;;:::i;:::-;;:::i;27429:145:63:-;;;;;;:::i;:::-;;:::i;32461:133::-;;;:::i;29598:111::-;;;;;;:::i;:::-;;:::i;23983:422::-;;;;;;:::i;:::-;;:::i;35038:126::-;;;:::i;3855:244::-;;;:::i;11765:1202::-;;;;;;:::i;:::-;;:::i;32735:120::-;;;:::i;6291:266:447:-;;;;;;:::i;:::-;;:::i;31906:200:63:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;4415:278::-;;;;;;:::i;:::-;;:::i;9785:1588::-;;;;;;:::i;:::-;;:::i;25319:158::-;;;;;;:::i;:::-;;:::i;34534:101::-;;;:::i;13439:4235::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;31038:414::-;;;:::i;:::-;;;;;;;;;:::i;3957:149:447:-;;;;;;:::i;:::-;;:::i;34801:118:63:-;;;;;;:::i;:::-;;:::i;35304:122::-;;;:::i;33843:187::-;;;:::i;:::-;;;;;;;:::i;3511:243::-;3557:19;3600:4;-1:-1:-1;;;;;3609:8:63;3592:25;;3588:75;;;3640:12;:10;:12::i;:::-;3633:19;;;;3588:75;3722:15;:13;:15::i;:::-;-1:-1:-1;;;;;3716:27:63;;:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3716:29:63;;;;;;;;;;;;:::i;:::-;3687:59;;;;;;;;:::i;:::-;;;;;;;;;;;;;3673:74;;3511:243;;:::o;4244:166:447:-;4327:4;4343:39;4352:12;:10;:12::i;:::-;4366:7;4375:6;4343:8;:39::i;:::-;-1:-1:-1;4399:4:447;4244:166;;;;;:::o;27121:197:63:-;1394:21;1404:10;1394:9;:21::i;:::-;:77;;;;1444:15;:13;:15::i;:::-;-1:-1:-1;;;;;1433:36:63;;:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1419:52:63;:10;-1:-1:-1;;;;;1419:52:63;;1394:77;1373:156;;;;-1:-1:-1;;;1373:156:63;;;;;;;:::i;:::-;;;;;;;;;27265:46:::1;;;::::0;;::::1;::::0;::::1;27293:17:::0;27265:46:::1;:::i;:::-;:27;:46::i;:::-;27121:197:::0;:::o;7199:2400::-;7361:23;1688:1:453;2277:7;;:19;;2269:63;;;;-1:-1:-1;;;2269:63:453;;;;;;;:::i;:::-;1688:1;2407:7;:18;7400:25:63::1;:23;:25::i;:::-;7396:552;;;7441:23;7467:125;7511:10;7555:21;7467:18;:125::i;:::-;7441:151;;-1:-1:-1::0;;7693:15:63::1;:36;7689:249;;7776:19;7757:15;:38;7749:77;;;;-1:-1:-1::0;;;7749:77:63::1;;;;;;;:::i;:::-;7880:10;7851:40;::::0;;;:28:::1;:40;::::0;;;;;;;-1:-1:-1;;;;;7851:72:63;::::1;::::0;;;;;;;7844:79;7689:249:::1;7396:552;;8057:45;8086:15;8057:28;:45::i;:::-;8053:111;;;8118:35;:33;:35::i;:::-;8206:86;-1:-1:-1::0;;;;;8206:38:63;::::1;8245:10;8265:4;8272:19:::0;8206:38:::1;:86::i;:::-;8303:25;8337:15;:13;:15::i;:::-;8303:50;;8363:20;8386:19;-1:-1:-1::0;;;;;8386:29:63::1;;8424:4;8386:44;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8363:67;;8491:21;8514:27;8545:22;-1:-1:-1::0;;;;;8545:53:63::1;;8638:19;8699:21;8760:19;8545:249;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;::::0;;::::1;-1:-1:-1::0;;8545:249:63::1;::::0;::::1;;::::0;::::1;::::0;;;::::1;::::0;::::1;:::i;:::-;8860:61;::::0;-1:-1:-1;;;8860:61:63;;8490:304;;-1:-1:-1;8490:304:63;-1:-1:-1;;;;;;8860:31:63;::::1;::::0;::::1;::::0;:61:::1;::::0;8900:4:::1;::::0;8490:304;;8860:61:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8856:164;;8942:67;-1:-1:-1::0;;;;;8942:33:63;::::1;8976:13:::0;-1:-1:-1;;8942:33:63::1;:67::i;:::-;9068:42;-1:-1:-1::0;;;;;9068:26:63;::::1;9095:14:::0;9068:26:::1;:42::i;:::-;;9201:62;9250:12;9201:19;-1:-1:-1::0;;;;;9201:29:63::1;;9239:4;9201:44;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:48:::0;::::1;:62::i;:::-;9183:80;;9300:16;9281:15;:35;;9273:76;;;;-1:-1:-1::0;;;9273:76:63::1;;;;;;;:::i;:::-;9360:34;9366:10;9378:15;9360:5;:34::i;:::-;9465:21;-1:-1:-1::0;;;;;9410:149:63::1;9433:10;-1:-1:-1::0;;;;;9410:149:63::1;;9501:19;9534:15;9410:149;;;;;;;:::i;:::-;;;;;;;;9570:22;;;;1645:1:453::0;2580:7;:22;7199:2400:63;;-1:-1:-1;;;7199:2400:63:o;29792:352::-;1617:15;:13;:15::i;:::-;-1:-1:-1;;;;;1606:36:63;;:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1592:52:63;:10;-1:-1:-1;;;;;1592:52:63;;1584:88;;;;-1:-1:-1;;;1584:88:63;;;;;;;:::i;:::-;29880:9:::1;29875:263;29891:20:::0;;::::1;29875:263;;;29932:15;29950:9;;29960:1;29950:12;;;;;;;;;;;;;;;;;;;;:::i;:::-;29932:30;;29985:18;29995:7;29985:9;:18::i;:::-;29977:60;;;;-1:-1:-1::0;;;29977:60:63::1;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;30052:24:63;::::1;30079:5;30052:24:::0;;;:15:::1;:24;::::0;;;;;:32;;-1:-1:-1;;30052:32:63::1;::::0;;30104:23;::::1;::::0;30079:5;30104:23:::1;-1:-1:-1::0;29913:3:63::1;;29875:263;;;;29792:352:::0;;:::o;25921:162::-;1394:21;1404:10;1394:9;:21::i;:::-;:77;;;;1444:15;:13;:15::i;:::-;-1:-1:-1;;;;;1433:36:63;;:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1419:52:63;:10;-1:-1:-1;;;;;1419:52:63;;1394:77;1373:156;;;;-1:-1:-1;;;1373:156:63;;;;;;;:::i;:::-;26024:52:::1;26050:25;26024;:52::i;3235:106:447:-:0;3322:12;;3235:106;:::o;4793:311:63:-;4924:13;4949:82;4980:7;5001:10;5022:7;4949:20;:82::i;:::-;5049:48;5068:7;5077:10;5089:7;5049:18;:48::i;:::-;5042:55;;4793:311;;;;;;:::o;33036:192::-;-1:-1:-1;;;;;33178:35:63;;;33140:15;33178:35;;;:28;:35;;;;;;;;:43;;;;;;;;;;;;;33036:192::o;4226:93::-;4310:2;4226:93;:::o;31612:146::-;31690:13;31722:15;:21;;31744:6;31722:29;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;31722:29:63;;-1:-1:-1;31612:146:63;;;;:::o;23283:548::-;1394:21;1404:10;1394:9;:21::i;:::-;:77;;;;1444:15;:13;:15::i;:::-;-1:-1:-1;;;;;1433:36:63;;:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1419:52:63;:10;-1:-1:-1;;;;;1419:52:63;;1394:77;1373:156;;;;-1:-1:-1;;;1373:156:63;;;;;;;:::i;:::-;23485:31;;::::1;:67:::0;::::1;;;-1:-1:-1::0;23520:32:63;;::::1;23485:67;23464:149;;;;-1:-1:-1::0;;;23464:149:63::1;;;;;;;:::i;:::-;23629:9;23624:201;23640:17:::0;;::::1;23624:201;;;23732:8;;23741:1;23732:11;;;;;;;;;;;;;23678:28;:39;23707:6;;23714:1;23707:9;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;23678:39:63::1;-1:-1:-1::0;;;;;23678:39:63::1;;;;;;;;;;;;:51;23718:7;;23726:1;23718:10;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;23678:51:63::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;23678:51:63;:65;23790:7;;23798:1;23790:10;;::::1;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;23763:51:63::1;23779:6;;23786:1;23779:9;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;23763:51:63::1;;23802:8;;23811:1;23802:11;;;;;;;;;;;;;23763:51;;;;;;:::i;:::-;;;;;;;;23659:3;;23624:201;;;;23283:548:::0;;;;;;:::o;33370:139::-;-1:-1:-1;;;;;33471:31:63;33437:15;33471:31;;;:24;:31;;;;;;;33370:139::o;5589:215:447:-;5677:4;5693:83;5702:12;:10;:12::i;:::-;5716:7;5725:50;5764:10;5725:11;:25;5737:12;:10;:12::i;:::-;-1:-1:-1;;;;;5725:25:447;;;;;;;;;;;;;;;;;-1:-1:-1;5725:25:447;;;:34;;;;;;;;;;;:38;:50::i;:::-;5693:8;:83::i;2535:802:63:-;2898:10;;-1:-1:-1;;;;;2898:10:63;:24;2890:54;;;;-1:-1:-1;;;2890:54:63;;;;;;;:::i;:::-;2955:10;:24;;-1:-1:-1;;;;;;2955:24:63;-1:-1:-1;;;;;2955:24:63;;;;;2990;3004:9;;2990:13;:24::i;:::-;3024:38;3045:16;3024:20;:38::i;:::-;3072:46;3097:20;3072:24;:46::i;:::-;3128:52;3156:23;3128:27;:52::i;:::-;3190:48;3216:21;3190:25;:48::i;:::-;3248:42;;;;;;;;3276:13;3248:42;:::i;:::-;3306:24;;-1:-1:-1;;;;;3306:24:63;;;;;;;;2535:802;;;;;;;;:::o;32220:128::-;32278:23;32320:15;:21;;32313:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;32313:28:63;;;;;;;;;;;;;;;;;;;;;;;32220:128;:::o;24624:572::-;1394:21;1404:10;1394:9;:21::i;:::-;:77;;;;1444:15;:13;:15::i;:::-;-1:-1:-1;;;;;1433:36:63;;:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1419:52:63;:10;-1:-1:-1;;;;;1419:52:63;;1394:77;1373:156;;;;-1:-1:-1;;;1373:156:63;;;;;;;:::i;:::-;24831:35;;::::1;:71:::0;::::1;;;-1:-1:-1::0;24870:32:63;;::::1;24831:71;24810:154;;;;-1:-1:-1::0;;;24810:154:63::1;;;;;;;:::i;:::-;24980:9;24975:215;24991:17:::0;;::::1;24975:215;;;25092:8;;25101:1;25092:11;;;;;;;;;;;;;25029:33;:44;25063:6;;25070:1;25063:9;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;25029:44:63::1;-1:-1:-1::0;;;;;25029:44:63::1;;;;;;;;;;;;:60;25074:11;;25086:1;25074:14;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;25029:60:63::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;25029:60:63;:74;25151:11;;25163:1;25151:14;;::::1;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;25123:56:63::1;25140:6;;25147:1;25140:9;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;25123:56:63::1;;25167:8;;25176:1;25167:11;;;;;;;;;;;;;25123:56;;;;;;:::i;:::-;;;;;;;;25010:3;;24975:215;;25606:190:::0;1394:21;1404:10;1394:9;:21::i;:::-;:77;;;;1444:15;:13;:15::i;:::-;-1:-1:-1;;;;;1433:36:63;;:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1419:52:63;:10;-1:-1:-1;;;;;1419:52:63;;1394:77;1373:156;;;;-1:-1:-1;;;1373:156:63;;;;;;;:::i;:::-;25733:56:::1;25761:27;25733;:56::i;6125:681::-:0;1688:1:453;2277:7;;:19;;2269:63;;;;-1:-1:-1;;;2269:63:453;;;;;;;:::i;:::-;1688:1;2407:7;:18;6210:45:63::1;6239:15;6210:28;:45::i;:::-;6209:46;6188:138;;;;-1:-1:-1::0;;;6188:138:63::1;;;;;;;:::i;:::-;6442:10;6337:29;6422:31:::0;;;:19;:31:::1;::::0;;;;:45;6369:15:::1;::::0;-1:-1:-1;;;6422:45:63;::::1;-1:-1:-1::0;;;;;6422:45:63::1;::::0;6477:65:::1;;;;-1:-1:-1::0;;;6477:65:63::1;;;;;;;:::i;:::-;6622:24:::0;;6614:94:::1;::::0;:69:::1;::::0;-1:-1:-1;;;;;6622:24:63::1;6665:17:::0;6614:50:::1;:69::i;:::-;:92;:94::i;:::-;6587:121:::0;;-1:-1:-1;;;;;;6587:121:63::1;-1:-1:-1::0;;;;;6587:121:63;;;::::1;;::::0;;6779:11:::1;::::0;::::1;:18:::0;6719:80:::1;::::0;6753:10:::1;::::0;6719:25:::1;:80::i;:::-;-1:-1:-1::0;;1645:1:453;2580:7;:22;6125:681:63:o;20868:813::-;20951:20;20973:18;21007:42;;:::i;:::-;21052:27;:25;:27::i;:::-;21179:29;;21007:72;;-1:-1:-1;;;;;;21161:47:63;:15;:47;;:85;;-1:-1:-1;21212:29:63;;-1:-1:-1;;;;;21212:34:63;;21161:85;21144:151;;;21279:1;21282;21271:13;;;;;;;21144:151;21305:23;21331:102;21401:12;:22;;;21331:102;;21332:50;21352:12;:29;;;-1:-1:-1;;;;;21332:50:63;:15;:19;;:50;;;;:::i;:::-;21331:56;;:102::i;:::-;21305:128;;21459:109;21515:43;21535:12;:22;;;21515:43;;:15;:19;;:43;;;;:::i;:::-;21467:29;;-1:-1:-1;;;;;21459:38:63;;:42;:109::i;:::-;21444:124;;21591:39;21608:12;:21;;;21591:39;;:12;:16;;:39;;;;:::i;:::-;21578:52;;21641:33;;20868:813;;;:::o;34229:210::-;-1:-1:-1;;;;;34378:42:63;;;34340:15;34378:42;;;:33;:42;;;;;;;;:54;;;;;;;;;;;;;34229:210::o;33607:106::-;33691:15;;-1:-1:-1;;;;;33691:15:63;33607:106;:::o;3399:125:447:-;-1:-1:-1;;;;;3499:18:447;3473:7;3499:18;;;;;;;;;;;;3399:125::o;27429:145:63:-;1394:21;1404:10;1394:9;:21::i;:::-;:77;;;;1444:15;:13;:15::i;:::-;-1:-1:-1;;;;;1433:36:63;;:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1419:52:63;:10;-1:-1:-1;;;;;1419:52:63;;1394:77;1373:156;;;;-1:-1:-1;;;1373:156:63;;;;;;;:::i;:::-;27525:42:::1;27546:20;27525;:42::i;32461:133::-:0;32559:21;:28;32461:133;:::o;29598:111::-;1617:15;:13;:15::i;:::-;-1:-1:-1;;;;;1606:36:63;;:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1592:52:63;:10;-1:-1:-1;;;;;1592:52:63;;1584:88;;;;-1:-1:-1;;;1584:88:63;;;;;;;:::i;:::-;29678:24:::1;29692:9;;29678:13;:24::i;:::-;29598:111:::0;;:::o;23983:422::-;1394:21;1404:10;1394:9;:21::i;:::-;:77;;;;1444:15;:13;:15::i;:::-;-1:-1:-1;;;;;1433:36:63;;:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1419:52:63;:10;-1:-1:-1;;;;;1419:52:63;;1394:77;1373:156;;;;-1:-1:-1;;;1373:156:63;;;;;;;:::i;:::-;24137:32;;::::1;24129:83;;;;-1:-1:-1::0;;;24129:83:63::1;;;;;;;:::i;:::-;24228:9;24223:176;24239:17:::0;;::::1;24223:176;;;24315:8;;24324:1;24315:11;;;;;;;;;;;;;24277:24;:35;24302:6;;24309:1;24302:9;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;24277:35:63::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;24277:35:63;:49;24365:6;;24372:1;24365:9;;::::1;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;24346:42:63::1;;24376:8;;24385:1;24376:11;;;;;;;;;;;;;24346:42;;;;;;:::i;:::-;;;;;;;;24258:3;;24223:176;;;;23983:422:::0;;;;:::o;35038:126::-;35135:22;;-1:-1:-1;;;35135:22:63;;;;;35038:126::o;3855:244::-;3903:21;3948:4;-1:-1:-1;;;;;3957:8:63;3940:25;;3936:77;;;3988:14;:12;:14::i;3936:77::-;4065:15;:13;:15::i;:::-;-1:-1:-1;;;;;4059:29:63;;:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4059:31:63;;;;;;;;;;;;:::i;:::-;4037:54;;;;;;;;:::i;11765:1202::-;11876:23;1394:21;1404:10;1394:9;:21::i;:::-;:77;;;;1444:15;:13;:15::i;:::-;-1:-1:-1;;;;;1433:36:63;;:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1419:52:63;:10;-1:-1:-1;;;;;1419:52:63;;1394:77;1373:156;;;;-1:-1:-1;;;1373:156:63;;;;;;;:::i;:::-;1688:1:453::1;2277:7;;:19;;2269:63;;;;-1:-1:-1::0;;;2269:63:453::1;;;;;;;:::i;:::-;1688:1;2407:7;:18:::0;12023:45:63::2;12052:15;12023:28;:45::i;:::-;12019:111;;;12084:35;:33;:35::i;:::-;-1:-1:-1::0;;;;;12259:26:63;::::2;12174:29;12259:26:::0;;;:19;:26:::2;::::0;;;;:40;12206:15:::2;::::0;-1:-1:-1;;;12259:40:63;::::2;-1:-1:-1::0;;;;;12259:40:63::2;12313:21:::0;;12309:270:::2;;12385:24:::0;;12377:102:::2;::::0;:73:::2;::::0;-1:-1:-1;;;;;12385:24:63::2;12432:17:::0;12377:54:::2;:73::i;:102::-;12350:129:::0;;-1:-1:-1;;;;;;12350:129:63::2;-1:-1:-1::0;;;;;12350:129:63;;;::::2;;::::0;;12548:11:::2;::::0;::::2;:18:::0;12493:75:::2;::::0;12527:5;;12493:25:::2;:75::i;:::-;12645:16;12655:5;12645:9;:16::i;:::-;12627:34;;12671:48;12687:5;12702:15;12671:5;:48::i;:::-;12730:151;12769:5;12803:15;12850:20;:18;:20::i;:::-;12730:12;:151::i;:::-;12904:5;-1:-1:-1::0;;;;;12897:30:63::2;;12911:15;12897:30;;;;;;:::i;:::-;;;;;;;;12938:22;;1645:1:453::1;2580:7;:22:::0;11765:1202:63;;-1:-1:-1;11765:1202:63:o;32735:120::-;32829:19;;-1:-1:-1;;;32829:19:63;;;;;32735:120::o;6291:266:447:-;6384:4;6400:129;6409:12;:10;:12::i;:::-;6423:7;6432:96;6471:15;6432:96;;;;;;;;;;;;;;;;;:11;:25;6444:12;:10;:12::i;:::-;-1:-1:-1;;;;;6432:25:447;;;;;;;;;;;;;;;;;-1:-1:-1;6432:25:447;;;:34;;;;;;;;;;;:96;:38;:96::i;31906:200:63:-;32007:33;;:::i;:::-;-1:-1:-1;;;;;;32063:36:63;;;;;:29;:36;;;;;;;;;32056:43;;;;;;;;;-1:-1:-1;;;;;32056:43:63;;;;;-1:-1:-1;;;32056:43:63;;;;;;;;;;-1:-1:-1;;;32056:43:63;;;-1:-1:-1;;;;;32056:43:63;;;;;;;;;31906:200::o;4415:278::-;4519:13;4548:85;4579:10;4603;4624:7;4548:20;:85::i;:::-;4651:35;4666:10;4678:7;4651:14;:35::i;9785:1588::-;1688:1:453;2277:7;;:19;;2269:63;;;;-1:-1:-1;;;2269:63:453;;;;;;;:::i;:::-;1688:1;2407:7;:18;9885:45:63::1;9914:15;9885:28;:45::i;:::-;9884:46;9863:132;;;;-1:-1:-1::0;;;9863:132:63::1;;;;;;;:::i;:::-;10085:28;:26;:28::i;:::-;10081:353;;;10129:26;10158:33;10180:10;10158:21;:33::i;:::-;10129:62;;-1:-1:-1::0;;10210:18:63::1;:39;10206:218;;10294:18;10277:13;:35;;10269:79;;;;-1:-1:-1::0;;;10269:79:63::1;;;;;;;:::i;:::-;10398:10;10373:36;::::0;;;:24:::1;:36;::::0;;;;10366:43;10206:218:::1;10081:353;;10557:10;10444:29;10537:31:::0;;;:19;:31:::1;::::0;;;;10476:15:::1;10620:24:::0;;10476:15;;10444:29;10612:52:::1;::::0;-1:-1:-1;;;;;10620:24:63::1;10650:13:::0;10612:37:::1;:52::i;:::-;10714:21:::0;;10579:85;;-1:-1:-1;10674:29:63::1;::::0;10706:49:::1;::::0;-1:-1:-1;;;10714:21:63;::::1;-1:-1:-1::0;;;;;10714:21:63::1;10741:13:::0;10706:34:::1;:49::i;:::-;10674:81;;10843:21;10853:10;10843:9;:21::i;:::-;10818;:46;;10810:89;;;;-1:-1:-1::0;;;10810:89:63::1;;;;;;;:::i;:::-;10978:34;:22;:32;:34::i;:::-;10951:61:::0;;-1:-1:-1;;;;;;10951:61:63::1;-1:-1:-1::0;;;;;10951:61:63;;;::::1;;::::0;;11046:33:::1;:21:::0;:31:::1;:33::i;:::-;11022:57:::0;;-1:-1:-1;;;;;11022:57:63;;::::1;-1:-1:-1::0;;;11022:57:63::1;::::0;::::1;;::::0;;11153:38;;::::1;11149:153;;;11230:11;::::0;::::1;:18:::0;;11207:42;;-1:-1:-1;;;;;11207:42:63;;::::1;-1:-1:-1::0;;11207:42:63;;::::1;;::::0;;11263:28;;11207:42;11263:28;::::1;::::0;;11207:13:::1;11263:28:::0;;;::::1;::::0;;;::::1;::::0;;-1:-1:-1;;;;;;11263:28:63::1;11280:10;11263:28;::::0;;11149:153:::1;11340:10;-1:-1:-1::0;;;;;11317:49:63::1;;11352:13;11317:49;;;;;;:::i;:::-;;;;;;;;-1:-1:-1::0;;1645:1:453;2580:7;:22;-1:-1:-1;;;9785:1588:63:o;25319:158::-;1394:21;1404:10;1394:9;:21::i;:::-;:77;;;;1444:15;:13;:15::i;:::-;-1:-1:-1;;;;;1433:36:63;;:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1419:52:63;:10;-1:-1:-1;;;;;1419:52:63;;1394:77;1373:156;;;;-1:-1:-1;;;1373:156:63;;;;;;;:::i;:::-;25420:50:::1;25445:24;25420;:50::i;34534:101::-:0;34618:10;;-1:-1:-1;;;;;34618:10:63;34534:101;:::o;13439:4235::-;13586:31;13619:32;1688:1:453;2277:7;;:19;;2269:63;;;;-1:-1:-1;;;2269:63:453;;;;;;;:::i;:::-;1688:1;2407:7;:18;1394:21:63::1;1404:10;1394:9;:21::i;:::-;:77;;;;1444:15;:13;:15::i;:::-;-1:-1:-1::0;;;;;1433:36:63::1;;:38;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;1419:52:63::1;:10;-1:-1:-1::0;;;;;1419:52:63::1;;1394:77;1373:156;;;;-1:-1:-1::0;;;1373:156:63::1;;;;;;;:::i;:::-;13668:19:::2;13689:17:::0;13710:28:::2;:26;:28::i;:::-;13667:71;;;;13769:152;13811:15;13857:11;13897:9;13769:15;:152::i;:::-;13748:241;;;;-1:-1:-1::0;;;13748:241:63::2;;;;;;;:::i;:::-;14112:11:::0;:18;14032:15:::2;::::0;-1:-1:-1;;14144:30:63;::::2;14140:88;;;14216:1;14202:11;:15;14190:27;;14140:88;14257:11;14245:9;:23;14237:75;;;;-1:-1:-1::0;;;14237:75:63::2;;;;;;;:::i;:::-;14345:9;14330:11;:24;;14322:72;;;;-1:-1:-1::0;;;14322:72:63::2;;;;;;;:::i;:::-;14405:35;:33;:35::i;:::-;14500:27:::0;;1220:4:::2;-1:-1:-1::0;;;;;;;;14500:27:63;;::::2;::::0;::::2;:49;::::0;14483:14:::2;::::0;14727:1:::2;14701:23:::0;;::::2;:27;::::0;;;14755:33;::::2;::::0;::::2;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;-1:-1:-1;14755:33:63::2;;14738:50;;14830:18;-1:-1:-1::0;;;;;14816:33:63::2;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;-1:-1:-1;14816:33:63::2;-1:-1:-1::0;14798:51:63;-1:-1:-1;15039:9:63;15022:1818:::2;15050:22:::0;;15022:1818:::2;;15093:12;15108:5;:11;;15120:1;15108:14;;;;;;;;;::::0;;;::::2;::::0;;;;;::::2;::::0;-1:-1:-1;;;;;15108:14:63::2;15172:25:::0;;;15108:14;15172:19;::::2;:25:::0;;;;;;;15284:20;;15108:14;;-1:-1:-1;15172:25:63;15238:173:::2;::::0;-1:-1:-1;;;;;;;;15284:20:63;;::::2;;15339:11:::0;15383:9;15238:15:::2;:173::i;:::-;15237:174;15212:276;;;;-1:-1:-1::0;;;15212:276:63::2;;;;;;;:::i;:::-;15678:28;15724:9;15720:613;;;15781:21:::0;;15886:27;;-1:-1:-1;;;15781:21:63;;;::::2;-1:-1:-1::0;;;;;15781:21:63::2;::::0;1220:4:::2;::::0;15864:50:::2;::::0;15781:21;;15886:27:::2;-1:-1:-1::0;;;;;15886:27:63::2;15864:21;:50::i;:::-;:92;;;;;;::::0;-1:-1:-1;15999:55:63::2;:43;:17:::0;15864:92;15999:21:::2;:43::i;:55::-;15975:79:::0;;-1:-1:-1;;;;;16102:15:63::2;16072:46;-1:-1:-1::0;;;16072:46:63::2;-1:-1:-1::0;;;;;;;15975:79:63;;::::2;-1:-1:-1::0;;;15975:79:63::2;::::0;;;::::2;::::0;;;::::2;16072:46;;::::0;;-1:-1:-1;15720:613:63::2;;;-1:-1:-1::0;16180:21:63;;-1:-1:-1;;;16180:21:63;::::2;-1:-1:-1::0;;;;;16180:21:63::2;16220:67;16254:4:::0;16274:11;16220:25:::2;:67::i;:::-;-1:-1:-1::0;;16305:13:63;;;;15720:613:::2;16374:52;16390:4;16404:20;16374:5;:52::i;:::-;16545:20;;;;;;;;16616:4;16579:14;16594:18;16579:34;;;;;;;;;;;;;:41;-1:-1:-1::0;;;;;16579:41:63::2;;;-1:-1:-1::0;;;;;16579:41:63::2;;;::::0;::::2;16672:20;16634:15;16650:18;16634:35;;;;;;;;;::::0;;::::2;::::0;;;;;:58;16728:45:::2;:19:::0;16752:20;16728:23:::2;:45::i;:::-;16706:67;;16802:4;-1:-1:-1::0;;;;;16793:36:63::2;;16808:20;16793:36;;;;;;:::i;:::-;;;;;;;;-1:-1:-1::0;;;;;15074:3:63;15022:1818:::2;;;-1:-1:-1::0;16909:24:63;;16901:96:::2;::::0;:71:::2;::::0;-1:-1:-1;;;;;16909:24:63::2;16952:19:::0;16901:50:::2;:71::i;:96::-;16874:123:::0;;-1:-1:-1;;;;;;16874:123:63::2;-1:-1:-1::0;;;;;16874:123:63;;;::::2;;::::0;;-1:-1:-1;17088:20:63::2;:18;:20::i;:::-;17050:59;;17119:175;17166:4;17200:19;17259:23;17119:12;:175::i;:::-;17368:48;::::0;-1:-1:-1;;;17368:48:63;;17340:25:::2;::::0;-1:-1:-1;;;;;17368:33:63;::::2;::::0;::::2;::::0;:48:::2;::::0;17410:4:::2;::::0;17368:48:::2;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17340:76;;17431:9;17426:242;17446:14;:21;17442:1;:25;17426:242;;;17488:169;17542:14;17557:1;17542:17;;;;;;;;;;;;;;17577:66;17623:19;17577:41;17599:15;17615:1;17599:18;;;;;;;;;;;;;;17577:17;:21;;:41;;;;:::i;:66::-;-1:-1:-1::0;;;;;17488:36:63;::::2;::::0;:169;:36:::2;:169::i;:::-;17469:3;;17426:242;;;;1539:1;;;;;;;;;1645::453::0;2580:7;:22;;;;13439:4235:63;;;;;:::o;31038:414::-;31294:15;:34;-1:-1:-1;;;;;31294:34:63;;;-1:-1:-1;;;;;;;;31342:37:63;;;;;-1:-1:-1;;;31393:42:63;;;;31038:414::o;3957:149:447:-;-1:-1:-1;;;;;4072:18:447;;;4046:7;4072:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;3957:149::o;34801:118:63:-;-1:-1:-1;;;;;34890:22:63;34856:15;34890:22;;;:15;:22;;;;;;;;;34801:118::o;35304:122::-;35399:20;;-1:-1:-1;;;35399:20:63;;;;;35304:122::o;33843:187::-;33925:53;;:::i;:::-;-1:-1:-1;33994:29:63;;;;;;;;34001:22;33994:29;-1:-1:-1;;;;;33994:29:63;;;;;;-1:-1:-1;;;33994:29:63;;;;;;;;-1:-1:-1;;;33994:29:63;;;;;;;;;;-1:-1:-1;;;33994:29:63;;;;;;;;;33843:187;:::o;2168:89:447:-;2245:5;2238:12;;;;;;;;-1:-1:-1;;2238:12:447;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2213:13;;2238:12;;2245:5;;2238:12;;2245:5;2238:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2238:12:447;;2168:89;-1:-1:-1;;;;;2168:89:447:o;598:104:452:-;685:10;598:104;:::o;9355:340:447:-;-1:-1:-1;;;;;9456:19:447;;9448:68;;;;-1:-1:-1;;;9448:68:447;;;;;;;:::i;:::-;-1:-1:-1;;;;;9534:21:447;;9526:68;;;;-1:-1:-1;;;9526:68:447;;;;;;;:::i;:::-;-1:-1:-1;;;;;9605:18:447;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;;:36;;;9656:32;;;;;9635:6;;9656:32;:::i;:::-;;;;;;;;9355:340;;;:::o;27884:1570:63:-;28063:34;;-1:-1:-1;;;;;28063:39:63;;:90;;;;-1:-1:-1;28122:26:63;;;;:31;;;28063:90;:142;;;;-1:-1:-1;28173:27:63;;;;:32;;;28063:142;:202;;;;-1:-1:-1;28225:35:63;;;;-1:-1:-1;;;;;28225:40:63;;28063:202;28044:893;;28353:15;28316:17;:34;;;-1:-1:-1;;;;;28316:52:63;;28291:164;;;;-1:-1:-1;;;28291:164:63;;;;;;;:::i;:::-;28506:1;28477:17;:26;;;:30;;;28469:83;;;;-1:-1:-1;;;28469:83:63;;;;;;;:::i;:::-;28621:17;:26;;;28591:56;;:17;:27;;;:56;;;28566:170;;;;-1:-1:-1;;;28566:170:63;;;;;;;:::i;:::-;1220:4;28775:17;:35;;;-1:-1:-1;;;;;28775:58:63;;;28750:176;;;;-1:-1:-1;;;28750:176:63;;;;;;;:::i;:::-;28947:42;;:22;:42;;;;;;;;;;;;;;;-1:-1:-1;;28947:42:63;;;-1:-1:-1;;;;;28947:42:63;;;;;;;-1:-1:-1;;28947:42:63;-1:-1:-1;;;28947:42:63;;;;;;;;;;;;-1:-1:-1;;;;28947:42:63;-1:-1:-1;;;28947:42:63;;;;;;;;-1:-1:-1;;;;28947:42:63;-1:-1:-1;;;28947:42:63;;;;;;;;;;;29110:15;29135:34;;-1:-1:-1;;;;;29179:39:63;;;29234:213;;29110:15;;29234:213;;;;28947:42;;;;;;29234:213;:::i;:::-;;;;;;;;27884:1570;;:::o;21772:396::-;21876:14;21907:19;21928:17;21949:28;:26;:28::i;:::-;21906:71;;;;21992:11;22007:1;21992:16;21988:59;;;22031:5;22024:12;;;;;;21988:59;22076:85;22101:10;22126:11;22150:9;22076:15;:85::i;:::-;22057:104;21772:396;-1:-1:-1;;;;21772:396:63:o;17888:1188::-;17983:15;18105:24;;-1:-1:-1;;;;;18105:24:63;:29;;:107;;-1:-1:-1;18179:32:63;;18150:62;;-1:-1:-1;;;18179:32:63;;-1:-1:-1;;;;;18179:32:63;18150:28;:62::i;:::-;18088:166;;;18237:7;;;18088:166;18483:19;1220:4;18505:64;18523:27;:25;:27::i;:::-;:45;;;-1:-1:-1;;;;;18505:64:63;:13;:11;:13::i;:::-;:17;;:64::i;:::-;:98;;;;;18661:24;;18505:98;;;;-1:-1:-1;18614:33:63;;-1:-1:-1;;;;;18661:24:63;:38;-1:-1:-1;18657:271:63;;;18801:24;;18743:96;;-1:-1:-1;;;;;18801:24:63;18743:36;1220:4;18767:11;18743:23;:36::i;:96::-;18715:124;;18657:271;;;-1:-1:-1;1220:4:63;18657:271;18938:63;;-1:-1:-1;;;;18938:63:63;-1:-1:-1;;;;;;;;18938:63:63;;;;;-1:-1:-1;;;;;19011:58:63;-1:-1:-1;;;19053:15:63;19011:58;;;;;;;;;;;;-1:-1:-1;17888:1188:63;:::o;885:203:450:-;985:96;1005:5;1035:27;;;1064:4;1070:2;1074:5;1012:68;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;1012:68:450;;;;;;;;;;;;;;-1:-1:-1;;;;;1012:68:450;-1:-1:-1;;;;;;1012:68:450;;;;;;;;;;985:19;:96::i;:::-;885:203;;;;:::o;1348:613::-;1713:10;;;1712:62;;-1:-1:-1;1729:39:450;;-1:-1:-1;;;1729:39:450;;-1:-1:-1;;;;;1729:15:450;;;;;:39;;1753:4;;1760:7;;1729:39;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:44;1712:62;1704:150;;;;-1:-1:-1;;;1704:150:450;;;;;;;:::i;:::-;1864:90;1884:5;1914:22;;;1938:7;1947:5;1891:62;;;;;;;;;:::i;3188:171:451:-;3263:12;3292:60;3305:6;3313:4;3292:60;;;;;;;;;;;;;;;;;:12;:60::i;3136:155:442:-;3194:7;3226:1;3221;:6;;3213:49;;;;-1:-1:-1;;;3213:49:442;;;;;;;:::i;:::-;-1:-1:-1;3279:5:442;;;3136:155::o;7832:370:447:-;-1:-1:-1;;;;;7915:21:447;;7907:65;;;;-1:-1:-1;;;7907:65:447;;;;;;;:::i;:::-;7983:49;8012:1;8016:7;8025:6;7983:20;:49::i;:::-;8058:12;;:24;;8075:6;8058:16;:24::i;:::-;8043:12;:39;-1:-1:-1;;;;;8113:18:447;;:9;:18;;;;;;;;;;;:30;;8136:6;8113:22;:30::i;:::-;-1:-1:-1;;;;;8092:18:447;;:9;:18;;;;;;;;;;;:51;;;;8158:37;;8092:18;;:9;8158:37;;;;8188:6;;8158:37;:::i;:::-;;;;;;;;7832:370;;:::o;26690:206:63:-;26775:20;:48;;-1:-1:-1;;;;26775:48:63;-1:-1:-1;;;26775:48:63;;;;;;;26839:50;;;;;;26775:48;;26839:50;:::i;:::-;;;;;;;;26690:206;:::o;5151:782::-;-1:-1:-1;;;;;5354:38:63;;;;;;:29;:38;;;;;:52;5331:76;;-1:-1:-1;;;5354:52:63;;-1:-1:-1;;;;;5354:52:63;5331:18;5354:38;5331:9;:18::i;:76::-;5304:7;:103;;5283:191;;;;-1:-1:-1;;;5283:191:63;;;;;;;:::i;:::-;5489:26;:24;:26::i;:::-;5485:442;;;5531:24;5558:109;5605:7;5642:10;5558:19;:109::i;:::-;5531:136;;-1:-1:-1;;5686:16:63;:37;5682:235;;5771:7;5751:16;:27;5743:79;;;;-1:-1:-1;;;5743:79:63;;;;;;;:::i;:::-;-1:-1:-1;;;;;5848:42:63;;;;;;;:33;:42;;;;;;;;:54;;;;;;;;;;;5841:61;5485:442;5151:782;;;:::o;4877:317:447:-;4983:4;4999:36;5009:6;5017:9;5028:6;4999:9;:36::i;:::-;5045:121;5054:6;5062:12;:10;:12::i;:::-;5076:89;5114:6;5076:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5076:19:447;;;;;;:11;:19;;;;;;5096:12;:10;:12::i;:::-;-1:-1:-1;;;;;5076:33:447;;;;;;;;;;;;-1:-1:-1;5076:33:447;;;:89;:37;:89::i;5045:121::-;-1:-1:-1;5183:4:447;4877:317;;;;;:::o;2690:175:442:-;2748:7;2779:5;;;2802:6;;;;2794:46;;;;-1:-1:-1;;;2794:46:442;;;;;;;:::i;30194:340:63:-;30271:9;30266:262;30282:20;;;30266:262;;;30323:15;30341:9;;30351:1;30341:12;;;;;;;;;;;;;;;;;;;;:::i;:::-;30323:30;;30377:18;30387:7;30377:9;:18::i;:::-;30376:19;30368:62;;;;-1:-1:-1;;;30368:62:63;;;;;;;:::i;:::-;-1:-1:-1;;;;;30445:24:63;;;;;;:15;:24;;;;;;:31;;-1:-1:-1;;30445:31:63;30472:4;30445:31;;;30496:21;;;30445:24;30496:21;-1:-1:-1;30304:3:63;;30266:262;;27649:179;27727:15;:38;;-1:-1:-1;;;;;;27727:38:63;-1:-1:-1;;;;;27727:38:63;;;;;;;;27781:40;;;;-1:-1:-1;;27781:40:63;27649:179;:::o;26162:200::-;26245:19;:46;;-1:-1:-1;;;;26245:46:63;-1:-1:-1;;;26245:46:63;;;;;;;26307:48;;;;;;26245:46;;26307:48;:::i;26418:218::-;26507:22;:52;;-1:-1:-1;;;;26507:52:63;-1:-1:-1;;;26507:52:63;;;;;;;26575:54;;;;;;26507:52;;26575:54;:::i;1086:181:454:-;1143:7;-1:-1:-1;;;1170:5:454;:14;1162:67;;;;-1:-1:-1;;;1162:67:454;;;;;;;:::i;:::-;-1:-1:-1;1254:5:454;1086:181::o;19825:565:63:-;-1:-1:-1;;;;;19993:26:63;;19915:29;19993:26;;;:19;:26;;;;;:32;19947:15;;-1:-1:-1;;;;;19993:32:63;-1:-1:-1;;20052:16:63;;20040:28;;20036:230;;;20084:18;20105:5;:11;;20132:1;20117:12;:16;20105:29;;;;;;;;;;;;;;;;;;20149:11;;;:22;;-1:-1:-1;;;;;20105:29:63;;;;-1:-1:-1;20105:29:63;;20161:9;;20149:22;;;;;;;;;;;;;;;;;;:35;;-1:-1:-1;;;;;;20149:35:63;-1:-1:-1;;;;;20149:35:63;;;;;;20198:31;;;;;;-1:-1:-1;20198:19:63;;:31;;;;;;:57;;-1:-1:-1;;20198:57:63;-1:-1:-1;;;;;20198:57:63;;;;;20036:230;-1:-1:-1;;;;;20283:26:63;;;;;;:19;;;:26;;;;;20276:33;20319:11;;;:17;;;;;;;;;;;;;;;;-1:-1:-1;;20319:17:63;;;;;-1:-1:-1;;;;;;20319:17:63;;;;;;;;;20352:31;;-1:-1:-1;;;;;20352:31:63;;;;;;19825:565;;;;:::o;4217:150:442:-;4275:7;4306:1;4302;:5;4294:44;;;;-1:-1:-1;;;4294:44:442;;;;;;;:::i;:::-;4359:1;4355;:5;;;;;;;4217:150;-1:-1:-1;;;4217:150:442:o;3538:215::-;3596:7;3619:6;3615:20;;-1:-1:-1;3634:1:442;3627:8;;3615:20;3657:5;;;3661:1;3657;:5;:1;3680:5;;;;;:10;3672:56;;;;-1:-1:-1;;;3672:56:442;;;;;;;:::i;2370:93:447:-;2449:7;2442:14;;;;;;;;-1:-1:-1;;2442:14:447;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2417:13;;2442:14;;2449:7;;2442:14;;2449:7;2442:14;;;;;;;;;;;;;;;;;;;;;;;;8522:410;-1:-1:-1;;;;;8605:21:447;;8597:67;;;;-1:-1:-1;;;8597:67:447;;;;;;;:::i;:::-;8675:49;8696:7;8713:1;8717:6;8675:20;:49::i;:::-;8756:68;8779:6;8756:68;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8756:18:447;;:9;:18;;;;;;;;;;;;:68;:22;:68::i;:::-;-1:-1:-1;;;;;8735:18:447;;:9;:18;;;;;;;;;;:89;8849:12;;:24;;8866:6;8849:16;:24::i;:::-;8834:12;:39;8888:37;;8914:1;;-1:-1:-1;;;;;8888:37:447;;;;;;;8918:6;;8888:37;:::i;19150:603:63:-;-1:-1:-1;;;;;19297:30:63;;19289:76;;;;-1:-1:-1;;;19289:76:63;;;;;;;:::i;:::-;19377:14;19393:20;19417:22;-1:-1:-1;;;;;19417:67:63;;19516:15;:13;:15::i;:::-;19561:10;19597:16;19640:13;19688:4;19417:290;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;19417:290:63;;;;;;;;;;;;:::i;:::-;19376:331;;-1:-1:-1;19376:331:63;-1:-1:-1;19718:28:63;-1:-1:-1;;;;;19718:19:63;;19376:331;19718:19;:28::i;:::-;;19150:603;;;;;:::o;5432:163:442:-;5518:7;5553:12;5545:6;;;;5537:29;;;;-1:-1:-1;;;5537:29:442;;;;;;;;:::i;:::-;-1:-1:-1;;;5583:5:442;;;5432:163::o;3727:172:447:-;3813:4;3829:42;3839:12;:10;:12::i;:::-;3853:9;3864:6;3829:9;:42::i;22343:220:63:-;22476:17;22522:11;22512:6;:21;;:44;;;;-1:-1:-1;;22537:19:63;;;;;22343:220;-1:-1:-1;22343:220:63:o;704:175:450:-;786:86;806:5;836:23;;;861:2;865:5;813:58;;;;;;;;;:::i;2967:751::-;3386:23;3412:69;3440:4;3412:69;;;;;;;;;;;;;;;;;3420:5;-1:-1:-1;;;;;3412:27:450;;;:69;;;;;:::i;:::-;3495:17;;3386:95;;-1:-1:-1;3495:21:450;3491:221;;3635:10;3624:30;;;;;;;;;;;;:::i;:::-;3616:85;;;;-1:-1:-1;;;3616:85:450;;;;;;;:::i;3581:193:451:-;3684:12;3715:52;3737:6;3745:4;3751:1;3754:12;3715:21;:52::i;7031:530:447:-;-1:-1:-1;;;;;7136:20:447;;7128:70;;;;-1:-1:-1;;;7128:70:447;;;;;;;:::i;:::-;-1:-1:-1;;;;;7216:23:447;;7208:71;;;;-1:-1:-1;;;7208:71:447;;;;;;;:::i;:::-;7290:47;7311:6;7319:9;7330:6;7290:20;:47::i;:::-;7368:71;7390:6;7368:71;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7368:17:447;;:9;:17;;;;;;;;;;;;:71;:21;:71::i;:::-;-1:-1:-1;;;;;7348:17:447;;;:9;:17;;;;;;;;;;;:91;;;;7472:20;;;;;;;:32;;7497:6;7472:24;:32::i;:::-;-1:-1:-1;;;;;7449:20:447;;;:9;:20;;;;;;;;;;;;:55;;;;7519:35;;;;;;;;;;7547:6;;7519:35;:::i;4608:523:451:-;4735:12;4792:5;4767:21;:30;;4759:81;;;;-1:-1:-1;;;4759:81:451;;;;;;;:::i;:::-;4858:18;4869:6;4858:10;:18::i;:::-;4850:60;;;;-1:-1:-1;;;4850:60:451;;;;;;;:::i;:::-;4981:12;4995:23;5022:6;-1:-1:-1;;;;;5022:11:451;5042:5;5050:4;5022:33;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4980:75;;;;5072:52;5090:7;5099:10;5111:12;5072:17;:52::i;:::-;5065:59;4608:523;-1:-1:-1;;;;;;;4608:523:451:o;726:413::-;1086:20;1124:8;;;726:413::o;7091:725::-;7206:12;7234:7;7230:580;;;-1:-1:-1;7264:10:451;7257:17;;7230:580;7375:17;;:21;7371:429;;7633:10;7627:17;7693:15;7680:10;7676:2;7672:19;7665:44;7582:145;7772:12;7765:20;;-1:-1:-1;;;7765:20:451;;;;;;;;:::i;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5:130::-;72:20;;97:33;72:20;97:33;:::i;142:134::-;220:13;;238:33;220:13;238:33;:::i;301:352::-;;;431:3;424:4;416:6;412:17;408:27;398:2;;449:1;446;439:12;398:2;-1:-1;469:20;;-1:-1;;;;;498:30;;495:2;;;541:1;538;531:12;495:2;575:4;567:6;563:17;551:29;;626:3;618:4;610:6;606:17;596:8;592:32;589:41;586:2;;;643:1;640;633:12;586:2;391:262;;;;;:::o;1039:124::-;1103:20;;1128:30;1103:20;1128:30;:::i;1170:128::-;1245:13;;1263:30;1245:13;1263:30;:::i;1306:442::-;;1418:3;1411:4;1403:6;1399:17;1395:27;1385:2;;1436:1;1433;1426:12;1385:2;1466:6;1460:13;1488:64;1503:48;1544:6;1503:48;:::i;:::-;1488:64;:::i;:::-;1479:73;;1572:6;1565:5;1558:21;1608:4;1600:6;1596:17;1641:4;1634:5;1630:16;1676:3;1667:6;1662:3;1658:16;1655:25;1652:2;;;1693:1;1690;1683:12;1652:2;1703:39;1735:6;1730:3;1725;1703:39;:::i;:::-;1378:370;;;;;;;:::o;1756:162::-;1839:20;;1864:49;1839:20;1864:49;:::i;2458:175::-;;2585:3;2576:6;2571:3;2567:16;2563:26;2560:2;;;2602:1;2599;2592:12;2560:2;-1:-1;2621:6;2553:80;-1:-1;2553:80::o;2718:801::-;;2848:4;2836:9;2831:3;2827:19;2823:30;2820:2;;;2866:1;2863;2856:12;2820:2;2884:20;2899:4;2884:20;:::i;:::-;2875:29;-1:-1;2966:1;2998:48;3042:3;3022:9;2998:48;:::i;:::-;2973:74;;-1:-1;3113:2;3146:48;3190:3;3166:22;;;3146:48;:::i;:::-;3139:4;3132:5;3128:16;3121:74;3068:138;3260:2;3293:48;3337:3;3328:6;3317:9;3313:22;3293:48;:::i;:::-;3286:4;3279:5;3275:16;3268:74;3216:137;3416:2;3449:48;3493:3;3484:6;3473:9;3469:22;3449:48;:::i;:::-;3442:4;3435:5;3431:16;3424:74;3363:146;2814:705;;;;:::o;3526:130::-;3593:20;;3618:33;3593:20;3618:33;:::i;3663:134::-;3741:13;;3759:33;3741:13;3759:33;:::i;3804:128::-;3870:20;;3895:32;3870:20;3895:32;:::i;3939:128::-;4005:20;;4030:32;4005:20;4030:32;:::i;4074:241::-;;4178:2;4166:9;4157:7;4153:23;4149:32;4146:2;;;4194:1;4191;4184:12;4146:2;4229:1;4246:53;4291:7;4271:9;4246:53;:::i;4322:263::-;;4437:2;4425:9;4416:7;4412:23;4408:32;4405:2;;;4453:1;4450;4443:12;4405:2;4488:1;4505:64;4561:7;4541:9;4505:64;:::i;4592:366::-;;;4713:2;4701:9;4692:7;4688:23;4684:32;4681:2;;;4729:1;4726;4719:12;4681:2;4764:1;4781:53;4826:7;4806:9;4781:53;:::i;:::-;4771:63;;4743:97;4871:2;4889:53;4934:7;4925:6;4914:9;4910:22;4889:53;:::i;:::-;4879:63;;4850:98;4675:283;;;;;:::o;4965:491::-;;;;5103:2;5091:9;5082:7;5078:23;5074:32;5071:2;;;5119:1;5116;5109:12;5071:2;5154:1;5171:53;5216:7;5196:9;5171:53;:::i;:::-;5161:63;;5133:97;5261:2;5279:53;5324:7;5315:6;5304:9;5300:22;5279:53;:::i;:::-;5269:63;;5240:98;5369:2;5387:53;5432:7;5423:6;5412:9;5408:22;5387:53;:::i;:::-;5377:63;;5348:98;5065:391;;;;;:::o;5463:1219::-;;;;;;;;;5738:3;5726:9;5717:7;5713:23;5709:33;5706:2;;;5755:1;5752;5745:12;5706:2;5790:1;5807:53;5852:7;5832:9;5807:53;:::i;:::-;5797:63;;5769:97;5925:2;5914:9;5910:18;5897:32;-1:-1;;;;;5941:6;5938:30;5935:2;;;5981:1;5978;5971:12;5935:2;6009:80;6081:7;6072:6;6061:9;6057:22;6009:80;:::i;:::-;5991:98;;;;5876:219;6126:2;6144:53;6189:7;6180:6;6169:9;6165:22;6144:53;:::i;:::-;6134:63;;6105:98;6234:2;6252:50;6294:7;6285:6;6274:9;6270:22;6252:50;:::i;:::-;6242:60;;6213:95;6339:3;6358:50;6400:7;6391:6;6380:9;6376:22;6358:50;:::i;:::-;6348:60;;6318:96;6445:3;6464:50;6506:7;6497:6;6486:9;6482:22;6464:50;:::i;:::-;6454:60;;6424:96;6551:3;6570:96;6658:7;6649:6;6638:9;6634:22;6570:96;:::i;:::-;6560:106;;6530:142;5700:982;;;;;;;;;;;:::o;6689:496::-;;;6830:2;6818:9;6809:7;6805:23;6801:32;6798:2;;;6846:1;6843;6836:12;6798:2;6881:1;6898:64;6954:7;6934:9;6898:64;:::i;:::-;6888:74;;6860:108;7020:2;7009:9;7005:18;6999:25;-1:-1;;;;;7036:6;7033:30;7030:2;;;7076:1;7073;7066:12;7030:2;7096:73;7161:7;7152:6;7141:9;7137:22;7096:73;:::i;7192:366::-;;;7313:2;7301:9;7292:7;7288:23;7284:32;7281:2;;;7329:1;7326;7319:12;7281:2;7364:1;7381:53;7426:7;7406:9;7381:53;:::i;:::-;7371:63;;7343:97;7471:2;7489:53;7534:7;7525:6;7514:9;7510:22;7489:53;:::i;7565:397::-;;;7704:2;7692:9;7683:7;7679:23;7675:32;7672:2;;;7720:1;7717;7710:12;7672:2;7755:31;;-1:-1;;;;;7795:30;;7792:2;;;7838:1;7835;7828:12;7792:2;7866:80;7938:7;7929:6;7918:9;7914:22;7866:80;:::i;:::-;7848:98;;;;7734:218;7666:296;;;;;:::o;7969:959::-;;;;;;;8212:2;8200:9;8191:7;8187:23;8183:32;8180:2;;;8228:1;8225;8218:12;8180:2;8263:31;;-1:-1;;;;;8303:30;;8300:2;;;8346:1;8343;8336:12;8300:2;8374:80;8446:7;8437:6;8426:9;8422:22;8374:80;:::i;:::-;8356:98;;;;8242:218;8519:2;8508:9;8504:18;8491:32;-1:-1;;;;;8535:6;8532:30;8529:2;;;8575:1;8572;8565:12;8529:2;8603:80;8675:7;8666:6;8655:9;8651:22;8603:80;:::i;:::-;8585:98;;;;8470:219;8748:2;8737:9;8733:18;8720:32;-1:-1;;;;;8764:6;8761:30;8758:2;;;8804:1;8801;8794:12;8758:2;8832:80;8904:7;8895:6;8884:9;8880:22;8832:80;:::i;:::-;8814:98;;;;8699:219;8174:754;;;;;;;;:::o;8935:678::-;;;;;9126:2;9114:9;9105:7;9101:23;9097:32;9094:2;;;9142:1;9139;9132:12;9094:2;9177:31;;-1:-1;;;;;9217:30;;9214:2;;;9260:1;9257;9250:12;9214:2;9288:80;9360:7;9351:6;9340:9;9336:22;9288:80;:::i;:::-;9270:98;;;;9156:218;9433:2;9422:9;9418:18;9405:32;-1:-1;;;;;9449:6;9446:30;9443:2;;;9489:1;9486;9479:12;9443:2;9517:80;9589:7;9580:6;9569:9;9565:22;9517:80;:::i;:::-;9088:525;;;;-1:-1;9499:98;-1:-1;;;;9088:525::o;9620:235::-;;9721:2;9709:9;9700:7;9696:23;9692:32;9689:2;;;9737:1;9734;9727:12;9689:2;9772:1;9789:50;9831:7;9811:9;9789:50;:::i;9862:257::-;;9974:2;9962:9;9953:7;9949:23;9945:32;9942:2;;;9990:1;9987;9980:12;9942:2;10025:1;10042:61;10095:7;10075:9;10042:61;:::i;10126:523::-;;;;10280:2;10268:9;10259:7;10255:23;10251:32;10248:2;;;10296:1;10293;10286:12;10248:2;10331:1;10348:69;10409:7;10389:9;10348:69;:::i;:::-;10338:79;;10310:113;10454:2;10472:53;10517:7;10508:6;10497:9;10493:22;10472:53;:::i;10656:362::-;;10781:2;10769:9;10760:7;10756:23;10752:32;10749:2;;;10797:1;10794;10787:12;10749:2;10832:24;;-1:-1;;;;;10865:30;;10862:2;;;10908:1;10905;10898:12;10862:2;10928:74;10994:7;10985:6;10974:9;10970:22;10928:74;:::i;11025:328::-;;11172:3;11160:9;11151:7;11147:23;11143:33;11140:2;;;11189:1;11186;11179:12;11140:2;11224:1;11241:96;11329:7;11309:9;11241:96;:::i;11360:324::-;;11505:3;11493:9;11484:7;11480:23;11476:33;11473:2;;;11522:1;11519;11512:12;11473:2;11557:1;11574:94;11660:7;11640:9;11574:94;:::i;11691:241::-;;11795:2;11783:9;11774:7;11770:23;11766:32;11763:2;;;11811:1;11808;11801:12;11763:2;11846:1;11863:53;11908:7;11888:9;11863:53;:::i;11939:263::-;;12054:2;12042:9;12033:7;12029:23;12025:32;12022:2;;;12070:1;12067;12060:12;12022:2;12105:1;12122:64;12178:7;12158:9;12122:64;:::i;12209:366::-;;;12330:2;12318:9;12309:7;12305:23;12301:32;12298:2;;;12346:1;12343;12336:12;12298:2;12381:1;12398:53;12443:7;12423:9;12398:53;:::i;12583:173::-;;12670:46;12712:3;12704:6;12670:46;:::i;:::-;-1:-1;;12745:4;12736:14;;12663:93::o;12765:173::-;;12852:46;12894:3;12886:6;12852:46;:::i;12946:103::-;13019:24;13037:5;13019:24;:::i;:::-;13014:3;13007:37;13001:48;;:::o;13207:690::-;;13352:54;13400:5;13352:54;:::i;:::-;13419:86;13498:6;13493:3;13419:86;:::i;:::-;13412:93;;13526:56;13576:5;13526:56;:::i;:::-;13602:7;13630:1;13615:260;13640:6;13637:1;13634:13;13615:260;;;13707:6;13701:13;13728:63;13787:3;13772:13;13728:63;:::i;:::-;13721:70;;13808:60;13861:6;13808:60;:::i;:::-;13798:70;-1:-1;;13662:1;13655:9;13615:260;;;-1:-1;13888:3;;13331:566;-1:-1;;;;;13331:566::o;13936:690::-;;14081:54;14129:5;14081:54;:::i;:::-;14148:86;14227:6;14222:3;14148:86;:::i;:::-;14141:93;;14255:56;14305:5;14255:56;:::i;:::-;14331:7;14359:1;14344:260;14369:6;14366:1;14363:13;14344:260;;;14436:6;14430:13;14457:63;14516:3;14501:13;14457:63;:::i;:::-;14450:70;;14537:60;14590:6;14537:60;:::i;:::-;14527:70;-1:-1;;14391:1;14384:9;14344:260;;14634:104;14711:21;14726:5;14711:21;:::i;14745:356::-;;14873:38;14905:5;14873:38;:::i;:::-;14923:88;15004:6;14999:3;14923:88;:::i;:::-;14916:95;;15016:52;15061:6;15056:3;15049:4;15042:5;15038:16;15016:52;:::i;:::-;15080:16;;;;;14853:248;-1:-1;;14853:248::o;15108:347::-;;15220:39;15253:5;15220:39;:::i;:::-;15271:71;15335:6;15330:3;15271:71;:::i;:::-;15264:78;;15347:52;15392:6;15387:3;15380:4;15373:5;15369:16;15347:52;:::i;:::-;15420:29;15442:6;15420:29;:::i;:::-;15411:39;;;;15200:255;-1:-1;;;15200:255::o;15830:335::-;;16008:84;16090:1;16085:3;16008:84;:::i;:::-;-1:-1;;;16105:24;;16157:1;16148:11;;15994:171;-1:-1;;15994:171::o;16174:332::-;;16334:67;16398:2;16393:3;16334:67;:::i;:::-;16434:34;16414:55;;16497:2;16488:12;;16320:186;-1:-1;;16320:186::o;16515:372::-;;16675:67;16739:2;16734:3;16675:67;:::i;:::-;16775:34;16755:55;;-1:-1;;;16839:2;16830:12;;16823:27;16878:2;16869:12;;16661:226;-1:-1;;16661:226::o;16896:330::-;;17056:67;17120:2;17115:3;17056:67;:::i;:::-;17156:32;17136:53;;17217:2;17208:12;;17042:184;-1:-1;;17042:184::o;17235:326::-;;17395:67;17459:2;17454:3;17395:67;:::i;:::-;17495:28;17475:49;;17552:2;17543:12;;17381:180;-1:-1;;17381:180::o;17570:371::-;;17730:67;17794:2;17789:3;17730:67;:::i;:::-;17830:34;17810:55;;-1:-1;;;17894:2;17885:12;;17878:26;17932:2;17923:12;;17716:225;-1:-1;;17716:225::o;17950:329::-;;18110:67;18174:2;18169:3;18110:67;:::i;:::-;18210:31;18190:52;;18270:2;18261:12;;18096:183;-1:-1;;18096:183::o;18288:331::-;;18448:67;18512:2;18507:3;18448:67;:::i;:::-;18548:33;18528:54;;18610:2;18601:12;;18434:185;-1:-1;;18434:185::o;18628:376::-;;18788:67;18852:2;18847:3;18788:67;:::i;:::-;18888:34;18868:55;;-1:-1;;;18952:2;18943:12;;18936:31;18995:2;18986:12;;18774:230;-1:-1;;18774:230::o;19013:370::-;;19173:67;19237:2;19232:3;19173:67;:::i;:::-;19273:34;19253:55;;-1:-1;;;19337:2;19328:12;;19321:25;19374:2;19365:12;;19159:224;-1:-1;;19159:224::o;19392:379::-;;19552:67;19616:2;19611:3;19552:67;:::i;:::-;19652:34;19632:55;;-1:-1;;;19716:2;19707:12;;19700:34;19762:2;19753:12;;19538:233;-1:-1;;19538:233::o;19780:327::-;;19940:67;20004:2;19999:3;19940:67;:::i;:::-;20040:29;20020:50;;20098:2;20089:12;;19926:181;-1:-1;;19926:181::o;20116:331::-;;20276:67;20340:2;20335:3;20276:67;:::i;:::-;20376:33;20356:54;;20438:2;20429:12;;20262:185;-1:-1;;20262:185::o;20456:396::-;;20616:67;20680:2;20675:3;20616:67;:::i;:::-;20716:34;20696:55;;20785:29;20780:2;20771:12;;20764:51;20843:2;20834:12;;20602:250;-1:-1;;20602:250::o;20861:392::-;;21021:67;21085:2;21080:3;21021:67;:::i;:::-;21121:34;21101:55;;21190:25;21185:2;21176:12;;21169:47;21244:2;21235:12;;21007:246;-1:-1;;21007:246::o;21262:376::-;;21422:67;21486:2;21481:3;21422:67;:::i;:::-;21522:34;21502:55;;-1:-1;;;21586:2;21577:12;;21570:31;21629:2;21620:12;;21408:230;-1:-1;;21408:230::o;21647:378::-;;21807:67;21871:2;21866:3;21807:67;:::i;:::-;21907:34;21887:55;;-1:-1;;;21971:2;21962:12;;21955:33;22016:2;22007:12;;21793:232;-1:-1;;21793:232::o;22034:330::-;;22194:67;22258:2;22253:3;22194:67;:::i;:::-;22294:32;22274:53;;22355:2;22346:12;;22180:184;-1:-1;;22180:184::o;22373:375::-;;22533:67;22597:2;22592:3;22533:67;:::i;:::-;22633:34;22613:55;;-1:-1;;;22697:2;22688:12;;22681:30;22739:2;22730:12;;22519:229;-1:-1;;22519:229::o;22757:326::-;;22917:67;22981:2;22976:3;22917:67;:::i;:::-;23017:28;22997:49;;23074:2;23065:12;;22903:180;-1:-1;;22903:180::o;23092:372::-;;23252:67;23316:2;23311:3;23252:67;:::i;:::-;23352:34;23332:55;;-1:-1;;;23416:2;23407:12;;23400:27;23455:2;23446:12;;23238:226;-1:-1;;23238:226::o;23473:328::-;;23633:67;23697:2;23692:3;23633:67;:::i;:::-;23733:30;23713:51;;23792:2;23783:12;;23619:182;-1:-1;;23619:182::o;23810:330::-;;23970:67;24034:2;24029:3;23970:67;:::i;:::-;24070:32;24050:53;;24131:2;24122:12;;23956:184;-1:-1;;23956:184::o;24149:377::-;;24309:67;24373:2;24368:3;24309:67;:::i;:::-;24409:34;24389:55;;-1:-1;;;24473:2;24464:12;;24457:32;24517:2;24508:12;;24295:231;-1:-1;;24295:231::o;24535:370::-;;24695:67;24759:2;24754:3;24695:67;:::i;:::-;24795:34;24775:55;;-1:-1;;;24859:2;24850:12;;24843:25;24896:2;24887:12;;24681:224;-1:-1;;24681:224::o;24914:375::-;;25074:67;25138:2;25133:3;25074:67;:::i;:::-;25174:34;25154:55;;-1:-1;;;25238:2;25229:12;;25222:30;25280:2;25271:12;;25060:229;-1:-1;;25060:229::o;25298:382::-;;25458:67;25522:2;25517:3;25458:67;:::i;:::-;25558:34;25538:55;;-1:-1;;;25622:2;25613:12;;25606:37;25671:2;25662:12;;25444:236;-1:-1;;25444:236::o;25689:317::-;;25849:67;25913:2;25908:3;25849:67;:::i;:::-;-1:-1;;;25929:40;;25997:2;25988:12;;25835:171;-1:-1;;25835:171::o;26015:370::-;;26175:67;26239:2;26234:3;26175:67;:::i;:::-;26275:34;26255:55;;-1:-1;;;26339:2;26330:12;;26323:25;26376:2;26367:12;;26161:224;-1:-1;;26161:224::o;26394:380::-;;26554:67;26618:2;26613:3;26554:67;:::i;:::-;26654:34;26634:55;;-1:-1;;;26718:2;26709:12;;26702:35;26765:2;26756:12;;26540:234;-1:-1;;26540:234::o;26783:374::-;;26943:67;27007:2;27002:3;26943:67;:::i;:::-;27043:34;27023:55;;-1:-1;;;27107:2;27098:12;;27091:29;27148:2;27139:12;;26929:228;-1:-1;;26929:228::o;27166:373::-;;27326:67;27390:2;27385:3;27326:67;:::i;:::-;27426:34;27406:55;;-1:-1;;;27490:2;27481:12;;27474:28;27530:2;27521:12;;27312:227;-1:-1;;27312:227::o;27548:329::-;;27708:67;27772:2;27767:3;27708:67;:::i;:::-;27808:31;27788:52;;27868:2;27859:12;;27694:183;-1:-1;;27694:183::o;27886:323::-;;28046:67;28110:2;28105:3;28046:67;:::i;:::-;28146:25;28126:46;;28200:2;28191:12;;28032:177;-1:-1;;28032:177::o;28218:372::-;;28378:67;28442:2;28437:3;28378:67;:::i;:::-;28478:34;28458:55;;-1:-1;;;28542:2;28533:12;;28526:27;28581:2;28572:12;;28364:226;-1:-1;;28364:226::o;28599:376::-;;28759:67;28823:2;28818:3;28759:67;:::i;:::-;28859:34;28839:55;;-1:-1;;;28923:2;28914:12;;28907:31;28966:2;28957:12;;28745:230;-1:-1;;28745:230::o;28984:390::-;;29144:67;29208:2;29203:3;29144:67;:::i;:::-;29244:34;29224:55;;-1:-1;;;29308:2;29299:12;;29292:45;29365:2;29356:12;;29130:244;-1:-1;;29130:244::o;29383:373::-;;29543:67;29607:2;29602:3;29543:67;:::i;:::-;29643:34;29623:55;;-1:-1;;;29707:2;29698:12;;29691:28;29747:2;29738:12;;29529:227;-1:-1;;29529:227::o;29765:379::-;;29925:67;29989:2;29984:3;29925:67;:::i;:::-;30025:34;30005:55;;-1:-1;;;30089:2;30080:12;;30073:34;30135:2;30126:12;;29911:233;-1:-1;;29911:233::o;30153:331::-;;30313:67;30377:2;30372:3;30313:67;:::i;:::-;30413:33;30393:54;;30475:2;30466:12;;30299:185;-1:-1;;30299:185::o;30493:391::-;;30653:67;30717:2;30712:3;30653:67;:::i;:::-;30753:34;30733:55;;-1:-1;;;30817:2;30808:12;;30801:46;30875:2;30866:12;;30639:245;-1:-1;;30639:245::o;30893:331::-;;31053:67;31117:2;31112:3;31053:67;:::i;:::-;31153:33;31133:54;;31215:2;31206:12;;31039:185;-1:-1;;31039:185::o;31233:376::-;;31393:67;31457:2;31452:3;31393:67;:::i;:::-;31493:34;31473:55;;-1:-1;;;31557:2;31548:12;;31541:31;31600:2;31591:12;;31379:230;-1:-1;;31379:230::o;31618:342::-;;31796:84;31878:1;31873:3;31796:84;:::i;:::-;-1:-1;;;31893:31;;31952:1;31943:11;;31782:178;-1:-1;;31782:178::o;32111:666::-;32343:23;;32276:4;32267:14;;;32372:61;32271:3;32343:23;32372:61;:::i;:::-;32296:143;32520:4;32513:5;32509:16;32503:23;32532:61;32587:4;32582:3;32578:14;32564:12;32532:61;:::i;:::-;32449:150;32681:4;32674:5;32670:16;32664:23;32693:63;32750:4;32745:3;32741:14;32727:12;32693:63;:::i;32937:842::-;33190:23;;33112:4;33103:14;;;33219:61;33107:3;33190:23;33219:61;:::i;:::-;33132:154;33364:4;33357:5;33353:16;33347:23;33376:61;33431:4;33426:3;33422:14;33408:12;33376:61;:::i;:::-;33296:147;33520:4;33513:5;33509:16;33503:23;33532:61;33587:4;33582:3;33578:14;33564:12;33532:61;:::i;:::-;33453:146;33685:4;33678:5;33674:16;33668:23;33697:61;33752:4;33747:3;33743:14;33729:12;33697:61;:::i;33786:103::-;33859:24;33877:5;33859:24;:::i;33896:103::-;33969:24;33987:5;33969:24;:::i;34126:124::-;34208:36;34238:5;34208:36;:::i;34257:100::-;34328:23;34345:5;34328:23;:::i;34364:124::-;34446:36;34476:5;34446:36;:::i;34495:100::-;34566:23;34583:5;34566:23;:::i;34602:107::-;34681:22;34697:5;34681:22;:::i;34716:271::-;;34869:93;34958:3;34949:6;34869:93;:::i;34994:542::-;;35250:148;35394:3;35250:148;:::i;:::-;35243:155;;35416:95;35507:3;35498:6;35416:95;:::i;35543:542::-;;35799:148;35943:3;35799:148;:::i;36092:222::-;36219:2;36204:18;;36233:71;36208:9;36277:6;36233:71;:::i;36321:333::-;36476:2;36461:18;;36490:71;36465:9;36534:6;36490:71;:::i;:::-;36572:72;36640:2;36629:9;36625:18;36616:6;36572:72;:::i;36661:656::-;36894:3;36879:19;;36909:71;36883:9;36953:6;36909:71;:::i;:::-;36991:72;37059:2;37048:9;37044:18;37035:6;36991:72;:::i;:::-;37074;37142:2;37131:9;37127:18;37118:6;37074:72;:::i;:::-;37157;37225:2;37214:9;37210:18;37201:6;37157:72;:::i;:::-;37240:67;37302:3;37291:9;37287:19;37278:6;37240:67;:::i;:::-;36865:452;;;;;;;;:::o;37324:444::-;37507:2;37492:18;;37521:71;37496:9;37565:6;37521:71;:::i;:::-;37603:72;37671:2;37660:9;37656:18;37647:6;37603:72;:::i;:::-;37686;37754:2;37743:9;37739:18;37730:6;37686:72;:::i;37775:333::-;37930:2;37915:18;;37944:71;37919:9;37988:6;37944:71;:::i;:::-;38026:72;38094:2;38083:9;38079:18;38070:6;38026:72;:::i;38115:370::-;38292:2;38306:47;;;38277:18;;38367:108;38277:18;38461:6;38367:108;:::i;38492:629::-;38747:2;38761:47;;;38732:18;;38822:108;38732:18;38916:6;38822:108;:::i;:::-;38814:116;;38978:9;38972:4;38968:20;38963:2;38952:9;38948:18;38941:48;39003:108;39106:4;39097:6;39003:108;:::i;39128:210::-;39249:2;39234:18;;39263:65;39238:9;39301:6;39263:65;:::i;39345:310::-;39492:2;39506:47;;;39477:18;;39567:78;39477:18;39631:6;39567:78;:::i;39662:416::-;39862:2;39876:47;;;39847:18;;39937:131;39847:18;39937:131;:::i;40085:416::-;40285:2;40299:47;;;40270:18;;40360:131;40270:18;40360:131;:::i;40508:416::-;40708:2;40722:47;;;40693:18;;40783:131;40693:18;40783:131;:::i;40931:416::-;41131:2;41145:47;;;41116:18;;41206:131;41116:18;41206:131;:::i;41354:416::-;41554:2;41568:47;;;41539:18;;41629:131;41539:18;41629:131;:::i;41777:416::-;41977:2;41991:47;;;41962:18;;42052:131;41962:18;42052:131;:::i;42200:416::-;42400:2;42414:47;;;42385:18;;42475:131;42385:18;42475:131;:::i;42623:416::-;42823:2;42837:47;;;42808:18;;42898:131;42808:18;42898:131;:::i;43046:416::-;43246:2;43260:47;;;43231:18;;43321:131;43231:18;43321:131;:::i;43469:416::-;43669:2;43683:47;;;43654:18;;43744:131;43654:18;43744:131;:::i;43892:416::-;44092:2;44106:47;;;44077:18;;44167:131;44077:18;44167:131;:::i;44315:416::-;44515:2;44529:47;;;44500:18;;44590:131;44500:18;44590:131;:::i;44738:416::-;44938:2;44952:47;;;44923:18;;45013:131;44923:18;45013:131;:::i;45161:416::-;45361:2;45375:47;;;45346:18;;45436:131;45346:18;45436:131;:::i;45584:416::-;45784:2;45798:47;;;45769:18;;45859:131;45769:18;45859:131;:::i;46007:416::-;46207:2;46221:47;;;46192:18;;46282:131;46192:18;46282:131;:::i;46430:416::-;46630:2;46644:47;;;46615:18;;46705:131;46615:18;46705:131;:::i;46853:416::-;47053:2;47067:47;;;47038:18;;47128:131;47038:18;47128:131;:::i;47276:416::-;47476:2;47490:47;;;47461:18;;47551:131;47461:18;47551:131;:::i;47699:416::-;47899:2;47913:47;;;47884:18;;47974:131;47884:18;47974:131;:::i;48122:416::-;48322:2;48336:47;;;48307:18;;48397:131;48307:18;48397:131;:::i;48545:416::-;48745:2;48759:47;;;48730:18;;48820:131;48730:18;48820:131;:::i;48968:416::-;49168:2;49182:47;;;49153:18;;49243:131;49153:18;49243:131;:::i;49391:416::-;49591:2;49605:47;;;49576:18;;49666:131;49576:18;49666:131;:::i;49814:416::-;50014:2;50028:47;;;49999:18;;50089:131;49999:18;50089:131;:::i;50237:416::-;50437:2;50451:47;;;50422:18;;50512:131;50422:18;50512:131;:::i;50660:416::-;50860:2;50874:47;;;50845:18;;50935:131;50845:18;50935:131;:::i;51083:416::-;51283:2;51297:47;;;51268:18;;51358:131;51268:18;51358:131;:::i;51506:416::-;51706:2;51720:47;;;51691:18;;51781:131;51691:18;51781:131;:::i;51929:416::-;52129:2;52143:47;;;52114:18;;52204:131;52114:18;52204:131;:::i;52352:416::-;52552:2;52566:47;;;52537:18;;52627:131;52537:18;52627:131;:::i;52775:416::-;52975:2;52989:47;;;52960:18;;53050:131;52960:18;53050:131;:::i;53198:416::-;53398:2;53412:47;;;53383:18;;53473:131;53383:18;53473:131;:::i;53621:416::-;53821:2;53835:47;;;53806:18;;53896:131;53806:18;53896:131;:::i;54044:416::-;54244:2;54258:47;;;54229:18;;54319:131;54229:18;54319:131;:::i;54467:416::-;54667:2;54681:47;;;54652:18;;54742:131;54652:18;54742:131;:::i;54890:416::-;55090:2;55104:47;;;55075:18;;55165:131;55075:18;55165:131;:::i;55313:416::-;55513:2;55527:47;;;55498:18;;55588:131;55498:18;55588:131;:::i;55736:416::-;55936:2;55950:47;;;55921:18;;56011:131;55921:18;56011:131;:::i;56159:416::-;56359:2;56373:47;;;56344:18;;56434:131;56344:18;56434:131;:::i;56582:416::-;56782:2;56796:47;;;56767:18;;56857:131;56767:18;56857:131;:::i;57005:416::-;57205:2;57219:47;;;57190:18;;57280:131;57190:18;57280:131;:::i;57428:366::-;57627:2;57612:18;;57641:143;57616:9;57757:6;57641:143;:::i;57801:387::-;58010:3;57995:19;;58025:153;57999:9;58151:6;58025:153;:::i;58195:222::-;58322:2;58307:18;;58336:71;58311:9;58380:6;58336:71;:::i;58424:333::-;58579:2;58564:18;;58593:71;58568:9;58637:6;58593:71;:::i;58764:444::-;58947:2;58932:18;;58961:71;58936:9;59005:6;58961:71;:::i;:::-;59043:72;59111:2;59100:9;59096:18;59087:6;59043:72;:::i;59215:548::-;59422:3;59407:19;;59437:70;59411:9;59480:6;59437:70;:::i;:::-;59518:71;59585:2;59574:9;59570:18;59561:6;59518:71;:::i;:::-;59600;59667:2;59656:9;59652:18;59643:6;59600:71;:::i;:::-;59682;59749:2;59738:9;59734:18;59725:6;59682:71;:::i;:::-;59393:370;;;;;;;:::o;59770:214::-;59893:2;59878:18;;59907:67;59882:9;59947:6;59907:67;:::i;59991:256::-;60053:2;60047:9;60079:17;;;-1:-1;;;;;60139:34;;60175:22;;;60136:62;60133:2;;;60211:1;60208;60201:12;60133:2;60227;60220:22;60031:216;;-1:-1;60031:216::o;60254:321::-;;-1:-1;;;;;60389:6;60386:30;60383:2;;;60429:1;60426;60419:12;60383:2;-1:-1;60560:4;60496;60473:17;;;;-1:-1;;60469:33;60550:15;;60320:255::o;60911:151::-;61035:4;61026:14;;60983:79::o;61227:137::-;61330:12;;61301:63::o;62003:178::-;62121:19;;;62170:4;62161:14;;62114:67::o;62855:91::-;;62917:24;62935:5;62917:24;:::i;62953:85::-;63019:13;63012:21;;62995:43::o;63045:107::-;;63123:24;63141:5;63123:24;:::i;63159:113::-;-1:-1;;;;;63221:46;;63204:68::o;63279:121::-;-1:-1;;;;;63341:54;;63324:76::o;63486:88::-;63558:10;63547:22;;63530:44::o;63581:96::-;-1:-1;;;;;63642:30;;63625:52::o;63684:81::-;63755:4;63744:16;;63727:38::o;63772:106::-;;63850:23;63867:5;63850:23;:::i;63885:106::-;;63963:23;63980:5;63963:23;:::i;63999:268::-;64064:1;64071:101;64085:6;64082:1;64079:13;64071:101;;;64152:11;;;64146:18;64133:11;;;64126:39;64107:2;64100:10;64071:101;;;64187:6;64184:1;64181:13;64178:2;;;-1:-1;;64252:1;64234:16;;64227:27;64048:219::o;64275:97::-;64363:2;64343:14;-1:-1;;64339:28;;64323:49::o;64380:117::-;64449:24;64467:5;64449:24;:::i;:::-;64442:5;64439:35;64429:2;;64488:1;64485;64478:12;64504:111;64570:21;64585:5;64570:21;:::i;64622:149::-;64707:40;64741:5;64707:40;:::i;64778:117::-;64847:24;64865:5;64847:24;:::i;64902:115::-;64970:23;64987:5;64970:23;:::i;65024:115::-;65092:23;65109:5;65092:23;:::i", - "linkReferences": {}, - "immutableReferences": { - "8251": [ - { - "start": 2245, - "length": 32 - }, - { - "start": 13194, - "length": 32 - } - ], - "8253": [ - { - "start": 1445, - "length": 32 - }, - { - "start": 6603, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "addManagers(address[])": "8c5f9e74", - "allowance(address,address)": "dd62ed3e", - "approve(address,uint256)": "095ea7b3", - "balanceOf(address)": "70a08231", - "calcLatestRedemptionWindow()": "61791f27", - "cancelRequestRedeem()": "58205209", - "decimals()": "313ce567", - "decreaseAllowance(address,uint256)": "a457c2d7", - "deposit(address,uint256,uint256)": "0efe6a8b", - "depositApprovalsAreUsed()": "9a8fea95", - "getDepositApproval(address,address)": "2f63221d", - "getRedemptionApproval(address)": "38f1917d", - "getRedemptionAsset()": "6829bda7", - "getRedemptionQueue()": "cea6a0ee", - "getRedemptionQueueUserByIndex(uint256)": "318f98aa", - "getRedemptionQueueUserRequest(address)": "a8e5eeb1", - "getRedemptionQueueUsers()": "447d7e19", - "getRedemptionQueueUsersLength()": "7cb4f020", - "getRedemptionWindowConfig()": "fd71b12b", - "getTransferApproval(address,address)": "6753c159", - "getVaultProxy()": "c9809187", - "increaseAllowance(address,uint256)": "39509351", - "init(address,address[],address,bool,bool,bool,(uint64,uint32,uint32,uint64))": "42f6be5b", - "isManager(address)": "f3ae2415", - "kick(address)": "96c55175", - "name()": "06fdde03", - "redeemFromQueue(uint256,uint256)": "ca4ca8fa", - "redemptionApprovalsAreUsed()": "8f958f71", - "removeManagers(address[])": "10f3ee29", - "requestRedeem(uint256)": "aa2f892d", - "setDepositApprovals(address[],address[],uint256[])": "34c94506", - "setRedemptionApprovals(address[],uint256[])": "8d1d24da", - "setRedemptionAsset(address)": "7ba06931", - "setRedemptionWindowConfig((uint64,uint32,uint32,uint64))": "09f8ca5c", - "setTransferApprovals(address[],address[],uint256[])": "469df117", - "setUseDepositApprovals(bool)": "b9a3abdb", - "setUseRedemptionApprovals(bool)": "4d947471", - "setUseTransferApprovals(bool)": "15fd7a52", - "symbol()": "95d89b41", - "totalSupply()": "18160ddd", - "transfer(address,uint256)": "a9059cbb", - "transferApprovalsAreUsed()": "f7cb8952", - "transferFrom(address,address,uint256)": "23b872dd" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_globalConfigProxy\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"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\":\"user\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"asset\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"DepositApproval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"depositToken\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"depositTokenAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"sharesReceived\",\"type\":\"uint256\"}],\"name\":\"Deposited\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"vaultProxy\",\"type\":\"address\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"sharesAmount\",\"type\":\"uint256\"}],\"name\":\"Kicked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"ManagerAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"ManagerRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"sharesAmount\",\"type\":\"uint256\"}],\"name\":\"Redeemed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"RedemptionApproval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"asset\",\"type\":\"address\"}],\"name\":\"RedemptionAssetSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"sharesAmount\",\"type\":\"uint256\"}],\"name\":\"RedemptionRequestAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"RedemptionRequestRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"firstWindowStart\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"frequency\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"duration\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"relativeSharesCap\",\"type\":\"uint256\"}],\"name\":\"RedemptionWindowConfigSet\",\"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\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"TransferApproval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"useApprovals\",\"type\":\"bool\"}],\"name\":\"UseDepositApprovalsSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"useApprovals\",\"type\":\"bool\"}],\"name\":\"UseRedemptionApprovalsSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"useApprovals\",\"type\":\"bool\"}],\"name\":\"UseTransferApprovalsSet\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_managers\",\"type\":\"address[]\"}],\"name\":\"addManagers\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"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\":\"calcLatestRedemptionWindow\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"windowStart_\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"windowEnd_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"cancelRequestRedeem\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"decimals_\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract ERC20\",\"name\":\"_depositAssetContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_depositAssetAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_minSharesAmount\",\"type\":\"uint256\"}],\"name\":\"deposit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"sharesReceived_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"depositApprovalsAreUsed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"approvalsUsed_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"}],\"name\":\"getDepositApproval\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"getRedemptionApproval\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRedemptionAsset\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"asset_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRedemptionQueue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"totalSharesPending_\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"relativeSharesAllowed_\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"relativeSharesCheckpointed_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_index\",\"type\":\"uint256\"}],\"name\":\"getRedemptionQueueUserByIndex\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"user_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"getRedemptionQueueUserRequest\",\"outputs\":[{\"components\":[{\"internalType\":\"uint64\",\"name\":\"index\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"lastRedeemed\",\"type\":\"uint64\"},{\"internalType\":\"uint128\",\"name\":\"sharesPending\",\"type\":\"uint128\"}],\"internalType\":\"struct GatedRedemptionQueueSharesWrapperLibBase1.RedemptionRequest\",\"name\":\"request_\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRedemptionQueueUsers\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"users_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRedemptionQueueUsersLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"length_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRedemptionWindowConfig\",\"outputs\":[{\"components\":[{\"internalType\":\"uint64\",\"name\":\"firstWindowStart\",\"type\":\"uint64\"},{\"internalType\":\"uint32\",\"name\":\"frequency\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"duration\",\"type\":\"uint32\"},{\"internalType\":\"uint64\",\"name\":\"relativeSharesCap\",\"type\":\"uint64\"}],\"internalType\":\"struct GatedRedemptionQueueSharesWrapperLibBase1.RedemptionWindowConfig\",\"name\":\"redemptionWindowConfig_\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_recipient\",\"type\":\"address\"}],\"name\":\"getTransferApproval\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getVaultProxy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"vaultProxy_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"address[]\",\"name\":\"_managers\",\"type\":\"address[]\"},{\"internalType\":\"address\",\"name\":\"_redemptionAsset\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_useDepositApprovals\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"_useRedemptionApprovals\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"_useTransferApprovals\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"uint64\",\"name\":\"firstWindowStart\",\"type\":\"uint64\"},{\"internalType\":\"uint32\",\"name\":\"frequency\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"duration\",\"type\":\"uint32\"},{\"internalType\":\"uint64\",\"name\":\"relativeSharesCap\",\"type\":\"uint64\"}],\"internalType\":\"struct GatedRedemptionQueueSharesWrapperLibBase1.RedemptionWindowConfig\",\"name\":\"_windowConfig\",\"type\":\"tuple\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"isManager\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isManager_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"kick\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"sharesRedeemed_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"name_\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_startIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_endIndex\",\"type\":\"uint256\"}],\"name\":\"redeemFromQueue\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"usersRedeemed_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"sharesRedeemed_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"redemptionApprovalsAreUsed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"approvalsUsed_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_managers\",\"type\":\"address[]\"}],\"name\":\"removeManagers\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_sharesAmount\",\"type\":\"uint256\"}],\"name\":\"requestRedeem\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_users\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"_assets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"_amounts\",\"type\":\"uint256[]\"}],\"name\":\"setDepositApprovals\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_users\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"_amounts\",\"type\":\"uint256[]\"}],\"name\":\"setRedemptionApprovals\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nextRedemptionAsset\",\"type\":\"address\"}],\"name\":\"setRedemptionAsset\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint64\",\"name\":\"firstWindowStart\",\"type\":\"uint64\"},{\"internalType\":\"uint32\",\"name\":\"frequency\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"duration\",\"type\":\"uint32\"},{\"internalType\":\"uint64\",\"name\":\"relativeSharesCap\",\"type\":\"uint64\"}],\"internalType\":\"struct GatedRedemptionQueueSharesWrapperLibBase1.RedemptionWindowConfig\",\"name\":\"_nextWindowConfig\",\"type\":\"tuple\"}],\"name\":\"setRedemptionWindowConfig\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_users\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"_recipients\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"_amounts\",\"type\":\"uint256[]\"}],\"name\":\"setTransferApprovals\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"_nextUseDepositApprovals\",\"type\":\"bool\"}],\"name\":\"setUseDepositApprovals\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"_nextUseRedemptionApprovals\",\"type\":\"bool\"}],\"name\":\"setUseRedemptionApprovals\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"_nextUseTransferApprovals\",\"type\":\"bool\"}],\"name\":\"setUseTransferApprovals\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"symbol_\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success_\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"transferApprovalsAreUsed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"approvalsUsed_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success_\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"addManagers(address[])\":{\"params\":{\"_managers\":\"Managers to add\"}},\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"calcLatestRedemptionWindow()\":{\"details\":\"Prior to first redemption window, returns no window (i.e., start and end are 0). After that, returns the last (or current) window, until a new window is reached.\",\"returns\":{\"windowEnd_\":\"The end of the latest window\",\"windowStart_\":\"The start of the latest window\"}},\"decimals()\":{\"returns\":{\"decimals_\":\"The number of decimals\"}},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.\"},\"deposit(address,uint256,uint256)\":{\"details\":\"Does not support deposits in fee-on-transfer tokens\",\"params\":{\"_depositAssetAmount\":\"The amount of the token to deposit\",\"_depositAssetContract\":\"The token to deposit\",\"_minSharesAmount\":\"The min shares to mint\"},\"returns\":{\"sharesReceived_\":\"The amount of wrapped shares received\"}},\"depositApprovalsAreUsed()\":{\"returns\":{\"approvalsUsed_\":\"True if required\"}},\"getDepositApproval(address,address)\":{\"params\":{\"_asset\":\"The asset\",\"_user\":\"The user\"},\"returns\":{\"amount_\":\"The approval amount\"}},\"getRedemptionApproval(address)\":{\"params\":{\"_user\":\"The user\"},\"returns\":{\"amount_\":\"The approval amount\"}},\"getRedemptionAsset()\":{\"returns\":{\"asset_\":\"The asset\"}},\"getRedemptionQueue()\":{\"details\":\"Can't return a struct with a mapping in solc 0.6.12\",\"returns\":{\"relativeSharesAllowed_\":\"The relative shares allowed per-user during the window, as of the last checkpoint\",\"relativeSharesCheckpointed_\":\"The last checkpoint of relativeSharesAllowed_\",\"totalSharesPending_\":\"The total shares pending in the queue\"}},\"getRedemptionQueueUserByIndex(uint256)\":{\"params\":{\"_index\":\"The index\"},\"returns\":{\"user_\":\"The user\"}},\"getRedemptionQueueUserRequest(address)\":{\"params\":{\"_user\":\"The user\"},\"returns\":{\"request_\":\"The RedemptionRequest\"}},\"getRedemptionQueueUsers()\":{\"returns\":{\"users_\":\"The list of users\"}},\"getRedemptionQueueUsersLength()\":{\"returns\":{\"length_\":\"The count of users\"}},\"getRedemptionWindowConfig()\":{\"returns\":{\"redemptionWindowConfig_\":\"The RedemptionWindowConfig\"}},\"getTransferApproval(address,address)\":{\"params\":{\"_recipient\":\"The recipient\",\"_sender\":\"The sender\"},\"returns\":{\"amount_\":\"The approval amount\"}},\"getVaultProxy()\":{\"returns\":{\"vaultProxy_\":\"The vaultProxy value\"}},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address.\"},\"init(address,address[],address,bool,bool,bool,(uint64,uint32,uint32,uint64))\":{\"params\":{\"_managers\":\"Users to give the role of manager for the wrapper\",\"_redemptionAsset\":\"The asset to receive during shares redemptions\",\"_useDepositApprovals\":\"True if deposit pre-approvals are required\",\"_useRedemptionApprovals\":\"True if the redemption request pre-approvals are required\",\"_useTransferApprovals\":\"True if shares transfer pre-approvals are required\",\"_vaultProxy\":\"The VaultProxy that will have its shares wrapped\",\"_windowConfig\":\"Initial redemption window configuration\"}},\"isManager(address)\":{\"params\":{\"_user\":\"The user to check\"},\"returns\":{\"isManager_\":\"True if _user is a wrapper manager\"}},\"kick(address)\":{\"details\":\"Must cleanup any approvals separately\",\"params\":{\"_user\":\"The user\",\"sharesRedeemed_\":\"The amount of shares redeemed\"}},\"name()\":{\"returns\":{\"name_\":\"The name\"}},\"redeemFromQueue(uint256,uint256)\":{\"details\":\"If redemptions are not throttled by relativeSharesAllowed, always slice from the end of the queue (more efficient to remove all users from the queue)\",\"params\":{\"_endIndex\":\"The final index of the slice\",\"_startIndex\":\"The first index of the slice\"},\"returns\":{\"sharesRedeemed_\":\"The amount of shares redeemed for each user\",\"usersRedeemed_\":\"The users redeemed\"}},\"redemptionApprovalsAreUsed()\":{\"returns\":{\"approvalsUsed_\":\"True if required\"}},\"removeManagers(address[])\":{\"params\":{\"_managers\":\"Managers to remove\"}},\"requestRedeem(uint256)\":{\"details\":\"Each request is additive\",\"params\":{\"_sharesAmount\":\"The amount of shares to add to the queue\"}},\"setDepositApprovals(address[],address[],uint256[])\":{\"params\":{\"_amounts\":\"The amount of each approval\",\"_assets\":\"The deposit token for each approval\",\"_users\":\"The users\"}},\"setRedemptionApprovals(address[],uint256[])\":{\"params\":{\"_amounts\":\"The amount of each approval\",\"_users\":\"The users\"}},\"setRedemptionAsset(address)\":{\"params\":{\"_nextRedemptionAsset\":\"The asset\"}},\"setRedemptionWindowConfig((uint64,uint32,uint32,uint64))\":{\"params\":{\"_nextWindowConfig\":\"The RedemptionWindowConfig\"}},\"setTransferApprovals(address[],address[],uint256[])\":{\"params\":{\"_amounts\":\"The amount of each approval\",\"_recipients\":\"The recipient for each approval\",\"_users\":\"The users (senders)\"}},\"setUseDepositApprovals(bool)\":{\"params\":{\"_nextUseDepositApprovals\":\"True if required\"}},\"setUseRedemptionApprovals(bool)\":{\"params\":{\"_nextUseRedemptionApprovals\":\"True if required\"}},\"setUseTransferApprovals(bool)\":{\"params\":{\"_nextUseTransferApprovals\":\"True if required\"}},\"symbol()\":{\"returns\":{\"symbol_\":\"The symbol\"}},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"transferApprovalsAreUsed()\":{\"returns\":{\"approvalsUsed_\":\"True if required\"}}},\"title\":\"GatedRedemptionQueueSharesWrapperLib Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"addManagers(address[])\":{\"notice\":\"Adds managers\"},\"calcLatestRedemptionWindow()\":{\"notice\":\"Helper to calculate the most recent redemption window\"},\"cancelRequestRedeem()\":{\"notice\":\"Cancels the caller's redemption request\"},\"decimals()\":{\"notice\":\"Gets the number of decimals of the wrapped shares token\"},\"deposit(address,uint256,uint256)\":{\"notice\":\"Deposits a token to mint wrapped Enzyme vault shares\"},\"depositApprovalsAreUsed()\":{\"notice\":\"Checks whether deposit approvals are required\"},\"getDepositApproval(address,address)\":{\"notice\":\"Gets the deposit approval for a given user and asset\"},\"getRedemptionApproval(address)\":{\"notice\":\"Gets the redemption approval for a given user\"},\"getRedemptionAsset()\":{\"notice\":\"Gets the asset received during redemptions\"},\"getRedemptionQueue()\":{\"notice\":\"Gets the redemption queue state\"},\"getRedemptionQueueUserByIndex(uint256)\":{\"notice\":\"Gets the user at the specified index in the redemption queue list of users\"},\"getRedemptionQueueUserRequest(address)\":{\"notice\":\"Gets the redemption request for a specified user\"},\"getRedemptionQueueUsers()\":{\"notice\":\"Gets the list of all users in the redemption queue\"},\"getRedemptionQueueUsersLength()\":{\"notice\":\"Gets the count of users in the redemption queue\"},\"getRedemptionWindowConfig()\":{\"notice\":\"Gets the redemption window configuration\"},\"getTransferApproval(address,address)\":{\"notice\":\"Gets the deposit approval for a given sender and recipient\"},\"getVaultProxy()\":{\"notice\":\"Gets the vaultProxy var\"},\"init(address,address[],address,bool,bool,bool,(uint64,uint32,uint32,uint64))\":{\"notice\":\"Initializes a proxy instance\"},\"isManager(address)\":{\"notice\":\"Checks whether a user is a wrapper manager\"},\"kick(address)\":{\"notice\":\"Kicks a user from the wrapper, redeeming their wrapped shares\"},\"name()\":{\"notice\":\"Gets the name of the wrapped shares token\"},\"redeemFromQueue(uint256,uint256)\":{\"notice\":\"Redeems a slice of requests from the queue\"},\"redemptionApprovalsAreUsed()\":{\"notice\":\"Checks whether redemption approvals are required\"},\"removeManagers(address[])\":{\"notice\":\"Removes managers\"},\"requestRedeem(uint256)\":{\"notice\":\"Requests to join the queue for redeeming wrapped shares\"},\"setDepositApprovals(address[],address[],uint256[])\":{\"notice\":\"Sets deposit approvals for a list of users\"},\"setRedemptionApprovals(address[],uint256[])\":{\"notice\":\"Sets redemption approvals for a list of users\"},\"setRedemptionAsset(address)\":{\"notice\":\"Sets the asset received during redemptions\"},\"setRedemptionWindowConfig((uint64,uint32,uint32,uint64))\":{\"notice\":\"Sets the configuration for the redemption window\"},\"setTransferApprovals(address[],address[],uint256[])\":{\"notice\":\"Sets transfer approvals for a list of users\"},\"setUseDepositApprovals(bool)\":{\"notice\":\"Sets whether deposit approvals are required\"},\"setUseRedemptionApprovals(bool)\":{\"notice\":\"Sets whether redemption approvals are required\"},\"setUseTransferApprovals(bool)\":{\"notice\":\"Sets whether transfer approvals are required\"},\"symbol()\":{\"notice\":\"Gets the symbol of the wrapped shares token\"},\"transfer(address,uint256)\":{\"notice\":\"Standard implementation of ERC20's transfer() with additional validations\"},\"transferApprovalsAreUsed()\":{\"notice\":\"Checks whether approvals are required for transferring wrapped shares\"},\"transferFrom(address,address,uint256)\":{\"notice\":\"Standard implementation of ERC20's transferFrom() with additional validations\"}},\"notice\":\"A release-agnostic ERC20 wrapper for Enzyme vault shares that facilitates queued, single-asset redemptions, as well as misc participation controls\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/shares-wrappers/gated-redemption-queue/GatedRedemptionQueueSharesWrapperLib.sol\":\"GatedRedemptionQueueSharesWrapperLib\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/global-config/interfaces/IGlobalConfig1.sol\":{\"keccak256\":\"0x7b643513fd8e1a3aadc476536785a925fb7c032c21e385e69e562abff531a646\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://682cce7a4c7316ab7aa39361dff84646ba8c89ad26f2c706a4b2940f8ab27205\",\"dweb:/ipfs/QmTtyfPn3M8ErCs8zuhT4NrZiL4CAUyv37os37HebYuGA8\"]},\"contracts/persistent/global-config/interfaces/IGlobalConfig2.sol\":{\"keccak256\":\"0x98c55513d3903864848be0d1159ec7703f23b1119ca10da17c109417e06cc171\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c6a92d9afd1167d4f560d66ec98c3137f224db743fc3b6c412d5617be97168b9\",\"dweb:/ipfs/QmZbDacG1C1dsQ9tx3BgAH9nTp4zfWYF1YDRYVbcgcKob4\"]},\"contracts/persistent/shares-wrappers/gated-redemption-queue/GatedRedemptionQueueSharesWrapperLib.sol\":{\"keccak256\":\"0x3b1b7b002819836878844950531d005894f9f0424b5e594af7ce969fea787c0a\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d3823cfb06b46cd94d977b84c139132930e3316bc22e9ba1c58bda3cbae6099f\",\"dweb:/ipfs/QmP6jhjdjkpnaNFpGkiwpC1pNWPMz2FNTgKygEAhHeV9T7\"]},\"contracts/persistent/shares-wrappers/gated-redemption-queue/bases/GatedRedemptionQueueSharesWrapperLibBase1.sol\":{\"keccak256\":\"0x388cb81f45eeef5e9d5faef80fd2820cde5d1204c8163171795a6e96475f87dd\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6d2b5da8a69e4da279a7fe48653ab48bfc4f21bb81cefdf080046de896e8183e\",\"dweb:/ipfs/QmbExKRHLVSpo1fSySKBGdozACen2uYNMhVTpao6GfkPTC\"]},\"contracts/persistent/vault/interfaces/IVaultCore.sol\":{\"keccak256\":\"0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd\",\"dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]},\"node_modules/@openzeppelin/contracts/utils/ReentrancyGuard.sol\":{\"keccak256\":\"0x8bbbc2f5c10065ee272592ae0a7a6ceb23de2fbd81564ee0bb015ecf404d5f61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b95e56c1640d0ef789fc5c16269e141e992f6c8ac97cc6d377bd3825e9cab182\",\"dweb:/ipfs/QmVzaxJZY51EhagrcNnkxoU6Uq17RhATe7aHvtkC6wUkgK\"]},\"node_modules/@openzeppelin/contracts/utils/SafeCast.sol\":{\"keccak256\":\"0x7b2b8baa20fd60ab4a328c8e34c64a353651b80ba4b5b157cbb61813f6f85d55\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://125b7f9efa390e663d630c62b97ae4e0707f31623bea989ef94c97ca9d777dd2\",\"dweb:/ipfs/QmaaLSuwvqK7wqcgyS3utHgfmB7RntcvP7eJSuvQod8Z9P\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_globalConfigProxy", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "spender", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "Approval", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "user", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "asset", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "DepositApproval", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "user", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "depositToken", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "depositTokenAmount", - "type": "uint256", - "indexed": false - }, - { - "internalType": "uint256", - "name": "sharesReceived", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "Deposited", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "vaultProxy", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "Initialized", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "user", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "sharesAmount", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "Kicked", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "user", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "ManagerAdded", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "user", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "ManagerRemoved", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "user", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "sharesAmount", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "Redeemed", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "user", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "RedemptionApproval", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "asset", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "RedemptionAssetSet", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "user", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "sharesAmount", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "RedemptionRequestAdded", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "user", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "RedemptionRequestRemoved", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "firstWindowStart", - "type": "uint256", - "indexed": false - }, - { - "internalType": "uint256", - "name": "frequency", - "type": "uint256", - "indexed": false - }, - { - "internalType": "uint256", - "name": "duration", - "type": "uint256", - "indexed": false - }, - { - "internalType": "uint256", - "name": "relativeSharesCap", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "RedemptionWindowConfigSet", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "to", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "Transfer", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "recipient", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "TransferApproval", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "bool", - "name": "useApprovals", - "type": "bool", - "indexed": false - } - ], - "type": "event", - "name": "UseDepositApprovalsSet", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "bool", - "name": "useApprovals", - "type": "bool", - "indexed": false - } - ], - "type": "event", - "name": "UseRedemptionApprovalsSet", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "bool", - "name": "useApprovals", - "type": "bool", - "indexed": false - } - ], - "type": "event", - "name": "UseTransferApprovalsSet", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_managers", - "type": "address[]" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "addManagers" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "calcLatestRedemptionWindow", - "outputs": [ - { - "internalType": "uint256", - "name": "windowStart_", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "windowEnd_", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "cancelRequestRedeem" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "decimals_", - "type": "uint8" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "subtractedValue", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "decreaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "contract ERC20", - "name": "_depositAssetContract", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_depositAssetAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_minSharesAmount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "deposit", - "outputs": [ - { - "internalType": "uint256", - "name": "sharesReceived_", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "depositApprovalsAreUsed", - "outputs": [ - { - "internalType": "bool", - "name": "approvalsUsed_", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_user", - "type": "address" - }, - { - "internalType": "address", - "name": "_asset", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getDepositApproval", - "outputs": [ - { - "internalType": "uint256", - "name": "amount_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_user", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getRedemptionApproval", - "outputs": [ - { - "internalType": "uint256", - "name": "amount_", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getRedemptionAsset", - "outputs": [ - { - "internalType": "address", - "name": "asset_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getRedemptionQueue", - "outputs": [ - { - "internalType": "uint256", - "name": "totalSharesPending_", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "relativeSharesAllowed_", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "relativeSharesCheckpointed_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_index", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getRedemptionQueueUserByIndex", - "outputs": [ - { - "internalType": "address", - "name": "user_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_user", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getRedemptionQueueUserRequest", - "outputs": [ - { - "internalType": "struct GatedRedemptionQueueSharesWrapperLibBase1.RedemptionRequest", - "name": "request_", - "type": "tuple", - "components": [ - { - "internalType": "uint64", - "name": "index", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "lastRedeemed", - "type": "uint64" - }, - { - "internalType": "uint128", - "name": "sharesPending", - "type": "uint128" - } - ] - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getRedemptionQueueUsers", - "outputs": [ - { - "internalType": "address[]", - "name": "users_", - "type": "address[]" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getRedemptionQueueUsersLength", - "outputs": [ - { - "internalType": "uint256", - "name": "length_", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getRedemptionWindowConfig", - "outputs": [ - { - "internalType": "struct GatedRedemptionQueueSharesWrapperLibBase1.RedemptionWindowConfig", - "name": "redemptionWindowConfig_", - "type": "tuple", - "components": [ - { - "internalType": "uint64", - "name": "firstWindowStart", - "type": "uint64" - }, - { - "internalType": "uint32", - "name": "frequency", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "duration", - "type": "uint32" - }, - { - "internalType": "uint64", - "name": "relativeSharesCap", - "type": "uint64" - } - ] - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_sender", - "type": "address" - }, - { - "internalType": "address", - "name": "_recipient", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getTransferApproval", - "outputs": [ - { - "internalType": "uint256", - "name": "amount_", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getVaultProxy", - "outputs": [ - { - "internalType": "address", - "name": "vaultProxy_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "addedValue", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "increaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "address[]", - "name": "_managers", - "type": "address[]" - }, - { - "internalType": "address", - "name": "_redemptionAsset", - "type": "address" - }, - { - "internalType": "bool", - "name": "_useDepositApprovals", - "type": "bool" - }, - { - "internalType": "bool", - "name": "_useRedemptionApprovals", - "type": "bool" - }, - { - "internalType": "bool", - "name": "_useTransferApprovals", - "type": "bool" - }, - { - "internalType": "struct GatedRedemptionQueueSharesWrapperLibBase1.RedemptionWindowConfig", - "name": "_windowConfig", - "type": "tuple", - "components": [ - { - "internalType": "uint64", - "name": "firstWindowStart", - "type": "uint64" - }, - { - "internalType": "uint32", - "name": "frequency", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "duration", - "type": "uint32" - }, - { - "internalType": "uint64", - "name": "relativeSharesCap", - "type": "uint64" - } - ] - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "init" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_user", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "isManager", - "outputs": [ - { - "internalType": "bool", - "name": "isManager_", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_user", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "kick", - "outputs": [ - { - "internalType": "uint256", - "name": "sharesRedeemed_", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "name_", - "type": "string" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_startIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_endIndex", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "redeemFromQueue", - "outputs": [ - { - "internalType": "address[]", - "name": "usersRedeemed_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "sharesRedeemed_", - "type": "uint256[]" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "redemptionApprovalsAreUsed", - "outputs": [ - { - "internalType": "bool", - "name": "approvalsUsed_", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_managers", - "type": "address[]" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "removeManagers" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_sharesAmount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "requestRedeem" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_users", - "type": "address[]" - }, - { - "internalType": "address[]", - "name": "_assets", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "_amounts", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setDepositApprovals" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_users", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "_amounts", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setRedemptionApprovals" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_nextRedemptionAsset", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setRedemptionAsset" - }, - { - "inputs": [ - { - "internalType": "struct GatedRedemptionQueueSharesWrapperLibBase1.RedemptionWindowConfig", - "name": "_nextWindowConfig", - "type": "tuple", - "components": [ - { - "internalType": "uint64", - "name": "firstWindowStart", - "type": "uint64" - }, - { - "internalType": "uint32", - "name": "frequency", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "duration", - "type": "uint32" - }, - { - "internalType": "uint64", - "name": "relativeSharesCap", - "type": "uint64" - } - ] - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setRedemptionWindowConfig" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_users", - "type": "address[]" - }, - { - "internalType": "address[]", - "name": "_recipients", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "_amounts", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setTransferApprovals" - }, - { - "inputs": [ - { - "internalType": "bool", - "name": "_nextUseDepositApprovals", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setUseDepositApprovals" - }, - { - "inputs": [ - { - "internalType": "bool", - "name": "_nextUseRedemptionApprovals", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setUseRedemptionApprovals" - }, - { - "inputs": [ - { - "internalType": "bool", - "name": "_nextUseTransferApprovals", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setUseTransferApprovals" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "symbol_", - "type": "string" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "success_", - "type": "bool" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "transferApprovalsAreUsed", - "outputs": [ - { - "internalType": "bool", - "name": "approvalsUsed_", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_sender", - "type": "address" - }, - { - "internalType": "address", - "name": "_recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "success_", - "type": "bool" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "addManagers(address[])": { - "params": { - "_managers": "Managers to add" - } - }, - "allowance(address,address)": { - "details": "See {IERC20-allowance}." - }, - "approve(address,uint256)": { - "details": "See {IERC20-approve}. Requirements: - `spender` cannot be the zero address." - }, - "balanceOf(address)": { - "details": "See {IERC20-balanceOf}." - }, - "calcLatestRedemptionWindow()": { - "details": "Prior to first redemption window, returns no window (i.e., start and end are 0). After that, returns the last (or current) window, until a new window is reached.", - "returns": { - "windowEnd_": "The end of the latest window", - "windowStart_": "The start of the latest window" - } - }, - "decimals()": { - "returns": { - "decimals_": "The number of decimals" - } - }, - "decreaseAllowance(address,uint256)": { - "details": "Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`." - }, - "deposit(address,uint256,uint256)": { - "details": "Does not support deposits in fee-on-transfer tokens", - "params": { - "_depositAssetAmount": "The amount of the token to deposit", - "_depositAssetContract": "The token to deposit", - "_minSharesAmount": "The min shares to mint" - }, - "returns": { - "sharesReceived_": "The amount of wrapped shares received" - } - }, - "depositApprovalsAreUsed()": { - "returns": { - "approvalsUsed_": "True if required" - } - }, - "getDepositApproval(address,address)": { - "params": { - "_asset": "The asset", - "_user": "The user" - }, - "returns": { - "amount_": "The approval amount" - } - }, - "getRedemptionApproval(address)": { - "params": { - "_user": "The user" - }, - "returns": { - "amount_": "The approval amount" - } - }, - "getRedemptionAsset()": { - "returns": { - "asset_": "The asset" - } - }, - "getRedemptionQueue()": { - "details": "Can't return a struct with a mapping in solc 0.6.12", - "returns": { - "relativeSharesAllowed_": "The relative shares allowed per-user during the window, as of the last checkpoint", - "relativeSharesCheckpointed_": "The last checkpoint of relativeSharesAllowed_", - "totalSharesPending_": "The total shares pending in the queue" - } - }, - "getRedemptionQueueUserByIndex(uint256)": { - "params": { - "_index": "The index" - }, - "returns": { - "user_": "The user" - } - }, - "getRedemptionQueueUserRequest(address)": { - "params": { - "_user": "The user" - }, - "returns": { - "request_": "The RedemptionRequest" - } - }, - "getRedemptionQueueUsers()": { - "returns": { - "users_": "The list of users" - } - }, - "getRedemptionQueueUsersLength()": { - "returns": { - "length_": "The count of users" - } - }, - "getRedemptionWindowConfig()": { - "returns": { - "redemptionWindowConfig_": "The RedemptionWindowConfig" - } - }, - "getTransferApproval(address,address)": { - "params": { - "_recipient": "The recipient", - "_sender": "The sender" - }, - "returns": { - "amount_": "The approval amount" - } - }, - "getVaultProxy()": { - "returns": { - "vaultProxy_": "The vaultProxy value" - } - }, - "increaseAllowance(address,uint256)": { - "details": "Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address." - }, - "init(address,address[],address,bool,bool,bool,(uint64,uint32,uint32,uint64))": { - "params": { - "_managers": "Users to give the role of manager for the wrapper", - "_redemptionAsset": "The asset to receive during shares redemptions", - "_useDepositApprovals": "True if deposit pre-approvals are required", - "_useRedemptionApprovals": "True if the redemption request pre-approvals are required", - "_useTransferApprovals": "True if shares transfer pre-approvals are required", - "_vaultProxy": "The VaultProxy that will have its shares wrapped", - "_windowConfig": "Initial redemption window configuration" - } - }, - "isManager(address)": { - "params": { - "_user": "The user to check" - }, - "returns": { - "isManager_": "True if _user is a wrapper manager" - } - }, - "kick(address)": { - "details": "Must cleanup any approvals separately", - "params": { - "_user": "The user", - "sharesRedeemed_": "The amount of shares redeemed" - } - }, - "name()": { - "returns": { - "name_": "The name" - } - }, - "redeemFromQueue(uint256,uint256)": { - "details": "If redemptions are not throttled by relativeSharesAllowed, always slice from the end of the queue (more efficient to remove all users from the queue)", - "params": { - "_endIndex": "The final index of the slice", - "_startIndex": "The first index of the slice" - }, - "returns": { - "sharesRedeemed_": "The amount of shares redeemed for each user", - "usersRedeemed_": "The users redeemed" - } - }, - "redemptionApprovalsAreUsed()": { - "returns": { - "approvalsUsed_": "True if required" - } - }, - "removeManagers(address[])": { - "params": { - "_managers": "Managers to remove" - } - }, - "requestRedeem(uint256)": { - "details": "Each request is additive", - "params": { - "_sharesAmount": "The amount of shares to add to the queue" - } - }, - "setDepositApprovals(address[],address[],uint256[])": { - "params": { - "_amounts": "The amount of each approval", - "_assets": "The deposit token for each approval", - "_users": "The users" - } - }, - "setRedemptionApprovals(address[],uint256[])": { - "params": { - "_amounts": "The amount of each approval", - "_users": "The users" - } - }, - "setRedemptionAsset(address)": { - "params": { - "_nextRedemptionAsset": "The asset" - } - }, - "setRedemptionWindowConfig((uint64,uint32,uint32,uint64))": { - "params": { - "_nextWindowConfig": "The RedemptionWindowConfig" - } - }, - "setTransferApprovals(address[],address[],uint256[])": { - "params": { - "_amounts": "The amount of each approval", - "_recipients": "The recipient for each approval", - "_users": "The users (senders)" - } - }, - "setUseDepositApprovals(bool)": { - "params": { - "_nextUseDepositApprovals": "True if required" - } - }, - "setUseRedemptionApprovals(bool)": { - "params": { - "_nextUseRedemptionApprovals": "True if required" - } - }, - "setUseTransferApprovals(bool)": { - "params": { - "_nextUseTransferApprovals": "True if required" - } - }, - "symbol()": { - "returns": { - "symbol_": "The symbol" - } - }, - "totalSupply()": { - "details": "See {IERC20-totalSupply}." - }, - "transferApprovalsAreUsed()": { - "returns": { - "approvalsUsed_": "True if required" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "addManagers(address[])": { - "notice": "Adds managers" - }, - "calcLatestRedemptionWindow()": { - "notice": "Helper to calculate the most recent redemption window" - }, - "cancelRequestRedeem()": { - "notice": "Cancels the caller's redemption request" - }, - "decimals()": { - "notice": "Gets the number of decimals of the wrapped shares token" - }, - "deposit(address,uint256,uint256)": { - "notice": "Deposits a token to mint wrapped Enzyme vault shares" - }, - "depositApprovalsAreUsed()": { - "notice": "Checks whether deposit approvals are required" - }, - "getDepositApproval(address,address)": { - "notice": "Gets the deposit approval for a given user and asset" - }, - "getRedemptionApproval(address)": { - "notice": "Gets the redemption approval for a given user" - }, - "getRedemptionAsset()": { - "notice": "Gets the asset received during redemptions" - }, - "getRedemptionQueue()": { - "notice": "Gets the redemption queue state" - }, - "getRedemptionQueueUserByIndex(uint256)": { - "notice": "Gets the user at the specified index in the redemption queue list of users" - }, - "getRedemptionQueueUserRequest(address)": { - "notice": "Gets the redemption request for a specified user" - }, - "getRedemptionQueueUsers()": { - "notice": "Gets the list of all users in the redemption queue" - }, - "getRedemptionQueueUsersLength()": { - "notice": "Gets the count of users in the redemption queue" - }, - "getRedemptionWindowConfig()": { - "notice": "Gets the redemption window configuration" - }, - "getTransferApproval(address,address)": { - "notice": "Gets the deposit approval for a given sender and recipient" - }, - "getVaultProxy()": { - "notice": "Gets the vaultProxy var" - }, - "init(address,address[],address,bool,bool,bool,(uint64,uint32,uint32,uint64))": { - "notice": "Initializes a proxy instance" - }, - "isManager(address)": { - "notice": "Checks whether a user is a wrapper manager" - }, - "kick(address)": { - "notice": "Kicks a user from the wrapper, redeeming their wrapped shares" - }, - "name()": { - "notice": "Gets the name of the wrapped shares token" - }, - "redeemFromQueue(uint256,uint256)": { - "notice": "Redeems a slice of requests from the queue" - }, - "redemptionApprovalsAreUsed()": { - "notice": "Checks whether redemption approvals are required" - }, - "removeManagers(address[])": { - "notice": "Removes managers" - }, - "requestRedeem(uint256)": { - "notice": "Requests to join the queue for redeeming wrapped shares" - }, - "setDepositApprovals(address[],address[],uint256[])": { - "notice": "Sets deposit approvals for a list of users" - }, - "setRedemptionApprovals(address[],uint256[])": { - "notice": "Sets redemption approvals for a list of users" - }, - "setRedemptionAsset(address)": { - "notice": "Sets the asset received during redemptions" - }, - "setRedemptionWindowConfig((uint64,uint32,uint32,uint64))": { - "notice": "Sets the configuration for the redemption window" - }, - "setTransferApprovals(address[],address[],uint256[])": { - "notice": "Sets transfer approvals for a list of users" - }, - "setUseDepositApprovals(bool)": { - "notice": "Sets whether deposit approvals are required" - }, - "setUseRedemptionApprovals(bool)": { - "notice": "Sets whether redemption approvals are required" - }, - "setUseTransferApprovals(bool)": { - "notice": "Sets whether transfer approvals are required" - }, - "symbol()": { - "notice": "Gets the symbol of the wrapped shares token" - }, - "transfer(address,uint256)": { - "notice": "Standard implementation of ERC20's transfer() with additional validations" - }, - "transferApprovalsAreUsed()": { - "notice": "Checks whether approvals are required for transferring wrapped shares" - }, - "transferFrom(address,address,uint256)": { - "notice": "Standard implementation of ERC20's transferFrom() with additional validations" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/persistent/shares-wrappers/gated-redemption-queue/GatedRedemptionQueueSharesWrapperLib.sol": "GatedRedemptionQueueSharesWrapperLib" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/global-config/interfaces/IGlobalConfig1.sol": { - "keccak256": "0x7b643513fd8e1a3aadc476536785a925fb7c032c21e385e69e562abff531a646", - "urls": [ - "bzz-raw://682cce7a4c7316ab7aa39361dff84646ba8c89ad26f2c706a4b2940f8ab27205", - "dweb:/ipfs/QmTtyfPn3M8ErCs8zuhT4NrZiL4CAUyv37os37HebYuGA8" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/global-config/interfaces/IGlobalConfig2.sol": { - "keccak256": "0x98c55513d3903864848be0d1159ec7703f23b1119ca10da17c109417e06cc171", - "urls": [ - "bzz-raw://c6a92d9afd1167d4f560d66ec98c3137f224db743fc3b6c412d5617be97168b9", - "dweb:/ipfs/QmZbDacG1C1dsQ9tx3BgAH9nTp4zfWYF1YDRYVbcgcKob4" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/shares-wrappers/gated-redemption-queue/GatedRedemptionQueueSharesWrapperLib.sol": { - "keccak256": "0x3b1b7b002819836878844950531d005894f9f0424b5e594af7ce969fea787c0a", - "urls": [ - "bzz-raw://d3823cfb06b46cd94d977b84c139132930e3316bc22e9ba1c58bda3cbae6099f", - "dweb:/ipfs/QmP6jhjdjkpnaNFpGkiwpC1pNWPMz2FNTgKygEAhHeV9T7" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/shares-wrappers/gated-redemption-queue/bases/GatedRedemptionQueueSharesWrapperLibBase1.sol": { - "keccak256": "0x388cb81f45eeef5e9d5faef80fd2820cde5d1204c8163171795a6e96475f87dd", - "urls": [ - "bzz-raw://6d2b5da8a69e4da279a7fe48653ab48bfc4f21bb81cefdf080046de896e8183e", - "dweb:/ipfs/QmbExKRHLVSpo1fSySKBGdozACen2uYNMhVTpao6GfkPTC" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IVaultCore.sol": { - "keccak256": "0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80", - "urls": [ - "bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd", - "dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { - "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", - "urls": [ - "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", - "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Address.sol": { - "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", - "urls": [ - "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", - "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/ReentrancyGuard.sol": { - "keccak256": "0x8bbbc2f5c10065ee272592ae0a7a6ceb23de2fbd81564ee0bb015ecf404d5f61", - "urls": [ - "bzz-raw://b95e56c1640d0ef789fc5c16269e141e992f6c8ac97cc6d377bd3825e9cab182", - "dweb:/ipfs/QmVzaxJZY51EhagrcNnkxoU6Uq17RhATe7aHvtkC6wUkgK" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/SafeCast.sol": { - "keccak256": "0x7b2b8baa20fd60ab4a328c8e34c64a353651b80ba4b5b157cbb61813f6f85d55", - "urls": [ - "bzz-raw://125b7f9efa390e663d630c62b97ae4e0707f31623bea989ef94c97ca9d777dd2", - "dweb:/ipfs/QmaaLSuwvqK7wqcgyS3utHgfmB7RntcvP7eJSuvQod8Z9P" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 63 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_globalConfigProxy", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "addManagers", "inputs": [ { "name": "_managers", "type": "address[]", "internalType": "address[]" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "allowance", "inputs": [ { "name": "owner", "type": "address", "internalType": "address" }, { "name": "spender", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "approve", "inputs": [ { "name": "spender", "type": "address", "internalType": "address" }, { "name": "amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "balanceOf", "inputs": [ { "name": "account", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "calcLatestRedemptionWindow", "inputs": [], "outputs": [ { "name": "windowStart_", "type": "uint256", "internalType": "uint256" }, { "name": "windowEnd_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "cancelRequestRedeem", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "decimals", "inputs": [], "outputs": [ { "name": "decimals_", "type": "uint8", "internalType": "uint8" } ], "stateMutability": "view" }, { "type": "function", "name": "decreaseAllowance", "inputs": [ { "name": "spender", "type": "address", "internalType": "address" }, { "name": "subtractedValue", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "deposit", "inputs": [ { "name": "_depositAssetContract", "type": "address", "internalType": "contract ERC20" }, { "name": "_depositAssetAmount", "type": "uint256", "internalType": "uint256" }, { "name": "_minSharesAmount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "sharesReceived_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "depositApprovalsAreUsed", "inputs": [], "outputs": [ { "name": "approvalsUsed_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "getDepositApproval", "inputs": [ { "name": "_user", "type": "address", "internalType": "address" }, { "name": "_asset", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "amount_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "getRedemptionApproval", "inputs": [ { "name": "_user", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "amount_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "getRedemptionAsset", "inputs": [], "outputs": [ { "name": "asset_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getRedemptionQueue", "inputs": [], "outputs": [ { "name": "totalSharesPending_", "type": "uint256", "internalType": "uint256" }, { "name": "relativeSharesAllowed_", "type": "uint256", "internalType": "uint256" }, { "name": "relativeSharesCheckpointed_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "getRedemptionQueueUserByIndex", "inputs": [ { "name": "_index", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "user_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getRedemptionQueueUserRequest", "inputs": [ { "name": "_user", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "request_", "type": "tuple", "internalType": "struct GatedRedemptionQueueSharesWrapperLibBase1.RedemptionRequest", "components": [ { "name": "index", "type": "uint64", "internalType": "uint64" }, { "name": "lastRedeemed", "type": "uint64", "internalType": "uint64" }, { "name": "sharesPending", "type": "uint128", "internalType": "uint128" } ] } ], "stateMutability": "view" }, { "type": "function", "name": "getRedemptionQueueUsers", "inputs": [], "outputs": [ { "name": "users_", "type": "address[]", "internalType": "address[]" } ], "stateMutability": "view" }, { "type": "function", "name": "getRedemptionQueueUsersLength", "inputs": [], "outputs": [ { "name": "length_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "getRedemptionWindowConfig", "inputs": [], "outputs": [ { "name": "redemptionWindowConfig_", "type": "tuple", "internalType": "struct GatedRedemptionQueueSharesWrapperLibBase1.RedemptionWindowConfig", "components": [ { "name": "firstWindowStart", "type": "uint64", "internalType": "uint64" }, { "name": "frequency", "type": "uint32", "internalType": "uint32" }, { "name": "duration", "type": "uint32", "internalType": "uint32" }, { "name": "relativeSharesCap", "type": "uint64", "internalType": "uint64" } ] } ], "stateMutability": "view" }, { "type": "function", "name": "getTransferApproval", "inputs": [ { "name": "_sender", "type": "address", "internalType": "address" }, { "name": "_recipient", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "amount_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "getVaultProxy", "inputs": [], "outputs": [ { "name": "vaultProxy_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "increaseAllowance", "inputs": [ { "name": "spender", "type": "address", "internalType": "address" }, { "name": "addedValue", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "init", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_managers", "type": "address[]", "internalType": "address[]" }, { "name": "_redemptionAsset", "type": "address", "internalType": "address" }, { "name": "_useDepositApprovals", "type": "bool", "internalType": "bool" }, { "name": "_useRedemptionApprovals", "type": "bool", "internalType": "bool" }, { "name": "_useTransferApprovals", "type": "bool", "internalType": "bool" }, { "name": "_windowConfig", "type": "tuple", "internalType": "struct GatedRedemptionQueueSharesWrapperLibBase1.RedemptionWindowConfig", "components": [ { "name": "firstWindowStart", "type": "uint64", "internalType": "uint64" }, { "name": "frequency", "type": "uint32", "internalType": "uint32" }, { "name": "duration", "type": "uint32", "internalType": "uint32" }, { "name": "relativeSharesCap", "type": "uint64", "internalType": "uint64" } ] } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "isManager", "inputs": [ { "name": "_user", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "isManager_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "kick", "inputs": [ { "name": "_user", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "sharesRedeemed_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "name", "inputs": [], "outputs": [ { "name": "name_", "type": "string", "internalType": "string" } ], "stateMutability": "view" }, { "type": "function", "name": "redeemFromQueue", "inputs": [ { "name": "_startIndex", "type": "uint256", "internalType": "uint256" }, { "name": "_endIndex", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "usersRedeemed_", "type": "address[]", "internalType": "address[]" }, { "name": "sharesRedeemed_", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "redemptionApprovalsAreUsed", "inputs": [], "outputs": [ { "name": "approvalsUsed_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "removeManagers", "inputs": [ { "name": "_managers", "type": "address[]", "internalType": "address[]" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "requestRedeem", "inputs": [ { "name": "_sharesAmount", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setDepositApprovals", "inputs": [ { "name": "_users", "type": "address[]", "internalType": "address[]" }, { "name": "_assets", "type": "address[]", "internalType": "address[]" }, { "name": "_amounts", "type": "uint256[]", "internalType": "uint256[]" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setRedemptionApprovals", "inputs": [ { "name": "_users", "type": "address[]", "internalType": "address[]" }, { "name": "_amounts", "type": "uint256[]", "internalType": "uint256[]" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setRedemptionAsset", "inputs": [ { "name": "_nextRedemptionAsset", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setRedemptionWindowConfig", "inputs": [ { "name": "_nextWindowConfig", "type": "tuple", "internalType": "struct GatedRedemptionQueueSharesWrapperLibBase1.RedemptionWindowConfig", "components": [ { "name": "firstWindowStart", "type": "uint64", "internalType": "uint64" }, { "name": "frequency", "type": "uint32", "internalType": "uint32" }, { "name": "duration", "type": "uint32", "internalType": "uint32" }, { "name": "relativeSharesCap", "type": "uint64", "internalType": "uint64" } ] } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setTransferApprovals", "inputs": [ { "name": "_users", "type": "address[]", "internalType": "address[]" }, { "name": "_recipients", "type": "address[]", "internalType": "address[]" }, { "name": "_amounts", "type": "uint256[]", "internalType": "uint256[]" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setUseDepositApprovals", "inputs": [ { "name": "_nextUseDepositApprovals", "type": "bool", "internalType": "bool" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setUseRedemptionApprovals", "inputs": [ { "name": "_nextUseRedemptionApprovals", "type": "bool", "internalType": "bool" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setUseTransferApprovals", "inputs": [ { "name": "_nextUseTransferApprovals", "type": "bool", "internalType": "bool" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "symbol", "inputs": [], "outputs": [ { "name": "symbol_", "type": "string", "internalType": "string" } ], "stateMutability": "view" }, { "type": "function", "name": "totalSupply", "inputs": [], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "transfer", "inputs": [ { "name": "_recipient", "type": "address", "internalType": "address" }, { "name": "_amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "success_", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "transferApprovalsAreUsed", "inputs": [], "outputs": [ { "name": "approvalsUsed_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "transferFrom", "inputs": [ { "name": "_sender", "type": "address", "internalType": "address" }, { "name": "_recipient", "type": "address", "internalType": "address" }, { "name": "_amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "success_", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "event", "name": "Approval", "inputs": [ { "name": "owner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "spender", "type": "address", "indexed": true, "internalType": "address" }, { "name": "value", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "DepositApproval", "inputs": [ { "name": "user", "type": "address", "indexed": true, "internalType": "address" }, { "name": "asset", "type": "address", "indexed": true, "internalType": "address" }, { "name": "amount", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "Deposited", "inputs": [ { "name": "user", "type": "address", "indexed": true, "internalType": "address" }, { "name": "depositToken", "type": "address", "indexed": true, "internalType": "address" }, { "name": "depositTokenAmount", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "sharesReceived", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "Initialized", "inputs": [ { "name": "vaultProxy", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "Kicked", "inputs": [ { "name": "user", "type": "address", "indexed": true, "internalType": "address" }, { "name": "sharesAmount", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "ManagerAdded", "inputs": [ { "name": "user", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "ManagerRemoved", "inputs": [ { "name": "user", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "Redeemed", "inputs": [ { "name": "user", "type": "address", "indexed": true, "internalType": "address" }, { "name": "sharesAmount", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "RedemptionApproval", "inputs": [ { "name": "user", "type": "address", "indexed": true, "internalType": "address" }, { "name": "amount", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "RedemptionAssetSet", "inputs": [ { "name": "asset", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "RedemptionRequestAdded", "inputs": [ { "name": "user", "type": "address", "indexed": true, "internalType": "address" }, { "name": "sharesAmount", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "RedemptionRequestRemoved", "inputs": [ { "name": "user", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "RedemptionWindowConfigSet", "inputs": [ { "name": "firstWindowStart", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "frequency", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "duration", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "relativeSharesCap", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "Transfer", "inputs": [ { "name": "from", "type": "address", "indexed": true, "internalType": "address" }, { "name": "to", "type": "address", "indexed": true, "internalType": "address" }, { "name": "value", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "TransferApproval", "inputs": [ { "name": "sender", "type": "address", "indexed": true, "internalType": "address" }, { "name": "recipient", "type": "address", "indexed": true, "internalType": "address" }, { "name": "amount", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "UseDepositApprovalsSet", "inputs": [ { "name": "useApprovals", "type": "bool", "indexed": false, "internalType": "bool" } ], "anonymous": false }, { "type": "event", "name": "UseRedemptionApprovalsSet", "inputs": [ { "name": "useApprovals", "type": "bool", "indexed": false, "internalType": "bool" } ], "anonymous": false }, { "type": "event", "name": "UseTransferApprovalsSet", "inputs": [ { "name": "useApprovals", "type": "bool", "indexed": false, "internalType": "bool" } ], "anonymous": false } ], "bytecode": { "object": "0x60c06040523480156200001157600080fd5b506040516200539c3803806200539c833981016040819052620000349162000192565b604080518082018252601981527f5772617070656420456e7a796d6520536861726573204c6962000000000000006020808301918252835180850190945260098452683ba2a72d2316b634b160b91b9084015281519192916200009a91600391620000e3565b508051620000b0906004906020840190620000e3565b50506005805460ff191660121790555060016006556001600160601b0319606091821b1660805230901b60a052620001e7565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200012657805160ff191683800117855562000156565b8280016001018555821562000156579182015b828111156200015657825182559160200191906001019062000139565b506200016492915062000168565b5090565b5b8082111562000164576000815560010162000169565b80516200018c81620001cd565b92915050565b600060208284031215620001a557600080fd5b6000620001b384846200017f565b949350505050565b60006001600160a01b0382166200018c565b620001d881620001bb565b8114620001e457600080fd5b50565b60805160601c60a05160601c6151816200021b600039806105a552806119cb5250806108c5528061338a52506151816000f3fe608060405234801561001057600080fd5b50600436106102695760003560e01c80636829bda711610151578063a8e5eeb1116100c3578063ca4ca8fa11610087578063ca4ca8fa1461051d578063cea6a0ee1461053e578063dd62ed3e14610555578063f3ae241514610568578063f7cb89521461057b578063fd71b12b1461058357610269565b8063a8e5eeb1146104bc578063a9059cbb146104dc578063aa2f892d146104ef578063b9a3abdb14610502578063c98091871461051557610269565b80638d1d24da116101155780638d1d24da1461046b5780638f958f711461047e57806395d89b411461048657806396c551751461048e5780639a8fea95146104a1578063a457c2d7146104a957610269565b80636829bda71461042257806370a082311461042a5780637ba069311461043d5780637cb4f020146104505780638c5f9e741461045857610269565b8063318f98aa116101ea578063447d7e19116101ae578063447d7e19146103b6578063469df117146103cb5780634d947471146103de57806358205209146103f157806361791f27146103f95780636753c1591461040f57610269565b8063318f98aa1461034a57806334c945061461036a57806338f1917d1461037d578063395093511461039057806342f6be5b146103a357610269565b806315fd7a521161023157806315fd7a52146102f457806318160ddd1461030757806323b872dd1461030f5780632f63221d14610322578063313ce5671461033557610269565b806306fdde031461026e578063095ea7b31461028c57806309f8ca5c146102ac5780630efe6a8b146102c157806310f3ee29146102e1575b600080fd5b610276610598565b6040516102839190614c54565b60405180910390f35b61029f61029a366004613b10565b61067b565b6040516102839190614c46565b6102bf6102ba366004613d2f565b610699565b005b6102d46102cf366004613cc9565b610774565b6040516102839190614f21565b6102bf6102ef366004613b40565b610b27565b6102bf610302366004613c8d565b610c78565b6102d4610d39565b61029f61031d3660046139c4565b610d3f565b6102d461033036600461398a565b610d61565b61033d610d8c565b6040516102839190614f96565b61035d610358366004613d6b565b610d91565b6040516102839190614b58565b6102bf610378366004613b81565b610dc0565b6102d461038b36600461394e565b610ff0565b61029f61039e366004613b10565b61100b565b6102bf6103b1366004613a11565b61105e565b6103be611120565b6040516102839190614c10565b6102bf6103d9366004613b81565b611185565b6102bf6103ec366004613c8d565b6113ac565b6102bf61146d565b61040161154d565b604051610283929190614f2f565b6102d461041d36600461398a565b611626565b61035d611651565b6102d461043836600461394e565b611660565b6102bf61044b36600461394e565b61167b565b6102d461173c565b6102bf610466366004613b40565b611742565b6102bf610479366004613c1f565b6117f8565b61029f6119ae565b6102766119be565b6102d461049c36600461394e565b611a85565b61029f611c67565b61029f6104b7366004613b10565b611c77565b6104cf6104ca36600461394e565b611cdf565b6040516102839190614f05565b61029f6104ea366004613b10565b611d44565b6102bf6104fd366004613d6b565b611d5b565b6102bf610510366004613c8d565b611f55565b61035d612016565b61053061052b366004613da7565b612025565b604051610283929190614c21565b610546612580565b60405161028393929190614f3d565b6102d461056336600461398a565b6125ab565b61029f61057636600461394e565b6125d6565b61029f6125f4565b61058b612604565b6040516102839190614f13565b6060306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156105da576105d361265b565b9050610678565b6105e2612016565b6001600160a01b03166306fdde036040518163ffffffff1660e01b815260040160006040518083038186803b15801561061a57600080fd5b505afa15801561062e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526106569190810190613cfb565b6040516020016106669190614b4d565b60405160208183030381529060405290505b90565b600061068f6106886126e8565b84846126ec565b5060015b92915050565b6106a2336125d6565b8061073557506106b0612016565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b1580156106e857600080fd5b505afa1580156106fc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610720919061396c565b6001600160a01b0316336001600160a01b0316145b61075a5760405162461bcd60e51b815260040161075190614c65565b60405180910390fd5b61077161076c36839003830183613d4d565b6127a0565b50565b6000600260065414156107995760405162461bcd60e51b815260040161075190614ec5565b60026006556107a6611c67565b156108085760006107b73386610d61565b90506000198114610806578381146107e15760405162461bcd60e51b815260040161075190614c95565b336000908152600e602090815260408083206001600160a01b03891684529091528120555b505b61081142612988565b1561081e5761081e6129c0565b6108336001600160a01b038516333086612ac0565b600061083d612016565b90506000816001600160a01b03166370a08231306040518263ffffffff1660e01b815260040161086d9190614b58565b60206040518083038186803b15801561088557600080fd5b505afa158015610899573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108bd9190613d89565b9050600060607f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637f180433858a8a6040518463ffffffff1660e01b815260040161091393929190614bcd565b60006040518083038186803b15801561092b57600080fd5b505afa15801561093f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526109679190810190613ac9565b604051636eb1769f60e11b815291935091506001600160a01b0389169063dd62ed3e9061099a9030908690600401614b66565b60206040518083038186803b1580156109b257600080fd5b505afa1580156109c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109ea9190613d89565b610a0457610a046001600160a01b03891683600019612b1e565b610a176001600160a01b03831682612be1565b50610a9e83856001600160a01b03166370a08231306040518263ffffffff1660e01b8152600401610a489190614b58565b60206040518083038186803b158015610a6057600080fd5b505afa158015610a74573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a989190613d89565b90612c23565b945085851015610ac05760405162461bcd60e51b815260040161075190614da5565b610aca3386612c4b565b876001600160a01b0316336001600160a01b03167ff5681f9d0db1b911ac18ee83d515a1cf1051853a9eae418316a2fdf7dea427c58988604051610b0f929190614f2f565b60405180910390a35050505060016006559392505050565b610b2f612016565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b158015610b6757600080fd5b505afa158015610b7b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b9f919061396c565b6001600160a01b0316336001600160a01b031614610bcf5760405162461bcd60e51b815260040161075190614e65565b60005b81811015610c73576000838383818110610be857fe5b9050602002016020810190610bfd919061394e565b9050610c08816125d6565b610c245760405162461bcd60e51b815260040161075190614cb5565b6001600160a01b0381166000818152600d6020526040808220805460ff19169055517fef69f7d97228658c92417be1b16b19058315de71fecb435d07b7d23728b6bd319190a250600101610bd2565b505050565b610c81336125d6565b80610d145750610c8f612016565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b158015610cc757600080fd5b505afa158015610cdb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cff919061396c565b6001600160a01b0316336001600160a01b0316145b610d305760405162461bcd60e51b815260040161075190614c65565b61077181612d0b565b60025490565b6000610d4c848484612d5d565b610d57848484612e23565b90505b9392505050565b6001600160a01b039182166000908152600e6020908152604080832093909416825291909152205490565b601290565b600060096002018281548110610da357fe5b6000918252602090912001546001600160a01b031690505b919050565b610dc9336125d6565b80610e5c5750610dd7612016565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b158015610e0f57600080fd5b505afa158015610e23573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e47919061396c565b6001600160a01b0316336001600160a01b0316145b610e785760405162461bcd60e51b815260040161075190614c65565b8483148015610e8657508481145b610ea25760405162461bcd60e51b815260040161075190614e75565b60005b85811015610fe757828282818110610eb957fe5b90506020020135600e6000898985818110610ed057fe5b9050602002016020810190610ee5919061394e565b6001600160a01b03166001600160a01b031681526020019081526020016000206000878785818110610f1357fe5b9050602002016020810190610f28919061394e565b6001600160a01b03168152602081019190915260400160002055848482818110610f4e57fe5b9050602002016020810190610f63919061394e565b6001600160a01b0316878783818110610f7857fe5b9050602002016020810190610f8d919061394e565b6001600160a01b03167f4dae074c756df580211e8a4d151b1943c628014581d922bca6f1ed34971da8f7858585818110610fc357fe5b90506020020135604051610fd79190614f21565b60405180910390a3600101610ea5565b50505050505050565b6001600160a01b031660009081526010602052604090205490565b600061068f6110186126e8565b8461105985600160006110296126e8565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490612ea5565b6126ec565b6007546001600160a01b0316156110875760405162461bcd60e51b815260040161075190614e05565b600780546001600160a01b0319166001600160a01b038a161790556110ac8787612eca565b6110b585612f72565b6110be84612fbc565b6110c783613003565b6110d082612d0b565b6110e261076c36839003830183613d4d565b6040516001600160a01b038916907f908408e307fc569b417f6cbec5d5a06f44a0a505ac0479b47d421a4b2fd6a1e690600090a25050505050505050565b6060600960020180548060200260200160405190810160405280929190818152602001828054801561117b57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161115d575b5050505050905090565b61118e336125d6565b80611221575061119c612016565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b1580156111d457600080fd5b505afa1580156111e8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061120c919061396c565b6001600160a01b0316336001600160a01b0316145b61123d5760405162461bcd60e51b815260040161075190614c65565b848314801561124b57508481145b6112675760405162461bcd60e51b815260040161075190614ea5565b60005b85811015610fe75782828281811061127e57fe5b90506020020135600f600089898581811061129557fe5b90506020020160208101906112aa919061394e565b6001600160a01b03166001600160a01b0316815260200190815260200160002060008787858181106112d857fe5b90506020020160208101906112ed919061394e565b6001600160a01b0316815260208101919091526040016000205584848281811061131357fe5b9050602002016020810190611328919061394e565b6001600160a01b031687878381811061133d57fe5b9050602002016020810190611352919061394e565b6001600160a01b03167fd87fddc704b730421c81d78c453e00a9fce9becb5d1bac170929a72880a7115e85858581811061138857fe5b9050602002013560405161139c9190614f21565b60405180910390a360010161126a565b6113b5336125d6565b8061144857506113c3612016565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b1580156113fb57600080fd5b505afa15801561140f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611433919061396c565b6001600160a01b0316336001600160a01b0316145b6114645760405162461bcd60e51b815260040161075190614c65565b61077181613003565b600260065414156114905760405162461bcd60e51b815260040161075190614ec5565b600260065561149e42612988565b156114bb5760405162461bcd60e51b815260040161075190614df5565b336000908152600a6020526040902054600990600160801b90046001600160801b0316806114fb5760405162461bcd60e51b815260040161075190614cc5565b815461151990611514906001600160801b031683612c23565b61304a565b82546001600160801b0319166001600160801b03919091161782556002820154611544903390613073565b50506001600655565b600080611558613781565b611560612604565b80519091506001600160401b0316421080611583575080516001600160401b0316155b15611595576000809250925050611622565b60006115cb826020015163ffffffff166115c584600001516001600160401b031642612c2390919063ffffffff16565b906131bb565b90506115fe6115ed836020015163ffffffff16836131ed90919063ffffffff16565b83516001600160401b031690612ea5565b935061161d826040015163ffffffff1685612ea590919063ffffffff16565b925050505b9091565b6001600160a01b039182166000908152600f6020908152604080832093909416825291909152205490565b6008546001600160a01b031690565b6001600160a01b031660009081526020819052604090205490565b611684336125d6565b806117175750611692612016565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b1580156116ca57600080fd5b505afa1580156116de573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611702919061396c565b6001600160a01b0316336001600160a01b0316145b6117335760405162461bcd60e51b815260040161075190614c65565b61077181612f72565b600b5490565b61174a612016565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561178257600080fd5b505afa158015611796573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117ba919061396c565b6001600160a01b0316336001600160a01b0316146117ea5760405162461bcd60e51b815260040161075190614e65565b6117f48282612eca565b5050565b611801336125d6565b80611894575061180f612016565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561184757600080fd5b505afa15801561185b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061187f919061396c565b6001600160a01b0316336001600160a01b0316145b6118b05760405162461bcd60e51b815260040161075190614c65565b8281146118cf5760405162461bcd60e51b815260040161075190614de5565b60005b838110156119a7578282828181106118e657fe5b90506020020135601060008787858181106118fd57fe5b9050602002016020810190611912919061394e565b6001600160a01b0316815260208101919091526040016000205584848281811061193857fe5b905060200201602081019061194d919061394e565b6001600160a01b03167f86a006418c5abeb0342afa5645c469058b419458005b407f04edf930d356504784848481811061198357fe5b905060200201356040516119979190614f21565b60405180910390a26001016118d2565b5050505050565b600754600160a81b900460ff1690565b6060306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156119f9576105d3613227565b611a01612016565b6001600160a01b03166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b158015611a3957600080fd5b505afa158015611a4d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611a759190810190613cfb565b6040516020016106669190614b36565b6000611a90336125d6565b80611b235750611a9e612016565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b158015611ad657600080fd5b505afa158015611aea573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b0e919061396c565b6001600160a01b0316336001600160a01b0316145b611b3f5760405162461bcd60e51b815260040161075190614c65565b60026006541415611b625760405162461bcd60e51b815260040161075190614ec5565b6002600655611b7042612988565b15611b7d57611b7d6129c0565b6001600160a01b0382166000908152600a6020526040902054600990600160801b90046001600160801b03168015611bf3578154611bc890611514906001600160801b031683612c23565b82546001600160801b0319166001600160801b03919091161782556002820154611bf3908590613073565b611bfc84611660565b9250611c088484613288565b611c1a8484611c15611651565b61335e565b836001600160a01b03167f8684348ed72cd103be12fcb99e9c5917294a8092ccd4808d1cd7b19daf98299184604051611c539190614f21565b60405180910390a250506001600655919050565b600754600160a01b900460ff1690565b600061068f611c846126e8565b84611059856040518060600160405280602581526020016151506025913960016000611cae6126e8565b6001600160a01b03908116825260208083019390935260409182016000908120918d16815292529020549190613458565b611ce76137a8565b506001600160a01b03166000908152600a6020908152604091829020825160608101845290546001600160401b038082168352600160401b82041692820192909252600160801b9091046001600160801b03169181019190915290565b6000611d51338484612d5d565b610d5a8383613484565b60026006541415611d7e5760405162461bcd60e51b815260040161075190614ec5565b6002600655611d8c42612988565b15611da95760405162461bcd60e51b815260040161075190614ef5565b611db16119ae565b15611dff576000611dc133610ff0565b90506000198114611dfd5780821115611dec5760405162461bcd60e51b815260040161075190614d15565b336000908152601060205260408120555b505b336000908152600a6020526040812060098054909290611e28906001600160801b031685612ea5565b8254909150600090611e4a90600160801b90046001600160801b031686612ea5565b9050611e5533611660565b811115611e745760405162461bcd60e51b815260040161075190614c85565b611e7d8261304a565b84546001600160801b0319166001600160801b0391909116178455611ea18161304a565b83546001600160801b03918216600160801b02911617835584811415611f085760028401805484546001600160401b0390911667ffffffffffffffff199091161784558054600181018255600091825260209091200180546001600160a01b031916331790555b336001600160a01b03167f8442da065c568ee5c2d856b7d959cdc982160318607425e37fa33ae08e0a1ff986604051611f419190614f21565b60405180910390a250506001600655505050565b611f5e336125d6565b80611ff15750611f6c612016565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b158015611fa457600080fd5b505afa158015611fb8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fdc919061396c565b6001600160a01b0316336001600160a01b0316145b61200d5760405162461bcd60e51b815260040161075190614c65565b61077181612fbc565b6007546001600160a01b031690565b6060806002600654141561204b5760405162461bcd60e51b815260040161075190614ec5565b6002600655612059336125d6565b806120ec5750612067612016565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561209f57600080fd5b505afa1580156120b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120d7919061396c565b6001600160a01b0316336001600160a01b0316145b6121085760405162461bcd60e51b815260040161075190614c65565b60008061211361154d565b91509150612122428383613498565b61213e5760405162461bcd60e51b815260040161075190614cf5565b600b54600990600019871415612155576001810396505b8087106121745760405162461bcd60e51b815260040161075190614cd5565b868811156121945760405162461bcd60e51b815260040161075190614d95565b61219c6129c0565b8154670de0b6b3a76400006001600160401b03600160801b9092048216109060009060018b8b0301908190811180156121d457600080fd5b506040519080825280602002602001820160405280156121fe578160200160208202803683370190505b509850806001600160401b038111801561221757600080fd5b50604051908082528060200260200182016040528015612241578160200160208202803683370190505b509750895b811561243457600086600201828154811061225d57fe5b60009182526020808320909101546001600160a01b031680835260018a0190915260409091208054919250906122a5906001600160401b03600160401b909104168b8b613498565b156122c25760405162461bcd60e51b815260040161075190614e25565b6000861561235e5781548954600160801b918290046001600160801b031691670de0b6b3a764000091612300918491046001600160401b03166131ed565b8161230757fe5b0491506123176115148284612c23565b83546001600160401b034216600160401b026fffffffffffffffff0000000000000000196001600160801b03938416600160801b0293909216929092171617835550612383565b508054600160801b90046001600160801b031661237b8389613073565b600019909701965b61238d8382613288565b848060019003955050828d86815181106123a357fe5b60200260200101906001600160a01b031690816001600160a01b031681525050808c86815181106123d057fe5b60209081029190910101526123e58682612ea5565b9550826001600160a01b03167f4896181ff8f4543cc00db9fe9b6fb7e6f032b7eb772c72ab1ec1b4d2e03b9369826040516124209190614f21565b60405180910390a250505060001901612246565b50845461244e90611514906001600160801b031684612c23565b85546001600160801b0319166001600160801b03919091161785556000612473611651565b905061248030848361335e565b6040516370a0823160e01b81526000906001600160a01b038316906370a08231906124af903090600401614b58565b60206040518083038186803b1580156124c757600080fd5b505afa1580156124db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124ff9190613d89565b905060005b8b518110156125675761255f8c828151811061251c57fe5b602002602001015161254e876115c58f868151811061253757fe5b6020026020010151876131ed90919063ffffffff16565b6001600160a01b03861691906134af565b600101612504565b5050505050505050505060016006819055509250929050565b6009546001600160801b038116916001600160401b03600160801b8304811692600160c01b90041690565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b03166000908152600d602052604090205460ff1690565b600754600160b01b900460ff1690565b61260c613781565b5060408051608081018252600c546001600160401b03808216835263ffffffff600160401b830481166020850152600160601b83041693830193909352600160801b9004909116606082015290565b60038054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561117b5780601f106126bc5761010080835404028352916020019161117b565b820191906000526020600020905b8154815290600101906020018083116126ca57509395945050505050565b3390565b6001600160a01b0383166127125760405162461bcd60e51b815260040161075190614e45565b6001600160a01b0382166127385760405162461bcd60e51b815260040161075190614ca5565b6001600160a01b0380841660008181526001602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590612793908590614f21565b60405180910390a3505050565b80516001600160401b03161580156127c05750604081015163ffffffff16155b80156127d45750602081015163ffffffff16155b80156127eb575060608101516001600160401b0316155b6128ad574281600001516001600160401b03161161281b5760405162461bcd60e51b815260040161075190614e95565b6000816040015163ffffffff16116128455760405162461bcd60e51b815260040161075190614dc5565b806040015163ffffffff16816020015163ffffffff16116128785760405162461bcd60e51b815260040161075190614d35565b670de0b6b3a764000081606001516001600160401b031611156128ad5760405162461bcd60e51b815260040161075190614d25565b8051600c80546020840151604080860151606087015167ffffffffffffffff199094166001600160401b03808816919091176bffffffff00000000000000001916600160401b63ffffffff808716919091029190911763ffffffff60601b1916600160601b918416919091021767ffffffffffffffff60801b1916600160801b9186169190910217909455600980546001600160801b03168155905190947f2b031552c22336dc4af5bd89436b409d517289ddd34cfc8e4e1543dc4235e6519461297c94919392909190614f58565b60405180910390a15050565b600080600061299561154d565b9150915081600014156129ad57600092505050610dbb565b6129b8848383613498565b949350505050565b600980546001600160801b031615806129ef575080546129ef90600160c01b90046001600160401b0316612988565b156129fa5750612abe565b6000670de0b6b3a7640000612a2b612a10612604565b606001516001600160401b0316612a25610d39565b906131ed565b81612a3257fe5b835491900491506000906001600160801b0316821015612a74578254612a6d906001600160801b03166115c5670de0b6b3a7640000856131ed565b9050612a7f565b50670de0b6b3a76400005b825467ffffffffffffffff60801b1916600160801b6001600160401b0392831602176001600160c01b0316600160c01b42929092169190910217909155505b565b612b18846323b872dd60e01b858585604051602401612ae193929190614bcd565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526134ce565b50505050565b801580612ba65750604051636eb1769f60e11b81526001600160a01b0384169063dd62ed3e90612b549030908690600401614b66565b60206040518083038186803b158015612b6c57600080fd5b505afa158015612b80573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ba49190613d89565b155b612bc25760405162461bcd60e51b815260040161075190614ed5565b610c738363095ea7b360e01b8484604051602401612ae1929190614bf5565b6060610d5a83836040518060400160405280601e81526020017f416464726573733a206c6f772d6c6576656c2063616c6c206661696c6564000081525061355d565b600082821115612c455760405162461bcd60e51b815260040161075190614d65565b50900390565b6001600160a01b038216612c715760405162461bcd60e51b815260040161075190614ee5565b612c7d60008383610c73565b600254612c8a9082612ea5565b6002556001600160a01b038216600090815260208190526040902054612cb09082612ea5565b6001600160a01b0383166000818152602081905260408082209390935591519091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90612cff908590614f21565b60405180910390a35050565b6007805460ff60b01b1916600160b01b831515021790556040517f64e7f780e6e1129031b8bdd0e74a6718620d8dac82a40fd17743c71249bc019390612d52908390614c46565b60405180910390a150565b6001600160a01b0383166000908152600a6020526040902054612d9390600160801b90046001600160801b0316610a9885611660565b811115612db25760405162461bcd60e51b815260040161075190614d55565b612dba6125f4565b15610c73576000612dcb8484611626565b90506000198114612b1857818114612df55760405162461bcd60e51b815260040161075190614e85565b6001600160a01b038085166000908152600f6020908152604080832093871683529290529081205550505050565b6000612e3084848461356c565b612e9b84612e3c6126e8565b61105985604051806060016040528060288152602001615128602891396001600160a01b038a16600090815260016020526040812090612e7a6126e8565b6001600160a01b031681526020810191909152604001600020549190613458565b5060019392505050565b600082820183811015610d5a5760405162461bcd60e51b815260040161075190614d05565b60005b81811015610c73576000838383818110612ee357fe5b9050602002016020810190612ef8919061394e565b9050612f03816125d6565b15612f205760405162461bcd60e51b815260040161075190614db5565b6001600160a01b0381166000818152600d6020526040808220805460ff19166001179055517f3b4a40cccf2058c593542587329dd385be4f0b588db5471fbd9598e56dd7093a9190a250600101612ecd565b600880546001600160a01b0319166001600160a01b0383169081179091556040517f410f9465288aecd0c52f8000879de6419ab719bcb75db47009c66d629155208e90600090a250565b6007805460ff60a01b1916600160a01b831515021790556040517f8ee78a6848b5a5226d78b64328db1890ef13d87d478dfa9f0e423ea6698b580b90612d52908390614c46565b6007805460ff60a81b1916600160a81b831515021790556040517fd281e56a7f217bdcf7035d71951c03cd2ad9bb04f3b3388c53fa2f85dcb7245e90612d52908390614c46565b6000600160801b821061306f5760405162461bcd60e51b815260040161075190614d45565b5090565b6001600160a01b0382166000908152600a60205260409020546009906001600160401b031660001983018110156131375760008260020160018503815481106130b857fe5b6000918252602090912001546002840180546001600160a01b0390921692508291849081106130e357fe5b600091825260208083209190910180546001600160a01b0319166001600160a01b039485161790559290911681526001840190915260409020805467ffffffffffffffff19166001600160401b0383161790555b6001600160a01b03841660009081526001830160205260408120556002820180548061315f57fe5b600082815260208120820160001990810180546001600160a01b03191690559091019091556040516001600160a01b038616917f328fa7077ce5de1ca1520bbd7c37ef13c017de42d86cd7053c06fffaa1c5187a91a250505050565b60008082116131dc5760405162461bcd60e51b815260040161075190614d85565b8183816131e557fe5b049392505050565b6000826131fc57506000610693565b8282028284828161320957fe5b0414610d5a5760405162461bcd60e51b815260040161075190614dd5565b60048054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561117b5780601f106126bc5761010080835404028352916020019161117b565b6001600160a01b0382166132ae5760405162461bcd60e51b815260040161075190614e15565b6132ba82600083610c73565b6132f7816040518060600160405280602281526020016150e0602291396001600160a01b0385166000908152602081905260409020549190613458565b6001600160a01b03831660009081526020819052604090205560025461331d9082612c23565b6002556040516000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90612cff908590614f21565b6001600160a01b0381166133845760405162461bcd60e51b815260040161075190614ce5565b600060607f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316632441593c6133bf612016565b87868860016040518663ffffffff1660e01b81526004016133e4959493929190614b81565b60006040518083038186803b1580156133fc57600080fd5b505afa158015613410573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526134389190810190613ac9565b90925090506134506001600160a01b03831682612be1565b505050505050565b6000818484111561347c5760405162461bcd60e51b81526004016107519190614c54565b505050900390565b600061068f6134916126e8565b848461356c565b6000828410158015610d5757505090911115919050565b610c738363a9059cbb60e01b8484604051602401612ae1929190614bf5565b6060613523826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031661355d9092919063ffffffff16565b805190915015610c7357808060200190518101906135419190613cab565b610c735760405162461bcd60e51b815260040161075190614eb5565b6060610d578484600085613681565b6001600160a01b0383166135925760405162461bcd60e51b815260040161075190614e35565b6001600160a01b0382166135b85760405162461bcd60e51b815260040161075190614c75565b6135c3838383610c73565b61360081604051806060016040528060268152602001615102602691396001600160a01b0386166000908152602081905260409020549190613458565b6001600160a01b03808516600090815260208190526040808220939093559084168152205461362f9082612ea5565b6001600160a01b0380841660008181526020819052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90612793908590614f21565b6060824710156136a35760405162461bcd60e51b815260040161075190614d75565b6136ac85613742565b6136c85760405162461bcd60e51b815260040161075190614e55565b60006060866001600160a01b031685876040516136e59190614b2a565b60006040518083038185875af1925050503d8060008114613722576040519150601f19603f3d011682016040523d82523d6000602084013e613727565b606091505b5091509150613737828286613748565b979650505050505050565b3b151590565b60608315613757575081610d5a565b8251156137675782518084602001fd5b8160405162461bcd60e51b81526004016107519190614c54565b60408051608081018252600080825260208201819052918101829052606081019190915290565b604080516060810182526000808252602082018190529181019190915290565b80356106938161509e565b80516106938161509e565b60008083601f8401126137f057600080fd5b5081356001600160401b0381111561380757600080fd5b60208301915083602082028301111561381f57600080fd5b9250929050565b8035610693816150b2565b8051610693816150b2565b600082601f83011261384d57600080fd5b815161386061385b82614fca565b614fa4565b9150808252602083016020830185838301111561387c57600080fd5b613887838284615068565b50505092915050565b8035610693816150bb565b6000608082840312156138ad57600080fd5b50919050565b6000608082840312156138c557600080fd5b6138cf6080614fa4565b905060006138dd8484613943565b82525060206138ee84848301613938565b602083015250604061390284828501613938565b604083015250606061391684828501613943565b60608301525092915050565b8035610693816150c4565b8051610693816150c4565b8035610693816150cd565b8035610693816150d6565b60006020828403121561396057600080fd5b60006129b884846137c8565b60006020828403121561397e57600080fd5b60006129b884846137d3565b6000806040838503121561399d57600080fd5b60006139a985856137c8565b92505060206139ba858286016137c8565b9150509250929050565b6000806000606084860312156139d957600080fd5b60006139e586866137c8565b93505060206139f6868287016137c8565b9250506040613a0786828701613922565b9150509250925092565b600080600080600080600080610140898b031215613a2e57600080fd5b6000613a3a8b8b6137c8565b98505060208901356001600160401b03811115613a5657600080fd5b613a628b828c016137de565b97509750506040613a758b828c016137c8565b9550506060613a868b828c01613826565b9450506080613a978b828c01613826565b93505060a0613aa88b828c01613826565b92505060c0613ab98b828c0161389b565b9150509295985092959890939650565b60008060408385031215613adc57600080fd5b6000613ae885856137d3565b92505060208301516001600160401b03811115613b0457600080fd5b6139ba8582860161383c565b60008060408385031215613b2357600080fd5b6000613b2f85856137c8565b92505060206139ba85828601613922565b60008060208385031215613b5357600080fd5b82356001600160401b03811115613b6957600080fd5b613b75858286016137de565b92509250509250929050565b60008060008060008060608789031215613b9a57600080fd5b86356001600160401b03811115613bb057600080fd5b613bbc89828a016137de565b965096505060208701356001600160401b03811115613bda57600080fd5b613be689828a016137de565b945094505060408701356001600160401b03811115613c0457600080fd5b613c1089828a016137de565b92509250509295509295509295565b60008060008060408587031215613c3557600080fd5b84356001600160401b03811115613c4b57600080fd5b613c57878288016137de565b945094505060208501356001600160401b03811115613c7557600080fd5b613c81878288016137de565b95989497509550505050565b600060208284031215613c9f57600080fd5b60006129b88484613826565b600060208284031215613cbd57600080fd5b60006129b88484613831565b600080600060608486031215613cde57600080fd5b6000613cea8686613890565b93505060206139f686828701613922565b600060208284031215613d0d57600080fd5b81516001600160401b03811115613d2357600080fd5b6129b88482850161383c565b600060808284031215613d4157600080fd5b60006129b8848461389b565b600060808284031215613d5f57600080fd5b60006129b884846138b3565b600060208284031215613d7d57600080fd5b60006129b88484613922565b600060208284031215613d9b57600080fd5b60006129b8848461392d565b60008060408385031215613dba57600080fd5b6000613b2f8585613922565b6000613dd28383613de6565b505060200190565b6000613dd28383614af4565b613def81615004565b82525050565b6000613e0082614ff7565b613e0a8185614ffb565b9350613e1583614ff1565b8060005b83811015613e43578151613e2d8882613dc6565b9750613e3883614ff1565b925050600101613e19565b509495945050505050565b6000613e5982614ff7565b613e638185614ffb565b9350613e6e83614ff1565b8060005b83811015613e43578151613e868882613dda565b9750613e9183614ff1565b925050600101613e72565b613def8161500f565b6000613eb082614ff7565b613eba8185610dbb565b9350613eca818560208601615068565b9290920192915050565b6000613edf82614ff7565b613ee98185614ffb565b9350613ef9818560208601615068565b613f0281615094565b9093019392505050565b6000613f19600183610dbb565b607760f81b815260010192915050565b6000613f36602083614ffb565b7f6f6e6c794d616e616765724f724f776e65723a20556e617574686f72697a6564815260200192915050565b6000613f6f602383614ffb565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647281526265737360e81b602082015260400192915050565b6000613fb4601e83614ffb565b7f7265717565737452656465656d3a20457863656564732062616c616e63650000815260200192915050565b6000613fed601a83614ffb565b7f6465706f7369743a20417070726f76616c206d69736d61746368000000000000815260200192915050565b6000614026602283614ffb565b7f45524332303a20617070726f766520746f20746865207a65726f206164647265815261737360f01b602082015260400192915050565b600061406a601d83614ffb565b7f72656d6f76654d616e61676572733a204e6f742061206d616e61676572000000815260200192915050565b60006140a3601f83614ffb565b7f63616e63656c5265717565737452656465656d3a204e6f207265717565737400815260200192915050565b60006140dc602783614ffb565b7f72656465656d46726f6d51756575653a204f75742d6f662d72616e6765205f658152660dcc892dcc8caf60cb1b602082015260400192915050565b6000614125602183614ffb565b7f5f5f72656465656d43616c6c3a204e6f20726564656d7074696f6e20617373658152601d60fa1b602082015260400192915050565b6000614168602a83614ffb565b7f72656465656d46726f6d51756575653a204f75747369646520726564656d7074815269696f6e2077696e646f7760b01b602082015260400192915050565b60006141b4601b83614ffb565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b60006141ed601f83614ffb565b7f7265717565737452656465656d3a204578636565647320617070726f76616c00815260200192915050565b6000614226603b83614ffb565b7f5f5f736574526564656d7074696f6e57696e646f77436f6e6669673a2072656c81527f6174697665536861726573436170206578636565647320313030250000000000602082015260400192915050565b6000614285603783614ffb565b7f5f5f736574526564656d7074696f6e57696e646f77436f6e6669673a2064757281527f6174696f6e2065786365656473206672657175656e6379000000000000000000602082015260400192915050565b60006142e4602783614ffb565b7f53616665436173743a2076616c756520646f65736e27742066697420696e20318152663238206269747360c81b602082015260400192915050565b600061432d602983614ffb565b7f5f5f70726550726f636573735472616e736665723a20496e20726564656d7074815268696f6e20717565756560b81b602082015260400192915050565b6000614378601e83614ffb565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b60006143b1602683614ffb565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f8152651c8818d85b1b60d21b602082015260400192915050565b60006143f9601a83614ffb565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b6000614432602383614ffb565b7f72656465656d46726f6d51756575653a204d69736f72646572656420696e646581526278657360e81b602082015260400192915050565b6000614477601c83614ffb565b7f6465706f7369743a20496e73756666696369656e742073686172657300000000815260200192915050565b60006144b0601e83614ffb565b7f5f5f6164644d616e61676572733a20416c7265616479206d616e616765720000815260200192915050565b60006144e9602883614ffb565b7f5f5f736574526564656d7074696f6e57696e646f77436f6e6669673a204e6f20815267323ab930ba34b7b760c11b602082015260400192915050565b6000614533602183614ffb565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000614576602683614ffb565b7f736574526564656d7074696f6e417070726f76616c733a20556e657175616c2081526561727261797360d01b602082015260400192915050565b60006145be602d83614ffb565b7f63616e63656c5265717565737452656465656d3a20496e73696465207265646581526c6d7074696f6e2077696e646f7760981b602082015260400192915050565b600061460d601183614ffb565b701a5b9a5d0e88125b9a5d1a585b1a5e9959607a1b815260200192915050565b600061463a602183614ffb565b7f45524332303a206275726e2066726f6d20746865207a65726f206164647265738152607360f81b602082015260400192915050565b600061467d602b83614ffb565b7f72656465656d46726f6d51756575653a20416c72656164792072656465656d6581526a6420696e2077696e646f7760a81b602082015260400192915050565b60006146ca602583614ffb565b7f45524332303a207472616e736665722066726f6d20746865207a65726f206164815264647265737360d81b602082015260400192915050565b6000614711602483614ffb565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164648152637265737360e01b602082015260400192915050565b6000614757601d83614ffb565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000815260200192915050565b6000614790601783614ffb565b7f6f6e6c794f776e65723a20556e617574686f72697a6564000000000000000000815260200192915050565b60006147c9602383614ffb565b7f7365744465706f736974417070726f76616c733a20556e657175616c2061727281526261797360e81b602082015260400192915050565b600061480e602783614ffb565b7f5f5f70726550726f636573735472616e736665723a20417070726f76616c206d8152660d2e6dac2e8c6d60cb1b602082015260400192915050565b6000614857603583614ffb565b7f5f5f736574526564656d7074696f6e57696e646f77436f6e6669673a20496e76815274185b1a5908199a5c9cdd15da5b991bddd4dd185c9d605a1b602082015260400192915050565b60006148ae602483614ffb565b7f7365745472616e73666572417070726f76616c733a20556e657175616c2061728152637261797360e01b602082015260400192915050565b60006148f4602a83614ffb565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e8152691bdd081cdd58d8d9595960b21b602082015260400192915050565b6000614940601f83614ffb565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00815260200192915050565b6000614979603683614ffb565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f81527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b602082015260400192915050565b60006149d1601f83614ffb565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300815260200192915050565b6000614a0a602783614ffb565b7f7265717565737452656465656d3a20496e7369646520726564656d7074696f6e8152662077696e646f7760c81b602082015260400192915050565b6000614a53600883610dbb565b6702bb930b83832b2160c51b815260080192915050565b80516060830190614a7b8482614b18565b506020820151614a8e6020850182614b18565b506040820151612b186040850182614aeb565b80516080830190614ab28482614b18565b506020820151614ac56020850182614b06565b506040820151614ad86040850182614b06565b506060820151612b186060850182614b18565b613def8161501f565b613def81610678565b613def81615052565b613def81615037565b613def8161505d565b613def81615040565b613def8161504c565b6000610d5a8284613ea5565b6000614b4182613f0c565b9150610d5a8284613ea5565b6000614b4182614a46565b602081016106938284613de6565b60408101614b748285613de6565b610d5a6020830184613de6565b60a08101614b8f8288613de6565b614b9c6020830187613de6565b614ba96040830186613de6565b614bb66060830185614af4565b614bc36080830184613e9c565b9695505050505050565b60608101614bdb8286613de6565b614be86020830185613de6565b6129b86040830184614af4565b60408101614c038285613de6565b610d5a6020830184614af4565b60208082528101610d5a8184613df5565b60408082528101614c328185613df5565b90508181036020830152610d578184613e4e565b602081016106938284613e9c565b60208082528101610d5a8184613ed4565b6020808252810161069381613f29565b6020808252810161069381613f62565b6020808252810161069381613fa7565b6020808252810161069381613fe0565b6020808252810161069381614019565b602080825281016106938161405d565b6020808252810161069381614096565b60208082528101610693816140cf565b6020808252810161069381614118565b602080825281016106938161415b565b60208082528101610693816141a7565b60208082528101610693816141e0565b6020808252810161069381614219565b6020808252810161069381614278565b60208082528101610693816142d7565b6020808252810161069381614320565b602080825281016106938161436b565b60208082528101610693816143a4565b60208082528101610693816143ec565b6020808252810161069381614425565b602080825281016106938161446a565b60208082528101610693816144a3565b60208082528101610693816144dc565b6020808252810161069381614526565b6020808252810161069381614569565b60208082528101610693816145b1565b6020808252810161069381614600565b602080825281016106938161462d565b6020808252810161069381614670565b60208082528101610693816146bd565b6020808252810161069381614704565b602080825281016106938161474a565b6020808252810161069381614783565b60208082528101610693816147bc565b6020808252810161069381614801565b602080825281016106938161484a565b60208082528101610693816148a1565b60208082528101610693816148e7565b6020808252810161069381614933565b602080825281016106938161496c565b60208082528101610693816149c4565b60208082528101610693816149fd565b606081016106938284614a6a565b608081016106938284614aa1565b602081016106938284614af4565b60408101614c038285614af4565b60608101614f4b8286614af4565b614be86020830185614af4565b60808101614f668287614b0f565b614f736020830186614afd565b614f806040830185614afd565b614f8d6060830184614b0f565b95945050505050565b602081016106938284614b21565b6040518181016001600160401b0381118282101715614fc257600080fd5b604052919050565b60006001600160401b03821115614fe057600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b60006106938261502b565b151590565b600061069382615004565b6001600160801b031690565b6001600160a01b031690565b63ffffffff1690565b6001600160401b031690565b60ff1690565b600061069382615037565b600061069382615040565b60005b8381101561508357818101518382015260200161506b565b83811115612b185750506000910152565b601f01601f191690565b6150a781615004565b811461077157600080fd5b6150a78161500f565b6150a781615014565b6150a781610678565b6150a781615037565b6150a78161504056fe45524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa164736f6c634300060c000a", "sourceMap": "981:34447:63:-:0;;;1696:225;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1958:145:447;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1958:145:447;;;;2032:13;;1958:145;;;2032:13;;:5;;:13;:::i;:::-;-1:-1:-1;2055:17:447;;;;:7;;:17;;;;;:::i;:::-;-1:-1:-1;;2082:9:447;:14;;-1:-1:-1;;2082:14:447;2094:2;2082:14;;;-1:-1:-1;2082:14:447;1760:7:453;:22;-1:-1:-1;;;;;;1821:59:63::1;::::0;;;;::::1;::::0;1909:4:::1;1890:24:::0;::::1;;::::0;981:34447;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;981:34447:63;;;-1:-1:-1;981:34447:63;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;5:134:-1;83:13;;101:33;83:13;101:33;:::i;:::-;68:71;;;;:::o;146:263::-;;261:2;249:9;240:7;236:23;232:32;229:2;;;277:1;274;267:12;229:2;312:1;329:64;385:7;365:9;329:64;:::i;:::-;319:74;223:186;-1:-1;;;;223:186::o;416:91::-;;-1:-1;;;;;576:54;;478:24;559:76::o;642:117::-;711:24;729:5;711:24;:::i;:::-;704:5;701:35;691:2;;750:1;747;740:12;691:2;685:74;:::o;:::-;981:34447:63;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106102695760003560e01c80636829bda711610151578063a8e5eeb1116100c3578063ca4ca8fa11610087578063ca4ca8fa1461051d578063cea6a0ee1461053e578063dd62ed3e14610555578063f3ae241514610568578063f7cb89521461057b578063fd71b12b1461058357610269565b8063a8e5eeb1146104bc578063a9059cbb146104dc578063aa2f892d146104ef578063b9a3abdb14610502578063c98091871461051557610269565b80638d1d24da116101155780638d1d24da1461046b5780638f958f711461047e57806395d89b411461048657806396c551751461048e5780639a8fea95146104a1578063a457c2d7146104a957610269565b80636829bda71461042257806370a082311461042a5780637ba069311461043d5780637cb4f020146104505780638c5f9e741461045857610269565b8063318f98aa116101ea578063447d7e19116101ae578063447d7e19146103b6578063469df117146103cb5780634d947471146103de57806358205209146103f157806361791f27146103f95780636753c1591461040f57610269565b8063318f98aa1461034a57806334c945061461036a57806338f1917d1461037d578063395093511461039057806342f6be5b146103a357610269565b806315fd7a521161023157806315fd7a52146102f457806318160ddd1461030757806323b872dd1461030f5780632f63221d14610322578063313ce5671461033557610269565b806306fdde031461026e578063095ea7b31461028c57806309f8ca5c146102ac5780630efe6a8b146102c157806310f3ee29146102e1575b600080fd5b610276610598565b6040516102839190614c54565b60405180910390f35b61029f61029a366004613b10565b61067b565b6040516102839190614c46565b6102bf6102ba366004613d2f565b610699565b005b6102d46102cf366004613cc9565b610774565b6040516102839190614f21565b6102bf6102ef366004613b40565b610b27565b6102bf610302366004613c8d565b610c78565b6102d4610d39565b61029f61031d3660046139c4565b610d3f565b6102d461033036600461398a565b610d61565b61033d610d8c565b6040516102839190614f96565b61035d610358366004613d6b565b610d91565b6040516102839190614b58565b6102bf610378366004613b81565b610dc0565b6102d461038b36600461394e565b610ff0565b61029f61039e366004613b10565b61100b565b6102bf6103b1366004613a11565b61105e565b6103be611120565b6040516102839190614c10565b6102bf6103d9366004613b81565b611185565b6102bf6103ec366004613c8d565b6113ac565b6102bf61146d565b61040161154d565b604051610283929190614f2f565b6102d461041d36600461398a565b611626565b61035d611651565b6102d461043836600461394e565b611660565b6102bf61044b36600461394e565b61167b565b6102d461173c565b6102bf610466366004613b40565b611742565b6102bf610479366004613c1f565b6117f8565b61029f6119ae565b6102766119be565b6102d461049c36600461394e565b611a85565b61029f611c67565b61029f6104b7366004613b10565b611c77565b6104cf6104ca36600461394e565b611cdf565b6040516102839190614f05565b61029f6104ea366004613b10565b611d44565b6102bf6104fd366004613d6b565b611d5b565b6102bf610510366004613c8d565b611f55565b61035d612016565b61053061052b366004613da7565b612025565b604051610283929190614c21565b610546612580565b60405161028393929190614f3d565b6102d461056336600461398a565b6125ab565b61029f61057636600461394e565b6125d6565b61029f6125f4565b61058b612604565b6040516102839190614f13565b6060306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156105da576105d361265b565b9050610678565b6105e2612016565b6001600160a01b03166306fdde036040518163ffffffff1660e01b815260040160006040518083038186803b15801561061a57600080fd5b505afa15801561062e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526106569190810190613cfb565b6040516020016106669190614b4d565b60405160208183030381529060405290505b90565b600061068f6106886126e8565b84846126ec565b5060015b92915050565b6106a2336125d6565b8061073557506106b0612016565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b1580156106e857600080fd5b505afa1580156106fc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610720919061396c565b6001600160a01b0316336001600160a01b0316145b61075a5760405162461bcd60e51b815260040161075190614c65565b60405180910390fd5b61077161076c36839003830183613d4d565b6127a0565b50565b6000600260065414156107995760405162461bcd60e51b815260040161075190614ec5565b60026006556107a6611c67565b156108085760006107b73386610d61565b90506000198114610806578381146107e15760405162461bcd60e51b815260040161075190614c95565b336000908152600e602090815260408083206001600160a01b03891684529091528120555b505b61081142612988565b1561081e5761081e6129c0565b6108336001600160a01b038516333086612ac0565b600061083d612016565b90506000816001600160a01b03166370a08231306040518263ffffffff1660e01b815260040161086d9190614b58565b60206040518083038186803b15801561088557600080fd5b505afa158015610899573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108bd9190613d89565b9050600060607f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637f180433858a8a6040518463ffffffff1660e01b815260040161091393929190614bcd565b60006040518083038186803b15801561092b57600080fd5b505afa15801561093f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526109679190810190613ac9565b604051636eb1769f60e11b815291935091506001600160a01b0389169063dd62ed3e9061099a9030908690600401614b66565b60206040518083038186803b1580156109b257600080fd5b505afa1580156109c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109ea9190613d89565b610a0457610a046001600160a01b03891683600019612b1e565b610a176001600160a01b03831682612be1565b50610a9e83856001600160a01b03166370a08231306040518263ffffffff1660e01b8152600401610a489190614b58565b60206040518083038186803b158015610a6057600080fd5b505afa158015610a74573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a989190613d89565b90612c23565b945085851015610ac05760405162461bcd60e51b815260040161075190614da5565b610aca3386612c4b565b876001600160a01b0316336001600160a01b03167ff5681f9d0db1b911ac18ee83d515a1cf1051853a9eae418316a2fdf7dea427c58988604051610b0f929190614f2f565b60405180910390a35050505060016006559392505050565b610b2f612016565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b158015610b6757600080fd5b505afa158015610b7b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b9f919061396c565b6001600160a01b0316336001600160a01b031614610bcf5760405162461bcd60e51b815260040161075190614e65565b60005b81811015610c73576000838383818110610be857fe5b9050602002016020810190610bfd919061394e565b9050610c08816125d6565b610c245760405162461bcd60e51b815260040161075190614cb5565b6001600160a01b0381166000818152600d6020526040808220805460ff19169055517fef69f7d97228658c92417be1b16b19058315de71fecb435d07b7d23728b6bd319190a250600101610bd2565b505050565b610c81336125d6565b80610d145750610c8f612016565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b158015610cc757600080fd5b505afa158015610cdb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cff919061396c565b6001600160a01b0316336001600160a01b0316145b610d305760405162461bcd60e51b815260040161075190614c65565b61077181612d0b565b60025490565b6000610d4c848484612d5d565b610d57848484612e23565b90505b9392505050565b6001600160a01b039182166000908152600e6020908152604080832093909416825291909152205490565b601290565b600060096002018281548110610da357fe5b6000918252602090912001546001600160a01b031690505b919050565b610dc9336125d6565b80610e5c5750610dd7612016565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b158015610e0f57600080fd5b505afa158015610e23573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e47919061396c565b6001600160a01b0316336001600160a01b0316145b610e785760405162461bcd60e51b815260040161075190614c65565b8483148015610e8657508481145b610ea25760405162461bcd60e51b815260040161075190614e75565b60005b85811015610fe757828282818110610eb957fe5b90506020020135600e6000898985818110610ed057fe5b9050602002016020810190610ee5919061394e565b6001600160a01b03166001600160a01b031681526020019081526020016000206000878785818110610f1357fe5b9050602002016020810190610f28919061394e565b6001600160a01b03168152602081019190915260400160002055848482818110610f4e57fe5b9050602002016020810190610f63919061394e565b6001600160a01b0316878783818110610f7857fe5b9050602002016020810190610f8d919061394e565b6001600160a01b03167f4dae074c756df580211e8a4d151b1943c628014581d922bca6f1ed34971da8f7858585818110610fc357fe5b90506020020135604051610fd79190614f21565b60405180910390a3600101610ea5565b50505050505050565b6001600160a01b031660009081526010602052604090205490565b600061068f6110186126e8565b8461105985600160006110296126e8565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490612ea5565b6126ec565b6007546001600160a01b0316156110875760405162461bcd60e51b815260040161075190614e05565b600780546001600160a01b0319166001600160a01b038a161790556110ac8787612eca565b6110b585612f72565b6110be84612fbc565b6110c783613003565b6110d082612d0b565b6110e261076c36839003830183613d4d565b6040516001600160a01b038916907f908408e307fc569b417f6cbec5d5a06f44a0a505ac0479b47d421a4b2fd6a1e690600090a25050505050505050565b6060600960020180548060200260200160405190810160405280929190818152602001828054801561117b57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161115d575b5050505050905090565b61118e336125d6565b80611221575061119c612016565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b1580156111d457600080fd5b505afa1580156111e8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061120c919061396c565b6001600160a01b0316336001600160a01b0316145b61123d5760405162461bcd60e51b815260040161075190614c65565b848314801561124b57508481145b6112675760405162461bcd60e51b815260040161075190614ea5565b60005b85811015610fe75782828281811061127e57fe5b90506020020135600f600089898581811061129557fe5b90506020020160208101906112aa919061394e565b6001600160a01b03166001600160a01b0316815260200190815260200160002060008787858181106112d857fe5b90506020020160208101906112ed919061394e565b6001600160a01b0316815260208101919091526040016000205584848281811061131357fe5b9050602002016020810190611328919061394e565b6001600160a01b031687878381811061133d57fe5b9050602002016020810190611352919061394e565b6001600160a01b03167fd87fddc704b730421c81d78c453e00a9fce9becb5d1bac170929a72880a7115e85858581811061138857fe5b9050602002013560405161139c9190614f21565b60405180910390a360010161126a565b6113b5336125d6565b8061144857506113c3612016565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b1580156113fb57600080fd5b505afa15801561140f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611433919061396c565b6001600160a01b0316336001600160a01b0316145b6114645760405162461bcd60e51b815260040161075190614c65565b61077181613003565b600260065414156114905760405162461bcd60e51b815260040161075190614ec5565b600260065561149e42612988565b156114bb5760405162461bcd60e51b815260040161075190614df5565b336000908152600a6020526040902054600990600160801b90046001600160801b0316806114fb5760405162461bcd60e51b815260040161075190614cc5565b815461151990611514906001600160801b031683612c23565b61304a565b82546001600160801b0319166001600160801b03919091161782556002820154611544903390613073565b50506001600655565b600080611558613781565b611560612604565b80519091506001600160401b0316421080611583575080516001600160401b0316155b15611595576000809250925050611622565b60006115cb826020015163ffffffff166115c584600001516001600160401b031642612c2390919063ffffffff16565b906131bb565b90506115fe6115ed836020015163ffffffff16836131ed90919063ffffffff16565b83516001600160401b031690612ea5565b935061161d826040015163ffffffff1685612ea590919063ffffffff16565b925050505b9091565b6001600160a01b039182166000908152600f6020908152604080832093909416825291909152205490565b6008546001600160a01b031690565b6001600160a01b031660009081526020819052604090205490565b611684336125d6565b806117175750611692612016565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b1580156116ca57600080fd5b505afa1580156116de573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611702919061396c565b6001600160a01b0316336001600160a01b0316145b6117335760405162461bcd60e51b815260040161075190614c65565b61077181612f72565b600b5490565b61174a612016565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561178257600080fd5b505afa158015611796573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117ba919061396c565b6001600160a01b0316336001600160a01b0316146117ea5760405162461bcd60e51b815260040161075190614e65565b6117f48282612eca565b5050565b611801336125d6565b80611894575061180f612016565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561184757600080fd5b505afa15801561185b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061187f919061396c565b6001600160a01b0316336001600160a01b0316145b6118b05760405162461bcd60e51b815260040161075190614c65565b8281146118cf5760405162461bcd60e51b815260040161075190614de5565b60005b838110156119a7578282828181106118e657fe5b90506020020135601060008787858181106118fd57fe5b9050602002016020810190611912919061394e565b6001600160a01b0316815260208101919091526040016000205584848281811061193857fe5b905060200201602081019061194d919061394e565b6001600160a01b03167f86a006418c5abeb0342afa5645c469058b419458005b407f04edf930d356504784848481811061198357fe5b905060200201356040516119979190614f21565b60405180910390a26001016118d2565b5050505050565b600754600160a81b900460ff1690565b6060306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156119f9576105d3613227565b611a01612016565b6001600160a01b03166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b158015611a3957600080fd5b505afa158015611a4d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611a759190810190613cfb565b6040516020016106669190614b36565b6000611a90336125d6565b80611b235750611a9e612016565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b158015611ad657600080fd5b505afa158015611aea573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b0e919061396c565b6001600160a01b0316336001600160a01b0316145b611b3f5760405162461bcd60e51b815260040161075190614c65565b60026006541415611b625760405162461bcd60e51b815260040161075190614ec5565b6002600655611b7042612988565b15611b7d57611b7d6129c0565b6001600160a01b0382166000908152600a6020526040902054600990600160801b90046001600160801b03168015611bf3578154611bc890611514906001600160801b031683612c23565b82546001600160801b0319166001600160801b03919091161782556002820154611bf3908590613073565b611bfc84611660565b9250611c088484613288565b611c1a8484611c15611651565b61335e565b836001600160a01b03167f8684348ed72cd103be12fcb99e9c5917294a8092ccd4808d1cd7b19daf98299184604051611c539190614f21565b60405180910390a250506001600655919050565b600754600160a01b900460ff1690565b600061068f611c846126e8565b84611059856040518060600160405280602581526020016151506025913960016000611cae6126e8565b6001600160a01b03908116825260208083019390935260409182016000908120918d16815292529020549190613458565b611ce76137a8565b506001600160a01b03166000908152600a6020908152604091829020825160608101845290546001600160401b038082168352600160401b82041692820192909252600160801b9091046001600160801b03169181019190915290565b6000611d51338484612d5d565b610d5a8383613484565b60026006541415611d7e5760405162461bcd60e51b815260040161075190614ec5565b6002600655611d8c42612988565b15611da95760405162461bcd60e51b815260040161075190614ef5565b611db16119ae565b15611dff576000611dc133610ff0565b90506000198114611dfd5780821115611dec5760405162461bcd60e51b815260040161075190614d15565b336000908152601060205260408120555b505b336000908152600a6020526040812060098054909290611e28906001600160801b031685612ea5565b8254909150600090611e4a90600160801b90046001600160801b031686612ea5565b9050611e5533611660565b811115611e745760405162461bcd60e51b815260040161075190614c85565b611e7d8261304a565b84546001600160801b0319166001600160801b0391909116178455611ea18161304a565b83546001600160801b03918216600160801b02911617835584811415611f085760028401805484546001600160401b0390911667ffffffffffffffff199091161784558054600181018255600091825260209091200180546001600160a01b031916331790555b336001600160a01b03167f8442da065c568ee5c2d856b7d959cdc982160318607425e37fa33ae08e0a1ff986604051611f419190614f21565b60405180910390a250506001600655505050565b611f5e336125d6565b80611ff15750611f6c612016565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b158015611fa457600080fd5b505afa158015611fb8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fdc919061396c565b6001600160a01b0316336001600160a01b0316145b61200d5760405162461bcd60e51b815260040161075190614c65565b61077181612fbc565b6007546001600160a01b031690565b6060806002600654141561204b5760405162461bcd60e51b815260040161075190614ec5565b6002600655612059336125d6565b806120ec5750612067612016565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561209f57600080fd5b505afa1580156120b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120d7919061396c565b6001600160a01b0316336001600160a01b0316145b6121085760405162461bcd60e51b815260040161075190614c65565b60008061211361154d565b91509150612122428383613498565b61213e5760405162461bcd60e51b815260040161075190614cf5565b600b54600990600019871415612155576001810396505b8087106121745760405162461bcd60e51b815260040161075190614cd5565b868811156121945760405162461bcd60e51b815260040161075190614d95565b61219c6129c0565b8154670de0b6b3a76400006001600160401b03600160801b9092048216109060009060018b8b0301908190811180156121d457600080fd5b506040519080825280602002602001820160405280156121fe578160200160208202803683370190505b509850806001600160401b038111801561221757600080fd5b50604051908082528060200260200182016040528015612241578160200160208202803683370190505b509750895b811561243457600086600201828154811061225d57fe5b60009182526020808320909101546001600160a01b031680835260018a0190915260409091208054919250906122a5906001600160401b03600160401b909104168b8b613498565b156122c25760405162461bcd60e51b815260040161075190614e25565b6000861561235e5781548954600160801b918290046001600160801b031691670de0b6b3a764000091612300918491046001600160401b03166131ed565b8161230757fe5b0491506123176115148284612c23565b83546001600160401b034216600160401b026fffffffffffffffff0000000000000000196001600160801b03938416600160801b0293909216929092171617835550612383565b508054600160801b90046001600160801b031661237b8389613073565b600019909701965b61238d8382613288565b848060019003955050828d86815181106123a357fe5b60200260200101906001600160a01b031690816001600160a01b031681525050808c86815181106123d057fe5b60209081029190910101526123e58682612ea5565b9550826001600160a01b03167f4896181ff8f4543cc00db9fe9b6fb7e6f032b7eb772c72ab1ec1b4d2e03b9369826040516124209190614f21565b60405180910390a250505060001901612246565b50845461244e90611514906001600160801b031684612c23565b85546001600160801b0319166001600160801b03919091161785556000612473611651565b905061248030848361335e565b6040516370a0823160e01b81526000906001600160a01b038316906370a08231906124af903090600401614b58565b60206040518083038186803b1580156124c757600080fd5b505afa1580156124db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124ff9190613d89565b905060005b8b518110156125675761255f8c828151811061251c57fe5b602002602001015161254e876115c58f868151811061253757fe5b6020026020010151876131ed90919063ffffffff16565b6001600160a01b03861691906134af565b600101612504565b5050505050505050505060016006819055509250929050565b6009546001600160801b038116916001600160401b03600160801b8304811692600160c01b90041690565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b03166000908152600d602052604090205460ff1690565b600754600160b01b900460ff1690565b61260c613781565b5060408051608081018252600c546001600160401b03808216835263ffffffff600160401b830481166020850152600160601b83041693830193909352600160801b9004909116606082015290565b60038054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561117b5780601f106126bc5761010080835404028352916020019161117b565b820191906000526020600020905b8154815290600101906020018083116126ca57509395945050505050565b3390565b6001600160a01b0383166127125760405162461bcd60e51b815260040161075190614e45565b6001600160a01b0382166127385760405162461bcd60e51b815260040161075190614ca5565b6001600160a01b0380841660008181526001602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590612793908590614f21565b60405180910390a3505050565b80516001600160401b03161580156127c05750604081015163ffffffff16155b80156127d45750602081015163ffffffff16155b80156127eb575060608101516001600160401b0316155b6128ad574281600001516001600160401b03161161281b5760405162461bcd60e51b815260040161075190614e95565b6000816040015163ffffffff16116128455760405162461bcd60e51b815260040161075190614dc5565b806040015163ffffffff16816020015163ffffffff16116128785760405162461bcd60e51b815260040161075190614d35565b670de0b6b3a764000081606001516001600160401b031611156128ad5760405162461bcd60e51b815260040161075190614d25565b8051600c80546020840151604080860151606087015167ffffffffffffffff199094166001600160401b03808816919091176bffffffff00000000000000001916600160401b63ffffffff808716919091029190911763ffffffff60601b1916600160601b918416919091021767ffffffffffffffff60801b1916600160801b9186169190910217909455600980546001600160801b03168155905190947f2b031552c22336dc4af5bd89436b409d517289ddd34cfc8e4e1543dc4235e6519461297c94919392909190614f58565b60405180910390a15050565b600080600061299561154d565b9150915081600014156129ad57600092505050610dbb565b6129b8848383613498565b949350505050565b600980546001600160801b031615806129ef575080546129ef90600160c01b90046001600160401b0316612988565b156129fa5750612abe565b6000670de0b6b3a7640000612a2b612a10612604565b606001516001600160401b0316612a25610d39565b906131ed565b81612a3257fe5b835491900491506000906001600160801b0316821015612a74578254612a6d906001600160801b03166115c5670de0b6b3a7640000856131ed565b9050612a7f565b50670de0b6b3a76400005b825467ffffffffffffffff60801b1916600160801b6001600160401b0392831602176001600160c01b0316600160c01b42929092169190910217909155505b565b612b18846323b872dd60e01b858585604051602401612ae193929190614bcd565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526134ce565b50505050565b801580612ba65750604051636eb1769f60e11b81526001600160a01b0384169063dd62ed3e90612b549030908690600401614b66565b60206040518083038186803b158015612b6c57600080fd5b505afa158015612b80573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ba49190613d89565b155b612bc25760405162461bcd60e51b815260040161075190614ed5565b610c738363095ea7b360e01b8484604051602401612ae1929190614bf5565b6060610d5a83836040518060400160405280601e81526020017f416464726573733a206c6f772d6c6576656c2063616c6c206661696c6564000081525061355d565b600082821115612c455760405162461bcd60e51b815260040161075190614d65565b50900390565b6001600160a01b038216612c715760405162461bcd60e51b815260040161075190614ee5565b612c7d60008383610c73565b600254612c8a9082612ea5565b6002556001600160a01b038216600090815260208190526040902054612cb09082612ea5565b6001600160a01b0383166000818152602081905260408082209390935591519091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90612cff908590614f21565b60405180910390a35050565b6007805460ff60b01b1916600160b01b831515021790556040517f64e7f780e6e1129031b8bdd0e74a6718620d8dac82a40fd17743c71249bc019390612d52908390614c46565b60405180910390a150565b6001600160a01b0383166000908152600a6020526040902054612d9390600160801b90046001600160801b0316610a9885611660565b811115612db25760405162461bcd60e51b815260040161075190614d55565b612dba6125f4565b15610c73576000612dcb8484611626565b90506000198114612b1857818114612df55760405162461bcd60e51b815260040161075190614e85565b6001600160a01b038085166000908152600f6020908152604080832093871683529290529081205550505050565b6000612e3084848461356c565b612e9b84612e3c6126e8565b61105985604051806060016040528060288152602001615128602891396001600160a01b038a16600090815260016020526040812090612e7a6126e8565b6001600160a01b031681526020810191909152604001600020549190613458565b5060019392505050565b600082820183811015610d5a5760405162461bcd60e51b815260040161075190614d05565b60005b81811015610c73576000838383818110612ee357fe5b9050602002016020810190612ef8919061394e565b9050612f03816125d6565b15612f205760405162461bcd60e51b815260040161075190614db5565b6001600160a01b0381166000818152600d6020526040808220805460ff19166001179055517f3b4a40cccf2058c593542587329dd385be4f0b588db5471fbd9598e56dd7093a9190a250600101612ecd565b600880546001600160a01b0319166001600160a01b0383169081179091556040517f410f9465288aecd0c52f8000879de6419ab719bcb75db47009c66d629155208e90600090a250565b6007805460ff60a01b1916600160a01b831515021790556040517f8ee78a6848b5a5226d78b64328db1890ef13d87d478dfa9f0e423ea6698b580b90612d52908390614c46565b6007805460ff60a81b1916600160a81b831515021790556040517fd281e56a7f217bdcf7035d71951c03cd2ad9bb04f3b3388c53fa2f85dcb7245e90612d52908390614c46565b6000600160801b821061306f5760405162461bcd60e51b815260040161075190614d45565b5090565b6001600160a01b0382166000908152600a60205260409020546009906001600160401b031660001983018110156131375760008260020160018503815481106130b857fe5b6000918252602090912001546002840180546001600160a01b0390921692508291849081106130e357fe5b600091825260208083209190910180546001600160a01b0319166001600160a01b039485161790559290911681526001840190915260409020805467ffffffffffffffff19166001600160401b0383161790555b6001600160a01b03841660009081526001830160205260408120556002820180548061315f57fe5b600082815260208120820160001990810180546001600160a01b03191690559091019091556040516001600160a01b038616917f328fa7077ce5de1ca1520bbd7c37ef13c017de42d86cd7053c06fffaa1c5187a91a250505050565b60008082116131dc5760405162461bcd60e51b815260040161075190614d85565b8183816131e557fe5b049392505050565b6000826131fc57506000610693565b8282028284828161320957fe5b0414610d5a5760405162461bcd60e51b815260040161075190614dd5565b60048054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561117b5780601f106126bc5761010080835404028352916020019161117b565b6001600160a01b0382166132ae5760405162461bcd60e51b815260040161075190614e15565b6132ba82600083610c73565b6132f7816040518060600160405280602281526020016150e0602291396001600160a01b0385166000908152602081905260409020549190613458565b6001600160a01b03831660009081526020819052604090205560025461331d9082612c23565b6002556040516000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90612cff908590614f21565b6001600160a01b0381166133845760405162461bcd60e51b815260040161075190614ce5565b600060607f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316632441593c6133bf612016565b87868860016040518663ffffffff1660e01b81526004016133e4959493929190614b81565b60006040518083038186803b1580156133fc57600080fd5b505afa158015613410573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526134389190810190613ac9565b90925090506134506001600160a01b03831682612be1565b505050505050565b6000818484111561347c5760405162461bcd60e51b81526004016107519190614c54565b505050900390565b600061068f6134916126e8565b848461356c565b6000828410158015610d5757505090911115919050565b610c738363a9059cbb60e01b8484604051602401612ae1929190614bf5565b6060613523826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031661355d9092919063ffffffff16565b805190915015610c7357808060200190518101906135419190613cab565b610c735760405162461bcd60e51b815260040161075190614eb5565b6060610d578484600085613681565b6001600160a01b0383166135925760405162461bcd60e51b815260040161075190614e35565b6001600160a01b0382166135b85760405162461bcd60e51b815260040161075190614c75565b6135c3838383610c73565b61360081604051806060016040528060268152602001615102602691396001600160a01b0386166000908152602081905260409020549190613458565b6001600160a01b03808516600090815260208190526040808220939093559084168152205461362f9082612ea5565b6001600160a01b0380841660008181526020819052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90612793908590614f21565b6060824710156136a35760405162461bcd60e51b815260040161075190614d75565b6136ac85613742565b6136c85760405162461bcd60e51b815260040161075190614e55565b60006060866001600160a01b031685876040516136e59190614b2a565b60006040518083038185875af1925050503d8060008114613722576040519150601f19603f3d011682016040523d82523d6000602084013e613727565b606091505b5091509150613737828286613748565b979650505050505050565b3b151590565b60608315613757575081610d5a565b8251156137675782518084602001fd5b8160405162461bcd60e51b81526004016107519190614c54565b60408051608081018252600080825260208201819052918101829052606081019190915290565b604080516060810182526000808252602082018190529181019190915290565b80356106938161509e565b80516106938161509e565b60008083601f8401126137f057600080fd5b5081356001600160401b0381111561380757600080fd5b60208301915083602082028301111561381f57600080fd5b9250929050565b8035610693816150b2565b8051610693816150b2565b600082601f83011261384d57600080fd5b815161386061385b82614fca565b614fa4565b9150808252602083016020830185838301111561387c57600080fd5b613887838284615068565b50505092915050565b8035610693816150bb565b6000608082840312156138ad57600080fd5b50919050565b6000608082840312156138c557600080fd5b6138cf6080614fa4565b905060006138dd8484613943565b82525060206138ee84848301613938565b602083015250604061390284828501613938565b604083015250606061391684828501613943565b60608301525092915050565b8035610693816150c4565b8051610693816150c4565b8035610693816150cd565b8035610693816150d6565b60006020828403121561396057600080fd5b60006129b884846137c8565b60006020828403121561397e57600080fd5b60006129b884846137d3565b6000806040838503121561399d57600080fd5b60006139a985856137c8565b92505060206139ba858286016137c8565b9150509250929050565b6000806000606084860312156139d957600080fd5b60006139e586866137c8565b93505060206139f6868287016137c8565b9250506040613a0786828701613922565b9150509250925092565b600080600080600080600080610140898b031215613a2e57600080fd5b6000613a3a8b8b6137c8565b98505060208901356001600160401b03811115613a5657600080fd5b613a628b828c016137de565b97509750506040613a758b828c016137c8565b9550506060613a868b828c01613826565b9450506080613a978b828c01613826565b93505060a0613aa88b828c01613826565b92505060c0613ab98b828c0161389b565b9150509295985092959890939650565b60008060408385031215613adc57600080fd5b6000613ae885856137d3565b92505060208301516001600160401b03811115613b0457600080fd5b6139ba8582860161383c565b60008060408385031215613b2357600080fd5b6000613b2f85856137c8565b92505060206139ba85828601613922565b60008060208385031215613b5357600080fd5b82356001600160401b03811115613b6957600080fd5b613b75858286016137de565b92509250509250929050565b60008060008060008060608789031215613b9a57600080fd5b86356001600160401b03811115613bb057600080fd5b613bbc89828a016137de565b965096505060208701356001600160401b03811115613bda57600080fd5b613be689828a016137de565b945094505060408701356001600160401b03811115613c0457600080fd5b613c1089828a016137de565b92509250509295509295509295565b60008060008060408587031215613c3557600080fd5b84356001600160401b03811115613c4b57600080fd5b613c57878288016137de565b945094505060208501356001600160401b03811115613c7557600080fd5b613c81878288016137de565b95989497509550505050565b600060208284031215613c9f57600080fd5b60006129b88484613826565b600060208284031215613cbd57600080fd5b60006129b88484613831565b600080600060608486031215613cde57600080fd5b6000613cea8686613890565b93505060206139f686828701613922565b600060208284031215613d0d57600080fd5b81516001600160401b03811115613d2357600080fd5b6129b88482850161383c565b600060808284031215613d4157600080fd5b60006129b8848461389b565b600060808284031215613d5f57600080fd5b60006129b884846138b3565b600060208284031215613d7d57600080fd5b60006129b88484613922565b600060208284031215613d9b57600080fd5b60006129b8848461392d565b60008060408385031215613dba57600080fd5b6000613b2f8585613922565b6000613dd28383613de6565b505060200190565b6000613dd28383614af4565b613def81615004565b82525050565b6000613e0082614ff7565b613e0a8185614ffb565b9350613e1583614ff1565b8060005b83811015613e43578151613e2d8882613dc6565b9750613e3883614ff1565b925050600101613e19565b509495945050505050565b6000613e5982614ff7565b613e638185614ffb565b9350613e6e83614ff1565b8060005b83811015613e43578151613e868882613dda565b9750613e9183614ff1565b925050600101613e72565b613def8161500f565b6000613eb082614ff7565b613eba8185610dbb565b9350613eca818560208601615068565b9290920192915050565b6000613edf82614ff7565b613ee98185614ffb565b9350613ef9818560208601615068565b613f0281615094565b9093019392505050565b6000613f19600183610dbb565b607760f81b815260010192915050565b6000613f36602083614ffb565b7f6f6e6c794d616e616765724f724f776e65723a20556e617574686f72697a6564815260200192915050565b6000613f6f602383614ffb565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647281526265737360e81b602082015260400192915050565b6000613fb4601e83614ffb565b7f7265717565737452656465656d3a20457863656564732062616c616e63650000815260200192915050565b6000613fed601a83614ffb565b7f6465706f7369743a20417070726f76616c206d69736d61746368000000000000815260200192915050565b6000614026602283614ffb565b7f45524332303a20617070726f766520746f20746865207a65726f206164647265815261737360f01b602082015260400192915050565b600061406a601d83614ffb565b7f72656d6f76654d616e61676572733a204e6f742061206d616e61676572000000815260200192915050565b60006140a3601f83614ffb565b7f63616e63656c5265717565737452656465656d3a204e6f207265717565737400815260200192915050565b60006140dc602783614ffb565b7f72656465656d46726f6d51756575653a204f75742d6f662d72616e6765205f658152660dcc892dcc8caf60cb1b602082015260400192915050565b6000614125602183614ffb565b7f5f5f72656465656d43616c6c3a204e6f20726564656d7074696f6e20617373658152601d60fa1b602082015260400192915050565b6000614168602a83614ffb565b7f72656465656d46726f6d51756575653a204f75747369646520726564656d7074815269696f6e2077696e646f7760b01b602082015260400192915050565b60006141b4601b83614ffb565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b60006141ed601f83614ffb565b7f7265717565737452656465656d3a204578636565647320617070726f76616c00815260200192915050565b6000614226603b83614ffb565b7f5f5f736574526564656d7074696f6e57696e646f77436f6e6669673a2072656c81527f6174697665536861726573436170206578636565647320313030250000000000602082015260400192915050565b6000614285603783614ffb565b7f5f5f736574526564656d7074696f6e57696e646f77436f6e6669673a2064757281527f6174696f6e2065786365656473206672657175656e6379000000000000000000602082015260400192915050565b60006142e4602783614ffb565b7f53616665436173743a2076616c756520646f65736e27742066697420696e20318152663238206269747360c81b602082015260400192915050565b600061432d602983614ffb565b7f5f5f70726550726f636573735472616e736665723a20496e20726564656d7074815268696f6e20717565756560b81b602082015260400192915050565b6000614378601e83614ffb565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b60006143b1602683614ffb565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f8152651c8818d85b1b60d21b602082015260400192915050565b60006143f9601a83614ffb565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b6000614432602383614ffb565b7f72656465656d46726f6d51756575653a204d69736f72646572656420696e646581526278657360e81b602082015260400192915050565b6000614477601c83614ffb565b7f6465706f7369743a20496e73756666696369656e742073686172657300000000815260200192915050565b60006144b0601e83614ffb565b7f5f5f6164644d616e61676572733a20416c7265616479206d616e616765720000815260200192915050565b60006144e9602883614ffb565b7f5f5f736574526564656d7074696f6e57696e646f77436f6e6669673a204e6f20815267323ab930ba34b7b760c11b602082015260400192915050565b6000614533602183614ffb565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000614576602683614ffb565b7f736574526564656d7074696f6e417070726f76616c733a20556e657175616c2081526561727261797360d01b602082015260400192915050565b60006145be602d83614ffb565b7f63616e63656c5265717565737452656465656d3a20496e73696465207265646581526c6d7074696f6e2077696e646f7760981b602082015260400192915050565b600061460d601183614ffb565b701a5b9a5d0e88125b9a5d1a585b1a5e9959607a1b815260200192915050565b600061463a602183614ffb565b7f45524332303a206275726e2066726f6d20746865207a65726f206164647265738152607360f81b602082015260400192915050565b600061467d602b83614ffb565b7f72656465656d46726f6d51756575653a20416c72656164792072656465656d6581526a6420696e2077696e646f7760a81b602082015260400192915050565b60006146ca602583614ffb565b7f45524332303a207472616e736665722066726f6d20746865207a65726f206164815264647265737360d81b602082015260400192915050565b6000614711602483614ffb565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164648152637265737360e01b602082015260400192915050565b6000614757601d83614ffb565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000815260200192915050565b6000614790601783614ffb565b7f6f6e6c794f776e65723a20556e617574686f72697a6564000000000000000000815260200192915050565b60006147c9602383614ffb565b7f7365744465706f736974417070726f76616c733a20556e657175616c2061727281526261797360e81b602082015260400192915050565b600061480e602783614ffb565b7f5f5f70726550726f636573735472616e736665723a20417070726f76616c206d8152660d2e6dac2e8c6d60cb1b602082015260400192915050565b6000614857603583614ffb565b7f5f5f736574526564656d7074696f6e57696e646f77436f6e6669673a20496e76815274185b1a5908199a5c9cdd15da5b991bddd4dd185c9d605a1b602082015260400192915050565b60006148ae602483614ffb565b7f7365745472616e73666572417070726f76616c733a20556e657175616c2061728152637261797360e01b602082015260400192915050565b60006148f4602a83614ffb565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e8152691bdd081cdd58d8d9595960b21b602082015260400192915050565b6000614940601f83614ffb565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00815260200192915050565b6000614979603683614ffb565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f81527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b602082015260400192915050565b60006149d1601f83614ffb565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300815260200192915050565b6000614a0a602783614ffb565b7f7265717565737452656465656d3a20496e7369646520726564656d7074696f6e8152662077696e646f7760c81b602082015260400192915050565b6000614a53600883610dbb565b6702bb930b83832b2160c51b815260080192915050565b80516060830190614a7b8482614b18565b506020820151614a8e6020850182614b18565b506040820151612b186040850182614aeb565b80516080830190614ab28482614b18565b506020820151614ac56020850182614b06565b506040820151614ad86040850182614b06565b506060820151612b186060850182614b18565b613def8161501f565b613def81610678565b613def81615052565b613def81615037565b613def8161505d565b613def81615040565b613def8161504c565b6000610d5a8284613ea5565b6000614b4182613f0c565b9150610d5a8284613ea5565b6000614b4182614a46565b602081016106938284613de6565b60408101614b748285613de6565b610d5a6020830184613de6565b60a08101614b8f8288613de6565b614b9c6020830187613de6565b614ba96040830186613de6565b614bb66060830185614af4565b614bc36080830184613e9c565b9695505050505050565b60608101614bdb8286613de6565b614be86020830185613de6565b6129b86040830184614af4565b60408101614c038285613de6565b610d5a6020830184614af4565b60208082528101610d5a8184613df5565b60408082528101614c328185613df5565b90508181036020830152610d578184613e4e565b602081016106938284613e9c565b60208082528101610d5a8184613ed4565b6020808252810161069381613f29565b6020808252810161069381613f62565b6020808252810161069381613fa7565b6020808252810161069381613fe0565b6020808252810161069381614019565b602080825281016106938161405d565b6020808252810161069381614096565b60208082528101610693816140cf565b6020808252810161069381614118565b602080825281016106938161415b565b60208082528101610693816141a7565b60208082528101610693816141e0565b6020808252810161069381614219565b6020808252810161069381614278565b60208082528101610693816142d7565b6020808252810161069381614320565b602080825281016106938161436b565b60208082528101610693816143a4565b60208082528101610693816143ec565b6020808252810161069381614425565b602080825281016106938161446a565b60208082528101610693816144a3565b60208082528101610693816144dc565b6020808252810161069381614526565b6020808252810161069381614569565b60208082528101610693816145b1565b6020808252810161069381614600565b602080825281016106938161462d565b6020808252810161069381614670565b60208082528101610693816146bd565b6020808252810161069381614704565b602080825281016106938161474a565b6020808252810161069381614783565b60208082528101610693816147bc565b6020808252810161069381614801565b602080825281016106938161484a565b60208082528101610693816148a1565b60208082528101610693816148e7565b6020808252810161069381614933565b602080825281016106938161496c565b60208082528101610693816149c4565b60208082528101610693816149fd565b606081016106938284614a6a565b608081016106938284614aa1565b602081016106938284614af4565b60408101614c038285614af4565b60608101614f4b8286614af4565b614be86020830185614af4565b60808101614f668287614b0f565b614f736020830186614afd565b614f806040830185614afd565b614f8d6060830184614b0f565b95945050505050565b602081016106938284614b21565b6040518181016001600160401b0381118282101715614fc257600080fd5b604052919050565b60006001600160401b03821115614fe057600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b60006106938261502b565b151590565b600061069382615004565b6001600160801b031690565b6001600160a01b031690565b63ffffffff1690565b6001600160401b031690565b60ff1690565b600061069382615037565b600061069382615040565b60005b8381101561508357818101518382015260200161506b565b83811115612b185750506000910152565b601f01601f191690565b6150a781615004565b811461077157600080fd5b6150a78161500f565b6150a781615014565b6150a781610678565b6150a781615037565b6150a78161504056fe45524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa164736f6c634300060c000a", "sourceMap": "981:34447:63:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3511:243;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4244:166:447;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;27121:197:63:-;;;;;;:::i;:::-;;:::i;:::-;;7199:2400;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;29792:352::-;;;;;;:::i;:::-;;:::i;25921:162::-;;;;;;:::i;:::-;;:::i;3235:106:447:-;;;:::i;4793:311:63:-;;;;;;:::i;:::-;;:::i;33036:192::-;;;;;;:::i;:::-;;:::i;4226:93::-;;;:::i;:::-;;;;;;;:::i;31612:146::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;23283:548::-;;;;;;:::i;:::-;;:::i;33370:139::-;;;;;;:::i;:::-;;:::i;5589:215:447:-;;;;;;:::i;:::-;;:::i;2535:802:63:-;;;;;;:::i;:::-;;:::i;32220:128::-;;;:::i;:::-;;;;;;;:::i;24624:572::-;;;;;;:::i;:::-;;:::i;25606:190::-;;;;;;:::i;:::-;;:::i;6125:681::-;;;:::i;20868:813::-;;;:::i;:::-;;;;;;;;:::i;34229:210::-;;;;;;:::i;:::-;;:::i;33607:106::-;;;:::i;3399:125:447:-;;;;;;:::i;:::-;;:::i;27429:145:63:-;;;;;;:::i;:::-;;:::i;32461:133::-;;;:::i;29598:111::-;;;;;;:::i;:::-;;:::i;23983:422::-;;;;;;:::i;:::-;;:::i;35038:126::-;;;:::i;3855:244::-;;;:::i;11765:1202::-;;;;;;:::i;:::-;;:::i;32735:120::-;;;:::i;6291:266:447:-;;;;;;:::i;:::-;;:::i;31906:200:63:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;4415:278::-;;;;;;:::i;:::-;;:::i;9785:1588::-;;;;;;:::i;:::-;;:::i;25319:158::-;;;;;;:::i;:::-;;:::i;34534:101::-;;;:::i;13439:4235::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;31038:414::-;;;:::i;:::-;;;;;;;;;:::i;3957:149:447:-;;;;;;:::i;:::-;;:::i;34801:118:63:-;;;;;;:::i;:::-;;:::i;35304:122::-;;;:::i;33843:187::-;;;:::i;:::-;;;;;;;:::i;3511:243::-;3557:19;3600:4;-1:-1:-1;;;;;3609:8:63;3592:25;;3588:75;;;3640:12;:10;:12::i;:::-;3633:19;;;;3588:75;3722:15;:13;:15::i;:::-;-1:-1:-1;;;;;3716:27:63;;:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3716:29:63;;;;;;;;;;;;:::i;:::-;3687:59;;;;;;;;:::i;:::-;;;;;;;;;;;;;3673:74;;3511:243;;:::o;4244:166:447:-;4327:4;4343:39;4352:12;:10;:12::i;:::-;4366:7;4375:6;4343:8;:39::i;:::-;-1:-1:-1;4399:4:447;4244:166;;;;;:::o;27121:197:63:-;1394:21;1404:10;1394:9;:21::i;:::-;:77;;;;1444:15;:13;:15::i;:::-;-1:-1:-1;;;;;1433:36:63;;:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1419:52:63;:10;-1:-1:-1;;;;;1419:52:63;;1394:77;1373:156;;;;-1:-1:-1;;;1373:156:63;;;;;;;:::i;:::-;;;;;;;;;27265:46:::1;;;::::0;;::::1;::::0;::::1;27293:17:::0;27265:46:::1;:::i;:::-;:27;:46::i;:::-;27121:197:::0;:::o;7199:2400::-;7361:23;1688:1:453;2277:7;;:19;;2269:63;;;;-1:-1:-1;;;2269:63:453;;;;;;;:::i;:::-;1688:1;2407:7;:18;7400:25:63::1;:23;:25::i;:::-;7396:552;;;7441:23;7467:125;7511:10;7555:21;7467:18;:125::i;:::-;7441:151;;-1:-1:-1::0;;7693:15:63::1;:36;7689:249;;7776:19;7757:15;:38;7749:77;;;;-1:-1:-1::0;;;7749:77:63::1;;;;;;;:::i;:::-;7880:10;7851:40;::::0;;;:28:::1;:40;::::0;;;;;;;-1:-1:-1;;;;;7851:72:63;::::1;::::0;;;;;;;7844:79;7689:249:::1;7396:552;;8057:45;8086:15;8057:28;:45::i;:::-;8053:111;;;8118:35;:33;:35::i;:::-;8206:86;-1:-1:-1::0;;;;;8206:38:63;::::1;8245:10;8265:4;8272:19:::0;8206:38:::1;:86::i;:::-;8303:25;8337:15;:13;:15::i;:::-;8303:50;;8363:20;8386:19;-1:-1:-1::0;;;;;8386:29:63::1;;8424:4;8386:44;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8363:67;;8491:21;8514:27;8545:22;-1:-1:-1::0;;;;;8545:53:63::1;;8638:19;8699:21;8760:19;8545:249;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;::::0;;::::1;-1:-1:-1::0;;8545:249:63::1;::::0;::::1;;::::0;::::1;::::0;;;::::1;::::0;::::1;:::i;:::-;8860:61;::::0;-1:-1:-1;;;8860:61:63;;8490:304;;-1:-1:-1;8490:304:63;-1:-1:-1;;;;;;8860:31:63;::::1;::::0;::::1;::::0;:61:::1;::::0;8900:4:::1;::::0;8490:304;;8860:61:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8856:164;;8942:67;-1:-1:-1::0;;;;;8942:33:63;::::1;8976:13:::0;-1:-1:-1;;8942:33:63::1;:67::i;:::-;9068:42;-1:-1:-1::0;;;;;9068:26:63;::::1;9095:14:::0;9068:26:::1;:42::i;:::-;;9201:62;9250:12;9201:19;-1:-1:-1::0;;;;;9201:29:63::1;;9239:4;9201:44;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:48:::0;::::1;:62::i;:::-;9183:80;;9300:16;9281:15;:35;;9273:76;;;;-1:-1:-1::0;;;9273:76:63::1;;;;;;;:::i;:::-;9360:34;9366:10;9378:15;9360:5;:34::i;:::-;9465:21;-1:-1:-1::0;;;;;9410:149:63::1;9433:10;-1:-1:-1::0;;;;;9410:149:63::1;;9501:19;9534:15;9410:149;;;;;;;:::i;:::-;;;;;;;;9570:22;;;;1645:1:453::0;2580:7;:22;7199:2400:63;;-1:-1:-1;;;7199:2400:63:o;29792:352::-;1617:15;:13;:15::i;:::-;-1:-1:-1;;;;;1606:36:63;;:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1592:52:63;:10;-1:-1:-1;;;;;1592:52:63;;1584:88;;;;-1:-1:-1;;;1584:88:63;;;;;;;:::i;:::-;29880:9:::1;29875:263;29891:20:::0;;::::1;29875:263;;;29932:15;29950:9;;29960:1;29950:12;;;;;;;;;;;;;;;;;;;;:::i;:::-;29932:30;;29985:18;29995:7;29985:9;:18::i;:::-;29977:60;;;;-1:-1:-1::0;;;29977:60:63::1;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;30052:24:63;::::1;30079:5;30052:24:::0;;;:15:::1;:24;::::0;;;;;:32;;-1:-1:-1;;30052:32:63::1;::::0;;30104:23;::::1;::::0;30079:5;30104:23:::1;-1:-1:-1::0;29913:3:63::1;;29875:263;;;;29792:352:::0;;:::o;25921:162::-;1394:21;1404:10;1394:9;:21::i;:::-;:77;;;;1444:15;:13;:15::i;:::-;-1:-1:-1;;;;;1433:36:63;;:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1419:52:63;:10;-1:-1:-1;;;;;1419:52:63;;1394:77;1373:156;;;;-1:-1:-1;;;1373:156:63;;;;;;;:::i;:::-;26024:52:::1;26050:25;26024;:52::i;3235:106:447:-:0;3322:12;;3235:106;:::o;4793:311:63:-;4924:13;4949:82;4980:7;5001:10;5022:7;4949:20;:82::i;:::-;5049:48;5068:7;5077:10;5089:7;5049:18;:48::i;:::-;5042:55;;4793:311;;;;;;:::o;33036:192::-;-1:-1:-1;;;;;33178:35:63;;;33140:15;33178:35;;;:28;:35;;;;;;;;:43;;;;;;;;;;;;;33036:192::o;4226:93::-;4310:2;4226:93;:::o;31612:146::-;31690:13;31722:15;:21;;31744:6;31722:29;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;31722:29:63;;-1:-1:-1;31612:146:63;;;;:::o;23283:548::-;1394:21;1404:10;1394:9;:21::i;:::-;:77;;;;1444:15;:13;:15::i;:::-;-1:-1:-1;;;;;1433:36:63;;:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1419:52:63;:10;-1:-1:-1;;;;;1419:52:63;;1394:77;1373:156;;;;-1:-1:-1;;;1373:156:63;;;;;;;:::i;:::-;23485:31;;::::1;:67:::0;::::1;;;-1:-1:-1::0;23520:32:63;;::::1;23485:67;23464:149;;;;-1:-1:-1::0;;;23464:149:63::1;;;;;;;:::i;:::-;23629:9;23624:201;23640:17:::0;;::::1;23624:201;;;23732:8;;23741:1;23732:11;;;;;;;;;;;;;23678:28;:39;23707:6;;23714:1;23707:9;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;23678:39:63::1;-1:-1:-1::0;;;;;23678:39:63::1;;;;;;;;;;;;:51;23718:7;;23726:1;23718:10;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;23678:51:63::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;23678:51:63;:65;23790:7;;23798:1;23790:10;;::::1;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;23763:51:63::1;23779:6;;23786:1;23779:9;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;23763:51:63::1;;23802:8;;23811:1;23802:11;;;;;;;;;;;;;23763:51;;;;;;:::i;:::-;;;;;;;;23659:3;;23624:201;;;;23283:548:::0;;;;;;:::o;33370:139::-;-1:-1:-1;;;;;33471:31:63;33437:15;33471:31;;;:24;:31;;;;;;;33370:139::o;5589:215:447:-;5677:4;5693:83;5702:12;:10;:12::i;:::-;5716:7;5725:50;5764:10;5725:11;:25;5737:12;:10;:12::i;:::-;-1:-1:-1;;;;;5725:25:447;;;;;;;;;;;;;;;;;-1:-1:-1;5725:25:447;;;:34;;;;;;;;;;;:38;:50::i;:::-;5693:8;:83::i;2535:802:63:-;2898:10;;-1:-1:-1;;;;;2898:10:63;:24;2890:54;;;;-1:-1:-1;;;2890:54:63;;;;;;;:::i;:::-;2955:10;:24;;-1:-1:-1;;;;;;2955:24:63;-1:-1:-1;;;;;2955:24:63;;;;;2990;3004:9;;2990:13;:24::i;:::-;3024:38;3045:16;3024:20;:38::i;:::-;3072:46;3097:20;3072:24;:46::i;:::-;3128:52;3156:23;3128:27;:52::i;:::-;3190:48;3216:21;3190:25;:48::i;:::-;3248:42;;;;;;;;3276:13;3248:42;:::i;:::-;3306:24;;-1:-1:-1;;;;;3306:24:63;;;;;;;;2535:802;;;;;;;;:::o;32220:128::-;32278:23;32320:15;:21;;32313:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;32313:28:63;;;;;;;;;;;;;;;;;;;;;;;32220:128;:::o;24624:572::-;1394:21;1404:10;1394:9;:21::i;:::-;:77;;;;1444:15;:13;:15::i;:::-;-1:-1:-1;;;;;1433:36:63;;:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1419:52:63;:10;-1:-1:-1;;;;;1419:52:63;;1394:77;1373:156;;;;-1:-1:-1;;;1373:156:63;;;;;;;:::i;:::-;24831:35;;::::1;:71:::0;::::1;;;-1:-1:-1::0;24870:32:63;;::::1;24831:71;24810:154;;;;-1:-1:-1::0;;;24810:154:63::1;;;;;;;:::i;:::-;24980:9;24975:215;24991:17:::0;;::::1;24975:215;;;25092:8;;25101:1;25092:11;;;;;;;;;;;;;25029:33;:44;25063:6;;25070:1;25063:9;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;25029:44:63::1;-1:-1:-1::0;;;;;25029:44:63::1;;;;;;;;;;;;:60;25074:11;;25086:1;25074:14;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;25029:60:63::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;25029:60:63;:74;25151:11;;25163:1;25151:14;;::::1;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;25123:56:63::1;25140:6;;25147:1;25140:9;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;25123:56:63::1;;25167:8;;25176:1;25167:11;;;;;;;;;;;;;25123:56;;;;;;:::i;:::-;;;;;;;;25010:3;;24975:215;;25606:190:::0;1394:21;1404:10;1394:9;:21::i;:::-;:77;;;;1444:15;:13;:15::i;:::-;-1:-1:-1;;;;;1433:36:63;;:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1419:52:63;:10;-1:-1:-1;;;;;1419:52:63;;1394:77;1373:156;;;;-1:-1:-1;;;1373:156:63;;;;;;;:::i;:::-;25733:56:::1;25761:27;25733;:56::i;6125:681::-:0;1688:1:453;2277:7;;:19;;2269:63;;;;-1:-1:-1;;;2269:63:453;;;;;;;:::i;:::-;1688:1;2407:7;:18;6210:45:63::1;6239:15;6210:28;:45::i;:::-;6209:46;6188:138;;;;-1:-1:-1::0;;;6188:138:63::1;;;;;;;:::i;:::-;6442:10;6337:29;6422:31:::0;;;:19;:31:::1;::::0;;;;:45;6369:15:::1;::::0;-1:-1:-1;;;6422:45:63;::::1;-1:-1:-1::0;;;;;6422:45:63::1;::::0;6477:65:::1;;;;-1:-1:-1::0;;;6477:65:63::1;;;;;;;:::i;:::-;6622:24:::0;;6614:94:::1;::::0;:69:::1;::::0;-1:-1:-1;;;;;6622:24:63::1;6665:17:::0;6614:50:::1;:69::i;:::-;:92;:94::i;:::-;6587:121:::0;;-1:-1:-1;;;;;;6587:121:63::1;-1:-1:-1::0;;;;;6587:121:63;;;::::1;;::::0;;6779:11:::1;::::0;::::1;:18:::0;6719:80:::1;::::0;6753:10:::1;::::0;6719:25:::1;:80::i;:::-;-1:-1:-1::0;;1645:1:453;2580:7;:22;6125:681:63:o;20868:813::-;20951:20;20973:18;21007:42;;:::i;:::-;21052:27;:25;:27::i;:::-;21179:29;;21007:72;;-1:-1:-1;;;;;;21161:47:63;:15;:47;;:85;;-1:-1:-1;21212:29:63;;-1:-1:-1;;;;;21212:34:63;;21161:85;21144:151;;;21279:1;21282;21271:13;;;;;;;21144:151;21305:23;21331:102;21401:12;:22;;;21331:102;;21332:50;21352:12;:29;;;-1:-1:-1;;;;;21332:50:63;:15;:19;;:50;;;;:::i;:::-;21331:56;;:102::i;:::-;21305:128;;21459:109;21515:43;21535:12;:22;;;21515:43;;:15;:19;;:43;;;;:::i;:::-;21467:29;;-1:-1:-1;;;;;21459:38:63;;:42;:109::i;:::-;21444:124;;21591:39;21608:12;:21;;;21591:39;;:12;:16;;:39;;;;:::i;:::-;21578:52;;21641:33;;20868:813;;;:::o;34229:210::-;-1:-1:-1;;;;;34378:42:63;;;34340:15;34378:42;;;:33;:42;;;;;;;;:54;;;;;;;;;;;;;34229:210::o;33607:106::-;33691:15;;-1:-1:-1;;;;;33691:15:63;33607:106;:::o;3399:125:447:-;-1:-1:-1;;;;;3499:18:447;3473:7;3499:18;;;;;;;;;;;;3399:125::o;27429:145:63:-;1394:21;1404:10;1394:9;:21::i;:::-;:77;;;;1444:15;:13;:15::i;:::-;-1:-1:-1;;;;;1433:36:63;;:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1419:52:63;:10;-1:-1:-1;;;;;1419:52:63;;1394:77;1373:156;;;;-1:-1:-1;;;1373:156:63;;;;;;;:::i;:::-;27525:42:::1;27546:20;27525;:42::i;32461:133::-:0;32559:21;:28;32461:133;:::o;29598:111::-;1617:15;:13;:15::i;:::-;-1:-1:-1;;;;;1606:36:63;;:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1592:52:63;:10;-1:-1:-1;;;;;1592:52:63;;1584:88;;;;-1:-1:-1;;;1584:88:63;;;;;;;:::i;:::-;29678:24:::1;29692:9;;29678:13;:24::i;:::-;29598:111:::0;;:::o;23983:422::-;1394:21;1404:10;1394:9;:21::i;:::-;:77;;;;1444:15;:13;:15::i;:::-;-1:-1:-1;;;;;1433:36:63;;:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1419:52:63;:10;-1:-1:-1;;;;;1419:52:63;;1394:77;1373:156;;;;-1:-1:-1;;;1373:156:63;;;;;;;:::i;:::-;24137:32;;::::1;24129:83;;;;-1:-1:-1::0;;;24129:83:63::1;;;;;;;:::i;:::-;24228:9;24223:176;24239:17:::0;;::::1;24223:176;;;24315:8;;24324:1;24315:11;;;;;;;;;;;;;24277:24;:35;24302:6;;24309:1;24302:9;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;24277:35:63::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;24277:35:63;:49;24365:6;;24372:1;24365:9;;::::1;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;24346:42:63::1;;24376:8;;24385:1;24376:11;;;;;;;;;;;;;24346:42;;;;;;:::i;:::-;;;;;;;;24258:3;;24223:176;;;;23983:422:::0;;;;:::o;35038:126::-;35135:22;;-1:-1:-1;;;35135:22:63;;;;;35038:126::o;3855:244::-;3903:21;3948:4;-1:-1:-1;;;;;3957:8:63;3940:25;;3936:77;;;3988:14;:12;:14::i;3936:77::-;4065:15;:13;:15::i;:::-;-1:-1:-1;;;;;4059:29:63;;:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4059:31:63;;;;;;;;;;;;:::i;:::-;4037:54;;;;;;;;:::i;11765:1202::-;11876:23;1394:21;1404:10;1394:9;:21::i;:::-;:77;;;;1444:15;:13;:15::i;:::-;-1:-1:-1;;;;;1433:36:63;;:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1419:52:63;:10;-1:-1:-1;;;;;1419:52:63;;1394:77;1373:156;;;;-1:-1:-1;;;1373:156:63;;;;;;;:::i;:::-;1688:1:453::1;2277:7;;:19;;2269:63;;;;-1:-1:-1::0;;;2269:63:453::1;;;;;;;:::i;:::-;1688:1;2407:7;:18:::0;12023:45:63::2;12052:15;12023:28;:45::i;:::-;12019:111;;;12084:35;:33;:35::i;:::-;-1:-1:-1::0;;;;;12259:26:63;::::2;12174:29;12259:26:::0;;;:19;:26:::2;::::0;;;;:40;12206:15:::2;::::0;-1:-1:-1;;;12259:40:63;::::2;-1:-1:-1::0;;;;;12259:40:63::2;12313:21:::0;;12309:270:::2;;12385:24:::0;;12377:102:::2;::::0;:73:::2;::::0;-1:-1:-1;;;;;12385:24:63::2;12432:17:::0;12377:54:::2;:73::i;:102::-;12350:129:::0;;-1:-1:-1;;;;;;12350:129:63::2;-1:-1:-1::0;;;;;12350:129:63;;;::::2;;::::0;;12548:11:::2;::::0;::::2;:18:::0;12493:75:::2;::::0;12527:5;;12493:25:::2;:75::i;:::-;12645:16;12655:5;12645:9;:16::i;:::-;12627:34;;12671:48;12687:5;12702:15;12671:5;:48::i;:::-;12730:151;12769:5;12803:15;12850:20;:18;:20::i;:::-;12730:12;:151::i;:::-;12904:5;-1:-1:-1::0;;;;;12897:30:63::2;;12911:15;12897:30;;;;;;:::i;:::-;;;;;;;;12938:22;;1645:1:453::1;2580:7;:22:::0;11765:1202:63;;-1:-1:-1;11765:1202:63:o;32735:120::-;32829:19;;-1:-1:-1;;;32829:19:63;;;;;32735:120::o;6291:266:447:-;6384:4;6400:129;6409:12;:10;:12::i;:::-;6423:7;6432:96;6471:15;6432:96;;;;;;;;;;;;;;;;;:11;:25;6444:12;:10;:12::i;:::-;-1:-1:-1;;;;;6432:25:447;;;;;;;;;;;;;;;;;-1:-1:-1;6432:25:447;;;:34;;;;;;;;;;;:96;:38;:96::i;31906:200:63:-;32007:33;;:::i;:::-;-1:-1:-1;;;;;;32063:36:63;;;;;:29;:36;;;;;;;;;32056:43;;;;;;;;;-1:-1:-1;;;;;32056:43:63;;;;;-1:-1:-1;;;32056:43:63;;;;;;;;;;-1:-1:-1;;;32056:43:63;;;-1:-1:-1;;;;;32056:43:63;;;;;;;;;31906:200::o;4415:278::-;4519:13;4548:85;4579:10;4603;4624:7;4548:20;:85::i;:::-;4651:35;4666:10;4678:7;4651:14;:35::i;9785:1588::-;1688:1:453;2277:7;;:19;;2269:63;;;;-1:-1:-1;;;2269:63:453;;;;;;;:::i;:::-;1688:1;2407:7;:18;9885:45:63::1;9914:15;9885:28;:45::i;:::-;9884:46;9863:132;;;;-1:-1:-1::0;;;9863:132:63::1;;;;;;;:::i;:::-;10085:28;:26;:28::i;:::-;10081:353;;;10129:26;10158:33;10180:10;10158:21;:33::i;:::-;10129:62;;-1:-1:-1::0;;10210:18:63::1;:39;10206:218;;10294:18;10277:13;:35;;10269:79;;;;-1:-1:-1::0;;;10269:79:63::1;;;;;;;:::i;:::-;10398:10;10373:36;::::0;;;:24:::1;:36;::::0;;;;10366:43;10206:218:::1;10081:353;;10557:10;10444:29;10537:31:::0;;;:19;:31:::1;::::0;;;;10476:15:::1;10620:24:::0;;10476:15;;10444:29;10612:52:::1;::::0;-1:-1:-1;;;;;10620:24:63::1;10650:13:::0;10612:37:::1;:52::i;:::-;10714:21:::0;;10579:85;;-1:-1:-1;10674:29:63::1;::::0;10706:49:::1;::::0;-1:-1:-1;;;10714:21:63;::::1;-1:-1:-1::0;;;;;10714:21:63::1;10741:13:::0;10706:34:::1;:49::i;:::-;10674:81;;10843:21;10853:10;10843:9;:21::i;:::-;10818;:46;;10810:89;;;;-1:-1:-1::0;;;10810:89:63::1;;;;;;;:::i;:::-;10978:34;:22;:32;:34::i;:::-;10951:61:::0;;-1:-1:-1;;;;;;10951:61:63::1;-1:-1:-1::0;;;;;10951:61:63;;;::::1;;::::0;;11046:33:::1;:21:::0;:31:::1;:33::i;:::-;11022:57:::0;;-1:-1:-1;;;;;11022:57:63;;::::1;-1:-1:-1::0;;;11022:57:63::1;::::0;::::1;;::::0;;11153:38;;::::1;11149:153;;;11230:11;::::0;::::1;:18:::0;;11207:42;;-1:-1:-1;;;;;11207:42:63;;::::1;-1:-1:-1::0;;11207:42:63;;::::1;;::::0;;11263:28;;11207:42;11263:28;::::1;::::0;;11207:13:::1;11263:28:::0;;;::::1;::::0;;;::::1;::::0;;-1:-1:-1;;;;;;11263:28:63::1;11280:10;11263:28;::::0;;11149:153:::1;11340:10;-1:-1:-1::0;;;;;11317:49:63::1;;11352:13;11317:49;;;;;;:::i;:::-;;;;;;;;-1:-1:-1::0;;1645:1:453;2580:7;:22;-1:-1:-1;;;9785:1588:63:o;25319:158::-;1394:21;1404:10;1394:9;:21::i;:::-;:77;;;;1444:15;:13;:15::i;:::-;-1:-1:-1;;;;;1433:36:63;;:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1419:52:63;:10;-1:-1:-1;;;;;1419:52:63;;1394:77;1373:156;;;;-1:-1:-1;;;1373:156:63;;;;;;;:::i;:::-;25420:50:::1;25445:24;25420;:50::i;34534:101::-:0;34618:10;;-1:-1:-1;;;;;34618:10:63;34534:101;:::o;13439:4235::-;13586:31;13619:32;1688:1:453;2277:7;;:19;;2269:63;;;;-1:-1:-1;;;2269:63:453;;;;;;;:::i;:::-;1688:1;2407:7;:18;1394:21:63::1;1404:10;1394:9;:21::i;:::-;:77;;;;1444:15;:13;:15::i;:::-;-1:-1:-1::0;;;;;1433:36:63::1;;:38;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;1419:52:63::1;:10;-1:-1:-1::0;;;;;1419:52:63::1;;1394:77;1373:156;;;;-1:-1:-1::0;;;1373:156:63::1;;;;;;;:::i;:::-;13668:19:::2;13689:17:::0;13710:28:::2;:26;:28::i;:::-;13667:71;;;;13769:152;13811:15;13857:11;13897:9;13769:15;:152::i;:::-;13748:241;;;;-1:-1:-1::0;;;13748:241:63::2;;;;;;;:::i;:::-;14112:11:::0;:18;14032:15:::2;::::0;-1:-1:-1;;14144:30:63;::::2;14140:88;;;14216:1;14202:11;:15;14190:27;;14140:88;14257:11;14245:9;:23;14237:75;;;;-1:-1:-1::0;;;14237:75:63::2;;;;;;;:::i;:::-;14345:9;14330:11;:24;;14322:72;;;;-1:-1:-1::0;;;14322:72:63::2;;;;;;;:::i;:::-;14405:35;:33;:35::i;:::-;14500:27:::0;;1220:4:::2;-1:-1:-1::0;;;;;;;;14500:27:63;;::::2;::::0;::::2;:49;::::0;14483:14:::2;::::0;14727:1:::2;14701:23:::0;;::::2;:27;::::0;;;14755:33;::::2;::::0;::::2;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;-1:-1:-1;14755:33:63::2;;14738:50;;14830:18;-1:-1:-1::0;;;;;14816:33:63::2;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;-1:-1:-1;14816:33:63::2;-1:-1:-1::0;14798:51:63;-1:-1:-1;15039:9:63;15022:1818:::2;15050:22:::0;;15022:1818:::2;;15093:12;15108:5;:11;;15120:1;15108:14;;;;;;;;;::::0;;;::::2;::::0;;;;;::::2;::::0;-1:-1:-1;;;;;15108:14:63::2;15172:25:::0;;;15108:14;15172:19;::::2;:25:::0;;;;;;;15284:20;;15108:14;;-1:-1:-1;15172:25:63;15238:173:::2;::::0;-1:-1:-1;;;;;;;;15284:20:63;;::::2;;15339:11:::0;15383:9;15238:15:::2;:173::i;:::-;15237:174;15212:276;;;;-1:-1:-1::0;;;15212:276:63::2;;;;;;;:::i;:::-;15678:28;15724:9;15720:613;;;15781:21:::0;;15886:27;;-1:-1:-1;;;15781:21:63;;;::::2;-1:-1:-1::0;;;;;15781:21:63::2;::::0;1220:4:::2;::::0;15864:50:::2;::::0;15781:21;;15886:27:::2;-1:-1:-1::0;;;;;15886:27:63::2;15864:21;:50::i;:::-;:92;;;;;;::::0;-1:-1:-1;15999:55:63::2;:43;:17:::0;15864:92;15999:21:::2;:43::i;:55::-;15975:79:::0;;-1:-1:-1;;;;;16102:15:63::2;16072:46;-1:-1:-1::0;;;16072:46:63::2;-1:-1:-1::0;;;;;;;15975:79:63;;::::2;-1:-1:-1::0;;;15975:79:63::2;::::0;;;::::2;::::0;;;::::2;16072:46;;::::0;;-1:-1:-1;15720:613:63::2;;;-1:-1:-1::0;16180:21:63;;-1:-1:-1;;;16180:21:63;::::2;-1:-1:-1::0;;;;;16180:21:63::2;16220:67;16254:4:::0;16274:11;16220:25:::2;:67::i;:::-;-1:-1:-1::0;;16305:13:63;;;;15720:613:::2;16374:52;16390:4;16404:20;16374:5;:52::i;:::-;16545:20;;;;;;;;16616:4;16579:14;16594:18;16579:34;;;;;;;;;;;;;:41;-1:-1:-1::0;;;;;16579:41:63::2;;;-1:-1:-1::0;;;;;16579:41:63::2;;;::::0;::::2;16672:20;16634:15;16650:18;16634:35;;;;;;;;;::::0;;::::2;::::0;;;;;:58;16728:45:::2;:19:::0;16752:20;16728:23:::2;:45::i;:::-;16706:67;;16802:4;-1:-1:-1::0;;;;;16793:36:63::2;;16808:20;16793:36;;;;;;:::i;:::-;;;;;;;;-1:-1:-1::0;;;;;15074:3:63;15022:1818:::2;;;-1:-1:-1::0;16909:24:63;;16901:96:::2;::::0;:71:::2;::::0;-1:-1:-1;;;;;16909:24:63::2;16952:19:::0;16901:50:::2;:71::i;:96::-;16874:123:::0;;-1:-1:-1;;;;;;16874:123:63::2;-1:-1:-1::0;;;;;16874:123:63;;;::::2;;::::0;;-1:-1:-1;17088:20:63::2;:18;:20::i;:::-;17050:59;;17119:175;17166:4;17200:19;17259:23;17119:12;:175::i;:::-;17368:48;::::0;-1:-1:-1;;;17368:48:63;;17340:25:::2;::::0;-1:-1:-1;;;;;17368:33:63;::::2;::::0;::::2;::::0;:48:::2;::::0;17410:4:::2;::::0;17368:48:::2;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17340:76;;17431:9;17426:242;17446:14;:21;17442:1;:25;17426:242;;;17488:169;17542:14;17557:1;17542:17;;;;;;;;;;;;;;17577:66;17623:19;17577:41;17599:15;17615:1;17599:18;;;;;;;;;;;;;;17577:17;:21;;:41;;;;:::i;:66::-;-1:-1:-1::0;;;;;17488:36:63;::::2;::::0;:169;:36:::2;:169::i;:::-;17469:3;;17426:242;;;;1539:1;;;;;;;;;1645::453::0;2580:7;:22;;;;13439:4235:63;;;;;:::o;31038:414::-;31294:15;:34;-1:-1:-1;;;;;31294:34:63;;;-1:-1:-1;;;;;;;;31342:37:63;;;;;-1:-1:-1;;;31393:42:63;;;;31038:414::o;3957:149:447:-;-1:-1:-1;;;;;4072:18:447;;;4046:7;4072:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;3957:149::o;34801:118:63:-;-1:-1:-1;;;;;34890:22:63;34856:15;34890:22;;;:15;:22;;;;;;;;;34801:118::o;35304:122::-;35399:20;;-1:-1:-1;;;35399:20:63;;;;;35304:122::o;33843:187::-;33925:53;;:::i;:::-;-1:-1:-1;33994:29:63;;;;;;;;34001:22;33994:29;-1:-1:-1;;;;;33994:29:63;;;;;;-1:-1:-1;;;33994:29:63;;;;;;;;-1:-1:-1;;;33994:29:63;;;;;;;;;;-1:-1:-1;;;33994:29:63;;;;;;;;;33843:187;:::o;2168:89:447:-;2245:5;2238:12;;;;;;;;-1:-1:-1;;2238:12:447;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2213:13;;2238:12;;2245:5;;2238:12;;2245:5;2238:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2238:12:447;;2168:89;-1:-1:-1;;;;;2168:89:447:o;598:104:452:-;685:10;598:104;:::o;9355:340:447:-;-1:-1:-1;;;;;9456:19:447;;9448:68;;;;-1:-1:-1;;;9448:68:447;;;;;;;:::i;:::-;-1:-1:-1;;;;;9534:21:447;;9526:68;;;;-1:-1:-1;;;9526:68:447;;;;;;;:::i;:::-;-1:-1:-1;;;;;9605:18:447;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;;:36;;;9656:32;;;;;9635:6;;9656:32;:::i;:::-;;;;;;;;9355:340;;;:::o;27884:1570:63:-;28063:34;;-1:-1:-1;;;;;28063:39:63;;:90;;;;-1:-1:-1;28122:26:63;;;;:31;;;28063:90;:142;;;;-1:-1:-1;28173:27:63;;;;:32;;;28063:142;:202;;;;-1:-1:-1;28225:35:63;;;;-1:-1:-1;;;;;28225:40:63;;28063:202;28044:893;;28353:15;28316:17;:34;;;-1:-1:-1;;;;;28316:52:63;;28291:164;;;;-1:-1:-1;;;28291:164:63;;;;;;;:::i;:::-;28506:1;28477:17;:26;;;:30;;;28469:83;;;;-1:-1:-1;;;28469:83:63;;;;;;;:::i;:::-;28621:17;:26;;;28591:56;;:17;:27;;;:56;;;28566:170;;;;-1:-1:-1;;;28566:170:63;;;;;;;:::i;:::-;1220:4;28775:17;:35;;;-1:-1:-1;;;;;28775:58:63;;;28750:176;;;;-1:-1:-1;;;28750:176:63;;;;;;;:::i;:::-;28947:42;;:22;:42;;;;;;;;;;;;;;;-1:-1:-1;;28947:42:63;;;-1:-1:-1;;;;;28947:42:63;;;;;;;-1:-1:-1;;28947:42:63;-1:-1:-1;;;28947:42:63;;;;;;;;;;;;-1:-1:-1;;;;28947:42:63;-1:-1:-1;;;28947:42:63;;;;;;;;-1:-1:-1;;;;28947:42:63;-1:-1:-1;;;28947:42:63;;;;;;;;;;;29110:15;29135:34;;-1:-1:-1;;;;;29179:39:63;;;29234:213;;29110:15;;29234:213;;;;28947:42;;;;;;29234:213;:::i;:::-;;;;;;;;27884:1570;;:::o;21772:396::-;21876:14;21907:19;21928:17;21949:28;:26;:28::i;:::-;21906:71;;;;21992:11;22007:1;21992:16;21988:59;;;22031:5;22024:12;;;;;;21988:59;22076:85;22101:10;22126:11;22150:9;22076:15;:85::i;:::-;22057:104;21772:396;-1:-1:-1;;;;21772:396:63:o;17888:1188::-;17983:15;18105:24;;-1:-1:-1;;;;;18105:24:63;:29;;:107;;-1:-1:-1;18179:32:63;;18150:62;;-1:-1:-1;;;18179:32:63;;-1:-1:-1;;;;;18179:32:63;18150:28;:62::i;:::-;18088:166;;;18237:7;;;18088:166;18483:19;1220:4;18505:64;18523:27;:25;:27::i;:::-;:45;;;-1:-1:-1;;;;;18505:64:63;:13;:11;:13::i;:::-;:17;;:64::i;:::-;:98;;;;;18661:24;;18505:98;;;;-1:-1:-1;18614:33:63;;-1:-1:-1;;;;;18661:24:63;:38;-1:-1:-1;18657:271:63;;;18801:24;;18743:96;;-1:-1:-1;;;;;18801:24:63;18743:36;1220:4;18767:11;18743:23;:36::i;:96::-;18715:124;;18657:271;;;-1:-1:-1;1220:4:63;18657:271;18938:63;;-1:-1:-1;;;;18938:63:63;-1:-1:-1;;;;;;;;18938:63:63;;;;;-1:-1:-1;;;;;19011:58:63;-1:-1:-1;;;19053:15:63;19011:58;;;;;;;;;;;;-1:-1:-1;17888:1188:63;:::o;885:203:450:-;985:96;1005:5;1035:27;;;1064:4;1070:2;1074:5;1012:68;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;1012:68:450;;;;;;;;;;;;;;-1:-1:-1;;;;;1012:68:450;-1:-1:-1;;;;;;1012:68:450;;;;;;;;;;985:19;:96::i;:::-;885:203;;;;:::o;1348:613::-;1713:10;;;1712:62;;-1:-1:-1;1729:39:450;;-1:-1:-1;;;1729:39:450;;-1:-1:-1;;;;;1729:15:450;;;;;:39;;1753:4;;1760:7;;1729:39;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:44;1712:62;1704:150;;;;-1:-1:-1;;;1704:150:450;;;;;;;:::i;:::-;1864:90;1884:5;1914:22;;;1938:7;1947:5;1891:62;;;;;;;;;:::i;3188:171:451:-;3263:12;3292:60;3305:6;3313:4;3292:60;;;;;;;;;;;;;;;;;:12;:60::i;3136:155:442:-;3194:7;3226:1;3221;:6;;3213:49;;;;-1:-1:-1;;;3213:49:442;;;;;;;:::i;:::-;-1:-1:-1;3279:5:442;;;3136:155::o;7832:370:447:-;-1:-1:-1;;;;;7915:21:447;;7907:65;;;;-1:-1:-1;;;7907:65:447;;;;;;;:::i;:::-;7983:49;8012:1;8016:7;8025:6;7983:20;:49::i;:::-;8058:12;;:24;;8075:6;8058:16;:24::i;:::-;8043:12;:39;-1:-1:-1;;;;;8113:18:447;;:9;:18;;;;;;;;;;;:30;;8136:6;8113:22;:30::i;:::-;-1:-1:-1;;;;;8092:18:447;;:9;:18;;;;;;;;;;;:51;;;;8158:37;;8092:18;;:9;8158:37;;;;8188:6;;8158:37;:::i;:::-;;;;;;;;7832:370;;:::o;26690:206:63:-;26775:20;:48;;-1:-1:-1;;;;26775:48:63;-1:-1:-1;;;26775:48:63;;;;;;;26839:50;;;;;;26775:48;;26839:50;:::i;:::-;;;;;;;;26690:206;:::o;5151:782::-;-1:-1:-1;;;;;5354:38:63;;;;;;:29;:38;;;;;:52;5331:76;;-1:-1:-1;;;5354:52:63;;-1:-1:-1;;;;;5354:52:63;5331:18;5354:38;5331:9;:18::i;:76::-;5304:7;:103;;5283:191;;;;-1:-1:-1;;;5283:191:63;;;;;;;:::i;:::-;5489:26;:24;:26::i;:::-;5485:442;;;5531:24;5558:109;5605:7;5642:10;5558:19;:109::i;:::-;5531:136;;-1:-1:-1;;5686:16:63;:37;5682:235;;5771:7;5751:16;:27;5743:79;;;;-1:-1:-1;;;5743:79:63;;;;;;;:::i;:::-;-1:-1:-1;;;;;5848:42:63;;;;;;;:33;:42;;;;;;;;:54;;;;;;;;;;;5841:61;5485:442;5151:782;;;:::o;4877:317:447:-;4983:4;4999:36;5009:6;5017:9;5028:6;4999:9;:36::i;:::-;5045:121;5054:6;5062:12;:10;:12::i;:::-;5076:89;5114:6;5076:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5076:19:447;;;;;;:11;:19;;;;;;5096:12;:10;:12::i;:::-;-1:-1:-1;;;;;5076:33:447;;;;;;;;;;;;-1:-1:-1;5076:33:447;;;:89;:37;:89::i;5045:121::-;-1:-1:-1;5183:4:447;4877:317;;;;;:::o;2690:175:442:-;2748:7;2779:5;;;2802:6;;;;2794:46;;;;-1:-1:-1;;;2794:46:442;;;;;;;:::i;30194:340:63:-;30271:9;30266:262;30282:20;;;30266:262;;;30323:15;30341:9;;30351:1;30341:12;;;;;;;;;;;;;;;;;;;;:::i;:::-;30323:30;;30377:18;30387:7;30377:9;:18::i;:::-;30376:19;30368:62;;;;-1:-1:-1;;;30368:62:63;;;;;;;:::i;:::-;-1:-1:-1;;;;;30445:24:63;;;;;;:15;:24;;;;;;:31;;-1:-1:-1;;30445:31:63;30472:4;30445:31;;;30496:21;;;30445:24;30496:21;-1:-1:-1;30304:3:63;;30266:262;;27649:179;27727:15;:38;;-1:-1:-1;;;;;;27727:38:63;-1:-1:-1;;;;;27727:38:63;;;;;;;;27781:40;;;;-1:-1:-1;;27781:40:63;27649:179;:::o;26162:200::-;26245:19;:46;;-1:-1:-1;;;;26245:46:63;-1:-1:-1;;;26245:46:63;;;;;;;26307:48;;;;;;26245:46;;26307:48;:::i;26418:218::-;26507:22;:52;;-1:-1:-1;;;;26507:52:63;-1:-1:-1;;;26507:52:63;;;;;;;26575:54;;;;;;26507:52;;26575:54;:::i;1086:181:454:-;1143:7;-1:-1:-1;;;1170:5:454;:14;1162:67;;;;-1:-1:-1;;;1162:67:454;;;;;;;:::i;:::-;-1:-1:-1;1254:5:454;1086:181::o;19825:565:63:-;-1:-1:-1;;;;;19993:26:63;;19915:29;19993:26;;;:19;:26;;;;;:32;19947:15;;-1:-1:-1;;;;;19993:32:63;-1:-1:-1;;20052:16:63;;20040:28;;20036:230;;;20084:18;20105:5;:11;;20132:1;20117:12;:16;20105:29;;;;;;;;;;;;;;;;;;20149:11;;;:22;;-1:-1:-1;;;;;20105:29:63;;;;-1:-1:-1;20105:29:63;;20161:9;;20149:22;;;;;;;;;;;;;;;;;;:35;;-1:-1:-1;;;;;;20149:35:63;-1:-1:-1;;;;;20149:35:63;;;;;;20198:31;;;;;;-1:-1:-1;20198:19:63;;:31;;;;;;:57;;-1:-1:-1;;20198:57:63;-1:-1:-1;;;;;20198:57:63;;;;;20036:230;-1:-1:-1;;;;;20283:26:63;;;;;;:19;;;:26;;;;;20276:33;20319:11;;;:17;;;;;;;;;;;;;;;;-1:-1:-1;;20319:17:63;;;;;-1:-1:-1;;;;;;20319:17:63;;;;;;;;;20352:31;;-1:-1:-1;;;;;20352:31:63;;;;;;19825:565;;;;:::o;4217:150:442:-;4275:7;4306:1;4302;:5;4294:44;;;;-1:-1:-1;;;4294:44:442;;;;;;;:::i;:::-;4359:1;4355;:5;;;;;;;4217:150;-1:-1:-1;;;4217:150:442:o;3538:215::-;3596:7;3619:6;3615:20;;-1:-1:-1;3634:1:442;3627:8;;3615:20;3657:5;;;3661:1;3657;:5;:1;3680:5;;;;;:10;3672:56;;;;-1:-1:-1;;;3672:56:442;;;;;;;:::i;2370:93:447:-;2449:7;2442:14;;;;;;;;-1:-1:-1;;2442:14:447;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2417:13;;2442:14;;2449:7;;2442:14;;2449:7;2442:14;;;;;;;;;;;;;;;;;;;;;;;;8522:410;-1:-1:-1;;;;;8605:21:447;;8597:67;;;;-1:-1:-1;;;8597:67:447;;;;;;;:::i;:::-;8675:49;8696:7;8713:1;8717:6;8675:20;:49::i;:::-;8756:68;8779:6;8756:68;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8756:18:447;;:9;:18;;;;;;;;;;;;:68;:22;:68::i;:::-;-1:-1:-1;;;;;8735:18:447;;:9;:18;;;;;;;;;;:89;8849:12;;:24;;8866:6;8849:16;:24::i;:::-;8834:12;:39;8888:37;;8914:1;;-1:-1:-1;;;;;8888:37:447;;;;;;;8918:6;;8888:37;:::i;19150:603:63:-;-1:-1:-1;;;;;19297:30:63;;19289:76;;;;-1:-1:-1;;;19289:76:63;;;;;;;:::i;:::-;19377:14;19393:20;19417:22;-1:-1:-1;;;;;19417:67:63;;19516:15;:13;:15::i;:::-;19561:10;19597:16;19640:13;19688:4;19417:290;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;19417:290:63;;;;;;;;;;;;:::i;:::-;19376:331;;-1:-1:-1;19376:331:63;-1:-1:-1;19718:28:63;-1:-1:-1;;;;;19718:19:63;;19376:331;19718:19;:28::i;:::-;;19150:603;;;;;:::o;5432:163:442:-;5518:7;5553:12;5545:6;;;;5537:29;;;;-1:-1:-1;;;5537:29:442;;;;;;;;:::i;:::-;-1:-1:-1;;;5583:5:442;;;5432:163::o;3727:172:447:-;3813:4;3829:42;3839:12;:10;:12::i;:::-;3853:9;3864:6;3829:9;:42::i;22343:220:63:-;22476:17;22522:11;22512:6;:21;;:44;;;;-1:-1:-1;;22537:19:63;;;;;22343:220;-1:-1:-1;22343:220:63:o;704:175:450:-;786:86;806:5;836:23;;;861:2;865:5;813:58;;;;;;;;;:::i;2967:751::-;3386:23;3412:69;3440:4;3412:69;;;;;;;;;;;;;;;;;3420:5;-1:-1:-1;;;;;3412:27:450;;;:69;;;;;:::i;:::-;3495:17;;3386:95;;-1:-1:-1;3495:21:450;3491:221;;3635:10;3624:30;;;;;;;;;;;;:::i;:::-;3616:85;;;;-1:-1:-1;;;3616:85:450;;;;;;;:::i;3581:193:451:-;3684:12;3715:52;3737:6;3745:4;3751:1;3754:12;3715:21;:52::i;7031:530:447:-;-1:-1:-1;;;;;7136:20:447;;7128:70;;;;-1:-1:-1;;;7128:70:447;;;;;;;:::i;:::-;-1:-1:-1;;;;;7216:23:447;;7208:71;;;;-1:-1:-1;;;7208:71:447;;;;;;;:::i;:::-;7290:47;7311:6;7319:9;7330:6;7290:20;:47::i;:::-;7368:71;7390:6;7368:71;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7368:17:447;;:9;:17;;;;;;;;;;;;:71;:21;:71::i;:::-;-1:-1:-1;;;;;7348:17:447;;;:9;:17;;;;;;;;;;;:91;;;;7472:20;;;;;;;:32;;7497:6;7472:24;:32::i;:::-;-1:-1:-1;;;;;7449:20:447;;;:9;:20;;;;;;;;;;;;:55;;;;7519:35;;;;;;;;;;7547:6;;7519:35;:::i;4608:523:451:-;4735:12;4792:5;4767:21;:30;;4759:81;;;;-1:-1:-1;;;4759:81:451;;;;;;;:::i;:::-;4858:18;4869:6;4858:10;:18::i;:::-;4850:60;;;;-1:-1:-1;;;4850:60:451;;;;;;;:::i;:::-;4981:12;4995:23;5022:6;-1:-1:-1;;;;;5022:11:451;5042:5;5050:4;5022:33;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4980:75;;;;5072:52;5090:7;5099:10;5111:12;5072:17;:52::i;:::-;5065:59;4608:523;-1:-1:-1;;;;;;;4608:523:451:o;726:413::-;1086:20;1124:8;;;726:413::o;7091:725::-;7206:12;7234:7;7230:580;;;-1:-1:-1;7264:10:451;7257:17;;7230:580;7375:17;;:21;7371:429;;7633:10;7627:17;7693:15;7680:10;7676:2;7672:19;7665:44;7582:145;7772:12;7765:20;;-1:-1:-1;;;7765:20:451;;;;;;;;:::i;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5:130::-;72:20;;97:33;72:20;97:33;:::i;142:134::-;220:13;;238:33;220:13;238:33;:::i;301:352::-;;;431:3;424:4;416:6;412:17;408:27;398:2;;449:1;446;439:12;398:2;-1:-1;469:20;;-1:-1;;;;;498:30;;495:2;;;541:1;538;531:12;495:2;575:4;567:6;563:17;551:29;;626:3;618:4;610:6;606:17;596:8;592:32;589:41;586:2;;;643:1;640;633:12;586:2;391:262;;;;;:::o;1039:124::-;1103:20;;1128:30;1103:20;1128:30;:::i;1170:128::-;1245:13;;1263:30;1245:13;1263:30;:::i;1306:442::-;;1418:3;1411:4;1403:6;1399:17;1395:27;1385:2;;1436:1;1433;1426:12;1385:2;1466:6;1460:13;1488:64;1503:48;1544:6;1503:48;:::i;:::-;1488:64;:::i;:::-;1479:73;;1572:6;1565:5;1558:21;1608:4;1600:6;1596:17;1641:4;1634:5;1630:16;1676:3;1667:6;1662:3;1658:16;1655:25;1652:2;;;1693:1;1690;1683:12;1652:2;1703:39;1735:6;1730:3;1725;1703:39;:::i;:::-;1378:370;;;;;;;:::o;1756:162::-;1839:20;;1864:49;1839:20;1864:49;:::i;2458:175::-;;2585:3;2576:6;2571:3;2567:16;2563:26;2560:2;;;2602:1;2599;2592:12;2560:2;-1:-1;2621:6;2553:80;-1:-1;2553:80::o;2718:801::-;;2848:4;2836:9;2831:3;2827:19;2823:30;2820:2;;;2866:1;2863;2856:12;2820:2;2884:20;2899:4;2884:20;:::i;:::-;2875:29;-1:-1;2966:1;2998:48;3042:3;3022:9;2998:48;:::i;:::-;2973:74;;-1:-1;3113:2;3146:48;3190:3;3166:22;;;3146:48;:::i;:::-;3139:4;3132:5;3128:16;3121:74;3068:138;3260:2;3293:48;3337:3;3328:6;3317:9;3313:22;3293:48;:::i;:::-;3286:4;3279:5;3275:16;3268:74;3216:137;3416:2;3449:48;3493:3;3484:6;3473:9;3469:22;3449:48;:::i;:::-;3442:4;3435:5;3431:16;3424:74;3363:146;2814:705;;;;:::o;3526:130::-;3593:20;;3618:33;3593:20;3618:33;:::i;3663:134::-;3741:13;;3759:33;3741:13;3759:33;:::i;3804:128::-;3870:20;;3895:32;3870:20;3895:32;:::i;3939:128::-;4005:20;;4030:32;4005:20;4030:32;:::i;4074:241::-;;4178:2;4166:9;4157:7;4153:23;4149:32;4146:2;;;4194:1;4191;4184:12;4146:2;4229:1;4246:53;4291:7;4271:9;4246:53;:::i;4322:263::-;;4437:2;4425:9;4416:7;4412:23;4408:32;4405:2;;;4453:1;4450;4443:12;4405:2;4488:1;4505:64;4561:7;4541:9;4505:64;:::i;4592:366::-;;;4713:2;4701:9;4692:7;4688:23;4684:32;4681:2;;;4729:1;4726;4719:12;4681:2;4764:1;4781:53;4826:7;4806:9;4781:53;:::i;:::-;4771:63;;4743:97;4871:2;4889:53;4934:7;4925:6;4914:9;4910:22;4889:53;:::i;:::-;4879:63;;4850:98;4675:283;;;;;:::o;4965:491::-;;;;5103:2;5091:9;5082:7;5078:23;5074:32;5071:2;;;5119:1;5116;5109:12;5071:2;5154:1;5171:53;5216:7;5196:9;5171:53;:::i;:::-;5161:63;;5133:97;5261:2;5279:53;5324:7;5315:6;5304:9;5300:22;5279:53;:::i;:::-;5269:63;;5240:98;5369:2;5387:53;5432:7;5423:6;5412:9;5408:22;5387:53;:::i;:::-;5377:63;;5348:98;5065:391;;;;;:::o;5463:1219::-;;;;;;;;;5738:3;5726:9;5717:7;5713:23;5709:33;5706:2;;;5755:1;5752;5745:12;5706:2;5790:1;5807:53;5852:7;5832:9;5807:53;:::i;:::-;5797:63;;5769:97;5925:2;5914:9;5910:18;5897:32;-1:-1;;;;;5941:6;5938:30;5935:2;;;5981:1;5978;5971:12;5935:2;6009:80;6081:7;6072:6;6061:9;6057:22;6009:80;:::i;:::-;5991:98;;;;5876:219;6126:2;6144:53;6189:7;6180:6;6169:9;6165:22;6144:53;:::i;:::-;6134:63;;6105:98;6234:2;6252:50;6294:7;6285:6;6274:9;6270:22;6252:50;:::i;:::-;6242:60;;6213:95;6339:3;6358:50;6400:7;6391:6;6380:9;6376:22;6358:50;:::i;:::-;6348:60;;6318:96;6445:3;6464:50;6506:7;6497:6;6486:9;6482:22;6464:50;:::i;:::-;6454:60;;6424:96;6551:3;6570:96;6658:7;6649:6;6638:9;6634:22;6570:96;:::i;:::-;6560:106;;6530:142;5700:982;;;;;;;;;;;:::o;6689:496::-;;;6830:2;6818:9;6809:7;6805:23;6801:32;6798:2;;;6846:1;6843;6836:12;6798:2;6881:1;6898:64;6954:7;6934:9;6898:64;:::i;:::-;6888:74;;6860:108;7020:2;7009:9;7005:18;6999:25;-1:-1;;;;;7036:6;7033:30;7030:2;;;7076:1;7073;7066:12;7030:2;7096:73;7161:7;7152:6;7141:9;7137:22;7096:73;:::i;7192:366::-;;;7313:2;7301:9;7292:7;7288:23;7284:32;7281:2;;;7329:1;7326;7319:12;7281:2;7364:1;7381:53;7426:7;7406:9;7381:53;:::i;:::-;7371:63;;7343:97;7471:2;7489:53;7534:7;7525:6;7514:9;7510:22;7489:53;:::i;7565:397::-;;;7704:2;7692:9;7683:7;7679:23;7675:32;7672:2;;;7720:1;7717;7710:12;7672:2;7755:31;;-1:-1;;;;;7795:30;;7792:2;;;7838:1;7835;7828:12;7792:2;7866:80;7938:7;7929:6;7918:9;7914:22;7866:80;:::i;:::-;7848:98;;;;7734:218;7666:296;;;;;:::o;7969:959::-;;;;;;;8212:2;8200:9;8191:7;8187:23;8183:32;8180:2;;;8228:1;8225;8218:12;8180:2;8263:31;;-1:-1;;;;;8303:30;;8300:2;;;8346:1;8343;8336:12;8300:2;8374:80;8446:7;8437:6;8426:9;8422:22;8374:80;:::i;:::-;8356:98;;;;8242:218;8519:2;8508:9;8504:18;8491:32;-1:-1;;;;;8535:6;8532:30;8529:2;;;8575:1;8572;8565:12;8529:2;8603:80;8675:7;8666:6;8655:9;8651:22;8603:80;:::i;:::-;8585:98;;;;8470:219;8748:2;8737:9;8733:18;8720:32;-1:-1;;;;;8764:6;8761:30;8758:2;;;8804:1;8801;8794:12;8758:2;8832:80;8904:7;8895:6;8884:9;8880:22;8832:80;:::i;:::-;8814:98;;;;8699:219;8174:754;;;;;;;;:::o;8935:678::-;;;;;9126:2;9114:9;9105:7;9101:23;9097:32;9094:2;;;9142:1;9139;9132:12;9094:2;9177:31;;-1:-1;;;;;9217:30;;9214:2;;;9260:1;9257;9250:12;9214:2;9288:80;9360:7;9351:6;9340:9;9336:22;9288:80;:::i;:::-;9270:98;;;;9156:218;9433:2;9422:9;9418:18;9405:32;-1:-1;;;;;9449:6;9446:30;9443:2;;;9489:1;9486;9479:12;9443:2;9517:80;9589:7;9580:6;9569:9;9565:22;9517:80;:::i;:::-;9088:525;;;;-1:-1;9499:98;-1:-1;;;;9088:525::o;9620:235::-;;9721:2;9709:9;9700:7;9696:23;9692:32;9689:2;;;9737:1;9734;9727:12;9689:2;9772:1;9789:50;9831:7;9811:9;9789:50;:::i;9862:257::-;;9974:2;9962:9;9953:7;9949:23;9945:32;9942:2;;;9990:1;9987;9980:12;9942:2;10025:1;10042:61;10095:7;10075:9;10042:61;:::i;10126:523::-;;;;10280:2;10268:9;10259:7;10255:23;10251:32;10248:2;;;10296:1;10293;10286:12;10248:2;10331:1;10348:69;10409:7;10389:9;10348:69;:::i;:::-;10338:79;;10310:113;10454:2;10472:53;10517:7;10508:6;10497:9;10493:22;10472:53;:::i;10656:362::-;;10781:2;10769:9;10760:7;10756:23;10752:32;10749:2;;;10797:1;10794;10787:12;10749:2;10832:24;;-1:-1;;;;;10865:30;;10862:2;;;10908:1;10905;10898:12;10862:2;10928:74;10994:7;10985:6;10974:9;10970:22;10928:74;:::i;11025:328::-;;11172:3;11160:9;11151:7;11147:23;11143:33;11140:2;;;11189:1;11186;11179:12;11140:2;11224:1;11241:96;11329:7;11309:9;11241:96;:::i;11360:324::-;;11505:3;11493:9;11484:7;11480:23;11476:33;11473:2;;;11522:1;11519;11512:12;11473:2;11557:1;11574:94;11660:7;11640:9;11574:94;:::i;11691:241::-;;11795:2;11783:9;11774:7;11770:23;11766:32;11763:2;;;11811:1;11808;11801:12;11763:2;11846:1;11863:53;11908:7;11888:9;11863:53;:::i;11939:263::-;;12054:2;12042:9;12033:7;12029:23;12025:32;12022:2;;;12070:1;12067;12060:12;12022:2;12105:1;12122:64;12178:7;12158:9;12122:64;:::i;12209:366::-;;;12330:2;12318:9;12309:7;12305:23;12301:32;12298:2;;;12346:1;12343;12336:12;12298:2;12381:1;12398:53;12443:7;12423:9;12398:53;:::i;12583:173::-;;12670:46;12712:3;12704:6;12670:46;:::i;:::-;-1:-1;;12745:4;12736:14;;12663:93::o;12765:173::-;;12852:46;12894:3;12886:6;12852:46;:::i;12946:103::-;13019:24;13037:5;13019:24;:::i;:::-;13014:3;13007:37;13001:48;;:::o;13207:690::-;;13352:54;13400:5;13352:54;:::i;:::-;13419:86;13498:6;13493:3;13419:86;:::i;:::-;13412:93;;13526:56;13576:5;13526:56;:::i;:::-;13602:7;13630:1;13615:260;13640:6;13637:1;13634:13;13615:260;;;13707:6;13701:13;13728:63;13787:3;13772:13;13728:63;:::i;:::-;13721:70;;13808:60;13861:6;13808:60;:::i;:::-;13798:70;-1:-1;;13662:1;13655:9;13615:260;;;-1:-1;13888:3;;13331:566;-1:-1;;;;;13331:566::o;13936:690::-;;14081:54;14129:5;14081:54;:::i;:::-;14148:86;14227:6;14222:3;14148:86;:::i;:::-;14141:93;;14255:56;14305:5;14255:56;:::i;:::-;14331:7;14359:1;14344:260;14369:6;14366:1;14363:13;14344:260;;;14436:6;14430:13;14457:63;14516:3;14501:13;14457:63;:::i;:::-;14450:70;;14537:60;14590:6;14537:60;:::i;:::-;14527:70;-1:-1;;14391:1;14384:9;14344:260;;14634:104;14711:21;14726:5;14711:21;:::i;14745:356::-;;14873:38;14905:5;14873:38;:::i;:::-;14923:88;15004:6;14999:3;14923:88;:::i;:::-;14916:95;;15016:52;15061:6;15056:3;15049:4;15042:5;15038:16;15016:52;:::i;:::-;15080:16;;;;;14853:248;-1:-1;;14853:248::o;15108:347::-;;15220:39;15253:5;15220:39;:::i;:::-;15271:71;15335:6;15330:3;15271:71;:::i;:::-;15264:78;;15347:52;15392:6;15387:3;15380:4;15373:5;15369:16;15347:52;:::i;:::-;15420:29;15442:6;15420:29;:::i;:::-;15411:39;;;;15200:255;-1:-1;;;15200:255::o;15830:335::-;;16008:84;16090:1;16085:3;16008:84;:::i;:::-;-1:-1;;;16105:24;;16157:1;16148:11;;15994:171;-1:-1;;15994:171::o;16174:332::-;;16334:67;16398:2;16393:3;16334:67;:::i;:::-;16434:34;16414:55;;16497:2;16488:12;;16320:186;-1:-1;;16320:186::o;16515:372::-;;16675:67;16739:2;16734:3;16675:67;:::i;:::-;16775:34;16755:55;;-1:-1;;;16839:2;16830:12;;16823:27;16878:2;16869:12;;16661:226;-1:-1;;16661:226::o;16896:330::-;;17056:67;17120:2;17115:3;17056:67;:::i;:::-;17156:32;17136:53;;17217:2;17208:12;;17042:184;-1:-1;;17042:184::o;17235:326::-;;17395:67;17459:2;17454:3;17395:67;:::i;:::-;17495:28;17475:49;;17552:2;17543:12;;17381:180;-1:-1;;17381:180::o;17570:371::-;;17730:67;17794:2;17789:3;17730:67;:::i;:::-;17830:34;17810:55;;-1:-1;;;17894:2;17885:12;;17878:26;17932:2;17923:12;;17716:225;-1:-1;;17716:225::o;17950:329::-;;18110:67;18174:2;18169:3;18110:67;:::i;:::-;18210:31;18190:52;;18270:2;18261:12;;18096:183;-1:-1;;18096:183::o;18288:331::-;;18448:67;18512:2;18507:3;18448:67;:::i;:::-;18548:33;18528:54;;18610:2;18601:12;;18434:185;-1:-1;;18434:185::o;18628:376::-;;18788:67;18852:2;18847:3;18788:67;:::i;:::-;18888:34;18868:55;;-1:-1;;;18952:2;18943:12;;18936:31;18995:2;18986:12;;18774:230;-1:-1;;18774:230::o;19013:370::-;;19173:67;19237:2;19232:3;19173:67;:::i;:::-;19273:34;19253:55;;-1:-1;;;19337:2;19328:12;;19321:25;19374:2;19365:12;;19159:224;-1:-1;;19159:224::o;19392:379::-;;19552:67;19616:2;19611:3;19552:67;:::i;:::-;19652:34;19632:55;;-1:-1;;;19716:2;19707:12;;19700:34;19762:2;19753:12;;19538:233;-1:-1;;19538:233::o;19780:327::-;;19940:67;20004:2;19999:3;19940:67;:::i;:::-;20040:29;20020:50;;20098:2;20089:12;;19926:181;-1:-1;;19926:181::o;20116:331::-;;20276:67;20340:2;20335:3;20276:67;:::i;:::-;20376:33;20356:54;;20438:2;20429:12;;20262:185;-1:-1;;20262:185::o;20456:396::-;;20616:67;20680:2;20675:3;20616:67;:::i;:::-;20716:34;20696:55;;20785:29;20780:2;20771:12;;20764:51;20843:2;20834:12;;20602:250;-1:-1;;20602:250::o;20861:392::-;;21021:67;21085:2;21080:3;21021:67;:::i;:::-;21121:34;21101:55;;21190:25;21185:2;21176:12;;21169:47;21244:2;21235:12;;21007:246;-1:-1;;21007:246::o;21262:376::-;;21422:67;21486:2;21481:3;21422:67;:::i;:::-;21522:34;21502:55;;-1:-1;;;21586:2;21577:12;;21570:31;21629:2;21620:12;;21408:230;-1:-1;;21408:230::o;21647:378::-;;21807:67;21871:2;21866:3;21807:67;:::i;:::-;21907:34;21887:55;;-1:-1;;;21971:2;21962:12;;21955:33;22016:2;22007:12;;21793:232;-1:-1;;21793:232::o;22034:330::-;;22194:67;22258:2;22253:3;22194:67;:::i;:::-;22294:32;22274:53;;22355:2;22346:12;;22180:184;-1:-1;;22180:184::o;22373:375::-;;22533:67;22597:2;22592:3;22533:67;:::i;:::-;22633:34;22613:55;;-1:-1;;;22697:2;22688:12;;22681:30;22739:2;22730:12;;22519:229;-1:-1;;22519:229::o;22757:326::-;;22917:67;22981:2;22976:3;22917:67;:::i;:::-;23017:28;22997:49;;23074:2;23065:12;;22903:180;-1:-1;;22903:180::o;23092:372::-;;23252:67;23316:2;23311:3;23252:67;:::i;:::-;23352:34;23332:55;;-1:-1;;;23416:2;23407:12;;23400:27;23455:2;23446:12;;23238:226;-1:-1;;23238:226::o;23473:328::-;;23633:67;23697:2;23692:3;23633:67;:::i;:::-;23733:30;23713:51;;23792:2;23783:12;;23619:182;-1:-1;;23619:182::o;23810:330::-;;23970:67;24034:2;24029:3;23970:67;:::i;:::-;24070:32;24050:53;;24131:2;24122:12;;23956:184;-1:-1;;23956:184::o;24149:377::-;;24309:67;24373:2;24368:3;24309:67;:::i;:::-;24409:34;24389:55;;-1:-1;;;24473:2;24464:12;;24457:32;24517:2;24508:12;;24295:231;-1:-1;;24295:231::o;24535:370::-;;24695:67;24759:2;24754:3;24695:67;:::i;:::-;24795:34;24775:55;;-1:-1;;;24859:2;24850:12;;24843:25;24896:2;24887:12;;24681:224;-1:-1;;24681:224::o;24914:375::-;;25074:67;25138:2;25133:3;25074:67;:::i;:::-;25174:34;25154:55;;-1:-1;;;25238:2;25229:12;;25222:30;25280:2;25271:12;;25060:229;-1:-1;;25060:229::o;25298:382::-;;25458:67;25522:2;25517:3;25458:67;:::i;:::-;25558:34;25538:55;;-1:-1;;;25622:2;25613:12;;25606:37;25671:2;25662:12;;25444:236;-1:-1;;25444:236::o;25689:317::-;;25849:67;25913:2;25908:3;25849:67;:::i;:::-;-1:-1;;;25929:40;;25997:2;25988:12;;25835:171;-1:-1;;25835:171::o;26015:370::-;;26175:67;26239:2;26234:3;26175:67;:::i;:::-;26275:34;26255:55;;-1:-1;;;26339:2;26330:12;;26323:25;26376:2;26367:12;;26161:224;-1:-1;;26161:224::o;26394:380::-;;26554:67;26618:2;26613:3;26554:67;:::i;:::-;26654:34;26634:55;;-1:-1;;;26718:2;26709:12;;26702:35;26765:2;26756:12;;26540:234;-1:-1;;26540:234::o;26783:374::-;;26943:67;27007:2;27002:3;26943:67;:::i;:::-;27043:34;27023:55;;-1:-1;;;27107:2;27098:12;;27091:29;27148:2;27139:12;;26929:228;-1:-1;;26929:228::o;27166:373::-;;27326:67;27390:2;27385:3;27326:67;:::i;:::-;27426:34;27406:55;;-1:-1;;;27490:2;27481:12;;27474:28;27530:2;27521:12;;27312:227;-1:-1;;27312:227::o;27548:329::-;;27708:67;27772:2;27767:3;27708:67;:::i;:::-;27808:31;27788:52;;27868:2;27859:12;;27694:183;-1:-1;;27694:183::o;27886:323::-;;28046:67;28110:2;28105:3;28046:67;:::i;:::-;28146:25;28126:46;;28200:2;28191:12;;28032:177;-1:-1;;28032:177::o;28218:372::-;;28378:67;28442:2;28437:3;28378:67;:::i;:::-;28478:34;28458:55;;-1:-1;;;28542:2;28533:12;;28526:27;28581:2;28572:12;;28364:226;-1:-1;;28364:226::o;28599:376::-;;28759:67;28823:2;28818:3;28759:67;:::i;:::-;28859:34;28839:55;;-1:-1;;;28923:2;28914:12;;28907:31;28966:2;28957:12;;28745:230;-1:-1;;28745:230::o;28984:390::-;;29144:67;29208:2;29203:3;29144:67;:::i;:::-;29244:34;29224:55;;-1:-1;;;29308:2;29299:12;;29292:45;29365:2;29356:12;;29130:244;-1:-1;;29130:244::o;29383:373::-;;29543:67;29607:2;29602:3;29543:67;:::i;:::-;29643:34;29623:55;;-1:-1;;;29707:2;29698:12;;29691:28;29747:2;29738:12;;29529:227;-1:-1;;29529:227::o;29765:379::-;;29925:67;29989:2;29984:3;29925:67;:::i;:::-;30025:34;30005:55;;-1:-1;;;30089:2;30080:12;;30073:34;30135:2;30126:12;;29911:233;-1:-1;;29911:233::o;30153:331::-;;30313:67;30377:2;30372:3;30313:67;:::i;:::-;30413:33;30393:54;;30475:2;30466:12;;30299:185;-1:-1;;30299:185::o;30493:391::-;;30653:67;30717:2;30712:3;30653:67;:::i;:::-;30753:34;30733:55;;-1:-1;;;30817:2;30808:12;;30801:46;30875:2;30866:12;;30639:245;-1:-1;;30639:245::o;30893:331::-;;31053:67;31117:2;31112:3;31053:67;:::i;:::-;31153:33;31133:54;;31215:2;31206:12;;31039:185;-1:-1;;31039:185::o;31233:376::-;;31393:67;31457:2;31452:3;31393:67;:::i;:::-;31493:34;31473:55;;-1:-1;;;31557:2;31548:12;;31541:31;31600:2;31591:12;;31379:230;-1:-1;;31379:230::o;31618:342::-;;31796:84;31878:1;31873:3;31796:84;:::i;:::-;-1:-1;;;31893:31;;31952:1;31943:11;;31782:178;-1:-1;;31782:178::o;32111:666::-;32343:23;;32276:4;32267:14;;;32372:61;32271:3;32343:23;32372:61;:::i;:::-;32296:143;32520:4;32513:5;32509:16;32503:23;32532:61;32587:4;32582:3;32578:14;32564:12;32532:61;:::i;:::-;32449:150;32681:4;32674:5;32670:16;32664:23;32693:63;32750:4;32745:3;32741:14;32727:12;32693:63;:::i;32937:842::-;33190:23;;33112:4;33103:14;;;33219:61;33107:3;33190:23;33219:61;:::i;:::-;33132:154;33364:4;33357:5;33353:16;33347:23;33376:61;33431:4;33426:3;33422:14;33408:12;33376:61;:::i;:::-;33296:147;33520:4;33513:5;33509:16;33503:23;33532:61;33587:4;33582:3;33578:14;33564:12;33532:61;:::i;:::-;33453:146;33685:4;33678:5;33674:16;33668:23;33697:61;33752:4;33747:3;33743:14;33729:12;33697:61;:::i;33786:103::-;33859:24;33877:5;33859:24;:::i;33896:103::-;33969:24;33987:5;33969:24;:::i;34126:124::-;34208:36;34238:5;34208:36;:::i;34257:100::-;34328:23;34345:5;34328:23;:::i;34364:124::-;34446:36;34476:5;34446:36;:::i;34495:100::-;34566:23;34583:5;34566:23;:::i;34602:107::-;34681:22;34697:5;34681:22;:::i;34716:271::-;;34869:93;34958:3;34949:6;34869:93;:::i;34994:542::-;;35250:148;35394:3;35250:148;:::i;:::-;35243:155;;35416:95;35507:3;35498:6;35416:95;:::i;35543:542::-;;35799:148;35943:3;35799:148;:::i;36092:222::-;36219:2;36204:18;;36233:71;36208:9;36277:6;36233:71;:::i;36321:333::-;36476:2;36461:18;;36490:71;36465:9;36534:6;36490:71;:::i;:::-;36572:72;36640:2;36629:9;36625:18;36616:6;36572:72;:::i;36661:656::-;36894:3;36879:19;;36909:71;36883:9;36953:6;36909:71;:::i;:::-;36991:72;37059:2;37048:9;37044:18;37035:6;36991:72;:::i;:::-;37074;37142:2;37131:9;37127:18;37118:6;37074:72;:::i;:::-;37157;37225:2;37214:9;37210:18;37201:6;37157:72;:::i;:::-;37240:67;37302:3;37291:9;37287:19;37278:6;37240:67;:::i;:::-;36865:452;;;;;;;;:::o;37324:444::-;37507:2;37492:18;;37521:71;37496:9;37565:6;37521:71;:::i;:::-;37603:72;37671:2;37660:9;37656:18;37647:6;37603:72;:::i;:::-;37686;37754:2;37743:9;37739:18;37730:6;37686:72;:::i;37775:333::-;37930:2;37915:18;;37944:71;37919:9;37988:6;37944:71;:::i;:::-;38026:72;38094:2;38083:9;38079:18;38070:6;38026:72;:::i;38115:370::-;38292:2;38306:47;;;38277:18;;38367:108;38277:18;38461:6;38367:108;:::i;38492:629::-;38747:2;38761:47;;;38732:18;;38822:108;38732:18;38916:6;38822:108;:::i;:::-;38814:116;;38978:9;38972:4;38968:20;38963:2;38952:9;38948:18;38941:48;39003:108;39106:4;39097:6;39003:108;:::i;39128:210::-;39249:2;39234:18;;39263:65;39238:9;39301:6;39263:65;:::i;39345:310::-;39492:2;39506:47;;;39477:18;;39567:78;39477:18;39631:6;39567:78;:::i;39662:416::-;39862:2;39876:47;;;39847:18;;39937:131;39847:18;39937:131;:::i;40085:416::-;40285:2;40299:47;;;40270:18;;40360:131;40270:18;40360:131;:::i;40508:416::-;40708:2;40722:47;;;40693:18;;40783:131;40693:18;40783:131;:::i;40931:416::-;41131:2;41145:47;;;41116:18;;41206:131;41116:18;41206:131;:::i;41354:416::-;41554:2;41568:47;;;41539:18;;41629:131;41539:18;41629:131;:::i;41777:416::-;41977:2;41991:47;;;41962:18;;42052:131;41962:18;42052:131;:::i;42200:416::-;42400:2;42414:47;;;42385:18;;42475:131;42385:18;42475:131;:::i;42623:416::-;42823:2;42837:47;;;42808:18;;42898:131;42808:18;42898:131;:::i;43046:416::-;43246:2;43260:47;;;43231:18;;43321:131;43231:18;43321:131;:::i;43469:416::-;43669:2;43683:47;;;43654:18;;43744:131;43654:18;43744:131;:::i;43892:416::-;44092:2;44106:47;;;44077:18;;44167:131;44077:18;44167:131;:::i;44315:416::-;44515:2;44529:47;;;44500:18;;44590:131;44500:18;44590:131;:::i;44738:416::-;44938:2;44952:47;;;44923:18;;45013:131;44923:18;45013:131;:::i;45161:416::-;45361:2;45375:47;;;45346:18;;45436:131;45346:18;45436:131;:::i;45584:416::-;45784:2;45798:47;;;45769:18;;45859:131;45769:18;45859:131;:::i;46007:416::-;46207:2;46221:47;;;46192:18;;46282:131;46192:18;46282:131;:::i;46430:416::-;46630:2;46644:47;;;46615:18;;46705:131;46615:18;46705:131;:::i;46853:416::-;47053:2;47067:47;;;47038:18;;47128:131;47038:18;47128:131;:::i;47276:416::-;47476:2;47490:47;;;47461:18;;47551:131;47461:18;47551:131;:::i;47699:416::-;47899:2;47913:47;;;47884:18;;47974:131;47884:18;47974:131;:::i;48122:416::-;48322:2;48336:47;;;48307:18;;48397:131;48307:18;48397:131;:::i;48545:416::-;48745:2;48759:47;;;48730:18;;48820:131;48730:18;48820:131;:::i;48968:416::-;49168:2;49182:47;;;49153:18;;49243:131;49153:18;49243:131;:::i;49391:416::-;49591:2;49605:47;;;49576:18;;49666:131;49576:18;49666:131;:::i;49814:416::-;50014:2;50028:47;;;49999:18;;50089:131;49999:18;50089:131;:::i;50237:416::-;50437:2;50451:47;;;50422:18;;50512:131;50422:18;50512:131;:::i;50660:416::-;50860:2;50874:47;;;50845:18;;50935:131;50845:18;50935:131;:::i;51083:416::-;51283:2;51297:47;;;51268:18;;51358:131;51268:18;51358:131;:::i;51506:416::-;51706:2;51720:47;;;51691:18;;51781:131;51691:18;51781:131;:::i;51929:416::-;52129:2;52143:47;;;52114:18;;52204:131;52114:18;52204:131;:::i;52352:416::-;52552:2;52566:47;;;52537:18;;52627:131;52537:18;52627:131;:::i;52775:416::-;52975:2;52989:47;;;52960:18;;53050:131;52960:18;53050:131;:::i;53198:416::-;53398:2;53412:47;;;53383:18;;53473:131;53383:18;53473:131;:::i;53621:416::-;53821:2;53835:47;;;53806:18;;53896:131;53806:18;53896:131;:::i;54044:416::-;54244:2;54258:47;;;54229:18;;54319:131;54229:18;54319:131;:::i;54467:416::-;54667:2;54681:47;;;54652:18;;54742:131;54652:18;54742:131;:::i;54890:416::-;55090:2;55104:47;;;55075:18;;55165:131;55075:18;55165:131;:::i;55313:416::-;55513:2;55527:47;;;55498:18;;55588:131;55498:18;55588:131;:::i;55736:416::-;55936:2;55950:47;;;55921:18;;56011:131;55921:18;56011:131;:::i;56159:416::-;56359:2;56373:47;;;56344:18;;56434:131;56344:18;56434:131;:::i;56582:416::-;56782:2;56796:47;;;56767:18;;56857:131;56767:18;56857:131;:::i;57005:416::-;57205:2;57219:47;;;57190:18;;57280:131;57190:18;57280:131;:::i;57428:366::-;57627:2;57612:18;;57641:143;57616:9;57757:6;57641:143;:::i;57801:387::-;58010:3;57995:19;;58025:153;57999:9;58151:6;58025:153;:::i;58195:222::-;58322:2;58307:18;;58336:71;58311:9;58380:6;58336:71;:::i;58424:333::-;58579:2;58564:18;;58593:71;58568:9;58637:6;58593:71;:::i;58764:444::-;58947:2;58932:18;;58961:71;58936:9;59005:6;58961:71;:::i;:::-;59043:72;59111:2;59100:9;59096:18;59087:6;59043:72;:::i;59215:548::-;59422:3;59407:19;;59437:70;59411:9;59480:6;59437:70;:::i;:::-;59518:71;59585:2;59574:9;59570:18;59561:6;59518:71;:::i;:::-;59600;59667:2;59656:9;59652:18;59643:6;59600:71;:::i;:::-;59682;59749:2;59738:9;59734:18;59725:6;59682:71;:::i;:::-;59393:370;;;;;;;:::o;59770:214::-;59893:2;59878:18;;59907:67;59882:9;59947:6;59907:67;:::i;59991:256::-;60053:2;60047:9;60079:17;;;-1:-1;;;;;60139:34;;60175:22;;;60136:62;60133:2;;;60211:1;60208;60201:12;60133:2;60227;60220:22;60031:216;;-1:-1;60031:216::o;60254:321::-;;-1:-1;;;;;60389:6;60386:30;60383:2;;;60429:1;60426;60419:12;60383:2;-1:-1;60560:4;60496;60473:17;;;;-1:-1;;60469:33;60550:15;;60320:255::o;60911:151::-;61035:4;61026:14;;60983:79::o;61227:137::-;61330:12;;61301:63::o;62003:178::-;62121:19;;;62170:4;62161:14;;62114:67::o;62855:91::-;;62917:24;62935:5;62917:24;:::i;62953:85::-;63019:13;63012:21;;62995:43::o;63045:107::-;;63123:24;63141:5;63123:24;:::i;63159:113::-;-1:-1;;;;;63221:46;;63204:68::o;63279:121::-;-1:-1;;;;;63341:54;;63324:76::o;63486:88::-;63558:10;63547:22;;63530:44::o;63581:96::-;-1:-1;;;;;63642:30;;63625:52::o;63684:81::-;63755:4;63744:16;;63727:38::o;63772:106::-;;63850:23;63867:5;63850:23;:::i;63885:106::-;;63963:23;63980:5;63963:23;:::i;63999:268::-;64064:1;64071:101;64085:6;64082:1;64079:13;64071:101;;;64152:11;;;64146:18;64133:11;;;64126:39;64107:2;64100:10;64071:101;;;64187:6;64184:1;64181:13;64178:2;;;-1:-1;;64252:1;64234:16;;64227:27;64048:219::o;64275:97::-;64363:2;64343:14;-1:-1;;64339:28;;64323:49::o;64380:117::-;64449:24;64467:5;64449:24;:::i;:::-;64442:5;64439:35;64429:2;;64488:1;64485;64478:12;64504:111;64570:21;64585:5;64570:21;:::i;64622:149::-;64707:40;64741:5;64707:40;:::i;64778:117::-;64847:24;64865:5;64847:24;:::i;64902:115::-;64970:23;64987:5;64970:23;:::i;65024:115::-;65092:23;65109:5;65092:23;:::i", "linkReferences": {}, "immutableReferences": { "8251": [ { "start": 2245, "length": 32 }, { "start": 13194, "length": 32 } ], "8253": [ { "start": 1445, "length": 32 }, { "start": 6603, "length": 32 } ] } }, "methodIdentifiers": { "addManagers(address[])": "8c5f9e74", "allowance(address,address)": "dd62ed3e", "approve(address,uint256)": "095ea7b3", "balanceOf(address)": "70a08231", "calcLatestRedemptionWindow()": "61791f27", "cancelRequestRedeem()": "58205209", "decimals()": "313ce567", "decreaseAllowance(address,uint256)": "a457c2d7", "deposit(address,uint256,uint256)": "0efe6a8b", "depositApprovalsAreUsed()": "9a8fea95", "getDepositApproval(address,address)": "2f63221d", "getRedemptionApproval(address)": "38f1917d", "getRedemptionAsset()": "6829bda7", "getRedemptionQueue()": "cea6a0ee", "getRedemptionQueueUserByIndex(uint256)": "318f98aa", "getRedemptionQueueUserRequest(address)": "a8e5eeb1", "getRedemptionQueueUsers()": "447d7e19", "getRedemptionQueueUsersLength()": "7cb4f020", "getRedemptionWindowConfig()": "fd71b12b", "getTransferApproval(address,address)": "6753c159", "getVaultProxy()": "c9809187", "increaseAllowance(address,uint256)": "39509351", "init(address,address[],address,bool,bool,bool,(uint64,uint32,uint32,uint64))": "42f6be5b", "isManager(address)": "f3ae2415", "kick(address)": "96c55175", "name()": "06fdde03", "redeemFromQueue(uint256,uint256)": "ca4ca8fa", "redemptionApprovalsAreUsed()": "8f958f71", "removeManagers(address[])": "10f3ee29", "requestRedeem(uint256)": "aa2f892d", "setDepositApprovals(address[],address[],uint256[])": "34c94506", "setRedemptionApprovals(address[],uint256[])": "8d1d24da", "setRedemptionAsset(address)": "7ba06931", "setRedemptionWindowConfig((uint64,uint32,uint32,uint64))": "09f8ca5c", "setTransferApprovals(address[],address[],uint256[])": "469df117", "setUseDepositApprovals(bool)": "b9a3abdb", "setUseRedemptionApprovals(bool)": "4d947471", "setUseTransferApprovals(bool)": "15fd7a52", "symbol()": "95d89b41", "totalSupply()": "18160ddd", "transfer(address,uint256)": "a9059cbb", "transferApprovalsAreUsed()": "f7cb8952", "transferFrom(address,address,uint256)": "23b872dd" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_globalConfigProxy\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"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\":\"user\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"asset\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"DepositApproval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"depositToken\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"depositTokenAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"sharesReceived\",\"type\":\"uint256\"}],\"name\":\"Deposited\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"vaultProxy\",\"type\":\"address\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"sharesAmount\",\"type\":\"uint256\"}],\"name\":\"Kicked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"ManagerAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"ManagerRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"sharesAmount\",\"type\":\"uint256\"}],\"name\":\"Redeemed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"RedemptionApproval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"asset\",\"type\":\"address\"}],\"name\":\"RedemptionAssetSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"sharesAmount\",\"type\":\"uint256\"}],\"name\":\"RedemptionRequestAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"RedemptionRequestRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"firstWindowStart\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"frequency\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"duration\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"relativeSharesCap\",\"type\":\"uint256\"}],\"name\":\"RedemptionWindowConfigSet\",\"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\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"TransferApproval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"useApprovals\",\"type\":\"bool\"}],\"name\":\"UseDepositApprovalsSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"useApprovals\",\"type\":\"bool\"}],\"name\":\"UseRedemptionApprovalsSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"useApprovals\",\"type\":\"bool\"}],\"name\":\"UseTransferApprovalsSet\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_managers\",\"type\":\"address[]\"}],\"name\":\"addManagers\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"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\":\"calcLatestRedemptionWindow\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"windowStart_\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"windowEnd_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"cancelRequestRedeem\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"decimals_\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract ERC20\",\"name\":\"_depositAssetContract\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_depositAssetAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_minSharesAmount\",\"type\":\"uint256\"}],\"name\":\"deposit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"sharesReceived_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"depositApprovalsAreUsed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"approvalsUsed_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"}],\"name\":\"getDepositApproval\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"getRedemptionApproval\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRedemptionAsset\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"asset_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRedemptionQueue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"totalSharesPending_\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"relativeSharesAllowed_\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"relativeSharesCheckpointed_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_index\",\"type\":\"uint256\"}],\"name\":\"getRedemptionQueueUserByIndex\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"user_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"getRedemptionQueueUserRequest\",\"outputs\":[{\"components\":[{\"internalType\":\"uint64\",\"name\":\"index\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"lastRedeemed\",\"type\":\"uint64\"},{\"internalType\":\"uint128\",\"name\":\"sharesPending\",\"type\":\"uint128\"}],\"internalType\":\"struct GatedRedemptionQueueSharesWrapperLibBase1.RedemptionRequest\",\"name\":\"request_\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRedemptionQueueUsers\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"users_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRedemptionQueueUsersLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"length_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRedemptionWindowConfig\",\"outputs\":[{\"components\":[{\"internalType\":\"uint64\",\"name\":\"firstWindowStart\",\"type\":\"uint64\"},{\"internalType\":\"uint32\",\"name\":\"frequency\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"duration\",\"type\":\"uint32\"},{\"internalType\":\"uint64\",\"name\":\"relativeSharesCap\",\"type\":\"uint64\"}],\"internalType\":\"struct GatedRedemptionQueueSharesWrapperLibBase1.RedemptionWindowConfig\",\"name\":\"redemptionWindowConfig_\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_recipient\",\"type\":\"address\"}],\"name\":\"getTransferApproval\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getVaultProxy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"vaultProxy_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"address[]\",\"name\":\"_managers\",\"type\":\"address[]\"},{\"internalType\":\"address\",\"name\":\"_redemptionAsset\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_useDepositApprovals\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"_useRedemptionApprovals\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"_useTransferApprovals\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"uint64\",\"name\":\"firstWindowStart\",\"type\":\"uint64\"},{\"internalType\":\"uint32\",\"name\":\"frequency\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"duration\",\"type\":\"uint32\"},{\"internalType\":\"uint64\",\"name\":\"relativeSharesCap\",\"type\":\"uint64\"}],\"internalType\":\"struct GatedRedemptionQueueSharesWrapperLibBase1.RedemptionWindowConfig\",\"name\":\"_windowConfig\",\"type\":\"tuple\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"isManager\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isManager_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"kick\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"sharesRedeemed_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"name_\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_startIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_endIndex\",\"type\":\"uint256\"}],\"name\":\"redeemFromQueue\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"usersRedeemed_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"sharesRedeemed_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"redemptionApprovalsAreUsed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"approvalsUsed_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_managers\",\"type\":\"address[]\"}],\"name\":\"removeManagers\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_sharesAmount\",\"type\":\"uint256\"}],\"name\":\"requestRedeem\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_users\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"_assets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"_amounts\",\"type\":\"uint256[]\"}],\"name\":\"setDepositApprovals\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_users\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"_amounts\",\"type\":\"uint256[]\"}],\"name\":\"setRedemptionApprovals\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nextRedemptionAsset\",\"type\":\"address\"}],\"name\":\"setRedemptionAsset\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint64\",\"name\":\"firstWindowStart\",\"type\":\"uint64\"},{\"internalType\":\"uint32\",\"name\":\"frequency\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"duration\",\"type\":\"uint32\"},{\"internalType\":\"uint64\",\"name\":\"relativeSharesCap\",\"type\":\"uint64\"}],\"internalType\":\"struct GatedRedemptionQueueSharesWrapperLibBase1.RedemptionWindowConfig\",\"name\":\"_nextWindowConfig\",\"type\":\"tuple\"}],\"name\":\"setRedemptionWindowConfig\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_users\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"_recipients\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"_amounts\",\"type\":\"uint256[]\"}],\"name\":\"setTransferApprovals\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"_nextUseDepositApprovals\",\"type\":\"bool\"}],\"name\":\"setUseDepositApprovals\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"_nextUseRedemptionApprovals\",\"type\":\"bool\"}],\"name\":\"setUseRedemptionApprovals\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"_nextUseTransferApprovals\",\"type\":\"bool\"}],\"name\":\"setUseTransferApprovals\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"symbol_\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success_\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"transferApprovalsAreUsed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"approvalsUsed_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success_\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"addManagers(address[])\":{\"params\":{\"_managers\":\"Managers to add\"}},\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"calcLatestRedemptionWindow()\":{\"details\":\"Prior to first redemption window, returns no window (i.e., start and end are 0). After that, returns the last (or current) window, until a new window is reached.\",\"returns\":{\"windowEnd_\":\"The end of the latest window\",\"windowStart_\":\"The start of the latest window\"}},\"decimals()\":{\"returns\":{\"decimals_\":\"The number of decimals\"}},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.\"},\"deposit(address,uint256,uint256)\":{\"details\":\"Does not support deposits in fee-on-transfer tokens\",\"params\":{\"_depositAssetAmount\":\"The amount of the token to deposit\",\"_depositAssetContract\":\"The token to deposit\",\"_minSharesAmount\":\"The min shares to mint\"},\"returns\":{\"sharesReceived_\":\"The amount of wrapped shares received\"}},\"depositApprovalsAreUsed()\":{\"returns\":{\"approvalsUsed_\":\"True if required\"}},\"getDepositApproval(address,address)\":{\"params\":{\"_asset\":\"The asset\",\"_user\":\"The user\"},\"returns\":{\"amount_\":\"The approval amount\"}},\"getRedemptionApproval(address)\":{\"params\":{\"_user\":\"The user\"},\"returns\":{\"amount_\":\"The approval amount\"}},\"getRedemptionAsset()\":{\"returns\":{\"asset_\":\"The asset\"}},\"getRedemptionQueue()\":{\"details\":\"Can't return a struct with a mapping in solc 0.6.12\",\"returns\":{\"relativeSharesAllowed_\":\"The relative shares allowed per-user during the window, as of the last checkpoint\",\"relativeSharesCheckpointed_\":\"The last checkpoint of relativeSharesAllowed_\",\"totalSharesPending_\":\"The total shares pending in the queue\"}},\"getRedemptionQueueUserByIndex(uint256)\":{\"params\":{\"_index\":\"The index\"},\"returns\":{\"user_\":\"The user\"}},\"getRedemptionQueueUserRequest(address)\":{\"params\":{\"_user\":\"The user\"},\"returns\":{\"request_\":\"The RedemptionRequest\"}},\"getRedemptionQueueUsers()\":{\"returns\":{\"users_\":\"The list of users\"}},\"getRedemptionQueueUsersLength()\":{\"returns\":{\"length_\":\"The count of users\"}},\"getRedemptionWindowConfig()\":{\"returns\":{\"redemptionWindowConfig_\":\"The RedemptionWindowConfig\"}},\"getTransferApproval(address,address)\":{\"params\":{\"_recipient\":\"The recipient\",\"_sender\":\"The sender\"},\"returns\":{\"amount_\":\"The approval amount\"}},\"getVaultProxy()\":{\"returns\":{\"vaultProxy_\":\"The vaultProxy value\"}},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address.\"},\"init(address,address[],address,bool,bool,bool,(uint64,uint32,uint32,uint64))\":{\"params\":{\"_managers\":\"Users to give the role of manager for the wrapper\",\"_redemptionAsset\":\"The asset to receive during shares redemptions\",\"_useDepositApprovals\":\"True if deposit pre-approvals are required\",\"_useRedemptionApprovals\":\"True if the redemption request pre-approvals are required\",\"_useTransferApprovals\":\"True if shares transfer pre-approvals are required\",\"_vaultProxy\":\"The VaultProxy that will have its shares wrapped\",\"_windowConfig\":\"Initial redemption window configuration\"}},\"isManager(address)\":{\"params\":{\"_user\":\"The user to check\"},\"returns\":{\"isManager_\":\"True if _user is a wrapper manager\"}},\"kick(address)\":{\"details\":\"Must cleanup any approvals separately\",\"params\":{\"_user\":\"The user\",\"sharesRedeemed_\":\"The amount of shares redeemed\"}},\"name()\":{\"returns\":{\"name_\":\"The name\"}},\"redeemFromQueue(uint256,uint256)\":{\"details\":\"If redemptions are not throttled by relativeSharesAllowed, always slice from the end of the queue (more efficient to remove all users from the queue)\",\"params\":{\"_endIndex\":\"The final index of the slice\",\"_startIndex\":\"The first index of the slice\"},\"returns\":{\"sharesRedeemed_\":\"The amount of shares redeemed for each user\",\"usersRedeemed_\":\"The users redeemed\"}},\"redemptionApprovalsAreUsed()\":{\"returns\":{\"approvalsUsed_\":\"True if required\"}},\"removeManagers(address[])\":{\"params\":{\"_managers\":\"Managers to remove\"}},\"requestRedeem(uint256)\":{\"details\":\"Each request is additive\",\"params\":{\"_sharesAmount\":\"The amount of shares to add to the queue\"}},\"setDepositApprovals(address[],address[],uint256[])\":{\"params\":{\"_amounts\":\"The amount of each approval\",\"_assets\":\"The deposit token for each approval\",\"_users\":\"The users\"}},\"setRedemptionApprovals(address[],uint256[])\":{\"params\":{\"_amounts\":\"The amount of each approval\",\"_users\":\"The users\"}},\"setRedemptionAsset(address)\":{\"params\":{\"_nextRedemptionAsset\":\"The asset\"}},\"setRedemptionWindowConfig((uint64,uint32,uint32,uint64))\":{\"params\":{\"_nextWindowConfig\":\"The RedemptionWindowConfig\"}},\"setTransferApprovals(address[],address[],uint256[])\":{\"params\":{\"_amounts\":\"The amount of each approval\",\"_recipients\":\"The recipient for each approval\",\"_users\":\"The users (senders)\"}},\"setUseDepositApprovals(bool)\":{\"params\":{\"_nextUseDepositApprovals\":\"True if required\"}},\"setUseRedemptionApprovals(bool)\":{\"params\":{\"_nextUseRedemptionApprovals\":\"True if required\"}},\"setUseTransferApprovals(bool)\":{\"params\":{\"_nextUseTransferApprovals\":\"True if required\"}},\"symbol()\":{\"returns\":{\"symbol_\":\"The symbol\"}},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"transferApprovalsAreUsed()\":{\"returns\":{\"approvalsUsed_\":\"True if required\"}}},\"title\":\"GatedRedemptionQueueSharesWrapperLib Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"addManagers(address[])\":{\"notice\":\"Adds managers\"},\"calcLatestRedemptionWindow()\":{\"notice\":\"Helper to calculate the most recent redemption window\"},\"cancelRequestRedeem()\":{\"notice\":\"Cancels the caller's redemption request\"},\"decimals()\":{\"notice\":\"Gets the number of decimals of the wrapped shares token\"},\"deposit(address,uint256,uint256)\":{\"notice\":\"Deposits a token to mint wrapped Enzyme vault shares\"},\"depositApprovalsAreUsed()\":{\"notice\":\"Checks whether deposit approvals are required\"},\"getDepositApproval(address,address)\":{\"notice\":\"Gets the deposit approval for a given user and asset\"},\"getRedemptionApproval(address)\":{\"notice\":\"Gets the redemption approval for a given user\"},\"getRedemptionAsset()\":{\"notice\":\"Gets the asset received during redemptions\"},\"getRedemptionQueue()\":{\"notice\":\"Gets the redemption queue state\"},\"getRedemptionQueueUserByIndex(uint256)\":{\"notice\":\"Gets the user at the specified index in the redemption queue list of users\"},\"getRedemptionQueueUserRequest(address)\":{\"notice\":\"Gets the redemption request for a specified user\"},\"getRedemptionQueueUsers()\":{\"notice\":\"Gets the list of all users in the redemption queue\"},\"getRedemptionQueueUsersLength()\":{\"notice\":\"Gets the count of users in the redemption queue\"},\"getRedemptionWindowConfig()\":{\"notice\":\"Gets the redemption window configuration\"},\"getTransferApproval(address,address)\":{\"notice\":\"Gets the deposit approval for a given sender and recipient\"},\"getVaultProxy()\":{\"notice\":\"Gets the vaultProxy var\"},\"init(address,address[],address,bool,bool,bool,(uint64,uint32,uint32,uint64))\":{\"notice\":\"Initializes a proxy instance\"},\"isManager(address)\":{\"notice\":\"Checks whether a user is a wrapper manager\"},\"kick(address)\":{\"notice\":\"Kicks a user from the wrapper, redeeming their wrapped shares\"},\"name()\":{\"notice\":\"Gets the name of the wrapped shares token\"},\"redeemFromQueue(uint256,uint256)\":{\"notice\":\"Redeems a slice of requests from the queue\"},\"redemptionApprovalsAreUsed()\":{\"notice\":\"Checks whether redemption approvals are required\"},\"removeManagers(address[])\":{\"notice\":\"Removes managers\"},\"requestRedeem(uint256)\":{\"notice\":\"Requests to join the queue for redeeming wrapped shares\"},\"setDepositApprovals(address[],address[],uint256[])\":{\"notice\":\"Sets deposit approvals for a list of users\"},\"setRedemptionApprovals(address[],uint256[])\":{\"notice\":\"Sets redemption approvals for a list of users\"},\"setRedemptionAsset(address)\":{\"notice\":\"Sets the asset received during redemptions\"},\"setRedemptionWindowConfig((uint64,uint32,uint32,uint64))\":{\"notice\":\"Sets the configuration for the redemption window\"},\"setTransferApprovals(address[],address[],uint256[])\":{\"notice\":\"Sets transfer approvals for a list of users\"},\"setUseDepositApprovals(bool)\":{\"notice\":\"Sets whether deposit approvals are required\"},\"setUseRedemptionApprovals(bool)\":{\"notice\":\"Sets whether redemption approvals are required\"},\"setUseTransferApprovals(bool)\":{\"notice\":\"Sets whether transfer approvals are required\"},\"symbol()\":{\"notice\":\"Gets the symbol of the wrapped shares token\"},\"transfer(address,uint256)\":{\"notice\":\"Standard implementation of ERC20's transfer() with additional validations\"},\"transferApprovalsAreUsed()\":{\"notice\":\"Checks whether approvals are required for transferring wrapped shares\"},\"transferFrom(address,address,uint256)\":{\"notice\":\"Standard implementation of ERC20's transferFrom() with additional validations\"}},\"notice\":\"A release-agnostic ERC20 wrapper for Enzyme vault shares that facilitates queued, single-asset redemptions, as well as misc participation controls\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/shares-wrappers/gated-redemption-queue/GatedRedemptionQueueSharesWrapperLib.sol\":\"GatedRedemptionQueueSharesWrapperLib\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/global-config/interfaces/IGlobalConfig1.sol\":{\"keccak256\":\"0x7b643513fd8e1a3aadc476536785a925fb7c032c21e385e69e562abff531a646\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://682cce7a4c7316ab7aa39361dff84646ba8c89ad26f2c706a4b2940f8ab27205\",\"dweb:/ipfs/QmTtyfPn3M8ErCs8zuhT4NrZiL4CAUyv37os37HebYuGA8\"]},\"contracts/persistent/global-config/interfaces/IGlobalConfig2.sol\":{\"keccak256\":\"0x98c55513d3903864848be0d1159ec7703f23b1119ca10da17c109417e06cc171\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c6a92d9afd1167d4f560d66ec98c3137f224db743fc3b6c412d5617be97168b9\",\"dweb:/ipfs/QmZbDacG1C1dsQ9tx3BgAH9nTp4zfWYF1YDRYVbcgcKob4\"]},\"contracts/persistent/shares-wrappers/gated-redemption-queue/GatedRedemptionQueueSharesWrapperLib.sol\":{\"keccak256\":\"0x3b1b7b002819836878844950531d005894f9f0424b5e594af7ce969fea787c0a\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d3823cfb06b46cd94d977b84c139132930e3316bc22e9ba1c58bda3cbae6099f\",\"dweb:/ipfs/QmP6jhjdjkpnaNFpGkiwpC1pNWPMz2FNTgKygEAhHeV9T7\"]},\"contracts/persistent/shares-wrappers/gated-redemption-queue/bases/GatedRedemptionQueueSharesWrapperLibBase1.sol\":{\"keccak256\":\"0x388cb81f45eeef5e9d5faef80fd2820cde5d1204c8163171795a6e96475f87dd\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6d2b5da8a69e4da279a7fe48653ab48bfc4f21bb81cefdf080046de896e8183e\",\"dweb:/ipfs/QmbExKRHLVSpo1fSySKBGdozACen2uYNMhVTpao6GfkPTC\"]},\"contracts/persistent/vault/interfaces/IVaultCore.sol\":{\"keccak256\":\"0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd\",\"dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]},\"node_modules/@openzeppelin/contracts/utils/ReentrancyGuard.sol\":{\"keccak256\":\"0x8bbbc2f5c10065ee272592ae0a7a6ceb23de2fbd81564ee0bb015ecf404d5f61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b95e56c1640d0ef789fc5c16269e141e992f6c8ac97cc6d377bd3825e9cab182\",\"dweb:/ipfs/QmVzaxJZY51EhagrcNnkxoU6Uq17RhATe7aHvtkC6wUkgK\"]},\"node_modules/@openzeppelin/contracts/utils/SafeCast.sol\":{\"keccak256\":\"0x7b2b8baa20fd60ab4a328c8e34c64a353651b80ba4b5b157cbb61813f6f85d55\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://125b7f9efa390e663d630c62b97ae4e0707f31623bea989ef94c97ca9d777dd2\",\"dweb:/ipfs/QmaaLSuwvqK7wqcgyS3utHgfmB7RntcvP7eJSuvQod8Z9P\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_globalConfigProxy", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address", "indexed": true }, { "internalType": "address", "name": "spender", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "value", "type": "uint256", "indexed": false } ], "type": "event", "name": "Approval", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "user", "type": "address", "indexed": true }, { "internalType": "address", "name": "asset", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "amount", "type": "uint256", "indexed": false } ], "type": "event", "name": "DepositApproval", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "user", "type": "address", "indexed": true }, { "internalType": "address", "name": "depositToken", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "depositTokenAmount", "type": "uint256", "indexed": false }, { "internalType": "uint256", "name": "sharesReceived", "type": "uint256", "indexed": false } ], "type": "event", "name": "Deposited", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "vaultProxy", "type": "address", "indexed": true } ], "type": "event", "name": "Initialized", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "user", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "sharesAmount", "type": "uint256", "indexed": false } ], "type": "event", "name": "Kicked", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "user", "type": "address", "indexed": true } ], "type": "event", "name": "ManagerAdded", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "user", "type": "address", "indexed": true } ], "type": "event", "name": "ManagerRemoved", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "user", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "sharesAmount", "type": "uint256", "indexed": false } ], "type": "event", "name": "Redeemed", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "user", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "amount", "type": "uint256", "indexed": false } ], "type": "event", "name": "RedemptionApproval", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "asset", "type": "address", "indexed": true } ], "type": "event", "name": "RedemptionAssetSet", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "user", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "sharesAmount", "type": "uint256", "indexed": false } ], "type": "event", "name": "RedemptionRequestAdded", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "user", "type": "address", "indexed": true } ], "type": "event", "name": "RedemptionRequestRemoved", "anonymous": false }, { "inputs": [ { "internalType": "uint256", "name": "firstWindowStart", "type": "uint256", "indexed": false }, { "internalType": "uint256", "name": "frequency", "type": "uint256", "indexed": false }, { "internalType": "uint256", "name": "duration", "type": "uint256", "indexed": false }, { "internalType": "uint256", "name": "relativeSharesCap", "type": "uint256", "indexed": false } ], "type": "event", "name": "RedemptionWindowConfigSet", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address", "indexed": true }, { "internalType": "address", "name": "to", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "value", "type": "uint256", "indexed": false } ], "type": "event", "name": "Transfer", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address", "indexed": true }, { "internalType": "address", "name": "recipient", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "amount", "type": "uint256", "indexed": false } ], "type": "event", "name": "TransferApproval", "anonymous": false }, { "inputs": [ { "internalType": "bool", "name": "useApprovals", "type": "bool", "indexed": false } ], "type": "event", "name": "UseDepositApprovalsSet", "anonymous": false }, { "inputs": [ { "internalType": "bool", "name": "useApprovals", "type": "bool", "indexed": false } ], "type": "event", "name": "UseRedemptionApprovalsSet", "anonymous": false }, { "inputs": [ { "internalType": "bool", "name": "useApprovals", "type": "bool", "indexed": false } ], "type": "event", "name": "UseTransferApprovalsSet", "anonymous": false }, { "inputs": [ { "internalType": "address[]", "name": "_managers", "type": "address[]" } ], "stateMutability": "nonpayable", "type": "function", "name": "addManagers" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "calcLatestRedemptionWindow", "outputs": [ { "internalType": "uint256", "name": "windowStart_", "type": "uint256" }, { "internalType": "uint256", "name": "windowEnd_", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "cancelRequestRedeem" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "decimals_", "type": "uint8" } ] }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "subtractedValue", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "decreaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [ { "internalType": "contract ERC20", "name": "_depositAssetContract", "type": "address" }, { "internalType": "uint256", "name": "_depositAssetAmount", "type": "uint256" }, { "internalType": "uint256", "name": "_minSharesAmount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "deposit", "outputs": [ { "internalType": "uint256", "name": "sharesReceived_", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "depositApprovalsAreUsed", "outputs": [ { "internalType": "bool", "name": "approvalsUsed_", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "_user", "type": "address" }, { "internalType": "address", "name": "_asset", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getDepositApproval", "outputs": [ { "internalType": "uint256", "name": "amount_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "_user", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getRedemptionApproval", "outputs": [ { "internalType": "uint256", "name": "amount_", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getRedemptionAsset", "outputs": [ { "internalType": "address", "name": "asset_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getRedemptionQueue", "outputs": [ { "internalType": "uint256", "name": "totalSharesPending_", "type": "uint256" }, { "internalType": "uint256", "name": "relativeSharesAllowed_", "type": "uint256" }, { "internalType": "uint256", "name": "relativeSharesCheckpointed_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_index", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "getRedemptionQueueUserByIndex", "outputs": [ { "internalType": "address", "name": "user_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_user", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getRedemptionQueueUserRequest", "outputs": [ { "internalType": "struct GatedRedemptionQueueSharesWrapperLibBase1.RedemptionRequest", "name": "request_", "type": "tuple", "components": [ { "internalType": "uint64", "name": "index", "type": "uint64" }, { "internalType": "uint64", "name": "lastRedeemed", "type": "uint64" }, { "internalType": "uint128", "name": "sharesPending", "type": "uint128" } ] } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getRedemptionQueueUsers", "outputs": [ { "internalType": "address[]", "name": "users_", "type": "address[]" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getRedemptionQueueUsersLength", "outputs": [ { "internalType": "uint256", "name": "length_", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getRedemptionWindowConfig", "outputs": [ { "internalType": "struct GatedRedemptionQueueSharesWrapperLibBase1.RedemptionWindowConfig", "name": "redemptionWindowConfig_", "type": "tuple", "components": [ { "internalType": "uint64", "name": "firstWindowStart", "type": "uint64" }, { "internalType": "uint32", "name": "frequency", "type": "uint32" }, { "internalType": "uint32", "name": "duration", "type": "uint32" }, { "internalType": "uint64", "name": "relativeSharesCap", "type": "uint64" } ] } ] }, { "inputs": [ { "internalType": "address", "name": "_sender", "type": "address" }, { "internalType": "address", "name": "_recipient", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getTransferApproval", "outputs": [ { "internalType": "uint256", "name": "amount_", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getVaultProxy", "outputs": [ { "internalType": "address", "name": "vaultProxy_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "addedValue", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "increaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "address[]", "name": "_managers", "type": "address[]" }, { "internalType": "address", "name": "_redemptionAsset", "type": "address" }, { "internalType": "bool", "name": "_useDepositApprovals", "type": "bool" }, { "internalType": "bool", "name": "_useRedemptionApprovals", "type": "bool" }, { "internalType": "bool", "name": "_useTransferApprovals", "type": "bool" }, { "internalType": "struct GatedRedemptionQueueSharesWrapperLibBase1.RedemptionWindowConfig", "name": "_windowConfig", "type": "tuple", "components": [ { "internalType": "uint64", "name": "firstWindowStart", "type": "uint64" }, { "internalType": "uint32", "name": "frequency", "type": "uint32" }, { "internalType": "uint32", "name": "duration", "type": "uint32" }, { "internalType": "uint64", "name": "relativeSharesCap", "type": "uint64" } ] } ], "stateMutability": "nonpayable", "type": "function", "name": "init" }, { "inputs": [ { "internalType": "address", "name": "_user", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "isManager", "outputs": [ { "internalType": "bool", "name": "isManager_", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "_user", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "kick", "outputs": [ { "internalType": "uint256", "name": "sharesRedeemed_", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "name", "outputs": [ { "internalType": "string", "name": "name_", "type": "string" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_startIndex", "type": "uint256" }, { "internalType": "uint256", "name": "_endIndex", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "redeemFromQueue", "outputs": [ { "internalType": "address[]", "name": "usersRedeemed_", "type": "address[]" }, { "internalType": "uint256[]", "name": "sharesRedeemed_", "type": "uint256[]" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "redemptionApprovalsAreUsed", "outputs": [ { "internalType": "bool", "name": "approvalsUsed_", "type": "bool" } ] }, { "inputs": [ { "internalType": "address[]", "name": "_managers", "type": "address[]" } ], "stateMutability": "nonpayable", "type": "function", "name": "removeManagers" }, { "inputs": [ { "internalType": "uint256", "name": "_sharesAmount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "requestRedeem" }, { "inputs": [ { "internalType": "address[]", "name": "_users", "type": "address[]" }, { "internalType": "address[]", "name": "_assets", "type": "address[]" }, { "internalType": "uint256[]", "name": "_amounts", "type": "uint256[]" } ], "stateMutability": "nonpayable", "type": "function", "name": "setDepositApprovals" }, { "inputs": [ { "internalType": "address[]", "name": "_users", "type": "address[]" }, { "internalType": "uint256[]", "name": "_amounts", "type": "uint256[]" } ], "stateMutability": "nonpayable", "type": "function", "name": "setRedemptionApprovals" }, { "inputs": [ { "internalType": "address", "name": "_nextRedemptionAsset", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "setRedemptionAsset" }, { "inputs": [ { "internalType": "struct GatedRedemptionQueueSharesWrapperLibBase1.RedemptionWindowConfig", "name": "_nextWindowConfig", "type": "tuple", "components": [ { "internalType": "uint64", "name": "firstWindowStart", "type": "uint64" }, { "internalType": "uint32", "name": "frequency", "type": "uint32" }, { "internalType": "uint32", "name": "duration", "type": "uint32" }, { "internalType": "uint64", "name": "relativeSharesCap", "type": "uint64" } ] } ], "stateMutability": "nonpayable", "type": "function", "name": "setRedemptionWindowConfig" }, { "inputs": [ { "internalType": "address[]", "name": "_users", "type": "address[]" }, { "internalType": "address[]", "name": "_recipients", "type": "address[]" }, { "internalType": "uint256[]", "name": "_amounts", "type": "uint256[]" } ], "stateMutability": "nonpayable", "type": "function", "name": "setTransferApprovals" }, { "inputs": [ { "internalType": "bool", "name": "_nextUseDepositApprovals", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function", "name": "setUseDepositApprovals" }, { "inputs": [ { "internalType": "bool", "name": "_nextUseRedemptionApprovals", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function", "name": "setUseRedemptionApprovals" }, { "inputs": [ { "internalType": "bool", "name": "_nextUseTransferApprovals", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function", "name": "setUseTransferApprovals" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "symbol", "outputs": [ { "internalType": "string", "name": "symbol_", "type": "string" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "_recipient", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "transfer", "outputs": [ { "internalType": "bool", "name": "success_", "type": "bool" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "transferApprovalsAreUsed", "outputs": [ { "internalType": "bool", "name": "approvalsUsed_", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "_sender", "type": "address" }, { "internalType": "address", "name": "_recipient", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "success_", "type": "bool" } ] } ], "devdoc": { "kind": "dev", "methods": { "addManagers(address[])": { "params": { "_managers": "Managers to add" } }, "allowance(address,address)": { "details": "See {IERC20-allowance}." }, "approve(address,uint256)": { "details": "See {IERC20-approve}. Requirements: - `spender` cannot be the zero address." }, "balanceOf(address)": { "details": "See {IERC20-balanceOf}." }, "calcLatestRedemptionWindow()": { "details": "Prior to first redemption window, returns no window (i.e., start and end are 0). After that, returns the last (or current) window, until a new window is reached.", "returns": { "windowEnd_": "The end of the latest window", "windowStart_": "The start of the latest window" } }, "decimals()": { "returns": { "decimals_": "The number of decimals" } }, "decreaseAllowance(address,uint256)": { "details": "Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`." }, "deposit(address,uint256,uint256)": { "details": "Does not support deposits in fee-on-transfer tokens", "params": { "_depositAssetAmount": "The amount of the token to deposit", "_depositAssetContract": "The token to deposit", "_minSharesAmount": "The min shares to mint" }, "returns": { "sharesReceived_": "The amount of wrapped shares received" } }, "depositApprovalsAreUsed()": { "returns": { "approvalsUsed_": "True if required" } }, "getDepositApproval(address,address)": { "params": { "_asset": "The asset", "_user": "The user" }, "returns": { "amount_": "The approval amount" } }, "getRedemptionApproval(address)": { "params": { "_user": "The user" }, "returns": { "amount_": "The approval amount" } }, "getRedemptionAsset()": { "returns": { "asset_": "The asset" } }, "getRedemptionQueue()": { "details": "Can't return a struct with a mapping in solc 0.6.12", "returns": { "relativeSharesAllowed_": "The relative shares allowed per-user during the window, as of the last checkpoint", "relativeSharesCheckpointed_": "The last checkpoint of relativeSharesAllowed_", "totalSharesPending_": "The total shares pending in the queue" } }, "getRedemptionQueueUserByIndex(uint256)": { "params": { "_index": "The index" }, "returns": { "user_": "The user" } }, "getRedemptionQueueUserRequest(address)": { "params": { "_user": "The user" }, "returns": { "request_": "The RedemptionRequest" } }, "getRedemptionQueueUsers()": { "returns": { "users_": "The list of users" } }, "getRedemptionQueueUsersLength()": { "returns": { "length_": "The count of users" } }, "getRedemptionWindowConfig()": { "returns": { "redemptionWindowConfig_": "The RedemptionWindowConfig" } }, "getTransferApproval(address,address)": { "params": { "_recipient": "The recipient", "_sender": "The sender" }, "returns": { "amount_": "The approval amount" } }, "getVaultProxy()": { "returns": { "vaultProxy_": "The vaultProxy value" } }, "increaseAllowance(address,uint256)": { "details": "Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address." }, "init(address,address[],address,bool,bool,bool,(uint64,uint32,uint32,uint64))": { "params": { "_managers": "Users to give the role of manager for the wrapper", "_redemptionAsset": "The asset to receive during shares redemptions", "_useDepositApprovals": "True if deposit pre-approvals are required", "_useRedemptionApprovals": "True if the redemption request pre-approvals are required", "_useTransferApprovals": "True if shares transfer pre-approvals are required", "_vaultProxy": "The VaultProxy that will have its shares wrapped", "_windowConfig": "Initial redemption window configuration" } }, "isManager(address)": { "params": { "_user": "The user to check" }, "returns": { "isManager_": "True if _user is a wrapper manager" } }, "kick(address)": { "details": "Must cleanup any approvals separately", "params": { "_user": "The user", "sharesRedeemed_": "The amount of shares redeemed" } }, "name()": { "returns": { "name_": "The name" } }, "redeemFromQueue(uint256,uint256)": { "details": "If redemptions are not throttled by relativeSharesAllowed, always slice from the end of the queue (more efficient to remove all users from the queue)", "params": { "_endIndex": "The final index of the slice", "_startIndex": "The first index of the slice" }, "returns": { "sharesRedeemed_": "The amount of shares redeemed for each user", "usersRedeemed_": "The users redeemed" } }, "redemptionApprovalsAreUsed()": { "returns": { "approvalsUsed_": "True if required" } }, "removeManagers(address[])": { "params": { "_managers": "Managers to remove" } }, "requestRedeem(uint256)": { "details": "Each request is additive", "params": { "_sharesAmount": "The amount of shares to add to the queue" } }, "setDepositApprovals(address[],address[],uint256[])": { "params": { "_amounts": "The amount of each approval", "_assets": "The deposit token for each approval", "_users": "The users" } }, "setRedemptionApprovals(address[],uint256[])": { "params": { "_amounts": "The amount of each approval", "_users": "The users" } }, "setRedemptionAsset(address)": { "params": { "_nextRedemptionAsset": "The asset" } }, "setRedemptionWindowConfig((uint64,uint32,uint32,uint64))": { "params": { "_nextWindowConfig": "The RedemptionWindowConfig" } }, "setTransferApprovals(address[],address[],uint256[])": { "params": { "_amounts": "The amount of each approval", "_recipients": "The recipient for each approval", "_users": "The users (senders)" } }, "setUseDepositApprovals(bool)": { "params": { "_nextUseDepositApprovals": "True if required" } }, "setUseRedemptionApprovals(bool)": { "params": { "_nextUseRedemptionApprovals": "True if required" } }, "setUseTransferApprovals(bool)": { "params": { "_nextUseTransferApprovals": "True if required" } }, "symbol()": { "returns": { "symbol_": "The symbol" } }, "totalSupply()": { "details": "See {IERC20-totalSupply}." }, "transferApprovalsAreUsed()": { "returns": { "approvalsUsed_": "True if required" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "addManagers(address[])": { "notice": "Adds managers" }, "calcLatestRedemptionWindow()": { "notice": "Helper to calculate the most recent redemption window" }, "cancelRequestRedeem()": { "notice": "Cancels the caller's redemption request" }, "decimals()": { "notice": "Gets the number of decimals of the wrapped shares token" }, "deposit(address,uint256,uint256)": { "notice": "Deposits a token to mint wrapped Enzyme vault shares" }, "depositApprovalsAreUsed()": { "notice": "Checks whether deposit approvals are required" }, "getDepositApproval(address,address)": { "notice": "Gets the deposit approval for a given user and asset" }, "getRedemptionApproval(address)": { "notice": "Gets the redemption approval for a given user" }, "getRedemptionAsset()": { "notice": "Gets the asset received during redemptions" }, "getRedemptionQueue()": { "notice": "Gets the redemption queue state" }, "getRedemptionQueueUserByIndex(uint256)": { "notice": "Gets the user at the specified index in the redemption queue list of users" }, "getRedemptionQueueUserRequest(address)": { "notice": "Gets the redemption request for a specified user" }, "getRedemptionQueueUsers()": { "notice": "Gets the list of all users in the redemption queue" }, "getRedemptionQueueUsersLength()": { "notice": "Gets the count of users in the redemption queue" }, "getRedemptionWindowConfig()": { "notice": "Gets the redemption window configuration" }, "getTransferApproval(address,address)": { "notice": "Gets the deposit approval for a given sender and recipient" }, "getVaultProxy()": { "notice": "Gets the vaultProxy var" }, "init(address,address[],address,bool,bool,bool,(uint64,uint32,uint32,uint64))": { "notice": "Initializes a proxy instance" }, "isManager(address)": { "notice": "Checks whether a user is a wrapper manager" }, "kick(address)": { "notice": "Kicks a user from the wrapper, redeeming their wrapped shares" }, "name()": { "notice": "Gets the name of the wrapped shares token" }, "redeemFromQueue(uint256,uint256)": { "notice": "Redeems a slice of requests from the queue" }, "redemptionApprovalsAreUsed()": { "notice": "Checks whether redemption approvals are required" }, "removeManagers(address[])": { "notice": "Removes managers" }, "requestRedeem(uint256)": { "notice": "Requests to join the queue for redeeming wrapped shares" }, "setDepositApprovals(address[],address[],uint256[])": { "notice": "Sets deposit approvals for a list of users" }, "setRedemptionApprovals(address[],uint256[])": { "notice": "Sets redemption approvals for a list of users" }, "setRedemptionAsset(address)": { "notice": "Sets the asset received during redemptions" }, "setRedemptionWindowConfig((uint64,uint32,uint32,uint64))": { "notice": "Sets the configuration for the redemption window" }, "setTransferApprovals(address[],address[],uint256[])": { "notice": "Sets transfer approvals for a list of users" }, "setUseDepositApprovals(bool)": { "notice": "Sets whether deposit approvals are required" }, "setUseRedemptionApprovals(bool)": { "notice": "Sets whether redemption approvals are required" }, "setUseTransferApprovals(bool)": { "notice": "Sets whether transfer approvals are required" }, "symbol()": { "notice": "Gets the symbol of the wrapped shares token" }, "transfer(address,uint256)": { "notice": "Standard implementation of ERC20's transfer() with additional validations" }, "transferApprovalsAreUsed()": { "notice": "Checks whether approvals are required for transferring wrapped shares" }, "transferFrom(address,address,uint256)": { "notice": "Standard implementation of ERC20's transferFrom() with additional validations" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/persistent/shares-wrappers/gated-redemption-queue/GatedRedemptionQueueSharesWrapperLib.sol": "GatedRedemptionQueueSharesWrapperLib" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/global-config/interfaces/IGlobalConfig1.sol": { "keccak256": "0x7b643513fd8e1a3aadc476536785a925fb7c032c21e385e69e562abff531a646", "urls": [ "bzz-raw://682cce7a4c7316ab7aa39361dff84646ba8c89ad26f2c706a4b2940f8ab27205", "dweb:/ipfs/QmTtyfPn3M8ErCs8zuhT4NrZiL4CAUyv37os37HebYuGA8" ], "license": "GPL-3.0" }, "contracts/persistent/global-config/interfaces/IGlobalConfig2.sol": { "keccak256": "0x98c55513d3903864848be0d1159ec7703f23b1119ca10da17c109417e06cc171", "urls": [ "bzz-raw://c6a92d9afd1167d4f560d66ec98c3137f224db743fc3b6c412d5617be97168b9", "dweb:/ipfs/QmZbDacG1C1dsQ9tx3BgAH9nTp4zfWYF1YDRYVbcgcKob4" ], "license": "GPL-3.0" }, "contracts/persistent/shares-wrappers/gated-redemption-queue/GatedRedemptionQueueSharesWrapperLib.sol": { "keccak256": "0x3b1b7b002819836878844950531d005894f9f0424b5e594af7ce969fea787c0a", "urls": [ "bzz-raw://d3823cfb06b46cd94d977b84c139132930e3316bc22e9ba1c58bda3cbae6099f", "dweb:/ipfs/QmP6jhjdjkpnaNFpGkiwpC1pNWPMz2FNTgKygEAhHeV9T7" ], "license": "GPL-3.0" }, "contracts/persistent/shares-wrappers/gated-redemption-queue/bases/GatedRedemptionQueueSharesWrapperLibBase1.sol": { "keccak256": "0x388cb81f45eeef5e9d5faef80fd2820cde5d1204c8163171795a6e96475f87dd", "urls": [ "bzz-raw://6d2b5da8a69e4da279a7fe48653ab48bfc4f21bb81cefdf080046de896e8183e", "dweb:/ipfs/QmbExKRHLVSpo1fSySKBGdozACen2uYNMhVTpao6GfkPTC" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IVaultCore.sol": { "keccak256": "0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80", "urls": [ "bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd", "dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", "urls": [ "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Address.sol": { "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", "urls": [ "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/ReentrancyGuard.sol": { "keccak256": "0x8bbbc2f5c10065ee272592ae0a7a6ceb23de2fbd81564ee0bb015ecf404d5f61", "urls": [ "bzz-raw://b95e56c1640d0ef789fc5c16269e141e992f6c8ac97cc6d377bd3825e9cab182", "dweb:/ipfs/QmVzaxJZY51EhagrcNnkxoU6Uq17RhATe7aHvtkC6wUkgK" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/SafeCast.sol": { "keccak256": "0x7b2b8baa20fd60ab4a328c8e34c64a353651b80ba4b5b157cbb61813f6f85d55", "urls": [ "bzz-raw://125b7f9efa390e663d630c62b97ae4e0707f31623bea989ef94c97ca9d777dd2", "dweb:/ipfs/QmaaLSuwvqK7wqcgyS3utHgfmB7RntcvP7eJSuvQod8Z9P" ], "license": "MIT" } }, "version": 1 }, "id": 63 } diff --git a/eth_defi/abi/enzyme/GatedRedemptionQueueSharesWrapperLibBase1.json b/eth_defi/abi/enzyme/GatedRedemptionQueueSharesWrapperLibBase1.json index fe7c6d7c..26c28645 100644 --- a/eth_defi/abi/enzyme/GatedRedemptionQueueSharesWrapperLibBase1.json +++ b/eth_defi/abi/enzyme/GatedRedemptionQueueSharesWrapperLibBase1.json @@ -1,1420 +1 @@ -{ - "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": "user", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "asset", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "DepositApproval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "depositToken", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "depositTokenAmount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "sharesReceived", - "type": "uint256" - } - ], - "name": "Deposited", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "vaultProxy", - "type": "address" - } - ], - "name": "Initialized", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "sharesAmount", - "type": "uint256" - } - ], - "name": "Kicked", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "user", - "type": "address" - } - ], - "name": "ManagerAdded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "user", - "type": "address" - } - ], - "name": "ManagerRemoved", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "sharesAmount", - "type": "uint256" - } - ], - "name": "Redeemed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "RedemptionApproval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "asset", - "type": "address" - } - ], - "name": "RedemptionAssetSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "sharesAmount", - "type": "uint256" - } - ], - "name": "RedemptionRequestAdded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "user", - "type": "address" - } - ], - "name": "RedemptionRequestRemoved", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "firstWindowStart", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "frequency", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "duration", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "relativeSharesCap", - "type": "uint256" - } - ], - "name": "RedemptionWindowConfigSet", - "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" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "TransferApproval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bool", - "name": "useApprovals", - "type": "bool" - } - ], - "name": "UseDepositApprovalsSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bool", - "name": "useApprovals", - "type": "bool" - } - ], - "name": "UseRedemptionApprovalsSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bool", - "name": "useApprovals", - "type": "bool" - } - ], - "name": "UseTransferApprovalsSet", - "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": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "subtractedValue", - "type": "uint256" - } - ], - "name": "decreaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "addedValue", - "type": "uint256" - } - ], - "name": "increaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "address[]", - "name": "_managers", - "type": "address[]" - }, - { - "internalType": "address", - "name": "_redemptionAsset", - "type": "address" - }, - { - "internalType": "bool", - "name": "_useDepositApprovals", - "type": "bool" - }, - { - "internalType": "bool", - "name": "_useRedemptionApprovals", - "type": "bool" - }, - { - "internalType": "bool", - "name": "_useTransferApprovals", - "type": "bool" - }, - { - "components": [ - { - "internalType": "uint64", - "name": "firstWindowStart", - "type": "uint64" - }, - { - "internalType": "uint32", - "name": "frequency", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "duration", - "type": "uint32" - }, - { - "internalType": "uint64", - "name": "relativeSharesCap", - "type": "uint64" - } - ], - "internalType": "struct GatedRedemptionQueueSharesWrapperLibBase1.RedemptionWindowConfig", - "name": "_windowConfig", - "type": "tuple" - } - ], - "name": "init", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "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": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "allowance(address,address)": "dd62ed3e", - "approve(address,uint256)": "095ea7b3", - "balanceOf(address)": "70a08231", - "decimals()": "313ce567", - "decreaseAllowance(address,uint256)": "a457c2d7", - "increaseAllowance(address,uint256)": "39509351", - "init(address,address[],address,bool,bool,bool,(uint64,uint32,uint32,uint64))": "42f6be5b", - "name()": "06fdde03", - "symbol()": "95d89b41", - "totalSupply()": "18160ddd", - "transfer(address,uint256)": "a9059cbb", - "transferFrom(address,address,uint256)": "23b872dd" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"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\":\"user\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"asset\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"DepositApproval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"depositToken\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"depositTokenAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"sharesReceived\",\"type\":\"uint256\"}],\"name\":\"Deposited\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"vaultProxy\",\"type\":\"address\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"sharesAmount\",\"type\":\"uint256\"}],\"name\":\"Kicked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"ManagerAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"ManagerRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"sharesAmount\",\"type\":\"uint256\"}],\"name\":\"Redeemed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"RedemptionApproval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"asset\",\"type\":\"address\"}],\"name\":\"RedemptionAssetSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"sharesAmount\",\"type\":\"uint256\"}],\"name\":\"RedemptionRequestAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"RedemptionRequestRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"firstWindowStart\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"frequency\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"duration\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"relativeSharesCap\",\"type\":\"uint256\"}],\"name\":\"RedemptionWindowConfigSet\",\"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\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"TransferApproval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"useApprovals\",\"type\":\"bool\"}],\"name\":\"UseDepositApprovalsSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"useApprovals\",\"type\":\"bool\"}],\"name\":\"UseRedemptionApprovalsSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"useApprovals\",\"type\":\"bool\"}],\"name\":\"UseTransferApprovalsSet\",\"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\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"address[]\",\"name\":\"_managers\",\"type\":\"address[]\"},{\"internalType\":\"address\",\"name\":\"_redemptionAsset\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_useDepositApprovals\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"_useRedemptionApprovals\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"_useTransferApprovals\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"uint64\",\"name\":\"firstWindowStart\",\"type\":\"uint64\"},{\"internalType\":\"uint32\",\"name\":\"frequency\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"duration\",\"type\":\"uint32\"},{\"internalType\":\"uint64\",\"name\":\"relativeSharesCap\",\"type\":\"uint64\"}],\"internalType\":\"struct GatedRedemptionQueueSharesWrapperLibBase1.RedemptionWindowConfig\",\"name\":\"_windowConfig\",\"type\":\"tuple\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"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\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"Each next base implementation inherits the previous base implementation, e.g., `GatedRedemptionQueueSharesWrapperLibBase2 is GatedRedemptionQueueSharesWrapperLibBase1` DO NOT EDIT CONTRACT.\",\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5,05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the value {ERC20} uses, unless {_setupDecimals} is called. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.\"},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `recipient` cannot be the zero address. - the caller must have a balance of at least `amount`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. Requirements: - `sender` and `recipient` cannot be the zero address. - `sender` must have a balance of at least `amount`. - the caller must have allowance for ``sender``'s tokens of at least `amount`.\"}},\"title\":\"GatedRedemptionQueueSharesWrapperLibBase1 Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"A base implementation for GatedRedemptionQueueSharesWrapperLib\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/shares-wrappers/gated-redemption-queue/bases/GatedRedemptionQueueSharesWrapperLibBase1.sol\":\"GatedRedemptionQueueSharesWrapperLibBase1\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/shares-wrappers/gated-redemption-queue/bases/GatedRedemptionQueueSharesWrapperLibBase1.sol\":{\"keccak256\":\"0x388cb81f45eeef5e9d5faef80fd2820cde5d1204c8163171795a6e96475f87dd\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6d2b5da8a69e4da279a7fe48653ab48bfc4f21bb81cefdf080046de896e8183e\",\"dweb:/ipfs/QmbExKRHLVSpo1fSySKBGdozACen2uYNMhVTpao6GfkPTC\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]},\"node_modules/@openzeppelin/contracts/utils/ReentrancyGuard.sol\":{\"keccak256\":\"0x8bbbc2f5c10065ee272592ae0a7a6ceb23de2fbd81564ee0bb015ecf404d5f61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b95e56c1640d0ef789fc5c16269e141e992f6c8ac97cc6d377bd3825e9cab182\",\"dweb:/ipfs/QmVzaxJZY51EhagrcNnkxoU6Uq17RhATe7aHvtkC6wUkgK\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "spender", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "Approval", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "user", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "asset", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "DepositApproval", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "user", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "depositToken", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "depositTokenAmount", - "type": "uint256", - "indexed": false - }, - { - "internalType": "uint256", - "name": "sharesReceived", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "Deposited", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "vaultProxy", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "Initialized", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "user", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "sharesAmount", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "Kicked", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "user", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "ManagerAdded", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "user", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "ManagerRemoved", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "user", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "sharesAmount", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "Redeemed", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "user", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "RedemptionApproval", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "asset", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "RedemptionAssetSet", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "user", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "sharesAmount", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "RedemptionRequestAdded", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "user", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "RedemptionRequestRemoved", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "firstWindowStart", - "type": "uint256", - "indexed": false - }, - { - "internalType": "uint256", - "name": "frequency", - "type": "uint256", - "indexed": false - }, - { - "internalType": "uint256", - "name": "duration", - "type": "uint256", - "indexed": false - }, - { - "internalType": "uint256", - "name": "relativeSharesCap", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "RedemptionWindowConfigSet", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "to", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "Transfer", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "recipient", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "TransferApproval", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "bool", - "name": "useApprovals", - "type": "bool", - "indexed": false - } - ], - "type": "event", - "name": "UseDepositApprovalsSet", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "bool", - "name": "useApprovals", - "type": "bool", - "indexed": false - } - ], - "type": "event", - "name": "UseRedemptionApprovalsSet", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "bool", - "name": "useApprovals", - "type": "bool", - "indexed": false - } - ], - "type": "event", - "name": "UseTransferApprovalsSet", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "subtractedValue", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "decreaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "addedValue", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "increaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "address[]", - "name": "_managers", - "type": "address[]" - }, - { - "internalType": "address", - "name": "_redemptionAsset", - "type": "address" - }, - { - "internalType": "bool", - "name": "_useDepositApprovals", - "type": "bool" - }, - { - "internalType": "bool", - "name": "_useRedemptionApprovals", - "type": "bool" - }, - { - "internalType": "bool", - "name": "_useTransferApprovals", - "type": "bool" - }, - { - "internalType": "struct GatedRedemptionQueueSharesWrapperLibBase1.RedemptionWindowConfig", - "name": "_windowConfig", - "type": "tuple", - "components": [ - { - "internalType": "uint64", - "name": "firstWindowStart", - "type": "uint64" - }, - { - "internalType": "uint32", - "name": "frequency", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "duration", - "type": "uint32" - }, - { - "internalType": "uint64", - "name": "relativeSharesCap", - "type": "uint64" - } - ] - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "init" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "allowance(address,address)": { - "details": "See {IERC20-allowance}." - }, - "approve(address,uint256)": { - "details": "See {IERC20-approve}. Requirements: - `spender` cannot be the zero address." - }, - "balanceOf(address)": { - "details": "See {IERC20-balanceOf}." - }, - "decimals()": { - "details": "Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5,05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the value {ERC20} uses, unless {_setupDecimals} is called. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}." - }, - "decreaseAllowance(address,uint256)": { - "details": "Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`." - }, - "increaseAllowance(address,uint256)": { - "details": "Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address." - }, - "name()": { - "details": "Returns the name of the token." - }, - "symbol()": { - "details": "Returns the symbol of the token, usually a shorter version of the name." - }, - "totalSupply()": { - "details": "See {IERC20-totalSupply}." - }, - "transfer(address,uint256)": { - "details": "See {IERC20-transfer}. Requirements: - `recipient` cannot be the zero address. - the caller must have a balance of at least `amount`." - }, - "transferFrom(address,address,uint256)": { - "details": "See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. Requirements: - `sender` and `recipient` cannot be the zero address. - `sender` must have a balance of at least `amount`. - the caller must have allowance for ``sender``'s tokens of at least `amount`." - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/persistent/shares-wrappers/gated-redemption-queue/bases/GatedRedemptionQueueSharesWrapperLibBase1.sol": "GatedRedemptionQueueSharesWrapperLibBase1" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/shares-wrappers/gated-redemption-queue/bases/GatedRedemptionQueueSharesWrapperLibBase1.sol": { - "keccak256": "0x388cb81f45eeef5e9d5faef80fd2820cde5d1204c8163171795a6e96475f87dd", - "urls": [ - "bzz-raw://6d2b5da8a69e4da279a7fe48653ab48bfc4f21bb81cefdf080046de896e8183e", - "dweb:/ipfs/QmbExKRHLVSpo1fSySKBGdozACen2uYNMhVTpao6GfkPTC" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/ReentrancyGuard.sol": { - "keccak256": "0x8bbbc2f5c10065ee272592ae0a7a6ceb23de2fbd81564ee0bb015ecf404d5f61", - "urls": [ - "bzz-raw://b95e56c1640d0ef789fc5c16269e141e992f6c8ac97cc6d377bd3825e9cab182", - "dweb:/ipfs/QmVzaxJZY51EhagrcNnkxoU6Uq17RhATe7aHvtkC6wUkgK" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 64 -} +{ "abi": [ { "type": "function", "name": "allowance", "inputs": [ { "name": "owner", "type": "address", "internalType": "address" }, { "name": "spender", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "approve", "inputs": [ { "name": "spender", "type": "address", "internalType": "address" }, { "name": "amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "balanceOf", "inputs": [ { "name": "account", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "decimals", "inputs": [], "outputs": [ { "name": "", "type": "uint8", "internalType": "uint8" } ], "stateMutability": "view" }, { "type": "function", "name": "decreaseAllowance", "inputs": [ { "name": "spender", "type": "address", "internalType": "address" }, { "name": "subtractedValue", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "increaseAllowance", "inputs": [ { "name": "spender", "type": "address", "internalType": "address" }, { "name": "addedValue", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "init", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_managers", "type": "address[]", "internalType": "address[]" }, { "name": "_redemptionAsset", "type": "address", "internalType": "address" }, { "name": "_useDepositApprovals", "type": "bool", "internalType": "bool" }, { "name": "_useRedemptionApprovals", "type": "bool", "internalType": "bool" }, { "name": "_useTransferApprovals", "type": "bool", "internalType": "bool" }, { "name": "_windowConfig", "type": "tuple", "internalType": "struct GatedRedemptionQueueSharesWrapperLibBase1.RedemptionWindowConfig", "components": [ { "name": "firstWindowStart", "type": "uint64", "internalType": "uint64" }, { "name": "frequency", "type": "uint32", "internalType": "uint32" }, { "name": "duration", "type": "uint32", "internalType": "uint32" }, { "name": "relativeSharesCap", "type": "uint64", "internalType": "uint64" } ] } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "name", "inputs": [], "outputs": [ { "name": "", "type": "string", "internalType": "string" } ], "stateMutability": "view" }, { "type": "function", "name": "symbol", "inputs": [], "outputs": [ { "name": "", "type": "string", "internalType": "string" } ], "stateMutability": "view" }, { "type": "function", "name": "totalSupply", "inputs": [], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "transfer", "inputs": [ { "name": "recipient", "type": "address", "internalType": "address" }, { "name": "amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "transferFrom", "inputs": [ { "name": "sender", "type": "address", "internalType": "address" }, { "name": "recipient", "type": "address", "internalType": "address" }, { "name": "amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "event", "name": "Approval", "inputs": [ { "name": "owner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "spender", "type": "address", "indexed": true, "internalType": "address" }, { "name": "value", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "DepositApproval", "inputs": [ { "name": "user", "type": "address", "indexed": true, "internalType": "address" }, { "name": "asset", "type": "address", "indexed": true, "internalType": "address" }, { "name": "amount", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "Deposited", "inputs": [ { "name": "user", "type": "address", "indexed": true, "internalType": "address" }, { "name": "depositToken", "type": "address", "indexed": true, "internalType": "address" }, { "name": "depositTokenAmount", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "sharesReceived", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "Initialized", "inputs": [ { "name": "vaultProxy", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "Kicked", "inputs": [ { "name": "user", "type": "address", "indexed": true, "internalType": "address" }, { "name": "sharesAmount", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "ManagerAdded", "inputs": [ { "name": "user", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "ManagerRemoved", "inputs": [ { "name": "user", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "Redeemed", "inputs": [ { "name": "user", "type": "address", "indexed": true, "internalType": "address" }, { "name": "sharesAmount", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "RedemptionApproval", "inputs": [ { "name": "user", "type": "address", "indexed": true, "internalType": "address" }, { "name": "amount", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "RedemptionAssetSet", "inputs": [ { "name": "asset", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "RedemptionRequestAdded", "inputs": [ { "name": "user", "type": "address", "indexed": true, "internalType": "address" }, { "name": "sharesAmount", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "RedemptionRequestRemoved", "inputs": [ { "name": "user", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "RedemptionWindowConfigSet", "inputs": [ { "name": "firstWindowStart", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "frequency", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "duration", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "relativeSharesCap", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "Transfer", "inputs": [ { "name": "from", "type": "address", "indexed": true, "internalType": "address" }, { "name": "to", "type": "address", "indexed": true, "internalType": "address" }, { "name": "value", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "TransferApproval", "inputs": [ { "name": "sender", "type": "address", "indexed": true, "internalType": "address" }, { "name": "recipient", "type": "address", "indexed": true, "internalType": "address" }, { "name": "amount", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "UseDepositApprovalsSet", "inputs": [ { "name": "useApprovals", "type": "bool", "indexed": false, "internalType": "bool" } ], "anonymous": false }, { "type": "event", "name": "UseRedemptionApprovalsSet", "inputs": [ { "name": "useApprovals", "type": "bool", "indexed": false, "internalType": "bool" } ], "anonymous": false }, { "type": "event", "name": "UseTransferApprovalsSet", "inputs": [ { "name": "useApprovals", "type": "bool", "indexed": false, "internalType": "bool" } ], "anonymous": false } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "allowance(address,address)": "dd62ed3e", "approve(address,uint256)": "095ea7b3", "balanceOf(address)": "70a08231", "decimals()": "313ce567", "decreaseAllowance(address,uint256)": "a457c2d7", "increaseAllowance(address,uint256)": "39509351", "init(address,address[],address,bool,bool,bool,(uint64,uint32,uint32,uint64))": "42f6be5b", "name()": "06fdde03", "symbol()": "95d89b41", "totalSupply()": "18160ddd", "transfer(address,uint256)": "a9059cbb", "transferFrom(address,address,uint256)": "23b872dd" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"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\":\"user\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"asset\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"DepositApproval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"depositToken\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"depositTokenAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"sharesReceived\",\"type\":\"uint256\"}],\"name\":\"Deposited\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"vaultProxy\",\"type\":\"address\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"sharesAmount\",\"type\":\"uint256\"}],\"name\":\"Kicked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"ManagerAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"ManagerRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"sharesAmount\",\"type\":\"uint256\"}],\"name\":\"Redeemed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"RedemptionApproval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"asset\",\"type\":\"address\"}],\"name\":\"RedemptionAssetSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"sharesAmount\",\"type\":\"uint256\"}],\"name\":\"RedemptionRequestAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"}],\"name\":\"RedemptionRequestRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"firstWindowStart\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"frequency\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"duration\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"relativeSharesCap\",\"type\":\"uint256\"}],\"name\":\"RedemptionWindowConfigSet\",\"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\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"TransferApproval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"useApprovals\",\"type\":\"bool\"}],\"name\":\"UseDepositApprovalsSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"useApprovals\",\"type\":\"bool\"}],\"name\":\"UseRedemptionApprovalsSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"useApprovals\",\"type\":\"bool\"}],\"name\":\"UseTransferApprovalsSet\",\"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\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"address[]\",\"name\":\"_managers\",\"type\":\"address[]\"},{\"internalType\":\"address\",\"name\":\"_redemptionAsset\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_useDepositApprovals\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"_useRedemptionApprovals\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"_useTransferApprovals\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"uint64\",\"name\":\"firstWindowStart\",\"type\":\"uint64\"},{\"internalType\":\"uint32\",\"name\":\"frequency\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"duration\",\"type\":\"uint32\"},{\"internalType\":\"uint64\",\"name\":\"relativeSharesCap\",\"type\":\"uint64\"}],\"internalType\":\"struct GatedRedemptionQueueSharesWrapperLibBase1.RedemptionWindowConfig\",\"name\":\"_windowConfig\",\"type\":\"tuple\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"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\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"Each next base implementation inherits the previous base implementation, e.g., `GatedRedemptionQueueSharesWrapperLibBase2 is GatedRedemptionQueueSharesWrapperLibBase1` DO NOT EDIT CONTRACT.\",\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5,05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the value {ERC20} uses, unless {_setupDecimals} is called. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.\"},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `recipient` cannot be the zero address. - the caller must have a balance of at least `amount`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. Requirements: - `sender` and `recipient` cannot be the zero address. - `sender` must have a balance of at least `amount`. - the caller must have allowance for ``sender``'s tokens of at least `amount`.\"}},\"title\":\"GatedRedemptionQueueSharesWrapperLibBase1 Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"A base implementation for GatedRedemptionQueueSharesWrapperLib\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/shares-wrappers/gated-redemption-queue/bases/GatedRedemptionQueueSharesWrapperLibBase1.sol\":\"GatedRedemptionQueueSharesWrapperLibBase1\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/shares-wrappers/gated-redemption-queue/bases/GatedRedemptionQueueSharesWrapperLibBase1.sol\":{\"keccak256\":\"0x388cb81f45eeef5e9d5faef80fd2820cde5d1204c8163171795a6e96475f87dd\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6d2b5da8a69e4da279a7fe48653ab48bfc4f21bb81cefdf080046de896e8183e\",\"dweb:/ipfs/QmbExKRHLVSpo1fSySKBGdozACen2uYNMhVTpao6GfkPTC\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]},\"node_modules/@openzeppelin/contracts/utils/ReentrancyGuard.sol\":{\"keccak256\":\"0x8bbbc2f5c10065ee272592ae0a7a6ceb23de2fbd81564ee0bb015ecf404d5f61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b95e56c1640d0ef789fc5c16269e141e992f6c8ac97cc6d377bd3825e9cab182\",\"dweb:/ipfs/QmVzaxJZY51EhagrcNnkxoU6Uq17RhATe7aHvtkC6wUkgK\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "owner", "type": "address", "indexed": true }, { "internalType": "address", "name": "spender", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "value", "type": "uint256", "indexed": false } ], "type": "event", "name": "Approval", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "user", "type": "address", "indexed": true }, { "internalType": "address", "name": "asset", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "amount", "type": "uint256", "indexed": false } ], "type": "event", "name": "DepositApproval", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "user", "type": "address", "indexed": true }, { "internalType": "address", "name": "depositToken", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "depositTokenAmount", "type": "uint256", "indexed": false }, { "internalType": "uint256", "name": "sharesReceived", "type": "uint256", "indexed": false } ], "type": "event", "name": "Deposited", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "vaultProxy", "type": "address", "indexed": true } ], "type": "event", "name": "Initialized", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "user", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "sharesAmount", "type": "uint256", "indexed": false } ], "type": "event", "name": "Kicked", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "user", "type": "address", "indexed": true } ], "type": "event", "name": "ManagerAdded", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "user", "type": "address", "indexed": true } ], "type": "event", "name": "ManagerRemoved", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "user", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "sharesAmount", "type": "uint256", "indexed": false } ], "type": "event", "name": "Redeemed", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "user", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "amount", "type": "uint256", "indexed": false } ], "type": "event", "name": "RedemptionApproval", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "asset", "type": "address", "indexed": true } ], "type": "event", "name": "RedemptionAssetSet", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "user", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "sharesAmount", "type": "uint256", "indexed": false } ], "type": "event", "name": "RedemptionRequestAdded", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "user", "type": "address", "indexed": true } ], "type": "event", "name": "RedemptionRequestRemoved", "anonymous": false }, { "inputs": [ { "internalType": "uint256", "name": "firstWindowStart", "type": "uint256", "indexed": false }, { "internalType": "uint256", "name": "frequency", "type": "uint256", "indexed": false }, { "internalType": "uint256", "name": "duration", "type": "uint256", "indexed": false }, { "internalType": "uint256", "name": "relativeSharesCap", "type": "uint256", "indexed": false } ], "type": "event", "name": "RedemptionWindowConfigSet", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address", "indexed": true }, { "internalType": "address", "name": "to", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "value", "type": "uint256", "indexed": false } ], "type": "event", "name": "Transfer", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address", "indexed": true }, { "internalType": "address", "name": "recipient", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "amount", "type": "uint256", "indexed": false } ], "type": "event", "name": "TransferApproval", "anonymous": false }, { "inputs": [ { "internalType": "bool", "name": "useApprovals", "type": "bool", "indexed": false } ], "type": "event", "name": "UseDepositApprovalsSet", "anonymous": false }, { "inputs": [ { "internalType": "bool", "name": "useApprovals", "type": "bool", "indexed": false } ], "type": "event", "name": "UseRedemptionApprovalsSet", "anonymous": false }, { "inputs": [ { "internalType": "bool", "name": "useApprovals", "type": "bool", "indexed": false } ], "type": "event", "name": "UseTransferApprovalsSet", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ] }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "subtractedValue", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "decreaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "addedValue", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "increaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "address[]", "name": "_managers", "type": "address[]" }, { "internalType": "address", "name": "_redemptionAsset", "type": "address" }, { "internalType": "bool", "name": "_useDepositApprovals", "type": "bool" }, { "internalType": "bool", "name": "_useRedemptionApprovals", "type": "bool" }, { "internalType": "bool", "name": "_useTransferApprovals", "type": "bool" }, { "internalType": "struct GatedRedemptionQueueSharesWrapperLibBase1.RedemptionWindowConfig", "name": "_windowConfig", "type": "tuple", "components": [ { "internalType": "uint64", "name": "firstWindowStart", "type": "uint64" }, { "internalType": "uint32", "name": "frequency", "type": "uint32" }, { "internalType": "uint32", "name": "duration", "type": "uint32" }, { "internalType": "uint64", "name": "relativeSharesCap", "type": "uint64" } ] } ], "stateMutability": "nonpayable", "type": "function", "name": "init" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] } ], "devdoc": { "kind": "dev", "methods": { "allowance(address,address)": { "details": "See {IERC20-allowance}." }, "approve(address,uint256)": { "details": "See {IERC20-approve}. Requirements: - `spender` cannot be the zero address." }, "balanceOf(address)": { "details": "See {IERC20-balanceOf}." }, "decimals()": { "details": "Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5,05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the value {ERC20} uses, unless {_setupDecimals} is called. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}." }, "decreaseAllowance(address,uint256)": { "details": "Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`." }, "increaseAllowance(address,uint256)": { "details": "Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address." }, "name()": { "details": "Returns the name of the token." }, "symbol()": { "details": "Returns the symbol of the token, usually a shorter version of the name." }, "totalSupply()": { "details": "See {IERC20-totalSupply}." }, "transfer(address,uint256)": { "details": "See {IERC20-transfer}. Requirements: - `recipient` cannot be the zero address. - the caller must have a balance of at least `amount`." }, "transferFrom(address,address,uint256)": { "details": "See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. Requirements: - `sender` and `recipient` cannot be the zero address. - `sender` must have a balance of at least `amount`. - the caller must have allowance for ``sender``'s tokens of at least `amount`." } }, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/persistent/shares-wrappers/gated-redemption-queue/bases/GatedRedemptionQueueSharesWrapperLibBase1.sol": "GatedRedemptionQueueSharesWrapperLibBase1" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/shares-wrappers/gated-redemption-queue/bases/GatedRedemptionQueueSharesWrapperLibBase1.sol": { "keccak256": "0x388cb81f45eeef5e9d5faef80fd2820cde5d1204c8163171795a6e96475f87dd", "urls": [ "bzz-raw://6d2b5da8a69e4da279a7fe48653ab48bfc4f21bb81cefdf080046de896e8183e", "dweb:/ipfs/QmbExKRHLVSpo1fSySKBGdozACen2uYNMhVTpao6GfkPTC" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/ReentrancyGuard.sol": { "keccak256": "0x8bbbc2f5c10065ee272592ae0a7a6ceb23de2fbd81564ee0bb015ecf404d5f61", "urls": [ "bzz-raw://b95e56c1640d0ef789fc5c16269e141e992f6c8ac97cc6d377bd3825e9cab182", "dweb:/ipfs/QmVzaxJZY51EhagrcNnkxoU6Uq17RhATe7aHvtkC6wUkgK" ], "license": "MIT" } }, "version": 1 }, "id": 64 } diff --git a/eth_defi/abi/enzyme/GlobalConfigLib.json b/eth_defi/abi/enzyme/GlobalConfigLib.json index 238eb52c..1f48e8d7 100644 --- a/eth_defi/abi/enzyme/GlobalConfigLib.json +++ b/eth_defi/abi/enzyme/GlobalConfigLib.json @@ -1,682 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_fundDeployerV4", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "nextGlobalConfigLib", - "type": "address" - } - ], - "name": "GlobalConfigLibSet", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_depositAsset", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_depositAssetAmount", - "type": "uint256" - } - ], - "name": "formatDepositCall", - "outputs": [ - { - "internalType": "address", - "name": "target_", - "type": "address" - }, - { - "internalType": "bytes", - "name": "payload_", - "type": "bytes" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_recipient", - "type": "address" - }, - { - "internalType": "address", - "name": "_asset", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "_amountIsShares", - "type": "bool" - } - ], - "name": "formatSingleAssetRedemptionCall", - "outputs": [ - { - "internalType": "address", - "name": "target_", - "type": "address" - }, - { - "internalType": "bytes", - "name": "payload_", - "type": "bytes" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getDispatcher", - "outputs": [ - { - "internalType": "address", - "name": "dispatcher_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getGlobalConfigLib", - "outputs": [ - { - "internalType": "address", - "name": "globalConfigLib_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_dispatcher", - "type": "address" - } - ], - "name": "init", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_recipientToValidate", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_sharesAmountToValidate", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_redeemContract", - "type": "address" - }, - { - "internalType": "bytes4", - "name": "_redeemSelector", - "type": "bytes4" - }, - { - "internalType": "bytes", - "name": "_redeemData", - "type": "bytes" - } - ], - "name": "isValidRedeemSharesCall", - "outputs": [ - { - "internalType": "bool", - "name": "isValid_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "proxiableUUID", - "outputs": [ - { - "internalType": "bytes32", - "name": "uuid_", - "type": "bytes32" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_nextGlobalConfigLib", - "type": "address" - } - ], - "name": "setGlobalConfigLib", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x60a060405234801561001057600080fd5b50604051610e59380380610e598339818101604052602081101561003357600080fd5b5051606081901b6001600160601b0319166080526001600160a01b0316610de8610071600039806103b6528061077e52806109275250610de86000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c80635d4755dc1161005b5780635d4755dc146101c15780637f1804331461027a5780639528ee16146102b0578063ebb3d589146102d457610088565b806319ab453c1461008d5780632441593c146100b557806343233f011461018157806352d1902d146101a7575b600080fd5b6100b3600480360360208110156100a357600080fd5b50356001600160a01b03166102dc565b005b6100f9600480360360a08110156100cb57600080fd5b506001600160a01b0381358116916020810135821691604082013516906060810135906080013515156103a3565b60405180836001600160a01b0316815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561014557818101518382015260200161012d565b50505050905090810190601f1680156101725780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b6100b36004803603602081101561019757600080fd5b50356001600160a01b0316610650565b6101af61074a565b60408051918252519081900360200190f35b610266600480360360c08110156101d757600080fd5b6001600160a01b0382358116926020810135821692604082013592606083013516916001600160e01b03196080820135169181019060c0810160a082013564010000000081111561022757600080fd5b82018360208201111561023957600080fd5b8035906020019184600183028401116401000000008311171561025b57600080fd5b50909250905061076e565b604080519115158252519081900360200190f35b6100f96004803603606081101561029057600080fd5b506001600160a01b03813581169160208101359091169060400135610914565b6102b8610b0b565b604080516001600160a01b039092168252519081900360200190f35b6102b8610b30565b60006102e6610b30565b6001600160a01b031614610341576040805162461bcd60e51b815260206004820152601f60248201527f696e69743a2050726f787920616c726561647920696e697469616c697a656400604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b0383161790557fce6de52b779ce41beea76a6e7a997211f0006af21ed2e2924caa5bdc92dac318610385610b0b565b604080516001600160a01b039092168252519081900360200190a150565b6000606060006103b288610b3f565b90507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316816001600160a01b0316141561060e578361042a5760405162461bcd60e51b815260040180806020018281038252603d815260200180610ce5603d913960400191505060405180910390fd5b876001600160a01b0316635a53e3486040518163ffffffff1660e01b815260040160206040518083038186803b15801561046357600080fd5b505afa158015610477573d6000803e3d6000fd5b505050506040513d602081101561048d57600080fd5b5051604080516001808252818301909252919450606091906020808301908036833701905050905086816000815181106104c357fe5b6001600160a01b0392909216602092830291909101909101526040805160018082528183019092526060918160200160208202803683370190505090506127108160008151811061051057fe5b602002602001018181525050633462fcc160e01b8988848460405160240180856001600160a01b031681526020018481526020018060200180602001838103835285818151815260200191508051906020019060200280838360005b8381101561058457818101518382015260200161056c565b50505050905001838103825284818151815260200191508051906020019060200280838360005b838110156105c35781810151838201526020016105ab565b505050509050019650505050505050604051602081830303815290604052906001600160e01b0319166020820180516001600160e01b03838183161783525050505093505050610645565b60405162461bcd60e51b8152600401808060200182810382526034815260200180610cb16034913960400191505060405180910390fd5b509550959350505050565b610658610b30565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561069057600080fd5b505afa1580156106a4573d6000803e3d6000fd5b505050506040513d60208110156106ba57600080fd5b50516001600160a01b031633146107025760405162461bcd60e51b8152600401808060200182810382526030815260200180610d866030913960400191505060405180910390fd5b61070b81610bc7565b604080516001600160a01b038316815290517fce6de52b779ce41beea76a6e7a997211f0006af21ed2e2924caa5bdc92dac3189181900360200190a150565b7ff25d88d51901d7fabc9924b03f4c2fe4300e6fe1aae4b5134c0a90b68cd8e81c90565b60008061077a89610b3f565b90507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316816001600160a01b0316141561090357886001600160a01b0316635a53e3486040518163ffffffff1660e01b815260040160206040518083038186803b1580156107ef57600080fd5b505afa158015610803573d6000803e3d6000fd5b505050506040513d602081101561081957600080fd5b50516001600160a01b03878116911614610837576000915050610909565b6001600160e01b03198516633462fcc160e01b148061086657506001600160e01b03198516636af8e7eb60e01b145b610874576000915050610909565b6000808585604081101561088757600080fd5b506001600160a01b0381358116935060209091013591508a1661aaaa148015906108c35750816001600160a01b03168a6001600160a01b031614155b156108d45760009350505050610909565b60011989148015906108e65750808914155b156108f75760009350505050610909565b60019350505050610909565b60009150505b979650505050505050565b60006060600061092386610b3f565b90507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316816001600160a01b03161415610acb576000866001600160a01b0316635a53e3486040518163ffffffff1660e01b815260040160206040518083038186803b15801561099a57600080fd5b505afa1580156109ae573d6000803e3d6000fd5b505050506040513d60208110156109c457600080fd5b505160408051637134e1eb60e11b815290519192506001600160a01b0383169163e269c3d691600480820192602092909190829003018186803b158015610a0a57600080fd5b505afa158015610a1e573d6000803e3d6000fd5b505050506040513d6020811015610a3457600080fd5b50516001600160a01b03878116911614610a7f5760405162461bcd60e51b815260040180806020018281038252602c815260200180610d5a602c913960400191505060405180910390fd5b604080516024810187905260016044808301919091528251808303909101815260649091019091526020810180516001600160e01b0316635f75e2ed60e11b1790529093509150610b02565b60405162461bcd60e51b8152600401808060200182810382526026815260200180610db66026913960400191505060405180910390fd5b50935093915050565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6000546001600160a01b031690565b6000610b49610b30565b6001600160a01b0316633d7c74f8836040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610b9557600080fd5b505afa158015610ba9573d6000803e3d6000fd5b505050506040513d6020811015610bbf57600080fd5b505192915050565b7ff25d88d51901d7fabc9924b03f4c2fe4300e6fe1aae4b5134c0a90b68cd8e81c60001b816001600160a01b03166352d1902d6040518163ffffffff1660e01b815260040160206040518083038186803b158015610c2457600080fd5b505afa158015610c38573d6000803e3d6000fd5b505050506040513d6020811015610c4e57600080fd5b505114610c8c5760405162461bcd60e51b8152600401808060200182810382526038815260200180610d226038913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5556fe666f726d617453696e676c654173736574526564656d7074696f6e43616c6c3a20556e737570706f727465642072656c65617365666f726d617453696e676c654173736574526564656d7074696f6e43616c6c3a205f616d6f756e744973536861726573206d75737420626520747275655f5f757064617465436f6465416464726573733a205f6e657874476c6f62616c436f6e6669674c6962206e6f7420636f6d70617469626c65666f726d61744465706f73697443616c6c3a20556e737570706f72746564205f6465706f73697441737365744f6e6c79207468652044697370617463686572206f776e65722063616e2063616c6c20746869732066756e6374696f6e666f726d61744465706f73697443616c6c3a20556e737570706f727465642072656c65617365a164736f6c634300060c000a", - "sourceMap": "666:6328:39:-:0;;;852:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;852:95:39;906:34;;;;-1:-1:-1;;;;;;906:34:39;;;-1:-1:-1;;;;;666:6328:39;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106100885760003560e01c80635d4755dc1161005b5780635d4755dc146101c15780637f1804331461027a5780639528ee16146102b0578063ebb3d589146102d457610088565b806319ab453c1461008d5780632441593c146100b557806343233f011461018157806352d1902d146101a7575b600080fd5b6100b3600480360360208110156100a357600080fd5b50356001600160a01b03166102dc565b005b6100f9600480360360a08110156100cb57600080fd5b506001600160a01b0381358116916020810135821691604082013516906060810135906080013515156103a3565b60405180836001600160a01b0316815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561014557818101518382015260200161012d565b50505050905090810190601f1680156101725780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b6100b36004803603602081101561019757600080fd5b50356001600160a01b0316610650565b6101af61074a565b60408051918252519081900360200190f35b610266600480360360c08110156101d757600080fd5b6001600160a01b0382358116926020810135821692604082013592606083013516916001600160e01b03196080820135169181019060c0810160a082013564010000000081111561022757600080fd5b82018360208201111561023957600080fd5b8035906020019184600183028401116401000000008311171561025b57600080fd5b50909250905061076e565b604080519115158252519081900360200190f35b6100f96004803603606081101561029057600080fd5b506001600160a01b03813581169160208101359091169060400135610914565b6102b8610b0b565b604080516001600160a01b039092168252519081900360200190f35b6102b8610b30565b60006102e6610b30565b6001600160a01b031614610341576040805162461bcd60e51b815260206004820152601f60248201527f696e69743a2050726f787920616c726561647920696e697469616c697a656400604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b0383161790557fce6de52b779ce41beea76a6e7a997211f0006af21ed2e2924caa5bdc92dac318610385610b0b565b604080516001600160a01b039092168252519081900360200190a150565b6000606060006103b288610b3f565b90507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316816001600160a01b0316141561060e578361042a5760405162461bcd60e51b815260040180806020018281038252603d815260200180610ce5603d913960400191505060405180910390fd5b876001600160a01b0316635a53e3486040518163ffffffff1660e01b815260040160206040518083038186803b15801561046357600080fd5b505afa158015610477573d6000803e3d6000fd5b505050506040513d602081101561048d57600080fd5b5051604080516001808252818301909252919450606091906020808301908036833701905050905086816000815181106104c357fe5b6001600160a01b0392909216602092830291909101909101526040805160018082528183019092526060918160200160208202803683370190505090506127108160008151811061051057fe5b602002602001018181525050633462fcc160e01b8988848460405160240180856001600160a01b031681526020018481526020018060200180602001838103835285818151815260200191508051906020019060200280838360005b8381101561058457818101518382015260200161056c565b50505050905001838103825284818151815260200191508051906020019060200280838360005b838110156105c35781810151838201526020016105ab565b505050509050019650505050505050604051602081830303815290604052906001600160e01b0319166020820180516001600160e01b03838183161783525050505093505050610645565b60405162461bcd60e51b8152600401808060200182810382526034815260200180610cb16034913960400191505060405180910390fd5b509550959350505050565b610658610b30565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561069057600080fd5b505afa1580156106a4573d6000803e3d6000fd5b505050506040513d60208110156106ba57600080fd5b50516001600160a01b031633146107025760405162461bcd60e51b8152600401808060200182810382526030815260200180610d866030913960400191505060405180910390fd5b61070b81610bc7565b604080516001600160a01b038316815290517fce6de52b779ce41beea76a6e7a997211f0006af21ed2e2924caa5bdc92dac3189181900360200190a150565b7ff25d88d51901d7fabc9924b03f4c2fe4300e6fe1aae4b5134c0a90b68cd8e81c90565b60008061077a89610b3f565b90507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316816001600160a01b0316141561090357886001600160a01b0316635a53e3486040518163ffffffff1660e01b815260040160206040518083038186803b1580156107ef57600080fd5b505afa158015610803573d6000803e3d6000fd5b505050506040513d602081101561081957600080fd5b50516001600160a01b03878116911614610837576000915050610909565b6001600160e01b03198516633462fcc160e01b148061086657506001600160e01b03198516636af8e7eb60e01b145b610874576000915050610909565b6000808585604081101561088757600080fd5b506001600160a01b0381358116935060209091013591508a1661aaaa148015906108c35750816001600160a01b03168a6001600160a01b031614155b156108d45760009350505050610909565b60011989148015906108e65750808914155b156108f75760009350505050610909565b60019350505050610909565b60009150505b979650505050505050565b60006060600061092386610b3f565b90507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316816001600160a01b03161415610acb576000866001600160a01b0316635a53e3486040518163ffffffff1660e01b815260040160206040518083038186803b15801561099a57600080fd5b505afa1580156109ae573d6000803e3d6000fd5b505050506040513d60208110156109c457600080fd5b505160408051637134e1eb60e11b815290519192506001600160a01b0383169163e269c3d691600480820192602092909190829003018186803b158015610a0a57600080fd5b505afa158015610a1e573d6000803e3d6000fd5b505050506040513d6020811015610a3457600080fd5b50516001600160a01b03878116911614610a7f5760405162461bcd60e51b815260040180806020018281038252602c815260200180610d5a602c913960400191505060405180910390fd5b604080516024810187905260016044808301919091528251808303909101815260649091019091526020810180516001600160e01b0316635f75e2ed60e11b1790529093509150610b02565b60405162461bcd60e51b8152600401808060200182810382526026815260200180610db66026913960400191505060405180910390fd5b50935093915050565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6000546001600160a01b031690565b6000610b49610b30565b6001600160a01b0316633d7c74f8836040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610b9557600080fd5b505afa158015610ba9573d6000803e3d6000fd5b505050506040513d6020811015610bbf57600080fd5b505192915050565b7ff25d88d51901d7fabc9924b03f4c2fe4300e6fe1aae4b5134c0a90b68cd8e81c60001b816001600160a01b03166352d1902d6040518163ffffffff1660e01b815260040160206040518083038186803b158015610c2457600080fd5b505afa158015610c38573d6000803e3d6000fd5b505050506040513d6020811015610c4e57600080fd5b505114610c8c5760405162461bcd60e51b8152600401808060200182810382526038815260200180610d226038913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5556fe666f726d617453696e676c654173736574526564656d7074696f6e43616c6c3a20556e737570706f727465642072656c65617365666f726d617453696e676c654173736574526564656d7074696f6e43616c6c3a205f616d6f756e744973536861726573206d75737420626520747275655f5f757064617465436f6465416464726573733a205f6e657874476c6f62616c436f6e6669674c6962206e6f7420636f6d70617469626c65666f726d61744465706f73697443616c6c3a20556e737570706f72746564205f6465706f73697441737365744f6e6c79207468652044697370617463686572206f776e65722063616e2063616c6c20746869732066756e6374696f6e666f726d61744465706f73697443616c6c3a20556e737570706f727465642072656c65617365a164736f6c634300060c000a", - "sourceMap": "666:6328:39:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1194:225:42;;;;;;;;;;;;;;;;-1:-1:-1;1194:225:42;-1:-1:-1;;;;;1194:225:42;;:::i;:::-;;2912:1304:39;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;2912:1304:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;2912:1304:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1819:201:42;;;;;;;;;;;;;;;;-1:-1:-1;1819:201:42;-1:-1:-1;;;;;1819:201:42;;:::i;1402:108:47:-;;;:::i;:::-;;;;;;;;;;;;;;;;4845:1841:39;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4845:1841:39;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;4845:1841:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4845:1841:39;;-1:-1:-1;4845:1841:39;-1:-1:-1;4845:1841:39;:::i;:::-;;;;;;;;;;;;;;;;;;1300:1081;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1300:1081:39;;;;;;;;;;;;;;;;;:::i;2462:200:42:-;;;:::i;:::-;;;;-1:-1:-1;;;;;2462:200:42;;;;;;;;;;;;;;2206:101;;;:::i;1194:225::-;1283:1;1256:15;:13;:15::i;:::-;-1:-1:-1;;;;;1256:29:42;;1248:73;;;;;-1:-1:-1;;;1248:73:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;1332:10;:24;;-1:-1:-1;;;;;;1332:24:42;-1:-1:-1;;;;;1332:24:42;;;;;1372:40;1391:20;:18;:20::i;:::-;1372:40;;;-1:-1:-1;;;;;1372:40:42;;;;;;;;;;;;;;1194:225;:::o;2912:1304:39:-;3127:15;3144:21;3216:20;3239:43;3270:11;3239:30;:43::i;:::-;3216:66;;3313:16;-1:-1:-1;;;;;3297:32:39;:12;-1:-1:-1;;;;;3297:32:39;;3293:880;;;3435:15;3410:135;;;;-1:-1:-1;;;3410:135:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3581:11;-1:-1:-1;;;;;3570:35:39;;:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3570:37:39;3648:16;;;3662:1;3648:16;;;;;;;;;3570:37;;-1:-1:-1;3622:23:39;;3648:16;;;;;;;;;;;;-1:-1:-1;3648:16:39;3622:42;;3690:6;3678;3685:1;3678:9;;;;;;;;-1:-1:-1;;;;;3678:18:39;;;;:9;;;;;;;;;;;:18;3742:16;;;3756:1;3742:16;;;;;;;;;3711:28;;3742:16;;;;;;;;;;;;-1:-1:-1;3742:16:39;3711:47;;791:5;3772:11;3784:1;3772:14;;;;;;;;;;;;;:43;;;;;3881:68;;;3967:10;3995:7;4020:6;4044:11;3841:228;;;;;;-1:-1:-1;;;;;3841:228:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3841:228:39;;;;;;;-1:-1:-1;;;;;3841:228:39;;;;;;;;;;;3830:239;;3293:880;;;;;4100:62;;-1:-1:-1;;;4100:62:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3293:880;4183:26;2912:1304;;;;;;;;:::o;1819:201:42:-;899:15;:13;:15::i;:::-;-1:-1:-1;;;;;887:37:42;;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;887:39:42;-1:-1:-1;;;;;873:53:42;:10;:53;852:148;;;;-1:-1:-1;;;852:148:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1916:41:::1;1936:20;1916:19;:41::i;:::-;1973:40;::::0;;-1:-1:-1;;;;;1973:40:42;::::1;::::0;;;;::::1;::::0;;;;::::1;::::0;;::::1;1819:201:::0;:::o;1402:108:47:-;625:66:46;1402:108:47;:::o;4845:1841:39:-;5125:13;5189:20;5212:43;5243:11;5212:30;:43::i;:::-;5189:66;;5333:16;-1:-1:-1;;;;;5317:32:39;:12;-1:-1:-1;;;;;5317:32:39;;5313:1344;;;5432:11;-1:-1:-1;;;;;5421:35:39;;:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5421:37:39;-1:-1:-1;;;;;5402:56:39;;;;;;5398:107;;5485:5;5478:12;;;;;5398:107;-1:-1:-1;;;;;;5575:107:39;;-1:-1:-1;;;5575:107:39;;:207;;-1:-1:-1;;;;;;;5706:76:39;;-1:-1:-1;;;5706:76:39;5575:207;5552:291;;5823:5;5816:12;;;;;5552:291;5960:24;5986:27;6045:11;;6017:89;;;;;;;;;;-1:-1:-1;;;;;;6017:89:39;;;;;-1:-1:-1;6017:89:39;;;;;;-1:-1:-1;6187:51:39;;770:42:41;6187:51:39;;;;:111;;;6282:16;-1:-1:-1;;;;;6258:40:39;:20;-1:-1:-1;;;;;6258:40:39;;;6187:111;6166:192;;;6338:5;6331:12;;;;;;;6166:192;-1:-1:-1;;6442:53:39;;;;;:119;;;6542:19;6515:23;:46;;6442:119;6421:200;;;6601:5;6594:12;;;;;;;6421:200;6642:4;6635:11;;;;;;;5313:1344;6674:5;6667:12;;;4845:1841;;;;;;;;;;:::o;1300:1081::-;1462:15;1479:21;1551:20;1574:43;1605:11;1574:30;:43::i;:::-;1551:66;;1648:16;-1:-1:-1;;;;;1632:32:39;:12;-1:-1:-1;;;;;1632:32:39;;1628:710;;;1680:24;1718:11;-1:-1:-1;;;;;1707:35:39;;:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1707:37:39;1876:70;;;-1:-1:-1;;;1876:70:39;;;;1707:37;;-1:-1:-1;;;;;;1876:68:39;;;;;:70;;;;;1707:37;;1876:70;;;;;;;;:68;:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1876:70:39;-1:-1:-1;;;;;1839:107:39;;;;;;1814:210;;;;-1:-1:-1;;;1814:210:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2090:158;;;;;;;;;2233:1;2090:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2090:158:39;-1:-1:-1;;;2090:158:39;;;2049:16;;-1:-1:-1;2090:158:39;-1:-1:-1;1628:710:39;;;2279:48;;-1:-1:-1;;;2279:48:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1628:710;2348:26;1300:1081;;;;;;:::o;2462:200:42:-;2598:13;2592:20;2462:200;:::o;2206:101::-;2252:19;2290:10;-1:-1:-1;;;;;2290:10:42;2206:101;:::o;6764:228:39:-;6871:21;6927:15;:13;:15::i;:::-;-1:-1:-1;;;;;6915:57:39;;6973:11;6915:70;;;;;;;;;;;;;-1:-1:-1;;;;;6915:70:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6915:70:39;;6764:228;-1:-1:-1;;6764:228:39:o;872:387:47:-;625:66:46;1061:23:47;;996:20;-1:-1:-1;;;;;971:60:47;;:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;971:62:47;:114;950:217;;;;-1:-1:-1;;;950:217:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1207:13;1200:43;1186:67::o", - "linkReferences": {}, - "immutableReferences": { - "5674": [ - { - "start": 950, - "length": 32 - }, - { - "start": 1918, - "length": 32 - }, - { - "start": 2343, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "formatDepositCall(address,address,uint256)": "7f180433", - "formatSingleAssetRedemptionCall(address,address,address,uint256,bool)": "2441593c", - "getDispatcher()": "ebb3d589", - "getGlobalConfigLib()": "9528ee16", - "init(address)": "19ab453c", - "isValidRedeemSharesCall(address,address,uint256,address,bytes4,bytes)": "5d4755dc", - "proxiableUUID()": "52d1902d", - "setGlobalConfigLib(address)": "43233f01" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_fundDeployerV4\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"nextGlobalConfigLib\",\"type\":\"address\"}],\"name\":\"GlobalConfigLibSet\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_depositAsset\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_depositAssetAmount\",\"type\":\"uint256\"}],\"name\":\"formatDepositCall\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"target_\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"payload_\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_recipient\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"_amountIsShares\",\"type\":\"bool\"}],\"name\":\"formatSingleAssetRedemptionCall\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"target_\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"payload_\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDispatcher\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"dispatcher_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getGlobalConfigLib\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"globalConfigLib_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_dispatcher\",\"type\":\"address\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_recipientToValidate\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_sharesAmountToValidate\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_redeemContract\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"_redeemSelector\",\"type\":\"bytes4\"},{\"internalType\":\"bytes\",\"name\":\"_redeemData\",\"type\":\"bytes\"}],\"name\":\"isValidRedeemSharesCall\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isValid_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"uuid_\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nextGlobalConfigLib\",\"type\":\"address\"}],\"name\":\"setGlobalConfigLib\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"Only supports releases v4 and higher\",\"kind\":\"dev\",\"methods\":{\"formatDepositCall(address,address,uint256)\":{\"details\":\"Caller must validate expected shares received if required\",\"params\":{\"_depositAsset\":\"The token to deposit for shares\",\"_depositAssetAmount\":\"The exact amount of _depositAsset to deposit\",\"_vaultProxy\":\"The VaultProxy (shares token)\"}},\"formatSingleAssetRedemptionCall(address,address,address,uint256,bool)\":{\"details\":\"Caller must validate expected shares received if required\",\"params\":{\"_amount\":\"The exact amount of either shares or _asset, determined by _amountIsShares\",\"_amountIsShares\":\"True if _amount is shares (to redeem), false if _asset (to receive)\",\"_asset\":\"The asset to receive\",\"_recipient\":\"The recipient of _asset\",\"_vaultProxy\":\"The VaultProxy (shares token)\"}},\"getDispatcher()\":{\"returns\":{\"dispatcher_\":\"The `dispatcher` variable value\"}},\"getGlobalConfigLib()\":{\"returns\":{\"globalConfigLib_\":\"The address of the GlobalConfigLib target\"}},\"init(address)\":{\"details\":\"Serves as a pseudo-constructor\",\"params\":{\"_dispatcher\":\"The Dispatcher contract\"}},\"isValidRedeemSharesCall(address,address,uint256,address,bytes4,bytes)\":{\"details\":\"Use NO_VALIDATION_ constants to skip optional validation of recipient and/or amount\",\"params\":{\"_recipientToValidate\":\"The intended recipient of the assets received from the redemption\",\"_redeemContract\":\"The contract to call\",\"_redeemData\":\"The encoded params to call\",\"_redeemSelector\":\"The selector to call\",\"_sharesAmountToValidate\":\"The intended amount of shares to redeem\",\"_vaultProxy\":\"The VaultProxy (shares token)\"},\"returns\":{\"isValid_\":\"True if valid\"}},\"proxiableUUID()\":{\"returns\":{\"uuid_\":\"The bytes32 hash representing the UUID\"}},\"setGlobalConfigLib(address)\":{\"details\":\"This function is absolutely critical. __updateCodeAddress() validates that the target is a valid Proxiable contract instance. Does not block _nextGlobalConfigLib from being the same as the current GlobalConfigLib\",\"params\":{\"_nextGlobalConfigLib\":\"The address to set as the GlobalConfigLib\"}}},\"title\":\"GlobalConfigLib Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"formatDepositCall(address,address,uint256)\":{\"notice\":\"Formats a deposit call, relative to a vault's current version\"},\"formatSingleAssetRedemptionCall(address,address,address,uint256,bool)\":{\"notice\":\"Formats a redemption call to receive a single asset, relative to a vault's current version\"},\"getDispatcher()\":{\"notice\":\"Gets the `dispatcher` variable\"},\"getGlobalConfigLib()\":{\"notice\":\"Gets the GlobalConfigLib target for the GlobalConfigProxy\"},\"init(address)\":{\"notice\":\"Initializes the GlobalConfigProxy with core configuration\"},\"isValidRedeemSharesCall(address,address,uint256,address,bytes4,bytes)\":{\"notice\":\"Validates whether a call to redeem shares is valid for the shares version\"},\"proxiableUUID()\":{\"notice\":\"Returns a unique bytes32 hash for GlobalConfigLib instances\"},\"setGlobalConfigLib(address)\":{\"notice\":\"Sets the GlobalConfigLib target for the GlobalConfigProxy\"}},\"notice\":\"The proxiable library contract for GlobalConfigProxy\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/global-config/GlobalConfigLib.sol\":\"GlobalConfigLib\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/global-config/GlobalConfigLib.sol\":{\"keccak256\":\"0xaaa6c20a146b29eef1a8d0e00c7ed50519d24009eed0a386630981b07afabccd\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9d027500f5d038b7ca8381bdb366858062f4a2857b6784a77f7edb7ff4ae291e\",\"dweb:/ipfs/QmWLKeKKJCDaN1Vf2o7M9AD3qiMcJt6SnP18Lt5yqfHaP6\"]},\"contracts/persistent/global-config/bases/GlobalConfigLibBase1.sol\":{\"keccak256\":\"0xb273a1e9da6b52e3eb95817f6717cf5cef86d94af88c72a69ce1271bb42b0d34\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://13344679dabc570dfd253a1a70be06ea92a1f0f112fb7591a84c0abf99e3ebdb\",\"dweb:/ipfs/QmVvS1313uTkGPengqW1SoUgwWFw8ck2UgesqaQnyzTnef\"]},\"contracts/persistent/global-config/bases/GlobalConfigLibBaseCore.sol\":{\"keccak256\":\"0xea8032f9c8e165a3fb972b728555f830106f4b78d1666a7f2d5eb6423be38027\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://03b5db53e8ec2863be8b0b07df91126e3f264a80e0fed9580cc98b09d6b66a4a\",\"dweb:/ipfs/QmY93xvmAJkLmSeywx4TCcXHsv8BWahk1mK9ECtdmx9B7u\"]},\"contracts/persistent/global-config/interfaces/IGlobalConfig1.sol\":{\"keccak256\":\"0x7b643513fd8e1a3aadc476536785a925fb7c032c21e385e69e562abff531a646\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://682cce7a4c7316ab7aa39361dff84646ba8c89ad26f2c706a4b2940f8ab27205\",\"dweb:/ipfs/QmTtyfPn3M8ErCs8zuhT4NrZiL4CAUyv37os37HebYuGA8\"]},\"contracts/persistent/global-config/interfaces/IGlobalConfig2.sol\":{\"keccak256\":\"0x98c55513d3903864848be0d1159ec7703f23b1119ca10da17c109417e06cc171\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c6a92d9afd1167d4f560d66ec98c3137f224db743fc3b6c412d5617be97168b9\",\"dweb:/ipfs/QmZbDacG1C1dsQ9tx3BgAH9nTp4zfWYF1YDRYVbcgcKob4\"]},\"contracts/persistent/global-config/interfaces/IGlobalConfigLibComptrollerV4.sol\":{\"keccak256\":\"0x3951dd8073cc4a4d6fa2782b8fe6df143dd1b8ff486954a5ca7791104fa24db7\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9e646edb981e9b4da62f6791f8f7073929dfd9fab6f69e73212028149913bfb7\",\"dweb:/ipfs/Qmcq2YXsP4xCQNYpnaPezxt1Ei4BBZkbu1pRy8hK2T1P2Q\"]},\"contracts/persistent/global-config/utils/GlobalConfigProxyConstants.sol\":{\"keccak256\":\"0xb11c84a6cb9c26eb96abc7d38c57adb374415834daba8122d92264f9e19b5eb3\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6ad1cc0ba02e40b990408389d73c13ec69ac0cecd5447bb1826b505bcf671925\",\"dweb:/ipfs/QmP96nzpGLvY7eBqK4ictUAtnNq822rJuwbezSqC2BDsev\"]},\"contracts/persistent/global-config/utils/ProxiableGlobalConfigLib.sol\":{\"keccak256\":\"0x41386d6e4b676c73f461c12bef0bb01267a44b28bf8d8591269589c9a763daeb\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://578fbe03f5e56b06fca2485fafadb2a87da8703b93145e17325b131e224acb34\",\"dweb:/ipfs/QmY6Y8ZhfBZhfVD6ATj5jyFRSQfw7woRA9robZfzh1ev1G\"]},\"contracts/persistent/vault/interfaces/IVaultCore.sol\":{\"keccak256\":\"0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd\",\"dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_fundDeployerV4", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "nextGlobalConfigLib", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "GlobalConfigLibSet", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_depositAsset", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_depositAssetAmount", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "formatDepositCall", - "outputs": [ - { - "internalType": "address", - "name": "target_", - "type": "address" - }, - { - "internalType": "bytes", - "name": "payload_", - "type": "bytes" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_recipient", - "type": "address" - }, - { - "internalType": "address", - "name": "_asset", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "_amountIsShares", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function", - "name": "formatSingleAssetRedemptionCall", - "outputs": [ - { - "internalType": "address", - "name": "target_", - "type": "address" - }, - { - "internalType": "bytes", - "name": "payload_", - "type": "bytes" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getDispatcher", - "outputs": [ - { - "internalType": "address", - "name": "dispatcher_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getGlobalConfigLib", - "outputs": [ - { - "internalType": "address", - "name": "globalConfigLib_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_dispatcher", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "init" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_recipientToValidate", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_sharesAmountToValidate", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_redeemContract", - "type": "address" - }, - { - "internalType": "bytes4", - "name": "_redeemSelector", - "type": "bytes4" - }, - { - "internalType": "bytes", - "name": "_redeemData", - "type": "bytes" - } - ], - "stateMutability": "view", - "type": "function", - "name": "isValidRedeemSharesCall", - "outputs": [ - { - "internalType": "bool", - "name": "isValid_", - "type": "bool" - } - ] - }, - { - "inputs": [], - "stateMutability": "pure", - "type": "function", - "name": "proxiableUUID", - "outputs": [ - { - "internalType": "bytes32", - "name": "uuid_", - "type": "bytes32" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_nextGlobalConfigLib", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setGlobalConfigLib" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "formatDepositCall(address,address,uint256)": { - "details": "Caller must validate expected shares received if required", - "params": { - "_depositAsset": "The token to deposit for shares", - "_depositAssetAmount": "The exact amount of _depositAsset to deposit", - "_vaultProxy": "The VaultProxy (shares token)" - } - }, - "formatSingleAssetRedemptionCall(address,address,address,uint256,bool)": { - "details": "Caller must validate expected shares received if required", - "params": { - "_amount": "The exact amount of either shares or _asset, determined by _amountIsShares", - "_amountIsShares": "True if _amount is shares (to redeem), false if _asset (to receive)", - "_asset": "The asset to receive", - "_recipient": "The recipient of _asset", - "_vaultProxy": "The VaultProxy (shares token)" - } - }, - "getDispatcher()": { - "returns": { - "dispatcher_": "The `dispatcher` variable value" - } - }, - "getGlobalConfigLib()": { - "returns": { - "globalConfigLib_": "The address of the GlobalConfigLib target" - } - }, - "init(address)": { - "details": "Serves as a pseudo-constructor", - "params": { - "_dispatcher": "The Dispatcher contract" - } - }, - "isValidRedeemSharesCall(address,address,uint256,address,bytes4,bytes)": { - "details": "Use NO_VALIDATION_ constants to skip optional validation of recipient and/or amount", - "params": { - "_recipientToValidate": "The intended recipient of the assets received from the redemption", - "_redeemContract": "The contract to call", - "_redeemData": "The encoded params to call", - "_redeemSelector": "The selector to call", - "_sharesAmountToValidate": "The intended amount of shares to redeem", - "_vaultProxy": "The VaultProxy (shares token)" - }, - "returns": { - "isValid_": "True if valid" - } - }, - "proxiableUUID()": { - "returns": { - "uuid_": "The bytes32 hash representing the UUID" - } - }, - "setGlobalConfigLib(address)": { - "details": "This function is absolutely critical. __updateCodeAddress() validates that the target is a valid Proxiable contract instance. Does not block _nextGlobalConfigLib from being the same as the current GlobalConfigLib", - "params": { - "_nextGlobalConfigLib": "The address to set as the GlobalConfigLib" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "formatDepositCall(address,address,uint256)": { - "notice": "Formats a deposit call, relative to a vault's current version" - }, - "formatSingleAssetRedemptionCall(address,address,address,uint256,bool)": { - "notice": "Formats a redemption call to receive a single asset, relative to a vault's current version" - }, - "getDispatcher()": { - "notice": "Gets the `dispatcher` variable" - }, - "getGlobalConfigLib()": { - "notice": "Gets the GlobalConfigLib target for the GlobalConfigProxy" - }, - "init(address)": { - "notice": "Initializes the GlobalConfigProxy with core configuration" - }, - "isValidRedeemSharesCall(address,address,uint256,address,bytes4,bytes)": { - "notice": "Validates whether a call to redeem shares is valid for the shares version" - }, - "proxiableUUID()": { - "notice": "Returns a unique bytes32 hash for GlobalConfigLib instances" - }, - "setGlobalConfigLib(address)": { - "notice": "Sets the GlobalConfigLib target for the GlobalConfigProxy" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/persistent/global-config/GlobalConfigLib.sol": "GlobalConfigLib" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/dispatcher/IDispatcher.sol": { - "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", - "urls": [ - "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", - "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/global-config/GlobalConfigLib.sol": { - "keccak256": "0xaaa6c20a146b29eef1a8d0e00c7ed50519d24009eed0a386630981b07afabccd", - "urls": [ - "bzz-raw://9d027500f5d038b7ca8381bdb366858062f4a2857b6784a77f7edb7ff4ae291e", - "dweb:/ipfs/QmWLKeKKJCDaN1Vf2o7M9AD3qiMcJt6SnP18Lt5yqfHaP6" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/global-config/bases/GlobalConfigLibBase1.sol": { - "keccak256": "0xb273a1e9da6b52e3eb95817f6717cf5cef86d94af88c72a69ce1271bb42b0d34", - "urls": [ - "bzz-raw://13344679dabc570dfd253a1a70be06ea92a1f0f112fb7591a84c0abf99e3ebdb", - "dweb:/ipfs/QmVvS1313uTkGPengqW1SoUgwWFw8ck2UgesqaQnyzTnef" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/global-config/bases/GlobalConfigLibBaseCore.sol": { - "keccak256": "0xea8032f9c8e165a3fb972b728555f830106f4b78d1666a7f2d5eb6423be38027", - "urls": [ - "bzz-raw://03b5db53e8ec2863be8b0b07df91126e3f264a80e0fed9580cc98b09d6b66a4a", - "dweb:/ipfs/QmY93xvmAJkLmSeywx4TCcXHsv8BWahk1mK9ECtdmx9B7u" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/global-config/interfaces/IGlobalConfig1.sol": { - "keccak256": "0x7b643513fd8e1a3aadc476536785a925fb7c032c21e385e69e562abff531a646", - "urls": [ - "bzz-raw://682cce7a4c7316ab7aa39361dff84646ba8c89ad26f2c706a4b2940f8ab27205", - "dweb:/ipfs/QmTtyfPn3M8ErCs8zuhT4NrZiL4CAUyv37os37HebYuGA8" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/global-config/interfaces/IGlobalConfig2.sol": { - "keccak256": "0x98c55513d3903864848be0d1159ec7703f23b1119ca10da17c109417e06cc171", - "urls": [ - "bzz-raw://c6a92d9afd1167d4f560d66ec98c3137f224db743fc3b6c412d5617be97168b9", - "dweb:/ipfs/QmZbDacG1C1dsQ9tx3BgAH9nTp4zfWYF1YDRYVbcgcKob4" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/global-config/interfaces/IGlobalConfigLibComptrollerV4.sol": { - "keccak256": "0x3951dd8073cc4a4d6fa2782b8fe6df143dd1b8ff486954a5ca7791104fa24db7", - "urls": [ - "bzz-raw://9e646edb981e9b4da62f6791f8f7073929dfd9fab6f69e73212028149913bfb7", - "dweb:/ipfs/Qmcq2YXsP4xCQNYpnaPezxt1Ei4BBZkbu1pRy8hK2T1P2Q" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/global-config/utils/GlobalConfigProxyConstants.sol": { - "keccak256": "0xb11c84a6cb9c26eb96abc7d38c57adb374415834daba8122d92264f9e19b5eb3", - "urls": [ - "bzz-raw://6ad1cc0ba02e40b990408389d73c13ec69ac0cecd5447bb1826b505bcf671925", - "dweb:/ipfs/QmP96nzpGLvY7eBqK4ictUAtnNq822rJuwbezSqC2BDsev" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/global-config/utils/ProxiableGlobalConfigLib.sol": { - "keccak256": "0x41386d6e4b676c73f461c12bef0bb01267a44b28bf8d8591269589c9a763daeb", - "urls": [ - "bzz-raw://578fbe03f5e56b06fca2485fafadb2a87da8703b93145e17325b131e224acb34", - "dweb:/ipfs/QmY6Y8ZhfBZhfVD6ATj5jyFRSQfw7woRA9robZfzh1ev1G" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IVaultCore.sol": { - "keccak256": "0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80", - "urls": [ - "bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd", - "dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 39 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_fundDeployerV4", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "formatDepositCall", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_depositAsset", "type": "address", "internalType": "address" }, { "name": "_depositAssetAmount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "target_", "type": "address", "internalType": "address" }, { "name": "payload_", "type": "bytes", "internalType": "bytes" } ], "stateMutability": "view" }, { "type": "function", "name": "formatSingleAssetRedemptionCall", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_recipient", "type": "address", "internalType": "address" }, { "name": "_asset", "type": "address", "internalType": "address" }, { "name": "_amount", "type": "uint256", "internalType": "uint256" }, { "name": "_amountIsShares", "type": "bool", "internalType": "bool" } ], "outputs": [ { "name": "target_", "type": "address", "internalType": "address" }, { "name": "payload_", "type": "bytes", "internalType": "bytes" } ], "stateMutability": "view" }, { "type": "function", "name": "getDispatcher", "inputs": [], "outputs": [ { "name": "dispatcher_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getGlobalConfigLib", "inputs": [], "outputs": [ { "name": "globalConfigLib_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "init", "inputs": [ { "name": "_dispatcher", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "isValidRedeemSharesCall", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_recipientToValidate", "type": "address", "internalType": "address" }, { "name": "_sharesAmountToValidate", "type": "uint256", "internalType": "uint256" }, { "name": "_redeemContract", "type": "address", "internalType": "address" }, { "name": "_redeemSelector", "type": "bytes4", "internalType": "bytes4" }, { "name": "_redeemData", "type": "bytes", "internalType": "bytes" } ], "outputs": [ { "name": "isValid_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "proxiableUUID", "inputs": [], "outputs": [ { "name": "uuid_", "type": "bytes32", "internalType": "bytes32" } ], "stateMutability": "pure" }, { "type": "function", "name": "setGlobalConfigLib", "inputs": [ { "name": "_nextGlobalConfigLib", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "event", "name": "GlobalConfigLibSet", "inputs": [ { "name": "nextGlobalConfigLib", "type": "address", "indexed": false, "internalType": "address" } ], "anonymous": false } ], "bytecode": { "object": "0x60a060405234801561001057600080fd5b50604051610e59380380610e598339818101604052602081101561003357600080fd5b5051606081901b6001600160601b0319166080526001600160a01b0316610de8610071600039806103b6528061077e52806109275250610de86000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c80635d4755dc1161005b5780635d4755dc146101c15780637f1804331461027a5780639528ee16146102b0578063ebb3d589146102d457610088565b806319ab453c1461008d5780632441593c146100b557806343233f011461018157806352d1902d146101a7575b600080fd5b6100b3600480360360208110156100a357600080fd5b50356001600160a01b03166102dc565b005b6100f9600480360360a08110156100cb57600080fd5b506001600160a01b0381358116916020810135821691604082013516906060810135906080013515156103a3565b60405180836001600160a01b0316815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561014557818101518382015260200161012d565b50505050905090810190601f1680156101725780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b6100b36004803603602081101561019757600080fd5b50356001600160a01b0316610650565b6101af61074a565b60408051918252519081900360200190f35b610266600480360360c08110156101d757600080fd5b6001600160a01b0382358116926020810135821692604082013592606083013516916001600160e01b03196080820135169181019060c0810160a082013564010000000081111561022757600080fd5b82018360208201111561023957600080fd5b8035906020019184600183028401116401000000008311171561025b57600080fd5b50909250905061076e565b604080519115158252519081900360200190f35b6100f96004803603606081101561029057600080fd5b506001600160a01b03813581169160208101359091169060400135610914565b6102b8610b0b565b604080516001600160a01b039092168252519081900360200190f35b6102b8610b30565b60006102e6610b30565b6001600160a01b031614610341576040805162461bcd60e51b815260206004820152601f60248201527f696e69743a2050726f787920616c726561647920696e697469616c697a656400604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b0383161790557fce6de52b779ce41beea76a6e7a997211f0006af21ed2e2924caa5bdc92dac318610385610b0b565b604080516001600160a01b039092168252519081900360200190a150565b6000606060006103b288610b3f565b90507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316816001600160a01b0316141561060e578361042a5760405162461bcd60e51b815260040180806020018281038252603d815260200180610ce5603d913960400191505060405180910390fd5b876001600160a01b0316635a53e3486040518163ffffffff1660e01b815260040160206040518083038186803b15801561046357600080fd5b505afa158015610477573d6000803e3d6000fd5b505050506040513d602081101561048d57600080fd5b5051604080516001808252818301909252919450606091906020808301908036833701905050905086816000815181106104c357fe5b6001600160a01b0392909216602092830291909101909101526040805160018082528183019092526060918160200160208202803683370190505090506127108160008151811061051057fe5b602002602001018181525050633462fcc160e01b8988848460405160240180856001600160a01b031681526020018481526020018060200180602001838103835285818151815260200191508051906020019060200280838360005b8381101561058457818101518382015260200161056c565b50505050905001838103825284818151815260200191508051906020019060200280838360005b838110156105c35781810151838201526020016105ab565b505050509050019650505050505050604051602081830303815290604052906001600160e01b0319166020820180516001600160e01b03838183161783525050505093505050610645565b60405162461bcd60e51b8152600401808060200182810382526034815260200180610cb16034913960400191505060405180910390fd5b509550959350505050565b610658610b30565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561069057600080fd5b505afa1580156106a4573d6000803e3d6000fd5b505050506040513d60208110156106ba57600080fd5b50516001600160a01b031633146107025760405162461bcd60e51b8152600401808060200182810382526030815260200180610d866030913960400191505060405180910390fd5b61070b81610bc7565b604080516001600160a01b038316815290517fce6de52b779ce41beea76a6e7a997211f0006af21ed2e2924caa5bdc92dac3189181900360200190a150565b7ff25d88d51901d7fabc9924b03f4c2fe4300e6fe1aae4b5134c0a90b68cd8e81c90565b60008061077a89610b3f565b90507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316816001600160a01b0316141561090357886001600160a01b0316635a53e3486040518163ffffffff1660e01b815260040160206040518083038186803b1580156107ef57600080fd5b505afa158015610803573d6000803e3d6000fd5b505050506040513d602081101561081957600080fd5b50516001600160a01b03878116911614610837576000915050610909565b6001600160e01b03198516633462fcc160e01b148061086657506001600160e01b03198516636af8e7eb60e01b145b610874576000915050610909565b6000808585604081101561088757600080fd5b506001600160a01b0381358116935060209091013591508a1661aaaa148015906108c35750816001600160a01b03168a6001600160a01b031614155b156108d45760009350505050610909565b60011989148015906108e65750808914155b156108f75760009350505050610909565b60019350505050610909565b60009150505b979650505050505050565b60006060600061092386610b3f565b90507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316816001600160a01b03161415610acb576000866001600160a01b0316635a53e3486040518163ffffffff1660e01b815260040160206040518083038186803b15801561099a57600080fd5b505afa1580156109ae573d6000803e3d6000fd5b505050506040513d60208110156109c457600080fd5b505160408051637134e1eb60e11b815290519192506001600160a01b0383169163e269c3d691600480820192602092909190829003018186803b158015610a0a57600080fd5b505afa158015610a1e573d6000803e3d6000fd5b505050506040513d6020811015610a3457600080fd5b50516001600160a01b03878116911614610a7f5760405162461bcd60e51b815260040180806020018281038252602c815260200180610d5a602c913960400191505060405180910390fd5b604080516024810187905260016044808301919091528251808303909101815260649091019091526020810180516001600160e01b0316635f75e2ed60e11b1790529093509150610b02565b60405162461bcd60e51b8152600401808060200182810382526026815260200180610db66026913960400191505060405180910390fd5b50935093915050565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6000546001600160a01b031690565b6000610b49610b30565b6001600160a01b0316633d7c74f8836040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610b9557600080fd5b505afa158015610ba9573d6000803e3d6000fd5b505050506040513d6020811015610bbf57600080fd5b505192915050565b7ff25d88d51901d7fabc9924b03f4c2fe4300e6fe1aae4b5134c0a90b68cd8e81c60001b816001600160a01b03166352d1902d6040518163ffffffff1660e01b815260040160206040518083038186803b158015610c2457600080fd5b505afa158015610c38573d6000803e3d6000fd5b505050506040513d6020811015610c4e57600080fd5b505114610c8c5760405162461bcd60e51b8152600401808060200182810382526038815260200180610d226038913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5556fe666f726d617453696e676c654173736574526564656d7074696f6e43616c6c3a20556e737570706f727465642072656c65617365666f726d617453696e676c654173736574526564656d7074696f6e43616c6c3a205f616d6f756e744973536861726573206d75737420626520747275655f5f757064617465436f6465416464726573733a205f6e657874476c6f62616c436f6e6669674c6962206e6f7420636f6d70617469626c65666f726d61744465706f73697443616c6c3a20556e737570706f72746564205f6465706f73697441737365744f6e6c79207468652044697370617463686572206f776e65722063616e2063616c6c20746869732066756e6374696f6e666f726d61744465706f73697443616c6c3a20556e737570706f727465642072656c65617365a164736f6c634300060c000a", "sourceMap": "666:6328:39:-:0;;;852:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;852:95:39;906:34;;;;-1:-1:-1;;;;;;906:34:39;;;-1:-1:-1;;;;;666:6328:39;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106100885760003560e01c80635d4755dc1161005b5780635d4755dc146101c15780637f1804331461027a5780639528ee16146102b0578063ebb3d589146102d457610088565b806319ab453c1461008d5780632441593c146100b557806343233f011461018157806352d1902d146101a7575b600080fd5b6100b3600480360360208110156100a357600080fd5b50356001600160a01b03166102dc565b005b6100f9600480360360a08110156100cb57600080fd5b506001600160a01b0381358116916020810135821691604082013516906060810135906080013515156103a3565b60405180836001600160a01b0316815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561014557818101518382015260200161012d565b50505050905090810190601f1680156101725780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b6100b36004803603602081101561019757600080fd5b50356001600160a01b0316610650565b6101af61074a565b60408051918252519081900360200190f35b610266600480360360c08110156101d757600080fd5b6001600160a01b0382358116926020810135821692604082013592606083013516916001600160e01b03196080820135169181019060c0810160a082013564010000000081111561022757600080fd5b82018360208201111561023957600080fd5b8035906020019184600183028401116401000000008311171561025b57600080fd5b50909250905061076e565b604080519115158252519081900360200190f35b6100f96004803603606081101561029057600080fd5b506001600160a01b03813581169160208101359091169060400135610914565b6102b8610b0b565b604080516001600160a01b039092168252519081900360200190f35b6102b8610b30565b60006102e6610b30565b6001600160a01b031614610341576040805162461bcd60e51b815260206004820152601f60248201527f696e69743a2050726f787920616c726561647920696e697469616c697a656400604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b0383161790557fce6de52b779ce41beea76a6e7a997211f0006af21ed2e2924caa5bdc92dac318610385610b0b565b604080516001600160a01b039092168252519081900360200190a150565b6000606060006103b288610b3f565b90507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316816001600160a01b0316141561060e578361042a5760405162461bcd60e51b815260040180806020018281038252603d815260200180610ce5603d913960400191505060405180910390fd5b876001600160a01b0316635a53e3486040518163ffffffff1660e01b815260040160206040518083038186803b15801561046357600080fd5b505afa158015610477573d6000803e3d6000fd5b505050506040513d602081101561048d57600080fd5b5051604080516001808252818301909252919450606091906020808301908036833701905050905086816000815181106104c357fe5b6001600160a01b0392909216602092830291909101909101526040805160018082528183019092526060918160200160208202803683370190505090506127108160008151811061051057fe5b602002602001018181525050633462fcc160e01b8988848460405160240180856001600160a01b031681526020018481526020018060200180602001838103835285818151815260200191508051906020019060200280838360005b8381101561058457818101518382015260200161056c565b50505050905001838103825284818151815260200191508051906020019060200280838360005b838110156105c35781810151838201526020016105ab565b505050509050019650505050505050604051602081830303815290604052906001600160e01b0319166020820180516001600160e01b03838183161783525050505093505050610645565b60405162461bcd60e51b8152600401808060200182810382526034815260200180610cb16034913960400191505060405180910390fd5b509550959350505050565b610658610b30565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561069057600080fd5b505afa1580156106a4573d6000803e3d6000fd5b505050506040513d60208110156106ba57600080fd5b50516001600160a01b031633146107025760405162461bcd60e51b8152600401808060200182810382526030815260200180610d866030913960400191505060405180910390fd5b61070b81610bc7565b604080516001600160a01b038316815290517fce6de52b779ce41beea76a6e7a997211f0006af21ed2e2924caa5bdc92dac3189181900360200190a150565b7ff25d88d51901d7fabc9924b03f4c2fe4300e6fe1aae4b5134c0a90b68cd8e81c90565b60008061077a89610b3f565b90507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316816001600160a01b0316141561090357886001600160a01b0316635a53e3486040518163ffffffff1660e01b815260040160206040518083038186803b1580156107ef57600080fd5b505afa158015610803573d6000803e3d6000fd5b505050506040513d602081101561081957600080fd5b50516001600160a01b03878116911614610837576000915050610909565b6001600160e01b03198516633462fcc160e01b148061086657506001600160e01b03198516636af8e7eb60e01b145b610874576000915050610909565b6000808585604081101561088757600080fd5b506001600160a01b0381358116935060209091013591508a1661aaaa148015906108c35750816001600160a01b03168a6001600160a01b031614155b156108d45760009350505050610909565b60011989148015906108e65750808914155b156108f75760009350505050610909565b60019350505050610909565b60009150505b979650505050505050565b60006060600061092386610b3f565b90507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316816001600160a01b03161415610acb576000866001600160a01b0316635a53e3486040518163ffffffff1660e01b815260040160206040518083038186803b15801561099a57600080fd5b505afa1580156109ae573d6000803e3d6000fd5b505050506040513d60208110156109c457600080fd5b505160408051637134e1eb60e11b815290519192506001600160a01b0383169163e269c3d691600480820192602092909190829003018186803b158015610a0a57600080fd5b505afa158015610a1e573d6000803e3d6000fd5b505050506040513d6020811015610a3457600080fd5b50516001600160a01b03878116911614610a7f5760405162461bcd60e51b815260040180806020018281038252602c815260200180610d5a602c913960400191505060405180910390fd5b604080516024810187905260016044808301919091528251808303909101815260649091019091526020810180516001600160e01b0316635f75e2ed60e11b1790529093509150610b02565b60405162461bcd60e51b8152600401808060200182810382526026815260200180610db66026913960400191505060405180910390fd5b50935093915050565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6000546001600160a01b031690565b6000610b49610b30565b6001600160a01b0316633d7c74f8836040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610b9557600080fd5b505afa158015610ba9573d6000803e3d6000fd5b505050506040513d6020811015610bbf57600080fd5b505192915050565b7ff25d88d51901d7fabc9924b03f4c2fe4300e6fe1aae4b5134c0a90b68cd8e81c60001b816001600160a01b03166352d1902d6040518163ffffffff1660e01b815260040160206040518083038186803b158015610c2457600080fd5b505afa158015610c38573d6000803e3d6000fd5b505050506040513d6020811015610c4e57600080fd5b505114610c8c5760405162461bcd60e51b8152600401808060200182810382526038815260200180610d226038913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5556fe666f726d617453696e676c654173736574526564656d7074696f6e43616c6c3a20556e737570706f727465642072656c65617365666f726d617453696e676c654173736574526564656d7074696f6e43616c6c3a205f616d6f756e744973536861726573206d75737420626520747275655f5f757064617465436f6465416464726573733a205f6e657874476c6f62616c436f6e6669674c6962206e6f7420636f6d70617469626c65666f726d61744465706f73697443616c6c3a20556e737570706f72746564205f6465706f73697441737365744f6e6c79207468652044697370617463686572206f776e65722063616e2063616c6c20746869732066756e6374696f6e666f726d61744465706f73697443616c6c3a20556e737570706f727465642072656c65617365a164736f6c634300060c000a", "sourceMap": "666:6328:39:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1194:225:42;;;;;;;;;;;;;;;;-1:-1:-1;1194:225:42;-1:-1:-1;;;;;1194:225:42;;:::i;:::-;;2912:1304:39;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;2912:1304:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;;;2912:1304:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1819:201:42;;;;;;;;;;;;;;;;-1:-1:-1;1819:201:42;-1:-1:-1;;;;;1819:201:42;;:::i;1402:108:47:-;;;:::i;:::-;;;;;;;;;;;;;;;;4845:1841:39;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4845:1841:39;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;4845:1841:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4845:1841:39;;-1:-1:-1;4845:1841:39;-1:-1:-1;4845:1841:39;:::i;:::-;;;;;;;;;;;;;;;;;;1300:1081;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1300:1081:39;;;;;;;;;;;;;;;;;:::i;2462:200:42:-;;;:::i;:::-;;;;-1:-1:-1;;;;;2462:200:42;;;;;;;;;;;;;;2206:101;;;:::i;1194:225::-;1283:1;1256:15;:13;:15::i;:::-;-1:-1:-1;;;;;1256:29:42;;1248:73;;;;;-1:-1:-1;;;1248:73:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;1332:10;:24;;-1:-1:-1;;;;;;1332:24:42;-1:-1:-1;;;;;1332:24:42;;;;;1372:40;1391:20;:18;:20::i;:::-;1372:40;;;-1:-1:-1;;;;;1372:40:42;;;;;;;;;;;;;;1194:225;:::o;2912:1304:39:-;3127:15;3144:21;3216:20;3239:43;3270:11;3239:30;:43::i;:::-;3216:66;;3313:16;-1:-1:-1;;;;;3297:32:39;:12;-1:-1:-1;;;;;3297:32:39;;3293:880;;;3435:15;3410:135;;;;-1:-1:-1;;;3410:135:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3581:11;-1:-1:-1;;;;;3570:35:39;;:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3570:37:39;3648:16;;;3662:1;3648:16;;;;;;;;;3570:37;;-1:-1:-1;3622:23:39;;3648:16;;;;;;;;;;;;-1:-1:-1;3648:16:39;3622:42;;3690:6;3678;3685:1;3678:9;;;;;;;;-1:-1:-1;;;;;3678:18:39;;;;:9;;;;;;;;;;;:18;3742:16;;;3756:1;3742:16;;;;;;;;;3711:28;;3742:16;;;;;;;;;;;;-1:-1:-1;3742:16:39;3711:47;;791:5;3772:11;3784:1;3772:14;;;;;;;;;;;;;:43;;;;;3881:68;;;3967:10;3995:7;4020:6;4044:11;3841:228;;;;;;-1:-1:-1;;;;;3841:228:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3841:228:39;;;;;;;-1:-1:-1;;;;;3841:228:39;;;;;;;;;;;3830:239;;3293:880;;;;;4100:62;;-1:-1:-1;;;4100:62:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3293:880;4183:26;2912:1304;;;;;;;;:::o;1819:201:42:-;899:15;:13;:15::i;:::-;-1:-1:-1;;;;;887:37:42;;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;887:39:42;-1:-1:-1;;;;;873:53:42;:10;:53;852:148;;;;-1:-1:-1;;;852:148:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1916:41:::1;1936:20;1916:19;:41::i;:::-;1973:40;::::0;;-1:-1:-1;;;;;1973:40:42;::::1;::::0;;;;::::1;::::0;;;;::::1;::::0;;::::1;1819:201:::0;:::o;1402:108:47:-;625:66:46;1402:108:47;:::o;4845:1841:39:-;5125:13;5189:20;5212:43;5243:11;5212:30;:43::i;:::-;5189:66;;5333:16;-1:-1:-1;;;;;5317:32:39;:12;-1:-1:-1;;;;;5317:32:39;;5313:1344;;;5432:11;-1:-1:-1;;;;;5421:35:39;;:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5421:37:39;-1:-1:-1;;;;;5402:56:39;;;;;;5398:107;;5485:5;5478:12;;;;;5398:107;-1:-1:-1;;;;;;5575:107:39;;-1:-1:-1;;;5575:107:39;;:207;;-1:-1:-1;;;;;;;5706:76:39;;-1:-1:-1;;;5706:76:39;5575:207;5552:291;;5823:5;5816:12;;;;;5552:291;5960:24;5986:27;6045:11;;6017:89;;;;;;;;;;-1:-1:-1;;;;;;6017:89:39;;;;;-1:-1:-1;6017:89:39;;;;;;-1:-1:-1;6187:51:39;;770:42:41;6187:51:39;;;;:111;;;6282:16;-1:-1:-1;;;;;6258:40:39;:20;-1:-1:-1;;;;;6258:40:39;;;6187:111;6166:192;;;6338:5;6331:12;;;;;;;6166:192;-1:-1:-1;;6442:53:39;;;;;:119;;;6542:19;6515:23;:46;;6442:119;6421:200;;;6601:5;6594:12;;;;;;;6421:200;6642:4;6635:11;;;;;;;5313:1344;6674:5;6667:12;;;4845:1841;;;;;;;;;;:::o;1300:1081::-;1462:15;1479:21;1551:20;1574:43;1605:11;1574:30;:43::i;:::-;1551:66;;1648:16;-1:-1:-1;;;;;1632:32:39;:12;-1:-1:-1;;;;;1632:32:39;;1628:710;;;1680:24;1718:11;-1:-1:-1;;;;;1707:35:39;;:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1707:37:39;1876:70;;;-1:-1:-1;;;1876:70:39;;;;1707:37;;-1:-1:-1;;;;;;1876:68:39;;;;;:70;;;;;1707:37;;1876:70;;;;;;;;:68;:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1876:70:39;-1:-1:-1;;;;;1839:107:39;;;;;;1814:210;;;;-1:-1:-1;;;1814:210:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2090:158;;;;;;;;;2233:1;2090:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2090:158:39;-1:-1:-1;;;2090:158:39;;;2049:16;;-1:-1:-1;2090:158:39;-1:-1:-1;1628:710:39;;;2279:48;;-1:-1:-1;;;2279:48:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1628:710;2348:26;1300:1081;;;;;;:::o;2462:200:42:-;2598:13;2592:20;2462:200;:::o;2206:101::-;2252:19;2290:10;-1:-1:-1;;;;;2290:10:42;2206:101;:::o;6764:228:39:-;6871:21;6927:15;:13;:15::i;:::-;-1:-1:-1;;;;;6915:57:39;;6973:11;6915:70;;;;;;;;;;;;;-1:-1:-1;;;;;6915:70:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6915:70:39;;6764:228;-1:-1:-1;;6764:228:39:o;872:387:47:-;625:66:46;1061:23:47;;996:20;-1:-1:-1;;;;;971:60:47;;:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;971:62:47;:114;950:217;;;;-1:-1:-1;;;950:217:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1207:13;1200:43;1186:67::o", "linkReferences": {}, "immutableReferences": { "5674": [ { "start": 950, "length": 32 }, { "start": 1918, "length": 32 }, { "start": 2343, "length": 32 } ] } }, "methodIdentifiers": { "formatDepositCall(address,address,uint256)": "7f180433", "formatSingleAssetRedemptionCall(address,address,address,uint256,bool)": "2441593c", "getDispatcher()": "ebb3d589", "getGlobalConfigLib()": "9528ee16", "init(address)": "19ab453c", "isValidRedeemSharesCall(address,address,uint256,address,bytes4,bytes)": "5d4755dc", "proxiableUUID()": "52d1902d", "setGlobalConfigLib(address)": "43233f01" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_fundDeployerV4\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"nextGlobalConfigLib\",\"type\":\"address\"}],\"name\":\"GlobalConfigLibSet\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_depositAsset\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_depositAssetAmount\",\"type\":\"uint256\"}],\"name\":\"formatDepositCall\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"target_\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"payload_\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_recipient\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"_amountIsShares\",\"type\":\"bool\"}],\"name\":\"formatSingleAssetRedemptionCall\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"target_\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"payload_\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDispatcher\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"dispatcher_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getGlobalConfigLib\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"globalConfigLib_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_dispatcher\",\"type\":\"address\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_recipientToValidate\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_sharesAmountToValidate\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_redeemContract\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"_redeemSelector\",\"type\":\"bytes4\"},{\"internalType\":\"bytes\",\"name\":\"_redeemData\",\"type\":\"bytes\"}],\"name\":\"isValidRedeemSharesCall\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isValid_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"uuid_\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nextGlobalConfigLib\",\"type\":\"address\"}],\"name\":\"setGlobalConfigLib\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"Only supports releases v4 and higher\",\"kind\":\"dev\",\"methods\":{\"formatDepositCall(address,address,uint256)\":{\"details\":\"Caller must validate expected shares received if required\",\"params\":{\"_depositAsset\":\"The token to deposit for shares\",\"_depositAssetAmount\":\"The exact amount of _depositAsset to deposit\",\"_vaultProxy\":\"The VaultProxy (shares token)\"}},\"formatSingleAssetRedemptionCall(address,address,address,uint256,bool)\":{\"details\":\"Caller must validate expected shares received if required\",\"params\":{\"_amount\":\"The exact amount of either shares or _asset, determined by _amountIsShares\",\"_amountIsShares\":\"True if _amount is shares (to redeem), false if _asset (to receive)\",\"_asset\":\"The asset to receive\",\"_recipient\":\"The recipient of _asset\",\"_vaultProxy\":\"The VaultProxy (shares token)\"}},\"getDispatcher()\":{\"returns\":{\"dispatcher_\":\"The `dispatcher` variable value\"}},\"getGlobalConfigLib()\":{\"returns\":{\"globalConfigLib_\":\"The address of the GlobalConfigLib target\"}},\"init(address)\":{\"details\":\"Serves as a pseudo-constructor\",\"params\":{\"_dispatcher\":\"The Dispatcher contract\"}},\"isValidRedeemSharesCall(address,address,uint256,address,bytes4,bytes)\":{\"details\":\"Use NO_VALIDATION_ constants to skip optional validation of recipient and/or amount\",\"params\":{\"_recipientToValidate\":\"The intended recipient of the assets received from the redemption\",\"_redeemContract\":\"The contract to call\",\"_redeemData\":\"The encoded params to call\",\"_redeemSelector\":\"The selector to call\",\"_sharesAmountToValidate\":\"The intended amount of shares to redeem\",\"_vaultProxy\":\"The VaultProxy (shares token)\"},\"returns\":{\"isValid_\":\"True if valid\"}},\"proxiableUUID()\":{\"returns\":{\"uuid_\":\"The bytes32 hash representing the UUID\"}},\"setGlobalConfigLib(address)\":{\"details\":\"This function is absolutely critical. __updateCodeAddress() validates that the target is a valid Proxiable contract instance. Does not block _nextGlobalConfigLib from being the same as the current GlobalConfigLib\",\"params\":{\"_nextGlobalConfigLib\":\"The address to set as the GlobalConfigLib\"}}},\"title\":\"GlobalConfigLib Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"formatDepositCall(address,address,uint256)\":{\"notice\":\"Formats a deposit call, relative to a vault's current version\"},\"formatSingleAssetRedemptionCall(address,address,address,uint256,bool)\":{\"notice\":\"Formats a redemption call to receive a single asset, relative to a vault's current version\"},\"getDispatcher()\":{\"notice\":\"Gets the `dispatcher` variable\"},\"getGlobalConfigLib()\":{\"notice\":\"Gets the GlobalConfigLib target for the GlobalConfigProxy\"},\"init(address)\":{\"notice\":\"Initializes the GlobalConfigProxy with core configuration\"},\"isValidRedeemSharesCall(address,address,uint256,address,bytes4,bytes)\":{\"notice\":\"Validates whether a call to redeem shares is valid for the shares version\"},\"proxiableUUID()\":{\"notice\":\"Returns a unique bytes32 hash for GlobalConfigLib instances\"},\"setGlobalConfigLib(address)\":{\"notice\":\"Sets the GlobalConfigLib target for the GlobalConfigProxy\"}},\"notice\":\"The proxiable library contract for GlobalConfigProxy\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/global-config/GlobalConfigLib.sol\":\"GlobalConfigLib\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/global-config/GlobalConfigLib.sol\":{\"keccak256\":\"0xaaa6c20a146b29eef1a8d0e00c7ed50519d24009eed0a386630981b07afabccd\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9d027500f5d038b7ca8381bdb366858062f4a2857b6784a77f7edb7ff4ae291e\",\"dweb:/ipfs/QmWLKeKKJCDaN1Vf2o7M9AD3qiMcJt6SnP18Lt5yqfHaP6\"]},\"contracts/persistent/global-config/bases/GlobalConfigLibBase1.sol\":{\"keccak256\":\"0xb273a1e9da6b52e3eb95817f6717cf5cef86d94af88c72a69ce1271bb42b0d34\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://13344679dabc570dfd253a1a70be06ea92a1f0f112fb7591a84c0abf99e3ebdb\",\"dweb:/ipfs/QmVvS1313uTkGPengqW1SoUgwWFw8ck2UgesqaQnyzTnef\"]},\"contracts/persistent/global-config/bases/GlobalConfigLibBaseCore.sol\":{\"keccak256\":\"0xea8032f9c8e165a3fb972b728555f830106f4b78d1666a7f2d5eb6423be38027\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://03b5db53e8ec2863be8b0b07df91126e3f264a80e0fed9580cc98b09d6b66a4a\",\"dweb:/ipfs/QmY93xvmAJkLmSeywx4TCcXHsv8BWahk1mK9ECtdmx9B7u\"]},\"contracts/persistent/global-config/interfaces/IGlobalConfig1.sol\":{\"keccak256\":\"0x7b643513fd8e1a3aadc476536785a925fb7c032c21e385e69e562abff531a646\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://682cce7a4c7316ab7aa39361dff84646ba8c89ad26f2c706a4b2940f8ab27205\",\"dweb:/ipfs/QmTtyfPn3M8ErCs8zuhT4NrZiL4CAUyv37os37HebYuGA8\"]},\"contracts/persistent/global-config/interfaces/IGlobalConfig2.sol\":{\"keccak256\":\"0x98c55513d3903864848be0d1159ec7703f23b1119ca10da17c109417e06cc171\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c6a92d9afd1167d4f560d66ec98c3137f224db743fc3b6c412d5617be97168b9\",\"dweb:/ipfs/QmZbDacG1C1dsQ9tx3BgAH9nTp4zfWYF1YDRYVbcgcKob4\"]},\"contracts/persistent/global-config/interfaces/IGlobalConfigLibComptrollerV4.sol\":{\"keccak256\":\"0x3951dd8073cc4a4d6fa2782b8fe6df143dd1b8ff486954a5ca7791104fa24db7\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9e646edb981e9b4da62f6791f8f7073929dfd9fab6f69e73212028149913bfb7\",\"dweb:/ipfs/Qmcq2YXsP4xCQNYpnaPezxt1Ei4BBZkbu1pRy8hK2T1P2Q\"]},\"contracts/persistent/global-config/utils/GlobalConfigProxyConstants.sol\":{\"keccak256\":\"0xb11c84a6cb9c26eb96abc7d38c57adb374415834daba8122d92264f9e19b5eb3\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6ad1cc0ba02e40b990408389d73c13ec69ac0cecd5447bb1826b505bcf671925\",\"dweb:/ipfs/QmP96nzpGLvY7eBqK4ictUAtnNq822rJuwbezSqC2BDsev\"]},\"contracts/persistent/global-config/utils/ProxiableGlobalConfigLib.sol\":{\"keccak256\":\"0x41386d6e4b676c73f461c12bef0bb01267a44b28bf8d8591269589c9a763daeb\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://578fbe03f5e56b06fca2485fafadb2a87da8703b93145e17325b131e224acb34\",\"dweb:/ipfs/QmY6Y8ZhfBZhfVD6ATj5jyFRSQfw7woRA9robZfzh1ev1G\"]},\"contracts/persistent/vault/interfaces/IVaultCore.sol\":{\"keccak256\":\"0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd\",\"dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_fundDeployerV4", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "nextGlobalConfigLib", "type": "address", "indexed": false } ], "type": "event", "name": "GlobalConfigLibSet", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "address", "name": "_depositAsset", "type": "address" }, { "internalType": "uint256", "name": "_depositAssetAmount", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "formatDepositCall", "outputs": [ { "internalType": "address", "name": "target_", "type": "address" }, { "internalType": "bytes", "name": "payload_", "type": "bytes" } ] }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "address", "name": "_recipient", "type": "address" }, { "internalType": "address", "name": "_asset", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" }, { "internalType": "bool", "name": "_amountIsShares", "type": "bool" } ], "stateMutability": "view", "type": "function", "name": "formatSingleAssetRedemptionCall", "outputs": [ { "internalType": "address", "name": "target_", "type": "address" }, { "internalType": "bytes", "name": "payload_", "type": "bytes" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getDispatcher", "outputs": [ { "internalType": "address", "name": "dispatcher_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getGlobalConfigLib", "outputs": [ { "internalType": "address", "name": "globalConfigLib_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_dispatcher", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "init" }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "address", "name": "_recipientToValidate", "type": "address" }, { "internalType": "uint256", "name": "_sharesAmountToValidate", "type": "uint256" }, { "internalType": "address", "name": "_redeemContract", "type": "address" }, { "internalType": "bytes4", "name": "_redeemSelector", "type": "bytes4" }, { "internalType": "bytes", "name": "_redeemData", "type": "bytes" } ], "stateMutability": "view", "type": "function", "name": "isValidRedeemSharesCall", "outputs": [ { "internalType": "bool", "name": "isValid_", "type": "bool" } ] }, { "inputs": [], "stateMutability": "pure", "type": "function", "name": "proxiableUUID", "outputs": [ { "internalType": "bytes32", "name": "uuid_", "type": "bytes32" } ] }, { "inputs": [ { "internalType": "address", "name": "_nextGlobalConfigLib", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "setGlobalConfigLib" } ], "devdoc": { "kind": "dev", "methods": { "formatDepositCall(address,address,uint256)": { "details": "Caller must validate expected shares received if required", "params": { "_depositAsset": "The token to deposit for shares", "_depositAssetAmount": "The exact amount of _depositAsset to deposit", "_vaultProxy": "The VaultProxy (shares token)" } }, "formatSingleAssetRedemptionCall(address,address,address,uint256,bool)": { "details": "Caller must validate expected shares received if required", "params": { "_amount": "The exact amount of either shares or _asset, determined by _amountIsShares", "_amountIsShares": "True if _amount is shares (to redeem), false if _asset (to receive)", "_asset": "The asset to receive", "_recipient": "The recipient of _asset", "_vaultProxy": "The VaultProxy (shares token)" } }, "getDispatcher()": { "returns": { "dispatcher_": "The `dispatcher` variable value" } }, "getGlobalConfigLib()": { "returns": { "globalConfigLib_": "The address of the GlobalConfigLib target" } }, "init(address)": { "details": "Serves as a pseudo-constructor", "params": { "_dispatcher": "The Dispatcher contract" } }, "isValidRedeemSharesCall(address,address,uint256,address,bytes4,bytes)": { "details": "Use NO_VALIDATION_ constants to skip optional validation of recipient and/or amount", "params": { "_recipientToValidate": "The intended recipient of the assets received from the redemption", "_redeemContract": "The contract to call", "_redeemData": "The encoded params to call", "_redeemSelector": "The selector to call", "_sharesAmountToValidate": "The intended amount of shares to redeem", "_vaultProxy": "The VaultProxy (shares token)" }, "returns": { "isValid_": "True if valid" } }, "proxiableUUID()": { "returns": { "uuid_": "The bytes32 hash representing the UUID" } }, "setGlobalConfigLib(address)": { "details": "This function is absolutely critical. __updateCodeAddress() validates that the target is a valid Proxiable contract instance. Does not block _nextGlobalConfigLib from being the same as the current GlobalConfigLib", "params": { "_nextGlobalConfigLib": "The address to set as the GlobalConfigLib" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "formatDepositCall(address,address,uint256)": { "notice": "Formats a deposit call, relative to a vault's current version" }, "formatSingleAssetRedemptionCall(address,address,address,uint256,bool)": { "notice": "Formats a redemption call to receive a single asset, relative to a vault's current version" }, "getDispatcher()": { "notice": "Gets the `dispatcher` variable" }, "getGlobalConfigLib()": { "notice": "Gets the GlobalConfigLib target for the GlobalConfigProxy" }, "init(address)": { "notice": "Initializes the GlobalConfigProxy with core configuration" }, "isValidRedeemSharesCall(address,address,uint256,address,bytes4,bytes)": { "notice": "Validates whether a call to redeem shares is valid for the shares version" }, "proxiableUUID()": { "notice": "Returns a unique bytes32 hash for GlobalConfigLib instances" }, "setGlobalConfigLib(address)": { "notice": "Sets the GlobalConfigLib target for the GlobalConfigProxy" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/persistent/global-config/GlobalConfigLib.sol": "GlobalConfigLib" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/dispatcher/IDispatcher.sol": { "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", "urls": [ "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" ], "license": "GPL-3.0" }, "contracts/persistent/global-config/GlobalConfigLib.sol": { "keccak256": "0xaaa6c20a146b29eef1a8d0e00c7ed50519d24009eed0a386630981b07afabccd", "urls": [ "bzz-raw://9d027500f5d038b7ca8381bdb366858062f4a2857b6784a77f7edb7ff4ae291e", "dweb:/ipfs/QmWLKeKKJCDaN1Vf2o7M9AD3qiMcJt6SnP18Lt5yqfHaP6" ], "license": "GPL-3.0" }, "contracts/persistent/global-config/bases/GlobalConfigLibBase1.sol": { "keccak256": "0xb273a1e9da6b52e3eb95817f6717cf5cef86d94af88c72a69ce1271bb42b0d34", "urls": [ "bzz-raw://13344679dabc570dfd253a1a70be06ea92a1f0f112fb7591a84c0abf99e3ebdb", "dweb:/ipfs/QmVvS1313uTkGPengqW1SoUgwWFw8ck2UgesqaQnyzTnef" ], "license": "GPL-3.0" }, "contracts/persistent/global-config/bases/GlobalConfigLibBaseCore.sol": { "keccak256": "0xea8032f9c8e165a3fb972b728555f830106f4b78d1666a7f2d5eb6423be38027", "urls": [ "bzz-raw://03b5db53e8ec2863be8b0b07df91126e3f264a80e0fed9580cc98b09d6b66a4a", "dweb:/ipfs/QmY93xvmAJkLmSeywx4TCcXHsv8BWahk1mK9ECtdmx9B7u" ], "license": "GPL-3.0" }, "contracts/persistent/global-config/interfaces/IGlobalConfig1.sol": { "keccak256": "0x7b643513fd8e1a3aadc476536785a925fb7c032c21e385e69e562abff531a646", "urls": [ "bzz-raw://682cce7a4c7316ab7aa39361dff84646ba8c89ad26f2c706a4b2940f8ab27205", "dweb:/ipfs/QmTtyfPn3M8ErCs8zuhT4NrZiL4CAUyv37os37HebYuGA8" ], "license": "GPL-3.0" }, "contracts/persistent/global-config/interfaces/IGlobalConfig2.sol": { "keccak256": "0x98c55513d3903864848be0d1159ec7703f23b1119ca10da17c109417e06cc171", "urls": [ "bzz-raw://c6a92d9afd1167d4f560d66ec98c3137f224db743fc3b6c412d5617be97168b9", "dweb:/ipfs/QmZbDacG1C1dsQ9tx3BgAH9nTp4zfWYF1YDRYVbcgcKob4" ], "license": "GPL-3.0" }, "contracts/persistent/global-config/interfaces/IGlobalConfigLibComptrollerV4.sol": { "keccak256": "0x3951dd8073cc4a4d6fa2782b8fe6df143dd1b8ff486954a5ca7791104fa24db7", "urls": [ "bzz-raw://9e646edb981e9b4da62f6791f8f7073929dfd9fab6f69e73212028149913bfb7", "dweb:/ipfs/Qmcq2YXsP4xCQNYpnaPezxt1Ei4BBZkbu1pRy8hK2T1P2Q" ], "license": "GPL-3.0" }, "contracts/persistent/global-config/utils/GlobalConfigProxyConstants.sol": { "keccak256": "0xb11c84a6cb9c26eb96abc7d38c57adb374415834daba8122d92264f9e19b5eb3", "urls": [ "bzz-raw://6ad1cc0ba02e40b990408389d73c13ec69ac0cecd5447bb1826b505bcf671925", "dweb:/ipfs/QmP96nzpGLvY7eBqK4ictUAtnNq822rJuwbezSqC2BDsev" ], "license": "GPL-3.0" }, "contracts/persistent/global-config/utils/ProxiableGlobalConfigLib.sol": { "keccak256": "0x41386d6e4b676c73f461c12bef0bb01267a44b28bf8d8591269589c9a763daeb", "urls": [ "bzz-raw://578fbe03f5e56b06fca2485fafadb2a87da8703b93145e17325b131e224acb34", "dweb:/ipfs/QmY6Y8ZhfBZhfVD6ATj5jyFRSQfw7woRA9robZfzh1ev1G" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IVaultCore.sol": { "keccak256": "0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80", "urls": [ "bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd", "dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 39 } diff --git a/eth_defi/abi/enzyme/GlobalConfigLibBase1.json b/eth_defi/abi/enzyme/GlobalConfigLibBase1.json index 2478cc0d..155ba4a6 100644 --- a/eth_defi/abi/enzyme/GlobalConfigLibBase1.json +++ b/eth_defi/abi/enzyme/GlobalConfigLibBase1.json @@ -1,316 +1 @@ -{ - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "nextGlobalConfigLib", - "type": "address" - } - ], - "name": "GlobalConfigLibSet", - "type": "event" - }, - { - "inputs": [], - "name": "getDispatcher", - "outputs": [ - { - "internalType": "address", - "name": "dispatcher_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getGlobalConfigLib", - "outputs": [ - { - "internalType": "address", - "name": "globalConfigLib_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_dispatcher", - "type": "address" - } - ], - "name": "init", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "proxiableUUID", - "outputs": [ - { - "internalType": "bytes32", - "name": "uuid_", - "type": "bytes32" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_nextGlobalConfigLib", - "type": "address" - } - ], - "name": "setGlobalConfigLib", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "getDispatcher()": "ebb3d589", - "getGlobalConfigLib()": "9528ee16", - "init(address)": "19ab453c", - "proxiableUUID()": "52d1902d", - "setGlobalConfigLib(address)": "43233f01" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"nextGlobalConfigLib\",\"type\":\"address\"}],\"name\":\"GlobalConfigLibSet\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"getDispatcher\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"dispatcher_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getGlobalConfigLib\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"globalConfigLib_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_dispatcher\",\"type\":\"address\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"uuid_\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nextGlobalConfigLib\",\"type\":\"address\"}],\"name\":\"setGlobalConfigLib\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"Each next base implementation inherits the previous base implementation, e.g., `GlobalConfigLibBase2 is GlobalConfigLibBase1` DO NOT EDIT CONTRACT.\",\"kind\":\"dev\",\"methods\":{\"getDispatcher()\":{\"returns\":{\"dispatcher_\":\"The `dispatcher` variable value\"}},\"getGlobalConfigLib()\":{\"returns\":{\"globalConfigLib_\":\"The address of the GlobalConfigLib target\"}},\"init(address)\":{\"details\":\"Serves as a pseudo-constructor\",\"params\":{\"_dispatcher\":\"The Dispatcher contract\"}},\"proxiableUUID()\":{\"returns\":{\"uuid_\":\"The bytes32 hash representing the UUID\"}},\"setGlobalConfigLib(address)\":{\"details\":\"This function is absolutely critical. __updateCodeAddress() validates that the target is a valid Proxiable contract instance. Does not block _nextGlobalConfigLib from being the same as the current GlobalConfigLib\",\"params\":{\"_nextGlobalConfigLib\":\"The address to set as the GlobalConfigLib\"}}},\"title\":\"GlobalConfigLibBase1 Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getDispatcher()\":{\"notice\":\"Gets the `dispatcher` variable\"},\"getGlobalConfigLib()\":{\"notice\":\"Gets the GlobalConfigLib target for the GlobalConfigProxy\"},\"init(address)\":{\"notice\":\"Initializes the GlobalConfigProxy with core configuration\"},\"proxiableUUID()\":{\"notice\":\"Returns a unique bytes32 hash for GlobalConfigLib instances\"},\"setGlobalConfigLib(address)\":{\"notice\":\"Sets the GlobalConfigLib target for the GlobalConfigProxy\"}},\"notice\":\"A base implementation for GlobalConfigLib\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/global-config/bases/GlobalConfigLibBase1.sol\":\"GlobalConfigLibBase1\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/global-config/bases/GlobalConfigLibBase1.sol\":{\"keccak256\":\"0xb273a1e9da6b52e3eb95817f6717cf5cef86d94af88c72a69ce1271bb42b0d34\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://13344679dabc570dfd253a1a70be06ea92a1f0f112fb7591a84c0abf99e3ebdb\",\"dweb:/ipfs/QmVvS1313uTkGPengqW1SoUgwWFw8ck2UgesqaQnyzTnef\"]},\"contracts/persistent/global-config/bases/GlobalConfigLibBaseCore.sol\":{\"keccak256\":\"0xea8032f9c8e165a3fb972b728555f830106f4b78d1666a7f2d5eb6423be38027\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://03b5db53e8ec2863be8b0b07df91126e3f264a80e0fed9580cc98b09d6b66a4a\",\"dweb:/ipfs/QmY93xvmAJkLmSeywx4TCcXHsv8BWahk1mK9ECtdmx9B7u\"]},\"contracts/persistent/global-config/utils/GlobalConfigProxyConstants.sol\":{\"keccak256\":\"0xb11c84a6cb9c26eb96abc7d38c57adb374415834daba8122d92264f9e19b5eb3\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6ad1cc0ba02e40b990408389d73c13ec69ac0cecd5447bb1826b505bcf671925\",\"dweb:/ipfs/QmP96nzpGLvY7eBqK4ictUAtnNq822rJuwbezSqC2BDsev\"]},\"contracts/persistent/global-config/utils/ProxiableGlobalConfigLib.sol\":{\"keccak256\":\"0x41386d6e4b676c73f461c12bef0bb01267a44b28bf8d8591269589c9a763daeb\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://578fbe03f5e56b06fca2485fafadb2a87da8703b93145e17325b131e224acb34\",\"dweb:/ipfs/QmY6Y8ZhfBZhfVD6ATj5jyFRSQfw7woRA9robZfzh1ev1G\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "nextGlobalConfigLib", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "GlobalConfigLibSet", - "anonymous": false - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getDispatcher", - "outputs": [ - { - "internalType": "address", - "name": "dispatcher_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getGlobalConfigLib", - "outputs": [ - { - "internalType": "address", - "name": "globalConfigLib_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_dispatcher", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "init" - }, - { - "inputs": [], - "stateMutability": "pure", - "type": "function", - "name": "proxiableUUID", - "outputs": [ - { - "internalType": "bytes32", - "name": "uuid_", - "type": "bytes32" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_nextGlobalConfigLib", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setGlobalConfigLib" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "getDispatcher()": { - "returns": { - "dispatcher_": "The `dispatcher` variable value" - } - }, - "getGlobalConfigLib()": { - "returns": { - "globalConfigLib_": "The address of the GlobalConfigLib target" - } - }, - "init(address)": { - "details": "Serves as a pseudo-constructor", - "params": { - "_dispatcher": "The Dispatcher contract" - } - }, - "proxiableUUID()": { - "returns": { - "uuid_": "The bytes32 hash representing the UUID" - } - }, - "setGlobalConfigLib(address)": { - "details": "This function is absolutely critical. __updateCodeAddress() validates that the target is a valid Proxiable contract instance. Does not block _nextGlobalConfigLib from being the same as the current GlobalConfigLib", - "params": { - "_nextGlobalConfigLib": "The address to set as the GlobalConfigLib" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "getDispatcher()": { - "notice": "Gets the `dispatcher` variable" - }, - "getGlobalConfigLib()": { - "notice": "Gets the GlobalConfigLib target for the GlobalConfigProxy" - }, - "init(address)": { - "notice": "Initializes the GlobalConfigProxy with core configuration" - }, - "proxiableUUID()": { - "notice": "Returns a unique bytes32 hash for GlobalConfigLib instances" - }, - "setGlobalConfigLib(address)": { - "notice": "Sets the GlobalConfigLib target for the GlobalConfigProxy" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/persistent/global-config/bases/GlobalConfigLibBase1.sol": "GlobalConfigLibBase1" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/dispatcher/IDispatcher.sol": { - "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", - "urls": [ - "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", - "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/global-config/bases/GlobalConfigLibBase1.sol": { - "keccak256": "0xb273a1e9da6b52e3eb95817f6717cf5cef86d94af88c72a69ce1271bb42b0d34", - "urls": [ - "bzz-raw://13344679dabc570dfd253a1a70be06ea92a1f0f112fb7591a84c0abf99e3ebdb", - "dweb:/ipfs/QmVvS1313uTkGPengqW1SoUgwWFw8ck2UgesqaQnyzTnef" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/global-config/bases/GlobalConfigLibBaseCore.sol": { - "keccak256": "0xea8032f9c8e165a3fb972b728555f830106f4b78d1666a7f2d5eb6423be38027", - "urls": [ - "bzz-raw://03b5db53e8ec2863be8b0b07df91126e3f264a80e0fed9580cc98b09d6b66a4a", - "dweb:/ipfs/QmY93xvmAJkLmSeywx4TCcXHsv8BWahk1mK9ECtdmx9B7u" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/global-config/utils/GlobalConfigProxyConstants.sol": { - "keccak256": "0xb11c84a6cb9c26eb96abc7d38c57adb374415834daba8122d92264f9e19b5eb3", - "urls": [ - "bzz-raw://6ad1cc0ba02e40b990408389d73c13ec69ac0cecd5447bb1826b505bcf671925", - "dweb:/ipfs/QmP96nzpGLvY7eBqK4ictUAtnNq822rJuwbezSqC2BDsev" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/global-config/utils/ProxiableGlobalConfigLib.sol": { - "keccak256": "0x41386d6e4b676c73f461c12bef0bb01267a44b28bf8d8591269589c9a763daeb", - "urls": [ - "bzz-raw://578fbe03f5e56b06fca2485fafadb2a87da8703b93145e17325b131e224acb34", - "dweb:/ipfs/QmY6Y8ZhfBZhfVD6ATj5jyFRSQfw7woRA9robZfzh1ev1G" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 41 -} +{ "abi": [ { "type": "function", "name": "getDispatcher", "inputs": [], "outputs": [ { "name": "dispatcher_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getGlobalConfigLib", "inputs": [], "outputs": [ { "name": "globalConfigLib_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "init", "inputs": [ { "name": "_dispatcher", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "proxiableUUID", "inputs": [], "outputs": [ { "name": "uuid_", "type": "bytes32", "internalType": "bytes32" } ], "stateMutability": "pure" }, { "type": "function", "name": "setGlobalConfigLib", "inputs": [ { "name": "_nextGlobalConfigLib", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "event", "name": "GlobalConfigLibSet", "inputs": [ { "name": "nextGlobalConfigLib", "type": "address", "indexed": false, "internalType": "address" } ], "anonymous": false } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "getDispatcher()": "ebb3d589", "getGlobalConfigLib()": "9528ee16", "init(address)": "19ab453c", "proxiableUUID()": "52d1902d", "setGlobalConfigLib(address)": "43233f01" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"nextGlobalConfigLib\",\"type\":\"address\"}],\"name\":\"GlobalConfigLibSet\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"getDispatcher\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"dispatcher_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getGlobalConfigLib\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"globalConfigLib_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_dispatcher\",\"type\":\"address\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"uuid_\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nextGlobalConfigLib\",\"type\":\"address\"}],\"name\":\"setGlobalConfigLib\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"Each next base implementation inherits the previous base implementation, e.g., `GlobalConfigLibBase2 is GlobalConfigLibBase1` DO NOT EDIT CONTRACT.\",\"kind\":\"dev\",\"methods\":{\"getDispatcher()\":{\"returns\":{\"dispatcher_\":\"The `dispatcher` variable value\"}},\"getGlobalConfigLib()\":{\"returns\":{\"globalConfigLib_\":\"The address of the GlobalConfigLib target\"}},\"init(address)\":{\"details\":\"Serves as a pseudo-constructor\",\"params\":{\"_dispatcher\":\"The Dispatcher contract\"}},\"proxiableUUID()\":{\"returns\":{\"uuid_\":\"The bytes32 hash representing the UUID\"}},\"setGlobalConfigLib(address)\":{\"details\":\"This function is absolutely critical. __updateCodeAddress() validates that the target is a valid Proxiable contract instance. Does not block _nextGlobalConfigLib from being the same as the current GlobalConfigLib\",\"params\":{\"_nextGlobalConfigLib\":\"The address to set as the GlobalConfigLib\"}}},\"title\":\"GlobalConfigLibBase1 Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getDispatcher()\":{\"notice\":\"Gets the `dispatcher` variable\"},\"getGlobalConfigLib()\":{\"notice\":\"Gets the GlobalConfigLib target for the GlobalConfigProxy\"},\"init(address)\":{\"notice\":\"Initializes the GlobalConfigProxy with core configuration\"},\"proxiableUUID()\":{\"notice\":\"Returns a unique bytes32 hash for GlobalConfigLib instances\"},\"setGlobalConfigLib(address)\":{\"notice\":\"Sets the GlobalConfigLib target for the GlobalConfigProxy\"}},\"notice\":\"A base implementation for GlobalConfigLib\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/global-config/bases/GlobalConfigLibBase1.sol\":\"GlobalConfigLibBase1\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/global-config/bases/GlobalConfigLibBase1.sol\":{\"keccak256\":\"0xb273a1e9da6b52e3eb95817f6717cf5cef86d94af88c72a69ce1271bb42b0d34\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://13344679dabc570dfd253a1a70be06ea92a1f0f112fb7591a84c0abf99e3ebdb\",\"dweb:/ipfs/QmVvS1313uTkGPengqW1SoUgwWFw8ck2UgesqaQnyzTnef\"]},\"contracts/persistent/global-config/bases/GlobalConfigLibBaseCore.sol\":{\"keccak256\":\"0xea8032f9c8e165a3fb972b728555f830106f4b78d1666a7f2d5eb6423be38027\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://03b5db53e8ec2863be8b0b07df91126e3f264a80e0fed9580cc98b09d6b66a4a\",\"dweb:/ipfs/QmY93xvmAJkLmSeywx4TCcXHsv8BWahk1mK9ECtdmx9B7u\"]},\"contracts/persistent/global-config/utils/GlobalConfigProxyConstants.sol\":{\"keccak256\":\"0xb11c84a6cb9c26eb96abc7d38c57adb374415834daba8122d92264f9e19b5eb3\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6ad1cc0ba02e40b990408389d73c13ec69ac0cecd5447bb1826b505bcf671925\",\"dweb:/ipfs/QmP96nzpGLvY7eBqK4ictUAtnNq822rJuwbezSqC2BDsev\"]},\"contracts/persistent/global-config/utils/ProxiableGlobalConfigLib.sol\":{\"keccak256\":\"0x41386d6e4b676c73f461c12bef0bb01267a44b28bf8d8591269589c9a763daeb\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://578fbe03f5e56b06fca2485fafadb2a87da8703b93145e17325b131e224acb34\",\"dweb:/ipfs/QmY6Y8ZhfBZhfVD6ATj5jyFRSQfw7woRA9robZfzh1ev1G\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "nextGlobalConfigLib", "type": "address", "indexed": false } ], "type": "event", "name": "GlobalConfigLibSet", "anonymous": false }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getDispatcher", "outputs": [ { "internalType": "address", "name": "dispatcher_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getGlobalConfigLib", "outputs": [ { "internalType": "address", "name": "globalConfigLib_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_dispatcher", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "init" }, { "inputs": [], "stateMutability": "pure", "type": "function", "name": "proxiableUUID", "outputs": [ { "internalType": "bytes32", "name": "uuid_", "type": "bytes32" } ] }, { "inputs": [ { "internalType": "address", "name": "_nextGlobalConfigLib", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "setGlobalConfigLib" } ], "devdoc": { "kind": "dev", "methods": { "getDispatcher()": { "returns": { "dispatcher_": "The `dispatcher` variable value" } }, "getGlobalConfigLib()": { "returns": { "globalConfigLib_": "The address of the GlobalConfigLib target" } }, "init(address)": { "details": "Serves as a pseudo-constructor", "params": { "_dispatcher": "The Dispatcher contract" } }, "proxiableUUID()": { "returns": { "uuid_": "The bytes32 hash representing the UUID" } }, "setGlobalConfigLib(address)": { "details": "This function is absolutely critical. __updateCodeAddress() validates that the target is a valid Proxiable contract instance. Does not block _nextGlobalConfigLib from being the same as the current GlobalConfigLib", "params": { "_nextGlobalConfigLib": "The address to set as the GlobalConfigLib" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "getDispatcher()": { "notice": "Gets the `dispatcher` variable" }, "getGlobalConfigLib()": { "notice": "Gets the GlobalConfigLib target for the GlobalConfigProxy" }, "init(address)": { "notice": "Initializes the GlobalConfigProxy with core configuration" }, "proxiableUUID()": { "notice": "Returns a unique bytes32 hash for GlobalConfigLib instances" }, "setGlobalConfigLib(address)": { "notice": "Sets the GlobalConfigLib target for the GlobalConfigProxy" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/persistent/global-config/bases/GlobalConfigLibBase1.sol": "GlobalConfigLibBase1" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/dispatcher/IDispatcher.sol": { "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", "urls": [ "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" ], "license": "GPL-3.0" }, "contracts/persistent/global-config/bases/GlobalConfigLibBase1.sol": { "keccak256": "0xb273a1e9da6b52e3eb95817f6717cf5cef86d94af88c72a69ce1271bb42b0d34", "urls": [ "bzz-raw://13344679dabc570dfd253a1a70be06ea92a1f0f112fb7591a84c0abf99e3ebdb", "dweb:/ipfs/QmVvS1313uTkGPengqW1SoUgwWFw8ck2UgesqaQnyzTnef" ], "license": "GPL-3.0" }, "contracts/persistent/global-config/bases/GlobalConfigLibBaseCore.sol": { "keccak256": "0xea8032f9c8e165a3fb972b728555f830106f4b78d1666a7f2d5eb6423be38027", "urls": [ "bzz-raw://03b5db53e8ec2863be8b0b07df91126e3f264a80e0fed9580cc98b09d6b66a4a", "dweb:/ipfs/QmY93xvmAJkLmSeywx4TCcXHsv8BWahk1mK9ECtdmx9B7u" ], "license": "GPL-3.0" }, "contracts/persistent/global-config/utils/GlobalConfigProxyConstants.sol": { "keccak256": "0xb11c84a6cb9c26eb96abc7d38c57adb374415834daba8122d92264f9e19b5eb3", "urls": [ "bzz-raw://6ad1cc0ba02e40b990408389d73c13ec69ac0cecd5447bb1826b505bcf671925", "dweb:/ipfs/QmP96nzpGLvY7eBqK4ictUAtnNq822rJuwbezSqC2BDsev" ], "license": "GPL-3.0" }, "contracts/persistent/global-config/utils/ProxiableGlobalConfigLib.sol": { "keccak256": "0x41386d6e4b676c73f461c12bef0bb01267a44b28bf8d8591269589c9a763daeb", "urls": [ "bzz-raw://578fbe03f5e56b06fca2485fafadb2a87da8703b93145e17325b131e224acb34", "dweb:/ipfs/QmY6Y8ZhfBZhfVD6ATj5jyFRSQfw7woRA9robZfzh1ev1G" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 41 } diff --git a/eth_defi/abi/enzyme/GlobalConfigLibBaseCore.json b/eth_defi/abi/enzyme/GlobalConfigLibBaseCore.json index e0d5d291..6135530a 100644 --- a/eth_defi/abi/enzyme/GlobalConfigLibBaseCore.json +++ b/eth_defi/abi/enzyme/GlobalConfigLibBaseCore.json @@ -1,308 +1 @@ -{ - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "nextGlobalConfigLib", - "type": "address" - } - ], - "name": "GlobalConfigLibSet", - "type": "event" - }, - { - "inputs": [], - "name": "getDispatcher", - "outputs": [ - { - "internalType": "address", - "name": "dispatcher_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getGlobalConfigLib", - "outputs": [ - { - "internalType": "address", - "name": "globalConfigLib_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_dispatcher", - "type": "address" - } - ], - "name": "init", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "proxiableUUID", - "outputs": [ - { - "internalType": "bytes32", - "name": "uuid_", - "type": "bytes32" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_nextGlobalConfigLib", - "type": "address" - } - ], - "name": "setGlobalConfigLib", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "getDispatcher()": "ebb3d589", - "getGlobalConfigLib()": "9528ee16", - "init(address)": "19ab453c", - "proxiableUUID()": "52d1902d", - "setGlobalConfigLib(address)": "43233f01" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"nextGlobalConfigLib\",\"type\":\"address\"}],\"name\":\"GlobalConfigLibSet\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"getDispatcher\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"dispatcher_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getGlobalConfigLib\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"globalConfigLib_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_dispatcher\",\"type\":\"address\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"uuid_\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nextGlobalConfigLib\",\"type\":\"address\"}],\"name\":\"setGlobalConfigLib\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"To be inherited by the first GlobalConfigLibBase implementation only. DO NOT EDIT CONTRACT.\",\"kind\":\"dev\",\"methods\":{\"getDispatcher()\":{\"returns\":{\"dispatcher_\":\"The `dispatcher` variable value\"}},\"getGlobalConfigLib()\":{\"returns\":{\"globalConfigLib_\":\"The address of the GlobalConfigLib target\"}},\"init(address)\":{\"details\":\"Serves as a pseudo-constructor\",\"params\":{\"_dispatcher\":\"The Dispatcher contract\"}},\"proxiableUUID()\":{\"returns\":{\"uuid_\":\"The bytes32 hash representing the UUID\"}},\"setGlobalConfigLib(address)\":{\"details\":\"This function is absolutely critical. __updateCodeAddress() validates that the target is a valid Proxiable contract instance. Does not block _nextGlobalConfigLib from being the same as the current GlobalConfigLib\",\"params\":{\"_nextGlobalConfigLib\":\"The address to set as the GlobalConfigLib\"}}},\"title\":\"GlobalConfigLibBaseCore Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getDispatcher()\":{\"notice\":\"Gets the `dispatcher` variable\"},\"getGlobalConfigLib()\":{\"notice\":\"Gets the GlobalConfigLib target for the GlobalConfigProxy\"},\"init(address)\":{\"notice\":\"Initializes the GlobalConfigProxy with core configuration\"},\"proxiableUUID()\":{\"notice\":\"Returns a unique bytes32 hash for GlobalConfigLib instances\"},\"setGlobalConfigLib(address)\":{\"notice\":\"Sets the GlobalConfigLib target for the GlobalConfigProxy\"}},\"notice\":\"The core implementation of GlobalConfigLib\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/global-config/bases/GlobalConfigLibBaseCore.sol\":\"GlobalConfigLibBaseCore\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/global-config/bases/GlobalConfigLibBaseCore.sol\":{\"keccak256\":\"0xea8032f9c8e165a3fb972b728555f830106f4b78d1666a7f2d5eb6423be38027\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://03b5db53e8ec2863be8b0b07df91126e3f264a80e0fed9580cc98b09d6b66a4a\",\"dweb:/ipfs/QmY93xvmAJkLmSeywx4TCcXHsv8BWahk1mK9ECtdmx9B7u\"]},\"contracts/persistent/global-config/utils/GlobalConfigProxyConstants.sol\":{\"keccak256\":\"0xb11c84a6cb9c26eb96abc7d38c57adb374415834daba8122d92264f9e19b5eb3\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6ad1cc0ba02e40b990408389d73c13ec69ac0cecd5447bb1826b505bcf671925\",\"dweb:/ipfs/QmP96nzpGLvY7eBqK4ictUAtnNq822rJuwbezSqC2BDsev\"]},\"contracts/persistent/global-config/utils/ProxiableGlobalConfigLib.sol\":{\"keccak256\":\"0x41386d6e4b676c73f461c12bef0bb01267a44b28bf8d8591269589c9a763daeb\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://578fbe03f5e56b06fca2485fafadb2a87da8703b93145e17325b131e224acb34\",\"dweb:/ipfs/QmY6Y8ZhfBZhfVD6ATj5jyFRSQfw7woRA9robZfzh1ev1G\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "nextGlobalConfigLib", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "GlobalConfigLibSet", - "anonymous": false - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getDispatcher", - "outputs": [ - { - "internalType": "address", - "name": "dispatcher_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getGlobalConfigLib", - "outputs": [ - { - "internalType": "address", - "name": "globalConfigLib_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_dispatcher", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "init" - }, - { - "inputs": [], - "stateMutability": "pure", - "type": "function", - "name": "proxiableUUID", - "outputs": [ - { - "internalType": "bytes32", - "name": "uuid_", - "type": "bytes32" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_nextGlobalConfigLib", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setGlobalConfigLib" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "getDispatcher()": { - "returns": { - "dispatcher_": "The `dispatcher` variable value" - } - }, - "getGlobalConfigLib()": { - "returns": { - "globalConfigLib_": "The address of the GlobalConfigLib target" - } - }, - "init(address)": { - "details": "Serves as a pseudo-constructor", - "params": { - "_dispatcher": "The Dispatcher contract" - } - }, - "proxiableUUID()": { - "returns": { - "uuid_": "The bytes32 hash representing the UUID" - } - }, - "setGlobalConfigLib(address)": { - "details": "This function is absolutely critical. __updateCodeAddress() validates that the target is a valid Proxiable contract instance. Does not block _nextGlobalConfigLib from being the same as the current GlobalConfigLib", - "params": { - "_nextGlobalConfigLib": "The address to set as the GlobalConfigLib" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "getDispatcher()": { - "notice": "Gets the `dispatcher` variable" - }, - "getGlobalConfigLib()": { - "notice": "Gets the GlobalConfigLib target for the GlobalConfigProxy" - }, - "init(address)": { - "notice": "Initializes the GlobalConfigProxy with core configuration" - }, - "proxiableUUID()": { - "notice": "Returns a unique bytes32 hash for GlobalConfigLib instances" - }, - "setGlobalConfigLib(address)": { - "notice": "Sets the GlobalConfigLib target for the GlobalConfigProxy" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/persistent/global-config/bases/GlobalConfigLibBaseCore.sol": "GlobalConfigLibBaseCore" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/dispatcher/IDispatcher.sol": { - "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", - "urls": [ - "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", - "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/global-config/bases/GlobalConfigLibBaseCore.sol": { - "keccak256": "0xea8032f9c8e165a3fb972b728555f830106f4b78d1666a7f2d5eb6423be38027", - "urls": [ - "bzz-raw://03b5db53e8ec2863be8b0b07df91126e3f264a80e0fed9580cc98b09d6b66a4a", - "dweb:/ipfs/QmY93xvmAJkLmSeywx4TCcXHsv8BWahk1mK9ECtdmx9B7u" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/global-config/utils/GlobalConfigProxyConstants.sol": { - "keccak256": "0xb11c84a6cb9c26eb96abc7d38c57adb374415834daba8122d92264f9e19b5eb3", - "urls": [ - "bzz-raw://6ad1cc0ba02e40b990408389d73c13ec69ac0cecd5447bb1826b505bcf671925", - "dweb:/ipfs/QmP96nzpGLvY7eBqK4ictUAtnNq822rJuwbezSqC2BDsev" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/global-config/utils/ProxiableGlobalConfigLib.sol": { - "keccak256": "0x41386d6e4b676c73f461c12bef0bb01267a44b28bf8d8591269589c9a763daeb", - "urls": [ - "bzz-raw://578fbe03f5e56b06fca2485fafadb2a87da8703b93145e17325b131e224acb34", - "dweb:/ipfs/QmY6Y8ZhfBZhfVD6ATj5jyFRSQfw7woRA9robZfzh1ev1G" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 42 -} +{ "abi": [ { "type": "function", "name": "getDispatcher", "inputs": [], "outputs": [ { "name": "dispatcher_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getGlobalConfigLib", "inputs": [], "outputs": [ { "name": "globalConfigLib_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "init", "inputs": [ { "name": "_dispatcher", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "proxiableUUID", "inputs": [], "outputs": [ { "name": "uuid_", "type": "bytes32", "internalType": "bytes32" } ], "stateMutability": "pure" }, { "type": "function", "name": "setGlobalConfigLib", "inputs": [ { "name": "_nextGlobalConfigLib", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "event", "name": "GlobalConfigLibSet", "inputs": [ { "name": "nextGlobalConfigLib", "type": "address", "indexed": false, "internalType": "address" } ], "anonymous": false } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "getDispatcher()": "ebb3d589", "getGlobalConfigLib()": "9528ee16", "init(address)": "19ab453c", "proxiableUUID()": "52d1902d", "setGlobalConfigLib(address)": "43233f01" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"nextGlobalConfigLib\",\"type\":\"address\"}],\"name\":\"GlobalConfigLibSet\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"getDispatcher\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"dispatcher_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getGlobalConfigLib\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"globalConfigLib_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_dispatcher\",\"type\":\"address\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"uuid_\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nextGlobalConfigLib\",\"type\":\"address\"}],\"name\":\"setGlobalConfigLib\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"To be inherited by the first GlobalConfigLibBase implementation only. DO NOT EDIT CONTRACT.\",\"kind\":\"dev\",\"methods\":{\"getDispatcher()\":{\"returns\":{\"dispatcher_\":\"The `dispatcher` variable value\"}},\"getGlobalConfigLib()\":{\"returns\":{\"globalConfigLib_\":\"The address of the GlobalConfigLib target\"}},\"init(address)\":{\"details\":\"Serves as a pseudo-constructor\",\"params\":{\"_dispatcher\":\"The Dispatcher contract\"}},\"proxiableUUID()\":{\"returns\":{\"uuid_\":\"The bytes32 hash representing the UUID\"}},\"setGlobalConfigLib(address)\":{\"details\":\"This function is absolutely critical. __updateCodeAddress() validates that the target is a valid Proxiable contract instance. Does not block _nextGlobalConfigLib from being the same as the current GlobalConfigLib\",\"params\":{\"_nextGlobalConfigLib\":\"The address to set as the GlobalConfigLib\"}}},\"title\":\"GlobalConfigLibBaseCore Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getDispatcher()\":{\"notice\":\"Gets the `dispatcher` variable\"},\"getGlobalConfigLib()\":{\"notice\":\"Gets the GlobalConfigLib target for the GlobalConfigProxy\"},\"init(address)\":{\"notice\":\"Initializes the GlobalConfigProxy with core configuration\"},\"proxiableUUID()\":{\"notice\":\"Returns a unique bytes32 hash for GlobalConfigLib instances\"},\"setGlobalConfigLib(address)\":{\"notice\":\"Sets the GlobalConfigLib target for the GlobalConfigProxy\"}},\"notice\":\"The core implementation of GlobalConfigLib\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/global-config/bases/GlobalConfigLibBaseCore.sol\":\"GlobalConfigLibBaseCore\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/global-config/bases/GlobalConfigLibBaseCore.sol\":{\"keccak256\":\"0xea8032f9c8e165a3fb972b728555f830106f4b78d1666a7f2d5eb6423be38027\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://03b5db53e8ec2863be8b0b07df91126e3f264a80e0fed9580cc98b09d6b66a4a\",\"dweb:/ipfs/QmY93xvmAJkLmSeywx4TCcXHsv8BWahk1mK9ECtdmx9B7u\"]},\"contracts/persistent/global-config/utils/GlobalConfigProxyConstants.sol\":{\"keccak256\":\"0xb11c84a6cb9c26eb96abc7d38c57adb374415834daba8122d92264f9e19b5eb3\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6ad1cc0ba02e40b990408389d73c13ec69ac0cecd5447bb1826b505bcf671925\",\"dweb:/ipfs/QmP96nzpGLvY7eBqK4ictUAtnNq822rJuwbezSqC2BDsev\"]},\"contracts/persistent/global-config/utils/ProxiableGlobalConfigLib.sol\":{\"keccak256\":\"0x41386d6e4b676c73f461c12bef0bb01267a44b28bf8d8591269589c9a763daeb\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://578fbe03f5e56b06fca2485fafadb2a87da8703b93145e17325b131e224acb34\",\"dweb:/ipfs/QmY6Y8ZhfBZhfVD6ATj5jyFRSQfw7woRA9robZfzh1ev1G\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "nextGlobalConfigLib", "type": "address", "indexed": false } ], "type": "event", "name": "GlobalConfigLibSet", "anonymous": false }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getDispatcher", "outputs": [ { "internalType": "address", "name": "dispatcher_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getGlobalConfigLib", "outputs": [ { "internalType": "address", "name": "globalConfigLib_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_dispatcher", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "init" }, { "inputs": [], "stateMutability": "pure", "type": "function", "name": "proxiableUUID", "outputs": [ { "internalType": "bytes32", "name": "uuid_", "type": "bytes32" } ] }, { "inputs": [ { "internalType": "address", "name": "_nextGlobalConfigLib", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "setGlobalConfigLib" } ], "devdoc": { "kind": "dev", "methods": { "getDispatcher()": { "returns": { "dispatcher_": "The `dispatcher` variable value" } }, "getGlobalConfigLib()": { "returns": { "globalConfigLib_": "The address of the GlobalConfigLib target" } }, "init(address)": { "details": "Serves as a pseudo-constructor", "params": { "_dispatcher": "The Dispatcher contract" } }, "proxiableUUID()": { "returns": { "uuid_": "The bytes32 hash representing the UUID" } }, "setGlobalConfigLib(address)": { "details": "This function is absolutely critical. __updateCodeAddress() validates that the target is a valid Proxiable contract instance. Does not block _nextGlobalConfigLib from being the same as the current GlobalConfigLib", "params": { "_nextGlobalConfigLib": "The address to set as the GlobalConfigLib" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "getDispatcher()": { "notice": "Gets the `dispatcher` variable" }, "getGlobalConfigLib()": { "notice": "Gets the GlobalConfigLib target for the GlobalConfigProxy" }, "init(address)": { "notice": "Initializes the GlobalConfigProxy with core configuration" }, "proxiableUUID()": { "notice": "Returns a unique bytes32 hash for GlobalConfigLib instances" }, "setGlobalConfigLib(address)": { "notice": "Sets the GlobalConfigLib target for the GlobalConfigProxy" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/persistent/global-config/bases/GlobalConfigLibBaseCore.sol": "GlobalConfigLibBaseCore" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/dispatcher/IDispatcher.sol": { "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", "urls": [ "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" ], "license": "GPL-3.0" }, "contracts/persistent/global-config/bases/GlobalConfigLibBaseCore.sol": { "keccak256": "0xea8032f9c8e165a3fb972b728555f830106f4b78d1666a7f2d5eb6423be38027", "urls": [ "bzz-raw://03b5db53e8ec2863be8b0b07df91126e3f264a80e0fed9580cc98b09d6b66a4a", "dweb:/ipfs/QmY93xvmAJkLmSeywx4TCcXHsv8BWahk1mK9ECtdmx9B7u" ], "license": "GPL-3.0" }, "contracts/persistent/global-config/utils/GlobalConfigProxyConstants.sol": { "keccak256": "0xb11c84a6cb9c26eb96abc7d38c57adb374415834daba8122d92264f9e19b5eb3", "urls": [ "bzz-raw://6ad1cc0ba02e40b990408389d73c13ec69ac0cecd5447bb1826b505bcf671925", "dweb:/ipfs/QmP96nzpGLvY7eBqK4ictUAtnNq822rJuwbezSqC2BDsev" ], "license": "GPL-3.0" }, "contracts/persistent/global-config/utils/ProxiableGlobalConfigLib.sol": { "keccak256": "0x41386d6e4b676c73f461c12bef0bb01267a44b28bf8d8591269589c9a763daeb", "urls": [ "bzz-raw://578fbe03f5e56b06fca2485fafadb2a87da8703b93145e17325b131e224acb34", "dweb:/ipfs/QmY6Y8ZhfBZhfVD6ATj5jyFRSQfw7woRA9robZfzh1ev1G" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 42 } diff --git a/eth_defi/abi/enzyme/GlobalConfigProxy.json b/eth_defi/abi/enzyme/GlobalConfigProxy.json index f2551c1f..42a69785 100644 --- a/eth_defi/abi/enzyme/GlobalConfigProxy.json +++ b/eth_defi/abi/enzyme/GlobalConfigProxy.json @@ -1,137 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "bytes", - "name": "_constructData", - "type": "bytes" - }, - { - "internalType": "address", - "name": "_globalConfigLib", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "stateMutability": "payable", - "type": "fallback" - } - ], - "bytecode": { - "object": "0x608060405234801561001057600080fd5b506040516103a23803806103a28339818101604052604081101561003357600080fd5b810190808051604051939291908464010000000082111561005357600080fd5b90830190602082018581111561006857600080fd5b825164010000000081118282018810171561008257600080fd5b82525081516020918201929091019080838360005b838110156100af578181015183820152602001610097565b50505050905090810190601f1680156100dc5780820380516001836020036101000a031916815260200191505b506040526020015191506100ed9050565b7ff25d88d51901d7fabc9924b03f4c2fe4300e6fe1aae4b5134c0a90b68cd8e81c60001b816001600160a01b03166352d1902d6040518163ffffffff1660e01b815260040160206040518083038186803b15801561014a57600080fd5b505afa15801561015e573d6000803e3d6000fd5b505050506040513d602081101561017457600080fd5b5051146101b25760405162461bcd60e51b815260040180806020018281038252602c815260200180610376602c913960400191505060405180910390fd5b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5560006060826001600160a01b0316846040518082805190602001908083835b602083106102135780518252601f1990920191602091820191016101f4565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610273576040519150601f19603f3d011682016040523d82523d6000602084013e610278565b606091505b50915091508181906103085760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156102cd5781810151838201526020016102b5565b50505050905090810190601f1680156102fa5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5050505050605b8061031b6000396000f3fe60806040527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc543660008037600080366000846127105a03f43d806000803e818015604957816000f35b816000fdfea164736f6c634300060c000a636f6e7374727563746f723a205f676c6f62616c436f6e6669674c6962206e6f7420636f6d70617469626c65", - "sourceMap": "827:1571:40:-:0;;;890:874;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;890:874:40;;;;;;;;;;-1:-1:-1;890:874:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;890:874:40;;;;;;-1:-1:-1;1004:169:40;;-1:-1:-1;1004:169:40;;625:66:46;1438:23:40;;1401:16;-1:-1:-1;;;;;1376:56:40;;:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1376:58:40;:85;1355:176;;;;-1:-1:-1;;;1355:176:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1587:16;1572:13;1565:39;1625:12;1639:23;1666:16;-1:-1:-1;;;;;1666:29:40;1696:14;1666:45;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1666:45:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1624:87;;;;1729:7;1745:10;1721:36;;;;;-1:-1:-1;;;1721:36:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;890:874;;;;827:1571;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x60806040527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc543660008037600080366000846127105a03f43d806000803e818015604957816000f35b816000fdfea164736f6c634300060c000a", - "sourceMap": "827:1571:40:-:0;;;1858:13;1852:20;1908:14;1903:3;1898;1885:38;2119:1;2100;2068:14;2047:3;2016:13;1992:5;1985;1981:17;1951:183;2160:16;2210:5;2207:1;2204;2189:27;2236:7;2256:55;;;;2360:5;2357:1;2350:16;2256:55;2291:5;2288:1;2281:16", - "linkReferences": {} - }, - "methodIdentifiers": {}, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_constructData\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"_globalConfigLib\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"stateMutability\":\"payable\",\"type\":\"fallback\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"Adapted from the recommended implementation of a Proxy in EIP-1822, updated for solc 0.6.12, and using the EIP-1967 storage slot for the proxiable implementation. See: https://eips.ethereum.org/EIPS/eip-1822 See: https://eips.ethereum.org/EIPS/eip-1967\",\"kind\":\"dev\",\"methods\":{},\"title\":\"GlobalConfigProxy Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"A proxy contract for global configuration, slightly modified from EIP-1822\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/global-config/GlobalConfigProxy.sol\":\"GlobalConfigProxy\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/global-config/GlobalConfigProxy.sol\":{\"keccak256\":\"0x3052fa1ff25ea69793b6ffd4b95b2ccf4e051f82becc6efcdb72b509caf054b5\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9181d094c6e3489482fdd91c42035a3df896ef15b2de94a77042e113bfb23ffc\",\"dweb:/ipfs/QmNpPt73hixEXYs68QyVkyFjYzbtyQ9fEMTS5oDgMKiJC8\"]},\"contracts/persistent/global-config/utils/GlobalConfigProxyConstants.sol\":{\"keccak256\":\"0xb11c84a6cb9c26eb96abc7d38c57adb374415834daba8122d92264f9e19b5eb3\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6ad1cc0ba02e40b990408389d73c13ec69ac0cecd5447bb1826b505bcf671925\",\"dweb:/ipfs/QmP96nzpGLvY7eBqK4ictUAtnNq822rJuwbezSqC2BDsev\"]},\"contracts/persistent/global-config/utils/ProxiableGlobalConfigLib.sol\":{\"keccak256\":\"0x41386d6e4b676c73f461c12bef0bb01267a44b28bf8d8591269589c9a763daeb\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://578fbe03f5e56b06fca2485fafadb2a87da8703b93145e17325b131e224acb34\",\"dweb:/ipfs/QmY6Y8ZhfBZhfVD6ATj5jyFRSQfw7woRA9robZfzh1ev1G\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "bytes", - "name": "_constructData", - "type": "bytes" - }, - { - "internalType": "address", - "name": "_globalConfigLib", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "stateMutability": "payable", - "type": "fallback" - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/persistent/global-config/GlobalConfigProxy.sol": "GlobalConfigProxy" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/global-config/GlobalConfigProxy.sol": { - "keccak256": "0x3052fa1ff25ea69793b6ffd4b95b2ccf4e051f82becc6efcdb72b509caf054b5", - "urls": [ - "bzz-raw://9181d094c6e3489482fdd91c42035a3df896ef15b2de94a77042e113bfb23ffc", - "dweb:/ipfs/QmNpPt73hixEXYs68QyVkyFjYzbtyQ9fEMTS5oDgMKiJC8" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/global-config/utils/GlobalConfigProxyConstants.sol": { - "keccak256": "0xb11c84a6cb9c26eb96abc7d38c57adb374415834daba8122d92264f9e19b5eb3", - "urls": [ - "bzz-raw://6ad1cc0ba02e40b990408389d73c13ec69ac0cecd5447bb1826b505bcf671925", - "dweb:/ipfs/QmP96nzpGLvY7eBqK4ictUAtnNq822rJuwbezSqC2BDsev" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/global-config/utils/ProxiableGlobalConfigLib.sol": { - "keccak256": "0x41386d6e4b676c73f461c12bef0bb01267a44b28bf8d8591269589c9a763daeb", - "urls": [ - "bzz-raw://578fbe03f5e56b06fca2485fafadb2a87da8703b93145e17325b131e224acb34", - "dweb:/ipfs/QmY6Y8ZhfBZhfVD6ATj5jyFRSQfw7woRA9robZfzh1ev1G" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 40 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_constructData", "type": "bytes", "internalType": "bytes" }, { "name": "_globalConfigLib", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "fallback", "stateMutability": "payable" } ], "bytecode": { "object": "0x608060405234801561001057600080fd5b506040516103a23803806103a28339818101604052604081101561003357600080fd5b810190808051604051939291908464010000000082111561005357600080fd5b90830190602082018581111561006857600080fd5b825164010000000081118282018810171561008257600080fd5b82525081516020918201929091019080838360005b838110156100af578181015183820152602001610097565b50505050905090810190601f1680156100dc5780820380516001836020036101000a031916815260200191505b506040526020015191506100ed9050565b7ff25d88d51901d7fabc9924b03f4c2fe4300e6fe1aae4b5134c0a90b68cd8e81c60001b816001600160a01b03166352d1902d6040518163ffffffff1660e01b815260040160206040518083038186803b15801561014a57600080fd5b505afa15801561015e573d6000803e3d6000fd5b505050506040513d602081101561017457600080fd5b5051146101b25760405162461bcd60e51b815260040180806020018281038252602c815260200180610376602c913960400191505060405180910390fd5b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5560006060826001600160a01b0316846040518082805190602001908083835b602083106102135780518252601f1990920191602091820191016101f4565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610273576040519150601f19603f3d011682016040523d82523d6000602084013e610278565b606091505b50915091508181906103085760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156102cd5781810151838201526020016102b5565b50505050905090810190601f1680156102fa5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5050505050605b8061031b6000396000f3fe60806040527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc543660008037600080366000846127105a03f43d806000803e818015604957816000f35b816000fdfea164736f6c634300060c000a636f6e7374727563746f723a205f676c6f62616c436f6e6669674c6962206e6f7420636f6d70617469626c65", "sourceMap": "827:1571:40:-:0;;;890:874;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;890:874:40;;;;;;;;;;-1:-1:-1;890:874:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;890:874:40;;;;;;-1:-1:-1;1004:169:40;;-1:-1:-1;1004:169:40;;625:66:46;1438:23:40;;1401:16;-1:-1:-1;;;;;1376:56:40;;:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1376:58:40;:85;1355:176;;;;-1:-1:-1;;;1355:176:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1587:16;1572:13;1565:39;1625:12;1639:23;1666:16;-1:-1:-1;;;;;1666:29:40;1696:14;1666:45;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1666:45:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1624:87;;;;1729:7;1745:10;1721:36;;;;;-1:-1:-1;;;1721:36:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;890:874;;;;827:1571;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x60806040527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc543660008037600080366000846127105a03f43d806000803e818015604957816000f35b816000fdfea164736f6c634300060c000a", "sourceMap": "827:1571:40:-:0;;;1858:13;1852:20;1908:14;1903:3;1898;1885:38;2119:1;2100;2068:14;2047:3;2016:13;1992:5;1985;1981:17;1951:183;2160:16;2210:5;2207:1;2204;2189:27;2236:7;2256:55;;;;2360:5;2357:1;2350:16;2256:55;2291:5;2288:1;2281:16", "linkReferences": {} }, "methodIdentifiers": {}, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_constructData\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"_globalConfigLib\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"stateMutability\":\"payable\",\"type\":\"fallback\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"Adapted from the recommended implementation of a Proxy in EIP-1822, updated for solc 0.6.12, and using the EIP-1967 storage slot for the proxiable implementation. See: https://eips.ethereum.org/EIPS/eip-1822 See: https://eips.ethereum.org/EIPS/eip-1967\",\"kind\":\"dev\",\"methods\":{},\"title\":\"GlobalConfigProxy Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"A proxy contract for global configuration, slightly modified from EIP-1822\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/global-config/GlobalConfigProxy.sol\":\"GlobalConfigProxy\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/global-config/GlobalConfigProxy.sol\":{\"keccak256\":\"0x3052fa1ff25ea69793b6ffd4b95b2ccf4e051f82becc6efcdb72b509caf054b5\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9181d094c6e3489482fdd91c42035a3df896ef15b2de94a77042e113bfb23ffc\",\"dweb:/ipfs/QmNpPt73hixEXYs68QyVkyFjYzbtyQ9fEMTS5oDgMKiJC8\"]},\"contracts/persistent/global-config/utils/GlobalConfigProxyConstants.sol\":{\"keccak256\":\"0xb11c84a6cb9c26eb96abc7d38c57adb374415834daba8122d92264f9e19b5eb3\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6ad1cc0ba02e40b990408389d73c13ec69ac0cecd5447bb1826b505bcf671925\",\"dweb:/ipfs/QmP96nzpGLvY7eBqK4ictUAtnNq822rJuwbezSqC2BDsev\"]},\"contracts/persistent/global-config/utils/ProxiableGlobalConfigLib.sol\":{\"keccak256\":\"0x41386d6e4b676c73f461c12bef0bb01267a44b28bf8d8591269589c9a763daeb\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://578fbe03f5e56b06fca2485fafadb2a87da8703b93145e17325b131e224acb34\",\"dweb:/ipfs/QmY6Y8ZhfBZhfVD6ATj5jyFRSQfw7woRA9robZfzh1ev1G\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "bytes", "name": "_constructData", "type": "bytes" }, { "internalType": "address", "name": "_globalConfigLib", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "stateMutability": "payable", "type": "fallback" } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/persistent/global-config/GlobalConfigProxy.sol": "GlobalConfigProxy" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/global-config/GlobalConfigProxy.sol": { "keccak256": "0x3052fa1ff25ea69793b6ffd4b95b2ccf4e051f82becc6efcdb72b509caf054b5", "urls": [ "bzz-raw://9181d094c6e3489482fdd91c42035a3df896ef15b2de94a77042e113bfb23ffc", "dweb:/ipfs/QmNpPt73hixEXYs68QyVkyFjYzbtyQ9fEMTS5oDgMKiJC8" ], "license": "GPL-3.0" }, "contracts/persistent/global-config/utils/GlobalConfigProxyConstants.sol": { "keccak256": "0xb11c84a6cb9c26eb96abc7d38c57adb374415834daba8122d92264f9e19b5eb3", "urls": [ "bzz-raw://6ad1cc0ba02e40b990408389d73c13ec69ac0cecd5447bb1826b505bcf671925", "dweb:/ipfs/QmP96nzpGLvY7eBqK4ictUAtnNq822rJuwbezSqC2BDsev" ], "license": "GPL-3.0" }, "contracts/persistent/global-config/utils/ProxiableGlobalConfigLib.sol": { "keccak256": "0x41386d6e4b676c73f461c12bef0bb01267a44b28bf8d8591269589c9a763daeb", "urls": [ "bzz-raw://578fbe03f5e56b06fca2485fafadb2a87da8703b93145e17325b131e224acb34", "dweb:/ipfs/QmY6Y8ZhfBZhfVD6ATj5jyFRSQfw7woRA9robZfzh1ev1G" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 40 } diff --git a/eth_defi/abi/enzyme/GlobalConfigProxyConstants.json b/eth_defi/abi/enzyme/GlobalConfigProxyConstants.json index b77d394b..6b76e0d6 100644 --- a/eth_defi/abi/enzyme/GlobalConfigProxyConstants.json +++ b/eth_defi/abi/enzyme/GlobalConfigProxyConstants.json @@ -1,78 +1 @@ -{ - "abi": [], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": {}, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"GlobalConfigProxyConstants Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Constant values used in GlobalConfig proxy-related contracts\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/global-config/utils/GlobalConfigProxyConstants.sol\":\"GlobalConfigProxyConstants\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/global-config/utils/GlobalConfigProxyConstants.sol\":{\"keccak256\":\"0xb11c84a6cb9c26eb96abc7d38c57adb374415834daba8122d92264f9e19b5eb3\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6ad1cc0ba02e40b990408389d73c13ec69ac0cecd5447bb1826b505bcf671925\",\"dweb:/ipfs/QmP96nzpGLvY7eBqK4ictUAtnNq822rJuwbezSqC2BDsev\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/persistent/global-config/utils/GlobalConfigProxyConstants.sol": "GlobalConfigProxyConstants" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/global-config/utils/GlobalConfigProxyConstants.sol": { - "keccak256": "0xb11c84a6cb9c26eb96abc7d38c57adb374415834daba8122d92264f9e19b5eb3", - "urls": [ - "bzz-raw://6ad1cc0ba02e40b990408389d73c13ec69ac0cecd5447bb1826b505bcf671925", - "dweb:/ipfs/QmP96nzpGLvY7eBqK4ictUAtnNq822rJuwbezSqC2BDsev" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 46 -} +{ "abi": [], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": {}, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"GlobalConfigProxyConstants Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Constant values used in GlobalConfig proxy-related contracts\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/global-config/utils/GlobalConfigProxyConstants.sol\":\"GlobalConfigProxyConstants\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/global-config/utils/GlobalConfigProxyConstants.sol\":{\"keccak256\":\"0xb11c84a6cb9c26eb96abc7d38c57adb374415834daba8122d92264f9e19b5eb3\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6ad1cc0ba02e40b990408389d73c13ec69ac0cecd5447bb1826b505bcf671925\",\"dweb:/ipfs/QmP96nzpGLvY7eBqK4ictUAtnNq822rJuwbezSqC2BDsev\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/persistent/global-config/utils/GlobalConfigProxyConstants.sol": "GlobalConfigProxyConstants" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/global-config/utils/GlobalConfigProxyConstants.sol": { "keccak256": "0xb11c84a6cb9c26eb96abc7d38c57adb374415834daba8122d92264f9e19b5eb3", "urls": [ "bzz-raw://6ad1cc0ba02e40b990408389d73c13ec69ac0cecd5447bb1826b505bcf671925", "dweb:/ipfs/QmP96nzpGLvY7eBqK4ictUAtnNq822rJuwbezSqC2BDsev" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 46 } diff --git a/eth_defi/abi/enzyme/IAaveAToken.json b/eth_defi/abi/enzyme/IAaveAToken.json index 2e350bbc..6c7bd8c6 100644 --- a/eth_defi/abi/enzyme/IAaveAToken.json +++ b/eth_defi/abi/enzyme/IAaveAToken.json @@ -1,108 +1 @@ -{ - "abi": [ - { - "inputs": [], - "name": "UNDERLYING_ASSET_ADDRESS", - "outputs": [ - { - "internalType": "address", - "name": "underlying_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "UNDERLYING_ASSET_ADDRESS()": "b16a19de" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"UNDERLYING_ASSET_ADDRESS\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"underlying_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IAaveAToken interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Common Aave aToken interface for V2 and V3\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/IAaveAToken.sol\":\"IAaveAToken\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/IAaveAToken.sol\":{\"keccak256\":\"0x2fe53734b46e1238b7d46889774c5813fa9e132350f45028b5584dfcc254c97b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://7b4b689deca405c2f9f85132d8b1b8650499d3d521b8b302299e25aa5172d81d\",\"dweb:/ipfs/QmUTZHqVT1exEd5RUyjPS6wwkJmZBW9Dgkkb7emiFCSUMW\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "UNDERLYING_ASSET_ADDRESS", - "outputs": [ - { - "internalType": "address", - "name": "underlying_", - "type": "address" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/interfaces/IAaveAToken.sol": "IAaveAToken" - }, - "libraries": {} - }, - "sources": { - "contracts/release/interfaces/IAaveAToken.sol": { - "keccak256": "0x2fe53734b46e1238b7d46889774c5813fa9e132350f45028b5584dfcc254c97b", - "urls": [ - "bzz-raw://7b4b689deca405c2f9f85132d8b1b8650499d3d521b8b302299e25aa5172d81d", - "dweb:/ipfs/QmUTZHqVT1exEd5RUyjPS6wwkJmZBW9Dgkkb7emiFCSUMW" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 266 -} +{ "abi": [ { "type": "function", "name": "UNDERLYING_ASSET_ADDRESS", "inputs": [], "outputs": [ { "name": "underlying_", "type": "address", "internalType": "address" } ], "stateMutability": "view" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "UNDERLYING_ASSET_ADDRESS()": "b16a19de" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"UNDERLYING_ASSET_ADDRESS\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"underlying_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IAaveAToken interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Common Aave aToken interface for V2 and V3\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/IAaveAToken.sol\":\"IAaveAToken\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/IAaveAToken.sol\":{\"keccak256\":\"0x2fe53734b46e1238b7d46889774c5813fa9e132350f45028b5584dfcc254c97b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://7b4b689deca405c2f9f85132d8b1b8650499d3d521b8b302299e25aa5172d81d\",\"dweb:/ipfs/QmUTZHqVT1exEd5RUyjPS6wwkJmZBW9Dgkkb7emiFCSUMW\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [], "stateMutability": "view", "type": "function", "name": "UNDERLYING_ASSET_ADDRESS", "outputs": [ { "internalType": "address", "name": "underlying_", "type": "address" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/interfaces/IAaveAToken.sol": "IAaveAToken" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/interfaces/IAaveAToken.sol": { "keccak256": "0x2fe53734b46e1238b7d46889774c5813fa9e132350f45028b5584dfcc254c97b", "urls": [ "bzz-raw://7b4b689deca405c2f9f85132d8b1b8650499d3d521b8b302299e25aa5172d81d", "dweb:/ipfs/QmUTZHqVT1exEd5RUyjPS6wwkJmZBW9Dgkkb7emiFCSUMW" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 266 } diff --git a/eth_defi/abi/enzyme/IAaveDebtPosition.json b/eth_defi/abi/enzyme/IAaveDebtPosition.json index 4c3767df..1c0fca1d 100644 --- a/eth_defi/abi/enzyme/IAaveDebtPosition.json +++ b/eth_defi/abi/enzyme/IAaveDebtPosition.json @@ -1,254 +1 @@ -{ - "abi": [ - { - "inputs": [], - "name": "getDebtAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "getDebtTokenForBorrowedAsset", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getManagedAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "init", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "receiveCallFromVault", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "getDebtAssets()": "ecd658b4", - "getDebtTokenForBorrowedAsset(address)": "66b4c5d1", - "getManagedAssets()": "80daddb8", - "init(bytes)": "4ddf47d4", - "receiveCallFromVault(bytes)": "e5c23a97" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"getDebtAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"getDebtTokenForBorrowedAsset\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getManagedAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"receiveCallFromVault\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IAaveDebtPosition Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/aave-v2-debt/IAaveDebtPosition.sol\":\"IAaveDebtPosition\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/release/extensions/external-position-manager/external-positions/aave-v2-debt/IAaveDebtPosition.sol\":{\"keccak256\":\"0x985176b234fc2cd4d67def55a7fc5579f79e8df6c3c95de5a88e33c8f0bab945\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://4fd89871e75f2c98641f76494cb8f08a3be719209031fc454e482e586932e5b3\",\"dweb:/ipfs/QmSZMLWuvyWNFJNWKvChPn9fmr9YVb2L2D3ZMPBBhYWndf\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "getDebtAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getDebtTokenForBorrowedAsset", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "getManagedAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "init" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "receiveCallFromVault" - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/external-position-manager/external-positions/aave-v2-debt/IAaveDebtPosition.sol": "IAaveDebtPosition" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/external-positions/IExternalPosition.sol": { - "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", - "urls": [ - "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", - "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/aave-v2-debt/IAaveDebtPosition.sol": { - "keccak256": "0x985176b234fc2cd4d67def55a7fc5579f79e8df6c3c95de5a88e33c8f0bab945", - "urls": [ - "bzz-raw://4fd89871e75f2c98641f76494cb8f08a3be719209031fc454e482e586932e5b3", - "dweb:/ipfs/QmSZMLWuvyWNFJNWKvChPn9fmr9YVb2L2D3ZMPBBhYWndf" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 91 -} +{ "abi": [ { "type": "function", "name": "getDebtAssets", "inputs": [], "outputs": [ { "name": "", "type": "address[]", "internalType": "address[]" }, { "name": "", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "getDebtTokenForBorrowedAsset", "inputs": [ { "name": "", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getManagedAssets", "inputs": [], "outputs": [ { "name": "", "type": "address[]", "internalType": "address[]" }, { "name": "", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "init", "inputs": [ { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "receiveCallFromVault", "inputs": [ { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "getDebtAssets()": "ecd658b4", "getDebtTokenForBorrowedAsset(address)": "66b4c5d1", "getManagedAssets()": "80daddb8", "init(bytes)": "4ddf47d4", "receiveCallFromVault(bytes)": "e5c23a97" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"getDebtAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"getDebtTokenForBorrowedAsset\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getManagedAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"receiveCallFromVault\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IAaveDebtPosition Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/aave-v2-debt/IAaveDebtPosition.sol\":\"IAaveDebtPosition\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/release/extensions/external-position-manager/external-positions/aave-v2-debt/IAaveDebtPosition.sol\":{\"keccak256\":\"0x985176b234fc2cd4d67def55a7fc5579f79e8df6c3c95de5a88e33c8f0bab945\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://4fd89871e75f2c98641f76494cb8f08a3be719209031fc454e482e586932e5b3\",\"dweb:/ipfs/QmSZMLWuvyWNFJNWKvChPn9fmr9YVb2L2D3ZMPBBhYWndf\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "getDebtAssets", "outputs": [ { "internalType": "address[]", "name": "", "type": "address[]" }, { "internalType": "uint256[]", "name": "", "type": "uint256[]" } ] }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getDebtTokenForBorrowedAsset", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ] }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "getManagedAssets", "outputs": [ { "internalType": "address[]", "name": "", "type": "address[]" }, { "internalType": "uint256[]", "name": "", "type": "uint256[]" } ] }, { "inputs": [ { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "init" }, { "inputs": [ { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "receiveCallFromVault" } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/external-position-manager/external-positions/aave-v2-debt/IAaveDebtPosition.sol": "IAaveDebtPosition" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/external-positions/IExternalPosition.sol": { "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", "urls": [ "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/aave-v2-debt/IAaveDebtPosition.sol": { "keccak256": "0x985176b234fc2cd4d67def55a7fc5579f79e8df6c3c95de5a88e33c8f0bab945", "urls": [ "bzz-raw://4fd89871e75f2c98641f76494cb8f08a3be719209031fc454e482e586932e5b3", "dweb:/ipfs/QmSZMLWuvyWNFJNWKvChPn9fmr9YVb2L2D3ZMPBBhYWndf" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 91 } diff --git a/eth_defi/abi/enzyme/IAaveV2IncentivesController.json b/eth_defi/abi/enzyme/IAaveV2IncentivesController.json index 9a1a8f33..77ba6ce8 100644 --- a/eth_defi/abi/enzyme/IAaveV2IncentivesController.json +++ b/eth_defi/abi/enzyme/IAaveV2IncentivesController.json @@ -1,127 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address[]", - "name": "_assets", - "type": "address[]" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_to", - "type": "address" - } - ], - "name": "claimRewards", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "claimRewards(address[],uint256,address)": "3111e7b3" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_assets\",\"type\":\"address[]\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"}],\"name\":\"claimRewards\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IAaveV2IncentivesController interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/IAaveV2IncentivesController.sol\":\"IAaveV2IncentivesController\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/IAaveV2IncentivesController.sol\":{\"keccak256\":\"0xe5cabf85bd2ca655a4d78416b0412871c9f677b41f3917148dead1d40aa92950\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://4116b8dc230967b226daed9d0f75eee0a2d8b45e6fe0e2762c60cf1f7d035759\",\"dweb:/ipfs/QmNjcmFDt6Biy5uYS9topvZ9VGLYTeXEvdscamKBASVVW4\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address[]", - "name": "_assets", - "type": "address[]" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_to", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "claimRewards" - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/interfaces/IAaveV2IncentivesController.sol": "IAaveV2IncentivesController" - }, - "libraries": {} - }, - "sources": { - "contracts/release/interfaces/IAaveV2IncentivesController.sol": { - "keccak256": "0xe5cabf85bd2ca655a4d78416b0412871c9f677b41f3917148dead1d40aa92950", - "urls": [ - "bzz-raw://4116b8dc230967b226daed9d0f75eee0a2d8b45e6fe0e2762c60cf1f7d035759", - "dweb:/ipfs/QmNjcmFDt6Biy5uYS9topvZ9VGLYTeXEvdscamKBASVVW4" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 267 -} +{ "abi": [ { "type": "function", "name": "claimRewards", "inputs": [ { "name": "_assets", "type": "address[]", "internalType": "address[]" }, { "name": "_amount", "type": "uint256", "internalType": "uint256" }, { "name": "_to", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "claimRewards(address[],uint256,address)": "3111e7b3" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_assets\",\"type\":\"address[]\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"}],\"name\":\"claimRewards\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IAaveV2IncentivesController interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/IAaveV2IncentivesController.sol\":\"IAaveV2IncentivesController\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/IAaveV2IncentivesController.sol\":{\"keccak256\":\"0xe5cabf85bd2ca655a4d78416b0412871c9f677b41f3917148dead1d40aa92950\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://4116b8dc230967b226daed9d0f75eee0a2d8b45e6fe0e2762c60cf1f7d035759\",\"dweb:/ipfs/QmNjcmFDt6Biy5uYS9topvZ9VGLYTeXEvdscamKBASVVW4\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address[]", "name": "_assets", "type": "address[]" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" }, { "internalType": "address", "name": "_to", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "claimRewards" } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/interfaces/IAaveV2IncentivesController.sol": "IAaveV2IncentivesController" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/interfaces/IAaveV2IncentivesController.sol": { "keccak256": "0xe5cabf85bd2ca655a4d78416b0412871c9f677b41f3917148dead1d40aa92950", "urls": [ "bzz-raw://4116b8dc230967b226daed9d0f75eee0a2d8b45e6fe0e2762c60cf1f7d035759", "dweb:/ipfs/QmNjcmFDt6Biy5uYS9topvZ9VGLYTeXEvdscamKBASVVW4" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 267 } diff --git a/eth_defi/abi/enzyme/IAaveV2LendingPool.json b/eth_defi/abi/enzyme/IAaveV2LendingPool.json index 5c509cdc..5bc1589a 100644 --- a/eth_defi/abi/enzyme/IAaveV2LendingPool.json +++ b/eth_defi/abi/enzyme/IAaveV2LendingPool.json @@ -1,508 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_underlying", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_rateMode", - "type": "uint256" - }, - { - "internalType": "uint16", - "name": "_referralCode", - "type": "uint16" - }, - { - "internalType": "address", - "name": "_to", - "type": "address" - } - ], - "name": "borrow", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_underlying", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "internalType": "uint16", - "name": "_referralCode", - "type": "uint16" - } - ], - "name": "deposit", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_asset", - "type": "address" - } - ], - "name": "getReserveData", - "outputs": [ - { - "components": [ - { - "components": [ - { - "internalType": "uint256", - "name": "data", - "type": "uint256" - } - ], - "internalType": "struct IAaveV2LendingPool.ReserveConfigurationMap", - "name": "configuration", - "type": "tuple" - }, - { - "internalType": "uint128", - "name": "liquidityIndex", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "variableBorrowIndex", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "currentLiquidityRate", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "currentVariableBorrowRate", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "currentStableBorrowRate", - "type": "uint128" - }, - { - "internalType": "uint40", - "name": "lastUpdateTimestamp", - "type": "uint40" - }, - { - "internalType": "address", - "name": "aTokenAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "stableDebtTokenAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "variableDebtTokenAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "interestRateStrategyAddress", - "type": "address" - }, - { - "internalType": "uint8", - "name": "id", - "type": "uint8" - } - ], - "internalType": "struct IAaveV2LendingPool.ReserveData", - "name": "reserveData_", - "type": "tuple" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_underlying", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_rateMode", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_to", - "type": "address" - } - ], - "name": "repay", - "outputs": [ - { - "internalType": "uint256", - "name": "actualAmount_", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_underlying", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_to", - "type": "address" - } - ], - "name": "withdraw", - "outputs": [ - { - "internalType": "uint256", - "name": "actualAmount_", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "borrow(address,uint256,uint256,uint16,address)": "a415bcad", - "deposit(address,uint256,address,uint16)": "e8eda9df", - "getReserveData(address)": "35ea6a75", - "repay(address,uint256,uint256,address)": "573ade81", - "withdraw(address,uint256,address)": "69328dec" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_underlying\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_rateMode\",\"type\":\"uint256\"},{\"internalType\":\"uint16\",\"name\":\"_referralCode\",\"type\":\"uint16\"},{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"}],\"name\":\"borrow\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_underlying\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint16\",\"name\":\"_referralCode\",\"type\":\"uint16\"}],\"name\":\"deposit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"}],\"name\":\"getReserveData\",\"outputs\":[{\"components\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"data\",\"type\":\"uint256\"}],\"internalType\":\"struct IAaveV2LendingPool.ReserveConfigurationMap\",\"name\":\"configuration\",\"type\":\"tuple\"},{\"internalType\":\"uint128\",\"name\":\"liquidityIndex\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"variableBorrowIndex\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"currentLiquidityRate\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"currentVariableBorrowRate\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"currentStableBorrowRate\",\"type\":\"uint128\"},{\"internalType\":\"uint40\",\"name\":\"lastUpdateTimestamp\",\"type\":\"uint40\"},{\"internalType\":\"address\",\"name\":\"aTokenAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"stableDebtTokenAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"variableDebtTokenAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"interestRateStrategyAddress\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"id\",\"type\":\"uint8\"}],\"internalType\":\"struct IAaveV2LendingPool.ReserveData\",\"name\":\"reserveData_\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_underlying\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_rateMode\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"}],\"name\":\"repay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"actualAmount_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_underlying\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"}],\"name\":\"withdraw\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"actualAmount_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IAaveV2LendingPool interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/IAaveV2LendingPool.sol\":\"IAaveV2LendingPool\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/IAaveV2LendingPool.sol\":{\"keccak256\":\"0xe9398d0cd11197b955d282c88a345a481cadc70fea502f7b3362234a62b64257\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://569315086744d75b6140ed19dbf53117b07ff986ea524cc6ade31820bee66d3b\",\"dweb:/ipfs/QmeBHxBHYRmBq5nUnxoqQgZ4FDUMcXnzFu6X8Qb96fwdU9\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_underlying", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_rateMode", - "type": "uint256" - }, - { - "internalType": "uint16", - "name": "_referralCode", - "type": "uint16" - }, - { - "internalType": "address", - "name": "_to", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "borrow" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_underlying", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "internalType": "uint16", - "name": "_referralCode", - "type": "uint16" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "deposit" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_asset", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "getReserveData", - "outputs": [ - { - "internalType": "struct IAaveV2LendingPool.ReserveData", - "name": "reserveData_", - "type": "tuple", - "components": [ - { - "internalType": "struct IAaveV2LendingPool.ReserveConfigurationMap", - "name": "configuration", - "type": "tuple", - "components": [ - { - "internalType": "uint256", - "name": "data", - "type": "uint256" - } - ] - }, - { - "internalType": "uint128", - "name": "liquidityIndex", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "variableBorrowIndex", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "currentLiquidityRate", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "currentVariableBorrowRate", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "currentStableBorrowRate", - "type": "uint128" - }, - { - "internalType": "uint40", - "name": "lastUpdateTimestamp", - "type": "uint40" - }, - { - "internalType": "address", - "name": "aTokenAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "stableDebtTokenAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "variableDebtTokenAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "interestRateStrategyAddress", - "type": "address" - }, - { - "internalType": "uint8", - "name": "id", - "type": "uint8" - } - ] - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_underlying", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_rateMode", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_to", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "repay", - "outputs": [ - { - "internalType": "uint256", - "name": "actualAmount_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_underlying", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_to", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "withdraw", - "outputs": [ - { - "internalType": "uint256", - "name": "actualAmount_", - "type": "uint256" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/interfaces/IAaveV2LendingPool.sol": "IAaveV2LendingPool" - }, - "libraries": {} - }, - "sources": { - "contracts/release/interfaces/IAaveV2LendingPool.sol": { - "keccak256": "0xe9398d0cd11197b955d282c88a345a481cadc70fea502f7b3362234a62b64257", - "urls": [ - "bzz-raw://569315086744d75b6140ed19dbf53117b07ff986ea524cc6ade31820bee66d3b", - "dweb:/ipfs/QmeBHxBHYRmBq5nUnxoqQgZ4FDUMcXnzFu6X8Qb96fwdU9" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 268 -} +{ "abi": [ { "type": "function", "name": "borrow", "inputs": [ { "name": "_underlying", "type": "address", "internalType": "address" }, { "name": "_amount", "type": "uint256", "internalType": "uint256" }, { "name": "_rateMode", "type": "uint256", "internalType": "uint256" }, { "name": "_referralCode", "type": "uint16", "internalType": "uint16" }, { "name": "_to", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "deposit", "inputs": [ { "name": "_underlying", "type": "address", "internalType": "address" }, { "name": "_amount", "type": "uint256", "internalType": "uint256" }, { "name": "_to", "type": "address", "internalType": "address" }, { "name": "_referralCode", "type": "uint16", "internalType": "uint16" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "getReserveData", "inputs": [ { "name": "_asset", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "reserveData_", "type": "tuple", "internalType": "struct IAaveV2LendingPool.ReserveData", "components": [ { "name": "configuration", "type": "tuple", "internalType": "struct IAaveV2LendingPool.ReserveConfigurationMap", "components": [ { "name": "data", "type": "uint256", "internalType": "uint256" } ] }, { "name": "liquidityIndex", "type": "uint128", "internalType": "uint128" }, { "name": "variableBorrowIndex", "type": "uint128", "internalType": "uint128" }, { "name": "currentLiquidityRate", "type": "uint128", "internalType": "uint128" }, { "name": "currentVariableBorrowRate", "type": "uint128", "internalType": "uint128" }, { "name": "currentStableBorrowRate", "type": "uint128", "internalType": "uint128" }, { "name": "lastUpdateTimestamp", "type": "uint40", "internalType": "uint40" }, { "name": "aTokenAddress", "type": "address", "internalType": "address" }, { "name": "stableDebtTokenAddress", "type": "address", "internalType": "address" }, { "name": "variableDebtTokenAddress", "type": "address", "internalType": "address" }, { "name": "interestRateStrategyAddress", "type": "address", "internalType": "address" }, { "name": "id", "type": "uint8", "internalType": "uint8" } ] } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "repay", "inputs": [ { "name": "_underlying", "type": "address", "internalType": "address" }, { "name": "_amount", "type": "uint256", "internalType": "uint256" }, { "name": "_rateMode", "type": "uint256", "internalType": "uint256" }, { "name": "_to", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "actualAmount_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "withdraw", "inputs": [ { "name": "_underlying", "type": "address", "internalType": "address" }, { "name": "_amount", "type": "uint256", "internalType": "uint256" }, { "name": "_to", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "actualAmount_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "borrow(address,uint256,uint256,uint16,address)": "a415bcad", "deposit(address,uint256,address,uint16)": "e8eda9df", "getReserveData(address)": "35ea6a75", "repay(address,uint256,uint256,address)": "573ade81", "withdraw(address,uint256,address)": "69328dec" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_underlying\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_rateMode\",\"type\":\"uint256\"},{\"internalType\":\"uint16\",\"name\":\"_referralCode\",\"type\":\"uint16\"},{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"}],\"name\":\"borrow\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_underlying\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint16\",\"name\":\"_referralCode\",\"type\":\"uint16\"}],\"name\":\"deposit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"}],\"name\":\"getReserveData\",\"outputs\":[{\"components\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"data\",\"type\":\"uint256\"}],\"internalType\":\"struct IAaveV2LendingPool.ReserveConfigurationMap\",\"name\":\"configuration\",\"type\":\"tuple\"},{\"internalType\":\"uint128\",\"name\":\"liquidityIndex\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"variableBorrowIndex\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"currentLiquidityRate\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"currentVariableBorrowRate\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"currentStableBorrowRate\",\"type\":\"uint128\"},{\"internalType\":\"uint40\",\"name\":\"lastUpdateTimestamp\",\"type\":\"uint40\"},{\"internalType\":\"address\",\"name\":\"aTokenAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"stableDebtTokenAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"variableDebtTokenAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"interestRateStrategyAddress\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"id\",\"type\":\"uint8\"}],\"internalType\":\"struct IAaveV2LendingPool.ReserveData\",\"name\":\"reserveData_\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_underlying\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_rateMode\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"}],\"name\":\"repay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"actualAmount_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_underlying\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"}],\"name\":\"withdraw\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"actualAmount_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IAaveV2LendingPool interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/IAaveV2LendingPool.sol\":\"IAaveV2LendingPool\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/IAaveV2LendingPool.sol\":{\"keccak256\":\"0xe9398d0cd11197b955d282c88a345a481cadc70fea502f7b3362234a62b64257\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://569315086744d75b6140ed19dbf53117b07ff986ea524cc6ade31820bee66d3b\",\"dweb:/ipfs/QmeBHxBHYRmBq5nUnxoqQgZ4FDUMcXnzFu6X8Qb96fwdU9\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_underlying", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" }, { "internalType": "uint256", "name": "_rateMode", "type": "uint256" }, { "internalType": "uint16", "name": "_referralCode", "type": "uint16" }, { "internalType": "address", "name": "_to", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "borrow" }, { "inputs": [ { "internalType": "address", "name": "_underlying", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" }, { "internalType": "address", "name": "_to", "type": "address" }, { "internalType": "uint16", "name": "_referralCode", "type": "uint16" } ], "stateMutability": "nonpayable", "type": "function", "name": "deposit" }, { "inputs": [ { "internalType": "address", "name": "_asset", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "getReserveData", "outputs": [ { "internalType": "struct IAaveV2LendingPool.ReserveData", "name": "reserveData_", "type": "tuple", "components": [ { "internalType": "struct IAaveV2LendingPool.ReserveConfigurationMap", "name": "configuration", "type": "tuple", "components": [ { "internalType": "uint256", "name": "data", "type": "uint256" } ] }, { "internalType": "uint128", "name": "liquidityIndex", "type": "uint128" }, { "internalType": "uint128", "name": "variableBorrowIndex", "type": "uint128" }, { "internalType": "uint128", "name": "currentLiquidityRate", "type": "uint128" }, { "internalType": "uint128", "name": "currentVariableBorrowRate", "type": "uint128" }, { "internalType": "uint128", "name": "currentStableBorrowRate", "type": "uint128" }, { "internalType": "uint40", "name": "lastUpdateTimestamp", "type": "uint40" }, { "internalType": "address", "name": "aTokenAddress", "type": "address" }, { "internalType": "address", "name": "stableDebtTokenAddress", "type": "address" }, { "internalType": "address", "name": "variableDebtTokenAddress", "type": "address" }, { "internalType": "address", "name": "interestRateStrategyAddress", "type": "address" }, { "internalType": "uint8", "name": "id", "type": "uint8" } ] } ] }, { "inputs": [ { "internalType": "address", "name": "_underlying", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" }, { "internalType": "uint256", "name": "_rateMode", "type": "uint256" }, { "internalType": "address", "name": "_to", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "repay", "outputs": [ { "internalType": "uint256", "name": "actualAmount_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "_underlying", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" }, { "internalType": "address", "name": "_to", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "withdraw", "outputs": [ { "internalType": "uint256", "name": "actualAmount_", "type": "uint256" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/interfaces/IAaveV2LendingPool.sol": "IAaveV2LendingPool" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/interfaces/IAaveV2LendingPool.sol": { "keccak256": "0xe9398d0cd11197b955d282c88a345a481cadc70fea502f7b3362234a62b64257", "urls": [ "bzz-raw://569315086744d75b6140ed19dbf53117b07ff986ea524cc6ade31820bee66d3b", "dweb:/ipfs/QmeBHxBHYRmBq5nUnxoqQgZ4FDUMcXnzFu6X8Qb96fwdU9" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 268 } diff --git a/eth_defi/abi/enzyme/IAaveV2LendingPoolAddressProvider.json b/eth_defi/abi/enzyme/IAaveV2LendingPoolAddressProvider.json index 6c80fee7..c774a77e 100644 --- a/eth_defi/abi/enzyme/IAaveV2LendingPoolAddressProvider.json +++ b/eth_defi/abi/enzyme/IAaveV2LendingPoolAddressProvider.json @@ -1,108 +1 @@ -{ - "abi": [ - { - "inputs": [], - "name": "getLendingPool", - "outputs": [ - { - "internalType": "address", - "name": "pool_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "getLendingPool()": "0261bf8b" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"getLendingPool\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"pool_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IAaveV2LendingPoolAddressProvider interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/IAaveV2LendingPoolAddressProvider.sol\":\"IAaveV2LendingPoolAddressProvider\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/IAaveV2LendingPoolAddressProvider.sol\":{\"keccak256\":\"0xf383db1b24ec2f4bb4946422696dfeac769aa36bf692efedbf3e38e368ac5284\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://e9c8ffde2206d37a0c31566677b15eedcbb90ae3e5a131a6c811f3056c176591\",\"dweb:/ipfs/QmPkc8wVGU7VPe9BAUQA6r66w7jC3m5T3UyFW4i4zhLxEZ\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getLendingPool", - "outputs": [ - { - "internalType": "address", - "name": "pool_", - "type": "address" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/interfaces/IAaveV2LendingPoolAddressProvider.sol": "IAaveV2LendingPoolAddressProvider" - }, - "libraries": {} - }, - "sources": { - "contracts/release/interfaces/IAaveV2LendingPoolAddressProvider.sol": { - "keccak256": "0xf383db1b24ec2f4bb4946422696dfeac769aa36bf692efedbf3e38e368ac5284", - "urls": [ - "bzz-raw://e9c8ffde2206d37a0c31566677b15eedcbb90ae3e5a131a6c811f3056c176591", - "dweb:/ipfs/QmPkc8wVGU7VPe9BAUQA6r66w7jC3m5T3UyFW4i4zhLxEZ" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 269 -} +{ "abi": [ { "type": "function", "name": "getLendingPool", "inputs": [], "outputs": [ { "name": "pool_", "type": "address", "internalType": "address" } ], "stateMutability": "view" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "getLendingPool()": "0261bf8b" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"getLendingPool\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"pool_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IAaveV2LendingPoolAddressProvider interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/IAaveV2LendingPoolAddressProvider.sol\":\"IAaveV2LendingPoolAddressProvider\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/IAaveV2LendingPoolAddressProvider.sol\":{\"keccak256\":\"0xf383db1b24ec2f4bb4946422696dfeac769aa36bf692efedbf3e38e368ac5284\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://e9c8ffde2206d37a0c31566677b15eedcbb90ae3e5a131a6c811f3056c176591\",\"dweb:/ipfs/QmPkc8wVGU7VPe9BAUQA6r66w7jC3m5T3UyFW4i4zhLxEZ\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [], "stateMutability": "view", "type": "function", "name": "getLendingPool", "outputs": [ { "internalType": "address", "name": "pool_", "type": "address" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/interfaces/IAaveV2LendingPoolAddressProvider.sol": "IAaveV2LendingPoolAddressProvider" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/interfaces/IAaveV2LendingPoolAddressProvider.sol": { "keccak256": "0xf383db1b24ec2f4bb4946422696dfeac769aa36bf692efedbf3e38e368ac5284", "urls": [ "bzz-raw://e9c8ffde2206d37a0c31566677b15eedcbb90ae3e5a131a6c811f3056c176591", "dweb:/ipfs/QmPkc8wVGU7VPe9BAUQA6r66w7jC3m5T3UyFW4i4zhLxEZ" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 269 } diff --git a/eth_defi/abi/enzyme/IAaveV2ProtocolDataProvider.json b/eth_defi/abi/enzyme/IAaveV2ProtocolDataProvider.json index c432408c..c2f2ef32 100644 --- a/eth_defi/abi/enzyme/IAaveV2ProtocolDataProvider.json +++ b/eth_defi/abi/enzyme/IAaveV2ProtocolDataProvider.json @@ -1,140 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_underlying", - "type": "address" - } - ], - "name": "getReserveTokensAddresses", - "outputs": [ - { - "internalType": "address", - "name": "aToken_", - "type": "address" - }, - { - "internalType": "address", - "name": "stableDebtToken_", - "type": "address" - }, - { - "internalType": "address", - "name": "variableDebtToken_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "getReserveTokensAddresses(address)": "d2493b6c" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_underlying\",\"type\":\"address\"}],\"name\":\"getReserveTokensAddresses\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"aToken_\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"stableDebtToken_\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"variableDebtToken_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IAaveV2ProtocolDataProvider interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/IAaveV2ProtocolDataProvider.sol\":\"IAaveV2ProtocolDataProvider\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/IAaveV2ProtocolDataProvider.sol\":{\"keccak256\":\"0xe4fb2b7e6acb9962c5269b615a76d351dcf6733a5e53f35f53afffde63e41571\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2261270cf6ea8748b0e8ca333434a33d4e353f4397155c4560336489c4022a90\",\"dweb:/ipfs/QmPUqkSp4XuUjTEYysNRuhgW1Dnyy3sgYwy6rMqyVMeKRS\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_underlying", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getReserveTokensAddresses", - "outputs": [ - { - "internalType": "address", - "name": "aToken_", - "type": "address" - }, - { - "internalType": "address", - "name": "stableDebtToken_", - "type": "address" - }, - { - "internalType": "address", - "name": "variableDebtToken_", - "type": "address" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/interfaces/IAaveV2ProtocolDataProvider.sol": "IAaveV2ProtocolDataProvider" - }, - "libraries": {} - }, - "sources": { - "contracts/release/interfaces/IAaveV2ProtocolDataProvider.sol": { - "keccak256": "0xe4fb2b7e6acb9962c5269b615a76d351dcf6733a5e53f35f53afffde63e41571", - "urls": [ - "bzz-raw://2261270cf6ea8748b0e8ca333434a33d4e353f4397155c4560336489c4022a90", - "dweb:/ipfs/QmPUqkSp4XuUjTEYysNRuhgW1Dnyy3sgYwy6rMqyVMeKRS" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 270 -} +{ "abi": [ { "type": "function", "name": "getReserveTokensAddresses", "inputs": [ { "name": "_underlying", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "aToken_", "type": "address", "internalType": "address" }, { "name": "stableDebtToken_", "type": "address", "internalType": "address" }, { "name": "variableDebtToken_", "type": "address", "internalType": "address" } ], "stateMutability": "view" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "getReserveTokensAddresses(address)": "d2493b6c" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_underlying\",\"type\":\"address\"}],\"name\":\"getReserveTokensAddresses\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"aToken_\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"stableDebtToken_\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"variableDebtToken_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IAaveV2ProtocolDataProvider interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/IAaveV2ProtocolDataProvider.sol\":\"IAaveV2ProtocolDataProvider\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/IAaveV2ProtocolDataProvider.sol\":{\"keccak256\":\"0xe4fb2b7e6acb9962c5269b615a76d351dcf6733a5e53f35f53afffde63e41571\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2261270cf6ea8748b0e8ca333434a33d4e353f4397155c4560336489c4022a90\",\"dweb:/ipfs/QmPUqkSp4XuUjTEYysNRuhgW1Dnyy3sgYwy6rMqyVMeKRS\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_underlying", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getReserveTokensAddresses", "outputs": [ { "internalType": "address", "name": "aToken_", "type": "address" }, { "internalType": "address", "name": "stableDebtToken_", "type": "address" }, { "internalType": "address", "name": "variableDebtToken_", "type": "address" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/interfaces/IAaveV2ProtocolDataProvider.sol": "IAaveV2ProtocolDataProvider" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/interfaces/IAaveV2ProtocolDataProvider.sol": { "keccak256": "0xe4fb2b7e6acb9962c5269b615a76d351dcf6733a5e53f35f53afffde63e41571", "urls": [ "bzz-raw://2261270cf6ea8748b0e8ca333434a33d4e353f4397155c4560336489c4022a90", "dweb:/ipfs/QmPUqkSp4XuUjTEYysNRuhgW1Dnyy3sgYwy6rMqyVMeKRS" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 270 } diff --git a/eth_defi/abi/enzyme/IAaveV3Pool.json b/eth_defi/abi/enzyme/IAaveV3Pool.json index ec2c817d..26413e97 100644 --- a/eth_defi/abi/enzyme/IAaveV3Pool.json +++ b/eth_defi/abi/enzyme/IAaveV3Pool.json @@ -1,390 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_asset", - "type": "address" - } - ], - "name": "getReserveData", - "outputs": [ - { - "components": [ - { - "components": [ - { - "internalType": "uint256", - "name": "data", - "type": "uint256" - } - ], - "internalType": "struct IAaveV3Pool.ReserveConfigurationMap", - "name": "configuration", - "type": "tuple" - }, - { - "internalType": "uint128", - "name": "liquidityIndex", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "currentLiquidityRate", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "variableBorrowIndex", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "currentVariableBorrowRate", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "currentStableBorrowRate", - "type": "uint128" - }, - { - "internalType": "uint40", - "name": "lastUpdateTimestamp", - "type": "uint40" - }, - { - "internalType": "uint16", - "name": "id", - "type": "uint16" - }, - { - "internalType": "address", - "name": "aTokenAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "stableDebtTokenAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "variableDebtTokenAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "interestRateStrategyAddress", - "type": "address" - }, - { - "internalType": "uint128", - "name": "accruedToTreasury", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "unbacked", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "isolationModeTotalDebt", - "type": "uint128" - } - ], - "internalType": "struct IAaveV3Pool.ReserveData", - "name": "reserveData_", - "type": "tuple" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_underlying", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "internalType": "uint16", - "name": "_referralCode", - "type": "uint16" - } - ], - "name": "supply", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_underlying", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_to", - "type": "address" - } - ], - "name": "withdraw", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "getReserveData(address)": "35ea6a75", - "supply(address,uint256,address,uint16)": "617ba037", - "withdraw(address,uint256,address)": "69328dec" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"}],\"name\":\"getReserveData\",\"outputs\":[{\"components\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"data\",\"type\":\"uint256\"}],\"internalType\":\"struct IAaveV3Pool.ReserveConfigurationMap\",\"name\":\"configuration\",\"type\":\"tuple\"},{\"internalType\":\"uint128\",\"name\":\"liquidityIndex\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"currentLiquidityRate\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"variableBorrowIndex\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"currentVariableBorrowRate\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"currentStableBorrowRate\",\"type\":\"uint128\"},{\"internalType\":\"uint40\",\"name\":\"lastUpdateTimestamp\",\"type\":\"uint40\"},{\"internalType\":\"uint16\",\"name\":\"id\",\"type\":\"uint16\"},{\"internalType\":\"address\",\"name\":\"aTokenAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"stableDebtTokenAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"variableDebtTokenAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"interestRateStrategyAddress\",\"type\":\"address\"},{\"internalType\":\"uint128\",\"name\":\"accruedToTreasury\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"unbacked\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"isolationModeTotalDebt\",\"type\":\"uint128\"}],\"internalType\":\"struct IAaveV3Pool.ReserveData\",\"name\":\"reserveData_\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_underlying\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint16\",\"name\":\"_referralCode\",\"type\":\"uint16\"}],\"name\":\"supply\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_underlying\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"}],\"name\":\"withdraw\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IAaveV3Pool interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/IAaveV3Pool.sol\":\"IAaveV3Pool\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/IAaveV3Pool.sol\":{\"keccak256\":\"0x530751e3515c5d8c9afd4eb09b509d8f351b25ae0b73b41ea1da79ba6d6e3816\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f388a7639bfedd9c2e403bc0c20ea5b06a9ed72c9451af226d4b8b5fbfd4f639\",\"dweb:/ipfs/QmTdK9XprwhsWXqZZpAFGxGNcbSf8SfoaNYRXQ1V4ujskn\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_asset", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "getReserveData", - "outputs": [ - { - "internalType": "struct IAaveV3Pool.ReserveData", - "name": "reserveData_", - "type": "tuple", - "components": [ - { - "internalType": "struct IAaveV3Pool.ReserveConfigurationMap", - "name": "configuration", - "type": "tuple", - "components": [ - { - "internalType": "uint256", - "name": "data", - "type": "uint256" - } - ] - }, - { - "internalType": "uint128", - "name": "liquidityIndex", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "currentLiquidityRate", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "variableBorrowIndex", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "currentVariableBorrowRate", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "currentStableBorrowRate", - "type": "uint128" - }, - { - "internalType": "uint40", - "name": "lastUpdateTimestamp", - "type": "uint40" - }, - { - "internalType": "uint16", - "name": "id", - "type": "uint16" - }, - { - "internalType": "address", - "name": "aTokenAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "stableDebtTokenAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "variableDebtTokenAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "interestRateStrategyAddress", - "type": "address" - }, - { - "internalType": "uint128", - "name": "accruedToTreasury", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "unbacked", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "isolationModeTotalDebt", - "type": "uint128" - } - ] - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_underlying", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "internalType": "uint16", - "name": "_referralCode", - "type": "uint16" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "supply" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_underlying", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_to", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "withdraw" - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/interfaces/IAaveV3Pool.sol": "IAaveV3Pool" - }, - "libraries": {} - }, - "sources": { - "contracts/release/interfaces/IAaveV3Pool.sol": { - "keccak256": "0x530751e3515c5d8c9afd4eb09b509d8f351b25ae0b73b41ea1da79ba6d6e3816", - "urls": [ - "bzz-raw://f388a7639bfedd9c2e403bc0c20ea5b06a9ed72c9451af226d4b8b5fbfd4f639", - "dweb:/ipfs/QmTdK9XprwhsWXqZZpAFGxGNcbSf8SfoaNYRXQ1V4ujskn" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 271 -} +{ "abi": [ { "type": "function", "name": "getReserveData", "inputs": [ { "name": "_asset", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "reserveData_", "type": "tuple", "internalType": "struct IAaveV3Pool.ReserveData", "components": [ { "name": "configuration", "type": "tuple", "internalType": "struct IAaveV3Pool.ReserveConfigurationMap", "components": [ { "name": "data", "type": "uint256", "internalType": "uint256" } ] }, { "name": "liquidityIndex", "type": "uint128", "internalType": "uint128" }, { "name": "currentLiquidityRate", "type": "uint128", "internalType": "uint128" }, { "name": "variableBorrowIndex", "type": "uint128", "internalType": "uint128" }, { "name": "currentVariableBorrowRate", "type": "uint128", "internalType": "uint128" }, { "name": "currentStableBorrowRate", "type": "uint128", "internalType": "uint128" }, { "name": "lastUpdateTimestamp", "type": "uint40", "internalType": "uint40" }, { "name": "id", "type": "uint16", "internalType": "uint16" }, { "name": "aTokenAddress", "type": "address", "internalType": "address" }, { "name": "stableDebtTokenAddress", "type": "address", "internalType": "address" }, { "name": "variableDebtTokenAddress", "type": "address", "internalType": "address" }, { "name": "interestRateStrategyAddress", "type": "address", "internalType": "address" }, { "name": "accruedToTreasury", "type": "uint128", "internalType": "uint128" }, { "name": "unbacked", "type": "uint128", "internalType": "uint128" }, { "name": "isolationModeTotalDebt", "type": "uint128", "internalType": "uint128" } ] } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "supply", "inputs": [ { "name": "_underlying", "type": "address", "internalType": "address" }, { "name": "_amount", "type": "uint256", "internalType": "uint256" }, { "name": "_to", "type": "address", "internalType": "address" }, { "name": "_referralCode", "type": "uint16", "internalType": "uint16" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "withdraw", "inputs": [ { "name": "_underlying", "type": "address", "internalType": "address" }, { "name": "_amount", "type": "uint256", "internalType": "uint256" }, { "name": "_to", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "getReserveData(address)": "35ea6a75", "supply(address,uint256,address,uint16)": "617ba037", "withdraw(address,uint256,address)": "69328dec" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"}],\"name\":\"getReserveData\",\"outputs\":[{\"components\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"data\",\"type\":\"uint256\"}],\"internalType\":\"struct IAaveV3Pool.ReserveConfigurationMap\",\"name\":\"configuration\",\"type\":\"tuple\"},{\"internalType\":\"uint128\",\"name\":\"liquidityIndex\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"currentLiquidityRate\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"variableBorrowIndex\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"currentVariableBorrowRate\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"currentStableBorrowRate\",\"type\":\"uint128\"},{\"internalType\":\"uint40\",\"name\":\"lastUpdateTimestamp\",\"type\":\"uint40\"},{\"internalType\":\"uint16\",\"name\":\"id\",\"type\":\"uint16\"},{\"internalType\":\"address\",\"name\":\"aTokenAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"stableDebtTokenAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"variableDebtTokenAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"interestRateStrategyAddress\",\"type\":\"address\"},{\"internalType\":\"uint128\",\"name\":\"accruedToTreasury\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"unbacked\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"isolationModeTotalDebt\",\"type\":\"uint128\"}],\"internalType\":\"struct IAaveV3Pool.ReserveData\",\"name\":\"reserveData_\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_underlying\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint16\",\"name\":\"_referralCode\",\"type\":\"uint16\"}],\"name\":\"supply\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_underlying\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"}],\"name\":\"withdraw\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IAaveV3Pool interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/IAaveV3Pool.sol\":\"IAaveV3Pool\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/IAaveV3Pool.sol\":{\"keccak256\":\"0x530751e3515c5d8c9afd4eb09b509d8f351b25ae0b73b41ea1da79ba6d6e3816\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f388a7639bfedd9c2e403bc0c20ea5b06a9ed72c9451af226d4b8b5fbfd4f639\",\"dweb:/ipfs/QmTdK9XprwhsWXqZZpAFGxGNcbSf8SfoaNYRXQ1V4ujskn\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_asset", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "getReserveData", "outputs": [ { "internalType": "struct IAaveV3Pool.ReserveData", "name": "reserveData_", "type": "tuple", "components": [ { "internalType": "struct IAaveV3Pool.ReserveConfigurationMap", "name": "configuration", "type": "tuple", "components": [ { "internalType": "uint256", "name": "data", "type": "uint256" } ] }, { "internalType": "uint128", "name": "liquidityIndex", "type": "uint128" }, { "internalType": "uint128", "name": "currentLiquidityRate", "type": "uint128" }, { "internalType": "uint128", "name": "variableBorrowIndex", "type": "uint128" }, { "internalType": "uint128", "name": "currentVariableBorrowRate", "type": "uint128" }, { "internalType": "uint128", "name": "currentStableBorrowRate", "type": "uint128" }, { "internalType": "uint40", "name": "lastUpdateTimestamp", "type": "uint40" }, { "internalType": "uint16", "name": "id", "type": "uint16" }, { "internalType": "address", "name": "aTokenAddress", "type": "address" }, { "internalType": "address", "name": "stableDebtTokenAddress", "type": "address" }, { "internalType": "address", "name": "variableDebtTokenAddress", "type": "address" }, { "internalType": "address", "name": "interestRateStrategyAddress", "type": "address" }, { "internalType": "uint128", "name": "accruedToTreasury", "type": "uint128" }, { "internalType": "uint128", "name": "unbacked", "type": "uint128" }, { "internalType": "uint128", "name": "isolationModeTotalDebt", "type": "uint128" } ] } ] }, { "inputs": [ { "internalType": "address", "name": "_underlying", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" }, { "internalType": "address", "name": "_to", "type": "address" }, { "internalType": "uint16", "name": "_referralCode", "type": "uint16" } ], "stateMutability": "nonpayable", "type": "function", "name": "supply" }, { "inputs": [ { "internalType": "address", "name": "_underlying", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" }, { "internalType": "address", "name": "_to", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "withdraw" } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/interfaces/IAaveV3Pool.sol": "IAaveV3Pool" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/interfaces/IAaveV3Pool.sol": { "keccak256": "0x530751e3515c5d8c9afd4eb09b509d8f351b25ae0b73b41ea1da79ba6d6e3816", "urls": [ "bzz-raw://f388a7639bfedd9c2e403bc0c20ea5b06a9ed72c9451af226d4b8b5fbfd4f639", "dweb:/ipfs/QmTdK9XprwhsWXqZZpAFGxGNcbSf8SfoaNYRXQ1V4ujskn" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 271 } diff --git a/eth_defi/abi/enzyme/IAaveV3PoolAddressProvider.json b/eth_defi/abi/enzyme/IAaveV3PoolAddressProvider.json index 005eb166..20a102fe 100644 --- a/eth_defi/abi/enzyme/IAaveV3PoolAddressProvider.json +++ b/eth_defi/abi/enzyme/IAaveV3PoolAddressProvider.json @@ -1,108 +1 @@ -{ - "abi": [ - { - "inputs": [], - "name": "getPool", - "outputs": [ - { - "internalType": "address", - "name": "pool_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "getPool()": "026b1d5f" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"getPool\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"pool_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IAaveV3PoolAddressProvider interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/IAaveV3PoolAddressProvider.sol\":\"IAaveV3PoolAddressProvider\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/IAaveV3PoolAddressProvider.sol\":{\"keccak256\":\"0x44111cddca665e41c434817c73902e5ae3a16c8776775305255b0c2d248d8416\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f4306a2dc49c10978e68625b600e2cba3a975152ae75cccc39a7cca4ba429fea\",\"dweb:/ipfs/QmQJHZqorUqr8oAsscPUyZqzuBJp15a2F6YBMasbaQJ9ak\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getPool", - "outputs": [ - { - "internalType": "address", - "name": "pool_", - "type": "address" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/interfaces/IAaveV3PoolAddressProvider.sol": "IAaveV3PoolAddressProvider" - }, - "libraries": {} - }, - "sources": { - "contracts/release/interfaces/IAaveV3PoolAddressProvider.sol": { - "keccak256": "0x44111cddca665e41c434817c73902e5ae3a16c8776775305255b0c2d248d8416", - "urls": [ - "bzz-raw://f4306a2dc49c10978e68625b600e2cba3a975152ae75cccc39a7cca4ba429fea", - "dweb:/ipfs/QmQJHZqorUqr8oAsscPUyZqzuBJp15a2F6YBMasbaQJ9ak" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 272 -} +{ "abi": [ { "type": "function", "name": "getPool", "inputs": [], "outputs": [ { "name": "pool_", "type": "address", "internalType": "address" } ], "stateMutability": "view" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "getPool()": "026b1d5f" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"getPool\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"pool_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IAaveV3PoolAddressProvider interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/IAaveV3PoolAddressProvider.sol\":\"IAaveV3PoolAddressProvider\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/IAaveV3PoolAddressProvider.sol\":{\"keccak256\":\"0x44111cddca665e41c434817c73902e5ae3a16c8776775305255b0c2d248d8416\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f4306a2dc49c10978e68625b600e2cba3a975152ae75cccc39a7cca4ba429fea\",\"dweb:/ipfs/QmQJHZqorUqr8oAsscPUyZqzuBJp15a2F6YBMasbaQJ9ak\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [], "stateMutability": "view", "type": "function", "name": "getPool", "outputs": [ { "internalType": "address", "name": "pool_", "type": "address" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/interfaces/IAaveV3PoolAddressProvider.sol": "IAaveV3PoolAddressProvider" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/interfaces/IAaveV3PoolAddressProvider.sol": { "keccak256": "0x44111cddca665e41c434817c73902e5ae3a16c8776775305255b0c2d248d8416", "urls": [ "bzz-raw://f4306a2dc49c10978e68625b600e2cba3a975152ae75cccc39a7cca4ba429fea", "dweb:/ipfs/QmQJHZqorUqr8oAsscPUyZqzuBJp15a2F6YBMasbaQJ9ak" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 272 } diff --git a/eth_defi/abi/enzyme/IArbitraryLoanAccountingModule.json b/eth_defi/abi/enzyme/IArbitraryLoanAccountingModule.json index 35525d8d..ca439e7c 100644 --- a/eth_defi/abi/enzyme/IArbitraryLoanAccountingModule.json +++ b/eth_defi/abi/enzyme/IArbitraryLoanAccountingModule.json @@ -1,469 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "uint256", - "name": "_totalBorrowed", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_totalRepaid", - "type": "uint256" - } - ], - "name": "calcFaceValue", - "outputs": [ - { - "internalType": "uint256", - "name": "faceValue_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "_configData", - "type": "bytes" - } - ], - "name": "configure", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_prevTotalBorrowed", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_totalRepaid", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_borrowAmount", - "type": "uint256" - } - ], - "name": "preBorrow", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_totalBorrowed", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_totalRepaid", - "type": "uint256" - } - ], - "name": "preClose", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_totalBorrowed", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_prevTotalRepaid", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_repayableLoanAssetAmount", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "_extraAssets", - "type": "address[]" - } - ], - "name": "preReconcile", - "outputs": [ - { - "internalType": "uint256", - "name": "repayAmount_", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_totalBorrowed", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_prevTotalRepaid", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_repayAmountInput", - "type": "uint256" - } - ], - "name": "preRepay", - "outputs": [ - { - "internalType": "uint256", - "name": "repayAmount_", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - } - ], - "name": "receiveCallFromLoan", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "calcFaceValue(uint256,uint256)": "7bb6668e", - "configure(bytes)": "46739e73", - "preBorrow(uint256,uint256,uint256)": "8602074e", - "preClose(uint256,uint256)": "1770ac3a", - "preReconcile(uint256,uint256,uint256,address[])": "e00c3490", - "preRepay(uint256,uint256,uint256)": "1324041c", - "receiveCallFromLoan(bytes)": "9e950b22" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_totalBorrowed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_totalRepaid\",\"type\":\"uint256\"}],\"name\":\"calcFaceValue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"faceValue_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_configData\",\"type\":\"bytes\"}],\"name\":\"configure\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_prevTotalBorrowed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_totalRepaid\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_borrowAmount\",\"type\":\"uint256\"}],\"name\":\"preBorrow\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_totalBorrowed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_totalRepaid\",\"type\":\"uint256\"}],\"name\":\"preClose\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_totalBorrowed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_prevTotalRepaid\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_repayableLoanAssetAmount\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"_extraAssets\",\"type\":\"address[]\"}],\"name\":\"preReconcile\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"repayAmount_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_totalBorrowed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_prevTotalRepaid\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_repayAmountInput\",\"type\":\"uint256\"}],\"name\":\"preRepay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"repayAmount_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"}],\"name\":\"receiveCallFromLoan\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"calcFaceValue(uint256,uint256)\":{\"params\":{\"_totalBorrowed\":\"The total borrowed amount\",\"_totalRepaid\":\"The total repaid amount\"},\"returns\":{\"faceValue_\":\"The face value\"}},\"configure(bytes)\":{\"params\":{\"_configData\":\"Encoded options\"}},\"preBorrow(uint256,uint256,uint256)\":{\"params\":{\"_borrowAmount\":\"The new borrow amount\",\"_prevTotalBorrowed\":\"The total borrowed amount not including the new borrow amount\",\"_totalRepaid\":\"The total repaid amount\"}},\"preClose(uint256,uint256)\":{\"params\":{\"_totalBorrowed\":\"The total borrowed amount\",\"_totalRepaid\":\"The total repaid amount\"}},\"preReconcile(uint256,uint256,uint256,address[])\":{\"details\":\"Should not revert in case of over-repayment. Instead, it is recommended to return the full loan balance as repayAmount_ where necessary. _extraAssets allows a module to use its own pricing to calculate the value of each extra asset in terms of the loanAsset, which can be included in the repayAmount_.\",\"params\":{\"_extraAssets\":\"The extra assets (non-loanAsset) being swept to the VaultProxy\",\"_prevTotalRepaid\":\"The total repaid amount not including the reconciled assets\",\"_repayableLoanAssetAmount\":\"The loanAsset amount available for repayment\",\"_totalBorrowed\":\"The total borrowed amount\"},\"returns\":{\"repayAmount_\":\"The formatted amount to consider as repayment in terms of the loanAsset\"}},\"preRepay(uint256,uint256,uint256)\":{\"params\":{\"_prevTotalRepaid\":\"The total repaid amount not including the new repay amount\",\"_repayAmountInput\":\"The user-input repay amount\",\"_totalBorrowed\":\"The total borrowed amount\"},\"returns\":{\"repayAmount_\":\"The formatted amount to repay\"}},\"receiveCallFromLoan(bytes)\":{\"params\":{\"_actionData\":\"Encoded data for the arbitrary call\"}}},\"title\":\"IArbitraryLoanAccountingModule Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"calcFaceValue(uint256,uint256)\":{\"notice\":\"Calculates the canonical face value of the loan\"},\"configure(bytes)\":{\"notice\":\"Configures options per-loan\"},\"preBorrow(uint256,uint256,uint256)\":{\"notice\":\"Implements logic immediately prior to effects and interactions during a borrow\"},\"preClose(uint256,uint256)\":{\"notice\":\"Implements logic immediately prior to effects and interactions when closing a loan\"},\"preReconcile(uint256,uint256,uint256,address[])\":{\"notice\":\"Implements logic immediately prior to effects and interactions during a reconciliation, and returns the formatted amount to consider as a repayment\"},\"preRepay(uint256,uint256,uint256)\":{\"notice\":\"Implements logic immediately prior to effects and interactions during a repay, and returns the formatted amount to repay (e.g., in the case of a user-input max)\"},\"receiveCallFromLoan(bytes)\":{\"notice\":\"Receives and executes an arbitrary call from the loan contract\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/arbitrary-loan/modules/IArbitraryLoanAccountingModule.sol\":\"IArbitraryLoanAccountingModule\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/external-position-manager/external-positions/arbitrary-loan/modules/IArbitraryLoanAccountingModule.sol\":{\"keccak256\":\"0x95b63e11b0e628c5a0bd382fb07b6fbd06bdd130ff7b8afa429f49990991c5f7\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8f7ecd88d1158d6ec02a0ae1a76c8c9cfdab49fe3d0fb344c0313376e2dc744f\",\"dweb:/ipfs/QmWeJjbsXX27ADWJpDV7pABtdGADs2nk4gmSUN9dtA7X2S\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "uint256", - "name": "_totalBorrowed", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_totalRepaid", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "calcFaceValue", - "outputs": [ - { - "internalType": "uint256", - "name": "faceValue_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "_configData", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "configure" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_prevTotalBorrowed", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_totalRepaid", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_borrowAmount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "preBorrow" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_totalBorrowed", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_totalRepaid", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "preClose" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_totalBorrowed", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_prevTotalRepaid", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_repayableLoanAssetAmount", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "_extraAssets", - "type": "address[]" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "preReconcile", - "outputs": [ - { - "internalType": "uint256", - "name": "repayAmount_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_totalBorrowed", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_prevTotalRepaid", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_repayAmountInput", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "preRepay", - "outputs": [ - { - "internalType": "uint256", - "name": "repayAmount_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "receiveCallFromLoan" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "calcFaceValue(uint256,uint256)": { - "params": { - "_totalBorrowed": "The total borrowed amount", - "_totalRepaid": "The total repaid amount" - }, - "returns": { - "faceValue_": "The face value" - } - }, - "configure(bytes)": { - "params": { - "_configData": "Encoded options" - } - }, - "preBorrow(uint256,uint256,uint256)": { - "params": { - "_borrowAmount": "The new borrow amount", - "_prevTotalBorrowed": "The total borrowed amount not including the new borrow amount", - "_totalRepaid": "The total repaid amount" - } - }, - "preClose(uint256,uint256)": { - "params": { - "_totalBorrowed": "The total borrowed amount", - "_totalRepaid": "The total repaid amount" - } - }, - "preReconcile(uint256,uint256,uint256,address[])": { - "details": "Should not revert in case of over-repayment. Instead, it is recommended to return the full loan balance as repayAmount_ where necessary. _extraAssets allows a module to use its own pricing to calculate the value of each extra asset in terms of the loanAsset, which can be included in the repayAmount_.", - "params": { - "_extraAssets": "The extra assets (non-loanAsset) being swept to the VaultProxy", - "_prevTotalRepaid": "The total repaid amount not including the reconciled assets", - "_repayableLoanAssetAmount": "The loanAsset amount available for repayment", - "_totalBorrowed": "The total borrowed amount" - }, - "returns": { - "repayAmount_": "The formatted amount to consider as repayment in terms of the loanAsset" - } - }, - "preRepay(uint256,uint256,uint256)": { - "params": { - "_prevTotalRepaid": "The total repaid amount not including the new repay amount", - "_repayAmountInput": "The user-input repay amount", - "_totalBorrowed": "The total borrowed amount" - }, - "returns": { - "repayAmount_": "The formatted amount to repay" - } - }, - "receiveCallFromLoan(bytes)": { - "params": { - "_actionData": "Encoded data for the arbitrary call" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "calcFaceValue(uint256,uint256)": { - "notice": "Calculates the canonical face value of the loan" - }, - "configure(bytes)": { - "notice": "Configures options per-loan" - }, - "preBorrow(uint256,uint256,uint256)": { - "notice": "Implements logic immediately prior to effects and interactions during a borrow" - }, - "preClose(uint256,uint256)": { - "notice": "Implements logic immediately prior to effects and interactions when closing a loan" - }, - "preReconcile(uint256,uint256,uint256,address[])": { - "notice": "Implements logic immediately prior to effects and interactions during a reconciliation, and returns the formatted amount to consider as a repayment" - }, - "preRepay(uint256,uint256,uint256)": { - "notice": "Implements logic immediately prior to effects and interactions during a repay, and returns the formatted amount to repay (e.g., in the case of a user-input max)" - }, - "receiveCallFromLoan(bytes)": { - "notice": "Receives and executes an arbitrary call from the loan contract" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/external-position-manager/external-positions/arbitrary-loan/modules/IArbitraryLoanAccountingModule.sol": "IArbitraryLoanAccountingModule" - }, - "libraries": {} - }, - "sources": { - "contracts/release/extensions/external-position-manager/external-positions/arbitrary-loan/modules/IArbitraryLoanAccountingModule.sol": { - "keccak256": "0x95b63e11b0e628c5a0bd382fb07b6fbd06bdd130ff7b8afa429f49990991c5f7", - "urls": [ - "bzz-raw://8f7ecd88d1158d6ec02a0ae1a76c8c9cfdab49fe3d0fb344c0313376e2dc744f", - "dweb:/ipfs/QmWeJjbsXX27ADWJpDV7pABtdGADs2nk4gmSUN9dtA7X2S" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 98 -} +{ "abi": [ { "type": "function", "name": "calcFaceValue", "inputs": [ { "name": "_totalBorrowed", "type": "uint256", "internalType": "uint256" }, { "name": "_totalRepaid", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "faceValue_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "configure", "inputs": [ { "name": "_configData", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "preBorrow", "inputs": [ { "name": "_prevTotalBorrowed", "type": "uint256", "internalType": "uint256" }, { "name": "_totalRepaid", "type": "uint256", "internalType": "uint256" }, { "name": "_borrowAmount", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "preClose", "inputs": [ { "name": "_totalBorrowed", "type": "uint256", "internalType": "uint256" }, { "name": "_totalRepaid", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "preReconcile", "inputs": [ { "name": "_totalBorrowed", "type": "uint256", "internalType": "uint256" }, { "name": "_prevTotalRepaid", "type": "uint256", "internalType": "uint256" }, { "name": "_repayableLoanAssetAmount", "type": "uint256", "internalType": "uint256" }, { "name": "_extraAssets", "type": "address[]", "internalType": "address[]" } ], "outputs": [ { "name": "repayAmount_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "preRepay", "inputs": [ { "name": "_totalBorrowed", "type": "uint256", "internalType": "uint256" }, { "name": "_prevTotalRepaid", "type": "uint256", "internalType": "uint256" }, { "name": "_repayAmountInput", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "repayAmount_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "receiveCallFromLoan", "inputs": [ { "name": "_actionData", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "calcFaceValue(uint256,uint256)": "7bb6668e", "configure(bytes)": "46739e73", "preBorrow(uint256,uint256,uint256)": "8602074e", "preClose(uint256,uint256)": "1770ac3a", "preReconcile(uint256,uint256,uint256,address[])": "e00c3490", "preRepay(uint256,uint256,uint256)": "1324041c", "receiveCallFromLoan(bytes)": "9e950b22" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_totalBorrowed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_totalRepaid\",\"type\":\"uint256\"}],\"name\":\"calcFaceValue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"faceValue_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_configData\",\"type\":\"bytes\"}],\"name\":\"configure\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_prevTotalBorrowed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_totalRepaid\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_borrowAmount\",\"type\":\"uint256\"}],\"name\":\"preBorrow\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_totalBorrowed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_totalRepaid\",\"type\":\"uint256\"}],\"name\":\"preClose\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_totalBorrowed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_prevTotalRepaid\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_repayableLoanAssetAmount\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"_extraAssets\",\"type\":\"address[]\"}],\"name\":\"preReconcile\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"repayAmount_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_totalBorrowed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_prevTotalRepaid\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_repayAmountInput\",\"type\":\"uint256\"}],\"name\":\"preRepay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"repayAmount_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"}],\"name\":\"receiveCallFromLoan\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"calcFaceValue(uint256,uint256)\":{\"params\":{\"_totalBorrowed\":\"The total borrowed amount\",\"_totalRepaid\":\"The total repaid amount\"},\"returns\":{\"faceValue_\":\"The face value\"}},\"configure(bytes)\":{\"params\":{\"_configData\":\"Encoded options\"}},\"preBorrow(uint256,uint256,uint256)\":{\"params\":{\"_borrowAmount\":\"The new borrow amount\",\"_prevTotalBorrowed\":\"The total borrowed amount not including the new borrow amount\",\"_totalRepaid\":\"The total repaid amount\"}},\"preClose(uint256,uint256)\":{\"params\":{\"_totalBorrowed\":\"The total borrowed amount\",\"_totalRepaid\":\"The total repaid amount\"}},\"preReconcile(uint256,uint256,uint256,address[])\":{\"details\":\"Should not revert in case of over-repayment. Instead, it is recommended to return the full loan balance as repayAmount_ where necessary. _extraAssets allows a module to use its own pricing to calculate the value of each extra asset in terms of the loanAsset, which can be included in the repayAmount_.\",\"params\":{\"_extraAssets\":\"The extra assets (non-loanAsset) being swept to the VaultProxy\",\"_prevTotalRepaid\":\"The total repaid amount not including the reconciled assets\",\"_repayableLoanAssetAmount\":\"The loanAsset amount available for repayment\",\"_totalBorrowed\":\"The total borrowed amount\"},\"returns\":{\"repayAmount_\":\"The formatted amount to consider as repayment in terms of the loanAsset\"}},\"preRepay(uint256,uint256,uint256)\":{\"params\":{\"_prevTotalRepaid\":\"The total repaid amount not including the new repay amount\",\"_repayAmountInput\":\"The user-input repay amount\",\"_totalBorrowed\":\"The total borrowed amount\"},\"returns\":{\"repayAmount_\":\"The formatted amount to repay\"}},\"receiveCallFromLoan(bytes)\":{\"params\":{\"_actionData\":\"Encoded data for the arbitrary call\"}}},\"title\":\"IArbitraryLoanAccountingModule Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"calcFaceValue(uint256,uint256)\":{\"notice\":\"Calculates the canonical face value of the loan\"},\"configure(bytes)\":{\"notice\":\"Configures options per-loan\"},\"preBorrow(uint256,uint256,uint256)\":{\"notice\":\"Implements logic immediately prior to effects and interactions during a borrow\"},\"preClose(uint256,uint256)\":{\"notice\":\"Implements logic immediately prior to effects and interactions when closing a loan\"},\"preReconcile(uint256,uint256,uint256,address[])\":{\"notice\":\"Implements logic immediately prior to effects and interactions during a reconciliation, and returns the formatted amount to consider as a repayment\"},\"preRepay(uint256,uint256,uint256)\":{\"notice\":\"Implements logic immediately prior to effects and interactions during a repay, and returns the formatted amount to repay (e.g., in the case of a user-input max)\"},\"receiveCallFromLoan(bytes)\":{\"notice\":\"Receives and executes an arbitrary call from the loan contract\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/arbitrary-loan/modules/IArbitraryLoanAccountingModule.sol\":\"IArbitraryLoanAccountingModule\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/external-position-manager/external-positions/arbitrary-loan/modules/IArbitraryLoanAccountingModule.sol\":{\"keccak256\":\"0x95b63e11b0e628c5a0bd382fb07b6fbd06bdd130ff7b8afa429f49990991c5f7\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8f7ecd88d1158d6ec02a0ae1a76c8c9cfdab49fe3d0fb344c0313376e2dc744f\",\"dweb:/ipfs/QmWeJjbsXX27ADWJpDV7pABtdGADs2nk4gmSUN9dtA7X2S\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "uint256", "name": "_totalBorrowed", "type": "uint256" }, { "internalType": "uint256", "name": "_totalRepaid", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "calcFaceValue", "outputs": [ { "internalType": "uint256", "name": "faceValue_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "bytes", "name": "_configData", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "configure" }, { "inputs": [ { "internalType": "uint256", "name": "_prevTotalBorrowed", "type": "uint256" }, { "internalType": "uint256", "name": "_totalRepaid", "type": "uint256" }, { "internalType": "uint256", "name": "_borrowAmount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "preBorrow" }, { "inputs": [ { "internalType": "uint256", "name": "_totalBorrowed", "type": "uint256" }, { "internalType": "uint256", "name": "_totalRepaid", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "preClose" }, { "inputs": [ { "internalType": "uint256", "name": "_totalBorrowed", "type": "uint256" }, { "internalType": "uint256", "name": "_prevTotalRepaid", "type": "uint256" }, { "internalType": "uint256", "name": "_repayableLoanAssetAmount", "type": "uint256" }, { "internalType": "address[]", "name": "_extraAssets", "type": "address[]" } ], "stateMutability": "nonpayable", "type": "function", "name": "preReconcile", "outputs": [ { "internalType": "uint256", "name": "repayAmount_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_totalBorrowed", "type": "uint256" }, { "internalType": "uint256", "name": "_prevTotalRepaid", "type": "uint256" }, { "internalType": "uint256", "name": "_repayAmountInput", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "preRepay", "outputs": [ { "internalType": "uint256", "name": "repayAmount_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "bytes", "name": "_actionData", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "receiveCallFromLoan" } ], "devdoc": { "kind": "dev", "methods": { "calcFaceValue(uint256,uint256)": { "params": { "_totalBorrowed": "The total borrowed amount", "_totalRepaid": "The total repaid amount" }, "returns": { "faceValue_": "The face value" } }, "configure(bytes)": { "params": { "_configData": "Encoded options" } }, "preBorrow(uint256,uint256,uint256)": { "params": { "_borrowAmount": "The new borrow amount", "_prevTotalBorrowed": "The total borrowed amount not including the new borrow amount", "_totalRepaid": "The total repaid amount" } }, "preClose(uint256,uint256)": { "params": { "_totalBorrowed": "The total borrowed amount", "_totalRepaid": "The total repaid amount" } }, "preReconcile(uint256,uint256,uint256,address[])": { "details": "Should not revert in case of over-repayment. Instead, it is recommended to return the full loan balance as repayAmount_ where necessary. _extraAssets allows a module to use its own pricing to calculate the value of each extra asset in terms of the loanAsset, which can be included in the repayAmount_.", "params": { "_extraAssets": "The extra assets (non-loanAsset) being swept to the VaultProxy", "_prevTotalRepaid": "The total repaid amount not including the reconciled assets", "_repayableLoanAssetAmount": "The loanAsset amount available for repayment", "_totalBorrowed": "The total borrowed amount" }, "returns": { "repayAmount_": "The formatted amount to consider as repayment in terms of the loanAsset" } }, "preRepay(uint256,uint256,uint256)": { "params": { "_prevTotalRepaid": "The total repaid amount not including the new repay amount", "_repayAmountInput": "The user-input repay amount", "_totalBorrowed": "The total borrowed amount" }, "returns": { "repayAmount_": "The formatted amount to repay" } }, "receiveCallFromLoan(bytes)": { "params": { "_actionData": "Encoded data for the arbitrary call" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "calcFaceValue(uint256,uint256)": { "notice": "Calculates the canonical face value of the loan" }, "configure(bytes)": { "notice": "Configures options per-loan" }, "preBorrow(uint256,uint256,uint256)": { "notice": "Implements logic immediately prior to effects and interactions during a borrow" }, "preClose(uint256,uint256)": { "notice": "Implements logic immediately prior to effects and interactions when closing a loan" }, "preReconcile(uint256,uint256,uint256,address[])": { "notice": "Implements logic immediately prior to effects and interactions during a reconciliation, and returns the formatted amount to consider as a repayment" }, "preRepay(uint256,uint256,uint256)": { "notice": "Implements logic immediately prior to effects and interactions during a repay, and returns the formatted amount to repay (e.g., in the case of a user-input max)" }, "receiveCallFromLoan(bytes)": { "notice": "Receives and executes an arbitrary call from the loan contract" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/external-position-manager/external-positions/arbitrary-loan/modules/IArbitraryLoanAccountingModule.sol": "IArbitraryLoanAccountingModule" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/extensions/external-position-manager/external-positions/arbitrary-loan/modules/IArbitraryLoanAccountingModule.sol": { "keccak256": "0x95b63e11b0e628c5a0bd382fb07b6fbd06bdd130ff7b8afa429f49990991c5f7", "urls": [ "bzz-raw://8f7ecd88d1158d6ec02a0ae1a76c8c9cfdab49fe3d0fb344c0313376e2dc744f", "dweb:/ipfs/QmWeJjbsXX27ADWJpDV7pABtdGADs2nk4gmSUN9dtA7X2S" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 98 } diff --git a/eth_defi/abi/enzyme/IArbitraryLoanPosition.json b/eth_defi/abi/enzyme/IArbitraryLoanPosition.json index 0a078595..6523e667 100644 --- a/eth_defi/abi/enzyme/IArbitraryLoanPosition.json +++ b/eth_defi/abi/enzyme/IArbitraryLoanPosition.json @@ -1,242 +1 @@ -{ - "abi": [ - { - "inputs": [], - "name": "getDebtAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getLoanAsset", - "outputs": [ - { - "internalType": "address", - "name": "asset_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getManagedAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "init", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "receiveCallFromVault", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "getDebtAssets()": "ecd658b4", - "getLoanAsset()": "acf8982e", - "getManagedAssets()": "80daddb8", - "init(bytes)": "4ddf47d4", - "receiveCallFromVault(bytes)": "e5c23a97" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"getDebtAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getLoanAsset\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"asset_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getManagedAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"receiveCallFromVault\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IArbitraryLoanPosition Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/arbitrary-loan/IArbitraryLoanPosition.sol\":\"IArbitraryLoanPosition\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/release/extensions/external-position-manager/external-positions/arbitrary-loan/IArbitraryLoanPosition.sol\":{\"keccak256\":\"0xb1226be44c1d6ddff3db0bb1288c1aa5b8e5a5506b1dcf0fc7def95932036481\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://e3c7a393c5aa08cdaddf39d17066d3caeb1aba6f6c70f56d6e188059edd46bcb\",\"dweb:/ipfs/QmepBkEjBTNCAG5unqLwcyJ8pFGskcfLuFGdMWMKCyKA6H\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "getDebtAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getLoanAsset", - "outputs": [ - { - "internalType": "address", - "name": "asset_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "getManagedAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "init" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "receiveCallFromVault" - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/external-position-manager/external-positions/arbitrary-loan/IArbitraryLoanPosition.sol": "IArbitraryLoanPosition" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/external-positions/IExternalPosition.sol": { - "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", - "urls": [ - "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", - "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/arbitrary-loan/IArbitraryLoanPosition.sol": { - "keccak256": "0xb1226be44c1d6ddff3db0bb1288c1aa5b8e5a5506b1dcf0fc7def95932036481", - "urls": [ - "bzz-raw://e3c7a393c5aa08cdaddf39d17066d3caeb1aba6f6c70f56d6e188059edd46bcb", - "dweb:/ipfs/QmepBkEjBTNCAG5unqLwcyJ8pFGskcfLuFGdMWMKCyKA6H" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 95 -} +{ "abi": [ { "type": "function", "name": "getDebtAssets", "inputs": [], "outputs": [ { "name": "", "type": "address[]", "internalType": "address[]" }, { "name": "", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "getLoanAsset", "inputs": [], "outputs": [ { "name": "asset_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getManagedAssets", "inputs": [], "outputs": [ { "name": "", "type": "address[]", "internalType": "address[]" }, { "name": "", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "init", "inputs": [ { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "receiveCallFromVault", "inputs": [ { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "getDebtAssets()": "ecd658b4", "getLoanAsset()": "acf8982e", "getManagedAssets()": "80daddb8", "init(bytes)": "4ddf47d4", "receiveCallFromVault(bytes)": "e5c23a97" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"getDebtAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getLoanAsset\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"asset_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getManagedAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"receiveCallFromVault\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IArbitraryLoanPosition Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/arbitrary-loan/IArbitraryLoanPosition.sol\":\"IArbitraryLoanPosition\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/release/extensions/external-position-manager/external-positions/arbitrary-loan/IArbitraryLoanPosition.sol\":{\"keccak256\":\"0xb1226be44c1d6ddff3db0bb1288c1aa5b8e5a5506b1dcf0fc7def95932036481\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://e3c7a393c5aa08cdaddf39d17066d3caeb1aba6f6c70f56d6e188059edd46bcb\",\"dweb:/ipfs/QmepBkEjBTNCAG5unqLwcyJ8pFGskcfLuFGdMWMKCyKA6H\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "getDebtAssets", "outputs": [ { "internalType": "address[]", "name": "", "type": "address[]" }, { "internalType": "uint256[]", "name": "", "type": "uint256[]" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getLoanAsset", "outputs": [ { "internalType": "address", "name": "asset_", "type": "address" } ] }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "getManagedAssets", "outputs": [ { "internalType": "address[]", "name": "", "type": "address[]" }, { "internalType": "uint256[]", "name": "", "type": "uint256[]" } ] }, { "inputs": [ { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "init" }, { "inputs": [ { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "receiveCallFromVault" } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/external-position-manager/external-positions/arbitrary-loan/IArbitraryLoanPosition.sol": "IArbitraryLoanPosition" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/external-positions/IExternalPosition.sol": { "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", "urls": [ "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/arbitrary-loan/IArbitraryLoanPosition.sol": { "keccak256": "0xb1226be44c1d6ddff3db0bb1288c1aa5b8e5a5506b1dcf0fc7def95932036481", "urls": [ "bzz-raw://e3c7a393c5aa08cdaddf39d17066d3caeb1aba6f6c70f56d6e188059edd46bcb", "dweb:/ipfs/QmepBkEjBTNCAG5unqLwcyJ8pFGskcfLuFGdMWMKCyKA6H" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 95 } diff --git a/eth_defi/abi/enzyme/IArbitraryValueOracle.json b/eth_defi/abi/enzyme/IArbitraryValueOracle.json index 6c90af33..8683d19e 100644 --- a/eth_defi/abi/enzyme/IArbitraryValueOracle.json +++ b/eth_defi/abi/enzyme/IArbitraryValueOracle.json @@ -1,172 +1 @@ -{ - "abi": [ - { - "inputs": [], - "name": "getLastUpdated", - "outputs": [ - { - "internalType": "uint256", - "name": "lastUpdated_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getValue", - "outputs": [ - { - "internalType": "int256", - "name": "value_", - "type": "int256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getValueWithTimestamp", - "outputs": [ - { - "internalType": "int256", - "name": "value_", - "type": "int256" - }, - { - "internalType": "uint256", - "name": "lastUpdated_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "getLastUpdated()": "78121dd4", - "getValue()": "20965255", - "getValueWithTimestamp()": "4def9855" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"getLastUpdated\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"lastUpdated_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getValue\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"value_\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getValueWithTimestamp\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"value_\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"lastUpdated_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IArbitraryValueOracle Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/arbitrary-value-oracles/IArbitraryValueOracle.sol\":\"IArbitraryValueOracle\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/arbitrary-value-oracles/IArbitraryValueOracle.sol\":{\"keccak256\":\"0x333a51889276bf987405f310cf4c585f51f86bf496c658e0451412123f675890\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ad4e7e1f597bd399c48c27b391c669893e6b557dbdd06a1725070ac29d087cf0\",\"dweb:/ipfs/QmQrWo7nActQP5Ahh1SzkRNfpxbsPQLgNd3rUkNGUfDPKW\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getLastUpdated", - "outputs": [ - { - "internalType": "uint256", - "name": "lastUpdated_", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getValue", - "outputs": [ - { - "internalType": "int256", - "name": "value_", - "type": "int256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getValueWithTimestamp", - "outputs": [ - { - "internalType": "int256", - "name": "value_", - "type": "int256" - }, - { - "internalType": "uint256", - "name": "lastUpdated_", - "type": "uint256" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/persistent/arbitrary-value-oracles/IArbitraryValueOracle.sol": "IArbitraryValueOracle" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/arbitrary-value-oracles/IArbitraryValueOracle.sol": { - "keccak256": "0x333a51889276bf987405f310cf4c585f51f86bf496c658e0451412123f675890", - "urls": [ - "bzz-raw://ad4e7e1f597bd399c48c27b391c669893e6b557dbdd06a1725070ac29d087cf0", - "dweb:/ipfs/QmQrWo7nActQP5Ahh1SzkRNfpxbsPQLgNd3rUkNGUfDPKW" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 16 -} +{ "abi": [ { "type": "function", "name": "getLastUpdated", "inputs": [], "outputs": [ { "name": "lastUpdated_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "getValue", "inputs": [], "outputs": [ { "name": "value_", "type": "int256", "internalType": "int256" } ], "stateMutability": "view" }, { "type": "function", "name": "getValueWithTimestamp", "inputs": [], "outputs": [ { "name": "value_", "type": "int256", "internalType": "int256" }, { "name": "lastUpdated_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "getLastUpdated()": "78121dd4", "getValue()": "20965255", "getValueWithTimestamp()": "4def9855" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"getLastUpdated\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"lastUpdated_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getValue\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"value_\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getValueWithTimestamp\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"value_\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"lastUpdated_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IArbitraryValueOracle Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/arbitrary-value-oracles/IArbitraryValueOracle.sol\":\"IArbitraryValueOracle\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/arbitrary-value-oracles/IArbitraryValueOracle.sol\":{\"keccak256\":\"0x333a51889276bf987405f310cf4c585f51f86bf496c658e0451412123f675890\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ad4e7e1f597bd399c48c27b391c669893e6b557dbdd06a1725070ac29d087cf0\",\"dweb:/ipfs/QmQrWo7nActQP5Ahh1SzkRNfpxbsPQLgNd3rUkNGUfDPKW\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [], "stateMutability": "view", "type": "function", "name": "getLastUpdated", "outputs": [ { "internalType": "uint256", "name": "lastUpdated_", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getValue", "outputs": [ { "internalType": "int256", "name": "value_", "type": "int256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getValueWithTimestamp", "outputs": [ { "internalType": "int256", "name": "value_", "type": "int256" }, { "internalType": "uint256", "name": "lastUpdated_", "type": "uint256" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/persistent/arbitrary-value-oracles/IArbitraryValueOracle.sol": "IArbitraryValueOracle" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/arbitrary-value-oracles/IArbitraryValueOracle.sol": { "keccak256": "0x333a51889276bf987405f310cf4c585f51f86bf496c658e0451412123f675890", "urls": [ "bzz-raw://ad4e7e1f597bd399c48c27b391c669893e6b557dbdd06a1725070ac29d087cf0", "dweb:/ipfs/QmQrWo7nActQP5Ahh1SzkRNfpxbsPQLgNd3rUkNGUfDPKW" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 16 } diff --git a/eth_defi/abi/enzyme/IBalancerV2LiquidityGauge.json b/eth_defi/abi/enzyme/IBalancerV2LiquidityGauge.json index c60f64b6..727b34dd 100644 --- a/eth_defi/abi/enzyme/IBalancerV2LiquidityGauge.json +++ b/eth_defi/abi/enzyme/IBalancerV2LiquidityGauge.json @@ -1,108 +1 @@ -{ - "abi": [ - { - "inputs": [], - "name": "lp_token", - "outputs": [ - { - "internalType": "address", - "name": "lpToken_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "lp_token()": "82c63066" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"lp_token\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"lpToken_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"Applies to both LiquidityGauge (L1) and ChildChainLiquidityGauge (L2/sidechains)\",\"kind\":\"dev\",\"methods\":{},\"title\":\"IBalancerV2LiquidityGauge interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/IBalancerV2LiquidityGauge.sol\":\"IBalancerV2LiquidityGauge\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/IBalancerV2LiquidityGauge.sol\":{\"keccak256\":\"0x52ebf49a1da970352c8e9c064b82ef3caa103b1055157254796d48141dd37e42\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://4f4c30274497595062b83c165841fdecd8d3ffe5196e3df758d2a1dec9239e0e\",\"dweb:/ipfs/QmSTx36xojjLvyxFujU2S5m9rW8ZRcWB9yuH3HmVMhz2J1\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "lp_token", - "outputs": [ - { - "internalType": "address", - "name": "lpToken_", - "type": "address" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/interfaces/IBalancerV2LiquidityGauge.sol": "IBalancerV2LiquidityGauge" - }, - "libraries": {} - }, - "sources": { - "contracts/release/interfaces/IBalancerV2LiquidityGauge.sol": { - "keccak256": "0x52ebf49a1da970352c8e9c064b82ef3caa103b1055157254796d48141dd37e42", - "urls": [ - "bzz-raw://4f4c30274497595062b83c165841fdecd8d3ffe5196e3df758d2a1dec9239e0e", - "dweb:/ipfs/QmSTx36xojjLvyxFujU2S5m9rW8ZRcWB9yuH3HmVMhz2J1" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 273 -} +{ "abi": [ { "type": "function", "name": "lp_token", "inputs": [], "outputs": [ { "name": "lpToken_", "type": "address", "internalType": "address" } ], "stateMutability": "view" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "lp_token()": "82c63066" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"lp_token\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"lpToken_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"Applies to both LiquidityGauge (L1) and ChildChainLiquidityGauge (L2/sidechains)\",\"kind\":\"dev\",\"methods\":{},\"title\":\"IBalancerV2LiquidityGauge interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/IBalancerV2LiquidityGauge.sol\":\"IBalancerV2LiquidityGauge\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/IBalancerV2LiquidityGauge.sol\":{\"keccak256\":\"0x52ebf49a1da970352c8e9c064b82ef3caa103b1055157254796d48141dd37e42\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://4f4c30274497595062b83c165841fdecd8d3ffe5196e3df758d2a1dec9239e0e\",\"dweb:/ipfs/QmSTx36xojjLvyxFujU2S5m9rW8ZRcWB9yuH3HmVMhz2J1\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [], "stateMutability": "view", "type": "function", "name": "lp_token", "outputs": [ { "internalType": "address", "name": "lpToken_", "type": "address" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/interfaces/IBalancerV2LiquidityGauge.sol": "IBalancerV2LiquidityGauge" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/interfaces/IBalancerV2LiquidityGauge.sol": { "keccak256": "0x52ebf49a1da970352c8e9c064b82ef3caa103b1055157254796d48141dd37e42", "urls": [ "bzz-raw://4f4c30274497595062b83c165841fdecd8d3ffe5196e3df758d2a1dec9239e0e", "dweb:/ipfs/QmSTx36xojjLvyxFujU2S5m9rW8ZRcWB9yuH3HmVMhz2J1" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 273 } diff --git a/eth_defi/abi/enzyme/IBalancerV2PoolFactory.json b/eth_defi/abi/enzyme/IBalancerV2PoolFactory.json index 9f23d8d9..c30650af 100644 --- a/eth_defi/abi/enzyme/IBalancerV2PoolFactory.json +++ b/eth_defi/abi/enzyme/IBalancerV2PoolFactory.json @@ -1,120 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_pool", - "type": "address" - } - ], - "name": "isPoolFromFactory", - "outputs": [ - { - "internalType": "bool", - "name": "success_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "isPoolFromFactory(address)": "6634b753" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_pool\",\"type\":\"address\"}],\"name\":\"isPoolFromFactory\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IBalancerV2PoolFactory interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/IBalancerV2PoolFactory.sol\":\"IBalancerV2PoolFactory\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/IBalancerV2PoolFactory.sol\":{\"keccak256\":\"0xb3b90f93ed2fe906f9a6ce15f537c36f33b24a8e3328e4ccbb011a719edd2de5\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://88571ee529345dd703fa0e5e71182c13cc194e9d6e73176a3c5f1fa94067367a\",\"dweb:/ipfs/QmaPS6tDuHDNdd6aYMBB7Syptoju6T37KgXuA6jXD6hgCK\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_pool", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "isPoolFromFactory", - "outputs": [ - { - "internalType": "bool", - "name": "success_", - "type": "bool" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/interfaces/IBalancerV2PoolFactory.sol": "IBalancerV2PoolFactory" - }, - "libraries": {} - }, - "sources": { - "contracts/release/interfaces/IBalancerV2PoolFactory.sol": { - "keccak256": "0xb3b90f93ed2fe906f9a6ce15f537c36f33b24a8e3328e4ccbb011a719edd2de5", - "urls": [ - "bzz-raw://88571ee529345dd703fa0e5e71182c13cc194e9d6e73176a3c5f1fa94067367a", - "dweb:/ipfs/QmaPS6tDuHDNdd6aYMBB7Syptoju6T37KgXuA6jXD6hgCK" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 274 -} +{ "abi": [ { "type": "function", "name": "isPoolFromFactory", "inputs": [ { "name": "_pool", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "success_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "isPoolFromFactory(address)": "6634b753" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_pool\",\"type\":\"address\"}],\"name\":\"isPoolFromFactory\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IBalancerV2PoolFactory interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/IBalancerV2PoolFactory.sol\":\"IBalancerV2PoolFactory\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/IBalancerV2PoolFactory.sol\":{\"keccak256\":\"0xb3b90f93ed2fe906f9a6ce15f537c36f33b24a8e3328e4ccbb011a719edd2de5\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://88571ee529345dd703fa0e5e71182c13cc194e9d6e73176a3c5f1fa94067367a\",\"dweb:/ipfs/QmaPS6tDuHDNdd6aYMBB7Syptoju6T37KgXuA6jXD6hgCK\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_pool", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "isPoolFromFactory", "outputs": [ { "internalType": "bool", "name": "success_", "type": "bool" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/interfaces/IBalancerV2PoolFactory.sol": "IBalancerV2PoolFactory" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/interfaces/IBalancerV2PoolFactory.sol": { "keccak256": "0xb3b90f93ed2fe906f9a6ce15f537c36f33b24a8e3328e4ccbb011a719edd2de5", "urls": [ "bzz-raw://88571ee529345dd703fa0e5e71182c13cc194e9d6e73176a3c5f1fa94067367a", "dweb:/ipfs/QmaPS6tDuHDNdd6aYMBB7Syptoju6T37KgXuA6jXD6hgCK" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 274 } diff --git a/eth_defi/abi/enzyme/IBalancerV2StablePool.json b/eth_defi/abi/enzyme/IBalancerV2StablePool.json index 7d860e79..539e0e79 100644 --- a/eth_defi/abi/enzyme/IBalancerV2StablePool.json +++ b/eth_defi/abi/enzyme/IBalancerV2StablePool.json @@ -1,135 +1 @@ -{ - "abi": [ - { - "inputs": [], - "name": "getPoolId", - "outputs": [ - { - "internalType": "bytes32", - "name": "poolId_", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getRate", - "outputs": [ - { - "internalType": "uint256", - "name": "rate_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "getPoolId()": "38fff2d0", - "getRate()": "679aefce" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"getPoolId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"poolId_\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"rate_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IBalancerV2StablePool interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/IBalancerV2StablePool.sol\":\"IBalancerV2StablePool\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/IBalancerV2StablePool.sol\":{\"keccak256\":\"0x0b6f74af639f73cbc9c90df6c0debf8019ae4ae146691111ccad18e94a215bc9\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c47b18d336736a9898d9e65dcaab180416798372e45adbe98140f1db29d730df\",\"dweb:/ipfs/Qmedw2eAV6qoCVpdU1GNRTsBJSsgtrNPpXLgy1nzQ7B888\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getPoolId", - "outputs": [ - { - "internalType": "bytes32", - "name": "poolId_", - "type": "bytes32" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getRate", - "outputs": [ - { - "internalType": "uint256", - "name": "rate_", - "type": "uint256" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/interfaces/IBalancerV2StablePool.sol": "IBalancerV2StablePool" - }, - "libraries": {} - }, - "sources": { - "contracts/release/interfaces/IBalancerV2StablePool.sol": { - "keccak256": "0x0b6f74af639f73cbc9c90df6c0debf8019ae4ae146691111ccad18e94a215bc9", - "urls": [ - "bzz-raw://c47b18d336736a9898d9e65dcaab180416798372e45adbe98140f1db29d730df", - "dweb:/ipfs/Qmedw2eAV6qoCVpdU1GNRTsBJSsgtrNPpXLgy1nzQ7B888" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 275 -} +{ "abi": [ { "type": "function", "name": "getPoolId", "inputs": [], "outputs": [ { "name": "poolId_", "type": "bytes32", "internalType": "bytes32" } ], "stateMutability": "view" }, { "type": "function", "name": "getRate", "inputs": [], "outputs": [ { "name": "rate_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "getPoolId()": "38fff2d0", "getRate()": "679aefce" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"getPoolId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"poolId_\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"rate_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IBalancerV2StablePool interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/IBalancerV2StablePool.sol\":\"IBalancerV2StablePool\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/IBalancerV2StablePool.sol\":{\"keccak256\":\"0x0b6f74af639f73cbc9c90df6c0debf8019ae4ae146691111ccad18e94a215bc9\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c47b18d336736a9898d9e65dcaab180416798372e45adbe98140f1db29d730df\",\"dweb:/ipfs/Qmedw2eAV6qoCVpdU1GNRTsBJSsgtrNPpXLgy1nzQ7B888\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [], "stateMutability": "view", "type": "function", "name": "getPoolId", "outputs": [ { "internalType": "bytes32", "name": "poolId_", "type": "bytes32" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getRate", "outputs": [ { "internalType": "uint256", "name": "rate_", "type": "uint256" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/interfaces/IBalancerV2StablePool.sol": "IBalancerV2StablePool" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/interfaces/IBalancerV2StablePool.sol": { "keccak256": "0x0b6f74af639f73cbc9c90df6c0debf8019ae4ae146691111ccad18e94a215bc9", "urls": [ "bzz-raw://c47b18d336736a9898d9e65dcaab180416798372e45adbe98140f1db29d730df", "dweb:/ipfs/Qmedw2eAV6qoCVpdU1GNRTsBJSsgtrNPpXLgy1nzQ7B888" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 275 } diff --git a/eth_defi/abi/enzyme/IBalancerV2Vault.json b/eth_defi/abi/enzyme/IBalancerV2Vault.json index c47d5cb5..a2940df7 100644 --- a/eth_defi/abi/enzyme/IBalancerV2Vault.json +++ b/eth_defi/abi/enzyme/IBalancerV2Vault.json @@ -1,573 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "enum IBalancerV2Vault.SwapKind", - "name": "_kind", - "type": "uint8" - }, - { - "components": [ - { - "internalType": "bytes32", - "name": "poolId", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "assetInIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "assetOutIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "userData", - "type": "bytes" - } - ], - "internalType": "struct IBalancerV2Vault.BatchSwapStep[]", - "name": "_swaps", - "type": "tuple[]" - }, - { - "internalType": "address[]", - "name": "_assets", - "type": "address[]" - }, - { - "components": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "bool", - "name": "fromInternalBalance", - "type": "bool" - }, - { - "internalType": "address payable", - "name": "recipient", - "type": "address" - }, - { - "internalType": "bool", - "name": "toInternalBalance", - "type": "bool" - } - ], - "internalType": "struct IBalancerV2Vault.FundManagement", - "name": "_funds", - "type": "tuple" - }, - { - "internalType": "int256[]", - "name": "_limits", - "type": "int256[]" - }, - { - "internalType": "uint256", - "name": "_deadline", - "type": "uint256" - } - ], - "name": "batchSwap", - "outputs": [ - { - "internalType": "int256[]", - "name": "assetDeltas_", - "type": "int256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "_poolId", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "_sender", - "type": "address" - }, - { - "internalType": "address payable", - "name": "_recipient", - "type": "address" - }, - { - "components": [ - { - "internalType": "address[]", - "name": "assets", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "limits", - "type": "uint256[]" - }, - { - "internalType": "bytes", - "name": "userData", - "type": "bytes" - }, - { - "internalType": "bool", - "name": "useInternalBalance", - "type": "bool" - } - ], - "internalType": "struct IBalancerV2Vault.PoolBalanceChange", - "name": "_request", - "type": "tuple" - } - ], - "name": "exitPool", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "_poolId", - "type": "bytes32" - } - ], - "name": "getPoolTokens", - "outputs": [ - { - "internalType": "address[]", - "name": "tokens_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "balances_", - "type": "uint256[]" - }, - { - "internalType": "uint256", - "name": "lastChangeBlock_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "_poolId", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "_sender", - "type": "address" - }, - { - "internalType": "address", - "name": "_recipient", - "type": "address" - }, - { - "components": [ - { - "internalType": "address[]", - "name": "assets", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "limits", - "type": "uint256[]" - }, - { - "internalType": "bytes", - "name": "userData", - "type": "bytes" - }, - { - "internalType": "bool", - "name": "useInternalBalance", - "type": "bool" - } - ], - "internalType": "struct IBalancerV2Vault.PoolBalanceChange", - "name": "_request", - "type": "tuple" - } - ], - "name": "joinPool", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_sender", - "type": "address" - }, - { - "internalType": "address", - "name": "_relayer", - "type": "address" - }, - { - "internalType": "bool", - "name": "_approved", - "type": "bool" - } - ], - "name": "setRelayerApproval", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "batchSwap(uint8,(bytes32,uint256,uint256,uint256,bytes)[],address[],(address,bool,address,bool),int256[],uint256)": "945bcec9", - "exitPool(bytes32,address,address,(address[],uint256[],bytes,bool))": "8bdb3913", - "getPoolTokens(bytes32)": "f94d4668", - "joinPool(bytes32,address,address,(address[],uint256[],bytes,bool))": "b95cac28", - "setRelayerApproval(address,address,bool)": "fa6e671d" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"enum IBalancerV2Vault.SwapKind\",\"name\":\"_kind\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"poolId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"assetInIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"assetOutIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"userData\",\"type\":\"bytes\"}],\"internalType\":\"struct IBalancerV2Vault.BatchSwapStep[]\",\"name\":\"_swaps\",\"type\":\"tuple[]\"},{\"internalType\":\"address[]\",\"name\":\"_assets\",\"type\":\"address[]\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"fromInternalBalance\",\"type\":\"bool\"},{\"internalType\":\"address payable\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"toInternalBalance\",\"type\":\"bool\"}],\"internalType\":\"struct IBalancerV2Vault.FundManagement\",\"name\":\"_funds\",\"type\":\"tuple\"},{\"internalType\":\"int256[]\",\"name\":\"_limits\",\"type\":\"int256[]\"},{\"internalType\":\"uint256\",\"name\":\"_deadline\",\"type\":\"uint256\"}],\"name\":\"batchSwap\",\"outputs\":[{\"internalType\":\"int256[]\",\"name\":\"assetDeltas_\",\"type\":\"int256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_poolId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_sender\",\"type\":\"address\"},{\"internalType\":\"address payable\",\"name\":\"_recipient\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"address[]\",\"name\":\"assets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"limits\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"userData\",\"type\":\"bytes\"},{\"internalType\":\"bool\",\"name\":\"useInternalBalance\",\"type\":\"bool\"}],\"internalType\":\"struct IBalancerV2Vault.PoolBalanceChange\",\"name\":\"_request\",\"type\":\"tuple\"}],\"name\":\"exitPool\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_poolId\",\"type\":\"bytes32\"}],\"name\":\"getPoolTokens\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"tokens_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"balances_\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256\",\"name\":\"lastChangeBlock_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_poolId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_recipient\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"address[]\",\"name\":\"assets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"limits\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"userData\",\"type\":\"bytes\"},{\"internalType\":\"bool\",\"name\":\"useInternalBalance\",\"type\":\"bool\"}],\"internalType\":\"struct IBalancerV2Vault.PoolBalanceChange\",\"name\":\"_request\",\"type\":\"tuple\"}],\"name\":\"joinPool\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_relayer\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_approved\",\"type\":\"bool\"}],\"name\":\"setRelayerApproval\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IBalancerV2Vault interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/IBalancerV2Vault.sol\":\"IBalancerV2Vault\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/IBalancerV2Vault.sol\":{\"keccak256\":\"0xb3c8da122ab160129c74ffeb0310ff96c4977d65eef12888bc1a8276fa2a3fd2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c9c89c1e04327c6fa45fbdf9ae8fd132ed95c9101ab49d078ef99c6590c30867\",\"dweb:/ipfs/QmWKrLQg5xBVmi6snaAwU3zUTjxQ6ugYj6n45x1hqRxv9A\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "enum IBalancerV2Vault.SwapKind", - "name": "_kind", - "type": "uint8" - }, - { - "internalType": "struct IBalancerV2Vault.BatchSwapStep[]", - "name": "_swaps", - "type": "tuple[]", - "components": [ - { - "internalType": "bytes32", - "name": "poolId", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "assetInIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "assetOutIndex", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "userData", - "type": "bytes" - } - ] - }, - { - "internalType": "address[]", - "name": "_assets", - "type": "address[]" - }, - { - "internalType": "struct IBalancerV2Vault.FundManagement", - "name": "_funds", - "type": "tuple", - "components": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "bool", - "name": "fromInternalBalance", - "type": "bool" - }, - { - "internalType": "address payable", - "name": "recipient", - "type": "address" - }, - { - "internalType": "bool", - "name": "toInternalBalance", - "type": "bool" - } - ] - }, - { - "internalType": "int256[]", - "name": "_limits", - "type": "int256[]" - }, - { - "internalType": "uint256", - "name": "_deadline", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "batchSwap", - "outputs": [ - { - "internalType": "int256[]", - "name": "assetDeltas_", - "type": "int256[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "_poolId", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "_sender", - "type": "address" - }, - { - "internalType": "address payable", - "name": "_recipient", - "type": "address" - }, - { - "internalType": "struct IBalancerV2Vault.PoolBalanceChange", - "name": "_request", - "type": "tuple", - "components": [ - { - "internalType": "address[]", - "name": "assets", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "limits", - "type": "uint256[]" - }, - { - "internalType": "bytes", - "name": "userData", - "type": "bytes" - }, - { - "internalType": "bool", - "name": "useInternalBalance", - "type": "bool" - } - ] - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "exitPool" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "_poolId", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getPoolTokens", - "outputs": [ - { - "internalType": "address[]", - "name": "tokens_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "balances_", - "type": "uint256[]" - }, - { - "internalType": "uint256", - "name": "lastChangeBlock_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "_poolId", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "_sender", - "type": "address" - }, - { - "internalType": "address", - "name": "_recipient", - "type": "address" - }, - { - "internalType": "struct IBalancerV2Vault.PoolBalanceChange", - "name": "_request", - "type": "tuple", - "components": [ - { - "internalType": "address[]", - "name": "assets", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "limits", - "type": "uint256[]" - }, - { - "internalType": "bytes", - "name": "userData", - "type": "bytes" - }, - { - "internalType": "bool", - "name": "useInternalBalance", - "type": "bool" - } - ] - } - ], - "stateMutability": "payable", - "type": "function", - "name": "joinPool" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_sender", - "type": "address" - }, - { - "internalType": "address", - "name": "_relayer", - "type": "address" - }, - { - "internalType": "bool", - "name": "_approved", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setRelayerApproval" - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/interfaces/IBalancerV2Vault.sol": "IBalancerV2Vault" - }, - "libraries": {} - }, - "sources": { - "contracts/release/interfaces/IBalancerV2Vault.sol": { - "keccak256": "0xb3c8da122ab160129c74ffeb0310ff96c4977d65eef12888bc1a8276fa2a3fd2", - "urls": [ - "bzz-raw://c9c89c1e04327c6fa45fbdf9ae8fd132ed95c9101ab49d078ef99c6590c30867", - "dweb:/ipfs/QmWKrLQg5xBVmi6snaAwU3zUTjxQ6ugYj6n45x1hqRxv9A" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 276 -} +{ "abi": [ { "type": "function", "name": "batchSwap", "inputs": [ { "name": "_kind", "type": "uint8", "internalType": "enum IBalancerV2Vault.SwapKind" }, { "name": "_swaps", "type": "tuple[]", "internalType": "struct IBalancerV2Vault.BatchSwapStep[]", "components": [ { "name": "poolId", "type": "bytes32", "internalType": "bytes32" }, { "name": "assetInIndex", "type": "uint256", "internalType": "uint256" }, { "name": "assetOutIndex", "type": "uint256", "internalType": "uint256" }, { "name": "amount", "type": "uint256", "internalType": "uint256" }, { "name": "userData", "type": "bytes", "internalType": "bytes" } ] }, { "name": "_assets", "type": "address[]", "internalType": "address[]" }, { "name": "_funds", "type": "tuple", "internalType": "struct IBalancerV2Vault.FundManagement", "components": [ { "name": "sender", "type": "address", "internalType": "address" }, { "name": "fromInternalBalance", "type": "bool", "internalType": "bool" }, { "name": "recipient", "type": "address", "internalType": "address payable" }, { "name": "toInternalBalance", "type": "bool", "internalType": "bool" } ] }, { "name": "_limits", "type": "int256[]", "internalType": "int256[]" }, { "name": "_deadline", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "assetDeltas_", "type": "int256[]", "internalType": "int256[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "exitPool", "inputs": [ { "name": "_poolId", "type": "bytes32", "internalType": "bytes32" }, { "name": "_sender", "type": "address", "internalType": "address" }, { "name": "_recipient", "type": "address", "internalType": "address payable" }, { "name": "_request", "type": "tuple", "internalType": "struct IBalancerV2Vault.PoolBalanceChange", "components": [ { "name": "assets", "type": "address[]", "internalType": "address[]" }, { "name": "limits", "type": "uint256[]", "internalType": "uint256[]" }, { "name": "userData", "type": "bytes", "internalType": "bytes" }, { "name": "useInternalBalance", "type": "bool", "internalType": "bool" } ] } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "getPoolTokens", "inputs": [ { "name": "_poolId", "type": "bytes32", "internalType": "bytes32" } ], "outputs": [ { "name": "tokens_", "type": "address[]", "internalType": "address[]" }, { "name": "balances_", "type": "uint256[]", "internalType": "uint256[]" }, { "name": "lastChangeBlock_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "joinPool", "inputs": [ { "name": "_poolId", "type": "bytes32", "internalType": "bytes32" }, { "name": "_sender", "type": "address", "internalType": "address" }, { "name": "_recipient", "type": "address", "internalType": "address" }, { "name": "_request", "type": "tuple", "internalType": "struct IBalancerV2Vault.PoolBalanceChange", "components": [ { "name": "assets", "type": "address[]", "internalType": "address[]" }, { "name": "limits", "type": "uint256[]", "internalType": "uint256[]" }, { "name": "userData", "type": "bytes", "internalType": "bytes" }, { "name": "useInternalBalance", "type": "bool", "internalType": "bool" } ] } ], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "setRelayerApproval", "inputs": [ { "name": "_sender", "type": "address", "internalType": "address" }, { "name": "_relayer", "type": "address", "internalType": "address" }, { "name": "_approved", "type": "bool", "internalType": "bool" } ], "outputs": [], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "batchSwap(uint8,(bytes32,uint256,uint256,uint256,bytes)[],address[],(address,bool,address,bool),int256[],uint256)": "945bcec9", "exitPool(bytes32,address,address,(address[],uint256[],bytes,bool))": "8bdb3913", "getPoolTokens(bytes32)": "f94d4668", "joinPool(bytes32,address,address,(address[],uint256[],bytes,bool))": "b95cac28", "setRelayerApproval(address,address,bool)": "fa6e671d" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"enum IBalancerV2Vault.SwapKind\",\"name\":\"_kind\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"poolId\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"assetInIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"assetOutIndex\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"userData\",\"type\":\"bytes\"}],\"internalType\":\"struct IBalancerV2Vault.BatchSwapStep[]\",\"name\":\"_swaps\",\"type\":\"tuple[]\"},{\"internalType\":\"address[]\",\"name\":\"_assets\",\"type\":\"address[]\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"fromInternalBalance\",\"type\":\"bool\"},{\"internalType\":\"address payable\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"toInternalBalance\",\"type\":\"bool\"}],\"internalType\":\"struct IBalancerV2Vault.FundManagement\",\"name\":\"_funds\",\"type\":\"tuple\"},{\"internalType\":\"int256[]\",\"name\":\"_limits\",\"type\":\"int256[]\"},{\"internalType\":\"uint256\",\"name\":\"_deadline\",\"type\":\"uint256\"}],\"name\":\"batchSwap\",\"outputs\":[{\"internalType\":\"int256[]\",\"name\":\"assetDeltas_\",\"type\":\"int256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_poolId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_sender\",\"type\":\"address\"},{\"internalType\":\"address payable\",\"name\":\"_recipient\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"address[]\",\"name\":\"assets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"limits\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"userData\",\"type\":\"bytes\"},{\"internalType\":\"bool\",\"name\":\"useInternalBalance\",\"type\":\"bool\"}],\"internalType\":\"struct IBalancerV2Vault.PoolBalanceChange\",\"name\":\"_request\",\"type\":\"tuple\"}],\"name\":\"exitPool\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_poolId\",\"type\":\"bytes32\"}],\"name\":\"getPoolTokens\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"tokens_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"balances_\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256\",\"name\":\"lastChangeBlock_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_poolId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_recipient\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"address[]\",\"name\":\"assets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"limits\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"userData\",\"type\":\"bytes\"},{\"internalType\":\"bool\",\"name\":\"useInternalBalance\",\"type\":\"bool\"}],\"internalType\":\"struct IBalancerV2Vault.PoolBalanceChange\",\"name\":\"_request\",\"type\":\"tuple\"}],\"name\":\"joinPool\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_relayer\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_approved\",\"type\":\"bool\"}],\"name\":\"setRelayerApproval\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IBalancerV2Vault interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/IBalancerV2Vault.sol\":\"IBalancerV2Vault\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/IBalancerV2Vault.sol\":{\"keccak256\":\"0xb3c8da122ab160129c74ffeb0310ff96c4977d65eef12888bc1a8276fa2a3fd2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c9c89c1e04327c6fa45fbdf9ae8fd132ed95c9101ab49d078ef99c6590c30867\",\"dweb:/ipfs/QmWKrLQg5xBVmi6snaAwU3zUTjxQ6ugYj6n45x1hqRxv9A\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "enum IBalancerV2Vault.SwapKind", "name": "_kind", "type": "uint8" }, { "internalType": "struct IBalancerV2Vault.BatchSwapStep[]", "name": "_swaps", "type": "tuple[]", "components": [ { "internalType": "bytes32", "name": "poolId", "type": "bytes32" }, { "internalType": "uint256", "name": "assetInIndex", "type": "uint256" }, { "internalType": "uint256", "name": "assetOutIndex", "type": "uint256" }, { "internalType": "uint256", "name": "amount", "type": "uint256" }, { "internalType": "bytes", "name": "userData", "type": "bytes" } ] }, { "internalType": "address[]", "name": "_assets", "type": "address[]" }, { "internalType": "struct IBalancerV2Vault.FundManagement", "name": "_funds", "type": "tuple", "components": [ { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "bool", "name": "fromInternalBalance", "type": "bool" }, { "internalType": "address payable", "name": "recipient", "type": "address" }, { "internalType": "bool", "name": "toInternalBalance", "type": "bool" } ] }, { "internalType": "int256[]", "name": "_limits", "type": "int256[]" }, { "internalType": "uint256", "name": "_deadline", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "batchSwap", "outputs": [ { "internalType": "int256[]", "name": "assetDeltas_", "type": "int256[]" } ] }, { "inputs": [ { "internalType": "bytes32", "name": "_poolId", "type": "bytes32" }, { "internalType": "address", "name": "_sender", "type": "address" }, { "internalType": "address payable", "name": "_recipient", "type": "address" }, { "internalType": "struct IBalancerV2Vault.PoolBalanceChange", "name": "_request", "type": "tuple", "components": [ { "internalType": "address[]", "name": "assets", "type": "address[]" }, { "internalType": "uint256[]", "name": "limits", "type": "uint256[]" }, { "internalType": "bytes", "name": "userData", "type": "bytes" }, { "internalType": "bool", "name": "useInternalBalance", "type": "bool" } ] } ], "stateMutability": "nonpayable", "type": "function", "name": "exitPool" }, { "inputs": [ { "internalType": "bytes32", "name": "_poolId", "type": "bytes32" } ], "stateMutability": "view", "type": "function", "name": "getPoolTokens", "outputs": [ { "internalType": "address[]", "name": "tokens_", "type": "address[]" }, { "internalType": "uint256[]", "name": "balances_", "type": "uint256[]" }, { "internalType": "uint256", "name": "lastChangeBlock_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "bytes32", "name": "_poolId", "type": "bytes32" }, { "internalType": "address", "name": "_sender", "type": "address" }, { "internalType": "address", "name": "_recipient", "type": "address" }, { "internalType": "struct IBalancerV2Vault.PoolBalanceChange", "name": "_request", "type": "tuple", "components": [ { "internalType": "address[]", "name": "assets", "type": "address[]" }, { "internalType": "uint256[]", "name": "limits", "type": "uint256[]" }, { "internalType": "bytes", "name": "userData", "type": "bytes" }, { "internalType": "bool", "name": "useInternalBalance", "type": "bool" } ] } ], "stateMutability": "payable", "type": "function", "name": "joinPool" }, { "inputs": [ { "internalType": "address", "name": "_sender", "type": "address" }, { "internalType": "address", "name": "_relayer", "type": "address" }, { "internalType": "bool", "name": "_approved", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function", "name": "setRelayerApproval" } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/interfaces/IBalancerV2Vault.sol": "IBalancerV2Vault" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/interfaces/IBalancerV2Vault.sol": { "keccak256": "0xb3c8da122ab160129c74ffeb0310ff96c4977d65eef12888bc1a8276fa2a3fd2", "urls": [ "bzz-raw://c9c89c1e04327c6fa45fbdf9ae8fd132ed95c9101ab49d078ef99c6590c30867", "dweb:/ipfs/QmWKrLQg5xBVmi6snaAwU3zUTjxQ6ugYj6n45x1hqRxv9A" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 276 } diff --git a/eth_defi/abi/enzyme/IBalancerV2WeightedPool.json b/eth_defi/abi/enzyme/IBalancerV2WeightedPool.json index f1e90642..6056bd59 100644 --- a/eth_defi/abi/enzyme/IBalancerV2WeightedPool.json +++ b/eth_defi/abi/enzyme/IBalancerV2WeightedPool.json @@ -1,162 +1 @@ -{ - "abi": [ - { - "inputs": [], - "name": "getInvariant", - "outputs": [ - { - "internalType": "uint256", - "name": "invariant_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getNormalizedWeights", - "outputs": [ - { - "internalType": "uint256[]", - "name": "weights_", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getPoolId", - "outputs": [ - { - "internalType": "bytes32", - "name": "poolId_", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "getInvariant()": "c0ff1a15", - "getNormalizedWeights()": "f89f27ed", - "getPoolId()": "38fff2d0" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"getInvariant\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"invariant_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getNormalizedWeights\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"weights_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPoolId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"poolId_\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IBalancerV2WeightedPool interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/IBalancerV2WeightedPool.sol\":\"IBalancerV2WeightedPool\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/IBalancerV2WeightedPool.sol\":{\"keccak256\":\"0x0e14c80f4a2c01d5528ab7feddf491f8074f84736b7d72d9d7cb3d526e3c447a\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ed724083136114b979eb7dcc0e95e4ff02f627ab066c9ce20ec3b8807e7d0b98\",\"dweb:/ipfs/QmeNvftCHn7PNDsLpxGJN8cA9Cq66wV6Z1cgoEQT6ufHUP\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getInvariant", - "outputs": [ - { - "internalType": "uint256", - "name": "invariant_", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getNormalizedWeights", - "outputs": [ - { - "internalType": "uint256[]", - "name": "weights_", - "type": "uint256[]" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getPoolId", - "outputs": [ - { - "internalType": "bytes32", - "name": "poolId_", - "type": "bytes32" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/interfaces/IBalancerV2WeightedPool.sol": "IBalancerV2WeightedPool" - }, - "libraries": {} - }, - "sources": { - "contracts/release/interfaces/IBalancerV2WeightedPool.sol": { - "keccak256": "0x0e14c80f4a2c01d5528ab7feddf491f8074f84736b7d72d9d7cb3d526e3c447a", - "urls": [ - "bzz-raw://ed724083136114b979eb7dcc0e95e4ff02f627ab066c9ce20ec3b8807e7d0b98", - "dweb:/ipfs/QmeNvftCHn7PNDsLpxGJN8cA9Cq66wV6Z1cgoEQT6ufHUP" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 277 -} +{ "abi": [ { "type": "function", "name": "getInvariant", "inputs": [], "outputs": [ { "name": "invariant_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "getNormalizedWeights", "inputs": [], "outputs": [ { "name": "weights_", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "view" }, { "type": "function", "name": "getPoolId", "inputs": [], "outputs": [ { "name": "poolId_", "type": "bytes32", "internalType": "bytes32" } ], "stateMutability": "view" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "getInvariant()": "c0ff1a15", "getNormalizedWeights()": "f89f27ed", "getPoolId()": "38fff2d0" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"getInvariant\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"invariant_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getNormalizedWeights\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"weights_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPoolId\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"poolId_\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IBalancerV2WeightedPool interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/IBalancerV2WeightedPool.sol\":\"IBalancerV2WeightedPool\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/IBalancerV2WeightedPool.sol\":{\"keccak256\":\"0x0e14c80f4a2c01d5528ab7feddf491f8074f84736b7d72d9d7cb3d526e3c447a\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ed724083136114b979eb7dcc0e95e4ff02f627ab066c9ce20ec3b8807e7d0b98\",\"dweb:/ipfs/QmeNvftCHn7PNDsLpxGJN8cA9Cq66wV6Z1cgoEQT6ufHUP\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [], "stateMutability": "view", "type": "function", "name": "getInvariant", "outputs": [ { "internalType": "uint256", "name": "invariant_", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getNormalizedWeights", "outputs": [ { "internalType": "uint256[]", "name": "weights_", "type": "uint256[]" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getPoolId", "outputs": [ { "internalType": "bytes32", "name": "poolId_", "type": "bytes32" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/interfaces/IBalancerV2WeightedPool.sol": "IBalancerV2WeightedPool" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/interfaces/IBalancerV2WeightedPool.sol": { "keccak256": "0x0e14c80f4a2c01d5528ab7feddf491f8074f84736b7d72d9d7cb3d526e3c447a", "urls": [ "bzz-raw://ed724083136114b979eb7dcc0e95e4ff02f627ab066c9ce20ec3b8807e7d0b98", "dweb:/ipfs/QmeNvftCHn7PNDsLpxGJN8cA9Cq66wV6Z1cgoEQT6ufHUP" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 277 } diff --git a/eth_defi/abi/enzyme/IBeacon.json b/eth_defi/abi/enzyme/IBeacon.json index 365206ab..d4b42a6a 100644 --- a/eth_defi/abi/enzyme/IBeacon.json +++ b/eth_defi/abi/enzyme/IBeacon.json @@ -1,108 +1 @@ -{ - "abi": [ - { - "inputs": [], - "name": "getCanonicalLib", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "getCanonicalLib()": "98a7c4c7" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"getCanonicalLib\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IBeacon interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/utils/beacon-proxy/IBeacon.sol\":\"IBeacon\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/utils/beacon-proxy/IBeacon.sol\":{\"keccak256\":\"0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39\",\"dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getCanonicalLib", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/utils/beacon-proxy/IBeacon.sol": "IBeacon" - }, - "libraries": {} - }, - "sources": { - "contracts/release/utils/beacon-proxy/IBeacon.sol": { - "keccak256": "0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2", - "urls": [ - "bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39", - "dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 366 -} +{ "abi": [ { "type": "function", "name": "getCanonicalLib", "inputs": [], "outputs": [ { "name": "", "type": "address", "internalType": "address" } ], "stateMutability": "view" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "getCanonicalLib()": "98a7c4c7" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"getCanonicalLib\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IBeacon interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/utils/beacon-proxy/IBeacon.sol\":\"IBeacon\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/utils/beacon-proxy/IBeacon.sol\":{\"keccak256\":\"0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39\",\"dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [], "stateMutability": "view", "type": "function", "name": "getCanonicalLib", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/utils/beacon-proxy/IBeacon.sol": "IBeacon" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/utils/beacon-proxy/IBeacon.sol": { "keccak256": "0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2", "urls": [ "bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39", "dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 366 } diff --git a/eth_defi/abi/enzyme/IBeaconProxyFactory.json b/eth_defi/abi/enzyme/IBeaconProxyFactory.json index 1695e4f5..f2124b2b 100644 --- a/eth_defi/abi/enzyme/IBeaconProxyFactory.json +++ b/eth_defi/abi/enzyme/IBeaconProxyFactory.json @@ -1,181 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "bytes", - "name": "_constructData", - "type": "bytes" - } - ], - "name": "deployProxy", - "outputs": [ - { - "internalType": "address", - "name": "proxy_", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getCanonicalLib", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_canonicalLib", - "type": "address" - } - ], - "name": "setCanonicalLib", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "deployProxy(bytes)": "0c0872f5", - "getCanonicalLib()": "98a7c4c7", - "setCanonicalLib(address)": "d0ac1a8d" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_constructData\",\"type\":\"bytes\"}],\"name\":\"deployProxy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"proxy_\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCanonicalLib\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_canonicalLib\",\"type\":\"address\"}],\"name\":\"setCanonicalLib\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IBeaconProxyFactory interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol\":\"IBeaconProxyFactory\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/utils/beacon-proxy/IBeacon.sol\":{\"keccak256\":\"0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39\",\"dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V\"]},\"contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol\":{\"keccak256\":\"0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be\",\"dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "bytes", - "name": "_constructData", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "deployProxy", - "outputs": [ - { - "internalType": "address", - "name": "proxy_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getCanonicalLib", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_canonicalLib", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setCanonicalLib" - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol": "IBeaconProxyFactory" - }, - "libraries": {} - }, - "sources": { - "contracts/release/utils/beacon-proxy/IBeacon.sol": { - "keccak256": "0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2", - "urls": [ - "bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39", - "dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol": { - "keccak256": "0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc", - "urls": [ - "bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be", - "dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 367 -} +{ "abi": [ { "type": "function", "name": "deployProxy", "inputs": [ { "name": "_constructData", "type": "bytes", "internalType": "bytes" } ], "outputs": [ { "name": "proxy_", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "getCanonicalLib", "inputs": [], "outputs": [ { "name": "", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "setCanonicalLib", "inputs": [ { "name": "_canonicalLib", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "deployProxy(bytes)": "0c0872f5", "getCanonicalLib()": "98a7c4c7", "setCanonicalLib(address)": "d0ac1a8d" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_constructData\",\"type\":\"bytes\"}],\"name\":\"deployProxy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"proxy_\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCanonicalLib\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_canonicalLib\",\"type\":\"address\"}],\"name\":\"setCanonicalLib\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IBeaconProxyFactory interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol\":\"IBeaconProxyFactory\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/utils/beacon-proxy/IBeacon.sol\":{\"keccak256\":\"0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39\",\"dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V\"]},\"contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol\":{\"keccak256\":\"0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be\",\"dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "bytes", "name": "_constructData", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "deployProxy", "outputs": [ { "internalType": "address", "name": "proxy_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getCanonicalLib", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_canonicalLib", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "setCanonicalLib" } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol": "IBeaconProxyFactory" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/utils/beacon-proxy/IBeacon.sol": { "keccak256": "0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2", "urls": [ "bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39", "dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V" ], "license": "GPL-3.0" }, "contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol": { "keccak256": "0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc", "urls": [ "bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be", "dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 367 } diff --git a/eth_defi/abi/enzyme/ICERC20.json b/eth_defi/abi/enzyme/ICERC20.json index ad906073..48655101 100644 --- a/eth_defi/abi/enzyme/ICERC20.json +++ b/eth_defi/abi/enzyme/ICERC20.json @@ -1,783 +1 @@ -{ - "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": [], - "name": "accrueInterest", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "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": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "borrow", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "borrowBalanceStored", - "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": "exchangeRateStored", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "mint", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "redeem", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "repayBorrow", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "underlying", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "accrueInterest()": "a6afed95", - "allowance(address,address)": "dd62ed3e", - "approve(address,uint256)": "095ea7b3", - "balanceOf(address)": "70a08231", - "borrow(uint256)": "c5ebeaec", - "borrowBalanceStored(address)": "95dd9193", - "decimals()": "313ce567", - "exchangeRateStored()": "182df0f5", - "mint(uint256)": "a0712d68", - "redeem(uint256)": "db006a75", - "repayBorrow(uint256)": "0e752702", - "totalSupply()": "18160ddd", - "transfer(address,uint256)": "a9059cbb", - "transferFrom(address,address,uint256)": "23b872dd", - "underlying()": "6f307dc3" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"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\":[],\"name\":\"accrueInterest\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"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\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"borrow\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"borrowBalanceStored\",\"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\":\"exchangeRateStored\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"redeem\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"repayBorrow\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"underlying\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"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 `recipient`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Moves `amount` tokens from `sender` to `recipient` 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.\"}},\"title\":\"ICERC20 Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Minimal interface for interactions with Compound tokens (cTokens)\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/ICERC20.sol\":\"ICERC20\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/ICERC20.sol\":{\"keccak256\":\"0x9a32a6ca307ac613bde26844d33e1732ae348bceffc93d63e3691f2ff22c6e0b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9c7aff5bf1c249fab27262fb1dc934325e259e5fd6857fbad70c8684f8ee4247\",\"dweb:/ipfs/QmTAneTyW2oCTZGVMVEAp77qMW9U9NymoK8k3RcwpNRh5W\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "spender", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "Approval", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "to", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "Transfer", - "anonymous": false - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "accrueInterest", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "borrow", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "borrowBalanceStored", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "exchangeRateStored", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "mint", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "redeem", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "repayBorrow", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "underlying", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - } - ], - "devdoc": { - "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 `recipient`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event." - }, - "transferFrom(address,address,uint256)": { - "details": "Moves `amount` tokens from `sender` to `recipient` 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": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/interfaces/ICERC20.sol": "ICERC20" - }, - "libraries": {} - }, - "sources": { - "contracts/release/interfaces/ICERC20.sol": { - "keccak256": "0x9a32a6ca307ac613bde26844d33e1732ae348bceffc93d63e3691f2ff22c6e0b", - "urls": [ - "bzz-raw://9c7aff5bf1c249fab27262fb1dc934325e259e5fd6857fbad70c8684f8ee4247", - "dweb:/ipfs/QmTAneTyW2oCTZGVMVEAp77qMW9U9NymoK8k3RcwpNRh5W" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 278 -} +{ "abi": [ { "type": "function", "name": "accrueInterest", "inputs": [], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "allowance", "inputs": [ { "name": "owner", "type": "address", "internalType": "address" }, { "name": "spender", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "approve", "inputs": [ { "name": "spender", "type": "address", "internalType": "address" }, { "name": "amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "balanceOf", "inputs": [ { "name": "account", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "borrow", "inputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "borrowBalanceStored", "inputs": [ { "name": "", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "decimals", "inputs": [], "outputs": [ { "name": "", "type": "uint8", "internalType": "uint8" } ], "stateMutability": "view" }, { "type": "function", "name": "exchangeRateStored", "inputs": [], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "mint", "inputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "redeem", "inputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "repayBorrow", "inputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "totalSupply", "inputs": [], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "transfer", "inputs": [ { "name": "recipient", "type": "address", "internalType": "address" }, { "name": "amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "transferFrom", "inputs": [ { "name": "sender", "type": "address", "internalType": "address" }, { "name": "recipient", "type": "address", "internalType": "address" }, { "name": "amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "underlying", "inputs": [], "outputs": [ { "name": "", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "event", "name": "Approval", "inputs": [ { "name": "owner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "spender", "type": "address", "indexed": true, "internalType": "address" }, { "name": "value", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "Transfer", "inputs": [ { "name": "from", "type": "address", "indexed": true, "internalType": "address" }, { "name": "to", "type": "address", "indexed": true, "internalType": "address" }, { "name": "value", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "accrueInterest()": "a6afed95", "allowance(address,address)": "dd62ed3e", "approve(address,uint256)": "095ea7b3", "balanceOf(address)": "70a08231", "borrow(uint256)": "c5ebeaec", "borrowBalanceStored(address)": "95dd9193", "decimals()": "313ce567", "exchangeRateStored()": "182df0f5", "mint(uint256)": "a0712d68", "redeem(uint256)": "db006a75", "repayBorrow(uint256)": "0e752702", "totalSupply()": "18160ddd", "transfer(address,uint256)": "a9059cbb", "transferFrom(address,address,uint256)": "23b872dd", "underlying()": "6f307dc3" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"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\":[],\"name\":\"accrueInterest\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"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\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"borrow\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"borrowBalanceStored\",\"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\":\"exchangeRateStored\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"redeem\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"repayBorrow\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"underlying\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"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 `recipient`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Moves `amount` tokens from `sender` to `recipient` 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.\"}},\"title\":\"ICERC20 Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Minimal interface for interactions with Compound tokens (cTokens)\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/ICERC20.sol\":\"ICERC20\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/ICERC20.sol\":{\"keccak256\":\"0x9a32a6ca307ac613bde26844d33e1732ae348bceffc93d63e3691f2ff22c6e0b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9c7aff5bf1c249fab27262fb1dc934325e259e5fd6857fbad70c8684f8ee4247\",\"dweb:/ipfs/QmTAneTyW2oCTZGVMVEAp77qMW9U9NymoK8k3RcwpNRh5W\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "owner", "type": "address", "indexed": true }, { "internalType": "address", "name": "spender", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "value", "type": "uint256", "indexed": false } ], "type": "event", "name": "Approval", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address", "indexed": true }, { "internalType": "address", "name": "to", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "value", "type": "uint256", "indexed": false } ], "type": "event", "name": "Transfer", "anonymous": false }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "accrueInterest", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "borrow", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "borrowBalanceStored", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "exchangeRateStored", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "mint", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "redeem", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "repayBorrow", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "underlying", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ] } ], "devdoc": { "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 `recipient`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event." }, "transferFrom(address,address,uint256)": { "details": "Moves `amount` tokens from `sender` to `recipient` 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": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/interfaces/ICERC20.sol": "ICERC20" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/interfaces/ICERC20.sol": { "keccak256": "0x9a32a6ca307ac613bde26844d33e1732ae348bceffc93d63e3691f2ff22c6e0b", "urls": [ "bzz-raw://9c7aff5bf1c249fab27262fb1dc934325e259e5fd6857fbad70c8684f8ee4247", "dweb:/ipfs/QmTAneTyW2oCTZGVMVEAp77qMW9U9NymoK8k3RcwpNRh5W" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" } }, "version": 1 }, "id": 278 } diff --git a/eth_defi/abi/enzyme/ICEther.json b/eth_defi/abi/enzyme/ICEther.json index 924c0700..d245d71b 100644 --- a/eth_defi/abi/enzyme/ICEther.json +++ b/eth_defi/abi/enzyme/ICEther.json @@ -1,109 +1 @@ -{ - "abi": [ - { - "inputs": [], - "name": "mint", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [], - "name": "repayBorrow", - "outputs": [], - "stateMutability": "payable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "mint()": "1249c58b", - "repayBorrow()": "4e4d9fea" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"mint\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"repayBorrow\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ICEther Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Minimal interface for interactions with Compound Ether\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/ICEther.sol\":\"ICEther\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/ICEther.sol\":{\"keccak256\":\"0x7baa90be9075da954ed5630133b94d13ef857a6a66d4333ea83145ccb192c709\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6cf10fa111356f5dc32fe9de42c23ee32a766d7bacb1447e5ca9163702338064\",\"dweb:/ipfs/QmTrC9ngVaTm9bVSUyVpZV7J8gNSKbbvXcv36wdhikoSLo\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [], - "stateMutability": "payable", - "type": "function", - "name": "mint" - }, - { - "inputs": [], - "stateMutability": "payable", - "type": "function", - "name": "repayBorrow" - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/interfaces/ICEther.sol": "ICEther" - }, - "libraries": {} - }, - "sources": { - "contracts/release/interfaces/ICEther.sol": { - "keccak256": "0x7baa90be9075da954ed5630133b94d13ef857a6a66d4333ea83145ccb192c709", - "urls": [ - "bzz-raw://6cf10fa111356f5dc32fe9de42c23ee32a766d7bacb1447e5ca9163702338064", - "dweb:/ipfs/QmTrC9ngVaTm9bVSUyVpZV7J8gNSKbbvXcv36wdhikoSLo" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 279 -} +{ "abi": [ { "type": "function", "name": "mint", "inputs": [], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "repayBorrow", "inputs": [], "outputs": [], "stateMutability": "payable" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "mint()": "1249c58b", "repayBorrow()": "4e4d9fea" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"mint\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"repayBorrow\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ICEther Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Minimal interface for interactions with Compound Ether\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/ICEther.sol\":\"ICEther\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/ICEther.sol\":{\"keccak256\":\"0x7baa90be9075da954ed5630133b94d13ef857a6a66d4333ea83145ccb192c709\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6cf10fa111356f5dc32fe9de42c23ee32a766d7bacb1447e5ca9163702338064\",\"dweb:/ipfs/QmTrC9ngVaTm9bVSUyVpZV7J8gNSKbbvXcv36wdhikoSLo\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [], "stateMutability": "payable", "type": "function", "name": "mint" }, { "inputs": [], "stateMutability": "payable", "type": "function", "name": "repayBorrow" } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/interfaces/ICEther.sol": "ICEther" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/interfaces/ICEther.sol": { "keccak256": "0x7baa90be9075da954ed5630133b94d13ef857a6a66d4333ea83145ccb192c709", "urls": [ "bzz-raw://6cf10fa111356f5dc32fe9de42c23ee32a766d7bacb1447e5ca9163702338064", "dweb:/ipfs/QmTrC9ngVaTm9bVSUyVpZV7J8gNSKbbvXcv36wdhikoSLo" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 279 } diff --git a/eth_defi/abi/enzyme/IChainlinkAggregator.json b/eth_defi/abi/enzyme/IChainlinkAggregator.json index e7871b0d..9166aec9 100644 --- a/eth_defi/abi/enzyme/IChainlinkAggregator.json +++ b/eth_defi/abi/enzyme/IChainlinkAggregator.json @@ -1,148 +1 @@ -{ - "abi": [ - { - "inputs": [], - "name": "latestRoundData", - "outputs": [ - { - "internalType": "uint80", - "name": "", - "type": "uint80" - }, - { - "internalType": "int256", - "name": "", - "type": "int256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint80", - "name": "", - "type": "uint80" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "latestRoundData()": "feaf968c" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"latestRoundData\",\"outputs\":[{\"internalType\":\"uint80\",\"name\":\"\",\"type\":\"uint80\"},{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint80\",\"name\":\"\",\"type\":\"uint80\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IChainlinkAggregator Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/IChainlinkAggregator.sol\":\"IChainlinkAggregator\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/IChainlinkAggregator.sol\":{\"keccak256\":\"0x8104db68d4edc00c86b29b366f4397cdbe7bd95bb9dc90f54140af4bae963788\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://4664240be22fe76bd4e84d1cbaace3998dbc96759a14345819a889f0c288d22e\",\"dweb:/ipfs/QmQ8fbA4tvXeCeaAFeS2JrLEQUPFeYrePAKoUywRtcicgA\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "latestRoundData", - "outputs": [ - { - "internalType": "uint80", - "name": "", - "type": "uint80" - }, - { - "internalType": "int256", - "name": "", - "type": "int256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint80", - "name": "", - "type": "uint80" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/interfaces/IChainlinkAggregator.sol": "IChainlinkAggregator" - }, - "libraries": {} - }, - "sources": { - "contracts/release/interfaces/IChainlinkAggregator.sol": { - "keccak256": "0x8104db68d4edc00c86b29b366f4397cdbe7bd95bb9dc90f54140af4bae963788", - "urls": [ - "bzz-raw://4664240be22fe76bd4e84d1cbaace3998dbc96759a14345819a889f0c288d22e", - "dweb:/ipfs/QmQ8fbA4tvXeCeaAFeS2JrLEQUPFeYrePAKoUywRtcicgA" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 280 -} +{ "abi": [ { "type": "function", "name": "latestRoundData", "inputs": [], "outputs": [ { "name": "", "type": "uint80", "internalType": "uint80" }, { "name": "", "type": "int256", "internalType": "int256" }, { "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "uint80", "internalType": "uint80" } ], "stateMutability": "view" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "latestRoundData()": "feaf968c" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"latestRoundData\",\"outputs\":[{\"internalType\":\"uint80\",\"name\":\"\",\"type\":\"uint80\"},{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint80\",\"name\":\"\",\"type\":\"uint80\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IChainlinkAggregator Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/IChainlinkAggregator.sol\":\"IChainlinkAggregator\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/IChainlinkAggregator.sol\":{\"keccak256\":\"0x8104db68d4edc00c86b29b366f4397cdbe7bd95bb9dc90f54140af4bae963788\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://4664240be22fe76bd4e84d1cbaace3998dbc96759a14345819a889f0c288d22e\",\"dweb:/ipfs/QmQ8fbA4tvXeCeaAFeS2JrLEQUPFeYrePAKoUywRtcicgA\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [], "stateMutability": "view", "type": "function", "name": "latestRoundData", "outputs": [ { "internalType": "uint80", "name": "", "type": "uint80" }, { "internalType": "int256", "name": "", "type": "int256" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint80", "name": "", "type": "uint80" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/interfaces/IChainlinkAggregator.sol": "IChainlinkAggregator" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/interfaces/IChainlinkAggregator.sol": { "keccak256": "0x8104db68d4edc00c86b29b366f4397cdbe7bd95bb9dc90f54140af4bae963788", "urls": [ "bzz-raw://4664240be22fe76bd4e84d1cbaace3998dbc96759a14345819a889f0c288d22e", "dweb:/ipfs/QmQ8fbA4tvXeCeaAFeS2JrLEQUPFeYrePAKoUywRtcicgA" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 280 } diff --git a/eth_defi/abi/enzyme/IChainlinkAggregatorFundValueCalculatorUsdWrapper.json b/eth_defi/abi/enzyme/IChainlinkAggregatorFundValueCalculatorUsdWrapper.json index 31253563..b36e57d5 100644 --- a/eth_defi/abi/enzyme/IChainlinkAggregatorFundValueCalculatorUsdWrapper.json +++ b/eth_defi/abi/enzyme/IChainlinkAggregatorFundValueCalculatorUsdWrapper.json @@ -1,180 +1 @@ -{ - "abi": [ - { - "inputs": [], - "name": "latestRoundData", - "outputs": [ - { - "internalType": "uint80", - "name": "", - "type": "uint80" - }, - { - "internalType": "int256", - "name": "", - "type": "int256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint80", - "name": "", - "type": "uint80" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "latestRoundData()": "feaf968c" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"latestRoundData\",\"outputs\":[{\"internalType\":\"uint80\",\"name\":\"\",\"type\":\"uint80\"},{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint80\",\"name\":\"\",\"type\":\"uint80\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IChainlinkAggregatorFundValueCalculatorUsdWrapper Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/off-chain/fund-value-calculator-usd-wrapper/FundValueCalculatorUsdWrapper.sol\":\"IChainlinkAggregatorFundValueCalculatorUsdWrapper\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/off-chain/fund-value-calculator-usd-wrapper/FundValueCalculatorUsdWrapper.sol\":{\"keccak256\":\"0xc3c5e8014a0ba529376f25acf17319dc7e1f723421bcaa4f3028f233a94261b3\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b60b51fdaeea8f7c41faa6868ce366218f9504987678a83faccc371656967aff\",\"dweb:/ipfs/QmdU9KyTpUyNfDXT4QNSMwfswDZr6Z4okE9DqX3EFLL3cm\"]},\"contracts/persistent/off-chain/fund-value-calculator/FundValueCalculatorRouter.sol\":{\"keccak256\":\"0x313dcaccdb58e7e24854243cfe7286285dd385a1cbaa7836f9fe3beaa8c9b94c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://db28f41b75d384877faa0e7dca4c713b0d59cb84e97b7393805212a672453474\",\"dweb:/ipfs/QmVWq8rzvUkuuH4F5KRj2taWi1eHkgdvHkQptHa8P18arS\"]},\"contracts/persistent/off-chain/fund-value-calculator/IFundValueCalculator.sol\":{\"keccak256\":\"0x993e11b879d6ad85f5ecf5f8e1880989c010bdf03de2079b39f66a953844de2d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f61a09908b981589bc4d3657736276f463f1ea23f9811b8d174cd5de224b556d\",\"dweb:/ipfs/QmU6rYofnKmWSTBzshVMxFnVRtBKCECSpnGepDy6DddCbv\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "latestRoundData", - "outputs": [ - { - "internalType": "uint80", - "name": "", - "type": "uint80" - }, - { - "internalType": "int256", - "name": "", - "type": "int256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint80", - "name": "", - "type": "uint80" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/persistent/off-chain/fund-value-calculator-usd-wrapper/FundValueCalculatorUsdWrapper.sol": "IChainlinkAggregatorFundValueCalculatorUsdWrapper" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/dispatcher/IDispatcher.sol": { - "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", - "urls": [ - "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", - "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/off-chain/fund-value-calculator-usd-wrapper/FundValueCalculatorUsdWrapper.sol": { - "keccak256": "0xc3c5e8014a0ba529376f25acf17319dc7e1f723421bcaa4f3028f233a94261b3", - "urls": [ - "bzz-raw://b60b51fdaeea8f7c41faa6868ce366218f9504987678a83faccc371656967aff", - "dweb:/ipfs/QmdU9KyTpUyNfDXT4QNSMwfswDZr6Z4okE9DqX3EFLL3cm" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/off-chain/fund-value-calculator/FundValueCalculatorRouter.sol": { - "keccak256": "0x313dcaccdb58e7e24854243cfe7286285dd385a1cbaa7836f9fe3beaa8c9b94c", - "urls": [ - "bzz-raw://db28f41b75d384877faa0e7dca4c713b0d59cb84e97b7393805212a672453474", - "dweb:/ipfs/QmVWq8rzvUkuuH4F5KRj2taWi1eHkgdvHkQptHa8P18arS" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/off-chain/fund-value-calculator/IFundValueCalculator.sol": { - "keccak256": "0x993e11b879d6ad85f5ecf5f8e1880989c010bdf03de2079b39f66a953844de2d", - "urls": [ - "bzz-raw://f61a09908b981589bc4d3657736276f463f1ea23f9811b8d174cd5de224b556d", - "dweb:/ipfs/QmU6rYofnKmWSTBzshVMxFnVRtBKCECSpnGepDy6DddCbv" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 48 -} +{ "abi": [ { "type": "function", "name": "latestRoundData", "inputs": [], "outputs": [ { "name": "", "type": "uint80", "internalType": "uint80" }, { "name": "", "type": "int256", "internalType": "int256" }, { "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "uint80", "internalType": "uint80" } ], "stateMutability": "view" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "latestRoundData()": "feaf968c" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"latestRoundData\",\"outputs\":[{\"internalType\":\"uint80\",\"name\":\"\",\"type\":\"uint80\"},{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint80\",\"name\":\"\",\"type\":\"uint80\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IChainlinkAggregatorFundValueCalculatorUsdWrapper Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/off-chain/fund-value-calculator-usd-wrapper/FundValueCalculatorUsdWrapper.sol\":\"IChainlinkAggregatorFundValueCalculatorUsdWrapper\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/off-chain/fund-value-calculator-usd-wrapper/FundValueCalculatorUsdWrapper.sol\":{\"keccak256\":\"0xc3c5e8014a0ba529376f25acf17319dc7e1f723421bcaa4f3028f233a94261b3\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b60b51fdaeea8f7c41faa6868ce366218f9504987678a83faccc371656967aff\",\"dweb:/ipfs/QmdU9KyTpUyNfDXT4QNSMwfswDZr6Z4okE9DqX3EFLL3cm\"]},\"contracts/persistent/off-chain/fund-value-calculator/FundValueCalculatorRouter.sol\":{\"keccak256\":\"0x313dcaccdb58e7e24854243cfe7286285dd385a1cbaa7836f9fe3beaa8c9b94c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://db28f41b75d384877faa0e7dca4c713b0d59cb84e97b7393805212a672453474\",\"dweb:/ipfs/QmVWq8rzvUkuuH4F5KRj2taWi1eHkgdvHkQptHa8P18arS\"]},\"contracts/persistent/off-chain/fund-value-calculator/IFundValueCalculator.sol\":{\"keccak256\":\"0x993e11b879d6ad85f5ecf5f8e1880989c010bdf03de2079b39f66a953844de2d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f61a09908b981589bc4d3657736276f463f1ea23f9811b8d174cd5de224b556d\",\"dweb:/ipfs/QmU6rYofnKmWSTBzshVMxFnVRtBKCECSpnGepDy6DddCbv\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [], "stateMutability": "view", "type": "function", "name": "latestRoundData", "outputs": [ { "internalType": "uint80", "name": "", "type": "uint80" }, { "internalType": "int256", "name": "", "type": "int256" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint80", "name": "", "type": "uint80" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/persistent/off-chain/fund-value-calculator-usd-wrapper/FundValueCalculatorUsdWrapper.sol": "IChainlinkAggregatorFundValueCalculatorUsdWrapper" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/dispatcher/IDispatcher.sol": { "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", "urls": [ "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" ], "license": "GPL-3.0" }, "contracts/persistent/off-chain/fund-value-calculator-usd-wrapper/FundValueCalculatorUsdWrapper.sol": { "keccak256": "0xc3c5e8014a0ba529376f25acf17319dc7e1f723421bcaa4f3028f233a94261b3", "urls": [ "bzz-raw://b60b51fdaeea8f7c41faa6868ce366218f9504987678a83faccc371656967aff", "dweb:/ipfs/QmdU9KyTpUyNfDXT4QNSMwfswDZr6Z4okE9DqX3EFLL3cm" ], "license": "GPL-3.0" }, "contracts/persistent/off-chain/fund-value-calculator/FundValueCalculatorRouter.sol": { "keccak256": "0x313dcaccdb58e7e24854243cfe7286285dd385a1cbaa7836f9fe3beaa8c9b94c", "urls": [ "bzz-raw://db28f41b75d384877faa0e7dca4c713b0d59cb84e97b7393805212a672453474", "dweb:/ipfs/QmVWq8rzvUkuuH4F5KRj2taWi1eHkgdvHkQptHa8P18arS" ], "license": "GPL-3.0" }, "contracts/persistent/off-chain/fund-value-calculator/IFundValueCalculator.sol": { "keccak256": "0x993e11b879d6ad85f5ecf5f8e1880989c010bdf03de2079b39f66a953844de2d", "urls": [ "bzz-raw://f61a09908b981589bc4d3657736276f463f1ea23f9811b8d174cd5de224b556d", "dweb:/ipfs/QmU6rYofnKmWSTBzshVMxFnVRtBKCECSpnGepDy6DddCbv" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" } }, "version": 1 }, "id": 48 } diff --git a/eth_defi/abi/enzyme/ICompoundComptroller.json b/eth_defi/abi/enzyme/ICompoundComptroller.json index 89cada8d..8aad60a0 100644 --- a/eth_defi/abi/enzyme/ICompoundComptroller.json +++ b/eth_defi/abi/enzyme/ICompoundComptroller.json @@ -1,221 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address[]", - "name": "", - "type": "address[]" - } - ], - "name": "claimComp", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "claimComp", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - } - ], - "name": "enterMarkets", - "outputs": [ - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "exitMarket", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "claimComp(address)": "e9af0292", - "claimComp(address,address[])": "1c3db2e0", - "enterMarkets(address[])": "c2998238", - "exitMarket(address)": "ede4edd0" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"name\":\"claimComp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"claimComp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"name\":\"enterMarkets\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"exitMarket\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ICompoundComptroller Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Minimal interface for interactions with Compound Comptroller\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/ICompoundComptroller.sol\":\"ICompoundComptroller\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/ICompoundComptroller.sol\":{\"keccak256\":\"0x74c34b8146c5bff72c571dcce593d5ebec0c803d4716413adc10f3889ad66870\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://66a07e6c6aecccad6df33bc6f3c6b67d53d11c4dc175ed512eff554c9633bf3f\",\"dweb:/ipfs/QmanV5EZm1yycR5sV6LxnKY1wh8p9YGR7uScJf95Y3F7VJ\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address[]", - "name": "", - "type": "address[]" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "claimComp" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "claimComp" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "enterMarkets", - "outputs": [ - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "exitMarket", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/interfaces/ICompoundComptroller.sol": "ICompoundComptroller" - }, - "libraries": {} - }, - "sources": { - "contracts/release/interfaces/ICompoundComptroller.sol": { - "keccak256": "0x74c34b8146c5bff72c571dcce593d5ebec0c803d4716413adc10f3889ad66870", - "urls": [ - "bzz-raw://66a07e6c6aecccad6df33bc6f3c6b67d53d11c4dc175ed512eff554c9633bf3f", - "dweb:/ipfs/QmanV5EZm1yycR5sV6LxnKY1wh8p9YGR7uScJf95Y3F7VJ" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 281 -} +{ "abi": [ { "type": "function", "name": "claimComp", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "address[]", "internalType": "address[]" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "claimComp", "inputs": [ { "name": "", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "enterMarkets", "inputs": [ { "name": "", "type": "address[]", "internalType": "address[]" } ], "outputs": [ { "name": "", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "exitMarket", "inputs": [ { "name": "", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "claimComp(address)": "e9af0292", "claimComp(address,address[])": "1c3db2e0", "enterMarkets(address[])": "c2998238", "exitMarket(address)": "ede4edd0" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"name\":\"claimComp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"claimComp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"name\":\"enterMarkets\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"exitMarket\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ICompoundComptroller Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Minimal interface for interactions with Compound Comptroller\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/ICompoundComptroller.sol\":\"ICompoundComptroller\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/ICompoundComptroller.sol\":{\"keccak256\":\"0x74c34b8146c5bff72c571dcce593d5ebec0c803d4716413adc10f3889ad66870\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://66a07e6c6aecccad6df33bc6f3c6b67d53d11c4dc175ed512eff554c9633bf3f\",\"dweb:/ipfs/QmanV5EZm1yycR5sV6LxnKY1wh8p9YGR7uScJf95Y3F7VJ\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "address[]", "name": "", "type": "address[]" } ], "stateMutability": "nonpayable", "type": "function", "name": "claimComp" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "claimComp" }, { "inputs": [ { "internalType": "address[]", "name": "", "type": "address[]" } ], "stateMutability": "nonpayable", "type": "function", "name": "enterMarkets", "outputs": [ { "internalType": "uint256[]", "name": "", "type": "uint256[]" } ] }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "exitMarket", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/interfaces/ICompoundComptroller.sol": "ICompoundComptroller" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/interfaces/ICompoundComptroller.sol": { "keccak256": "0x74c34b8146c5bff72c571dcce593d5ebec0c803d4716413adc10f3889ad66870", "urls": [ "bzz-raw://66a07e6c6aecccad6df33bc6f3c6b67d53d11c4dc175ed512eff554c9633bf3f", "dweb:/ipfs/QmanV5EZm1yycR5sV6LxnKY1wh8p9YGR7uScJf95Y3F7VJ" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 281 } diff --git a/eth_defi/abi/enzyme/ICompoundDebtPosition.json b/eth_defi/abi/enzyme/ICompoundDebtPosition.json index 84363e89..ba3ec917 100644 --- a/eth_defi/abi/enzyme/ICompoundDebtPosition.json +++ b/eth_defi/abi/enzyme/ICompoundDebtPosition.json @@ -1,254 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_borrowedAsset", - "type": "address" - } - ], - "name": "getCTokenFromBorrowedAsset", - "outputs": [ - { - "internalType": "address", - "name": "cToken_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getDebtAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getManagedAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "init", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "receiveCallFromVault", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "getCTokenFromBorrowedAsset(address)": "d889378e", - "getDebtAssets()": "ecd658b4", - "getManagedAssets()": "80daddb8", - "init(bytes)": "4ddf47d4", - "receiveCallFromVault(bytes)": "e5c23a97" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_borrowedAsset\",\"type\":\"address\"}],\"name\":\"getCTokenFromBorrowedAsset\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"cToken_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDebtAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getManagedAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"receiveCallFromVault\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ICompoundDebtPosition Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/compound-debt/ICompoundDebtPosition.sol\":\"ICompoundDebtPosition\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/release/extensions/external-position-manager/external-positions/compound-debt/ICompoundDebtPosition.sol\":{\"keccak256\":\"0x4d34a19fee1f68caae8acd663ab2bb606d579816ffe720bf846b9f50369b6de1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f420596f7f96a285ae54cb19a778030d723905ce8f0ed28b3108dd79db7ca35d\",\"dweb:/ipfs/Qmdd1ch2mr25FX32DnxC3rS5YtPTCbfBfmqxCoADBrnEE5\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_borrowedAsset", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getCTokenFromBorrowedAsset", - "outputs": [ - { - "internalType": "address", - "name": "cToken_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "getDebtAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ] - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "getManagedAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "init" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "receiveCallFromVault" - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/external-position-manager/external-positions/compound-debt/ICompoundDebtPosition.sol": "ICompoundDebtPosition" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/external-positions/IExternalPosition.sol": { - "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", - "urls": [ - "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", - "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/compound-debt/ICompoundDebtPosition.sol": { - "keccak256": "0x4d34a19fee1f68caae8acd663ab2bb606d579816ffe720bf846b9f50369b6de1", - "urls": [ - "bzz-raw://f420596f7f96a285ae54cb19a778030d723905ce8f0ed28b3108dd79db7ca35d", - "dweb:/ipfs/Qmdd1ch2mr25FX32DnxC3rS5YtPTCbfBfmqxCoADBrnEE5" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 101 -} +{ "abi": [ { "type": "function", "name": "getCTokenFromBorrowedAsset", "inputs": [ { "name": "_borrowedAsset", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "cToken_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getDebtAssets", "inputs": [], "outputs": [ { "name": "", "type": "address[]", "internalType": "address[]" }, { "name": "", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "getManagedAssets", "inputs": [], "outputs": [ { "name": "", "type": "address[]", "internalType": "address[]" }, { "name": "", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "init", "inputs": [ { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "receiveCallFromVault", "inputs": [ { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "getCTokenFromBorrowedAsset(address)": "d889378e", "getDebtAssets()": "ecd658b4", "getManagedAssets()": "80daddb8", "init(bytes)": "4ddf47d4", "receiveCallFromVault(bytes)": "e5c23a97" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_borrowedAsset\",\"type\":\"address\"}],\"name\":\"getCTokenFromBorrowedAsset\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"cToken_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDebtAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getManagedAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"receiveCallFromVault\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ICompoundDebtPosition Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/compound-debt/ICompoundDebtPosition.sol\":\"ICompoundDebtPosition\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/release/extensions/external-position-manager/external-positions/compound-debt/ICompoundDebtPosition.sol\":{\"keccak256\":\"0x4d34a19fee1f68caae8acd663ab2bb606d579816ffe720bf846b9f50369b6de1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f420596f7f96a285ae54cb19a778030d723905ce8f0ed28b3108dd79db7ca35d\",\"dweb:/ipfs/Qmdd1ch2mr25FX32DnxC3rS5YtPTCbfBfmqxCoADBrnEE5\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_borrowedAsset", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getCTokenFromBorrowedAsset", "outputs": [ { "internalType": "address", "name": "cToken_", "type": "address" } ] }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "getDebtAssets", "outputs": [ { "internalType": "address[]", "name": "", "type": "address[]" }, { "internalType": "uint256[]", "name": "", "type": "uint256[]" } ] }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "getManagedAssets", "outputs": [ { "internalType": "address[]", "name": "", "type": "address[]" }, { "internalType": "uint256[]", "name": "", "type": "uint256[]" } ] }, { "inputs": [ { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "init" }, { "inputs": [ { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "receiveCallFromVault" } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/external-position-manager/external-positions/compound-debt/ICompoundDebtPosition.sol": "ICompoundDebtPosition" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/external-positions/IExternalPosition.sol": { "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", "urls": [ "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/compound-debt/ICompoundDebtPosition.sol": { "keccak256": "0x4d34a19fee1f68caae8acd663ab2bb606d579816ffe720bf846b9f50369b6de1", "urls": [ "bzz-raw://f420596f7f96a285ae54cb19a778030d723905ce8f0ed28b3108dd79db7ca35d", "dweb:/ipfs/Qmdd1ch2mr25FX32DnxC3rS5YtPTCbfBfmqxCoADBrnEE5" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 101 } diff --git a/eth_defi/abi/enzyme/ICompoundV3Comet.json b/eth_defi/abi/enzyme/ICompoundV3Comet.json index b9cc2099..39b1bcd0 100644 --- a/eth_defi/abi/enzyme/ICompoundV3Comet.json +++ b/eth_defi/abi/enzyme/ICompoundV3Comet.json @@ -1,200 +1 @@ -{ - "abi": [ - { - "inputs": [], - "name": "baseToken", - "outputs": [ - { - "internalType": "address", - "name": "baseToken_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_dst", - "type": "address" - }, - { - "internalType": "address", - "name": "_asset", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "supplyTo", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_dst", - "type": "address" - }, - { - "internalType": "address", - "name": "_asset", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "withdrawTo", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "baseToken()": "c55dae63", - "supplyTo(address,address,uint256)": "4232cd63", - "withdrawTo(address,address,uint256)": "c3b35a7e" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"baseToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"baseToken_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_dst\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"supplyTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_dst\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"withdrawTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ICompoundV3Comet Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/ICompoundV3Comet.sol\":\"ICompoundV3Comet\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/ICompoundV3Comet.sol\":{\"keccak256\":\"0xf0465f5f896f3ff69ec19e8a3946887fcb672fd5874908918277923a7cf14131\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2870a61fb53f168265bf69ef35cb9910a9025d4700447413f465b2b0fe33cdb1\",\"dweb:/ipfs/QmeETY2T9vtqo26m5PWQooD94hBuHVt1aQjXQc4i1xqZtw\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "baseToken", - "outputs": [ - { - "internalType": "address", - "name": "baseToken_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_dst", - "type": "address" - }, - { - "internalType": "address", - "name": "_asset", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "supplyTo" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_dst", - "type": "address" - }, - { - "internalType": "address", - "name": "_asset", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "withdrawTo" - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/interfaces/ICompoundV3Comet.sol": "ICompoundV3Comet" - }, - "libraries": {} - }, - "sources": { - "contracts/release/interfaces/ICompoundV3Comet.sol": { - "keccak256": "0xf0465f5f896f3ff69ec19e8a3946887fcb672fd5874908918277923a7cf14131", - "urls": [ - "bzz-raw://2870a61fb53f168265bf69ef35cb9910a9025d4700447413f465b2b0fe33cdb1", - "dweb:/ipfs/QmeETY2T9vtqo26m5PWQooD94hBuHVt1aQjXQc4i1xqZtw" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 282 -} +{ "abi": [ { "type": "function", "name": "baseToken", "inputs": [], "outputs": [ { "name": "baseToken_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "supplyTo", "inputs": [ { "name": "_dst", "type": "address", "internalType": "address" }, { "name": "_asset", "type": "address", "internalType": "address" }, { "name": "_amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "withdrawTo", "inputs": [ { "name": "_dst", "type": "address", "internalType": "address" }, { "name": "_asset", "type": "address", "internalType": "address" }, { "name": "_amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "baseToken()": "c55dae63", "supplyTo(address,address,uint256)": "4232cd63", "withdrawTo(address,address,uint256)": "c3b35a7e" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"baseToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"baseToken_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_dst\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"supplyTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_dst\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"withdrawTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ICompoundV3Comet Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/ICompoundV3Comet.sol\":\"ICompoundV3Comet\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/ICompoundV3Comet.sol\":{\"keccak256\":\"0xf0465f5f896f3ff69ec19e8a3946887fcb672fd5874908918277923a7cf14131\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2870a61fb53f168265bf69ef35cb9910a9025d4700447413f465b2b0fe33cdb1\",\"dweb:/ipfs/QmeETY2T9vtqo26m5PWQooD94hBuHVt1aQjXQc4i1xqZtw\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [], "stateMutability": "view", "type": "function", "name": "baseToken", "outputs": [ { "internalType": "address", "name": "baseToken_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_dst", "type": "address" }, { "internalType": "address", "name": "_asset", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "supplyTo" }, { "inputs": [ { "internalType": "address", "name": "_dst", "type": "address" }, { "internalType": "address", "name": "_asset", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "withdrawTo" } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/interfaces/ICompoundV3Comet.sol": "ICompoundV3Comet" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/interfaces/ICompoundV3Comet.sol": { "keccak256": "0xf0465f5f896f3ff69ec19e8a3946887fcb672fd5874908918277923a7cf14131", "urls": [ "bzz-raw://2870a61fb53f168265bf69ef35cb9910a9025d4700447413f465b2b0fe33cdb1", "dweb:/ipfs/QmeETY2T9vtqo26m5PWQooD94hBuHVt1aQjXQc4i1xqZtw" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 282 } diff --git a/eth_defi/abi/enzyme/ICompoundV3CometRewards.json b/eth_defi/abi/enzyme/ICompoundV3CometRewards.json index ce3c6258..95abdaa9 100644 --- a/eth_defi/abi/enzyme/ICompoundV3CometRewards.json +++ b/eth_defi/abi/enzyme/ICompoundV3CometRewards.json @@ -1,200 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_cToken", - "type": "address" - }, - { - "internalType": "address", - "name": "_src", - "type": "address" - }, - { - "internalType": "bool", - "name": "_shouldAccrue", - "type": "bool" - } - ], - "name": "claim", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_cToken", - "type": "address" - } - ], - "name": "rewardConfig", - "outputs": [ - { - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint64", - "name": "rescaleFactor", - "type": "uint64" - }, - { - "internalType": "bool", - "name": "shouldUpscale", - "type": "bool" - } - ], - "internalType": "struct ICompoundV3CometRewards.RewardConfig", - "name": "rewardConfig_", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "claim(address,address,bool)": "b7034f7e", - "rewardConfig(address)": "2289b6b8" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_cToken\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_src\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_shouldAccrue\",\"type\":\"bool\"}],\"name\":\"claim\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_cToken\",\"type\":\"address\"}],\"name\":\"rewardConfig\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"rescaleFactor\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"shouldUpscale\",\"type\":\"bool\"}],\"internalType\":\"struct ICompoundV3CometRewards.RewardConfig\",\"name\":\"rewardConfig_\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"Source: https://github.com/compound-finance/comet/blob/main/contracts/CometRewards.sol\",\"kind\":\"dev\",\"methods\":{},\"title\":\"ICompoundV3CometRewards Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/ICompoundV3CometRewards.sol\":\"ICompoundV3CometRewards\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/ICompoundV3CometRewards.sol\":{\"keccak256\":\"0x0169401972f768f7f88e8e23615c9867e8f0b3413a628fbc15fcc4d862d506e4\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3a07ef232526f7f4ed1b2e50e87293bd20940c23139b765f49c65b8796f2b785\",\"dweb:/ipfs/QmbnGkJPKN9UsDfUt6zBkQgKxMwFxUshPtfqKi1cmvaj6d\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_cToken", - "type": "address" - }, - { - "internalType": "address", - "name": "_src", - "type": "address" - }, - { - "internalType": "bool", - "name": "_shouldAccrue", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "claim" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_cToken", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "rewardConfig", - "outputs": [ - { - "internalType": "struct ICompoundV3CometRewards.RewardConfig", - "name": "rewardConfig_", - "type": "tuple", - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint64", - "name": "rescaleFactor", - "type": "uint64" - }, - { - "internalType": "bool", - "name": "shouldUpscale", - "type": "bool" - } - ] - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/interfaces/ICompoundV3CometRewards.sol": "ICompoundV3CometRewards" - }, - "libraries": {} - }, - "sources": { - "contracts/release/interfaces/ICompoundV3CometRewards.sol": { - "keccak256": "0x0169401972f768f7f88e8e23615c9867e8f0b3413a628fbc15fcc4d862d506e4", - "urls": [ - "bzz-raw://3a07ef232526f7f4ed1b2e50e87293bd20940c23139b765f49c65b8796f2b785", - "dweb:/ipfs/QmbnGkJPKN9UsDfUt6zBkQgKxMwFxUshPtfqKi1cmvaj6d" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 283 -} +{ "abi": [ { "type": "function", "name": "claim", "inputs": [ { "name": "_cToken", "type": "address", "internalType": "address" }, { "name": "_src", "type": "address", "internalType": "address" }, { "name": "_shouldAccrue", "type": "bool", "internalType": "bool" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "rewardConfig", "inputs": [ { "name": "_cToken", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "rewardConfig_", "type": "tuple", "internalType": "struct ICompoundV3CometRewards.RewardConfig", "components": [ { "name": "token", "type": "address", "internalType": "address" }, { "name": "rescaleFactor", "type": "uint64", "internalType": "uint64" }, { "name": "shouldUpscale", "type": "bool", "internalType": "bool" } ] } ], "stateMutability": "view" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "claim(address,address,bool)": "b7034f7e", "rewardConfig(address)": "2289b6b8" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_cToken\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_src\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_shouldAccrue\",\"type\":\"bool\"}],\"name\":\"claim\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_cToken\",\"type\":\"address\"}],\"name\":\"rewardConfig\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"rescaleFactor\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"shouldUpscale\",\"type\":\"bool\"}],\"internalType\":\"struct ICompoundV3CometRewards.RewardConfig\",\"name\":\"rewardConfig_\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"Source: https://github.com/compound-finance/comet/blob/main/contracts/CometRewards.sol\",\"kind\":\"dev\",\"methods\":{},\"title\":\"ICompoundV3CometRewards Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/ICompoundV3CometRewards.sol\":\"ICompoundV3CometRewards\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/ICompoundV3CometRewards.sol\":{\"keccak256\":\"0x0169401972f768f7f88e8e23615c9867e8f0b3413a628fbc15fcc4d862d506e4\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3a07ef232526f7f4ed1b2e50e87293bd20940c23139b765f49c65b8796f2b785\",\"dweb:/ipfs/QmbnGkJPKN9UsDfUt6zBkQgKxMwFxUshPtfqKi1cmvaj6d\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_cToken", "type": "address" }, { "internalType": "address", "name": "_src", "type": "address" }, { "internalType": "bool", "name": "_shouldAccrue", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function", "name": "claim" }, { "inputs": [ { "internalType": "address", "name": "_cToken", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "rewardConfig", "outputs": [ { "internalType": "struct ICompoundV3CometRewards.RewardConfig", "name": "rewardConfig_", "type": "tuple", "components": [ { "internalType": "address", "name": "token", "type": "address" }, { "internalType": "uint64", "name": "rescaleFactor", "type": "uint64" }, { "internalType": "bool", "name": "shouldUpscale", "type": "bool" } ] } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/interfaces/ICompoundV3CometRewards.sol": "ICompoundV3CometRewards" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/interfaces/ICompoundV3CometRewards.sol": { "keccak256": "0x0169401972f768f7f88e8e23615c9867e8f0b3413a628fbc15fcc4d862d506e4", "urls": [ "bzz-raw://3a07ef232526f7f4ed1b2e50e87293bd20940c23139b765f49c65b8796f2b785", "dweb:/ipfs/QmbnGkJPKN9UsDfUt6zBkQgKxMwFxUshPtfqKi1cmvaj6d" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 283 } diff --git a/eth_defi/abi/enzyme/ICompoundV3Configurator.json b/eth_defi/abi/enzyme/ICompoundV3Configurator.json index 1c68a1a3..48ef57f6 100644 --- a/eth_defi/abi/enzyme/ICompoundV3Configurator.json +++ b/eth_defi/abi/enzyme/ICompoundV3Configurator.json @@ -1,408 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_cToken", - "type": "address" - } - ], - "name": "getConfiguration", - "outputs": [ - { - "components": [ - { - "internalType": "address", - "name": "governor", - "type": "address" - }, - { - "internalType": "address", - "name": "pauseGuardian", - "type": "address" - }, - { - "internalType": "address", - "name": "baseToken", - "type": "address" - }, - { - "internalType": "address", - "name": "baseTokenPriceFeed", - "type": "address" - }, - { - "internalType": "address", - "name": "extensionDelegate", - "type": "address" - }, - { - "internalType": "uint64", - "name": "supplyKink", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "supplyPerYearInterestRateSlopeLow", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "supplyPerYearInterestRateSlopeHigh", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "supplyPerYearInterestRateBase", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "borrowKink", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "borrowPerYearInterestRateSlopeLow", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "borrowPerYearInterestRateSlopeHigh", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "borrowPerYearInterestRateBase", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "storeFrontPriceFactor", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "trackingIndexScale", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "baseTrackingSupplySpeed", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "baseTrackingBorrowSpeed", - "type": "uint64" - }, - { - "internalType": "uint104", - "name": "baseMinForRewards", - "type": "uint104" - }, - { - "internalType": "uint104", - "name": "baseBorrowMin", - "type": "uint104" - }, - { - "internalType": "uint104", - "name": "targetReserves", - "type": "uint104" - }, - { - "components": [ - { - "internalType": "address", - "name": "asset", - "type": "address" - }, - { - "internalType": "address", - "name": "priceFeed", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint64", - "name": "borrowCollateralFactor", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "liquidateCollateralFactor", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "liquidationFactor", - "type": "uint64" - }, - { - "internalType": "uint128", - "name": "supplyCap", - "type": "uint128" - } - ], - "internalType": "struct ICompoundV3Configurator.AssetConfig[]", - "name": "assetConfigs", - "type": "tuple[]" - } - ], - "internalType": "struct ICompoundV3Configurator.Configuration", - "name": "configuration_", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "getConfiguration(address)": "c44b11f7" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_cToken\",\"type\":\"address\"}],\"name\":\"getConfiguration\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"governor\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"pauseGuardian\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"baseToken\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"baseTokenPriceFeed\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"extensionDelegate\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"supplyKink\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"supplyPerYearInterestRateSlopeLow\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"supplyPerYearInterestRateSlopeHigh\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"supplyPerYearInterestRateBase\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"borrowKink\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"borrowPerYearInterestRateSlopeLow\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"borrowPerYearInterestRateSlopeHigh\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"borrowPerYearInterestRateBase\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"storeFrontPriceFactor\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"trackingIndexScale\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"baseTrackingSupplySpeed\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"baseTrackingBorrowSpeed\",\"type\":\"uint64\"},{\"internalType\":\"uint104\",\"name\":\"baseMinForRewards\",\"type\":\"uint104\"},{\"internalType\":\"uint104\",\"name\":\"baseBorrowMin\",\"type\":\"uint104\"},{\"internalType\":\"uint104\",\"name\":\"targetReserves\",\"type\":\"uint104\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"asset\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"priceFeed\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"borrowCollateralFactor\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"liquidateCollateralFactor\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"liquidationFactor\",\"type\":\"uint64\"},{\"internalType\":\"uint128\",\"name\":\"supplyCap\",\"type\":\"uint128\"}],\"internalType\":\"struct ICompoundV3Configurator.AssetConfig[]\",\"name\":\"assetConfigs\",\"type\":\"tuple[]\"}],\"internalType\":\"struct ICompoundV3Configurator.Configuration\",\"name\":\"configuration_\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"Source: https://github.com/compound-finance/comet/blob/main/contracts/CometConfigurator.sol\",\"kind\":\"dev\",\"methods\":{},\"title\":\"ICompoundV3Configurator Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/ICompoundV3Configurator.sol\":\"ICompoundV3Configurator\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/ICompoundV3Configurator.sol\":{\"keccak256\":\"0x62869ddb50774e1c9e1c7e848886837df5013fbe2291a91a2ffee6280e0be0d2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a0dd519eef7bf6ae0d509fae50f16e587f231d32a03740ba6a60b2ca69addb37\",\"dweb:/ipfs/QmTRY3M7tdwKudAMFXo9yGUhvgdQV8ZJFtCWE5UHdmzuEx\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_cToken", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getConfiguration", - "outputs": [ - { - "internalType": "struct ICompoundV3Configurator.Configuration", - "name": "configuration_", - "type": "tuple", - "components": [ - { - "internalType": "address", - "name": "governor", - "type": "address" - }, - { - "internalType": "address", - "name": "pauseGuardian", - "type": "address" - }, - { - "internalType": "address", - "name": "baseToken", - "type": "address" - }, - { - "internalType": "address", - "name": "baseTokenPriceFeed", - "type": "address" - }, - { - "internalType": "address", - "name": "extensionDelegate", - "type": "address" - }, - { - "internalType": "uint64", - "name": "supplyKink", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "supplyPerYearInterestRateSlopeLow", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "supplyPerYearInterestRateSlopeHigh", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "supplyPerYearInterestRateBase", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "borrowKink", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "borrowPerYearInterestRateSlopeLow", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "borrowPerYearInterestRateSlopeHigh", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "borrowPerYearInterestRateBase", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "storeFrontPriceFactor", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "trackingIndexScale", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "baseTrackingSupplySpeed", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "baseTrackingBorrowSpeed", - "type": "uint64" - }, - { - "internalType": "uint104", - "name": "baseMinForRewards", - "type": "uint104" - }, - { - "internalType": "uint104", - "name": "baseBorrowMin", - "type": "uint104" - }, - { - "internalType": "uint104", - "name": "targetReserves", - "type": "uint104" - }, - { - "internalType": "struct ICompoundV3Configurator.AssetConfig[]", - "name": "assetConfigs", - "type": "tuple[]", - "components": [ - { - "internalType": "address", - "name": "asset", - "type": "address" - }, - { - "internalType": "address", - "name": "priceFeed", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint64", - "name": "borrowCollateralFactor", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "liquidateCollateralFactor", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "liquidationFactor", - "type": "uint64" - }, - { - "internalType": "uint128", - "name": "supplyCap", - "type": "uint128" - } - ] - } - ] - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/interfaces/ICompoundV3Configurator.sol": "ICompoundV3Configurator" - }, - "libraries": {} - }, - "sources": { - "contracts/release/interfaces/ICompoundV3Configurator.sol": { - "keccak256": "0x62869ddb50774e1c9e1c7e848886837df5013fbe2291a91a2ffee6280e0be0d2", - "urls": [ - "bzz-raw://a0dd519eef7bf6ae0d509fae50f16e587f231d32a03740ba6a60b2ca69addb37", - "dweb:/ipfs/QmTRY3M7tdwKudAMFXo9yGUhvgdQV8ZJFtCWE5UHdmzuEx" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 284 -} +{ "abi": [ { "type": "function", "name": "getConfiguration", "inputs": [ { "name": "_cToken", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "configuration_", "type": "tuple", "internalType": "struct ICompoundV3Configurator.Configuration", "components": [ { "name": "governor", "type": "address", "internalType": "address" }, { "name": "pauseGuardian", "type": "address", "internalType": "address" }, { "name": "baseToken", "type": "address", "internalType": "address" }, { "name": "baseTokenPriceFeed", "type": "address", "internalType": "address" }, { "name": "extensionDelegate", "type": "address", "internalType": "address" }, { "name": "supplyKink", "type": "uint64", "internalType": "uint64" }, { "name": "supplyPerYearInterestRateSlopeLow", "type": "uint64", "internalType": "uint64" }, { "name": "supplyPerYearInterestRateSlopeHigh", "type": "uint64", "internalType": "uint64" }, { "name": "supplyPerYearInterestRateBase", "type": "uint64", "internalType": "uint64" }, { "name": "borrowKink", "type": "uint64", "internalType": "uint64" }, { "name": "borrowPerYearInterestRateSlopeLow", "type": "uint64", "internalType": "uint64" }, { "name": "borrowPerYearInterestRateSlopeHigh", "type": "uint64", "internalType": "uint64" }, { "name": "borrowPerYearInterestRateBase", "type": "uint64", "internalType": "uint64" }, { "name": "storeFrontPriceFactor", "type": "uint64", "internalType": "uint64" }, { "name": "trackingIndexScale", "type": "uint64", "internalType": "uint64" }, { "name": "baseTrackingSupplySpeed", "type": "uint64", "internalType": "uint64" }, { "name": "baseTrackingBorrowSpeed", "type": "uint64", "internalType": "uint64" }, { "name": "baseMinForRewards", "type": "uint104", "internalType": "uint104" }, { "name": "baseBorrowMin", "type": "uint104", "internalType": "uint104" }, { "name": "targetReserves", "type": "uint104", "internalType": "uint104" }, { "name": "assetConfigs", "type": "tuple[]", "internalType": "struct ICompoundV3Configurator.AssetConfig[]", "components": [ { "name": "asset", "type": "address", "internalType": "address" }, { "name": "priceFeed", "type": "address", "internalType": "address" }, { "name": "decimals", "type": "uint8", "internalType": "uint8" }, { "name": "borrowCollateralFactor", "type": "uint64", "internalType": "uint64" }, { "name": "liquidateCollateralFactor", "type": "uint64", "internalType": "uint64" }, { "name": "liquidationFactor", "type": "uint64", "internalType": "uint64" }, { "name": "supplyCap", "type": "uint128", "internalType": "uint128" } ] } ] } ], "stateMutability": "view" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "getConfiguration(address)": "c44b11f7" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_cToken\",\"type\":\"address\"}],\"name\":\"getConfiguration\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"governor\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"pauseGuardian\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"baseToken\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"baseTokenPriceFeed\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"extensionDelegate\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"supplyKink\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"supplyPerYearInterestRateSlopeLow\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"supplyPerYearInterestRateSlopeHigh\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"supplyPerYearInterestRateBase\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"borrowKink\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"borrowPerYearInterestRateSlopeLow\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"borrowPerYearInterestRateSlopeHigh\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"borrowPerYearInterestRateBase\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"storeFrontPriceFactor\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"trackingIndexScale\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"baseTrackingSupplySpeed\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"baseTrackingBorrowSpeed\",\"type\":\"uint64\"},{\"internalType\":\"uint104\",\"name\":\"baseMinForRewards\",\"type\":\"uint104\"},{\"internalType\":\"uint104\",\"name\":\"baseBorrowMin\",\"type\":\"uint104\"},{\"internalType\":\"uint104\",\"name\":\"targetReserves\",\"type\":\"uint104\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"asset\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"priceFeed\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint64\",\"name\":\"borrowCollateralFactor\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"liquidateCollateralFactor\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"liquidationFactor\",\"type\":\"uint64\"},{\"internalType\":\"uint128\",\"name\":\"supplyCap\",\"type\":\"uint128\"}],\"internalType\":\"struct ICompoundV3Configurator.AssetConfig[]\",\"name\":\"assetConfigs\",\"type\":\"tuple[]\"}],\"internalType\":\"struct ICompoundV3Configurator.Configuration\",\"name\":\"configuration_\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"Source: https://github.com/compound-finance/comet/blob/main/contracts/CometConfigurator.sol\",\"kind\":\"dev\",\"methods\":{},\"title\":\"ICompoundV3Configurator Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/ICompoundV3Configurator.sol\":\"ICompoundV3Configurator\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/ICompoundV3Configurator.sol\":{\"keccak256\":\"0x62869ddb50774e1c9e1c7e848886837df5013fbe2291a91a2ffee6280e0be0d2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a0dd519eef7bf6ae0d509fae50f16e587f231d32a03740ba6a60b2ca69addb37\",\"dweb:/ipfs/QmTRY3M7tdwKudAMFXo9yGUhvgdQV8ZJFtCWE5UHdmzuEx\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_cToken", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getConfiguration", "outputs": [ { "internalType": "struct ICompoundV3Configurator.Configuration", "name": "configuration_", "type": "tuple", "components": [ { "internalType": "address", "name": "governor", "type": "address" }, { "internalType": "address", "name": "pauseGuardian", "type": "address" }, { "internalType": "address", "name": "baseToken", "type": "address" }, { "internalType": "address", "name": "baseTokenPriceFeed", "type": "address" }, { "internalType": "address", "name": "extensionDelegate", "type": "address" }, { "internalType": "uint64", "name": "supplyKink", "type": "uint64" }, { "internalType": "uint64", "name": "supplyPerYearInterestRateSlopeLow", "type": "uint64" }, { "internalType": "uint64", "name": "supplyPerYearInterestRateSlopeHigh", "type": "uint64" }, { "internalType": "uint64", "name": "supplyPerYearInterestRateBase", "type": "uint64" }, { "internalType": "uint64", "name": "borrowKink", "type": "uint64" }, { "internalType": "uint64", "name": "borrowPerYearInterestRateSlopeLow", "type": "uint64" }, { "internalType": "uint64", "name": "borrowPerYearInterestRateSlopeHigh", "type": "uint64" }, { "internalType": "uint64", "name": "borrowPerYearInterestRateBase", "type": "uint64" }, { "internalType": "uint64", "name": "storeFrontPriceFactor", "type": "uint64" }, { "internalType": "uint64", "name": "trackingIndexScale", "type": "uint64" }, { "internalType": "uint64", "name": "baseTrackingSupplySpeed", "type": "uint64" }, { "internalType": "uint64", "name": "baseTrackingBorrowSpeed", "type": "uint64" }, { "internalType": "uint104", "name": "baseMinForRewards", "type": "uint104" }, { "internalType": "uint104", "name": "baseBorrowMin", "type": "uint104" }, { "internalType": "uint104", "name": "targetReserves", "type": "uint104" }, { "internalType": "struct ICompoundV3Configurator.AssetConfig[]", "name": "assetConfigs", "type": "tuple[]", "components": [ { "internalType": "address", "name": "asset", "type": "address" }, { "internalType": "address", "name": "priceFeed", "type": "address" }, { "internalType": "uint8", "name": "decimals", "type": "uint8" }, { "internalType": "uint64", "name": "borrowCollateralFactor", "type": "uint64" }, { "internalType": "uint64", "name": "liquidateCollateralFactor", "type": "uint64" }, { "internalType": "uint64", "name": "liquidationFactor", "type": "uint64" }, { "internalType": "uint128", "name": "supplyCap", "type": "uint128" } ] } ] } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/interfaces/ICompoundV3Configurator.sol": "ICompoundV3Configurator" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/interfaces/ICompoundV3Configurator.sol": { "keccak256": "0x62869ddb50774e1c9e1c7e848886837df5013fbe2291a91a2ffee6280e0be0d2", "urls": [ "bzz-raw://a0dd519eef7bf6ae0d509fae50f16e587f231d32a03740ba6a60b2ca69addb37", "dweb:/ipfs/QmTRY3M7tdwKudAMFXo9yGUhvgdQV8ZJFtCWE5UHdmzuEx" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 284 } diff --git a/eth_defi/abi/enzyme/IComptroller.json b/eth_defi/abi/enzyme/IComptroller.json index 477f9687..4dfa7dbe 100644 --- a/eth_defi/abi/enzyme/IComptroller.json +++ b/eth_defi/abi/enzyme/IComptroller.json @@ -1,709 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "name": "activate", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "calcGav", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "calcGrossShareValue", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "callOnExtension", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "destructActivated", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "destructUnactivated", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getDenominationAsset", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getExternalPositionManager", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getFeeManager", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getFundDeployer", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getGasRelayPaymaster", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getIntegrationManager", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getPolicyManager", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getVaultProxy", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "init", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "enum IVault.VaultAction", - "name": "", - "type": "uint8" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "permissionedVaultAction", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "preTransferSharesHook", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "preTransferSharesHookFreelyTransferable", - "outputs": [], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "setGasRelayPaymaster", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "setVaultProxy", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "activate(bool)": "ce5e84a3", - "calcGav()": "56cff99f", - "calcGrossShareValue()": "da72503c", - "callOnExtension(address,uint256,bytes)": "39bf70d1", - "destructActivated(uint256,uint256)": "92b575b6", - "destructUnactivated()": "e53a73b9", - "getDenominationAsset()": "e269c3d6", - "getExternalPositionManager()": "b3fc38e9", - "getFeeManager()": "f2d63826", - "getFundDeployer()": "97c0ac87", - "getGasRelayPaymaster()": "faf9096b", - "getIntegrationManager()": "e7c45690", - "getPolicyManager()": "d44ad6cb", - "getVaultProxy()": "c9809187", - "init(address,uint256)": "399ae724", - "permissionedVaultAction(uint8,bytes)": "10acd06d", - "preTransferSharesHook(address,address,uint256)": "12f20526", - "preTransferSharesHookFreelyTransferable(address)": "f9d5fe78", - "setGasRelayPaymaster(address)": "73eecf47", - "setVaultProxy(address)": "397bfe55" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"name\":\"activate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"calcGav\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"calcGrossShareValue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"callOnExtension\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"destructActivated\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"destructUnactivated\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDenominationAsset\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getExternalPositionManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFeeManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFundDeployer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getGasRelayPaymaster\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getIntegrationManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPolicyManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getVaultProxy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IVault.VaultAction\",\"name\":\"\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"permissionedVaultAction\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"preTransferSharesHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"preTransferSharesHookFreelyTransferable\",\"outputs\":[],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"setGasRelayPaymaster\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"setVaultProxy\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IComptroller Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/core/fund/comptroller/IComptroller.sol\":\"IComptroller\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/vault/interfaces/IExternalPositionVault.sol\":{\"keccak256\":\"0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d\",\"dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8\"]},\"contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol\":{\"keccak256\":\"0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb\",\"dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU\"]},\"contracts/persistent/vault/interfaces/IMigratableVault.sol\":{\"keccak256\":\"0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6\",\"dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs\"]},\"contracts/persistent/vault/interfaces/IVaultCore.sol\":{\"keccak256\":\"0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd\",\"dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr\"]},\"contracts/release/core/fund/comptroller/IComptroller.sol\":{\"keccak256\":\"0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97\",\"dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L\"]},\"contracts/release/core/fund/vault/IVault.sol\":{\"keccak256\":\"0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599\",\"dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "activate" - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "calcGav", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "calcGrossShareValue", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "callOnExtension" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "destructActivated" - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "destructUnactivated" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getDenominationAsset", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getExternalPositionManager", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getFeeManager", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getFundDeployer", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getGasRelayPaymaster", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getIntegrationManager", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getPolicyManager", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getVaultProxy", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "init" - }, - { - "inputs": [ - { - "internalType": "enum IVault.VaultAction", - "name": "", - "type": "uint8" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "permissionedVaultAction" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "preTransferSharesHook" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "preTransferSharesHookFreelyTransferable" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setGasRelayPaymaster" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setVaultProxy" - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/core/fund/comptroller/IComptroller.sol": "IComptroller" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/vault/interfaces/IExternalPositionVault.sol": { - "keccak256": "0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6", - "urls": [ - "bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d", - "dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol": { - "keccak256": "0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0", - "urls": [ - "bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb", - "dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IMigratableVault.sol": { - "keccak256": "0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238", - "urls": [ - "bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6", - "dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IVaultCore.sol": { - "keccak256": "0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80", - "urls": [ - "bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd", - "dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/comptroller/IComptroller.sol": { - "keccak256": "0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f", - "urls": [ - "bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97", - "dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/vault/IVault.sol": { - "keccak256": "0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd", - "urls": [ - "bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599", - "dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 81 -} +{ "abi": [ { "type": "function", "name": "activate", "inputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "calcGav", "inputs": [], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "calcGrossShareValue", "inputs": [], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "callOnExtension", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "destructActivated", "inputs": [ { "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "destructUnactivated", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "getDenominationAsset", "inputs": [], "outputs": [ { "name": "", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getExternalPositionManager", "inputs": [], "outputs": [ { "name": "", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getFeeManager", "inputs": [], "outputs": [ { "name": "", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getFundDeployer", "inputs": [], "outputs": [ { "name": "", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getGasRelayPaymaster", "inputs": [], "outputs": [ { "name": "", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getIntegrationManager", "inputs": [], "outputs": [ { "name": "", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getPolicyManager", "inputs": [], "outputs": [ { "name": "", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getVaultProxy", "inputs": [], "outputs": [ { "name": "", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "init", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "permissionedVaultAction", "inputs": [ { "name": "", "type": "uint8", "internalType": "enum IVault.VaultAction" }, { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "preTransferSharesHook", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "preTransferSharesHookFreelyTransferable", "inputs": [ { "name": "", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "view" }, { "type": "function", "name": "setGasRelayPaymaster", "inputs": [ { "name": "", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setVaultProxy", "inputs": [ { "name": "", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "activate(bool)": "ce5e84a3", "calcGav()": "56cff99f", "calcGrossShareValue()": "da72503c", "callOnExtension(address,uint256,bytes)": "39bf70d1", "destructActivated(uint256,uint256)": "92b575b6", "destructUnactivated()": "e53a73b9", "getDenominationAsset()": "e269c3d6", "getExternalPositionManager()": "b3fc38e9", "getFeeManager()": "f2d63826", "getFundDeployer()": "97c0ac87", "getGasRelayPaymaster()": "faf9096b", "getIntegrationManager()": "e7c45690", "getPolicyManager()": "d44ad6cb", "getVaultProxy()": "c9809187", "init(address,uint256)": "399ae724", "permissionedVaultAction(uint8,bytes)": "10acd06d", "preTransferSharesHook(address,address,uint256)": "12f20526", "preTransferSharesHookFreelyTransferable(address)": "f9d5fe78", "setGasRelayPaymaster(address)": "73eecf47", "setVaultProxy(address)": "397bfe55" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"name\":\"activate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"calcGav\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"calcGrossShareValue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"callOnExtension\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"destructActivated\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"destructUnactivated\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDenominationAsset\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getExternalPositionManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFeeManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFundDeployer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getGasRelayPaymaster\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getIntegrationManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPolicyManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getVaultProxy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IVault.VaultAction\",\"name\":\"\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"permissionedVaultAction\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"preTransferSharesHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"preTransferSharesHookFreelyTransferable\",\"outputs\":[],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"setGasRelayPaymaster\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"setVaultProxy\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IComptroller Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/core/fund/comptroller/IComptroller.sol\":\"IComptroller\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/vault/interfaces/IExternalPositionVault.sol\":{\"keccak256\":\"0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d\",\"dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8\"]},\"contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol\":{\"keccak256\":\"0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb\",\"dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU\"]},\"contracts/persistent/vault/interfaces/IMigratableVault.sol\":{\"keccak256\":\"0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6\",\"dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs\"]},\"contracts/persistent/vault/interfaces/IVaultCore.sol\":{\"keccak256\":\"0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd\",\"dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr\"]},\"contracts/release/core/fund/comptroller/IComptroller.sol\":{\"keccak256\":\"0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97\",\"dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L\"]},\"contracts/release/core/fund/vault/IVault.sol\":{\"keccak256\":\"0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599\",\"dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function", "name": "activate" }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "calcGav", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "calcGrossShareValue", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "callOnExtension" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "destructActivated" }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "destructUnactivated" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getDenominationAsset", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getExternalPositionManager", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getFeeManager", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getFundDeployer", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getGasRelayPaymaster", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getIntegrationManager", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getPolicyManager", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getVaultProxy", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "init" }, { "inputs": [ { "internalType": "enum IVault.VaultAction", "name": "", "type": "uint8" }, { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "permissionedVaultAction" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "address", "name": "", "type": "address" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "preTransferSharesHook" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "preTransferSharesHookFreelyTransferable" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "setGasRelayPaymaster" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "setVaultProxy" } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/core/fund/comptroller/IComptroller.sol": "IComptroller" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/vault/interfaces/IExternalPositionVault.sol": { "keccak256": "0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6", "urls": [ "bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d", "dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol": { "keccak256": "0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0", "urls": [ "bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb", "dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IMigratableVault.sol": { "keccak256": "0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238", "urls": [ "bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6", "dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IVaultCore.sol": { "keccak256": "0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80", "urls": [ "bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd", "dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr" ], "license": "GPL-3.0" }, "contracts/release/core/fund/comptroller/IComptroller.sol": { "keccak256": "0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f", "urls": [ "bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97", "dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L" ], "license": "GPL-3.0" }, "contracts/release/core/fund/vault/IVault.sol": { "keccak256": "0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd", "urls": [ "bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599", "dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 81 } diff --git a/eth_defi/abi/enzyme/IConvexBaseRewardPool.json b/eth_defi/abi/enzyme/IConvexBaseRewardPool.json index 12efc8f2..c5b39558 100644 --- a/eth_defi/abi/enzyme/IConvexBaseRewardPool.json +++ b/eth_defi/abi/enzyme/IConvexBaseRewardPool.json @@ -1,298 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "extraRewards", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "extraRewardsLength", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getReward", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "name": "withdraw", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "name": "withdrawAndUnwrap", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "balanceOf(address)": "70a08231", - "extraRewards(uint256)": "40c35446", - "extraRewardsLength()": "d55a23f4", - "getReward()": "3d18b912", - "withdraw(uint256,bool)": "38d07436", - "withdrawAndUnwrap(uint256,bool)": "c32e7202" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"extraRewards\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"extraRewardsLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getReward\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"name\":\"withdraw\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"name\":\"withdrawAndUnwrap\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IConvexBaseRewardPool Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/IConvexBaseRewardPool.sol\":\"IConvexBaseRewardPool\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/IConvexBaseRewardPool.sol\":{\"keccak256\":\"0x7c82b546c3c339c6f602191bc9062d6887af7db438800359c0547aa6bb025acc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://13a488b1d715000d1ed9415917a8f9c347ec91b04770b74746facacd88e2e105\",\"dweb:/ipfs/QmaHJKxagREc7Mbq8SkSbWgzwk8bNSFTwojAD5hNemwy1Y\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "extraRewards", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "extraRewardsLength", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "getReward", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "withdraw" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "withdrawAndUnwrap", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/interfaces/IConvexBaseRewardPool.sol": "IConvexBaseRewardPool" - }, - "libraries": {} - }, - "sources": { - "contracts/release/interfaces/IConvexBaseRewardPool.sol": { - "keccak256": "0x7c82b546c3c339c6f602191bc9062d6887af7db438800359c0547aa6bb025acc", - "urls": [ - "bzz-raw://13a488b1d715000d1ed9415917a8f9c347ec91b04770b74746facacd88e2e105", - "dweb:/ipfs/QmaHJKxagREc7Mbq8SkSbWgzwk8bNSFTwojAD5hNemwy1Y" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 285 -} +{ "abi": [ { "type": "function", "name": "balanceOf", "inputs": [ { "name": "", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "extraRewards", "inputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "extraRewardsLength", "inputs": [], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "getReward", "inputs": [], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "withdraw", "inputs": [ { "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "bool", "internalType": "bool" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "withdrawAndUnwrap", "inputs": [ { "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "bool", "internalType": "bool" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "balanceOf(address)": "70a08231", "extraRewards(uint256)": "40c35446", "extraRewardsLength()": "d55a23f4", "getReward()": "3d18b912", "withdraw(uint256,bool)": "38d07436", "withdrawAndUnwrap(uint256,bool)": "c32e7202" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"extraRewards\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"extraRewardsLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getReward\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"name\":\"withdraw\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"name\":\"withdrawAndUnwrap\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IConvexBaseRewardPool Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/IConvexBaseRewardPool.sol\":\"IConvexBaseRewardPool\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/IConvexBaseRewardPool.sol\":{\"keccak256\":\"0x7c82b546c3c339c6f602191bc9062d6887af7db438800359c0547aa6bb025acc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://13a488b1d715000d1ed9415917a8f9c347ec91b04770b74746facacd88e2e105\",\"dweb:/ipfs/QmaHJKxagREc7Mbq8SkSbWgzwk8bNSFTwojAD5hNemwy1Y\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "extraRewards", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "extraRewardsLength", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "getReward", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function", "name": "withdraw" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function", "name": "withdrawAndUnwrap", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/interfaces/IConvexBaseRewardPool.sol": "IConvexBaseRewardPool" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/interfaces/IConvexBaseRewardPool.sol": { "keccak256": "0x7c82b546c3c339c6f602191bc9062d6887af7db438800359c0547aa6bb025acc", "urls": [ "bzz-raw://13a488b1d715000d1ed9415917a8f9c347ec91b04770b74746facacd88e2e105", "dweb:/ipfs/QmaHJKxagREc7Mbq8SkSbWgzwk8bNSFTwojAD5hNemwy1Y" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 285 } diff --git a/eth_defi/abi/enzyme/IConvexBooster.json b/eth_defi/abi/enzyme/IConvexBooster.json index 36bf88e8..cff4a400 100644 --- a/eth_defi/abi/enzyme/IConvexBooster.json +++ b/eth_defi/abi/enzyme/IConvexBooster.json @@ -1,243 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "name": "deposit", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "poolInfo", - "outputs": [ - { - "components": [ - { - "internalType": "address", - "name": "lptoken", - "type": "address" - }, - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "address", - "name": "gauge", - "type": "address" - }, - { - "internalType": "address", - "name": "crvRewards", - "type": "address" - }, - { - "internalType": "address", - "name": "stash", - "type": "address" - }, - { - "internalType": "bool", - "name": "shutdown", - "type": "bool" - } - ], - "internalType": "struct IConvexBooster.PoolInfo", - "name": "", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "deposit(uint256,uint256,bool)": "43a0d066", - "poolInfo(uint256)": "1526fe27" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"name\":\"deposit\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"poolInfo\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"lptoken\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"gauge\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"crvRewards\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"stash\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"shutdown\",\"type\":\"bool\"}],\"internalType\":\"struct IConvexBooster.PoolInfo\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IConvexBooster Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/IConvexBooster.sol\":\"IConvexBooster\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/IConvexBooster.sol\":{\"keccak256\":\"0x6e7561d2d7e71a0c89a6e62445de5c54c2e50d17877b23d8b5af10721dd90ed5\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://772cf7f429a04a557d3b0ed36a73390da64fd93a9df253e0c7e9ebeeecd063ea\",\"dweb:/ipfs/QmXjfnXmtGV67wypxof8nWVTkXAEZqBpFjYePfr17K8rAL\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "deposit", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "poolInfo", - "outputs": [ - { - "internalType": "struct IConvexBooster.PoolInfo", - "name": "", - "type": "tuple", - "components": [ - { - "internalType": "address", - "name": "lptoken", - "type": "address" - }, - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "address", - "name": "gauge", - "type": "address" - }, - { - "internalType": "address", - "name": "crvRewards", - "type": "address" - }, - { - "internalType": "address", - "name": "stash", - "type": "address" - }, - { - "internalType": "bool", - "name": "shutdown", - "type": "bool" - } - ] - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/interfaces/IConvexBooster.sol": "IConvexBooster" - }, - "libraries": {} - }, - "sources": { - "contracts/release/interfaces/IConvexBooster.sol": { - "keccak256": "0x6e7561d2d7e71a0c89a6e62445de5c54c2e50d17877b23d8b5af10721dd90ed5", - "urls": [ - "bzz-raw://772cf7f429a04a557d3b0ed36a73390da64fd93a9df253e0c7e9ebeeecd063ea", - "dweb:/ipfs/QmXjfnXmtGV67wypxof8nWVTkXAEZqBpFjYePfr17K8rAL" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 286 -} +{ "abi": [ { "type": "function", "name": "deposit", "inputs": [ { "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "bool", "internalType": "bool" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "poolInfo", "inputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "tuple", "internalType": "struct IConvexBooster.PoolInfo", "components": [ { "name": "lptoken", "type": "address", "internalType": "address" }, { "name": "token", "type": "address", "internalType": "address" }, { "name": "gauge", "type": "address", "internalType": "address" }, { "name": "crvRewards", "type": "address", "internalType": "address" }, { "name": "stash", "type": "address", "internalType": "address" }, { "name": "shutdown", "type": "bool", "internalType": "bool" } ] } ], "stateMutability": "view" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "deposit(uint256,uint256,bool)": "43a0d066", "poolInfo(uint256)": "1526fe27" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"name\":\"deposit\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"poolInfo\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"lptoken\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"gauge\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"crvRewards\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"stash\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"shutdown\",\"type\":\"bool\"}],\"internalType\":\"struct IConvexBooster.PoolInfo\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IConvexBooster Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/IConvexBooster.sol\":\"IConvexBooster\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/IConvexBooster.sol\":{\"keccak256\":\"0x6e7561d2d7e71a0c89a6e62445de5c54c2e50d17877b23d8b5af10721dd90ed5\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://772cf7f429a04a557d3b0ed36a73390da64fd93a9df253e0c7e9ebeeecd063ea\",\"dweb:/ipfs/QmXjfnXmtGV67wypxof8nWVTkXAEZqBpFjYePfr17K8rAL\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function", "name": "deposit", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "poolInfo", "outputs": [ { "internalType": "struct IConvexBooster.PoolInfo", "name": "", "type": "tuple", "components": [ { "internalType": "address", "name": "lptoken", "type": "address" }, { "internalType": "address", "name": "token", "type": "address" }, { "internalType": "address", "name": "gauge", "type": "address" }, { "internalType": "address", "name": "crvRewards", "type": "address" }, { "internalType": "address", "name": "stash", "type": "address" }, { "internalType": "bool", "name": "shutdown", "type": "bool" } ] } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/interfaces/IConvexBooster.sol": "IConvexBooster" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/interfaces/IConvexBooster.sol": { "keccak256": "0x6e7561d2d7e71a0c89a6e62445de5c54c2e50d17877b23d8b5af10721dd90ed5", "urls": [ "bzz-raw://772cf7f429a04a557d3b0ed36a73390da64fd93a9df253e0c7e9ebeeecd063ea", "dweb:/ipfs/QmXjfnXmtGV67wypxof8nWVTkXAEZqBpFjYePfr17K8rAL" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 286 } diff --git a/eth_defi/abi/enzyme/IConvexCvxLockerV2.json b/eth_defi/abi/enzyme/IConvexCvxLockerV2.json index 540cd7e0..8625e8dd 100644 --- a/eth_defi/abi/enzyme/IConvexCvxLockerV2.json +++ b/eth_defi/abi/enzyme/IConvexCvxLockerV2.json @@ -1,244 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "getReward", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "lock", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "lockedBalanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "name": "processExpiredLocks", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "withdrawExpiredLocksTo", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "getReward(address)": "c00007b0", - "lock(address,uint256,uint256)": "e2ab691d", - "lockedBalanceOf(address)": "59355736", - "processExpiredLocks(bool)": "312ff839", - "withdrawExpiredLocksTo(address)": "d36f12fb" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"getReward\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"lock\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"lockedBalanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"name\":\"processExpiredLocks\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"withdrawExpiredLocksTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IConvexCvxLockerV2 Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/IConvexCvxLockerV2.sol\":\"IConvexCvxLockerV2\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/IConvexCvxLockerV2.sol\":{\"keccak256\":\"0xa6fefe917f35840e9d0e2c34d946810c48d5c74e32bf1af1a41f4eac4ce44f0a\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d23ba1cb3ae9eb0f259e2c0f48af0831062ec3a22f0592d0b8ee29eb558b391c\",\"dweb:/ipfs/QmQYdaias2dV5aXATEp1fKfscyTXSY7m4oMtEcYyZ85RcS\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "getReward" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "lock" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "lockedBalanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "processExpiredLocks" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "withdrawExpiredLocksTo" - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/interfaces/IConvexCvxLockerV2.sol": "IConvexCvxLockerV2" - }, - "libraries": {} - }, - "sources": { - "contracts/release/interfaces/IConvexCvxLockerV2.sol": { - "keccak256": "0xa6fefe917f35840e9d0e2c34d946810c48d5c74e32bf1af1a41f4eac4ce44f0a", - "urls": [ - "bzz-raw://d23ba1cb3ae9eb0f259e2c0f48af0831062ec3a22f0592d0b8ee29eb558b391c", - "dweb:/ipfs/QmQYdaias2dV5aXATEp1fKfscyTXSY7m4oMtEcYyZ85RcS" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 287 -} +{ "abi": [ { "type": "function", "name": "getReward", "inputs": [ { "name": "", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "lock", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "lockedBalanceOf", "inputs": [ { "name": "", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "processExpiredLocks", "inputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "withdrawExpiredLocksTo", "inputs": [ { "name": "", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "getReward(address)": "c00007b0", "lock(address,uint256,uint256)": "e2ab691d", "lockedBalanceOf(address)": "59355736", "processExpiredLocks(bool)": "312ff839", "withdrawExpiredLocksTo(address)": "d36f12fb" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"getReward\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"lock\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"lockedBalanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"name\":\"processExpiredLocks\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"withdrawExpiredLocksTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IConvexCvxLockerV2 Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/IConvexCvxLockerV2.sol\":\"IConvexCvxLockerV2\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/IConvexCvxLockerV2.sol\":{\"keccak256\":\"0xa6fefe917f35840e9d0e2c34d946810c48d5c74e32bf1af1a41f4eac4ce44f0a\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d23ba1cb3ae9eb0f259e2c0f48af0831062ec3a22f0592d0b8ee29eb558b391c\",\"dweb:/ipfs/QmQYdaias2dV5aXATEp1fKfscyTXSY7m4oMtEcYyZ85RcS\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "getReward" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "lock" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "lockedBalanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function", "name": "processExpiredLocks" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "withdrawExpiredLocksTo" } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/interfaces/IConvexCvxLockerV2.sol": "IConvexCvxLockerV2" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/interfaces/IConvexCvxLockerV2.sol": { "keccak256": "0xa6fefe917f35840e9d0e2c34d946810c48d5c74e32bf1af1a41f4eac4ce44f0a", "urls": [ "bzz-raw://d23ba1cb3ae9eb0f259e2c0f48af0831062ec3a22f0592d0b8ee29eb558b391c", "dweb:/ipfs/QmQYdaias2dV5aXATEp1fKfscyTXSY7m4oMtEcYyZ85RcS" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 287 } diff --git a/eth_defi/abi/enzyme/IConvexVirtualBalanceRewardPool.json b/eth_defi/abi/enzyme/IConvexVirtualBalanceRewardPool.json index d13cefda..3ab4635f 100644 --- a/eth_defi/abi/enzyme/IConvexVirtualBalanceRewardPool.json +++ b/eth_defi/abi/enzyme/IConvexVirtualBalanceRewardPool.json @@ -1,108 +1 @@ -{ - "abi": [ - { - "inputs": [], - "name": "rewardToken", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "rewardToken()": "f7c618c1" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"rewardToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IConvexVirtualBalanceRewardPool Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/IConvexVirtualBalanceRewardPool.sol\":\"IConvexVirtualBalanceRewardPool\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/IConvexVirtualBalanceRewardPool.sol\":{\"keccak256\":\"0x45a7d783e4088cf1b5dcb548da2fce6b0caa9c572c43af9f39aff46498fa101c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://82ed678230fe900991bd81a6c31dae01d120fe5521f96d1cc36c40334385f907\",\"dweb:/ipfs/QmYre4JtyoXmetrYUwFMrPKwBY1NEm2XYdgMiAR7Z7P2jW\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "rewardToken", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/interfaces/IConvexVirtualBalanceRewardPool.sol": "IConvexVirtualBalanceRewardPool" - }, - "libraries": {} - }, - "sources": { - "contracts/release/interfaces/IConvexVirtualBalanceRewardPool.sol": { - "keccak256": "0x45a7d783e4088cf1b5dcb548da2fce6b0caa9c572c43af9f39aff46498fa101c", - "urls": [ - "bzz-raw://82ed678230fe900991bd81a6c31dae01d120fe5521f96d1cc36c40334385f907", - "dweb:/ipfs/QmYre4JtyoXmetrYUwFMrPKwBY1NEm2XYdgMiAR7Z7P2jW" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 288 -} +{ "abi": [ { "type": "function", "name": "rewardToken", "inputs": [], "outputs": [ { "name": "", "type": "address", "internalType": "address" } ], "stateMutability": "view" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "rewardToken()": "f7c618c1" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"rewardToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IConvexVirtualBalanceRewardPool Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/IConvexVirtualBalanceRewardPool.sol\":\"IConvexVirtualBalanceRewardPool\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/IConvexVirtualBalanceRewardPool.sol\":{\"keccak256\":\"0x45a7d783e4088cf1b5dcb548da2fce6b0caa9c572c43af9f39aff46498fa101c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://82ed678230fe900991bd81a6c31dae01d120fe5521f96d1cc36c40334385f907\",\"dweb:/ipfs/QmYre4JtyoXmetrYUwFMrPKwBY1NEm2XYdgMiAR7Z7P2jW\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [], "stateMutability": "view", "type": "function", "name": "rewardToken", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/interfaces/IConvexVirtualBalanceRewardPool.sol": "IConvexVirtualBalanceRewardPool" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/interfaces/IConvexVirtualBalanceRewardPool.sol": { "keccak256": "0x45a7d783e4088cf1b5dcb548da2fce6b0caa9c572c43af9f39aff46498fa101c", "urls": [ "bzz-raw://82ed678230fe900991bd81a6c31dae01d120fe5521f96d1cc36c40334385f907", "dweb:/ipfs/QmYre4JtyoXmetrYUwFMrPKwBY1NEm2XYdgMiAR7Z7P2jW" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 288 } diff --git a/eth_defi/abi/enzyme/IConvexVlCvxExtraRewardDistribution.json b/eth_defi/abi/enzyme/IConvexVlCvxExtraRewardDistribution.json index 644786a7..939af91f 100644 --- a/eth_defi/abi/enzyme/IConvexVlCvxExtraRewardDistribution.json +++ b/eth_defi/abi/enzyme/IConvexVlCvxExtraRewardDistribution.json @@ -1,117 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "getReward", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "getReward(address,address)": "6b091695" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"getReward\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IConvexVlCvxExtraRewardDistribution Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/IConvexVlCvxExtraRewardDistribution.sol\":\"IConvexVlCvxExtraRewardDistribution\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/IConvexVlCvxExtraRewardDistribution.sol\":{\"keccak256\":\"0x0696b9b5f485b3924c1b2136d459aefd3b051bf066a8f813e7b3454a1fcb318b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://aa2c4e6754a04a251f3bcf18dd3447bdade22e403356312dc142469b53ab3a07\",\"dweb:/ipfs/QmeZRGgxy6aihqT25mgWZsDb9ghicYqj9rjTNcqYC51YhM\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "getReward" - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/interfaces/IConvexVlCvxExtraRewardDistribution.sol": "IConvexVlCvxExtraRewardDistribution" - }, - "libraries": {} - }, - "sources": { - "contracts/release/interfaces/IConvexVlCvxExtraRewardDistribution.sol": { - "keccak256": "0x0696b9b5f485b3924c1b2136d459aefd3b051bf066a8f813e7b3454a1fcb318b", - "urls": [ - "bzz-raw://aa2c4e6754a04a251f3bcf18dd3447bdade22e403356312dc142469b53ab3a07", - "dweb:/ipfs/QmeZRGgxy6aihqT25mgWZsDb9ghicYqj9rjTNcqYC51YhM" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 289 -} +{ "abi": [ { "type": "function", "name": "getReward", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "getReward(address,address)": "6b091695" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"getReward\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IConvexVlCvxExtraRewardDistribution Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/IConvexVlCvxExtraRewardDistribution.sol\":\"IConvexVlCvxExtraRewardDistribution\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/IConvexVlCvxExtraRewardDistribution.sol\":{\"keccak256\":\"0x0696b9b5f485b3924c1b2136d459aefd3b051bf066a8f813e7b3454a1fcb318b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://aa2c4e6754a04a251f3bcf18dd3447bdade22e403356312dc142469b53ab3a07\",\"dweb:/ipfs/QmeZRGgxy6aihqT25mgWZsDb9ghicYqj9rjTNcqYC51YhM\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "getReward" } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/interfaces/IConvexVlCvxExtraRewardDistribution.sol": "IConvexVlCvxExtraRewardDistribution" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/interfaces/IConvexVlCvxExtraRewardDistribution.sol": { "keccak256": "0x0696b9b5f485b3924c1b2136d459aefd3b051bf066a8f813e7b3454a1fcb318b", "urls": [ "bzz-raw://aa2c4e6754a04a251f3bcf18dd3447bdade22e403356312dc142469b53ab3a07", "dweb:/ipfs/QmeZRGgxy6aihqT25mgWZsDb9ghicYqj9rjTNcqYC51YhM" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 289 } diff --git a/eth_defi/abi/enzyme/IConvexVotingPosition.json b/eth_defi/abi/enzyme/IConvexVotingPosition.json index 82a180ab..715f68a6 100644 --- a/eth_defi/abi/enzyme/IConvexVotingPosition.json +++ b/eth_defi/abi/enzyme/IConvexVotingPosition.json @@ -1,215 +1 @@ -{ - "abi": [ - { - "inputs": [], - "name": "getDebtAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getManagedAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "init", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "receiveCallFromVault", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "getDebtAssets()": "ecd658b4", - "getManagedAssets()": "80daddb8", - "init(bytes)": "4ddf47d4", - "receiveCallFromVault(bytes)": "e5c23a97" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"getDebtAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getManagedAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"receiveCallFromVault\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IConvexVotingPosition Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/convex-voting/IConvexVotingPosition.sol\":\"IConvexVotingPosition\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/release/extensions/external-position-manager/external-positions/convex-voting/IConvexVotingPosition.sol\":{\"keccak256\":\"0x7a6ea639f6f611e8098537a3310378e246c06a3d1362d8b16c8bd6fd1bfa5f63\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1bf56ec6e00cb8d97ecdb262439c1d619dbca06720f6e217e219539a326bbe43\",\"dweb:/ipfs/QmXYJAXCw6YZWrArvD9RvE1SS4FEzCsz2jXef5vbpU88EW\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "getDebtAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ] - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "getManagedAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "init" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "receiveCallFromVault" - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/external-position-manager/external-positions/convex-voting/IConvexVotingPosition.sol": "IConvexVotingPosition" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/external-positions/IExternalPosition.sol": { - "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", - "urls": [ - "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", - "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/convex-voting/IConvexVotingPosition.sol": { - "keccak256": "0x7a6ea639f6f611e8098537a3310378e246c06a3d1362d8b16c8bd6fd1bfa5f63", - "urls": [ - "bzz-raw://1bf56ec6e00cb8d97ecdb262439c1d619dbca06720f6e217e219539a326bbe43", - "dweb:/ipfs/QmXYJAXCw6YZWrArvD9RvE1SS4FEzCsz2jXef5vbpU88EW" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 105 -} +{ "abi": [ { "type": "function", "name": "getDebtAssets", "inputs": [], "outputs": [ { "name": "", "type": "address[]", "internalType": "address[]" }, { "name": "", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "getManagedAssets", "inputs": [], "outputs": [ { "name": "", "type": "address[]", "internalType": "address[]" }, { "name": "", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "init", "inputs": [ { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "receiveCallFromVault", "inputs": [ { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "getDebtAssets()": "ecd658b4", "getManagedAssets()": "80daddb8", "init(bytes)": "4ddf47d4", "receiveCallFromVault(bytes)": "e5c23a97" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"getDebtAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getManagedAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"receiveCallFromVault\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IConvexVotingPosition Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/convex-voting/IConvexVotingPosition.sol\":\"IConvexVotingPosition\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/release/extensions/external-position-manager/external-positions/convex-voting/IConvexVotingPosition.sol\":{\"keccak256\":\"0x7a6ea639f6f611e8098537a3310378e246c06a3d1362d8b16c8bd6fd1bfa5f63\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1bf56ec6e00cb8d97ecdb262439c1d619dbca06720f6e217e219539a326bbe43\",\"dweb:/ipfs/QmXYJAXCw6YZWrArvD9RvE1SS4FEzCsz2jXef5vbpU88EW\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "getDebtAssets", "outputs": [ { "internalType": "address[]", "name": "", "type": "address[]" }, { "internalType": "uint256[]", "name": "", "type": "uint256[]" } ] }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "getManagedAssets", "outputs": [ { "internalType": "address[]", "name": "", "type": "address[]" }, { "internalType": "uint256[]", "name": "", "type": "uint256[]" } ] }, { "inputs": [ { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "init" }, { "inputs": [ { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "receiveCallFromVault" } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/external-position-manager/external-positions/convex-voting/IConvexVotingPosition.sol": "IConvexVotingPosition" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/external-positions/IExternalPosition.sol": { "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", "urls": [ "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/convex-voting/IConvexVotingPosition.sol": { "keccak256": "0x7a6ea639f6f611e8098537a3310378e246c06a3d1362d8b16c8bd6fd1bfa5f63", "urls": [ "bzz-raw://1bf56ec6e00cb8d97ecdb262439c1d619dbca06720f6e217e219539a326bbe43", "dweb:/ipfs/QmXYJAXCw6YZWrArvD9RvE1SS4FEzCsz2jXef5vbpU88EW" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 105 } diff --git a/eth_defi/abi/enzyme/ICurveAddressProvider.json b/eth_defi/abi/enzyme/ICurveAddressProvider.json index 90f65ac9..a75ad39e 100644 --- a/eth_defi/abi/enzyme/ICurveAddressProvider.json +++ b/eth_defi/abi/enzyme/ICurveAddressProvider.json @@ -1,147 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "get_address", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "get_registry", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "get_address(uint256)": "493f4f74", - "get_registry()": "a262904b" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"get_address\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"get_registry\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ICurveAddressProvider interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/ICurveAddressProvider.sol\":\"ICurveAddressProvider\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/ICurveAddressProvider.sol\":{\"keccak256\":\"0xf8da903700c623760de62b3e5d0b01997c68b8847391e23b89081128780e55e1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://735b71b448d4d5c78e98ead84bf8f8e1e94e38ff8a77c7e4f9cc944d1d73e7df\",\"dweb:/ipfs/QmXFgGFVEvQW9wpeBspcaVAXwCcxvnNJZLafTeP2HPArNQ\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "get_address", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "get_registry", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/interfaces/ICurveAddressProvider.sol": "ICurveAddressProvider" - }, - "libraries": {} - }, - "sources": { - "contracts/release/interfaces/ICurveAddressProvider.sol": { - "keccak256": "0xf8da903700c623760de62b3e5d0b01997c68b8847391e23b89081128780e55e1", - "urls": [ - "bzz-raw://735b71b448d4d5c78e98ead84bf8f8e1e94e38ff8a77c7e4f9cc944d1d73e7df", - "dweb:/ipfs/QmXFgGFVEvQW9wpeBspcaVAXwCcxvnNJZLafTeP2HPArNQ" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 290 -} +{ "abi": [ { "type": "function", "name": "get_address", "inputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "get_registry", "inputs": [], "outputs": [ { "name": "", "type": "address", "internalType": "address" } ], "stateMutability": "view" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "get_address(uint256)": "493f4f74", "get_registry()": "a262904b" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"get_address\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"get_registry\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ICurveAddressProvider interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/ICurveAddressProvider.sol\":\"ICurveAddressProvider\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/ICurveAddressProvider.sol\":{\"keccak256\":\"0xf8da903700c623760de62b3e5d0b01997c68b8847391e23b89081128780e55e1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://735b71b448d4d5c78e98ead84bf8f8e1e94e38ff8a77c7e4f9cc944d1d73e7df\",\"dweb:/ipfs/QmXFgGFVEvQW9wpeBspcaVAXwCcxvnNJZLafTeP2HPArNQ\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "get_address", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "get_registry", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/interfaces/ICurveAddressProvider.sol": "ICurveAddressProvider" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/interfaces/ICurveAddressProvider.sol": { "keccak256": "0xf8da903700c623760de62b3e5d0b01997c68b8847391e23b89081128780e55e1", "urls": [ "bzz-raw://735b71b448d4d5c78e98ead84bf8f8e1e94e38ff8a77c7e4f9cc944d1d73e7df", "dweb:/ipfs/QmXFgGFVEvQW9wpeBspcaVAXwCcxvnNJZLafTeP2HPArNQ" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 290 } diff --git a/eth_defi/abi/enzyme/ICurveLiquidityGaugeToken.json b/eth_defi/abi/enzyme/ICurveLiquidityGaugeToken.json index a068348e..9c9883b1 100644 --- a/eth_defi/abi/enzyme/ICurveLiquidityGaugeToken.json +++ b/eth_defi/abi/enzyme/ICurveLiquidityGaugeToken.json @@ -1,108 +1 @@ -{ - "abi": [ - { - "inputs": [], - "name": "lp_token", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "lp_token()": "82c63066" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"lp_token\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ICurveLiquidityGaugeToken interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Common interface functions for all Curve liquidity gauge token contracts\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/ICurveLiquidityGaugeToken.sol\":\"ICurveLiquidityGaugeToken\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/ICurveLiquidityGaugeToken.sol\":{\"keccak256\":\"0x2142172a89d38b974b91df05630595b8e67f6eb80004667da6d6d2ac795babfd\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://229c74278573b51cc5717da724b97747c31ddc3b2d14a238943bd7cdb393c31b\",\"dweb:/ipfs/QmPexrdf9pUgQNFU54JJc2opLfF69mphZ5HxB7EdGKvaQB\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "lp_token", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/interfaces/ICurveLiquidityGaugeToken.sol": "ICurveLiquidityGaugeToken" - }, - "libraries": {} - }, - "sources": { - "contracts/release/interfaces/ICurveLiquidityGaugeToken.sol": { - "keccak256": "0x2142172a89d38b974b91df05630595b8e67f6eb80004667da6d6d2ac795babfd", - "urls": [ - "bzz-raw://229c74278573b51cc5717da724b97747c31ddc3b2d14a238943bd7cdb393c31b", - "dweb:/ipfs/QmPexrdf9pUgQNFU54JJc2opLfF69mphZ5HxB7EdGKvaQB" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 291 -} +{ "abi": [ { "type": "function", "name": "lp_token", "inputs": [], "outputs": [ { "name": "", "type": "address", "internalType": "address" } ], "stateMutability": "view" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "lp_token()": "82c63066" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"lp_token\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ICurveLiquidityGaugeToken interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Common interface functions for all Curve liquidity gauge token contracts\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/ICurveLiquidityGaugeToken.sol\":\"ICurveLiquidityGaugeToken\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/ICurveLiquidityGaugeToken.sol\":{\"keccak256\":\"0x2142172a89d38b974b91df05630595b8e67f6eb80004667da6d6d2ac795babfd\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://229c74278573b51cc5717da724b97747c31ddc3b2d14a238943bd7cdb393c31b\",\"dweb:/ipfs/QmPexrdf9pUgQNFU54JJc2opLfF69mphZ5HxB7EdGKvaQB\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [], "stateMutability": "view", "type": "function", "name": "lp_token", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/interfaces/ICurveLiquidityGaugeToken.sol": "ICurveLiquidityGaugeToken" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/interfaces/ICurveLiquidityGaugeToken.sol": { "keccak256": "0x2142172a89d38b974b91df05630595b8e67f6eb80004667da6d6d2ac795babfd", "urls": [ "bzz-raw://229c74278573b51cc5717da724b97747c31ddc3b2d14a238943bd7cdb393c31b", "dweb:/ipfs/QmPexrdf9pUgQNFU54JJc2opLfF69mphZ5HxB7EdGKvaQB" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 291 } diff --git a/eth_defi/abi/enzyme/ICurveLiquidityGaugeV2.json b/eth_defi/abi/enzyme/ICurveLiquidityGaugeV2.json index b3bb9ca1..97810c3f 100644 --- a/eth_defi/abi/enzyme/ICurveLiquidityGaugeV2.json +++ b/eth_defi/abi/enzyme/ICurveLiquidityGaugeV2.json @@ -1,208 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "claim_rewards", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "deposit", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "reward_tokens", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "withdraw", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "claim_rewards(address)": "84e9bd7e", - "deposit(uint256,address)": "6e553f65", - "reward_tokens(uint256)": "54c49fe9", - "withdraw(uint256)": "2e1a7d4d" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"claim_rewards\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"deposit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"reward_tokens\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"withdraw\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ICurveLiquidityGaugeV2 interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/ICurveLiquidityGaugeV2.sol\":\"ICurveLiquidityGaugeV2\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/ICurveLiquidityGaugeV2.sol\":{\"keccak256\":\"0x0fbd9bdd7d7df1cd92c065ae3e62f1767d80914f086a0f146a2c9874aa7d4e30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://7ed9ee21be1e5c6e6caf3abd0a092410c50614239c72a361612e3d71a649e6e1\",\"dweb:/ipfs/QmZgGgbPsWAiMwnPiimNGgFN6ZnaqcUkRSsSpnQi1MtBNs\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "claim_rewards" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "deposit" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "reward_tokens", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "withdraw" - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/interfaces/ICurveLiquidityGaugeV2.sol": "ICurveLiquidityGaugeV2" - }, - "libraries": {} - }, - "sources": { - "contracts/release/interfaces/ICurveLiquidityGaugeV2.sol": { - "keccak256": "0x0fbd9bdd7d7df1cd92c065ae3e62f1767d80914f086a0f146a2c9874aa7d4e30", - "urls": [ - "bzz-raw://7ed9ee21be1e5c6e6caf3abd0a092410c50614239c72a361612e3d71a649e6e1", - "dweb:/ipfs/QmZgGgbPsWAiMwnPiimNGgFN6ZnaqcUkRSsSpnQi1MtBNs" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 292 -} +{ "abi": [ { "type": "function", "name": "claim_rewards", "inputs": [ { "name": "", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "deposit", "inputs": [ { "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "reward_tokens", "inputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "withdraw", "inputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "claim_rewards(address)": "84e9bd7e", "deposit(uint256,address)": "6e553f65", "reward_tokens(uint256)": "54c49fe9", "withdraw(uint256)": "2e1a7d4d" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"claim_rewards\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"deposit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"reward_tokens\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"withdraw\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ICurveLiquidityGaugeV2 interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/ICurveLiquidityGaugeV2.sol\":\"ICurveLiquidityGaugeV2\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/ICurveLiquidityGaugeV2.sol\":{\"keccak256\":\"0x0fbd9bdd7d7df1cd92c065ae3e62f1767d80914f086a0f146a2c9874aa7d4e30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://7ed9ee21be1e5c6e6caf3abd0a092410c50614239c72a361612e3d71a649e6e1\",\"dweb:/ipfs/QmZgGgbPsWAiMwnPiimNGgFN6ZnaqcUkRSsSpnQi1MtBNs\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "claim_rewards" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "deposit" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "reward_tokens", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ] }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "withdraw" } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/interfaces/ICurveLiquidityGaugeV2.sol": "ICurveLiquidityGaugeV2" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/interfaces/ICurveLiquidityGaugeV2.sol": { "keccak256": "0x0fbd9bdd7d7df1cd92c065ae3e62f1767d80914f086a0f146a2c9874aa7d4e30", "urls": [ "bzz-raw://7ed9ee21be1e5c6e6caf3abd0a092410c50614239c72a361612e3d71a649e6e1", "dweb:/ipfs/QmZgGgbPsWAiMwnPiimNGgFN6ZnaqcUkRSsSpnQi1MtBNs" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 292 } diff --git a/eth_defi/abi/enzyme/ICurveLiquidityPool.json b/eth_defi/abi/enzyme/ICurveLiquidityPool.json index fbde6ae6..bb9b5a93 100644 --- a/eth_defi/abi/enzyme/ICurveLiquidityPool.json +++ b/eth_defi/abi/enzyme/ICurveLiquidityPool.json @@ -1,264 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "int128", - "name": "", - "type": "int128" - } - ], - "name": "coins", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "coins", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "get_virtual_price", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "int128", - "name": "", - "type": "int128" - } - ], - "name": "underlying_coins", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "underlying_coins", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "coins(int128)": "23746eb8", - "coins(uint256)": "c6610657", - "get_virtual_price()": "bb7b8b80", - "underlying_coins(int128)": "b739953e", - "underlying_coins(uint256)": "b9947eb0" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"int128\",\"name\":\"\",\"type\":\"int128\"}],\"name\":\"coins\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"coins\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"get_virtual_price\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int128\",\"name\":\"\",\"type\":\"int128\"}],\"name\":\"underlying_coins\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"underlying_coins\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ICurveLiquidityPool interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/ICurveLiquidityPool.sol\":\"ICurveLiquidityPool\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/ICurveLiquidityPool.sol\":{\"keccak256\":\"0xd90f3399805f90d670098cc451f9948b8da7dd68be821617c76487fdc20f0731\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ba6e6e5bf761fa279329a564741e5cd2b78c5be2e50c388ac419c3d84736c9a1\",\"dweb:/ipfs/QmZ96kkg7oHLmdzwQLYbZVHDvKj8jZEJLaxNXy1j3sbgrn\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "int128", - "name": "", - "type": "int128" - } - ], - "stateMutability": "view", - "type": "function", - "name": "coins", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "coins", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "get_virtual_price", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "int128", - "name": "", - "type": "int128" - } - ], - "stateMutability": "view", - "type": "function", - "name": "underlying_coins", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "underlying_coins", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/interfaces/ICurveLiquidityPool.sol": "ICurveLiquidityPool" - }, - "libraries": {} - }, - "sources": { - "contracts/release/interfaces/ICurveLiquidityPool.sol": { - "keccak256": "0xd90f3399805f90d670098cc451f9948b8da7dd68be821617c76487fdc20f0731", - "urls": [ - "bzz-raw://ba6e6e5bf761fa279329a564741e5cd2b78c5be2e50c388ac419c3d84736c9a1", - "dweb:/ipfs/QmZ96kkg7oHLmdzwQLYbZVHDvKj8jZEJLaxNXy1j3sbgrn" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 293 -} +{ "abi": [ { "type": "function", "name": "coins", "inputs": [ { "name": "", "type": "int128", "internalType": "int128" } ], "outputs": [ { "name": "", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "coins", "inputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "get_virtual_price", "inputs": [], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "underlying_coins", "inputs": [ { "name": "", "type": "int128", "internalType": "int128" } ], "outputs": [ { "name": "", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "underlying_coins", "inputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "address", "internalType": "address" } ], "stateMutability": "view" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "coins(int128)": "23746eb8", "coins(uint256)": "c6610657", "get_virtual_price()": "bb7b8b80", "underlying_coins(int128)": "b739953e", "underlying_coins(uint256)": "b9947eb0" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"int128\",\"name\":\"\",\"type\":\"int128\"}],\"name\":\"coins\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"coins\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"get_virtual_price\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int128\",\"name\":\"\",\"type\":\"int128\"}],\"name\":\"underlying_coins\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"underlying_coins\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ICurveLiquidityPool interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/ICurveLiquidityPool.sol\":\"ICurveLiquidityPool\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/ICurveLiquidityPool.sol\":{\"keccak256\":\"0xd90f3399805f90d670098cc451f9948b8da7dd68be821617c76487fdc20f0731\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ba6e6e5bf761fa279329a564741e5cd2b78c5be2e50c388ac419c3d84736c9a1\",\"dweb:/ipfs/QmZ96kkg7oHLmdzwQLYbZVHDvKj8jZEJLaxNXy1j3sbgrn\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "int128", "name": "", "type": "int128" } ], "stateMutability": "view", "type": "function", "name": "coins", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ] }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "coins", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "get_virtual_price", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "int128", "name": "", "type": "int128" } ], "stateMutability": "view", "type": "function", "name": "underlying_coins", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ] }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "underlying_coins", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/interfaces/ICurveLiquidityPool.sol": "ICurveLiquidityPool" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/interfaces/ICurveLiquidityPool.sol": { "keccak256": "0xd90f3399805f90d670098cc451f9948b8da7dd68be821617c76487fdc20f0731", "urls": [ "bzz-raw://ba6e6e5bf761fa279329a564741e5cd2b78c5be2e50c388ac419c3d84736c9a1", "dweb:/ipfs/QmZ96kkg7oHLmdzwQLYbZVHDvKj8jZEJLaxNXy1j3sbgrn" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 293 } diff --git a/eth_defi/abi/enzyme/ICurveMinter.json b/eth_defi/abi/enzyme/ICurveMinter.json index 5ef2dc45..9b90d811 100644 --- a/eth_defi/abi/enzyme/ICurveMinter.json +++ b/eth_defi/abi/enzyme/ICurveMinter.json @@ -1,117 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "mint_for", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "mint_for(address,address)": "27f18ae3" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"mint_for\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ICurveMinter interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/ICurveMinter.sol\":\"ICurveMinter\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/ICurveMinter.sol\":{\"keccak256\":\"0xbfe0cfa932805d9cda714d7ef7cb6b42d08c782b0ffa46de5e2c0530f4ce5ba1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://29ab2dcee291bf81ccb67ab31fd3548e634fb2742642f70890edc7af727d3d39\",\"dweb:/ipfs/QmVZtC5aHRABS8ZX8XVtwiW1Y8K5vnhVH7WKZ29prN2EpJ\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "mint_for" - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/interfaces/ICurveMinter.sol": "ICurveMinter" - }, - "libraries": {} - }, - "sources": { - "contracts/release/interfaces/ICurveMinter.sol": { - "keccak256": "0xbfe0cfa932805d9cda714d7ef7cb6b42d08c782b0ffa46de5e2c0530f4ce5ba1", - "urls": [ - "bzz-raw://29ab2dcee291bf81ccb67ab31fd3548e634fb2742642f70890edc7af727d3d39", - "dweb:/ipfs/QmVZtC5aHRABS8ZX8XVtwiW1Y8K5vnhVH7WKZ29prN2EpJ" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 294 -} +{ "abi": [ { "type": "function", "name": "mint_for", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "mint_for(address,address)": "27f18ae3" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"mint_for\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ICurveMinter interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/ICurveMinter.sol\":\"ICurveMinter\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/ICurveMinter.sol\":{\"keccak256\":\"0xbfe0cfa932805d9cda714d7ef7cb6b42d08c782b0ffa46de5e2c0530f4ce5ba1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://29ab2dcee291bf81ccb67ab31fd3548e634fb2742642f70890edc7af727d3d39\",\"dweb:/ipfs/QmVZtC5aHRABS8ZX8XVtwiW1Y8K5vnhVH7WKZ29prN2EpJ\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "mint_for" } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/interfaces/ICurveMinter.sol": "ICurveMinter" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/interfaces/ICurveMinter.sol": { "keccak256": "0xbfe0cfa932805d9cda714d7ef7cb6b42d08c782b0ffa46de5e2c0530f4ce5ba1", "urls": [ "bzz-raw://29ab2dcee291bf81ccb67ab31fd3548e634fb2742642f70890edc7af727d3d39", "dweb:/ipfs/QmVZtC5aHRABS8ZX8XVtwiW1Y8K5vnhVH7WKZ29prN2EpJ" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 294 } diff --git a/eth_defi/abi/enzyme/ICurvePoolOwner.json b/eth_defi/abi/enzyme/ICurvePoolOwner.json index fc1cd293..05d884e8 100644 --- a/eth_defi/abi/enzyme/ICurvePoolOwner.json +++ b/eth_defi/abi/enzyme/ICurvePoolOwner.json @@ -1,107 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "withdraw_admin_fees", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "withdraw_admin_fees(address)": "e4e67c0f" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"withdraw_admin_fees\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ICurvePoolOwner interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/ICurvePoolOwner.sol\":\"ICurvePoolOwner\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/ICurvePoolOwner.sol\":{\"keccak256\":\"0x42a03eb0d757153add18d4f42b5b464041056e23f6965a48705088ddd213c336\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a4166f75c4c80b8f069ae2b8cfe9bda2babca27fd30b239e30606eca69f8878c\",\"dweb:/ipfs/QmYNULkXYTaKQUiCA8htR9KbCkK5YhrHfJgKtBqXiNPt9R\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "withdraw_admin_fees" - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/interfaces/ICurvePoolOwner.sol": "ICurvePoolOwner" - }, - "libraries": {} - }, - "sources": { - "contracts/release/interfaces/ICurvePoolOwner.sol": { - "keccak256": "0x42a03eb0d757153add18d4f42b5b464041056e23f6965a48705088ddd213c336", - "urls": [ - "bzz-raw://a4166f75c4c80b8f069ae2b8cfe9bda2babca27fd30b239e30606eca69f8878c", - "dweb:/ipfs/QmYNULkXYTaKQUiCA8htR9KbCkK5YhrHfJgKtBqXiNPt9R" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 295 -} +{ "abi": [ { "type": "function", "name": "withdraw_admin_fees", "inputs": [ { "name": "", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "withdraw_admin_fees(address)": "e4e67c0f" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"withdraw_admin_fees\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ICurvePoolOwner interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/ICurvePoolOwner.sol\":\"ICurvePoolOwner\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/ICurvePoolOwner.sol\":{\"keccak256\":\"0x42a03eb0d757153add18d4f42b5b464041056e23f6965a48705088ddd213c336\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a4166f75c4c80b8f069ae2b8cfe9bda2babca27fd30b239e30606eca69f8878c\",\"dweb:/ipfs/QmYNULkXYTaKQUiCA8htR9KbCkK5YhrHfJgKtBqXiNPt9R\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "withdraw_admin_fees" } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/interfaces/ICurvePoolOwner.sol": "ICurvePoolOwner" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/interfaces/ICurvePoolOwner.sol": { "keccak256": "0x42a03eb0d757153add18d4f42b5b464041056e23f6965a48705088ddd213c336", "urls": [ "bzz-raw://a4166f75c4c80b8f069ae2b8cfe9bda2babca27fd30b239e30606eca69f8878c", "dweb:/ipfs/QmYNULkXYTaKQUiCA8htR9KbCkK5YhrHfJgKtBqXiNPt9R" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 295 } diff --git a/eth_defi/abi/enzyme/ICurveRegistryMain.json b/eth_defi/abi/enzyme/ICurveRegistryMain.json index adb7dcff..a64fa1c4 100644 --- a/eth_defi/abi/enzyme/ICurveRegistryMain.json +++ b/eth_defi/abi/enzyme/ICurveRegistryMain.json @@ -1,169 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "get_gauges", - "outputs": [ - { - "internalType": "address[10]", - "name": "", - "type": "address[10]" - }, - { - "internalType": "int128[10]", - "name": "", - "type": "int128[10]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "get_lp_token", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "get_gauges(address)": "56059ffb", - "get_lp_token(address)": "37951049" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"get_gauges\",\"outputs\":[{\"internalType\":\"address[10]\",\"name\":\"\",\"type\":\"address[10]\"},{\"internalType\":\"int128[10]\",\"name\":\"\",\"type\":\"int128[10]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"get_lp_token\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ICurveRegistryMain interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Limited interface for the Curve Registry contract at ICurveAddressProvider.get_address(0)\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/ICurveRegistryMain.sol\":\"ICurveRegistryMain\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/ICurveRegistryMain.sol\":{\"keccak256\":\"0x9e67cfcd4195bfd8db785be1cba42bf8871d0638770adaf04d638227b29a9b2b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://cb2587e7026be73f27d4dd75deb44faeca3112a58ddc07bb87bca46d96fd977b\",\"dweb:/ipfs/QmTVdpCWZ9rv583gxP5Ycvs5Nf7jZTxVWr5oeZvywYNSSh\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "get_gauges", - "outputs": [ - { - "internalType": "address[10]", - "name": "", - "type": "address[10]" - }, - { - "internalType": "int128[10]", - "name": "", - "type": "int128[10]" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "get_lp_token", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/interfaces/ICurveRegistryMain.sol": "ICurveRegistryMain" - }, - "libraries": {} - }, - "sources": { - "contracts/release/interfaces/ICurveRegistryMain.sol": { - "keccak256": "0x9e67cfcd4195bfd8db785be1cba42bf8871d0638770adaf04d638227b29a9b2b", - "urls": [ - "bzz-raw://cb2587e7026be73f27d4dd75deb44faeca3112a58ddc07bb87bca46d96fd977b", - "dweb:/ipfs/QmTVdpCWZ9rv583gxP5Ycvs5Nf7jZTxVWr5oeZvywYNSSh" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 296 -} +{ "abi": [ { "type": "function", "name": "get_gauges", "inputs": [ { "name": "", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "address[10]", "internalType": "address[10]" }, { "name": "", "type": "int128[10]", "internalType": "int128[10]" } ], "stateMutability": "view" }, { "type": "function", "name": "get_lp_token", "inputs": [ { "name": "", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "address", "internalType": "address" } ], "stateMutability": "view" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "get_gauges(address)": "56059ffb", "get_lp_token(address)": "37951049" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"get_gauges\",\"outputs\":[{\"internalType\":\"address[10]\",\"name\":\"\",\"type\":\"address[10]\"},{\"internalType\":\"int128[10]\",\"name\":\"\",\"type\":\"int128[10]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"get_lp_token\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ICurveRegistryMain interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Limited interface for the Curve Registry contract at ICurveAddressProvider.get_address(0)\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/ICurveRegistryMain.sol\":\"ICurveRegistryMain\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/ICurveRegistryMain.sol\":{\"keccak256\":\"0x9e67cfcd4195bfd8db785be1cba42bf8871d0638770adaf04d638227b29a9b2b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://cb2587e7026be73f27d4dd75deb44faeca3112a58ddc07bb87bca46d96fd977b\",\"dweb:/ipfs/QmTVdpCWZ9rv583gxP5Ycvs5Nf7jZTxVWr5oeZvywYNSSh\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "get_gauges", "outputs": [ { "internalType": "address[10]", "name": "", "type": "address[10]" }, { "internalType": "int128[10]", "name": "", "type": "int128[10]" } ] }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "get_lp_token", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/interfaces/ICurveRegistryMain.sol": "ICurveRegistryMain" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/interfaces/ICurveRegistryMain.sol": { "keccak256": "0x9e67cfcd4195bfd8db785be1cba42bf8871d0638770adaf04d638227b29a9b2b", "urls": [ "bzz-raw://cb2587e7026be73f27d4dd75deb44faeca3112a58ddc07bb87bca46d96fd977b", "dweb:/ipfs/QmTVdpCWZ9rv583gxP5Ycvs5Nf7jZTxVWr5oeZvywYNSSh" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 296 } diff --git a/eth_defi/abi/enzyme/ICurveRegistryMetapoolFactory.json b/eth_defi/abi/enzyme/ICurveRegistryMetapoolFactory.json index 8cdc59ff..6f903807 100644 --- a/eth_defi/abi/enzyme/ICurveRegistryMetapoolFactory.json +++ b/eth_defi/abi/enzyme/ICurveRegistryMetapoolFactory.json @@ -1,159 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "get_gauge", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "get_n_coins", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "get_gauge(address)": "daf297b9", - "get_n_coins(address)": "940494f1" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"get_gauge\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"get_n_coins\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ICurveRegistryMetapoolFactory interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Limited interface for the Curve Registry contract at ICurveAddressProvider.get_address(3)\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/ICurveRegistryMetapoolFactory.sol\":\"ICurveRegistryMetapoolFactory\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/ICurveRegistryMetapoolFactory.sol\":{\"keccak256\":\"0x43aa6bfbda8ca1fdcb0890792e7969999146c690986938ac43818ca9b9343e58\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3426ad7d87cd51519c288004f970da83bf672d60fc7d1c647af5e84855f6a4b5\",\"dweb:/ipfs/QmevngH3Acet8R6YHzGLRyNeEoUYfbnQm7NSbzHYN7rdpf\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "get_gauge", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "get_n_coins", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/interfaces/ICurveRegistryMetapoolFactory.sol": "ICurveRegistryMetapoolFactory" - }, - "libraries": {} - }, - "sources": { - "contracts/release/interfaces/ICurveRegistryMetapoolFactory.sol": { - "keccak256": "0x43aa6bfbda8ca1fdcb0890792e7969999146c690986938ac43818ca9b9343e58", - "urls": [ - "bzz-raw://3426ad7d87cd51519c288004f970da83bf672d60fc7d1c647af5e84855f6a4b5", - "dweb:/ipfs/QmevngH3Acet8R6YHzGLRyNeEoUYfbnQm7NSbzHYN7rdpf" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 297 -} +{ "abi": [ { "type": "function", "name": "get_gauge", "inputs": [ { "name": "", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "get_n_coins", "inputs": [ { "name": "", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "get_gauge(address)": "daf297b9", "get_n_coins(address)": "940494f1" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"get_gauge\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"get_n_coins\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ICurveRegistryMetapoolFactory interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Limited interface for the Curve Registry contract at ICurveAddressProvider.get_address(3)\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/ICurveRegistryMetapoolFactory.sol\":\"ICurveRegistryMetapoolFactory\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/ICurveRegistryMetapoolFactory.sol\":{\"keccak256\":\"0x43aa6bfbda8ca1fdcb0890792e7969999146c690986938ac43818ca9b9343e58\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3426ad7d87cd51519c288004f970da83bf672d60fc7d1c647af5e84855f6a4b5\",\"dweb:/ipfs/QmevngH3Acet8R6YHzGLRyNeEoUYfbnQm7NSbzHYN7rdpf\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "get_gauge", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "get_n_coins", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/interfaces/ICurveRegistryMetapoolFactory.sol": "ICurveRegistryMetapoolFactory" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/interfaces/ICurveRegistryMetapoolFactory.sol": { "keccak256": "0x43aa6bfbda8ca1fdcb0890792e7969999146c690986938ac43818ca9b9343e58", "urls": [ "bzz-raw://3426ad7d87cd51519c288004f970da83bf672d60fc7d1c647af5e84855f6a4b5", "dweb:/ipfs/QmevngH3Acet8R6YHzGLRyNeEoUYfbnQm7NSbzHYN7rdpf" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 297 } diff --git a/eth_defi/abi/enzyme/ICurveSwapsERC20.json b/eth_defi/abi/enzyme/ICurveSwapsERC20.json index f1071194..d73c5953 100644 --- a/eth_defi/abi/enzyme/ICurveSwapsERC20.json +++ b/eth_defi/abi/enzyme/ICurveSwapsERC20.json @@ -1,170 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "exchange", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "exchange(address,address,address,uint256,uint256,address)": "1a4c1ca3" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"exchange\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ICurveSwapsERC20 Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/ICurveSwapsERC20.sol\":\"ICurveSwapsERC20\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/ICurveSwapsERC20.sol\":{\"keccak256\":\"0x384dddab88e4037aa1c3f579573f1ef250d45e2d87991e499f7727e2846a6078\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c450327ec264e76398f24d9899d4642ea2a6f3fd19dd8cdd2b8d38a5e21dff90\",\"dweb:/ipfs/QmcqipKy6frn9uCkdJU1tutvS7jMTYJUpHdhZNh3WjL1Nm\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "exchange", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/interfaces/ICurveSwapsERC20.sol": "ICurveSwapsERC20" - }, - "libraries": {} - }, - "sources": { - "contracts/release/interfaces/ICurveSwapsERC20.sol": { - "keccak256": "0x384dddab88e4037aa1c3f579573f1ef250d45e2d87991e499f7727e2846a6078", - "urls": [ - "bzz-raw://c450327ec264e76398f24d9899d4642ea2a6f3fd19dd8cdd2b8d38a5e21dff90", - "dweb:/ipfs/QmcqipKy6frn9uCkdJU1tutvS7jMTYJUpHdhZNh3WjL1Nm" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 298 -} +{ "abi": [ { "type": "function", "name": "exchange", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "exchange(address,address,address,uint256,uint256,address)": "1a4c1ca3" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"exchange\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ICurveSwapsERC20 Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/ICurveSwapsERC20.sol\":\"ICurveSwapsERC20\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/ICurveSwapsERC20.sol\":{\"keccak256\":\"0x384dddab88e4037aa1c3f579573f1ef250d45e2d87991e499f7727e2846a6078\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c450327ec264e76398f24d9899d4642ea2a6f3fd19dd8cdd2b8d38a5e21dff90\",\"dweb:/ipfs/QmcqipKy6frn9uCkdJU1tutvS7jMTYJUpHdhZNh3WjL1Nm\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "address", "name": "", "type": "address" }, { "internalType": "address", "name": "", "type": "address" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "exchange", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/interfaces/ICurveSwapsERC20.sol": "ICurveSwapsERC20" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/interfaces/ICurveSwapsERC20.sol": { "keccak256": "0x384dddab88e4037aa1c3f579573f1ef250d45e2d87991e499f7727e2846a6078", "urls": [ "bzz-raw://c450327ec264e76398f24d9899d4642ea2a6f3fd19dd8cdd2b8d38a5e21dff90", "dweb:/ipfs/QmcqipKy6frn9uCkdJU1tutvS7jMTYJUpHdhZNh3WjL1Nm" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 298 } diff --git a/eth_defi/abi/enzyme/ICurveSwapsEther.json b/eth_defi/abi/enzyme/ICurveSwapsEther.json index c22080a1..b904845b 100644 --- a/eth_defi/abi/enzyme/ICurveSwapsEther.json +++ b/eth_defi/abi/enzyme/ICurveSwapsEther.json @@ -1,170 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "exchange", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "payable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "exchange(address,address,address,uint256,uint256,address)": "1a4c1ca3" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"exchange\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ICurveSwapsEther Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/ICurveSwapsEther.sol\":\"ICurveSwapsEther\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/ICurveSwapsEther.sol\":{\"keccak256\":\"0x2b99e3a8ccef63721f2524eaf53ff675be0510596ef5790562a6f9efe6a4a824\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f6f8b4c1e4a639b5c5920880f6464bf291c25f0abe064bf9000171ab40ade820\",\"dweb:/ipfs/QmXJ5r6ji5NWffbHyL2Zy2CNPBxDzhJFRimfUCxA8b5n1K\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "payable", - "type": "function", - "name": "exchange", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/interfaces/ICurveSwapsEther.sol": "ICurveSwapsEther" - }, - "libraries": {} - }, - "sources": { - "contracts/release/interfaces/ICurveSwapsEther.sol": { - "keccak256": "0x2b99e3a8ccef63721f2524eaf53ff675be0510596ef5790562a6f9efe6a4a824", - "urls": [ - "bzz-raw://f6f8b4c1e4a639b5c5920880f6464bf291c25f0abe064bf9000171ab40ade820", - "dweb:/ipfs/QmXJ5r6ji5NWffbHyL2Zy2CNPBxDzhJFRimfUCxA8b5n1K" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 299 -} +{ "abi": [ { "type": "function", "name": "exchange", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "payable" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "exchange(address,address,address,uint256,uint256,address)": "1a4c1ca3" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"exchange\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ICurveSwapsEther Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/ICurveSwapsEther.sol\":\"ICurveSwapsEther\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/ICurveSwapsEther.sol\":{\"keccak256\":\"0x2b99e3a8ccef63721f2524eaf53ff675be0510596ef5790562a6f9efe6a4a824\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f6f8b4c1e4a639b5c5920880f6464bf291c25f0abe064bf9000171ab40ade820\",\"dweb:/ipfs/QmXJ5r6ji5NWffbHyL2Zy2CNPBxDzhJFRimfUCxA8b5n1K\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "address", "name": "", "type": "address" }, { "internalType": "address", "name": "", "type": "address" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "payable", "type": "function", "name": "exchange", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/interfaces/ICurveSwapsEther.sol": "ICurveSwapsEther" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/interfaces/ICurveSwapsEther.sol": { "keccak256": "0x2b99e3a8ccef63721f2524eaf53ff675be0510596ef5790562a6f9efe6a4a824", "urls": [ "bzz-raw://f6f8b4c1e4a639b5c5920880f6464bf291c25f0abe064bf9000171ab40ade820", "dweb:/ipfs/QmXJ5r6ji5NWffbHyL2Zy2CNPBxDzhJFRimfUCxA8b5n1K" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 299 } diff --git a/eth_defi/abi/enzyme/IDerivativePriceFeed.json b/eth_defi/abi/enzyme/IDerivativePriceFeed.json index 8fcf02d6..f6bfefb1 100644 --- a/eth_defi/abi/enzyme/IDerivativePriceFeed.json +++ b/eth_defi/abi/enzyme/IDerivativePriceFeed.json @@ -1,179 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "calcUnderlyingValues", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "isSupportedAsset", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "calcUnderlyingValues(address,uint256)": "727212f6", - "isSupportedAsset(address)": "9be918e6" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"calcUnderlyingValues\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"isSupportedAsset\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IDerivativePriceFeed Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Simple interface for derivative price source oracle implementations\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol\":\"IDerivativePriceFeed\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol\":{\"keccak256\":\"0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e\",\"dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "calcUnderlyingValues", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "isSupportedAsset", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol": "IDerivativePriceFeed" - }, - "libraries": {} - }, - "sources": { - "contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol": { - "keccak256": "0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332", - "urls": [ - "bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e", - "dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 235 -} +{ "abi": [ { "type": "function", "name": "calcUnderlyingValues", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "address[]", "internalType": "address[]" }, { "name": "", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "isSupportedAsset", "inputs": [ { "name": "", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "calcUnderlyingValues(address,uint256)": "727212f6", "isSupportedAsset(address)": "9be918e6" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"calcUnderlyingValues\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"isSupportedAsset\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IDerivativePriceFeed Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Simple interface for derivative price source oracle implementations\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol\":\"IDerivativePriceFeed\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol\":{\"keccak256\":\"0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e\",\"dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "calcUnderlyingValues", "outputs": [ { "internalType": "address[]", "name": "", "type": "address[]" }, { "internalType": "uint256[]", "name": "", "type": "uint256[]" } ] }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "isSupportedAsset", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol": "IDerivativePriceFeed" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol": { "keccak256": "0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332", "urls": [ "bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e", "dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 235 } diff --git a/eth_defi/abi/enzyme/IDispatcher.json b/eth_defi/abi/enzyme/IDispatcher.json index 7d9ae95a..a9566558 100644 --- a/eth_defi/abi/enzyme/IDispatcher.json +++ b/eth_defi/abi/enzyme/IDispatcher.json @@ -1,770 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bool", - "name": "_bypassFailure", - "type": "bool" - } - ], - "name": "cancelMigration", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "claimOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultLib", - "type": "address" - }, - { - "internalType": "address", - "name": "_owner", - "type": "address" - }, - { - "internalType": "address", - "name": "_vaultAccessor", - "type": "address" - }, - { - "internalType": "string", - "name": "_fundName", - "type": "string" - } - ], - "name": "deployVaultProxy", - "outputs": [ - { - "internalType": "address", - "name": "vaultProxy_", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bool", - "name": "_bypassFailure", - "type": "bool" - } - ], - "name": "executeMigration", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getCurrentFundDeployer", - "outputs": [ - { - "internalType": "address", - "name": "currentFundDeployer_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - } - ], - "name": "getFundDeployerForVaultProxy", - "outputs": [ - { - "internalType": "address", - "name": "fundDeployer_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - } - ], - "name": "getMigrationRequestDetailsForVaultProxy", - "outputs": [ - { - "internalType": "address", - "name": "nextFundDeployer_", - "type": "address" - }, - { - "internalType": "address", - "name": "nextVaultAccessor_", - "type": "address" - }, - { - "internalType": "address", - "name": "nextVaultLib_", - "type": "address" - }, - { - "internalType": "uint256", - "name": "executableTimestamp_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getMigrationTimelock", - "outputs": [ - { - "internalType": "uint256", - "name": "migrationTimelock_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getNominatedOwner", - "outputs": [ - { - "internalType": "address", - "name": "nominatedOwner_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "owner_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getSharesTokenSymbol", - "outputs": [ - { - "internalType": "string", - "name": "sharesTokenSymbol_", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - } - ], - "name": "getTimelockRemainingForMigrationRequest", - "outputs": [ - { - "internalType": "uint256", - "name": "secondsRemaining_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - } - ], - "name": "hasExecutableMigrationRequest", - "outputs": [ - { - "internalType": "bool", - "name": "hasExecutableRequest_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - } - ], - "name": "hasMigrationRequest", - "outputs": [ - { - "internalType": "bool", - "name": "hasMigrationRequest_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "removeNominatedOwner", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_nextFundDeployer", - "type": "address" - } - ], - "name": "setCurrentFundDeployer", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_nextTimelock", - "type": "uint256" - } - ], - "name": "setMigrationTimelock", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_nextNominatedOwner", - "type": "address" - } - ], - "name": "setNominatedOwner", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "_nextSymbol", - "type": "string" - } - ], - "name": "setSharesTokenSymbol", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_nextVaultAccessor", - "type": "address" - }, - { - "internalType": "address", - "name": "_nextVaultLib", - "type": "address" - }, - { - "internalType": "bool", - "name": "_bypassFailure", - "type": "bool" - } - ], - "name": "signalMigration", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "cancelMigration(address,bool)": "9c9d48da", - "claimOwnership()": "4e71e0c8", - "deployVaultProxy(address,address,address,string)": "22a0c08b", - "executeMigration(address,bool)": "38b3eb1b", - "getCurrentFundDeployer()": "7c77b2ed", - "getFundDeployerForVaultProxy(address)": "3d7c74f8", - "getMigrationRequestDetailsForVaultProxy(address)": "7dad9fc8", - "getMigrationTimelock()": "2fa0c161", - "getNominatedOwner()": "288b6a36", - "getOwner()": "893d20e8", - "getSharesTokenSymbol()": "b47b0600", - "getTimelockRemainingForMigrationRequest(address)": "77a8c624", - "hasExecutableMigrationRequest(address)": "66231cea", - "hasMigrationRequest(address)": "d0449d3d", - "removeNominatedOwner()": "8156eecf", - "setCurrentFundDeployer(address)": "97af7050", - "setMigrationTimelock(uint256)": "1df419f7", - "setNominatedOwner(address)": "728e17a0", - "setSharesTokenSymbol(string)": "757bc0dd", - "signalMigration(address,address,address,bool)": "d15f9b9c" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_bypassFailure\",\"type\":\"bool\"}],\"name\":\"cancelMigration\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"claimOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultLib\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_vaultAccessor\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_fundName\",\"type\":\"string\"}],\"name\":\"deployVaultProxy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"vaultProxy_\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_bypassFailure\",\"type\":\"bool\"}],\"name\":\"executeMigration\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentFundDeployer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"currentFundDeployer_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"}],\"name\":\"getFundDeployerForVaultProxy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"fundDeployer_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"}],\"name\":\"getMigrationRequestDetailsForVaultProxy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"nextFundDeployer_\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"nextVaultAccessor_\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"nextVaultLib_\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"executableTimestamp_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMigrationTimelock\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"migrationTimelock_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getNominatedOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"nominatedOwner_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getSharesTokenSymbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"sharesTokenSymbol_\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"}],\"name\":\"getTimelockRemainingForMigrationRequest\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"secondsRemaining_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"}],\"name\":\"hasExecutableMigrationRequest\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"hasExecutableRequest_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"}],\"name\":\"hasMigrationRequest\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"hasMigrationRequest_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"removeNominatedOwner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nextFundDeployer\",\"type\":\"address\"}],\"name\":\"setCurrentFundDeployer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_nextTimelock\",\"type\":\"uint256\"}],\"name\":\"setMigrationTimelock\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nextNominatedOwner\",\"type\":\"address\"}],\"name\":\"setNominatedOwner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_nextSymbol\",\"type\":\"string\"}],\"name\":\"setSharesTokenSymbol\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_nextVaultAccessor\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_nextVaultLib\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_bypassFailure\",\"type\":\"bool\"}],\"name\":\"signalMigration\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IDispatcher Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/dispatcher/IDispatcher.sol\":\"IDispatcher\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bool", - "name": "_bypassFailure", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "cancelMigration" - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "claimOwnership" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultLib", - "type": "address" - }, - { - "internalType": "address", - "name": "_owner", - "type": "address" - }, - { - "internalType": "address", - "name": "_vaultAccessor", - "type": "address" - }, - { - "internalType": "string", - "name": "_fundName", - "type": "string" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "deployVaultProxy", - "outputs": [ - { - "internalType": "address", - "name": "vaultProxy_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bool", - "name": "_bypassFailure", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "executeMigration" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getCurrentFundDeployer", - "outputs": [ - { - "internalType": "address", - "name": "currentFundDeployer_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getFundDeployerForVaultProxy", - "outputs": [ - { - "internalType": "address", - "name": "fundDeployer_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getMigrationRequestDetailsForVaultProxy", - "outputs": [ - { - "internalType": "address", - "name": "nextFundDeployer_", - "type": "address" - }, - { - "internalType": "address", - "name": "nextVaultAccessor_", - "type": "address" - }, - { - "internalType": "address", - "name": "nextVaultLib_", - "type": "address" - }, - { - "internalType": "uint256", - "name": "executableTimestamp_", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getMigrationTimelock", - "outputs": [ - { - "internalType": "uint256", - "name": "migrationTimelock_", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getNominatedOwner", - "outputs": [ - { - "internalType": "address", - "name": "nominatedOwner_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "owner_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getSharesTokenSymbol", - "outputs": [ - { - "internalType": "string", - "name": "sharesTokenSymbol_", - "type": "string" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getTimelockRemainingForMigrationRequest", - "outputs": [ - { - "internalType": "uint256", - "name": "secondsRemaining_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "hasExecutableMigrationRequest", - "outputs": [ - { - "internalType": "bool", - "name": "hasExecutableRequest_", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "hasMigrationRequest", - "outputs": [ - { - "internalType": "bool", - "name": "hasMigrationRequest_", - "type": "bool" - } - ] - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "removeNominatedOwner" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_nextFundDeployer", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setCurrentFundDeployer" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_nextTimelock", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setMigrationTimelock" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_nextNominatedOwner", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setNominatedOwner" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "_nextSymbol", - "type": "string" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setSharesTokenSymbol" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_nextVaultAccessor", - "type": "address" - }, - { - "internalType": "address", - "name": "_nextVaultLib", - "type": "address" - }, - { - "internalType": "bool", - "name": "_bypassFailure", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "signalMigration" - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/persistent/dispatcher/IDispatcher.sol": "IDispatcher" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/dispatcher/IDispatcher.sol": { - "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", - "urls": [ - "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", - "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 21 -} +{ "abi": [ { "type": "function", "name": "cancelMigration", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_bypassFailure", "type": "bool", "internalType": "bool" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "claimOwnership", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "deployVaultProxy", "inputs": [ { "name": "_vaultLib", "type": "address", "internalType": "address" }, { "name": "_owner", "type": "address", "internalType": "address" }, { "name": "_vaultAccessor", "type": "address", "internalType": "address" }, { "name": "_fundName", "type": "string", "internalType": "string" } ], "outputs": [ { "name": "vaultProxy_", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "executeMigration", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_bypassFailure", "type": "bool", "internalType": "bool" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "getCurrentFundDeployer", "inputs": [], "outputs": [ { "name": "currentFundDeployer_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getFundDeployerForVaultProxy", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "fundDeployer_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getMigrationRequestDetailsForVaultProxy", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "nextFundDeployer_", "type": "address", "internalType": "address" }, { "name": "nextVaultAccessor_", "type": "address", "internalType": "address" }, { "name": "nextVaultLib_", "type": "address", "internalType": "address" }, { "name": "executableTimestamp_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "getMigrationTimelock", "inputs": [], "outputs": [ { "name": "migrationTimelock_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "getNominatedOwner", "inputs": [], "outputs": [ { "name": "nominatedOwner_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getOwner", "inputs": [], "outputs": [ { "name": "owner_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getSharesTokenSymbol", "inputs": [], "outputs": [ { "name": "sharesTokenSymbol_", "type": "string", "internalType": "string" } ], "stateMutability": "view" }, { "type": "function", "name": "getTimelockRemainingForMigrationRequest", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "secondsRemaining_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "hasExecutableMigrationRequest", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "hasExecutableRequest_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "hasMigrationRequest", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "hasMigrationRequest_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "removeNominatedOwner", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setCurrentFundDeployer", "inputs": [ { "name": "_nextFundDeployer", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setMigrationTimelock", "inputs": [ { "name": "_nextTimelock", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setNominatedOwner", "inputs": [ { "name": "_nextNominatedOwner", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setSharesTokenSymbol", "inputs": [ { "name": "_nextSymbol", "type": "string", "internalType": "string" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "signalMigration", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_nextVaultAccessor", "type": "address", "internalType": "address" }, { "name": "_nextVaultLib", "type": "address", "internalType": "address" }, { "name": "_bypassFailure", "type": "bool", "internalType": "bool" } ], "outputs": [], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "cancelMigration(address,bool)": "9c9d48da", "claimOwnership()": "4e71e0c8", "deployVaultProxy(address,address,address,string)": "22a0c08b", "executeMigration(address,bool)": "38b3eb1b", "getCurrentFundDeployer()": "7c77b2ed", "getFundDeployerForVaultProxy(address)": "3d7c74f8", "getMigrationRequestDetailsForVaultProxy(address)": "7dad9fc8", "getMigrationTimelock()": "2fa0c161", "getNominatedOwner()": "288b6a36", "getOwner()": "893d20e8", "getSharesTokenSymbol()": "b47b0600", "getTimelockRemainingForMigrationRequest(address)": "77a8c624", "hasExecutableMigrationRequest(address)": "66231cea", "hasMigrationRequest(address)": "d0449d3d", "removeNominatedOwner()": "8156eecf", "setCurrentFundDeployer(address)": "97af7050", "setMigrationTimelock(uint256)": "1df419f7", "setNominatedOwner(address)": "728e17a0", "setSharesTokenSymbol(string)": "757bc0dd", "signalMigration(address,address,address,bool)": "d15f9b9c" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_bypassFailure\",\"type\":\"bool\"}],\"name\":\"cancelMigration\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"claimOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultLib\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_vaultAccessor\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_fundName\",\"type\":\"string\"}],\"name\":\"deployVaultProxy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"vaultProxy_\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_bypassFailure\",\"type\":\"bool\"}],\"name\":\"executeMigration\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentFundDeployer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"currentFundDeployer_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"}],\"name\":\"getFundDeployerForVaultProxy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"fundDeployer_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"}],\"name\":\"getMigrationRequestDetailsForVaultProxy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"nextFundDeployer_\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"nextVaultAccessor_\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"nextVaultLib_\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"executableTimestamp_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMigrationTimelock\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"migrationTimelock_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getNominatedOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"nominatedOwner_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getSharesTokenSymbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"sharesTokenSymbol_\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"}],\"name\":\"getTimelockRemainingForMigrationRequest\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"secondsRemaining_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"}],\"name\":\"hasExecutableMigrationRequest\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"hasExecutableRequest_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"}],\"name\":\"hasMigrationRequest\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"hasMigrationRequest_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"removeNominatedOwner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nextFundDeployer\",\"type\":\"address\"}],\"name\":\"setCurrentFundDeployer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_nextTimelock\",\"type\":\"uint256\"}],\"name\":\"setMigrationTimelock\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nextNominatedOwner\",\"type\":\"address\"}],\"name\":\"setNominatedOwner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_nextSymbol\",\"type\":\"string\"}],\"name\":\"setSharesTokenSymbol\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_nextVaultAccessor\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_nextVaultLib\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_bypassFailure\",\"type\":\"bool\"}],\"name\":\"signalMigration\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IDispatcher Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/dispatcher/IDispatcher.sol\":\"IDispatcher\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "bool", "name": "_bypassFailure", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function", "name": "cancelMigration" }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "claimOwnership" }, { "inputs": [ { "internalType": "address", "name": "_vaultLib", "type": "address" }, { "internalType": "address", "name": "_owner", "type": "address" }, { "internalType": "address", "name": "_vaultAccessor", "type": "address" }, { "internalType": "string", "name": "_fundName", "type": "string" } ], "stateMutability": "nonpayable", "type": "function", "name": "deployVaultProxy", "outputs": [ { "internalType": "address", "name": "vaultProxy_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "bool", "name": "_bypassFailure", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function", "name": "executeMigration" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getCurrentFundDeployer", "outputs": [ { "internalType": "address", "name": "currentFundDeployer_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getFundDeployerForVaultProxy", "outputs": [ { "internalType": "address", "name": "fundDeployer_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getMigrationRequestDetailsForVaultProxy", "outputs": [ { "internalType": "address", "name": "nextFundDeployer_", "type": "address" }, { "internalType": "address", "name": "nextVaultAccessor_", "type": "address" }, { "internalType": "address", "name": "nextVaultLib_", "type": "address" }, { "internalType": "uint256", "name": "executableTimestamp_", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getMigrationTimelock", "outputs": [ { "internalType": "uint256", "name": "migrationTimelock_", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getNominatedOwner", "outputs": [ { "internalType": "address", "name": "nominatedOwner_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getOwner", "outputs": [ { "internalType": "address", "name": "owner_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getSharesTokenSymbol", "outputs": [ { "internalType": "string", "name": "sharesTokenSymbol_", "type": "string" } ] }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getTimelockRemainingForMigrationRequest", "outputs": [ { "internalType": "uint256", "name": "secondsRemaining_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "hasExecutableMigrationRequest", "outputs": [ { "internalType": "bool", "name": "hasExecutableRequest_", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "hasMigrationRequest", "outputs": [ { "internalType": "bool", "name": "hasMigrationRequest_", "type": "bool" } ] }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "removeNominatedOwner" }, { "inputs": [ { "internalType": "address", "name": "_nextFundDeployer", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "setCurrentFundDeployer" }, { "inputs": [ { "internalType": "uint256", "name": "_nextTimelock", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "setMigrationTimelock" }, { "inputs": [ { "internalType": "address", "name": "_nextNominatedOwner", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "setNominatedOwner" }, { "inputs": [ { "internalType": "string", "name": "_nextSymbol", "type": "string" } ], "stateMutability": "nonpayable", "type": "function", "name": "setSharesTokenSymbol" }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "address", "name": "_nextVaultAccessor", "type": "address" }, { "internalType": "address", "name": "_nextVaultLib", "type": "address" }, { "internalType": "bool", "name": "_bypassFailure", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function", "name": "signalMigration" } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/persistent/dispatcher/IDispatcher.sol": "IDispatcher" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/dispatcher/IDispatcher.sol": { "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", "urls": [ "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 21 } diff --git a/eth_defi/abi/enzyme/IERC165.json b/eth_defi/abi/enzyme/IERC165.json index 6bbd76ea..9d6aa481 100644 --- a/eth_defi/abi/enzyme/IERC165.json +++ b/eth_defi/abi/enzyme/IERC165.json @@ -1,124 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "supportsInterface(bytes4)": "01ffc9a7" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.7.6+commit.7338295f\"},\"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\":{\"node_modules/@openzeppelin-solc-0.7/contracts/introspection/IERC165.sol\":\"IERC165\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"node_modules/@openzeppelin-solc-0.7/contracts/introspection/IERC165.sol\":{\"keccak256\":\"0xd2f30fad5b24c4120f96dbac83aacdb7993ee610a9092bc23c44463da292bf8d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e3d4e72409e392c7694b6405a0136cf073d8da016df33ef8f9ad195f724ebfea\",\"dweb:/ipfs/QmPGcddKq6CgsiKnxUUif2q76wRqP3dmdQ6bKuHCLmb8Wa\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.7.6+commit.7338295f" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function", - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - } - ], - "devdoc": { - "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": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "node_modules/@openzeppelin-solc-0.7/contracts/introspection/IERC165.sol": "IERC165" - }, - "libraries": {} - }, - "sources": { - "node_modules/@openzeppelin-solc-0.7/contracts/introspection/IERC165.sol": { - "keccak256": "0xd2f30fad5b24c4120f96dbac83aacdb7993ee610a9092bc23c44463da292bf8d", - "urls": [ - "bzz-raw://e3d4e72409e392c7694b6405a0136cf073d8da016df33ef8f9ad195f724ebfea", - "dweb:/ipfs/QmPGcddKq6CgsiKnxUUif2q76wRqP3dmdQ6bKuHCLmb8Wa" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 9 -} +{ "abi": [ { "type": "function", "name": "supportsInterface", "inputs": [ { "name": "interfaceId", "type": "bytes4", "internalType": "bytes4" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "supportsInterface(bytes4)": "01ffc9a7" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.7.6+commit.7338295f\"},\"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\":{\"node_modules/@openzeppelin-solc-0.7/contracts/introspection/IERC165.sol\":\"IERC165\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"node_modules/@openzeppelin-solc-0.7/contracts/introspection/IERC165.sol\":{\"keccak256\":\"0xd2f30fad5b24c4120f96dbac83aacdb7993ee610a9092bc23c44463da292bf8d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e3d4e72409e392c7694b6405a0136cf073d8da016df33ef8f9ad195f724ebfea\",\"dweb:/ipfs/QmPGcddKq6CgsiKnxUUif2q76wRqP3dmdQ6bKuHCLmb8Wa\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.7.6+commit.7338295f" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "bytes4", "name": "interfaceId", "type": "bytes4" } ], "stateMutability": "view", "type": "function", "name": "supportsInterface", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] } ], "devdoc": { "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": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "node_modules/@openzeppelin-solc-0.7/contracts/introspection/IERC165.sol": "IERC165" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "node_modules/@openzeppelin-solc-0.7/contracts/introspection/IERC165.sol": { "keccak256": "0xd2f30fad5b24c4120f96dbac83aacdb7993ee610a9092bc23c44463da292bf8d", "urls": [ "bzz-raw://e3d4e72409e392c7694b6405a0136cf073d8da016df33ef8f9ad195f724ebfea", "dweb:/ipfs/QmPGcddKq6CgsiKnxUUif2q76wRqP3dmdQ6bKuHCLmb8Wa" ], "license": "MIT" } }, "version": 1 }, "id": 9 } diff --git a/eth_defi/abi/enzyme/IERC20.json b/eth_defi/abi/enzyme/IERC20.json index 71b5a9fe..def799a2 100644 --- a/eth_defi/abi/enzyme/IERC20.json +++ b/eth_defi/abi/enzyme/IERC20.json @@ -1,472 +1 @@ -{ - "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": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "allowance(address,address)": "dd62ed3e", - "approve(address,uint256)": "095ea7b3", - "balanceOf(address)": "70a08231", - "totalSupply()": "18160ddd", - "transfer(address,uint256)": "a9059cbb", - "transferFrom(address,address,uint256)": "23b872dd" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.7.6+commit.7338295f\"},\"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\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"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 `recipient`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Moves `amount` tokens from `sender` to `recipient` 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\":{\"node_modules/@openzeppelin-solc-0.7/contracts/token/ERC20/IERC20.sol\":\"IERC20\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"node_modules/@openzeppelin-solc-0.7/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xbd74f587ab9b9711801baf667db1426e4a03fd2d7f15af33e0e0d0394e7cef76\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2d0913dfbfce90d170df0d496ad7596c0778518e5fa7aba6c32562522546f66b\",\"dweb:/ipfs/QmR6B8nLj2PJf5e1JWD9Nk7ErkAwkqUwadCnvE82FJr1RU\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.7.6+commit.7338295f" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "spender", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "Approval", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "to", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "Transfer", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - } - ], - "devdoc": { - "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 `recipient`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event." - }, - "transferFrom(address,address,uint256)": { - "details": "Moves `amount` tokens from `sender` to `recipient` 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": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "node_modules/@openzeppelin-solc-0.7/contracts/token/ERC20/IERC20.sol": "IERC20" - }, - "libraries": {} - }, - "sources": { - "node_modules/@openzeppelin-solc-0.7/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0xbd74f587ab9b9711801baf667db1426e4a03fd2d7f15af33e0e0d0394e7cef76", - "urls": [ - "bzz-raw://2d0913dfbfce90d170df0d496ad7596c0778518e5fa7aba6c32562522546f66b", - "dweb:/ipfs/QmR6B8nLj2PJf5e1JWD9Nk7ErkAwkqUwadCnvE82FJr1RU" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 12 -} +{ "abi": [ { "type": "function", "name": "allowance", "inputs": [ { "name": "owner", "type": "address", "internalType": "address" }, { "name": "spender", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "approve", "inputs": [ { "name": "spender", "type": "address", "internalType": "address" }, { "name": "amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "balanceOf", "inputs": [ { "name": "account", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "totalSupply", "inputs": [], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "transfer", "inputs": [ { "name": "recipient", "type": "address", "internalType": "address" }, { "name": "amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "transferFrom", "inputs": [ { "name": "sender", "type": "address", "internalType": "address" }, { "name": "recipient", "type": "address", "internalType": "address" }, { "name": "amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "event", "name": "Approval", "inputs": [ { "name": "owner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "spender", "type": "address", "indexed": true, "internalType": "address" }, { "name": "value", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "Transfer", "inputs": [ { "name": "from", "type": "address", "indexed": true, "internalType": "address" }, { "name": "to", "type": "address", "indexed": true, "internalType": "address" }, { "name": "value", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "allowance(address,address)": "dd62ed3e", "approve(address,uint256)": "095ea7b3", "balanceOf(address)": "70a08231", "totalSupply()": "18160ddd", "transfer(address,uint256)": "a9059cbb", "transferFrom(address,address,uint256)": "23b872dd" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.7.6+commit.7338295f\"},\"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\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"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 `recipient`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Moves `amount` tokens from `sender` to `recipient` 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\":{\"node_modules/@openzeppelin-solc-0.7/contracts/token/ERC20/IERC20.sol\":\"IERC20\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"node_modules/@openzeppelin-solc-0.7/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xbd74f587ab9b9711801baf667db1426e4a03fd2d7f15af33e0e0d0394e7cef76\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2d0913dfbfce90d170df0d496ad7596c0778518e5fa7aba6c32562522546f66b\",\"dweb:/ipfs/QmR6B8nLj2PJf5e1JWD9Nk7ErkAwkqUwadCnvE82FJr1RU\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.7.6+commit.7338295f" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "owner", "type": "address", "indexed": true }, { "internalType": "address", "name": "spender", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "value", "type": "uint256", "indexed": false } ], "type": "event", "name": "Approval", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address", "indexed": true }, { "internalType": "address", "name": "to", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "value", "type": "uint256", "indexed": false } ], "type": "event", "name": "Transfer", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] } ], "devdoc": { "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 `recipient`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event." }, "transferFrom(address,address,uint256)": { "details": "Moves `amount` tokens from `sender` to `recipient` 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": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "node_modules/@openzeppelin-solc-0.7/contracts/token/ERC20/IERC20.sol": "IERC20" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "node_modules/@openzeppelin-solc-0.7/contracts/token/ERC20/IERC20.sol": { "keccak256": "0xbd74f587ab9b9711801baf667db1426e4a03fd2d7f15af33e0e0d0394e7cef76", "urls": [ "bzz-raw://2d0913dfbfce90d170df0d496ad7596c0778518e5fa7aba6c32562522546f66b", "dweb:/ipfs/QmR6B8nLj2PJf5e1JWD9Nk7ErkAwkqUwadCnvE82FJr1RU" ], "license": "MIT" } }, "version": 1 }, "id": 12 } diff --git a/eth_defi/abi/enzyme/IERC4626.json b/eth_defi/abi/enzyme/IERC4626.json index d8b50929..5895f694 100644 --- a/eth_defi/abi/enzyme/IERC4626.json +++ b/eth_defi/abi/enzyme/IERC4626.json @@ -1,1140 +1 @@ -{ - "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": [], - "name": "asset", - "outputs": [ - { - "internalType": "address", - "name": "asset_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_shares", - "type": "uint256" - } - ], - "name": "convertToAssets", - "outputs": [ - { - "internalType": "uint256", - "name": "assets_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_assets", - "type": "uint256" - } - ], - "name": "convertToShares", - "outputs": [ - { - "internalType": "uint256", - "name": "shares_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_assets", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_receiver", - "type": "address" - } - ], - "name": "deposit", - "outputs": [ - { - "internalType": "uint256", - "name": "shares_", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_receiver", - "type": "address" - } - ], - "name": "maxDeposit", - "outputs": [ - { - "internalType": "uint256", - "name": "assets_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_receiver", - "type": "address" - } - ], - "name": "maxMint", - "outputs": [ - { - "internalType": "uint256", - "name": "shares_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "maxRedeem", - "outputs": [ - { - "internalType": "uint256", - "name": "shares_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "maxWithdraw", - "outputs": [ - { - "internalType": "uint256", - "name": "_assets", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "shares_", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_receiver", - "type": "address" - } - ], - "name": "mint", - "outputs": [ - { - "internalType": "uint256", - "name": "assets_", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_assets", - "type": "uint256" - } - ], - "name": "previewDeposit", - "outputs": [ - { - "internalType": "uint256", - "name": "shares_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_shares", - "type": "uint256" - } - ], - "name": "previewMint", - "outputs": [ - { - "internalType": "uint256", - "name": "assets_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_shares", - "type": "uint256" - } - ], - "name": "previewRedeem", - "outputs": [ - { - "internalType": "uint256", - "name": "assets_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_assets", - "type": "uint256" - } - ], - "name": "previewWithdraw", - "outputs": [ - { - "internalType": "uint256", - "name": "shares_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_shares", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_receiver", - "type": "address" - }, - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "redeem", - "outputs": [ - { - "internalType": "uint256", - "name": "assets_", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "totalAssets", - "outputs": [ - { - "internalType": "uint256", - "name": "totalAssets_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_assets", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_receiver", - "type": "address" - }, - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "withdraw", - "outputs": [ - { - "internalType": "uint256", - "name": "shares_", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "allowance(address,address)": "dd62ed3e", - "approve(address,uint256)": "095ea7b3", - "asset()": "38d52e0f", - "balanceOf(address)": "70a08231", - "convertToAssets(uint256)": "07a2d13a", - "convertToShares(uint256)": "c6e6f592", - "deposit(uint256,address)": "6e553f65", - "maxDeposit(address)": "402d267d", - "maxMint(address)": "c63d75b6", - "maxRedeem(address)": "d905777e", - "maxWithdraw(address)": "ce96cb77", - "mint(uint256,address)": "94bf804d", - "previewDeposit(uint256)": "ef8b30f7", - "previewMint(uint256)": "b3d7f6b9", - "previewRedeem(uint256)": "4cdad506", - "previewWithdraw(uint256)": "0a28a477", - "redeem(uint256,address,address)": "ba087652", - "totalAssets()": "01e1d114", - "totalSupply()": "18160ddd", - "transfer(address,uint256)": "a9059cbb", - "transferFrom(address,address,uint256)": "23b872dd", - "withdraw(uint256,address,address)": "b460af94" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"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\":[],\"name\":\"asset\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"asset_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_shares\",\"type\":\"uint256\"}],\"name\":\"convertToAssets\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"assets_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_assets\",\"type\":\"uint256\"}],\"name\":\"convertToShares\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"shares_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_assets\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_receiver\",\"type\":\"address\"}],\"name\":\"deposit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"shares_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_receiver\",\"type\":\"address\"}],\"name\":\"maxDeposit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"assets_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_receiver\",\"type\":\"address\"}],\"name\":\"maxMint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"shares_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"maxRedeem\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"shares_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"maxWithdraw\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_assets\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"shares_\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_receiver\",\"type\":\"address\"}],\"name\":\"mint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"assets_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_assets\",\"type\":\"uint256\"}],\"name\":\"previewDeposit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"shares_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_shares\",\"type\":\"uint256\"}],\"name\":\"previewMint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"assets_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_shares\",\"type\":\"uint256\"}],\"name\":\"previewRedeem\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"assets_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_assets\",\"type\":\"uint256\"}],\"name\":\"previewWithdraw\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"shares_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_shares\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_receiver\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"redeem\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"assets_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalAssets\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"totalAssets_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_assets\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_receiver\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"withdraw\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"shares_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"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 `recipient`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Moves `amount` tokens from `sender` to `recipient` 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.\"}},\"title\":\"IERC4626 Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Minimal interface for interactions with IERC4626 tokens\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/IERC4626.sol\":\"IERC4626\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/IERC4626.sol\":{\"keccak256\":\"0xc9406d483e6f69717c0a12af680a4c247131f3049f3d7e787b3fb128ff02e2ab\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://823c5781608234371ae2ee9982d1c47fe752c3224fb4b7d189ef51248506dd2a\",\"dweb:/ipfs/QmUJfDq1psF7vTWLe3FXr1TaPS8kRBGfRR6snGtrrtVrFL\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "spender", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "Approval", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "to", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "Transfer", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "asset", - "outputs": [ - { - "internalType": "address", - "name": "asset_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_shares", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "convertToAssets", - "outputs": [ - { - "internalType": "uint256", - "name": "assets_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_assets", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "convertToShares", - "outputs": [ - { - "internalType": "uint256", - "name": "shares_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_assets", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_receiver", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "deposit", - "outputs": [ - { - "internalType": "uint256", - "name": "shares_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_receiver", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "maxDeposit", - "outputs": [ - { - "internalType": "uint256", - "name": "assets_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_receiver", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "maxMint", - "outputs": [ - { - "internalType": "uint256", - "name": "shares_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "maxRedeem", - "outputs": [ - { - "internalType": "uint256", - "name": "shares_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "maxWithdraw", - "outputs": [ - { - "internalType": "uint256", - "name": "_assets", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "shares_", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_receiver", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "mint", - "outputs": [ - { - "internalType": "uint256", - "name": "assets_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_assets", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "previewDeposit", - "outputs": [ - { - "internalType": "uint256", - "name": "shares_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_shares", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "previewMint", - "outputs": [ - { - "internalType": "uint256", - "name": "assets_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_shares", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "previewRedeem", - "outputs": [ - { - "internalType": "uint256", - "name": "assets_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_assets", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "previewWithdraw", - "outputs": [ - { - "internalType": "uint256", - "name": "shares_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_shares", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_receiver", - "type": "address" - }, - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "redeem", - "outputs": [ - { - "internalType": "uint256", - "name": "assets_", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "totalAssets", - "outputs": [ - { - "internalType": "uint256", - "name": "totalAssets_", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_assets", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_receiver", - "type": "address" - }, - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "withdraw", - "outputs": [ - { - "internalType": "uint256", - "name": "shares_", - "type": "uint256" - } - ] - } - ], - "devdoc": { - "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 `recipient`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event." - }, - "transferFrom(address,address,uint256)": { - "details": "Moves `amount` tokens from `sender` to `recipient` 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": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/interfaces/IERC4626.sol": "IERC4626" - }, - "libraries": {} - }, - "sources": { - "contracts/release/interfaces/IERC4626.sol": { - "keccak256": "0xc9406d483e6f69717c0a12af680a4c247131f3049f3d7e787b3fb128ff02e2ab", - "urls": [ - "bzz-raw://823c5781608234371ae2ee9982d1c47fe752c3224fb4b7d189ef51248506dd2a", - "dweb:/ipfs/QmUJfDq1psF7vTWLe3FXr1TaPS8kRBGfRR6snGtrrtVrFL" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 300 -} +{ "abi": [ { "type": "function", "name": "allowance", "inputs": [ { "name": "owner", "type": "address", "internalType": "address" }, { "name": "spender", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "approve", "inputs": [ { "name": "spender", "type": "address", "internalType": "address" }, { "name": "amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "asset", "inputs": [], "outputs": [ { "name": "asset_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "balanceOf", "inputs": [ { "name": "account", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "convertToAssets", "inputs": [ { "name": "_shares", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "assets_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "convertToShares", "inputs": [ { "name": "_assets", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "shares_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "deposit", "inputs": [ { "name": "_assets", "type": "uint256", "internalType": "uint256" }, { "name": "_receiver", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "shares_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "maxDeposit", "inputs": [ { "name": "_receiver", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "assets_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "maxMint", "inputs": [ { "name": "_receiver", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "shares_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "maxRedeem", "inputs": [ { "name": "_owner", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "shares_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "maxWithdraw", "inputs": [ { "name": "_owner", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "_assets", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "mint", "inputs": [ { "name": "shares_", "type": "uint256", "internalType": "uint256" }, { "name": "_receiver", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "assets_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "previewDeposit", "inputs": [ { "name": "_assets", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "shares_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "previewMint", "inputs": [ { "name": "_shares", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "assets_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "previewRedeem", "inputs": [ { "name": "_shares", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "assets_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "previewWithdraw", "inputs": [ { "name": "_assets", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "shares_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "redeem", "inputs": [ { "name": "_shares", "type": "uint256", "internalType": "uint256" }, { "name": "_receiver", "type": "address", "internalType": "address" }, { "name": "_owner", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "assets_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "totalAssets", "inputs": [], "outputs": [ { "name": "totalAssets_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "totalSupply", "inputs": [], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "transfer", "inputs": [ { "name": "recipient", "type": "address", "internalType": "address" }, { "name": "amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "transferFrom", "inputs": [ { "name": "sender", "type": "address", "internalType": "address" }, { "name": "recipient", "type": "address", "internalType": "address" }, { "name": "amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "withdraw", "inputs": [ { "name": "_assets", "type": "uint256", "internalType": "uint256" }, { "name": "_receiver", "type": "address", "internalType": "address" }, { "name": "_owner", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "shares_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "event", "name": "Approval", "inputs": [ { "name": "owner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "spender", "type": "address", "indexed": true, "internalType": "address" }, { "name": "value", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "Transfer", "inputs": [ { "name": "from", "type": "address", "indexed": true, "internalType": "address" }, { "name": "to", "type": "address", "indexed": true, "internalType": "address" }, { "name": "value", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "allowance(address,address)": "dd62ed3e", "approve(address,uint256)": "095ea7b3", "asset()": "38d52e0f", "balanceOf(address)": "70a08231", "convertToAssets(uint256)": "07a2d13a", "convertToShares(uint256)": "c6e6f592", "deposit(uint256,address)": "6e553f65", "maxDeposit(address)": "402d267d", "maxMint(address)": "c63d75b6", "maxRedeem(address)": "d905777e", "maxWithdraw(address)": "ce96cb77", "mint(uint256,address)": "94bf804d", "previewDeposit(uint256)": "ef8b30f7", "previewMint(uint256)": "b3d7f6b9", "previewRedeem(uint256)": "4cdad506", "previewWithdraw(uint256)": "0a28a477", "redeem(uint256,address,address)": "ba087652", "totalAssets()": "01e1d114", "totalSupply()": "18160ddd", "transfer(address,uint256)": "a9059cbb", "transferFrom(address,address,uint256)": "23b872dd", "withdraw(uint256,address,address)": "b460af94" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"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\":[],\"name\":\"asset\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"asset_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_shares\",\"type\":\"uint256\"}],\"name\":\"convertToAssets\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"assets_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_assets\",\"type\":\"uint256\"}],\"name\":\"convertToShares\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"shares_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_assets\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_receiver\",\"type\":\"address\"}],\"name\":\"deposit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"shares_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_receiver\",\"type\":\"address\"}],\"name\":\"maxDeposit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"assets_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_receiver\",\"type\":\"address\"}],\"name\":\"maxMint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"shares_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"maxRedeem\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"shares_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"maxWithdraw\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_assets\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"shares_\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_receiver\",\"type\":\"address\"}],\"name\":\"mint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"assets_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_assets\",\"type\":\"uint256\"}],\"name\":\"previewDeposit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"shares_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_shares\",\"type\":\"uint256\"}],\"name\":\"previewMint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"assets_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_shares\",\"type\":\"uint256\"}],\"name\":\"previewRedeem\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"assets_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_assets\",\"type\":\"uint256\"}],\"name\":\"previewWithdraw\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"shares_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_shares\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_receiver\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"redeem\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"assets_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalAssets\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"totalAssets_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_assets\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_receiver\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"withdraw\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"shares_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"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 `recipient`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Moves `amount` tokens from `sender` to `recipient` 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.\"}},\"title\":\"IERC4626 Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Minimal interface for interactions with IERC4626 tokens\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/IERC4626.sol\":\"IERC4626\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/IERC4626.sol\":{\"keccak256\":\"0xc9406d483e6f69717c0a12af680a4c247131f3049f3d7e787b3fb128ff02e2ab\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://823c5781608234371ae2ee9982d1c47fe752c3224fb4b7d189ef51248506dd2a\",\"dweb:/ipfs/QmUJfDq1psF7vTWLe3FXr1TaPS8kRBGfRR6snGtrrtVrFL\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "owner", "type": "address", "indexed": true }, { "internalType": "address", "name": "spender", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "value", "type": "uint256", "indexed": false } ], "type": "event", "name": "Approval", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address", "indexed": true }, { "internalType": "address", "name": "to", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "value", "type": "uint256", "indexed": false } ], "type": "event", "name": "Transfer", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "asset", "outputs": [ { "internalType": "address", "name": "asset_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_shares", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "convertToAssets", "outputs": [ { "internalType": "uint256", "name": "assets_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_assets", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "convertToShares", "outputs": [ { "internalType": "uint256", "name": "shares_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_assets", "type": "uint256" }, { "internalType": "address", "name": "_receiver", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "deposit", "outputs": [ { "internalType": "uint256", "name": "shares_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "_receiver", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "maxDeposit", "outputs": [ { "internalType": "uint256", "name": "assets_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "_receiver", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "maxMint", "outputs": [ { "internalType": "uint256", "name": "shares_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "_owner", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "maxRedeem", "outputs": [ { "internalType": "uint256", "name": "shares_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "_owner", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "maxWithdraw", "outputs": [ { "internalType": "uint256", "name": "_assets", "type": "uint256" } ] }, { "inputs": [ { "internalType": "uint256", "name": "shares_", "type": "uint256" }, { "internalType": "address", "name": "_receiver", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "mint", "outputs": [ { "internalType": "uint256", "name": "assets_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_assets", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "previewDeposit", "outputs": [ { "internalType": "uint256", "name": "shares_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_shares", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "previewMint", "outputs": [ { "internalType": "uint256", "name": "assets_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_shares", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "previewRedeem", "outputs": [ { "internalType": "uint256", "name": "assets_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_assets", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "previewWithdraw", "outputs": [ { "internalType": "uint256", "name": "shares_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_shares", "type": "uint256" }, { "internalType": "address", "name": "_receiver", "type": "address" }, { "internalType": "address", "name": "_owner", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "redeem", "outputs": [ { "internalType": "uint256", "name": "assets_", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "totalAssets", "outputs": [ { "internalType": "uint256", "name": "totalAssets_", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_assets", "type": "uint256" }, { "internalType": "address", "name": "_receiver", "type": "address" }, { "internalType": "address", "name": "_owner", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "withdraw", "outputs": [ { "internalType": "uint256", "name": "shares_", "type": "uint256" } ] } ], "devdoc": { "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 `recipient`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event." }, "transferFrom(address,address,uint256)": { "details": "Moves `amount` tokens from `sender` to `recipient` 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": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/interfaces/IERC4626.sol": "IERC4626" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/interfaces/IERC4626.sol": { "keccak256": "0xc9406d483e6f69717c0a12af680a4c247131f3049f3d7e787b3fb128ff02e2ab", "urls": [ "bzz-raw://823c5781608234371ae2ee9982d1c47fe752c3224fb4b7d189ef51248506dd2a", "dweb:/ipfs/QmUJfDq1psF7vTWLe3FXr1TaPS8kRBGfRR6snGtrrtVrFL" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" } }, "version": 1 }, "id": 300 } diff --git a/eth_defi/abi/enzyme/IERC721.json b/eth_defi/abi/enzyme/IERC721.json index bfe2c082..fb2ea6ba 100644 --- a/eth_defi/abi/enzyme/IERC721.json +++ b/eth_defi/abi/enzyme/IERC721.json @@ -1,695 +1 @@ -{ - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "approved", - "type": "address" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "operator", - "type": "address" - }, - { - "indexed": false, - "internalType": "bool", - "name": "approved", - "type": "bool" - } - ], - "name": "ApprovalForAll", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "balance", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "getApproved", - "outputs": [ - { - "internalType": "address", - "name": "operator", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "operator", - "type": "address" - } - ], - "name": "isApprovedForAll", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "ownerOf", - "outputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "safeTransferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "safeTransferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "operator", - "type": "address" - }, - { - "internalType": "bool", - "name": "_approved", - "type": "bool" - } - ], - "name": "setApprovalForAll", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "approve(address,uint256)": "095ea7b3", - "balanceOf(address)": "70a08231", - "getApproved(uint256)": "081812fc", - "isApprovedForAll(address,address)": "e985e9c5", - "ownerOf(uint256)": "6352211e", - "safeTransferFrom(address,address,uint256)": "42842e0e", - "safeTransferFrom(address,address,uint256,bytes)": "b88d4fde", - "setApprovalForAll(address,bool)": "a22cb465", - "supportsInterface(bytes4)": "01ffc9a7", - "transferFrom(address,address,uint256)": "23b872dd" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.7.6+commit.7338295f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Required interface of an ERC721 compliant contract.\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `owner` enables `approved` to manage the `tokenId` token.\"},\"ApprovalForAll(address,address,bool)\":{\"details\":\"Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `tokenId` token is transferred from `from` to `to`.\"}},\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"Gives permission to `to` to transfer `tokenId` token to another account. The approval is cleared when the token is transferred. Only a single account can be approved at a time, so approving the zero address clears previous approvals. Requirements: - The caller must own the token or be an approved operator. - `tokenId` must exist. Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the number of tokens in ``owner``'s account.\"},\"getApproved(uint256)\":{\"details\":\"Returns the account approved for `tokenId` token. Requirements: - `tokenId` must exist.\"},\"isApprovedForAll(address,address)\":{\"details\":\"Returns if the `operator` is allowed to manage all of the assets of `owner`. See {setApprovalForAll}\"},\"ownerOf(uint256)\":{\"details\":\"Returns the owner of the `tokenId` token. Requirements: - `tokenId` must exist.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients are aware of the ERC721 protocol to prevent tokens from being forever locked. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be have been allowed to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"Safely transfers `tokenId` token from `from` to `to`. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"Approve or remove `operator` as an operator for the caller. Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller. Requirements: - The `operator` cannot be the caller. Emits an {ApprovalForAll} event.\"},\"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.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Transfers `tokenId` token from `from` to `to`. WARNING: Usage of this method is discouraged, use {safeTransferFrom} whenever possible. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. Emits a {Transfer} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@openzeppelin-solc-0.7/contracts/token/ERC721/IERC721.sol\":\"IERC721\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"node_modules/@openzeppelin-solc-0.7/contracts/introspection/IERC165.sol\":{\"keccak256\":\"0xd2f30fad5b24c4120f96dbac83aacdb7993ee610a9092bc23c44463da292bf8d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e3d4e72409e392c7694b6405a0136cf073d8da016df33ef8f9ad195f724ebfea\",\"dweb:/ipfs/QmPGcddKq6CgsiKnxUUif2q76wRqP3dmdQ6bKuHCLmb8Wa\"]},\"node_modules/@openzeppelin-solc-0.7/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0xb11597841d47f7a773bca63ca323c76f804cb5d944788de0327db5526319dc82\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://930d2da1934886a1098753be4173dd89c45ca0b306a1930accd37e00b1af4aaf\",\"dweb:/ipfs/QmVSXnvEV41d43k8cfpANHoTYMKgBDBL8iCbxkLfEtQZBe\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.7.6+commit.7338295f" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "approved", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256", - "indexed": true - } - ], - "type": "event", - "name": "Approval", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "operator", - "type": "address", - "indexed": true - }, - { - "internalType": "bool", - "name": "approved", - "type": "bool", - "indexed": false - } - ], - "type": "event", - "name": "ApprovalForAll", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "to", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256", - "indexed": true - } - ], - "type": "event", - "name": "Transfer", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "approve" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "balance", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getApproved", - "outputs": [ - { - "internalType": "address", - "name": "operator", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "operator", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "isApprovedForAll", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "ownerOf", - "outputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "safeTransferFrom" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "safeTransferFrom" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "operator", - "type": "address" - }, - { - "internalType": "bool", - "name": "_approved", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setApprovalForAll" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function", - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "transferFrom" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "approve(address,uint256)": { - "details": "Gives permission to `to` to transfer `tokenId` token to another account. The approval is cleared when the token is transferred. Only a single account can be approved at a time, so approving the zero address clears previous approvals. Requirements: - The caller must own the token or be an approved operator. - `tokenId` must exist. Emits an {Approval} event." - }, - "balanceOf(address)": { - "details": "Returns the number of tokens in ``owner``'s account." - }, - "getApproved(uint256)": { - "details": "Returns the account approved for `tokenId` token. Requirements: - `tokenId` must exist." - }, - "isApprovedForAll(address,address)": { - "details": "Returns if the `operator` is allowed to manage all of the assets of `owner`. See {setApprovalForAll}" - }, - "ownerOf(uint256)": { - "details": "Returns the owner of the `tokenId` token. Requirements: - `tokenId` must exist." - }, - "safeTransferFrom(address,address,uint256)": { - "details": "Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients are aware of the ERC721 protocol to prevent tokens from being forever locked. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be have been allowed to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event." - }, - "safeTransferFrom(address,address,uint256,bytes)": { - "details": "Safely transfers `tokenId` token from `from` to `to`. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event." - }, - "setApprovalForAll(address,bool)": { - "details": "Approve or remove `operator` as an operator for the caller. Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller. Requirements: - The `operator` cannot be the caller. Emits an {ApprovalForAll} event." - }, - "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." - }, - "transferFrom(address,address,uint256)": { - "details": "Transfers `tokenId` token from `from` to `to`. WARNING: Usage of this method is discouraged, use {safeTransferFrom} whenever possible. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. Emits a {Transfer} event." - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "node_modules/@openzeppelin-solc-0.7/contracts/token/ERC721/IERC721.sol": "IERC721" - }, - "libraries": {} - }, - "sources": { - "node_modules/@openzeppelin-solc-0.7/contracts/introspection/IERC165.sol": { - "keccak256": "0xd2f30fad5b24c4120f96dbac83aacdb7993ee610a9092bc23c44463da292bf8d", - "urls": [ - "bzz-raw://e3d4e72409e392c7694b6405a0136cf073d8da016df33ef8f9ad195f724ebfea", - "dweb:/ipfs/QmPGcddKq6CgsiKnxUUif2q76wRqP3dmdQ6bKuHCLmb8Wa" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin-solc-0.7/contracts/token/ERC721/IERC721.sol": { - "keccak256": "0xb11597841d47f7a773bca63ca323c76f804cb5d944788de0327db5526319dc82", - "urls": [ - "bzz-raw://930d2da1934886a1098753be4173dd89c45ca0b306a1930accd37e00b1af4aaf", - "dweb:/ipfs/QmVSXnvEV41d43k8cfpANHoTYMKgBDBL8iCbxkLfEtQZBe" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 15 -} +{ "abi": [ { "type": "function", "name": "approve", "inputs": [ { "name": "to", "type": "address", "internalType": "address" }, { "name": "tokenId", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "balanceOf", "inputs": [ { "name": "owner", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "balance", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "getApproved", "inputs": [ { "name": "tokenId", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "operator", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "isApprovedForAll", "inputs": [ { "name": "owner", "type": "address", "internalType": "address" }, { "name": "operator", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "ownerOf", "inputs": [ { "name": "tokenId", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "owner", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "safeTransferFrom", "inputs": [ { "name": "from", "type": "address", "internalType": "address" }, { "name": "to", "type": "address", "internalType": "address" }, { "name": "tokenId", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "safeTransferFrom", "inputs": [ { "name": "from", "type": "address", "internalType": "address" }, { "name": "to", "type": "address", "internalType": "address" }, { "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "data", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setApprovalForAll", "inputs": [ { "name": "operator", "type": "address", "internalType": "address" }, { "name": "_approved", "type": "bool", "internalType": "bool" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "supportsInterface", "inputs": [ { "name": "interfaceId", "type": "bytes4", "internalType": "bytes4" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "transferFrom", "inputs": [ { "name": "from", "type": "address", "internalType": "address" }, { "name": "to", "type": "address", "internalType": "address" }, { "name": "tokenId", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "event", "name": "Approval", "inputs": [ { "name": "owner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "approved", "type": "address", "indexed": true, "internalType": "address" }, { "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "ApprovalForAll", "inputs": [ { "name": "owner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "operator", "type": "address", "indexed": true, "internalType": "address" }, { "name": "approved", "type": "bool", "indexed": false, "internalType": "bool" } ], "anonymous": false }, { "type": "event", "name": "Transfer", "inputs": [ { "name": "from", "type": "address", "indexed": true, "internalType": "address" }, { "name": "to", "type": "address", "indexed": true, "internalType": "address" }, { "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" } ], "anonymous": false } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "approve(address,uint256)": "095ea7b3", "balanceOf(address)": "70a08231", "getApproved(uint256)": "081812fc", "isApprovedForAll(address,address)": "e985e9c5", "ownerOf(uint256)": "6352211e", "safeTransferFrom(address,address,uint256)": "42842e0e", "safeTransferFrom(address,address,uint256,bytes)": "b88d4fde", "setApprovalForAll(address,bool)": "a22cb465", "supportsInterface(bytes4)": "01ffc9a7", "transferFrom(address,address,uint256)": "23b872dd" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.7.6+commit.7338295f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Required interface of an ERC721 compliant contract.\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `owner` enables `approved` to manage the `tokenId` token.\"},\"ApprovalForAll(address,address,bool)\":{\"details\":\"Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `tokenId` token is transferred from `from` to `to`.\"}},\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"Gives permission to `to` to transfer `tokenId` token to another account. The approval is cleared when the token is transferred. Only a single account can be approved at a time, so approving the zero address clears previous approvals. Requirements: - The caller must own the token or be an approved operator. - `tokenId` must exist. Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the number of tokens in ``owner``'s account.\"},\"getApproved(uint256)\":{\"details\":\"Returns the account approved for `tokenId` token. Requirements: - `tokenId` must exist.\"},\"isApprovedForAll(address,address)\":{\"details\":\"Returns if the `operator` is allowed to manage all of the assets of `owner`. See {setApprovalForAll}\"},\"ownerOf(uint256)\":{\"details\":\"Returns the owner of the `tokenId` token. Requirements: - `tokenId` must exist.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients are aware of the ERC721 protocol to prevent tokens from being forever locked. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be have been allowed to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"Safely transfers `tokenId` token from `from` to `to`. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"Approve or remove `operator` as an operator for the caller. Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller. Requirements: - The `operator` cannot be the caller. Emits an {ApprovalForAll} event.\"},\"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.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Transfers `tokenId` token from `from` to `to`. WARNING: Usage of this method is discouraged, use {safeTransferFrom} whenever possible. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. Emits a {Transfer} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@openzeppelin-solc-0.7/contracts/token/ERC721/IERC721.sol\":\"IERC721\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"node_modules/@openzeppelin-solc-0.7/contracts/introspection/IERC165.sol\":{\"keccak256\":\"0xd2f30fad5b24c4120f96dbac83aacdb7993ee610a9092bc23c44463da292bf8d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e3d4e72409e392c7694b6405a0136cf073d8da016df33ef8f9ad195f724ebfea\",\"dweb:/ipfs/QmPGcddKq6CgsiKnxUUif2q76wRqP3dmdQ6bKuHCLmb8Wa\"]},\"node_modules/@openzeppelin-solc-0.7/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0xb11597841d47f7a773bca63ca323c76f804cb5d944788de0327db5526319dc82\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://930d2da1934886a1098753be4173dd89c45ca0b306a1930accd37e00b1af4aaf\",\"dweb:/ipfs/QmVSXnvEV41d43k8cfpANHoTYMKgBDBL8iCbxkLfEtQZBe\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.7.6+commit.7338295f" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "owner", "type": "address", "indexed": true }, { "internalType": "address", "name": "approved", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "tokenId", "type": "uint256", "indexed": true } ], "type": "event", "name": "Approval", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address", "indexed": true }, { "internalType": "address", "name": "operator", "type": "address", "indexed": true }, { "internalType": "bool", "name": "approved", "type": "bool", "indexed": false } ], "type": "event", "name": "ApprovalForAll", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address", "indexed": true }, { "internalType": "address", "name": "to", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "tokenId", "type": "uint256", "indexed": true } ], "type": "event", "name": "Transfer", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "approve" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "balance", "type": "uint256" } ] }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "getApproved", "outputs": [ { "internalType": "address", "name": "operator", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "operator", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "isApprovedForAll", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "ownerOf", "outputs": [ { "internalType": "address", "name": "owner", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "safeTransferFrom" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" }, { "internalType": "bytes", "name": "data", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "safeTransferFrom" }, { "inputs": [ { "internalType": "address", "name": "operator", "type": "address" }, { "internalType": "bool", "name": "_approved", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function", "name": "setApprovalForAll" }, { "inputs": [ { "internalType": "bytes4", "name": "interfaceId", "type": "bytes4" } ], "stateMutability": "view", "type": "function", "name": "supportsInterface", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "transferFrom" } ], "devdoc": { "kind": "dev", "methods": { "approve(address,uint256)": { "details": "Gives permission to `to` to transfer `tokenId` token to another account. The approval is cleared when the token is transferred. Only a single account can be approved at a time, so approving the zero address clears previous approvals. Requirements: - The caller must own the token or be an approved operator. - `tokenId` must exist. Emits an {Approval} event." }, "balanceOf(address)": { "details": "Returns the number of tokens in ``owner``'s account." }, "getApproved(uint256)": { "details": "Returns the account approved for `tokenId` token. Requirements: - `tokenId` must exist." }, "isApprovedForAll(address,address)": { "details": "Returns if the `operator` is allowed to manage all of the assets of `owner`. See {setApprovalForAll}" }, "ownerOf(uint256)": { "details": "Returns the owner of the `tokenId` token. Requirements: - `tokenId` must exist." }, "safeTransferFrom(address,address,uint256)": { "details": "Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients are aware of the ERC721 protocol to prevent tokens from being forever locked. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be have been allowed to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event." }, "safeTransferFrom(address,address,uint256,bytes)": { "details": "Safely transfers `tokenId` token from `from` to `to`. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event." }, "setApprovalForAll(address,bool)": { "details": "Approve or remove `operator` as an operator for the caller. Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller. Requirements: - The `operator` cannot be the caller. Emits an {ApprovalForAll} event." }, "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." }, "transferFrom(address,address,uint256)": { "details": "Transfers `tokenId` token from `from` to `to`. WARNING: Usage of this method is discouraged, use {safeTransferFrom} whenever possible. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. Emits a {Transfer} event." } }, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "node_modules/@openzeppelin-solc-0.7/contracts/token/ERC721/IERC721.sol": "IERC721" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "node_modules/@openzeppelin-solc-0.7/contracts/introspection/IERC165.sol": { "keccak256": "0xd2f30fad5b24c4120f96dbac83aacdb7993ee610a9092bc23c44463da292bf8d", "urls": [ "bzz-raw://e3d4e72409e392c7694b6405a0136cf073d8da016df33ef8f9ad195f724ebfea", "dweb:/ipfs/QmPGcddKq6CgsiKnxUUif2q76wRqP3dmdQ6bKuHCLmb8Wa" ], "license": "MIT" }, "node_modules/@openzeppelin-solc-0.7/contracts/token/ERC721/IERC721.sol": { "keccak256": "0xb11597841d47f7a773bca63ca323c76f804cb5d944788de0327db5526319dc82", "urls": [ "bzz-raw://930d2da1934886a1098753be4173dd89c45ca0b306a1930accd37e00b1af4aaf", "dweb:/ipfs/QmVSXnvEV41d43k8cfpANHoTYMKgBDBL8iCbxkLfEtQZBe" ], "license": "MIT" } }, "version": 1 }, "id": 15 } diff --git a/eth_defi/abi/enzyme/IERC721Enumerable.json b/eth_defi/abi/enzyme/IERC721Enumerable.json index 09425421..28d27c1b 100644 --- a/eth_defi/abi/enzyme/IERC721Enumerable.json +++ b/eth_defi/abi/enzyme/IERC721Enumerable.json @@ -1,827 +1 @@ -{ - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "approved", - "type": "address" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "operator", - "type": "address" - }, - { - "indexed": false, - "internalType": "bool", - "name": "approved", - "type": "bool" - } - ], - "name": "ApprovalForAll", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "balance", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "getApproved", - "outputs": [ - { - "internalType": "address", - "name": "operator", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "operator", - "type": "address" - } - ], - "name": "isApprovedForAll", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "ownerOf", - "outputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "safeTransferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "safeTransferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "operator", - "type": "address" - }, - { - "internalType": "bool", - "name": "_approved", - "type": "bool" - } - ], - "name": "setApprovalForAll", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "index", - "type": "uint256" - } - ], - "name": "tokenByIndex", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "uint256", - "name": "index", - "type": "uint256" - } - ], - "name": "tokenOfOwnerByIndex", - "outputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "approve(address,uint256)": "095ea7b3", - "balanceOf(address)": "70a08231", - "getApproved(uint256)": "081812fc", - "isApprovedForAll(address,address)": "e985e9c5", - "ownerOf(uint256)": "6352211e", - "safeTransferFrom(address,address,uint256)": "42842e0e", - "safeTransferFrom(address,address,uint256,bytes)": "b88d4fde", - "setApprovalForAll(address,bool)": "a22cb465", - "supportsInterface(bytes4)": "01ffc9a7", - "tokenByIndex(uint256)": "4f6ccce7", - "tokenOfOwnerByIndex(address,uint256)": "2f745c59", - "totalSupply()": "18160ddd", - "transferFrom(address,address,uint256)": "23b872dd" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.7.6+commit.7338295f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"tokenByIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"tokenOfOwnerByIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"See https://eips.ethereum.org/EIPS/eip-721\",\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"Gives permission to `to` to transfer `tokenId` token to another account. The approval is cleared when the token is transferred. Only a single account can be approved at a time, so approving the zero address clears previous approvals. Requirements: - The caller must own the token or be an approved operator. - `tokenId` must exist. Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the number of tokens in ``owner``'s account.\"},\"getApproved(uint256)\":{\"details\":\"Returns the account approved for `tokenId` token. Requirements: - `tokenId` must exist.\"},\"isApprovedForAll(address,address)\":{\"details\":\"Returns if the `operator` is allowed to manage all of the assets of `owner`. See {setApprovalForAll}\"},\"ownerOf(uint256)\":{\"details\":\"Returns the owner of the `tokenId` token. Requirements: - `tokenId` must exist.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients are aware of the ERC721 protocol to prevent tokens from being forever locked. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be have been allowed to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"Safely transfers `tokenId` token from `from` to `to`. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"Approve or remove `operator` as an operator for the caller. Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller. Requirements: - The `operator` cannot be the caller. Emits an {ApprovalForAll} event.\"},\"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.\"},\"tokenByIndex(uint256)\":{\"details\":\"Returns a token ID at a given `index` of all the tokens stored by the contract. Use along with {totalSupply} to enumerate all tokens.\"},\"tokenOfOwnerByIndex(address,uint256)\":{\"details\":\"Returns a token ID owned by `owner` at a given `index` of its token list. Use along with {balanceOf} to enumerate all of ``owner``'s tokens.\"},\"totalSupply()\":{\"details\":\"Returns the total amount of tokens stored by the contract.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Transfers `tokenId` token from `from` to `to`. WARNING: Usage of this method is discouraged, use {safeTransferFrom} whenever possible. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. Emits a {Transfer} event.\"}},\"title\":\"ERC-721 Non-Fungible Token Standard, optional enumeration extension\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@openzeppelin-solc-0.7/contracts/token/ERC721/IERC721Enumerable.sol\":\"IERC721Enumerable\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"node_modules/@openzeppelin-solc-0.7/contracts/introspection/IERC165.sol\":{\"keccak256\":\"0xd2f30fad5b24c4120f96dbac83aacdb7993ee610a9092bc23c44463da292bf8d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e3d4e72409e392c7694b6405a0136cf073d8da016df33ef8f9ad195f724ebfea\",\"dweb:/ipfs/QmPGcddKq6CgsiKnxUUif2q76wRqP3dmdQ6bKuHCLmb8Wa\"]},\"node_modules/@openzeppelin-solc-0.7/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0xb11597841d47f7a773bca63ca323c76f804cb5d944788de0327db5526319dc82\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://930d2da1934886a1098753be4173dd89c45ca0b306a1930accd37e00b1af4aaf\",\"dweb:/ipfs/QmVSXnvEV41d43k8cfpANHoTYMKgBDBL8iCbxkLfEtQZBe\"]},\"node_modules/@openzeppelin-solc-0.7/contracts/token/ERC721/IERC721Enumerable.sol\":{\"keccak256\":\"0x2789dfea2d73182683d637db5729201f6730dae6113030a94c828f8688f38f2f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://36374eaa68c0737bf7e1ae13d55327b4868fb0825e971ee729f4b8d355ededb4\",\"dweb:/ipfs/QmYN9yuzz4P5SumiT6rgYgTEY8MhnPQapMwx2LHxRKju7r\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.7.6+commit.7338295f" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "approved", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256", - "indexed": true - } - ], - "type": "event", - "name": "Approval", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "operator", - "type": "address", - "indexed": true - }, - { - "internalType": "bool", - "name": "approved", - "type": "bool", - "indexed": false - } - ], - "type": "event", - "name": "ApprovalForAll", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "to", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256", - "indexed": true - } - ], - "type": "event", - "name": "Transfer", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "approve" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "balance", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getApproved", - "outputs": [ - { - "internalType": "address", - "name": "operator", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "operator", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "isApprovedForAll", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "ownerOf", - "outputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "safeTransferFrom" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "safeTransferFrom" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "operator", - "type": "address" - }, - { - "internalType": "bool", - "name": "_approved", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setApprovalForAll" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function", - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "index", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "tokenByIndex", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "uint256", - "name": "index", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "tokenOfOwnerByIndex", - "outputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "transferFrom" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "approve(address,uint256)": { - "details": "Gives permission to `to` to transfer `tokenId` token to another account. The approval is cleared when the token is transferred. Only a single account can be approved at a time, so approving the zero address clears previous approvals. Requirements: - The caller must own the token or be an approved operator. - `tokenId` must exist. Emits an {Approval} event." - }, - "balanceOf(address)": { - "details": "Returns the number of tokens in ``owner``'s account." - }, - "getApproved(uint256)": { - "details": "Returns the account approved for `tokenId` token. Requirements: - `tokenId` must exist." - }, - "isApprovedForAll(address,address)": { - "details": "Returns if the `operator` is allowed to manage all of the assets of `owner`. See {setApprovalForAll}" - }, - "ownerOf(uint256)": { - "details": "Returns the owner of the `tokenId` token. Requirements: - `tokenId` must exist." - }, - "safeTransferFrom(address,address,uint256)": { - "details": "Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients are aware of the ERC721 protocol to prevent tokens from being forever locked. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be have been allowed to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event." - }, - "safeTransferFrom(address,address,uint256,bytes)": { - "details": "Safely transfers `tokenId` token from `from` to `to`. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event." - }, - "setApprovalForAll(address,bool)": { - "details": "Approve or remove `operator` as an operator for the caller. Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller. Requirements: - The `operator` cannot be the caller. Emits an {ApprovalForAll} event." - }, - "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." - }, - "tokenByIndex(uint256)": { - "details": "Returns a token ID at a given `index` of all the tokens stored by the contract. Use along with {totalSupply} to enumerate all tokens." - }, - "tokenOfOwnerByIndex(address,uint256)": { - "details": "Returns a token ID owned by `owner` at a given `index` of its token list. Use along with {balanceOf} to enumerate all of ``owner``'s tokens." - }, - "totalSupply()": { - "details": "Returns the total amount of tokens stored by the contract." - }, - "transferFrom(address,address,uint256)": { - "details": "Transfers `tokenId` token from `from` to `to`. WARNING: Usage of this method is discouraged, use {safeTransferFrom} whenever possible. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. Emits a {Transfer} event." - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "node_modules/@openzeppelin-solc-0.7/contracts/token/ERC721/IERC721Enumerable.sol": "IERC721Enumerable" - }, - "libraries": {} - }, - "sources": { - "node_modules/@openzeppelin-solc-0.7/contracts/introspection/IERC165.sol": { - "keccak256": "0xd2f30fad5b24c4120f96dbac83aacdb7993ee610a9092bc23c44463da292bf8d", - "urls": [ - "bzz-raw://e3d4e72409e392c7694b6405a0136cf073d8da016df33ef8f9ad195f724ebfea", - "dweb:/ipfs/QmPGcddKq6CgsiKnxUUif2q76wRqP3dmdQ6bKuHCLmb8Wa" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin-solc-0.7/contracts/token/ERC721/IERC721.sol": { - "keccak256": "0xb11597841d47f7a773bca63ca323c76f804cb5d944788de0327db5526319dc82", - "urls": [ - "bzz-raw://930d2da1934886a1098753be4173dd89c45ca0b306a1930accd37e00b1af4aaf", - "dweb:/ipfs/QmVSXnvEV41d43k8cfpANHoTYMKgBDBL8iCbxkLfEtQZBe" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin-solc-0.7/contracts/token/ERC721/IERC721Enumerable.sol": { - "keccak256": "0x2789dfea2d73182683d637db5729201f6730dae6113030a94c828f8688f38f2f", - "urls": [ - "bzz-raw://36374eaa68c0737bf7e1ae13d55327b4868fb0825e971ee729f4b8d355ededb4", - "dweb:/ipfs/QmYN9yuzz4P5SumiT6rgYgTEY8MhnPQapMwx2LHxRKju7r" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 16 -} +{ "abi": [ { "type": "function", "name": "approve", "inputs": [ { "name": "to", "type": "address", "internalType": "address" }, { "name": "tokenId", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "balanceOf", "inputs": [ { "name": "owner", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "balance", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "getApproved", "inputs": [ { "name": "tokenId", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "operator", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "isApprovedForAll", "inputs": [ { "name": "owner", "type": "address", "internalType": "address" }, { "name": "operator", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "ownerOf", "inputs": [ { "name": "tokenId", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "owner", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "safeTransferFrom", "inputs": [ { "name": "from", "type": "address", "internalType": "address" }, { "name": "to", "type": "address", "internalType": "address" }, { "name": "tokenId", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "safeTransferFrom", "inputs": [ { "name": "from", "type": "address", "internalType": "address" }, { "name": "to", "type": "address", "internalType": "address" }, { "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "data", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setApprovalForAll", "inputs": [ { "name": "operator", "type": "address", "internalType": "address" }, { "name": "_approved", "type": "bool", "internalType": "bool" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "supportsInterface", "inputs": [ { "name": "interfaceId", "type": "bytes4", "internalType": "bytes4" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "tokenByIndex", "inputs": [ { "name": "index", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "tokenOfOwnerByIndex", "inputs": [ { "name": "owner", "type": "address", "internalType": "address" }, { "name": "index", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "tokenId", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "totalSupply", "inputs": [], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "transferFrom", "inputs": [ { "name": "from", "type": "address", "internalType": "address" }, { "name": "to", "type": "address", "internalType": "address" }, { "name": "tokenId", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "event", "name": "Approval", "inputs": [ { "name": "owner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "approved", "type": "address", "indexed": true, "internalType": "address" }, { "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "ApprovalForAll", "inputs": [ { "name": "owner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "operator", "type": "address", "indexed": true, "internalType": "address" }, { "name": "approved", "type": "bool", "indexed": false, "internalType": "bool" } ], "anonymous": false }, { "type": "event", "name": "Transfer", "inputs": [ { "name": "from", "type": "address", "indexed": true, "internalType": "address" }, { "name": "to", "type": "address", "indexed": true, "internalType": "address" }, { "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" } ], "anonymous": false } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "approve(address,uint256)": "095ea7b3", "balanceOf(address)": "70a08231", "getApproved(uint256)": "081812fc", "isApprovedForAll(address,address)": "e985e9c5", "ownerOf(uint256)": "6352211e", "safeTransferFrom(address,address,uint256)": "42842e0e", "safeTransferFrom(address,address,uint256,bytes)": "b88d4fde", "setApprovalForAll(address,bool)": "a22cb465", "supportsInterface(bytes4)": "01ffc9a7", "tokenByIndex(uint256)": "4f6ccce7", "tokenOfOwnerByIndex(address,uint256)": "2f745c59", "totalSupply()": "18160ddd", "transferFrom(address,address,uint256)": "23b872dd" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.7.6+commit.7338295f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"tokenByIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"tokenOfOwnerByIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"See https://eips.ethereum.org/EIPS/eip-721\",\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"Gives permission to `to` to transfer `tokenId` token to another account. The approval is cleared when the token is transferred. Only a single account can be approved at a time, so approving the zero address clears previous approvals. Requirements: - The caller must own the token or be an approved operator. - `tokenId` must exist. Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the number of tokens in ``owner``'s account.\"},\"getApproved(uint256)\":{\"details\":\"Returns the account approved for `tokenId` token. Requirements: - `tokenId` must exist.\"},\"isApprovedForAll(address,address)\":{\"details\":\"Returns if the `operator` is allowed to manage all of the assets of `owner`. See {setApprovalForAll}\"},\"ownerOf(uint256)\":{\"details\":\"Returns the owner of the `tokenId` token. Requirements: - `tokenId` must exist.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients are aware of the ERC721 protocol to prevent tokens from being forever locked. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be have been allowed to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"Safely transfers `tokenId` token from `from` to `to`. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"Approve or remove `operator` as an operator for the caller. Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller. Requirements: - The `operator` cannot be the caller. Emits an {ApprovalForAll} event.\"},\"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.\"},\"tokenByIndex(uint256)\":{\"details\":\"Returns a token ID at a given `index` of all the tokens stored by the contract. Use along with {totalSupply} to enumerate all tokens.\"},\"tokenOfOwnerByIndex(address,uint256)\":{\"details\":\"Returns a token ID owned by `owner` at a given `index` of its token list. Use along with {balanceOf} to enumerate all of ``owner``'s tokens.\"},\"totalSupply()\":{\"details\":\"Returns the total amount of tokens stored by the contract.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Transfers `tokenId` token from `from` to `to`. WARNING: Usage of this method is discouraged, use {safeTransferFrom} whenever possible. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. Emits a {Transfer} event.\"}},\"title\":\"ERC-721 Non-Fungible Token Standard, optional enumeration extension\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@openzeppelin-solc-0.7/contracts/token/ERC721/IERC721Enumerable.sol\":\"IERC721Enumerable\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"node_modules/@openzeppelin-solc-0.7/contracts/introspection/IERC165.sol\":{\"keccak256\":\"0xd2f30fad5b24c4120f96dbac83aacdb7993ee610a9092bc23c44463da292bf8d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e3d4e72409e392c7694b6405a0136cf073d8da016df33ef8f9ad195f724ebfea\",\"dweb:/ipfs/QmPGcddKq6CgsiKnxUUif2q76wRqP3dmdQ6bKuHCLmb8Wa\"]},\"node_modules/@openzeppelin-solc-0.7/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0xb11597841d47f7a773bca63ca323c76f804cb5d944788de0327db5526319dc82\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://930d2da1934886a1098753be4173dd89c45ca0b306a1930accd37e00b1af4aaf\",\"dweb:/ipfs/QmVSXnvEV41d43k8cfpANHoTYMKgBDBL8iCbxkLfEtQZBe\"]},\"node_modules/@openzeppelin-solc-0.7/contracts/token/ERC721/IERC721Enumerable.sol\":{\"keccak256\":\"0x2789dfea2d73182683d637db5729201f6730dae6113030a94c828f8688f38f2f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://36374eaa68c0737bf7e1ae13d55327b4868fb0825e971ee729f4b8d355ededb4\",\"dweb:/ipfs/QmYN9yuzz4P5SumiT6rgYgTEY8MhnPQapMwx2LHxRKju7r\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.7.6+commit.7338295f" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "owner", "type": "address", "indexed": true }, { "internalType": "address", "name": "approved", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "tokenId", "type": "uint256", "indexed": true } ], "type": "event", "name": "Approval", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address", "indexed": true }, { "internalType": "address", "name": "operator", "type": "address", "indexed": true }, { "internalType": "bool", "name": "approved", "type": "bool", "indexed": false } ], "type": "event", "name": "ApprovalForAll", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address", "indexed": true }, { "internalType": "address", "name": "to", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "tokenId", "type": "uint256", "indexed": true } ], "type": "event", "name": "Transfer", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "approve" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "balance", "type": "uint256" } ] }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "getApproved", "outputs": [ { "internalType": "address", "name": "operator", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "operator", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "isApprovedForAll", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "ownerOf", "outputs": [ { "internalType": "address", "name": "owner", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "safeTransferFrom" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" }, { "internalType": "bytes", "name": "data", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "safeTransferFrom" }, { "inputs": [ { "internalType": "address", "name": "operator", "type": "address" }, { "internalType": "bool", "name": "_approved", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function", "name": "setApprovalForAll" }, { "inputs": [ { "internalType": "bytes4", "name": "interfaceId", "type": "bytes4" } ], "stateMutability": "view", "type": "function", "name": "supportsInterface", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [ { "internalType": "uint256", "name": "index", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "tokenByIndex", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "uint256", "name": "index", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "tokenOfOwnerByIndex", "outputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "transferFrom" } ], "devdoc": { "kind": "dev", "methods": { "approve(address,uint256)": { "details": "Gives permission to `to` to transfer `tokenId` token to another account. The approval is cleared when the token is transferred. Only a single account can be approved at a time, so approving the zero address clears previous approvals. Requirements: - The caller must own the token or be an approved operator. - `tokenId` must exist. Emits an {Approval} event." }, "balanceOf(address)": { "details": "Returns the number of tokens in ``owner``'s account." }, "getApproved(uint256)": { "details": "Returns the account approved for `tokenId` token. Requirements: - `tokenId` must exist." }, "isApprovedForAll(address,address)": { "details": "Returns if the `operator` is allowed to manage all of the assets of `owner`. See {setApprovalForAll}" }, "ownerOf(uint256)": { "details": "Returns the owner of the `tokenId` token. Requirements: - `tokenId` must exist." }, "safeTransferFrom(address,address,uint256)": { "details": "Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients are aware of the ERC721 protocol to prevent tokens from being forever locked. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be have been allowed to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event." }, "safeTransferFrom(address,address,uint256,bytes)": { "details": "Safely transfers `tokenId` token from `from` to `to`. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event." }, "setApprovalForAll(address,bool)": { "details": "Approve or remove `operator` as an operator for the caller. Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller. Requirements: - The `operator` cannot be the caller. Emits an {ApprovalForAll} event." }, "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." }, "tokenByIndex(uint256)": { "details": "Returns a token ID at a given `index` of all the tokens stored by the contract. Use along with {totalSupply} to enumerate all tokens." }, "tokenOfOwnerByIndex(address,uint256)": { "details": "Returns a token ID owned by `owner` at a given `index` of its token list. Use along with {balanceOf} to enumerate all of ``owner``'s tokens." }, "totalSupply()": { "details": "Returns the total amount of tokens stored by the contract." }, "transferFrom(address,address,uint256)": { "details": "Transfers `tokenId` token from `from` to `to`. WARNING: Usage of this method is discouraged, use {safeTransferFrom} whenever possible. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. Emits a {Transfer} event." } }, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "node_modules/@openzeppelin-solc-0.7/contracts/token/ERC721/IERC721Enumerable.sol": "IERC721Enumerable" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "node_modules/@openzeppelin-solc-0.7/contracts/introspection/IERC165.sol": { "keccak256": "0xd2f30fad5b24c4120f96dbac83aacdb7993ee610a9092bc23c44463da292bf8d", "urls": [ "bzz-raw://e3d4e72409e392c7694b6405a0136cf073d8da016df33ef8f9ad195f724ebfea", "dweb:/ipfs/QmPGcddKq6CgsiKnxUUif2q76wRqP3dmdQ6bKuHCLmb8Wa" ], "license": "MIT" }, "node_modules/@openzeppelin-solc-0.7/contracts/token/ERC721/IERC721.sol": { "keccak256": "0xb11597841d47f7a773bca63ca323c76f804cb5d944788de0327db5526319dc82", "urls": [ "bzz-raw://930d2da1934886a1098753be4173dd89c45ca0b306a1930accd37e00b1af4aaf", "dweb:/ipfs/QmVSXnvEV41d43k8cfpANHoTYMKgBDBL8iCbxkLfEtQZBe" ], "license": "MIT" }, "node_modules/@openzeppelin-solc-0.7/contracts/token/ERC721/IERC721Enumerable.sol": { "keccak256": "0x2789dfea2d73182683d637db5729201f6730dae6113030a94c828f8688f38f2f", "urls": [ "bzz-raw://36374eaa68c0737bf7e1ae13d55327b4868fb0825e971ee729f4b8d355ededb4", "dweb:/ipfs/QmYN9yuzz4P5SumiT6rgYgTEY8MhnPQapMwx2LHxRKju7r" ], "license": "MIT" } }, "version": 1 }, "id": 16 } diff --git a/eth_defi/abi/enzyme/IERC721Metadata.json b/eth_defi/abi/enzyme/IERC721Metadata.json index 3e201f3a..960915e4 100644 --- a/eth_defi/abi/enzyme/IERC721Metadata.json +++ b/eth_defi/abi/enzyme/IERC721Metadata.json @@ -1,805 +1 @@ -{ - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "approved", - "type": "address" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "operator", - "type": "address" - }, - { - "indexed": false, - "internalType": "bool", - "name": "approved", - "type": "bool" - } - ], - "name": "ApprovalForAll", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "balance", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "getApproved", - "outputs": [ - { - "internalType": "address", - "name": "operator", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "operator", - "type": "address" - } - ], - "name": "isApprovedForAll", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "ownerOf", - "outputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "safeTransferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "safeTransferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "operator", - "type": "address" - }, - { - "internalType": "bool", - "name": "_approved", - "type": "bool" - } - ], - "name": "setApprovalForAll", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "tokenURI", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "approve(address,uint256)": "095ea7b3", - "balanceOf(address)": "70a08231", - "getApproved(uint256)": "081812fc", - "isApprovedForAll(address,address)": "e985e9c5", - "name()": "06fdde03", - "ownerOf(uint256)": "6352211e", - "safeTransferFrom(address,address,uint256)": "42842e0e", - "safeTransferFrom(address,address,uint256,bytes)": "b88d4fde", - "setApprovalForAll(address,bool)": "a22cb465", - "supportsInterface(bytes4)": "01ffc9a7", - "symbol()": "95d89b41", - "tokenURI(uint256)": "c87b56dd", - "transferFrom(address,address,uint256)": "23b872dd" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.7.6+commit.7338295f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"See https://eips.ethereum.org/EIPS/eip-721\",\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"Gives permission to `to` to transfer `tokenId` token to another account. The approval is cleared when the token is transferred. Only a single account can be approved at a time, so approving the zero address clears previous approvals. Requirements: - The caller must own the token or be an approved operator. - `tokenId` must exist. Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the number of tokens in ``owner``'s account.\"},\"getApproved(uint256)\":{\"details\":\"Returns the account approved for `tokenId` token. Requirements: - `tokenId` must exist.\"},\"isApprovedForAll(address,address)\":{\"details\":\"Returns if the `operator` is allowed to manage all of the assets of `owner`. See {setApprovalForAll}\"},\"name()\":{\"details\":\"Returns the token collection name.\"},\"ownerOf(uint256)\":{\"details\":\"Returns the owner of the `tokenId` token. Requirements: - `tokenId` must exist.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients are aware of the ERC721 protocol to prevent tokens from being forever locked. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be have been allowed to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"Safely transfers `tokenId` token from `from` to `to`. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"Approve or remove `operator` as an operator for the caller. Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller. Requirements: - The `operator` cannot be the caller. Emits an {ApprovalForAll} event.\"},\"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.\"},\"symbol()\":{\"details\":\"Returns the token collection symbol.\"},\"tokenURI(uint256)\":{\"details\":\"Returns the Uniform Resource Identifier (URI) for `tokenId` token.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Transfers `tokenId` token from `from` to `to`. WARNING: Usage of this method is discouraged, use {safeTransferFrom} whenever possible. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. Emits a {Transfer} event.\"}},\"title\":\"ERC-721 Non-Fungible Token Standard, optional metadata extension\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@openzeppelin-solc-0.7/contracts/token/ERC721/IERC721Metadata.sol\":\"IERC721Metadata\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"node_modules/@openzeppelin-solc-0.7/contracts/introspection/IERC165.sol\":{\"keccak256\":\"0xd2f30fad5b24c4120f96dbac83aacdb7993ee610a9092bc23c44463da292bf8d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e3d4e72409e392c7694b6405a0136cf073d8da016df33ef8f9ad195f724ebfea\",\"dweb:/ipfs/QmPGcddKq6CgsiKnxUUif2q76wRqP3dmdQ6bKuHCLmb8Wa\"]},\"node_modules/@openzeppelin-solc-0.7/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0xb11597841d47f7a773bca63ca323c76f804cb5d944788de0327db5526319dc82\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://930d2da1934886a1098753be4173dd89c45ca0b306a1930accd37e00b1af4aaf\",\"dweb:/ipfs/QmVSXnvEV41d43k8cfpANHoTYMKgBDBL8iCbxkLfEtQZBe\"]},\"node_modules/@openzeppelin-solc-0.7/contracts/token/ERC721/IERC721Metadata.sol\":{\"keccak256\":\"0xc82c7d1d732081d9bd23f1555ebdf8f3bc1738bc42c2bfc4b9aa7564d9fa3573\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5cb07e4ff3352161510a0d1536fe93f3c62526358e073a8bab2a8abbb27d0da1\",\"dweb:/ipfs/QmX7K1JjnWKT1JzZT92Qx5zNJQYbssE533TLFHP88hj2fb\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.7.6+commit.7338295f" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "approved", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256", - "indexed": true - } - ], - "type": "event", - "name": "Approval", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "operator", - "type": "address", - "indexed": true - }, - { - "internalType": "bool", - "name": "approved", - "type": "bool", - "indexed": false - } - ], - "type": "event", - "name": "ApprovalForAll", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "to", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256", - "indexed": true - } - ], - "type": "event", - "name": "Transfer", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "approve" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "balance", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getApproved", - "outputs": [ - { - "internalType": "address", - "name": "operator", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "operator", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "isApprovedForAll", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "ownerOf", - "outputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "safeTransferFrom" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "safeTransferFrom" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "operator", - "type": "address" - }, - { - "internalType": "bool", - "name": "_approved", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setApprovalForAll" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function", - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "tokenURI", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "transferFrom" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "approve(address,uint256)": { - "details": "Gives permission to `to` to transfer `tokenId` token to another account. The approval is cleared when the token is transferred. Only a single account can be approved at a time, so approving the zero address clears previous approvals. Requirements: - The caller must own the token or be an approved operator. - `tokenId` must exist. Emits an {Approval} event." - }, - "balanceOf(address)": { - "details": "Returns the number of tokens in ``owner``'s account." - }, - "getApproved(uint256)": { - "details": "Returns the account approved for `tokenId` token. Requirements: - `tokenId` must exist." - }, - "isApprovedForAll(address,address)": { - "details": "Returns if the `operator` is allowed to manage all of the assets of `owner`. See {setApprovalForAll}" - }, - "name()": { - "details": "Returns the token collection name." - }, - "ownerOf(uint256)": { - "details": "Returns the owner of the `tokenId` token. Requirements: - `tokenId` must exist." - }, - "safeTransferFrom(address,address,uint256)": { - "details": "Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients are aware of the ERC721 protocol to prevent tokens from being forever locked. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be have been allowed to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event." - }, - "safeTransferFrom(address,address,uint256,bytes)": { - "details": "Safely transfers `tokenId` token from `from` to `to`. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event." - }, - "setApprovalForAll(address,bool)": { - "details": "Approve or remove `operator` as an operator for the caller. Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller. Requirements: - The `operator` cannot be the caller. Emits an {ApprovalForAll} event." - }, - "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." - }, - "symbol()": { - "details": "Returns the token collection symbol." - }, - "tokenURI(uint256)": { - "details": "Returns the Uniform Resource Identifier (URI) for `tokenId` token." - }, - "transferFrom(address,address,uint256)": { - "details": "Transfers `tokenId` token from `from` to `to`. WARNING: Usage of this method is discouraged, use {safeTransferFrom} whenever possible. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. Emits a {Transfer} event." - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "node_modules/@openzeppelin-solc-0.7/contracts/token/ERC721/IERC721Metadata.sol": "IERC721Metadata" - }, - "libraries": {} - }, - "sources": { - "node_modules/@openzeppelin-solc-0.7/contracts/introspection/IERC165.sol": { - "keccak256": "0xd2f30fad5b24c4120f96dbac83aacdb7993ee610a9092bc23c44463da292bf8d", - "urls": [ - "bzz-raw://e3d4e72409e392c7694b6405a0136cf073d8da016df33ef8f9ad195f724ebfea", - "dweb:/ipfs/QmPGcddKq6CgsiKnxUUif2q76wRqP3dmdQ6bKuHCLmb8Wa" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin-solc-0.7/contracts/token/ERC721/IERC721.sol": { - "keccak256": "0xb11597841d47f7a773bca63ca323c76f804cb5d944788de0327db5526319dc82", - "urls": [ - "bzz-raw://930d2da1934886a1098753be4173dd89c45ca0b306a1930accd37e00b1af4aaf", - "dweb:/ipfs/QmVSXnvEV41d43k8cfpANHoTYMKgBDBL8iCbxkLfEtQZBe" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin-solc-0.7/contracts/token/ERC721/IERC721Metadata.sol": { - "keccak256": "0xc82c7d1d732081d9bd23f1555ebdf8f3bc1738bc42c2bfc4b9aa7564d9fa3573", - "urls": [ - "bzz-raw://5cb07e4ff3352161510a0d1536fe93f3c62526358e073a8bab2a8abbb27d0da1", - "dweb:/ipfs/QmX7K1JjnWKT1JzZT92Qx5zNJQYbssE533TLFHP88hj2fb" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 17 -} +{ "abi": [ { "type": "function", "name": "approve", "inputs": [ { "name": "to", "type": "address", "internalType": "address" }, { "name": "tokenId", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "balanceOf", "inputs": [ { "name": "owner", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "balance", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "getApproved", "inputs": [ { "name": "tokenId", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "operator", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "isApprovedForAll", "inputs": [ { "name": "owner", "type": "address", "internalType": "address" }, { "name": "operator", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "name", "inputs": [], "outputs": [ { "name": "", "type": "string", "internalType": "string" } ], "stateMutability": "view" }, { "type": "function", "name": "ownerOf", "inputs": [ { "name": "tokenId", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "owner", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "safeTransferFrom", "inputs": [ { "name": "from", "type": "address", "internalType": "address" }, { "name": "to", "type": "address", "internalType": "address" }, { "name": "tokenId", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "safeTransferFrom", "inputs": [ { "name": "from", "type": "address", "internalType": "address" }, { "name": "to", "type": "address", "internalType": "address" }, { "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "data", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setApprovalForAll", "inputs": [ { "name": "operator", "type": "address", "internalType": "address" }, { "name": "_approved", "type": "bool", "internalType": "bool" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "supportsInterface", "inputs": [ { "name": "interfaceId", "type": "bytes4", "internalType": "bytes4" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "symbol", "inputs": [], "outputs": [ { "name": "", "type": "string", "internalType": "string" } ], "stateMutability": "view" }, { "type": "function", "name": "tokenURI", "inputs": [ { "name": "tokenId", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "string", "internalType": "string" } ], "stateMutability": "view" }, { "type": "function", "name": "transferFrom", "inputs": [ { "name": "from", "type": "address", "internalType": "address" }, { "name": "to", "type": "address", "internalType": "address" }, { "name": "tokenId", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "event", "name": "Approval", "inputs": [ { "name": "owner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "approved", "type": "address", "indexed": true, "internalType": "address" }, { "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "ApprovalForAll", "inputs": [ { "name": "owner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "operator", "type": "address", "indexed": true, "internalType": "address" }, { "name": "approved", "type": "bool", "indexed": false, "internalType": "bool" } ], "anonymous": false }, { "type": "event", "name": "Transfer", "inputs": [ { "name": "from", "type": "address", "indexed": true, "internalType": "address" }, { "name": "to", "type": "address", "indexed": true, "internalType": "address" }, { "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" } ], "anonymous": false } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "approve(address,uint256)": "095ea7b3", "balanceOf(address)": "70a08231", "getApproved(uint256)": "081812fc", "isApprovedForAll(address,address)": "e985e9c5", "name()": "06fdde03", "ownerOf(uint256)": "6352211e", "safeTransferFrom(address,address,uint256)": "42842e0e", "safeTransferFrom(address,address,uint256,bytes)": "b88d4fde", "setApprovalForAll(address,bool)": "a22cb465", "supportsInterface(bytes4)": "01ffc9a7", "symbol()": "95d89b41", "tokenURI(uint256)": "c87b56dd", "transferFrom(address,address,uint256)": "23b872dd" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.7.6+commit.7338295f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"See https://eips.ethereum.org/EIPS/eip-721\",\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"Gives permission to `to` to transfer `tokenId` token to another account. The approval is cleared when the token is transferred. Only a single account can be approved at a time, so approving the zero address clears previous approvals. Requirements: - The caller must own the token or be an approved operator. - `tokenId` must exist. Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the number of tokens in ``owner``'s account.\"},\"getApproved(uint256)\":{\"details\":\"Returns the account approved for `tokenId` token. Requirements: - `tokenId` must exist.\"},\"isApprovedForAll(address,address)\":{\"details\":\"Returns if the `operator` is allowed to manage all of the assets of `owner`. See {setApprovalForAll}\"},\"name()\":{\"details\":\"Returns the token collection name.\"},\"ownerOf(uint256)\":{\"details\":\"Returns the owner of the `tokenId` token. Requirements: - `tokenId` must exist.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients are aware of the ERC721 protocol to prevent tokens from being forever locked. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be have been allowed to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"Safely transfers `tokenId` token from `from` to `to`. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"Approve or remove `operator` as an operator for the caller. Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller. Requirements: - The `operator` cannot be the caller. Emits an {ApprovalForAll} event.\"},\"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.\"},\"symbol()\":{\"details\":\"Returns the token collection symbol.\"},\"tokenURI(uint256)\":{\"details\":\"Returns the Uniform Resource Identifier (URI) for `tokenId` token.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Transfers `tokenId` token from `from` to `to`. WARNING: Usage of this method is discouraged, use {safeTransferFrom} whenever possible. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. Emits a {Transfer} event.\"}},\"title\":\"ERC-721 Non-Fungible Token Standard, optional metadata extension\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@openzeppelin-solc-0.7/contracts/token/ERC721/IERC721Metadata.sol\":\"IERC721Metadata\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"node_modules/@openzeppelin-solc-0.7/contracts/introspection/IERC165.sol\":{\"keccak256\":\"0xd2f30fad5b24c4120f96dbac83aacdb7993ee610a9092bc23c44463da292bf8d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e3d4e72409e392c7694b6405a0136cf073d8da016df33ef8f9ad195f724ebfea\",\"dweb:/ipfs/QmPGcddKq6CgsiKnxUUif2q76wRqP3dmdQ6bKuHCLmb8Wa\"]},\"node_modules/@openzeppelin-solc-0.7/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0xb11597841d47f7a773bca63ca323c76f804cb5d944788de0327db5526319dc82\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://930d2da1934886a1098753be4173dd89c45ca0b306a1930accd37e00b1af4aaf\",\"dweb:/ipfs/QmVSXnvEV41d43k8cfpANHoTYMKgBDBL8iCbxkLfEtQZBe\"]},\"node_modules/@openzeppelin-solc-0.7/contracts/token/ERC721/IERC721Metadata.sol\":{\"keccak256\":\"0xc82c7d1d732081d9bd23f1555ebdf8f3bc1738bc42c2bfc4b9aa7564d9fa3573\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5cb07e4ff3352161510a0d1536fe93f3c62526358e073a8bab2a8abbb27d0da1\",\"dweb:/ipfs/QmX7K1JjnWKT1JzZT92Qx5zNJQYbssE533TLFHP88hj2fb\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.7.6+commit.7338295f" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "owner", "type": "address", "indexed": true }, { "internalType": "address", "name": "approved", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "tokenId", "type": "uint256", "indexed": true } ], "type": "event", "name": "Approval", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address", "indexed": true }, { "internalType": "address", "name": "operator", "type": "address", "indexed": true }, { "internalType": "bool", "name": "approved", "type": "bool", "indexed": false } ], "type": "event", "name": "ApprovalForAll", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address", "indexed": true }, { "internalType": "address", "name": "to", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "tokenId", "type": "uint256", "indexed": true } ], "type": "event", "name": "Transfer", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "approve" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "balance", "type": "uint256" } ] }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "getApproved", "outputs": [ { "internalType": "address", "name": "operator", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "operator", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "isApprovedForAll", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ] }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "ownerOf", "outputs": [ { "internalType": "address", "name": "owner", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "safeTransferFrom" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" }, { "internalType": "bytes", "name": "data", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "safeTransferFrom" }, { "inputs": [ { "internalType": "address", "name": "operator", "type": "address" }, { "internalType": "bool", "name": "_approved", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function", "name": "setApprovalForAll" }, { "inputs": [ { "internalType": "bytes4", "name": "interfaceId", "type": "bytes4" } ], "stateMutability": "view", "type": "function", "name": "supportsInterface", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ] }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "tokenURI", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ] }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "transferFrom" } ], "devdoc": { "kind": "dev", "methods": { "approve(address,uint256)": { "details": "Gives permission to `to` to transfer `tokenId` token to another account. The approval is cleared when the token is transferred. Only a single account can be approved at a time, so approving the zero address clears previous approvals. Requirements: - The caller must own the token or be an approved operator. - `tokenId` must exist. Emits an {Approval} event." }, "balanceOf(address)": { "details": "Returns the number of tokens in ``owner``'s account." }, "getApproved(uint256)": { "details": "Returns the account approved for `tokenId` token. Requirements: - `tokenId` must exist." }, "isApprovedForAll(address,address)": { "details": "Returns if the `operator` is allowed to manage all of the assets of `owner`. See {setApprovalForAll}" }, "name()": { "details": "Returns the token collection name." }, "ownerOf(uint256)": { "details": "Returns the owner of the `tokenId` token. Requirements: - `tokenId` must exist." }, "safeTransferFrom(address,address,uint256)": { "details": "Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients are aware of the ERC721 protocol to prevent tokens from being forever locked. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be have been allowed to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event." }, "safeTransferFrom(address,address,uint256,bytes)": { "details": "Safely transfers `tokenId` token from `from` to `to`. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event." }, "setApprovalForAll(address,bool)": { "details": "Approve or remove `operator` as an operator for the caller. Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller. Requirements: - The `operator` cannot be the caller. Emits an {ApprovalForAll} event." }, "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." }, "symbol()": { "details": "Returns the token collection symbol." }, "tokenURI(uint256)": { "details": "Returns the Uniform Resource Identifier (URI) for `tokenId` token." }, "transferFrom(address,address,uint256)": { "details": "Transfers `tokenId` token from `from` to `to`. WARNING: Usage of this method is discouraged, use {safeTransferFrom} whenever possible. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. Emits a {Transfer} event." } }, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "node_modules/@openzeppelin-solc-0.7/contracts/token/ERC721/IERC721Metadata.sol": "IERC721Metadata" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "node_modules/@openzeppelin-solc-0.7/contracts/introspection/IERC165.sol": { "keccak256": "0xd2f30fad5b24c4120f96dbac83aacdb7993ee610a9092bc23c44463da292bf8d", "urls": [ "bzz-raw://e3d4e72409e392c7694b6405a0136cf073d8da016df33ef8f9ad195f724ebfea", "dweb:/ipfs/QmPGcddKq6CgsiKnxUUif2q76wRqP3dmdQ6bKuHCLmb8Wa" ], "license": "MIT" }, "node_modules/@openzeppelin-solc-0.7/contracts/token/ERC721/IERC721.sol": { "keccak256": "0xb11597841d47f7a773bca63ca323c76f804cb5d944788de0327db5526319dc82", "urls": [ "bzz-raw://930d2da1934886a1098753be4173dd89c45ca0b306a1930accd37e00b1af4aaf", "dweb:/ipfs/QmVSXnvEV41d43k8cfpANHoTYMKgBDBL8iCbxkLfEtQZBe" ], "license": "MIT" }, "node_modules/@openzeppelin-solc-0.7/contracts/token/ERC721/IERC721Metadata.sol": { "keccak256": "0xc82c7d1d732081d9bd23f1555ebdf8f3bc1738bc42c2bfc4b9aa7564d9fa3573", "urls": [ "bzz-raw://5cb07e4ff3352161510a0d1536fe93f3c62526358e073a8bab2a8abbb27d0da1", "dweb:/ipfs/QmX7K1JjnWKT1JzZT92Qx5zNJQYbssE533TLFHP88hj2fb" ], "license": "MIT" } }, "version": 1 }, "id": 17 } diff --git a/eth_defi/abi/enzyme/IERC721Permit.json b/eth_defi/abi/enzyme/IERC721Permit.json index 9ce69f04..387710c5 100644 --- a/eth_defi/abi/enzyme/IERC721Permit.json +++ b/eth_defi/abi/enzyme/IERC721Permit.json @@ -1,863 +1 @@ -{ - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "approved", - "type": "address" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "operator", - "type": "address" - }, - { - "indexed": false, - "internalType": "bool", - "name": "approved", - "type": "bool" - } - ], - "name": "ApprovalForAll", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "inputs": [], - "name": "DOMAIN_SEPARATOR", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "PERMIT_TYPEHASH", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "balance", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "getApproved", - "outputs": [ - { - "internalType": "address", - "name": "operator", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "operator", - "type": "address" - } - ], - "name": "isApprovedForAll", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "ownerOf", - "outputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "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": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "safeTransferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "safeTransferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "operator", - "type": "address" - }, - { - "internalType": "bool", - "name": "_approved", - "type": "bool" - } - ], - "name": "setApprovalForAll", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "DOMAIN_SEPARATOR()": "3644e515", - "PERMIT_TYPEHASH()": "30adf81f", - "approve(address,uint256)": "095ea7b3", - "balanceOf(address)": "70a08231", - "getApproved(uint256)": "081812fc", - "isApprovedForAll(address,address)": "e985e9c5", - "ownerOf(uint256)": "6352211e", - "permit(address,uint256,uint256,uint8,bytes32,bytes32)": "7ac2ff7b", - "safeTransferFrom(address,address,uint256)": "42842e0e", - "safeTransferFrom(address,address,uint256,bytes)": "b88d4fde", - "setApprovalForAll(address,bool)": "a22cb465", - "supportsInterface(bytes4)": "01ffc9a7", - "transferFrom(address,address,uint256)": "23b872dd" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.7.6+commit.7338295f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"PERMIT_TYPEHASH\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"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\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"DOMAIN_SEPARATOR()\":{\"returns\":{\"_0\":\"The domain seperator used in encoding of permit signature\"}},\"PERMIT_TYPEHASH()\":{\"returns\":{\"_0\":\"The typehash for the permit\"}},\"approve(address,uint256)\":{\"details\":\"Gives permission to `to` to transfer `tokenId` token to another account. The approval is cleared when the token is transferred. Only a single account can be approved at a time, so approving the zero address clears previous approvals. Requirements: - The caller must own the token or be an approved operator. - `tokenId` must exist. Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the number of tokens in ``owner``'s account.\"},\"getApproved(uint256)\":{\"details\":\"Returns the account approved for `tokenId` token. Requirements: - `tokenId` must exist.\"},\"isApprovedForAll(address,address)\":{\"details\":\"Returns if the `operator` is allowed to manage all of the assets of `owner`. See {setApprovalForAll}\"},\"ownerOf(uint256)\":{\"details\":\"Returns the owner of the `tokenId` token. Requirements: - `tokenId` must exist.\"},\"permit(address,uint256,uint256,uint8,bytes32,bytes32)\":{\"params\":{\"deadline\":\"The deadline timestamp by which the call must be mined for the approve to work\",\"r\":\"Must produce valid secp256k1 signature from the holder along with `v` and `s`\",\"s\":\"Must produce valid secp256k1 signature from the holder along with `r` and `v`\",\"spender\":\"The account that is being approved\",\"tokenId\":\"The ID of the token that is being approved for spending\",\"v\":\"Must produce valid secp256k1 signature from the holder along with `r` and `s`\"}},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients are aware of the ERC721 protocol to prevent tokens from being forever locked. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be have been allowed to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"Safely transfers `tokenId` token from `from` to `to`. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"Approve or remove `operator` as an operator for the caller. Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller. Requirements: - The `operator` cannot be the caller. Emits an {ApprovalForAll} event.\"},\"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.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Transfers `tokenId` token from `from` to `to`. WARNING: Usage of this method is discouraged, use {safeTransferFrom} whenever possible. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. Emits a {Transfer} event.\"}},\"title\":\"ERC721 with permit\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"DOMAIN_SEPARATOR()\":{\"notice\":\"The domain separator used in the permit signature\"},\"PERMIT_TYPEHASH()\":{\"notice\":\"The permit typehash used in the permit signature\"},\"permit(address,uint256,uint256,uint8,bytes32,bytes32)\":{\"notice\":\"Approve of a specific token ID for spending by spender via signature\"}},\"notice\":\"Extension to ERC721 that includes a permit function for signature based approvals\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@uniswap/v3-periphery/contracts/interfaces/IERC721Permit.sol\":\"IERC721Permit\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"node_modules/@openzeppelin/contracts/introspection/IERC165.sol\":{\"keccak256\":\"0xf70bc25d981e4ec9673a995ad2995d5d493ea188d3d8f388bba9c227ce09fb82\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd970f51e3a77790c2f02b5b1759827c3b897c3d98c407b3631e8af32e3dc93c\",\"dweb:/ipfs/QmPF85Amgbqjk3SNZKsPCsqCw8JfwYEPMnnhvMJUyX58je\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x2d99a0deb6648c34fbc66d6ac4a2d64798d7a5321b45624f6736fadc63da1962\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2dcdce5ede1e5e650d174ec0b35be7d47b6a50f30bc895ef0d9e59fb75052e45\",\"dweb:/ipfs/QmQ2XFsDLTYqfEdw7pYzHiGtFRY11yQm4b6ynYgKqDxeB8\"]},\"node_modules/@uniswap/v3-periphery/contracts/interfaces/IERC721Permit.sol\":{\"keccak256\":\"0x9e3c2a4ee65ddf95b2dfcb0815784eea3a295707e6f8b83e4c4f0f8fe2e3a1d4\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://bfd939085b3618101b955f87c7fabf38338ba1aad480295acb8102ebc5d72471\",\"dweb:/ipfs/QmauQD8bGDHTztmTDfaKXjzM7Wacrq2XU7VcTbwn1WrDBL\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.7.6+commit.7338295f" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "approved", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256", - "indexed": true - } - ], - "type": "event", - "name": "Approval", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "operator", - "type": "address", - "indexed": true - }, - { - "internalType": "bool", - "name": "approved", - "type": "bool", - "indexed": false - } - ], - "type": "event", - "name": "ApprovalForAll", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "to", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256", - "indexed": true - } - ], - "type": "event", - "name": "Transfer", - "anonymous": false - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "DOMAIN_SEPARATOR", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ] - }, - { - "inputs": [], - "stateMutability": "pure", - "type": "function", - "name": "PERMIT_TYPEHASH", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "approve" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "balance", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getApproved", - "outputs": [ - { - "internalType": "address", - "name": "operator", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "operator", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "isApprovedForAll", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "ownerOf", - "outputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "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" - } - ], - "stateMutability": "payable", - "type": "function", - "name": "permit" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "safeTransferFrom" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "safeTransferFrom" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "operator", - "type": "address" - }, - { - "internalType": "bool", - "name": "_approved", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setApprovalForAll" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function", - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "transferFrom" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "DOMAIN_SEPARATOR()": { - "returns": { - "_0": "The domain seperator used in encoding of permit signature" - } - }, - "PERMIT_TYPEHASH()": { - "returns": { - "_0": "The typehash for the permit" - } - }, - "approve(address,uint256)": { - "details": "Gives permission to `to` to transfer `tokenId` token to another account. The approval is cleared when the token is transferred. Only a single account can be approved at a time, so approving the zero address clears previous approvals. Requirements: - The caller must own the token or be an approved operator. - `tokenId` must exist. Emits an {Approval} event." - }, - "balanceOf(address)": { - "details": "Returns the number of tokens in ``owner``'s account." - }, - "getApproved(uint256)": { - "details": "Returns the account approved for `tokenId` token. Requirements: - `tokenId` must exist." - }, - "isApprovedForAll(address,address)": { - "details": "Returns if the `operator` is allowed to manage all of the assets of `owner`. See {setApprovalForAll}" - }, - "ownerOf(uint256)": { - "details": "Returns the owner of the `tokenId` token. Requirements: - `tokenId` must exist." - }, - "permit(address,uint256,uint256,uint8,bytes32,bytes32)": { - "params": { - "deadline": "The deadline timestamp by which the call must be mined for the approve to work", - "r": "Must produce valid secp256k1 signature from the holder along with `v` and `s`", - "s": "Must produce valid secp256k1 signature from the holder along with `r` and `v`", - "spender": "The account that is being approved", - "tokenId": "The ID of the token that is being approved for spending", - "v": "Must produce valid secp256k1 signature from the holder along with `r` and `s`" - } - }, - "safeTransferFrom(address,address,uint256)": { - "details": "Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients are aware of the ERC721 protocol to prevent tokens from being forever locked. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be have been allowed to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event." - }, - "safeTransferFrom(address,address,uint256,bytes)": { - "details": "Safely transfers `tokenId` token from `from` to `to`. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event." - }, - "setApprovalForAll(address,bool)": { - "details": "Approve or remove `operator` as an operator for the caller. Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller. Requirements: - The `operator` cannot be the caller. Emits an {ApprovalForAll} event." - }, - "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." - }, - "transferFrom(address,address,uint256)": { - "details": "Transfers `tokenId` token from `from` to `to`. WARNING: Usage of this method is discouraged, use {safeTransferFrom} whenever possible. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. Emits a {Transfer} event." - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "DOMAIN_SEPARATOR()": { - "notice": "The domain separator used in the permit signature" - }, - "PERMIT_TYPEHASH()": { - "notice": "The permit typehash used in the permit signature" - }, - "permit(address,uint256,uint256,uint8,bytes32,bytes32)": { - "notice": "Approve of a specific token ID for spending by spender via signature" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "node_modules/@uniswap/v3-periphery/contracts/interfaces/IERC721Permit.sol": "IERC721Permit" - }, - "libraries": {} - }, - "sources": { - "node_modules/@openzeppelin/contracts/introspection/IERC165.sol": { - "keccak256": "0xf70bc25d981e4ec9673a995ad2995d5d493ea188d3d8f388bba9c227ce09fb82", - "urls": [ - "bzz-raw://bd970f51e3a77790c2f02b5b1759827c3b897c3d98c407b3631e8af32e3dc93c", - "dweb:/ipfs/QmPF85Amgbqjk3SNZKsPCsqCw8JfwYEPMnnhvMJUyX58je" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol": { - "keccak256": "0x2d99a0deb6648c34fbc66d6ac4a2d64798d7a5321b45624f6736fadc63da1962", - "urls": [ - "bzz-raw://2dcdce5ede1e5e650d174ec0b35be7d47b6a50f30bc895ef0d9e59fb75052e45", - "dweb:/ipfs/QmQ2XFsDLTYqfEdw7pYzHiGtFRY11yQm4b6ynYgKqDxeB8" - ], - "license": "MIT" - }, - "node_modules/@uniswap/v3-periphery/contracts/interfaces/IERC721Permit.sol": { - "keccak256": "0x9e3c2a4ee65ddf95b2dfcb0815784eea3a295707e6f8b83e4c4f0f8fe2e3a1d4", - "urls": [ - "bzz-raw://bfd939085b3618101b955f87c7fabf38338ba1aad480295acb8102ebc5d72471", - "dweb:/ipfs/QmauQD8bGDHTztmTDfaKXjzM7Wacrq2XU7VcTbwn1WrDBL" - ], - "license": "GPL-2.0-or-later" - } - }, - "version": 1 - }, - "id": 43 -} +{ "abi": [ { "type": "function", "name": "DOMAIN_SEPARATOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes32", "internalType": "bytes32" } ], "stateMutability": "view" }, { "type": "function", "name": "PERMIT_TYPEHASH", "inputs": [], "outputs": [ { "name": "", "type": "bytes32", "internalType": "bytes32" } ], "stateMutability": "pure" }, { "type": "function", "name": "approve", "inputs": [ { "name": "to", "type": "address", "internalType": "address" }, { "name": "tokenId", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "balanceOf", "inputs": [ { "name": "owner", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "balance", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "getApproved", "inputs": [ { "name": "tokenId", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "operator", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "isApprovedForAll", "inputs": [ { "name": "owner", "type": "address", "internalType": "address" }, { "name": "operator", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "ownerOf", "inputs": [ { "name": "tokenId", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "owner", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "permit", "inputs": [ { "name": "spender", "type": "address", "internalType": "address" }, { "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "deadline", "type": "uint256", "internalType": "uint256" }, { "name": "v", "type": "uint8", "internalType": "uint8" }, { "name": "r", "type": "bytes32", "internalType": "bytes32" }, { "name": "s", "type": "bytes32", "internalType": "bytes32" } ], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "safeTransferFrom", "inputs": [ { "name": "from", "type": "address", "internalType": "address" }, { "name": "to", "type": "address", "internalType": "address" }, { "name": "tokenId", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "safeTransferFrom", "inputs": [ { "name": "from", "type": "address", "internalType": "address" }, { "name": "to", "type": "address", "internalType": "address" }, { "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "data", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setApprovalForAll", "inputs": [ { "name": "operator", "type": "address", "internalType": "address" }, { "name": "_approved", "type": "bool", "internalType": "bool" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "supportsInterface", "inputs": [ { "name": "interfaceId", "type": "bytes4", "internalType": "bytes4" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "transferFrom", "inputs": [ { "name": "from", "type": "address", "internalType": "address" }, { "name": "to", "type": "address", "internalType": "address" }, { "name": "tokenId", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "event", "name": "Approval", "inputs": [ { "name": "owner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "approved", "type": "address", "indexed": true, "internalType": "address" }, { "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "ApprovalForAll", "inputs": [ { "name": "owner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "operator", "type": "address", "indexed": true, "internalType": "address" }, { "name": "approved", "type": "bool", "indexed": false, "internalType": "bool" } ], "anonymous": false }, { "type": "event", "name": "Transfer", "inputs": [ { "name": "from", "type": "address", "indexed": true, "internalType": "address" }, { "name": "to", "type": "address", "indexed": true, "internalType": "address" }, { "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" } ], "anonymous": false } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "DOMAIN_SEPARATOR()": "3644e515", "PERMIT_TYPEHASH()": "30adf81f", "approve(address,uint256)": "095ea7b3", "balanceOf(address)": "70a08231", "getApproved(uint256)": "081812fc", "isApprovedForAll(address,address)": "e985e9c5", "ownerOf(uint256)": "6352211e", "permit(address,uint256,uint256,uint8,bytes32,bytes32)": "7ac2ff7b", "safeTransferFrom(address,address,uint256)": "42842e0e", "safeTransferFrom(address,address,uint256,bytes)": "b88d4fde", "setApprovalForAll(address,bool)": "a22cb465", "supportsInterface(bytes4)": "01ffc9a7", "transferFrom(address,address,uint256)": "23b872dd" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.7.6+commit.7338295f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"PERMIT_TYPEHASH\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"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\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"DOMAIN_SEPARATOR()\":{\"returns\":{\"_0\":\"The domain seperator used in encoding of permit signature\"}},\"PERMIT_TYPEHASH()\":{\"returns\":{\"_0\":\"The typehash for the permit\"}},\"approve(address,uint256)\":{\"details\":\"Gives permission to `to` to transfer `tokenId` token to another account. The approval is cleared when the token is transferred. Only a single account can be approved at a time, so approving the zero address clears previous approvals. Requirements: - The caller must own the token or be an approved operator. - `tokenId` must exist. Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the number of tokens in ``owner``'s account.\"},\"getApproved(uint256)\":{\"details\":\"Returns the account approved for `tokenId` token. Requirements: - `tokenId` must exist.\"},\"isApprovedForAll(address,address)\":{\"details\":\"Returns if the `operator` is allowed to manage all of the assets of `owner`. See {setApprovalForAll}\"},\"ownerOf(uint256)\":{\"details\":\"Returns the owner of the `tokenId` token. Requirements: - `tokenId` must exist.\"},\"permit(address,uint256,uint256,uint8,bytes32,bytes32)\":{\"params\":{\"deadline\":\"The deadline timestamp by which the call must be mined for the approve to work\",\"r\":\"Must produce valid secp256k1 signature from the holder along with `v` and `s`\",\"s\":\"Must produce valid secp256k1 signature from the holder along with `r` and `v`\",\"spender\":\"The account that is being approved\",\"tokenId\":\"The ID of the token that is being approved for spending\",\"v\":\"Must produce valid secp256k1 signature from the holder along with `r` and `s`\"}},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients are aware of the ERC721 protocol to prevent tokens from being forever locked. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be have been allowed to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"Safely transfers `tokenId` token from `from` to `to`. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"Approve or remove `operator` as an operator for the caller. Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller. Requirements: - The `operator` cannot be the caller. Emits an {ApprovalForAll} event.\"},\"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.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Transfers `tokenId` token from `from` to `to`. WARNING: Usage of this method is discouraged, use {safeTransferFrom} whenever possible. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. Emits a {Transfer} event.\"}},\"title\":\"ERC721 with permit\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"DOMAIN_SEPARATOR()\":{\"notice\":\"The domain separator used in the permit signature\"},\"PERMIT_TYPEHASH()\":{\"notice\":\"The permit typehash used in the permit signature\"},\"permit(address,uint256,uint256,uint8,bytes32,bytes32)\":{\"notice\":\"Approve of a specific token ID for spending by spender via signature\"}},\"notice\":\"Extension to ERC721 that includes a permit function for signature based approvals\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@uniswap/v3-periphery/contracts/interfaces/IERC721Permit.sol\":\"IERC721Permit\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"node_modules/@openzeppelin/contracts/introspection/IERC165.sol\":{\"keccak256\":\"0xf70bc25d981e4ec9673a995ad2995d5d493ea188d3d8f388bba9c227ce09fb82\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd970f51e3a77790c2f02b5b1759827c3b897c3d98c407b3631e8af32e3dc93c\",\"dweb:/ipfs/QmPF85Amgbqjk3SNZKsPCsqCw8JfwYEPMnnhvMJUyX58je\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x2d99a0deb6648c34fbc66d6ac4a2d64798d7a5321b45624f6736fadc63da1962\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2dcdce5ede1e5e650d174ec0b35be7d47b6a50f30bc895ef0d9e59fb75052e45\",\"dweb:/ipfs/QmQ2XFsDLTYqfEdw7pYzHiGtFRY11yQm4b6ynYgKqDxeB8\"]},\"node_modules/@uniswap/v3-periphery/contracts/interfaces/IERC721Permit.sol\":{\"keccak256\":\"0x9e3c2a4ee65ddf95b2dfcb0815784eea3a295707e6f8b83e4c4f0f8fe2e3a1d4\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://bfd939085b3618101b955f87c7fabf38338ba1aad480295acb8102ebc5d72471\",\"dweb:/ipfs/QmauQD8bGDHTztmTDfaKXjzM7Wacrq2XU7VcTbwn1WrDBL\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.7.6+commit.7338295f" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "owner", "type": "address", "indexed": true }, { "internalType": "address", "name": "approved", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "tokenId", "type": "uint256", "indexed": true } ], "type": "event", "name": "Approval", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address", "indexed": true }, { "internalType": "address", "name": "operator", "type": "address", "indexed": true }, { "internalType": "bool", "name": "approved", "type": "bool", "indexed": false } ], "type": "event", "name": "ApprovalForAll", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address", "indexed": true }, { "internalType": "address", "name": "to", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "tokenId", "type": "uint256", "indexed": true } ], "type": "event", "name": "Transfer", "anonymous": false }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "DOMAIN_SEPARATOR", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ] }, { "inputs": [], "stateMutability": "pure", "type": "function", "name": "PERMIT_TYPEHASH", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ] }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "approve" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "balance", "type": "uint256" } ] }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "getApproved", "outputs": [ { "internalType": "address", "name": "operator", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "operator", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "isApprovedForAll", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "ownerOf", "outputs": [ { "internalType": "address", "name": "owner", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "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" } ], "stateMutability": "payable", "type": "function", "name": "permit" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "safeTransferFrom" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" }, { "internalType": "bytes", "name": "data", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "safeTransferFrom" }, { "inputs": [ { "internalType": "address", "name": "operator", "type": "address" }, { "internalType": "bool", "name": "_approved", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function", "name": "setApprovalForAll" }, { "inputs": [ { "internalType": "bytes4", "name": "interfaceId", "type": "bytes4" } ], "stateMutability": "view", "type": "function", "name": "supportsInterface", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "transferFrom" } ], "devdoc": { "kind": "dev", "methods": { "DOMAIN_SEPARATOR()": { "returns": { "_0": "The domain seperator used in encoding of permit signature" } }, "PERMIT_TYPEHASH()": { "returns": { "_0": "The typehash for the permit" } }, "approve(address,uint256)": { "details": "Gives permission to `to` to transfer `tokenId` token to another account. The approval is cleared when the token is transferred. Only a single account can be approved at a time, so approving the zero address clears previous approvals. Requirements: - The caller must own the token or be an approved operator. - `tokenId` must exist. Emits an {Approval} event." }, "balanceOf(address)": { "details": "Returns the number of tokens in ``owner``'s account." }, "getApproved(uint256)": { "details": "Returns the account approved for `tokenId` token. Requirements: - `tokenId` must exist." }, "isApprovedForAll(address,address)": { "details": "Returns if the `operator` is allowed to manage all of the assets of `owner`. See {setApprovalForAll}" }, "ownerOf(uint256)": { "details": "Returns the owner of the `tokenId` token. Requirements: - `tokenId` must exist." }, "permit(address,uint256,uint256,uint8,bytes32,bytes32)": { "params": { "deadline": "The deadline timestamp by which the call must be mined for the approve to work", "r": "Must produce valid secp256k1 signature from the holder along with `v` and `s`", "s": "Must produce valid secp256k1 signature from the holder along with `r` and `v`", "spender": "The account that is being approved", "tokenId": "The ID of the token that is being approved for spending", "v": "Must produce valid secp256k1 signature from the holder along with `r` and `s`" } }, "safeTransferFrom(address,address,uint256)": { "details": "Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients are aware of the ERC721 protocol to prevent tokens from being forever locked. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be have been allowed to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event." }, "safeTransferFrom(address,address,uint256,bytes)": { "details": "Safely transfers `tokenId` token from `from` to `to`. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event." }, "setApprovalForAll(address,bool)": { "details": "Approve or remove `operator` as an operator for the caller. Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller. Requirements: - The `operator` cannot be the caller. Emits an {ApprovalForAll} event." }, "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." }, "transferFrom(address,address,uint256)": { "details": "Transfers `tokenId` token from `from` to `to`. WARNING: Usage of this method is discouraged, use {safeTransferFrom} whenever possible. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. Emits a {Transfer} event." } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "DOMAIN_SEPARATOR()": { "notice": "The domain separator used in the permit signature" }, "PERMIT_TYPEHASH()": { "notice": "The permit typehash used in the permit signature" }, "permit(address,uint256,uint256,uint8,bytes32,bytes32)": { "notice": "Approve of a specific token ID for spending by spender via signature" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "node_modules/@uniswap/v3-periphery/contracts/interfaces/IERC721Permit.sol": "IERC721Permit" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "node_modules/@openzeppelin/contracts/introspection/IERC165.sol": { "keccak256": "0xf70bc25d981e4ec9673a995ad2995d5d493ea188d3d8f388bba9c227ce09fb82", "urls": [ "bzz-raw://bd970f51e3a77790c2f02b5b1759827c3b897c3d98c407b3631e8af32e3dc93c", "dweb:/ipfs/QmPF85Amgbqjk3SNZKsPCsqCw8JfwYEPMnnhvMJUyX58je" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol": { "keccak256": "0x2d99a0deb6648c34fbc66d6ac4a2d64798d7a5321b45624f6736fadc63da1962", "urls": [ "bzz-raw://2dcdce5ede1e5e650d174ec0b35be7d47b6a50f30bc895ef0d9e59fb75052e45", "dweb:/ipfs/QmQ2XFsDLTYqfEdw7pYzHiGtFRY11yQm4b6ynYgKqDxeB8" ], "license": "MIT" }, "node_modules/@uniswap/v3-periphery/contracts/interfaces/IERC721Permit.sol": { "keccak256": "0x9e3c2a4ee65ddf95b2dfcb0815784eea3a295707e6f8b83e4c4f0f8fe2e3a1d4", "urls": [ "bzz-raw://bfd939085b3618101b955f87c7fabf38338ba1aad480295acb8102ebc5d72471", "dweb:/ipfs/QmauQD8bGDHTztmTDfaKXjzM7Wacrq2XU7VcTbwn1WrDBL" ], "license": "GPL-2.0-or-later" } }, "version": 1 }, "id": 43 } diff --git a/eth_defi/abi/enzyme/IERC721Receiver.json b/eth_defi/abi/enzyme/IERC721Receiver.json index 992e345f..b9b58953 100644 --- a/eth_defi/abi/enzyme/IERC721Receiver.json +++ b/eth_defi/abi/enzyme/IERC721Receiver.json @@ -1,154 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "operator", - "type": "address" - }, - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "onERC721Received", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "onERC721Received(address,address,uint256,bytes)": "150b7a02" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.7.6+commit.7338295f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"onERC721Received\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface for any contract that wants to support safeTransfers from ERC721 asset contracts.\",\"kind\":\"dev\",\"methods\":{\"onERC721Received(address,address,uint256,bytes)\":{\"details\":\"Whenever an {IERC721} `tokenId` token is transferred to this contract via {IERC721-safeTransferFrom} by `operator` from `from`, this function is called. It must return its Solidity selector to confirm the token transfer. If any other value is returned or the interface is not implemented by the recipient, the transfer will be reverted. The selector can be obtained in Solidity with `IERC721.onERC721Received.selector`.\"}},\"title\":\"ERC721 token receiver interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@openzeppelin-solc-0.7/contracts/token/ERC721/IERC721Receiver.sol\":\"IERC721Receiver\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"node_modules/@openzeppelin-solc-0.7/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0x05604ffcf69e416b8a42728bb0e4fd75170d8fac70bf1a284afeb4752a9bc52f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8a7fd1043372336ecccdbcbcf4962c6df8958dc9c7c7f8361fc2b3dd23570cc\",\"dweb:/ipfs/QmYHKgZxnanBfu7Q8ZicVhDDuB7XRGxuwvmCjfQQ1E5j39\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.7.6+commit.7338295f" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "operator", - "type": "address" - }, - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "onERC721Received", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "onERC721Received(address,address,uint256,bytes)": { - "details": "Whenever an {IERC721} `tokenId` token is transferred to this contract via {IERC721-safeTransferFrom} by `operator` from `from`, this function is called. It must return its Solidity selector to confirm the token transfer. If any other value is returned or the interface is not implemented by the recipient, the transfer will be reverted. The selector can be obtained in Solidity with `IERC721.onERC721Received.selector`." - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "node_modules/@openzeppelin-solc-0.7/contracts/token/ERC721/IERC721Receiver.sol": "IERC721Receiver" - }, - "libraries": {} - }, - "sources": { - "node_modules/@openzeppelin-solc-0.7/contracts/token/ERC721/IERC721Receiver.sol": { - "keccak256": "0x05604ffcf69e416b8a42728bb0e4fd75170d8fac70bf1a284afeb4752a9bc52f", - "urls": [ - "bzz-raw://a8a7fd1043372336ecccdbcbcf4962c6df8958dc9c7c7f8361fc2b3dd23570cc", - "dweb:/ipfs/QmYHKgZxnanBfu7Q8ZicVhDDuB7XRGxuwvmCjfQQ1E5j39" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 18 -} +{ "abi": [ { "type": "function", "name": "onERC721Received", "inputs": [ { "name": "operator", "type": "address", "internalType": "address" }, { "name": "from", "type": "address", "internalType": "address" }, { "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "data", "type": "bytes", "internalType": "bytes" } ], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "onERC721Received(address,address,uint256,bytes)": "150b7a02" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.7.6+commit.7338295f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"onERC721Received\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface for any contract that wants to support safeTransfers from ERC721 asset contracts.\",\"kind\":\"dev\",\"methods\":{\"onERC721Received(address,address,uint256,bytes)\":{\"details\":\"Whenever an {IERC721} `tokenId` token is transferred to this contract via {IERC721-safeTransferFrom} by `operator` from `from`, this function is called. It must return its Solidity selector to confirm the token transfer. If any other value is returned or the interface is not implemented by the recipient, the transfer will be reverted. The selector can be obtained in Solidity with `IERC721.onERC721Received.selector`.\"}},\"title\":\"ERC721 token receiver interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@openzeppelin-solc-0.7/contracts/token/ERC721/IERC721Receiver.sol\":\"IERC721Receiver\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"node_modules/@openzeppelin-solc-0.7/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0x05604ffcf69e416b8a42728bb0e4fd75170d8fac70bf1a284afeb4752a9bc52f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8a7fd1043372336ecccdbcbcf4962c6df8958dc9c7c7f8361fc2b3dd23570cc\",\"dweb:/ipfs/QmYHKgZxnanBfu7Q8ZicVhDDuB7XRGxuwvmCjfQQ1E5j39\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.7.6+commit.7338295f" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "operator", "type": "address" }, { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" }, { "internalType": "bytes", "name": "data", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "onERC721Received", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] } ], "devdoc": { "kind": "dev", "methods": { "onERC721Received(address,address,uint256,bytes)": { "details": "Whenever an {IERC721} `tokenId` token is transferred to this contract via {IERC721-safeTransferFrom} by `operator` from `from`, this function is called. It must return its Solidity selector to confirm the token transfer. If any other value is returned or the interface is not implemented by the recipient, the transfer will be reverted. The selector can be obtained in Solidity with `IERC721.onERC721Received.selector`." } }, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "node_modules/@openzeppelin-solc-0.7/contracts/token/ERC721/IERC721Receiver.sol": "IERC721Receiver" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "node_modules/@openzeppelin-solc-0.7/contracts/token/ERC721/IERC721Receiver.sol": { "keccak256": "0x05604ffcf69e416b8a42728bb0e4fd75170d8fac70bf1a284afeb4752a9bc52f", "urls": [ "bzz-raw://a8a7fd1043372336ecccdbcbcf4962c6df8958dc9c7c7f8361fc2b3dd23570cc", "dweb:/ipfs/QmYHKgZxnanBfu7Q8ZicVhDDuB7XRGxuwvmCjfQQ1E5j39" ], "license": "MIT" } }, "version": 1 }, "id": 18 } diff --git a/eth_defi/abi/enzyme/IExtension.json b/eth_defi/abi/enzyme/IExtension.json index a25655e7..410a4c16 100644 --- a/eth_defi/abi/enzyme/IExtension.json +++ b/eth_defi/abi/enzyme/IExtension.json @@ -1,213 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "bool", - "name": "_isMigration", - "type": "bool" - } - ], - "name": "activateForFund", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "deactivateForFund", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_caller", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_actionId", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_callArgs", - "type": "bytes" - } - ], - "name": "receiveCallFromComptroller", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_configData", - "type": "bytes" - } - ], - "name": "setConfigForFund", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "activateForFund(bool)": "80d57063", - "deactivateForFund()": "bd8e959a", - "receiveCallFromComptroller(address,uint256,bytes)": "1bee801e", - "setConfigForFund(address,address,bytes)": "f067cc11" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"_isMigration\",\"type\":\"bool\"}],\"name\":\"activateForFund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"deactivateForFund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_caller\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_actionId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_callArgs\",\"type\":\"bytes\"}],\"name\":\"receiveCallFromComptroller\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_configData\",\"type\":\"bytes\"}],\"name\":\"setConfigForFund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IExtension Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Interface for all extensions\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/IExtension.sol\":\"IExtension\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/IExtension.sol\":{\"keccak256\":\"0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70\",\"dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "bool", - "name": "_isMigration", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "activateForFund" - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "deactivateForFund" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_caller", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_actionId", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_callArgs", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "receiveCallFromComptroller" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_configData", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setConfigForFund" - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/IExtension.sol": "IExtension" - }, - "libraries": {} - }, - "sources": { - "contracts/release/extensions/IExtension.sol": { - "keccak256": "0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b", - "urls": [ - "bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70", - "dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 84 -} +{ "abi": [ { "type": "function", "name": "activateForFund", "inputs": [ { "name": "_isMigration", "type": "bool", "internalType": "bool" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "deactivateForFund", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "receiveCallFromComptroller", "inputs": [ { "name": "_caller", "type": "address", "internalType": "address" }, { "name": "_actionId", "type": "uint256", "internalType": "uint256" }, { "name": "_callArgs", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setConfigForFund", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" }, { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_configData", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "activateForFund(bool)": "80d57063", "deactivateForFund()": "bd8e959a", "receiveCallFromComptroller(address,uint256,bytes)": "1bee801e", "setConfigForFund(address,address,bytes)": "f067cc11" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"_isMigration\",\"type\":\"bool\"}],\"name\":\"activateForFund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"deactivateForFund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_caller\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_actionId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_callArgs\",\"type\":\"bytes\"}],\"name\":\"receiveCallFromComptroller\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_configData\",\"type\":\"bytes\"}],\"name\":\"setConfigForFund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IExtension Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Interface for all extensions\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/IExtension.sol\":\"IExtension\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/IExtension.sol\":{\"keccak256\":\"0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70\",\"dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "bool", "name": "_isMigration", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function", "name": "activateForFund" }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "deactivateForFund" }, { "inputs": [ { "internalType": "address", "name": "_caller", "type": "address" }, { "internalType": "uint256", "name": "_actionId", "type": "uint256" }, { "internalType": "bytes", "name": "_callArgs", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "receiveCallFromComptroller" }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" }, { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "bytes", "name": "_configData", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "setConfigForFund" } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/IExtension.sol": "IExtension" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/extensions/IExtension.sol": { "keccak256": "0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b", "urls": [ "bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70", "dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 84 } diff --git a/eth_defi/abi/enzyme/IExternalPosition.json b/eth_defi/abi/enzyme/IExternalPosition.json index b0ac6f15..8357e63e 100644 --- a/eth_defi/abi/enzyme/IExternalPosition.json +++ b/eth_defi/abi/enzyme/IExternalPosition.json @@ -1,207 +1 @@ -{ - "abi": [ - { - "inputs": [], - "name": "getDebtAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getManagedAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "init", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "receiveCallFromVault", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "getDebtAssets()": "ecd658b4", - "getManagedAssets()": "80daddb8", - "init(bytes)": "4ddf47d4", - "receiveCallFromVault(bytes)": "e5c23a97" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"getDebtAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getManagedAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"receiveCallFromVault\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IExternalPosition Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/external-positions/IExternalPosition.sol\":\"IExternalPosition\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "getDebtAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ] - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "getManagedAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "init" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "receiveCallFromVault" - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/persistent/external-positions/IExternalPosition.sol": "IExternalPosition" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/external-positions/IExternalPosition.sol": { - "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", - "urls": [ - "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", - "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 25 -} +{ "abi": [ { "type": "function", "name": "getDebtAssets", "inputs": [], "outputs": [ { "name": "", "type": "address[]", "internalType": "address[]" }, { "name": "", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "getManagedAssets", "inputs": [], "outputs": [ { "name": "", "type": "address[]", "internalType": "address[]" }, { "name": "", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "init", "inputs": [ { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "receiveCallFromVault", "inputs": [ { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "getDebtAssets()": "ecd658b4", "getManagedAssets()": "80daddb8", "init(bytes)": "4ddf47d4", "receiveCallFromVault(bytes)": "e5c23a97" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"getDebtAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getManagedAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"receiveCallFromVault\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IExternalPosition Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/external-positions/IExternalPosition.sol\":\"IExternalPosition\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "getDebtAssets", "outputs": [ { "internalType": "address[]", "name": "", "type": "address[]" }, { "internalType": "uint256[]", "name": "", "type": "uint256[]" } ] }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "getManagedAssets", "outputs": [ { "internalType": "address[]", "name": "", "type": "address[]" }, { "internalType": "uint256[]", "name": "", "type": "uint256[]" } ] }, { "inputs": [ { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "init" }, { "inputs": [ { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "receiveCallFromVault" } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/persistent/external-positions/IExternalPosition.sol": "IExternalPosition" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/external-positions/IExternalPosition.sol": { "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", "urls": [ "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 25 } diff --git a/eth_defi/abi/enzyme/IExternalPositionManager.json b/eth_defi/abi/enzyme/IExternalPositionManager.json index 8c325d85..15b43c18 100644 --- a/eth_defi/abi/enzyme/IExternalPositionManager.json +++ b/eth_defi/abi/enzyme/IExternalPositionManager.json @@ -1,120 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "getExternalPositionLibForType", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "getExternalPositionLibForType(uint256)": "75d8bb0e" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"getExternalPositionLibForType\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IExternalPositionManager interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Interface for the ExternalPositionManager\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/IExternalPositionManager.sol\":\"IExternalPositionManager\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/external-position-manager/IExternalPositionManager.sol\":{\"keccak256\":\"0x3af3f634e1f99fb97091b7825c0d2e2baaafc124d4e87d56cb0c17ff8554f6c6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://515470605afe5ef147f30fa75ce7818f0e00e3d321eb81a4d9bffcdefc294495\",\"dweb:/ipfs/QmPKsp99pfHoz9Tfo3ZxnkmqDqJtN9PxqacF2RmeVfxUJF\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getExternalPositionLibForType", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/external-position-manager/IExternalPositionManager.sol": "IExternalPositionManager" - }, - "libraries": {} - }, - "sources": { - "contracts/release/extensions/external-position-manager/IExternalPositionManager.sol": { - "keccak256": "0x3af3f634e1f99fb97091b7825c0d2e2baaafc124d4e87d56cb0c17ff8554f6c6", - "urls": [ - "bzz-raw://515470605afe5ef147f30fa75ce7818f0e00e3d321eb81a4d9bffcdefc294495", - "dweb:/ipfs/QmPKsp99pfHoz9Tfo3ZxnkmqDqJtN9PxqacF2RmeVfxUJF" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 86 -} +{ "abi": [ { "type": "function", "name": "getExternalPositionLibForType", "inputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "address", "internalType": "address" } ], "stateMutability": "view" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "getExternalPositionLibForType(uint256)": "75d8bb0e" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"getExternalPositionLibForType\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IExternalPositionManager interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Interface for the ExternalPositionManager\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/IExternalPositionManager.sol\":\"IExternalPositionManager\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/external-position-manager/IExternalPositionManager.sol\":{\"keccak256\":\"0x3af3f634e1f99fb97091b7825c0d2e2baaafc124d4e87d56cb0c17ff8554f6c6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://515470605afe5ef147f30fa75ce7818f0e00e3d321eb81a4d9bffcdefc294495\",\"dweb:/ipfs/QmPKsp99pfHoz9Tfo3ZxnkmqDqJtN9PxqacF2RmeVfxUJF\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "getExternalPositionLibForType", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/external-position-manager/IExternalPositionManager.sol": "IExternalPositionManager" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/extensions/external-position-manager/IExternalPositionManager.sol": { "keccak256": "0x3af3f634e1f99fb97091b7825c0d2e2baaafc124d4e87d56cb0c17ff8554f6c6", "urls": [ "bzz-raw://515470605afe5ef147f30fa75ce7818f0e00e3d321eb81a4d9bffcdefc294495", "dweb:/ipfs/QmPKsp99pfHoz9Tfo3ZxnkmqDqJtN9PxqacF2RmeVfxUJF" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 86 } diff --git a/eth_defi/abi/enzyme/IExternalPositionParser.json b/eth_defi/abi/enzyme/IExternalPositionParser.json index 0f8476da..946a0dc0 100644 --- a/eth_defi/abi/enzyme/IExternalPositionParser.json +++ b/eth_defi/abi/enzyme/IExternalPositionParser.json @@ -1,209 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_externalPosition", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_actionId", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_encodedActionArgs", - "type": "bytes" - } - ], - "name": "parseAssetsForAction", - "outputs": [ - { - "internalType": "address[]", - "name": "assetsToTransfer_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "amountsToTransfer_", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "assetsToReceive_", - "type": "address[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_initializationData", - "type": "bytes" - } - ], - "name": "parseInitArgs", - "outputs": [ - { - "internalType": "bytes", - "name": "initArgs_", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "parseAssetsForAction(address,uint256,bytes)": "bbd2d646", - "parseInitArgs(address,bytes)": "db16c72e" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_externalPosition\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_actionId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_encodedActionArgs\",\"type\":\"bytes\"}],\"name\":\"parseAssetsForAction\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"assetsToTransfer_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amountsToTransfer_\",\"type\":\"uint256[]\"},{\"internalType\":\"address[]\",\"name\":\"assetsToReceive_\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_initializationData\",\"type\":\"bytes\"}],\"name\":\"parseInitArgs\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"initArgs_\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IExternalPositionParser Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Interface for all external position parsers\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/IExternalPositionParser.sol\":\"IExternalPositionParser\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/external-position-manager/external-positions/IExternalPositionParser.sol\":{\"keccak256\":\"0x1662fbd65841ee5e9cf8d5329b9d04c264b24ef68ae1e0484e59a8969b0d2c46\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://580569b0f875e0344db83fae1e72dcc6c0767a049b2a6cc3e4f3c411d2284b27\",\"dweb:/ipfs/QmXFmF9QbcVsPHaBo1iq8sZHYhDkwfkMZpHmLTuJJ37NvZ\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_externalPosition", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_actionId", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_encodedActionArgs", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "parseAssetsForAction", - "outputs": [ - { - "internalType": "address[]", - "name": "assetsToTransfer_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "amountsToTransfer_", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "assetsToReceive_", - "type": "address[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_initializationData", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "parseInitArgs", - "outputs": [ - { - "internalType": "bytes", - "name": "initArgs_", - "type": "bytes" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/external-position-manager/external-positions/IExternalPositionParser.sol": "IExternalPositionParser" - }, - "libraries": {} - }, - "sources": { - "contracts/release/extensions/external-position-manager/external-positions/IExternalPositionParser.sol": { - "keccak256": "0x1662fbd65841ee5e9cf8d5329b9d04c264b24ef68ae1e0484e59a8969b0d2c46", - "urls": [ - "bzz-raw://580569b0f875e0344db83fae1e72dcc6c0767a049b2a6cc3e4f3c411d2284b27", - "dweb:/ipfs/QmXFmF9QbcVsPHaBo1iq8sZHYhDkwfkMZpHmLTuJJ37NvZ" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 87 -} +{ "abi": [ { "type": "function", "name": "parseAssetsForAction", "inputs": [ { "name": "_externalPosition", "type": "address", "internalType": "address" }, { "name": "_actionId", "type": "uint256", "internalType": "uint256" }, { "name": "_encodedActionArgs", "type": "bytes", "internalType": "bytes" } ], "outputs": [ { "name": "assetsToTransfer_", "type": "address[]", "internalType": "address[]" }, { "name": "amountsToTransfer_", "type": "uint256[]", "internalType": "uint256[]" }, { "name": "assetsToReceive_", "type": "address[]", "internalType": "address[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "parseInitArgs", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_initializationData", "type": "bytes", "internalType": "bytes" } ], "outputs": [ { "name": "initArgs_", "type": "bytes", "internalType": "bytes" } ], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "parseAssetsForAction(address,uint256,bytes)": "bbd2d646", "parseInitArgs(address,bytes)": "db16c72e" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_externalPosition\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_actionId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_encodedActionArgs\",\"type\":\"bytes\"}],\"name\":\"parseAssetsForAction\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"assetsToTransfer_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amountsToTransfer_\",\"type\":\"uint256[]\"},{\"internalType\":\"address[]\",\"name\":\"assetsToReceive_\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_initializationData\",\"type\":\"bytes\"}],\"name\":\"parseInitArgs\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"initArgs_\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IExternalPositionParser Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Interface for all external position parsers\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/IExternalPositionParser.sol\":\"IExternalPositionParser\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/external-position-manager/external-positions/IExternalPositionParser.sol\":{\"keccak256\":\"0x1662fbd65841ee5e9cf8d5329b9d04c264b24ef68ae1e0484e59a8969b0d2c46\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://580569b0f875e0344db83fae1e72dcc6c0767a049b2a6cc3e4f3c411d2284b27\",\"dweb:/ipfs/QmXFmF9QbcVsPHaBo1iq8sZHYhDkwfkMZpHmLTuJJ37NvZ\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_externalPosition", "type": "address" }, { "internalType": "uint256", "name": "_actionId", "type": "uint256" }, { "internalType": "bytes", "name": "_encodedActionArgs", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "parseAssetsForAction", "outputs": [ { "internalType": "address[]", "name": "assetsToTransfer_", "type": "address[]" }, { "internalType": "uint256[]", "name": "amountsToTransfer_", "type": "uint256[]" }, { "internalType": "address[]", "name": "assetsToReceive_", "type": "address[]" } ] }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "bytes", "name": "_initializationData", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "parseInitArgs", "outputs": [ { "internalType": "bytes", "name": "initArgs_", "type": "bytes" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/external-position-manager/external-positions/IExternalPositionParser.sol": "IExternalPositionParser" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/extensions/external-position-manager/external-positions/IExternalPositionParser.sol": { "keccak256": "0x1662fbd65841ee5e9cf8d5329b9d04c264b24ef68ae1e0484e59a8969b0d2c46", "urls": [ "bzz-raw://580569b0f875e0344db83fae1e72dcc6c0767a049b2a6cc3e4f3c411d2284b27", "dweb:/ipfs/QmXFmF9QbcVsPHaBo1iq8sZHYhDkwfkMZpHmLTuJJ37NvZ" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 87 } diff --git a/eth_defi/abi/enzyme/IExternalPositionParserUniswapV3LiquidityPosition.json b/eth_defi/abi/enzyme/IExternalPositionParserUniswapV3LiquidityPosition.json index 25938dbd..b2c3c514 100644 --- a/eth_defi/abi/enzyme/IExternalPositionParserUniswapV3LiquidityPosition.json +++ b/eth_defi/abi/enzyme/IExternalPositionParserUniswapV3LiquidityPosition.json @@ -1,209 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_externalPosition", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_actionId", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_encodedActionArgs", - "type": "bytes" - } - ], - "name": "parseAssetsForAction", - "outputs": [ - { - "internalType": "address[]", - "name": "assetsToTransfer_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "amountsToTransfer_", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "assetsToReceive_", - "type": "address[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_initializationData", - "type": "bytes" - } - ], - "name": "parseInitArgs", - "outputs": [ - { - "internalType": "bytes", - "name": "initArgs_", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "parseAssetsForAction(address,uint256,bytes)": "bbd2d646", - "parseInitArgs(address,bytes)": "db16c72e" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.7.6+commit.7338295f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_externalPosition\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_actionId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_encodedActionArgs\",\"type\":\"bytes\"}],\"name\":\"parseAssetsForAction\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"assetsToTransfer_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amountsToTransfer_\",\"type\":\"uint256[]\"},{\"internalType\":\"address[]\",\"name\":\"assetsToReceive_\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_initializationData\",\"type\":\"bytes\"}],\"name\":\"parseInitArgs\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"initArgs_\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IExternalPositionParserUniswapV3LiquidityPosition Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/uniswap-v3-liquidity/interfaces/IExternalPositionParserUniswapV3LiquidityPosition.sol\":\"IExternalPositionParserUniswapV3LiquidityPosition\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/external-position-manager/external-positions/uniswap-v3-liquidity/interfaces/IExternalPositionParserUniswapV3LiquidityPosition.sol\":{\"keccak256\":\"0x4653c0250cc54efa1bdf6b2c97b35ea6207d02c887a221a59987aed538402fb6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a9b72c1faffac7fff4f678d66c5681787c9817c561d7958b38408a2ed436538b\",\"dweb:/ipfs/QmY3jDZv2KxN7ErGb74RYvaPBE9GoCrAb2kUfDHbx3jEK8\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.7.6+commit.7338295f" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_externalPosition", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_actionId", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_encodedActionArgs", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "parseAssetsForAction", - "outputs": [ - { - "internalType": "address[]", - "name": "assetsToTransfer_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "amountsToTransfer_", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "assetsToReceive_", - "type": "address[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_initializationData", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "parseInitArgs", - "outputs": [ - { - "internalType": "bytes", - "name": "initArgs_", - "type": "bytes" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/external-position-manager/external-positions/uniswap-v3-liquidity/interfaces/IExternalPositionParserUniswapV3LiquidityPosition.sol": "IExternalPositionParserUniswapV3LiquidityPosition" - }, - "libraries": {} - }, - "sources": { - "contracts/release/extensions/external-position-manager/external-positions/uniswap-v3-liquidity/interfaces/IExternalPositionParserUniswapV3LiquidityPosition.sol": { - "keccak256": "0x4653c0250cc54efa1bdf6b2c97b35ea6207d02c887a221a59987aed538402fb6", - "urls": [ - "bzz-raw://a9b72c1faffac7fff4f678d66c5681787c9817c561d7958b38408a2ed436538b", - "dweb:/ipfs/QmY3jDZv2KxN7ErGb74RYvaPBE9GoCrAb2kUfDHbx3jEK8" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 4 -} +{ "abi": [ { "type": "function", "name": "parseAssetsForAction", "inputs": [ { "name": "_externalPosition", "type": "address", "internalType": "address" }, { "name": "_actionId", "type": "uint256", "internalType": "uint256" }, { "name": "_encodedActionArgs", "type": "bytes", "internalType": "bytes" } ], "outputs": [ { "name": "assetsToTransfer_", "type": "address[]", "internalType": "address[]" }, { "name": "amountsToTransfer_", "type": "uint256[]", "internalType": "uint256[]" }, { "name": "assetsToReceive_", "type": "address[]", "internalType": "address[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "parseInitArgs", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_initializationData", "type": "bytes", "internalType": "bytes" } ], "outputs": [ { "name": "initArgs_", "type": "bytes", "internalType": "bytes" } ], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "parseAssetsForAction(address,uint256,bytes)": "bbd2d646", "parseInitArgs(address,bytes)": "db16c72e" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.7.6+commit.7338295f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_externalPosition\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_actionId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_encodedActionArgs\",\"type\":\"bytes\"}],\"name\":\"parseAssetsForAction\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"assetsToTransfer_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amountsToTransfer_\",\"type\":\"uint256[]\"},{\"internalType\":\"address[]\",\"name\":\"assetsToReceive_\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_initializationData\",\"type\":\"bytes\"}],\"name\":\"parseInitArgs\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"initArgs_\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IExternalPositionParserUniswapV3LiquidityPosition Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/uniswap-v3-liquidity/interfaces/IExternalPositionParserUniswapV3LiquidityPosition.sol\":\"IExternalPositionParserUniswapV3LiquidityPosition\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/external-position-manager/external-positions/uniswap-v3-liquidity/interfaces/IExternalPositionParserUniswapV3LiquidityPosition.sol\":{\"keccak256\":\"0x4653c0250cc54efa1bdf6b2c97b35ea6207d02c887a221a59987aed538402fb6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a9b72c1faffac7fff4f678d66c5681787c9817c561d7958b38408a2ed436538b\",\"dweb:/ipfs/QmY3jDZv2KxN7ErGb74RYvaPBE9GoCrAb2kUfDHbx3jEK8\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.7.6+commit.7338295f" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_externalPosition", "type": "address" }, { "internalType": "uint256", "name": "_actionId", "type": "uint256" }, { "internalType": "bytes", "name": "_encodedActionArgs", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "parseAssetsForAction", "outputs": [ { "internalType": "address[]", "name": "assetsToTransfer_", "type": "address[]" }, { "internalType": "uint256[]", "name": "amountsToTransfer_", "type": "uint256[]" }, { "internalType": "address[]", "name": "assetsToReceive_", "type": "address[]" } ] }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "bytes", "name": "_initializationData", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "parseInitArgs", "outputs": [ { "internalType": "bytes", "name": "initArgs_", "type": "bytes" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/external-position-manager/external-positions/uniswap-v3-liquidity/interfaces/IExternalPositionParserUniswapV3LiquidityPosition.sol": "IExternalPositionParserUniswapV3LiquidityPosition" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/extensions/external-position-manager/external-positions/uniswap-v3-liquidity/interfaces/IExternalPositionParserUniswapV3LiquidityPosition.sol": { "keccak256": "0x4653c0250cc54efa1bdf6b2c97b35ea6207d02c887a221a59987aed538402fb6", "urls": [ "bzz-raw://a9b72c1faffac7fff4f678d66c5681787c9817c561d7958b38408a2ed436538b", "dweb:/ipfs/QmY3jDZv2KxN7ErGb74RYvaPBE9GoCrAb2kUfDHbx3jEK8" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 4 } diff --git a/eth_defi/abi/enzyme/IExternalPositionProxy.json b/eth_defi/abi/enzyme/IExternalPositionProxy.json index 54337548..dba5810e 100644 --- a/eth_defi/abi/enzyme/IExternalPositionProxy.json +++ b/eth_defi/abi/enzyme/IExternalPositionProxy.json @@ -1,135 +1 @@ -{ - "abi": [ - { - "inputs": [], - "name": "getExternalPositionType", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getVaultProxy", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "getExternalPositionType()": "12bc0a44", - "getVaultProxy()": "c9809187" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"getExternalPositionType\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getVaultProxy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IExternalPositionProxy interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"An interface for publicly accessible functions on the ExternalPositionProxy\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/external-positions/IExternalPositionProxy.sol\":\"IExternalPositionProxy\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/external-positions/IExternalPositionProxy.sol\":{\"keccak256\":\"0xc74e623dbdc949df49e9cef31e0f958b17c715d89198dbbc1754d8f9c21e90de\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://074daf0a9f4e667964e6d50039986e3d792860cdece05d21e3606d33358a02b2\",\"dweb:/ipfs/QmVHXiKry9fYfjSNd6dxmtSr7DubNJvYJTNXtLDKGer2xH\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getExternalPositionType", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getVaultProxy", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/persistent/external-positions/IExternalPositionProxy.sol": "IExternalPositionProxy" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/external-positions/IExternalPositionProxy.sol": { - "keccak256": "0xc74e623dbdc949df49e9cef31e0f958b17c715d89198dbbc1754d8f9c21e90de", - "urls": [ - "bzz-raw://074daf0a9f4e667964e6d50039986e3d792860cdece05d21e3606d33358a02b2", - "dweb:/ipfs/QmVHXiKry9fYfjSNd6dxmtSr7DubNJvYJTNXtLDKGer2xH" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 26 -} +{ "abi": [ { "type": "function", "name": "getExternalPositionType", "inputs": [], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "getVaultProxy", "inputs": [], "outputs": [ { "name": "", "type": "address", "internalType": "address" } ], "stateMutability": "view" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "getExternalPositionType()": "12bc0a44", "getVaultProxy()": "c9809187" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"getExternalPositionType\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getVaultProxy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IExternalPositionProxy interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"An interface for publicly accessible functions on the ExternalPositionProxy\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/external-positions/IExternalPositionProxy.sol\":\"IExternalPositionProxy\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/external-positions/IExternalPositionProxy.sol\":{\"keccak256\":\"0xc74e623dbdc949df49e9cef31e0f958b17c715d89198dbbc1754d8f9c21e90de\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://074daf0a9f4e667964e6d50039986e3d792860cdece05d21e3606d33358a02b2\",\"dweb:/ipfs/QmVHXiKry9fYfjSNd6dxmtSr7DubNJvYJTNXtLDKGer2xH\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [], "stateMutability": "view", "type": "function", "name": "getExternalPositionType", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getVaultProxy", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/persistent/external-positions/IExternalPositionProxy.sol": "IExternalPositionProxy" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/external-positions/IExternalPositionProxy.sol": { "keccak256": "0xc74e623dbdc949df49e9cef31e0f958b17c715d89198dbbc1754d8f9c21e90de", "urls": [ "bzz-raw://074daf0a9f4e667964e6d50039986e3d792860cdece05d21e3606d33358a02b2", "dweb:/ipfs/QmVHXiKry9fYfjSNd6dxmtSr7DubNJvYJTNXtLDKGer2xH" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 26 } diff --git a/eth_defi/abi/enzyme/IExternalPositionUniswapV3LiquidityPosition.json b/eth_defi/abi/enzyme/IExternalPositionUniswapV3LiquidityPosition.json index e0cec4cd..2d2aa8dc 100644 --- a/eth_defi/abi/enzyme/IExternalPositionUniswapV3LiquidityPosition.json +++ b/eth_defi/abi/enzyme/IExternalPositionUniswapV3LiquidityPosition.json @@ -1,207 +1 @@ -{ - "abi": [ - { - "inputs": [], - "name": "getDebtAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getManagedAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "init", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "receiveCallFromVault", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "getDebtAssets()": "ecd658b4", - "getManagedAssets()": "80daddb8", - "init(bytes)": "4ddf47d4", - "receiveCallFromVault(bytes)": "e5c23a97" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.7.6+commit.7338295f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"getDebtAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getManagedAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"receiveCallFromVault\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IExternalPositionUniswapV3LiquidityPosition Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/uniswap-v3-liquidity/interfaces/IExternalPositionUniswapV3LiquidityPosition.sol\":\"IExternalPositionUniswapV3LiquidityPosition\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/external-position-manager/external-positions/uniswap-v3-liquidity/interfaces/IExternalPositionUniswapV3LiquidityPosition.sol\":{\"keccak256\":\"0x8cd962cedcd165722c29f50f58b575b24a9527da11cca71ece25c5124e5895e8\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://7e66f5fdae8bba39be27d7576f8ae41d094b4e08e91f80c875190949c3eacb0d\",\"dweb:/ipfs/QmSqNkZPomPh2yMD9uDU8BWLWWnd9r1fSoPbitbm87CWqZ\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.7.6+commit.7338295f" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "getDebtAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ] - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "getManagedAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "init" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "receiveCallFromVault" - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/external-position-manager/external-positions/uniswap-v3-liquidity/interfaces/IExternalPositionUniswapV3LiquidityPosition.sol": "IExternalPositionUniswapV3LiquidityPosition" - }, - "libraries": {} - }, - "sources": { - "contracts/release/extensions/external-position-manager/external-positions/uniswap-v3-liquidity/interfaces/IExternalPositionUniswapV3LiquidityPosition.sol": { - "keccak256": "0x8cd962cedcd165722c29f50f58b575b24a9527da11cca71ece25c5124e5895e8", - "urls": [ - "bzz-raw://7e66f5fdae8bba39be27d7576f8ae41d094b4e08e91f80c875190949c3eacb0d", - "dweb:/ipfs/QmSqNkZPomPh2yMD9uDU8BWLWWnd9r1fSoPbitbm87CWqZ" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 5 -} +{ "abi": [ { "type": "function", "name": "getDebtAssets", "inputs": [], "outputs": [ { "name": "", "type": "address[]", "internalType": "address[]" }, { "name": "", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "getManagedAssets", "inputs": [], "outputs": [ { "name": "", "type": "address[]", "internalType": "address[]" }, { "name": "", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "init", "inputs": [ { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "receiveCallFromVault", "inputs": [ { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "getDebtAssets()": "ecd658b4", "getManagedAssets()": "80daddb8", "init(bytes)": "4ddf47d4", "receiveCallFromVault(bytes)": "e5c23a97" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.7.6+commit.7338295f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"getDebtAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getManagedAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"receiveCallFromVault\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IExternalPositionUniswapV3LiquidityPosition Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/uniswap-v3-liquidity/interfaces/IExternalPositionUniswapV3LiquidityPosition.sol\":\"IExternalPositionUniswapV3LiquidityPosition\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/external-position-manager/external-positions/uniswap-v3-liquidity/interfaces/IExternalPositionUniswapV3LiquidityPosition.sol\":{\"keccak256\":\"0x8cd962cedcd165722c29f50f58b575b24a9527da11cca71ece25c5124e5895e8\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://7e66f5fdae8bba39be27d7576f8ae41d094b4e08e91f80c875190949c3eacb0d\",\"dweb:/ipfs/QmSqNkZPomPh2yMD9uDU8BWLWWnd9r1fSoPbitbm87CWqZ\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.7.6+commit.7338295f" }, "language": "Solidity", "output": { "abi": [ { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "getDebtAssets", "outputs": [ { "internalType": "address[]", "name": "", "type": "address[]" }, { "internalType": "uint256[]", "name": "", "type": "uint256[]" } ] }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "getManagedAssets", "outputs": [ { "internalType": "address[]", "name": "", "type": "address[]" }, { "internalType": "uint256[]", "name": "", "type": "uint256[]" } ] }, { "inputs": [ { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "init" }, { "inputs": [ { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "receiveCallFromVault" } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/external-position-manager/external-positions/uniswap-v3-liquidity/interfaces/IExternalPositionUniswapV3LiquidityPosition.sol": "IExternalPositionUniswapV3LiquidityPosition" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/extensions/external-position-manager/external-positions/uniswap-v3-liquidity/interfaces/IExternalPositionUniswapV3LiquidityPosition.sol": { "keccak256": "0x8cd962cedcd165722c29f50f58b575b24a9527da11cca71ece25c5124e5895e8", "urls": [ "bzz-raw://7e66f5fdae8bba39be27d7576f8ae41d094b4e08e91f80c875190949c3eacb0d", "dweb:/ipfs/QmSqNkZPomPh2yMD9uDU8BWLWWnd9r1fSoPbitbm87CWqZ" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 5 } diff --git a/eth_defi/abi/enzyme/IExternalPositionVault.json b/eth_defi/abi/enzyme/IExternalPositionVault.json index b3f92ea9..d6fcdac5 100644 --- a/eth_defi/abi/enzyme/IExternalPositionVault.json +++ b/eth_defi/abi/enzyme/IExternalPositionVault.json @@ -1,120 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "getExternalPositionLibForType", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "getExternalPositionLibForType(uint256)": "75d8bb0e" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"getExternalPositionLibForType\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council Provides an interface to get the externalPositionLib for a given type from the Vault\",\"kind\":\"dev\",\"methods\":{},\"title\":\"IExternalPositionVault interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/vault/interfaces/IExternalPositionVault.sol\":\"IExternalPositionVault\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/vault/interfaces/IExternalPositionVault.sol\":{\"keccak256\":\"0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d\",\"dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getExternalPositionLibForType", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/persistent/vault/interfaces/IExternalPositionVault.sol": "IExternalPositionVault" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/vault/interfaces/IExternalPositionVault.sol": { - "keccak256": "0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6", - "urls": [ - "bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d", - "dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 70 -} +{ "abi": [ { "type": "function", "name": "getExternalPositionLibForType", "inputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "address", "internalType": "address" } ], "stateMutability": "view" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "getExternalPositionLibForType(uint256)": "75d8bb0e" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"getExternalPositionLibForType\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council Provides an interface to get the externalPositionLib for a given type from the Vault\",\"kind\":\"dev\",\"methods\":{},\"title\":\"IExternalPositionVault interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/vault/interfaces/IExternalPositionVault.sol\":\"IExternalPositionVault\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/vault/interfaces/IExternalPositionVault.sol\":{\"keccak256\":\"0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d\",\"dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "getExternalPositionLibForType", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/persistent/vault/interfaces/IExternalPositionVault.sol": "IExternalPositionVault" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/vault/interfaces/IExternalPositionVault.sol": { "keccak256": "0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6", "urls": [ "bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d", "dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 70 } diff --git a/eth_defi/abi/enzyme/IFee.json b/eth_defi/abi/enzyme/IFee.json index 11307b59..b519bccf 100644 --- a/eth_defi/abi/enzyme/IFee.json +++ b/eth_defi/abi/enzyme/IFee.json @@ -1,512 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - } - ], - "name": "activateForFund", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_settingsData", - "type": "bytes" - } - ], - "name": "addFundSettings", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - } - ], - "name": "getRecipientForFund", - "outputs": [ - { - "internalType": "address", - "name": "recipient_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - } - ], - "name": "payout", - "outputs": [ - { - "internalType": "bool", - "name": "isPayable_", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "enum IFeeManager.FeeHook", - "name": "_hook", - "type": "uint8" - }, - { - "internalType": "bytes", - "name": "_settlementData", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "_gav", - "type": "uint256" - } - ], - "name": "settle", - "outputs": [ - { - "internalType": "enum IFeeManager.SettlementType", - "name": "settlementType_", - "type": "uint8" - }, - { - "internalType": "address", - "name": "payer_", - "type": "address" - }, - { - "internalType": "uint256", - "name": "sharesDue_", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "enum IFeeManager.FeeHook", - "name": "_hook", - "type": "uint8" - } - ], - "name": "settlesOnHook", - "outputs": [ - { - "internalType": "bool", - "name": "settles_", - "type": "bool" - }, - { - "internalType": "bool", - "name": "usesGav_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "enum IFeeManager.FeeHook", - "name": "_hook", - "type": "uint8" - }, - { - "internalType": "bytes", - "name": "_settlementData", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "_gav", - "type": "uint256" - } - ], - "name": "update", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "enum IFeeManager.FeeHook", - "name": "_hook", - "type": "uint8" - } - ], - "name": "updatesOnHook", - "outputs": [ - { - "internalType": "bool", - "name": "updates_", - "type": "bool" - }, - { - "internalType": "bool", - "name": "usesGav_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "activateForFund(address,address)": "3146d058", - "addFundSettings(address,bytes)": "0f5f6b4f", - "getRecipientForFund(address)": "62780b3c", - "payout(address,address)": "b78b4813", - "settle(address,address,uint8,bytes,uint256)": "41892d7e", - "settlesOnHook(uint8)": "320f0ddd", - "update(address,address,uint8,bytes,uint256)": "233faf5f", - "updatesOnHook(uint8)": "e337a91f" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"}],\"name\":\"activateForFund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_settingsData\",\"type\":\"bytes\"}],\"name\":\"addFundSettings\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"}],\"name\":\"getRecipientForFund\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"recipient_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"}],\"name\":\"payout\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isPayable_\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"enum IFeeManager.FeeHook\",\"name\":\"_hook\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"_settlementData\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"_gav\",\"type\":\"uint256\"}],\"name\":\"settle\",\"outputs\":[{\"internalType\":\"enum IFeeManager.SettlementType\",\"name\":\"settlementType_\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"payer_\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"sharesDue_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IFeeManager.FeeHook\",\"name\":\"_hook\",\"type\":\"uint8\"}],\"name\":\"settlesOnHook\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"settles_\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"usesGav_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"enum IFeeManager.FeeHook\",\"name\":\"_hook\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"_settlementData\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"_gav\",\"type\":\"uint256\"}],\"name\":\"update\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IFeeManager.FeeHook\",\"name\":\"_hook\",\"type\":\"uint8\"}],\"name\":\"updatesOnHook\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"updates_\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"usesGav_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"Fee Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Interface for all fees\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/fee-manager/IFee.sol\":\"IFee\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/fee-manager/IFee.sol\":{\"keccak256\":\"0x38e3f324c67f3205e38197165586ea82ca226069902f34214bcde76cf905fcff\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c1fff656d1bdde3324421bc9e77cbfc4e80baf4e665f8713fdb65611b046f4b0\",\"dweb:/ipfs/QmVRFjNwmsVHdh4sp3DWdL74VWmhRhPZE5kDxJiuPL8Gu2\"]},\"contracts/release/extensions/fee-manager/IFeeManager.sol\":{\"keccak256\":\"0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22\",\"dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "activateForFund" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_settingsData", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "addFundSettings" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getRecipientForFund", - "outputs": [ - { - "internalType": "address", - "name": "recipient_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "payout", - "outputs": [ - { - "internalType": "bool", - "name": "isPayable_", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "enum IFeeManager.FeeHook", - "name": "_hook", - "type": "uint8" - }, - { - "internalType": "bytes", - "name": "_settlementData", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "_gav", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "settle", - "outputs": [ - { - "internalType": "enum IFeeManager.SettlementType", - "name": "settlementType_", - "type": "uint8" - }, - { - "internalType": "address", - "name": "payer_", - "type": "address" - }, - { - "internalType": "uint256", - "name": "sharesDue_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "enum IFeeManager.FeeHook", - "name": "_hook", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function", - "name": "settlesOnHook", - "outputs": [ - { - "internalType": "bool", - "name": "settles_", - "type": "bool" - }, - { - "internalType": "bool", - "name": "usesGav_", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "enum IFeeManager.FeeHook", - "name": "_hook", - "type": "uint8" - }, - { - "internalType": "bytes", - "name": "_settlementData", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "_gav", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "update" - }, - { - "inputs": [ - { - "internalType": "enum IFeeManager.FeeHook", - "name": "_hook", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function", - "name": "updatesOnHook", - "outputs": [ - { - "internalType": "bool", - "name": "updates_", - "type": "bool" - }, - { - "internalType": "bool", - "name": "usesGav_", - "type": "bool" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/fee-manager/IFee.sol": "IFee" - }, - "libraries": {} - }, - "sources": { - "contracts/release/extensions/fee-manager/IFee.sol": { - "keccak256": "0x38e3f324c67f3205e38197165586ea82ca226069902f34214bcde76cf905fcff", - "urls": [ - "bzz-raw://c1fff656d1bdde3324421bc9e77cbfc4e80baf4e665f8713fdb65611b046f4b0", - "dweb:/ipfs/QmVRFjNwmsVHdh4sp3DWdL74VWmhRhPZE5kDxJiuPL8Gu2" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/fee-manager/IFeeManager.sol": { - "keccak256": "0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51", - "urls": [ - "bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22", - "dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 143 -} +{ "abi": [ { "type": "function", "name": "activateForFund", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" }, { "name": "_vaultProxy", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "addFundSettings", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" }, { "name": "_settingsData", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "getRecipientForFund", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "recipient_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "payout", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" }, { "name": "_vaultProxy", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "isPayable_", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "settle", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" }, { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_hook", "type": "uint8", "internalType": "enum IFeeManager.FeeHook" }, { "name": "_settlementData", "type": "bytes", "internalType": "bytes" }, { "name": "_gav", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "settlementType_", "type": "uint8", "internalType": "enum IFeeManager.SettlementType" }, { "name": "payer_", "type": "address", "internalType": "address" }, { "name": "sharesDue_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "settlesOnHook", "inputs": [ { "name": "_hook", "type": "uint8", "internalType": "enum IFeeManager.FeeHook" } ], "outputs": [ { "name": "settles_", "type": "bool", "internalType": "bool" }, { "name": "usesGav_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "update", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" }, { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_hook", "type": "uint8", "internalType": "enum IFeeManager.FeeHook" }, { "name": "_settlementData", "type": "bytes", "internalType": "bytes" }, { "name": "_gav", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "updatesOnHook", "inputs": [ { "name": "_hook", "type": "uint8", "internalType": "enum IFeeManager.FeeHook" } ], "outputs": [ { "name": "updates_", "type": "bool", "internalType": "bool" }, { "name": "usesGav_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "activateForFund(address,address)": "3146d058", "addFundSettings(address,bytes)": "0f5f6b4f", "getRecipientForFund(address)": "62780b3c", "payout(address,address)": "b78b4813", "settle(address,address,uint8,bytes,uint256)": "41892d7e", "settlesOnHook(uint8)": "320f0ddd", "update(address,address,uint8,bytes,uint256)": "233faf5f", "updatesOnHook(uint8)": "e337a91f" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"}],\"name\":\"activateForFund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_settingsData\",\"type\":\"bytes\"}],\"name\":\"addFundSettings\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"}],\"name\":\"getRecipientForFund\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"recipient_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"}],\"name\":\"payout\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isPayable_\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"enum IFeeManager.FeeHook\",\"name\":\"_hook\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"_settlementData\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"_gav\",\"type\":\"uint256\"}],\"name\":\"settle\",\"outputs\":[{\"internalType\":\"enum IFeeManager.SettlementType\",\"name\":\"settlementType_\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"payer_\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"sharesDue_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IFeeManager.FeeHook\",\"name\":\"_hook\",\"type\":\"uint8\"}],\"name\":\"settlesOnHook\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"settles_\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"usesGav_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"enum IFeeManager.FeeHook\",\"name\":\"_hook\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"_settlementData\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"_gav\",\"type\":\"uint256\"}],\"name\":\"update\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IFeeManager.FeeHook\",\"name\":\"_hook\",\"type\":\"uint8\"}],\"name\":\"updatesOnHook\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"updates_\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"usesGav_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"Fee Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Interface for all fees\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/fee-manager/IFee.sol\":\"IFee\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/fee-manager/IFee.sol\":{\"keccak256\":\"0x38e3f324c67f3205e38197165586ea82ca226069902f34214bcde76cf905fcff\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c1fff656d1bdde3324421bc9e77cbfc4e80baf4e665f8713fdb65611b046f4b0\",\"dweb:/ipfs/QmVRFjNwmsVHdh4sp3DWdL74VWmhRhPZE5kDxJiuPL8Gu2\"]},\"contracts/release/extensions/fee-manager/IFeeManager.sol\":{\"keccak256\":\"0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22\",\"dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" }, { "internalType": "address", "name": "_vaultProxy", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "activateForFund" }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" }, { "internalType": "bytes", "name": "_settingsData", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "addFundSettings" }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getRecipientForFund", "outputs": [ { "internalType": "address", "name": "recipient_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" }, { "internalType": "address", "name": "_vaultProxy", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "payout", "outputs": [ { "internalType": "bool", "name": "isPayable_", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" }, { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "enum IFeeManager.FeeHook", "name": "_hook", "type": "uint8" }, { "internalType": "bytes", "name": "_settlementData", "type": "bytes" }, { "internalType": "uint256", "name": "_gav", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "settle", "outputs": [ { "internalType": "enum IFeeManager.SettlementType", "name": "settlementType_", "type": "uint8" }, { "internalType": "address", "name": "payer_", "type": "address" }, { "internalType": "uint256", "name": "sharesDue_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "enum IFeeManager.FeeHook", "name": "_hook", "type": "uint8" } ], "stateMutability": "view", "type": "function", "name": "settlesOnHook", "outputs": [ { "internalType": "bool", "name": "settles_", "type": "bool" }, { "internalType": "bool", "name": "usesGav_", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" }, { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "enum IFeeManager.FeeHook", "name": "_hook", "type": "uint8" }, { "internalType": "bytes", "name": "_settlementData", "type": "bytes" }, { "internalType": "uint256", "name": "_gav", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "update" }, { "inputs": [ { "internalType": "enum IFeeManager.FeeHook", "name": "_hook", "type": "uint8" } ], "stateMutability": "view", "type": "function", "name": "updatesOnHook", "outputs": [ { "internalType": "bool", "name": "updates_", "type": "bool" }, { "internalType": "bool", "name": "usesGav_", "type": "bool" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/fee-manager/IFee.sol": "IFee" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/extensions/fee-manager/IFee.sol": { "keccak256": "0x38e3f324c67f3205e38197165586ea82ca226069902f34214bcde76cf905fcff", "urls": [ "bzz-raw://c1fff656d1bdde3324421bc9e77cbfc4e80baf4e665f8713fdb65611b046f4b0", "dweb:/ipfs/QmVRFjNwmsVHdh4sp3DWdL74VWmhRhPZE5kDxJiuPL8Gu2" ], "license": "GPL-3.0" }, "contracts/release/extensions/fee-manager/IFeeManager.sol": { "keccak256": "0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51", "urls": [ "bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22", "dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 143 } diff --git a/eth_defi/abi/enzyme/IFeeManager.json b/eth_defi/abi/enzyme/IFeeManager.json index 0a1de79f..5101f2f3 100644 --- a/eth_defi/abi/enzyme/IFeeManager.json +++ b/eth_defi/abi/enzyme/IFeeManager.json @@ -1,127 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "enum IFeeManager.FeeHook", - "name": "", - "type": "uint8" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "invokeHook", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "invokeHook(uint8,bytes,uint256)": "7759c164" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"enum IFeeManager.FeeHook\",\"name\":\"\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"invokeHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"FeeManager Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Interface for the FeeManager\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/fee-manager/IFeeManager.sol\":\"IFeeManager\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/fee-manager/IFeeManager.sol\":{\"keccak256\":\"0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22\",\"dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "enum IFeeManager.FeeHook", - "name": "", - "type": "uint8" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "invokeHook" - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/fee-manager/IFeeManager.sol": "IFeeManager" - }, - "libraries": {} - }, - "sources": { - "contracts/release/extensions/fee-manager/IFeeManager.sol": { - "keccak256": "0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51", - "urls": [ - "bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22", - "dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 144 -} +{ "abi": [ { "type": "function", "name": "invokeHook", "inputs": [ { "name": "", "type": "uint8", "internalType": "enum IFeeManager.FeeHook" }, { "name": "", "type": "bytes", "internalType": "bytes" }, { "name": "", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "invokeHook(uint8,bytes,uint256)": "7759c164" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"enum IFeeManager.FeeHook\",\"name\":\"\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"invokeHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"FeeManager Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Interface for the FeeManager\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/fee-manager/IFeeManager.sol\":\"IFeeManager\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/fee-manager/IFeeManager.sol\":{\"keccak256\":\"0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22\",\"dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "enum IFeeManager.FeeHook", "name": "", "type": "uint8" }, { "internalType": "bytes", "name": "", "type": "bytes" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "invokeHook" } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/fee-manager/IFeeManager.sol": "IFeeManager" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/extensions/fee-manager/IFeeManager.sol": { "keccak256": "0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51", "urls": [ "bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22", "dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 144 } diff --git a/eth_defi/abi/enzyme/IFreelyTransferableSharesVault.json b/eth_defi/abi/enzyme/IFreelyTransferableSharesVault.json index b814b3ee..9cf183c2 100644 --- a/eth_defi/abi/enzyme/IFreelyTransferableSharesVault.json +++ b/eth_defi/abi/enzyme/IFreelyTransferableSharesVault.json @@ -1,108 +1 @@ -{ - "abi": [ - { - "inputs": [], - "name": "sharesAreFreelyTransferable", - "outputs": [ - { - "internalType": "bool", - "name": "sharesAreFreelyTransferable_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "sharesAreFreelyTransferable()": "28c2ad9c" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"sharesAreFreelyTransferable\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"sharesAreFreelyTransferable_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"DO NOT EDIT CONTRACT\",\"kind\":\"dev\",\"methods\":{},\"title\":\"IFreelyTransferableSharesVault Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Provides the interface for determining whether a vault's shares are guaranteed to be freely transferable.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol\":\"IFreelyTransferableSharesVault\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol\":{\"keccak256\":\"0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb\",\"dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "sharesAreFreelyTransferable", - "outputs": [ - { - "internalType": "bool", - "name": "sharesAreFreelyTransferable_", - "type": "bool" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol": "IFreelyTransferableSharesVault" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol": { - "keccak256": "0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0", - "urls": [ - "bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb", - "dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 71 -} +{ "abi": [ { "type": "function", "name": "sharesAreFreelyTransferable", "inputs": [], "outputs": [ { "name": "sharesAreFreelyTransferable_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "sharesAreFreelyTransferable()": "28c2ad9c" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"sharesAreFreelyTransferable\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"sharesAreFreelyTransferable_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"DO NOT EDIT CONTRACT\",\"kind\":\"dev\",\"methods\":{},\"title\":\"IFreelyTransferableSharesVault Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Provides the interface for determining whether a vault's shares are guaranteed to be freely transferable.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol\":\"IFreelyTransferableSharesVault\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol\":{\"keccak256\":\"0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb\",\"dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [], "stateMutability": "view", "type": "function", "name": "sharesAreFreelyTransferable", "outputs": [ { "internalType": "bool", "name": "sharesAreFreelyTransferable_", "type": "bool" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol": "IFreelyTransferableSharesVault" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol": { "keccak256": "0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0", "urls": [ "bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb", "dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 71 } diff --git a/eth_defi/abi/enzyme/IFundDeployer.json b/eth_defi/abi/enzyme/IFundDeployer.json index 7c202c25..c862ecdd 100644 --- a/eth_defi/abi/enzyme/IFundDeployer.json +++ b/eth_defi/abi/enzyme/IFundDeployer.json @@ -1,245 +1 @@ -{ - "abi": [ - { - "inputs": [], - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "hasReconfigurationRequest", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "isAllowedBuySharesOnBehalfCaller", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - }, - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "name": "isAllowedVaultCall", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "getOwner()": "893d20e8", - "hasReconfigurationRequest(address)": "6c579e57", - "isAllowedBuySharesOnBehalfCaller(address)": "54391f09", - "isAllowedVaultCall(address,bytes4,bytes32)": "8c500ea3" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"hasReconfigurationRequest\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"isAllowedBuySharesOnBehalfCaller\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"},{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"isAllowedVaultCall\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IFundDeployer Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/core/fund-deployer/IFundDeployer.sol\":\"IFundDeployer\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "hasReconfigurationRequest", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "isAllowedBuySharesOnBehalfCaller", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - }, - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function", - "name": "isAllowedVaultCall", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/core/fund-deployer/IFundDeployer.sol": "IFundDeployer" - }, - "libraries": {} - }, - "sources": { - "contracts/release/core/fund-deployer/IFundDeployer.sol": { - "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", - "urls": [ - "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", - "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 78 -} +{ "abi": [ { "type": "function", "name": "getOwner", "inputs": [], "outputs": [ { "name": "", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "hasReconfigurationRequest", "inputs": [ { "name": "", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "isAllowedBuySharesOnBehalfCaller", "inputs": [ { "name": "", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "isAllowedVaultCall", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "bytes4", "internalType": "bytes4" }, { "name": "", "type": "bytes32", "internalType": "bytes32" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "getOwner()": "893d20e8", "hasReconfigurationRequest(address)": "6c579e57", "isAllowedBuySharesOnBehalfCaller(address)": "54391f09", "isAllowedVaultCall(address,bytes4,bytes32)": "8c500ea3" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"hasReconfigurationRequest\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"isAllowedBuySharesOnBehalfCaller\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"},{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"isAllowedVaultCall\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IFundDeployer Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/core/fund-deployer/IFundDeployer.sol\":\"IFundDeployer\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [], "stateMutability": "view", "type": "function", "name": "getOwner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "hasReconfigurationRequest", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "isAllowedBuySharesOnBehalfCaller", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "bytes4", "name": "", "type": "bytes4" }, { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function", "name": "isAllowedVaultCall", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/core/fund-deployer/IFundDeployer.sol": "IFundDeployer" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/core/fund-deployer/IFundDeployer.sol": { "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", "urls": [ "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 78 } diff --git a/eth_defi/abi/enzyme/IFundValueCalculator.json b/eth_defi/abi/enzyme/IFundValueCalculator.json index 3848f5ac..2da1a85f 100644 --- a/eth_defi/abi/enzyme/IFundValueCalculator.json +++ b/eth_defi/abi/enzyme/IFundValueCalculator.json @@ -1,591 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - } - ], - "name": "calcGav", - "outputs": [ - { - "internalType": "address", - "name": "denominationAsset_", - "type": "address" - }, - { - "internalType": "uint256", - "name": "gav_", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_quoteAsset", - "type": "address" - } - ], - "name": "calcGavInAsset", - "outputs": [ - { - "internalType": "uint256", - "name": "gav_", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - } - ], - "name": "calcGrossShareValue", - "outputs": [ - { - "internalType": "address", - "name": "denominationAsset_", - "type": "address" - }, - { - "internalType": "uint256", - "name": "grossShareValue_", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_quoteAsset", - "type": "address" - } - ], - "name": "calcGrossShareValueInAsset", - "outputs": [ - { - "internalType": "uint256", - "name": "grossShareValue_", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - } - ], - "name": "calcNav", - "outputs": [ - { - "internalType": "address", - "name": "denominationAsset_", - "type": "address" - }, - { - "internalType": "uint256", - "name": "nav_", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_quoteAsset", - "type": "address" - } - ], - "name": "calcNavInAsset", - "outputs": [ - { - "internalType": "uint256", - "name": "nav_", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - } - ], - "name": "calcNetShareValue", - "outputs": [ - { - "internalType": "address", - "name": "denominationAsset_", - "type": "address" - }, - { - "internalType": "uint256", - "name": "netShareValue_", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_quoteAsset", - "type": "address" - } - ], - "name": "calcNetShareValueInAsset", - "outputs": [ - { - "internalType": "uint256", - "name": "netShareValue_", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_sharesHolder", - "type": "address" - } - ], - "name": "calcNetValueForSharesHolder", - "outputs": [ - { - "internalType": "address", - "name": "denominationAsset_", - "type": "address" - }, - { - "internalType": "uint256", - "name": "netValue_", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_sharesHolder", - "type": "address" - }, - { - "internalType": "address", - "name": "_quoteAsset", - "type": "address" - } - ], - "name": "calcNetValueForSharesHolderInAsset", - "outputs": [ - { - "internalType": "uint256", - "name": "netValue_", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "calcGav(address)": "037276c1", - "calcGavInAsset(address,address)": "51ac29c7", - "calcGrossShareValue(address)": "c3552663", - "calcGrossShareValueInAsset(address,address)": "eefcb1b3", - "calcNav(address)": "53d467f3", - "calcNavInAsset(address,address)": "c65988ff", - "calcNetShareValue(address)": "3ba6b851", - "calcNetShareValueInAsset(address,address)": "faf6eeef", - "calcNetValueForSharesHolder(address,address)": "81dfa95b", - "calcNetValueForSharesHolderInAsset(address,address,address)": "4807ccbd" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"}],\"name\":\"calcGav\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"denominationAsset_\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"gav_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_quoteAsset\",\"type\":\"address\"}],\"name\":\"calcGavInAsset\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"gav_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"}],\"name\":\"calcGrossShareValue\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"denominationAsset_\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"grossShareValue_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_quoteAsset\",\"type\":\"address\"}],\"name\":\"calcGrossShareValueInAsset\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"grossShareValue_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"}],\"name\":\"calcNav\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"denominationAsset_\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nav_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_quoteAsset\",\"type\":\"address\"}],\"name\":\"calcNavInAsset\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"nav_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"}],\"name\":\"calcNetShareValue\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"denominationAsset_\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"netShareValue_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_quoteAsset\",\"type\":\"address\"}],\"name\":\"calcNetShareValueInAsset\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"netShareValue_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_sharesHolder\",\"type\":\"address\"}],\"name\":\"calcNetValueForSharesHolder\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"denominationAsset_\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"netValue_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_sharesHolder\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_quoteAsset\",\"type\":\"address\"}],\"name\":\"calcNetValueForSharesHolderInAsset\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"netValue_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IFundValueCalculator interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/off-chain/fund-value-calculator/IFundValueCalculator.sol\":\"IFundValueCalculator\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/off-chain/fund-value-calculator/IFundValueCalculator.sol\":{\"keccak256\":\"0x993e11b879d6ad85f5ecf5f8e1880989c010bdf03de2079b39f66a953844de2d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f61a09908b981589bc4d3657736276f463f1ea23f9811b8d174cd5de224b556d\",\"dweb:/ipfs/QmU6rYofnKmWSTBzshVMxFnVRtBKCECSpnGepDy6DddCbv\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "calcGav", - "outputs": [ - { - "internalType": "address", - "name": "denominationAsset_", - "type": "address" - }, - { - "internalType": "uint256", - "name": "gav_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_quoteAsset", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "calcGavInAsset", - "outputs": [ - { - "internalType": "uint256", - "name": "gav_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "calcGrossShareValue", - "outputs": [ - { - "internalType": "address", - "name": "denominationAsset_", - "type": "address" - }, - { - "internalType": "uint256", - "name": "grossShareValue_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_quoteAsset", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "calcGrossShareValueInAsset", - "outputs": [ - { - "internalType": "uint256", - "name": "grossShareValue_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "calcNav", - "outputs": [ - { - "internalType": "address", - "name": "denominationAsset_", - "type": "address" - }, - { - "internalType": "uint256", - "name": "nav_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_quoteAsset", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "calcNavInAsset", - "outputs": [ - { - "internalType": "uint256", - "name": "nav_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "calcNetShareValue", - "outputs": [ - { - "internalType": "address", - "name": "denominationAsset_", - "type": "address" - }, - { - "internalType": "uint256", - "name": "netShareValue_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_quoteAsset", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "calcNetShareValueInAsset", - "outputs": [ - { - "internalType": "uint256", - "name": "netShareValue_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_sharesHolder", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "calcNetValueForSharesHolder", - "outputs": [ - { - "internalType": "address", - "name": "denominationAsset_", - "type": "address" - }, - { - "internalType": "uint256", - "name": "netValue_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_sharesHolder", - "type": "address" - }, - { - "internalType": "address", - "name": "_quoteAsset", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "calcNetValueForSharesHolderInAsset", - "outputs": [ - { - "internalType": "uint256", - "name": "netValue_", - "type": "uint256" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/persistent/off-chain/fund-value-calculator/IFundValueCalculator.sol": "IFundValueCalculator" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/off-chain/fund-value-calculator/IFundValueCalculator.sol": { - "keccak256": "0x993e11b879d6ad85f5ecf5f8e1880989c010bdf03de2079b39f66a953844de2d", - "urls": [ - "bzz-raw://f61a09908b981589bc4d3657736276f463f1ea23f9811b8d174cd5de224b556d", - "dweb:/ipfs/QmU6rYofnKmWSTBzshVMxFnVRtBKCECSpnGepDy6DddCbv" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 50 -} +{ "abi": [ { "type": "function", "name": "calcGav", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "denominationAsset_", "type": "address", "internalType": "address" }, { "name": "gav_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "calcGavInAsset", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_quoteAsset", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "gav_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "calcGrossShareValue", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "denominationAsset_", "type": "address", "internalType": "address" }, { "name": "grossShareValue_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "calcGrossShareValueInAsset", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_quoteAsset", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "grossShareValue_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "calcNav", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "denominationAsset_", "type": "address", "internalType": "address" }, { "name": "nav_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "calcNavInAsset", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_quoteAsset", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "nav_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "calcNetShareValue", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "denominationAsset_", "type": "address", "internalType": "address" }, { "name": "netShareValue_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "calcNetShareValueInAsset", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_quoteAsset", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "netShareValue_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "calcNetValueForSharesHolder", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_sharesHolder", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "denominationAsset_", "type": "address", "internalType": "address" }, { "name": "netValue_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "calcNetValueForSharesHolderInAsset", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_sharesHolder", "type": "address", "internalType": "address" }, { "name": "_quoteAsset", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "netValue_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "calcGav(address)": "037276c1", "calcGavInAsset(address,address)": "51ac29c7", "calcGrossShareValue(address)": "c3552663", "calcGrossShareValueInAsset(address,address)": "eefcb1b3", "calcNav(address)": "53d467f3", "calcNavInAsset(address,address)": "c65988ff", "calcNetShareValue(address)": "3ba6b851", "calcNetShareValueInAsset(address,address)": "faf6eeef", "calcNetValueForSharesHolder(address,address)": "81dfa95b", "calcNetValueForSharesHolderInAsset(address,address,address)": "4807ccbd" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"}],\"name\":\"calcGav\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"denominationAsset_\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"gav_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_quoteAsset\",\"type\":\"address\"}],\"name\":\"calcGavInAsset\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"gav_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"}],\"name\":\"calcGrossShareValue\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"denominationAsset_\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"grossShareValue_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_quoteAsset\",\"type\":\"address\"}],\"name\":\"calcGrossShareValueInAsset\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"grossShareValue_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"}],\"name\":\"calcNav\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"denominationAsset_\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nav_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_quoteAsset\",\"type\":\"address\"}],\"name\":\"calcNavInAsset\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"nav_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"}],\"name\":\"calcNetShareValue\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"denominationAsset_\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"netShareValue_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_quoteAsset\",\"type\":\"address\"}],\"name\":\"calcNetShareValueInAsset\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"netShareValue_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_sharesHolder\",\"type\":\"address\"}],\"name\":\"calcNetValueForSharesHolder\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"denominationAsset_\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"netValue_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_sharesHolder\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_quoteAsset\",\"type\":\"address\"}],\"name\":\"calcNetValueForSharesHolderInAsset\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"netValue_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IFundValueCalculator interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/off-chain/fund-value-calculator/IFundValueCalculator.sol\":\"IFundValueCalculator\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/off-chain/fund-value-calculator/IFundValueCalculator.sol\":{\"keccak256\":\"0x993e11b879d6ad85f5ecf5f8e1880989c010bdf03de2079b39f66a953844de2d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f61a09908b981589bc4d3657736276f463f1ea23f9811b8d174cd5de224b556d\",\"dweb:/ipfs/QmU6rYofnKmWSTBzshVMxFnVRtBKCECSpnGepDy6DddCbv\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "calcGav", "outputs": [ { "internalType": "address", "name": "denominationAsset_", "type": "address" }, { "internalType": "uint256", "name": "gav_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "address", "name": "_quoteAsset", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "calcGavInAsset", "outputs": [ { "internalType": "uint256", "name": "gav_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "calcGrossShareValue", "outputs": [ { "internalType": "address", "name": "denominationAsset_", "type": "address" }, { "internalType": "uint256", "name": "grossShareValue_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "address", "name": "_quoteAsset", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "calcGrossShareValueInAsset", "outputs": [ { "internalType": "uint256", "name": "grossShareValue_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "calcNav", "outputs": [ { "internalType": "address", "name": "denominationAsset_", "type": "address" }, { "internalType": "uint256", "name": "nav_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "address", "name": "_quoteAsset", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "calcNavInAsset", "outputs": [ { "internalType": "uint256", "name": "nav_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "calcNetShareValue", "outputs": [ { "internalType": "address", "name": "denominationAsset_", "type": "address" }, { "internalType": "uint256", "name": "netShareValue_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "address", "name": "_quoteAsset", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "calcNetShareValueInAsset", "outputs": [ { "internalType": "uint256", "name": "netShareValue_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "address", "name": "_sharesHolder", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "calcNetValueForSharesHolder", "outputs": [ { "internalType": "address", "name": "denominationAsset_", "type": "address" }, { "internalType": "uint256", "name": "netValue_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "address", "name": "_sharesHolder", "type": "address" }, { "internalType": "address", "name": "_quoteAsset", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "calcNetValueForSharesHolderInAsset", "outputs": [ { "internalType": "uint256", "name": "netValue_", "type": "uint256" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/persistent/off-chain/fund-value-calculator/IFundValueCalculator.sol": "IFundValueCalculator" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/off-chain/fund-value-calculator/IFundValueCalculator.sol": { "keccak256": "0x993e11b879d6ad85f5ecf5f8e1880989c010bdf03de2079b39f66a953844de2d", "urls": [ "bzz-raw://f61a09908b981589bc4d3657736276f463f1ea23f9811b8d174cd5de224b556d", "dweb:/ipfs/QmU6rYofnKmWSTBzshVMxFnVRtBKCECSpnGepDy6DddCbv" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 50 } diff --git a/eth_defi/abi/enzyme/IGasRelayPaymaster.json b/eth_defi/abi/enzyme/IGasRelayPaymaster.json index 492ac23b..780e60b0 100644 --- a/eth_defi/abi/enzyme/IGasRelayPaymaster.json +++ b/eth_defi/abi/enzyme/IGasRelayPaymaster.json @@ -1,713 +1 @@ -{ - "abi": [ - { - "inputs": [], - "name": "deposit", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getGasAndDataLimits", - "outputs": [ - { - "components": [ - { - "internalType": "uint256", - "name": "acceptanceBudget", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "preRelayedCallGasLimit", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "postRelayedCallGasLimit", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "calldataSizeLimit", - "type": "uint256" - } - ], - "internalType": "struct IGsnPaymaster.GasAndDataLimits", - "name": "limits", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getHubAddr", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getRelayHubDeposit", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "context", - "type": "bytes" - }, - { - "internalType": "bool", - "name": "success", - "type": "bool" - }, - { - "internalType": "uint256", - "name": "gasUseWithoutPost", - "type": "uint256" - }, - { - "components": [ - { - "internalType": "uint256", - "name": "gasPrice", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "pctRelayFee", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "baseRelayFee", - "type": "uint256" - }, - { - "internalType": "address", - "name": "relayWorker", - "type": "address" - }, - { - "internalType": "address", - "name": "paymaster", - "type": "address" - }, - { - "internalType": "address", - "name": "forwarder", - "type": "address" - }, - { - "internalType": "bytes", - "name": "paymasterData", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "clientId", - "type": "uint256" - } - ], - "internalType": "struct IGsnTypes.RelayData", - "name": "relayData", - "type": "tuple" - } - ], - "name": "postRelayedCall", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "components": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "gas", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "nonce", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "validUntil", - "type": "uint256" - } - ], - "internalType": "struct IGsnForwarder.ForwardRequest", - "name": "request", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "uint256", - "name": "gasPrice", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "pctRelayFee", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "baseRelayFee", - "type": "uint256" - }, - { - "internalType": "address", - "name": "relayWorker", - "type": "address" - }, - { - "internalType": "address", - "name": "paymaster", - "type": "address" - }, - { - "internalType": "address", - "name": "forwarder", - "type": "address" - }, - { - "internalType": "bytes", - "name": "paymasterData", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "clientId", - "type": "uint256" - } - ], - "internalType": "struct IGsnTypes.RelayData", - "name": "relayData", - "type": "tuple" - } - ], - "internalType": "struct IGsnTypes.RelayRequest", - "name": "relayRequest", - "type": "tuple" - }, - { - "internalType": "bytes", - "name": "signature", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "approvalData", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "maxPossibleGas", - "type": "uint256" - } - ], - "name": "preRelayedCall", - "outputs": [ - { - "internalType": "bytes", - "name": "context", - "type": "bytes" - }, - { - "internalType": "bool", - "name": "rejectOnRecipientRevert", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "trustedForwarder", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "versionPaymaster", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "withdrawBalance", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "deposit()": "d0e30db0", - "getGasAndDataLimits()": "b039a88f", - "getHubAddr()": "74e861d6", - "getRelayHubDeposit()": "2afe31c1", - "postRelayedCall(bytes,bool,uint256,(uint256,uint256,uint256,address,address,address,bytes,uint256))": "76fa01c3", - "preRelayedCall(((address,address,uint256,uint256,uint256,bytes,uint256),(uint256,uint256,uint256,address,address,address,bytes,uint256)),bytes,bytes,uint256)": "00be5dd4", - "trustedForwarder()": "7da0a877", - "versionPaymaster()": "921276ea", - "withdrawBalance()": "5fd8c710" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"deposit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getGasAndDataLimits\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"acceptanceBudget\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"preRelayedCallGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"postRelayedCallGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"calldataSizeLimit\",\"type\":\"uint256\"}],\"internalType\":\"struct IGsnPaymaster.GasAndDataLimits\",\"name\":\"limits\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getHubAddr\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRelayHubDeposit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"context\",\"type\":\"bytes\"},{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"gasUseWithoutPost\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"gasPrice\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"pctRelayFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"baseRelayFee\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"relayWorker\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"paymaster\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"forwarder\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"paymasterData\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"clientId\",\"type\":\"uint256\"}],\"internalType\":\"struct IGsnTypes.RelayData\",\"name\":\"relayData\",\"type\":\"tuple\"}],\"name\":\"postRelayedCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"gas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"validUntil\",\"type\":\"uint256\"}],\"internalType\":\"struct IGsnForwarder.ForwardRequest\",\"name\":\"request\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"gasPrice\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"pctRelayFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"baseRelayFee\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"relayWorker\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"paymaster\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"forwarder\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"paymasterData\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"clientId\",\"type\":\"uint256\"}],\"internalType\":\"struct IGsnTypes.RelayData\",\"name\":\"relayData\",\"type\":\"tuple\"}],\"internalType\":\"struct IGsnTypes.RelayRequest\",\"name\":\"relayRequest\",\"type\":\"tuple\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"approvalData\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"maxPossibleGas\",\"type\":\"uint256\"}],\"name\":\"preRelayedCall\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"context\",\"type\":\"bytes\"},{\"internalType\":\"bool\",\"name\":\"rejectOnRecipientRevert\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"trustedForwarder\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"versionPaymaster\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"withdrawBalance\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IGasRelayPaymaster Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol\":\"IGasRelayPaymaster\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol\":{\"keccak256\":\"0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0\",\"dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2\"]},\"contracts/release/interfaces/IGsnForwarder.sol\":{\"keccak256\":\"0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29\",\"dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G\"]},\"contracts/release/interfaces/IGsnPaymaster.sol\":{\"keccak256\":\"0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4\",\"dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF\"]},\"contracts/release/interfaces/IGsnTypes.sol\":{\"keccak256\":\"0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7\",\"dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "deposit" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getGasAndDataLimits", - "outputs": [ - { - "internalType": "struct IGsnPaymaster.GasAndDataLimits", - "name": "limits", - "type": "tuple", - "components": [ - { - "internalType": "uint256", - "name": "acceptanceBudget", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "preRelayedCallGasLimit", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "postRelayedCallGasLimit", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "calldataSizeLimit", - "type": "uint256" - } - ] - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getHubAddr", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getRelayHubDeposit", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "context", - "type": "bytes" - }, - { - "internalType": "bool", - "name": "success", - "type": "bool" - }, - { - "internalType": "uint256", - "name": "gasUseWithoutPost", - "type": "uint256" - }, - { - "internalType": "struct IGsnTypes.RelayData", - "name": "relayData", - "type": "tuple", - "components": [ - { - "internalType": "uint256", - "name": "gasPrice", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "pctRelayFee", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "baseRelayFee", - "type": "uint256" - }, - { - "internalType": "address", - "name": "relayWorker", - "type": "address" - }, - { - "internalType": "address", - "name": "paymaster", - "type": "address" - }, - { - "internalType": "address", - "name": "forwarder", - "type": "address" - }, - { - "internalType": "bytes", - "name": "paymasterData", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "clientId", - "type": "uint256" - } - ] - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "postRelayedCall" - }, - { - "inputs": [ - { - "internalType": "struct IGsnTypes.RelayRequest", - "name": "relayRequest", - "type": "tuple", - "components": [ - { - "internalType": "struct IGsnForwarder.ForwardRequest", - "name": "request", - "type": "tuple", - "components": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "gas", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "nonce", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "validUntil", - "type": "uint256" - } - ] - }, - { - "internalType": "struct IGsnTypes.RelayData", - "name": "relayData", - "type": "tuple", - "components": [ - { - "internalType": "uint256", - "name": "gasPrice", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "pctRelayFee", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "baseRelayFee", - "type": "uint256" - }, - { - "internalType": "address", - "name": "relayWorker", - "type": "address" - }, - { - "internalType": "address", - "name": "paymaster", - "type": "address" - }, - { - "internalType": "address", - "name": "forwarder", - "type": "address" - }, - { - "internalType": "bytes", - "name": "paymasterData", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "clientId", - "type": "uint256" - } - ] - } - ] - }, - { - "internalType": "bytes", - "name": "signature", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "approvalData", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "maxPossibleGas", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "preRelayedCall", - "outputs": [ - { - "internalType": "bytes", - "name": "context", - "type": "bytes" - }, - { - "internalType": "bool", - "name": "rejectOnRecipientRevert", - "type": "bool" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "trustedForwarder", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "versionPaymaster", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ] - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "withdrawBalance" - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol": "IGasRelayPaymaster" - }, - "libraries": {} - }, - "sources": { - "contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol": { - "keccak256": "0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01", - "urls": [ - "bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0", - "dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IGsnForwarder.sol": { - "keccak256": "0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030", - "urls": [ - "bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29", - "dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IGsnPaymaster.sol": { - "keccak256": "0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c", - "urls": [ - "bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4", - "dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IGsnTypes.sol": { - "keccak256": "0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714", - "urls": [ - "bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7", - "dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 231 -} +{ "abi": [ { "type": "function", "name": "deposit", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "getGasAndDataLimits", "inputs": [], "outputs": [ { "name": "limits", "type": "tuple", "internalType": "struct IGsnPaymaster.GasAndDataLimits", "components": [ { "name": "acceptanceBudget", "type": "uint256", "internalType": "uint256" }, { "name": "preRelayedCallGasLimit", "type": "uint256", "internalType": "uint256" }, { "name": "postRelayedCallGasLimit", "type": "uint256", "internalType": "uint256" }, { "name": "calldataSizeLimit", "type": "uint256", "internalType": "uint256" } ] } ], "stateMutability": "view" }, { "type": "function", "name": "getHubAddr", "inputs": [], "outputs": [ { "name": "", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getRelayHubDeposit", "inputs": [], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "postRelayedCall", "inputs": [ { "name": "context", "type": "bytes", "internalType": "bytes" }, { "name": "success", "type": "bool", "internalType": "bool" }, { "name": "gasUseWithoutPost", "type": "uint256", "internalType": "uint256" }, { "name": "relayData", "type": "tuple", "internalType": "struct IGsnTypes.RelayData", "components": [ { "name": "gasPrice", "type": "uint256", "internalType": "uint256" }, { "name": "pctRelayFee", "type": "uint256", "internalType": "uint256" }, { "name": "baseRelayFee", "type": "uint256", "internalType": "uint256" }, { "name": "relayWorker", "type": "address", "internalType": "address" }, { "name": "paymaster", "type": "address", "internalType": "address" }, { "name": "forwarder", "type": "address", "internalType": "address" }, { "name": "paymasterData", "type": "bytes", "internalType": "bytes" }, { "name": "clientId", "type": "uint256", "internalType": "uint256" } ] } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "preRelayedCall", "inputs": [ { "name": "relayRequest", "type": "tuple", "internalType": "struct IGsnTypes.RelayRequest", "components": [ { "name": "request", "type": "tuple", "internalType": "struct IGsnForwarder.ForwardRequest", "components": [ { "name": "from", "type": "address", "internalType": "address" }, { "name": "to", "type": "address", "internalType": "address" }, { "name": "value", "type": "uint256", "internalType": "uint256" }, { "name": "gas", "type": "uint256", "internalType": "uint256" }, { "name": "nonce", "type": "uint256", "internalType": "uint256" }, { "name": "data", "type": "bytes", "internalType": "bytes" }, { "name": "validUntil", "type": "uint256", "internalType": "uint256" } ] }, { "name": "relayData", "type": "tuple", "internalType": "struct IGsnTypes.RelayData", "components": [ { "name": "gasPrice", "type": "uint256", "internalType": "uint256" }, { "name": "pctRelayFee", "type": "uint256", "internalType": "uint256" }, { "name": "baseRelayFee", "type": "uint256", "internalType": "uint256" }, { "name": "relayWorker", "type": "address", "internalType": "address" }, { "name": "paymaster", "type": "address", "internalType": "address" }, { "name": "forwarder", "type": "address", "internalType": "address" }, { "name": "paymasterData", "type": "bytes", "internalType": "bytes" }, { "name": "clientId", "type": "uint256", "internalType": "uint256" } ] } ] }, { "name": "signature", "type": "bytes", "internalType": "bytes" }, { "name": "approvalData", "type": "bytes", "internalType": "bytes" }, { "name": "maxPossibleGas", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "context", "type": "bytes", "internalType": "bytes" }, { "name": "rejectOnRecipientRevert", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "trustedForwarder", "inputs": [], "outputs": [ { "name": "", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "versionPaymaster", "inputs": [], "outputs": [ { "name": "", "type": "string", "internalType": "string" } ], "stateMutability": "view" }, { "type": "function", "name": "withdrawBalance", "inputs": [], "outputs": [], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "deposit()": "d0e30db0", "getGasAndDataLimits()": "b039a88f", "getHubAddr()": "74e861d6", "getRelayHubDeposit()": "2afe31c1", "postRelayedCall(bytes,bool,uint256,(uint256,uint256,uint256,address,address,address,bytes,uint256))": "76fa01c3", "preRelayedCall(((address,address,uint256,uint256,uint256,bytes,uint256),(uint256,uint256,uint256,address,address,address,bytes,uint256)),bytes,bytes,uint256)": "00be5dd4", "trustedForwarder()": "7da0a877", "versionPaymaster()": "921276ea", "withdrawBalance()": "5fd8c710" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"deposit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getGasAndDataLimits\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"acceptanceBudget\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"preRelayedCallGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"postRelayedCallGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"calldataSizeLimit\",\"type\":\"uint256\"}],\"internalType\":\"struct IGsnPaymaster.GasAndDataLimits\",\"name\":\"limits\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getHubAddr\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRelayHubDeposit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"context\",\"type\":\"bytes\"},{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"gasUseWithoutPost\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"gasPrice\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"pctRelayFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"baseRelayFee\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"relayWorker\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"paymaster\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"forwarder\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"paymasterData\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"clientId\",\"type\":\"uint256\"}],\"internalType\":\"struct IGsnTypes.RelayData\",\"name\":\"relayData\",\"type\":\"tuple\"}],\"name\":\"postRelayedCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"gas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"validUntil\",\"type\":\"uint256\"}],\"internalType\":\"struct IGsnForwarder.ForwardRequest\",\"name\":\"request\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"gasPrice\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"pctRelayFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"baseRelayFee\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"relayWorker\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"paymaster\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"forwarder\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"paymasterData\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"clientId\",\"type\":\"uint256\"}],\"internalType\":\"struct IGsnTypes.RelayData\",\"name\":\"relayData\",\"type\":\"tuple\"}],\"internalType\":\"struct IGsnTypes.RelayRequest\",\"name\":\"relayRequest\",\"type\":\"tuple\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"approvalData\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"maxPossibleGas\",\"type\":\"uint256\"}],\"name\":\"preRelayedCall\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"context\",\"type\":\"bytes\"},{\"internalType\":\"bool\",\"name\":\"rejectOnRecipientRevert\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"trustedForwarder\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"versionPaymaster\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"withdrawBalance\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IGasRelayPaymaster Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol\":\"IGasRelayPaymaster\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol\":{\"keccak256\":\"0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0\",\"dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2\"]},\"contracts/release/interfaces/IGsnForwarder.sol\":{\"keccak256\":\"0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29\",\"dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G\"]},\"contracts/release/interfaces/IGsnPaymaster.sol\":{\"keccak256\":\"0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4\",\"dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF\"]},\"contracts/release/interfaces/IGsnTypes.sol\":{\"keccak256\":\"0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7\",\"dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "deposit" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getGasAndDataLimits", "outputs": [ { "internalType": "struct IGsnPaymaster.GasAndDataLimits", "name": "limits", "type": "tuple", "components": [ { "internalType": "uint256", "name": "acceptanceBudget", "type": "uint256" }, { "internalType": "uint256", "name": "preRelayedCallGasLimit", "type": "uint256" }, { "internalType": "uint256", "name": "postRelayedCallGasLimit", "type": "uint256" }, { "internalType": "uint256", "name": "calldataSizeLimit", "type": "uint256" } ] } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getHubAddr", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getRelayHubDeposit", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "bytes", "name": "context", "type": "bytes" }, { "internalType": "bool", "name": "success", "type": "bool" }, { "internalType": "uint256", "name": "gasUseWithoutPost", "type": "uint256" }, { "internalType": "struct IGsnTypes.RelayData", "name": "relayData", "type": "tuple", "components": [ { "internalType": "uint256", "name": "gasPrice", "type": "uint256" }, { "internalType": "uint256", "name": "pctRelayFee", "type": "uint256" }, { "internalType": "uint256", "name": "baseRelayFee", "type": "uint256" }, { "internalType": "address", "name": "relayWorker", "type": "address" }, { "internalType": "address", "name": "paymaster", "type": "address" }, { "internalType": "address", "name": "forwarder", "type": "address" }, { "internalType": "bytes", "name": "paymasterData", "type": "bytes" }, { "internalType": "uint256", "name": "clientId", "type": "uint256" } ] } ], "stateMutability": "nonpayable", "type": "function", "name": "postRelayedCall" }, { "inputs": [ { "internalType": "struct IGsnTypes.RelayRequest", "name": "relayRequest", "type": "tuple", "components": [ { "internalType": "struct IGsnForwarder.ForwardRequest", "name": "request", "type": "tuple", "components": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" }, { "internalType": "uint256", "name": "gas", "type": "uint256" }, { "internalType": "uint256", "name": "nonce", "type": "uint256" }, { "internalType": "bytes", "name": "data", "type": "bytes" }, { "internalType": "uint256", "name": "validUntil", "type": "uint256" } ] }, { "internalType": "struct IGsnTypes.RelayData", "name": "relayData", "type": "tuple", "components": [ { "internalType": "uint256", "name": "gasPrice", "type": "uint256" }, { "internalType": "uint256", "name": "pctRelayFee", "type": "uint256" }, { "internalType": "uint256", "name": "baseRelayFee", "type": "uint256" }, { "internalType": "address", "name": "relayWorker", "type": "address" }, { "internalType": "address", "name": "paymaster", "type": "address" }, { "internalType": "address", "name": "forwarder", "type": "address" }, { "internalType": "bytes", "name": "paymasterData", "type": "bytes" }, { "internalType": "uint256", "name": "clientId", "type": "uint256" } ] } ] }, { "internalType": "bytes", "name": "signature", "type": "bytes" }, { "internalType": "bytes", "name": "approvalData", "type": "bytes" }, { "internalType": "uint256", "name": "maxPossibleGas", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "preRelayedCall", "outputs": [ { "internalType": "bytes", "name": "context", "type": "bytes" }, { "internalType": "bool", "name": "rejectOnRecipientRevert", "type": "bool" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "trustedForwarder", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "versionPaymaster", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ] }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "withdrawBalance" } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol": "IGasRelayPaymaster" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol": { "keccak256": "0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01", "urls": [ "bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0", "dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IGsnForwarder.sol": { "keccak256": "0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030", "urls": [ "bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29", "dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IGsnPaymaster.sol": { "keccak256": "0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c", "urls": [ "bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4", "dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IGsnTypes.sol": { "keccak256": "0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714", "urls": [ "bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7", "dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 231 } diff --git a/eth_defi/abi/enzyme/IGasRelayPaymasterDepositor.json b/eth_defi/abi/enzyme/IGasRelayPaymasterDepositor.json index 0b34a19a..1a2818d1 100644 --- a/eth_defi/abi/enzyme/IGasRelayPaymasterDepositor.json +++ b/eth_defi/abi/enzyme/IGasRelayPaymasterDepositor.json @@ -1,107 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "pullWethForGasRelayer", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "pullWethForGasRelayer(uint256)": "79951f0f" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"pullWethForGasRelayer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IGasRelayPaymasterDepositor Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol\":\"IGasRelayPaymasterDepositor\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol\":{\"keccak256\":\"0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b\",\"dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "pullWethForGasRelayer" - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol": "IGasRelayPaymasterDepositor" - }, - "libraries": {} - }, - "sources": { - "contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol": { - "keccak256": "0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196", - "urls": [ - "bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b", - "dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 232 -} +{ "abi": [ { "type": "function", "name": "pullWethForGasRelayer", "inputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "pullWethForGasRelayer(uint256)": "79951f0f" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"pullWethForGasRelayer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IGasRelayPaymasterDepositor Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol\":\"IGasRelayPaymasterDepositor\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol\":{\"keccak256\":\"0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b\",\"dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "pullWethForGasRelayer" } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol": "IGasRelayPaymasterDepositor" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol": { "keccak256": "0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196", "urls": [ "bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b", "dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 232 } diff --git a/eth_defi/abi/enzyme/IGlobalConfig1.json b/eth_defi/abi/enzyme/IGlobalConfig1.json index 126243d2..514d5ba8 100644 --- a/eth_defi/abi/enzyme/IGlobalConfig1.json +++ b/eth_defi/abi/enzyme/IGlobalConfig1.json @@ -1,170 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_recipientToValidate", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_sharesAmountToValidate", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_redeemContract", - "type": "address" - }, - { - "internalType": "bytes4", - "name": "_redeemSelector", - "type": "bytes4" - }, - { - "internalType": "bytes", - "name": "_redeemData", - "type": "bytes" - } - ], - "name": "isValidRedeemSharesCall", - "outputs": [ - { - "internalType": "bool", - "name": "isValid_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "isValidRedeemSharesCall(address,address,uint256,address,bytes4,bytes)": "5d4755dc" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_recipientToValidate\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_sharesAmountToValidate\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_redeemContract\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"_redeemSelector\",\"type\":\"bytes4\"},{\"internalType\":\"bytes\",\"name\":\"_redeemData\",\"type\":\"bytes\"}],\"name\":\"isValidRedeemSharesCall\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isValid_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"Each interface should inherit the previous interface, e.g., `IGlobalConfig2 is IGlobalConfig1`\",\"kind\":\"dev\",\"methods\":{},\"title\":\"IGlobalConfig1 Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/global-config/interfaces/IGlobalConfig1.sol\":\"IGlobalConfig1\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/global-config/interfaces/IGlobalConfig1.sol\":{\"keccak256\":\"0x7b643513fd8e1a3aadc476536785a925fb7c032c21e385e69e562abff531a646\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://682cce7a4c7316ab7aa39361dff84646ba8c89ad26f2c706a4b2940f8ab27205\",\"dweb:/ipfs/QmTtyfPn3M8ErCs8zuhT4NrZiL4CAUyv37os37HebYuGA8\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_recipientToValidate", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_sharesAmountToValidate", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_redeemContract", - "type": "address" - }, - { - "internalType": "bytes4", - "name": "_redeemSelector", - "type": "bytes4" - }, - { - "internalType": "bytes", - "name": "_redeemData", - "type": "bytes" - } - ], - "stateMutability": "view", - "type": "function", - "name": "isValidRedeemSharesCall", - "outputs": [ - { - "internalType": "bool", - "name": "isValid_", - "type": "bool" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/persistent/global-config/interfaces/IGlobalConfig1.sol": "IGlobalConfig1" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/global-config/interfaces/IGlobalConfig1.sol": { - "keccak256": "0x7b643513fd8e1a3aadc476536785a925fb7c032c21e385e69e562abff531a646", - "urls": [ - "bzz-raw://682cce7a4c7316ab7aa39361dff84646ba8c89ad26f2c706a4b2940f8ab27205", - "dweb:/ipfs/QmTtyfPn3M8ErCs8zuhT4NrZiL4CAUyv37os37HebYuGA8" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 43 -} +{ "abi": [ { "type": "function", "name": "isValidRedeemSharesCall", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_recipientToValidate", "type": "address", "internalType": "address" }, { "name": "_sharesAmountToValidate", "type": "uint256", "internalType": "uint256" }, { "name": "_redeemContract", "type": "address", "internalType": "address" }, { "name": "_redeemSelector", "type": "bytes4", "internalType": "bytes4" }, { "name": "_redeemData", "type": "bytes", "internalType": "bytes" } ], "outputs": [ { "name": "isValid_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "isValidRedeemSharesCall(address,address,uint256,address,bytes4,bytes)": "5d4755dc" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_recipientToValidate\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_sharesAmountToValidate\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_redeemContract\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"_redeemSelector\",\"type\":\"bytes4\"},{\"internalType\":\"bytes\",\"name\":\"_redeemData\",\"type\":\"bytes\"}],\"name\":\"isValidRedeemSharesCall\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isValid_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"Each interface should inherit the previous interface, e.g., `IGlobalConfig2 is IGlobalConfig1`\",\"kind\":\"dev\",\"methods\":{},\"title\":\"IGlobalConfig1 Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/global-config/interfaces/IGlobalConfig1.sol\":\"IGlobalConfig1\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/global-config/interfaces/IGlobalConfig1.sol\":{\"keccak256\":\"0x7b643513fd8e1a3aadc476536785a925fb7c032c21e385e69e562abff531a646\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://682cce7a4c7316ab7aa39361dff84646ba8c89ad26f2c706a4b2940f8ab27205\",\"dweb:/ipfs/QmTtyfPn3M8ErCs8zuhT4NrZiL4CAUyv37os37HebYuGA8\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "address", "name": "_recipientToValidate", "type": "address" }, { "internalType": "uint256", "name": "_sharesAmountToValidate", "type": "uint256" }, { "internalType": "address", "name": "_redeemContract", "type": "address" }, { "internalType": "bytes4", "name": "_redeemSelector", "type": "bytes4" }, { "internalType": "bytes", "name": "_redeemData", "type": "bytes" } ], "stateMutability": "view", "type": "function", "name": "isValidRedeemSharesCall", "outputs": [ { "internalType": "bool", "name": "isValid_", "type": "bool" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/persistent/global-config/interfaces/IGlobalConfig1.sol": "IGlobalConfig1" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/global-config/interfaces/IGlobalConfig1.sol": { "keccak256": "0x7b643513fd8e1a3aadc476536785a925fb7c032c21e385e69e562abff531a646", "urls": [ "bzz-raw://682cce7a4c7316ab7aa39361dff84646ba8c89ad26f2c706a4b2940f8ab27205", "dweb:/ipfs/QmTtyfPn3M8ErCs8zuhT4NrZiL4CAUyv37os37HebYuGA8" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 43 } diff --git a/eth_defi/abi/enzyme/IGlobalConfig2.json b/eth_defi/abi/enzyme/IGlobalConfig2.json index 5367e65f..8aee412a 100644 --- a/eth_defi/abi/enzyme/IGlobalConfig2.json +++ b/eth_defi/abi/enzyme/IGlobalConfig2.json @@ -1,336 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_depositAsset", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_depositAssetAmount", - "type": "uint256" - } - ], - "name": "formatDepositCall", - "outputs": [ - { - "internalType": "address", - "name": "target_", - "type": "address" - }, - { - "internalType": "bytes", - "name": "payload_", - "type": "bytes" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_recipient", - "type": "address" - }, - { - "internalType": "address", - "name": "_asset", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "_amountIsShares", - "type": "bool" - } - ], - "name": "formatSingleAssetRedemptionCall", - "outputs": [ - { - "internalType": "address", - "name": "target_", - "type": "address" - }, - { - "internalType": "bytes", - "name": "payload_", - "type": "bytes" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_recipientToValidate", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_sharesAmountToValidate", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_redeemContract", - "type": "address" - }, - { - "internalType": "bytes4", - "name": "_redeemSelector", - "type": "bytes4" - }, - { - "internalType": "bytes", - "name": "_redeemData", - "type": "bytes" - } - ], - "name": "isValidRedeemSharesCall", - "outputs": [ - { - "internalType": "bool", - "name": "isValid_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "formatDepositCall(address,address,uint256)": "7f180433", - "formatSingleAssetRedemptionCall(address,address,address,uint256,bool)": "2441593c", - "isValidRedeemSharesCall(address,address,uint256,address,bytes4,bytes)": "5d4755dc" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_depositAsset\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_depositAssetAmount\",\"type\":\"uint256\"}],\"name\":\"formatDepositCall\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"target_\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"payload_\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_recipient\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"_amountIsShares\",\"type\":\"bool\"}],\"name\":\"formatSingleAssetRedemptionCall\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"target_\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"payload_\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_recipientToValidate\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_sharesAmountToValidate\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_redeemContract\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"_redeemSelector\",\"type\":\"bytes4\"},{\"internalType\":\"bytes\",\"name\":\"_redeemData\",\"type\":\"bytes\"}],\"name\":\"isValidRedeemSharesCall\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isValid_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"Each interface should inherit the previous interface, e.g., `IGlobalConfig2 is IGlobalConfig1`\",\"kind\":\"dev\",\"methods\":{},\"title\":\"IGlobalConfig2 Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/global-config/interfaces/IGlobalConfig2.sol\":\"IGlobalConfig2\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/global-config/interfaces/IGlobalConfig1.sol\":{\"keccak256\":\"0x7b643513fd8e1a3aadc476536785a925fb7c032c21e385e69e562abff531a646\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://682cce7a4c7316ab7aa39361dff84646ba8c89ad26f2c706a4b2940f8ab27205\",\"dweb:/ipfs/QmTtyfPn3M8ErCs8zuhT4NrZiL4CAUyv37os37HebYuGA8\"]},\"contracts/persistent/global-config/interfaces/IGlobalConfig2.sol\":{\"keccak256\":\"0x98c55513d3903864848be0d1159ec7703f23b1119ca10da17c109417e06cc171\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c6a92d9afd1167d4f560d66ec98c3137f224db743fc3b6c412d5617be97168b9\",\"dweb:/ipfs/QmZbDacG1C1dsQ9tx3BgAH9nTp4zfWYF1YDRYVbcgcKob4\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_depositAsset", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_depositAssetAmount", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "formatDepositCall", - "outputs": [ - { - "internalType": "address", - "name": "target_", - "type": "address" - }, - { - "internalType": "bytes", - "name": "payload_", - "type": "bytes" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_recipient", - "type": "address" - }, - { - "internalType": "address", - "name": "_asset", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "_amountIsShares", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function", - "name": "formatSingleAssetRedemptionCall", - "outputs": [ - { - "internalType": "address", - "name": "target_", - "type": "address" - }, - { - "internalType": "bytes", - "name": "payload_", - "type": "bytes" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_recipientToValidate", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_sharesAmountToValidate", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_redeemContract", - "type": "address" - }, - { - "internalType": "bytes4", - "name": "_redeemSelector", - "type": "bytes4" - }, - { - "internalType": "bytes", - "name": "_redeemData", - "type": "bytes" - } - ], - "stateMutability": "view", - "type": "function", - "name": "isValidRedeemSharesCall", - "outputs": [ - { - "internalType": "bool", - "name": "isValid_", - "type": "bool" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/persistent/global-config/interfaces/IGlobalConfig2.sol": "IGlobalConfig2" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/global-config/interfaces/IGlobalConfig1.sol": { - "keccak256": "0x7b643513fd8e1a3aadc476536785a925fb7c032c21e385e69e562abff531a646", - "urls": [ - "bzz-raw://682cce7a4c7316ab7aa39361dff84646ba8c89ad26f2c706a4b2940f8ab27205", - "dweb:/ipfs/QmTtyfPn3M8ErCs8zuhT4NrZiL4CAUyv37os37HebYuGA8" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/global-config/interfaces/IGlobalConfig2.sol": { - "keccak256": "0x98c55513d3903864848be0d1159ec7703f23b1119ca10da17c109417e06cc171", - "urls": [ - "bzz-raw://c6a92d9afd1167d4f560d66ec98c3137f224db743fc3b6c412d5617be97168b9", - "dweb:/ipfs/QmZbDacG1C1dsQ9tx3BgAH9nTp4zfWYF1YDRYVbcgcKob4" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 44 -} +{ "abi": [ { "type": "function", "name": "formatDepositCall", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_depositAsset", "type": "address", "internalType": "address" }, { "name": "_depositAssetAmount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "target_", "type": "address", "internalType": "address" }, { "name": "payload_", "type": "bytes", "internalType": "bytes" } ], "stateMutability": "view" }, { "type": "function", "name": "formatSingleAssetRedemptionCall", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_recipient", "type": "address", "internalType": "address" }, { "name": "_asset", "type": "address", "internalType": "address" }, { "name": "_amount", "type": "uint256", "internalType": "uint256" }, { "name": "_amountIsShares", "type": "bool", "internalType": "bool" } ], "outputs": [ { "name": "target_", "type": "address", "internalType": "address" }, { "name": "payload_", "type": "bytes", "internalType": "bytes" } ], "stateMutability": "view" }, { "type": "function", "name": "isValidRedeemSharesCall", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_recipientToValidate", "type": "address", "internalType": "address" }, { "name": "_sharesAmountToValidate", "type": "uint256", "internalType": "uint256" }, { "name": "_redeemContract", "type": "address", "internalType": "address" }, { "name": "_redeemSelector", "type": "bytes4", "internalType": "bytes4" }, { "name": "_redeemData", "type": "bytes", "internalType": "bytes" } ], "outputs": [ { "name": "isValid_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "formatDepositCall(address,address,uint256)": "7f180433", "formatSingleAssetRedemptionCall(address,address,address,uint256,bool)": "2441593c", "isValidRedeemSharesCall(address,address,uint256,address,bytes4,bytes)": "5d4755dc" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_depositAsset\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_depositAssetAmount\",\"type\":\"uint256\"}],\"name\":\"formatDepositCall\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"target_\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"payload_\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_recipient\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"_amountIsShares\",\"type\":\"bool\"}],\"name\":\"formatSingleAssetRedemptionCall\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"target_\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"payload_\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_recipientToValidate\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_sharesAmountToValidate\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_redeemContract\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"_redeemSelector\",\"type\":\"bytes4\"},{\"internalType\":\"bytes\",\"name\":\"_redeemData\",\"type\":\"bytes\"}],\"name\":\"isValidRedeemSharesCall\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isValid_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"Each interface should inherit the previous interface, e.g., `IGlobalConfig2 is IGlobalConfig1`\",\"kind\":\"dev\",\"methods\":{},\"title\":\"IGlobalConfig2 Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/global-config/interfaces/IGlobalConfig2.sol\":\"IGlobalConfig2\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/global-config/interfaces/IGlobalConfig1.sol\":{\"keccak256\":\"0x7b643513fd8e1a3aadc476536785a925fb7c032c21e385e69e562abff531a646\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://682cce7a4c7316ab7aa39361dff84646ba8c89ad26f2c706a4b2940f8ab27205\",\"dweb:/ipfs/QmTtyfPn3M8ErCs8zuhT4NrZiL4CAUyv37os37HebYuGA8\"]},\"contracts/persistent/global-config/interfaces/IGlobalConfig2.sol\":{\"keccak256\":\"0x98c55513d3903864848be0d1159ec7703f23b1119ca10da17c109417e06cc171\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c6a92d9afd1167d4f560d66ec98c3137f224db743fc3b6c412d5617be97168b9\",\"dweb:/ipfs/QmZbDacG1C1dsQ9tx3BgAH9nTp4zfWYF1YDRYVbcgcKob4\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "address", "name": "_depositAsset", "type": "address" }, { "internalType": "uint256", "name": "_depositAssetAmount", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "formatDepositCall", "outputs": [ { "internalType": "address", "name": "target_", "type": "address" }, { "internalType": "bytes", "name": "payload_", "type": "bytes" } ] }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "address", "name": "_recipient", "type": "address" }, { "internalType": "address", "name": "_asset", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" }, { "internalType": "bool", "name": "_amountIsShares", "type": "bool" } ], "stateMutability": "view", "type": "function", "name": "formatSingleAssetRedemptionCall", "outputs": [ { "internalType": "address", "name": "target_", "type": "address" }, { "internalType": "bytes", "name": "payload_", "type": "bytes" } ] }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "address", "name": "_recipientToValidate", "type": "address" }, { "internalType": "uint256", "name": "_sharesAmountToValidate", "type": "uint256" }, { "internalType": "address", "name": "_redeemContract", "type": "address" }, { "internalType": "bytes4", "name": "_redeemSelector", "type": "bytes4" }, { "internalType": "bytes", "name": "_redeemData", "type": "bytes" } ], "stateMutability": "view", "type": "function", "name": "isValidRedeemSharesCall", "outputs": [ { "internalType": "bool", "name": "isValid_", "type": "bool" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/persistent/global-config/interfaces/IGlobalConfig2.sol": "IGlobalConfig2" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/global-config/interfaces/IGlobalConfig1.sol": { "keccak256": "0x7b643513fd8e1a3aadc476536785a925fb7c032c21e385e69e562abff531a646", "urls": [ "bzz-raw://682cce7a4c7316ab7aa39361dff84646ba8c89ad26f2c706a4b2940f8ab27205", "dweb:/ipfs/QmTtyfPn3M8ErCs8zuhT4NrZiL4CAUyv37os37HebYuGA8" ], "license": "GPL-3.0" }, "contracts/persistent/global-config/interfaces/IGlobalConfig2.sol": { "keccak256": "0x98c55513d3903864848be0d1159ec7703f23b1119ca10da17c109417e06cc171", "urls": [ "bzz-raw://c6a92d9afd1167d4f560d66ec98c3137f224db743fc3b6c412d5617be97168b9", "dweb:/ipfs/QmZbDacG1C1dsQ9tx3BgAH9nTp4zfWYF1YDRYVbcgcKob4" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 44 } diff --git a/eth_defi/abi/enzyme/IGlobalConfigLibComptrollerV4.json b/eth_defi/abi/enzyme/IGlobalConfigLibComptrollerV4.json index 46d339fa..bf7f9845 100644 --- a/eth_defi/abi/enzyme/IGlobalConfigLibComptrollerV4.json +++ b/eth_defi/abi/enzyme/IGlobalConfigLibComptrollerV4.json @@ -1,305 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "uint256", - "name": "_investmentAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_minSharesQuantity", - "type": "uint256" - } - ], - "name": "buyShares", - "outputs": [ - { - "internalType": "uint256", - "name": "sharesReceived_", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getDenominationAsset", - "outputs": [ - { - "internalType": "address", - "name": "denominationAsset_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_sharesQuantity", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "_payoutAssets", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "_payoutAssetPercentages", - "type": "uint256[]" - } - ], - "name": "redeemSharesForSpecificAssets", - "outputs": [ - { - "internalType": "uint256[]", - "name": "payoutAmounts_", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_sharesQuantity", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "_additionalAssets", - "type": "address[]" - }, - { - "internalType": "address[]", - "name": "_assetsToSkip", - "type": "address[]" - } - ], - "name": "redeemSharesInKind", - "outputs": [ - { - "internalType": "address[]", - "name": "payoutAssets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "payoutAmounts_", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "buyShares(uint256,uint256)": "beebc5da", - "getDenominationAsset()": "e269c3d6", - "redeemSharesForSpecificAssets(address,uint256,address[],uint256[])": "3462fcc1", - "redeemSharesInKind(address,uint256,address[],address[])": "6af8e7eb" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_investmentAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_minSharesQuantity\",\"type\":\"uint256\"}],\"name\":\"buyShares\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"sharesReceived_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDenominationAsset\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"denominationAsset_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_sharesQuantity\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"_payoutAssets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"_payoutAssetPercentages\",\"type\":\"uint256[]\"}],\"name\":\"redeemSharesForSpecificAssets\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"payoutAmounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_sharesQuantity\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"_additionalAssets\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"_assetsToSkip\",\"type\":\"address[]\"}],\"name\":\"redeemSharesInKind\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"payoutAssets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"payoutAmounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IGlobalConfigLibComptrollerV4 Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Limited interface for GlobalConfigLib's required Enzyme v4 ComptrollerLib calls\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/global-config/interfaces/IGlobalConfigLibComptrollerV4.sol\":\"IGlobalConfigLibComptrollerV4\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/global-config/interfaces/IGlobalConfigLibComptrollerV4.sol\":{\"keccak256\":\"0x3951dd8073cc4a4d6fa2782b8fe6df143dd1b8ff486954a5ca7791104fa24db7\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9e646edb981e9b4da62f6791f8f7073929dfd9fab6f69e73212028149913bfb7\",\"dweb:/ipfs/Qmcq2YXsP4xCQNYpnaPezxt1Ei4BBZkbu1pRy8hK2T1P2Q\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "uint256", - "name": "_investmentAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_minSharesQuantity", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "buyShares", - "outputs": [ - { - "internalType": "uint256", - "name": "sharesReceived_", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getDenominationAsset", - "outputs": [ - { - "internalType": "address", - "name": "denominationAsset_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_sharesQuantity", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "_payoutAssets", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "_payoutAssetPercentages", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "redeemSharesForSpecificAssets", - "outputs": [ - { - "internalType": "uint256[]", - "name": "payoutAmounts_", - "type": "uint256[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_sharesQuantity", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "_additionalAssets", - "type": "address[]" - }, - { - "internalType": "address[]", - "name": "_assetsToSkip", - "type": "address[]" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "redeemSharesInKind", - "outputs": [ - { - "internalType": "address[]", - "name": "payoutAssets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "payoutAmounts_", - "type": "uint256[]" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/persistent/global-config/interfaces/IGlobalConfigLibComptrollerV4.sol": "IGlobalConfigLibComptrollerV4" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/global-config/interfaces/IGlobalConfigLibComptrollerV4.sol": { - "keccak256": "0x3951dd8073cc4a4d6fa2782b8fe6df143dd1b8ff486954a5ca7791104fa24db7", - "urls": [ - "bzz-raw://9e646edb981e9b4da62f6791f8f7073929dfd9fab6f69e73212028149913bfb7", - "dweb:/ipfs/Qmcq2YXsP4xCQNYpnaPezxt1Ei4BBZkbu1pRy8hK2T1P2Q" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 45 -} +{ "abi": [ { "type": "function", "name": "buyShares", "inputs": [ { "name": "_investmentAmount", "type": "uint256", "internalType": "uint256" }, { "name": "_minSharesQuantity", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "sharesReceived_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "getDenominationAsset", "inputs": [], "outputs": [ { "name": "denominationAsset_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "redeemSharesForSpecificAssets", "inputs": [ { "name": "_recipient", "type": "address", "internalType": "address" }, { "name": "_sharesQuantity", "type": "uint256", "internalType": "uint256" }, { "name": "_payoutAssets", "type": "address[]", "internalType": "address[]" }, { "name": "_payoutAssetPercentages", "type": "uint256[]", "internalType": "uint256[]" } ], "outputs": [ { "name": "payoutAmounts_", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "redeemSharesInKind", "inputs": [ { "name": "_recipient", "type": "address", "internalType": "address" }, { "name": "_sharesQuantity", "type": "uint256", "internalType": "uint256" }, { "name": "_additionalAssets", "type": "address[]", "internalType": "address[]" }, { "name": "_assetsToSkip", "type": "address[]", "internalType": "address[]" } ], "outputs": [ { "name": "payoutAssets_", "type": "address[]", "internalType": "address[]" }, { "name": "payoutAmounts_", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "buyShares(uint256,uint256)": "beebc5da", "getDenominationAsset()": "e269c3d6", "redeemSharesForSpecificAssets(address,uint256,address[],uint256[])": "3462fcc1", "redeemSharesInKind(address,uint256,address[],address[])": "6af8e7eb" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_investmentAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_minSharesQuantity\",\"type\":\"uint256\"}],\"name\":\"buyShares\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"sharesReceived_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDenominationAsset\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"denominationAsset_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_sharesQuantity\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"_payoutAssets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"_payoutAssetPercentages\",\"type\":\"uint256[]\"}],\"name\":\"redeemSharesForSpecificAssets\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"payoutAmounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_sharesQuantity\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"_additionalAssets\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"_assetsToSkip\",\"type\":\"address[]\"}],\"name\":\"redeemSharesInKind\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"payoutAssets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"payoutAmounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IGlobalConfigLibComptrollerV4 Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Limited interface for GlobalConfigLib's required Enzyme v4 ComptrollerLib calls\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/global-config/interfaces/IGlobalConfigLibComptrollerV4.sol\":\"IGlobalConfigLibComptrollerV4\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/global-config/interfaces/IGlobalConfigLibComptrollerV4.sol\":{\"keccak256\":\"0x3951dd8073cc4a4d6fa2782b8fe6df143dd1b8ff486954a5ca7791104fa24db7\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9e646edb981e9b4da62f6791f8f7073929dfd9fab6f69e73212028149913bfb7\",\"dweb:/ipfs/Qmcq2YXsP4xCQNYpnaPezxt1Ei4BBZkbu1pRy8hK2T1P2Q\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "uint256", "name": "_investmentAmount", "type": "uint256" }, { "internalType": "uint256", "name": "_minSharesQuantity", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "buyShares", "outputs": [ { "internalType": "uint256", "name": "sharesReceived_", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getDenominationAsset", "outputs": [ { "internalType": "address", "name": "denominationAsset_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_recipient", "type": "address" }, { "internalType": "uint256", "name": "_sharesQuantity", "type": "uint256" }, { "internalType": "address[]", "name": "_payoutAssets", "type": "address[]" }, { "internalType": "uint256[]", "name": "_payoutAssetPercentages", "type": "uint256[]" } ], "stateMutability": "nonpayable", "type": "function", "name": "redeemSharesForSpecificAssets", "outputs": [ { "internalType": "uint256[]", "name": "payoutAmounts_", "type": "uint256[]" } ] }, { "inputs": [ { "internalType": "address", "name": "_recipient", "type": "address" }, { "internalType": "uint256", "name": "_sharesQuantity", "type": "uint256" }, { "internalType": "address[]", "name": "_additionalAssets", "type": "address[]" }, { "internalType": "address[]", "name": "_assetsToSkip", "type": "address[]" } ], "stateMutability": "nonpayable", "type": "function", "name": "redeemSharesInKind", "outputs": [ { "internalType": "address[]", "name": "payoutAssets_", "type": "address[]" }, { "internalType": "uint256[]", "name": "payoutAmounts_", "type": "uint256[]" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/persistent/global-config/interfaces/IGlobalConfigLibComptrollerV4.sol": "IGlobalConfigLibComptrollerV4" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/global-config/interfaces/IGlobalConfigLibComptrollerV4.sol": { "keccak256": "0x3951dd8073cc4a4d6fa2782b8fe6df143dd1b8ff486954a5ca7791104fa24db7", "urls": [ "bzz-raw://9e646edb981e9b4da62f6791f8f7073929dfd9fab6f69e73212028149913bfb7", "dweb:/ipfs/Qmcq2YXsP4xCQNYpnaPezxt1Ei4BBZkbu1pRy8hK2T1P2Q" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 45 } diff --git a/eth_defi/abi/enzyme/IGoldfinchConfig.json b/eth_defi/abi/enzyme/IGoldfinchConfig.json index b4e86119..7cb436e8 100644 --- a/eth_defi/abi/enzyme/IGoldfinchConfig.json +++ b/eth_defi/abi/enzyme/IGoldfinchConfig.json @@ -1,120 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "uint256", - "name": "_index", - "type": "uint256" - } - ], - "name": "getNumber", - "outputs": [ - { - "internalType": "uint256", - "name": "number_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "getNumber(uint256)": "fc563658" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_index\",\"type\":\"uint256\"}],\"name\":\"getNumber\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"number_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IGoldfinchConfig Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/IGoldfinchConfig.sol\":\"IGoldfinchConfig\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/IGoldfinchConfig.sol\":{\"keccak256\":\"0xcb4060c0278811ee27f445d12dfe1046246055d54520bd6ca107f1e94477d693\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://0080e4ed699883e83d58e689f227e5138a171878dffd41e8f27c393a54219932\",\"dweb:/ipfs/QmcAoYW14R2Q6wLX7CNxWgra6NrL1XjArKVSyJkUS5qu3F\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "uint256", - "name": "_index", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getNumber", - "outputs": [ - { - "internalType": "uint256", - "name": "number_", - "type": "uint256" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/interfaces/IGoldfinchConfig.sol": "IGoldfinchConfig" - }, - "libraries": {} - }, - "sources": { - "contracts/release/interfaces/IGoldfinchConfig.sol": { - "keccak256": "0xcb4060c0278811ee27f445d12dfe1046246055d54520bd6ca107f1e94477d693", - "urls": [ - "bzz-raw://0080e4ed699883e83d58e689f227e5138a171878dffd41e8f27c393a54219932", - "dweb:/ipfs/QmcAoYW14R2Q6wLX7CNxWgra6NrL1XjArKVSyJkUS5qu3F" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 301 -} +{ "abi": [ { "type": "function", "name": "getNumber", "inputs": [ { "name": "_index", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "number_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "getNumber(uint256)": "fc563658" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_index\",\"type\":\"uint256\"}],\"name\":\"getNumber\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"number_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IGoldfinchConfig Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/IGoldfinchConfig.sol\":\"IGoldfinchConfig\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/IGoldfinchConfig.sol\":{\"keccak256\":\"0xcb4060c0278811ee27f445d12dfe1046246055d54520bd6ca107f1e94477d693\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://0080e4ed699883e83d58e689f227e5138a171878dffd41e8f27c393a54219932\",\"dweb:/ipfs/QmcAoYW14R2Q6wLX7CNxWgra6NrL1XjArKVSyJkUS5qu3F\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "uint256", "name": "_index", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "getNumber", "outputs": [ { "internalType": "uint256", "name": "number_", "type": "uint256" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/interfaces/IGoldfinchConfig.sol": "IGoldfinchConfig" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/interfaces/IGoldfinchConfig.sol": { "keccak256": "0xcb4060c0278811ee27f445d12dfe1046246055d54520bd6ca107f1e94477d693", "urls": [ "bzz-raw://0080e4ed699883e83d58e689f227e5138a171878dffd41e8f27c393a54219932", "dweb:/ipfs/QmcAoYW14R2Q6wLX7CNxWgra6NrL1XjArKVSyJkUS5qu3F" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 301 } diff --git a/eth_defi/abi/enzyme/IGoldfinchSeniorPool.json b/eth_defi/abi/enzyme/IGoldfinchSeniorPool.json index 71d3586c..a93a7753 100644 --- a/eth_defi/abi/enzyme/IGoldfinchSeniorPool.json +++ b/eth_defi/abi/enzyme/IGoldfinchSeniorPool.json @@ -1,135 +1 @@ -{ - "abi": [ - { - "inputs": [], - "name": "config", - "outputs": [ - { - "internalType": "address", - "name": "config_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "sharePrice", - "outputs": [ - { - "internalType": "uint256", - "name": "price_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "config()": "79502c55", - "sharePrice()": "87269729" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"config\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"config_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"sharePrice\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"price_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IGoldfinchSeniorPool Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/IGoldfinchSeniorPool.sol\":\"IGoldfinchSeniorPool\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/IGoldfinchSeniorPool.sol\":{\"keccak256\":\"0x651e29127e7c1256ca109e0a227038c5a3eac2543c6523927438751033ad12f5\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://75ebbd304decb6ba7ee94278f5c555a4f43a258d50689ffa84c4efc05fbe8d9b\",\"dweb:/ipfs/QmcTSWXNj2yiZAoa4J7aQ4jbKvmfjKvmQX3LNF8m7nL6Q7\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "config", - "outputs": [ - { - "internalType": "address", - "name": "config_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "sharePrice", - "outputs": [ - { - "internalType": "uint256", - "name": "price_", - "type": "uint256" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/interfaces/IGoldfinchSeniorPool.sol": "IGoldfinchSeniorPool" - }, - "libraries": {} - }, - "sources": { - "contracts/release/interfaces/IGoldfinchSeniorPool.sol": { - "keccak256": "0x651e29127e7c1256ca109e0a227038c5a3eac2543c6523927438751033ad12f5", - "urls": [ - "bzz-raw://75ebbd304decb6ba7ee94278f5c555a4f43a258d50689ffa84c4efc05fbe8d9b", - "dweb:/ipfs/QmcTSWXNj2yiZAoa4J7aQ4jbKvmfjKvmQX3LNF8m7nL6Q7" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 302 -} +{ "abi": [ { "type": "function", "name": "config", "inputs": [], "outputs": [ { "name": "config_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "sharePrice", "inputs": [], "outputs": [ { "name": "price_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "config()": "79502c55", "sharePrice()": "87269729" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"config\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"config_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"sharePrice\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"price_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IGoldfinchSeniorPool Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/IGoldfinchSeniorPool.sol\":\"IGoldfinchSeniorPool\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/IGoldfinchSeniorPool.sol\":{\"keccak256\":\"0x651e29127e7c1256ca109e0a227038c5a3eac2543c6523927438751033ad12f5\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://75ebbd304decb6ba7ee94278f5c555a4f43a258d50689ffa84c4efc05fbe8d9b\",\"dweb:/ipfs/QmcTSWXNj2yiZAoa4J7aQ4jbKvmfjKvmQX3LNF8m7nL6Q7\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [], "stateMutability": "view", "type": "function", "name": "config", "outputs": [ { "internalType": "address", "name": "config_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "sharePrice", "outputs": [ { "internalType": "uint256", "name": "price_", "type": "uint256" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/interfaces/IGoldfinchSeniorPool.sol": "IGoldfinchSeniorPool" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/interfaces/IGoldfinchSeniorPool.sol": { "keccak256": "0x651e29127e7c1256ca109e0a227038c5a3eac2543c6523927438751033ad12f5", "urls": [ "bzz-raw://75ebbd304decb6ba7ee94278f5c555a4f43a258d50689ffa84c4efc05fbe8d9b", "dweb:/ipfs/QmcTSWXNj2yiZAoa4J7aQ4jbKvmfjKvmQX3LNF8m7nL6Q7" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 302 } diff --git a/eth_defi/abi/enzyme/IGsnForwarder.json b/eth_defi/abi/enzyme/IGsnForwarder.json index 14ef0b82..d21e7989 100644 --- a/eth_defi/abi/enzyme/IGsnForwarder.json +++ b/eth_defi/abi/enzyme/IGsnForwarder.json @@ -1,78 +1 @@ -{ - "abi": [], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": {}, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IGsnForwarder interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/IGsnForwarder.sol\":\"IGsnForwarder\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/IGsnForwarder.sol\":{\"keccak256\":\"0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29\",\"dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/interfaces/IGsnForwarder.sol": "IGsnForwarder" - }, - "libraries": {} - }, - "sources": { - "contracts/release/interfaces/IGsnForwarder.sol": { - "keccak256": "0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030", - "urls": [ - "bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29", - "dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 303 -} +{ "abi": [], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": {}, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IGsnForwarder interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/IGsnForwarder.sol\":\"IGsnForwarder\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/IGsnForwarder.sol\":{\"keccak256\":\"0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29\",\"dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/interfaces/IGsnForwarder.sol": "IGsnForwarder" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/interfaces/IGsnForwarder.sol": { "keccak256": "0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030", "urls": [ "bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29", "dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 303 } diff --git a/eth_defi/abi/enzyme/IGsnPaymaster.json b/eth_defi/abi/enzyme/IGsnPaymaster.json index 24876bb7..51d89410 100644 --- a/eth_defi/abi/enzyme/IGsnPaymaster.json +++ b/eth_defi/abi/enzyme/IGsnPaymaster.json @@ -1,677 +1 @@ -{ - "abi": [ - { - "inputs": [], - "name": "getGasAndDataLimits", - "outputs": [ - { - "components": [ - { - "internalType": "uint256", - "name": "acceptanceBudget", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "preRelayedCallGasLimit", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "postRelayedCallGasLimit", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "calldataSizeLimit", - "type": "uint256" - } - ], - "internalType": "struct IGsnPaymaster.GasAndDataLimits", - "name": "limits", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getHubAddr", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getRelayHubDeposit", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "context", - "type": "bytes" - }, - { - "internalType": "bool", - "name": "success", - "type": "bool" - }, - { - "internalType": "uint256", - "name": "gasUseWithoutPost", - "type": "uint256" - }, - { - "components": [ - { - "internalType": "uint256", - "name": "gasPrice", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "pctRelayFee", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "baseRelayFee", - "type": "uint256" - }, - { - "internalType": "address", - "name": "relayWorker", - "type": "address" - }, - { - "internalType": "address", - "name": "paymaster", - "type": "address" - }, - { - "internalType": "address", - "name": "forwarder", - "type": "address" - }, - { - "internalType": "bytes", - "name": "paymasterData", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "clientId", - "type": "uint256" - } - ], - "internalType": "struct IGsnTypes.RelayData", - "name": "relayData", - "type": "tuple" - } - ], - "name": "postRelayedCall", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "components": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "gas", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "nonce", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "validUntil", - "type": "uint256" - } - ], - "internalType": "struct IGsnForwarder.ForwardRequest", - "name": "request", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "uint256", - "name": "gasPrice", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "pctRelayFee", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "baseRelayFee", - "type": "uint256" - }, - { - "internalType": "address", - "name": "relayWorker", - "type": "address" - }, - { - "internalType": "address", - "name": "paymaster", - "type": "address" - }, - { - "internalType": "address", - "name": "forwarder", - "type": "address" - }, - { - "internalType": "bytes", - "name": "paymasterData", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "clientId", - "type": "uint256" - } - ], - "internalType": "struct IGsnTypes.RelayData", - "name": "relayData", - "type": "tuple" - } - ], - "internalType": "struct IGsnTypes.RelayRequest", - "name": "relayRequest", - "type": "tuple" - }, - { - "internalType": "bytes", - "name": "signature", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "approvalData", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "maxPossibleGas", - "type": "uint256" - } - ], - "name": "preRelayedCall", - "outputs": [ - { - "internalType": "bytes", - "name": "context", - "type": "bytes" - }, - { - "internalType": "bool", - "name": "rejectOnRecipientRevert", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "trustedForwarder", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "versionPaymaster", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "getGasAndDataLimits()": "b039a88f", - "getHubAddr()": "74e861d6", - "getRelayHubDeposit()": "2afe31c1", - "postRelayedCall(bytes,bool,uint256,(uint256,uint256,uint256,address,address,address,bytes,uint256))": "76fa01c3", - "preRelayedCall(((address,address,uint256,uint256,uint256,bytes,uint256),(uint256,uint256,uint256,address,address,address,bytes,uint256)),bytes,bytes,uint256)": "00be5dd4", - "trustedForwarder()": "7da0a877", - "versionPaymaster()": "921276ea" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"getGasAndDataLimits\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"acceptanceBudget\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"preRelayedCallGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"postRelayedCallGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"calldataSizeLimit\",\"type\":\"uint256\"}],\"internalType\":\"struct IGsnPaymaster.GasAndDataLimits\",\"name\":\"limits\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getHubAddr\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRelayHubDeposit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"context\",\"type\":\"bytes\"},{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"gasUseWithoutPost\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"gasPrice\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"pctRelayFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"baseRelayFee\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"relayWorker\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"paymaster\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"forwarder\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"paymasterData\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"clientId\",\"type\":\"uint256\"}],\"internalType\":\"struct IGsnTypes.RelayData\",\"name\":\"relayData\",\"type\":\"tuple\"}],\"name\":\"postRelayedCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"gas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"validUntil\",\"type\":\"uint256\"}],\"internalType\":\"struct IGsnForwarder.ForwardRequest\",\"name\":\"request\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"gasPrice\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"pctRelayFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"baseRelayFee\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"relayWorker\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"paymaster\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"forwarder\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"paymasterData\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"clientId\",\"type\":\"uint256\"}],\"internalType\":\"struct IGsnTypes.RelayData\",\"name\":\"relayData\",\"type\":\"tuple\"}],\"internalType\":\"struct IGsnTypes.RelayRequest\",\"name\":\"relayRequest\",\"type\":\"tuple\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"approvalData\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"maxPossibleGas\",\"type\":\"uint256\"}],\"name\":\"preRelayedCall\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"context\",\"type\":\"bytes\"},{\"internalType\":\"bool\",\"name\":\"rejectOnRecipientRevert\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"trustedForwarder\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"versionPaymaster\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IGsnPaymaster interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/IGsnPaymaster.sol\":\"IGsnPaymaster\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/IGsnForwarder.sol\":{\"keccak256\":\"0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29\",\"dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G\"]},\"contracts/release/interfaces/IGsnPaymaster.sol\":{\"keccak256\":\"0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4\",\"dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF\"]},\"contracts/release/interfaces/IGsnTypes.sol\":{\"keccak256\":\"0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7\",\"dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getGasAndDataLimits", - "outputs": [ - { - "internalType": "struct IGsnPaymaster.GasAndDataLimits", - "name": "limits", - "type": "tuple", - "components": [ - { - "internalType": "uint256", - "name": "acceptanceBudget", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "preRelayedCallGasLimit", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "postRelayedCallGasLimit", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "calldataSizeLimit", - "type": "uint256" - } - ] - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getHubAddr", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getRelayHubDeposit", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "context", - "type": "bytes" - }, - { - "internalType": "bool", - "name": "success", - "type": "bool" - }, - { - "internalType": "uint256", - "name": "gasUseWithoutPost", - "type": "uint256" - }, - { - "internalType": "struct IGsnTypes.RelayData", - "name": "relayData", - "type": "tuple", - "components": [ - { - "internalType": "uint256", - "name": "gasPrice", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "pctRelayFee", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "baseRelayFee", - "type": "uint256" - }, - { - "internalType": "address", - "name": "relayWorker", - "type": "address" - }, - { - "internalType": "address", - "name": "paymaster", - "type": "address" - }, - { - "internalType": "address", - "name": "forwarder", - "type": "address" - }, - { - "internalType": "bytes", - "name": "paymasterData", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "clientId", - "type": "uint256" - } - ] - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "postRelayedCall" - }, - { - "inputs": [ - { - "internalType": "struct IGsnTypes.RelayRequest", - "name": "relayRequest", - "type": "tuple", - "components": [ - { - "internalType": "struct IGsnForwarder.ForwardRequest", - "name": "request", - "type": "tuple", - "components": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "gas", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "nonce", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "validUntil", - "type": "uint256" - } - ] - }, - { - "internalType": "struct IGsnTypes.RelayData", - "name": "relayData", - "type": "tuple", - "components": [ - { - "internalType": "uint256", - "name": "gasPrice", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "pctRelayFee", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "baseRelayFee", - "type": "uint256" - }, - { - "internalType": "address", - "name": "relayWorker", - "type": "address" - }, - { - "internalType": "address", - "name": "paymaster", - "type": "address" - }, - { - "internalType": "address", - "name": "forwarder", - "type": "address" - }, - { - "internalType": "bytes", - "name": "paymasterData", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "clientId", - "type": "uint256" - } - ] - } - ] - }, - { - "internalType": "bytes", - "name": "signature", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "approvalData", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "maxPossibleGas", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "preRelayedCall", - "outputs": [ - { - "internalType": "bytes", - "name": "context", - "type": "bytes" - }, - { - "internalType": "bool", - "name": "rejectOnRecipientRevert", - "type": "bool" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "trustedForwarder", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "versionPaymaster", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/interfaces/IGsnPaymaster.sol": "IGsnPaymaster" - }, - "libraries": {} - }, - "sources": { - "contracts/release/interfaces/IGsnForwarder.sol": { - "keccak256": "0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030", - "urls": [ - "bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29", - "dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IGsnPaymaster.sol": { - "keccak256": "0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c", - "urls": [ - "bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4", - "dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IGsnTypes.sol": { - "keccak256": "0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714", - "urls": [ - "bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7", - "dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 304 -} +{ "abi": [ { "type": "function", "name": "getGasAndDataLimits", "inputs": [], "outputs": [ { "name": "limits", "type": "tuple", "internalType": "struct IGsnPaymaster.GasAndDataLimits", "components": [ { "name": "acceptanceBudget", "type": "uint256", "internalType": "uint256" }, { "name": "preRelayedCallGasLimit", "type": "uint256", "internalType": "uint256" }, { "name": "postRelayedCallGasLimit", "type": "uint256", "internalType": "uint256" }, { "name": "calldataSizeLimit", "type": "uint256", "internalType": "uint256" } ] } ], "stateMutability": "view" }, { "type": "function", "name": "getHubAddr", "inputs": [], "outputs": [ { "name": "", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getRelayHubDeposit", "inputs": [], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "postRelayedCall", "inputs": [ { "name": "context", "type": "bytes", "internalType": "bytes" }, { "name": "success", "type": "bool", "internalType": "bool" }, { "name": "gasUseWithoutPost", "type": "uint256", "internalType": "uint256" }, { "name": "relayData", "type": "tuple", "internalType": "struct IGsnTypes.RelayData", "components": [ { "name": "gasPrice", "type": "uint256", "internalType": "uint256" }, { "name": "pctRelayFee", "type": "uint256", "internalType": "uint256" }, { "name": "baseRelayFee", "type": "uint256", "internalType": "uint256" }, { "name": "relayWorker", "type": "address", "internalType": "address" }, { "name": "paymaster", "type": "address", "internalType": "address" }, { "name": "forwarder", "type": "address", "internalType": "address" }, { "name": "paymasterData", "type": "bytes", "internalType": "bytes" }, { "name": "clientId", "type": "uint256", "internalType": "uint256" } ] } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "preRelayedCall", "inputs": [ { "name": "relayRequest", "type": "tuple", "internalType": "struct IGsnTypes.RelayRequest", "components": [ { "name": "request", "type": "tuple", "internalType": "struct IGsnForwarder.ForwardRequest", "components": [ { "name": "from", "type": "address", "internalType": "address" }, { "name": "to", "type": "address", "internalType": "address" }, { "name": "value", "type": "uint256", "internalType": "uint256" }, { "name": "gas", "type": "uint256", "internalType": "uint256" }, { "name": "nonce", "type": "uint256", "internalType": "uint256" }, { "name": "data", "type": "bytes", "internalType": "bytes" }, { "name": "validUntil", "type": "uint256", "internalType": "uint256" } ] }, { "name": "relayData", "type": "tuple", "internalType": "struct IGsnTypes.RelayData", "components": [ { "name": "gasPrice", "type": "uint256", "internalType": "uint256" }, { "name": "pctRelayFee", "type": "uint256", "internalType": "uint256" }, { "name": "baseRelayFee", "type": "uint256", "internalType": "uint256" }, { "name": "relayWorker", "type": "address", "internalType": "address" }, { "name": "paymaster", "type": "address", "internalType": "address" }, { "name": "forwarder", "type": "address", "internalType": "address" }, { "name": "paymasterData", "type": "bytes", "internalType": "bytes" }, { "name": "clientId", "type": "uint256", "internalType": "uint256" } ] } ] }, { "name": "signature", "type": "bytes", "internalType": "bytes" }, { "name": "approvalData", "type": "bytes", "internalType": "bytes" }, { "name": "maxPossibleGas", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "context", "type": "bytes", "internalType": "bytes" }, { "name": "rejectOnRecipientRevert", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "trustedForwarder", "inputs": [], "outputs": [ { "name": "", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "versionPaymaster", "inputs": [], "outputs": [ { "name": "", "type": "string", "internalType": "string" } ], "stateMutability": "view" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "getGasAndDataLimits()": "b039a88f", "getHubAddr()": "74e861d6", "getRelayHubDeposit()": "2afe31c1", "postRelayedCall(bytes,bool,uint256,(uint256,uint256,uint256,address,address,address,bytes,uint256))": "76fa01c3", "preRelayedCall(((address,address,uint256,uint256,uint256,bytes,uint256),(uint256,uint256,uint256,address,address,address,bytes,uint256)),bytes,bytes,uint256)": "00be5dd4", "trustedForwarder()": "7da0a877", "versionPaymaster()": "921276ea" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"getGasAndDataLimits\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"acceptanceBudget\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"preRelayedCallGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"postRelayedCallGasLimit\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"calldataSizeLimit\",\"type\":\"uint256\"}],\"internalType\":\"struct IGsnPaymaster.GasAndDataLimits\",\"name\":\"limits\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getHubAddr\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRelayHubDeposit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"context\",\"type\":\"bytes\"},{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"gasUseWithoutPost\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"gasPrice\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"pctRelayFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"baseRelayFee\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"relayWorker\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"paymaster\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"forwarder\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"paymasterData\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"clientId\",\"type\":\"uint256\"}],\"internalType\":\"struct IGsnTypes.RelayData\",\"name\":\"relayData\",\"type\":\"tuple\"}],\"name\":\"postRelayedCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"gas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"validUntil\",\"type\":\"uint256\"}],\"internalType\":\"struct IGsnForwarder.ForwardRequest\",\"name\":\"request\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"gasPrice\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"pctRelayFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"baseRelayFee\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"relayWorker\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"paymaster\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"forwarder\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"paymasterData\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"clientId\",\"type\":\"uint256\"}],\"internalType\":\"struct IGsnTypes.RelayData\",\"name\":\"relayData\",\"type\":\"tuple\"}],\"internalType\":\"struct IGsnTypes.RelayRequest\",\"name\":\"relayRequest\",\"type\":\"tuple\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"approvalData\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"maxPossibleGas\",\"type\":\"uint256\"}],\"name\":\"preRelayedCall\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"context\",\"type\":\"bytes\"},{\"internalType\":\"bool\",\"name\":\"rejectOnRecipientRevert\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"trustedForwarder\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"versionPaymaster\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IGsnPaymaster interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/IGsnPaymaster.sol\":\"IGsnPaymaster\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/IGsnForwarder.sol\":{\"keccak256\":\"0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29\",\"dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G\"]},\"contracts/release/interfaces/IGsnPaymaster.sol\":{\"keccak256\":\"0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4\",\"dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF\"]},\"contracts/release/interfaces/IGsnTypes.sol\":{\"keccak256\":\"0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7\",\"dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [], "stateMutability": "view", "type": "function", "name": "getGasAndDataLimits", "outputs": [ { "internalType": "struct IGsnPaymaster.GasAndDataLimits", "name": "limits", "type": "tuple", "components": [ { "internalType": "uint256", "name": "acceptanceBudget", "type": "uint256" }, { "internalType": "uint256", "name": "preRelayedCallGasLimit", "type": "uint256" }, { "internalType": "uint256", "name": "postRelayedCallGasLimit", "type": "uint256" }, { "internalType": "uint256", "name": "calldataSizeLimit", "type": "uint256" } ] } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getHubAddr", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getRelayHubDeposit", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "bytes", "name": "context", "type": "bytes" }, { "internalType": "bool", "name": "success", "type": "bool" }, { "internalType": "uint256", "name": "gasUseWithoutPost", "type": "uint256" }, { "internalType": "struct IGsnTypes.RelayData", "name": "relayData", "type": "tuple", "components": [ { "internalType": "uint256", "name": "gasPrice", "type": "uint256" }, { "internalType": "uint256", "name": "pctRelayFee", "type": "uint256" }, { "internalType": "uint256", "name": "baseRelayFee", "type": "uint256" }, { "internalType": "address", "name": "relayWorker", "type": "address" }, { "internalType": "address", "name": "paymaster", "type": "address" }, { "internalType": "address", "name": "forwarder", "type": "address" }, { "internalType": "bytes", "name": "paymasterData", "type": "bytes" }, { "internalType": "uint256", "name": "clientId", "type": "uint256" } ] } ], "stateMutability": "nonpayable", "type": "function", "name": "postRelayedCall" }, { "inputs": [ { "internalType": "struct IGsnTypes.RelayRequest", "name": "relayRequest", "type": "tuple", "components": [ { "internalType": "struct IGsnForwarder.ForwardRequest", "name": "request", "type": "tuple", "components": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" }, { "internalType": "uint256", "name": "gas", "type": "uint256" }, { "internalType": "uint256", "name": "nonce", "type": "uint256" }, { "internalType": "bytes", "name": "data", "type": "bytes" }, { "internalType": "uint256", "name": "validUntil", "type": "uint256" } ] }, { "internalType": "struct IGsnTypes.RelayData", "name": "relayData", "type": "tuple", "components": [ { "internalType": "uint256", "name": "gasPrice", "type": "uint256" }, { "internalType": "uint256", "name": "pctRelayFee", "type": "uint256" }, { "internalType": "uint256", "name": "baseRelayFee", "type": "uint256" }, { "internalType": "address", "name": "relayWorker", "type": "address" }, { "internalType": "address", "name": "paymaster", "type": "address" }, { "internalType": "address", "name": "forwarder", "type": "address" }, { "internalType": "bytes", "name": "paymasterData", "type": "bytes" }, { "internalType": "uint256", "name": "clientId", "type": "uint256" } ] } ] }, { "internalType": "bytes", "name": "signature", "type": "bytes" }, { "internalType": "bytes", "name": "approvalData", "type": "bytes" }, { "internalType": "uint256", "name": "maxPossibleGas", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "preRelayedCall", "outputs": [ { "internalType": "bytes", "name": "context", "type": "bytes" }, { "internalType": "bool", "name": "rejectOnRecipientRevert", "type": "bool" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "trustedForwarder", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "versionPaymaster", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/interfaces/IGsnPaymaster.sol": "IGsnPaymaster" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/interfaces/IGsnForwarder.sol": { "keccak256": "0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030", "urls": [ "bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29", "dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IGsnPaymaster.sol": { "keccak256": "0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c", "urls": [ "bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4", "dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IGsnTypes.sol": { "keccak256": "0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714", "urls": [ "bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7", "dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 304 } diff --git a/eth_defi/abi/enzyme/IGsnRelayHub.json b/eth_defi/abi/enzyme/IGsnRelayHub.json index 888c6488..aa401430 100644 --- a/eth_defi/abi/enzyme/IGsnRelayHub.json +++ b/eth_defi/abi/enzyme/IGsnRelayHub.json @@ -1,602 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "target", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "gasUsed", - "type": "uint256" - }, - { - "components": [ - { - "internalType": "uint256", - "name": "gasPrice", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "pctRelayFee", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "baseRelayFee", - "type": "uint256" - }, - { - "internalType": "address", - "name": "relayWorker", - "type": "address" - }, - { - "internalType": "address", - "name": "paymaster", - "type": "address" - }, - { - "internalType": "address", - "name": "forwarder", - "type": "address" - }, - { - "internalType": "bytes", - "name": "paymasterData", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "clientId", - "type": "uint256" - } - ], - "internalType": "struct IGsnTypes.RelayData", - "name": "relayData", - "type": "tuple" - } - ], - "name": "calculateCharge", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "target", - "type": "address" - } - ], - "name": "depositFor", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "maxAcceptanceBudget", - "type": "uint256" - }, - { - "components": [ - { - "components": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "gas", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "nonce", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "validUntil", - "type": "uint256" - } - ], - "internalType": "struct IGsnForwarder.ForwardRequest", - "name": "request", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "uint256", - "name": "gasPrice", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "pctRelayFee", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "baseRelayFee", - "type": "uint256" - }, - { - "internalType": "address", - "name": "relayWorker", - "type": "address" - }, - { - "internalType": "address", - "name": "paymaster", - "type": "address" - }, - { - "internalType": "address", - "name": "forwarder", - "type": "address" - }, - { - "internalType": "bytes", - "name": "paymasterData", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "clientId", - "type": "uint256" - } - ], - "internalType": "struct IGsnTypes.RelayData", - "name": "relayData", - "type": "tuple" - } - ], - "internalType": "struct IGsnTypes.RelayRequest", - "name": "relayRequest", - "type": "tuple" - }, - { - "internalType": "bytes", - "name": "signature", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "approvalData", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "externalGasLimit", - "type": "uint256" - } - ], - "name": "relayCall", - "outputs": [ - { - "internalType": "bool", - "name": "paymasterAccepted", - "type": "bool" - }, - { - "internalType": "bytes", - "name": "returnValue", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "address payable", - "name": "dest", - "type": "address" - } - ], - "name": "withdraw", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "balanceOf(address)": "70a08231", - "calculateCharge(uint256,(uint256,uint256,uint256,address,address,address,bytes,uint256))": "8e53548b", - "depositFor(address)": "aa67c919", - "relayCall(uint256,((address,address,uint256,uint256,uint256,bytes,uint256),(uint256,uint256,uint256,address,address,address,bytes,uint256)),bytes,bytes,uint256)": "10c45431", - "withdraw(uint256,address)": "00f714ce" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"gasUsed\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"gasPrice\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"pctRelayFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"baseRelayFee\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"relayWorker\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"paymaster\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"forwarder\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"paymasterData\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"clientId\",\"type\":\"uint256\"}],\"internalType\":\"struct IGsnTypes.RelayData\",\"name\":\"relayData\",\"type\":\"tuple\"}],\"name\":\"calculateCharge\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"depositFor\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"maxAcceptanceBudget\",\"type\":\"uint256\"},{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"gas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"validUntil\",\"type\":\"uint256\"}],\"internalType\":\"struct IGsnForwarder.ForwardRequest\",\"name\":\"request\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"gasPrice\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"pctRelayFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"baseRelayFee\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"relayWorker\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"paymaster\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"forwarder\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"paymasterData\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"clientId\",\"type\":\"uint256\"}],\"internalType\":\"struct IGsnTypes.RelayData\",\"name\":\"relayData\",\"type\":\"tuple\"}],\"internalType\":\"struct IGsnTypes.RelayRequest\",\"name\":\"relayRequest\",\"type\":\"tuple\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"approvalData\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"externalGasLimit\",\"type\":\"uint256\"}],\"name\":\"relayCall\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"paymasterAccepted\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnValue\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"address payable\",\"name\":\"dest\",\"type\":\"address\"}],\"name\":\"withdraw\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IGsnRelayHub Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/IGsnRelayHub.sol\":\"IGsnRelayHub\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/IGsnForwarder.sol\":{\"keccak256\":\"0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29\",\"dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G\"]},\"contracts/release/interfaces/IGsnRelayHub.sol\":{\"keccak256\":\"0x118c6df3aa483cc26ba7d4331267fb75c92025fe7890b35f4057a7c6f96a7590\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://374088f4368235c911ea94b213cbf3dd40ab277d183c5c3d3db0435ef50cbf04\",\"dweb:/ipfs/QmSC2JoNqrjqiAnYHNX1JFQnp8XnPriSi7cAutT6YbKvb9\"]},\"contracts/release/interfaces/IGsnTypes.sol\":{\"keccak256\":\"0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7\",\"dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "target", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "gasUsed", - "type": "uint256" - }, - { - "internalType": "struct IGsnTypes.RelayData", - "name": "relayData", - "type": "tuple", - "components": [ - { - "internalType": "uint256", - "name": "gasPrice", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "pctRelayFee", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "baseRelayFee", - "type": "uint256" - }, - { - "internalType": "address", - "name": "relayWorker", - "type": "address" - }, - { - "internalType": "address", - "name": "paymaster", - "type": "address" - }, - { - "internalType": "address", - "name": "forwarder", - "type": "address" - }, - { - "internalType": "bytes", - "name": "paymasterData", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "clientId", - "type": "uint256" - } - ] - } - ], - "stateMutability": "view", - "type": "function", - "name": "calculateCharge", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "target", - "type": "address" - } - ], - "stateMutability": "payable", - "type": "function", - "name": "depositFor" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "maxAcceptanceBudget", - "type": "uint256" - }, - { - "internalType": "struct IGsnTypes.RelayRequest", - "name": "relayRequest", - "type": "tuple", - "components": [ - { - "internalType": "struct IGsnForwarder.ForwardRequest", - "name": "request", - "type": "tuple", - "components": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "gas", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "nonce", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "validUntil", - "type": "uint256" - } - ] - }, - { - "internalType": "struct IGsnTypes.RelayData", - "name": "relayData", - "type": "tuple", - "components": [ - { - "internalType": "uint256", - "name": "gasPrice", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "pctRelayFee", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "baseRelayFee", - "type": "uint256" - }, - { - "internalType": "address", - "name": "relayWorker", - "type": "address" - }, - { - "internalType": "address", - "name": "paymaster", - "type": "address" - }, - { - "internalType": "address", - "name": "forwarder", - "type": "address" - }, - { - "internalType": "bytes", - "name": "paymasterData", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "clientId", - "type": "uint256" - } - ] - } - ] - }, - { - "internalType": "bytes", - "name": "signature", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "approvalData", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "externalGasLimit", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "relayCall", - "outputs": [ - { - "internalType": "bool", - "name": "paymasterAccepted", - "type": "bool" - }, - { - "internalType": "bytes", - "name": "returnValue", - "type": "bytes" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "address payable", - "name": "dest", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "withdraw" - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/interfaces/IGsnRelayHub.sol": "IGsnRelayHub" - }, - "libraries": {} - }, - "sources": { - "contracts/release/interfaces/IGsnForwarder.sol": { - "keccak256": "0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030", - "urls": [ - "bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29", - "dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IGsnRelayHub.sol": { - "keccak256": "0x118c6df3aa483cc26ba7d4331267fb75c92025fe7890b35f4057a7c6f96a7590", - "urls": [ - "bzz-raw://374088f4368235c911ea94b213cbf3dd40ab277d183c5c3d3db0435ef50cbf04", - "dweb:/ipfs/QmSC2JoNqrjqiAnYHNX1JFQnp8XnPriSi7cAutT6YbKvb9" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IGsnTypes.sol": { - "keccak256": "0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714", - "urls": [ - "bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7", - "dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 305 -} +{ "abi": [ { "type": "function", "name": "balanceOf", "inputs": [ { "name": "target", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "calculateCharge", "inputs": [ { "name": "gasUsed", "type": "uint256", "internalType": "uint256" }, { "name": "relayData", "type": "tuple", "internalType": "struct IGsnTypes.RelayData", "components": [ { "name": "gasPrice", "type": "uint256", "internalType": "uint256" }, { "name": "pctRelayFee", "type": "uint256", "internalType": "uint256" }, { "name": "baseRelayFee", "type": "uint256", "internalType": "uint256" }, { "name": "relayWorker", "type": "address", "internalType": "address" }, { "name": "paymaster", "type": "address", "internalType": "address" }, { "name": "forwarder", "type": "address", "internalType": "address" }, { "name": "paymasterData", "type": "bytes", "internalType": "bytes" }, { "name": "clientId", "type": "uint256", "internalType": "uint256" } ] } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "depositFor", "inputs": [ { "name": "target", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "relayCall", "inputs": [ { "name": "maxAcceptanceBudget", "type": "uint256", "internalType": "uint256" }, { "name": "relayRequest", "type": "tuple", "internalType": "struct IGsnTypes.RelayRequest", "components": [ { "name": "request", "type": "tuple", "internalType": "struct IGsnForwarder.ForwardRequest", "components": [ { "name": "from", "type": "address", "internalType": "address" }, { "name": "to", "type": "address", "internalType": "address" }, { "name": "value", "type": "uint256", "internalType": "uint256" }, { "name": "gas", "type": "uint256", "internalType": "uint256" }, { "name": "nonce", "type": "uint256", "internalType": "uint256" }, { "name": "data", "type": "bytes", "internalType": "bytes" }, { "name": "validUntil", "type": "uint256", "internalType": "uint256" } ] }, { "name": "relayData", "type": "tuple", "internalType": "struct IGsnTypes.RelayData", "components": [ { "name": "gasPrice", "type": "uint256", "internalType": "uint256" }, { "name": "pctRelayFee", "type": "uint256", "internalType": "uint256" }, { "name": "baseRelayFee", "type": "uint256", "internalType": "uint256" }, { "name": "relayWorker", "type": "address", "internalType": "address" }, { "name": "paymaster", "type": "address", "internalType": "address" }, { "name": "forwarder", "type": "address", "internalType": "address" }, { "name": "paymasterData", "type": "bytes", "internalType": "bytes" }, { "name": "clientId", "type": "uint256", "internalType": "uint256" } ] } ] }, { "name": "signature", "type": "bytes", "internalType": "bytes" }, { "name": "approvalData", "type": "bytes", "internalType": "bytes" }, { "name": "externalGasLimit", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "paymasterAccepted", "type": "bool", "internalType": "bool" }, { "name": "returnValue", "type": "bytes", "internalType": "bytes" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "withdraw", "inputs": [ { "name": "amount", "type": "uint256", "internalType": "uint256" }, { "name": "dest", "type": "address", "internalType": "address payable" } ], "outputs": [], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "balanceOf(address)": "70a08231", "calculateCharge(uint256,(uint256,uint256,uint256,address,address,address,bytes,uint256))": "8e53548b", "depositFor(address)": "aa67c919", "relayCall(uint256,((address,address,uint256,uint256,uint256,bytes,uint256),(uint256,uint256,uint256,address,address,address,bytes,uint256)),bytes,bytes,uint256)": "10c45431", "withdraw(uint256,address)": "00f714ce" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"gasUsed\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"gasPrice\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"pctRelayFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"baseRelayFee\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"relayWorker\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"paymaster\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"forwarder\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"paymasterData\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"clientId\",\"type\":\"uint256\"}],\"internalType\":\"struct IGsnTypes.RelayData\",\"name\":\"relayData\",\"type\":\"tuple\"}],\"name\":\"calculateCharge\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"depositFor\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"maxAcceptanceBudget\",\"type\":\"uint256\"},{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"gas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"validUntil\",\"type\":\"uint256\"}],\"internalType\":\"struct IGsnForwarder.ForwardRequest\",\"name\":\"request\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"gasPrice\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"pctRelayFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"baseRelayFee\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"relayWorker\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"paymaster\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"forwarder\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"paymasterData\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"clientId\",\"type\":\"uint256\"}],\"internalType\":\"struct IGsnTypes.RelayData\",\"name\":\"relayData\",\"type\":\"tuple\"}],\"internalType\":\"struct IGsnTypes.RelayRequest\",\"name\":\"relayRequest\",\"type\":\"tuple\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"approvalData\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"externalGasLimit\",\"type\":\"uint256\"}],\"name\":\"relayCall\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"paymasterAccepted\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnValue\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"address payable\",\"name\":\"dest\",\"type\":\"address\"}],\"name\":\"withdraw\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IGsnRelayHub Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/IGsnRelayHub.sol\":\"IGsnRelayHub\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/IGsnForwarder.sol\":{\"keccak256\":\"0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29\",\"dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G\"]},\"contracts/release/interfaces/IGsnRelayHub.sol\":{\"keccak256\":\"0x118c6df3aa483cc26ba7d4331267fb75c92025fe7890b35f4057a7c6f96a7590\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://374088f4368235c911ea94b213cbf3dd40ab277d183c5c3d3db0435ef50cbf04\",\"dweb:/ipfs/QmSC2JoNqrjqiAnYHNX1JFQnp8XnPriSi7cAutT6YbKvb9\"]},\"contracts/release/interfaces/IGsnTypes.sol\":{\"keccak256\":\"0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7\",\"dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "target", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "uint256", "name": "gasUsed", "type": "uint256" }, { "internalType": "struct IGsnTypes.RelayData", "name": "relayData", "type": "tuple", "components": [ { "internalType": "uint256", "name": "gasPrice", "type": "uint256" }, { "internalType": "uint256", "name": "pctRelayFee", "type": "uint256" }, { "internalType": "uint256", "name": "baseRelayFee", "type": "uint256" }, { "internalType": "address", "name": "relayWorker", "type": "address" }, { "internalType": "address", "name": "paymaster", "type": "address" }, { "internalType": "address", "name": "forwarder", "type": "address" }, { "internalType": "bytes", "name": "paymasterData", "type": "bytes" }, { "internalType": "uint256", "name": "clientId", "type": "uint256" } ] } ], "stateMutability": "view", "type": "function", "name": "calculateCharge", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "target", "type": "address" } ], "stateMutability": "payable", "type": "function", "name": "depositFor" }, { "inputs": [ { "internalType": "uint256", "name": "maxAcceptanceBudget", "type": "uint256" }, { "internalType": "struct IGsnTypes.RelayRequest", "name": "relayRequest", "type": "tuple", "components": [ { "internalType": "struct IGsnForwarder.ForwardRequest", "name": "request", "type": "tuple", "components": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" }, { "internalType": "uint256", "name": "gas", "type": "uint256" }, { "internalType": "uint256", "name": "nonce", "type": "uint256" }, { "internalType": "bytes", "name": "data", "type": "bytes" }, { "internalType": "uint256", "name": "validUntil", "type": "uint256" } ] }, { "internalType": "struct IGsnTypes.RelayData", "name": "relayData", "type": "tuple", "components": [ { "internalType": "uint256", "name": "gasPrice", "type": "uint256" }, { "internalType": "uint256", "name": "pctRelayFee", "type": "uint256" }, { "internalType": "uint256", "name": "baseRelayFee", "type": "uint256" }, { "internalType": "address", "name": "relayWorker", "type": "address" }, { "internalType": "address", "name": "paymaster", "type": "address" }, { "internalType": "address", "name": "forwarder", "type": "address" }, { "internalType": "bytes", "name": "paymasterData", "type": "bytes" }, { "internalType": "uint256", "name": "clientId", "type": "uint256" } ] } ] }, { "internalType": "bytes", "name": "signature", "type": "bytes" }, { "internalType": "bytes", "name": "approvalData", "type": "bytes" }, { "internalType": "uint256", "name": "externalGasLimit", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "relayCall", "outputs": [ { "internalType": "bool", "name": "paymasterAccepted", "type": "bool" }, { "internalType": "bytes", "name": "returnValue", "type": "bytes" } ] }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" }, { "internalType": "address payable", "name": "dest", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "withdraw" } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/interfaces/IGsnRelayHub.sol": "IGsnRelayHub" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/interfaces/IGsnForwarder.sol": { "keccak256": "0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030", "urls": [ "bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29", "dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IGsnRelayHub.sol": { "keccak256": "0x118c6df3aa483cc26ba7d4331267fb75c92025fe7890b35f4057a7c6f96a7590", "urls": [ "bzz-raw://374088f4368235c911ea94b213cbf3dd40ab277d183c5c3d3db0435ef50cbf04", "dweb:/ipfs/QmSC2JoNqrjqiAnYHNX1JFQnp8XnPriSi7cAutT6YbKvb9" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IGsnTypes.sol": { "keccak256": "0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714", "urls": [ "bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7", "dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 305 } diff --git a/eth_defi/abi/enzyme/IGsnTypes.json b/eth_defi/abi/enzyme/IGsnTypes.json index be6755c4..c153182b 100644 --- a/eth_defi/abi/enzyme/IGsnTypes.json +++ b/eth_defi/abi/enzyme/IGsnTypes.json @@ -1,86 +1 @@ -{ - "abi": [], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": {}, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IGsnTypes Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/IGsnTypes.sol\":\"IGsnTypes\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/IGsnForwarder.sol\":{\"keccak256\":\"0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29\",\"dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G\"]},\"contracts/release/interfaces/IGsnTypes.sol\":{\"keccak256\":\"0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7\",\"dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/interfaces/IGsnTypes.sol": "IGsnTypes" - }, - "libraries": {} - }, - "sources": { - "contracts/release/interfaces/IGsnForwarder.sol": { - "keccak256": "0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030", - "urls": [ - "bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29", - "dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IGsnTypes.sol": { - "keccak256": "0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714", - "urls": [ - "bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7", - "dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 306 -} +{ "abi": [], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": {}, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IGsnTypes Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/IGsnTypes.sol\":\"IGsnTypes\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/IGsnForwarder.sol\":{\"keccak256\":\"0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29\",\"dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G\"]},\"contracts/release/interfaces/IGsnTypes.sol\":{\"keccak256\":\"0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7\",\"dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/interfaces/IGsnTypes.sol": "IGsnTypes" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/interfaces/IGsnForwarder.sol": { "keccak256": "0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030", "urls": [ "bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29", "dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IGsnTypes.sol": { "keccak256": "0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714", "urls": [ "bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7", "dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 306 } diff --git a/eth_defi/abi/enzyme/IIdleTokenV4.json b/eth_defi/abi/enzyme/IIdleTokenV4.json index 12a6aa35..7c22b013 100644 --- a/eth_defi/abi/enzyme/IIdleTokenV4.json +++ b/eth_defi/abi/enzyme/IIdleTokenV4.json @@ -1,319 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "getGovTokensAmounts", - "outputs": [ - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "govTokens", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "", - "type": "bool" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "mintIdleToken", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "redeemIdleToken", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "token", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "tokenPrice", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "getGovTokensAmounts(address)": "50b28af7", - "govTokens(uint256)": "746daa4e", - "mintIdleToken(uint256,bool,address)": "2befabbf", - "redeemIdleToken(uint256)": "8b30b516", - "token()": "fc0c546a", - "tokenPrice()": "7ff9b596" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"getGovTokensAmounts\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"govTokens\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"mintIdleToken\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"redeemIdleToken\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"tokenPrice\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IIdleTokenV4 Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Minimal interface for our interactions with IdleToken (V4) contracts\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/IIdleTokenV4.sol\":\"IIdleTokenV4\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/IIdleTokenV4.sol\":{\"keccak256\":\"0x37cffc1fb284b9709f7f49db482a648b5c52bf2b930aa8992727ba38bfaf31f8\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5160ee920caf993cdae5bc66e572a9f9d18ed657ea6bb0c65869cf992856bcbe\",\"dweb:/ipfs/QmUKNFkcj6DotLcRcf5Ye6CiK1JnEMbeQf8AKSR6E3ygBW\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getGovTokensAmounts", - "outputs": [ - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "govTokens", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "", - "type": "bool" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "mintIdleToken", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "redeemIdleToken", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "token", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "tokenPrice", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/interfaces/IIdleTokenV4.sol": "IIdleTokenV4" - }, - "libraries": {} - }, - "sources": { - "contracts/release/interfaces/IIdleTokenV4.sol": { - "keccak256": "0x37cffc1fb284b9709f7f49db482a648b5c52bf2b930aa8992727ba38bfaf31f8", - "urls": [ - "bzz-raw://5160ee920caf993cdae5bc66e572a9f9d18ed657ea6bb0c65869cf992856bcbe", - "dweb:/ipfs/QmUKNFkcj6DotLcRcf5Ye6CiK1JnEMbeQf8AKSR6E3ygBW" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 307 -} +{ "abi": [ { "type": "function", "name": "getGovTokensAmounts", "inputs": [ { "name": "", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "view" }, { "type": "function", "name": "govTokens", "inputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "mintIdleToken", "inputs": [ { "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "bool", "internalType": "bool" }, { "name": "", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "redeemIdleToken", "inputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "token", "inputs": [], "outputs": [ { "name": "", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "tokenPrice", "inputs": [], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "getGovTokensAmounts(address)": "50b28af7", "govTokens(uint256)": "746daa4e", "mintIdleToken(uint256,bool,address)": "2befabbf", "redeemIdleToken(uint256)": "8b30b516", "token()": "fc0c546a", "tokenPrice()": "7ff9b596" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"getGovTokensAmounts\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"govTokens\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"mintIdleToken\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"redeemIdleToken\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"tokenPrice\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IIdleTokenV4 Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Minimal interface for our interactions with IdleToken (V4) contracts\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/IIdleTokenV4.sol\":\"IIdleTokenV4\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/IIdleTokenV4.sol\":{\"keccak256\":\"0x37cffc1fb284b9709f7f49db482a648b5c52bf2b930aa8992727ba38bfaf31f8\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5160ee920caf993cdae5bc66e572a9f9d18ed657ea6bb0c65869cf992856bcbe\",\"dweb:/ipfs/QmUKNFkcj6DotLcRcf5Ye6CiK1JnEMbeQf8AKSR6E3ygBW\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getGovTokensAmounts", "outputs": [ { "internalType": "uint256[]", "name": "", "type": "uint256[]" } ] }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "govTokens", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ] }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "bool", "name": "", "type": "bool" }, { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "mintIdleToken", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "redeemIdleToken", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "token", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "tokenPrice", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/interfaces/IIdleTokenV4.sol": "IIdleTokenV4" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/interfaces/IIdleTokenV4.sol": { "keccak256": "0x37cffc1fb284b9709f7f49db482a648b5c52bf2b930aa8992727ba38bfaf31f8", "urls": [ "bzz-raw://5160ee920caf993cdae5bc66e572a9f9d18ed657ea6bb0c65869cf992856bcbe", "dweb:/ipfs/QmUKNFkcj6DotLcRcf5Ye6CiK1JnEMbeQf8AKSR6E3ygBW" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" } }, "version": 1 }, "id": 307 } diff --git a/eth_defi/abi/enzyme/IIntegrationAdapter.json b/eth_defi/abi/enzyme/IIntegrationAdapter.json index eadd4d4c..e442bebe 100644 --- a/eth_defi/abi/enzyme/IIntegrationAdapter.json +++ b/eth_defi/abi/enzyme/IIntegrationAdapter.json @@ -1,188 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes4", - "name": "_selector", - "type": "bytes4" - }, - { - "internalType": "bytes", - "name": "_encodedCallArgs", - "type": "bytes" - } - ], - "name": "parseAssetsForAction", - "outputs": [ - { - "internalType": "enum IIntegrationManager.SpendAssetsHandleType", - "name": "spendAssetsHandleType_", - "type": "uint8" - }, - { - "internalType": "address[]", - "name": "spendAssets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "spendAssetAmounts_", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "incomingAssets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "minIncomingAssetAmounts_", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "parseAssetsForAction(address,bytes4,bytes)": "c54efee5" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"_selector\",\"type\":\"bytes4\"},{\"internalType\":\"bytes\",\"name\":\"_encodedCallArgs\",\"type\":\"bytes\"}],\"name\":\"parseAssetsForAction\",\"outputs\":[{\"internalType\":\"enum IIntegrationManager.SpendAssetsHandleType\",\"name\":\"spendAssetsHandleType_\",\"type\":\"uint8\"},{\"internalType\":\"address[]\",\"name\":\"spendAssets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"spendAssetAmounts_\",\"type\":\"uint256[]\"},{\"internalType\":\"address[]\",\"name\":\"incomingAssets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"minIncomingAssetAmounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"Integration Adapter interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Interface for all integration adapters\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol\":\"IIntegrationAdapter\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/integration-manager/IIntegrationManager.sol\":{\"keccak256\":\"0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23\",\"dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk\"]},\"contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol\":{\"keccak256\":\"0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336\",\"dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes4", - "name": "_selector", - "type": "bytes4" - }, - { - "internalType": "bytes", - "name": "_encodedCallArgs", - "type": "bytes" - } - ], - "stateMutability": "view", - "type": "function", - "name": "parseAssetsForAction", - "outputs": [ - { - "internalType": "enum IIntegrationManager.SpendAssetsHandleType", - "name": "spendAssetsHandleType_", - "type": "uint8" - }, - { - "internalType": "address[]", - "name": "spendAssets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "spendAssetAmounts_", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "incomingAssets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "minIncomingAssetAmounts_", - "type": "uint256[]" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol": "IIntegrationAdapter" - }, - "libraries": {} - }, - "sources": { - "contracts/release/extensions/integration-manager/IIntegrationManager.sol": { - "keccak256": "0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef", - "urls": [ - "bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23", - "dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol": { - "keccak256": "0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1", - "urls": [ - "bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336", - "dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 159 -} +{ "abi": [ { "type": "function", "name": "parseAssetsForAction", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_selector", "type": "bytes4", "internalType": "bytes4" }, { "name": "_encodedCallArgs", "type": "bytes", "internalType": "bytes" } ], "outputs": [ { "name": "spendAssetsHandleType_", "type": "uint8", "internalType": "enum IIntegrationManager.SpendAssetsHandleType" }, { "name": "spendAssets_", "type": "address[]", "internalType": "address[]" }, { "name": "spendAssetAmounts_", "type": "uint256[]", "internalType": "uint256[]" }, { "name": "incomingAssets_", "type": "address[]", "internalType": "address[]" }, { "name": "minIncomingAssetAmounts_", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "view" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "parseAssetsForAction(address,bytes4,bytes)": "c54efee5" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"_selector\",\"type\":\"bytes4\"},{\"internalType\":\"bytes\",\"name\":\"_encodedCallArgs\",\"type\":\"bytes\"}],\"name\":\"parseAssetsForAction\",\"outputs\":[{\"internalType\":\"enum IIntegrationManager.SpendAssetsHandleType\",\"name\":\"spendAssetsHandleType_\",\"type\":\"uint8\"},{\"internalType\":\"address[]\",\"name\":\"spendAssets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"spendAssetAmounts_\",\"type\":\"uint256[]\"},{\"internalType\":\"address[]\",\"name\":\"incomingAssets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"minIncomingAssetAmounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"Integration Adapter interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Interface for all integration adapters\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol\":\"IIntegrationAdapter\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/integration-manager/IIntegrationManager.sol\":{\"keccak256\":\"0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23\",\"dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk\"]},\"contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol\":{\"keccak256\":\"0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336\",\"dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "bytes4", "name": "_selector", "type": "bytes4" }, { "internalType": "bytes", "name": "_encodedCallArgs", "type": "bytes" } ], "stateMutability": "view", "type": "function", "name": "parseAssetsForAction", "outputs": [ { "internalType": "enum IIntegrationManager.SpendAssetsHandleType", "name": "spendAssetsHandleType_", "type": "uint8" }, { "internalType": "address[]", "name": "spendAssets_", "type": "address[]" }, { "internalType": "uint256[]", "name": "spendAssetAmounts_", "type": "uint256[]" }, { "internalType": "address[]", "name": "incomingAssets_", "type": "address[]" }, { "internalType": "uint256[]", "name": "minIncomingAssetAmounts_", "type": "uint256[]" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol": "IIntegrationAdapter" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/extensions/integration-manager/IIntegrationManager.sol": { "keccak256": "0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef", "urls": [ "bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23", "dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol": { "keccak256": "0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1", "urls": [ "bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336", "dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 159 } diff --git a/eth_defi/abi/enzyme/IIntegrationManager.json b/eth_defi/abi/enzyme/IIntegrationManager.json index d2c2028c..a3f0d961 100644 --- a/eth_defi/abi/enzyme/IIntegrationManager.json +++ b/eth_defi/abi/enzyme/IIntegrationManager.json @@ -1,78 +1 @@ -{ - "abi": [], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": {}, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IIntegrationManager interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Interface for the IntegrationManager\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/integration-manager/IIntegrationManager.sol\":\"IIntegrationManager\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/integration-manager/IIntegrationManager.sol\":{\"keccak256\":\"0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23\",\"dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/integration-manager/IIntegrationManager.sol": "IIntegrationManager" - }, - "libraries": {} - }, - "sources": { - "contracts/release/extensions/integration-manager/IIntegrationManager.sol": { - "keccak256": "0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef", - "urls": [ - "bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23", - "dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 157 -} +{ "abi": [], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": {}, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IIntegrationManager interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Interface for the IntegrationManager\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/integration-manager/IIntegrationManager.sol\":\"IIntegrationManager\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/integration-manager/IIntegrationManager.sol\":{\"keccak256\":\"0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23\",\"dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/integration-manager/IIntegrationManager.sol": "IIntegrationManager" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/extensions/integration-manager/IIntegrationManager.sol": { "keccak256": "0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef", "urls": [ "bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23", "dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 157 } diff --git a/eth_defi/abi/enzyme/IKilnStakingContract.json b/eth_defi/abi/enzyme/IKilnStakingContract.json index bb65e16b..d58ba5f3 100644 --- a/eth_defi/abi/enzyme/IKilnStakingContract.json +++ b/eth_defi/abi/enzyme/IKilnStakingContract.json @@ -1,212 +1 @@ -{ - "abi": [ - { - "inputs": [], - "name": "deposit", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "_publicKey", - "type": "bytes" - } - ], - "name": "getWithdrawer", - "outputs": [ - { - "internalType": "address", - "name": "withdrawer_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "_publicKey", - "type": "bytes" - } - ], - "name": "withdraw", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "_publicKey", - "type": "bytes" - } - ], - "name": "withdrawCLFee", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "_publicKey", - "type": "bytes" - } - ], - "name": "withdrawELFee", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "deposit()": "d0e30db0", - "getWithdrawer(bytes)": "e00cb6ca", - "withdraw(bytes)": "0968f264", - "withdrawCLFee(bytes)": "2ba03a79", - "withdrawELFee(bytes)": "bf509bd4" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"deposit\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_publicKey\",\"type\":\"bytes\"}],\"name\":\"getWithdrawer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"withdrawer_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_publicKey\",\"type\":\"bytes\"}],\"name\":\"withdraw\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_publicKey\",\"type\":\"bytes\"}],\"name\":\"withdrawCLFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_publicKey\",\"type\":\"bytes\"}],\"name\":\"withdrawELFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IKilnStakingContract Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/IKilnStakingContract.sol\":\"IKilnStakingContract\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/IKilnStakingContract.sol\":{\"keccak256\":\"0x6a8db9fe50daa7b148422a0ce3cecfa91918a0a089fa9c8a90e883e1a06aca96\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d64bc97472ac5fa432c715d0a25a0d12265bba0d996a153c7c8125484d73c484\",\"dweb:/ipfs/QmaXZa1sJhKM3JMJBYHnk9mAm3rqbU3UH1c1U9Rvsfbvfp\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [], - "stateMutability": "payable", - "type": "function", - "name": "deposit" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "_publicKey", - "type": "bytes" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getWithdrawer", - "outputs": [ - { - "internalType": "address", - "name": "withdrawer_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "_publicKey", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "withdraw" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "_publicKey", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "withdrawCLFee" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "_publicKey", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "withdrawELFee" - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/interfaces/IKilnStakingContract.sol": "IKilnStakingContract" - }, - "libraries": {} - }, - "sources": { - "contracts/release/interfaces/IKilnStakingContract.sol": { - "keccak256": "0x6a8db9fe50daa7b148422a0ce3cecfa91918a0a089fa9c8a90e883e1a06aca96", - "urls": [ - "bzz-raw://d64bc97472ac5fa432c715d0a25a0d12265bba0d996a153c7c8125484d73c484", - "dweb:/ipfs/QmaXZa1sJhKM3JMJBYHnk9mAm3rqbU3UH1c1U9Rvsfbvfp" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 308 -} +{ "abi": [ { "type": "function", "name": "deposit", "inputs": [], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "getWithdrawer", "inputs": [ { "name": "_publicKey", "type": "bytes", "internalType": "bytes" } ], "outputs": [ { "name": "withdrawer_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "withdraw", "inputs": [ { "name": "_publicKey", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "withdrawCLFee", "inputs": [ { "name": "_publicKey", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "withdrawELFee", "inputs": [ { "name": "_publicKey", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "deposit()": "d0e30db0", "getWithdrawer(bytes)": "e00cb6ca", "withdraw(bytes)": "0968f264", "withdrawCLFee(bytes)": "2ba03a79", "withdrawELFee(bytes)": "bf509bd4" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"deposit\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_publicKey\",\"type\":\"bytes\"}],\"name\":\"getWithdrawer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"withdrawer_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_publicKey\",\"type\":\"bytes\"}],\"name\":\"withdraw\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_publicKey\",\"type\":\"bytes\"}],\"name\":\"withdrawCLFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_publicKey\",\"type\":\"bytes\"}],\"name\":\"withdrawELFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IKilnStakingContract Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/IKilnStakingContract.sol\":\"IKilnStakingContract\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/IKilnStakingContract.sol\":{\"keccak256\":\"0x6a8db9fe50daa7b148422a0ce3cecfa91918a0a089fa9c8a90e883e1a06aca96\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d64bc97472ac5fa432c715d0a25a0d12265bba0d996a153c7c8125484d73c484\",\"dweb:/ipfs/QmaXZa1sJhKM3JMJBYHnk9mAm3rqbU3UH1c1U9Rvsfbvfp\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [], "stateMutability": "payable", "type": "function", "name": "deposit" }, { "inputs": [ { "internalType": "bytes", "name": "_publicKey", "type": "bytes" } ], "stateMutability": "view", "type": "function", "name": "getWithdrawer", "outputs": [ { "internalType": "address", "name": "withdrawer_", "type": "address" } ] }, { "inputs": [ { "internalType": "bytes", "name": "_publicKey", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "withdraw" }, { "inputs": [ { "internalType": "bytes", "name": "_publicKey", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "withdrawCLFee" }, { "inputs": [ { "internalType": "bytes", "name": "_publicKey", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "withdrawELFee" } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/interfaces/IKilnStakingContract.sol": "IKilnStakingContract" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/interfaces/IKilnStakingContract.sol": { "keccak256": "0x6a8db9fe50daa7b148422a0ce3cecfa91918a0a089fa9c8a90e883e1a06aca96", "urls": [ "bzz-raw://d64bc97472ac5fa432c715d0a25a0d12265bba0d996a153c7c8125484d73c484", "dweb:/ipfs/QmaXZa1sJhKM3JMJBYHnk9mAm3rqbU3UH1c1U9Rvsfbvfp" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 308 } diff --git a/eth_defi/abi/enzyme/IKilnStakingPosition.json b/eth_defi/abi/enzyme/IKilnStakingPosition.json index e098316f..91955d41 100644 --- a/eth_defi/abi/enzyme/IKilnStakingPosition.json +++ b/eth_defi/abi/enzyme/IKilnStakingPosition.json @@ -1,215 +1 @@ -{ - "abi": [ - { - "inputs": [], - "name": "getDebtAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getManagedAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "init", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "receiveCallFromVault", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "getDebtAssets()": "ecd658b4", - "getManagedAssets()": "80daddb8", - "init(bytes)": "4ddf47d4", - "receiveCallFromVault(bytes)": "e5c23a97" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"getDebtAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getManagedAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"receiveCallFromVault\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IKilnStakingPosition Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/kiln-staking/IKilnStakingPosition.sol\":\"IKilnStakingPosition\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/release/extensions/external-position-manager/external-positions/kiln-staking/IKilnStakingPosition.sol\":{\"keccak256\":\"0x9facf417e97f2d726add64ee197cdba0dffb97f5a2806039efb6c5ee86721083\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6071ecdb5de558d450b56be1b578b4d5938753fa256d61772310ed9700af6aa4\",\"dweb:/ipfs/QmYe2BstewfYqFosCNsrtzo1ctF3hmheb8NyM6A3SsN3y5\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "getDebtAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ] - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "getManagedAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "init" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "receiveCallFromVault" - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/external-position-manager/external-positions/kiln-staking/IKilnStakingPosition.sol": "IKilnStakingPosition" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/external-positions/IExternalPosition.sol": { - "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", - "urls": [ - "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", - "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/kiln-staking/IKilnStakingPosition.sol": { - "keccak256": "0x9facf417e97f2d726add64ee197cdba0dffb97f5a2806039efb6c5ee86721083", - "urls": [ - "bzz-raw://6071ecdb5de558d450b56be1b578b4d5938753fa256d61772310ed9700af6aa4", - "dweb:/ipfs/QmYe2BstewfYqFosCNsrtzo1ctF3hmheb8NyM6A3SsN3y5" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 106 -} +{ "abi": [ { "type": "function", "name": "getDebtAssets", "inputs": [], "outputs": [ { "name": "", "type": "address[]", "internalType": "address[]" }, { "name": "", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "getManagedAssets", "inputs": [], "outputs": [ { "name": "", "type": "address[]", "internalType": "address[]" }, { "name": "", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "init", "inputs": [ { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "receiveCallFromVault", "inputs": [ { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "getDebtAssets()": "ecd658b4", "getManagedAssets()": "80daddb8", "init(bytes)": "4ddf47d4", "receiveCallFromVault(bytes)": "e5c23a97" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"getDebtAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getManagedAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"receiveCallFromVault\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IKilnStakingPosition Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/kiln-staking/IKilnStakingPosition.sol\":\"IKilnStakingPosition\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/release/extensions/external-position-manager/external-positions/kiln-staking/IKilnStakingPosition.sol\":{\"keccak256\":\"0x9facf417e97f2d726add64ee197cdba0dffb97f5a2806039efb6c5ee86721083\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6071ecdb5de558d450b56be1b578b4d5938753fa256d61772310ed9700af6aa4\",\"dweb:/ipfs/QmYe2BstewfYqFosCNsrtzo1ctF3hmheb8NyM6A3SsN3y5\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "getDebtAssets", "outputs": [ { "internalType": "address[]", "name": "", "type": "address[]" }, { "internalType": "uint256[]", "name": "", "type": "uint256[]" } ] }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "getManagedAssets", "outputs": [ { "internalType": "address[]", "name": "", "type": "address[]" }, { "internalType": "uint256[]", "name": "", "type": "uint256[]" } ] }, { "inputs": [ { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "init" }, { "inputs": [ { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "receiveCallFromVault" } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/external-position-manager/external-positions/kiln-staking/IKilnStakingPosition.sol": "IKilnStakingPosition" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/external-positions/IExternalPosition.sol": { "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", "urls": [ "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/kiln-staking/IKilnStakingPosition.sol": { "keccak256": "0x9facf417e97f2d726add64ee197cdba0dffb97f5a2806039efb6c5ee86721083", "urls": [ "bzz-raw://6071ecdb5de558d450b56be1b578b4d5938753fa256d61772310ed9700af6aa4", "dweb:/ipfs/QmYe2BstewfYqFosCNsrtzo1ctF3hmheb8NyM6A3SsN3y5" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 106 } diff --git a/eth_defi/abi/enzyme/ILidoSteth.json b/eth_defi/abi/enzyme/ILidoSteth.json index 585c7a2b..4dbaaa42 100644 --- a/eth_defi/abi/enzyme/ILidoSteth.json +++ b/eth_defi/abi/enzyme/ILidoSteth.json @@ -1,120 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "uint256", - "name": "_sharesAmount", - "type": "uint256" - } - ], - "name": "getPooledEthByShares", - "outputs": [ - { - "internalType": "uint256", - "name": "ethAmount_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "getPooledEthByShares(uint256)": "7a28fb88" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_sharesAmount\",\"type\":\"uint256\"}],\"name\":\"getPooledEthByShares\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"ethAmount_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ILidoSteth Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/ILidoSteth.sol\":\"ILidoSteth\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/ILidoSteth.sol\":{\"keccak256\":\"0xd58a94e3dd12b2057c8305c0b82536fc1696304440e97f70d990dc7748d0e510\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2bf61ea7bdbee6f5e5f52a4448de259cf5276c9d46e0597c1e3577f82e4db536\",\"dweb:/ipfs/QmQun767E67degew5JEw49qBtyQYh3bt34spZ1mowbUdEH\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "uint256", - "name": "_sharesAmount", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getPooledEthByShares", - "outputs": [ - { - "internalType": "uint256", - "name": "ethAmount_", - "type": "uint256" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/interfaces/ILidoSteth.sol": "ILidoSteth" - }, - "libraries": {} - }, - "sources": { - "contracts/release/interfaces/ILidoSteth.sol": { - "keccak256": "0xd58a94e3dd12b2057c8305c0b82536fc1696304440e97f70d990dc7748d0e510", - "urls": [ - "bzz-raw://2bf61ea7bdbee6f5e5f52a4448de259cf5276c9d46e0597c1e3577f82e4db536", - "dweb:/ipfs/QmQun767E67degew5JEw49qBtyQYh3bt34spZ1mowbUdEH" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 309 -} +{ "abi": [ { "type": "function", "name": "getPooledEthByShares", "inputs": [ { "name": "_sharesAmount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "ethAmount_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "getPooledEthByShares(uint256)": "7a28fb88" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_sharesAmount\",\"type\":\"uint256\"}],\"name\":\"getPooledEthByShares\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"ethAmount_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ILidoSteth Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/ILidoSteth.sol\":\"ILidoSteth\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/ILidoSteth.sol\":{\"keccak256\":\"0xd58a94e3dd12b2057c8305c0b82536fc1696304440e97f70d990dc7748d0e510\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2bf61ea7bdbee6f5e5f52a4448de259cf5276c9d46e0597c1e3577f82e4db536\",\"dweb:/ipfs/QmQun767E67degew5JEw49qBtyQYh3bt34spZ1mowbUdEH\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "uint256", "name": "_sharesAmount", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "getPooledEthByShares", "outputs": [ { "internalType": "uint256", "name": "ethAmount_", "type": "uint256" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/interfaces/ILidoSteth.sol": "ILidoSteth" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/interfaces/ILidoSteth.sol": { "keccak256": "0xd58a94e3dd12b2057c8305c0b82536fc1696304440e97f70d990dc7748d0e510", "urls": [ "bzz-raw://2bf61ea7bdbee6f5e5f52a4448de259cf5276c9d46e0597c1e3577f82e4db536", "dweb:/ipfs/QmQun767E67degew5JEw49qBtyQYh3bt34spZ1mowbUdEH" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 309 } diff --git a/eth_defi/abi/enzyme/ILiquityBorrowerOperations.json b/eth_defi/abi/enzyme/ILiquityBorrowerOperations.json index 7fdf2981..1a6ec431 100644 --- a/eth_defi/abi/enzyme/ILiquityBorrowerOperations.json +++ b/eth_defi/abi/enzyme/ILiquityBorrowerOperations.json @@ -1,335 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "addColl", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [], - "name": "closeTrove", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "openTrove", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "repayLUSD", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "withdrawColl", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "withdrawLUSD", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "addColl(address,address)": "68647db1", - "closeTrove()": "0e704d50", - "openTrove(uint256,uint256,address,address)": "860665b3", - "repayLUSD(uint256,address,address)": "04491fa7", - "withdrawColl(uint256,address,address)": "5530273c", - "withdrawLUSD(uint256,uint256,address,address)": "1184e5f8" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"addColl\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"closeTrove\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"openTrove\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"repayLUSD\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"withdrawColl\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"withdrawLUSD\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ILiquityBorrowerOperations Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Minimal interface for our interactions with LiquityBorrowerOperation contract\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/ILiquityBorrowerOperations.sol\":\"ILiquityBorrowerOperations\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/ILiquityBorrowerOperations.sol\":{\"keccak256\":\"0xb501baeddc5a11d34826012fb8446e94fa688dc776e89e276dd0a4e208561112\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://15f1ba0caef55fa13f325d4afd306f36f42d30f3dcb249e87a29bd4bbbd371e9\",\"dweb:/ipfs/QmWomZ5h9ngaRj3AbNQfCbxKyS491qQiV7xAnt9XujiXMS\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "payable", - "type": "function", - "name": "addColl" - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "closeTrove" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "payable", - "type": "function", - "name": "openTrove" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "repayLUSD" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "withdrawColl" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "withdrawLUSD" - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/interfaces/ILiquityBorrowerOperations.sol": "ILiquityBorrowerOperations" - }, - "libraries": {} - }, - "sources": { - "contracts/release/interfaces/ILiquityBorrowerOperations.sol": { - "keccak256": "0xb501baeddc5a11d34826012fb8446e94fa688dc776e89e276dd0a4e208561112", - "urls": [ - "bzz-raw://15f1ba0caef55fa13f325d4afd306f36f42d30f3dcb249e87a29bd4bbbd371e9", - "dweb:/ipfs/QmWomZ5h9ngaRj3AbNQfCbxKyS491qQiV7xAnt9XujiXMS" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 310 -} +{ "abi": [ { "type": "function", "name": "addColl", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "closeTrove", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "openTrove", "inputs": [ { "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "repayLUSD", "inputs": [ { "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "withdrawColl", "inputs": [ { "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "withdrawLUSD", "inputs": [ { "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "addColl(address,address)": "68647db1", "closeTrove()": "0e704d50", "openTrove(uint256,uint256,address,address)": "860665b3", "repayLUSD(uint256,address,address)": "04491fa7", "withdrawColl(uint256,address,address)": "5530273c", "withdrawLUSD(uint256,uint256,address,address)": "1184e5f8" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"addColl\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"closeTrove\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"openTrove\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"repayLUSD\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"withdrawColl\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"withdrawLUSD\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ILiquityBorrowerOperations Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Minimal interface for our interactions with LiquityBorrowerOperation contract\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/ILiquityBorrowerOperations.sol\":\"ILiquityBorrowerOperations\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/ILiquityBorrowerOperations.sol\":{\"keccak256\":\"0xb501baeddc5a11d34826012fb8446e94fa688dc776e89e276dd0a4e208561112\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://15f1ba0caef55fa13f325d4afd306f36f42d30f3dcb249e87a29bd4bbbd371e9\",\"dweb:/ipfs/QmWomZ5h9ngaRj3AbNQfCbxKyS491qQiV7xAnt9XujiXMS\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "payable", "type": "function", "name": "addColl" }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "closeTrove" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "address", "name": "", "type": "address" }, { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "payable", "type": "function", "name": "openTrove" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "address", "name": "", "type": "address" }, { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "repayLUSD" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "address", "name": "", "type": "address" }, { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "withdrawColl" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "address", "name": "", "type": "address" }, { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "withdrawLUSD" } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/interfaces/ILiquityBorrowerOperations.sol": "ILiquityBorrowerOperations" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/interfaces/ILiquityBorrowerOperations.sol": { "keccak256": "0xb501baeddc5a11d34826012fb8446e94fa688dc776e89e276dd0a4e208561112", "urls": [ "bzz-raw://15f1ba0caef55fa13f325d4afd306f36f42d30f3dcb249e87a29bd4bbbd371e9", "dweb:/ipfs/QmWomZ5h9ngaRj3AbNQfCbxKyS491qQiV7xAnt9XujiXMS" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 310 } diff --git a/eth_defi/abi/enzyme/ILiquityDebtPosition.json b/eth_defi/abi/enzyme/ILiquityDebtPosition.json index f3daef36..27e03714 100644 --- a/eth_defi/abi/enzyme/ILiquityDebtPosition.json +++ b/eth_defi/abi/enzyme/ILiquityDebtPosition.json @@ -1,215 +1 @@ -{ - "abi": [ - { - "inputs": [], - "name": "getDebtAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getManagedAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "init", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "receiveCallFromVault", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "getDebtAssets()": "ecd658b4", - "getManagedAssets()": "80daddb8", - "init(bytes)": "4ddf47d4", - "receiveCallFromVault(bytes)": "e5c23a97" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"getDebtAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getManagedAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"receiveCallFromVault\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ILiquityDebtPosition Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/liquity-debt/ILiquityDebtPosition.sol\":\"ILiquityDebtPosition\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/release/extensions/external-position-manager/external-positions/liquity-debt/ILiquityDebtPosition.sol\":{\"keccak256\":\"0xcd6051d3e31e4c1749f3da2a893622de7ce356278ef5db824e88e2765f251823\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://66d3acab607c650209ecb0a239380a080960de9864a7543b38ba0935dee956ba\",\"dweb:/ipfs/QmYF2Crm2Mg2TK7zai43TEYgxd8SkKjtzMVwcDL9aFsBJA\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "getDebtAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ] - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "getManagedAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "init" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "receiveCallFromVault" - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/external-position-manager/external-positions/liquity-debt/ILiquityDebtPosition.sol": "ILiquityDebtPosition" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/external-positions/IExternalPosition.sol": { - "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", - "urls": [ - "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", - "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/liquity-debt/ILiquityDebtPosition.sol": { - "keccak256": "0xcd6051d3e31e4c1749f3da2a893622de7ce356278ef5db824e88e2765f251823", - "urls": [ - "bzz-raw://66d3acab607c650209ecb0a239380a080960de9864a7543b38ba0935dee956ba", - "dweb:/ipfs/QmYF2Crm2Mg2TK7zai43TEYgxd8SkKjtzMVwcDL9aFsBJA" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 110 -} +{ "abi": [ { "type": "function", "name": "getDebtAssets", "inputs": [], "outputs": [ { "name": "", "type": "address[]", "internalType": "address[]" }, { "name": "", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "getManagedAssets", "inputs": [], "outputs": [ { "name": "", "type": "address[]", "internalType": "address[]" }, { "name": "", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "init", "inputs": [ { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "receiveCallFromVault", "inputs": [ { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "getDebtAssets()": "ecd658b4", "getManagedAssets()": "80daddb8", "init(bytes)": "4ddf47d4", "receiveCallFromVault(bytes)": "e5c23a97" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"getDebtAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getManagedAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"receiveCallFromVault\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ILiquityDebtPosition Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/liquity-debt/ILiquityDebtPosition.sol\":\"ILiquityDebtPosition\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/release/extensions/external-position-manager/external-positions/liquity-debt/ILiquityDebtPosition.sol\":{\"keccak256\":\"0xcd6051d3e31e4c1749f3da2a893622de7ce356278ef5db824e88e2765f251823\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://66d3acab607c650209ecb0a239380a080960de9864a7543b38ba0935dee956ba\",\"dweb:/ipfs/QmYF2Crm2Mg2TK7zai43TEYgxd8SkKjtzMVwcDL9aFsBJA\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "getDebtAssets", "outputs": [ { "internalType": "address[]", "name": "", "type": "address[]" }, { "internalType": "uint256[]", "name": "", "type": "uint256[]" } ] }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "getManagedAssets", "outputs": [ { "internalType": "address[]", "name": "", "type": "address[]" }, { "internalType": "uint256[]", "name": "", "type": "uint256[]" } ] }, { "inputs": [ { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "init" }, { "inputs": [ { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "receiveCallFromVault" } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/external-position-manager/external-positions/liquity-debt/ILiquityDebtPosition.sol": "ILiquityDebtPosition" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/external-positions/IExternalPosition.sol": { "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", "urls": [ "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/liquity-debt/ILiquityDebtPosition.sol": { "keccak256": "0xcd6051d3e31e4c1749f3da2a893622de7ce356278ef5db824e88e2765f251823", "urls": [ "bzz-raw://66d3acab607c650209ecb0a239380a080960de9864a7543b38ba0935dee956ba", "dweb:/ipfs/QmYF2Crm2Mg2TK7zai43TEYgxd8SkKjtzMVwcDL9aFsBJA" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 110 } diff --git a/eth_defi/abi/enzyme/ILiquityTroveManager.json b/eth_defi/abi/enzyme/ILiquityTroveManager.json index 8940aa23..a550acc2 100644 --- a/eth_defi/abi/enzyme/ILiquityTroveManager.json +++ b/eth_defi/abi/enzyme/ILiquityTroveManager.json @@ -1,159 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "getTroveColl", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "getTroveDebt", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "getTroveColl(address)": "480cd578", - "getTroveDebt(address)": "d66a2553" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"getTroveColl\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"getTroveDebt\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ILiquityTroveManager Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Minimal interface for our interactions with Liquity Trove Mangager contract\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/ILiquityTroveManager.sol\":\"ILiquityTroveManager\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/ILiquityTroveManager.sol\":{\"keccak256\":\"0x8e3296f143e0d194dee3ffebc0912d21d5181e1360e0ec99673d2e61d047f7a6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://44267baacec0e4a2e9396b12b2106bb596a0a17d1e8df206ef95f46f841b052b\",\"dweb:/ipfs/QmRp6HQ6FhdQCsTskSq596y1WBM7BsG9dArj8Gd23c2NTF\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getTroveColl", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getTroveDebt", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/interfaces/ILiquityTroveManager.sol": "ILiquityTroveManager" - }, - "libraries": {} - }, - "sources": { - "contracts/release/interfaces/ILiquityTroveManager.sol": { - "keccak256": "0x8e3296f143e0d194dee3ffebc0912d21d5181e1360e0ec99673d2e61d047f7a6", - "urls": [ - "bzz-raw://44267baacec0e4a2e9396b12b2106bb596a0a17d1e8df206ef95f46f841b052b", - "dweb:/ipfs/QmRp6HQ6FhdQCsTskSq596y1WBM7BsG9dArj8Gd23c2NTF" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 311 -} +{ "abi": [ { "type": "function", "name": "getTroveColl", "inputs": [ { "name": "", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "getTroveDebt", "inputs": [ { "name": "", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "getTroveColl(address)": "480cd578", "getTroveDebt(address)": "d66a2553" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"getTroveColl\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"getTroveDebt\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ILiquityTroveManager Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Minimal interface for our interactions with Liquity Trove Mangager contract\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/ILiquityTroveManager.sol\":\"ILiquityTroveManager\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/ILiquityTroveManager.sol\":{\"keccak256\":\"0x8e3296f143e0d194dee3ffebc0912d21d5181e1360e0ec99673d2e61d047f7a6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://44267baacec0e4a2e9396b12b2106bb596a0a17d1e8df206ef95f46f841b052b\",\"dweb:/ipfs/QmRp6HQ6FhdQCsTskSq596y1WBM7BsG9dArj8Gd23c2NTF\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getTroveColl", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getTroveDebt", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/interfaces/ILiquityTroveManager.sol": "ILiquityTroveManager" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/interfaces/ILiquityTroveManager.sol": { "keccak256": "0x8e3296f143e0d194dee3ffebc0912d21d5181e1360e0ec99673d2e61d047f7a6", "urls": [ "bzz-raw://44267baacec0e4a2e9396b12b2106bb596a0a17d1e8df206ef95f46f841b052b", "dweb:/ipfs/QmRp6HQ6FhdQCsTskSq596y1WBM7BsG9dArj8Gd23c2NTF" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 311 } diff --git a/eth_defi/abi/enzyme/IMapleLiquidityPosition.json b/eth_defi/abi/enzyme/IMapleLiquidityPosition.json index 75a9f564..442afc23 100644 --- a/eth_defi/abi/enzyme/IMapleLiquidityPosition.json +++ b/eth_defi/abi/enzyme/IMapleLiquidityPosition.json @@ -1,215 +1 @@ -{ - "abi": [ - { - "inputs": [], - "name": "getDebtAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getManagedAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "init", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "receiveCallFromVault", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "getDebtAssets()": "ecd658b4", - "getManagedAssets()": "80daddb8", - "init(bytes)": "4ddf47d4", - "receiveCallFromVault(bytes)": "e5c23a97" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"getDebtAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getManagedAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"receiveCallFromVault\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IMapleLiquidityPosition Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/maple-liquidity/IMapleLiquidityPosition.sol\":\"IMapleLiquidityPosition\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/release/extensions/external-position-manager/external-positions/maple-liquidity/IMapleLiquidityPosition.sol\":{\"keccak256\":\"0x03da4c15035e629dcfaa6822176fdbcf62dd1d5a5c8ccccd0d95344c8048a470\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://fde66e251e197ad0e1f514359dc02a3007bcfded3c081691860ce211c4aa89e4\",\"dweb:/ipfs/QmSADCmqGtbWDxs5G3GfdaC6NbK91qxAu95FJHiSGkuo2v\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "getDebtAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ] - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "getManagedAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "init" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "receiveCallFromVault" - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/external-position-manager/external-positions/maple-liquidity/IMapleLiquidityPosition.sol": "IMapleLiquidityPosition" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/external-positions/IExternalPosition.sol": { - "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", - "urls": [ - "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", - "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/maple-liquidity/IMapleLiquidityPosition.sol": { - "keccak256": "0x03da4c15035e629dcfaa6822176fdbcf62dd1d5a5c8ccccd0d95344c8048a470", - "urls": [ - "bzz-raw://fde66e251e197ad0e1f514359dc02a3007bcfded3c081691860ce211c4aa89e4", - "dweb:/ipfs/QmSADCmqGtbWDxs5G3GfdaC6NbK91qxAu95FJHiSGkuo2v" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 114 -} +{ "abi": [ { "type": "function", "name": "getDebtAssets", "inputs": [], "outputs": [ { "name": "", "type": "address[]", "internalType": "address[]" }, { "name": "", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "getManagedAssets", "inputs": [], "outputs": [ { "name": "", "type": "address[]", "internalType": "address[]" }, { "name": "", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "init", "inputs": [ { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "receiveCallFromVault", "inputs": [ { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "getDebtAssets()": "ecd658b4", "getManagedAssets()": "80daddb8", "init(bytes)": "4ddf47d4", "receiveCallFromVault(bytes)": "e5c23a97" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"getDebtAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getManagedAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"receiveCallFromVault\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IMapleLiquidityPosition Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/maple-liquidity/IMapleLiquidityPosition.sol\":\"IMapleLiquidityPosition\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/release/extensions/external-position-manager/external-positions/maple-liquidity/IMapleLiquidityPosition.sol\":{\"keccak256\":\"0x03da4c15035e629dcfaa6822176fdbcf62dd1d5a5c8ccccd0d95344c8048a470\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://fde66e251e197ad0e1f514359dc02a3007bcfded3c081691860ce211c4aa89e4\",\"dweb:/ipfs/QmSADCmqGtbWDxs5G3GfdaC6NbK91qxAu95FJHiSGkuo2v\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "getDebtAssets", "outputs": [ { "internalType": "address[]", "name": "", "type": "address[]" }, { "internalType": "uint256[]", "name": "", "type": "uint256[]" } ] }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "getManagedAssets", "outputs": [ { "internalType": "address[]", "name": "", "type": "address[]" }, { "internalType": "uint256[]", "name": "", "type": "uint256[]" } ] }, { "inputs": [ { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "init" }, { "inputs": [ { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "receiveCallFromVault" } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/external-position-manager/external-positions/maple-liquidity/IMapleLiquidityPosition.sol": "IMapleLiquidityPosition" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/external-positions/IExternalPosition.sol": { "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", "urls": [ "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/maple-liquidity/IMapleLiquidityPosition.sol": { "keccak256": "0x03da4c15035e629dcfaa6822176fdbcf62dd1d5a5c8ccccd0d95344c8048a470", "urls": [ "bzz-raw://fde66e251e197ad0e1f514359dc02a3007bcfded3c081691860ce211c4aa89e4", "dweb:/ipfs/QmSADCmqGtbWDxs5G3GfdaC6NbK91qxAu95FJHiSGkuo2v" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 114 } diff --git a/eth_defi/abi/enzyme/IMapleV1MplRewards.json b/eth_defi/abi/enzyme/IMapleV1MplRewards.json index 0e2d5162..733eec37 100644 --- a/eth_defi/abi/enzyme/IMapleV1MplRewards.json +++ b/eth_defi/abi/enzyme/IMapleV1MplRewards.json @@ -1,122 +1 @@ -{ - "abi": [ - { - "inputs": [], - "name": "getReward", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "rewardsToken", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "getReward()": "3d18b912", - "rewardsToken()": "d1af0c7d" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"getReward\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"rewardsToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IMapleV1MplRewards Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/IMapleV1MplRewards.sol\":\"IMapleV1MplRewards\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/IMapleV1MplRewards.sol\":{\"keccak256\":\"0x9fb171f91da0330d7139632907c0404002699a4cae9cb409a64c0898954b3f90\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://4e61ca593a55cc04b7a4283352cceab8e8249147e4c33fe3790cface7853ebc6\",\"dweb:/ipfs/QmPsc5s4wKDQcu3Tx7ZPJizPzLRTY9bHiywK3iL9gvnQK8\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "getReward" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "rewardsToken", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/interfaces/IMapleV1MplRewards.sol": "IMapleV1MplRewards" - }, - "libraries": {} - }, - "sources": { - "contracts/release/interfaces/IMapleV1MplRewards.sol": { - "keccak256": "0x9fb171f91da0330d7139632907c0404002699a4cae9cb409a64c0898954b3f90", - "urls": [ - "bzz-raw://4e61ca593a55cc04b7a4283352cceab8e8249147e4c33fe3790cface7853ebc6", - "dweb:/ipfs/QmPsc5s4wKDQcu3Tx7ZPJizPzLRTY9bHiywK3iL9gvnQK8" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 312 -} +{ "abi": [ { "type": "function", "name": "getReward", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "rewardsToken", "inputs": [], "outputs": [ { "name": "", "type": "address", "internalType": "address" } ], "stateMutability": "view" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "getReward()": "3d18b912", "rewardsToken()": "d1af0c7d" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"getReward\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"rewardsToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IMapleV1MplRewards Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/IMapleV1MplRewards.sol\":\"IMapleV1MplRewards\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/IMapleV1MplRewards.sol\":{\"keccak256\":\"0x9fb171f91da0330d7139632907c0404002699a4cae9cb409a64c0898954b3f90\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://4e61ca593a55cc04b7a4283352cceab8e8249147e4c33fe3790cface7853ebc6\",\"dweb:/ipfs/QmPsc5s4wKDQcu3Tx7ZPJizPzLRTY9bHiywK3iL9gvnQK8\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "getReward" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "rewardsToken", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/interfaces/IMapleV1MplRewards.sol": "IMapleV1MplRewards" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/interfaces/IMapleV1MplRewards.sol": { "keccak256": "0x9fb171f91da0330d7139632907c0404002699a4cae9cb409a64c0898954b3f90", "urls": [ "bzz-raw://4e61ca593a55cc04b7a4283352cceab8e8249147e4c33fe3790cface7853ebc6", "dweb:/ipfs/QmPsc5s4wKDQcu3Tx7ZPJizPzLRTY9bHiywK3iL9gvnQK8" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 312 } diff --git a/eth_defi/abi/enzyme/IMapleV1MplRewardsFactory.json b/eth_defi/abi/enzyme/IMapleV1MplRewardsFactory.json index 2313b5db..57fdd18f 100644 --- a/eth_defi/abi/enzyme/IMapleV1MplRewardsFactory.json +++ b/eth_defi/abi/enzyme/IMapleV1MplRewardsFactory.json @@ -1,120 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "isMplRewards", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "isMplRewards(address)": "e291968e" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"isMplRewards\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IMapleRewardsFactory Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/IMapleV1MplRewardsFactory.sol\":\"IMapleV1MplRewardsFactory\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/IMapleV1MplRewardsFactory.sol\":{\"keccak256\":\"0xb463f96928beac03215345e95b95cc7d0d09593d679b6ab68b421f5f53883d16\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://e334aabfc9f20d049f0341c0c75ccec2069679d473ac1fb815fa9c4ad3794202\",\"dweb:/ipfs/QmQRP4Mcidy6UrntsopY7Py4RKv1dv7rjuA81D3dn8WZwU\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "isMplRewards", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/interfaces/IMapleV1MplRewardsFactory.sol": "IMapleV1MplRewardsFactory" - }, - "libraries": {} - }, - "sources": { - "contracts/release/interfaces/IMapleV1MplRewardsFactory.sol": { - "keccak256": "0xb463f96928beac03215345e95b95cc7d0d09593d679b6ab68b421f5f53883d16", - "urls": [ - "bzz-raw://e334aabfc9f20d049f0341c0c75ccec2069679d473ac1fb815fa9c4ad3794202", - "dweb:/ipfs/QmQRP4Mcidy6UrntsopY7Py4RKv1dv7rjuA81D3dn8WZwU" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 313 -} +{ "abi": [ { "type": "function", "name": "isMplRewards", "inputs": [ { "name": "", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "isMplRewards(address)": "e291968e" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"isMplRewards\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IMapleRewardsFactory Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/IMapleV1MplRewardsFactory.sol\":\"IMapleV1MplRewardsFactory\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/IMapleV1MplRewardsFactory.sol\":{\"keccak256\":\"0xb463f96928beac03215345e95b95cc7d0d09593d679b6ab68b421f5f53883d16\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://e334aabfc9f20d049f0341c0c75ccec2069679d473ac1fb815fa9c4ad3794202\",\"dweb:/ipfs/QmQRP4Mcidy6UrntsopY7Py4RKv1dv7rjuA81D3dn8WZwU\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "isMplRewards", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/interfaces/IMapleV1MplRewardsFactory.sol": "IMapleV1MplRewardsFactory" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/interfaces/IMapleV1MplRewardsFactory.sol": { "keccak256": "0xb463f96928beac03215345e95b95cc7d0d09593d679b6ab68b421f5f53883d16", "urls": [ "bzz-raw://e334aabfc9f20d049f0341c0c75ccec2069679d473ac1fb815fa9c4ad3794202", "dweb:/ipfs/QmQRP4Mcidy6UrntsopY7Py4RKv1dv7rjuA81D3dn8WZwU" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 313 } diff --git a/eth_defi/abi/enzyme/IMapleV1Pool.json b/eth_defi/abi/enzyme/IMapleV1Pool.json index 43d367ee..810785f9 100644 --- a/eth_defi/abi/enzyme/IMapleV1Pool.json +++ b/eth_defi/abi/enzyme/IMapleV1Pool.json @@ -1,186 +1 @@ -{ - "abi": [ - { - "inputs": [], - "name": "liquidityAsset", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "recognizableLossesOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "withdrawableFundsOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "liquidityAsset()": "209b2bca", - "recognizableLossesOf(address)": "66967791", - "withdrawableFundsOf(address)": "443bb293" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"liquidityAsset\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"recognizableLossesOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"withdrawableFundsOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IMapleV1Pool Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/IMapleV1Pool.sol\":\"IMapleV1Pool\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/IMapleV1Pool.sol\":{\"keccak256\":\"0x46e635c8ae53a2156c7331f381bbf69c4085a97e20b549fcea9c9425aaafa5f8\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://548dffe449da6fb3c6f0cd6253aad5c274e6b13d55a649181b36be9aa9898417\",\"dweb:/ipfs/QmVdmYzRo1NCVFmbyHcUeRsCTwhVrdAWNqdAaSJ4o79Jmh\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "liquidityAsset", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "recognizableLossesOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "withdrawableFundsOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/interfaces/IMapleV1Pool.sol": "IMapleV1Pool" - }, - "libraries": {} - }, - "sources": { - "contracts/release/interfaces/IMapleV1Pool.sol": { - "keccak256": "0x46e635c8ae53a2156c7331f381bbf69c4085a97e20b549fcea9c9425aaafa5f8", - "urls": [ - "bzz-raw://548dffe449da6fb3c6f0cd6253aad5c274e6b13d55a649181b36be9aa9898417", - "dweb:/ipfs/QmVdmYzRo1NCVFmbyHcUeRsCTwhVrdAWNqdAaSJ4o79Jmh" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 314 -} +{ "abi": [ { "type": "function", "name": "liquidityAsset", "inputs": [], "outputs": [ { "name": "", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "recognizableLossesOf", "inputs": [ { "name": "", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "withdrawableFundsOf", "inputs": [ { "name": "", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "liquidityAsset()": "209b2bca", "recognizableLossesOf(address)": "66967791", "withdrawableFundsOf(address)": "443bb293" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"liquidityAsset\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"recognizableLossesOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"withdrawableFundsOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IMapleV1Pool Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/IMapleV1Pool.sol\":\"IMapleV1Pool\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/IMapleV1Pool.sol\":{\"keccak256\":\"0x46e635c8ae53a2156c7331f381bbf69c4085a97e20b549fcea9c9425aaafa5f8\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://548dffe449da6fb3c6f0cd6253aad5c274e6b13d55a649181b36be9aa9898417\",\"dweb:/ipfs/QmVdmYzRo1NCVFmbyHcUeRsCTwhVrdAWNqdAaSJ4o79Jmh\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [], "stateMutability": "view", "type": "function", "name": "liquidityAsset", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "recognizableLossesOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "withdrawableFundsOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/interfaces/IMapleV1Pool.sol": "IMapleV1Pool" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/interfaces/IMapleV1Pool.sol": { "keccak256": "0x46e635c8ae53a2156c7331f381bbf69c4085a97e20b549fcea9c9425aaafa5f8", "urls": [ "bzz-raw://548dffe449da6fb3c6f0cd6253aad5c274e6b13d55a649181b36be9aa9898417", "dweb:/ipfs/QmVdmYzRo1NCVFmbyHcUeRsCTwhVrdAWNqdAaSJ4o79Jmh" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 314 } diff --git a/eth_defi/abi/enzyme/IMapleV2Globals.json b/eth_defi/abi/enzyme/IMapleV2Globals.json index 48405183..6056e7dd 100644 --- a/eth_defi/abi/enzyme/IMapleV2Globals.json +++ b/eth_defi/abi/enzyme/IMapleV2Globals.json @@ -1,130 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "bytes32", - "name": "_key", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "_who", - "type": "address" - } - ], - "name": "isFactory", - "outputs": [ - { - "internalType": "bool", - "name": "isFactory_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "isFactory(bytes32,address)": "6167f931" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_key\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_who\",\"type\":\"address\"}],\"name\":\"isFactory\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isFactory_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IMapleV2Globals Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/IMapleV2Globals.sol\":\"IMapleV2Globals\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/IMapleV2Globals.sol\":{\"keccak256\":\"0xe95ad726b62c5b137743cf0878cbe2822686ed9325bab431501de426a5ac3906\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6db8b760d90b075ed71389608b8bee2b721a52e436c0c31dbaef0c7984fc06b4\",\"dweb:/ipfs/QmRJXLvTcuKKmcyfJGwTrVDhvLxNEUbEZyxa2k5WbPqdSe\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "bytes32", - "name": "_key", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "_who", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "isFactory", - "outputs": [ - { - "internalType": "bool", - "name": "isFactory_", - "type": "bool" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/interfaces/IMapleV2Globals.sol": "IMapleV2Globals" - }, - "libraries": {} - }, - "sources": { - "contracts/release/interfaces/IMapleV2Globals.sol": { - "keccak256": "0xe95ad726b62c5b137743cf0878cbe2822686ed9325bab431501de426a5ac3906", - "urls": [ - "bzz-raw://6db8b760d90b075ed71389608b8bee2b721a52e436c0c31dbaef0c7984fc06b4", - "dweb:/ipfs/QmRJXLvTcuKKmcyfJGwTrVDhvLxNEUbEZyxa2k5WbPqdSe" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 315 -} +{ "abi": [ { "type": "function", "name": "isFactory", "inputs": [ { "name": "_key", "type": "bytes32", "internalType": "bytes32" }, { "name": "_who", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "isFactory_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "isFactory(bytes32,address)": "6167f931" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_key\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_who\",\"type\":\"address\"}],\"name\":\"isFactory\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isFactory_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IMapleV2Globals Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/IMapleV2Globals.sol\":\"IMapleV2Globals\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/IMapleV2Globals.sol\":{\"keccak256\":\"0xe95ad726b62c5b137743cf0878cbe2822686ed9325bab431501de426a5ac3906\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6db8b760d90b075ed71389608b8bee2b721a52e436c0c31dbaef0c7984fc06b4\",\"dweb:/ipfs/QmRJXLvTcuKKmcyfJGwTrVDhvLxNEUbEZyxa2k5WbPqdSe\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "bytes32", "name": "_key", "type": "bytes32" }, { "internalType": "address", "name": "_who", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "isFactory", "outputs": [ { "internalType": "bool", "name": "isFactory_", "type": "bool" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/interfaces/IMapleV2Globals.sol": "IMapleV2Globals" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/interfaces/IMapleV2Globals.sol": { "keccak256": "0xe95ad726b62c5b137743cf0878cbe2822686ed9325bab431501de426a5ac3906", "urls": [ "bzz-raw://6db8b760d90b075ed71389608b8bee2b721a52e436c0c31dbaef0c7984fc06b4", "dweb:/ipfs/QmRJXLvTcuKKmcyfJGwTrVDhvLxNEUbEZyxa2k5WbPqdSe" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 315 } diff --git a/eth_defi/abi/enzyme/IMapleV2Pool.json b/eth_defi/abi/enzyme/IMapleV2Pool.json index a7ae7743..6d9adee3 100644 --- a/eth_defi/abi/enzyme/IMapleV2Pool.json +++ b/eth_defi/abi/enzyme/IMapleV2Pool.json @@ -1,1286 +1 @@ -{ - "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": [], - "name": "asset", - "outputs": [ - { - "internalType": "address", - "name": "asset_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_shares", - "type": "uint256" - } - ], - "name": "convertToAssets", - "outputs": [ - { - "internalType": "uint256", - "name": "assets_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_shares", - "type": "uint256" - } - ], - "name": "convertToExitAssets", - "outputs": [ - { - "internalType": "uint256", - "name": "assets_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_assets", - "type": "uint256" - } - ], - "name": "convertToShares", - "outputs": [ - { - "internalType": "uint256", - "name": "shares_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_assets", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_receiver", - "type": "address" - } - ], - "name": "deposit", - "outputs": [ - { - "internalType": "uint256", - "name": "shares_", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "manager", - "outputs": [ - { - "internalType": "address", - "name": "poolManager_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_receiver", - "type": "address" - } - ], - "name": "maxDeposit", - "outputs": [ - { - "internalType": "uint256", - "name": "assets_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_receiver", - "type": "address" - } - ], - "name": "maxMint", - "outputs": [ - { - "internalType": "uint256", - "name": "shares_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "maxRedeem", - "outputs": [ - { - "internalType": "uint256", - "name": "shares_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "maxWithdraw", - "outputs": [ - { - "internalType": "uint256", - "name": "_assets", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "shares_", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_receiver", - "type": "address" - } - ], - "name": "mint", - "outputs": [ - { - "internalType": "uint256", - "name": "assets_", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_assets", - "type": "uint256" - } - ], - "name": "previewDeposit", - "outputs": [ - { - "internalType": "uint256", - "name": "shares_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_shares", - "type": "uint256" - } - ], - "name": "previewMint", - "outputs": [ - { - "internalType": "uint256", - "name": "assets_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_shares", - "type": "uint256" - } - ], - "name": "previewRedeem", - "outputs": [ - { - "internalType": "uint256", - "name": "assets_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_assets", - "type": "uint256" - } - ], - "name": "previewWithdraw", - "outputs": [ - { - "internalType": "uint256", - "name": "shares_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_shares", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_receiver", - "type": "address" - }, - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "redeem", - "outputs": [ - { - "internalType": "uint256", - "name": "assets_", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_shares", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "removeShares", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_shares", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "requestRedeem", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "totalAssets", - "outputs": [ - { - "internalType": "uint256", - "name": "totalAssets_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_assets", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_receiver", - "type": "address" - }, - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "withdraw", - "outputs": [ - { - "internalType": "uint256", - "name": "shares_", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "allowance(address,address)": "dd62ed3e", - "approve(address,uint256)": "095ea7b3", - "asset()": "38d52e0f", - "balanceOf(address)": "70a08231", - "convertToAssets(uint256)": "07a2d13a", - "convertToExitAssets(uint256)": "50496cbd", - "convertToShares(uint256)": "c6e6f592", - "deposit(uint256,address)": "6e553f65", - "manager()": "481c6a75", - "maxDeposit(address)": "402d267d", - "maxMint(address)": "c63d75b6", - "maxRedeem(address)": "d905777e", - "maxWithdraw(address)": "ce96cb77", - "mint(uint256,address)": "94bf804d", - "previewDeposit(uint256)": "ef8b30f7", - "previewMint(uint256)": "b3d7f6b9", - "previewRedeem(uint256)": "4cdad506", - "previewWithdraw(uint256)": "0a28a477", - "redeem(uint256,address,address)": "ba087652", - "removeShares(uint256,address)": "1b8f1830", - "requestRedeem(uint256,address)": "107703ab", - "totalAssets()": "01e1d114", - "totalSupply()": "18160ddd", - "transfer(address,uint256)": "a9059cbb", - "transferFrom(address,address,uint256)": "23b872dd", - "withdraw(uint256,address,address)": "b460af94" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"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\":[],\"name\":\"asset\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"asset_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_shares\",\"type\":\"uint256\"}],\"name\":\"convertToAssets\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"assets_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_shares\",\"type\":\"uint256\"}],\"name\":\"convertToExitAssets\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"assets_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_assets\",\"type\":\"uint256\"}],\"name\":\"convertToShares\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"shares_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_assets\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_receiver\",\"type\":\"address\"}],\"name\":\"deposit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"shares_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"manager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"poolManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_receiver\",\"type\":\"address\"}],\"name\":\"maxDeposit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"assets_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_receiver\",\"type\":\"address\"}],\"name\":\"maxMint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"shares_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"maxRedeem\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"shares_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"maxWithdraw\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_assets\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"shares_\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_receiver\",\"type\":\"address\"}],\"name\":\"mint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"assets_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_assets\",\"type\":\"uint256\"}],\"name\":\"previewDeposit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"shares_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_shares\",\"type\":\"uint256\"}],\"name\":\"previewMint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"assets_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_shares\",\"type\":\"uint256\"}],\"name\":\"previewRedeem\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"assets_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_assets\",\"type\":\"uint256\"}],\"name\":\"previewWithdraw\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"shares_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_shares\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_receiver\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"redeem\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"assets_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_shares\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"removeShares\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_shares\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"requestRedeem\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalAssets\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"totalAssets_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_assets\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_receiver\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"withdraw\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"shares_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"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 `recipient`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Moves `amount` tokens from `sender` to `recipient` 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.\"}},\"title\":\"IMapleV2Pool Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/IMapleV2Pool.sol\":\"IMapleV2Pool\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/IERC4626.sol\":{\"keccak256\":\"0xc9406d483e6f69717c0a12af680a4c247131f3049f3d7e787b3fb128ff02e2ab\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://823c5781608234371ae2ee9982d1c47fe752c3224fb4b7d189ef51248506dd2a\",\"dweb:/ipfs/QmUJfDq1psF7vTWLe3FXr1TaPS8kRBGfRR6snGtrrtVrFL\"]},\"contracts/release/interfaces/IMapleV2Pool.sol\":{\"keccak256\":\"0x628fcf182f99fd5be22272244f8106a551578de4bf3df105eb8ab42092c5cb05\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://efe4ae3736fd54ec2639621cdc1c245655e899cfa6da046476284ce0830f79de\",\"dweb:/ipfs/QmUoPG6ZBjDJ2Up8eHVZwfY3vgiXTv66Utct4D19tq4ZD8\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "spender", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "Approval", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "to", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "Transfer", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "asset", - "outputs": [ - { - "internalType": "address", - "name": "asset_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_shares", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "convertToAssets", - "outputs": [ - { - "internalType": "uint256", - "name": "assets_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_shares", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "convertToExitAssets", - "outputs": [ - { - "internalType": "uint256", - "name": "assets_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_assets", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "convertToShares", - "outputs": [ - { - "internalType": "uint256", - "name": "shares_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_assets", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_receiver", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "deposit", - "outputs": [ - { - "internalType": "uint256", - "name": "shares_", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "manager", - "outputs": [ - { - "internalType": "address", - "name": "poolManager_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_receiver", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "maxDeposit", - "outputs": [ - { - "internalType": "uint256", - "name": "assets_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_receiver", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "maxMint", - "outputs": [ - { - "internalType": "uint256", - "name": "shares_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "maxRedeem", - "outputs": [ - { - "internalType": "uint256", - "name": "shares_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "maxWithdraw", - "outputs": [ - { - "internalType": "uint256", - "name": "_assets", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "shares_", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_receiver", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "mint", - "outputs": [ - { - "internalType": "uint256", - "name": "assets_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_assets", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "previewDeposit", - "outputs": [ - { - "internalType": "uint256", - "name": "shares_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_shares", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "previewMint", - "outputs": [ - { - "internalType": "uint256", - "name": "assets_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_shares", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "previewRedeem", - "outputs": [ - { - "internalType": "uint256", - "name": "assets_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_assets", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "previewWithdraw", - "outputs": [ - { - "internalType": "uint256", - "name": "shares_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_shares", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_receiver", - "type": "address" - }, - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "redeem", - "outputs": [ - { - "internalType": "uint256", - "name": "assets_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_shares", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "removeShares" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_shares", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "requestRedeem" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "totalAssets", - "outputs": [ - { - "internalType": "uint256", - "name": "totalAssets_", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_assets", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_receiver", - "type": "address" - }, - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "withdraw", - "outputs": [ - { - "internalType": "uint256", - "name": "shares_", - "type": "uint256" - } - ] - } - ], - "devdoc": { - "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 `recipient`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event." - }, - "transferFrom(address,address,uint256)": { - "details": "Moves `amount` tokens from `sender` to `recipient` 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": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/interfaces/IMapleV2Pool.sol": "IMapleV2Pool" - }, - "libraries": {} - }, - "sources": { - "contracts/release/interfaces/IERC4626.sol": { - "keccak256": "0xc9406d483e6f69717c0a12af680a4c247131f3049f3d7e787b3fb128ff02e2ab", - "urls": [ - "bzz-raw://823c5781608234371ae2ee9982d1c47fe752c3224fb4b7d189ef51248506dd2a", - "dweb:/ipfs/QmUJfDq1psF7vTWLe3FXr1TaPS8kRBGfRR6snGtrrtVrFL" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IMapleV2Pool.sol": { - "keccak256": "0x628fcf182f99fd5be22272244f8106a551578de4bf3df105eb8ab42092c5cb05", - "urls": [ - "bzz-raw://efe4ae3736fd54ec2639621cdc1c245655e899cfa6da046476284ce0830f79de", - "dweb:/ipfs/QmUoPG6ZBjDJ2Up8eHVZwfY3vgiXTv66Utct4D19tq4ZD8" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 316 -} +{ "abi": [ { "type": "function", "name": "allowance", "inputs": [ { "name": "owner", "type": "address", "internalType": "address" }, { "name": "spender", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "approve", "inputs": [ { "name": "spender", "type": "address", "internalType": "address" }, { "name": "amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "asset", "inputs": [], "outputs": [ { "name": "asset_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "balanceOf", "inputs": [ { "name": "account", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "convertToAssets", "inputs": [ { "name": "_shares", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "assets_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "convertToExitAssets", "inputs": [ { "name": "_shares", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "assets_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "convertToShares", "inputs": [ { "name": "_assets", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "shares_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "deposit", "inputs": [ { "name": "_assets", "type": "uint256", "internalType": "uint256" }, { "name": "_receiver", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "shares_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "manager", "inputs": [], "outputs": [ { "name": "poolManager_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "maxDeposit", "inputs": [ { "name": "_receiver", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "assets_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "maxMint", "inputs": [ { "name": "_receiver", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "shares_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "maxRedeem", "inputs": [ { "name": "_owner", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "shares_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "maxWithdraw", "inputs": [ { "name": "_owner", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "_assets", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "mint", "inputs": [ { "name": "shares_", "type": "uint256", "internalType": "uint256" }, { "name": "_receiver", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "assets_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "previewDeposit", "inputs": [ { "name": "_assets", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "shares_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "previewMint", "inputs": [ { "name": "_shares", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "assets_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "previewRedeem", "inputs": [ { "name": "_shares", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "assets_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "previewWithdraw", "inputs": [ { "name": "_assets", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "shares_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "redeem", "inputs": [ { "name": "_shares", "type": "uint256", "internalType": "uint256" }, { "name": "_receiver", "type": "address", "internalType": "address" }, { "name": "_owner", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "assets_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "removeShares", "inputs": [ { "name": "_shares", "type": "uint256", "internalType": "uint256" }, { "name": "_owner", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "requestRedeem", "inputs": [ { "name": "_shares", "type": "uint256", "internalType": "uint256" }, { "name": "_owner", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "totalAssets", "inputs": [], "outputs": [ { "name": "totalAssets_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "totalSupply", "inputs": [], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "transfer", "inputs": [ { "name": "recipient", "type": "address", "internalType": "address" }, { "name": "amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "transferFrom", "inputs": [ { "name": "sender", "type": "address", "internalType": "address" }, { "name": "recipient", "type": "address", "internalType": "address" }, { "name": "amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "withdraw", "inputs": [ { "name": "_assets", "type": "uint256", "internalType": "uint256" }, { "name": "_receiver", "type": "address", "internalType": "address" }, { "name": "_owner", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "shares_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "event", "name": "Approval", "inputs": [ { "name": "owner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "spender", "type": "address", "indexed": true, "internalType": "address" }, { "name": "value", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "Transfer", "inputs": [ { "name": "from", "type": "address", "indexed": true, "internalType": "address" }, { "name": "to", "type": "address", "indexed": true, "internalType": "address" }, { "name": "value", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "allowance(address,address)": "dd62ed3e", "approve(address,uint256)": "095ea7b3", "asset()": "38d52e0f", "balanceOf(address)": "70a08231", "convertToAssets(uint256)": "07a2d13a", "convertToExitAssets(uint256)": "50496cbd", "convertToShares(uint256)": "c6e6f592", "deposit(uint256,address)": "6e553f65", "manager()": "481c6a75", "maxDeposit(address)": "402d267d", "maxMint(address)": "c63d75b6", "maxRedeem(address)": "d905777e", "maxWithdraw(address)": "ce96cb77", "mint(uint256,address)": "94bf804d", "previewDeposit(uint256)": "ef8b30f7", "previewMint(uint256)": "b3d7f6b9", "previewRedeem(uint256)": "4cdad506", "previewWithdraw(uint256)": "0a28a477", "redeem(uint256,address,address)": "ba087652", "removeShares(uint256,address)": "1b8f1830", "requestRedeem(uint256,address)": "107703ab", "totalAssets()": "01e1d114", "totalSupply()": "18160ddd", "transfer(address,uint256)": "a9059cbb", "transferFrom(address,address,uint256)": "23b872dd", "withdraw(uint256,address,address)": "b460af94" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"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\":[],\"name\":\"asset\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"asset_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_shares\",\"type\":\"uint256\"}],\"name\":\"convertToAssets\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"assets_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_shares\",\"type\":\"uint256\"}],\"name\":\"convertToExitAssets\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"assets_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_assets\",\"type\":\"uint256\"}],\"name\":\"convertToShares\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"shares_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_assets\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_receiver\",\"type\":\"address\"}],\"name\":\"deposit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"shares_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"manager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"poolManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_receiver\",\"type\":\"address\"}],\"name\":\"maxDeposit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"assets_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_receiver\",\"type\":\"address\"}],\"name\":\"maxMint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"shares_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"maxRedeem\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"shares_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"maxWithdraw\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_assets\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"shares_\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_receiver\",\"type\":\"address\"}],\"name\":\"mint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"assets_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_assets\",\"type\":\"uint256\"}],\"name\":\"previewDeposit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"shares_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_shares\",\"type\":\"uint256\"}],\"name\":\"previewMint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"assets_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_shares\",\"type\":\"uint256\"}],\"name\":\"previewRedeem\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"assets_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_assets\",\"type\":\"uint256\"}],\"name\":\"previewWithdraw\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"shares_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_shares\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_receiver\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"redeem\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"assets_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_shares\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"removeShares\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_shares\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"requestRedeem\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalAssets\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"totalAssets_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_assets\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_receiver\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"withdraw\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"shares_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"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 `recipient`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Moves `amount` tokens from `sender` to `recipient` 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.\"}},\"title\":\"IMapleV2Pool Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/IMapleV2Pool.sol\":\"IMapleV2Pool\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/IERC4626.sol\":{\"keccak256\":\"0xc9406d483e6f69717c0a12af680a4c247131f3049f3d7e787b3fb128ff02e2ab\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://823c5781608234371ae2ee9982d1c47fe752c3224fb4b7d189ef51248506dd2a\",\"dweb:/ipfs/QmUJfDq1psF7vTWLe3FXr1TaPS8kRBGfRR6snGtrrtVrFL\"]},\"contracts/release/interfaces/IMapleV2Pool.sol\":{\"keccak256\":\"0x628fcf182f99fd5be22272244f8106a551578de4bf3df105eb8ab42092c5cb05\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://efe4ae3736fd54ec2639621cdc1c245655e899cfa6da046476284ce0830f79de\",\"dweb:/ipfs/QmUoPG6ZBjDJ2Up8eHVZwfY3vgiXTv66Utct4D19tq4ZD8\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "owner", "type": "address", "indexed": true }, { "internalType": "address", "name": "spender", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "value", "type": "uint256", "indexed": false } ], "type": "event", "name": "Approval", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address", "indexed": true }, { "internalType": "address", "name": "to", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "value", "type": "uint256", "indexed": false } ], "type": "event", "name": "Transfer", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "asset", "outputs": [ { "internalType": "address", "name": "asset_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_shares", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "convertToAssets", "outputs": [ { "internalType": "uint256", "name": "assets_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_shares", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "convertToExitAssets", "outputs": [ { "internalType": "uint256", "name": "assets_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_assets", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "convertToShares", "outputs": [ { "internalType": "uint256", "name": "shares_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_assets", "type": "uint256" }, { "internalType": "address", "name": "_receiver", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "deposit", "outputs": [ { "internalType": "uint256", "name": "shares_", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "manager", "outputs": [ { "internalType": "address", "name": "poolManager_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_receiver", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "maxDeposit", "outputs": [ { "internalType": "uint256", "name": "assets_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "_receiver", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "maxMint", "outputs": [ { "internalType": "uint256", "name": "shares_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "_owner", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "maxRedeem", "outputs": [ { "internalType": "uint256", "name": "shares_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "_owner", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "maxWithdraw", "outputs": [ { "internalType": "uint256", "name": "_assets", "type": "uint256" } ] }, { "inputs": [ { "internalType": "uint256", "name": "shares_", "type": "uint256" }, { "internalType": "address", "name": "_receiver", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "mint", "outputs": [ { "internalType": "uint256", "name": "assets_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_assets", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "previewDeposit", "outputs": [ { "internalType": "uint256", "name": "shares_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_shares", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "previewMint", "outputs": [ { "internalType": "uint256", "name": "assets_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_shares", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "previewRedeem", "outputs": [ { "internalType": "uint256", "name": "assets_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_assets", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "previewWithdraw", "outputs": [ { "internalType": "uint256", "name": "shares_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_shares", "type": "uint256" }, { "internalType": "address", "name": "_receiver", "type": "address" }, { "internalType": "address", "name": "_owner", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "redeem", "outputs": [ { "internalType": "uint256", "name": "assets_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_shares", "type": "uint256" }, { "internalType": "address", "name": "_owner", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "removeShares" }, { "inputs": [ { "internalType": "uint256", "name": "_shares", "type": "uint256" }, { "internalType": "address", "name": "_owner", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "requestRedeem" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "totalAssets", "outputs": [ { "internalType": "uint256", "name": "totalAssets_", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_assets", "type": "uint256" }, { "internalType": "address", "name": "_receiver", "type": "address" }, { "internalType": "address", "name": "_owner", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "withdraw", "outputs": [ { "internalType": "uint256", "name": "shares_", "type": "uint256" } ] } ], "devdoc": { "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 `recipient`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event." }, "transferFrom(address,address,uint256)": { "details": "Moves `amount` tokens from `sender` to `recipient` 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": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/interfaces/IMapleV2Pool.sol": "IMapleV2Pool" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/interfaces/IERC4626.sol": { "keccak256": "0xc9406d483e6f69717c0a12af680a4c247131f3049f3d7e787b3fb128ff02e2ab", "urls": [ "bzz-raw://823c5781608234371ae2ee9982d1c47fe752c3224fb4b7d189ef51248506dd2a", "dweb:/ipfs/QmUJfDq1psF7vTWLe3FXr1TaPS8kRBGfRR6snGtrrtVrFL" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IMapleV2Pool.sol": { "keccak256": "0x628fcf182f99fd5be22272244f8106a551578de4bf3df105eb8ab42092c5cb05", "urls": [ "bzz-raw://efe4ae3736fd54ec2639621cdc1c245655e899cfa6da046476284ce0830f79de", "dweb:/ipfs/QmUoPG6ZBjDJ2Up8eHVZwfY3vgiXTv66Utct4D19tq4ZD8" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" } }, "version": 1 }, "id": 316 } diff --git a/eth_defi/abi/enzyme/IMapleV2PoolManager.json b/eth_defi/abi/enzyme/IMapleV2PoolManager.json index 88332353..beeb5f6d 100644 --- a/eth_defi/abi/enzyme/IMapleV2PoolManager.json +++ b/eth_defi/abi/enzyme/IMapleV2PoolManager.json @@ -1,162 +1 @@ -{ - "abi": [ - { - "inputs": [], - "name": "factory", - "outputs": [ - { - "internalType": "address", - "name": "factory_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "pool", - "outputs": [ - { - "internalType": "address", - "name": "pool_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "withdrawalManager", - "outputs": [ - { - "internalType": "address", - "name": "withdrawalManager_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "factory()": "c45a0155", - "pool()": "16f0115b", - "withdrawalManager()": "82fe535a" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"factory\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"factory_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"pool_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"withdrawalManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"withdrawalManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IMapleV2PoolManager Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/IMapleV2PoolManager.sol\":\"IMapleV2PoolManager\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/IMapleV2PoolManager.sol\":{\"keccak256\":\"0xc4de35e316205863bf63e66749c9cc4af8f50ebfce1fea39378da2740645a914\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://0bc5f3c9502ae74d8ae7fc9e078eebb8185eb4fd3cf42eb0f531d116cdc63e59\",\"dweb:/ipfs/QmScJCCGHM1grtPKnZGmvXbPY6HVZosrwYESD71mBVDE9w\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "factory", - "outputs": [ - { - "internalType": "address", - "name": "factory_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "pool", - "outputs": [ - { - "internalType": "address", - "name": "pool_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "withdrawalManager", - "outputs": [ - { - "internalType": "address", - "name": "withdrawalManager_", - "type": "address" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/interfaces/IMapleV2PoolManager.sol": "IMapleV2PoolManager" - }, - "libraries": {} - }, - "sources": { - "contracts/release/interfaces/IMapleV2PoolManager.sol": { - "keccak256": "0xc4de35e316205863bf63e66749c9cc4af8f50ebfce1fea39378da2740645a914", - "urls": [ - "bzz-raw://0bc5f3c9502ae74d8ae7fc9e078eebb8185eb4fd3cf42eb0f531d116cdc63e59", - "dweb:/ipfs/QmScJCCGHM1grtPKnZGmvXbPY6HVZosrwYESD71mBVDE9w" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 317 -} +{ "abi": [ { "type": "function", "name": "factory", "inputs": [], "outputs": [ { "name": "factory_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "pool", "inputs": [], "outputs": [ { "name": "pool_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "withdrawalManager", "inputs": [], "outputs": [ { "name": "withdrawalManager_", "type": "address", "internalType": "address" } ], "stateMutability": "view" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "factory()": "c45a0155", "pool()": "16f0115b", "withdrawalManager()": "82fe535a" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"factory\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"factory_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"pool_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"withdrawalManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"withdrawalManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IMapleV2PoolManager Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/IMapleV2PoolManager.sol\":\"IMapleV2PoolManager\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/IMapleV2PoolManager.sol\":{\"keccak256\":\"0xc4de35e316205863bf63e66749c9cc4af8f50ebfce1fea39378da2740645a914\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://0bc5f3c9502ae74d8ae7fc9e078eebb8185eb4fd3cf42eb0f531d116cdc63e59\",\"dweb:/ipfs/QmScJCCGHM1grtPKnZGmvXbPY6HVZosrwYESD71mBVDE9w\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [], "stateMutability": "view", "type": "function", "name": "factory", "outputs": [ { "internalType": "address", "name": "factory_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "pool", "outputs": [ { "internalType": "address", "name": "pool_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "withdrawalManager", "outputs": [ { "internalType": "address", "name": "withdrawalManager_", "type": "address" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/interfaces/IMapleV2PoolManager.sol": "IMapleV2PoolManager" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/interfaces/IMapleV2PoolManager.sol": { "keccak256": "0xc4de35e316205863bf63e66749c9cc4af8f50ebfce1fea39378da2740645a914", "urls": [ "bzz-raw://0bc5f3c9502ae74d8ae7fc9e078eebb8185eb4fd3cf42eb0f531d116cdc63e59", "dweb:/ipfs/QmScJCCGHM1grtPKnZGmvXbPY6HVZosrwYESD71mBVDE9w" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 317 } diff --git a/eth_defi/abi/enzyme/IMapleV2ProxyFactory.json b/eth_defi/abi/enzyme/IMapleV2ProxyFactory.json index c09f0afc..b909791d 100644 --- a/eth_defi/abi/enzyme/IMapleV2ProxyFactory.json +++ b/eth_defi/abi/enzyme/IMapleV2ProxyFactory.json @@ -1,120 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "instance_", - "type": "address" - } - ], - "name": "isInstance", - "outputs": [ - { - "internalType": "bool", - "name": "isInstance_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "isInstance(address)": "6b44e6be" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"instance_\",\"type\":\"address\"}],\"name\":\"isInstance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isInstance_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IMapleV2ProxyFactory Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/IMapleV2ProxyFactory.sol\":\"IMapleV2ProxyFactory\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/IMapleV2ProxyFactory.sol\":{\"keccak256\":\"0xb1eb10586ef029297a28798787076f65abbbc4c50a92af31430eacaa39d12a82\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a8f4a73e5271cceb532e02f1b5bc4d270400dbb051d7f35ce0f62d90637d4665\",\"dweb:/ipfs/QmSvsKsc6sNu53eukY5DD8qY8myiPKt4bAxb8CBEdauSxL\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "instance_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "isInstance", - "outputs": [ - { - "internalType": "bool", - "name": "isInstance_", - "type": "bool" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/interfaces/IMapleV2ProxyFactory.sol": "IMapleV2ProxyFactory" - }, - "libraries": {} - }, - "sources": { - "contracts/release/interfaces/IMapleV2ProxyFactory.sol": { - "keccak256": "0xb1eb10586ef029297a28798787076f65abbbc4c50a92af31430eacaa39d12a82", - "urls": [ - "bzz-raw://a8f4a73e5271cceb532e02f1b5bc4d270400dbb051d7f35ce0f62d90637d4665", - "dweb:/ipfs/QmSvsKsc6sNu53eukY5DD8qY8myiPKt4bAxb8CBEdauSxL" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 318 -} +{ "abi": [ { "type": "function", "name": "isInstance", "inputs": [ { "name": "instance_", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "isInstance_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "isInstance(address)": "6b44e6be" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"instance_\",\"type\":\"address\"}],\"name\":\"isInstance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isInstance_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IMapleV2ProxyFactory Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/IMapleV2ProxyFactory.sol\":\"IMapleV2ProxyFactory\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/IMapleV2ProxyFactory.sol\":{\"keccak256\":\"0xb1eb10586ef029297a28798787076f65abbbc4c50a92af31430eacaa39d12a82\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a8f4a73e5271cceb532e02f1b5bc4d270400dbb051d7f35ce0f62d90637d4665\",\"dweb:/ipfs/QmSvsKsc6sNu53eukY5DD8qY8myiPKt4bAxb8CBEdauSxL\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "instance_", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "isInstance", "outputs": [ { "internalType": "bool", "name": "isInstance_", "type": "bool" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/interfaces/IMapleV2ProxyFactory.sol": "IMapleV2ProxyFactory" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/interfaces/IMapleV2ProxyFactory.sol": { "keccak256": "0xb1eb10586ef029297a28798787076f65abbbc4c50a92af31430eacaa39d12a82", "urls": [ "bzz-raw://a8f4a73e5271cceb532e02f1b5bc4d270400dbb051d7f35ce0f62d90637d4665", "dweb:/ipfs/QmSvsKsc6sNu53eukY5DD8qY8myiPKt4bAxb8CBEdauSxL" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 318 } diff --git a/eth_defi/abi/enzyme/IMapleV2WithdrawalManager.json b/eth_defi/abi/enzyme/IMapleV2WithdrawalManager.json index 01089f84..0b3d1a12 100644 --- a/eth_defi/abi/enzyme/IMapleV2WithdrawalManager.json +++ b/eth_defi/abi/enzyme/IMapleV2WithdrawalManager.json @@ -1,120 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_account", - "type": "address" - } - ], - "name": "lockedShares", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "lockedShares(address)": "e336ac44" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"}],\"name\":\"lockedShares\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IMapleV2WithdrawalManager Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/IMapleV2WithdrawalManager.sol\":\"IMapleV2WithdrawalManager\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/IMapleV2WithdrawalManager.sol\":{\"keccak256\":\"0x52edc67174fbb7829efcab6863d011e6b41106315d47c649bee96621020896ae\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://51a0f7bda1ef4999fc91071264fa39481e56d5f8702818926a13afd99ade4fb9\",\"dweb:/ipfs/QmPNiCaYwnvQU5HRSALKeDYwRHRorSVMXQ4Br394x4Fzys\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_account", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "lockedShares", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/interfaces/IMapleV2WithdrawalManager.sol": "IMapleV2WithdrawalManager" - }, - "libraries": {} - }, - "sources": { - "contracts/release/interfaces/IMapleV2WithdrawalManager.sol": { - "keccak256": "0x52edc67174fbb7829efcab6863d011e6b41106315d47c649bee96621020896ae", - "urls": [ - "bzz-raw://51a0f7bda1ef4999fc91071264fa39481e56d5f8702818926a13afd99ade4fb9", - "dweb:/ipfs/QmPNiCaYwnvQU5HRSALKeDYwRHRorSVMXQ4Br394x4Fzys" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 319 -} +{ "abi": [ { "type": "function", "name": "lockedShares", "inputs": [ { "name": "_account", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "lockedShares(address)": "e336ac44" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"}],\"name\":\"lockedShares\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IMapleV2WithdrawalManager Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/IMapleV2WithdrawalManager.sol\":\"IMapleV2WithdrawalManager\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/IMapleV2WithdrawalManager.sol\":{\"keccak256\":\"0x52edc67174fbb7829efcab6863d011e6b41106315d47c649bee96621020896ae\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://51a0f7bda1ef4999fc91071264fa39481e56d5f8702818926a13afd99ade4fb9\",\"dweb:/ipfs/QmPNiCaYwnvQU5HRSALKeDYwRHRorSVMXQ4Br394x4Fzys\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_account", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "lockedShares", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/interfaces/IMapleV2WithdrawalManager.sol": "IMapleV2WithdrawalManager" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/interfaces/IMapleV2WithdrawalManager.sol": { "keccak256": "0x52edc67174fbb7829efcab6863d011e6b41106315d47c649bee96621020896ae", "urls": [ "bzz-raw://51a0f7bda1ef4999fc91071264fa39481e56d5f8702818926a13afd99ade4fb9", "dweb:/ipfs/QmPNiCaYwnvQU5HRSALKeDYwRHRorSVMXQ4Br394x4Fzys" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 319 } diff --git a/eth_defi/abi/enzyme/IMigratableVault.json b/eth_defi/abi/enzyme/IMigratableVault.json index a1f55e7a..ae524efc 100644 --- a/eth_defi/abi/enzyme/IMigratableVault.json +++ b/eth_defi/abi/enzyme/IMigratableVault.json @@ -1,218 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_who", - "type": "address" - } - ], - "name": "canMigrate", - "outputs": [ - { - "internalType": "bool", - "name": "canMigrate_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - }, - { - "internalType": "address", - "name": "_accessor", - "type": "address" - }, - { - "internalType": "string", - "name": "_fundName", - "type": "string" - } - ], - "name": "init", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_nextAccessor", - "type": "address" - } - ], - "name": "setAccessor", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_nextVaultLib", - "type": "address" - } - ], - "name": "setVaultLib", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "canMigrate(address)": "7de07cea", - "init(address,address,string)": "5c9a6d37", - "setAccessor(address)": "ab9253ac", - "setVaultLib(address)": "4140d607" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_who\",\"type\":\"address\"}],\"name\":\"canMigrate\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"canMigrate_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_accessor\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_fundName\",\"type\":\"string\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nextAccessor\",\"type\":\"address\"}],\"name\":\"setAccessor\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nextVaultLib\",\"type\":\"address\"}],\"name\":\"setVaultLib\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"DO NOT EDIT CONTRACT\",\"kind\":\"dev\",\"methods\":{},\"title\":\"IMigratableVault Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/vault/interfaces/IMigratableVault.sol\":\"IMigratableVault\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/vault/interfaces/IMigratableVault.sol\":{\"keccak256\":\"0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6\",\"dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_who", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "canMigrate", - "outputs": [ - { - "internalType": "bool", - "name": "canMigrate_", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - }, - { - "internalType": "address", - "name": "_accessor", - "type": "address" - }, - { - "internalType": "string", - "name": "_fundName", - "type": "string" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "init" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_nextAccessor", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setAccessor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_nextVaultLib", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setVaultLib" - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/persistent/vault/interfaces/IMigratableVault.sol": "IMigratableVault" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/vault/interfaces/IMigratableVault.sol": { - "keccak256": "0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238", - "urls": [ - "bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6", - "dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 72 -} +{ "abi": [ { "type": "function", "name": "canMigrate", "inputs": [ { "name": "_who", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "canMigrate_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "init", "inputs": [ { "name": "_owner", "type": "address", "internalType": "address" }, { "name": "_accessor", "type": "address", "internalType": "address" }, { "name": "_fundName", "type": "string", "internalType": "string" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setAccessor", "inputs": [ { "name": "_nextAccessor", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setVaultLib", "inputs": [ { "name": "_nextVaultLib", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "canMigrate(address)": "7de07cea", "init(address,address,string)": "5c9a6d37", "setAccessor(address)": "ab9253ac", "setVaultLib(address)": "4140d607" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_who\",\"type\":\"address\"}],\"name\":\"canMigrate\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"canMigrate_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_accessor\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_fundName\",\"type\":\"string\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nextAccessor\",\"type\":\"address\"}],\"name\":\"setAccessor\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nextVaultLib\",\"type\":\"address\"}],\"name\":\"setVaultLib\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"DO NOT EDIT CONTRACT\",\"kind\":\"dev\",\"methods\":{},\"title\":\"IMigratableVault Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/vault/interfaces/IMigratableVault.sol\":\"IMigratableVault\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/vault/interfaces/IMigratableVault.sol\":{\"keccak256\":\"0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6\",\"dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_who", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "canMigrate", "outputs": [ { "internalType": "bool", "name": "canMigrate_", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "_owner", "type": "address" }, { "internalType": "address", "name": "_accessor", "type": "address" }, { "internalType": "string", "name": "_fundName", "type": "string" } ], "stateMutability": "nonpayable", "type": "function", "name": "init" }, { "inputs": [ { "internalType": "address", "name": "_nextAccessor", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "setAccessor" }, { "inputs": [ { "internalType": "address", "name": "_nextVaultLib", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "setVaultLib" } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/persistent/vault/interfaces/IMigratableVault.sol": "IMigratableVault" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/vault/interfaces/IMigratableVault.sol": { "keccak256": "0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238", "urls": [ "bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6", "dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 72 } diff --git a/eth_defi/abi/enzyme/IMigrationHookHandler.json b/eth_defi/abi/enzyme/IMigrationHookHandler.json index 9980472a..c2011912 100644 --- a/eth_defi/abi/enzyme/IMigrationHookHandler.json +++ b/eth_defi/abi/enzyme/IMigrationHookHandler.json @@ -1,203 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_prevFundDeployer", - "type": "address" - }, - { - "internalType": "address", - "name": "_nextVaultAccessor", - "type": "address" - }, - { - "internalType": "address", - "name": "_nextVaultLib", - "type": "address" - } - ], - "name": "invokeMigrationInCancelHook", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "enum IMigrationHookHandler.MigrationOutHook", - "name": "_hook", - "type": "uint8" - }, - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_nextFundDeployer", - "type": "address" - }, - { - "internalType": "address", - "name": "_nextVaultAccessor", - "type": "address" - }, - { - "internalType": "address", - "name": "_nextVaultLib", - "type": "address" - } - ], - "name": "invokeMigrationOutHook", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "invokeMigrationInCancelHook(address,address,address,address)": "df369ba7", - "invokeMigrationOutHook(uint8,address,address,address,address)": "3f84c12c" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_prevFundDeployer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_nextVaultAccessor\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_nextVaultLib\",\"type\":\"address\"}],\"name\":\"invokeMigrationInCancelHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IMigrationHookHandler.MigrationOutHook\",\"name\":\"_hook\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_nextFundDeployer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_nextVaultAccessor\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_nextVaultLib\",\"type\":\"address\"}],\"name\":\"invokeMigrationOutHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IMigrationHookHandler Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/dispatcher/IMigrationHookHandler.sol\":\"IMigrationHookHandler\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/dispatcher/IMigrationHookHandler.sol\":{\"keccak256\":\"0x4cec61ef58c1d2e7693ee954c3582b1a04ff836a569e216edb7526c7e56a5632\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://0acae6d91e3e20e6ebd46cbeff926967a2d64f3d8eb2e3cdff20366917a77879\",\"dweb:/ipfs/Qmd44oJngTNRnwXdDwtNd9o4UvTgxAmBGikz3QMPKf4NWy\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_prevFundDeployer", - "type": "address" - }, - { - "internalType": "address", - "name": "_nextVaultAccessor", - "type": "address" - }, - { - "internalType": "address", - "name": "_nextVaultLib", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "invokeMigrationInCancelHook" - }, - { - "inputs": [ - { - "internalType": "enum IMigrationHookHandler.MigrationOutHook", - "name": "_hook", - "type": "uint8" - }, - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_nextFundDeployer", - "type": "address" - }, - { - "internalType": "address", - "name": "_nextVaultAccessor", - "type": "address" - }, - { - "internalType": "address", - "name": "_nextVaultLib", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "invokeMigrationOutHook" - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/persistent/dispatcher/IMigrationHookHandler.sol": "IMigrationHookHandler" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/dispatcher/IMigrationHookHandler.sol": { - "keccak256": "0x4cec61ef58c1d2e7693ee954c3582b1a04ff836a569e216edb7526c7e56a5632", - "urls": [ - "bzz-raw://0acae6d91e3e20e6ebd46cbeff926967a2d64f3d8eb2e3cdff20366917a77879", - "dweb:/ipfs/Qmd44oJngTNRnwXdDwtNd9o4UvTgxAmBGikz3QMPKf4NWy" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 22 -} +{ "abi": [ { "type": "function", "name": "invokeMigrationInCancelHook", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_prevFundDeployer", "type": "address", "internalType": "address" }, { "name": "_nextVaultAccessor", "type": "address", "internalType": "address" }, { "name": "_nextVaultLib", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "invokeMigrationOutHook", "inputs": [ { "name": "_hook", "type": "uint8", "internalType": "enum IMigrationHookHandler.MigrationOutHook" }, { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_nextFundDeployer", "type": "address", "internalType": "address" }, { "name": "_nextVaultAccessor", "type": "address", "internalType": "address" }, { "name": "_nextVaultLib", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "invokeMigrationInCancelHook(address,address,address,address)": "df369ba7", "invokeMigrationOutHook(uint8,address,address,address,address)": "3f84c12c" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_prevFundDeployer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_nextVaultAccessor\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_nextVaultLib\",\"type\":\"address\"}],\"name\":\"invokeMigrationInCancelHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IMigrationHookHandler.MigrationOutHook\",\"name\":\"_hook\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_nextFundDeployer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_nextVaultAccessor\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_nextVaultLib\",\"type\":\"address\"}],\"name\":\"invokeMigrationOutHook\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IMigrationHookHandler Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/dispatcher/IMigrationHookHandler.sol\":\"IMigrationHookHandler\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/dispatcher/IMigrationHookHandler.sol\":{\"keccak256\":\"0x4cec61ef58c1d2e7693ee954c3582b1a04ff836a569e216edb7526c7e56a5632\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://0acae6d91e3e20e6ebd46cbeff926967a2d64f3d8eb2e3cdff20366917a77879\",\"dweb:/ipfs/Qmd44oJngTNRnwXdDwtNd9o4UvTgxAmBGikz3QMPKf4NWy\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "address", "name": "_prevFundDeployer", "type": "address" }, { "internalType": "address", "name": "_nextVaultAccessor", "type": "address" }, { "internalType": "address", "name": "_nextVaultLib", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "invokeMigrationInCancelHook" }, { "inputs": [ { "internalType": "enum IMigrationHookHandler.MigrationOutHook", "name": "_hook", "type": "uint8" }, { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "address", "name": "_nextFundDeployer", "type": "address" }, { "internalType": "address", "name": "_nextVaultAccessor", "type": "address" }, { "internalType": "address", "name": "_nextVaultLib", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "invokeMigrationOutHook" } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/persistent/dispatcher/IMigrationHookHandler.sol": "IMigrationHookHandler" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/dispatcher/IMigrationHookHandler.sol": { "keccak256": "0x4cec61ef58c1d2e7693ee954c3582b1a04ff836a569e216edb7526c7e56a5632", "urls": [ "bzz-raw://0acae6d91e3e20e6ebd46cbeff926967a2d64f3d8eb2e3cdff20366917a77879", "dweb:/ipfs/Qmd44oJngTNRnwXdDwtNd9o4UvTgxAmBGikz3QMPKf4NWy" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 22 } diff --git a/eth_defi/abi/enzyme/IMockGenericIntegratee.json b/eth_defi/abi/enzyme/IMockGenericIntegratee.json index fb1c240a..5bfd548c 100644 --- a/eth_defi/abi/enzyme/IMockGenericIntegratee.json +++ b/eth_defi/abi/enzyme/IMockGenericIntegratee.json @@ -1,291 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ], - "name": "swap", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address payable", - "name": "", - "type": "address" - }, - { - "internalType": "address[]", - "name": "", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ], - "name": "swapOnBehalf", - "outputs": [], - "stateMutability": "payable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "swap(address[],uint256[],address[],uint256[])": "3005d9d0", - "swapOnBehalf(address,address[],uint256[],address[],uint256[])": "35671b2f" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"},{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"name\":\"swap\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"},{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"name\":\"swapOnBehalf\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IMockGenericIntegratee Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/mocks/MockGenericAdapter.sol\":\"IMockGenericIntegratee\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/mocks/MockGenericAdapter.sol\":{\"keccak256\":\"0xaac8539717fb94de230488d1ded43f77de1e45fd8bd2ee02db5d2053b1b4f49c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://254b09055fa8c744e1bb99f82485909037961659a75dd6955c4758bb5b8c533f\",\"dweb:/ipfs/QmNPoZWcG9cBmn1wrxxqXkjEkchhat5KFer7rBNt4pEYHU\"]},\"contracts/release/extensions/integration-manager/IIntegrationManager.sol\":{\"keccak256\":\"0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23\",\"dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk\"]},\"contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol\":{\"keccak256\":\"0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336\",\"dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS\"]},\"contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol\":{\"keccak256\":\"0x067e49bf0d3c1655ab41a413c65ccf61d4e593308132e1ffc484a0fadfbbaf26\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://387f425017e18e89cc1893521101fa99df595314847d0b3d9a1162369f714fcf\",\"dweb:/ipfs/Qmco3jCvuWAyfCpBYpGzHrQjiFJG63w1RJKcakoTEbxRQm\"]},\"contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol\":{\"keccak256\":\"0xfd34c7ca8231c6935e25dede32ca2b3121738e624d0fc896f7b895a731edcf88\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d492c061963d36d07718446db191d4c5a340c0d847f6cd209f027bd99f7cb176\",\"dweb:/ipfs/QmfCvRZt56ftDdrEh6LepHXFJ4fVtcfpQGvEyY8k4zxG1A\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ], - "stateMutability": "payable", - "type": "function", - "name": "swap" - }, - { - "inputs": [ - { - "internalType": "address payable", - "name": "", - "type": "address" - }, - { - "internalType": "address[]", - "name": "", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ], - "stateMutability": "payable", - "type": "function", - "name": "swapOnBehalf" - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/mocks/MockGenericAdapter.sol": "IMockGenericIntegratee" - }, - "libraries": {} - }, - "sources": { - "contracts/mocks/MockGenericAdapter.sol": { - "keccak256": "0xaac8539717fb94de230488d1ded43f77de1e45fd8bd2ee02db5d2053b1b4f49c", - "urls": [ - "bzz-raw://254b09055fa8c744e1bb99f82485909037961659a75dd6955c4758bb5b8c533f", - "dweb:/ipfs/QmNPoZWcG9cBmn1wrxxqXkjEkchhat5KFer7rBNt4pEYHU" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/IIntegrationManager.sol": { - "keccak256": "0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef", - "urls": [ - "bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23", - "dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol": { - "keccak256": "0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1", - "urls": [ - "bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336", - "dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol": { - "keccak256": "0x067e49bf0d3c1655ab41a413c65ccf61d4e593308132e1ffc484a0fadfbbaf26", - "urls": [ - "bzz-raw://387f425017e18e89cc1893521101fa99df595314847d0b3d9a1162369f714fcf", - "dweb:/ipfs/Qmco3jCvuWAyfCpBYpGzHrQjiFJG63w1RJKcakoTEbxRQm" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol": { - "keccak256": "0xfd34c7ca8231c6935e25dede32ca2b3121738e624d0fc896f7b895a731edcf88", - "urls": [ - "bzz-raw://d492c061963d36d07718446db191d4c5a340c0d847f6cd209f027bd99f7cb176", - "dweb:/ipfs/QmfCvRZt56ftDdrEh6LepHXFJ4fVtcfpQGvEyY8k4zxG1A" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AssetHelpers.sol": { - "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", - "urls": [ - "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", - "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { - "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", - "urls": [ - "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", - "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Address.sol": { - "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", - "urls": [ - "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", - "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 1 -} +{ "abi": [ { "type": "function", "name": "swap", "inputs": [ { "name": "", "type": "address[]", "internalType": "address[]" }, { "name": "", "type": "uint256[]", "internalType": "uint256[]" }, { "name": "", "type": "address[]", "internalType": "address[]" }, { "name": "", "type": "uint256[]", "internalType": "uint256[]" } ], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "swapOnBehalf", "inputs": [ { "name": "", "type": "address", "internalType": "address payable" }, { "name": "", "type": "address[]", "internalType": "address[]" }, { "name": "", "type": "uint256[]", "internalType": "uint256[]" }, { "name": "", "type": "address[]", "internalType": "address[]" }, { "name": "", "type": "uint256[]", "internalType": "uint256[]" } ], "outputs": [], "stateMutability": "payable" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "swap(address[],uint256[],address[],uint256[])": "3005d9d0", "swapOnBehalf(address,address[],uint256[],address[],uint256[])": "35671b2f" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"},{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"name\":\"swap\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"},{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"name\":\"swapOnBehalf\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IMockGenericIntegratee Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/mocks/MockGenericAdapter.sol\":\"IMockGenericIntegratee\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/mocks/MockGenericAdapter.sol\":{\"keccak256\":\"0xaac8539717fb94de230488d1ded43f77de1e45fd8bd2ee02db5d2053b1b4f49c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://254b09055fa8c744e1bb99f82485909037961659a75dd6955c4758bb5b8c533f\",\"dweb:/ipfs/QmNPoZWcG9cBmn1wrxxqXkjEkchhat5KFer7rBNt4pEYHU\"]},\"contracts/release/extensions/integration-manager/IIntegrationManager.sol\":{\"keccak256\":\"0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23\",\"dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk\"]},\"contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol\":{\"keccak256\":\"0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336\",\"dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS\"]},\"contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol\":{\"keccak256\":\"0x067e49bf0d3c1655ab41a413c65ccf61d4e593308132e1ffc484a0fadfbbaf26\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://387f425017e18e89cc1893521101fa99df595314847d0b3d9a1162369f714fcf\",\"dweb:/ipfs/Qmco3jCvuWAyfCpBYpGzHrQjiFJG63w1RJKcakoTEbxRQm\"]},\"contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol\":{\"keccak256\":\"0xfd34c7ca8231c6935e25dede32ca2b3121738e624d0fc896f7b895a731edcf88\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d492c061963d36d07718446db191d4c5a340c0d847f6cd209f027bd99f7cb176\",\"dweb:/ipfs/QmfCvRZt56ftDdrEh6LepHXFJ4fVtcfpQGvEyY8k4zxG1A\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address[]", "name": "", "type": "address[]" }, { "internalType": "uint256[]", "name": "", "type": "uint256[]" }, { "internalType": "address[]", "name": "", "type": "address[]" }, { "internalType": "uint256[]", "name": "", "type": "uint256[]" } ], "stateMutability": "payable", "type": "function", "name": "swap" }, { "inputs": [ { "internalType": "address payable", "name": "", "type": "address" }, { "internalType": "address[]", "name": "", "type": "address[]" }, { "internalType": "uint256[]", "name": "", "type": "uint256[]" }, { "internalType": "address[]", "name": "", "type": "address[]" }, { "internalType": "uint256[]", "name": "", "type": "uint256[]" } ], "stateMutability": "payable", "type": "function", "name": "swapOnBehalf" } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/mocks/MockGenericAdapter.sol": "IMockGenericIntegratee" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/mocks/MockGenericAdapter.sol": { "keccak256": "0xaac8539717fb94de230488d1ded43f77de1e45fd8bd2ee02db5d2053b1b4f49c", "urls": [ "bzz-raw://254b09055fa8c744e1bb99f82485909037961659a75dd6955c4758bb5b8c533f", "dweb:/ipfs/QmNPoZWcG9cBmn1wrxxqXkjEkchhat5KFer7rBNt4pEYHU" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/IIntegrationManager.sol": { "keccak256": "0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef", "urls": [ "bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23", "dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol": { "keccak256": "0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1", "urls": [ "bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336", "dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol": { "keccak256": "0x067e49bf0d3c1655ab41a413c65ccf61d4e593308132e1ffc484a0fadfbbaf26", "urls": [ "bzz-raw://387f425017e18e89cc1893521101fa99df595314847d0b3d9a1162369f714fcf", "dweb:/ipfs/Qmco3jCvuWAyfCpBYpGzHrQjiFJG63w1RJKcakoTEbxRQm" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol": { "keccak256": "0xfd34c7ca8231c6935e25dede32ca2b3121738e624d0fc896f7b895a731edcf88", "urls": [ "bzz-raw://d492c061963d36d07718446db191d4c5a340c0d847f6cd209f027bd99f7cb176", "dweb:/ipfs/QmfCvRZt56ftDdrEh6LepHXFJ4fVtcfpQGvEyY8k4zxG1A" ], "license": "GPL-3.0" }, "contracts/release/utils/AssetHelpers.sol": { "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", "urls": [ "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", "urls": [ "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Address.sol": { "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", "urls": [ "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" } }, "version": 1 }, "id": 1 } diff --git a/eth_defi/abi/enzyme/INonfungiblePositionManager.json b/eth_defi/abi/enzyme/INonfungiblePositionManager.json index cd9a360d..2496e05c 100644 --- a/eth_defi/abi/enzyme/INonfungiblePositionManager.json +++ b/eth_defi/abi/enzyme/INonfungiblePositionManager.json @@ -1,2362 +1 @@ -{ - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "approved", - "type": "address" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "Approval", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "operator", - "type": "address" - }, - { - "indexed": false, - "internalType": "bool", - "name": "approved", - "type": "bool" - } - ], - "name": "ApprovalForAll", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount0", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount1", - "type": "uint256" - } - ], - "name": "Collect", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint128", - "name": "liquidity", - "type": "uint128" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount0", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount1", - "type": "uint256" - } - ], - "name": "DecreaseLiquidity", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint128", - "name": "liquidity", - "type": "uint128" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount0", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount1", - "type": "uint256" - } - ], - "name": "IncreaseLiquidity", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "Transfer", - "type": "event" - }, - { - "inputs": [], - "name": "DOMAIN_SEPARATOR", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "PERMIT_TYPEHASH", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "WETH9", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "balance", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "burn", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint128", - "name": "amount0Max", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "amount1Max", - "type": "uint128" - } - ], - "internalType": "struct INonfungiblePositionManager.CollectParams", - "name": "params", - "type": "tuple" - } - ], - "name": "collect", - "outputs": [ - { - "internalType": "uint256", - "name": "amount0", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount1", - "type": "uint256" - } - ], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "token0", - "type": "address" - }, - { - "internalType": "address", - "name": "token1", - "type": "address" - }, - { - "internalType": "uint24", - "name": "fee", - "type": "uint24" - }, - { - "internalType": "uint160", - "name": "sqrtPriceX96", - "type": "uint160" - } - ], - "name": "createAndInitializePoolIfNecessary", - "outputs": [ - { - "internalType": "address", - "name": "pool", - "type": "address" - } - ], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - }, - { - "internalType": "uint128", - "name": "liquidity", - "type": "uint128" - }, - { - "internalType": "uint256", - "name": "amount0Min", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount1Min", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "deadline", - "type": "uint256" - } - ], - "internalType": "struct INonfungiblePositionManager.DecreaseLiquidityParams", - "name": "params", - "type": "tuple" - } - ], - "name": "decreaseLiquidity", - "outputs": [ - { - "internalType": "uint256", - "name": "amount0", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount1", - "type": "uint256" - } - ], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [], - "name": "factory", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "getApproved", - "outputs": [ - { - "internalType": "address", - "name": "operator", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount0Desired", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount1Desired", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount0Min", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount1Min", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "deadline", - "type": "uint256" - } - ], - "internalType": "struct INonfungiblePositionManager.IncreaseLiquidityParams", - "name": "params", - "type": "tuple" - } - ], - "name": "increaseLiquidity", - "outputs": [ - { - "internalType": "uint128", - "name": "liquidity", - "type": "uint128" - }, - { - "internalType": "uint256", - "name": "amount0", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount1", - "type": "uint256" - } - ], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "operator", - "type": "address" - } - ], - "name": "isApprovedForAll", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "address", - "name": "token0", - "type": "address" - }, - { - "internalType": "address", - "name": "token1", - "type": "address" - }, - { - "internalType": "uint24", - "name": "fee", - "type": "uint24" - }, - { - "internalType": "int24", - "name": "tickLower", - "type": "int24" - }, - { - "internalType": "int24", - "name": "tickUpper", - "type": "int24" - }, - { - "internalType": "uint256", - "name": "amount0Desired", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount1Desired", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount0Min", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount1Min", - "type": "uint256" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "deadline", - "type": "uint256" - } - ], - "internalType": "struct INonfungiblePositionManager.MintParams", - "name": "params", - "type": "tuple" - } - ], - "name": "mint", - "outputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - }, - { - "internalType": "uint128", - "name": "liquidity", - "type": "uint128" - }, - { - "internalType": "uint256", - "name": "amount0", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount1", - "type": "uint256" - } - ], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "ownerOf", - "outputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "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": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "positions", - "outputs": [ - { - "internalType": "uint96", - "name": "nonce", - "type": "uint96" - }, - { - "internalType": "address", - "name": "operator", - "type": "address" - }, - { - "internalType": "address", - "name": "token0", - "type": "address" - }, - { - "internalType": "address", - "name": "token1", - "type": "address" - }, - { - "internalType": "uint24", - "name": "fee", - "type": "uint24" - }, - { - "internalType": "int24", - "name": "tickLower", - "type": "int24" - }, - { - "internalType": "int24", - "name": "tickUpper", - "type": "int24" - }, - { - "internalType": "uint128", - "name": "liquidity", - "type": "uint128" - }, - { - "internalType": "uint256", - "name": "feeGrowthInside0LastX128", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "feeGrowthInside1LastX128", - "type": "uint256" - }, - { - "internalType": "uint128", - "name": "tokensOwed0", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "tokensOwed1", - "type": "uint128" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "refundETH", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "safeTransferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "safeTransferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "operator", - "type": "address" - }, - { - "internalType": "bool", - "name": "_approved", - "type": "bool" - } - ], - "name": "setApprovalForAll", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amountMinimum", - "type": "uint256" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - } - ], - "name": "sweepToken", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "index", - "type": "uint256" - } - ], - "name": "tokenByIndex", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "uint256", - "name": "index", - "type": "uint256" - } - ], - "name": "tokenOfOwnerByIndex", - "outputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "tokenURI", - "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": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "amountMinimum", - "type": "uint256" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - } - ], - "name": "unwrapWETH9", - "outputs": [], - "stateMutability": "payable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "DOMAIN_SEPARATOR()": "3644e515", - "PERMIT_TYPEHASH()": "30adf81f", - "WETH9()": "4aa4a4fc", - "approve(address,uint256)": "095ea7b3", - "balanceOf(address)": "70a08231", - "burn(uint256)": "42966c68", - "collect((uint256,address,uint128,uint128))": "fc6f7865", - "createAndInitializePoolIfNecessary(address,address,uint24,uint160)": "13ead562", - "decreaseLiquidity((uint256,uint128,uint256,uint256,uint256))": "0c49ccbe", - "factory()": "c45a0155", - "getApproved(uint256)": "081812fc", - "increaseLiquidity((uint256,uint256,uint256,uint256,uint256,uint256))": "219f5d17", - "isApprovedForAll(address,address)": "e985e9c5", - "mint((address,address,uint24,int24,int24,uint256,uint256,uint256,uint256,address,uint256))": "88316456", - "name()": "06fdde03", - "ownerOf(uint256)": "6352211e", - "permit(address,uint256,uint256,uint8,bytes32,bytes32)": "7ac2ff7b", - "positions(uint256)": "99fbab88", - "refundETH()": "12210e8a", - "safeTransferFrom(address,address,uint256)": "42842e0e", - "safeTransferFrom(address,address,uint256,bytes)": "b88d4fde", - "setApprovalForAll(address,bool)": "a22cb465", - "supportsInterface(bytes4)": "01ffc9a7", - "sweepToken(address,uint256,address)": "df2ab5bb", - "symbol()": "95d89b41", - "tokenByIndex(uint256)": "4f6ccce7", - "tokenOfOwnerByIndex(address,uint256)": "2f745c59", - "tokenURI(uint256)": "c87b56dd", - "totalSupply()": "18160ddd", - "transferFrom(address,address,uint256)": "23b872dd", - "unwrapWETH9(uint256,address)": "49404b7c" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.7.6+commit.7338295f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount0\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount1\",\"type\":\"uint256\"}],\"name\":\"Collect\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"liquidity\",\"type\":\"uint128\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount0\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount1\",\"type\":\"uint256\"}],\"name\":\"DecreaseLiquidity\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"liquidity\",\"type\":\"uint128\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount0\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount1\",\"type\":\"uint256\"}],\"name\":\"IncreaseLiquidity\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"PERMIT_TYPEHASH\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"WETH9\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint128\",\"name\":\"amount0Max\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"amount1Max\",\"type\":\"uint128\"}],\"internalType\":\"struct INonfungiblePositionManager.CollectParams\",\"name\":\"params\",\"type\":\"tuple\"}],\"name\":\"collect\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount0\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount1\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token0\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token1\",\"type\":\"address\"},{\"internalType\":\"uint24\",\"name\":\"fee\",\"type\":\"uint24\"},{\"internalType\":\"uint160\",\"name\":\"sqrtPriceX96\",\"type\":\"uint160\"}],\"name\":\"createAndInitializePoolIfNecessary\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"pool\",\"type\":\"address\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint128\",\"name\":\"liquidity\",\"type\":\"uint128\"},{\"internalType\":\"uint256\",\"name\":\"amount0Min\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount1Min\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"}],\"internalType\":\"struct INonfungiblePositionManager.DecreaseLiquidityParams\",\"name\":\"params\",\"type\":\"tuple\"}],\"name\":\"decreaseLiquidity\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount0\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount1\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"factory\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount0Desired\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount1Desired\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount0Min\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount1Min\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"}],\"internalType\":\"struct INonfungiblePositionManager.IncreaseLiquidityParams\",\"name\":\"params\",\"type\":\"tuple\"}],\"name\":\"increaseLiquidity\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"liquidity\",\"type\":\"uint128\"},{\"internalType\":\"uint256\",\"name\":\"amount0\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount1\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"token0\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token1\",\"type\":\"address\"},{\"internalType\":\"uint24\",\"name\":\"fee\",\"type\":\"uint24\"},{\"internalType\":\"int24\",\"name\":\"tickLower\",\"type\":\"int24\"},{\"internalType\":\"int24\",\"name\":\"tickUpper\",\"type\":\"int24\"},{\"internalType\":\"uint256\",\"name\":\"amount0Desired\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount1Desired\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount0Min\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount1Min\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"}],\"internalType\":\"struct INonfungiblePositionManager.MintParams\",\"name\":\"params\",\"type\":\"tuple\"}],\"name\":\"mint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint128\",\"name\":\"liquidity\",\"type\":\"uint128\"},{\"internalType\":\"uint256\",\"name\":\"amount0\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount1\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"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\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"positions\",\"outputs\":[{\"internalType\":\"uint96\",\"name\":\"nonce\",\"type\":\"uint96\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token0\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token1\",\"type\":\"address\"},{\"internalType\":\"uint24\",\"name\":\"fee\",\"type\":\"uint24\"},{\"internalType\":\"int24\",\"name\":\"tickLower\",\"type\":\"int24\"},{\"internalType\":\"int24\",\"name\":\"tickUpper\",\"type\":\"int24\"},{\"internalType\":\"uint128\",\"name\":\"liquidity\",\"type\":\"uint128\"},{\"internalType\":\"uint256\",\"name\":\"feeGrowthInside0LastX128\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"feeGrowthInside1LastX128\",\"type\":\"uint256\"},{\"internalType\":\"uint128\",\"name\":\"tokensOwed0\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"tokensOwed1\",\"type\":\"uint128\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"refundETH\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amountMinimum\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"}],\"name\":\"sweepToken\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"tokenByIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"tokenOfOwnerByIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"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\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amountMinimum\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"}],\"name\":\"unwrapWETH9\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"Collect(uint256,address,uint256,uint256)\":{\"details\":\"The amounts reported may not be exactly equivalent to the amounts transferred, due to rounding behavior\",\"params\":{\"amount0\":\"The amount of token0 owed to the position that was collected\",\"amount1\":\"The amount of token1 owed to the position that was collected\",\"recipient\":\"The address of the account that received the collected tokens\",\"tokenId\":\"The ID of the token for which underlying tokens were collected\"}},\"DecreaseLiquidity(uint256,uint128,uint256,uint256)\":{\"params\":{\"amount0\":\"The amount of token0 that was accounted for the decrease in liquidity\",\"amount1\":\"The amount of token1 that was accounted for the decrease in liquidity\",\"liquidity\":\"The amount by which liquidity for the NFT position was decreased\",\"tokenId\":\"The ID of the token for which liquidity was decreased\"}},\"IncreaseLiquidity(uint256,uint128,uint256,uint256)\":{\"details\":\"Also emitted when a token is minted\",\"params\":{\"amount0\":\"The amount of token0 that was paid for the increase in liquidity\",\"amount1\":\"The amount of token1 that was paid for the increase in liquidity\",\"liquidity\":\"The amount by which liquidity for the NFT position was increased\",\"tokenId\":\"The ID of the token for which liquidity was increased\"}}},\"kind\":\"dev\",\"methods\":{\"DOMAIN_SEPARATOR()\":{\"returns\":{\"_0\":\"The domain seperator used in encoding of permit signature\"}},\"PERMIT_TYPEHASH()\":{\"returns\":{\"_0\":\"The typehash for the permit\"}},\"WETH9()\":{\"returns\":{\"_0\":\"Returns the address of WETH9\"}},\"approve(address,uint256)\":{\"details\":\"Gives permission to `to` to transfer `tokenId` token to another account. The approval is cleared when the token is transferred. Only a single account can be approved at a time, so approving the zero address clears previous approvals. Requirements: - The caller must own the token or be an approved operator. - `tokenId` must exist. Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the number of tokens in ``owner``'s account.\"},\"burn(uint256)\":{\"params\":{\"tokenId\":\"The ID of the token that is being burned\"}},\"collect((uint256,address,uint128,uint128))\":{\"params\":{\"params\":\"tokenId The ID of the NFT for which tokens are being collected, recipient The account that should receive the tokens, amount0Max The maximum amount of token0 to collect, amount1Max The maximum amount of token1 to collect\"},\"returns\":{\"amount0\":\"The amount of fees collected in token0\",\"amount1\":\"The amount of fees collected in token1\"}},\"createAndInitializePoolIfNecessary(address,address,uint24,uint160)\":{\"details\":\"This method can be bundled with others via IMulticall for the first action (e.g. mint) performed against a pool\",\"params\":{\"fee\":\"The fee amount of the v3 pool for the specified token pair\",\"sqrtPriceX96\":\"The initial square root price of the pool as a Q64.96 value\",\"token0\":\"The contract address of token0 of the pool\",\"token1\":\"The contract address of token1 of the pool\"},\"returns\":{\"pool\":\"Returns the pool address based on the pair of tokens and fee, will return the newly created pool address if necessary\"}},\"decreaseLiquidity((uint256,uint128,uint256,uint256,uint256))\":{\"params\":{\"params\":\"tokenId The ID of the token for which liquidity is being decreased, amount The amount by which liquidity will be decreased, amount0Min The minimum amount of token0 that should be accounted for the burned liquidity, amount1Min The minimum amount of token1 that should be accounted for the burned liquidity, deadline The time by which the transaction must be included to effect the change\"},\"returns\":{\"amount0\":\"The amount of token0 accounted to the position's tokens owed\",\"amount1\":\"The amount of token1 accounted to the position's tokens owed\"}},\"factory()\":{\"returns\":{\"_0\":\"Returns the address of the Uniswap V3 factory\"}},\"getApproved(uint256)\":{\"details\":\"Returns the account approved for `tokenId` token. Requirements: - `tokenId` must exist.\"},\"increaseLiquidity((uint256,uint256,uint256,uint256,uint256,uint256))\":{\"params\":{\"params\":\"tokenId The ID of the token for which liquidity is being increased, amount0Desired The desired amount of token0 to be spent, amount1Desired The desired amount of token1 to be spent, amount0Min The minimum amount of token0 to spend, which serves as a slippage check, amount1Min The minimum amount of token1 to spend, which serves as a slippage check, deadline The time by which the transaction must be included to effect the change\"},\"returns\":{\"amount0\":\"The amount of token0 to acheive resulting liquidity\",\"amount1\":\"The amount of token1 to acheive resulting liquidity\",\"liquidity\":\"The new liquidity amount as a result of the increase\"}},\"isApprovedForAll(address,address)\":{\"details\":\"Returns if the `operator` is allowed to manage all of the assets of `owner`. See {setApprovalForAll}\"},\"mint((address,address,uint24,int24,int24,uint256,uint256,uint256,uint256,address,uint256))\":{\"details\":\"Call this when the pool does exist and is initialized. Note that if the pool is created but not initialized a method does not exist, i.e. the pool is assumed to be initialized.\",\"params\":{\"params\":\"The params necessary to mint a position, encoded as `MintParams` in calldata\"},\"returns\":{\"amount0\":\"The amount of token0\",\"amount1\":\"The amount of token1\",\"liquidity\":\"The amount of liquidity for this position\",\"tokenId\":\"The ID of the token that represents the minted position\"}},\"name()\":{\"details\":\"Returns the token collection name.\"},\"ownerOf(uint256)\":{\"details\":\"Returns the owner of the `tokenId` token. Requirements: - `tokenId` must exist.\"},\"permit(address,uint256,uint256,uint8,bytes32,bytes32)\":{\"params\":{\"deadline\":\"The deadline timestamp by which the call must be mined for the approve to work\",\"r\":\"Must produce valid secp256k1 signature from the holder along with `v` and `s`\",\"s\":\"Must produce valid secp256k1 signature from the holder along with `r` and `v`\",\"spender\":\"The account that is being approved\",\"tokenId\":\"The ID of the token that is being approved for spending\",\"v\":\"Must produce valid secp256k1 signature from the holder along with `r` and `s`\"}},\"positions(uint256)\":{\"details\":\"Throws if the token ID is not valid.\",\"params\":{\"tokenId\":\"The ID of the token that represents the position\"},\"returns\":{\"fee\":\"The fee associated with the pool\",\"feeGrowthInside0LastX128\":\"The fee growth of token0 as of the last action on the individual position\",\"feeGrowthInside1LastX128\":\"The fee growth of token1 as of the last action on the individual position\",\"liquidity\":\"The liquidity of the position\",\"nonce\":\"The nonce for permits\",\"operator\":\"The address that is approved for spending\",\"tickLower\":\"The lower end of the tick range for the position\",\"tickUpper\":\"The higher end of the tick range for the position\",\"token0\":\"The address of the token0 for a specific pool\",\"token1\":\"The address of the token1 for a specific pool\",\"tokensOwed0\":\"The uncollected amount of token0 owed to the position as of the last computation\",\"tokensOwed1\":\"The uncollected amount of token1 owed to the position as of the last computation\"}},\"refundETH()\":{\"details\":\"Useful for bundling with mint or increase liquidity that uses ether, or exact output swaps that use ether for the input amount\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients are aware of the ERC721 protocol to prevent tokens from being forever locked. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be have been allowed to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"Safely transfers `tokenId` token from `from` to `to`. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"Approve or remove `operator` as an operator for the caller. Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller. Requirements: - The `operator` cannot be the caller. Emits an {ApprovalForAll} event.\"},\"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.\"},\"sweepToken(address,uint256,address)\":{\"details\":\"The amountMinimum parameter prevents malicious contracts from stealing the token from users\",\"params\":{\"amountMinimum\":\"The minimum amount of token required for a transfer\",\"recipient\":\"The destination address of the token\",\"token\":\"The contract address of the token which will be transferred to `recipient`\"}},\"symbol()\":{\"details\":\"Returns the token collection symbol.\"},\"tokenByIndex(uint256)\":{\"details\":\"Returns a token ID at a given `index` of all the tokens stored by the contract. Use along with {totalSupply} to enumerate all tokens.\"},\"tokenOfOwnerByIndex(address,uint256)\":{\"details\":\"Returns a token ID owned by `owner` at a given `index` of its token list. Use along with {balanceOf} to enumerate all of ``owner``'s tokens.\"},\"tokenURI(uint256)\":{\"details\":\"Returns the Uniform Resource Identifier (URI) for `tokenId` token.\"},\"totalSupply()\":{\"details\":\"Returns the total amount of tokens stored by the contract.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Transfers `tokenId` token from `from` to `to`. WARNING: Usage of this method is discouraged, use {safeTransferFrom} whenever possible. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. Emits a {Transfer} event.\"},\"unwrapWETH9(uint256,address)\":{\"details\":\"The amountMinimum parameter prevents malicious contracts from stealing WETH9 from users.\",\"params\":{\"amountMinimum\":\"The minimum amount of WETH9 to unwrap\",\"recipient\":\"The address receiving ETH\"}}},\"title\":\"Non-fungible token for positions\",\"version\":1},\"userdoc\":{\"events\":{\"Collect(uint256,address,uint256,uint256)\":{\"notice\":\"Emitted when tokens are collected for a position NFT\"},\"DecreaseLiquidity(uint256,uint128,uint256,uint256)\":{\"notice\":\"Emitted when liquidity is decreased for a position NFT\"},\"IncreaseLiquidity(uint256,uint128,uint256,uint256)\":{\"notice\":\"Emitted when liquidity is increased for a position NFT\"}},\"kind\":\"user\",\"methods\":{\"DOMAIN_SEPARATOR()\":{\"notice\":\"The domain separator used in the permit signature\"},\"PERMIT_TYPEHASH()\":{\"notice\":\"The permit typehash used in the permit signature\"},\"burn(uint256)\":{\"notice\":\"Burns a token ID, which deletes it from the NFT contract. The token must have 0 liquidity and all tokens must be collected first.\"},\"collect((uint256,address,uint128,uint128))\":{\"notice\":\"Collects up to a maximum amount of fees owed to a specific position to the recipient\"},\"createAndInitializePoolIfNecessary(address,address,uint24,uint160)\":{\"notice\":\"Creates a new pool if it does not exist, then initializes if not initialized\"},\"decreaseLiquidity((uint256,uint128,uint256,uint256,uint256))\":{\"notice\":\"Decreases the amount of liquidity in a position and accounts it to the position\"},\"increaseLiquidity((uint256,uint256,uint256,uint256,uint256,uint256))\":{\"notice\":\"Increases the amount of liquidity in a position, with tokens paid by the `msg.sender`\"},\"mint((address,address,uint24,int24,int24,uint256,uint256,uint256,uint256,address,uint256))\":{\"notice\":\"Creates a new position wrapped in a NFT\"},\"permit(address,uint256,uint256,uint8,bytes32,bytes32)\":{\"notice\":\"Approve of a specific token ID for spending by spender via signature\"},\"positions(uint256)\":{\"notice\":\"Returns the position information associated with a given token ID.\"},\"refundETH()\":{\"notice\":\"Refunds any ETH balance held by this contract to the `msg.sender`\"},\"sweepToken(address,uint256,address)\":{\"notice\":\"Transfers the full amount of a token held by this contract to recipient\"},\"unwrapWETH9(uint256,address)\":{\"notice\":\"Unwraps the contract's WETH9 balance and sends it to recipient as ETH.\"}},\"notice\":\"Wraps Uniswap V3 positions in a non-fungible token interface which allows for them to be transferred and authorized.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@uniswap/v3-periphery/contracts/interfaces/INonfungiblePositionManager.sol\":\"INonfungiblePositionManager\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"node_modules/@openzeppelin/contracts/introspection/IERC165.sol\":{\"keccak256\":\"0xf70bc25d981e4ec9673a995ad2995d5d493ea188d3d8f388bba9c227ce09fb82\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd970f51e3a77790c2f02b5b1759827c3b897c3d98c407b3631e8af32e3dc93c\",\"dweb:/ipfs/QmPF85Amgbqjk3SNZKsPCsqCw8JfwYEPMnnhvMJUyX58je\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x2d99a0deb6648c34fbc66d6ac4a2d64798d7a5321b45624f6736fadc63da1962\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2dcdce5ede1e5e650d174ec0b35be7d47b6a50f30bc895ef0d9e59fb75052e45\",\"dweb:/ipfs/QmQ2XFsDLTYqfEdw7pYzHiGtFRY11yQm4b6ynYgKqDxeB8\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721Enumerable.sol\":{\"keccak256\":\"0xe6bd1b1218338b6f9fe17776f48623b4ac3d8a40405f74a44bc23c00abe2ca13\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c354c3f6e9c487759aa7869be4fba68e0b2efc777b514d289c4cbd3ff8f7e1a\",\"dweb:/ipfs/QmdF9LcSYVmiUCL7JxLEYmSLrjga6zJsujfi6sgEJD4M1z\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721Metadata.sol\":{\"keccak256\":\"0xccb917776f826ac6b68bd5a15a5f711e3967848a52ba11e6104d9a4f593314a7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://430255ad2229ced6d880e61a67bdc6e48dbbaed8354a7c1fe918cd8b8714a886\",\"dweb:/ipfs/QmTHY56odzqEpEC6v6tafaWMYY7vmULw25q5XHJLCCAeox\"]},\"node_modules/@uniswap/v3-periphery/contracts/interfaces/IERC721Permit.sol\":{\"keccak256\":\"0x9e3c2a4ee65ddf95b2dfcb0815784eea3a295707e6f8b83e4c4f0f8fe2e3a1d4\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://bfd939085b3618101b955f87c7fabf38338ba1aad480295acb8102ebc5d72471\",\"dweb:/ipfs/QmauQD8bGDHTztmTDfaKXjzM7Wacrq2XU7VcTbwn1WrDBL\"]},\"node_modules/@uniswap/v3-periphery/contracts/interfaces/INonfungiblePositionManager.sol\":{\"keccak256\":\"0xe1dadc73e60bf05d0b4e0f05bd2847c5783e833cc10352c14763360b13495ee1\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://6e3b10f75c101de044c1253672207399c1513fd1f0f17be31069c18c0b9a1460\",\"dweb:/ipfs/QmXrkXNY6njQfepE7KbRtJMruGXfrZwsMMsW7m5e3XS9Hf\"]},\"node_modules/@uniswap/v3-periphery/contracts/interfaces/IPeripheryImmutableState.sol\":{\"keccak256\":\"0x7affcfeb5127c0925a71d6a65345e117c33537523aeca7bc98085ead8452519d\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://e16b291294210e71cb0f20cd0afe62ae2dc6878d627f5ccc19c4dc9cd80aec3f\",\"dweb:/ipfs/QmQGitSyBr26nour81BZmpmDMyJpvZRqHQZvnCD1Acb127\"]},\"node_modules/@uniswap/v3-periphery/contracts/interfaces/IPeripheryPayments.sol\":{\"keccak256\":\"0xb547e10f1e69bed03621a62b73a503e260643066c6b4054867a4d1fef47eb274\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://f9a90f58f5fd5fb42f7811f4094113b532f307b14a73764c91f977590747f407\",\"dweb:/ipfs/QmSeNH2mfiDMKf3Q6V2sqtNxx1s72JNuA1VVxRM9HoMqYp\"]},\"node_modules/@uniswap/v3-periphery/contracts/interfaces/IPoolInitializer.sol\":{\"keccak256\":\"0x9d7695e8d94c22cc5fcced602017aabb988de89981ea7bee29ea629d5328a862\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://61b50933026ee1017db2a6273af8cedc3238c95dca58880db0918dbdbb2f064f\",\"dweb:/ipfs/QmUebR26pqG25d18aBELKz8aFFKkmHa8PxntzXTA7o9Ldu\"]},\"node_modules/@uniswap/v3-periphery/contracts/libraries/PoolAddress.sol\":{\"keccak256\":\"0x5edd84eb8ba7c12fd8cb6cffe52e1e9f3f6464514ee5f539c2283826209035a2\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://f375d0e6d5ea3674e1aa6f112b021e9a86721a6a2f3cb22d673378b30cf0e840\",\"dweb:/ipfs/QmWJir2qnJyp963mU6U3jEEx9i3H3V5BgKawAfSnG1pC8w\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.7.6+commit.7338295f" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "approved", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256", - "indexed": true - } - ], - "type": "event", - "name": "Approval", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "operator", - "type": "address", - "indexed": true - }, - { - "internalType": "bool", - "name": "approved", - "type": "bool", - "indexed": false - } - ], - "type": "event", - "name": "ApprovalForAll", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256", - "indexed": true - }, - { - "internalType": "address", - "name": "recipient", - "type": "address", - "indexed": false - }, - { - "internalType": "uint256", - "name": "amount0", - "type": "uint256", - "indexed": false - }, - { - "internalType": "uint256", - "name": "amount1", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "Collect", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256", - "indexed": true - }, - { - "internalType": "uint128", - "name": "liquidity", - "type": "uint128", - "indexed": false - }, - { - "internalType": "uint256", - "name": "amount0", - "type": "uint256", - "indexed": false - }, - { - "internalType": "uint256", - "name": "amount1", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "DecreaseLiquidity", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256", - "indexed": true - }, - { - "internalType": "uint128", - "name": "liquidity", - "type": "uint128", - "indexed": false - }, - { - "internalType": "uint256", - "name": "amount0", - "type": "uint256", - "indexed": false - }, - { - "internalType": "uint256", - "name": "amount1", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "IncreaseLiquidity", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "to", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256", - "indexed": true - } - ], - "type": "event", - "name": "Transfer", - "anonymous": false - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "DOMAIN_SEPARATOR", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ] - }, - { - "inputs": [], - "stateMutability": "pure", - "type": "function", - "name": "PERMIT_TYPEHASH", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "WETH9", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "approve" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "balance", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "stateMutability": "payable", - "type": "function", - "name": "burn" - }, - { - "inputs": [ - { - "internalType": "struct INonfungiblePositionManager.CollectParams", - "name": "params", - "type": "tuple", - "components": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint128", - "name": "amount0Max", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "amount1Max", - "type": "uint128" - } - ] - } - ], - "stateMutability": "payable", - "type": "function", - "name": "collect", - "outputs": [ - { - "internalType": "uint256", - "name": "amount0", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount1", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "token0", - "type": "address" - }, - { - "internalType": "address", - "name": "token1", - "type": "address" - }, - { - "internalType": "uint24", - "name": "fee", - "type": "uint24" - }, - { - "internalType": "uint160", - "name": "sqrtPriceX96", - "type": "uint160" - } - ], - "stateMutability": "payable", - "type": "function", - "name": "createAndInitializePoolIfNecessary", - "outputs": [ - { - "internalType": "address", - "name": "pool", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "struct INonfungiblePositionManager.DecreaseLiquidityParams", - "name": "params", - "type": "tuple", - "components": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - }, - { - "internalType": "uint128", - "name": "liquidity", - "type": "uint128" - }, - { - "internalType": "uint256", - "name": "amount0Min", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount1Min", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "deadline", - "type": "uint256" - } - ] - } - ], - "stateMutability": "payable", - "type": "function", - "name": "decreaseLiquidity", - "outputs": [ - { - "internalType": "uint256", - "name": "amount0", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount1", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "factory", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getApproved", - "outputs": [ - { - "internalType": "address", - "name": "operator", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "struct INonfungiblePositionManager.IncreaseLiquidityParams", - "name": "params", - "type": "tuple", - "components": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount0Desired", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount1Desired", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount0Min", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount1Min", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "deadline", - "type": "uint256" - } - ] - } - ], - "stateMutability": "payable", - "type": "function", - "name": "increaseLiquidity", - "outputs": [ - { - "internalType": "uint128", - "name": "liquidity", - "type": "uint128" - }, - { - "internalType": "uint256", - "name": "amount0", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount1", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "operator", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "isApprovedForAll", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "struct INonfungiblePositionManager.MintParams", - "name": "params", - "type": "tuple", - "components": [ - { - "internalType": "address", - "name": "token0", - "type": "address" - }, - { - "internalType": "address", - "name": "token1", - "type": "address" - }, - { - "internalType": "uint24", - "name": "fee", - "type": "uint24" - }, - { - "internalType": "int24", - "name": "tickLower", - "type": "int24" - }, - { - "internalType": "int24", - "name": "tickUpper", - "type": "int24" - }, - { - "internalType": "uint256", - "name": "amount0Desired", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount1Desired", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount0Min", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount1Min", - "type": "uint256" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "deadline", - "type": "uint256" - } - ] - } - ], - "stateMutability": "payable", - "type": "function", - "name": "mint", - "outputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - }, - { - "internalType": "uint128", - "name": "liquidity", - "type": "uint128" - }, - { - "internalType": "uint256", - "name": "amount0", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount1", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "ownerOf", - "outputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "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" - } - ], - "stateMutability": "payable", - "type": "function", - "name": "permit" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "positions", - "outputs": [ - { - "internalType": "uint96", - "name": "nonce", - "type": "uint96" - }, - { - "internalType": "address", - "name": "operator", - "type": "address" - }, - { - "internalType": "address", - "name": "token0", - "type": "address" - }, - { - "internalType": "address", - "name": "token1", - "type": "address" - }, - { - "internalType": "uint24", - "name": "fee", - "type": "uint24" - }, - { - "internalType": "int24", - "name": "tickLower", - "type": "int24" - }, - { - "internalType": "int24", - "name": "tickUpper", - "type": "int24" - }, - { - "internalType": "uint128", - "name": "liquidity", - "type": "uint128" - }, - { - "internalType": "uint256", - "name": "feeGrowthInside0LastX128", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "feeGrowthInside1LastX128", - "type": "uint256" - }, - { - "internalType": "uint128", - "name": "tokensOwed0", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "tokensOwed1", - "type": "uint128" - } - ] - }, - { - "inputs": [], - "stateMutability": "payable", - "type": "function", - "name": "refundETH" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "safeTransferFrom" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "safeTransferFrom" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "operator", - "type": "address" - }, - { - "internalType": "bool", - "name": "_approved", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setApprovalForAll" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function", - "name": "supportsInterface", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amountMinimum", - "type": "uint256" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - } - ], - "stateMutability": "payable", - "type": "function", - "name": "sweepToken" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "index", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "tokenByIndex", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "uint256", - "name": "index", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "tokenOfOwnerByIndex", - "outputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "tokenURI", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "transferFrom" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "amountMinimum", - "type": "uint256" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - } - ], - "stateMutability": "payable", - "type": "function", - "name": "unwrapWETH9" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "DOMAIN_SEPARATOR()": { - "returns": { - "_0": "The domain seperator used in encoding of permit signature" - } - }, - "PERMIT_TYPEHASH()": { - "returns": { - "_0": "The typehash for the permit" - } - }, - "WETH9()": { - "returns": { - "_0": "Returns the address of WETH9" - } - }, - "approve(address,uint256)": { - "details": "Gives permission to `to` to transfer `tokenId` token to another account. The approval is cleared when the token is transferred. Only a single account can be approved at a time, so approving the zero address clears previous approvals. Requirements: - The caller must own the token or be an approved operator. - `tokenId` must exist. Emits an {Approval} event." - }, - "balanceOf(address)": { - "details": "Returns the number of tokens in ``owner``'s account." - }, - "burn(uint256)": { - "params": { - "tokenId": "The ID of the token that is being burned" - } - }, - "collect((uint256,address,uint128,uint128))": { - "params": { - "params": "tokenId The ID of the NFT for which tokens are being collected, recipient The account that should receive the tokens, amount0Max The maximum amount of token0 to collect, amount1Max The maximum amount of token1 to collect" - }, - "returns": { - "amount0": "The amount of fees collected in token0", - "amount1": "The amount of fees collected in token1" - } - }, - "createAndInitializePoolIfNecessary(address,address,uint24,uint160)": { - "details": "This method can be bundled with others via IMulticall for the first action (e.g. mint) performed against a pool", - "params": { - "fee": "The fee amount of the v3 pool for the specified token pair", - "sqrtPriceX96": "The initial square root price of the pool as a Q64.96 value", - "token0": "The contract address of token0 of the pool", - "token1": "The contract address of token1 of the pool" - }, - "returns": { - "pool": "Returns the pool address based on the pair of tokens and fee, will return the newly created pool address if necessary" - } - }, - "decreaseLiquidity((uint256,uint128,uint256,uint256,uint256))": { - "params": { - "params": "tokenId The ID of the token for which liquidity is being decreased, amount The amount by which liquidity will be decreased, amount0Min The minimum amount of token0 that should be accounted for the burned liquidity, amount1Min The minimum amount of token1 that should be accounted for the burned liquidity, deadline The time by which the transaction must be included to effect the change" - }, - "returns": { - "amount0": "The amount of token0 accounted to the position's tokens owed", - "amount1": "The amount of token1 accounted to the position's tokens owed" - } - }, - "factory()": { - "returns": { - "_0": "Returns the address of the Uniswap V3 factory" - } - }, - "getApproved(uint256)": { - "details": "Returns the account approved for `tokenId` token. Requirements: - `tokenId` must exist." - }, - "increaseLiquidity((uint256,uint256,uint256,uint256,uint256,uint256))": { - "params": { - "params": "tokenId The ID of the token for which liquidity is being increased, amount0Desired The desired amount of token0 to be spent, amount1Desired The desired amount of token1 to be spent, amount0Min The minimum amount of token0 to spend, which serves as a slippage check, amount1Min The minimum amount of token1 to spend, which serves as a slippage check, deadline The time by which the transaction must be included to effect the change" - }, - "returns": { - "amount0": "The amount of token0 to acheive resulting liquidity", - "amount1": "The amount of token1 to acheive resulting liquidity", - "liquidity": "The new liquidity amount as a result of the increase" - } - }, - "isApprovedForAll(address,address)": { - "details": "Returns if the `operator` is allowed to manage all of the assets of `owner`. See {setApprovalForAll}" - }, - "mint((address,address,uint24,int24,int24,uint256,uint256,uint256,uint256,address,uint256))": { - "details": "Call this when the pool does exist and is initialized. Note that if the pool is created but not initialized a method does not exist, i.e. the pool is assumed to be initialized.", - "params": { - "params": "The params necessary to mint a position, encoded as `MintParams` in calldata" - }, - "returns": { - "amount0": "The amount of token0", - "amount1": "The amount of token1", - "liquidity": "The amount of liquidity for this position", - "tokenId": "The ID of the token that represents the minted position" - } - }, - "name()": { - "details": "Returns the token collection name." - }, - "ownerOf(uint256)": { - "details": "Returns the owner of the `tokenId` token. Requirements: - `tokenId` must exist." - }, - "permit(address,uint256,uint256,uint8,bytes32,bytes32)": { - "params": { - "deadline": "The deadline timestamp by which the call must be mined for the approve to work", - "r": "Must produce valid secp256k1 signature from the holder along with `v` and `s`", - "s": "Must produce valid secp256k1 signature from the holder along with `r` and `v`", - "spender": "The account that is being approved", - "tokenId": "The ID of the token that is being approved for spending", - "v": "Must produce valid secp256k1 signature from the holder along with `r` and `s`" - } - }, - "positions(uint256)": { - "details": "Throws if the token ID is not valid.", - "params": { - "tokenId": "The ID of the token that represents the position" - }, - "returns": { - "fee": "The fee associated with the pool", - "feeGrowthInside0LastX128": "The fee growth of token0 as of the last action on the individual position", - "feeGrowthInside1LastX128": "The fee growth of token1 as of the last action on the individual position", - "liquidity": "The liquidity of the position", - "nonce": "The nonce for permits", - "operator": "The address that is approved for spending", - "tickLower": "The lower end of the tick range for the position", - "tickUpper": "The higher end of the tick range for the position", - "token0": "The address of the token0 for a specific pool", - "token1": "The address of the token1 for a specific pool", - "tokensOwed0": "The uncollected amount of token0 owed to the position as of the last computation", - "tokensOwed1": "The uncollected amount of token1 owed to the position as of the last computation" - } - }, - "refundETH()": { - "details": "Useful for bundling with mint or increase liquidity that uses ether, or exact output swaps that use ether for the input amount" - }, - "safeTransferFrom(address,address,uint256)": { - "details": "Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients are aware of the ERC721 protocol to prevent tokens from being forever locked. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be have been allowed to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event." - }, - "safeTransferFrom(address,address,uint256,bytes)": { - "details": "Safely transfers `tokenId` token from `from` to `to`. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event." - }, - "setApprovalForAll(address,bool)": { - "details": "Approve or remove `operator` as an operator for the caller. Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller. Requirements: - The `operator` cannot be the caller. Emits an {ApprovalForAll} event." - }, - "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." - }, - "sweepToken(address,uint256,address)": { - "details": "The amountMinimum parameter prevents malicious contracts from stealing the token from users", - "params": { - "amountMinimum": "The minimum amount of token required for a transfer", - "recipient": "The destination address of the token", - "token": "The contract address of the token which will be transferred to `recipient`" - } - }, - "symbol()": { - "details": "Returns the token collection symbol." - }, - "tokenByIndex(uint256)": { - "details": "Returns a token ID at a given `index` of all the tokens stored by the contract. Use along with {totalSupply} to enumerate all tokens." - }, - "tokenOfOwnerByIndex(address,uint256)": { - "details": "Returns a token ID owned by `owner` at a given `index` of its token list. Use along with {balanceOf} to enumerate all of ``owner``'s tokens." - }, - "tokenURI(uint256)": { - "details": "Returns the Uniform Resource Identifier (URI) for `tokenId` token." - }, - "totalSupply()": { - "details": "Returns the total amount of tokens stored by the contract." - }, - "transferFrom(address,address,uint256)": { - "details": "Transfers `tokenId` token from `from` to `to`. WARNING: Usage of this method is discouraged, use {safeTransferFrom} whenever possible. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. Emits a {Transfer} event." - }, - "unwrapWETH9(uint256,address)": { - "details": "The amountMinimum parameter prevents malicious contracts from stealing WETH9 from users.", - "params": { - "amountMinimum": "The minimum amount of WETH9 to unwrap", - "recipient": "The address receiving ETH" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "DOMAIN_SEPARATOR()": { - "notice": "The domain separator used in the permit signature" - }, - "PERMIT_TYPEHASH()": { - "notice": "The permit typehash used in the permit signature" - }, - "burn(uint256)": { - "notice": "Burns a token ID, which deletes it from the NFT contract. The token must have 0 liquidity and all tokens must be collected first." - }, - "collect((uint256,address,uint128,uint128))": { - "notice": "Collects up to a maximum amount of fees owed to a specific position to the recipient" - }, - "createAndInitializePoolIfNecessary(address,address,uint24,uint160)": { - "notice": "Creates a new pool if it does not exist, then initializes if not initialized" - }, - "decreaseLiquidity((uint256,uint128,uint256,uint256,uint256))": { - "notice": "Decreases the amount of liquidity in a position and accounts it to the position" - }, - "increaseLiquidity((uint256,uint256,uint256,uint256,uint256,uint256))": { - "notice": "Increases the amount of liquidity in a position, with tokens paid by the `msg.sender`" - }, - "mint((address,address,uint24,int24,int24,uint256,uint256,uint256,uint256,address,uint256))": { - "notice": "Creates a new position wrapped in a NFT" - }, - "permit(address,uint256,uint256,uint8,bytes32,bytes32)": { - "notice": "Approve of a specific token ID for spending by spender via signature" - }, - "positions(uint256)": { - "notice": "Returns the position information associated with a given token ID." - }, - "refundETH()": { - "notice": "Refunds any ETH balance held by this contract to the `msg.sender`" - }, - "sweepToken(address,uint256,address)": { - "notice": "Transfers the full amount of a token held by this contract to recipient" - }, - "unwrapWETH9(uint256,address)": { - "notice": "Unwraps the contract's WETH9 balance and sends it to recipient as ETH." - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "node_modules/@uniswap/v3-periphery/contracts/interfaces/INonfungiblePositionManager.sol": "INonfungiblePositionManager" - }, - "libraries": {} - }, - "sources": { - "node_modules/@openzeppelin/contracts/introspection/IERC165.sol": { - "keccak256": "0xf70bc25d981e4ec9673a995ad2995d5d493ea188d3d8f388bba9c227ce09fb82", - "urls": [ - "bzz-raw://bd970f51e3a77790c2f02b5b1759827c3b897c3d98c407b3631e8af32e3dc93c", - "dweb:/ipfs/QmPF85Amgbqjk3SNZKsPCsqCw8JfwYEPMnnhvMJUyX58je" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol": { - "keccak256": "0x2d99a0deb6648c34fbc66d6ac4a2d64798d7a5321b45624f6736fadc63da1962", - "urls": [ - "bzz-raw://2dcdce5ede1e5e650d174ec0b35be7d47b6a50f30bc895ef0d9e59fb75052e45", - "dweb:/ipfs/QmQ2XFsDLTYqfEdw7pYzHiGtFRY11yQm4b6ynYgKqDxeB8" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC721/IERC721Enumerable.sol": { - "keccak256": "0xe6bd1b1218338b6f9fe17776f48623b4ac3d8a40405f74a44bc23c00abe2ca13", - "urls": [ - "bzz-raw://0c354c3f6e9c487759aa7869be4fba68e0b2efc777b514d289c4cbd3ff8f7e1a", - "dweb:/ipfs/QmdF9LcSYVmiUCL7JxLEYmSLrjga6zJsujfi6sgEJD4M1z" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC721/IERC721Metadata.sol": { - "keccak256": "0xccb917776f826ac6b68bd5a15a5f711e3967848a52ba11e6104d9a4f593314a7", - "urls": [ - "bzz-raw://430255ad2229ced6d880e61a67bdc6e48dbbaed8354a7c1fe918cd8b8714a886", - "dweb:/ipfs/QmTHY56odzqEpEC6v6tafaWMYY7vmULw25q5XHJLCCAeox" - ], - "license": "MIT" - }, - "node_modules/@uniswap/v3-periphery/contracts/interfaces/IERC721Permit.sol": { - "keccak256": "0x9e3c2a4ee65ddf95b2dfcb0815784eea3a295707e6f8b83e4c4f0f8fe2e3a1d4", - "urls": [ - "bzz-raw://bfd939085b3618101b955f87c7fabf38338ba1aad480295acb8102ebc5d72471", - "dweb:/ipfs/QmauQD8bGDHTztmTDfaKXjzM7Wacrq2XU7VcTbwn1WrDBL" - ], - "license": "GPL-2.0-or-later" - }, - "node_modules/@uniswap/v3-periphery/contracts/interfaces/INonfungiblePositionManager.sol": { - "keccak256": "0xe1dadc73e60bf05d0b4e0f05bd2847c5783e833cc10352c14763360b13495ee1", - "urls": [ - "bzz-raw://6e3b10f75c101de044c1253672207399c1513fd1f0f17be31069c18c0b9a1460", - "dweb:/ipfs/QmXrkXNY6njQfepE7KbRtJMruGXfrZwsMMsW7m5e3XS9Hf" - ], - "license": "GPL-2.0-or-later" - }, - "node_modules/@uniswap/v3-periphery/contracts/interfaces/IPeripheryImmutableState.sol": { - "keccak256": "0x7affcfeb5127c0925a71d6a65345e117c33537523aeca7bc98085ead8452519d", - "urls": [ - "bzz-raw://e16b291294210e71cb0f20cd0afe62ae2dc6878d627f5ccc19c4dc9cd80aec3f", - "dweb:/ipfs/QmQGitSyBr26nour81BZmpmDMyJpvZRqHQZvnCD1Acb127" - ], - "license": "GPL-2.0-or-later" - }, - "node_modules/@uniswap/v3-periphery/contracts/interfaces/IPeripheryPayments.sol": { - "keccak256": "0xb547e10f1e69bed03621a62b73a503e260643066c6b4054867a4d1fef47eb274", - "urls": [ - "bzz-raw://f9a90f58f5fd5fb42f7811f4094113b532f307b14a73764c91f977590747f407", - "dweb:/ipfs/QmSeNH2mfiDMKf3Q6V2sqtNxx1s72JNuA1VVxRM9HoMqYp" - ], - "license": "GPL-2.0-or-later" - }, - "node_modules/@uniswap/v3-periphery/contracts/interfaces/IPoolInitializer.sol": { - "keccak256": "0x9d7695e8d94c22cc5fcced602017aabb988de89981ea7bee29ea629d5328a862", - "urls": [ - "bzz-raw://61b50933026ee1017db2a6273af8cedc3238c95dca58880db0918dbdbb2f064f", - "dweb:/ipfs/QmUebR26pqG25d18aBELKz8aFFKkmHa8PxntzXTA7o9Ldu" - ], - "license": "GPL-2.0-or-later" - }, - "node_modules/@uniswap/v3-periphery/contracts/libraries/PoolAddress.sol": { - "keccak256": "0x5edd84eb8ba7c12fd8cb6cffe52e1e9f3f6464514ee5f539c2283826209035a2", - "urls": [ - "bzz-raw://f375d0e6d5ea3674e1aa6f112b021e9a86721a6a2f3cb22d673378b30cf0e840", - "dweb:/ipfs/QmWJir2qnJyp963mU6U3jEEx9i3H3V5BgKawAfSnG1pC8w" - ], - "license": "GPL-2.0-or-later" - } - }, - "version": 1 - }, - "id": 44 -} +{ "abi": [ { "type": "function", "name": "DOMAIN_SEPARATOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes32", "internalType": "bytes32" } ], "stateMutability": "view" }, { "type": "function", "name": "PERMIT_TYPEHASH", "inputs": [], "outputs": [ { "name": "", "type": "bytes32", "internalType": "bytes32" } ], "stateMutability": "pure" }, { "type": "function", "name": "WETH9", "inputs": [], "outputs": [ { "name": "", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "approve", "inputs": [ { "name": "to", "type": "address", "internalType": "address" }, { "name": "tokenId", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "balanceOf", "inputs": [ { "name": "owner", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "balance", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "burn", "inputs": [ { "name": "tokenId", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "collect", "inputs": [ { "name": "params", "type": "tuple", "internalType": "struct INonfungiblePositionManager.CollectParams", "components": [ { "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "recipient", "type": "address", "internalType": "address" }, { "name": "amount0Max", "type": "uint128", "internalType": "uint128" }, { "name": "amount1Max", "type": "uint128", "internalType": "uint128" } ] } ], "outputs": [ { "name": "amount0", "type": "uint256", "internalType": "uint256" }, { "name": "amount1", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "payable" }, { "type": "function", "name": "createAndInitializePoolIfNecessary", "inputs": [ { "name": "token0", "type": "address", "internalType": "address" }, { "name": "token1", "type": "address", "internalType": "address" }, { "name": "fee", "type": "uint24", "internalType": "uint24" }, { "name": "sqrtPriceX96", "type": "uint160", "internalType": "uint160" } ], "outputs": [ { "name": "pool", "type": "address", "internalType": "address" } ], "stateMutability": "payable" }, { "type": "function", "name": "decreaseLiquidity", "inputs": [ { "name": "params", "type": "tuple", "internalType": "struct INonfungiblePositionManager.DecreaseLiquidityParams", "components": [ { "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "liquidity", "type": "uint128", "internalType": "uint128" }, { "name": "amount0Min", "type": "uint256", "internalType": "uint256" }, { "name": "amount1Min", "type": "uint256", "internalType": "uint256" }, { "name": "deadline", "type": "uint256", "internalType": "uint256" } ] } ], "outputs": [ { "name": "amount0", "type": "uint256", "internalType": "uint256" }, { "name": "amount1", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "payable" }, { "type": "function", "name": "factory", "inputs": [], "outputs": [ { "name": "", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getApproved", "inputs": [ { "name": "tokenId", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "operator", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "increaseLiquidity", "inputs": [ { "name": "params", "type": "tuple", "internalType": "struct INonfungiblePositionManager.IncreaseLiquidityParams", "components": [ { "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "amount0Desired", "type": "uint256", "internalType": "uint256" }, { "name": "amount1Desired", "type": "uint256", "internalType": "uint256" }, { "name": "amount0Min", "type": "uint256", "internalType": "uint256" }, { "name": "amount1Min", "type": "uint256", "internalType": "uint256" }, { "name": "deadline", "type": "uint256", "internalType": "uint256" } ] } ], "outputs": [ { "name": "liquidity", "type": "uint128", "internalType": "uint128" }, { "name": "amount0", "type": "uint256", "internalType": "uint256" }, { "name": "amount1", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "payable" }, { "type": "function", "name": "isApprovedForAll", "inputs": [ { "name": "owner", "type": "address", "internalType": "address" }, { "name": "operator", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "mint", "inputs": [ { "name": "params", "type": "tuple", "internalType": "struct INonfungiblePositionManager.MintParams", "components": [ { "name": "token0", "type": "address", "internalType": "address" }, { "name": "token1", "type": "address", "internalType": "address" }, { "name": "fee", "type": "uint24", "internalType": "uint24" }, { "name": "tickLower", "type": "int24", "internalType": "int24" }, { "name": "tickUpper", "type": "int24", "internalType": "int24" }, { "name": "amount0Desired", "type": "uint256", "internalType": "uint256" }, { "name": "amount1Desired", "type": "uint256", "internalType": "uint256" }, { "name": "amount0Min", "type": "uint256", "internalType": "uint256" }, { "name": "amount1Min", "type": "uint256", "internalType": "uint256" }, { "name": "recipient", "type": "address", "internalType": "address" }, { "name": "deadline", "type": "uint256", "internalType": "uint256" } ] } ], "outputs": [ { "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "liquidity", "type": "uint128", "internalType": "uint128" }, { "name": "amount0", "type": "uint256", "internalType": "uint256" }, { "name": "amount1", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "payable" }, { "type": "function", "name": "name", "inputs": [], "outputs": [ { "name": "", "type": "string", "internalType": "string" } ], "stateMutability": "view" }, { "type": "function", "name": "ownerOf", "inputs": [ { "name": "tokenId", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "owner", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "permit", "inputs": [ { "name": "spender", "type": "address", "internalType": "address" }, { "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "deadline", "type": "uint256", "internalType": "uint256" }, { "name": "v", "type": "uint8", "internalType": "uint8" }, { "name": "r", "type": "bytes32", "internalType": "bytes32" }, { "name": "s", "type": "bytes32", "internalType": "bytes32" } ], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "positions", "inputs": [ { "name": "tokenId", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "nonce", "type": "uint96", "internalType": "uint96" }, { "name": "operator", "type": "address", "internalType": "address" }, { "name": "token0", "type": "address", "internalType": "address" }, { "name": "token1", "type": "address", "internalType": "address" }, { "name": "fee", "type": "uint24", "internalType": "uint24" }, { "name": "tickLower", "type": "int24", "internalType": "int24" }, { "name": "tickUpper", "type": "int24", "internalType": "int24" }, { "name": "liquidity", "type": "uint128", "internalType": "uint128" }, { "name": "feeGrowthInside0LastX128", "type": "uint256", "internalType": "uint256" }, { "name": "feeGrowthInside1LastX128", "type": "uint256", "internalType": "uint256" }, { "name": "tokensOwed0", "type": "uint128", "internalType": "uint128" }, { "name": "tokensOwed1", "type": "uint128", "internalType": "uint128" } ], "stateMutability": "view" }, { "type": "function", "name": "refundETH", "inputs": [], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "safeTransferFrom", "inputs": [ { "name": "from", "type": "address", "internalType": "address" }, { "name": "to", "type": "address", "internalType": "address" }, { "name": "tokenId", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "safeTransferFrom", "inputs": [ { "name": "from", "type": "address", "internalType": "address" }, { "name": "to", "type": "address", "internalType": "address" }, { "name": "tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "data", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setApprovalForAll", "inputs": [ { "name": "operator", "type": "address", "internalType": "address" }, { "name": "_approved", "type": "bool", "internalType": "bool" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "supportsInterface", "inputs": [ { "name": "interfaceId", "type": "bytes4", "internalType": "bytes4" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "sweepToken", "inputs": [ { "name": "token", "type": "address", "internalType": "address" }, { "name": "amountMinimum", "type": "uint256", "internalType": "uint256" }, { "name": "recipient", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "symbol", "inputs": [], "outputs": [ { "name": "", "type": "string", "internalType": "string" } ], "stateMutability": "view" }, { "type": "function", "name": "tokenByIndex", "inputs": [ { "name": "index", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "tokenOfOwnerByIndex", "inputs": [ { "name": "owner", "type": "address", "internalType": "address" }, { "name": "index", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "tokenId", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "tokenURI", "inputs": [ { "name": "tokenId", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "string", "internalType": "string" } ], "stateMutability": "view" }, { "type": "function", "name": "totalSupply", "inputs": [], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "transferFrom", "inputs": [ { "name": "from", "type": "address", "internalType": "address" }, { "name": "to", "type": "address", "internalType": "address" }, { "name": "tokenId", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "unwrapWETH9", "inputs": [ { "name": "amountMinimum", "type": "uint256", "internalType": "uint256" }, { "name": "recipient", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "payable" }, { "type": "event", "name": "Approval", "inputs": [ { "name": "owner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "approved", "type": "address", "indexed": true, "internalType": "address" }, { "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "ApprovalForAll", "inputs": [ { "name": "owner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "operator", "type": "address", "indexed": true, "internalType": "address" }, { "name": "approved", "type": "bool", "indexed": false, "internalType": "bool" } ], "anonymous": false }, { "type": "event", "name": "Collect", "inputs": [ { "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "recipient", "type": "address", "indexed": false, "internalType": "address" }, { "name": "amount0", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "amount1", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "DecreaseLiquidity", "inputs": [ { "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "liquidity", "type": "uint128", "indexed": false, "internalType": "uint128" }, { "name": "amount0", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "amount1", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "IncreaseLiquidity", "inputs": [ { "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "liquidity", "type": "uint128", "indexed": false, "internalType": "uint128" }, { "name": "amount0", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "amount1", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "Transfer", "inputs": [ { "name": "from", "type": "address", "indexed": true, "internalType": "address" }, { "name": "to", "type": "address", "indexed": true, "internalType": "address" }, { "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" } ], "anonymous": false } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "DOMAIN_SEPARATOR()": "3644e515", "PERMIT_TYPEHASH()": "30adf81f", "WETH9()": "4aa4a4fc", "approve(address,uint256)": "095ea7b3", "balanceOf(address)": "70a08231", "burn(uint256)": "42966c68", "collect((uint256,address,uint128,uint128))": "fc6f7865", "createAndInitializePoolIfNecessary(address,address,uint24,uint160)": "13ead562", "decreaseLiquidity((uint256,uint128,uint256,uint256,uint256))": "0c49ccbe", "factory()": "c45a0155", "getApproved(uint256)": "081812fc", "increaseLiquidity((uint256,uint256,uint256,uint256,uint256,uint256))": "219f5d17", "isApprovedForAll(address,address)": "e985e9c5", "mint((address,address,uint24,int24,int24,uint256,uint256,uint256,uint256,address,uint256))": "88316456", "name()": "06fdde03", "ownerOf(uint256)": "6352211e", "permit(address,uint256,uint256,uint8,bytes32,bytes32)": "7ac2ff7b", "positions(uint256)": "99fbab88", "refundETH()": "12210e8a", "safeTransferFrom(address,address,uint256)": "42842e0e", "safeTransferFrom(address,address,uint256,bytes)": "b88d4fde", "setApprovalForAll(address,bool)": "a22cb465", "supportsInterface(bytes4)": "01ffc9a7", "sweepToken(address,uint256,address)": "df2ab5bb", "symbol()": "95d89b41", "tokenByIndex(uint256)": "4f6ccce7", "tokenOfOwnerByIndex(address,uint256)": "2f745c59", "tokenURI(uint256)": "c87b56dd", "totalSupply()": "18160ddd", "transferFrom(address,address,uint256)": "23b872dd", "unwrapWETH9(uint256,address)": "49404b7c" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.7.6+commit.7338295f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount0\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount1\",\"type\":\"uint256\"}],\"name\":\"Collect\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"liquidity\",\"type\":\"uint128\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount0\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount1\",\"type\":\"uint256\"}],\"name\":\"DecreaseLiquidity\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"liquidity\",\"type\":\"uint128\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount0\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount1\",\"type\":\"uint256\"}],\"name\":\"IncreaseLiquidity\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"PERMIT_TYPEHASH\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"WETH9\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint128\",\"name\":\"amount0Max\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"amount1Max\",\"type\":\"uint128\"}],\"internalType\":\"struct INonfungiblePositionManager.CollectParams\",\"name\":\"params\",\"type\":\"tuple\"}],\"name\":\"collect\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount0\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount1\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token0\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token1\",\"type\":\"address\"},{\"internalType\":\"uint24\",\"name\":\"fee\",\"type\":\"uint24\"},{\"internalType\":\"uint160\",\"name\":\"sqrtPriceX96\",\"type\":\"uint160\"}],\"name\":\"createAndInitializePoolIfNecessary\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"pool\",\"type\":\"address\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint128\",\"name\":\"liquidity\",\"type\":\"uint128\"},{\"internalType\":\"uint256\",\"name\":\"amount0Min\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount1Min\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"}],\"internalType\":\"struct INonfungiblePositionManager.DecreaseLiquidityParams\",\"name\":\"params\",\"type\":\"tuple\"}],\"name\":\"decreaseLiquidity\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount0\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount1\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"factory\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount0Desired\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount1Desired\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount0Min\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount1Min\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"}],\"internalType\":\"struct INonfungiblePositionManager.IncreaseLiquidityParams\",\"name\":\"params\",\"type\":\"tuple\"}],\"name\":\"increaseLiquidity\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"liquidity\",\"type\":\"uint128\"},{\"internalType\":\"uint256\",\"name\":\"amount0\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount1\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"token0\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token1\",\"type\":\"address\"},{\"internalType\":\"uint24\",\"name\":\"fee\",\"type\":\"uint24\"},{\"internalType\":\"int24\",\"name\":\"tickLower\",\"type\":\"int24\"},{\"internalType\":\"int24\",\"name\":\"tickUpper\",\"type\":\"int24\"},{\"internalType\":\"uint256\",\"name\":\"amount0Desired\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount1Desired\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount0Min\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount1Min\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"}],\"internalType\":\"struct INonfungiblePositionManager.MintParams\",\"name\":\"params\",\"type\":\"tuple\"}],\"name\":\"mint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"uint128\",\"name\":\"liquidity\",\"type\":\"uint128\"},{\"internalType\":\"uint256\",\"name\":\"amount0\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount1\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"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\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"positions\",\"outputs\":[{\"internalType\":\"uint96\",\"name\":\"nonce\",\"type\":\"uint96\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token0\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token1\",\"type\":\"address\"},{\"internalType\":\"uint24\",\"name\":\"fee\",\"type\":\"uint24\"},{\"internalType\":\"int24\",\"name\":\"tickLower\",\"type\":\"int24\"},{\"internalType\":\"int24\",\"name\":\"tickUpper\",\"type\":\"int24\"},{\"internalType\":\"uint128\",\"name\":\"liquidity\",\"type\":\"uint128\"},{\"internalType\":\"uint256\",\"name\":\"feeGrowthInside0LastX128\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"feeGrowthInside1LastX128\",\"type\":\"uint256\"},{\"internalType\":\"uint128\",\"name\":\"tokensOwed0\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"tokensOwed1\",\"type\":\"uint128\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"refundETH\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amountMinimum\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"}],\"name\":\"sweepToken\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"tokenByIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"tokenOfOwnerByIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"tokenURI\",\"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\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amountMinimum\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"}],\"name\":\"unwrapWETH9\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"events\":{\"Collect(uint256,address,uint256,uint256)\":{\"details\":\"The amounts reported may not be exactly equivalent to the amounts transferred, due to rounding behavior\",\"params\":{\"amount0\":\"The amount of token0 owed to the position that was collected\",\"amount1\":\"The amount of token1 owed to the position that was collected\",\"recipient\":\"The address of the account that received the collected tokens\",\"tokenId\":\"The ID of the token for which underlying tokens were collected\"}},\"DecreaseLiquidity(uint256,uint128,uint256,uint256)\":{\"params\":{\"amount0\":\"The amount of token0 that was accounted for the decrease in liquidity\",\"amount1\":\"The amount of token1 that was accounted for the decrease in liquidity\",\"liquidity\":\"The amount by which liquidity for the NFT position was decreased\",\"tokenId\":\"The ID of the token for which liquidity was decreased\"}},\"IncreaseLiquidity(uint256,uint128,uint256,uint256)\":{\"details\":\"Also emitted when a token is minted\",\"params\":{\"amount0\":\"The amount of token0 that was paid for the increase in liquidity\",\"amount1\":\"The amount of token1 that was paid for the increase in liquidity\",\"liquidity\":\"The amount by which liquidity for the NFT position was increased\",\"tokenId\":\"The ID of the token for which liquidity was increased\"}}},\"kind\":\"dev\",\"methods\":{\"DOMAIN_SEPARATOR()\":{\"returns\":{\"_0\":\"The domain seperator used in encoding of permit signature\"}},\"PERMIT_TYPEHASH()\":{\"returns\":{\"_0\":\"The typehash for the permit\"}},\"WETH9()\":{\"returns\":{\"_0\":\"Returns the address of WETH9\"}},\"approve(address,uint256)\":{\"details\":\"Gives permission to `to` to transfer `tokenId` token to another account. The approval is cleared when the token is transferred. Only a single account can be approved at a time, so approving the zero address clears previous approvals. Requirements: - The caller must own the token or be an approved operator. - `tokenId` must exist. Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the number of tokens in ``owner``'s account.\"},\"burn(uint256)\":{\"params\":{\"tokenId\":\"The ID of the token that is being burned\"}},\"collect((uint256,address,uint128,uint128))\":{\"params\":{\"params\":\"tokenId The ID of the NFT for which tokens are being collected, recipient The account that should receive the tokens, amount0Max The maximum amount of token0 to collect, amount1Max The maximum amount of token1 to collect\"},\"returns\":{\"amount0\":\"The amount of fees collected in token0\",\"amount1\":\"The amount of fees collected in token1\"}},\"createAndInitializePoolIfNecessary(address,address,uint24,uint160)\":{\"details\":\"This method can be bundled with others via IMulticall for the first action (e.g. mint) performed against a pool\",\"params\":{\"fee\":\"The fee amount of the v3 pool for the specified token pair\",\"sqrtPriceX96\":\"The initial square root price of the pool as a Q64.96 value\",\"token0\":\"The contract address of token0 of the pool\",\"token1\":\"The contract address of token1 of the pool\"},\"returns\":{\"pool\":\"Returns the pool address based on the pair of tokens and fee, will return the newly created pool address if necessary\"}},\"decreaseLiquidity((uint256,uint128,uint256,uint256,uint256))\":{\"params\":{\"params\":\"tokenId The ID of the token for which liquidity is being decreased, amount The amount by which liquidity will be decreased, amount0Min The minimum amount of token0 that should be accounted for the burned liquidity, amount1Min The minimum amount of token1 that should be accounted for the burned liquidity, deadline The time by which the transaction must be included to effect the change\"},\"returns\":{\"amount0\":\"The amount of token0 accounted to the position's tokens owed\",\"amount1\":\"The amount of token1 accounted to the position's tokens owed\"}},\"factory()\":{\"returns\":{\"_0\":\"Returns the address of the Uniswap V3 factory\"}},\"getApproved(uint256)\":{\"details\":\"Returns the account approved for `tokenId` token. Requirements: - `tokenId` must exist.\"},\"increaseLiquidity((uint256,uint256,uint256,uint256,uint256,uint256))\":{\"params\":{\"params\":\"tokenId The ID of the token for which liquidity is being increased, amount0Desired The desired amount of token0 to be spent, amount1Desired The desired amount of token1 to be spent, amount0Min The minimum amount of token0 to spend, which serves as a slippage check, amount1Min The minimum amount of token1 to spend, which serves as a slippage check, deadline The time by which the transaction must be included to effect the change\"},\"returns\":{\"amount0\":\"The amount of token0 to acheive resulting liquidity\",\"amount1\":\"The amount of token1 to acheive resulting liquidity\",\"liquidity\":\"The new liquidity amount as a result of the increase\"}},\"isApprovedForAll(address,address)\":{\"details\":\"Returns if the `operator` is allowed to manage all of the assets of `owner`. See {setApprovalForAll}\"},\"mint((address,address,uint24,int24,int24,uint256,uint256,uint256,uint256,address,uint256))\":{\"details\":\"Call this when the pool does exist and is initialized. Note that if the pool is created but not initialized a method does not exist, i.e. the pool is assumed to be initialized.\",\"params\":{\"params\":\"The params necessary to mint a position, encoded as `MintParams` in calldata\"},\"returns\":{\"amount0\":\"The amount of token0\",\"amount1\":\"The amount of token1\",\"liquidity\":\"The amount of liquidity for this position\",\"tokenId\":\"The ID of the token that represents the minted position\"}},\"name()\":{\"details\":\"Returns the token collection name.\"},\"ownerOf(uint256)\":{\"details\":\"Returns the owner of the `tokenId` token. Requirements: - `tokenId` must exist.\"},\"permit(address,uint256,uint256,uint8,bytes32,bytes32)\":{\"params\":{\"deadline\":\"The deadline timestamp by which the call must be mined for the approve to work\",\"r\":\"Must produce valid secp256k1 signature from the holder along with `v` and `s`\",\"s\":\"Must produce valid secp256k1 signature from the holder along with `r` and `v`\",\"spender\":\"The account that is being approved\",\"tokenId\":\"The ID of the token that is being approved for spending\",\"v\":\"Must produce valid secp256k1 signature from the holder along with `r` and `s`\"}},\"positions(uint256)\":{\"details\":\"Throws if the token ID is not valid.\",\"params\":{\"tokenId\":\"The ID of the token that represents the position\"},\"returns\":{\"fee\":\"The fee associated with the pool\",\"feeGrowthInside0LastX128\":\"The fee growth of token0 as of the last action on the individual position\",\"feeGrowthInside1LastX128\":\"The fee growth of token1 as of the last action on the individual position\",\"liquidity\":\"The liquidity of the position\",\"nonce\":\"The nonce for permits\",\"operator\":\"The address that is approved for spending\",\"tickLower\":\"The lower end of the tick range for the position\",\"tickUpper\":\"The higher end of the tick range for the position\",\"token0\":\"The address of the token0 for a specific pool\",\"token1\":\"The address of the token1 for a specific pool\",\"tokensOwed0\":\"The uncollected amount of token0 owed to the position as of the last computation\",\"tokensOwed1\":\"The uncollected amount of token1 owed to the position as of the last computation\"}},\"refundETH()\":{\"details\":\"Useful for bundling with mint or increase liquidity that uses ether, or exact output swaps that use ether for the input amount\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients are aware of the ERC721 protocol to prevent tokens from being forever locked. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be have been allowed to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"Safely transfers `tokenId` token from `from` to `to`. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"Approve or remove `operator` as an operator for the caller. Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller. Requirements: - The `operator` cannot be the caller. Emits an {ApprovalForAll} event.\"},\"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.\"},\"sweepToken(address,uint256,address)\":{\"details\":\"The amountMinimum parameter prevents malicious contracts from stealing the token from users\",\"params\":{\"amountMinimum\":\"The minimum amount of token required for a transfer\",\"recipient\":\"The destination address of the token\",\"token\":\"The contract address of the token which will be transferred to `recipient`\"}},\"symbol()\":{\"details\":\"Returns the token collection symbol.\"},\"tokenByIndex(uint256)\":{\"details\":\"Returns a token ID at a given `index` of all the tokens stored by the contract. Use along with {totalSupply} to enumerate all tokens.\"},\"tokenOfOwnerByIndex(address,uint256)\":{\"details\":\"Returns a token ID owned by `owner` at a given `index` of its token list. Use along with {balanceOf} to enumerate all of ``owner``'s tokens.\"},\"tokenURI(uint256)\":{\"details\":\"Returns the Uniform Resource Identifier (URI) for `tokenId` token.\"},\"totalSupply()\":{\"details\":\"Returns the total amount of tokens stored by the contract.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Transfers `tokenId` token from `from` to `to`. WARNING: Usage of this method is discouraged, use {safeTransferFrom} whenever possible. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. Emits a {Transfer} event.\"},\"unwrapWETH9(uint256,address)\":{\"details\":\"The amountMinimum parameter prevents malicious contracts from stealing WETH9 from users.\",\"params\":{\"amountMinimum\":\"The minimum amount of WETH9 to unwrap\",\"recipient\":\"The address receiving ETH\"}}},\"title\":\"Non-fungible token for positions\",\"version\":1},\"userdoc\":{\"events\":{\"Collect(uint256,address,uint256,uint256)\":{\"notice\":\"Emitted when tokens are collected for a position NFT\"},\"DecreaseLiquidity(uint256,uint128,uint256,uint256)\":{\"notice\":\"Emitted when liquidity is decreased for a position NFT\"},\"IncreaseLiquidity(uint256,uint128,uint256,uint256)\":{\"notice\":\"Emitted when liquidity is increased for a position NFT\"}},\"kind\":\"user\",\"methods\":{\"DOMAIN_SEPARATOR()\":{\"notice\":\"The domain separator used in the permit signature\"},\"PERMIT_TYPEHASH()\":{\"notice\":\"The permit typehash used in the permit signature\"},\"burn(uint256)\":{\"notice\":\"Burns a token ID, which deletes it from the NFT contract. The token must have 0 liquidity and all tokens must be collected first.\"},\"collect((uint256,address,uint128,uint128))\":{\"notice\":\"Collects up to a maximum amount of fees owed to a specific position to the recipient\"},\"createAndInitializePoolIfNecessary(address,address,uint24,uint160)\":{\"notice\":\"Creates a new pool if it does not exist, then initializes if not initialized\"},\"decreaseLiquidity((uint256,uint128,uint256,uint256,uint256))\":{\"notice\":\"Decreases the amount of liquidity in a position and accounts it to the position\"},\"increaseLiquidity((uint256,uint256,uint256,uint256,uint256,uint256))\":{\"notice\":\"Increases the amount of liquidity in a position, with tokens paid by the `msg.sender`\"},\"mint((address,address,uint24,int24,int24,uint256,uint256,uint256,uint256,address,uint256))\":{\"notice\":\"Creates a new position wrapped in a NFT\"},\"permit(address,uint256,uint256,uint8,bytes32,bytes32)\":{\"notice\":\"Approve of a specific token ID for spending by spender via signature\"},\"positions(uint256)\":{\"notice\":\"Returns the position information associated with a given token ID.\"},\"refundETH()\":{\"notice\":\"Refunds any ETH balance held by this contract to the `msg.sender`\"},\"sweepToken(address,uint256,address)\":{\"notice\":\"Transfers the full amount of a token held by this contract to recipient\"},\"unwrapWETH9(uint256,address)\":{\"notice\":\"Unwraps the contract's WETH9 balance and sends it to recipient as ETH.\"}},\"notice\":\"Wraps Uniswap V3 positions in a non-fungible token interface which allows for them to be transferred and authorized.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@uniswap/v3-periphery/contracts/interfaces/INonfungiblePositionManager.sol\":\"INonfungiblePositionManager\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"node_modules/@openzeppelin/contracts/introspection/IERC165.sol\":{\"keccak256\":\"0xf70bc25d981e4ec9673a995ad2995d5d493ea188d3d8f388bba9c227ce09fb82\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd970f51e3a77790c2f02b5b1759827c3b897c3d98c407b3631e8af32e3dc93c\",\"dweb:/ipfs/QmPF85Amgbqjk3SNZKsPCsqCw8JfwYEPMnnhvMJUyX58je\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x2d99a0deb6648c34fbc66d6ac4a2d64798d7a5321b45624f6736fadc63da1962\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2dcdce5ede1e5e650d174ec0b35be7d47b6a50f30bc895ef0d9e59fb75052e45\",\"dweb:/ipfs/QmQ2XFsDLTYqfEdw7pYzHiGtFRY11yQm4b6ynYgKqDxeB8\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721Enumerable.sol\":{\"keccak256\":\"0xe6bd1b1218338b6f9fe17776f48623b4ac3d8a40405f74a44bc23c00abe2ca13\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c354c3f6e9c487759aa7869be4fba68e0b2efc777b514d289c4cbd3ff8f7e1a\",\"dweb:/ipfs/QmdF9LcSYVmiUCL7JxLEYmSLrjga6zJsujfi6sgEJD4M1z\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721Metadata.sol\":{\"keccak256\":\"0xccb917776f826ac6b68bd5a15a5f711e3967848a52ba11e6104d9a4f593314a7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://430255ad2229ced6d880e61a67bdc6e48dbbaed8354a7c1fe918cd8b8714a886\",\"dweb:/ipfs/QmTHY56odzqEpEC6v6tafaWMYY7vmULw25q5XHJLCCAeox\"]},\"node_modules/@uniswap/v3-periphery/contracts/interfaces/IERC721Permit.sol\":{\"keccak256\":\"0x9e3c2a4ee65ddf95b2dfcb0815784eea3a295707e6f8b83e4c4f0f8fe2e3a1d4\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://bfd939085b3618101b955f87c7fabf38338ba1aad480295acb8102ebc5d72471\",\"dweb:/ipfs/QmauQD8bGDHTztmTDfaKXjzM7Wacrq2XU7VcTbwn1WrDBL\"]},\"node_modules/@uniswap/v3-periphery/contracts/interfaces/INonfungiblePositionManager.sol\":{\"keccak256\":\"0xe1dadc73e60bf05d0b4e0f05bd2847c5783e833cc10352c14763360b13495ee1\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://6e3b10f75c101de044c1253672207399c1513fd1f0f17be31069c18c0b9a1460\",\"dweb:/ipfs/QmXrkXNY6njQfepE7KbRtJMruGXfrZwsMMsW7m5e3XS9Hf\"]},\"node_modules/@uniswap/v3-periphery/contracts/interfaces/IPeripheryImmutableState.sol\":{\"keccak256\":\"0x7affcfeb5127c0925a71d6a65345e117c33537523aeca7bc98085ead8452519d\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://e16b291294210e71cb0f20cd0afe62ae2dc6878d627f5ccc19c4dc9cd80aec3f\",\"dweb:/ipfs/QmQGitSyBr26nour81BZmpmDMyJpvZRqHQZvnCD1Acb127\"]},\"node_modules/@uniswap/v3-periphery/contracts/interfaces/IPeripheryPayments.sol\":{\"keccak256\":\"0xb547e10f1e69bed03621a62b73a503e260643066c6b4054867a4d1fef47eb274\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://f9a90f58f5fd5fb42f7811f4094113b532f307b14a73764c91f977590747f407\",\"dweb:/ipfs/QmSeNH2mfiDMKf3Q6V2sqtNxx1s72JNuA1VVxRM9HoMqYp\"]},\"node_modules/@uniswap/v3-periphery/contracts/interfaces/IPoolInitializer.sol\":{\"keccak256\":\"0x9d7695e8d94c22cc5fcced602017aabb988de89981ea7bee29ea629d5328a862\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://61b50933026ee1017db2a6273af8cedc3238c95dca58880db0918dbdbb2f064f\",\"dweb:/ipfs/QmUebR26pqG25d18aBELKz8aFFKkmHa8PxntzXTA7o9Ldu\"]},\"node_modules/@uniswap/v3-periphery/contracts/libraries/PoolAddress.sol\":{\"keccak256\":\"0x5edd84eb8ba7c12fd8cb6cffe52e1e9f3f6464514ee5f539c2283826209035a2\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://f375d0e6d5ea3674e1aa6f112b021e9a86721a6a2f3cb22d673378b30cf0e840\",\"dweb:/ipfs/QmWJir2qnJyp963mU6U3jEEx9i3H3V5BgKawAfSnG1pC8w\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.7.6+commit.7338295f" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "owner", "type": "address", "indexed": true }, { "internalType": "address", "name": "approved", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "tokenId", "type": "uint256", "indexed": true } ], "type": "event", "name": "Approval", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address", "indexed": true }, { "internalType": "address", "name": "operator", "type": "address", "indexed": true }, { "internalType": "bool", "name": "approved", "type": "bool", "indexed": false } ], "type": "event", "name": "ApprovalForAll", "anonymous": false }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256", "indexed": true }, { "internalType": "address", "name": "recipient", "type": "address", "indexed": false }, { "internalType": "uint256", "name": "amount0", "type": "uint256", "indexed": false }, { "internalType": "uint256", "name": "amount1", "type": "uint256", "indexed": false } ], "type": "event", "name": "Collect", "anonymous": false }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256", "indexed": true }, { "internalType": "uint128", "name": "liquidity", "type": "uint128", "indexed": false }, { "internalType": "uint256", "name": "amount0", "type": "uint256", "indexed": false }, { "internalType": "uint256", "name": "amount1", "type": "uint256", "indexed": false } ], "type": "event", "name": "DecreaseLiquidity", "anonymous": false }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256", "indexed": true }, { "internalType": "uint128", "name": "liquidity", "type": "uint128", "indexed": false }, { "internalType": "uint256", "name": "amount0", "type": "uint256", "indexed": false }, { "internalType": "uint256", "name": "amount1", "type": "uint256", "indexed": false } ], "type": "event", "name": "IncreaseLiquidity", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address", "indexed": true }, { "internalType": "address", "name": "to", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "tokenId", "type": "uint256", "indexed": true } ], "type": "event", "name": "Transfer", "anonymous": false }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "DOMAIN_SEPARATOR", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ] }, { "inputs": [], "stateMutability": "pure", "type": "function", "name": "PERMIT_TYPEHASH", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "WETH9", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "approve" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "balance", "type": "uint256" } ] }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "stateMutability": "payable", "type": "function", "name": "burn" }, { "inputs": [ { "internalType": "struct INonfungiblePositionManager.CollectParams", "name": "params", "type": "tuple", "components": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" }, { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint128", "name": "amount0Max", "type": "uint128" }, { "internalType": "uint128", "name": "amount1Max", "type": "uint128" } ] } ], "stateMutability": "payable", "type": "function", "name": "collect", "outputs": [ { "internalType": "uint256", "name": "amount0", "type": "uint256" }, { "internalType": "uint256", "name": "amount1", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "token0", "type": "address" }, { "internalType": "address", "name": "token1", "type": "address" }, { "internalType": "uint24", "name": "fee", "type": "uint24" }, { "internalType": "uint160", "name": "sqrtPriceX96", "type": "uint160" } ], "stateMutability": "payable", "type": "function", "name": "createAndInitializePoolIfNecessary", "outputs": [ { "internalType": "address", "name": "pool", "type": "address" } ] }, { "inputs": [ { "internalType": "struct INonfungiblePositionManager.DecreaseLiquidityParams", "name": "params", "type": "tuple", "components": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" }, { "internalType": "uint128", "name": "liquidity", "type": "uint128" }, { "internalType": "uint256", "name": "amount0Min", "type": "uint256" }, { "internalType": "uint256", "name": "amount1Min", "type": "uint256" }, { "internalType": "uint256", "name": "deadline", "type": "uint256" } ] } ], "stateMutability": "payable", "type": "function", "name": "decreaseLiquidity", "outputs": [ { "internalType": "uint256", "name": "amount0", "type": "uint256" }, { "internalType": "uint256", "name": "amount1", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "factory", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ] }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "getApproved", "outputs": [ { "internalType": "address", "name": "operator", "type": "address" } ] }, { "inputs": [ { "internalType": "struct INonfungiblePositionManager.IncreaseLiquidityParams", "name": "params", "type": "tuple", "components": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" }, { "internalType": "uint256", "name": "amount0Desired", "type": "uint256" }, { "internalType": "uint256", "name": "amount1Desired", "type": "uint256" }, { "internalType": "uint256", "name": "amount0Min", "type": "uint256" }, { "internalType": "uint256", "name": "amount1Min", "type": "uint256" }, { "internalType": "uint256", "name": "deadline", "type": "uint256" } ] } ], "stateMutability": "payable", "type": "function", "name": "increaseLiquidity", "outputs": [ { "internalType": "uint128", "name": "liquidity", "type": "uint128" }, { "internalType": "uint256", "name": "amount0", "type": "uint256" }, { "internalType": "uint256", "name": "amount1", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "operator", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "isApprovedForAll", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [ { "internalType": "struct INonfungiblePositionManager.MintParams", "name": "params", "type": "tuple", "components": [ { "internalType": "address", "name": "token0", "type": "address" }, { "internalType": "address", "name": "token1", "type": "address" }, { "internalType": "uint24", "name": "fee", "type": "uint24" }, { "internalType": "int24", "name": "tickLower", "type": "int24" }, { "internalType": "int24", "name": "tickUpper", "type": "int24" }, { "internalType": "uint256", "name": "amount0Desired", "type": "uint256" }, { "internalType": "uint256", "name": "amount1Desired", "type": "uint256" }, { "internalType": "uint256", "name": "amount0Min", "type": "uint256" }, { "internalType": "uint256", "name": "amount1Min", "type": "uint256" }, { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "deadline", "type": "uint256" } ] } ], "stateMutability": "payable", "type": "function", "name": "mint", "outputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" }, { "internalType": "uint128", "name": "liquidity", "type": "uint128" }, { "internalType": "uint256", "name": "amount0", "type": "uint256" }, { "internalType": "uint256", "name": "amount1", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ] }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "ownerOf", "outputs": [ { "internalType": "address", "name": "owner", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "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" } ], "stateMutability": "payable", "type": "function", "name": "permit" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "positions", "outputs": [ { "internalType": "uint96", "name": "nonce", "type": "uint96" }, { "internalType": "address", "name": "operator", "type": "address" }, { "internalType": "address", "name": "token0", "type": "address" }, { "internalType": "address", "name": "token1", "type": "address" }, { "internalType": "uint24", "name": "fee", "type": "uint24" }, { "internalType": "int24", "name": "tickLower", "type": "int24" }, { "internalType": "int24", "name": "tickUpper", "type": "int24" }, { "internalType": "uint128", "name": "liquidity", "type": "uint128" }, { "internalType": "uint256", "name": "feeGrowthInside0LastX128", "type": "uint256" }, { "internalType": "uint256", "name": "feeGrowthInside1LastX128", "type": "uint256" }, { "internalType": "uint128", "name": "tokensOwed0", "type": "uint128" }, { "internalType": "uint128", "name": "tokensOwed1", "type": "uint128" } ] }, { "inputs": [], "stateMutability": "payable", "type": "function", "name": "refundETH" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "safeTransferFrom" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" }, { "internalType": "bytes", "name": "data", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "safeTransferFrom" }, { "inputs": [ { "internalType": "address", "name": "operator", "type": "address" }, { "internalType": "bool", "name": "_approved", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function", "name": "setApprovalForAll" }, { "inputs": [ { "internalType": "bytes4", "name": "interfaceId", "type": "bytes4" } ], "stateMutability": "view", "type": "function", "name": "supportsInterface", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "token", "type": "address" }, { "internalType": "uint256", "name": "amountMinimum", "type": "uint256" }, { "internalType": "address", "name": "recipient", "type": "address" } ], "stateMutability": "payable", "type": "function", "name": "sweepToken" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ] }, { "inputs": [ { "internalType": "uint256", "name": "index", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "tokenByIndex", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "uint256", "name": "index", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "tokenOfOwnerByIndex", "outputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ] }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "tokenURI", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "transferFrom" }, { "inputs": [ { "internalType": "uint256", "name": "amountMinimum", "type": "uint256" }, { "internalType": "address", "name": "recipient", "type": "address" } ], "stateMutability": "payable", "type": "function", "name": "unwrapWETH9" } ], "devdoc": { "kind": "dev", "methods": { "DOMAIN_SEPARATOR()": { "returns": { "_0": "The domain seperator used in encoding of permit signature" } }, "PERMIT_TYPEHASH()": { "returns": { "_0": "The typehash for the permit" } }, "WETH9()": { "returns": { "_0": "Returns the address of WETH9" } }, "approve(address,uint256)": { "details": "Gives permission to `to` to transfer `tokenId` token to another account. The approval is cleared when the token is transferred. Only a single account can be approved at a time, so approving the zero address clears previous approvals. Requirements: - The caller must own the token or be an approved operator. - `tokenId` must exist. Emits an {Approval} event." }, "balanceOf(address)": { "details": "Returns the number of tokens in ``owner``'s account." }, "burn(uint256)": { "params": { "tokenId": "The ID of the token that is being burned" } }, "collect((uint256,address,uint128,uint128))": { "params": { "params": "tokenId The ID of the NFT for which tokens are being collected, recipient The account that should receive the tokens, amount0Max The maximum amount of token0 to collect, amount1Max The maximum amount of token1 to collect" }, "returns": { "amount0": "The amount of fees collected in token0", "amount1": "The amount of fees collected in token1" } }, "createAndInitializePoolIfNecessary(address,address,uint24,uint160)": { "details": "This method can be bundled with others via IMulticall for the first action (e.g. mint) performed against a pool", "params": { "fee": "The fee amount of the v3 pool for the specified token pair", "sqrtPriceX96": "The initial square root price of the pool as a Q64.96 value", "token0": "The contract address of token0 of the pool", "token1": "The contract address of token1 of the pool" }, "returns": { "pool": "Returns the pool address based on the pair of tokens and fee, will return the newly created pool address if necessary" } }, "decreaseLiquidity((uint256,uint128,uint256,uint256,uint256))": { "params": { "params": "tokenId The ID of the token for which liquidity is being decreased, amount The amount by which liquidity will be decreased, amount0Min The minimum amount of token0 that should be accounted for the burned liquidity, amount1Min The minimum amount of token1 that should be accounted for the burned liquidity, deadline The time by which the transaction must be included to effect the change" }, "returns": { "amount0": "The amount of token0 accounted to the position's tokens owed", "amount1": "The amount of token1 accounted to the position's tokens owed" } }, "factory()": { "returns": { "_0": "Returns the address of the Uniswap V3 factory" } }, "getApproved(uint256)": { "details": "Returns the account approved for `tokenId` token. Requirements: - `tokenId` must exist." }, "increaseLiquidity((uint256,uint256,uint256,uint256,uint256,uint256))": { "params": { "params": "tokenId The ID of the token for which liquidity is being increased, amount0Desired The desired amount of token0 to be spent, amount1Desired The desired amount of token1 to be spent, amount0Min The minimum amount of token0 to spend, which serves as a slippage check, amount1Min The minimum amount of token1 to spend, which serves as a slippage check, deadline The time by which the transaction must be included to effect the change" }, "returns": { "amount0": "The amount of token0 to acheive resulting liquidity", "amount1": "The amount of token1 to acheive resulting liquidity", "liquidity": "The new liquidity amount as a result of the increase" } }, "isApprovedForAll(address,address)": { "details": "Returns if the `operator` is allowed to manage all of the assets of `owner`. See {setApprovalForAll}" }, "mint((address,address,uint24,int24,int24,uint256,uint256,uint256,uint256,address,uint256))": { "details": "Call this when the pool does exist and is initialized. Note that if the pool is created but not initialized a method does not exist, i.e. the pool is assumed to be initialized.", "params": { "params": "The params necessary to mint a position, encoded as `MintParams` in calldata" }, "returns": { "amount0": "The amount of token0", "amount1": "The amount of token1", "liquidity": "The amount of liquidity for this position", "tokenId": "The ID of the token that represents the minted position" } }, "name()": { "details": "Returns the token collection name." }, "ownerOf(uint256)": { "details": "Returns the owner of the `tokenId` token. Requirements: - `tokenId` must exist." }, "permit(address,uint256,uint256,uint8,bytes32,bytes32)": { "params": { "deadline": "The deadline timestamp by which the call must be mined for the approve to work", "r": "Must produce valid secp256k1 signature from the holder along with `v` and `s`", "s": "Must produce valid secp256k1 signature from the holder along with `r` and `v`", "spender": "The account that is being approved", "tokenId": "The ID of the token that is being approved for spending", "v": "Must produce valid secp256k1 signature from the holder along with `r` and `s`" } }, "positions(uint256)": { "details": "Throws if the token ID is not valid.", "params": { "tokenId": "The ID of the token that represents the position" }, "returns": { "fee": "The fee associated with the pool", "feeGrowthInside0LastX128": "The fee growth of token0 as of the last action on the individual position", "feeGrowthInside1LastX128": "The fee growth of token1 as of the last action on the individual position", "liquidity": "The liquidity of the position", "nonce": "The nonce for permits", "operator": "The address that is approved for spending", "tickLower": "The lower end of the tick range for the position", "tickUpper": "The higher end of the tick range for the position", "token0": "The address of the token0 for a specific pool", "token1": "The address of the token1 for a specific pool", "tokensOwed0": "The uncollected amount of token0 owed to the position as of the last computation", "tokensOwed1": "The uncollected amount of token1 owed to the position as of the last computation" } }, "refundETH()": { "details": "Useful for bundling with mint or increase liquidity that uses ether, or exact output swaps that use ether for the input amount" }, "safeTransferFrom(address,address,uint256)": { "details": "Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients are aware of the ERC721 protocol to prevent tokens from being forever locked. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be have been allowed to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event." }, "safeTransferFrom(address,address,uint256,bytes)": { "details": "Safely transfers `tokenId` token from `from` to `to`. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event." }, "setApprovalForAll(address,bool)": { "details": "Approve or remove `operator` as an operator for the caller. Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller. Requirements: - The `operator` cannot be the caller. Emits an {ApprovalForAll} event." }, "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." }, "sweepToken(address,uint256,address)": { "details": "The amountMinimum parameter prevents malicious contracts from stealing the token from users", "params": { "amountMinimum": "The minimum amount of token required for a transfer", "recipient": "The destination address of the token", "token": "The contract address of the token which will be transferred to `recipient`" } }, "symbol()": { "details": "Returns the token collection symbol." }, "tokenByIndex(uint256)": { "details": "Returns a token ID at a given `index` of all the tokens stored by the contract. Use along with {totalSupply} to enumerate all tokens." }, "tokenOfOwnerByIndex(address,uint256)": { "details": "Returns a token ID owned by `owner` at a given `index` of its token list. Use along with {balanceOf} to enumerate all of ``owner``'s tokens." }, "tokenURI(uint256)": { "details": "Returns the Uniform Resource Identifier (URI) for `tokenId` token." }, "totalSupply()": { "details": "Returns the total amount of tokens stored by the contract." }, "transferFrom(address,address,uint256)": { "details": "Transfers `tokenId` token from `from` to `to`. WARNING: Usage of this method is discouraged, use {safeTransferFrom} whenever possible. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. Emits a {Transfer} event." }, "unwrapWETH9(uint256,address)": { "details": "The amountMinimum parameter prevents malicious contracts from stealing WETH9 from users.", "params": { "amountMinimum": "The minimum amount of WETH9 to unwrap", "recipient": "The address receiving ETH" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "DOMAIN_SEPARATOR()": { "notice": "The domain separator used in the permit signature" }, "PERMIT_TYPEHASH()": { "notice": "The permit typehash used in the permit signature" }, "burn(uint256)": { "notice": "Burns a token ID, which deletes it from the NFT contract. The token must have 0 liquidity and all tokens must be collected first." }, "collect((uint256,address,uint128,uint128))": { "notice": "Collects up to a maximum amount of fees owed to a specific position to the recipient" }, "createAndInitializePoolIfNecessary(address,address,uint24,uint160)": { "notice": "Creates a new pool if it does not exist, then initializes if not initialized" }, "decreaseLiquidity((uint256,uint128,uint256,uint256,uint256))": { "notice": "Decreases the amount of liquidity in a position and accounts it to the position" }, "increaseLiquidity((uint256,uint256,uint256,uint256,uint256,uint256))": { "notice": "Increases the amount of liquidity in a position, with tokens paid by the `msg.sender`" }, "mint((address,address,uint24,int24,int24,uint256,uint256,uint256,uint256,address,uint256))": { "notice": "Creates a new position wrapped in a NFT" }, "permit(address,uint256,uint256,uint8,bytes32,bytes32)": { "notice": "Approve of a specific token ID for spending by spender via signature" }, "positions(uint256)": { "notice": "Returns the position information associated with a given token ID." }, "refundETH()": { "notice": "Refunds any ETH balance held by this contract to the `msg.sender`" }, "sweepToken(address,uint256,address)": { "notice": "Transfers the full amount of a token held by this contract to recipient" }, "unwrapWETH9(uint256,address)": { "notice": "Unwraps the contract's WETH9 balance and sends it to recipient as ETH." } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "node_modules/@uniswap/v3-periphery/contracts/interfaces/INonfungiblePositionManager.sol": "INonfungiblePositionManager" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "node_modules/@openzeppelin/contracts/introspection/IERC165.sol": { "keccak256": "0xf70bc25d981e4ec9673a995ad2995d5d493ea188d3d8f388bba9c227ce09fb82", "urls": [ "bzz-raw://bd970f51e3a77790c2f02b5b1759827c3b897c3d98c407b3631e8af32e3dc93c", "dweb:/ipfs/QmPF85Amgbqjk3SNZKsPCsqCw8JfwYEPMnnhvMJUyX58je" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol": { "keccak256": "0x2d99a0deb6648c34fbc66d6ac4a2d64798d7a5321b45624f6736fadc63da1962", "urls": [ "bzz-raw://2dcdce5ede1e5e650d174ec0b35be7d47b6a50f30bc895ef0d9e59fb75052e45", "dweb:/ipfs/QmQ2XFsDLTYqfEdw7pYzHiGtFRY11yQm4b6ynYgKqDxeB8" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC721/IERC721Enumerable.sol": { "keccak256": "0xe6bd1b1218338b6f9fe17776f48623b4ac3d8a40405f74a44bc23c00abe2ca13", "urls": [ "bzz-raw://0c354c3f6e9c487759aa7869be4fba68e0b2efc777b514d289c4cbd3ff8f7e1a", "dweb:/ipfs/QmdF9LcSYVmiUCL7JxLEYmSLrjga6zJsujfi6sgEJD4M1z" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC721/IERC721Metadata.sol": { "keccak256": "0xccb917776f826ac6b68bd5a15a5f711e3967848a52ba11e6104d9a4f593314a7", "urls": [ "bzz-raw://430255ad2229ced6d880e61a67bdc6e48dbbaed8354a7c1fe918cd8b8714a886", "dweb:/ipfs/QmTHY56odzqEpEC6v6tafaWMYY7vmULw25q5XHJLCCAeox" ], "license": "MIT" }, "node_modules/@uniswap/v3-periphery/contracts/interfaces/IERC721Permit.sol": { "keccak256": "0x9e3c2a4ee65ddf95b2dfcb0815784eea3a295707e6f8b83e4c4f0f8fe2e3a1d4", "urls": [ "bzz-raw://bfd939085b3618101b955f87c7fabf38338ba1aad480295acb8102ebc5d72471", "dweb:/ipfs/QmauQD8bGDHTztmTDfaKXjzM7Wacrq2XU7VcTbwn1WrDBL" ], "license": "GPL-2.0-or-later" }, "node_modules/@uniswap/v3-periphery/contracts/interfaces/INonfungiblePositionManager.sol": { "keccak256": "0xe1dadc73e60bf05d0b4e0f05bd2847c5783e833cc10352c14763360b13495ee1", "urls": [ "bzz-raw://6e3b10f75c101de044c1253672207399c1513fd1f0f17be31069c18c0b9a1460", "dweb:/ipfs/QmXrkXNY6njQfepE7KbRtJMruGXfrZwsMMsW7m5e3XS9Hf" ], "license": "GPL-2.0-or-later" }, "node_modules/@uniswap/v3-periphery/contracts/interfaces/IPeripheryImmutableState.sol": { "keccak256": "0x7affcfeb5127c0925a71d6a65345e117c33537523aeca7bc98085ead8452519d", "urls": [ "bzz-raw://e16b291294210e71cb0f20cd0afe62ae2dc6878d627f5ccc19c4dc9cd80aec3f", "dweb:/ipfs/QmQGitSyBr26nour81BZmpmDMyJpvZRqHQZvnCD1Acb127" ], "license": "GPL-2.0-or-later" }, "node_modules/@uniswap/v3-periphery/contracts/interfaces/IPeripheryPayments.sol": { "keccak256": "0xb547e10f1e69bed03621a62b73a503e260643066c6b4054867a4d1fef47eb274", "urls": [ "bzz-raw://f9a90f58f5fd5fb42f7811f4094113b532f307b14a73764c91f977590747f407", "dweb:/ipfs/QmSeNH2mfiDMKf3Q6V2sqtNxx1s72JNuA1VVxRM9HoMqYp" ], "license": "GPL-2.0-or-later" }, "node_modules/@uniswap/v3-periphery/contracts/interfaces/IPoolInitializer.sol": { "keccak256": "0x9d7695e8d94c22cc5fcced602017aabb988de89981ea7bee29ea629d5328a862", "urls": [ "bzz-raw://61b50933026ee1017db2a6273af8cedc3238c95dca58880db0918dbdbb2f064f", "dweb:/ipfs/QmUebR26pqG25d18aBELKz8aFFKkmHa8PxntzXTA7o9Ldu" ], "license": "GPL-2.0-or-later" }, "node_modules/@uniswap/v3-periphery/contracts/libraries/PoolAddress.sol": { "keccak256": "0x5edd84eb8ba7c12fd8cb6cffe52e1e9f3f6464514ee5f539c2283826209035a2", "urls": [ "bzz-raw://f375d0e6d5ea3674e1aa6f112b021e9a86721a6a2f3cb22d673378b30cf0e840", "dweb:/ipfs/QmWJir2qnJyp963mU6U3jEEx9i3H3V5BgKawAfSnG1pC8w" ], "license": "GPL-2.0-or-later" } }, "version": 1 }, "id": 44 } diff --git a/eth_defi/abi/enzyme/INotionalV2Position.json b/eth_defi/abi/enzyme/INotionalV2Position.json index 7d82d8ce..f5909a07 100644 --- a/eth_defi/abi/enzyme/INotionalV2Position.json +++ b/eth_defi/abi/enzyme/INotionalV2Position.json @@ -1,215 +1 @@ -{ - "abi": [ - { - "inputs": [], - "name": "getDebtAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getManagedAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "init", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "receiveCallFromVault", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "getDebtAssets()": "ecd658b4", - "getManagedAssets()": "80daddb8", - "init(bytes)": "4ddf47d4", - "receiveCallFromVault(bytes)": "e5c23a97" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"getDebtAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getManagedAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"receiveCallFromVault\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"INotionalV2Position Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/notional-v2/INotionalV2Position.sol\":\"INotionalV2Position\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/release/extensions/external-position-manager/external-positions/notional-v2/INotionalV2Position.sol\":{\"keccak256\":\"0x95410ae6c17757a4fcc0d41f57589e9ed96ed15ecbe75e390c3cf69d1a57232e\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://52a923ab694dfa125a3daa54bbbb3de07268e9c4714c25111757f622ea295810\",\"dweb:/ipfs/QmQGQpRBXYXdTgk96xDrNg4C7RVLNxoCo9MHaityKGgYps\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "getDebtAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ] - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "getManagedAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "init" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "receiveCallFromVault" - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/external-position-manager/external-positions/notional-v2/INotionalV2Position.sol": "INotionalV2Position" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/external-positions/IExternalPosition.sol": { - "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", - "urls": [ - "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", - "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/notional-v2/INotionalV2Position.sol": { - "keccak256": "0x95410ae6c17757a4fcc0d41f57589e9ed96ed15ecbe75e390c3cf69d1a57232e", - "urls": [ - "bzz-raw://52a923ab694dfa125a3daa54bbbb3de07268e9c4714c25111757f622ea295810", - "dweb:/ipfs/QmQGQpRBXYXdTgk96xDrNg4C7RVLNxoCo9MHaityKGgYps" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 118 -} +{ "abi": [ { "type": "function", "name": "getDebtAssets", "inputs": [], "outputs": [ { "name": "", "type": "address[]", "internalType": "address[]" }, { "name": "", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "getManagedAssets", "inputs": [], "outputs": [ { "name": "", "type": "address[]", "internalType": "address[]" }, { "name": "", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "init", "inputs": [ { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "receiveCallFromVault", "inputs": [ { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "getDebtAssets()": "ecd658b4", "getManagedAssets()": "80daddb8", "init(bytes)": "4ddf47d4", "receiveCallFromVault(bytes)": "e5c23a97" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"getDebtAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getManagedAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"receiveCallFromVault\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"INotionalV2Position Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/notional-v2/INotionalV2Position.sol\":\"INotionalV2Position\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/release/extensions/external-position-manager/external-positions/notional-v2/INotionalV2Position.sol\":{\"keccak256\":\"0x95410ae6c17757a4fcc0d41f57589e9ed96ed15ecbe75e390c3cf69d1a57232e\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://52a923ab694dfa125a3daa54bbbb3de07268e9c4714c25111757f622ea295810\",\"dweb:/ipfs/QmQGQpRBXYXdTgk96xDrNg4C7RVLNxoCo9MHaityKGgYps\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "getDebtAssets", "outputs": [ { "internalType": "address[]", "name": "", "type": "address[]" }, { "internalType": "uint256[]", "name": "", "type": "uint256[]" } ] }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "getManagedAssets", "outputs": [ { "internalType": "address[]", "name": "", "type": "address[]" }, { "internalType": "uint256[]", "name": "", "type": "uint256[]" } ] }, { "inputs": [ { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "init" }, { "inputs": [ { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "receiveCallFromVault" } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/external-position-manager/external-positions/notional-v2/INotionalV2Position.sol": "INotionalV2Position" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/external-positions/IExternalPosition.sol": { "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", "urls": [ "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/notional-v2/INotionalV2Position.sol": { "keccak256": "0x95410ae6c17757a4fcc0d41f57589e9ed96ed15ecbe75e390c3cf69d1a57232e", "urls": [ "bzz-raw://52a923ab694dfa125a3daa54bbbb3de07268e9c4714c25111757f622ea295810", "dweb:/ipfs/QmQGQpRBXYXdTgk96xDrNg4C7RVLNxoCo9MHaityKGgYps" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 118 } diff --git a/eth_defi/abi/enzyme/INotionalV2Router.json b/eth_defi/abi/enzyme/INotionalV2Router.json index c82a8eb5..46e03f95 100644 --- a/eth_defi/abi/enzyme/INotionalV2Router.json +++ b/eth_defi/abi/enzyme/INotionalV2Router.json @@ -1,948 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_account", - "type": "address" - }, - { - "components": [ - { - "internalType": "enum INotionalV2Router.DepositActionType", - "name": "actionType", - "type": "uint8" - }, - { - "internalType": "uint16", - "name": "currencyId", - "type": "uint16" - }, - { - "internalType": "uint256", - "name": "depositActionAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "withdrawAmountInternalPrecision", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "withdrawEntireCashBalance", - "type": "bool" - }, - { - "internalType": "bool", - "name": "redeemToUnderlying", - "type": "bool" - }, - { - "internalType": "bytes32[]", - "name": "trades", - "type": "bytes32[]" - } - ], - "internalType": "struct INotionalV2Router.BalanceActionWithTrades[]", - "name": "_actions", - "type": "tuple[]" - } - ], - "name": "batchBalanceAndTradeAction", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_account", - "type": "address" - }, - { - "internalType": "uint16", - "name": "_currencyId", - "type": "uint16" - }, - { - "internalType": "uint256", - "name": "_amountExternalPrecision", - "type": "uint256" - } - ], - "name": "depositUnderlyingToken", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_account", - "type": "address" - } - ], - "name": "getAccount", - "outputs": [ - { - "components": [ - { - "internalType": "uint40", - "name": "nextSettleTime", - "type": "uint40" - }, - { - "internalType": "bytes1", - "name": "hasDebt", - "type": "bytes1" - }, - { - "internalType": "uint8", - "name": "assetArrayLength", - "type": "uint8" - }, - { - "internalType": "uint16", - "name": "bitmapCurrencyId", - "type": "uint16" - }, - { - "internalType": "bytes18", - "name": "activeCurrencies", - "type": "bytes18" - } - ], - "internalType": "struct INotionalV2Router.AccountContext", - "name": "accountContext_", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "uint16", - "name": "currencyId", - "type": "uint16" - }, - { - "internalType": "int256", - "name": "cashBalance", - "type": "int256" - }, - { - "internalType": "int256", - "name": "nTokenBalance", - "type": "int256" - }, - { - "internalType": "uint256", - "name": "lastClaimTime", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "accountIncentiveDebt", - "type": "uint256" - } - ], - "internalType": "struct INotionalV2Router.AccountBalance[]", - "name": "accountBalances_", - "type": "tuple[]" - }, - { - "components": [ - { - "internalType": "uint256", - "name": "currencyId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "maturity", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "assetType", - "type": "uint256" - }, - { - "internalType": "int256", - "name": "notional", - "type": "int256" - }, - { - "internalType": "uint256", - "name": "storageSlot", - "type": "uint256" - }, - { - "internalType": "enum INotionalV2Router.AssetStorageState", - "name": "storageState", - "type": "uint8" - } - ], - "internalType": "struct INotionalV2Router.PortfolioAsset[]", - "name": "portfolio_", - "type": "tuple[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint16", - "name": "_currencyId", - "type": "uint16" - }, - { - "internalType": "address", - "name": "_account", - "type": "address" - } - ], - "name": "getAccountBalance", - "outputs": [ - { - "internalType": "int256", - "name": "cashBalance_", - "type": "int256" - }, - { - "internalType": "int256", - "name": "nTokenBalance_", - "type": "int256" - }, - { - "internalType": "uint256", - "name": "lastClaimTime_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_account", - "type": "address" - } - ], - "name": "getAccountPortfolio", - "outputs": [ - { - "components": [ - { - "internalType": "uint256", - "name": "currencyId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "maturity", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "assetType", - "type": "uint256" - }, - { - "internalType": "int256", - "name": "notional", - "type": "int256" - }, - { - "internalType": "uint256", - "name": "storageSlot", - "type": "uint256" - }, - { - "internalType": "enum INotionalV2Router.AssetStorageState", - "name": "storageState", - "type": "uint8" - } - ], - "internalType": "struct INotionalV2Router.PortfolioAsset[]", - "name": "portfolio_", - "type": "tuple[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint16", - "name": "_currencyId", - "type": "uint16" - } - ], - "name": "getCurrency", - "outputs": [ - { - "components": [ - { - "internalType": "address", - "name": "tokenAddress", - "type": "address" - }, - { - "internalType": "bool", - "name": "hasTransferFee", - "type": "bool" - }, - { - "internalType": "int256", - "name": "decimals", - "type": "int256" - }, - { - "internalType": "enum INotionalV2Router.TokenType", - "name": "tokenType", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "maxCollateralBalance", - "type": "uint256" - } - ], - "internalType": "struct INotionalV2Router.Token", - "name": "assetToken_", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "address", - "name": "tokenAddress", - "type": "address" - }, - { - "internalType": "bool", - "name": "hasTransferFee", - "type": "bool" - }, - { - "internalType": "int256", - "name": "decimals", - "type": "int256" - }, - { - "internalType": "enum INotionalV2Router.TokenType", - "name": "tokenType", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "maxCollateralBalance", - "type": "uint256" - } - ], - "internalType": "struct INotionalV2Router.Token", - "name": "underlyingToken_", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint16", - "name": "_currencyId", - "type": "uint16" - }, - { - "internalType": "uint256", - "name": "_maturity", - "type": "uint256" - }, - { - "internalType": "int256", - "name": "_notional", - "type": "int256" - }, - { - "internalType": "uint256", - "name": "_blockTime", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "_riskAdjusted", - "type": "bool" - } - ], - "name": "getPresentfCashValue", - "outputs": [ - { - "internalType": "int256", - "name": "presentValue_", - "type": "int256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint16", - "name": "_currencyId", - "type": "uint16" - }, - { - "internalType": "uint88", - "name": "_amountInternalPrecision", - "type": "uint88" - }, - { - "internalType": "bool", - "name": "_redeemToUnderlying", - "type": "bool" - } - ], - "name": "withdraw", - "outputs": [ - { - "internalType": "uint256", - "name": "amount_", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "batchBalanceAndTradeAction(address,(uint8,uint16,uint256,uint256,bool,bool,bytes32[])[])": "0276b64b", - "depositUnderlyingToken(address,uint16,uint256)": "2890fb65", - "getAccount(address)": "fbcbc0f1", - "getAccountBalance(uint16,address)": "fc1b1345", - "getAccountPortfolio(address)": "b536ffb6", - "getCurrency(uint16)": "4ebad18e", - "getPresentfCashValue(uint16,uint256,int256,uint256,bool)": "c52c43e1", - "withdraw(uint16,uint88,bool)": "02f332e8" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"enum INotionalV2Router.DepositActionType\",\"name\":\"actionType\",\"type\":\"uint8\"},{\"internalType\":\"uint16\",\"name\":\"currencyId\",\"type\":\"uint16\"},{\"internalType\":\"uint256\",\"name\":\"depositActionAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"withdrawAmountInternalPrecision\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"withdrawEntireCashBalance\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"redeemToUnderlying\",\"type\":\"bool\"},{\"internalType\":\"bytes32[]\",\"name\":\"trades\",\"type\":\"bytes32[]\"}],\"internalType\":\"struct INotionalV2Router.BalanceActionWithTrades[]\",\"name\":\"_actions\",\"type\":\"tuple[]\"}],\"name\":\"batchBalanceAndTradeAction\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"},{\"internalType\":\"uint16\",\"name\":\"_currencyId\",\"type\":\"uint16\"},{\"internalType\":\"uint256\",\"name\":\"_amountExternalPrecision\",\"type\":\"uint256\"}],\"name\":\"depositUnderlyingToken\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"}],\"name\":\"getAccount\",\"outputs\":[{\"components\":[{\"internalType\":\"uint40\",\"name\":\"nextSettleTime\",\"type\":\"uint40\"},{\"internalType\":\"bytes1\",\"name\":\"hasDebt\",\"type\":\"bytes1\"},{\"internalType\":\"uint8\",\"name\":\"assetArrayLength\",\"type\":\"uint8\"},{\"internalType\":\"uint16\",\"name\":\"bitmapCurrencyId\",\"type\":\"uint16\"},{\"internalType\":\"bytes18\",\"name\":\"activeCurrencies\",\"type\":\"bytes18\"}],\"internalType\":\"struct INotionalV2Router.AccountContext\",\"name\":\"accountContext_\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint16\",\"name\":\"currencyId\",\"type\":\"uint16\"},{\"internalType\":\"int256\",\"name\":\"cashBalance\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"nTokenBalance\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"lastClaimTime\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accountIncentiveDebt\",\"type\":\"uint256\"}],\"internalType\":\"struct INotionalV2Router.AccountBalance[]\",\"name\":\"accountBalances_\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"currencyId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maturity\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"assetType\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"notional\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"storageSlot\",\"type\":\"uint256\"},{\"internalType\":\"enum INotionalV2Router.AssetStorageState\",\"name\":\"storageState\",\"type\":\"uint8\"}],\"internalType\":\"struct INotionalV2Router.PortfolioAsset[]\",\"name\":\"portfolio_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint16\",\"name\":\"_currencyId\",\"type\":\"uint16\"},{\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"}],\"name\":\"getAccountBalance\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"cashBalance_\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"nTokenBalance_\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"lastClaimTime_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"}],\"name\":\"getAccountPortfolio\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"currencyId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maturity\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"assetType\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"notional\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"storageSlot\",\"type\":\"uint256\"},{\"internalType\":\"enum INotionalV2Router.AssetStorageState\",\"name\":\"storageState\",\"type\":\"uint8\"}],\"internalType\":\"struct INotionalV2Router.PortfolioAsset[]\",\"name\":\"portfolio_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint16\",\"name\":\"_currencyId\",\"type\":\"uint16\"}],\"name\":\"getCurrency\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"tokenAddress\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"hasTransferFee\",\"type\":\"bool\"},{\"internalType\":\"int256\",\"name\":\"decimals\",\"type\":\"int256\"},{\"internalType\":\"enum INotionalV2Router.TokenType\",\"name\":\"tokenType\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"maxCollateralBalance\",\"type\":\"uint256\"}],\"internalType\":\"struct INotionalV2Router.Token\",\"name\":\"assetToken_\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"tokenAddress\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"hasTransferFee\",\"type\":\"bool\"},{\"internalType\":\"int256\",\"name\":\"decimals\",\"type\":\"int256\"},{\"internalType\":\"enum INotionalV2Router.TokenType\",\"name\":\"tokenType\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"maxCollateralBalance\",\"type\":\"uint256\"}],\"internalType\":\"struct INotionalV2Router.Token\",\"name\":\"underlyingToken_\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint16\",\"name\":\"_currencyId\",\"type\":\"uint16\"},{\"internalType\":\"uint256\",\"name\":\"_maturity\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"_notional\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"_blockTime\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"_riskAdjusted\",\"type\":\"bool\"}],\"name\":\"getPresentfCashValue\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"presentValue_\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint16\",\"name\":\"_currencyId\",\"type\":\"uint16\"},{\"internalType\":\"uint88\",\"name\":\"_amountInternalPrecision\",\"type\":\"uint88\"},{\"internalType\":\"bool\",\"name\":\"_redeemToUnderlying\",\"type\":\"bool\"}],\"name\":\"withdraw\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"This interface is a combination of different interfaces: NotionalProxy, NotionalViews, NotionalCalculations\",\"kind\":\"dev\",\"methods\":{},\"title\":\"INotionalV2Router Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/INotionalV2Router.sol\":\"INotionalV2Router\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/INotionalV2Router.sol\":{\"keccak256\":\"0x049f3eac5a5cf7f182f7fc8274e2c18343be226a861117fbfd5d9502b88c83c9\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bdc2a04e7ac5671c0fc51b9625af0aec1639ce6d70ea0f991d3c51a278a8ed33\",\"dweb:/ipfs/QmRtdF7yfkjgwBgFcXeoG3MiGTLjU726pZwr7yaeimvwtt\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_account", - "type": "address" - }, - { - "internalType": "struct INotionalV2Router.BalanceActionWithTrades[]", - "name": "_actions", - "type": "tuple[]", - "components": [ - { - "internalType": "enum INotionalV2Router.DepositActionType", - "name": "actionType", - "type": "uint8" - }, - { - "internalType": "uint16", - "name": "currencyId", - "type": "uint16" - }, - { - "internalType": "uint256", - "name": "depositActionAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "withdrawAmountInternalPrecision", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "withdrawEntireCashBalance", - "type": "bool" - }, - { - "internalType": "bool", - "name": "redeemToUnderlying", - "type": "bool" - }, - { - "internalType": "bytes32[]", - "name": "trades", - "type": "bytes32[]" - } - ] - } - ], - "stateMutability": "payable", - "type": "function", - "name": "batchBalanceAndTradeAction" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_account", - "type": "address" - }, - { - "internalType": "uint16", - "name": "_currencyId", - "type": "uint16" - }, - { - "internalType": "uint256", - "name": "_amountExternalPrecision", - "type": "uint256" - } - ], - "stateMutability": "payable", - "type": "function", - "name": "depositUnderlyingToken", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_account", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getAccount", - "outputs": [ - { - "internalType": "struct INotionalV2Router.AccountContext", - "name": "accountContext_", - "type": "tuple", - "components": [ - { - "internalType": "uint40", - "name": "nextSettleTime", - "type": "uint40" - }, - { - "internalType": "bytes1", - "name": "hasDebt", - "type": "bytes1" - }, - { - "internalType": "uint8", - "name": "assetArrayLength", - "type": "uint8" - }, - { - "internalType": "uint16", - "name": "bitmapCurrencyId", - "type": "uint16" - }, - { - "internalType": "bytes18", - "name": "activeCurrencies", - "type": "bytes18" - } - ] - }, - { - "internalType": "struct INotionalV2Router.AccountBalance[]", - "name": "accountBalances_", - "type": "tuple[]", - "components": [ - { - "internalType": "uint16", - "name": "currencyId", - "type": "uint16" - }, - { - "internalType": "int256", - "name": "cashBalance", - "type": "int256" - }, - { - "internalType": "int256", - "name": "nTokenBalance", - "type": "int256" - }, - { - "internalType": "uint256", - "name": "lastClaimTime", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "accountIncentiveDebt", - "type": "uint256" - } - ] - }, - { - "internalType": "struct INotionalV2Router.PortfolioAsset[]", - "name": "portfolio_", - "type": "tuple[]", - "components": [ - { - "internalType": "uint256", - "name": "currencyId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "maturity", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "assetType", - "type": "uint256" - }, - { - "internalType": "int256", - "name": "notional", - "type": "int256" - }, - { - "internalType": "uint256", - "name": "storageSlot", - "type": "uint256" - }, - { - "internalType": "enum INotionalV2Router.AssetStorageState", - "name": "storageState", - "type": "uint8" - } - ] - } - ] - }, - { - "inputs": [ - { - "internalType": "uint16", - "name": "_currencyId", - "type": "uint16" - }, - { - "internalType": "address", - "name": "_account", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getAccountBalance", - "outputs": [ - { - "internalType": "int256", - "name": "cashBalance_", - "type": "int256" - }, - { - "internalType": "int256", - "name": "nTokenBalance_", - "type": "int256" - }, - { - "internalType": "uint256", - "name": "lastClaimTime_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_account", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getAccountPortfolio", - "outputs": [ - { - "internalType": "struct INotionalV2Router.PortfolioAsset[]", - "name": "portfolio_", - "type": "tuple[]", - "components": [ - { - "internalType": "uint256", - "name": "currencyId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "maturity", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "assetType", - "type": "uint256" - }, - { - "internalType": "int256", - "name": "notional", - "type": "int256" - }, - { - "internalType": "uint256", - "name": "storageSlot", - "type": "uint256" - }, - { - "internalType": "enum INotionalV2Router.AssetStorageState", - "name": "storageState", - "type": "uint8" - } - ] - } - ] - }, - { - "inputs": [ - { - "internalType": "uint16", - "name": "_currencyId", - "type": "uint16" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getCurrency", - "outputs": [ - { - "internalType": "struct INotionalV2Router.Token", - "name": "assetToken_", - "type": "tuple", - "components": [ - { - "internalType": "address", - "name": "tokenAddress", - "type": "address" - }, - { - "internalType": "bool", - "name": "hasTransferFee", - "type": "bool" - }, - { - "internalType": "int256", - "name": "decimals", - "type": "int256" - }, - { - "internalType": "enum INotionalV2Router.TokenType", - "name": "tokenType", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "maxCollateralBalance", - "type": "uint256" - } - ] - }, - { - "internalType": "struct INotionalV2Router.Token", - "name": "underlyingToken_", - "type": "tuple", - "components": [ - { - "internalType": "address", - "name": "tokenAddress", - "type": "address" - }, - { - "internalType": "bool", - "name": "hasTransferFee", - "type": "bool" - }, - { - "internalType": "int256", - "name": "decimals", - "type": "int256" - }, - { - "internalType": "enum INotionalV2Router.TokenType", - "name": "tokenType", - "type": "uint8" - }, - { - "internalType": "uint256", - "name": "maxCollateralBalance", - "type": "uint256" - } - ] - } - ] - }, - { - "inputs": [ - { - "internalType": "uint16", - "name": "_currencyId", - "type": "uint16" - }, - { - "internalType": "uint256", - "name": "_maturity", - "type": "uint256" - }, - { - "internalType": "int256", - "name": "_notional", - "type": "int256" - }, - { - "internalType": "uint256", - "name": "_blockTime", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "_riskAdjusted", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getPresentfCashValue", - "outputs": [ - { - "internalType": "int256", - "name": "presentValue_", - "type": "int256" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint16", - "name": "_currencyId", - "type": "uint16" - }, - { - "internalType": "uint88", - "name": "_amountInternalPrecision", - "type": "uint88" - }, - { - "internalType": "bool", - "name": "_redeemToUnderlying", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "withdraw", - "outputs": [ - { - "internalType": "uint256", - "name": "amount_", - "type": "uint256" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/interfaces/INotionalV2Router.sol": "INotionalV2Router" - }, - "libraries": {} - }, - "sources": { - "contracts/release/interfaces/INotionalV2Router.sol": { - "keccak256": "0x049f3eac5a5cf7f182f7fc8274e2c18343be226a861117fbfd5d9502b88c83c9", - "urls": [ - "bzz-raw://bdc2a04e7ac5671c0fc51b9625af0aec1639ce6d70ea0f991d3c51a278a8ed33", - "dweb:/ipfs/QmRtdF7yfkjgwBgFcXeoG3MiGTLjU726pZwr7yaeimvwtt" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 320 -} +{ "abi": [ { "type": "function", "name": "batchBalanceAndTradeAction", "inputs": [ { "name": "_account", "type": "address", "internalType": "address" }, { "name": "_actions", "type": "tuple[]", "internalType": "struct INotionalV2Router.BalanceActionWithTrades[]", "components": [ { "name": "actionType", "type": "uint8", "internalType": "enum INotionalV2Router.DepositActionType" }, { "name": "currencyId", "type": "uint16", "internalType": "uint16" }, { "name": "depositActionAmount", "type": "uint256", "internalType": "uint256" }, { "name": "withdrawAmountInternalPrecision", "type": "uint256", "internalType": "uint256" }, { "name": "withdrawEntireCashBalance", "type": "bool", "internalType": "bool" }, { "name": "redeemToUnderlying", "type": "bool", "internalType": "bool" }, { "name": "trades", "type": "bytes32[]", "internalType": "bytes32[]" } ] } ], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "depositUnderlyingToken", "inputs": [ { "name": "_account", "type": "address", "internalType": "address" }, { "name": "_currencyId", "type": "uint16", "internalType": "uint16" }, { "name": "_amountExternalPrecision", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "payable" }, { "type": "function", "name": "getAccount", "inputs": [ { "name": "_account", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "accountContext_", "type": "tuple", "internalType": "struct INotionalV2Router.AccountContext", "components": [ { "name": "nextSettleTime", "type": "uint40", "internalType": "uint40" }, { "name": "hasDebt", "type": "bytes1", "internalType": "bytes1" }, { "name": "assetArrayLength", "type": "uint8", "internalType": "uint8" }, { "name": "bitmapCurrencyId", "type": "uint16", "internalType": "uint16" }, { "name": "activeCurrencies", "type": "bytes18", "internalType": "bytes18" } ] }, { "name": "accountBalances_", "type": "tuple[]", "internalType": "struct INotionalV2Router.AccountBalance[]", "components": [ { "name": "currencyId", "type": "uint16", "internalType": "uint16" }, { "name": "cashBalance", "type": "int256", "internalType": "int256" }, { "name": "nTokenBalance", "type": "int256", "internalType": "int256" }, { "name": "lastClaimTime", "type": "uint256", "internalType": "uint256" }, { "name": "accountIncentiveDebt", "type": "uint256", "internalType": "uint256" } ] }, { "name": "portfolio_", "type": "tuple[]", "internalType": "struct INotionalV2Router.PortfolioAsset[]", "components": [ { "name": "currencyId", "type": "uint256", "internalType": "uint256" }, { "name": "maturity", "type": "uint256", "internalType": "uint256" }, { "name": "assetType", "type": "uint256", "internalType": "uint256" }, { "name": "notional", "type": "int256", "internalType": "int256" }, { "name": "storageSlot", "type": "uint256", "internalType": "uint256" }, { "name": "storageState", "type": "uint8", "internalType": "enum INotionalV2Router.AssetStorageState" } ] } ], "stateMutability": "view" }, { "type": "function", "name": "getAccountBalance", "inputs": [ { "name": "_currencyId", "type": "uint16", "internalType": "uint16" }, { "name": "_account", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "cashBalance_", "type": "int256", "internalType": "int256" }, { "name": "nTokenBalance_", "type": "int256", "internalType": "int256" }, { "name": "lastClaimTime_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "getAccountPortfolio", "inputs": [ { "name": "_account", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "portfolio_", "type": "tuple[]", "internalType": "struct INotionalV2Router.PortfolioAsset[]", "components": [ { "name": "currencyId", "type": "uint256", "internalType": "uint256" }, { "name": "maturity", "type": "uint256", "internalType": "uint256" }, { "name": "assetType", "type": "uint256", "internalType": "uint256" }, { "name": "notional", "type": "int256", "internalType": "int256" }, { "name": "storageSlot", "type": "uint256", "internalType": "uint256" }, { "name": "storageState", "type": "uint8", "internalType": "enum INotionalV2Router.AssetStorageState" } ] } ], "stateMutability": "view" }, { "type": "function", "name": "getCurrency", "inputs": [ { "name": "_currencyId", "type": "uint16", "internalType": "uint16" } ], "outputs": [ { "name": "assetToken_", "type": "tuple", "internalType": "struct INotionalV2Router.Token", "components": [ { "name": "tokenAddress", "type": "address", "internalType": "address" }, { "name": "hasTransferFee", "type": "bool", "internalType": "bool" }, { "name": "decimals", "type": "int256", "internalType": "int256" }, { "name": "tokenType", "type": "uint8", "internalType": "enum INotionalV2Router.TokenType" }, { "name": "maxCollateralBalance", "type": "uint256", "internalType": "uint256" } ] }, { "name": "underlyingToken_", "type": "tuple", "internalType": "struct INotionalV2Router.Token", "components": [ { "name": "tokenAddress", "type": "address", "internalType": "address" }, { "name": "hasTransferFee", "type": "bool", "internalType": "bool" }, { "name": "decimals", "type": "int256", "internalType": "int256" }, { "name": "tokenType", "type": "uint8", "internalType": "enum INotionalV2Router.TokenType" }, { "name": "maxCollateralBalance", "type": "uint256", "internalType": "uint256" } ] } ], "stateMutability": "view" }, { "type": "function", "name": "getPresentfCashValue", "inputs": [ { "name": "_currencyId", "type": "uint16", "internalType": "uint16" }, { "name": "_maturity", "type": "uint256", "internalType": "uint256" }, { "name": "_notional", "type": "int256", "internalType": "int256" }, { "name": "_blockTime", "type": "uint256", "internalType": "uint256" }, { "name": "_riskAdjusted", "type": "bool", "internalType": "bool" } ], "outputs": [ { "name": "presentValue_", "type": "int256", "internalType": "int256" } ], "stateMutability": "view" }, { "type": "function", "name": "withdraw", "inputs": [ { "name": "_currencyId", "type": "uint16", "internalType": "uint16" }, { "name": "_amountInternalPrecision", "type": "uint88", "internalType": "uint88" }, { "name": "_redeemToUnderlying", "type": "bool", "internalType": "bool" } ], "outputs": [ { "name": "amount_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "batchBalanceAndTradeAction(address,(uint8,uint16,uint256,uint256,bool,bool,bytes32[])[])": "0276b64b", "depositUnderlyingToken(address,uint16,uint256)": "2890fb65", "getAccount(address)": "fbcbc0f1", "getAccountBalance(uint16,address)": "fc1b1345", "getAccountPortfolio(address)": "b536ffb6", "getCurrency(uint16)": "4ebad18e", "getPresentfCashValue(uint16,uint256,int256,uint256,bool)": "c52c43e1", "withdraw(uint16,uint88,bool)": "02f332e8" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"enum INotionalV2Router.DepositActionType\",\"name\":\"actionType\",\"type\":\"uint8\"},{\"internalType\":\"uint16\",\"name\":\"currencyId\",\"type\":\"uint16\"},{\"internalType\":\"uint256\",\"name\":\"depositActionAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"withdrawAmountInternalPrecision\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"withdrawEntireCashBalance\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"redeemToUnderlying\",\"type\":\"bool\"},{\"internalType\":\"bytes32[]\",\"name\":\"trades\",\"type\":\"bytes32[]\"}],\"internalType\":\"struct INotionalV2Router.BalanceActionWithTrades[]\",\"name\":\"_actions\",\"type\":\"tuple[]\"}],\"name\":\"batchBalanceAndTradeAction\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"},{\"internalType\":\"uint16\",\"name\":\"_currencyId\",\"type\":\"uint16\"},{\"internalType\":\"uint256\",\"name\":\"_amountExternalPrecision\",\"type\":\"uint256\"}],\"name\":\"depositUnderlyingToken\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"}],\"name\":\"getAccount\",\"outputs\":[{\"components\":[{\"internalType\":\"uint40\",\"name\":\"nextSettleTime\",\"type\":\"uint40\"},{\"internalType\":\"bytes1\",\"name\":\"hasDebt\",\"type\":\"bytes1\"},{\"internalType\":\"uint8\",\"name\":\"assetArrayLength\",\"type\":\"uint8\"},{\"internalType\":\"uint16\",\"name\":\"bitmapCurrencyId\",\"type\":\"uint16\"},{\"internalType\":\"bytes18\",\"name\":\"activeCurrencies\",\"type\":\"bytes18\"}],\"internalType\":\"struct INotionalV2Router.AccountContext\",\"name\":\"accountContext_\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint16\",\"name\":\"currencyId\",\"type\":\"uint16\"},{\"internalType\":\"int256\",\"name\":\"cashBalance\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"nTokenBalance\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"lastClaimTime\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accountIncentiveDebt\",\"type\":\"uint256\"}],\"internalType\":\"struct INotionalV2Router.AccountBalance[]\",\"name\":\"accountBalances_\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"currencyId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maturity\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"assetType\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"notional\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"storageSlot\",\"type\":\"uint256\"},{\"internalType\":\"enum INotionalV2Router.AssetStorageState\",\"name\":\"storageState\",\"type\":\"uint8\"}],\"internalType\":\"struct INotionalV2Router.PortfolioAsset[]\",\"name\":\"portfolio_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint16\",\"name\":\"_currencyId\",\"type\":\"uint16\"},{\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"}],\"name\":\"getAccountBalance\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"cashBalance_\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"nTokenBalance_\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"lastClaimTime_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"}],\"name\":\"getAccountPortfolio\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"currencyId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maturity\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"assetType\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"notional\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"storageSlot\",\"type\":\"uint256\"},{\"internalType\":\"enum INotionalV2Router.AssetStorageState\",\"name\":\"storageState\",\"type\":\"uint8\"}],\"internalType\":\"struct INotionalV2Router.PortfolioAsset[]\",\"name\":\"portfolio_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint16\",\"name\":\"_currencyId\",\"type\":\"uint16\"}],\"name\":\"getCurrency\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"tokenAddress\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"hasTransferFee\",\"type\":\"bool\"},{\"internalType\":\"int256\",\"name\":\"decimals\",\"type\":\"int256\"},{\"internalType\":\"enum INotionalV2Router.TokenType\",\"name\":\"tokenType\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"maxCollateralBalance\",\"type\":\"uint256\"}],\"internalType\":\"struct INotionalV2Router.Token\",\"name\":\"assetToken_\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"tokenAddress\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"hasTransferFee\",\"type\":\"bool\"},{\"internalType\":\"int256\",\"name\":\"decimals\",\"type\":\"int256\"},{\"internalType\":\"enum INotionalV2Router.TokenType\",\"name\":\"tokenType\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"maxCollateralBalance\",\"type\":\"uint256\"}],\"internalType\":\"struct INotionalV2Router.Token\",\"name\":\"underlyingToken_\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint16\",\"name\":\"_currencyId\",\"type\":\"uint16\"},{\"internalType\":\"uint256\",\"name\":\"_maturity\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"_notional\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"_blockTime\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"_riskAdjusted\",\"type\":\"bool\"}],\"name\":\"getPresentfCashValue\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"presentValue_\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint16\",\"name\":\"_currencyId\",\"type\":\"uint16\"},{\"internalType\":\"uint88\",\"name\":\"_amountInternalPrecision\",\"type\":\"uint88\"},{\"internalType\":\"bool\",\"name\":\"_redeemToUnderlying\",\"type\":\"bool\"}],\"name\":\"withdraw\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"This interface is a combination of different interfaces: NotionalProxy, NotionalViews, NotionalCalculations\",\"kind\":\"dev\",\"methods\":{},\"title\":\"INotionalV2Router Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/INotionalV2Router.sol\":\"INotionalV2Router\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/INotionalV2Router.sol\":{\"keccak256\":\"0x049f3eac5a5cf7f182f7fc8274e2c18343be226a861117fbfd5d9502b88c83c9\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bdc2a04e7ac5671c0fc51b9625af0aec1639ce6d70ea0f991d3c51a278a8ed33\",\"dweb:/ipfs/QmRtdF7yfkjgwBgFcXeoG3MiGTLjU726pZwr7yaeimvwtt\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_account", "type": "address" }, { "internalType": "struct INotionalV2Router.BalanceActionWithTrades[]", "name": "_actions", "type": "tuple[]", "components": [ { "internalType": "enum INotionalV2Router.DepositActionType", "name": "actionType", "type": "uint8" }, { "internalType": "uint16", "name": "currencyId", "type": "uint16" }, { "internalType": "uint256", "name": "depositActionAmount", "type": "uint256" }, { "internalType": "uint256", "name": "withdrawAmountInternalPrecision", "type": "uint256" }, { "internalType": "bool", "name": "withdrawEntireCashBalance", "type": "bool" }, { "internalType": "bool", "name": "redeemToUnderlying", "type": "bool" }, { "internalType": "bytes32[]", "name": "trades", "type": "bytes32[]" } ] } ], "stateMutability": "payable", "type": "function", "name": "batchBalanceAndTradeAction" }, { "inputs": [ { "internalType": "address", "name": "_account", "type": "address" }, { "internalType": "uint16", "name": "_currencyId", "type": "uint16" }, { "internalType": "uint256", "name": "_amountExternalPrecision", "type": "uint256" } ], "stateMutability": "payable", "type": "function", "name": "depositUnderlyingToken", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "_account", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getAccount", "outputs": [ { "internalType": "struct INotionalV2Router.AccountContext", "name": "accountContext_", "type": "tuple", "components": [ { "internalType": "uint40", "name": "nextSettleTime", "type": "uint40" }, { "internalType": "bytes1", "name": "hasDebt", "type": "bytes1" }, { "internalType": "uint8", "name": "assetArrayLength", "type": "uint8" }, { "internalType": "uint16", "name": "bitmapCurrencyId", "type": "uint16" }, { "internalType": "bytes18", "name": "activeCurrencies", "type": "bytes18" } ] }, { "internalType": "struct INotionalV2Router.AccountBalance[]", "name": "accountBalances_", "type": "tuple[]", "components": [ { "internalType": "uint16", "name": "currencyId", "type": "uint16" }, { "internalType": "int256", "name": "cashBalance", "type": "int256" }, { "internalType": "int256", "name": "nTokenBalance", "type": "int256" }, { "internalType": "uint256", "name": "lastClaimTime", "type": "uint256" }, { "internalType": "uint256", "name": "accountIncentiveDebt", "type": "uint256" } ] }, { "internalType": "struct INotionalV2Router.PortfolioAsset[]", "name": "portfolio_", "type": "tuple[]", "components": [ { "internalType": "uint256", "name": "currencyId", "type": "uint256" }, { "internalType": "uint256", "name": "maturity", "type": "uint256" }, { "internalType": "uint256", "name": "assetType", "type": "uint256" }, { "internalType": "int256", "name": "notional", "type": "int256" }, { "internalType": "uint256", "name": "storageSlot", "type": "uint256" }, { "internalType": "enum INotionalV2Router.AssetStorageState", "name": "storageState", "type": "uint8" } ] } ] }, { "inputs": [ { "internalType": "uint16", "name": "_currencyId", "type": "uint16" }, { "internalType": "address", "name": "_account", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getAccountBalance", "outputs": [ { "internalType": "int256", "name": "cashBalance_", "type": "int256" }, { "internalType": "int256", "name": "nTokenBalance_", "type": "int256" }, { "internalType": "uint256", "name": "lastClaimTime_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "_account", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getAccountPortfolio", "outputs": [ { "internalType": "struct INotionalV2Router.PortfolioAsset[]", "name": "portfolio_", "type": "tuple[]", "components": [ { "internalType": "uint256", "name": "currencyId", "type": "uint256" }, { "internalType": "uint256", "name": "maturity", "type": "uint256" }, { "internalType": "uint256", "name": "assetType", "type": "uint256" }, { "internalType": "int256", "name": "notional", "type": "int256" }, { "internalType": "uint256", "name": "storageSlot", "type": "uint256" }, { "internalType": "enum INotionalV2Router.AssetStorageState", "name": "storageState", "type": "uint8" } ] } ] }, { "inputs": [ { "internalType": "uint16", "name": "_currencyId", "type": "uint16" } ], "stateMutability": "view", "type": "function", "name": "getCurrency", "outputs": [ { "internalType": "struct INotionalV2Router.Token", "name": "assetToken_", "type": "tuple", "components": [ { "internalType": "address", "name": "tokenAddress", "type": "address" }, { "internalType": "bool", "name": "hasTransferFee", "type": "bool" }, { "internalType": "int256", "name": "decimals", "type": "int256" }, { "internalType": "enum INotionalV2Router.TokenType", "name": "tokenType", "type": "uint8" }, { "internalType": "uint256", "name": "maxCollateralBalance", "type": "uint256" } ] }, { "internalType": "struct INotionalV2Router.Token", "name": "underlyingToken_", "type": "tuple", "components": [ { "internalType": "address", "name": "tokenAddress", "type": "address" }, { "internalType": "bool", "name": "hasTransferFee", "type": "bool" }, { "internalType": "int256", "name": "decimals", "type": "int256" }, { "internalType": "enum INotionalV2Router.TokenType", "name": "tokenType", "type": "uint8" }, { "internalType": "uint256", "name": "maxCollateralBalance", "type": "uint256" } ] } ] }, { "inputs": [ { "internalType": "uint16", "name": "_currencyId", "type": "uint16" }, { "internalType": "uint256", "name": "_maturity", "type": "uint256" }, { "internalType": "int256", "name": "_notional", "type": "int256" }, { "internalType": "uint256", "name": "_blockTime", "type": "uint256" }, { "internalType": "bool", "name": "_riskAdjusted", "type": "bool" } ], "stateMutability": "view", "type": "function", "name": "getPresentfCashValue", "outputs": [ { "internalType": "int256", "name": "presentValue_", "type": "int256" } ] }, { "inputs": [ { "internalType": "uint16", "name": "_currencyId", "type": "uint16" }, { "internalType": "uint88", "name": "_amountInternalPrecision", "type": "uint88" }, { "internalType": "bool", "name": "_redeemToUnderlying", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function", "name": "withdraw", "outputs": [ { "internalType": "uint256", "name": "amount_", "type": "uint256" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/interfaces/INotionalV2Router.sol": "INotionalV2Router" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/interfaces/INotionalV2Router.sol": { "keccak256": "0x049f3eac5a5cf7f182f7fc8274e2c18343be226a861117fbfd5d9502b88c83c9", "urls": [ "bzz-raw://bdc2a04e7ac5671c0fc51b9625af0aec1639ce6d70ea0f991d3c51a278a8ed33", "dweb:/ipfs/QmRtdF7yfkjgwBgFcXeoG3MiGTLjU726pZwr7yaeimvwtt" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 320 } diff --git a/eth_defi/abi/enzyme/IOlympusV2Staking.json b/eth_defi/abi/enzyme/IOlympusV2Staking.json index 0af2ad6e..8326cdcc 100644 --- a/eth_defi/abi/enzyme/IOlympusV2Staking.json +++ b/eth_defi/abi/enzyme/IOlympusV2Staking.json @@ -1,193 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "", - "type": "bool" - }, - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "name": "stake", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "", - "type": "bool" - }, - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "name": "unstake", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "stake(address,uint256,bool,bool)": "d866c9d8", - "unstake(address,uint256,bool,bool)": "990966d5" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"name\":\"stake\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"name\":\"unstake\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IOlympusV2Staking Helper Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Minimal interface for our interactions with OlympusV2 Staking contracts\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/IOlympusV2Staking.sol\":\"IOlympusV2Staking\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/IOlympusV2Staking.sol\":{\"keccak256\":\"0x11e89c4058e73396d5169bc78050ba522d0b7e009d2e07a5a6675e8491e70e0d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://0d46a4cacd57de0633c0c0d1496d29b9df8eb6d86557826181a867754480ec9a\",\"dweb:/ipfs/QmUDs7HvMxoDXMAc1cuG6XKfrcveiE87s85HooYYuCrrjM\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "", - "type": "bool" - }, - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "stake" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "", - "type": "bool" - }, - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "unstake" - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/interfaces/IOlympusV2Staking.sol": "IOlympusV2Staking" - }, - "libraries": {} - }, - "sources": { - "contracts/release/interfaces/IOlympusV2Staking.sol": { - "keccak256": "0x11e89c4058e73396d5169bc78050ba522d0b7e009d2e07a5a6675e8491e70e0d", - "urls": [ - "bzz-raw://0d46a4cacd57de0633c0c0d1496d29b9df8eb6d86557826181a867754480ec9a", - "dweb:/ipfs/QmUDs7HvMxoDXMAc1cuG6XKfrcveiE87s85HooYYuCrrjM" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 321 -} +{ "abi": [ { "type": "function", "name": "stake", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "bool", "internalType": "bool" }, { "name": "", "type": "bool", "internalType": "bool" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "unstake", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "bool", "internalType": "bool" }, { "name": "", "type": "bool", "internalType": "bool" } ], "outputs": [], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "stake(address,uint256,bool,bool)": "d866c9d8", "unstake(address,uint256,bool,bool)": "990966d5" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"name\":\"stake\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"name\":\"unstake\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IOlympusV2Staking Helper Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Minimal interface for our interactions with OlympusV2 Staking contracts\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/IOlympusV2Staking.sol\":\"IOlympusV2Staking\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/IOlympusV2Staking.sol\":{\"keccak256\":\"0x11e89c4058e73396d5169bc78050ba522d0b7e009d2e07a5a6675e8491e70e0d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://0d46a4cacd57de0633c0c0d1496d29b9df8eb6d86557826181a867754480ec9a\",\"dweb:/ipfs/QmUDs7HvMxoDXMAc1cuG6XKfrcveiE87s85HooYYuCrrjM\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "bool", "name": "", "type": "bool" }, { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function", "name": "stake" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "bool", "name": "", "type": "bool" }, { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function", "name": "unstake" } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/interfaces/IOlympusV2Staking.sol": "IOlympusV2Staking" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/interfaces/IOlympusV2Staking.sol": { "keccak256": "0x11e89c4058e73396d5169bc78050ba522d0b7e009d2e07a5a6675e8491e70e0d", "urls": [ "bzz-raw://0d46a4cacd57de0633c0c0d1496d29b9df8eb6d86557826181a867754480ec9a", "dweb:/ipfs/QmUDs7HvMxoDXMAc1cuG6XKfrcveiE87s85HooYYuCrrjM" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 321 } diff --git a/eth_defi/abi/enzyme/IParaSwapV5AugustusSwapper.json b/eth_defi/abi/enzyme/IParaSwapV5AugustusSwapper.json index 357d4066..6edf50aa 100644 --- a/eth_defi/abi/enzyme/IParaSwapV5AugustusSwapper.json +++ b/eth_defi/abi/enzyme/IParaSwapV5AugustusSwapper.json @@ -1,366 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "components": [ - { - "internalType": "address", - "name": "fromToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "fromAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "toAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "expectedAmount", - "type": "uint256" - }, - { - "internalType": "address payable", - "name": "beneficiary", - "type": "address" - }, - { - "components": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "totalNetworkFee", - "type": "uint256" - }, - { - "components": [ - { - "internalType": "address payable", - "name": "adapter", - "type": "address" - }, - { - "internalType": "uint256", - "name": "percent", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "networkFee", - "type": "uint256" - }, - { - "components": [ - { - "internalType": "uint256", - "name": "index", - "type": "uint256" - }, - { - "internalType": "address", - "name": "targetExchange", - "type": "address" - }, - { - "internalType": "uint256", - "name": "percent", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "payload", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "networkFee", - "type": "uint256" - } - ], - "internalType": "struct IParaSwapV5AugustusSwapper.Route[]", - "name": "route", - "type": "tuple[]" - } - ], - "internalType": "struct IParaSwapV5AugustusSwapper.Adapter[]", - "name": "adapters", - "type": "tuple[]" - } - ], - "internalType": "struct IParaSwapV5AugustusSwapper.Path[]", - "name": "path", - "type": "tuple[]" - }, - { - "internalType": "address payable", - "name": "partner", - "type": "address" - }, - { - "internalType": "uint256", - "name": "feePercent", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "permit", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "deadline", - "type": "uint256" - }, - { - "internalType": "bytes16", - "name": "uuid", - "type": "bytes16" - } - ], - "internalType": "struct IParaSwapV5AugustusSwapper.SellData", - "name": "", - "type": "tuple" - } - ], - "name": "multiSwap", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "payable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "multiSwap((address,uint256,uint256,uint256,address,(address,uint256,(address,uint256,uint256,(uint256,address,uint256,bytes,uint256)[])[])[],address,uint256,bytes,uint256,bytes16))": "a94e78ef" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"fromToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"fromAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"toAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"expectedAmount\",\"type\":\"uint256\"},{\"internalType\":\"address payable\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"totalNetworkFee\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"address payable\",\"name\":\"adapter\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"percent\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"networkFee\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"targetExchange\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"percent\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"payload\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"networkFee\",\"type\":\"uint256\"}],\"internalType\":\"struct IParaSwapV5AugustusSwapper.Route[]\",\"name\":\"route\",\"type\":\"tuple[]\"}],\"internalType\":\"struct IParaSwapV5AugustusSwapper.Adapter[]\",\"name\":\"adapters\",\"type\":\"tuple[]\"}],\"internalType\":\"struct IParaSwapV5AugustusSwapper.Path[]\",\"name\":\"path\",\"type\":\"tuple[]\"},{\"internalType\":\"address payable\",\"name\":\"partner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"feePercent\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"permit\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"bytes16\",\"name\":\"uuid\",\"type\":\"bytes16\"}],\"internalType\":\"struct IParaSwapV5AugustusSwapper.SellData\",\"name\":\"\",\"type\":\"tuple\"}],\"name\":\"multiSwap\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"title\":\"ParaSwap V5 IAugustusSwapper interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/IParaSwapV5AugustusSwapper.sol\":\"IParaSwapV5AugustusSwapper\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/IParaSwapV5AugustusSwapper.sol\":{\"keccak256\":\"0x41bbae45f0d7ba6a90c74bc6421c7339f3f7549171f4d8073d4b35f9691a5fa5\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a5aabccb9caf45e96a0ce884edb24dccc22460ffdeff773b8dfaec62c07fadf8\",\"dweb:/ipfs/QmV78Mdhkeks76rie9nAMjsAUey2riYsQte36VXvDPcNif\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "struct IParaSwapV5AugustusSwapper.SellData", - "name": "", - "type": "tuple", - "components": [ - { - "internalType": "address", - "name": "fromToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "fromAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "toAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "expectedAmount", - "type": "uint256" - }, - { - "internalType": "address payable", - "name": "beneficiary", - "type": "address" - }, - { - "internalType": "struct IParaSwapV5AugustusSwapper.Path[]", - "name": "path", - "type": "tuple[]", - "components": [ - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "totalNetworkFee", - "type": "uint256" - }, - { - "internalType": "struct IParaSwapV5AugustusSwapper.Adapter[]", - "name": "adapters", - "type": "tuple[]", - "components": [ - { - "internalType": "address payable", - "name": "adapter", - "type": "address" - }, - { - "internalType": "uint256", - "name": "percent", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "networkFee", - "type": "uint256" - }, - { - "internalType": "struct IParaSwapV5AugustusSwapper.Route[]", - "name": "route", - "type": "tuple[]", - "components": [ - { - "internalType": "uint256", - "name": "index", - "type": "uint256" - }, - { - "internalType": "address", - "name": "targetExchange", - "type": "address" - }, - { - "internalType": "uint256", - "name": "percent", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "payload", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "networkFee", - "type": "uint256" - } - ] - } - ] - } - ] - }, - { - "internalType": "address payable", - "name": "partner", - "type": "address" - }, - { - "internalType": "uint256", - "name": "feePercent", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "permit", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "deadline", - "type": "uint256" - }, - { - "internalType": "bytes16", - "name": "uuid", - "type": "bytes16" - } - ] - } - ], - "stateMutability": "payable", - "type": "function", - "name": "multiSwap", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/interfaces/IParaSwapV5AugustusSwapper.sol": "IParaSwapV5AugustusSwapper" - }, - "libraries": {} - }, - "sources": { - "contracts/release/interfaces/IParaSwapV5AugustusSwapper.sol": { - "keccak256": "0x41bbae45f0d7ba6a90c74bc6421c7339f3f7549171f4d8073d4b35f9691a5fa5", - "urls": [ - "bzz-raw://a5aabccb9caf45e96a0ce884edb24dccc22460ffdeff773b8dfaec62c07fadf8", - "dweb:/ipfs/QmV78Mdhkeks76rie9nAMjsAUey2riYsQte36VXvDPcNif" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 322 -} +{ "abi": [ { "type": "function", "name": "multiSwap", "inputs": [ { "name": "", "type": "tuple", "internalType": "struct IParaSwapV5AugustusSwapper.SellData", "components": [ { "name": "fromToken", "type": "address", "internalType": "address" }, { "name": "fromAmount", "type": "uint256", "internalType": "uint256" }, { "name": "toAmount", "type": "uint256", "internalType": "uint256" }, { "name": "expectedAmount", "type": "uint256", "internalType": "uint256" }, { "name": "beneficiary", "type": "address", "internalType": "address payable" }, { "name": "path", "type": "tuple[]", "internalType": "struct IParaSwapV5AugustusSwapper.Path[]", "components": [ { "name": "to", "type": "address", "internalType": "address" }, { "name": "totalNetworkFee", "type": "uint256", "internalType": "uint256" }, { "name": "adapters", "type": "tuple[]", "internalType": "struct IParaSwapV5AugustusSwapper.Adapter[]", "components": [ { "name": "adapter", "type": "address", "internalType": "address payable" }, { "name": "percent", "type": "uint256", "internalType": "uint256" }, { "name": "networkFee", "type": "uint256", "internalType": "uint256" }, { "name": "route", "type": "tuple[]", "internalType": "struct IParaSwapV5AugustusSwapper.Route[]", "components": [ { "name": "index", "type": "uint256", "internalType": "uint256" }, { "name": "targetExchange", "type": "address", "internalType": "address" }, { "name": "percent", "type": "uint256", "internalType": "uint256" }, { "name": "payload", "type": "bytes", "internalType": "bytes" }, { "name": "networkFee", "type": "uint256", "internalType": "uint256" } ] } ] } ] }, { "name": "partner", "type": "address", "internalType": "address payable" }, { "name": "feePercent", "type": "uint256", "internalType": "uint256" }, { "name": "permit", "type": "bytes", "internalType": "bytes" }, { "name": "deadline", "type": "uint256", "internalType": "uint256" }, { "name": "uuid", "type": "bytes16", "internalType": "bytes16" } ] } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "payable" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "multiSwap((address,uint256,uint256,uint256,address,(address,uint256,(address,uint256,uint256,(uint256,address,uint256,bytes,uint256)[])[])[],address,uint256,bytes,uint256,bytes16))": "a94e78ef" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"fromToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"fromAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"toAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"expectedAmount\",\"type\":\"uint256\"},{\"internalType\":\"address payable\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"totalNetworkFee\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"address payable\",\"name\":\"adapter\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"percent\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"networkFee\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"targetExchange\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"percent\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"payload\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"networkFee\",\"type\":\"uint256\"}],\"internalType\":\"struct IParaSwapV5AugustusSwapper.Route[]\",\"name\":\"route\",\"type\":\"tuple[]\"}],\"internalType\":\"struct IParaSwapV5AugustusSwapper.Adapter[]\",\"name\":\"adapters\",\"type\":\"tuple[]\"}],\"internalType\":\"struct IParaSwapV5AugustusSwapper.Path[]\",\"name\":\"path\",\"type\":\"tuple[]\"},{\"internalType\":\"address payable\",\"name\":\"partner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"feePercent\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"permit\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"bytes16\",\"name\":\"uuid\",\"type\":\"bytes16\"}],\"internalType\":\"struct IParaSwapV5AugustusSwapper.SellData\",\"name\":\"\",\"type\":\"tuple\"}],\"name\":\"multiSwap\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"title\":\"ParaSwap V5 IAugustusSwapper interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/IParaSwapV5AugustusSwapper.sol\":\"IParaSwapV5AugustusSwapper\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/IParaSwapV5AugustusSwapper.sol\":{\"keccak256\":\"0x41bbae45f0d7ba6a90c74bc6421c7339f3f7549171f4d8073d4b35f9691a5fa5\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a5aabccb9caf45e96a0ce884edb24dccc22460ffdeff773b8dfaec62c07fadf8\",\"dweb:/ipfs/QmV78Mdhkeks76rie9nAMjsAUey2riYsQte36VXvDPcNif\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "struct IParaSwapV5AugustusSwapper.SellData", "name": "", "type": "tuple", "components": [ { "internalType": "address", "name": "fromToken", "type": "address" }, { "internalType": "uint256", "name": "fromAmount", "type": "uint256" }, { "internalType": "uint256", "name": "toAmount", "type": "uint256" }, { "internalType": "uint256", "name": "expectedAmount", "type": "uint256" }, { "internalType": "address payable", "name": "beneficiary", "type": "address" }, { "internalType": "struct IParaSwapV5AugustusSwapper.Path[]", "name": "path", "type": "tuple[]", "components": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "totalNetworkFee", "type": "uint256" }, { "internalType": "struct IParaSwapV5AugustusSwapper.Adapter[]", "name": "adapters", "type": "tuple[]", "components": [ { "internalType": "address payable", "name": "adapter", "type": "address" }, { "internalType": "uint256", "name": "percent", "type": "uint256" }, { "internalType": "uint256", "name": "networkFee", "type": "uint256" }, { "internalType": "struct IParaSwapV5AugustusSwapper.Route[]", "name": "route", "type": "tuple[]", "components": [ { "internalType": "uint256", "name": "index", "type": "uint256" }, { "internalType": "address", "name": "targetExchange", "type": "address" }, { "internalType": "uint256", "name": "percent", "type": "uint256" }, { "internalType": "bytes", "name": "payload", "type": "bytes" }, { "internalType": "uint256", "name": "networkFee", "type": "uint256" } ] } ] } ] }, { "internalType": "address payable", "name": "partner", "type": "address" }, { "internalType": "uint256", "name": "feePercent", "type": "uint256" }, { "internalType": "bytes", "name": "permit", "type": "bytes" }, { "internalType": "uint256", "name": "deadline", "type": "uint256" }, { "internalType": "bytes16", "name": "uuid", "type": "bytes16" } ] } ], "stateMutability": "payable", "type": "function", "name": "multiSwap", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/interfaces/IParaSwapV5AugustusSwapper.sol": "IParaSwapV5AugustusSwapper" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/interfaces/IParaSwapV5AugustusSwapper.sol": { "keccak256": "0x41bbae45f0d7ba6a90c74bc6421c7339f3f7549171f4d8073d4b35f9691a5fa5", "urls": [ "bzz-raw://a5aabccb9caf45e96a0ce884edb24dccc22460ffdeff773b8dfaec62c07fadf8", "dweb:/ipfs/QmV78Mdhkeks76rie9nAMjsAUey2riYsQte36VXvDPcNif" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 322 } diff --git a/eth_defi/abi/enzyme/IPeripheryImmutableState.json b/eth_defi/abi/enzyme/IPeripheryImmutableState.json index c438f25e..a8f01016 100644 --- a/eth_defi/abi/enzyme/IPeripheryImmutableState.json +++ b/eth_defi/abi/enzyme/IPeripheryImmutableState.json @@ -1,146 +1 @@ -{ - "abi": [ - { - "inputs": [], - "name": "WETH9", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "factory", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "WETH9()": "4aa4a4fc", - "factory()": "c45a0155" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.7.6+commit.7338295f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"WETH9\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"factory\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"WETH9()\":{\"returns\":{\"_0\":\"Returns the address of WETH9\"}},\"factory()\":{\"returns\":{\"_0\":\"Returns the address of the Uniswap V3 factory\"}}},\"title\":\"Immutable state\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Functions that return immutable state of the router\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@uniswap/v3-periphery/contracts/interfaces/IPeripheryImmutableState.sol\":\"IPeripheryImmutableState\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"node_modules/@uniswap/v3-periphery/contracts/interfaces/IPeripheryImmutableState.sol\":{\"keccak256\":\"0x7affcfeb5127c0925a71d6a65345e117c33537523aeca7bc98085ead8452519d\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://e16b291294210e71cb0f20cd0afe62ae2dc6878d627f5ccc19c4dc9cd80aec3f\",\"dweb:/ipfs/QmQGitSyBr26nour81BZmpmDMyJpvZRqHQZvnCD1Acb127\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.7.6+commit.7338295f" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "WETH9", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "factory", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "WETH9()": { - "returns": { - "_0": "Returns the address of WETH9" - } - }, - "factory()": { - "returns": { - "_0": "Returns the address of the Uniswap V3 factory" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "node_modules/@uniswap/v3-periphery/contracts/interfaces/IPeripheryImmutableState.sol": "IPeripheryImmutableState" - }, - "libraries": {} - }, - "sources": { - "node_modules/@uniswap/v3-periphery/contracts/interfaces/IPeripheryImmutableState.sol": { - "keccak256": "0x7affcfeb5127c0925a71d6a65345e117c33537523aeca7bc98085ead8452519d", - "urls": [ - "bzz-raw://e16b291294210e71cb0f20cd0afe62ae2dc6878d627f5ccc19c4dc9cd80aec3f", - "dweb:/ipfs/QmQGitSyBr26nour81BZmpmDMyJpvZRqHQZvnCD1Acb127" - ], - "license": "GPL-2.0-or-later" - } - }, - "version": 1 - }, - "id": 45 -} +{ "abi": [ { "type": "function", "name": "WETH9", "inputs": [], "outputs": [ { "name": "", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "factory", "inputs": [], "outputs": [ { "name": "", "type": "address", "internalType": "address" } ], "stateMutability": "view" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "WETH9()": "4aa4a4fc", "factory()": "c45a0155" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.7.6+commit.7338295f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"WETH9\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"factory\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"WETH9()\":{\"returns\":{\"_0\":\"Returns the address of WETH9\"}},\"factory()\":{\"returns\":{\"_0\":\"Returns the address of the Uniswap V3 factory\"}}},\"title\":\"Immutable state\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Functions that return immutable state of the router\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@uniswap/v3-periphery/contracts/interfaces/IPeripheryImmutableState.sol\":\"IPeripheryImmutableState\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"node_modules/@uniswap/v3-periphery/contracts/interfaces/IPeripheryImmutableState.sol\":{\"keccak256\":\"0x7affcfeb5127c0925a71d6a65345e117c33537523aeca7bc98085ead8452519d\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://e16b291294210e71cb0f20cd0afe62ae2dc6878d627f5ccc19c4dc9cd80aec3f\",\"dweb:/ipfs/QmQGitSyBr26nour81BZmpmDMyJpvZRqHQZvnCD1Acb127\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.7.6+commit.7338295f" }, "language": "Solidity", "output": { "abi": [ { "inputs": [], "stateMutability": "view", "type": "function", "name": "WETH9", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "factory", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ] } ], "devdoc": { "kind": "dev", "methods": { "WETH9()": { "returns": { "_0": "Returns the address of WETH9" } }, "factory()": { "returns": { "_0": "Returns the address of the Uniswap V3 factory" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "node_modules/@uniswap/v3-periphery/contracts/interfaces/IPeripheryImmutableState.sol": "IPeripheryImmutableState" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "node_modules/@uniswap/v3-periphery/contracts/interfaces/IPeripheryImmutableState.sol": { "keccak256": "0x7affcfeb5127c0925a71d6a65345e117c33537523aeca7bc98085ead8452519d", "urls": [ "bzz-raw://e16b291294210e71cb0f20cd0afe62ae2dc6878d627f5ccc19c4dc9cd80aec3f", "dweb:/ipfs/QmQGitSyBr26nour81BZmpmDMyJpvZRqHQZvnCD1Acb127" ], "license": "GPL-2.0-or-later" } }, "version": 1 }, "id": 45 } diff --git a/eth_defi/abi/enzyme/IPeripheryPayments.json b/eth_defi/abi/enzyme/IPeripheryPayments.json index 9856ff96..154d7c9c 100644 --- a/eth_defi/abi/enzyme/IPeripheryPayments.json +++ b/eth_defi/abi/enzyme/IPeripheryPayments.json @@ -1,206 +1 @@ -{ - "abi": [ - { - "inputs": [], - "name": "refundETH", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amountMinimum", - "type": "uint256" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - } - ], - "name": "sweepToken", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "amountMinimum", - "type": "uint256" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - } - ], - "name": "unwrapWETH9", - "outputs": [], - "stateMutability": "payable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "refundETH()": "12210e8a", - "sweepToken(address,uint256,address)": "df2ab5bb", - "unwrapWETH9(uint256,address)": "49404b7c" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.7.6+commit.7338295f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"refundETH\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amountMinimum\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"}],\"name\":\"sweepToken\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amountMinimum\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"}],\"name\":\"unwrapWETH9\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"refundETH()\":{\"details\":\"Useful for bundling with mint or increase liquidity that uses ether, or exact output swaps that use ether for the input amount\"},\"sweepToken(address,uint256,address)\":{\"details\":\"The amountMinimum parameter prevents malicious contracts from stealing the token from users\",\"params\":{\"amountMinimum\":\"The minimum amount of token required for a transfer\",\"recipient\":\"The destination address of the token\",\"token\":\"The contract address of the token which will be transferred to `recipient`\"}},\"unwrapWETH9(uint256,address)\":{\"details\":\"The amountMinimum parameter prevents malicious contracts from stealing WETH9 from users.\",\"params\":{\"amountMinimum\":\"The minimum amount of WETH9 to unwrap\",\"recipient\":\"The address receiving ETH\"}}},\"title\":\"Periphery Payments\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"refundETH()\":{\"notice\":\"Refunds any ETH balance held by this contract to the `msg.sender`\"},\"sweepToken(address,uint256,address)\":{\"notice\":\"Transfers the full amount of a token held by this contract to recipient\"},\"unwrapWETH9(uint256,address)\":{\"notice\":\"Unwraps the contract's WETH9 balance and sends it to recipient as ETH.\"}},\"notice\":\"Functions to ease deposits and withdrawals of ETH\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@uniswap/v3-periphery/contracts/interfaces/IPeripheryPayments.sol\":\"IPeripheryPayments\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"node_modules/@uniswap/v3-periphery/contracts/interfaces/IPeripheryPayments.sol\":{\"keccak256\":\"0xb547e10f1e69bed03621a62b73a503e260643066c6b4054867a4d1fef47eb274\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://f9a90f58f5fd5fb42f7811f4094113b532f307b14a73764c91f977590747f407\",\"dweb:/ipfs/QmSeNH2mfiDMKf3Q6V2sqtNxx1s72JNuA1VVxRM9HoMqYp\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.7.6+commit.7338295f" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [], - "stateMutability": "payable", - "type": "function", - "name": "refundETH" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amountMinimum", - "type": "uint256" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - } - ], - "stateMutability": "payable", - "type": "function", - "name": "sweepToken" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "amountMinimum", - "type": "uint256" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - } - ], - "stateMutability": "payable", - "type": "function", - "name": "unwrapWETH9" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "refundETH()": { - "details": "Useful for bundling with mint or increase liquidity that uses ether, or exact output swaps that use ether for the input amount" - }, - "sweepToken(address,uint256,address)": { - "details": "The amountMinimum parameter prevents malicious contracts from stealing the token from users", - "params": { - "amountMinimum": "The minimum amount of token required for a transfer", - "recipient": "The destination address of the token", - "token": "The contract address of the token which will be transferred to `recipient`" - } - }, - "unwrapWETH9(uint256,address)": { - "details": "The amountMinimum parameter prevents malicious contracts from stealing WETH9 from users.", - "params": { - "amountMinimum": "The minimum amount of WETH9 to unwrap", - "recipient": "The address receiving ETH" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "refundETH()": { - "notice": "Refunds any ETH balance held by this contract to the `msg.sender`" - }, - "sweepToken(address,uint256,address)": { - "notice": "Transfers the full amount of a token held by this contract to recipient" - }, - "unwrapWETH9(uint256,address)": { - "notice": "Unwraps the contract's WETH9 balance and sends it to recipient as ETH." - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "node_modules/@uniswap/v3-periphery/contracts/interfaces/IPeripheryPayments.sol": "IPeripheryPayments" - }, - "libraries": {} - }, - "sources": { - "node_modules/@uniswap/v3-periphery/contracts/interfaces/IPeripheryPayments.sol": { - "keccak256": "0xb547e10f1e69bed03621a62b73a503e260643066c6b4054867a4d1fef47eb274", - "urls": [ - "bzz-raw://f9a90f58f5fd5fb42f7811f4094113b532f307b14a73764c91f977590747f407", - "dweb:/ipfs/QmSeNH2mfiDMKf3Q6V2sqtNxx1s72JNuA1VVxRM9HoMqYp" - ], - "license": "GPL-2.0-or-later" - } - }, - "version": 1 - }, - "id": 46 -} +{ "abi": [ { "type": "function", "name": "refundETH", "inputs": [], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "sweepToken", "inputs": [ { "name": "token", "type": "address", "internalType": "address" }, { "name": "amountMinimum", "type": "uint256", "internalType": "uint256" }, { "name": "recipient", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "unwrapWETH9", "inputs": [ { "name": "amountMinimum", "type": "uint256", "internalType": "uint256" }, { "name": "recipient", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "payable" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "refundETH()": "12210e8a", "sweepToken(address,uint256,address)": "df2ab5bb", "unwrapWETH9(uint256,address)": "49404b7c" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.7.6+commit.7338295f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"refundETH\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amountMinimum\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"}],\"name\":\"sweepToken\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amountMinimum\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"}],\"name\":\"unwrapWETH9\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"refundETH()\":{\"details\":\"Useful for bundling with mint or increase liquidity that uses ether, or exact output swaps that use ether for the input amount\"},\"sweepToken(address,uint256,address)\":{\"details\":\"The amountMinimum parameter prevents malicious contracts from stealing the token from users\",\"params\":{\"amountMinimum\":\"The minimum amount of token required for a transfer\",\"recipient\":\"The destination address of the token\",\"token\":\"The contract address of the token which will be transferred to `recipient`\"}},\"unwrapWETH9(uint256,address)\":{\"details\":\"The amountMinimum parameter prevents malicious contracts from stealing WETH9 from users.\",\"params\":{\"amountMinimum\":\"The minimum amount of WETH9 to unwrap\",\"recipient\":\"The address receiving ETH\"}}},\"title\":\"Periphery Payments\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"refundETH()\":{\"notice\":\"Refunds any ETH balance held by this contract to the `msg.sender`\"},\"sweepToken(address,uint256,address)\":{\"notice\":\"Transfers the full amount of a token held by this contract to recipient\"},\"unwrapWETH9(uint256,address)\":{\"notice\":\"Unwraps the contract's WETH9 balance and sends it to recipient as ETH.\"}},\"notice\":\"Functions to ease deposits and withdrawals of ETH\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@uniswap/v3-periphery/contracts/interfaces/IPeripheryPayments.sol\":\"IPeripheryPayments\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"node_modules/@uniswap/v3-periphery/contracts/interfaces/IPeripheryPayments.sol\":{\"keccak256\":\"0xb547e10f1e69bed03621a62b73a503e260643066c6b4054867a4d1fef47eb274\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://f9a90f58f5fd5fb42f7811f4094113b532f307b14a73764c91f977590747f407\",\"dweb:/ipfs/QmSeNH2mfiDMKf3Q6V2sqtNxx1s72JNuA1VVxRM9HoMqYp\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.7.6+commit.7338295f" }, "language": "Solidity", "output": { "abi": [ { "inputs": [], "stateMutability": "payable", "type": "function", "name": "refundETH" }, { "inputs": [ { "internalType": "address", "name": "token", "type": "address" }, { "internalType": "uint256", "name": "amountMinimum", "type": "uint256" }, { "internalType": "address", "name": "recipient", "type": "address" } ], "stateMutability": "payable", "type": "function", "name": "sweepToken" }, { "inputs": [ { "internalType": "uint256", "name": "amountMinimum", "type": "uint256" }, { "internalType": "address", "name": "recipient", "type": "address" } ], "stateMutability": "payable", "type": "function", "name": "unwrapWETH9" } ], "devdoc": { "kind": "dev", "methods": { "refundETH()": { "details": "Useful for bundling with mint or increase liquidity that uses ether, or exact output swaps that use ether for the input amount" }, "sweepToken(address,uint256,address)": { "details": "The amountMinimum parameter prevents malicious contracts from stealing the token from users", "params": { "amountMinimum": "The minimum amount of token required for a transfer", "recipient": "The destination address of the token", "token": "The contract address of the token which will be transferred to `recipient`" } }, "unwrapWETH9(uint256,address)": { "details": "The amountMinimum parameter prevents malicious contracts from stealing WETH9 from users.", "params": { "amountMinimum": "The minimum amount of WETH9 to unwrap", "recipient": "The address receiving ETH" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "refundETH()": { "notice": "Refunds any ETH balance held by this contract to the `msg.sender`" }, "sweepToken(address,uint256,address)": { "notice": "Transfers the full amount of a token held by this contract to recipient" }, "unwrapWETH9(uint256,address)": { "notice": "Unwraps the contract's WETH9 balance and sends it to recipient as ETH." } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "node_modules/@uniswap/v3-periphery/contracts/interfaces/IPeripheryPayments.sol": "IPeripheryPayments" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "node_modules/@uniswap/v3-periphery/contracts/interfaces/IPeripheryPayments.sol": { "keccak256": "0xb547e10f1e69bed03621a62b73a503e260643066c6b4054867a4d1fef47eb274", "urls": [ "bzz-raw://f9a90f58f5fd5fb42f7811f4094113b532f307b14a73764c91f977590747f407", "dweb:/ipfs/QmSeNH2mfiDMKf3Q6V2sqtNxx1s72JNuA1VVxRM9HoMqYp" ], "license": "GPL-2.0-or-later" } }, "version": 1 }, "id": 46 } diff --git a/eth_defi/abi/enzyme/IPolicy.json b/eth_defi/abi/enzyme/IPolicy.json index 50fb1824..15fc36c0 100644 --- a/eth_defi/abi/enzyme/IPolicy.json +++ b/eth_defi/abi/enzyme/IPolicy.json @@ -1,327 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - } - ], - "name": "activateForFund", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_encodedSettings", - "type": "bytes" - } - ], - "name": "addFundSettings", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "canDisable", - "outputs": [ - { - "internalType": "bool", - "name": "canDisable_", - "type": "bool" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "identifier", - "outputs": [ - { - "internalType": "string", - "name": "identifier_", - "type": "string" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "implementedHooks", - "outputs": [ - { - "internalType": "enum IPolicyManager.PolicyHook[]", - "name": "implementedHooks_", - "type": "uint8[]" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_encodedSettings", - "type": "bytes" - } - ], - "name": "updateFundSettings", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "enum IPolicyManager.PolicyHook", - "name": "_hook", - "type": "uint8" - }, - { - "internalType": "bytes", - "name": "_encodedArgs", - "type": "bytes" - } - ], - "name": "validateRule", - "outputs": [ - { - "internalType": "bool", - "name": "isValid_", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "activateForFund(address)": "ceb9a0ad", - "addFundSettings(address,bytes)": "0f5f6b4f", - "canDisable()": "1ef92578", - "identifier()": "7998a1c4", - "implementedHooks()": "cbf54bb2", - "updateFundSettings(address,bytes)": "0d4d7510", - "validateRule(address,uint8,bytes)": "579be718" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"}],\"name\":\"activateForFund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_encodedSettings\",\"type\":\"bytes\"}],\"name\":\"addFundSettings\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"canDisable\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"canDisable_\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"identifier\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"identifier_\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"implementedHooks\",\"outputs\":[{\"internalType\":\"enum IPolicyManager.PolicyHook[]\",\"name\":\"implementedHooks_\",\"type\":\"uint8[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_encodedSettings\",\"type\":\"bytes\"}],\"name\":\"updateFundSettings\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"enum IPolicyManager.PolicyHook\",\"name\":\"_hook\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"_encodedArgs\",\"type\":\"bytes\"}],\"name\":\"validateRule\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isValid_\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"Policy Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/policy-manager/IPolicy.sol\":\"IPolicy\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/policy-manager/IPolicy.sol\":{\"keccak256\":\"0xc12663ca72065b256c3b934ab738fde26c147c7b0399de43650df89dd52ee467\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://be8fecfcba0f3fda615f0a1bb3c766750c23761ef751d7c4472dfe540e460cd1\",\"dweb:/ipfs/QmaarPoRTsX6NiJ8V4u2f3Qh6d7tUs28bw9R14An3t5Bs1\"]},\"contracts/release/extensions/policy-manager/IPolicyManager.sol\":{\"keccak256\":\"0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa\",\"dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "activateForFund" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_encodedSettings", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "addFundSettings" - }, - { - "inputs": [], - "stateMutability": "pure", - "type": "function", - "name": "canDisable", - "outputs": [ - { - "internalType": "bool", - "name": "canDisable_", - "type": "bool" - } - ] - }, - { - "inputs": [], - "stateMutability": "pure", - "type": "function", - "name": "identifier", - "outputs": [ - { - "internalType": "string", - "name": "identifier_", - "type": "string" - } - ] - }, - { - "inputs": [], - "stateMutability": "pure", - "type": "function", - "name": "implementedHooks", - "outputs": [ - { - "internalType": "enum IPolicyManager.PolicyHook[]", - "name": "implementedHooks_", - "type": "uint8[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_encodedSettings", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "updateFundSettings" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "enum IPolicyManager.PolicyHook", - "name": "_hook", - "type": "uint8" - }, - { - "internalType": "bytes", - "name": "_encodedArgs", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "validateRule", - "outputs": [ - { - "internalType": "bool", - "name": "isValid_", - "type": "bool" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/policy-manager/IPolicy.sol": "IPolicy" - }, - "libraries": {} - }, - "sources": { - "contracts/release/extensions/policy-manager/IPolicy.sol": { - "keccak256": "0xc12663ca72065b256c3b934ab738fde26c147c7b0399de43650df89dd52ee467", - "urls": [ - "bzz-raw://be8fecfcba0f3fda615f0a1bb3c766750c23761ef751d7c4472dfe540e460cd1", - "dweb:/ipfs/QmaarPoRTsX6NiJ8V4u2f3Qh6d7tUs28bw9R14An3t5Bs1" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/policy-manager/IPolicyManager.sol": { - "keccak256": "0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32", - "urls": [ - "bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa", - "dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 204 -} +{ "abi": [ { "type": "function", "name": "activateForFund", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "addFundSettings", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" }, { "name": "_encodedSettings", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "canDisable", "inputs": [], "outputs": [ { "name": "canDisable_", "type": "bool", "internalType": "bool" } ], "stateMutability": "pure" }, { "type": "function", "name": "identifier", "inputs": [], "outputs": [ { "name": "identifier_", "type": "string", "internalType": "string" } ], "stateMutability": "pure" }, { "type": "function", "name": "implementedHooks", "inputs": [], "outputs": [ { "name": "implementedHooks_", "type": "uint8[]", "internalType": "enum IPolicyManager.PolicyHook[]" } ], "stateMutability": "pure" }, { "type": "function", "name": "updateFundSettings", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" }, { "name": "_encodedSettings", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "validateRule", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" }, { "name": "_hook", "type": "uint8", "internalType": "enum IPolicyManager.PolicyHook" }, { "name": "_encodedArgs", "type": "bytes", "internalType": "bytes" } ], "outputs": [ { "name": "isValid_", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "activateForFund(address)": "ceb9a0ad", "addFundSettings(address,bytes)": "0f5f6b4f", "canDisable()": "1ef92578", "identifier()": "7998a1c4", "implementedHooks()": "cbf54bb2", "updateFundSettings(address,bytes)": "0d4d7510", "validateRule(address,uint8,bytes)": "579be718" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"}],\"name\":\"activateForFund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_encodedSettings\",\"type\":\"bytes\"}],\"name\":\"addFundSettings\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"canDisable\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"canDisable_\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"identifier\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"identifier_\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"implementedHooks\",\"outputs\":[{\"internalType\":\"enum IPolicyManager.PolicyHook[]\",\"name\":\"implementedHooks_\",\"type\":\"uint8[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_encodedSettings\",\"type\":\"bytes\"}],\"name\":\"updateFundSettings\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"enum IPolicyManager.PolicyHook\",\"name\":\"_hook\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"_encodedArgs\",\"type\":\"bytes\"}],\"name\":\"validateRule\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isValid_\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"Policy Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/policy-manager/IPolicy.sol\":\"IPolicy\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/policy-manager/IPolicy.sol\":{\"keccak256\":\"0xc12663ca72065b256c3b934ab738fde26c147c7b0399de43650df89dd52ee467\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://be8fecfcba0f3fda615f0a1bb3c766750c23761ef751d7c4472dfe540e460cd1\",\"dweb:/ipfs/QmaarPoRTsX6NiJ8V4u2f3Qh6d7tUs28bw9R14An3t5Bs1\"]},\"contracts/release/extensions/policy-manager/IPolicyManager.sol\":{\"keccak256\":\"0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa\",\"dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "activateForFund" }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" }, { "internalType": "bytes", "name": "_encodedSettings", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "addFundSettings" }, { "inputs": [], "stateMutability": "pure", "type": "function", "name": "canDisable", "outputs": [ { "internalType": "bool", "name": "canDisable_", "type": "bool" } ] }, { "inputs": [], "stateMutability": "pure", "type": "function", "name": "identifier", "outputs": [ { "internalType": "string", "name": "identifier_", "type": "string" } ] }, { "inputs": [], "stateMutability": "pure", "type": "function", "name": "implementedHooks", "outputs": [ { "internalType": "enum IPolicyManager.PolicyHook[]", "name": "implementedHooks_", "type": "uint8[]" } ] }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" }, { "internalType": "bytes", "name": "_encodedSettings", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "updateFundSettings" }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" }, { "internalType": "enum IPolicyManager.PolicyHook", "name": "_hook", "type": "uint8" }, { "internalType": "bytes", "name": "_encodedArgs", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "validateRule", "outputs": [ { "internalType": "bool", "name": "isValid_", "type": "bool" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/policy-manager/IPolicy.sol": "IPolicy" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/extensions/policy-manager/IPolicy.sol": { "keccak256": "0xc12663ca72065b256c3b934ab738fde26c147c7b0399de43650df89dd52ee467", "urls": [ "bzz-raw://be8fecfcba0f3fda615f0a1bb3c766750c23761ef751d7c4472dfe540e460cd1", "dweb:/ipfs/QmaarPoRTsX6NiJ8V4u2f3Qh6d7tUs28bw9R14An3t5Bs1" ], "license": "GPL-3.0" }, "contracts/release/extensions/policy-manager/IPolicyManager.sol": { "keccak256": "0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32", "urls": [ "bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa", "dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 204 } diff --git a/eth_defi/abi/enzyme/IPolicyManager.json b/eth_defi/abi/enzyme/IPolicyManager.json index 95f02c08..75a0db1b 100644 --- a/eth_defi/abi/enzyme/IPolicyManager.json +++ b/eth_defi/abi/enzyme/IPolicyManager.json @@ -1,127 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "enum IPolicyManager.PolicyHook", - "name": "", - "type": "uint8" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "validatePolicies", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "validatePolicies(address,uint8,bytes)": "0442bad5" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"enum IPolicyManager.PolicyHook\",\"name\":\"\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"validatePolicies\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"PolicyManager Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Interface for the PolicyManager\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/policy-manager/IPolicyManager.sol\":\"IPolicyManager\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/policy-manager/IPolicyManager.sol\":{\"keccak256\":\"0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa\",\"dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "enum IPolicyManager.PolicyHook", - "name": "", - "type": "uint8" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "validatePolicies" - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/policy-manager/IPolicyManager.sol": "IPolicyManager" - }, - "libraries": {} - }, - "sources": { - "contracts/release/extensions/policy-manager/IPolicyManager.sol": { - "keccak256": "0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32", - "urls": [ - "bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa", - "dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 205 -} +{ "abi": [ { "type": "function", "name": "validatePolicies", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "uint8", "internalType": "enum IPolicyManager.PolicyHook" }, { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "validatePolicies(address,uint8,bytes)": "0442bad5" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"enum IPolicyManager.PolicyHook\",\"name\":\"\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"validatePolicies\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"PolicyManager Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Interface for the PolicyManager\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/policy-manager/IPolicyManager.sol\":\"IPolicyManager\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/policy-manager/IPolicyManager.sol\":{\"keccak256\":\"0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa\",\"dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "enum IPolicyManager.PolicyHook", "name": "", "type": "uint8" }, { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "validatePolicies" } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/policy-manager/IPolicyManager.sol": "IPolicyManager" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/extensions/policy-manager/IPolicyManager.sol": { "keccak256": "0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32", "urls": [ "bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa", "dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 205 } diff --git a/eth_defi/abi/enzyme/IPoolInitializer.json b/eth_defi/abi/enzyme/IPoolInitializer.json index c351bb7b..62afa24b 100644 --- a/eth_defi/abi/enzyme/IPoolInitializer.json +++ b/eth_defi/abi/enzyme/IPoolInitializer.json @@ -1,167 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "token0", - "type": "address" - }, - { - "internalType": "address", - "name": "token1", - "type": "address" - }, - { - "internalType": "uint24", - "name": "fee", - "type": "uint24" - }, - { - "internalType": "uint160", - "name": "sqrtPriceX96", - "type": "uint160" - } - ], - "name": "createAndInitializePoolIfNecessary", - "outputs": [ - { - "internalType": "address", - "name": "pool", - "type": "address" - } - ], - "stateMutability": "payable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "createAndInitializePoolIfNecessary(address,address,uint24,uint160)": "13ead562" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.7.6+commit.7338295f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token0\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token1\",\"type\":\"address\"},{\"internalType\":\"uint24\",\"name\":\"fee\",\"type\":\"uint24\"},{\"internalType\":\"uint160\",\"name\":\"sqrtPriceX96\",\"type\":\"uint160\"}],\"name\":\"createAndInitializePoolIfNecessary\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"pool\",\"type\":\"address\"}],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"createAndInitializePoolIfNecessary(address,address,uint24,uint160)\":{\"details\":\"This method can be bundled with others via IMulticall for the first action (e.g. mint) performed against a pool\",\"params\":{\"fee\":\"The fee amount of the v3 pool for the specified token pair\",\"sqrtPriceX96\":\"The initial square root price of the pool as a Q64.96 value\",\"token0\":\"The contract address of token0 of the pool\",\"token1\":\"The contract address of token1 of the pool\"},\"returns\":{\"pool\":\"Returns the pool address based on the pair of tokens and fee, will return the newly created pool address if necessary\"}}},\"title\":\"Creates and initializes V3 Pools\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"createAndInitializePoolIfNecessary(address,address,uint24,uint160)\":{\"notice\":\"Creates a new pool if it does not exist, then initializes if not initialized\"}},\"notice\":\"Provides a method for creating and initializing a pool, if necessary, for bundling with other methods that require the pool to exist.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@uniswap/v3-periphery/contracts/interfaces/IPoolInitializer.sol\":\"IPoolInitializer\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"node_modules/@uniswap/v3-periphery/contracts/interfaces/IPoolInitializer.sol\":{\"keccak256\":\"0x9d7695e8d94c22cc5fcced602017aabb988de89981ea7bee29ea629d5328a862\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://61b50933026ee1017db2a6273af8cedc3238c95dca58880db0918dbdbb2f064f\",\"dweb:/ipfs/QmUebR26pqG25d18aBELKz8aFFKkmHa8PxntzXTA7o9Ldu\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.7.6+commit.7338295f" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "token0", - "type": "address" - }, - { - "internalType": "address", - "name": "token1", - "type": "address" - }, - { - "internalType": "uint24", - "name": "fee", - "type": "uint24" - }, - { - "internalType": "uint160", - "name": "sqrtPriceX96", - "type": "uint160" - } - ], - "stateMutability": "payable", - "type": "function", - "name": "createAndInitializePoolIfNecessary", - "outputs": [ - { - "internalType": "address", - "name": "pool", - "type": "address" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "createAndInitializePoolIfNecessary(address,address,uint24,uint160)": { - "details": "This method can be bundled with others via IMulticall for the first action (e.g. mint) performed against a pool", - "params": { - "fee": "The fee amount of the v3 pool for the specified token pair", - "sqrtPriceX96": "The initial square root price of the pool as a Q64.96 value", - "token0": "The contract address of token0 of the pool", - "token1": "The contract address of token1 of the pool" - }, - "returns": { - "pool": "Returns the pool address based on the pair of tokens and fee, will return the newly created pool address if necessary" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "createAndInitializePoolIfNecessary(address,address,uint24,uint160)": { - "notice": "Creates a new pool if it does not exist, then initializes if not initialized" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "node_modules/@uniswap/v3-periphery/contracts/interfaces/IPoolInitializer.sol": "IPoolInitializer" - }, - "libraries": {} - }, - "sources": { - "node_modules/@uniswap/v3-periphery/contracts/interfaces/IPoolInitializer.sol": { - "keccak256": "0x9d7695e8d94c22cc5fcced602017aabb988de89981ea7bee29ea629d5328a862", - "urls": [ - "bzz-raw://61b50933026ee1017db2a6273af8cedc3238c95dca58880db0918dbdbb2f064f", - "dweb:/ipfs/QmUebR26pqG25d18aBELKz8aFFKkmHa8PxntzXTA7o9Ldu" - ], - "license": "GPL-2.0-or-later" - } - }, - "version": 1 - }, - "id": 47 -} +{ "abi": [ { "type": "function", "name": "createAndInitializePoolIfNecessary", "inputs": [ { "name": "token0", "type": "address", "internalType": "address" }, { "name": "token1", "type": "address", "internalType": "address" }, { "name": "fee", "type": "uint24", "internalType": "uint24" }, { "name": "sqrtPriceX96", "type": "uint160", "internalType": "uint160" } ], "outputs": [ { "name": "pool", "type": "address", "internalType": "address" } ], "stateMutability": "payable" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "createAndInitializePoolIfNecessary(address,address,uint24,uint160)": "13ead562" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.7.6+commit.7338295f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token0\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token1\",\"type\":\"address\"},{\"internalType\":\"uint24\",\"name\":\"fee\",\"type\":\"uint24\"},{\"internalType\":\"uint160\",\"name\":\"sqrtPriceX96\",\"type\":\"uint160\"}],\"name\":\"createAndInitializePoolIfNecessary\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"pool\",\"type\":\"address\"}],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"createAndInitializePoolIfNecessary(address,address,uint24,uint160)\":{\"details\":\"This method can be bundled with others via IMulticall for the first action (e.g. mint) performed against a pool\",\"params\":{\"fee\":\"The fee amount of the v3 pool for the specified token pair\",\"sqrtPriceX96\":\"The initial square root price of the pool as a Q64.96 value\",\"token0\":\"The contract address of token0 of the pool\",\"token1\":\"The contract address of token1 of the pool\"},\"returns\":{\"pool\":\"Returns the pool address based on the pair of tokens and fee, will return the newly created pool address if necessary\"}}},\"title\":\"Creates and initializes V3 Pools\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"createAndInitializePoolIfNecessary(address,address,uint24,uint160)\":{\"notice\":\"Creates a new pool if it does not exist, then initializes if not initialized\"}},\"notice\":\"Provides a method for creating and initializing a pool, if necessary, for bundling with other methods that require the pool to exist.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@uniswap/v3-periphery/contracts/interfaces/IPoolInitializer.sol\":\"IPoolInitializer\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"node_modules/@uniswap/v3-periphery/contracts/interfaces/IPoolInitializer.sol\":{\"keccak256\":\"0x9d7695e8d94c22cc5fcced602017aabb988de89981ea7bee29ea629d5328a862\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://61b50933026ee1017db2a6273af8cedc3238c95dca58880db0918dbdbb2f064f\",\"dweb:/ipfs/QmUebR26pqG25d18aBELKz8aFFKkmHa8PxntzXTA7o9Ldu\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.7.6+commit.7338295f" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "token0", "type": "address" }, { "internalType": "address", "name": "token1", "type": "address" }, { "internalType": "uint24", "name": "fee", "type": "uint24" }, { "internalType": "uint160", "name": "sqrtPriceX96", "type": "uint160" } ], "stateMutability": "payable", "type": "function", "name": "createAndInitializePoolIfNecessary", "outputs": [ { "internalType": "address", "name": "pool", "type": "address" } ] } ], "devdoc": { "kind": "dev", "methods": { "createAndInitializePoolIfNecessary(address,address,uint24,uint160)": { "details": "This method can be bundled with others via IMulticall for the first action (e.g. mint) performed against a pool", "params": { "fee": "The fee amount of the v3 pool for the specified token pair", "sqrtPriceX96": "The initial square root price of the pool as a Q64.96 value", "token0": "The contract address of token0 of the pool", "token1": "The contract address of token1 of the pool" }, "returns": { "pool": "Returns the pool address based on the pair of tokens and fee, will return the newly created pool address if necessary" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "createAndInitializePoolIfNecessary(address,address,uint24,uint160)": { "notice": "Creates a new pool if it does not exist, then initializes if not initialized" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "node_modules/@uniswap/v3-periphery/contracts/interfaces/IPoolInitializer.sol": "IPoolInitializer" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "node_modules/@uniswap/v3-periphery/contracts/interfaces/IPoolInitializer.sol": { "keccak256": "0x9d7695e8d94c22cc5fcced602017aabb988de89981ea7bee29ea629d5328a862", "urls": [ "bzz-raw://61b50933026ee1017db2a6273af8cedc3238c95dca58880db0918dbdbb2f064f", "dweb:/ipfs/QmUebR26pqG25d18aBELKz8aFFKkmHa8PxntzXTA7o9Ldu" ], "license": "GPL-2.0-or-later" } }, "version": 1 }, "id": 47 } diff --git a/eth_defi/abi/enzyme/IPoolTogetherV4PrizeDistributor.json b/eth_defi/abi/enzyme/IPoolTogetherV4PrizeDistributor.json index aea7fee8..926c459e 100644 --- a/eth_defi/abi/enzyme/IPoolTogetherV4PrizeDistributor.json +++ b/eth_defi/abi/enzyme/IPoolTogetherV4PrizeDistributor.json @@ -1,140 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint32[]", - "name": "", - "type": "uint32[]" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "claim", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "claim(address,uint32[],bytes)": "bb7d4e2d" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint32[]\",\"name\":\"\",\"type\":\"uint32[]\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"claim\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IPoolTogetherV4PrizeDistributor interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/IPoolTogetherV4PrizeDistributor.sol\":\"IPoolTogetherV4PrizeDistributor\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/IPoolTogetherV4PrizeDistributor.sol\":{\"keccak256\":\"0xbca9ae1b85ec6bb42ddd53e6bc12218f1faa6c0f70de74919f338c36e0fa03f3\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://4023b26e3de5a4093af97661012a989c9d77352613894e27c8b9c8e6956d4d90\",\"dweb:/ipfs/QmZx2PnDzo2uUyzdoPNiqGjhY8mfQaU6cmeAQuny22rHBe\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint32[]", - "name": "", - "type": "uint32[]" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "claim", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/interfaces/IPoolTogetherV4PrizeDistributor.sol": "IPoolTogetherV4PrizeDistributor" - }, - "libraries": {} - }, - "sources": { - "contracts/release/interfaces/IPoolTogetherV4PrizeDistributor.sol": { - "keccak256": "0xbca9ae1b85ec6bb42ddd53e6bc12218f1faa6c0f70de74919f338c36e0fa03f3", - "urls": [ - "bzz-raw://4023b26e3de5a4093af97661012a989c9d77352613894e27c8b9c8e6956d4d90", - "dweb:/ipfs/QmZx2PnDzo2uUyzdoPNiqGjhY8mfQaU6cmeAQuny22rHBe" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 323 -} +{ "abi": [ { "type": "function", "name": "claim", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "uint32[]", "internalType": "uint32[]" }, { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "claim(address,uint32[],bytes)": "bb7d4e2d" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint32[]\",\"name\":\"\",\"type\":\"uint32[]\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"claim\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IPoolTogetherV4PrizeDistributor interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/IPoolTogetherV4PrizeDistributor.sol\":\"IPoolTogetherV4PrizeDistributor\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/IPoolTogetherV4PrizeDistributor.sol\":{\"keccak256\":\"0xbca9ae1b85ec6bb42ddd53e6bc12218f1faa6c0f70de74919f338c36e0fa03f3\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://4023b26e3de5a4093af97661012a989c9d77352613894e27c8b9c8e6956d4d90\",\"dweb:/ipfs/QmZx2PnDzo2uUyzdoPNiqGjhY8mfQaU6cmeAQuny22rHBe\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "uint32[]", "name": "", "type": "uint32[]" }, { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "claim", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/interfaces/IPoolTogetherV4PrizeDistributor.sol": "IPoolTogetherV4PrizeDistributor" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/interfaces/IPoolTogetherV4PrizeDistributor.sol": { "keccak256": "0xbca9ae1b85ec6bb42ddd53e6bc12218f1faa6c0f70de74919f338c36e0fa03f3", "urls": [ "bzz-raw://4023b26e3de5a4093af97661012a989c9d77352613894e27c8b9c8e6956d4d90", "dweb:/ipfs/QmZx2PnDzo2uUyzdoPNiqGjhY8mfQaU6cmeAQuny22rHBe" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 323 } diff --git a/eth_defi/abi/enzyme/IPoolTogetherV4PrizePool.json b/eth_defi/abi/enzyme/IPoolTogetherV4PrizePool.json index 3ebc73b2..9408fa8e 100644 --- a/eth_defi/abi/enzyme/IPoolTogetherV4PrizePool.json +++ b/eth_defi/abi/enzyme/IPoolTogetherV4PrizePool.json @@ -1,203 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "depositToAndDelegate", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getToken", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "withdrawFrom", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "depositToAndDelegate(address,uint256,address)": "d7a169eb", - "getToken()": "21df0da7", - "withdrawFrom(address,uint256)": "9470b0bd" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"depositToAndDelegate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"withdrawFrom\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IPoolTogetherV4PrizePool interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/IPoolTogetherV4PrizePool.sol\":\"IPoolTogetherV4PrizePool\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/IPoolTogetherV4PrizePool.sol\":{\"keccak256\":\"0xe00442f12e15284f31ad74eaed7935e66148ecb9fae0892b4b576a2240f97907\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c549969061895dd877d83911270d297426da351dd012d7f8dd1e2c779826b262\",\"dweb:/ipfs/QmSvHZQxLkxaQxowkTW5dVYXFLvntQkDt8FPX4JRGGpbPb\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "depositToAndDelegate" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getToken", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "withdrawFrom", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/interfaces/IPoolTogetherV4PrizePool.sol": "IPoolTogetherV4PrizePool" - }, - "libraries": {} - }, - "sources": { - "contracts/release/interfaces/IPoolTogetherV4PrizePool.sol": { - "keccak256": "0xe00442f12e15284f31ad74eaed7935e66148ecb9fae0892b4b576a2240f97907", - "urls": [ - "bzz-raw://c549969061895dd877d83911270d297426da351dd012d7f8dd1e2c779826b262", - "dweb:/ipfs/QmSvHZQxLkxaQxowkTW5dVYXFLvntQkDt8FPX4JRGGpbPb" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 324 -} +{ "abi": [ { "type": "function", "name": "depositToAndDelegate", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "getToken", "inputs": [], "outputs": [ { "name": "", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "withdrawFrom", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "depositToAndDelegate(address,uint256,address)": "d7a169eb", "getToken()": "21df0da7", "withdrawFrom(address,uint256)": "9470b0bd" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"depositToAndDelegate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"withdrawFrom\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IPoolTogetherV4PrizePool interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/IPoolTogetherV4PrizePool.sol\":\"IPoolTogetherV4PrizePool\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/IPoolTogetherV4PrizePool.sol\":{\"keccak256\":\"0xe00442f12e15284f31ad74eaed7935e66148ecb9fae0892b4b576a2240f97907\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c549969061895dd877d83911270d297426da351dd012d7f8dd1e2c779826b262\",\"dweb:/ipfs/QmSvHZQxLkxaQxowkTW5dVYXFLvntQkDt8FPX4JRGGpbPb\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "depositToAndDelegate" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getToken", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "withdrawFrom", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/interfaces/IPoolTogetherV4PrizePool.sol": "IPoolTogetherV4PrizePool" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/interfaces/IPoolTogetherV4PrizePool.sol": { "keccak256": "0xe00442f12e15284f31ad74eaed7935e66148ecb9fae0892b4b576a2240f97907", "urls": [ "bzz-raw://c549969061895dd877d83911270d297426da351dd012d7f8dd1e2c779826b262", "dweb:/ipfs/QmSvHZQxLkxaQxowkTW5dVYXFLvntQkDt8FPX4JRGGpbPb" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 324 } diff --git a/eth_defi/abi/enzyme/IPoolTogetherV4Ticket.json b/eth_defi/abi/enzyme/IPoolTogetherV4Ticket.json index 33984771..773ac262 100644 --- a/eth_defi/abi/enzyme/IPoolTogetherV4Ticket.json +++ b/eth_defi/abi/enzyme/IPoolTogetherV4Ticket.json @@ -1,507 +1 @@ -{ - "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": "controller", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "allowance(address,address)": "dd62ed3e", - "approve(address,uint256)": "095ea7b3", - "balanceOf(address)": "70a08231", - "controller()": "f77c4791", - "totalSupply()": "18160ddd", - "transfer(address,uint256)": "a9059cbb", - "transferFrom(address,address,uint256)": "23b872dd" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"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\":\"controller\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"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 `recipient`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Moves `amount` tokens from `sender` to `recipient` 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.\"}},\"title\":\"IPoolTogetherV4Ticket Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Minimal interface for interactions with PoolTogether tokens (ptTokens)\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/IPoolTogetherV4Ticket.sol\":\"IPoolTogetherV4Ticket\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/IPoolTogetherV4Ticket.sol\":{\"keccak256\":\"0xbd8df71f62357588fbcbd9181ea8be6dbace2d6776f7f5c8ef7a5aa64e0b9507\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c4979f047cf931662c24c78eaaa2ca0303bf8e375c4e195b8a4e94c2e1e106ef\",\"dweb:/ipfs/QmYkYYyqQfPSNYGDqedFJt9zyLpBtmCB58yepJ5b1RxDf7\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "spender", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "Approval", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "to", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "Transfer", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "controller", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - } - ], - "devdoc": { - "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 `recipient`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event." - }, - "transferFrom(address,address,uint256)": { - "details": "Moves `amount` tokens from `sender` to `recipient` 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": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/interfaces/IPoolTogetherV4Ticket.sol": "IPoolTogetherV4Ticket" - }, - "libraries": {} - }, - "sources": { - "contracts/release/interfaces/IPoolTogetherV4Ticket.sol": { - "keccak256": "0xbd8df71f62357588fbcbd9181ea8be6dbace2d6776f7f5c8ef7a5aa64e0b9507", - "urls": [ - "bzz-raw://c4979f047cf931662c24c78eaaa2ca0303bf8e375c4e195b8a4e94c2e1e106ef", - "dweb:/ipfs/QmYkYYyqQfPSNYGDqedFJt9zyLpBtmCB58yepJ5b1RxDf7" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 325 -} +{ "abi": [ { "type": "function", "name": "allowance", "inputs": [ { "name": "owner", "type": "address", "internalType": "address" }, { "name": "spender", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "approve", "inputs": [ { "name": "spender", "type": "address", "internalType": "address" }, { "name": "amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "balanceOf", "inputs": [ { "name": "account", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "controller", "inputs": [], "outputs": [ { "name": "", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "totalSupply", "inputs": [], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "transfer", "inputs": [ { "name": "recipient", "type": "address", "internalType": "address" }, { "name": "amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "transferFrom", "inputs": [ { "name": "sender", "type": "address", "internalType": "address" }, { "name": "recipient", "type": "address", "internalType": "address" }, { "name": "amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "event", "name": "Approval", "inputs": [ { "name": "owner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "spender", "type": "address", "indexed": true, "internalType": "address" }, { "name": "value", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "Transfer", "inputs": [ { "name": "from", "type": "address", "indexed": true, "internalType": "address" }, { "name": "to", "type": "address", "indexed": true, "internalType": "address" }, { "name": "value", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "allowance(address,address)": "dd62ed3e", "approve(address,uint256)": "095ea7b3", "balanceOf(address)": "70a08231", "controller()": "f77c4791", "totalSupply()": "18160ddd", "transfer(address,uint256)": "a9059cbb", "transferFrom(address,address,uint256)": "23b872dd" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"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\":\"controller\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"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 `recipient`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Moves `amount` tokens from `sender` to `recipient` 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.\"}},\"title\":\"IPoolTogetherV4Ticket Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Minimal interface for interactions with PoolTogether tokens (ptTokens)\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/IPoolTogetherV4Ticket.sol\":\"IPoolTogetherV4Ticket\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/IPoolTogetherV4Ticket.sol\":{\"keccak256\":\"0xbd8df71f62357588fbcbd9181ea8be6dbace2d6776f7f5c8ef7a5aa64e0b9507\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c4979f047cf931662c24c78eaaa2ca0303bf8e375c4e195b8a4e94c2e1e106ef\",\"dweb:/ipfs/QmYkYYyqQfPSNYGDqedFJt9zyLpBtmCB58yepJ5b1RxDf7\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "owner", "type": "address", "indexed": true }, { "internalType": "address", "name": "spender", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "value", "type": "uint256", "indexed": false } ], "type": "event", "name": "Approval", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address", "indexed": true }, { "internalType": "address", "name": "to", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "value", "type": "uint256", "indexed": false } ], "type": "event", "name": "Transfer", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "controller", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] } ], "devdoc": { "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 `recipient`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event." }, "transferFrom(address,address,uint256)": { "details": "Moves `amount` tokens from `sender` to `recipient` 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": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/interfaces/IPoolTogetherV4Ticket.sol": "IPoolTogetherV4Ticket" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/interfaces/IPoolTogetherV4Ticket.sol": { "keccak256": "0xbd8df71f62357588fbcbd9181ea8be6dbace2d6776f7f5c8ef7a5aa64e0b9507", "urls": [ "bzz-raw://c4979f047cf931662c24c78eaaa2ca0303bf8e375c4e195b8a4e94c2e1e106ef", "dweb:/ipfs/QmYkYYyqQfPSNYGDqedFJt9zyLpBtmCB58yepJ5b1RxDf7" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" } }, "version": 1 }, "id": 325 } diff --git a/eth_defi/abi/enzyme/IProtocolFeeReserve1.json b/eth_defi/abi/enzyme/IProtocolFeeReserve1.json index 8720a9f4..cfdd04f7 100644 --- a/eth_defi/abi/enzyme/IProtocolFeeReserve1.json +++ b/eth_defi/abi/enzyme/IProtocolFeeReserve1.json @@ -1,140 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "uint256", - "name": "_sharesAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_mlnValue", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_gav", - "type": "uint256" - } - ], - "name": "buyBackSharesViaTrustedVaultProxy", - "outputs": [ - { - "internalType": "uint256", - "name": "mlnAmountToBurn_", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "buyBackSharesViaTrustedVaultProxy(uint256,uint256,uint256)": "96c45aec" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_sharesAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_mlnValue\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_gav\",\"type\":\"uint256\"}],\"name\":\"buyBackSharesViaTrustedVaultProxy\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"mlnAmountToBurn_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"Each interface should inherit the previous interface, e.g., `IProtocolFeeReserve2 is IProtocolFeeReserve1`\",\"kind\":\"dev\",\"methods\":{},\"title\":\"IProtocolFeeReserve1 Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/protocol-fee-reserve/interfaces/IProtocolFeeReserve1.sol\":\"IProtocolFeeReserve1\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/protocol-fee-reserve/interfaces/IProtocolFeeReserve1.sol\":{\"keccak256\":\"0x2728878c423db523bc95189137e8c58d2d7db9f56bbd5c6b1f988c08b551fbab\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3b0df1d2eb74151265d03ab91a7c341f7beca475dd2f4d669052dbc4ee2c06ac\",\"dweb:/ipfs/QmVx1cgrxQNYfdK1Kn15pcgqf79Uw8bF3U6i7F2HG2rj6G\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "uint256", - "name": "_sharesAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_mlnValue", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_gav", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "buyBackSharesViaTrustedVaultProxy", - "outputs": [ - { - "internalType": "uint256", - "name": "mlnAmountToBurn_", - "type": "uint256" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/persistent/protocol-fee-reserve/interfaces/IProtocolFeeReserve1.sol": "IProtocolFeeReserve1" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/protocol-fee-reserve/interfaces/IProtocolFeeReserve1.sol": { - "keccak256": "0x2728878c423db523bc95189137e8c58d2d7db9f56bbd5c6b1f988c08b551fbab", - "urls": [ - "bzz-raw://3b0df1d2eb74151265d03ab91a7c341f7beca475dd2f4d669052dbc4ee2c06ac", - "dweb:/ipfs/QmVx1cgrxQNYfdK1Kn15pcgqf79Uw8bF3U6i7F2HG2rj6G" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 55 -} +{ "abi": [ { "type": "function", "name": "buyBackSharesViaTrustedVaultProxy", "inputs": [ { "name": "_sharesAmount", "type": "uint256", "internalType": "uint256" }, { "name": "_mlnValue", "type": "uint256", "internalType": "uint256" }, { "name": "_gav", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "mlnAmountToBurn_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "buyBackSharesViaTrustedVaultProxy(uint256,uint256,uint256)": "96c45aec" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_sharesAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_mlnValue\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_gav\",\"type\":\"uint256\"}],\"name\":\"buyBackSharesViaTrustedVaultProxy\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"mlnAmountToBurn_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"Each interface should inherit the previous interface, e.g., `IProtocolFeeReserve2 is IProtocolFeeReserve1`\",\"kind\":\"dev\",\"methods\":{},\"title\":\"IProtocolFeeReserve1 Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/protocol-fee-reserve/interfaces/IProtocolFeeReserve1.sol\":\"IProtocolFeeReserve1\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/protocol-fee-reserve/interfaces/IProtocolFeeReserve1.sol\":{\"keccak256\":\"0x2728878c423db523bc95189137e8c58d2d7db9f56bbd5c6b1f988c08b551fbab\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3b0df1d2eb74151265d03ab91a7c341f7beca475dd2f4d669052dbc4ee2c06ac\",\"dweb:/ipfs/QmVx1cgrxQNYfdK1Kn15pcgqf79Uw8bF3U6i7F2HG2rj6G\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "uint256", "name": "_sharesAmount", "type": "uint256" }, { "internalType": "uint256", "name": "_mlnValue", "type": "uint256" }, { "internalType": "uint256", "name": "_gav", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "buyBackSharesViaTrustedVaultProxy", "outputs": [ { "internalType": "uint256", "name": "mlnAmountToBurn_", "type": "uint256" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/persistent/protocol-fee-reserve/interfaces/IProtocolFeeReserve1.sol": "IProtocolFeeReserve1" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/protocol-fee-reserve/interfaces/IProtocolFeeReserve1.sol": { "keccak256": "0x2728878c423db523bc95189137e8c58d2d7db9f56bbd5c6b1f988c08b551fbab", "urls": [ "bzz-raw://3b0df1d2eb74151265d03ab91a7c341f7beca475dd2f4d669052dbc4ee2c06ac", "dweb:/ipfs/QmVx1cgrxQNYfdK1Kn15pcgqf79Uw8bF3U6i7F2HG2rj6G" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 55 } diff --git a/eth_defi/abi/enzyme/IProtocolFeeTracker.json b/eth_defi/abi/enzyme/IProtocolFeeTracker.json index 444d041c..30c94580 100644 --- a/eth_defi/abi/enzyme/IProtocolFeeTracker.json +++ b/eth_defi/abi/enzyme/IProtocolFeeTracker.json @@ -1,134 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "initializeForVault", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "payFee", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "initializeForVault(address)": "0a48e041", - "payFee()": "29610252" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"initializeForVault\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"payFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IProtocolFeeTracker Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/infrastructure/protocol-fees/IProtocolFeeTracker.sol\":\"IProtocolFeeTracker\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/infrastructure/protocol-fees/IProtocolFeeTracker.sol\":{\"keccak256\":\"0x232b347f83457439064add7369bfe1930c7cb56f15930bb87d640e909c15e447\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://24f9af5eebdd373b1d7a598c096eb6def31b2640d54416d7d5a7226e1cef17e6\",\"dweb:/ipfs/QmStq9ByGuSYdKwTmZf52L1X6sZVJUfXTnoVbnjLLiUcHG\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "initializeForVault" - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "payFee", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/infrastructure/protocol-fees/IProtocolFeeTracker.sol": "IProtocolFeeTracker" - }, - "libraries": {} - }, - "sources": { - "contracts/release/infrastructure/protocol-fees/IProtocolFeeTracker.sol": { - "keccak256": "0x232b347f83457439064add7369bfe1930c7cb56f15930bb87d640e909c15e447", - "urls": [ - "bzz-raw://24f9af5eebdd373b1d7a598c096eb6def31b2640d54416d7d5a7226e1cef17e6", - "dweb:/ipfs/QmStq9ByGuSYdKwTmZf52L1X6sZVJUfXTnoVbnjLLiUcHG" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 256 -} +{ "abi": [ { "type": "function", "name": "initializeForVault", "inputs": [ { "name": "", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "payFee", "inputs": [], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "initializeForVault(address)": "0a48e041", "payFee()": "29610252" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"initializeForVault\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"payFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IProtocolFeeTracker Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/infrastructure/protocol-fees/IProtocolFeeTracker.sol\":\"IProtocolFeeTracker\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/infrastructure/protocol-fees/IProtocolFeeTracker.sol\":{\"keccak256\":\"0x232b347f83457439064add7369bfe1930c7cb56f15930bb87d640e909c15e447\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://24f9af5eebdd373b1d7a598c096eb6def31b2640d54416d7d5a7226e1cef17e6\",\"dweb:/ipfs/QmStq9ByGuSYdKwTmZf52L1X6sZVJUfXTnoVbnjLLiUcHG\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "initializeForVault" }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "payFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/infrastructure/protocol-fees/IProtocolFeeTracker.sol": "IProtocolFeeTracker" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/infrastructure/protocol-fees/IProtocolFeeTracker.sol": { "keccak256": "0x232b347f83457439064add7369bfe1930c7cb56f15930bb87d640e909c15e447", "urls": [ "bzz-raw://24f9af5eebdd373b1d7a598c096eb6def31b2640d54416d7d5a7226e1cef17e6", "dweb:/ipfs/QmStq9ByGuSYdKwTmZf52L1X6sZVJUfXTnoVbnjLLiUcHG" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 256 } diff --git a/eth_defi/abi/enzyme/ISnapshotDelegateRegistry.json b/eth_defi/abi/enzyme/ISnapshotDelegateRegistry.json index 58459ad4..6281123d 100644 --- a/eth_defi/abi/enzyme/ISnapshotDelegateRegistry.json +++ b/eth_defi/abi/enzyme/ISnapshotDelegateRegistry.json @@ -1,117 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "setDelegate", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "setDelegate(bytes32,address)": "bd86e508" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"setDelegate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ISnapshotDelegateRegistry Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/ISnapshotDelegateRegistry.sol\":\"ISnapshotDelegateRegistry\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/ISnapshotDelegateRegistry.sol\":{\"keccak256\":\"0x87b6323060ce9067affc51a627f9df5bfa280098c8d76f3c7f70b132d27eea2d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b111d9a4af882030499b49cc7b8fbf6fda777309392991a210bb4117f7096014\",\"dweb:/ipfs/QmR2d3eyPf6WpH1AxX6cSTYjWuEf547ydBb6KXc3XcYeNm\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setDelegate" - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/interfaces/ISnapshotDelegateRegistry.sol": "ISnapshotDelegateRegistry" - }, - "libraries": {} - }, - "sources": { - "contracts/release/interfaces/ISnapshotDelegateRegistry.sol": { - "keccak256": "0x87b6323060ce9067affc51a627f9df5bfa280098c8d76f3c7f70b132d27eea2d", - "urls": [ - "bzz-raw://b111d9a4af882030499b49cc7b8fbf6fda777309392991a210bb4117f7096014", - "dweb:/ipfs/QmR2d3eyPf6WpH1AxX6cSTYjWuEf547ydBb6KXc3XcYeNm" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 326 -} +{ "abi": [ { "type": "function", "name": "setDelegate", "inputs": [ { "name": "", "type": "bytes32", "internalType": "bytes32" }, { "name": "", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "setDelegate(bytes32,address)": "bd86e508" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"setDelegate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ISnapshotDelegateRegistry Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/ISnapshotDelegateRegistry.sol\":\"ISnapshotDelegateRegistry\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/ISnapshotDelegateRegistry.sol\":{\"keccak256\":\"0x87b6323060ce9067affc51a627f9df5bfa280098c8d76f3c7f70b132d27eea2d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b111d9a4af882030499b49cc7b8fbf6fda777309392991a210bb4117f7096014\",\"dweb:/ipfs/QmR2d3eyPf6WpH1AxX6cSTYjWuEf547ydBb6KXc3XcYeNm\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" }, { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "setDelegate" } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/interfaces/ISnapshotDelegateRegistry.sol": "ISnapshotDelegateRegistry" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/interfaces/ISnapshotDelegateRegistry.sol": { "keccak256": "0x87b6323060ce9067affc51a627f9df5bfa280098c8d76f3c7f70b132d27eea2d", "urls": [ "bzz-raw://b111d9a4af882030499b49cc7b8fbf6fda777309392991a210bb4117f7096014", "dweb:/ipfs/QmR2d3eyPf6WpH1AxX6cSTYjWuEf547ydBb6KXc3XcYeNm" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 326 } diff --git a/eth_defi/abi/enzyme/ISolvV2BondBuyerPosition.json b/eth_defi/abi/enzyme/ISolvV2BondBuyerPosition.json index 2c27971b..7dac1bd3 100644 --- a/eth_defi/abi/enzyme/ISolvV2BondBuyerPosition.json +++ b/eth_defi/abi/enzyme/ISolvV2BondBuyerPosition.json @@ -1,215 +1 @@ -{ - "abi": [ - { - "inputs": [], - "name": "getDebtAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getManagedAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "init", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "receiveCallFromVault", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "getDebtAssets()": "ecd658b4", - "getManagedAssets()": "80daddb8", - "init(bytes)": "4ddf47d4", - "receiveCallFromVault(bytes)": "e5c23a97" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"getDebtAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getManagedAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"receiveCallFromVault\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ISolvV2BondBuyerPosition Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/solv-v2-bond-buyer/ISolvV2BondBuyerPosition.sol\":\"ISolvV2BondBuyerPosition\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/release/extensions/external-position-manager/external-positions/solv-v2-bond-buyer/ISolvV2BondBuyerPosition.sol\":{\"keccak256\":\"0xf1cae957d4373d3e3546b61e208e4171820cc653030c68af469073132c141ea9\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d9e7df5e4efcaa1b3873d64bdea24b21d14652293b58ea2fd15633780e1e0716\",\"dweb:/ipfs/QmdBhmfCEnvGVLYvXXe17j7iHpM53rGu2fmoUZQCEeGEAX\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "getDebtAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ] - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "getManagedAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "init" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "receiveCallFromVault" - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/external-position-manager/external-positions/solv-v2-bond-buyer/ISolvV2BondBuyerPosition.sol": "ISolvV2BondBuyerPosition" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/external-positions/IExternalPosition.sol": { - "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", - "urls": [ - "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", - "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/solv-v2-bond-buyer/ISolvV2BondBuyerPosition.sol": { - "keccak256": "0xf1cae957d4373d3e3546b61e208e4171820cc653030c68af469073132c141ea9", - "urls": [ - "bzz-raw://d9e7df5e4efcaa1b3873d64bdea24b21d14652293b58ea2fd15633780e1e0716", - "dweb:/ipfs/QmdBhmfCEnvGVLYvXXe17j7iHpM53rGu2fmoUZQCEeGEAX" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 122 -} +{ "abi": [ { "type": "function", "name": "getDebtAssets", "inputs": [], "outputs": [ { "name": "", "type": "address[]", "internalType": "address[]" }, { "name": "", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "getManagedAssets", "inputs": [], "outputs": [ { "name": "", "type": "address[]", "internalType": "address[]" }, { "name": "", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "init", "inputs": [ { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "receiveCallFromVault", "inputs": [ { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "getDebtAssets()": "ecd658b4", "getManagedAssets()": "80daddb8", "init(bytes)": "4ddf47d4", "receiveCallFromVault(bytes)": "e5c23a97" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"getDebtAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getManagedAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"receiveCallFromVault\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ISolvV2BondBuyerPosition Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/solv-v2-bond-buyer/ISolvV2BondBuyerPosition.sol\":\"ISolvV2BondBuyerPosition\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/release/extensions/external-position-manager/external-positions/solv-v2-bond-buyer/ISolvV2BondBuyerPosition.sol\":{\"keccak256\":\"0xf1cae957d4373d3e3546b61e208e4171820cc653030c68af469073132c141ea9\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d9e7df5e4efcaa1b3873d64bdea24b21d14652293b58ea2fd15633780e1e0716\",\"dweb:/ipfs/QmdBhmfCEnvGVLYvXXe17j7iHpM53rGu2fmoUZQCEeGEAX\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "getDebtAssets", "outputs": [ { "internalType": "address[]", "name": "", "type": "address[]" }, { "internalType": "uint256[]", "name": "", "type": "uint256[]" } ] }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "getManagedAssets", "outputs": [ { "internalType": "address[]", "name": "", "type": "address[]" }, { "internalType": "uint256[]", "name": "", "type": "uint256[]" } ] }, { "inputs": [ { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "init" }, { "inputs": [ { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "receiveCallFromVault" } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/external-position-manager/external-positions/solv-v2-bond-buyer/ISolvV2BondBuyerPosition.sol": "ISolvV2BondBuyerPosition" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/external-positions/IExternalPosition.sol": { "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", "urls": [ "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/solv-v2-bond-buyer/ISolvV2BondBuyerPosition.sol": { "keccak256": "0xf1cae957d4373d3e3546b61e208e4171820cc653030c68af469073132c141ea9", "urls": [ "bzz-raw://d9e7df5e4efcaa1b3873d64bdea24b21d14652293b58ea2fd15633780e1e0716", "dweb:/ipfs/QmdBhmfCEnvGVLYvXXe17j7iHpM53rGu2fmoUZQCEeGEAX" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 122 } diff --git a/eth_defi/abi/enzyme/ISolvV2BondIssuerPosition.json b/eth_defi/abi/enzyme/ISolvV2BondIssuerPosition.json index 11a0cc62..cf0c380e 100644 --- a/eth_defi/abi/enzyme/ISolvV2BondIssuerPosition.json +++ b/eth_defi/abi/enzyme/ISolvV2BondIssuerPosition.json @@ -1,242 +1 @@ -{ - "abi": [ - { - "inputs": [], - "name": "getDebtAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getManagedAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getOffers", - "outputs": [ - { - "internalType": "uint24[]", - "name": "offers_", - "type": "uint24[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "init", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "receiveCallFromVault", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "getDebtAssets()": "ecd658b4", - "getManagedAssets()": "80daddb8", - "getOffers()": "3ee992ee", - "init(bytes)": "4ddf47d4", - "receiveCallFromVault(bytes)": "e5c23a97" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"getDebtAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getManagedAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOffers\",\"outputs\":[{\"internalType\":\"uint24[]\",\"name\":\"offers_\",\"type\":\"uint24[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"receiveCallFromVault\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ISolvV2BondIssuerPosition Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/solv-v2-bond-issuer/ISolvV2BondIssuerPosition.sol\":\"ISolvV2BondIssuerPosition\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/release/extensions/external-position-manager/external-positions/solv-v2-bond-issuer/ISolvV2BondIssuerPosition.sol\":{\"keccak256\":\"0x4b4269ed0c69d21e9a98b8dda03794e46ee75b443913d55f33a4b6f5ca15297b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5b339a793698c60986ef981da4e705723f98b9950a7cb0f5d9a9278907c91788\",\"dweb:/ipfs/QmbRx6gSPaUtx6cXWrdEa6vdSNM8PLNgKN9PARxPbjfBe4\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "getDebtAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ] - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "getManagedAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getOffers", - "outputs": [ - { - "internalType": "uint24[]", - "name": "offers_", - "type": "uint24[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "init" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "receiveCallFromVault" - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/external-position-manager/external-positions/solv-v2-bond-issuer/ISolvV2BondIssuerPosition.sol": "ISolvV2BondIssuerPosition" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/external-positions/IExternalPosition.sol": { - "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", - "urls": [ - "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", - "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/solv-v2-bond-issuer/ISolvV2BondIssuerPosition.sol": { - "keccak256": "0x4b4269ed0c69d21e9a98b8dda03794e46ee75b443913d55f33a4b6f5ca15297b", - "urls": [ - "bzz-raw://5b339a793698c60986ef981da4e705723f98b9950a7cb0f5d9a9278907c91788", - "dweb:/ipfs/QmbRx6gSPaUtx6cXWrdEa6vdSNM8PLNgKN9PARxPbjfBe4" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 126 -} +{ "abi": [ { "type": "function", "name": "getDebtAssets", "inputs": [], "outputs": [ { "name": "", "type": "address[]", "internalType": "address[]" }, { "name": "", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "getManagedAssets", "inputs": [], "outputs": [ { "name": "", "type": "address[]", "internalType": "address[]" }, { "name": "", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "getOffers", "inputs": [], "outputs": [ { "name": "offers_", "type": "uint24[]", "internalType": "uint24[]" } ], "stateMutability": "view" }, { "type": "function", "name": "init", "inputs": [ { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "receiveCallFromVault", "inputs": [ { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "getDebtAssets()": "ecd658b4", "getManagedAssets()": "80daddb8", "getOffers()": "3ee992ee", "init(bytes)": "4ddf47d4", "receiveCallFromVault(bytes)": "e5c23a97" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"getDebtAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getManagedAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOffers\",\"outputs\":[{\"internalType\":\"uint24[]\",\"name\":\"offers_\",\"type\":\"uint24[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"receiveCallFromVault\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ISolvV2BondIssuerPosition Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/solv-v2-bond-issuer/ISolvV2BondIssuerPosition.sol\":\"ISolvV2BondIssuerPosition\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/release/extensions/external-position-manager/external-positions/solv-v2-bond-issuer/ISolvV2BondIssuerPosition.sol\":{\"keccak256\":\"0x4b4269ed0c69d21e9a98b8dda03794e46ee75b443913d55f33a4b6f5ca15297b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5b339a793698c60986ef981da4e705723f98b9950a7cb0f5d9a9278907c91788\",\"dweb:/ipfs/QmbRx6gSPaUtx6cXWrdEa6vdSNM8PLNgKN9PARxPbjfBe4\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "getDebtAssets", "outputs": [ { "internalType": "address[]", "name": "", "type": "address[]" }, { "internalType": "uint256[]", "name": "", "type": "uint256[]" } ] }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "getManagedAssets", "outputs": [ { "internalType": "address[]", "name": "", "type": "address[]" }, { "internalType": "uint256[]", "name": "", "type": "uint256[]" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getOffers", "outputs": [ { "internalType": "uint24[]", "name": "offers_", "type": "uint24[]" } ] }, { "inputs": [ { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "init" }, { "inputs": [ { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "receiveCallFromVault" } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/external-position-manager/external-positions/solv-v2-bond-issuer/ISolvV2BondIssuerPosition.sol": "ISolvV2BondIssuerPosition" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/external-positions/IExternalPosition.sol": { "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", "urls": [ "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/solv-v2-bond-issuer/ISolvV2BondIssuerPosition.sol": { "keccak256": "0x4b4269ed0c69d21e9a98b8dda03794e46ee75b443913d55f33a4b6f5ca15297b", "urls": [ "bzz-raw://5b339a793698c60986ef981da4e705723f98b9950a7cb0f5d9a9278907c91788", "dweb:/ipfs/QmbRx6gSPaUtx6cXWrdEa6vdSNM8PLNgKN9PARxPbjfBe4" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 126 } diff --git a/eth_defi/abi/enzyme/ISolvV2BondPool.json b/eth_defi/abi/enzyme/ISolvV2BondPool.json index c46f33ee..35027793 100644 --- a/eth_defi/abi/enzyme/ISolvV2BondPool.json +++ b/eth_defi/abi/enzyme/ISolvV2BondPool.json @@ -1,512 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_issuer", - "type": "address" - } - ], - "name": "getIssuerSlots", - "outputs": [ - { - "internalType": "uint256[]", - "name": "slots_", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_slot", - "type": "uint256" - } - ], - "name": "getSettlePrice", - "outputs": [ - { - "internalType": "uint128", - "name": "settlePrice_", - "type": "uint128" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_slot", - "type": "uint256" - } - ], - "name": "getSlotDetail", - "outputs": [ - { - "components": [ - { - "internalType": "address", - "name": "issuer", - "type": "address" - }, - { - "internalType": "address", - "name": "fundCurrency", - "type": "address" - }, - { - "internalType": "uint256", - "name": "totalValue", - "type": "uint256" - }, - { - "internalType": "uint128", - "name": "lowestPrice", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "highestPrice", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "settlePrice", - "type": "uint128" - }, - { - "internalType": "uint64", - "name": "effectiveTime", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "maturity", - "type": "uint64" - }, - { - "internalType": "enum ISolvV2BondPool.CollateralType", - "name": "collateralType", - "type": "uint8" - }, - { - "internalType": "bool", - "name": "isIssuerRefunded", - "type": "bool" - }, - { - "internalType": "bool", - "name": "isIssuerWithdrawn", - "type": "bool" - }, - { - "internalType": "bool", - "name": "isClaimed", - "type": "bool" - }, - { - "internalType": "bool", - "name": "isValid", - "type": "bool" - } - ], - "internalType": "struct ISolvV2BondPool.SlotDetail", - "name": "slotDetail_", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_slot", - "type": "uint256" - } - ], - "name": "getWithdrawableAmount", - "outputs": [ - { - "internalType": "uint256", - "name": "withdrawTokenAmount_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_slot", - "type": "uint256" - } - ], - "name": "refund", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_slotId", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_currency", - "type": "address" - } - ], - "name": "slotBalances", - "outputs": [ - { - "internalType": "uint256", - "name": "balance_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "valueDecimals", - "outputs": [ - { - "internalType": "uint8", - "name": "decimals_", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_slot", - "type": "uint256" - } - ], - "name": "withdraw", - "outputs": [ - { - "internalType": "uint256", - "name": "withdrawTokenAmount_", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "getIssuerSlots(address)": "ecaf82a5", - "getSettlePrice(uint256)": "fb7056b7", - "getSlotDetail(uint256)": "d3ceafb9", - "getWithdrawableAmount(uint256)": "875f4384", - "refund(uint256)": "278ecde1", - "slotBalances(uint256,address)": "e55ced31", - "valueDecimals()": "3e7e8669", - "withdraw(uint256)": "2e1a7d4d" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_issuer\",\"type\":\"address\"}],\"name\":\"getIssuerSlots\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"slots_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_slot\",\"type\":\"uint256\"}],\"name\":\"getSettlePrice\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"settlePrice_\",\"type\":\"uint128\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_slot\",\"type\":\"uint256\"}],\"name\":\"getSlotDetail\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"issuer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"fundCurrency\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"totalValue\",\"type\":\"uint256\"},{\"internalType\":\"uint128\",\"name\":\"lowestPrice\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"highestPrice\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"settlePrice\",\"type\":\"uint128\"},{\"internalType\":\"uint64\",\"name\":\"effectiveTime\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"maturity\",\"type\":\"uint64\"},{\"internalType\":\"enum ISolvV2BondPool.CollateralType\",\"name\":\"collateralType\",\"type\":\"uint8\"},{\"internalType\":\"bool\",\"name\":\"isIssuerRefunded\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isIssuerWithdrawn\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isClaimed\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isValid\",\"type\":\"bool\"}],\"internalType\":\"struct ISolvV2BondPool.SlotDetail\",\"name\":\"slotDetail_\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_slot\",\"type\":\"uint256\"}],\"name\":\"getWithdrawableAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"withdrawTokenAmount_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_slot\",\"type\":\"uint256\"}],\"name\":\"refund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_slotId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_currency\",\"type\":\"address\"}],\"name\":\"slotBalances\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"valueDecimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"decimals_\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_slot\",\"type\":\"uint256\"}],\"name\":\"withdraw\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"withdrawTokenAmount_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"Source: https://github.com/solv-finance/solv-v2-ivo/blob/main/vouchers/bond-voucher/contracts/BondPool.sol\",\"kind\":\"dev\",\"methods\":{},\"title\":\"ISolvV2BondPool Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/ISolvV2BondPool.sol\":\"ISolvV2BondPool\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/ISolvV2BondPool.sol\":{\"keccak256\":\"0xa68c7f87782e4da88c0e98a8096d3f758b1c5aa914ddb6bc99ada422195019f5\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://cb64f9feca3ef65e6e2a18729aeb1300698cfba3eb99f08025debc795282b73d\",\"dweb:/ipfs/QmVr5qraYJpKNMtJZfgvkMZsk1Nerxc36HSjhtvh8YgG1G\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_issuer", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getIssuerSlots", - "outputs": [ - { - "internalType": "uint256[]", - "name": "slots_", - "type": "uint256[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_slot", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getSettlePrice", - "outputs": [ - { - "internalType": "uint128", - "name": "settlePrice_", - "type": "uint128" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_slot", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getSlotDetail", - "outputs": [ - { - "internalType": "struct ISolvV2BondPool.SlotDetail", - "name": "slotDetail_", - "type": "tuple", - "components": [ - { - "internalType": "address", - "name": "issuer", - "type": "address" - }, - { - "internalType": "address", - "name": "fundCurrency", - "type": "address" - }, - { - "internalType": "uint256", - "name": "totalValue", - "type": "uint256" - }, - { - "internalType": "uint128", - "name": "lowestPrice", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "highestPrice", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "settlePrice", - "type": "uint128" - }, - { - "internalType": "uint64", - "name": "effectiveTime", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "maturity", - "type": "uint64" - }, - { - "internalType": "enum ISolvV2BondPool.CollateralType", - "name": "collateralType", - "type": "uint8" - }, - { - "internalType": "bool", - "name": "isIssuerRefunded", - "type": "bool" - }, - { - "internalType": "bool", - "name": "isIssuerWithdrawn", - "type": "bool" - }, - { - "internalType": "bool", - "name": "isClaimed", - "type": "bool" - }, - { - "internalType": "bool", - "name": "isValid", - "type": "bool" - } - ] - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_slot", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getWithdrawableAmount", - "outputs": [ - { - "internalType": "uint256", - "name": "withdrawTokenAmount_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_slot", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "refund" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_slotId", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_currency", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "slotBalances", - "outputs": [ - { - "internalType": "uint256", - "name": "balance_", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "valueDecimals", - "outputs": [ - { - "internalType": "uint8", - "name": "decimals_", - "type": "uint8" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_slot", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "withdraw", - "outputs": [ - { - "internalType": "uint256", - "name": "withdrawTokenAmount_", - "type": "uint256" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/interfaces/ISolvV2BondPool.sol": "ISolvV2BondPool" - }, - "libraries": {} - }, - "sources": { - "contracts/release/interfaces/ISolvV2BondPool.sol": { - "keccak256": "0xa68c7f87782e4da88c0e98a8096d3f758b1c5aa914ddb6bc99ada422195019f5", - "urls": [ - "bzz-raw://cb64f9feca3ef65e6e2a18729aeb1300698cfba3eb99f08025debc795282b73d", - "dweb:/ipfs/QmVr5qraYJpKNMtJZfgvkMZsk1Nerxc36HSjhtvh8YgG1G" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 327 -} +{ "abi": [ { "type": "function", "name": "getIssuerSlots", "inputs": [ { "name": "_issuer", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "slots_", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "view" }, { "type": "function", "name": "getSettlePrice", "inputs": [ { "name": "_slot", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "settlePrice_", "type": "uint128", "internalType": "uint128" } ], "stateMutability": "view" }, { "type": "function", "name": "getSlotDetail", "inputs": [ { "name": "_slot", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "slotDetail_", "type": "tuple", "internalType": "struct ISolvV2BondPool.SlotDetail", "components": [ { "name": "issuer", "type": "address", "internalType": "address" }, { "name": "fundCurrency", "type": "address", "internalType": "address" }, { "name": "totalValue", "type": "uint256", "internalType": "uint256" }, { "name": "lowestPrice", "type": "uint128", "internalType": "uint128" }, { "name": "highestPrice", "type": "uint128", "internalType": "uint128" }, { "name": "settlePrice", "type": "uint128", "internalType": "uint128" }, { "name": "effectiveTime", "type": "uint64", "internalType": "uint64" }, { "name": "maturity", "type": "uint64", "internalType": "uint64" }, { "name": "collateralType", "type": "uint8", "internalType": "enum ISolvV2BondPool.CollateralType" }, { "name": "isIssuerRefunded", "type": "bool", "internalType": "bool" }, { "name": "isIssuerWithdrawn", "type": "bool", "internalType": "bool" }, { "name": "isClaimed", "type": "bool", "internalType": "bool" }, { "name": "isValid", "type": "bool", "internalType": "bool" } ] } ], "stateMutability": "view" }, { "type": "function", "name": "getWithdrawableAmount", "inputs": [ { "name": "_slot", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "withdrawTokenAmount_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "refund", "inputs": [ { "name": "_slot", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "slotBalances", "inputs": [ { "name": "_slotId", "type": "uint256", "internalType": "uint256" }, { "name": "_currency", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "balance_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "valueDecimals", "inputs": [], "outputs": [ { "name": "decimals_", "type": "uint8", "internalType": "uint8" } ], "stateMutability": "view" }, { "type": "function", "name": "withdraw", "inputs": [ { "name": "_slot", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "withdrawTokenAmount_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "getIssuerSlots(address)": "ecaf82a5", "getSettlePrice(uint256)": "fb7056b7", "getSlotDetail(uint256)": "d3ceafb9", "getWithdrawableAmount(uint256)": "875f4384", "refund(uint256)": "278ecde1", "slotBalances(uint256,address)": "e55ced31", "valueDecimals()": "3e7e8669", "withdraw(uint256)": "2e1a7d4d" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_issuer\",\"type\":\"address\"}],\"name\":\"getIssuerSlots\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"slots_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_slot\",\"type\":\"uint256\"}],\"name\":\"getSettlePrice\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"settlePrice_\",\"type\":\"uint128\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_slot\",\"type\":\"uint256\"}],\"name\":\"getSlotDetail\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"issuer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"fundCurrency\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"totalValue\",\"type\":\"uint256\"},{\"internalType\":\"uint128\",\"name\":\"lowestPrice\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"highestPrice\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"settlePrice\",\"type\":\"uint128\"},{\"internalType\":\"uint64\",\"name\":\"effectiveTime\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"maturity\",\"type\":\"uint64\"},{\"internalType\":\"enum ISolvV2BondPool.CollateralType\",\"name\":\"collateralType\",\"type\":\"uint8\"},{\"internalType\":\"bool\",\"name\":\"isIssuerRefunded\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isIssuerWithdrawn\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isClaimed\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isValid\",\"type\":\"bool\"}],\"internalType\":\"struct ISolvV2BondPool.SlotDetail\",\"name\":\"slotDetail_\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_slot\",\"type\":\"uint256\"}],\"name\":\"getWithdrawableAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"withdrawTokenAmount_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_slot\",\"type\":\"uint256\"}],\"name\":\"refund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_slotId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_currency\",\"type\":\"address\"}],\"name\":\"slotBalances\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"valueDecimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"decimals_\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_slot\",\"type\":\"uint256\"}],\"name\":\"withdraw\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"withdrawTokenAmount_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"Source: https://github.com/solv-finance/solv-v2-ivo/blob/main/vouchers/bond-voucher/contracts/BondPool.sol\",\"kind\":\"dev\",\"methods\":{},\"title\":\"ISolvV2BondPool Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/ISolvV2BondPool.sol\":\"ISolvV2BondPool\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/ISolvV2BondPool.sol\":{\"keccak256\":\"0xa68c7f87782e4da88c0e98a8096d3f758b1c5aa914ddb6bc99ada422195019f5\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://cb64f9feca3ef65e6e2a18729aeb1300698cfba3eb99f08025debc795282b73d\",\"dweb:/ipfs/QmVr5qraYJpKNMtJZfgvkMZsk1Nerxc36HSjhtvh8YgG1G\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_issuer", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getIssuerSlots", "outputs": [ { "internalType": "uint256[]", "name": "slots_", "type": "uint256[]" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_slot", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "getSettlePrice", "outputs": [ { "internalType": "uint128", "name": "settlePrice_", "type": "uint128" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_slot", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "getSlotDetail", "outputs": [ { "internalType": "struct ISolvV2BondPool.SlotDetail", "name": "slotDetail_", "type": "tuple", "components": [ { "internalType": "address", "name": "issuer", "type": "address" }, { "internalType": "address", "name": "fundCurrency", "type": "address" }, { "internalType": "uint256", "name": "totalValue", "type": "uint256" }, { "internalType": "uint128", "name": "lowestPrice", "type": "uint128" }, { "internalType": "uint128", "name": "highestPrice", "type": "uint128" }, { "internalType": "uint128", "name": "settlePrice", "type": "uint128" }, { "internalType": "uint64", "name": "effectiveTime", "type": "uint64" }, { "internalType": "uint64", "name": "maturity", "type": "uint64" }, { "internalType": "enum ISolvV2BondPool.CollateralType", "name": "collateralType", "type": "uint8" }, { "internalType": "bool", "name": "isIssuerRefunded", "type": "bool" }, { "internalType": "bool", "name": "isIssuerWithdrawn", "type": "bool" }, { "internalType": "bool", "name": "isClaimed", "type": "bool" }, { "internalType": "bool", "name": "isValid", "type": "bool" } ] } ] }, { "inputs": [ { "internalType": "uint256", "name": "_slot", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "getWithdrawableAmount", "outputs": [ { "internalType": "uint256", "name": "withdrawTokenAmount_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_slot", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "refund" }, { "inputs": [ { "internalType": "uint256", "name": "_slotId", "type": "uint256" }, { "internalType": "address", "name": "_currency", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "slotBalances", "outputs": [ { "internalType": "uint256", "name": "balance_", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "valueDecimals", "outputs": [ { "internalType": "uint8", "name": "decimals_", "type": "uint8" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_slot", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "withdraw", "outputs": [ { "internalType": "uint256", "name": "withdrawTokenAmount_", "type": "uint256" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/interfaces/ISolvV2BondPool.sol": "ISolvV2BondPool" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/interfaces/ISolvV2BondPool.sol": { "keccak256": "0xa68c7f87782e4da88c0e98a8096d3f758b1c5aa914ddb6bc99ada422195019f5", "urls": [ "bzz-raw://cb64f9feca3ef65e6e2a18729aeb1300698cfba3eb99f08025debc795282b73d", "dweb:/ipfs/QmVr5qraYJpKNMtJZfgvkMZsk1Nerxc36HSjhtvh8YgG1G" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 327 } diff --git a/eth_defi/abi/enzyme/ISolvV2BondVoucher.json b/eth_defi/abi/enzyme/ISolvV2BondVoucher.json index f30b7010..437000a3 100644 --- a/eth_defi/abi/enzyme/ISolvV2BondVoucher.json +++ b/eth_defi/abi/enzyme/ISolvV2BondVoucher.json @@ -1,670 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_tokenId", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "bondPool", - "outputs": [ - { - "internalType": "address", - "name": "bondPool_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_tokenId", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_claimUnits", - "type": "uint256" - } - ], - "name": "claimTo", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_issuer", - "type": "address" - }, - { - "internalType": "address", - "name": "_fundCurrency", - "type": "address" - }, - { - "internalType": "uint128", - "name": "_lowestPrice", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "_highestPrice", - "type": "uint128" - }, - { - "internalType": "uint64", - "name": "_effectiveTime", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "_maturity", - "type": "uint64" - } - ], - "name": "getSlot", - "outputs": [ - { - "internalType": "uint256", - "name": "slot_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_slot", - "type": "uint256" - } - ], - "name": "getSlotDetail", - "outputs": [ - { - "components": [ - { - "internalType": "address", - "name": "issuer", - "type": "address" - }, - { - "internalType": "address", - "name": "fundCurrency", - "type": "address" - }, - { - "internalType": "uint256", - "name": "totalValue", - "type": "uint256" - }, - { - "internalType": "uint128", - "name": "lowestPrice", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "highestPrice", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "settlePrice", - "type": "uint128" - }, - { - "internalType": "uint64", - "name": "effectiveTime", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "maturity", - "type": "uint64" - }, - { - "internalType": "enum ISolvV2BondPool.CollateralType", - "name": "collateralType", - "type": "uint8" - }, - { - "internalType": "bool", - "name": "isIssuerRefunded", - "type": "bool" - }, - { - "internalType": "bool", - "name": "isIssuerWithdrawn", - "type": "bool" - }, - { - "internalType": "bool", - "name": "isClaimed", - "type": "bool" - }, - { - "internalType": "bool", - "name": "isValid", - "type": "bool" - } - ], - "internalType": "struct ISolvV2BondPool.SlotDetail", - "name": "slotDetail_", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "nextTokenId", - "outputs": [ - { - "internalType": "uint32", - "name": "nextTokenId_", - "type": "uint32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_tokenId", - "type": "uint256" - } - ], - "name": "ownerOf", - "outputs": [ - { - "internalType": "address", - "name": "owner_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_tokenId", - "type": "uint256" - } - ], - "name": "slotOf", - "outputs": [ - { - "internalType": "uint256", - "name": "slotId_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "underlying", - "outputs": [ - { - "internalType": "address", - "name": "underlying_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId_", - "type": "uint256" - } - ], - "name": "unitsInToken", - "outputs": [ - { - "internalType": "uint256", - "name": "units_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_tokenId", - "type": "uint256" - } - ], - "name": "voucherSlotMapping", - "outputs": [ - { - "internalType": "uint256", - "name": "slotId_", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "approve(address,uint256)": "095ea7b3", - "bondPool()": "4118ca7d", - "claimTo(uint256,address,uint256)": "7e2985f3", - "getSlot(address,address,uint128,uint128,uint64,uint64)": "9576dd8f", - "getSlotDetail(uint256)": "d3ceafb9", - "nextTokenId()": "75794a3c", - "ownerOf(uint256)": "6352211e", - "slotOf(uint256)": "263f3e7e", - "underlying()": "6f307dc3", - "unitsInToken(uint256)": "becef607", - "voucherSlotMapping(uint256)": "bde4c3cb" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"bondPool\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"bondPool_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_claimUnits\",\"type\":\"uint256\"}],\"name\":\"claimTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_issuer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_fundCurrency\",\"type\":\"address\"},{\"internalType\":\"uint128\",\"name\":\"_lowestPrice\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"_highestPrice\",\"type\":\"uint128\"},{\"internalType\":\"uint64\",\"name\":\"_effectiveTime\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"_maturity\",\"type\":\"uint64\"}],\"name\":\"getSlot\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"slot_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_slot\",\"type\":\"uint256\"}],\"name\":\"getSlotDetail\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"issuer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"fundCurrency\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"totalValue\",\"type\":\"uint256\"},{\"internalType\":\"uint128\",\"name\":\"lowestPrice\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"highestPrice\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"settlePrice\",\"type\":\"uint128\"},{\"internalType\":\"uint64\",\"name\":\"effectiveTime\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"maturity\",\"type\":\"uint64\"},{\"internalType\":\"enum ISolvV2BondPool.CollateralType\",\"name\":\"collateralType\",\"type\":\"uint8\"},{\"internalType\":\"bool\",\"name\":\"isIssuerRefunded\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isIssuerWithdrawn\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isClaimed\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isValid\",\"type\":\"bool\"}],\"internalType\":\"struct ISolvV2BondPool.SlotDetail\",\"name\":\"slotDetail_\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextTokenId\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"nextTokenId_\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"slotOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"slotId_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"underlying\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"underlying_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId_\",\"type\":\"uint256\"}],\"name\":\"unitsInToken\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"units_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"voucherSlotMapping\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"slotId_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"Source: https://github.com/solv-finance/solv-v2-ivo/blob/main/vouchers/bond-voucher/contracts/BondVoucher.sol\",\"kind\":\"dev\",\"methods\":{},\"title\":\"ISolvV2BondVoucher Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/ISolvV2BondVoucher.sol\":\"ISolvV2BondVoucher\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/ISolvV2BondPool.sol\":{\"keccak256\":\"0xa68c7f87782e4da88c0e98a8096d3f758b1c5aa914ddb6bc99ada422195019f5\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://cb64f9feca3ef65e6e2a18729aeb1300698cfba3eb99f08025debc795282b73d\",\"dweb:/ipfs/QmVr5qraYJpKNMtJZfgvkMZsk1Nerxc36HSjhtvh8YgG1G\"]},\"contracts/release/interfaces/ISolvV2BondVoucher.sol\":{\"keccak256\":\"0xf76389995de79cdc0f4a690a9ce76a094d4697d51e397abf68b4be24ef8b554f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ed36c534756035df374381fabff0b010f0fe700caeeddffb99f347efee1f0cdd\",\"dweb:/ipfs/QmY5dm7b78TkoW3WSqKKZSCKdZmumTCMLxf3rpxzVM6qpm\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_tokenId", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "approve" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "bondPool", - "outputs": [ - { - "internalType": "address", - "name": "bondPool_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_tokenId", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_claimUnits", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "claimTo" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_issuer", - "type": "address" - }, - { - "internalType": "address", - "name": "_fundCurrency", - "type": "address" - }, - { - "internalType": "uint128", - "name": "_lowestPrice", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "_highestPrice", - "type": "uint128" - }, - { - "internalType": "uint64", - "name": "_effectiveTime", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "_maturity", - "type": "uint64" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getSlot", - "outputs": [ - { - "internalType": "uint256", - "name": "slot_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_slot", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getSlotDetail", - "outputs": [ - { - "internalType": "struct ISolvV2BondPool.SlotDetail", - "name": "slotDetail_", - "type": "tuple", - "components": [ - { - "internalType": "address", - "name": "issuer", - "type": "address" - }, - { - "internalType": "address", - "name": "fundCurrency", - "type": "address" - }, - { - "internalType": "uint256", - "name": "totalValue", - "type": "uint256" - }, - { - "internalType": "uint128", - "name": "lowestPrice", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "highestPrice", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "settlePrice", - "type": "uint128" - }, - { - "internalType": "uint64", - "name": "effectiveTime", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "maturity", - "type": "uint64" - }, - { - "internalType": "enum ISolvV2BondPool.CollateralType", - "name": "collateralType", - "type": "uint8" - }, - { - "internalType": "bool", - "name": "isIssuerRefunded", - "type": "bool" - }, - { - "internalType": "bool", - "name": "isIssuerWithdrawn", - "type": "bool" - }, - { - "internalType": "bool", - "name": "isClaimed", - "type": "bool" - }, - { - "internalType": "bool", - "name": "isValid", - "type": "bool" - } - ] - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "nextTokenId", - "outputs": [ - { - "internalType": "uint32", - "name": "nextTokenId_", - "type": "uint32" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_tokenId", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "ownerOf", - "outputs": [ - { - "internalType": "address", - "name": "owner_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_tokenId", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "slotOf", - "outputs": [ - { - "internalType": "uint256", - "name": "slotId_", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "underlying", - "outputs": [ - { - "internalType": "address", - "name": "underlying_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "unitsInToken", - "outputs": [ - { - "internalType": "uint256", - "name": "units_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_tokenId", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "voucherSlotMapping", - "outputs": [ - { - "internalType": "uint256", - "name": "slotId_", - "type": "uint256" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/interfaces/ISolvV2BondVoucher.sol": "ISolvV2BondVoucher" - }, - "libraries": {} - }, - "sources": { - "contracts/release/interfaces/ISolvV2BondPool.sol": { - "keccak256": "0xa68c7f87782e4da88c0e98a8096d3f758b1c5aa914ddb6bc99ada422195019f5", - "urls": [ - "bzz-raw://cb64f9feca3ef65e6e2a18729aeb1300698cfba3eb99f08025debc795282b73d", - "dweb:/ipfs/QmVr5qraYJpKNMtJZfgvkMZsk1Nerxc36HSjhtvh8YgG1G" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/ISolvV2BondVoucher.sol": { - "keccak256": "0xf76389995de79cdc0f4a690a9ce76a094d4697d51e397abf68b4be24ef8b554f", - "urls": [ - "bzz-raw://ed36c534756035df374381fabff0b010f0fe700caeeddffb99f347efee1f0cdd", - "dweb:/ipfs/QmY5dm7b78TkoW3WSqKKZSCKdZmumTCMLxf3rpxzVM6qpm" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 328 -} +{ "abi": [ { "type": "function", "name": "approve", "inputs": [ { "name": "_to", "type": "address", "internalType": "address" }, { "name": "_tokenId", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "bondPool", "inputs": [], "outputs": [ { "name": "bondPool_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "claimTo", "inputs": [ { "name": "_tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "_to", "type": "address", "internalType": "address" }, { "name": "_claimUnits", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "getSlot", "inputs": [ { "name": "_issuer", "type": "address", "internalType": "address" }, { "name": "_fundCurrency", "type": "address", "internalType": "address" }, { "name": "_lowestPrice", "type": "uint128", "internalType": "uint128" }, { "name": "_highestPrice", "type": "uint128", "internalType": "uint128" }, { "name": "_effectiveTime", "type": "uint64", "internalType": "uint64" }, { "name": "_maturity", "type": "uint64", "internalType": "uint64" } ], "outputs": [ { "name": "slot_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "getSlotDetail", "inputs": [ { "name": "_slot", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "slotDetail_", "type": "tuple", "internalType": "struct ISolvV2BondPool.SlotDetail", "components": [ { "name": "issuer", "type": "address", "internalType": "address" }, { "name": "fundCurrency", "type": "address", "internalType": "address" }, { "name": "totalValue", "type": "uint256", "internalType": "uint256" }, { "name": "lowestPrice", "type": "uint128", "internalType": "uint128" }, { "name": "highestPrice", "type": "uint128", "internalType": "uint128" }, { "name": "settlePrice", "type": "uint128", "internalType": "uint128" }, { "name": "effectiveTime", "type": "uint64", "internalType": "uint64" }, { "name": "maturity", "type": "uint64", "internalType": "uint64" }, { "name": "collateralType", "type": "uint8", "internalType": "enum ISolvV2BondPool.CollateralType" }, { "name": "isIssuerRefunded", "type": "bool", "internalType": "bool" }, { "name": "isIssuerWithdrawn", "type": "bool", "internalType": "bool" }, { "name": "isClaimed", "type": "bool", "internalType": "bool" }, { "name": "isValid", "type": "bool", "internalType": "bool" } ] } ], "stateMutability": "view" }, { "type": "function", "name": "nextTokenId", "inputs": [], "outputs": [ { "name": "nextTokenId_", "type": "uint32", "internalType": "uint32" } ], "stateMutability": "view" }, { "type": "function", "name": "ownerOf", "inputs": [ { "name": "_tokenId", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "owner_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "slotOf", "inputs": [ { "name": "_tokenId", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "slotId_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "underlying", "inputs": [], "outputs": [ { "name": "underlying_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "unitsInToken", "inputs": [ { "name": "tokenId_", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "units_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "voucherSlotMapping", "inputs": [ { "name": "_tokenId", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "slotId_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "approve(address,uint256)": "095ea7b3", "bondPool()": "4118ca7d", "claimTo(uint256,address,uint256)": "7e2985f3", "getSlot(address,address,uint128,uint128,uint64,uint64)": "9576dd8f", "getSlotDetail(uint256)": "d3ceafb9", "nextTokenId()": "75794a3c", "ownerOf(uint256)": "6352211e", "slotOf(uint256)": "263f3e7e", "underlying()": "6f307dc3", "unitsInToken(uint256)": "becef607", "voucherSlotMapping(uint256)": "bde4c3cb" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"bondPool\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"bondPool_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_claimUnits\",\"type\":\"uint256\"}],\"name\":\"claimTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_issuer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_fundCurrency\",\"type\":\"address\"},{\"internalType\":\"uint128\",\"name\":\"_lowestPrice\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"_highestPrice\",\"type\":\"uint128\"},{\"internalType\":\"uint64\",\"name\":\"_effectiveTime\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"_maturity\",\"type\":\"uint64\"}],\"name\":\"getSlot\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"slot_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_slot\",\"type\":\"uint256\"}],\"name\":\"getSlotDetail\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"issuer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"fundCurrency\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"totalValue\",\"type\":\"uint256\"},{\"internalType\":\"uint128\",\"name\":\"lowestPrice\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"highestPrice\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"settlePrice\",\"type\":\"uint128\"},{\"internalType\":\"uint64\",\"name\":\"effectiveTime\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"maturity\",\"type\":\"uint64\"},{\"internalType\":\"enum ISolvV2BondPool.CollateralType\",\"name\":\"collateralType\",\"type\":\"uint8\"},{\"internalType\":\"bool\",\"name\":\"isIssuerRefunded\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isIssuerWithdrawn\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isClaimed\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isValid\",\"type\":\"bool\"}],\"internalType\":\"struct ISolvV2BondPool.SlotDetail\",\"name\":\"slotDetail_\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextTokenId\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"nextTokenId_\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"slotOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"slotId_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"underlying\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"underlying_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId_\",\"type\":\"uint256\"}],\"name\":\"unitsInToken\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"units_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"voucherSlotMapping\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"slotId_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"Source: https://github.com/solv-finance/solv-v2-ivo/blob/main/vouchers/bond-voucher/contracts/BondVoucher.sol\",\"kind\":\"dev\",\"methods\":{},\"title\":\"ISolvV2BondVoucher Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/ISolvV2BondVoucher.sol\":\"ISolvV2BondVoucher\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/ISolvV2BondPool.sol\":{\"keccak256\":\"0xa68c7f87782e4da88c0e98a8096d3f758b1c5aa914ddb6bc99ada422195019f5\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://cb64f9feca3ef65e6e2a18729aeb1300698cfba3eb99f08025debc795282b73d\",\"dweb:/ipfs/QmVr5qraYJpKNMtJZfgvkMZsk1Nerxc36HSjhtvh8YgG1G\"]},\"contracts/release/interfaces/ISolvV2BondVoucher.sol\":{\"keccak256\":\"0xf76389995de79cdc0f4a690a9ce76a094d4697d51e397abf68b4be24ef8b554f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ed36c534756035df374381fabff0b010f0fe700caeeddffb99f347efee1f0cdd\",\"dweb:/ipfs/QmY5dm7b78TkoW3WSqKKZSCKdZmumTCMLxf3rpxzVM6qpm\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_to", "type": "address" }, { "internalType": "uint256", "name": "_tokenId", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "approve" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "bondPool", "outputs": [ { "internalType": "address", "name": "bondPool_", "type": "address" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_tokenId", "type": "uint256" }, { "internalType": "address", "name": "_to", "type": "address" }, { "internalType": "uint256", "name": "_claimUnits", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "claimTo" }, { "inputs": [ { "internalType": "address", "name": "_issuer", "type": "address" }, { "internalType": "address", "name": "_fundCurrency", "type": "address" }, { "internalType": "uint128", "name": "_lowestPrice", "type": "uint128" }, { "internalType": "uint128", "name": "_highestPrice", "type": "uint128" }, { "internalType": "uint64", "name": "_effectiveTime", "type": "uint64" }, { "internalType": "uint64", "name": "_maturity", "type": "uint64" } ], "stateMutability": "view", "type": "function", "name": "getSlot", "outputs": [ { "internalType": "uint256", "name": "slot_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_slot", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "getSlotDetail", "outputs": [ { "internalType": "struct ISolvV2BondPool.SlotDetail", "name": "slotDetail_", "type": "tuple", "components": [ { "internalType": "address", "name": "issuer", "type": "address" }, { "internalType": "address", "name": "fundCurrency", "type": "address" }, { "internalType": "uint256", "name": "totalValue", "type": "uint256" }, { "internalType": "uint128", "name": "lowestPrice", "type": "uint128" }, { "internalType": "uint128", "name": "highestPrice", "type": "uint128" }, { "internalType": "uint128", "name": "settlePrice", "type": "uint128" }, { "internalType": "uint64", "name": "effectiveTime", "type": "uint64" }, { "internalType": "uint64", "name": "maturity", "type": "uint64" }, { "internalType": "enum ISolvV2BondPool.CollateralType", "name": "collateralType", "type": "uint8" }, { "internalType": "bool", "name": "isIssuerRefunded", "type": "bool" }, { "internalType": "bool", "name": "isIssuerWithdrawn", "type": "bool" }, { "internalType": "bool", "name": "isClaimed", "type": "bool" }, { "internalType": "bool", "name": "isValid", "type": "bool" } ] } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "nextTokenId", "outputs": [ { "internalType": "uint32", "name": "nextTokenId_", "type": "uint32" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_tokenId", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "ownerOf", "outputs": [ { "internalType": "address", "name": "owner_", "type": "address" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_tokenId", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "slotOf", "outputs": [ { "internalType": "uint256", "name": "slotId_", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "underlying", "outputs": [ { "internalType": "address", "name": "underlying_", "type": "address" } ] }, { "inputs": [ { "internalType": "uint256", "name": "tokenId_", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "unitsInToken", "outputs": [ { "internalType": "uint256", "name": "units_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_tokenId", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "voucherSlotMapping", "outputs": [ { "internalType": "uint256", "name": "slotId_", "type": "uint256" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/interfaces/ISolvV2BondVoucher.sol": "ISolvV2BondVoucher" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/interfaces/ISolvV2BondPool.sol": { "keccak256": "0xa68c7f87782e4da88c0e98a8096d3f758b1c5aa914ddb6bc99ada422195019f5", "urls": [ "bzz-raw://cb64f9feca3ef65e6e2a18729aeb1300698cfba3eb99f08025debc795282b73d", "dweb:/ipfs/QmVr5qraYJpKNMtJZfgvkMZsk1Nerxc36HSjhtvh8YgG1G" ], "license": "GPL-3.0" }, "contracts/release/interfaces/ISolvV2BondVoucher.sol": { "keccak256": "0xf76389995de79cdc0f4a690a9ce76a094d4697d51e397abf68b4be24ef8b554f", "urls": [ "bzz-raw://ed36c534756035df374381fabff0b010f0fe700caeeddffb99f347efee1f0cdd", "dweb:/ipfs/QmY5dm7b78TkoW3WSqKKZSCKdZmumTCMLxf3rpxzVM6qpm" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 328 } diff --git a/eth_defi/abi/enzyme/ISolvV2ConvertibleBuyerPosition.json b/eth_defi/abi/enzyme/ISolvV2ConvertibleBuyerPosition.json index 7368ea10..aa232a2b 100644 --- a/eth_defi/abi/enzyme/ISolvV2ConvertibleBuyerPosition.json +++ b/eth_defi/abi/enzyme/ISolvV2ConvertibleBuyerPosition.json @@ -1,274 +1 @@ -{ - "abi": [ - { - "inputs": [], - "name": "getDebtAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getManagedAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getSales", - "outputs": [ - { - "components": [ - { - "internalType": "uint24", - "name": "saleId", - "type": "uint24" - }, - { - "internalType": "address", - "name": "currency", - "type": "address" - } - ], - "internalType": "struct SolvV2ConvertibleBuyerPositionLibBase1.Sale[]", - "name": "sales_", - "type": "tuple[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "init", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "receiveCallFromVault", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "getDebtAssets()": "ecd658b4", - "getManagedAssets()": "80daddb8", - "getSales()": "0d83304c", - "init(bytes)": "4ddf47d4", - "receiveCallFromVault(bytes)": "e5c23a97" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"getDebtAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getManagedAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getSales\",\"outputs\":[{\"components\":[{\"internalType\":\"uint24\",\"name\":\"saleId\",\"type\":\"uint24\"},{\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"}],\"internalType\":\"struct SolvV2ConvertibleBuyerPositionLibBase1.Sale[]\",\"name\":\"sales_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"receiveCallFromVault\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ISolvV2ConvertibleBuyerPosition Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/solv-v2-convertible-buyer/ISolvV2ConvertibleBuyerPosition.sol\":\"ISolvV2ConvertibleBuyerPosition\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/persistent/external-positions/solv-v2-convertible-buyer/SolvV2ConvertibleBuyerPositionLibBase1.sol\":{\"keccak256\":\"0x8f2209f92d7ed63f0c3759bc32f7dac32c7fe166e6a06d57ee10c9e955f554d3\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b21a997433ad99e503ba71dc5d5c8e619a2f384b080a5edc78185f3136064e48\",\"dweb:/ipfs/QmeaQgAVoU7SvcLAEaxB6b8op2s7AETzwXcd3YU41PpaAD\"]},\"contracts/release/extensions/external-position-manager/external-positions/solv-v2-convertible-buyer/ISolvV2ConvertibleBuyerPosition.sol\":{\"keccak256\":\"0xa37e1da2db28f16cdfe58b38ea90ce6a3dd23bdfd79f77742ab701f50539e2d3\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://0ab2ce7a04bbcbf20feb464168109040f450bfb8755dec1841f211aca5466af4\",\"dweb:/ipfs/QmeFN2ZoP6SNWCjeJWSuyscyKMPbkmXPhUK2J4RC8S93TJ\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "getDebtAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ] - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "getManagedAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getSales", - "outputs": [ - { - "internalType": "struct SolvV2ConvertibleBuyerPositionLibBase1.Sale[]", - "name": "sales_", - "type": "tuple[]", - "components": [ - { - "internalType": "uint24", - "name": "saleId", - "type": "uint24" - }, - { - "internalType": "address", - "name": "currency", - "type": "address" - } - ] - } - ] - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "init" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "receiveCallFromVault" - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/external-position-manager/external-positions/solv-v2-convertible-buyer/ISolvV2ConvertibleBuyerPosition.sol": "ISolvV2ConvertibleBuyerPosition" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/external-positions/IExternalPosition.sol": { - "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", - "urls": [ - "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", - "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/external-positions/solv-v2-convertible-buyer/SolvV2ConvertibleBuyerPositionLibBase1.sol": { - "keccak256": "0x8f2209f92d7ed63f0c3759bc32f7dac32c7fe166e6a06d57ee10c9e955f554d3", - "urls": [ - "bzz-raw://b21a997433ad99e503ba71dc5d5c8e619a2f384b080a5edc78185f3136064e48", - "dweb:/ipfs/QmeaQgAVoU7SvcLAEaxB6b8op2s7AETzwXcd3YU41PpaAD" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/solv-v2-convertible-buyer/ISolvV2ConvertibleBuyerPosition.sol": { - "keccak256": "0xa37e1da2db28f16cdfe58b38ea90ce6a3dd23bdfd79f77742ab701f50539e2d3", - "urls": [ - "bzz-raw://0ab2ce7a04bbcbf20feb464168109040f450bfb8755dec1841f211aca5466af4", - "dweb:/ipfs/QmeFN2ZoP6SNWCjeJWSuyscyKMPbkmXPhUK2J4RC8S93TJ" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 130 -} +{ "abi": [ { "type": "function", "name": "getDebtAssets", "inputs": [], "outputs": [ { "name": "", "type": "address[]", "internalType": "address[]" }, { "name": "", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "getManagedAssets", "inputs": [], "outputs": [ { "name": "", "type": "address[]", "internalType": "address[]" }, { "name": "", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "getSales", "inputs": [], "outputs": [ { "name": "sales_", "type": "tuple[]", "internalType": "struct SolvV2ConvertibleBuyerPositionLibBase1.Sale[]", "components": [ { "name": "saleId", "type": "uint24", "internalType": "uint24" }, { "name": "currency", "type": "address", "internalType": "address" } ] } ], "stateMutability": "view" }, { "type": "function", "name": "init", "inputs": [ { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "receiveCallFromVault", "inputs": [ { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "getDebtAssets()": "ecd658b4", "getManagedAssets()": "80daddb8", "getSales()": "0d83304c", "init(bytes)": "4ddf47d4", "receiveCallFromVault(bytes)": "e5c23a97" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"getDebtAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getManagedAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getSales\",\"outputs\":[{\"components\":[{\"internalType\":\"uint24\",\"name\":\"saleId\",\"type\":\"uint24\"},{\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"}],\"internalType\":\"struct SolvV2ConvertibleBuyerPositionLibBase1.Sale[]\",\"name\":\"sales_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"receiveCallFromVault\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ISolvV2ConvertibleBuyerPosition Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/solv-v2-convertible-buyer/ISolvV2ConvertibleBuyerPosition.sol\":\"ISolvV2ConvertibleBuyerPosition\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/persistent/external-positions/solv-v2-convertible-buyer/SolvV2ConvertibleBuyerPositionLibBase1.sol\":{\"keccak256\":\"0x8f2209f92d7ed63f0c3759bc32f7dac32c7fe166e6a06d57ee10c9e955f554d3\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b21a997433ad99e503ba71dc5d5c8e619a2f384b080a5edc78185f3136064e48\",\"dweb:/ipfs/QmeaQgAVoU7SvcLAEaxB6b8op2s7AETzwXcd3YU41PpaAD\"]},\"contracts/release/extensions/external-position-manager/external-positions/solv-v2-convertible-buyer/ISolvV2ConvertibleBuyerPosition.sol\":{\"keccak256\":\"0xa37e1da2db28f16cdfe58b38ea90ce6a3dd23bdfd79f77742ab701f50539e2d3\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://0ab2ce7a04bbcbf20feb464168109040f450bfb8755dec1841f211aca5466af4\",\"dweb:/ipfs/QmeFN2ZoP6SNWCjeJWSuyscyKMPbkmXPhUK2J4RC8S93TJ\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "getDebtAssets", "outputs": [ { "internalType": "address[]", "name": "", "type": "address[]" }, { "internalType": "uint256[]", "name": "", "type": "uint256[]" } ] }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "getManagedAssets", "outputs": [ { "internalType": "address[]", "name": "", "type": "address[]" }, { "internalType": "uint256[]", "name": "", "type": "uint256[]" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getSales", "outputs": [ { "internalType": "struct SolvV2ConvertibleBuyerPositionLibBase1.Sale[]", "name": "sales_", "type": "tuple[]", "components": [ { "internalType": "uint24", "name": "saleId", "type": "uint24" }, { "internalType": "address", "name": "currency", "type": "address" } ] } ] }, { "inputs": [ { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "init" }, { "inputs": [ { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "receiveCallFromVault" } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/external-position-manager/external-positions/solv-v2-convertible-buyer/ISolvV2ConvertibleBuyerPosition.sol": "ISolvV2ConvertibleBuyerPosition" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/external-positions/IExternalPosition.sol": { "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", "urls": [ "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" ], "license": "GPL-3.0" }, "contracts/persistent/external-positions/solv-v2-convertible-buyer/SolvV2ConvertibleBuyerPositionLibBase1.sol": { "keccak256": "0x8f2209f92d7ed63f0c3759bc32f7dac32c7fe166e6a06d57ee10c9e955f554d3", "urls": [ "bzz-raw://b21a997433ad99e503ba71dc5d5c8e619a2f384b080a5edc78185f3136064e48", "dweb:/ipfs/QmeaQgAVoU7SvcLAEaxB6b8op2s7AETzwXcd3YU41PpaAD" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/solv-v2-convertible-buyer/ISolvV2ConvertibleBuyerPosition.sol": { "keccak256": "0xa37e1da2db28f16cdfe58b38ea90ce6a3dd23bdfd79f77742ab701f50539e2d3", "urls": [ "bzz-raw://0ab2ce7a04bbcbf20feb464168109040f450bfb8755dec1841f211aca5466af4", "dweb:/ipfs/QmeFN2ZoP6SNWCjeJWSuyscyKMPbkmXPhUK2J4RC8S93TJ" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 130 } diff --git a/eth_defi/abi/enzyme/ISolvV2ConvertibleIssuerPosition.json b/eth_defi/abi/enzyme/ISolvV2ConvertibleIssuerPosition.json index f1ba920a..921b22c6 100644 --- a/eth_defi/abi/enzyme/ISolvV2ConvertibleIssuerPosition.json +++ b/eth_defi/abi/enzyme/ISolvV2ConvertibleIssuerPosition.json @@ -1,242 +1 @@ -{ - "abi": [ - { - "inputs": [], - "name": "getDebtAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getManagedAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getOffers", - "outputs": [ - { - "internalType": "uint24[]", - "name": "offers_", - "type": "uint24[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "init", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "receiveCallFromVault", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "getDebtAssets()": "ecd658b4", - "getManagedAssets()": "80daddb8", - "getOffers()": "3ee992ee", - "init(bytes)": "4ddf47d4", - "receiveCallFromVault(bytes)": "e5c23a97" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"getDebtAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getManagedAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOffers\",\"outputs\":[{\"internalType\":\"uint24[]\",\"name\":\"offers_\",\"type\":\"uint24[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"receiveCallFromVault\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ISolvV2ConvertibleIssuerPosition Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/solv-v2-convertible-issuer/ISolvV2ConvertibleIssuerPosition.sol\":\"ISolvV2ConvertibleIssuerPosition\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/release/extensions/external-position-manager/external-positions/solv-v2-convertible-issuer/ISolvV2ConvertibleIssuerPosition.sol\":{\"keccak256\":\"0x728f83194c387f423d6d150da01cc276299e4553d58e60a8417b704204f9284b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://77a1628aad46e788f606150955940aecf91d002adb80a62255366e3f35d40843\",\"dweb:/ipfs/QmUtxTYmmtZ93euxWW87aSBsQEFPLSJ55X9BR6WgRuUr6h\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "getDebtAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ] - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "getManagedAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getOffers", - "outputs": [ - { - "internalType": "uint24[]", - "name": "offers_", - "type": "uint24[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "init" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "receiveCallFromVault" - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/external-position-manager/external-positions/solv-v2-convertible-issuer/ISolvV2ConvertibleIssuerPosition.sol": "ISolvV2ConvertibleIssuerPosition" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/external-positions/IExternalPosition.sol": { - "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", - "urls": [ - "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", - "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/solv-v2-convertible-issuer/ISolvV2ConvertibleIssuerPosition.sol": { - "keccak256": "0x728f83194c387f423d6d150da01cc276299e4553d58e60a8417b704204f9284b", - "urls": [ - "bzz-raw://77a1628aad46e788f606150955940aecf91d002adb80a62255366e3f35d40843", - "dweb:/ipfs/QmUtxTYmmtZ93euxWW87aSBsQEFPLSJ55X9BR6WgRuUr6h" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 134 -} +{ "abi": [ { "type": "function", "name": "getDebtAssets", "inputs": [], "outputs": [ { "name": "", "type": "address[]", "internalType": "address[]" }, { "name": "", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "getManagedAssets", "inputs": [], "outputs": [ { "name": "", "type": "address[]", "internalType": "address[]" }, { "name": "", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "getOffers", "inputs": [], "outputs": [ { "name": "offers_", "type": "uint24[]", "internalType": "uint24[]" } ], "stateMutability": "view" }, { "type": "function", "name": "init", "inputs": [ { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "receiveCallFromVault", "inputs": [ { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "getDebtAssets()": "ecd658b4", "getManagedAssets()": "80daddb8", "getOffers()": "3ee992ee", "init(bytes)": "4ddf47d4", "receiveCallFromVault(bytes)": "e5c23a97" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"getDebtAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getManagedAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOffers\",\"outputs\":[{\"internalType\":\"uint24[]\",\"name\":\"offers_\",\"type\":\"uint24[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"receiveCallFromVault\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ISolvV2ConvertibleIssuerPosition Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/solv-v2-convertible-issuer/ISolvV2ConvertibleIssuerPosition.sol\":\"ISolvV2ConvertibleIssuerPosition\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/release/extensions/external-position-manager/external-positions/solv-v2-convertible-issuer/ISolvV2ConvertibleIssuerPosition.sol\":{\"keccak256\":\"0x728f83194c387f423d6d150da01cc276299e4553d58e60a8417b704204f9284b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://77a1628aad46e788f606150955940aecf91d002adb80a62255366e3f35d40843\",\"dweb:/ipfs/QmUtxTYmmtZ93euxWW87aSBsQEFPLSJ55X9BR6WgRuUr6h\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "getDebtAssets", "outputs": [ { "internalType": "address[]", "name": "", "type": "address[]" }, { "internalType": "uint256[]", "name": "", "type": "uint256[]" } ] }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "getManagedAssets", "outputs": [ { "internalType": "address[]", "name": "", "type": "address[]" }, { "internalType": "uint256[]", "name": "", "type": "uint256[]" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getOffers", "outputs": [ { "internalType": "uint24[]", "name": "offers_", "type": "uint24[]" } ] }, { "inputs": [ { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "init" }, { "inputs": [ { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "receiveCallFromVault" } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/external-position-manager/external-positions/solv-v2-convertible-issuer/ISolvV2ConvertibleIssuerPosition.sol": "ISolvV2ConvertibleIssuerPosition" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/external-positions/IExternalPosition.sol": { "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", "urls": [ "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/solv-v2-convertible-issuer/ISolvV2ConvertibleIssuerPosition.sol": { "keccak256": "0x728f83194c387f423d6d150da01cc276299e4553d58e60a8417b704204f9284b", "urls": [ "bzz-raw://77a1628aad46e788f606150955940aecf91d002adb80a62255366e3f35d40843", "dweb:/ipfs/QmUtxTYmmtZ93euxWW87aSBsQEFPLSJ55X9BR6WgRuUr6h" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 134 } diff --git a/eth_defi/abi/enzyme/ISolvV2ConvertibleMarket.json b/eth_defi/abi/enzyme/ISolvV2ConvertibleMarket.json index 43cf7a36..b084a7fc 100644 --- a/eth_defi/abi/enzyme/ISolvV2ConvertibleMarket.json +++ b/eth_defi/abi/enzyme/ISolvV2ConvertibleMarket.json @@ -1,778 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "uint24", - "name": "_saleId", - "type": "uint24" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "buyByAmount", - "outputs": [ - { - "internalType": "uint128", - "name": "units_", - "type": "uint128" - } - ], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint24", - "name": "_saleId", - "type": "uint24" - }, - { - "internalType": "uint128", - "name": "_units", - "type": "uint128" - } - ], - "name": "buyByUnits", - "outputs": [ - { - "internalType": "uint256", - "name": "amount_", - "type": "uint256" - }, - { - "internalType": "uint128", - "name": "fee_", - "type": "uint128" - } - ], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint24", - "name": "_saleId", - "type": "uint24" - } - ], - "name": "getPrice", - "outputs": [ - { - "internalType": "uint128", - "name": "price_", - "type": "uint128" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_voucher", - "type": "address" - } - ], - "name": "markets", - "outputs": [ - { - "components": [ - { - "internalType": "bool", - "name": "isValid", - "type": "bool" - }, - { - "internalType": "uint128", - "name": "precision", - "type": "uint128" - }, - { - "internalType": "enum ISolvV2ConvertibleMarket.FeeType", - "name": "feeType", - "type": "uint8" - }, - { - "internalType": "enum ISolvV2ConvertibleMarket.FeePayType", - "name": "feePayType", - "type": "uint8" - }, - { - "internalType": "uint128", - "name": "feeAmount", - "type": "uint128" - }, - { - "internalType": "uint16", - "name": "feeRate", - "type": "uint16" - } - ], - "internalType": "struct ISolvV2ConvertibleMarket.Market", - "name": "market_", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_voucher", - "type": "address" - }, - { - "internalType": "uint24", - "name": "_tokenId", - "type": "uint24" - }, - { - "internalType": "address", - "name": "_currency", - "type": "address" - }, - { - "internalType": "uint128", - "name": "_min", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "_max", - "type": "uint128" - }, - { - "internalType": "uint32", - "name": "_startTime", - "type": "uint32" - }, - { - "internalType": "bool", - "name": "_useAllowList", - "type": "bool" - }, - { - "internalType": "uint128", - "name": "_highest", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "_lowest", - "type": "uint128" - }, - { - "internalType": "uint32", - "name": "_duration", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "_interval", - "type": "uint32" - } - ], - "name": "publishDecliningPrice", - "outputs": [ - { - "internalType": "uint24", - "name": "saleId_", - "type": "uint24" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_voucher", - "type": "address" - }, - { - "internalType": "uint24", - "name": "_tokenId", - "type": "uint24" - }, - { - "internalType": "address", - "name": "_currency", - "type": "address" - }, - { - "internalType": "uint128", - "name": "_min", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "_max", - "type": "uint128" - }, - { - "internalType": "uint32", - "name": "_startTime", - "type": "uint32" - }, - { - "internalType": "bool", - "name": "_useAllowList", - "type": "bool" - }, - { - "internalType": "uint128", - "name": "_price", - "type": "uint128" - } - ], - "name": "publishFixedPrice", - "outputs": [ - { - "internalType": "uint24", - "name": "saleId_", - "type": "uint24" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint24", - "name": "_saleId", - "type": "uint24" - } - ], - "name": "remove", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint24", - "name": "_saleId", - "type": "uint24" - } - ], - "name": "sales", - "outputs": [ - { - "components": [ - { - "internalType": "uint24", - "name": "saleId", - "type": "uint24" - }, - { - "internalType": "uint24", - "name": "tokenId", - "type": "uint24" - }, - { - "internalType": "uint32", - "name": "startTime", - "type": "uint32" - }, - { - "internalType": "address", - "name": "seller", - "type": "address" - }, - { - "internalType": "enum ISolvV2ConvertibleMarket.PriceType", - "name": "priceType", - "type": "uint8" - }, - { - "internalType": "uint128", - "name": "total", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "units", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "min", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "max", - "type": "uint128" - }, - { - "internalType": "address", - "name": "voucher", - "type": "address" - }, - { - "internalType": "address", - "name": "currency", - "type": "address" - }, - { - "internalType": "bool", - "name": "useAllowList", - "type": "bool" - }, - { - "internalType": "bool", - "name": "isValid", - "type": "bool" - } - ], - "internalType": "struct ISolvV2ConvertibleMarket.Sale", - "name": "sale_", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "buyByAmount(uint24,uint256)": "679a0be7", - "buyByUnits(uint24,uint128)": "9bb3db71", - "getPrice(uint24)": "423dd0dd", - "markets(address)": "8e8f294b", - "publishDecliningPrice(address,uint24,address,uint128,uint128,uint32,bool,uint128,uint128,uint32,uint32)": "e728fd6a", - "publishFixedPrice(address,uint24,address,uint128,uint128,uint32,bool,uint128)": "2db4808e", - "remove(uint24)": "c569a8f2", - "sales(uint24)": "782f5cb3" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint24\",\"name\":\"_saleId\",\"type\":\"uint24\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"buyByAmount\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"units_\",\"type\":\"uint128\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint24\",\"name\":\"_saleId\",\"type\":\"uint24\"},{\"internalType\":\"uint128\",\"name\":\"_units\",\"type\":\"uint128\"}],\"name\":\"buyByUnits\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount_\",\"type\":\"uint256\"},{\"internalType\":\"uint128\",\"name\":\"fee_\",\"type\":\"uint128\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint24\",\"name\":\"_saleId\",\"type\":\"uint24\"}],\"name\":\"getPrice\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"price_\",\"type\":\"uint128\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_voucher\",\"type\":\"address\"}],\"name\":\"markets\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"isValid\",\"type\":\"bool\"},{\"internalType\":\"uint128\",\"name\":\"precision\",\"type\":\"uint128\"},{\"internalType\":\"enum ISolvV2ConvertibleMarket.FeeType\",\"name\":\"feeType\",\"type\":\"uint8\"},{\"internalType\":\"enum ISolvV2ConvertibleMarket.FeePayType\",\"name\":\"feePayType\",\"type\":\"uint8\"},{\"internalType\":\"uint128\",\"name\":\"feeAmount\",\"type\":\"uint128\"},{\"internalType\":\"uint16\",\"name\":\"feeRate\",\"type\":\"uint16\"}],\"internalType\":\"struct ISolvV2ConvertibleMarket.Market\",\"name\":\"market_\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_voucher\",\"type\":\"address\"},{\"internalType\":\"uint24\",\"name\":\"_tokenId\",\"type\":\"uint24\"},{\"internalType\":\"address\",\"name\":\"_currency\",\"type\":\"address\"},{\"internalType\":\"uint128\",\"name\":\"_min\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"_max\",\"type\":\"uint128\"},{\"internalType\":\"uint32\",\"name\":\"_startTime\",\"type\":\"uint32\"},{\"internalType\":\"bool\",\"name\":\"_useAllowList\",\"type\":\"bool\"},{\"internalType\":\"uint128\",\"name\":\"_highest\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"_lowest\",\"type\":\"uint128\"},{\"internalType\":\"uint32\",\"name\":\"_duration\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"_interval\",\"type\":\"uint32\"}],\"name\":\"publishDecliningPrice\",\"outputs\":[{\"internalType\":\"uint24\",\"name\":\"saleId_\",\"type\":\"uint24\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_voucher\",\"type\":\"address\"},{\"internalType\":\"uint24\",\"name\":\"_tokenId\",\"type\":\"uint24\"},{\"internalType\":\"address\",\"name\":\"_currency\",\"type\":\"address\"},{\"internalType\":\"uint128\",\"name\":\"_min\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"_max\",\"type\":\"uint128\"},{\"internalType\":\"uint32\",\"name\":\"_startTime\",\"type\":\"uint32\"},{\"internalType\":\"bool\",\"name\":\"_useAllowList\",\"type\":\"bool\"},{\"internalType\":\"uint128\",\"name\":\"_price\",\"type\":\"uint128\"}],\"name\":\"publishFixedPrice\",\"outputs\":[{\"internalType\":\"uint24\",\"name\":\"saleId_\",\"type\":\"uint24\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint24\",\"name\":\"_saleId\",\"type\":\"uint24\"}],\"name\":\"remove\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint24\",\"name\":\"_saleId\",\"type\":\"uint24\"}],\"name\":\"sales\",\"outputs\":[{\"components\":[{\"internalType\":\"uint24\",\"name\":\"saleId\",\"type\":\"uint24\"},{\"internalType\":\"uint24\",\"name\":\"tokenId\",\"type\":\"uint24\"},{\"internalType\":\"uint32\",\"name\":\"startTime\",\"type\":\"uint32\"},{\"internalType\":\"address\",\"name\":\"seller\",\"type\":\"address\"},{\"internalType\":\"enum ISolvV2ConvertibleMarket.PriceType\",\"name\":\"priceType\",\"type\":\"uint8\"},{\"internalType\":\"uint128\",\"name\":\"total\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"units\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"min\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"max\",\"type\":\"uint128\"},{\"internalType\":\"address\",\"name\":\"voucher\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"useAllowList\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isValid\",\"type\":\"bool\"}],\"internalType\":\"struct ISolvV2ConvertibleMarket.Sale\",\"name\":\"sale_\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"Source: https://github.com/solv-finance/solv-v2-ivo/blob/main/markets/convertible-marketplace/contracts/SolvConvertibleMarket.sol\",\"kind\":\"dev\",\"methods\":{},\"title\":\"ISolvV2ConvertibleMarket Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/ISolvV2ConvertibleMarket.sol\":\"ISolvV2ConvertibleMarket\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/ISolvV2ConvertibleMarket.sol\":{\"keccak256\":\"0x946325023e36bdf0236bd290cecb41b561608f94070f94e112545ef6158057ea\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2825cb13b8339701c4bbf4ec10d4b5f3213a01887afe4e0a44962515fb1720f1\",\"dweb:/ipfs/QmPL6o3GbYr76hm3u1NZM5oJDDob8BPLDXWCTqbBBvTKSU\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "uint24", - "name": "_saleId", - "type": "uint24" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "stateMutability": "payable", - "type": "function", - "name": "buyByAmount", - "outputs": [ - { - "internalType": "uint128", - "name": "units_", - "type": "uint128" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint24", - "name": "_saleId", - "type": "uint24" - }, - { - "internalType": "uint128", - "name": "_units", - "type": "uint128" - } - ], - "stateMutability": "payable", - "type": "function", - "name": "buyByUnits", - "outputs": [ - { - "internalType": "uint256", - "name": "amount_", - "type": "uint256" - }, - { - "internalType": "uint128", - "name": "fee_", - "type": "uint128" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint24", - "name": "_saleId", - "type": "uint24" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getPrice", - "outputs": [ - { - "internalType": "uint128", - "name": "price_", - "type": "uint128" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_voucher", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "markets", - "outputs": [ - { - "internalType": "struct ISolvV2ConvertibleMarket.Market", - "name": "market_", - "type": "tuple", - "components": [ - { - "internalType": "bool", - "name": "isValid", - "type": "bool" - }, - { - "internalType": "uint128", - "name": "precision", - "type": "uint128" - }, - { - "internalType": "enum ISolvV2ConvertibleMarket.FeeType", - "name": "feeType", - "type": "uint8" - }, - { - "internalType": "enum ISolvV2ConvertibleMarket.FeePayType", - "name": "feePayType", - "type": "uint8" - }, - { - "internalType": "uint128", - "name": "feeAmount", - "type": "uint128" - }, - { - "internalType": "uint16", - "name": "feeRate", - "type": "uint16" - } - ] - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_voucher", - "type": "address" - }, - { - "internalType": "uint24", - "name": "_tokenId", - "type": "uint24" - }, - { - "internalType": "address", - "name": "_currency", - "type": "address" - }, - { - "internalType": "uint128", - "name": "_min", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "_max", - "type": "uint128" - }, - { - "internalType": "uint32", - "name": "_startTime", - "type": "uint32" - }, - { - "internalType": "bool", - "name": "_useAllowList", - "type": "bool" - }, - { - "internalType": "uint128", - "name": "_highest", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "_lowest", - "type": "uint128" - }, - { - "internalType": "uint32", - "name": "_duration", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "_interval", - "type": "uint32" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "publishDecliningPrice", - "outputs": [ - { - "internalType": "uint24", - "name": "saleId_", - "type": "uint24" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_voucher", - "type": "address" - }, - { - "internalType": "uint24", - "name": "_tokenId", - "type": "uint24" - }, - { - "internalType": "address", - "name": "_currency", - "type": "address" - }, - { - "internalType": "uint128", - "name": "_min", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "_max", - "type": "uint128" - }, - { - "internalType": "uint32", - "name": "_startTime", - "type": "uint32" - }, - { - "internalType": "bool", - "name": "_useAllowList", - "type": "bool" - }, - { - "internalType": "uint128", - "name": "_price", - "type": "uint128" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "publishFixedPrice", - "outputs": [ - { - "internalType": "uint24", - "name": "saleId_", - "type": "uint24" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint24", - "name": "_saleId", - "type": "uint24" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "remove" - }, - { - "inputs": [ - { - "internalType": "uint24", - "name": "_saleId", - "type": "uint24" - } - ], - "stateMutability": "view", - "type": "function", - "name": "sales", - "outputs": [ - { - "internalType": "struct ISolvV2ConvertibleMarket.Sale", - "name": "sale_", - "type": "tuple", - "components": [ - { - "internalType": "uint24", - "name": "saleId", - "type": "uint24" - }, - { - "internalType": "uint24", - "name": "tokenId", - "type": "uint24" - }, - { - "internalType": "uint32", - "name": "startTime", - "type": "uint32" - }, - { - "internalType": "address", - "name": "seller", - "type": "address" - }, - { - "internalType": "enum ISolvV2ConvertibleMarket.PriceType", - "name": "priceType", - "type": "uint8" - }, - { - "internalType": "uint128", - "name": "total", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "units", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "min", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "max", - "type": "uint128" - }, - { - "internalType": "address", - "name": "voucher", - "type": "address" - }, - { - "internalType": "address", - "name": "currency", - "type": "address" - }, - { - "internalType": "bool", - "name": "useAllowList", - "type": "bool" - }, - { - "internalType": "bool", - "name": "isValid", - "type": "bool" - } - ] - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/interfaces/ISolvV2ConvertibleMarket.sol": "ISolvV2ConvertibleMarket" - }, - "libraries": {} - }, - "sources": { - "contracts/release/interfaces/ISolvV2ConvertibleMarket.sol": { - "keccak256": "0x946325023e36bdf0236bd290cecb41b561608f94070f94e112545ef6158057ea", - "urls": [ - "bzz-raw://2825cb13b8339701c4bbf4ec10d4b5f3213a01887afe4e0a44962515fb1720f1", - "dweb:/ipfs/QmPL6o3GbYr76hm3u1NZM5oJDDob8BPLDXWCTqbBBvTKSU" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 329 -} +{ "abi": [ { "type": "function", "name": "buyByAmount", "inputs": [ { "name": "_saleId", "type": "uint24", "internalType": "uint24" }, { "name": "_amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "units_", "type": "uint128", "internalType": "uint128" } ], "stateMutability": "payable" }, { "type": "function", "name": "buyByUnits", "inputs": [ { "name": "_saleId", "type": "uint24", "internalType": "uint24" }, { "name": "_units", "type": "uint128", "internalType": "uint128" } ], "outputs": [ { "name": "amount_", "type": "uint256", "internalType": "uint256" }, { "name": "fee_", "type": "uint128", "internalType": "uint128" } ], "stateMutability": "payable" }, { "type": "function", "name": "getPrice", "inputs": [ { "name": "_saleId", "type": "uint24", "internalType": "uint24" } ], "outputs": [ { "name": "price_", "type": "uint128", "internalType": "uint128" } ], "stateMutability": "view" }, { "type": "function", "name": "markets", "inputs": [ { "name": "_voucher", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "market_", "type": "tuple", "internalType": "struct ISolvV2ConvertibleMarket.Market", "components": [ { "name": "isValid", "type": "bool", "internalType": "bool" }, { "name": "precision", "type": "uint128", "internalType": "uint128" }, { "name": "feeType", "type": "uint8", "internalType": "enum ISolvV2ConvertibleMarket.FeeType" }, { "name": "feePayType", "type": "uint8", "internalType": "enum ISolvV2ConvertibleMarket.FeePayType" }, { "name": "feeAmount", "type": "uint128", "internalType": "uint128" }, { "name": "feeRate", "type": "uint16", "internalType": "uint16" } ] } ], "stateMutability": "view" }, { "type": "function", "name": "publishDecliningPrice", "inputs": [ { "name": "_voucher", "type": "address", "internalType": "address" }, { "name": "_tokenId", "type": "uint24", "internalType": "uint24" }, { "name": "_currency", "type": "address", "internalType": "address" }, { "name": "_min", "type": "uint128", "internalType": "uint128" }, { "name": "_max", "type": "uint128", "internalType": "uint128" }, { "name": "_startTime", "type": "uint32", "internalType": "uint32" }, { "name": "_useAllowList", "type": "bool", "internalType": "bool" }, { "name": "_highest", "type": "uint128", "internalType": "uint128" }, { "name": "_lowest", "type": "uint128", "internalType": "uint128" }, { "name": "_duration", "type": "uint32", "internalType": "uint32" }, { "name": "_interval", "type": "uint32", "internalType": "uint32" } ], "outputs": [ { "name": "saleId_", "type": "uint24", "internalType": "uint24" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "publishFixedPrice", "inputs": [ { "name": "_voucher", "type": "address", "internalType": "address" }, { "name": "_tokenId", "type": "uint24", "internalType": "uint24" }, { "name": "_currency", "type": "address", "internalType": "address" }, { "name": "_min", "type": "uint128", "internalType": "uint128" }, { "name": "_max", "type": "uint128", "internalType": "uint128" }, { "name": "_startTime", "type": "uint32", "internalType": "uint32" }, { "name": "_useAllowList", "type": "bool", "internalType": "bool" }, { "name": "_price", "type": "uint128", "internalType": "uint128" } ], "outputs": [ { "name": "saleId_", "type": "uint24", "internalType": "uint24" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "remove", "inputs": [ { "name": "_saleId", "type": "uint24", "internalType": "uint24" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "sales", "inputs": [ { "name": "_saleId", "type": "uint24", "internalType": "uint24" } ], "outputs": [ { "name": "sale_", "type": "tuple", "internalType": "struct ISolvV2ConvertibleMarket.Sale", "components": [ { "name": "saleId", "type": "uint24", "internalType": "uint24" }, { "name": "tokenId", "type": "uint24", "internalType": "uint24" }, { "name": "startTime", "type": "uint32", "internalType": "uint32" }, { "name": "seller", "type": "address", "internalType": "address" }, { "name": "priceType", "type": "uint8", "internalType": "enum ISolvV2ConvertibleMarket.PriceType" }, { "name": "total", "type": "uint128", "internalType": "uint128" }, { "name": "units", "type": "uint128", "internalType": "uint128" }, { "name": "min", "type": "uint128", "internalType": "uint128" }, { "name": "max", "type": "uint128", "internalType": "uint128" }, { "name": "voucher", "type": "address", "internalType": "address" }, { "name": "currency", "type": "address", "internalType": "address" }, { "name": "useAllowList", "type": "bool", "internalType": "bool" }, { "name": "isValid", "type": "bool", "internalType": "bool" } ] } ], "stateMutability": "view" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "buyByAmount(uint24,uint256)": "679a0be7", "buyByUnits(uint24,uint128)": "9bb3db71", "getPrice(uint24)": "423dd0dd", "markets(address)": "8e8f294b", "publishDecliningPrice(address,uint24,address,uint128,uint128,uint32,bool,uint128,uint128,uint32,uint32)": "e728fd6a", "publishFixedPrice(address,uint24,address,uint128,uint128,uint32,bool,uint128)": "2db4808e", "remove(uint24)": "c569a8f2", "sales(uint24)": "782f5cb3" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint24\",\"name\":\"_saleId\",\"type\":\"uint24\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"buyByAmount\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"units_\",\"type\":\"uint128\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint24\",\"name\":\"_saleId\",\"type\":\"uint24\"},{\"internalType\":\"uint128\",\"name\":\"_units\",\"type\":\"uint128\"}],\"name\":\"buyByUnits\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount_\",\"type\":\"uint256\"},{\"internalType\":\"uint128\",\"name\":\"fee_\",\"type\":\"uint128\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint24\",\"name\":\"_saleId\",\"type\":\"uint24\"}],\"name\":\"getPrice\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"price_\",\"type\":\"uint128\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_voucher\",\"type\":\"address\"}],\"name\":\"markets\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"isValid\",\"type\":\"bool\"},{\"internalType\":\"uint128\",\"name\":\"precision\",\"type\":\"uint128\"},{\"internalType\":\"enum ISolvV2ConvertibleMarket.FeeType\",\"name\":\"feeType\",\"type\":\"uint8\"},{\"internalType\":\"enum ISolvV2ConvertibleMarket.FeePayType\",\"name\":\"feePayType\",\"type\":\"uint8\"},{\"internalType\":\"uint128\",\"name\":\"feeAmount\",\"type\":\"uint128\"},{\"internalType\":\"uint16\",\"name\":\"feeRate\",\"type\":\"uint16\"}],\"internalType\":\"struct ISolvV2ConvertibleMarket.Market\",\"name\":\"market_\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_voucher\",\"type\":\"address\"},{\"internalType\":\"uint24\",\"name\":\"_tokenId\",\"type\":\"uint24\"},{\"internalType\":\"address\",\"name\":\"_currency\",\"type\":\"address\"},{\"internalType\":\"uint128\",\"name\":\"_min\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"_max\",\"type\":\"uint128\"},{\"internalType\":\"uint32\",\"name\":\"_startTime\",\"type\":\"uint32\"},{\"internalType\":\"bool\",\"name\":\"_useAllowList\",\"type\":\"bool\"},{\"internalType\":\"uint128\",\"name\":\"_highest\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"_lowest\",\"type\":\"uint128\"},{\"internalType\":\"uint32\",\"name\":\"_duration\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"_interval\",\"type\":\"uint32\"}],\"name\":\"publishDecliningPrice\",\"outputs\":[{\"internalType\":\"uint24\",\"name\":\"saleId_\",\"type\":\"uint24\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_voucher\",\"type\":\"address\"},{\"internalType\":\"uint24\",\"name\":\"_tokenId\",\"type\":\"uint24\"},{\"internalType\":\"address\",\"name\":\"_currency\",\"type\":\"address\"},{\"internalType\":\"uint128\",\"name\":\"_min\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"_max\",\"type\":\"uint128\"},{\"internalType\":\"uint32\",\"name\":\"_startTime\",\"type\":\"uint32\"},{\"internalType\":\"bool\",\"name\":\"_useAllowList\",\"type\":\"bool\"},{\"internalType\":\"uint128\",\"name\":\"_price\",\"type\":\"uint128\"}],\"name\":\"publishFixedPrice\",\"outputs\":[{\"internalType\":\"uint24\",\"name\":\"saleId_\",\"type\":\"uint24\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint24\",\"name\":\"_saleId\",\"type\":\"uint24\"}],\"name\":\"remove\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint24\",\"name\":\"_saleId\",\"type\":\"uint24\"}],\"name\":\"sales\",\"outputs\":[{\"components\":[{\"internalType\":\"uint24\",\"name\":\"saleId\",\"type\":\"uint24\"},{\"internalType\":\"uint24\",\"name\":\"tokenId\",\"type\":\"uint24\"},{\"internalType\":\"uint32\",\"name\":\"startTime\",\"type\":\"uint32\"},{\"internalType\":\"address\",\"name\":\"seller\",\"type\":\"address\"},{\"internalType\":\"enum ISolvV2ConvertibleMarket.PriceType\",\"name\":\"priceType\",\"type\":\"uint8\"},{\"internalType\":\"uint128\",\"name\":\"total\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"units\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"min\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"max\",\"type\":\"uint128\"},{\"internalType\":\"address\",\"name\":\"voucher\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"useAllowList\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isValid\",\"type\":\"bool\"}],\"internalType\":\"struct ISolvV2ConvertibleMarket.Sale\",\"name\":\"sale_\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"Source: https://github.com/solv-finance/solv-v2-ivo/blob/main/markets/convertible-marketplace/contracts/SolvConvertibleMarket.sol\",\"kind\":\"dev\",\"methods\":{},\"title\":\"ISolvV2ConvertibleMarket Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/ISolvV2ConvertibleMarket.sol\":\"ISolvV2ConvertibleMarket\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/ISolvV2ConvertibleMarket.sol\":{\"keccak256\":\"0x946325023e36bdf0236bd290cecb41b561608f94070f94e112545ef6158057ea\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2825cb13b8339701c4bbf4ec10d4b5f3213a01887afe4e0a44962515fb1720f1\",\"dweb:/ipfs/QmPL6o3GbYr76hm3u1NZM5oJDDob8BPLDXWCTqbBBvTKSU\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "uint24", "name": "_saleId", "type": "uint24" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "stateMutability": "payable", "type": "function", "name": "buyByAmount", "outputs": [ { "internalType": "uint128", "name": "units_", "type": "uint128" } ] }, { "inputs": [ { "internalType": "uint24", "name": "_saleId", "type": "uint24" }, { "internalType": "uint128", "name": "_units", "type": "uint128" } ], "stateMutability": "payable", "type": "function", "name": "buyByUnits", "outputs": [ { "internalType": "uint256", "name": "amount_", "type": "uint256" }, { "internalType": "uint128", "name": "fee_", "type": "uint128" } ] }, { "inputs": [ { "internalType": "uint24", "name": "_saleId", "type": "uint24" } ], "stateMutability": "view", "type": "function", "name": "getPrice", "outputs": [ { "internalType": "uint128", "name": "price_", "type": "uint128" } ] }, { "inputs": [ { "internalType": "address", "name": "_voucher", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "markets", "outputs": [ { "internalType": "struct ISolvV2ConvertibleMarket.Market", "name": "market_", "type": "tuple", "components": [ { "internalType": "bool", "name": "isValid", "type": "bool" }, { "internalType": "uint128", "name": "precision", "type": "uint128" }, { "internalType": "enum ISolvV2ConvertibleMarket.FeeType", "name": "feeType", "type": "uint8" }, { "internalType": "enum ISolvV2ConvertibleMarket.FeePayType", "name": "feePayType", "type": "uint8" }, { "internalType": "uint128", "name": "feeAmount", "type": "uint128" }, { "internalType": "uint16", "name": "feeRate", "type": "uint16" } ] } ] }, { "inputs": [ { "internalType": "address", "name": "_voucher", "type": "address" }, { "internalType": "uint24", "name": "_tokenId", "type": "uint24" }, { "internalType": "address", "name": "_currency", "type": "address" }, { "internalType": "uint128", "name": "_min", "type": "uint128" }, { "internalType": "uint128", "name": "_max", "type": "uint128" }, { "internalType": "uint32", "name": "_startTime", "type": "uint32" }, { "internalType": "bool", "name": "_useAllowList", "type": "bool" }, { "internalType": "uint128", "name": "_highest", "type": "uint128" }, { "internalType": "uint128", "name": "_lowest", "type": "uint128" }, { "internalType": "uint32", "name": "_duration", "type": "uint32" }, { "internalType": "uint32", "name": "_interval", "type": "uint32" } ], "stateMutability": "nonpayable", "type": "function", "name": "publishDecliningPrice", "outputs": [ { "internalType": "uint24", "name": "saleId_", "type": "uint24" } ] }, { "inputs": [ { "internalType": "address", "name": "_voucher", "type": "address" }, { "internalType": "uint24", "name": "_tokenId", "type": "uint24" }, { "internalType": "address", "name": "_currency", "type": "address" }, { "internalType": "uint128", "name": "_min", "type": "uint128" }, { "internalType": "uint128", "name": "_max", "type": "uint128" }, { "internalType": "uint32", "name": "_startTime", "type": "uint32" }, { "internalType": "bool", "name": "_useAllowList", "type": "bool" }, { "internalType": "uint128", "name": "_price", "type": "uint128" } ], "stateMutability": "nonpayable", "type": "function", "name": "publishFixedPrice", "outputs": [ { "internalType": "uint24", "name": "saleId_", "type": "uint24" } ] }, { "inputs": [ { "internalType": "uint24", "name": "_saleId", "type": "uint24" } ], "stateMutability": "nonpayable", "type": "function", "name": "remove" }, { "inputs": [ { "internalType": "uint24", "name": "_saleId", "type": "uint24" } ], "stateMutability": "view", "type": "function", "name": "sales", "outputs": [ { "internalType": "struct ISolvV2ConvertibleMarket.Sale", "name": "sale_", "type": "tuple", "components": [ { "internalType": "uint24", "name": "saleId", "type": "uint24" }, { "internalType": "uint24", "name": "tokenId", "type": "uint24" }, { "internalType": "uint32", "name": "startTime", "type": "uint32" }, { "internalType": "address", "name": "seller", "type": "address" }, { "internalType": "enum ISolvV2ConvertibleMarket.PriceType", "name": "priceType", "type": "uint8" }, { "internalType": "uint128", "name": "total", "type": "uint128" }, { "internalType": "uint128", "name": "units", "type": "uint128" }, { "internalType": "uint128", "name": "min", "type": "uint128" }, { "internalType": "uint128", "name": "max", "type": "uint128" }, { "internalType": "address", "name": "voucher", "type": "address" }, { "internalType": "address", "name": "currency", "type": "address" }, { "internalType": "bool", "name": "useAllowList", "type": "bool" }, { "internalType": "bool", "name": "isValid", "type": "bool" } ] } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/interfaces/ISolvV2ConvertibleMarket.sol": "ISolvV2ConvertibleMarket" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/interfaces/ISolvV2ConvertibleMarket.sol": { "keccak256": "0x946325023e36bdf0236bd290cecb41b561608f94070f94e112545ef6158057ea", "urls": [ "bzz-raw://2825cb13b8339701c4bbf4ec10d4b5f3213a01887afe4e0a44962515fb1720f1", "dweb:/ipfs/QmPL6o3GbYr76hm3u1NZM5oJDDob8BPLDXWCTqbBBvTKSU" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 329 } diff --git a/eth_defi/abi/enzyme/ISolvV2ConvertiblePool.json b/eth_defi/abi/enzyme/ISolvV2ConvertiblePool.json index 20105ede..124473d6 100644 --- a/eth_defi/abi/enzyme/ISolvV2ConvertiblePool.json +++ b/eth_defi/abi/enzyme/ISolvV2ConvertiblePool.json @@ -1,532 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_issuer", - "type": "address" - } - ], - "name": "getIssuerSlots", - "outputs": [ - { - "internalType": "uint256[]", - "name": "slots_", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_slot", - "type": "uint256" - } - ], - "name": "getSettlePrice", - "outputs": [ - { - "internalType": "uint128", - "name": "settlePrice_", - "type": "uint128" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_slot", - "type": "uint256" - } - ], - "name": "getSlotDetail", - "outputs": [ - { - "components": [ - { - "internalType": "address", - "name": "issuer", - "type": "address" - }, - { - "internalType": "address", - "name": "fundCurrency", - "type": "address" - }, - { - "internalType": "uint256", - "name": "totalValue", - "type": "uint256" - }, - { - "internalType": "uint128", - "name": "lowestPrice", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "highestPrice", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "settlePrice", - "type": "uint128" - }, - { - "internalType": "uint64", - "name": "effectiveTime", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "maturity", - "type": "uint64" - }, - { - "internalType": "enum ISolvV2ConvertiblePool.CollateralType", - "name": "collateralType", - "type": "uint8" - }, - { - "internalType": "bool", - "name": "isIssuerRefunded", - "type": "bool" - }, - { - "internalType": "bool", - "name": "isIssuerWithdrawn", - "type": "bool" - }, - { - "internalType": "bool", - "name": "isClaimed", - "type": "bool" - }, - { - "internalType": "bool", - "name": "isValid", - "type": "bool" - } - ], - "internalType": "struct ISolvV2ConvertiblePool.SlotDetail", - "name": "slotDetail_", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_slot", - "type": "uint256" - } - ], - "name": "getWithdrawableAmount", - "outputs": [ - { - "internalType": "uint256", - "name": "withdrawCurrencyAmount_", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "withdrawTokenAmount_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_slot", - "type": "uint256" - } - ], - "name": "refund", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_slotId", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_currency", - "type": "address" - } - ], - "name": "slotBalances", - "outputs": [ - { - "internalType": "uint256", - "name": "balance_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "valueDecimals", - "outputs": [ - { - "internalType": "uint8", - "name": "decimals_", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_slot", - "type": "uint256" - } - ], - "name": "withdraw", - "outputs": [ - { - "internalType": "uint256", - "name": "withdrawCurrencyAmount_", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "withdrawTokenAmount_", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "getIssuerSlots(address)": "ecaf82a5", - "getSettlePrice(uint256)": "fb7056b7", - "getSlotDetail(uint256)": "d3ceafb9", - "getWithdrawableAmount(uint256)": "875f4384", - "refund(uint256)": "278ecde1", - "slotBalances(uint256,address)": "e55ced31", - "valueDecimals()": "3e7e8669", - "withdraw(uint256)": "2e1a7d4d" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_issuer\",\"type\":\"address\"}],\"name\":\"getIssuerSlots\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"slots_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_slot\",\"type\":\"uint256\"}],\"name\":\"getSettlePrice\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"settlePrice_\",\"type\":\"uint128\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_slot\",\"type\":\"uint256\"}],\"name\":\"getSlotDetail\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"issuer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"fundCurrency\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"totalValue\",\"type\":\"uint256\"},{\"internalType\":\"uint128\",\"name\":\"lowestPrice\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"highestPrice\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"settlePrice\",\"type\":\"uint128\"},{\"internalType\":\"uint64\",\"name\":\"effectiveTime\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"maturity\",\"type\":\"uint64\"},{\"internalType\":\"enum ISolvV2ConvertiblePool.CollateralType\",\"name\":\"collateralType\",\"type\":\"uint8\"},{\"internalType\":\"bool\",\"name\":\"isIssuerRefunded\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isIssuerWithdrawn\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isClaimed\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isValid\",\"type\":\"bool\"}],\"internalType\":\"struct ISolvV2ConvertiblePool.SlotDetail\",\"name\":\"slotDetail_\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_slot\",\"type\":\"uint256\"}],\"name\":\"getWithdrawableAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"withdrawCurrencyAmount_\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"withdrawTokenAmount_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_slot\",\"type\":\"uint256\"}],\"name\":\"refund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_slotId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_currency\",\"type\":\"address\"}],\"name\":\"slotBalances\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"valueDecimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"decimals_\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_slot\",\"type\":\"uint256\"}],\"name\":\"withdraw\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"withdrawCurrencyAmount_\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"withdrawTokenAmount_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"Source: https://github.com/solv-finance/solv-v2-ivo/blob/main/vouchers/convertible-voucher/contracts/ConvertiblePool.sol\",\"kind\":\"dev\",\"methods\":{},\"title\":\"ISolvV2ConvertiblePool Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/ISolvV2ConvertiblePool.sol\":\"ISolvV2ConvertiblePool\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/ISolvV2ConvertiblePool.sol\":{\"keccak256\":\"0x1943f59f09537f176ae398ae51184c9c69e8c366e74f2e7d2f02326c35e6fde7\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://cc239c228406fa50ec4f40a44af9438efdeb63338846a65d5864c61a643e037b\",\"dweb:/ipfs/QmZhYZoKUAPtksVygGhetvP6Yvu4UAsCpiHAqbPWLtpVJC\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_issuer", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getIssuerSlots", - "outputs": [ - { - "internalType": "uint256[]", - "name": "slots_", - "type": "uint256[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_slot", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getSettlePrice", - "outputs": [ - { - "internalType": "uint128", - "name": "settlePrice_", - "type": "uint128" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_slot", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getSlotDetail", - "outputs": [ - { - "internalType": "struct ISolvV2ConvertiblePool.SlotDetail", - "name": "slotDetail_", - "type": "tuple", - "components": [ - { - "internalType": "address", - "name": "issuer", - "type": "address" - }, - { - "internalType": "address", - "name": "fundCurrency", - "type": "address" - }, - { - "internalType": "uint256", - "name": "totalValue", - "type": "uint256" - }, - { - "internalType": "uint128", - "name": "lowestPrice", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "highestPrice", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "settlePrice", - "type": "uint128" - }, - { - "internalType": "uint64", - "name": "effectiveTime", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "maturity", - "type": "uint64" - }, - { - "internalType": "enum ISolvV2ConvertiblePool.CollateralType", - "name": "collateralType", - "type": "uint8" - }, - { - "internalType": "bool", - "name": "isIssuerRefunded", - "type": "bool" - }, - { - "internalType": "bool", - "name": "isIssuerWithdrawn", - "type": "bool" - }, - { - "internalType": "bool", - "name": "isClaimed", - "type": "bool" - }, - { - "internalType": "bool", - "name": "isValid", - "type": "bool" - } - ] - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_slot", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getWithdrawableAmount", - "outputs": [ - { - "internalType": "uint256", - "name": "withdrawCurrencyAmount_", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "withdrawTokenAmount_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_slot", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "refund" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_slotId", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_currency", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "slotBalances", - "outputs": [ - { - "internalType": "uint256", - "name": "balance_", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "valueDecimals", - "outputs": [ - { - "internalType": "uint8", - "name": "decimals_", - "type": "uint8" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_slot", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "withdraw", - "outputs": [ - { - "internalType": "uint256", - "name": "withdrawCurrencyAmount_", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "withdrawTokenAmount_", - "type": "uint256" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/interfaces/ISolvV2ConvertiblePool.sol": "ISolvV2ConvertiblePool" - }, - "libraries": {} - }, - "sources": { - "contracts/release/interfaces/ISolvV2ConvertiblePool.sol": { - "keccak256": "0x1943f59f09537f176ae398ae51184c9c69e8c366e74f2e7d2f02326c35e6fde7", - "urls": [ - "bzz-raw://cc239c228406fa50ec4f40a44af9438efdeb63338846a65d5864c61a643e037b", - "dweb:/ipfs/QmZhYZoKUAPtksVygGhetvP6Yvu4UAsCpiHAqbPWLtpVJC" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 330 -} +{ "abi": [ { "type": "function", "name": "getIssuerSlots", "inputs": [ { "name": "_issuer", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "slots_", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "view" }, { "type": "function", "name": "getSettlePrice", "inputs": [ { "name": "_slot", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "settlePrice_", "type": "uint128", "internalType": "uint128" } ], "stateMutability": "view" }, { "type": "function", "name": "getSlotDetail", "inputs": [ { "name": "_slot", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "slotDetail_", "type": "tuple", "internalType": "struct ISolvV2ConvertiblePool.SlotDetail", "components": [ { "name": "issuer", "type": "address", "internalType": "address" }, { "name": "fundCurrency", "type": "address", "internalType": "address" }, { "name": "totalValue", "type": "uint256", "internalType": "uint256" }, { "name": "lowestPrice", "type": "uint128", "internalType": "uint128" }, { "name": "highestPrice", "type": "uint128", "internalType": "uint128" }, { "name": "settlePrice", "type": "uint128", "internalType": "uint128" }, { "name": "effectiveTime", "type": "uint64", "internalType": "uint64" }, { "name": "maturity", "type": "uint64", "internalType": "uint64" }, { "name": "collateralType", "type": "uint8", "internalType": "enum ISolvV2ConvertiblePool.CollateralType" }, { "name": "isIssuerRefunded", "type": "bool", "internalType": "bool" }, { "name": "isIssuerWithdrawn", "type": "bool", "internalType": "bool" }, { "name": "isClaimed", "type": "bool", "internalType": "bool" }, { "name": "isValid", "type": "bool", "internalType": "bool" } ] } ], "stateMutability": "view" }, { "type": "function", "name": "getWithdrawableAmount", "inputs": [ { "name": "_slot", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "withdrawCurrencyAmount_", "type": "uint256", "internalType": "uint256" }, { "name": "withdrawTokenAmount_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "refund", "inputs": [ { "name": "_slot", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "slotBalances", "inputs": [ { "name": "_slotId", "type": "uint256", "internalType": "uint256" }, { "name": "_currency", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "balance_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "valueDecimals", "inputs": [], "outputs": [ { "name": "decimals_", "type": "uint8", "internalType": "uint8" } ], "stateMutability": "view" }, { "type": "function", "name": "withdraw", "inputs": [ { "name": "_slot", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "withdrawCurrencyAmount_", "type": "uint256", "internalType": "uint256" }, { "name": "withdrawTokenAmount_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "getIssuerSlots(address)": "ecaf82a5", "getSettlePrice(uint256)": "fb7056b7", "getSlotDetail(uint256)": "d3ceafb9", "getWithdrawableAmount(uint256)": "875f4384", "refund(uint256)": "278ecde1", "slotBalances(uint256,address)": "e55ced31", "valueDecimals()": "3e7e8669", "withdraw(uint256)": "2e1a7d4d" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_issuer\",\"type\":\"address\"}],\"name\":\"getIssuerSlots\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"slots_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_slot\",\"type\":\"uint256\"}],\"name\":\"getSettlePrice\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"settlePrice_\",\"type\":\"uint128\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_slot\",\"type\":\"uint256\"}],\"name\":\"getSlotDetail\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"issuer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"fundCurrency\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"totalValue\",\"type\":\"uint256\"},{\"internalType\":\"uint128\",\"name\":\"lowestPrice\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"highestPrice\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"settlePrice\",\"type\":\"uint128\"},{\"internalType\":\"uint64\",\"name\":\"effectiveTime\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"maturity\",\"type\":\"uint64\"},{\"internalType\":\"enum ISolvV2ConvertiblePool.CollateralType\",\"name\":\"collateralType\",\"type\":\"uint8\"},{\"internalType\":\"bool\",\"name\":\"isIssuerRefunded\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isIssuerWithdrawn\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isClaimed\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isValid\",\"type\":\"bool\"}],\"internalType\":\"struct ISolvV2ConvertiblePool.SlotDetail\",\"name\":\"slotDetail_\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_slot\",\"type\":\"uint256\"}],\"name\":\"getWithdrawableAmount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"withdrawCurrencyAmount_\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"withdrawTokenAmount_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_slot\",\"type\":\"uint256\"}],\"name\":\"refund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_slotId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_currency\",\"type\":\"address\"}],\"name\":\"slotBalances\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"valueDecimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"decimals_\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_slot\",\"type\":\"uint256\"}],\"name\":\"withdraw\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"withdrawCurrencyAmount_\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"withdrawTokenAmount_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"Source: https://github.com/solv-finance/solv-v2-ivo/blob/main/vouchers/convertible-voucher/contracts/ConvertiblePool.sol\",\"kind\":\"dev\",\"methods\":{},\"title\":\"ISolvV2ConvertiblePool Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/ISolvV2ConvertiblePool.sol\":\"ISolvV2ConvertiblePool\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/ISolvV2ConvertiblePool.sol\":{\"keccak256\":\"0x1943f59f09537f176ae398ae51184c9c69e8c366e74f2e7d2f02326c35e6fde7\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://cc239c228406fa50ec4f40a44af9438efdeb63338846a65d5864c61a643e037b\",\"dweb:/ipfs/QmZhYZoKUAPtksVygGhetvP6Yvu4UAsCpiHAqbPWLtpVJC\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_issuer", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getIssuerSlots", "outputs": [ { "internalType": "uint256[]", "name": "slots_", "type": "uint256[]" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_slot", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "getSettlePrice", "outputs": [ { "internalType": "uint128", "name": "settlePrice_", "type": "uint128" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_slot", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "getSlotDetail", "outputs": [ { "internalType": "struct ISolvV2ConvertiblePool.SlotDetail", "name": "slotDetail_", "type": "tuple", "components": [ { "internalType": "address", "name": "issuer", "type": "address" }, { "internalType": "address", "name": "fundCurrency", "type": "address" }, { "internalType": "uint256", "name": "totalValue", "type": "uint256" }, { "internalType": "uint128", "name": "lowestPrice", "type": "uint128" }, { "internalType": "uint128", "name": "highestPrice", "type": "uint128" }, { "internalType": "uint128", "name": "settlePrice", "type": "uint128" }, { "internalType": "uint64", "name": "effectiveTime", "type": "uint64" }, { "internalType": "uint64", "name": "maturity", "type": "uint64" }, { "internalType": "enum ISolvV2ConvertiblePool.CollateralType", "name": "collateralType", "type": "uint8" }, { "internalType": "bool", "name": "isIssuerRefunded", "type": "bool" }, { "internalType": "bool", "name": "isIssuerWithdrawn", "type": "bool" }, { "internalType": "bool", "name": "isClaimed", "type": "bool" }, { "internalType": "bool", "name": "isValid", "type": "bool" } ] } ] }, { "inputs": [ { "internalType": "uint256", "name": "_slot", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "getWithdrawableAmount", "outputs": [ { "internalType": "uint256", "name": "withdrawCurrencyAmount_", "type": "uint256" }, { "internalType": "uint256", "name": "withdrawTokenAmount_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_slot", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "refund" }, { "inputs": [ { "internalType": "uint256", "name": "_slotId", "type": "uint256" }, { "internalType": "address", "name": "_currency", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "slotBalances", "outputs": [ { "internalType": "uint256", "name": "balance_", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "valueDecimals", "outputs": [ { "internalType": "uint8", "name": "decimals_", "type": "uint8" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_slot", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "withdraw", "outputs": [ { "internalType": "uint256", "name": "withdrawCurrencyAmount_", "type": "uint256" }, { "internalType": "uint256", "name": "withdrawTokenAmount_", "type": "uint256" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/interfaces/ISolvV2ConvertiblePool.sol": "ISolvV2ConvertiblePool" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/interfaces/ISolvV2ConvertiblePool.sol": { "keccak256": "0x1943f59f09537f176ae398ae51184c9c69e8c366e74f2e7d2f02326c35e6fde7", "urls": [ "bzz-raw://cc239c228406fa50ec4f40a44af9438efdeb63338846a65d5864c61a643e037b", "dweb:/ipfs/QmZhYZoKUAPtksVygGhetvP6Yvu4UAsCpiHAqbPWLtpVJC" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 330 } diff --git a/eth_defi/abi/enzyme/ISolvV2ConvertibleVoucher.json b/eth_defi/abi/enzyme/ISolvV2ConvertibleVoucher.json index f5f782ec..5cd8f444 100644 --- a/eth_defi/abi/enzyme/ISolvV2ConvertibleVoucher.json +++ b/eth_defi/abi/enzyme/ISolvV2ConvertibleVoucher.json @@ -1,680 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_tokenId", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_tokenId", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_claimUnits", - "type": "uint256" - } - ], - "name": "claimTo", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "convertiblePool", - "outputs": [ - { - "internalType": "address", - "name": "convertiblePool_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_issuer", - "type": "address" - }, - { - "internalType": "address", - "name": "_fundCurrency", - "type": "address" - }, - { - "internalType": "uint128", - "name": "_lowestPrice", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "_highestPrice", - "type": "uint128" - }, - { - "internalType": "uint64", - "name": "_effectiveTime", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "_maturity", - "type": "uint64" - }, - { - "internalType": "uint8", - "name": "_collateralType", - "type": "uint8" - } - ], - "name": "getSlot", - "outputs": [ - { - "internalType": "uint256", - "name": "slot_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_slot", - "type": "uint256" - } - ], - "name": "getSlotDetail", - "outputs": [ - { - "components": [ - { - "internalType": "address", - "name": "issuer", - "type": "address" - }, - { - "internalType": "address", - "name": "fundCurrency", - "type": "address" - }, - { - "internalType": "uint256", - "name": "totalValue", - "type": "uint256" - }, - { - "internalType": "uint128", - "name": "lowestPrice", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "highestPrice", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "settlePrice", - "type": "uint128" - }, - { - "internalType": "uint64", - "name": "effectiveTime", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "maturity", - "type": "uint64" - }, - { - "internalType": "enum ISolvV2ConvertiblePool.CollateralType", - "name": "collateralType", - "type": "uint8" - }, - { - "internalType": "bool", - "name": "isIssuerRefunded", - "type": "bool" - }, - { - "internalType": "bool", - "name": "isIssuerWithdrawn", - "type": "bool" - }, - { - "internalType": "bool", - "name": "isClaimed", - "type": "bool" - }, - { - "internalType": "bool", - "name": "isValid", - "type": "bool" - } - ], - "internalType": "struct ISolvV2ConvertiblePool.SlotDetail", - "name": "slotDetail_", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "nextTokenId", - "outputs": [ - { - "internalType": "uint32", - "name": "nextTokenId_", - "type": "uint32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_tokenId", - "type": "uint256" - } - ], - "name": "ownerOf", - "outputs": [ - { - "internalType": "address", - "name": "owner_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_tokenId", - "type": "uint256" - } - ], - "name": "slotOf", - "outputs": [ - { - "internalType": "uint256", - "name": "slotId_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "underlying", - "outputs": [ - { - "internalType": "address", - "name": "underlying_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId_", - "type": "uint256" - } - ], - "name": "unitsInToken", - "outputs": [ - { - "internalType": "uint256", - "name": "units_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_tokenId", - "type": "uint256" - } - ], - "name": "voucherSlotMapping", - "outputs": [ - { - "internalType": "uint256", - "name": "slotId_", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "approve(address,uint256)": "095ea7b3", - "claimTo(uint256,address,uint256)": "7e2985f3", - "convertiblePool()": "360454c5", - "getSlot(address,address,uint128,uint128,uint64,uint64,uint8)": "7d47a66a", - "getSlotDetail(uint256)": "d3ceafb9", - "nextTokenId()": "75794a3c", - "ownerOf(uint256)": "6352211e", - "slotOf(uint256)": "263f3e7e", - "underlying()": "6f307dc3", - "unitsInToken(uint256)": "becef607", - "voucherSlotMapping(uint256)": "bde4c3cb" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_claimUnits\",\"type\":\"uint256\"}],\"name\":\"claimTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"convertiblePool\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"convertiblePool_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_issuer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_fundCurrency\",\"type\":\"address\"},{\"internalType\":\"uint128\",\"name\":\"_lowestPrice\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"_highestPrice\",\"type\":\"uint128\"},{\"internalType\":\"uint64\",\"name\":\"_effectiveTime\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"_maturity\",\"type\":\"uint64\"},{\"internalType\":\"uint8\",\"name\":\"_collateralType\",\"type\":\"uint8\"}],\"name\":\"getSlot\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"slot_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_slot\",\"type\":\"uint256\"}],\"name\":\"getSlotDetail\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"issuer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"fundCurrency\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"totalValue\",\"type\":\"uint256\"},{\"internalType\":\"uint128\",\"name\":\"lowestPrice\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"highestPrice\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"settlePrice\",\"type\":\"uint128\"},{\"internalType\":\"uint64\",\"name\":\"effectiveTime\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"maturity\",\"type\":\"uint64\"},{\"internalType\":\"enum ISolvV2ConvertiblePool.CollateralType\",\"name\":\"collateralType\",\"type\":\"uint8\"},{\"internalType\":\"bool\",\"name\":\"isIssuerRefunded\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isIssuerWithdrawn\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isClaimed\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isValid\",\"type\":\"bool\"}],\"internalType\":\"struct ISolvV2ConvertiblePool.SlotDetail\",\"name\":\"slotDetail_\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextTokenId\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"nextTokenId_\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"slotOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"slotId_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"underlying\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"underlying_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId_\",\"type\":\"uint256\"}],\"name\":\"unitsInToken\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"units_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"voucherSlotMapping\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"slotId_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"Source: https://github.com/solv-finance/solv-v2-ivo/blob/main/vouchers/convertible-voucher/contracts/ConvertibleVoucher.sol\",\"kind\":\"dev\",\"methods\":{},\"title\":\"ISolvV2ConvertibleVoucher Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/ISolvV2ConvertibleVoucher.sol\":\"ISolvV2ConvertibleVoucher\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/ISolvV2ConvertiblePool.sol\":{\"keccak256\":\"0x1943f59f09537f176ae398ae51184c9c69e8c366e74f2e7d2f02326c35e6fde7\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://cc239c228406fa50ec4f40a44af9438efdeb63338846a65d5864c61a643e037b\",\"dweb:/ipfs/QmZhYZoKUAPtksVygGhetvP6Yvu4UAsCpiHAqbPWLtpVJC\"]},\"contracts/release/interfaces/ISolvV2ConvertibleVoucher.sol\":{\"keccak256\":\"0xebec2ad1a5024a1958a558378dfde09cebe998609caa718f13b0088a0347a630\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://fa18447e3accb03306a9904d2d2247c8cadca34a9bc87ca585e6b0646f0814d7\",\"dweb:/ipfs/QmNyrXdUZqbYyDyEu6RyQXttD4mpETd6fFS1UiL2PVDnXf\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_tokenId", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "approve" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_tokenId", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_claimUnits", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "claimTo" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "convertiblePool", - "outputs": [ - { - "internalType": "address", - "name": "convertiblePool_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_issuer", - "type": "address" - }, - { - "internalType": "address", - "name": "_fundCurrency", - "type": "address" - }, - { - "internalType": "uint128", - "name": "_lowestPrice", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "_highestPrice", - "type": "uint128" - }, - { - "internalType": "uint64", - "name": "_effectiveTime", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "_maturity", - "type": "uint64" - }, - { - "internalType": "uint8", - "name": "_collateralType", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getSlot", - "outputs": [ - { - "internalType": "uint256", - "name": "slot_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_slot", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getSlotDetail", - "outputs": [ - { - "internalType": "struct ISolvV2ConvertiblePool.SlotDetail", - "name": "slotDetail_", - "type": "tuple", - "components": [ - { - "internalType": "address", - "name": "issuer", - "type": "address" - }, - { - "internalType": "address", - "name": "fundCurrency", - "type": "address" - }, - { - "internalType": "uint256", - "name": "totalValue", - "type": "uint256" - }, - { - "internalType": "uint128", - "name": "lowestPrice", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "highestPrice", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "settlePrice", - "type": "uint128" - }, - { - "internalType": "uint64", - "name": "effectiveTime", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "maturity", - "type": "uint64" - }, - { - "internalType": "enum ISolvV2ConvertiblePool.CollateralType", - "name": "collateralType", - "type": "uint8" - }, - { - "internalType": "bool", - "name": "isIssuerRefunded", - "type": "bool" - }, - { - "internalType": "bool", - "name": "isIssuerWithdrawn", - "type": "bool" - }, - { - "internalType": "bool", - "name": "isClaimed", - "type": "bool" - }, - { - "internalType": "bool", - "name": "isValid", - "type": "bool" - } - ] - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "nextTokenId", - "outputs": [ - { - "internalType": "uint32", - "name": "nextTokenId_", - "type": "uint32" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_tokenId", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "ownerOf", - "outputs": [ - { - "internalType": "address", - "name": "owner_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_tokenId", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "slotOf", - "outputs": [ - { - "internalType": "uint256", - "name": "slotId_", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "underlying", - "outputs": [ - { - "internalType": "address", - "name": "underlying_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "unitsInToken", - "outputs": [ - { - "internalType": "uint256", - "name": "units_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_tokenId", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "voucherSlotMapping", - "outputs": [ - { - "internalType": "uint256", - "name": "slotId_", - "type": "uint256" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/interfaces/ISolvV2ConvertibleVoucher.sol": "ISolvV2ConvertibleVoucher" - }, - "libraries": {} - }, - "sources": { - "contracts/release/interfaces/ISolvV2ConvertiblePool.sol": { - "keccak256": "0x1943f59f09537f176ae398ae51184c9c69e8c366e74f2e7d2f02326c35e6fde7", - "urls": [ - "bzz-raw://cc239c228406fa50ec4f40a44af9438efdeb63338846a65d5864c61a643e037b", - "dweb:/ipfs/QmZhYZoKUAPtksVygGhetvP6Yvu4UAsCpiHAqbPWLtpVJC" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/ISolvV2ConvertibleVoucher.sol": { - "keccak256": "0xebec2ad1a5024a1958a558378dfde09cebe998609caa718f13b0088a0347a630", - "urls": [ - "bzz-raw://fa18447e3accb03306a9904d2d2247c8cadca34a9bc87ca585e6b0646f0814d7", - "dweb:/ipfs/QmNyrXdUZqbYyDyEu6RyQXttD4mpETd6fFS1UiL2PVDnXf" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 331 -} +{ "abi": [ { "type": "function", "name": "approve", "inputs": [ { "name": "_to", "type": "address", "internalType": "address" }, { "name": "_tokenId", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "claimTo", "inputs": [ { "name": "_tokenId", "type": "uint256", "internalType": "uint256" }, { "name": "_to", "type": "address", "internalType": "address" }, { "name": "_claimUnits", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "convertiblePool", "inputs": [], "outputs": [ { "name": "convertiblePool_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getSlot", "inputs": [ { "name": "_issuer", "type": "address", "internalType": "address" }, { "name": "_fundCurrency", "type": "address", "internalType": "address" }, { "name": "_lowestPrice", "type": "uint128", "internalType": "uint128" }, { "name": "_highestPrice", "type": "uint128", "internalType": "uint128" }, { "name": "_effectiveTime", "type": "uint64", "internalType": "uint64" }, { "name": "_maturity", "type": "uint64", "internalType": "uint64" }, { "name": "_collateralType", "type": "uint8", "internalType": "uint8" } ], "outputs": [ { "name": "slot_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "getSlotDetail", "inputs": [ { "name": "_slot", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "slotDetail_", "type": "tuple", "internalType": "struct ISolvV2ConvertiblePool.SlotDetail", "components": [ { "name": "issuer", "type": "address", "internalType": "address" }, { "name": "fundCurrency", "type": "address", "internalType": "address" }, { "name": "totalValue", "type": "uint256", "internalType": "uint256" }, { "name": "lowestPrice", "type": "uint128", "internalType": "uint128" }, { "name": "highestPrice", "type": "uint128", "internalType": "uint128" }, { "name": "settlePrice", "type": "uint128", "internalType": "uint128" }, { "name": "effectiveTime", "type": "uint64", "internalType": "uint64" }, { "name": "maturity", "type": "uint64", "internalType": "uint64" }, { "name": "collateralType", "type": "uint8", "internalType": "enum ISolvV2ConvertiblePool.CollateralType" }, { "name": "isIssuerRefunded", "type": "bool", "internalType": "bool" }, { "name": "isIssuerWithdrawn", "type": "bool", "internalType": "bool" }, { "name": "isClaimed", "type": "bool", "internalType": "bool" }, { "name": "isValid", "type": "bool", "internalType": "bool" } ] } ], "stateMutability": "view" }, { "type": "function", "name": "nextTokenId", "inputs": [], "outputs": [ { "name": "nextTokenId_", "type": "uint32", "internalType": "uint32" } ], "stateMutability": "view" }, { "type": "function", "name": "ownerOf", "inputs": [ { "name": "_tokenId", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "owner_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "slotOf", "inputs": [ { "name": "_tokenId", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "slotId_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "underlying", "inputs": [], "outputs": [ { "name": "underlying_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "unitsInToken", "inputs": [ { "name": "tokenId_", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "units_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "voucherSlotMapping", "inputs": [ { "name": "_tokenId", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "slotId_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "approve(address,uint256)": "095ea7b3", "claimTo(uint256,address,uint256)": "7e2985f3", "convertiblePool()": "360454c5", "getSlot(address,address,uint128,uint128,uint64,uint64,uint8)": "7d47a66a", "getSlotDetail(uint256)": "d3ceafb9", "nextTokenId()": "75794a3c", "ownerOf(uint256)": "6352211e", "slotOf(uint256)": "263f3e7e", "underlying()": "6f307dc3", "unitsInToken(uint256)": "becef607", "voucherSlotMapping(uint256)": "bde4c3cb" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_claimUnits\",\"type\":\"uint256\"}],\"name\":\"claimTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"convertiblePool\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"convertiblePool_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_issuer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_fundCurrency\",\"type\":\"address\"},{\"internalType\":\"uint128\",\"name\":\"_lowestPrice\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"_highestPrice\",\"type\":\"uint128\"},{\"internalType\":\"uint64\",\"name\":\"_effectiveTime\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"_maturity\",\"type\":\"uint64\"},{\"internalType\":\"uint8\",\"name\":\"_collateralType\",\"type\":\"uint8\"}],\"name\":\"getSlot\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"slot_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_slot\",\"type\":\"uint256\"}],\"name\":\"getSlotDetail\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"issuer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"fundCurrency\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"totalValue\",\"type\":\"uint256\"},{\"internalType\":\"uint128\",\"name\":\"lowestPrice\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"highestPrice\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"settlePrice\",\"type\":\"uint128\"},{\"internalType\":\"uint64\",\"name\":\"effectiveTime\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"maturity\",\"type\":\"uint64\"},{\"internalType\":\"enum ISolvV2ConvertiblePool.CollateralType\",\"name\":\"collateralType\",\"type\":\"uint8\"},{\"internalType\":\"bool\",\"name\":\"isIssuerRefunded\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isIssuerWithdrawn\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isClaimed\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isValid\",\"type\":\"bool\"}],\"internalType\":\"struct ISolvV2ConvertiblePool.SlotDetail\",\"name\":\"slotDetail_\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextTokenId\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"nextTokenId_\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"slotOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"slotId_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"underlying\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"underlying_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId_\",\"type\":\"uint256\"}],\"name\":\"unitsInToken\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"units_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"voucherSlotMapping\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"slotId_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"Source: https://github.com/solv-finance/solv-v2-ivo/blob/main/vouchers/convertible-voucher/contracts/ConvertibleVoucher.sol\",\"kind\":\"dev\",\"methods\":{},\"title\":\"ISolvV2ConvertibleVoucher Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/ISolvV2ConvertibleVoucher.sol\":\"ISolvV2ConvertibleVoucher\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/ISolvV2ConvertiblePool.sol\":{\"keccak256\":\"0x1943f59f09537f176ae398ae51184c9c69e8c366e74f2e7d2f02326c35e6fde7\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://cc239c228406fa50ec4f40a44af9438efdeb63338846a65d5864c61a643e037b\",\"dweb:/ipfs/QmZhYZoKUAPtksVygGhetvP6Yvu4UAsCpiHAqbPWLtpVJC\"]},\"contracts/release/interfaces/ISolvV2ConvertibleVoucher.sol\":{\"keccak256\":\"0xebec2ad1a5024a1958a558378dfde09cebe998609caa718f13b0088a0347a630\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://fa18447e3accb03306a9904d2d2247c8cadca34a9bc87ca585e6b0646f0814d7\",\"dweb:/ipfs/QmNyrXdUZqbYyDyEu6RyQXttD4mpETd6fFS1UiL2PVDnXf\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_to", "type": "address" }, { "internalType": "uint256", "name": "_tokenId", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "approve" }, { "inputs": [ { "internalType": "uint256", "name": "_tokenId", "type": "uint256" }, { "internalType": "address", "name": "_to", "type": "address" }, { "internalType": "uint256", "name": "_claimUnits", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "claimTo" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "convertiblePool", "outputs": [ { "internalType": "address", "name": "convertiblePool_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_issuer", "type": "address" }, { "internalType": "address", "name": "_fundCurrency", "type": "address" }, { "internalType": "uint128", "name": "_lowestPrice", "type": "uint128" }, { "internalType": "uint128", "name": "_highestPrice", "type": "uint128" }, { "internalType": "uint64", "name": "_effectiveTime", "type": "uint64" }, { "internalType": "uint64", "name": "_maturity", "type": "uint64" }, { "internalType": "uint8", "name": "_collateralType", "type": "uint8" } ], "stateMutability": "view", "type": "function", "name": "getSlot", "outputs": [ { "internalType": "uint256", "name": "slot_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_slot", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "getSlotDetail", "outputs": [ { "internalType": "struct ISolvV2ConvertiblePool.SlotDetail", "name": "slotDetail_", "type": "tuple", "components": [ { "internalType": "address", "name": "issuer", "type": "address" }, { "internalType": "address", "name": "fundCurrency", "type": "address" }, { "internalType": "uint256", "name": "totalValue", "type": "uint256" }, { "internalType": "uint128", "name": "lowestPrice", "type": "uint128" }, { "internalType": "uint128", "name": "highestPrice", "type": "uint128" }, { "internalType": "uint128", "name": "settlePrice", "type": "uint128" }, { "internalType": "uint64", "name": "effectiveTime", "type": "uint64" }, { "internalType": "uint64", "name": "maturity", "type": "uint64" }, { "internalType": "enum ISolvV2ConvertiblePool.CollateralType", "name": "collateralType", "type": "uint8" }, { "internalType": "bool", "name": "isIssuerRefunded", "type": "bool" }, { "internalType": "bool", "name": "isIssuerWithdrawn", "type": "bool" }, { "internalType": "bool", "name": "isClaimed", "type": "bool" }, { "internalType": "bool", "name": "isValid", "type": "bool" } ] } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "nextTokenId", "outputs": [ { "internalType": "uint32", "name": "nextTokenId_", "type": "uint32" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_tokenId", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "ownerOf", "outputs": [ { "internalType": "address", "name": "owner_", "type": "address" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_tokenId", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "slotOf", "outputs": [ { "internalType": "uint256", "name": "slotId_", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "underlying", "outputs": [ { "internalType": "address", "name": "underlying_", "type": "address" } ] }, { "inputs": [ { "internalType": "uint256", "name": "tokenId_", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "unitsInToken", "outputs": [ { "internalType": "uint256", "name": "units_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_tokenId", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "voucherSlotMapping", "outputs": [ { "internalType": "uint256", "name": "slotId_", "type": "uint256" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/interfaces/ISolvV2ConvertibleVoucher.sol": "ISolvV2ConvertibleVoucher" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/interfaces/ISolvV2ConvertiblePool.sol": { "keccak256": "0x1943f59f09537f176ae398ae51184c9c69e8c366e74f2e7d2f02326c35e6fde7", "urls": [ "bzz-raw://cc239c228406fa50ec4f40a44af9438efdeb63338846a65d5864c61a643e037b", "dweb:/ipfs/QmZhYZoKUAPtksVygGhetvP6Yvu4UAsCpiHAqbPWLtpVJC" ], "license": "GPL-3.0" }, "contracts/release/interfaces/ISolvV2ConvertibleVoucher.sol": { "keccak256": "0xebec2ad1a5024a1958a558378dfde09cebe998609caa718f13b0088a0347a630", "urls": [ "bzz-raw://fa18447e3accb03306a9904d2d2247c8cadca34a9bc87ca585e6b0646f0814d7", "dweb:/ipfs/QmNyrXdUZqbYyDyEu6RyQXttD4mpETd6fFS1UiL2PVDnXf" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 331 } diff --git a/eth_defi/abi/enzyme/ISolvV2InitialConvertibleOfferingMarket.json b/eth_defi/abi/enzyme/ISolvV2InitialConvertibleOfferingMarket.json index 69a9b0ec..ad000de9 100644 --- a/eth_defi/abi/enzyme/ISolvV2InitialConvertibleOfferingMarket.json +++ b/eth_defi/abi/enzyme/ISolvV2InitialConvertibleOfferingMarket.json @@ -1,767 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "uint24", - "name": "_offeringId", - "type": "uint24" - }, - { - "internalType": "uint128", - "name": "_units", - "type": "uint128" - } - ], - "name": "buy", - "outputs": [ - { - "internalType": "uint256", - "name": "amount_", - "type": "uint256" - }, - { - "internalType": "uint128", - "name": "fee_", - "type": "uint128" - } - ], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint24", - "name": "_offeringId", - "type": "uint24" - } - ], - "name": "getPrice", - "outputs": [ - { - "internalType": "uint256", - "name": "price_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_voucher", - "type": "address" - } - ], - "name": "markets", - "outputs": [ - { - "components": [ - { - "internalType": "enum ISolvV2InitialConvertibleOfferingMarket.VoucherType", - "name": "voucherType", - "type": "uint8" - }, - { - "internalType": "address", - "name": "voucherPool", - "type": "address" - }, - { - "internalType": "address", - "name": "asset", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint16", - "name": "feeRate", - "type": "uint16" - }, - { - "internalType": "bool", - "name": "onlyManangerOffer", - "type": "bool" - }, - { - "internalType": "bool", - "name": "isValid", - "type": "bool" - } - ], - "internalType": "struct ISolvV2InitialConvertibleOfferingMarket.Market", - "name": "market_", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint24", - "name": "_offeringId", - "type": "uint24" - } - ], - "name": "mintParameters", - "outputs": [ - { - "components": [ - { - "internalType": "uint128", - "name": "lowestPrice", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "highestPrice", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "tokenInAmount", - "type": "uint128" - }, - { - "internalType": "uint64", - "name": "effectiveTime", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "maturity", - "type": "uint64" - } - ], - "internalType": "struct ISolvV2InitialConvertibleOfferingMarket.MintParameter", - "name": "mintParameter_", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_voucher", - "type": "address" - }, - { - "internalType": "address", - "name": "_currency", - "type": "address" - }, - { - "internalType": "uint128", - "name": "_min", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "_max", - "type": "uint128" - }, - { - "internalType": "uint32", - "name": "_startTime", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "_endTime", - "type": "uint32" - }, - { - "internalType": "bool", - "name": "_useAllowList", - "type": "bool" - }, - { - "internalType": "enum ISolvV2InitialConvertibleOfferingMarket.PriceType", - "name": "_priceType", - "type": "uint8" - }, - { - "internalType": "bytes", - "name": "_priceData", - "type": "bytes" - }, - { - "components": [ - { - "internalType": "uint128", - "name": "lowestPrice", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "highestPrice", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "tokenInAmount", - "type": "uint128" - }, - { - "internalType": "uint64", - "name": "effectiveTime", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "maturity", - "type": "uint64" - } - ], - "internalType": "struct ISolvV2InitialConvertibleOfferingMarket.MintParameter", - "name": "_mintParameter", - "type": "tuple" - } - ], - "name": "offer", - "outputs": [ - { - "internalType": "uint24", - "name": "offeringId_", - "type": "uint24" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint24", - "name": "_offerId", - "type": "uint24" - } - ], - "name": "offerings", - "outputs": [ - { - "components": [ - { - "internalType": "uint24", - "name": "offeringId", - "type": "uint24" - }, - { - "internalType": "uint32", - "name": "startTime", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "endTime", - "type": "uint32" - }, - { - "internalType": "enum ISolvV2InitialConvertibleOfferingMarket.PriceType", - "name": "priceType", - "type": "uint8" - }, - { - "internalType": "uint128", - "name": "totalUnits", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "units", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "min", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "max", - "type": "uint128" - }, - { - "internalType": "address", - "name": "voucher", - "type": "address" - }, - { - "internalType": "address", - "name": "currency", - "type": "address" - }, - { - "internalType": "address", - "name": "issuer", - "type": "address" - }, - { - "internalType": "bool", - "name": "useAllowList", - "type": "bool" - }, - { - "internalType": "bool", - "name": "isValid", - "type": "bool" - } - ], - "internalType": "struct ISolvV2InitialConvertibleOfferingMarket.Offering", - "name": "offering_", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint24", - "name": "_offeringId", - "type": "uint24" - } - ], - "name": "remove", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "buy(uint24,uint128)": "41ec4ef3", - "getPrice(uint24)": "423dd0dd", - "markets(address)": "8e8f294b", - "mintParameters(uint24)": "c39333ab", - "offer(address,address,uint128,uint128,uint32,uint32,bool,uint8,bytes,(uint128,uint128,uint128,uint64,uint64))": "22784556", - "offerings(uint24)": "9cfb2ab0", - "remove(uint24)": "c569a8f2" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint24\",\"name\":\"_offeringId\",\"type\":\"uint24\"},{\"internalType\":\"uint128\",\"name\":\"_units\",\"type\":\"uint128\"}],\"name\":\"buy\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount_\",\"type\":\"uint256\"},{\"internalType\":\"uint128\",\"name\":\"fee_\",\"type\":\"uint128\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint24\",\"name\":\"_offeringId\",\"type\":\"uint24\"}],\"name\":\"getPrice\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"price_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_voucher\",\"type\":\"address\"}],\"name\":\"markets\",\"outputs\":[{\"components\":[{\"internalType\":\"enum ISolvV2InitialConvertibleOfferingMarket.VoucherType\",\"name\":\"voucherType\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"voucherPool\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"asset\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint16\",\"name\":\"feeRate\",\"type\":\"uint16\"},{\"internalType\":\"bool\",\"name\":\"onlyManangerOffer\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isValid\",\"type\":\"bool\"}],\"internalType\":\"struct ISolvV2InitialConvertibleOfferingMarket.Market\",\"name\":\"market_\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint24\",\"name\":\"_offeringId\",\"type\":\"uint24\"}],\"name\":\"mintParameters\",\"outputs\":[{\"components\":[{\"internalType\":\"uint128\",\"name\":\"lowestPrice\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"highestPrice\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"tokenInAmount\",\"type\":\"uint128\"},{\"internalType\":\"uint64\",\"name\":\"effectiveTime\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"maturity\",\"type\":\"uint64\"}],\"internalType\":\"struct ISolvV2InitialConvertibleOfferingMarket.MintParameter\",\"name\":\"mintParameter_\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_voucher\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_currency\",\"type\":\"address\"},{\"internalType\":\"uint128\",\"name\":\"_min\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"_max\",\"type\":\"uint128\"},{\"internalType\":\"uint32\",\"name\":\"_startTime\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"_endTime\",\"type\":\"uint32\"},{\"internalType\":\"bool\",\"name\":\"_useAllowList\",\"type\":\"bool\"},{\"internalType\":\"enum ISolvV2InitialConvertibleOfferingMarket.PriceType\",\"name\":\"_priceType\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"_priceData\",\"type\":\"bytes\"},{\"components\":[{\"internalType\":\"uint128\",\"name\":\"lowestPrice\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"highestPrice\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"tokenInAmount\",\"type\":\"uint128\"},{\"internalType\":\"uint64\",\"name\":\"effectiveTime\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"maturity\",\"type\":\"uint64\"}],\"internalType\":\"struct ISolvV2InitialConvertibleOfferingMarket.MintParameter\",\"name\":\"_mintParameter\",\"type\":\"tuple\"}],\"name\":\"offer\",\"outputs\":[{\"internalType\":\"uint24\",\"name\":\"offeringId_\",\"type\":\"uint24\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint24\",\"name\":\"_offerId\",\"type\":\"uint24\"}],\"name\":\"offerings\",\"outputs\":[{\"components\":[{\"internalType\":\"uint24\",\"name\":\"offeringId\",\"type\":\"uint24\"},{\"internalType\":\"uint32\",\"name\":\"startTime\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"endTime\",\"type\":\"uint32\"},{\"internalType\":\"enum ISolvV2InitialConvertibleOfferingMarket.PriceType\",\"name\":\"priceType\",\"type\":\"uint8\"},{\"internalType\":\"uint128\",\"name\":\"totalUnits\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"units\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"min\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"max\",\"type\":\"uint128\"},{\"internalType\":\"address\",\"name\":\"voucher\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"issuer\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"useAllowList\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isValid\",\"type\":\"bool\"}],\"internalType\":\"struct ISolvV2InitialConvertibleOfferingMarket.Offering\",\"name\":\"offering_\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint24\",\"name\":\"_offeringId\",\"type\":\"uint24\"}],\"name\":\"remove\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"Source: https://github.com/solv-finance/solv-v2-ivo/blob/main/markets/convertible-offering-market/contracts/InitialConvertibleOfferingMarket.sol\",\"kind\":\"dev\",\"methods\":{},\"title\":\"ISolvV2InitialConvertibleOfferingMarket Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/ISolvV2InitialConvertibleOfferingMarket.sol\":\"ISolvV2InitialConvertibleOfferingMarket\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/ISolvV2InitialConvertibleOfferingMarket.sol\":{\"keccak256\":\"0xe34205d54ec639e2e3f8e0e2871984a6796424d903259857f1f11de260cf8abe\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://908f8d334df9ae2191787a8e53c78b1847bd936f2ce9d04115f5e9339c3e3934\",\"dweb:/ipfs/QmZzxE748Hb2Vosu7cwPmkb4EVpoqvS4RgHogLrvDgsnD3\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "uint24", - "name": "_offeringId", - "type": "uint24" - }, - { - "internalType": "uint128", - "name": "_units", - "type": "uint128" - } - ], - "stateMutability": "payable", - "type": "function", - "name": "buy", - "outputs": [ - { - "internalType": "uint256", - "name": "amount_", - "type": "uint256" - }, - { - "internalType": "uint128", - "name": "fee_", - "type": "uint128" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint24", - "name": "_offeringId", - "type": "uint24" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getPrice", - "outputs": [ - { - "internalType": "uint256", - "name": "price_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_voucher", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "markets", - "outputs": [ - { - "internalType": "struct ISolvV2InitialConvertibleOfferingMarket.Market", - "name": "market_", - "type": "tuple", - "components": [ - { - "internalType": "enum ISolvV2InitialConvertibleOfferingMarket.VoucherType", - "name": "voucherType", - "type": "uint8" - }, - { - "internalType": "address", - "name": "voucherPool", - "type": "address" - }, - { - "internalType": "address", - "name": "asset", - "type": "address" - }, - { - "internalType": "uint8", - "name": "decimals", - "type": "uint8" - }, - { - "internalType": "uint16", - "name": "feeRate", - "type": "uint16" - }, - { - "internalType": "bool", - "name": "onlyManangerOffer", - "type": "bool" - }, - { - "internalType": "bool", - "name": "isValid", - "type": "bool" - } - ] - } - ] - }, - { - "inputs": [ - { - "internalType": "uint24", - "name": "_offeringId", - "type": "uint24" - } - ], - "stateMutability": "view", - "type": "function", - "name": "mintParameters", - "outputs": [ - { - "internalType": "struct ISolvV2InitialConvertibleOfferingMarket.MintParameter", - "name": "mintParameter_", - "type": "tuple", - "components": [ - { - "internalType": "uint128", - "name": "lowestPrice", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "highestPrice", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "tokenInAmount", - "type": "uint128" - }, - { - "internalType": "uint64", - "name": "effectiveTime", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "maturity", - "type": "uint64" - } - ] - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_voucher", - "type": "address" - }, - { - "internalType": "address", - "name": "_currency", - "type": "address" - }, - { - "internalType": "uint128", - "name": "_min", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "_max", - "type": "uint128" - }, - { - "internalType": "uint32", - "name": "_startTime", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "_endTime", - "type": "uint32" - }, - { - "internalType": "bool", - "name": "_useAllowList", - "type": "bool" - }, - { - "internalType": "enum ISolvV2InitialConvertibleOfferingMarket.PriceType", - "name": "_priceType", - "type": "uint8" - }, - { - "internalType": "bytes", - "name": "_priceData", - "type": "bytes" - }, - { - "internalType": "struct ISolvV2InitialConvertibleOfferingMarket.MintParameter", - "name": "_mintParameter", - "type": "tuple", - "components": [ - { - "internalType": "uint128", - "name": "lowestPrice", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "highestPrice", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "tokenInAmount", - "type": "uint128" - }, - { - "internalType": "uint64", - "name": "effectiveTime", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "maturity", - "type": "uint64" - } - ] - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "offer", - "outputs": [ - { - "internalType": "uint24", - "name": "offeringId_", - "type": "uint24" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint24", - "name": "_offerId", - "type": "uint24" - } - ], - "stateMutability": "view", - "type": "function", - "name": "offerings", - "outputs": [ - { - "internalType": "struct ISolvV2InitialConvertibleOfferingMarket.Offering", - "name": "offering_", - "type": "tuple", - "components": [ - { - "internalType": "uint24", - "name": "offeringId", - "type": "uint24" - }, - { - "internalType": "uint32", - "name": "startTime", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "endTime", - "type": "uint32" - }, - { - "internalType": "enum ISolvV2InitialConvertibleOfferingMarket.PriceType", - "name": "priceType", - "type": "uint8" - }, - { - "internalType": "uint128", - "name": "totalUnits", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "units", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "min", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "max", - "type": "uint128" - }, - { - "internalType": "address", - "name": "voucher", - "type": "address" - }, - { - "internalType": "address", - "name": "currency", - "type": "address" - }, - { - "internalType": "address", - "name": "issuer", - "type": "address" - }, - { - "internalType": "bool", - "name": "useAllowList", - "type": "bool" - }, - { - "internalType": "bool", - "name": "isValid", - "type": "bool" - } - ] - } - ] - }, - { - "inputs": [ - { - "internalType": "uint24", - "name": "_offeringId", - "type": "uint24" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "remove" - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/interfaces/ISolvV2InitialConvertibleOfferingMarket.sol": "ISolvV2InitialConvertibleOfferingMarket" - }, - "libraries": {} - }, - "sources": { - "contracts/release/interfaces/ISolvV2InitialConvertibleOfferingMarket.sol": { - "keccak256": "0xe34205d54ec639e2e3f8e0e2871984a6796424d903259857f1f11de260cf8abe", - "urls": [ - "bzz-raw://908f8d334df9ae2191787a8e53c78b1847bd936f2ce9d04115f5e9339c3e3934", - "dweb:/ipfs/QmZzxE748Hb2Vosu7cwPmkb4EVpoqvS4RgHogLrvDgsnD3" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 332 -} +{ "abi": [ { "type": "function", "name": "buy", "inputs": [ { "name": "_offeringId", "type": "uint24", "internalType": "uint24" }, { "name": "_units", "type": "uint128", "internalType": "uint128" } ], "outputs": [ { "name": "amount_", "type": "uint256", "internalType": "uint256" }, { "name": "fee_", "type": "uint128", "internalType": "uint128" } ], "stateMutability": "payable" }, { "type": "function", "name": "getPrice", "inputs": [ { "name": "_offeringId", "type": "uint24", "internalType": "uint24" } ], "outputs": [ { "name": "price_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "markets", "inputs": [ { "name": "_voucher", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "market_", "type": "tuple", "internalType": "struct ISolvV2InitialConvertibleOfferingMarket.Market", "components": [ { "name": "voucherType", "type": "uint8", "internalType": "enum ISolvV2InitialConvertibleOfferingMarket.VoucherType" }, { "name": "voucherPool", "type": "address", "internalType": "address" }, { "name": "asset", "type": "address", "internalType": "address" }, { "name": "decimals", "type": "uint8", "internalType": "uint8" }, { "name": "feeRate", "type": "uint16", "internalType": "uint16" }, { "name": "onlyManangerOffer", "type": "bool", "internalType": "bool" }, { "name": "isValid", "type": "bool", "internalType": "bool" } ] } ], "stateMutability": "view" }, { "type": "function", "name": "mintParameters", "inputs": [ { "name": "_offeringId", "type": "uint24", "internalType": "uint24" } ], "outputs": [ { "name": "mintParameter_", "type": "tuple", "internalType": "struct ISolvV2InitialConvertibleOfferingMarket.MintParameter", "components": [ { "name": "lowestPrice", "type": "uint128", "internalType": "uint128" }, { "name": "highestPrice", "type": "uint128", "internalType": "uint128" }, { "name": "tokenInAmount", "type": "uint128", "internalType": "uint128" }, { "name": "effectiveTime", "type": "uint64", "internalType": "uint64" }, { "name": "maturity", "type": "uint64", "internalType": "uint64" } ] } ], "stateMutability": "view" }, { "type": "function", "name": "offer", "inputs": [ { "name": "_voucher", "type": "address", "internalType": "address" }, { "name": "_currency", "type": "address", "internalType": "address" }, { "name": "_min", "type": "uint128", "internalType": "uint128" }, { "name": "_max", "type": "uint128", "internalType": "uint128" }, { "name": "_startTime", "type": "uint32", "internalType": "uint32" }, { "name": "_endTime", "type": "uint32", "internalType": "uint32" }, { "name": "_useAllowList", "type": "bool", "internalType": "bool" }, { "name": "_priceType", "type": "uint8", "internalType": "enum ISolvV2InitialConvertibleOfferingMarket.PriceType" }, { "name": "_priceData", "type": "bytes", "internalType": "bytes" }, { "name": "_mintParameter", "type": "tuple", "internalType": "struct ISolvV2InitialConvertibleOfferingMarket.MintParameter", "components": [ { "name": "lowestPrice", "type": "uint128", "internalType": "uint128" }, { "name": "highestPrice", "type": "uint128", "internalType": "uint128" }, { "name": "tokenInAmount", "type": "uint128", "internalType": "uint128" }, { "name": "effectiveTime", "type": "uint64", "internalType": "uint64" }, { "name": "maturity", "type": "uint64", "internalType": "uint64" } ] } ], "outputs": [ { "name": "offeringId_", "type": "uint24", "internalType": "uint24" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "offerings", "inputs": [ { "name": "_offerId", "type": "uint24", "internalType": "uint24" } ], "outputs": [ { "name": "offering_", "type": "tuple", "internalType": "struct ISolvV2InitialConvertibleOfferingMarket.Offering", "components": [ { "name": "offeringId", "type": "uint24", "internalType": "uint24" }, { "name": "startTime", "type": "uint32", "internalType": "uint32" }, { "name": "endTime", "type": "uint32", "internalType": "uint32" }, { "name": "priceType", "type": "uint8", "internalType": "enum ISolvV2InitialConvertibleOfferingMarket.PriceType" }, { "name": "totalUnits", "type": "uint128", "internalType": "uint128" }, { "name": "units", "type": "uint128", "internalType": "uint128" }, { "name": "min", "type": "uint128", "internalType": "uint128" }, { "name": "max", "type": "uint128", "internalType": "uint128" }, { "name": "voucher", "type": "address", "internalType": "address" }, { "name": "currency", "type": "address", "internalType": "address" }, { "name": "issuer", "type": "address", "internalType": "address" }, { "name": "useAllowList", "type": "bool", "internalType": "bool" }, { "name": "isValid", "type": "bool", "internalType": "bool" } ] } ], "stateMutability": "view" }, { "type": "function", "name": "remove", "inputs": [ { "name": "_offeringId", "type": "uint24", "internalType": "uint24" } ], "outputs": [], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "buy(uint24,uint128)": "41ec4ef3", "getPrice(uint24)": "423dd0dd", "markets(address)": "8e8f294b", "mintParameters(uint24)": "c39333ab", "offer(address,address,uint128,uint128,uint32,uint32,bool,uint8,bytes,(uint128,uint128,uint128,uint64,uint64))": "22784556", "offerings(uint24)": "9cfb2ab0", "remove(uint24)": "c569a8f2" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint24\",\"name\":\"_offeringId\",\"type\":\"uint24\"},{\"internalType\":\"uint128\",\"name\":\"_units\",\"type\":\"uint128\"}],\"name\":\"buy\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount_\",\"type\":\"uint256\"},{\"internalType\":\"uint128\",\"name\":\"fee_\",\"type\":\"uint128\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint24\",\"name\":\"_offeringId\",\"type\":\"uint24\"}],\"name\":\"getPrice\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"price_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_voucher\",\"type\":\"address\"}],\"name\":\"markets\",\"outputs\":[{\"components\":[{\"internalType\":\"enum ISolvV2InitialConvertibleOfferingMarket.VoucherType\",\"name\":\"voucherType\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"voucherPool\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"asset\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint16\",\"name\":\"feeRate\",\"type\":\"uint16\"},{\"internalType\":\"bool\",\"name\":\"onlyManangerOffer\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isValid\",\"type\":\"bool\"}],\"internalType\":\"struct ISolvV2InitialConvertibleOfferingMarket.Market\",\"name\":\"market_\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint24\",\"name\":\"_offeringId\",\"type\":\"uint24\"}],\"name\":\"mintParameters\",\"outputs\":[{\"components\":[{\"internalType\":\"uint128\",\"name\":\"lowestPrice\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"highestPrice\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"tokenInAmount\",\"type\":\"uint128\"},{\"internalType\":\"uint64\",\"name\":\"effectiveTime\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"maturity\",\"type\":\"uint64\"}],\"internalType\":\"struct ISolvV2InitialConvertibleOfferingMarket.MintParameter\",\"name\":\"mintParameter_\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_voucher\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_currency\",\"type\":\"address\"},{\"internalType\":\"uint128\",\"name\":\"_min\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"_max\",\"type\":\"uint128\"},{\"internalType\":\"uint32\",\"name\":\"_startTime\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"_endTime\",\"type\":\"uint32\"},{\"internalType\":\"bool\",\"name\":\"_useAllowList\",\"type\":\"bool\"},{\"internalType\":\"enum ISolvV2InitialConvertibleOfferingMarket.PriceType\",\"name\":\"_priceType\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"_priceData\",\"type\":\"bytes\"},{\"components\":[{\"internalType\":\"uint128\",\"name\":\"lowestPrice\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"highestPrice\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"tokenInAmount\",\"type\":\"uint128\"},{\"internalType\":\"uint64\",\"name\":\"effectiveTime\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"maturity\",\"type\":\"uint64\"}],\"internalType\":\"struct ISolvV2InitialConvertibleOfferingMarket.MintParameter\",\"name\":\"_mintParameter\",\"type\":\"tuple\"}],\"name\":\"offer\",\"outputs\":[{\"internalType\":\"uint24\",\"name\":\"offeringId_\",\"type\":\"uint24\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint24\",\"name\":\"_offerId\",\"type\":\"uint24\"}],\"name\":\"offerings\",\"outputs\":[{\"components\":[{\"internalType\":\"uint24\",\"name\":\"offeringId\",\"type\":\"uint24\"},{\"internalType\":\"uint32\",\"name\":\"startTime\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"endTime\",\"type\":\"uint32\"},{\"internalType\":\"enum ISolvV2InitialConvertibleOfferingMarket.PriceType\",\"name\":\"priceType\",\"type\":\"uint8\"},{\"internalType\":\"uint128\",\"name\":\"totalUnits\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"units\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"min\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"max\",\"type\":\"uint128\"},{\"internalType\":\"address\",\"name\":\"voucher\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"issuer\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"useAllowList\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isValid\",\"type\":\"bool\"}],\"internalType\":\"struct ISolvV2InitialConvertibleOfferingMarket.Offering\",\"name\":\"offering_\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint24\",\"name\":\"_offeringId\",\"type\":\"uint24\"}],\"name\":\"remove\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"Source: https://github.com/solv-finance/solv-v2-ivo/blob/main/markets/convertible-offering-market/contracts/InitialConvertibleOfferingMarket.sol\",\"kind\":\"dev\",\"methods\":{},\"title\":\"ISolvV2InitialConvertibleOfferingMarket Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/ISolvV2InitialConvertibleOfferingMarket.sol\":\"ISolvV2InitialConvertibleOfferingMarket\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/ISolvV2InitialConvertibleOfferingMarket.sol\":{\"keccak256\":\"0xe34205d54ec639e2e3f8e0e2871984a6796424d903259857f1f11de260cf8abe\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://908f8d334df9ae2191787a8e53c78b1847bd936f2ce9d04115f5e9339c3e3934\",\"dweb:/ipfs/QmZzxE748Hb2Vosu7cwPmkb4EVpoqvS4RgHogLrvDgsnD3\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "uint24", "name": "_offeringId", "type": "uint24" }, { "internalType": "uint128", "name": "_units", "type": "uint128" } ], "stateMutability": "payable", "type": "function", "name": "buy", "outputs": [ { "internalType": "uint256", "name": "amount_", "type": "uint256" }, { "internalType": "uint128", "name": "fee_", "type": "uint128" } ] }, { "inputs": [ { "internalType": "uint24", "name": "_offeringId", "type": "uint24" } ], "stateMutability": "view", "type": "function", "name": "getPrice", "outputs": [ { "internalType": "uint256", "name": "price_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "_voucher", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "markets", "outputs": [ { "internalType": "struct ISolvV2InitialConvertibleOfferingMarket.Market", "name": "market_", "type": "tuple", "components": [ { "internalType": "enum ISolvV2InitialConvertibleOfferingMarket.VoucherType", "name": "voucherType", "type": "uint8" }, { "internalType": "address", "name": "voucherPool", "type": "address" }, { "internalType": "address", "name": "asset", "type": "address" }, { "internalType": "uint8", "name": "decimals", "type": "uint8" }, { "internalType": "uint16", "name": "feeRate", "type": "uint16" }, { "internalType": "bool", "name": "onlyManangerOffer", "type": "bool" }, { "internalType": "bool", "name": "isValid", "type": "bool" } ] } ] }, { "inputs": [ { "internalType": "uint24", "name": "_offeringId", "type": "uint24" } ], "stateMutability": "view", "type": "function", "name": "mintParameters", "outputs": [ { "internalType": "struct ISolvV2InitialConvertibleOfferingMarket.MintParameter", "name": "mintParameter_", "type": "tuple", "components": [ { "internalType": "uint128", "name": "lowestPrice", "type": "uint128" }, { "internalType": "uint128", "name": "highestPrice", "type": "uint128" }, { "internalType": "uint128", "name": "tokenInAmount", "type": "uint128" }, { "internalType": "uint64", "name": "effectiveTime", "type": "uint64" }, { "internalType": "uint64", "name": "maturity", "type": "uint64" } ] } ] }, { "inputs": [ { "internalType": "address", "name": "_voucher", "type": "address" }, { "internalType": "address", "name": "_currency", "type": "address" }, { "internalType": "uint128", "name": "_min", "type": "uint128" }, { "internalType": "uint128", "name": "_max", "type": "uint128" }, { "internalType": "uint32", "name": "_startTime", "type": "uint32" }, { "internalType": "uint32", "name": "_endTime", "type": "uint32" }, { "internalType": "bool", "name": "_useAllowList", "type": "bool" }, { "internalType": "enum ISolvV2InitialConvertibleOfferingMarket.PriceType", "name": "_priceType", "type": "uint8" }, { "internalType": "bytes", "name": "_priceData", "type": "bytes" }, { "internalType": "struct ISolvV2InitialConvertibleOfferingMarket.MintParameter", "name": "_mintParameter", "type": "tuple", "components": [ { "internalType": "uint128", "name": "lowestPrice", "type": "uint128" }, { "internalType": "uint128", "name": "highestPrice", "type": "uint128" }, { "internalType": "uint128", "name": "tokenInAmount", "type": "uint128" }, { "internalType": "uint64", "name": "effectiveTime", "type": "uint64" }, { "internalType": "uint64", "name": "maturity", "type": "uint64" } ] } ], "stateMutability": "nonpayable", "type": "function", "name": "offer", "outputs": [ { "internalType": "uint24", "name": "offeringId_", "type": "uint24" } ] }, { "inputs": [ { "internalType": "uint24", "name": "_offerId", "type": "uint24" } ], "stateMutability": "view", "type": "function", "name": "offerings", "outputs": [ { "internalType": "struct ISolvV2InitialConvertibleOfferingMarket.Offering", "name": "offering_", "type": "tuple", "components": [ { "internalType": "uint24", "name": "offeringId", "type": "uint24" }, { "internalType": "uint32", "name": "startTime", "type": "uint32" }, { "internalType": "uint32", "name": "endTime", "type": "uint32" }, { "internalType": "enum ISolvV2InitialConvertibleOfferingMarket.PriceType", "name": "priceType", "type": "uint8" }, { "internalType": "uint128", "name": "totalUnits", "type": "uint128" }, { "internalType": "uint128", "name": "units", "type": "uint128" }, { "internalType": "uint128", "name": "min", "type": "uint128" }, { "internalType": "uint128", "name": "max", "type": "uint128" }, { "internalType": "address", "name": "voucher", "type": "address" }, { "internalType": "address", "name": "currency", "type": "address" }, { "internalType": "address", "name": "issuer", "type": "address" }, { "internalType": "bool", "name": "useAllowList", "type": "bool" }, { "internalType": "bool", "name": "isValid", "type": "bool" } ] } ] }, { "inputs": [ { "internalType": "uint24", "name": "_offeringId", "type": "uint24" } ], "stateMutability": "nonpayable", "type": "function", "name": "remove" } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/interfaces/ISolvV2InitialConvertibleOfferingMarket.sol": "ISolvV2InitialConvertibleOfferingMarket" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/interfaces/ISolvV2InitialConvertibleOfferingMarket.sol": { "keccak256": "0xe34205d54ec639e2e3f8e0e2871984a6796424d903259857f1f11de260cf8abe", "urls": [ "bzz-raw://908f8d334df9ae2191787a8e53c78b1847bd936f2ce9d04115f5e9339c3e3934", "dweb:/ipfs/QmZzxE748Hb2Vosu7cwPmkb4EVpoqvS4RgHogLrvDgsnD3" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 332 } diff --git a/eth_defi/abi/enzyme/IStakingWrapper.json b/eth_defi/abi/enzyme/IStakingWrapper.json index 5afbfb20..84f969f7 100644 --- a/eth_defi/abi/enzyme/IStakingWrapper.json +++ b/eth_defi/abi/enzyme/IStakingWrapper.json @@ -1,609 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_for", - "type": "address" - } - ], - "name": "claimRewardsFor", - "outputs": [ - { - "internalType": "address[]", - "name": "rewardTokens_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "claimedAmounts_", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "deposit", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "depositTo", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_index", - "type": "uint256" - } - ], - "name": "getRewardTokenAtIndex", - "outputs": [ - { - "internalType": "address", - "name": "rewardToken_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getRewardTokenCount", - "outputs": [ - { - "internalType": "uint256", - "name": "count_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getRewardTokens", - "outputs": [ - { - "internalType": "address[]", - "name": "rewardTokens_", - "type": "address[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_rewardToken", - "type": "address" - } - ], - "name": "getTotalHarvestDataForRewardToken", - "outputs": [ - { - "components": [ - { - "internalType": "uint128", - "name": "integral", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "lastCheckpointBalance", - "type": "uint128" - } - ], - "internalType": "struct IStakingWrapper.TotalHarvestData", - "name": "totalHarvestData_", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_user", - "type": "address" - }, - { - "internalType": "address", - "name": "_rewardToken", - "type": "address" - } - ], - "name": "getUserHarvestDataForRewardToken", - "outputs": [ - { - "components": [ - { - "internalType": "uint128", - "name": "integral", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "claimableReward", - "type": "uint128" - } - ], - "internalType": "struct IStakingWrapper.UserHarvestData", - "name": "userHarvestData_", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "isPaused", - "outputs": [ - { - "internalType": "bool", - "name": "isPaused_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "_claimRewards", - "type": "bool" - } - ], - "name": "withdraw", - "outputs": [ - { - "internalType": "address[]", - "name": "rewardTokens_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "claimedAmounts_", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "_claimRewardsToHolder", - "type": "bool" - } - ], - "name": "withdrawTo", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_onBehalf", - "type": "address" - }, - { - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "_claimRewardsToHolder", - "type": "bool" - } - ], - "name": "withdrawToOnBehalf", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "claimRewardsFor(address)": "1ac6d19d", - "deposit(uint256)": "b6b55f25", - "depositTo(address,uint256)": "ffaad6a5", - "getRewardTokenAtIndex(uint256)": "a7d2793f", - "getRewardTokenCount()": "82e5d073", - "getRewardTokens()": "c4f59f9b", - "getTotalHarvestDataForRewardToken(address)": "9655dd61", - "getUserHarvestDataForRewardToken(address,address)": "093f6365", - "isPaused()": "b187bd26", - "withdraw(uint256,bool)": "38d07436", - "withdrawTo(address,uint256,bool)": "73e2290c", - "withdrawToOnBehalf(address,address,uint256,bool)": "2cfafabe" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_for\",\"type\":\"address\"}],\"name\":\"claimRewardsFor\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"rewardTokens_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"claimedAmounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"deposit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"depositTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_index\",\"type\":\"uint256\"}],\"name\":\"getRewardTokenAtIndex\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"rewardToken_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRewardTokenCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"count_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRewardTokens\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"rewardTokens_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_rewardToken\",\"type\":\"address\"}],\"name\":\"getTotalHarvestDataForRewardToken\",\"outputs\":[{\"components\":[{\"internalType\":\"uint128\",\"name\":\"integral\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"lastCheckpointBalance\",\"type\":\"uint128\"}],\"internalType\":\"struct IStakingWrapper.TotalHarvestData\",\"name\":\"totalHarvestData_\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_rewardToken\",\"type\":\"address\"}],\"name\":\"getUserHarvestDataForRewardToken\",\"outputs\":[{\"components\":[{\"internalType\":\"uint128\",\"name\":\"integral\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"claimableReward\",\"type\":\"uint128\"}],\"internalType\":\"struct IStakingWrapper.UserHarvestData\",\"name\":\"userHarvestData_\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isPaused\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isPaused_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"_claimRewards\",\"type\":\"bool\"}],\"name\":\"withdraw\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"rewardTokens_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"claimedAmounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"_claimRewardsToHolder\",\"type\":\"bool\"}],\"name\":\"withdrawTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_onBehalf\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"_claimRewardsToHolder\",\"type\":\"bool\"}],\"name\":\"withdrawToOnBehalf\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IStakingWrapper interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/infrastructure/staking-wrappers/IStakingWrapper.sol\":\"IStakingWrapper\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/infrastructure/staking-wrappers/IStakingWrapper.sol\":{\"keccak256\":\"0xaeb9aba4e74eb3243a85090fded7b157969cf83e1f4159b1da2f662a3e7b15be\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://92346911c044a54808d2d425fe58c6dc9594dfafb8d83496f6599e3bc23803d0\",\"dweb:/ipfs/QmYWf7yx9ZfUnP81K1hjvApthqNhpXzUhGuFBm4gX1aDRB\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_for", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "claimRewardsFor", - "outputs": [ - { - "internalType": "address[]", - "name": "rewardTokens_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "claimedAmounts_", - "type": "uint256[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "deposit" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "depositTo" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_index", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getRewardTokenAtIndex", - "outputs": [ - { - "internalType": "address", - "name": "rewardToken_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getRewardTokenCount", - "outputs": [ - { - "internalType": "uint256", - "name": "count_", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getRewardTokens", - "outputs": [ - { - "internalType": "address[]", - "name": "rewardTokens_", - "type": "address[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_rewardToken", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getTotalHarvestDataForRewardToken", - "outputs": [ - { - "internalType": "struct IStakingWrapper.TotalHarvestData", - "name": "totalHarvestData_", - "type": "tuple", - "components": [ - { - "internalType": "uint128", - "name": "integral", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "lastCheckpointBalance", - "type": "uint128" - } - ] - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_user", - "type": "address" - }, - { - "internalType": "address", - "name": "_rewardToken", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getUserHarvestDataForRewardToken", - "outputs": [ - { - "internalType": "struct IStakingWrapper.UserHarvestData", - "name": "userHarvestData_", - "type": "tuple", - "components": [ - { - "internalType": "uint128", - "name": "integral", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "claimableReward", - "type": "uint128" - } - ] - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "isPaused", - "outputs": [ - { - "internalType": "bool", - "name": "isPaused_", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "_claimRewards", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "withdraw", - "outputs": [ - { - "internalType": "address[]", - "name": "rewardTokens_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "claimedAmounts_", - "type": "uint256[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "_claimRewardsToHolder", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "withdrawTo" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_onBehalf", - "type": "address" - }, - { - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "_claimRewardsToHolder", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "withdrawToOnBehalf" - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/infrastructure/staking-wrappers/IStakingWrapper.sol": "IStakingWrapper" - }, - "libraries": {} - }, - "sources": { - "contracts/release/infrastructure/staking-wrappers/IStakingWrapper.sol": { - "keccak256": "0xaeb9aba4e74eb3243a85090fded7b157969cf83e1f4159b1da2f662a3e7b15be", - "urls": [ - "bzz-raw://92346911c044a54808d2d425fe58c6dc9594dfafb8d83496f6599e3bc23803d0", - "dweb:/ipfs/QmYWf7yx9ZfUnP81K1hjvApthqNhpXzUhGuFBm4gX1aDRB" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 258 -} +{ "abi": [ { "type": "function", "name": "claimRewardsFor", "inputs": [ { "name": "_for", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "rewardTokens_", "type": "address[]", "internalType": "address[]" }, { "name": "claimedAmounts_", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "deposit", "inputs": [ { "name": "_amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "depositTo", "inputs": [ { "name": "_to", "type": "address", "internalType": "address" }, { "name": "_amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "getRewardTokenAtIndex", "inputs": [ { "name": "_index", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "rewardToken_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getRewardTokenCount", "inputs": [], "outputs": [ { "name": "count_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "getRewardTokens", "inputs": [], "outputs": [ { "name": "rewardTokens_", "type": "address[]", "internalType": "address[]" } ], "stateMutability": "view" }, { "type": "function", "name": "getTotalHarvestDataForRewardToken", "inputs": [ { "name": "_rewardToken", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "totalHarvestData_", "type": "tuple", "internalType": "struct IStakingWrapper.TotalHarvestData", "components": [ { "name": "integral", "type": "uint128", "internalType": "uint128" }, { "name": "lastCheckpointBalance", "type": "uint128", "internalType": "uint128" } ] } ], "stateMutability": "view" }, { "type": "function", "name": "getUserHarvestDataForRewardToken", "inputs": [ { "name": "_user", "type": "address", "internalType": "address" }, { "name": "_rewardToken", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "userHarvestData_", "type": "tuple", "internalType": "struct IStakingWrapper.UserHarvestData", "components": [ { "name": "integral", "type": "uint128", "internalType": "uint128" }, { "name": "claimableReward", "type": "uint128", "internalType": "uint128" } ] } ], "stateMutability": "view" }, { "type": "function", "name": "isPaused", "inputs": [], "outputs": [ { "name": "isPaused_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "withdraw", "inputs": [ { "name": "_amount", "type": "uint256", "internalType": "uint256" }, { "name": "_claimRewards", "type": "bool", "internalType": "bool" } ], "outputs": [ { "name": "rewardTokens_", "type": "address[]", "internalType": "address[]" }, { "name": "claimedAmounts_", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "withdrawTo", "inputs": [ { "name": "_to", "type": "address", "internalType": "address" }, { "name": "_amount", "type": "uint256", "internalType": "uint256" }, { "name": "_claimRewardsToHolder", "type": "bool", "internalType": "bool" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "withdrawToOnBehalf", "inputs": [ { "name": "_onBehalf", "type": "address", "internalType": "address" }, { "name": "_to", "type": "address", "internalType": "address" }, { "name": "_amount", "type": "uint256", "internalType": "uint256" }, { "name": "_claimRewardsToHolder", "type": "bool", "internalType": "bool" } ], "outputs": [], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "claimRewardsFor(address)": "1ac6d19d", "deposit(uint256)": "b6b55f25", "depositTo(address,uint256)": "ffaad6a5", "getRewardTokenAtIndex(uint256)": "a7d2793f", "getRewardTokenCount()": "82e5d073", "getRewardTokens()": "c4f59f9b", "getTotalHarvestDataForRewardToken(address)": "9655dd61", "getUserHarvestDataForRewardToken(address,address)": "093f6365", "isPaused()": "b187bd26", "withdraw(uint256,bool)": "38d07436", "withdrawTo(address,uint256,bool)": "73e2290c", "withdrawToOnBehalf(address,address,uint256,bool)": "2cfafabe" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_for\",\"type\":\"address\"}],\"name\":\"claimRewardsFor\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"rewardTokens_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"claimedAmounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"deposit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"depositTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_index\",\"type\":\"uint256\"}],\"name\":\"getRewardTokenAtIndex\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"rewardToken_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRewardTokenCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"count_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRewardTokens\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"rewardTokens_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_rewardToken\",\"type\":\"address\"}],\"name\":\"getTotalHarvestDataForRewardToken\",\"outputs\":[{\"components\":[{\"internalType\":\"uint128\",\"name\":\"integral\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"lastCheckpointBalance\",\"type\":\"uint128\"}],\"internalType\":\"struct IStakingWrapper.TotalHarvestData\",\"name\":\"totalHarvestData_\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_rewardToken\",\"type\":\"address\"}],\"name\":\"getUserHarvestDataForRewardToken\",\"outputs\":[{\"components\":[{\"internalType\":\"uint128\",\"name\":\"integral\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"claimableReward\",\"type\":\"uint128\"}],\"internalType\":\"struct IStakingWrapper.UserHarvestData\",\"name\":\"userHarvestData_\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isPaused\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isPaused_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"_claimRewards\",\"type\":\"bool\"}],\"name\":\"withdraw\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"rewardTokens_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"claimedAmounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"_claimRewardsToHolder\",\"type\":\"bool\"}],\"name\":\"withdrawTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_onBehalf\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"_claimRewardsToHolder\",\"type\":\"bool\"}],\"name\":\"withdrawToOnBehalf\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IStakingWrapper interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/infrastructure/staking-wrappers/IStakingWrapper.sol\":\"IStakingWrapper\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/infrastructure/staking-wrappers/IStakingWrapper.sol\":{\"keccak256\":\"0xaeb9aba4e74eb3243a85090fded7b157969cf83e1f4159b1da2f662a3e7b15be\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://92346911c044a54808d2d425fe58c6dc9594dfafb8d83496f6599e3bc23803d0\",\"dweb:/ipfs/QmYWf7yx9ZfUnP81K1hjvApthqNhpXzUhGuFBm4gX1aDRB\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_for", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "claimRewardsFor", "outputs": [ { "internalType": "address[]", "name": "rewardTokens_", "type": "address[]" }, { "internalType": "uint256[]", "name": "claimedAmounts_", "type": "uint256[]" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "deposit" }, { "inputs": [ { "internalType": "address", "name": "_to", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "depositTo" }, { "inputs": [ { "internalType": "uint256", "name": "_index", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "getRewardTokenAtIndex", "outputs": [ { "internalType": "address", "name": "rewardToken_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getRewardTokenCount", "outputs": [ { "internalType": "uint256", "name": "count_", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getRewardTokens", "outputs": [ { "internalType": "address[]", "name": "rewardTokens_", "type": "address[]" } ] }, { "inputs": [ { "internalType": "address", "name": "_rewardToken", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getTotalHarvestDataForRewardToken", "outputs": [ { "internalType": "struct IStakingWrapper.TotalHarvestData", "name": "totalHarvestData_", "type": "tuple", "components": [ { "internalType": "uint128", "name": "integral", "type": "uint128" }, { "internalType": "uint128", "name": "lastCheckpointBalance", "type": "uint128" } ] } ] }, { "inputs": [ { "internalType": "address", "name": "_user", "type": "address" }, { "internalType": "address", "name": "_rewardToken", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getUserHarvestDataForRewardToken", "outputs": [ { "internalType": "struct IStakingWrapper.UserHarvestData", "name": "userHarvestData_", "type": "tuple", "components": [ { "internalType": "uint128", "name": "integral", "type": "uint128" }, { "internalType": "uint128", "name": "claimableReward", "type": "uint128" } ] } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "isPaused", "outputs": [ { "internalType": "bool", "name": "isPaused_", "type": "bool" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_amount", "type": "uint256" }, { "internalType": "bool", "name": "_claimRewards", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function", "name": "withdraw", "outputs": [ { "internalType": "address[]", "name": "rewardTokens_", "type": "address[]" }, { "internalType": "uint256[]", "name": "claimedAmounts_", "type": "uint256[]" } ] }, { "inputs": [ { "internalType": "address", "name": "_to", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" }, { "internalType": "bool", "name": "_claimRewardsToHolder", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function", "name": "withdrawTo" }, { "inputs": [ { "internalType": "address", "name": "_onBehalf", "type": "address" }, { "internalType": "address", "name": "_to", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" }, { "internalType": "bool", "name": "_claimRewardsToHolder", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function", "name": "withdrawToOnBehalf" } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/infrastructure/staking-wrappers/IStakingWrapper.sol": "IStakingWrapper" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/infrastructure/staking-wrappers/IStakingWrapper.sol": { "keccak256": "0xaeb9aba4e74eb3243a85090fded7b157969cf83e1f4159b1da2f662a3e7b15be", "urls": [ "bzz-raw://92346911c044a54808d2d425fe58c6dc9594dfafb8d83496f6599e3bc23803d0", "dweb:/ipfs/QmYWf7yx9ZfUnP81K1hjvApthqNhpXzUhGuFBm4gX1aDRB" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 258 } diff --git a/eth_defi/abi/enzyme/ISynthetix.json b/eth_defi/abi/enzyme/ISynthetix.json index 49b0cd4e..4c15edf0 100644 --- a/eth_defi/abi/enzyme/ISynthetix.json +++ b/eth_defi/abi/enzyme/ISynthetix.json @@ -1,170 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "name": "exchangeOnBehalfWithTracking", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "exchangeOnBehalfWithTracking(address,bytes32,uint256,bytes32,address,bytes32)": "91e56b68" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"exchangeOnBehalfWithTracking\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ISynthetix Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/ISynthetix.sol\":\"ISynthetix\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/ISynthetix.sol\":{\"keccak256\":\"0x6e90f409738433ba404b21e7593efb37786cceea8740113ab608da9fd53c6db8\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://16212cd905d2b1552d64b9bb223195c99142d3d89108a0f0e22016e4521ca7db\",\"dweb:/ipfs/QmbbHnYkquBT2z8JWexZxjDxCJQK6ogsT5pdyZXxwoWsoK\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "exchangeOnBehalfWithTracking", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/interfaces/ISynthetix.sol": "ISynthetix" - }, - "libraries": {} - }, - "sources": { - "contracts/release/interfaces/ISynthetix.sol": { - "keccak256": "0x6e90f409738433ba404b21e7593efb37786cceea8740113ab608da9fd53c6db8", - "urls": [ - "bzz-raw://16212cd905d2b1552d64b9bb223195c99142d3d89108a0f0e22016e4521ca7db", - "dweb:/ipfs/QmbbHnYkquBT2z8JWexZxjDxCJQK6ogsT5pdyZXxwoWsoK" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 333 -} +{ "abi": [ { "type": "function", "name": "exchangeOnBehalfWithTracking", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "bytes32", "internalType": "bytes32" }, { "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "bytes32", "internalType": "bytes32" }, { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "bytes32", "internalType": "bytes32" } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "exchangeOnBehalfWithTracking(address,bytes32,uint256,bytes32,address,bytes32)": "91e56b68" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"exchangeOnBehalfWithTracking\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ISynthetix Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/ISynthetix.sol\":\"ISynthetix\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/ISynthetix.sol\":{\"keccak256\":\"0x6e90f409738433ba404b21e7593efb37786cceea8740113ab608da9fd53c6db8\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://16212cd905d2b1552d64b9bb223195c99142d3d89108a0f0e22016e4521ca7db\",\"dweb:/ipfs/QmbbHnYkquBT2z8JWexZxjDxCJQK6ogsT5pdyZXxwoWsoK\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "bytes32", "name": "", "type": "bytes32" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "bytes32", "name": "", "type": "bytes32" }, { "internalType": "address", "name": "", "type": "address" }, { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "nonpayable", "type": "function", "name": "exchangeOnBehalfWithTracking", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/interfaces/ISynthetix.sol": "ISynthetix" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/interfaces/ISynthetix.sol": { "keccak256": "0x6e90f409738433ba404b21e7593efb37786cceea8740113ab608da9fd53c6db8", "urls": [ "bzz-raw://16212cd905d2b1552d64b9bb223195c99142d3d89108a0f0e22016e4521ca7db", "dweb:/ipfs/QmbbHnYkquBT2z8JWexZxjDxCJQK6ogsT5pdyZXxwoWsoK" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 333 } diff --git a/eth_defi/abi/enzyme/ISynthetixExchanger.json b/eth_defi/abi/enzyme/ISynthetixExchanger.json index f5df401f..2894084a 100644 --- a/eth_defi/abi/enzyme/ISynthetixExchanger.json +++ b/eth_defi/abi/enzyme/ISynthetixExchanger.json @@ -1,160 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "name": "getAmountsForExchange", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "getAmountsForExchange(uint256,bytes32,bytes32)": "f450aa34" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"getAmountsForExchange\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ISynthetixExchanger Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/ISynthetixExchanger.sol\":\"ISynthetixExchanger\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/ISynthetixExchanger.sol\":{\"keccak256\":\"0x34c77b82ad20d52e21d1503441e9f9b1d793a3046ce8042a6dcc5b97b8ea2ef9\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ad13cbeb221b643c798b51fe02881699e1533418b24b71ecad54dbb08850d953\",\"dweb:/ipfs/QmRXQh2JMnGAoUyLaHHJdmG4eqYwFQcdHRm7LN97EfkeCk\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getAmountsForExchange", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/interfaces/ISynthetixExchanger.sol": "ISynthetixExchanger" - }, - "libraries": {} - }, - "sources": { - "contracts/release/interfaces/ISynthetixExchanger.sol": { - "keccak256": "0x34c77b82ad20d52e21d1503441e9f9b1d793a3046ce8042a6dcc5b97b8ea2ef9", - "urls": [ - "bzz-raw://ad13cbeb221b643c798b51fe02881699e1533418b24b71ecad54dbb08850d953", - "dweb:/ipfs/QmRXQh2JMnGAoUyLaHHJdmG4eqYwFQcdHRm7LN97EfkeCk" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 334 -} +{ "abi": [ { "type": "function", "name": "getAmountsForExchange", "inputs": [ { "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "bytes32", "internalType": "bytes32" }, { "name": "", "type": "bytes32", "internalType": "bytes32" } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "getAmountsForExchange(uint256,bytes32,bytes32)": "f450aa34" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"getAmountsForExchange\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ISynthetixExchanger Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/ISynthetixExchanger.sol\":\"ISynthetixExchanger\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/ISynthetixExchanger.sol\":{\"keccak256\":\"0x34c77b82ad20d52e21d1503441e9f9b1d793a3046ce8042a6dcc5b97b8ea2ef9\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ad13cbeb221b643c798b51fe02881699e1533418b24b71ecad54dbb08850d953\",\"dweb:/ipfs/QmRXQh2JMnGAoUyLaHHJdmG4eqYwFQcdHRm7LN97EfkeCk\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "bytes32", "name": "", "type": "bytes32" }, { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function", "name": "getAmountsForExchange", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/interfaces/ISynthetixExchanger.sol": "ISynthetixExchanger" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/interfaces/ISynthetixExchanger.sol": { "keccak256": "0x34c77b82ad20d52e21d1503441e9f9b1d793a3046ce8042a6dcc5b97b8ea2ef9", "urls": [ "bzz-raw://ad13cbeb221b643c798b51fe02881699e1533418b24b71ecad54dbb08850d953", "dweb:/ipfs/QmRXQh2JMnGAoUyLaHHJdmG4eqYwFQcdHRm7LN97EfkeCk" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 334 } diff --git a/eth_defi/abi/enzyme/ISynthetixProxyERC20.json b/eth_defi/abi/enzyme/ISynthetixProxyERC20.json index 7d694cdb..e36a2e95 100644 --- a/eth_defi/abi/enzyme/ISynthetixProxyERC20.json +++ b/eth_defi/abi/enzyme/ISynthetixProxyERC20.json @@ -1,108 +1 @@ -{ - "abi": [ - { - "inputs": [], - "name": "target", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "target()": "d4b83992" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"target\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ISynthetixProxyERC20 Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/ISynthetixProxyERC20.sol\":\"ISynthetixProxyERC20\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/ISynthetixProxyERC20.sol\":{\"keccak256\":\"0x32714bb006e6861aece8fe1a5e3862e0b5562bd7a482ab80f0330f2c0bbc5da6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://18cec76d589d9d1057d77fd111100c56f53118b41d9cfa861f61a746abbd7b60\",\"dweb:/ipfs/QmXt67NWo88Qt4aHTtxZcTLStchwsVoTeuf3tqPwK5jjn7\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "target", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/interfaces/ISynthetixProxyERC20.sol": "ISynthetixProxyERC20" - }, - "libraries": {} - }, - "sources": { - "contracts/release/interfaces/ISynthetixProxyERC20.sol": { - "keccak256": "0x32714bb006e6861aece8fe1a5e3862e0b5562bd7a482ab80f0330f2c0bbc5da6", - "urls": [ - "bzz-raw://18cec76d589d9d1057d77fd111100c56f53118b41d9cfa861f61a746abbd7b60", - "dweb:/ipfs/QmXt67NWo88Qt4aHTtxZcTLStchwsVoTeuf3tqPwK5jjn7" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 335 -} +{ "abi": [ { "type": "function", "name": "target", "inputs": [], "outputs": [ { "name": "", "type": "address", "internalType": "address" } ], "stateMutability": "view" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "target()": "d4b83992" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"target\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ISynthetixProxyERC20 Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/ISynthetixProxyERC20.sol\":\"ISynthetixProxyERC20\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/ISynthetixProxyERC20.sol\":{\"keccak256\":\"0x32714bb006e6861aece8fe1a5e3862e0b5562bd7a482ab80f0330f2c0bbc5da6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://18cec76d589d9d1057d77fd111100c56f53118b41d9cfa861f61a746abbd7b60\",\"dweb:/ipfs/QmXt67NWo88Qt4aHTtxZcTLStchwsVoTeuf3tqPwK5jjn7\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [], "stateMutability": "view", "type": "function", "name": "target", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/interfaces/ISynthetixProxyERC20.sol": "ISynthetixProxyERC20" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/interfaces/ISynthetixProxyERC20.sol": { "keccak256": "0x32714bb006e6861aece8fe1a5e3862e0b5562bd7a482ab80f0330f2c0bbc5da6", "urls": [ "bzz-raw://18cec76d589d9d1057d77fd111100c56f53118b41d9cfa861f61a746abbd7b60", "dweb:/ipfs/QmXt67NWo88Qt4aHTtxZcTLStchwsVoTeuf3tqPwK5jjn7" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 335 } diff --git a/eth_defi/abi/enzyme/ISynthetixRedeemer.json b/eth_defi/abi/enzyme/ISynthetixRedeemer.json index 471eadde..2ad2bb41 100644 --- a/eth_defi/abi/enzyme/ISynthetixRedeemer.json +++ b/eth_defi/abi/enzyme/ISynthetixRedeemer.json @@ -1,107 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - } - ], - "name": "redeemAll", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "redeemAll(address[])": "d6232e89" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"name\":\"redeemAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ISynthetixRedeemer Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/ISynthetixRedeemer.sol\":\"ISynthetixRedeemer\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/ISynthetixRedeemer.sol\":{\"keccak256\":\"0xd2da4586a6de782c91bdf602f5f2cc408c080e42ad5023b5cc42f04eedb43238\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://22625ee876bf58a980ff7fd5a974d7c3ac2608d652ad044b05cf0799cb902817\",\"dweb:/ipfs/QmSAL2Q8wEXmA8B7Pxof8LUtbnXWiBpuVz5kFuFqdMeQvR\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "redeemAll" - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/interfaces/ISynthetixRedeemer.sol": "ISynthetixRedeemer" - }, - "libraries": {} - }, - "sources": { - "contracts/release/interfaces/ISynthetixRedeemer.sol": { - "keccak256": "0xd2da4586a6de782c91bdf602f5f2cc408c080e42ad5023b5cc42f04eedb43238", - "urls": [ - "bzz-raw://22625ee876bf58a980ff7fd5a974d7c3ac2608d652ad044b05cf0799cb902817", - "dweb:/ipfs/QmSAL2Q8wEXmA8B7Pxof8LUtbnXWiBpuVz5kFuFqdMeQvR" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 336 -} +{ "abi": [ { "type": "function", "name": "redeemAll", "inputs": [ { "name": "", "type": "address[]", "internalType": "address[]" } ], "outputs": [], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "redeemAll(address[])": "d6232e89" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"name\":\"redeemAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ISynthetixRedeemer Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/ISynthetixRedeemer.sol\":\"ISynthetixRedeemer\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/ISynthetixRedeemer.sol\":{\"keccak256\":\"0xd2da4586a6de782c91bdf602f5f2cc408c080e42ad5023b5cc42f04eedb43238\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://22625ee876bf58a980ff7fd5a974d7c3ac2608d652ad044b05cf0799cb902817\",\"dweb:/ipfs/QmSAL2Q8wEXmA8B7Pxof8LUtbnXWiBpuVz5kFuFqdMeQvR\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address[]", "name": "", "type": "address[]" } ], "stateMutability": "nonpayable", "type": "function", "name": "redeemAll" } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/interfaces/ISynthetixRedeemer.sol": "ISynthetixRedeemer" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/interfaces/ISynthetixRedeemer.sol": { "keccak256": "0xd2da4586a6de782c91bdf602f5f2cc408c080e42ad5023b5cc42f04eedb43238", "urls": [ "bzz-raw://22625ee876bf58a980ff7fd5a974d7c3ac2608d652ad044b05cf0799cb902817", "dweb:/ipfs/QmSAL2Q8wEXmA8B7Pxof8LUtbnXWiBpuVz5kFuFqdMeQvR" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 336 } diff --git a/eth_defi/abi/enzyme/ISynthetixSynth.json b/eth_defi/abi/enzyme/ISynthetixSynth.json index 089b93ca..91000189 100644 --- a/eth_defi/abi/enzyme/ISynthetixSynth.json +++ b/eth_defi/abi/enzyme/ISynthetixSynth.json @@ -1,108 +1 @@ -{ - "abi": [ - { - "inputs": [], - "name": "currencyKey", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "currencyKey()": "dbd06c85" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"currencyKey\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ISynthetixSynth Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/ISynthetixSynth.sol\":\"ISynthetixSynth\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/ISynthetixSynth.sol\":{\"keccak256\":\"0xfad43b0fead48317fd90bfc3874d1511dc0de094764981467fa4cded78b39108\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://15edd80eee695ea75a22bdc7b2d8478d2f80bf7efacebaf113981c7787ea4717\",\"dweb:/ipfs/QmcRZWGhbM3UTwAEvHxBz1e9MPXcsDXUQRUYzpEecGTBwM\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "currencyKey", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/interfaces/ISynthetixSynth.sol": "ISynthetixSynth" - }, - "libraries": {} - }, - "sources": { - "contracts/release/interfaces/ISynthetixSynth.sol": { - "keccak256": "0xfad43b0fead48317fd90bfc3874d1511dc0de094764981467fa4cded78b39108", - "urls": [ - "bzz-raw://15edd80eee695ea75a22bdc7b2d8478d2f80bf7efacebaf113981c7787ea4717", - "dweb:/ipfs/QmcRZWGhbM3UTwAEvHxBz1e9MPXcsDXUQRUYzpEecGTBwM" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 337 -} +{ "abi": [ { "type": "function", "name": "currencyKey", "inputs": [], "outputs": [ { "name": "", "type": "bytes32", "internalType": "bytes32" } ], "stateMutability": "view" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "currencyKey()": "dbd06c85" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"currencyKey\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ISynthetixSynth Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/ISynthetixSynth.sol\":\"ISynthetixSynth\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/ISynthetixSynth.sol\":{\"keccak256\":\"0xfad43b0fead48317fd90bfc3874d1511dc0de094764981467fa4cded78b39108\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://15edd80eee695ea75a22bdc7b2d8478d2f80bf7efacebaf113981c7787ea4717\",\"dweb:/ipfs/QmcRZWGhbM3UTwAEvHxBz1e9MPXcsDXUQRUYzpEecGTBwM\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [], "stateMutability": "view", "type": "function", "name": "currencyKey", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/interfaces/ISynthetixSynth.sol": "ISynthetixSynth" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/interfaces/ISynthetixSynth.sol": { "keccak256": "0xfad43b0fead48317fd90bfc3874d1511dc0de094764981467fa4cded78b39108", "urls": [ "bzz-raw://15edd80eee695ea75a22bdc7b2d8478d2f80bf7efacebaf113981c7787ea4717", "dweb:/ipfs/QmcRZWGhbM3UTwAEvHxBz1e9MPXcsDXUQRUYzpEecGTBwM" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 337 } diff --git a/eth_defi/abi/enzyme/ITestAddOnlyAddressListOwner.json b/eth_defi/abi/enzyme/ITestAddOnlyAddressListOwner.json index c2df1a22..431dd659 100644 --- a/eth_defi/abi/enzyme/ITestAddOnlyAddressListOwner.json +++ b/eth_defi/abi/enzyme/ITestAddOnlyAddressListOwner.json @@ -1,107 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address[]", - "name": "_items", - "type": "address[]" - } - ], - "name": "addValidatedItemsToList", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "addValidatedItemsToList(address[])": "a8f0bc41" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_items\",\"type\":\"address[]\"}],\"name\":\"addValidatedItemsToList\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ITestAddOnlyAddressListOwner Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/interfaces/ITestAddOnlyAddressListOwner.sol\":\"ITestAddOnlyAddressListOwner\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/test/interfaces/ITestAddOnlyAddressListOwner.sol\":{\"keccak256\":\"0x45b3a4101ca66faa04cabcaef54d6493a56e7a483e0a8d225b8464d60179f12a\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://37b7a8dc2dc0ab3ca6cb0cc3c43e15ea205a75e175095db0466605aeaab2e369\",\"dweb:/ipfs/QmWqYJNaQrPN5uf9D5QQFU3k1BYATD4Cz8aVJuVGsPTik3\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address[]", - "name": "_items", - "type": "address[]" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "addValidatedItemsToList" - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/test/interfaces/ITestAddOnlyAddressListOwner.sol": "ITestAddOnlyAddressListOwner" - }, - "libraries": {} - }, - "sources": { - "contracts/test/interfaces/ITestAddOnlyAddressListOwner.sol": { - "keccak256": "0x45b3a4101ca66faa04cabcaef54d6493a56e7a483e0a8d225b8464d60179f12a", - "urls": [ - "bzz-raw://37b7a8dc2dc0ab3ca6cb0cc3c43e15ea205a75e175095db0466605aeaab2e369", - "dweb:/ipfs/QmWqYJNaQrPN5uf9D5QQFU3k1BYATD4Cz8aVJuVGsPTik3" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 378 -} +{ "abi": [ { "type": "function", "name": "addValidatedItemsToList", "inputs": [ { "name": "_items", "type": "address[]", "internalType": "address[]" } ], "outputs": [], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "addValidatedItemsToList(address[])": "a8f0bc41" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_items\",\"type\":\"address[]\"}],\"name\":\"addValidatedItemsToList\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ITestAddOnlyAddressListOwner Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/interfaces/ITestAddOnlyAddressListOwner.sol\":\"ITestAddOnlyAddressListOwner\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/test/interfaces/ITestAddOnlyAddressListOwner.sol\":{\"keccak256\":\"0x45b3a4101ca66faa04cabcaef54d6493a56e7a483e0a8d225b8464d60179f12a\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://37b7a8dc2dc0ab3ca6cb0cc3c43e15ea205a75e175095db0466605aeaab2e369\",\"dweb:/ipfs/QmWqYJNaQrPN5uf9D5QQFU3k1BYATD4Cz8aVJuVGsPTik3\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address[]", "name": "_items", "type": "address[]" } ], "stateMutability": "nonpayable", "type": "function", "name": "addValidatedItemsToList" } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/test/interfaces/ITestAddOnlyAddressListOwner.sol": "ITestAddOnlyAddressListOwner" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/test/interfaces/ITestAddOnlyAddressListOwner.sol": { "keccak256": "0x45b3a4101ca66faa04cabcaef54d6493a56e7a483e0a8d225b8464d60179f12a", "urls": [ "bzz-raw://37b7a8dc2dc0ab3ca6cb0cc3c43e15ea205a75e175095db0466605aeaab2e369", "dweb:/ipfs/QmWqYJNaQrPN5uf9D5QQFU3k1BYATD4Cz8aVJuVGsPTik3" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 378 } diff --git a/eth_defi/abi/enzyme/ITestBalancerV2Helpers.json b/eth_defi/abi/enzyme/ITestBalancerV2Helpers.json index afedd733..0c00d011 100644 --- a/eth_defi/abi/enzyme/ITestBalancerV2Helpers.json +++ b/eth_defi/abi/enzyme/ITestBalancerV2Helpers.json @@ -1,335 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "bytes32", - "name": "poolId", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "components": [ - { - "internalType": "address[]", - "name": "assets", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "limits", - "type": "uint256[]" - }, - { - "internalType": "bytes", - "name": "userData", - "type": "bytes" - }, - { - "internalType": "bool", - "name": "useInternalBalance", - "type": "bool" - } - ], - "internalType": "struct ITestBalancerV2Vault.PoolBalanceChange", - "name": "request", - "type": "tuple" - } - ], - "name": "queryExit", - "outputs": [ - { - "internalType": "uint256", - "name": "bptIn_", - "type": "uint256" - }, - { - "internalType": "uint256[]", - "name": "amountsOut_", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "_poolId", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "_sender", - "type": "address" - }, - { - "internalType": "address", - "name": "_recipient", - "type": "address" - }, - { - "components": [ - { - "internalType": "address[]", - "name": "assets", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "limits", - "type": "uint256[]" - }, - { - "internalType": "bytes", - "name": "userData", - "type": "bytes" - }, - { - "internalType": "bool", - "name": "useInternalBalance", - "type": "bool" - } - ], - "internalType": "struct ITestBalancerV2Vault.PoolBalanceChange", - "name": "_request", - "type": "tuple" - } - ], - "name": "queryJoin", - "outputs": [ - { - "internalType": "uint256", - "name": "bptOut_", - "type": "uint256" - }, - { - "internalType": "uint256[]", - "name": "amountsIn_", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "queryExit(bytes32,address,address,(address[],uint256[],bytes,bool))": "c7b2c52c", - "queryJoin(bytes32,address,address,(address[],uint256[],bytes,bool))": "9ebbf05d" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"poolId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"address[]\",\"name\":\"assets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"limits\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"userData\",\"type\":\"bytes\"},{\"internalType\":\"bool\",\"name\":\"useInternalBalance\",\"type\":\"bool\"}],\"internalType\":\"struct ITestBalancerV2Vault.PoolBalanceChange\",\"name\":\"request\",\"type\":\"tuple\"}],\"name\":\"queryExit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"bptIn_\",\"type\":\"uint256\"},{\"internalType\":\"uint256[]\",\"name\":\"amountsOut_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_poolId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_recipient\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"address[]\",\"name\":\"assets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"limits\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"userData\",\"type\":\"bytes\"},{\"internalType\":\"bool\",\"name\":\"useInternalBalance\",\"type\":\"bool\"}],\"internalType\":\"struct ITestBalancerV2Vault.PoolBalanceChange\",\"name\":\"_request\",\"type\":\"tuple\"}],\"name\":\"queryJoin\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"bptOut_\",\"type\":\"uint256\"},{\"internalType\":\"uint256[]\",\"name\":\"amountsIn_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ITestBalancerV2Helpers Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/interfaces/ITestBalancerV2Helpers.sol\":\"ITestBalancerV2Helpers\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/test/interfaces/ITestBalancerV2Helpers.sol\":{\"keccak256\":\"0x31bbb52538b5e6fd3fe253958ce8ce884f90dc8a8591ad4bac0f5461a2348b4a\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ea94cef0ba5facffddfc1f7a72b2cf128cab58c7c2840681c56e4588b9046d8e\",\"dweb:/ipfs/QmRGggvEdX7dBcTFx2LSSDdcFo4gboyWKvF4i7jf1xASij\"]},\"contracts/test/interfaces/ITestBalancerV2Vault.sol\":{\"keccak256\":\"0x161510ea039ad3c505dbce7762cf1c58c6be4cc1bdbee9fcab9cd73f25496fba\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f11f46d2990bd4f7c17bab5de7fe3351ca38fac7852158f80a803577d4b3e2ad\",\"dweb:/ipfs/QmQAhNqCshWcSAGhDKU5dmL6BPU9SmMGAPxzi2iptYseZK\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "bytes32", - "name": "poolId", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "struct ITestBalancerV2Vault.PoolBalanceChange", - "name": "request", - "type": "tuple", - "components": [ - { - "internalType": "address[]", - "name": "assets", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "limits", - "type": "uint256[]" - }, - { - "internalType": "bytes", - "name": "userData", - "type": "bytes" - }, - { - "internalType": "bool", - "name": "useInternalBalance", - "type": "bool" - } - ] - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "queryExit", - "outputs": [ - { - "internalType": "uint256", - "name": "bptIn_", - "type": "uint256" - }, - { - "internalType": "uint256[]", - "name": "amountsOut_", - "type": "uint256[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "_poolId", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "_sender", - "type": "address" - }, - { - "internalType": "address", - "name": "_recipient", - "type": "address" - }, - { - "internalType": "struct ITestBalancerV2Vault.PoolBalanceChange", - "name": "_request", - "type": "tuple", - "components": [ - { - "internalType": "address[]", - "name": "assets", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "limits", - "type": "uint256[]" - }, - { - "internalType": "bytes", - "name": "userData", - "type": "bytes" - }, - { - "internalType": "bool", - "name": "useInternalBalance", - "type": "bool" - } - ] - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "queryJoin", - "outputs": [ - { - "internalType": "uint256", - "name": "bptOut_", - "type": "uint256" - }, - { - "internalType": "uint256[]", - "name": "amountsIn_", - "type": "uint256[]" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/test/interfaces/ITestBalancerV2Helpers.sol": "ITestBalancerV2Helpers" - }, - "libraries": {} - }, - "sources": { - "contracts/test/interfaces/ITestBalancerV2Helpers.sol": { - "keccak256": "0x31bbb52538b5e6fd3fe253958ce8ce884f90dc8a8591ad4bac0f5461a2348b4a", - "urls": [ - "bzz-raw://ea94cef0ba5facffddfc1f7a72b2cf128cab58c7c2840681c56e4588b9046d8e", - "dweb:/ipfs/QmRGggvEdX7dBcTFx2LSSDdcFo4gboyWKvF4i7jf1xASij" - ], - "license": "GPL-3.0" - }, - "contracts/test/interfaces/ITestBalancerV2Vault.sol": { - "keccak256": "0x161510ea039ad3c505dbce7762cf1c58c6be4cc1bdbee9fcab9cd73f25496fba", - "urls": [ - "bzz-raw://f11f46d2990bd4f7c17bab5de7fe3351ca38fac7852158f80a803577d4b3e2ad", - "dweb:/ipfs/QmQAhNqCshWcSAGhDKU5dmL6BPU9SmMGAPxzi2iptYseZK" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 379 -} +{ "abi": [ { "type": "function", "name": "queryExit", "inputs": [ { "name": "poolId", "type": "bytes32", "internalType": "bytes32" }, { "name": "sender", "type": "address", "internalType": "address" }, { "name": "recipient", "type": "address", "internalType": "address" }, { "name": "request", "type": "tuple", "internalType": "struct ITestBalancerV2Vault.PoolBalanceChange", "components": [ { "name": "assets", "type": "address[]", "internalType": "address[]" }, { "name": "limits", "type": "uint256[]", "internalType": "uint256[]" }, { "name": "userData", "type": "bytes", "internalType": "bytes" }, { "name": "useInternalBalance", "type": "bool", "internalType": "bool" } ] } ], "outputs": [ { "name": "bptIn_", "type": "uint256", "internalType": "uint256" }, { "name": "amountsOut_", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "queryJoin", "inputs": [ { "name": "_poolId", "type": "bytes32", "internalType": "bytes32" }, { "name": "_sender", "type": "address", "internalType": "address" }, { "name": "_recipient", "type": "address", "internalType": "address" }, { "name": "_request", "type": "tuple", "internalType": "struct ITestBalancerV2Vault.PoolBalanceChange", "components": [ { "name": "assets", "type": "address[]", "internalType": "address[]" }, { "name": "limits", "type": "uint256[]", "internalType": "uint256[]" }, { "name": "userData", "type": "bytes", "internalType": "bytes" }, { "name": "useInternalBalance", "type": "bool", "internalType": "bool" } ] } ], "outputs": [ { "name": "bptOut_", "type": "uint256", "internalType": "uint256" }, { "name": "amountsIn_", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "queryExit(bytes32,address,address,(address[],uint256[],bytes,bool))": "c7b2c52c", "queryJoin(bytes32,address,address,(address[],uint256[],bytes,bool))": "9ebbf05d" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"poolId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"address[]\",\"name\":\"assets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"limits\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"userData\",\"type\":\"bytes\"},{\"internalType\":\"bool\",\"name\":\"useInternalBalance\",\"type\":\"bool\"}],\"internalType\":\"struct ITestBalancerV2Vault.PoolBalanceChange\",\"name\":\"request\",\"type\":\"tuple\"}],\"name\":\"queryExit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"bptIn_\",\"type\":\"uint256\"},{\"internalType\":\"uint256[]\",\"name\":\"amountsOut_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_poolId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_recipient\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"address[]\",\"name\":\"assets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"limits\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"userData\",\"type\":\"bytes\"},{\"internalType\":\"bool\",\"name\":\"useInternalBalance\",\"type\":\"bool\"}],\"internalType\":\"struct ITestBalancerV2Vault.PoolBalanceChange\",\"name\":\"_request\",\"type\":\"tuple\"}],\"name\":\"queryJoin\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"bptOut_\",\"type\":\"uint256\"},{\"internalType\":\"uint256[]\",\"name\":\"amountsIn_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ITestBalancerV2Helpers Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/interfaces/ITestBalancerV2Helpers.sol\":\"ITestBalancerV2Helpers\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/test/interfaces/ITestBalancerV2Helpers.sol\":{\"keccak256\":\"0x31bbb52538b5e6fd3fe253958ce8ce884f90dc8a8591ad4bac0f5461a2348b4a\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ea94cef0ba5facffddfc1f7a72b2cf128cab58c7c2840681c56e4588b9046d8e\",\"dweb:/ipfs/QmRGggvEdX7dBcTFx2LSSDdcFo4gboyWKvF4i7jf1xASij\"]},\"contracts/test/interfaces/ITestBalancerV2Vault.sol\":{\"keccak256\":\"0x161510ea039ad3c505dbce7762cf1c58c6be4cc1bdbee9fcab9cd73f25496fba\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f11f46d2990bd4f7c17bab5de7fe3351ca38fac7852158f80a803577d4b3e2ad\",\"dweb:/ipfs/QmQAhNqCshWcSAGhDKU5dmL6BPU9SmMGAPxzi2iptYseZK\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "bytes32", "name": "poolId", "type": "bytes32" }, { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "struct ITestBalancerV2Vault.PoolBalanceChange", "name": "request", "type": "tuple", "components": [ { "internalType": "address[]", "name": "assets", "type": "address[]" }, { "internalType": "uint256[]", "name": "limits", "type": "uint256[]" }, { "internalType": "bytes", "name": "userData", "type": "bytes" }, { "internalType": "bool", "name": "useInternalBalance", "type": "bool" } ] } ], "stateMutability": "nonpayable", "type": "function", "name": "queryExit", "outputs": [ { "internalType": "uint256", "name": "bptIn_", "type": "uint256" }, { "internalType": "uint256[]", "name": "amountsOut_", "type": "uint256[]" } ] }, { "inputs": [ { "internalType": "bytes32", "name": "_poolId", "type": "bytes32" }, { "internalType": "address", "name": "_sender", "type": "address" }, { "internalType": "address", "name": "_recipient", "type": "address" }, { "internalType": "struct ITestBalancerV2Vault.PoolBalanceChange", "name": "_request", "type": "tuple", "components": [ { "internalType": "address[]", "name": "assets", "type": "address[]" }, { "internalType": "uint256[]", "name": "limits", "type": "uint256[]" }, { "internalType": "bytes", "name": "userData", "type": "bytes" }, { "internalType": "bool", "name": "useInternalBalance", "type": "bool" } ] } ], "stateMutability": "nonpayable", "type": "function", "name": "queryJoin", "outputs": [ { "internalType": "uint256", "name": "bptOut_", "type": "uint256" }, { "internalType": "uint256[]", "name": "amountsIn_", "type": "uint256[]" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/test/interfaces/ITestBalancerV2Helpers.sol": "ITestBalancerV2Helpers" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/test/interfaces/ITestBalancerV2Helpers.sol": { "keccak256": "0x31bbb52538b5e6fd3fe253958ce8ce884f90dc8a8591ad4bac0f5461a2348b4a", "urls": [ "bzz-raw://ea94cef0ba5facffddfc1f7a72b2cf128cab58c7c2840681c56e4588b9046d8e", "dweb:/ipfs/QmRGggvEdX7dBcTFx2LSSDdcFo4gboyWKvF4i7jf1xASij" ], "license": "GPL-3.0" }, "contracts/test/interfaces/ITestBalancerV2Vault.sol": { "keccak256": "0x161510ea039ad3c505dbce7762cf1c58c6be4cc1bdbee9fcab9cd73f25496fba", "urls": [ "bzz-raw://f11f46d2990bd4f7c17bab5de7fe3351ca38fac7852158f80a803577d4b3e2ad", "dweb:/ipfs/QmQAhNqCshWcSAGhDKU5dmL6BPU9SmMGAPxzi2iptYseZK" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 379 } diff --git a/eth_defi/abi/enzyme/ITestBalancerV2Vault.json b/eth_defi/abi/enzyme/ITestBalancerV2Vault.json index 3f733835..051be291 100644 --- a/eth_defi/abi/enzyme/ITestBalancerV2Vault.json +++ b/eth_defi/abi/enzyme/ITestBalancerV2Vault.json @@ -1,340 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "bytes32", - "name": "_poolId", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "_sender", - "type": "address" - }, - { - "internalType": "address payable", - "name": "_recipient", - "type": "address" - }, - { - "components": [ - { - "internalType": "address[]", - "name": "assets", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "limits", - "type": "uint256[]" - }, - { - "internalType": "bytes", - "name": "userData", - "type": "bytes" - }, - { - "internalType": "bool", - "name": "useInternalBalance", - "type": "bool" - } - ], - "internalType": "struct ITestBalancerV2Vault.PoolBalanceChange", - "name": "_request", - "type": "tuple" - } - ], - "name": "exitPool", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "_poolId", - "type": "bytes32" - } - ], - "name": "getPoolTokens", - "outputs": [ - { - "internalType": "address[]", - "name": "tokens_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "balances_", - "type": "uint256[]" - }, - { - "internalType": "uint256", - "name": "lastChangeBlock_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "_poolId", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "_sender", - "type": "address" - }, - { - "internalType": "address", - "name": "_recipient", - "type": "address" - }, - { - "components": [ - { - "internalType": "address[]", - "name": "assets", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "limits", - "type": "uint256[]" - }, - { - "internalType": "bytes", - "name": "userData", - "type": "bytes" - }, - { - "internalType": "bool", - "name": "useInternalBalance", - "type": "bool" - } - ], - "internalType": "struct ITestBalancerV2Vault.PoolBalanceChange", - "name": "_request", - "type": "tuple" - } - ], - "name": "joinPool", - "outputs": [], - "stateMutability": "payable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "exitPool(bytes32,address,address,(address[],uint256[],bytes,bool))": "8bdb3913", - "getPoolTokens(bytes32)": "f94d4668", - "joinPool(bytes32,address,address,(address[],uint256[],bytes,bool))": "b95cac28" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_poolId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_sender\",\"type\":\"address\"},{\"internalType\":\"address payable\",\"name\":\"_recipient\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"address[]\",\"name\":\"assets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"limits\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"userData\",\"type\":\"bytes\"},{\"internalType\":\"bool\",\"name\":\"useInternalBalance\",\"type\":\"bool\"}],\"internalType\":\"struct ITestBalancerV2Vault.PoolBalanceChange\",\"name\":\"_request\",\"type\":\"tuple\"}],\"name\":\"exitPool\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_poolId\",\"type\":\"bytes32\"}],\"name\":\"getPoolTokens\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"tokens_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"balances_\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256\",\"name\":\"lastChangeBlock_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_poolId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_recipient\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"address[]\",\"name\":\"assets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"limits\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"userData\",\"type\":\"bytes\"},{\"internalType\":\"bool\",\"name\":\"useInternalBalance\",\"type\":\"bool\"}],\"internalType\":\"struct ITestBalancerV2Vault.PoolBalanceChange\",\"name\":\"_request\",\"type\":\"tuple\"}],\"name\":\"joinPool\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ITestBalancerV2Vault Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/interfaces/ITestBalancerV2Vault.sol\":\"ITestBalancerV2Vault\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/test/interfaces/ITestBalancerV2Vault.sol\":{\"keccak256\":\"0x161510ea039ad3c505dbce7762cf1c58c6be4cc1bdbee9fcab9cd73f25496fba\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f11f46d2990bd4f7c17bab5de7fe3351ca38fac7852158f80a803577d4b3e2ad\",\"dweb:/ipfs/QmQAhNqCshWcSAGhDKU5dmL6BPU9SmMGAPxzi2iptYseZK\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "bytes32", - "name": "_poolId", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "_sender", - "type": "address" - }, - { - "internalType": "address payable", - "name": "_recipient", - "type": "address" - }, - { - "internalType": "struct ITestBalancerV2Vault.PoolBalanceChange", - "name": "_request", - "type": "tuple", - "components": [ - { - "internalType": "address[]", - "name": "assets", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "limits", - "type": "uint256[]" - }, - { - "internalType": "bytes", - "name": "userData", - "type": "bytes" - }, - { - "internalType": "bool", - "name": "useInternalBalance", - "type": "bool" - } - ] - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "exitPool" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "_poolId", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getPoolTokens", - "outputs": [ - { - "internalType": "address[]", - "name": "tokens_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "balances_", - "type": "uint256[]" - }, - { - "internalType": "uint256", - "name": "lastChangeBlock_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "_poolId", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "_sender", - "type": "address" - }, - { - "internalType": "address", - "name": "_recipient", - "type": "address" - }, - { - "internalType": "struct ITestBalancerV2Vault.PoolBalanceChange", - "name": "_request", - "type": "tuple", - "components": [ - { - "internalType": "address[]", - "name": "assets", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "limits", - "type": "uint256[]" - }, - { - "internalType": "bytes", - "name": "userData", - "type": "bytes" - }, - { - "internalType": "bool", - "name": "useInternalBalance", - "type": "bool" - } - ] - } - ], - "stateMutability": "payable", - "type": "function", - "name": "joinPool" - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/test/interfaces/ITestBalancerV2Vault.sol": "ITestBalancerV2Vault" - }, - "libraries": {} - }, - "sources": { - "contracts/test/interfaces/ITestBalancerV2Vault.sol": { - "keccak256": "0x161510ea039ad3c505dbce7762cf1c58c6be4cc1bdbee9fcab9cd73f25496fba", - "urls": [ - "bzz-raw://f11f46d2990bd4f7c17bab5de7fe3351ca38fac7852158f80a803577d4b3e2ad", - "dweb:/ipfs/QmQAhNqCshWcSAGhDKU5dmL6BPU9SmMGAPxzi2iptYseZK" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 380 -} +{ "abi": [ { "type": "function", "name": "exitPool", "inputs": [ { "name": "_poolId", "type": "bytes32", "internalType": "bytes32" }, { "name": "_sender", "type": "address", "internalType": "address" }, { "name": "_recipient", "type": "address", "internalType": "address payable" }, { "name": "_request", "type": "tuple", "internalType": "struct ITestBalancerV2Vault.PoolBalanceChange", "components": [ { "name": "assets", "type": "address[]", "internalType": "address[]" }, { "name": "limits", "type": "uint256[]", "internalType": "uint256[]" }, { "name": "userData", "type": "bytes", "internalType": "bytes" }, { "name": "useInternalBalance", "type": "bool", "internalType": "bool" } ] } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "getPoolTokens", "inputs": [ { "name": "_poolId", "type": "bytes32", "internalType": "bytes32" } ], "outputs": [ { "name": "tokens_", "type": "address[]", "internalType": "address[]" }, { "name": "balances_", "type": "uint256[]", "internalType": "uint256[]" }, { "name": "lastChangeBlock_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "joinPool", "inputs": [ { "name": "_poolId", "type": "bytes32", "internalType": "bytes32" }, { "name": "_sender", "type": "address", "internalType": "address" }, { "name": "_recipient", "type": "address", "internalType": "address" }, { "name": "_request", "type": "tuple", "internalType": "struct ITestBalancerV2Vault.PoolBalanceChange", "components": [ { "name": "assets", "type": "address[]", "internalType": "address[]" }, { "name": "limits", "type": "uint256[]", "internalType": "uint256[]" }, { "name": "userData", "type": "bytes", "internalType": "bytes" }, { "name": "useInternalBalance", "type": "bool", "internalType": "bool" } ] } ], "outputs": [], "stateMutability": "payable" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "exitPool(bytes32,address,address,(address[],uint256[],bytes,bool))": "8bdb3913", "getPoolTokens(bytes32)": "f94d4668", "joinPool(bytes32,address,address,(address[],uint256[],bytes,bool))": "b95cac28" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_poolId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_sender\",\"type\":\"address\"},{\"internalType\":\"address payable\",\"name\":\"_recipient\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"address[]\",\"name\":\"assets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"limits\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"userData\",\"type\":\"bytes\"},{\"internalType\":\"bool\",\"name\":\"useInternalBalance\",\"type\":\"bool\"}],\"internalType\":\"struct ITestBalancerV2Vault.PoolBalanceChange\",\"name\":\"_request\",\"type\":\"tuple\"}],\"name\":\"exitPool\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_poolId\",\"type\":\"bytes32\"}],\"name\":\"getPoolTokens\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"tokens_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"balances_\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256\",\"name\":\"lastChangeBlock_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_poolId\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_recipient\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"address[]\",\"name\":\"assets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"limits\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"userData\",\"type\":\"bytes\"},{\"internalType\":\"bool\",\"name\":\"useInternalBalance\",\"type\":\"bool\"}],\"internalType\":\"struct ITestBalancerV2Vault.PoolBalanceChange\",\"name\":\"_request\",\"type\":\"tuple\"}],\"name\":\"joinPool\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ITestBalancerV2Vault Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/interfaces/ITestBalancerV2Vault.sol\":\"ITestBalancerV2Vault\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/test/interfaces/ITestBalancerV2Vault.sol\":{\"keccak256\":\"0x161510ea039ad3c505dbce7762cf1c58c6be4cc1bdbee9fcab9cd73f25496fba\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f11f46d2990bd4f7c17bab5de7fe3351ca38fac7852158f80a803577d4b3e2ad\",\"dweb:/ipfs/QmQAhNqCshWcSAGhDKU5dmL6BPU9SmMGAPxzi2iptYseZK\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "bytes32", "name": "_poolId", "type": "bytes32" }, { "internalType": "address", "name": "_sender", "type": "address" }, { "internalType": "address payable", "name": "_recipient", "type": "address" }, { "internalType": "struct ITestBalancerV2Vault.PoolBalanceChange", "name": "_request", "type": "tuple", "components": [ { "internalType": "address[]", "name": "assets", "type": "address[]" }, { "internalType": "uint256[]", "name": "limits", "type": "uint256[]" }, { "internalType": "bytes", "name": "userData", "type": "bytes" }, { "internalType": "bool", "name": "useInternalBalance", "type": "bool" } ] } ], "stateMutability": "nonpayable", "type": "function", "name": "exitPool" }, { "inputs": [ { "internalType": "bytes32", "name": "_poolId", "type": "bytes32" } ], "stateMutability": "view", "type": "function", "name": "getPoolTokens", "outputs": [ { "internalType": "address[]", "name": "tokens_", "type": "address[]" }, { "internalType": "uint256[]", "name": "balances_", "type": "uint256[]" }, { "internalType": "uint256", "name": "lastChangeBlock_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "bytes32", "name": "_poolId", "type": "bytes32" }, { "internalType": "address", "name": "_sender", "type": "address" }, { "internalType": "address", "name": "_recipient", "type": "address" }, { "internalType": "struct ITestBalancerV2Vault.PoolBalanceChange", "name": "_request", "type": "tuple", "components": [ { "internalType": "address[]", "name": "assets", "type": "address[]" }, { "internalType": "uint256[]", "name": "limits", "type": "uint256[]" }, { "internalType": "bytes", "name": "userData", "type": "bytes" }, { "internalType": "bool", "name": "useInternalBalance", "type": "bool" } ] } ], "stateMutability": "payable", "type": "function", "name": "joinPool" } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/test/interfaces/ITestBalancerV2Vault.sol": "ITestBalancerV2Vault" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/test/interfaces/ITestBalancerV2Vault.sol": { "keccak256": "0x161510ea039ad3c505dbce7762cf1c58c6be4cc1bdbee9fcab9cd73f25496fba", "urls": [ "bzz-raw://f11f46d2990bd4f7c17bab5de7fe3351ca38fac7852158f80a803577d4b3e2ad", "dweb:/ipfs/QmQAhNqCshWcSAGhDKU5dmL6BPU9SmMGAPxzi2iptYseZK" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 380 } diff --git a/eth_defi/abi/enzyme/ITestCERC20.json b/eth_defi/abi/enzyme/ITestCERC20.json index b3f04ab7..6d07722d 100644 --- a/eth_defi/abi/enzyme/ITestCERC20.json +++ b/eth_defi/abi/enzyme/ITestCERC20.json @@ -1,783 +1 @@ -{ - "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": [], - "name": "accrueInterest", - "outputs": [ - { - "internalType": "uint256", - "name": "amount_", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "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": [ - { - "internalType": "uint256", - "name": "_borrowAmount", - "type": "uint256" - } - ], - "name": "borrow", - "outputs": [ - { - "internalType": "uint256", - "name": "amount_", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_account", - "type": "address" - } - ], - "name": "borrowBalanceStored", - "outputs": [ - { - "internalType": "uint256", - "name": "amount_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "decimals_", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "exchangeRateStored", - "outputs": [ - { - "internalType": "uint256", - "name": "rate_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_mintAmount", - "type": "uint256" - } - ], - "name": "mint", - "outputs": [ - { - "internalType": "uint256", - "name": "amount_", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_redeemAmount", - "type": "uint256" - } - ], - "name": "redeem", - "outputs": [ - { - "internalType": "uint256", - "name": "amount_", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_repayAmount", - "type": "uint256" - } - ], - "name": "repayBorrow", - "outputs": [ - { - "internalType": "uint256", - "name": "amount_", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "underlying", - "outputs": [ - { - "internalType": "address", - "name": "asset_", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "accrueInterest()": "a6afed95", - "allowance(address,address)": "dd62ed3e", - "approve(address,uint256)": "095ea7b3", - "balanceOf(address)": "70a08231", - "borrow(uint256)": "c5ebeaec", - "borrowBalanceStored(address)": "95dd9193", - "decimals()": "313ce567", - "exchangeRateStored()": "182df0f5", - "mint(uint256)": "a0712d68", - "redeem(uint256)": "db006a75", - "repayBorrow(uint256)": "0e752702", - "totalSupply()": "18160ddd", - "transfer(address,uint256)": "a9059cbb", - "transferFrom(address,address,uint256)": "23b872dd", - "underlying()": "6f307dc3" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"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\":[],\"name\":\"accrueInterest\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"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\":[{\"internalType\":\"uint256\",\"name\":\"_borrowAmount\",\"type\":\"uint256\"}],\"name\":\"borrow\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"}],\"name\":\"borrowBalanceStored\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"decimals_\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"exchangeRateStored\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"rate_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_mintAmount\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_redeemAmount\",\"type\":\"uint256\"}],\"name\":\"redeem\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_repayAmount\",\"type\":\"uint256\"}],\"name\":\"repayBorrow\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"underlying\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"asset_\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"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 `recipient`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Moves `amount` tokens from `sender` to `recipient` 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.\"}},\"title\":\"ITestCERC20 Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/interfaces/ITestCERC20.sol\":\"ITestCERC20\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/test/interfaces/ITestCERC20.sol\":{\"keccak256\":\"0x24d7002ad97bce1a543f16d77cfeaa15fc045f9511082b2b5eda7805e0b66b5e\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://25845eda4b2a977b9a725c2a9c116ce9525f6e401eb4f8cec58747be0b8a0d01\",\"dweb:/ipfs/QmQpvyiXb4djzRjMKTfVshFjfxQQzAXQtEzXpKimQQY6i6\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "spender", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "Approval", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "to", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "Transfer", - "anonymous": false - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "accrueInterest", - "outputs": [ - { - "internalType": "uint256", - "name": "amount_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_borrowAmount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "borrow", - "outputs": [ - { - "internalType": "uint256", - "name": "amount_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_account", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "borrowBalanceStored", - "outputs": [ - { - "internalType": "uint256", - "name": "amount_", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "decimals_", - "type": "uint8" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "exchangeRateStored", - "outputs": [ - { - "internalType": "uint256", - "name": "rate_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_mintAmount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "mint", - "outputs": [ - { - "internalType": "uint256", - "name": "amount_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_redeemAmount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "redeem", - "outputs": [ - { - "internalType": "uint256", - "name": "amount_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_repayAmount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "repayBorrow", - "outputs": [ - { - "internalType": "uint256", - "name": "amount_", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "underlying", - "outputs": [ - { - "internalType": "address", - "name": "asset_", - "type": "address" - } - ] - } - ], - "devdoc": { - "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 `recipient`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event." - }, - "transferFrom(address,address,uint256)": { - "details": "Moves `amount` tokens from `sender` to `recipient` 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": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/test/interfaces/ITestCERC20.sol": "ITestCERC20" - }, - "libraries": {} - }, - "sources": { - "contracts/test/interfaces/ITestCERC20.sol": { - "keccak256": "0x24d7002ad97bce1a543f16d77cfeaa15fc045f9511082b2b5eda7805e0b66b5e", - "urls": [ - "bzz-raw://25845eda4b2a977b9a725c2a9c116ce9525f6e401eb4f8cec58747be0b8a0d01", - "dweb:/ipfs/QmQpvyiXb4djzRjMKTfVshFjfxQQzAXQtEzXpKimQQY6i6" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 381 -} +{ "abi": [ { "type": "function", "name": "accrueInterest", "inputs": [], "outputs": [ { "name": "amount_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "allowance", "inputs": [ { "name": "owner", "type": "address", "internalType": "address" }, { "name": "spender", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "approve", "inputs": [ { "name": "spender", "type": "address", "internalType": "address" }, { "name": "amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "balanceOf", "inputs": [ { "name": "account", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "borrow", "inputs": [ { "name": "_borrowAmount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "amount_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "borrowBalanceStored", "inputs": [ { "name": "_account", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "amount_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "decimals", "inputs": [], "outputs": [ { "name": "decimals_", "type": "uint8", "internalType": "uint8" } ], "stateMutability": "view" }, { "type": "function", "name": "exchangeRateStored", "inputs": [], "outputs": [ { "name": "rate_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "mint", "inputs": [ { "name": "_mintAmount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "amount_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "redeem", "inputs": [ { "name": "_redeemAmount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "amount_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "repayBorrow", "inputs": [ { "name": "_repayAmount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "amount_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "totalSupply", "inputs": [], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "transfer", "inputs": [ { "name": "recipient", "type": "address", "internalType": "address" }, { "name": "amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "transferFrom", "inputs": [ { "name": "sender", "type": "address", "internalType": "address" }, { "name": "recipient", "type": "address", "internalType": "address" }, { "name": "amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "underlying", "inputs": [], "outputs": [ { "name": "asset_", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "event", "name": "Approval", "inputs": [ { "name": "owner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "spender", "type": "address", "indexed": true, "internalType": "address" }, { "name": "value", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "Transfer", "inputs": [ { "name": "from", "type": "address", "indexed": true, "internalType": "address" }, { "name": "to", "type": "address", "indexed": true, "internalType": "address" }, { "name": "value", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "accrueInterest()": "a6afed95", "allowance(address,address)": "dd62ed3e", "approve(address,uint256)": "095ea7b3", "balanceOf(address)": "70a08231", "borrow(uint256)": "c5ebeaec", "borrowBalanceStored(address)": "95dd9193", "decimals()": "313ce567", "exchangeRateStored()": "182df0f5", "mint(uint256)": "a0712d68", "redeem(uint256)": "db006a75", "repayBorrow(uint256)": "0e752702", "totalSupply()": "18160ddd", "transfer(address,uint256)": "a9059cbb", "transferFrom(address,address,uint256)": "23b872dd", "underlying()": "6f307dc3" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"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\":[],\"name\":\"accrueInterest\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"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\":[{\"internalType\":\"uint256\",\"name\":\"_borrowAmount\",\"type\":\"uint256\"}],\"name\":\"borrow\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"}],\"name\":\"borrowBalanceStored\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"decimals_\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"exchangeRateStored\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"rate_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_mintAmount\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_redeemAmount\",\"type\":\"uint256\"}],\"name\":\"redeem\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_repayAmount\",\"type\":\"uint256\"}],\"name\":\"repayBorrow\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"underlying\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"asset_\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"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 `recipient`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Moves `amount` tokens from `sender` to `recipient` 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.\"}},\"title\":\"ITestCERC20 Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/interfaces/ITestCERC20.sol\":\"ITestCERC20\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/test/interfaces/ITestCERC20.sol\":{\"keccak256\":\"0x24d7002ad97bce1a543f16d77cfeaa15fc045f9511082b2b5eda7805e0b66b5e\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://25845eda4b2a977b9a725c2a9c116ce9525f6e401eb4f8cec58747be0b8a0d01\",\"dweb:/ipfs/QmQpvyiXb4djzRjMKTfVshFjfxQQzAXQtEzXpKimQQY6i6\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "owner", "type": "address", "indexed": true }, { "internalType": "address", "name": "spender", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "value", "type": "uint256", "indexed": false } ], "type": "event", "name": "Approval", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address", "indexed": true }, { "internalType": "address", "name": "to", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "value", "type": "uint256", "indexed": false } ], "type": "event", "name": "Transfer", "anonymous": false }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "accrueInterest", "outputs": [ { "internalType": "uint256", "name": "amount_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_borrowAmount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "borrow", "outputs": [ { "internalType": "uint256", "name": "amount_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "_account", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "borrowBalanceStored", "outputs": [ { "internalType": "uint256", "name": "amount_", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "decimals_", "type": "uint8" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "exchangeRateStored", "outputs": [ { "internalType": "uint256", "name": "rate_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_mintAmount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "mint", "outputs": [ { "internalType": "uint256", "name": "amount_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_redeemAmount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "redeem", "outputs": [ { "internalType": "uint256", "name": "amount_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_repayAmount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "repayBorrow", "outputs": [ { "internalType": "uint256", "name": "amount_", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "underlying", "outputs": [ { "internalType": "address", "name": "asset_", "type": "address" } ] } ], "devdoc": { "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 `recipient`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event." }, "transferFrom(address,address,uint256)": { "details": "Moves `amount` tokens from `sender` to `recipient` 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": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/test/interfaces/ITestCERC20.sol": "ITestCERC20" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/test/interfaces/ITestCERC20.sol": { "keccak256": "0x24d7002ad97bce1a543f16d77cfeaa15fc045f9511082b2b5eda7805e0b66b5e", "urls": [ "bzz-raw://25845eda4b2a977b9a725c2a9c116ce9525f6e401eb4f8cec58747be0b8a0d01", "dweb:/ipfs/QmQpvyiXb4djzRjMKTfVshFjfxQQzAXQtEzXpKimQQY6i6" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" } }, "version": 1 }, "id": 381 } diff --git a/eth_defi/abi/enzyme/ITestChainlinkAggregator.json b/eth_defi/abi/enzyme/ITestChainlinkAggregator.json index 7bd6f8c0..5a986cf6 100644 --- a/eth_defi/abi/enzyme/ITestChainlinkAggregator.json +++ b/eth_defi/abi/enzyme/ITestChainlinkAggregator.json @@ -1,148 +1 @@ -{ - "abi": [ - { - "inputs": [], - "name": "latestRoundData", - "outputs": [ - { - "internalType": "uint80", - "name": "roundId_", - "type": "uint80" - }, - { - "internalType": "int256", - "name": "answer_", - "type": "int256" - }, - { - "internalType": "uint256", - "name": "startedAt_", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "updatedAt_", - "type": "uint256" - }, - { - "internalType": "uint80", - "name": "answeredInRound_", - "type": "uint80" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "latestRoundData()": "feaf968c" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"latestRoundData\",\"outputs\":[{\"internalType\":\"uint80\",\"name\":\"roundId_\",\"type\":\"uint80\"},{\"internalType\":\"int256\",\"name\":\"answer_\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"startedAt_\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"updatedAt_\",\"type\":\"uint256\"},{\"internalType\":\"uint80\",\"name\":\"answeredInRound_\",\"type\":\"uint80\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ITestChainlinkAggregator Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/interfaces/ITestChainlinkAggregator.sol\":\"ITestChainlinkAggregator\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/test/interfaces/ITestChainlinkAggregator.sol\":{\"keccak256\":\"0xac89baff17bfec5a4bdbb29706422e780240ba7584b54c7e7e6dc0839fb72783\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9776e4966cc2671c7eeaf77e89c8135caea2f6793d939ecc99464bd4f3f40261\",\"dweb:/ipfs/QmYX1vWW1Du3c2cWCb9GH9qKK4pv3Gytv5e4iWaFrJu5jZ\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "latestRoundData", - "outputs": [ - { - "internalType": "uint80", - "name": "roundId_", - "type": "uint80" - }, - { - "internalType": "int256", - "name": "answer_", - "type": "int256" - }, - { - "internalType": "uint256", - "name": "startedAt_", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "updatedAt_", - "type": "uint256" - }, - { - "internalType": "uint80", - "name": "answeredInRound_", - "type": "uint80" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/test/interfaces/ITestChainlinkAggregator.sol": "ITestChainlinkAggregator" - }, - "libraries": {} - }, - "sources": { - "contracts/test/interfaces/ITestChainlinkAggregator.sol": { - "keccak256": "0xac89baff17bfec5a4bdbb29706422e780240ba7584b54c7e7e6dc0839fb72783", - "urls": [ - "bzz-raw://9776e4966cc2671c7eeaf77e89c8135caea2f6793d939ecc99464bd4f3f40261", - "dweb:/ipfs/QmYX1vWW1Du3c2cWCb9GH9qKK4pv3Gytv5e4iWaFrJu5jZ" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 382 -} +{ "abi": [ { "type": "function", "name": "latestRoundData", "inputs": [], "outputs": [ { "name": "roundId_", "type": "uint80", "internalType": "uint80" }, { "name": "answer_", "type": "int256", "internalType": "int256" }, { "name": "startedAt_", "type": "uint256", "internalType": "uint256" }, { "name": "updatedAt_", "type": "uint256", "internalType": "uint256" }, { "name": "answeredInRound_", "type": "uint80", "internalType": "uint80" } ], "stateMutability": "view" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "latestRoundData()": "feaf968c" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"latestRoundData\",\"outputs\":[{\"internalType\":\"uint80\",\"name\":\"roundId_\",\"type\":\"uint80\"},{\"internalType\":\"int256\",\"name\":\"answer_\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"startedAt_\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"updatedAt_\",\"type\":\"uint256\"},{\"internalType\":\"uint80\",\"name\":\"answeredInRound_\",\"type\":\"uint80\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ITestChainlinkAggregator Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/interfaces/ITestChainlinkAggregator.sol\":\"ITestChainlinkAggregator\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/test/interfaces/ITestChainlinkAggregator.sol\":{\"keccak256\":\"0xac89baff17bfec5a4bdbb29706422e780240ba7584b54c7e7e6dc0839fb72783\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9776e4966cc2671c7eeaf77e89c8135caea2f6793d939ecc99464bd4f3f40261\",\"dweb:/ipfs/QmYX1vWW1Du3c2cWCb9GH9qKK4pv3Gytv5e4iWaFrJu5jZ\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [], "stateMutability": "view", "type": "function", "name": "latestRoundData", "outputs": [ { "internalType": "uint80", "name": "roundId_", "type": "uint80" }, { "internalType": "int256", "name": "answer_", "type": "int256" }, { "internalType": "uint256", "name": "startedAt_", "type": "uint256" }, { "internalType": "uint256", "name": "updatedAt_", "type": "uint256" }, { "internalType": "uint80", "name": "answeredInRound_", "type": "uint80" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/test/interfaces/ITestChainlinkAggregator.sol": "ITestChainlinkAggregator" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/test/interfaces/ITestChainlinkAggregator.sol": { "keccak256": "0xac89baff17bfec5a4bdbb29706422e780240ba7584b54c7e7e6dc0839fb72783", "urls": [ "bzz-raw://9776e4966cc2671c7eeaf77e89c8135caea2f6793d939ecc99464bd4f3f40261", "dweb:/ipfs/QmYX1vWW1Du3c2cWCb9GH9qKK4pv3Gytv5e4iWaFrJu5jZ" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 382 } diff --git a/eth_defi/abi/enzyme/ITestCompoundComptroller.json b/eth_defi/abi/enzyme/ITestCompoundComptroller.json index 3656ec4a..7208f122 100644 --- a/eth_defi/abi/enzyme/ITestCompoundComptroller.json +++ b/eth_defi/abi/enzyme/ITestCompoundComptroller.json @@ -1,107 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_holder", - "type": "address" - } - ], - "name": "claimComp", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "claimComp(address)": "e9af0292" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_holder\",\"type\":\"address\"}],\"name\":\"claimComp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ITestCompoundComptroller Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/interfaces/ITestCompoundComptroller.sol\":\"ITestCompoundComptroller\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/test/interfaces/ITestCompoundComptroller.sol\":{\"keccak256\":\"0x53e2b656043676d1a5c6b390fd7cffcb7e0a069115f8aa6019fc8558cc49bc87\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8c6ee126dd698839adeb52129dbd70be403140252aa0a659f19993cc159ff034\",\"dweb:/ipfs/QmeZprUkM3Xmy8XMfxSxSZaTrfEr8AcjAPekfLPdAXKUAj\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_holder", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "claimComp" - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/test/interfaces/ITestCompoundComptroller.sol": "ITestCompoundComptroller" - }, - "libraries": {} - }, - "sources": { - "contracts/test/interfaces/ITestCompoundComptroller.sol": { - "keccak256": "0x53e2b656043676d1a5c6b390fd7cffcb7e0a069115f8aa6019fc8558cc49bc87", - "urls": [ - "bzz-raw://8c6ee126dd698839adeb52129dbd70be403140252aa0a659f19993cc159ff034", - "dweb:/ipfs/QmeZprUkM3Xmy8XMfxSxSZaTrfEr8AcjAPekfLPdAXKUAj" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 383 -} +{ "abi": [ { "type": "function", "name": "claimComp", "inputs": [ { "name": "_holder", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "claimComp(address)": "e9af0292" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_holder\",\"type\":\"address\"}],\"name\":\"claimComp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ITestCompoundComptroller Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/interfaces/ITestCompoundComptroller.sol\":\"ITestCompoundComptroller\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/test/interfaces/ITestCompoundComptroller.sol\":{\"keccak256\":\"0x53e2b656043676d1a5c6b390fd7cffcb7e0a069115f8aa6019fc8558cc49bc87\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8c6ee126dd698839adeb52129dbd70be403140252aa0a659f19993cc159ff034\",\"dweb:/ipfs/QmeZprUkM3Xmy8XMfxSxSZaTrfEr8AcjAPekfLPdAXKUAj\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_holder", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "claimComp" } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/test/interfaces/ITestCompoundComptroller.sol": "ITestCompoundComptroller" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/test/interfaces/ITestCompoundComptroller.sol": { "keccak256": "0x53e2b656043676d1a5c6b390fd7cffcb7e0a069115f8aa6019fc8558cc49bc87", "urls": [ "bzz-raw://8c6ee126dd698839adeb52129dbd70be403140252aa0a659f19993cc159ff034", "dweb:/ipfs/QmeZprUkM3Xmy8XMfxSxSZaTrfEr8AcjAPekfLPdAXKUAj" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 383 } diff --git a/eth_defi/abi/enzyme/ITestCompoundV3Comet.json b/eth_defi/abi/enzyme/ITestCompoundV3Comet.json index 18b5bfd4..33799c64 100644 --- a/eth_defi/abi/enzyme/ITestCompoundV3Comet.json +++ b/eth_defi/abi/enzyme/ITestCompoundV3Comet.json @@ -1,614 +1 @@ -{ - "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": "amount_", - "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": "success_", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_account", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "balance_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "baseToken", - "outputs": [ - { - "internalType": "address", - "name": "baseToken_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "decimals_", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_asset", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "supply", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "symbol_", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "supply_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "success_", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_sender", - "type": "address" - }, - { - "internalType": "address", - "name": "_recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "success_", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_asset", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "withdraw", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "allowance(address,address)": "dd62ed3e", - "approve(address,uint256)": "095ea7b3", - "balanceOf(address)": "70a08231", - "baseToken()": "c55dae63", - "decimals()": "313ce567", - "supply(address,uint256)": "f2b9fdb8", - "symbol()": "95d89b41", - "totalSupply()": "18160ddd", - "transfer(address,uint256)": "a9059cbb", - "transferFrom(address,address,uint256)": "23b872dd", - "withdraw(address,uint256)": "f3fef3a3" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"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\":\"amount_\",\"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\":\"success_\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"baseToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"baseToken_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"decimals_\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"supply\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"symbol_\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"supply_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success_\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success_\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"withdraw\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ITestCompoundV3Comet Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/interfaces/ITestCompoundV3Comet.sol\":\"ITestCompoundV3Comet\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/test/interfaces/ITestCompoundV3Comet.sol\":{\"keccak256\":\"0xe0b5acba13dd380ef710c227a977db0c84815fe72da8f90df77783fa072ff106\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://59dcaf9c3d240ce64af5d8b4639acde550105e40276f26a71ea4e6a4e09a546b\",\"dweb:/ipfs/QmPi3pdYGjv7TZ6MEbsvS9uNkfw224H2azVeh57SvTYQUG\"]},\"contracts/test/interfaces/ITestStandardToken.sol\":{\"keccak256\":\"0xda6f4b993167f4af197511a94a2773b050a959f09cf29552b1bce8e6755f402c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f81b5b2289760faacf90bd614bc58a4c62969442dc7789a2ca27a85d814358a2\",\"dweb:/ipfs/Qma6br5XJLrwa4vVm8YQh6Bms6wPHsYKVbTb6287DL6vFC\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "spender", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "Approval", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "to", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "Transfer", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - }, - { - "internalType": "address", - "name": "_spender", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "amount_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "success_", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_account", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "balance_", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "baseToken", - "outputs": [ - { - "internalType": "address", - "name": "baseToken_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "decimals_", - "type": "uint8" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_asset", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "supply" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "symbol_", - "type": "string" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "supply_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "success_", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_sender", - "type": "address" - }, - { - "internalType": "address", - "name": "_recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "success_", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_asset", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "withdraw" - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/test/interfaces/ITestCompoundV3Comet.sol": "ITestCompoundV3Comet" - }, - "libraries": {} - }, - "sources": { - "contracts/test/interfaces/ITestCompoundV3Comet.sol": { - "keccak256": "0xe0b5acba13dd380ef710c227a977db0c84815fe72da8f90df77783fa072ff106", - "urls": [ - "bzz-raw://59dcaf9c3d240ce64af5d8b4639acde550105e40276f26a71ea4e6a4e09a546b", - "dweb:/ipfs/QmPi3pdYGjv7TZ6MEbsvS9uNkfw224H2azVeh57SvTYQUG" - ], - "license": "GPL-3.0" - }, - "contracts/test/interfaces/ITestStandardToken.sol": { - "keccak256": "0xda6f4b993167f4af197511a94a2773b050a959f09cf29552b1bce8e6755f402c", - "urls": [ - "bzz-raw://f81b5b2289760faacf90bd614bc58a4c62969442dc7789a2ca27a85d814358a2", - "dweb:/ipfs/Qma6br5XJLrwa4vVm8YQh6Bms6wPHsYKVbTb6287DL6vFC" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 384 -} +{ "abi": [ { "type": "function", "name": "allowance", "inputs": [ { "name": "_owner", "type": "address", "internalType": "address" }, { "name": "_spender", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "amount_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "approve", "inputs": [ { "name": "_spender", "type": "address", "internalType": "address" }, { "name": "_amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "success_", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "balanceOf", "inputs": [ { "name": "_account", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "balance_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "baseToken", "inputs": [], "outputs": [ { "name": "baseToken_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "decimals", "inputs": [], "outputs": [ { "name": "decimals_", "type": "uint8", "internalType": "uint8" } ], "stateMutability": "view" }, { "type": "function", "name": "supply", "inputs": [ { "name": "_asset", "type": "address", "internalType": "address" }, { "name": "_amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "symbol", "inputs": [], "outputs": [ { "name": "symbol_", "type": "string", "internalType": "string" } ], "stateMutability": "view" }, { "type": "function", "name": "totalSupply", "inputs": [], "outputs": [ { "name": "supply_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "transfer", "inputs": [ { "name": "_recipient", "type": "address", "internalType": "address" }, { "name": "_amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "success_", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "transferFrom", "inputs": [ { "name": "_sender", "type": "address", "internalType": "address" }, { "name": "_recipient", "type": "address", "internalType": "address" }, { "name": "_amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "success_", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "withdraw", "inputs": [ { "name": "_asset", "type": "address", "internalType": "address" }, { "name": "_amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "event", "name": "Approval", "inputs": [ { "name": "owner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "spender", "type": "address", "indexed": true, "internalType": "address" }, { "name": "value", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "Transfer", "inputs": [ { "name": "from", "type": "address", "indexed": true, "internalType": "address" }, { "name": "to", "type": "address", "indexed": true, "internalType": "address" }, { "name": "value", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "allowance(address,address)": "dd62ed3e", "approve(address,uint256)": "095ea7b3", "balanceOf(address)": "70a08231", "baseToken()": "c55dae63", "decimals()": "313ce567", "supply(address,uint256)": "f2b9fdb8", "symbol()": "95d89b41", "totalSupply()": "18160ddd", "transfer(address,uint256)": "a9059cbb", "transferFrom(address,address,uint256)": "23b872dd", "withdraw(address,uint256)": "f3fef3a3" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"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\":\"amount_\",\"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\":\"success_\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"baseToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"baseToken_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"decimals_\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"supply\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"symbol_\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"supply_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success_\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success_\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"withdraw\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ITestCompoundV3Comet Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/interfaces/ITestCompoundV3Comet.sol\":\"ITestCompoundV3Comet\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/test/interfaces/ITestCompoundV3Comet.sol\":{\"keccak256\":\"0xe0b5acba13dd380ef710c227a977db0c84815fe72da8f90df77783fa072ff106\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://59dcaf9c3d240ce64af5d8b4639acde550105e40276f26a71ea4e6a4e09a546b\",\"dweb:/ipfs/QmPi3pdYGjv7TZ6MEbsvS9uNkfw224H2azVeh57SvTYQUG\"]},\"contracts/test/interfaces/ITestStandardToken.sol\":{\"keccak256\":\"0xda6f4b993167f4af197511a94a2773b050a959f09cf29552b1bce8e6755f402c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f81b5b2289760faacf90bd614bc58a4c62969442dc7789a2ca27a85d814358a2\",\"dweb:/ipfs/Qma6br5XJLrwa4vVm8YQh6Bms6wPHsYKVbTb6287DL6vFC\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "owner", "type": "address", "indexed": true }, { "internalType": "address", "name": "spender", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "value", "type": "uint256", "indexed": false } ], "type": "event", "name": "Approval", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address", "indexed": true }, { "internalType": "address", "name": "to", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "value", "type": "uint256", "indexed": false } ], "type": "event", "name": "Transfer", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "_owner", "type": "address" }, { "internalType": "address", "name": "_spender", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "amount_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "_spender", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "approve", "outputs": [ { "internalType": "bool", "name": "success_", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "_account", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "balance_", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "baseToken", "outputs": [ { "internalType": "address", "name": "baseToken_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "decimals_", "type": "uint8" } ] }, { "inputs": [ { "internalType": "address", "name": "_asset", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "supply" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "symbol", "outputs": [ { "internalType": "string", "name": "symbol_", "type": "string" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "supply_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "_recipient", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "transfer", "outputs": [ { "internalType": "bool", "name": "success_", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "_sender", "type": "address" }, { "internalType": "address", "name": "_recipient", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "success_", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "_asset", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "withdraw" } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/test/interfaces/ITestCompoundV3Comet.sol": "ITestCompoundV3Comet" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/test/interfaces/ITestCompoundV3Comet.sol": { "keccak256": "0xe0b5acba13dd380ef710c227a977db0c84815fe72da8f90df77783fa072ff106", "urls": [ "bzz-raw://59dcaf9c3d240ce64af5d8b4639acde550105e40276f26a71ea4e6a4e09a546b", "dweb:/ipfs/QmPi3pdYGjv7TZ6MEbsvS9uNkfw224H2azVeh57SvTYQUG" ], "license": "GPL-3.0" }, "contracts/test/interfaces/ITestStandardToken.sol": { "keccak256": "0xda6f4b993167f4af197511a94a2773b050a959f09cf29552b1bce8e6755f402c", "urls": [ "bzz-raw://f81b5b2289760faacf90bd614bc58a4c62969442dc7789a2ca27a85d814358a2", "dweb:/ipfs/Qma6br5XJLrwa4vVm8YQh6Bms6wPHsYKVbTb6287DL6vFC" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 384 } diff --git a/eth_defi/abi/enzyme/ITestCompoundV3CometRewards.json b/eth_defi/abi/enzyme/ITestCompoundV3CometRewards.json index 78865463..35d19738 100644 --- a/eth_defi/abi/enzyme/ITestCompoundV3CometRewards.json +++ b/eth_defi/abi/enzyme/ITestCompoundV3CometRewards.json @@ -1,154 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_cToken", - "type": "address" - } - ], - "name": "rewardConfig", - "outputs": [ - { - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint64", - "name": "rescaleFactor", - "type": "uint64" - }, - { - "internalType": "bool", - "name": "shouldUpscale", - "type": "bool" - } - ], - "internalType": "struct ITestCompoundV3CometRewards.RewardConfig", - "name": "rewardConfig_", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "rewardConfig(address)": "2289b6b8" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_cToken\",\"type\":\"address\"}],\"name\":\"rewardConfig\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"rescaleFactor\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"shouldUpscale\",\"type\":\"bool\"}],\"internalType\":\"struct ITestCompoundV3CometRewards.RewardConfig\",\"name\":\"rewardConfig_\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ITestCompoundV3CometRewards Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/interfaces/ITestCompoundV3CometRewards.sol\":\"ITestCompoundV3CometRewards\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/test/interfaces/ITestCompoundV3CometRewards.sol\":{\"keccak256\":\"0xdcd7cfae1f4ee7a364056f970e0832ce31c99b365c83d8e67bdfe917bdac2ba6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6e82298c7af6ca97527b30fccedca6224167c76f7cb599ab5ef1cf68b49e4b34\",\"dweb:/ipfs/QmNSzgaJjuWG1V4jeyZjMLXM6uiMbeHMeceK8fyF9BGrZx\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_cToken", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "rewardConfig", - "outputs": [ - { - "internalType": "struct ITestCompoundV3CometRewards.RewardConfig", - "name": "rewardConfig_", - "type": "tuple", - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint64", - "name": "rescaleFactor", - "type": "uint64" - }, - { - "internalType": "bool", - "name": "shouldUpscale", - "type": "bool" - } - ] - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/test/interfaces/ITestCompoundV3CometRewards.sol": "ITestCompoundV3CometRewards" - }, - "libraries": {} - }, - "sources": { - "contracts/test/interfaces/ITestCompoundV3CometRewards.sol": { - "keccak256": "0xdcd7cfae1f4ee7a364056f970e0832ce31c99b365c83d8e67bdfe917bdac2ba6", - "urls": [ - "bzz-raw://6e82298c7af6ca97527b30fccedca6224167c76f7cb599ab5ef1cf68b49e4b34", - "dweb:/ipfs/QmNSzgaJjuWG1V4jeyZjMLXM6uiMbeHMeceK8fyF9BGrZx" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 385 -} +{ "abi": [ { "type": "function", "name": "rewardConfig", "inputs": [ { "name": "_cToken", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "rewardConfig_", "type": "tuple", "internalType": "struct ITestCompoundV3CometRewards.RewardConfig", "components": [ { "name": "token", "type": "address", "internalType": "address" }, { "name": "rescaleFactor", "type": "uint64", "internalType": "uint64" }, { "name": "shouldUpscale", "type": "bool", "internalType": "bool" } ] } ], "stateMutability": "view" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "rewardConfig(address)": "2289b6b8" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_cToken\",\"type\":\"address\"}],\"name\":\"rewardConfig\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"rescaleFactor\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"shouldUpscale\",\"type\":\"bool\"}],\"internalType\":\"struct ITestCompoundV3CometRewards.RewardConfig\",\"name\":\"rewardConfig_\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ITestCompoundV3CometRewards Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/interfaces/ITestCompoundV3CometRewards.sol\":\"ITestCompoundV3CometRewards\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/test/interfaces/ITestCompoundV3CometRewards.sol\":{\"keccak256\":\"0xdcd7cfae1f4ee7a364056f970e0832ce31c99b365c83d8e67bdfe917bdac2ba6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6e82298c7af6ca97527b30fccedca6224167c76f7cb599ab5ef1cf68b49e4b34\",\"dweb:/ipfs/QmNSzgaJjuWG1V4jeyZjMLXM6uiMbeHMeceK8fyF9BGrZx\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_cToken", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "rewardConfig", "outputs": [ { "internalType": "struct ITestCompoundV3CometRewards.RewardConfig", "name": "rewardConfig_", "type": "tuple", "components": [ { "internalType": "address", "name": "token", "type": "address" }, { "internalType": "uint64", "name": "rescaleFactor", "type": "uint64" }, { "internalType": "bool", "name": "shouldUpscale", "type": "bool" } ] } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/test/interfaces/ITestCompoundV3CometRewards.sol": "ITestCompoundV3CometRewards" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/test/interfaces/ITestCompoundV3CometRewards.sol": { "keccak256": "0xdcd7cfae1f4ee7a364056f970e0832ce31c99b365c83d8e67bdfe917bdac2ba6", "urls": [ "bzz-raw://6e82298c7af6ca97527b30fccedca6224167c76f7cb599ab5ef1cf68b49e4b34", "dweb:/ipfs/QmNSzgaJjuWG1V4jeyZjMLXM6uiMbeHMeceK8fyF9BGrZx" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 385 } diff --git a/eth_defi/abi/enzyme/ITestConvexBaseRewardPool.json b/eth_defi/abi/enzyme/ITestConvexBaseRewardPool.json index 9a3f3960..c8ee8847 100644 --- a/eth_defi/abi/enzyme/ITestConvexBaseRewardPool.json +++ b/eth_defi/abi/enzyme/ITestConvexBaseRewardPool.json @@ -1,169 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "uint256", - "name": "_index", - "type": "uint256" - } - ], - "name": "extraRewards", - "outputs": [ - { - "internalType": "address", - "name": "rewardToken_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_for", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "stakeFor", - "outputs": [ - { - "internalType": "bool", - "name": "success_", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "extraRewards(uint256)": "40c35446", - "stakeFor(address,uint256)": "2ee40908" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_index\",\"type\":\"uint256\"}],\"name\":\"extraRewards\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"rewardToken_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_for\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"stakeFor\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success_\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ITestConvexBaseRewardPool Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/interfaces/ITestConvexBaseRewardPool.sol\":\"ITestConvexBaseRewardPool\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/test/interfaces/ITestConvexBaseRewardPool.sol\":{\"keccak256\":\"0xe69d142e7e4f8ee8cdefa0313ffbf11e271e5987ad9a53ac3399b55225fbf87b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f11e79f26886aff99f44d1f5f23447f4089580d8736f704d742f9d82301f3cd2\",\"dweb:/ipfs/QmRqeDNV8tWHrsFwVb9a87q1aKfSZnd1qUAhdprixBEUNr\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "uint256", - "name": "_index", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "extraRewards", - "outputs": [ - { - "internalType": "address", - "name": "rewardToken_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_for", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "stakeFor", - "outputs": [ - { - "internalType": "bool", - "name": "success_", - "type": "bool" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/test/interfaces/ITestConvexBaseRewardPool.sol": "ITestConvexBaseRewardPool" - }, - "libraries": {} - }, - "sources": { - "contracts/test/interfaces/ITestConvexBaseRewardPool.sol": { - "keccak256": "0xe69d142e7e4f8ee8cdefa0313ffbf11e271e5987ad9a53ac3399b55225fbf87b", - "urls": [ - "bzz-raw://f11e79f26886aff99f44d1f5f23447f4089580d8736f704d742f9d82301f3cd2", - "dweb:/ipfs/QmRqeDNV8tWHrsFwVb9a87q1aKfSZnd1qUAhdprixBEUNr" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 386 -} +{ "abi": [ { "type": "function", "name": "extraRewards", "inputs": [ { "name": "_index", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "rewardToken_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "stakeFor", "inputs": [ { "name": "_for", "type": "address", "internalType": "address" }, { "name": "_amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "success_", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "extraRewards(uint256)": "40c35446", "stakeFor(address,uint256)": "2ee40908" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_index\",\"type\":\"uint256\"}],\"name\":\"extraRewards\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"rewardToken_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_for\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"stakeFor\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success_\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ITestConvexBaseRewardPool Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/interfaces/ITestConvexBaseRewardPool.sol\":\"ITestConvexBaseRewardPool\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/test/interfaces/ITestConvexBaseRewardPool.sol\":{\"keccak256\":\"0xe69d142e7e4f8ee8cdefa0313ffbf11e271e5987ad9a53ac3399b55225fbf87b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f11e79f26886aff99f44d1f5f23447f4089580d8736f704d742f9d82301f3cd2\",\"dweb:/ipfs/QmRqeDNV8tWHrsFwVb9a87q1aKfSZnd1qUAhdprixBEUNr\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "uint256", "name": "_index", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "extraRewards", "outputs": [ { "internalType": "address", "name": "rewardToken_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_for", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "stakeFor", "outputs": [ { "internalType": "bool", "name": "success_", "type": "bool" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/test/interfaces/ITestConvexBaseRewardPool.sol": "ITestConvexBaseRewardPool" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/test/interfaces/ITestConvexBaseRewardPool.sol": { "keccak256": "0xe69d142e7e4f8ee8cdefa0313ffbf11e271e5987ad9a53ac3399b55225fbf87b", "urls": [ "bzz-raw://f11e79f26886aff99f44d1f5f23447f4089580d8736f704d742f9d82301f3cd2", "dweb:/ipfs/QmRqeDNV8tWHrsFwVb9a87q1aKfSZnd1qUAhdprixBEUNr" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 386 } diff --git a/eth_defi/abi/enzyme/ITestConvexBooster.json b/eth_defi/abi/enzyme/ITestConvexBooster.json index 328256c6..18f1a546 100644 --- a/eth_defi/abi/enzyme/ITestConvexBooster.json +++ b/eth_defi/abi/enzyme/ITestConvexBooster.json @@ -1,243 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "uint256", - "name": "_pid", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "_stake", - "type": "bool" - } - ], - "name": "deposit", - "outputs": [ - { - "internalType": "bool", - "name": "success_", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_pid", - "type": "uint256" - } - ], - "name": "poolInfo", - "outputs": [ - { - "components": [ - { - "internalType": "address", - "name": "lptoken", - "type": "address" - }, - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "address", - "name": "gauge", - "type": "address" - }, - { - "internalType": "address", - "name": "crvRewards", - "type": "address" - }, - { - "internalType": "address", - "name": "stash", - "type": "address" - }, - { - "internalType": "bool", - "name": "shutdown", - "type": "bool" - } - ], - "internalType": "struct ITestConvexBooster.PoolInfo", - "name": "info_", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "deposit(uint256,uint256,bool)": "43a0d066", - "poolInfo(uint256)": "1526fe27" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_pid\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"_stake\",\"type\":\"bool\"}],\"name\":\"deposit\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success_\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_pid\",\"type\":\"uint256\"}],\"name\":\"poolInfo\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"lptoken\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"gauge\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"crvRewards\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"stash\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"shutdown\",\"type\":\"bool\"}],\"internalType\":\"struct ITestConvexBooster.PoolInfo\",\"name\":\"info_\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ITestConvexBooster Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/interfaces/ITestConvexBooster.sol\":\"ITestConvexBooster\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/test/interfaces/ITestConvexBooster.sol\":{\"keccak256\":\"0x54502b524b9797661871882e535369dbd9edcea456bf7cc18993c377bd1b1736\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://cd4b30b78f612dccf84b4774ea23c9ee7e1b6d1c216a558717c32ba776d2cbeb\",\"dweb:/ipfs/QmSwW1aqZ3wNy3uiyHv9yrou2NoLEYkKndLtaTeWVBRyFF\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "uint256", - "name": "_pid", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "_stake", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "deposit", - "outputs": [ - { - "internalType": "bool", - "name": "success_", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_pid", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "poolInfo", - "outputs": [ - { - "internalType": "struct ITestConvexBooster.PoolInfo", - "name": "info_", - "type": "tuple", - "components": [ - { - "internalType": "address", - "name": "lptoken", - "type": "address" - }, - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "address", - "name": "gauge", - "type": "address" - }, - { - "internalType": "address", - "name": "crvRewards", - "type": "address" - }, - { - "internalType": "address", - "name": "stash", - "type": "address" - }, - { - "internalType": "bool", - "name": "shutdown", - "type": "bool" - } - ] - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/test/interfaces/ITestConvexBooster.sol": "ITestConvexBooster" - }, - "libraries": {} - }, - "sources": { - "contracts/test/interfaces/ITestConvexBooster.sol": { - "keccak256": "0x54502b524b9797661871882e535369dbd9edcea456bf7cc18993c377bd1b1736", - "urls": [ - "bzz-raw://cd4b30b78f612dccf84b4774ea23c9ee7e1b6d1c216a558717c32ba776d2cbeb", - "dweb:/ipfs/QmSwW1aqZ3wNy3uiyHv9yrou2NoLEYkKndLtaTeWVBRyFF" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 387 -} +{ "abi": [ { "type": "function", "name": "deposit", "inputs": [ { "name": "_pid", "type": "uint256", "internalType": "uint256" }, { "name": "_amount", "type": "uint256", "internalType": "uint256" }, { "name": "_stake", "type": "bool", "internalType": "bool" } ], "outputs": [ { "name": "success_", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "poolInfo", "inputs": [ { "name": "_pid", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "info_", "type": "tuple", "internalType": "struct ITestConvexBooster.PoolInfo", "components": [ { "name": "lptoken", "type": "address", "internalType": "address" }, { "name": "token", "type": "address", "internalType": "address" }, { "name": "gauge", "type": "address", "internalType": "address" }, { "name": "crvRewards", "type": "address", "internalType": "address" }, { "name": "stash", "type": "address", "internalType": "address" }, { "name": "shutdown", "type": "bool", "internalType": "bool" } ] } ], "stateMutability": "view" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "deposit(uint256,uint256,bool)": "43a0d066", "poolInfo(uint256)": "1526fe27" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_pid\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"_stake\",\"type\":\"bool\"}],\"name\":\"deposit\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success_\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_pid\",\"type\":\"uint256\"}],\"name\":\"poolInfo\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"lptoken\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"gauge\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"crvRewards\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"stash\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"shutdown\",\"type\":\"bool\"}],\"internalType\":\"struct ITestConvexBooster.PoolInfo\",\"name\":\"info_\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ITestConvexBooster Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/interfaces/ITestConvexBooster.sol\":\"ITestConvexBooster\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/test/interfaces/ITestConvexBooster.sol\":{\"keccak256\":\"0x54502b524b9797661871882e535369dbd9edcea456bf7cc18993c377bd1b1736\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://cd4b30b78f612dccf84b4774ea23c9ee7e1b6d1c216a558717c32ba776d2cbeb\",\"dweb:/ipfs/QmSwW1aqZ3wNy3uiyHv9yrou2NoLEYkKndLtaTeWVBRyFF\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "uint256", "name": "_pid", "type": "uint256" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" }, { "internalType": "bool", "name": "_stake", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function", "name": "deposit", "outputs": [ { "internalType": "bool", "name": "success_", "type": "bool" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_pid", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "poolInfo", "outputs": [ { "internalType": "struct ITestConvexBooster.PoolInfo", "name": "info_", "type": "tuple", "components": [ { "internalType": "address", "name": "lptoken", "type": "address" }, { "internalType": "address", "name": "token", "type": "address" }, { "internalType": "address", "name": "gauge", "type": "address" }, { "internalType": "address", "name": "crvRewards", "type": "address" }, { "internalType": "address", "name": "stash", "type": "address" }, { "internalType": "bool", "name": "shutdown", "type": "bool" } ] } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/test/interfaces/ITestConvexBooster.sol": "ITestConvexBooster" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/test/interfaces/ITestConvexBooster.sol": { "keccak256": "0x54502b524b9797661871882e535369dbd9edcea456bf7cc18993c377bd1b1736", "urls": [ "bzz-raw://cd4b30b78f612dccf84b4774ea23c9ee7e1b6d1c216a558717c32ba776d2cbeb", "dweb:/ipfs/QmSwW1aqZ3wNy3uiyHv9yrou2NoLEYkKndLtaTeWVBRyFF" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 387 } diff --git a/eth_defi/abi/enzyme/ITestConvexCrvDepositor.json b/eth_defi/abi/enzyme/ITestConvexCrvDepositor.json index 7f5b8557..b4d089c6 100644 --- a/eth_defi/abi/enzyme/ITestConvexCrvDepositor.json +++ b/eth_defi/abi/enzyme/ITestConvexCrvDepositor.json @@ -1,117 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "_lock", - "type": "bool" - } - ], - "name": "deposit", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "deposit(uint256,bool)": "9a408321" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"_lock\",\"type\":\"bool\"}],\"name\":\"deposit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ITestConvexCrvDepositor Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/interfaces/ITestConvexCrvDepositor.sol\":\"ITestConvexCrvDepositor\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/test/interfaces/ITestConvexCrvDepositor.sol\":{\"keccak256\":\"0x76e55f74f437363b516c363b7dff8c650b6fdcefb941bd634e790dc2bef3e3eb\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://755265385303e6d7164ef5976ce53a48cddc84207b9d01629216d61b23b336ad\",\"dweb:/ipfs/QmTssXCRtskZYpuvs6vWKBSTYgj4jdTFPTqiLiKnzfa3hy\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "_lock", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "deposit" - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/test/interfaces/ITestConvexCrvDepositor.sol": "ITestConvexCrvDepositor" - }, - "libraries": {} - }, - "sources": { - "contracts/test/interfaces/ITestConvexCrvDepositor.sol": { - "keccak256": "0x76e55f74f437363b516c363b7dff8c650b6fdcefb941bd634e790dc2bef3e3eb", - "urls": [ - "bzz-raw://755265385303e6d7164ef5976ce53a48cddc84207b9d01629216d61b23b336ad", - "dweb:/ipfs/QmTssXCRtskZYpuvs6vWKBSTYgj4jdTFPTqiLiKnzfa3hy" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 388 -} +{ "abi": [ { "type": "function", "name": "deposit", "inputs": [ { "name": "_amount", "type": "uint256", "internalType": "uint256" }, { "name": "_lock", "type": "bool", "internalType": "bool" } ], "outputs": [], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "deposit(uint256,bool)": "9a408321" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"_lock\",\"type\":\"bool\"}],\"name\":\"deposit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ITestConvexCrvDepositor Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/interfaces/ITestConvexCrvDepositor.sol\":\"ITestConvexCrvDepositor\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/test/interfaces/ITestConvexCrvDepositor.sol\":{\"keccak256\":\"0x76e55f74f437363b516c363b7dff8c650b6fdcefb941bd634e790dc2bef3e3eb\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://755265385303e6d7164ef5976ce53a48cddc84207b9d01629216d61b23b336ad\",\"dweb:/ipfs/QmTssXCRtskZYpuvs6vWKBSTYgj4jdTFPTqiLiKnzfa3hy\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "uint256", "name": "_amount", "type": "uint256" }, { "internalType": "bool", "name": "_lock", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function", "name": "deposit" } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/test/interfaces/ITestConvexCrvDepositor.sol": "ITestConvexCrvDepositor" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/test/interfaces/ITestConvexCrvDepositor.sol": { "keccak256": "0x76e55f74f437363b516c363b7dff8c650b6fdcefb941bd634e790dc2bef3e3eb", "urls": [ "bzz-raw://755265385303e6d7164ef5976ce53a48cddc84207b9d01629216d61b23b336ad", "dweb:/ipfs/QmTssXCRtskZYpuvs6vWKBSTYgj4jdTFPTqiLiKnzfa3hy" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 388 } diff --git a/eth_defi/abi/enzyme/ITestConvexCvxLocker.json b/eth_defi/abi/enzyme/ITestConvexCvxLocker.json index c3136319..fe5d4d95 100644 --- a/eth_defi/abi/enzyme/ITestConvexCvxLocker.json +++ b/eth_defi/abi/enzyme/ITestConvexCvxLocker.json @@ -1,209 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_user", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "amount_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "checkpointEpoch", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_account", - "type": "address" - }, - { - "internalType": "bool", - "name": "_stake", - "type": "bool" - } - ], - "name": "getReward", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_user", - "type": "address" - } - ], - "name": "lockedBalanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "amount_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "balanceOf(address)": "70a08231", - "checkpointEpoch()": "c1009f4b", - "getReward(address,bool)": "7050ccd9", - "lockedBalanceOf(address)": "59355736" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"checkpointEpoch\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_stake\",\"type\":\"bool\"}],\"name\":\"getReward\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"lockedBalanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ITestConvexCvxLocker Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/interfaces/ITestConvexCvxLocker.sol\":\"ITestConvexCvxLocker\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/test/interfaces/ITestConvexCvxLocker.sol\":{\"keccak256\":\"0x3a73e2b2c4cac7ea1aaa2d49eb95e852ff666ed17087483beade8fceb514f48f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c6d107e0205e1b0da169cbf2b2bd8c866d557b59e650f4b05f2100397e885ab1\",\"dweb:/ipfs/QmSTVcCsUJ9BT8SGHpVSC4YEUGTsGkW5DUWzRV5mbZsUiN\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_user", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "amount_", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "checkpointEpoch" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_account", - "type": "address" - }, - { - "internalType": "bool", - "name": "_stake", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "getReward" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_user", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "lockedBalanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "amount_", - "type": "uint256" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/test/interfaces/ITestConvexCvxLocker.sol": "ITestConvexCvxLocker" - }, - "libraries": {} - }, - "sources": { - "contracts/test/interfaces/ITestConvexCvxLocker.sol": { - "keccak256": "0x3a73e2b2c4cac7ea1aaa2d49eb95e852ff666ed17087483beade8fceb514f48f", - "urls": [ - "bzz-raw://c6d107e0205e1b0da169cbf2b2bd8c866d557b59e650f4b05f2100397e885ab1", - "dweb:/ipfs/QmSTVcCsUJ9BT8SGHpVSC4YEUGTsGkW5DUWzRV5mbZsUiN" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 389 -} +{ "abi": [ { "type": "function", "name": "balanceOf", "inputs": [ { "name": "_user", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "amount_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "checkpointEpoch", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "getReward", "inputs": [ { "name": "_account", "type": "address", "internalType": "address" }, { "name": "_stake", "type": "bool", "internalType": "bool" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "lockedBalanceOf", "inputs": [ { "name": "_user", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "amount_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "balanceOf(address)": "70a08231", "checkpointEpoch()": "c1009f4b", "getReward(address,bool)": "7050ccd9", "lockedBalanceOf(address)": "59355736" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"checkpointEpoch\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_stake\",\"type\":\"bool\"}],\"name\":\"getReward\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"lockedBalanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ITestConvexCvxLocker Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/interfaces/ITestConvexCvxLocker.sol\":\"ITestConvexCvxLocker\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/test/interfaces/ITestConvexCvxLocker.sol\":{\"keccak256\":\"0x3a73e2b2c4cac7ea1aaa2d49eb95e852ff666ed17087483beade8fceb514f48f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c6d107e0205e1b0da169cbf2b2bd8c866d557b59e650f4b05f2100397e885ab1\",\"dweb:/ipfs/QmSTVcCsUJ9BT8SGHpVSC4YEUGTsGkW5DUWzRV5mbZsUiN\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_user", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "amount_", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "checkpointEpoch" }, { "inputs": [ { "internalType": "address", "name": "_account", "type": "address" }, { "internalType": "bool", "name": "_stake", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function", "name": "getReward" }, { "inputs": [ { "internalType": "address", "name": "_user", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "lockedBalanceOf", "outputs": [ { "internalType": "uint256", "name": "amount_", "type": "uint256" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/test/interfaces/ITestConvexCvxLocker.sol": "ITestConvexCvxLocker" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/test/interfaces/ITestConvexCvxLocker.sol": { "keccak256": "0x3a73e2b2c4cac7ea1aaa2d49eb95e852ff666ed17087483beade8fceb514f48f", "urls": [ "bzz-raw://c6d107e0205e1b0da169cbf2b2bd8c866d557b59e650f4b05f2100397e885ab1", "dweb:/ipfs/QmSTVcCsUJ9BT8SGHpVSC4YEUGTsGkW5DUWzRV5mbZsUiN" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 389 } diff --git a/eth_defi/abi/enzyme/ITestConvexVirtualBalanceRewardPool.json b/eth_defi/abi/enzyme/ITestConvexVirtualBalanceRewardPool.json index 6a50a486..50bf7244 100644 --- a/eth_defi/abi/enzyme/ITestConvexVirtualBalanceRewardPool.json +++ b/eth_defi/abi/enzyme/ITestConvexVirtualBalanceRewardPool.json @@ -1,134 +1 @@ -{ - "abi": [ - { - "inputs": [], - "name": "operator", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_rewards", - "type": "uint256" - } - ], - "name": "queueNewRewards", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "operator()": "570ca735", - "queueNewRewards(uint256)": "590a41f5" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"operator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_rewards\",\"type\":\"uint256\"}],\"name\":\"queueNewRewards\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ITestConvexVirtualBalanceRewardPool Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/interfaces/ITestConvexVirtualBalanceRewardPool.sol\":\"ITestConvexVirtualBalanceRewardPool\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/test/interfaces/ITestConvexVirtualBalanceRewardPool.sol\":{\"keccak256\":\"0x7dfa20859995badd1c933ff0cdcba7160d0ca48d79a8a55970ca68508bd0bb98\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://881e4179d0fc5f3d6ddf33166c37ba87e1a96d550590fc1c49811319b754312e\",\"dweb:/ipfs/QmUTaEHZis2MRkXC6F4dN9ayJdfoA1bw4KaiWtU7NhQRu9\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "operator", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_rewards", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "queueNewRewards" - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/test/interfaces/ITestConvexVirtualBalanceRewardPool.sol": "ITestConvexVirtualBalanceRewardPool" - }, - "libraries": {} - }, - "sources": { - "contracts/test/interfaces/ITestConvexVirtualBalanceRewardPool.sol": { - "keccak256": "0x7dfa20859995badd1c933ff0cdcba7160d0ca48d79a8a55970ca68508bd0bb98", - "urls": [ - "bzz-raw://881e4179d0fc5f3d6ddf33166c37ba87e1a96d550590fc1c49811319b754312e", - "dweb:/ipfs/QmUTaEHZis2MRkXC6F4dN9ayJdfoA1bw4KaiWtU7NhQRu9" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 390 -} +{ "abi": [ { "type": "function", "name": "operator", "inputs": [], "outputs": [ { "name": "", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "queueNewRewards", "inputs": [ { "name": "_rewards", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "operator()": "570ca735", "queueNewRewards(uint256)": "590a41f5" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"operator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_rewards\",\"type\":\"uint256\"}],\"name\":\"queueNewRewards\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ITestConvexVirtualBalanceRewardPool Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/interfaces/ITestConvexVirtualBalanceRewardPool.sol\":\"ITestConvexVirtualBalanceRewardPool\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/test/interfaces/ITestConvexVirtualBalanceRewardPool.sol\":{\"keccak256\":\"0x7dfa20859995badd1c933ff0cdcba7160d0ca48d79a8a55970ca68508bd0bb98\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://881e4179d0fc5f3d6ddf33166c37ba87e1a96d550590fc1c49811319b754312e\",\"dweb:/ipfs/QmUTaEHZis2MRkXC6F4dN9ayJdfoA1bw4KaiWtU7NhQRu9\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [], "stateMutability": "view", "type": "function", "name": "operator", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_rewards", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "queueNewRewards" } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/test/interfaces/ITestConvexVirtualBalanceRewardPool.sol": "ITestConvexVirtualBalanceRewardPool" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/test/interfaces/ITestConvexVirtualBalanceRewardPool.sol": { "keccak256": "0x7dfa20859995badd1c933ff0cdcba7160d0ca48d79a8a55970ca68508bd0bb98", "urls": [ "bzz-raw://881e4179d0fc5f3d6ddf33166c37ba87e1a96d550590fc1c49811319b754312e", "dweb:/ipfs/QmUTaEHZis2MRkXC6F4dN9ayJdfoA1bw4KaiWtU7NhQRu9" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 390 } diff --git a/eth_defi/abi/enzyme/ITestConvexVlCvxExtraRewardDistribution.json b/eth_defi/abi/enzyme/ITestConvexVlCvxExtraRewardDistribution.json index 6590c707..8777b9d8 100644 --- a/eth_defi/abi/enzyme/ITestConvexVlCvxExtraRewardDistribution.json +++ b/eth_defi/abi/enzyme/ITestConvexVlCvxExtraRewardDistribution.json @@ -1,166 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "addReward", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_account", - "type": "address" - }, - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "claimableRewards", - "outputs": [ - { - "internalType": "uint256", - "name": "amount_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "addReward(address,uint256)": "9feb8f50", - "claimableRewards(address,address)": "6be9dcce" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"addReward\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"}],\"name\":\"claimableRewards\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ITestConvexVlCvxExtraRewardDistribution Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/interfaces/ITestConvexVlCvxExtraRewardDistribution.sol\":\"ITestConvexVlCvxExtraRewardDistribution\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/test/interfaces/ITestConvexVlCvxExtraRewardDistribution.sol\":{\"keccak256\":\"0x545e93ef4cb0e3bd838c6d6f3a2585e06d4fd98546afce7eff80c7f5799d7f7c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bcd37ee07795277f4a37d65b7990f02758885fbd7fab5eee928f070bbbc5f384\",\"dweb:/ipfs/QmcRwWtEBQtXpm7U5TYcptmEtiCwAFx5KyVJ9KyRExQVVX\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "addReward" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_account", - "type": "address" - }, - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "claimableRewards", - "outputs": [ - { - "internalType": "uint256", - "name": "amount_", - "type": "uint256" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/test/interfaces/ITestConvexVlCvxExtraRewardDistribution.sol": "ITestConvexVlCvxExtraRewardDistribution" - }, - "libraries": {} - }, - "sources": { - "contracts/test/interfaces/ITestConvexVlCvxExtraRewardDistribution.sol": { - "keccak256": "0x545e93ef4cb0e3bd838c6d6f3a2585e06d4fd98546afce7eff80c7f5799d7f7c", - "urls": [ - "bzz-raw://bcd37ee07795277f4a37d65b7990f02758885fbd7fab5eee928f070bbbc5f384", - "dweb:/ipfs/QmcRwWtEBQtXpm7U5TYcptmEtiCwAFx5KyVJ9KyRExQVVX" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 391 -} +{ "abi": [ { "type": "function", "name": "addReward", "inputs": [ { "name": "_token", "type": "address", "internalType": "address" }, { "name": "_amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "claimableRewards", "inputs": [ { "name": "_account", "type": "address", "internalType": "address" }, { "name": "_token", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "amount_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "addReward(address,uint256)": "9feb8f50", "claimableRewards(address,address)": "6be9dcce" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"addReward\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"}],\"name\":\"claimableRewards\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ITestConvexVlCvxExtraRewardDistribution Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/interfaces/ITestConvexVlCvxExtraRewardDistribution.sol\":\"ITestConvexVlCvxExtraRewardDistribution\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/test/interfaces/ITestConvexVlCvxExtraRewardDistribution.sol\":{\"keccak256\":\"0x545e93ef4cb0e3bd838c6d6f3a2585e06d4fd98546afce7eff80c7f5799d7f7c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bcd37ee07795277f4a37d65b7990f02758885fbd7fab5eee928f070bbbc5f384\",\"dweb:/ipfs/QmcRwWtEBQtXpm7U5TYcptmEtiCwAFx5KyVJ9KyRExQVVX\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_token", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "addReward" }, { "inputs": [ { "internalType": "address", "name": "_account", "type": "address" }, { "internalType": "address", "name": "_token", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "claimableRewards", "outputs": [ { "internalType": "uint256", "name": "amount_", "type": "uint256" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/test/interfaces/ITestConvexVlCvxExtraRewardDistribution.sol": "ITestConvexVlCvxExtraRewardDistribution" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/test/interfaces/ITestConvexVlCvxExtraRewardDistribution.sol": { "keccak256": "0x545e93ef4cb0e3bd838c6d6f3a2585e06d4fd98546afce7eff80c7f5799d7f7c", "urls": [ "bzz-raw://bcd37ee07795277f4a37d65b7990f02758885fbd7fab5eee928f070bbbc5f384", "dweb:/ipfs/QmcRwWtEBQtXpm7U5TYcptmEtiCwAFx5KyVJ9KyRExQVVX" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 391 } diff --git a/eth_defi/abi/enzyme/ITestCurveAddressProvider.json b/eth_defi/abi/enzyme/ITestCurveAddressProvider.json index 9a2892e6..46cecf36 100644 --- a/eth_defi/abi/enzyme/ITestCurveAddressProvider.json +++ b/eth_defi/abi/enzyme/ITestCurveAddressProvider.json @@ -1,147 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "uint256", - "name": "_id", - "type": "uint256" - } - ], - "name": "get_address", - "outputs": [ - { - "internalType": "address", - "name": "address_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "get_registry", - "outputs": [ - { - "internalType": "address", - "name": "registry_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "get_address(uint256)": "493f4f74", - "get_registry()": "a262904b" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"}],\"name\":\"get_address\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"address_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"get_registry\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"registry_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ITestCurveAddressProvider interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/interfaces/ITestCurveAddressProvider.sol\":\"ITestCurveAddressProvider\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/test/interfaces/ITestCurveAddressProvider.sol\":{\"keccak256\":\"0xb7553127d938feb1a418fb250f560240c25895e9831c34c4f924fff6981e5f19\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://002cfa13e077b69816f140a9b4797fa4762b0189d764bf22dfc4782776e1985f\",\"dweb:/ipfs/QmYzrxUmqW9UvRgodEES6xAoKsdWBjR5MJR61muQNDEARS\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "uint256", - "name": "_id", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "get_address", - "outputs": [ - { - "internalType": "address", - "name": "address_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "get_registry", - "outputs": [ - { - "internalType": "address", - "name": "registry_", - "type": "address" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/test/interfaces/ITestCurveAddressProvider.sol": "ITestCurveAddressProvider" - }, - "libraries": {} - }, - "sources": { - "contracts/test/interfaces/ITestCurveAddressProvider.sol": { - "keccak256": "0xb7553127d938feb1a418fb250f560240c25895e9831c34c4f924fff6981e5f19", - "urls": [ - "bzz-raw://002cfa13e077b69816f140a9b4797fa4762b0189d764bf22dfc4782776e1985f", - "dweb:/ipfs/QmYzrxUmqW9UvRgodEES6xAoKsdWBjR5MJR61muQNDEARS" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 392 -} +{ "abi": [ { "type": "function", "name": "get_address", "inputs": [ { "name": "_id", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "address_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "get_registry", "inputs": [], "outputs": [ { "name": "registry_", "type": "address", "internalType": "address" } ], "stateMutability": "view" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "get_address(uint256)": "493f4f74", "get_registry()": "a262904b" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"}],\"name\":\"get_address\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"address_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"get_registry\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"registry_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ITestCurveAddressProvider interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/interfaces/ITestCurveAddressProvider.sol\":\"ITestCurveAddressProvider\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/test/interfaces/ITestCurveAddressProvider.sol\":{\"keccak256\":\"0xb7553127d938feb1a418fb250f560240c25895e9831c34c4f924fff6981e5f19\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://002cfa13e077b69816f140a9b4797fa4762b0189d764bf22dfc4782776e1985f\",\"dweb:/ipfs/QmYzrxUmqW9UvRgodEES6xAoKsdWBjR5MJR61muQNDEARS\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "uint256", "name": "_id", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "get_address", "outputs": [ { "internalType": "address", "name": "address_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "get_registry", "outputs": [ { "internalType": "address", "name": "registry_", "type": "address" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/test/interfaces/ITestCurveAddressProvider.sol": "ITestCurveAddressProvider" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/test/interfaces/ITestCurveAddressProvider.sol": { "keccak256": "0xb7553127d938feb1a418fb250f560240c25895e9831c34c4f924fff6981e5f19", "urls": [ "bzz-raw://002cfa13e077b69816f140a9b4797fa4762b0189d764bf22dfc4782776e1985f", "dweb:/ipfs/QmYzrxUmqW9UvRgodEES6xAoKsdWBjR5MJR61muQNDEARS" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 392 } diff --git a/eth_defi/abi/enzyme/ITestCurveLiquidityPool.json b/eth_defi/abi/enzyme/ITestCurveLiquidityPool.json index 17a58ea4..9d5b3e76 100644 --- a/eth_defi/abi/enzyme/ITestCurveLiquidityPool.json +++ b/eth_defi/abi/enzyme/ITestCurveLiquidityPool.json @@ -1,264 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "int128", - "name": "_index", - "type": "int128" - } - ], - "name": "coins", - "outputs": [ - { - "internalType": "address", - "name": "asset_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_index", - "type": "uint256" - } - ], - "name": "coins", - "outputs": [ - { - "internalType": "address", - "name": "asset_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "get_virtual_price", - "outputs": [ - { - "internalType": "uint256", - "name": "price_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "int128", - "name": "_index", - "type": "int128" - } - ], - "name": "underlying_coins", - "outputs": [ - { - "internalType": "address", - "name": "asset_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_index", - "type": "uint256" - } - ], - "name": "underlying_coins", - "outputs": [ - { - "internalType": "address", - "name": "asset_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "coins(int128)": "23746eb8", - "coins(uint256)": "c6610657", - "get_virtual_price()": "bb7b8b80", - "underlying_coins(int128)": "b739953e", - "underlying_coins(uint256)": "b9947eb0" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"int128\",\"name\":\"_index\",\"type\":\"int128\"}],\"name\":\"coins\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"asset_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_index\",\"type\":\"uint256\"}],\"name\":\"coins\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"asset_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"get_virtual_price\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"price_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int128\",\"name\":\"_index\",\"type\":\"int128\"}],\"name\":\"underlying_coins\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"asset_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_index\",\"type\":\"uint256\"}],\"name\":\"underlying_coins\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"asset_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ITestCurveLiquidityPool interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/interfaces/ITestCurveLiquidityPool.sol\":\"ITestCurveLiquidityPool\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/test/interfaces/ITestCurveLiquidityPool.sol\":{\"keccak256\":\"0xfe7a5765062e3e6c14e6537c7927f78338fa1defb970c213912bac618e4c4426\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://38b54328a1413ef97e99514d2216f3740948e20891138f0be29a1ec27fb500b2\",\"dweb:/ipfs/QmfZCteQohgAEnFuKSKeunnrG5SFR8vuwYMWRbc5ScG7Uj\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "int128", - "name": "_index", - "type": "int128" - } - ], - "stateMutability": "view", - "type": "function", - "name": "coins", - "outputs": [ - { - "internalType": "address", - "name": "asset_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_index", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "coins", - "outputs": [ - { - "internalType": "address", - "name": "asset_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "get_virtual_price", - "outputs": [ - { - "internalType": "uint256", - "name": "price_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "int128", - "name": "_index", - "type": "int128" - } - ], - "stateMutability": "view", - "type": "function", - "name": "underlying_coins", - "outputs": [ - { - "internalType": "address", - "name": "asset_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_index", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "underlying_coins", - "outputs": [ - { - "internalType": "address", - "name": "asset_", - "type": "address" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/test/interfaces/ITestCurveLiquidityPool.sol": "ITestCurveLiquidityPool" - }, - "libraries": {} - }, - "sources": { - "contracts/test/interfaces/ITestCurveLiquidityPool.sol": { - "keccak256": "0xfe7a5765062e3e6c14e6537c7927f78338fa1defb970c213912bac618e4c4426", - "urls": [ - "bzz-raw://38b54328a1413ef97e99514d2216f3740948e20891138f0be29a1ec27fb500b2", - "dweb:/ipfs/QmfZCteQohgAEnFuKSKeunnrG5SFR8vuwYMWRbc5ScG7Uj" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 393 -} +{ "abi": [ { "type": "function", "name": "coins", "inputs": [ { "name": "_index", "type": "int128", "internalType": "int128" } ], "outputs": [ { "name": "asset_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "coins", "inputs": [ { "name": "_index", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "asset_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "get_virtual_price", "inputs": [], "outputs": [ { "name": "price_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "underlying_coins", "inputs": [ { "name": "_index", "type": "int128", "internalType": "int128" } ], "outputs": [ { "name": "asset_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "underlying_coins", "inputs": [ { "name": "_index", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "asset_", "type": "address", "internalType": "address" } ], "stateMutability": "view" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "coins(int128)": "23746eb8", "coins(uint256)": "c6610657", "get_virtual_price()": "bb7b8b80", "underlying_coins(int128)": "b739953e", "underlying_coins(uint256)": "b9947eb0" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"int128\",\"name\":\"_index\",\"type\":\"int128\"}],\"name\":\"coins\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"asset_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_index\",\"type\":\"uint256\"}],\"name\":\"coins\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"asset_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"get_virtual_price\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"price_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int128\",\"name\":\"_index\",\"type\":\"int128\"}],\"name\":\"underlying_coins\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"asset_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_index\",\"type\":\"uint256\"}],\"name\":\"underlying_coins\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"asset_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ITestCurveLiquidityPool interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/interfaces/ITestCurveLiquidityPool.sol\":\"ITestCurveLiquidityPool\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/test/interfaces/ITestCurveLiquidityPool.sol\":{\"keccak256\":\"0xfe7a5765062e3e6c14e6537c7927f78338fa1defb970c213912bac618e4c4426\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://38b54328a1413ef97e99514d2216f3740948e20891138f0be29a1ec27fb500b2\",\"dweb:/ipfs/QmfZCteQohgAEnFuKSKeunnrG5SFR8vuwYMWRbc5ScG7Uj\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "int128", "name": "_index", "type": "int128" } ], "stateMutability": "view", "type": "function", "name": "coins", "outputs": [ { "internalType": "address", "name": "asset_", "type": "address" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_index", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "coins", "outputs": [ { "internalType": "address", "name": "asset_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "get_virtual_price", "outputs": [ { "internalType": "uint256", "name": "price_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "int128", "name": "_index", "type": "int128" } ], "stateMutability": "view", "type": "function", "name": "underlying_coins", "outputs": [ { "internalType": "address", "name": "asset_", "type": "address" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_index", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "underlying_coins", "outputs": [ { "internalType": "address", "name": "asset_", "type": "address" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/test/interfaces/ITestCurveLiquidityPool.sol": "ITestCurveLiquidityPool" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/test/interfaces/ITestCurveLiquidityPool.sol": { "keccak256": "0xfe7a5765062e3e6c14e6537c7927f78338fa1defb970c213912bac618e4c4426", "urls": [ "bzz-raw://38b54328a1413ef97e99514d2216f3740948e20891138f0be29a1ec27fb500b2", "dweb:/ipfs/QmfZCteQohgAEnFuKSKeunnrG5SFR8vuwYMWRbc5ScG7Uj" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 393 } diff --git a/eth_defi/abi/enzyme/ITestCurveRegistry.json b/eth_defi/abi/enzyme/ITestCurveRegistry.json index a1c5be69..460b3406 100644 --- a/eth_defi/abi/enzyme/ITestCurveRegistry.json +++ b/eth_defi/abi/enzyme/ITestCurveRegistry.json @@ -1,159 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_pool", - "type": "address" - } - ], - "name": "get_coins", - "outputs": [ - { - "internalType": "address[8]", - "name": "coins_", - "type": "address[8]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_pool", - "type": "address" - } - ], - "name": "get_lp_token", - "outputs": [ - { - "internalType": "address", - "name": "token_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "get_coins(address)": "9ac90d3d", - "get_lp_token(address)": "37951049" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_pool\",\"type\":\"address\"}],\"name\":\"get_coins\",\"outputs\":[{\"internalType\":\"address[8]\",\"name\":\"coins_\",\"type\":\"address[8]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_pool\",\"type\":\"address\"}],\"name\":\"get_lp_token\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"token_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ITestCurveRegistry Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/interfaces/ITestCurveRegistry.sol\":\"ITestCurveRegistry\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/test/interfaces/ITestCurveRegistry.sol\":{\"keccak256\":\"0xad8563492fb2961af342dc5ed6cf790f27d152a3afb11aaca1d53a63c0164f1c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c1d5e5c7fa646ed4dcfe581de849b55e61b70c9950acf38992ad57813510d3e2\",\"dweb:/ipfs/QmWwSvABsg9JdRx6sMpKTD214DNYQCCV4Hyz4d9Ddioyff\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_pool", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "get_coins", - "outputs": [ - { - "internalType": "address[8]", - "name": "coins_", - "type": "address[8]" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_pool", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "get_lp_token", - "outputs": [ - { - "internalType": "address", - "name": "token_", - "type": "address" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/test/interfaces/ITestCurveRegistry.sol": "ITestCurveRegistry" - }, - "libraries": {} - }, - "sources": { - "contracts/test/interfaces/ITestCurveRegistry.sol": { - "keccak256": "0xad8563492fb2961af342dc5ed6cf790f27d152a3afb11aaca1d53a63c0164f1c", - "urls": [ - "bzz-raw://c1d5e5c7fa646ed4dcfe581de849b55e61b70c9950acf38992ad57813510d3e2", - "dweb:/ipfs/QmWwSvABsg9JdRx6sMpKTD214DNYQCCV4Hyz4d9Ddioyff" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 394 -} +{ "abi": [ { "type": "function", "name": "get_coins", "inputs": [ { "name": "_pool", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "coins_", "type": "address[8]", "internalType": "address[8]" } ], "stateMutability": "view" }, { "type": "function", "name": "get_lp_token", "inputs": [ { "name": "_pool", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "token_", "type": "address", "internalType": "address" } ], "stateMutability": "view" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "get_coins(address)": "9ac90d3d", "get_lp_token(address)": "37951049" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_pool\",\"type\":\"address\"}],\"name\":\"get_coins\",\"outputs\":[{\"internalType\":\"address[8]\",\"name\":\"coins_\",\"type\":\"address[8]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_pool\",\"type\":\"address\"}],\"name\":\"get_lp_token\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"token_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ITestCurveRegistry Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/interfaces/ITestCurveRegistry.sol\":\"ITestCurveRegistry\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/test/interfaces/ITestCurveRegistry.sol\":{\"keccak256\":\"0xad8563492fb2961af342dc5ed6cf790f27d152a3afb11aaca1d53a63c0164f1c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c1d5e5c7fa646ed4dcfe581de849b55e61b70c9950acf38992ad57813510d3e2\",\"dweb:/ipfs/QmWwSvABsg9JdRx6sMpKTD214DNYQCCV4Hyz4d9Ddioyff\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_pool", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "get_coins", "outputs": [ { "internalType": "address[8]", "name": "coins_", "type": "address[8]" } ] }, { "inputs": [ { "internalType": "address", "name": "_pool", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "get_lp_token", "outputs": [ { "internalType": "address", "name": "token_", "type": "address" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/test/interfaces/ITestCurveRegistry.sol": "ITestCurveRegistry" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/test/interfaces/ITestCurveRegistry.sol": { "keccak256": "0xad8563492fb2961af342dc5ed6cf790f27d152a3afb11aaca1d53a63c0164f1c", "urls": [ "bzz-raw://c1d5e5c7fa646ed4dcfe581de849b55e61b70c9950acf38992ad57813510d3e2", "dweb:/ipfs/QmWwSvABsg9JdRx6sMpKTD214DNYQCCV4Hyz4d9Ddioyff" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 394 } diff --git a/eth_defi/abi/enzyme/ITestCurveSwaps.json b/eth_defi/abi/enzyme/ITestCurveSwaps.json index 740b21af..8da3113f 100644 --- a/eth_defi/abi/enzyme/ITestCurveSwaps.json +++ b/eth_defi/abi/enzyme/ITestCurveSwaps.json @@ -1,150 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_from", - "type": "address" - }, - { - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "get_best_rate", - "outputs": [ - { - "internalType": "address", - "name": "bestPool_", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amountReceived_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "get_best_rate(address,address,uint256)": "4e21df75" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"get_best_rate\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"bestPool_\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amountReceived_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ITestCurveSwaps Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/interfaces/ITestCurveSwaps.sol\":\"ITestCurveSwaps\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/test/interfaces/ITestCurveSwaps.sol\":{\"keccak256\":\"0x17cf2afe9bf9f5d31a2028e7aafd32773450c893cc6ff15cfe2711998767e8c6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://edb598a01e35d4cd9a535362e6a70b16e31b6165024a2da5bfb88bdc5c0f2ace\",\"dweb:/ipfs/QmYqbyCWFSWB3JLeyXvR6PqkQMrc1LdEpUGRAQCBJYTcHE\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_from", - "type": "address" - }, - { - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "get_best_rate", - "outputs": [ - { - "internalType": "address", - "name": "bestPool_", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amountReceived_", - "type": "uint256" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/test/interfaces/ITestCurveSwaps.sol": "ITestCurveSwaps" - }, - "libraries": {} - }, - "sources": { - "contracts/test/interfaces/ITestCurveSwaps.sol": { - "keccak256": "0x17cf2afe9bf9f5d31a2028e7aafd32773450c893cc6ff15cfe2711998767e8c6", - "urls": [ - "bzz-raw://edb598a01e35d4cd9a535362e6a70b16e31b6165024a2da5bfb88bdc5c0f2ace", - "dweb:/ipfs/QmYqbyCWFSWB3JLeyXvR6PqkQMrc1LdEpUGRAQCBJYTcHE" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 395 -} +{ "abi": [ { "type": "function", "name": "get_best_rate", "inputs": [ { "name": "_from", "type": "address", "internalType": "address" }, { "name": "_to", "type": "address", "internalType": "address" }, { "name": "_amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "bestPool_", "type": "address", "internalType": "address" }, { "name": "amountReceived_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "get_best_rate(address,address,uint256)": "4e21df75" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"get_best_rate\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"bestPool_\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amountReceived_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ITestCurveSwaps Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/interfaces/ITestCurveSwaps.sol\":\"ITestCurveSwaps\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/test/interfaces/ITestCurveSwaps.sol\":{\"keccak256\":\"0x17cf2afe9bf9f5d31a2028e7aafd32773450c893cc6ff15cfe2711998767e8c6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://edb598a01e35d4cd9a535362e6a70b16e31b6165024a2da5bfb88bdc5c0f2ace\",\"dweb:/ipfs/QmYqbyCWFSWB3JLeyXvR6PqkQMrc1LdEpUGRAQCBJYTcHE\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_from", "type": "address" }, { "internalType": "address", "name": "_to", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "get_best_rate", "outputs": [ { "internalType": "address", "name": "bestPool_", "type": "address" }, { "internalType": "uint256", "name": "amountReceived_", "type": "uint256" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/test/interfaces/ITestCurveSwaps.sol": "ITestCurveSwaps" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/test/interfaces/ITestCurveSwaps.sol": { "keccak256": "0x17cf2afe9bf9f5d31a2028e7aafd32773450c893cc6ff15cfe2711998767e8c6", "urls": [ "bzz-raw://edb598a01e35d4cd9a535362e6a70b16e31b6165024a2da5bfb88bdc5c0f2ace", "dweb:/ipfs/QmYqbyCWFSWB3JLeyXvR6PqkQMrc1LdEpUGRAQCBJYTcHE" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 395 } diff --git a/eth_defi/abi/enzyme/ITestERC4626.json b/eth_defi/abi/enzyme/ITestERC4626.json index 52fcc1e4..237bd67a 100644 --- a/eth_defi/abi/enzyme/ITestERC4626.json +++ b/eth_defi/abi/enzyme/ITestERC4626.json @@ -1,1140 +1 @@ -{ - "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": [], - "name": "asset", - "outputs": [ - { - "internalType": "address", - "name": "asset_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_shares", - "type": "uint256" - } - ], - "name": "convertToAssets", - "outputs": [ - { - "internalType": "uint256", - "name": "assets_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_assets", - "type": "uint256" - } - ], - "name": "convertToShares", - "outputs": [ - { - "internalType": "uint256", - "name": "shares_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_assets", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_receiver", - "type": "address" - } - ], - "name": "deposit", - "outputs": [ - { - "internalType": "uint256", - "name": "shares_", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_receiver", - "type": "address" - } - ], - "name": "maxDeposit", - "outputs": [ - { - "internalType": "uint256", - "name": "assets_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_receiver", - "type": "address" - } - ], - "name": "maxMint", - "outputs": [ - { - "internalType": "uint256", - "name": "shares_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "maxRedeem", - "outputs": [ - { - "internalType": "uint256", - "name": "shares_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "maxWithdraw", - "outputs": [ - { - "internalType": "uint256", - "name": "_assets", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "shares_", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_receiver", - "type": "address" - } - ], - "name": "mint", - "outputs": [ - { - "internalType": "uint256", - "name": "assets_", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_assets", - "type": "uint256" - } - ], - "name": "previewDeposit", - "outputs": [ - { - "internalType": "uint256", - "name": "shares_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_shares", - "type": "uint256" - } - ], - "name": "previewMint", - "outputs": [ - { - "internalType": "uint256", - "name": "assets_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_shares", - "type": "uint256" - } - ], - "name": "previewRedeem", - "outputs": [ - { - "internalType": "uint256", - "name": "assets_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_assets", - "type": "uint256" - } - ], - "name": "previewWithdraw", - "outputs": [ - { - "internalType": "uint256", - "name": "shares_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_shares", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_receiver", - "type": "address" - }, - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "redeem", - "outputs": [ - { - "internalType": "uint256", - "name": "assets_", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "totalAssets", - "outputs": [ - { - "internalType": "uint256", - "name": "totalAssets_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_assets", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_receiver", - "type": "address" - }, - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "withdraw", - "outputs": [ - { - "internalType": "uint256", - "name": "shares_", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "allowance(address,address)": "dd62ed3e", - "approve(address,uint256)": "095ea7b3", - "asset()": "38d52e0f", - "balanceOf(address)": "70a08231", - "convertToAssets(uint256)": "07a2d13a", - "convertToShares(uint256)": "c6e6f592", - "deposit(uint256,address)": "6e553f65", - "maxDeposit(address)": "402d267d", - "maxMint(address)": "c63d75b6", - "maxRedeem(address)": "d905777e", - "maxWithdraw(address)": "ce96cb77", - "mint(uint256,address)": "94bf804d", - "previewDeposit(uint256)": "ef8b30f7", - "previewMint(uint256)": "b3d7f6b9", - "previewRedeem(uint256)": "4cdad506", - "previewWithdraw(uint256)": "0a28a477", - "redeem(uint256,address,address)": "ba087652", - "totalAssets()": "01e1d114", - "totalSupply()": "18160ddd", - "transfer(address,uint256)": "a9059cbb", - "transferFrom(address,address,uint256)": "23b872dd", - "withdraw(uint256,address,address)": "b460af94" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"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\":[],\"name\":\"asset\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"asset_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_shares\",\"type\":\"uint256\"}],\"name\":\"convertToAssets\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"assets_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_assets\",\"type\":\"uint256\"}],\"name\":\"convertToShares\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"shares_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_assets\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_receiver\",\"type\":\"address\"}],\"name\":\"deposit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"shares_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_receiver\",\"type\":\"address\"}],\"name\":\"maxDeposit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"assets_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_receiver\",\"type\":\"address\"}],\"name\":\"maxMint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"shares_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"maxRedeem\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"shares_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"maxWithdraw\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_assets\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"shares_\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_receiver\",\"type\":\"address\"}],\"name\":\"mint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"assets_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_assets\",\"type\":\"uint256\"}],\"name\":\"previewDeposit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"shares_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_shares\",\"type\":\"uint256\"}],\"name\":\"previewMint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"assets_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_shares\",\"type\":\"uint256\"}],\"name\":\"previewRedeem\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"assets_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_assets\",\"type\":\"uint256\"}],\"name\":\"previewWithdraw\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"shares_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_shares\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_receiver\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"redeem\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"assets_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalAssets\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"totalAssets_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_assets\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_receiver\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"withdraw\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"shares_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"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 `recipient`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Moves `amount` tokens from `sender` to `recipient` 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.\"}},\"title\":\"ITestERC4626 Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/interfaces/ITestERC4626.sol\":\"ITestERC4626\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/test/interfaces/ITestERC4626.sol\":{\"keccak256\":\"0x54109c8adb6917b4986e9747eacab2c5dc1dad30b81b5f924fa122d87e74227e\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://41abcfb9084094aa7dc9b578e0c268e5cab1211f5cb3d0094cf535b7a5f8d7d7\",\"dweb:/ipfs/QmQkAwCNNcjqcvzRRULFuURrKLoAR3UFRdapiHL6veVFUr\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "spender", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "Approval", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "to", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "Transfer", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "asset", - "outputs": [ - { - "internalType": "address", - "name": "asset_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_shares", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "convertToAssets", - "outputs": [ - { - "internalType": "uint256", - "name": "assets_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_assets", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "convertToShares", - "outputs": [ - { - "internalType": "uint256", - "name": "shares_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_assets", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_receiver", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "deposit", - "outputs": [ - { - "internalType": "uint256", - "name": "shares_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_receiver", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "maxDeposit", - "outputs": [ - { - "internalType": "uint256", - "name": "assets_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_receiver", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "maxMint", - "outputs": [ - { - "internalType": "uint256", - "name": "shares_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "maxRedeem", - "outputs": [ - { - "internalType": "uint256", - "name": "shares_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "maxWithdraw", - "outputs": [ - { - "internalType": "uint256", - "name": "_assets", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "shares_", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_receiver", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "mint", - "outputs": [ - { - "internalType": "uint256", - "name": "assets_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_assets", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "previewDeposit", - "outputs": [ - { - "internalType": "uint256", - "name": "shares_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_shares", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "previewMint", - "outputs": [ - { - "internalType": "uint256", - "name": "assets_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_shares", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "previewRedeem", - "outputs": [ - { - "internalType": "uint256", - "name": "assets_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_assets", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "previewWithdraw", - "outputs": [ - { - "internalType": "uint256", - "name": "shares_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_shares", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_receiver", - "type": "address" - }, - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "redeem", - "outputs": [ - { - "internalType": "uint256", - "name": "assets_", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "totalAssets", - "outputs": [ - { - "internalType": "uint256", - "name": "totalAssets_", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_assets", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_receiver", - "type": "address" - }, - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "withdraw", - "outputs": [ - { - "internalType": "uint256", - "name": "shares_", - "type": "uint256" - } - ] - } - ], - "devdoc": { - "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 `recipient`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event." - }, - "transferFrom(address,address,uint256)": { - "details": "Moves `amount` tokens from `sender` to `recipient` 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": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/test/interfaces/ITestERC4626.sol": "ITestERC4626" - }, - "libraries": {} - }, - "sources": { - "contracts/test/interfaces/ITestERC4626.sol": { - "keccak256": "0x54109c8adb6917b4986e9747eacab2c5dc1dad30b81b5f924fa122d87e74227e", - "urls": [ - "bzz-raw://41abcfb9084094aa7dc9b578e0c268e5cab1211f5cb3d0094cf535b7a5f8d7d7", - "dweb:/ipfs/QmQkAwCNNcjqcvzRRULFuURrKLoAR3UFRdapiHL6veVFUr" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 396 -} +{ "abi": [ { "type": "function", "name": "allowance", "inputs": [ { "name": "owner", "type": "address", "internalType": "address" }, { "name": "spender", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "approve", "inputs": [ { "name": "spender", "type": "address", "internalType": "address" }, { "name": "amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "asset", "inputs": [], "outputs": [ { "name": "asset_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "balanceOf", "inputs": [ { "name": "account", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "convertToAssets", "inputs": [ { "name": "_shares", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "assets_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "convertToShares", "inputs": [ { "name": "_assets", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "shares_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "deposit", "inputs": [ { "name": "_assets", "type": "uint256", "internalType": "uint256" }, { "name": "_receiver", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "shares_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "maxDeposit", "inputs": [ { "name": "_receiver", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "assets_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "maxMint", "inputs": [ { "name": "_receiver", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "shares_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "maxRedeem", "inputs": [ { "name": "_owner", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "shares_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "maxWithdraw", "inputs": [ { "name": "_owner", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "_assets", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "mint", "inputs": [ { "name": "shares_", "type": "uint256", "internalType": "uint256" }, { "name": "_receiver", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "assets_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "previewDeposit", "inputs": [ { "name": "_assets", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "shares_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "previewMint", "inputs": [ { "name": "_shares", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "assets_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "previewRedeem", "inputs": [ { "name": "_shares", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "assets_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "previewWithdraw", "inputs": [ { "name": "_assets", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "shares_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "redeem", "inputs": [ { "name": "_shares", "type": "uint256", "internalType": "uint256" }, { "name": "_receiver", "type": "address", "internalType": "address" }, { "name": "_owner", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "assets_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "totalAssets", "inputs": [], "outputs": [ { "name": "totalAssets_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "totalSupply", "inputs": [], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "transfer", "inputs": [ { "name": "recipient", "type": "address", "internalType": "address" }, { "name": "amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "transferFrom", "inputs": [ { "name": "sender", "type": "address", "internalType": "address" }, { "name": "recipient", "type": "address", "internalType": "address" }, { "name": "amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "withdraw", "inputs": [ { "name": "_assets", "type": "uint256", "internalType": "uint256" }, { "name": "_receiver", "type": "address", "internalType": "address" }, { "name": "_owner", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "shares_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "event", "name": "Approval", "inputs": [ { "name": "owner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "spender", "type": "address", "indexed": true, "internalType": "address" }, { "name": "value", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "Transfer", "inputs": [ { "name": "from", "type": "address", "indexed": true, "internalType": "address" }, { "name": "to", "type": "address", "indexed": true, "internalType": "address" }, { "name": "value", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "allowance(address,address)": "dd62ed3e", "approve(address,uint256)": "095ea7b3", "asset()": "38d52e0f", "balanceOf(address)": "70a08231", "convertToAssets(uint256)": "07a2d13a", "convertToShares(uint256)": "c6e6f592", "deposit(uint256,address)": "6e553f65", "maxDeposit(address)": "402d267d", "maxMint(address)": "c63d75b6", "maxRedeem(address)": "d905777e", "maxWithdraw(address)": "ce96cb77", "mint(uint256,address)": "94bf804d", "previewDeposit(uint256)": "ef8b30f7", "previewMint(uint256)": "b3d7f6b9", "previewRedeem(uint256)": "4cdad506", "previewWithdraw(uint256)": "0a28a477", "redeem(uint256,address,address)": "ba087652", "totalAssets()": "01e1d114", "totalSupply()": "18160ddd", "transfer(address,uint256)": "a9059cbb", "transferFrom(address,address,uint256)": "23b872dd", "withdraw(uint256,address,address)": "b460af94" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"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\":[],\"name\":\"asset\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"asset_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_shares\",\"type\":\"uint256\"}],\"name\":\"convertToAssets\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"assets_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_assets\",\"type\":\"uint256\"}],\"name\":\"convertToShares\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"shares_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_assets\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_receiver\",\"type\":\"address\"}],\"name\":\"deposit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"shares_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_receiver\",\"type\":\"address\"}],\"name\":\"maxDeposit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"assets_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_receiver\",\"type\":\"address\"}],\"name\":\"maxMint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"shares_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"maxRedeem\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"shares_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"maxWithdraw\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_assets\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"shares_\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_receiver\",\"type\":\"address\"}],\"name\":\"mint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"assets_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_assets\",\"type\":\"uint256\"}],\"name\":\"previewDeposit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"shares_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_shares\",\"type\":\"uint256\"}],\"name\":\"previewMint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"assets_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_shares\",\"type\":\"uint256\"}],\"name\":\"previewRedeem\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"assets_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_assets\",\"type\":\"uint256\"}],\"name\":\"previewWithdraw\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"shares_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_shares\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_receiver\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"redeem\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"assets_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalAssets\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"totalAssets_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_assets\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_receiver\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"withdraw\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"shares_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"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 `recipient`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Moves `amount` tokens from `sender` to `recipient` 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.\"}},\"title\":\"ITestERC4626 Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/interfaces/ITestERC4626.sol\":\"ITestERC4626\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/test/interfaces/ITestERC4626.sol\":{\"keccak256\":\"0x54109c8adb6917b4986e9747eacab2c5dc1dad30b81b5f924fa122d87e74227e\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://41abcfb9084094aa7dc9b578e0c268e5cab1211f5cb3d0094cf535b7a5f8d7d7\",\"dweb:/ipfs/QmQkAwCNNcjqcvzRRULFuURrKLoAR3UFRdapiHL6veVFUr\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "owner", "type": "address", "indexed": true }, { "internalType": "address", "name": "spender", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "value", "type": "uint256", "indexed": false } ], "type": "event", "name": "Approval", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address", "indexed": true }, { "internalType": "address", "name": "to", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "value", "type": "uint256", "indexed": false } ], "type": "event", "name": "Transfer", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "asset", "outputs": [ { "internalType": "address", "name": "asset_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_shares", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "convertToAssets", "outputs": [ { "internalType": "uint256", "name": "assets_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_assets", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "convertToShares", "outputs": [ { "internalType": "uint256", "name": "shares_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_assets", "type": "uint256" }, { "internalType": "address", "name": "_receiver", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "deposit", "outputs": [ { "internalType": "uint256", "name": "shares_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "_receiver", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "maxDeposit", "outputs": [ { "internalType": "uint256", "name": "assets_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "_receiver", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "maxMint", "outputs": [ { "internalType": "uint256", "name": "shares_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "_owner", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "maxRedeem", "outputs": [ { "internalType": "uint256", "name": "shares_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "_owner", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "maxWithdraw", "outputs": [ { "internalType": "uint256", "name": "_assets", "type": "uint256" } ] }, { "inputs": [ { "internalType": "uint256", "name": "shares_", "type": "uint256" }, { "internalType": "address", "name": "_receiver", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "mint", "outputs": [ { "internalType": "uint256", "name": "assets_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_assets", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "previewDeposit", "outputs": [ { "internalType": "uint256", "name": "shares_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_shares", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "previewMint", "outputs": [ { "internalType": "uint256", "name": "assets_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_shares", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "previewRedeem", "outputs": [ { "internalType": "uint256", "name": "assets_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_assets", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "previewWithdraw", "outputs": [ { "internalType": "uint256", "name": "shares_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_shares", "type": "uint256" }, { "internalType": "address", "name": "_receiver", "type": "address" }, { "internalType": "address", "name": "_owner", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "redeem", "outputs": [ { "internalType": "uint256", "name": "assets_", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "totalAssets", "outputs": [ { "internalType": "uint256", "name": "totalAssets_", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_assets", "type": "uint256" }, { "internalType": "address", "name": "_receiver", "type": "address" }, { "internalType": "address", "name": "_owner", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "withdraw", "outputs": [ { "internalType": "uint256", "name": "shares_", "type": "uint256" } ] } ], "devdoc": { "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 `recipient`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event." }, "transferFrom(address,address,uint256)": { "details": "Moves `amount` tokens from `sender` to `recipient` 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": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/test/interfaces/ITestERC4626.sol": "ITestERC4626" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/test/interfaces/ITestERC4626.sol": { "keccak256": "0x54109c8adb6917b4986e9747eacab2c5dc1dad30b81b5f924fa122d87e74227e", "urls": [ "bzz-raw://41abcfb9084094aa7dc9b578e0c268e5cab1211f5cb3d0094cf535b7a5f8d7d7", "dweb:/ipfs/QmQkAwCNNcjqcvzRRULFuURrKLoAR3UFRdapiHL6veVFUr" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" } }, "version": 1 }, "id": 396 } diff --git a/eth_defi/abi/enzyme/ITestGoldfinchConfig.json b/eth_defi/abi/enzyme/ITestGoldfinchConfig.json index da5effbd..ca89804a 100644 --- a/eth_defi/abi/enzyme/ITestGoldfinchConfig.json +++ b/eth_defi/abi/enzyme/ITestGoldfinchConfig.json @@ -1,120 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "uint256", - "name": "_index", - "type": "uint256" - } - ], - "name": "getNumber", - "outputs": [ - { - "internalType": "uint256", - "name": "number_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "getNumber(uint256)": "fc563658" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_index\",\"type\":\"uint256\"}],\"name\":\"getNumber\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"number_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ITestGoldfinchConfig Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/interfaces/ITestGoldfinchConfig.sol\":\"ITestGoldfinchConfig\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/test/interfaces/ITestGoldfinchConfig.sol\":{\"keccak256\":\"0x3a1e1712b57c9ea314d404db017c942fa7bc9461771c81971083d47f027b51f8\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://cf45bdc9d8ae8e3917a5045901a0fddf3cb5270f0b2ad7285b8abc0a64505e66\",\"dweb:/ipfs/QmWHFUdFVf918jo9MoRXT9RZWKNkZUqimpSR7EJxbXYybz\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "uint256", - "name": "_index", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getNumber", - "outputs": [ - { - "internalType": "uint256", - "name": "number_", - "type": "uint256" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/test/interfaces/ITestGoldfinchConfig.sol": "ITestGoldfinchConfig" - }, - "libraries": {} - }, - "sources": { - "contracts/test/interfaces/ITestGoldfinchConfig.sol": { - "keccak256": "0x3a1e1712b57c9ea314d404db017c942fa7bc9461771c81971083d47f027b51f8", - "urls": [ - "bzz-raw://cf45bdc9d8ae8e3917a5045901a0fddf3cb5270f0b2ad7285b8abc0a64505e66", - "dweb:/ipfs/QmWHFUdFVf918jo9MoRXT9RZWKNkZUqimpSR7EJxbXYybz" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 397 -} +{ "abi": [ { "type": "function", "name": "getNumber", "inputs": [ { "name": "_index", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "number_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "getNumber(uint256)": "fc563658" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_index\",\"type\":\"uint256\"}],\"name\":\"getNumber\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"number_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ITestGoldfinchConfig Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/interfaces/ITestGoldfinchConfig.sol\":\"ITestGoldfinchConfig\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/test/interfaces/ITestGoldfinchConfig.sol\":{\"keccak256\":\"0x3a1e1712b57c9ea314d404db017c942fa7bc9461771c81971083d47f027b51f8\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://cf45bdc9d8ae8e3917a5045901a0fddf3cb5270f0b2ad7285b8abc0a64505e66\",\"dweb:/ipfs/QmWHFUdFVf918jo9MoRXT9RZWKNkZUqimpSR7EJxbXYybz\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "uint256", "name": "_index", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "getNumber", "outputs": [ { "internalType": "uint256", "name": "number_", "type": "uint256" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/test/interfaces/ITestGoldfinchConfig.sol": "ITestGoldfinchConfig" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/test/interfaces/ITestGoldfinchConfig.sol": { "keccak256": "0x3a1e1712b57c9ea314d404db017c942fa7bc9461771c81971083d47f027b51f8", "urls": [ "bzz-raw://cf45bdc9d8ae8e3917a5045901a0fddf3cb5270f0b2ad7285b8abc0a64505e66", "dweb:/ipfs/QmWHFUdFVf918jo9MoRXT9RZWKNkZUqimpSR7EJxbXYybz" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 397 } diff --git a/eth_defi/abi/enzyme/ITestGoldfinchSeniorPool.json b/eth_defi/abi/enzyme/ITestGoldfinchSeniorPool.json index f5b0d0da..f66daeb9 100644 --- a/eth_defi/abi/enzyme/ITestGoldfinchSeniorPool.json +++ b/eth_defi/abi/enzyme/ITestGoldfinchSeniorPool.json @@ -1,135 +1 @@ -{ - "abi": [ - { - "inputs": [], - "name": "config", - "outputs": [ - { - "internalType": "address", - "name": "config_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "sharePrice", - "outputs": [ - { - "internalType": "uint256", - "name": "price_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "config()": "79502c55", - "sharePrice()": "87269729" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"config\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"config_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"sharePrice\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"price_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ITestGoldfinchSeniorPool Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/interfaces/ITestGoldfinchSeniorPool.sol\":\"ITestGoldfinchSeniorPool\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/test/interfaces/ITestGoldfinchSeniorPool.sol\":{\"keccak256\":\"0xf78b21a046e8102e881e37e4ec511bd80b6dc8c2c4600011e06cd9a9376b24e9\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://0c52059b996128b5e829330d0bf5ed0ce395585036fb37c50e1be7287716a947\",\"dweb:/ipfs/QmWYLRy3FjPa7mRQpXCqxMSoMrG3Jwkn8nqtrqCDaob3Z5\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "config", - "outputs": [ - { - "internalType": "address", - "name": "config_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "sharePrice", - "outputs": [ - { - "internalType": "uint256", - "name": "price_", - "type": "uint256" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/test/interfaces/ITestGoldfinchSeniorPool.sol": "ITestGoldfinchSeniorPool" - }, - "libraries": {} - }, - "sources": { - "contracts/test/interfaces/ITestGoldfinchSeniorPool.sol": { - "keccak256": "0xf78b21a046e8102e881e37e4ec511bd80b6dc8c2c4600011e06cd9a9376b24e9", - "urls": [ - "bzz-raw://0c52059b996128b5e829330d0bf5ed0ce395585036fb37c50e1be7287716a947", - "dweb:/ipfs/QmWYLRy3FjPa7mRQpXCqxMSoMrG3Jwkn8nqtrqCDaob3Z5" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 398 -} +{ "abi": [ { "type": "function", "name": "config", "inputs": [], "outputs": [ { "name": "config_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "sharePrice", "inputs": [], "outputs": [ { "name": "price_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "config()": "79502c55", "sharePrice()": "87269729" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"config\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"config_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"sharePrice\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"price_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ITestGoldfinchSeniorPool Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/interfaces/ITestGoldfinchSeniorPool.sol\":\"ITestGoldfinchSeniorPool\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/test/interfaces/ITestGoldfinchSeniorPool.sol\":{\"keccak256\":\"0xf78b21a046e8102e881e37e4ec511bd80b6dc8c2c4600011e06cd9a9376b24e9\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://0c52059b996128b5e829330d0bf5ed0ce395585036fb37c50e1be7287716a947\",\"dweb:/ipfs/QmWYLRy3FjPa7mRQpXCqxMSoMrG3Jwkn8nqtrqCDaob3Z5\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [], "stateMutability": "view", "type": "function", "name": "config", "outputs": [ { "internalType": "address", "name": "config_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "sharePrice", "outputs": [ { "internalType": "uint256", "name": "price_", "type": "uint256" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/test/interfaces/ITestGoldfinchSeniorPool.sol": "ITestGoldfinchSeniorPool" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/test/interfaces/ITestGoldfinchSeniorPool.sol": { "keccak256": "0xf78b21a046e8102e881e37e4ec511bd80b6dc8c2c4600011e06cd9a9376b24e9", "urls": [ "bzz-raw://0c52059b996128b5e829330d0bf5ed0ce395585036fb37c50e1be7287716a947", "dweb:/ipfs/QmWYLRy3FjPa7mRQpXCqxMSoMrG3Jwkn8nqtrqCDaob3Z5" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 398 } diff --git a/eth_defi/abi/enzyme/ITestGsnForwarder.json b/eth_defi/abi/enzyme/ITestGsnForwarder.json index 84571221..14197427 100644 --- a/eth_defi/abi/enzyme/ITestGsnForwarder.json +++ b/eth_defi/abi/enzyme/ITestGsnForwarder.json @@ -1,120 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_sender", - "type": "address" - } - ], - "name": "getNonce", - "outputs": [ - { - "internalType": "uint256", - "name": "nonce_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "getNonce(address)": "2d0335ab" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_sender\",\"type\":\"address\"}],\"name\":\"getNonce\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"nonce_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ITestGsnForwarder Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/interfaces/ITestGsnForwarder.sol\":\"ITestGsnForwarder\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/test/interfaces/ITestGsnForwarder.sol\":{\"keccak256\":\"0x3fd708babc515c1eec7b16ed1edeba8a2788db59682dc027674e4ed17b95d5a9\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c9adb8cc52497ab1b8ff7d6a4b4e47b7b4a37bed15e707af7ab2bfc276104272\",\"dweb:/ipfs/QmebRpkY33am5vJ8j26cwwR42NDxWJ9ZyNbvZk3s3MSvQj\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_sender", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getNonce", - "outputs": [ - { - "internalType": "uint256", - "name": "nonce_", - "type": "uint256" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/test/interfaces/ITestGsnForwarder.sol": "ITestGsnForwarder" - }, - "libraries": {} - }, - "sources": { - "contracts/test/interfaces/ITestGsnForwarder.sol": { - "keccak256": "0x3fd708babc515c1eec7b16ed1edeba8a2788db59682dc027674e4ed17b95d5a9", - "urls": [ - "bzz-raw://c9adb8cc52497ab1b8ff7d6a4b4e47b7b4a37bed15e707af7ab2bfc276104272", - "dweb:/ipfs/QmebRpkY33am5vJ8j26cwwR42NDxWJ9ZyNbvZk3s3MSvQj" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 399 -} +{ "abi": [ { "type": "function", "name": "getNonce", "inputs": [ { "name": "_sender", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "nonce_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "getNonce(address)": "2d0335ab" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_sender\",\"type\":\"address\"}],\"name\":\"getNonce\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"nonce_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ITestGsnForwarder Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/interfaces/ITestGsnForwarder.sol\":\"ITestGsnForwarder\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/test/interfaces/ITestGsnForwarder.sol\":{\"keccak256\":\"0x3fd708babc515c1eec7b16ed1edeba8a2788db59682dc027674e4ed17b95d5a9\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c9adb8cc52497ab1b8ff7d6a4b4e47b7b4a37bed15e707af7ab2bfc276104272\",\"dweb:/ipfs/QmebRpkY33am5vJ8j26cwwR42NDxWJ9ZyNbvZk3s3MSvQj\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_sender", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getNonce", "outputs": [ { "internalType": "uint256", "name": "nonce_", "type": "uint256" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/test/interfaces/ITestGsnForwarder.sol": "ITestGsnForwarder" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/test/interfaces/ITestGsnForwarder.sol": { "keccak256": "0x3fd708babc515c1eec7b16ed1edeba8a2788db59682dc027674e4ed17b95d5a9", "urls": [ "bzz-raw://c9adb8cc52497ab1b8ff7d6a4b4e47b7b4a37bed15e707af7ab2bfc276104272", "dweb:/ipfs/QmebRpkY33am5vJ8j26cwwR42NDxWJ9ZyNbvZk3s3MSvQj" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 399 } diff --git a/eth_defi/abi/enzyme/ITestGsnRelayHub.json b/eth_defi/abi/enzyme/ITestGsnRelayHub.json index 51cefbe9..6b5cc7e1 100644 --- a/eth_defi/abi/enzyme/ITestGsnRelayHub.json +++ b/eth_defi/abi/enzyme/ITestGsnRelayHub.json @@ -1,602 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_target", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "amount_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_gasUsed", - "type": "uint256" - }, - { - "components": [ - { - "internalType": "uint256", - "name": "gasPrice", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "pctRelayFee", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "baseRelayFee", - "type": "uint256" - }, - { - "internalType": "address", - "name": "relayWorker", - "type": "address" - }, - { - "internalType": "address", - "name": "paymaster", - "type": "address" - }, - { - "internalType": "address", - "name": "forwarder", - "type": "address" - }, - { - "internalType": "bytes", - "name": "paymasterData", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "clientId", - "type": "uint256" - } - ], - "internalType": "struct IGsnTypes.RelayData", - "name": "_relayData", - "type": "tuple" - } - ], - "name": "calculateCharge", - "outputs": [ - { - "internalType": "uint256", - "name": "amount_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_target", - "type": "address" - } - ], - "name": "depositFor", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_maxAcceptanceBudget", - "type": "uint256" - }, - { - "components": [ - { - "components": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "gas", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "nonce", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "validUntil", - "type": "uint256" - } - ], - "internalType": "struct IGsnForwarder.ForwardRequest", - "name": "request", - "type": "tuple" - }, - { - "components": [ - { - "internalType": "uint256", - "name": "gasPrice", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "pctRelayFee", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "baseRelayFee", - "type": "uint256" - }, - { - "internalType": "address", - "name": "relayWorker", - "type": "address" - }, - { - "internalType": "address", - "name": "paymaster", - "type": "address" - }, - { - "internalType": "address", - "name": "forwarder", - "type": "address" - }, - { - "internalType": "bytes", - "name": "paymasterData", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "clientId", - "type": "uint256" - } - ], - "internalType": "struct IGsnTypes.RelayData", - "name": "relayData", - "type": "tuple" - } - ], - "internalType": "struct IGsnTypes.RelayRequest", - "name": "_relayRequest", - "type": "tuple" - }, - { - "internalType": "bytes", - "name": "_signature", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "_approvalData", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "_externalGasLimit", - "type": "uint256" - } - ], - "name": "relayCall", - "outputs": [ - { - "internalType": "bool", - "name": "paymasterAccepted_", - "type": "bool" - }, - { - "internalType": "bytes", - "name": "returnValue_", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "address payable", - "name": "_dest", - "type": "address" - } - ], - "name": "withdraw", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "balanceOf(address)": "70a08231", - "calculateCharge(uint256,(uint256,uint256,uint256,address,address,address,bytes,uint256))": "8e53548b", - "depositFor(address)": "aa67c919", - "relayCall(uint256,((address,address,uint256,uint256,uint256,bytes,uint256),(uint256,uint256,uint256,address,address,address,bytes,uint256)),bytes,bytes,uint256)": "10c45431", - "withdraw(uint256,address)": "00f714ce" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_target\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_gasUsed\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"gasPrice\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"pctRelayFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"baseRelayFee\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"relayWorker\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"paymaster\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"forwarder\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"paymasterData\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"clientId\",\"type\":\"uint256\"}],\"internalType\":\"struct IGsnTypes.RelayData\",\"name\":\"_relayData\",\"type\":\"tuple\"}],\"name\":\"calculateCharge\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_target\",\"type\":\"address\"}],\"name\":\"depositFor\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_maxAcceptanceBudget\",\"type\":\"uint256\"},{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"gas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"validUntil\",\"type\":\"uint256\"}],\"internalType\":\"struct IGsnForwarder.ForwardRequest\",\"name\":\"request\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"gasPrice\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"pctRelayFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"baseRelayFee\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"relayWorker\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"paymaster\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"forwarder\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"paymasterData\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"clientId\",\"type\":\"uint256\"}],\"internalType\":\"struct IGsnTypes.RelayData\",\"name\":\"relayData\",\"type\":\"tuple\"}],\"internalType\":\"struct IGsnTypes.RelayRequest\",\"name\":\"_relayRequest\",\"type\":\"tuple\"},{\"internalType\":\"bytes\",\"name\":\"_signature\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"_approvalData\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"_externalGasLimit\",\"type\":\"uint256\"}],\"name\":\"relayCall\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"paymasterAccepted_\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnValue_\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"address payable\",\"name\":\"_dest\",\"type\":\"address\"}],\"name\":\"withdraw\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ITestGsnRelayHub Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/interfaces/ITestGsnRelayHub.sol\":\"ITestGsnRelayHub\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/IGsnForwarder.sol\":{\"keccak256\":\"0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29\",\"dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G\"]},\"contracts/release/interfaces/IGsnTypes.sol\":{\"keccak256\":\"0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7\",\"dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C\"]},\"contracts/test/interfaces/ITestGsnRelayHub.sol\":{\"keccak256\":\"0xdff4e9c411f2d610748f465a3eed012122e93ba6df05ffd5214dea8a07a67f1d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a95cad659fa7e39986052f929dd7453a5b6207a261b76d936aafd962ae3dda08\",\"dweb:/ipfs/QmYWRfEWLf8MFfowbyZymW4thewJj82FerXhYSqknVgSL8\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_target", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "amount_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_gasUsed", - "type": "uint256" - }, - { - "internalType": "struct IGsnTypes.RelayData", - "name": "_relayData", - "type": "tuple", - "components": [ - { - "internalType": "uint256", - "name": "gasPrice", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "pctRelayFee", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "baseRelayFee", - "type": "uint256" - }, - { - "internalType": "address", - "name": "relayWorker", - "type": "address" - }, - { - "internalType": "address", - "name": "paymaster", - "type": "address" - }, - { - "internalType": "address", - "name": "forwarder", - "type": "address" - }, - { - "internalType": "bytes", - "name": "paymasterData", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "clientId", - "type": "uint256" - } - ] - } - ], - "stateMutability": "view", - "type": "function", - "name": "calculateCharge", - "outputs": [ - { - "internalType": "uint256", - "name": "amount_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_target", - "type": "address" - } - ], - "stateMutability": "payable", - "type": "function", - "name": "depositFor" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_maxAcceptanceBudget", - "type": "uint256" - }, - { - "internalType": "struct IGsnTypes.RelayRequest", - "name": "_relayRequest", - "type": "tuple", - "components": [ - { - "internalType": "struct IGsnForwarder.ForwardRequest", - "name": "request", - "type": "tuple", - "components": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "gas", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "nonce", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "validUntil", - "type": "uint256" - } - ] - }, - { - "internalType": "struct IGsnTypes.RelayData", - "name": "relayData", - "type": "tuple", - "components": [ - { - "internalType": "uint256", - "name": "gasPrice", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "pctRelayFee", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "baseRelayFee", - "type": "uint256" - }, - { - "internalType": "address", - "name": "relayWorker", - "type": "address" - }, - { - "internalType": "address", - "name": "paymaster", - "type": "address" - }, - { - "internalType": "address", - "name": "forwarder", - "type": "address" - }, - { - "internalType": "bytes", - "name": "paymasterData", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "clientId", - "type": "uint256" - } - ] - } - ] - }, - { - "internalType": "bytes", - "name": "_signature", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "_approvalData", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "_externalGasLimit", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "relayCall", - "outputs": [ - { - "internalType": "bool", - "name": "paymasterAccepted_", - "type": "bool" - }, - { - "internalType": "bytes", - "name": "returnValue_", - "type": "bytes" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "address payable", - "name": "_dest", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "withdraw" - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/test/interfaces/ITestGsnRelayHub.sol": "ITestGsnRelayHub" - }, - "libraries": {} - }, - "sources": { - "contracts/release/interfaces/IGsnForwarder.sol": { - "keccak256": "0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030", - "urls": [ - "bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29", - "dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IGsnTypes.sol": { - "keccak256": "0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714", - "urls": [ - "bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7", - "dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C" - ], - "license": "GPL-3.0" - }, - "contracts/test/interfaces/ITestGsnRelayHub.sol": { - "keccak256": "0xdff4e9c411f2d610748f465a3eed012122e93ba6df05ffd5214dea8a07a67f1d", - "urls": [ - "bzz-raw://a95cad659fa7e39986052f929dd7453a5b6207a261b76d936aafd962ae3dda08", - "dweb:/ipfs/QmYWRfEWLf8MFfowbyZymW4thewJj82FerXhYSqknVgSL8" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 400 -} +{ "abi": [ { "type": "function", "name": "balanceOf", "inputs": [ { "name": "_target", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "amount_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "calculateCharge", "inputs": [ { "name": "_gasUsed", "type": "uint256", "internalType": "uint256" }, { "name": "_relayData", "type": "tuple", "internalType": "struct IGsnTypes.RelayData", "components": [ { "name": "gasPrice", "type": "uint256", "internalType": "uint256" }, { "name": "pctRelayFee", "type": "uint256", "internalType": "uint256" }, { "name": "baseRelayFee", "type": "uint256", "internalType": "uint256" }, { "name": "relayWorker", "type": "address", "internalType": "address" }, { "name": "paymaster", "type": "address", "internalType": "address" }, { "name": "forwarder", "type": "address", "internalType": "address" }, { "name": "paymasterData", "type": "bytes", "internalType": "bytes" }, { "name": "clientId", "type": "uint256", "internalType": "uint256" } ] } ], "outputs": [ { "name": "amount_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "depositFor", "inputs": [ { "name": "_target", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "relayCall", "inputs": [ { "name": "_maxAcceptanceBudget", "type": "uint256", "internalType": "uint256" }, { "name": "_relayRequest", "type": "tuple", "internalType": "struct IGsnTypes.RelayRequest", "components": [ { "name": "request", "type": "tuple", "internalType": "struct IGsnForwarder.ForwardRequest", "components": [ { "name": "from", "type": "address", "internalType": "address" }, { "name": "to", "type": "address", "internalType": "address" }, { "name": "value", "type": "uint256", "internalType": "uint256" }, { "name": "gas", "type": "uint256", "internalType": "uint256" }, { "name": "nonce", "type": "uint256", "internalType": "uint256" }, { "name": "data", "type": "bytes", "internalType": "bytes" }, { "name": "validUntil", "type": "uint256", "internalType": "uint256" } ] }, { "name": "relayData", "type": "tuple", "internalType": "struct IGsnTypes.RelayData", "components": [ { "name": "gasPrice", "type": "uint256", "internalType": "uint256" }, { "name": "pctRelayFee", "type": "uint256", "internalType": "uint256" }, { "name": "baseRelayFee", "type": "uint256", "internalType": "uint256" }, { "name": "relayWorker", "type": "address", "internalType": "address" }, { "name": "paymaster", "type": "address", "internalType": "address" }, { "name": "forwarder", "type": "address", "internalType": "address" }, { "name": "paymasterData", "type": "bytes", "internalType": "bytes" }, { "name": "clientId", "type": "uint256", "internalType": "uint256" } ] } ] }, { "name": "_signature", "type": "bytes", "internalType": "bytes" }, { "name": "_approvalData", "type": "bytes", "internalType": "bytes" }, { "name": "_externalGasLimit", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "paymasterAccepted_", "type": "bool", "internalType": "bool" }, { "name": "returnValue_", "type": "bytes", "internalType": "bytes" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "withdraw", "inputs": [ { "name": "_amount", "type": "uint256", "internalType": "uint256" }, { "name": "_dest", "type": "address", "internalType": "address payable" } ], "outputs": [], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "balanceOf(address)": "70a08231", "calculateCharge(uint256,(uint256,uint256,uint256,address,address,address,bytes,uint256))": "8e53548b", "depositFor(address)": "aa67c919", "relayCall(uint256,((address,address,uint256,uint256,uint256,bytes,uint256),(uint256,uint256,uint256,address,address,address,bytes,uint256)),bytes,bytes,uint256)": "10c45431", "withdraw(uint256,address)": "00f714ce" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_target\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_gasUsed\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"gasPrice\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"pctRelayFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"baseRelayFee\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"relayWorker\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"paymaster\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"forwarder\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"paymasterData\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"clientId\",\"type\":\"uint256\"}],\"internalType\":\"struct IGsnTypes.RelayData\",\"name\":\"_relayData\",\"type\":\"tuple\"}],\"name\":\"calculateCharge\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_target\",\"type\":\"address\"}],\"name\":\"depositFor\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_maxAcceptanceBudget\",\"type\":\"uint256\"},{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"gas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"validUntil\",\"type\":\"uint256\"}],\"internalType\":\"struct IGsnForwarder.ForwardRequest\",\"name\":\"request\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"gasPrice\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"pctRelayFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"baseRelayFee\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"relayWorker\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"paymaster\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"forwarder\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"paymasterData\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"clientId\",\"type\":\"uint256\"}],\"internalType\":\"struct IGsnTypes.RelayData\",\"name\":\"relayData\",\"type\":\"tuple\"}],\"internalType\":\"struct IGsnTypes.RelayRequest\",\"name\":\"_relayRequest\",\"type\":\"tuple\"},{\"internalType\":\"bytes\",\"name\":\"_signature\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"_approvalData\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"_externalGasLimit\",\"type\":\"uint256\"}],\"name\":\"relayCall\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"paymasterAccepted_\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnValue_\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"address payable\",\"name\":\"_dest\",\"type\":\"address\"}],\"name\":\"withdraw\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ITestGsnRelayHub Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/interfaces/ITestGsnRelayHub.sol\":\"ITestGsnRelayHub\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/IGsnForwarder.sol\":{\"keccak256\":\"0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29\",\"dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G\"]},\"contracts/release/interfaces/IGsnTypes.sol\":{\"keccak256\":\"0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7\",\"dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C\"]},\"contracts/test/interfaces/ITestGsnRelayHub.sol\":{\"keccak256\":\"0xdff4e9c411f2d610748f465a3eed012122e93ba6df05ffd5214dea8a07a67f1d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a95cad659fa7e39986052f929dd7453a5b6207a261b76d936aafd962ae3dda08\",\"dweb:/ipfs/QmYWRfEWLf8MFfowbyZymW4thewJj82FerXhYSqknVgSL8\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_target", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "amount_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_gasUsed", "type": "uint256" }, { "internalType": "struct IGsnTypes.RelayData", "name": "_relayData", "type": "tuple", "components": [ { "internalType": "uint256", "name": "gasPrice", "type": "uint256" }, { "internalType": "uint256", "name": "pctRelayFee", "type": "uint256" }, { "internalType": "uint256", "name": "baseRelayFee", "type": "uint256" }, { "internalType": "address", "name": "relayWorker", "type": "address" }, { "internalType": "address", "name": "paymaster", "type": "address" }, { "internalType": "address", "name": "forwarder", "type": "address" }, { "internalType": "bytes", "name": "paymasterData", "type": "bytes" }, { "internalType": "uint256", "name": "clientId", "type": "uint256" } ] } ], "stateMutability": "view", "type": "function", "name": "calculateCharge", "outputs": [ { "internalType": "uint256", "name": "amount_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "_target", "type": "address" } ], "stateMutability": "payable", "type": "function", "name": "depositFor" }, { "inputs": [ { "internalType": "uint256", "name": "_maxAcceptanceBudget", "type": "uint256" }, { "internalType": "struct IGsnTypes.RelayRequest", "name": "_relayRequest", "type": "tuple", "components": [ { "internalType": "struct IGsnForwarder.ForwardRequest", "name": "request", "type": "tuple", "components": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" }, { "internalType": "uint256", "name": "gas", "type": "uint256" }, { "internalType": "uint256", "name": "nonce", "type": "uint256" }, { "internalType": "bytes", "name": "data", "type": "bytes" }, { "internalType": "uint256", "name": "validUntil", "type": "uint256" } ] }, { "internalType": "struct IGsnTypes.RelayData", "name": "relayData", "type": "tuple", "components": [ { "internalType": "uint256", "name": "gasPrice", "type": "uint256" }, { "internalType": "uint256", "name": "pctRelayFee", "type": "uint256" }, { "internalType": "uint256", "name": "baseRelayFee", "type": "uint256" }, { "internalType": "address", "name": "relayWorker", "type": "address" }, { "internalType": "address", "name": "paymaster", "type": "address" }, { "internalType": "address", "name": "forwarder", "type": "address" }, { "internalType": "bytes", "name": "paymasterData", "type": "bytes" }, { "internalType": "uint256", "name": "clientId", "type": "uint256" } ] } ] }, { "internalType": "bytes", "name": "_signature", "type": "bytes" }, { "internalType": "bytes", "name": "_approvalData", "type": "bytes" }, { "internalType": "uint256", "name": "_externalGasLimit", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "relayCall", "outputs": [ { "internalType": "bool", "name": "paymasterAccepted_", "type": "bool" }, { "internalType": "bytes", "name": "returnValue_", "type": "bytes" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_amount", "type": "uint256" }, { "internalType": "address payable", "name": "_dest", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "withdraw" } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/test/interfaces/ITestGsnRelayHub.sol": "ITestGsnRelayHub" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/interfaces/IGsnForwarder.sol": { "keccak256": "0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030", "urls": [ "bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29", "dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IGsnTypes.sol": { "keccak256": "0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714", "urls": [ "bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7", "dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C" ], "license": "GPL-3.0" }, "contracts/test/interfaces/ITestGsnRelayHub.sol": { "keccak256": "0xdff4e9c411f2d610748f465a3eed012122e93ba6df05ffd5214dea8a07a67f1d", "urls": [ "bzz-raw://a95cad659fa7e39986052f929dd7453a5b6207a261b76d936aafd962ae3dda08", "dweb:/ipfs/QmYWRfEWLf8MFfowbyZymW4thewJj82FerXhYSqknVgSL8" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 400 } diff --git a/eth_defi/abi/enzyme/ITestIdleTokenV4.json b/eth_defi/abi/enzyme/ITestIdleTokenV4.json index c45496c7..c4e2a724 100644 --- a/eth_defi/abi/enzyme/ITestIdleTokenV4.json +++ b/eth_defi/abi/enzyme/ITestIdleTokenV4.json @@ -1,260 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_user", - "type": "address" - } - ], - "name": "getGovTokensAmounts", - "outputs": [ - { - "internalType": "uint256[]", - "name": "amount_", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "govTokens", - "outputs": [ - { - "internalType": "address", - "name": "token_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_redeemAmount", - "type": "uint256" - } - ], - "name": "redeemIdleToken", - "outputs": [ - { - "internalType": "uint256", - "name": "amount_", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "token", - "outputs": [ - { - "internalType": "address", - "name": "asset_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "tokenPrice", - "outputs": [ - { - "internalType": "uint256", - "name": "price_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "getGovTokensAmounts(address)": "50b28af7", - "govTokens(uint256)": "746daa4e", - "redeemIdleToken(uint256)": "8b30b516", - "token()": "fc0c546a", - "tokenPrice()": "7ff9b596" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"getGovTokensAmounts\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"amount_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"govTokens\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"token_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_redeemAmount\",\"type\":\"uint256\"}],\"name\":\"redeemIdleToken\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"asset_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"tokenPrice\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"price_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ITestIdleTokenV4 Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/interfaces/ITestIdleTokenV4.sol\":\"ITestIdleTokenV4\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/test/interfaces/ITestIdleTokenV4.sol\":{\"keccak256\":\"0x030963f7d465572ecdfe2003a34fa7a9d223a724ab49f84a4844b35f9449d621\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://0092286c00ad660435228fa77f59622c72717412eba90945e1f20cca7cfd4759\",\"dweb:/ipfs/QmWTMVW9BRxy4EZBSCPWnB3mzZJM4XGXwAmSpos4xvnnJr\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_user", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getGovTokensAmounts", - "outputs": [ - { - "internalType": "uint256[]", - "name": "amount_", - "type": "uint256[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "govTokens", - "outputs": [ - { - "internalType": "address", - "name": "token_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_redeemAmount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "redeemIdleToken", - "outputs": [ - { - "internalType": "uint256", - "name": "amount_", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "token", - "outputs": [ - { - "internalType": "address", - "name": "asset_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "tokenPrice", - "outputs": [ - { - "internalType": "uint256", - "name": "price_", - "type": "uint256" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/test/interfaces/ITestIdleTokenV4.sol": "ITestIdleTokenV4" - }, - "libraries": {} - }, - "sources": { - "contracts/test/interfaces/ITestIdleTokenV4.sol": { - "keccak256": "0x030963f7d465572ecdfe2003a34fa7a9d223a724ab49f84a4844b35f9449d621", - "urls": [ - "bzz-raw://0092286c00ad660435228fa77f59622c72717412eba90945e1f20cca7cfd4759", - "dweb:/ipfs/QmWTMVW9BRxy4EZBSCPWnB3mzZJM4XGXwAmSpos4xvnnJr" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 401 -} +{ "abi": [ { "type": "function", "name": "getGovTokensAmounts", "inputs": [ { "name": "_user", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "amount_", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "view" }, { "type": "function", "name": "govTokens", "inputs": [ { "name": "_amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "token_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "redeemIdleToken", "inputs": [ { "name": "_redeemAmount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "amount_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "token", "inputs": [], "outputs": [ { "name": "asset_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "tokenPrice", "inputs": [], "outputs": [ { "name": "price_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "getGovTokensAmounts(address)": "50b28af7", "govTokens(uint256)": "746daa4e", "redeemIdleToken(uint256)": "8b30b516", "token()": "fc0c546a", "tokenPrice()": "7ff9b596" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"getGovTokensAmounts\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"amount_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"govTokens\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"token_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_redeemAmount\",\"type\":\"uint256\"}],\"name\":\"redeemIdleToken\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"asset_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"tokenPrice\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"price_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ITestIdleTokenV4 Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/interfaces/ITestIdleTokenV4.sol\":\"ITestIdleTokenV4\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/test/interfaces/ITestIdleTokenV4.sol\":{\"keccak256\":\"0x030963f7d465572ecdfe2003a34fa7a9d223a724ab49f84a4844b35f9449d621\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://0092286c00ad660435228fa77f59622c72717412eba90945e1f20cca7cfd4759\",\"dweb:/ipfs/QmWTMVW9BRxy4EZBSCPWnB3mzZJM4XGXwAmSpos4xvnnJr\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_user", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getGovTokensAmounts", "outputs": [ { "internalType": "uint256[]", "name": "amount_", "type": "uint256[]" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "govTokens", "outputs": [ { "internalType": "address", "name": "token_", "type": "address" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_redeemAmount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "redeemIdleToken", "outputs": [ { "internalType": "uint256", "name": "amount_", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "token", "outputs": [ { "internalType": "address", "name": "asset_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "tokenPrice", "outputs": [ { "internalType": "uint256", "name": "price_", "type": "uint256" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/test/interfaces/ITestIdleTokenV4.sol": "ITestIdleTokenV4" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/test/interfaces/ITestIdleTokenV4.sol": { "keccak256": "0x030963f7d465572ecdfe2003a34fa7a9d223a724ab49f84a4844b35f9449d621", "urls": [ "bzz-raw://0092286c00ad660435228fa77f59622c72717412eba90945e1f20cca7cfd4759", "dweb:/ipfs/QmWTMVW9BRxy4EZBSCPWnB3mzZJM4XGXwAmSpos4xvnnJr" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" } }, "version": 1 }, "id": 401 } diff --git a/eth_defi/abi/enzyme/ITestKilnStakingContract.json b/eth_defi/abi/enzyme/ITestKilnStakingContract.json index ede9026a..9d1ecad7 100644 --- a/eth_defi/abi/enzyme/ITestKilnStakingContract.json +++ b/eth_defi/abi/enzyme/ITestKilnStakingContract.json @@ -1,236 +1 @@ -{ - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "caller", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "withdrawer", - "type": "address" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "publicKey", - "type": "bytes" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "signature", - "type": "bytes" - } - ], - "name": "Deposit", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "_publicKey", - "type": "bytes" - } - ], - "name": "getELFeeRecipient", - "outputs": [ - { - "internalType": "address", - "name": "elFeeRecipient_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getGlobalFee", - "outputs": [ - { - "internalType": "uint256", - "name": "gloablFee_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getOperatorFee", - "outputs": [ - { - "internalType": "uint256", - "name": "operatorFee_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "getELFeeRecipient(bytes)": "d243d69d", - "getGlobalFee()": "1bcbfaba", - "getOperatorFee()": "28696608" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"withdrawer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"publicKey\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"name\":\"Deposit\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_publicKey\",\"type\":\"bytes\"}],\"name\":\"getELFeeRecipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"elFeeRecipient_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getGlobalFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"gloablFee_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOperatorFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"operatorFee_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/interfaces/ITestKilnStakingContract.sol\":\"ITestKilnStakingContract\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/test/interfaces/ITestKilnStakingContract.sol\":{\"keccak256\":\"0xf6362ffd30bc4eaee0f9aedac11c152274f7e85feea5b84572b82c5a57786461\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d818697961be8a3ee78cf5eba238b0a4077e48aca32f8a3edd298153a3724962\",\"dweb:/ipfs/QmNbzJGhtW13wQPya7497QQPN32rVvSEdjHo3XvbodAhQc\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "caller", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "withdrawer", - "type": "address", - "indexed": true - }, - { - "internalType": "bytes", - "name": "publicKey", - "type": "bytes", - "indexed": false - }, - { - "internalType": "bytes", - "name": "signature", - "type": "bytes", - "indexed": false - } - ], - "type": "event", - "name": "Deposit", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "_publicKey", - "type": "bytes" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getELFeeRecipient", - "outputs": [ - { - "internalType": "address", - "name": "elFeeRecipient_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getGlobalFee", - "outputs": [ - { - "internalType": "uint256", - "name": "gloablFee_", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getOperatorFee", - "outputs": [ - { - "internalType": "uint256", - "name": "operatorFee_", - "type": "uint256" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/test/interfaces/ITestKilnStakingContract.sol": "ITestKilnStakingContract" - }, - "libraries": {} - }, - "sources": { - "contracts/test/interfaces/ITestKilnStakingContract.sol": { - "keccak256": "0xf6362ffd30bc4eaee0f9aedac11c152274f7e85feea5b84572b82c5a57786461", - "urls": [ - "bzz-raw://d818697961be8a3ee78cf5eba238b0a4077e48aca32f8a3edd298153a3724962", - "dweb:/ipfs/QmNbzJGhtW13wQPya7497QQPN32rVvSEdjHo3XvbodAhQc" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 402 -} +{ "abi": [ { "type": "function", "name": "getELFeeRecipient", "inputs": [ { "name": "_publicKey", "type": "bytes", "internalType": "bytes" } ], "outputs": [ { "name": "elFeeRecipient_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getGlobalFee", "inputs": [], "outputs": [ { "name": "gloablFee_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "getOperatorFee", "inputs": [], "outputs": [ { "name": "operatorFee_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "event", "name": "Deposit", "inputs": [ { "name": "caller", "type": "address", "indexed": true, "internalType": "address" }, { "name": "withdrawer", "type": "address", "indexed": true, "internalType": "address" }, { "name": "publicKey", "type": "bytes", "indexed": false, "internalType": "bytes" }, { "name": "signature", "type": "bytes", "indexed": false, "internalType": "bytes" } ], "anonymous": false } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "getELFeeRecipient(bytes)": "d243d69d", "getGlobalFee()": "1bcbfaba", "getOperatorFee()": "28696608" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"withdrawer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"publicKey\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"}],\"name\":\"Deposit\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_publicKey\",\"type\":\"bytes\"}],\"name\":\"getELFeeRecipient\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"elFeeRecipient_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getGlobalFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"gloablFee_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOperatorFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"operatorFee_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/interfaces/ITestKilnStakingContract.sol\":\"ITestKilnStakingContract\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/test/interfaces/ITestKilnStakingContract.sol\":{\"keccak256\":\"0xf6362ffd30bc4eaee0f9aedac11c152274f7e85feea5b84572b82c5a57786461\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d818697961be8a3ee78cf5eba238b0a4077e48aca32f8a3edd298153a3724962\",\"dweb:/ipfs/QmNbzJGhtW13wQPya7497QQPN32rVvSEdjHo3XvbodAhQc\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "caller", "type": "address", "indexed": true }, { "internalType": "address", "name": "withdrawer", "type": "address", "indexed": true }, { "internalType": "bytes", "name": "publicKey", "type": "bytes", "indexed": false }, { "internalType": "bytes", "name": "signature", "type": "bytes", "indexed": false } ], "type": "event", "name": "Deposit", "anonymous": false }, { "inputs": [ { "internalType": "bytes", "name": "_publicKey", "type": "bytes" } ], "stateMutability": "view", "type": "function", "name": "getELFeeRecipient", "outputs": [ { "internalType": "address", "name": "elFeeRecipient_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getGlobalFee", "outputs": [ { "internalType": "uint256", "name": "gloablFee_", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getOperatorFee", "outputs": [ { "internalType": "uint256", "name": "operatorFee_", "type": "uint256" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/test/interfaces/ITestKilnStakingContract.sol": "ITestKilnStakingContract" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/test/interfaces/ITestKilnStakingContract.sol": { "keccak256": "0xf6362ffd30bc4eaee0f9aedac11c152274f7e85feea5b84572b82c5a57786461", "urls": [ "bzz-raw://d818697961be8a3ee78cf5eba238b0a4077e48aca32f8a3edd298153a3724962", "dweb:/ipfs/QmNbzJGhtW13wQPya7497QQPN32rVvSEdjHo3XvbodAhQc" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 402 } diff --git a/eth_defi/abi/enzyme/ITestLidoSteth.json b/eth_defi/abi/enzyme/ITestLidoSteth.json index fe115dbf..4f5f6506 100644 --- a/eth_defi/abi/enzyme/ITestLidoSteth.json +++ b/eth_defi/abi/enzyme/ITestLidoSteth.json @@ -1,120 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "uint256", - "name": "_sharesAmount", - "type": "uint256" - } - ], - "name": "getPooledEthByShares", - "outputs": [ - { - "internalType": "uint256", - "name": "ethAmount_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "getPooledEthByShares(uint256)": "7a28fb88" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_sharesAmount\",\"type\":\"uint256\"}],\"name\":\"getPooledEthByShares\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"ethAmount_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ITestLidoSteth Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/interfaces/ITestLidoSteth.sol\":\"ITestLidoSteth\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/test/interfaces/ITestLidoSteth.sol\":{\"keccak256\":\"0xeb171d09c31e6cda9313a11f2b6c2a8ec60881c1cba7d7c0faf7e85e1da8d7f1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6249f8af81d0b9c2ef6779689b6ecd6f9a87861e92c3501b5a5c1dd0e62080d8\",\"dweb:/ipfs/Qmc7K8sxeCYtsFmBGVVX2BYYPMa2wuLmYDoWqvGQtenBMF\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "uint256", - "name": "_sharesAmount", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getPooledEthByShares", - "outputs": [ - { - "internalType": "uint256", - "name": "ethAmount_", - "type": "uint256" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/test/interfaces/ITestLidoSteth.sol": "ITestLidoSteth" - }, - "libraries": {} - }, - "sources": { - "contracts/test/interfaces/ITestLidoSteth.sol": { - "keccak256": "0xeb171d09c31e6cda9313a11f2b6c2a8ec60881c1cba7d7c0faf7e85e1da8d7f1", - "urls": [ - "bzz-raw://6249f8af81d0b9c2ef6779689b6ecd6f9a87861e92c3501b5a5c1dd0e62080d8", - "dweb:/ipfs/Qmc7K8sxeCYtsFmBGVVX2BYYPMa2wuLmYDoWqvGQtenBMF" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 403 -} +{ "abi": [ { "type": "function", "name": "getPooledEthByShares", "inputs": [ { "name": "_sharesAmount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "ethAmount_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "getPooledEthByShares(uint256)": "7a28fb88" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_sharesAmount\",\"type\":\"uint256\"}],\"name\":\"getPooledEthByShares\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"ethAmount_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ITestLidoSteth Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/interfaces/ITestLidoSteth.sol\":\"ITestLidoSteth\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/test/interfaces/ITestLidoSteth.sol\":{\"keccak256\":\"0xeb171d09c31e6cda9313a11f2b6c2a8ec60881c1cba7d7c0faf7e85e1da8d7f1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6249f8af81d0b9c2ef6779689b6ecd6f9a87861e92c3501b5a5c1dd0e62080d8\",\"dweb:/ipfs/Qmc7K8sxeCYtsFmBGVVX2BYYPMa2wuLmYDoWqvGQtenBMF\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "uint256", "name": "_sharesAmount", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "getPooledEthByShares", "outputs": [ { "internalType": "uint256", "name": "ethAmount_", "type": "uint256" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/test/interfaces/ITestLidoSteth.sol": "ITestLidoSteth" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/test/interfaces/ITestLidoSteth.sol": { "keccak256": "0xeb171d09c31e6cda9313a11f2b6c2a8ec60881c1cba7d7c0faf7e85e1da8d7f1", "urls": [ "bzz-raw://6249f8af81d0b9c2ef6779689b6ecd6f9a87861e92c3501b5a5c1dd0e62080d8", "dweb:/ipfs/Qmc7K8sxeCYtsFmBGVVX2BYYPMa2wuLmYDoWqvGQtenBMF" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 403 } diff --git a/eth_defi/abi/enzyme/ITestLiquityHintHelper.json b/eth_defi/abi/enzyme/ITestLiquityHintHelper.json index 314dedb2..d589bce8 100644 --- a/eth_defi/abi/enzyme/ITestLiquityHintHelper.json +++ b/eth_defi/abi/enzyme/ITestLiquityHintHelper.json @@ -1,160 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "uint256", - "name": "_CR", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_numTrials", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_inputRandomSeed", - "type": "uint256" - } - ], - "name": "getApproxHint", - "outputs": [ - { - "internalType": "address", - "name": "hintAddress_", - "type": "address" - }, - { - "internalType": "uint256", - "name": "diff_", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "latestRandomSeed_", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "getApproxHint(uint256,uint256,uint256)": "7b41bdbe" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_CR\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_numTrials\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_inputRandomSeed\",\"type\":\"uint256\"}],\"name\":\"getApproxHint\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"hintAddress_\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"diff_\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"latestRandomSeed_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ITestLiquityHintHelper Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/interfaces/ITestLiquityHintHelper.sol\":\"ITestLiquityHintHelper\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/test/interfaces/ITestLiquityHintHelper.sol\":{\"keccak256\":\"0x65fbc100c7bde72c39b6687956187fda1e8f11ffba8997a851c4f777075a1e9e\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://abbb575473229129cf1ab55d4c4d207b3ea27d23545a897c37ef5cc43068b99c\",\"dweb:/ipfs/QmY4mYzYrpfjPrg2tk2zn4KmACzvtbksioNweZJ1jrtJt5\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "uint256", - "name": "_CR", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_numTrials", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_inputRandomSeed", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "getApproxHint", - "outputs": [ - { - "internalType": "address", - "name": "hintAddress_", - "type": "address" - }, - { - "internalType": "uint256", - "name": "diff_", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "latestRandomSeed_", - "type": "uint256" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/test/interfaces/ITestLiquityHintHelper.sol": "ITestLiquityHintHelper" - }, - "libraries": {} - }, - "sources": { - "contracts/test/interfaces/ITestLiquityHintHelper.sol": { - "keccak256": "0x65fbc100c7bde72c39b6687956187fda1e8f11ffba8997a851c4f777075a1e9e", - "urls": [ - "bzz-raw://abbb575473229129cf1ab55d4c4d207b3ea27d23545a897c37ef5cc43068b99c", - "dweb:/ipfs/QmY4mYzYrpfjPrg2tk2zn4KmACzvtbksioNweZJ1jrtJt5" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 404 -} +{ "abi": [ { "type": "function", "name": "getApproxHint", "inputs": [ { "name": "_CR", "type": "uint256", "internalType": "uint256" }, { "name": "_numTrials", "type": "uint256", "internalType": "uint256" }, { "name": "_inputRandomSeed", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "hintAddress_", "type": "address", "internalType": "address" }, { "name": "diff_", "type": "uint256", "internalType": "uint256" }, { "name": "latestRandomSeed_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "getApproxHint(uint256,uint256,uint256)": "7b41bdbe" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_CR\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_numTrials\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_inputRandomSeed\",\"type\":\"uint256\"}],\"name\":\"getApproxHint\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"hintAddress_\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"diff_\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"latestRandomSeed_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ITestLiquityHintHelper Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/interfaces/ITestLiquityHintHelper.sol\":\"ITestLiquityHintHelper\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/test/interfaces/ITestLiquityHintHelper.sol\":{\"keccak256\":\"0x65fbc100c7bde72c39b6687956187fda1e8f11ffba8997a851c4f777075a1e9e\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://abbb575473229129cf1ab55d4c4d207b3ea27d23545a897c37ef5cc43068b99c\",\"dweb:/ipfs/QmY4mYzYrpfjPrg2tk2zn4KmACzvtbksioNweZJ1jrtJt5\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "uint256", "name": "_CR", "type": "uint256" }, { "internalType": "uint256", "name": "_numTrials", "type": "uint256" }, { "internalType": "uint256", "name": "_inputRandomSeed", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "getApproxHint", "outputs": [ { "internalType": "address", "name": "hintAddress_", "type": "address" }, { "internalType": "uint256", "name": "diff_", "type": "uint256" }, { "internalType": "uint256", "name": "latestRandomSeed_", "type": "uint256" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/test/interfaces/ITestLiquityHintHelper.sol": "ITestLiquityHintHelper" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/test/interfaces/ITestLiquityHintHelper.sol": { "keccak256": "0x65fbc100c7bde72c39b6687956187fda1e8f11ffba8997a851c4f777075a1e9e", "urls": [ "bzz-raw://abbb575473229129cf1ab55d4c4d207b3ea27d23545a897c37ef5cc43068b99c", "dweb:/ipfs/QmY4mYzYrpfjPrg2tk2zn4KmACzvtbksioNweZJ1jrtJt5" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 404 } diff --git a/eth_defi/abi/enzyme/ITestLiquitySortedTroves.json b/eth_defi/abi/enzyme/ITestLiquitySortedTroves.json index 444ee826..2b121012 100644 --- a/eth_defi/abi/enzyme/ITestLiquitySortedTroves.json +++ b/eth_defi/abi/enzyme/ITestLiquitySortedTroves.json @@ -1,150 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "uint256", - "name": "_NCIR", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_prevId", - "type": "address" - }, - { - "internalType": "address", - "name": "_nextId", - "type": "address" - } - ], - "name": "findInsertPosition", - "outputs": [ - { - "internalType": "address", - "name": "upperHint_", - "type": "address" - }, - { - "internalType": "address", - "name": "lowerHint_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "findInsertPosition(uint256,address,address)": "416980dc" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_NCIR\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_prevId\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_nextId\",\"type\":\"address\"}],\"name\":\"findInsertPosition\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"upperHint_\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"lowerHint_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ITestLiquitySortedTroves Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/interfaces/ITestLiquitySortedTroves.sol\":\"ITestLiquitySortedTroves\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/test/interfaces/ITestLiquitySortedTroves.sol\":{\"keccak256\":\"0xc15fe7560fcf0da69a67373f9814dc0f4db3b7e9a8bc89f27a846db40fc59e87\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5a13d1794b5826136825a042271f49a160bdc0e74a67f54eb3fed7a3738d31fb\",\"dweb:/ipfs/QmQSaL5LknXik8YHmyJAyPXKxTEk6snBHiqN8vX2mcedqL\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "uint256", - "name": "_NCIR", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_prevId", - "type": "address" - }, - { - "internalType": "address", - "name": "_nextId", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "findInsertPosition", - "outputs": [ - { - "internalType": "address", - "name": "upperHint_", - "type": "address" - }, - { - "internalType": "address", - "name": "lowerHint_", - "type": "address" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/test/interfaces/ITestLiquitySortedTroves.sol": "ITestLiquitySortedTroves" - }, - "libraries": {} - }, - "sources": { - "contracts/test/interfaces/ITestLiquitySortedTroves.sol": { - "keccak256": "0xc15fe7560fcf0da69a67373f9814dc0f4db3b7e9a8bc89f27a846db40fc59e87", - "urls": [ - "bzz-raw://5a13d1794b5826136825a042271f49a160bdc0e74a67f54eb3fed7a3738d31fb", - "dweb:/ipfs/QmQSaL5LknXik8YHmyJAyPXKxTEk6snBHiqN8vX2mcedqL" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 405 -} +{ "abi": [ { "type": "function", "name": "findInsertPosition", "inputs": [ { "name": "_NCIR", "type": "uint256", "internalType": "uint256" }, { "name": "_prevId", "type": "address", "internalType": "address" }, { "name": "_nextId", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "upperHint_", "type": "address", "internalType": "address" }, { "name": "lowerHint_", "type": "address", "internalType": "address" } ], "stateMutability": "view" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "findInsertPosition(uint256,address,address)": "416980dc" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_NCIR\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_prevId\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_nextId\",\"type\":\"address\"}],\"name\":\"findInsertPosition\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"upperHint_\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"lowerHint_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ITestLiquitySortedTroves Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/interfaces/ITestLiquitySortedTroves.sol\":\"ITestLiquitySortedTroves\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/test/interfaces/ITestLiquitySortedTroves.sol\":{\"keccak256\":\"0xc15fe7560fcf0da69a67373f9814dc0f4db3b7e9a8bc89f27a846db40fc59e87\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5a13d1794b5826136825a042271f49a160bdc0e74a67f54eb3fed7a3738d31fb\",\"dweb:/ipfs/QmQSaL5LknXik8YHmyJAyPXKxTEk6snBHiqN8vX2mcedqL\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "uint256", "name": "_NCIR", "type": "uint256" }, { "internalType": "address", "name": "_prevId", "type": "address" }, { "internalType": "address", "name": "_nextId", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "findInsertPosition", "outputs": [ { "internalType": "address", "name": "upperHint_", "type": "address" }, { "internalType": "address", "name": "lowerHint_", "type": "address" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/test/interfaces/ITestLiquitySortedTroves.sol": "ITestLiquitySortedTroves" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/test/interfaces/ITestLiquitySortedTroves.sol": { "keccak256": "0xc15fe7560fcf0da69a67373f9814dc0f4db3b7e9a8bc89f27a846db40fc59e87", "urls": [ "bzz-raw://5a13d1794b5826136825a042271f49a160bdc0e74a67f54eb3fed7a3738d31fb", "dweb:/ipfs/QmQSaL5LknXik8YHmyJAyPXKxTEk6snBHiqN8vX2mcedqL" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 405 } diff --git a/eth_defi/abi/enzyme/ITestLiquityTroveManager.json b/eth_defi/abi/enzyme/ITestLiquityTroveManager.json index 368e7625..dbb186f5 100644 --- a/eth_defi/abi/enzyme/ITestLiquityTroveManager.json +++ b/eth_defi/abi/enzyme/ITestLiquityTroveManager.json @@ -1,120 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "uint256", - "name": "_LUSDDebt", - "type": "uint256" - } - ], - "name": "getBorrowingFee", - "outputs": [ - { - "internalType": "uint256", - "name": "fee_", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "getBorrowingFee(uint256)": "631203b0" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_LUSDDebt\",\"type\":\"uint256\"}],\"name\":\"getBorrowingFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"fee_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ITestLiquityTroveManager Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/interfaces/ITestLiquityTroveManager.sol\":\"ITestLiquityTroveManager\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/test/interfaces/ITestLiquityTroveManager.sol\":{\"keccak256\":\"0x3cdd71a87fee89bb203497dbb155825df5e986c03eaf956d68af89cb394f6bb1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://359dc9b28a9fcff83fecb0fe4c35d696c83b2665f11ebc56d17a2bbf2e7684f6\",\"dweb:/ipfs/QmNPuDdhS3yT8mjSG2nBhLUJbq7uTDb1PucCxjaTyWVjMA\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "uint256", - "name": "_LUSDDebt", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "getBorrowingFee", - "outputs": [ - { - "internalType": "uint256", - "name": "fee_", - "type": "uint256" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/test/interfaces/ITestLiquityTroveManager.sol": "ITestLiquityTroveManager" - }, - "libraries": {} - }, - "sources": { - "contracts/test/interfaces/ITestLiquityTroveManager.sol": { - "keccak256": "0x3cdd71a87fee89bb203497dbb155825df5e986c03eaf956d68af89cb394f6bb1", - "urls": [ - "bzz-raw://359dc9b28a9fcff83fecb0fe4c35d696c83b2665f11ebc56d17a2bbf2e7684f6", - "dweb:/ipfs/QmNPuDdhS3yT8mjSG2nBhLUJbq7uTDb1PucCxjaTyWVjMA" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 406 -} +{ "abi": [ { "type": "function", "name": "getBorrowingFee", "inputs": [ { "name": "_LUSDDebt", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "fee_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "getBorrowingFee(uint256)": "631203b0" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_LUSDDebt\",\"type\":\"uint256\"}],\"name\":\"getBorrowingFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"fee_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ITestLiquityTroveManager Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/interfaces/ITestLiquityTroveManager.sol\":\"ITestLiquityTroveManager\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/test/interfaces/ITestLiquityTroveManager.sol\":{\"keccak256\":\"0x3cdd71a87fee89bb203497dbb155825df5e986c03eaf956d68af89cb394f6bb1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://359dc9b28a9fcff83fecb0fe4c35d696c83b2665f11ebc56d17a2bbf2e7684f6\",\"dweb:/ipfs/QmNPuDdhS3yT8mjSG2nBhLUJbq7uTDb1PucCxjaTyWVjMA\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "uint256", "name": "_LUSDDebt", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "getBorrowingFee", "outputs": [ { "internalType": "uint256", "name": "fee_", "type": "uint256" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/test/interfaces/ITestLiquityTroveManager.sol": "ITestLiquityTroveManager" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/test/interfaces/ITestLiquityTroveManager.sol": { "keccak256": "0x3cdd71a87fee89bb203497dbb155825df5e986c03eaf956d68af89cb394f6bb1", "urls": [ "bzz-raw://359dc9b28a9fcff83fecb0fe4c35d696c83b2665f11ebc56d17a2bbf2e7684f6", "dweb:/ipfs/QmNPuDdhS3yT8mjSG2nBhLUJbq7uTDb1PucCxjaTyWVjMA" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 406 } diff --git a/eth_defi/abi/enzyme/ITestMapleGlobals.json b/eth_defi/abi/enzyme/ITestMapleGlobals.json index b3588b21..450ea67f 100644 --- a/eth_defi/abi/enzyme/ITestMapleGlobals.json +++ b/eth_defi/abi/enzyme/ITestMapleGlobals.json @@ -1,108 +1 @@ -{ - "abi": [ - { - "inputs": [], - "name": "lpCooldownPeriod", - "outputs": [ - { - "internalType": "uint256", - "name": "period_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "lpCooldownPeriod()": "dd02e0ec" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"lpCooldownPeriod\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"period_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ITestMapleGlobals Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/interfaces/ITestMapleGlobals.sol\":\"ITestMapleGlobals\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/test/interfaces/ITestMapleGlobals.sol\":{\"keccak256\":\"0x29664f1d0a225484e787e379aecc8e6b3b01f6f81b0d9a3ab8152c1237665efb\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://e9094ded2293d3422ddd3cfb6f2a5ca2c739148d166154fcfa96823f45c72793\",\"dweb:/ipfs/QmfHWCEgnXqbVj6Nw9h26TaQfQB7oqXJs8d7TDy81kxVt6\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "lpCooldownPeriod", - "outputs": [ - { - "internalType": "uint256", - "name": "period_", - "type": "uint256" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/test/interfaces/ITestMapleGlobals.sol": "ITestMapleGlobals" - }, - "libraries": {} - }, - "sources": { - "contracts/test/interfaces/ITestMapleGlobals.sol": { - "keccak256": "0x29664f1d0a225484e787e379aecc8e6b3b01f6f81b0d9a3ab8152c1237665efb", - "urls": [ - "bzz-raw://e9094ded2293d3422ddd3cfb6f2a5ca2c739148d166154fcfa96823f45c72793", - "dweb:/ipfs/QmfHWCEgnXqbVj6Nw9h26TaQfQB7oqXJs8d7TDy81kxVt6" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 407 -} +{ "abi": [ { "type": "function", "name": "lpCooldownPeriod", "inputs": [], "outputs": [ { "name": "period_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "lpCooldownPeriod()": "dd02e0ec" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"lpCooldownPeriod\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"period_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ITestMapleGlobals Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/interfaces/ITestMapleGlobals.sol\":\"ITestMapleGlobals\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/test/interfaces/ITestMapleGlobals.sol\":{\"keccak256\":\"0x29664f1d0a225484e787e379aecc8e6b3b01f6f81b0d9a3ab8152c1237665efb\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://e9094ded2293d3422ddd3cfb6f2a5ca2c739148d166154fcfa96823f45c72793\",\"dweb:/ipfs/QmfHWCEgnXqbVj6Nw9h26TaQfQB7oqXJs8d7TDy81kxVt6\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [], "stateMutability": "view", "type": "function", "name": "lpCooldownPeriod", "outputs": [ { "internalType": "uint256", "name": "period_", "type": "uint256" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/test/interfaces/ITestMapleGlobals.sol": "ITestMapleGlobals" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/test/interfaces/ITestMapleGlobals.sol": { "keccak256": "0x29664f1d0a225484e787e379aecc8e6b3b01f6f81b0d9a3ab8152c1237665efb", "urls": [ "bzz-raw://e9094ded2293d3422ddd3cfb6f2a5ca2c739148d166154fcfa96823f45c72793", "dweb:/ipfs/QmfHWCEgnXqbVj6Nw9h26TaQfQB7oqXJs8d7TDy81kxVt6" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 407 } diff --git a/eth_defi/abi/enzyme/ITestMaplePool.json b/eth_defi/abi/enzyme/ITestMaplePool.json index 43e17d7a..36197a6f 100644 --- a/eth_defi/abi/enzyme/ITestMaplePool.json +++ b/eth_defi/abi/enzyme/ITestMaplePool.json @@ -1,197 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_user", - "type": "address" - }, - { - "internalType": "address", - "name": "_custodian", - "type": "address" - } - ], - "name": "custodyAllowance", - "outputs": [ - { - "internalType": "uint256", - "name": "allowance_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "deposit", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "lockupPeriod", - "outputs": [ - { - "internalType": "uint256", - "name": "period_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "withdrawFunds", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "custodyAllowance(address,address)": "c965b548", - "deposit(uint256)": "b6b55f25", - "lockupPeriod()": "ee947a7c", - "withdrawFunds()": "24600fc3" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_custodian\",\"type\":\"address\"}],\"name\":\"custodyAllowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"allowance_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"deposit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"lockupPeriod\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"period_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"withdrawFunds\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ITestMaplePool Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/interfaces/ITestMaplePool.sol\":\"ITestMaplePool\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/test/interfaces/ITestMaplePool.sol\":{\"keccak256\":\"0x47af7b65e2e7ed0f92014459da20795791a24633096d00d1224b0296259a54a0\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3c9d473a636e5daf91f8084c10a34fd4c08ae242a485a6687923b28204d1e7fb\",\"dweb:/ipfs/QmUH1r1nM6JVTSE5EnQBFb8T5yp87zcxw1iPFBMVdkBmXa\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_user", - "type": "address" - }, - { - "internalType": "address", - "name": "_custodian", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "custodyAllowance", - "outputs": [ - { - "internalType": "uint256", - "name": "allowance_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "deposit" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "lockupPeriod", - "outputs": [ - { - "internalType": "uint256", - "name": "period_", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "withdrawFunds" - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/test/interfaces/ITestMaplePool.sol": "ITestMaplePool" - }, - "libraries": {} - }, - "sources": { - "contracts/test/interfaces/ITestMaplePool.sol": { - "keccak256": "0x47af7b65e2e7ed0f92014459da20795791a24633096d00d1224b0296259a54a0", - "urls": [ - "bzz-raw://3c9d473a636e5daf91f8084c10a34fd4c08ae242a485a6687923b28204d1e7fb", - "dweb:/ipfs/QmUH1r1nM6JVTSE5EnQBFb8T5yp87zcxw1iPFBMVdkBmXa" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 408 -} +{ "abi": [ { "type": "function", "name": "custodyAllowance", "inputs": [ { "name": "_user", "type": "address", "internalType": "address" }, { "name": "_custodian", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "allowance_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "deposit", "inputs": [ { "name": "_amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "lockupPeriod", "inputs": [], "outputs": [ { "name": "period_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "withdrawFunds", "inputs": [], "outputs": [], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "custodyAllowance(address,address)": "c965b548", "deposit(uint256)": "b6b55f25", "lockupPeriod()": "ee947a7c", "withdrawFunds()": "24600fc3" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_custodian\",\"type\":\"address\"}],\"name\":\"custodyAllowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"allowance_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"deposit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"lockupPeriod\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"period_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"withdrawFunds\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ITestMaplePool Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/interfaces/ITestMaplePool.sol\":\"ITestMaplePool\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/test/interfaces/ITestMaplePool.sol\":{\"keccak256\":\"0x47af7b65e2e7ed0f92014459da20795791a24633096d00d1224b0296259a54a0\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3c9d473a636e5daf91f8084c10a34fd4c08ae242a485a6687923b28204d1e7fb\",\"dweb:/ipfs/QmUH1r1nM6JVTSE5EnQBFb8T5yp87zcxw1iPFBMVdkBmXa\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_user", "type": "address" }, { "internalType": "address", "name": "_custodian", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "custodyAllowance", "outputs": [ { "internalType": "uint256", "name": "allowance_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "deposit" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "lockupPeriod", "outputs": [ { "internalType": "uint256", "name": "period_", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "withdrawFunds" } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/test/interfaces/ITestMaplePool.sol": "ITestMaplePool" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/test/interfaces/ITestMaplePool.sol": { "keccak256": "0x47af7b65e2e7ed0f92014459da20795791a24633096d00d1224b0296259a54a0", "urls": [ "bzz-raw://3c9d473a636e5daf91f8084c10a34fd4c08ae242a485a6687923b28204d1e7fb", "dweb:/ipfs/QmUH1r1nM6JVTSE5EnQBFb8T5yp87zcxw1iPFBMVdkBmXa" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 408 } diff --git a/eth_defi/abi/enzyme/ITestMapleV2Pool.json b/eth_defi/abi/enzyme/ITestMapleV2Pool.json index 963b62c4..4110b25a 100644 --- a/eth_defi/abi/enzyme/ITestMapleV2Pool.json +++ b/eth_defi/abi/enzyme/ITestMapleV2Pool.json @@ -1,1253 +1 @@ -{ - "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": [], - "name": "asset", - "outputs": [ - { - "internalType": "address", - "name": "asset_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_shares", - "type": "uint256" - } - ], - "name": "convertToAssets", - "outputs": [ - { - "internalType": "uint256", - "name": "assets_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_shares", - "type": "uint256" - } - ], - "name": "convertToExitAssets", - "outputs": [ - { - "internalType": "uint256", - "name": "assets_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_assets", - "type": "uint256" - } - ], - "name": "convertToExitShares", - "outputs": [ - { - "internalType": "uint256", - "name": "shares_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_assets", - "type": "uint256" - } - ], - "name": "convertToShares", - "outputs": [ - { - "internalType": "uint256", - "name": "shares_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_assets", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_receiver", - "type": "address" - } - ], - "name": "deposit", - "outputs": [ - { - "internalType": "uint256", - "name": "shares_", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "manager", - "outputs": [ - { - "internalType": "address", - "name": "poolManager_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_receiver", - "type": "address" - } - ], - "name": "maxDeposit", - "outputs": [ - { - "internalType": "uint256", - "name": "assets_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_receiver", - "type": "address" - } - ], - "name": "maxMint", - "outputs": [ - { - "internalType": "uint256", - "name": "shares_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "maxRedeem", - "outputs": [ - { - "internalType": "uint256", - "name": "shares_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "maxWithdraw", - "outputs": [ - { - "internalType": "uint256", - "name": "_assets", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "shares_", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_receiver", - "type": "address" - } - ], - "name": "mint", - "outputs": [ - { - "internalType": "uint256", - "name": "assets_", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_assets", - "type": "uint256" - } - ], - "name": "previewDeposit", - "outputs": [ - { - "internalType": "uint256", - "name": "shares_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_shares", - "type": "uint256" - } - ], - "name": "previewMint", - "outputs": [ - { - "internalType": "uint256", - "name": "assets_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_shares", - "type": "uint256" - } - ], - "name": "previewRedeem", - "outputs": [ - { - "internalType": "uint256", - "name": "assets_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_assets", - "type": "uint256" - } - ], - "name": "previewWithdraw", - "outputs": [ - { - "internalType": "uint256", - "name": "shares_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_shares", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_receiver", - "type": "address" - }, - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "redeem", - "outputs": [ - { - "internalType": "uint256", - "name": "assets_", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "totalAssets", - "outputs": [ - { - "internalType": "uint256", - "name": "totalAssets_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_assets", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_receiver", - "type": "address" - }, - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "withdraw", - "outputs": [ - { - "internalType": "uint256", - "name": "shares_", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "allowance(address,address)": "dd62ed3e", - "approve(address,uint256)": "095ea7b3", - "asset()": "38d52e0f", - "balanceOf(address)": "70a08231", - "convertToAssets(uint256)": "07a2d13a", - "convertToExitAssets(uint256)": "50496cbd", - "convertToExitShares(uint256)": "a58c3eff", - "convertToShares(uint256)": "c6e6f592", - "deposit(uint256,address)": "6e553f65", - "manager()": "481c6a75", - "maxDeposit(address)": "402d267d", - "maxMint(address)": "c63d75b6", - "maxRedeem(address)": "d905777e", - "maxWithdraw(address)": "ce96cb77", - "mint(uint256,address)": "94bf804d", - "previewDeposit(uint256)": "ef8b30f7", - "previewMint(uint256)": "b3d7f6b9", - "previewRedeem(uint256)": "4cdad506", - "previewWithdraw(uint256)": "0a28a477", - "redeem(uint256,address,address)": "ba087652", - "totalAssets()": "01e1d114", - "totalSupply()": "18160ddd", - "transfer(address,uint256)": "a9059cbb", - "transferFrom(address,address,uint256)": "23b872dd", - "withdraw(uint256,address,address)": "b460af94" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"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\":[],\"name\":\"asset\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"asset_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_shares\",\"type\":\"uint256\"}],\"name\":\"convertToAssets\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"assets_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_shares\",\"type\":\"uint256\"}],\"name\":\"convertToExitAssets\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"assets_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_assets\",\"type\":\"uint256\"}],\"name\":\"convertToExitShares\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"shares_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_assets\",\"type\":\"uint256\"}],\"name\":\"convertToShares\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"shares_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_assets\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_receiver\",\"type\":\"address\"}],\"name\":\"deposit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"shares_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"manager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"poolManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_receiver\",\"type\":\"address\"}],\"name\":\"maxDeposit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"assets_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_receiver\",\"type\":\"address\"}],\"name\":\"maxMint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"shares_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"maxRedeem\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"shares_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"maxWithdraw\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_assets\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"shares_\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_receiver\",\"type\":\"address\"}],\"name\":\"mint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"assets_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_assets\",\"type\":\"uint256\"}],\"name\":\"previewDeposit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"shares_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_shares\",\"type\":\"uint256\"}],\"name\":\"previewMint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"assets_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_shares\",\"type\":\"uint256\"}],\"name\":\"previewRedeem\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"assets_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_assets\",\"type\":\"uint256\"}],\"name\":\"previewWithdraw\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"shares_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_shares\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_receiver\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"redeem\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"assets_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalAssets\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"totalAssets_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_assets\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_receiver\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"withdraw\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"shares_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"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 `recipient`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Moves `amount` tokens from `sender` to `recipient` 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.\"}},\"title\":\"ITestMapleV2Pool Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/interfaces/ITestMapleV2Pool.sol\":\"ITestMapleV2Pool\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/test/interfaces/ITestERC4626.sol\":{\"keccak256\":\"0x54109c8adb6917b4986e9747eacab2c5dc1dad30b81b5f924fa122d87e74227e\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://41abcfb9084094aa7dc9b578e0c268e5cab1211f5cb3d0094cf535b7a5f8d7d7\",\"dweb:/ipfs/QmQkAwCNNcjqcvzRRULFuURrKLoAR3UFRdapiHL6veVFUr\"]},\"contracts/test/interfaces/ITestMapleV2Pool.sol\":{\"keccak256\":\"0x9384227b831b0a32bbff8a5751bfbda08f9b64c2b2ea5761a48c01cab3dacc28\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://839ffe3177a622a0a5653931c83e575617a5988eae9aaabf2365cbd5ac711f4a\",\"dweb:/ipfs/QmZDUF68oeCWsDtgniUpg6wPgH8rhFdBbDAxVkkypVvvQK\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "spender", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "Approval", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "to", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "Transfer", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "asset", - "outputs": [ - { - "internalType": "address", - "name": "asset_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_shares", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "convertToAssets", - "outputs": [ - { - "internalType": "uint256", - "name": "assets_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_shares", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "convertToExitAssets", - "outputs": [ - { - "internalType": "uint256", - "name": "assets_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_assets", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "convertToExitShares", - "outputs": [ - { - "internalType": "uint256", - "name": "shares_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_assets", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "convertToShares", - "outputs": [ - { - "internalType": "uint256", - "name": "shares_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_assets", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_receiver", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "deposit", - "outputs": [ - { - "internalType": "uint256", - "name": "shares_", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "manager", - "outputs": [ - { - "internalType": "address", - "name": "poolManager_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_receiver", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "maxDeposit", - "outputs": [ - { - "internalType": "uint256", - "name": "assets_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_receiver", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "maxMint", - "outputs": [ - { - "internalType": "uint256", - "name": "shares_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "maxRedeem", - "outputs": [ - { - "internalType": "uint256", - "name": "shares_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "maxWithdraw", - "outputs": [ - { - "internalType": "uint256", - "name": "_assets", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "shares_", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_receiver", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "mint", - "outputs": [ - { - "internalType": "uint256", - "name": "assets_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_assets", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "previewDeposit", - "outputs": [ - { - "internalType": "uint256", - "name": "shares_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_shares", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "previewMint", - "outputs": [ - { - "internalType": "uint256", - "name": "assets_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_shares", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "previewRedeem", - "outputs": [ - { - "internalType": "uint256", - "name": "assets_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_assets", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "previewWithdraw", - "outputs": [ - { - "internalType": "uint256", - "name": "shares_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_shares", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_receiver", - "type": "address" - }, - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "redeem", - "outputs": [ - { - "internalType": "uint256", - "name": "assets_", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "totalAssets", - "outputs": [ - { - "internalType": "uint256", - "name": "totalAssets_", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_assets", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_receiver", - "type": "address" - }, - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "withdraw", - "outputs": [ - { - "internalType": "uint256", - "name": "shares_", - "type": "uint256" - } - ] - } - ], - "devdoc": { - "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 `recipient`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event." - }, - "transferFrom(address,address,uint256)": { - "details": "Moves `amount` tokens from `sender` to `recipient` 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": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/test/interfaces/ITestMapleV2Pool.sol": "ITestMapleV2Pool" - }, - "libraries": {} - }, - "sources": { - "contracts/test/interfaces/ITestERC4626.sol": { - "keccak256": "0x54109c8adb6917b4986e9747eacab2c5dc1dad30b81b5f924fa122d87e74227e", - "urls": [ - "bzz-raw://41abcfb9084094aa7dc9b578e0c268e5cab1211f5cb3d0094cf535b7a5f8d7d7", - "dweb:/ipfs/QmQkAwCNNcjqcvzRRULFuURrKLoAR3UFRdapiHL6veVFUr" - ], - "license": "GPL-3.0" - }, - "contracts/test/interfaces/ITestMapleV2Pool.sol": { - "keccak256": "0x9384227b831b0a32bbff8a5751bfbda08f9b64c2b2ea5761a48c01cab3dacc28", - "urls": [ - "bzz-raw://839ffe3177a622a0a5653931c83e575617a5988eae9aaabf2365cbd5ac711f4a", - "dweb:/ipfs/QmZDUF68oeCWsDtgniUpg6wPgH8rhFdBbDAxVkkypVvvQK" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 409 -} +{ "abi": [ { "type": "function", "name": "allowance", "inputs": [ { "name": "owner", "type": "address", "internalType": "address" }, { "name": "spender", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "approve", "inputs": [ { "name": "spender", "type": "address", "internalType": "address" }, { "name": "amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "asset", "inputs": [], "outputs": [ { "name": "asset_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "balanceOf", "inputs": [ { "name": "account", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "convertToAssets", "inputs": [ { "name": "_shares", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "assets_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "convertToExitAssets", "inputs": [ { "name": "_shares", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "assets_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "convertToExitShares", "inputs": [ { "name": "_assets", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "shares_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "convertToShares", "inputs": [ { "name": "_assets", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "shares_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "deposit", "inputs": [ { "name": "_assets", "type": "uint256", "internalType": "uint256" }, { "name": "_receiver", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "shares_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "manager", "inputs": [], "outputs": [ { "name": "poolManager_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "maxDeposit", "inputs": [ { "name": "_receiver", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "assets_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "maxMint", "inputs": [ { "name": "_receiver", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "shares_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "maxRedeem", "inputs": [ { "name": "_owner", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "shares_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "maxWithdraw", "inputs": [ { "name": "_owner", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "_assets", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "mint", "inputs": [ { "name": "shares_", "type": "uint256", "internalType": "uint256" }, { "name": "_receiver", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "assets_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "previewDeposit", "inputs": [ { "name": "_assets", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "shares_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "previewMint", "inputs": [ { "name": "_shares", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "assets_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "previewRedeem", "inputs": [ { "name": "_shares", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "assets_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "previewWithdraw", "inputs": [ { "name": "_assets", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "shares_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "redeem", "inputs": [ { "name": "_shares", "type": "uint256", "internalType": "uint256" }, { "name": "_receiver", "type": "address", "internalType": "address" }, { "name": "_owner", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "assets_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "totalAssets", "inputs": [], "outputs": [ { "name": "totalAssets_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "totalSupply", "inputs": [], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "transfer", "inputs": [ { "name": "recipient", "type": "address", "internalType": "address" }, { "name": "amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "transferFrom", "inputs": [ { "name": "sender", "type": "address", "internalType": "address" }, { "name": "recipient", "type": "address", "internalType": "address" }, { "name": "amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "withdraw", "inputs": [ { "name": "_assets", "type": "uint256", "internalType": "uint256" }, { "name": "_receiver", "type": "address", "internalType": "address" }, { "name": "_owner", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "shares_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "event", "name": "Approval", "inputs": [ { "name": "owner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "spender", "type": "address", "indexed": true, "internalType": "address" }, { "name": "value", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "Transfer", "inputs": [ { "name": "from", "type": "address", "indexed": true, "internalType": "address" }, { "name": "to", "type": "address", "indexed": true, "internalType": "address" }, { "name": "value", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "allowance(address,address)": "dd62ed3e", "approve(address,uint256)": "095ea7b3", "asset()": "38d52e0f", "balanceOf(address)": "70a08231", "convertToAssets(uint256)": "07a2d13a", "convertToExitAssets(uint256)": "50496cbd", "convertToExitShares(uint256)": "a58c3eff", "convertToShares(uint256)": "c6e6f592", "deposit(uint256,address)": "6e553f65", "manager()": "481c6a75", "maxDeposit(address)": "402d267d", "maxMint(address)": "c63d75b6", "maxRedeem(address)": "d905777e", "maxWithdraw(address)": "ce96cb77", "mint(uint256,address)": "94bf804d", "previewDeposit(uint256)": "ef8b30f7", "previewMint(uint256)": "b3d7f6b9", "previewRedeem(uint256)": "4cdad506", "previewWithdraw(uint256)": "0a28a477", "redeem(uint256,address,address)": "ba087652", "totalAssets()": "01e1d114", "totalSupply()": "18160ddd", "transfer(address,uint256)": "a9059cbb", "transferFrom(address,address,uint256)": "23b872dd", "withdraw(uint256,address,address)": "b460af94" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"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\":[],\"name\":\"asset\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"asset_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_shares\",\"type\":\"uint256\"}],\"name\":\"convertToAssets\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"assets_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_shares\",\"type\":\"uint256\"}],\"name\":\"convertToExitAssets\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"assets_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_assets\",\"type\":\"uint256\"}],\"name\":\"convertToExitShares\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"shares_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_assets\",\"type\":\"uint256\"}],\"name\":\"convertToShares\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"shares_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_assets\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_receiver\",\"type\":\"address\"}],\"name\":\"deposit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"shares_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"manager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"poolManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_receiver\",\"type\":\"address\"}],\"name\":\"maxDeposit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"assets_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_receiver\",\"type\":\"address\"}],\"name\":\"maxMint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"shares_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"maxRedeem\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"shares_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"maxWithdraw\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"_assets\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"shares_\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_receiver\",\"type\":\"address\"}],\"name\":\"mint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"assets_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_assets\",\"type\":\"uint256\"}],\"name\":\"previewDeposit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"shares_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_shares\",\"type\":\"uint256\"}],\"name\":\"previewMint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"assets_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_shares\",\"type\":\"uint256\"}],\"name\":\"previewRedeem\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"assets_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_assets\",\"type\":\"uint256\"}],\"name\":\"previewWithdraw\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"shares_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_shares\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_receiver\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"redeem\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"assets_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalAssets\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"totalAssets_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_assets\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_receiver\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"withdraw\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"shares_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"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 `recipient`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Moves `amount` tokens from `sender` to `recipient` 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.\"}},\"title\":\"ITestMapleV2Pool Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/interfaces/ITestMapleV2Pool.sol\":\"ITestMapleV2Pool\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/test/interfaces/ITestERC4626.sol\":{\"keccak256\":\"0x54109c8adb6917b4986e9747eacab2c5dc1dad30b81b5f924fa122d87e74227e\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://41abcfb9084094aa7dc9b578e0c268e5cab1211f5cb3d0094cf535b7a5f8d7d7\",\"dweb:/ipfs/QmQkAwCNNcjqcvzRRULFuURrKLoAR3UFRdapiHL6veVFUr\"]},\"contracts/test/interfaces/ITestMapleV2Pool.sol\":{\"keccak256\":\"0x9384227b831b0a32bbff8a5751bfbda08f9b64c2b2ea5761a48c01cab3dacc28\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://839ffe3177a622a0a5653931c83e575617a5988eae9aaabf2365cbd5ac711f4a\",\"dweb:/ipfs/QmZDUF68oeCWsDtgniUpg6wPgH8rhFdBbDAxVkkypVvvQK\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "owner", "type": "address", "indexed": true }, { "internalType": "address", "name": "spender", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "value", "type": "uint256", "indexed": false } ], "type": "event", "name": "Approval", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address", "indexed": true }, { "internalType": "address", "name": "to", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "value", "type": "uint256", "indexed": false } ], "type": "event", "name": "Transfer", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "asset", "outputs": [ { "internalType": "address", "name": "asset_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_shares", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "convertToAssets", "outputs": [ { "internalType": "uint256", "name": "assets_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_shares", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "convertToExitAssets", "outputs": [ { "internalType": "uint256", "name": "assets_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_assets", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "convertToExitShares", "outputs": [ { "internalType": "uint256", "name": "shares_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_assets", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "convertToShares", "outputs": [ { "internalType": "uint256", "name": "shares_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_assets", "type": "uint256" }, { "internalType": "address", "name": "_receiver", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "deposit", "outputs": [ { "internalType": "uint256", "name": "shares_", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "manager", "outputs": [ { "internalType": "address", "name": "poolManager_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_receiver", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "maxDeposit", "outputs": [ { "internalType": "uint256", "name": "assets_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "_receiver", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "maxMint", "outputs": [ { "internalType": "uint256", "name": "shares_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "_owner", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "maxRedeem", "outputs": [ { "internalType": "uint256", "name": "shares_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "_owner", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "maxWithdraw", "outputs": [ { "internalType": "uint256", "name": "_assets", "type": "uint256" } ] }, { "inputs": [ { "internalType": "uint256", "name": "shares_", "type": "uint256" }, { "internalType": "address", "name": "_receiver", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "mint", "outputs": [ { "internalType": "uint256", "name": "assets_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_assets", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "previewDeposit", "outputs": [ { "internalType": "uint256", "name": "shares_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_shares", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "previewMint", "outputs": [ { "internalType": "uint256", "name": "assets_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_shares", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "previewRedeem", "outputs": [ { "internalType": "uint256", "name": "assets_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_assets", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "previewWithdraw", "outputs": [ { "internalType": "uint256", "name": "shares_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_shares", "type": "uint256" }, { "internalType": "address", "name": "_receiver", "type": "address" }, { "internalType": "address", "name": "_owner", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "redeem", "outputs": [ { "internalType": "uint256", "name": "assets_", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "totalAssets", "outputs": [ { "internalType": "uint256", "name": "totalAssets_", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_assets", "type": "uint256" }, { "internalType": "address", "name": "_receiver", "type": "address" }, { "internalType": "address", "name": "_owner", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "withdraw", "outputs": [ { "internalType": "uint256", "name": "shares_", "type": "uint256" } ] } ], "devdoc": { "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 `recipient`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event." }, "transferFrom(address,address,uint256)": { "details": "Moves `amount` tokens from `sender` to `recipient` 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": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/test/interfaces/ITestMapleV2Pool.sol": "ITestMapleV2Pool" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/test/interfaces/ITestERC4626.sol": { "keccak256": "0x54109c8adb6917b4986e9747eacab2c5dc1dad30b81b5f924fa122d87e74227e", "urls": [ "bzz-raw://41abcfb9084094aa7dc9b578e0c268e5cab1211f5cb3d0094cf535b7a5f8d7d7", "dweb:/ipfs/QmQkAwCNNcjqcvzRRULFuURrKLoAR3UFRdapiHL6veVFUr" ], "license": "GPL-3.0" }, "contracts/test/interfaces/ITestMapleV2Pool.sol": { "keccak256": "0x9384227b831b0a32bbff8a5751bfbda08f9b64c2b2ea5761a48c01cab3dacc28", "urls": [ "bzz-raw://839ffe3177a622a0a5653931c83e575617a5988eae9aaabf2365cbd5ac711f4a", "dweb:/ipfs/QmZDUF68oeCWsDtgniUpg6wPgH8rhFdBbDAxVkkypVvvQK" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" } }, "version": 1 }, "id": 409 } diff --git a/eth_defi/abi/enzyme/ITestMapleV2PoolManager.json b/eth_defi/abi/enzyme/ITestMapleV2PoolManager.json index aff3d7d6..22c26fdd 100644 --- a/eth_defi/abi/enzyme/ITestMapleV2PoolManager.json +++ b/eth_defi/abi/enzyme/ITestMapleV2PoolManager.json @@ -1,242 +1 @@ -{ - "abi": [ - { - "inputs": [], - "name": "factory", - "outputs": [ - { - "internalType": "address", - "name": "factory_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "pool", - "outputs": [ - { - "internalType": "address", - "name": "pool_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "poolDelegate", - "outputs": [ - { - "internalType": "address", - "name": "poolDelegate_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_liquidityCap", - "type": "uint256" - } - ], - "name": "setLiquidityCap", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "totalAssets", - "outputs": [ - { - "internalType": "uint256", - "name": "totalAssets_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "withdrawalManager", - "outputs": [ - { - "internalType": "address", - "name": "withdrawalManager_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "factory()": "c45a0155", - "pool()": "16f0115b", - "poolDelegate()": "4046af2b", - "setLiquidityCap(uint256)": "7b99adb1", - "totalAssets()": "01e1d114", - "withdrawalManager()": "82fe535a" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"factory\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"factory_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"pool_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"poolDelegate\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"poolDelegate_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_liquidityCap\",\"type\":\"uint256\"}],\"name\":\"setLiquidityCap\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalAssets\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"totalAssets_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"withdrawalManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"withdrawalManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ITestMapleV2PoolManager Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/interfaces/ITestMapleV2PoolManager.sol\":\"ITestMapleV2PoolManager\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/test/interfaces/ITestMapleV2PoolManager.sol\":{\"keccak256\":\"0xab062d54efc8d5b15f0c15989a510d14f4e306732498a08b6d0ebc24dedfa4b3\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3dadceaa173989f72353127a43d5694a5a1016ec1596586d0fa196cb25fb45ab\",\"dweb:/ipfs/QmUjmMrncBtYFAEoxANDByzMdmKvu7mxQ7oN1MKTAzWedu\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "factory", - "outputs": [ - { - "internalType": "address", - "name": "factory_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "pool", - "outputs": [ - { - "internalType": "address", - "name": "pool_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "poolDelegate", - "outputs": [ - { - "internalType": "address", - "name": "poolDelegate_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_liquidityCap", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setLiquidityCap" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "totalAssets", - "outputs": [ - { - "internalType": "uint256", - "name": "totalAssets_", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "withdrawalManager", - "outputs": [ - { - "internalType": "address", - "name": "withdrawalManager_", - "type": "address" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/test/interfaces/ITestMapleV2PoolManager.sol": "ITestMapleV2PoolManager" - }, - "libraries": {} - }, - "sources": { - "contracts/test/interfaces/ITestMapleV2PoolManager.sol": { - "keccak256": "0xab062d54efc8d5b15f0c15989a510d14f4e306732498a08b6d0ebc24dedfa4b3", - "urls": [ - "bzz-raw://3dadceaa173989f72353127a43d5694a5a1016ec1596586d0fa196cb25fb45ab", - "dweb:/ipfs/QmUjmMrncBtYFAEoxANDByzMdmKvu7mxQ7oN1MKTAzWedu" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 410 -} +{ "abi": [ { "type": "function", "name": "factory", "inputs": [], "outputs": [ { "name": "factory_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "pool", "inputs": [], "outputs": [ { "name": "pool_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "poolDelegate", "inputs": [], "outputs": [ { "name": "poolDelegate_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "setLiquidityCap", "inputs": [ { "name": "_liquidityCap", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "totalAssets", "inputs": [], "outputs": [ { "name": "totalAssets_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "withdrawalManager", "inputs": [], "outputs": [ { "name": "withdrawalManager_", "type": "address", "internalType": "address" } ], "stateMutability": "view" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "factory()": "c45a0155", "pool()": "16f0115b", "poolDelegate()": "4046af2b", "setLiquidityCap(uint256)": "7b99adb1", "totalAssets()": "01e1d114", "withdrawalManager()": "82fe535a" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"factory\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"factory_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pool\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"pool_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"poolDelegate\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"poolDelegate_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_liquidityCap\",\"type\":\"uint256\"}],\"name\":\"setLiquidityCap\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalAssets\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"totalAssets_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"withdrawalManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"withdrawalManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ITestMapleV2PoolManager Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/interfaces/ITestMapleV2PoolManager.sol\":\"ITestMapleV2PoolManager\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/test/interfaces/ITestMapleV2PoolManager.sol\":{\"keccak256\":\"0xab062d54efc8d5b15f0c15989a510d14f4e306732498a08b6d0ebc24dedfa4b3\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3dadceaa173989f72353127a43d5694a5a1016ec1596586d0fa196cb25fb45ab\",\"dweb:/ipfs/QmUjmMrncBtYFAEoxANDByzMdmKvu7mxQ7oN1MKTAzWedu\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [], "stateMutability": "view", "type": "function", "name": "factory", "outputs": [ { "internalType": "address", "name": "factory_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "pool", "outputs": [ { "internalType": "address", "name": "pool_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "poolDelegate", "outputs": [ { "internalType": "address", "name": "poolDelegate_", "type": "address" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_liquidityCap", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "setLiquidityCap" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "totalAssets", "outputs": [ { "internalType": "uint256", "name": "totalAssets_", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "withdrawalManager", "outputs": [ { "internalType": "address", "name": "withdrawalManager_", "type": "address" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/test/interfaces/ITestMapleV2PoolManager.sol": "ITestMapleV2PoolManager" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/test/interfaces/ITestMapleV2PoolManager.sol": { "keccak256": "0xab062d54efc8d5b15f0c15989a510d14f4e306732498a08b6d0ebc24dedfa4b3", "urls": [ "bzz-raw://3dadceaa173989f72353127a43d5694a5a1016ec1596586d0fa196cb25fb45ab", "dweb:/ipfs/QmUjmMrncBtYFAEoxANDByzMdmKvu7mxQ7oN1MKTAzWedu" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 410 } diff --git a/eth_defi/abi/enzyme/ITestMapleV2ProxyFactory.json b/eth_defi/abi/enzyme/ITestMapleV2ProxyFactory.json index 1908c179..eb2bf80d 100644 --- a/eth_defi/abi/enzyme/ITestMapleV2ProxyFactory.json +++ b/eth_defi/abi/enzyme/ITestMapleV2ProxyFactory.json @@ -1,120 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "instance_", - "type": "address" - } - ], - "name": "isInstance", - "outputs": [ - { - "internalType": "bool", - "name": "isInstance_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "isInstance(address)": "6b44e6be" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"instance_\",\"type\":\"address\"}],\"name\":\"isInstance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isInstance_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ITestMapleV2ProxyFactory Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/interfaces/ITestMapleV2ProxyFactory.sol\":\"ITestMapleV2ProxyFactory\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/test/interfaces/ITestMapleV2ProxyFactory.sol\":{\"keccak256\":\"0xd7cd7232d4dddc2d3c702e0b472c36e59e7b74240475e62ccb0f8f90504a3532\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://18c2608fe01af91730afb348ac62b3167140e6628cc935130a5b9554739fcbcc\",\"dweb:/ipfs/QmPFLpm5LZD5Bp1cHLcc2A9VjeJ2MX84b2NhufrckFQT5p\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "instance_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "isInstance", - "outputs": [ - { - "internalType": "bool", - "name": "isInstance_", - "type": "bool" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/test/interfaces/ITestMapleV2ProxyFactory.sol": "ITestMapleV2ProxyFactory" - }, - "libraries": {} - }, - "sources": { - "contracts/test/interfaces/ITestMapleV2ProxyFactory.sol": { - "keccak256": "0xd7cd7232d4dddc2d3c702e0b472c36e59e7b74240475e62ccb0f8f90504a3532", - "urls": [ - "bzz-raw://18c2608fe01af91730afb348ac62b3167140e6628cc935130a5b9554739fcbcc", - "dweb:/ipfs/QmPFLpm5LZD5Bp1cHLcc2A9VjeJ2MX84b2NhufrckFQT5p" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 411 -} +{ "abi": [ { "type": "function", "name": "isInstance", "inputs": [ { "name": "instance_", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "isInstance_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "isInstance(address)": "6b44e6be" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"instance_\",\"type\":\"address\"}],\"name\":\"isInstance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isInstance_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ITestMapleV2ProxyFactory Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/interfaces/ITestMapleV2ProxyFactory.sol\":\"ITestMapleV2ProxyFactory\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/test/interfaces/ITestMapleV2ProxyFactory.sol\":{\"keccak256\":\"0xd7cd7232d4dddc2d3c702e0b472c36e59e7b74240475e62ccb0f8f90504a3532\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://18c2608fe01af91730afb348ac62b3167140e6628cc935130a5b9554739fcbcc\",\"dweb:/ipfs/QmPFLpm5LZD5Bp1cHLcc2A9VjeJ2MX84b2NhufrckFQT5p\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "instance_", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "isInstance", "outputs": [ { "internalType": "bool", "name": "isInstance_", "type": "bool" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/test/interfaces/ITestMapleV2ProxyFactory.sol": "ITestMapleV2ProxyFactory" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/test/interfaces/ITestMapleV2ProxyFactory.sol": { "keccak256": "0xd7cd7232d4dddc2d3c702e0b472c36e59e7b74240475e62ccb0f8f90504a3532", "urls": [ "bzz-raw://18c2608fe01af91730afb348ac62b3167140e6628cc935130a5b9554739fcbcc", "dweb:/ipfs/QmPFLpm5LZD5Bp1cHLcc2A9VjeJ2MX84b2NhufrckFQT5p" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 411 } diff --git a/eth_defi/abi/enzyme/ITestMapleV2WithdrawalManager.json b/eth_defi/abi/enzyme/ITestMapleV2WithdrawalManager.json index 5cc76c5a..a9c9631f 100644 --- a/eth_defi/abi/enzyme/ITestMapleV2WithdrawalManager.json +++ b/eth_defi/abi/enzyme/ITestMapleV2WithdrawalManager.json @@ -1,279 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "name": "exitCycleId", - "outputs": [ - { - "internalType": "uint256", - "name": "exitCycleId_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getCurrentConfig", - "outputs": [ - { - "components": [ - { - "internalType": "uint64", - "name": "initialCycleId", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "initialCycleTime", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "cycleDuration", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "windowDuration", - "type": "uint64" - } - ], - "internalType": "struct ITestMapleV2WithdrawalManager.CycleConfig", - "name": "config_", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_cycleId", - "type": "uint256" - } - ], - "name": "getWindowAtId", - "outputs": [ - { - "internalType": "uint256", - "name": "windowStart_", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "windowEnd_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_account", - "type": "address" - } - ], - "name": "lockedShares", - "outputs": [ - { - "internalType": "uint256", - "name": "lockedShares_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "exitCycleId(address)": "e46ceaa3", - "getCurrentConfig()": "4308aec1", - "getWindowAtId(uint256)": "438d09c6", - "lockedShares(address)": "e336ac44" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"exitCycleId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"exitCycleId_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentConfig\",\"outputs\":[{\"components\":[{\"internalType\":\"uint64\",\"name\":\"initialCycleId\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"initialCycleTime\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"cycleDuration\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"windowDuration\",\"type\":\"uint64\"}],\"internalType\":\"struct ITestMapleV2WithdrawalManager.CycleConfig\",\"name\":\"config_\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_cycleId\",\"type\":\"uint256\"}],\"name\":\"getWindowAtId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"windowStart_\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"windowEnd_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"}],\"name\":\"lockedShares\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"lockedShares_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ITestMapleV2WithdrawalManager Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/interfaces/ITestMapleV2WithdrawalManager.sol\":\"ITestMapleV2WithdrawalManager\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/test/interfaces/ITestMapleV2WithdrawalManager.sol\":{\"keccak256\":\"0x466c04673f17b9ba9fd12b006839256bd6aea3f87846ca7f86d65fedf08ae17a\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f5768c1c44e8c177566fcb723b9db50f05511640c4ea0b21757868035d1e7ea5\",\"dweb:/ipfs/QmTEaWB3dPwr3od5b82sEukZwJyZE5PwgzprkHKbRpDDyt\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "exitCycleId", - "outputs": [ - { - "internalType": "uint256", - "name": "exitCycleId_", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getCurrentConfig", - "outputs": [ - { - "internalType": "struct ITestMapleV2WithdrawalManager.CycleConfig", - "name": "config_", - "type": "tuple", - "components": [ - { - "internalType": "uint64", - "name": "initialCycleId", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "initialCycleTime", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "cycleDuration", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "windowDuration", - "type": "uint64" - } - ] - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_cycleId", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getWindowAtId", - "outputs": [ - { - "internalType": "uint256", - "name": "windowStart_", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "windowEnd_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_account", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "lockedShares", - "outputs": [ - { - "internalType": "uint256", - "name": "lockedShares_", - "type": "uint256" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/test/interfaces/ITestMapleV2WithdrawalManager.sol": "ITestMapleV2WithdrawalManager" - }, - "libraries": {} - }, - "sources": { - "contracts/test/interfaces/ITestMapleV2WithdrawalManager.sol": { - "keccak256": "0x466c04673f17b9ba9fd12b006839256bd6aea3f87846ca7f86d65fedf08ae17a", - "urls": [ - "bzz-raw://f5768c1c44e8c177566fcb723b9db50f05511640c4ea0b21757868035d1e7ea5", - "dweb:/ipfs/QmTEaWB3dPwr3od5b82sEukZwJyZE5PwgzprkHKbRpDDyt" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 412 -} +{ "abi": [ { "type": "function", "name": "exitCycleId", "inputs": [ { "name": "_owner", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "exitCycleId_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "getCurrentConfig", "inputs": [], "outputs": [ { "name": "config_", "type": "tuple", "internalType": "struct ITestMapleV2WithdrawalManager.CycleConfig", "components": [ { "name": "initialCycleId", "type": "uint64", "internalType": "uint64" }, { "name": "initialCycleTime", "type": "uint64", "internalType": "uint64" }, { "name": "cycleDuration", "type": "uint64", "internalType": "uint64" }, { "name": "windowDuration", "type": "uint64", "internalType": "uint64" } ] } ], "stateMutability": "view" }, { "type": "function", "name": "getWindowAtId", "inputs": [ { "name": "_cycleId", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "windowStart_", "type": "uint256", "internalType": "uint256" }, { "name": "windowEnd_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "lockedShares", "inputs": [ { "name": "_account", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "lockedShares_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "exitCycleId(address)": "e46ceaa3", "getCurrentConfig()": "4308aec1", "getWindowAtId(uint256)": "438d09c6", "lockedShares(address)": "e336ac44" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"exitCycleId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"exitCycleId_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCurrentConfig\",\"outputs\":[{\"components\":[{\"internalType\":\"uint64\",\"name\":\"initialCycleId\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"initialCycleTime\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"cycleDuration\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"windowDuration\",\"type\":\"uint64\"}],\"internalType\":\"struct ITestMapleV2WithdrawalManager.CycleConfig\",\"name\":\"config_\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_cycleId\",\"type\":\"uint256\"}],\"name\":\"getWindowAtId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"windowStart_\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"windowEnd_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"}],\"name\":\"lockedShares\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"lockedShares_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ITestMapleV2WithdrawalManager Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/interfaces/ITestMapleV2WithdrawalManager.sol\":\"ITestMapleV2WithdrawalManager\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/test/interfaces/ITestMapleV2WithdrawalManager.sol\":{\"keccak256\":\"0x466c04673f17b9ba9fd12b006839256bd6aea3f87846ca7f86d65fedf08ae17a\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f5768c1c44e8c177566fcb723b9db50f05511640c4ea0b21757868035d1e7ea5\",\"dweb:/ipfs/QmTEaWB3dPwr3od5b82sEukZwJyZE5PwgzprkHKbRpDDyt\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_owner", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "exitCycleId", "outputs": [ { "internalType": "uint256", "name": "exitCycleId_", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getCurrentConfig", "outputs": [ { "internalType": "struct ITestMapleV2WithdrawalManager.CycleConfig", "name": "config_", "type": "tuple", "components": [ { "internalType": "uint64", "name": "initialCycleId", "type": "uint64" }, { "internalType": "uint64", "name": "initialCycleTime", "type": "uint64" }, { "internalType": "uint64", "name": "cycleDuration", "type": "uint64" }, { "internalType": "uint64", "name": "windowDuration", "type": "uint64" } ] } ] }, { "inputs": [ { "internalType": "uint256", "name": "_cycleId", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "getWindowAtId", "outputs": [ { "internalType": "uint256", "name": "windowStart_", "type": "uint256" }, { "internalType": "uint256", "name": "windowEnd_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "_account", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "lockedShares", "outputs": [ { "internalType": "uint256", "name": "lockedShares_", "type": "uint256" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/test/interfaces/ITestMapleV2WithdrawalManager.sol": "ITestMapleV2WithdrawalManager" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/test/interfaces/ITestMapleV2WithdrawalManager.sol": { "keccak256": "0x466c04673f17b9ba9fd12b006839256bd6aea3f87846ca7f86d65fedf08ae17a", "urls": [ "bzz-raw://f5768c1c44e8c177566fcb723b9db50f05511640c4ea0b21757868035d1e7ea5", "dweb:/ipfs/QmTEaWB3dPwr3od5b82sEukZwJyZE5PwgzprkHKbRpDDyt" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 412 } diff --git a/eth_defi/abi/enzyme/ITestNotionalV2Router.json b/eth_defi/abi/enzyme/ITestNotionalV2Router.json index bd5afe2b..fdd09160 100644 --- a/eth_defi/abi/enzyme/ITestNotionalV2Router.json +++ b/eth_defi/abi/enzyme/ITestNotionalV2Router.json @@ -1,531 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "uint16", - "name": "_currencyId", - "type": "uint16" - }, - { - "internalType": "address", - "name": "_account", - "type": "address" - } - ], - "name": "getAccountBalance", - "outputs": [ - { - "internalType": "int256", - "name": "cashBalance_", - "type": "int256" - }, - { - "internalType": "int256", - "name": "nTokenBalance_", - "type": "int256" - }, - { - "internalType": "uint256", - "name": "lastClaimTime_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_account", - "type": "address" - } - ], - "name": "getAccountContext", - "outputs": [ - { - "components": [ - { - "internalType": "uint40", - "name": "nextSettleTime", - "type": "uint40" - }, - { - "internalType": "bytes1", - "name": "hasDebt", - "type": "bytes1" - }, - { - "internalType": "uint8", - "name": "assetArrayLength", - "type": "uint8" - }, - { - "internalType": "uint16", - "name": "bitmapCurrencyId", - "type": "uint16" - }, - { - "internalType": "bytes18", - "name": "activeCurrencies", - "type": "bytes18" - } - ], - "internalType": "struct ITestNotionalV2Router.AccountContext", - "name": "accountContext_", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_account", - "type": "address" - } - ], - "name": "getAccountPortfolio", - "outputs": [ - { - "components": [ - { - "internalType": "uint256", - "name": "currencyId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "maturity", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "assetType", - "type": "uint256" - }, - { - "internalType": "int256", - "name": "notional", - "type": "int256" - }, - { - "internalType": "uint256", - "name": "storageSlot", - "type": "uint256" - }, - { - "internalType": "enum ITestNotionalV2Router.AssetStorageState", - "name": "storageState", - "type": "uint8" - } - ], - "internalType": "struct ITestNotionalV2Router.PortfolioAsset[]", - "name": "portfolioAsset_", - "type": "tuple[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint16", - "name": "_currencyId", - "type": "uint16" - } - ], - "name": "getActiveMarkets", - "outputs": [ - { - "components": [ - { - "internalType": "bytes32", - "name": "storageSlot", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "maturity", - "type": "uint256" - }, - { - "internalType": "int256", - "name": "totalfCash", - "type": "int256" - }, - { - "internalType": "int256", - "name": "totalAssetCash", - "type": "int256" - }, - { - "internalType": "int256", - "name": "totalLiquidity", - "type": "int256" - }, - { - "internalType": "uint256", - "name": "lastImpliedRate", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "oracleRate", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "previousTradeTime", - "type": "uint256" - } - ], - "internalType": "struct ITestNotionalV2Router.MarketParameters[]", - "name": "marketParameters_", - "type": "tuple[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint16", - "name": "_currencyId", - "type": "uint16" - }, - { - "internalType": "bool", - "name": "_isFirstInit", - "type": "bool" - } - ], - "name": "initializeMarkets", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_account", - "type": "address" - } - ], - "name": "settleAccount", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "getAccountBalance(uint16,address)": "fc1b1345", - "getAccountContext(address)": "b0de2217", - "getAccountPortfolio(address)": "b536ffb6", - "getActiveMarkets(uint16)": "497cf7e3", - "initializeMarkets(uint16,bool)": "d0e064c0", - "settleAccount(address)": "f667f897" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint16\",\"name\":\"_currencyId\",\"type\":\"uint16\"},{\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"}],\"name\":\"getAccountBalance\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"cashBalance_\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"nTokenBalance_\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"lastClaimTime_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"}],\"name\":\"getAccountContext\",\"outputs\":[{\"components\":[{\"internalType\":\"uint40\",\"name\":\"nextSettleTime\",\"type\":\"uint40\"},{\"internalType\":\"bytes1\",\"name\":\"hasDebt\",\"type\":\"bytes1\"},{\"internalType\":\"uint8\",\"name\":\"assetArrayLength\",\"type\":\"uint8\"},{\"internalType\":\"uint16\",\"name\":\"bitmapCurrencyId\",\"type\":\"uint16\"},{\"internalType\":\"bytes18\",\"name\":\"activeCurrencies\",\"type\":\"bytes18\"}],\"internalType\":\"struct ITestNotionalV2Router.AccountContext\",\"name\":\"accountContext_\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"}],\"name\":\"getAccountPortfolio\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"currencyId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maturity\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"assetType\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"notional\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"storageSlot\",\"type\":\"uint256\"},{\"internalType\":\"enum ITestNotionalV2Router.AssetStorageState\",\"name\":\"storageState\",\"type\":\"uint8\"}],\"internalType\":\"struct ITestNotionalV2Router.PortfolioAsset[]\",\"name\":\"portfolioAsset_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint16\",\"name\":\"_currencyId\",\"type\":\"uint16\"}],\"name\":\"getActiveMarkets\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"storageSlot\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"maturity\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"totalfCash\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"totalAssetCash\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"totalLiquidity\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"lastImpliedRate\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"oracleRate\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"previousTradeTime\",\"type\":\"uint256\"}],\"internalType\":\"struct ITestNotionalV2Router.MarketParameters[]\",\"name\":\"marketParameters_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint16\",\"name\":\"_currencyId\",\"type\":\"uint16\"},{\"internalType\":\"bool\",\"name\":\"_isFirstInit\",\"type\":\"bool\"}],\"name\":\"initializeMarkets\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"}],\"name\":\"settleAccount\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ITestNotionalV2Router Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/interfaces/ITestNotionalV2Router.sol\":\"ITestNotionalV2Router\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/test/interfaces/ITestNotionalV2Router.sol\":{\"keccak256\":\"0x4c8308b8715bebb1c5aac0cc6e77180b47560244b068ca02065870962ea45827\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79b30140658b9b50048cbd9aacbef8ad7716585d522ee855d48bfe300c8ee49e\",\"dweb:/ipfs/QmeGGzeExH4YkCfUokDpXBTQw5S13ScShRQHhMTqQxrgmS\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "uint16", - "name": "_currencyId", - "type": "uint16" - }, - { - "internalType": "address", - "name": "_account", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getAccountBalance", - "outputs": [ - { - "internalType": "int256", - "name": "cashBalance_", - "type": "int256" - }, - { - "internalType": "int256", - "name": "nTokenBalance_", - "type": "int256" - }, - { - "internalType": "uint256", - "name": "lastClaimTime_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_account", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getAccountContext", - "outputs": [ - { - "internalType": "struct ITestNotionalV2Router.AccountContext", - "name": "accountContext_", - "type": "tuple", - "components": [ - { - "internalType": "uint40", - "name": "nextSettleTime", - "type": "uint40" - }, - { - "internalType": "bytes1", - "name": "hasDebt", - "type": "bytes1" - }, - { - "internalType": "uint8", - "name": "assetArrayLength", - "type": "uint8" - }, - { - "internalType": "uint16", - "name": "bitmapCurrencyId", - "type": "uint16" - }, - { - "internalType": "bytes18", - "name": "activeCurrencies", - "type": "bytes18" - } - ] - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_account", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getAccountPortfolio", - "outputs": [ - { - "internalType": "struct ITestNotionalV2Router.PortfolioAsset[]", - "name": "portfolioAsset_", - "type": "tuple[]", - "components": [ - { - "internalType": "uint256", - "name": "currencyId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "maturity", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "assetType", - "type": "uint256" - }, - { - "internalType": "int256", - "name": "notional", - "type": "int256" - }, - { - "internalType": "uint256", - "name": "storageSlot", - "type": "uint256" - }, - { - "internalType": "enum ITestNotionalV2Router.AssetStorageState", - "name": "storageState", - "type": "uint8" - } - ] - } - ] - }, - { - "inputs": [ - { - "internalType": "uint16", - "name": "_currencyId", - "type": "uint16" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getActiveMarkets", - "outputs": [ - { - "internalType": "struct ITestNotionalV2Router.MarketParameters[]", - "name": "marketParameters_", - "type": "tuple[]", - "components": [ - { - "internalType": "bytes32", - "name": "storageSlot", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "maturity", - "type": "uint256" - }, - { - "internalType": "int256", - "name": "totalfCash", - "type": "int256" - }, - { - "internalType": "int256", - "name": "totalAssetCash", - "type": "int256" - }, - { - "internalType": "int256", - "name": "totalLiquidity", - "type": "int256" - }, - { - "internalType": "uint256", - "name": "lastImpliedRate", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "oracleRate", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "previousTradeTime", - "type": "uint256" - } - ] - } - ] - }, - { - "inputs": [ - { - "internalType": "uint16", - "name": "_currencyId", - "type": "uint16" - }, - { - "internalType": "bool", - "name": "_isFirstInit", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "initializeMarkets" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_account", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "settleAccount" - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/test/interfaces/ITestNotionalV2Router.sol": "ITestNotionalV2Router" - }, - "libraries": {} - }, - "sources": { - "contracts/test/interfaces/ITestNotionalV2Router.sol": { - "keccak256": "0x4c8308b8715bebb1c5aac0cc6e77180b47560244b068ca02065870962ea45827", - "urls": [ - "bzz-raw://79b30140658b9b50048cbd9aacbef8ad7716585d522ee855d48bfe300c8ee49e", - "dweb:/ipfs/QmeGGzeExH4YkCfUokDpXBTQw5S13ScShRQHhMTqQxrgmS" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 413 -} +{ "abi": [ { "type": "function", "name": "getAccountBalance", "inputs": [ { "name": "_currencyId", "type": "uint16", "internalType": "uint16" }, { "name": "_account", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "cashBalance_", "type": "int256", "internalType": "int256" }, { "name": "nTokenBalance_", "type": "int256", "internalType": "int256" }, { "name": "lastClaimTime_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "getAccountContext", "inputs": [ { "name": "_account", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "accountContext_", "type": "tuple", "internalType": "struct ITestNotionalV2Router.AccountContext", "components": [ { "name": "nextSettleTime", "type": "uint40", "internalType": "uint40" }, { "name": "hasDebt", "type": "bytes1", "internalType": "bytes1" }, { "name": "assetArrayLength", "type": "uint8", "internalType": "uint8" }, { "name": "bitmapCurrencyId", "type": "uint16", "internalType": "uint16" }, { "name": "activeCurrencies", "type": "bytes18", "internalType": "bytes18" } ] } ], "stateMutability": "view" }, { "type": "function", "name": "getAccountPortfolio", "inputs": [ { "name": "_account", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "portfolioAsset_", "type": "tuple[]", "internalType": "struct ITestNotionalV2Router.PortfolioAsset[]", "components": [ { "name": "currencyId", "type": "uint256", "internalType": "uint256" }, { "name": "maturity", "type": "uint256", "internalType": "uint256" }, { "name": "assetType", "type": "uint256", "internalType": "uint256" }, { "name": "notional", "type": "int256", "internalType": "int256" }, { "name": "storageSlot", "type": "uint256", "internalType": "uint256" }, { "name": "storageState", "type": "uint8", "internalType": "enum ITestNotionalV2Router.AssetStorageState" } ] } ], "stateMutability": "view" }, { "type": "function", "name": "getActiveMarkets", "inputs": [ { "name": "_currencyId", "type": "uint16", "internalType": "uint16" } ], "outputs": [ { "name": "marketParameters_", "type": "tuple[]", "internalType": "struct ITestNotionalV2Router.MarketParameters[]", "components": [ { "name": "storageSlot", "type": "bytes32", "internalType": "bytes32" }, { "name": "maturity", "type": "uint256", "internalType": "uint256" }, { "name": "totalfCash", "type": "int256", "internalType": "int256" }, { "name": "totalAssetCash", "type": "int256", "internalType": "int256" }, { "name": "totalLiquidity", "type": "int256", "internalType": "int256" }, { "name": "lastImpliedRate", "type": "uint256", "internalType": "uint256" }, { "name": "oracleRate", "type": "uint256", "internalType": "uint256" }, { "name": "previousTradeTime", "type": "uint256", "internalType": "uint256" } ] } ], "stateMutability": "view" }, { "type": "function", "name": "initializeMarkets", "inputs": [ { "name": "_currencyId", "type": "uint16", "internalType": "uint16" }, { "name": "_isFirstInit", "type": "bool", "internalType": "bool" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "settleAccount", "inputs": [ { "name": "_account", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "getAccountBalance(uint16,address)": "fc1b1345", "getAccountContext(address)": "b0de2217", "getAccountPortfolio(address)": "b536ffb6", "getActiveMarkets(uint16)": "497cf7e3", "initializeMarkets(uint16,bool)": "d0e064c0", "settleAccount(address)": "f667f897" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint16\",\"name\":\"_currencyId\",\"type\":\"uint16\"},{\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"}],\"name\":\"getAccountBalance\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"cashBalance_\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"nTokenBalance_\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"lastClaimTime_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"}],\"name\":\"getAccountContext\",\"outputs\":[{\"components\":[{\"internalType\":\"uint40\",\"name\":\"nextSettleTime\",\"type\":\"uint40\"},{\"internalType\":\"bytes1\",\"name\":\"hasDebt\",\"type\":\"bytes1\"},{\"internalType\":\"uint8\",\"name\":\"assetArrayLength\",\"type\":\"uint8\"},{\"internalType\":\"uint16\",\"name\":\"bitmapCurrencyId\",\"type\":\"uint16\"},{\"internalType\":\"bytes18\",\"name\":\"activeCurrencies\",\"type\":\"bytes18\"}],\"internalType\":\"struct ITestNotionalV2Router.AccountContext\",\"name\":\"accountContext_\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"}],\"name\":\"getAccountPortfolio\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"currencyId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maturity\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"assetType\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"notional\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"storageSlot\",\"type\":\"uint256\"},{\"internalType\":\"enum ITestNotionalV2Router.AssetStorageState\",\"name\":\"storageState\",\"type\":\"uint8\"}],\"internalType\":\"struct ITestNotionalV2Router.PortfolioAsset[]\",\"name\":\"portfolioAsset_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint16\",\"name\":\"_currencyId\",\"type\":\"uint16\"}],\"name\":\"getActiveMarkets\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"storageSlot\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"maturity\",\"type\":\"uint256\"},{\"internalType\":\"int256\",\"name\":\"totalfCash\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"totalAssetCash\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"totalLiquidity\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"lastImpliedRate\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"oracleRate\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"previousTradeTime\",\"type\":\"uint256\"}],\"internalType\":\"struct ITestNotionalV2Router.MarketParameters[]\",\"name\":\"marketParameters_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint16\",\"name\":\"_currencyId\",\"type\":\"uint16\"},{\"internalType\":\"bool\",\"name\":\"_isFirstInit\",\"type\":\"bool\"}],\"name\":\"initializeMarkets\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"}],\"name\":\"settleAccount\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ITestNotionalV2Router Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/interfaces/ITestNotionalV2Router.sol\":\"ITestNotionalV2Router\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/test/interfaces/ITestNotionalV2Router.sol\":{\"keccak256\":\"0x4c8308b8715bebb1c5aac0cc6e77180b47560244b068ca02065870962ea45827\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79b30140658b9b50048cbd9aacbef8ad7716585d522ee855d48bfe300c8ee49e\",\"dweb:/ipfs/QmeGGzeExH4YkCfUokDpXBTQw5S13ScShRQHhMTqQxrgmS\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "uint16", "name": "_currencyId", "type": "uint16" }, { "internalType": "address", "name": "_account", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getAccountBalance", "outputs": [ { "internalType": "int256", "name": "cashBalance_", "type": "int256" }, { "internalType": "int256", "name": "nTokenBalance_", "type": "int256" }, { "internalType": "uint256", "name": "lastClaimTime_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "_account", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getAccountContext", "outputs": [ { "internalType": "struct ITestNotionalV2Router.AccountContext", "name": "accountContext_", "type": "tuple", "components": [ { "internalType": "uint40", "name": "nextSettleTime", "type": "uint40" }, { "internalType": "bytes1", "name": "hasDebt", "type": "bytes1" }, { "internalType": "uint8", "name": "assetArrayLength", "type": "uint8" }, { "internalType": "uint16", "name": "bitmapCurrencyId", "type": "uint16" }, { "internalType": "bytes18", "name": "activeCurrencies", "type": "bytes18" } ] } ] }, { "inputs": [ { "internalType": "address", "name": "_account", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getAccountPortfolio", "outputs": [ { "internalType": "struct ITestNotionalV2Router.PortfolioAsset[]", "name": "portfolioAsset_", "type": "tuple[]", "components": [ { "internalType": "uint256", "name": "currencyId", "type": "uint256" }, { "internalType": "uint256", "name": "maturity", "type": "uint256" }, { "internalType": "uint256", "name": "assetType", "type": "uint256" }, { "internalType": "int256", "name": "notional", "type": "int256" }, { "internalType": "uint256", "name": "storageSlot", "type": "uint256" }, { "internalType": "enum ITestNotionalV2Router.AssetStorageState", "name": "storageState", "type": "uint8" } ] } ] }, { "inputs": [ { "internalType": "uint16", "name": "_currencyId", "type": "uint16" } ], "stateMutability": "view", "type": "function", "name": "getActiveMarkets", "outputs": [ { "internalType": "struct ITestNotionalV2Router.MarketParameters[]", "name": "marketParameters_", "type": "tuple[]", "components": [ { "internalType": "bytes32", "name": "storageSlot", "type": "bytes32" }, { "internalType": "uint256", "name": "maturity", "type": "uint256" }, { "internalType": "int256", "name": "totalfCash", "type": "int256" }, { "internalType": "int256", "name": "totalAssetCash", "type": "int256" }, { "internalType": "int256", "name": "totalLiquidity", "type": "int256" }, { "internalType": "uint256", "name": "lastImpliedRate", "type": "uint256" }, { "internalType": "uint256", "name": "oracleRate", "type": "uint256" }, { "internalType": "uint256", "name": "previousTradeTime", "type": "uint256" } ] } ] }, { "inputs": [ { "internalType": "uint16", "name": "_currencyId", "type": "uint16" }, { "internalType": "bool", "name": "_isFirstInit", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function", "name": "initializeMarkets" }, { "inputs": [ { "internalType": "address", "name": "_account", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "settleAccount" } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/test/interfaces/ITestNotionalV2Router.sol": "ITestNotionalV2Router" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/test/interfaces/ITestNotionalV2Router.sol": { "keccak256": "0x4c8308b8715bebb1c5aac0cc6e77180b47560244b068ca02065870962ea45827", "urls": [ "bzz-raw://79b30140658b9b50048cbd9aacbef8ad7716585d522ee855d48bfe300c8ee49e", "dweb:/ipfs/QmeGGzeExH4YkCfUokDpXBTQw5S13ScShRQHhMTqQxrgmS" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 413 } diff --git a/eth_defi/abi/enzyme/ITestSnapshotDelegateRegistry.json b/eth_defi/abi/enzyme/ITestSnapshotDelegateRegistry.json index 40bde85e..3a61d5b3 100644 --- a/eth_defi/abi/enzyme/ITestSnapshotDelegateRegistry.json +++ b/eth_defi/abi/enzyme/ITestSnapshotDelegateRegistry.json @@ -1,130 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_delegator", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "_id", - "type": "bytes32" - } - ], - "name": "delegation", - "outputs": [ - { - "internalType": "address", - "name": "delegate_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "delegation(address,bytes32)": "74c6c454" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_delegator\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"_id\",\"type\":\"bytes32\"}],\"name\":\"delegation\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"delegate_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ITestSnapshotDelegateRegistry Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/interfaces/ITestSnapshotDelegateRegistry.sol\":\"ITestSnapshotDelegateRegistry\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/test/interfaces/ITestSnapshotDelegateRegistry.sol\":{\"keccak256\":\"0x0148fb6e498156a76486bcdd95716456f3afa9a143d55374db5cc1901620cf4c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://7bf8ed7a52bd161a53e041bb02fffc84d00ac9631e0f7bd82b315e601f5440bd\",\"dweb:/ipfs/QmciqmQQbJ3fSyXM47qV6JWWdJAybBjim97XaVWdtA3MxL\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_delegator", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "_id", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function", - "name": "delegation", - "outputs": [ - { - "internalType": "address", - "name": "delegate_", - "type": "address" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/test/interfaces/ITestSnapshotDelegateRegistry.sol": "ITestSnapshotDelegateRegistry" - }, - "libraries": {} - }, - "sources": { - "contracts/test/interfaces/ITestSnapshotDelegateRegistry.sol": { - "keccak256": "0x0148fb6e498156a76486bcdd95716456f3afa9a143d55374db5cc1901620cf4c", - "urls": [ - "bzz-raw://7bf8ed7a52bd161a53e041bb02fffc84d00ac9631e0f7bd82b315e601f5440bd", - "dweb:/ipfs/QmciqmQQbJ3fSyXM47qV6JWWdJAybBjim97XaVWdtA3MxL" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 414 -} +{ "abi": [ { "type": "function", "name": "delegation", "inputs": [ { "name": "_delegator", "type": "address", "internalType": "address" }, { "name": "_id", "type": "bytes32", "internalType": "bytes32" } ], "outputs": [ { "name": "delegate_", "type": "address", "internalType": "address" } ], "stateMutability": "view" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "delegation(address,bytes32)": "74c6c454" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_delegator\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"_id\",\"type\":\"bytes32\"}],\"name\":\"delegation\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"delegate_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ITestSnapshotDelegateRegistry Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/interfaces/ITestSnapshotDelegateRegistry.sol\":\"ITestSnapshotDelegateRegistry\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/test/interfaces/ITestSnapshotDelegateRegistry.sol\":{\"keccak256\":\"0x0148fb6e498156a76486bcdd95716456f3afa9a143d55374db5cc1901620cf4c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://7bf8ed7a52bd161a53e041bb02fffc84d00ac9631e0f7bd82b315e601f5440bd\",\"dweb:/ipfs/QmciqmQQbJ3fSyXM47qV6JWWdJAybBjim97XaVWdtA3MxL\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_delegator", "type": "address" }, { "internalType": "bytes32", "name": "_id", "type": "bytes32" } ], "stateMutability": "view", "type": "function", "name": "delegation", "outputs": [ { "internalType": "address", "name": "delegate_", "type": "address" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/test/interfaces/ITestSnapshotDelegateRegistry.sol": "ITestSnapshotDelegateRegistry" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/test/interfaces/ITestSnapshotDelegateRegistry.sol": { "keccak256": "0x0148fb6e498156a76486bcdd95716456f3afa9a143d55374db5cc1901620cf4c", "urls": [ "bzz-raw://7bf8ed7a52bd161a53e041bb02fffc84d00ac9631e0f7bd82b315e601f5440bd", "dweb:/ipfs/QmciqmQQbJ3fSyXM47qV6JWWdJAybBjim97XaVWdtA3MxL" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 414 } diff --git a/eth_defi/abi/enzyme/ITestSolvV2BondManualPriceOracle.json b/eth_defi/abi/enzyme/ITestSolvV2BondManualPriceOracle.json index 925a2b03..4bdd0c22 100644 --- a/eth_defi/abi/enzyme/ITestSolvV2BondManualPriceOracle.json +++ b/eth_defi/abi/enzyme/ITestSolvV2BondManualPriceOracle.json @@ -1,137 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_base", - "type": "address" - }, - { - "internalType": "address", - "name": "_anchor", - "type": "address" - }, - { - "internalType": "uint64", - "name": "_timestamp", - "type": "uint64" - }, - { - "internalType": "int256", - "name": "_price", - "type": "int256" - } - ], - "name": "setPrice", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "setPrice(address,address,uint64,int256)": "644ad5bd" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_base\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_anchor\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"_timestamp\",\"type\":\"uint64\"},{\"internalType\":\"int256\",\"name\":\"_price\",\"type\":\"int256\"}],\"name\":\"setPrice\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ITestSolvV2BondManualPriceOracle Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"A test interface for Solv V2 Manual Price Oracle\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/interfaces/ITestSolvV2BondManualPriceOracle.sol\":\"ITestSolvV2BondManualPriceOracle\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/test/interfaces/ITestSolvV2BondManualPriceOracle.sol\":{\"keccak256\":\"0x9ad49acb8ec72faf10e642c37ef3de802c7d2ffa754acfe0accb6b02631ea7ee\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6357df4db4fedcb2fa4f2962d5d7eeeadd5f0e3ada204d62a487a311ef3ff1f\",\"dweb:/ipfs/QmYuYxautxW2goEsu6Q1g3miY9Gpsz6JULy1WknYnfq3cQ\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_base", - "type": "address" - }, - { - "internalType": "address", - "name": "_anchor", - "type": "address" - }, - { - "internalType": "uint64", - "name": "_timestamp", - "type": "uint64" - }, - { - "internalType": "int256", - "name": "_price", - "type": "int256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setPrice" - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/test/interfaces/ITestSolvV2BondManualPriceOracle.sol": "ITestSolvV2BondManualPriceOracle" - }, - "libraries": {} - }, - "sources": { - "contracts/test/interfaces/ITestSolvV2BondManualPriceOracle.sol": { - "keccak256": "0x9ad49acb8ec72faf10e642c37ef3de802c7d2ffa754acfe0accb6b02631ea7ee", - "urls": [ - "bzz-raw://a6357df4db4fedcb2fa4f2962d5d7eeeadd5f0e3ada204d62a487a311ef3ff1f", - "dweb:/ipfs/QmYuYxautxW2goEsu6Q1g3miY9Gpsz6JULy1WknYnfq3cQ" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 415 -} +{ "abi": [ { "type": "function", "name": "setPrice", "inputs": [ { "name": "_base", "type": "address", "internalType": "address" }, { "name": "_anchor", "type": "address", "internalType": "address" }, { "name": "_timestamp", "type": "uint64", "internalType": "uint64" }, { "name": "_price", "type": "int256", "internalType": "int256" } ], "outputs": [], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "setPrice(address,address,uint64,int256)": "644ad5bd" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_base\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_anchor\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"_timestamp\",\"type\":\"uint64\"},{\"internalType\":\"int256\",\"name\":\"_price\",\"type\":\"int256\"}],\"name\":\"setPrice\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ITestSolvV2BondManualPriceOracle Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"A test interface for Solv V2 Manual Price Oracle\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/interfaces/ITestSolvV2BondManualPriceOracle.sol\":\"ITestSolvV2BondManualPriceOracle\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/test/interfaces/ITestSolvV2BondManualPriceOracle.sol\":{\"keccak256\":\"0x9ad49acb8ec72faf10e642c37ef3de802c7d2ffa754acfe0accb6b02631ea7ee\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6357df4db4fedcb2fa4f2962d5d7eeeadd5f0e3ada204d62a487a311ef3ff1f\",\"dweb:/ipfs/QmYuYxautxW2goEsu6Q1g3miY9Gpsz6JULy1WknYnfq3cQ\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_base", "type": "address" }, { "internalType": "address", "name": "_anchor", "type": "address" }, { "internalType": "uint64", "name": "_timestamp", "type": "uint64" }, { "internalType": "int256", "name": "_price", "type": "int256" } ], "stateMutability": "nonpayable", "type": "function", "name": "setPrice" } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/test/interfaces/ITestSolvV2BondManualPriceOracle.sol": "ITestSolvV2BondManualPriceOracle" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/test/interfaces/ITestSolvV2BondManualPriceOracle.sol": { "keccak256": "0x9ad49acb8ec72faf10e642c37ef3de802c7d2ffa754acfe0accb6b02631ea7ee", "urls": [ "bzz-raw://a6357df4db4fedcb2fa4f2962d5d7eeeadd5f0e3ada204d62a487a311ef3ff1f", "dweb:/ipfs/QmYuYxautxW2goEsu6Q1g3miY9Gpsz6JULy1WknYnfq3cQ" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 415 } diff --git a/eth_defi/abi/enzyme/ITestSolvV2BondPool.json b/eth_defi/abi/enzyme/ITestSolvV2BondPool.json index 4752ad87..15bf5663 100644 --- a/eth_defi/abi/enzyme/ITestSolvV2BondPool.json +++ b/eth_defi/abi/enzyme/ITestSolvV2BondPool.json @@ -1,235 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "uint256", - "name": "_slot", - "type": "uint256" - } - ], - "name": "getSettlePrice", - "outputs": [ - { - "internalType": "uint128", - "name": "settlePrice_", - "type": "uint128" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "oracle", - "outputs": [ - { - "internalType": "address", - "name": "oracle_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_slot", - "type": "uint256" - } - ], - "name": "refund", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_currency", - "type": "address" - }, - { - "internalType": "bool", - "name": "_enable", - "type": "bool" - } - ], - "name": "setFundCurrency", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_slot", - "type": "uint256" - } - ], - "name": "setSettlePrice", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "getSettlePrice(uint256)": "fb7056b7", - "oracle()": "7dc0d1d0", - "refund(uint256)": "278ecde1", - "setFundCurrency(address,bool)": "f004c2d2", - "setSettlePrice(uint256)": "b82b3f7a" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_slot\",\"type\":\"uint256\"}],\"name\":\"getSettlePrice\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"settlePrice_\",\"type\":\"uint128\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"oracle\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"oracle_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_slot\",\"type\":\"uint256\"}],\"name\":\"refund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_currency\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_enable\",\"type\":\"bool\"}],\"name\":\"setFundCurrency\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_slot\",\"type\":\"uint256\"}],\"name\":\"setSettlePrice\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"Source: https://github.com/solv-finance/solv-v2-ivo/blob/main/vouchers/bond-voucher/contracts/BondPool.sol\",\"kind\":\"dev\",\"methods\":{},\"title\":\"ITestSolvV2BondPool Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"A test interface for Solv V2 Bond Pool\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/interfaces/ITestSolvV2BondPool.sol\":\"ITestSolvV2BondPool\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/test/interfaces/ITestSolvV2BondPool.sol\":{\"keccak256\":\"0x8720aea52aea0b5807817c425cd35251b265aabf7c11bf818586d35652cc42a2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6ed12719f95591e987ff7b9c8a5d1ffe2108b46f05d145855ae7babe858dbd8c\",\"dweb:/ipfs/QmaGsdC949YmnkLERieUzrftNasbv9ztNA5B581Y58WTHg\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "uint256", - "name": "_slot", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getSettlePrice", - "outputs": [ - { - "internalType": "uint128", - "name": "settlePrice_", - "type": "uint128" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "oracle", - "outputs": [ - { - "internalType": "address", - "name": "oracle_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_slot", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "refund" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_currency", - "type": "address" - }, - { - "internalType": "bool", - "name": "_enable", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setFundCurrency" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_slot", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setSettlePrice" - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/test/interfaces/ITestSolvV2BondPool.sol": "ITestSolvV2BondPool" - }, - "libraries": {} - }, - "sources": { - "contracts/test/interfaces/ITestSolvV2BondPool.sol": { - "keccak256": "0x8720aea52aea0b5807817c425cd35251b265aabf7c11bf818586d35652cc42a2", - "urls": [ - "bzz-raw://6ed12719f95591e987ff7b9c8a5d1ffe2108b46f05d145855ae7babe858dbd8c", - "dweb:/ipfs/QmaGsdC949YmnkLERieUzrftNasbv9ztNA5B581Y58WTHg" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 416 -} +{ "abi": [ { "type": "function", "name": "getSettlePrice", "inputs": [ { "name": "_slot", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "settlePrice_", "type": "uint128", "internalType": "uint128" } ], "stateMutability": "view" }, { "type": "function", "name": "oracle", "inputs": [], "outputs": [ { "name": "oracle_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "refund", "inputs": [ { "name": "_slot", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setFundCurrency", "inputs": [ { "name": "_currency", "type": "address", "internalType": "address" }, { "name": "_enable", "type": "bool", "internalType": "bool" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setSettlePrice", "inputs": [ { "name": "_slot", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "getSettlePrice(uint256)": "fb7056b7", "oracle()": "7dc0d1d0", "refund(uint256)": "278ecde1", "setFundCurrency(address,bool)": "f004c2d2", "setSettlePrice(uint256)": "b82b3f7a" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_slot\",\"type\":\"uint256\"}],\"name\":\"getSettlePrice\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"settlePrice_\",\"type\":\"uint128\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"oracle\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"oracle_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_slot\",\"type\":\"uint256\"}],\"name\":\"refund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_currency\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_enable\",\"type\":\"bool\"}],\"name\":\"setFundCurrency\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_slot\",\"type\":\"uint256\"}],\"name\":\"setSettlePrice\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"Source: https://github.com/solv-finance/solv-v2-ivo/blob/main/vouchers/bond-voucher/contracts/BondPool.sol\",\"kind\":\"dev\",\"methods\":{},\"title\":\"ITestSolvV2BondPool Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"A test interface for Solv V2 Bond Pool\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/interfaces/ITestSolvV2BondPool.sol\":\"ITestSolvV2BondPool\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/test/interfaces/ITestSolvV2BondPool.sol\":{\"keccak256\":\"0x8720aea52aea0b5807817c425cd35251b265aabf7c11bf818586d35652cc42a2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6ed12719f95591e987ff7b9c8a5d1ffe2108b46f05d145855ae7babe858dbd8c\",\"dweb:/ipfs/QmaGsdC949YmnkLERieUzrftNasbv9ztNA5B581Y58WTHg\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "uint256", "name": "_slot", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "getSettlePrice", "outputs": [ { "internalType": "uint128", "name": "settlePrice_", "type": "uint128" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "oracle", "outputs": [ { "internalType": "address", "name": "oracle_", "type": "address" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_slot", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "refund" }, { "inputs": [ { "internalType": "address", "name": "_currency", "type": "address" }, { "internalType": "bool", "name": "_enable", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function", "name": "setFundCurrency" }, { "inputs": [ { "internalType": "uint256", "name": "_slot", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "setSettlePrice" } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/test/interfaces/ITestSolvV2BondPool.sol": "ITestSolvV2BondPool" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/test/interfaces/ITestSolvV2BondPool.sol": { "keccak256": "0x8720aea52aea0b5807817c425cd35251b265aabf7c11bf818586d35652cc42a2", "urls": [ "bzz-raw://6ed12719f95591e987ff7b9c8a5d1ffe2108b46f05d145855ae7babe858dbd8c", "dweb:/ipfs/QmaGsdC949YmnkLERieUzrftNasbv9ztNA5B581Y58WTHg" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 416 } diff --git a/eth_defi/abi/enzyme/ITestSolvV2BondPriceOracleManager.json b/eth_defi/abi/enzyme/ITestSolvV2BondPriceOracleManager.json index d21029c6..45b98fee 100644 --- a/eth_defi/abi/enzyme/ITestSolvV2BondPriceOracleManager.json +++ b/eth_defi/abi/enzyme/ITestSolvV2BondPriceOracleManager.json @@ -1,215 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_voucher", - "type": "address" - }, - { - "internalType": "address", - "name": "_oracle", - "type": "address" - } - ], - "name": "_setVoucherOracle", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_voucher", - "type": "address" - } - ], - "name": "getOracle", - "outputs": [ - { - "internalType": "address", - "name": "oracle_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_voucher", - "type": "address" - }, - { - "internalType": "address", - "name": "_fundCurrency", - "type": "address" - }, - { - "internalType": "uint64", - "name": "_maturity", - "type": "uint64" - } - ], - "name": "getPriceOfMaturity", - "outputs": [ - { - "internalType": "int256", - "name": "price_", - "type": "int256" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "_setVoucherOracle(address,address)": "a714fed0", - "getOracle(address)": "10d3d22e", - "getPriceOfMaturity(address,address,uint64)": "c42752f5" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_voucher\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_oracle\",\"type\":\"address\"}],\"name\":\"_setVoucherOracle\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_voucher\",\"type\":\"address\"}],\"name\":\"getOracle\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"oracle_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_voucher\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_fundCurrency\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"_maturity\",\"type\":\"uint64\"}],\"name\":\"getPriceOfMaturity\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"price_\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ITestSolvV2BondPriceOracleManager Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"A test interface for Solv V2 Price Oracle Manager\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/interfaces/ITestSolvV2BondPriceOracleManager.sol\":\"ITestSolvV2BondPriceOracleManager\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/test/interfaces/ITestSolvV2BondPriceOracleManager.sol\":{\"keccak256\":\"0x349fd2bb1a4bd9dacf3c0aa0cf1a144ea7f3b3478defe266cc8fd5e80100af27\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6d1fc587d150ce94a09599982276af4d51debe0095dd361a6be9eff2c67d4d8e\",\"dweb:/ipfs/QmPDwU8q41yQG14hEcsa8WxB9ZYLsHQAtz7DVY3VWxjgmZ\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_voucher", - "type": "address" - }, - { - "internalType": "address", - "name": "_oracle", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "_setVoucherOracle" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_voucher", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getOracle", - "outputs": [ - { - "internalType": "address", - "name": "oracle_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_voucher", - "type": "address" - }, - { - "internalType": "address", - "name": "_fundCurrency", - "type": "address" - }, - { - "internalType": "uint64", - "name": "_maturity", - "type": "uint64" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getPriceOfMaturity", - "outputs": [ - { - "internalType": "int256", - "name": "price_", - "type": "int256" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/test/interfaces/ITestSolvV2BondPriceOracleManager.sol": "ITestSolvV2BondPriceOracleManager" - }, - "libraries": {} - }, - "sources": { - "contracts/test/interfaces/ITestSolvV2BondPriceOracleManager.sol": { - "keccak256": "0x349fd2bb1a4bd9dacf3c0aa0cf1a144ea7f3b3478defe266cc8fd5e80100af27", - "urls": [ - "bzz-raw://6d1fc587d150ce94a09599982276af4d51debe0095dd361a6be9eff2c67d4d8e", - "dweb:/ipfs/QmPDwU8q41yQG14hEcsa8WxB9ZYLsHQAtz7DVY3VWxjgmZ" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 417 -} +{ "abi": [ { "type": "function", "name": "_setVoucherOracle", "inputs": [ { "name": "_voucher", "type": "address", "internalType": "address" }, { "name": "_oracle", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "getOracle", "inputs": [ { "name": "_voucher", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "oracle_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getPriceOfMaturity", "inputs": [ { "name": "_voucher", "type": "address", "internalType": "address" }, { "name": "_fundCurrency", "type": "address", "internalType": "address" }, { "name": "_maturity", "type": "uint64", "internalType": "uint64" } ], "outputs": [ { "name": "price_", "type": "int256", "internalType": "int256" } ], "stateMutability": "view" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "_setVoucherOracle(address,address)": "a714fed0", "getOracle(address)": "10d3d22e", "getPriceOfMaturity(address,address,uint64)": "c42752f5" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_voucher\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_oracle\",\"type\":\"address\"}],\"name\":\"_setVoucherOracle\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_voucher\",\"type\":\"address\"}],\"name\":\"getOracle\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"oracle_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_voucher\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_fundCurrency\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"_maturity\",\"type\":\"uint64\"}],\"name\":\"getPriceOfMaturity\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"price_\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ITestSolvV2BondPriceOracleManager Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"A test interface for Solv V2 Price Oracle Manager\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/interfaces/ITestSolvV2BondPriceOracleManager.sol\":\"ITestSolvV2BondPriceOracleManager\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/test/interfaces/ITestSolvV2BondPriceOracleManager.sol\":{\"keccak256\":\"0x349fd2bb1a4bd9dacf3c0aa0cf1a144ea7f3b3478defe266cc8fd5e80100af27\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6d1fc587d150ce94a09599982276af4d51debe0095dd361a6be9eff2c67d4d8e\",\"dweb:/ipfs/QmPDwU8q41yQG14hEcsa8WxB9ZYLsHQAtz7DVY3VWxjgmZ\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_voucher", "type": "address" }, { "internalType": "address", "name": "_oracle", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "_setVoucherOracle" }, { "inputs": [ { "internalType": "address", "name": "_voucher", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getOracle", "outputs": [ { "internalType": "address", "name": "oracle_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_voucher", "type": "address" }, { "internalType": "address", "name": "_fundCurrency", "type": "address" }, { "internalType": "uint64", "name": "_maturity", "type": "uint64" } ], "stateMutability": "view", "type": "function", "name": "getPriceOfMaturity", "outputs": [ { "internalType": "int256", "name": "price_", "type": "int256" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/test/interfaces/ITestSolvV2BondPriceOracleManager.sol": "ITestSolvV2BondPriceOracleManager" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/test/interfaces/ITestSolvV2BondPriceOracleManager.sol": { "keccak256": "0x349fd2bb1a4bd9dacf3c0aa0cf1a144ea7f3b3478defe266cc8fd5e80100af27", "urls": [ "bzz-raw://6d1fc587d150ce94a09599982276af4d51debe0095dd361a6be9eff2c67d4d8e", "dweb:/ipfs/QmPDwU8q41yQG14hEcsa8WxB9ZYLsHQAtz7DVY3VWxjgmZ" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 417 } diff --git a/eth_defi/abi/enzyme/ITestSolvV2BondVoucher.json b/eth_defi/abi/enzyme/ITestSolvV2BondVoucher.json index cfbf2c97..5d195eb3 100644 --- a/eth_defi/abi/enzyme/ITestSolvV2BondVoucher.json +++ b/eth_defi/abi/enzyme/ITestSolvV2BondVoucher.json @@ -1,426 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_tokenId", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_issuer", - "type": "address" - }, - { - "internalType": "address", - "name": "_fundCurrency", - "type": "address" - }, - { - "internalType": "uint128", - "name": "_lowestPrice", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "_highestPrice", - "type": "uint128" - }, - { - "internalType": "uint64", - "name": "_effectiveTime", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "_maturity", - "type": "uint64" - } - ], - "name": "getSlot", - "outputs": [ - { - "internalType": "uint256", - "name": "slot_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_slot", - "type": "uint256" - } - ], - "name": "getSlotDetail", - "outputs": [ - { - "components": [ - { - "internalType": "address", - "name": "issuer", - "type": "address" - }, - { - "internalType": "address", - "name": "fundCurrency", - "type": "address" - }, - { - "internalType": "uint256", - "name": "totalValue", - "type": "uint256" - }, - { - "internalType": "uint128", - "name": "lowestPrice", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "highestPrice", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "settlePrice", - "type": "uint128" - }, - { - "internalType": "uint64", - "name": "effectiveTime", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "maturity", - "type": "uint64" - }, - { - "internalType": "enum ITestSolvV2BondPool.CollateralType", - "name": "collateralType", - "type": "uint8" - }, - { - "internalType": "bool", - "name": "isIssuerRefunded", - "type": "bool" - }, - { - "internalType": "bool", - "name": "isIssuerWithdrawn", - "type": "bool" - }, - { - "internalType": "bool", - "name": "isClaimed", - "type": "bool" - }, - { - "internalType": "bool", - "name": "isValid", - "type": "bool" - } - ], - "internalType": "struct ITestSolvV2BondPool.SlotDetail", - "name": "slotDetail_", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_tokenId", - "type": "uint256" - } - ], - "name": "ownerOf", - "outputs": [ - { - "internalType": "address", - "name": "owner_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "approve(address,uint256)": "095ea7b3", - "getSlot(address,address,uint128,uint128,uint64,uint64)": "9576dd8f", - "getSlotDetail(uint256)": "d3ceafb9", - "ownerOf(uint256)": "6352211e" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_issuer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_fundCurrency\",\"type\":\"address\"},{\"internalType\":\"uint128\",\"name\":\"_lowestPrice\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"_highestPrice\",\"type\":\"uint128\"},{\"internalType\":\"uint64\",\"name\":\"_effectiveTime\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"_maturity\",\"type\":\"uint64\"}],\"name\":\"getSlot\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"slot_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_slot\",\"type\":\"uint256\"}],\"name\":\"getSlotDetail\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"issuer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"fundCurrency\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"totalValue\",\"type\":\"uint256\"},{\"internalType\":\"uint128\",\"name\":\"lowestPrice\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"highestPrice\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"settlePrice\",\"type\":\"uint128\"},{\"internalType\":\"uint64\",\"name\":\"effectiveTime\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"maturity\",\"type\":\"uint64\"},{\"internalType\":\"enum ITestSolvV2BondPool.CollateralType\",\"name\":\"collateralType\",\"type\":\"uint8\"},{\"internalType\":\"bool\",\"name\":\"isIssuerRefunded\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isIssuerWithdrawn\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isClaimed\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isValid\",\"type\":\"bool\"}],\"internalType\":\"struct ITestSolvV2BondPool.SlotDetail\",\"name\":\"slotDetail_\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"Source: https://github.com/solv-finance/solv-v2-ivo/blob/main/vouchers/bond-voucher/contracts/BondVoucher.sol\",\"kind\":\"dev\",\"methods\":{},\"title\":\"ITestSolvV2BondVoucher Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"A test interface for Solv V2 Bond Pool\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/interfaces/ITestSolvV2BondVoucher.sol\":\"ITestSolvV2BondVoucher\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/test/interfaces/ITestSolvV2BondPool.sol\":{\"keccak256\":\"0x8720aea52aea0b5807817c425cd35251b265aabf7c11bf818586d35652cc42a2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6ed12719f95591e987ff7b9c8a5d1ffe2108b46f05d145855ae7babe858dbd8c\",\"dweb:/ipfs/QmaGsdC949YmnkLERieUzrftNasbv9ztNA5B581Y58WTHg\"]},\"contracts/test/interfaces/ITestSolvV2BondVoucher.sol\":{\"keccak256\":\"0x8c0fbef3c499f89ffada3470e43132b4d30515190051e125a63fb03ad31d48a0\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://944e6fd43fbe0908e1235df6c6c3ccce80aefdbbf3ce704beb786464f80b6aea\",\"dweb:/ipfs/QmPZhsdMi95BFbiv8zJDanEHTphrzDShJMMmyjKT4wKLbE\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_tokenId", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "approve" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_issuer", - "type": "address" - }, - { - "internalType": "address", - "name": "_fundCurrency", - "type": "address" - }, - { - "internalType": "uint128", - "name": "_lowestPrice", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "_highestPrice", - "type": "uint128" - }, - { - "internalType": "uint64", - "name": "_effectiveTime", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "_maturity", - "type": "uint64" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getSlot", - "outputs": [ - { - "internalType": "uint256", - "name": "slot_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_slot", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getSlotDetail", - "outputs": [ - { - "internalType": "struct ITestSolvV2BondPool.SlotDetail", - "name": "slotDetail_", - "type": "tuple", - "components": [ - { - "internalType": "address", - "name": "issuer", - "type": "address" - }, - { - "internalType": "address", - "name": "fundCurrency", - "type": "address" - }, - { - "internalType": "uint256", - "name": "totalValue", - "type": "uint256" - }, - { - "internalType": "uint128", - "name": "lowestPrice", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "highestPrice", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "settlePrice", - "type": "uint128" - }, - { - "internalType": "uint64", - "name": "effectiveTime", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "maturity", - "type": "uint64" - }, - { - "internalType": "enum ITestSolvV2BondPool.CollateralType", - "name": "collateralType", - "type": "uint8" - }, - { - "internalType": "bool", - "name": "isIssuerRefunded", - "type": "bool" - }, - { - "internalType": "bool", - "name": "isIssuerWithdrawn", - "type": "bool" - }, - { - "internalType": "bool", - "name": "isClaimed", - "type": "bool" - }, - { - "internalType": "bool", - "name": "isValid", - "type": "bool" - } - ] - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_tokenId", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "ownerOf", - "outputs": [ - { - "internalType": "address", - "name": "owner_", - "type": "address" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/test/interfaces/ITestSolvV2BondVoucher.sol": "ITestSolvV2BondVoucher" - }, - "libraries": {} - }, - "sources": { - "contracts/test/interfaces/ITestSolvV2BondPool.sol": { - "keccak256": "0x8720aea52aea0b5807817c425cd35251b265aabf7c11bf818586d35652cc42a2", - "urls": [ - "bzz-raw://6ed12719f95591e987ff7b9c8a5d1ffe2108b46f05d145855ae7babe858dbd8c", - "dweb:/ipfs/QmaGsdC949YmnkLERieUzrftNasbv9ztNA5B581Y58WTHg" - ], - "license": "GPL-3.0" - }, - "contracts/test/interfaces/ITestSolvV2BondVoucher.sol": { - "keccak256": "0x8c0fbef3c499f89ffada3470e43132b4d30515190051e125a63fb03ad31d48a0", - "urls": [ - "bzz-raw://944e6fd43fbe0908e1235df6c6c3ccce80aefdbbf3ce704beb786464f80b6aea", - "dweb:/ipfs/QmPZhsdMi95BFbiv8zJDanEHTphrzDShJMMmyjKT4wKLbE" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 418 -} +{ "abi": [ { "type": "function", "name": "approve", "inputs": [ { "name": "_to", "type": "address", "internalType": "address" }, { "name": "_tokenId", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "getSlot", "inputs": [ { "name": "_issuer", "type": "address", "internalType": "address" }, { "name": "_fundCurrency", "type": "address", "internalType": "address" }, { "name": "_lowestPrice", "type": "uint128", "internalType": "uint128" }, { "name": "_highestPrice", "type": "uint128", "internalType": "uint128" }, { "name": "_effectiveTime", "type": "uint64", "internalType": "uint64" }, { "name": "_maturity", "type": "uint64", "internalType": "uint64" } ], "outputs": [ { "name": "slot_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "getSlotDetail", "inputs": [ { "name": "_slot", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "slotDetail_", "type": "tuple", "internalType": "struct ITestSolvV2BondPool.SlotDetail", "components": [ { "name": "issuer", "type": "address", "internalType": "address" }, { "name": "fundCurrency", "type": "address", "internalType": "address" }, { "name": "totalValue", "type": "uint256", "internalType": "uint256" }, { "name": "lowestPrice", "type": "uint128", "internalType": "uint128" }, { "name": "highestPrice", "type": "uint128", "internalType": "uint128" }, { "name": "settlePrice", "type": "uint128", "internalType": "uint128" }, { "name": "effectiveTime", "type": "uint64", "internalType": "uint64" }, { "name": "maturity", "type": "uint64", "internalType": "uint64" }, { "name": "collateralType", "type": "uint8", "internalType": "enum ITestSolvV2BondPool.CollateralType" }, { "name": "isIssuerRefunded", "type": "bool", "internalType": "bool" }, { "name": "isIssuerWithdrawn", "type": "bool", "internalType": "bool" }, { "name": "isClaimed", "type": "bool", "internalType": "bool" }, { "name": "isValid", "type": "bool", "internalType": "bool" } ] } ], "stateMutability": "view" }, { "type": "function", "name": "ownerOf", "inputs": [ { "name": "_tokenId", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "owner_", "type": "address", "internalType": "address" } ], "stateMutability": "view" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "approve(address,uint256)": "095ea7b3", "getSlot(address,address,uint128,uint128,uint64,uint64)": "9576dd8f", "getSlotDetail(uint256)": "d3ceafb9", "ownerOf(uint256)": "6352211e" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_issuer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_fundCurrency\",\"type\":\"address\"},{\"internalType\":\"uint128\",\"name\":\"_lowestPrice\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"_highestPrice\",\"type\":\"uint128\"},{\"internalType\":\"uint64\",\"name\":\"_effectiveTime\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"_maturity\",\"type\":\"uint64\"}],\"name\":\"getSlot\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"slot_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_slot\",\"type\":\"uint256\"}],\"name\":\"getSlotDetail\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"issuer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"fundCurrency\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"totalValue\",\"type\":\"uint256\"},{\"internalType\":\"uint128\",\"name\":\"lowestPrice\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"highestPrice\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"settlePrice\",\"type\":\"uint128\"},{\"internalType\":\"uint64\",\"name\":\"effectiveTime\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"maturity\",\"type\":\"uint64\"},{\"internalType\":\"enum ITestSolvV2BondPool.CollateralType\",\"name\":\"collateralType\",\"type\":\"uint8\"},{\"internalType\":\"bool\",\"name\":\"isIssuerRefunded\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isIssuerWithdrawn\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isClaimed\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isValid\",\"type\":\"bool\"}],\"internalType\":\"struct ITestSolvV2BondPool.SlotDetail\",\"name\":\"slotDetail_\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"Source: https://github.com/solv-finance/solv-v2-ivo/blob/main/vouchers/bond-voucher/contracts/BondVoucher.sol\",\"kind\":\"dev\",\"methods\":{},\"title\":\"ITestSolvV2BondVoucher Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"A test interface for Solv V2 Bond Pool\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/interfaces/ITestSolvV2BondVoucher.sol\":\"ITestSolvV2BondVoucher\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/test/interfaces/ITestSolvV2BondPool.sol\":{\"keccak256\":\"0x8720aea52aea0b5807817c425cd35251b265aabf7c11bf818586d35652cc42a2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6ed12719f95591e987ff7b9c8a5d1ffe2108b46f05d145855ae7babe858dbd8c\",\"dweb:/ipfs/QmaGsdC949YmnkLERieUzrftNasbv9ztNA5B581Y58WTHg\"]},\"contracts/test/interfaces/ITestSolvV2BondVoucher.sol\":{\"keccak256\":\"0x8c0fbef3c499f89ffada3470e43132b4d30515190051e125a63fb03ad31d48a0\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://944e6fd43fbe0908e1235df6c6c3ccce80aefdbbf3ce704beb786464f80b6aea\",\"dweb:/ipfs/QmPZhsdMi95BFbiv8zJDanEHTphrzDShJMMmyjKT4wKLbE\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_to", "type": "address" }, { "internalType": "uint256", "name": "_tokenId", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "approve" }, { "inputs": [ { "internalType": "address", "name": "_issuer", "type": "address" }, { "internalType": "address", "name": "_fundCurrency", "type": "address" }, { "internalType": "uint128", "name": "_lowestPrice", "type": "uint128" }, { "internalType": "uint128", "name": "_highestPrice", "type": "uint128" }, { "internalType": "uint64", "name": "_effectiveTime", "type": "uint64" }, { "internalType": "uint64", "name": "_maturity", "type": "uint64" } ], "stateMutability": "view", "type": "function", "name": "getSlot", "outputs": [ { "internalType": "uint256", "name": "slot_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_slot", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "getSlotDetail", "outputs": [ { "internalType": "struct ITestSolvV2BondPool.SlotDetail", "name": "slotDetail_", "type": "tuple", "components": [ { "internalType": "address", "name": "issuer", "type": "address" }, { "internalType": "address", "name": "fundCurrency", "type": "address" }, { "internalType": "uint256", "name": "totalValue", "type": "uint256" }, { "internalType": "uint128", "name": "lowestPrice", "type": "uint128" }, { "internalType": "uint128", "name": "highestPrice", "type": "uint128" }, { "internalType": "uint128", "name": "settlePrice", "type": "uint128" }, { "internalType": "uint64", "name": "effectiveTime", "type": "uint64" }, { "internalType": "uint64", "name": "maturity", "type": "uint64" }, { "internalType": "enum ITestSolvV2BondPool.CollateralType", "name": "collateralType", "type": "uint8" }, { "internalType": "bool", "name": "isIssuerRefunded", "type": "bool" }, { "internalType": "bool", "name": "isIssuerWithdrawn", "type": "bool" }, { "internalType": "bool", "name": "isClaimed", "type": "bool" }, { "internalType": "bool", "name": "isValid", "type": "bool" } ] } ] }, { "inputs": [ { "internalType": "uint256", "name": "_tokenId", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "ownerOf", "outputs": [ { "internalType": "address", "name": "owner_", "type": "address" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/test/interfaces/ITestSolvV2BondVoucher.sol": "ITestSolvV2BondVoucher" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/test/interfaces/ITestSolvV2BondPool.sol": { "keccak256": "0x8720aea52aea0b5807817c425cd35251b265aabf7c11bf818586d35652cc42a2", "urls": [ "bzz-raw://6ed12719f95591e987ff7b9c8a5d1ffe2108b46f05d145855ae7babe858dbd8c", "dweb:/ipfs/QmaGsdC949YmnkLERieUzrftNasbv9ztNA5B581Y58WTHg" ], "license": "GPL-3.0" }, "contracts/test/interfaces/ITestSolvV2BondVoucher.sol": { "keccak256": "0x8c0fbef3c499f89ffada3470e43132b4d30515190051e125a63fb03ad31d48a0", "urls": [ "bzz-raw://944e6fd43fbe0908e1235df6c6c3ccce80aefdbbf3ce704beb786464f80b6aea", "dweb:/ipfs/QmPZhsdMi95BFbiv8zJDanEHTphrzDShJMMmyjKT4wKLbE" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 418 } diff --git a/eth_defi/abi/enzyme/ITestSolvV2ConvertibleManualPriceOracle.json b/eth_defi/abi/enzyme/ITestSolvV2ConvertibleManualPriceOracle.json index 656b3f15..a21e297f 100644 --- a/eth_defi/abi/enzyme/ITestSolvV2ConvertibleManualPriceOracle.json +++ b/eth_defi/abi/enzyme/ITestSolvV2ConvertibleManualPriceOracle.json @@ -1,127 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_underlying", - "type": "address" - }, - { - "internalType": "uint64", - "name": "_maturity", - "type": "uint64" - }, - { - "internalType": "int256", - "name": "_price", - "type": "int256" - } - ], - "name": "_setPrice", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "_setPrice(address,uint64,int256)": "898606fd" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_underlying\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"_maturity\",\"type\":\"uint64\"},{\"internalType\":\"int256\",\"name\":\"_price\",\"type\":\"int256\"}],\"name\":\"_setPrice\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ITestSolvV2ConvertibleManualPriceOracle Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"A test interface for Solv V2 Manual Price Oracle\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/interfaces/ITestSolvV2ConvertibleManualPriceOracle.sol\":\"ITestSolvV2ConvertibleManualPriceOracle\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/test/interfaces/ITestSolvV2ConvertibleManualPriceOracle.sol\":{\"keccak256\":\"0x1d6286dbc6ced8a537391570b786ae5108417b9263e5df655d0b49b0d6c47dd0\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://52731e5cbc4d49bdcf416da21f9e6ae594c054ac706810412cfda9f0e638b7c2\",\"dweb:/ipfs/QmVPV7WB9mTuUDeQSKTKa7tg8JS26FD2acAqj62S2kymam\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_underlying", - "type": "address" - }, - { - "internalType": "uint64", - "name": "_maturity", - "type": "uint64" - }, - { - "internalType": "int256", - "name": "_price", - "type": "int256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "_setPrice" - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/test/interfaces/ITestSolvV2ConvertibleManualPriceOracle.sol": "ITestSolvV2ConvertibleManualPriceOracle" - }, - "libraries": {} - }, - "sources": { - "contracts/test/interfaces/ITestSolvV2ConvertibleManualPriceOracle.sol": { - "keccak256": "0x1d6286dbc6ced8a537391570b786ae5108417b9263e5df655d0b49b0d6c47dd0", - "urls": [ - "bzz-raw://52731e5cbc4d49bdcf416da21f9e6ae594c054ac706810412cfda9f0e638b7c2", - "dweb:/ipfs/QmVPV7WB9mTuUDeQSKTKa7tg8JS26FD2acAqj62S2kymam" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 419 -} +{ "abi": [ { "type": "function", "name": "_setPrice", "inputs": [ { "name": "_underlying", "type": "address", "internalType": "address" }, { "name": "_maturity", "type": "uint64", "internalType": "uint64" }, { "name": "_price", "type": "int256", "internalType": "int256" } ], "outputs": [], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "_setPrice(address,uint64,int256)": "898606fd" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_underlying\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"_maturity\",\"type\":\"uint64\"},{\"internalType\":\"int256\",\"name\":\"_price\",\"type\":\"int256\"}],\"name\":\"_setPrice\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ITestSolvV2ConvertibleManualPriceOracle Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"A test interface for Solv V2 Manual Price Oracle\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/interfaces/ITestSolvV2ConvertibleManualPriceOracle.sol\":\"ITestSolvV2ConvertibleManualPriceOracle\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/test/interfaces/ITestSolvV2ConvertibleManualPriceOracle.sol\":{\"keccak256\":\"0x1d6286dbc6ced8a537391570b786ae5108417b9263e5df655d0b49b0d6c47dd0\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://52731e5cbc4d49bdcf416da21f9e6ae594c054ac706810412cfda9f0e638b7c2\",\"dweb:/ipfs/QmVPV7WB9mTuUDeQSKTKa7tg8JS26FD2acAqj62S2kymam\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_underlying", "type": "address" }, { "internalType": "uint64", "name": "_maturity", "type": "uint64" }, { "internalType": "int256", "name": "_price", "type": "int256" } ], "stateMutability": "nonpayable", "type": "function", "name": "_setPrice" } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/test/interfaces/ITestSolvV2ConvertibleManualPriceOracle.sol": "ITestSolvV2ConvertibleManualPriceOracle" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/test/interfaces/ITestSolvV2ConvertibleManualPriceOracle.sol": { "keccak256": "0x1d6286dbc6ced8a537391570b786ae5108417b9263e5df655d0b49b0d6c47dd0", "urls": [ "bzz-raw://52731e5cbc4d49bdcf416da21f9e6ae594c054ac706810412cfda9f0e638b7c2", "dweb:/ipfs/QmVPV7WB9mTuUDeQSKTKa7tg8JS26FD2acAqj62S2kymam" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 419 } diff --git a/eth_defi/abi/enzyme/ITestSolvV2ConvertibleMarket.json b/eth_defi/abi/enzyme/ITestSolvV2ConvertibleMarket.json index e37b51d8..2d5e672c 100644 --- a/eth_defi/abi/enzyme/ITestSolvV2ConvertibleMarket.json +++ b/eth_defi/abi/enzyme/ITestSolvV2ConvertibleMarket.json @@ -1,972 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "uint24", - "name": "_saleId", - "type": "uint24" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "buyByAmount", - "outputs": [ - { - "internalType": "uint128", - "name": "units_", - "type": "uint128" - } - ], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint24", - "name": "_saleId", - "type": "uint24" - }, - { - "internalType": "uint128", - "name": "_units", - "type": "uint128" - } - ], - "name": "buyByUnits", - "outputs": [ - { - "internalType": "uint256", - "name": "amount_", - "type": "uint256" - }, - { - "internalType": "uint128", - "name": "fee_", - "type": "uint128" - } - ], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint24", - "name": "_offeringId", - "type": "uint24" - } - ], - "name": "getDecliningPrice", - "outputs": [ - { - "internalType": "uint128", - "name": "highest_", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "lowest_", - "type": "uint128" - }, - { - "internalType": "uint32", - "name": "startTime_", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "duration_", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "interval_", - "type": "uint32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint24", - "name": "_offeringId", - "type": "uint24" - } - ], - "name": "getFixedPrice", - "outputs": [ - { - "internalType": "uint128", - "name": "price_", - "type": "uint128" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint24", - "name": "_saleId", - "type": "uint24" - } - ], - "name": "getPrice", - "outputs": [ - { - "internalType": "uint128", - "name": "price_", - "type": "uint128" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_voucher", - "type": "address" - } - ], - "name": "markets", - "outputs": [ - { - "components": [ - { - "internalType": "bool", - "name": "isValid", - "type": "bool" - }, - { - "internalType": "uint128", - "name": "precision", - "type": "uint128" - }, - { - "internalType": "enum ITestSolvV2ConvertibleMarket.FeeType", - "name": "feeType", - "type": "uint8" - }, - { - "internalType": "enum ITestSolvV2ConvertibleMarket.FeePayType", - "name": "feePayType", - "type": "uint8" - }, - { - "internalType": "uint128", - "name": "feeAmount", - "type": "uint128" - }, - { - "internalType": "uint16", - "name": "feeRate", - "type": "uint16" - } - ], - "internalType": "struct ITestSolvV2ConvertibleMarket.Market", - "name": "market_", - "type": "tuple" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "nextSaleId", - "outputs": [ - { - "internalType": "uint24", - "name": "saleId_", - "type": "uint24" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "enum ITestSolvV2ConvertibleMarket.PriceType", - "name": "_priceType", - "type": "uint8" - }, - { - "internalType": "uint24", - "name": "_saleId", - "type": "uint24" - } - ], - "name": "price", - "outputs": [ - { - "internalType": "uint128", - "name": "price_", - "type": "uint128" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_voucher", - "type": "address" - }, - { - "internalType": "uint24", - "name": "_tokenId", - "type": "uint24" - }, - { - "internalType": "address", - "name": "_currency", - "type": "address" - }, - { - "internalType": "uint128", - "name": "_min", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "_max", - "type": "uint128" - }, - { - "internalType": "uint32", - "name": "_startTime", - "type": "uint32" - }, - { - "internalType": "bool", - "name": "_useAllowList", - "type": "bool" - }, - { - "internalType": "uint128", - "name": "_highest", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "_lowest", - "type": "uint128" - }, - { - "internalType": "uint32", - "name": "_duration", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "_interval", - "type": "uint32" - } - ], - "name": "publishDecliningPrice", - "outputs": [ - { - "internalType": "uint24", - "name": "saleId_", - "type": "uint24" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_voucher", - "type": "address" - }, - { - "internalType": "uint24", - "name": "_tokenId", - "type": "uint24" - }, - { - "internalType": "address", - "name": "_currency", - "type": "address" - }, - { - "internalType": "uint128", - "name": "_min", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "_max", - "type": "uint128" - }, - { - "internalType": "uint32", - "name": "_startTime", - "type": "uint32" - }, - { - "internalType": "bool", - "name": "_useAllowList", - "type": "bool" - }, - { - "internalType": "uint128", - "name": "_price", - "type": "uint128" - } - ], - "name": "publishFixedPrice", - "outputs": [ - { - "internalType": "uint24", - "name": "saleId_", - "type": "uint24" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint24", - "name": "_saleId", - "type": "uint24" - } - ], - "name": "remove", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint24", - "name": "_saleId", - "type": "uint24" - } - ], - "name": "sales", - "outputs": [ - { - "components": [ - { - "internalType": "uint24", - "name": "saleId", - "type": "uint24" - }, - { - "internalType": "uint24", - "name": "tokenId", - "type": "uint24" - }, - { - "internalType": "uint32", - "name": "startTime", - "type": "uint32" - }, - { - "internalType": "address", - "name": "seller", - "type": "address" - }, - { - "internalType": "enum ITestSolvV2ConvertibleMarket.PriceType", - "name": "priceType", - "type": "uint8" - }, - { - "internalType": "uint128", - "name": "total", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "units", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "min", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "max", - "type": "uint128" - }, - { - "internalType": "address", - "name": "voucher", - "type": "address" - }, - { - "internalType": "address", - "name": "currency", - "type": "address" - }, - { - "internalType": "bool", - "name": "useAllowList", - "type": "bool" - }, - { - "internalType": "bool", - "name": "isValid", - "type": "bool" - } - ], - "internalType": "struct ITestSolvV2ConvertibleMarket.Sale", - "name": "sale_", - "type": "tuple" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "buyByAmount(uint24,uint256)": "679a0be7", - "buyByUnits(uint24,uint128)": "9bb3db71", - "getDecliningPrice(uint24)": "e0cc5f5a", - "getFixedPrice(uint24)": "9ca24f34", - "getPrice(uint24)": "423dd0dd", - "markets(address)": "8e8f294b", - "nextSaleId()": "deb077b9", - "price(uint8,uint24)": "c72817ad", - "publishDecliningPrice(address,uint24,address,uint128,uint128,uint32,bool,uint128,uint128,uint32,uint32)": "e728fd6a", - "publishFixedPrice(address,uint24,address,uint128,uint128,uint32,bool,uint128)": "2db4808e", - "remove(uint24)": "c569a8f2", - "sales(uint24)": "782f5cb3" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint24\",\"name\":\"_saleId\",\"type\":\"uint24\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"buyByAmount\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"units_\",\"type\":\"uint128\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint24\",\"name\":\"_saleId\",\"type\":\"uint24\"},{\"internalType\":\"uint128\",\"name\":\"_units\",\"type\":\"uint128\"}],\"name\":\"buyByUnits\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount_\",\"type\":\"uint256\"},{\"internalType\":\"uint128\",\"name\":\"fee_\",\"type\":\"uint128\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint24\",\"name\":\"_offeringId\",\"type\":\"uint24\"}],\"name\":\"getDecliningPrice\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"highest_\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"lowest_\",\"type\":\"uint128\"},{\"internalType\":\"uint32\",\"name\":\"startTime_\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"duration_\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"interval_\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint24\",\"name\":\"_offeringId\",\"type\":\"uint24\"}],\"name\":\"getFixedPrice\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"price_\",\"type\":\"uint128\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint24\",\"name\":\"_saleId\",\"type\":\"uint24\"}],\"name\":\"getPrice\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"price_\",\"type\":\"uint128\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_voucher\",\"type\":\"address\"}],\"name\":\"markets\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"isValid\",\"type\":\"bool\"},{\"internalType\":\"uint128\",\"name\":\"precision\",\"type\":\"uint128\"},{\"internalType\":\"enum ITestSolvV2ConvertibleMarket.FeeType\",\"name\":\"feeType\",\"type\":\"uint8\"},{\"internalType\":\"enum ITestSolvV2ConvertibleMarket.FeePayType\",\"name\":\"feePayType\",\"type\":\"uint8\"},{\"internalType\":\"uint128\",\"name\":\"feeAmount\",\"type\":\"uint128\"},{\"internalType\":\"uint16\",\"name\":\"feeRate\",\"type\":\"uint16\"}],\"internalType\":\"struct ITestSolvV2ConvertibleMarket.Market\",\"name\":\"market_\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextSaleId\",\"outputs\":[{\"internalType\":\"uint24\",\"name\":\"saleId_\",\"type\":\"uint24\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum ITestSolvV2ConvertibleMarket.PriceType\",\"name\":\"_priceType\",\"type\":\"uint8\"},{\"internalType\":\"uint24\",\"name\":\"_saleId\",\"type\":\"uint24\"}],\"name\":\"price\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"price_\",\"type\":\"uint128\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_voucher\",\"type\":\"address\"},{\"internalType\":\"uint24\",\"name\":\"_tokenId\",\"type\":\"uint24\"},{\"internalType\":\"address\",\"name\":\"_currency\",\"type\":\"address\"},{\"internalType\":\"uint128\",\"name\":\"_min\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"_max\",\"type\":\"uint128\"},{\"internalType\":\"uint32\",\"name\":\"_startTime\",\"type\":\"uint32\"},{\"internalType\":\"bool\",\"name\":\"_useAllowList\",\"type\":\"bool\"},{\"internalType\":\"uint128\",\"name\":\"_highest\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"_lowest\",\"type\":\"uint128\"},{\"internalType\":\"uint32\",\"name\":\"_duration\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"_interval\",\"type\":\"uint32\"}],\"name\":\"publishDecliningPrice\",\"outputs\":[{\"internalType\":\"uint24\",\"name\":\"saleId_\",\"type\":\"uint24\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_voucher\",\"type\":\"address\"},{\"internalType\":\"uint24\",\"name\":\"_tokenId\",\"type\":\"uint24\"},{\"internalType\":\"address\",\"name\":\"_currency\",\"type\":\"address\"},{\"internalType\":\"uint128\",\"name\":\"_min\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"_max\",\"type\":\"uint128\"},{\"internalType\":\"uint32\",\"name\":\"_startTime\",\"type\":\"uint32\"},{\"internalType\":\"bool\",\"name\":\"_useAllowList\",\"type\":\"bool\"},{\"internalType\":\"uint128\",\"name\":\"_price\",\"type\":\"uint128\"}],\"name\":\"publishFixedPrice\",\"outputs\":[{\"internalType\":\"uint24\",\"name\":\"saleId_\",\"type\":\"uint24\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint24\",\"name\":\"_saleId\",\"type\":\"uint24\"}],\"name\":\"remove\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint24\",\"name\":\"_saleId\",\"type\":\"uint24\"}],\"name\":\"sales\",\"outputs\":[{\"components\":[{\"internalType\":\"uint24\",\"name\":\"saleId\",\"type\":\"uint24\"},{\"internalType\":\"uint24\",\"name\":\"tokenId\",\"type\":\"uint24\"},{\"internalType\":\"uint32\",\"name\":\"startTime\",\"type\":\"uint32\"},{\"internalType\":\"address\",\"name\":\"seller\",\"type\":\"address\"},{\"internalType\":\"enum ITestSolvV2ConvertibleMarket.PriceType\",\"name\":\"priceType\",\"type\":\"uint8\"},{\"internalType\":\"uint128\",\"name\":\"total\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"units\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"min\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"max\",\"type\":\"uint128\"},{\"internalType\":\"address\",\"name\":\"voucher\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"useAllowList\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isValid\",\"type\":\"bool\"}],\"internalType\":\"struct ITestSolvV2ConvertibleMarket.Sale\",\"name\":\"sale_\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ITestSolvV2ConvertibleMarket Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"A test interface for Solv V2 Initial Convertible Offering Market\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/interfaces/ITestSolvV2ConvertibleMarket.sol\":\"ITestSolvV2ConvertibleMarket\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/test/interfaces/ITestSolvV2ConvertibleMarket.sol\":{\"keccak256\":\"0x12e217d82abffc12abb0972f07ead9249e352492410eab5ae9381f9a67431f45\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://278449a0b320ac94a40d32bbc38c01733d8ac1baad036366d9d3041103fe7258\",\"dweb:/ipfs/QmTgogsLpxKBy7R7ARcp7o68pPHxa7JJZfB88HZfZtxCC5\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "uint24", - "name": "_saleId", - "type": "uint24" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "stateMutability": "payable", - "type": "function", - "name": "buyByAmount", - "outputs": [ - { - "internalType": "uint128", - "name": "units_", - "type": "uint128" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint24", - "name": "_saleId", - "type": "uint24" - }, - { - "internalType": "uint128", - "name": "_units", - "type": "uint128" - } - ], - "stateMutability": "payable", - "type": "function", - "name": "buyByUnits", - "outputs": [ - { - "internalType": "uint256", - "name": "amount_", - "type": "uint256" - }, - { - "internalType": "uint128", - "name": "fee_", - "type": "uint128" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint24", - "name": "_offeringId", - "type": "uint24" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getDecliningPrice", - "outputs": [ - { - "internalType": "uint128", - "name": "highest_", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "lowest_", - "type": "uint128" - }, - { - "internalType": "uint32", - "name": "startTime_", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "duration_", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "interval_", - "type": "uint32" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint24", - "name": "_offeringId", - "type": "uint24" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getFixedPrice", - "outputs": [ - { - "internalType": "uint128", - "name": "price_", - "type": "uint128" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint24", - "name": "_saleId", - "type": "uint24" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "getPrice", - "outputs": [ - { - "internalType": "uint128", - "name": "price_", - "type": "uint128" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_voucher", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "markets", - "outputs": [ - { - "internalType": "struct ITestSolvV2ConvertibleMarket.Market", - "name": "market_", - "type": "tuple", - "components": [ - { - "internalType": "bool", - "name": "isValid", - "type": "bool" - }, - { - "internalType": "uint128", - "name": "precision", - "type": "uint128" - }, - { - "internalType": "enum ITestSolvV2ConvertibleMarket.FeeType", - "name": "feeType", - "type": "uint8" - }, - { - "internalType": "enum ITestSolvV2ConvertibleMarket.FeePayType", - "name": "feePayType", - "type": "uint8" - }, - { - "internalType": "uint128", - "name": "feeAmount", - "type": "uint128" - }, - { - "internalType": "uint16", - "name": "feeRate", - "type": "uint16" - } - ] - } - ] - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "nextSaleId", - "outputs": [ - { - "internalType": "uint24", - "name": "saleId_", - "type": "uint24" - } - ] - }, - { - "inputs": [ - { - "internalType": "enum ITestSolvV2ConvertibleMarket.PriceType", - "name": "_priceType", - "type": "uint8" - }, - { - "internalType": "uint24", - "name": "_saleId", - "type": "uint24" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "price", - "outputs": [ - { - "internalType": "uint128", - "name": "price_", - "type": "uint128" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_voucher", - "type": "address" - }, - { - "internalType": "uint24", - "name": "_tokenId", - "type": "uint24" - }, - { - "internalType": "address", - "name": "_currency", - "type": "address" - }, - { - "internalType": "uint128", - "name": "_min", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "_max", - "type": "uint128" - }, - { - "internalType": "uint32", - "name": "_startTime", - "type": "uint32" - }, - { - "internalType": "bool", - "name": "_useAllowList", - "type": "bool" - }, - { - "internalType": "uint128", - "name": "_highest", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "_lowest", - "type": "uint128" - }, - { - "internalType": "uint32", - "name": "_duration", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "_interval", - "type": "uint32" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "publishDecliningPrice", - "outputs": [ - { - "internalType": "uint24", - "name": "saleId_", - "type": "uint24" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_voucher", - "type": "address" - }, - { - "internalType": "uint24", - "name": "_tokenId", - "type": "uint24" - }, - { - "internalType": "address", - "name": "_currency", - "type": "address" - }, - { - "internalType": "uint128", - "name": "_min", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "_max", - "type": "uint128" - }, - { - "internalType": "uint32", - "name": "_startTime", - "type": "uint32" - }, - { - "internalType": "bool", - "name": "_useAllowList", - "type": "bool" - }, - { - "internalType": "uint128", - "name": "_price", - "type": "uint128" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "publishFixedPrice", - "outputs": [ - { - "internalType": "uint24", - "name": "saleId_", - "type": "uint24" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint24", - "name": "_saleId", - "type": "uint24" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "remove" - }, - { - "inputs": [ - { - "internalType": "uint24", - "name": "_saleId", - "type": "uint24" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "sales", - "outputs": [ - { - "internalType": "struct ITestSolvV2ConvertibleMarket.Sale", - "name": "sale_", - "type": "tuple", - "components": [ - { - "internalType": "uint24", - "name": "saleId", - "type": "uint24" - }, - { - "internalType": "uint24", - "name": "tokenId", - "type": "uint24" - }, - { - "internalType": "uint32", - "name": "startTime", - "type": "uint32" - }, - { - "internalType": "address", - "name": "seller", - "type": "address" - }, - { - "internalType": "enum ITestSolvV2ConvertibleMarket.PriceType", - "name": "priceType", - "type": "uint8" - }, - { - "internalType": "uint128", - "name": "total", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "units", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "min", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "max", - "type": "uint128" - }, - { - "internalType": "address", - "name": "voucher", - "type": "address" - }, - { - "internalType": "address", - "name": "currency", - "type": "address" - }, - { - "internalType": "bool", - "name": "useAllowList", - "type": "bool" - }, - { - "internalType": "bool", - "name": "isValid", - "type": "bool" - } - ] - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/test/interfaces/ITestSolvV2ConvertibleMarket.sol": "ITestSolvV2ConvertibleMarket" - }, - "libraries": {} - }, - "sources": { - "contracts/test/interfaces/ITestSolvV2ConvertibleMarket.sol": { - "keccak256": "0x12e217d82abffc12abb0972f07ead9249e352492410eab5ae9381f9a67431f45", - "urls": [ - "bzz-raw://278449a0b320ac94a40d32bbc38c01733d8ac1baad036366d9d3041103fe7258", - "dweb:/ipfs/QmTgogsLpxKBy7R7ARcp7o68pPHxa7JJZfB88HZfZtxCC5" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 420 -} +{ "abi": [ { "type": "function", "name": "buyByAmount", "inputs": [ { "name": "_saleId", "type": "uint24", "internalType": "uint24" }, { "name": "_amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "units_", "type": "uint128", "internalType": "uint128" } ], "stateMutability": "payable" }, { "type": "function", "name": "buyByUnits", "inputs": [ { "name": "_saleId", "type": "uint24", "internalType": "uint24" }, { "name": "_units", "type": "uint128", "internalType": "uint128" } ], "outputs": [ { "name": "amount_", "type": "uint256", "internalType": "uint256" }, { "name": "fee_", "type": "uint128", "internalType": "uint128" } ], "stateMutability": "payable" }, { "type": "function", "name": "getDecliningPrice", "inputs": [ { "name": "_offeringId", "type": "uint24", "internalType": "uint24" } ], "outputs": [ { "name": "highest_", "type": "uint128", "internalType": "uint128" }, { "name": "lowest_", "type": "uint128", "internalType": "uint128" }, { "name": "startTime_", "type": "uint32", "internalType": "uint32" }, { "name": "duration_", "type": "uint32", "internalType": "uint32" }, { "name": "interval_", "type": "uint32", "internalType": "uint32" } ], "stateMutability": "view" }, { "type": "function", "name": "getFixedPrice", "inputs": [ { "name": "_offeringId", "type": "uint24", "internalType": "uint24" } ], "outputs": [ { "name": "price_", "type": "uint128", "internalType": "uint128" } ], "stateMutability": "view" }, { "type": "function", "name": "getPrice", "inputs": [ { "name": "_saleId", "type": "uint24", "internalType": "uint24" } ], "outputs": [ { "name": "price_", "type": "uint128", "internalType": "uint128" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "markets", "inputs": [ { "name": "_voucher", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "market_", "type": "tuple", "internalType": "struct ITestSolvV2ConvertibleMarket.Market", "components": [ { "name": "isValid", "type": "bool", "internalType": "bool" }, { "name": "precision", "type": "uint128", "internalType": "uint128" }, { "name": "feeType", "type": "uint8", "internalType": "enum ITestSolvV2ConvertibleMarket.FeeType" }, { "name": "feePayType", "type": "uint8", "internalType": "enum ITestSolvV2ConvertibleMarket.FeePayType" }, { "name": "feeAmount", "type": "uint128", "internalType": "uint128" }, { "name": "feeRate", "type": "uint16", "internalType": "uint16" } ] } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "nextSaleId", "inputs": [], "outputs": [ { "name": "saleId_", "type": "uint24", "internalType": "uint24" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "price", "inputs": [ { "name": "_priceType", "type": "uint8", "internalType": "enum ITestSolvV2ConvertibleMarket.PriceType" }, { "name": "_saleId", "type": "uint24", "internalType": "uint24" } ], "outputs": [ { "name": "price_", "type": "uint128", "internalType": "uint128" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "publishDecliningPrice", "inputs": [ { "name": "_voucher", "type": "address", "internalType": "address" }, { "name": "_tokenId", "type": "uint24", "internalType": "uint24" }, { "name": "_currency", "type": "address", "internalType": "address" }, { "name": "_min", "type": "uint128", "internalType": "uint128" }, { "name": "_max", "type": "uint128", "internalType": "uint128" }, { "name": "_startTime", "type": "uint32", "internalType": "uint32" }, { "name": "_useAllowList", "type": "bool", "internalType": "bool" }, { "name": "_highest", "type": "uint128", "internalType": "uint128" }, { "name": "_lowest", "type": "uint128", "internalType": "uint128" }, { "name": "_duration", "type": "uint32", "internalType": "uint32" }, { "name": "_interval", "type": "uint32", "internalType": "uint32" } ], "outputs": [ { "name": "saleId_", "type": "uint24", "internalType": "uint24" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "publishFixedPrice", "inputs": [ { "name": "_voucher", "type": "address", "internalType": "address" }, { "name": "_tokenId", "type": "uint24", "internalType": "uint24" }, { "name": "_currency", "type": "address", "internalType": "address" }, { "name": "_min", "type": "uint128", "internalType": "uint128" }, { "name": "_max", "type": "uint128", "internalType": "uint128" }, { "name": "_startTime", "type": "uint32", "internalType": "uint32" }, { "name": "_useAllowList", "type": "bool", "internalType": "bool" }, { "name": "_price", "type": "uint128", "internalType": "uint128" } ], "outputs": [ { "name": "saleId_", "type": "uint24", "internalType": "uint24" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "remove", "inputs": [ { "name": "_saleId", "type": "uint24", "internalType": "uint24" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "sales", "inputs": [ { "name": "_saleId", "type": "uint24", "internalType": "uint24" } ], "outputs": [ { "name": "sale_", "type": "tuple", "internalType": "struct ITestSolvV2ConvertibleMarket.Sale", "components": [ { "name": "saleId", "type": "uint24", "internalType": "uint24" }, { "name": "tokenId", "type": "uint24", "internalType": "uint24" }, { "name": "startTime", "type": "uint32", "internalType": "uint32" }, { "name": "seller", "type": "address", "internalType": "address" }, { "name": "priceType", "type": "uint8", "internalType": "enum ITestSolvV2ConvertibleMarket.PriceType" }, { "name": "total", "type": "uint128", "internalType": "uint128" }, { "name": "units", "type": "uint128", "internalType": "uint128" }, { "name": "min", "type": "uint128", "internalType": "uint128" }, { "name": "max", "type": "uint128", "internalType": "uint128" }, { "name": "voucher", "type": "address", "internalType": "address" }, { "name": "currency", "type": "address", "internalType": "address" }, { "name": "useAllowList", "type": "bool", "internalType": "bool" }, { "name": "isValid", "type": "bool", "internalType": "bool" } ] } ], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "buyByAmount(uint24,uint256)": "679a0be7", "buyByUnits(uint24,uint128)": "9bb3db71", "getDecliningPrice(uint24)": "e0cc5f5a", "getFixedPrice(uint24)": "9ca24f34", "getPrice(uint24)": "423dd0dd", "markets(address)": "8e8f294b", "nextSaleId()": "deb077b9", "price(uint8,uint24)": "c72817ad", "publishDecliningPrice(address,uint24,address,uint128,uint128,uint32,bool,uint128,uint128,uint32,uint32)": "e728fd6a", "publishFixedPrice(address,uint24,address,uint128,uint128,uint32,bool,uint128)": "2db4808e", "remove(uint24)": "c569a8f2", "sales(uint24)": "782f5cb3" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint24\",\"name\":\"_saleId\",\"type\":\"uint24\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"buyByAmount\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"units_\",\"type\":\"uint128\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint24\",\"name\":\"_saleId\",\"type\":\"uint24\"},{\"internalType\":\"uint128\",\"name\":\"_units\",\"type\":\"uint128\"}],\"name\":\"buyByUnits\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount_\",\"type\":\"uint256\"},{\"internalType\":\"uint128\",\"name\":\"fee_\",\"type\":\"uint128\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint24\",\"name\":\"_offeringId\",\"type\":\"uint24\"}],\"name\":\"getDecliningPrice\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"highest_\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"lowest_\",\"type\":\"uint128\"},{\"internalType\":\"uint32\",\"name\":\"startTime_\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"duration_\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"interval_\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint24\",\"name\":\"_offeringId\",\"type\":\"uint24\"}],\"name\":\"getFixedPrice\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"price_\",\"type\":\"uint128\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint24\",\"name\":\"_saleId\",\"type\":\"uint24\"}],\"name\":\"getPrice\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"price_\",\"type\":\"uint128\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_voucher\",\"type\":\"address\"}],\"name\":\"markets\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"isValid\",\"type\":\"bool\"},{\"internalType\":\"uint128\",\"name\":\"precision\",\"type\":\"uint128\"},{\"internalType\":\"enum ITestSolvV2ConvertibleMarket.FeeType\",\"name\":\"feeType\",\"type\":\"uint8\"},{\"internalType\":\"enum ITestSolvV2ConvertibleMarket.FeePayType\",\"name\":\"feePayType\",\"type\":\"uint8\"},{\"internalType\":\"uint128\",\"name\":\"feeAmount\",\"type\":\"uint128\"},{\"internalType\":\"uint16\",\"name\":\"feeRate\",\"type\":\"uint16\"}],\"internalType\":\"struct ITestSolvV2ConvertibleMarket.Market\",\"name\":\"market_\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextSaleId\",\"outputs\":[{\"internalType\":\"uint24\",\"name\":\"saleId_\",\"type\":\"uint24\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum ITestSolvV2ConvertibleMarket.PriceType\",\"name\":\"_priceType\",\"type\":\"uint8\"},{\"internalType\":\"uint24\",\"name\":\"_saleId\",\"type\":\"uint24\"}],\"name\":\"price\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"price_\",\"type\":\"uint128\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_voucher\",\"type\":\"address\"},{\"internalType\":\"uint24\",\"name\":\"_tokenId\",\"type\":\"uint24\"},{\"internalType\":\"address\",\"name\":\"_currency\",\"type\":\"address\"},{\"internalType\":\"uint128\",\"name\":\"_min\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"_max\",\"type\":\"uint128\"},{\"internalType\":\"uint32\",\"name\":\"_startTime\",\"type\":\"uint32\"},{\"internalType\":\"bool\",\"name\":\"_useAllowList\",\"type\":\"bool\"},{\"internalType\":\"uint128\",\"name\":\"_highest\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"_lowest\",\"type\":\"uint128\"},{\"internalType\":\"uint32\",\"name\":\"_duration\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"_interval\",\"type\":\"uint32\"}],\"name\":\"publishDecliningPrice\",\"outputs\":[{\"internalType\":\"uint24\",\"name\":\"saleId_\",\"type\":\"uint24\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_voucher\",\"type\":\"address\"},{\"internalType\":\"uint24\",\"name\":\"_tokenId\",\"type\":\"uint24\"},{\"internalType\":\"address\",\"name\":\"_currency\",\"type\":\"address\"},{\"internalType\":\"uint128\",\"name\":\"_min\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"_max\",\"type\":\"uint128\"},{\"internalType\":\"uint32\",\"name\":\"_startTime\",\"type\":\"uint32\"},{\"internalType\":\"bool\",\"name\":\"_useAllowList\",\"type\":\"bool\"},{\"internalType\":\"uint128\",\"name\":\"_price\",\"type\":\"uint128\"}],\"name\":\"publishFixedPrice\",\"outputs\":[{\"internalType\":\"uint24\",\"name\":\"saleId_\",\"type\":\"uint24\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint24\",\"name\":\"_saleId\",\"type\":\"uint24\"}],\"name\":\"remove\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint24\",\"name\":\"_saleId\",\"type\":\"uint24\"}],\"name\":\"sales\",\"outputs\":[{\"components\":[{\"internalType\":\"uint24\",\"name\":\"saleId\",\"type\":\"uint24\"},{\"internalType\":\"uint24\",\"name\":\"tokenId\",\"type\":\"uint24\"},{\"internalType\":\"uint32\",\"name\":\"startTime\",\"type\":\"uint32\"},{\"internalType\":\"address\",\"name\":\"seller\",\"type\":\"address\"},{\"internalType\":\"enum ITestSolvV2ConvertibleMarket.PriceType\",\"name\":\"priceType\",\"type\":\"uint8\"},{\"internalType\":\"uint128\",\"name\":\"total\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"units\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"min\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"max\",\"type\":\"uint128\"},{\"internalType\":\"address\",\"name\":\"voucher\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"useAllowList\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isValid\",\"type\":\"bool\"}],\"internalType\":\"struct ITestSolvV2ConvertibleMarket.Sale\",\"name\":\"sale_\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ITestSolvV2ConvertibleMarket Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"A test interface for Solv V2 Initial Convertible Offering Market\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/interfaces/ITestSolvV2ConvertibleMarket.sol\":\"ITestSolvV2ConvertibleMarket\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/test/interfaces/ITestSolvV2ConvertibleMarket.sol\":{\"keccak256\":\"0x12e217d82abffc12abb0972f07ead9249e352492410eab5ae9381f9a67431f45\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://278449a0b320ac94a40d32bbc38c01733d8ac1baad036366d9d3041103fe7258\",\"dweb:/ipfs/QmTgogsLpxKBy7R7ARcp7o68pPHxa7JJZfB88HZfZtxCC5\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "uint24", "name": "_saleId", "type": "uint24" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "stateMutability": "payable", "type": "function", "name": "buyByAmount", "outputs": [ { "internalType": "uint128", "name": "units_", "type": "uint128" } ] }, { "inputs": [ { "internalType": "uint24", "name": "_saleId", "type": "uint24" }, { "internalType": "uint128", "name": "_units", "type": "uint128" } ], "stateMutability": "payable", "type": "function", "name": "buyByUnits", "outputs": [ { "internalType": "uint256", "name": "amount_", "type": "uint256" }, { "internalType": "uint128", "name": "fee_", "type": "uint128" } ] }, { "inputs": [ { "internalType": "uint24", "name": "_offeringId", "type": "uint24" } ], "stateMutability": "view", "type": "function", "name": "getDecliningPrice", "outputs": [ { "internalType": "uint128", "name": "highest_", "type": "uint128" }, { "internalType": "uint128", "name": "lowest_", "type": "uint128" }, { "internalType": "uint32", "name": "startTime_", "type": "uint32" }, { "internalType": "uint32", "name": "duration_", "type": "uint32" }, { "internalType": "uint32", "name": "interval_", "type": "uint32" } ] }, { "inputs": [ { "internalType": "uint24", "name": "_offeringId", "type": "uint24" } ], "stateMutability": "view", "type": "function", "name": "getFixedPrice", "outputs": [ { "internalType": "uint128", "name": "price_", "type": "uint128" } ] }, { "inputs": [ { "internalType": "uint24", "name": "_saleId", "type": "uint24" } ], "stateMutability": "nonpayable", "type": "function", "name": "getPrice", "outputs": [ { "internalType": "uint128", "name": "price_", "type": "uint128" } ] }, { "inputs": [ { "internalType": "address", "name": "_voucher", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "markets", "outputs": [ { "internalType": "struct ITestSolvV2ConvertibleMarket.Market", "name": "market_", "type": "tuple", "components": [ { "internalType": "bool", "name": "isValid", "type": "bool" }, { "internalType": "uint128", "name": "precision", "type": "uint128" }, { "internalType": "enum ITestSolvV2ConvertibleMarket.FeeType", "name": "feeType", "type": "uint8" }, { "internalType": "enum ITestSolvV2ConvertibleMarket.FeePayType", "name": "feePayType", "type": "uint8" }, { "internalType": "uint128", "name": "feeAmount", "type": "uint128" }, { "internalType": "uint16", "name": "feeRate", "type": "uint16" } ] } ] }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "nextSaleId", "outputs": [ { "internalType": "uint24", "name": "saleId_", "type": "uint24" } ] }, { "inputs": [ { "internalType": "enum ITestSolvV2ConvertibleMarket.PriceType", "name": "_priceType", "type": "uint8" }, { "internalType": "uint24", "name": "_saleId", "type": "uint24" } ], "stateMutability": "nonpayable", "type": "function", "name": "price", "outputs": [ { "internalType": "uint128", "name": "price_", "type": "uint128" } ] }, { "inputs": [ { "internalType": "address", "name": "_voucher", "type": "address" }, { "internalType": "uint24", "name": "_tokenId", "type": "uint24" }, { "internalType": "address", "name": "_currency", "type": "address" }, { "internalType": "uint128", "name": "_min", "type": "uint128" }, { "internalType": "uint128", "name": "_max", "type": "uint128" }, { "internalType": "uint32", "name": "_startTime", "type": "uint32" }, { "internalType": "bool", "name": "_useAllowList", "type": "bool" }, { "internalType": "uint128", "name": "_highest", "type": "uint128" }, { "internalType": "uint128", "name": "_lowest", "type": "uint128" }, { "internalType": "uint32", "name": "_duration", "type": "uint32" }, { "internalType": "uint32", "name": "_interval", "type": "uint32" } ], "stateMutability": "nonpayable", "type": "function", "name": "publishDecliningPrice", "outputs": [ { "internalType": "uint24", "name": "saleId_", "type": "uint24" } ] }, { "inputs": [ { "internalType": "address", "name": "_voucher", "type": "address" }, { "internalType": "uint24", "name": "_tokenId", "type": "uint24" }, { "internalType": "address", "name": "_currency", "type": "address" }, { "internalType": "uint128", "name": "_min", "type": "uint128" }, { "internalType": "uint128", "name": "_max", "type": "uint128" }, { "internalType": "uint32", "name": "_startTime", "type": "uint32" }, { "internalType": "bool", "name": "_useAllowList", "type": "bool" }, { "internalType": "uint128", "name": "_price", "type": "uint128" } ], "stateMutability": "nonpayable", "type": "function", "name": "publishFixedPrice", "outputs": [ { "internalType": "uint24", "name": "saleId_", "type": "uint24" } ] }, { "inputs": [ { "internalType": "uint24", "name": "_saleId", "type": "uint24" } ], "stateMutability": "nonpayable", "type": "function", "name": "remove" }, { "inputs": [ { "internalType": "uint24", "name": "_saleId", "type": "uint24" } ], "stateMutability": "nonpayable", "type": "function", "name": "sales", "outputs": [ { "internalType": "struct ITestSolvV2ConvertibleMarket.Sale", "name": "sale_", "type": "tuple", "components": [ { "internalType": "uint24", "name": "saleId", "type": "uint24" }, { "internalType": "uint24", "name": "tokenId", "type": "uint24" }, { "internalType": "uint32", "name": "startTime", "type": "uint32" }, { "internalType": "address", "name": "seller", "type": "address" }, { "internalType": "enum ITestSolvV2ConvertibleMarket.PriceType", "name": "priceType", "type": "uint8" }, { "internalType": "uint128", "name": "total", "type": "uint128" }, { "internalType": "uint128", "name": "units", "type": "uint128" }, { "internalType": "uint128", "name": "min", "type": "uint128" }, { "internalType": "uint128", "name": "max", "type": "uint128" }, { "internalType": "address", "name": "voucher", "type": "address" }, { "internalType": "address", "name": "currency", "type": "address" }, { "internalType": "bool", "name": "useAllowList", "type": "bool" }, { "internalType": "bool", "name": "isValid", "type": "bool" } ] } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/test/interfaces/ITestSolvV2ConvertibleMarket.sol": "ITestSolvV2ConvertibleMarket" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/test/interfaces/ITestSolvV2ConvertibleMarket.sol": { "keccak256": "0x12e217d82abffc12abb0972f07ead9249e352492410eab5ae9381f9a67431f45", "urls": [ "bzz-raw://278449a0b320ac94a40d32bbc38c01733d8ac1baad036366d9d3041103fe7258", "dweb:/ipfs/QmTgogsLpxKBy7R7ARcp7o68pPHxa7JJZfB88HZfZtxCC5" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 420 } diff --git a/eth_defi/abi/enzyme/ITestSolvV2ConvertiblePool.json b/eth_defi/abi/enzyme/ITestSolvV2ConvertiblePool.json index 1a17bf66..d932e5df 100644 --- a/eth_defi/abi/enzyme/ITestSolvV2ConvertiblePool.json +++ b/eth_defi/abi/enzyme/ITestSolvV2ConvertiblePool.json @@ -1,133 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "uint256", - "name": "_slot", - "type": "uint256" - } - ], - "name": "refund", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_slot", - "type": "uint256" - } - ], - "name": "settleConvertiblePrice", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "refund(uint256)": "278ecde1", - "settleConvertiblePrice(uint256)": "0b1113fb" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_slot\",\"type\":\"uint256\"}],\"name\":\"refund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_slot\",\"type\":\"uint256\"}],\"name\":\"settleConvertiblePrice\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ITestSolvV2ConvertiblePool Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"A test interface for Solv V2 Convertible Pool\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/interfaces/ITestSolvV2ConvertiblePool.sol\":\"ITestSolvV2ConvertiblePool\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/test/interfaces/ITestSolvV2ConvertiblePool.sol\":{\"keccak256\":\"0xf4909bdd41f72752703cbd4ab1485e2bf2645f0c3f11a0403eb30cbdcbeef875\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://134405d7831b9bbd83e44950f235b77c461aed5e60955f654f7248329e2c0ed7\",\"dweb:/ipfs/Qmeiip8AkiFGExnw28KfUKWEYk7VvN1fsg8BsyGs4385jJ\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "uint256", - "name": "_slot", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "refund" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_slot", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "settleConvertiblePrice" - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/test/interfaces/ITestSolvV2ConvertiblePool.sol": "ITestSolvV2ConvertiblePool" - }, - "libraries": {} - }, - "sources": { - "contracts/test/interfaces/ITestSolvV2ConvertiblePool.sol": { - "keccak256": "0xf4909bdd41f72752703cbd4ab1485e2bf2645f0c3f11a0403eb30cbdcbeef875", - "urls": [ - "bzz-raw://134405d7831b9bbd83e44950f235b77c461aed5e60955f654f7248329e2c0ed7", - "dweb:/ipfs/Qmeiip8AkiFGExnw28KfUKWEYk7VvN1fsg8BsyGs4385jJ" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 421 -} +{ "abi": [ { "type": "function", "name": "refund", "inputs": [ { "name": "_slot", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "settleConvertiblePrice", "inputs": [ { "name": "_slot", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "refund(uint256)": "278ecde1", "settleConvertiblePrice(uint256)": "0b1113fb" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_slot\",\"type\":\"uint256\"}],\"name\":\"refund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_slot\",\"type\":\"uint256\"}],\"name\":\"settleConvertiblePrice\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ITestSolvV2ConvertiblePool Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"A test interface for Solv V2 Convertible Pool\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/interfaces/ITestSolvV2ConvertiblePool.sol\":\"ITestSolvV2ConvertiblePool\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/test/interfaces/ITestSolvV2ConvertiblePool.sol\":{\"keccak256\":\"0xf4909bdd41f72752703cbd4ab1485e2bf2645f0c3f11a0403eb30cbdcbeef875\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://134405d7831b9bbd83e44950f235b77c461aed5e60955f654f7248329e2c0ed7\",\"dweb:/ipfs/Qmeiip8AkiFGExnw28KfUKWEYk7VvN1fsg8BsyGs4385jJ\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "uint256", "name": "_slot", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "refund" }, { "inputs": [ { "internalType": "uint256", "name": "_slot", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "settleConvertiblePrice" } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/test/interfaces/ITestSolvV2ConvertiblePool.sol": "ITestSolvV2ConvertiblePool" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/test/interfaces/ITestSolvV2ConvertiblePool.sol": { "keccak256": "0xf4909bdd41f72752703cbd4ab1485e2bf2645f0c3f11a0403eb30cbdcbeef875", "urls": [ "bzz-raw://134405d7831b9bbd83e44950f235b77c461aed5e60955f654f7248329e2c0ed7", "dweb:/ipfs/Qmeiip8AkiFGExnw28KfUKWEYk7VvN1fsg8BsyGs4385jJ" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 421 } diff --git a/eth_defi/abi/enzyme/ITestSolvV2ConvertiblePriceOracleManager.json b/eth_defi/abi/enzyme/ITestSolvV2ConvertiblePriceOracleManager.json index 47905593..fbb1af44 100644 --- a/eth_defi/abi/enzyme/ITestSolvV2ConvertiblePriceOracleManager.json +++ b/eth_defi/abi/enzyme/ITestSolvV2ConvertiblePriceOracleManager.json @@ -1,205 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_voucher", - "type": "address" - }, - { - "internalType": "address", - "name": "_oracle", - "type": "address" - } - ], - "name": "_setVoucherOracle", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_voucher", - "type": "address" - } - ], - "name": "getOracle", - "outputs": [ - { - "internalType": "address", - "name": "oracle_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_voucher", - "type": "address" - }, - { - "internalType": "uint64", - "name": "_maturity", - "type": "uint64" - } - ], - "name": "getPriceOfMaturity", - "outputs": [ - { - "internalType": "int256", - "name": "price_", - "type": "int256" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "_setVoucherOracle(address,address)": "a714fed0", - "getOracle(address)": "10d3d22e", - "getPriceOfMaturity(address,uint64)": "186357df" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_voucher\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_oracle\",\"type\":\"address\"}],\"name\":\"_setVoucherOracle\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_voucher\",\"type\":\"address\"}],\"name\":\"getOracle\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"oracle_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_voucher\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"_maturity\",\"type\":\"uint64\"}],\"name\":\"getPriceOfMaturity\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"price_\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ITestSolvV2ConvertiblePriceOracleManager Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"A test interface for Solv V2 Price Oracle Manager\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/interfaces/ITestSolvV2ConvertiblePriceOracleManager.sol\":\"ITestSolvV2ConvertiblePriceOracleManager\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/test/interfaces/ITestSolvV2ConvertiblePriceOracleManager.sol\":{\"keccak256\":\"0x01c7666f3aecb5bae19c3a0d33da1306e9b5d5eb80e8b93a4efe6913d2e385aa\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ee8c0e6b882965a5e49b8c3a81550f5ca8595e9cf156963281dfa81d666b60c9\",\"dweb:/ipfs/QmNzq1YNU3Leo2sM2obLDy6H7g8CTJjvX1uzmBZj7N1a77\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_voucher", - "type": "address" - }, - { - "internalType": "address", - "name": "_oracle", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "_setVoucherOracle" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_voucher", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getOracle", - "outputs": [ - { - "internalType": "address", - "name": "oracle_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_voucher", - "type": "address" - }, - { - "internalType": "uint64", - "name": "_maturity", - "type": "uint64" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getPriceOfMaturity", - "outputs": [ - { - "internalType": "int256", - "name": "price_", - "type": "int256" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/test/interfaces/ITestSolvV2ConvertiblePriceOracleManager.sol": "ITestSolvV2ConvertiblePriceOracleManager" - }, - "libraries": {} - }, - "sources": { - "contracts/test/interfaces/ITestSolvV2ConvertiblePriceOracleManager.sol": { - "keccak256": "0x01c7666f3aecb5bae19c3a0d33da1306e9b5d5eb80e8b93a4efe6913d2e385aa", - "urls": [ - "bzz-raw://ee8c0e6b882965a5e49b8c3a81550f5ca8595e9cf156963281dfa81d666b60c9", - "dweb:/ipfs/QmNzq1YNU3Leo2sM2obLDy6H7g8CTJjvX1uzmBZj7N1a77" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 422 -} +{ "abi": [ { "type": "function", "name": "_setVoucherOracle", "inputs": [ { "name": "_voucher", "type": "address", "internalType": "address" }, { "name": "_oracle", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "getOracle", "inputs": [ { "name": "_voucher", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "oracle_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getPriceOfMaturity", "inputs": [ { "name": "_voucher", "type": "address", "internalType": "address" }, { "name": "_maturity", "type": "uint64", "internalType": "uint64" } ], "outputs": [ { "name": "price_", "type": "int256", "internalType": "int256" } ], "stateMutability": "view" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "_setVoucherOracle(address,address)": "a714fed0", "getOracle(address)": "10d3d22e", "getPriceOfMaturity(address,uint64)": "186357df" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_voucher\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_oracle\",\"type\":\"address\"}],\"name\":\"_setVoucherOracle\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_voucher\",\"type\":\"address\"}],\"name\":\"getOracle\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"oracle_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_voucher\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"_maturity\",\"type\":\"uint64\"}],\"name\":\"getPriceOfMaturity\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"price_\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ITestSolvV2ConvertiblePriceOracleManager Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"A test interface for Solv V2 Price Oracle Manager\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/interfaces/ITestSolvV2ConvertiblePriceOracleManager.sol\":\"ITestSolvV2ConvertiblePriceOracleManager\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/test/interfaces/ITestSolvV2ConvertiblePriceOracleManager.sol\":{\"keccak256\":\"0x01c7666f3aecb5bae19c3a0d33da1306e9b5d5eb80e8b93a4efe6913d2e385aa\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ee8c0e6b882965a5e49b8c3a81550f5ca8595e9cf156963281dfa81d666b60c9\",\"dweb:/ipfs/QmNzq1YNU3Leo2sM2obLDy6H7g8CTJjvX1uzmBZj7N1a77\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_voucher", "type": "address" }, { "internalType": "address", "name": "_oracle", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "_setVoucherOracle" }, { "inputs": [ { "internalType": "address", "name": "_voucher", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getOracle", "outputs": [ { "internalType": "address", "name": "oracle_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_voucher", "type": "address" }, { "internalType": "uint64", "name": "_maturity", "type": "uint64" } ], "stateMutability": "view", "type": "function", "name": "getPriceOfMaturity", "outputs": [ { "internalType": "int256", "name": "price_", "type": "int256" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/test/interfaces/ITestSolvV2ConvertiblePriceOracleManager.sol": "ITestSolvV2ConvertiblePriceOracleManager" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/test/interfaces/ITestSolvV2ConvertiblePriceOracleManager.sol": { "keccak256": "0x01c7666f3aecb5bae19c3a0d33da1306e9b5d5eb80e8b93a4efe6913d2e385aa", "urls": [ "bzz-raw://ee8c0e6b882965a5e49b8c3a81550f5ca8595e9cf156963281dfa81d666b60c9", "dweb:/ipfs/QmNzq1YNU3Leo2sM2obLDy6H7g8CTJjvX1uzmBZj7N1a77" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 422 } diff --git a/eth_defi/abi/enzyme/ITestSolvV2ConvertibleVoucher.json b/eth_defi/abi/enzyme/ITestSolvV2ConvertibleVoucher.json index 9313ec2d..c8e6d282 100644 --- a/eth_defi/abi/enzyme/ITestSolvV2ConvertibleVoucher.json +++ b/eth_defi/abi/enzyme/ITestSolvV2ConvertibleVoucher.json @@ -1,436 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_tokenId", - "type": "uint256" - } - ], - "name": "approve", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_issuer", - "type": "address" - }, - { - "internalType": "address", - "name": "_fundCurrency", - "type": "address" - }, - { - "internalType": "uint128", - "name": "_lowestPrice", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "_highestPrice", - "type": "uint128" - }, - { - "internalType": "uint64", - "name": "_effectiveTime", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "_maturity", - "type": "uint64" - }, - { - "internalType": "uint8", - "name": "_collateralType", - "type": "uint8" - } - ], - "name": "getSlot", - "outputs": [ - { - "internalType": "uint256", - "name": "slot_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_slot", - "type": "uint256" - } - ], - "name": "getSlotDetail", - "outputs": [ - { - "components": [ - { - "internalType": "address", - "name": "issuer", - "type": "address" - }, - { - "internalType": "address", - "name": "fundCurrency", - "type": "address" - }, - { - "internalType": "uint256", - "name": "totalValue", - "type": "uint256" - }, - { - "internalType": "uint128", - "name": "lowestPrice", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "highestPrice", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "settlePrice", - "type": "uint128" - }, - { - "internalType": "uint64", - "name": "effectiveTime", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "maturity", - "type": "uint64" - }, - { - "internalType": "enum ITestSolvV2ConvertiblePool.CollateralType", - "name": "collateralType", - "type": "uint8" - }, - { - "internalType": "bool", - "name": "isIssuerRefunded", - "type": "bool" - }, - { - "internalType": "bool", - "name": "isIssuerWithdrawn", - "type": "bool" - }, - { - "internalType": "bool", - "name": "isClaimed", - "type": "bool" - }, - { - "internalType": "bool", - "name": "isValid", - "type": "bool" - } - ], - "internalType": "struct ITestSolvV2ConvertiblePool.SlotDetail", - "name": "slotDetail_", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_tokenId", - "type": "uint256" - } - ], - "name": "ownerOf", - "outputs": [ - { - "internalType": "address", - "name": "owner_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "approve(address,uint256)": "095ea7b3", - "getSlot(address,address,uint128,uint128,uint64,uint64,uint8)": "7d47a66a", - "getSlotDetail(uint256)": "d3ceafb9", - "ownerOf(uint256)": "6352211e" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_issuer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_fundCurrency\",\"type\":\"address\"},{\"internalType\":\"uint128\",\"name\":\"_lowestPrice\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"_highestPrice\",\"type\":\"uint128\"},{\"internalType\":\"uint64\",\"name\":\"_effectiveTime\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"_maturity\",\"type\":\"uint64\"},{\"internalType\":\"uint8\",\"name\":\"_collateralType\",\"type\":\"uint8\"}],\"name\":\"getSlot\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"slot_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_slot\",\"type\":\"uint256\"}],\"name\":\"getSlotDetail\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"issuer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"fundCurrency\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"totalValue\",\"type\":\"uint256\"},{\"internalType\":\"uint128\",\"name\":\"lowestPrice\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"highestPrice\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"settlePrice\",\"type\":\"uint128\"},{\"internalType\":\"uint64\",\"name\":\"effectiveTime\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"maturity\",\"type\":\"uint64\"},{\"internalType\":\"enum ITestSolvV2ConvertiblePool.CollateralType\",\"name\":\"collateralType\",\"type\":\"uint8\"},{\"internalType\":\"bool\",\"name\":\"isIssuerRefunded\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isIssuerWithdrawn\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isClaimed\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isValid\",\"type\":\"bool\"}],\"internalType\":\"struct ITestSolvV2ConvertiblePool.SlotDetail\",\"name\":\"slotDetail_\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"Source: https://github.com/solv-finance/solv-v2-ivo/blob/main/vouchers/convertible-voucher/contracts/ConvertibleVoucher.sol\",\"kind\":\"dev\",\"methods\":{},\"title\":\"ITestSolvV2ConvertibleVoucher Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"A test interface for Solv V2 Convertible Pool\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/interfaces/ITestSolvV2ConvertibleVoucher.sol\":\"ITestSolvV2ConvertibleVoucher\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/test/interfaces/ITestSolvV2ConvertiblePool.sol\":{\"keccak256\":\"0xf4909bdd41f72752703cbd4ab1485e2bf2645f0c3f11a0403eb30cbdcbeef875\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://134405d7831b9bbd83e44950f235b77c461aed5e60955f654f7248329e2c0ed7\",\"dweb:/ipfs/Qmeiip8AkiFGExnw28KfUKWEYk7VvN1fsg8BsyGs4385jJ\"]},\"contracts/test/interfaces/ITestSolvV2ConvertibleVoucher.sol\":{\"keccak256\":\"0xeae5ff532356f65bc2dfa53af7f4f2db69546da8da404cd9122c963f0b94142a\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f9d487f3b0a46baff7739973305331d024938a92fb19e8749646ccbc3ed45e45\",\"dweb:/ipfs/Qmb1Xum2CRLXU1AbQDK38DYQnD4SV75QfHStz5yotB6d4S\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_tokenId", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "approve" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_issuer", - "type": "address" - }, - { - "internalType": "address", - "name": "_fundCurrency", - "type": "address" - }, - { - "internalType": "uint128", - "name": "_lowestPrice", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "_highestPrice", - "type": "uint128" - }, - { - "internalType": "uint64", - "name": "_effectiveTime", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "_maturity", - "type": "uint64" - }, - { - "internalType": "uint8", - "name": "_collateralType", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getSlot", - "outputs": [ - { - "internalType": "uint256", - "name": "slot_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_slot", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getSlotDetail", - "outputs": [ - { - "internalType": "struct ITestSolvV2ConvertiblePool.SlotDetail", - "name": "slotDetail_", - "type": "tuple", - "components": [ - { - "internalType": "address", - "name": "issuer", - "type": "address" - }, - { - "internalType": "address", - "name": "fundCurrency", - "type": "address" - }, - { - "internalType": "uint256", - "name": "totalValue", - "type": "uint256" - }, - { - "internalType": "uint128", - "name": "lowestPrice", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "highestPrice", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "settlePrice", - "type": "uint128" - }, - { - "internalType": "uint64", - "name": "effectiveTime", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "maturity", - "type": "uint64" - }, - { - "internalType": "enum ITestSolvV2ConvertiblePool.CollateralType", - "name": "collateralType", - "type": "uint8" - }, - { - "internalType": "bool", - "name": "isIssuerRefunded", - "type": "bool" - }, - { - "internalType": "bool", - "name": "isIssuerWithdrawn", - "type": "bool" - }, - { - "internalType": "bool", - "name": "isClaimed", - "type": "bool" - }, - { - "internalType": "bool", - "name": "isValid", - "type": "bool" - } - ] - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_tokenId", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "ownerOf", - "outputs": [ - { - "internalType": "address", - "name": "owner_", - "type": "address" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/test/interfaces/ITestSolvV2ConvertibleVoucher.sol": "ITestSolvV2ConvertibleVoucher" - }, - "libraries": {} - }, - "sources": { - "contracts/test/interfaces/ITestSolvV2ConvertiblePool.sol": { - "keccak256": "0xf4909bdd41f72752703cbd4ab1485e2bf2645f0c3f11a0403eb30cbdcbeef875", - "urls": [ - "bzz-raw://134405d7831b9bbd83e44950f235b77c461aed5e60955f654f7248329e2c0ed7", - "dweb:/ipfs/Qmeiip8AkiFGExnw28KfUKWEYk7VvN1fsg8BsyGs4385jJ" - ], - "license": "GPL-3.0" - }, - "contracts/test/interfaces/ITestSolvV2ConvertibleVoucher.sol": { - "keccak256": "0xeae5ff532356f65bc2dfa53af7f4f2db69546da8da404cd9122c963f0b94142a", - "urls": [ - "bzz-raw://f9d487f3b0a46baff7739973305331d024938a92fb19e8749646ccbc3ed45e45", - "dweb:/ipfs/Qmb1Xum2CRLXU1AbQDK38DYQnD4SV75QfHStz5yotB6d4S" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 423 -} +{ "abi": [ { "type": "function", "name": "approve", "inputs": [ { "name": "_to", "type": "address", "internalType": "address" }, { "name": "_tokenId", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "getSlot", "inputs": [ { "name": "_issuer", "type": "address", "internalType": "address" }, { "name": "_fundCurrency", "type": "address", "internalType": "address" }, { "name": "_lowestPrice", "type": "uint128", "internalType": "uint128" }, { "name": "_highestPrice", "type": "uint128", "internalType": "uint128" }, { "name": "_effectiveTime", "type": "uint64", "internalType": "uint64" }, { "name": "_maturity", "type": "uint64", "internalType": "uint64" }, { "name": "_collateralType", "type": "uint8", "internalType": "uint8" } ], "outputs": [ { "name": "slot_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "getSlotDetail", "inputs": [ { "name": "_slot", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "slotDetail_", "type": "tuple", "internalType": "struct ITestSolvV2ConvertiblePool.SlotDetail", "components": [ { "name": "issuer", "type": "address", "internalType": "address" }, { "name": "fundCurrency", "type": "address", "internalType": "address" }, { "name": "totalValue", "type": "uint256", "internalType": "uint256" }, { "name": "lowestPrice", "type": "uint128", "internalType": "uint128" }, { "name": "highestPrice", "type": "uint128", "internalType": "uint128" }, { "name": "settlePrice", "type": "uint128", "internalType": "uint128" }, { "name": "effectiveTime", "type": "uint64", "internalType": "uint64" }, { "name": "maturity", "type": "uint64", "internalType": "uint64" }, { "name": "collateralType", "type": "uint8", "internalType": "enum ITestSolvV2ConvertiblePool.CollateralType" }, { "name": "isIssuerRefunded", "type": "bool", "internalType": "bool" }, { "name": "isIssuerWithdrawn", "type": "bool", "internalType": "bool" }, { "name": "isClaimed", "type": "bool", "internalType": "bool" }, { "name": "isValid", "type": "bool", "internalType": "bool" } ] } ], "stateMutability": "view" }, { "type": "function", "name": "ownerOf", "inputs": [ { "name": "_tokenId", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "owner_", "type": "address", "internalType": "address" } ], "stateMutability": "view" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "approve(address,uint256)": "095ea7b3", "getSlot(address,address,uint128,uint128,uint64,uint64,uint8)": "7d47a66a", "getSlotDetail(uint256)": "d3ceafb9", "ownerOf(uint256)": "6352211e" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_issuer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_fundCurrency\",\"type\":\"address\"},{\"internalType\":\"uint128\",\"name\":\"_lowestPrice\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"_highestPrice\",\"type\":\"uint128\"},{\"internalType\":\"uint64\",\"name\":\"_effectiveTime\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"_maturity\",\"type\":\"uint64\"},{\"internalType\":\"uint8\",\"name\":\"_collateralType\",\"type\":\"uint8\"}],\"name\":\"getSlot\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"slot_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_slot\",\"type\":\"uint256\"}],\"name\":\"getSlotDetail\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"issuer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"fundCurrency\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"totalValue\",\"type\":\"uint256\"},{\"internalType\":\"uint128\",\"name\":\"lowestPrice\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"highestPrice\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"settlePrice\",\"type\":\"uint128\"},{\"internalType\":\"uint64\",\"name\":\"effectiveTime\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"maturity\",\"type\":\"uint64\"},{\"internalType\":\"enum ITestSolvV2ConvertiblePool.CollateralType\",\"name\":\"collateralType\",\"type\":\"uint8\"},{\"internalType\":\"bool\",\"name\":\"isIssuerRefunded\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isIssuerWithdrawn\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isClaimed\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isValid\",\"type\":\"bool\"}],\"internalType\":\"struct ITestSolvV2ConvertiblePool.SlotDetail\",\"name\":\"slotDetail_\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"Source: https://github.com/solv-finance/solv-v2-ivo/blob/main/vouchers/convertible-voucher/contracts/ConvertibleVoucher.sol\",\"kind\":\"dev\",\"methods\":{},\"title\":\"ITestSolvV2ConvertibleVoucher Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"A test interface for Solv V2 Convertible Pool\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/interfaces/ITestSolvV2ConvertibleVoucher.sol\":\"ITestSolvV2ConvertibleVoucher\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/test/interfaces/ITestSolvV2ConvertiblePool.sol\":{\"keccak256\":\"0xf4909bdd41f72752703cbd4ab1485e2bf2645f0c3f11a0403eb30cbdcbeef875\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://134405d7831b9bbd83e44950f235b77c461aed5e60955f654f7248329e2c0ed7\",\"dweb:/ipfs/Qmeiip8AkiFGExnw28KfUKWEYk7VvN1fsg8BsyGs4385jJ\"]},\"contracts/test/interfaces/ITestSolvV2ConvertibleVoucher.sol\":{\"keccak256\":\"0xeae5ff532356f65bc2dfa53af7f4f2db69546da8da404cd9122c963f0b94142a\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f9d487f3b0a46baff7739973305331d024938a92fb19e8749646ccbc3ed45e45\",\"dweb:/ipfs/Qmb1Xum2CRLXU1AbQDK38DYQnD4SV75QfHStz5yotB6d4S\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_to", "type": "address" }, { "internalType": "uint256", "name": "_tokenId", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "approve" }, { "inputs": [ { "internalType": "address", "name": "_issuer", "type": "address" }, { "internalType": "address", "name": "_fundCurrency", "type": "address" }, { "internalType": "uint128", "name": "_lowestPrice", "type": "uint128" }, { "internalType": "uint128", "name": "_highestPrice", "type": "uint128" }, { "internalType": "uint64", "name": "_effectiveTime", "type": "uint64" }, { "internalType": "uint64", "name": "_maturity", "type": "uint64" }, { "internalType": "uint8", "name": "_collateralType", "type": "uint8" } ], "stateMutability": "view", "type": "function", "name": "getSlot", "outputs": [ { "internalType": "uint256", "name": "slot_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_slot", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "getSlotDetail", "outputs": [ { "internalType": "struct ITestSolvV2ConvertiblePool.SlotDetail", "name": "slotDetail_", "type": "tuple", "components": [ { "internalType": "address", "name": "issuer", "type": "address" }, { "internalType": "address", "name": "fundCurrency", "type": "address" }, { "internalType": "uint256", "name": "totalValue", "type": "uint256" }, { "internalType": "uint128", "name": "lowestPrice", "type": "uint128" }, { "internalType": "uint128", "name": "highestPrice", "type": "uint128" }, { "internalType": "uint128", "name": "settlePrice", "type": "uint128" }, { "internalType": "uint64", "name": "effectiveTime", "type": "uint64" }, { "internalType": "uint64", "name": "maturity", "type": "uint64" }, { "internalType": "enum ITestSolvV2ConvertiblePool.CollateralType", "name": "collateralType", "type": "uint8" }, { "internalType": "bool", "name": "isIssuerRefunded", "type": "bool" }, { "internalType": "bool", "name": "isIssuerWithdrawn", "type": "bool" }, { "internalType": "bool", "name": "isClaimed", "type": "bool" }, { "internalType": "bool", "name": "isValid", "type": "bool" } ] } ] }, { "inputs": [ { "internalType": "uint256", "name": "_tokenId", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "ownerOf", "outputs": [ { "internalType": "address", "name": "owner_", "type": "address" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/test/interfaces/ITestSolvV2ConvertibleVoucher.sol": "ITestSolvV2ConvertibleVoucher" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/test/interfaces/ITestSolvV2ConvertiblePool.sol": { "keccak256": "0xf4909bdd41f72752703cbd4ab1485e2bf2645f0c3f11a0403eb30cbdcbeef875", "urls": [ "bzz-raw://134405d7831b9bbd83e44950f235b77c461aed5e60955f654f7248329e2c0ed7", "dweb:/ipfs/Qmeiip8AkiFGExnw28KfUKWEYk7VvN1fsg8BsyGs4385jJ" ], "license": "GPL-3.0" }, "contracts/test/interfaces/ITestSolvV2ConvertibleVoucher.sol": { "keccak256": "0xeae5ff532356f65bc2dfa53af7f4f2db69546da8da404cd9122c963f0b94142a", "urls": [ "bzz-raw://f9d487f3b0a46baff7739973305331d024938a92fb19e8749646ccbc3ed45e45", "dweb:/ipfs/Qmb1Xum2CRLXU1AbQDK38DYQnD4SV75QfHStz5yotB6d4S" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 423 } diff --git a/eth_defi/abi/enzyme/ITestSolvV2InitialConvertibleOfferingMarket.json b/eth_defi/abi/enzyme/ITestSolvV2InitialConvertibleOfferingMarket.json index 24255600..c764975b 100644 --- a/eth_defi/abi/enzyme/ITestSolvV2InitialConvertibleOfferingMarket.json +++ b/eth_defi/abi/enzyme/ITestSolvV2InitialConvertibleOfferingMarket.json @@ -1,866 +1 @@ -{ - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "buyer", - "type": "address" - }, - { - "indexed": true, - "internalType": "uint24", - "name": "offeringId", - "type": "uint24" - }, - { - "indexed": true, - "internalType": "address", - "name": "voucher", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "voucherId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint24", - "name": "tradeId", - "type": "uint24" - }, - { - "indexed": false, - "internalType": "uint32", - "name": "tradeTime", - "type": "uint32" - }, - { - "indexed": false, - "internalType": "address", - "name": "currency", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint8", - "name": "priceType", - "type": "uint8" - }, - { - "indexed": false, - "internalType": "uint128", - "name": "price", - "type": "uint128" - }, - { - "indexed": false, - "internalType": "uint128", - "name": "tradedUnits", - "type": "uint128" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "tradedAmount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint128", - "name": "fee", - "type": "uint128" - } - ], - "name": "Traded", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_voucher", - "type": "address" - }, - { - "internalType": "address[]", - "name": "_addresses", - "type": "address[]" - }, - { - "internalType": "bool", - "name": "_resetExisting", - "type": "bool" - } - ], - "name": "addAllowAddress", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint24", - "name": "_offeringId", - "type": "uint24" - }, - { - "internalType": "uint128", - "name": "_units", - "type": "uint128" - } - ], - "name": "buy", - "outputs": [ - { - "internalType": "uint256", - "name": "amount_", - "type": "uint256" - }, - { - "internalType": "uint128", - "name": "fee_", - "type": "uint128" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint24", - "name": "_offeringId", - "type": "uint24" - } - ], - "name": "mintParameters", - "outputs": [ - { - "components": [ - { - "internalType": "uint128", - "name": "lowestPrice", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "highestPrice", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "tokenInAmount", - "type": "uint128" - }, - { - "internalType": "uint64", - "name": "effectiveTime", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "maturity", - "type": "uint64" - } - ], - "internalType": "struct ITestSolvV2InitialConvertibleOfferingMarket.MintParameter", - "name": "mintParameter_", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "nextOfferingId", - "outputs": [ - { - "internalType": "uint24", - "name": "offeringId_", - "type": "uint24" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_voucher", - "type": "address" - }, - { - "internalType": "address", - "name": "_currency", - "type": "address" - }, - { - "internalType": "uint128", - "name": "_min", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "_max", - "type": "uint128" - }, - { - "internalType": "uint32", - "name": "_startTime", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "_endTime", - "type": "uint32" - }, - { - "internalType": "bool", - "name": "_useAllowList", - "type": "bool" - }, - { - "internalType": "enum ITestSolvV2InitialConvertibleOfferingMarket.PriceType", - "name": "_priceType", - "type": "uint8" - }, - { - "internalType": "bytes", - "name": "_priceData", - "type": "bytes" - }, - { - "components": [ - { - "internalType": "uint128", - "name": "lowestPrice", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "highestPrice", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "tokenInAmount", - "type": "uint128" - }, - { - "internalType": "uint64", - "name": "effectiveTime", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "maturity", - "type": "uint64" - } - ], - "internalType": "struct ITestSolvV2InitialConvertibleOfferingMarket.MintParameter", - "name": "_mintParameter", - "type": "tuple" - } - ], - "name": "offer", - "outputs": [ - { - "internalType": "uint24", - "name": "offeringId_", - "type": "uint24" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint24", - "name": "_offeringId", - "type": "uint24" - } - ], - "name": "offerings", - "outputs": [ - { - "components": [ - { - "internalType": "uint24", - "name": "offeringId", - "type": "uint24" - }, - { - "internalType": "uint32", - "name": "startTime", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "endTime", - "type": "uint32" - }, - { - "internalType": "enum ITestSolvV2InitialConvertibleOfferingMarket.PriceType", - "name": "priceType", - "type": "uint8" - }, - { - "internalType": "uint128", - "name": "totalUnits", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "units", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "min", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "max", - "type": "uint128" - }, - { - "internalType": "address", - "name": "voucher", - "type": "address" - }, - { - "internalType": "address", - "name": "currency", - "type": "address" - }, - { - "internalType": "address", - "name": "issuer", - "type": "address" - }, - { - "internalType": "bool", - "name": "useAllowList", - "type": "bool" - }, - { - "internalType": "bool", - "name": "isValid", - "type": "bool" - } - ], - "internalType": "struct ITestSolvV2InitialConvertibleOfferingMarket.Offering", - "name": "offering_", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_voucher", - "type": "address" - }, - { - "internalType": "address[]", - "name": "_managers", - "type": "address[]" - }, - { - "internalType": "bool", - "name": "_resetExisting", - "type": "bool" - } - ], - "name": "setVoucherManager", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "addAllowAddress(address,address[],bool)": "194e1660", - "buy(uint24,uint128)": "41ec4ef3", - "mintParameters(uint24)": "c39333ab", - "nextOfferingId()": "bb21b32a", - "offer(address,address,uint128,uint128,uint32,uint32,bool,uint8,bytes,(uint128,uint128,uint128,uint64,uint64))": "22784556", - "offerings(uint24)": "9cfb2ab0", - "setVoucherManager(address,address[],bool)": "1d248d9a" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"buyer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint24\",\"name\":\"offeringId\",\"type\":\"uint24\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voucher\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"voucherId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint24\",\"name\":\"tradeId\",\"type\":\"uint24\"},{\"indexed\":false,\"internalType\":\"uint32\",\"name\":\"tradeTime\",\"type\":\"uint32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"priceType\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"price\",\"type\":\"uint128\"},{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"tradedUnits\",\"type\":\"uint128\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"tradedAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"fee\",\"type\":\"uint128\"}],\"name\":\"Traded\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_voucher\",\"type\":\"address\"},{\"internalType\":\"address[]\",\"name\":\"_addresses\",\"type\":\"address[]\"},{\"internalType\":\"bool\",\"name\":\"_resetExisting\",\"type\":\"bool\"}],\"name\":\"addAllowAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint24\",\"name\":\"_offeringId\",\"type\":\"uint24\"},{\"internalType\":\"uint128\",\"name\":\"_units\",\"type\":\"uint128\"}],\"name\":\"buy\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount_\",\"type\":\"uint256\"},{\"internalType\":\"uint128\",\"name\":\"fee_\",\"type\":\"uint128\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint24\",\"name\":\"_offeringId\",\"type\":\"uint24\"}],\"name\":\"mintParameters\",\"outputs\":[{\"components\":[{\"internalType\":\"uint128\",\"name\":\"lowestPrice\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"highestPrice\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"tokenInAmount\",\"type\":\"uint128\"},{\"internalType\":\"uint64\",\"name\":\"effectiveTime\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"maturity\",\"type\":\"uint64\"}],\"internalType\":\"struct ITestSolvV2InitialConvertibleOfferingMarket.MintParameter\",\"name\":\"mintParameter_\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextOfferingId\",\"outputs\":[{\"internalType\":\"uint24\",\"name\":\"offeringId_\",\"type\":\"uint24\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_voucher\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_currency\",\"type\":\"address\"},{\"internalType\":\"uint128\",\"name\":\"_min\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"_max\",\"type\":\"uint128\"},{\"internalType\":\"uint32\",\"name\":\"_startTime\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"_endTime\",\"type\":\"uint32\"},{\"internalType\":\"bool\",\"name\":\"_useAllowList\",\"type\":\"bool\"},{\"internalType\":\"enum ITestSolvV2InitialConvertibleOfferingMarket.PriceType\",\"name\":\"_priceType\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"_priceData\",\"type\":\"bytes\"},{\"components\":[{\"internalType\":\"uint128\",\"name\":\"lowestPrice\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"highestPrice\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"tokenInAmount\",\"type\":\"uint128\"},{\"internalType\":\"uint64\",\"name\":\"effectiveTime\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"maturity\",\"type\":\"uint64\"}],\"internalType\":\"struct ITestSolvV2InitialConvertibleOfferingMarket.MintParameter\",\"name\":\"_mintParameter\",\"type\":\"tuple\"}],\"name\":\"offer\",\"outputs\":[{\"internalType\":\"uint24\",\"name\":\"offeringId_\",\"type\":\"uint24\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint24\",\"name\":\"_offeringId\",\"type\":\"uint24\"}],\"name\":\"offerings\",\"outputs\":[{\"components\":[{\"internalType\":\"uint24\",\"name\":\"offeringId\",\"type\":\"uint24\"},{\"internalType\":\"uint32\",\"name\":\"startTime\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"endTime\",\"type\":\"uint32\"},{\"internalType\":\"enum ITestSolvV2InitialConvertibleOfferingMarket.PriceType\",\"name\":\"priceType\",\"type\":\"uint8\"},{\"internalType\":\"uint128\",\"name\":\"totalUnits\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"units\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"min\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"max\",\"type\":\"uint128\"},{\"internalType\":\"address\",\"name\":\"voucher\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"issuer\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"useAllowList\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isValid\",\"type\":\"bool\"}],\"internalType\":\"struct ITestSolvV2InitialConvertibleOfferingMarket.Offering\",\"name\":\"offering_\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_voucher\",\"type\":\"address\"},{\"internalType\":\"address[]\",\"name\":\"_managers\",\"type\":\"address[]\"},{\"internalType\":\"bool\",\"name\":\"_resetExisting\",\"type\":\"bool\"}],\"name\":\"setVoucherManager\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ITestSolvV2InitialConvertibleOfferingMarket Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"A test interface for Solv V2 Initial Convertible Offering Market\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/interfaces/ITestSolvV2InitialConvertibleOfferingMarket.sol\":\"ITestSolvV2InitialConvertibleOfferingMarket\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/test/interfaces/ITestSolvV2InitialConvertibleOfferingMarket.sol\":{\"keccak256\":\"0x6cd534aafe9e14b2b3da7c7458a333741768b19204c1186e19548e53101cb23e\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://161cd474f02015228fb311299169cd878d7107b1269d9913f7e95ff359af7391\",\"dweb:/ipfs/QmfHhfqsxfTK4pKDyaNn8oSuWXC7YLMXj7Wu7bYSCHgP5r\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "buyer", - "type": "address", - "indexed": true - }, - { - "internalType": "uint24", - "name": "offeringId", - "type": "uint24", - "indexed": true - }, - { - "internalType": "address", - "name": "voucher", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "voucherId", - "type": "uint256", - "indexed": false - }, - { - "internalType": "uint24", - "name": "tradeId", - "type": "uint24", - "indexed": false - }, - { - "internalType": "uint32", - "name": "tradeTime", - "type": "uint32", - "indexed": false - }, - { - "internalType": "address", - "name": "currency", - "type": "address", - "indexed": false - }, - { - "internalType": "uint8", - "name": "priceType", - "type": "uint8", - "indexed": false - }, - { - "internalType": "uint128", - "name": "price", - "type": "uint128", - "indexed": false - }, - { - "internalType": "uint128", - "name": "tradedUnits", - "type": "uint128", - "indexed": false - }, - { - "internalType": "uint256", - "name": "tradedAmount", - "type": "uint256", - "indexed": false - }, - { - "internalType": "uint128", - "name": "fee", - "type": "uint128", - "indexed": false - } - ], - "type": "event", - "name": "Traded", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_voucher", - "type": "address" - }, - { - "internalType": "address[]", - "name": "_addresses", - "type": "address[]" - }, - { - "internalType": "bool", - "name": "_resetExisting", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "addAllowAddress" - }, - { - "inputs": [ - { - "internalType": "uint24", - "name": "_offeringId", - "type": "uint24" - }, - { - "internalType": "uint128", - "name": "_units", - "type": "uint128" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "buy", - "outputs": [ - { - "internalType": "uint256", - "name": "amount_", - "type": "uint256" - }, - { - "internalType": "uint128", - "name": "fee_", - "type": "uint128" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint24", - "name": "_offeringId", - "type": "uint24" - } - ], - "stateMutability": "view", - "type": "function", - "name": "mintParameters", - "outputs": [ - { - "internalType": "struct ITestSolvV2InitialConvertibleOfferingMarket.MintParameter", - "name": "mintParameter_", - "type": "tuple", - "components": [ - { - "internalType": "uint128", - "name": "lowestPrice", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "highestPrice", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "tokenInAmount", - "type": "uint128" - }, - { - "internalType": "uint64", - "name": "effectiveTime", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "maturity", - "type": "uint64" - } - ] - } - ] - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "nextOfferingId", - "outputs": [ - { - "internalType": "uint24", - "name": "offeringId_", - "type": "uint24" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_voucher", - "type": "address" - }, - { - "internalType": "address", - "name": "_currency", - "type": "address" - }, - { - "internalType": "uint128", - "name": "_min", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "_max", - "type": "uint128" - }, - { - "internalType": "uint32", - "name": "_startTime", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "_endTime", - "type": "uint32" - }, - { - "internalType": "bool", - "name": "_useAllowList", - "type": "bool" - }, - { - "internalType": "enum ITestSolvV2InitialConvertibleOfferingMarket.PriceType", - "name": "_priceType", - "type": "uint8" - }, - { - "internalType": "bytes", - "name": "_priceData", - "type": "bytes" - }, - { - "internalType": "struct ITestSolvV2InitialConvertibleOfferingMarket.MintParameter", - "name": "_mintParameter", - "type": "tuple", - "components": [ - { - "internalType": "uint128", - "name": "lowestPrice", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "highestPrice", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "tokenInAmount", - "type": "uint128" - }, - { - "internalType": "uint64", - "name": "effectiveTime", - "type": "uint64" - }, - { - "internalType": "uint64", - "name": "maturity", - "type": "uint64" - } - ] - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "offer", - "outputs": [ - { - "internalType": "uint24", - "name": "offeringId_", - "type": "uint24" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint24", - "name": "_offeringId", - "type": "uint24" - } - ], - "stateMutability": "view", - "type": "function", - "name": "offerings", - "outputs": [ - { - "internalType": "struct ITestSolvV2InitialConvertibleOfferingMarket.Offering", - "name": "offering_", - "type": "tuple", - "components": [ - { - "internalType": "uint24", - "name": "offeringId", - "type": "uint24" - }, - { - "internalType": "uint32", - "name": "startTime", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "endTime", - "type": "uint32" - }, - { - "internalType": "enum ITestSolvV2InitialConvertibleOfferingMarket.PriceType", - "name": "priceType", - "type": "uint8" - }, - { - "internalType": "uint128", - "name": "totalUnits", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "units", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "min", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "max", - "type": "uint128" - }, - { - "internalType": "address", - "name": "voucher", - "type": "address" - }, - { - "internalType": "address", - "name": "currency", - "type": "address" - }, - { - "internalType": "address", - "name": "issuer", - "type": "address" - }, - { - "internalType": "bool", - "name": "useAllowList", - "type": "bool" - }, - { - "internalType": "bool", - "name": "isValid", - "type": "bool" - } - ] - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_voucher", - "type": "address" - }, - { - "internalType": "address[]", - "name": "_managers", - "type": "address[]" - }, - { - "internalType": "bool", - "name": "_resetExisting", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setVoucherManager" - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/test/interfaces/ITestSolvV2InitialConvertibleOfferingMarket.sol": "ITestSolvV2InitialConvertibleOfferingMarket" - }, - "libraries": {} - }, - "sources": { - "contracts/test/interfaces/ITestSolvV2InitialConvertibleOfferingMarket.sol": { - "keccak256": "0x6cd534aafe9e14b2b3da7c7458a333741768b19204c1186e19548e53101cb23e", - "urls": [ - "bzz-raw://161cd474f02015228fb311299169cd878d7107b1269d9913f7e95ff359af7391", - "dweb:/ipfs/QmfHhfqsxfTK4pKDyaNn8oSuWXC7YLMXj7Wu7bYSCHgP5r" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 424 -} +{ "abi": [ { "type": "function", "name": "addAllowAddress", "inputs": [ { "name": "_voucher", "type": "address", "internalType": "address" }, { "name": "_addresses", "type": "address[]", "internalType": "address[]" }, { "name": "_resetExisting", "type": "bool", "internalType": "bool" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "buy", "inputs": [ { "name": "_offeringId", "type": "uint24", "internalType": "uint24" }, { "name": "_units", "type": "uint128", "internalType": "uint128" } ], "outputs": [ { "name": "amount_", "type": "uint256", "internalType": "uint256" }, { "name": "fee_", "type": "uint128", "internalType": "uint128" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "mintParameters", "inputs": [ { "name": "_offeringId", "type": "uint24", "internalType": "uint24" } ], "outputs": [ { "name": "mintParameter_", "type": "tuple", "internalType": "struct ITestSolvV2InitialConvertibleOfferingMarket.MintParameter", "components": [ { "name": "lowestPrice", "type": "uint128", "internalType": "uint128" }, { "name": "highestPrice", "type": "uint128", "internalType": "uint128" }, { "name": "tokenInAmount", "type": "uint128", "internalType": "uint128" }, { "name": "effectiveTime", "type": "uint64", "internalType": "uint64" }, { "name": "maturity", "type": "uint64", "internalType": "uint64" } ] } ], "stateMutability": "view" }, { "type": "function", "name": "nextOfferingId", "inputs": [], "outputs": [ { "name": "offeringId_", "type": "uint24", "internalType": "uint24" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "offer", "inputs": [ { "name": "_voucher", "type": "address", "internalType": "address" }, { "name": "_currency", "type": "address", "internalType": "address" }, { "name": "_min", "type": "uint128", "internalType": "uint128" }, { "name": "_max", "type": "uint128", "internalType": "uint128" }, { "name": "_startTime", "type": "uint32", "internalType": "uint32" }, { "name": "_endTime", "type": "uint32", "internalType": "uint32" }, { "name": "_useAllowList", "type": "bool", "internalType": "bool" }, { "name": "_priceType", "type": "uint8", "internalType": "enum ITestSolvV2InitialConvertibleOfferingMarket.PriceType" }, { "name": "_priceData", "type": "bytes", "internalType": "bytes" }, { "name": "_mintParameter", "type": "tuple", "internalType": "struct ITestSolvV2InitialConvertibleOfferingMarket.MintParameter", "components": [ { "name": "lowestPrice", "type": "uint128", "internalType": "uint128" }, { "name": "highestPrice", "type": "uint128", "internalType": "uint128" }, { "name": "tokenInAmount", "type": "uint128", "internalType": "uint128" }, { "name": "effectiveTime", "type": "uint64", "internalType": "uint64" }, { "name": "maturity", "type": "uint64", "internalType": "uint64" } ] } ], "outputs": [ { "name": "offeringId_", "type": "uint24", "internalType": "uint24" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "offerings", "inputs": [ { "name": "_offeringId", "type": "uint24", "internalType": "uint24" } ], "outputs": [ { "name": "offering_", "type": "tuple", "internalType": "struct ITestSolvV2InitialConvertibleOfferingMarket.Offering", "components": [ { "name": "offeringId", "type": "uint24", "internalType": "uint24" }, { "name": "startTime", "type": "uint32", "internalType": "uint32" }, { "name": "endTime", "type": "uint32", "internalType": "uint32" }, { "name": "priceType", "type": "uint8", "internalType": "enum ITestSolvV2InitialConvertibleOfferingMarket.PriceType" }, { "name": "totalUnits", "type": "uint128", "internalType": "uint128" }, { "name": "units", "type": "uint128", "internalType": "uint128" }, { "name": "min", "type": "uint128", "internalType": "uint128" }, { "name": "max", "type": "uint128", "internalType": "uint128" }, { "name": "voucher", "type": "address", "internalType": "address" }, { "name": "currency", "type": "address", "internalType": "address" }, { "name": "issuer", "type": "address", "internalType": "address" }, { "name": "useAllowList", "type": "bool", "internalType": "bool" }, { "name": "isValid", "type": "bool", "internalType": "bool" } ] } ], "stateMutability": "view" }, { "type": "function", "name": "setVoucherManager", "inputs": [ { "name": "_voucher", "type": "address", "internalType": "address" }, { "name": "_managers", "type": "address[]", "internalType": "address[]" }, { "name": "_resetExisting", "type": "bool", "internalType": "bool" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "event", "name": "Traded", "inputs": [ { "name": "buyer", "type": "address", "indexed": true, "internalType": "address" }, { "name": "offeringId", "type": "uint24", "indexed": true, "internalType": "uint24" }, { "name": "voucher", "type": "address", "indexed": true, "internalType": "address" }, { "name": "voucherId", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "tradeId", "type": "uint24", "indexed": false, "internalType": "uint24" }, { "name": "tradeTime", "type": "uint32", "indexed": false, "internalType": "uint32" }, { "name": "currency", "type": "address", "indexed": false, "internalType": "address" }, { "name": "priceType", "type": "uint8", "indexed": false, "internalType": "uint8" }, { "name": "price", "type": "uint128", "indexed": false, "internalType": "uint128" }, { "name": "tradedUnits", "type": "uint128", "indexed": false, "internalType": "uint128" }, { "name": "tradedAmount", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "fee", "type": "uint128", "indexed": false, "internalType": "uint128" } ], "anonymous": false } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "addAllowAddress(address,address[],bool)": "194e1660", "buy(uint24,uint128)": "41ec4ef3", "mintParameters(uint24)": "c39333ab", "nextOfferingId()": "bb21b32a", "offer(address,address,uint128,uint128,uint32,uint32,bool,uint8,bytes,(uint128,uint128,uint128,uint64,uint64))": "22784556", "offerings(uint24)": "9cfb2ab0", "setVoucherManager(address,address[],bool)": "1d248d9a" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"buyer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint24\",\"name\":\"offeringId\",\"type\":\"uint24\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voucher\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"voucherId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint24\",\"name\":\"tradeId\",\"type\":\"uint24\"},{\"indexed\":false,\"internalType\":\"uint32\",\"name\":\"tradeTime\",\"type\":\"uint32\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"priceType\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"price\",\"type\":\"uint128\"},{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"tradedUnits\",\"type\":\"uint128\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"tradedAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"fee\",\"type\":\"uint128\"}],\"name\":\"Traded\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_voucher\",\"type\":\"address\"},{\"internalType\":\"address[]\",\"name\":\"_addresses\",\"type\":\"address[]\"},{\"internalType\":\"bool\",\"name\":\"_resetExisting\",\"type\":\"bool\"}],\"name\":\"addAllowAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint24\",\"name\":\"_offeringId\",\"type\":\"uint24\"},{\"internalType\":\"uint128\",\"name\":\"_units\",\"type\":\"uint128\"}],\"name\":\"buy\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount_\",\"type\":\"uint256\"},{\"internalType\":\"uint128\",\"name\":\"fee_\",\"type\":\"uint128\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint24\",\"name\":\"_offeringId\",\"type\":\"uint24\"}],\"name\":\"mintParameters\",\"outputs\":[{\"components\":[{\"internalType\":\"uint128\",\"name\":\"lowestPrice\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"highestPrice\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"tokenInAmount\",\"type\":\"uint128\"},{\"internalType\":\"uint64\",\"name\":\"effectiveTime\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"maturity\",\"type\":\"uint64\"}],\"internalType\":\"struct ITestSolvV2InitialConvertibleOfferingMarket.MintParameter\",\"name\":\"mintParameter_\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextOfferingId\",\"outputs\":[{\"internalType\":\"uint24\",\"name\":\"offeringId_\",\"type\":\"uint24\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_voucher\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_currency\",\"type\":\"address\"},{\"internalType\":\"uint128\",\"name\":\"_min\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"_max\",\"type\":\"uint128\"},{\"internalType\":\"uint32\",\"name\":\"_startTime\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"_endTime\",\"type\":\"uint32\"},{\"internalType\":\"bool\",\"name\":\"_useAllowList\",\"type\":\"bool\"},{\"internalType\":\"enum ITestSolvV2InitialConvertibleOfferingMarket.PriceType\",\"name\":\"_priceType\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"_priceData\",\"type\":\"bytes\"},{\"components\":[{\"internalType\":\"uint128\",\"name\":\"lowestPrice\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"highestPrice\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"tokenInAmount\",\"type\":\"uint128\"},{\"internalType\":\"uint64\",\"name\":\"effectiveTime\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"maturity\",\"type\":\"uint64\"}],\"internalType\":\"struct ITestSolvV2InitialConvertibleOfferingMarket.MintParameter\",\"name\":\"_mintParameter\",\"type\":\"tuple\"}],\"name\":\"offer\",\"outputs\":[{\"internalType\":\"uint24\",\"name\":\"offeringId_\",\"type\":\"uint24\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint24\",\"name\":\"_offeringId\",\"type\":\"uint24\"}],\"name\":\"offerings\",\"outputs\":[{\"components\":[{\"internalType\":\"uint24\",\"name\":\"offeringId\",\"type\":\"uint24\"},{\"internalType\":\"uint32\",\"name\":\"startTime\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"endTime\",\"type\":\"uint32\"},{\"internalType\":\"enum ITestSolvV2InitialConvertibleOfferingMarket.PriceType\",\"name\":\"priceType\",\"type\":\"uint8\"},{\"internalType\":\"uint128\",\"name\":\"totalUnits\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"units\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"min\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"max\",\"type\":\"uint128\"},{\"internalType\":\"address\",\"name\":\"voucher\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"issuer\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"useAllowList\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isValid\",\"type\":\"bool\"}],\"internalType\":\"struct ITestSolvV2InitialConvertibleOfferingMarket.Offering\",\"name\":\"offering_\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_voucher\",\"type\":\"address\"},{\"internalType\":\"address[]\",\"name\":\"_managers\",\"type\":\"address[]\"},{\"internalType\":\"bool\",\"name\":\"_resetExisting\",\"type\":\"bool\"}],\"name\":\"setVoucherManager\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ITestSolvV2InitialConvertibleOfferingMarket Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"A test interface for Solv V2 Initial Convertible Offering Market\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/interfaces/ITestSolvV2InitialConvertibleOfferingMarket.sol\":\"ITestSolvV2InitialConvertibleOfferingMarket\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/test/interfaces/ITestSolvV2InitialConvertibleOfferingMarket.sol\":{\"keccak256\":\"0x6cd534aafe9e14b2b3da7c7458a333741768b19204c1186e19548e53101cb23e\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://161cd474f02015228fb311299169cd878d7107b1269d9913f7e95ff359af7391\",\"dweb:/ipfs/QmfHhfqsxfTK4pKDyaNn8oSuWXC7YLMXj7Wu7bYSCHgP5r\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "buyer", "type": "address", "indexed": true }, { "internalType": "uint24", "name": "offeringId", "type": "uint24", "indexed": true }, { "internalType": "address", "name": "voucher", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "voucherId", "type": "uint256", "indexed": false }, { "internalType": "uint24", "name": "tradeId", "type": "uint24", "indexed": false }, { "internalType": "uint32", "name": "tradeTime", "type": "uint32", "indexed": false }, { "internalType": "address", "name": "currency", "type": "address", "indexed": false }, { "internalType": "uint8", "name": "priceType", "type": "uint8", "indexed": false }, { "internalType": "uint128", "name": "price", "type": "uint128", "indexed": false }, { "internalType": "uint128", "name": "tradedUnits", "type": "uint128", "indexed": false }, { "internalType": "uint256", "name": "tradedAmount", "type": "uint256", "indexed": false }, { "internalType": "uint128", "name": "fee", "type": "uint128", "indexed": false } ], "type": "event", "name": "Traded", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "_voucher", "type": "address" }, { "internalType": "address[]", "name": "_addresses", "type": "address[]" }, { "internalType": "bool", "name": "_resetExisting", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function", "name": "addAllowAddress" }, { "inputs": [ { "internalType": "uint24", "name": "_offeringId", "type": "uint24" }, { "internalType": "uint128", "name": "_units", "type": "uint128" } ], "stateMutability": "nonpayable", "type": "function", "name": "buy", "outputs": [ { "internalType": "uint256", "name": "amount_", "type": "uint256" }, { "internalType": "uint128", "name": "fee_", "type": "uint128" } ] }, { "inputs": [ { "internalType": "uint24", "name": "_offeringId", "type": "uint24" } ], "stateMutability": "view", "type": "function", "name": "mintParameters", "outputs": [ { "internalType": "struct ITestSolvV2InitialConvertibleOfferingMarket.MintParameter", "name": "mintParameter_", "type": "tuple", "components": [ { "internalType": "uint128", "name": "lowestPrice", "type": "uint128" }, { "internalType": "uint128", "name": "highestPrice", "type": "uint128" }, { "internalType": "uint128", "name": "tokenInAmount", "type": "uint128" }, { "internalType": "uint64", "name": "effectiveTime", "type": "uint64" }, { "internalType": "uint64", "name": "maturity", "type": "uint64" } ] } ] }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "nextOfferingId", "outputs": [ { "internalType": "uint24", "name": "offeringId_", "type": "uint24" } ] }, { "inputs": [ { "internalType": "address", "name": "_voucher", "type": "address" }, { "internalType": "address", "name": "_currency", "type": "address" }, { "internalType": "uint128", "name": "_min", "type": "uint128" }, { "internalType": "uint128", "name": "_max", "type": "uint128" }, { "internalType": "uint32", "name": "_startTime", "type": "uint32" }, { "internalType": "uint32", "name": "_endTime", "type": "uint32" }, { "internalType": "bool", "name": "_useAllowList", "type": "bool" }, { "internalType": "enum ITestSolvV2InitialConvertibleOfferingMarket.PriceType", "name": "_priceType", "type": "uint8" }, { "internalType": "bytes", "name": "_priceData", "type": "bytes" }, { "internalType": "struct ITestSolvV2InitialConvertibleOfferingMarket.MintParameter", "name": "_mintParameter", "type": "tuple", "components": [ { "internalType": "uint128", "name": "lowestPrice", "type": "uint128" }, { "internalType": "uint128", "name": "highestPrice", "type": "uint128" }, { "internalType": "uint128", "name": "tokenInAmount", "type": "uint128" }, { "internalType": "uint64", "name": "effectiveTime", "type": "uint64" }, { "internalType": "uint64", "name": "maturity", "type": "uint64" } ] } ], "stateMutability": "nonpayable", "type": "function", "name": "offer", "outputs": [ { "internalType": "uint24", "name": "offeringId_", "type": "uint24" } ] }, { "inputs": [ { "internalType": "uint24", "name": "_offeringId", "type": "uint24" } ], "stateMutability": "view", "type": "function", "name": "offerings", "outputs": [ { "internalType": "struct ITestSolvV2InitialConvertibleOfferingMarket.Offering", "name": "offering_", "type": "tuple", "components": [ { "internalType": "uint24", "name": "offeringId", "type": "uint24" }, { "internalType": "uint32", "name": "startTime", "type": "uint32" }, { "internalType": "uint32", "name": "endTime", "type": "uint32" }, { "internalType": "enum ITestSolvV2InitialConvertibleOfferingMarket.PriceType", "name": "priceType", "type": "uint8" }, { "internalType": "uint128", "name": "totalUnits", "type": "uint128" }, { "internalType": "uint128", "name": "units", "type": "uint128" }, { "internalType": "uint128", "name": "min", "type": "uint128" }, { "internalType": "uint128", "name": "max", "type": "uint128" }, { "internalType": "address", "name": "voucher", "type": "address" }, { "internalType": "address", "name": "currency", "type": "address" }, { "internalType": "address", "name": "issuer", "type": "address" }, { "internalType": "bool", "name": "useAllowList", "type": "bool" }, { "internalType": "bool", "name": "isValid", "type": "bool" } ] } ] }, { "inputs": [ { "internalType": "address", "name": "_voucher", "type": "address" }, { "internalType": "address[]", "name": "_managers", "type": "address[]" }, { "internalType": "bool", "name": "_resetExisting", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function", "name": "setVoucherManager" } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/test/interfaces/ITestSolvV2InitialConvertibleOfferingMarket.sol": "ITestSolvV2InitialConvertibleOfferingMarket" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/test/interfaces/ITestSolvV2InitialConvertibleOfferingMarket.sol": { "keccak256": "0x6cd534aafe9e14b2b3da7c7458a333741768b19204c1186e19548e53101cb23e", "urls": [ "bzz-raw://161cd474f02015228fb311299169cd878d7107b1269d9913f7e95ff359af7391", "dweb:/ipfs/QmfHhfqsxfTK4pKDyaNn8oSuWXC7YLMXj7Wu7bYSCHgP5r" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 424 } diff --git a/eth_defi/abi/enzyme/ITestStandardToken.json b/eth_defi/abi/enzyme/ITestStandardToken.json index bac7609c..4321b7e3 100644 --- a/eth_defi/abi/enzyme/ITestStandardToken.json +++ b/eth_defi/abi/enzyme/ITestStandardToken.json @@ -1,507 +1 @@ -{ - "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": "amount_", - "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": "success_", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_account", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "balance_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "decimals_", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "symbol_", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "supply_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "success_", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_sender", - "type": "address" - }, - { - "internalType": "address", - "name": "_recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "success_", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "allowance(address,address)": "dd62ed3e", - "approve(address,uint256)": "095ea7b3", - "balanceOf(address)": "70a08231", - "decimals()": "313ce567", - "symbol()": "95d89b41", - "totalSupply()": "18160ddd", - "transfer(address,uint256)": "a9059cbb", - "transferFrom(address,address,uint256)": "23b872dd" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"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\":\"amount_\",\"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\":\"success_\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"decimals_\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"symbol_\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"supply_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success_\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success_\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ITestStandardToken Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/interfaces/ITestStandardToken.sol\":\"ITestStandardToken\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/test/interfaces/ITestStandardToken.sol\":{\"keccak256\":\"0xda6f4b993167f4af197511a94a2773b050a959f09cf29552b1bce8e6755f402c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f81b5b2289760faacf90bd614bc58a4c62969442dc7789a2ca27a85d814358a2\",\"dweb:/ipfs/Qma6br5XJLrwa4vVm8YQh6Bms6wPHsYKVbTb6287DL6vFC\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "spender", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "Approval", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "to", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "Transfer", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - }, - { - "internalType": "address", - "name": "_spender", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "amount_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "success_", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_account", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "balance_", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "decimals_", - "type": "uint8" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "symbol_", - "type": "string" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "supply_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "success_", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_sender", - "type": "address" - }, - { - "internalType": "address", - "name": "_recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "success_", - "type": "bool" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/test/interfaces/ITestStandardToken.sol": "ITestStandardToken" - }, - "libraries": {} - }, - "sources": { - "contracts/test/interfaces/ITestStandardToken.sol": { - "keccak256": "0xda6f4b993167f4af197511a94a2773b050a959f09cf29552b1bce8e6755f402c", - "urls": [ - "bzz-raw://f81b5b2289760faacf90bd614bc58a4c62969442dc7789a2ca27a85d814358a2", - "dweb:/ipfs/Qma6br5XJLrwa4vVm8YQh6Bms6wPHsYKVbTb6287DL6vFC" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 425 -} +{ "abi": [ { "type": "function", "name": "allowance", "inputs": [ { "name": "_owner", "type": "address", "internalType": "address" }, { "name": "_spender", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "amount_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "approve", "inputs": [ { "name": "_spender", "type": "address", "internalType": "address" }, { "name": "_amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "success_", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "balanceOf", "inputs": [ { "name": "_account", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "balance_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "decimals", "inputs": [], "outputs": [ { "name": "decimals_", "type": "uint8", "internalType": "uint8" } ], "stateMutability": "view" }, { "type": "function", "name": "symbol", "inputs": [], "outputs": [ { "name": "symbol_", "type": "string", "internalType": "string" } ], "stateMutability": "view" }, { "type": "function", "name": "totalSupply", "inputs": [], "outputs": [ { "name": "supply_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "transfer", "inputs": [ { "name": "_recipient", "type": "address", "internalType": "address" }, { "name": "_amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "success_", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "transferFrom", "inputs": [ { "name": "_sender", "type": "address", "internalType": "address" }, { "name": "_recipient", "type": "address", "internalType": "address" }, { "name": "_amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "success_", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "event", "name": "Approval", "inputs": [ { "name": "owner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "spender", "type": "address", "indexed": true, "internalType": "address" }, { "name": "value", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "Transfer", "inputs": [ { "name": "from", "type": "address", "indexed": true, "internalType": "address" }, { "name": "to", "type": "address", "indexed": true, "internalType": "address" }, { "name": "value", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "allowance(address,address)": "dd62ed3e", "approve(address,uint256)": "095ea7b3", "balanceOf(address)": "70a08231", "decimals()": "313ce567", "symbol()": "95d89b41", "totalSupply()": "18160ddd", "transfer(address,uint256)": "a9059cbb", "transferFrom(address,address,uint256)": "23b872dd" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"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\":\"amount_\",\"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\":\"success_\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"decimals_\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"symbol_\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"supply_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success_\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success_\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ITestStandardToken Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/interfaces/ITestStandardToken.sol\":\"ITestStandardToken\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/test/interfaces/ITestStandardToken.sol\":{\"keccak256\":\"0xda6f4b993167f4af197511a94a2773b050a959f09cf29552b1bce8e6755f402c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f81b5b2289760faacf90bd614bc58a4c62969442dc7789a2ca27a85d814358a2\",\"dweb:/ipfs/Qma6br5XJLrwa4vVm8YQh6Bms6wPHsYKVbTb6287DL6vFC\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "owner", "type": "address", "indexed": true }, { "internalType": "address", "name": "spender", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "value", "type": "uint256", "indexed": false } ], "type": "event", "name": "Approval", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address", "indexed": true }, { "internalType": "address", "name": "to", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "value", "type": "uint256", "indexed": false } ], "type": "event", "name": "Transfer", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "_owner", "type": "address" }, { "internalType": "address", "name": "_spender", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "amount_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "_spender", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "approve", "outputs": [ { "internalType": "bool", "name": "success_", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "_account", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "balance_", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "decimals_", "type": "uint8" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "symbol", "outputs": [ { "internalType": "string", "name": "symbol_", "type": "string" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "supply_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "_recipient", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "transfer", "outputs": [ { "internalType": "bool", "name": "success_", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "_sender", "type": "address" }, { "internalType": "address", "name": "_recipient", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "success_", "type": "bool" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/test/interfaces/ITestStandardToken.sol": "ITestStandardToken" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/test/interfaces/ITestStandardToken.sol": { "keccak256": "0xda6f4b993167f4af197511a94a2773b050a959f09cf29552b1bce8e6755f402c", "urls": [ "bzz-raw://f81b5b2289760faacf90bd614bc58a4c62969442dc7789a2ca27a85d814358a2", "dweb:/ipfs/Qma6br5XJLrwa4vVm8YQh6Bms6wPHsYKVbTb6287DL6vFC" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 425 } diff --git a/eth_defi/abi/enzyme/ITestSynthetixExchanger.json b/eth_defi/abi/enzyme/ITestSynthetixExchanger.json index cee14039..794adc1a 100644 --- a/eth_defi/abi/enzyme/ITestSynthetixExchanger.json +++ b/eth_defi/abi/enzyme/ITestSynthetixExchanger.json @@ -1,160 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "uint256", - "name": "_sourceAmount", - "type": "uint256" - }, - { - "internalType": "bytes32", - "name": "_sourceCurrencyKey", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "_destinationCurrencyKey", - "type": "bytes32" - } - ], - "name": "getAmountsForExchange", - "outputs": [ - { - "internalType": "uint256", - "name": "amountReceived_", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "fee_", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "exchangeRate_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "getAmountsForExchange(uint256,bytes32,bytes32)": "f450aa34" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_sourceAmount\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"_sourceCurrencyKey\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"_destinationCurrencyKey\",\"type\":\"bytes32\"}],\"name\":\"getAmountsForExchange\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amountReceived_\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"fee_\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"exchangeRate_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ITestSynthetixExchanger Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/interfaces/ITestSynthetixExchanger.sol\":\"ITestSynthetixExchanger\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/test/interfaces/ITestSynthetixExchanger.sol\":{\"keccak256\":\"0x1868e8860854adf53fac51a6629c239dddfac4610da8bef35d33161b0a81bd83\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c41dbedd1d01e65e4829689ee846c77d8de04edcd32acc32c9a57cd9bb2504dd\",\"dweb:/ipfs/QmfR4F4aS4oaU9HGR5et8Eh6XrzzafJ44ZdaArKpY6v6NJ\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "uint256", - "name": "_sourceAmount", - "type": "uint256" - }, - { - "internalType": "bytes32", - "name": "_sourceCurrencyKey", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "_destinationCurrencyKey", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getAmountsForExchange", - "outputs": [ - { - "internalType": "uint256", - "name": "amountReceived_", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "fee_", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "exchangeRate_", - "type": "uint256" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/test/interfaces/ITestSynthetixExchanger.sol": "ITestSynthetixExchanger" - }, - "libraries": {} - }, - "sources": { - "contracts/test/interfaces/ITestSynthetixExchanger.sol": { - "keccak256": "0x1868e8860854adf53fac51a6629c239dddfac4610da8bef35d33161b0a81bd83", - "urls": [ - "bzz-raw://c41dbedd1d01e65e4829689ee846c77d8de04edcd32acc32c9a57cd9bb2504dd", - "dweb:/ipfs/QmfR4F4aS4oaU9HGR5et8Eh6XrzzafJ44ZdaArKpY6v6NJ" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 426 -} +{ "abi": [ { "type": "function", "name": "getAmountsForExchange", "inputs": [ { "name": "_sourceAmount", "type": "uint256", "internalType": "uint256" }, { "name": "_sourceCurrencyKey", "type": "bytes32", "internalType": "bytes32" }, { "name": "_destinationCurrencyKey", "type": "bytes32", "internalType": "bytes32" } ], "outputs": [ { "name": "amountReceived_", "type": "uint256", "internalType": "uint256" }, { "name": "fee_", "type": "uint256", "internalType": "uint256" }, { "name": "exchangeRate_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "getAmountsForExchange(uint256,bytes32,bytes32)": "f450aa34" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_sourceAmount\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"_sourceCurrencyKey\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"_destinationCurrencyKey\",\"type\":\"bytes32\"}],\"name\":\"getAmountsForExchange\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amountReceived_\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"fee_\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"exchangeRate_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ITestSynthetixExchanger Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/interfaces/ITestSynthetixExchanger.sol\":\"ITestSynthetixExchanger\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/test/interfaces/ITestSynthetixExchanger.sol\":{\"keccak256\":\"0x1868e8860854adf53fac51a6629c239dddfac4610da8bef35d33161b0a81bd83\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c41dbedd1d01e65e4829689ee846c77d8de04edcd32acc32c9a57cd9bb2504dd\",\"dweb:/ipfs/QmfR4F4aS4oaU9HGR5et8Eh6XrzzafJ44ZdaArKpY6v6NJ\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "uint256", "name": "_sourceAmount", "type": "uint256" }, { "internalType": "bytes32", "name": "_sourceCurrencyKey", "type": "bytes32" }, { "internalType": "bytes32", "name": "_destinationCurrencyKey", "type": "bytes32" } ], "stateMutability": "view", "type": "function", "name": "getAmountsForExchange", "outputs": [ { "internalType": "uint256", "name": "amountReceived_", "type": "uint256" }, { "internalType": "uint256", "name": "fee_", "type": "uint256" }, { "internalType": "uint256", "name": "exchangeRate_", "type": "uint256" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/test/interfaces/ITestSynthetixExchanger.sol": "ITestSynthetixExchanger" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/test/interfaces/ITestSynthetixExchanger.sol": { "keccak256": "0x1868e8860854adf53fac51a6629c239dddfac4610da8bef35d33161b0a81bd83", "urls": [ "bzz-raw://c41dbedd1d01e65e4829689ee846c77d8de04edcd32acc32c9a57cd9bb2504dd", "dweb:/ipfs/QmfR4F4aS4oaU9HGR5et8Eh6XrzzafJ44ZdaArKpY6v6NJ" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 426 } diff --git a/eth_defi/abi/enzyme/ITestTheGraphEpochManager.json b/eth_defi/abi/enzyme/ITestTheGraphEpochManager.json index 8fea863f..01b17aad 100644 --- a/eth_defi/abi/enzyme/ITestTheGraphEpochManager.json +++ b/eth_defi/abi/enzyme/ITestTheGraphEpochManager.json @@ -1,148 +1 @@ -{ - "abi": [ - { - "inputs": [], - "name": "currentEpoch", - "outputs": [ - { - "internalType": "uint256", - "name": "epoch_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "runEpoch", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_epochLength", - "type": "uint256" - } - ], - "name": "setEpochLength", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "currentEpoch()": "76671808", - "runEpoch()": "c46e58eb", - "setEpochLength(uint256)": "54eea796" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"currentEpoch\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"runEpoch\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_epochLength\",\"type\":\"uint256\"}],\"name\":\"setEpochLength\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ITestTheGraphEpochManager Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/interfaces/ITestTheGraphEpochManager.sol\":\"ITestTheGraphEpochManager\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/test/interfaces/ITestTheGraphEpochManager.sol\":{\"keccak256\":\"0x1e254856ec3a3010622c2601e35e1143638c0333626ec9f1e56094f515091332\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://0242b9270fc93cd50e193fc1adba42c2354adfee06304cc2f96f0bd8072fa2f1\",\"dweb:/ipfs/QmamEZy2XMZdW72hNW3pkjSJCMdxKQiQhrgFivcGeozyUp\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "currentEpoch", - "outputs": [ - { - "internalType": "uint256", - "name": "epoch_", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "runEpoch" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_epochLength", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setEpochLength" - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/test/interfaces/ITestTheGraphEpochManager.sol": "ITestTheGraphEpochManager" - }, - "libraries": {} - }, - "sources": { - "contracts/test/interfaces/ITestTheGraphEpochManager.sol": { - "keccak256": "0x1e254856ec3a3010622c2601e35e1143638c0333626ec9f1e56094f515091332", - "urls": [ - "bzz-raw://0242b9270fc93cd50e193fc1adba42c2354adfee06304cc2f96f0bd8072fa2f1", - "dweb:/ipfs/QmamEZy2XMZdW72hNW3pkjSJCMdxKQiQhrgFivcGeozyUp" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 427 -} +{ "abi": [ { "type": "function", "name": "currentEpoch", "inputs": [], "outputs": [ { "name": "epoch_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "runEpoch", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setEpochLength", "inputs": [ { "name": "_epochLength", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "currentEpoch()": "76671808", "runEpoch()": "c46e58eb", "setEpochLength(uint256)": "54eea796" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"currentEpoch\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"runEpoch\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_epochLength\",\"type\":\"uint256\"}],\"name\":\"setEpochLength\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ITestTheGraphEpochManager Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/interfaces/ITestTheGraphEpochManager.sol\":\"ITestTheGraphEpochManager\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/test/interfaces/ITestTheGraphEpochManager.sol\":{\"keccak256\":\"0x1e254856ec3a3010622c2601e35e1143638c0333626ec9f1e56094f515091332\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://0242b9270fc93cd50e193fc1adba42c2354adfee06304cc2f96f0bd8072fa2f1\",\"dweb:/ipfs/QmamEZy2XMZdW72hNW3pkjSJCMdxKQiQhrgFivcGeozyUp\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [], "stateMutability": "view", "type": "function", "name": "currentEpoch", "outputs": [ { "internalType": "uint256", "name": "epoch_", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "runEpoch" }, { "inputs": [ { "internalType": "uint256", "name": "_epochLength", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "setEpochLength" } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/test/interfaces/ITestTheGraphEpochManager.sol": "ITestTheGraphEpochManager" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/test/interfaces/ITestTheGraphEpochManager.sol": { "keccak256": "0x1e254856ec3a3010622c2601e35e1143638c0333626ec9f1e56094f515091332", "urls": [ "bzz-raw://0242b9270fc93cd50e193fc1adba42c2354adfee06304cc2f96f0bd8072fa2f1", "dweb:/ipfs/QmamEZy2XMZdW72hNW3pkjSJCMdxKQiQhrgFivcGeozyUp" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 427 } diff --git a/eth_defi/abi/enzyme/ITestTheGraphStaking.json b/eth_defi/abi/enzyme/ITestTheGraphStaking.json index c0742c7d..eba61100 100644 --- a/eth_defi/abi/enzyme/ITestTheGraphStaking.json +++ b/eth_defi/abi/enzyme/ITestTheGraphStaking.json @@ -1,177 +1 @@ -{ - "abi": [ - { - "inputs": [], - "name": "delegationTaxPercentage", - "outputs": [ - { - "internalType": "uint32", - "name": "taxPercentage_", - "type": "uint32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_indexer", - "type": "address" - }, - { - "internalType": "address", - "name": "_delegator", - "type": "address" - } - ], - "name": "getDelegation", - "outputs": [ - { - "internalType": "uint256", - "name": "shares_", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "tokensLocked_", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "tokensLockedUntil_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "delegationTaxPercentage()": "e6aeb796", - "getDelegation(address,address)": "15049a5a" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"delegationTaxPercentage\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"taxPercentage_\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_indexer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_delegator\",\"type\":\"address\"}],\"name\":\"getDelegation\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"shares_\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"tokensLocked_\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"tokensLockedUntil_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ITestTheGraphStaking Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/interfaces/ITestTheGraphStaking.sol\":\"ITestTheGraphStaking\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/test/interfaces/ITestTheGraphStaking.sol\":{\"keccak256\":\"0x98549d7cca7b45735f4de59710133858cce0e3869f02284b1ae64d3878e33027\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d91d6f90955d9fd39da25665338c866ebedc6fb9d82d6ea8582d24d3807ead96\",\"dweb:/ipfs/QmRYAdHKqK6bFK75hCjLX1s87P2CgHqjY4u1wBFNj7uFaB\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "delegationTaxPercentage", - "outputs": [ - { - "internalType": "uint32", - "name": "taxPercentage_", - "type": "uint32" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_indexer", - "type": "address" - }, - { - "internalType": "address", - "name": "_delegator", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getDelegation", - "outputs": [ - { - "internalType": "uint256", - "name": "shares_", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "tokensLocked_", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "tokensLockedUntil_", - "type": "uint256" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/test/interfaces/ITestTheGraphStaking.sol": "ITestTheGraphStaking" - }, - "libraries": {} - }, - "sources": { - "contracts/test/interfaces/ITestTheGraphStaking.sol": { - "keccak256": "0x98549d7cca7b45735f4de59710133858cce0e3869f02284b1ae64d3878e33027", - "urls": [ - "bzz-raw://d91d6f90955d9fd39da25665338c866ebedc6fb9d82d6ea8582d24d3807ead96", - "dweb:/ipfs/QmRYAdHKqK6bFK75hCjLX1s87P2CgHqjY4u1wBFNj7uFaB" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 428 -} +{ "abi": [ { "type": "function", "name": "delegationTaxPercentage", "inputs": [], "outputs": [ { "name": "taxPercentage_", "type": "uint32", "internalType": "uint32" } ], "stateMutability": "view" }, { "type": "function", "name": "getDelegation", "inputs": [ { "name": "_indexer", "type": "address", "internalType": "address" }, { "name": "_delegator", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "shares_", "type": "uint256", "internalType": "uint256" }, { "name": "tokensLocked_", "type": "uint256", "internalType": "uint256" }, { "name": "tokensLockedUntil_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "delegationTaxPercentage()": "e6aeb796", "getDelegation(address,address)": "15049a5a" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"delegationTaxPercentage\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"taxPercentage_\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_indexer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_delegator\",\"type\":\"address\"}],\"name\":\"getDelegation\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"shares_\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"tokensLocked_\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"tokensLockedUntil_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ITestTheGraphStaking Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/interfaces/ITestTheGraphStaking.sol\":\"ITestTheGraphStaking\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/test/interfaces/ITestTheGraphStaking.sol\":{\"keccak256\":\"0x98549d7cca7b45735f4de59710133858cce0e3869f02284b1ae64d3878e33027\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d91d6f90955d9fd39da25665338c866ebedc6fb9d82d6ea8582d24d3807ead96\",\"dweb:/ipfs/QmRYAdHKqK6bFK75hCjLX1s87P2CgHqjY4u1wBFNj7uFaB\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [], "stateMutability": "view", "type": "function", "name": "delegationTaxPercentage", "outputs": [ { "internalType": "uint32", "name": "taxPercentage_", "type": "uint32" } ] }, { "inputs": [ { "internalType": "address", "name": "_indexer", "type": "address" }, { "internalType": "address", "name": "_delegator", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getDelegation", "outputs": [ { "internalType": "uint256", "name": "shares_", "type": "uint256" }, { "internalType": "uint256", "name": "tokensLocked_", "type": "uint256" }, { "internalType": "uint256", "name": "tokensLockedUntil_", "type": "uint256" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/test/interfaces/ITestTheGraphStaking.sol": "ITestTheGraphStaking" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/test/interfaces/ITestTheGraphStaking.sol": { "keccak256": "0x98549d7cca7b45735f4de59710133858cce0e3869f02284b1ae64d3878e33027", "urls": [ "bzz-raw://d91d6f90955d9fd39da25665338c866ebedc6fb9d82d6ea8582d24d3807ead96", "dweb:/ipfs/QmRYAdHKqK6bFK75hCjLX1s87P2CgHqjY4u1wBFNj7uFaB" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 428 } diff --git a/eth_defi/abi/enzyme/ITestUniswapV2Pair.json b/eth_defi/abi/enzyme/ITestUniswapV2Pair.json index 17cbf5af..feebfb10 100644 --- a/eth_defi/abi/enzyme/ITestUniswapV2Pair.json +++ b/eth_defi/abi/enzyme/ITestUniswapV2Pair.json @@ -1,236 +1 @@ -{ - "abi": [ - { - "inputs": [], - "name": "getReserves", - "outputs": [ - { - "internalType": "uint112", - "name": "reserve0_", - "type": "uint112" - }, - { - "internalType": "uint112", - "name": "reserve1_", - "type": "uint112" - }, - { - "internalType": "uint32", - "name": "blockTimestampLast_", - "type": "uint32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "kLast", - "outputs": [ - { - "internalType": "uint256", - "name": "kLast_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "token0", - "outputs": [ - { - "internalType": "address", - "name": "token0_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "token1", - "outputs": [ - { - "internalType": "address", - "name": "token1_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "supply_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "getReserves()": "0902f1ac", - "kLast()": "7464fc3d", - "token0()": "0dfe1681", - "token1()": "d21220a7", - "totalSupply()": "18160ddd" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"getReserves\",\"outputs\":[{\"internalType\":\"uint112\",\"name\":\"reserve0_\",\"type\":\"uint112\"},{\"internalType\":\"uint112\",\"name\":\"reserve1_\",\"type\":\"uint112\"},{\"internalType\":\"uint32\",\"name\":\"blockTimestampLast_\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"kLast\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"kLast_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"token0\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"token0_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"token1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"token1_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"supply_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ITestUniswapV2Pair Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/interfaces/ITestUniswapV2Pair.sol\":\"ITestUniswapV2Pair\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/test/interfaces/ITestUniswapV2Pair.sol\":{\"keccak256\":\"0x24a449f0a16a38b8e4f8fa838aabd083690b3bd482efc6ed091fe15e79972386\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://590e6f4b66a67a5e71e399ab5356042ae01af0c985482ba9b6c4d48b00ec33f2\",\"dweb:/ipfs/QmbtucZ25AfwsUVHkQRc6RadGVi8vUsJAkAJAZHiSrc4VL\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getReserves", - "outputs": [ - { - "internalType": "uint112", - "name": "reserve0_", - "type": "uint112" - }, - { - "internalType": "uint112", - "name": "reserve1_", - "type": "uint112" - }, - { - "internalType": "uint32", - "name": "blockTimestampLast_", - "type": "uint32" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "kLast", - "outputs": [ - { - "internalType": "uint256", - "name": "kLast_", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "token0", - "outputs": [ - { - "internalType": "address", - "name": "token0_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "token1", - "outputs": [ - { - "internalType": "address", - "name": "token1_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "supply_", - "type": "uint256" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/test/interfaces/ITestUniswapV2Pair.sol": "ITestUniswapV2Pair" - }, - "libraries": {} - }, - "sources": { - "contracts/test/interfaces/ITestUniswapV2Pair.sol": { - "keccak256": "0x24a449f0a16a38b8e4f8fa838aabd083690b3bd482efc6ed091fe15e79972386", - "urls": [ - "bzz-raw://590e6f4b66a67a5e71e399ab5356042ae01af0c985482ba9b6c4d48b00ec33f2", - "dweb:/ipfs/QmbtucZ25AfwsUVHkQRc6RadGVi8vUsJAkAJAZHiSrc4VL" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 429 -} +{ "abi": [ { "type": "function", "name": "getReserves", "inputs": [], "outputs": [ { "name": "reserve0_", "type": "uint112", "internalType": "uint112" }, { "name": "reserve1_", "type": "uint112", "internalType": "uint112" }, { "name": "blockTimestampLast_", "type": "uint32", "internalType": "uint32" } ], "stateMutability": "view" }, { "type": "function", "name": "kLast", "inputs": [], "outputs": [ { "name": "kLast_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "token0", "inputs": [], "outputs": [ { "name": "token0_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "token1", "inputs": [], "outputs": [ { "name": "token1_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "totalSupply", "inputs": [], "outputs": [ { "name": "supply_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "getReserves()": "0902f1ac", "kLast()": "7464fc3d", "token0()": "0dfe1681", "token1()": "d21220a7", "totalSupply()": "18160ddd" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"getReserves\",\"outputs\":[{\"internalType\":\"uint112\",\"name\":\"reserve0_\",\"type\":\"uint112\"},{\"internalType\":\"uint112\",\"name\":\"reserve1_\",\"type\":\"uint112\"},{\"internalType\":\"uint32\",\"name\":\"blockTimestampLast_\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"kLast\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"kLast_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"token0\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"token0_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"token1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"token1_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"supply_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ITestUniswapV2Pair Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/interfaces/ITestUniswapV2Pair.sol\":\"ITestUniswapV2Pair\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/test/interfaces/ITestUniswapV2Pair.sol\":{\"keccak256\":\"0x24a449f0a16a38b8e4f8fa838aabd083690b3bd482efc6ed091fe15e79972386\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://590e6f4b66a67a5e71e399ab5356042ae01af0c985482ba9b6c4d48b00ec33f2\",\"dweb:/ipfs/QmbtucZ25AfwsUVHkQRc6RadGVi8vUsJAkAJAZHiSrc4VL\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [], "stateMutability": "view", "type": "function", "name": "getReserves", "outputs": [ { "internalType": "uint112", "name": "reserve0_", "type": "uint112" }, { "internalType": "uint112", "name": "reserve1_", "type": "uint112" }, { "internalType": "uint32", "name": "blockTimestampLast_", "type": "uint32" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "kLast", "outputs": [ { "internalType": "uint256", "name": "kLast_", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "token0", "outputs": [ { "internalType": "address", "name": "token0_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "token1", "outputs": [ { "internalType": "address", "name": "token1_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "supply_", "type": "uint256" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/test/interfaces/ITestUniswapV2Pair.sol": "ITestUniswapV2Pair" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/test/interfaces/ITestUniswapV2Pair.sol": { "keccak256": "0x24a449f0a16a38b8e4f8fa838aabd083690b3bd482efc6ed091fe15e79972386", "urls": [ "bzz-raw://590e6f4b66a67a5e71e399ab5356042ae01af0c985482ba9b6c4d48b00ec33f2", "dweb:/ipfs/QmbtucZ25AfwsUVHkQRc6RadGVi8vUsJAkAJAZHiSrc4VL" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 429 } diff --git a/eth_defi/abi/enzyme/ITestUniswapV2Router.json b/eth_defi/abi/enzyme/ITestUniswapV2Router.json index 1f3de3a3..23abd678 100644 --- a/eth_defi/abi/enzyme/ITestUniswapV2Router.json +++ b/eth_defi/abi/enzyme/ITestUniswapV2Router.json @@ -1,255 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "uint256", - "name": "_amountIn", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "_path", - "type": "address[]" - } - ], - "name": "getAmountsOut", - "outputs": [ - { - "internalType": "uint256[]", - "name": "amounts_", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_amountA", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_reserveA", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_reserveB", - "type": "uint256" - } - ], - "name": "quote", - "outputs": [ - { - "internalType": "uint256", - "name": "quote_", - "type": "uint256" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_amountIn", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_amountOutMin", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "_path", - "type": "address[]" - }, - { - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_deadline", - "type": "uint256" - } - ], - "name": "swapExactTokensForTokensSupportingFeeOnTransferTokens", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "getAmountsOut(uint256,address[])": "d06ca61f", - "quote(uint256,uint256,uint256)": "ad615dec", - "swapExactTokensForTokensSupportingFeeOnTransferTokens(uint256,uint256,address[],address,uint256)": "5c11d795" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amountIn\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"_path\",\"type\":\"address[]\"}],\"name\":\"getAmountsOut\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"amounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amountA\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_reserveA\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_reserveB\",\"type\":\"uint256\"}],\"name\":\"quote\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"quote_\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amountIn\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_amountOutMin\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"_path\",\"type\":\"address[]\"},{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_deadline\",\"type\":\"uint256\"}],\"name\":\"swapExactTokensForTokensSupportingFeeOnTransferTokens\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ITestUniswapV2Router Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/interfaces/ITestUniswapV2Router.sol\":\"ITestUniswapV2Router\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/test/interfaces/ITestUniswapV2Router.sol\":{\"keccak256\":\"0xa0389c11f7c449226add8d0a6a9df5f3ab935358c490b713f0d57561ec8a816d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9e8b6ea4384e44de424360ed8abfe01471fd631852a3cbdc96b9d6ba2faee8f0\",\"dweb:/ipfs/QmeohiRa5jhz8Bq1kh4xRXR8SHe76ckyjNu1QQFfSbbHMa\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "uint256", - "name": "_amountIn", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "_path", - "type": "address[]" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getAmountsOut", - "outputs": [ - { - "internalType": "uint256[]", - "name": "amounts_", - "type": "uint256[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_amountA", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_reserveA", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_reserveB", - "type": "uint256" - } - ], - "stateMutability": "pure", - "type": "function", - "name": "quote", - "outputs": [ - { - "internalType": "uint256", - "name": "quote_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_amountIn", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_amountOutMin", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "_path", - "type": "address[]" - }, - { - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_deadline", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "swapExactTokensForTokensSupportingFeeOnTransferTokens" - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/test/interfaces/ITestUniswapV2Router.sol": "ITestUniswapV2Router" - }, - "libraries": {} - }, - "sources": { - "contracts/test/interfaces/ITestUniswapV2Router.sol": { - "keccak256": "0xa0389c11f7c449226add8d0a6a9df5f3ab935358c490b713f0d57561ec8a816d", - "urls": [ - "bzz-raw://9e8b6ea4384e44de424360ed8abfe01471fd631852a3cbdc96b9d6ba2faee8f0", - "dweb:/ipfs/QmeohiRa5jhz8Bq1kh4xRXR8SHe76ckyjNu1QQFfSbbHMa" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 430 -} +{ "abi": [ { "type": "function", "name": "getAmountsOut", "inputs": [ { "name": "_amountIn", "type": "uint256", "internalType": "uint256" }, { "name": "_path", "type": "address[]", "internalType": "address[]" } ], "outputs": [ { "name": "amounts_", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "view" }, { "type": "function", "name": "quote", "inputs": [ { "name": "_amountA", "type": "uint256", "internalType": "uint256" }, { "name": "_reserveA", "type": "uint256", "internalType": "uint256" }, { "name": "_reserveB", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "quote_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "pure" }, { "type": "function", "name": "swapExactTokensForTokensSupportingFeeOnTransferTokens", "inputs": [ { "name": "_amountIn", "type": "uint256", "internalType": "uint256" }, { "name": "_amountOutMin", "type": "uint256", "internalType": "uint256" }, { "name": "_path", "type": "address[]", "internalType": "address[]" }, { "name": "_to", "type": "address", "internalType": "address" }, { "name": "_deadline", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "getAmountsOut(uint256,address[])": "d06ca61f", "quote(uint256,uint256,uint256)": "ad615dec", "swapExactTokensForTokensSupportingFeeOnTransferTokens(uint256,uint256,address[],address,uint256)": "5c11d795" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amountIn\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"_path\",\"type\":\"address[]\"}],\"name\":\"getAmountsOut\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"amounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amountA\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_reserveA\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_reserveB\",\"type\":\"uint256\"}],\"name\":\"quote\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"quote_\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amountIn\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_amountOutMin\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"_path\",\"type\":\"address[]\"},{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_deadline\",\"type\":\"uint256\"}],\"name\":\"swapExactTokensForTokensSupportingFeeOnTransferTokens\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ITestUniswapV2Router Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/interfaces/ITestUniswapV2Router.sol\":\"ITestUniswapV2Router\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/test/interfaces/ITestUniswapV2Router.sol\":{\"keccak256\":\"0xa0389c11f7c449226add8d0a6a9df5f3ab935358c490b713f0d57561ec8a816d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9e8b6ea4384e44de424360ed8abfe01471fd631852a3cbdc96b9d6ba2faee8f0\",\"dweb:/ipfs/QmeohiRa5jhz8Bq1kh4xRXR8SHe76ckyjNu1QQFfSbbHMa\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "uint256", "name": "_amountIn", "type": "uint256" }, { "internalType": "address[]", "name": "_path", "type": "address[]" } ], "stateMutability": "view", "type": "function", "name": "getAmountsOut", "outputs": [ { "internalType": "uint256[]", "name": "amounts_", "type": "uint256[]" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_amountA", "type": "uint256" }, { "internalType": "uint256", "name": "_reserveA", "type": "uint256" }, { "internalType": "uint256", "name": "_reserveB", "type": "uint256" } ], "stateMutability": "pure", "type": "function", "name": "quote", "outputs": [ { "internalType": "uint256", "name": "quote_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_amountIn", "type": "uint256" }, { "internalType": "uint256", "name": "_amountOutMin", "type": "uint256" }, { "internalType": "address[]", "name": "_path", "type": "address[]" }, { "internalType": "address", "name": "_to", "type": "address" }, { "internalType": "uint256", "name": "_deadline", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "swapExactTokensForTokensSupportingFeeOnTransferTokens" } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/test/interfaces/ITestUniswapV2Router.sol": "ITestUniswapV2Router" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/test/interfaces/ITestUniswapV2Router.sol": { "keccak256": "0xa0389c11f7c449226add8d0a6a9df5f3ab935358c490b713f0d57561ec8a816d", "urls": [ "bzz-raw://9e8b6ea4384e44de424360ed8abfe01471fd631852a3cbdc96b9d6ba2faee8f0", "dweb:/ipfs/QmeohiRa5jhz8Bq1kh4xRXR8SHe76ckyjNu1QQFfSbbHMa" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 430 } diff --git a/eth_defi/abi/enzyme/ITestUniswapV3NonFungibleTokenManager.json b/eth_defi/abi/enzyme/ITestUniswapV3NonFungibleTokenManager.json index 148c081e..84cb2519 100644 --- a/eth_defi/abi/enzyme/ITestUniswapV3NonFungibleTokenManager.json +++ b/eth_defi/abi/enzyme/ITestUniswapV3NonFungibleTokenManager.json @@ -1,230 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "uint256", - "name": "_tokenId", - "type": "uint256" - } - ], - "name": "positions", - "outputs": [ - { - "internalType": "uint96", - "name": "nonce_", - "type": "uint96" - }, - { - "internalType": "address", - "name": "operator_", - "type": "address" - }, - { - "internalType": "address", - "name": "token0_", - "type": "address" - }, - { - "internalType": "address", - "name": "token1_", - "type": "address" - }, - { - "internalType": "uint24", - "name": "fee_", - "type": "uint24" - }, - { - "internalType": "int24", - "name": "tickLower_", - "type": "int24" - }, - { - "internalType": "int24", - "name": "tickUpper_", - "type": "int24" - }, - { - "internalType": "uint128", - "name": "liquidity_", - "type": "uint128" - }, - { - "internalType": "uint256", - "name": "feeGrowthInside0LastX128_", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "feeGrowthInside1LastX128_", - "type": "uint256" - }, - { - "internalType": "uint128", - "name": "tokensOwed0_", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "tokensOwed1_", - "type": "uint128" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "positions(uint256)": "99fbab88" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"positions\",\"outputs\":[{\"internalType\":\"uint96\",\"name\":\"nonce_\",\"type\":\"uint96\"},{\"internalType\":\"address\",\"name\":\"operator_\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token0_\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token1_\",\"type\":\"address\"},{\"internalType\":\"uint24\",\"name\":\"fee_\",\"type\":\"uint24\"},{\"internalType\":\"int24\",\"name\":\"tickLower_\",\"type\":\"int24\"},{\"internalType\":\"int24\",\"name\":\"tickUpper_\",\"type\":\"int24\"},{\"internalType\":\"uint128\",\"name\":\"liquidity_\",\"type\":\"uint128\"},{\"internalType\":\"uint256\",\"name\":\"feeGrowthInside0LastX128_\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"feeGrowthInside1LastX128_\",\"type\":\"uint256\"},{\"internalType\":\"uint128\",\"name\":\"tokensOwed0_\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"tokensOwed1_\",\"type\":\"uint128\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ITestUniswapV3NonFungibleTokenManager Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/interfaces/ITestUniswapV3NonFungibleTokenManager.sol\":\"ITestUniswapV3NonFungibleTokenManager\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/test/interfaces/ITestUniswapV3NonFungibleTokenManager.sol\":{\"keccak256\":\"0x54c35e576eef445796cadf440c0751ee1c14bc9f753f5105c17f0ef9b6f79267\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d6b68a55adb2e2ab70c18fb65793ed1d5ac325bab3d353d5c0c9e151cf5ac1c6\",\"dweb:/ipfs/QmRSNUGiA3iZWWJzPFzw5XXaicXbmRFHcWJTgWwx4nYUAx\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "uint256", - "name": "_tokenId", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "positions", - "outputs": [ - { - "internalType": "uint96", - "name": "nonce_", - "type": "uint96" - }, - { - "internalType": "address", - "name": "operator_", - "type": "address" - }, - { - "internalType": "address", - "name": "token0_", - "type": "address" - }, - { - "internalType": "address", - "name": "token1_", - "type": "address" - }, - { - "internalType": "uint24", - "name": "fee_", - "type": "uint24" - }, - { - "internalType": "int24", - "name": "tickLower_", - "type": "int24" - }, - { - "internalType": "int24", - "name": "tickUpper_", - "type": "int24" - }, - { - "internalType": "uint128", - "name": "liquidity_", - "type": "uint128" - }, - { - "internalType": "uint256", - "name": "feeGrowthInside0LastX128_", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "feeGrowthInside1LastX128_", - "type": "uint256" - }, - { - "internalType": "uint128", - "name": "tokensOwed0_", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "tokensOwed1_", - "type": "uint128" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/test/interfaces/ITestUniswapV3NonFungibleTokenManager.sol": "ITestUniswapV3NonFungibleTokenManager" - }, - "libraries": {} - }, - "sources": { - "contracts/test/interfaces/ITestUniswapV3NonFungibleTokenManager.sol": { - "keccak256": "0x54c35e576eef445796cadf440c0751ee1c14bc9f753f5105c17f0ef9b6f79267", - "urls": [ - "bzz-raw://d6b68a55adb2e2ab70c18fb65793ed1d5ac325bab3d353d5c0c9e151cf5ac1c6", - "dweb:/ipfs/QmRSNUGiA3iZWWJzPFzw5XXaicXbmRFHcWJTgWwx4nYUAx" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 431 -} +{ "abi": [ { "type": "function", "name": "positions", "inputs": [ { "name": "_tokenId", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "nonce_", "type": "uint96", "internalType": "uint96" }, { "name": "operator_", "type": "address", "internalType": "address" }, { "name": "token0_", "type": "address", "internalType": "address" }, { "name": "token1_", "type": "address", "internalType": "address" }, { "name": "fee_", "type": "uint24", "internalType": "uint24" }, { "name": "tickLower_", "type": "int24", "internalType": "int24" }, { "name": "tickUpper_", "type": "int24", "internalType": "int24" }, { "name": "liquidity_", "type": "uint128", "internalType": "uint128" }, { "name": "feeGrowthInside0LastX128_", "type": "uint256", "internalType": "uint256" }, { "name": "feeGrowthInside1LastX128_", "type": "uint256", "internalType": "uint256" }, { "name": "tokensOwed0_", "type": "uint128", "internalType": "uint128" }, { "name": "tokensOwed1_", "type": "uint128", "internalType": "uint128" } ], "stateMutability": "view" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "positions(uint256)": "99fbab88" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_tokenId\",\"type\":\"uint256\"}],\"name\":\"positions\",\"outputs\":[{\"internalType\":\"uint96\",\"name\":\"nonce_\",\"type\":\"uint96\"},{\"internalType\":\"address\",\"name\":\"operator_\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token0_\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token1_\",\"type\":\"address\"},{\"internalType\":\"uint24\",\"name\":\"fee_\",\"type\":\"uint24\"},{\"internalType\":\"int24\",\"name\":\"tickLower_\",\"type\":\"int24\"},{\"internalType\":\"int24\",\"name\":\"tickUpper_\",\"type\":\"int24\"},{\"internalType\":\"uint128\",\"name\":\"liquidity_\",\"type\":\"uint128\"},{\"internalType\":\"uint256\",\"name\":\"feeGrowthInside0LastX128_\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"feeGrowthInside1LastX128_\",\"type\":\"uint256\"},{\"internalType\":\"uint128\",\"name\":\"tokensOwed0_\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"tokensOwed1_\",\"type\":\"uint128\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ITestUniswapV3NonFungibleTokenManager Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/interfaces/ITestUniswapV3NonFungibleTokenManager.sol\":\"ITestUniswapV3NonFungibleTokenManager\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/test/interfaces/ITestUniswapV3NonFungibleTokenManager.sol\":{\"keccak256\":\"0x54c35e576eef445796cadf440c0751ee1c14bc9f753f5105c17f0ef9b6f79267\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d6b68a55adb2e2ab70c18fb65793ed1d5ac325bab3d353d5c0c9e151cf5ac1c6\",\"dweb:/ipfs/QmRSNUGiA3iZWWJzPFzw5XXaicXbmRFHcWJTgWwx4nYUAx\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "uint256", "name": "_tokenId", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "positions", "outputs": [ { "internalType": "uint96", "name": "nonce_", "type": "uint96" }, { "internalType": "address", "name": "operator_", "type": "address" }, { "internalType": "address", "name": "token0_", "type": "address" }, { "internalType": "address", "name": "token1_", "type": "address" }, { "internalType": "uint24", "name": "fee_", "type": "uint24" }, { "internalType": "int24", "name": "tickLower_", "type": "int24" }, { "internalType": "int24", "name": "tickUpper_", "type": "int24" }, { "internalType": "uint128", "name": "liquidity_", "type": "uint128" }, { "internalType": "uint256", "name": "feeGrowthInside0LastX128_", "type": "uint256" }, { "internalType": "uint256", "name": "feeGrowthInside1LastX128_", "type": "uint256" }, { "internalType": "uint128", "name": "tokensOwed0_", "type": "uint128" }, { "internalType": "uint128", "name": "tokensOwed1_", "type": "uint128" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/test/interfaces/ITestUniswapV3NonFungibleTokenManager.sol": "ITestUniswapV3NonFungibleTokenManager" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/test/interfaces/ITestUniswapV3NonFungibleTokenManager.sol": { "keccak256": "0x54c35e576eef445796cadf440c0751ee1c14bc9f753f5105c17f0ef9b6f79267", "urls": [ "bzz-raw://d6b68a55adb2e2ab70c18fb65793ed1d5ac325bab3d353d5c0c9e151cf5ac1c6", "dweb:/ipfs/QmRSNUGiA3iZWWJzPFzw5XXaicXbmRFHcWJTgWwx4nYUAx" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 431 } diff --git a/eth_defi/abi/enzyme/ITestVotiumMultiMerkleStash.json b/eth_defi/abi/enzyme/ITestVotiumMultiMerkleStash.json index a6173ccb..8476cb29 100644 --- a/eth_defi/abi/enzyme/ITestVotiumMultiMerkleStash.json +++ b/eth_defi/abi/enzyme/ITestVotiumMultiMerkleStash.json @@ -1,144 +1 @@ -{ - "abi": [ - { - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "owner_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "_merkleRoot", - "type": "bytes32" - } - ], - "name": "updateMerkleRoot", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "owner()": "8da5cb5b", - "updateMerkleRoot(address,bytes32)": "e786818e" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"_merkleRoot\",\"type\":\"bytes32\"}],\"name\":\"updateMerkleRoot\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ITestVotiumMultiMerkleStash Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/interfaces/ITestVotiumMultiMerkleStash.sol\":\"ITestVotiumMultiMerkleStash\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/test/interfaces/ITestVotiumMultiMerkleStash.sol\":{\"keccak256\":\"0x7cae486c7755f86bb892f31bcb6b7711b4767f380dda79fd5ffe041377fdf041\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://cdd56141fb86ad9b7a98c25e21e1d6eb8726bebd4432deccc7f89927fd3fe919\",\"dweb:/ipfs/QmYnzRqdJ6xz9UecXTQraEYTi2fYZoXfq78ai1shxfCNNr\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "owner_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "_merkleRoot", - "type": "bytes32" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "updateMerkleRoot" - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/test/interfaces/ITestVotiumMultiMerkleStash.sol": "ITestVotiumMultiMerkleStash" - }, - "libraries": {} - }, - "sources": { - "contracts/test/interfaces/ITestVotiumMultiMerkleStash.sol": { - "keccak256": "0x7cae486c7755f86bb892f31bcb6b7711b4767f380dda79fd5ffe041377fdf041", - "urls": [ - "bzz-raw://cdd56141fb86ad9b7a98c25e21e1d6eb8726bebd4432deccc7f89927fd3fe919", - "dweb:/ipfs/QmYnzRqdJ6xz9UecXTQraEYTi2fYZoXfq78ai1shxfCNNr" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 432 -} +{ "abi": [ { "type": "function", "name": "owner", "inputs": [], "outputs": [ { "name": "owner_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "updateMerkleRoot", "inputs": [ { "name": "_token", "type": "address", "internalType": "address" }, { "name": "_merkleRoot", "type": "bytes32", "internalType": "bytes32" } ], "outputs": [], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "owner()": "8da5cb5b", "updateMerkleRoot(address,bytes32)": "e786818e" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"_merkleRoot\",\"type\":\"bytes32\"}],\"name\":\"updateMerkleRoot\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ITestVotiumMultiMerkleStash Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/interfaces/ITestVotiumMultiMerkleStash.sol\":\"ITestVotiumMultiMerkleStash\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/test/interfaces/ITestVotiumMultiMerkleStash.sol\":{\"keccak256\":\"0x7cae486c7755f86bb892f31bcb6b7711b4767f380dda79fd5ffe041377fdf041\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://cdd56141fb86ad9b7a98c25e21e1d6eb8726bebd4432deccc7f89927fd3fe919\",\"dweb:/ipfs/QmYnzRqdJ6xz9UecXTQraEYTi2fYZoXfq78ai1shxfCNNr\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [], "stateMutability": "view", "type": "function", "name": "owner", "outputs": [ { "internalType": "address", "name": "owner_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_token", "type": "address" }, { "internalType": "bytes32", "name": "_merkleRoot", "type": "bytes32" } ], "stateMutability": "nonpayable", "type": "function", "name": "updateMerkleRoot" } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/test/interfaces/ITestVotiumMultiMerkleStash.sol": "ITestVotiumMultiMerkleStash" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/test/interfaces/ITestVotiumMultiMerkleStash.sol": { "keccak256": "0x7cae486c7755f86bb892f31bcb6b7711b4767f380dda79fd5ffe041377fdf041", "urls": [ "bzz-raw://cdd56141fb86ad9b7a98c25e21e1d6eb8726bebd4432deccc7f89927fd3fe919", "dweb:/ipfs/QmYnzRqdJ6xz9UecXTQraEYTi2fYZoXfq78ai1shxfCNNr" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 432 } diff --git a/eth_defi/abi/enzyme/ITestWETH.json b/eth_defi/abi/enzyme/ITestWETH.json index 2846968f..8bdfeeba 100644 --- a/eth_defi/abi/enzyme/ITestWETH.json +++ b/eth_defi/abi/enzyme/ITestWETH.json @@ -1,623 +1 @@ -{ - "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": "destination", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Deposit", - "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" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "source", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "Withdrawal", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - }, - { - "internalType": "address", - "name": "_spender", - "type": "address" - } - ], - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "amount_", - "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": "success_", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_account", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "balance_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "decimals_", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "deposit", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "symbol_", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "supply_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "success_", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_sender", - "type": "address" - }, - { - "internalType": "address", - "name": "_recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "success_", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "amount_", - "type": "uint256" - } - ], - "name": "withdraw", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "allowance(address,address)": "dd62ed3e", - "approve(address,uint256)": "095ea7b3", - "balanceOf(address)": "70a08231", - "decimals()": "313ce567", - "deposit()": "d0e30db0", - "symbol()": "95d89b41", - "totalSupply()": "18160ddd", - "transfer(address,uint256)": "a9059cbb", - "transferFrom(address,address,uint256)": "23b872dd", - "withdraw(uint256)": "2e1a7d4d" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"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\":\"destination\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Deposit\",\"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\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"source\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Withdrawal\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount_\",\"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\":\"success_\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"decimals_\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"deposit\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"symbol_\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"supply_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success_\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success_\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount_\",\"type\":\"uint256\"}],\"name\":\"withdraw\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ITestWETH Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/interfaces/ITestWETH.sol\":\"ITestWETH\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/test/interfaces/ITestWETH.sol\":{\"keccak256\":\"0xca12a41a69641a58106417d4ed5ad888a4accf46c65ce089d19a3e0286dd1ef4\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8751640a2b4f1e889c73096cee96757c35e43a9dba47a93d92ebe5f198bdc825\",\"dweb:/ipfs/QmYhCuGx9qtVXLah1LZDvTtdkiPyN8nLeK9Hhovg9SX8nq\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "spender", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "Approval", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "destination", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "Deposit", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "to", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "Transfer", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "source", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "Withdrawal", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - }, - { - "internalType": "address", - "name": "_spender", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "amount_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "success_", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_account", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "balance_", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "decimals_", - "type": "uint8" - } - ] - }, - { - "inputs": [], - "stateMutability": "payable", - "type": "function", - "name": "deposit" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "symbol_", - "type": "string" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "supply_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "success_", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_sender", - "type": "address" - }, - { - "internalType": "address", - "name": "_recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "success_", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "amount_", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "withdraw" - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/test/interfaces/ITestWETH.sol": "ITestWETH" - }, - "libraries": {} - }, - "sources": { - "contracts/test/interfaces/ITestWETH.sol": { - "keccak256": "0xca12a41a69641a58106417d4ed5ad888a4accf46c65ce089d19a3e0286dd1ef4", - "urls": [ - "bzz-raw://8751640a2b4f1e889c73096cee96757c35e43a9dba47a93d92ebe5f198bdc825", - "dweb:/ipfs/QmYhCuGx9qtVXLah1LZDvTtdkiPyN8nLeK9Hhovg9SX8nq" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 433 -} +{ "abi": [ { "type": "function", "name": "allowance", "inputs": [ { "name": "_owner", "type": "address", "internalType": "address" }, { "name": "_spender", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "amount_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "approve", "inputs": [ { "name": "_spender", "type": "address", "internalType": "address" }, { "name": "_amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "success_", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "balanceOf", "inputs": [ { "name": "_account", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "balance_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "decimals", "inputs": [], "outputs": [ { "name": "decimals_", "type": "uint8", "internalType": "uint8" } ], "stateMutability": "view" }, { "type": "function", "name": "deposit", "inputs": [], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "symbol", "inputs": [], "outputs": [ { "name": "symbol_", "type": "string", "internalType": "string" } ], "stateMutability": "view" }, { "type": "function", "name": "totalSupply", "inputs": [], "outputs": [ { "name": "supply_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "transfer", "inputs": [ { "name": "_recipient", "type": "address", "internalType": "address" }, { "name": "_amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "success_", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "transferFrom", "inputs": [ { "name": "_sender", "type": "address", "internalType": "address" }, { "name": "_recipient", "type": "address", "internalType": "address" }, { "name": "_amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "success_", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "withdraw", "inputs": [ { "name": "amount_", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "event", "name": "Approval", "inputs": [ { "name": "owner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "spender", "type": "address", "indexed": true, "internalType": "address" }, { "name": "value", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "Deposit", "inputs": [ { "name": "destination", "type": "address", "indexed": true, "internalType": "address" }, { "name": "value", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "Transfer", "inputs": [ { "name": "from", "type": "address", "indexed": true, "internalType": "address" }, { "name": "to", "type": "address", "indexed": true, "internalType": "address" }, { "name": "value", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "Withdrawal", "inputs": [ { "name": "source", "type": "address", "indexed": true, "internalType": "address" }, { "name": "value", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "allowance(address,address)": "dd62ed3e", "approve(address,uint256)": "095ea7b3", "balanceOf(address)": "70a08231", "decimals()": "313ce567", "deposit()": "d0e30db0", "symbol()": "95d89b41", "totalSupply()": "18160ddd", "transfer(address,uint256)": "a9059cbb", "transferFrom(address,address,uint256)": "23b872dd", "withdraw(uint256)": "2e1a7d4d" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"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\":\"destination\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Deposit\",\"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\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"source\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Withdrawal\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount_\",\"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\":\"success_\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"decimals_\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"deposit\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"symbol_\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"supply_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success_\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success_\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount_\",\"type\":\"uint256\"}],\"name\":\"withdraw\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ITestWETH Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/interfaces/ITestWETH.sol\":\"ITestWETH\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/test/interfaces/ITestWETH.sol\":{\"keccak256\":\"0xca12a41a69641a58106417d4ed5ad888a4accf46c65ce089d19a3e0286dd1ef4\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8751640a2b4f1e889c73096cee96757c35e43a9dba47a93d92ebe5f198bdc825\",\"dweb:/ipfs/QmYhCuGx9qtVXLah1LZDvTtdkiPyN8nLeK9Hhovg9SX8nq\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "owner", "type": "address", "indexed": true }, { "internalType": "address", "name": "spender", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "value", "type": "uint256", "indexed": false } ], "type": "event", "name": "Approval", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "destination", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "value", "type": "uint256", "indexed": false } ], "type": "event", "name": "Deposit", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address", "indexed": true }, { "internalType": "address", "name": "to", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "value", "type": "uint256", "indexed": false } ], "type": "event", "name": "Transfer", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "source", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "value", "type": "uint256", "indexed": false } ], "type": "event", "name": "Withdrawal", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "_owner", "type": "address" }, { "internalType": "address", "name": "_spender", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "amount_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "_spender", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "approve", "outputs": [ { "internalType": "bool", "name": "success_", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "_account", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "balance_", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "decimals_", "type": "uint8" } ] }, { "inputs": [], "stateMutability": "payable", "type": "function", "name": "deposit" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "symbol", "outputs": [ { "internalType": "string", "name": "symbol_", "type": "string" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "supply_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "_recipient", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "transfer", "outputs": [ { "internalType": "bool", "name": "success_", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "_sender", "type": "address" }, { "internalType": "address", "name": "_recipient", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "success_", "type": "bool" } ] }, { "inputs": [ { "internalType": "uint256", "name": "amount_", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "withdraw" } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/test/interfaces/ITestWETH.sol": "ITestWETH" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/test/interfaces/ITestWETH.sol": { "keccak256": "0xca12a41a69641a58106417d4ed5ad888a4accf46c65ce089d19a3e0286dd1ef4", "urls": [ "bzz-raw://8751640a2b4f1e889c73096cee96757c35e43a9dba47a93d92ebe5f198bdc825", "dweb:/ipfs/QmYhCuGx9qtVXLah1LZDvTtdkiPyN8nLeK9Hhovg9SX8nq" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 433 } diff --git a/eth_defi/abi/enzyme/ITestYearnVaultV2.json b/eth_defi/abi/enzyme/ITestYearnVaultV2.json index 8ea8bd87..7eff7ae4 100644 --- a/eth_defi/abi/enzyme/ITestYearnVaultV2.json +++ b/eth_defi/abi/enzyme/ITestYearnVaultV2.json @@ -1,243 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "uint256", - "name": "_depositAmount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_recipient", - "type": "address" - } - ], - "name": "deposit", - "outputs": [ - { - "internalType": "uint256", - "name": "amount_", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "pricePerShare", - "outputs": [ - { - "internalType": "uint256", - "name": "price_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "token", - "outputs": [ - { - "internalType": "address", - "name": "asset_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_maxShares", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_maxLoss", - "type": "uint256" - } - ], - "name": "withdraw", - "outputs": [ - { - "internalType": "uint256", - "name": "amount_", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "deposit(uint256,address)": "6e553f65", - "pricePerShare()": "99530b06", - "token()": "fc0c546a", - "withdraw(uint256,address,uint256)": "e63697c8" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_depositAmount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_recipient\",\"type\":\"address\"}],\"name\":\"deposit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pricePerShare\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"price_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"asset_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_maxShares\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_maxLoss\",\"type\":\"uint256\"}],\"name\":\"withdraw\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ITestYearnVaultV2 Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/interfaces/ITestYearnVaultV2.sol\":\"ITestYearnVaultV2\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/test/interfaces/ITestYearnVaultV2.sol\":{\"keccak256\":\"0xbe472504da2f1d84b83b898e95188a5e5f4e0f0aa141f9bb383ba03d0fb5c3a4\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c95feb6e88ca1ff6d0c42e4c5c44033a73f3663922236e48e82eca5dd26e4f27\",\"dweb:/ipfs/QmZBYH7g7Yr296W5wzuedz6qNuzbZ4MUXs9u1hPTrMzgHc\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "uint256", - "name": "_depositAmount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_recipient", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "deposit", - "outputs": [ - { - "internalType": "uint256", - "name": "amount_", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "pricePerShare", - "outputs": [ - { - "internalType": "uint256", - "name": "price_", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "token", - "outputs": [ - { - "internalType": "address", - "name": "asset_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_maxShares", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_maxLoss", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "withdraw", - "outputs": [ - { - "internalType": "uint256", - "name": "amount_", - "type": "uint256" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/test/interfaces/ITestYearnVaultV2.sol": "ITestYearnVaultV2" - }, - "libraries": {} - }, - "sources": { - "contracts/test/interfaces/ITestYearnVaultV2.sol": { - "keccak256": "0xbe472504da2f1d84b83b898e95188a5e5f4e0f0aa141f9bb383ba03d0fb5c3a4", - "urls": [ - "bzz-raw://c95feb6e88ca1ff6d0c42e4c5c44033a73f3663922236e48e82eca5dd26e4f27", - "dweb:/ipfs/QmZBYH7g7Yr296W5wzuedz6qNuzbZ4MUXs9u1hPTrMzgHc" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 434 -} +{ "abi": [ { "type": "function", "name": "deposit", "inputs": [ { "name": "_depositAmount", "type": "uint256", "internalType": "uint256" }, { "name": "_recipient", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "amount_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "pricePerShare", "inputs": [], "outputs": [ { "name": "price_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "token", "inputs": [], "outputs": [ { "name": "asset_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "withdraw", "inputs": [ { "name": "_maxShares", "type": "uint256", "internalType": "uint256" }, { "name": "_recipient", "type": "address", "internalType": "address" }, { "name": "_maxLoss", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "amount_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "deposit(uint256,address)": "6e553f65", "pricePerShare()": "99530b06", "token()": "fc0c546a", "withdraw(uint256,address,uint256)": "e63697c8" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_depositAmount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_recipient\",\"type\":\"address\"}],\"name\":\"deposit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pricePerShare\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"price_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"asset_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_maxShares\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_maxLoss\",\"type\":\"uint256\"}],\"name\":\"withdraw\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ITestYearnVaultV2 Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/interfaces/ITestYearnVaultV2.sol\":\"ITestYearnVaultV2\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/test/interfaces/ITestYearnVaultV2.sol\":{\"keccak256\":\"0xbe472504da2f1d84b83b898e95188a5e5f4e0f0aa141f9bb383ba03d0fb5c3a4\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c95feb6e88ca1ff6d0c42e4c5c44033a73f3663922236e48e82eca5dd26e4f27\",\"dweb:/ipfs/QmZBYH7g7Yr296W5wzuedz6qNuzbZ4MUXs9u1hPTrMzgHc\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "uint256", "name": "_depositAmount", "type": "uint256" }, { "internalType": "address", "name": "_recipient", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "deposit", "outputs": [ { "internalType": "uint256", "name": "amount_", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "pricePerShare", "outputs": [ { "internalType": "uint256", "name": "price_", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "token", "outputs": [ { "internalType": "address", "name": "asset_", "type": "address" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_maxShares", "type": "uint256" }, { "internalType": "address", "name": "_recipient", "type": "address" }, { "internalType": "uint256", "name": "_maxLoss", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "withdraw", "outputs": [ { "internalType": "uint256", "name": "amount_", "type": "uint256" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/test/interfaces/ITestYearnVaultV2.sol": "ITestYearnVaultV2" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/test/interfaces/ITestYearnVaultV2.sol": { "keccak256": "0xbe472504da2f1d84b83b898e95188a5e5f4e0f0aa141f9bb383ba03d0fb5c3a4", "urls": [ "bzz-raw://c95feb6e88ca1ff6d0c42e4c5c44033a73f3663922236e48e82eca5dd26e4f27", "dweb:/ipfs/QmZBYH7g7Yr296W5wzuedz6qNuzbZ4MUXs9u1hPTrMzgHc" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 434 } diff --git a/eth_defi/abi/enzyme/ITheGraphDelegationPosition.json b/eth_defi/abi/enzyme/ITheGraphDelegationPosition.json index ccafde9c..e01b998d 100644 --- a/eth_defi/abi/enzyme/ITheGraphDelegationPosition.json +++ b/eth_defi/abi/enzyme/ITheGraphDelegationPosition.json @@ -1,215 +1 @@ -{ - "abi": [ - { - "inputs": [], - "name": "getDebtAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getManagedAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "init", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "receiveCallFromVault", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "getDebtAssets()": "ecd658b4", - "getManagedAssets()": "80daddb8", - "init(bytes)": "4ddf47d4", - "receiveCallFromVault(bytes)": "e5c23a97" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"getDebtAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getManagedAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"receiveCallFromVault\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ITheGraphDelegationPosition Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/the-graph-delegation/ITheGraphDelegationPosition.sol\":\"ITheGraphDelegationPosition\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/release/extensions/external-position-manager/external-positions/the-graph-delegation/ITheGraphDelegationPosition.sol\":{\"keccak256\":\"0xf84f115648356acfbe30c99a2bf68ac418c399da8cdc70735ef080036a5ea412\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://4f8603ad119f92c6ed7a953a61ecf02e7a3499b915995e63302c80b4c6ee2f89\",\"dweb:/ipfs/QmcCs6xqLHndv9FbK2pHEK6YKGVui43HYonQPnyx3HqaCP\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "getDebtAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ] - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "getManagedAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "init" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "receiveCallFromVault" - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/external-position-manager/external-positions/the-graph-delegation/ITheGraphDelegationPosition.sol": "ITheGraphDelegationPosition" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/external-positions/IExternalPosition.sol": { - "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", - "urls": [ - "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", - "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/the-graph-delegation/ITheGraphDelegationPosition.sol": { - "keccak256": "0xf84f115648356acfbe30c99a2bf68ac418c399da8cdc70735ef080036a5ea412", - "urls": [ - "bzz-raw://4f8603ad119f92c6ed7a953a61ecf02e7a3499b915995e63302c80b4c6ee2f89", - "dweb:/ipfs/QmcCs6xqLHndv9FbK2pHEK6YKGVui43HYonQPnyx3HqaCP" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 138 -} +{ "abi": [ { "type": "function", "name": "getDebtAssets", "inputs": [], "outputs": [ { "name": "", "type": "address[]", "internalType": "address[]" }, { "name": "", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "getManagedAssets", "inputs": [], "outputs": [ { "name": "", "type": "address[]", "internalType": "address[]" }, { "name": "", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "init", "inputs": [ { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "receiveCallFromVault", "inputs": [ { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "getDebtAssets()": "ecd658b4", "getManagedAssets()": "80daddb8", "init(bytes)": "4ddf47d4", "receiveCallFromVault(bytes)": "e5c23a97" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"getDebtAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getManagedAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"receiveCallFromVault\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ITheGraphDelegationPosition Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/the-graph-delegation/ITheGraphDelegationPosition.sol\":\"ITheGraphDelegationPosition\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/release/extensions/external-position-manager/external-positions/the-graph-delegation/ITheGraphDelegationPosition.sol\":{\"keccak256\":\"0xf84f115648356acfbe30c99a2bf68ac418c399da8cdc70735ef080036a5ea412\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://4f8603ad119f92c6ed7a953a61ecf02e7a3499b915995e63302c80b4c6ee2f89\",\"dweb:/ipfs/QmcCs6xqLHndv9FbK2pHEK6YKGVui43HYonQPnyx3HqaCP\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "getDebtAssets", "outputs": [ { "internalType": "address[]", "name": "", "type": "address[]" }, { "internalType": "uint256[]", "name": "", "type": "uint256[]" } ] }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "getManagedAssets", "outputs": [ { "internalType": "address[]", "name": "", "type": "address[]" }, { "internalType": "uint256[]", "name": "", "type": "uint256[]" } ] }, { "inputs": [ { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "init" }, { "inputs": [ { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "receiveCallFromVault" } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/external-position-manager/external-positions/the-graph-delegation/ITheGraphDelegationPosition.sol": "ITheGraphDelegationPosition" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/external-positions/IExternalPosition.sol": { "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", "urls": [ "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/the-graph-delegation/ITheGraphDelegationPosition.sol": { "keccak256": "0xf84f115648356acfbe30c99a2bf68ac418c399da8cdc70735ef080036a5ea412", "urls": [ "bzz-raw://4f8603ad119f92c6ed7a953a61ecf02e7a3499b915995e63302c80b4c6ee2f89", "dweb:/ipfs/QmcCs6xqLHndv9FbK2pHEK6YKGVui43HYonQPnyx3HqaCP" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 138 } diff --git a/eth_defi/abi/enzyme/ITheGraphStaking.json b/eth_defi/abi/enzyme/ITheGraphStaking.json index 59713131..a9be567d 100644 --- a/eth_defi/abi/enzyme/ITheGraphStaking.json +++ b/eth_defi/abi/enzyme/ITheGraphStaking.json @@ -1,386 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "delegate", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "delegationPools", - "outputs": [ - { - "internalType": "uint32", - "name": "", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "", - "type": "uint32" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "getDelegation", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "undelegate", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "withdrawDelegated", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "delegate(address,uint256)": "026e402b", - "delegationPools(address)": "92511c8f", - "getDelegation(address,address)": "15049a5a", - "undelegate(address,uint256)": "4d99dd16", - "withdrawDelegated(address,address)": "51a60b02" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"delegate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"delegationPools\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"getDelegation\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"undelegate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"withdrawDelegated\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ITheGraphStaking Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/ITheGraphStaking.sol\":\"ITheGraphStaking\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/ITheGraphStaking.sol\":{\"keccak256\":\"0x5354672fdc2e5f8f71e8958dc42ee9f512b3ba083116c07b0c2d76b6b29180e1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://15aff2ea5c3168fa0ae337b596ca1f0f8d82b987ffa3c861f0451758c648d36b\",\"dweb:/ipfs/QmUYQGbukE2yxJK15jHdjWw3fpMYBV5z5WyubgpmpYjrog\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "delegate", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "delegationPools", - "outputs": [ - { - "internalType": "uint32", - "name": "", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "", - "type": "uint32" - }, - { - "internalType": "uint32", - "name": "", - "type": "uint32" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getDelegation", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "undelegate", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "withdrawDelegated", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/interfaces/ITheGraphStaking.sol": "ITheGraphStaking" - }, - "libraries": {} - }, - "sources": { - "contracts/release/interfaces/ITheGraphStaking.sol": { - "keccak256": "0x5354672fdc2e5f8f71e8958dc42ee9f512b3ba083116c07b0c2d76b6b29180e1", - "urls": [ - "bzz-raw://15aff2ea5c3168fa0ae337b596ca1f0f8d82b987ffa3c861f0451758c648d36b", - "dweb:/ipfs/QmUYQGbukE2yxJK15jHdjWw3fpMYBV5z5WyubgpmpYjrog" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 338 -} +{ "abi": [ { "type": "function", "name": "delegate", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "delegationPools", "inputs": [ { "name": "", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "uint32", "internalType": "uint32" }, { "name": "", "type": "uint32", "internalType": "uint32" }, { "name": "", "type": "uint32", "internalType": "uint32" }, { "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "getDelegation", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "undelegate", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "withdrawDelegated", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "delegate(address,uint256)": "026e402b", "delegationPools(address)": "92511c8f", "getDelegation(address,address)": "15049a5a", "undelegate(address,uint256)": "4d99dd16", "withdrawDelegated(address,address)": "51a60b02" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"delegate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"delegationPools\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"getDelegation\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"undelegate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"withdrawDelegated\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ITheGraphStaking Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/ITheGraphStaking.sol\":\"ITheGraphStaking\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/ITheGraphStaking.sol\":{\"keccak256\":\"0x5354672fdc2e5f8f71e8958dc42ee9f512b3ba083116c07b0c2d76b6b29180e1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://15aff2ea5c3168fa0ae337b596ca1f0f8d82b987ffa3c861f0451758c648d36b\",\"dweb:/ipfs/QmUYQGbukE2yxJK15jHdjWw3fpMYBV5z5WyubgpmpYjrog\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "delegate", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "delegationPools", "outputs": [ { "internalType": "uint32", "name": "", "type": "uint32" }, { "internalType": "uint32", "name": "", "type": "uint32" }, { "internalType": "uint32", "name": "", "type": "uint32" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getDelegation", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "undelegate", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "withdrawDelegated", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/interfaces/ITheGraphStaking.sol": "ITheGraphStaking" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/interfaces/ITheGraphStaking.sol": { "keccak256": "0x5354672fdc2e5f8f71e8958dc42ee9f512b3ba083116c07b0c2d76b6b29180e1", "urls": [ "bzz-raw://15aff2ea5c3168fa0ae337b596ca1f0f8d82b987ffa3c861f0451758c648d36b", "dweb:/ipfs/QmUYQGbukE2yxJK15jHdjWw3fpMYBV5z5WyubgpmpYjrog" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 338 } diff --git a/eth_defi/abi/enzyme/IUniswapV2Factory.json b/eth_defi/abi/enzyme/IUniswapV2Factory.json index b04f4521..38636209 100644 --- a/eth_defi/abi/enzyme/IUniswapV2Factory.json +++ b/eth_defi/abi/enzyme/IUniswapV2Factory.json @@ -1,157 +1 @@ -{ - "abi": [ - { - "inputs": [], - "name": "feeTo", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "getPair", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "feeTo()": "017e7e58", - "getPair(address,address)": "e6a43905" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"feeTo\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"getPair\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IUniswapV2Factory Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Minimal interface for our interactions with the Uniswap V2's Factory contract\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/IUniswapV2Factory.sol\":\"IUniswapV2Factory\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/IUniswapV2Factory.sol\":{\"keccak256\":\"0x644fd15db1e38d724d81d3af48f5141698947fcfc36623f1270fe4d817c4dbef\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ba1d613f3a8f94d87dbbed14b7ebb7ed578e30cfd08ef70a1c7efce502ca07f1\",\"dweb:/ipfs/QmccdQAxVnRUmxNCgVmfmGSFnoQwm3YHmLJ2h9evFvHvAw\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "feeTo", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getPair", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/interfaces/IUniswapV2Factory.sol": "IUniswapV2Factory" - }, - "libraries": {} - }, - "sources": { - "contracts/release/interfaces/IUniswapV2Factory.sol": { - "keccak256": "0x644fd15db1e38d724d81d3af48f5141698947fcfc36623f1270fe4d817c4dbef", - "urls": [ - "bzz-raw://ba1d613f3a8f94d87dbbed14b7ebb7ed578e30cfd08ef70a1c7efce502ca07f1", - "dweb:/ipfs/QmccdQAxVnRUmxNCgVmfmGSFnoQwm3YHmLJ2h9evFvHvAw" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 339 -} +{ "abi": [ { "type": "function", "name": "feeTo", "inputs": [], "outputs": [ { "name": "", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getPair", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "address", "internalType": "address" } ], "stateMutability": "view" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "feeTo()": "017e7e58", "getPair(address,address)": "e6a43905" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"feeTo\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"getPair\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IUniswapV2Factory Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Minimal interface for our interactions with the Uniswap V2's Factory contract\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/IUniswapV2Factory.sol\":\"IUniswapV2Factory\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/IUniswapV2Factory.sol\":{\"keccak256\":\"0x644fd15db1e38d724d81d3af48f5141698947fcfc36623f1270fe4d817c4dbef\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ba1d613f3a8f94d87dbbed14b7ebb7ed578e30cfd08ef70a1c7efce502ca07f1\",\"dweb:/ipfs/QmccdQAxVnRUmxNCgVmfmGSFnoQwm3YHmLJ2h9evFvHvAw\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [], "stateMutability": "view", "type": "function", "name": "feeTo", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getPair", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/interfaces/IUniswapV2Factory.sol": "IUniswapV2Factory" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/interfaces/IUniswapV2Factory.sol": { "keccak256": "0x644fd15db1e38d724d81d3af48f5141698947fcfc36623f1270fe4d817c4dbef", "urls": [ "bzz-raw://ba1d613f3a8f94d87dbbed14b7ebb7ed578e30cfd08ef70a1c7efce502ca07f1", "dweb:/ipfs/QmccdQAxVnRUmxNCgVmfmGSFnoQwm3YHmLJ2h9evFvHvAw" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 339 } diff --git a/eth_defi/abi/enzyme/IUniswapV2Pair.json b/eth_defi/abi/enzyme/IUniswapV2Pair.json index 553268c0..bd8df817 100644 --- a/eth_defi/abi/enzyme/IUniswapV2Pair.json +++ b/eth_defi/abi/enzyme/IUniswapV2Pair.json @@ -1,236 +1 @@ -{ - "abi": [ - { - "inputs": [], - "name": "getReserves", - "outputs": [ - { - "internalType": "uint112", - "name": "", - "type": "uint112" - }, - { - "internalType": "uint112", - "name": "", - "type": "uint112" - }, - { - "internalType": "uint32", - "name": "", - "type": "uint32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "kLast", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "token0", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "token1", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "getReserves()": "0902f1ac", - "kLast()": "7464fc3d", - "token0()": "0dfe1681", - "token1()": "d21220a7", - "totalSupply()": "18160ddd" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"getReserves\",\"outputs\":[{\"internalType\":\"uint112\",\"name\":\"\",\"type\":\"uint112\"},{\"internalType\":\"uint112\",\"name\":\"\",\"type\":\"uint112\"},{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"kLast\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"token0\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"token1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IUniswapV2Pair Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Minimal interface for our interactions with the Uniswap V2's Pair contract\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/IUniswapV2Pair.sol\":\"IUniswapV2Pair\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/IUniswapV2Pair.sol\":{\"keccak256\":\"0xb9c7a1802e5c9e522c7dee20b0511bb55ccc600aef480083f4a6980c9d02c06c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://4bbdf05da4932aad2cff00b4c087896cb6213e71dd366108e7d91d60dbdcaf2f\",\"dweb:/ipfs/Qmd6waypnxTT499zcsH6tFPYyAPLnibSi17m3x84pTPrDh\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getReserves", - "outputs": [ - { - "internalType": "uint112", - "name": "", - "type": "uint112" - }, - { - "internalType": "uint112", - "name": "", - "type": "uint112" - }, - { - "internalType": "uint32", - "name": "", - "type": "uint32" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "kLast", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "token0", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "token1", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/interfaces/IUniswapV2Pair.sol": "IUniswapV2Pair" - }, - "libraries": {} - }, - "sources": { - "contracts/release/interfaces/IUniswapV2Pair.sol": { - "keccak256": "0xb9c7a1802e5c9e522c7dee20b0511bb55ccc600aef480083f4a6980c9d02c06c", - "urls": [ - "bzz-raw://4bbdf05da4932aad2cff00b4c087896cb6213e71dd366108e7d91d60dbdcaf2f", - "dweb:/ipfs/Qmd6waypnxTT499zcsH6tFPYyAPLnibSi17m3x84pTPrDh" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 340 -} +{ "abi": [ { "type": "function", "name": "getReserves", "inputs": [], "outputs": [ { "name": "", "type": "uint112", "internalType": "uint112" }, { "name": "", "type": "uint112", "internalType": "uint112" }, { "name": "", "type": "uint32", "internalType": "uint32" } ], "stateMutability": "view" }, { "type": "function", "name": "kLast", "inputs": [], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "token0", "inputs": [], "outputs": [ { "name": "", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "token1", "inputs": [], "outputs": [ { "name": "", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "totalSupply", "inputs": [], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "getReserves()": "0902f1ac", "kLast()": "7464fc3d", "token0()": "0dfe1681", "token1()": "d21220a7", "totalSupply()": "18160ddd" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"getReserves\",\"outputs\":[{\"internalType\":\"uint112\",\"name\":\"\",\"type\":\"uint112\"},{\"internalType\":\"uint112\",\"name\":\"\",\"type\":\"uint112\"},{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"kLast\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"token0\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"token1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IUniswapV2Pair Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Minimal interface for our interactions with the Uniswap V2's Pair contract\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/IUniswapV2Pair.sol\":\"IUniswapV2Pair\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/IUniswapV2Pair.sol\":{\"keccak256\":\"0xb9c7a1802e5c9e522c7dee20b0511bb55ccc600aef480083f4a6980c9d02c06c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://4bbdf05da4932aad2cff00b4c087896cb6213e71dd366108e7d91d60dbdcaf2f\",\"dweb:/ipfs/Qmd6waypnxTT499zcsH6tFPYyAPLnibSi17m3x84pTPrDh\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [], "stateMutability": "view", "type": "function", "name": "getReserves", "outputs": [ { "internalType": "uint112", "name": "", "type": "uint112" }, { "internalType": "uint112", "name": "", "type": "uint112" }, { "internalType": "uint32", "name": "", "type": "uint32" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "kLast", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "token0", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "token1", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/interfaces/IUniswapV2Pair.sol": "IUniswapV2Pair" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/interfaces/IUniswapV2Pair.sol": { "keccak256": "0xb9c7a1802e5c9e522c7dee20b0511bb55ccc600aef480083f4a6980c9d02c06c", "urls": [ "bzz-raw://4bbdf05da4932aad2cff00b4c087896cb6213e71dd366108e7d91d60dbdcaf2f", "dweb:/ipfs/Qmd6waypnxTT499zcsH6tFPYyAPLnibSi17m3x84pTPrDh" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 340 } diff --git a/eth_defi/abi/enzyme/IUniswapV2Router2.json b/eth_defi/abi/enzyme/IUniswapV2Router2.json index b7100e70..6f9fd564 100644 --- a/eth_defi/abi/enzyme/IUniswapV2Router2.json +++ b/eth_defi/abi/enzyme/IUniswapV2Router2.json @@ -1,385 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "addLiquidity", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "removeLiquidity", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "", - "type": "address[]" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "swapExactTokensForTokensSupportingFeeOnTransferTokens", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)": "e8e33700", - "removeLiquidity(address,address,uint256,uint256,uint256,address,uint256)": "baa2abde", - "swapExactTokensForTokensSupportingFeeOnTransferTokens(uint256,uint256,address[],address,uint256)": "5c11d795" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"addLiquidity\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"removeLiquidity\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"swapExactTokensForTokensSupportingFeeOnTransferTokens\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"Minimal interface for our interactions with Uniswap V2's Router2\",\"kind\":\"dev\",\"methods\":{},\"title\":\"UniswapV2Router2 Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/IUniswapV2Router2.sol\":\"IUniswapV2Router2\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/IUniswapV2Router2.sol\":{\"keccak256\":\"0xe923e9176b7f9e9cf271098966ff4d76248caf65b777fb8c51f07146cce3d0c9\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://14cbb598760aabb151e11816467f7a0c7205cb9a653a1ab723a9934734e23d50\",\"dweb:/ipfs/QmaPRfXKidKqfdBfvxzuNVDQv1FFC8NbexQLF1md53xzz3\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "addLiquidity", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "removeLiquidity", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "", - "type": "address[]" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "swapExactTokensForTokensSupportingFeeOnTransferTokens" - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/interfaces/IUniswapV2Router2.sol": "IUniswapV2Router2" - }, - "libraries": {} - }, - "sources": { - "contracts/release/interfaces/IUniswapV2Router2.sol": { - "keccak256": "0xe923e9176b7f9e9cf271098966ff4d76248caf65b777fb8c51f07146cce3d0c9", - "urls": [ - "bzz-raw://14cbb598760aabb151e11816467f7a0c7205cb9a653a1ab723a9934734e23d50", - "dweb:/ipfs/QmaPRfXKidKqfdBfvxzuNVDQv1FFC8NbexQLF1md53xzz3" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 341 -} +{ "abi": [ { "type": "function", "name": "addLiquidity", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "removeLiquidity", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "swapExactTokensForTokensSupportingFeeOnTransferTokens", "inputs": [ { "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "address[]", "internalType": "address[]" }, { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256)": "e8e33700", "removeLiquidity(address,address,uint256,uint256,uint256,address,uint256)": "baa2abde", "swapExactTokensForTokensSupportingFeeOnTransferTokens(uint256,uint256,address[],address,uint256)": "5c11d795" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"addLiquidity\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"removeLiquidity\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"swapExactTokensForTokensSupportingFeeOnTransferTokens\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"Minimal interface for our interactions with Uniswap V2's Router2\",\"kind\":\"dev\",\"methods\":{},\"title\":\"UniswapV2Router2 Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/IUniswapV2Router2.sol\":\"IUniswapV2Router2\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/IUniswapV2Router2.sol\":{\"keccak256\":\"0xe923e9176b7f9e9cf271098966ff4d76248caf65b777fb8c51f07146cce3d0c9\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://14cbb598760aabb151e11816467f7a0c7205cb9a653a1ab723a9934734e23d50\",\"dweb:/ipfs/QmaPRfXKidKqfdBfvxzuNVDQv1FFC8NbexQLF1md53xzz3\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "address", "name": "", "type": "address" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "address", "name": "", "type": "address" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "addLiquidity", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "address", "name": "", "type": "address" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "address", "name": "", "type": "address" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "removeLiquidity", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "address[]", "name": "", "type": "address[]" }, { "internalType": "address", "name": "", "type": "address" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "swapExactTokensForTokensSupportingFeeOnTransferTokens" } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/interfaces/IUniswapV2Router2.sol": "IUniswapV2Router2" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/interfaces/IUniswapV2Router2.sol": { "keccak256": "0xe923e9176b7f9e9cf271098966ff4d76248caf65b777fb8c51f07146cce3d0c9", "urls": [ "bzz-raw://14cbb598760aabb151e11816467f7a0c7205cb9a653a1ab723a9934734e23d50", "dweb:/ipfs/QmaPRfXKidKqfdBfvxzuNVDQv1FFC8NbexQLF1md53xzz3" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 341 } diff --git a/eth_defi/abi/enzyme/IUniswapV3LiquidityPosition.json b/eth_defi/abi/enzyme/IUniswapV3LiquidityPosition.json index 74ce4dfd..bc34bcd6 100644 --- a/eth_defi/abi/enzyme/IUniswapV3LiquidityPosition.json +++ b/eth_defi/abi/enzyme/IUniswapV3LiquidityPosition.json @@ -1,264 +1 @@ -{ - "abi": [ - { - "inputs": [], - "name": "getDebtAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getManagedAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "getPairForNft", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "init", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "receiveCallFromVault", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "getDebtAssets()": "ecd658b4", - "getManagedAssets()": "80daddb8", - "getPairForNft(uint256)": "eff2452a", - "init(bytes)": "4ddf47d4", - "receiveCallFromVault(bytes)": "e5c23a97" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.7.6+commit.7338295f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"getDebtAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getManagedAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"getPairForNft\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"receiveCallFromVault\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IUnis`wapV3LiquidityPosition Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/uniswap-v3-liquidity/interfaces/IUniswapV3LiquidityPosition.sol\":\"IUniswapV3LiquidityPosition\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/external-position-manager/external-positions/uniswap-v3-liquidity/interfaces/IExternalPositionUniswapV3LiquidityPosition.sol\":{\"keccak256\":\"0x8cd962cedcd165722c29f50f58b575b24a9527da11cca71ece25c5124e5895e8\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://7e66f5fdae8bba39be27d7576f8ae41d094b4e08e91f80c875190949c3eacb0d\",\"dweb:/ipfs/QmSqNkZPomPh2yMD9uDU8BWLWWnd9r1fSoPbitbm87CWqZ\"]},\"contracts/release/extensions/external-position-manager/external-positions/uniswap-v3-liquidity/interfaces/IUniswapV3LiquidityPosition.sol\":{\"keccak256\":\"0x82fd7abb793f369af1de4bd22e0debb6898308aa821df874e2eb1171d1f2c84d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6597e5c74f70e6e3ababc1e357d16d4634380a794d30b8b7ce6c79012d5bdf62\",\"dweb:/ipfs/QmRH1hWJdC2rTvi2WscB5w2Lyj7XUgm8QQLbzeYJxgwdNM\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.7.6+commit.7338295f" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "getDebtAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ] - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "getManagedAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getPairForNft", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "init" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "receiveCallFromVault" - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/external-position-manager/external-positions/uniswap-v3-liquidity/interfaces/IUniswapV3LiquidityPosition.sol": "IUniswapV3LiquidityPosition" - }, - "libraries": {} - }, - "sources": { - "contracts/release/extensions/external-position-manager/external-positions/uniswap-v3-liquidity/interfaces/IExternalPositionUniswapV3LiquidityPosition.sol": { - "keccak256": "0x8cd962cedcd165722c29f50f58b575b24a9527da11cca71ece25c5124e5895e8", - "urls": [ - "bzz-raw://7e66f5fdae8bba39be27d7576f8ae41d094b4e08e91f80c875190949c3eacb0d", - "dweb:/ipfs/QmSqNkZPomPh2yMD9uDU8BWLWWnd9r1fSoPbitbm87CWqZ" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/uniswap-v3-liquidity/interfaces/IUniswapV3LiquidityPosition.sol": { - "keccak256": "0x82fd7abb793f369af1de4bd22e0debb6898308aa821df874e2eb1171d1f2c84d", - "urls": [ - "bzz-raw://6597e5c74f70e6e3ababc1e357d16d4634380a794d30b8b7ce6c79012d5bdf62", - "dweb:/ipfs/QmRH1hWJdC2rTvi2WscB5w2Lyj7XUgm8QQLbzeYJxgwdNM" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 6 -} +{ "abi": [ { "type": "function", "name": "getDebtAssets", "inputs": [], "outputs": [ { "name": "", "type": "address[]", "internalType": "address[]" }, { "name": "", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "getManagedAssets", "inputs": [], "outputs": [ { "name": "", "type": "address[]", "internalType": "address[]" }, { "name": "", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "getPairForNft", "inputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "init", "inputs": [ { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "receiveCallFromVault", "inputs": [ { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "getDebtAssets()": "ecd658b4", "getManagedAssets()": "80daddb8", "getPairForNft(uint256)": "eff2452a", "init(bytes)": "4ddf47d4", "receiveCallFromVault(bytes)": "e5c23a97" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.7.6+commit.7338295f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"getDebtAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getManagedAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"getPairForNft\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"receiveCallFromVault\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IUnis`wapV3LiquidityPosition Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/uniswap-v3-liquidity/interfaces/IUniswapV3LiquidityPosition.sol\":\"IUniswapV3LiquidityPosition\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/external-position-manager/external-positions/uniswap-v3-liquidity/interfaces/IExternalPositionUniswapV3LiquidityPosition.sol\":{\"keccak256\":\"0x8cd962cedcd165722c29f50f58b575b24a9527da11cca71ece25c5124e5895e8\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://7e66f5fdae8bba39be27d7576f8ae41d094b4e08e91f80c875190949c3eacb0d\",\"dweb:/ipfs/QmSqNkZPomPh2yMD9uDU8BWLWWnd9r1fSoPbitbm87CWqZ\"]},\"contracts/release/extensions/external-position-manager/external-positions/uniswap-v3-liquidity/interfaces/IUniswapV3LiquidityPosition.sol\":{\"keccak256\":\"0x82fd7abb793f369af1de4bd22e0debb6898308aa821df874e2eb1171d1f2c84d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6597e5c74f70e6e3ababc1e357d16d4634380a794d30b8b7ce6c79012d5bdf62\",\"dweb:/ipfs/QmRH1hWJdC2rTvi2WscB5w2Lyj7XUgm8QQLbzeYJxgwdNM\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.7.6+commit.7338295f" }, "language": "Solidity", "output": { "abi": [ { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "getDebtAssets", "outputs": [ { "internalType": "address[]", "name": "", "type": "address[]" }, { "internalType": "uint256[]", "name": "", "type": "uint256[]" } ] }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "getManagedAssets", "outputs": [ { "internalType": "address[]", "name": "", "type": "address[]" }, { "internalType": "uint256[]", "name": "", "type": "uint256[]" } ] }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "getPairForNft", "outputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "address", "name": "", "type": "address" } ] }, { "inputs": [ { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "init" }, { "inputs": [ { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "receiveCallFromVault" } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/external-position-manager/external-positions/uniswap-v3-liquidity/interfaces/IUniswapV3LiquidityPosition.sol": "IUniswapV3LiquidityPosition" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/extensions/external-position-manager/external-positions/uniswap-v3-liquidity/interfaces/IExternalPositionUniswapV3LiquidityPosition.sol": { "keccak256": "0x8cd962cedcd165722c29f50f58b575b24a9527da11cca71ece25c5124e5895e8", "urls": [ "bzz-raw://7e66f5fdae8bba39be27d7576f8ae41d094b4e08e91f80c875190949c3eacb0d", "dweb:/ipfs/QmSqNkZPomPh2yMD9uDU8BWLWWnd9r1fSoPbitbm87CWqZ" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/uniswap-v3-liquidity/interfaces/IUniswapV3LiquidityPosition.sol": { "keccak256": "0x82fd7abb793f369af1de4bd22e0debb6898308aa821df874e2eb1171d1f2c84d", "urls": [ "bzz-raw://6597e5c74f70e6e3ababc1e357d16d4634380a794d30b8b7ce6c79012d5bdf62", "dweb:/ipfs/QmRH1hWJdC2rTvi2WscB5w2Lyj7XUgm8QQLbzeYJxgwdNM" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 6 } diff --git a/eth_defi/abi/enzyme/IUniswapV3Pool.json b/eth_defi/abi/enzyme/IUniswapV3Pool.json index 28046e93..2f2bd113 100644 --- a/eth_defi/abi/enzyme/IUniswapV3Pool.json +++ b/eth_defi/abi/enzyme/IUniswapV3Pool.json @@ -1,2381 +1 @@ -{ - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "int24", - "name": "tickLower", - "type": "int24" - }, - { - "indexed": true, - "internalType": "int24", - "name": "tickUpper", - "type": "int24" - }, - { - "indexed": false, - "internalType": "uint128", - "name": "amount", - "type": "uint128" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount0", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount1", - "type": "uint256" - } - ], - "name": "Burn", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "indexed": true, - "internalType": "int24", - "name": "tickLower", - "type": "int24" - }, - { - "indexed": true, - "internalType": "int24", - "name": "tickUpper", - "type": "int24" - }, - { - "indexed": false, - "internalType": "uint128", - "name": "amount0", - "type": "uint128" - }, - { - "indexed": false, - "internalType": "uint128", - "name": "amount1", - "type": "uint128" - } - ], - "name": "Collect", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint128", - "name": "amount0", - "type": "uint128" - }, - { - "indexed": false, - "internalType": "uint128", - "name": "amount1", - "type": "uint128" - } - ], - "name": "CollectProtocol", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount0", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount1", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "paid0", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "paid1", - "type": "uint256" - } - ], - "name": "Flash", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint16", - "name": "observationCardinalityNextOld", - "type": "uint16" - }, - { - "indexed": false, - "internalType": "uint16", - "name": "observationCardinalityNextNew", - "type": "uint16" - } - ], - "name": "IncreaseObservationCardinalityNext", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint160", - "name": "sqrtPriceX96", - "type": "uint160" - }, - { - "indexed": false, - "internalType": "int24", - "name": "tick", - "type": "int24" - } - ], - "name": "Initialize", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "int24", - "name": "tickLower", - "type": "int24" - }, - { - "indexed": true, - "internalType": "int24", - "name": "tickUpper", - "type": "int24" - }, - { - "indexed": false, - "internalType": "uint128", - "name": "amount", - "type": "uint128" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount0", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount1", - "type": "uint256" - } - ], - "name": "Mint", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint8", - "name": "feeProtocol0Old", - "type": "uint8" - }, - { - "indexed": false, - "internalType": "uint8", - "name": "feeProtocol1Old", - "type": "uint8" - }, - { - "indexed": false, - "internalType": "uint8", - "name": "feeProtocol0New", - "type": "uint8" - }, - { - "indexed": false, - "internalType": "uint8", - "name": "feeProtocol1New", - "type": "uint8" - } - ], - "name": "SetFeeProtocol", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "indexed": false, - "internalType": "int256", - "name": "amount0", - "type": "int256" - }, - { - "indexed": false, - "internalType": "int256", - "name": "amount1", - "type": "int256" - }, - { - "indexed": false, - "internalType": "uint160", - "name": "sqrtPriceX96", - "type": "uint160" - }, - { - "indexed": false, - "internalType": "uint128", - "name": "liquidity", - "type": "uint128" - }, - { - "indexed": false, - "internalType": "int24", - "name": "tick", - "type": "int24" - } - ], - "name": "Swap", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "int24", - "name": "tickLower", - "type": "int24" - }, - { - "internalType": "int24", - "name": "tickUpper", - "type": "int24" - }, - { - "internalType": "uint128", - "name": "amount", - "type": "uint128" - } - ], - "name": "burn", - "outputs": [ - { - "internalType": "uint256", - "name": "amount0", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount1", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "int24", - "name": "tickLower", - "type": "int24" - }, - { - "internalType": "int24", - "name": "tickUpper", - "type": "int24" - }, - { - "internalType": "uint128", - "name": "amount0Requested", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "amount1Requested", - "type": "uint128" - } - ], - "name": "collect", - "outputs": [ - { - "internalType": "uint128", - "name": "amount0", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "amount1", - "type": "uint128" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint128", - "name": "amount0Requested", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "amount1Requested", - "type": "uint128" - } - ], - "name": "collectProtocol", - "outputs": [ - { - "internalType": "uint128", - "name": "amount0", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "amount1", - "type": "uint128" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "factory", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "fee", - "outputs": [ - { - "internalType": "uint24", - "name": "", - "type": "uint24" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "feeGrowthGlobal0X128", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "feeGrowthGlobal1X128", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount0", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount1", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "flash", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint16", - "name": "observationCardinalityNext", - "type": "uint16" - } - ], - "name": "increaseObservationCardinalityNext", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint160", - "name": "sqrtPriceX96", - "type": "uint160" - } - ], - "name": "initialize", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "liquidity", - "outputs": [ - { - "internalType": "uint128", - "name": "", - "type": "uint128" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "maxLiquidityPerTick", - "outputs": [ - { - "internalType": "uint128", - "name": "", - "type": "uint128" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "int24", - "name": "tickLower", - "type": "int24" - }, - { - "internalType": "int24", - "name": "tickUpper", - "type": "int24" - }, - { - "internalType": "uint128", - "name": "amount", - "type": "uint128" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "mint", - "outputs": [ - { - "internalType": "uint256", - "name": "amount0", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount1", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "index", - "type": "uint256" - } - ], - "name": "observations", - "outputs": [ - { - "internalType": "uint32", - "name": "blockTimestamp", - "type": "uint32" - }, - { - "internalType": "int56", - "name": "tickCumulative", - "type": "int56" - }, - { - "internalType": "uint160", - "name": "secondsPerLiquidityCumulativeX128", - "type": "uint160" - }, - { - "internalType": "bool", - "name": "initialized", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint32[]", - "name": "secondsAgos", - "type": "uint32[]" - } - ], - "name": "observe", - "outputs": [ - { - "internalType": "int56[]", - "name": "tickCumulatives", - "type": "int56[]" - }, - { - "internalType": "uint160[]", - "name": "secondsPerLiquidityCumulativeX128s", - "type": "uint160[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "key", - "type": "bytes32" - } - ], - "name": "positions", - "outputs": [ - { - "internalType": "uint128", - "name": "_liquidity", - "type": "uint128" - }, - { - "internalType": "uint256", - "name": "feeGrowthInside0LastX128", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "feeGrowthInside1LastX128", - "type": "uint256" - }, - { - "internalType": "uint128", - "name": "tokensOwed0", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "tokensOwed1", - "type": "uint128" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "protocolFees", - "outputs": [ - { - "internalType": "uint128", - "name": "token0", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "token1", - "type": "uint128" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint8", - "name": "feeProtocol0", - "type": "uint8" - }, - { - "internalType": "uint8", - "name": "feeProtocol1", - "type": "uint8" - } - ], - "name": "setFeeProtocol", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "slot0", - "outputs": [ - { - "internalType": "uint160", - "name": "sqrtPriceX96", - "type": "uint160" - }, - { - "internalType": "int24", - "name": "tick", - "type": "int24" - }, - { - "internalType": "uint16", - "name": "observationIndex", - "type": "uint16" - }, - { - "internalType": "uint16", - "name": "observationCardinality", - "type": "uint16" - }, - { - "internalType": "uint16", - "name": "observationCardinalityNext", - "type": "uint16" - }, - { - "internalType": "uint8", - "name": "feeProtocol", - "type": "uint8" - }, - { - "internalType": "bool", - "name": "unlocked", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "int24", - "name": "tickLower", - "type": "int24" - }, - { - "internalType": "int24", - "name": "tickUpper", - "type": "int24" - } - ], - "name": "snapshotCumulativesInside", - "outputs": [ - { - "internalType": "int56", - "name": "tickCumulativeInside", - "type": "int56" - }, - { - "internalType": "uint160", - "name": "secondsPerLiquidityInsideX128", - "type": "uint160" - }, - { - "internalType": "uint32", - "name": "secondsInside", - "type": "uint32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "bool", - "name": "zeroForOne", - "type": "bool" - }, - { - "internalType": "int256", - "name": "amountSpecified", - "type": "int256" - }, - { - "internalType": "uint160", - "name": "sqrtPriceLimitX96", - "type": "uint160" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "swap", - "outputs": [ - { - "internalType": "int256", - "name": "amount0", - "type": "int256" - }, - { - "internalType": "int256", - "name": "amount1", - "type": "int256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "int16", - "name": "wordPosition", - "type": "int16" - } - ], - "name": "tickBitmap", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "tickSpacing", - "outputs": [ - { - "internalType": "int24", - "name": "", - "type": "int24" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "int24", - "name": "tick", - "type": "int24" - } - ], - "name": "ticks", - "outputs": [ - { - "internalType": "uint128", - "name": "liquidityGross", - "type": "uint128" - }, - { - "internalType": "int128", - "name": "liquidityNet", - "type": "int128" - }, - { - "internalType": "uint256", - "name": "feeGrowthOutside0X128", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "feeGrowthOutside1X128", - "type": "uint256" - }, - { - "internalType": "int56", - "name": "tickCumulativeOutside", - "type": "int56" - }, - { - "internalType": "uint160", - "name": "secondsPerLiquidityOutsideX128", - "type": "uint160" - }, - { - "internalType": "uint32", - "name": "secondsOutside", - "type": "uint32" - }, - { - "internalType": "bool", - "name": "initialized", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "token0", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "token1", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "burn(int24,int24,uint128)": "a34123a7", - "collect(address,int24,int24,uint128,uint128)": "4f1eb3d8", - "collectProtocol(address,uint128,uint128)": "85b66729", - "factory()": "c45a0155", - "fee()": "ddca3f43", - "feeGrowthGlobal0X128()": "f3058399", - "feeGrowthGlobal1X128()": "46141319", - "flash(address,uint256,uint256,bytes)": "490e6cbc", - "increaseObservationCardinalityNext(uint16)": "32148f67", - "initialize(uint160)": "f637731d", - "liquidity()": "1a686502", - "maxLiquidityPerTick()": "70cf754a", - "mint(address,int24,int24,uint128,bytes)": "3c8a7d8d", - "observations(uint256)": "252c09d7", - "observe(uint32[])": "883bdbfd", - "positions(bytes32)": "514ea4bf", - "protocolFees()": "1ad8b03b", - "setFeeProtocol(uint8,uint8)": "8206a4d1", - "slot0()": "3850c7bd", - "snapshotCumulativesInside(int24,int24)": "a38807f2", - "swap(address,bool,int256,uint160,bytes)": "128acb08", - "tickBitmap(int16)": "5339c296", - "tickSpacing()": "d0c93a7c", - "ticks(int24)": "f30dba93", - "token0()": "0dfe1681", - "token1()": "d21220a7" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.7.6+commit.7338295f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"int24\",\"name\":\"tickLower\",\"type\":\"int24\"},{\"indexed\":true,\"internalType\":\"int24\",\"name\":\"tickUpper\",\"type\":\"int24\"},{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"amount\",\"type\":\"uint128\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount0\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount1\",\"type\":\"uint256\"}],\"name\":\"Burn\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"int24\",\"name\":\"tickLower\",\"type\":\"int24\"},{\"indexed\":true,\"internalType\":\"int24\",\"name\":\"tickUpper\",\"type\":\"int24\"},{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"amount0\",\"type\":\"uint128\"},{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"amount1\",\"type\":\"uint128\"}],\"name\":\"Collect\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"amount0\",\"type\":\"uint128\"},{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"amount1\",\"type\":\"uint128\"}],\"name\":\"CollectProtocol\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount0\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount1\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"paid0\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"paid1\",\"type\":\"uint256\"}],\"name\":\"Flash\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint16\",\"name\":\"observationCardinalityNextOld\",\"type\":\"uint16\"},{\"indexed\":false,\"internalType\":\"uint16\",\"name\":\"observationCardinalityNextNew\",\"type\":\"uint16\"}],\"name\":\"IncreaseObservationCardinalityNext\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint160\",\"name\":\"sqrtPriceX96\",\"type\":\"uint160\"},{\"indexed\":false,\"internalType\":\"int24\",\"name\":\"tick\",\"type\":\"int24\"}],\"name\":\"Initialize\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"int24\",\"name\":\"tickLower\",\"type\":\"int24\"},{\"indexed\":true,\"internalType\":\"int24\",\"name\":\"tickUpper\",\"type\":\"int24\"},{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"amount\",\"type\":\"uint128\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount0\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount1\",\"type\":\"uint256\"}],\"name\":\"Mint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"feeProtocol0Old\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"feeProtocol1Old\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"feeProtocol0New\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"feeProtocol1New\",\"type\":\"uint8\"}],\"name\":\"SetFeeProtocol\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"amount0\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"amount1\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint160\",\"name\":\"sqrtPriceX96\",\"type\":\"uint160\"},{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"liquidity\",\"type\":\"uint128\"},{\"indexed\":false,\"internalType\":\"int24\",\"name\":\"tick\",\"type\":\"int24\"}],\"name\":\"Swap\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"int24\",\"name\":\"tickLower\",\"type\":\"int24\"},{\"internalType\":\"int24\",\"name\":\"tickUpper\",\"type\":\"int24\"},{\"internalType\":\"uint128\",\"name\":\"amount\",\"type\":\"uint128\"}],\"name\":\"burn\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount0\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount1\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"int24\",\"name\":\"tickLower\",\"type\":\"int24\"},{\"internalType\":\"int24\",\"name\":\"tickUpper\",\"type\":\"int24\"},{\"internalType\":\"uint128\",\"name\":\"amount0Requested\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"amount1Requested\",\"type\":\"uint128\"}],\"name\":\"collect\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"amount0\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"amount1\",\"type\":\"uint128\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint128\",\"name\":\"amount0Requested\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"amount1Requested\",\"type\":\"uint128\"}],\"name\":\"collectProtocol\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"amount0\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"amount1\",\"type\":\"uint128\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"factory\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"fee\",\"outputs\":[{\"internalType\":\"uint24\",\"name\":\"\",\"type\":\"uint24\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"feeGrowthGlobal0X128\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"feeGrowthGlobal1X128\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount0\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount1\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"flash\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint16\",\"name\":\"observationCardinalityNext\",\"type\":\"uint16\"}],\"name\":\"increaseObservationCardinalityNext\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint160\",\"name\":\"sqrtPriceX96\",\"type\":\"uint160\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"liquidity\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"\",\"type\":\"uint128\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"maxLiquidityPerTick\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"\",\"type\":\"uint128\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"int24\",\"name\":\"tickLower\",\"type\":\"int24\"},{\"internalType\":\"int24\",\"name\":\"tickUpper\",\"type\":\"int24\"},{\"internalType\":\"uint128\",\"name\":\"amount\",\"type\":\"uint128\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"mint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount0\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount1\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"observations\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"blockTimestamp\",\"type\":\"uint32\"},{\"internalType\":\"int56\",\"name\":\"tickCumulative\",\"type\":\"int56\"},{\"internalType\":\"uint160\",\"name\":\"secondsPerLiquidityCumulativeX128\",\"type\":\"uint160\"},{\"internalType\":\"bool\",\"name\":\"initialized\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32[]\",\"name\":\"secondsAgos\",\"type\":\"uint32[]\"}],\"name\":\"observe\",\"outputs\":[{\"internalType\":\"int56[]\",\"name\":\"tickCumulatives\",\"type\":\"int56[]\"},{\"internalType\":\"uint160[]\",\"name\":\"secondsPerLiquidityCumulativeX128s\",\"type\":\"uint160[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"key\",\"type\":\"bytes32\"}],\"name\":\"positions\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"_liquidity\",\"type\":\"uint128\"},{\"internalType\":\"uint256\",\"name\":\"feeGrowthInside0LastX128\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"feeGrowthInside1LastX128\",\"type\":\"uint256\"},{\"internalType\":\"uint128\",\"name\":\"tokensOwed0\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"tokensOwed1\",\"type\":\"uint128\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"protocolFees\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"token0\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"token1\",\"type\":\"uint128\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"feeProtocol0\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"feeProtocol1\",\"type\":\"uint8\"}],\"name\":\"setFeeProtocol\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"slot0\",\"outputs\":[{\"internalType\":\"uint160\",\"name\":\"sqrtPriceX96\",\"type\":\"uint160\"},{\"internalType\":\"int24\",\"name\":\"tick\",\"type\":\"int24\"},{\"internalType\":\"uint16\",\"name\":\"observationIndex\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"observationCardinality\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"observationCardinalityNext\",\"type\":\"uint16\"},{\"internalType\":\"uint8\",\"name\":\"feeProtocol\",\"type\":\"uint8\"},{\"internalType\":\"bool\",\"name\":\"unlocked\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int24\",\"name\":\"tickLower\",\"type\":\"int24\"},{\"internalType\":\"int24\",\"name\":\"tickUpper\",\"type\":\"int24\"}],\"name\":\"snapshotCumulativesInside\",\"outputs\":[{\"internalType\":\"int56\",\"name\":\"tickCumulativeInside\",\"type\":\"int56\"},{\"internalType\":\"uint160\",\"name\":\"secondsPerLiquidityInsideX128\",\"type\":\"uint160\"},{\"internalType\":\"uint32\",\"name\":\"secondsInside\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"zeroForOne\",\"type\":\"bool\"},{\"internalType\":\"int256\",\"name\":\"amountSpecified\",\"type\":\"int256\"},{\"internalType\":\"uint160\",\"name\":\"sqrtPriceLimitX96\",\"type\":\"uint160\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"swap\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"amount0\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"amount1\",\"type\":\"int256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int16\",\"name\":\"wordPosition\",\"type\":\"int16\"}],\"name\":\"tickBitmap\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"tickSpacing\",\"outputs\":[{\"internalType\":\"int24\",\"name\":\"\",\"type\":\"int24\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int24\",\"name\":\"tick\",\"type\":\"int24\"}],\"name\":\"ticks\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"liquidityGross\",\"type\":\"uint128\"},{\"internalType\":\"int128\",\"name\":\"liquidityNet\",\"type\":\"int128\"},{\"internalType\":\"uint256\",\"name\":\"feeGrowthOutside0X128\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"feeGrowthOutside1X128\",\"type\":\"uint256\"},{\"internalType\":\"int56\",\"name\":\"tickCumulativeOutside\",\"type\":\"int56\"},{\"internalType\":\"uint160\",\"name\":\"secondsPerLiquidityOutsideX128\",\"type\":\"uint160\"},{\"internalType\":\"uint32\",\"name\":\"secondsOutside\",\"type\":\"uint32\"},{\"internalType\":\"bool\",\"name\":\"initialized\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"token0\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"token1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"The pool interface is broken up into many smaller pieces\",\"kind\":\"dev\",\"methods\":{\"burn(int24,int24,uint128)\":{\"details\":\"Can be used to trigger a recalculation of fees owed to a position by calling with an amount of 0Fees must be collected separately via a call to #collect\",\"params\":{\"amount\":\"How much liquidity to burn\",\"tickLower\":\"The lower tick of the position for which to burn liquidity\",\"tickUpper\":\"The upper tick of the position for which to burn liquidity\"},\"returns\":{\"amount0\":\"The amount of token0 sent to the recipient\",\"amount1\":\"The amount of token1 sent to the recipient\"}},\"collect(address,int24,int24,uint128,uint128)\":{\"details\":\"Does not recompute fees earned, which must be done either via mint or burn of any amount of liquidity. Collect must be called by the position owner. To withdraw only token0 or only token1, amount0Requested or amount1Requested may be set to zero. To withdraw all tokens owed, caller may pass any value greater than the actual tokens owed, e.g. type(uint128).max. Tokens owed may be from accumulated swap fees or burned liquidity.\",\"params\":{\"amount0Requested\":\"How much token0 should be withdrawn from the fees owed\",\"amount1Requested\":\"How much token1 should be withdrawn from the fees owed\",\"recipient\":\"The address which should receive the fees collected\",\"tickLower\":\"The lower tick of the position for which to collect fees\",\"tickUpper\":\"The upper tick of the position for which to collect fees\"},\"returns\":{\"amount0\":\"The amount of fees collected in token0\",\"amount1\":\"The amount of fees collected in token1\"}},\"collectProtocol(address,uint128,uint128)\":{\"params\":{\"amount0Requested\":\"The maximum amount of token0 to send, can be 0 to collect fees in only token1\",\"amount1Requested\":\"The maximum amount of token1 to send, can be 0 to collect fees in only token0\",\"recipient\":\"The address to which collected protocol fees should be sent\"},\"returns\":{\"amount0\":\"The protocol fee collected in token0\",\"amount1\":\"The protocol fee collected in token1\"}},\"factory()\":{\"returns\":{\"_0\":\"The contract address\"}},\"fee()\":{\"returns\":{\"_0\":\"The fee\"}},\"feeGrowthGlobal0X128()\":{\"details\":\"This value can overflow the uint256\"},\"feeGrowthGlobal1X128()\":{\"details\":\"This value can overflow the uint256\"},\"flash(address,uint256,uint256,bytes)\":{\"details\":\"The caller of this method receives a callback in the form of IUniswapV3FlashCallback#uniswapV3FlashCallbackCan be used to donate underlying tokens pro-rata to currently in-range liquidity providers by calling with 0 amount{0,1} and sending the donation amount(s) from the callback\",\"params\":{\"amount0\":\"The amount of token0 to send\",\"amount1\":\"The amount of token1 to send\",\"data\":\"Any data to be passed through to the callback\",\"recipient\":\"The address which will receive the token0 and token1 amounts\"}},\"increaseObservationCardinalityNext(uint16)\":{\"details\":\"This method is no-op if the pool already has an observationCardinalityNext greater than or equal to the input observationCardinalityNext.\",\"params\":{\"observationCardinalityNext\":\"The desired minimum number of observations for the pool to store\"}},\"initialize(uint160)\":{\"details\":\"Price is represented as a sqrt(amountToken1/amountToken0) Q64.96 value\",\"params\":{\"sqrtPriceX96\":\"the initial sqrt price of the pool as a Q64.96\"}},\"liquidity()\":{\"details\":\"This value has no relationship to the total liquidity across all ticks\"},\"maxLiquidityPerTick()\":{\"details\":\"This parameter is enforced per tick to prevent liquidity from overflowing a uint128 at any point, and also prevents out-of-range liquidity from being used to prevent adding in-range liquidity to a pool\",\"returns\":{\"_0\":\"The max amount of liquidity per tick\"}},\"mint(address,int24,int24,uint128,bytes)\":{\"details\":\"The caller of this method receives a callback in the form of IUniswapV3MintCallback#uniswapV3MintCallback in which they must pay any token0 or token1 owed for the liquidity. The amount of token0/token1 due depends on tickLower, tickUpper, the amount of liquidity, and the current price.\",\"params\":{\"amount\":\"The amount of liquidity to mint\",\"data\":\"Any data that should be passed through to the callback\",\"recipient\":\"The address for which the liquidity will be created\",\"tickLower\":\"The lower tick of the position in which to add liquidity\",\"tickUpper\":\"The upper tick of the position in which to add liquidity\"},\"returns\":{\"amount0\":\"The amount of token0 that was paid to mint the given amount of liquidity. Matches the value in the callback\",\"amount1\":\"The amount of token1 that was paid to mint the given amount of liquidity. Matches the value in the callback\"}},\"observations(uint256)\":{\"details\":\"You most likely want to use #observe() instead of this method to get an observation as of some amount of time ago, rather than at a specific index in the array.\",\"params\":{\"index\":\"The element of the observations array to fetch\"},\"returns\":{\"blockTimestamp\":\"The timestamp of the observation, Returns tickCumulative the tick multiplied by seconds elapsed for the life of the pool as of the observation timestamp, Returns secondsPerLiquidityCumulativeX128 the seconds per in range liquidity for the life of the pool as of the observation timestamp, Returns initialized whether the observation has been initialized and the values are safe to use\"}},\"observe(uint32[])\":{\"details\":\"To get a time weighted average tick or liquidity-in-range, you must call this with two values, one representing the beginning of the period and another for the end of the period. E.g., to get the last hour time-weighted average tick, you must call it with secondsAgos = [3600, 0].The time weighted average tick represents the geometric time weighted average price of the pool, in log base sqrt(1.0001) of token1 / token0. The TickMath library can be used to go from a tick value to a ratio.\",\"params\":{\"secondsAgos\":\"From how long ago each cumulative tick and liquidity value should be returned\"},\"returns\":{\"secondsPerLiquidityCumulativeX128s\":\"Cumulative seconds per liquidity-in-range value as of each `secondsAgos` from the current block timestamp\",\"tickCumulatives\":\"Cumulative tick values as of each `secondsAgos` from the current block timestamp\"}},\"positions(bytes32)\":{\"params\":{\"key\":\"The position's key is a hash of a preimage composed by the owner, tickLower and tickUpper\"},\"returns\":{\"_liquidity\":\"The amount of liquidity in the position, Returns feeGrowthInside0LastX128 fee growth of token0 inside the tick range as of the last mint/burn/poke, Returns feeGrowthInside1LastX128 fee growth of token1 inside the tick range as of the last mint/burn/poke, Returns tokensOwed0 the computed amount of token0 owed to the position as of the last mint/burn/poke, Returns tokensOwed1 the computed amount of token1 owed to the position as of the last mint/burn/poke\"}},\"protocolFees()\":{\"details\":\"Protocol fees will never exceed uint128 max in either token\"},\"setFeeProtocol(uint8,uint8)\":{\"params\":{\"feeProtocol0\":\"new protocol fee for token0 of the pool\",\"feeProtocol1\":\"new protocol fee for token1 of the pool\"}},\"slot0()\":{\"returns\":{\"sqrtPriceX96\":\"The current price of the pool as a sqrt(token1/token0) Q64.96 value tick The current tick of the pool, i.e. according to the last tick transition that was run. This value may not always be equal to SqrtTickMath.getTickAtSqrtRatio(sqrtPriceX96) if the price is on a tick boundary. observationIndex The index of the last oracle observation that was written, observationCardinality The current maximum number of observations stored in the pool, observationCardinalityNext The next maximum number of observations, to be updated when the observation. feeProtocol The protocol fee for both tokens of the pool. Encoded as two 4 bit values, where the protocol fee of token1 is shifted 4 bits and the protocol fee of token0 is the lower 4 bits. Used as the denominator of a fraction of the swap fee, e.g. 4 means 1/4th of the swap fee. unlocked Whether the pool is currently locked to reentrancy\"}},\"snapshotCumulativesInside(int24,int24)\":{\"details\":\"Snapshots must only be compared to other snapshots, taken over a period for which a position existed. I.e., snapshots cannot be compared if a position is not held for the entire period between when the first snapshot is taken and the second snapshot is taken.\",\"params\":{\"tickLower\":\"The lower tick of the range\",\"tickUpper\":\"The upper tick of the range\"},\"returns\":{\"secondsInside\":\"The snapshot of seconds per liquidity for the range\",\"secondsPerLiquidityInsideX128\":\"The snapshot of seconds per liquidity for the range\",\"tickCumulativeInside\":\"The snapshot of the tick accumulator for the range\"}},\"swap(address,bool,int256,uint160,bytes)\":{\"details\":\"The caller of this method receives a callback in the form of IUniswapV3SwapCallback#uniswapV3SwapCallback\",\"params\":{\"amountSpecified\":\"The amount of the swap, which implicitly configures the swap as exact input (positive), or exact output (negative)\",\"data\":\"Any data to be passed through to the callback\",\"recipient\":\"The address to receive the output of the swap\",\"sqrtPriceLimitX96\":\"The Q64.96 sqrt price limit. If zero for one, the price cannot be less than this value after the swap. If one for zero, the price cannot be greater than this value after the swap\",\"zeroForOne\":\"The direction of the swap, true for token0 to token1, false for token1 to token0\"},\"returns\":{\"amount0\":\"The delta of the balance of token0 of the pool, exact when negative, minimum when positive\",\"amount1\":\"The delta of the balance of token1 of the pool, exact when negative, minimum when positive\"}},\"tickSpacing()\":{\"details\":\"Ticks can only be used at multiples of this value, minimum of 1 and always positive e.g.: a tickSpacing of 3 means ticks can be initialized every 3rd tick, i.e., ..., -6, -3, 0, 3, 6, ... This value is an int24 to avoid casting even though it is always positive.\",\"returns\":{\"_0\":\"The tick spacing\"}},\"ticks(int24)\":{\"params\":{\"tick\":\"The tick to look up\"},\"returns\":{\"liquidityGross\":\"the total amount of position liquidity that uses the pool either as tick lower or tick upper, liquidityNet how much liquidity changes when the pool price crosses the tick, feeGrowthOutside0X128 the fee growth on the other side of the tick from the current tick in token0, feeGrowthOutside1X128 the fee growth on the other side of the tick from the current tick in token1, tickCumulativeOutside the cumulative tick value on the other side of the tick from the current tick secondsPerLiquidityOutsideX128 the seconds spent per liquidity on the other side of the tick from the current tick, secondsOutside the seconds spent on the other side of the tick from the current tick, initialized Set to true if the tick is initialized, i.e. liquidityGross is greater than 0, otherwise equal to false. Outside values can only be used if the tick is initialized, i.e. if liquidityGross is greater than 0. In addition, these values are only relative and must be used only in comparison to previous snapshots for a specific position.\"}},\"token0()\":{\"returns\":{\"_0\":\"The token contract address\"}},\"token1()\":{\"returns\":{\"_0\":\"The token contract address\"}}},\"title\":\"The interface for a Uniswap V3 Pool\",\"version\":1},\"userdoc\":{\"events\":{\"Burn(address,int24,int24,uint128,uint256,uint256)\":{\"notice\":\"Emitted when a position's liquidity is removed\"},\"Collect(address,address,int24,int24,uint128,uint128)\":{\"notice\":\"Emitted when fees are collected by the owner of a position\"},\"CollectProtocol(address,address,uint128,uint128)\":{\"notice\":\"Emitted when the collected protocol fees are withdrawn by the factory owner\"},\"Flash(address,address,uint256,uint256,uint256,uint256)\":{\"notice\":\"Emitted by the pool for any flashes of token0/token1\"},\"IncreaseObservationCardinalityNext(uint16,uint16)\":{\"notice\":\"Emitted by the pool for increases to the number of observations that can be stored\"},\"Initialize(uint160,int24)\":{\"notice\":\"Emitted exactly once by a pool when #initialize is first called on the pool\"},\"Mint(address,address,int24,int24,uint128,uint256,uint256)\":{\"notice\":\"Emitted when liquidity is minted for a given position\"},\"SetFeeProtocol(uint8,uint8,uint8,uint8)\":{\"notice\":\"Emitted when the protocol fee is changed by the pool\"},\"Swap(address,address,int256,int256,uint160,uint128,int24)\":{\"notice\":\"Emitted by the pool for any swaps between token0 and token1\"}},\"kind\":\"user\",\"methods\":{\"burn(int24,int24,uint128)\":{\"notice\":\"Burn liquidity from the sender and account tokens owed for the liquidity to the position\"},\"collect(address,int24,int24,uint128,uint128)\":{\"notice\":\"Collects tokens owed to a position\"},\"collectProtocol(address,uint128,uint128)\":{\"notice\":\"Collect the protocol fee accrued to the pool\"},\"factory()\":{\"notice\":\"The contract that deployed the pool, which must adhere to the IUniswapV3Factory interface\"},\"fee()\":{\"notice\":\"The pool's fee in hundredths of a bip, i.e. 1e-6\"},\"feeGrowthGlobal0X128()\":{\"notice\":\"The fee growth as a Q128.128 fees of token0 collected per unit of liquidity for the entire life of the pool\"},\"feeGrowthGlobal1X128()\":{\"notice\":\"The fee growth as a Q128.128 fees of token1 collected per unit of liquidity for the entire life of the pool\"},\"flash(address,uint256,uint256,bytes)\":{\"notice\":\"Receive token0 and/or token1 and pay it back, plus a fee, in the callback\"},\"increaseObservationCardinalityNext(uint16)\":{\"notice\":\"Increase the maximum number of price and liquidity observations that this pool will store\"},\"initialize(uint160)\":{\"notice\":\"Sets the initial price for the pool\"},\"liquidity()\":{\"notice\":\"The currently in range liquidity available to the pool\"},\"maxLiquidityPerTick()\":{\"notice\":\"The maximum amount of position liquidity that can use any tick in the range\"},\"mint(address,int24,int24,uint128,bytes)\":{\"notice\":\"Adds liquidity for the given recipient/tickLower/tickUpper position\"},\"observations(uint256)\":{\"notice\":\"Returns data about a specific observation index\"},\"observe(uint32[])\":{\"notice\":\"Returns the cumulative tick and liquidity as of each timestamp `secondsAgo` from the current block timestamp\"},\"positions(bytes32)\":{\"notice\":\"Returns the information about a position by the position's key\"},\"protocolFees()\":{\"notice\":\"The amounts of token0 and token1 that are owed to the protocol\"},\"setFeeProtocol(uint8,uint8)\":{\"notice\":\"Set the denominator of the protocol's % share of the fees\"},\"slot0()\":{\"notice\":\"The 0th storage slot in the pool stores many values, and is exposed as a single method to save gas when accessed externally.\"},\"snapshotCumulativesInside(int24,int24)\":{\"notice\":\"Returns a snapshot of the tick cumulative, seconds per liquidity and seconds inside a tick range\"},\"swap(address,bool,int256,uint160,bytes)\":{\"notice\":\"Swap token0 for token1, or token1 for token0\"},\"tickBitmap(int16)\":{\"notice\":\"Returns 256 packed tick initialized boolean values. See TickBitmap for more information\"},\"tickSpacing()\":{\"notice\":\"The pool tick spacing\"},\"ticks(int24)\":{\"notice\":\"Look up information about a specific tick in the pool\"},\"token0()\":{\"notice\":\"The first of the two tokens of the pool, sorted by address\"},\"token1()\":{\"notice\":\"The second of the two tokens of the pool, sorted by address\"}},\"notice\":\"A Uniswap pool facilitates swapping and automated market making between any two assets that strictly conform to the ERC20 specification\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@uniswap/v3-core/contracts/interfaces/IUniswapV3Pool.sol\":\"IUniswapV3Pool\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"node_modules/@uniswap/v3-core/contracts/interfaces/IUniswapV3Pool.sol\":{\"keccak256\":\"0xfe6113d518466cd6652c85b111e01f33eb62157f49ae5ed7d5a3947a2044adb1\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://1c42b9e6f5902ac38dd43e25750939baa7e0c1425dc75afd717c4412731065d5\",\"dweb:/ipfs/QmWaoacnzsucTvBME2o7YgZBZMhaHv7fkj83htHMVWJKWh\"]},\"node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolActions.sol\":{\"keccak256\":\"0x9453dd0e7442188667d01d9b65de3f1e14e9511ff3e303179a15f6fc267f7634\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://982f4328f956c3e60e67501e759eb292ac487f76460c774c50e9ae4fcc92aae5\",\"dweb:/ipfs/QmRnzEDsaqtd9PJEVcgQi7p5aV5pMSvRUoGZJAdwFUJxgZ\"]},\"node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolDerivedState.sol\":{\"keccak256\":\"0xe603ac5b17ecdee73ba2b27efdf386c257a19c14206e87eee77e2017b742d9e5\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://8febc9bdb399a4d94bb89f5377732652e2400e4a8dee808201ade6848f9004e7\",\"dweb:/ipfs/QmaKDqYYFU4d2W2iN77aDHptfbFmYZRrMYXHeGpJmM8C1c\"]},\"node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolEvents.sol\":{\"keccak256\":\"0x8071514d0fe5d17d6fbd31c191cdfb703031c24e0ece3621d88ab10e871375cd\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://d0b571930cc7488b1d546a7e9cea7c52d8b3c4e207da657ed0e0db7343b8cd03\",\"dweb:/ipfs/QmaGK6vVwB95QSTR1XMYvrh7ivYAYZxi3fD7v6VMA4jZ39\"]},\"node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolImmutables.sol\":{\"keccak256\":\"0xf6e5d2cd1139c4c276bdbc8e1d2b256e456c866a91f1b868da265c6d2685c3f7\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://b99c8c9ae8e27ee6559e5866bea82cbc9ffc8247f8d15b7422a4deb287d4d047\",\"dweb:/ipfs/QmfL8gaqt3ffAnm6nVj5ksuNpLygXuL3xq5VBqrkwC2JJ3\"]},\"node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolOwnerActions.sol\":{\"keccak256\":\"0x759b78a2918af9e99e246dc3af084f654e48ef32bb4e4cb8a966aa3dcaece235\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://64144fb96e1c7fdba87305acadb98a198d26a3d46c097cb3a666e567f6f29735\",\"dweb:/ipfs/QmUnWVwN9FKB9uV5Pr8YfLpWZnYM2DENnRMaadZ492JS9u\"]},\"node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolState.sol\":{\"keccak256\":\"0x852dc1f5df7dcf7f11e7bb3eed79f0cea72ad4b25f6a9d2c35aafb48925fd49f\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://ed63907c38ff36b0e22bc9ffc53e791ea74f0d4f0e7c257fdfb5aaf8825b1f0f\",\"dweb:/ipfs/QmSQrckghEjs6HVsA5GVgpNpZWvTXMY5eQLF7cN6deFeEg\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.7.6+commit.7338295f" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address", - "indexed": true - }, - { - "internalType": "int24", - "name": "tickLower", - "type": "int24", - "indexed": true - }, - { - "internalType": "int24", - "name": "tickUpper", - "type": "int24", - "indexed": true - }, - { - "internalType": "uint128", - "name": "amount", - "type": "uint128", - "indexed": false - }, - { - "internalType": "uint256", - "name": "amount0", - "type": "uint256", - "indexed": false - }, - { - "internalType": "uint256", - "name": "amount1", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "Burn", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "recipient", - "type": "address", - "indexed": false - }, - { - "internalType": "int24", - "name": "tickLower", - "type": "int24", - "indexed": true - }, - { - "internalType": "int24", - "name": "tickUpper", - "type": "int24", - "indexed": true - }, - { - "internalType": "uint128", - "name": "amount0", - "type": "uint128", - "indexed": false - }, - { - "internalType": "uint128", - "name": "amount1", - "type": "uint128", - "indexed": false - } - ], - "type": "event", - "name": "Collect", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "recipient", - "type": "address", - "indexed": true - }, - { - "internalType": "uint128", - "name": "amount0", - "type": "uint128", - "indexed": false - }, - { - "internalType": "uint128", - "name": "amount1", - "type": "uint128", - "indexed": false - } - ], - "type": "event", - "name": "CollectProtocol", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "recipient", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "amount0", - "type": "uint256", - "indexed": false - }, - { - "internalType": "uint256", - "name": "amount1", - "type": "uint256", - "indexed": false - }, - { - "internalType": "uint256", - "name": "paid0", - "type": "uint256", - "indexed": false - }, - { - "internalType": "uint256", - "name": "paid1", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "Flash", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "uint16", - "name": "observationCardinalityNextOld", - "type": "uint16", - "indexed": false - }, - { - "internalType": "uint16", - "name": "observationCardinalityNextNew", - "type": "uint16", - "indexed": false - } - ], - "type": "event", - "name": "IncreaseObservationCardinalityNext", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "uint160", - "name": "sqrtPriceX96", - "type": "uint160", - "indexed": false - }, - { - "internalType": "int24", - "name": "tick", - "type": "int24", - "indexed": false - } - ], - "type": "event", - "name": "Initialize", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address", - "indexed": false - }, - { - "internalType": "address", - "name": "owner", - "type": "address", - "indexed": true - }, - { - "internalType": "int24", - "name": "tickLower", - "type": "int24", - "indexed": true - }, - { - "internalType": "int24", - "name": "tickUpper", - "type": "int24", - "indexed": true - }, - { - "internalType": "uint128", - "name": "amount", - "type": "uint128", - "indexed": false - }, - { - "internalType": "uint256", - "name": "amount0", - "type": "uint256", - "indexed": false - }, - { - "internalType": "uint256", - "name": "amount1", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "Mint", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "uint8", - "name": "feeProtocol0Old", - "type": "uint8", - "indexed": false - }, - { - "internalType": "uint8", - "name": "feeProtocol1Old", - "type": "uint8", - "indexed": false - }, - { - "internalType": "uint8", - "name": "feeProtocol0New", - "type": "uint8", - "indexed": false - }, - { - "internalType": "uint8", - "name": "feeProtocol1New", - "type": "uint8", - "indexed": false - } - ], - "type": "event", - "name": "SetFeeProtocol", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "recipient", - "type": "address", - "indexed": true - }, - { - "internalType": "int256", - "name": "amount0", - "type": "int256", - "indexed": false - }, - { - "internalType": "int256", - "name": "amount1", - "type": "int256", - "indexed": false - }, - { - "internalType": "uint160", - "name": "sqrtPriceX96", - "type": "uint160", - "indexed": false - }, - { - "internalType": "uint128", - "name": "liquidity", - "type": "uint128", - "indexed": false - }, - { - "internalType": "int24", - "name": "tick", - "type": "int24", - "indexed": false - } - ], - "type": "event", - "name": "Swap", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "int24", - "name": "tickLower", - "type": "int24" - }, - { - "internalType": "int24", - "name": "tickUpper", - "type": "int24" - }, - { - "internalType": "uint128", - "name": "amount", - "type": "uint128" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "burn", - "outputs": [ - { - "internalType": "uint256", - "name": "amount0", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount1", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "int24", - "name": "tickLower", - "type": "int24" - }, - { - "internalType": "int24", - "name": "tickUpper", - "type": "int24" - }, - { - "internalType": "uint128", - "name": "amount0Requested", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "amount1Requested", - "type": "uint128" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "collect", - "outputs": [ - { - "internalType": "uint128", - "name": "amount0", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "amount1", - "type": "uint128" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint128", - "name": "amount0Requested", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "amount1Requested", - "type": "uint128" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "collectProtocol", - "outputs": [ - { - "internalType": "uint128", - "name": "amount0", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "amount1", - "type": "uint128" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "factory", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "fee", - "outputs": [ - { - "internalType": "uint24", - "name": "", - "type": "uint24" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "feeGrowthGlobal0X128", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "feeGrowthGlobal1X128", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount0", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount1", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "flash" - }, - { - "inputs": [ - { - "internalType": "uint16", - "name": "observationCardinalityNext", - "type": "uint16" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "increaseObservationCardinalityNext" - }, - { - "inputs": [ - { - "internalType": "uint160", - "name": "sqrtPriceX96", - "type": "uint160" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "initialize" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "liquidity", - "outputs": [ - { - "internalType": "uint128", - "name": "", - "type": "uint128" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "maxLiquidityPerTick", - "outputs": [ - { - "internalType": "uint128", - "name": "", - "type": "uint128" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "int24", - "name": "tickLower", - "type": "int24" - }, - { - "internalType": "int24", - "name": "tickUpper", - "type": "int24" - }, - { - "internalType": "uint128", - "name": "amount", - "type": "uint128" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "mint", - "outputs": [ - { - "internalType": "uint256", - "name": "amount0", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount1", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "index", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "observations", - "outputs": [ - { - "internalType": "uint32", - "name": "blockTimestamp", - "type": "uint32" - }, - { - "internalType": "int56", - "name": "tickCumulative", - "type": "int56" - }, - { - "internalType": "uint160", - "name": "secondsPerLiquidityCumulativeX128", - "type": "uint160" - }, - { - "internalType": "bool", - "name": "initialized", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint32[]", - "name": "secondsAgos", - "type": "uint32[]" - } - ], - "stateMutability": "view", - "type": "function", - "name": "observe", - "outputs": [ - { - "internalType": "int56[]", - "name": "tickCumulatives", - "type": "int56[]" - }, - { - "internalType": "uint160[]", - "name": "secondsPerLiquidityCumulativeX128s", - "type": "uint160[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "key", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function", - "name": "positions", - "outputs": [ - { - "internalType": "uint128", - "name": "_liquidity", - "type": "uint128" - }, - { - "internalType": "uint256", - "name": "feeGrowthInside0LastX128", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "feeGrowthInside1LastX128", - "type": "uint256" - }, - { - "internalType": "uint128", - "name": "tokensOwed0", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "tokensOwed1", - "type": "uint128" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "protocolFees", - "outputs": [ - { - "internalType": "uint128", - "name": "token0", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "token1", - "type": "uint128" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint8", - "name": "feeProtocol0", - "type": "uint8" - }, - { - "internalType": "uint8", - "name": "feeProtocol1", - "type": "uint8" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setFeeProtocol" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "slot0", - "outputs": [ - { - "internalType": "uint160", - "name": "sqrtPriceX96", - "type": "uint160" - }, - { - "internalType": "int24", - "name": "tick", - "type": "int24" - }, - { - "internalType": "uint16", - "name": "observationIndex", - "type": "uint16" - }, - { - "internalType": "uint16", - "name": "observationCardinality", - "type": "uint16" - }, - { - "internalType": "uint16", - "name": "observationCardinalityNext", - "type": "uint16" - }, - { - "internalType": "uint8", - "name": "feeProtocol", - "type": "uint8" - }, - { - "internalType": "bool", - "name": "unlocked", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "int24", - "name": "tickLower", - "type": "int24" - }, - { - "internalType": "int24", - "name": "tickUpper", - "type": "int24" - } - ], - "stateMutability": "view", - "type": "function", - "name": "snapshotCumulativesInside", - "outputs": [ - { - "internalType": "int56", - "name": "tickCumulativeInside", - "type": "int56" - }, - { - "internalType": "uint160", - "name": "secondsPerLiquidityInsideX128", - "type": "uint160" - }, - { - "internalType": "uint32", - "name": "secondsInside", - "type": "uint32" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "bool", - "name": "zeroForOne", - "type": "bool" - }, - { - "internalType": "int256", - "name": "amountSpecified", - "type": "int256" - }, - { - "internalType": "uint160", - "name": "sqrtPriceLimitX96", - "type": "uint160" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "swap", - "outputs": [ - { - "internalType": "int256", - "name": "amount0", - "type": "int256" - }, - { - "internalType": "int256", - "name": "amount1", - "type": "int256" - } - ] - }, - { - "inputs": [ - { - "internalType": "int16", - "name": "wordPosition", - "type": "int16" - } - ], - "stateMutability": "view", - "type": "function", - "name": "tickBitmap", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "tickSpacing", - "outputs": [ - { - "internalType": "int24", - "name": "", - "type": "int24" - } - ] - }, - { - "inputs": [ - { - "internalType": "int24", - "name": "tick", - "type": "int24" - } - ], - "stateMutability": "view", - "type": "function", - "name": "ticks", - "outputs": [ - { - "internalType": "uint128", - "name": "liquidityGross", - "type": "uint128" - }, - { - "internalType": "int128", - "name": "liquidityNet", - "type": "int128" - }, - { - "internalType": "uint256", - "name": "feeGrowthOutside0X128", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "feeGrowthOutside1X128", - "type": "uint256" - }, - { - "internalType": "int56", - "name": "tickCumulativeOutside", - "type": "int56" - }, - { - "internalType": "uint160", - "name": "secondsPerLiquidityOutsideX128", - "type": "uint160" - }, - { - "internalType": "uint32", - "name": "secondsOutside", - "type": "uint32" - }, - { - "internalType": "bool", - "name": "initialized", - "type": "bool" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "token0", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "token1", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "burn(int24,int24,uint128)": { - "details": "Can be used to trigger a recalculation of fees owed to a position by calling with an amount of 0Fees must be collected separately via a call to #collect", - "params": { - "amount": "How much liquidity to burn", - "tickLower": "The lower tick of the position for which to burn liquidity", - "tickUpper": "The upper tick of the position for which to burn liquidity" - }, - "returns": { - "amount0": "The amount of token0 sent to the recipient", - "amount1": "The amount of token1 sent to the recipient" - } - }, - "collect(address,int24,int24,uint128,uint128)": { - "details": "Does not recompute fees earned, which must be done either via mint or burn of any amount of liquidity. Collect must be called by the position owner. To withdraw only token0 or only token1, amount0Requested or amount1Requested may be set to zero. To withdraw all tokens owed, caller may pass any value greater than the actual tokens owed, e.g. type(uint128).max. Tokens owed may be from accumulated swap fees or burned liquidity.", - "params": { - "amount0Requested": "How much token0 should be withdrawn from the fees owed", - "amount1Requested": "How much token1 should be withdrawn from the fees owed", - "recipient": "The address which should receive the fees collected", - "tickLower": "The lower tick of the position for which to collect fees", - "tickUpper": "The upper tick of the position for which to collect fees" - }, - "returns": { - "amount0": "The amount of fees collected in token0", - "amount1": "The amount of fees collected in token1" - } - }, - "collectProtocol(address,uint128,uint128)": { - "params": { - "amount0Requested": "The maximum amount of token0 to send, can be 0 to collect fees in only token1", - "amount1Requested": "The maximum amount of token1 to send, can be 0 to collect fees in only token0", - "recipient": "The address to which collected protocol fees should be sent" - }, - "returns": { - "amount0": "The protocol fee collected in token0", - "amount1": "The protocol fee collected in token1" - } - }, - "factory()": { - "returns": { - "_0": "The contract address" - } - }, - "fee()": { - "returns": { - "_0": "The fee" - } - }, - "feeGrowthGlobal0X128()": { - "details": "This value can overflow the uint256" - }, - "feeGrowthGlobal1X128()": { - "details": "This value can overflow the uint256" - }, - "flash(address,uint256,uint256,bytes)": { - "details": "The caller of this method receives a callback in the form of IUniswapV3FlashCallback#uniswapV3FlashCallbackCan be used to donate underlying tokens pro-rata to currently in-range liquidity providers by calling with 0 amount{0,1} and sending the donation amount(s) from the callback", - "params": { - "amount0": "The amount of token0 to send", - "amount1": "The amount of token1 to send", - "data": "Any data to be passed through to the callback", - "recipient": "The address which will receive the token0 and token1 amounts" - } - }, - "increaseObservationCardinalityNext(uint16)": { - "details": "This method is no-op if the pool already has an observationCardinalityNext greater than or equal to the input observationCardinalityNext.", - "params": { - "observationCardinalityNext": "The desired minimum number of observations for the pool to store" - } - }, - "initialize(uint160)": { - "details": "Price is represented as a sqrt(amountToken1/amountToken0) Q64.96 value", - "params": { - "sqrtPriceX96": "the initial sqrt price of the pool as a Q64.96" - } - }, - "liquidity()": { - "details": "This value has no relationship to the total liquidity across all ticks" - }, - "maxLiquidityPerTick()": { - "details": "This parameter is enforced per tick to prevent liquidity from overflowing a uint128 at any point, and also prevents out-of-range liquidity from being used to prevent adding in-range liquidity to a pool", - "returns": { - "_0": "The max amount of liquidity per tick" - } - }, - "mint(address,int24,int24,uint128,bytes)": { - "details": "The caller of this method receives a callback in the form of IUniswapV3MintCallback#uniswapV3MintCallback in which they must pay any token0 or token1 owed for the liquidity. The amount of token0/token1 due depends on tickLower, tickUpper, the amount of liquidity, and the current price.", - "params": { - "amount": "The amount of liquidity to mint", - "data": "Any data that should be passed through to the callback", - "recipient": "The address for which the liquidity will be created", - "tickLower": "The lower tick of the position in which to add liquidity", - "tickUpper": "The upper tick of the position in which to add liquidity" - }, - "returns": { - "amount0": "The amount of token0 that was paid to mint the given amount of liquidity. Matches the value in the callback", - "amount1": "The amount of token1 that was paid to mint the given amount of liquidity. Matches the value in the callback" - } - }, - "observations(uint256)": { - "details": "You most likely want to use #observe() instead of this method to get an observation as of some amount of time ago, rather than at a specific index in the array.", - "params": { - "index": "The element of the observations array to fetch" - }, - "returns": { - "blockTimestamp": "The timestamp of the observation, Returns tickCumulative the tick multiplied by seconds elapsed for the life of the pool as of the observation timestamp, Returns secondsPerLiquidityCumulativeX128 the seconds per in range liquidity for the life of the pool as of the observation timestamp, Returns initialized whether the observation has been initialized and the values are safe to use" - } - }, - "observe(uint32[])": { - "details": "To get a time weighted average tick or liquidity-in-range, you must call this with two values, one representing the beginning of the period and another for the end of the period. E.g., to get the last hour time-weighted average tick, you must call it with secondsAgos = [3600, 0].The time weighted average tick represents the geometric time weighted average price of the pool, in log base sqrt(1.0001) of token1 / token0. The TickMath library can be used to go from a tick value to a ratio.", - "params": { - "secondsAgos": "From how long ago each cumulative tick and liquidity value should be returned" - }, - "returns": { - "secondsPerLiquidityCumulativeX128s": "Cumulative seconds per liquidity-in-range value as of each `secondsAgos` from the current block timestamp", - "tickCumulatives": "Cumulative tick values as of each `secondsAgos` from the current block timestamp" - } - }, - "positions(bytes32)": { - "params": { - "key": "The position's key is a hash of a preimage composed by the owner, tickLower and tickUpper" - }, - "returns": { - "_liquidity": "The amount of liquidity in the position, Returns feeGrowthInside0LastX128 fee growth of token0 inside the tick range as of the last mint/burn/poke, Returns feeGrowthInside1LastX128 fee growth of token1 inside the tick range as of the last mint/burn/poke, Returns tokensOwed0 the computed amount of token0 owed to the position as of the last mint/burn/poke, Returns tokensOwed1 the computed amount of token1 owed to the position as of the last mint/burn/poke" - } - }, - "protocolFees()": { - "details": "Protocol fees will never exceed uint128 max in either token" - }, - "setFeeProtocol(uint8,uint8)": { - "params": { - "feeProtocol0": "new protocol fee for token0 of the pool", - "feeProtocol1": "new protocol fee for token1 of the pool" - } - }, - "slot0()": { - "returns": { - "sqrtPriceX96": "The current price of the pool as a sqrt(token1/token0) Q64.96 value tick The current tick of the pool, i.e. according to the last tick transition that was run. This value may not always be equal to SqrtTickMath.getTickAtSqrtRatio(sqrtPriceX96) if the price is on a tick boundary. observationIndex The index of the last oracle observation that was written, observationCardinality The current maximum number of observations stored in the pool, observationCardinalityNext The next maximum number of observations, to be updated when the observation. feeProtocol The protocol fee for both tokens of the pool. Encoded as two 4 bit values, where the protocol fee of token1 is shifted 4 bits and the protocol fee of token0 is the lower 4 bits. Used as the denominator of a fraction of the swap fee, e.g. 4 means 1/4th of the swap fee. unlocked Whether the pool is currently locked to reentrancy" - } - }, - "snapshotCumulativesInside(int24,int24)": { - "details": "Snapshots must only be compared to other snapshots, taken over a period for which a position existed. I.e., snapshots cannot be compared if a position is not held for the entire period between when the first snapshot is taken and the second snapshot is taken.", - "params": { - "tickLower": "The lower tick of the range", - "tickUpper": "The upper tick of the range" - }, - "returns": { - "secondsInside": "The snapshot of seconds per liquidity for the range", - "secondsPerLiquidityInsideX128": "The snapshot of seconds per liquidity for the range", - "tickCumulativeInside": "The snapshot of the tick accumulator for the range" - } - }, - "swap(address,bool,int256,uint160,bytes)": { - "details": "The caller of this method receives a callback in the form of IUniswapV3SwapCallback#uniswapV3SwapCallback", - "params": { - "amountSpecified": "The amount of the swap, which implicitly configures the swap as exact input (positive), or exact output (negative)", - "data": "Any data to be passed through to the callback", - "recipient": "The address to receive the output of the swap", - "sqrtPriceLimitX96": "The Q64.96 sqrt price limit. If zero for one, the price cannot be less than this value after the swap. If one for zero, the price cannot be greater than this value after the swap", - "zeroForOne": "The direction of the swap, true for token0 to token1, false for token1 to token0" - }, - "returns": { - "amount0": "The delta of the balance of token0 of the pool, exact when negative, minimum when positive", - "amount1": "The delta of the balance of token1 of the pool, exact when negative, minimum when positive" - } - }, - "tickSpacing()": { - "details": "Ticks can only be used at multiples of this value, minimum of 1 and always positive e.g.: a tickSpacing of 3 means ticks can be initialized every 3rd tick, i.e., ..., -6, -3, 0, 3, 6, ... This value is an int24 to avoid casting even though it is always positive.", - "returns": { - "_0": "The tick spacing" - } - }, - "ticks(int24)": { - "params": { - "tick": "The tick to look up" - }, - "returns": { - "liquidityGross": "the total amount of position liquidity that uses the pool either as tick lower or tick upper, liquidityNet how much liquidity changes when the pool price crosses the tick, feeGrowthOutside0X128 the fee growth on the other side of the tick from the current tick in token0, feeGrowthOutside1X128 the fee growth on the other side of the tick from the current tick in token1, tickCumulativeOutside the cumulative tick value on the other side of the tick from the current tick secondsPerLiquidityOutsideX128 the seconds spent per liquidity on the other side of the tick from the current tick, secondsOutside the seconds spent on the other side of the tick from the current tick, initialized Set to true if the tick is initialized, i.e. liquidityGross is greater than 0, otherwise equal to false. Outside values can only be used if the tick is initialized, i.e. if liquidityGross is greater than 0. In addition, these values are only relative and must be used only in comparison to previous snapshots for a specific position." - } - }, - "token0()": { - "returns": { - "_0": "The token contract address" - } - }, - "token1()": { - "returns": { - "_0": "The token contract address" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "burn(int24,int24,uint128)": { - "notice": "Burn liquidity from the sender and account tokens owed for the liquidity to the position" - }, - "collect(address,int24,int24,uint128,uint128)": { - "notice": "Collects tokens owed to a position" - }, - "collectProtocol(address,uint128,uint128)": { - "notice": "Collect the protocol fee accrued to the pool" - }, - "factory()": { - "notice": "The contract that deployed the pool, which must adhere to the IUniswapV3Factory interface" - }, - "fee()": { - "notice": "The pool's fee in hundredths of a bip, i.e. 1e-6" - }, - "feeGrowthGlobal0X128()": { - "notice": "The fee growth as a Q128.128 fees of token0 collected per unit of liquidity for the entire life of the pool" - }, - "feeGrowthGlobal1X128()": { - "notice": "The fee growth as a Q128.128 fees of token1 collected per unit of liquidity for the entire life of the pool" - }, - "flash(address,uint256,uint256,bytes)": { - "notice": "Receive token0 and/or token1 and pay it back, plus a fee, in the callback" - }, - "increaseObservationCardinalityNext(uint16)": { - "notice": "Increase the maximum number of price and liquidity observations that this pool will store" - }, - "initialize(uint160)": { - "notice": "Sets the initial price for the pool" - }, - "liquidity()": { - "notice": "The currently in range liquidity available to the pool" - }, - "maxLiquidityPerTick()": { - "notice": "The maximum amount of position liquidity that can use any tick in the range" - }, - "mint(address,int24,int24,uint128,bytes)": { - "notice": "Adds liquidity for the given recipient/tickLower/tickUpper position" - }, - "observations(uint256)": { - "notice": "Returns data about a specific observation index" - }, - "observe(uint32[])": { - "notice": "Returns the cumulative tick and liquidity as of each timestamp `secondsAgo` from the current block timestamp" - }, - "positions(bytes32)": { - "notice": "Returns the information about a position by the position's key" - }, - "protocolFees()": { - "notice": "The amounts of token0 and token1 that are owed to the protocol" - }, - "setFeeProtocol(uint8,uint8)": { - "notice": "Set the denominator of the protocol's % share of the fees" - }, - "slot0()": { - "notice": "The 0th storage slot in the pool stores many values, and is exposed as a single method to save gas when accessed externally." - }, - "snapshotCumulativesInside(int24,int24)": { - "notice": "Returns a snapshot of the tick cumulative, seconds per liquidity and seconds inside a tick range" - }, - "swap(address,bool,int256,uint160,bytes)": { - "notice": "Swap token0 for token1, or token1 for token0" - }, - "tickBitmap(int16)": { - "notice": "Returns 256 packed tick initialized boolean values. See TickBitmap for more information" - }, - "tickSpacing()": { - "notice": "The pool tick spacing" - }, - "ticks(int24)": { - "notice": "Look up information about a specific tick in the pool" - }, - "token0()": { - "notice": "The first of the two tokens of the pool, sorted by address" - }, - "token1()": { - "notice": "The second of the two tokens of the pool, sorted by address" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "node_modules/@uniswap/v3-core/contracts/interfaces/IUniswapV3Pool.sol": "IUniswapV3Pool" - }, - "libraries": {} - }, - "sources": { - "node_modules/@uniswap/v3-core/contracts/interfaces/IUniswapV3Pool.sol": { - "keccak256": "0xfe6113d518466cd6652c85b111e01f33eb62157f49ae5ed7d5a3947a2044adb1", - "urls": [ - "bzz-raw://1c42b9e6f5902ac38dd43e25750939baa7e0c1425dc75afd717c4412731065d5", - "dweb:/ipfs/QmWaoacnzsucTvBME2o7YgZBZMhaHv7fkj83htHMVWJKWh" - ], - "license": "GPL-2.0-or-later" - }, - "node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolActions.sol": { - "keccak256": "0x9453dd0e7442188667d01d9b65de3f1e14e9511ff3e303179a15f6fc267f7634", - "urls": [ - "bzz-raw://982f4328f956c3e60e67501e759eb292ac487f76460c774c50e9ae4fcc92aae5", - "dweb:/ipfs/QmRnzEDsaqtd9PJEVcgQi7p5aV5pMSvRUoGZJAdwFUJxgZ" - ], - "license": "GPL-2.0-or-later" - }, - "node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolDerivedState.sol": { - "keccak256": "0xe603ac5b17ecdee73ba2b27efdf386c257a19c14206e87eee77e2017b742d9e5", - "urls": [ - "bzz-raw://8febc9bdb399a4d94bb89f5377732652e2400e4a8dee808201ade6848f9004e7", - "dweb:/ipfs/QmaKDqYYFU4d2W2iN77aDHptfbFmYZRrMYXHeGpJmM8C1c" - ], - "license": "GPL-2.0-or-later" - }, - "node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolEvents.sol": { - "keccak256": "0x8071514d0fe5d17d6fbd31c191cdfb703031c24e0ece3621d88ab10e871375cd", - "urls": [ - "bzz-raw://d0b571930cc7488b1d546a7e9cea7c52d8b3c4e207da657ed0e0db7343b8cd03", - "dweb:/ipfs/QmaGK6vVwB95QSTR1XMYvrh7ivYAYZxi3fD7v6VMA4jZ39" - ], - "license": "GPL-2.0-or-later" - }, - "node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolImmutables.sol": { - "keccak256": "0xf6e5d2cd1139c4c276bdbc8e1d2b256e456c866a91f1b868da265c6d2685c3f7", - "urls": [ - "bzz-raw://b99c8c9ae8e27ee6559e5866bea82cbc9ffc8247f8d15b7422a4deb287d4d047", - "dweb:/ipfs/QmfL8gaqt3ffAnm6nVj5ksuNpLygXuL3xq5VBqrkwC2JJ3" - ], - "license": "GPL-2.0-or-later" - }, - "node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolOwnerActions.sol": { - "keccak256": "0x759b78a2918af9e99e246dc3af084f654e48ef32bb4e4cb8a966aa3dcaece235", - "urls": [ - "bzz-raw://64144fb96e1c7fdba87305acadb98a198d26a3d46c097cb3a666e567f6f29735", - "dweb:/ipfs/QmUnWVwN9FKB9uV5Pr8YfLpWZnYM2DENnRMaadZ492JS9u" - ], - "license": "GPL-2.0-or-later" - }, - "node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolState.sol": { - "keccak256": "0x852dc1f5df7dcf7f11e7bb3eed79f0cea72ad4b25f6a9d2c35aafb48925fd49f", - "urls": [ - "bzz-raw://ed63907c38ff36b0e22bc9ffc53e791ea74f0d4f0e7c257fdfb5aaf8825b1f0f", - "dweb:/ipfs/QmSQrckghEjs6HVsA5GVgpNpZWvTXMY5eQLF7cN6deFeEg" - ], - "license": "GPL-2.0-or-later" - } - }, - "version": 1 - }, - "id": 28 -} +{ "abi": [ { "type": "function", "name": "burn", "inputs": [ { "name": "tickLower", "type": "int24", "internalType": "int24" }, { "name": "tickUpper", "type": "int24", "internalType": "int24" }, { "name": "amount", "type": "uint128", "internalType": "uint128" } ], "outputs": [ { "name": "amount0", "type": "uint256", "internalType": "uint256" }, { "name": "amount1", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "collect", "inputs": [ { "name": "recipient", "type": "address", "internalType": "address" }, { "name": "tickLower", "type": "int24", "internalType": "int24" }, { "name": "tickUpper", "type": "int24", "internalType": "int24" }, { "name": "amount0Requested", "type": "uint128", "internalType": "uint128" }, { "name": "amount1Requested", "type": "uint128", "internalType": "uint128" } ], "outputs": [ { "name": "amount0", "type": "uint128", "internalType": "uint128" }, { "name": "amount1", "type": "uint128", "internalType": "uint128" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "collectProtocol", "inputs": [ { "name": "recipient", "type": "address", "internalType": "address" }, { "name": "amount0Requested", "type": "uint128", "internalType": "uint128" }, { "name": "amount1Requested", "type": "uint128", "internalType": "uint128" } ], "outputs": [ { "name": "amount0", "type": "uint128", "internalType": "uint128" }, { "name": "amount1", "type": "uint128", "internalType": "uint128" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "factory", "inputs": [], "outputs": [ { "name": "", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "fee", "inputs": [], "outputs": [ { "name": "", "type": "uint24", "internalType": "uint24" } ], "stateMutability": "view" }, { "type": "function", "name": "feeGrowthGlobal0X128", "inputs": [], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "feeGrowthGlobal1X128", "inputs": [], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "flash", "inputs": [ { "name": "recipient", "type": "address", "internalType": "address" }, { "name": "amount0", "type": "uint256", "internalType": "uint256" }, { "name": "amount1", "type": "uint256", "internalType": "uint256" }, { "name": "data", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "increaseObservationCardinalityNext", "inputs": [ { "name": "observationCardinalityNext", "type": "uint16", "internalType": "uint16" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "initialize", "inputs": [ { "name": "sqrtPriceX96", "type": "uint160", "internalType": "uint160" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "liquidity", "inputs": [], "outputs": [ { "name": "", "type": "uint128", "internalType": "uint128" } ], "stateMutability": "view" }, { "type": "function", "name": "maxLiquidityPerTick", "inputs": [], "outputs": [ { "name": "", "type": "uint128", "internalType": "uint128" } ], "stateMutability": "view" }, { "type": "function", "name": "mint", "inputs": [ { "name": "recipient", "type": "address", "internalType": "address" }, { "name": "tickLower", "type": "int24", "internalType": "int24" }, { "name": "tickUpper", "type": "int24", "internalType": "int24" }, { "name": "amount", "type": "uint128", "internalType": "uint128" }, { "name": "data", "type": "bytes", "internalType": "bytes" } ], "outputs": [ { "name": "amount0", "type": "uint256", "internalType": "uint256" }, { "name": "amount1", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "observations", "inputs": [ { "name": "index", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "blockTimestamp", "type": "uint32", "internalType": "uint32" }, { "name": "tickCumulative", "type": "int56", "internalType": "int56" }, { "name": "secondsPerLiquidityCumulativeX128", "type": "uint160", "internalType": "uint160" }, { "name": "initialized", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "observe", "inputs": [ { "name": "secondsAgos", "type": "uint32[]", "internalType": "uint32[]" } ], "outputs": [ { "name": "tickCumulatives", "type": "int56[]", "internalType": "int56[]" }, { "name": "secondsPerLiquidityCumulativeX128s", "type": "uint160[]", "internalType": "uint160[]" } ], "stateMutability": "view" }, { "type": "function", "name": "positions", "inputs": [ { "name": "key", "type": "bytes32", "internalType": "bytes32" } ], "outputs": [ { "name": "_liquidity", "type": "uint128", "internalType": "uint128" }, { "name": "feeGrowthInside0LastX128", "type": "uint256", "internalType": "uint256" }, { "name": "feeGrowthInside1LastX128", "type": "uint256", "internalType": "uint256" }, { "name": "tokensOwed0", "type": "uint128", "internalType": "uint128" }, { "name": "tokensOwed1", "type": "uint128", "internalType": "uint128" } ], "stateMutability": "view" }, { "type": "function", "name": "protocolFees", "inputs": [], "outputs": [ { "name": "token0", "type": "uint128", "internalType": "uint128" }, { "name": "token1", "type": "uint128", "internalType": "uint128" } ], "stateMutability": "view" }, { "type": "function", "name": "setFeeProtocol", "inputs": [ { "name": "feeProtocol0", "type": "uint8", "internalType": "uint8" }, { "name": "feeProtocol1", "type": "uint8", "internalType": "uint8" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "slot0", "inputs": [], "outputs": [ { "name": "sqrtPriceX96", "type": "uint160", "internalType": "uint160" }, { "name": "tick", "type": "int24", "internalType": "int24" }, { "name": "observationIndex", "type": "uint16", "internalType": "uint16" }, { "name": "observationCardinality", "type": "uint16", "internalType": "uint16" }, { "name": "observationCardinalityNext", "type": "uint16", "internalType": "uint16" }, { "name": "feeProtocol", "type": "uint8", "internalType": "uint8" }, { "name": "unlocked", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "snapshotCumulativesInside", "inputs": [ { "name": "tickLower", "type": "int24", "internalType": "int24" }, { "name": "tickUpper", "type": "int24", "internalType": "int24" } ], "outputs": [ { "name": "tickCumulativeInside", "type": "int56", "internalType": "int56" }, { "name": "secondsPerLiquidityInsideX128", "type": "uint160", "internalType": "uint160" }, { "name": "secondsInside", "type": "uint32", "internalType": "uint32" } ], "stateMutability": "view" }, { "type": "function", "name": "swap", "inputs": [ { "name": "recipient", "type": "address", "internalType": "address" }, { "name": "zeroForOne", "type": "bool", "internalType": "bool" }, { "name": "amountSpecified", "type": "int256", "internalType": "int256" }, { "name": "sqrtPriceLimitX96", "type": "uint160", "internalType": "uint160" }, { "name": "data", "type": "bytes", "internalType": "bytes" } ], "outputs": [ { "name": "amount0", "type": "int256", "internalType": "int256" }, { "name": "amount1", "type": "int256", "internalType": "int256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "tickBitmap", "inputs": [ { "name": "wordPosition", "type": "int16", "internalType": "int16" } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "tickSpacing", "inputs": [], "outputs": [ { "name": "", "type": "int24", "internalType": "int24" } ], "stateMutability": "view" }, { "type": "function", "name": "ticks", "inputs": [ { "name": "tick", "type": "int24", "internalType": "int24" } ], "outputs": [ { "name": "liquidityGross", "type": "uint128", "internalType": "uint128" }, { "name": "liquidityNet", "type": "int128", "internalType": "int128" }, { "name": "feeGrowthOutside0X128", "type": "uint256", "internalType": "uint256" }, { "name": "feeGrowthOutside1X128", "type": "uint256", "internalType": "uint256" }, { "name": "tickCumulativeOutside", "type": "int56", "internalType": "int56" }, { "name": "secondsPerLiquidityOutsideX128", "type": "uint160", "internalType": "uint160" }, { "name": "secondsOutside", "type": "uint32", "internalType": "uint32" }, { "name": "initialized", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "token0", "inputs": [], "outputs": [ { "name": "", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "token1", "inputs": [], "outputs": [ { "name": "", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "event", "name": "Burn", "inputs": [ { "name": "owner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "tickLower", "type": "int24", "indexed": true, "internalType": "int24" }, { "name": "tickUpper", "type": "int24", "indexed": true, "internalType": "int24" }, { "name": "amount", "type": "uint128", "indexed": false, "internalType": "uint128" }, { "name": "amount0", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "amount1", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "Collect", "inputs": [ { "name": "owner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "recipient", "type": "address", "indexed": false, "internalType": "address" }, { "name": "tickLower", "type": "int24", "indexed": true, "internalType": "int24" }, { "name": "tickUpper", "type": "int24", "indexed": true, "internalType": "int24" }, { "name": "amount0", "type": "uint128", "indexed": false, "internalType": "uint128" }, { "name": "amount1", "type": "uint128", "indexed": false, "internalType": "uint128" } ], "anonymous": false }, { "type": "event", "name": "CollectProtocol", "inputs": [ { "name": "sender", "type": "address", "indexed": true, "internalType": "address" }, { "name": "recipient", "type": "address", "indexed": true, "internalType": "address" }, { "name": "amount0", "type": "uint128", "indexed": false, "internalType": "uint128" }, { "name": "amount1", "type": "uint128", "indexed": false, "internalType": "uint128" } ], "anonymous": false }, { "type": "event", "name": "Flash", "inputs": [ { "name": "sender", "type": "address", "indexed": true, "internalType": "address" }, { "name": "recipient", "type": "address", "indexed": true, "internalType": "address" }, { "name": "amount0", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "amount1", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "paid0", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "paid1", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "IncreaseObservationCardinalityNext", "inputs": [ { "name": "observationCardinalityNextOld", "type": "uint16", "indexed": false, "internalType": "uint16" }, { "name": "observationCardinalityNextNew", "type": "uint16", "indexed": false, "internalType": "uint16" } ], "anonymous": false }, { "type": "event", "name": "Initialize", "inputs": [ { "name": "sqrtPriceX96", "type": "uint160", "indexed": false, "internalType": "uint160" }, { "name": "tick", "type": "int24", "indexed": false, "internalType": "int24" } ], "anonymous": false }, { "type": "event", "name": "Mint", "inputs": [ { "name": "sender", "type": "address", "indexed": false, "internalType": "address" }, { "name": "owner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "tickLower", "type": "int24", "indexed": true, "internalType": "int24" }, { "name": "tickUpper", "type": "int24", "indexed": true, "internalType": "int24" }, { "name": "amount", "type": "uint128", "indexed": false, "internalType": "uint128" }, { "name": "amount0", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "amount1", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "SetFeeProtocol", "inputs": [ { "name": "feeProtocol0Old", "type": "uint8", "indexed": false, "internalType": "uint8" }, { "name": "feeProtocol1Old", "type": "uint8", "indexed": false, "internalType": "uint8" }, { "name": "feeProtocol0New", "type": "uint8", "indexed": false, "internalType": "uint8" }, { "name": "feeProtocol1New", "type": "uint8", "indexed": false, "internalType": "uint8" } ], "anonymous": false }, { "type": "event", "name": "Swap", "inputs": [ { "name": "sender", "type": "address", "indexed": true, "internalType": "address" }, { "name": "recipient", "type": "address", "indexed": true, "internalType": "address" }, { "name": "amount0", "type": "int256", "indexed": false, "internalType": "int256" }, { "name": "amount1", "type": "int256", "indexed": false, "internalType": "int256" }, { "name": "sqrtPriceX96", "type": "uint160", "indexed": false, "internalType": "uint160" }, { "name": "liquidity", "type": "uint128", "indexed": false, "internalType": "uint128" }, { "name": "tick", "type": "int24", "indexed": false, "internalType": "int24" } ], "anonymous": false } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "burn(int24,int24,uint128)": "a34123a7", "collect(address,int24,int24,uint128,uint128)": "4f1eb3d8", "collectProtocol(address,uint128,uint128)": "85b66729", "factory()": "c45a0155", "fee()": "ddca3f43", "feeGrowthGlobal0X128()": "f3058399", "feeGrowthGlobal1X128()": "46141319", "flash(address,uint256,uint256,bytes)": "490e6cbc", "increaseObservationCardinalityNext(uint16)": "32148f67", "initialize(uint160)": "f637731d", "liquidity()": "1a686502", "maxLiquidityPerTick()": "70cf754a", "mint(address,int24,int24,uint128,bytes)": "3c8a7d8d", "observations(uint256)": "252c09d7", "observe(uint32[])": "883bdbfd", "positions(bytes32)": "514ea4bf", "protocolFees()": "1ad8b03b", "setFeeProtocol(uint8,uint8)": "8206a4d1", "slot0()": "3850c7bd", "snapshotCumulativesInside(int24,int24)": "a38807f2", "swap(address,bool,int256,uint160,bytes)": "128acb08", "tickBitmap(int16)": "5339c296", "tickSpacing()": "d0c93a7c", "ticks(int24)": "f30dba93", "token0()": "0dfe1681", "token1()": "d21220a7" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.7.6+commit.7338295f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"int24\",\"name\":\"tickLower\",\"type\":\"int24\"},{\"indexed\":true,\"internalType\":\"int24\",\"name\":\"tickUpper\",\"type\":\"int24\"},{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"amount\",\"type\":\"uint128\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount0\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount1\",\"type\":\"uint256\"}],\"name\":\"Burn\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"int24\",\"name\":\"tickLower\",\"type\":\"int24\"},{\"indexed\":true,\"internalType\":\"int24\",\"name\":\"tickUpper\",\"type\":\"int24\"},{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"amount0\",\"type\":\"uint128\"},{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"amount1\",\"type\":\"uint128\"}],\"name\":\"Collect\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"amount0\",\"type\":\"uint128\"},{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"amount1\",\"type\":\"uint128\"}],\"name\":\"CollectProtocol\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount0\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount1\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"paid0\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"paid1\",\"type\":\"uint256\"}],\"name\":\"Flash\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint16\",\"name\":\"observationCardinalityNextOld\",\"type\":\"uint16\"},{\"indexed\":false,\"internalType\":\"uint16\",\"name\":\"observationCardinalityNextNew\",\"type\":\"uint16\"}],\"name\":\"IncreaseObservationCardinalityNext\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint160\",\"name\":\"sqrtPriceX96\",\"type\":\"uint160\"},{\"indexed\":false,\"internalType\":\"int24\",\"name\":\"tick\",\"type\":\"int24\"}],\"name\":\"Initialize\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"int24\",\"name\":\"tickLower\",\"type\":\"int24\"},{\"indexed\":true,\"internalType\":\"int24\",\"name\":\"tickUpper\",\"type\":\"int24\"},{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"amount\",\"type\":\"uint128\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount0\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount1\",\"type\":\"uint256\"}],\"name\":\"Mint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"feeProtocol0Old\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"feeProtocol1Old\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"feeProtocol0New\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"feeProtocol1New\",\"type\":\"uint8\"}],\"name\":\"SetFeeProtocol\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"amount0\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"amount1\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint160\",\"name\":\"sqrtPriceX96\",\"type\":\"uint160\"},{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"liquidity\",\"type\":\"uint128\"},{\"indexed\":false,\"internalType\":\"int24\",\"name\":\"tick\",\"type\":\"int24\"}],\"name\":\"Swap\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"int24\",\"name\":\"tickLower\",\"type\":\"int24\"},{\"internalType\":\"int24\",\"name\":\"tickUpper\",\"type\":\"int24\"},{\"internalType\":\"uint128\",\"name\":\"amount\",\"type\":\"uint128\"}],\"name\":\"burn\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount0\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount1\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"int24\",\"name\":\"tickLower\",\"type\":\"int24\"},{\"internalType\":\"int24\",\"name\":\"tickUpper\",\"type\":\"int24\"},{\"internalType\":\"uint128\",\"name\":\"amount0Requested\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"amount1Requested\",\"type\":\"uint128\"}],\"name\":\"collect\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"amount0\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"amount1\",\"type\":\"uint128\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint128\",\"name\":\"amount0Requested\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"amount1Requested\",\"type\":\"uint128\"}],\"name\":\"collectProtocol\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"amount0\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"amount1\",\"type\":\"uint128\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"factory\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"fee\",\"outputs\":[{\"internalType\":\"uint24\",\"name\":\"\",\"type\":\"uint24\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"feeGrowthGlobal0X128\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"feeGrowthGlobal1X128\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount0\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount1\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"flash\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint16\",\"name\":\"observationCardinalityNext\",\"type\":\"uint16\"}],\"name\":\"increaseObservationCardinalityNext\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint160\",\"name\":\"sqrtPriceX96\",\"type\":\"uint160\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"liquidity\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"\",\"type\":\"uint128\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"maxLiquidityPerTick\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"\",\"type\":\"uint128\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"int24\",\"name\":\"tickLower\",\"type\":\"int24\"},{\"internalType\":\"int24\",\"name\":\"tickUpper\",\"type\":\"int24\"},{\"internalType\":\"uint128\",\"name\":\"amount\",\"type\":\"uint128\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"mint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount0\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount1\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"observations\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"blockTimestamp\",\"type\":\"uint32\"},{\"internalType\":\"int56\",\"name\":\"tickCumulative\",\"type\":\"int56\"},{\"internalType\":\"uint160\",\"name\":\"secondsPerLiquidityCumulativeX128\",\"type\":\"uint160\"},{\"internalType\":\"bool\",\"name\":\"initialized\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint32[]\",\"name\":\"secondsAgos\",\"type\":\"uint32[]\"}],\"name\":\"observe\",\"outputs\":[{\"internalType\":\"int56[]\",\"name\":\"tickCumulatives\",\"type\":\"int56[]\"},{\"internalType\":\"uint160[]\",\"name\":\"secondsPerLiquidityCumulativeX128s\",\"type\":\"uint160[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"key\",\"type\":\"bytes32\"}],\"name\":\"positions\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"_liquidity\",\"type\":\"uint128\"},{\"internalType\":\"uint256\",\"name\":\"feeGrowthInside0LastX128\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"feeGrowthInside1LastX128\",\"type\":\"uint256\"},{\"internalType\":\"uint128\",\"name\":\"tokensOwed0\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"tokensOwed1\",\"type\":\"uint128\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"protocolFees\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"token0\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"token1\",\"type\":\"uint128\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"feeProtocol0\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"feeProtocol1\",\"type\":\"uint8\"}],\"name\":\"setFeeProtocol\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"slot0\",\"outputs\":[{\"internalType\":\"uint160\",\"name\":\"sqrtPriceX96\",\"type\":\"uint160\"},{\"internalType\":\"int24\",\"name\":\"tick\",\"type\":\"int24\"},{\"internalType\":\"uint16\",\"name\":\"observationIndex\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"observationCardinality\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"observationCardinalityNext\",\"type\":\"uint16\"},{\"internalType\":\"uint8\",\"name\":\"feeProtocol\",\"type\":\"uint8\"},{\"internalType\":\"bool\",\"name\":\"unlocked\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int24\",\"name\":\"tickLower\",\"type\":\"int24\"},{\"internalType\":\"int24\",\"name\":\"tickUpper\",\"type\":\"int24\"}],\"name\":\"snapshotCumulativesInside\",\"outputs\":[{\"internalType\":\"int56\",\"name\":\"tickCumulativeInside\",\"type\":\"int56\"},{\"internalType\":\"uint160\",\"name\":\"secondsPerLiquidityInsideX128\",\"type\":\"uint160\"},{\"internalType\":\"uint32\",\"name\":\"secondsInside\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"zeroForOne\",\"type\":\"bool\"},{\"internalType\":\"int256\",\"name\":\"amountSpecified\",\"type\":\"int256\"},{\"internalType\":\"uint160\",\"name\":\"sqrtPriceLimitX96\",\"type\":\"uint160\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"swap\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"amount0\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"amount1\",\"type\":\"int256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int16\",\"name\":\"wordPosition\",\"type\":\"int16\"}],\"name\":\"tickBitmap\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"tickSpacing\",\"outputs\":[{\"internalType\":\"int24\",\"name\":\"\",\"type\":\"int24\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int24\",\"name\":\"tick\",\"type\":\"int24\"}],\"name\":\"ticks\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"liquidityGross\",\"type\":\"uint128\"},{\"internalType\":\"int128\",\"name\":\"liquidityNet\",\"type\":\"int128\"},{\"internalType\":\"uint256\",\"name\":\"feeGrowthOutside0X128\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"feeGrowthOutside1X128\",\"type\":\"uint256\"},{\"internalType\":\"int56\",\"name\":\"tickCumulativeOutside\",\"type\":\"int56\"},{\"internalType\":\"uint160\",\"name\":\"secondsPerLiquidityOutsideX128\",\"type\":\"uint160\"},{\"internalType\":\"uint32\",\"name\":\"secondsOutside\",\"type\":\"uint32\"},{\"internalType\":\"bool\",\"name\":\"initialized\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"token0\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"token1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"The pool interface is broken up into many smaller pieces\",\"kind\":\"dev\",\"methods\":{\"burn(int24,int24,uint128)\":{\"details\":\"Can be used to trigger a recalculation of fees owed to a position by calling with an amount of 0Fees must be collected separately via a call to #collect\",\"params\":{\"amount\":\"How much liquidity to burn\",\"tickLower\":\"The lower tick of the position for which to burn liquidity\",\"tickUpper\":\"The upper tick of the position for which to burn liquidity\"},\"returns\":{\"amount0\":\"The amount of token0 sent to the recipient\",\"amount1\":\"The amount of token1 sent to the recipient\"}},\"collect(address,int24,int24,uint128,uint128)\":{\"details\":\"Does not recompute fees earned, which must be done either via mint or burn of any amount of liquidity. Collect must be called by the position owner. To withdraw only token0 or only token1, amount0Requested or amount1Requested may be set to zero. To withdraw all tokens owed, caller may pass any value greater than the actual tokens owed, e.g. type(uint128).max. Tokens owed may be from accumulated swap fees or burned liquidity.\",\"params\":{\"amount0Requested\":\"How much token0 should be withdrawn from the fees owed\",\"amount1Requested\":\"How much token1 should be withdrawn from the fees owed\",\"recipient\":\"The address which should receive the fees collected\",\"tickLower\":\"The lower tick of the position for which to collect fees\",\"tickUpper\":\"The upper tick of the position for which to collect fees\"},\"returns\":{\"amount0\":\"The amount of fees collected in token0\",\"amount1\":\"The amount of fees collected in token1\"}},\"collectProtocol(address,uint128,uint128)\":{\"params\":{\"amount0Requested\":\"The maximum amount of token0 to send, can be 0 to collect fees in only token1\",\"amount1Requested\":\"The maximum amount of token1 to send, can be 0 to collect fees in only token0\",\"recipient\":\"The address to which collected protocol fees should be sent\"},\"returns\":{\"amount0\":\"The protocol fee collected in token0\",\"amount1\":\"The protocol fee collected in token1\"}},\"factory()\":{\"returns\":{\"_0\":\"The contract address\"}},\"fee()\":{\"returns\":{\"_0\":\"The fee\"}},\"feeGrowthGlobal0X128()\":{\"details\":\"This value can overflow the uint256\"},\"feeGrowthGlobal1X128()\":{\"details\":\"This value can overflow the uint256\"},\"flash(address,uint256,uint256,bytes)\":{\"details\":\"The caller of this method receives a callback in the form of IUniswapV3FlashCallback#uniswapV3FlashCallbackCan be used to donate underlying tokens pro-rata to currently in-range liquidity providers by calling with 0 amount{0,1} and sending the donation amount(s) from the callback\",\"params\":{\"amount0\":\"The amount of token0 to send\",\"amount1\":\"The amount of token1 to send\",\"data\":\"Any data to be passed through to the callback\",\"recipient\":\"The address which will receive the token0 and token1 amounts\"}},\"increaseObservationCardinalityNext(uint16)\":{\"details\":\"This method is no-op if the pool already has an observationCardinalityNext greater than or equal to the input observationCardinalityNext.\",\"params\":{\"observationCardinalityNext\":\"The desired minimum number of observations for the pool to store\"}},\"initialize(uint160)\":{\"details\":\"Price is represented as a sqrt(amountToken1/amountToken0) Q64.96 value\",\"params\":{\"sqrtPriceX96\":\"the initial sqrt price of the pool as a Q64.96\"}},\"liquidity()\":{\"details\":\"This value has no relationship to the total liquidity across all ticks\"},\"maxLiquidityPerTick()\":{\"details\":\"This parameter is enforced per tick to prevent liquidity from overflowing a uint128 at any point, and also prevents out-of-range liquidity from being used to prevent adding in-range liquidity to a pool\",\"returns\":{\"_0\":\"The max amount of liquidity per tick\"}},\"mint(address,int24,int24,uint128,bytes)\":{\"details\":\"The caller of this method receives a callback in the form of IUniswapV3MintCallback#uniswapV3MintCallback in which they must pay any token0 or token1 owed for the liquidity. The amount of token0/token1 due depends on tickLower, tickUpper, the amount of liquidity, and the current price.\",\"params\":{\"amount\":\"The amount of liquidity to mint\",\"data\":\"Any data that should be passed through to the callback\",\"recipient\":\"The address for which the liquidity will be created\",\"tickLower\":\"The lower tick of the position in which to add liquidity\",\"tickUpper\":\"The upper tick of the position in which to add liquidity\"},\"returns\":{\"amount0\":\"The amount of token0 that was paid to mint the given amount of liquidity. Matches the value in the callback\",\"amount1\":\"The amount of token1 that was paid to mint the given amount of liquidity. Matches the value in the callback\"}},\"observations(uint256)\":{\"details\":\"You most likely want to use #observe() instead of this method to get an observation as of some amount of time ago, rather than at a specific index in the array.\",\"params\":{\"index\":\"The element of the observations array to fetch\"},\"returns\":{\"blockTimestamp\":\"The timestamp of the observation, Returns tickCumulative the tick multiplied by seconds elapsed for the life of the pool as of the observation timestamp, Returns secondsPerLiquidityCumulativeX128 the seconds per in range liquidity for the life of the pool as of the observation timestamp, Returns initialized whether the observation has been initialized and the values are safe to use\"}},\"observe(uint32[])\":{\"details\":\"To get a time weighted average tick or liquidity-in-range, you must call this with two values, one representing the beginning of the period and another for the end of the period. E.g., to get the last hour time-weighted average tick, you must call it with secondsAgos = [3600, 0].The time weighted average tick represents the geometric time weighted average price of the pool, in log base sqrt(1.0001) of token1 / token0. The TickMath library can be used to go from a tick value to a ratio.\",\"params\":{\"secondsAgos\":\"From how long ago each cumulative tick and liquidity value should be returned\"},\"returns\":{\"secondsPerLiquidityCumulativeX128s\":\"Cumulative seconds per liquidity-in-range value as of each `secondsAgos` from the current block timestamp\",\"tickCumulatives\":\"Cumulative tick values as of each `secondsAgos` from the current block timestamp\"}},\"positions(bytes32)\":{\"params\":{\"key\":\"The position's key is a hash of a preimage composed by the owner, tickLower and tickUpper\"},\"returns\":{\"_liquidity\":\"The amount of liquidity in the position, Returns feeGrowthInside0LastX128 fee growth of token0 inside the tick range as of the last mint/burn/poke, Returns feeGrowthInside1LastX128 fee growth of token1 inside the tick range as of the last mint/burn/poke, Returns tokensOwed0 the computed amount of token0 owed to the position as of the last mint/burn/poke, Returns tokensOwed1 the computed amount of token1 owed to the position as of the last mint/burn/poke\"}},\"protocolFees()\":{\"details\":\"Protocol fees will never exceed uint128 max in either token\"},\"setFeeProtocol(uint8,uint8)\":{\"params\":{\"feeProtocol0\":\"new protocol fee for token0 of the pool\",\"feeProtocol1\":\"new protocol fee for token1 of the pool\"}},\"slot0()\":{\"returns\":{\"sqrtPriceX96\":\"The current price of the pool as a sqrt(token1/token0) Q64.96 value tick The current tick of the pool, i.e. according to the last tick transition that was run. This value may not always be equal to SqrtTickMath.getTickAtSqrtRatio(sqrtPriceX96) if the price is on a tick boundary. observationIndex The index of the last oracle observation that was written, observationCardinality The current maximum number of observations stored in the pool, observationCardinalityNext The next maximum number of observations, to be updated when the observation. feeProtocol The protocol fee for both tokens of the pool. Encoded as two 4 bit values, where the protocol fee of token1 is shifted 4 bits and the protocol fee of token0 is the lower 4 bits. Used as the denominator of a fraction of the swap fee, e.g. 4 means 1/4th of the swap fee. unlocked Whether the pool is currently locked to reentrancy\"}},\"snapshotCumulativesInside(int24,int24)\":{\"details\":\"Snapshots must only be compared to other snapshots, taken over a period for which a position existed. I.e., snapshots cannot be compared if a position is not held for the entire period between when the first snapshot is taken and the second snapshot is taken.\",\"params\":{\"tickLower\":\"The lower tick of the range\",\"tickUpper\":\"The upper tick of the range\"},\"returns\":{\"secondsInside\":\"The snapshot of seconds per liquidity for the range\",\"secondsPerLiquidityInsideX128\":\"The snapshot of seconds per liquidity for the range\",\"tickCumulativeInside\":\"The snapshot of the tick accumulator for the range\"}},\"swap(address,bool,int256,uint160,bytes)\":{\"details\":\"The caller of this method receives a callback in the form of IUniswapV3SwapCallback#uniswapV3SwapCallback\",\"params\":{\"amountSpecified\":\"The amount of the swap, which implicitly configures the swap as exact input (positive), or exact output (negative)\",\"data\":\"Any data to be passed through to the callback\",\"recipient\":\"The address to receive the output of the swap\",\"sqrtPriceLimitX96\":\"The Q64.96 sqrt price limit. If zero for one, the price cannot be less than this value after the swap. If one for zero, the price cannot be greater than this value after the swap\",\"zeroForOne\":\"The direction of the swap, true for token0 to token1, false for token1 to token0\"},\"returns\":{\"amount0\":\"The delta of the balance of token0 of the pool, exact when negative, minimum when positive\",\"amount1\":\"The delta of the balance of token1 of the pool, exact when negative, minimum when positive\"}},\"tickSpacing()\":{\"details\":\"Ticks can only be used at multiples of this value, minimum of 1 and always positive e.g.: a tickSpacing of 3 means ticks can be initialized every 3rd tick, i.e., ..., -6, -3, 0, 3, 6, ... This value is an int24 to avoid casting even though it is always positive.\",\"returns\":{\"_0\":\"The tick spacing\"}},\"ticks(int24)\":{\"params\":{\"tick\":\"The tick to look up\"},\"returns\":{\"liquidityGross\":\"the total amount of position liquidity that uses the pool either as tick lower or tick upper, liquidityNet how much liquidity changes when the pool price crosses the tick, feeGrowthOutside0X128 the fee growth on the other side of the tick from the current tick in token0, feeGrowthOutside1X128 the fee growth on the other side of the tick from the current tick in token1, tickCumulativeOutside the cumulative tick value on the other side of the tick from the current tick secondsPerLiquidityOutsideX128 the seconds spent per liquidity on the other side of the tick from the current tick, secondsOutside the seconds spent on the other side of the tick from the current tick, initialized Set to true if the tick is initialized, i.e. liquidityGross is greater than 0, otherwise equal to false. Outside values can only be used if the tick is initialized, i.e. if liquidityGross is greater than 0. In addition, these values are only relative and must be used only in comparison to previous snapshots for a specific position.\"}},\"token0()\":{\"returns\":{\"_0\":\"The token contract address\"}},\"token1()\":{\"returns\":{\"_0\":\"The token contract address\"}}},\"title\":\"The interface for a Uniswap V3 Pool\",\"version\":1},\"userdoc\":{\"events\":{\"Burn(address,int24,int24,uint128,uint256,uint256)\":{\"notice\":\"Emitted when a position's liquidity is removed\"},\"Collect(address,address,int24,int24,uint128,uint128)\":{\"notice\":\"Emitted when fees are collected by the owner of a position\"},\"CollectProtocol(address,address,uint128,uint128)\":{\"notice\":\"Emitted when the collected protocol fees are withdrawn by the factory owner\"},\"Flash(address,address,uint256,uint256,uint256,uint256)\":{\"notice\":\"Emitted by the pool for any flashes of token0/token1\"},\"IncreaseObservationCardinalityNext(uint16,uint16)\":{\"notice\":\"Emitted by the pool for increases to the number of observations that can be stored\"},\"Initialize(uint160,int24)\":{\"notice\":\"Emitted exactly once by a pool when #initialize is first called on the pool\"},\"Mint(address,address,int24,int24,uint128,uint256,uint256)\":{\"notice\":\"Emitted when liquidity is minted for a given position\"},\"SetFeeProtocol(uint8,uint8,uint8,uint8)\":{\"notice\":\"Emitted when the protocol fee is changed by the pool\"},\"Swap(address,address,int256,int256,uint160,uint128,int24)\":{\"notice\":\"Emitted by the pool for any swaps between token0 and token1\"}},\"kind\":\"user\",\"methods\":{\"burn(int24,int24,uint128)\":{\"notice\":\"Burn liquidity from the sender and account tokens owed for the liquidity to the position\"},\"collect(address,int24,int24,uint128,uint128)\":{\"notice\":\"Collects tokens owed to a position\"},\"collectProtocol(address,uint128,uint128)\":{\"notice\":\"Collect the protocol fee accrued to the pool\"},\"factory()\":{\"notice\":\"The contract that deployed the pool, which must adhere to the IUniswapV3Factory interface\"},\"fee()\":{\"notice\":\"The pool's fee in hundredths of a bip, i.e. 1e-6\"},\"feeGrowthGlobal0X128()\":{\"notice\":\"The fee growth as a Q128.128 fees of token0 collected per unit of liquidity for the entire life of the pool\"},\"feeGrowthGlobal1X128()\":{\"notice\":\"The fee growth as a Q128.128 fees of token1 collected per unit of liquidity for the entire life of the pool\"},\"flash(address,uint256,uint256,bytes)\":{\"notice\":\"Receive token0 and/or token1 and pay it back, plus a fee, in the callback\"},\"increaseObservationCardinalityNext(uint16)\":{\"notice\":\"Increase the maximum number of price and liquidity observations that this pool will store\"},\"initialize(uint160)\":{\"notice\":\"Sets the initial price for the pool\"},\"liquidity()\":{\"notice\":\"The currently in range liquidity available to the pool\"},\"maxLiquidityPerTick()\":{\"notice\":\"The maximum amount of position liquidity that can use any tick in the range\"},\"mint(address,int24,int24,uint128,bytes)\":{\"notice\":\"Adds liquidity for the given recipient/tickLower/tickUpper position\"},\"observations(uint256)\":{\"notice\":\"Returns data about a specific observation index\"},\"observe(uint32[])\":{\"notice\":\"Returns the cumulative tick and liquidity as of each timestamp `secondsAgo` from the current block timestamp\"},\"positions(bytes32)\":{\"notice\":\"Returns the information about a position by the position's key\"},\"protocolFees()\":{\"notice\":\"The amounts of token0 and token1 that are owed to the protocol\"},\"setFeeProtocol(uint8,uint8)\":{\"notice\":\"Set the denominator of the protocol's % share of the fees\"},\"slot0()\":{\"notice\":\"The 0th storage slot in the pool stores many values, and is exposed as a single method to save gas when accessed externally.\"},\"snapshotCumulativesInside(int24,int24)\":{\"notice\":\"Returns a snapshot of the tick cumulative, seconds per liquidity and seconds inside a tick range\"},\"swap(address,bool,int256,uint160,bytes)\":{\"notice\":\"Swap token0 for token1, or token1 for token0\"},\"tickBitmap(int16)\":{\"notice\":\"Returns 256 packed tick initialized boolean values. See TickBitmap for more information\"},\"tickSpacing()\":{\"notice\":\"The pool tick spacing\"},\"ticks(int24)\":{\"notice\":\"Look up information about a specific tick in the pool\"},\"token0()\":{\"notice\":\"The first of the two tokens of the pool, sorted by address\"},\"token1()\":{\"notice\":\"The second of the two tokens of the pool, sorted by address\"}},\"notice\":\"A Uniswap pool facilitates swapping and automated market making between any two assets that strictly conform to the ERC20 specification\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@uniswap/v3-core/contracts/interfaces/IUniswapV3Pool.sol\":\"IUniswapV3Pool\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"node_modules/@uniswap/v3-core/contracts/interfaces/IUniswapV3Pool.sol\":{\"keccak256\":\"0xfe6113d518466cd6652c85b111e01f33eb62157f49ae5ed7d5a3947a2044adb1\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://1c42b9e6f5902ac38dd43e25750939baa7e0c1425dc75afd717c4412731065d5\",\"dweb:/ipfs/QmWaoacnzsucTvBME2o7YgZBZMhaHv7fkj83htHMVWJKWh\"]},\"node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolActions.sol\":{\"keccak256\":\"0x9453dd0e7442188667d01d9b65de3f1e14e9511ff3e303179a15f6fc267f7634\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://982f4328f956c3e60e67501e759eb292ac487f76460c774c50e9ae4fcc92aae5\",\"dweb:/ipfs/QmRnzEDsaqtd9PJEVcgQi7p5aV5pMSvRUoGZJAdwFUJxgZ\"]},\"node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolDerivedState.sol\":{\"keccak256\":\"0xe603ac5b17ecdee73ba2b27efdf386c257a19c14206e87eee77e2017b742d9e5\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://8febc9bdb399a4d94bb89f5377732652e2400e4a8dee808201ade6848f9004e7\",\"dweb:/ipfs/QmaKDqYYFU4d2W2iN77aDHptfbFmYZRrMYXHeGpJmM8C1c\"]},\"node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolEvents.sol\":{\"keccak256\":\"0x8071514d0fe5d17d6fbd31c191cdfb703031c24e0ece3621d88ab10e871375cd\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://d0b571930cc7488b1d546a7e9cea7c52d8b3c4e207da657ed0e0db7343b8cd03\",\"dweb:/ipfs/QmaGK6vVwB95QSTR1XMYvrh7ivYAYZxi3fD7v6VMA4jZ39\"]},\"node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolImmutables.sol\":{\"keccak256\":\"0xf6e5d2cd1139c4c276bdbc8e1d2b256e456c866a91f1b868da265c6d2685c3f7\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://b99c8c9ae8e27ee6559e5866bea82cbc9ffc8247f8d15b7422a4deb287d4d047\",\"dweb:/ipfs/QmfL8gaqt3ffAnm6nVj5ksuNpLygXuL3xq5VBqrkwC2JJ3\"]},\"node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolOwnerActions.sol\":{\"keccak256\":\"0x759b78a2918af9e99e246dc3af084f654e48ef32bb4e4cb8a966aa3dcaece235\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://64144fb96e1c7fdba87305acadb98a198d26a3d46c097cb3a666e567f6f29735\",\"dweb:/ipfs/QmUnWVwN9FKB9uV5Pr8YfLpWZnYM2DENnRMaadZ492JS9u\"]},\"node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolState.sol\":{\"keccak256\":\"0x852dc1f5df7dcf7f11e7bb3eed79f0cea72ad4b25f6a9d2c35aafb48925fd49f\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://ed63907c38ff36b0e22bc9ffc53e791ea74f0d4f0e7c257fdfb5aaf8825b1f0f\",\"dweb:/ipfs/QmSQrckghEjs6HVsA5GVgpNpZWvTXMY5eQLF7cN6deFeEg\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.7.6+commit.7338295f" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "owner", "type": "address", "indexed": true }, { "internalType": "int24", "name": "tickLower", "type": "int24", "indexed": true }, { "internalType": "int24", "name": "tickUpper", "type": "int24", "indexed": true }, { "internalType": "uint128", "name": "amount", "type": "uint128", "indexed": false }, { "internalType": "uint256", "name": "amount0", "type": "uint256", "indexed": false }, { "internalType": "uint256", "name": "amount1", "type": "uint256", "indexed": false } ], "type": "event", "name": "Burn", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address", "indexed": true }, { "internalType": "address", "name": "recipient", "type": "address", "indexed": false }, { "internalType": "int24", "name": "tickLower", "type": "int24", "indexed": true }, { "internalType": "int24", "name": "tickUpper", "type": "int24", "indexed": true }, { "internalType": "uint128", "name": "amount0", "type": "uint128", "indexed": false }, { "internalType": "uint128", "name": "amount1", "type": "uint128", "indexed": false } ], "type": "event", "name": "Collect", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address", "indexed": true }, { "internalType": "address", "name": "recipient", "type": "address", "indexed": true }, { "internalType": "uint128", "name": "amount0", "type": "uint128", "indexed": false }, { "internalType": "uint128", "name": "amount1", "type": "uint128", "indexed": false } ], "type": "event", "name": "CollectProtocol", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address", "indexed": true }, { "internalType": "address", "name": "recipient", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "amount0", "type": "uint256", "indexed": false }, { "internalType": "uint256", "name": "amount1", "type": "uint256", "indexed": false }, { "internalType": "uint256", "name": "paid0", "type": "uint256", "indexed": false }, { "internalType": "uint256", "name": "paid1", "type": "uint256", "indexed": false } ], "type": "event", "name": "Flash", "anonymous": false }, { "inputs": [ { "internalType": "uint16", "name": "observationCardinalityNextOld", "type": "uint16", "indexed": false }, { "internalType": "uint16", "name": "observationCardinalityNextNew", "type": "uint16", "indexed": false } ], "type": "event", "name": "IncreaseObservationCardinalityNext", "anonymous": false }, { "inputs": [ { "internalType": "uint160", "name": "sqrtPriceX96", "type": "uint160", "indexed": false }, { "internalType": "int24", "name": "tick", "type": "int24", "indexed": false } ], "type": "event", "name": "Initialize", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address", "indexed": false }, { "internalType": "address", "name": "owner", "type": "address", "indexed": true }, { "internalType": "int24", "name": "tickLower", "type": "int24", "indexed": true }, { "internalType": "int24", "name": "tickUpper", "type": "int24", "indexed": true }, { "internalType": "uint128", "name": "amount", "type": "uint128", "indexed": false }, { "internalType": "uint256", "name": "amount0", "type": "uint256", "indexed": false }, { "internalType": "uint256", "name": "amount1", "type": "uint256", "indexed": false } ], "type": "event", "name": "Mint", "anonymous": false }, { "inputs": [ { "internalType": "uint8", "name": "feeProtocol0Old", "type": "uint8", "indexed": false }, { "internalType": "uint8", "name": "feeProtocol1Old", "type": "uint8", "indexed": false }, { "internalType": "uint8", "name": "feeProtocol0New", "type": "uint8", "indexed": false }, { "internalType": "uint8", "name": "feeProtocol1New", "type": "uint8", "indexed": false } ], "type": "event", "name": "SetFeeProtocol", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address", "indexed": true }, { "internalType": "address", "name": "recipient", "type": "address", "indexed": true }, { "internalType": "int256", "name": "amount0", "type": "int256", "indexed": false }, { "internalType": "int256", "name": "amount1", "type": "int256", "indexed": false }, { "internalType": "uint160", "name": "sqrtPriceX96", "type": "uint160", "indexed": false }, { "internalType": "uint128", "name": "liquidity", "type": "uint128", "indexed": false }, { "internalType": "int24", "name": "tick", "type": "int24", "indexed": false } ], "type": "event", "name": "Swap", "anonymous": false }, { "inputs": [ { "internalType": "int24", "name": "tickLower", "type": "int24" }, { "internalType": "int24", "name": "tickUpper", "type": "int24" }, { "internalType": "uint128", "name": "amount", "type": "uint128" } ], "stateMutability": "nonpayable", "type": "function", "name": "burn", "outputs": [ { "internalType": "uint256", "name": "amount0", "type": "uint256" }, { "internalType": "uint256", "name": "amount1", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "int24", "name": "tickLower", "type": "int24" }, { "internalType": "int24", "name": "tickUpper", "type": "int24" }, { "internalType": "uint128", "name": "amount0Requested", "type": "uint128" }, { "internalType": "uint128", "name": "amount1Requested", "type": "uint128" } ], "stateMutability": "nonpayable", "type": "function", "name": "collect", "outputs": [ { "internalType": "uint128", "name": "amount0", "type": "uint128" }, { "internalType": "uint128", "name": "amount1", "type": "uint128" } ] }, { "inputs": [ { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint128", "name": "amount0Requested", "type": "uint128" }, { "internalType": "uint128", "name": "amount1Requested", "type": "uint128" } ], "stateMutability": "nonpayable", "type": "function", "name": "collectProtocol", "outputs": [ { "internalType": "uint128", "name": "amount0", "type": "uint128" }, { "internalType": "uint128", "name": "amount1", "type": "uint128" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "factory", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "fee", "outputs": [ { "internalType": "uint24", "name": "", "type": "uint24" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "feeGrowthGlobal0X128", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "feeGrowthGlobal1X128", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount0", "type": "uint256" }, { "internalType": "uint256", "name": "amount1", "type": "uint256" }, { "internalType": "bytes", "name": "data", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "flash" }, { "inputs": [ { "internalType": "uint16", "name": "observationCardinalityNext", "type": "uint16" } ], "stateMutability": "nonpayable", "type": "function", "name": "increaseObservationCardinalityNext" }, { "inputs": [ { "internalType": "uint160", "name": "sqrtPriceX96", "type": "uint160" } ], "stateMutability": "nonpayable", "type": "function", "name": "initialize" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "liquidity", "outputs": [ { "internalType": "uint128", "name": "", "type": "uint128" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "maxLiquidityPerTick", "outputs": [ { "internalType": "uint128", "name": "", "type": "uint128" } ] }, { "inputs": [ { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "int24", "name": "tickLower", "type": "int24" }, { "internalType": "int24", "name": "tickUpper", "type": "int24" }, { "internalType": "uint128", "name": "amount", "type": "uint128" }, { "internalType": "bytes", "name": "data", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "mint", "outputs": [ { "internalType": "uint256", "name": "amount0", "type": "uint256" }, { "internalType": "uint256", "name": "amount1", "type": "uint256" } ] }, { "inputs": [ { "internalType": "uint256", "name": "index", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "observations", "outputs": [ { "internalType": "uint32", "name": "blockTimestamp", "type": "uint32" }, { "internalType": "int56", "name": "tickCumulative", "type": "int56" }, { "internalType": "uint160", "name": "secondsPerLiquidityCumulativeX128", "type": "uint160" }, { "internalType": "bool", "name": "initialized", "type": "bool" } ] }, { "inputs": [ { "internalType": "uint32[]", "name": "secondsAgos", "type": "uint32[]" } ], "stateMutability": "view", "type": "function", "name": "observe", "outputs": [ { "internalType": "int56[]", "name": "tickCumulatives", "type": "int56[]" }, { "internalType": "uint160[]", "name": "secondsPerLiquidityCumulativeX128s", "type": "uint160[]" } ] }, { "inputs": [ { "internalType": "bytes32", "name": "key", "type": "bytes32" } ], "stateMutability": "view", "type": "function", "name": "positions", "outputs": [ { "internalType": "uint128", "name": "_liquidity", "type": "uint128" }, { "internalType": "uint256", "name": "feeGrowthInside0LastX128", "type": "uint256" }, { "internalType": "uint256", "name": "feeGrowthInside1LastX128", "type": "uint256" }, { "internalType": "uint128", "name": "tokensOwed0", "type": "uint128" }, { "internalType": "uint128", "name": "tokensOwed1", "type": "uint128" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "protocolFees", "outputs": [ { "internalType": "uint128", "name": "token0", "type": "uint128" }, { "internalType": "uint128", "name": "token1", "type": "uint128" } ] }, { "inputs": [ { "internalType": "uint8", "name": "feeProtocol0", "type": "uint8" }, { "internalType": "uint8", "name": "feeProtocol1", "type": "uint8" } ], "stateMutability": "nonpayable", "type": "function", "name": "setFeeProtocol" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "slot0", "outputs": [ { "internalType": "uint160", "name": "sqrtPriceX96", "type": "uint160" }, { "internalType": "int24", "name": "tick", "type": "int24" }, { "internalType": "uint16", "name": "observationIndex", "type": "uint16" }, { "internalType": "uint16", "name": "observationCardinality", "type": "uint16" }, { "internalType": "uint16", "name": "observationCardinalityNext", "type": "uint16" }, { "internalType": "uint8", "name": "feeProtocol", "type": "uint8" }, { "internalType": "bool", "name": "unlocked", "type": "bool" } ] }, { "inputs": [ { "internalType": "int24", "name": "tickLower", "type": "int24" }, { "internalType": "int24", "name": "tickUpper", "type": "int24" } ], "stateMutability": "view", "type": "function", "name": "snapshotCumulativesInside", "outputs": [ { "internalType": "int56", "name": "tickCumulativeInside", "type": "int56" }, { "internalType": "uint160", "name": "secondsPerLiquidityInsideX128", "type": "uint160" }, { "internalType": "uint32", "name": "secondsInside", "type": "uint32" } ] }, { "inputs": [ { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "bool", "name": "zeroForOne", "type": "bool" }, { "internalType": "int256", "name": "amountSpecified", "type": "int256" }, { "internalType": "uint160", "name": "sqrtPriceLimitX96", "type": "uint160" }, { "internalType": "bytes", "name": "data", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "swap", "outputs": [ { "internalType": "int256", "name": "amount0", "type": "int256" }, { "internalType": "int256", "name": "amount1", "type": "int256" } ] }, { "inputs": [ { "internalType": "int16", "name": "wordPosition", "type": "int16" } ], "stateMutability": "view", "type": "function", "name": "tickBitmap", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "tickSpacing", "outputs": [ { "internalType": "int24", "name": "", "type": "int24" } ] }, { "inputs": [ { "internalType": "int24", "name": "tick", "type": "int24" } ], "stateMutability": "view", "type": "function", "name": "ticks", "outputs": [ { "internalType": "uint128", "name": "liquidityGross", "type": "uint128" }, { "internalType": "int128", "name": "liquidityNet", "type": "int128" }, { "internalType": "uint256", "name": "feeGrowthOutside0X128", "type": "uint256" }, { "internalType": "uint256", "name": "feeGrowthOutside1X128", "type": "uint256" }, { "internalType": "int56", "name": "tickCumulativeOutside", "type": "int56" }, { "internalType": "uint160", "name": "secondsPerLiquidityOutsideX128", "type": "uint160" }, { "internalType": "uint32", "name": "secondsOutside", "type": "uint32" }, { "internalType": "bool", "name": "initialized", "type": "bool" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "token0", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "token1", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ] } ], "devdoc": { "kind": "dev", "methods": { "burn(int24,int24,uint128)": { "details": "Can be used to trigger a recalculation of fees owed to a position by calling with an amount of 0Fees must be collected separately via a call to #collect", "params": { "amount": "How much liquidity to burn", "tickLower": "The lower tick of the position for which to burn liquidity", "tickUpper": "The upper tick of the position for which to burn liquidity" }, "returns": { "amount0": "The amount of token0 sent to the recipient", "amount1": "The amount of token1 sent to the recipient" } }, "collect(address,int24,int24,uint128,uint128)": { "details": "Does not recompute fees earned, which must be done either via mint or burn of any amount of liquidity. Collect must be called by the position owner. To withdraw only token0 or only token1, amount0Requested or amount1Requested may be set to zero. To withdraw all tokens owed, caller may pass any value greater than the actual tokens owed, e.g. type(uint128).max. Tokens owed may be from accumulated swap fees or burned liquidity.", "params": { "amount0Requested": "How much token0 should be withdrawn from the fees owed", "amount1Requested": "How much token1 should be withdrawn from the fees owed", "recipient": "The address which should receive the fees collected", "tickLower": "The lower tick of the position for which to collect fees", "tickUpper": "The upper tick of the position for which to collect fees" }, "returns": { "amount0": "The amount of fees collected in token0", "amount1": "The amount of fees collected in token1" } }, "collectProtocol(address,uint128,uint128)": { "params": { "amount0Requested": "The maximum amount of token0 to send, can be 0 to collect fees in only token1", "amount1Requested": "The maximum amount of token1 to send, can be 0 to collect fees in only token0", "recipient": "The address to which collected protocol fees should be sent" }, "returns": { "amount0": "The protocol fee collected in token0", "amount1": "The protocol fee collected in token1" } }, "factory()": { "returns": { "_0": "The contract address" } }, "fee()": { "returns": { "_0": "The fee" } }, "feeGrowthGlobal0X128()": { "details": "This value can overflow the uint256" }, "feeGrowthGlobal1X128()": { "details": "This value can overflow the uint256" }, "flash(address,uint256,uint256,bytes)": { "details": "The caller of this method receives a callback in the form of IUniswapV3FlashCallback#uniswapV3FlashCallbackCan be used to donate underlying tokens pro-rata to currently in-range liquidity providers by calling with 0 amount{0,1} and sending the donation amount(s) from the callback", "params": { "amount0": "The amount of token0 to send", "amount1": "The amount of token1 to send", "data": "Any data to be passed through to the callback", "recipient": "The address which will receive the token0 and token1 amounts" } }, "increaseObservationCardinalityNext(uint16)": { "details": "This method is no-op if the pool already has an observationCardinalityNext greater than or equal to the input observationCardinalityNext.", "params": { "observationCardinalityNext": "The desired minimum number of observations for the pool to store" } }, "initialize(uint160)": { "details": "Price is represented as a sqrt(amountToken1/amountToken0) Q64.96 value", "params": { "sqrtPriceX96": "the initial sqrt price of the pool as a Q64.96" } }, "liquidity()": { "details": "This value has no relationship to the total liquidity across all ticks" }, "maxLiquidityPerTick()": { "details": "This parameter is enforced per tick to prevent liquidity from overflowing a uint128 at any point, and also prevents out-of-range liquidity from being used to prevent adding in-range liquidity to a pool", "returns": { "_0": "The max amount of liquidity per tick" } }, "mint(address,int24,int24,uint128,bytes)": { "details": "The caller of this method receives a callback in the form of IUniswapV3MintCallback#uniswapV3MintCallback in which they must pay any token0 or token1 owed for the liquidity. The amount of token0/token1 due depends on tickLower, tickUpper, the amount of liquidity, and the current price.", "params": { "amount": "The amount of liquidity to mint", "data": "Any data that should be passed through to the callback", "recipient": "The address for which the liquidity will be created", "tickLower": "The lower tick of the position in which to add liquidity", "tickUpper": "The upper tick of the position in which to add liquidity" }, "returns": { "amount0": "The amount of token0 that was paid to mint the given amount of liquidity. Matches the value in the callback", "amount1": "The amount of token1 that was paid to mint the given amount of liquidity. Matches the value in the callback" } }, "observations(uint256)": { "details": "You most likely want to use #observe() instead of this method to get an observation as of some amount of time ago, rather than at a specific index in the array.", "params": { "index": "The element of the observations array to fetch" }, "returns": { "blockTimestamp": "The timestamp of the observation, Returns tickCumulative the tick multiplied by seconds elapsed for the life of the pool as of the observation timestamp, Returns secondsPerLiquidityCumulativeX128 the seconds per in range liquidity for the life of the pool as of the observation timestamp, Returns initialized whether the observation has been initialized and the values are safe to use" } }, "observe(uint32[])": { "details": "To get a time weighted average tick or liquidity-in-range, you must call this with two values, one representing the beginning of the period and another for the end of the period. E.g., to get the last hour time-weighted average tick, you must call it with secondsAgos = [3600, 0].The time weighted average tick represents the geometric time weighted average price of the pool, in log base sqrt(1.0001) of token1 / token0. The TickMath library can be used to go from a tick value to a ratio.", "params": { "secondsAgos": "From how long ago each cumulative tick and liquidity value should be returned" }, "returns": { "secondsPerLiquidityCumulativeX128s": "Cumulative seconds per liquidity-in-range value as of each `secondsAgos` from the current block timestamp", "tickCumulatives": "Cumulative tick values as of each `secondsAgos` from the current block timestamp" } }, "positions(bytes32)": { "params": { "key": "The position's key is a hash of a preimage composed by the owner, tickLower and tickUpper" }, "returns": { "_liquidity": "The amount of liquidity in the position, Returns feeGrowthInside0LastX128 fee growth of token0 inside the tick range as of the last mint/burn/poke, Returns feeGrowthInside1LastX128 fee growth of token1 inside the tick range as of the last mint/burn/poke, Returns tokensOwed0 the computed amount of token0 owed to the position as of the last mint/burn/poke, Returns tokensOwed1 the computed amount of token1 owed to the position as of the last mint/burn/poke" } }, "protocolFees()": { "details": "Protocol fees will never exceed uint128 max in either token" }, "setFeeProtocol(uint8,uint8)": { "params": { "feeProtocol0": "new protocol fee for token0 of the pool", "feeProtocol1": "new protocol fee for token1 of the pool" } }, "slot0()": { "returns": { "sqrtPriceX96": "The current price of the pool as a sqrt(token1/token0) Q64.96 value tick The current tick of the pool, i.e. according to the last tick transition that was run. This value may not always be equal to SqrtTickMath.getTickAtSqrtRatio(sqrtPriceX96) if the price is on a tick boundary. observationIndex The index of the last oracle observation that was written, observationCardinality The current maximum number of observations stored in the pool, observationCardinalityNext The next maximum number of observations, to be updated when the observation. feeProtocol The protocol fee for both tokens of the pool. Encoded as two 4 bit values, where the protocol fee of token1 is shifted 4 bits and the protocol fee of token0 is the lower 4 bits. Used as the denominator of a fraction of the swap fee, e.g. 4 means 1/4th of the swap fee. unlocked Whether the pool is currently locked to reentrancy" } }, "snapshotCumulativesInside(int24,int24)": { "details": "Snapshots must only be compared to other snapshots, taken over a period for which a position existed. I.e., snapshots cannot be compared if a position is not held for the entire period between when the first snapshot is taken and the second snapshot is taken.", "params": { "tickLower": "The lower tick of the range", "tickUpper": "The upper tick of the range" }, "returns": { "secondsInside": "The snapshot of seconds per liquidity for the range", "secondsPerLiquidityInsideX128": "The snapshot of seconds per liquidity for the range", "tickCumulativeInside": "The snapshot of the tick accumulator for the range" } }, "swap(address,bool,int256,uint160,bytes)": { "details": "The caller of this method receives a callback in the form of IUniswapV3SwapCallback#uniswapV3SwapCallback", "params": { "amountSpecified": "The amount of the swap, which implicitly configures the swap as exact input (positive), or exact output (negative)", "data": "Any data to be passed through to the callback", "recipient": "The address to receive the output of the swap", "sqrtPriceLimitX96": "The Q64.96 sqrt price limit. If zero for one, the price cannot be less than this value after the swap. If one for zero, the price cannot be greater than this value after the swap", "zeroForOne": "The direction of the swap, true for token0 to token1, false for token1 to token0" }, "returns": { "amount0": "The delta of the balance of token0 of the pool, exact when negative, minimum when positive", "amount1": "The delta of the balance of token1 of the pool, exact when negative, minimum when positive" } }, "tickSpacing()": { "details": "Ticks can only be used at multiples of this value, minimum of 1 and always positive e.g.: a tickSpacing of 3 means ticks can be initialized every 3rd tick, i.e., ..., -6, -3, 0, 3, 6, ... This value is an int24 to avoid casting even though it is always positive.", "returns": { "_0": "The tick spacing" } }, "ticks(int24)": { "params": { "tick": "The tick to look up" }, "returns": { "liquidityGross": "the total amount of position liquidity that uses the pool either as tick lower or tick upper, liquidityNet how much liquidity changes when the pool price crosses the tick, feeGrowthOutside0X128 the fee growth on the other side of the tick from the current tick in token0, feeGrowthOutside1X128 the fee growth on the other side of the tick from the current tick in token1, tickCumulativeOutside the cumulative tick value on the other side of the tick from the current tick secondsPerLiquidityOutsideX128 the seconds spent per liquidity on the other side of the tick from the current tick, secondsOutside the seconds spent on the other side of the tick from the current tick, initialized Set to true if the tick is initialized, i.e. liquidityGross is greater than 0, otherwise equal to false. Outside values can only be used if the tick is initialized, i.e. if liquidityGross is greater than 0. In addition, these values are only relative and must be used only in comparison to previous snapshots for a specific position." } }, "token0()": { "returns": { "_0": "The token contract address" } }, "token1()": { "returns": { "_0": "The token contract address" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "burn(int24,int24,uint128)": { "notice": "Burn liquidity from the sender and account tokens owed for the liquidity to the position" }, "collect(address,int24,int24,uint128,uint128)": { "notice": "Collects tokens owed to a position" }, "collectProtocol(address,uint128,uint128)": { "notice": "Collect the protocol fee accrued to the pool" }, "factory()": { "notice": "The contract that deployed the pool, which must adhere to the IUniswapV3Factory interface" }, "fee()": { "notice": "The pool's fee in hundredths of a bip, i.e. 1e-6" }, "feeGrowthGlobal0X128()": { "notice": "The fee growth as a Q128.128 fees of token0 collected per unit of liquidity for the entire life of the pool" }, "feeGrowthGlobal1X128()": { "notice": "The fee growth as a Q128.128 fees of token1 collected per unit of liquidity for the entire life of the pool" }, "flash(address,uint256,uint256,bytes)": { "notice": "Receive token0 and/or token1 and pay it back, plus a fee, in the callback" }, "increaseObservationCardinalityNext(uint16)": { "notice": "Increase the maximum number of price and liquidity observations that this pool will store" }, "initialize(uint160)": { "notice": "Sets the initial price for the pool" }, "liquidity()": { "notice": "The currently in range liquidity available to the pool" }, "maxLiquidityPerTick()": { "notice": "The maximum amount of position liquidity that can use any tick in the range" }, "mint(address,int24,int24,uint128,bytes)": { "notice": "Adds liquidity for the given recipient/tickLower/tickUpper position" }, "observations(uint256)": { "notice": "Returns data about a specific observation index" }, "observe(uint32[])": { "notice": "Returns the cumulative tick and liquidity as of each timestamp `secondsAgo` from the current block timestamp" }, "positions(bytes32)": { "notice": "Returns the information about a position by the position's key" }, "protocolFees()": { "notice": "The amounts of token0 and token1 that are owed to the protocol" }, "setFeeProtocol(uint8,uint8)": { "notice": "Set the denominator of the protocol's % share of the fees" }, "slot0()": { "notice": "The 0th storage slot in the pool stores many values, and is exposed as a single method to save gas when accessed externally." }, "snapshotCumulativesInside(int24,int24)": { "notice": "Returns a snapshot of the tick cumulative, seconds per liquidity and seconds inside a tick range" }, "swap(address,bool,int256,uint160,bytes)": { "notice": "Swap token0 for token1, or token1 for token0" }, "tickBitmap(int16)": { "notice": "Returns 256 packed tick initialized boolean values. See TickBitmap for more information" }, "tickSpacing()": { "notice": "The pool tick spacing" }, "ticks(int24)": { "notice": "Look up information about a specific tick in the pool" }, "token0()": { "notice": "The first of the two tokens of the pool, sorted by address" }, "token1()": { "notice": "The second of the two tokens of the pool, sorted by address" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "node_modules/@uniswap/v3-core/contracts/interfaces/IUniswapV3Pool.sol": "IUniswapV3Pool" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "node_modules/@uniswap/v3-core/contracts/interfaces/IUniswapV3Pool.sol": { "keccak256": "0xfe6113d518466cd6652c85b111e01f33eb62157f49ae5ed7d5a3947a2044adb1", "urls": [ "bzz-raw://1c42b9e6f5902ac38dd43e25750939baa7e0c1425dc75afd717c4412731065d5", "dweb:/ipfs/QmWaoacnzsucTvBME2o7YgZBZMhaHv7fkj83htHMVWJKWh" ], "license": "GPL-2.0-or-later" }, "node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolActions.sol": { "keccak256": "0x9453dd0e7442188667d01d9b65de3f1e14e9511ff3e303179a15f6fc267f7634", "urls": [ "bzz-raw://982f4328f956c3e60e67501e759eb292ac487f76460c774c50e9ae4fcc92aae5", "dweb:/ipfs/QmRnzEDsaqtd9PJEVcgQi7p5aV5pMSvRUoGZJAdwFUJxgZ" ], "license": "GPL-2.0-or-later" }, "node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolDerivedState.sol": { "keccak256": "0xe603ac5b17ecdee73ba2b27efdf386c257a19c14206e87eee77e2017b742d9e5", "urls": [ "bzz-raw://8febc9bdb399a4d94bb89f5377732652e2400e4a8dee808201ade6848f9004e7", "dweb:/ipfs/QmaKDqYYFU4d2W2iN77aDHptfbFmYZRrMYXHeGpJmM8C1c" ], "license": "GPL-2.0-or-later" }, "node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolEvents.sol": { "keccak256": "0x8071514d0fe5d17d6fbd31c191cdfb703031c24e0ece3621d88ab10e871375cd", "urls": [ "bzz-raw://d0b571930cc7488b1d546a7e9cea7c52d8b3c4e207da657ed0e0db7343b8cd03", "dweb:/ipfs/QmaGK6vVwB95QSTR1XMYvrh7ivYAYZxi3fD7v6VMA4jZ39" ], "license": "GPL-2.0-or-later" }, "node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolImmutables.sol": { "keccak256": "0xf6e5d2cd1139c4c276bdbc8e1d2b256e456c866a91f1b868da265c6d2685c3f7", "urls": [ "bzz-raw://b99c8c9ae8e27ee6559e5866bea82cbc9ffc8247f8d15b7422a4deb287d4d047", "dweb:/ipfs/QmfL8gaqt3ffAnm6nVj5ksuNpLygXuL3xq5VBqrkwC2JJ3" ], "license": "GPL-2.0-or-later" }, "node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolOwnerActions.sol": { "keccak256": "0x759b78a2918af9e99e246dc3af084f654e48ef32bb4e4cb8a966aa3dcaece235", "urls": [ "bzz-raw://64144fb96e1c7fdba87305acadb98a198d26a3d46c097cb3a666e567f6f29735", "dweb:/ipfs/QmUnWVwN9FKB9uV5Pr8YfLpWZnYM2DENnRMaadZ492JS9u" ], "license": "GPL-2.0-or-later" }, "node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolState.sol": { "keccak256": "0x852dc1f5df7dcf7f11e7bb3eed79f0cea72ad4b25f6a9d2c35aafb48925fd49f", "urls": [ "bzz-raw://ed63907c38ff36b0e22bc9ffc53e791ea74f0d4f0e7c257fdfb5aaf8825b1f0f", "dweb:/ipfs/QmSQrckghEjs6HVsA5GVgpNpZWvTXMY5eQLF7cN6deFeEg" ], "license": "GPL-2.0-or-later" } }, "version": 1 }, "id": 28 } diff --git a/eth_defi/abi/enzyme/IUniswapV3PoolActions.json b/eth_defi/abi/enzyme/IUniswapV3PoolActions.json index e3dcbbc0..2ca240ac 100644 --- a/eth_defi/abi/enzyme/IUniswapV3PoolActions.json +++ b/eth_defi/abi/enzyme/IUniswapV3PoolActions.json @@ -1,623 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "int24", - "name": "tickLower", - "type": "int24" - }, - { - "internalType": "int24", - "name": "tickUpper", - "type": "int24" - }, - { - "internalType": "uint128", - "name": "amount", - "type": "uint128" - } - ], - "name": "burn", - "outputs": [ - { - "internalType": "uint256", - "name": "amount0", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount1", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "int24", - "name": "tickLower", - "type": "int24" - }, - { - "internalType": "int24", - "name": "tickUpper", - "type": "int24" - }, - { - "internalType": "uint128", - "name": "amount0Requested", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "amount1Requested", - "type": "uint128" - } - ], - "name": "collect", - "outputs": [ - { - "internalType": "uint128", - "name": "amount0", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "amount1", - "type": "uint128" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount0", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount1", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "flash", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint16", - "name": "observationCardinalityNext", - "type": "uint16" - } - ], - "name": "increaseObservationCardinalityNext", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint160", - "name": "sqrtPriceX96", - "type": "uint160" - } - ], - "name": "initialize", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "int24", - "name": "tickLower", - "type": "int24" - }, - { - "internalType": "int24", - "name": "tickUpper", - "type": "int24" - }, - { - "internalType": "uint128", - "name": "amount", - "type": "uint128" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "mint", - "outputs": [ - { - "internalType": "uint256", - "name": "amount0", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount1", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "bool", - "name": "zeroForOne", - "type": "bool" - }, - { - "internalType": "int256", - "name": "amountSpecified", - "type": "int256" - }, - { - "internalType": "uint160", - "name": "sqrtPriceLimitX96", - "type": "uint160" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "name": "swap", - "outputs": [ - { - "internalType": "int256", - "name": "amount0", - "type": "int256" - }, - { - "internalType": "int256", - "name": "amount1", - "type": "int256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "burn(int24,int24,uint128)": "a34123a7", - "collect(address,int24,int24,uint128,uint128)": "4f1eb3d8", - "flash(address,uint256,uint256,bytes)": "490e6cbc", - "increaseObservationCardinalityNext(uint16)": "32148f67", - "initialize(uint160)": "f637731d", - "mint(address,int24,int24,uint128,bytes)": "3c8a7d8d", - "swap(address,bool,int256,uint160,bytes)": "128acb08" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.7.6+commit.7338295f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"int24\",\"name\":\"tickLower\",\"type\":\"int24\"},{\"internalType\":\"int24\",\"name\":\"tickUpper\",\"type\":\"int24\"},{\"internalType\":\"uint128\",\"name\":\"amount\",\"type\":\"uint128\"}],\"name\":\"burn\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount0\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount1\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"int24\",\"name\":\"tickLower\",\"type\":\"int24\"},{\"internalType\":\"int24\",\"name\":\"tickUpper\",\"type\":\"int24\"},{\"internalType\":\"uint128\",\"name\":\"amount0Requested\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"amount1Requested\",\"type\":\"uint128\"}],\"name\":\"collect\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"amount0\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"amount1\",\"type\":\"uint128\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount0\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount1\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"flash\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint16\",\"name\":\"observationCardinalityNext\",\"type\":\"uint16\"}],\"name\":\"increaseObservationCardinalityNext\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint160\",\"name\":\"sqrtPriceX96\",\"type\":\"uint160\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"int24\",\"name\":\"tickLower\",\"type\":\"int24\"},{\"internalType\":\"int24\",\"name\":\"tickUpper\",\"type\":\"int24\"},{\"internalType\":\"uint128\",\"name\":\"amount\",\"type\":\"uint128\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"mint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount0\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount1\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"zeroForOne\",\"type\":\"bool\"},{\"internalType\":\"int256\",\"name\":\"amountSpecified\",\"type\":\"int256\"},{\"internalType\":\"uint160\",\"name\":\"sqrtPriceLimitX96\",\"type\":\"uint160\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"swap\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"amount0\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"amount1\",\"type\":\"int256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"burn(int24,int24,uint128)\":{\"details\":\"Can be used to trigger a recalculation of fees owed to a position by calling with an amount of 0Fees must be collected separately via a call to #collect\",\"params\":{\"amount\":\"How much liquidity to burn\",\"tickLower\":\"The lower tick of the position for which to burn liquidity\",\"tickUpper\":\"The upper tick of the position for which to burn liquidity\"},\"returns\":{\"amount0\":\"The amount of token0 sent to the recipient\",\"amount1\":\"The amount of token1 sent to the recipient\"}},\"collect(address,int24,int24,uint128,uint128)\":{\"details\":\"Does not recompute fees earned, which must be done either via mint or burn of any amount of liquidity. Collect must be called by the position owner. To withdraw only token0 or only token1, amount0Requested or amount1Requested may be set to zero. To withdraw all tokens owed, caller may pass any value greater than the actual tokens owed, e.g. type(uint128).max. Tokens owed may be from accumulated swap fees or burned liquidity.\",\"params\":{\"amount0Requested\":\"How much token0 should be withdrawn from the fees owed\",\"amount1Requested\":\"How much token1 should be withdrawn from the fees owed\",\"recipient\":\"The address which should receive the fees collected\",\"tickLower\":\"The lower tick of the position for which to collect fees\",\"tickUpper\":\"The upper tick of the position for which to collect fees\"},\"returns\":{\"amount0\":\"The amount of fees collected in token0\",\"amount1\":\"The amount of fees collected in token1\"}},\"flash(address,uint256,uint256,bytes)\":{\"details\":\"The caller of this method receives a callback in the form of IUniswapV3FlashCallback#uniswapV3FlashCallbackCan be used to donate underlying tokens pro-rata to currently in-range liquidity providers by calling with 0 amount{0,1} and sending the donation amount(s) from the callback\",\"params\":{\"amount0\":\"The amount of token0 to send\",\"amount1\":\"The amount of token1 to send\",\"data\":\"Any data to be passed through to the callback\",\"recipient\":\"The address which will receive the token0 and token1 amounts\"}},\"increaseObservationCardinalityNext(uint16)\":{\"details\":\"This method is no-op if the pool already has an observationCardinalityNext greater than or equal to the input observationCardinalityNext.\",\"params\":{\"observationCardinalityNext\":\"The desired minimum number of observations for the pool to store\"}},\"initialize(uint160)\":{\"details\":\"Price is represented as a sqrt(amountToken1/amountToken0) Q64.96 value\",\"params\":{\"sqrtPriceX96\":\"the initial sqrt price of the pool as a Q64.96\"}},\"mint(address,int24,int24,uint128,bytes)\":{\"details\":\"The caller of this method receives a callback in the form of IUniswapV3MintCallback#uniswapV3MintCallback in which they must pay any token0 or token1 owed for the liquidity. The amount of token0/token1 due depends on tickLower, tickUpper, the amount of liquidity, and the current price.\",\"params\":{\"amount\":\"The amount of liquidity to mint\",\"data\":\"Any data that should be passed through to the callback\",\"recipient\":\"The address for which the liquidity will be created\",\"tickLower\":\"The lower tick of the position in which to add liquidity\",\"tickUpper\":\"The upper tick of the position in which to add liquidity\"},\"returns\":{\"amount0\":\"The amount of token0 that was paid to mint the given amount of liquidity. Matches the value in the callback\",\"amount1\":\"The amount of token1 that was paid to mint the given amount of liquidity. Matches the value in the callback\"}},\"swap(address,bool,int256,uint160,bytes)\":{\"details\":\"The caller of this method receives a callback in the form of IUniswapV3SwapCallback#uniswapV3SwapCallback\",\"params\":{\"amountSpecified\":\"The amount of the swap, which implicitly configures the swap as exact input (positive), or exact output (negative)\",\"data\":\"Any data to be passed through to the callback\",\"recipient\":\"The address to receive the output of the swap\",\"sqrtPriceLimitX96\":\"The Q64.96 sqrt price limit. If zero for one, the price cannot be less than this value after the swap. If one for zero, the price cannot be greater than this value after the swap\",\"zeroForOne\":\"The direction of the swap, true for token0 to token1, false for token1 to token0\"},\"returns\":{\"amount0\":\"The delta of the balance of token0 of the pool, exact when negative, minimum when positive\",\"amount1\":\"The delta of the balance of token1 of the pool, exact when negative, minimum when positive\"}}},\"title\":\"Permissionless pool actions\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"burn(int24,int24,uint128)\":{\"notice\":\"Burn liquidity from the sender and account tokens owed for the liquidity to the position\"},\"collect(address,int24,int24,uint128,uint128)\":{\"notice\":\"Collects tokens owed to a position\"},\"flash(address,uint256,uint256,bytes)\":{\"notice\":\"Receive token0 and/or token1 and pay it back, plus a fee, in the callback\"},\"increaseObservationCardinalityNext(uint16)\":{\"notice\":\"Increase the maximum number of price and liquidity observations that this pool will store\"},\"initialize(uint160)\":{\"notice\":\"Sets the initial price for the pool\"},\"mint(address,int24,int24,uint128,bytes)\":{\"notice\":\"Adds liquidity for the given recipient/tickLower/tickUpper position\"},\"swap(address,bool,int256,uint160,bytes)\":{\"notice\":\"Swap token0 for token1, or token1 for token0\"}},\"notice\":\"Contains pool methods that can be called by anyone\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolActions.sol\":\"IUniswapV3PoolActions\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolActions.sol\":{\"keccak256\":\"0x9453dd0e7442188667d01d9b65de3f1e14e9511ff3e303179a15f6fc267f7634\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://982f4328f956c3e60e67501e759eb292ac487f76460c774c50e9ae4fcc92aae5\",\"dweb:/ipfs/QmRnzEDsaqtd9PJEVcgQi7p5aV5pMSvRUoGZJAdwFUJxgZ\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.7.6+commit.7338295f" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "int24", - "name": "tickLower", - "type": "int24" - }, - { - "internalType": "int24", - "name": "tickUpper", - "type": "int24" - }, - { - "internalType": "uint128", - "name": "amount", - "type": "uint128" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "burn", - "outputs": [ - { - "internalType": "uint256", - "name": "amount0", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount1", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "int24", - "name": "tickLower", - "type": "int24" - }, - { - "internalType": "int24", - "name": "tickUpper", - "type": "int24" - }, - { - "internalType": "uint128", - "name": "amount0Requested", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "amount1Requested", - "type": "uint128" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "collect", - "outputs": [ - { - "internalType": "uint128", - "name": "amount0", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "amount1", - "type": "uint128" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount0", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount1", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "flash" - }, - { - "inputs": [ - { - "internalType": "uint16", - "name": "observationCardinalityNext", - "type": "uint16" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "increaseObservationCardinalityNext" - }, - { - "inputs": [ - { - "internalType": "uint160", - "name": "sqrtPriceX96", - "type": "uint160" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "initialize" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "int24", - "name": "tickLower", - "type": "int24" - }, - { - "internalType": "int24", - "name": "tickUpper", - "type": "int24" - }, - { - "internalType": "uint128", - "name": "amount", - "type": "uint128" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "mint", - "outputs": [ - { - "internalType": "uint256", - "name": "amount0", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount1", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "bool", - "name": "zeroForOne", - "type": "bool" - }, - { - "internalType": "int256", - "name": "amountSpecified", - "type": "int256" - }, - { - "internalType": "uint160", - "name": "sqrtPriceLimitX96", - "type": "uint160" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "swap", - "outputs": [ - { - "internalType": "int256", - "name": "amount0", - "type": "int256" - }, - { - "internalType": "int256", - "name": "amount1", - "type": "int256" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "burn(int24,int24,uint128)": { - "details": "Can be used to trigger a recalculation of fees owed to a position by calling with an amount of 0Fees must be collected separately via a call to #collect", - "params": { - "amount": "How much liquidity to burn", - "tickLower": "The lower tick of the position for which to burn liquidity", - "tickUpper": "The upper tick of the position for which to burn liquidity" - }, - "returns": { - "amount0": "The amount of token0 sent to the recipient", - "amount1": "The amount of token1 sent to the recipient" - } - }, - "collect(address,int24,int24,uint128,uint128)": { - "details": "Does not recompute fees earned, which must be done either via mint or burn of any amount of liquidity. Collect must be called by the position owner. To withdraw only token0 or only token1, amount0Requested or amount1Requested may be set to zero. To withdraw all tokens owed, caller may pass any value greater than the actual tokens owed, e.g. type(uint128).max. Tokens owed may be from accumulated swap fees or burned liquidity.", - "params": { - "amount0Requested": "How much token0 should be withdrawn from the fees owed", - "amount1Requested": "How much token1 should be withdrawn from the fees owed", - "recipient": "The address which should receive the fees collected", - "tickLower": "The lower tick of the position for which to collect fees", - "tickUpper": "The upper tick of the position for which to collect fees" - }, - "returns": { - "amount0": "The amount of fees collected in token0", - "amount1": "The amount of fees collected in token1" - } - }, - "flash(address,uint256,uint256,bytes)": { - "details": "The caller of this method receives a callback in the form of IUniswapV3FlashCallback#uniswapV3FlashCallbackCan be used to donate underlying tokens pro-rata to currently in-range liquidity providers by calling with 0 amount{0,1} and sending the donation amount(s) from the callback", - "params": { - "amount0": "The amount of token0 to send", - "amount1": "The amount of token1 to send", - "data": "Any data to be passed through to the callback", - "recipient": "The address which will receive the token0 and token1 amounts" - } - }, - "increaseObservationCardinalityNext(uint16)": { - "details": "This method is no-op if the pool already has an observationCardinalityNext greater than or equal to the input observationCardinalityNext.", - "params": { - "observationCardinalityNext": "The desired minimum number of observations for the pool to store" - } - }, - "initialize(uint160)": { - "details": "Price is represented as a sqrt(amountToken1/amountToken0) Q64.96 value", - "params": { - "sqrtPriceX96": "the initial sqrt price of the pool as a Q64.96" - } - }, - "mint(address,int24,int24,uint128,bytes)": { - "details": "The caller of this method receives a callback in the form of IUniswapV3MintCallback#uniswapV3MintCallback in which they must pay any token0 or token1 owed for the liquidity. The amount of token0/token1 due depends on tickLower, tickUpper, the amount of liquidity, and the current price.", - "params": { - "amount": "The amount of liquidity to mint", - "data": "Any data that should be passed through to the callback", - "recipient": "The address for which the liquidity will be created", - "tickLower": "The lower tick of the position in which to add liquidity", - "tickUpper": "The upper tick of the position in which to add liquidity" - }, - "returns": { - "amount0": "The amount of token0 that was paid to mint the given amount of liquidity. Matches the value in the callback", - "amount1": "The amount of token1 that was paid to mint the given amount of liquidity. Matches the value in the callback" - } - }, - "swap(address,bool,int256,uint160,bytes)": { - "details": "The caller of this method receives a callback in the form of IUniswapV3SwapCallback#uniswapV3SwapCallback", - "params": { - "amountSpecified": "The amount of the swap, which implicitly configures the swap as exact input (positive), or exact output (negative)", - "data": "Any data to be passed through to the callback", - "recipient": "The address to receive the output of the swap", - "sqrtPriceLimitX96": "The Q64.96 sqrt price limit. If zero for one, the price cannot be less than this value after the swap. If one for zero, the price cannot be greater than this value after the swap", - "zeroForOne": "The direction of the swap, true for token0 to token1, false for token1 to token0" - }, - "returns": { - "amount0": "The delta of the balance of token0 of the pool, exact when negative, minimum when positive", - "amount1": "The delta of the balance of token1 of the pool, exact when negative, minimum when positive" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "burn(int24,int24,uint128)": { - "notice": "Burn liquidity from the sender and account tokens owed for the liquidity to the position" - }, - "collect(address,int24,int24,uint128,uint128)": { - "notice": "Collects tokens owed to a position" - }, - "flash(address,uint256,uint256,bytes)": { - "notice": "Receive token0 and/or token1 and pay it back, plus a fee, in the callback" - }, - "increaseObservationCardinalityNext(uint16)": { - "notice": "Increase the maximum number of price and liquidity observations that this pool will store" - }, - "initialize(uint160)": { - "notice": "Sets the initial price for the pool" - }, - "mint(address,int24,int24,uint128,bytes)": { - "notice": "Adds liquidity for the given recipient/tickLower/tickUpper position" - }, - "swap(address,bool,int256,uint160,bytes)": { - "notice": "Swap token0 for token1, or token1 for token0" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolActions.sol": "IUniswapV3PoolActions" - }, - "libraries": {} - }, - "sources": { - "node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolActions.sol": { - "keccak256": "0x9453dd0e7442188667d01d9b65de3f1e14e9511ff3e303179a15f6fc267f7634", - "urls": [ - "bzz-raw://982f4328f956c3e60e67501e759eb292ac487f76460c774c50e9ae4fcc92aae5", - "dweb:/ipfs/QmRnzEDsaqtd9PJEVcgQi7p5aV5pMSvRUoGZJAdwFUJxgZ" - ], - "license": "GPL-2.0-or-later" - } - }, - "version": 1 - }, - "id": 29 -} +{ "abi": [ { "type": "function", "name": "burn", "inputs": [ { "name": "tickLower", "type": "int24", "internalType": "int24" }, { "name": "tickUpper", "type": "int24", "internalType": "int24" }, { "name": "amount", "type": "uint128", "internalType": "uint128" } ], "outputs": [ { "name": "amount0", "type": "uint256", "internalType": "uint256" }, { "name": "amount1", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "collect", "inputs": [ { "name": "recipient", "type": "address", "internalType": "address" }, { "name": "tickLower", "type": "int24", "internalType": "int24" }, { "name": "tickUpper", "type": "int24", "internalType": "int24" }, { "name": "amount0Requested", "type": "uint128", "internalType": "uint128" }, { "name": "amount1Requested", "type": "uint128", "internalType": "uint128" } ], "outputs": [ { "name": "amount0", "type": "uint128", "internalType": "uint128" }, { "name": "amount1", "type": "uint128", "internalType": "uint128" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "flash", "inputs": [ { "name": "recipient", "type": "address", "internalType": "address" }, { "name": "amount0", "type": "uint256", "internalType": "uint256" }, { "name": "amount1", "type": "uint256", "internalType": "uint256" }, { "name": "data", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "increaseObservationCardinalityNext", "inputs": [ { "name": "observationCardinalityNext", "type": "uint16", "internalType": "uint16" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "initialize", "inputs": [ { "name": "sqrtPriceX96", "type": "uint160", "internalType": "uint160" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "mint", "inputs": [ { "name": "recipient", "type": "address", "internalType": "address" }, { "name": "tickLower", "type": "int24", "internalType": "int24" }, { "name": "tickUpper", "type": "int24", "internalType": "int24" }, { "name": "amount", "type": "uint128", "internalType": "uint128" }, { "name": "data", "type": "bytes", "internalType": "bytes" } ], "outputs": [ { "name": "amount0", "type": "uint256", "internalType": "uint256" }, { "name": "amount1", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "swap", "inputs": [ { "name": "recipient", "type": "address", "internalType": "address" }, { "name": "zeroForOne", "type": "bool", "internalType": "bool" }, { "name": "amountSpecified", "type": "int256", "internalType": "int256" }, { "name": "sqrtPriceLimitX96", "type": "uint160", "internalType": "uint160" }, { "name": "data", "type": "bytes", "internalType": "bytes" } ], "outputs": [ { "name": "amount0", "type": "int256", "internalType": "int256" }, { "name": "amount1", "type": "int256", "internalType": "int256" } ], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "burn(int24,int24,uint128)": "a34123a7", "collect(address,int24,int24,uint128,uint128)": "4f1eb3d8", "flash(address,uint256,uint256,bytes)": "490e6cbc", "increaseObservationCardinalityNext(uint16)": "32148f67", "initialize(uint160)": "f637731d", "mint(address,int24,int24,uint128,bytes)": "3c8a7d8d", "swap(address,bool,int256,uint160,bytes)": "128acb08" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.7.6+commit.7338295f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"int24\",\"name\":\"tickLower\",\"type\":\"int24\"},{\"internalType\":\"int24\",\"name\":\"tickUpper\",\"type\":\"int24\"},{\"internalType\":\"uint128\",\"name\":\"amount\",\"type\":\"uint128\"}],\"name\":\"burn\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount0\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount1\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"int24\",\"name\":\"tickLower\",\"type\":\"int24\"},{\"internalType\":\"int24\",\"name\":\"tickUpper\",\"type\":\"int24\"},{\"internalType\":\"uint128\",\"name\":\"amount0Requested\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"amount1Requested\",\"type\":\"uint128\"}],\"name\":\"collect\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"amount0\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"amount1\",\"type\":\"uint128\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount0\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount1\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"flash\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint16\",\"name\":\"observationCardinalityNext\",\"type\":\"uint16\"}],\"name\":\"increaseObservationCardinalityNext\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint160\",\"name\":\"sqrtPriceX96\",\"type\":\"uint160\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"int24\",\"name\":\"tickLower\",\"type\":\"int24\"},{\"internalType\":\"int24\",\"name\":\"tickUpper\",\"type\":\"int24\"},{\"internalType\":\"uint128\",\"name\":\"amount\",\"type\":\"uint128\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"mint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount0\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount1\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"zeroForOne\",\"type\":\"bool\"},{\"internalType\":\"int256\",\"name\":\"amountSpecified\",\"type\":\"int256\"},{\"internalType\":\"uint160\",\"name\":\"sqrtPriceLimitX96\",\"type\":\"uint160\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"swap\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"amount0\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"amount1\",\"type\":\"int256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"burn(int24,int24,uint128)\":{\"details\":\"Can be used to trigger a recalculation of fees owed to a position by calling with an amount of 0Fees must be collected separately via a call to #collect\",\"params\":{\"amount\":\"How much liquidity to burn\",\"tickLower\":\"The lower tick of the position for which to burn liquidity\",\"tickUpper\":\"The upper tick of the position for which to burn liquidity\"},\"returns\":{\"amount0\":\"The amount of token0 sent to the recipient\",\"amount1\":\"The amount of token1 sent to the recipient\"}},\"collect(address,int24,int24,uint128,uint128)\":{\"details\":\"Does not recompute fees earned, which must be done either via mint or burn of any amount of liquidity. Collect must be called by the position owner. To withdraw only token0 or only token1, amount0Requested or amount1Requested may be set to zero. To withdraw all tokens owed, caller may pass any value greater than the actual tokens owed, e.g. type(uint128).max. Tokens owed may be from accumulated swap fees or burned liquidity.\",\"params\":{\"amount0Requested\":\"How much token0 should be withdrawn from the fees owed\",\"amount1Requested\":\"How much token1 should be withdrawn from the fees owed\",\"recipient\":\"The address which should receive the fees collected\",\"tickLower\":\"The lower tick of the position for which to collect fees\",\"tickUpper\":\"The upper tick of the position for which to collect fees\"},\"returns\":{\"amount0\":\"The amount of fees collected in token0\",\"amount1\":\"The amount of fees collected in token1\"}},\"flash(address,uint256,uint256,bytes)\":{\"details\":\"The caller of this method receives a callback in the form of IUniswapV3FlashCallback#uniswapV3FlashCallbackCan be used to donate underlying tokens pro-rata to currently in-range liquidity providers by calling with 0 amount{0,1} and sending the donation amount(s) from the callback\",\"params\":{\"amount0\":\"The amount of token0 to send\",\"amount1\":\"The amount of token1 to send\",\"data\":\"Any data to be passed through to the callback\",\"recipient\":\"The address which will receive the token0 and token1 amounts\"}},\"increaseObservationCardinalityNext(uint16)\":{\"details\":\"This method is no-op if the pool already has an observationCardinalityNext greater than or equal to the input observationCardinalityNext.\",\"params\":{\"observationCardinalityNext\":\"The desired minimum number of observations for the pool to store\"}},\"initialize(uint160)\":{\"details\":\"Price is represented as a sqrt(amountToken1/amountToken0) Q64.96 value\",\"params\":{\"sqrtPriceX96\":\"the initial sqrt price of the pool as a Q64.96\"}},\"mint(address,int24,int24,uint128,bytes)\":{\"details\":\"The caller of this method receives a callback in the form of IUniswapV3MintCallback#uniswapV3MintCallback in which they must pay any token0 or token1 owed for the liquidity. The amount of token0/token1 due depends on tickLower, tickUpper, the amount of liquidity, and the current price.\",\"params\":{\"amount\":\"The amount of liquidity to mint\",\"data\":\"Any data that should be passed through to the callback\",\"recipient\":\"The address for which the liquidity will be created\",\"tickLower\":\"The lower tick of the position in which to add liquidity\",\"tickUpper\":\"The upper tick of the position in which to add liquidity\"},\"returns\":{\"amount0\":\"The amount of token0 that was paid to mint the given amount of liquidity. Matches the value in the callback\",\"amount1\":\"The amount of token1 that was paid to mint the given amount of liquidity. Matches the value in the callback\"}},\"swap(address,bool,int256,uint160,bytes)\":{\"details\":\"The caller of this method receives a callback in the form of IUniswapV3SwapCallback#uniswapV3SwapCallback\",\"params\":{\"amountSpecified\":\"The amount of the swap, which implicitly configures the swap as exact input (positive), or exact output (negative)\",\"data\":\"Any data to be passed through to the callback\",\"recipient\":\"The address to receive the output of the swap\",\"sqrtPriceLimitX96\":\"The Q64.96 sqrt price limit. If zero for one, the price cannot be less than this value after the swap. If one for zero, the price cannot be greater than this value after the swap\",\"zeroForOne\":\"The direction of the swap, true for token0 to token1, false for token1 to token0\"},\"returns\":{\"amount0\":\"The delta of the balance of token0 of the pool, exact when negative, minimum when positive\",\"amount1\":\"The delta of the balance of token1 of the pool, exact when negative, minimum when positive\"}}},\"title\":\"Permissionless pool actions\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"burn(int24,int24,uint128)\":{\"notice\":\"Burn liquidity from the sender and account tokens owed for the liquidity to the position\"},\"collect(address,int24,int24,uint128,uint128)\":{\"notice\":\"Collects tokens owed to a position\"},\"flash(address,uint256,uint256,bytes)\":{\"notice\":\"Receive token0 and/or token1 and pay it back, plus a fee, in the callback\"},\"increaseObservationCardinalityNext(uint16)\":{\"notice\":\"Increase the maximum number of price and liquidity observations that this pool will store\"},\"initialize(uint160)\":{\"notice\":\"Sets the initial price for the pool\"},\"mint(address,int24,int24,uint128,bytes)\":{\"notice\":\"Adds liquidity for the given recipient/tickLower/tickUpper position\"},\"swap(address,bool,int256,uint160,bytes)\":{\"notice\":\"Swap token0 for token1, or token1 for token0\"}},\"notice\":\"Contains pool methods that can be called by anyone\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolActions.sol\":\"IUniswapV3PoolActions\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolActions.sol\":{\"keccak256\":\"0x9453dd0e7442188667d01d9b65de3f1e14e9511ff3e303179a15f6fc267f7634\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://982f4328f956c3e60e67501e759eb292ac487f76460c774c50e9ae4fcc92aae5\",\"dweb:/ipfs/QmRnzEDsaqtd9PJEVcgQi7p5aV5pMSvRUoGZJAdwFUJxgZ\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.7.6+commit.7338295f" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "int24", "name": "tickLower", "type": "int24" }, { "internalType": "int24", "name": "tickUpper", "type": "int24" }, { "internalType": "uint128", "name": "amount", "type": "uint128" } ], "stateMutability": "nonpayable", "type": "function", "name": "burn", "outputs": [ { "internalType": "uint256", "name": "amount0", "type": "uint256" }, { "internalType": "uint256", "name": "amount1", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "int24", "name": "tickLower", "type": "int24" }, { "internalType": "int24", "name": "tickUpper", "type": "int24" }, { "internalType": "uint128", "name": "amount0Requested", "type": "uint128" }, { "internalType": "uint128", "name": "amount1Requested", "type": "uint128" } ], "stateMutability": "nonpayable", "type": "function", "name": "collect", "outputs": [ { "internalType": "uint128", "name": "amount0", "type": "uint128" }, { "internalType": "uint128", "name": "amount1", "type": "uint128" } ] }, { "inputs": [ { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount0", "type": "uint256" }, { "internalType": "uint256", "name": "amount1", "type": "uint256" }, { "internalType": "bytes", "name": "data", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "flash" }, { "inputs": [ { "internalType": "uint16", "name": "observationCardinalityNext", "type": "uint16" } ], "stateMutability": "nonpayable", "type": "function", "name": "increaseObservationCardinalityNext" }, { "inputs": [ { "internalType": "uint160", "name": "sqrtPriceX96", "type": "uint160" } ], "stateMutability": "nonpayable", "type": "function", "name": "initialize" }, { "inputs": [ { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "int24", "name": "tickLower", "type": "int24" }, { "internalType": "int24", "name": "tickUpper", "type": "int24" }, { "internalType": "uint128", "name": "amount", "type": "uint128" }, { "internalType": "bytes", "name": "data", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "mint", "outputs": [ { "internalType": "uint256", "name": "amount0", "type": "uint256" }, { "internalType": "uint256", "name": "amount1", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "bool", "name": "zeroForOne", "type": "bool" }, { "internalType": "int256", "name": "amountSpecified", "type": "int256" }, { "internalType": "uint160", "name": "sqrtPriceLimitX96", "type": "uint160" }, { "internalType": "bytes", "name": "data", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "swap", "outputs": [ { "internalType": "int256", "name": "amount0", "type": "int256" }, { "internalType": "int256", "name": "amount1", "type": "int256" } ] } ], "devdoc": { "kind": "dev", "methods": { "burn(int24,int24,uint128)": { "details": "Can be used to trigger a recalculation of fees owed to a position by calling with an amount of 0Fees must be collected separately via a call to #collect", "params": { "amount": "How much liquidity to burn", "tickLower": "The lower tick of the position for which to burn liquidity", "tickUpper": "The upper tick of the position for which to burn liquidity" }, "returns": { "amount0": "The amount of token0 sent to the recipient", "amount1": "The amount of token1 sent to the recipient" } }, "collect(address,int24,int24,uint128,uint128)": { "details": "Does not recompute fees earned, which must be done either via mint or burn of any amount of liquidity. Collect must be called by the position owner. To withdraw only token0 or only token1, amount0Requested or amount1Requested may be set to zero. To withdraw all tokens owed, caller may pass any value greater than the actual tokens owed, e.g. type(uint128).max. Tokens owed may be from accumulated swap fees or burned liquidity.", "params": { "amount0Requested": "How much token0 should be withdrawn from the fees owed", "amount1Requested": "How much token1 should be withdrawn from the fees owed", "recipient": "The address which should receive the fees collected", "tickLower": "The lower tick of the position for which to collect fees", "tickUpper": "The upper tick of the position for which to collect fees" }, "returns": { "amount0": "The amount of fees collected in token0", "amount1": "The amount of fees collected in token1" } }, "flash(address,uint256,uint256,bytes)": { "details": "The caller of this method receives a callback in the form of IUniswapV3FlashCallback#uniswapV3FlashCallbackCan be used to donate underlying tokens pro-rata to currently in-range liquidity providers by calling with 0 amount{0,1} and sending the donation amount(s) from the callback", "params": { "amount0": "The amount of token0 to send", "amount1": "The amount of token1 to send", "data": "Any data to be passed through to the callback", "recipient": "The address which will receive the token0 and token1 amounts" } }, "increaseObservationCardinalityNext(uint16)": { "details": "This method is no-op if the pool already has an observationCardinalityNext greater than or equal to the input observationCardinalityNext.", "params": { "observationCardinalityNext": "The desired minimum number of observations for the pool to store" } }, "initialize(uint160)": { "details": "Price is represented as a sqrt(amountToken1/amountToken0) Q64.96 value", "params": { "sqrtPriceX96": "the initial sqrt price of the pool as a Q64.96" } }, "mint(address,int24,int24,uint128,bytes)": { "details": "The caller of this method receives a callback in the form of IUniswapV3MintCallback#uniswapV3MintCallback in which they must pay any token0 or token1 owed for the liquidity. The amount of token0/token1 due depends on tickLower, tickUpper, the amount of liquidity, and the current price.", "params": { "amount": "The amount of liquidity to mint", "data": "Any data that should be passed through to the callback", "recipient": "The address for which the liquidity will be created", "tickLower": "The lower tick of the position in which to add liquidity", "tickUpper": "The upper tick of the position in which to add liquidity" }, "returns": { "amount0": "The amount of token0 that was paid to mint the given amount of liquidity. Matches the value in the callback", "amount1": "The amount of token1 that was paid to mint the given amount of liquidity. Matches the value in the callback" } }, "swap(address,bool,int256,uint160,bytes)": { "details": "The caller of this method receives a callback in the form of IUniswapV3SwapCallback#uniswapV3SwapCallback", "params": { "amountSpecified": "The amount of the swap, which implicitly configures the swap as exact input (positive), or exact output (negative)", "data": "Any data to be passed through to the callback", "recipient": "The address to receive the output of the swap", "sqrtPriceLimitX96": "The Q64.96 sqrt price limit. If zero for one, the price cannot be less than this value after the swap. If one for zero, the price cannot be greater than this value after the swap", "zeroForOne": "The direction of the swap, true for token0 to token1, false for token1 to token0" }, "returns": { "amount0": "The delta of the balance of token0 of the pool, exact when negative, minimum when positive", "amount1": "The delta of the balance of token1 of the pool, exact when negative, minimum when positive" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "burn(int24,int24,uint128)": { "notice": "Burn liquidity from the sender and account tokens owed for the liquidity to the position" }, "collect(address,int24,int24,uint128,uint128)": { "notice": "Collects tokens owed to a position" }, "flash(address,uint256,uint256,bytes)": { "notice": "Receive token0 and/or token1 and pay it back, plus a fee, in the callback" }, "increaseObservationCardinalityNext(uint16)": { "notice": "Increase the maximum number of price and liquidity observations that this pool will store" }, "initialize(uint160)": { "notice": "Sets the initial price for the pool" }, "mint(address,int24,int24,uint128,bytes)": { "notice": "Adds liquidity for the given recipient/tickLower/tickUpper position" }, "swap(address,bool,int256,uint160,bytes)": { "notice": "Swap token0 for token1, or token1 for token0" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolActions.sol": "IUniswapV3PoolActions" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolActions.sol": { "keccak256": "0x9453dd0e7442188667d01d9b65de3f1e14e9511ff3e303179a15f6fc267f7634", "urls": [ "bzz-raw://982f4328f956c3e60e67501e759eb292ac487f76460c774c50e9ae4fcc92aae5", "dweb:/ipfs/QmRnzEDsaqtd9PJEVcgQi7p5aV5pMSvRUoGZJAdwFUJxgZ" ], "license": "GPL-2.0-or-later" } }, "version": 1 }, "id": 29 } diff --git a/eth_defi/abi/enzyme/IUniswapV3PoolDerivedState.json b/eth_defi/abi/enzyme/IUniswapV3PoolDerivedState.json index b406b5d8..1b4ca395 100644 --- a/eth_defi/abi/enzyme/IUniswapV3PoolDerivedState.json +++ b/eth_defi/abi/enzyme/IUniswapV3PoolDerivedState.json @@ -1,229 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "uint32[]", - "name": "secondsAgos", - "type": "uint32[]" - } - ], - "name": "observe", - "outputs": [ - { - "internalType": "int56[]", - "name": "tickCumulatives", - "type": "int56[]" - }, - { - "internalType": "uint160[]", - "name": "secondsPerLiquidityCumulativeX128s", - "type": "uint160[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "int24", - "name": "tickLower", - "type": "int24" - }, - { - "internalType": "int24", - "name": "tickUpper", - "type": "int24" - } - ], - "name": "snapshotCumulativesInside", - "outputs": [ - { - "internalType": "int56", - "name": "tickCumulativeInside", - "type": "int56" - }, - { - "internalType": "uint160", - "name": "secondsPerLiquidityInsideX128", - "type": "uint160" - }, - { - "internalType": "uint32", - "name": "secondsInside", - "type": "uint32" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "observe(uint32[])": "883bdbfd", - "snapshotCumulativesInside(int24,int24)": "a38807f2" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.7.6+commit.7338295f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint32[]\",\"name\":\"secondsAgos\",\"type\":\"uint32[]\"}],\"name\":\"observe\",\"outputs\":[{\"internalType\":\"int56[]\",\"name\":\"tickCumulatives\",\"type\":\"int56[]\"},{\"internalType\":\"uint160[]\",\"name\":\"secondsPerLiquidityCumulativeX128s\",\"type\":\"uint160[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int24\",\"name\":\"tickLower\",\"type\":\"int24\"},{\"internalType\":\"int24\",\"name\":\"tickUpper\",\"type\":\"int24\"}],\"name\":\"snapshotCumulativesInside\",\"outputs\":[{\"internalType\":\"int56\",\"name\":\"tickCumulativeInside\",\"type\":\"int56\"},{\"internalType\":\"uint160\",\"name\":\"secondsPerLiquidityInsideX128\",\"type\":\"uint160\"},{\"internalType\":\"uint32\",\"name\":\"secondsInside\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"observe(uint32[])\":{\"details\":\"To get a time weighted average tick or liquidity-in-range, you must call this with two values, one representing the beginning of the period and another for the end of the period. E.g., to get the last hour time-weighted average tick, you must call it with secondsAgos = [3600, 0].The time weighted average tick represents the geometric time weighted average price of the pool, in log base sqrt(1.0001) of token1 / token0. The TickMath library can be used to go from a tick value to a ratio.\",\"params\":{\"secondsAgos\":\"From how long ago each cumulative tick and liquidity value should be returned\"},\"returns\":{\"secondsPerLiquidityCumulativeX128s\":\"Cumulative seconds per liquidity-in-range value as of each `secondsAgos` from the current block timestamp\",\"tickCumulatives\":\"Cumulative tick values as of each `secondsAgos` from the current block timestamp\"}},\"snapshotCumulativesInside(int24,int24)\":{\"details\":\"Snapshots must only be compared to other snapshots, taken over a period for which a position existed. I.e., snapshots cannot be compared if a position is not held for the entire period between when the first snapshot is taken and the second snapshot is taken.\",\"params\":{\"tickLower\":\"The lower tick of the range\",\"tickUpper\":\"The upper tick of the range\"},\"returns\":{\"secondsInside\":\"The snapshot of seconds per liquidity for the range\",\"secondsPerLiquidityInsideX128\":\"The snapshot of seconds per liquidity for the range\",\"tickCumulativeInside\":\"The snapshot of the tick accumulator for the range\"}}},\"title\":\"Pool state that is not stored\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"observe(uint32[])\":{\"notice\":\"Returns the cumulative tick and liquidity as of each timestamp `secondsAgo` from the current block timestamp\"},\"snapshotCumulativesInside(int24,int24)\":{\"notice\":\"Returns a snapshot of the tick cumulative, seconds per liquidity and seconds inside a tick range\"}},\"notice\":\"Contains view functions to provide information about the pool that is computed rather than stored on the blockchain. The functions here may have variable gas costs.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolDerivedState.sol\":\"IUniswapV3PoolDerivedState\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolDerivedState.sol\":{\"keccak256\":\"0xe603ac5b17ecdee73ba2b27efdf386c257a19c14206e87eee77e2017b742d9e5\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://8febc9bdb399a4d94bb89f5377732652e2400e4a8dee808201ade6848f9004e7\",\"dweb:/ipfs/QmaKDqYYFU4d2W2iN77aDHptfbFmYZRrMYXHeGpJmM8C1c\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.7.6+commit.7338295f" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "uint32[]", - "name": "secondsAgos", - "type": "uint32[]" - } - ], - "stateMutability": "view", - "type": "function", - "name": "observe", - "outputs": [ - { - "internalType": "int56[]", - "name": "tickCumulatives", - "type": "int56[]" - }, - { - "internalType": "uint160[]", - "name": "secondsPerLiquidityCumulativeX128s", - "type": "uint160[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "int24", - "name": "tickLower", - "type": "int24" - }, - { - "internalType": "int24", - "name": "tickUpper", - "type": "int24" - } - ], - "stateMutability": "view", - "type": "function", - "name": "snapshotCumulativesInside", - "outputs": [ - { - "internalType": "int56", - "name": "tickCumulativeInside", - "type": "int56" - }, - { - "internalType": "uint160", - "name": "secondsPerLiquidityInsideX128", - "type": "uint160" - }, - { - "internalType": "uint32", - "name": "secondsInside", - "type": "uint32" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "observe(uint32[])": { - "details": "To get a time weighted average tick or liquidity-in-range, you must call this with two values, one representing the beginning of the period and another for the end of the period. E.g., to get the last hour time-weighted average tick, you must call it with secondsAgos = [3600, 0].The time weighted average tick represents the geometric time weighted average price of the pool, in log base sqrt(1.0001) of token1 / token0. The TickMath library can be used to go from a tick value to a ratio.", - "params": { - "secondsAgos": "From how long ago each cumulative tick and liquidity value should be returned" - }, - "returns": { - "secondsPerLiquidityCumulativeX128s": "Cumulative seconds per liquidity-in-range value as of each `secondsAgos` from the current block timestamp", - "tickCumulatives": "Cumulative tick values as of each `secondsAgos` from the current block timestamp" - } - }, - "snapshotCumulativesInside(int24,int24)": { - "details": "Snapshots must only be compared to other snapshots, taken over a period for which a position existed. I.e., snapshots cannot be compared if a position is not held for the entire period between when the first snapshot is taken and the second snapshot is taken.", - "params": { - "tickLower": "The lower tick of the range", - "tickUpper": "The upper tick of the range" - }, - "returns": { - "secondsInside": "The snapshot of seconds per liquidity for the range", - "secondsPerLiquidityInsideX128": "The snapshot of seconds per liquidity for the range", - "tickCumulativeInside": "The snapshot of the tick accumulator for the range" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "observe(uint32[])": { - "notice": "Returns the cumulative tick and liquidity as of each timestamp `secondsAgo` from the current block timestamp" - }, - "snapshotCumulativesInside(int24,int24)": { - "notice": "Returns a snapshot of the tick cumulative, seconds per liquidity and seconds inside a tick range" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolDerivedState.sol": "IUniswapV3PoolDerivedState" - }, - "libraries": {} - }, - "sources": { - "node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolDerivedState.sol": { - "keccak256": "0xe603ac5b17ecdee73ba2b27efdf386c257a19c14206e87eee77e2017b742d9e5", - "urls": [ - "bzz-raw://8febc9bdb399a4d94bb89f5377732652e2400e4a8dee808201ade6848f9004e7", - "dweb:/ipfs/QmaKDqYYFU4d2W2iN77aDHptfbFmYZRrMYXHeGpJmM8C1c" - ], - "license": "GPL-2.0-or-later" - } - }, - "version": 1 - }, - "id": 30 -} +{ "abi": [ { "type": "function", "name": "observe", "inputs": [ { "name": "secondsAgos", "type": "uint32[]", "internalType": "uint32[]" } ], "outputs": [ { "name": "tickCumulatives", "type": "int56[]", "internalType": "int56[]" }, { "name": "secondsPerLiquidityCumulativeX128s", "type": "uint160[]", "internalType": "uint160[]" } ], "stateMutability": "view" }, { "type": "function", "name": "snapshotCumulativesInside", "inputs": [ { "name": "tickLower", "type": "int24", "internalType": "int24" }, { "name": "tickUpper", "type": "int24", "internalType": "int24" } ], "outputs": [ { "name": "tickCumulativeInside", "type": "int56", "internalType": "int56" }, { "name": "secondsPerLiquidityInsideX128", "type": "uint160", "internalType": "uint160" }, { "name": "secondsInside", "type": "uint32", "internalType": "uint32" } ], "stateMutability": "view" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "observe(uint32[])": "883bdbfd", "snapshotCumulativesInside(int24,int24)": "a38807f2" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.7.6+commit.7338295f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint32[]\",\"name\":\"secondsAgos\",\"type\":\"uint32[]\"}],\"name\":\"observe\",\"outputs\":[{\"internalType\":\"int56[]\",\"name\":\"tickCumulatives\",\"type\":\"int56[]\"},{\"internalType\":\"uint160[]\",\"name\":\"secondsPerLiquidityCumulativeX128s\",\"type\":\"uint160[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int24\",\"name\":\"tickLower\",\"type\":\"int24\"},{\"internalType\":\"int24\",\"name\":\"tickUpper\",\"type\":\"int24\"}],\"name\":\"snapshotCumulativesInside\",\"outputs\":[{\"internalType\":\"int56\",\"name\":\"tickCumulativeInside\",\"type\":\"int56\"},{\"internalType\":\"uint160\",\"name\":\"secondsPerLiquidityInsideX128\",\"type\":\"uint160\"},{\"internalType\":\"uint32\",\"name\":\"secondsInside\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"observe(uint32[])\":{\"details\":\"To get a time weighted average tick or liquidity-in-range, you must call this with two values, one representing the beginning of the period and another for the end of the period. E.g., to get the last hour time-weighted average tick, you must call it with secondsAgos = [3600, 0].The time weighted average tick represents the geometric time weighted average price of the pool, in log base sqrt(1.0001) of token1 / token0. The TickMath library can be used to go from a tick value to a ratio.\",\"params\":{\"secondsAgos\":\"From how long ago each cumulative tick and liquidity value should be returned\"},\"returns\":{\"secondsPerLiquidityCumulativeX128s\":\"Cumulative seconds per liquidity-in-range value as of each `secondsAgos` from the current block timestamp\",\"tickCumulatives\":\"Cumulative tick values as of each `secondsAgos` from the current block timestamp\"}},\"snapshotCumulativesInside(int24,int24)\":{\"details\":\"Snapshots must only be compared to other snapshots, taken over a period for which a position existed. I.e., snapshots cannot be compared if a position is not held for the entire period between when the first snapshot is taken and the second snapshot is taken.\",\"params\":{\"tickLower\":\"The lower tick of the range\",\"tickUpper\":\"The upper tick of the range\"},\"returns\":{\"secondsInside\":\"The snapshot of seconds per liquidity for the range\",\"secondsPerLiquidityInsideX128\":\"The snapshot of seconds per liquidity for the range\",\"tickCumulativeInside\":\"The snapshot of the tick accumulator for the range\"}}},\"title\":\"Pool state that is not stored\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"observe(uint32[])\":{\"notice\":\"Returns the cumulative tick and liquidity as of each timestamp `secondsAgo` from the current block timestamp\"},\"snapshotCumulativesInside(int24,int24)\":{\"notice\":\"Returns a snapshot of the tick cumulative, seconds per liquidity and seconds inside a tick range\"}},\"notice\":\"Contains view functions to provide information about the pool that is computed rather than stored on the blockchain. The functions here may have variable gas costs.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolDerivedState.sol\":\"IUniswapV3PoolDerivedState\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolDerivedState.sol\":{\"keccak256\":\"0xe603ac5b17ecdee73ba2b27efdf386c257a19c14206e87eee77e2017b742d9e5\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://8febc9bdb399a4d94bb89f5377732652e2400e4a8dee808201ade6848f9004e7\",\"dweb:/ipfs/QmaKDqYYFU4d2W2iN77aDHptfbFmYZRrMYXHeGpJmM8C1c\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.7.6+commit.7338295f" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "uint32[]", "name": "secondsAgos", "type": "uint32[]" } ], "stateMutability": "view", "type": "function", "name": "observe", "outputs": [ { "internalType": "int56[]", "name": "tickCumulatives", "type": "int56[]" }, { "internalType": "uint160[]", "name": "secondsPerLiquidityCumulativeX128s", "type": "uint160[]" } ] }, { "inputs": [ { "internalType": "int24", "name": "tickLower", "type": "int24" }, { "internalType": "int24", "name": "tickUpper", "type": "int24" } ], "stateMutability": "view", "type": "function", "name": "snapshotCumulativesInside", "outputs": [ { "internalType": "int56", "name": "tickCumulativeInside", "type": "int56" }, { "internalType": "uint160", "name": "secondsPerLiquidityInsideX128", "type": "uint160" }, { "internalType": "uint32", "name": "secondsInside", "type": "uint32" } ] } ], "devdoc": { "kind": "dev", "methods": { "observe(uint32[])": { "details": "To get a time weighted average tick or liquidity-in-range, you must call this with two values, one representing the beginning of the period and another for the end of the period. E.g., to get the last hour time-weighted average tick, you must call it with secondsAgos = [3600, 0].The time weighted average tick represents the geometric time weighted average price of the pool, in log base sqrt(1.0001) of token1 / token0. The TickMath library can be used to go from a tick value to a ratio.", "params": { "secondsAgos": "From how long ago each cumulative tick and liquidity value should be returned" }, "returns": { "secondsPerLiquidityCumulativeX128s": "Cumulative seconds per liquidity-in-range value as of each `secondsAgos` from the current block timestamp", "tickCumulatives": "Cumulative tick values as of each `secondsAgos` from the current block timestamp" } }, "snapshotCumulativesInside(int24,int24)": { "details": "Snapshots must only be compared to other snapshots, taken over a period for which a position existed. I.e., snapshots cannot be compared if a position is not held for the entire period between when the first snapshot is taken and the second snapshot is taken.", "params": { "tickLower": "The lower tick of the range", "tickUpper": "The upper tick of the range" }, "returns": { "secondsInside": "The snapshot of seconds per liquidity for the range", "secondsPerLiquidityInsideX128": "The snapshot of seconds per liquidity for the range", "tickCumulativeInside": "The snapshot of the tick accumulator for the range" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "observe(uint32[])": { "notice": "Returns the cumulative tick and liquidity as of each timestamp `secondsAgo` from the current block timestamp" }, "snapshotCumulativesInside(int24,int24)": { "notice": "Returns a snapshot of the tick cumulative, seconds per liquidity and seconds inside a tick range" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolDerivedState.sol": "IUniswapV3PoolDerivedState" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolDerivedState.sol": { "keccak256": "0xe603ac5b17ecdee73ba2b27efdf386c257a19c14206e87eee77e2017b742d9e5", "urls": [ "bzz-raw://8febc9bdb399a4d94bb89f5377732652e2400e4a8dee808201ade6848f9004e7", "dweb:/ipfs/QmaKDqYYFU4d2W2iN77aDHptfbFmYZRrMYXHeGpJmM8C1c" ], "license": "GPL-2.0-or-later" } }, "version": 1 }, "id": 30 } diff --git a/eth_defi/abi/enzyme/IUniswapV3PoolEvents.json b/eth_defi/abi/enzyme/IUniswapV3PoolEvents.json index 63f133bb..8ae6a59e 100644 --- a/eth_defi/abi/enzyme/IUniswapV3PoolEvents.json +++ b/eth_defi/abi/enzyme/IUniswapV3PoolEvents.json @@ -1,734 +1 @@ -{ - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "int24", - "name": "tickLower", - "type": "int24" - }, - { - "indexed": true, - "internalType": "int24", - "name": "tickUpper", - "type": "int24" - }, - { - "indexed": false, - "internalType": "uint128", - "name": "amount", - "type": "uint128" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount0", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount1", - "type": "uint256" - } - ], - "name": "Burn", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "indexed": true, - "internalType": "int24", - "name": "tickLower", - "type": "int24" - }, - { - "indexed": true, - "internalType": "int24", - "name": "tickUpper", - "type": "int24" - }, - { - "indexed": false, - "internalType": "uint128", - "name": "amount0", - "type": "uint128" - }, - { - "indexed": false, - "internalType": "uint128", - "name": "amount1", - "type": "uint128" - } - ], - "name": "Collect", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint128", - "name": "amount0", - "type": "uint128" - }, - { - "indexed": false, - "internalType": "uint128", - "name": "amount1", - "type": "uint128" - } - ], - "name": "CollectProtocol", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount0", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount1", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "paid0", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "paid1", - "type": "uint256" - } - ], - "name": "Flash", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint16", - "name": "observationCardinalityNextOld", - "type": "uint16" - }, - { - "indexed": false, - "internalType": "uint16", - "name": "observationCardinalityNextNew", - "type": "uint16" - } - ], - "name": "IncreaseObservationCardinalityNext", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint160", - "name": "sqrtPriceX96", - "type": "uint160" - }, - { - "indexed": false, - "internalType": "int24", - "name": "tick", - "type": "int24" - } - ], - "name": "Initialize", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": true, - "internalType": "int24", - "name": "tickLower", - "type": "int24" - }, - { - "indexed": true, - "internalType": "int24", - "name": "tickUpper", - "type": "int24" - }, - { - "indexed": false, - "internalType": "uint128", - "name": "amount", - "type": "uint128" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount0", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount1", - "type": "uint256" - } - ], - "name": "Mint", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint8", - "name": "feeProtocol0Old", - "type": "uint8" - }, - { - "indexed": false, - "internalType": "uint8", - "name": "feeProtocol1Old", - "type": "uint8" - }, - { - "indexed": false, - "internalType": "uint8", - "name": "feeProtocol0New", - "type": "uint8" - }, - { - "indexed": false, - "internalType": "uint8", - "name": "feeProtocol1New", - "type": "uint8" - } - ], - "name": "SetFeeProtocol", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "indexed": false, - "internalType": "int256", - "name": "amount0", - "type": "int256" - }, - { - "indexed": false, - "internalType": "int256", - "name": "amount1", - "type": "int256" - }, - { - "indexed": false, - "internalType": "uint160", - "name": "sqrtPriceX96", - "type": "uint160" - }, - { - "indexed": false, - "internalType": "uint128", - "name": "liquidity", - "type": "uint128" - }, - { - "indexed": false, - "internalType": "int24", - "name": "tick", - "type": "int24" - } - ], - "name": "Swap", - "type": "event" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": {}, - "rawMetadata": "{\"compiler\":{\"version\":\"0.7.6+commit.7338295f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"int24\",\"name\":\"tickLower\",\"type\":\"int24\"},{\"indexed\":true,\"internalType\":\"int24\",\"name\":\"tickUpper\",\"type\":\"int24\"},{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"amount\",\"type\":\"uint128\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount0\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount1\",\"type\":\"uint256\"}],\"name\":\"Burn\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"int24\",\"name\":\"tickLower\",\"type\":\"int24\"},{\"indexed\":true,\"internalType\":\"int24\",\"name\":\"tickUpper\",\"type\":\"int24\"},{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"amount0\",\"type\":\"uint128\"},{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"amount1\",\"type\":\"uint128\"}],\"name\":\"Collect\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"amount0\",\"type\":\"uint128\"},{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"amount1\",\"type\":\"uint128\"}],\"name\":\"CollectProtocol\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount0\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount1\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"paid0\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"paid1\",\"type\":\"uint256\"}],\"name\":\"Flash\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint16\",\"name\":\"observationCardinalityNextOld\",\"type\":\"uint16\"},{\"indexed\":false,\"internalType\":\"uint16\",\"name\":\"observationCardinalityNextNew\",\"type\":\"uint16\"}],\"name\":\"IncreaseObservationCardinalityNext\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint160\",\"name\":\"sqrtPriceX96\",\"type\":\"uint160\"},{\"indexed\":false,\"internalType\":\"int24\",\"name\":\"tick\",\"type\":\"int24\"}],\"name\":\"Initialize\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"int24\",\"name\":\"tickLower\",\"type\":\"int24\"},{\"indexed\":true,\"internalType\":\"int24\",\"name\":\"tickUpper\",\"type\":\"int24\"},{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"amount\",\"type\":\"uint128\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount0\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount1\",\"type\":\"uint256\"}],\"name\":\"Mint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"feeProtocol0Old\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"feeProtocol1Old\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"feeProtocol0New\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"feeProtocol1New\",\"type\":\"uint8\"}],\"name\":\"SetFeeProtocol\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"amount0\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"amount1\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint160\",\"name\":\"sqrtPriceX96\",\"type\":\"uint160\"},{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"liquidity\",\"type\":\"uint128\"},{\"indexed\":false,\"internalType\":\"int24\",\"name\":\"tick\",\"type\":\"int24\"}],\"name\":\"Swap\",\"type\":\"event\"}],\"devdoc\":{\"events\":{\"Burn(address,int24,int24,uint128,uint256,uint256)\":{\"details\":\"Does not withdraw any fees earned by the liquidity position, which must be withdrawn via #collect\",\"params\":{\"amount\":\"The amount of liquidity to remove\",\"amount0\":\"The amount of token0 withdrawn\",\"amount1\":\"The amount of token1 withdrawn\",\"owner\":\"The owner of the position for which liquidity is removed\",\"tickLower\":\"The lower tick of the position\",\"tickUpper\":\"The upper tick of the position\"}},\"Collect(address,address,int24,int24,uint128,uint128)\":{\"details\":\"Collect events may be emitted with zero amount0 and amount1 when the caller chooses not to collect fees\",\"params\":{\"amount0\":\"The amount of token0 fees collected\",\"amount1\":\"The amount of token1 fees collected\",\"owner\":\"The owner of the position for which fees are collected\",\"tickLower\":\"The lower tick of the position\",\"tickUpper\":\"The upper tick of the position\"}},\"CollectProtocol(address,address,uint128,uint128)\":{\"params\":{\"amount0\":\"The amount of token1 protocol fees that is withdrawn\",\"recipient\":\"The address that receives the collected protocol fees\",\"sender\":\"The address that collects the protocol fees\"}},\"Flash(address,address,uint256,uint256,uint256,uint256)\":{\"params\":{\"amount0\":\"The amount of token0 that was flashed\",\"amount1\":\"The amount of token1 that was flashed\",\"paid0\":\"The amount of token0 paid for the flash, which can exceed the amount0 plus the fee\",\"paid1\":\"The amount of token1 paid for the flash, which can exceed the amount1 plus the fee\",\"recipient\":\"The address that received the tokens from flash\",\"sender\":\"The address that initiated the swap call, and that received the callback\"}},\"IncreaseObservationCardinalityNext(uint16,uint16)\":{\"details\":\"observationCardinalityNext is not the observation cardinality until an observation is written at the index just before a mint/swap/burn.\",\"params\":{\"observationCardinalityNextNew\":\"The updated value of the next observation cardinality\",\"observationCardinalityNextOld\":\"The previous value of the next observation cardinality\"}},\"Initialize(uint160,int24)\":{\"details\":\"Mint/Burn/Swap cannot be emitted by the pool before Initialize\",\"params\":{\"sqrtPriceX96\":\"The initial sqrt price of the pool, as a Q64.96\",\"tick\":\"The initial tick of the pool, i.e. log base 1.0001 of the starting price of the pool\"}},\"Mint(address,address,int24,int24,uint128,uint256,uint256)\":{\"params\":{\"amount\":\"The amount of liquidity minted to the position range\",\"amount0\":\"How much token0 was required for the minted liquidity\",\"amount1\":\"How much token1 was required for the minted liquidity\",\"owner\":\"The owner of the position and recipient of any minted liquidity\",\"sender\":\"The address that minted the liquidity\",\"tickLower\":\"The lower tick of the position\",\"tickUpper\":\"The upper tick of the position\"}},\"SetFeeProtocol(uint8,uint8,uint8,uint8)\":{\"params\":{\"feeProtocol0New\":\"The updated value of the token0 protocol fee\",\"feeProtocol0Old\":\"The previous value of the token0 protocol fee\",\"feeProtocol1New\":\"The updated value of the token1 protocol fee\",\"feeProtocol1Old\":\"The previous value of the token1 protocol fee\"}},\"Swap(address,address,int256,int256,uint160,uint128,int24)\":{\"params\":{\"amount0\":\"The delta of the token0 balance of the pool\",\"amount1\":\"The delta of the token1 balance of the pool\",\"liquidity\":\"The liquidity of the pool after the swap\",\"recipient\":\"The address that received the output of the swap\",\"sender\":\"The address that initiated the swap call, and that received the callback\",\"sqrtPriceX96\":\"The sqrt(price) of the pool after the swap, as a Q64.96\",\"tick\":\"The log base 1.0001 of price of the pool after the swap\"}}},\"kind\":\"dev\",\"methods\":{},\"title\":\"Events emitted by a pool\",\"version\":1},\"userdoc\":{\"events\":{\"Burn(address,int24,int24,uint128,uint256,uint256)\":{\"notice\":\"Emitted when a position's liquidity is removed\"},\"Collect(address,address,int24,int24,uint128,uint128)\":{\"notice\":\"Emitted when fees are collected by the owner of a position\"},\"CollectProtocol(address,address,uint128,uint128)\":{\"notice\":\"Emitted when the collected protocol fees are withdrawn by the factory owner\"},\"Flash(address,address,uint256,uint256,uint256,uint256)\":{\"notice\":\"Emitted by the pool for any flashes of token0/token1\"},\"IncreaseObservationCardinalityNext(uint16,uint16)\":{\"notice\":\"Emitted by the pool for increases to the number of observations that can be stored\"},\"Initialize(uint160,int24)\":{\"notice\":\"Emitted exactly once by a pool when #initialize is first called on the pool\"},\"Mint(address,address,int24,int24,uint128,uint256,uint256)\":{\"notice\":\"Emitted when liquidity is minted for a given position\"},\"SetFeeProtocol(uint8,uint8,uint8,uint8)\":{\"notice\":\"Emitted when the protocol fee is changed by the pool\"},\"Swap(address,address,int256,int256,uint160,uint128,int24)\":{\"notice\":\"Emitted by the pool for any swaps between token0 and token1\"}},\"kind\":\"user\",\"methods\":{},\"notice\":\"Contains all events emitted by the pool\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolEvents.sol\":\"IUniswapV3PoolEvents\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolEvents.sol\":{\"keccak256\":\"0x8071514d0fe5d17d6fbd31c191cdfb703031c24e0ece3621d88ab10e871375cd\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://d0b571930cc7488b1d546a7e9cea7c52d8b3c4e207da657ed0e0db7343b8cd03\",\"dweb:/ipfs/QmaGK6vVwB95QSTR1XMYvrh7ivYAYZxi3fD7v6VMA4jZ39\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.7.6+commit.7338295f" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address", - "indexed": true - }, - { - "internalType": "int24", - "name": "tickLower", - "type": "int24", - "indexed": true - }, - { - "internalType": "int24", - "name": "tickUpper", - "type": "int24", - "indexed": true - }, - { - "internalType": "uint128", - "name": "amount", - "type": "uint128", - "indexed": false - }, - { - "internalType": "uint256", - "name": "amount0", - "type": "uint256", - "indexed": false - }, - { - "internalType": "uint256", - "name": "amount1", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "Burn", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "recipient", - "type": "address", - "indexed": false - }, - { - "internalType": "int24", - "name": "tickLower", - "type": "int24", - "indexed": true - }, - { - "internalType": "int24", - "name": "tickUpper", - "type": "int24", - "indexed": true - }, - { - "internalType": "uint128", - "name": "amount0", - "type": "uint128", - "indexed": false - }, - { - "internalType": "uint128", - "name": "amount1", - "type": "uint128", - "indexed": false - } - ], - "type": "event", - "name": "Collect", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "recipient", - "type": "address", - "indexed": true - }, - { - "internalType": "uint128", - "name": "amount0", - "type": "uint128", - "indexed": false - }, - { - "internalType": "uint128", - "name": "amount1", - "type": "uint128", - "indexed": false - } - ], - "type": "event", - "name": "CollectProtocol", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "recipient", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "amount0", - "type": "uint256", - "indexed": false - }, - { - "internalType": "uint256", - "name": "amount1", - "type": "uint256", - "indexed": false - }, - { - "internalType": "uint256", - "name": "paid0", - "type": "uint256", - "indexed": false - }, - { - "internalType": "uint256", - "name": "paid1", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "Flash", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "uint16", - "name": "observationCardinalityNextOld", - "type": "uint16", - "indexed": false - }, - { - "internalType": "uint16", - "name": "observationCardinalityNextNew", - "type": "uint16", - "indexed": false - } - ], - "type": "event", - "name": "IncreaseObservationCardinalityNext", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "uint160", - "name": "sqrtPriceX96", - "type": "uint160", - "indexed": false - }, - { - "internalType": "int24", - "name": "tick", - "type": "int24", - "indexed": false - } - ], - "type": "event", - "name": "Initialize", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address", - "indexed": false - }, - { - "internalType": "address", - "name": "owner", - "type": "address", - "indexed": true - }, - { - "internalType": "int24", - "name": "tickLower", - "type": "int24", - "indexed": true - }, - { - "internalType": "int24", - "name": "tickUpper", - "type": "int24", - "indexed": true - }, - { - "internalType": "uint128", - "name": "amount", - "type": "uint128", - "indexed": false - }, - { - "internalType": "uint256", - "name": "amount0", - "type": "uint256", - "indexed": false - }, - { - "internalType": "uint256", - "name": "amount1", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "Mint", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "uint8", - "name": "feeProtocol0Old", - "type": "uint8", - "indexed": false - }, - { - "internalType": "uint8", - "name": "feeProtocol1Old", - "type": "uint8", - "indexed": false - }, - { - "internalType": "uint8", - "name": "feeProtocol0New", - "type": "uint8", - "indexed": false - }, - { - "internalType": "uint8", - "name": "feeProtocol1New", - "type": "uint8", - "indexed": false - } - ], - "type": "event", - "name": "SetFeeProtocol", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "recipient", - "type": "address", - "indexed": true - }, - { - "internalType": "int256", - "name": "amount0", - "type": "int256", - "indexed": false - }, - { - "internalType": "int256", - "name": "amount1", - "type": "int256", - "indexed": false - }, - { - "internalType": "uint160", - "name": "sqrtPriceX96", - "type": "uint160", - "indexed": false - }, - { - "internalType": "uint128", - "name": "liquidity", - "type": "uint128", - "indexed": false - }, - { - "internalType": "int24", - "name": "tick", - "type": "int24", - "indexed": false - } - ], - "type": "event", - "name": "Swap", - "anonymous": false - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolEvents.sol": "IUniswapV3PoolEvents" - }, - "libraries": {} - }, - "sources": { - "node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolEvents.sol": { - "keccak256": "0x8071514d0fe5d17d6fbd31c191cdfb703031c24e0ece3621d88ab10e871375cd", - "urls": [ - "bzz-raw://d0b571930cc7488b1d546a7e9cea7c52d8b3c4e207da657ed0e0db7343b8cd03", - "dweb:/ipfs/QmaGK6vVwB95QSTR1XMYvrh7ivYAYZxi3fD7v6VMA4jZ39" - ], - "license": "GPL-2.0-or-later" - } - }, - "version": 1 - }, - "id": 31 -} +{ "abi": [ { "type": "event", "name": "Burn", "inputs": [ { "name": "owner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "tickLower", "type": "int24", "indexed": true, "internalType": "int24" }, { "name": "tickUpper", "type": "int24", "indexed": true, "internalType": "int24" }, { "name": "amount", "type": "uint128", "indexed": false, "internalType": "uint128" }, { "name": "amount0", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "amount1", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "Collect", "inputs": [ { "name": "owner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "recipient", "type": "address", "indexed": false, "internalType": "address" }, { "name": "tickLower", "type": "int24", "indexed": true, "internalType": "int24" }, { "name": "tickUpper", "type": "int24", "indexed": true, "internalType": "int24" }, { "name": "amount0", "type": "uint128", "indexed": false, "internalType": "uint128" }, { "name": "amount1", "type": "uint128", "indexed": false, "internalType": "uint128" } ], "anonymous": false }, { "type": "event", "name": "CollectProtocol", "inputs": [ { "name": "sender", "type": "address", "indexed": true, "internalType": "address" }, { "name": "recipient", "type": "address", "indexed": true, "internalType": "address" }, { "name": "amount0", "type": "uint128", "indexed": false, "internalType": "uint128" }, { "name": "amount1", "type": "uint128", "indexed": false, "internalType": "uint128" } ], "anonymous": false }, { "type": "event", "name": "Flash", "inputs": [ { "name": "sender", "type": "address", "indexed": true, "internalType": "address" }, { "name": "recipient", "type": "address", "indexed": true, "internalType": "address" }, { "name": "amount0", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "amount1", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "paid0", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "paid1", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "IncreaseObservationCardinalityNext", "inputs": [ { "name": "observationCardinalityNextOld", "type": "uint16", "indexed": false, "internalType": "uint16" }, { "name": "observationCardinalityNextNew", "type": "uint16", "indexed": false, "internalType": "uint16" } ], "anonymous": false }, { "type": "event", "name": "Initialize", "inputs": [ { "name": "sqrtPriceX96", "type": "uint160", "indexed": false, "internalType": "uint160" }, { "name": "tick", "type": "int24", "indexed": false, "internalType": "int24" } ], "anonymous": false }, { "type": "event", "name": "Mint", "inputs": [ { "name": "sender", "type": "address", "indexed": false, "internalType": "address" }, { "name": "owner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "tickLower", "type": "int24", "indexed": true, "internalType": "int24" }, { "name": "tickUpper", "type": "int24", "indexed": true, "internalType": "int24" }, { "name": "amount", "type": "uint128", "indexed": false, "internalType": "uint128" }, { "name": "amount0", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "amount1", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "SetFeeProtocol", "inputs": [ { "name": "feeProtocol0Old", "type": "uint8", "indexed": false, "internalType": "uint8" }, { "name": "feeProtocol1Old", "type": "uint8", "indexed": false, "internalType": "uint8" }, { "name": "feeProtocol0New", "type": "uint8", "indexed": false, "internalType": "uint8" }, { "name": "feeProtocol1New", "type": "uint8", "indexed": false, "internalType": "uint8" } ], "anonymous": false }, { "type": "event", "name": "Swap", "inputs": [ { "name": "sender", "type": "address", "indexed": true, "internalType": "address" }, { "name": "recipient", "type": "address", "indexed": true, "internalType": "address" }, { "name": "amount0", "type": "int256", "indexed": false, "internalType": "int256" }, { "name": "amount1", "type": "int256", "indexed": false, "internalType": "int256" }, { "name": "sqrtPriceX96", "type": "uint160", "indexed": false, "internalType": "uint160" }, { "name": "liquidity", "type": "uint128", "indexed": false, "internalType": "uint128" }, { "name": "tick", "type": "int24", "indexed": false, "internalType": "int24" } ], "anonymous": false } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": {}, "rawMetadata": "{\"compiler\":{\"version\":\"0.7.6+commit.7338295f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"int24\",\"name\":\"tickLower\",\"type\":\"int24\"},{\"indexed\":true,\"internalType\":\"int24\",\"name\":\"tickUpper\",\"type\":\"int24\"},{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"amount\",\"type\":\"uint128\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount0\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount1\",\"type\":\"uint256\"}],\"name\":\"Burn\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"int24\",\"name\":\"tickLower\",\"type\":\"int24\"},{\"indexed\":true,\"internalType\":\"int24\",\"name\":\"tickUpper\",\"type\":\"int24\"},{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"amount0\",\"type\":\"uint128\"},{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"amount1\",\"type\":\"uint128\"}],\"name\":\"Collect\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"amount0\",\"type\":\"uint128\"},{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"amount1\",\"type\":\"uint128\"}],\"name\":\"CollectProtocol\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount0\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount1\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"paid0\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"paid1\",\"type\":\"uint256\"}],\"name\":\"Flash\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint16\",\"name\":\"observationCardinalityNextOld\",\"type\":\"uint16\"},{\"indexed\":false,\"internalType\":\"uint16\",\"name\":\"observationCardinalityNextNew\",\"type\":\"uint16\"}],\"name\":\"IncreaseObservationCardinalityNext\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint160\",\"name\":\"sqrtPriceX96\",\"type\":\"uint160\"},{\"indexed\":false,\"internalType\":\"int24\",\"name\":\"tick\",\"type\":\"int24\"}],\"name\":\"Initialize\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"int24\",\"name\":\"tickLower\",\"type\":\"int24\"},{\"indexed\":true,\"internalType\":\"int24\",\"name\":\"tickUpper\",\"type\":\"int24\"},{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"amount\",\"type\":\"uint128\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount0\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount1\",\"type\":\"uint256\"}],\"name\":\"Mint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"feeProtocol0Old\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"feeProtocol1Old\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"feeProtocol0New\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"feeProtocol1New\",\"type\":\"uint8\"}],\"name\":\"SetFeeProtocol\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"amount0\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"amount1\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint160\",\"name\":\"sqrtPriceX96\",\"type\":\"uint160\"},{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"liquidity\",\"type\":\"uint128\"},{\"indexed\":false,\"internalType\":\"int24\",\"name\":\"tick\",\"type\":\"int24\"}],\"name\":\"Swap\",\"type\":\"event\"}],\"devdoc\":{\"events\":{\"Burn(address,int24,int24,uint128,uint256,uint256)\":{\"details\":\"Does not withdraw any fees earned by the liquidity position, which must be withdrawn via #collect\",\"params\":{\"amount\":\"The amount of liquidity to remove\",\"amount0\":\"The amount of token0 withdrawn\",\"amount1\":\"The amount of token1 withdrawn\",\"owner\":\"The owner of the position for which liquidity is removed\",\"tickLower\":\"The lower tick of the position\",\"tickUpper\":\"The upper tick of the position\"}},\"Collect(address,address,int24,int24,uint128,uint128)\":{\"details\":\"Collect events may be emitted with zero amount0 and amount1 when the caller chooses not to collect fees\",\"params\":{\"amount0\":\"The amount of token0 fees collected\",\"amount1\":\"The amount of token1 fees collected\",\"owner\":\"The owner of the position for which fees are collected\",\"tickLower\":\"The lower tick of the position\",\"tickUpper\":\"The upper tick of the position\"}},\"CollectProtocol(address,address,uint128,uint128)\":{\"params\":{\"amount0\":\"The amount of token1 protocol fees that is withdrawn\",\"recipient\":\"The address that receives the collected protocol fees\",\"sender\":\"The address that collects the protocol fees\"}},\"Flash(address,address,uint256,uint256,uint256,uint256)\":{\"params\":{\"amount0\":\"The amount of token0 that was flashed\",\"amount1\":\"The amount of token1 that was flashed\",\"paid0\":\"The amount of token0 paid for the flash, which can exceed the amount0 plus the fee\",\"paid1\":\"The amount of token1 paid for the flash, which can exceed the amount1 plus the fee\",\"recipient\":\"The address that received the tokens from flash\",\"sender\":\"The address that initiated the swap call, and that received the callback\"}},\"IncreaseObservationCardinalityNext(uint16,uint16)\":{\"details\":\"observationCardinalityNext is not the observation cardinality until an observation is written at the index just before a mint/swap/burn.\",\"params\":{\"observationCardinalityNextNew\":\"The updated value of the next observation cardinality\",\"observationCardinalityNextOld\":\"The previous value of the next observation cardinality\"}},\"Initialize(uint160,int24)\":{\"details\":\"Mint/Burn/Swap cannot be emitted by the pool before Initialize\",\"params\":{\"sqrtPriceX96\":\"The initial sqrt price of the pool, as a Q64.96\",\"tick\":\"The initial tick of the pool, i.e. log base 1.0001 of the starting price of the pool\"}},\"Mint(address,address,int24,int24,uint128,uint256,uint256)\":{\"params\":{\"amount\":\"The amount of liquidity minted to the position range\",\"amount0\":\"How much token0 was required for the minted liquidity\",\"amount1\":\"How much token1 was required for the minted liquidity\",\"owner\":\"The owner of the position and recipient of any minted liquidity\",\"sender\":\"The address that minted the liquidity\",\"tickLower\":\"The lower tick of the position\",\"tickUpper\":\"The upper tick of the position\"}},\"SetFeeProtocol(uint8,uint8,uint8,uint8)\":{\"params\":{\"feeProtocol0New\":\"The updated value of the token0 protocol fee\",\"feeProtocol0Old\":\"The previous value of the token0 protocol fee\",\"feeProtocol1New\":\"The updated value of the token1 protocol fee\",\"feeProtocol1Old\":\"The previous value of the token1 protocol fee\"}},\"Swap(address,address,int256,int256,uint160,uint128,int24)\":{\"params\":{\"amount0\":\"The delta of the token0 balance of the pool\",\"amount1\":\"The delta of the token1 balance of the pool\",\"liquidity\":\"The liquidity of the pool after the swap\",\"recipient\":\"The address that received the output of the swap\",\"sender\":\"The address that initiated the swap call, and that received the callback\",\"sqrtPriceX96\":\"The sqrt(price) of the pool after the swap, as a Q64.96\",\"tick\":\"The log base 1.0001 of price of the pool after the swap\"}}},\"kind\":\"dev\",\"methods\":{},\"title\":\"Events emitted by a pool\",\"version\":1},\"userdoc\":{\"events\":{\"Burn(address,int24,int24,uint128,uint256,uint256)\":{\"notice\":\"Emitted when a position's liquidity is removed\"},\"Collect(address,address,int24,int24,uint128,uint128)\":{\"notice\":\"Emitted when fees are collected by the owner of a position\"},\"CollectProtocol(address,address,uint128,uint128)\":{\"notice\":\"Emitted when the collected protocol fees are withdrawn by the factory owner\"},\"Flash(address,address,uint256,uint256,uint256,uint256)\":{\"notice\":\"Emitted by the pool for any flashes of token0/token1\"},\"IncreaseObservationCardinalityNext(uint16,uint16)\":{\"notice\":\"Emitted by the pool for increases to the number of observations that can be stored\"},\"Initialize(uint160,int24)\":{\"notice\":\"Emitted exactly once by a pool when #initialize is first called on the pool\"},\"Mint(address,address,int24,int24,uint128,uint256,uint256)\":{\"notice\":\"Emitted when liquidity is minted for a given position\"},\"SetFeeProtocol(uint8,uint8,uint8,uint8)\":{\"notice\":\"Emitted when the protocol fee is changed by the pool\"},\"Swap(address,address,int256,int256,uint160,uint128,int24)\":{\"notice\":\"Emitted by the pool for any swaps between token0 and token1\"}},\"kind\":\"user\",\"methods\":{},\"notice\":\"Contains all events emitted by the pool\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolEvents.sol\":\"IUniswapV3PoolEvents\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolEvents.sol\":{\"keccak256\":\"0x8071514d0fe5d17d6fbd31c191cdfb703031c24e0ece3621d88ab10e871375cd\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://d0b571930cc7488b1d546a7e9cea7c52d8b3c4e207da657ed0e0db7343b8cd03\",\"dweb:/ipfs/QmaGK6vVwB95QSTR1XMYvrh7ivYAYZxi3fD7v6VMA4jZ39\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.7.6+commit.7338295f" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "owner", "type": "address", "indexed": true }, { "internalType": "int24", "name": "tickLower", "type": "int24", "indexed": true }, { "internalType": "int24", "name": "tickUpper", "type": "int24", "indexed": true }, { "internalType": "uint128", "name": "amount", "type": "uint128", "indexed": false }, { "internalType": "uint256", "name": "amount0", "type": "uint256", "indexed": false }, { "internalType": "uint256", "name": "amount1", "type": "uint256", "indexed": false } ], "type": "event", "name": "Burn", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address", "indexed": true }, { "internalType": "address", "name": "recipient", "type": "address", "indexed": false }, { "internalType": "int24", "name": "tickLower", "type": "int24", "indexed": true }, { "internalType": "int24", "name": "tickUpper", "type": "int24", "indexed": true }, { "internalType": "uint128", "name": "amount0", "type": "uint128", "indexed": false }, { "internalType": "uint128", "name": "amount1", "type": "uint128", "indexed": false } ], "type": "event", "name": "Collect", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address", "indexed": true }, { "internalType": "address", "name": "recipient", "type": "address", "indexed": true }, { "internalType": "uint128", "name": "amount0", "type": "uint128", "indexed": false }, { "internalType": "uint128", "name": "amount1", "type": "uint128", "indexed": false } ], "type": "event", "name": "CollectProtocol", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address", "indexed": true }, { "internalType": "address", "name": "recipient", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "amount0", "type": "uint256", "indexed": false }, { "internalType": "uint256", "name": "amount1", "type": "uint256", "indexed": false }, { "internalType": "uint256", "name": "paid0", "type": "uint256", "indexed": false }, { "internalType": "uint256", "name": "paid1", "type": "uint256", "indexed": false } ], "type": "event", "name": "Flash", "anonymous": false }, { "inputs": [ { "internalType": "uint16", "name": "observationCardinalityNextOld", "type": "uint16", "indexed": false }, { "internalType": "uint16", "name": "observationCardinalityNextNew", "type": "uint16", "indexed": false } ], "type": "event", "name": "IncreaseObservationCardinalityNext", "anonymous": false }, { "inputs": [ { "internalType": "uint160", "name": "sqrtPriceX96", "type": "uint160", "indexed": false }, { "internalType": "int24", "name": "tick", "type": "int24", "indexed": false } ], "type": "event", "name": "Initialize", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address", "indexed": false }, { "internalType": "address", "name": "owner", "type": "address", "indexed": true }, { "internalType": "int24", "name": "tickLower", "type": "int24", "indexed": true }, { "internalType": "int24", "name": "tickUpper", "type": "int24", "indexed": true }, { "internalType": "uint128", "name": "amount", "type": "uint128", "indexed": false }, { "internalType": "uint256", "name": "amount0", "type": "uint256", "indexed": false }, { "internalType": "uint256", "name": "amount1", "type": "uint256", "indexed": false } ], "type": "event", "name": "Mint", "anonymous": false }, { "inputs": [ { "internalType": "uint8", "name": "feeProtocol0Old", "type": "uint8", "indexed": false }, { "internalType": "uint8", "name": "feeProtocol1Old", "type": "uint8", "indexed": false }, { "internalType": "uint8", "name": "feeProtocol0New", "type": "uint8", "indexed": false }, { "internalType": "uint8", "name": "feeProtocol1New", "type": "uint8", "indexed": false } ], "type": "event", "name": "SetFeeProtocol", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address", "indexed": true }, { "internalType": "address", "name": "recipient", "type": "address", "indexed": true }, { "internalType": "int256", "name": "amount0", "type": "int256", "indexed": false }, { "internalType": "int256", "name": "amount1", "type": "int256", "indexed": false }, { "internalType": "uint160", "name": "sqrtPriceX96", "type": "uint160", "indexed": false }, { "internalType": "uint128", "name": "liquidity", "type": "uint128", "indexed": false }, { "internalType": "int24", "name": "tick", "type": "int24", "indexed": false } ], "type": "event", "name": "Swap", "anonymous": false } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolEvents.sol": "IUniswapV3PoolEvents" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolEvents.sol": { "keccak256": "0x8071514d0fe5d17d6fbd31c191cdfb703031c24e0ece3621d88ab10e871375cd", "urls": [ "bzz-raw://d0b571930cc7488b1d546a7e9cea7c52d8b3c4e207da657ed0e0db7343b8cd03", "dweb:/ipfs/QmaGK6vVwB95QSTR1XMYvrh7ivYAYZxi3fD7v6VMA4jZ39" ], "license": "GPL-2.0-or-later" } }, "version": 1 }, "id": 31 } diff --git a/eth_defi/abi/enzyme/IUniswapV3PoolImmutables.json b/eth_defi/abi/enzyme/IUniswapV3PoolImmutables.json index 441dd9fa..b240dc25 100644 --- a/eth_defi/abi/enzyme/IUniswapV3PoolImmutables.json +++ b/eth_defi/abi/enzyme/IUniswapV3PoolImmutables.json @@ -1,295 +1 @@ -{ - "abi": [ - { - "inputs": [], - "name": "factory", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "fee", - "outputs": [ - { - "internalType": "uint24", - "name": "", - "type": "uint24" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "maxLiquidityPerTick", - "outputs": [ - { - "internalType": "uint128", - "name": "", - "type": "uint128" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "tickSpacing", - "outputs": [ - { - "internalType": "int24", - "name": "", - "type": "int24" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "token0", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "token1", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "factory()": "c45a0155", - "fee()": "ddca3f43", - "maxLiquidityPerTick()": "70cf754a", - "tickSpacing()": "d0c93a7c", - "token0()": "0dfe1681", - "token1()": "d21220a7" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.7.6+commit.7338295f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"factory\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"fee\",\"outputs\":[{\"internalType\":\"uint24\",\"name\":\"\",\"type\":\"uint24\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"maxLiquidityPerTick\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"\",\"type\":\"uint128\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"tickSpacing\",\"outputs\":[{\"internalType\":\"int24\",\"name\":\"\",\"type\":\"int24\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"token0\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"token1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"factory()\":{\"returns\":{\"_0\":\"The contract address\"}},\"fee()\":{\"returns\":{\"_0\":\"The fee\"}},\"maxLiquidityPerTick()\":{\"details\":\"This parameter is enforced per tick to prevent liquidity from overflowing a uint128 at any point, and also prevents out-of-range liquidity from being used to prevent adding in-range liquidity to a pool\",\"returns\":{\"_0\":\"The max amount of liquidity per tick\"}},\"tickSpacing()\":{\"details\":\"Ticks can only be used at multiples of this value, minimum of 1 and always positive e.g.: a tickSpacing of 3 means ticks can be initialized every 3rd tick, i.e., ..., -6, -3, 0, 3, 6, ... This value is an int24 to avoid casting even though it is always positive.\",\"returns\":{\"_0\":\"The tick spacing\"}},\"token0()\":{\"returns\":{\"_0\":\"The token contract address\"}},\"token1()\":{\"returns\":{\"_0\":\"The token contract address\"}}},\"title\":\"Pool state that never changes\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"factory()\":{\"notice\":\"The contract that deployed the pool, which must adhere to the IUniswapV3Factory interface\"},\"fee()\":{\"notice\":\"The pool's fee in hundredths of a bip, i.e. 1e-6\"},\"maxLiquidityPerTick()\":{\"notice\":\"The maximum amount of position liquidity that can use any tick in the range\"},\"tickSpacing()\":{\"notice\":\"The pool tick spacing\"},\"token0()\":{\"notice\":\"The first of the two tokens of the pool, sorted by address\"},\"token1()\":{\"notice\":\"The second of the two tokens of the pool, sorted by address\"}},\"notice\":\"These parameters are fixed for a pool forever, i.e., the methods will always return the same values\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolImmutables.sol\":\"IUniswapV3PoolImmutables\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolImmutables.sol\":{\"keccak256\":\"0xf6e5d2cd1139c4c276bdbc8e1d2b256e456c866a91f1b868da265c6d2685c3f7\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://b99c8c9ae8e27ee6559e5866bea82cbc9ffc8247f8d15b7422a4deb287d4d047\",\"dweb:/ipfs/QmfL8gaqt3ffAnm6nVj5ksuNpLygXuL3xq5VBqrkwC2JJ3\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.7.6+commit.7338295f" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "factory", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "fee", - "outputs": [ - { - "internalType": "uint24", - "name": "", - "type": "uint24" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "maxLiquidityPerTick", - "outputs": [ - { - "internalType": "uint128", - "name": "", - "type": "uint128" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "tickSpacing", - "outputs": [ - { - "internalType": "int24", - "name": "", - "type": "int24" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "token0", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "token1", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "factory()": { - "returns": { - "_0": "The contract address" - } - }, - "fee()": { - "returns": { - "_0": "The fee" - } - }, - "maxLiquidityPerTick()": { - "details": "This parameter is enforced per tick to prevent liquidity from overflowing a uint128 at any point, and also prevents out-of-range liquidity from being used to prevent adding in-range liquidity to a pool", - "returns": { - "_0": "The max amount of liquidity per tick" - } - }, - "tickSpacing()": { - "details": "Ticks can only be used at multiples of this value, minimum of 1 and always positive e.g.: a tickSpacing of 3 means ticks can be initialized every 3rd tick, i.e., ..., -6, -3, 0, 3, 6, ... This value is an int24 to avoid casting even though it is always positive.", - "returns": { - "_0": "The tick spacing" - } - }, - "token0()": { - "returns": { - "_0": "The token contract address" - } - }, - "token1()": { - "returns": { - "_0": "The token contract address" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "factory()": { - "notice": "The contract that deployed the pool, which must adhere to the IUniswapV3Factory interface" - }, - "fee()": { - "notice": "The pool's fee in hundredths of a bip, i.e. 1e-6" - }, - "maxLiquidityPerTick()": { - "notice": "The maximum amount of position liquidity that can use any tick in the range" - }, - "tickSpacing()": { - "notice": "The pool tick spacing" - }, - "token0()": { - "notice": "The first of the two tokens of the pool, sorted by address" - }, - "token1()": { - "notice": "The second of the two tokens of the pool, sorted by address" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolImmutables.sol": "IUniswapV3PoolImmutables" - }, - "libraries": {} - }, - "sources": { - "node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolImmutables.sol": { - "keccak256": "0xf6e5d2cd1139c4c276bdbc8e1d2b256e456c866a91f1b868da265c6d2685c3f7", - "urls": [ - "bzz-raw://b99c8c9ae8e27ee6559e5866bea82cbc9ffc8247f8d15b7422a4deb287d4d047", - "dweb:/ipfs/QmfL8gaqt3ffAnm6nVj5ksuNpLygXuL3xq5VBqrkwC2JJ3" - ], - "license": "GPL-2.0-or-later" - } - }, - "version": 1 - }, - "id": 32 -} +{ "abi": [ { "type": "function", "name": "factory", "inputs": [], "outputs": [ { "name": "", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "fee", "inputs": [], "outputs": [ { "name": "", "type": "uint24", "internalType": "uint24" } ], "stateMutability": "view" }, { "type": "function", "name": "maxLiquidityPerTick", "inputs": [], "outputs": [ { "name": "", "type": "uint128", "internalType": "uint128" } ], "stateMutability": "view" }, { "type": "function", "name": "tickSpacing", "inputs": [], "outputs": [ { "name": "", "type": "int24", "internalType": "int24" } ], "stateMutability": "view" }, { "type": "function", "name": "token0", "inputs": [], "outputs": [ { "name": "", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "token1", "inputs": [], "outputs": [ { "name": "", "type": "address", "internalType": "address" } ], "stateMutability": "view" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "factory()": "c45a0155", "fee()": "ddca3f43", "maxLiquidityPerTick()": "70cf754a", "tickSpacing()": "d0c93a7c", "token0()": "0dfe1681", "token1()": "d21220a7" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.7.6+commit.7338295f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"factory\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"fee\",\"outputs\":[{\"internalType\":\"uint24\",\"name\":\"\",\"type\":\"uint24\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"maxLiquidityPerTick\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"\",\"type\":\"uint128\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"tickSpacing\",\"outputs\":[{\"internalType\":\"int24\",\"name\":\"\",\"type\":\"int24\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"token0\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"token1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"factory()\":{\"returns\":{\"_0\":\"The contract address\"}},\"fee()\":{\"returns\":{\"_0\":\"The fee\"}},\"maxLiquidityPerTick()\":{\"details\":\"This parameter is enforced per tick to prevent liquidity from overflowing a uint128 at any point, and also prevents out-of-range liquidity from being used to prevent adding in-range liquidity to a pool\",\"returns\":{\"_0\":\"The max amount of liquidity per tick\"}},\"tickSpacing()\":{\"details\":\"Ticks can only be used at multiples of this value, minimum of 1 and always positive e.g.: a tickSpacing of 3 means ticks can be initialized every 3rd tick, i.e., ..., -6, -3, 0, 3, 6, ... This value is an int24 to avoid casting even though it is always positive.\",\"returns\":{\"_0\":\"The tick spacing\"}},\"token0()\":{\"returns\":{\"_0\":\"The token contract address\"}},\"token1()\":{\"returns\":{\"_0\":\"The token contract address\"}}},\"title\":\"Pool state that never changes\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"factory()\":{\"notice\":\"The contract that deployed the pool, which must adhere to the IUniswapV3Factory interface\"},\"fee()\":{\"notice\":\"The pool's fee in hundredths of a bip, i.e. 1e-6\"},\"maxLiquidityPerTick()\":{\"notice\":\"The maximum amount of position liquidity that can use any tick in the range\"},\"tickSpacing()\":{\"notice\":\"The pool tick spacing\"},\"token0()\":{\"notice\":\"The first of the two tokens of the pool, sorted by address\"},\"token1()\":{\"notice\":\"The second of the two tokens of the pool, sorted by address\"}},\"notice\":\"These parameters are fixed for a pool forever, i.e., the methods will always return the same values\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolImmutables.sol\":\"IUniswapV3PoolImmutables\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolImmutables.sol\":{\"keccak256\":\"0xf6e5d2cd1139c4c276bdbc8e1d2b256e456c866a91f1b868da265c6d2685c3f7\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://b99c8c9ae8e27ee6559e5866bea82cbc9ffc8247f8d15b7422a4deb287d4d047\",\"dweb:/ipfs/QmfL8gaqt3ffAnm6nVj5ksuNpLygXuL3xq5VBqrkwC2JJ3\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.7.6+commit.7338295f" }, "language": "Solidity", "output": { "abi": [ { "inputs": [], "stateMutability": "view", "type": "function", "name": "factory", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "fee", "outputs": [ { "internalType": "uint24", "name": "", "type": "uint24" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "maxLiquidityPerTick", "outputs": [ { "internalType": "uint128", "name": "", "type": "uint128" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "tickSpacing", "outputs": [ { "internalType": "int24", "name": "", "type": "int24" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "token0", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "token1", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ] } ], "devdoc": { "kind": "dev", "methods": { "factory()": { "returns": { "_0": "The contract address" } }, "fee()": { "returns": { "_0": "The fee" } }, "maxLiquidityPerTick()": { "details": "This parameter is enforced per tick to prevent liquidity from overflowing a uint128 at any point, and also prevents out-of-range liquidity from being used to prevent adding in-range liquidity to a pool", "returns": { "_0": "The max amount of liquidity per tick" } }, "tickSpacing()": { "details": "Ticks can only be used at multiples of this value, minimum of 1 and always positive e.g.: a tickSpacing of 3 means ticks can be initialized every 3rd tick, i.e., ..., -6, -3, 0, 3, 6, ... This value is an int24 to avoid casting even though it is always positive.", "returns": { "_0": "The tick spacing" } }, "token0()": { "returns": { "_0": "The token contract address" } }, "token1()": { "returns": { "_0": "The token contract address" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "factory()": { "notice": "The contract that deployed the pool, which must adhere to the IUniswapV3Factory interface" }, "fee()": { "notice": "The pool's fee in hundredths of a bip, i.e. 1e-6" }, "maxLiquidityPerTick()": { "notice": "The maximum amount of position liquidity that can use any tick in the range" }, "tickSpacing()": { "notice": "The pool tick spacing" }, "token0()": { "notice": "The first of the two tokens of the pool, sorted by address" }, "token1()": { "notice": "The second of the two tokens of the pool, sorted by address" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolImmutables.sol": "IUniswapV3PoolImmutables" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolImmutables.sol": { "keccak256": "0xf6e5d2cd1139c4c276bdbc8e1d2b256e456c866a91f1b868da265c6d2685c3f7", "urls": [ "bzz-raw://b99c8c9ae8e27ee6559e5866bea82cbc9ffc8247f8d15b7422a4deb287d4d047", "dweb:/ipfs/QmfL8gaqt3ffAnm6nVj5ksuNpLygXuL3xq5VBqrkwC2JJ3" ], "license": "GPL-2.0-or-later" } }, "version": 1 }, "id": 32 } diff --git a/eth_defi/abi/enzyme/IUniswapV3PoolOwnerActions.json b/eth_defi/abi/enzyme/IUniswapV3PoolOwnerActions.json index 1c1c8947..223f41b1 100644 --- a/eth_defi/abi/enzyme/IUniswapV3PoolOwnerActions.json +++ b/eth_defi/abi/enzyme/IUniswapV3PoolOwnerActions.json @@ -1,211 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint128", - "name": "amount0Requested", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "amount1Requested", - "type": "uint128" - } - ], - "name": "collectProtocol", - "outputs": [ - { - "internalType": "uint128", - "name": "amount0", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "amount1", - "type": "uint128" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint8", - "name": "feeProtocol0", - "type": "uint8" - }, - { - "internalType": "uint8", - "name": "feeProtocol1", - "type": "uint8" - } - ], - "name": "setFeeProtocol", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "collectProtocol(address,uint128,uint128)": "85b66729", - "setFeeProtocol(uint8,uint8)": "8206a4d1" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.7.6+commit.7338295f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint128\",\"name\":\"amount0Requested\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"amount1Requested\",\"type\":\"uint128\"}],\"name\":\"collectProtocol\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"amount0\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"amount1\",\"type\":\"uint128\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"feeProtocol0\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"feeProtocol1\",\"type\":\"uint8\"}],\"name\":\"setFeeProtocol\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"collectProtocol(address,uint128,uint128)\":{\"params\":{\"amount0Requested\":\"The maximum amount of token0 to send, can be 0 to collect fees in only token1\",\"amount1Requested\":\"The maximum amount of token1 to send, can be 0 to collect fees in only token0\",\"recipient\":\"The address to which collected protocol fees should be sent\"},\"returns\":{\"amount0\":\"The protocol fee collected in token0\",\"amount1\":\"The protocol fee collected in token1\"}},\"setFeeProtocol(uint8,uint8)\":{\"params\":{\"feeProtocol0\":\"new protocol fee for token0 of the pool\",\"feeProtocol1\":\"new protocol fee for token1 of the pool\"}}},\"title\":\"Permissioned pool actions\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"collectProtocol(address,uint128,uint128)\":{\"notice\":\"Collect the protocol fee accrued to the pool\"},\"setFeeProtocol(uint8,uint8)\":{\"notice\":\"Set the denominator of the protocol's % share of the fees\"}},\"notice\":\"Contains pool methods that may only be called by the factory owner\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolOwnerActions.sol\":\"IUniswapV3PoolOwnerActions\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolOwnerActions.sol\":{\"keccak256\":\"0x759b78a2918af9e99e246dc3af084f654e48ef32bb4e4cb8a966aa3dcaece235\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://64144fb96e1c7fdba87305acadb98a198d26a3d46c097cb3a666e567f6f29735\",\"dweb:/ipfs/QmUnWVwN9FKB9uV5Pr8YfLpWZnYM2DENnRMaadZ492JS9u\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.7.6+commit.7338295f" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint128", - "name": "amount0Requested", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "amount1Requested", - "type": "uint128" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "collectProtocol", - "outputs": [ - { - "internalType": "uint128", - "name": "amount0", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "amount1", - "type": "uint128" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint8", - "name": "feeProtocol0", - "type": "uint8" - }, - { - "internalType": "uint8", - "name": "feeProtocol1", - "type": "uint8" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setFeeProtocol" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "collectProtocol(address,uint128,uint128)": { - "params": { - "amount0Requested": "The maximum amount of token0 to send, can be 0 to collect fees in only token1", - "amount1Requested": "The maximum amount of token1 to send, can be 0 to collect fees in only token0", - "recipient": "The address to which collected protocol fees should be sent" - }, - "returns": { - "amount0": "The protocol fee collected in token0", - "amount1": "The protocol fee collected in token1" - } - }, - "setFeeProtocol(uint8,uint8)": { - "params": { - "feeProtocol0": "new protocol fee for token0 of the pool", - "feeProtocol1": "new protocol fee for token1 of the pool" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "collectProtocol(address,uint128,uint128)": { - "notice": "Collect the protocol fee accrued to the pool" - }, - "setFeeProtocol(uint8,uint8)": { - "notice": "Set the denominator of the protocol's % share of the fees" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolOwnerActions.sol": "IUniswapV3PoolOwnerActions" - }, - "libraries": {} - }, - "sources": { - "node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolOwnerActions.sol": { - "keccak256": "0x759b78a2918af9e99e246dc3af084f654e48ef32bb4e4cb8a966aa3dcaece235", - "urls": [ - "bzz-raw://64144fb96e1c7fdba87305acadb98a198d26a3d46c097cb3a666e567f6f29735", - "dweb:/ipfs/QmUnWVwN9FKB9uV5Pr8YfLpWZnYM2DENnRMaadZ492JS9u" - ], - "license": "GPL-2.0-or-later" - } - }, - "version": 1 - }, - "id": 33 -} +{ "abi": [ { "type": "function", "name": "collectProtocol", "inputs": [ { "name": "recipient", "type": "address", "internalType": "address" }, { "name": "amount0Requested", "type": "uint128", "internalType": "uint128" }, { "name": "amount1Requested", "type": "uint128", "internalType": "uint128" } ], "outputs": [ { "name": "amount0", "type": "uint128", "internalType": "uint128" }, { "name": "amount1", "type": "uint128", "internalType": "uint128" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "setFeeProtocol", "inputs": [ { "name": "feeProtocol0", "type": "uint8", "internalType": "uint8" }, { "name": "feeProtocol1", "type": "uint8", "internalType": "uint8" } ], "outputs": [], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "collectProtocol(address,uint128,uint128)": "85b66729", "setFeeProtocol(uint8,uint8)": "8206a4d1" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.7.6+commit.7338295f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint128\",\"name\":\"amount0Requested\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"amount1Requested\",\"type\":\"uint128\"}],\"name\":\"collectProtocol\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"amount0\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"amount1\",\"type\":\"uint128\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"feeProtocol0\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"feeProtocol1\",\"type\":\"uint8\"}],\"name\":\"setFeeProtocol\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"collectProtocol(address,uint128,uint128)\":{\"params\":{\"amount0Requested\":\"The maximum amount of token0 to send, can be 0 to collect fees in only token1\",\"amount1Requested\":\"The maximum amount of token1 to send, can be 0 to collect fees in only token0\",\"recipient\":\"The address to which collected protocol fees should be sent\"},\"returns\":{\"amount0\":\"The protocol fee collected in token0\",\"amount1\":\"The protocol fee collected in token1\"}},\"setFeeProtocol(uint8,uint8)\":{\"params\":{\"feeProtocol0\":\"new protocol fee for token0 of the pool\",\"feeProtocol1\":\"new protocol fee for token1 of the pool\"}}},\"title\":\"Permissioned pool actions\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"collectProtocol(address,uint128,uint128)\":{\"notice\":\"Collect the protocol fee accrued to the pool\"},\"setFeeProtocol(uint8,uint8)\":{\"notice\":\"Set the denominator of the protocol's % share of the fees\"}},\"notice\":\"Contains pool methods that may only be called by the factory owner\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolOwnerActions.sol\":\"IUniswapV3PoolOwnerActions\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolOwnerActions.sol\":{\"keccak256\":\"0x759b78a2918af9e99e246dc3af084f654e48ef32bb4e4cb8a966aa3dcaece235\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://64144fb96e1c7fdba87305acadb98a198d26a3d46c097cb3a666e567f6f29735\",\"dweb:/ipfs/QmUnWVwN9FKB9uV5Pr8YfLpWZnYM2DENnRMaadZ492JS9u\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.7.6+commit.7338295f" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint128", "name": "amount0Requested", "type": "uint128" }, { "internalType": "uint128", "name": "amount1Requested", "type": "uint128" } ], "stateMutability": "nonpayable", "type": "function", "name": "collectProtocol", "outputs": [ { "internalType": "uint128", "name": "amount0", "type": "uint128" }, { "internalType": "uint128", "name": "amount1", "type": "uint128" } ] }, { "inputs": [ { "internalType": "uint8", "name": "feeProtocol0", "type": "uint8" }, { "internalType": "uint8", "name": "feeProtocol1", "type": "uint8" } ], "stateMutability": "nonpayable", "type": "function", "name": "setFeeProtocol" } ], "devdoc": { "kind": "dev", "methods": { "collectProtocol(address,uint128,uint128)": { "params": { "amount0Requested": "The maximum amount of token0 to send, can be 0 to collect fees in only token1", "amount1Requested": "The maximum amount of token1 to send, can be 0 to collect fees in only token0", "recipient": "The address to which collected protocol fees should be sent" }, "returns": { "amount0": "The protocol fee collected in token0", "amount1": "The protocol fee collected in token1" } }, "setFeeProtocol(uint8,uint8)": { "params": { "feeProtocol0": "new protocol fee for token0 of the pool", "feeProtocol1": "new protocol fee for token1 of the pool" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "collectProtocol(address,uint128,uint128)": { "notice": "Collect the protocol fee accrued to the pool" }, "setFeeProtocol(uint8,uint8)": { "notice": "Set the denominator of the protocol's % share of the fees" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolOwnerActions.sol": "IUniswapV3PoolOwnerActions" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolOwnerActions.sol": { "keccak256": "0x759b78a2918af9e99e246dc3af084f654e48ef32bb4e4cb8a966aa3dcaece235", "urls": [ "bzz-raw://64144fb96e1c7fdba87305acadb98a198d26a3d46c097cb3a666e567f6f29735", "dweb:/ipfs/QmUnWVwN9FKB9uV5Pr8YfLpWZnYM2DENnRMaadZ492JS9u" ], "license": "GPL-2.0-or-later" } }, "version": 1 }, "id": 33 } diff --git a/eth_defi/abi/enzyme/IUniswapV3PoolState.json b/eth_defi/abi/enzyme/IUniswapV3PoolState.json index f1cb1a40..2b9f0396 100644 --- a/eth_defi/abi/enzyme/IUniswapV3PoolState.json +++ b/eth_defi/abi/enzyme/IUniswapV3PoolState.json @@ -1,653 +1 @@ -{ - "abi": [ - { - "inputs": [], - "name": "feeGrowthGlobal0X128", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "feeGrowthGlobal1X128", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "liquidity", - "outputs": [ - { - "internalType": "uint128", - "name": "", - "type": "uint128" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "index", - "type": "uint256" - } - ], - "name": "observations", - "outputs": [ - { - "internalType": "uint32", - "name": "blockTimestamp", - "type": "uint32" - }, - { - "internalType": "int56", - "name": "tickCumulative", - "type": "int56" - }, - { - "internalType": "uint160", - "name": "secondsPerLiquidityCumulativeX128", - "type": "uint160" - }, - { - "internalType": "bool", - "name": "initialized", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "key", - "type": "bytes32" - } - ], - "name": "positions", - "outputs": [ - { - "internalType": "uint128", - "name": "_liquidity", - "type": "uint128" - }, - { - "internalType": "uint256", - "name": "feeGrowthInside0LastX128", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "feeGrowthInside1LastX128", - "type": "uint256" - }, - { - "internalType": "uint128", - "name": "tokensOwed0", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "tokensOwed1", - "type": "uint128" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "protocolFees", - "outputs": [ - { - "internalType": "uint128", - "name": "token0", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "token1", - "type": "uint128" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "slot0", - "outputs": [ - { - "internalType": "uint160", - "name": "sqrtPriceX96", - "type": "uint160" - }, - { - "internalType": "int24", - "name": "tick", - "type": "int24" - }, - { - "internalType": "uint16", - "name": "observationIndex", - "type": "uint16" - }, - { - "internalType": "uint16", - "name": "observationCardinality", - "type": "uint16" - }, - { - "internalType": "uint16", - "name": "observationCardinalityNext", - "type": "uint16" - }, - { - "internalType": "uint8", - "name": "feeProtocol", - "type": "uint8" - }, - { - "internalType": "bool", - "name": "unlocked", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "int16", - "name": "wordPosition", - "type": "int16" - } - ], - "name": "tickBitmap", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "int24", - "name": "tick", - "type": "int24" - } - ], - "name": "ticks", - "outputs": [ - { - "internalType": "uint128", - "name": "liquidityGross", - "type": "uint128" - }, - { - "internalType": "int128", - "name": "liquidityNet", - "type": "int128" - }, - { - "internalType": "uint256", - "name": "feeGrowthOutside0X128", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "feeGrowthOutside1X128", - "type": "uint256" - }, - { - "internalType": "int56", - "name": "tickCumulativeOutside", - "type": "int56" - }, - { - "internalType": "uint160", - "name": "secondsPerLiquidityOutsideX128", - "type": "uint160" - }, - { - "internalType": "uint32", - "name": "secondsOutside", - "type": "uint32" - }, - { - "internalType": "bool", - "name": "initialized", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "feeGrowthGlobal0X128()": "f3058399", - "feeGrowthGlobal1X128()": "46141319", - "liquidity()": "1a686502", - "observations(uint256)": "252c09d7", - "positions(bytes32)": "514ea4bf", - "protocolFees()": "1ad8b03b", - "slot0()": "3850c7bd", - "tickBitmap(int16)": "5339c296", - "ticks(int24)": "f30dba93" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.7.6+commit.7338295f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"feeGrowthGlobal0X128\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"feeGrowthGlobal1X128\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"liquidity\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"\",\"type\":\"uint128\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"observations\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"blockTimestamp\",\"type\":\"uint32\"},{\"internalType\":\"int56\",\"name\":\"tickCumulative\",\"type\":\"int56\"},{\"internalType\":\"uint160\",\"name\":\"secondsPerLiquidityCumulativeX128\",\"type\":\"uint160\"},{\"internalType\":\"bool\",\"name\":\"initialized\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"key\",\"type\":\"bytes32\"}],\"name\":\"positions\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"_liquidity\",\"type\":\"uint128\"},{\"internalType\":\"uint256\",\"name\":\"feeGrowthInside0LastX128\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"feeGrowthInside1LastX128\",\"type\":\"uint256\"},{\"internalType\":\"uint128\",\"name\":\"tokensOwed0\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"tokensOwed1\",\"type\":\"uint128\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"protocolFees\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"token0\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"token1\",\"type\":\"uint128\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"slot0\",\"outputs\":[{\"internalType\":\"uint160\",\"name\":\"sqrtPriceX96\",\"type\":\"uint160\"},{\"internalType\":\"int24\",\"name\":\"tick\",\"type\":\"int24\"},{\"internalType\":\"uint16\",\"name\":\"observationIndex\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"observationCardinality\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"observationCardinalityNext\",\"type\":\"uint16\"},{\"internalType\":\"uint8\",\"name\":\"feeProtocol\",\"type\":\"uint8\"},{\"internalType\":\"bool\",\"name\":\"unlocked\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int16\",\"name\":\"wordPosition\",\"type\":\"int16\"}],\"name\":\"tickBitmap\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int24\",\"name\":\"tick\",\"type\":\"int24\"}],\"name\":\"ticks\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"liquidityGross\",\"type\":\"uint128\"},{\"internalType\":\"int128\",\"name\":\"liquidityNet\",\"type\":\"int128\"},{\"internalType\":\"uint256\",\"name\":\"feeGrowthOutside0X128\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"feeGrowthOutside1X128\",\"type\":\"uint256\"},{\"internalType\":\"int56\",\"name\":\"tickCumulativeOutside\",\"type\":\"int56\"},{\"internalType\":\"uint160\",\"name\":\"secondsPerLiquidityOutsideX128\",\"type\":\"uint160\"},{\"internalType\":\"uint32\",\"name\":\"secondsOutside\",\"type\":\"uint32\"},{\"internalType\":\"bool\",\"name\":\"initialized\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"feeGrowthGlobal0X128()\":{\"details\":\"This value can overflow the uint256\"},\"feeGrowthGlobal1X128()\":{\"details\":\"This value can overflow the uint256\"},\"liquidity()\":{\"details\":\"This value has no relationship to the total liquidity across all ticks\"},\"observations(uint256)\":{\"details\":\"You most likely want to use #observe() instead of this method to get an observation as of some amount of time ago, rather than at a specific index in the array.\",\"params\":{\"index\":\"The element of the observations array to fetch\"},\"returns\":{\"blockTimestamp\":\"The timestamp of the observation, Returns tickCumulative the tick multiplied by seconds elapsed for the life of the pool as of the observation timestamp, Returns secondsPerLiquidityCumulativeX128 the seconds per in range liquidity for the life of the pool as of the observation timestamp, Returns initialized whether the observation has been initialized and the values are safe to use\"}},\"positions(bytes32)\":{\"params\":{\"key\":\"The position's key is a hash of a preimage composed by the owner, tickLower and tickUpper\"},\"returns\":{\"_liquidity\":\"The amount of liquidity in the position, Returns feeGrowthInside0LastX128 fee growth of token0 inside the tick range as of the last mint/burn/poke, Returns feeGrowthInside1LastX128 fee growth of token1 inside the tick range as of the last mint/burn/poke, Returns tokensOwed0 the computed amount of token0 owed to the position as of the last mint/burn/poke, Returns tokensOwed1 the computed amount of token1 owed to the position as of the last mint/burn/poke\"}},\"protocolFees()\":{\"details\":\"Protocol fees will never exceed uint128 max in either token\"},\"slot0()\":{\"returns\":{\"sqrtPriceX96\":\"The current price of the pool as a sqrt(token1/token0) Q64.96 value tick The current tick of the pool, i.e. according to the last tick transition that was run. This value may not always be equal to SqrtTickMath.getTickAtSqrtRatio(sqrtPriceX96) if the price is on a tick boundary. observationIndex The index of the last oracle observation that was written, observationCardinality The current maximum number of observations stored in the pool, observationCardinalityNext The next maximum number of observations, to be updated when the observation. feeProtocol The protocol fee for both tokens of the pool. Encoded as two 4 bit values, where the protocol fee of token1 is shifted 4 bits and the protocol fee of token0 is the lower 4 bits. Used as the denominator of a fraction of the swap fee, e.g. 4 means 1/4th of the swap fee. unlocked Whether the pool is currently locked to reentrancy\"}},\"ticks(int24)\":{\"params\":{\"tick\":\"The tick to look up\"},\"returns\":{\"liquidityGross\":\"the total amount of position liquidity that uses the pool either as tick lower or tick upper, liquidityNet how much liquidity changes when the pool price crosses the tick, feeGrowthOutside0X128 the fee growth on the other side of the tick from the current tick in token0, feeGrowthOutside1X128 the fee growth on the other side of the tick from the current tick in token1, tickCumulativeOutside the cumulative tick value on the other side of the tick from the current tick secondsPerLiquidityOutsideX128 the seconds spent per liquidity on the other side of the tick from the current tick, secondsOutside the seconds spent on the other side of the tick from the current tick, initialized Set to true if the tick is initialized, i.e. liquidityGross is greater than 0, otherwise equal to false. Outside values can only be used if the tick is initialized, i.e. if liquidityGross is greater than 0. In addition, these values are only relative and must be used only in comparison to previous snapshots for a specific position.\"}}},\"title\":\"Pool state that can change\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"feeGrowthGlobal0X128()\":{\"notice\":\"The fee growth as a Q128.128 fees of token0 collected per unit of liquidity for the entire life of the pool\"},\"feeGrowthGlobal1X128()\":{\"notice\":\"The fee growth as a Q128.128 fees of token1 collected per unit of liquidity for the entire life of the pool\"},\"liquidity()\":{\"notice\":\"The currently in range liquidity available to the pool\"},\"observations(uint256)\":{\"notice\":\"Returns data about a specific observation index\"},\"positions(bytes32)\":{\"notice\":\"Returns the information about a position by the position's key\"},\"protocolFees()\":{\"notice\":\"The amounts of token0 and token1 that are owed to the protocol\"},\"slot0()\":{\"notice\":\"The 0th storage slot in the pool stores many values, and is exposed as a single method to save gas when accessed externally.\"},\"tickBitmap(int16)\":{\"notice\":\"Returns 256 packed tick initialized boolean values. See TickBitmap for more information\"},\"ticks(int24)\":{\"notice\":\"Look up information about a specific tick in the pool\"}},\"notice\":\"These methods compose the pool's state, and can change with any frequency including multiple times per transaction\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolState.sol\":\"IUniswapV3PoolState\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolState.sol\":{\"keccak256\":\"0x852dc1f5df7dcf7f11e7bb3eed79f0cea72ad4b25f6a9d2c35aafb48925fd49f\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://ed63907c38ff36b0e22bc9ffc53e791ea74f0d4f0e7c257fdfb5aaf8825b1f0f\",\"dweb:/ipfs/QmSQrckghEjs6HVsA5GVgpNpZWvTXMY5eQLF7cN6deFeEg\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.7.6+commit.7338295f" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "feeGrowthGlobal0X128", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "feeGrowthGlobal1X128", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "liquidity", - "outputs": [ - { - "internalType": "uint128", - "name": "", - "type": "uint128" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "index", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "observations", - "outputs": [ - { - "internalType": "uint32", - "name": "blockTimestamp", - "type": "uint32" - }, - { - "internalType": "int56", - "name": "tickCumulative", - "type": "int56" - }, - { - "internalType": "uint160", - "name": "secondsPerLiquidityCumulativeX128", - "type": "uint160" - }, - { - "internalType": "bool", - "name": "initialized", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "key", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function", - "name": "positions", - "outputs": [ - { - "internalType": "uint128", - "name": "_liquidity", - "type": "uint128" - }, - { - "internalType": "uint256", - "name": "feeGrowthInside0LastX128", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "feeGrowthInside1LastX128", - "type": "uint256" - }, - { - "internalType": "uint128", - "name": "tokensOwed0", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "tokensOwed1", - "type": "uint128" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "protocolFees", - "outputs": [ - { - "internalType": "uint128", - "name": "token0", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "token1", - "type": "uint128" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "slot0", - "outputs": [ - { - "internalType": "uint160", - "name": "sqrtPriceX96", - "type": "uint160" - }, - { - "internalType": "int24", - "name": "tick", - "type": "int24" - }, - { - "internalType": "uint16", - "name": "observationIndex", - "type": "uint16" - }, - { - "internalType": "uint16", - "name": "observationCardinality", - "type": "uint16" - }, - { - "internalType": "uint16", - "name": "observationCardinalityNext", - "type": "uint16" - }, - { - "internalType": "uint8", - "name": "feeProtocol", - "type": "uint8" - }, - { - "internalType": "bool", - "name": "unlocked", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "int16", - "name": "wordPosition", - "type": "int16" - } - ], - "stateMutability": "view", - "type": "function", - "name": "tickBitmap", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "int24", - "name": "tick", - "type": "int24" - } - ], - "stateMutability": "view", - "type": "function", - "name": "ticks", - "outputs": [ - { - "internalType": "uint128", - "name": "liquidityGross", - "type": "uint128" - }, - { - "internalType": "int128", - "name": "liquidityNet", - "type": "int128" - }, - { - "internalType": "uint256", - "name": "feeGrowthOutside0X128", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "feeGrowthOutside1X128", - "type": "uint256" - }, - { - "internalType": "int56", - "name": "tickCumulativeOutside", - "type": "int56" - }, - { - "internalType": "uint160", - "name": "secondsPerLiquidityOutsideX128", - "type": "uint160" - }, - { - "internalType": "uint32", - "name": "secondsOutside", - "type": "uint32" - }, - { - "internalType": "bool", - "name": "initialized", - "type": "bool" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "feeGrowthGlobal0X128()": { - "details": "This value can overflow the uint256" - }, - "feeGrowthGlobal1X128()": { - "details": "This value can overflow the uint256" - }, - "liquidity()": { - "details": "This value has no relationship to the total liquidity across all ticks" - }, - "observations(uint256)": { - "details": "You most likely want to use #observe() instead of this method to get an observation as of some amount of time ago, rather than at a specific index in the array.", - "params": { - "index": "The element of the observations array to fetch" - }, - "returns": { - "blockTimestamp": "The timestamp of the observation, Returns tickCumulative the tick multiplied by seconds elapsed for the life of the pool as of the observation timestamp, Returns secondsPerLiquidityCumulativeX128 the seconds per in range liquidity for the life of the pool as of the observation timestamp, Returns initialized whether the observation has been initialized and the values are safe to use" - } - }, - "positions(bytes32)": { - "params": { - "key": "The position's key is a hash of a preimage composed by the owner, tickLower and tickUpper" - }, - "returns": { - "_liquidity": "The amount of liquidity in the position, Returns feeGrowthInside0LastX128 fee growth of token0 inside the tick range as of the last mint/burn/poke, Returns feeGrowthInside1LastX128 fee growth of token1 inside the tick range as of the last mint/burn/poke, Returns tokensOwed0 the computed amount of token0 owed to the position as of the last mint/burn/poke, Returns tokensOwed1 the computed amount of token1 owed to the position as of the last mint/burn/poke" - } - }, - "protocolFees()": { - "details": "Protocol fees will never exceed uint128 max in either token" - }, - "slot0()": { - "returns": { - "sqrtPriceX96": "The current price of the pool as a sqrt(token1/token0) Q64.96 value tick The current tick of the pool, i.e. according to the last tick transition that was run. This value may not always be equal to SqrtTickMath.getTickAtSqrtRatio(sqrtPriceX96) if the price is on a tick boundary. observationIndex The index of the last oracle observation that was written, observationCardinality The current maximum number of observations stored in the pool, observationCardinalityNext The next maximum number of observations, to be updated when the observation. feeProtocol The protocol fee for both tokens of the pool. Encoded as two 4 bit values, where the protocol fee of token1 is shifted 4 bits and the protocol fee of token0 is the lower 4 bits. Used as the denominator of a fraction of the swap fee, e.g. 4 means 1/4th of the swap fee. unlocked Whether the pool is currently locked to reentrancy" - } - }, - "ticks(int24)": { - "params": { - "tick": "The tick to look up" - }, - "returns": { - "liquidityGross": "the total amount of position liquidity that uses the pool either as tick lower or tick upper, liquidityNet how much liquidity changes when the pool price crosses the tick, feeGrowthOutside0X128 the fee growth on the other side of the tick from the current tick in token0, feeGrowthOutside1X128 the fee growth on the other side of the tick from the current tick in token1, tickCumulativeOutside the cumulative tick value on the other side of the tick from the current tick secondsPerLiquidityOutsideX128 the seconds spent per liquidity on the other side of the tick from the current tick, secondsOutside the seconds spent on the other side of the tick from the current tick, initialized Set to true if the tick is initialized, i.e. liquidityGross is greater than 0, otherwise equal to false. Outside values can only be used if the tick is initialized, i.e. if liquidityGross is greater than 0. In addition, these values are only relative and must be used only in comparison to previous snapshots for a specific position." - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "feeGrowthGlobal0X128()": { - "notice": "The fee growth as a Q128.128 fees of token0 collected per unit of liquidity for the entire life of the pool" - }, - "feeGrowthGlobal1X128()": { - "notice": "The fee growth as a Q128.128 fees of token1 collected per unit of liquidity for the entire life of the pool" - }, - "liquidity()": { - "notice": "The currently in range liquidity available to the pool" - }, - "observations(uint256)": { - "notice": "Returns data about a specific observation index" - }, - "positions(bytes32)": { - "notice": "Returns the information about a position by the position's key" - }, - "protocolFees()": { - "notice": "The amounts of token0 and token1 that are owed to the protocol" - }, - "slot0()": { - "notice": "The 0th storage slot in the pool stores many values, and is exposed as a single method to save gas when accessed externally." - }, - "tickBitmap(int16)": { - "notice": "Returns 256 packed tick initialized boolean values. See TickBitmap for more information" - }, - "ticks(int24)": { - "notice": "Look up information about a specific tick in the pool" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolState.sol": "IUniswapV3PoolState" - }, - "libraries": {} - }, - "sources": { - "node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolState.sol": { - "keccak256": "0x852dc1f5df7dcf7f11e7bb3eed79f0cea72ad4b25f6a9d2c35aafb48925fd49f", - "urls": [ - "bzz-raw://ed63907c38ff36b0e22bc9ffc53e791ea74f0d4f0e7c257fdfb5aaf8825b1f0f", - "dweb:/ipfs/QmSQrckghEjs6HVsA5GVgpNpZWvTXMY5eQLF7cN6deFeEg" - ], - "license": "GPL-2.0-or-later" - } - }, - "version": 1 - }, - "id": 34 -} +{ "abi": [ { "type": "function", "name": "feeGrowthGlobal0X128", "inputs": [], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "feeGrowthGlobal1X128", "inputs": [], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "liquidity", "inputs": [], "outputs": [ { "name": "", "type": "uint128", "internalType": "uint128" } ], "stateMutability": "view" }, { "type": "function", "name": "observations", "inputs": [ { "name": "index", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "blockTimestamp", "type": "uint32", "internalType": "uint32" }, { "name": "tickCumulative", "type": "int56", "internalType": "int56" }, { "name": "secondsPerLiquidityCumulativeX128", "type": "uint160", "internalType": "uint160" }, { "name": "initialized", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "positions", "inputs": [ { "name": "key", "type": "bytes32", "internalType": "bytes32" } ], "outputs": [ { "name": "_liquidity", "type": "uint128", "internalType": "uint128" }, { "name": "feeGrowthInside0LastX128", "type": "uint256", "internalType": "uint256" }, { "name": "feeGrowthInside1LastX128", "type": "uint256", "internalType": "uint256" }, { "name": "tokensOwed0", "type": "uint128", "internalType": "uint128" }, { "name": "tokensOwed1", "type": "uint128", "internalType": "uint128" } ], "stateMutability": "view" }, { "type": "function", "name": "protocolFees", "inputs": [], "outputs": [ { "name": "token0", "type": "uint128", "internalType": "uint128" }, { "name": "token1", "type": "uint128", "internalType": "uint128" } ], "stateMutability": "view" }, { "type": "function", "name": "slot0", "inputs": [], "outputs": [ { "name": "sqrtPriceX96", "type": "uint160", "internalType": "uint160" }, { "name": "tick", "type": "int24", "internalType": "int24" }, { "name": "observationIndex", "type": "uint16", "internalType": "uint16" }, { "name": "observationCardinality", "type": "uint16", "internalType": "uint16" }, { "name": "observationCardinalityNext", "type": "uint16", "internalType": "uint16" }, { "name": "feeProtocol", "type": "uint8", "internalType": "uint8" }, { "name": "unlocked", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "tickBitmap", "inputs": [ { "name": "wordPosition", "type": "int16", "internalType": "int16" } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "ticks", "inputs": [ { "name": "tick", "type": "int24", "internalType": "int24" } ], "outputs": [ { "name": "liquidityGross", "type": "uint128", "internalType": "uint128" }, { "name": "liquidityNet", "type": "int128", "internalType": "int128" }, { "name": "feeGrowthOutside0X128", "type": "uint256", "internalType": "uint256" }, { "name": "feeGrowthOutside1X128", "type": "uint256", "internalType": "uint256" }, { "name": "tickCumulativeOutside", "type": "int56", "internalType": "int56" }, { "name": "secondsPerLiquidityOutsideX128", "type": "uint160", "internalType": "uint160" }, { "name": "secondsOutside", "type": "uint32", "internalType": "uint32" }, { "name": "initialized", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "feeGrowthGlobal0X128()": "f3058399", "feeGrowthGlobal1X128()": "46141319", "liquidity()": "1a686502", "observations(uint256)": "252c09d7", "positions(bytes32)": "514ea4bf", "protocolFees()": "1ad8b03b", "slot0()": "3850c7bd", "tickBitmap(int16)": "5339c296", "ticks(int24)": "f30dba93" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.7.6+commit.7338295f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"feeGrowthGlobal0X128\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"feeGrowthGlobal1X128\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"liquidity\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"\",\"type\":\"uint128\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"observations\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"blockTimestamp\",\"type\":\"uint32\"},{\"internalType\":\"int56\",\"name\":\"tickCumulative\",\"type\":\"int56\"},{\"internalType\":\"uint160\",\"name\":\"secondsPerLiquidityCumulativeX128\",\"type\":\"uint160\"},{\"internalType\":\"bool\",\"name\":\"initialized\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"key\",\"type\":\"bytes32\"}],\"name\":\"positions\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"_liquidity\",\"type\":\"uint128\"},{\"internalType\":\"uint256\",\"name\":\"feeGrowthInside0LastX128\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"feeGrowthInside1LastX128\",\"type\":\"uint256\"},{\"internalType\":\"uint128\",\"name\":\"tokensOwed0\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"tokensOwed1\",\"type\":\"uint128\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"protocolFees\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"token0\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"token1\",\"type\":\"uint128\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"slot0\",\"outputs\":[{\"internalType\":\"uint160\",\"name\":\"sqrtPriceX96\",\"type\":\"uint160\"},{\"internalType\":\"int24\",\"name\":\"tick\",\"type\":\"int24\"},{\"internalType\":\"uint16\",\"name\":\"observationIndex\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"observationCardinality\",\"type\":\"uint16\"},{\"internalType\":\"uint16\",\"name\":\"observationCardinalityNext\",\"type\":\"uint16\"},{\"internalType\":\"uint8\",\"name\":\"feeProtocol\",\"type\":\"uint8\"},{\"internalType\":\"bool\",\"name\":\"unlocked\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int16\",\"name\":\"wordPosition\",\"type\":\"int16\"}],\"name\":\"tickBitmap\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int24\",\"name\":\"tick\",\"type\":\"int24\"}],\"name\":\"ticks\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"liquidityGross\",\"type\":\"uint128\"},{\"internalType\":\"int128\",\"name\":\"liquidityNet\",\"type\":\"int128\"},{\"internalType\":\"uint256\",\"name\":\"feeGrowthOutside0X128\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"feeGrowthOutside1X128\",\"type\":\"uint256\"},{\"internalType\":\"int56\",\"name\":\"tickCumulativeOutside\",\"type\":\"int56\"},{\"internalType\":\"uint160\",\"name\":\"secondsPerLiquidityOutsideX128\",\"type\":\"uint160\"},{\"internalType\":\"uint32\",\"name\":\"secondsOutside\",\"type\":\"uint32\"},{\"internalType\":\"bool\",\"name\":\"initialized\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"feeGrowthGlobal0X128()\":{\"details\":\"This value can overflow the uint256\"},\"feeGrowthGlobal1X128()\":{\"details\":\"This value can overflow the uint256\"},\"liquidity()\":{\"details\":\"This value has no relationship to the total liquidity across all ticks\"},\"observations(uint256)\":{\"details\":\"You most likely want to use #observe() instead of this method to get an observation as of some amount of time ago, rather than at a specific index in the array.\",\"params\":{\"index\":\"The element of the observations array to fetch\"},\"returns\":{\"blockTimestamp\":\"The timestamp of the observation, Returns tickCumulative the tick multiplied by seconds elapsed for the life of the pool as of the observation timestamp, Returns secondsPerLiquidityCumulativeX128 the seconds per in range liquidity for the life of the pool as of the observation timestamp, Returns initialized whether the observation has been initialized and the values are safe to use\"}},\"positions(bytes32)\":{\"params\":{\"key\":\"The position's key is a hash of a preimage composed by the owner, tickLower and tickUpper\"},\"returns\":{\"_liquidity\":\"The amount of liquidity in the position, Returns feeGrowthInside0LastX128 fee growth of token0 inside the tick range as of the last mint/burn/poke, Returns feeGrowthInside1LastX128 fee growth of token1 inside the tick range as of the last mint/burn/poke, Returns tokensOwed0 the computed amount of token0 owed to the position as of the last mint/burn/poke, Returns tokensOwed1 the computed amount of token1 owed to the position as of the last mint/burn/poke\"}},\"protocolFees()\":{\"details\":\"Protocol fees will never exceed uint128 max in either token\"},\"slot0()\":{\"returns\":{\"sqrtPriceX96\":\"The current price of the pool as a sqrt(token1/token0) Q64.96 value tick The current tick of the pool, i.e. according to the last tick transition that was run. This value may not always be equal to SqrtTickMath.getTickAtSqrtRatio(sqrtPriceX96) if the price is on a tick boundary. observationIndex The index of the last oracle observation that was written, observationCardinality The current maximum number of observations stored in the pool, observationCardinalityNext The next maximum number of observations, to be updated when the observation. feeProtocol The protocol fee for both tokens of the pool. Encoded as two 4 bit values, where the protocol fee of token1 is shifted 4 bits and the protocol fee of token0 is the lower 4 bits. Used as the denominator of a fraction of the swap fee, e.g. 4 means 1/4th of the swap fee. unlocked Whether the pool is currently locked to reentrancy\"}},\"ticks(int24)\":{\"params\":{\"tick\":\"The tick to look up\"},\"returns\":{\"liquidityGross\":\"the total amount of position liquidity that uses the pool either as tick lower or tick upper, liquidityNet how much liquidity changes when the pool price crosses the tick, feeGrowthOutside0X128 the fee growth on the other side of the tick from the current tick in token0, feeGrowthOutside1X128 the fee growth on the other side of the tick from the current tick in token1, tickCumulativeOutside the cumulative tick value on the other side of the tick from the current tick secondsPerLiquidityOutsideX128 the seconds spent per liquidity on the other side of the tick from the current tick, secondsOutside the seconds spent on the other side of the tick from the current tick, initialized Set to true if the tick is initialized, i.e. liquidityGross is greater than 0, otherwise equal to false. Outside values can only be used if the tick is initialized, i.e. if liquidityGross is greater than 0. In addition, these values are only relative and must be used only in comparison to previous snapshots for a specific position.\"}}},\"title\":\"Pool state that can change\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"feeGrowthGlobal0X128()\":{\"notice\":\"The fee growth as a Q128.128 fees of token0 collected per unit of liquidity for the entire life of the pool\"},\"feeGrowthGlobal1X128()\":{\"notice\":\"The fee growth as a Q128.128 fees of token1 collected per unit of liquidity for the entire life of the pool\"},\"liquidity()\":{\"notice\":\"The currently in range liquidity available to the pool\"},\"observations(uint256)\":{\"notice\":\"Returns data about a specific observation index\"},\"positions(bytes32)\":{\"notice\":\"Returns the information about a position by the position's key\"},\"protocolFees()\":{\"notice\":\"The amounts of token0 and token1 that are owed to the protocol\"},\"slot0()\":{\"notice\":\"The 0th storage slot in the pool stores many values, and is exposed as a single method to save gas when accessed externally.\"},\"tickBitmap(int16)\":{\"notice\":\"Returns 256 packed tick initialized boolean values. See TickBitmap for more information\"},\"ticks(int24)\":{\"notice\":\"Look up information about a specific tick in the pool\"}},\"notice\":\"These methods compose the pool's state, and can change with any frequency including multiple times per transaction\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolState.sol\":\"IUniswapV3PoolState\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolState.sol\":{\"keccak256\":\"0x852dc1f5df7dcf7f11e7bb3eed79f0cea72ad4b25f6a9d2c35aafb48925fd49f\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://ed63907c38ff36b0e22bc9ffc53e791ea74f0d4f0e7c257fdfb5aaf8825b1f0f\",\"dweb:/ipfs/QmSQrckghEjs6HVsA5GVgpNpZWvTXMY5eQLF7cN6deFeEg\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.7.6+commit.7338295f" }, "language": "Solidity", "output": { "abi": [ { "inputs": [], "stateMutability": "view", "type": "function", "name": "feeGrowthGlobal0X128", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "feeGrowthGlobal1X128", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "liquidity", "outputs": [ { "internalType": "uint128", "name": "", "type": "uint128" } ] }, { "inputs": [ { "internalType": "uint256", "name": "index", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "observations", "outputs": [ { "internalType": "uint32", "name": "blockTimestamp", "type": "uint32" }, { "internalType": "int56", "name": "tickCumulative", "type": "int56" }, { "internalType": "uint160", "name": "secondsPerLiquidityCumulativeX128", "type": "uint160" }, { "internalType": "bool", "name": "initialized", "type": "bool" } ] }, { "inputs": [ { "internalType": "bytes32", "name": "key", "type": "bytes32" } ], "stateMutability": "view", "type": "function", "name": "positions", "outputs": [ { "internalType": "uint128", "name": "_liquidity", "type": "uint128" }, { "internalType": "uint256", "name": "feeGrowthInside0LastX128", "type": "uint256" }, { "internalType": "uint256", "name": "feeGrowthInside1LastX128", "type": "uint256" }, { "internalType": "uint128", "name": "tokensOwed0", "type": "uint128" }, { "internalType": "uint128", "name": "tokensOwed1", "type": "uint128" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "protocolFees", "outputs": [ { "internalType": "uint128", "name": "token0", "type": "uint128" }, { "internalType": "uint128", "name": "token1", "type": "uint128" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "slot0", "outputs": [ { "internalType": "uint160", "name": "sqrtPriceX96", "type": "uint160" }, { "internalType": "int24", "name": "tick", "type": "int24" }, { "internalType": "uint16", "name": "observationIndex", "type": "uint16" }, { "internalType": "uint16", "name": "observationCardinality", "type": "uint16" }, { "internalType": "uint16", "name": "observationCardinalityNext", "type": "uint16" }, { "internalType": "uint8", "name": "feeProtocol", "type": "uint8" }, { "internalType": "bool", "name": "unlocked", "type": "bool" } ] }, { "inputs": [ { "internalType": "int16", "name": "wordPosition", "type": "int16" } ], "stateMutability": "view", "type": "function", "name": "tickBitmap", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "int24", "name": "tick", "type": "int24" } ], "stateMutability": "view", "type": "function", "name": "ticks", "outputs": [ { "internalType": "uint128", "name": "liquidityGross", "type": "uint128" }, { "internalType": "int128", "name": "liquidityNet", "type": "int128" }, { "internalType": "uint256", "name": "feeGrowthOutside0X128", "type": "uint256" }, { "internalType": "uint256", "name": "feeGrowthOutside1X128", "type": "uint256" }, { "internalType": "int56", "name": "tickCumulativeOutside", "type": "int56" }, { "internalType": "uint160", "name": "secondsPerLiquidityOutsideX128", "type": "uint160" }, { "internalType": "uint32", "name": "secondsOutside", "type": "uint32" }, { "internalType": "bool", "name": "initialized", "type": "bool" } ] } ], "devdoc": { "kind": "dev", "methods": { "feeGrowthGlobal0X128()": { "details": "This value can overflow the uint256" }, "feeGrowthGlobal1X128()": { "details": "This value can overflow the uint256" }, "liquidity()": { "details": "This value has no relationship to the total liquidity across all ticks" }, "observations(uint256)": { "details": "You most likely want to use #observe() instead of this method to get an observation as of some amount of time ago, rather than at a specific index in the array.", "params": { "index": "The element of the observations array to fetch" }, "returns": { "blockTimestamp": "The timestamp of the observation, Returns tickCumulative the tick multiplied by seconds elapsed for the life of the pool as of the observation timestamp, Returns secondsPerLiquidityCumulativeX128 the seconds per in range liquidity for the life of the pool as of the observation timestamp, Returns initialized whether the observation has been initialized and the values are safe to use" } }, "positions(bytes32)": { "params": { "key": "The position's key is a hash of a preimage composed by the owner, tickLower and tickUpper" }, "returns": { "_liquidity": "The amount of liquidity in the position, Returns feeGrowthInside0LastX128 fee growth of token0 inside the tick range as of the last mint/burn/poke, Returns feeGrowthInside1LastX128 fee growth of token1 inside the tick range as of the last mint/burn/poke, Returns tokensOwed0 the computed amount of token0 owed to the position as of the last mint/burn/poke, Returns tokensOwed1 the computed amount of token1 owed to the position as of the last mint/burn/poke" } }, "protocolFees()": { "details": "Protocol fees will never exceed uint128 max in either token" }, "slot0()": { "returns": { "sqrtPriceX96": "The current price of the pool as a sqrt(token1/token0) Q64.96 value tick The current tick of the pool, i.e. according to the last tick transition that was run. This value may not always be equal to SqrtTickMath.getTickAtSqrtRatio(sqrtPriceX96) if the price is on a tick boundary. observationIndex The index of the last oracle observation that was written, observationCardinality The current maximum number of observations stored in the pool, observationCardinalityNext The next maximum number of observations, to be updated when the observation. feeProtocol The protocol fee for both tokens of the pool. Encoded as two 4 bit values, where the protocol fee of token1 is shifted 4 bits and the protocol fee of token0 is the lower 4 bits. Used as the denominator of a fraction of the swap fee, e.g. 4 means 1/4th of the swap fee. unlocked Whether the pool is currently locked to reentrancy" } }, "ticks(int24)": { "params": { "tick": "The tick to look up" }, "returns": { "liquidityGross": "the total amount of position liquidity that uses the pool either as tick lower or tick upper, liquidityNet how much liquidity changes when the pool price crosses the tick, feeGrowthOutside0X128 the fee growth on the other side of the tick from the current tick in token0, feeGrowthOutside1X128 the fee growth on the other side of the tick from the current tick in token1, tickCumulativeOutside the cumulative tick value on the other side of the tick from the current tick secondsPerLiquidityOutsideX128 the seconds spent per liquidity on the other side of the tick from the current tick, secondsOutside the seconds spent on the other side of the tick from the current tick, initialized Set to true if the tick is initialized, i.e. liquidityGross is greater than 0, otherwise equal to false. Outside values can only be used if the tick is initialized, i.e. if liquidityGross is greater than 0. In addition, these values are only relative and must be used only in comparison to previous snapshots for a specific position." } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "feeGrowthGlobal0X128()": { "notice": "The fee growth as a Q128.128 fees of token0 collected per unit of liquidity for the entire life of the pool" }, "feeGrowthGlobal1X128()": { "notice": "The fee growth as a Q128.128 fees of token1 collected per unit of liquidity for the entire life of the pool" }, "liquidity()": { "notice": "The currently in range liquidity available to the pool" }, "observations(uint256)": { "notice": "Returns data about a specific observation index" }, "positions(bytes32)": { "notice": "Returns the information about a position by the position's key" }, "protocolFees()": { "notice": "The amounts of token0 and token1 that are owed to the protocol" }, "slot0()": { "notice": "The 0th storage slot in the pool stores many values, and is exposed as a single method to save gas when accessed externally." }, "tickBitmap(int16)": { "notice": "Returns 256 packed tick initialized boolean values. See TickBitmap for more information" }, "ticks(int24)": { "notice": "Look up information about a specific tick in the pool" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolState.sol": "IUniswapV3PoolState" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolState.sol": { "keccak256": "0x852dc1f5df7dcf7f11e7bb3eed79f0cea72ad4b25f6a9d2c35aafb48925fd49f", "urls": [ "bzz-raw://ed63907c38ff36b0e22bc9ffc53e791ea74f0d4f0e7c257fdfb5aaf8825b1f0f", "dweb:/ipfs/QmSQrckghEjs6HVsA5GVgpNpZWvTXMY5eQLF7cN6deFeEg" ], "license": "GPL-2.0-or-later" } }, "version": 1 }, "id": 34 } diff --git a/eth_defi/abi/enzyme/IUniswapV3SwapRouter.json b/eth_defi/abi/enzyme/IUniswapV3SwapRouter.json index f2e2e4cf..e415c7f5 100644 --- a/eth_defi/abi/enzyme/IUniswapV3SwapRouter.json +++ b/eth_defi/abi/enzyme/IUniswapV3SwapRouter.json @@ -1,174 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "components": [ - { - "internalType": "bytes", - "name": "path", - "type": "bytes" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "deadline", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amountIn", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amountOutMinimum", - "type": "uint256" - } - ], - "internalType": "struct IUniswapV3SwapRouter.ExactInputParams", - "name": "", - "type": "tuple" - } - ], - "name": "exactInput", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "payable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "exactInput((bytes,address,uint256,uint256,uint256))": "c04b8d59" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"path\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountIn\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountOutMinimum\",\"type\":\"uint256\"}],\"internalType\":\"struct IUniswapV3SwapRouter.ExactInputParams\",\"name\":\"\",\"type\":\"tuple\"}],\"name\":\"exactInput\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"Minimal interface for our interactions with Uniswap V3's Router\",\"kind\":\"dev\",\"methods\":{},\"title\":\"IUniswapV3Router Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/IUniswapV3SwapRouter.sol\":\"IUniswapV3SwapRouter\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/IUniswapV3SwapRouter.sol\":{\"keccak256\":\"0xf8fc3ec7698a5cbc1ac63d3602c005590485a85083bd2d6e3d0c65feb0b26374\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://89e988352337d15b7f4a818dd9d1b21b732a8338de89422d1ed4b7dcfd4c092a\",\"dweb:/ipfs/QmWBGhjqA6HNZJianHBTW1CdqGtSFvTTYN3yR3uU2c4Z3N\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "struct IUniswapV3SwapRouter.ExactInputParams", - "name": "", - "type": "tuple", - "components": [ - { - "internalType": "bytes", - "name": "path", - "type": "bytes" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "deadline", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amountIn", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amountOutMinimum", - "type": "uint256" - } - ] - } - ], - "stateMutability": "payable", - "type": "function", - "name": "exactInput", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/interfaces/IUniswapV3SwapRouter.sol": "IUniswapV3SwapRouter" - }, - "libraries": {} - }, - "sources": { - "contracts/release/interfaces/IUniswapV3SwapRouter.sol": { - "keccak256": "0xf8fc3ec7698a5cbc1ac63d3602c005590485a85083bd2d6e3d0c65feb0b26374", - "urls": [ - "bzz-raw://89e988352337d15b7f4a818dd9d1b21b732a8338de89422d1ed4b7dcfd4c092a", - "dweb:/ipfs/QmWBGhjqA6HNZJianHBTW1CdqGtSFvTTYN3yR3uU2c4Z3N" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 342 -} +{ "abi": [ { "type": "function", "name": "exactInput", "inputs": [ { "name": "", "type": "tuple", "internalType": "struct IUniswapV3SwapRouter.ExactInputParams", "components": [ { "name": "path", "type": "bytes", "internalType": "bytes" }, { "name": "recipient", "type": "address", "internalType": "address" }, { "name": "deadline", "type": "uint256", "internalType": "uint256" }, { "name": "amountIn", "type": "uint256", "internalType": "uint256" }, { "name": "amountOutMinimum", "type": "uint256", "internalType": "uint256" } ] } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "payable" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "exactInput((bytes,address,uint256,uint256,uint256))": "c04b8d59" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"components\":[{\"internalType\":\"bytes\",\"name\":\"path\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountIn\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amountOutMinimum\",\"type\":\"uint256\"}],\"internalType\":\"struct IUniswapV3SwapRouter.ExactInputParams\",\"name\":\"\",\"type\":\"tuple\"}],\"name\":\"exactInput\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"Minimal interface for our interactions with Uniswap V3's Router\",\"kind\":\"dev\",\"methods\":{},\"title\":\"IUniswapV3Router Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/IUniswapV3SwapRouter.sol\":\"IUniswapV3SwapRouter\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/IUniswapV3SwapRouter.sol\":{\"keccak256\":\"0xf8fc3ec7698a5cbc1ac63d3602c005590485a85083bd2d6e3d0c65feb0b26374\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://89e988352337d15b7f4a818dd9d1b21b732a8338de89422d1ed4b7dcfd4c092a\",\"dweb:/ipfs/QmWBGhjqA6HNZJianHBTW1CdqGtSFvTTYN3yR3uU2c4Z3N\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "struct IUniswapV3SwapRouter.ExactInputParams", "name": "", "type": "tuple", "components": [ { "internalType": "bytes", "name": "path", "type": "bytes" }, { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "deadline", "type": "uint256" }, { "internalType": "uint256", "name": "amountIn", "type": "uint256" }, { "internalType": "uint256", "name": "amountOutMinimum", "type": "uint256" } ] } ], "stateMutability": "payable", "type": "function", "name": "exactInput", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/interfaces/IUniswapV3SwapRouter.sol": "IUniswapV3SwapRouter" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/interfaces/IUniswapV3SwapRouter.sol": { "keccak256": "0xf8fc3ec7698a5cbc1ac63d3602c005590485a85083bd2d6e3d0c65feb0b26374", "urls": [ "bzz-raw://89e988352337d15b7f4a818dd9d1b21b732a8338de89422d1ed4b7dcfd4c092a", "dweb:/ipfs/QmWBGhjqA6HNZJianHBTW1CdqGtSFvTTYN3yR3uU2c4Z3N" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 342 } diff --git a/eth_defi/abi/enzyme/IValueInterpreter.json b/eth_defi/abi/enzyme/IValueInterpreter.json index ea25a65e..2987777d 100644 --- a/eth_defi/abi/enzyme/IValueInterpreter.json +++ b/eth_defi/abi/enzyme/IValueInterpreter.json @@ -1,316 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "calcCanonicalAssetValue", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "calcCanonicalAssetsTotalValue", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "isSupportedAsset", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "isSupportedDerivativeAsset", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "isSupportedPrimitiveAsset", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "calcCanonicalAssetValue(address,uint256,address)": "4c67e106", - "calcCanonicalAssetsTotalValue(address[],uint256[],address)": "ae6f52ad", - "isSupportedAsset(address)": "9be918e6", - "isSupportedDerivativeAsset(address)": "64b01dc1", - "isSupportedPrimitiveAsset(address)": "c496f8e8" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"calcCanonicalAssetValue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"calcCanonicalAssetsTotalValue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"isSupportedAsset\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"isSupportedDerivativeAsset\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"isSupportedPrimitiveAsset\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IValueInterpreter interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Interface for ValueInterpreter\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol\":\"IValueInterpreter\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol\":{\"keccak256\":\"0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965\",\"dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "calcCanonicalAssetValue", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "calcCanonicalAssetsTotalValue", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "isSupportedAsset", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "isSupportedDerivativeAsset", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "isSupportedPrimitiveAsset", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol": "IValueInterpreter" - }, - "libraries": {} - }, - "sources": { - "contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol": { - "keccak256": "0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794", - "urls": [ - "bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965", - "dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 264 -} +{ "abi": [ { "type": "function", "name": "calcCanonicalAssetValue", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "calcCanonicalAssetsTotalValue", "inputs": [ { "name": "", "type": "address[]", "internalType": "address[]" }, { "name": "", "type": "uint256[]", "internalType": "uint256[]" }, { "name": "", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "isSupportedAsset", "inputs": [ { "name": "", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "isSupportedDerivativeAsset", "inputs": [ { "name": "", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "isSupportedPrimitiveAsset", "inputs": [ { "name": "", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "calcCanonicalAssetValue(address,uint256,address)": "4c67e106", "calcCanonicalAssetsTotalValue(address[],uint256[],address)": "ae6f52ad", "isSupportedAsset(address)": "9be918e6", "isSupportedDerivativeAsset(address)": "64b01dc1", "isSupportedPrimitiveAsset(address)": "c496f8e8" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"calcCanonicalAssetValue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"calcCanonicalAssetsTotalValue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"isSupportedAsset\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"isSupportedDerivativeAsset\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"isSupportedPrimitiveAsset\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IValueInterpreter interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Interface for ValueInterpreter\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol\":\"IValueInterpreter\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol\":{\"keccak256\":\"0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965\",\"dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "calcCanonicalAssetValue", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address[]", "name": "", "type": "address[]" }, { "internalType": "uint256[]", "name": "", "type": "uint256[]" }, { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "calcCanonicalAssetsTotalValue", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "isSupportedAsset", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "isSupportedDerivativeAsset", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "isSupportedPrimitiveAsset", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol": "IValueInterpreter" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol": { "keccak256": "0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794", "urls": [ "bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965", "dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 264 } diff --git a/eth_defi/abi/enzyme/IValueInterpreterUniswapV3LiquidityPosition.json b/eth_defi/abi/enzyme/IValueInterpreterUniswapV3LiquidityPosition.json index c3ec742f..8a22c66e 100644 --- a/eth_defi/abi/enzyme/IValueInterpreterUniswapV3LiquidityPosition.json +++ b/eth_defi/abi/enzyme/IValueInterpreterUniswapV3LiquidityPosition.json @@ -1,257 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "calcCanonicalAssetValue", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "isSupportedAsset", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "isSupportedDerivativeAsset", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "isSupportedPrimitiveAsset", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "calcCanonicalAssetValue(address,uint256,address)": "4c67e106", - "isSupportedAsset(address)": "9be918e6", - "isSupportedDerivativeAsset(address)": "64b01dc1", - "isSupportedPrimitiveAsset(address)": "c496f8e8" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.7.6+commit.7338295f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"calcCanonicalAssetValue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"isSupportedAsset\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"isSupportedDerivativeAsset\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"isSupportedPrimitiveAsset\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IValueInterpreterUniswapV3LiquidityPosition interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/uniswap-v3-liquidity/interfaces/IValueInterpreterUniswapV3LiquidityPosition.sol\":\"IValueInterpreterUniswapV3LiquidityPosition\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/external-position-manager/external-positions/uniswap-v3-liquidity/interfaces/IValueInterpreterUniswapV3LiquidityPosition.sol\":{\"keccak256\":\"0xbf42ff85d5f25f5185ff5a48cfbe187ac29629917ebb3571a1830ab5ec94137b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://e82522498a30164ec606b5fce18ae0f480bc2433c531fe469af21b58086fd760\",\"dweb:/ipfs/QmWitHqQr6bGNRAMiMdciuRZTxYFav2LbcRrXmE4B4vnmz\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.7.6+commit.7338295f" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "calcCanonicalAssetValue", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "isSupportedAsset", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "isSupportedDerivativeAsset", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "isSupportedPrimitiveAsset", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/external-position-manager/external-positions/uniswap-v3-liquidity/interfaces/IValueInterpreterUniswapV3LiquidityPosition.sol": "IValueInterpreterUniswapV3LiquidityPosition" - }, - "libraries": {} - }, - "sources": { - "contracts/release/extensions/external-position-manager/external-positions/uniswap-v3-liquidity/interfaces/IValueInterpreterUniswapV3LiquidityPosition.sol": { - "keccak256": "0xbf42ff85d5f25f5185ff5a48cfbe187ac29629917ebb3571a1830ab5ec94137b", - "urls": [ - "bzz-raw://e82522498a30164ec606b5fce18ae0f480bc2433c531fe469af21b58086fd760", - "dweb:/ipfs/QmWitHqQr6bGNRAMiMdciuRZTxYFav2LbcRrXmE4B4vnmz" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 7 -} +{ "abi": [ { "type": "function", "name": "calcCanonicalAssetValue", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "isSupportedAsset", "inputs": [ { "name": "", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "isSupportedDerivativeAsset", "inputs": [ { "name": "", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "isSupportedPrimitiveAsset", "inputs": [ { "name": "", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "calcCanonicalAssetValue(address,uint256,address)": "4c67e106", "isSupportedAsset(address)": "9be918e6", "isSupportedDerivativeAsset(address)": "64b01dc1", "isSupportedPrimitiveAsset(address)": "c496f8e8" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.7.6+commit.7338295f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"calcCanonicalAssetValue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"isSupportedAsset\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"isSupportedDerivativeAsset\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"isSupportedPrimitiveAsset\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IValueInterpreterUniswapV3LiquidityPosition interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/uniswap-v3-liquidity/interfaces/IValueInterpreterUniswapV3LiquidityPosition.sol\":\"IValueInterpreterUniswapV3LiquidityPosition\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/external-position-manager/external-positions/uniswap-v3-liquidity/interfaces/IValueInterpreterUniswapV3LiquidityPosition.sol\":{\"keccak256\":\"0xbf42ff85d5f25f5185ff5a48cfbe187ac29629917ebb3571a1830ab5ec94137b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://e82522498a30164ec606b5fce18ae0f480bc2433c531fe469af21b58086fd760\",\"dweb:/ipfs/QmWitHqQr6bGNRAMiMdciuRZTxYFav2LbcRrXmE4B4vnmz\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.7.6+commit.7338295f" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "calcCanonicalAssetValue", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "isSupportedAsset", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "isSupportedDerivativeAsset", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "isSupportedPrimitiveAsset", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/external-position-manager/external-positions/uniswap-v3-liquidity/interfaces/IValueInterpreterUniswapV3LiquidityPosition.sol": "IValueInterpreterUniswapV3LiquidityPosition" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/extensions/external-position-manager/external-positions/uniswap-v3-liquidity/interfaces/IValueInterpreterUniswapV3LiquidityPosition.sol": { "keccak256": "0xbf42ff85d5f25f5185ff5a48cfbe187ac29629917ebb3571a1830ab5ec94137b", "urls": [ "bzz-raw://e82522498a30164ec606b5fce18ae0f480bc2433c531fe469af21b58086fd760", "dweb:/ipfs/QmWitHqQr6bGNRAMiMdciuRZTxYFav2LbcRrXmE4B4vnmz" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 7 } diff --git a/eth_defi/abi/enzyme/IVault.json b/eth_defi/abi/enzyme/IVault.json index 029f627f..a03ad9ff 100644 --- a/eth_defi/abi/enzyme/IVault.json +++ b/eth_defi/abi/enzyme/IVault.json @@ -1,1021 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "addTrackedAsset", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "burnShares", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "buyBackProtocolFeeShares", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "callOnContract", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "canManageAssets", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_who", - "type": "address" - } - ], - "name": "canMigrate", - "outputs": [ - { - "internalType": "bool", - "name": "canMigrate_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "canRelayCalls", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getAccessor", - "outputs": [ - { - "internalType": "address", - "name": "accessor_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getActiveExternalPositions", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getCreator", - "outputs": [ - { - "internalType": "address", - "name": "creator_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "getExternalPositionLibForType", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getMigrator", - "outputs": [ - { - "internalType": "address", - "name": "migrator_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "owner_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getTrackedAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - }, - { - "internalType": "address", - "name": "_accessor", - "type": "address" - }, - { - "internalType": "string", - "name": "_fundName", - "type": "string" - } - ], - "name": "init", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "isActiveExternalPosition", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "isTrackedAsset", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "mintShares", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "payProtocolFee", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "enum IVault.VaultAction", - "name": "", - "type": "uint8" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "receiveValidatedVaultAction", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_nextAccessor", - "type": "address" - } - ], - "name": "setAccessor", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "setAccessorForFundReconfiguration", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "name": "setSymbol", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_nextVaultLib", - "type": "address" - } - ], - "name": "setVaultLib", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "sharesAreFreelyTransferable", - "outputs": [ - { - "internalType": "bool", - "name": "sharesAreFreelyTransferable_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "transferShares", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "withdrawAssetTo", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "addTrackedAsset(address)": "4ef0762e", - "burnShares(address,uint256)": "ee7a7c04", - "buyBackProtocolFeeShares(uint256,uint256,uint256)": "1ff46bfa", - "callOnContract(address,bytes)": "a90cce4b", - "canManageAssets(address)": "714ca2d1", - "canMigrate(address)": "7de07cea", - "canRelayCalls(address)": "36861889", - "getAccessor()": "5a53e348", - "getActiveExternalPositions()": "b8b7f147", - "getCreator()": "0ee2cb10", - "getExternalPositionLibForType(uint256)": "75d8bb0e", - "getMigrator()": "cd63d578", - "getOwner()": "893d20e8", - "getTrackedAssets()": "c4b97370", - "init(address,address,string)": "5c9a6d37", - "isActiveExternalPosition(address)": "712bd102", - "isTrackedAsset(address)": "797ed339", - "mintShares(address,uint256)": "528c198a", - "payProtocolFee()": "d5c20fa2", - "receiveValidatedVaultAction(uint8,bytes)": "24e60012", - "setAccessor(address)": "ab9253ac", - "setAccessorForFundReconfiguration(address)": "740f2b5a", - "setSymbol(string)": "b84c8246", - "setVaultLib(address)": "4140d607", - "sharesAreFreelyTransferable()": "28c2ad9c", - "transferShares(address,address,uint256)": "bfc77beb", - "withdrawAssetTo(address,address,uint256)": "495d753c" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"addTrackedAsset\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"burnShares\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"buyBackProtocolFeeShares\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"callOnContract\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"canManageAssets\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_who\",\"type\":\"address\"}],\"name\":\"canMigrate\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"canMigrate_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"canRelayCalls\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAccessor\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"accessor_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getActiveExternalPositions\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCreator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"creator_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"getExternalPositionLibForType\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMigrator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"migrator_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getTrackedAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_accessor\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_fundName\",\"type\":\"string\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"isActiveExternalPosition\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"isTrackedAsset\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"mintShares\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"payProtocolFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IVault.VaultAction\",\"name\":\"\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"receiveValidatedVaultAction\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nextAccessor\",\"type\":\"address\"}],\"name\":\"setAccessor\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"setAccessorForFundReconfiguration\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"setSymbol\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nextVaultLib\",\"type\":\"address\"}],\"name\":\"setVaultLib\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"sharesAreFreelyTransferable\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"sharesAreFreelyTransferable_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"transferShares\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"withdrawAssetTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IVault Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/core/fund/vault/IVault.sol\":\"IVault\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/vault/interfaces/IExternalPositionVault.sol\":{\"keccak256\":\"0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d\",\"dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8\"]},\"contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol\":{\"keccak256\":\"0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb\",\"dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU\"]},\"contracts/persistent/vault/interfaces/IMigratableVault.sol\":{\"keccak256\":\"0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6\",\"dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs\"]},\"contracts/persistent/vault/interfaces/IVaultCore.sol\":{\"keccak256\":\"0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd\",\"dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr\"]},\"contracts/release/core/fund/vault/IVault.sol\":{\"keccak256\":\"0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599\",\"dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "addTrackedAsset" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "burnShares" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "buyBackProtocolFeeShares" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "callOnContract", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "canManageAssets", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_who", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "canMigrate", - "outputs": [ - { - "internalType": "bool", - "name": "canMigrate_", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "canRelayCalls", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getAccessor", - "outputs": [ - { - "internalType": "address", - "name": "accessor_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getActiveExternalPositions", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getCreator", - "outputs": [ - { - "internalType": "address", - "name": "creator_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getExternalPositionLibForType", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getMigrator", - "outputs": [ - { - "internalType": "address", - "name": "migrator_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "owner_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getTrackedAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - }, - { - "internalType": "address", - "name": "_accessor", - "type": "address" - }, - { - "internalType": "string", - "name": "_fundName", - "type": "string" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "init" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "isActiveExternalPosition", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "isTrackedAsset", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "mintShares" - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "payProtocolFee" - }, - { - "inputs": [ - { - "internalType": "enum IVault.VaultAction", - "name": "", - "type": "uint8" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "receiveValidatedVaultAction" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_nextAccessor", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setAccessor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setAccessorForFundReconfiguration" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setSymbol" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_nextVaultLib", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setVaultLib" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "sharesAreFreelyTransferable", - "outputs": [ - { - "internalType": "bool", - "name": "sharesAreFreelyTransferable_", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "transferShares" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "withdrawAssetTo" - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/core/fund/vault/IVault.sol": "IVault" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/vault/interfaces/IExternalPositionVault.sol": { - "keccak256": "0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6", - "urls": [ - "bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d", - "dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol": { - "keccak256": "0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0", - "urls": [ - "bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb", - "dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IMigratableVault.sol": { - "keccak256": "0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238", - "urls": [ - "bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6", - "dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IVaultCore.sol": { - "keccak256": "0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80", - "urls": [ - "bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd", - "dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/vault/IVault.sol": { - "keccak256": "0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd", - "urls": [ - "bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599", - "dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 82 -} +{ "abi": [ { "type": "function", "name": "addTrackedAsset", "inputs": [ { "name": "", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "burnShares", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "buyBackProtocolFeeShares", "inputs": [ { "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "callOnContract", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [ { "name": "", "type": "bytes", "internalType": "bytes" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "canManageAssets", "inputs": [ { "name": "", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "canMigrate", "inputs": [ { "name": "_who", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "canMigrate_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "canRelayCalls", "inputs": [ { "name": "", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "getAccessor", "inputs": [], "outputs": [ { "name": "accessor_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getActiveExternalPositions", "inputs": [], "outputs": [ { "name": "", "type": "address[]", "internalType": "address[]" } ], "stateMutability": "view" }, { "type": "function", "name": "getCreator", "inputs": [], "outputs": [ { "name": "creator_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getExternalPositionLibForType", "inputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getMigrator", "inputs": [], "outputs": [ { "name": "migrator_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getOwner", "inputs": [], "outputs": [ { "name": "owner_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getTrackedAssets", "inputs": [], "outputs": [ { "name": "", "type": "address[]", "internalType": "address[]" } ], "stateMutability": "view" }, { "type": "function", "name": "init", "inputs": [ { "name": "_owner", "type": "address", "internalType": "address" }, { "name": "_accessor", "type": "address", "internalType": "address" }, { "name": "_fundName", "type": "string", "internalType": "string" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "isActiveExternalPosition", "inputs": [ { "name": "", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "isTrackedAsset", "inputs": [ { "name": "", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "mintShares", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "payProtocolFee", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "receiveValidatedVaultAction", "inputs": [ { "name": "", "type": "uint8", "internalType": "enum IVault.VaultAction" }, { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setAccessor", "inputs": [ { "name": "_nextAccessor", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setAccessorForFundReconfiguration", "inputs": [ { "name": "", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setSymbol", "inputs": [ { "name": "", "type": "string", "internalType": "string" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setVaultLib", "inputs": [ { "name": "_nextVaultLib", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "sharesAreFreelyTransferable", "inputs": [], "outputs": [ { "name": "sharesAreFreelyTransferable_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "transferShares", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "withdrawAssetTo", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "addTrackedAsset(address)": "4ef0762e", "burnShares(address,uint256)": "ee7a7c04", "buyBackProtocolFeeShares(uint256,uint256,uint256)": "1ff46bfa", "callOnContract(address,bytes)": "a90cce4b", "canManageAssets(address)": "714ca2d1", "canMigrate(address)": "7de07cea", "canRelayCalls(address)": "36861889", "getAccessor()": "5a53e348", "getActiveExternalPositions()": "b8b7f147", "getCreator()": "0ee2cb10", "getExternalPositionLibForType(uint256)": "75d8bb0e", "getMigrator()": "cd63d578", "getOwner()": "893d20e8", "getTrackedAssets()": "c4b97370", "init(address,address,string)": "5c9a6d37", "isActiveExternalPosition(address)": "712bd102", "isTrackedAsset(address)": "797ed339", "mintShares(address,uint256)": "528c198a", "payProtocolFee()": "d5c20fa2", "receiveValidatedVaultAction(uint8,bytes)": "24e60012", "setAccessor(address)": "ab9253ac", "setAccessorForFundReconfiguration(address)": "740f2b5a", "setSymbol(string)": "b84c8246", "setVaultLib(address)": "4140d607", "sharesAreFreelyTransferable()": "28c2ad9c", "transferShares(address,address,uint256)": "bfc77beb", "withdrawAssetTo(address,address,uint256)": "495d753c" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"addTrackedAsset\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"burnShares\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"buyBackProtocolFeeShares\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"callOnContract\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"canManageAssets\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_who\",\"type\":\"address\"}],\"name\":\"canMigrate\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"canMigrate_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"canRelayCalls\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAccessor\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"accessor_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getActiveExternalPositions\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCreator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"creator_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"getExternalPositionLibForType\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMigrator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"migrator_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getTrackedAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_accessor\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_fundName\",\"type\":\"string\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"isActiveExternalPosition\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"isTrackedAsset\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"mintShares\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"payProtocolFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IVault.VaultAction\",\"name\":\"\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"receiveValidatedVaultAction\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nextAccessor\",\"type\":\"address\"}],\"name\":\"setAccessor\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"setAccessorForFundReconfiguration\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"setSymbol\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nextVaultLib\",\"type\":\"address\"}],\"name\":\"setVaultLib\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"sharesAreFreelyTransferable\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"sharesAreFreelyTransferable_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"transferShares\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"withdrawAssetTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IVault Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/core/fund/vault/IVault.sol\":\"IVault\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/vault/interfaces/IExternalPositionVault.sol\":{\"keccak256\":\"0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d\",\"dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8\"]},\"contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol\":{\"keccak256\":\"0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb\",\"dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU\"]},\"contracts/persistent/vault/interfaces/IMigratableVault.sol\":{\"keccak256\":\"0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6\",\"dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs\"]},\"contracts/persistent/vault/interfaces/IVaultCore.sol\":{\"keccak256\":\"0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd\",\"dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr\"]},\"contracts/release/core/fund/vault/IVault.sol\":{\"keccak256\":\"0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599\",\"dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "addTrackedAsset" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "burnShares" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "buyBackProtocolFeeShares" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "callOnContract", "outputs": [ { "internalType": "bytes", "name": "", "type": "bytes" } ] }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "canManageAssets", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "_who", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "canMigrate", "outputs": [ { "internalType": "bool", "name": "canMigrate_", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "canRelayCalls", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getAccessor", "outputs": [ { "internalType": "address", "name": "accessor_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getActiveExternalPositions", "outputs": [ { "internalType": "address[]", "name": "", "type": "address[]" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getCreator", "outputs": [ { "internalType": "address", "name": "creator_", "type": "address" } ] }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "getExternalPositionLibForType", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getMigrator", "outputs": [ { "internalType": "address", "name": "migrator_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getOwner", "outputs": [ { "internalType": "address", "name": "owner_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getTrackedAssets", "outputs": [ { "internalType": "address[]", "name": "", "type": "address[]" } ] }, { "inputs": [ { "internalType": "address", "name": "_owner", "type": "address" }, { "internalType": "address", "name": "_accessor", "type": "address" }, { "internalType": "string", "name": "_fundName", "type": "string" } ], "stateMutability": "nonpayable", "type": "function", "name": "init" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "isActiveExternalPosition", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "isTrackedAsset", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "mintShares" }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "payProtocolFee" }, { "inputs": [ { "internalType": "enum IVault.VaultAction", "name": "", "type": "uint8" }, { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "receiveValidatedVaultAction" }, { "inputs": [ { "internalType": "address", "name": "_nextAccessor", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "setAccessor" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "setAccessorForFundReconfiguration" }, { "inputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "nonpayable", "type": "function", "name": "setSymbol" }, { "inputs": [ { "internalType": "address", "name": "_nextVaultLib", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "setVaultLib" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "sharesAreFreelyTransferable", "outputs": [ { "internalType": "bool", "name": "sharesAreFreelyTransferable_", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "address", "name": "", "type": "address" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "transferShares" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "address", "name": "", "type": "address" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "withdrawAssetTo" } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/core/fund/vault/IVault.sol": "IVault" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/vault/interfaces/IExternalPositionVault.sol": { "keccak256": "0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6", "urls": [ "bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d", "dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol": { "keccak256": "0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0", "urls": [ "bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb", "dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IMigratableVault.sol": { "keccak256": "0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238", "urls": [ "bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6", "dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IVaultCore.sol": { "keccak256": "0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80", "urls": [ "bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd", "dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr" ], "license": "GPL-3.0" }, "contracts/release/core/fund/vault/IVault.sol": { "keccak256": "0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd", "urls": [ "bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599", "dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 82 } diff --git a/eth_defi/abi/enzyme/IVaultCore.json b/eth_defi/abi/enzyme/IVaultCore.json index 108bedad..824b0ad0 100644 --- a/eth_defi/abi/enzyme/IVaultCore.json +++ b/eth_defi/abi/enzyme/IVaultCore.json @@ -1,189 +1 @@ -{ - "abi": [ - { - "inputs": [], - "name": "getAccessor", - "outputs": [ - { - "internalType": "address", - "name": "accessor_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getCreator", - "outputs": [ - { - "internalType": "address", - "name": "creator_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getMigrator", - "outputs": [ - { - "internalType": "address", - "name": "migrator_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "owner_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "getAccessor()": "5a53e348", - "getCreator()": "0ee2cb10", - "getMigrator()": "cd63d578", - "getOwner()": "893d20e8" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"getAccessor\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"accessor_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCreator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"creator_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMigrator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"migrator_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"DO NOT EDIT CONTRACT\",\"kind\":\"dev\",\"methods\":{},\"title\":\"IVaultCore interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Interface for getters of core vault storage\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/vault/interfaces/IVaultCore.sol\":\"IVaultCore\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/vault/interfaces/IVaultCore.sol\":{\"keccak256\":\"0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd\",\"dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getAccessor", - "outputs": [ - { - "internalType": "address", - "name": "accessor_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getCreator", - "outputs": [ - { - "internalType": "address", - "name": "creator_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getMigrator", - "outputs": [ - { - "internalType": "address", - "name": "migrator_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "owner_", - "type": "address" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/persistent/vault/interfaces/IVaultCore.sol": "IVaultCore" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/vault/interfaces/IVaultCore.sol": { - "keccak256": "0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80", - "urls": [ - "bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd", - "dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 73 -} +{ "abi": [ { "type": "function", "name": "getAccessor", "inputs": [], "outputs": [ { "name": "accessor_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getCreator", "inputs": [], "outputs": [ { "name": "creator_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getMigrator", "inputs": [], "outputs": [ { "name": "migrator_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getOwner", "inputs": [], "outputs": [ { "name": "owner_", "type": "address", "internalType": "address" } ], "stateMutability": "view" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "getAccessor()": "5a53e348", "getCreator()": "0ee2cb10", "getMigrator()": "cd63d578", "getOwner()": "893d20e8" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"getAccessor\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"accessor_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCreator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"creator_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMigrator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"migrator_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"DO NOT EDIT CONTRACT\",\"kind\":\"dev\",\"methods\":{},\"title\":\"IVaultCore interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Interface for getters of core vault storage\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/vault/interfaces/IVaultCore.sol\":\"IVaultCore\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/vault/interfaces/IVaultCore.sol\":{\"keccak256\":\"0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd\",\"dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [], "stateMutability": "view", "type": "function", "name": "getAccessor", "outputs": [ { "internalType": "address", "name": "accessor_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getCreator", "outputs": [ { "internalType": "address", "name": "creator_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getMigrator", "outputs": [ { "internalType": "address", "name": "migrator_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getOwner", "outputs": [ { "internalType": "address", "name": "owner_", "type": "address" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/persistent/vault/interfaces/IVaultCore.sol": "IVaultCore" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/vault/interfaces/IVaultCore.sol": { "keccak256": "0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80", "urls": [ "bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd", "dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 73 } diff --git a/eth_defi/abi/enzyme/IVotiumMultiMerkleStash.json b/eth_defi/abi/enzyme/IVotiumMultiMerkleStash.json index c9f6f594..96702fb6 100644 --- a/eth_defi/abi/enzyme/IVotiumMultiMerkleStash.json +++ b/eth_defi/abi/enzyme/IVotiumMultiMerkleStash.json @@ -1,161 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "index", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "bytes32[]", - "name": "merkleProof", - "type": "bytes32[]" - } - ], - "internalType": "struct IVotiumMultiMerkleStash.ClaimParam[]", - "name": "", - "type": "tuple[]" - } - ], - "name": "claimMulti", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "claimMulti(address,(address,uint256,uint256,bytes32[])[])": "20ce64de" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes32[]\",\"name\":\"merkleProof\",\"type\":\"bytes32[]\"}],\"internalType\":\"struct IVotiumMultiMerkleStash.ClaimParam[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"name\":\"claimMulti\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IVotiumMultiMerkleStash Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/IVotiumMultiMerkleStash.sol\":\"IVotiumMultiMerkleStash\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/IVotiumMultiMerkleStash.sol\":{\"keccak256\":\"0x457bd31cabe3ea8427546bf14112f50a866b5eae3b2e1089a64acda8d6a7bb29\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://fae1df3cf61c2841987b8227a6c1cb7d0a487f62bcc4fce6d5ac40387dedf517\",\"dweb:/ipfs/QmRv4t9nK1tQ7fWnLeyCYCe8fzCSo2E1PnA9o3TPUBMVeW\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "struct IVotiumMultiMerkleStash.ClaimParam[]", - "name": "", - "type": "tuple[]", - "components": [ - { - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "index", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - }, - { - "internalType": "bytes32[]", - "name": "merkleProof", - "type": "bytes32[]" - } - ] - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "claimMulti" - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/interfaces/IVotiumMultiMerkleStash.sol": "IVotiumMultiMerkleStash" - }, - "libraries": {} - }, - "sources": { - "contracts/release/interfaces/IVotiumMultiMerkleStash.sol": { - "keccak256": "0x457bd31cabe3ea8427546bf14112f50a866b5eae3b2e1089a64acda8d6a7bb29", - "urls": [ - "bzz-raw://fae1df3cf61c2841987b8227a6c1cb7d0a487f62bcc4fce6d5ac40387dedf517", - "dweb:/ipfs/QmRv4t9nK1tQ7fWnLeyCYCe8fzCSo2E1PnA9o3TPUBMVeW" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 343 -} +{ "abi": [ { "type": "function", "name": "claimMulti", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "tuple[]", "internalType": "struct IVotiumMultiMerkleStash.ClaimParam[]", "components": [ { "name": "token", "type": "address", "internalType": "address" }, { "name": "index", "type": "uint256", "internalType": "uint256" }, { "name": "amount", "type": "uint256", "internalType": "uint256" }, { "name": "merkleProof", "type": "bytes32[]", "internalType": "bytes32[]" } ] } ], "outputs": [], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "claimMulti(address,(address,uint256,uint256,bytes32[])[])": "20ce64de" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"bytes32[]\",\"name\":\"merkleProof\",\"type\":\"bytes32[]\"}],\"internalType\":\"struct IVotiumMultiMerkleStash.ClaimParam[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"name\":\"claimMulti\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IVotiumMultiMerkleStash Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/IVotiumMultiMerkleStash.sol\":\"IVotiumMultiMerkleStash\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/IVotiumMultiMerkleStash.sol\":{\"keccak256\":\"0x457bd31cabe3ea8427546bf14112f50a866b5eae3b2e1089a64acda8d6a7bb29\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://fae1df3cf61c2841987b8227a6c1cb7d0a487f62bcc4fce6d5ac40387dedf517\",\"dweb:/ipfs/QmRv4t9nK1tQ7fWnLeyCYCe8fzCSo2E1PnA9o3TPUBMVeW\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "struct IVotiumMultiMerkleStash.ClaimParam[]", "name": "", "type": "tuple[]", "components": [ { "internalType": "address", "name": "token", "type": "address" }, { "internalType": "uint256", "name": "index", "type": "uint256" }, { "internalType": "uint256", "name": "amount", "type": "uint256" }, { "internalType": "bytes32[]", "name": "merkleProof", "type": "bytes32[]" } ] } ], "stateMutability": "nonpayable", "type": "function", "name": "claimMulti" } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/interfaces/IVotiumMultiMerkleStash.sol": "IVotiumMultiMerkleStash" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/interfaces/IVotiumMultiMerkleStash.sol": { "keccak256": "0x457bd31cabe3ea8427546bf14112f50a866b5eae3b2e1089a64acda8d6a7bb29", "urls": [ "bzz-raw://fae1df3cf61c2841987b8227a6c1cb7d0a487f62bcc4fce6d5ac40387dedf517", "dweb:/ipfs/QmRv4t9nK1tQ7fWnLeyCYCe8fzCSo2E1PnA9o3TPUBMVeW" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 343 } diff --git a/eth_defi/abi/enzyme/IWETH.json b/eth_defi/abi/enzyme/IWETH.json index c9cd68dd..5ce7d349 100644 --- a/eth_defi/abi/enzyme/IWETH.json +++ b/eth_defi/abi/enzyme/IWETH.json @@ -1,121 +1 @@ -{ - "abi": [ - { - "inputs": [], - "name": "deposit", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "withdraw", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "deposit()": "d0e30db0", - "withdraw(uint256)": "2e1a7d4d" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"deposit\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"withdraw\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IWETH Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/IWETH.sol\":\"IWETH\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/IWETH.sol\":{\"keccak256\":\"0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2\",\"dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [], - "stateMutability": "payable", - "type": "function", - "name": "deposit" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "withdraw" - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/interfaces/IWETH.sol": "IWETH" - }, - "libraries": {} - }, - "sources": { - "contracts/release/interfaces/IWETH.sol": { - "keccak256": "0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2", - "urls": [ - "bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2", - "dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 344 -} +{ "abi": [ { "type": "function", "name": "deposit", "inputs": [], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "withdraw", "inputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "deposit()": "d0e30db0", "withdraw(uint256)": "2e1a7d4d" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"deposit\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"withdraw\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IWETH Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/IWETH.sol\":\"IWETH\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/IWETH.sol\":{\"keccak256\":\"0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2\",\"dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [], "stateMutability": "payable", "type": "function", "name": "deposit" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "withdraw" } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/interfaces/IWETH.sol": "IWETH" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/interfaces/IWETH.sol": { "keccak256": "0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2", "urls": [ "bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2", "dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 344 } diff --git a/eth_defi/abi/enzyme/IYearnVaultV2.json b/eth_defi/abi/enzyme/IYearnVaultV2.json index b76d8596..83c5c265 100644 --- a/eth_defi/abi/enzyme/IYearnVaultV2.json +++ b/eth_defi/abi/enzyme/IYearnVaultV2.json @@ -1,243 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "deposit", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "pricePerShare", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "token", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "withdraw", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "deposit(uint256,address)": "6e553f65", - "pricePerShare()": "99530b06", - "token()": "fc0c546a", - "withdraw(uint256,address,uint256)": "e63697c8" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"deposit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pricePerShare\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"withdraw\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IYearnVaultV2 Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Minimal interface for our interactions with Yearn Vault V2 contracts\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/IYearnVaultV2.sol\":\"IYearnVaultV2\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/IYearnVaultV2.sol\":{\"keccak256\":\"0x3a8d57cff75a6738ed9d6492a89a293c1aa8a9b1ef5aa37835cbe3859b57c3d1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://73ca467c06368dcf27a61fd1c976ac09d477bf63931846606dc8a41552677f87\",\"dweb:/ipfs/QmP62v6Qz59exdjwsW2xiu5Rbg1LR2k1wcPHqZjQsnik2u\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "deposit", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "pricePerShare", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "token", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "withdraw", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/interfaces/IYearnVaultV2.sol": "IYearnVaultV2" - }, - "libraries": {} - }, - "sources": { - "contracts/release/interfaces/IYearnVaultV2.sol": { - "keccak256": "0x3a8d57cff75a6738ed9d6492a89a293c1aa8a9b1ef5aa37835cbe3859b57c3d1", - "urls": [ - "bzz-raw://73ca467c06368dcf27a61fd1c976ac09d477bf63931846606dc8a41552677f87", - "dweb:/ipfs/QmP62v6Qz59exdjwsW2xiu5Rbg1LR2k1wcPHqZjQsnik2u" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 345 -} +{ "abi": [ { "type": "function", "name": "deposit", "inputs": [ { "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "pricePerShare", "inputs": [], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "token", "inputs": [], "outputs": [ { "name": "", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "withdraw", "inputs": [ { "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "deposit(uint256,address)": "6e553f65", "pricePerShare()": "99530b06", "token()": "fc0c546a", "withdraw(uint256,address,uint256)": "e63697c8" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"deposit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pricePerShare\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"withdraw\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IYearnVaultV2 Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Minimal interface for our interactions with Yearn Vault V2 contracts\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/IYearnVaultV2.sol\":\"IYearnVaultV2\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/IYearnVaultV2.sol\":{\"keccak256\":\"0x3a8d57cff75a6738ed9d6492a89a293c1aa8a9b1ef5aa37835cbe3859b57c3d1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://73ca467c06368dcf27a61fd1c976ac09d477bf63931846606dc8a41552677f87\",\"dweb:/ipfs/QmP62v6Qz59exdjwsW2xiu5Rbg1LR2k1wcPHqZjQsnik2u\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "deposit", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "pricePerShare", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "token", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ] }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "address", "name": "", "type": "address" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "withdraw", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/interfaces/IYearnVaultV2.sol": "IYearnVaultV2" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/interfaces/IYearnVaultV2.sol": { "keccak256": "0x3a8d57cff75a6738ed9d6492a89a293c1aa8a9b1ef5aa37835cbe3859b57c3d1", "urls": [ "bzz-raw://73ca467c06368dcf27a61fd1c976ac09d477bf63931846606dc8a41552677f87", "dweb:/ipfs/QmP62v6Qz59exdjwsW2xiu5Rbg1LR2k1wcPHqZjQsnik2u" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 345 } diff --git a/eth_defi/abi/enzyme/IYearnVaultV2Registry.json b/eth_defi/abi/enzyme/IYearnVaultV2Registry.json index 815983aa..6ed40f15 100644 --- a/eth_defi/abi/enzyme/IYearnVaultV2Registry.json +++ b/eth_defi/abi/enzyme/IYearnVaultV2Registry.json @@ -1,169 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "numVaults", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "vaults", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "numVaults(address)": "f9c7bba5", - "vaults(address,uint256)": "7bbfc69e" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"numVaults\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"vaults\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IYearnVaultV2Registry Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Minimal interface for our interactions with the Yearn Vault V2 registry\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/IYearnVaultV2Registry.sol\":\"IYearnVaultV2Registry\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/IYearnVaultV2Registry.sol\":{\"keccak256\":\"0xca387afa8b2158544765c86be1cc71ced66573fefb9cb545a92beef7860876d8\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://0f97ba821c58e057b0bbea0e7957b0e37040f0b6eb63a92747f2b12430b5847d\",\"dweb:/ipfs/QmQKdh27zS7KjumTwCTwq5eXfnFHAfZe7HWosEDx1mJfEq\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "numVaults", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "vaults", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/interfaces/IYearnVaultV2Registry.sol": "IYearnVaultV2Registry" - }, - "libraries": {} - }, - "sources": { - "contracts/release/interfaces/IYearnVaultV2Registry.sol": { - "keccak256": "0xca387afa8b2158544765c86be1cc71ced66573fefb9cb545a92beef7860876d8", - "urls": [ - "bzz-raw://0f97ba821c58e057b0bbea0e7957b0e37040f0b6eb63a92747f2b12430b5847d", - "dweb:/ipfs/QmQKdh27zS7KjumTwCTwq5eXfnFHAfZe7HWosEDx1mJfEq" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 346 -} +{ "abi": [ { "type": "function", "name": "numVaults", "inputs": [ { "name": "", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "vaults", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "address", "internalType": "address" } ], "stateMutability": "view" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "numVaults(address)": "f9c7bba5", "vaults(address,uint256)": "7bbfc69e" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"numVaults\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"vaults\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IYearnVaultV2Registry Interface\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Minimal interface for our interactions with the Yearn Vault V2 registry\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/IYearnVaultV2Registry.sol\":\"IYearnVaultV2Registry\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/IYearnVaultV2Registry.sol\":{\"keccak256\":\"0xca387afa8b2158544765c86be1cc71ced66573fefb9cb545a92beef7860876d8\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://0f97ba821c58e057b0bbea0e7957b0e37040f0b6eb63a92747f2b12430b5847d\",\"dweb:/ipfs/QmQKdh27zS7KjumTwCTwq5eXfnFHAfZe7HWosEDx1mJfEq\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "numVaults", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "vaults", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/interfaces/IYearnVaultV2Registry.sol": "IYearnVaultV2Registry" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/interfaces/IYearnVaultV2Registry.sol": { "keccak256": "0xca387afa8b2158544765c86be1cc71ced66573fefb9cb545a92beef7860876d8", "urls": [ "bzz-raw://0f97ba821c58e057b0bbea0e7957b0e37040f0b6eb63a92747f2b12430b5847d", "dweb:/ipfs/QmQKdh27zS7KjumTwCTwq5eXfnFHAfZe7HWosEDx1mJfEq" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 346 } diff --git a/eth_defi/abi/enzyme/IZeroExV2.json b/eth_defi/abi/enzyme/IZeroExV2.json index 9f9dee31..bc64a1a4 100644 --- a/eth_defi/abi/enzyme/IZeroExV2.json +++ b/eth_defi/abi/enzyme/IZeroExV2.json @@ -1,904 +1 @@ -{ - "abi": [ - { - "inputs": [], - "name": "ZRX_ASSET_DATA", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "address", - "name": "makerAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "takerAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "feeRecipientAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "senderAddress", - "type": "address" - }, - { - "internalType": "uint256", - "name": "makerAssetAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "takerAssetAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "makerFee", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "takerFee", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "expirationTimeSeconds", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "salt", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "makerAssetData", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "takerAssetData", - "type": "bytes" - } - ], - "internalType": "struct IZeroExV2.Order", - "name": "", - "type": "tuple" - } - ], - "name": "cancelOrder", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "name": "cancelled", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "address", - "name": "makerAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "takerAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "feeRecipientAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "senderAddress", - "type": "address" - }, - { - "internalType": "uint256", - "name": "makerAssetAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "takerAssetAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "makerFee", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "takerFee", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "expirationTimeSeconds", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "salt", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "makerAssetData", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "takerAssetData", - "type": "bytes" - } - ], - "internalType": "struct IZeroExV2.Order", - "name": "", - "type": "tuple" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "fillOrder", - "outputs": [ - { - "components": [ - { - "internalType": "uint256", - "name": "makerAssetFilledAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "takerAssetFilledAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "makerFeePaid", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "takerFeePaid", - "type": "uint256" - } - ], - "internalType": "struct IZeroExV2.FillResults", - "name": "", - "type": "tuple" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "name": "filled", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "name": "getAssetProxy", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "components": [ - { - "internalType": "address", - "name": "makerAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "takerAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "feeRecipientAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "senderAddress", - "type": "address" - }, - { - "internalType": "uint256", - "name": "makerAssetAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "takerAssetAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "makerFee", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "takerFee", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "expirationTimeSeconds", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "salt", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "makerAssetData", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "takerAssetData", - "type": "bytes" - } - ], - "internalType": "struct IZeroExV2.Order", - "name": "", - "type": "tuple" - } - ], - "name": "getOrderInfo", - "outputs": [ - { - "components": [ - { - "internalType": "uint8", - "name": "orderStatus", - "type": "uint8" - }, - { - "internalType": "bytes32", - "name": "orderHash", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "orderTakerAssetFilledAmount", - "type": "uint256" - } - ], - "internalType": "struct IZeroExV2.OrderInfo", - "name": "", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "isValidSignature", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "preSign", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "ZRX_ASSET_DATA()": "db123b1a", - "cancelOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes))": "d46b02c3", - "cancelled(bytes32)": "2ac12622", - "fillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)": "b4be83d5", - "filled(bytes32)": "288cdc91", - "getAssetProxy(bytes4)": "60704108", - "getOrderInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes))": "c75e0a81", - "isValidSignature(bytes32,address,bytes)": "93634702", - "preSign(bytes32,address,bytes)": "3683ef8e" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"ZRX_ASSET_DATA\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"makerAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"takerAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"feeRecipientAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"senderAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"makerAssetAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"takerAssetAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"makerFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"takerFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"expirationTimeSeconds\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"salt\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"makerAssetData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"takerAssetData\",\"type\":\"bytes\"}],\"internalType\":\"struct IZeroExV2.Order\",\"name\":\"\",\"type\":\"tuple\"}],\"name\":\"cancelOrder\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"cancelled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"makerAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"takerAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"feeRecipientAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"senderAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"makerAssetAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"takerAssetAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"makerFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"takerFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"expirationTimeSeconds\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"salt\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"makerAssetData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"takerAssetData\",\"type\":\"bytes\"}],\"internalType\":\"struct IZeroExV2.Order\",\"name\":\"\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"fillOrder\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"makerAssetFilledAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"takerAssetFilledAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"makerFeePaid\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"takerFeePaid\",\"type\":\"uint256\"}],\"internalType\":\"struct IZeroExV2.FillResults\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"filled\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"name\":\"getAssetProxy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"makerAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"takerAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"feeRecipientAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"senderAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"makerAssetAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"takerAssetAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"makerFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"takerFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"expirationTimeSeconds\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"salt\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"makerAssetData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"takerAssetData\",\"type\":\"bytes\"}],\"internalType\":\"struct IZeroExV2.Order\",\"name\":\"\",\"type\":\"tuple\"}],\"name\":\"getOrderInfo\",\"outputs\":[{\"components\":[{\"internalType\":\"uint8\",\"name\":\"orderStatus\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"orderHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"orderTakerAssetFilledAmount\",\"type\":\"uint256\"}],\"internalType\":\"struct IZeroExV2.OrderInfo\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"isValidSignature\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"preSign\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Minimal interface for our interactions with the ZeroEx Exchange contract\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/IZeroExV2.sol\":\"IZeroExV2\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/IZeroExV2.sol\":{\"keccak256\":\"0x0c07eab651b8ce3000ddcfd1cad14f16b76a8d032a3bdbf25e17dad8b26fa125\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f675908202e1fb7e22905163eead8d9eaefce731a7d288841126a00e2177bcdc\",\"dweb:/ipfs/QmRUoZdkEvxaK2Ma6UeGHMR2PdrMkuiujioc59W8rYqKJu\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "ZRX_ASSET_DATA", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ] - }, - { - "inputs": [ - { - "internalType": "struct IZeroExV2.Order", - "name": "", - "type": "tuple", - "components": [ - { - "internalType": "address", - "name": "makerAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "takerAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "feeRecipientAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "senderAddress", - "type": "address" - }, - { - "internalType": "uint256", - "name": "makerAssetAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "takerAssetAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "makerFee", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "takerFee", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "expirationTimeSeconds", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "salt", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "makerAssetData", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "takerAssetData", - "type": "bytes" - } - ] - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "cancelOrder" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function", - "name": "cancelled", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "struct IZeroExV2.Order", - "name": "", - "type": "tuple", - "components": [ - { - "internalType": "address", - "name": "makerAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "takerAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "feeRecipientAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "senderAddress", - "type": "address" - }, - { - "internalType": "uint256", - "name": "makerAssetAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "takerAssetAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "makerFee", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "takerFee", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "expirationTimeSeconds", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "salt", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "makerAssetData", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "takerAssetData", - "type": "bytes" - } - ] - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "fillOrder", - "outputs": [ - { - "internalType": "struct IZeroExV2.FillResults", - "name": "", - "type": "tuple", - "components": [ - { - "internalType": "uint256", - "name": "makerAssetFilledAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "takerAssetFilledAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "makerFeePaid", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "takerFeePaid", - "type": "uint256" - } - ] - } - ] - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function", - "name": "filled", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getAssetProxy", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "struct IZeroExV2.Order", - "name": "", - "type": "tuple", - "components": [ - { - "internalType": "address", - "name": "makerAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "takerAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "feeRecipientAddress", - "type": "address" - }, - { - "internalType": "address", - "name": "senderAddress", - "type": "address" - }, - { - "internalType": "uint256", - "name": "makerAssetAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "takerAssetAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "makerFee", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "takerFee", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "expirationTimeSeconds", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "salt", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "makerAssetData", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "takerAssetData", - "type": "bytes" - } - ] - } - ], - "stateMutability": "view", - "type": "function", - "name": "getOrderInfo", - "outputs": [ - { - "internalType": "struct IZeroExV2.OrderInfo", - "name": "", - "type": "tuple", - "components": [ - { - "internalType": "uint8", - "name": "orderStatus", - "type": "uint8" - }, - { - "internalType": "bytes32", - "name": "orderHash", - "type": "bytes32" - }, - { - "internalType": "uint256", - "name": "orderTakerAssetFilledAmount", - "type": "uint256" - } - ] - } - ] - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "view", - "type": "function", - "name": "isValidSignature", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "preSign" - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/interfaces/IZeroExV2.sol": "IZeroExV2" - }, - "libraries": {} - }, - "sources": { - "contracts/release/interfaces/IZeroExV2.sol": { - "keccak256": "0x0c07eab651b8ce3000ddcfd1cad14f16b76a8d032a3bdbf25e17dad8b26fa125", - "urls": [ - "bzz-raw://f675908202e1fb7e22905163eead8d9eaefce731a7d288841126a00e2177bcdc", - "dweb:/ipfs/QmRUoZdkEvxaK2Ma6UeGHMR2PdrMkuiujioc59W8rYqKJu" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 347 -} +{ "abi": [ { "type": "function", "name": "ZRX_ASSET_DATA", "inputs": [], "outputs": [ { "name": "", "type": "bytes", "internalType": "bytes" } ], "stateMutability": "view" }, { "type": "function", "name": "cancelOrder", "inputs": [ { "name": "", "type": "tuple", "internalType": "struct IZeroExV2.Order", "components": [ { "name": "makerAddress", "type": "address", "internalType": "address" }, { "name": "takerAddress", "type": "address", "internalType": "address" }, { "name": "feeRecipientAddress", "type": "address", "internalType": "address" }, { "name": "senderAddress", "type": "address", "internalType": "address" }, { "name": "makerAssetAmount", "type": "uint256", "internalType": "uint256" }, { "name": "takerAssetAmount", "type": "uint256", "internalType": "uint256" }, { "name": "makerFee", "type": "uint256", "internalType": "uint256" }, { "name": "takerFee", "type": "uint256", "internalType": "uint256" }, { "name": "expirationTimeSeconds", "type": "uint256", "internalType": "uint256" }, { "name": "salt", "type": "uint256", "internalType": "uint256" }, { "name": "makerAssetData", "type": "bytes", "internalType": "bytes" }, { "name": "takerAssetData", "type": "bytes", "internalType": "bytes" } ] } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "cancelled", "inputs": [ { "name": "", "type": "bytes32", "internalType": "bytes32" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "fillOrder", "inputs": [ { "name": "", "type": "tuple", "internalType": "struct IZeroExV2.Order", "components": [ { "name": "makerAddress", "type": "address", "internalType": "address" }, { "name": "takerAddress", "type": "address", "internalType": "address" }, { "name": "feeRecipientAddress", "type": "address", "internalType": "address" }, { "name": "senderAddress", "type": "address", "internalType": "address" }, { "name": "makerAssetAmount", "type": "uint256", "internalType": "uint256" }, { "name": "takerAssetAmount", "type": "uint256", "internalType": "uint256" }, { "name": "makerFee", "type": "uint256", "internalType": "uint256" }, { "name": "takerFee", "type": "uint256", "internalType": "uint256" }, { "name": "expirationTimeSeconds", "type": "uint256", "internalType": "uint256" }, { "name": "salt", "type": "uint256", "internalType": "uint256" }, { "name": "makerAssetData", "type": "bytes", "internalType": "bytes" }, { "name": "takerAssetData", "type": "bytes", "internalType": "bytes" } ] }, { "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [ { "name": "", "type": "tuple", "internalType": "struct IZeroExV2.FillResults", "components": [ { "name": "makerAssetFilledAmount", "type": "uint256", "internalType": "uint256" }, { "name": "takerAssetFilledAmount", "type": "uint256", "internalType": "uint256" }, { "name": "makerFeePaid", "type": "uint256", "internalType": "uint256" }, { "name": "takerFeePaid", "type": "uint256", "internalType": "uint256" } ] } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "filled", "inputs": [ { "name": "", "type": "bytes32", "internalType": "bytes32" } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "getAssetProxy", "inputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "outputs": [ { "name": "", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getOrderInfo", "inputs": [ { "name": "", "type": "tuple", "internalType": "struct IZeroExV2.Order", "components": [ { "name": "makerAddress", "type": "address", "internalType": "address" }, { "name": "takerAddress", "type": "address", "internalType": "address" }, { "name": "feeRecipientAddress", "type": "address", "internalType": "address" }, { "name": "senderAddress", "type": "address", "internalType": "address" }, { "name": "makerAssetAmount", "type": "uint256", "internalType": "uint256" }, { "name": "takerAssetAmount", "type": "uint256", "internalType": "uint256" }, { "name": "makerFee", "type": "uint256", "internalType": "uint256" }, { "name": "takerFee", "type": "uint256", "internalType": "uint256" }, { "name": "expirationTimeSeconds", "type": "uint256", "internalType": "uint256" }, { "name": "salt", "type": "uint256", "internalType": "uint256" }, { "name": "makerAssetData", "type": "bytes", "internalType": "bytes" }, { "name": "takerAssetData", "type": "bytes", "internalType": "bytes" } ] } ], "outputs": [ { "name": "", "type": "tuple", "internalType": "struct IZeroExV2.OrderInfo", "components": [ { "name": "orderStatus", "type": "uint8", "internalType": "uint8" }, { "name": "orderHash", "type": "bytes32", "internalType": "bytes32" }, { "name": "orderTakerAssetFilledAmount", "type": "uint256", "internalType": "uint256" } ] } ], "stateMutability": "view" }, { "type": "function", "name": "isValidSignature", "inputs": [ { "name": "", "type": "bytes32", "internalType": "bytes32" }, { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "preSign", "inputs": [ { "name": "", "type": "bytes32", "internalType": "bytes32" }, { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "ZRX_ASSET_DATA()": "db123b1a", "cancelOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes))": "d46b02c3", "cancelled(bytes32)": "2ac12622", "fillOrder((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes),uint256,bytes)": "b4be83d5", "filled(bytes32)": "288cdc91", "getAssetProxy(bytes4)": "60704108", "getOrderInfo((address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes))": "c75e0a81", "isValidSignature(bytes32,address,bytes)": "93634702", "preSign(bytes32,address,bytes)": "3683ef8e" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"ZRX_ASSET_DATA\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"makerAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"takerAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"feeRecipientAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"senderAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"makerAssetAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"takerAssetAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"makerFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"takerFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"expirationTimeSeconds\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"salt\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"makerAssetData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"takerAssetData\",\"type\":\"bytes\"}],\"internalType\":\"struct IZeroExV2.Order\",\"name\":\"\",\"type\":\"tuple\"}],\"name\":\"cancelOrder\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"cancelled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"makerAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"takerAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"feeRecipientAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"senderAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"makerAssetAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"takerAssetAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"makerFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"takerFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"expirationTimeSeconds\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"salt\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"makerAssetData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"takerAssetData\",\"type\":\"bytes\"}],\"internalType\":\"struct IZeroExV2.Order\",\"name\":\"\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"fillOrder\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"makerAssetFilledAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"takerAssetFilledAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"makerFeePaid\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"takerFeePaid\",\"type\":\"uint256\"}],\"internalType\":\"struct IZeroExV2.FillResults\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"filled\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"name\":\"getAssetProxy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"makerAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"takerAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"feeRecipientAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"senderAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"makerAssetAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"takerAssetAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"makerFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"takerFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"expirationTimeSeconds\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"salt\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"makerAssetData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"takerAssetData\",\"type\":\"bytes\"}],\"internalType\":\"struct IZeroExV2.Order\",\"name\":\"\",\"type\":\"tuple\"}],\"name\":\"getOrderInfo\",\"outputs\":[{\"components\":[{\"internalType\":\"uint8\",\"name\":\"orderStatus\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"orderHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"orderTakerAssetFilledAmount\",\"type\":\"uint256\"}],\"internalType\":\"struct IZeroExV2.OrderInfo\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"isValidSignature\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"preSign\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Minimal interface for our interactions with the ZeroEx Exchange contract\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/interfaces/IZeroExV2.sol\":\"IZeroExV2\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/interfaces/IZeroExV2.sol\":{\"keccak256\":\"0x0c07eab651b8ce3000ddcfd1cad14f16b76a8d032a3bdbf25e17dad8b26fa125\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f675908202e1fb7e22905163eead8d9eaefce731a7d288841126a00e2177bcdc\",\"dweb:/ipfs/QmRUoZdkEvxaK2Ma6UeGHMR2PdrMkuiujioc59W8rYqKJu\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [], "stateMutability": "view", "type": "function", "name": "ZRX_ASSET_DATA", "outputs": [ { "internalType": "bytes", "name": "", "type": "bytes" } ] }, { "inputs": [ { "internalType": "struct IZeroExV2.Order", "name": "", "type": "tuple", "components": [ { "internalType": "address", "name": "makerAddress", "type": "address" }, { "internalType": "address", "name": "takerAddress", "type": "address" }, { "internalType": "address", "name": "feeRecipientAddress", "type": "address" }, { "internalType": "address", "name": "senderAddress", "type": "address" }, { "internalType": "uint256", "name": "makerAssetAmount", "type": "uint256" }, { "internalType": "uint256", "name": "takerAssetAmount", "type": "uint256" }, { "internalType": "uint256", "name": "makerFee", "type": "uint256" }, { "internalType": "uint256", "name": "takerFee", "type": "uint256" }, { "internalType": "uint256", "name": "expirationTimeSeconds", "type": "uint256" }, { "internalType": "uint256", "name": "salt", "type": "uint256" }, { "internalType": "bytes", "name": "makerAssetData", "type": "bytes" }, { "internalType": "bytes", "name": "takerAssetData", "type": "bytes" } ] } ], "stateMutability": "nonpayable", "type": "function", "name": "cancelOrder" }, { "inputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function", "name": "cancelled", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [ { "internalType": "struct IZeroExV2.Order", "name": "", "type": "tuple", "components": [ { "internalType": "address", "name": "makerAddress", "type": "address" }, { "internalType": "address", "name": "takerAddress", "type": "address" }, { "internalType": "address", "name": "feeRecipientAddress", "type": "address" }, { "internalType": "address", "name": "senderAddress", "type": "address" }, { "internalType": "uint256", "name": "makerAssetAmount", "type": "uint256" }, { "internalType": "uint256", "name": "takerAssetAmount", "type": "uint256" }, { "internalType": "uint256", "name": "makerFee", "type": "uint256" }, { "internalType": "uint256", "name": "takerFee", "type": "uint256" }, { "internalType": "uint256", "name": "expirationTimeSeconds", "type": "uint256" }, { "internalType": "uint256", "name": "salt", "type": "uint256" }, { "internalType": "bytes", "name": "makerAssetData", "type": "bytes" }, { "internalType": "bytes", "name": "takerAssetData", "type": "bytes" } ] }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "fillOrder", "outputs": [ { "internalType": "struct IZeroExV2.FillResults", "name": "", "type": "tuple", "components": [ { "internalType": "uint256", "name": "makerAssetFilledAmount", "type": "uint256" }, { "internalType": "uint256", "name": "takerAssetFilledAmount", "type": "uint256" }, { "internalType": "uint256", "name": "makerFeePaid", "type": "uint256" }, { "internalType": "uint256", "name": "takerFeePaid", "type": "uint256" } ] } ] }, { "inputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function", "name": "filled", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ], "stateMutability": "view", "type": "function", "name": "getAssetProxy", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ] }, { "inputs": [ { "internalType": "struct IZeroExV2.Order", "name": "", "type": "tuple", "components": [ { "internalType": "address", "name": "makerAddress", "type": "address" }, { "internalType": "address", "name": "takerAddress", "type": "address" }, { "internalType": "address", "name": "feeRecipientAddress", "type": "address" }, { "internalType": "address", "name": "senderAddress", "type": "address" }, { "internalType": "uint256", "name": "makerAssetAmount", "type": "uint256" }, { "internalType": "uint256", "name": "takerAssetAmount", "type": "uint256" }, { "internalType": "uint256", "name": "makerFee", "type": "uint256" }, { "internalType": "uint256", "name": "takerFee", "type": "uint256" }, { "internalType": "uint256", "name": "expirationTimeSeconds", "type": "uint256" }, { "internalType": "uint256", "name": "salt", "type": "uint256" }, { "internalType": "bytes", "name": "makerAssetData", "type": "bytes" }, { "internalType": "bytes", "name": "takerAssetData", "type": "bytes" } ] } ], "stateMutability": "view", "type": "function", "name": "getOrderInfo", "outputs": [ { "internalType": "struct IZeroExV2.OrderInfo", "name": "", "type": "tuple", "components": [ { "internalType": "uint8", "name": "orderStatus", "type": "uint8" }, { "internalType": "bytes32", "name": "orderHash", "type": "bytes32" }, { "internalType": "uint256", "name": "orderTakerAssetFilledAmount", "type": "uint256" } ] } ] }, { "inputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" }, { "internalType": "address", "name": "", "type": "address" }, { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "view", "type": "function", "name": "isValidSignature", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" }, { "internalType": "address", "name": "", "type": "address" }, { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "preSign" } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/interfaces/IZeroExV2.sol": "IZeroExV2" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/interfaces/IZeroExV2.sol": { "keccak256": "0x0c07eab651b8ce3000ddcfd1cad14f16b76a8d032a3bdbf25e17dad8b26fa125", "urls": [ "bzz-raw://f675908202e1fb7e22905163eead8d9eaefce731a7d288841126a00e2177bcdc", "dweb:/ipfs/QmRUoZdkEvxaK2Ma6UeGHMR2PdrMkuiujioc59W8rYqKJu" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 347 } diff --git a/eth_defi/abi/enzyme/IdleAdapter.json b/eth_defi/abi/enzyme/IdleAdapter.json index d3df6d53..89d4ac60 100644 --- a/eth_defi/abi/enzyme/IdleAdapter.json +++ b/eth_defi/abi/enzyme/IdleAdapter.json @@ -1,893 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_integrationManager", - "type": "address" - }, - { - "internalType": "address", - "name": "_idlePriceFeed", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "name": "CLAIM_REWARDS_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "LEND_AND_STAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "LEND_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "REDEEM_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "STAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "TAKE_MULTIPLE_ORDERS_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "TAKE_ORDER_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "UNSTAKE_AND_REDEEM_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "UNSTAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "_assetData", - "type": "bytes" - } - ], - "name": "claimRewards", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getIdlePriceFeed", - "outputs": [ - { - "internalType": "address", - "name": "idlePriceFeed_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getIntegrationManager", - "outputs": [ - { - "internalType": "address", - "name": "integrationManager_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "_assetData", - "type": "bytes" - } - ], - "name": "lend", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes4", - "name": "_selector", - "type": "bytes4" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - } - ], - "name": "parseAssetsForAction", - "outputs": [ - { - "internalType": "enum IIntegrationManager.SpendAssetsHandleType", - "name": "spendAssetsHandleType_", - "type": "uint8" - }, - { - "internalType": "address[]", - "name": "spendAssets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "spendAssetAmounts_", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "incomingAssets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "minIncomingAssetAmounts_", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "_assetData", - "type": "bytes" - } - ], - "name": "redeem", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x60c060405234801561001057600080fd5b50604051611f6b380380611f6b8339818101604052604081101561003357600080fd5b5080516020909101516001600160601b0319606092831b8116608052911b1660a05260805160601c60a05160601c611ed9610092600039806107ea52806118ee5250806105e8528061083b52806109515280610bac5250611ed96000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c8063a21f9a2c11610097578063c32990a211610066578063c32990a2146103df578063c54efee5146103e7578063e7c45690146105a9578063f7d882b5146105b1576100f5565b8063a21f9a2c14610217578063b23228cf1461023b578063b9dfbacc14610243578063c29fa9dd14610311576100f5565b8063257cb1a3116100d3578063257cb1a3146101f75780633ffc1591146101ff57806340da225d14610207578063863e5ad01461020f576100f5565b8063080456c1146100fa578063099f75151461011f578063131461c0146101ef575b600080fd5b6101026105b9565b604080516001600160e01b03199092168252519081900360200190f35b6101ed6004803603606081101561013557600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561015f57600080fd5b82018360208201111561017157600080fd5b803590602001918460018302840111600160201b8311171561019257600080fd5b919390929091602081019035600160201b8111156101af57600080fd5b8201836020820111156101c157600080fd5b803590602001918460018302840111600160201b831117156101e257600080fd5b5090925090506105dd565b005b610102610734565b610102610758565b61010261077c565b6101026107a0565b6101026107c4565b61021f6107e8565b604080516001600160a01b039092168252519081900360200190f35b61010261080c565b6101ed6004803603606081101561025957600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561028357600080fd5b82018360208201111561029557600080fd5b803590602001918460018302840111600160201b831117156102b657600080fd5b919390929091602081019035600160201b8111156102d357600080fd5b8201836020820111156102e557600080fd5b803590602001918460018302840111600160201b8311171561030657600080fd5b509092509050610830565b6101ed6004803603606081101561032757600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561035157600080fd5b82018360208201111561036357600080fd5b803590602001918460018302840111600160201b8311171561038457600080fd5b919390929091602081019035600160201b8111156103a157600080fd5b8201836020820111156103b357600080fd5b803590602001918460018302840111600160201b831117156103d457600080fd5b509092509050610946565b610102610ac4565b610474600480360360608110156103fd57600080fd5b6001600160a01b03823516916001600160e01b031960208201351691810190606081016040820135600160201b81111561043657600080fd5b82018360208201111561044857600080fd5b803590602001918460018302840111600160201b8311171561046957600080fd5b509092509050610ae8565b6040518086600281111561048457fe5b815260200180602001806020018060200180602001858103855289818151815260200191508051906020019060200280838360005b838110156104d15781810151838201526020016104b9565b50505050905001858103845288818151815260200191508051906020019060200280838360005b838110156105105781810151838201526020016104f8565b50505050905001858103835287818151815260200191508051906020019060200280838360005b8381101561054f578181015183820152602001610537565b50505050905001858103825286818151815260200191508051906020019060200280838360005b8381101561058e578181015183820152602001610576565b50505050905001995050505050505050505060405180910390f35b61021f610baa565b610102610bce565b7f8334eb99be0145865eba9889fca2ee920288090caefff4cc776038e20ad9259a81565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106445760405162461bcd60e51b8152600401808060200182810382526032815260200180611db46032913960400191505060405180910390fd5b8482828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f88018190048102820181019092528681526060935083925082916106c091908990899081908401838280828437600092019190915250610bf292505050565b92509250925061070d816000815181106106d657fe5b6020026020010151846000815181106106eb57fe5b60200260200101518460008151811061070057fe5b6020026020010151610daf565b505050606061071b82610bf2565b925050506107298382610e55565b505050505050505050565b7f29fa046e79524c3c5ac4c01df692c35e217802b2b13b21121b76cf0ef02b138c81565b7f099f75155f0e997bf83a7993a71d5e7e7540bd386fe1e84643a09ce6b412521981565b7ffa7dd04da627f433da73c4355ead9c75682a67a8fc84d3f6170ef0922f402d2481565b7fb9dfbaccbe5cd2a84fdcf1d15f23ef25d23086f5afbaa99516065ed4a5bbc7a381565b7f03e38a2bd7063d45c897edeafc330e71657502dd86434d3c37a489caf116af6981565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f68e30677f607df46e87da13e15b637784cfa62374b653f35ab43d10361a2f83081565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146108975760405162461bcd60e51b8152600401808060200182810382526032815260200180611db46032913960400191505060405180910390fd5b8482828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250604080516020601f8c018190048102820181019092528a815291945061090e93509091508990899081908401838280828437600092019190915250610fb092505050565b905061091981610fcf565b61092b8861092683611045565b610e55565b5050606061093882610bf2565b505090506107298382610e55565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146109ad5760405162461bcd60e51b8152600401808060200182810382526032815260200180611db46032913960400191505060405180910390fd5b8482828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250604080516020601f8c018190048102820181019092528a8152919450610a249350909150899089908190840183828082843760009201919091525061124d92505050565b50509050610aaa81826001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610a7957600080fd5b505afa158015610a8d573d6000803e3d6000fd5b505050506040513d6020811015610aa357600080fd5b5051611281565b610ab78861092683611045565b5050606061071b82610bf2565b7f0e7f692dad5b88fdee426250d6eae91207e56a2e8112b7364579bed1790e5bf481565b600060608080806001600160e01b03198816632e77eeb360e21b1415610b2257610b138988886112f7565b94509450945094509450610b9f565b6001600160e01b0319881663099f751560e01b1415610b4557610b1387876114dc565b6001600160e01b0319881663c29fa9dd60e01b1415610b6857610b13878761168f565b60405162461bcd60e51b8152600401808060200182810382526027815260200180611ea66027913960400191505060405180910390fd5b945094509450945094565b7f000000000000000000000000000000000000000000000000000000000000000090565b7fc29fa9dde84204c2908778afd0613d802d31cf046179b88f6d2b4a4e507ea2d581565b6060806060838060200190516060811015610c0c57600080fd5b8101908080516040519392919084600160201b821115610c2b57600080fd5b908301906020820185811115610c4057600080fd5b82518660208202830111600160201b82111715610c5c57600080fd5b82525081516020918201928201910280838360005b83811015610c89578181015183820152602001610c71565b5050505090500160405260200180516040519392919084600160201b821115610cb157600080fd5b908301906020820185811115610cc657600080fd5b82518660208202830111600160201b82111715610ce257600080fd5b82525081516020918201928201910280838360005b83811015610d0f578181015183820152602001610cf7565b5050505090500160405260200180516040519392919084600160201b821115610d3757600080fd5b908301906020820185811115610d4c57600080fd5b82518660208202830111600160201b82111715610d6857600080fd5b82525081516020918201928201910280838360005b83811015610d95578181015183820152602001610d7d565b505050509050016040525050509250925092509193909250565b610dba8284836117e0565b60408051632befabbf60e01b81526004810183905260016024820152731ad1fc9964c551f456238dd88d6a38344b5319d7604482015290516001600160a01b03851691632befabbf9160648083019260209291908290030181600087803b158015610e2457600080fd5b505af1158015610e38573d6000803e3d6000fd5b505050506040513d6020811015610e4e57600080fd5b5050505050565b6060815167ffffffffffffffff81118015610e6f57600080fd5b50604051908082528060200260200182016040528015610e99578160200160208202803683370190505b50905060005b8251811015610fa9576000838281518110610eb657fe5b60200260200101519050806001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610f0d57600080fd5b505afa158015610f21573d6000803e3d6000fd5b505050506040513d6020811015610f3757600080fd5b50518351849084908110610f4757fe5b6020026020010181815250506000838381518110610f6157fe5b60200260200101511115610fa057610fa085848481518110610f7f57fe5b6020026020010151836001600160a01b03166118989092919063ffffffff16565b50600101610e9f565b5092915050565b6000818060200190516020811015610fc757600080fd5b505192915050565b806001600160a01b0316638b30b51660006040518263ffffffff1660e01b815260040180828152602001915050602060405180830381600087803b15801561101657600080fd5b505af115801561102a573d6000803e3d6000fd5b505050506040513d602081101561104057600080fd5b505050565b604080516350b28af760e01b8152600060048201819052915160609284926001600160a01b038416926350b28af792602480840193919291829003018186803b15801561109157600080fd5b505afa1580156110a5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260208110156110ce57600080fd5b8101908080516040519392919084600160201b8211156110ed57600080fd5b90830190602082018581111561110257600080fd5b82518660208202830111600160201b8211171561111e57600080fd5b82525081516020918201928201910280838360005b8381101561114b578181015183820152602001611133565b505050509050016040525050505167ffffffffffffffff8111801561116f57600080fd5b50604051908082528060200260200182016040528015611199578160200160208202803683370190505b50915060005b825181101561124657816001600160a01b031663746daa4e826040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156111ec57600080fd5b505afa158015611200573d6000803e3d6000fd5b505050506040513d602081101561121657600080fd5b5051835184908390811061122657fe5b6001600160a01b039092166020928302919091019091015260010161119f565b5050919050565b600080600083806020019051606081101561126757600080fd5b508051602082015160409092015190969195509350915050565b816001600160a01b0316638b30b516826040518263ffffffff1660e01b815260040180828152602001915050602060405180830381600087803b1580156112c757600080fd5b505af11580156112db573d6000803e3d6000fd5b505050506040513d60208110156112f157600080fd5b50505050565b6000606080606080600061134088888080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610fb092505050565b9050600061134d826118ea565b6001600160a01b031614156113935760405162461bcd60e51b8152600401808060200182810382526033815260200180611de66033913960400191505060405180910390fd5b604080516001808252818301909252906020808301908036833701905050945080856000815181106113c157fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509350806001600160a01b03166370a082318a6040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561144457600080fd5b505afa158015611458573d6000803e3d6000fd5b505050506040513d602081101561146e57600080fd5b50518451859060009061147d57fe5b60209081029190910101526002858560006040519080825280602002602001820160405280156114b7578160200160208202803683370190505b50604080516000815260208101909152939d929c50909a509850909650945050505050565b600060608060608060008060006115288a8a8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061124d92505050565b9250925092506000611539846118ea565b90506001600160a01b0381166115805760405162461bcd60e51b815260040180806020018281038252602b815260200180611d63602b913960400191505060405180910390fd5b604080516001808252818301909252906020808301908036833701905050975080886000815181106115ae57fe5b6001600160a01b039290921660209283029190910182015260408051600180825281830190925291828101908036833701905050965082876000815181106115f257fe5b602090810291909101015260408051600180825281830190925290816020016020820280368337019050509550838660008151811061162d57fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509450818560008151811061167157fe5b60200260200101818152505060029850505050509295509295909350565b600060608060608060008060006116db8a8a8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061124d92505050565b92509250925060006116ec846118ea565b90506001600160a01b0381166117335760405162461bcd60e51b815260040180806020018281038252602d815260200180611e19602d913960400191505060405180910390fd5b6040805160018082528183019092529060208083019080368337019050509750838860008151811061176157fe5b6001600160a01b039290921660209283029190910182015260408051600180825281830190925291828101908036833701905050965082876000815181106117a557fe5b602090810291909101015260408051600180825281830190925290816020016020820280368337019050509550808660008151811061162d57fe5b60408051636eb1769f60e11b81523060048201526001600160a01b038481166024830152915160009286169163dd62ed3e916044808301926020929190829003018186803b15801561183157600080fd5b505afa158015611845573d6000803e3d6000fd5b505050506040513d602081101561185b57600080fd5b50519050818110156112f1578015611882576118826001600160a01b038516846000611983565b6112f16001600160a01b03851684600019611983565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052611040908490611a92565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166366adb867836040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561195957600080fd5b505afa15801561196d573d6000803e3d6000fd5b505050506040513d6020811015610fc757600080fd5b801580611a09575060408051636eb1769f60e11b81523060048201526001600160a01b03848116602483015291519185169163dd62ed3e91604480820192602092909190829003018186803b1580156119db57600080fd5b505afa1580156119ef573d6000803e3d6000fd5b505050506040513d6020811015611a0557600080fd5b5051155b611a445760405162461bcd60e51b8152600401808060200182810382526036815260200180611e706036913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526110409084905b6060611ae7826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316611b439092919063ffffffff16565b80519091501561104057808060200190516020811015611b0657600080fd5b50516110405760405162461bcd60e51b815260040180806020018281038252602a815260200180611e46602a913960400191505060405180910390fd5b6060611b528484600085611b5c565b90505b9392505050565b606082471015611b9d5760405162461bcd60e51b8152600401808060200182810382526026815260200180611d8e6026913960400191505060405180910390fd5b611ba685611cb8565b611bf7576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b60208310611c365780518252601f199092019160209182019101611c17565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114611c98576040519150601f19603f3d011682016040523d82523d6000602084013e611c9d565b606091505b5091509150611cad828286611cbe565b979650505050505050565b3b151590565b60608315611ccd575081611b55565b825115611cdd5782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611d27578181015183820152602001611d0f565b50505050905090810190601f168015611d545780820380516001836020036101000a031916815260200191505b509250505060405180910390fdfe5f5f7061727365417373657473466f724c656e643a20556e737570706f727465642069646c65546f6b656e416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c4f6e6c792074686520496e746567726174696f6e4d616e616765722063616e2063616c6c20746869732066756e6374696f6e5f5f7061727365417373657473466f72436c61696d526577617264733a20556e737570706f727465642069646c65546f6b656e5f5f7061727365417373657473466f7252656465656d3a20556e737570706f727465642069646c65546f6b656e5361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e63657061727365417373657473466f72416374696f6e3a205f73656c6563746f7220696e76616c6964a164736f6c634300060c000a", - "sourceMap": "1507:10473:169:-:0;;;1659:174;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1659:174:169;;;;;;;-1:-1:-1;;;;;;1938:41:179;;;;;;;;1794:32:169;;;::::1;::::0;1507:10473;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106100f55760003560e01c8063a21f9a2c11610097578063c32990a211610066578063c32990a2146103df578063c54efee5146103e7578063e7c45690146105a9578063f7d882b5146105b1576100f5565b8063a21f9a2c14610217578063b23228cf1461023b578063b9dfbacc14610243578063c29fa9dd14610311576100f5565b8063257cb1a3116100d3578063257cb1a3146101f75780633ffc1591146101ff57806340da225d14610207578063863e5ad01461020f576100f5565b8063080456c1146100fa578063099f75151461011f578063131461c0146101ef575b600080fd5b6101026105b9565b604080516001600160e01b03199092168252519081900360200190f35b6101ed6004803603606081101561013557600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561015f57600080fd5b82018360208201111561017157600080fd5b803590602001918460018302840111600160201b8311171561019257600080fd5b919390929091602081019035600160201b8111156101af57600080fd5b8201836020820111156101c157600080fd5b803590602001918460018302840111600160201b831117156101e257600080fd5b5090925090506105dd565b005b610102610734565b610102610758565b61010261077c565b6101026107a0565b6101026107c4565b61021f6107e8565b604080516001600160a01b039092168252519081900360200190f35b61010261080c565b6101ed6004803603606081101561025957600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561028357600080fd5b82018360208201111561029557600080fd5b803590602001918460018302840111600160201b831117156102b657600080fd5b919390929091602081019035600160201b8111156102d357600080fd5b8201836020820111156102e557600080fd5b803590602001918460018302840111600160201b8311171561030657600080fd5b509092509050610830565b6101ed6004803603606081101561032757600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561035157600080fd5b82018360208201111561036357600080fd5b803590602001918460018302840111600160201b8311171561038457600080fd5b919390929091602081019035600160201b8111156103a157600080fd5b8201836020820111156103b357600080fd5b803590602001918460018302840111600160201b831117156103d457600080fd5b509092509050610946565b610102610ac4565b610474600480360360608110156103fd57600080fd5b6001600160a01b03823516916001600160e01b031960208201351691810190606081016040820135600160201b81111561043657600080fd5b82018360208201111561044857600080fd5b803590602001918460018302840111600160201b8311171561046957600080fd5b509092509050610ae8565b6040518086600281111561048457fe5b815260200180602001806020018060200180602001858103855289818151815260200191508051906020019060200280838360005b838110156104d15781810151838201526020016104b9565b50505050905001858103845288818151815260200191508051906020019060200280838360005b838110156105105781810151838201526020016104f8565b50505050905001858103835287818151815260200191508051906020019060200280838360005b8381101561054f578181015183820152602001610537565b50505050905001858103825286818151815260200191508051906020019060200280838360005b8381101561058e578181015183820152602001610576565b50505050905001995050505050505050505060405180910390f35b61021f610baa565b610102610bce565b7f8334eb99be0145865eba9889fca2ee920288090caefff4cc776038e20ad9259a81565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106445760405162461bcd60e51b8152600401808060200182810382526032815260200180611db46032913960400191505060405180910390fd5b8482828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f88018190048102820181019092528681526060935083925082916106c091908990899081908401838280828437600092019190915250610bf292505050565b92509250925061070d816000815181106106d657fe5b6020026020010151846000815181106106eb57fe5b60200260200101518460008151811061070057fe5b6020026020010151610daf565b505050606061071b82610bf2565b925050506107298382610e55565b505050505050505050565b7f29fa046e79524c3c5ac4c01df692c35e217802b2b13b21121b76cf0ef02b138c81565b7f099f75155f0e997bf83a7993a71d5e7e7540bd386fe1e84643a09ce6b412521981565b7ffa7dd04da627f433da73c4355ead9c75682a67a8fc84d3f6170ef0922f402d2481565b7fb9dfbaccbe5cd2a84fdcf1d15f23ef25d23086f5afbaa99516065ed4a5bbc7a381565b7f03e38a2bd7063d45c897edeafc330e71657502dd86434d3c37a489caf116af6981565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f68e30677f607df46e87da13e15b637784cfa62374b653f35ab43d10361a2f83081565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146108975760405162461bcd60e51b8152600401808060200182810382526032815260200180611db46032913960400191505060405180910390fd5b8482828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250604080516020601f8c018190048102820181019092528a815291945061090e93509091508990899081908401838280828437600092019190915250610fb092505050565b905061091981610fcf565b61092b8861092683611045565b610e55565b5050606061093882610bf2565b505090506107298382610e55565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146109ad5760405162461bcd60e51b8152600401808060200182810382526032815260200180611db46032913960400191505060405180910390fd5b8482828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250604080516020601f8c018190048102820181019092528a8152919450610a249350909150899089908190840183828082843760009201919091525061124d92505050565b50509050610aaa81826001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610a7957600080fd5b505afa158015610a8d573d6000803e3d6000fd5b505050506040513d6020811015610aa357600080fd5b5051611281565b610ab78861092683611045565b5050606061071b82610bf2565b7f0e7f692dad5b88fdee426250d6eae91207e56a2e8112b7364579bed1790e5bf481565b600060608080806001600160e01b03198816632e77eeb360e21b1415610b2257610b138988886112f7565b94509450945094509450610b9f565b6001600160e01b0319881663099f751560e01b1415610b4557610b1387876114dc565b6001600160e01b0319881663c29fa9dd60e01b1415610b6857610b13878761168f565b60405162461bcd60e51b8152600401808060200182810382526027815260200180611ea66027913960400191505060405180910390fd5b945094509450945094565b7f000000000000000000000000000000000000000000000000000000000000000090565b7fc29fa9dde84204c2908778afd0613d802d31cf046179b88f6d2b4a4e507ea2d581565b6060806060838060200190516060811015610c0c57600080fd5b8101908080516040519392919084600160201b821115610c2b57600080fd5b908301906020820185811115610c4057600080fd5b82518660208202830111600160201b82111715610c5c57600080fd5b82525081516020918201928201910280838360005b83811015610c89578181015183820152602001610c71565b5050505090500160405260200180516040519392919084600160201b821115610cb157600080fd5b908301906020820185811115610cc657600080fd5b82518660208202830111600160201b82111715610ce257600080fd5b82525081516020918201928201910280838360005b83811015610d0f578181015183820152602001610cf7565b5050505090500160405260200180516040519392919084600160201b821115610d3757600080fd5b908301906020820185811115610d4c57600080fd5b82518660208202830111600160201b82111715610d6857600080fd5b82525081516020918201928201910280838360005b83811015610d95578181015183820152602001610d7d565b505050509050016040525050509250925092509193909250565b610dba8284836117e0565b60408051632befabbf60e01b81526004810183905260016024820152731ad1fc9964c551f456238dd88d6a38344b5319d7604482015290516001600160a01b03851691632befabbf9160648083019260209291908290030181600087803b158015610e2457600080fd5b505af1158015610e38573d6000803e3d6000fd5b505050506040513d6020811015610e4e57600080fd5b5050505050565b6060815167ffffffffffffffff81118015610e6f57600080fd5b50604051908082528060200260200182016040528015610e99578160200160208202803683370190505b50905060005b8251811015610fa9576000838281518110610eb657fe5b60200260200101519050806001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610f0d57600080fd5b505afa158015610f21573d6000803e3d6000fd5b505050506040513d6020811015610f3757600080fd5b50518351849084908110610f4757fe5b6020026020010181815250506000838381518110610f6157fe5b60200260200101511115610fa057610fa085848481518110610f7f57fe5b6020026020010151836001600160a01b03166118989092919063ffffffff16565b50600101610e9f565b5092915050565b6000818060200190516020811015610fc757600080fd5b505192915050565b806001600160a01b0316638b30b51660006040518263ffffffff1660e01b815260040180828152602001915050602060405180830381600087803b15801561101657600080fd5b505af115801561102a573d6000803e3d6000fd5b505050506040513d602081101561104057600080fd5b505050565b604080516350b28af760e01b8152600060048201819052915160609284926001600160a01b038416926350b28af792602480840193919291829003018186803b15801561109157600080fd5b505afa1580156110a5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260208110156110ce57600080fd5b8101908080516040519392919084600160201b8211156110ed57600080fd5b90830190602082018581111561110257600080fd5b82518660208202830111600160201b8211171561111e57600080fd5b82525081516020918201928201910280838360005b8381101561114b578181015183820152602001611133565b505050509050016040525050505167ffffffffffffffff8111801561116f57600080fd5b50604051908082528060200260200182016040528015611199578160200160208202803683370190505b50915060005b825181101561124657816001600160a01b031663746daa4e826040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156111ec57600080fd5b505afa158015611200573d6000803e3d6000fd5b505050506040513d602081101561121657600080fd5b5051835184908390811061122657fe5b6001600160a01b039092166020928302919091019091015260010161119f565b5050919050565b600080600083806020019051606081101561126757600080fd5b508051602082015160409092015190969195509350915050565b816001600160a01b0316638b30b516826040518263ffffffff1660e01b815260040180828152602001915050602060405180830381600087803b1580156112c757600080fd5b505af11580156112db573d6000803e3d6000fd5b505050506040513d60208110156112f157600080fd5b50505050565b6000606080606080600061134088888080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610fb092505050565b9050600061134d826118ea565b6001600160a01b031614156113935760405162461bcd60e51b8152600401808060200182810382526033815260200180611de66033913960400191505060405180910390fd5b604080516001808252818301909252906020808301908036833701905050945080856000815181106113c157fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509350806001600160a01b03166370a082318a6040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561144457600080fd5b505afa158015611458573d6000803e3d6000fd5b505050506040513d602081101561146e57600080fd5b50518451859060009061147d57fe5b60209081029190910101526002858560006040519080825280602002602001820160405280156114b7578160200160208202803683370190505b50604080516000815260208101909152939d929c50909a509850909650945050505050565b600060608060608060008060006115288a8a8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061124d92505050565b9250925092506000611539846118ea565b90506001600160a01b0381166115805760405162461bcd60e51b815260040180806020018281038252602b815260200180611d63602b913960400191505060405180910390fd5b604080516001808252818301909252906020808301908036833701905050975080886000815181106115ae57fe5b6001600160a01b039290921660209283029190910182015260408051600180825281830190925291828101908036833701905050965082876000815181106115f257fe5b602090810291909101015260408051600180825281830190925290816020016020820280368337019050509550838660008151811061162d57fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509450818560008151811061167157fe5b60200260200101818152505060029850505050509295509295909350565b600060608060608060008060006116db8a8a8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061124d92505050565b92509250925060006116ec846118ea565b90506001600160a01b0381166117335760405162461bcd60e51b815260040180806020018281038252602d815260200180611e19602d913960400191505060405180910390fd5b6040805160018082528183019092529060208083019080368337019050509750838860008151811061176157fe5b6001600160a01b039290921660209283029190910182015260408051600180825281830190925291828101908036833701905050965082876000815181106117a557fe5b602090810291909101015260408051600180825281830190925290816020016020820280368337019050509550808660008151811061162d57fe5b60408051636eb1769f60e11b81523060048201526001600160a01b038481166024830152915160009286169163dd62ed3e916044808301926020929190829003018186803b15801561183157600080fd5b505afa158015611845573d6000803e3d6000fd5b505050506040513d602081101561185b57600080fd5b50519050818110156112f1578015611882576118826001600160a01b038516846000611983565b6112f16001600160a01b03851684600019611983565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052611040908490611a92565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166366adb867836040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561195957600080fd5b505afa15801561196d573d6000803e3d6000fd5b505050506040513d6020811015610fc757600080fd5b801580611a09575060408051636eb1769f60e11b81523060048201526001600160a01b03848116602483015291519185169163dd62ed3e91604480820192602092909190829003018186803b1580156119db57600080fd5b505afa1580156119ef573d6000803e3d6000fd5b505050506040513d6020811015611a0557600080fd5b5051155b611a445760405162461bcd60e51b8152600401808060200182810382526036815260200180611e706036913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526110409084905b6060611ae7826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316611b439092919063ffffffff16565b80519091501561104057808060200190516020811015611b0657600080fd5b50516110405760405162461bcd60e51b815260040180806020018281038252602a815260200180611e46602a913960400191505060405180910390fd5b6060611b528484600085611b5c565b90505b9392505050565b606082471015611b9d5760405162461bcd60e51b8152600401808060200182810382526026815260200180611d8e6026913960400191505060405180910390fd5b611ba685611cb8565b611bf7576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b60208310611c365780518252601f199092019160209182019101611c17565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114611c98576040519150601f19603f3d011682016040523d82523d6000602084013e611c9d565b606091505b5091509150611cad828286611cbe565b979650505050505050565b3b151590565b60608315611ccd575081611b55565b825115611cdd5782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611d27578181015183820152602001611d0f565b50505050905090810190601f168015611d545780820380516001836020036101000a031916815260200191505b509250505060405180910390fdfe5f5f7061727365417373657473466f724c656e643a20556e737570706f727465642069646c65546f6b656e416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c4f6e6c792074686520496e746567726174696f6e4d616e616765722063616e2063616c6c20746869732066756e6374696f6e5f5f7061727365417373657473466f72436c61696d526577617264733a20556e737570706f727465642069646c65546f6b656e5f5f7061727365417373657473466f7252656465656d3a20556e737570706f727465642069646c65546f6b656e5361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e63657061727365417373657473466f72416374696f6e3a205f73656c6563746f7220696e76616c6964a164736f6c634300060c000a", - "sourceMap": "1507:10473:169:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1490:119:180;;;:::i;:::-;;;;-1:-1:-1;;;;;;1490:119:180;;;;;;;;;;;;;;2763:562:169;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2763:562:169;;;;;;;;;;;;;;;-1:-1:-1;;;2763:562:169;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2763:562:169;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2763:562:169;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2763:562:169;;;;;;;;;;-1:-1:-1;2763:562:169;;-1:-1:-1;2763:562:169;-1:-1:-1;2763:562:169;:::i;:::-;;1373:111:180;;;:::i;832:85::-;;;:::i;1034:87::-;;;:::i;1240:110::-;;;:::i;706:104::-;;;:::i;11864:114:169:-;;;:::i;:::-;;;;-1:-1:-1;;;;;11864:114:169;;;;;;;;;;;;;;1127:91:180;;;:::i;2097:454:169:-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2097:454:169;;;;;;;;;;;;;;;-1:-1:-1;;;2097:454:169;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2097:454:169;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2097:454:169;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2097:454:169;;;;;;;;;;-1:-1:-1;2097:454:169;;-1:-1:-1;2097:454:169;-1:-1:-1;2097:454:169;:::i;4012:488::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4012:488:169;;;;;;;;;;;;;;;-1:-1:-1;;;4012:488:169;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4012:488:169;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4012:488:169;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4012:488:169;;;;;;;;;;-1:-1:-1;4012:488:169;;-1:-1:-1;4012:488:169;-1:-1:-1;4012:488:169;:::i;577:123:180:-;;;:::i;5532:889:169:-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5532:889:169;;;;-1:-1:-1;;;;;;5532:889:169;;;;;;;;;;;;;;;;-1:-1:-1;;;5532:889:169;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5532:889:169;;;;;;;;;;-1:-1:-1;5532:889:169;;-1:-1:-1;5532:889:169;-1:-1:-1;5532:889:169;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2637:128:179;;;:::i;923:89:180:-;;;:::i;1490:119::-;1558:50;1490:119;:::o;2763:562:169:-;1747:10:179;-1:-1:-1;;;;;1761:19:179;1747:33;;1726:130;;;;-1:-1:-1;;;1726:130:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2967:11:169::1;2980:10;;987:278:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;;3209:29:169::2;::::0;;::::2;987:278:179::1;3209:29:169::0;::::2;::::0;;::::2;::::0;::::2;::::0;;;;;;;;;;3075:28:::2;::::0;-1:-1:-1;3075:28:169;;-1:-1:-1;3075:28:169;;3209:29:::2;::::0;;3227:10;;;;;;3209:29;::::2;3227:10:::0;;;;3209:29;::::2;;::::0;::::2;::::0;;;;-1:-1:-1;3209:17:169::2;::::0;-1:-1:-1;;;3209:29:169:i:2;:::-;3061:177;;;;;;3249:69;3262:14;3277:1;3262:17;;;;;;;;;;;;;;3281:11;3293:1;3281:14;;;;;;;;;;;;;;3297:17;3315:1;3297:20;;;;;;;;;;;;;;3249:12;:69::i;:::-;1114:1:179;;;1131:31:::1;1166:29;1184:10;1166:17;:29::i;:::-;1126:69;;;;1206:52;1230:11;1243:14;1206:23;:52::i;:::-;;1866:1;;;2763:562:169::0;;;;;:::o;1373:111:180:-;1437:46;1373:111;:::o;832:85::-;878:38;832:85;:::o;1034:87::-;1081:39;1034:87;:::o;1240:110::-;1303:46;1240:110;:::o;706:104::-;766:43;706:104;:::o;11864:114:169:-;11956:15;11864:114;:::o;1127:91:180:-;1176:41;1127:91;:::o;2097:454:169:-;1747:10:179;-1:-1:-1;;;;;1761:19:179;1747:33;;1726:130;;;;-1:-1:-1;;;1726:130:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2318:11:169::1;2331:10;;1429:247:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;-1:-1:-1;2377:41:169::2;::::0;;::::2;1429:247:179::1;2377:41:169::0;::::2;::::0;;::::2;::::0;::::2;::::0;;;;;;;;;;1429:247:179;;-1:-1:-1;2377:41:169::2;::::0;-1:-1:-1;2377:41:169;;-1:-1:-1;2406:11:169;;;;;;2377:41;::::2;2406:11:::0;;;;2377:41;::::2;;::::0;::::2;::::0;;;;-1:-1:-1;2377:28:169::2;::::0;-1:-1:-1;;;2377:41:169:i:2;:::-;2357:61;;2429:31;2450:9;2429:20;:31::i;:::-;2471:73;2495:11;2508:35;2533:9;2508:24;:35::i;:::-;2471:23;:73::i;:::-;;1531:1:179;1544:28:::1;1580:29;1598:10;1580:17;:29::i;:::-;1543:66;;;;1620:49;1644:11;1657;1620:23;:49::i;4012:488:169:-:0;1747:10:179;-1:-1:-1;;;;;1761:19:179;1747:33;;1726:130;;;;-1:-1:-1;;;1726:130:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4230:11:169::1;4243:10;;987:278:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;-1:-1:-1;4295:35:169::2;::::0;;::::2;987:278:179::1;4295:35:169::0;::::2;::::0;;::::2;::::0;::::2;::::0;;;;;;;;;;987:278:179;;-1:-1:-1;4295:35:169::2;::::0;-1:-1:-1;4295:35:169;;-1:-1:-1;4318:11:169;;;;;;4295:35;::::2;4318:11:::0;;;;4295:35;::::2;;::::0;::::2;::::0;;;;-1:-1:-1;4295:22:169::2;::::0;-1:-1:-1;;;4295:35:169:i:2;:::-;4269:61;;;;4341:68;4356:9;4373;-1:-1:-1::0;;;;;4367:26:169::2;;4402:4;4367:41;;;;;;;;;;;;;-1:-1:-1::0;;;;;4367:41:169::2;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;::::0;::::2;;-1:-1:-1::0;4367:41:169;4341:14:::2;:68::i;:::-;4420:73;4444:11;4457:35;4482:9;4457:24;:35::i;4420:73::-;;1114:1:179;1131:31:::1;1166:29;1184:10;1166:17;:29::i;577:123:180:-:0;647:52;577:123;:::o;5532:889:169:-;5736:64;5814:29;;;;-1:-1:-1;;;;;;6022:35:169;;-1:-1:-1;;;6022:35:169;6018:337;;;6080:54;6109:11;6122;;6080:28;:54::i;:::-;6073:61;;;;;;;;;;;;6018:337;-1:-1:-1;;;;;;6155:26:169;;-1:-1:-1;;;6155:26:169;6151:204;;;6204:33;6225:11;;6204:20;:33::i;6151:204::-;-1:-1:-1;;;;;;6258:28:169;;-1:-1:-1;;;6258:28:169;6254:101;;;6309:35;6332:11;;6309:22;:35::i;6254:101::-;6365:49;;-1:-1:-1;;;6365:49:169;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5532:889;;;;;;;;;;:::o;2637:128:179:-;2739:19;2637:128;:::o;923:89:180:-;971:40;923:89;:::o;2093:332:179:-;2205:29;2248:35;2297:32;2372:10;2361:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;-1:-1:-1;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;-1:-1:-1;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;-1:-1:-1;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2354:64;;;;;;2093:332;;;;;:::o;1612:314:190:-;1751:69;1777:11;1790:10;1802:17;1751:25;:69::i;:::-;1830:89;;;-1:-1:-1;;;1830:89:190;;;;;;;;1888:4;1830:89;;;;650:42;1830:89;;;;;;-1:-1:-1;;;;;1830:38:190;;;;;:89;;;;;;;;;;;;;;-1:-1:-1;1830:38:190;:89;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1612:314:190:o;3539:585:355:-;3649:36;3737:7;:14;3723:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3723:29:355;;3701:51;;3767:9;3762:319;3782:7;:14;3778:1;:18;3762:319;;;3817:19;3845:7;3853:1;3845:10;;;;;;;;;;;;;;3817:39;;3895:13;-1:-1:-1;;;;;3895:23:355;;3927:4;3895:38;;;;;;;;;;;;;-1:-1:-1;;;;;3895:38:355;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3895:38:355;3870:22;;:19;;3890:1;;3870:22;;;;;;;;;;;:63;;;;;3976:1;3951:19;3971:1;3951:22;;;;;;;;;;;;;;:26;3947:124;;;3997:59;4024:7;4033:19;4053:1;4033:22;;;;;;;;;;;;;;3997:13;-1:-1:-1;;;;;3997:26:355;;;:59;;;;;:::i;:::-;-1:-1:-1;3798:3:355;;3762:319;;;;3539:585;;;;:::o;10715:192:169:-;10825:18;10877:11;10866:34;;;;;;;;;;;;;;;-1:-1:-1;10866:34:169;;10715:192;-1:-1:-1;;10715:192:169:o;867:119:190:-;949:10;-1:-1:-1;;;;;936:40:190;;977:1;936:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;867:119:190:o;1064:489::-;1311:49;;;-1:-1:-1;;;1311:49:190;;1212:30;1311:49;;;;;;;;1165:31;;1258:10;;-1:-1:-1;;;;;1311:37:190;;;;;:49;;;;;1212:30;;1311:49;;;;;;:37;:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1311:49:190;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1311:49:190;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1311:49:190;;;;;;;;;;;;-1:-1:-1;1311:49:190;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:56;1297:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1297:71:190;;1280:88;;1383:9;1378:137;1398:14;:21;1394:1;:25;1378:137;;;1473:17;-1:-1:-1;;;;;1460:41:190;;1502:1;1460:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1460:44:190;1440:17;;:14;;1455:1;;1440:17;;;;;;-1:-1:-1;;;;;1440:64:190;;;:17;;;;;;;;;;;:64;1421:3;;1378:137;;;;1525:21;1064:489;;;:::o;11343:322:169:-;11460:18;11492:32;11538:36;11617:11;11606:52;;;;;;;;;;;;;;;-1:-1:-1;11606:52:169;;;;;;;;;;;;;;;-1:-1:-1;11606:52:169;-1:-1:-1;11343:322:169;-1:-1:-1;;11343:322:169:o;1987:154:190:-;2089:10;-1:-1:-1;;;;;2076:40:190;;2117:16;2076:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;1987:154:190:o;6550:1067:169:-;6696:64;6774:29;6817:35;6866:32;6912:41;6978:17;6998:41;7027:11;;6998:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6998:28:169;;-1:-1:-1;;;6998:41:169:i;:::-;6978:61;-1:-1:-1;7121:1:169;7071:38;6978:61;7071:27;:38::i;:::-;-1:-1:-1;;;;;7071:52:169;;;7050:150;;;;-1:-1:-1;;;7050:150:169;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7226:16;;;7240:1;7226:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7226:16:169;7211:31;;7270:9;7252:12;7265:1;7252:15;;;;;;;;-1:-1:-1;;;;;7252:27:169;;;;:15;;;;;;;;;;:27;7311:16;;;7325:1;7311:16;;;;;;;;;;;;;;7252:15;7311:16;;;;;-1:-1:-1;7311:16:169;7290:37;;7367:9;-1:-1:-1;;;;;7361:26:169;;7388:11;7361:39;;;;;;;;;;;;;-1:-1:-1;;;;;7361:39:169;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7361:39:169;7337:21;;:18;;7356:1;;7337:21;;;;;;;;;;;;;:63;7432:50;7496:12;7522:18;7568:1;7554:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7554:16:169;-1:-1:-1;7584:16:169;;;7598:1;7584:16;;;;;;;;7411:199;;;;-1:-1:-1;7411:199:169;;-1:-1:-1;7411:199:169;-1:-1:-1;7584:16:169;;-1:-1:-1;7411:199:169;-1:-1:-1;;;;;6550:1067:169:o;7738:1345::-;7855:64;7933:29;7976:35;8025:32;8071:41;8151:17;8182:32;8228:34;8275:33;8296:11;;8275:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8275:20:169;;-1:-1:-1;;;8275:33:169:i;:::-;8137:171;;;;;;8319:18;8340:38;8368:9;8340:27;:38::i;:::-;8319:59;-1:-1:-1;;;;;;8396:24:169;;8388:80;;;;-1:-1:-1;;;8388:80:169;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8494:16;;;8508:1;8494:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8494:16:169;8479:31;;8538:10;8520:12;8533:1;8520:15;;;;;;;;-1:-1:-1;;;;;8520:28:169;;;;:15;;;;;;;;;;:28;8580:16;;;8594:1;8580:16;;;;;;;;;;;;;;8520:15;8580:16;;;;;-1:-1:-1;8580:16:169;8559:37;;8630:24;8606:18;8625:1;8606:21;;;;;;;;;;;;;;;;;:48;8683:16;;;8697:1;8683:16;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8683:16:169;8665:34;;8730:9;8709:15;8725:1;8709:18;;;;;;;;-1:-1:-1;;;;;8709:30:169;;;;:18;;;;;;;;;;:30;8777:16;;;8791:1;8777:16;;;;;;;;;;;;;;8709:18;8777:16;;;;;-1:-1:-1;8777:16:169;8750:43;;8833:26;8803:24;8828:1;8803:27;;;;;;;;;;;;;:56;;;;;8891:50;8870:206;;;;;;7738:1345;;;;;;;;:::o;9206:1351::-;9325:64;9403:29;9446:35;9495:32;9541:41;9621:17;9652:31;9697:35;9745;9768:11;;9745:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9745:22:169;;-1:-1:-1;;;9745:35:169:i;:::-;9607:173;;;;;;9791:18;9812:38;9840:9;9812:27;:38::i;:::-;9791:59;-1:-1:-1;;;;;;9868:24:169;;9860:82;;;;-1:-1:-1;;;9860:82:169;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9968:16;;;9982:1;9968:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9968:16:169;9953:31;;10012:9;9994:12;10007:1;9994:15;;;;;;;;-1:-1:-1;;;;;9994:27:169;;;;:15;;;;;;;;;;:27;10053:16;;;10067:1;10053:16;;;;;;;;;;;;;;9994:15;10053:16;;;;;-1:-1:-1;10053:16:169;10032:37;;10103:23;10079:18;10098:1;10079:21;;;;;;;;;;;;;;;;;:47;10155:16;;;10169:1;10155:16;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10155:16:169;10137:34;;10202:10;10181:15;10197:1;10181:18;;;;;;;2554:434:355;2714:47;;;-1:-1:-1;;;2714:47:355;;2746:4;2714:47;;;;-1:-1:-1;;;;;2714:47:355;;;;;;;;;2694:17;;2714:23;;;;;:47;;;;;;;;;;;;;;:23;:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2714:47:355;;-1:-1:-1;2775:25:355;;;2771:211;;;2820:13;;2816:89;;2853:37;-1:-1:-1;;;;;2853:25:355;;2879:7;2888:1;2853:25;:37::i;:::-;2918:53;-1:-1:-1;;;;;2918:25:355;;2944:7;-1:-1:-1;;2918:25:355;:53::i;704:175:450:-;813:58;;;-1:-1:-1;;;;;813:58:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;813:58:450;-1:-1:-1;;;813:58:450;;;786:86;;806:5;;786:19;:86::i;4570:221:169:-;4673:19;4729:15;-1:-1:-1;;;;;4715:57:169;;4773:10;4715:69;;;;;;;;;;;;;-1:-1:-1;;;;;4715:69:169;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1348:613:450;1713:10;;;1712:62;;-1:-1:-1;1729:39:450;;;-1:-1:-1;;;1729:39:450;;1753:4;1729:39;;;;-1:-1:-1;;;;;1729:39:450;;;;;;;;;:15;;;;;;:39;;;;;;;;;;;;;;;:15;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1729:39:450;:44;1712:62;1704:150;;;;-1:-1:-1;;;1704:150:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1891:62;;;-1:-1:-1;;;;;1891:62:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1891:62:450;-1:-1:-1;;;1891:62:450;;;1864:90;;1884:5;;2967:751;3386:23;3412:69;3440:4;3412:69;;;;;;;;;;;;;;;;;3420:5;-1:-1:-1;;;;;3412:27:450;;;:69;;;;;:::i;:::-;3495:17;;3386:95;;-1:-1:-1;3495:21:450;3491:221;;3635:10;3624:30;;;;;;;;;;;;;;;-1:-1:-1;3624:30:450;3616:85;;;;-1:-1:-1;;;3616:85:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3581:193:451;3684:12;3715:52;3737:6;3745:4;3751:1;3754:12;3715:21;:52::i;:::-;3708:59;;3581:193;;;;;;:::o;4608:523::-;4735:12;4792:5;4767:21;:30;;4759:81;;;;-1:-1:-1;;;4759:81:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4858:18;4869:6;4858:10;:18::i;:::-;4850:60;;;;;-1:-1:-1;;;4850:60:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;4981:12;4995:23;5022:6;-1:-1:-1;;;;;5022:11:451;5042:5;5050:4;5022:33;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5022:33:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4980:75;;;;5072:52;5090:7;5099:10;5111:12;5072:17;:52::i;:::-;5065:59;4608:523;-1:-1:-1;;;;;;;4608:523:451:o;726:413::-;1086:20;1124:8;;;726:413::o;7091:725::-;7206:12;7234:7;7230:580;;;-1:-1:-1;7264:10:451;7257:17;;7230:580;7375:17;;:21;7371:429;;7633:10;7627:17;7693:15;7680:10;7676:2;7672:19;7665:44;7582:145;7772:12;7765:20;;-1:-1:-1;;;7765:20:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;", - "linkReferences": {}, - "immutableReferences": { - "45199": [ - { - "start": 2026, - "length": 32 - }, - { - "start": 6382, - "length": 32 - } - ], - "49791": [ - { - "start": 1512, - "length": 32 - }, - { - "start": 2107, - "length": 32 - }, - { - "start": 2385, - "length": 32 - }, - { - "start": 2988, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "CLAIM_REWARDS_SELECTOR()": "40da225d", - "LEND_AND_STAKE_SELECTOR()": "131461c0", - "LEND_SELECTOR()": "257cb1a3", - "REDEEM_SELECTOR()": "f7d882b5", - "STAKE_SELECTOR()": "3ffc1591", - "TAKE_MULTIPLE_ORDERS_SELECTOR()": "c32990a2", - "TAKE_ORDER_SELECTOR()": "863e5ad0", - "UNSTAKE_AND_REDEEM_SELECTOR()": "080456c1", - "UNSTAKE_SELECTOR()": "b23228cf", - "claimRewards(address,bytes,bytes)": "b9dfbacc", - "getIdlePriceFeed()": "a21f9a2c", - "getIntegrationManager()": "e7c45690", - "lend(address,bytes,bytes)": "099f7515", - "parseAssetsForAction(address,bytes4,bytes)": "c54efee5", - "redeem(address,bytes,bytes)": "c29fa9dd" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_integrationManager\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_idlePriceFeed\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"CLAIM_REWARDS_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LEND_AND_STAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LEND_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"REDEEM_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"STAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TAKE_MULTIPLE_ORDERS_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TAKE_ORDER_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UNSTAKE_AND_REDEEM_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UNSTAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"_assetData\",\"type\":\"bytes\"}],\"name\":\"claimRewards\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getIdlePriceFeed\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"idlePriceFeed_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getIntegrationManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"integrationManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"_assetData\",\"type\":\"bytes\"}],\"name\":\"lend\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"_selector\",\"type\":\"bytes4\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"}],\"name\":\"parseAssetsForAction\",\"outputs\":[{\"internalType\":\"enum IIntegrationManager.SpendAssetsHandleType\",\"name\":\"spendAssetsHandleType_\",\"type\":\"uint8\"},{\"internalType\":\"address[]\",\"name\":\"spendAssets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"spendAssetAmounts_\",\"type\":\"uint256[]\"},{\"internalType\":\"address[]\",\"name\":\"incomingAssets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"minIncomingAssetAmounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"_assetData\",\"type\":\"bytes\"}],\"name\":\"redeem\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"There are some idiosyncrasies of reward accrual and claiming in IdleTokens that are handled by this adapter: - Rewards accrue to the IdleToken holder, but the accrued amount is passed to the recipient of a transfer. - Claiming rewards cannot be done on behalf of a holder, but must be done directly. - Claiming rewards occurs automatically upon redeeming, but there are situations when it is difficult to know whether to expect incoming rewards (e.g., after a user mints idleTokens and then redeems before any other user has interacted with the protocol, then getGovTokensAmounts() will return 0 balances). Because of this difficulty - and in keeping with how other adapters treat claimed rewards - this adapter does not report claimed rewards as incomingAssets.\",\"kind\":\"dev\",\"methods\":{\"claimRewards(address,bytes,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_assetData\":\"Parsed spend assets and incoming assets data for this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}},\"getIdlePriceFeed()\":{\"returns\":{\"idlePriceFeed_\":\"The `IDLE_PRICE_FEED` variable value\"}},\"getIntegrationManager()\":{\"returns\":{\"integrationManager_\":\"The `INTEGRATION_MANAGER` variable value\"}},\"lend(address,bytes,bytes)\":{\"params\":{\"_assetData\":\"Parsed spend assets and incoming assets data for this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}},\"parseAssetsForAction(address,bytes4,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_selector\":\"The function selector for the callOnIntegration\"},\"returns\":{\"incomingAssets_\":\"The assets to receive in the call\",\"minIncomingAssetAmounts_\":\"The min asset amounts to receive in the call\",\"spendAssetAmounts_\":\"The max asset amounts to spend in the call\",\"spendAssetsHandleType_\":\"A type that dictates how to handle granting the adapter access to spend assets (`None` by default)\",\"spendAssets_\":\"The assets to spend in the call\"}},\"redeem(address,bytes,bytes)\":{\"details\":\"This will also pay out any due gov token rewards. We use the full IdleToken balance of the current contract rather than the user input for the corner case of a prior balance existing in the current contract, which would throw off the per-user avg price of the IdleToken used by Idle, and would leave the initial token balance in the current contract post-tx.\",\"params\":{\"_actionData\":\"Data specific to this action\",\"_assetData\":\"Parsed spend assets and incoming assets data for this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}}},\"title\":\"IdleAdapter Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"claimRewards(address,bytes,bytes)\":{\"notice\":\"Claims rewards for a given IdleToken\"},\"getIdlePriceFeed()\":{\"notice\":\"Gets the `IDLE_PRICE_FEED` variable\"},\"getIntegrationManager()\":{\"notice\":\"Gets the `INTEGRATION_MANAGER` variable\"},\"lend(address,bytes,bytes)\":{\"notice\":\"Lends an amount of a token for idleToken\"},\"parseAssetsForAction(address,bytes4,bytes)\":{\"notice\":\"Parses the expected assets in a particular action\"},\"redeem(address,bytes,bytes)\":{\"notice\":\"Redeems an amount of idleToken for its underlying asset\"}},\"notice\":\"Adapter for Idle Lending \",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/integration-manager/integrations/adapters/IdleAdapter.sol\":\"IdleAdapter\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/extensions/integration-manager/IIntegrationManager.sol\":{\"keccak256\":\"0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23\",\"dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk\"]},\"contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol\":{\"keccak256\":\"0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336\",\"dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS\"]},\"contracts/release/extensions/integration-manager/integrations/adapters/IdleAdapter.sol\":{\"keccak256\":\"0xbe94b73ffef2a267d5768b3a8accc378aa05a4867e16b6857a8f8e63db91690a\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d7972debcaf753cbcf8e42178c404278f04b5f4236391d3c1130d4db77ee9af9\",\"dweb:/ipfs/QmT9qxRSdWsgra48EuXoSe3jaL8nWy2Xw8ertfNEfyaknu\"]},\"contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol\":{\"keccak256\":\"0x067e49bf0d3c1655ab41a413c65ccf61d4e593308132e1ffc484a0fadfbbaf26\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://387f425017e18e89cc1893521101fa99df595314847d0b3d9a1162369f714fcf\",\"dweb:/ipfs/Qmco3jCvuWAyfCpBYpGzHrQjiFJG63w1RJKcakoTEbxRQm\"]},\"contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol\":{\"keccak256\":\"0xfd34c7ca8231c6935e25dede32ca2b3121738e624d0fc896f7b895a731edcf88\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d492c061963d36d07718446db191d4c5a340c0d847f6cd209f027bd99f7cb176\",\"dweb:/ipfs/QmfCvRZt56ftDdrEh6LepHXFJ4fVtcfpQGvEyY8k4zxG1A\"]},\"contracts/release/extensions/integration-manager/integrations/utils/actions/IdleV4ActionsMixin.sol\":{\"keccak256\":\"0xe14415104949ac342909f7e8bf940fff6ed15405887cf911ef6627f8f3da876b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://beb595fcb77390ee338a872e29aecb8c5f72ba3a1a621cbe9d98d07a9012419a\",\"dweb:/ipfs/Qmb2GhgbDKfGiNWxEPaHn7tHR1FCzo1YxvwZuk1gYwCoUm\"]},\"contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol\":{\"keccak256\":\"0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e\",\"dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK\"]},\"contracts/release/infrastructure/price-feeds/derivatives/feeds/IdlePriceFeed.sol\":{\"keccak256\":\"0xaad9aa55d5fd26d0e87ed15ec0dddd39873658c8782e04c37959a01c380596b5\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d69dd5787d414949e4cf2a8a0001c17c7bec9fb97ff21ff2199b3c945c34f804\",\"dweb:/ipfs/QmYdkqzMjKuyzarhAoEJvAs8fZBGmK4exN9PKhj7fvHPAf\"]},\"contracts/release/infrastructure/price-feeds/derivatives/feeds/utils/SingleUnderlyingDerivativeRegistryMixin.sol\":{\"keccak256\":\"0xeb2aab819af80382ad562d5a80863484a42caa7888f811817eb283894a1852e7\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8846bfa874ede75fbcd3053d45a1647cad0aabbb26e4189998e8c517961c2bb6\",\"dweb:/ipfs/QmV4Bgx9VfX6kaoyZuaBDf2xyTY4ZmjniZTX8TrEmhU4Pv\"]},\"contracts/release/interfaces/IIdleTokenV4.sol\":{\"keccak256\":\"0x37cffc1fb284b9709f7f49db482a648b5c52bf2b930aa8992727ba38bfaf31f8\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5160ee920caf993cdae5bc66e572a9f9d18ed657ea6bb0c65869cf992856bcbe\",\"dweb:/ipfs/QmUKNFkcj6DotLcRcf5Ye6CiK1JnEMbeQf8AKSR6E3ygBW\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"contracts/release/utils/FundDeployerOwnerMixin.sol\":{\"keccak256\":\"0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927\",\"dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_integrationManager", - "type": "address" - }, - { - "internalType": "address", - "name": "_idlePriceFeed", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "CLAIM_REWARDS_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "LEND_AND_STAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "LEND_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "REDEEM_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "STAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "TAKE_MULTIPLE_ORDERS_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "TAKE_ORDER_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "UNSTAKE_AND_REDEEM_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "UNSTAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "_assetData", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "claimRewards" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getIdlePriceFeed", - "outputs": [ - { - "internalType": "address", - "name": "idlePriceFeed_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getIntegrationManager", - "outputs": [ - { - "internalType": "address", - "name": "integrationManager_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "_assetData", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "lend" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes4", - "name": "_selector", - "type": "bytes4" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - } - ], - "stateMutability": "view", - "type": "function", - "name": "parseAssetsForAction", - "outputs": [ - { - "internalType": "enum IIntegrationManager.SpendAssetsHandleType", - "name": "spendAssetsHandleType_", - "type": "uint8" - }, - { - "internalType": "address[]", - "name": "spendAssets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "spendAssetAmounts_", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "incomingAssets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "minIncomingAssetAmounts_", - "type": "uint256[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "_assetData", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "redeem" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "claimRewards(address,bytes,bytes)": { - "params": { - "_actionData": "Data specific to this action", - "_assetData": "Parsed spend assets and incoming assets data for this action", - "_vaultProxy": "The VaultProxy of the calling fund" - } - }, - "getIdlePriceFeed()": { - "returns": { - "idlePriceFeed_": "The `IDLE_PRICE_FEED` variable value" - } - }, - "getIntegrationManager()": { - "returns": { - "integrationManager_": "The `INTEGRATION_MANAGER` variable value" - } - }, - "lend(address,bytes,bytes)": { - "params": { - "_assetData": "Parsed spend assets and incoming assets data for this action", - "_vaultProxy": "The VaultProxy of the calling fund" - } - }, - "parseAssetsForAction(address,bytes4,bytes)": { - "params": { - "_actionData": "Data specific to this action", - "_selector": "The function selector for the callOnIntegration" - }, - "returns": { - "incomingAssets_": "The assets to receive in the call", - "minIncomingAssetAmounts_": "The min asset amounts to receive in the call", - "spendAssetAmounts_": "The max asset amounts to spend in the call", - "spendAssetsHandleType_": "A type that dictates how to handle granting the adapter access to spend assets (`None` by default)", - "spendAssets_": "The assets to spend in the call" - } - }, - "redeem(address,bytes,bytes)": { - "details": "This will also pay out any due gov token rewards. We use the full IdleToken balance of the current contract rather than the user input for the corner case of a prior balance existing in the current contract, which would throw off the per-user avg price of the IdleToken used by Idle, and would leave the initial token balance in the current contract post-tx.", - "params": { - "_actionData": "Data specific to this action", - "_assetData": "Parsed spend assets and incoming assets data for this action", - "_vaultProxy": "The VaultProxy of the calling fund" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "claimRewards(address,bytes,bytes)": { - "notice": "Claims rewards for a given IdleToken" - }, - "getIdlePriceFeed()": { - "notice": "Gets the `IDLE_PRICE_FEED` variable" - }, - "getIntegrationManager()": { - "notice": "Gets the `INTEGRATION_MANAGER` variable" - }, - "lend(address,bytes,bytes)": { - "notice": "Lends an amount of a token for idleToken" - }, - "parseAssetsForAction(address,bytes4,bytes)": { - "notice": "Parses the expected assets in a particular action" - }, - "redeem(address,bytes,bytes)": { - "notice": "Redeems an amount of idleToken for its underlying asset" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/integration-manager/integrations/adapters/IdleAdapter.sol": "IdleAdapter" - }, - "libraries": {} - }, - "sources": { - "contracts/release/core/fund-deployer/IFundDeployer.sol": { - "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", - "urls": [ - "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", - "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/IIntegrationManager.sol": { - "keccak256": "0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef", - "urls": [ - "bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23", - "dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol": { - "keccak256": "0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1", - "urls": [ - "bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336", - "dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/adapters/IdleAdapter.sol": { - "keccak256": "0xbe94b73ffef2a267d5768b3a8accc378aa05a4867e16b6857a8f8e63db91690a", - "urls": [ - "bzz-raw://d7972debcaf753cbcf8e42178c404278f04b5f4236391d3c1130d4db77ee9af9", - "dweb:/ipfs/QmT9qxRSdWsgra48EuXoSe3jaL8nWy2Xw8ertfNEfyaknu" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol": { - "keccak256": "0x067e49bf0d3c1655ab41a413c65ccf61d4e593308132e1ffc484a0fadfbbaf26", - "urls": [ - "bzz-raw://387f425017e18e89cc1893521101fa99df595314847d0b3d9a1162369f714fcf", - "dweb:/ipfs/Qmco3jCvuWAyfCpBYpGzHrQjiFJG63w1RJKcakoTEbxRQm" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol": { - "keccak256": "0xfd34c7ca8231c6935e25dede32ca2b3121738e624d0fc896f7b895a731edcf88", - "urls": [ - "bzz-raw://d492c061963d36d07718446db191d4c5a340c0d847f6cd209f027bd99f7cb176", - "dweb:/ipfs/QmfCvRZt56ftDdrEh6LepHXFJ4fVtcfpQGvEyY8k4zxG1A" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/utils/actions/IdleV4ActionsMixin.sol": { - "keccak256": "0xe14415104949ac342909f7e8bf940fff6ed15405887cf911ef6627f8f3da876b", - "urls": [ - "bzz-raw://beb595fcb77390ee338a872e29aecb8c5f72ba3a1a621cbe9d98d07a9012419a", - "dweb:/ipfs/Qmb2GhgbDKfGiNWxEPaHn7tHR1FCzo1YxvwZuk1gYwCoUm" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol": { - "keccak256": "0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332", - "urls": [ - "bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e", - "dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/price-feeds/derivatives/feeds/IdlePriceFeed.sol": { - "keccak256": "0xaad9aa55d5fd26d0e87ed15ec0dddd39873658c8782e04c37959a01c380596b5", - "urls": [ - "bzz-raw://d69dd5787d414949e4cf2a8a0001c17c7bec9fb97ff21ff2199b3c945c34f804", - "dweb:/ipfs/QmYdkqzMjKuyzarhAoEJvAs8fZBGmK4exN9PKhj7fvHPAf" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/price-feeds/derivatives/feeds/utils/SingleUnderlyingDerivativeRegistryMixin.sol": { - "keccak256": "0xeb2aab819af80382ad562d5a80863484a42caa7888f811817eb283894a1852e7", - "urls": [ - "bzz-raw://8846bfa874ede75fbcd3053d45a1647cad0aabbb26e4189998e8c517961c2bb6", - "dweb:/ipfs/QmV4Bgx9VfX6kaoyZuaBDf2xyTY4ZmjniZTX8TrEmhU4Pv" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IIdleTokenV4.sol": { - "keccak256": "0x37cffc1fb284b9709f7f49db482a648b5c52bf2b930aa8992727ba38bfaf31f8", - "urls": [ - "bzz-raw://5160ee920caf993cdae5bc66e572a9f9d18ed657ea6bb0c65869cf992856bcbe", - "dweb:/ipfs/QmUKNFkcj6DotLcRcf5Ye6CiK1JnEMbeQf8AKSR6E3ygBW" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AddressArrayLib.sol": { - "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", - "urls": [ - "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", - "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AssetHelpers.sol": { - "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", - "urls": [ - "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", - "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/FundDeployerOwnerMixin.sol": { - "keccak256": "0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934", - "urls": [ - "bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927", - "dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { - "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", - "urls": [ - "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", - "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Address.sol": { - "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", - "urls": [ - "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", - "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 169 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_integrationManager", "type": "address", "internalType": "address" }, { "name": "_idlePriceFeed", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "CLAIM_REWARDS_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "LEND_AND_STAKE_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "LEND_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "REDEEM_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "STAKE_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "TAKE_MULTIPLE_ORDERS_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "TAKE_ORDER_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "UNSTAKE_AND_REDEEM_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "UNSTAKE_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "claimRewards", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_actionData", "type": "bytes", "internalType": "bytes" }, { "name": "_assetData", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "getIdlePriceFeed", "inputs": [], "outputs": [ { "name": "idlePriceFeed_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getIntegrationManager", "inputs": [], "outputs": [ { "name": "integrationManager_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "lend", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "", "type": "bytes", "internalType": "bytes" }, { "name": "_assetData", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "parseAssetsForAction", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_selector", "type": "bytes4", "internalType": "bytes4" }, { "name": "_actionData", "type": "bytes", "internalType": "bytes" } ], "outputs": [ { "name": "spendAssetsHandleType_", "type": "uint8", "internalType": "enum IIntegrationManager.SpendAssetsHandleType" }, { "name": "spendAssets_", "type": "address[]", "internalType": "address[]" }, { "name": "spendAssetAmounts_", "type": "uint256[]", "internalType": "uint256[]" }, { "name": "incomingAssets_", "type": "address[]", "internalType": "address[]" }, { "name": "minIncomingAssetAmounts_", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "view" }, { "type": "function", "name": "redeem", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_actionData", "type": "bytes", "internalType": "bytes" }, { "name": "_assetData", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x60c060405234801561001057600080fd5b50604051611f6b380380611f6b8339818101604052604081101561003357600080fd5b5080516020909101516001600160601b0319606092831b8116608052911b1660a05260805160601c60a05160601c611ed9610092600039806107ea52806118ee5250806105e8528061083b52806109515280610bac5250611ed96000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c8063a21f9a2c11610097578063c32990a211610066578063c32990a2146103df578063c54efee5146103e7578063e7c45690146105a9578063f7d882b5146105b1576100f5565b8063a21f9a2c14610217578063b23228cf1461023b578063b9dfbacc14610243578063c29fa9dd14610311576100f5565b8063257cb1a3116100d3578063257cb1a3146101f75780633ffc1591146101ff57806340da225d14610207578063863e5ad01461020f576100f5565b8063080456c1146100fa578063099f75151461011f578063131461c0146101ef575b600080fd5b6101026105b9565b604080516001600160e01b03199092168252519081900360200190f35b6101ed6004803603606081101561013557600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561015f57600080fd5b82018360208201111561017157600080fd5b803590602001918460018302840111600160201b8311171561019257600080fd5b919390929091602081019035600160201b8111156101af57600080fd5b8201836020820111156101c157600080fd5b803590602001918460018302840111600160201b831117156101e257600080fd5b5090925090506105dd565b005b610102610734565b610102610758565b61010261077c565b6101026107a0565b6101026107c4565b61021f6107e8565b604080516001600160a01b039092168252519081900360200190f35b61010261080c565b6101ed6004803603606081101561025957600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561028357600080fd5b82018360208201111561029557600080fd5b803590602001918460018302840111600160201b831117156102b657600080fd5b919390929091602081019035600160201b8111156102d357600080fd5b8201836020820111156102e557600080fd5b803590602001918460018302840111600160201b8311171561030657600080fd5b509092509050610830565b6101ed6004803603606081101561032757600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561035157600080fd5b82018360208201111561036357600080fd5b803590602001918460018302840111600160201b8311171561038457600080fd5b919390929091602081019035600160201b8111156103a157600080fd5b8201836020820111156103b357600080fd5b803590602001918460018302840111600160201b831117156103d457600080fd5b509092509050610946565b610102610ac4565b610474600480360360608110156103fd57600080fd5b6001600160a01b03823516916001600160e01b031960208201351691810190606081016040820135600160201b81111561043657600080fd5b82018360208201111561044857600080fd5b803590602001918460018302840111600160201b8311171561046957600080fd5b509092509050610ae8565b6040518086600281111561048457fe5b815260200180602001806020018060200180602001858103855289818151815260200191508051906020019060200280838360005b838110156104d15781810151838201526020016104b9565b50505050905001858103845288818151815260200191508051906020019060200280838360005b838110156105105781810151838201526020016104f8565b50505050905001858103835287818151815260200191508051906020019060200280838360005b8381101561054f578181015183820152602001610537565b50505050905001858103825286818151815260200191508051906020019060200280838360005b8381101561058e578181015183820152602001610576565b50505050905001995050505050505050505060405180910390f35b61021f610baa565b610102610bce565b7f8334eb99be0145865eba9889fca2ee920288090caefff4cc776038e20ad9259a81565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106445760405162461bcd60e51b8152600401808060200182810382526032815260200180611db46032913960400191505060405180910390fd5b8482828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f88018190048102820181019092528681526060935083925082916106c091908990899081908401838280828437600092019190915250610bf292505050565b92509250925061070d816000815181106106d657fe5b6020026020010151846000815181106106eb57fe5b60200260200101518460008151811061070057fe5b6020026020010151610daf565b505050606061071b82610bf2565b925050506107298382610e55565b505050505050505050565b7f29fa046e79524c3c5ac4c01df692c35e217802b2b13b21121b76cf0ef02b138c81565b7f099f75155f0e997bf83a7993a71d5e7e7540bd386fe1e84643a09ce6b412521981565b7ffa7dd04da627f433da73c4355ead9c75682a67a8fc84d3f6170ef0922f402d2481565b7fb9dfbaccbe5cd2a84fdcf1d15f23ef25d23086f5afbaa99516065ed4a5bbc7a381565b7f03e38a2bd7063d45c897edeafc330e71657502dd86434d3c37a489caf116af6981565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f68e30677f607df46e87da13e15b637784cfa62374b653f35ab43d10361a2f83081565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146108975760405162461bcd60e51b8152600401808060200182810382526032815260200180611db46032913960400191505060405180910390fd5b8482828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250604080516020601f8c018190048102820181019092528a815291945061090e93509091508990899081908401838280828437600092019190915250610fb092505050565b905061091981610fcf565b61092b8861092683611045565b610e55565b5050606061093882610bf2565b505090506107298382610e55565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146109ad5760405162461bcd60e51b8152600401808060200182810382526032815260200180611db46032913960400191505060405180910390fd5b8482828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250604080516020601f8c018190048102820181019092528a8152919450610a249350909150899089908190840183828082843760009201919091525061124d92505050565b50509050610aaa81826001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610a7957600080fd5b505afa158015610a8d573d6000803e3d6000fd5b505050506040513d6020811015610aa357600080fd5b5051611281565b610ab78861092683611045565b5050606061071b82610bf2565b7f0e7f692dad5b88fdee426250d6eae91207e56a2e8112b7364579bed1790e5bf481565b600060608080806001600160e01b03198816632e77eeb360e21b1415610b2257610b138988886112f7565b94509450945094509450610b9f565b6001600160e01b0319881663099f751560e01b1415610b4557610b1387876114dc565b6001600160e01b0319881663c29fa9dd60e01b1415610b6857610b13878761168f565b60405162461bcd60e51b8152600401808060200182810382526027815260200180611ea66027913960400191505060405180910390fd5b945094509450945094565b7f000000000000000000000000000000000000000000000000000000000000000090565b7fc29fa9dde84204c2908778afd0613d802d31cf046179b88f6d2b4a4e507ea2d581565b6060806060838060200190516060811015610c0c57600080fd5b8101908080516040519392919084600160201b821115610c2b57600080fd5b908301906020820185811115610c4057600080fd5b82518660208202830111600160201b82111715610c5c57600080fd5b82525081516020918201928201910280838360005b83811015610c89578181015183820152602001610c71565b5050505090500160405260200180516040519392919084600160201b821115610cb157600080fd5b908301906020820185811115610cc657600080fd5b82518660208202830111600160201b82111715610ce257600080fd5b82525081516020918201928201910280838360005b83811015610d0f578181015183820152602001610cf7565b5050505090500160405260200180516040519392919084600160201b821115610d3757600080fd5b908301906020820185811115610d4c57600080fd5b82518660208202830111600160201b82111715610d6857600080fd5b82525081516020918201928201910280838360005b83811015610d95578181015183820152602001610d7d565b505050509050016040525050509250925092509193909250565b610dba8284836117e0565b60408051632befabbf60e01b81526004810183905260016024820152731ad1fc9964c551f456238dd88d6a38344b5319d7604482015290516001600160a01b03851691632befabbf9160648083019260209291908290030181600087803b158015610e2457600080fd5b505af1158015610e38573d6000803e3d6000fd5b505050506040513d6020811015610e4e57600080fd5b5050505050565b6060815167ffffffffffffffff81118015610e6f57600080fd5b50604051908082528060200260200182016040528015610e99578160200160208202803683370190505b50905060005b8251811015610fa9576000838281518110610eb657fe5b60200260200101519050806001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610f0d57600080fd5b505afa158015610f21573d6000803e3d6000fd5b505050506040513d6020811015610f3757600080fd5b50518351849084908110610f4757fe5b6020026020010181815250506000838381518110610f6157fe5b60200260200101511115610fa057610fa085848481518110610f7f57fe5b6020026020010151836001600160a01b03166118989092919063ffffffff16565b50600101610e9f565b5092915050565b6000818060200190516020811015610fc757600080fd5b505192915050565b806001600160a01b0316638b30b51660006040518263ffffffff1660e01b815260040180828152602001915050602060405180830381600087803b15801561101657600080fd5b505af115801561102a573d6000803e3d6000fd5b505050506040513d602081101561104057600080fd5b505050565b604080516350b28af760e01b8152600060048201819052915160609284926001600160a01b038416926350b28af792602480840193919291829003018186803b15801561109157600080fd5b505afa1580156110a5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260208110156110ce57600080fd5b8101908080516040519392919084600160201b8211156110ed57600080fd5b90830190602082018581111561110257600080fd5b82518660208202830111600160201b8211171561111e57600080fd5b82525081516020918201928201910280838360005b8381101561114b578181015183820152602001611133565b505050509050016040525050505167ffffffffffffffff8111801561116f57600080fd5b50604051908082528060200260200182016040528015611199578160200160208202803683370190505b50915060005b825181101561124657816001600160a01b031663746daa4e826040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156111ec57600080fd5b505afa158015611200573d6000803e3d6000fd5b505050506040513d602081101561121657600080fd5b5051835184908390811061122657fe5b6001600160a01b039092166020928302919091019091015260010161119f565b5050919050565b600080600083806020019051606081101561126757600080fd5b508051602082015160409092015190969195509350915050565b816001600160a01b0316638b30b516826040518263ffffffff1660e01b815260040180828152602001915050602060405180830381600087803b1580156112c757600080fd5b505af11580156112db573d6000803e3d6000fd5b505050506040513d60208110156112f157600080fd5b50505050565b6000606080606080600061134088888080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610fb092505050565b9050600061134d826118ea565b6001600160a01b031614156113935760405162461bcd60e51b8152600401808060200182810382526033815260200180611de66033913960400191505060405180910390fd5b604080516001808252818301909252906020808301908036833701905050945080856000815181106113c157fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509350806001600160a01b03166370a082318a6040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561144457600080fd5b505afa158015611458573d6000803e3d6000fd5b505050506040513d602081101561146e57600080fd5b50518451859060009061147d57fe5b60209081029190910101526002858560006040519080825280602002602001820160405280156114b7578160200160208202803683370190505b50604080516000815260208101909152939d929c50909a509850909650945050505050565b600060608060608060008060006115288a8a8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061124d92505050565b9250925092506000611539846118ea565b90506001600160a01b0381166115805760405162461bcd60e51b815260040180806020018281038252602b815260200180611d63602b913960400191505060405180910390fd5b604080516001808252818301909252906020808301908036833701905050975080886000815181106115ae57fe5b6001600160a01b039290921660209283029190910182015260408051600180825281830190925291828101908036833701905050965082876000815181106115f257fe5b602090810291909101015260408051600180825281830190925290816020016020820280368337019050509550838660008151811061162d57fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509450818560008151811061167157fe5b60200260200101818152505060029850505050509295509295909350565b600060608060608060008060006116db8a8a8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061124d92505050565b92509250925060006116ec846118ea565b90506001600160a01b0381166117335760405162461bcd60e51b815260040180806020018281038252602d815260200180611e19602d913960400191505060405180910390fd5b6040805160018082528183019092529060208083019080368337019050509750838860008151811061176157fe5b6001600160a01b039290921660209283029190910182015260408051600180825281830190925291828101908036833701905050965082876000815181106117a557fe5b602090810291909101015260408051600180825281830190925290816020016020820280368337019050509550808660008151811061162d57fe5b60408051636eb1769f60e11b81523060048201526001600160a01b038481166024830152915160009286169163dd62ed3e916044808301926020929190829003018186803b15801561183157600080fd5b505afa158015611845573d6000803e3d6000fd5b505050506040513d602081101561185b57600080fd5b50519050818110156112f1578015611882576118826001600160a01b038516846000611983565b6112f16001600160a01b03851684600019611983565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052611040908490611a92565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166366adb867836040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561195957600080fd5b505afa15801561196d573d6000803e3d6000fd5b505050506040513d6020811015610fc757600080fd5b801580611a09575060408051636eb1769f60e11b81523060048201526001600160a01b03848116602483015291519185169163dd62ed3e91604480820192602092909190829003018186803b1580156119db57600080fd5b505afa1580156119ef573d6000803e3d6000fd5b505050506040513d6020811015611a0557600080fd5b5051155b611a445760405162461bcd60e51b8152600401808060200182810382526036815260200180611e706036913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526110409084905b6060611ae7826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316611b439092919063ffffffff16565b80519091501561104057808060200190516020811015611b0657600080fd5b50516110405760405162461bcd60e51b815260040180806020018281038252602a815260200180611e46602a913960400191505060405180910390fd5b6060611b528484600085611b5c565b90505b9392505050565b606082471015611b9d5760405162461bcd60e51b8152600401808060200182810382526026815260200180611d8e6026913960400191505060405180910390fd5b611ba685611cb8565b611bf7576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b60208310611c365780518252601f199092019160209182019101611c17565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114611c98576040519150601f19603f3d011682016040523d82523d6000602084013e611c9d565b606091505b5091509150611cad828286611cbe565b979650505050505050565b3b151590565b60608315611ccd575081611b55565b825115611cdd5782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611d27578181015183820152602001611d0f565b50505050905090810190601f168015611d545780820380516001836020036101000a031916815260200191505b509250505060405180910390fdfe5f5f7061727365417373657473466f724c656e643a20556e737570706f727465642069646c65546f6b656e416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c4f6e6c792074686520496e746567726174696f6e4d616e616765722063616e2063616c6c20746869732066756e6374696f6e5f5f7061727365417373657473466f72436c61696d526577617264733a20556e737570706f727465642069646c65546f6b656e5f5f7061727365417373657473466f7252656465656d3a20556e737570706f727465642069646c65546f6b656e5361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e63657061727365417373657473466f72416374696f6e3a205f73656c6563746f7220696e76616c6964a164736f6c634300060c000a", "sourceMap": "1507:10473:169:-:0;;;1659:174;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1659:174:169;;;;;;;-1:-1:-1;;;;;;1938:41:179;;;;;;;;1794:32:169;;;::::1;::::0;1507:10473;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106100f55760003560e01c8063a21f9a2c11610097578063c32990a211610066578063c32990a2146103df578063c54efee5146103e7578063e7c45690146105a9578063f7d882b5146105b1576100f5565b8063a21f9a2c14610217578063b23228cf1461023b578063b9dfbacc14610243578063c29fa9dd14610311576100f5565b8063257cb1a3116100d3578063257cb1a3146101f75780633ffc1591146101ff57806340da225d14610207578063863e5ad01461020f576100f5565b8063080456c1146100fa578063099f75151461011f578063131461c0146101ef575b600080fd5b6101026105b9565b604080516001600160e01b03199092168252519081900360200190f35b6101ed6004803603606081101561013557600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561015f57600080fd5b82018360208201111561017157600080fd5b803590602001918460018302840111600160201b8311171561019257600080fd5b919390929091602081019035600160201b8111156101af57600080fd5b8201836020820111156101c157600080fd5b803590602001918460018302840111600160201b831117156101e257600080fd5b5090925090506105dd565b005b610102610734565b610102610758565b61010261077c565b6101026107a0565b6101026107c4565b61021f6107e8565b604080516001600160a01b039092168252519081900360200190f35b61010261080c565b6101ed6004803603606081101561025957600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561028357600080fd5b82018360208201111561029557600080fd5b803590602001918460018302840111600160201b831117156102b657600080fd5b919390929091602081019035600160201b8111156102d357600080fd5b8201836020820111156102e557600080fd5b803590602001918460018302840111600160201b8311171561030657600080fd5b509092509050610830565b6101ed6004803603606081101561032757600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561035157600080fd5b82018360208201111561036357600080fd5b803590602001918460018302840111600160201b8311171561038457600080fd5b919390929091602081019035600160201b8111156103a157600080fd5b8201836020820111156103b357600080fd5b803590602001918460018302840111600160201b831117156103d457600080fd5b509092509050610946565b610102610ac4565b610474600480360360608110156103fd57600080fd5b6001600160a01b03823516916001600160e01b031960208201351691810190606081016040820135600160201b81111561043657600080fd5b82018360208201111561044857600080fd5b803590602001918460018302840111600160201b8311171561046957600080fd5b509092509050610ae8565b6040518086600281111561048457fe5b815260200180602001806020018060200180602001858103855289818151815260200191508051906020019060200280838360005b838110156104d15781810151838201526020016104b9565b50505050905001858103845288818151815260200191508051906020019060200280838360005b838110156105105781810151838201526020016104f8565b50505050905001858103835287818151815260200191508051906020019060200280838360005b8381101561054f578181015183820152602001610537565b50505050905001858103825286818151815260200191508051906020019060200280838360005b8381101561058e578181015183820152602001610576565b50505050905001995050505050505050505060405180910390f35b61021f610baa565b610102610bce565b7f8334eb99be0145865eba9889fca2ee920288090caefff4cc776038e20ad9259a81565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106445760405162461bcd60e51b8152600401808060200182810382526032815260200180611db46032913960400191505060405180910390fd5b8482828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f88018190048102820181019092528681526060935083925082916106c091908990899081908401838280828437600092019190915250610bf292505050565b92509250925061070d816000815181106106d657fe5b6020026020010151846000815181106106eb57fe5b60200260200101518460008151811061070057fe5b6020026020010151610daf565b505050606061071b82610bf2565b925050506107298382610e55565b505050505050505050565b7f29fa046e79524c3c5ac4c01df692c35e217802b2b13b21121b76cf0ef02b138c81565b7f099f75155f0e997bf83a7993a71d5e7e7540bd386fe1e84643a09ce6b412521981565b7ffa7dd04da627f433da73c4355ead9c75682a67a8fc84d3f6170ef0922f402d2481565b7fb9dfbaccbe5cd2a84fdcf1d15f23ef25d23086f5afbaa99516065ed4a5bbc7a381565b7f03e38a2bd7063d45c897edeafc330e71657502dd86434d3c37a489caf116af6981565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f68e30677f607df46e87da13e15b637784cfa62374b653f35ab43d10361a2f83081565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146108975760405162461bcd60e51b8152600401808060200182810382526032815260200180611db46032913960400191505060405180910390fd5b8482828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250604080516020601f8c018190048102820181019092528a815291945061090e93509091508990899081908401838280828437600092019190915250610fb092505050565b905061091981610fcf565b61092b8861092683611045565b610e55565b5050606061093882610bf2565b505090506107298382610e55565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146109ad5760405162461bcd60e51b8152600401808060200182810382526032815260200180611db46032913960400191505060405180910390fd5b8482828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250604080516020601f8c018190048102820181019092528a8152919450610a249350909150899089908190840183828082843760009201919091525061124d92505050565b50509050610aaa81826001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610a7957600080fd5b505afa158015610a8d573d6000803e3d6000fd5b505050506040513d6020811015610aa357600080fd5b5051611281565b610ab78861092683611045565b5050606061071b82610bf2565b7f0e7f692dad5b88fdee426250d6eae91207e56a2e8112b7364579bed1790e5bf481565b600060608080806001600160e01b03198816632e77eeb360e21b1415610b2257610b138988886112f7565b94509450945094509450610b9f565b6001600160e01b0319881663099f751560e01b1415610b4557610b1387876114dc565b6001600160e01b0319881663c29fa9dd60e01b1415610b6857610b13878761168f565b60405162461bcd60e51b8152600401808060200182810382526027815260200180611ea66027913960400191505060405180910390fd5b945094509450945094565b7f000000000000000000000000000000000000000000000000000000000000000090565b7fc29fa9dde84204c2908778afd0613d802d31cf046179b88f6d2b4a4e507ea2d581565b6060806060838060200190516060811015610c0c57600080fd5b8101908080516040519392919084600160201b821115610c2b57600080fd5b908301906020820185811115610c4057600080fd5b82518660208202830111600160201b82111715610c5c57600080fd5b82525081516020918201928201910280838360005b83811015610c89578181015183820152602001610c71565b5050505090500160405260200180516040519392919084600160201b821115610cb157600080fd5b908301906020820185811115610cc657600080fd5b82518660208202830111600160201b82111715610ce257600080fd5b82525081516020918201928201910280838360005b83811015610d0f578181015183820152602001610cf7565b5050505090500160405260200180516040519392919084600160201b821115610d3757600080fd5b908301906020820185811115610d4c57600080fd5b82518660208202830111600160201b82111715610d6857600080fd5b82525081516020918201928201910280838360005b83811015610d95578181015183820152602001610d7d565b505050509050016040525050509250925092509193909250565b610dba8284836117e0565b60408051632befabbf60e01b81526004810183905260016024820152731ad1fc9964c551f456238dd88d6a38344b5319d7604482015290516001600160a01b03851691632befabbf9160648083019260209291908290030181600087803b158015610e2457600080fd5b505af1158015610e38573d6000803e3d6000fd5b505050506040513d6020811015610e4e57600080fd5b5050505050565b6060815167ffffffffffffffff81118015610e6f57600080fd5b50604051908082528060200260200182016040528015610e99578160200160208202803683370190505b50905060005b8251811015610fa9576000838281518110610eb657fe5b60200260200101519050806001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610f0d57600080fd5b505afa158015610f21573d6000803e3d6000fd5b505050506040513d6020811015610f3757600080fd5b50518351849084908110610f4757fe5b6020026020010181815250506000838381518110610f6157fe5b60200260200101511115610fa057610fa085848481518110610f7f57fe5b6020026020010151836001600160a01b03166118989092919063ffffffff16565b50600101610e9f565b5092915050565b6000818060200190516020811015610fc757600080fd5b505192915050565b806001600160a01b0316638b30b51660006040518263ffffffff1660e01b815260040180828152602001915050602060405180830381600087803b15801561101657600080fd5b505af115801561102a573d6000803e3d6000fd5b505050506040513d602081101561104057600080fd5b505050565b604080516350b28af760e01b8152600060048201819052915160609284926001600160a01b038416926350b28af792602480840193919291829003018186803b15801561109157600080fd5b505afa1580156110a5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260208110156110ce57600080fd5b8101908080516040519392919084600160201b8211156110ed57600080fd5b90830190602082018581111561110257600080fd5b82518660208202830111600160201b8211171561111e57600080fd5b82525081516020918201928201910280838360005b8381101561114b578181015183820152602001611133565b505050509050016040525050505167ffffffffffffffff8111801561116f57600080fd5b50604051908082528060200260200182016040528015611199578160200160208202803683370190505b50915060005b825181101561124657816001600160a01b031663746daa4e826040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156111ec57600080fd5b505afa158015611200573d6000803e3d6000fd5b505050506040513d602081101561121657600080fd5b5051835184908390811061122657fe5b6001600160a01b039092166020928302919091019091015260010161119f565b5050919050565b600080600083806020019051606081101561126757600080fd5b508051602082015160409092015190969195509350915050565b816001600160a01b0316638b30b516826040518263ffffffff1660e01b815260040180828152602001915050602060405180830381600087803b1580156112c757600080fd5b505af11580156112db573d6000803e3d6000fd5b505050506040513d60208110156112f157600080fd5b50505050565b6000606080606080600061134088888080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610fb092505050565b9050600061134d826118ea565b6001600160a01b031614156113935760405162461bcd60e51b8152600401808060200182810382526033815260200180611de66033913960400191505060405180910390fd5b604080516001808252818301909252906020808301908036833701905050945080856000815181106113c157fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509350806001600160a01b03166370a082318a6040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561144457600080fd5b505afa158015611458573d6000803e3d6000fd5b505050506040513d602081101561146e57600080fd5b50518451859060009061147d57fe5b60209081029190910101526002858560006040519080825280602002602001820160405280156114b7578160200160208202803683370190505b50604080516000815260208101909152939d929c50909a509850909650945050505050565b600060608060608060008060006115288a8a8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061124d92505050565b9250925092506000611539846118ea565b90506001600160a01b0381166115805760405162461bcd60e51b815260040180806020018281038252602b815260200180611d63602b913960400191505060405180910390fd5b604080516001808252818301909252906020808301908036833701905050975080886000815181106115ae57fe5b6001600160a01b039290921660209283029190910182015260408051600180825281830190925291828101908036833701905050965082876000815181106115f257fe5b602090810291909101015260408051600180825281830190925290816020016020820280368337019050509550838660008151811061162d57fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509450818560008151811061167157fe5b60200260200101818152505060029850505050509295509295909350565b600060608060608060008060006116db8a8a8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061124d92505050565b92509250925060006116ec846118ea565b90506001600160a01b0381166117335760405162461bcd60e51b815260040180806020018281038252602d815260200180611e19602d913960400191505060405180910390fd5b6040805160018082528183019092529060208083019080368337019050509750838860008151811061176157fe5b6001600160a01b039290921660209283029190910182015260408051600180825281830190925291828101908036833701905050965082876000815181106117a557fe5b602090810291909101015260408051600180825281830190925290816020016020820280368337019050509550808660008151811061162d57fe5b60408051636eb1769f60e11b81523060048201526001600160a01b038481166024830152915160009286169163dd62ed3e916044808301926020929190829003018186803b15801561183157600080fd5b505afa158015611845573d6000803e3d6000fd5b505050506040513d602081101561185b57600080fd5b50519050818110156112f1578015611882576118826001600160a01b038516846000611983565b6112f16001600160a01b03851684600019611983565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052611040908490611a92565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166366adb867836040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561195957600080fd5b505afa15801561196d573d6000803e3d6000fd5b505050506040513d6020811015610fc757600080fd5b801580611a09575060408051636eb1769f60e11b81523060048201526001600160a01b03848116602483015291519185169163dd62ed3e91604480820192602092909190829003018186803b1580156119db57600080fd5b505afa1580156119ef573d6000803e3d6000fd5b505050506040513d6020811015611a0557600080fd5b5051155b611a445760405162461bcd60e51b8152600401808060200182810382526036815260200180611e706036913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526110409084905b6060611ae7826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316611b439092919063ffffffff16565b80519091501561104057808060200190516020811015611b0657600080fd5b50516110405760405162461bcd60e51b815260040180806020018281038252602a815260200180611e46602a913960400191505060405180910390fd5b6060611b528484600085611b5c565b90505b9392505050565b606082471015611b9d5760405162461bcd60e51b8152600401808060200182810382526026815260200180611d8e6026913960400191505060405180910390fd5b611ba685611cb8565b611bf7576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b60208310611c365780518252601f199092019160209182019101611c17565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114611c98576040519150601f19603f3d011682016040523d82523d6000602084013e611c9d565b606091505b5091509150611cad828286611cbe565b979650505050505050565b3b151590565b60608315611ccd575081611b55565b825115611cdd5782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611d27578181015183820152602001611d0f565b50505050905090810190601f168015611d545780820380516001836020036101000a031916815260200191505b509250505060405180910390fdfe5f5f7061727365417373657473466f724c656e643a20556e737570706f727465642069646c65546f6b656e416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c4f6e6c792074686520496e746567726174696f6e4d616e616765722063616e2063616c6c20746869732066756e6374696f6e5f5f7061727365417373657473466f72436c61696d526577617264733a20556e737570706f727465642069646c65546f6b656e5f5f7061727365417373657473466f7252656465656d3a20556e737570706f727465642069646c65546f6b656e5361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e63657061727365417373657473466f72416374696f6e3a205f73656c6563746f7220696e76616c6964a164736f6c634300060c000a", "sourceMap": "1507:10473:169:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1490:119:180;;;:::i;:::-;;;;-1:-1:-1;;;;;;1490:119:180;;;;;;;;;;;;;;2763:562:169;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2763:562:169;;;;;;;;;;;;;;;-1:-1:-1;;;2763:562:169;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2763:562:169;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2763:562:169;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2763:562:169;;;;;;;;;;-1:-1:-1;2763:562:169;;-1:-1:-1;2763:562:169;-1:-1:-1;2763:562:169;:::i;:::-;;1373:111:180;;;:::i;832:85::-;;;:::i;1034:87::-;;;:::i;1240:110::-;;;:::i;706:104::-;;;:::i;11864:114:169:-;;;:::i;:::-;;;;-1:-1:-1;;;;;11864:114:169;;;;;;;;;;;;;;1127:91:180;;;:::i;2097:454:169:-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2097:454:169;;;;;;;;;;;;;;;-1:-1:-1;;;2097:454:169;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2097:454:169;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2097:454:169;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2097:454:169;;;;;;;;;;-1:-1:-1;2097:454:169;;-1:-1:-1;2097:454:169;-1:-1:-1;2097:454:169;:::i;4012:488::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4012:488:169;;;;;;;;;;;;;;;-1:-1:-1;;;4012:488:169;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4012:488:169;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4012:488:169;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4012:488:169;;;;;;;;;;-1:-1:-1;4012:488:169;;-1:-1:-1;4012:488:169;-1:-1:-1;4012:488:169;:::i;577:123:180:-;;;:::i;5532:889:169:-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5532:889:169;;;;-1:-1:-1;;;;;;5532:889:169;;;;;;;;;;;;;;;;-1:-1:-1;;;5532:889:169;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5532:889:169;;;;;;;;;;-1:-1:-1;5532:889:169;;-1:-1:-1;5532:889:169;-1:-1:-1;5532:889:169;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2637:128:179;;;:::i;923:89:180:-;;;:::i;1490:119::-;1558:50;1490:119;:::o;2763:562:169:-;1747:10:179;-1:-1:-1;;;;;1761:19:179;1747:33;;1726:130;;;;-1:-1:-1;;;1726:130:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2967:11:169::1;2980:10;;987:278:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;;3209:29:169::2;::::0;;::::2;987:278:179::1;3209:29:169::0;::::2;::::0;;::::2;::::0;::::2;::::0;;;;;;;;;;3075:28:::2;::::0;-1:-1:-1;3075:28:169;;-1:-1:-1;3075:28:169;;3209:29:::2;::::0;;3227:10;;;;;;3209:29;::::2;3227:10:::0;;;;3209:29;::::2;;::::0;::::2;::::0;;;;-1:-1:-1;3209:17:169::2;::::0;-1:-1:-1;;;3209:29:169:i:2;:::-;3061:177;;;;;;3249:69;3262:14;3277:1;3262:17;;;;;;;;;;;;;;3281:11;3293:1;3281:14;;;;;;;;;;;;;;3297:17;3315:1;3297:20;;;;;;;;;;;;;;3249:12;:69::i;:::-;1114:1:179;;;1131:31:::1;1166:29;1184:10;1166:17;:29::i;:::-;1126:69;;;;1206:52;1230:11;1243:14;1206:23;:52::i;:::-;;1866:1;;;2763:562:169::0;;;;;:::o;1373:111:180:-;1437:46;1373:111;:::o;832:85::-;878:38;832:85;:::o;1034:87::-;1081:39;1034:87;:::o;1240:110::-;1303:46;1240:110;:::o;706:104::-;766:43;706:104;:::o;11864:114:169:-;11956:15;11864:114;:::o;1127:91:180:-;1176:41;1127:91;:::o;2097:454:169:-;1747:10:179;-1:-1:-1;;;;;1761:19:179;1747:33;;1726:130;;;;-1:-1:-1;;;1726:130:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2318:11:169::1;2331:10;;1429:247:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;-1:-1:-1;2377:41:169::2;::::0;;::::2;1429:247:179::1;2377:41:169::0;::::2;::::0;;::::2;::::0;::::2;::::0;;;;;;;;;;1429:247:179;;-1:-1:-1;2377:41:169::2;::::0;-1:-1:-1;2377:41:169;;-1:-1:-1;2406:11:169;;;;;;2377:41;::::2;2406:11:::0;;;;2377:41;::::2;;::::0;::::2;::::0;;;;-1:-1:-1;2377:28:169::2;::::0;-1:-1:-1;;;2377:41:169:i:2;:::-;2357:61;;2429:31;2450:9;2429:20;:31::i;:::-;2471:73;2495:11;2508:35;2533:9;2508:24;:35::i;:::-;2471:23;:73::i;:::-;;1531:1:179;1544:28:::1;1580:29;1598:10;1580:17;:29::i;:::-;1543:66;;;;1620:49;1644:11;1657;1620:23;:49::i;4012:488:169:-:0;1747:10:179;-1:-1:-1;;;;;1761:19:179;1747:33;;1726:130;;;;-1:-1:-1;;;1726:130:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4230:11:169::1;4243:10;;987:278:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;-1:-1:-1;4295:35:169::2;::::0;;::::2;987:278:179::1;4295:35:169::0;::::2;::::0;;::::2;::::0;::::2;::::0;;;;;;;;;;987:278:179;;-1:-1:-1;4295:35:169::2;::::0;-1:-1:-1;4295:35:169;;-1:-1:-1;4318:11:169;;;;;;4295:35;::::2;4318:11:::0;;;;4295:35;::::2;;::::0;::::2;::::0;;;;-1:-1:-1;4295:22:169::2;::::0;-1:-1:-1;;;4295:35:169:i:2;:::-;4269:61;;;;4341:68;4356:9;4373;-1:-1:-1::0;;;;;4367:26:169::2;;4402:4;4367:41;;;;;;;;;;;;;-1:-1:-1::0;;;;;4367:41:169::2;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;::::0;::::2;;;;;;;;;;;;;;;;;;;::::0;::::2;;-1:-1:-1::0;4367:41:169;4341:14:::2;:68::i;:::-;4420:73;4444:11;4457:35;4482:9;4457:24;:35::i;4420:73::-;;1114:1:179;1131:31:::1;1166:29;1184:10;1166:17;:29::i;577:123:180:-:0;647:52;577:123;:::o;5532:889:169:-;5736:64;5814:29;;;;-1:-1:-1;;;;;;6022:35:169;;-1:-1:-1;;;6022:35:169;6018:337;;;6080:54;6109:11;6122;;6080:28;:54::i;:::-;6073:61;;;;;;;;;;;;6018:337;-1:-1:-1;;;;;;6155:26:169;;-1:-1:-1;;;6155:26:169;6151:204;;;6204:33;6225:11;;6204:20;:33::i;6151:204::-;-1:-1:-1;;;;;;6258:28:169;;-1:-1:-1;;;6258:28:169;6254:101;;;6309:35;6332:11;;6309:22;:35::i;6254:101::-;6365:49;;-1:-1:-1;;;6365:49:169;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5532:889;;;;;;;;;;:::o;2637:128:179:-;2739:19;2637:128;:::o;923:89:180:-;971:40;923:89;:::o;2093:332:179:-;2205:29;2248:35;2297:32;2372:10;2361:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;-1:-1:-1;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;-1:-1:-1;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;-1:-1:-1;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2354:64;;;;;;2093:332;;;;;:::o;1612:314:190:-;1751:69;1777:11;1790:10;1802:17;1751:25;:69::i;:::-;1830:89;;;-1:-1:-1;;;1830:89:190;;;;;;;;1888:4;1830:89;;;;650:42;1830:89;;;;;;-1:-1:-1;;;;;1830:38:190;;;;;:89;;;;;;;;;;;;;;-1:-1:-1;1830:38:190;:89;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1612:314:190:o;3539:585:355:-;3649:36;3737:7;:14;3723:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3723:29:355;;3701:51;;3767:9;3762:319;3782:7;:14;3778:1;:18;3762:319;;;3817:19;3845:7;3853:1;3845:10;;;;;;;;;;;;;;3817:39;;3895:13;-1:-1:-1;;;;;3895:23:355;;3927:4;3895:38;;;;;;;;;;;;;-1:-1:-1;;;;;3895:38:355;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3895:38:355;3870:22;;:19;;3890:1;;3870:22;;;;;;;;;;;:63;;;;;3976:1;3951:19;3971:1;3951:22;;;;;;;;;;;;;;:26;3947:124;;;3997:59;4024:7;4033:19;4053:1;4033:22;;;;;;;;;;;;;;3997:13;-1:-1:-1;;;;;3997:26:355;;;:59;;;;;:::i;:::-;-1:-1:-1;3798:3:355;;3762:319;;;;3539:585;;;;:::o;10715:192:169:-;10825:18;10877:11;10866:34;;;;;;;;;;;;;;;-1:-1:-1;10866:34:169;;10715:192;-1:-1:-1;;10715:192:169:o;867:119:190:-;949:10;-1:-1:-1;;;;;936:40:190;;977:1;936:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;867:119:190:o;1064:489::-;1311:49;;;-1:-1:-1;;;1311:49:190;;1212:30;1311:49;;;;;;;;1165:31;;1258:10;;-1:-1:-1;;;;;1311:37:190;;;;;:49;;;;;1212:30;;1311:49;;;;;;:37;:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1311:49:190;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1311:49:190;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1311:49:190;;;;;;;;;;;;-1:-1:-1;1311:49:190;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:56;1297:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1297:71:190;;1280:88;;1383:9;1378:137;1398:14;:21;1394:1;:25;1378:137;;;1473:17;-1:-1:-1;;;;;1460:41:190;;1502:1;1460:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1460:44:190;1440:17;;:14;;1455:1;;1440:17;;;;;;-1:-1:-1;;;;;1440:64:190;;;:17;;;;;;;;;;;:64;1421:3;;1378:137;;;;1525:21;1064:489;;;:::o;11343:322:169:-;11460:18;11492:32;11538:36;11617:11;11606:52;;;;;;;;;;;;;;;-1:-1:-1;11606:52:169;;;;;;;;;;;;;;;-1:-1:-1;11606:52:169;-1:-1:-1;11343:322:169;-1:-1:-1;;11343:322:169:o;1987:154:190:-;2089:10;-1:-1:-1;;;;;2076:40:190;;2117:16;2076:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;1987:154:190:o;6550:1067:169:-;6696:64;6774:29;6817:35;6866:32;6912:41;6978:17;6998:41;7027:11;;6998:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6998:28:169;;-1:-1:-1;;;6998:41:169:i;:::-;6978:61;-1:-1:-1;7121:1:169;7071:38;6978:61;7071:27;:38::i;:::-;-1:-1:-1;;;;;7071:52:169;;;7050:150;;;;-1:-1:-1;;;7050:150:169;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7226:16;;;7240:1;7226:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7226:16:169;7211:31;;7270:9;7252:12;7265:1;7252:15;;;;;;;;-1:-1:-1;;;;;7252:27:169;;;;:15;;;;;;;;;;:27;7311:16;;;7325:1;7311:16;;;;;;;;;;;;;;7252:15;7311:16;;;;;-1:-1:-1;7311:16:169;7290:37;;7367:9;-1:-1:-1;;;;;7361:26:169;;7388:11;7361:39;;;;;;;;;;;;;-1:-1:-1;;;;;7361:39:169;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7361:39:169;7337:21;;:18;;7356:1;;7337:21;;;;;;;;;;;;;:63;7432:50;7496:12;7522:18;7568:1;7554:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7554:16:169;-1:-1:-1;7584:16:169;;;7598:1;7584:16;;;;;;;;7411:199;;;;-1:-1:-1;7411:199:169;;-1:-1:-1;7411:199:169;-1:-1:-1;7584:16:169;;-1:-1:-1;7411:199:169;-1:-1:-1;;;;;6550:1067:169:o;7738:1345::-;7855:64;7933:29;7976:35;8025:32;8071:41;8151:17;8182:32;8228:34;8275:33;8296:11;;8275:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8275:20:169;;-1:-1:-1;;;8275:33:169:i;:::-;8137:171;;;;;;8319:18;8340:38;8368:9;8340:27;:38::i;:::-;8319:59;-1:-1:-1;;;;;;8396:24:169;;8388:80;;;;-1:-1:-1;;;8388:80:169;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8494:16;;;8508:1;8494:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8494:16:169;8479:31;;8538:10;8520:12;8533:1;8520:15;;;;;;;;-1:-1:-1;;;;;8520:28:169;;;;:15;;;;;;;;;;:28;8580:16;;;8594:1;8580:16;;;;;;;;;;;;;;8520:15;8580:16;;;;;-1:-1:-1;8580:16:169;8559:37;;8630:24;8606:18;8625:1;8606:21;;;;;;;;;;;;;;;;;:48;8683:16;;;8697:1;8683:16;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8683:16:169;8665:34;;8730:9;8709:15;8725:1;8709:18;;;;;;;;-1:-1:-1;;;;;8709:30:169;;;;:18;;;;;;;;;;:30;8777:16;;;8791:1;8777:16;;;;;;;;;;;;;;8709:18;8777:16;;;;;-1:-1:-1;8777:16:169;8750:43;;8833:26;8803:24;8828:1;8803:27;;;;;;;;;;;;;:56;;;;;8891:50;8870:206;;;;;;7738:1345;;;;;;;;:::o;9206:1351::-;9325:64;9403:29;9446:35;9495:32;9541:41;9621:17;9652:31;9697:35;9745;9768:11;;9745:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9745:22:169;;-1:-1:-1;;;9745:35:169:i;:::-;9607:173;;;;;;9791:18;9812:38;9840:9;9812:27;:38::i;:::-;9791:59;-1:-1:-1;;;;;;9868:24:169;;9860:82;;;;-1:-1:-1;;;9860:82:169;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9968:16;;;9982:1;9968:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9968:16:169;9953:31;;10012:9;9994:12;10007:1;9994:15;;;;;;;;-1:-1:-1;;;;;9994:27:169;;;;:15;;;;;;;;;;:27;10053:16;;;10067:1;10053:16;;;;;;;;;;;;;;9994:15;10053:16;;;;;-1:-1:-1;10053:16:169;10032:37;;10103:23;10079:18;10098:1;10079:21;;;;;;;;;;;;;;;;;:47;10155:16;;;10169:1;10155:16;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10155:16:169;10137:34;;10202:10;10181:15;10197:1;10181:18;;;;;;;2554:434:355;2714:47;;;-1:-1:-1;;;2714:47:355;;2746:4;2714:47;;;;-1:-1:-1;;;;;2714:47:355;;;;;;;;;2694:17;;2714:23;;;;;:47;;;;;;;;;;;;;;:23;:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2714:47:355;;-1:-1:-1;2775:25:355;;;2771:211;;;2820:13;;2816:89;;2853:37;-1:-1:-1;;;;;2853:25:355;;2879:7;2888:1;2853:25;:37::i;:::-;2918:53;-1:-1:-1;;;;;2918:25:355;;2944:7;-1:-1:-1;;2918:25:355;:53::i;704:175:450:-;813:58;;;-1:-1:-1;;;;;813:58:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;813:58:450;-1:-1:-1;;;813:58:450;;;786:86;;806:5;;786:19;:86::i;4570:221:169:-;4673:19;4729:15;-1:-1:-1;;;;;4715:57:169;;4773:10;4715:69;;;;;;;;;;;;;-1:-1:-1;;;;;4715:69:169;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1348:613:450;1713:10;;;1712:62;;-1:-1:-1;1729:39:450;;;-1:-1:-1;;;1729:39:450;;1753:4;1729:39;;;;-1:-1:-1;;;;;1729:39:450;;;;;;;;;:15;;;;;;:39;;;;;;;;;;;;;;;:15;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1729:39:450;:44;1712:62;1704:150;;;;-1:-1:-1;;;1704:150:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1891:62;;;-1:-1:-1;;;;;1891:62:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1891:62:450;-1:-1:-1;;;1891:62:450;;;1864:90;;1884:5;;2967:751;3386:23;3412:69;3440:4;3412:69;;;;;;;;;;;;;;;;;3420:5;-1:-1:-1;;;;;3412:27:450;;;:69;;;;;:::i;:::-;3495:17;;3386:95;;-1:-1:-1;3495:21:450;3491:221;;3635:10;3624:30;;;;;;;;;;;;;;;-1:-1:-1;3624:30:450;3616:85;;;;-1:-1:-1;;;3616:85:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3581:193:451;3684:12;3715:52;3737:6;3745:4;3751:1;3754:12;3715:21;:52::i;:::-;3708:59;;3581:193;;;;;;:::o;4608:523::-;4735:12;4792:5;4767:21;:30;;4759:81;;;;-1:-1:-1;;;4759:81:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4858:18;4869:6;4858:10;:18::i;:::-;4850:60;;;;;-1:-1:-1;;;4850:60:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;4981:12;4995:23;5022:6;-1:-1:-1;;;;;5022:11:451;5042:5;5050:4;5022:33;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5022:33:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4980:75;;;;5072:52;5090:7;5099:10;5111:12;5072:17;:52::i;:::-;5065:59;4608:523;-1:-1:-1;;;;;;;4608:523:451:o;726:413::-;1086:20;1124:8;;;726:413::o;7091:725::-;7206:12;7234:7;7230:580;;;-1:-1:-1;7264:10:451;7257:17;;7230:580;7375:17;;:21;7371:429;;7633:10;7627:17;7693:15;7680:10;7676:2;7672:19;7665:44;7582:145;7772:12;7765:20;;-1:-1:-1;;;7765:20:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;", "linkReferences": {}, "immutableReferences": { "45199": [ { "start": 2026, "length": 32 }, { "start": 6382, "length": 32 } ], "49791": [ { "start": 1512, "length": 32 }, { "start": 2107, "length": 32 }, { "start": 2385, "length": 32 }, { "start": 2988, "length": 32 } ] } }, "methodIdentifiers": { "CLAIM_REWARDS_SELECTOR()": "40da225d", "LEND_AND_STAKE_SELECTOR()": "131461c0", "LEND_SELECTOR()": "257cb1a3", "REDEEM_SELECTOR()": "f7d882b5", "STAKE_SELECTOR()": "3ffc1591", "TAKE_MULTIPLE_ORDERS_SELECTOR()": "c32990a2", "TAKE_ORDER_SELECTOR()": "863e5ad0", "UNSTAKE_AND_REDEEM_SELECTOR()": "080456c1", "UNSTAKE_SELECTOR()": "b23228cf", "claimRewards(address,bytes,bytes)": "b9dfbacc", "getIdlePriceFeed()": "a21f9a2c", "getIntegrationManager()": "e7c45690", "lend(address,bytes,bytes)": "099f7515", "parseAssetsForAction(address,bytes4,bytes)": "c54efee5", "redeem(address,bytes,bytes)": "c29fa9dd" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_integrationManager\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_idlePriceFeed\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"CLAIM_REWARDS_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LEND_AND_STAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LEND_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"REDEEM_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"STAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TAKE_MULTIPLE_ORDERS_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TAKE_ORDER_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UNSTAKE_AND_REDEEM_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UNSTAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"_assetData\",\"type\":\"bytes\"}],\"name\":\"claimRewards\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getIdlePriceFeed\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"idlePriceFeed_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getIntegrationManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"integrationManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"_assetData\",\"type\":\"bytes\"}],\"name\":\"lend\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"_selector\",\"type\":\"bytes4\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"}],\"name\":\"parseAssetsForAction\",\"outputs\":[{\"internalType\":\"enum IIntegrationManager.SpendAssetsHandleType\",\"name\":\"spendAssetsHandleType_\",\"type\":\"uint8\"},{\"internalType\":\"address[]\",\"name\":\"spendAssets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"spendAssetAmounts_\",\"type\":\"uint256[]\"},{\"internalType\":\"address[]\",\"name\":\"incomingAssets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"minIncomingAssetAmounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"_assetData\",\"type\":\"bytes\"}],\"name\":\"redeem\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"There are some idiosyncrasies of reward accrual and claiming in IdleTokens that are handled by this adapter: - Rewards accrue to the IdleToken holder, but the accrued amount is passed to the recipient of a transfer. - Claiming rewards cannot be done on behalf of a holder, but must be done directly. - Claiming rewards occurs automatically upon redeeming, but there are situations when it is difficult to know whether to expect incoming rewards (e.g., after a user mints idleTokens and then redeems before any other user has interacted with the protocol, then getGovTokensAmounts() will return 0 balances). Because of this difficulty - and in keeping with how other adapters treat claimed rewards - this adapter does not report claimed rewards as incomingAssets.\",\"kind\":\"dev\",\"methods\":{\"claimRewards(address,bytes,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_assetData\":\"Parsed spend assets and incoming assets data for this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}},\"getIdlePriceFeed()\":{\"returns\":{\"idlePriceFeed_\":\"The `IDLE_PRICE_FEED` variable value\"}},\"getIntegrationManager()\":{\"returns\":{\"integrationManager_\":\"The `INTEGRATION_MANAGER` variable value\"}},\"lend(address,bytes,bytes)\":{\"params\":{\"_assetData\":\"Parsed spend assets and incoming assets data for this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}},\"parseAssetsForAction(address,bytes4,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_selector\":\"The function selector for the callOnIntegration\"},\"returns\":{\"incomingAssets_\":\"The assets to receive in the call\",\"minIncomingAssetAmounts_\":\"The min asset amounts to receive in the call\",\"spendAssetAmounts_\":\"The max asset amounts to spend in the call\",\"spendAssetsHandleType_\":\"A type that dictates how to handle granting the adapter access to spend assets (`None` by default)\",\"spendAssets_\":\"The assets to spend in the call\"}},\"redeem(address,bytes,bytes)\":{\"details\":\"This will also pay out any due gov token rewards. We use the full IdleToken balance of the current contract rather than the user input for the corner case of a prior balance existing in the current contract, which would throw off the per-user avg price of the IdleToken used by Idle, and would leave the initial token balance in the current contract post-tx.\",\"params\":{\"_actionData\":\"Data specific to this action\",\"_assetData\":\"Parsed spend assets and incoming assets data for this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}}},\"title\":\"IdleAdapter Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"claimRewards(address,bytes,bytes)\":{\"notice\":\"Claims rewards for a given IdleToken\"},\"getIdlePriceFeed()\":{\"notice\":\"Gets the `IDLE_PRICE_FEED` variable\"},\"getIntegrationManager()\":{\"notice\":\"Gets the `INTEGRATION_MANAGER` variable\"},\"lend(address,bytes,bytes)\":{\"notice\":\"Lends an amount of a token for idleToken\"},\"parseAssetsForAction(address,bytes4,bytes)\":{\"notice\":\"Parses the expected assets in a particular action\"},\"redeem(address,bytes,bytes)\":{\"notice\":\"Redeems an amount of idleToken for its underlying asset\"}},\"notice\":\"Adapter for Idle Lending \",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/integration-manager/integrations/adapters/IdleAdapter.sol\":\"IdleAdapter\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/extensions/integration-manager/IIntegrationManager.sol\":{\"keccak256\":\"0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23\",\"dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk\"]},\"contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol\":{\"keccak256\":\"0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336\",\"dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS\"]},\"contracts/release/extensions/integration-manager/integrations/adapters/IdleAdapter.sol\":{\"keccak256\":\"0xbe94b73ffef2a267d5768b3a8accc378aa05a4867e16b6857a8f8e63db91690a\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d7972debcaf753cbcf8e42178c404278f04b5f4236391d3c1130d4db77ee9af9\",\"dweb:/ipfs/QmT9qxRSdWsgra48EuXoSe3jaL8nWy2Xw8ertfNEfyaknu\"]},\"contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol\":{\"keccak256\":\"0x067e49bf0d3c1655ab41a413c65ccf61d4e593308132e1ffc484a0fadfbbaf26\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://387f425017e18e89cc1893521101fa99df595314847d0b3d9a1162369f714fcf\",\"dweb:/ipfs/Qmco3jCvuWAyfCpBYpGzHrQjiFJG63w1RJKcakoTEbxRQm\"]},\"contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol\":{\"keccak256\":\"0xfd34c7ca8231c6935e25dede32ca2b3121738e624d0fc896f7b895a731edcf88\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d492c061963d36d07718446db191d4c5a340c0d847f6cd209f027bd99f7cb176\",\"dweb:/ipfs/QmfCvRZt56ftDdrEh6LepHXFJ4fVtcfpQGvEyY8k4zxG1A\"]},\"contracts/release/extensions/integration-manager/integrations/utils/actions/IdleV4ActionsMixin.sol\":{\"keccak256\":\"0xe14415104949ac342909f7e8bf940fff6ed15405887cf911ef6627f8f3da876b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://beb595fcb77390ee338a872e29aecb8c5f72ba3a1a621cbe9d98d07a9012419a\",\"dweb:/ipfs/Qmb2GhgbDKfGiNWxEPaHn7tHR1FCzo1YxvwZuk1gYwCoUm\"]},\"contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol\":{\"keccak256\":\"0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e\",\"dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK\"]},\"contracts/release/infrastructure/price-feeds/derivatives/feeds/IdlePriceFeed.sol\":{\"keccak256\":\"0xaad9aa55d5fd26d0e87ed15ec0dddd39873658c8782e04c37959a01c380596b5\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d69dd5787d414949e4cf2a8a0001c17c7bec9fb97ff21ff2199b3c945c34f804\",\"dweb:/ipfs/QmYdkqzMjKuyzarhAoEJvAs8fZBGmK4exN9PKhj7fvHPAf\"]},\"contracts/release/infrastructure/price-feeds/derivatives/feeds/utils/SingleUnderlyingDerivativeRegistryMixin.sol\":{\"keccak256\":\"0xeb2aab819af80382ad562d5a80863484a42caa7888f811817eb283894a1852e7\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8846bfa874ede75fbcd3053d45a1647cad0aabbb26e4189998e8c517961c2bb6\",\"dweb:/ipfs/QmV4Bgx9VfX6kaoyZuaBDf2xyTY4ZmjniZTX8TrEmhU4Pv\"]},\"contracts/release/interfaces/IIdleTokenV4.sol\":{\"keccak256\":\"0x37cffc1fb284b9709f7f49db482a648b5c52bf2b930aa8992727ba38bfaf31f8\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5160ee920caf993cdae5bc66e572a9f9d18ed657ea6bb0c65869cf992856bcbe\",\"dweb:/ipfs/QmUKNFkcj6DotLcRcf5Ye6CiK1JnEMbeQf8AKSR6E3ygBW\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"contracts/release/utils/FundDeployerOwnerMixin.sol\":{\"keccak256\":\"0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927\",\"dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_integrationManager", "type": "address" }, { "internalType": "address", "name": "_idlePriceFeed", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "CLAIM_REWARDS_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "LEND_AND_STAKE_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "LEND_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "REDEEM_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "STAKE_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "TAKE_MULTIPLE_ORDERS_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "TAKE_ORDER_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "UNSTAKE_AND_REDEEM_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "UNSTAKE_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "bytes", "name": "_actionData", "type": "bytes" }, { "internalType": "bytes", "name": "_assetData", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "claimRewards" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getIdlePriceFeed", "outputs": [ { "internalType": "address", "name": "idlePriceFeed_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getIntegrationManager", "outputs": [ { "internalType": "address", "name": "integrationManager_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "bytes", "name": "", "type": "bytes" }, { "internalType": "bytes", "name": "_assetData", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "lend" }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "bytes4", "name": "_selector", "type": "bytes4" }, { "internalType": "bytes", "name": "_actionData", "type": "bytes" } ], "stateMutability": "view", "type": "function", "name": "parseAssetsForAction", "outputs": [ { "internalType": "enum IIntegrationManager.SpendAssetsHandleType", "name": "spendAssetsHandleType_", "type": "uint8" }, { "internalType": "address[]", "name": "spendAssets_", "type": "address[]" }, { "internalType": "uint256[]", "name": "spendAssetAmounts_", "type": "uint256[]" }, { "internalType": "address[]", "name": "incomingAssets_", "type": "address[]" }, { "internalType": "uint256[]", "name": "minIncomingAssetAmounts_", "type": "uint256[]" } ] }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "bytes", "name": "_actionData", "type": "bytes" }, { "internalType": "bytes", "name": "_assetData", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "redeem" } ], "devdoc": { "kind": "dev", "methods": { "claimRewards(address,bytes,bytes)": { "params": { "_actionData": "Data specific to this action", "_assetData": "Parsed spend assets and incoming assets data for this action", "_vaultProxy": "The VaultProxy of the calling fund" } }, "getIdlePriceFeed()": { "returns": { "idlePriceFeed_": "The `IDLE_PRICE_FEED` variable value" } }, "getIntegrationManager()": { "returns": { "integrationManager_": "The `INTEGRATION_MANAGER` variable value" } }, "lend(address,bytes,bytes)": { "params": { "_assetData": "Parsed spend assets and incoming assets data for this action", "_vaultProxy": "The VaultProxy of the calling fund" } }, "parseAssetsForAction(address,bytes4,bytes)": { "params": { "_actionData": "Data specific to this action", "_selector": "The function selector for the callOnIntegration" }, "returns": { "incomingAssets_": "The assets to receive in the call", "minIncomingAssetAmounts_": "The min asset amounts to receive in the call", "spendAssetAmounts_": "The max asset amounts to spend in the call", "spendAssetsHandleType_": "A type that dictates how to handle granting the adapter access to spend assets (`None` by default)", "spendAssets_": "The assets to spend in the call" } }, "redeem(address,bytes,bytes)": { "details": "This will also pay out any due gov token rewards. We use the full IdleToken balance of the current contract rather than the user input for the corner case of a prior balance existing in the current contract, which would throw off the per-user avg price of the IdleToken used by Idle, and would leave the initial token balance in the current contract post-tx.", "params": { "_actionData": "Data specific to this action", "_assetData": "Parsed spend assets and incoming assets data for this action", "_vaultProxy": "The VaultProxy of the calling fund" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "claimRewards(address,bytes,bytes)": { "notice": "Claims rewards for a given IdleToken" }, "getIdlePriceFeed()": { "notice": "Gets the `IDLE_PRICE_FEED` variable" }, "getIntegrationManager()": { "notice": "Gets the `INTEGRATION_MANAGER` variable" }, "lend(address,bytes,bytes)": { "notice": "Lends an amount of a token for idleToken" }, "parseAssetsForAction(address,bytes4,bytes)": { "notice": "Parses the expected assets in a particular action" }, "redeem(address,bytes,bytes)": { "notice": "Redeems an amount of idleToken for its underlying asset" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/integration-manager/integrations/adapters/IdleAdapter.sol": "IdleAdapter" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/core/fund-deployer/IFundDeployer.sol": { "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", "urls": [ "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/IIntegrationManager.sol": { "keccak256": "0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef", "urls": [ "bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23", "dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol": { "keccak256": "0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1", "urls": [ "bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336", "dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/adapters/IdleAdapter.sol": { "keccak256": "0xbe94b73ffef2a267d5768b3a8accc378aa05a4867e16b6857a8f8e63db91690a", "urls": [ "bzz-raw://d7972debcaf753cbcf8e42178c404278f04b5f4236391d3c1130d4db77ee9af9", "dweb:/ipfs/QmT9qxRSdWsgra48EuXoSe3jaL8nWy2Xw8ertfNEfyaknu" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol": { "keccak256": "0x067e49bf0d3c1655ab41a413c65ccf61d4e593308132e1ffc484a0fadfbbaf26", "urls": [ "bzz-raw://387f425017e18e89cc1893521101fa99df595314847d0b3d9a1162369f714fcf", "dweb:/ipfs/Qmco3jCvuWAyfCpBYpGzHrQjiFJG63w1RJKcakoTEbxRQm" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol": { "keccak256": "0xfd34c7ca8231c6935e25dede32ca2b3121738e624d0fc896f7b895a731edcf88", "urls": [ "bzz-raw://d492c061963d36d07718446db191d4c5a340c0d847f6cd209f027bd99f7cb176", "dweb:/ipfs/QmfCvRZt56ftDdrEh6LepHXFJ4fVtcfpQGvEyY8k4zxG1A" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/utils/actions/IdleV4ActionsMixin.sol": { "keccak256": "0xe14415104949ac342909f7e8bf940fff6ed15405887cf911ef6627f8f3da876b", "urls": [ "bzz-raw://beb595fcb77390ee338a872e29aecb8c5f72ba3a1a621cbe9d98d07a9012419a", "dweb:/ipfs/Qmb2GhgbDKfGiNWxEPaHn7tHR1FCzo1YxvwZuk1gYwCoUm" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol": { "keccak256": "0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332", "urls": [ "bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e", "dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/price-feeds/derivatives/feeds/IdlePriceFeed.sol": { "keccak256": "0xaad9aa55d5fd26d0e87ed15ec0dddd39873658c8782e04c37959a01c380596b5", "urls": [ "bzz-raw://d69dd5787d414949e4cf2a8a0001c17c7bec9fb97ff21ff2199b3c945c34f804", "dweb:/ipfs/QmYdkqzMjKuyzarhAoEJvAs8fZBGmK4exN9PKhj7fvHPAf" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/price-feeds/derivatives/feeds/utils/SingleUnderlyingDerivativeRegistryMixin.sol": { "keccak256": "0xeb2aab819af80382ad562d5a80863484a42caa7888f811817eb283894a1852e7", "urls": [ "bzz-raw://8846bfa874ede75fbcd3053d45a1647cad0aabbb26e4189998e8c517961c2bb6", "dweb:/ipfs/QmV4Bgx9VfX6kaoyZuaBDf2xyTY4ZmjniZTX8TrEmhU4Pv" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IIdleTokenV4.sol": { "keccak256": "0x37cffc1fb284b9709f7f49db482a648b5c52bf2b930aa8992727ba38bfaf31f8", "urls": [ "bzz-raw://5160ee920caf993cdae5bc66e572a9f9d18ed657ea6bb0c65869cf992856bcbe", "dweb:/ipfs/QmUKNFkcj6DotLcRcf5Ye6CiK1JnEMbeQf8AKSR6E3ygBW" ], "license": "GPL-3.0" }, "contracts/release/utils/AddressArrayLib.sol": { "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", "urls": [ "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" ], "license": "GPL-3.0" }, "contracts/release/utils/AssetHelpers.sol": { "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", "urls": [ "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" ], "license": "GPL-3.0" }, "contracts/release/utils/FundDeployerOwnerMixin.sol": { "keccak256": "0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934", "urls": [ "bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927", "dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", "urls": [ "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Address.sol": { "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", "urls": [ "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" } }, "version": 1 }, "id": 169 } diff --git a/eth_defi/abi/enzyme/IdlePriceFeed.json b/eth_defi/abi/enzyme/IdlePriceFeed.json index 549412b9..399c229d 100644 --- a/eth_defi/abi/enzyme/IdlePriceFeed.json +++ b/eth_defi/abi/enzyme/IdlePriceFeed.json @@ -1,559 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_fundDeployer", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "derivative", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "underlying", - "type": "address" - } - ], - "name": "DerivativeAdded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "derivative", - "type": "address" - } - ], - "name": "DerivativeRemoved", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_derivatives", - "type": "address[]" - }, - { - "internalType": "address[]", - "name": "_underlyings", - "type": "address[]" - } - ], - "name": "addDerivatives", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_derivative", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_derivativeAmount", - "type": "uint256" - } - ], - "name": "calcUnderlyingValues", - "outputs": [ - { - "internalType": "address[]", - "name": "underlyings_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "underlyingAmounts_", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getFundDeployer", - "outputs": [ - { - "internalType": "address", - "name": "fundDeployer_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "owner_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_derivative", - "type": "address" - } - ], - "name": "getUnderlyingForDerivative", - "outputs": [ - { - "internalType": "address", - "name": "underlying_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_asset", - "type": "address" - } - ], - "name": "isSupportedAsset", - "outputs": [ - { - "internalType": "bool", - "name": "isSupported_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_derivatives", - "type": "address[]" - } - ], - "name": "removeDerivatives", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x60a060405234801561001057600080fd5b50604051610e5e380380610e5e8339818101604052602081101561003357600080fd5b5051606081901b6001600160601b0319166080526001600160a01b0316610df261006c600039806108b05280610af55250610df26000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c8063893d20e81161005b578063893d20e8146102b25780638f72b136146102ba57806397c0ac871461035d5780639be918e6146103655761007d565b806339cbb63c1461008257806366adb867146101ab578063727212f6146101ed575b600080fd5b6101a96004803603604081101561009857600080fd5b8101906020810181356401000000008111156100b357600080fd5b8201836020820111156100c557600080fd5b803590602001918460208302840111640100000000831117156100e757600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929594936020810193503591505064010000000081111561013757600080fd5b82018360208201111561014957600080fd5b8035906020019184602083028401116401000000008311171561016b57600080fd5b91908080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525092955061039f945050505050565b005b6101d1600480360360208110156101c157600080fd5b50356001600160a01b031661070c565b604080516001600160a01b039092168252519081900360200190f35b6102196004803603604081101561020357600080fd5b506001600160a01b03813516906020013561072a565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b8381101561025d578181015183820152602001610245565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561029c578181015183820152602001610284565b5050505090500194505050505060405180910390f35b6101d16108ac565b6101a9600480360360208110156102d057600080fd5b8101906020810181356401000000008111156102eb57600080fd5b8201836020820111156102fd57600080fd5b8035906020019184602083028401116401000000008311171561031f57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610938945050505050565b6101d1610af3565b61038b6004803603602081101561037b57600080fd5b50356001600160a01b0316610b17565b604080519115158252519081900360200190f35b6103a76108ac565b6001600160a01b0316336001600160a01b0316146103f65760405162461bcd60e51b8152600401808060200182810382526049815260200180610cd76049913960600191505060405180910390fd5b60008251116104365760405162461bcd60e51b8152600401808060200182810382526022815260200180610d986022913960400191505060405180910390fd5b805182511461048c576040805162461bcd60e51b815260206004820152601e60248201527f61646444657269766174697665733a20556e657175616c206172726179730000604482015290519081900360640190fd5b60005b82518110156107075760006001600160a01b03168382815181106104af57fe5b60200260200101516001600160a01b03161415610513576040805162461bcd60e51b815260206004820181905260248201527f61646444657269766174697665733a20456d7074792064657269766174697665604482015290519081900360640190fd5b60006001600160a01b031682828151811061052a57fe5b60200260200101516001600160a01b0316141561058e576040805162461bcd60e51b815260206004820181905260248201527f61646444657269766174697665733a20456d70747920756e6465726c79696e67604482015290519081900360640190fd5b60006001600160a01b03166105b58483815181106105a857fe5b602002602001015161070c565b6001600160a01b0316146105fa5760405162461bcd60e51b8152600401808060200182810382526021815260200180610d206021913960400191505060405180910390fd5b61062a83828151811061060957fe5b602002602001015183838151811061061d57fe5b6020026020010151610b34565b81818151811061063657fe5b602002602001015160008085848151811061064d57fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b031602179055508181815181106106a557fe5b60200260200101516001600160a01b03168382815181106106c257fe5b60200260200101516001600160a01b03167faa4ae250fb435bb4b31ed0b95822bc179fc6c5dd0c727c3ffe08d444025efd9860405160405180910390a360010161048f565b505050565b6001600160a01b039081166000908152602081905260409020541690565b604080516001808252818301909252606091829190602080830190803683370190505091506107588461070c565b8260008151811061076557fe5b60200260200101906001600160a01b031690816001600160a01b03168152505060006001600160a01b03168260008151811061079d57fe5b60200260200101516001600160a01b031614156107eb5760405162461bcd60e51b815260040180806020018281038252602c815260200180610dba602c913960400191505060405180910390fd5b604080516001808252818301909252906020808301908036833701905050905061088c670de0b6b3a7640000610886866001600160a01b0316637ff9b5966040518163ffffffff1660e01b815260040160206040518083038186803b15801561085357600080fd5b505afa158015610867573d6000803e3d6000fd5b505050506040513d602081101561087d57600080fd5b50518690610be8565b90610c4a565b8160008151811061089957fe5b6020026020010181815250509250929050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561090757600080fd5b505afa15801561091b573d6000803e3d6000fd5b505050506040513d602081101561093157600080fd5b5051905090565b6109406108ac565b6001600160a01b0316336001600160a01b03161461098f5760405162461bcd60e51b8152600401808060200182810382526049815260200180610cd76049913960600191505060405180910390fd5b60008151116109cf5760405162461bcd60e51b8152600401808060200182810382526025815260200180610cb26025913960400191505060405180910390fd5b60005b8151811015610aef5760006001600160a01b03166109f58383815181106105a857fe5b6001600160a01b03161415610a51576040805162461bcd60e51b815260206004820181905260248201527f72656d6f766544657269766174697665733a2056616c7565206e6f7420736574604482015290519081900360640190fd5b600080838381518110610a6057fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154906001600160a01b030219169055818181518110610aaa57fe5b60200260200101516001600160a01b03167fc15eb25d807b570f4567baf6e97c7b26d58a7d0512dc85e8db15375a056b860460405160405180910390a26001016109d2565b5050565b7f000000000000000000000000000000000000000000000000000000000000000090565b600080610b238361070c565b6001600160a01b0316141592915050565b806001600160a01b0316826001600160a01b031663fc0c546a6040518163ffffffff1660e01b815260040160206040518083038186803b158015610b7757600080fd5b505afa158015610b8b573d6000803e3d6000fd5b505050506040513d6020811015610ba157600080fd5b50516001600160a01b031614610aef5760405162461bcd60e51b8152600401808060200182810382526036815260200180610d416036913960400191505060405180910390fd5b600082610bf757506000610c44565b82820282848281610c0457fe5b0414610c415760405162461bcd60e51b8152600401808060200182810382526021815260200180610d776021913960400191505060405180910390fd5b90505b92915050565b6000808211610ca0576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b818381610ca957fe5b04939250505056fe72656d6f766544657269766174697665733a20456d707479205f64657269766174697665736f6e6c7946756e644465706c6f7965724f776e65723a204f6e6c79207468652046756e644465706c6f796572206f776e65722063616e2063616c6c20746869732066756e6374696f6e61646444657269766174697665733a2056616c756520616c7265616479207365745f5f76616c6964617465446572697661746976653a20496e76616c696420756e6465726c79696e6720666f722049646c65546f6b656e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7761646444657269766174697665733a20456d707479205f646572697661746976657363616c63556e6465726c79696e6756616c7565733a20556e737570706f727465642064657269766174697665a164736f6c634300060c000a", - "sourceMap": "617:2028:244:-:0;;;800:119;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;800:119:244;864:29:358;;;;-1:-1:-1;;;;;;864:29:358;;;-1:-1:-1;;;;;617:2028:244;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b506004361061007d5760003560e01c8063893d20e81161005b578063893d20e8146102b25780638f72b136146102ba57806397c0ac871461035d5780639be918e6146103655761007d565b806339cbb63c1461008257806366adb867146101ab578063727212f6146101ed575b600080fd5b6101a96004803603604081101561009857600080fd5b8101906020810181356401000000008111156100b357600080fd5b8201836020820111156100c557600080fd5b803590602001918460208302840111640100000000831117156100e757600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929594936020810193503591505064010000000081111561013757600080fd5b82018360208201111561014957600080fd5b8035906020019184602083028401116401000000008311171561016b57600080fd5b91908080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525092955061039f945050505050565b005b6101d1600480360360208110156101c157600080fd5b50356001600160a01b031661070c565b604080516001600160a01b039092168252519081900360200190f35b6102196004803603604081101561020357600080fd5b506001600160a01b03813516906020013561072a565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b8381101561025d578181015183820152602001610245565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561029c578181015183820152602001610284565b5050505090500194505050505060405180910390f35b6101d16108ac565b6101a9600480360360208110156102d057600080fd5b8101906020810181356401000000008111156102eb57600080fd5b8201836020820111156102fd57600080fd5b8035906020019184602083028401116401000000008311171561031f57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610938945050505050565b6101d1610af3565b61038b6004803603602081101561037b57600080fd5b50356001600160a01b0316610b17565b604080519115158252519081900360200190f35b6103a76108ac565b6001600160a01b0316336001600160a01b0316146103f65760405162461bcd60e51b8152600401808060200182810382526049815260200180610cd76049913960600191505060405180910390fd5b60008251116104365760405162461bcd60e51b8152600401808060200182810382526022815260200180610d986022913960400191505060405180910390fd5b805182511461048c576040805162461bcd60e51b815260206004820152601e60248201527f61646444657269766174697665733a20556e657175616c206172726179730000604482015290519081900360640190fd5b60005b82518110156107075760006001600160a01b03168382815181106104af57fe5b60200260200101516001600160a01b03161415610513576040805162461bcd60e51b815260206004820181905260248201527f61646444657269766174697665733a20456d7074792064657269766174697665604482015290519081900360640190fd5b60006001600160a01b031682828151811061052a57fe5b60200260200101516001600160a01b0316141561058e576040805162461bcd60e51b815260206004820181905260248201527f61646444657269766174697665733a20456d70747920756e6465726c79696e67604482015290519081900360640190fd5b60006001600160a01b03166105b58483815181106105a857fe5b602002602001015161070c565b6001600160a01b0316146105fa5760405162461bcd60e51b8152600401808060200182810382526021815260200180610d206021913960400191505060405180910390fd5b61062a83828151811061060957fe5b602002602001015183838151811061061d57fe5b6020026020010151610b34565b81818151811061063657fe5b602002602001015160008085848151811061064d57fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b031602179055508181815181106106a557fe5b60200260200101516001600160a01b03168382815181106106c257fe5b60200260200101516001600160a01b03167faa4ae250fb435bb4b31ed0b95822bc179fc6c5dd0c727c3ffe08d444025efd9860405160405180910390a360010161048f565b505050565b6001600160a01b039081166000908152602081905260409020541690565b604080516001808252818301909252606091829190602080830190803683370190505091506107588461070c565b8260008151811061076557fe5b60200260200101906001600160a01b031690816001600160a01b03168152505060006001600160a01b03168260008151811061079d57fe5b60200260200101516001600160a01b031614156107eb5760405162461bcd60e51b815260040180806020018281038252602c815260200180610dba602c913960400191505060405180910390fd5b604080516001808252818301909252906020808301908036833701905050905061088c670de0b6b3a7640000610886866001600160a01b0316637ff9b5966040518163ffffffff1660e01b815260040160206040518083038186803b15801561085357600080fd5b505afa158015610867573d6000803e3d6000fd5b505050506040513d602081101561087d57600080fd5b50518690610be8565b90610c4a565b8160008151811061089957fe5b6020026020010181815250509250929050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561090757600080fd5b505afa15801561091b573d6000803e3d6000fd5b505050506040513d602081101561093157600080fd5b5051905090565b6109406108ac565b6001600160a01b0316336001600160a01b03161461098f5760405162461bcd60e51b8152600401808060200182810382526049815260200180610cd76049913960600191505060405180910390fd5b60008151116109cf5760405162461bcd60e51b8152600401808060200182810382526025815260200180610cb26025913960400191505060405180910390fd5b60005b8151811015610aef5760006001600160a01b03166109f58383815181106105a857fe5b6001600160a01b03161415610a51576040805162461bcd60e51b815260206004820181905260248201527f72656d6f766544657269766174697665733a2056616c7565206e6f7420736574604482015290519081900360640190fd5b600080838381518110610a6057fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154906001600160a01b030219169055818181518110610aaa57fe5b60200260200101516001600160a01b03167fc15eb25d807b570f4567baf6e97c7b26d58a7d0512dc85e8db15375a056b860460405160405180910390a26001016109d2565b5050565b7f000000000000000000000000000000000000000000000000000000000000000090565b600080610b238361070c565b6001600160a01b0316141592915050565b806001600160a01b0316826001600160a01b031663fc0c546a6040518163ffffffff1660e01b815260040160206040518083038186803b158015610b7757600080fd5b505afa158015610b8b573d6000803e3d6000fd5b505050506040513d6020811015610ba157600080fd5b50516001600160a01b031614610aef5760405162461bcd60e51b8152600401808060200182810382526036815260200180610d416036913960400191505060405180910390fd5b600082610bf757506000610c44565b82820282848281610c0457fe5b0414610c415760405162461bcd60e51b8152600401808060200182810382526021815260200180610d776021913960400191505060405180910390fd5b90505b92915050565b6000808211610ca0576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b818381610ca957fe5b04939250505056fe72656d6f766544657269766174697665733a20456d707479205f64657269766174697665736f6e6c7946756e644465706c6f7965724f776e65723a204f6e6c79207468652046756e644465706c6f796572206f776e65722063616e2063616c6c20746869732066756e6374696f6e61646444657269766174697665733a2056616c756520616c7265616479207365745f5f76616c6964617465446572697661746976653a20496e76616c696420756e6465726c79696e6720666f722049646c65546f6b656e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7761646444657269766174697665733a20456d707479205f646572697661746976657363616c63556e6465726c79696e6756616c7565733a20556e737570706f727465642064657269766174697665a164736f6c634300060c000a", - "sourceMap": "617:2028:244:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1158:951:252;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1158:951:252;;;;;;;;-1:-1:-1;1158:951:252;;-1:-1:-1;;1158:951:252;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1158:951:252;;-1:-1:-1;1158:951:252;;-1:-1:-1;;;;;1158:951:252:i;:::-;;3223:186;;;;;;;;;;;;;;;;-1:-1:-1;3223:186:252;-1:-1:-1;;;;;3223:186:252;;:::i;:::-;;;;-1:-1:-1;;;;;3223:186:252;;;;;;;;;;;;;;1317:598:244;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1317:598:244;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1064:120:358;;;:::i;2225:523:252:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2225:523:252;;-1:-1:-1;2225:523:252;;-1:-1:-1;;;;;2225:523:252:i;1378:108:358:-;;;:::i;2088:165:244:-;;;;;;;;;;;;;;;;-1:-1:-1;2088:165:244;-1:-1:-1;;;;;2088:165:244;;:::i;:::-;;;;;;;;;;;;;;;;;;1158:951:252;679:10:358;:8;:10::i;:::-;-1:-1:-1;;;;;665:24:358;:10;-1:-1:-1;;;;;665:24:358;;644:144;;;;-1:-1:-1;;;644:144:358;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1351:1:252::1;1329:12;:19;:23;1321:70;;;;-1:-1:-1::0;;;1321:70:252::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1432:12;:19;1409:12;:19;:42;1401:85;;;::::0;;-1:-1:-1;;;1401:85:252;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;1502:9;1497:606;1517:12;:19;1513:1;:23;1497:606;;;1592:1;-1:-1:-1::0;;;;;1565:29:252::1;:12;1578:1;1565:15;;;;;;;;;;;;;;-1:-1:-1::0;;;;;1565:29:252::1;;;1557:74;;;::::0;;-1:-1:-1;;;1557:74:252;;::::1;;::::0;::::1;::::0;;;;;;;::::1;::::0;;;;;;;;;;;;;::::1;;1680:1;-1:-1:-1::0;;;;;1653:29:252::1;:12;1666:1;1653:15;;;;;;;;;;;;;;-1:-1:-1::0;;;;;1653:29:252::1;;;1645:74;;;::::0;;-1:-1:-1;;;1645:74:252;;::::1;;::::0;::::1;::::0;;;;;;;::::1;::::0;;;;;;;;;;;;;::::1;;1813:1;-1:-1:-1::0;;;;;1758:57:252::1;:43;1785:12;1798:1;1785:15;;;;;;;;;;;;;;1758:26;:43::i;:::-;-1:-1:-1::0;;;;;1758:57:252::1;;1733:149;;;;-1:-1:-1::0;;;1733:149:252::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1897:54;1918:12;1931:1;1918:15;;;;;;;;;;;;;;1935:12;1948:1;1935:15;;;;;;;;;;;;;;1897:20;:54::i;:::-;2008:12;2021:1;2008:15;;;;;;;;;;;;;;1966:22;:39:::0;1989:12:::1;2002:1;1989:15;;;;;;;;;;;;;;-1:-1:-1::0;;;;;1966:39:252::1;-1:-1:-1::0;;;;;1966:39:252::1;;;;;;;;;;;;;:57;;;;;-1:-1:-1::0;;;;;1966:57:252::1;;;;;-1:-1:-1::0;;;;;1966:57:252::1;;;;;;2076:12;2089:1;2076:15;;;;;;;;;;;;;;-1:-1:-1::0;;;;;2043:49:252::1;2059:12;2072:1;2059:15;;;;;;;;;;;;;;-1:-1:-1::0;;;;;2043:49:252::1;;;;;;;;;;;1538:3;;1497:606;;;;1158:951:::0;;:::o;3223:186::-;-1:-1:-1;;;;;3367:35:252;;;3325:19;3367:35;;;;;;;;;;;;;3223:186::o;1317:598:244:-;1543:16;;;1557:1;1543:16;;;;;;;;;1446:29;;;;1543:16;;;;;;;;;;;;-1:-1:-1;1543:16:244;1528:31;;1587:39;1614:11;1587:26;:39::i;:::-;1569:12;1582:1;1569:15;;;;;;;;;;;;;:57;-1:-1:-1;;;;;1569:57:244;;;-1:-1:-1;;;;;1569:57:244;;;;;1671:1;-1:-1:-1;;;;;1644:29:244;:12;1657:1;1644:15;;;;;;;;;;;;;;-1:-1:-1;;;;;1644:29:244;;;1636:86;;;;-1:-1:-1;;;1636:86:244;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1754:16;;;1768:1;1754:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1754:16:244;1733:37;;1804:104;787:6;1804:61;1839:11;-1:-1:-1;;;;;1826:36:244;;:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1826:38:244;1804:17;;:21;:61::i;:::-;:65;;:104::i;:::-;1780:18;1799:1;1780:21;;;;;;;;;;;;;:128;;;;;1317:598;;;;;:::o;1064:120:358:-;1105:14;1152:13;-1:-1:-1;;;;;1138:37:358;;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1138:39:358;;-1:-1:-1;1064:120:358;:::o;2225:523:252:-;679:10:358;:8;:10::i;:::-;-1:-1:-1;;;;;665:24:358;:10;-1:-1:-1;;;;;665:24:358;;644:144;;;;-1:-1:-1;;;644:144:358;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2354:1:252::1;2332:12;:19;:23;2324:73;;;;-1:-1:-1::0;;;2324:73:252::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2413:9;2408:334;2428:12;:19;2424:1;:23;2408:334;;;2548:1;-1:-1:-1::0;;;;;2493:57:252::1;:43;2520:12;2533:1;2520:15;;;;;;;2493:43;-1:-1:-1::0;;;;;2493:57:252::1;;;2468:148;;;::::0;;-1:-1:-1;;;2468:148:252;;::::1;;::::0;::::1;::::0;;;;;;;::::1;::::0;;;;;;;;;;;;;::::1;;2638:22;:39:::0;2661:12:::1;2674:1;2661:15;;;;;;;;;;;;;;-1:-1:-1::0;;;;;2638:39:252::1;-1:-1:-1::0;;;;;2638:39:252::1;;;;;;;;;;;;;2631:46;;;;;-1:-1:-1::0;;;;;2631:46:252::1;;;;;2715:12;2728:1;2715:15;;;;;;;;;;;;;;-1:-1:-1::0;;;;;2697:34:252::1;;;;;;;;;;;2449:3;;2408:334;;;;2225:523:::0;:::o;1378:108:358:-;1466:13;1378:108;:::o;2088:165:244:-;2162:17;;2198:34;2225:6;2198:26;:34::i;:::-;-1:-1:-1;;;;;2198:48:244;;;;2088:165;-1:-1:-1;;2088:165:244:o;2387:256::-;2545:11;-1:-1:-1;;;;;2508:48:244;2521:11;-1:-1:-1;;;;;2508:31:244;;:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2508:33:244;-1:-1:-1;;;;;2508:48:244;;2487:149;;;;-1:-1:-1;;;2487:149:244;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3538:215:442;3596:7;3619:6;3615:20;;-1:-1:-1;3634:1:442;3627:8;;3615:20;3657:5;;;3661:1;3657;:5;:1;3680:5;;;;;:10;3672:56;;;;-1:-1:-1;;;3672:56:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3745:1;-1:-1:-1;3538:215:442;;;;;:::o;4217:150::-;4275:7;4306:1;4302;:5;4294:44;;;;;-1:-1:-1;;;4294:44:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;4359:1;4355;:5;;;;;;;4217:150;-1:-1:-1;;;4217:150:442:o", - "linkReferences": {}, - "immutableReferences": { - "78707": [ - { - "start": 2224, - "length": 32 - }, - { - "start": 2805, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "addDerivatives(address[],address[])": "39cbb63c", - "calcUnderlyingValues(address,uint256)": "727212f6", - "getFundDeployer()": "97c0ac87", - "getOwner()": "893d20e8", - "getUnderlyingForDerivative(address)": "66adb867", - "isSupportedAsset(address)": "9be918e6", - "removeDerivatives(address[])": "8f72b136" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_fundDeployer\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"derivative\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"underlying\",\"type\":\"address\"}],\"name\":\"DerivativeAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"derivative\",\"type\":\"address\"}],\"name\":\"DerivativeRemoved\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_derivatives\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"_underlyings\",\"type\":\"address[]\"}],\"name\":\"addDerivatives\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_derivative\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_derivativeAmount\",\"type\":\"uint256\"}],\"name\":\"calcUnderlyingValues\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"underlyings_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"underlyingAmounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFundDeployer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"fundDeployer_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_derivative\",\"type\":\"address\"}],\"name\":\"getUnderlyingForDerivative\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"underlying_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"}],\"name\":\"isSupportedAsset\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isSupported_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_derivatives\",\"type\":\"address[]\"}],\"name\":\"removeDerivatives\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"addDerivatives(address[],address[])\":{\"params\":{\"_derivatives\":\"The derivatives to add\",\"_underlyings\":\"The corresponding underlyings to add\"}},\"calcUnderlyingValues(address,uint256)\":{\"params\":{\"_derivative\":\"The derivative to convert\",\"_derivativeAmount\":\"The amount of the derivative to convert\"},\"returns\":{\"underlyingAmounts_\":\"The amount of each underlying asset for the equivalent derivative amount\",\"underlyings_\":\"The underlying assets for the _derivative\"}},\"getFundDeployer()\":{\"returns\":{\"fundDeployer_\":\"The `FUND_DEPLOYER` variable value\"}},\"getOwner()\":{\"details\":\"Ownership is deferred to the owner of the FundDeployer contract\",\"returns\":{\"owner_\":\"The owner\"}},\"getUnderlyingForDerivative(address)\":{\"params\":{\"_derivative\":\"The derivative for which to get the underlying asset\"},\"returns\":{\"underlying_\":\"The underlying asset\"}},\"isSupportedAsset(address)\":{\"params\":{\"_asset\":\"The asset to check\"},\"returns\":{\"isSupported_\":\"True if the asset is supported\"}},\"removeDerivatives(address[])\":{\"params\":{\"_derivatives\":\"The derivatives to remove\"}}},\"title\":\"IdlePriceFeed Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"addDerivatives(address[],address[])\":{\"notice\":\"Adds derivatives with corresponding underlyings to the price feed\"},\"calcUnderlyingValues(address,uint256)\":{\"notice\":\"Converts a given amount of a derivative to its underlying asset values\"},\"getFundDeployer()\":{\"notice\":\"Gets the `FUND_DEPLOYER` variable\"},\"getOwner()\":{\"notice\":\"Gets the owner of this contract\"},\"getUnderlyingForDerivative(address)\":{\"notice\":\"Gets the underlying asset for a given derivative\"},\"isSupportedAsset(address)\":{\"notice\":\"Checks if an asset is supported by the price feed\"},\"removeDerivatives(address[])\":{\"notice\":\"Removes derivatives from the price feed\"}},\"notice\":\"Price source oracle for IdleTokens\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/infrastructure/price-feeds/derivatives/feeds/IdlePriceFeed.sol\":\"IdlePriceFeed\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol\":{\"keccak256\":\"0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e\",\"dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK\"]},\"contracts/release/infrastructure/price-feeds/derivatives/feeds/IdlePriceFeed.sol\":{\"keccak256\":\"0xaad9aa55d5fd26d0e87ed15ec0dddd39873658c8782e04c37959a01c380596b5\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d69dd5787d414949e4cf2a8a0001c17c7bec9fb97ff21ff2199b3c945c34f804\",\"dweb:/ipfs/QmYdkqzMjKuyzarhAoEJvAs8fZBGmK4exN9PKhj7fvHPAf\"]},\"contracts/release/infrastructure/price-feeds/derivatives/feeds/utils/SingleUnderlyingDerivativeRegistryMixin.sol\":{\"keccak256\":\"0xeb2aab819af80382ad562d5a80863484a42caa7888f811817eb283894a1852e7\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8846bfa874ede75fbcd3053d45a1647cad0aabbb26e4189998e8c517961c2bb6\",\"dweb:/ipfs/QmV4Bgx9VfX6kaoyZuaBDf2xyTY4ZmjniZTX8TrEmhU4Pv\"]},\"contracts/release/interfaces/IIdleTokenV4.sol\":{\"keccak256\":\"0x37cffc1fb284b9709f7f49db482a648b5c52bf2b930aa8992727ba38bfaf31f8\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5160ee920caf993cdae5bc66e572a9f9d18ed657ea6bb0c65869cf992856bcbe\",\"dweb:/ipfs/QmUKNFkcj6DotLcRcf5Ye6CiK1JnEMbeQf8AKSR6E3ygBW\"]},\"contracts/release/utils/FundDeployerOwnerMixin.sol\":{\"keccak256\":\"0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927\",\"dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_fundDeployer", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "derivative", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "underlying", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "DerivativeAdded", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "derivative", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "DerivativeRemoved", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_derivatives", - "type": "address[]" - }, - { - "internalType": "address[]", - "name": "_underlyings", - "type": "address[]" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "addDerivatives" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_derivative", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_derivativeAmount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "calcUnderlyingValues", - "outputs": [ - { - "internalType": "address[]", - "name": "underlyings_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "underlyingAmounts_", - "type": "uint256[]" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getFundDeployer", - "outputs": [ - { - "internalType": "address", - "name": "fundDeployer_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "owner_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_derivative", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getUnderlyingForDerivative", - "outputs": [ - { - "internalType": "address", - "name": "underlying_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_asset", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "isSupportedAsset", - "outputs": [ - { - "internalType": "bool", - "name": "isSupported_", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_derivatives", - "type": "address[]" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "removeDerivatives" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "addDerivatives(address[],address[])": { - "params": { - "_derivatives": "The derivatives to add", - "_underlyings": "The corresponding underlyings to add" - } - }, - "calcUnderlyingValues(address,uint256)": { - "params": { - "_derivative": "The derivative to convert", - "_derivativeAmount": "The amount of the derivative to convert" - }, - "returns": { - "underlyingAmounts_": "The amount of each underlying asset for the equivalent derivative amount", - "underlyings_": "The underlying assets for the _derivative" - } - }, - "getFundDeployer()": { - "returns": { - "fundDeployer_": "The `FUND_DEPLOYER` variable value" - } - }, - "getOwner()": { - "details": "Ownership is deferred to the owner of the FundDeployer contract", - "returns": { - "owner_": "The owner" - } - }, - "getUnderlyingForDerivative(address)": { - "params": { - "_derivative": "The derivative for which to get the underlying asset" - }, - "returns": { - "underlying_": "The underlying asset" - } - }, - "isSupportedAsset(address)": { - "params": { - "_asset": "The asset to check" - }, - "returns": { - "isSupported_": "True if the asset is supported" - } - }, - "removeDerivatives(address[])": { - "params": { - "_derivatives": "The derivatives to remove" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "addDerivatives(address[],address[])": { - "notice": "Adds derivatives with corresponding underlyings to the price feed" - }, - "calcUnderlyingValues(address,uint256)": { - "notice": "Converts a given amount of a derivative to its underlying asset values" - }, - "getFundDeployer()": { - "notice": "Gets the `FUND_DEPLOYER` variable" - }, - "getOwner()": { - "notice": "Gets the owner of this contract" - }, - "getUnderlyingForDerivative(address)": { - "notice": "Gets the underlying asset for a given derivative" - }, - "isSupportedAsset(address)": { - "notice": "Checks if an asset is supported by the price feed" - }, - "removeDerivatives(address[])": { - "notice": "Removes derivatives from the price feed" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/infrastructure/price-feeds/derivatives/feeds/IdlePriceFeed.sol": "IdlePriceFeed" - }, - "libraries": {} - }, - "sources": { - "contracts/release/core/fund-deployer/IFundDeployer.sol": { - "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", - "urls": [ - "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", - "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol": { - "keccak256": "0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332", - "urls": [ - "bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e", - "dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/price-feeds/derivatives/feeds/IdlePriceFeed.sol": { - "keccak256": "0xaad9aa55d5fd26d0e87ed15ec0dddd39873658c8782e04c37959a01c380596b5", - "urls": [ - "bzz-raw://d69dd5787d414949e4cf2a8a0001c17c7bec9fb97ff21ff2199b3c945c34f804", - "dweb:/ipfs/QmYdkqzMjKuyzarhAoEJvAs8fZBGmK4exN9PKhj7fvHPAf" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/price-feeds/derivatives/feeds/utils/SingleUnderlyingDerivativeRegistryMixin.sol": { - "keccak256": "0xeb2aab819af80382ad562d5a80863484a42caa7888f811817eb283894a1852e7", - "urls": [ - "bzz-raw://8846bfa874ede75fbcd3053d45a1647cad0aabbb26e4189998e8c517961c2bb6", - "dweb:/ipfs/QmV4Bgx9VfX6kaoyZuaBDf2xyTY4ZmjniZTX8TrEmhU4Pv" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IIdleTokenV4.sol": { - "keccak256": "0x37cffc1fb284b9709f7f49db482a648b5c52bf2b930aa8992727ba38bfaf31f8", - "urls": [ - "bzz-raw://5160ee920caf993cdae5bc66e572a9f9d18ed657ea6bb0c65869cf992856bcbe", - "dweb:/ipfs/QmUKNFkcj6DotLcRcf5Ye6CiK1JnEMbeQf8AKSR6E3ygBW" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/FundDeployerOwnerMixin.sol": { - "keccak256": "0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934", - "urls": [ - "bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927", - "dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 244 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_fundDeployer", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "addDerivatives", "inputs": [ { "name": "_derivatives", "type": "address[]", "internalType": "address[]" }, { "name": "_underlyings", "type": "address[]", "internalType": "address[]" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "calcUnderlyingValues", "inputs": [ { "name": "_derivative", "type": "address", "internalType": "address" }, { "name": "_derivativeAmount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "underlyings_", "type": "address[]", "internalType": "address[]" }, { "name": "underlyingAmounts_", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "getFundDeployer", "inputs": [], "outputs": [ { "name": "fundDeployer_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getOwner", "inputs": [], "outputs": [ { "name": "owner_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getUnderlyingForDerivative", "inputs": [ { "name": "_derivative", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "underlying_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "isSupportedAsset", "inputs": [ { "name": "_asset", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "isSupported_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "removeDerivatives", "inputs": [ { "name": "_derivatives", "type": "address[]", "internalType": "address[]" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "event", "name": "DerivativeAdded", "inputs": [ { "name": "derivative", "type": "address", "indexed": true, "internalType": "address" }, { "name": "underlying", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "DerivativeRemoved", "inputs": [ { "name": "derivative", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false } ], "bytecode": { "object": "0x60a060405234801561001057600080fd5b50604051610e5e380380610e5e8339818101604052602081101561003357600080fd5b5051606081901b6001600160601b0319166080526001600160a01b0316610df261006c600039806108b05280610af55250610df26000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c8063893d20e81161005b578063893d20e8146102b25780638f72b136146102ba57806397c0ac871461035d5780639be918e6146103655761007d565b806339cbb63c1461008257806366adb867146101ab578063727212f6146101ed575b600080fd5b6101a96004803603604081101561009857600080fd5b8101906020810181356401000000008111156100b357600080fd5b8201836020820111156100c557600080fd5b803590602001918460208302840111640100000000831117156100e757600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929594936020810193503591505064010000000081111561013757600080fd5b82018360208201111561014957600080fd5b8035906020019184602083028401116401000000008311171561016b57600080fd5b91908080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525092955061039f945050505050565b005b6101d1600480360360208110156101c157600080fd5b50356001600160a01b031661070c565b604080516001600160a01b039092168252519081900360200190f35b6102196004803603604081101561020357600080fd5b506001600160a01b03813516906020013561072a565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b8381101561025d578181015183820152602001610245565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561029c578181015183820152602001610284565b5050505090500194505050505060405180910390f35b6101d16108ac565b6101a9600480360360208110156102d057600080fd5b8101906020810181356401000000008111156102eb57600080fd5b8201836020820111156102fd57600080fd5b8035906020019184602083028401116401000000008311171561031f57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610938945050505050565b6101d1610af3565b61038b6004803603602081101561037b57600080fd5b50356001600160a01b0316610b17565b604080519115158252519081900360200190f35b6103a76108ac565b6001600160a01b0316336001600160a01b0316146103f65760405162461bcd60e51b8152600401808060200182810382526049815260200180610cd76049913960600191505060405180910390fd5b60008251116104365760405162461bcd60e51b8152600401808060200182810382526022815260200180610d986022913960400191505060405180910390fd5b805182511461048c576040805162461bcd60e51b815260206004820152601e60248201527f61646444657269766174697665733a20556e657175616c206172726179730000604482015290519081900360640190fd5b60005b82518110156107075760006001600160a01b03168382815181106104af57fe5b60200260200101516001600160a01b03161415610513576040805162461bcd60e51b815260206004820181905260248201527f61646444657269766174697665733a20456d7074792064657269766174697665604482015290519081900360640190fd5b60006001600160a01b031682828151811061052a57fe5b60200260200101516001600160a01b0316141561058e576040805162461bcd60e51b815260206004820181905260248201527f61646444657269766174697665733a20456d70747920756e6465726c79696e67604482015290519081900360640190fd5b60006001600160a01b03166105b58483815181106105a857fe5b602002602001015161070c565b6001600160a01b0316146105fa5760405162461bcd60e51b8152600401808060200182810382526021815260200180610d206021913960400191505060405180910390fd5b61062a83828151811061060957fe5b602002602001015183838151811061061d57fe5b6020026020010151610b34565b81818151811061063657fe5b602002602001015160008085848151811061064d57fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b031602179055508181815181106106a557fe5b60200260200101516001600160a01b03168382815181106106c257fe5b60200260200101516001600160a01b03167faa4ae250fb435bb4b31ed0b95822bc179fc6c5dd0c727c3ffe08d444025efd9860405160405180910390a360010161048f565b505050565b6001600160a01b039081166000908152602081905260409020541690565b604080516001808252818301909252606091829190602080830190803683370190505091506107588461070c565b8260008151811061076557fe5b60200260200101906001600160a01b031690816001600160a01b03168152505060006001600160a01b03168260008151811061079d57fe5b60200260200101516001600160a01b031614156107eb5760405162461bcd60e51b815260040180806020018281038252602c815260200180610dba602c913960400191505060405180910390fd5b604080516001808252818301909252906020808301908036833701905050905061088c670de0b6b3a7640000610886866001600160a01b0316637ff9b5966040518163ffffffff1660e01b815260040160206040518083038186803b15801561085357600080fd5b505afa158015610867573d6000803e3d6000fd5b505050506040513d602081101561087d57600080fd5b50518690610be8565b90610c4a565b8160008151811061089957fe5b6020026020010181815250509250929050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561090757600080fd5b505afa15801561091b573d6000803e3d6000fd5b505050506040513d602081101561093157600080fd5b5051905090565b6109406108ac565b6001600160a01b0316336001600160a01b03161461098f5760405162461bcd60e51b8152600401808060200182810382526049815260200180610cd76049913960600191505060405180910390fd5b60008151116109cf5760405162461bcd60e51b8152600401808060200182810382526025815260200180610cb26025913960400191505060405180910390fd5b60005b8151811015610aef5760006001600160a01b03166109f58383815181106105a857fe5b6001600160a01b03161415610a51576040805162461bcd60e51b815260206004820181905260248201527f72656d6f766544657269766174697665733a2056616c7565206e6f7420736574604482015290519081900360640190fd5b600080838381518110610a6057fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154906001600160a01b030219169055818181518110610aaa57fe5b60200260200101516001600160a01b03167fc15eb25d807b570f4567baf6e97c7b26d58a7d0512dc85e8db15375a056b860460405160405180910390a26001016109d2565b5050565b7f000000000000000000000000000000000000000000000000000000000000000090565b600080610b238361070c565b6001600160a01b0316141592915050565b806001600160a01b0316826001600160a01b031663fc0c546a6040518163ffffffff1660e01b815260040160206040518083038186803b158015610b7757600080fd5b505afa158015610b8b573d6000803e3d6000fd5b505050506040513d6020811015610ba157600080fd5b50516001600160a01b031614610aef5760405162461bcd60e51b8152600401808060200182810382526036815260200180610d416036913960400191505060405180910390fd5b600082610bf757506000610c44565b82820282848281610c0457fe5b0414610c415760405162461bcd60e51b8152600401808060200182810382526021815260200180610d776021913960400191505060405180910390fd5b90505b92915050565b6000808211610ca0576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b818381610ca957fe5b04939250505056fe72656d6f766544657269766174697665733a20456d707479205f64657269766174697665736f6e6c7946756e644465706c6f7965724f776e65723a204f6e6c79207468652046756e644465706c6f796572206f776e65722063616e2063616c6c20746869732066756e6374696f6e61646444657269766174697665733a2056616c756520616c7265616479207365745f5f76616c6964617465446572697661746976653a20496e76616c696420756e6465726c79696e6720666f722049646c65546f6b656e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7761646444657269766174697665733a20456d707479205f646572697661746976657363616c63556e6465726c79696e6756616c7565733a20556e737570706f727465642064657269766174697665a164736f6c634300060c000a", "sourceMap": "617:2028:244:-:0;;;800:119;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;800:119:244;864:29:358;;;;-1:-1:-1;;;;;;864:29:358;;;-1:-1:-1;;;;;617:2028:244;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b506004361061007d5760003560e01c8063893d20e81161005b578063893d20e8146102b25780638f72b136146102ba57806397c0ac871461035d5780639be918e6146103655761007d565b806339cbb63c1461008257806366adb867146101ab578063727212f6146101ed575b600080fd5b6101a96004803603604081101561009857600080fd5b8101906020810181356401000000008111156100b357600080fd5b8201836020820111156100c557600080fd5b803590602001918460208302840111640100000000831117156100e757600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929594936020810193503591505064010000000081111561013757600080fd5b82018360208201111561014957600080fd5b8035906020019184602083028401116401000000008311171561016b57600080fd5b91908080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525092955061039f945050505050565b005b6101d1600480360360208110156101c157600080fd5b50356001600160a01b031661070c565b604080516001600160a01b039092168252519081900360200190f35b6102196004803603604081101561020357600080fd5b506001600160a01b03813516906020013561072a565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b8381101561025d578181015183820152602001610245565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561029c578181015183820152602001610284565b5050505090500194505050505060405180910390f35b6101d16108ac565b6101a9600480360360208110156102d057600080fd5b8101906020810181356401000000008111156102eb57600080fd5b8201836020820111156102fd57600080fd5b8035906020019184602083028401116401000000008311171561031f57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610938945050505050565b6101d1610af3565b61038b6004803603602081101561037b57600080fd5b50356001600160a01b0316610b17565b604080519115158252519081900360200190f35b6103a76108ac565b6001600160a01b0316336001600160a01b0316146103f65760405162461bcd60e51b8152600401808060200182810382526049815260200180610cd76049913960600191505060405180910390fd5b60008251116104365760405162461bcd60e51b8152600401808060200182810382526022815260200180610d986022913960400191505060405180910390fd5b805182511461048c576040805162461bcd60e51b815260206004820152601e60248201527f61646444657269766174697665733a20556e657175616c206172726179730000604482015290519081900360640190fd5b60005b82518110156107075760006001600160a01b03168382815181106104af57fe5b60200260200101516001600160a01b03161415610513576040805162461bcd60e51b815260206004820181905260248201527f61646444657269766174697665733a20456d7074792064657269766174697665604482015290519081900360640190fd5b60006001600160a01b031682828151811061052a57fe5b60200260200101516001600160a01b0316141561058e576040805162461bcd60e51b815260206004820181905260248201527f61646444657269766174697665733a20456d70747920756e6465726c79696e67604482015290519081900360640190fd5b60006001600160a01b03166105b58483815181106105a857fe5b602002602001015161070c565b6001600160a01b0316146105fa5760405162461bcd60e51b8152600401808060200182810382526021815260200180610d206021913960400191505060405180910390fd5b61062a83828151811061060957fe5b602002602001015183838151811061061d57fe5b6020026020010151610b34565b81818151811061063657fe5b602002602001015160008085848151811061064d57fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b031602179055508181815181106106a557fe5b60200260200101516001600160a01b03168382815181106106c257fe5b60200260200101516001600160a01b03167faa4ae250fb435bb4b31ed0b95822bc179fc6c5dd0c727c3ffe08d444025efd9860405160405180910390a360010161048f565b505050565b6001600160a01b039081166000908152602081905260409020541690565b604080516001808252818301909252606091829190602080830190803683370190505091506107588461070c565b8260008151811061076557fe5b60200260200101906001600160a01b031690816001600160a01b03168152505060006001600160a01b03168260008151811061079d57fe5b60200260200101516001600160a01b031614156107eb5760405162461bcd60e51b815260040180806020018281038252602c815260200180610dba602c913960400191505060405180910390fd5b604080516001808252818301909252906020808301908036833701905050905061088c670de0b6b3a7640000610886866001600160a01b0316637ff9b5966040518163ffffffff1660e01b815260040160206040518083038186803b15801561085357600080fd5b505afa158015610867573d6000803e3d6000fd5b505050506040513d602081101561087d57600080fd5b50518690610be8565b90610c4a565b8160008151811061089957fe5b6020026020010181815250509250929050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561090757600080fd5b505afa15801561091b573d6000803e3d6000fd5b505050506040513d602081101561093157600080fd5b5051905090565b6109406108ac565b6001600160a01b0316336001600160a01b03161461098f5760405162461bcd60e51b8152600401808060200182810382526049815260200180610cd76049913960600191505060405180910390fd5b60008151116109cf5760405162461bcd60e51b8152600401808060200182810382526025815260200180610cb26025913960400191505060405180910390fd5b60005b8151811015610aef5760006001600160a01b03166109f58383815181106105a857fe5b6001600160a01b03161415610a51576040805162461bcd60e51b815260206004820181905260248201527f72656d6f766544657269766174697665733a2056616c7565206e6f7420736574604482015290519081900360640190fd5b600080838381518110610a6057fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154906001600160a01b030219169055818181518110610aaa57fe5b60200260200101516001600160a01b03167fc15eb25d807b570f4567baf6e97c7b26d58a7d0512dc85e8db15375a056b860460405160405180910390a26001016109d2565b5050565b7f000000000000000000000000000000000000000000000000000000000000000090565b600080610b238361070c565b6001600160a01b0316141592915050565b806001600160a01b0316826001600160a01b031663fc0c546a6040518163ffffffff1660e01b815260040160206040518083038186803b158015610b7757600080fd5b505afa158015610b8b573d6000803e3d6000fd5b505050506040513d6020811015610ba157600080fd5b50516001600160a01b031614610aef5760405162461bcd60e51b8152600401808060200182810382526036815260200180610d416036913960400191505060405180910390fd5b600082610bf757506000610c44565b82820282848281610c0457fe5b0414610c415760405162461bcd60e51b8152600401808060200182810382526021815260200180610d776021913960400191505060405180910390fd5b90505b92915050565b6000808211610ca0576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b818381610ca957fe5b04939250505056fe72656d6f766544657269766174697665733a20456d707479205f64657269766174697665736f6e6c7946756e644465706c6f7965724f776e65723a204f6e6c79207468652046756e644465706c6f796572206f776e65722063616e2063616c6c20746869732066756e6374696f6e61646444657269766174697665733a2056616c756520616c7265616479207365745f5f76616c6964617465446572697661746976653a20496e76616c696420756e6465726c79696e6720666f722049646c65546f6b656e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7761646444657269766174697665733a20456d707479205f646572697661746976657363616c63556e6465726c79696e6756616c7565733a20556e737570706f727465642064657269766174697665a164736f6c634300060c000a", "sourceMap": "617:2028:244:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1158:951:252;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1158:951:252;;;;;;;;-1:-1:-1;1158:951:252;;-1:-1:-1;;1158:951:252;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1158:951:252;;-1:-1:-1;1158:951:252;;-1:-1:-1;;;;;1158:951:252:i;:::-;;3223:186;;;;;;;;;;;;;;;;-1:-1:-1;3223:186:252;-1:-1:-1;;;;;3223:186:252;;:::i;:::-;;;;-1:-1:-1;;;;;3223:186:252;;;;;;;;;;;;;;1317:598:244;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1317:598:244;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1064:120:358;;;:::i;2225:523:252:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2225:523:252;;-1:-1:-1;2225:523:252;;-1:-1:-1;;;;;2225:523:252:i;1378:108:358:-;;;:::i;2088:165:244:-;;;;;;;;;;;;;;;;-1:-1:-1;2088:165:244;-1:-1:-1;;;;;2088:165:244;;:::i;:::-;;;;;;;;;;;;;;;;;;1158:951:252;679:10:358;:8;:10::i;:::-;-1:-1:-1;;;;;665:24:358;:10;-1:-1:-1;;;;;665:24:358;;644:144;;;;-1:-1:-1;;;644:144:358;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1351:1:252::1;1329:12;:19;:23;1321:70;;;;-1:-1:-1::0;;;1321:70:252::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1432:12;:19;1409:12;:19;:42;1401:85;;;::::0;;-1:-1:-1;;;1401:85:252;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;1502:9;1497:606;1517:12;:19;1513:1;:23;1497:606;;;1592:1;-1:-1:-1::0;;;;;1565:29:252::1;:12;1578:1;1565:15;;;;;;;;;;;;;;-1:-1:-1::0;;;;;1565:29:252::1;;;1557:74;;;::::0;;-1:-1:-1;;;1557:74:252;;::::1;;::::0;::::1;::::0;;;;;;;::::1;::::0;;;;;;;;;;;;;::::1;;1680:1;-1:-1:-1::0;;;;;1653:29:252::1;:12;1666:1;1653:15;;;;;;;;;;;;;;-1:-1:-1::0;;;;;1653:29:252::1;;;1645:74;;;::::0;;-1:-1:-1;;;1645:74:252;;::::1;;::::0;::::1;::::0;;;;;;;::::1;::::0;;;;;;;;;;;;;::::1;;1813:1;-1:-1:-1::0;;;;;1758:57:252::1;:43;1785:12;1798:1;1785:15;;;;;;;;;;;;;;1758:26;:43::i;:::-;-1:-1:-1::0;;;;;1758:57:252::1;;1733:149;;;;-1:-1:-1::0;;;1733:149:252::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1897:54;1918:12;1931:1;1918:15;;;;;;;;;;;;;;1935:12;1948:1;1935:15;;;;;;;;;;;;;;1897:20;:54::i;:::-;2008:12;2021:1;2008:15;;;;;;;;;;;;;;1966:22;:39:::0;1989:12:::1;2002:1;1989:15;;;;;;;;;;;;;;-1:-1:-1::0;;;;;1966:39:252::1;-1:-1:-1::0;;;;;1966:39:252::1;;;;;;;;;;;;;:57;;;;;-1:-1:-1::0;;;;;1966:57:252::1;;;;;-1:-1:-1::0;;;;;1966:57:252::1;;;;;;2076:12;2089:1;2076:15;;;;;;;;;;;;;;-1:-1:-1::0;;;;;2043:49:252::1;2059:12;2072:1;2059:15;;;;;;;;;;;;;;-1:-1:-1::0;;;;;2043:49:252::1;;;;;;;;;;;1538:3;;1497:606;;;;1158:951:::0;;:::o;3223:186::-;-1:-1:-1;;;;;3367:35:252;;;3325:19;3367:35;;;;;;;;;;;;;3223:186::o;1317:598:244:-;1543:16;;;1557:1;1543:16;;;;;;;;;1446:29;;;;1543:16;;;;;;;;;;;;-1:-1:-1;1543:16:244;1528:31;;1587:39;1614:11;1587:26;:39::i;:::-;1569:12;1582:1;1569:15;;;;;;;;;;;;;:57;-1:-1:-1;;;;;1569:57:244;;;-1:-1:-1;;;;;1569:57:244;;;;;1671:1;-1:-1:-1;;;;;1644:29:244;:12;1657:1;1644:15;;;;;;;;;;;;;;-1:-1:-1;;;;;1644:29:244;;;1636:86;;;;-1:-1:-1;;;1636:86:244;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1754:16;;;1768:1;1754:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1754:16:244;1733:37;;1804:104;787:6;1804:61;1839:11;-1:-1:-1;;;;;1826:36:244;;:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1826:38:244;1804:17;;:21;:61::i;:::-;:65;;:104::i;:::-;1780:18;1799:1;1780:21;;;;;;;;;;;;;:128;;;;;1317:598;;;;;:::o;1064:120:358:-;1105:14;1152:13;-1:-1:-1;;;;;1138:37:358;;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1138:39:358;;-1:-1:-1;1064:120:358;:::o;2225:523:252:-;679:10:358;:8;:10::i;:::-;-1:-1:-1;;;;;665:24:358;:10;-1:-1:-1;;;;;665:24:358;;644:144;;;;-1:-1:-1;;;644:144:358;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2354:1:252::1;2332:12;:19;:23;2324:73;;;;-1:-1:-1::0;;;2324:73:252::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2413:9;2408:334;2428:12;:19;2424:1;:23;2408:334;;;2548:1;-1:-1:-1::0;;;;;2493:57:252::1;:43;2520:12;2533:1;2520:15;;;;;;;2493:43;-1:-1:-1::0;;;;;2493:57:252::1;;;2468:148;;;::::0;;-1:-1:-1;;;2468:148:252;;::::1;;::::0;::::1;::::0;;;;;;;::::1;::::0;;;;;;;;;;;;;::::1;;2638:22;:39:::0;2661:12:::1;2674:1;2661:15;;;;;;;;;;;;;;-1:-1:-1::0;;;;;2638:39:252::1;-1:-1:-1::0;;;;;2638:39:252::1;;;;;;;;;;;;;2631:46;;;;;-1:-1:-1::0;;;;;2631:46:252::1;;;;;2715:12;2728:1;2715:15;;;;;;;;;;;;;;-1:-1:-1::0;;;;;2697:34:252::1;;;;;;;;;;;2449:3;;2408:334;;;;2225:523:::0;:::o;1378:108:358:-;1466:13;1378:108;:::o;2088:165:244:-;2162:17;;2198:34;2225:6;2198:26;:34::i;:::-;-1:-1:-1;;;;;2198:48:244;;;;2088:165;-1:-1:-1;;2088:165:244:o;2387:256::-;2545:11;-1:-1:-1;;;;;2508:48:244;2521:11;-1:-1:-1;;;;;2508:31:244;;:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2508:33:244;-1:-1:-1;;;;;2508:48:244;;2487:149;;;;-1:-1:-1;;;2487:149:244;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3538:215:442;3596:7;3619:6;3615:20;;-1:-1:-1;3634:1:442;3627:8;;3615:20;3657:5;;;3661:1;3657;:5;:1;3680:5;;;;;:10;3672:56;;;;-1:-1:-1;;;3672:56:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3745:1;-1:-1:-1;3538:215:442;;;;;:::o;4217:150::-;4275:7;4306:1;4302;:5;4294:44;;;;;-1:-1:-1;;;4294:44:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;4359:1;4355;:5;;;;;;;4217:150;-1:-1:-1;;;4217:150:442:o", "linkReferences": {}, "immutableReferences": { "78707": [ { "start": 2224, "length": 32 }, { "start": 2805, "length": 32 } ] } }, "methodIdentifiers": { "addDerivatives(address[],address[])": "39cbb63c", "calcUnderlyingValues(address,uint256)": "727212f6", "getFundDeployer()": "97c0ac87", "getOwner()": "893d20e8", "getUnderlyingForDerivative(address)": "66adb867", "isSupportedAsset(address)": "9be918e6", "removeDerivatives(address[])": "8f72b136" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_fundDeployer\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"derivative\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"underlying\",\"type\":\"address\"}],\"name\":\"DerivativeAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"derivative\",\"type\":\"address\"}],\"name\":\"DerivativeRemoved\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_derivatives\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"_underlyings\",\"type\":\"address[]\"}],\"name\":\"addDerivatives\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_derivative\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_derivativeAmount\",\"type\":\"uint256\"}],\"name\":\"calcUnderlyingValues\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"underlyings_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"underlyingAmounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFundDeployer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"fundDeployer_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_derivative\",\"type\":\"address\"}],\"name\":\"getUnderlyingForDerivative\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"underlying_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"}],\"name\":\"isSupportedAsset\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isSupported_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_derivatives\",\"type\":\"address[]\"}],\"name\":\"removeDerivatives\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"addDerivatives(address[],address[])\":{\"params\":{\"_derivatives\":\"The derivatives to add\",\"_underlyings\":\"The corresponding underlyings to add\"}},\"calcUnderlyingValues(address,uint256)\":{\"params\":{\"_derivative\":\"The derivative to convert\",\"_derivativeAmount\":\"The amount of the derivative to convert\"},\"returns\":{\"underlyingAmounts_\":\"The amount of each underlying asset for the equivalent derivative amount\",\"underlyings_\":\"The underlying assets for the _derivative\"}},\"getFundDeployer()\":{\"returns\":{\"fundDeployer_\":\"The `FUND_DEPLOYER` variable value\"}},\"getOwner()\":{\"details\":\"Ownership is deferred to the owner of the FundDeployer contract\",\"returns\":{\"owner_\":\"The owner\"}},\"getUnderlyingForDerivative(address)\":{\"params\":{\"_derivative\":\"The derivative for which to get the underlying asset\"},\"returns\":{\"underlying_\":\"The underlying asset\"}},\"isSupportedAsset(address)\":{\"params\":{\"_asset\":\"The asset to check\"},\"returns\":{\"isSupported_\":\"True if the asset is supported\"}},\"removeDerivatives(address[])\":{\"params\":{\"_derivatives\":\"The derivatives to remove\"}}},\"title\":\"IdlePriceFeed Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"addDerivatives(address[],address[])\":{\"notice\":\"Adds derivatives with corresponding underlyings to the price feed\"},\"calcUnderlyingValues(address,uint256)\":{\"notice\":\"Converts a given amount of a derivative to its underlying asset values\"},\"getFundDeployer()\":{\"notice\":\"Gets the `FUND_DEPLOYER` variable\"},\"getOwner()\":{\"notice\":\"Gets the owner of this contract\"},\"getUnderlyingForDerivative(address)\":{\"notice\":\"Gets the underlying asset for a given derivative\"},\"isSupportedAsset(address)\":{\"notice\":\"Checks if an asset is supported by the price feed\"},\"removeDerivatives(address[])\":{\"notice\":\"Removes derivatives from the price feed\"}},\"notice\":\"Price source oracle for IdleTokens\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/infrastructure/price-feeds/derivatives/feeds/IdlePriceFeed.sol\":\"IdlePriceFeed\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol\":{\"keccak256\":\"0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e\",\"dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK\"]},\"contracts/release/infrastructure/price-feeds/derivatives/feeds/IdlePriceFeed.sol\":{\"keccak256\":\"0xaad9aa55d5fd26d0e87ed15ec0dddd39873658c8782e04c37959a01c380596b5\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d69dd5787d414949e4cf2a8a0001c17c7bec9fb97ff21ff2199b3c945c34f804\",\"dweb:/ipfs/QmYdkqzMjKuyzarhAoEJvAs8fZBGmK4exN9PKhj7fvHPAf\"]},\"contracts/release/infrastructure/price-feeds/derivatives/feeds/utils/SingleUnderlyingDerivativeRegistryMixin.sol\":{\"keccak256\":\"0xeb2aab819af80382ad562d5a80863484a42caa7888f811817eb283894a1852e7\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8846bfa874ede75fbcd3053d45a1647cad0aabbb26e4189998e8c517961c2bb6\",\"dweb:/ipfs/QmV4Bgx9VfX6kaoyZuaBDf2xyTY4ZmjniZTX8TrEmhU4Pv\"]},\"contracts/release/interfaces/IIdleTokenV4.sol\":{\"keccak256\":\"0x37cffc1fb284b9709f7f49db482a648b5c52bf2b930aa8992727ba38bfaf31f8\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5160ee920caf993cdae5bc66e572a9f9d18ed657ea6bb0c65869cf992856bcbe\",\"dweb:/ipfs/QmUKNFkcj6DotLcRcf5Ye6CiK1JnEMbeQf8AKSR6E3ygBW\"]},\"contracts/release/utils/FundDeployerOwnerMixin.sol\":{\"keccak256\":\"0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927\",\"dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_fundDeployer", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "derivative", "type": "address", "indexed": true }, { "internalType": "address", "name": "underlying", "type": "address", "indexed": true } ], "type": "event", "name": "DerivativeAdded", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "derivative", "type": "address", "indexed": true } ], "type": "event", "name": "DerivativeRemoved", "anonymous": false }, { "inputs": [ { "internalType": "address[]", "name": "_derivatives", "type": "address[]" }, { "internalType": "address[]", "name": "_underlyings", "type": "address[]" } ], "stateMutability": "nonpayable", "type": "function", "name": "addDerivatives" }, { "inputs": [ { "internalType": "address", "name": "_derivative", "type": "address" }, { "internalType": "uint256", "name": "_derivativeAmount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "calcUnderlyingValues", "outputs": [ { "internalType": "address[]", "name": "underlyings_", "type": "address[]" }, { "internalType": "uint256[]", "name": "underlyingAmounts_", "type": "uint256[]" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getFundDeployer", "outputs": [ { "internalType": "address", "name": "fundDeployer_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getOwner", "outputs": [ { "internalType": "address", "name": "owner_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_derivative", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getUnderlyingForDerivative", "outputs": [ { "internalType": "address", "name": "underlying_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_asset", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "isSupportedAsset", "outputs": [ { "internalType": "bool", "name": "isSupported_", "type": "bool" } ] }, { "inputs": [ { "internalType": "address[]", "name": "_derivatives", "type": "address[]" } ], "stateMutability": "nonpayable", "type": "function", "name": "removeDerivatives" } ], "devdoc": { "kind": "dev", "methods": { "addDerivatives(address[],address[])": { "params": { "_derivatives": "The derivatives to add", "_underlyings": "The corresponding underlyings to add" } }, "calcUnderlyingValues(address,uint256)": { "params": { "_derivative": "The derivative to convert", "_derivativeAmount": "The amount of the derivative to convert" }, "returns": { "underlyingAmounts_": "The amount of each underlying asset for the equivalent derivative amount", "underlyings_": "The underlying assets for the _derivative" } }, "getFundDeployer()": { "returns": { "fundDeployer_": "The `FUND_DEPLOYER` variable value" } }, "getOwner()": { "details": "Ownership is deferred to the owner of the FundDeployer contract", "returns": { "owner_": "The owner" } }, "getUnderlyingForDerivative(address)": { "params": { "_derivative": "The derivative for which to get the underlying asset" }, "returns": { "underlying_": "The underlying asset" } }, "isSupportedAsset(address)": { "params": { "_asset": "The asset to check" }, "returns": { "isSupported_": "True if the asset is supported" } }, "removeDerivatives(address[])": { "params": { "_derivatives": "The derivatives to remove" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "addDerivatives(address[],address[])": { "notice": "Adds derivatives with corresponding underlyings to the price feed" }, "calcUnderlyingValues(address,uint256)": { "notice": "Converts a given amount of a derivative to its underlying asset values" }, "getFundDeployer()": { "notice": "Gets the `FUND_DEPLOYER` variable" }, "getOwner()": { "notice": "Gets the owner of this contract" }, "getUnderlyingForDerivative(address)": { "notice": "Gets the underlying asset for a given derivative" }, "isSupportedAsset(address)": { "notice": "Checks if an asset is supported by the price feed" }, "removeDerivatives(address[])": { "notice": "Removes derivatives from the price feed" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/infrastructure/price-feeds/derivatives/feeds/IdlePriceFeed.sol": "IdlePriceFeed" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/core/fund-deployer/IFundDeployer.sol": { "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", "urls": [ "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol": { "keccak256": "0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332", "urls": [ "bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e", "dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/price-feeds/derivatives/feeds/IdlePriceFeed.sol": { "keccak256": "0xaad9aa55d5fd26d0e87ed15ec0dddd39873658c8782e04c37959a01c380596b5", "urls": [ "bzz-raw://d69dd5787d414949e4cf2a8a0001c17c7bec9fb97ff21ff2199b3c945c34f804", "dweb:/ipfs/QmYdkqzMjKuyzarhAoEJvAs8fZBGmK4exN9PKhj7fvHPAf" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/price-feeds/derivatives/feeds/utils/SingleUnderlyingDerivativeRegistryMixin.sol": { "keccak256": "0xeb2aab819af80382ad562d5a80863484a42caa7888f811817eb283894a1852e7", "urls": [ "bzz-raw://8846bfa874ede75fbcd3053d45a1647cad0aabbb26e4189998e8c517961c2bb6", "dweb:/ipfs/QmV4Bgx9VfX6kaoyZuaBDf2xyTY4ZmjniZTX8TrEmhU4Pv" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IIdleTokenV4.sol": { "keccak256": "0x37cffc1fb284b9709f7f49db482a648b5c52bf2b930aa8992727ba38bfaf31f8", "urls": [ "bzz-raw://5160ee920caf993cdae5bc66e572a9f9d18ed657ea6bb0c65869cf992856bcbe", "dweb:/ipfs/QmUKNFkcj6DotLcRcf5Ye6CiK1JnEMbeQf8AKSR6E3ygBW" ], "license": "GPL-3.0" }, "contracts/release/utils/FundDeployerOwnerMixin.sol": { "keccak256": "0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934", "urls": [ "bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927", "dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" } }, "version": 1 }, "id": 244 } diff --git a/eth_defi/abi/enzyme/IdleV4ActionsMixin.json b/eth_defi/abi/enzyme/IdleV4ActionsMixin.json index becc5070..b0fb9bbf 100644 --- a/eth_defi/abi/enzyme/IdleV4ActionsMixin.json +++ b/eth_defi/abi/enzyme/IdleV4ActionsMixin.json @@ -1,142 +1 @@ -{ - "abi": [], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": {}, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IdleV4ActionsMixin Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Mixin contract for interacting with Idle tokens (V4)\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/integration-manager/integrations/utils/actions/IdleV4ActionsMixin.sol\":\"IdleV4ActionsMixin\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/integration-manager/integrations/utils/actions/IdleV4ActionsMixin.sol\":{\"keccak256\":\"0xe14415104949ac342909f7e8bf940fff6ed15405887cf911ef6627f8f3da876b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://beb595fcb77390ee338a872e29aecb8c5f72ba3a1a621cbe9d98d07a9012419a\",\"dweb:/ipfs/Qmb2GhgbDKfGiNWxEPaHn7tHR1FCzo1YxvwZuk1gYwCoUm\"]},\"contracts/release/interfaces/IIdleTokenV4.sol\":{\"keccak256\":\"0x37cffc1fb284b9709f7f49db482a648b5c52bf2b930aa8992727ba38bfaf31f8\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5160ee920caf993cdae5bc66e572a9f9d18ed657ea6bb0c65869cf992856bcbe\",\"dweb:/ipfs/QmUKNFkcj6DotLcRcf5Ye6CiK1JnEMbeQf8AKSR6E3ygBW\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/integration-manager/integrations/utils/actions/IdleV4ActionsMixin.sol": "IdleV4ActionsMixin" - }, - "libraries": {} - }, - "sources": { - "contracts/release/extensions/integration-manager/integrations/utils/actions/IdleV4ActionsMixin.sol": { - "keccak256": "0xe14415104949ac342909f7e8bf940fff6ed15405887cf911ef6627f8f3da876b", - "urls": [ - "bzz-raw://beb595fcb77390ee338a872e29aecb8c5f72ba3a1a621cbe9d98d07a9012419a", - "dweb:/ipfs/Qmb2GhgbDKfGiNWxEPaHn7tHR1FCzo1YxvwZuk1gYwCoUm" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IIdleTokenV4.sol": { - "keccak256": "0x37cffc1fb284b9709f7f49db482a648b5c52bf2b930aa8992727ba38bfaf31f8", - "urls": [ - "bzz-raw://5160ee920caf993cdae5bc66e572a9f9d18ed657ea6bb0c65869cf992856bcbe", - "dweb:/ipfs/QmUKNFkcj6DotLcRcf5Ye6CiK1JnEMbeQf8AKSR6E3ygBW" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AssetHelpers.sol": { - "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", - "urls": [ - "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", - "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { - "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", - "urls": [ - "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", - "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Address.sol": { - "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", - "urls": [ - "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", - "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 190 -} +{ "abi": [], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": {}, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"IdleV4ActionsMixin Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Mixin contract for interacting with Idle tokens (V4)\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/integration-manager/integrations/utils/actions/IdleV4ActionsMixin.sol\":\"IdleV4ActionsMixin\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/integration-manager/integrations/utils/actions/IdleV4ActionsMixin.sol\":{\"keccak256\":\"0xe14415104949ac342909f7e8bf940fff6ed15405887cf911ef6627f8f3da876b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://beb595fcb77390ee338a872e29aecb8c5f72ba3a1a621cbe9d98d07a9012419a\",\"dweb:/ipfs/Qmb2GhgbDKfGiNWxEPaHn7tHR1FCzo1YxvwZuk1gYwCoUm\"]},\"contracts/release/interfaces/IIdleTokenV4.sol\":{\"keccak256\":\"0x37cffc1fb284b9709f7f49db482a648b5c52bf2b930aa8992727ba38bfaf31f8\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5160ee920caf993cdae5bc66e572a9f9d18ed657ea6bb0c65869cf992856bcbe\",\"dweb:/ipfs/QmUKNFkcj6DotLcRcf5Ye6CiK1JnEMbeQf8AKSR6E3ygBW\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/integration-manager/integrations/utils/actions/IdleV4ActionsMixin.sol": "IdleV4ActionsMixin" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/extensions/integration-manager/integrations/utils/actions/IdleV4ActionsMixin.sol": { "keccak256": "0xe14415104949ac342909f7e8bf940fff6ed15405887cf911ef6627f8f3da876b", "urls": [ "bzz-raw://beb595fcb77390ee338a872e29aecb8c5f72ba3a1a621cbe9d98d07a9012419a", "dweb:/ipfs/Qmb2GhgbDKfGiNWxEPaHn7tHR1FCzo1YxvwZuk1gYwCoUm" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IIdleTokenV4.sol": { "keccak256": "0x37cffc1fb284b9709f7f49db482a648b5c52bf2b930aa8992727ba38bfaf31f8", "urls": [ "bzz-raw://5160ee920caf993cdae5bc66e572a9f9d18ed657ea6bb0c65869cf992856bcbe", "dweb:/ipfs/QmUKNFkcj6DotLcRcf5Ye6CiK1JnEMbeQf8AKSR6E3ygBW" ], "license": "GPL-3.0" }, "contracts/release/utils/AssetHelpers.sol": { "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", "urls": [ "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", "urls": [ "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Address.sol": { "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", "urls": [ "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" } }, "version": 1 }, "id": 190 } diff --git a/eth_defi/abi/enzyme/IntegrationManager.json b/eth_defi/abi/enzyme/IntegrationManager.json index f3534a7d..099109ca 100644 --- a/eth_defi/abi/enzyme/IntegrationManager.json +++ b/eth_defi/abi/enzyme/IntegrationManager.json @@ -1,847 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_fundDeployer", - "type": "address" - }, - { - "internalType": "address", - "name": "_policyManager", - "type": "address" - }, - { - "internalType": "address", - "name": "_valueInterpreter", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "comptrollerProxy", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "caller", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "adapter", - "type": "address" - }, - { - "indexed": true, - "internalType": "bytes4", - "name": "selector", - "type": "bytes4" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "integrationData", - "type": "bytes" - }, - { - "indexed": false, - "internalType": "address[]", - "name": "incomingAssets", - "type": "address[]" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "incomingAssetAmounts", - "type": "uint256[]" - }, - { - "indexed": false, - "internalType": "address[]", - "name": "spendAssets", - "type": "address[]" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "spendAssetAmounts", - "type": "uint256[]" - } - ], - "name": "CallOnIntegrationExecutedForFund", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "comptrollerProxy", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "vaultProxy", - "type": "address" - } - ], - "name": "ValidatedVaultProxySetForFund", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "name": "activateForFund", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "deactivateForFund", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getFundDeployer", - "outputs": [ - { - "internalType": "address", - "name": "fundDeployer_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "owner_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getPolicyManager", - "outputs": [ - { - "internalType": "address", - "name": "policyManager_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getValueInterpreter", - "outputs": [ - { - "internalType": "address", - "name": "valueInterpreter_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - } - ], - "name": "getVaultProxyForFund", - "outputs": [ - { - "internalType": "address", - "name": "vaultProxy_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_caller", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_actionId", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_callArgs", - "type": "bytes" - } - ], - "name": "receiveCallFromComptroller", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "setConfigForFund", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x60e060405234801561001057600080fd5b506040516126fa3803806126fa8339818101604052606081101561003357600080fd5b50805160208201516040909201516001600160601b0319606092831b811660805292821b831660a052901b1660c05260805160601c60a05160601c60c05160601c61265e61009c6000398061047952508061054f52508061049f5280610529525061265e6000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c8063893d20e811610066578063893d20e81461018657806397c0ac871461018e578063bd8e959a14610196578063d44ad6cb1461019e578063f067cc11146101a657610093565b80631bee801e14610098578063467903461461011d57806380d570631461015f578063875fb4b31461017e575b600080fd5b61011b600480360360608110156100ae57600080fd5b6001600160a01b0382351691602081013591810190606081016040820135600160201b8111156100dd57600080fd5b8201836020820111156100ef57600080fd5b803590602001918460018302840111600160201b8311171561011057600080fd5b50909250905061022d565b005b6101436004803603602081101561013357600080fd5b50356001600160a01b0316610453565b604080516001600160a01b039092168252519081900360200190f35b61011b6004803603602081101561017557600080fd5b50351515610474565b610143610477565b61014361049b565b610143610527565b61011b61054b565b61014361054d565b61011b600480360360608110156101bc57600080fd5b6001600160a01b038235811692602081013590911691810190606081016040820135600160201b8111156101ef57600080fd5b82018360208201111561020157600080fd5b803590602001918460018302840111600160201b8311171561022257600080fd5b509092509050610571565b33600061023982610453565b90506001600160a01b0381166102805760405162461bcd60e51b815260040180806020018281038252602d8152602001806125c2602d913960400191505060405180910390fd5b806001600160a01b031663714ca2d1876040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156102cd57600080fd5b505afa1580156102e1573d6000803e3d6000fd5b505050506040513d60208110156102f757600080fd5b50516103345760405162461bcd60e51b81526004018080602001828103825260288152602001806125106028913960400191505060405180910390fd5b846103805761037b86838387878080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506105d892505050565b61044b565b84600114156103ca5761037b868386868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610aee92505050565b84600214156104145761037b868386868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610df192505050565b60405162461bcd60e51b815260040180806020018281038252602d8152602001806124b7602d913960400191505060405180910390fd5b505050505050565b6001600160a01b03808216600090815260208190526040902054165b919050565b50565b7f000000000000000000000000000000000000000000000000000000000000000090565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b1580156104f657600080fd5b505afa15801561050a573d6000803e3d6000fd5b505050506040513d602081101561052057600080fd5b5051905090565b7f000000000000000000000000000000000000000000000000000000000000000090565b565b7f000000000000000000000000000000000000000000000000000000000000000090565b610579610527565b6001600160a01b0316336001600160a01b0316146105c85760405162461bcd60e51b815260040180806020018281038252602881526020018061259a6028913960400191505060405180910390fd5b6105d2848461101f565b50505050565b816001600160a01b0316635a53e3486040518163ffffffff1660e01b815260040160206040518083038186803b15801561061157600080fd5b505afa158015610625573d6000803e3d6000fd5b505050506040513d602081101561063b57600080fd5b50516001600160a01b038481169116146106865760405162461bcd60e51b815260040180806020018281038252602e815260200180612434602e913960400191505060405180910390fd5b600080606061069484611076565b9250925092506060806060806106ad8a8a898989611156565b93509350935093506106bd61054d565b6001600160a01b0316630442bad58b60018e8b8b8a8a8a8a60405160200180886001600160a01b03168152602001876001600160a01b03168152602001866001600160e01b031916815260200180602001806020018060200180602001858103855289818151815260200191508051906020019060200280838360005b8381101561075257818101518382015260200161073a565b50505050905001858103845288818151815260200191508051906020019060200280838360005b83811015610791578181015183820152602001610779565b50505050905001858103835287818151815260200191508051906020019060200280838360005b838110156107d05781810151838201526020016107b8565b50505050905001858103825286818151815260200191508051906020019060200280838360005b8381101561080f5781810151838201526020016107f7565b505050509050019b5050505050505050505050506040516020818303038152906040526040518463ffffffff1660e01b815260040180846001600160a01b0316815260200183600981111561086057fe5b815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561089e578181015183820152602001610886565b50505050905090810190601f1680156108cb5780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b1580156108ec57600080fd5b505af1158015610900573d6000803e3d6000fd5b50505050856001600160e01b031916876001600160a01b03168b6001600160a01b03167ff9a77e6aa0d5e80e8c932c9586e789fc0f4efe610f844fc982129c6f385bfffa8e898989898960405180876001600160a01b03168152602001806020018060200180602001806020018060200186810386528b818151815260200191508051906020019080838360005b838110156109a657818101518382015260200161098e565b50505050905090810190601f1680156109d35780820380516001836020036101000a031916815260200191505b5086810385528a5181528a51602091820191808d01910280838360005b83811015610a085781810151838201526020016109f0565b50505050905001868103845289818151815260200191508051906020019060200280838360005b83811015610a47578181015183820152602001610a2f565b50505050905001868103835288818151815260200191508051906020019060200280838360005b83811015610a86578181015183820152602001610a6e565b50505050905001868103825287818151815260200191508051906020019060200280838360005b83811015610ac5578181015183820152602001610aad565b505050509050019b50505050505050505050505060405180910390a45050505050505050505050565b6060818060200190516020811015610b0557600080fd5b8101908080516040519392919084600160201b821115610b2457600080fd5b908301906020820185811115610b3957600080fd5b82518660208202830111600160201b82111715610b5557600080fd5b82525081516020918201928201910280838360005b83811015610b82578181015183820152602001610b6a565b505050509050016040525050509050610b9961054d565b6001600160a01b0316630442bad5846004878560405160200180836001600160a01b0316815260200180602001828103825283818151815260200191508051906020019060200280838360005b83811015610bfe578181015183820152602001610be6565b5050505090500193505050506040516020818303038152906040526040518463ffffffff1660e01b815260040180846001600160a01b03168152602001836009811115610c4757fe5b815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610c85578181015183820152602001610c6d565b50505050905090810190601f168015610cb25780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b158015610cd357600080fd5b505af1158015610ce7573d6000803e3d6000fd5b5050505060005b8151811015610dea57610cff610477565b6001600160a01b0316639be918e6838381518110610d1957fe5b60200260200101516040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610d5e57600080fd5b505afa158015610d72573d6000803e3d6000fd5b505050506040513d6020811015610d8857600080fd5b5051610dc55760405162461bcd60e51b815260040180806020018281038252602c81526020018061248b602c913960400191505060405180910390fd5b610de284838381518110610dd557fe5b60200260200101516112ab565b600101610cee565b5050505050565b6060818060200190516020811015610e0857600080fd5b8101908080516040519392919084600160201b821115610e2757600080fd5b908301906020820185811115610e3c57600080fd5b82518660208202830111600160201b82111715610e5857600080fd5b82525081516020918201928201910280838360005b83811015610e85578181015183820152602001610e6d565b505050509050016040525050509050610e9c61054d565b6001600160a01b0316630442bad5846005878560405160200180836001600160a01b0316815260200180602001828103825283818151815260200191508051906020019060200280838360005b83811015610f01578181015183820152602001610ee9565b5050505090500193505050506040516020818303038152906040526040518463ffffffff1660e01b815260040180846001600160a01b03168152602001836009811115610f4a57fe5b815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610f88578181015183820152602001610f70565b50505050905090810190601f168015610fb55780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b158015610fd657600080fd5b505af1158015610fea573d6000803e3d6000fd5b5050505060005b8151811015610dea576110178483838151811061100a57fe5b6020026020010151611391565b600101610ff1565b6001600160a01b0382811660008181526020819052604080822080546001600160a01b0319169486169485179055517f8852dcaa71340ea616a65ffac013450dfb238607481fb9d78346c667fe256c139190a35050565b600080606083806020019051606081101561109057600080fd5b81516020830151604080850180519151939592948301929184600160201b8211156110ba57600080fd5b9083019060208201858111156110cf57600080fd5b8251600160201b8111828201881017156110e857600080fd5b82525081516020918201929091019080838360005b838110156111155781810151838201526020016110fd565b50505050905090810190601f1680156111425780820380516001836020036101000a031916815260200191505b506040525050509250925092509193909250565b60608060608060608060006060806111718e8e8e8e8e6113dc565b809750819850829d50839950849a50859b50869f50505050505050506112838d8d8d8d8b878f60405160200180806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b838110156111e25781810151838201526020016111ca565b50505050905001848103835286818151815260200191508051906020019060200280838360005b83811015611221578181015183820152602001611209565b50505050905001848103825285818151815260200191508051906020019060200280838360005b83811015611260578181015183820152602001611248565b505050509050019650505050505050604051602081830303815290604052611b98565b6112958e8e8e8c8989898e8a8a611df3565b9098509550505050505095509550955095915050565b604080516001600160a01b0383811660208084019190915283518084039091018152828401938490526310acd06d60e01b9093528416916310acd06d916004919060440180835b815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611330578181015183820152602001611318565b50505050905090810190601f16801561135d5780820380516001836020036101000a031916815260200191505b509350505050600060405180830381600087803b15801561137d57600080fd5b505af115801561044b573d6000803e3d6000fd5b604080516001600160a01b0383811660208084019190915283518084039091018152828401938490526310acd06d60e01b9093528416916310acd06d916006919060440180836112f2565b606080606060006060806060896001600160a01b031663c54efee58c8b8b6040518463ffffffff1660e01b815260040180846001600160a01b03168152602001836001600160e01b031916815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561146557818101518382015260200161144d565b50505050905090810190601f1680156114925780820380516001836020036101000a031916815260200191505b5094505050505060006040518083038186803b1580156114b157600080fd5b505afa1580156114c5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260a08110156114ee57600080fd5b815160208301805160405192949293830192919084600160201b82111561151457600080fd5b90830190602082018581111561152957600080fd5b82518660208202830111600160201b8211171561154557600080fd5b82525081516020918201928201910280838360005b8381101561157257818101518382015260200161155a565b5050505090500160405260200180516040519392919084600160201b82111561159a57600080fd5b9083019060208201858111156115af57600080fd5b82518660208202830111600160201b821117156115cb57600080fd5b82525081516020918201928201910280838360005b838110156115f85781810151838201526020016115e0565b5050505090500160405260200180516040519392919084600160201b82111561162057600080fd5b90830190602082018581111561163557600080fd5b82518660208202830111600160201b8211171561165157600080fd5b82525081516020918201928201910280838360005b8381101561167e578181015183820152602001611666565b5050505090500160405260200180516040519392919084600160201b8211156116a657600080fd5b9083019060208201858111156116bb57600080fd5b82518660208202830111600160201b821117156116d757600080fd5b82525081516020918201928201910280838360005b838110156117045781810151838201526020016116ec565b5050505091909101604052505084518651949e50929b5095995093975091955014915061176490505760405162461bcd60e51b815260040180806020018281038252602c8152602001806124e4602c913960400191505060405180910390fd5b84518751146117a45760405162461bcd60e51b815260040180806020018281038252602f8152602001806125ef602f913960400191505060405180910390fd5b6117ad83612149565b6117e85760405162461bcd60e51b81526004018080602001828103825260268152602001806125386026913960400191505060405180910390fd5b6117f187612149565b61182c5760405162461bcd60e51b81526004018080602001828103825260298152602001806124626029913960400191505060405180910390fd5b865167ffffffffffffffff8111801561184457600080fd5b5060405190808252806020026020018201604052801561186e578160200160208202803683370190505b50955060005b87518110156119f857611885610477565b6001600160a01b0316639be918e689838151811061189f57fe5b60200260200101516040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156118e457600080fd5b505afa1580156118f8573d6000803e3d6000fd5b505050506040513d602081101561190e57600080fd5b505161194b5760405162461bcd60e51b815260040180806020018281038252602e815260200180612406602e913960400191505060405180910390fd5b87818151811061195757fe5b60200260200101516001600160a01b03166370a082318d6040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156119ab57600080fd5b505afa1580156119bf573d6000803e3d6000fd5b505050506040513d60208110156119d557600080fd5b505187518890839081106119e557fe5b6020908102919091010152600101611874565b50825167ffffffffffffffff81118015611a1157600080fd5b50604051908082528060200260200182016040528015611a3b578160200160208202803683370190505b50905060005b8351811015611b8857838181518110611a5657fe5b60200260200101516001600160a01b03166370a082318d6040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015611aaa57600080fd5b505afa158015611abe573d6000803e3d6000fd5b505050506040513d6020811015611ad457600080fd5b50518251839083908110611ae457fe5b60209081029190910101526001856002811115611afd57fe5b1415611b3a57611b358d858381518110611b1357fe5b60200260200101518d868581518110611b2857fe5b60200260200101516121dd565b611b80565b6002856002811115611b4857fe5b1415611b8057611b808d858381518110611b5e57fe5b60200260200101518d868581518110611b7357fe5b60200260200101516122cf565b600101611a41565b50959b949a509550955095509550565b60006060856001600160a01b03168588868660405160240180846001600160a01b031681526020018060200180602001838103835285818151815260200191508051906020019080838360005b83811015611bfd578181015183820152602001611be5565b50505050905090810190601f168015611c2a5780820380516001836020036101000a031916815260200191505b50838103825284518152845160209182019186019080838360005b83811015611c5d578181015183820152602001611c45565b50505050905090810190601f168015611c8a5780820380516001836020036101000a031916815260200191505b5060408051601f198184030181529181526020820180516001600160e01b03166001600160e01b0319909a16999099178952518151919890975087965094509250829150849050835b60208310611cf25780518252601f199092019160209182019101611cd3565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114611d54576040519150601f19603f3d011682016040523d82523d6000602084013e611d59565b606091505b5091509150818190611de95760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611dae578181015183820152602001611d96565b50505050905090810190601f168015611ddb5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5050505050505050565b606080885167ffffffffffffffff81118015611e0e57600080fd5b50604051908082528060200260200182016040528015611e38578160200160208202803683370190505b50915060005b8951811015611f1657611e81898281518110611e5657fe5b6020026020010151611e7b8e8d8581518110611e6e57fe5b6020026020010151612326565b906123a8565b838281518110611e8d57fe5b602002602001018181525050878181518110611ea557fe5b6020026020010151838281518110611eb957fe5b60200260200101511015611efe5760405162461bcd60e51b815260040180806020018281038252603c81526020018061255e603c913960400191505060405180910390fd5b611f0e8d8b8381518110610dd557fe5b600101611e3e565b50845167ffffffffffffffff81118015611f2f57600080fd5b50604051908082528060200260200182016040528015611f59578160200160208202803683370190505b50905060005b8551811015612139576000611f7a8d888481518110611e6e57fe5b9050848281518110611f8857fe5b6020026020010151811015611fd657611fbd81868481518110611fa757fe5b60200260200101516123a890919063ffffffff16565b838381518110611fc957fe5b6020026020010181815250505b6001886002811115611fe457fe5b14801561208d57506000878381518110611ffa57fe5b60200260200101516001600160a01b031663dd62ed3e8f8f6040518363ffffffff1660e01b815260040180836001600160a01b03168152602001826001600160a01b031681526020019250505060206040518083038186803b15801561205f57600080fd5b505afa158015612073573d6000803e3d6000fd5b505050506040513d602081101561208957600080fd5b5051115b156120b7576120b28e8884815181106120a257fe5b60200260200101518e60006121dd565b612130565b60008860028111156120c557fe5b1415612130578582815181106120d757fe5b60200260200101518383815181106120eb57fe5b602002602001015111156121305760405162461bcd60e51b815260040180806020018281038252603481526020018061261e6034913960400191505060405180910390fd5b50600101611f5f565b509a509a98505050505050505050565b6000600182511161215c5750600161046f565b815160005b818110156121d357600181015b828110156121ca5784818151811061218257fe5b60200260200101516001600160a01b031685838151811061219f57fe5b60200260200101516001600160a01b031614156121c2576000935050505061046f565b60010161216e565b50600101612161565b5060019392505050565b604080516001600160a01b0385811660208301528481168284015260608083018590528351808403909101815260808301938490526310acd06d60e01b9093528616916310acd06d916005919060840180835b815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561226e578181015183820152602001612256565b50505050905090810190601f16801561229b5780820380516001836020036101000a031916815260200191505b509350505050600060405180830381600087803b1580156122bb57600080fd5b505af1158015611de9573d6000803e3d6000fd5b604080516001600160a01b0385811660208301528481168284015260608083018590528351808403909101815260808301938490526310acd06d60e01b9093528616916310acd06d91600791906084018083612230565b6000816001600160a01b03166370a08231846040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561237557600080fd5b505afa158015612389573d6000803e3d6000fd5b505050506040513d602081101561239f57600080fd5b50519392505050565b6000828211156123ff576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b5090039056fe5f5f70726550726f63657373436f493a204e6f6e2d72656365697661626c6520696e636f6d696e672061737365747265636569766543616c6c46726f6d436f6d7074726f6c6c65723a2046756e64206973206e6f74206163746976655f5f70726550726f63657373436f493a204475706c696361746520696e636f6d696e672061737365745f5f616464547261636b6564417373657473546f5661756c743a20556e737570706f727465642061737365747265636569766543616c6c46726f6d436f6d7074726f6c6c65723a20496e76616c6964205f616374696f6e49645f5f70726550726f63657373436f493a205370656e64206173736574732061727261797320756e657175616c7265636569766543616c6c46726f6d436f6d7074726f6c6c65723a20556e617574686f72697a65645f5f70726550726f63657373436f493a204475706c6963617465207370656e642061737365745f5f706f737450726f63657373436f493a20526563656976656420696e636f6d696e67206173736574206c657373207468616e2065787065637465644f6e6c79207468652046756e644465706c6f7965722063616e206d616b6520746869732063616c6c7265636569766543616c6c46726f6d436f6d7074726f6c6c65723a2046756e64206973206e6f742076616c69645f5f70726550726f63657373436f493a20496e636f6d696e67206173736574732061727261797320756e657175616c5f5f706f737450726f63657373436f493a205370656e7420616d6f756e742067726561746572207468616e206578706563746564a164736f6c634300060c000a", - "sourceMap": "1263:16903:158:-:0;;;1921:247;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1921:247:158;;;;;;;;;;;-1:-1:-1;;;;;;1921:247:158;864:29:358;;;;;;;2083:31:158;;;;;::::1;::::0;2124:37;;;::::1;::::0;1263:16903;;;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106100935760003560e01c8063893d20e811610066578063893d20e81461018657806397c0ac871461018e578063bd8e959a14610196578063d44ad6cb1461019e578063f067cc11146101a657610093565b80631bee801e14610098578063467903461461011d57806380d570631461015f578063875fb4b31461017e575b600080fd5b61011b600480360360608110156100ae57600080fd5b6001600160a01b0382351691602081013591810190606081016040820135600160201b8111156100dd57600080fd5b8201836020820111156100ef57600080fd5b803590602001918460018302840111600160201b8311171561011057600080fd5b50909250905061022d565b005b6101436004803603602081101561013357600080fd5b50356001600160a01b0316610453565b604080516001600160a01b039092168252519081900360200190f35b61011b6004803603602081101561017557600080fd5b50351515610474565b610143610477565b61014361049b565b610143610527565b61011b61054b565b61014361054d565b61011b600480360360608110156101bc57600080fd5b6001600160a01b038235811692602081013590911691810190606081016040820135600160201b8111156101ef57600080fd5b82018360208201111561020157600080fd5b803590602001918460018302840111600160201b8311171561022257600080fd5b509092509050610571565b33600061023982610453565b90506001600160a01b0381166102805760405162461bcd60e51b815260040180806020018281038252602d8152602001806125c2602d913960400191505060405180910390fd5b806001600160a01b031663714ca2d1876040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156102cd57600080fd5b505afa1580156102e1573d6000803e3d6000fd5b505050506040513d60208110156102f757600080fd5b50516103345760405162461bcd60e51b81526004018080602001828103825260288152602001806125106028913960400191505060405180910390fd5b846103805761037b86838387878080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506105d892505050565b61044b565b84600114156103ca5761037b868386868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610aee92505050565b84600214156104145761037b868386868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610df192505050565b60405162461bcd60e51b815260040180806020018281038252602d8152602001806124b7602d913960400191505060405180910390fd5b505050505050565b6001600160a01b03808216600090815260208190526040902054165b919050565b50565b7f000000000000000000000000000000000000000000000000000000000000000090565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b1580156104f657600080fd5b505afa15801561050a573d6000803e3d6000fd5b505050506040513d602081101561052057600080fd5b5051905090565b7f000000000000000000000000000000000000000000000000000000000000000090565b565b7f000000000000000000000000000000000000000000000000000000000000000090565b610579610527565b6001600160a01b0316336001600160a01b0316146105c85760405162461bcd60e51b815260040180806020018281038252602881526020018061259a6028913960400191505060405180910390fd5b6105d2848461101f565b50505050565b816001600160a01b0316635a53e3486040518163ffffffff1660e01b815260040160206040518083038186803b15801561061157600080fd5b505afa158015610625573d6000803e3d6000fd5b505050506040513d602081101561063b57600080fd5b50516001600160a01b038481169116146106865760405162461bcd60e51b815260040180806020018281038252602e815260200180612434602e913960400191505060405180910390fd5b600080606061069484611076565b9250925092506060806060806106ad8a8a898989611156565b93509350935093506106bd61054d565b6001600160a01b0316630442bad58b60018e8b8b8a8a8a8a60405160200180886001600160a01b03168152602001876001600160a01b03168152602001866001600160e01b031916815260200180602001806020018060200180602001858103855289818151815260200191508051906020019060200280838360005b8381101561075257818101518382015260200161073a565b50505050905001858103845288818151815260200191508051906020019060200280838360005b83811015610791578181015183820152602001610779565b50505050905001858103835287818151815260200191508051906020019060200280838360005b838110156107d05781810151838201526020016107b8565b50505050905001858103825286818151815260200191508051906020019060200280838360005b8381101561080f5781810151838201526020016107f7565b505050509050019b5050505050505050505050506040516020818303038152906040526040518463ffffffff1660e01b815260040180846001600160a01b0316815260200183600981111561086057fe5b815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561089e578181015183820152602001610886565b50505050905090810190601f1680156108cb5780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b1580156108ec57600080fd5b505af1158015610900573d6000803e3d6000fd5b50505050856001600160e01b031916876001600160a01b03168b6001600160a01b03167ff9a77e6aa0d5e80e8c932c9586e789fc0f4efe610f844fc982129c6f385bfffa8e898989898960405180876001600160a01b03168152602001806020018060200180602001806020018060200186810386528b818151815260200191508051906020019080838360005b838110156109a657818101518382015260200161098e565b50505050905090810190601f1680156109d35780820380516001836020036101000a031916815260200191505b5086810385528a5181528a51602091820191808d01910280838360005b83811015610a085781810151838201526020016109f0565b50505050905001868103845289818151815260200191508051906020019060200280838360005b83811015610a47578181015183820152602001610a2f565b50505050905001868103835288818151815260200191508051906020019060200280838360005b83811015610a86578181015183820152602001610a6e565b50505050905001868103825287818151815260200191508051906020019060200280838360005b83811015610ac5578181015183820152602001610aad565b505050509050019b50505050505050505050505060405180910390a45050505050505050505050565b6060818060200190516020811015610b0557600080fd5b8101908080516040519392919084600160201b821115610b2457600080fd5b908301906020820185811115610b3957600080fd5b82518660208202830111600160201b82111715610b5557600080fd5b82525081516020918201928201910280838360005b83811015610b82578181015183820152602001610b6a565b505050509050016040525050509050610b9961054d565b6001600160a01b0316630442bad5846004878560405160200180836001600160a01b0316815260200180602001828103825283818151815260200191508051906020019060200280838360005b83811015610bfe578181015183820152602001610be6565b5050505090500193505050506040516020818303038152906040526040518463ffffffff1660e01b815260040180846001600160a01b03168152602001836009811115610c4757fe5b815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610c85578181015183820152602001610c6d565b50505050905090810190601f168015610cb25780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b158015610cd357600080fd5b505af1158015610ce7573d6000803e3d6000fd5b5050505060005b8151811015610dea57610cff610477565b6001600160a01b0316639be918e6838381518110610d1957fe5b60200260200101516040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610d5e57600080fd5b505afa158015610d72573d6000803e3d6000fd5b505050506040513d6020811015610d8857600080fd5b5051610dc55760405162461bcd60e51b815260040180806020018281038252602c81526020018061248b602c913960400191505060405180910390fd5b610de284838381518110610dd557fe5b60200260200101516112ab565b600101610cee565b5050505050565b6060818060200190516020811015610e0857600080fd5b8101908080516040519392919084600160201b821115610e2757600080fd5b908301906020820185811115610e3c57600080fd5b82518660208202830111600160201b82111715610e5857600080fd5b82525081516020918201928201910280838360005b83811015610e85578181015183820152602001610e6d565b505050509050016040525050509050610e9c61054d565b6001600160a01b0316630442bad5846005878560405160200180836001600160a01b0316815260200180602001828103825283818151815260200191508051906020019060200280838360005b83811015610f01578181015183820152602001610ee9565b5050505090500193505050506040516020818303038152906040526040518463ffffffff1660e01b815260040180846001600160a01b03168152602001836009811115610f4a57fe5b815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610f88578181015183820152602001610f70565b50505050905090810190601f168015610fb55780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b158015610fd657600080fd5b505af1158015610fea573d6000803e3d6000fd5b5050505060005b8151811015610dea576110178483838151811061100a57fe5b6020026020010151611391565b600101610ff1565b6001600160a01b0382811660008181526020819052604080822080546001600160a01b0319169486169485179055517f8852dcaa71340ea616a65ffac013450dfb238607481fb9d78346c667fe256c139190a35050565b600080606083806020019051606081101561109057600080fd5b81516020830151604080850180519151939592948301929184600160201b8211156110ba57600080fd5b9083019060208201858111156110cf57600080fd5b8251600160201b8111828201881017156110e857600080fd5b82525081516020918201929091019080838360005b838110156111155781810151838201526020016110fd565b50505050905090810190601f1680156111425780820380516001836020036101000a031916815260200191505b506040525050509250925092509193909250565b60608060608060608060006060806111718e8e8e8e8e6113dc565b809750819850829d50839950849a50859b50869f50505050505050506112838d8d8d8d8b878f60405160200180806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b838110156111e25781810151838201526020016111ca565b50505050905001848103835286818151815260200191508051906020019060200280838360005b83811015611221578181015183820152602001611209565b50505050905001848103825285818151815260200191508051906020019060200280838360005b83811015611260578181015183820152602001611248565b505050509050019650505050505050604051602081830303815290604052611b98565b6112958e8e8e8c8989898e8a8a611df3565b9098509550505050505095509550955095915050565b604080516001600160a01b0383811660208084019190915283518084039091018152828401938490526310acd06d60e01b9093528416916310acd06d916004919060440180835b815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611330578181015183820152602001611318565b50505050905090810190601f16801561135d5780820380516001836020036101000a031916815260200191505b509350505050600060405180830381600087803b15801561137d57600080fd5b505af115801561044b573d6000803e3d6000fd5b604080516001600160a01b0383811660208084019190915283518084039091018152828401938490526310acd06d60e01b9093528416916310acd06d916006919060440180836112f2565b606080606060006060806060896001600160a01b031663c54efee58c8b8b6040518463ffffffff1660e01b815260040180846001600160a01b03168152602001836001600160e01b031916815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561146557818101518382015260200161144d565b50505050905090810190601f1680156114925780820380516001836020036101000a031916815260200191505b5094505050505060006040518083038186803b1580156114b157600080fd5b505afa1580156114c5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260a08110156114ee57600080fd5b815160208301805160405192949293830192919084600160201b82111561151457600080fd5b90830190602082018581111561152957600080fd5b82518660208202830111600160201b8211171561154557600080fd5b82525081516020918201928201910280838360005b8381101561157257818101518382015260200161155a565b5050505090500160405260200180516040519392919084600160201b82111561159a57600080fd5b9083019060208201858111156115af57600080fd5b82518660208202830111600160201b821117156115cb57600080fd5b82525081516020918201928201910280838360005b838110156115f85781810151838201526020016115e0565b5050505090500160405260200180516040519392919084600160201b82111561162057600080fd5b90830190602082018581111561163557600080fd5b82518660208202830111600160201b8211171561165157600080fd5b82525081516020918201928201910280838360005b8381101561167e578181015183820152602001611666565b5050505090500160405260200180516040519392919084600160201b8211156116a657600080fd5b9083019060208201858111156116bb57600080fd5b82518660208202830111600160201b821117156116d757600080fd5b82525081516020918201928201910280838360005b838110156117045781810151838201526020016116ec565b5050505091909101604052505084518651949e50929b5095995093975091955014915061176490505760405162461bcd60e51b815260040180806020018281038252602c8152602001806124e4602c913960400191505060405180910390fd5b84518751146117a45760405162461bcd60e51b815260040180806020018281038252602f8152602001806125ef602f913960400191505060405180910390fd5b6117ad83612149565b6117e85760405162461bcd60e51b81526004018080602001828103825260268152602001806125386026913960400191505060405180910390fd5b6117f187612149565b61182c5760405162461bcd60e51b81526004018080602001828103825260298152602001806124626029913960400191505060405180910390fd5b865167ffffffffffffffff8111801561184457600080fd5b5060405190808252806020026020018201604052801561186e578160200160208202803683370190505b50955060005b87518110156119f857611885610477565b6001600160a01b0316639be918e689838151811061189f57fe5b60200260200101516040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156118e457600080fd5b505afa1580156118f8573d6000803e3d6000fd5b505050506040513d602081101561190e57600080fd5b505161194b5760405162461bcd60e51b815260040180806020018281038252602e815260200180612406602e913960400191505060405180910390fd5b87818151811061195757fe5b60200260200101516001600160a01b03166370a082318d6040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156119ab57600080fd5b505afa1580156119bf573d6000803e3d6000fd5b505050506040513d60208110156119d557600080fd5b505187518890839081106119e557fe5b6020908102919091010152600101611874565b50825167ffffffffffffffff81118015611a1157600080fd5b50604051908082528060200260200182016040528015611a3b578160200160208202803683370190505b50905060005b8351811015611b8857838181518110611a5657fe5b60200260200101516001600160a01b03166370a082318d6040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015611aaa57600080fd5b505afa158015611abe573d6000803e3d6000fd5b505050506040513d6020811015611ad457600080fd5b50518251839083908110611ae457fe5b60209081029190910101526001856002811115611afd57fe5b1415611b3a57611b358d858381518110611b1357fe5b60200260200101518d868581518110611b2857fe5b60200260200101516121dd565b611b80565b6002856002811115611b4857fe5b1415611b8057611b808d858381518110611b5e57fe5b60200260200101518d868581518110611b7357fe5b60200260200101516122cf565b600101611a41565b50959b949a509550955095509550565b60006060856001600160a01b03168588868660405160240180846001600160a01b031681526020018060200180602001838103835285818151815260200191508051906020019080838360005b83811015611bfd578181015183820152602001611be5565b50505050905090810190601f168015611c2a5780820380516001836020036101000a031916815260200191505b50838103825284518152845160209182019186019080838360005b83811015611c5d578181015183820152602001611c45565b50505050905090810190601f168015611c8a5780820380516001836020036101000a031916815260200191505b5060408051601f198184030181529181526020820180516001600160e01b03166001600160e01b0319909a16999099178952518151919890975087965094509250829150849050835b60208310611cf25780518252601f199092019160209182019101611cd3565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114611d54576040519150601f19603f3d011682016040523d82523d6000602084013e611d59565b606091505b5091509150818190611de95760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611dae578181015183820152602001611d96565b50505050905090810190601f168015611ddb5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5050505050505050565b606080885167ffffffffffffffff81118015611e0e57600080fd5b50604051908082528060200260200182016040528015611e38578160200160208202803683370190505b50915060005b8951811015611f1657611e81898281518110611e5657fe5b6020026020010151611e7b8e8d8581518110611e6e57fe5b6020026020010151612326565b906123a8565b838281518110611e8d57fe5b602002602001018181525050878181518110611ea557fe5b6020026020010151838281518110611eb957fe5b60200260200101511015611efe5760405162461bcd60e51b815260040180806020018281038252603c81526020018061255e603c913960400191505060405180910390fd5b611f0e8d8b8381518110610dd557fe5b600101611e3e565b50845167ffffffffffffffff81118015611f2f57600080fd5b50604051908082528060200260200182016040528015611f59578160200160208202803683370190505b50905060005b8551811015612139576000611f7a8d888481518110611e6e57fe5b9050848281518110611f8857fe5b6020026020010151811015611fd657611fbd81868481518110611fa757fe5b60200260200101516123a890919063ffffffff16565b838381518110611fc957fe5b6020026020010181815250505b6001886002811115611fe457fe5b14801561208d57506000878381518110611ffa57fe5b60200260200101516001600160a01b031663dd62ed3e8f8f6040518363ffffffff1660e01b815260040180836001600160a01b03168152602001826001600160a01b031681526020019250505060206040518083038186803b15801561205f57600080fd5b505afa158015612073573d6000803e3d6000fd5b505050506040513d602081101561208957600080fd5b5051115b156120b7576120b28e8884815181106120a257fe5b60200260200101518e60006121dd565b612130565b60008860028111156120c557fe5b1415612130578582815181106120d757fe5b60200260200101518383815181106120eb57fe5b602002602001015111156121305760405162461bcd60e51b815260040180806020018281038252603481526020018061261e6034913960400191505060405180910390fd5b50600101611f5f565b509a509a98505050505050505050565b6000600182511161215c5750600161046f565b815160005b818110156121d357600181015b828110156121ca5784818151811061218257fe5b60200260200101516001600160a01b031685838151811061219f57fe5b60200260200101516001600160a01b031614156121c2576000935050505061046f565b60010161216e565b50600101612161565b5060019392505050565b604080516001600160a01b0385811660208301528481168284015260608083018590528351808403909101815260808301938490526310acd06d60e01b9093528616916310acd06d916005919060840180835b815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561226e578181015183820152602001612256565b50505050905090810190601f16801561229b5780820380516001836020036101000a031916815260200191505b509350505050600060405180830381600087803b1580156122bb57600080fd5b505af1158015611de9573d6000803e3d6000fd5b604080516001600160a01b0385811660208301528481168284015260608083018590528351808403909101815260808301938490526310acd06d60e01b9093528616916310acd06d91600791906084018083612230565b6000816001600160a01b03166370a08231846040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561237557600080fd5b505afa158015612389573d6000803e3d6000fd5b505050506040513d602081101561239f57600080fd5b50519392505050565b6000828211156123ff576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b5090039056fe5f5f70726550726f63657373436f493a204e6f6e2d72656365697661626c6520696e636f6d696e672061737365747265636569766543616c6c46726f6d436f6d7074726f6c6c65723a2046756e64206973206e6f74206163746976655f5f70726550726f63657373436f493a204475706c696361746520696e636f6d696e672061737365745f5f616464547261636b6564417373657473546f5661756c743a20556e737570706f727465642061737365747265636569766543616c6c46726f6d436f6d7074726f6c6c65723a20496e76616c6964205f616374696f6e49645f5f70726550726f63657373436f493a205370656e64206173736574732061727261797320756e657175616c7265636569766543616c6c46726f6d436f6d7074726f6c6c65723a20556e617574686f72697a65645f5f70726550726f63657373436f493a204475706c6963617465207370656e642061737365745f5f706f737450726f63657373436f493a20526563656976656420696e636f6d696e67206173736574206c657373207468616e2065787065637465644f6e6c79207468652046756e644465706c6f7965722063616e206d616b6520746869732063616c6c7265636569766543616c6c46726f6d436f6d7074726f6c6c65723a2046756e64206973206e6f742076616c69645f5f70726550726f63657373436f493a20496e636f6d696e67206173736574732061727261797320756e657175616c5f5f706f737450726f63657373436f493a205370656e7420616d6f756e742067726561746572207468616e206578706563746564a164736f6c634300060c000a", - "sourceMap": "1263:16903:158:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3026:1196;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3026:1196:158;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3026:1196:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3026:1196:158;;;;;;;;;;-1:-1:-1;3026:1196:158;;-1:-1:-1;3026:1196:158;-1:-1:-1;3026:1196:158;:::i;:::-;;2692:198:226;;;;;;;;;;;;;;;;-1:-1:-1;2692:198:226;-1:-1:-1;;;;;2692:198:226;;:::i;:::-;;;;-1:-1:-1;;;;;2692:198:226;;;;;;;;;;;;;;1120:80;;;;;;;;;;;;;;;;-1:-1:-1;1120:80:226;;;;:::i;18044:120:158:-;;;:::i;1064::358:-;;;:::i;1378:108::-;;;:::i;1346:78:226:-;;;:::i;17800:111:158:-;;;:::i;2417:228::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2417:228:158;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2417:228:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2417:228:158;;;;;;;;;;-1:-1:-1;2417:228:158;;-1:-1:-1;2417:228:158;-1:-1:-1;2417:228:158;:::i;3026:1196::-;3209:10;3182:24;3470:38;3209:10;3470:20;:38::i;:::-;3449:59;-1:-1:-1;;;;;;3526:24:158;;3518:82;;;;-1:-1:-1;;;3518:82:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3639:10;-1:-1:-1;;;;;3632:34:158;;3667:7;3632:43;;;;;;;;;;;;;-1:-1:-1;;;;;3632:43:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3632:43:158;3611:130;;;;-1:-1:-1;;;3611:130:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3787:14;3783:433;;3817:69;3837:7;3846:16;3864:10;3876:9;;3817:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3817:19:158;;-1:-1:-1;;;3817:69:158:i;:::-;3783:433;;;3907:9;3920:1;3907:14;3903:313;;;3937:63;3963:7;3972:16;3990:9;;3937:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3937:25:158;;-1:-1:-1;;;3937:63:158:i;3903:313::-;4021:9;4034:1;4021:14;4017:199;;;4051:68;4082:7;4091:16;4109:9;;4051:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4051:30:158;;-1:-1:-1;;;4051:68:158:i;4017:199::-;4150:55;;-1:-1:-1;;;4150:55:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4017:199;3026:1196;;;;;;:::o;2692:198:226:-;-1:-1:-1;;;;;2836:47:226;;;2794:19;2836:47;;;;;;;;;;;;2692:198;;;;:::o;1120:80::-;;:::o;18044:120:158:-;18140:17;18044:120;:::o;1064::358:-;1105:14;1152:13;-1:-1:-1;;;;;1138:37:358;;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1138:39:358;;-1:-1:-1;1064:120:358;:::o;1378:108::-;1466:13;1378:108;:::o;1346:78:226:-;:::o;17800:111:158:-;17890:14;17800:111;:::o;2417:228::-;819:17:226;:15;:17::i;:::-;-1:-1:-1;;;;;805:31:226;:10;-1:-1:-1;;;;;805:31:226;;797:84;;;;-1:-1:-1;;;797:84:226;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2582:56:158::1;2607:17;2626:11;2582:24;:56::i;:::-;2417:228:::0;;;;:::o;6468:1885::-;6976:11;-1:-1:-1;;;;;6969:31:158;;:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6969:33:158;-1:-1:-1;;;;;6948:54:158;;;;;;6927:147;;;;-1:-1:-1;;;6927:147:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7099:15;7128;7157:28;7198:40;7228:9;7198:29;:40::i;:::-;7085:153;;;;;;7263:31;7308:37;7359:28;7401:34;7448:186;7490:17;7525:11;7554:7;7579:8;7605:15;7448:24;:186::i;:::-;7249:385;;;;;;;;7660:18;:16;:18::i;:::-;-1:-1:-1;;;;;7645:51:158;;7710:17;7741:47;7830:7;7855;7880:8;7906:14;7938:20;7976:11;8005:17;7802:234;;;;;;-1:-1:-1;;;;;7802:234:158;;;;;;-1:-1:-1;;;;;7802:234:158;;;;;;-1:-1:-1;;;;;7802:234:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7645:401;;;;;;;;;;;;;-1:-1:-1;;;;;7645:401:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8181:8;-1:-1:-1;;;;;8062:284:158;;8160:7;-1:-1:-1;;;;;8062:284:158;8108:17;-1:-1:-1;;;;;8062:284:158;;8139:7;8203:15;8232:14;8260:20;8294:11;8319:17;8062:284;;;;-1:-1:-1;;;;;8062:284:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8062:284:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6468:1885;;;;;;;;;;;:::o;4348:726::-;4499:23;4536:9;4525:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4525:34:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4525:34:158;;;;;;;;;;;;-1:-1:-1;4525:34:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4499:60;;4585:18;:16;:18::i;:::-;-1:-1:-1;;;;;4570:51:158;;4635:17;4666:42;4733:7;4742:6;4722:27;;;;;;-1:-1:-1;;;;;4722:27:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4570:189;;;;;;;;;;;;;-1:-1:-1;;;;;4570:189:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4775:9;4770:298;4790:6;:13;4786:1;:17;4770:298;;;4867:21;:19;:21::i;:::-;-1:-1:-1;;;;;4849:57:158;;4907:6;4914:1;4907:9;;;;;;;;;;;;;;4849:68;;;;;;;;;;;;;-1:-1:-1;;;;;4849:68:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4849:68:158;4824:171;;;;-1:-1:-1;;;4824:171:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5010:47;5028:17;5047:6;5054:1;5047:9;;;;;;;;;;;;;;5010:17;:47::i;:::-;4805:3;;4770:298;;;;4348:726;;;;:::o;5209:551::-;5365:23;5402:9;5391:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5391:34:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5391:34:158;;;;;;;;;;;;-1:-1:-1;5391:34:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5365:60;;5451:18;:16;:18::i;:::-;-1:-1:-1;;;;;5436:51:158;;5501:17;5532:45;5602:7;5611:6;5591:27;;;;;;-1:-1:-1;;;;;5591:27:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5436:192;;;;;;;;;;;;;-1:-1:-1;;;;;5436:192:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5644:9;5639:115;5659:6;:13;5655:1;:17;5639:115;;;5693:50;5714:17;5733:6;5740:1;5733:9;;;;;;;;;;;;;;5693:20;:50::i;:::-;5674:3;;5639:115;;2172:246:226;-1:-1:-1;;;;;2273:47:226;;;:28;:47;;;;;;;;;;;:61;;-1:-1:-1;;;;;;2273:61:226;;;;;;;;;2350;;;2273:28;2350:61;2172:246;;:::o;10269:297:158:-;10391:16;10421;10451:29;10523:9;10512:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;10512:47:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;10512:47:158;;;;;;-1:-1:-1;10512:47:158;;;;;;;;;;-1:-1:-1;10512:47:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10505:54;;;;;;10269:297;;;;;:::o;8471:1753::-;8712:32;8758:38;8810:29;8853:35;8913:45;8968:40;9018:43;9071:37;9118:42;9426:86;9442:17;9461:11;9474:8;9484:9;9495:16;9426:15;:86::i;:::-;9171:341;;;;;;;;;;;;;;;;;;;;;;;;;;;;9523:199;9549:11;9574:8;9596:9;9619:16;9660:12;9674:20;9696:15;9649:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9523:12;:199::i;:::-;9779:346;9809:17;9840:11;9865:8;9887:15;9916:28;9958:23;9995:21;10030:12;10056:20;10090:25;9779:16;:346::i;:::-;9733:392;;-1:-1:-1;9733:392:158;-1:-1:-1;;;;;;8471:1753:158;;;;;;;;;;:::o;1240:241:227:-;1446:18;;;-1:-1:-1;;;;;1446:18:227;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1329:145:227;;;:55;;;;;1398:34;;1446:18;1329:145;;;1398:34;1329:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4255:247;4467:18;;;-1:-1:-1;;;;;4467:18:227;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4347:148:227;;;:55;;;;;4416:37;;4467:18;4347:148;;;4416:37;4347:148;;11421:3345:158;11653:32;11699:46;11759:41;11814:44;11872:29;11915:38;11967:43;12374:8;-1:-1:-1;;;;;12354:50:158;;12418:11;12443:9;12466:16;12354:138;;;;;;;;;;;;;-1:-1:-1;;;;;12354:138:158;;;;;;-1:-1:-1;;;;;12354:138:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;12354:138:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;12354:138:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;12354:138:158;;;;;;;;;;;;-1:-1:-1;12354:138:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;12354:138:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;12354:138:158;;;;;;;;;;;;-1:-1:-1;12354:138:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;12354:138:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;12354:138:158;;;;;;;;;;;;-1:-1:-1;12354:138:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;12354:138:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;12354:138:158;;;;;;;;;;;;-1:-1:-1;12354:138:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;12354:138:158;;;;;;-1:-1:-1;;12546:28:158;;12523:19;;12177:315;;-1:-1:-1;12177:315:158;;-1:-1:-1;12177:315:158;;-1:-1:-1;12177:315:158;;-1:-1:-1;12177:315:158;;-1:-1:-1;12523:51:158;;-1:-1:-1;12502:142:158;;-1:-1:-1;12502:142:158;;;-1:-1:-1;;;12502:142:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12701:24;:31;12675:15;:22;:57;12654:151;;;;-1:-1:-1;;;12654:151:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12823:26;:12;:24;:26::i;:::-;12815:77;;;;-1:-1:-1;;;12815:77:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12910:29;:15;:27;:29::i;:::-;12902:83;;;;-1:-1:-1;;;12902:83:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13339:15;:22;13325:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13325:37:158;;13293:69;;13377:9;13372:354;13392:15;:22;13388:1;:26;13372:354;;;13478:21;:19;:21::i;:::-;-1:-1:-1;;;;;13460:57:158;;13518:15;13534:1;13518:18;;;;;;;;;;;;;;13460:77;;;;;;;;;;;;;-1:-1:-1;;;;;13460:77:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13460:77:158;13435:182;;;;-1:-1:-1;;;13435:182:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13673:15;13689:1;13673:18;;;;;;;;;;;;;;-1:-1:-1;;;;;13667:35:158;;13703:11;13667:48;;;;;;;;;;;;;-1:-1:-1;;;;;13667:48:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13667:48:158;13632:32;;:29;;13662:1;;13632:32;;;;;;;;;;;;;;;:83;13416:3;;13372:354;;;;13804:12;:19;13790:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13790:34:158;;13761:63;;13839:9;13834:926;13854:12;:19;13850:1;:23;13834:926;;;13932:12;13945:1;13932:15;;;;;;;;;;;;;;-1:-1:-1;;;;;13926:32:158;;13959:11;13926:45;;;;;;;;;;;;;-1:-1:-1;;;;;13926:45:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13926:45:158;13894:29;;:26;;13921:1;;13894:29;;;;;;;;;;;;;;;:77;14141:29;14115:22;:55;;;;;;;;;14111:639;;;14256:191;14299:17;14338:12;14351:1;14338:15;;;;;;;;;;;;;;14375:8;14405:21;14427:1;14405:24;;;;;;;;;;;;;;14256:21;:191::i;:::-;14111:639;;;14498:30;14472:22;:56;;;;;;;;;14468:282;;;14548:187;14587:17;14626:12;14639:1;14626:15;;;;;;;;;;;;;;14663:8;14693:21;14715:1;14693:24;;;;;;;;;;;;;;14548:17;:187::i;:::-;13875:3;;13834:926;;;;11421:3345;;;;;;;;;;;;;:::o;10669:407::-;10869:12;10883:23;10910:8;-1:-1:-1;;;;;10910:13:158;10960:9;10971:11;10984:16;11002:10;10937:76;;;;;;-1:-1:-1;;;;;10937:76:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10937:76:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10937:76:158;;;-1:-1:-1;;10937:76:158;;;;;;;;;;;;;;-1:-1:-1;;;;;10937:76:158;-1:-1:-1;;;;;;10937:76:158;;;;;;;;;10910:113;;;10937:76;;10910:113;;-1:-1:-1;10910:113:158;;-1:-1:-1;10937:76:158;-1:-1:-1;10910:113:158;-1:-1:-1;10910:113:158;;-1:-1:-1;10910:113:158;;-1:-1:-1;10937:76:158;10910:113;;;;;;;;;;-1:-1:-1;;10910:113:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10868:155;;;;11041:7;11057:10;11033:36;;;;;-1:-1:-1;;;11033:36:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10669:407;;;;;;;:::o;14851:2752::-;15349:38;15389:35;15506:15;:22;15492:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15492:37:158;;15468:61;;15544:9;15539:574;15559:15;:22;15555:1;:26;15539:574;;;15629:123;15706:29;15736:1;15706:32;;;;;;;;;;;;;;15629:55;15652:11;15665:15;15681:1;15665:18;;;;;;;;;;;;;;15629:22;:55::i;:::-;:59;;:123::i;:::-;15602:21;15624:1;15602:24;;;;;;;;;;;;;:150;;;;;15819:24;15844:1;15819:27;;;;;;;;;;;;;;15791:21;15813:1;15791:24;;;;;;;;;;;;;;:55;;15766:174;;;;-1:-1:-1;;;15766:174:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16046:56;16064:17;16083:15;16099:1;16083:18;;;;;;;16046:56;15583:3;;15539:574;;;;16183:12;:19;16169:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;16169:34:158;;16148:55;;16218:9;16213:1323;16233:12;:19;16229:1;:23;16213:1323;;;16363:33;16399:98;16439:11;16468:12;16481:1;16468:15;;;;;;;16399:98;16363:134;;16543:26;16570:1;16543:29;;;;;;;;;;;;;;16515:25;:57;16511:218;;;16616:98;16671:25;16616:26;16643:1;16616:29;;;;;;;;;;;;;;:33;;:98;;;;:::i;:::-;16592:18;16611:1;16592:21;;;;;;;;;;;;;:122;;;;;16511:218;16832:29;16806:22;:55;;;;;;;;;:134;;;;;16939:1;16887:12;16900:1;16887:15;;;;;;;;;;;;;;-1:-1:-1;;;;;16881:32:158;;16914:11;16927:8;16881:55;;;;;;;;;;;;;-1:-1:-1;;;;;16881:55:158;;;;;;-1:-1:-1;;;;;16881:55:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;16881:55:158;:59;16806:134;16785:741;;;16973:70;16995:17;17014:12;17027:1;17014:15;;;;;;;;;;;;;;17031:8;17041:1;16973:21;:70::i;:::-;16785:741;;;17094:26;17068:22;:52;;;;;;;;;17064:462;;;17393:21;17415:1;17393:24;;;;;;;;;;;;;;17368:18;17387:1;17368:21;;;;;;;;;;;;;;:49;;17339:172;;;;-1:-1:-1;;;17339:172:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;16254:3:158;;16213:1323;;;;14851:2752;;;;;;;;;;;;;:::o;3999:454:354:-;4067:14;4113:1;4097:5;:12;:17;4093:59;;-1:-1:-1;4137:4:354;4130:11;;4093:59;4184:12;;4162:19;4206:219;4226:11;4222:1;:15;4206:219;;;4279:1;4275:5;;4258:157;4286:11;4282:1;:15;4258:157;;;4338:5;4344:1;4338:8;;;;;;;;;;;;;;-1:-1:-1;;;;;4326:20:354;:5;4332:1;4326:8;;;;;;;;;;;;;;-1:-1:-1;;;;;4326:20:354;;4322:79;;;4377:5;4370:12;;;;;;;4322:79;4299:3;;4258:157;;;-1:-1:-1;4239:3:354;;4206:219;;;-1:-1:-1;4442:4:354;;3999:454;-1:-1:-1;;;3999:454:354:o;1791:339:227:-;2077:36;;;-1:-1:-1;;;;;2077:36:227;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1956:167:227;;;:55;;;;;2025:38;;2077:36;1956:167;;;2025:38;1956:167;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5448:331;5726:36;;;-1:-1:-1;;;;;5726:36:227;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5609:163:227;;;:55;;;;;5678:34;;5726:36;5609:163;;;5678:34;5609:163;;11151:188:158;11266:7;11302:6;-1:-1:-1;;;;;11296:23:158;;11320:11;11296:36;;;;;;;;;;;;;-1:-1:-1;;;;;11296:36:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11296:36:158;;11151:188;-1:-1:-1;;;11151:188:158:o;3136:155:442:-;3194:7;3226:1;3221;:6;;3213:49;;;;;-1:-1:-1;;;3213:49:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3279:5:442;;;3136:155::o", - "linkReferences": {}, - "immutableReferences": { - "40754": [ - { - "start": 1359, - "length": 32 - } - ], - "40756": [ - { - "start": 1145, - "length": 32 - } - ], - "78707": [ - { - "start": 1183, - "length": 32 - }, - { - "start": 1321, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "activateForFund(bool)": "80d57063", - "deactivateForFund()": "bd8e959a", - "getFundDeployer()": "97c0ac87", - "getOwner()": "893d20e8", - "getPolicyManager()": "d44ad6cb", - "getValueInterpreter()": "875fb4b3", - "getVaultProxyForFund(address)": "46790346", - "receiveCallFromComptroller(address,uint256,bytes)": "1bee801e", - "setConfigForFund(address,address,bytes)": "f067cc11" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_fundDeployer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_policyManager\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_valueInterpreter\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"adapter\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"bytes4\",\"name\":\"selector\",\"type\":\"bytes4\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"integrationData\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"incomingAssets\",\"type\":\"address[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"incomingAssetAmounts\",\"type\":\"uint256[]\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"spendAssets\",\"type\":\"address[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"spendAssetAmounts\",\"type\":\"uint256[]\"}],\"name\":\"CallOnIntegrationExecutedForFund\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"vaultProxy\",\"type\":\"address\"}],\"name\":\"ValidatedVaultProxySetForFund\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"name\":\"activateForFund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"deactivateForFund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFundDeployer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"fundDeployer_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPolicyManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"policyManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getValueInterpreter\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"valueInterpreter_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"}],\"name\":\"getVaultProxyForFund\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"vaultProxy_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_caller\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_actionId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_callArgs\",\"type\":\"bytes\"}],\"name\":\"receiveCallFromComptroller\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"setConfigForFund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"Any arbitrary adapter is allowed by default, so all participants must be aware of their fund's configuration, especially whether they use a policy that only allows official adapters. Owners and asset managers must also establish trust for any arbitrary adapters that they interact with.\",\"kind\":\"dev\",\"methods\":{\"activateForFund(bool)\":{\"details\":\"Unimplemented by default, may be overridden.\"},\"deactivateForFund()\":{\"details\":\"Unimplemented by default, may be overridden.\"},\"getFundDeployer()\":{\"returns\":{\"fundDeployer_\":\"The `FUND_DEPLOYER` variable value\"}},\"getOwner()\":{\"details\":\"Ownership is deferred to the owner of the FundDeployer contract\",\"returns\":{\"owner_\":\"The owner\"}},\"getPolicyManager()\":{\"returns\":{\"policyManager_\":\"The `POLICY_MANAGER` variable value\"}},\"getValueInterpreter()\":{\"returns\":{\"valueInterpreter_\":\"The `VALUE_INTERPRETER` variable value\"}},\"getVaultProxyForFund(address)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\"},\"returns\":{\"vaultProxy_\":\"The VaultProxy of the fund\"}},\"receiveCallFromComptroller(address,uint256,bytes)\":{\"params\":{\"_actionId\":\"An ID representing the desired action\",\"_callArgs\":\"The encoded args for the action\",\"_caller\":\"The user who called for this action\"}},\"setConfigForFund(address,address,bytes)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\",\"_vaultProxy\":\"The VaultProxy of the fund\"}}},\"title\":\"IntegrationManager\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"activateForFund(bool)\":{\"notice\":\"Allows extension to run logic during fund activation\"},\"deactivateForFund()\":{\"notice\":\"Allows extension to run logic during fund deactivation (destruct)\"},\"getFundDeployer()\":{\"notice\":\"Gets the `FUND_DEPLOYER` variable\"},\"getOwner()\":{\"notice\":\"Gets the owner of this contract\"},\"getPolicyManager()\":{\"notice\":\"Gets the `POLICY_MANAGER` variable\"},\"getValueInterpreter()\":{\"notice\":\"Gets the `VALUE_INTERPRETER` variable\"},\"getVaultProxyForFund(address)\":{\"notice\":\"Gets the verified VaultProxy for a given ComptrollerProxy\"},\"receiveCallFromComptroller(address,uint256,bytes)\":{\"notice\":\"Receives a dispatched `callOnExtension` from a fund's ComptrollerProxy\"},\"setConfigForFund(address,address,bytes)\":{\"notice\":\"Enables the IntegrationManager to be used by a fund\"}},\"notice\":\"Extension to handle DeFi integration actions for funds\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/integration-manager/IntegrationManager.sol\":\"IntegrationManager\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/vault/interfaces/IExternalPositionVault.sol\":{\"keccak256\":\"0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d\",\"dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8\"]},\"contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol\":{\"keccak256\":\"0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb\",\"dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU\"]},\"contracts/persistent/vault/interfaces/IMigratableVault.sol\":{\"keccak256\":\"0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6\",\"dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs\"]},\"contracts/persistent/vault/interfaces/IVaultCore.sol\":{\"keccak256\":\"0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd\",\"dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr\"]},\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/core/fund/comptroller/IComptroller.sol\":{\"keccak256\":\"0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97\",\"dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L\"]},\"contracts/release/core/fund/vault/IVault.sol\":{\"keccak256\":\"0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599\",\"dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG\"]},\"contracts/release/extensions/IExtension.sol\":{\"keccak256\":\"0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70\",\"dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t\"]},\"contracts/release/extensions/integration-manager/IIntegrationManager.sol\":{\"keccak256\":\"0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23\",\"dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk\"]},\"contracts/release/extensions/integration-manager/IntegrationManager.sol\":{\"keccak256\":\"0x069b57d778dccc4e67fd5e1514168348fd82ab144dfd3cfd6130717b47e95eab\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://546c6623f51cb59da95a332b2a1da0f65444d3ebb5de2de63022dfc5c63325ec\",\"dweb:/ipfs/QmdrRFPwJKZLPFr9fT9Hfw7RB1QWH1Gh7StNBWPueaWTzK\"]},\"contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol\":{\"keccak256\":\"0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336\",\"dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS\"]},\"contracts/release/extensions/policy-manager/IPolicyManager.sol\":{\"keccak256\":\"0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa\",\"dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb\"]},\"contracts/release/extensions/utils/ExtensionBase.sol\":{\"keccak256\":\"0xae68767766f6459bd2cd9dbd39df74f2c2f68f2150885bbce410e4091c807bb1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ce4c49522a39f618cc76feb474260fe910949f38e83b5f4518f1f245ba6eb876\",\"dweb:/ipfs/QmZ4wciRpziZAS4HRQy44Sgzm4GM4Wzme9zYnABzR6Cbzo\"]},\"contracts/release/extensions/utils/PermissionedVaultActionMixin.sol\":{\"keccak256\":\"0x77ddb9299d9c5f1538c20ae1543c20ef73db11ad7d9a9b817d26969ab233bb57\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://77812616256a092e0fd77469dcd2a2e098a1cf52686eeb6703a169efa64c27df\",\"dweb:/ipfs/QmbRPZznXSX3aA2VVJNpRqFXdJZebVDcDuY8EnF75Z7GpB\"]},\"contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol\":{\"keccak256\":\"0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965\",\"dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"contracts/release/utils/FundDeployerOwnerMixin.sol\":{\"keccak256\":\"0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927\",\"dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_fundDeployer", - "type": "address" - }, - { - "internalType": "address", - "name": "_policyManager", - "type": "address" - }, - { - "internalType": "address", - "name": "_valueInterpreter", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "comptrollerProxy", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "caller", - "type": "address", - "indexed": false - }, - { - "internalType": "address", - "name": "adapter", - "type": "address", - "indexed": true - }, - { - "internalType": "bytes4", - "name": "selector", - "type": "bytes4", - "indexed": true - }, - { - "internalType": "bytes", - "name": "integrationData", - "type": "bytes", - "indexed": false - }, - { - "internalType": "address[]", - "name": "incomingAssets", - "type": "address[]", - "indexed": false - }, - { - "internalType": "uint256[]", - "name": "incomingAssetAmounts", - "type": "uint256[]", - "indexed": false - }, - { - "internalType": "address[]", - "name": "spendAssets", - "type": "address[]", - "indexed": false - }, - { - "internalType": "uint256[]", - "name": "spendAssetAmounts", - "type": "uint256[]", - "indexed": false - } - ], - "type": "event", - "name": "CallOnIntegrationExecutedForFund", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "comptrollerProxy", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "vaultProxy", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "ValidatedVaultProxySetForFund", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "activateForFund" - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "deactivateForFund" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getFundDeployer", - "outputs": [ - { - "internalType": "address", - "name": "fundDeployer_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "owner_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getPolicyManager", - "outputs": [ - { - "internalType": "address", - "name": "policyManager_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getValueInterpreter", - "outputs": [ - { - "internalType": "address", - "name": "valueInterpreter_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getVaultProxyForFund", - "outputs": [ - { - "internalType": "address", - "name": "vaultProxy_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_caller", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_actionId", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_callArgs", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "receiveCallFromComptroller" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setConfigForFund" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "activateForFund(bool)": { - "details": "Unimplemented by default, may be overridden." - }, - "deactivateForFund()": { - "details": "Unimplemented by default, may be overridden." - }, - "getFundDeployer()": { - "returns": { - "fundDeployer_": "The `FUND_DEPLOYER` variable value" - } - }, - "getOwner()": { - "details": "Ownership is deferred to the owner of the FundDeployer contract", - "returns": { - "owner_": "The owner" - } - }, - "getPolicyManager()": { - "returns": { - "policyManager_": "The `POLICY_MANAGER` variable value" - } - }, - "getValueInterpreter()": { - "returns": { - "valueInterpreter_": "The `VALUE_INTERPRETER` variable value" - } - }, - "getVaultProxyForFund(address)": { - "params": { - "_comptrollerProxy": "The ComptrollerProxy of the fund" - }, - "returns": { - "vaultProxy_": "The VaultProxy of the fund" - } - }, - "receiveCallFromComptroller(address,uint256,bytes)": { - "params": { - "_actionId": "An ID representing the desired action", - "_callArgs": "The encoded args for the action", - "_caller": "The user who called for this action" - } - }, - "setConfigForFund(address,address,bytes)": { - "params": { - "_comptrollerProxy": "The ComptrollerProxy of the fund", - "_vaultProxy": "The VaultProxy of the fund" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "activateForFund(bool)": { - "notice": "Allows extension to run logic during fund activation" - }, - "deactivateForFund()": { - "notice": "Allows extension to run logic during fund deactivation (destruct)" - }, - "getFundDeployer()": { - "notice": "Gets the `FUND_DEPLOYER` variable" - }, - "getOwner()": { - "notice": "Gets the owner of this contract" - }, - "getPolicyManager()": { - "notice": "Gets the `POLICY_MANAGER` variable" - }, - "getValueInterpreter()": { - "notice": "Gets the `VALUE_INTERPRETER` variable" - }, - "getVaultProxyForFund(address)": { - "notice": "Gets the verified VaultProxy for a given ComptrollerProxy" - }, - "receiveCallFromComptroller(address,uint256,bytes)": { - "notice": "Receives a dispatched `callOnExtension` from a fund's ComptrollerProxy" - }, - "setConfigForFund(address,address,bytes)": { - "notice": "Enables the IntegrationManager to be used by a fund" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/integration-manager/IntegrationManager.sol": "IntegrationManager" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/vault/interfaces/IExternalPositionVault.sol": { - "keccak256": "0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6", - "urls": [ - "bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d", - "dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol": { - "keccak256": "0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0", - "urls": [ - "bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb", - "dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IMigratableVault.sol": { - "keccak256": "0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238", - "urls": [ - "bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6", - "dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IVaultCore.sol": { - "keccak256": "0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80", - "urls": [ - "bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd", - "dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund-deployer/IFundDeployer.sol": { - "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", - "urls": [ - "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", - "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/comptroller/IComptroller.sol": { - "keccak256": "0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f", - "urls": [ - "bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97", - "dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/vault/IVault.sol": { - "keccak256": "0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd", - "urls": [ - "bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599", - "dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/IExtension.sol": { - "keccak256": "0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b", - "urls": [ - "bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70", - "dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/IIntegrationManager.sol": { - "keccak256": "0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef", - "urls": [ - "bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23", - "dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/IntegrationManager.sol": { - "keccak256": "0x069b57d778dccc4e67fd5e1514168348fd82ab144dfd3cfd6130717b47e95eab", - "urls": [ - "bzz-raw://546c6623f51cb59da95a332b2a1da0f65444d3ebb5de2de63022dfc5c63325ec", - "dweb:/ipfs/QmdrRFPwJKZLPFr9fT9Hfw7RB1QWH1Gh7StNBWPueaWTzK" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol": { - "keccak256": "0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1", - "urls": [ - "bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336", - "dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/policy-manager/IPolicyManager.sol": { - "keccak256": "0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32", - "urls": [ - "bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa", - "dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/utils/ExtensionBase.sol": { - "keccak256": "0xae68767766f6459bd2cd9dbd39df74f2c2f68f2150885bbce410e4091c807bb1", - "urls": [ - "bzz-raw://ce4c49522a39f618cc76feb474260fe910949f38e83b5f4518f1f245ba6eb876", - "dweb:/ipfs/QmZ4wciRpziZAS4HRQy44Sgzm4GM4Wzme9zYnABzR6Cbzo" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/utils/PermissionedVaultActionMixin.sol": { - "keccak256": "0x77ddb9299d9c5f1538c20ae1543c20ef73db11ad7d9a9b817d26969ab233bb57", - "urls": [ - "bzz-raw://77812616256a092e0fd77469dcd2a2e098a1cf52686eeb6703a169efa64c27df", - "dweb:/ipfs/QmbRPZznXSX3aA2VVJNpRqFXdJZebVDcDuY8EnF75Z7GpB" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol": { - "keccak256": "0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794", - "urls": [ - "bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965", - "dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AddressArrayLib.sol": { - "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", - "urls": [ - "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", - "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AssetHelpers.sol": { - "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", - "urls": [ - "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", - "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/FundDeployerOwnerMixin.sol": { - "keccak256": "0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934", - "urls": [ - "bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927", - "dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { - "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", - "urls": [ - "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", - "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Address.sol": { - "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", - "urls": [ - "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", - "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 158 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_fundDeployer", "type": "address", "internalType": "address" }, { "name": "_policyManager", "type": "address", "internalType": "address" }, { "name": "_valueInterpreter", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "activateForFund", "inputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "deactivateForFund", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "getFundDeployer", "inputs": [], "outputs": [ { "name": "fundDeployer_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getOwner", "inputs": [], "outputs": [ { "name": "owner_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getPolicyManager", "inputs": [], "outputs": [ { "name": "policyManager_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getValueInterpreter", "inputs": [], "outputs": [ { "name": "valueInterpreter_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getVaultProxyForFund", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "vaultProxy_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "receiveCallFromComptroller", "inputs": [ { "name": "_caller", "type": "address", "internalType": "address" }, { "name": "_actionId", "type": "uint256", "internalType": "uint256" }, { "name": "_callArgs", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setConfigForFund", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" }, { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "event", "name": "CallOnIntegrationExecutedForFund", "inputs": [ { "name": "comptrollerProxy", "type": "address", "indexed": true, "internalType": "address" }, { "name": "caller", "type": "address", "indexed": false, "internalType": "address" }, { "name": "adapter", "type": "address", "indexed": true, "internalType": "address" }, { "name": "selector", "type": "bytes4", "indexed": true, "internalType": "bytes4" }, { "name": "integrationData", "type": "bytes", "indexed": false, "internalType": "bytes" }, { "name": "incomingAssets", "type": "address[]", "indexed": false, "internalType": "address[]" }, { "name": "incomingAssetAmounts", "type": "uint256[]", "indexed": false, "internalType": "uint256[]" }, { "name": "spendAssets", "type": "address[]", "indexed": false, "internalType": "address[]" }, { "name": "spendAssetAmounts", "type": "uint256[]", "indexed": false, "internalType": "uint256[]" } ], "anonymous": false }, { "type": "event", "name": "ValidatedVaultProxySetForFund", "inputs": [ { "name": "comptrollerProxy", "type": "address", "indexed": true, "internalType": "address" }, { "name": "vaultProxy", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false } ], "bytecode": { "object": "0x60e060405234801561001057600080fd5b506040516126fa3803806126fa8339818101604052606081101561003357600080fd5b50805160208201516040909201516001600160601b0319606092831b811660805292821b831660a052901b1660c05260805160601c60a05160601c60c05160601c61265e61009c6000398061047952508061054f52508061049f5280610529525061265e6000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c8063893d20e811610066578063893d20e81461018657806397c0ac871461018e578063bd8e959a14610196578063d44ad6cb1461019e578063f067cc11146101a657610093565b80631bee801e14610098578063467903461461011d57806380d570631461015f578063875fb4b31461017e575b600080fd5b61011b600480360360608110156100ae57600080fd5b6001600160a01b0382351691602081013591810190606081016040820135600160201b8111156100dd57600080fd5b8201836020820111156100ef57600080fd5b803590602001918460018302840111600160201b8311171561011057600080fd5b50909250905061022d565b005b6101436004803603602081101561013357600080fd5b50356001600160a01b0316610453565b604080516001600160a01b039092168252519081900360200190f35b61011b6004803603602081101561017557600080fd5b50351515610474565b610143610477565b61014361049b565b610143610527565b61011b61054b565b61014361054d565b61011b600480360360608110156101bc57600080fd5b6001600160a01b038235811692602081013590911691810190606081016040820135600160201b8111156101ef57600080fd5b82018360208201111561020157600080fd5b803590602001918460018302840111600160201b8311171561022257600080fd5b509092509050610571565b33600061023982610453565b90506001600160a01b0381166102805760405162461bcd60e51b815260040180806020018281038252602d8152602001806125c2602d913960400191505060405180910390fd5b806001600160a01b031663714ca2d1876040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156102cd57600080fd5b505afa1580156102e1573d6000803e3d6000fd5b505050506040513d60208110156102f757600080fd5b50516103345760405162461bcd60e51b81526004018080602001828103825260288152602001806125106028913960400191505060405180910390fd5b846103805761037b86838387878080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506105d892505050565b61044b565b84600114156103ca5761037b868386868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610aee92505050565b84600214156104145761037b868386868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610df192505050565b60405162461bcd60e51b815260040180806020018281038252602d8152602001806124b7602d913960400191505060405180910390fd5b505050505050565b6001600160a01b03808216600090815260208190526040902054165b919050565b50565b7f000000000000000000000000000000000000000000000000000000000000000090565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b1580156104f657600080fd5b505afa15801561050a573d6000803e3d6000fd5b505050506040513d602081101561052057600080fd5b5051905090565b7f000000000000000000000000000000000000000000000000000000000000000090565b565b7f000000000000000000000000000000000000000000000000000000000000000090565b610579610527565b6001600160a01b0316336001600160a01b0316146105c85760405162461bcd60e51b815260040180806020018281038252602881526020018061259a6028913960400191505060405180910390fd5b6105d2848461101f565b50505050565b816001600160a01b0316635a53e3486040518163ffffffff1660e01b815260040160206040518083038186803b15801561061157600080fd5b505afa158015610625573d6000803e3d6000fd5b505050506040513d602081101561063b57600080fd5b50516001600160a01b038481169116146106865760405162461bcd60e51b815260040180806020018281038252602e815260200180612434602e913960400191505060405180910390fd5b600080606061069484611076565b9250925092506060806060806106ad8a8a898989611156565b93509350935093506106bd61054d565b6001600160a01b0316630442bad58b60018e8b8b8a8a8a8a60405160200180886001600160a01b03168152602001876001600160a01b03168152602001866001600160e01b031916815260200180602001806020018060200180602001858103855289818151815260200191508051906020019060200280838360005b8381101561075257818101518382015260200161073a565b50505050905001858103845288818151815260200191508051906020019060200280838360005b83811015610791578181015183820152602001610779565b50505050905001858103835287818151815260200191508051906020019060200280838360005b838110156107d05781810151838201526020016107b8565b50505050905001858103825286818151815260200191508051906020019060200280838360005b8381101561080f5781810151838201526020016107f7565b505050509050019b5050505050505050505050506040516020818303038152906040526040518463ffffffff1660e01b815260040180846001600160a01b0316815260200183600981111561086057fe5b815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561089e578181015183820152602001610886565b50505050905090810190601f1680156108cb5780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b1580156108ec57600080fd5b505af1158015610900573d6000803e3d6000fd5b50505050856001600160e01b031916876001600160a01b03168b6001600160a01b03167ff9a77e6aa0d5e80e8c932c9586e789fc0f4efe610f844fc982129c6f385bfffa8e898989898960405180876001600160a01b03168152602001806020018060200180602001806020018060200186810386528b818151815260200191508051906020019080838360005b838110156109a657818101518382015260200161098e565b50505050905090810190601f1680156109d35780820380516001836020036101000a031916815260200191505b5086810385528a5181528a51602091820191808d01910280838360005b83811015610a085781810151838201526020016109f0565b50505050905001868103845289818151815260200191508051906020019060200280838360005b83811015610a47578181015183820152602001610a2f565b50505050905001868103835288818151815260200191508051906020019060200280838360005b83811015610a86578181015183820152602001610a6e565b50505050905001868103825287818151815260200191508051906020019060200280838360005b83811015610ac5578181015183820152602001610aad565b505050509050019b50505050505050505050505060405180910390a45050505050505050505050565b6060818060200190516020811015610b0557600080fd5b8101908080516040519392919084600160201b821115610b2457600080fd5b908301906020820185811115610b3957600080fd5b82518660208202830111600160201b82111715610b5557600080fd5b82525081516020918201928201910280838360005b83811015610b82578181015183820152602001610b6a565b505050509050016040525050509050610b9961054d565b6001600160a01b0316630442bad5846004878560405160200180836001600160a01b0316815260200180602001828103825283818151815260200191508051906020019060200280838360005b83811015610bfe578181015183820152602001610be6565b5050505090500193505050506040516020818303038152906040526040518463ffffffff1660e01b815260040180846001600160a01b03168152602001836009811115610c4757fe5b815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610c85578181015183820152602001610c6d565b50505050905090810190601f168015610cb25780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b158015610cd357600080fd5b505af1158015610ce7573d6000803e3d6000fd5b5050505060005b8151811015610dea57610cff610477565b6001600160a01b0316639be918e6838381518110610d1957fe5b60200260200101516040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610d5e57600080fd5b505afa158015610d72573d6000803e3d6000fd5b505050506040513d6020811015610d8857600080fd5b5051610dc55760405162461bcd60e51b815260040180806020018281038252602c81526020018061248b602c913960400191505060405180910390fd5b610de284838381518110610dd557fe5b60200260200101516112ab565b600101610cee565b5050505050565b6060818060200190516020811015610e0857600080fd5b8101908080516040519392919084600160201b821115610e2757600080fd5b908301906020820185811115610e3c57600080fd5b82518660208202830111600160201b82111715610e5857600080fd5b82525081516020918201928201910280838360005b83811015610e85578181015183820152602001610e6d565b505050509050016040525050509050610e9c61054d565b6001600160a01b0316630442bad5846005878560405160200180836001600160a01b0316815260200180602001828103825283818151815260200191508051906020019060200280838360005b83811015610f01578181015183820152602001610ee9565b5050505090500193505050506040516020818303038152906040526040518463ffffffff1660e01b815260040180846001600160a01b03168152602001836009811115610f4a57fe5b815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610f88578181015183820152602001610f70565b50505050905090810190601f168015610fb55780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b158015610fd657600080fd5b505af1158015610fea573d6000803e3d6000fd5b5050505060005b8151811015610dea576110178483838151811061100a57fe5b6020026020010151611391565b600101610ff1565b6001600160a01b0382811660008181526020819052604080822080546001600160a01b0319169486169485179055517f8852dcaa71340ea616a65ffac013450dfb238607481fb9d78346c667fe256c139190a35050565b600080606083806020019051606081101561109057600080fd5b81516020830151604080850180519151939592948301929184600160201b8211156110ba57600080fd5b9083019060208201858111156110cf57600080fd5b8251600160201b8111828201881017156110e857600080fd5b82525081516020918201929091019080838360005b838110156111155781810151838201526020016110fd565b50505050905090810190601f1680156111425780820380516001836020036101000a031916815260200191505b506040525050509250925092509193909250565b60608060608060608060006060806111718e8e8e8e8e6113dc565b809750819850829d50839950849a50859b50869f50505050505050506112838d8d8d8d8b878f60405160200180806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b838110156111e25781810151838201526020016111ca565b50505050905001848103835286818151815260200191508051906020019060200280838360005b83811015611221578181015183820152602001611209565b50505050905001848103825285818151815260200191508051906020019060200280838360005b83811015611260578181015183820152602001611248565b505050509050019650505050505050604051602081830303815290604052611b98565b6112958e8e8e8c8989898e8a8a611df3565b9098509550505050505095509550955095915050565b604080516001600160a01b0383811660208084019190915283518084039091018152828401938490526310acd06d60e01b9093528416916310acd06d916004919060440180835b815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611330578181015183820152602001611318565b50505050905090810190601f16801561135d5780820380516001836020036101000a031916815260200191505b509350505050600060405180830381600087803b15801561137d57600080fd5b505af115801561044b573d6000803e3d6000fd5b604080516001600160a01b0383811660208084019190915283518084039091018152828401938490526310acd06d60e01b9093528416916310acd06d916006919060440180836112f2565b606080606060006060806060896001600160a01b031663c54efee58c8b8b6040518463ffffffff1660e01b815260040180846001600160a01b03168152602001836001600160e01b031916815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561146557818101518382015260200161144d565b50505050905090810190601f1680156114925780820380516001836020036101000a031916815260200191505b5094505050505060006040518083038186803b1580156114b157600080fd5b505afa1580156114c5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260a08110156114ee57600080fd5b815160208301805160405192949293830192919084600160201b82111561151457600080fd5b90830190602082018581111561152957600080fd5b82518660208202830111600160201b8211171561154557600080fd5b82525081516020918201928201910280838360005b8381101561157257818101518382015260200161155a565b5050505090500160405260200180516040519392919084600160201b82111561159a57600080fd5b9083019060208201858111156115af57600080fd5b82518660208202830111600160201b821117156115cb57600080fd5b82525081516020918201928201910280838360005b838110156115f85781810151838201526020016115e0565b5050505090500160405260200180516040519392919084600160201b82111561162057600080fd5b90830190602082018581111561163557600080fd5b82518660208202830111600160201b8211171561165157600080fd5b82525081516020918201928201910280838360005b8381101561167e578181015183820152602001611666565b5050505090500160405260200180516040519392919084600160201b8211156116a657600080fd5b9083019060208201858111156116bb57600080fd5b82518660208202830111600160201b821117156116d757600080fd5b82525081516020918201928201910280838360005b838110156117045781810151838201526020016116ec565b5050505091909101604052505084518651949e50929b5095995093975091955014915061176490505760405162461bcd60e51b815260040180806020018281038252602c8152602001806124e4602c913960400191505060405180910390fd5b84518751146117a45760405162461bcd60e51b815260040180806020018281038252602f8152602001806125ef602f913960400191505060405180910390fd5b6117ad83612149565b6117e85760405162461bcd60e51b81526004018080602001828103825260268152602001806125386026913960400191505060405180910390fd5b6117f187612149565b61182c5760405162461bcd60e51b81526004018080602001828103825260298152602001806124626029913960400191505060405180910390fd5b865167ffffffffffffffff8111801561184457600080fd5b5060405190808252806020026020018201604052801561186e578160200160208202803683370190505b50955060005b87518110156119f857611885610477565b6001600160a01b0316639be918e689838151811061189f57fe5b60200260200101516040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156118e457600080fd5b505afa1580156118f8573d6000803e3d6000fd5b505050506040513d602081101561190e57600080fd5b505161194b5760405162461bcd60e51b815260040180806020018281038252602e815260200180612406602e913960400191505060405180910390fd5b87818151811061195757fe5b60200260200101516001600160a01b03166370a082318d6040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156119ab57600080fd5b505afa1580156119bf573d6000803e3d6000fd5b505050506040513d60208110156119d557600080fd5b505187518890839081106119e557fe5b6020908102919091010152600101611874565b50825167ffffffffffffffff81118015611a1157600080fd5b50604051908082528060200260200182016040528015611a3b578160200160208202803683370190505b50905060005b8351811015611b8857838181518110611a5657fe5b60200260200101516001600160a01b03166370a082318d6040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015611aaa57600080fd5b505afa158015611abe573d6000803e3d6000fd5b505050506040513d6020811015611ad457600080fd5b50518251839083908110611ae457fe5b60209081029190910101526001856002811115611afd57fe5b1415611b3a57611b358d858381518110611b1357fe5b60200260200101518d868581518110611b2857fe5b60200260200101516121dd565b611b80565b6002856002811115611b4857fe5b1415611b8057611b808d858381518110611b5e57fe5b60200260200101518d868581518110611b7357fe5b60200260200101516122cf565b600101611a41565b50959b949a509550955095509550565b60006060856001600160a01b03168588868660405160240180846001600160a01b031681526020018060200180602001838103835285818151815260200191508051906020019080838360005b83811015611bfd578181015183820152602001611be5565b50505050905090810190601f168015611c2a5780820380516001836020036101000a031916815260200191505b50838103825284518152845160209182019186019080838360005b83811015611c5d578181015183820152602001611c45565b50505050905090810190601f168015611c8a5780820380516001836020036101000a031916815260200191505b5060408051601f198184030181529181526020820180516001600160e01b03166001600160e01b0319909a16999099178952518151919890975087965094509250829150849050835b60208310611cf25780518252601f199092019160209182019101611cd3565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114611d54576040519150601f19603f3d011682016040523d82523d6000602084013e611d59565b606091505b5091509150818190611de95760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611dae578181015183820152602001611d96565b50505050905090810190601f168015611ddb5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5050505050505050565b606080885167ffffffffffffffff81118015611e0e57600080fd5b50604051908082528060200260200182016040528015611e38578160200160208202803683370190505b50915060005b8951811015611f1657611e81898281518110611e5657fe5b6020026020010151611e7b8e8d8581518110611e6e57fe5b6020026020010151612326565b906123a8565b838281518110611e8d57fe5b602002602001018181525050878181518110611ea557fe5b6020026020010151838281518110611eb957fe5b60200260200101511015611efe5760405162461bcd60e51b815260040180806020018281038252603c81526020018061255e603c913960400191505060405180910390fd5b611f0e8d8b8381518110610dd557fe5b600101611e3e565b50845167ffffffffffffffff81118015611f2f57600080fd5b50604051908082528060200260200182016040528015611f59578160200160208202803683370190505b50905060005b8551811015612139576000611f7a8d888481518110611e6e57fe5b9050848281518110611f8857fe5b6020026020010151811015611fd657611fbd81868481518110611fa757fe5b60200260200101516123a890919063ffffffff16565b838381518110611fc957fe5b6020026020010181815250505b6001886002811115611fe457fe5b14801561208d57506000878381518110611ffa57fe5b60200260200101516001600160a01b031663dd62ed3e8f8f6040518363ffffffff1660e01b815260040180836001600160a01b03168152602001826001600160a01b031681526020019250505060206040518083038186803b15801561205f57600080fd5b505afa158015612073573d6000803e3d6000fd5b505050506040513d602081101561208957600080fd5b5051115b156120b7576120b28e8884815181106120a257fe5b60200260200101518e60006121dd565b612130565b60008860028111156120c557fe5b1415612130578582815181106120d757fe5b60200260200101518383815181106120eb57fe5b602002602001015111156121305760405162461bcd60e51b815260040180806020018281038252603481526020018061261e6034913960400191505060405180910390fd5b50600101611f5f565b509a509a98505050505050505050565b6000600182511161215c5750600161046f565b815160005b818110156121d357600181015b828110156121ca5784818151811061218257fe5b60200260200101516001600160a01b031685838151811061219f57fe5b60200260200101516001600160a01b031614156121c2576000935050505061046f565b60010161216e565b50600101612161565b5060019392505050565b604080516001600160a01b0385811660208301528481168284015260608083018590528351808403909101815260808301938490526310acd06d60e01b9093528616916310acd06d916005919060840180835b815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561226e578181015183820152602001612256565b50505050905090810190601f16801561229b5780820380516001836020036101000a031916815260200191505b509350505050600060405180830381600087803b1580156122bb57600080fd5b505af1158015611de9573d6000803e3d6000fd5b604080516001600160a01b0385811660208301528481168284015260608083018590528351808403909101815260808301938490526310acd06d60e01b9093528616916310acd06d91600791906084018083612230565b6000816001600160a01b03166370a08231846040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561237557600080fd5b505afa158015612389573d6000803e3d6000fd5b505050506040513d602081101561239f57600080fd5b50519392505050565b6000828211156123ff576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b5090039056fe5f5f70726550726f63657373436f493a204e6f6e2d72656365697661626c6520696e636f6d696e672061737365747265636569766543616c6c46726f6d436f6d7074726f6c6c65723a2046756e64206973206e6f74206163746976655f5f70726550726f63657373436f493a204475706c696361746520696e636f6d696e672061737365745f5f616464547261636b6564417373657473546f5661756c743a20556e737570706f727465642061737365747265636569766543616c6c46726f6d436f6d7074726f6c6c65723a20496e76616c6964205f616374696f6e49645f5f70726550726f63657373436f493a205370656e64206173736574732061727261797320756e657175616c7265636569766543616c6c46726f6d436f6d7074726f6c6c65723a20556e617574686f72697a65645f5f70726550726f63657373436f493a204475706c6963617465207370656e642061737365745f5f706f737450726f63657373436f493a20526563656976656420696e636f6d696e67206173736574206c657373207468616e2065787065637465644f6e6c79207468652046756e644465706c6f7965722063616e206d616b6520746869732063616c6c7265636569766543616c6c46726f6d436f6d7074726f6c6c65723a2046756e64206973206e6f742076616c69645f5f70726550726f63657373436f493a20496e636f6d696e67206173736574732061727261797320756e657175616c5f5f706f737450726f63657373436f493a205370656e7420616d6f756e742067726561746572207468616e206578706563746564a164736f6c634300060c000a", "sourceMap": "1263:16903:158:-:0;;;1921:247;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1921:247:158;;;;;;;;;;;-1:-1:-1;;;;;;1921:247:158;864:29:358;;;;;;;2083:31:158;;;;;::::1;::::0;2124:37;;;::::1;::::0;1263:16903;;;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106100935760003560e01c8063893d20e811610066578063893d20e81461018657806397c0ac871461018e578063bd8e959a14610196578063d44ad6cb1461019e578063f067cc11146101a657610093565b80631bee801e14610098578063467903461461011d57806380d570631461015f578063875fb4b31461017e575b600080fd5b61011b600480360360608110156100ae57600080fd5b6001600160a01b0382351691602081013591810190606081016040820135600160201b8111156100dd57600080fd5b8201836020820111156100ef57600080fd5b803590602001918460018302840111600160201b8311171561011057600080fd5b50909250905061022d565b005b6101436004803603602081101561013357600080fd5b50356001600160a01b0316610453565b604080516001600160a01b039092168252519081900360200190f35b61011b6004803603602081101561017557600080fd5b50351515610474565b610143610477565b61014361049b565b610143610527565b61011b61054b565b61014361054d565b61011b600480360360608110156101bc57600080fd5b6001600160a01b038235811692602081013590911691810190606081016040820135600160201b8111156101ef57600080fd5b82018360208201111561020157600080fd5b803590602001918460018302840111600160201b8311171561022257600080fd5b509092509050610571565b33600061023982610453565b90506001600160a01b0381166102805760405162461bcd60e51b815260040180806020018281038252602d8152602001806125c2602d913960400191505060405180910390fd5b806001600160a01b031663714ca2d1876040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156102cd57600080fd5b505afa1580156102e1573d6000803e3d6000fd5b505050506040513d60208110156102f757600080fd5b50516103345760405162461bcd60e51b81526004018080602001828103825260288152602001806125106028913960400191505060405180910390fd5b846103805761037b86838387878080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506105d892505050565b61044b565b84600114156103ca5761037b868386868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610aee92505050565b84600214156104145761037b868386868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610df192505050565b60405162461bcd60e51b815260040180806020018281038252602d8152602001806124b7602d913960400191505060405180910390fd5b505050505050565b6001600160a01b03808216600090815260208190526040902054165b919050565b50565b7f000000000000000000000000000000000000000000000000000000000000000090565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b1580156104f657600080fd5b505afa15801561050a573d6000803e3d6000fd5b505050506040513d602081101561052057600080fd5b5051905090565b7f000000000000000000000000000000000000000000000000000000000000000090565b565b7f000000000000000000000000000000000000000000000000000000000000000090565b610579610527565b6001600160a01b0316336001600160a01b0316146105c85760405162461bcd60e51b815260040180806020018281038252602881526020018061259a6028913960400191505060405180910390fd5b6105d2848461101f565b50505050565b816001600160a01b0316635a53e3486040518163ffffffff1660e01b815260040160206040518083038186803b15801561061157600080fd5b505afa158015610625573d6000803e3d6000fd5b505050506040513d602081101561063b57600080fd5b50516001600160a01b038481169116146106865760405162461bcd60e51b815260040180806020018281038252602e815260200180612434602e913960400191505060405180910390fd5b600080606061069484611076565b9250925092506060806060806106ad8a8a898989611156565b93509350935093506106bd61054d565b6001600160a01b0316630442bad58b60018e8b8b8a8a8a8a60405160200180886001600160a01b03168152602001876001600160a01b03168152602001866001600160e01b031916815260200180602001806020018060200180602001858103855289818151815260200191508051906020019060200280838360005b8381101561075257818101518382015260200161073a565b50505050905001858103845288818151815260200191508051906020019060200280838360005b83811015610791578181015183820152602001610779565b50505050905001858103835287818151815260200191508051906020019060200280838360005b838110156107d05781810151838201526020016107b8565b50505050905001858103825286818151815260200191508051906020019060200280838360005b8381101561080f5781810151838201526020016107f7565b505050509050019b5050505050505050505050506040516020818303038152906040526040518463ffffffff1660e01b815260040180846001600160a01b0316815260200183600981111561086057fe5b815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561089e578181015183820152602001610886565b50505050905090810190601f1680156108cb5780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b1580156108ec57600080fd5b505af1158015610900573d6000803e3d6000fd5b50505050856001600160e01b031916876001600160a01b03168b6001600160a01b03167ff9a77e6aa0d5e80e8c932c9586e789fc0f4efe610f844fc982129c6f385bfffa8e898989898960405180876001600160a01b03168152602001806020018060200180602001806020018060200186810386528b818151815260200191508051906020019080838360005b838110156109a657818101518382015260200161098e565b50505050905090810190601f1680156109d35780820380516001836020036101000a031916815260200191505b5086810385528a5181528a51602091820191808d01910280838360005b83811015610a085781810151838201526020016109f0565b50505050905001868103845289818151815260200191508051906020019060200280838360005b83811015610a47578181015183820152602001610a2f565b50505050905001868103835288818151815260200191508051906020019060200280838360005b83811015610a86578181015183820152602001610a6e565b50505050905001868103825287818151815260200191508051906020019060200280838360005b83811015610ac5578181015183820152602001610aad565b505050509050019b50505050505050505050505060405180910390a45050505050505050505050565b6060818060200190516020811015610b0557600080fd5b8101908080516040519392919084600160201b821115610b2457600080fd5b908301906020820185811115610b3957600080fd5b82518660208202830111600160201b82111715610b5557600080fd5b82525081516020918201928201910280838360005b83811015610b82578181015183820152602001610b6a565b505050509050016040525050509050610b9961054d565b6001600160a01b0316630442bad5846004878560405160200180836001600160a01b0316815260200180602001828103825283818151815260200191508051906020019060200280838360005b83811015610bfe578181015183820152602001610be6565b5050505090500193505050506040516020818303038152906040526040518463ffffffff1660e01b815260040180846001600160a01b03168152602001836009811115610c4757fe5b815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610c85578181015183820152602001610c6d565b50505050905090810190601f168015610cb25780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b158015610cd357600080fd5b505af1158015610ce7573d6000803e3d6000fd5b5050505060005b8151811015610dea57610cff610477565b6001600160a01b0316639be918e6838381518110610d1957fe5b60200260200101516040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610d5e57600080fd5b505afa158015610d72573d6000803e3d6000fd5b505050506040513d6020811015610d8857600080fd5b5051610dc55760405162461bcd60e51b815260040180806020018281038252602c81526020018061248b602c913960400191505060405180910390fd5b610de284838381518110610dd557fe5b60200260200101516112ab565b600101610cee565b5050505050565b6060818060200190516020811015610e0857600080fd5b8101908080516040519392919084600160201b821115610e2757600080fd5b908301906020820185811115610e3c57600080fd5b82518660208202830111600160201b82111715610e5857600080fd5b82525081516020918201928201910280838360005b83811015610e85578181015183820152602001610e6d565b505050509050016040525050509050610e9c61054d565b6001600160a01b0316630442bad5846005878560405160200180836001600160a01b0316815260200180602001828103825283818151815260200191508051906020019060200280838360005b83811015610f01578181015183820152602001610ee9565b5050505090500193505050506040516020818303038152906040526040518463ffffffff1660e01b815260040180846001600160a01b03168152602001836009811115610f4a57fe5b815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610f88578181015183820152602001610f70565b50505050905090810190601f168015610fb55780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b158015610fd657600080fd5b505af1158015610fea573d6000803e3d6000fd5b5050505060005b8151811015610dea576110178483838151811061100a57fe5b6020026020010151611391565b600101610ff1565b6001600160a01b0382811660008181526020819052604080822080546001600160a01b0319169486169485179055517f8852dcaa71340ea616a65ffac013450dfb238607481fb9d78346c667fe256c139190a35050565b600080606083806020019051606081101561109057600080fd5b81516020830151604080850180519151939592948301929184600160201b8211156110ba57600080fd5b9083019060208201858111156110cf57600080fd5b8251600160201b8111828201881017156110e857600080fd5b82525081516020918201929091019080838360005b838110156111155781810151838201526020016110fd565b50505050905090810190601f1680156111425780820380516001836020036101000a031916815260200191505b506040525050509250925092509193909250565b60608060608060608060006060806111718e8e8e8e8e6113dc565b809750819850829d50839950849a50859b50869f50505050505050506112838d8d8d8d8b878f60405160200180806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b838110156111e25781810151838201526020016111ca565b50505050905001848103835286818151815260200191508051906020019060200280838360005b83811015611221578181015183820152602001611209565b50505050905001848103825285818151815260200191508051906020019060200280838360005b83811015611260578181015183820152602001611248565b505050509050019650505050505050604051602081830303815290604052611b98565b6112958e8e8e8c8989898e8a8a611df3565b9098509550505050505095509550955095915050565b604080516001600160a01b0383811660208084019190915283518084039091018152828401938490526310acd06d60e01b9093528416916310acd06d916004919060440180835b815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611330578181015183820152602001611318565b50505050905090810190601f16801561135d5780820380516001836020036101000a031916815260200191505b509350505050600060405180830381600087803b15801561137d57600080fd5b505af115801561044b573d6000803e3d6000fd5b604080516001600160a01b0383811660208084019190915283518084039091018152828401938490526310acd06d60e01b9093528416916310acd06d916006919060440180836112f2565b606080606060006060806060896001600160a01b031663c54efee58c8b8b6040518463ffffffff1660e01b815260040180846001600160a01b03168152602001836001600160e01b031916815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561146557818101518382015260200161144d565b50505050905090810190601f1680156114925780820380516001836020036101000a031916815260200191505b5094505050505060006040518083038186803b1580156114b157600080fd5b505afa1580156114c5573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260a08110156114ee57600080fd5b815160208301805160405192949293830192919084600160201b82111561151457600080fd5b90830190602082018581111561152957600080fd5b82518660208202830111600160201b8211171561154557600080fd5b82525081516020918201928201910280838360005b8381101561157257818101518382015260200161155a565b5050505090500160405260200180516040519392919084600160201b82111561159a57600080fd5b9083019060208201858111156115af57600080fd5b82518660208202830111600160201b821117156115cb57600080fd5b82525081516020918201928201910280838360005b838110156115f85781810151838201526020016115e0565b5050505090500160405260200180516040519392919084600160201b82111561162057600080fd5b90830190602082018581111561163557600080fd5b82518660208202830111600160201b8211171561165157600080fd5b82525081516020918201928201910280838360005b8381101561167e578181015183820152602001611666565b5050505090500160405260200180516040519392919084600160201b8211156116a657600080fd5b9083019060208201858111156116bb57600080fd5b82518660208202830111600160201b821117156116d757600080fd5b82525081516020918201928201910280838360005b838110156117045781810151838201526020016116ec565b5050505091909101604052505084518651949e50929b5095995093975091955014915061176490505760405162461bcd60e51b815260040180806020018281038252602c8152602001806124e4602c913960400191505060405180910390fd5b84518751146117a45760405162461bcd60e51b815260040180806020018281038252602f8152602001806125ef602f913960400191505060405180910390fd5b6117ad83612149565b6117e85760405162461bcd60e51b81526004018080602001828103825260268152602001806125386026913960400191505060405180910390fd5b6117f187612149565b61182c5760405162461bcd60e51b81526004018080602001828103825260298152602001806124626029913960400191505060405180910390fd5b865167ffffffffffffffff8111801561184457600080fd5b5060405190808252806020026020018201604052801561186e578160200160208202803683370190505b50955060005b87518110156119f857611885610477565b6001600160a01b0316639be918e689838151811061189f57fe5b60200260200101516040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156118e457600080fd5b505afa1580156118f8573d6000803e3d6000fd5b505050506040513d602081101561190e57600080fd5b505161194b5760405162461bcd60e51b815260040180806020018281038252602e815260200180612406602e913960400191505060405180910390fd5b87818151811061195757fe5b60200260200101516001600160a01b03166370a082318d6040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156119ab57600080fd5b505afa1580156119bf573d6000803e3d6000fd5b505050506040513d60208110156119d557600080fd5b505187518890839081106119e557fe5b6020908102919091010152600101611874565b50825167ffffffffffffffff81118015611a1157600080fd5b50604051908082528060200260200182016040528015611a3b578160200160208202803683370190505b50905060005b8351811015611b8857838181518110611a5657fe5b60200260200101516001600160a01b03166370a082318d6040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015611aaa57600080fd5b505afa158015611abe573d6000803e3d6000fd5b505050506040513d6020811015611ad457600080fd5b50518251839083908110611ae457fe5b60209081029190910101526001856002811115611afd57fe5b1415611b3a57611b358d858381518110611b1357fe5b60200260200101518d868581518110611b2857fe5b60200260200101516121dd565b611b80565b6002856002811115611b4857fe5b1415611b8057611b808d858381518110611b5e57fe5b60200260200101518d868581518110611b7357fe5b60200260200101516122cf565b600101611a41565b50959b949a509550955095509550565b60006060856001600160a01b03168588868660405160240180846001600160a01b031681526020018060200180602001838103835285818151815260200191508051906020019080838360005b83811015611bfd578181015183820152602001611be5565b50505050905090810190601f168015611c2a5780820380516001836020036101000a031916815260200191505b50838103825284518152845160209182019186019080838360005b83811015611c5d578181015183820152602001611c45565b50505050905090810190601f168015611c8a5780820380516001836020036101000a031916815260200191505b5060408051601f198184030181529181526020820180516001600160e01b03166001600160e01b0319909a16999099178952518151919890975087965094509250829150849050835b60208310611cf25780518252601f199092019160209182019101611cd3565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114611d54576040519150601f19603f3d011682016040523d82523d6000602084013e611d59565b606091505b5091509150818190611de95760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611dae578181015183820152602001611d96565b50505050905090810190601f168015611ddb5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5050505050505050565b606080885167ffffffffffffffff81118015611e0e57600080fd5b50604051908082528060200260200182016040528015611e38578160200160208202803683370190505b50915060005b8951811015611f1657611e81898281518110611e5657fe5b6020026020010151611e7b8e8d8581518110611e6e57fe5b6020026020010151612326565b906123a8565b838281518110611e8d57fe5b602002602001018181525050878181518110611ea557fe5b6020026020010151838281518110611eb957fe5b60200260200101511015611efe5760405162461bcd60e51b815260040180806020018281038252603c81526020018061255e603c913960400191505060405180910390fd5b611f0e8d8b8381518110610dd557fe5b600101611e3e565b50845167ffffffffffffffff81118015611f2f57600080fd5b50604051908082528060200260200182016040528015611f59578160200160208202803683370190505b50905060005b8551811015612139576000611f7a8d888481518110611e6e57fe5b9050848281518110611f8857fe5b6020026020010151811015611fd657611fbd81868481518110611fa757fe5b60200260200101516123a890919063ffffffff16565b838381518110611fc957fe5b6020026020010181815250505b6001886002811115611fe457fe5b14801561208d57506000878381518110611ffa57fe5b60200260200101516001600160a01b031663dd62ed3e8f8f6040518363ffffffff1660e01b815260040180836001600160a01b03168152602001826001600160a01b031681526020019250505060206040518083038186803b15801561205f57600080fd5b505afa158015612073573d6000803e3d6000fd5b505050506040513d602081101561208957600080fd5b5051115b156120b7576120b28e8884815181106120a257fe5b60200260200101518e60006121dd565b612130565b60008860028111156120c557fe5b1415612130578582815181106120d757fe5b60200260200101518383815181106120eb57fe5b602002602001015111156121305760405162461bcd60e51b815260040180806020018281038252603481526020018061261e6034913960400191505060405180910390fd5b50600101611f5f565b509a509a98505050505050505050565b6000600182511161215c5750600161046f565b815160005b818110156121d357600181015b828110156121ca5784818151811061218257fe5b60200260200101516001600160a01b031685838151811061219f57fe5b60200260200101516001600160a01b031614156121c2576000935050505061046f565b60010161216e565b50600101612161565b5060019392505050565b604080516001600160a01b0385811660208301528481168284015260608083018590528351808403909101815260808301938490526310acd06d60e01b9093528616916310acd06d916005919060840180835b815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561226e578181015183820152602001612256565b50505050905090810190601f16801561229b5780820380516001836020036101000a031916815260200191505b509350505050600060405180830381600087803b1580156122bb57600080fd5b505af1158015611de9573d6000803e3d6000fd5b604080516001600160a01b0385811660208301528481168284015260608083018590528351808403909101815260808301938490526310acd06d60e01b9093528616916310acd06d91600791906084018083612230565b6000816001600160a01b03166370a08231846040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561237557600080fd5b505afa158015612389573d6000803e3d6000fd5b505050506040513d602081101561239f57600080fd5b50519392505050565b6000828211156123ff576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b5090039056fe5f5f70726550726f63657373436f493a204e6f6e2d72656365697661626c6520696e636f6d696e672061737365747265636569766543616c6c46726f6d436f6d7074726f6c6c65723a2046756e64206973206e6f74206163746976655f5f70726550726f63657373436f493a204475706c696361746520696e636f6d696e672061737365745f5f616464547261636b6564417373657473546f5661756c743a20556e737570706f727465642061737365747265636569766543616c6c46726f6d436f6d7074726f6c6c65723a20496e76616c6964205f616374696f6e49645f5f70726550726f63657373436f493a205370656e64206173736574732061727261797320756e657175616c7265636569766543616c6c46726f6d436f6d7074726f6c6c65723a20556e617574686f72697a65645f5f70726550726f63657373436f493a204475706c6963617465207370656e642061737365745f5f706f737450726f63657373436f493a20526563656976656420696e636f6d696e67206173736574206c657373207468616e2065787065637465644f6e6c79207468652046756e644465706c6f7965722063616e206d616b6520746869732063616c6c7265636569766543616c6c46726f6d436f6d7074726f6c6c65723a2046756e64206973206e6f742076616c69645f5f70726550726f63657373436f493a20496e636f6d696e67206173736574732061727261797320756e657175616c5f5f706f737450726f63657373436f493a205370656e7420616d6f756e742067726561746572207468616e206578706563746564a164736f6c634300060c000a", "sourceMap": "1263:16903:158:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3026:1196;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3026:1196:158;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3026:1196:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3026:1196:158;;;;;;;;;;-1:-1:-1;3026:1196:158;;-1:-1:-1;3026:1196:158;-1:-1:-1;3026:1196:158;:::i;:::-;;2692:198:226;;;;;;;;;;;;;;;;-1:-1:-1;2692:198:226;-1:-1:-1;;;;;2692:198:226;;:::i;:::-;;;;-1:-1:-1;;;;;2692:198:226;;;;;;;;;;;;;;1120:80;;;;;;;;;;;;;;;;-1:-1:-1;1120:80:226;;;;:::i;18044:120:158:-;;;:::i;1064::358:-;;;:::i;1378:108::-;;;:::i;1346:78:226:-;;;:::i;17800:111:158:-;;;:::i;2417:228::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2417:228:158;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2417:228:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2417:228:158;;;;;;;;;;-1:-1:-1;2417:228:158;;-1:-1:-1;2417:228:158;-1:-1:-1;2417:228:158;:::i;3026:1196::-;3209:10;3182:24;3470:38;3209:10;3470:20;:38::i;:::-;3449:59;-1:-1:-1;;;;;;3526:24:158;;3518:82;;;;-1:-1:-1;;;3518:82:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3639:10;-1:-1:-1;;;;;3632:34:158;;3667:7;3632:43;;;;;;;;;;;;;-1:-1:-1;;;;;3632:43:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3632:43:158;3611:130;;;;-1:-1:-1;;;3611:130:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3787:14;3783:433;;3817:69;3837:7;3846:16;3864:10;3876:9;;3817:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3817:19:158;;-1:-1:-1;;;3817:69:158:i;:::-;3783:433;;;3907:9;3920:1;3907:14;3903:313;;;3937:63;3963:7;3972:16;3990:9;;3937:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3937:25:158;;-1:-1:-1;;;3937:63:158:i;3903:313::-;4021:9;4034:1;4021:14;4017:199;;;4051:68;4082:7;4091:16;4109:9;;4051:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4051:30:158;;-1:-1:-1;;;4051:68:158:i;4017:199::-;4150:55;;-1:-1:-1;;;4150:55:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4017:199;3026:1196;;;;;;:::o;2692:198:226:-;-1:-1:-1;;;;;2836:47:226;;;2794:19;2836:47;;;;;;;;;;;;2692:198;;;;:::o;1120:80::-;;:::o;18044:120:158:-;18140:17;18044:120;:::o;1064::358:-;1105:14;1152:13;-1:-1:-1;;;;;1138:37:358;;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1138:39:358;;-1:-1:-1;1064:120:358;:::o;1378:108::-;1466:13;1378:108;:::o;1346:78:226:-;:::o;17800:111:158:-;17890:14;17800:111;:::o;2417:228::-;819:17:226;:15;:17::i;:::-;-1:-1:-1;;;;;805:31:226;:10;-1:-1:-1;;;;;805:31:226;;797:84;;;;-1:-1:-1;;;797:84:226;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2582:56:158::1;2607:17;2626:11;2582:24;:56::i;:::-;2417:228:::0;;;;:::o;6468:1885::-;6976:11;-1:-1:-1;;;;;6969:31:158;;:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6969:33:158;-1:-1:-1;;;;;6948:54:158;;;;;;6927:147;;;;-1:-1:-1;;;6927:147:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7099:15;7128;7157:28;7198:40;7228:9;7198:29;:40::i;:::-;7085:153;;;;;;7263:31;7308:37;7359:28;7401:34;7448:186;7490:17;7525:11;7554:7;7579:8;7605:15;7448:24;:186::i;:::-;7249:385;;;;;;;;7660:18;:16;:18::i;:::-;-1:-1:-1;;;;;7645:51:158;;7710:17;7741:47;7830:7;7855;7880:8;7906:14;7938:20;7976:11;8005:17;7802:234;;;;;;-1:-1:-1;;;;;7802:234:158;;;;;;-1:-1:-1;;;;;7802:234:158;;;;;;-1:-1:-1;;;;;7802:234:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7645:401;;;;;;;;;;;;;-1:-1:-1;;;;;7645:401:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8181:8;-1:-1:-1;;;;;8062:284:158;;8160:7;-1:-1:-1;;;;;8062:284:158;8108:17;-1:-1:-1;;;;;8062:284:158;;8139:7;8203:15;8232:14;8260:20;8294:11;8319:17;8062:284;;;;-1:-1:-1;;;;;8062:284:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8062:284:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6468:1885;;;;;;;;;;;:::o;4348:726::-;4499:23;4536:9;4525:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4525:34:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4525:34:158;;;;;;;;;;;;-1:-1:-1;4525:34:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4499:60;;4585:18;:16;:18::i;:::-;-1:-1:-1;;;;;4570:51:158;;4635:17;4666:42;4733:7;4742:6;4722:27;;;;;;-1:-1:-1;;;;;4722:27:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4570:189;;;;;;;;;;;;;-1:-1:-1;;;;;4570:189:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4775:9;4770:298;4790:6;:13;4786:1;:17;4770:298;;;4867:21;:19;:21::i;:::-;-1:-1:-1;;;;;4849:57:158;;4907:6;4914:1;4907:9;;;;;;;;;;;;;;4849:68;;;;;;;;;;;;;-1:-1:-1;;;;;4849:68:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4849:68:158;4824:171;;;;-1:-1:-1;;;4824:171:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5010:47;5028:17;5047:6;5054:1;5047:9;;;;;;;;;;;;;;5010:17;:47::i;:::-;4805:3;;4770:298;;;;4348:726;;;;:::o;5209:551::-;5365:23;5402:9;5391:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5391:34:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5391:34:158;;;;;;;;;;;;-1:-1:-1;5391:34:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5365:60;;5451:18;:16;:18::i;:::-;-1:-1:-1;;;;;5436:51:158;;5501:17;5532:45;5602:7;5611:6;5591:27;;;;;;-1:-1:-1;;;;;5591:27:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5436:192;;;;;;;;;;;;;-1:-1:-1;;;;;5436:192:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5644:9;5639:115;5659:6;:13;5655:1;:17;5639:115;;;5693:50;5714:17;5733:6;5740:1;5733:9;;;;;;;;;;;;;;5693:20;:50::i;:::-;5674:3;;5639:115;;2172:246:226;-1:-1:-1;;;;;2273:47:226;;;:28;:47;;;;;;;;;;;:61;;-1:-1:-1;;;;;;2273:61:226;;;;;;;;;2350;;;2273:28;2350:61;2172:246;;:::o;10269:297:158:-;10391:16;10421;10451:29;10523:9;10512:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;10512:47:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;10512:47:158;;;;;;-1:-1:-1;10512:47:158;;;;;;;;;;-1:-1:-1;10512:47:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10505:54;;;;;;10269:297;;;;;:::o;8471:1753::-;8712:32;8758:38;8810:29;8853:35;8913:45;8968:40;9018:43;9071:37;9118:42;9426:86;9442:17;9461:11;9474:8;9484:9;9495:16;9426:15;:86::i;:::-;9171:341;;;;;;;;;;;;;;;;;;;;;;;;;;;;9523:199;9549:11;9574:8;9596:9;9619:16;9660:12;9674:20;9696:15;9649:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9523:12;:199::i;:::-;9779:346;9809:17;9840:11;9865:8;9887:15;9916:28;9958:23;9995:21;10030:12;10056:20;10090:25;9779:16;:346::i;:::-;9733:392;;-1:-1:-1;9733:392:158;-1:-1:-1;;;;;;8471:1753:158;;;;;;;;;;:::o;1240:241:227:-;1446:18;;;-1:-1:-1;;;;;1446:18:227;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1329:145:227;;;:55;;;;;1398:34;;1446:18;1329:145;;;1398:34;1329:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4255:247;4467:18;;;-1:-1:-1;;;;;4467:18:227;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4347:148:227;;;:55;;;;;4416:37;;4467:18;4347:148;;;4416:37;4347:148;;11421:3345:158;11653:32;11699:46;11759:41;11814:44;11872:29;11915:38;11967:43;12374:8;-1:-1:-1;;;;;12354:50:158;;12418:11;12443:9;12466:16;12354:138;;;;;;;;;;;;;-1:-1:-1;;;;;12354:138:158;;;;;;-1:-1:-1;;;;;12354:138:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;12354:138:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;12354:138:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;12354:138:158;;;;;;;;;;;;-1:-1:-1;12354:138:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;12354:138:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;12354:138:158;;;;;;;;;;;;-1:-1:-1;12354:138:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;12354:138:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;12354:138:158;;;;;;;;;;;;-1:-1:-1;12354:138:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;12354:138:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;12354:138:158;;;;;;;;;;;;-1:-1:-1;12354:138:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;12354:138:158;;;;;;-1:-1:-1;;12546:28:158;;12523:19;;12177:315;;-1:-1:-1;12177:315:158;;-1:-1:-1;12177:315:158;;-1:-1:-1;12177:315:158;;-1:-1:-1;12177:315:158;;-1:-1:-1;12523:51:158;;-1:-1:-1;12502:142:158;;-1:-1:-1;12502:142:158;;;-1:-1:-1;;;12502:142:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12701:24;:31;12675:15;:22;:57;12654:151;;;;-1:-1:-1;;;12654:151:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12823:26;:12;:24;:26::i;:::-;12815:77;;;;-1:-1:-1;;;12815:77:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12910:29;:15;:27;:29::i;:::-;12902:83;;;;-1:-1:-1;;;12902:83:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13339:15;:22;13325:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13325:37:158;;13293:69;;13377:9;13372:354;13392:15;:22;13388:1;:26;13372:354;;;13478:21;:19;:21::i;:::-;-1:-1:-1;;;;;13460:57:158;;13518:15;13534:1;13518:18;;;;;;;;;;;;;;13460:77;;;;;;;;;;;;;-1:-1:-1;;;;;13460:77:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13460:77:158;13435:182;;;;-1:-1:-1;;;13435:182:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13673:15;13689:1;13673:18;;;;;;;;;;;;;;-1:-1:-1;;;;;13667:35:158;;13703:11;13667:48;;;;;;;;;;;;;-1:-1:-1;;;;;13667:48:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13667:48:158;13632:32;;:29;;13662:1;;13632:32;;;;;;;;;;;;;;;:83;13416:3;;13372:354;;;;13804:12;:19;13790:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13790:34:158;;13761:63;;13839:9;13834:926;13854:12;:19;13850:1;:23;13834:926;;;13932:12;13945:1;13932:15;;;;;;;;;;;;;;-1:-1:-1;;;;;13926:32:158;;13959:11;13926:45;;;;;;;;;;;;;-1:-1:-1;;;;;13926:45:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13926:45:158;13894:29;;:26;;13921:1;;13894:29;;;;;;;;;;;;;;;:77;14141:29;14115:22;:55;;;;;;;;;14111:639;;;14256:191;14299:17;14338:12;14351:1;14338:15;;;;;;;;;;;;;;14375:8;14405:21;14427:1;14405:24;;;;;;;;;;;;;;14256:21;:191::i;:::-;14111:639;;;14498:30;14472:22;:56;;;;;;;;;14468:282;;;14548:187;14587:17;14626:12;14639:1;14626:15;;;;;;;;;;;;;;14663:8;14693:21;14715:1;14693:24;;;;;;;;;;;;;;14548:17;:187::i;:::-;13875:3;;13834:926;;;;11421:3345;;;;;;;;;;;;;:::o;10669:407::-;10869:12;10883:23;10910:8;-1:-1:-1;;;;;10910:13:158;10960:9;10971:11;10984:16;11002:10;10937:76;;;;;;-1:-1:-1;;;;;10937:76:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10937:76:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10937:76:158;;;-1:-1:-1;;10937:76:158;;;;;;;;;;;;;;-1:-1:-1;;;;;10937:76:158;-1:-1:-1;;;;;;10937:76:158;;;;;;;;;10910:113;;;10937:76;;10910:113;;-1:-1:-1;10910:113:158;;-1:-1:-1;10937:76:158;-1:-1:-1;10910:113:158;-1:-1:-1;10910:113:158;;-1:-1:-1;10910:113:158;;-1:-1:-1;10937:76:158;10910:113;;;;;;;;;;-1:-1:-1;;10910:113:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10868:155;;;;11041:7;11057:10;11033:36;;;;;-1:-1:-1;;;11033:36:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10669:407;;;;;;;:::o;14851:2752::-;15349:38;15389:35;15506:15;:22;15492:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15492:37:158;;15468:61;;15544:9;15539:574;15559:15;:22;15555:1;:26;15539:574;;;15629:123;15706:29;15736:1;15706:32;;;;;;;;;;;;;;15629:55;15652:11;15665:15;15681:1;15665:18;;;;;;;;;;;;;;15629:22;:55::i;:::-;:59;;:123::i;:::-;15602:21;15624:1;15602:24;;;;;;;;;;;;;:150;;;;;15819:24;15844:1;15819:27;;;;;;;;;;;;;;15791:21;15813:1;15791:24;;;;;;;;;;;;;;:55;;15766:174;;;;-1:-1:-1;;;15766:174:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16046:56;16064:17;16083:15;16099:1;16083:18;;;;;;;16046:56;15583:3;;15539:574;;;;16183:12;:19;16169:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;16169:34:158;;16148:55;;16218:9;16213:1323;16233:12;:19;16229:1;:23;16213:1323;;;16363:33;16399:98;16439:11;16468:12;16481:1;16468:15;;;;;;;16399:98;16363:134;;16543:26;16570:1;16543:29;;;;;;;;;;;;;;16515:25;:57;16511:218;;;16616:98;16671:25;16616:26;16643:1;16616:29;;;;;;;;;;;;;;:33;;:98;;;;:::i;:::-;16592:18;16611:1;16592:21;;;;;;;;;;;;;:122;;;;;16511:218;16832:29;16806:22;:55;;;;;;;;;:134;;;;;16939:1;16887:12;16900:1;16887:15;;;;;;;;;;;;;;-1:-1:-1;;;;;16881:32:158;;16914:11;16927:8;16881:55;;;;;;;;;;;;;-1:-1:-1;;;;;16881:55:158;;;;;;-1:-1:-1;;;;;16881:55:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;16881:55:158;:59;16806:134;16785:741;;;16973:70;16995:17;17014:12;17027:1;17014:15;;;;;;;;;;;;;;17031:8;17041:1;16973:21;:70::i;:::-;16785:741;;;17094:26;17068:22;:52;;;;;;;;;17064:462;;;17393:21;17415:1;17393:24;;;;;;;;;;;;;;17368:18;17387:1;17368:21;;;;;;;;;;;;;;:49;;17339:172;;;;-1:-1:-1;;;17339:172:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;16254:3:158;;16213:1323;;;;14851:2752;;;;;;;;;;;;;:::o;3999:454:354:-;4067:14;4113:1;4097:5;:12;:17;4093:59;;-1:-1:-1;4137:4:354;4130:11;;4093:59;4184:12;;4162:19;4206:219;4226:11;4222:1;:15;4206:219;;;4279:1;4275:5;;4258:157;4286:11;4282:1;:15;4258:157;;;4338:5;4344:1;4338:8;;;;;;;;;;;;;;-1:-1:-1;;;;;4326:20:354;:5;4332:1;4326:8;;;;;;;;;;;;;;-1:-1:-1;;;;;4326:20:354;;4322:79;;;4377:5;4370:12;;;;;;;4322:79;4299:3;;4258:157;;;-1:-1:-1;4239:3:354;;4206:219;;;-1:-1:-1;4442:4:354;;3999:454;-1:-1:-1;;;3999:454:354:o;1791:339:227:-;2077:36;;;-1:-1:-1;;;;;2077:36:227;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1956:167:227;;;:55;;;;;2025:38;;2077:36;1956:167;;;2025:38;1956:167;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5448:331;5726:36;;;-1:-1:-1;;;;;5726:36:227;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5609:163:227;;;:55;;;;;5678:34;;5726:36;5609:163;;;5678:34;5609:163;;11151:188:158;11266:7;11302:6;-1:-1:-1;;;;;11296:23:158;;11320:11;11296:36;;;;;;;;;;;;;-1:-1:-1;;;;;11296:36:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11296:36:158;;11151:188;-1:-1:-1;;;11151:188:158:o;3136:155:442:-;3194:7;3226:1;3221;:6;;3213:49;;;;;-1:-1:-1;;;3213:49:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3279:5:442;;;3136:155::o", "linkReferences": {}, "immutableReferences": { "40754": [ { "start": 1359, "length": 32 } ], "40756": [ { "start": 1145, "length": 32 } ], "78707": [ { "start": 1183, "length": 32 }, { "start": 1321, "length": 32 } ] } }, "methodIdentifiers": { "activateForFund(bool)": "80d57063", "deactivateForFund()": "bd8e959a", "getFundDeployer()": "97c0ac87", "getOwner()": "893d20e8", "getPolicyManager()": "d44ad6cb", "getValueInterpreter()": "875fb4b3", "getVaultProxyForFund(address)": "46790346", "receiveCallFromComptroller(address,uint256,bytes)": "1bee801e", "setConfigForFund(address,address,bytes)": "f067cc11" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_fundDeployer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_policyManager\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_valueInterpreter\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"adapter\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"bytes4\",\"name\":\"selector\",\"type\":\"bytes4\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"integrationData\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"incomingAssets\",\"type\":\"address[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"incomingAssetAmounts\",\"type\":\"uint256[]\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"spendAssets\",\"type\":\"address[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"spendAssetAmounts\",\"type\":\"uint256[]\"}],\"name\":\"CallOnIntegrationExecutedForFund\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"vaultProxy\",\"type\":\"address\"}],\"name\":\"ValidatedVaultProxySetForFund\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"name\":\"activateForFund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"deactivateForFund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFundDeployer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"fundDeployer_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPolicyManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"policyManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getValueInterpreter\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"valueInterpreter_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"}],\"name\":\"getVaultProxyForFund\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"vaultProxy_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_caller\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_actionId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_callArgs\",\"type\":\"bytes\"}],\"name\":\"receiveCallFromComptroller\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"setConfigForFund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"Any arbitrary adapter is allowed by default, so all participants must be aware of their fund's configuration, especially whether they use a policy that only allows official adapters. Owners and asset managers must also establish trust for any arbitrary adapters that they interact with.\",\"kind\":\"dev\",\"methods\":{\"activateForFund(bool)\":{\"details\":\"Unimplemented by default, may be overridden.\"},\"deactivateForFund()\":{\"details\":\"Unimplemented by default, may be overridden.\"},\"getFundDeployer()\":{\"returns\":{\"fundDeployer_\":\"The `FUND_DEPLOYER` variable value\"}},\"getOwner()\":{\"details\":\"Ownership is deferred to the owner of the FundDeployer contract\",\"returns\":{\"owner_\":\"The owner\"}},\"getPolicyManager()\":{\"returns\":{\"policyManager_\":\"The `POLICY_MANAGER` variable value\"}},\"getValueInterpreter()\":{\"returns\":{\"valueInterpreter_\":\"The `VALUE_INTERPRETER` variable value\"}},\"getVaultProxyForFund(address)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\"},\"returns\":{\"vaultProxy_\":\"The VaultProxy of the fund\"}},\"receiveCallFromComptroller(address,uint256,bytes)\":{\"params\":{\"_actionId\":\"An ID representing the desired action\",\"_callArgs\":\"The encoded args for the action\",\"_caller\":\"The user who called for this action\"}},\"setConfigForFund(address,address,bytes)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\",\"_vaultProxy\":\"The VaultProxy of the fund\"}}},\"title\":\"IntegrationManager\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"activateForFund(bool)\":{\"notice\":\"Allows extension to run logic during fund activation\"},\"deactivateForFund()\":{\"notice\":\"Allows extension to run logic during fund deactivation (destruct)\"},\"getFundDeployer()\":{\"notice\":\"Gets the `FUND_DEPLOYER` variable\"},\"getOwner()\":{\"notice\":\"Gets the owner of this contract\"},\"getPolicyManager()\":{\"notice\":\"Gets the `POLICY_MANAGER` variable\"},\"getValueInterpreter()\":{\"notice\":\"Gets the `VALUE_INTERPRETER` variable\"},\"getVaultProxyForFund(address)\":{\"notice\":\"Gets the verified VaultProxy for a given ComptrollerProxy\"},\"receiveCallFromComptroller(address,uint256,bytes)\":{\"notice\":\"Receives a dispatched `callOnExtension` from a fund's ComptrollerProxy\"},\"setConfigForFund(address,address,bytes)\":{\"notice\":\"Enables the IntegrationManager to be used by a fund\"}},\"notice\":\"Extension to handle DeFi integration actions for funds\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/integration-manager/IntegrationManager.sol\":\"IntegrationManager\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/vault/interfaces/IExternalPositionVault.sol\":{\"keccak256\":\"0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d\",\"dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8\"]},\"contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol\":{\"keccak256\":\"0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb\",\"dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU\"]},\"contracts/persistent/vault/interfaces/IMigratableVault.sol\":{\"keccak256\":\"0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6\",\"dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs\"]},\"contracts/persistent/vault/interfaces/IVaultCore.sol\":{\"keccak256\":\"0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd\",\"dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr\"]},\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/core/fund/comptroller/IComptroller.sol\":{\"keccak256\":\"0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97\",\"dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L\"]},\"contracts/release/core/fund/vault/IVault.sol\":{\"keccak256\":\"0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599\",\"dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG\"]},\"contracts/release/extensions/IExtension.sol\":{\"keccak256\":\"0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70\",\"dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t\"]},\"contracts/release/extensions/integration-manager/IIntegrationManager.sol\":{\"keccak256\":\"0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23\",\"dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk\"]},\"contracts/release/extensions/integration-manager/IntegrationManager.sol\":{\"keccak256\":\"0x069b57d778dccc4e67fd5e1514168348fd82ab144dfd3cfd6130717b47e95eab\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://546c6623f51cb59da95a332b2a1da0f65444d3ebb5de2de63022dfc5c63325ec\",\"dweb:/ipfs/QmdrRFPwJKZLPFr9fT9Hfw7RB1QWH1Gh7StNBWPueaWTzK\"]},\"contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol\":{\"keccak256\":\"0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336\",\"dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS\"]},\"contracts/release/extensions/policy-manager/IPolicyManager.sol\":{\"keccak256\":\"0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa\",\"dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb\"]},\"contracts/release/extensions/utils/ExtensionBase.sol\":{\"keccak256\":\"0xae68767766f6459bd2cd9dbd39df74f2c2f68f2150885bbce410e4091c807bb1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ce4c49522a39f618cc76feb474260fe910949f38e83b5f4518f1f245ba6eb876\",\"dweb:/ipfs/QmZ4wciRpziZAS4HRQy44Sgzm4GM4Wzme9zYnABzR6Cbzo\"]},\"contracts/release/extensions/utils/PermissionedVaultActionMixin.sol\":{\"keccak256\":\"0x77ddb9299d9c5f1538c20ae1543c20ef73db11ad7d9a9b817d26969ab233bb57\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://77812616256a092e0fd77469dcd2a2e098a1cf52686eeb6703a169efa64c27df\",\"dweb:/ipfs/QmbRPZznXSX3aA2VVJNpRqFXdJZebVDcDuY8EnF75Z7GpB\"]},\"contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol\":{\"keccak256\":\"0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965\",\"dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"contracts/release/utils/FundDeployerOwnerMixin.sol\":{\"keccak256\":\"0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927\",\"dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_fundDeployer", "type": "address" }, { "internalType": "address", "name": "_policyManager", "type": "address" }, { "internalType": "address", "name": "_valueInterpreter", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "comptrollerProxy", "type": "address", "indexed": true }, { "internalType": "address", "name": "caller", "type": "address", "indexed": false }, { "internalType": "address", "name": "adapter", "type": "address", "indexed": true }, { "internalType": "bytes4", "name": "selector", "type": "bytes4", "indexed": true }, { "internalType": "bytes", "name": "integrationData", "type": "bytes", "indexed": false }, { "internalType": "address[]", "name": "incomingAssets", "type": "address[]", "indexed": false }, { "internalType": "uint256[]", "name": "incomingAssetAmounts", "type": "uint256[]", "indexed": false }, { "internalType": "address[]", "name": "spendAssets", "type": "address[]", "indexed": false }, { "internalType": "uint256[]", "name": "spendAssetAmounts", "type": "uint256[]", "indexed": false } ], "type": "event", "name": "CallOnIntegrationExecutedForFund", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "comptrollerProxy", "type": "address", "indexed": true }, { "internalType": "address", "name": "vaultProxy", "type": "address", "indexed": true } ], "type": "event", "name": "ValidatedVaultProxySetForFund", "anonymous": false }, { "inputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function", "name": "activateForFund" }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "deactivateForFund" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getFundDeployer", "outputs": [ { "internalType": "address", "name": "fundDeployer_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getOwner", "outputs": [ { "internalType": "address", "name": "owner_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getPolicyManager", "outputs": [ { "internalType": "address", "name": "policyManager_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getValueInterpreter", "outputs": [ { "internalType": "address", "name": "valueInterpreter_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getVaultProxyForFund", "outputs": [ { "internalType": "address", "name": "vaultProxy_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_caller", "type": "address" }, { "internalType": "uint256", "name": "_actionId", "type": "uint256" }, { "internalType": "bytes", "name": "_callArgs", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "receiveCallFromComptroller" }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" }, { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "setConfigForFund" } ], "devdoc": { "kind": "dev", "methods": { "activateForFund(bool)": { "details": "Unimplemented by default, may be overridden." }, "deactivateForFund()": { "details": "Unimplemented by default, may be overridden." }, "getFundDeployer()": { "returns": { "fundDeployer_": "The `FUND_DEPLOYER` variable value" } }, "getOwner()": { "details": "Ownership is deferred to the owner of the FundDeployer contract", "returns": { "owner_": "The owner" } }, "getPolicyManager()": { "returns": { "policyManager_": "The `POLICY_MANAGER` variable value" } }, "getValueInterpreter()": { "returns": { "valueInterpreter_": "The `VALUE_INTERPRETER` variable value" } }, "getVaultProxyForFund(address)": { "params": { "_comptrollerProxy": "The ComptrollerProxy of the fund" }, "returns": { "vaultProxy_": "The VaultProxy of the fund" } }, "receiveCallFromComptroller(address,uint256,bytes)": { "params": { "_actionId": "An ID representing the desired action", "_callArgs": "The encoded args for the action", "_caller": "The user who called for this action" } }, "setConfigForFund(address,address,bytes)": { "params": { "_comptrollerProxy": "The ComptrollerProxy of the fund", "_vaultProxy": "The VaultProxy of the fund" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "activateForFund(bool)": { "notice": "Allows extension to run logic during fund activation" }, "deactivateForFund()": { "notice": "Allows extension to run logic during fund deactivation (destruct)" }, "getFundDeployer()": { "notice": "Gets the `FUND_DEPLOYER` variable" }, "getOwner()": { "notice": "Gets the owner of this contract" }, "getPolicyManager()": { "notice": "Gets the `POLICY_MANAGER` variable" }, "getValueInterpreter()": { "notice": "Gets the `VALUE_INTERPRETER` variable" }, "getVaultProxyForFund(address)": { "notice": "Gets the verified VaultProxy for a given ComptrollerProxy" }, "receiveCallFromComptroller(address,uint256,bytes)": { "notice": "Receives a dispatched `callOnExtension` from a fund's ComptrollerProxy" }, "setConfigForFund(address,address,bytes)": { "notice": "Enables the IntegrationManager to be used by a fund" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/integration-manager/IntegrationManager.sol": "IntegrationManager" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/vault/interfaces/IExternalPositionVault.sol": { "keccak256": "0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6", "urls": [ "bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d", "dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol": { "keccak256": "0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0", "urls": [ "bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb", "dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IMigratableVault.sol": { "keccak256": "0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238", "urls": [ "bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6", "dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IVaultCore.sol": { "keccak256": "0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80", "urls": [ "bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd", "dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr" ], "license": "GPL-3.0" }, "contracts/release/core/fund-deployer/IFundDeployer.sol": { "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", "urls": [ "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" ], "license": "GPL-3.0" }, "contracts/release/core/fund/comptroller/IComptroller.sol": { "keccak256": "0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f", "urls": [ "bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97", "dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L" ], "license": "GPL-3.0" }, "contracts/release/core/fund/vault/IVault.sol": { "keccak256": "0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd", "urls": [ "bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599", "dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG" ], "license": "GPL-3.0" }, "contracts/release/extensions/IExtension.sol": { "keccak256": "0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b", "urls": [ "bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70", "dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/IIntegrationManager.sol": { "keccak256": "0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef", "urls": [ "bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23", "dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/IntegrationManager.sol": { "keccak256": "0x069b57d778dccc4e67fd5e1514168348fd82ab144dfd3cfd6130717b47e95eab", "urls": [ "bzz-raw://546c6623f51cb59da95a332b2a1da0f65444d3ebb5de2de63022dfc5c63325ec", "dweb:/ipfs/QmdrRFPwJKZLPFr9fT9Hfw7RB1QWH1Gh7StNBWPueaWTzK" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol": { "keccak256": "0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1", "urls": [ "bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336", "dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS" ], "license": "GPL-3.0" }, "contracts/release/extensions/policy-manager/IPolicyManager.sol": { "keccak256": "0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32", "urls": [ "bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa", "dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb" ], "license": "GPL-3.0" }, "contracts/release/extensions/utils/ExtensionBase.sol": { "keccak256": "0xae68767766f6459bd2cd9dbd39df74f2c2f68f2150885bbce410e4091c807bb1", "urls": [ "bzz-raw://ce4c49522a39f618cc76feb474260fe910949f38e83b5f4518f1f245ba6eb876", "dweb:/ipfs/QmZ4wciRpziZAS4HRQy44Sgzm4GM4Wzme9zYnABzR6Cbzo" ], "license": "GPL-3.0" }, "contracts/release/extensions/utils/PermissionedVaultActionMixin.sol": { "keccak256": "0x77ddb9299d9c5f1538c20ae1543c20ef73db11ad7d9a9b817d26969ab233bb57", "urls": [ "bzz-raw://77812616256a092e0fd77469dcd2a2e098a1cf52686eeb6703a169efa64c27df", "dweb:/ipfs/QmbRPZznXSX3aA2VVJNpRqFXdJZebVDcDuY8EnF75Z7GpB" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol": { "keccak256": "0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794", "urls": [ "bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965", "dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ" ], "license": "GPL-3.0" }, "contracts/release/utils/AddressArrayLib.sol": { "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", "urls": [ "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" ], "license": "GPL-3.0" }, "contracts/release/utils/AssetHelpers.sol": { "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", "urls": [ "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" ], "license": "GPL-3.0" }, "contracts/release/utils/FundDeployerOwnerMixin.sol": { "keccak256": "0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934", "urls": [ "bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927", "dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", "urls": [ "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Address.sol": { "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", "urls": [ "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" } }, "version": 1 }, "id": 158 } diff --git a/eth_defi/abi/enzyme/IntegrationSelectors.json b/eth_defi/abi/enzyme/IntegrationSelectors.json index 5f403851..77383832 100644 --- a/eth_defi/abi/enzyme/IntegrationSelectors.json +++ b/eth_defi/abi/enzyme/IntegrationSelectors.json @@ -1,324 +1 @@ -{ - "abi": [ - { - "inputs": [], - "name": "CLAIM_REWARDS_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "LEND_AND_STAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "LEND_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "REDEEM_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "STAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "TAKE_MULTIPLE_ORDERS_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "TAKE_ORDER_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "UNSTAKE_AND_REDEEM_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "UNSTAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "CLAIM_REWARDS_SELECTOR()": "40da225d", - "LEND_AND_STAKE_SELECTOR()": "131461c0", - "LEND_SELECTOR()": "257cb1a3", - "REDEEM_SELECTOR()": "f7d882b5", - "STAKE_SELECTOR()": "3ffc1591", - "TAKE_MULTIPLE_ORDERS_SELECTOR()": "c32990a2", - "TAKE_ORDER_SELECTOR()": "863e5ad0", - "UNSTAKE_AND_REDEEM_SELECTOR()": "080456c1", - "UNSTAKE_SELECTOR()": "b23228cf" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"CLAIM_REWARDS_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LEND_AND_STAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LEND_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"REDEEM_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"STAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TAKE_MULTIPLE_ORDERS_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TAKE_ORDER_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UNSTAKE_AND_REDEEM_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UNSTAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"Selectors are created from their signatures rather than hardcoded for easy verification\",\"kind\":\"dev\",\"methods\":{},\"title\":\"IntegrationSelectors Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Selectors for integration actions\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol\":\"IntegrationSelectors\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol\":{\"keccak256\":\"0xfd34c7ca8231c6935e25dede32ca2b3121738e624d0fc896f7b895a731edcf88\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d492c061963d36d07718446db191d4c5a340c0d847f6cd209f027bd99f7cb176\",\"dweb:/ipfs/QmfCvRZt56ftDdrEh6LepHXFJ4fVtcfpQGvEyY8k4zxG1A\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "CLAIM_REWARDS_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "LEND_AND_STAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "LEND_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "REDEEM_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "STAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "TAKE_MULTIPLE_ORDERS_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "TAKE_ORDER_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "UNSTAKE_AND_REDEEM_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "UNSTAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol": "IntegrationSelectors" - }, - "libraries": {} - }, - "sources": { - "contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol": { - "keccak256": "0xfd34c7ca8231c6935e25dede32ca2b3121738e624d0fc896f7b895a731edcf88", - "urls": [ - "bzz-raw://d492c061963d36d07718446db191d4c5a340c0d847f6cd209f027bd99f7cb176", - "dweb:/ipfs/QmfCvRZt56ftDdrEh6LepHXFJ4fVtcfpQGvEyY8k4zxG1A" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 180 -} +{ "abi": [ { "type": "function", "name": "CLAIM_REWARDS_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "LEND_AND_STAKE_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "LEND_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "REDEEM_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "STAKE_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "TAKE_MULTIPLE_ORDERS_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "TAKE_ORDER_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "UNSTAKE_AND_REDEEM_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "UNSTAKE_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "CLAIM_REWARDS_SELECTOR()": "40da225d", "LEND_AND_STAKE_SELECTOR()": "131461c0", "LEND_SELECTOR()": "257cb1a3", "REDEEM_SELECTOR()": "f7d882b5", "STAKE_SELECTOR()": "3ffc1591", "TAKE_MULTIPLE_ORDERS_SELECTOR()": "c32990a2", "TAKE_ORDER_SELECTOR()": "863e5ad0", "UNSTAKE_AND_REDEEM_SELECTOR()": "080456c1", "UNSTAKE_SELECTOR()": "b23228cf" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"CLAIM_REWARDS_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LEND_AND_STAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LEND_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"REDEEM_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"STAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TAKE_MULTIPLE_ORDERS_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TAKE_ORDER_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UNSTAKE_AND_REDEEM_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UNSTAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"Selectors are created from their signatures rather than hardcoded for easy verification\",\"kind\":\"dev\",\"methods\":{},\"title\":\"IntegrationSelectors Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Selectors for integration actions\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol\":\"IntegrationSelectors\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol\":{\"keccak256\":\"0xfd34c7ca8231c6935e25dede32ca2b3121738e624d0fc896f7b895a731edcf88\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d492c061963d36d07718446db191d4c5a340c0d847f6cd209f027bd99f7cb176\",\"dweb:/ipfs/QmfCvRZt56ftDdrEh6LepHXFJ4fVtcfpQGvEyY8k4zxG1A\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [], "stateMutability": "view", "type": "function", "name": "CLAIM_REWARDS_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "LEND_AND_STAKE_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "LEND_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "REDEEM_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "STAKE_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "TAKE_MULTIPLE_ORDERS_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "TAKE_ORDER_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "UNSTAKE_AND_REDEEM_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "UNSTAKE_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol": "IntegrationSelectors" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol": { "keccak256": "0xfd34c7ca8231c6935e25dede32ca2b3121738e624d0fc896f7b895a731edcf88", "urls": [ "bzz-raw://d492c061963d36d07718446db191d4c5a340c0d847f6cd209f027bd99f7cb176", "dweb:/ipfs/QmfCvRZt56ftDdrEh6LepHXFJ4fVtcfpQGvEyY8k4zxG1A" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 180 } diff --git a/eth_defi/abi/enzyme/KilnStakingPositionDataDecoder.json b/eth_defi/abi/enzyme/KilnStakingPositionDataDecoder.json index 8de2042b..4a1ef45d 100644 --- a/eth_defi/abi/enzyme/KilnStakingPositionDataDecoder.json +++ b/eth_defi/abi/enzyme/KilnStakingPositionDataDecoder.json @@ -1,94 +1 @@ -{ - "abi": [], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": {}, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"KilnStakingPositionDataDecoder Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Abstract contract containing data decodings for KilnStakingPosition payloads\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/kiln-staking/KilnStakingPositionDataDecoder.sol\":\"KilnStakingPositionDataDecoder\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/release/extensions/external-position-manager/external-positions/kiln-staking/IKilnStakingPosition.sol\":{\"keccak256\":\"0x9facf417e97f2d726add64ee197cdba0dffb97f5a2806039efb6c5ee86721083\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6071ecdb5de558d450b56be1b578b4d5938753fa256d61772310ed9700af6aa4\",\"dweb:/ipfs/QmYe2BstewfYqFosCNsrtzo1ctF3hmheb8NyM6A3SsN3y5\"]},\"contracts/release/extensions/external-position-manager/external-positions/kiln-staking/KilnStakingPositionDataDecoder.sol\":{\"keccak256\":\"0x558647201f7b6e4cc86493a965898adffbe012221e252b5cfc177065847d744a\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://df1beacc102597c734883b1744c157ea9391197797a98fb0f96cf4a16b01c6be\",\"dweb:/ipfs/QmTU5m4shGWdoAqj7F1zHTdctAHwmjMT29agoS6PqTtwxo\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/external-position-manager/external-positions/kiln-staking/KilnStakingPositionDataDecoder.sol": "KilnStakingPositionDataDecoder" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/external-positions/IExternalPosition.sol": { - "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", - "urls": [ - "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", - "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/kiln-staking/IKilnStakingPosition.sol": { - "keccak256": "0x9facf417e97f2d726add64ee197cdba0dffb97f5a2806039efb6c5ee86721083", - "urls": [ - "bzz-raw://6071ecdb5de558d450b56be1b578b4d5938753fa256d61772310ed9700af6aa4", - "dweb:/ipfs/QmYe2BstewfYqFosCNsrtzo1ctF3hmheb8NyM6A3SsN3y5" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/kiln-staking/KilnStakingPositionDataDecoder.sol": { - "keccak256": "0x558647201f7b6e4cc86493a965898adffbe012221e252b5cfc177065847d744a", - "urls": [ - "bzz-raw://df1beacc102597c734883b1744c157ea9391197797a98fb0f96cf4a16b01c6be", - "dweb:/ipfs/QmTU5m4shGWdoAqj7F1zHTdctAHwmjMT29agoS6PqTtwxo" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 107 -} +{ "abi": [], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": {}, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"KilnStakingPositionDataDecoder Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Abstract contract containing data decodings for KilnStakingPosition payloads\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/kiln-staking/KilnStakingPositionDataDecoder.sol\":\"KilnStakingPositionDataDecoder\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/release/extensions/external-position-manager/external-positions/kiln-staking/IKilnStakingPosition.sol\":{\"keccak256\":\"0x9facf417e97f2d726add64ee197cdba0dffb97f5a2806039efb6c5ee86721083\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6071ecdb5de558d450b56be1b578b4d5938753fa256d61772310ed9700af6aa4\",\"dweb:/ipfs/QmYe2BstewfYqFosCNsrtzo1ctF3hmheb8NyM6A3SsN3y5\"]},\"contracts/release/extensions/external-position-manager/external-positions/kiln-staking/KilnStakingPositionDataDecoder.sol\":{\"keccak256\":\"0x558647201f7b6e4cc86493a965898adffbe012221e252b5cfc177065847d744a\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://df1beacc102597c734883b1744c157ea9391197797a98fb0f96cf4a16b01c6be\",\"dweb:/ipfs/QmTU5m4shGWdoAqj7F1zHTdctAHwmjMT29agoS6PqTtwxo\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/external-position-manager/external-positions/kiln-staking/KilnStakingPositionDataDecoder.sol": "KilnStakingPositionDataDecoder" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/external-positions/IExternalPosition.sol": { "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", "urls": [ "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/kiln-staking/IKilnStakingPosition.sol": { "keccak256": "0x9facf417e97f2d726add64ee197cdba0dffb97f5a2806039efb6c5ee86721083", "urls": [ "bzz-raw://6071ecdb5de558d450b56be1b578b4d5938753fa256d61772310ed9700af6aa4", "dweb:/ipfs/QmYe2BstewfYqFosCNsrtzo1ctF3hmheb8NyM6A3SsN3y5" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/kiln-staking/KilnStakingPositionDataDecoder.sol": { "keccak256": "0x558647201f7b6e4cc86493a965898adffbe012221e252b5cfc177065847d744a", "urls": [ "bzz-raw://df1beacc102597c734883b1744c157ea9391197797a98fb0f96cf4a16b01c6be", "dweb:/ipfs/QmTU5m4shGWdoAqj7F1zHTdctAHwmjMT29agoS6PqTtwxo" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 107 } diff --git a/eth_defi/abi/enzyme/KilnStakingPositionLib.json b/eth_defi/abi/enzyme/KilnStakingPositionLib.json index 5040760b..1326c7ad 100644 --- a/eth_defi/abi/enzyme/KilnStakingPositionLib.json +++ b/eth_defi/abi/enzyme/KilnStakingPositionLib.json @@ -1,510 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_wethToken", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "stakingContractAddress", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "validatorAmount", - "type": "uint256" - } - ], - "name": "ValidatorsAdded", - "type": "event" - }, - { - "inputs": [], - "name": "ETH_AMOUNT_PER_NODE", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "WETH_TOKEN", - "outputs": [ - { - "internalType": "contract IWETH", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getDebtAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "assets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "amounts_", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getManagedAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "assets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "amounts_", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getValidatorCount", - "outputs": [ - { - "internalType": "uint256", - "name": "validatorCount_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "init", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - } - ], - "name": "receiveCallFromVault", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x60a060405234801561001057600080fd5b5060405161117038038061117083398101604081905261002f91610055565b60601b6001600160601b0319166080526100a3565b805161004f8161008c565b92915050565b60006020828403121561006757600080fd5b60006100738484610044565b949350505050565b60006001600160a01b03821661004f565b6100958161007b565b81146100a057600080fd5b50565b60805160601c61109c6100d46000398061010552806101845280610324528061065752806106d5525061109c6000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c80637071688a1161005b5780637071688a146100ca57806380daddb8146100d2578063e5c23a97146100e8578063ecd658b4146100fb5761007d565b806337d277d4146100825780634ddf47d4146100a057806356e277f0146100b5575b600080fd5b61008a610103565b6040516100979190610eec565b60405180910390f35b6100b36100ae366004610b32565b610127565b005b6100bd61012a565b6040516100979190610f5a565b6100bd610137565b6100da61013d565b604051610097929190610eb6565b6100b36100f6366004610b32565b610215565b6100da61026d565b7f000000000000000000000000000000000000000000000000000000000000000081565b50565b6801bc16d674ec80000081565b60005490565b6040805160018082528183019092526060918291906020808301908036833750506040805160018082528183019092529294509050602080830190803683370190505090507f0000000000000000000000000000000000000000000000000000000000000000826000815181106101b057fe5b60200260200101906001600160a01b031690816001600160a01b0316815250506101f8476101f26801bc16d674ec80000060005461027390919063ffffffff16565b906102bf565b8160008151811061020557fe5b6020026020010181815250509091565b600060608280602001905181019061022d9190610b67565b90925090508161024557610240816102e4565b610268565b60018214156102575761024081610437565b600282141561026857610268610650565b505050565b60608091565b600082610282575060006102b9565b8282028284828161028f57fe5b04146102b65760405162461bcd60e51b81526004016102ad90610f1a565b60405180910390fd5b90505b92915050565b6000828201838110156102b65760405162461bcd60e51b81526004016102ad90610efa565b6000806102f083610700565b9092509050600061030a826801bc16d674ec800000610273565b604051632e1a7d4d60e01b81529091506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690632e1a7d4d90610359908490600401610f5a565b600060405180830381600087803b15801561037357600080fd5b505af1158015610387573d6000803e3d6000fd5b50505050826001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b1580156103c657600080fd5b505af11580156103da573d6000803e3d6000fd5b50505050506103f4826000546102bf90919063ffffffff16565b6000556040517f68c3ce677c367b7afcaf3a43fd233dbbffb64c69fa9d55962079ad6d3dd93ce8906104299085908590610e9b565b60405180910390a150505050565b60006060600061044684610720565b91945092509050600081600281111561045b57fe5b14156104f05760005b82518110156104ea57836001600160a01b031663bf509bd484838151811061048857fe5b60200260200101516040518263ffffffff1660e01b81526004016104ac9190610edb565b600060405180830381600087803b1580156104c657600080fd5b505af11580156104da573d6000803e3d6000fd5b5050600190920191506104649050565b50610642565b60018160028111156104fe57fe5b141561058d5760005b82518110156104ea57836001600160a01b0316632ba03a7984838151811061052b57fe5b60200260200101516040518263ffffffff1660e01b815260040161054f9190610edb565b600060405180830381600087803b15801561056957600080fd5b505af115801561057d573d6000803e3d6000fd5b5050600190920191506105079050565b600281600281111561059b57fe5b141561062a5760005b82518110156104ea57836001600160a01b0316630968f2648483815181106105c857fe5b60200260200101516040518263ffffffff1660e01b81526004016105ec9190610edb565b600060405180830381600087803b15801561060657600080fd5b505af115801561061a573d6000803e3d6000fd5b5050600190920191506105a49050565b60405162461bcd60e51b81526004016102ad90610f4a565b61064a610650565b50505050565b60004790507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b1580156106b057600080fd5b505af11580156106c4573d6000803e3d6000fd5b506101279350506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016915033905083610747565b600080828060200190518101906107179190610ad2565b91509150915091565b6000606060008380602001905181019061073a9190610a6d565b9250925092509193909250565b6102688363a9059cbb60e01b8484604051602401610766929190610e9b565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915260606107ed826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166108279092919063ffffffff16565b805190915015610268578080602001905181019061080b9190610b0c565b6102685760405162461bcd60e51b81526004016102ad90610f3a565b60606108368484600085610840565b90505b9392505050565b6060824710156108625760405162461bcd60e51b81526004016102ad90610f0a565b61086b85610901565b6108875760405162461bcd60e51b81526004016102ad90610f2a565b60006060866001600160a01b031685876040516108a49190610e8f565b60006040518083038185875af1925050503d80600081146108e1576040519150601f19603f3d011682016040523d82523d6000602084013e6108e6565b606091505b50915091506108f6828286610907565b979650505050505050565b3b151590565b60608315610916575081610839565b8251156109265782518084602001fd5b8160405162461bcd60e51b81526004016102ad9190610edb565b80516102b98161105c565b600082601f83011261095c57600080fd5b815161096f61096a82610f8f565b610f68565b81815260209384019390925082018360005b838110156109ad57815186016109978882610a11565b8452506020928301929190910190600101610981565b5050505092915050565b80516102b981611070565b600082601f8301126109d357600080fd5b81356109e161096a82610fb0565b915080825260208301602083018583830111156109fd57600080fd5b610a0883828461101a565b50505092915050565b600082601f830112610a2257600080fd5b8151610a3061096a82610fb0565b91508082526020830160208301858383011115610a4c57600080fd5b610a08838284611026565b80516102b981611079565b80516102b981611086565b600080600060608486031215610a8257600080fd5b6000610a8e8686610940565b935050602084015167ffffffffffffffff811115610aab57600080fd5b610ab78682870161094b565b9250506040610ac886828701610a57565b9150509250925092565b60008060408385031215610ae557600080fd5b6000610af18585610940565b9250506020610b0285828601610a62565b9150509250929050565b600060208284031215610b1e57600080fd5b6000610b2a84846109b7565b949350505050565b600060208284031215610b4457600080fd5b813567ffffffffffffffff811115610b5b57600080fd5b610b2a848285016109c2565b60008060408385031215610b7a57600080fd5b6000610b868585610a62565b925050602083015167ffffffffffffffff811115610ba357600080fd5b610b0285828601610a11565b6000610bbb8383610bcf565b505060200190565b6000610bbb8383610e86565b610bd881610ff0565b82525050565b6000610be982610fde565b610bf38185610fe2565b9350610bfe83610fd8565b8060005b83811015610c2c578151610c168882610baf565b9750610c2183610fd8565b925050600101610c02565b509495945050505050565b6000610c4282610fde565b610c4c8185610fe2565b9350610c5783610fd8565b8060005b83811015610c2c578151610c6f8882610bc3565b9750610c7a83610fd8565b925050600101610c5b565b6000610c9082610fde565b610c9a8185610fe2565b9350610caa818560208601611026565b610cb381611052565b9093019392505050565b6000610cc882610fde565b610cd28185610feb565b9350610ce2818560208601611026565b9290920192915050565b610bd88161100f565b6000610d02601b83610fe2565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000610d3b602683610fe2565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f8152651c8818d85b1b60d21b602082015260400192915050565b6000610d83602183610fe2565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000610dc6601d83610fe2565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000815260200192915050565b6000610dff602a83610fe2565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e8152691bdd081cdd58d8d9595960b21b602082015260400192915050565b6000610e4b602683610fe2565b7f5f5f636c61696d466565733a20556e737570706f7274656420636c61696d466581526565207479706560d01b602082015260400192915050565b610bd88161100c565b60006108398284610cbd565b60408101610ea98285610bcf565b6108396020830184610e86565b60408082528101610ec78185610bde565b905081810360208301526108368184610c37565b602080825281016108398184610c85565b602081016102b98284610cec565b602080825281016102b981610cf5565b602080825281016102b981610d2e565b602080825281016102b981610d76565b602080825281016102b981610db9565b602080825281016102b981610df2565b602080825281016102b981610e3e565b602081016102b98284610e86565b60405181810167ffffffffffffffff81118282101715610f8757600080fd5b604052919050565b600067ffffffffffffffff821115610fa657600080fd5b5060209081020190565b600067ffffffffffffffff821115610fc757600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b919050565b60006102b982611000565b151590565b6001600160a01b031690565b90565b60006102b982610ff0565b82818337506000910152565b60005b83811015611041578181015183820152602001611029565b8381111561064a5750506000910152565b601f01601f191690565b61106581610ff0565b811461012757600080fd5b61106581610ffb565b6003811061012757600080fd5b6110658161100c56fea164736f6c634300060c000a", - "sourceMap": "939:4394:108:-:0;;;1239:86;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1288:30;;-1:-1:-1;;;;;;1288:30:108;;;939:4394;;5:134:-1;83:13;;101:33;83:13;101:33;:::i;:::-;68:71;;;;:::o;146:263::-;;261:2;249:9;240:7;236:23;232:32;229:2;;;277:1;274;267:12;229:2;312:1;329:64;385:7;365:9;329:64;:::i;:::-;319:74;223:186;-1:-1;;;;223:186::o;416:91::-;;-1:-1;;;;;576:54;;478:24;559:76::o;642:117::-;711:24;729:5;711:24;:::i;:::-;704:5;701:35;691:2;;750:1;747;740:12;691:2;685:74;:::o;:::-;939:4394:108;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b506004361061007d5760003560e01c80637071688a1161005b5780637071688a146100ca57806380daddb8146100d2578063e5c23a97146100e8578063ecd658b4146100fb5761007d565b806337d277d4146100825780634ddf47d4146100a057806356e277f0146100b5575b600080fd5b61008a610103565b6040516100979190610eec565b60405180910390f35b6100b36100ae366004610b32565b610127565b005b6100bd61012a565b6040516100979190610f5a565b6100bd610137565b6100da61013d565b604051610097929190610eb6565b6100b36100f6366004610b32565b610215565b6100da61026d565b7f000000000000000000000000000000000000000000000000000000000000000081565b50565b6801bc16d674ec80000081565b60005490565b6040805160018082528183019092526060918291906020808301908036833750506040805160018082528183019092529294509050602080830190803683370190505090507f0000000000000000000000000000000000000000000000000000000000000000826000815181106101b057fe5b60200260200101906001600160a01b031690816001600160a01b0316815250506101f8476101f26801bc16d674ec80000060005461027390919063ffffffff16565b906102bf565b8160008151811061020557fe5b6020026020010181815250509091565b600060608280602001905181019061022d9190610b67565b90925090508161024557610240816102e4565b610268565b60018214156102575761024081610437565b600282141561026857610268610650565b505050565b60608091565b600082610282575060006102b9565b8282028284828161028f57fe5b04146102b65760405162461bcd60e51b81526004016102ad90610f1a565b60405180910390fd5b90505b92915050565b6000828201838110156102b65760405162461bcd60e51b81526004016102ad90610efa565b6000806102f083610700565b9092509050600061030a826801bc16d674ec800000610273565b604051632e1a7d4d60e01b81529091506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690632e1a7d4d90610359908490600401610f5a565b600060405180830381600087803b15801561037357600080fd5b505af1158015610387573d6000803e3d6000fd5b50505050826001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b1580156103c657600080fd5b505af11580156103da573d6000803e3d6000fd5b50505050506103f4826000546102bf90919063ffffffff16565b6000556040517f68c3ce677c367b7afcaf3a43fd233dbbffb64c69fa9d55962079ad6d3dd93ce8906104299085908590610e9b565b60405180910390a150505050565b60006060600061044684610720565b91945092509050600081600281111561045b57fe5b14156104f05760005b82518110156104ea57836001600160a01b031663bf509bd484838151811061048857fe5b60200260200101516040518263ffffffff1660e01b81526004016104ac9190610edb565b600060405180830381600087803b1580156104c657600080fd5b505af11580156104da573d6000803e3d6000fd5b5050600190920191506104649050565b50610642565b60018160028111156104fe57fe5b141561058d5760005b82518110156104ea57836001600160a01b0316632ba03a7984838151811061052b57fe5b60200260200101516040518263ffffffff1660e01b815260040161054f9190610edb565b600060405180830381600087803b15801561056957600080fd5b505af115801561057d573d6000803e3d6000fd5b5050600190920191506105079050565b600281600281111561059b57fe5b141561062a5760005b82518110156104ea57836001600160a01b0316630968f2648483815181106105c857fe5b60200260200101516040518263ffffffff1660e01b81526004016105ec9190610edb565b600060405180830381600087803b15801561060657600080fd5b505af115801561061a573d6000803e3d6000fd5b5050600190920191506105a49050565b60405162461bcd60e51b81526004016102ad90610f4a565b61064a610650565b50505050565b60004790507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b1580156106b057600080fd5b505af11580156106c4573d6000803e3d6000fd5b506101279350506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016915033905083610747565b600080828060200190518101906107179190610ad2565b91509150915091565b6000606060008380602001905181019061073a9190610a6d565b9250925092509193909250565b6102688363a9059cbb60e01b8484604051602401610766929190610e9b565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915260606107ed826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166108279092919063ffffffff16565b805190915015610268578080602001905181019061080b9190610b0c565b6102685760405162461bcd60e51b81526004016102ad90610f3a565b60606108368484600085610840565b90505b9392505050565b6060824710156108625760405162461bcd60e51b81526004016102ad90610f0a565b61086b85610901565b6108875760405162461bcd60e51b81526004016102ad90610f2a565b60006060866001600160a01b031685876040516108a49190610e8f565b60006040518083038185875af1925050503d80600081146108e1576040519150601f19603f3d011682016040523d82523d6000602084013e6108e6565b606091505b50915091506108f6828286610907565b979650505050505050565b3b151590565b60608315610916575081610839565b8251156109265782518084602001fd5b8160405162461bcd60e51b81526004016102ad9190610edb565b80516102b98161105c565b600082601f83011261095c57600080fd5b815161096f61096a82610f8f565b610f68565b81815260209384019390925082018360005b838110156109ad57815186016109978882610a11565b8452506020928301929190910190600101610981565b5050505092915050565b80516102b981611070565b600082601f8301126109d357600080fd5b81356109e161096a82610fb0565b915080825260208301602083018583830111156109fd57600080fd5b610a0883828461101a565b50505092915050565b600082601f830112610a2257600080fd5b8151610a3061096a82610fb0565b91508082526020830160208301858383011115610a4c57600080fd5b610a08838284611026565b80516102b981611079565b80516102b981611086565b600080600060608486031215610a8257600080fd5b6000610a8e8686610940565b935050602084015167ffffffffffffffff811115610aab57600080fd5b610ab78682870161094b565b9250506040610ac886828701610a57565b9150509250925092565b60008060408385031215610ae557600080fd5b6000610af18585610940565b9250506020610b0285828601610a62565b9150509250929050565b600060208284031215610b1e57600080fd5b6000610b2a84846109b7565b949350505050565b600060208284031215610b4457600080fd5b813567ffffffffffffffff811115610b5b57600080fd5b610b2a848285016109c2565b60008060408385031215610b7a57600080fd5b6000610b868585610a62565b925050602083015167ffffffffffffffff811115610ba357600080fd5b610b0285828601610a11565b6000610bbb8383610bcf565b505060200190565b6000610bbb8383610e86565b610bd881610ff0565b82525050565b6000610be982610fde565b610bf38185610fe2565b9350610bfe83610fd8565b8060005b83811015610c2c578151610c168882610baf565b9750610c2183610fd8565b925050600101610c02565b509495945050505050565b6000610c4282610fde565b610c4c8185610fe2565b9350610c5783610fd8565b8060005b83811015610c2c578151610c6f8882610bc3565b9750610c7a83610fd8565b925050600101610c5b565b6000610c9082610fde565b610c9a8185610fe2565b9350610caa818560208601611026565b610cb381611052565b9093019392505050565b6000610cc882610fde565b610cd28185610feb565b9350610ce2818560208601611026565b9290920192915050565b610bd88161100f565b6000610d02601b83610fe2565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000610d3b602683610fe2565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f8152651c8818d85b1b60d21b602082015260400192915050565b6000610d83602183610fe2565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000610dc6601d83610fe2565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000815260200192915050565b6000610dff602a83610fe2565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e8152691bdd081cdd58d8d9595960b21b602082015260400192915050565b6000610e4b602683610fe2565b7f5f5f636c61696d466565733a20556e737570706f7274656420636c61696d466581526565207479706560d01b602082015260400192915050565b610bd88161100c565b60006108398284610cbd565b60408101610ea98285610bcf565b6108396020830184610e86565b60408082528101610ec78185610bde565b905081810360208301526108368184610c37565b602080825281016108398184610c85565b602081016102b98284610cec565b602080825281016102b981610cf5565b602080825281016102b981610d2e565b602080825281016102b981610d76565b602080825281016102b981610db9565b602080825281016102b981610df2565b602080825281016102b981610e3e565b602081016102b98284610e86565b60405181810167ffffffffffffffff81118282101715610f8757600080fd5b604052919050565b600067ffffffffffffffff821115610fa657600080fd5b5060209081020190565b600067ffffffffffffffff821115610fc757600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b919050565b60006102b982611000565b151590565b6001600160a01b031690565b90565b60006102b982610ff0565b82818337506000910152565b60005b83811015611041578181015183820152602001611029565b8381111561064a5750506000910152565b601f01601f191690565b61106581610ff0565b811461012757600080fd5b61106581610ffb565b6003811061012757600080fd5b6110658161100c56fea164736f6c634300060c000a", - "sourceMap": "939:4394:108:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1199:33;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1434:48;;;;;;:::i;:::-;;:::i;:::-;;1138:54;;;:::i;:::-;;;;;;;:::i;5218:113::-;;;:::i;4641:351::-;;;:::i;:::-;;;;;;;;:::i;1610:462::-;;;;;;:::i;:::-;;:::i;4286:176::-;;;:::i;1199:33::-;;;:::o;1434:48::-;;:::o;1138:54::-;1184:8;1138:54;:::o;5218:113::-;5268:23;5310:14;5218:113;:::o;4641:351::-;4797:16;;;4811:1;4797:16;;;;;;;;;4720:24;;;;4797:16;;;;;;;;;;-1:-1:-1;;4834:16:108;;;4848:1;4834:16;;;;;;;;;4787:26;;-1:-1:-1;4848:1:108;-1:-1:-1;4834:16:108;;;;;;;;;;;-1:-1:-1;4834:16:108;4823:27;;4882:10;4861:7;4869:1;4861:10;;;;;;;;;;;;;:32;-1:-1:-1;;;;;4861:32:108;;;-1:-1:-1;;;;;4861:32:108;;;;;4917:68;4963:21;4918:39;1184:8;4918:14;;:18;;:39;;;;:::i;:::-;4917:45;;:68::i;:::-;4903:8;4912:1;4903:11;;;;;;;;;;;;;:82;;;;;4641:351;;:::o;1610:462::-;1695:16;1713:23;1751:11;1740:41;;;;;;;;;;;;:::i;:::-;1694:87;;-1:-1:-1;1694:87:108;-1:-1:-1;1796:34:108;1792:274;;1846:19;1854:10;1846:7;:19::i;:::-;1792:274;;;1906:17;1886:8;:38;1882:184;;;1940:23;1952:10;1940:11;:23::i;1882:184::-;2004:19;1984:8;:40;1980:86;;;2040:15;:13;:15::i;:::-;1610:462;;;:::o;4286:176::-;4362:24;4388:25;4286:176;:::o;3538:215:442:-;3596:7;3619:6;3615:20;;-1:-1:-1;3634:1:442;3627:8;;3615:20;3657:5;;;3661:1;3657;:5;:1;3680:5;;;;;:10;3672:56;;;;-1:-1:-1;;;3672:56:442;;;;;;;:::i;:::-;;;;;;;;;3745:1;-1:-1:-1;3538:215:442;;;;;:::o;2690:175::-;2748:7;2779:5;;;2802:6;;;;2794:46;;;;-1:-1:-1;;;2794:46:442;;;;;;;:::i;3243:525:108:-;3305:30;3337:23;3364:58;3401:11;3364:23;:58::i;:::-;3304:118;;-1:-1:-1;3304:118:108;-1:-1:-1;3433:20:108;3456:40;3304:118;1184:8;3456:19;:40::i;:::-;3507:33;;-1:-1:-1;;;3507:33:108;;3433:63;;-1:-1:-1;;;;;;3507:10:108;:19;;;;:33;;3433:63;;3507:33;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3572:22;-1:-1:-1;;;;;3551:52:108;;3611:12;3551:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3654:35;3673:15;3654:14;;:18;;:35;;;;:::i;:::-;3637:14;:52;3705:56;;;;;;3721:22;;3745:15;;3705:56;:::i;:::-;;;;;;;;3243:525;;;;:::o;2136:1052::-;2215:30;2259:25;2298:48;2359:36;2383:11;2359:23;:36::i;:::-;2201:194;;-1:-1:-1;2201:194:108;-1:-1:-1;2201:194:108;-1:-1:-1;2427:28:108;2410:13;:45;;;;;;;;;2406:750;;;2476:9;2471:150;2491:10;:17;2487:1;:21;2471:150;;;2554:22;-1:-1:-1;;;;;2533:58:108;;2592:10;2603:1;2592:13;;;;;;;;;;;;;;2533:73;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2510:3:108;;;;;-1:-1:-1;2471:150:108;;-1:-1:-1;2471:150:108;;;2406:750;;;2658:28;2641:13;:45;;;;;;;;;2637:519;;;2707:9;2702:150;2722:10;:17;2718:1;:21;2702:150;;;2785:22;-1:-1:-1;;;;;2764:58:108;;2823:10;2834:1;2823:13;;;;;;;;;;;;;;2764:73;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2741:3:108;;;;;-1:-1:-1;2702:150:108;;-1:-1:-1;2702:150:108;2637:519;2889:17;2872:13;:34;;;;;;;;;2868:288;;;2927:9;2922:145;2942:10;:17;2938:1;:21;2922:145;;;3005:22;-1:-1:-1;;;;;2984:53:108;;3038:10;3049:1;3038:13;;;;;;;;;;;;;;2984:68;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2961:3:108;;;;;-1:-1:-1;2922:145:108;;-1:-1:-1;2922:145:108;2868:288;3097:48;;-1:-1:-1;;;3097:48:108;;;;;;;:::i;2868:288::-;3166:15;:13;:15::i;:::-;2136:1052;;;;:::o;3836:204::-;3879:14;3896:21;3879:38;;3928:10;-1:-1:-1;;;;;3928:18:108;;3954:6;3928:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3974:59:108;;-1:-1:-1;;;;;;;3988:10:108;3974:39;;-1:-1:-1;4014:10:108;;-1:-1:-1;4026:6:108;3974:39;:59::i;1037:236:107:-;1143:31;1176:24;1234:11;1223:43;;;;;;;;;;;;:::i;:::-;1216:50;;;;1037:236;;;:::o;598:369::-;717:31;762:26;802:47;892:11;881:79;;;;;;;;;;;;:::i;:::-;874:86;;;;;;598:369;;;;;:::o;704:175:450:-;786:86;806:5;836:23;;;861:2;865:5;813:58;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;813:58:450;;;;;;;;;;;;;;-1:-1:-1;;;;;813:58:450;-1:-1:-1;;;;;;813:58:450;;;;;;;;;;3386:23;3412:69;3440:4;3412:69;;;;;;;;;;;;;;;;;3420:5;-1:-1:-1;;;;;3412:27:450;;;:69;;;;;:::i;:::-;3495:17;;3386:95;;-1:-1:-1;3495:21:450;3491:221;;3635:10;3624:30;;;;;;;;;;;;:::i;:::-;3616:85;;;;-1:-1:-1;;;3616:85:450;;;;;;;:::i;3581:193:451:-;3684:12;3715:52;3737:6;3745:4;3751:1;3754:12;3715:21;:52::i;:::-;3708:59;;3581:193;;;;;;:::o;4608:523::-;4735:12;4792:5;4767:21;:30;;4759:81;;;;-1:-1:-1;;;4759:81:451;;;;;;;:::i;:::-;4858:18;4869:6;4858:10;:18::i;:::-;4850:60;;;;-1:-1:-1;;;4850:60:451;;;;;;;:::i;:::-;4981:12;4995:23;5022:6;-1:-1:-1;;;;;5022:11:451;5042:5;5050:4;5022:33;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4980:75;;;;5072:52;5090:7;5099:10;5111:12;5072:17;:52::i;:::-;5065:59;4608:523;-1:-1:-1;;;;;;;4608:523:451:o;726:413::-;1086:20;1124:8;;;726:413::o;7091:725::-;7206:12;7234:7;7230:580;;;-1:-1:-1;7264:10:451;7257:17;;7230:580;7375:17;;:21;7371:429;;7633:10;7627:17;7693:15;7680:10;7676:2;7672:19;7665:44;7582:145;7772:12;7765:20;;-1:-1:-1;;;7765:20:451;;;;;;;;:::i;5:150:-1:-;91:13;;109:41;91:13;109:41;:::i;178:713::-;;315:3;308:4;300:6;296:17;292:27;282:2;;333:1;330;323:12;282:2;363:6;357:13;385:89;400:73;466:6;400:73;:::i;:::-;385:89;:::i;:::-;502:21;;;546:4;534:17;;;;376:98;;-1:-1;559:14;;534:17;654:1;639:246;664:6;661:1;658:13;639:246;;;740:3;734:10;726:6;722:23;764:57;817:3;805:10;764:57;:::i;:::-;752:70;;-1:-1;845:4;836:14;;;;864;;;;;686:1;679:9;639:246;;;643:14;275:616;;;;;;;:::o;899:128::-;974:13;;992:30;974:13;992:30;:::i;1035:440::-;;1136:3;1129:4;1121:6;1117:17;1113:27;1103:2;;1154:1;1151;1144:12;1103:2;1191:6;1178:20;1213:64;1228:48;1269:6;1228:48;:::i;1213:64::-;1204:73;;1297:6;1290:5;1283:21;1333:4;1325:6;1321:17;1366:4;1359:5;1355:16;1401:3;1392:6;1387:3;1383:16;1380:25;1377:2;;;1418:1;1415;1408:12;1377:2;1428:41;1462:6;1457:3;1452;1428:41;:::i;:::-;1096:379;;;;;;;:::o;1484:442::-;;1596:3;1589:4;1581:6;1577:17;1573:27;1563:2;;1614:1;1611;1604:12;1563:2;1644:6;1638:13;1666:64;1681:48;1722:6;1681:48;:::i;1666:64::-;1657:73;;1750:6;1743:5;1736:21;1786:4;1778:6;1774:17;1819:4;1812:5;1808:16;1854:3;1845:6;1840:3;1836:16;1833:25;1830:2;;;1871:1;1868;1861:12;1830:2;1881:39;1913:6;1908:3;1903;1881:39;:::i;1934:172::-;2031:13;;2049:52;2031:13;2049:52;:::i;2113:134::-;2191:13;;2209:33;2191:13;2209:33;:::i;2254:736::-;;;;2464:2;2452:9;2443:7;2439:23;2435:32;2432:2;;;2480:1;2477;2470:12;2432:2;2515:1;2532:72;2596:7;2576:9;2532:72;:::i;:::-;2522:82;;2494:116;2662:2;2651:9;2647:18;2641:25;2686:18;2678:6;2675:30;2672:2;;;2718:1;2715;2708:12;2672:2;2738:98;2828:7;2819:6;2808:9;2804:22;2738:98;:::i;:::-;2728:108;;2620:222;2873:2;2891:83;2966:7;2957:6;2946:9;2942:22;2891:83;:::i;:::-;2881:93;;2852:128;2426:564;;;;;:::o;2997:415::-;;;3137:2;3125:9;3116:7;3112:23;3108:32;3105:2;;;3153:1;3150;3143:12;3105:2;3188:1;3205:72;3269:7;3249:9;3205:72;:::i;:::-;3195:82;;3167:116;3314:2;3332:64;3388:7;3379:6;3368:9;3364:22;3332:64;:::i;:::-;3322:74;;3293:109;3099:313;;;;;:::o;3419:257::-;;3531:2;3519:9;3510:7;3506:23;3502:32;3499:2;;;3547:1;3544;3537:12;3499:2;3582:1;3599:61;3652:7;3632:9;3599:61;:::i;:::-;3589:71;3493:183;-1:-1;;;;3493:183::o;3683:345::-;;3796:2;3784:9;3775:7;3771:23;3767:32;3764:2;;;3812:1;3809;3802:12;3764:2;3847:31;;3898:18;3887:30;;3884:2;;;3930:1;3927;3920:12;3884:2;3950:62;4004:7;3995:6;3984:9;3980:22;3950:62;:::i;4035:496::-;;;4176:2;4164:9;4155:7;4151:23;4147:32;4144:2;;;4192:1;4189;4182:12;4144:2;4227:1;4244:64;4300:7;4280:9;4244:64;:::i;:::-;4234:74;;4206:108;4366:2;4355:9;4351:18;4345:25;4390:18;4382:6;4379:30;4376:2;;;4422:1;4419;4412:12;4376:2;4442:73;4507:7;4498:6;4487:9;4483:22;4442:73;:::i;4539:173::-;;4626:46;4668:3;4660:6;4626:46;:::i;:::-;-1:-1;;4701:4;4692:14;;4619:93::o;4721:173::-;;4808:46;4850:3;4842:6;4808:46;:::i;4902:103::-;4975:24;4993:5;4975:24;:::i;:::-;4970:3;4963:37;4957:48;;:::o;5163:690::-;;5308:54;5356:5;5308:54;:::i;:::-;5375:86;5454:6;5449:3;5375:86;:::i;:::-;5368:93;;5482:56;5532:5;5482:56;:::i;:::-;5558:7;5586:1;5571:260;5596:6;5593:1;5590:13;5571:260;;;5663:6;5657:13;5684:63;5743:3;5728:13;5684:63;:::i;:::-;5677:70;;5764:60;5817:6;5764:60;:::i;:::-;5754:70;-1:-1;;5618:1;5611:9;5571:260;;;-1:-1;5844:3;;5287:566;-1:-1;;;;;5287:566::o;5892:690::-;;6037:54;6085:5;6037:54;:::i;:::-;6104:86;6183:6;6178:3;6104:86;:::i;:::-;6097:93;;6211:56;6261:5;6211:56;:::i;:::-;6287:7;6315:1;6300:260;6325:6;6322:1;6319:13;6300:260;;;6392:6;6386:13;6413:63;6472:3;6457:13;6413:63;:::i;:::-;6406:70;;6493:60;6546:6;6493:60;:::i;:::-;6483:70;-1:-1;;6347:1;6340:9;6300:260;;6590:343;;6700:38;6732:5;6700:38;:::i;:::-;6750:70;6813:6;6808:3;6750:70;:::i;:::-;6743:77;;6825:52;6870:6;6865:3;6858:4;6851:5;6847:16;6825:52;:::i;:::-;6898:29;6920:6;6898:29;:::i;:::-;6889:39;;;;6680:253;-1:-1;;;6680:253::o;6940:356::-;;7068:38;7100:5;7068:38;:::i;:::-;7118:88;7199:6;7194:3;7118:88;:::i;:::-;7111:95;;7211:52;7256:6;7251:3;7244:4;7237:5;7233:16;7211:52;:::i;:::-;7275:16;;;;;7048:248;-1:-1;;7048:248::o;7303:156::-;7401:52;7447:5;7401:52;:::i;7821:327::-;;7981:67;8045:2;8040:3;7981:67;:::i;:::-;8081:29;8061:50;;8139:2;8130:12;;7967:181;-1:-1;;7967:181::o;8157:375::-;;8317:67;8381:2;8376:3;8317:67;:::i;:::-;8417:34;8397:55;;-1:-1;;;8481:2;8472:12;;8465:30;8523:2;8514:12;;8303:229;-1:-1;;8303:229::o;8541:370::-;;8701:67;8765:2;8760:3;8701:67;:::i;:::-;8801:34;8781:55;;-1:-1;;;8865:2;8856:12;;8849:25;8902:2;8893:12;;8687:224;-1:-1;;8687:224::o;8920:329::-;;9080:67;9144:2;9139:3;9080:67;:::i;:::-;9180:31;9160:52;;9240:2;9231:12;;9066:183;-1:-1;;9066:183::o;9258:379::-;;9418:67;9482:2;9477:3;9418:67;:::i;:::-;9518:34;9498:55;;-1:-1;;;9582:2;9573:12;;9566:34;9628:2;9619:12;;9404:233;-1:-1;;9404:233::o;9646:375::-;;9806:67;9870:2;9865:3;9806:67;:::i;:::-;9906:34;9886:55;;-1:-1;;;9970:2;9961:12;;9954:30;10012:2;10003:12;;9792:229;-1:-1;;9792:229::o;10029:103::-;10102:24;10120:5;10102:24;:::i;10259:271::-;;10412:93;10501:3;10492:6;10412:93;:::i;10537:333::-;10692:2;10677:18;;10706:71;10681:9;10750:6;10706:71;:::i;:::-;10788:72;10856:2;10845:9;10841:18;10832:6;10788:72;:::i;10877:629::-;11132:2;11146:47;;;11117:18;;11207:108;11117:18;11301:6;11207:108;:::i;:::-;11199:116;;11363:9;11357:4;11353:20;11348:2;11337:9;11333:18;11326:48;11388:108;11491:4;11482:6;11388:108;:::i;11513:306::-;11658:2;11672:47;;;11643:18;;11733:76;11643:18;11795:6;11733:76;:::i;11826:252::-;11968:2;11953:18;;11982:86;11957:9;12041:6;11982:86;:::i;12402:416::-;12602:2;12616:47;;;12587:18;;12677:131;12587:18;12677:131;:::i;12825:416::-;13025:2;13039:47;;;13010:18;;13100:131;13010:18;13100:131;:::i;13248:416::-;13448:2;13462:47;;;13433:18;;13523:131;13433:18;13523:131;:::i;13671:416::-;13871:2;13885:47;;;13856:18;;13946:131;13856:18;13946:131;:::i;14094:416::-;14294:2;14308:47;;;14279:18;;14369:131;14279:18;14369:131;:::i;14517:416::-;14717:2;14731:47;;;14702:18;;14792:131;14702:18;14792:131;:::i;14940:222::-;15067:2;15052:18;;15081:71;15056:9;15125:6;15081:71;:::i;15169:256::-;15231:2;15225:9;15257:17;;;15332:18;15317:34;;15353:22;;;15314:62;15311:2;;;15389:1;15386;15379:12;15311:2;15405;15398:22;15209:216;;-1:-1;15209:216::o;15432:313::-;;15600:18;15592:6;15589:30;15586:2;;;15632:1;15629;15622:12;15586:2;-1:-1;15667:4;15655:17;;;15720:15;;15523:222::o;15752:321::-;;15895:18;15887:6;15884:30;15881:2;;;15927:1;15924;15917:12;15881:2;-1:-1;16058:4;15994;15971:17;;;;-1:-1;;15967:33;16048:15;;15818:255::o;16080:151::-;16204:4;16195:14;;16152:79::o;16396:137::-;16499:12;;16470:63::o;17172:178::-;17290:19;;;17339:4;17330:14;;17283:67::o;17717:144::-;17852:3;17830:31;-1:-1;17830:31::o;18041:91::-;;18103:24;18121:5;18103:24;:::i;18245:85::-;18311:13;18304:21;;18287:43::o;18337:121::-;-1:-1;;;;;18399:54;;18382:76::o;18465:72::-;18527:5;18510:27::o;18544:151::-;;18638:52;18684:5;18638:52;:::i;18833:145::-;18914:6;18909:3;18904;18891:30;-1:-1;18970:1;18952:16;;18945:27;18884:94::o;18987:268::-;19052:1;19059:101;19073:6;19070:1;19067:13;19059:101;;;19140:11;;;19134:18;19121:11;;;19114:39;19095:2;19088:10;19059:101;;;19175:6;19172:1;19169:13;19166:2;;;-1:-1;;19240:1;19222:16;;19215:27;19036:219::o;19263:97::-;19351:2;19331:14;-1:-1;;19327:28;;19311:49::o;19368:133::-;19445:32;19471:5;19445:32;:::i;:::-;19438:5;19435:43;19425:2;;19492:1;19489;19482:12;19508:111;19574:21;19589:5;19574:21;:::i;19626:113::-;19714:1;19707:5;19704:12;19694:2;;19730:1;19727;19720:12;19746:117;19815:24;19833:5;19815:24;:::i", - "linkReferences": {}, - "immutableReferences": { - "25488": [ - { - "start": 261, - "length": 32 - }, - { - "start": 388, - "length": 32 - }, - { - "start": 804, - "length": 32 - }, - { - "start": 1623, - "length": 32 - }, - { - "start": 1749, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "ETH_AMOUNT_PER_NODE()": "56e277f0", - "WETH_TOKEN()": "37d277d4", - "getDebtAssets()": "ecd658b4", - "getManagedAssets()": "80daddb8", - "getValidatorCount()": "7071688a", - "init(bytes)": "4ddf47d4", - "receiveCallFromVault(bytes)": "e5c23a97" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_wethToken\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"stakingContractAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"validatorAmount\",\"type\":\"uint256\"}],\"name\":\"ValidatorsAdded\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"ETH_AMOUNT_PER_NODE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"WETH_TOKEN\",\"outputs\":[{\"internalType\":\"contract IWETH\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDebtAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"assets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getManagedAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"assets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getValidatorCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"validatorCount_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"}],\"name\":\"receiveCallFromVault\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"getDebtAssets()\":{\"returns\":{\"amounts_\":\"Debt asset amounts\",\"assets_\":\"Debt assets\"}},\"getManagedAssets()\":{\"returns\":{\"amounts_\":\"Managed asset amounts\",\"assets_\":\"Managed assets\"}},\"getValidatorCount()\":{\"returns\":{\"validatorCount_\":\"The total amount of validators\"}},\"init(bytes)\":{\"details\":\"Nothing to initialize for this contract\"},\"receiveCallFromVault(bytes)\":{\"params\":{\"_actionData\":\"Encoded data to execute the action\"}}},\"title\":\"KilnStakingPositionLib Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getDebtAssets()\":{\"notice\":\"Retrieves the debt assets (negative value) of the external position\"},\"getManagedAssets()\":{\"notice\":\"Retrieves the managed assets (positive value) of the external position\"},\"getValidatorCount()\":{\"notice\":\"Gets the current amount of validators used by the external position\"},\"init(bytes)\":{\"notice\":\"Initializes the external position\"},\"receiveCallFromVault(bytes)\":{\"notice\":\"Receives and executes a call from the Vault\"}},\"notice\":\"An External Position library contract for Kiln Staking Positions\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/kiln-staking/KilnStakingPositionLib.sol\":\"KilnStakingPositionLib\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/persistent/external-positions/kiln-staking/KilnStakingPositionLibBase1.sol\":{\"keccak256\":\"0x27bb9ebec69727418977e7c56fb2ff95c2d911fe7b13c530825364d5b4a97cff\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://896ac8397161f4f04deec4b54fdef7e835b622602812720d646bab70c09abb7d\",\"dweb:/ipfs/QmazeandAhRnqbxwbRRSrGXvNFsq3B57NkFXW5tx96Bf9g\"]},\"contracts/release/extensions/external-position-manager/external-positions/kiln-staking/IKilnStakingPosition.sol\":{\"keccak256\":\"0x9facf417e97f2d726add64ee197cdba0dffb97f5a2806039efb6c5ee86721083\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6071ecdb5de558d450b56be1b578b4d5938753fa256d61772310ed9700af6aa4\",\"dweb:/ipfs/QmYe2BstewfYqFosCNsrtzo1ctF3hmheb8NyM6A3SsN3y5\"]},\"contracts/release/extensions/external-position-manager/external-positions/kiln-staking/KilnStakingPositionDataDecoder.sol\":{\"keccak256\":\"0x558647201f7b6e4cc86493a965898adffbe012221e252b5cfc177065847d744a\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://df1beacc102597c734883b1744c157ea9391197797a98fb0f96cf4a16b01c6be\",\"dweb:/ipfs/QmTU5m4shGWdoAqj7F1zHTdctAHwmjMT29agoS6PqTtwxo\"]},\"contracts/release/extensions/external-position-manager/external-positions/kiln-staking/KilnStakingPositionLib.sol\":{\"keccak256\":\"0x3936168f94f59ed934b49b74cb76452dc9bde3f40b60ca8531e8ff90f6a9480a\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://516415f91f7b852cf795743f3631ba218a7b4bd5cc888944b750016b0ab3a89f\",\"dweb:/ipfs/QmZj577FikmuSyqMu6RbhqrxttJdWXejM2KgH7vh2mNfTh\"]},\"contracts/release/interfaces/IKilnStakingContract.sol\":{\"keccak256\":\"0x6a8db9fe50daa7b148422a0ce3cecfa91918a0a089fa9c8a90e883e1a06aca96\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d64bc97472ac5fa432c715d0a25a0d12265bba0d996a153c7c8125484d73c484\",\"dweb:/ipfs/QmaXZa1sJhKM3JMJBYHnk9mAm3rqbU3UH1c1U9Rvsfbvfp\"]},\"contracts/release/interfaces/IWETH.sol\":{\"keccak256\":\"0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2\",\"dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_wethToken", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "stakingContractAddress", - "type": "address", - "indexed": false - }, - { - "internalType": "uint256", - "name": "validatorAmount", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "ValidatorsAdded", - "anonymous": false - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "ETH_AMOUNT_PER_NODE", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "WETH_TOKEN", - "outputs": [ - { - "internalType": "contract IWETH", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "getDebtAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "assets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "amounts_", - "type": "uint256[]" - } - ] - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "getManagedAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "assets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "amounts_", - "type": "uint256[]" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getValidatorCount", - "outputs": [ - { - "internalType": "uint256", - "name": "validatorCount_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "init" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "receiveCallFromVault" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "getDebtAssets()": { - "returns": { - "amounts_": "Debt asset amounts", - "assets_": "Debt assets" - } - }, - "getManagedAssets()": { - "returns": { - "amounts_": "Managed asset amounts", - "assets_": "Managed assets" - } - }, - "getValidatorCount()": { - "returns": { - "validatorCount_": "The total amount of validators" - } - }, - "init(bytes)": { - "details": "Nothing to initialize for this contract" - }, - "receiveCallFromVault(bytes)": { - "params": { - "_actionData": "Encoded data to execute the action" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "getDebtAssets()": { - "notice": "Retrieves the debt assets (negative value) of the external position" - }, - "getManagedAssets()": { - "notice": "Retrieves the managed assets (positive value) of the external position" - }, - "getValidatorCount()": { - "notice": "Gets the current amount of validators used by the external position" - }, - "init(bytes)": { - "notice": "Initializes the external position" - }, - "receiveCallFromVault(bytes)": { - "notice": "Receives and executes a call from the Vault" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/external-position-manager/external-positions/kiln-staking/KilnStakingPositionLib.sol": "KilnStakingPositionLib" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/external-positions/IExternalPosition.sol": { - "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", - "urls": [ - "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", - "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/external-positions/kiln-staking/KilnStakingPositionLibBase1.sol": { - "keccak256": "0x27bb9ebec69727418977e7c56fb2ff95c2d911fe7b13c530825364d5b4a97cff", - "urls": [ - "bzz-raw://896ac8397161f4f04deec4b54fdef7e835b622602812720d646bab70c09abb7d", - "dweb:/ipfs/QmazeandAhRnqbxwbRRSrGXvNFsq3B57NkFXW5tx96Bf9g" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/kiln-staking/IKilnStakingPosition.sol": { - "keccak256": "0x9facf417e97f2d726add64ee197cdba0dffb97f5a2806039efb6c5ee86721083", - "urls": [ - "bzz-raw://6071ecdb5de558d450b56be1b578b4d5938753fa256d61772310ed9700af6aa4", - "dweb:/ipfs/QmYe2BstewfYqFosCNsrtzo1ctF3hmheb8NyM6A3SsN3y5" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/kiln-staking/KilnStakingPositionDataDecoder.sol": { - "keccak256": "0x558647201f7b6e4cc86493a965898adffbe012221e252b5cfc177065847d744a", - "urls": [ - "bzz-raw://df1beacc102597c734883b1744c157ea9391197797a98fb0f96cf4a16b01c6be", - "dweb:/ipfs/QmTU5m4shGWdoAqj7F1zHTdctAHwmjMT29agoS6PqTtwxo" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/kiln-staking/KilnStakingPositionLib.sol": { - "keccak256": "0x3936168f94f59ed934b49b74cb76452dc9bde3f40b60ca8531e8ff90f6a9480a", - "urls": [ - "bzz-raw://516415f91f7b852cf795743f3631ba218a7b4bd5cc888944b750016b0ab3a89f", - "dweb:/ipfs/QmZj577FikmuSyqMu6RbhqrxttJdWXejM2KgH7vh2mNfTh" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IKilnStakingContract.sol": { - "keccak256": "0x6a8db9fe50daa7b148422a0ce3cecfa91918a0a089fa9c8a90e883e1a06aca96", - "urls": [ - "bzz-raw://d64bc97472ac5fa432c715d0a25a0d12265bba0d996a153c7c8125484d73c484", - "dweb:/ipfs/QmaXZa1sJhKM3JMJBYHnk9mAm3rqbU3UH1c1U9Rvsfbvfp" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IWETH.sol": { - "keccak256": "0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2", - "urls": [ - "bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2", - "dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { - "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", - "urls": [ - "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", - "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Address.sol": { - "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", - "urls": [ - "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", - "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 108 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_wethToken", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "ETH_AMOUNT_PER_NODE", "inputs": [], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "WETH_TOKEN", "inputs": [], "outputs": [ { "name": "", "type": "address", "internalType": "contract IWETH" } ], "stateMutability": "view" }, { "type": "function", "name": "getDebtAssets", "inputs": [], "outputs": [ { "name": "assets_", "type": "address[]", "internalType": "address[]" }, { "name": "amounts_", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "getManagedAssets", "inputs": [], "outputs": [ { "name": "assets_", "type": "address[]", "internalType": "address[]" }, { "name": "amounts_", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "getValidatorCount", "inputs": [], "outputs": [ { "name": "validatorCount_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "init", "inputs": [ { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "receiveCallFromVault", "inputs": [ { "name": "_actionData", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "event", "name": "ValidatorsAdded", "inputs": [ { "name": "stakingContractAddress", "type": "address", "indexed": false, "internalType": "address" }, { "name": "validatorAmount", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false } ], "bytecode": { "object": "0x60a060405234801561001057600080fd5b5060405161117038038061117083398101604081905261002f91610055565b60601b6001600160601b0319166080526100a3565b805161004f8161008c565b92915050565b60006020828403121561006757600080fd5b60006100738484610044565b949350505050565b60006001600160a01b03821661004f565b6100958161007b565b81146100a057600080fd5b50565b60805160601c61109c6100d46000398061010552806101845280610324528061065752806106d5525061109c6000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c80637071688a1161005b5780637071688a146100ca57806380daddb8146100d2578063e5c23a97146100e8578063ecd658b4146100fb5761007d565b806337d277d4146100825780634ddf47d4146100a057806356e277f0146100b5575b600080fd5b61008a610103565b6040516100979190610eec565b60405180910390f35b6100b36100ae366004610b32565b610127565b005b6100bd61012a565b6040516100979190610f5a565b6100bd610137565b6100da61013d565b604051610097929190610eb6565b6100b36100f6366004610b32565b610215565b6100da61026d565b7f000000000000000000000000000000000000000000000000000000000000000081565b50565b6801bc16d674ec80000081565b60005490565b6040805160018082528183019092526060918291906020808301908036833750506040805160018082528183019092529294509050602080830190803683370190505090507f0000000000000000000000000000000000000000000000000000000000000000826000815181106101b057fe5b60200260200101906001600160a01b031690816001600160a01b0316815250506101f8476101f26801bc16d674ec80000060005461027390919063ffffffff16565b906102bf565b8160008151811061020557fe5b6020026020010181815250509091565b600060608280602001905181019061022d9190610b67565b90925090508161024557610240816102e4565b610268565b60018214156102575761024081610437565b600282141561026857610268610650565b505050565b60608091565b600082610282575060006102b9565b8282028284828161028f57fe5b04146102b65760405162461bcd60e51b81526004016102ad90610f1a565b60405180910390fd5b90505b92915050565b6000828201838110156102b65760405162461bcd60e51b81526004016102ad90610efa565b6000806102f083610700565b9092509050600061030a826801bc16d674ec800000610273565b604051632e1a7d4d60e01b81529091506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690632e1a7d4d90610359908490600401610f5a565b600060405180830381600087803b15801561037357600080fd5b505af1158015610387573d6000803e3d6000fd5b50505050826001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b1580156103c657600080fd5b505af11580156103da573d6000803e3d6000fd5b50505050506103f4826000546102bf90919063ffffffff16565b6000556040517f68c3ce677c367b7afcaf3a43fd233dbbffb64c69fa9d55962079ad6d3dd93ce8906104299085908590610e9b565b60405180910390a150505050565b60006060600061044684610720565b91945092509050600081600281111561045b57fe5b14156104f05760005b82518110156104ea57836001600160a01b031663bf509bd484838151811061048857fe5b60200260200101516040518263ffffffff1660e01b81526004016104ac9190610edb565b600060405180830381600087803b1580156104c657600080fd5b505af11580156104da573d6000803e3d6000fd5b5050600190920191506104649050565b50610642565b60018160028111156104fe57fe5b141561058d5760005b82518110156104ea57836001600160a01b0316632ba03a7984838151811061052b57fe5b60200260200101516040518263ffffffff1660e01b815260040161054f9190610edb565b600060405180830381600087803b15801561056957600080fd5b505af115801561057d573d6000803e3d6000fd5b5050600190920191506105079050565b600281600281111561059b57fe5b141561062a5760005b82518110156104ea57836001600160a01b0316630968f2648483815181106105c857fe5b60200260200101516040518263ffffffff1660e01b81526004016105ec9190610edb565b600060405180830381600087803b15801561060657600080fd5b505af115801561061a573d6000803e3d6000fd5b5050600190920191506105a49050565b60405162461bcd60e51b81526004016102ad90610f4a565b61064a610650565b50505050565b60004790507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b1580156106b057600080fd5b505af11580156106c4573d6000803e3d6000fd5b506101279350506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016915033905083610747565b600080828060200190518101906107179190610ad2565b91509150915091565b6000606060008380602001905181019061073a9190610a6d565b9250925092509193909250565b6102688363a9059cbb60e01b8484604051602401610766929190610e9b565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915260606107ed826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166108279092919063ffffffff16565b805190915015610268578080602001905181019061080b9190610b0c565b6102685760405162461bcd60e51b81526004016102ad90610f3a565b60606108368484600085610840565b90505b9392505050565b6060824710156108625760405162461bcd60e51b81526004016102ad90610f0a565b61086b85610901565b6108875760405162461bcd60e51b81526004016102ad90610f2a565b60006060866001600160a01b031685876040516108a49190610e8f565b60006040518083038185875af1925050503d80600081146108e1576040519150601f19603f3d011682016040523d82523d6000602084013e6108e6565b606091505b50915091506108f6828286610907565b979650505050505050565b3b151590565b60608315610916575081610839565b8251156109265782518084602001fd5b8160405162461bcd60e51b81526004016102ad9190610edb565b80516102b98161105c565b600082601f83011261095c57600080fd5b815161096f61096a82610f8f565b610f68565b81815260209384019390925082018360005b838110156109ad57815186016109978882610a11565b8452506020928301929190910190600101610981565b5050505092915050565b80516102b981611070565b600082601f8301126109d357600080fd5b81356109e161096a82610fb0565b915080825260208301602083018583830111156109fd57600080fd5b610a0883828461101a565b50505092915050565b600082601f830112610a2257600080fd5b8151610a3061096a82610fb0565b91508082526020830160208301858383011115610a4c57600080fd5b610a08838284611026565b80516102b981611079565b80516102b981611086565b600080600060608486031215610a8257600080fd5b6000610a8e8686610940565b935050602084015167ffffffffffffffff811115610aab57600080fd5b610ab78682870161094b565b9250506040610ac886828701610a57565b9150509250925092565b60008060408385031215610ae557600080fd5b6000610af18585610940565b9250506020610b0285828601610a62565b9150509250929050565b600060208284031215610b1e57600080fd5b6000610b2a84846109b7565b949350505050565b600060208284031215610b4457600080fd5b813567ffffffffffffffff811115610b5b57600080fd5b610b2a848285016109c2565b60008060408385031215610b7a57600080fd5b6000610b868585610a62565b925050602083015167ffffffffffffffff811115610ba357600080fd5b610b0285828601610a11565b6000610bbb8383610bcf565b505060200190565b6000610bbb8383610e86565b610bd881610ff0565b82525050565b6000610be982610fde565b610bf38185610fe2565b9350610bfe83610fd8565b8060005b83811015610c2c578151610c168882610baf565b9750610c2183610fd8565b925050600101610c02565b509495945050505050565b6000610c4282610fde565b610c4c8185610fe2565b9350610c5783610fd8565b8060005b83811015610c2c578151610c6f8882610bc3565b9750610c7a83610fd8565b925050600101610c5b565b6000610c9082610fde565b610c9a8185610fe2565b9350610caa818560208601611026565b610cb381611052565b9093019392505050565b6000610cc882610fde565b610cd28185610feb565b9350610ce2818560208601611026565b9290920192915050565b610bd88161100f565b6000610d02601b83610fe2565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000610d3b602683610fe2565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f8152651c8818d85b1b60d21b602082015260400192915050565b6000610d83602183610fe2565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000610dc6601d83610fe2565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000815260200192915050565b6000610dff602a83610fe2565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e8152691bdd081cdd58d8d9595960b21b602082015260400192915050565b6000610e4b602683610fe2565b7f5f5f636c61696d466565733a20556e737570706f7274656420636c61696d466581526565207479706560d01b602082015260400192915050565b610bd88161100c565b60006108398284610cbd565b60408101610ea98285610bcf565b6108396020830184610e86565b60408082528101610ec78185610bde565b905081810360208301526108368184610c37565b602080825281016108398184610c85565b602081016102b98284610cec565b602080825281016102b981610cf5565b602080825281016102b981610d2e565b602080825281016102b981610d76565b602080825281016102b981610db9565b602080825281016102b981610df2565b602080825281016102b981610e3e565b602081016102b98284610e86565b60405181810167ffffffffffffffff81118282101715610f8757600080fd5b604052919050565b600067ffffffffffffffff821115610fa657600080fd5b5060209081020190565b600067ffffffffffffffff821115610fc757600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b919050565b60006102b982611000565b151590565b6001600160a01b031690565b90565b60006102b982610ff0565b82818337506000910152565b60005b83811015611041578181015183820152602001611029565b8381111561064a5750506000910152565b601f01601f191690565b61106581610ff0565b811461012757600080fd5b61106581610ffb565b6003811061012757600080fd5b6110658161100c56fea164736f6c634300060c000a", "sourceMap": "939:4394:108:-:0;;;1239:86;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1288:30;;-1:-1:-1;;;;;;1288:30:108;;;939:4394;;5:134:-1;83:13;;101:33;83:13;101:33;:::i;:::-;68:71;;;;:::o;146:263::-;;261:2;249:9;240:7;236:23;232:32;229:2;;;277:1;274;267:12;229:2;312:1;329:64;385:7;365:9;329:64;:::i;:::-;319:74;223:186;-1:-1;;;;223:186::o;416:91::-;;-1:-1;;;;;576:54;;478:24;559:76::o;642:117::-;711:24;729:5;711:24;:::i;:::-;704:5;701:35;691:2;;750:1;747;740:12;691:2;685:74;:::o;:::-;939:4394:108;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b506004361061007d5760003560e01c80637071688a1161005b5780637071688a146100ca57806380daddb8146100d2578063e5c23a97146100e8578063ecd658b4146100fb5761007d565b806337d277d4146100825780634ddf47d4146100a057806356e277f0146100b5575b600080fd5b61008a610103565b6040516100979190610eec565b60405180910390f35b6100b36100ae366004610b32565b610127565b005b6100bd61012a565b6040516100979190610f5a565b6100bd610137565b6100da61013d565b604051610097929190610eb6565b6100b36100f6366004610b32565b610215565b6100da61026d565b7f000000000000000000000000000000000000000000000000000000000000000081565b50565b6801bc16d674ec80000081565b60005490565b6040805160018082528183019092526060918291906020808301908036833750506040805160018082528183019092529294509050602080830190803683370190505090507f0000000000000000000000000000000000000000000000000000000000000000826000815181106101b057fe5b60200260200101906001600160a01b031690816001600160a01b0316815250506101f8476101f26801bc16d674ec80000060005461027390919063ffffffff16565b906102bf565b8160008151811061020557fe5b6020026020010181815250509091565b600060608280602001905181019061022d9190610b67565b90925090508161024557610240816102e4565b610268565b60018214156102575761024081610437565b600282141561026857610268610650565b505050565b60608091565b600082610282575060006102b9565b8282028284828161028f57fe5b04146102b65760405162461bcd60e51b81526004016102ad90610f1a565b60405180910390fd5b90505b92915050565b6000828201838110156102b65760405162461bcd60e51b81526004016102ad90610efa565b6000806102f083610700565b9092509050600061030a826801bc16d674ec800000610273565b604051632e1a7d4d60e01b81529091506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690632e1a7d4d90610359908490600401610f5a565b600060405180830381600087803b15801561037357600080fd5b505af1158015610387573d6000803e3d6000fd5b50505050826001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b1580156103c657600080fd5b505af11580156103da573d6000803e3d6000fd5b50505050506103f4826000546102bf90919063ffffffff16565b6000556040517f68c3ce677c367b7afcaf3a43fd233dbbffb64c69fa9d55962079ad6d3dd93ce8906104299085908590610e9b565b60405180910390a150505050565b60006060600061044684610720565b91945092509050600081600281111561045b57fe5b14156104f05760005b82518110156104ea57836001600160a01b031663bf509bd484838151811061048857fe5b60200260200101516040518263ffffffff1660e01b81526004016104ac9190610edb565b600060405180830381600087803b1580156104c657600080fd5b505af11580156104da573d6000803e3d6000fd5b5050600190920191506104649050565b50610642565b60018160028111156104fe57fe5b141561058d5760005b82518110156104ea57836001600160a01b0316632ba03a7984838151811061052b57fe5b60200260200101516040518263ffffffff1660e01b815260040161054f9190610edb565b600060405180830381600087803b15801561056957600080fd5b505af115801561057d573d6000803e3d6000fd5b5050600190920191506105079050565b600281600281111561059b57fe5b141561062a5760005b82518110156104ea57836001600160a01b0316630968f2648483815181106105c857fe5b60200260200101516040518263ffffffff1660e01b81526004016105ec9190610edb565b600060405180830381600087803b15801561060657600080fd5b505af115801561061a573d6000803e3d6000fd5b5050600190920191506105a49050565b60405162461bcd60e51b81526004016102ad90610f4a565b61064a610650565b50505050565b60004790507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b1580156106b057600080fd5b505af11580156106c4573d6000803e3d6000fd5b506101279350506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016915033905083610747565b600080828060200190518101906107179190610ad2565b91509150915091565b6000606060008380602001905181019061073a9190610a6d565b9250925092509193909250565b6102688363a9059cbb60e01b8484604051602401610766929190610e9b565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915260606107ed826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166108279092919063ffffffff16565b805190915015610268578080602001905181019061080b9190610b0c565b6102685760405162461bcd60e51b81526004016102ad90610f3a565b60606108368484600085610840565b90505b9392505050565b6060824710156108625760405162461bcd60e51b81526004016102ad90610f0a565b61086b85610901565b6108875760405162461bcd60e51b81526004016102ad90610f2a565b60006060866001600160a01b031685876040516108a49190610e8f565b60006040518083038185875af1925050503d80600081146108e1576040519150601f19603f3d011682016040523d82523d6000602084013e6108e6565b606091505b50915091506108f6828286610907565b979650505050505050565b3b151590565b60608315610916575081610839565b8251156109265782518084602001fd5b8160405162461bcd60e51b81526004016102ad9190610edb565b80516102b98161105c565b600082601f83011261095c57600080fd5b815161096f61096a82610f8f565b610f68565b81815260209384019390925082018360005b838110156109ad57815186016109978882610a11565b8452506020928301929190910190600101610981565b5050505092915050565b80516102b981611070565b600082601f8301126109d357600080fd5b81356109e161096a82610fb0565b915080825260208301602083018583830111156109fd57600080fd5b610a0883828461101a565b50505092915050565b600082601f830112610a2257600080fd5b8151610a3061096a82610fb0565b91508082526020830160208301858383011115610a4c57600080fd5b610a08838284611026565b80516102b981611079565b80516102b981611086565b600080600060608486031215610a8257600080fd5b6000610a8e8686610940565b935050602084015167ffffffffffffffff811115610aab57600080fd5b610ab78682870161094b565b9250506040610ac886828701610a57565b9150509250925092565b60008060408385031215610ae557600080fd5b6000610af18585610940565b9250506020610b0285828601610a62565b9150509250929050565b600060208284031215610b1e57600080fd5b6000610b2a84846109b7565b949350505050565b600060208284031215610b4457600080fd5b813567ffffffffffffffff811115610b5b57600080fd5b610b2a848285016109c2565b60008060408385031215610b7a57600080fd5b6000610b868585610a62565b925050602083015167ffffffffffffffff811115610ba357600080fd5b610b0285828601610a11565b6000610bbb8383610bcf565b505060200190565b6000610bbb8383610e86565b610bd881610ff0565b82525050565b6000610be982610fde565b610bf38185610fe2565b9350610bfe83610fd8565b8060005b83811015610c2c578151610c168882610baf565b9750610c2183610fd8565b925050600101610c02565b509495945050505050565b6000610c4282610fde565b610c4c8185610fe2565b9350610c5783610fd8565b8060005b83811015610c2c578151610c6f8882610bc3565b9750610c7a83610fd8565b925050600101610c5b565b6000610c9082610fde565b610c9a8185610fe2565b9350610caa818560208601611026565b610cb381611052565b9093019392505050565b6000610cc882610fde565b610cd28185610feb565b9350610ce2818560208601611026565b9290920192915050565b610bd88161100f565b6000610d02601b83610fe2565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000610d3b602683610fe2565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f8152651c8818d85b1b60d21b602082015260400192915050565b6000610d83602183610fe2565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000610dc6601d83610fe2565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000815260200192915050565b6000610dff602a83610fe2565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e8152691bdd081cdd58d8d9595960b21b602082015260400192915050565b6000610e4b602683610fe2565b7f5f5f636c61696d466565733a20556e737570706f7274656420636c61696d466581526565207479706560d01b602082015260400192915050565b610bd88161100c565b60006108398284610cbd565b60408101610ea98285610bcf565b6108396020830184610e86565b60408082528101610ec78185610bde565b905081810360208301526108368184610c37565b602080825281016108398184610c85565b602081016102b98284610cec565b602080825281016102b981610cf5565b602080825281016102b981610d2e565b602080825281016102b981610d76565b602080825281016102b981610db9565b602080825281016102b981610df2565b602080825281016102b981610e3e565b602081016102b98284610e86565b60405181810167ffffffffffffffff81118282101715610f8757600080fd5b604052919050565b600067ffffffffffffffff821115610fa657600080fd5b5060209081020190565b600067ffffffffffffffff821115610fc757600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b919050565b60006102b982611000565b151590565b6001600160a01b031690565b90565b60006102b982610ff0565b82818337506000910152565b60005b83811015611041578181015183820152602001611029565b8381111561064a5750506000910152565b601f01601f191690565b61106581610ff0565b811461012757600080fd5b61106581610ffb565b6003811061012757600080fd5b6110658161100c56fea164736f6c634300060c000a", "sourceMap": "939:4394:108:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1199:33;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1434:48;;;;;;:::i;:::-;;:::i;:::-;;1138:54;;;:::i;:::-;;;;;;;:::i;5218:113::-;;;:::i;4641:351::-;;;:::i;:::-;;;;;;;;:::i;1610:462::-;;;;;;:::i;:::-;;:::i;4286:176::-;;;:::i;1199:33::-;;;:::o;1434:48::-;;:::o;1138:54::-;1184:8;1138:54;:::o;5218:113::-;5268:23;5310:14;5218:113;:::o;4641:351::-;4797:16;;;4811:1;4797:16;;;;;;;;;4720:24;;;;4797:16;;;;;;;;;;-1:-1:-1;;4834:16:108;;;4848:1;4834:16;;;;;;;;;4787:26;;-1:-1:-1;4848:1:108;-1:-1:-1;4834:16:108;;;;;;;;;;;-1:-1:-1;4834:16:108;4823:27;;4882:10;4861:7;4869:1;4861:10;;;;;;;;;;;;;:32;-1:-1:-1;;;;;4861:32:108;;;-1:-1:-1;;;;;4861:32:108;;;;;4917:68;4963:21;4918:39;1184:8;4918:14;;:18;;:39;;;;:::i;:::-;4917:45;;:68::i;:::-;4903:8;4912:1;4903:11;;;;;;;;;;;;;:82;;;;;4641:351;;:::o;1610:462::-;1695:16;1713:23;1751:11;1740:41;;;;;;;;;;;;:::i;:::-;1694:87;;-1:-1:-1;1694:87:108;-1:-1:-1;1796:34:108;1792:274;;1846:19;1854:10;1846:7;:19::i;:::-;1792:274;;;1906:17;1886:8;:38;1882:184;;;1940:23;1952:10;1940:11;:23::i;1882:184::-;2004:19;1984:8;:40;1980:86;;;2040:15;:13;:15::i;:::-;1610:462;;;:::o;4286:176::-;4362:24;4388:25;4286:176;:::o;3538:215:442:-;3596:7;3619:6;3615:20;;-1:-1:-1;3634:1:442;3627:8;;3615:20;3657:5;;;3661:1;3657;:5;:1;3680:5;;;;;:10;3672:56;;;;-1:-1:-1;;;3672:56:442;;;;;;;:::i;:::-;;;;;;;;;3745:1;-1:-1:-1;3538:215:442;;;;;:::o;2690:175::-;2748:7;2779:5;;;2802:6;;;;2794:46;;;;-1:-1:-1;;;2794:46:442;;;;;;;:::i;3243:525:108:-;3305:30;3337:23;3364:58;3401:11;3364:23;:58::i;:::-;3304:118;;-1:-1:-1;3304:118:108;-1:-1:-1;3433:20:108;3456:40;3304:118;1184:8;3456:19;:40::i;:::-;3507:33;;-1:-1:-1;;;3507:33:108;;3433:63;;-1:-1:-1;;;;;;3507:10:108;:19;;;;:33;;3433:63;;3507:33;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3572:22;-1:-1:-1;;;;;3551:52:108;;3611:12;3551:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3654:35;3673:15;3654:14;;:18;;:35;;;;:::i;:::-;3637:14;:52;3705:56;;;;;;3721:22;;3745:15;;3705:56;:::i;:::-;;;;;;;;3243:525;;;;:::o;2136:1052::-;2215:30;2259:25;2298:48;2359:36;2383:11;2359:23;:36::i;:::-;2201:194;;-1:-1:-1;2201:194:108;-1:-1:-1;2201:194:108;-1:-1:-1;2427:28:108;2410:13;:45;;;;;;;;;2406:750;;;2476:9;2471:150;2491:10;:17;2487:1;:21;2471:150;;;2554:22;-1:-1:-1;;;;;2533:58:108;;2592:10;2603:1;2592:13;;;;;;;;;;;;;;2533:73;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2510:3:108;;;;;-1:-1:-1;2471:150:108;;-1:-1:-1;2471:150:108;;;2406:750;;;2658:28;2641:13;:45;;;;;;;;;2637:519;;;2707:9;2702:150;2722:10;:17;2718:1;:21;2702:150;;;2785:22;-1:-1:-1;;;;;2764:58:108;;2823:10;2834:1;2823:13;;;;;;;;;;;;;;2764:73;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2741:3:108;;;;;-1:-1:-1;2702:150:108;;-1:-1:-1;2702:150:108;2637:519;2889:17;2872:13;:34;;;;;;;;;2868:288;;;2927:9;2922:145;2942:10;:17;2938:1;:21;2922:145;;;3005:22;-1:-1:-1;;;;;2984:53:108;;3038:10;3049:1;3038:13;;;;;;;;;;;;;;2984:68;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2961:3:108;;;;;-1:-1:-1;2922:145:108;;-1:-1:-1;2922:145:108;2868:288;3097:48;;-1:-1:-1;;;3097:48:108;;;;;;;:::i;2868:288::-;3166:15;:13;:15::i;:::-;2136:1052;;;;:::o;3836:204::-;3879:14;3896:21;3879:38;;3928:10;-1:-1:-1;;;;;3928:18:108;;3954:6;3928:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3974:59:108;;-1:-1:-1;;;;;;;3988:10:108;3974:39;;-1:-1:-1;4014:10:108;;-1:-1:-1;4026:6:108;3974:39;:59::i;1037:236:107:-;1143:31;1176:24;1234:11;1223:43;;;;;;;;;;;;:::i;:::-;1216:50;;;;1037:236;;;:::o;598:369::-;717:31;762:26;802:47;892:11;881:79;;;;;;;;;;;;:::i;:::-;874:86;;;;;;598:369;;;;;:::o;704:175:450:-;786:86;806:5;836:23;;;861:2;865:5;813:58;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;813:58:450;;;;;;;;;;;;;;-1:-1:-1;;;;;813:58:450;-1:-1:-1;;;;;;813:58:450;;;;;;;;;;3386:23;3412:69;3440:4;3412:69;;;;;;;;;;;;;;;;;3420:5;-1:-1:-1;;;;;3412:27:450;;;:69;;;;;:::i;:::-;3495:17;;3386:95;;-1:-1:-1;3495:21:450;3491:221;;3635:10;3624:30;;;;;;;;;;;;:::i;:::-;3616:85;;;;-1:-1:-1;;;3616:85:450;;;;;;;:::i;3581:193:451:-;3684:12;3715:52;3737:6;3745:4;3751:1;3754:12;3715:21;:52::i;:::-;3708:59;;3581:193;;;;;;:::o;4608:523::-;4735:12;4792:5;4767:21;:30;;4759:81;;;;-1:-1:-1;;;4759:81:451;;;;;;;:::i;:::-;4858:18;4869:6;4858:10;:18::i;:::-;4850:60;;;;-1:-1:-1;;;4850:60:451;;;;;;;:::i;:::-;4981:12;4995:23;5022:6;-1:-1:-1;;;;;5022:11:451;5042:5;5050:4;5022:33;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4980:75;;;;5072:52;5090:7;5099:10;5111:12;5072:17;:52::i;:::-;5065:59;4608:523;-1:-1:-1;;;;;;;4608:523:451:o;726:413::-;1086:20;1124:8;;;726:413::o;7091:725::-;7206:12;7234:7;7230:580;;;-1:-1:-1;7264:10:451;7257:17;;7230:580;7375:17;;:21;7371:429;;7633:10;7627:17;7693:15;7680:10;7676:2;7672:19;7665:44;7582:145;7772:12;7765:20;;-1:-1:-1;;;7765:20:451;;;;;;;;:::i;5:150:-1:-;91:13;;109:41;91:13;109:41;:::i;178:713::-;;315:3;308:4;300:6;296:17;292:27;282:2;;333:1;330;323:12;282:2;363:6;357:13;385:89;400:73;466:6;400:73;:::i;:::-;385:89;:::i;:::-;502:21;;;546:4;534:17;;;;376:98;;-1:-1;559:14;;534:17;654:1;639:246;664:6;661:1;658:13;639:246;;;740:3;734:10;726:6;722:23;764:57;817:3;805:10;764:57;:::i;:::-;752:70;;-1:-1;845:4;836:14;;;;864;;;;;686:1;679:9;639:246;;;643:14;275:616;;;;;;;:::o;899:128::-;974:13;;992:30;974:13;992:30;:::i;1035:440::-;;1136:3;1129:4;1121:6;1117:17;1113:27;1103:2;;1154:1;1151;1144:12;1103:2;1191:6;1178:20;1213:64;1228:48;1269:6;1228:48;:::i;1213:64::-;1204:73;;1297:6;1290:5;1283:21;1333:4;1325:6;1321:17;1366:4;1359:5;1355:16;1401:3;1392:6;1387:3;1383:16;1380:25;1377:2;;;1418:1;1415;1408:12;1377:2;1428:41;1462:6;1457:3;1452;1428:41;:::i;:::-;1096:379;;;;;;;:::o;1484:442::-;;1596:3;1589:4;1581:6;1577:17;1573:27;1563:2;;1614:1;1611;1604:12;1563:2;1644:6;1638:13;1666:64;1681:48;1722:6;1681:48;:::i;1666:64::-;1657:73;;1750:6;1743:5;1736:21;1786:4;1778:6;1774:17;1819:4;1812:5;1808:16;1854:3;1845:6;1840:3;1836:16;1833:25;1830:2;;;1871:1;1868;1861:12;1830:2;1881:39;1913:6;1908:3;1903;1881:39;:::i;1934:172::-;2031:13;;2049:52;2031:13;2049:52;:::i;2113:134::-;2191:13;;2209:33;2191:13;2209:33;:::i;2254:736::-;;;;2464:2;2452:9;2443:7;2439:23;2435:32;2432:2;;;2480:1;2477;2470:12;2432:2;2515:1;2532:72;2596:7;2576:9;2532:72;:::i;:::-;2522:82;;2494:116;2662:2;2651:9;2647:18;2641:25;2686:18;2678:6;2675:30;2672:2;;;2718:1;2715;2708:12;2672:2;2738:98;2828:7;2819:6;2808:9;2804:22;2738:98;:::i;:::-;2728:108;;2620:222;2873:2;2891:83;2966:7;2957:6;2946:9;2942:22;2891:83;:::i;:::-;2881:93;;2852:128;2426:564;;;;;:::o;2997:415::-;;;3137:2;3125:9;3116:7;3112:23;3108:32;3105:2;;;3153:1;3150;3143:12;3105:2;3188:1;3205:72;3269:7;3249:9;3205:72;:::i;:::-;3195:82;;3167:116;3314:2;3332:64;3388:7;3379:6;3368:9;3364:22;3332:64;:::i;:::-;3322:74;;3293:109;3099:313;;;;;:::o;3419:257::-;;3531:2;3519:9;3510:7;3506:23;3502:32;3499:2;;;3547:1;3544;3537:12;3499:2;3582:1;3599:61;3652:7;3632:9;3599:61;:::i;:::-;3589:71;3493:183;-1:-1;;;;3493:183::o;3683:345::-;;3796:2;3784:9;3775:7;3771:23;3767:32;3764:2;;;3812:1;3809;3802:12;3764:2;3847:31;;3898:18;3887:30;;3884:2;;;3930:1;3927;3920:12;3884:2;3950:62;4004:7;3995:6;3984:9;3980:22;3950:62;:::i;4035:496::-;;;4176:2;4164:9;4155:7;4151:23;4147:32;4144:2;;;4192:1;4189;4182:12;4144:2;4227:1;4244:64;4300:7;4280:9;4244:64;:::i;:::-;4234:74;;4206:108;4366:2;4355:9;4351:18;4345:25;4390:18;4382:6;4379:30;4376:2;;;4422:1;4419;4412:12;4376:2;4442:73;4507:7;4498:6;4487:9;4483:22;4442:73;:::i;4539:173::-;;4626:46;4668:3;4660:6;4626:46;:::i;:::-;-1:-1;;4701:4;4692:14;;4619:93::o;4721:173::-;;4808:46;4850:3;4842:6;4808:46;:::i;4902:103::-;4975:24;4993:5;4975:24;:::i;:::-;4970:3;4963:37;4957:48;;:::o;5163:690::-;;5308:54;5356:5;5308:54;:::i;:::-;5375:86;5454:6;5449:3;5375:86;:::i;:::-;5368:93;;5482:56;5532:5;5482:56;:::i;:::-;5558:7;5586:1;5571:260;5596:6;5593:1;5590:13;5571:260;;;5663:6;5657:13;5684:63;5743:3;5728:13;5684:63;:::i;:::-;5677:70;;5764:60;5817:6;5764:60;:::i;:::-;5754:70;-1:-1;;5618:1;5611:9;5571:260;;;-1:-1;5844:3;;5287:566;-1:-1;;;;;5287:566::o;5892:690::-;;6037:54;6085:5;6037:54;:::i;:::-;6104:86;6183:6;6178:3;6104:86;:::i;:::-;6097:93;;6211:56;6261:5;6211:56;:::i;:::-;6287:7;6315:1;6300:260;6325:6;6322:1;6319:13;6300:260;;;6392:6;6386:13;6413:63;6472:3;6457:13;6413:63;:::i;:::-;6406:70;;6493:60;6546:6;6493:60;:::i;:::-;6483:70;-1:-1;;6347:1;6340:9;6300:260;;6590:343;;6700:38;6732:5;6700:38;:::i;:::-;6750:70;6813:6;6808:3;6750:70;:::i;:::-;6743:77;;6825:52;6870:6;6865:3;6858:4;6851:5;6847:16;6825:52;:::i;:::-;6898:29;6920:6;6898:29;:::i;:::-;6889:39;;;;6680:253;-1:-1;;;6680:253::o;6940:356::-;;7068:38;7100:5;7068:38;:::i;:::-;7118:88;7199:6;7194:3;7118:88;:::i;:::-;7111:95;;7211:52;7256:6;7251:3;7244:4;7237:5;7233:16;7211:52;:::i;:::-;7275:16;;;;;7048:248;-1:-1;;7048:248::o;7303:156::-;7401:52;7447:5;7401:52;:::i;7821:327::-;;7981:67;8045:2;8040:3;7981:67;:::i;:::-;8081:29;8061:50;;8139:2;8130:12;;7967:181;-1:-1;;7967:181::o;8157:375::-;;8317:67;8381:2;8376:3;8317:67;:::i;:::-;8417:34;8397:55;;-1:-1;;;8481:2;8472:12;;8465:30;8523:2;8514:12;;8303:229;-1:-1;;8303:229::o;8541:370::-;;8701:67;8765:2;8760:3;8701:67;:::i;:::-;8801:34;8781:55;;-1:-1;;;8865:2;8856:12;;8849:25;8902:2;8893:12;;8687:224;-1:-1;;8687:224::o;8920:329::-;;9080:67;9144:2;9139:3;9080:67;:::i;:::-;9180:31;9160:52;;9240:2;9231:12;;9066:183;-1:-1;;9066:183::o;9258:379::-;;9418:67;9482:2;9477:3;9418:67;:::i;:::-;9518:34;9498:55;;-1:-1;;;9582:2;9573:12;;9566:34;9628:2;9619:12;;9404:233;-1:-1;;9404:233::o;9646:375::-;;9806:67;9870:2;9865:3;9806:67;:::i;:::-;9906:34;9886:55;;-1:-1;;;9970:2;9961:12;;9954:30;10012:2;10003:12;;9792:229;-1:-1;;9792:229::o;10029:103::-;10102:24;10120:5;10102:24;:::i;10259:271::-;;10412:93;10501:3;10492:6;10412:93;:::i;10537:333::-;10692:2;10677:18;;10706:71;10681:9;10750:6;10706:71;:::i;:::-;10788:72;10856:2;10845:9;10841:18;10832:6;10788:72;:::i;10877:629::-;11132:2;11146:47;;;11117:18;;11207:108;11117:18;11301:6;11207:108;:::i;:::-;11199:116;;11363:9;11357:4;11353:20;11348:2;11337:9;11333:18;11326:48;11388:108;11491:4;11482:6;11388:108;:::i;11513:306::-;11658:2;11672:47;;;11643:18;;11733:76;11643:18;11795:6;11733:76;:::i;11826:252::-;11968:2;11953:18;;11982:86;11957:9;12041:6;11982:86;:::i;12402:416::-;12602:2;12616:47;;;12587:18;;12677:131;12587:18;12677:131;:::i;12825:416::-;13025:2;13039:47;;;13010:18;;13100:131;13010:18;13100:131;:::i;13248:416::-;13448:2;13462:47;;;13433:18;;13523:131;13433:18;13523:131;:::i;13671:416::-;13871:2;13885:47;;;13856:18;;13946:131;13856:18;13946:131;:::i;14094:416::-;14294:2;14308:47;;;14279:18;;14369:131;14279:18;14369:131;:::i;14517:416::-;14717:2;14731:47;;;14702:18;;14792:131;14702:18;14792:131;:::i;14940:222::-;15067:2;15052:18;;15081:71;15056:9;15125:6;15081:71;:::i;15169:256::-;15231:2;15225:9;15257:17;;;15332:18;15317:34;;15353:22;;;15314:62;15311:2;;;15389:1;15386;15379:12;15311:2;15405;15398:22;15209:216;;-1:-1;15209:216::o;15432:313::-;;15600:18;15592:6;15589:30;15586:2;;;15632:1;15629;15622:12;15586:2;-1:-1;15667:4;15655:17;;;15720:15;;15523:222::o;15752:321::-;;15895:18;15887:6;15884:30;15881:2;;;15927:1;15924;15917:12;15881:2;-1:-1;16058:4;15994;15971:17;;;;-1:-1;;15967:33;16048:15;;15818:255::o;16080:151::-;16204:4;16195:14;;16152:79::o;16396:137::-;16499:12;;16470:63::o;17172:178::-;17290:19;;;17339:4;17330:14;;17283:67::o;17717:144::-;17852:3;17830:31;-1:-1;17830:31::o;18041:91::-;;18103:24;18121:5;18103:24;:::i;18245:85::-;18311:13;18304:21;;18287:43::o;18337:121::-;-1:-1;;;;;18399:54;;18382:76::o;18465:72::-;18527:5;18510:27::o;18544:151::-;;18638:52;18684:5;18638:52;:::i;18833:145::-;18914:6;18909:3;18904;18891:30;-1:-1;18970:1;18952:16;;18945:27;18884:94::o;18987:268::-;19052:1;19059:101;19073:6;19070:1;19067:13;19059:101;;;19140:11;;;19134:18;19121:11;;;19114:39;19095:2;19088:10;19059:101;;;19175:6;19172:1;19169:13;19166:2;;;-1:-1;;19240:1;19222:16;;19215:27;19036:219::o;19263:97::-;19351:2;19331:14;-1:-1;;19327:28;;19311:49::o;19368:133::-;19445:32;19471:5;19445:32;:::i;:::-;19438:5;19435:43;19425:2;;19492:1;19489;19482:12;19508:111;19574:21;19589:5;19574:21;:::i;19626:113::-;19714:1;19707:5;19704:12;19694:2;;19730:1;19727;19720:12;19746:117;19815:24;19833:5;19815:24;:::i", "linkReferences": {}, "immutableReferences": { "25488": [ { "start": 261, "length": 32 }, { "start": 388, "length": 32 }, { "start": 804, "length": 32 }, { "start": 1623, "length": 32 }, { "start": 1749, "length": 32 } ] } }, "methodIdentifiers": { "ETH_AMOUNT_PER_NODE()": "56e277f0", "WETH_TOKEN()": "37d277d4", "getDebtAssets()": "ecd658b4", "getManagedAssets()": "80daddb8", "getValidatorCount()": "7071688a", "init(bytes)": "4ddf47d4", "receiveCallFromVault(bytes)": "e5c23a97" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_wethToken\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"stakingContractAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"validatorAmount\",\"type\":\"uint256\"}],\"name\":\"ValidatorsAdded\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"ETH_AMOUNT_PER_NODE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"WETH_TOKEN\",\"outputs\":[{\"internalType\":\"contract IWETH\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDebtAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"assets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getManagedAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"assets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getValidatorCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"validatorCount_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"}],\"name\":\"receiveCallFromVault\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"getDebtAssets()\":{\"returns\":{\"amounts_\":\"Debt asset amounts\",\"assets_\":\"Debt assets\"}},\"getManagedAssets()\":{\"returns\":{\"amounts_\":\"Managed asset amounts\",\"assets_\":\"Managed assets\"}},\"getValidatorCount()\":{\"returns\":{\"validatorCount_\":\"The total amount of validators\"}},\"init(bytes)\":{\"details\":\"Nothing to initialize for this contract\"},\"receiveCallFromVault(bytes)\":{\"params\":{\"_actionData\":\"Encoded data to execute the action\"}}},\"title\":\"KilnStakingPositionLib Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getDebtAssets()\":{\"notice\":\"Retrieves the debt assets (negative value) of the external position\"},\"getManagedAssets()\":{\"notice\":\"Retrieves the managed assets (positive value) of the external position\"},\"getValidatorCount()\":{\"notice\":\"Gets the current amount of validators used by the external position\"},\"init(bytes)\":{\"notice\":\"Initializes the external position\"},\"receiveCallFromVault(bytes)\":{\"notice\":\"Receives and executes a call from the Vault\"}},\"notice\":\"An External Position library contract for Kiln Staking Positions\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/kiln-staking/KilnStakingPositionLib.sol\":\"KilnStakingPositionLib\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/persistent/external-positions/kiln-staking/KilnStakingPositionLibBase1.sol\":{\"keccak256\":\"0x27bb9ebec69727418977e7c56fb2ff95c2d911fe7b13c530825364d5b4a97cff\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://896ac8397161f4f04deec4b54fdef7e835b622602812720d646bab70c09abb7d\",\"dweb:/ipfs/QmazeandAhRnqbxwbRRSrGXvNFsq3B57NkFXW5tx96Bf9g\"]},\"contracts/release/extensions/external-position-manager/external-positions/kiln-staking/IKilnStakingPosition.sol\":{\"keccak256\":\"0x9facf417e97f2d726add64ee197cdba0dffb97f5a2806039efb6c5ee86721083\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6071ecdb5de558d450b56be1b578b4d5938753fa256d61772310ed9700af6aa4\",\"dweb:/ipfs/QmYe2BstewfYqFosCNsrtzo1ctF3hmheb8NyM6A3SsN3y5\"]},\"contracts/release/extensions/external-position-manager/external-positions/kiln-staking/KilnStakingPositionDataDecoder.sol\":{\"keccak256\":\"0x558647201f7b6e4cc86493a965898adffbe012221e252b5cfc177065847d744a\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://df1beacc102597c734883b1744c157ea9391197797a98fb0f96cf4a16b01c6be\",\"dweb:/ipfs/QmTU5m4shGWdoAqj7F1zHTdctAHwmjMT29agoS6PqTtwxo\"]},\"contracts/release/extensions/external-position-manager/external-positions/kiln-staking/KilnStakingPositionLib.sol\":{\"keccak256\":\"0x3936168f94f59ed934b49b74cb76452dc9bde3f40b60ca8531e8ff90f6a9480a\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://516415f91f7b852cf795743f3631ba218a7b4bd5cc888944b750016b0ab3a89f\",\"dweb:/ipfs/QmZj577FikmuSyqMu6RbhqrxttJdWXejM2KgH7vh2mNfTh\"]},\"contracts/release/interfaces/IKilnStakingContract.sol\":{\"keccak256\":\"0x6a8db9fe50daa7b148422a0ce3cecfa91918a0a089fa9c8a90e883e1a06aca96\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d64bc97472ac5fa432c715d0a25a0d12265bba0d996a153c7c8125484d73c484\",\"dweb:/ipfs/QmaXZa1sJhKM3JMJBYHnk9mAm3rqbU3UH1c1U9Rvsfbvfp\"]},\"contracts/release/interfaces/IWETH.sol\":{\"keccak256\":\"0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2\",\"dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_wethToken", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "stakingContractAddress", "type": "address", "indexed": false }, { "internalType": "uint256", "name": "validatorAmount", "type": "uint256", "indexed": false } ], "type": "event", "name": "ValidatorsAdded", "anonymous": false }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "ETH_AMOUNT_PER_NODE", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "WETH_TOKEN", "outputs": [ { "internalType": "contract IWETH", "name": "", "type": "address" } ] }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "getDebtAssets", "outputs": [ { "internalType": "address[]", "name": "assets_", "type": "address[]" }, { "internalType": "uint256[]", "name": "amounts_", "type": "uint256[]" } ] }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "getManagedAssets", "outputs": [ { "internalType": "address[]", "name": "assets_", "type": "address[]" }, { "internalType": "uint256[]", "name": "amounts_", "type": "uint256[]" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getValidatorCount", "outputs": [ { "internalType": "uint256", "name": "validatorCount_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "init" }, { "inputs": [ { "internalType": "bytes", "name": "_actionData", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "receiveCallFromVault" } ], "devdoc": { "kind": "dev", "methods": { "getDebtAssets()": { "returns": { "amounts_": "Debt asset amounts", "assets_": "Debt assets" } }, "getManagedAssets()": { "returns": { "amounts_": "Managed asset amounts", "assets_": "Managed assets" } }, "getValidatorCount()": { "returns": { "validatorCount_": "The total amount of validators" } }, "init(bytes)": { "details": "Nothing to initialize for this contract" }, "receiveCallFromVault(bytes)": { "params": { "_actionData": "Encoded data to execute the action" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "getDebtAssets()": { "notice": "Retrieves the debt assets (negative value) of the external position" }, "getManagedAssets()": { "notice": "Retrieves the managed assets (positive value) of the external position" }, "getValidatorCount()": { "notice": "Gets the current amount of validators used by the external position" }, "init(bytes)": { "notice": "Initializes the external position" }, "receiveCallFromVault(bytes)": { "notice": "Receives and executes a call from the Vault" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/external-position-manager/external-positions/kiln-staking/KilnStakingPositionLib.sol": "KilnStakingPositionLib" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/external-positions/IExternalPosition.sol": { "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", "urls": [ "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" ], "license": "GPL-3.0" }, "contracts/persistent/external-positions/kiln-staking/KilnStakingPositionLibBase1.sol": { "keccak256": "0x27bb9ebec69727418977e7c56fb2ff95c2d911fe7b13c530825364d5b4a97cff", "urls": [ "bzz-raw://896ac8397161f4f04deec4b54fdef7e835b622602812720d646bab70c09abb7d", "dweb:/ipfs/QmazeandAhRnqbxwbRRSrGXvNFsq3B57NkFXW5tx96Bf9g" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/kiln-staking/IKilnStakingPosition.sol": { "keccak256": "0x9facf417e97f2d726add64ee197cdba0dffb97f5a2806039efb6c5ee86721083", "urls": [ "bzz-raw://6071ecdb5de558d450b56be1b578b4d5938753fa256d61772310ed9700af6aa4", "dweb:/ipfs/QmYe2BstewfYqFosCNsrtzo1ctF3hmheb8NyM6A3SsN3y5" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/kiln-staking/KilnStakingPositionDataDecoder.sol": { "keccak256": "0x558647201f7b6e4cc86493a965898adffbe012221e252b5cfc177065847d744a", "urls": [ "bzz-raw://df1beacc102597c734883b1744c157ea9391197797a98fb0f96cf4a16b01c6be", "dweb:/ipfs/QmTU5m4shGWdoAqj7F1zHTdctAHwmjMT29agoS6PqTtwxo" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/kiln-staking/KilnStakingPositionLib.sol": { "keccak256": "0x3936168f94f59ed934b49b74cb76452dc9bde3f40b60ca8531e8ff90f6a9480a", "urls": [ "bzz-raw://516415f91f7b852cf795743f3631ba218a7b4bd5cc888944b750016b0ab3a89f", "dweb:/ipfs/QmZj577FikmuSyqMu6RbhqrxttJdWXejM2KgH7vh2mNfTh" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IKilnStakingContract.sol": { "keccak256": "0x6a8db9fe50daa7b148422a0ce3cecfa91918a0a089fa9c8a90e883e1a06aca96", "urls": [ "bzz-raw://d64bc97472ac5fa432c715d0a25a0d12265bba0d996a153c7c8125484d73c484", "dweb:/ipfs/QmaXZa1sJhKM3JMJBYHnk9mAm3rqbU3UH1c1U9Rvsfbvfp" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IWETH.sol": { "keccak256": "0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2", "urls": [ "bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2", "dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", "urls": [ "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Address.sol": { "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", "urls": [ "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" } }, "version": 1 }, "id": 108 } diff --git a/eth_defi/abi/enzyme/KilnStakingPositionLibBase1.json b/eth_defi/abi/enzyme/KilnStakingPositionLibBase1.json index 9e9730b0..3cdea588 100644 --- a/eth_defi/abi/enzyme/KilnStakingPositionLibBase1.json +++ b/eth_defi/abi/enzyme/KilnStakingPositionLibBase1.json @@ -1,118 +1 @@ -{ - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "stakingContractAddress", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "validatorAmount", - "type": "uint256" - } - ], - "name": "ValidatorsAdded", - "type": "event" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": {}, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"stakingContractAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"validatorAmount\",\"type\":\"uint256\"}],\"name\":\"ValidatorsAdded\",\"type\":\"event\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"DO NOT EDIT CONTRACT. If new events or storage are necessary, they should be added to a numbered KilnStakingPositionLibBaseXXX that inherits the previous base. e.g., `KilnStakingPositionLibBase2 is KilnStakingPositionLibBase1`\",\"kind\":\"dev\",\"methods\":{},\"title\":\"KilnStakingPositionLibBase1 Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"A persistent contract containing all required storage variables and required functions for a KilnStakingPositionLib implementation\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/external-positions/kiln-staking/KilnStakingPositionLibBase1.sol\":\"KilnStakingPositionLibBase1\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/external-positions/kiln-staking/KilnStakingPositionLibBase1.sol\":{\"keccak256\":\"0x27bb9ebec69727418977e7c56fb2ff95c2d911fe7b13c530825364d5b4a97cff\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://896ac8397161f4f04deec4b54fdef7e835b622602812720d646bab70c09abb7d\",\"dweb:/ipfs/QmazeandAhRnqbxwbRRSrGXvNFsq3B57NkFXW5tx96Bf9g\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "stakingContractAddress", - "type": "address", - "indexed": false - }, - { - "internalType": "uint256", - "name": "validatorAmount", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "ValidatorsAdded", - "anonymous": false - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/persistent/external-positions/kiln-staking/KilnStakingPositionLibBase1.sol": "KilnStakingPositionLibBase1" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/external-positions/kiln-staking/KilnStakingPositionLibBase1.sol": { - "keccak256": "0x27bb9ebec69727418977e7c56fb2ff95c2d911fe7b13c530825364d5b4a97cff", - "urls": [ - "bzz-raw://896ac8397161f4f04deec4b54fdef7e835b622602812720d646bab70c09abb7d", - "dweb:/ipfs/QmazeandAhRnqbxwbRRSrGXvNFsq3B57NkFXW5tx96Bf9g" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 30 -} +{ "abi": [ { "type": "event", "name": "ValidatorsAdded", "inputs": [ { "name": "stakingContractAddress", "type": "address", "indexed": false, "internalType": "address" }, { "name": "validatorAmount", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": {}, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"stakingContractAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"validatorAmount\",\"type\":\"uint256\"}],\"name\":\"ValidatorsAdded\",\"type\":\"event\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"DO NOT EDIT CONTRACT. If new events or storage are necessary, they should be added to a numbered KilnStakingPositionLibBaseXXX that inherits the previous base. e.g., `KilnStakingPositionLibBase2 is KilnStakingPositionLibBase1`\",\"kind\":\"dev\",\"methods\":{},\"title\":\"KilnStakingPositionLibBase1 Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"A persistent contract containing all required storage variables and required functions for a KilnStakingPositionLib implementation\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/external-positions/kiln-staking/KilnStakingPositionLibBase1.sol\":\"KilnStakingPositionLibBase1\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/external-positions/kiln-staking/KilnStakingPositionLibBase1.sol\":{\"keccak256\":\"0x27bb9ebec69727418977e7c56fb2ff95c2d911fe7b13c530825364d5b4a97cff\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://896ac8397161f4f04deec4b54fdef7e835b622602812720d646bab70c09abb7d\",\"dweb:/ipfs/QmazeandAhRnqbxwbRRSrGXvNFsq3B57NkFXW5tx96Bf9g\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "stakingContractAddress", "type": "address", "indexed": false }, { "internalType": "uint256", "name": "validatorAmount", "type": "uint256", "indexed": false } ], "type": "event", "name": "ValidatorsAdded", "anonymous": false } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/persistent/external-positions/kiln-staking/KilnStakingPositionLibBase1.sol": "KilnStakingPositionLibBase1" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/external-positions/kiln-staking/KilnStakingPositionLibBase1.sol": { "keccak256": "0x27bb9ebec69727418977e7c56fb2ff95c2d911fe7b13c530825364d5b4a97cff", "urls": [ "bzz-raw://896ac8397161f4f04deec4b54fdef7e835b622602812720d646bab70c09abb7d", "dweb:/ipfs/QmazeandAhRnqbxwbRRSrGXvNFsq3B57NkFXW5tx96Bf9g" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 30 } diff --git a/eth_defi/abi/enzyme/KilnStakingPositionParser.json b/eth_defi/abi/enzyme/KilnStakingPositionParser.json index 8858b10c..9a2e9e94 100644 --- a/eth_defi/abi/enzyme/KilnStakingPositionParser.json +++ b/eth_defi/abi/enzyme/KilnStakingPositionParser.json @@ -1,488 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_addressListRegistry", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_stakingContractsListId", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_weth", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "name": "ADDRESS_LIST_REGISTRY_CONTRACT", - "outputs": [ - { - "internalType": "contract AddressListRegistry", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "ETH_AMOUNT_PER_NODE", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "STAKING_CONTRACTS_LIST_ID", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "WETH_TOKEN", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_externalPosition", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_actionId", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_encodedActionArgs", - "type": "bytes" - } - ], - "name": "parseAssetsForAction", - "outputs": [ - { - "internalType": "address[]", - "name": "assetsToTransfer_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "amountsToTransfer_", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "assetsToReceive_", - "type": "address[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "parseInitArgs", - "outputs": [ - { - "internalType": "bytes", - "name": "initArgs_", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x60e06040523480156200001157600080fd5b5060405162000dd738038062000dd783398101604081905262000034916200007a565b6001600160601b0319606093841b811660805260a09290925290911b1660c05262000108565b80516200006781620000e3565b92915050565b80516200006781620000fd565b6000806000606084860312156200009057600080fd5b60006200009e86866200005a565b9350506020620000b1868287016200006d565b9250506040620000c4868287016200005a565b9150509250925092565b60006001600160a01b03821662000067565b90565b620000ee81620000ce565b8114620000fa57600080fd5b50565b620000ee81620000e0565b60805160601c60a05160c05160601c610c84620001536000398061011f52806101b2528061034c52806103ca52508061042252806104be52508060fb52806104915250610c846000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c806328cb563c1461006757806337d277d41461008557806356e277f01461009a578063bbd2d646146100af578063caacbe0a146100d1578063db16c72e146100d9575b600080fd5b61006f6100f9565b60405161007c9190610aea565b60405180910390f35b61008d61011d565b60405161007c9190610a89565b6100a2610141565b60405161007c9190610b28565b6100c26100bd36600461080f565b61014e565b60405161007c93929190610a97565b6100a2610420565b6100ec6100e73660046107c7565b610444565b60405161007c9190610ad9565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b6801bc16d674ec80000081565b6060808084610229576000806101638661045a565b915091506101708261047a565b604080516001808252818301909252906020808301908036833750506040805160018082528183019092529297509050602080830190803683370190505093507f0000000000000000000000000000000000000000000000000000000000000000856000815181106101de57fe5b6001600160a01b0390921660209283029190910190910152610209816801bc16d674ec800000610557565b8460008151811061021657fe5b6020026020010181815250505050610417565b600185141561039f576000606061023f86610598565b509150915061024d8261047a565b60005b815181101561032957886001600160a01b0316836001600160a01b031663e00cb6ca84848151811061027e57fe5b60200260200101516040518263ffffffff1660e01b81526004016102a29190610ad9565b60206040518083038186803b1580156102ba57600080fd5b505afa1580156102ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102f29190610702565b6001600160a01b0316146103215760405162461bcd60e51b815260040161031890610b18565b60405180910390fd5b600101610250565b5060408051600180825281830190925290602080830190803683370190505092507f00000000000000000000000000000000000000000000000000000000000000008360008151811061037857fe5b60200260200101906001600160a01b031690816001600160a01b0316815250505050610417565b60028514156104175760408051600180825281830190925290602080830190803683370190505090507f0000000000000000000000000000000000000000000000000000000000000000816000815181106103f657fe5b60200260200101906001600160a01b031690816001600160a01b0316815250505b93509350939050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6040805160208101909152600081525b92915050565b60008082806020019051810190610471919061078d565b91509150915091565b6040516307158c8160e21b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690631c563204906104e8907f0000000000000000000000000000000000000000000000000000000000000000908590600401610b36565b60206040518083038186803b15801561050057600080fd5b505afa158015610514573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610538919061086a565b6105545760405162461bcd60e51b815260040161031890610af8565b50565b60008261056657506000610454565b8282028284828161057357fe5b04146105915760405162461bcd60e51b815260040161031890610b08565b9392505050565b600060606000838060200190518101906105b29190610728565b9250925092509193909250565b803561045481610c44565b805161045481610c44565b600082601f8301126105e657600080fd5b81516105f96105f482610b78565b610b51565b81815260209384019390925082018360005b838110156106375781518601610621888261069b565b845250602092830192919091019060010161060b565b5050505092915050565b805161045481610c58565b600082601f83011261065d57600080fd5b813561066b6105f482610b99565b9150808252602083016020830185838301111561068757600080fd5b610692838284610bfe565b50505092915050565b600082601f8301126106ac57600080fd5b81516106ba6105f482610b99565b915080825260208301602083018583830111156106d657600080fd5b610692838284610c0a565b805161045481610c61565b803561045481610c6e565b805161045481610c6e565b60006020828403121561071457600080fd5b600061072084846105ca565b949350505050565b60008060006060848603121561073d57600080fd5b600061074986866105ca565b935050602084015167ffffffffffffffff81111561076657600080fd5b610772868287016105d5565b9250506040610783868287016106e1565b9150509250925092565b600080604083850312156107a057600080fd5b60006107ac85856105ca565b92505060206107bd858286016106f7565b9150509250929050565b600080604083850312156107da57600080fd5b60006107e685856105bf565b925050602083013567ffffffffffffffff81111561080357600080fd5b6107bd8582860161064c565b60008060006060848603121561082457600080fd5b600061083086866105bf565b9350506020610841868287016106ec565b925050604084013567ffffffffffffffff81111561085e57600080fd5b6107838682870161064c565b60006020828403121561087c57600080fd5b60006107208484610641565b600061089483836108a8565b505060200190565b60006108948383610a80565b6108b181610bd4565b82525050565b60006108c282610bc7565b6108cc8185610bcb565b93506108d783610bc1565b8060005b838110156109055781516108ef8882610888565b97506108fa83610bc1565b9250506001016108db565b509495945050505050565b600061091b82610bc7565b6109258185610bcb565b935061093083610bc1565b8060005b83811015610905578151610948888261089c565b975061095383610bc1565b925050600101610934565b600061096982610bc7565b6109738185610bcb565b9350610983818560208601610c0a565b61098c81610c3a565b9093019392505050565b6108b181610bf3565b60006109ac603383610bcb565b7f5f5f76616c69646174655374616b696e67436f6e74726163743a20496e76616c8152721a59081cdd185ada5b99c818dbdb9d1c9858dd606a1b602082015260400192915050565b6000610a01602183610bcb565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000610a44602783610bcb565b7f7061727365417373657473466f72416374696f6e3a20496e76616c69642076618152663634b230ba37b960c91b602082015260400192915050565b6108b181610bf0565b6020810161045482846108a8565b60608082528101610aa881866108b7565b90508181036020830152610abc8185610910565b90508181036040830152610ad081846108b7565b95945050505050565b60208082528101610591818461095e565b602081016104548284610996565b602080825281016104548161099f565b60208082528101610454816109f4565b6020808252810161045481610a37565b602081016104548284610a80565b60408101610b448285610a80565b61059160208301846108a8565b60405181810167ffffffffffffffff81118282101715610b7057600080fd5b604052919050565b600067ffffffffffffffff821115610b8f57600080fd5b5060209081020190565b600067ffffffffffffffff821115610bb057600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b600061045482610be4565b151590565b6001600160a01b031690565b90565b600061045482610bd4565b82818337506000910152565b60005b83811015610c25578181015183820152602001610c0d565b83811115610c34576000848401525b50505050565b601f01601f191690565b610c4d81610bd4565b811461055457600080fd5b610c4d81610bdf565b6003811061055457600080fd5b610c4d81610bf056fea164736f6c634300060c000a", - "sourceMap": "768:3750:109:-:0;;;1133:307;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;1270:74:109;;;;;;;;1354:51;;;;;1415:18;;;;;;768:3750;;5:134:-1;83:13;;101:33;83:13;101:33;:::i;:::-;68:71;;;;:::o;146:134::-;224:13;;242:33;224:13;242:33;:::i;287:535::-;;;;436:2;424:9;415:7;411:23;407:32;404:2;;;452:1;449;442:12;404:2;487:1;504:64;560:7;540:9;504:64;:::i;:::-;494:74;;466:108;605:2;623:64;679:7;670:6;659:9;655:22;623:64;:::i;:::-;613:74;;584:109;724:2;742:64;798:7;789:6;778:9;774:22;742:64;:::i;:::-;732:74;;703:109;398:424;;;;;:::o;829:91::-;;-1:-1;;;;;989:54;;891:24;972:76::o;1055:72::-;1117:5;1100:27::o;1134:117::-;1203:24;1221:5;1203:24;:::i;:::-;1196:5;1193:35;1183:2;;1242:1;1239;1232:12;1183:2;1177:74;:::o;1258:117::-;1327:24;1345:5;1327:24;:::i;1301:74::-;768:3750:109;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106100625760003560e01c806328cb563c1461006757806337d277d41461008557806356e277f01461009a578063bbd2d646146100af578063caacbe0a146100d1578063db16c72e146100d9575b600080fd5b61006f6100f9565b60405161007c9190610aea565b60405180910390f35b61008d61011d565b60405161007c9190610a89565b6100a2610141565b60405161007c9190610b28565b6100c26100bd36600461080f565b61014e565b60405161007c93929190610a97565b6100a2610420565b6100ec6100e73660046107c7565b610444565b60405161007c9190610ad9565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b6801bc16d674ec80000081565b6060808084610229576000806101638661045a565b915091506101708261047a565b604080516001808252818301909252906020808301908036833750506040805160018082528183019092529297509050602080830190803683370190505093507f0000000000000000000000000000000000000000000000000000000000000000856000815181106101de57fe5b6001600160a01b0390921660209283029190910190910152610209816801bc16d674ec800000610557565b8460008151811061021657fe5b6020026020010181815250505050610417565b600185141561039f576000606061023f86610598565b509150915061024d8261047a565b60005b815181101561032957886001600160a01b0316836001600160a01b031663e00cb6ca84848151811061027e57fe5b60200260200101516040518263ffffffff1660e01b81526004016102a29190610ad9565b60206040518083038186803b1580156102ba57600080fd5b505afa1580156102ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102f29190610702565b6001600160a01b0316146103215760405162461bcd60e51b815260040161031890610b18565b60405180910390fd5b600101610250565b5060408051600180825281830190925290602080830190803683370190505092507f00000000000000000000000000000000000000000000000000000000000000008360008151811061037857fe5b60200260200101906001600160a01b031690816001600160a01b0316815250505050610417565b60028514156104175760408051600180825281830190925290602080830190803683370190505090507f0000000000000000000000000000000000000000000000000000000000000000816000815181106103f657fe5b60200260200101906001600160a01b031690816001600160a01b0316815250505b93509350939050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6040805160208101909152600081525b92915050565b60008082806020019051810190610471919061078d565b91509150915091565b6040516307158c8160e21b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690631c563204906104e8907f0000000000000000000000000000000000000000000000000000000000000000908590600401610b36565b60206040518083038186803b15801561050057600080fd5b505afa158015610514573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610538919061086a565b6105545760405162461bcd60e51b815260040161031890610af8565b50565b60008261056657506000610454565b8282028284828161057357fe5b04146105915760405162461bcd60e51b815260040161031890610b08565b9392505050565b600060606000838060200190518101906105b29190610728565b9250925092509193909250565b803561045481610c44565b805161045481610c44565b600082601f8301126105e657600080fd5b81516105f96105f482610b78565b610b51565b81815260209384019390925082018360005b838110156106375781518601610621888261069b565b845250602092830192919091019060010161060b565b5050505092915050565b805161045481610c58565b600082601f83011261065d57600080fd5b813561066b6105f482610b99565b9150808252602083016020830185838301111561068757600080fd5b610692838284610bfe565b50505092915050565b600082601f8301126106ac57600080fd5b81516106ba6105f482610b99565b915080825260208301602083018583830111156106d657600080fd5b610692838284610c0a565b805161045481610c61565b803561045481610c6e565b805161045481610c6e565b60006020828403121561071457600080fd5b600061072084846105ca565b949350505050565b60008060006060848603121561073d57600080fd5b600061074986866105ca565b935050602084015167ffffffffffffffff81111561076657600080fd5b610772868287016105d5565b9250506040610783868287016106e1565b9150509250925092565b600080604083850312156107a057600080fd5b60006107ac85856105ca565b92505060206107bd858286016106f7565b9150509250929050565b600080604083850312156107da57600080fd5b60006107e685856105bf565b925050602083013567ffffffffffffffff81111561080357600080fd5b6107bd8582860161064c565b60008060006060848603121561082457600080fd5b600061083086866105bf565b9350506020610841868287016106ec565b925050604084013567ffffffffffffffff81111561085e57600080fd5b6107838682870161064c565b60006020828403121561087c57600080fd5b60006107208484610641565b600061089483836108a8565b505060200190565b60006108948383610a80565b6108b181610bd4565b82525050565b60006108c282610bc7565b6108cc8185610bcb565b93506108d783610bc1565b8060005b838110156109055781516108ef8882610888565b97506108fa83610bc1565b9250506001016108db565b509495945050505050565b600061091b82610bc7565b6109258185610bcb565b935061093083610bc1565b8060005b83811015610905578151610948888261089c565b975061095383610bc1565b925050600101610934565b600061096982610bc7565b6109738185610bcb565b9350610983818560208601610c0a565b61098c81610c3a565b9093019392505050565b6108b181610bf3565b60006109ac603383610bcb565b7f5f5f76616c69646174655374616b696e67436f6e74726163743a20496e76616c8152721a59081cdd185ada5b99c818dbdb9d1c9858dd606a1b602082015260400192915050565b6000610a01602183610bcb565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000610a44602783610bcb565b7f7061727365417373657473466f72416374696f6e3a20496e76616c69642076618152663634b230ba37b960c91b602082015260400192915050565b6108b181610bf0565b6020810161045482846108a8565b60608082528101610aa881866108b7565b90508181036020830152610abc8185610910565b90508181036040830152610ad081846108b7565b95945050505050565b60208082528101610591818461095e565b602081016104548284610996565b602080825281016104548161099f565b60208082528101610454816109f4565b6020808252810161045481610a37565b602081016104548284610a80565b60408101610b448285610a80565b61059160208301846108a8565b60405181810167ffffffffffffffff81118282101715610b7057600080fd5b604052919050565b600067ffffffffffffffff821115610b8f57600080fd5b5060209081020190565b600067ffffffffffffffff821115610bb057600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b600061045482610be4565b151590565b6001600160a01b031690565b90565b600061045482610bd4565b82818337506000910152565b60005b83811015610c25578181015183820152602001610c0d565b83811115610c34576000848401525b50505050565b601f01601f191690565b610c4d81610bd4565b811461055457600080fd5b610c4d81610bdf565b6003811061055457600080fd5b610c4d81610bf056fea164736f6c634300060c000a", - "sourceMap": "768:3750:109:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;962:67;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1091:35;;;:::i;:::-;;;;;;;:::i;901:54::-;;;:::i;:::-;;;;;;;:::i;1986:1861::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;:::i;1035:50::-;;;:::i;4055:151::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;962:67::-;;;:::o;1091:35::-;;;:::o;901:54::-;947:8;901:54;:::o;1986:1861::-;2189:34;;;2348:56;2344:1423;;2421:30;2453:23;2480:73;2521:18;2480:23;:73::i;:::-;2420:133;;;;2568:49;2594:22;2568:25;:49::i;:::-;2652:16;;;2666:1;2652:16;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2703:16:109;;;2717:1;2703:16;;;;;;;;;2632:36;;-1:-1:-1;2717:1:109;-1:-1:-1;2703:16:109;;;;;;;;;;;-1:-1:-1;2703:16:109;2682:37;;2757:10;2734:17;2752:1;2734:20;;;;;;;;-1:-1:-1;;;;;2734:33:109;;;:20;;;;;;;;;;;:33;2805:40;:15;947:8;2805:19;:40::i;:::-;2781:18;2800:1;2781:21;;;;;;;;;;;;;:64;;;;;2344:1423;;;;;2887:38;2866:9;:60;2862:905;;;2960:30;3008:25;3052:43;3076:18;3052:23;:43::i;:::-;2942:153;;;;;3110:49;3136:22;3110:25;:49::i;:::-;3179:9;3174:305;3194:10;:17;3190:1;:21;3174:305;;;3366:17;-1:-1:-1;;;;;3265:118:109;3286:22;-1:-1:-1;;;;;3265:58:109;;3324:10;3335:1;3324:13;;;;;;;;;;;;;;3265:73;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;3265:118:109;;3236:228;;;;-1:-1:-1;;;3236:228:109;;;;;;;:::i;:::-;;;;;;;;;3213:3;;3174:305;;;-1:-1:-1;3512:16:109;;;3526:1;3512:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3512:16:109;3493:35;;3565:10;3543:16;3560:1;3543:19;;;;;;;;;;;;;:32;-1:-1:-1;;;;;3543:32:109;;;-1:-1:-1;;;;;3543:32:109;;;;;2862:905;;;;;3617:40;3596:9;:62;3592:175;;;3693:16;;;3707:1;3693:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3693:16:109;3674:35;;3746:10;3724:16;3741:1;3724:19;;;;;;;;;;;;;:32;-1:-1:-1;;;;;3724:32:109;;;-1:-1:-1;;;;;3724:32:109;;;;;3592:175;1986:1861;;;;;;;:::o;1035:50::-;;;:::o;4055:151::-;4190:9;;;;;;;;;-1:-1:-1;4190:9:109;;4055:151;;;;;:::o;1037:236:107:-;1143:31;1176:24;1234:11;1223:43;;;;;;;;;;;;:::i;:::-;1216:50;;;;1037:236;;;:::o;4267:249:109:-;4360:72;;-1:-1:-1;;;4360:72:109;;-1:-1:-1;;;;;4360:30:109;:39;;;;:72;;4400:25;;4427:4;;4360:72;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4339:170;;;;-1:-1:-1;;;4339:170:109;;;;;;;:::i;:::-;4267:249;:::o;3538:215:442:-;3596:7;3619:6;3615:20;;-1:-1:-1;3634:1:442;3627:8;;3615:20;3657:5;;;3661:1;3657;:5;:1;3680:5;;;;;:10;3672:56;;;;-1:-1:-1;;;3672:56:442;;;;;;;:::i;:::-;3745:1;3538:215;-1:-1:-1;;;3538:215:442:o;598:369:107:-;717:31;762:26;802:47;892:11;881:79;;;;;;;;;;;;:::i;:::-;874:86;;;;;;598:369;;;;;:::o;5:130:-1:-;72:20;;97:33;72:20;97:33;:::i;142:134::-;220:13;;238:33;220:13;238:33;:::i;456:713::-;;593:3;586:4;578:6;574:17;570:27;560:2;;611:1;608;601:12;560:2;641:6;635:13;663:89;678:73;744:6;678:73;:::i;:::-;663:89;:::i;:::-;780:21;;;824:4;812:17;;;;654:98;;-1:-1;837:14;;812:17;932:1;917:246;942:6;939:1;936:13;917:246;;;1018:3;1012:10;1004:6;1000:23;1042:57;1095:3;1083:10;1042:57;:::i;:::-;1030:70;;-1:-1;1123:4;1114:14;;;;1142;;;;;964:1;957:9;917:246;;;921:14;553:616;;;;;;;:::o;1177:128::-;1252:13;;1270:30;1252:13;1270:30;:::i;1313:440::-;;1414:3;1407:4;1399:6;1395:17;1391:27;1381:2;;1432:1;1429;1422:12;1381:2;1469:6;1456:20;1491:64;1506:48;1547:6;1506:48;:::i;1491:64::-;1482:73;;1575:6;1568:5;1561:21;1611:4;1603:6;1599:17;1644:4;1637:5;1633:16;1679:3;1670:6;1665:3;1661:16;1658:25;1655:2;;;1696:1;1693;1686:12;1655:2;1706:41;1740:6;1735:3;1730;1706:41;:::i;:::-;1374:379;;;;;;;:::o;1762:442::-;;1874:3;1867:4;1859:6;1855:17;1851:27;1841:2;;1892:1;1889;1882:12;1841:2;1922:6;1916:13;1944:64;1959:48;2000:6;1959:48;:::i;1944:64::-;1935:73;;2028:6;2021:5;2014:21;2064:4;2056:6;2052:17;2097:4;2090:5;2086:16;2132:3;2123:6;2118:3;2114:16;2111:25;2108:2;;;2149:1;2146;2139:12;2108:2;2159:39;2191:6;2186:3;2181;2159:39;:::i;2212:172::-;2309:13;;2327:52;2309:13;2327:52;:::i;2391:130::-;2458:20;;2483:33;2458:20;2483:33;:::i;2528:134::-;2606:13;;2624:33;2606:13;2624:33;:::i;2669:263::-;;2784:2;2772:9;2763:7;2759:23;2755:32;2752:2;;;2800:1;2797;2790:12;2752:2;2835:1;2852:64;2908:7;2888:9;2852:64;:::i;:::-;2842:74;2746:186;-1:-1;;;;2746:186::o;2939:736::-;;;;3149:2;3137:9;3128:7;3124:23;3120:32;3117:2;;;3165:1;3162;3155:12;3117:2;3200:1;3217:72;3281:7;3261:9;3217:72;:::i;:::-;3207:82;;3179:116;3347:2;3336:9;3332:18;3326:25;3371:18;3363:6;3360:30;3357:2;;;3403:1;3400;3393:12;3357:2;3423:98;3513:7;3504:6;3493:9;3489:22;3423:98;:::i;:::-;3413:108;;3305:222;3558:2;3576:83;3651:7;3642:6;3631:9;3627:22;3576:83;:::i;:::-;3566:93;;3537:128;3111:564;;;;;:::o;3682:415::-;;;3822:2;3810:9;3801:7;3797:23;3793:32;3790:2;;;3838:1;3835;3828:12;3790:2;3873:1;3890:72;3954:7;3934:9;3890:72;:::i;:::-;3880:82;;3852:116;3999:2;4017:64;4073:7;4064:6;4053:9;4049:22;4017:64;:::i;:::-;4007:74;;3978:109;3784:313;;;;;:::o;4104:470::-;;;4234:2;4222:9;4213:7;4209:23;4205:32;4202:2;;;4250:1;4247;4240:12;4202:2;4285:1;4302:53;4347:7;4327:9;4302:53;:::i;:::-;4292:63;;4264:97;4420:2;4409:9;4405:18;4392:32;4444:18;4436:6;4433:30;4430:2;;;4476:1;4473;4466:12;4430:2;4496:62;4550:7;4541:6;4530:9;4526:22;4496:62;:::i;4581:595::-;;;;4728:2;4716:9;4707:7;4703:23;4699:32;4696:2;;;4744:1;4741;4734:12;4696:2;4779:1;4796:53;4841:7;4821:9;4796:53;:::i;:::-;4786:63;;4758:97;4886:2;4904:53;4949:7;4940:6;4929:9;4925:22;4904:53;:::i;:::-;4894:63;;4865:98;5022:2;5011:9;5007:18;4994:32;5046:18;5038:6;5035:30;5032:2;;;5078:1;5075;5068:12;5032:2;5098:62;5152:7;5143:6;5132:9;5128:22;5098:62;:::i;5183:257::-;;5295:2;5283:9;5274:7;5270:23;5266:32;5263:2;;;5311:1;5308;5301:12;5263:2;5346:1;5363:61;5416:7;5396:9;5363:61;:::i;5448:173::-;;5535:46;5577:3;5569:6;5535:46;:::i;:::-;-1:-1;;5610:4;5601:14;;5528:93::o;5630:173::-;;5717:46;5759:3;5751:6;5717:46;:::i;5811:103::-;5884:24;5902:5;5884:24;:::i;:::-;5879:3;5872:37;5866:48;;:::o;6072:690::-;;6217:54;6265:5;6217:54;:::i;:::-;6284:86;6363:6;6358:3;6284:86;:::i;:::-;6277:93;;6391:56;6441:5;6391:56;:::i;:::-;6467:7;6495:1;6480:260;6505:6;6502:1;6499:13;6480:260;;;6572:6;6566:13;6593:63;6652:3;6637:13;6593:63;:::i;:::-;6586:70;;6673:60;6726:6;6673:60;:::i;:::-;6663:70;-1:-1;;6527:1;6520:9;6480:260;;;-1:-1;6753:3;;6196:566;-1:-1;;;;;6196:566::o;6801:690::-;;6946:54;6994:5;6946:54;:::i;:::-;7013:86;7092:6;7087:3;7013:86;:::i;:::-;7006:93;;7120:56;7170:5;7120:56;:::i;:::-;7196:7;7224:1;7209:260;7234:6;7231:1;7228:13;7209:260;;;7301:6;7295:13;7322:63;7381:3;7366:13;7322:63;:::i;:::-;7315:70;;7402:60;7455:6;7402:60;:::i;:::-;7392:70;-1:-1;;7256:1;7249:9;7209:260;;7499:343;;7609:38;7641:5;7609:38;:::i;:::-;7659:70;7722:6;7717:3;7659:70;:::i;:::-;7652:77;;7734:52;7779:6;7774:3;7767:4;7760:5;7756:16;7734:52;:::i;:::-;7807:29;7829:6;7807:29;:::i;:::-;7798:39;;;;7589:253;-1:-1;;;7589:253::o;7849:182::-;7960:65;8019:5;7960:65;:::i;8039:388::-;;8199:67;8263:2;8258:3;8199:67;:::i;:::-;8299:34;8279:55;;-1:-1;;;8363:2;8354:12;;8347:43;8418:2;8409:12;;8185:242;-1:-1;;8185:242::o;8436:370::-;;8596:67;8660:2;8655:3;8596:67;:::i;:::-;8696:34;8676:55;;-1:-1;;;8760:2;8751:12;;8744:25;8797:2;8788:12;;8582:224;-1:-1;;8582:224::o;8815:376::-;;8975:67;9039:2;9034:3;8975:67;:::i;:::-;9075:34;9055:55;;-1:-1;;;9139:2;9130:12;;9123:31;9182:2;9173:12;;8961:230;-1:-1;;8961:230::o;9199:103::-;9272:24;9290:5;9272:24;:::i;9429:222::-;9556:2;9541:18;;9570:71;9545:9;9614:6;9570:71;:::i;9658:888::-;9991:2;10005:47;;;9976:18;;10066:108;9976:18;10160:6;10066:108;:::i;:::-;10058:116;;10222:9;10216:4;10212:20;10207:2;10196:9;10192:18;10185:48;10247:108;10350:4;10341:6;10247:108;:::i;:::-;10239:116;;10403:9;10397:4;10393:20;10388:2;10377:9;10373:18;10366:48;10428:108;10531:4;10522:6;10428:108;:::i;:::-;10420:116;9962:584;-1:-1;;;;;9962:584::o;10553:306::-;10698:2;10712:47;;;10683:18;;10773:76;10683:18;10835:6;10773:76;:::i;10866:278::-;11021:2;11006:18;;11035:99;11010:9;11107:6;11035:99;:::i;11151:416::-;11351:2;11365:47;;;11336:18;;11426:131;11336:18;11426:131;:::i;11574:416::-;11774:2;11788:47;;;11759:18;;11849:131;11759:18;11849:131;:::i;11997:416::-;12197:2;12211:47;;;12182:18;;12272:131;12182:18;12272:131;:::i;12420:222::-;12547:2;12532:18;;12561:71;12536:9;12605:6;12561:71;:::i;12649:333::-;12804:2;12789:18;;12818:71;12793:9;12862:6;12818:71;:::i;:::-;12900:72;12968:2;12957:9;12953:18;12944:6;12900:72;:::i;12989:256::-;13051:2;13045:9;13077:17;;;13152:18;13137:34;;13173:22;;;13134:62;13131:2;;;13209:1;13206;13199:12;13131:2;13225;13218:22;13029:216;;-1:-1;13029:216::o;13252:313::-;;13420:18;13412:6;13409:30;13406:2;;;13452:1;13449;13442:12;13406:2;-1:-1;13487:4;13475:17;;;13540:15;;13343:222::o;13572:321::-;;13715:18;13707:6;13704:30;13701:2;;;13747:1;13744;13737:12;13701:2;-1:-1;13878:4;13814;13791:17;;;;-1:-1;;13787:33;13868:15;;13638:255::o;13900:151::-;14024:4;14015:14;;13972:79::o;14216:137::-;14319:12;;14290:63::o;14863:178::-;14981:19;;;15030:4;15021:14;;14974:67::o;15579:91::-;;15641:24;15659:5;15641:24;:::i;15783:85::-;15849:13;15842:21;;15825:43::o;15875:121::-;-1:-1;;;;;15937:54;;15920:76::o;16003:72::-;16065:5;16048:27::o;16082:177::-;;16189:65;16248:5;16189:65;:::i;16410:145::-;16491:6;16486:3;16481;16468:30;-1:-1;16547:1;16529:16;;16522:27;16461:94::o;16564:268::-;16629:1;16636:101;16650:6;16647:1;16644:13;16636:101;;;16717:11;;;16711:18;16698:11;;;16691:39;16672:2;16665:10;16636:101;;;16752:6;16749:1;16746:13;16743:2;;;16817:1;16808:6;16803:3;16799:16;16792:27;16743:2;16613:219;;;;:::o;16840:97::-;16928:2;16908:14;-1:-1;;16904:28;;16888:49::o;16945:117::-;17014:24;17032:5;17014:24;:::i;:::-;17007:5;17004:35;16994:2;;17053:1;17050;17043:12;17209:111;17275:21;17290:5;17275:21;:::i;17327:113::-;17415:1;17408:5;17405:12;17395:2;;17431:1;17428;17421:12;17447:117;17516:24;17534:5;17516:24;:::i", - "linkReferences": {}, - "immutableReferences": { - "25857": [ - { - "start": 251, - "length": 32 - }, - { - "start": 1169, - "length": 32 - } - ], - "25859": [ - { - "start": 1058, - "length": 32 - }, - { - "start": 1214, - "length": 32 - } - ], - "25861": [ - { - "start": 287, - "length": 32 - }, - { - "start": 434, - "length": 32 - }, - { - "start": 844, - "length": 32 - }, - { - "start": 970, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "ADDRESS_LIST_REGISTRY_CONTRACT()": "28cb563c", - "ETH_AMOUNT_PER_NODE()": "56e277f0", - "STAKING_CONTRACTS_LIST_ID()": "caacbe0a", - "WETH_TOKEN()": "37d277d4", - "parseAssetsForAction(address,uint256,bytes)": "bbd2d646", - "parseInitArgs(address,bytes)": "db16c72e" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_addressListRegistry\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_stakingContractsListId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_weth\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"ADDRESS_LIST_REGISTRY_CONTRACT\",\"outputs\":[{\"internalType\":\"contract AddressListRegistry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"ETH_AMOUNT_PER_NODE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"STAKING_CONTRACTS_LIST_ID\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"WETH_TOKEN\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_externalPosition\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_actionId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_encodedActionArgs\",\"type\":\"bytes\"}],\"name\":\"parseAssetsForAction\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"assetsToTransfer_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amountsToTransfer_\",\"type\":\"uint256[]\"},{\"internalType\":\"address[]\",\"name\":\"assetsToReceive_\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"parseInitArgs\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"initArgs_\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"parseAssetsForAction(address,uint256,bytes)\":{\"params\":{\"_actionId\":\"The _actionId for the callOnExternalPosition\",\"_encodedActionArgs\":\"The encoded parameters for the callOnExternalPosition\",\"_externalPosition\":\"The ExternalPositionProxy address\"},\"returns\":{\"amountsToTransfer_\":\"The amounts to be transferred from the Vault\",\"assetsToReceive_\":\"The assets to be received at the Vault\",\"assetsToTransfer_\":\"The assets to be transferred from the Vault\"}},\"parseInitArgs(address,bytes)\":{\"returns\":{\"initArgs_\":\"Parsed and encoded args for ExternalPositionProxy.init()\"}}},\"title\":\"KilnStakingPositionParser\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"parseAssetsForAction(address,uint256,bytes)\":{\"notice\":\"Parses the assets to send and receive for the callOnExternalPosition\"},\"parseInitArgs(address,bytes)\":{\"notice\":\"Parse and validate input arguments to be used when initializing a newly-deployed ExternalPositionProxy\"}},\"notice\":\"Parser for Kiln Staking Positions\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/kiln-staking/KilnStakingPositionParser.sol\":\"KilnStakingPositionParser\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/address-list-registry/AddressListRegistry.sol\":{\"keccak256\":\"0xf00a9e376e3ec2a223f463f71c15ee3af3642dd028bc3762440e316b760c8048\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://01986c9327b5dfbfac21316dced6d68727931ddde1278ed1342d878004f984b9\",\"dweb:/ipfs/QmdXkFaUU43JqMTYEREbWa129rohdqN7GXy7mVRpjCfSLD\"]},\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/release/extensions/external-position-manager/external-positions/IExternalPositionParser.sol\":{\"keccak256\":\"0x1662fbd65841ee5e9cf8d5329b9d04c264b24ef68ae1e0484e59a8969b0d2c46\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://580569b0f875e0344db83fae1e72dcc6c0767a049b2a6cc3e4f3c411d2284b27\",\"dweb:/ipfs/QmXFmF9QbcVsPHaBo1iq8sZHYhDkwfkMZpHmLTuJJ37NvZ\"]},\"contracts/release/extensions/external-position-manager/external-positions/kiln-staking/IKilnStakingPosition.sol\":{\"keccak256\":\"0x9facf417e97f2d726add64ee197cdba0dffb97f5a2806039efb6c5ee86721083\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6071ecdb5de558d450b56be1b578b4d5938753fa256d61772310ed9700af6aa4\",\"dweb:/ipfs/QmYe2BstewfYqFosCNsrtzo1ctF3hmheb8NyM6A3SsN3y5\"]},\"contracts/release/extensions/external-position-manager/external-positions/kiln-staking/KilnStakingPositionDataDecoder.sol\":{\"keccak256\":\"0x558647201f7b6e4cc86493a965898adffbe012221e252b5cfc177065847d744a\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://df1beacc102597c734883b1744c157ea9391197797a98fb0f96cf4a16b01c6be\",\"dweb:/ipfs/QmTU5m4shGWdoAqj7F1zHTdctAHwmjMT29agoS6PqTtwxo\"]},\"contracts/release/extensions/external-position-manager/external-positions/kiln-staking/KilnStakingPositionParser.sol\":{\"keccak256\":\"0xa0f2008936beecf65b69b92f1a1a5b4b85f34b249457732e4ae66cb492d9d0dc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://162b5b073c6fa615adf2808fdb792be7654f1b3de01f291e86683d93d1bc5014\",\"dweb:/ipfs/QmTWcSvRSqF67BAYfurZwUbMjLVCUGV4FneLGz53f8mmne\"]},\"contracts/release/interfaces/IKilnStakingContract.sol\":{\"keccak256\":\"0x6a8db9fe50daa7b148422a0ce3cecfa91918a0a089fa9c8a90e883e1a06aca96\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d64bc97472ac5fa432c715d0a25a0d12265bba0d996a153c7c8125484d73c484\",\"dweb:/ipfs/QmaXZa1sJhKM3JMJBYHnk9mAm3rqbU3UH1c1U9Rvsfbvfp\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_addressListRegistry", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_stakingContractsListId", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_weth", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "ADDRESS_LIST_REGISTRY_CONTRACT", - "outputs": [ - { - "internalType": "contract AddressListRegistry", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "ETH_AMOUNT_PER_NODE", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "STAKING_CONTRACTS_LIST_ID", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "WETH_TOKEN", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_externalPosition", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_actionId", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_encodedActionArgs", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "parseAssetsForAction", - "outputs": [ - { - "internalType": "address[]", - "name": "assetsToTransfer_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "amountsToTransfer_", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "assetsToReceive_", - "type": "address[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "parseInitArgs", - "outputs": [ - { - "internalType": "bytes", - "name": "initArgs_", - "type": "bytes" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "parseAssetsForAction(address,uint256,bytes)": { - "params": { - "_actionId": "The _actionId for the callOnExternalPosition", - "_encodedActionArgs": "The encoded parameters for the callOnExternalPosition", - "_externalPosition": "The ExternalPositionProxy address" - }, - "returns": { - "amountsToTransfer_": "The amounts to be transferred from the Vault", - "assetsToReceive_": "The assets to be received at the Vault", - "assetsToTransfer_": "The assets to be transferred from the Vault" - } - }, - "parseInitArgs(address,bytes)": { - "returns": { - "initArgs_": "Parsed and encoded args for ExternalPositionProxy.init()" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "parseAssetsForAction(address,uint256,bytes)": { - "notice": "Parses the assets to send and receive for the callOnExternalPosition" - }, - "parseInitArgs(address,bytes)": { - "notice": "Parse and validate input arguments to be used when initializing a newly-deployed ExternalPositionProxy" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/external-position-manager/external-positions/kiln-staking/KilnStakingPositionParser.sol": "KilnStakingPositionParser" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/address-list-registry/AddressListRegistry.sol": { - "keccak256": "0xf00a9e376e3ec2a223f463f71c15ee3af3642dd028bc3762440e316b760c8048", - "urls": [ - "bzz-raw://01986c9327b5dfbfac21316dced6d68727931ddde1278ed1342d878004f984b9", - "dweb:/ipfs/QmdXkFaUU43JqMTYEREbWa129rohdqN7GXy7mVRpjCfSLD" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/dispatcher/IDispatcher.sol": { - "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", - "urls": [ - "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", - "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/external-positions/IExternalPosition.sol": { - "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", - "urls": [ - "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", - "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/IExternalPositionParser.sol": { - "keccak256": "0x1662fbd65841ee5e9cf8d5329b9d04c264b24ef68ae1e0484e59a8969b0d2c46", - "urls": [ - "bzz-raw://580569b0f875e0344db83fae1e72dcc6c0767a049b2a6cc3e4f3c411d2284b27", - "dweb:/ipfs/QmXFmF9QbcVsPHaBo1iq8sZHYhDkwfkMZpHmLTuJJ37NvZ" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/kiln-staking/IKilnStakingPosition.sol": { - "keccak256": "0x9facf417e97f2d726add64ee197cdba0dffb97f5a2806039efb6c5ee86721083", - "urls": [ - "bzz-raw://6071ecdb5de558d450b56be1b578b4d5938753fa256d61772310ed9700af6aa4", - "dweb:/ipfs/QmYe2BstewfYqFosCNsrtzo1ctF3hmheb8NyM6A3SsN3y5" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/kiln-staking/KilnStakingPositionDataDecoder.sol": { - "keccak256": "0x558647201f7b6e4cc86493a965898adffbe012221e252b5cfc177065847d744a", - "urls": [ - "bzz-raw://df1beacc102597c734883b1744c157ea9391197797a98fb0f96cf4a16b01c6be", - "dweb:/ipfs/QmTU5m4shGWdoAqj7F1zHTdctAHwmjMT29agoS6PqTtwxo" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/kiln-staking/KilnStakingPositionParser.sol": { - "keccak256": "0xa0f2008936beecf65b69b92f1a1a5b4b85f34b249457732e4ae66cb492d9d0dc", - "urls": [ - "bzz-raw://162b5b073c6fa615adf2808fdb792be7654f1b3de01f291e86683d93d1bc5014", - "dweb:/ipfs/QmTWcSvRSqF67BAYfurZwUbMjLVCUGV4FneLGz53f8mmne" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IKilnStakingContract.sol": { - "keccak256": "0x6a8db9fe50daa7b148422a0ce3cecfa91918a0a089fa9c8a90e883e1a06aca96", - "urls": [ - "bzz-raw://d64bc97472ac5fa432c715d0a25a0d12265bba0d996a153c7c8125484d73c484", - "dweb:/ipfs/QmaXZa1sJhKM3JMJBYHnk9mAm3rqbU3UH1c1U9Rvsfbvfp" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 109 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_addressListRegistry", "type": "address", "internalType": "address" }, { "name": "_stakingContractsListId", "type": "uint256", "internalType": "uint256" }, { "name": "_weth", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "ADDRESS_LIST_REGISTRY_CONTRACT", "inputs": [], "outputs": [ { "name": "", "type": "address", "internalType": "contract AddressListRegistry" } ], "stateMutability": "view" }, { "type": "function", "name": "ETH_AMOUNT_PER_NODE", "inputs": [], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "STAKING_CONTRACTS_LIST_ID", "inputs": [], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "WETH_TOKEN", "inputs": [], "outputs": [ { "name": "", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "parseAssetsForAction", "inputs": [ { "name": "_externalPosition", "type": "address", "internalType": "address" }, { "name": "_actionId", "type": "uint256", "internalType": "uint256" }, { "name": "_encodedActionArgs", "type": "bytes", "internalType": "bytes" } ], "outputs": [ { "name": "assetsToTransfer_", "type": "address[]", "internalType": "address[]" }, { "name": "amountsToTransfer_", "type": "uint256[]", "internalType": "uint256[]" }, { "name": "assetsToReceive_", "type": "address[]", "internalType": "address[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "parseInitArgs", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [ { "name": "initArgs_", "type": "bytes", "internalType": "bytes" } ], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x60e06040523480156200001157600080fd5b5060405162000dd738038062000dd783398101604081905262000034916200007a565b6001600160601b0319606093841b811660805260a09290925290911b1660c05262000108565b80516200006781620000e3565b92915050565b80516200006781620000fd565b6000806000606084860312156200009057600080fd5b60006200009e86866200005a565b9350506020620000b1868287016200006d565b9250506040620000c4868287016200005a565b9150509250925092565b60006001600160a01b03821662000067565b90565b620000ee81620000ce565b8114620000fa57600080fd5b50565b620000ee81620000e0565b60805160601c60a05160c05160601c610c84620001536000398061011f52806101b2528061034c52806103ca52508061042252806104be52508060fb52806104915250610c846000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c806328cb563c1461006757806337d277d41461008557806356e277f01461009a578063bbd2d646146100af578063caacbe0a146100d1578063db16c72e146100d9575b600080fd5b61006f6100f9565b60405161007c9190610aea565b60405180910390f35b61008d61011d565b60405161007c9190610a89565b6100a2610141565b60405161007c9190610b28565b6100c26100bd36600461080f565b61014e565b60405161007c93929190610a97565b6100a2610420565b6100ec6100e73660046107c7565b610444565b60405161007c9190610ad9565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b6801bc16d674ec80000081565b6060808084610229576000806101638661045a565b915091506101708261047a565b604080516001808252818301909252906020808301908036833750506040805160018082528183019092529297509050602080830190803683370190505093507f0000000000000000000000000000000000000000000000000000000000000000856000815181106101de57fe5b6001600160a01b0390921660209283029190910190910152610209816801bc16d674ec800000610557565b8460008151811061021657fe5b6020026020010181815250505050610417565b600185141561039f576000606061023f86610598565b509150915061024d8261047a565b60005b815181101561032957886001600160a01b0316836001600160a01b031663e00cb6ca84848151811061027e57fe5b60200260200101516040518263ffffffff1660e01b81526004016102a29190610ad9565b60206040518083038186803b1580156102ba57600080fd5b505afa1580156102ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102f29190610702565b6001600160a01b0316146103215760405162461bcd60e51b815260040161031890610b18565b60405180910390fd5b600101610250565b5060408051600180825281830190925290602080830190803683370190505092507f00000000000000000000000000000000000000000000000000000000000000008360008151811061037857fe5b60200260200101906001600160a01b031690816001600160a01b0316815250505050610417565b60028514156104175760408051600180825281830190925290602080830190803683370190505090507f0000000000000000000000000000000000000000000000000000000000000000816000815181106103f657fe5b60200260200101906001600160a01b031690816001600160a01b0316815250505b93509350939050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6040805160208101909152600081525b92915050565b60008082806020019051810190610471919061078d565b91509150915091565b6040516307158c8160e21b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690631c563204906104e8907f0000000000000000000000000000000000000000000000000000000000000000908590600401610b36565b60206040518083038186803b15801561050057600080fd5b505afa158015610514573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610538919061086a565b6105545760405162461bcd60e51b815260040161031890610af8565b50565b60008261056657506000610454565b8282028284828161057357fe5b04146105915760405162461bcd60e51b815260040161031890610b08565b9392505050565b600060606000838060200190518101906105b29190610728565b9250925092509193909250565b803561045481610c44565b805161045481610c44565b600082601f8301126105e657600080fd5b81516105f96105f482610b78565b610b51565b81815260209384019390925082018360005b838110156106375781518601610621888261069b565b845250602092830192919091019060010161060b565b5050505092915050565b805161045481610c58565b600082601f83011261065d57600080fd5b813561066b6105f482610b99565b9150808252602083016020830185838301111561068757600080fd5b610692838284610bfe565b50505092915050565b600082601f8301126106ac57600080fd5b81516106ba6105f482610b99565b915080825260208301602083018583830111156106d657600080fd5b610692838284610c0a565b805161045481610c61565b803561045481610c6e565b805161045481610c6e565b60006020828403121561071457600080fd5b600061072084846105ca565b949350505050565b60008060006060848603121561073d57600080fd5b600061074986866105ca565b935050602084015167ffffffffffffffff81111561076657600080fd5b610772868287016105d5565b9250506040610783868287016106e1565b9150509250925092565b600080604083850312156107a057600080fd5b60006107ac85856105ca565b92505060206107bd858286016106f7565b9150509250929050565b600080604083850312156107da57600080fd5b60006107e685856105bf565b925050602083013567ffffffffffffffff81111561080357600080fd5b6107bd8582860161064c565b60008060006060848603121561082457600080fd5b600061083086866105bf565b9350506020610841868287016106ec565b925050604084013567ffffffffffffffff81111561085e57600080fd5b6107838682870161064c565b60006020828403121561087c57600080fd5b60006107208484610641565b600061089483836108a8565b505060200190565b60006108948383610a80565b6108b181610bd4565b82525050565b60006108c282610bc7565b6108cc8185610bcb565b93506108d783610bc1565b8060005b838110156109055781516108ef8882610888565b97506108fa83610bc1565b9250506001016108db565b509495945050505050565b600061091b82610bc7565b6109258185610bcb565b935061093083610bc1565b8060005b83811015610905578151610948888261089c565b975061095383610bc1565b925050600101610934565b600061096982610bc7565b6109738185610bcb565b9350610983818560208601610c0a565b61098c81610c3a565b9093019392505050565b6108b181610bf3565b60006109ac603383610bcb565b7f5f5f76616c69646174655374616b696e67436f6e74726163743a20496e76616c8152721a59081cdd185ada5b99c818dbdb9d1c9858dd606a1b602082015260400192915050565b6000610a01602183610bcb565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000610a44602783610bcb565b7f7061727365417373657473466f72416374696f6e3a20496e76616c69642076618152663634b230ba37b960c91b602082015260400192915050565b6108b181610bf0565b6020810161045482846108a8565b60608082528101610aa881866108b7565b90508181036020830152610abc8185610910565b90508181036040830152610ad081846108b7565b95945050505050565b60208082528101610591818461095e565b602081016104548284610996565b602080825281016104548161099f565b60208082528101610454816109f4565b6020808252810161045481610a37565b602081016104548284610a80565b60408101610b448285610a80565b61059160208301846108a8565b60405181810167ffffffffffffffff81118282101715610b7057600080fd5b604052919050565b600067ffffffffffffffff821115610b8f57600080fd5b5060209081020190565b600067ffffffffffffffff821115610bb057600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b600061045482610be4565b151590565b6001600160a01b031690565b90565b600061045482610bd4565b82818337506000910152565b60005b83811015610c25578181015183820152602001610c0d565b83811115610c34576000848401525b50505050565b601f01601f191690565b610c4d81610bd4565b811461055457600080fd5b610c4d81610bdf565b6003811061055457600080fd5b610c4d81610bf056fea164736f6c634300060c000a", "sourceMap": "768:3750:109:-:0;;;1133:307;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;1270:74:109;;;;;;;;1354:51;;;;;1415:18;;;;;;768:3750;;5:134:-1;83:13;;101:33;83:13;101:33;:::i;:::-;68:71;;;;:::o;146:134::-;224:13;;242:33;224:13;242:33;:::i;287:535::-;;;;436:2;424:9;415:7;411:23;407:32;404:2;;;452:1;449;442:12;404:2;487:1;504:64;560:7;540:9;504:64;:::i;:::-;494:74;;466:108;605:2;623:64;679:7;670:6;659:9;655:22;623:64;:::i;:::-;613:74;;584:109;724:2;742:64;798:7;789:6;778:9;774:22;742:64;:::i;:::-;732:74;;703:109;398:424;;;;;:::o;829:91::-;;-1:-1;;;;;989:54;;891:24;972:76::o;1055:72::-;1117:5;1100:27::o;1134:117::-;1203:24;1221:5;1203:24;:::i;:::-;1196:5;1193:35;1183:2;;1242:1;1239;1232:12;1183:2;1177:74;:::o;1258:117::-;1327:24;1345:5;1327:24;:::i;1301:74::-;768:3750:109;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106100625760003560e01c806328cb563c1461006757806337d277d41461008557806356e277f01461009a578063bbd2d646146100af578063caacbe0a146100d1578063db16c72e146100d9575b600080fd5b61006f6100f9565b60405161007c9190610aea565b60405180910390f35b61008d61011d565b60405161007c9190610a89565b6100a2610141565b60405161007c9190610b28565b6100c26100bd36600461080f565b61014e565b60405161007c93929190610a97565b6100a2610420565b6100ec6100e73660046107c7565b610444565b60405161007c9190610ad9565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b6801bc16d674ec80000081565b6060808084610229576000806101638661045a565b915091506101708261047a565b604080516001808252818301909252906020808301908036833750506040805160018082528183019092529297509050602080830190803683370190505093507f0000000000000000000000000000000000000000000000000000000000000000856000815181106101de57fe5b6001600160a01b0390921660209283029190910190910152610209816801bc16d674ec800000610557565b8460008151811061021657fe5b6020026020010181815250505050610417565b600185141561039f576000606061023f86610598565b509150915061024d8261047a565b60005b815181101561032957886001600160a01b0316836001600160a01b031663e00cb6ca84848151811061027e57fe5b60200260200101516040518263ffffffff1660e01b81526004016102a29190610ad9565b60206040518083038186803b1580156102ba57600080fd5b505afa1580156102ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102f29190610702565b6001600160a01b0316146103215760405162461bcd60e51b815260040161031890610b18565b60405180910390fd5b600101610250565b5060408051600180825281830190925290602080830190803683370190505092507f00000000000000000000000000000000000000000000000000000000000000008360008151811061037857fe5b60200260200101906001600160a01b031690816001600160a01b0316815250505050610417565b60028514156104175760408051600180825281830190925290602080830190803683370190505090507f0000000000000000000000000000000000000000000000000000000000000000816000815181106103f657fe5b60200260200101906001600160a01b031690816001600160a01b0316815250505b93509350939050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6040805160208101909152600081525b92915050565b60008082806020019051810190610471919061078d565b91509150915091565b6040516307158c8160e21b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690631c563204906104e8907f0000000000000000000000000000000000000000000000000000000000000000908590600401610b36565b60206040518083038186803b15801561050057600080fd5b505afa158015610514573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610538919061086a565b6105545760405162461bcd60e51b815260040161031890610af8565b50565b60008261056657506000610454565b8282028284828161057357fe5b04146105915760405162461bcd60e51b815260040161031890610b08565b9392505050565b600060606000838060200190518101906105b29190610728565b9250925092509193909250565b803561045481610c44565b805161045481610c44565b600082601f8301126105e657600080fd5b81516105f96105f482610b78565b610b51565b81815260209384019390925082018360005b838110156106375781518601610621888261069b565b845250602092830192919091019060010161060b565b5050505092915050565b805161045481610c58565b600082601f83011261065d57600080fd5b813561066b6105f482610b99565b9150808252602083016020830185838301111561068757600080fd5b610692838284610bfe565b50505092915050565b600082601f8301126106ac57600080fd5b81516106ba6105f482610b99565b915080825260208301602083018583830111156106d657600080fd5b610692838284610c0a565b805161045481610c61565b803561045481610c6e565b805161045481610c6e565b60006020828403121561071457600080fd5b600061072084846105ca565b949350505050565b60008060006060848603121561073d57600080fd5b600061074986866105ca565b935050602084015167ffffffffffffffff81111561076657600080fd5b610772868287016105d5565b9250506040610783868287016106e1565b9150509250925092565b600080604083850312156107a057600080fd5b60006107ac85856105ca565b92505060206107bd858286016106f7565b9150509250929050565b600080604083850312156107da57600080fd5b60006107e685856105bf565b925050602083013567ffffffffffffffff81111561080357600080fd5b6107bd8582860161064c565b60008060006060848603121561082457600080fd5b600061083086866105bf565b9350506020610841868287016106ec565b925050604084013567ffffffffffffffff81111561085e57600080fd5b6107838682870161064c565b60006020828403121561087c57600080fd5b60006107208484610641565b600061089483836108a8565b505060200190565b60006108948383610a80565b6108b181610bd4565b82525050565b60006108c282610bc7565b6108cc8185610bcb565b93506108d783610bc1565b8060005b838110156109055781516108ef8882610888565b97506108fa83610bc1565b9250506001016108db565b509495945050505050565b600061091b82610bc7565b6109258185610bcb565b935061093083610bc1565b8060005b83811015610905578151610948888261089c565b975061095383610bc1565b925050600101610934565b600061096982610bc7565b6109738185610bcb565b9350610983818560208601610c0a565b61098c81610c3a565b9093019392505050565b6108b181610bf3565b60006109ac603383610bcb565b7f5f5f76616c69646174655374616b696e67436f6e74726163743a20496e76616c8152721a59081cdd185ada5b99c818dbdb9d1c9858dd606a1b602082015260400192915050565b6000610a01602183610bcb565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000610a44602783610bcb565b7f7061727365417373657473466f72416374696f6e3a20496e76616c69642076618152663634b230ba37b960c91b602082015260400192915050565b6108b181610bf0565b6020810161045482846108a8565b60608082528101610aa881866108b7565b90508181036020830152610abc8185610910565b90508181036040830152610ad081846108b7565b95945050505050565b60208082528101610591818461095e565b602081016104548284610996565b602080825281016104548161099f565b60208082528101610454816109f4565b6020808252810161045481610a37565b602081016104548284610a80565b60408101610b448285610a80565b61059160208301846108a8565b60405181810167ffffffffffffffff81118282101715610b7057600080fd5b604052919050565b600067ffffffffffffffff821115610b8f57600080fd5b5060209081020190565b600067ffffffffffffffff821115610bb057600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b600061045482610be4565b151590565b6001600160a01b031690565b90565b600061045482610bd4565b82818337506000910152565b60005b83811015610c25578181015183820152602001610c0d565b83811115610c34576000848401525b50505050565b601f01601f191690565b610c4d81610bd4565b811461055457600080fd5b610c4d81610bdf565b6003811061055457600080fd5b610c4d81610bf056fea164736f6c634300060c000a", "sourceMap": "768:3750:109:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;962:67;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1091:35;;;:::i;:::-;;;;;;;:::i;901:54::-;;;:::i;:::-;;;;;;;:::i;1986:1861::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;:::i;1035:50::-;;;:::i;4055:151::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;962:67::-;;;:::o;1091:35::-;;;:::o;901:54::-;947:8;901:54;:::o;1986:1861::-;2189:34;;;2348:56;2344:1423;;2421:30;2453:23;2480:73;2521:18;2480:23;:73::i;:::-;2420:133;;;;2568:49;2594:22;2568:25;:49::i;:::-;2652:16;;;2666:1;2652:16;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2703:16:109;;;2717:1;2703:16;;;;;;;;;2632:36;;-1:-1:-1;2717:1:109;-1:-1:-1;2703:16:109;;;;;;;;;;;-1:-1:-1;2703:16:109;2682:37;;2757:10;2734:17;2752:1;2734:20;;;;;;;;-1:-1:-1;;;;;2734:33:109;;;:20;;;;;;;;;;;:33;2805:40;:15;947:8;2805:19;:40::i;:::-;2781:18;2800:1;2781:21;;;;;;;;;;;;;:64;;;;;2344:1423;;;;;2887:38;2866:9;:60;2862:905;;;2960:30;3008:25;3052:43;3076:18;3052:23;:43::i;:::-;2942:153;;;;;3110:49;3136:22;3110:25;:49::i;:::-;3179:9;3174:305;3194:10;:17;3190:1;:21;3174:305;;;3366:17;-1:-1:-1;;;;;3265:118:109;3286:22;-1:-1:-1;;;;;3265:58:109;;3324:10;3335:1;3324:13;;;;;;;;;;;;;;3265:73;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;3265:118:109;;3236:228;;;;-1:-1:-1;;;3236:228:109;;;;;;;:::i;:::-;;;;;;;;;3213:3;;3174:305;;;-1:-1:-1;3512:16:109;;;3526:1;3512:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3512:16:109;3493:35;;3565:10;3543:16;3560:1;3543:19;;;;;;;;;;;;;:32;-1:-1:-1;;;;;3543:32:109;;;-1:-1:-1;;;;;3543:32:109;;;;;2862:905;;;;;3617:40;3596:9;:62;3592:175;;;3693:16;;;3707:1;3693:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3693:16:109;3674:35;;3746:10;3724:16;3741:1;3724:19;;;;;;;;;;;;;:32;-1:-1:-1;;;;;3724:32:109;;;-1:-1:-1;;;;;3724:32:109;;;;;3592:175;1986:1861;;;;;;;:::o;1035:50::-;;;:::o;4055:151::-;4190:9;;;;;;;;;-1:-1:-1;4190:9:109;;4055:151;;;;;:::o;1037:236:107:-;1143:31;1176:24;1234:11;1223:43;;;;;;;;;;;;:::i;:::-;1216:50;;;;1037:236;;;:::o;4267:249:109:-;4360:72;;-1:-1:-1;;;4360:72:109;;-1:-1:-1;;;;;4360:30:109;:39;;;;:72;;4400:25;;4427:4;;4360:72;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4339:170;;;;-1:-1:-1;;;4339:170:109;;;;;;;:::i;:::-;4267:249;:::o;3538:215:442:-;3596:7;3619:6;3615:20;;-1:-1:-1;3634:1:442;3627:8;;3615:20;3657:5;;;3661:1;3657;:5;:1;3680:5;;;;;:10;3672:56;;;;-1:-1:-1;;;3672:56:442;;;;;;;:::i;:::-;3745:1;3538:215;-1:-1:-1;;;3538:215:442:o;598:369:107:-;717:31;762:26;802:47;892:11;881:79;;;;;;;;;;;;:::i;:::-;874:86;;;;;;598:369;;;;;:::o;5:130:-1:-;72:20;;97:33;72:20;97:33;:::i;142:134::-;220:13;;238:33;220:13;238:33;:::i;456:713::-;;593:3;586:4;578:6;574:17;570:27;560:2;;611:1;608;601:12;560:2;641:6;635:13;663:89;678:73;744:6;678:73;:::i;:::-;663:89;:::i;:::-;780:21;;;824:4;812:17;;;;654:98;;-1:-1;837:14;;812:17;932:1;917:246;942:6;939:1;936:13;917:246;;;1018:3;1012:10;1004:6;1000:23;1042:57;1095:3;1083:10;1042:57;:::i;:::-;1030:70;;-1:-1;1123:4;1114:14;;;;1142;;;;;964:1;957:9;917:246;;;921:14;553:616;;;;;;;:::o;1177:128::-;1252:13;;1270:30;1252:13;1270:30;:::i;1313:440::-;;1414:3;1407:4;1399:6;1395:17;1391:27;1381:2;;1432:1;1429;1422:12;1381:2;1469:6;1456:20;1491:64;1506:48;1547:6;1506:48;:::i;1491:64::-;1482:73;;1575:6;1568:5;1561:21;1611:4;1603:6;1599:17;1644:4;1637:5;1633:16;1679:3;1670:6;1665:3;1661:16;1658:25;1655:2;;;1696:1;1693;1686:12;1655:2;1706:41;1740:6;1735:3;1730;1706:41;:::i;:::-;1374:379;;;;;;;:::o;1762:442::-;;1874:3;1867:4;1859:6;1855:17;1851:27;1841:2;;1892:1;1889;1882:12;1841:2;1922:6;1916:13;1944:64;1959:48;2000:6;1959:48;:::i;1944:64::-;1935:73;;2028:6;2021:5;2014:21;2064:4;2056:6;2052:17;2097:4;2090:5;2086:16;2132:3;2123:6;2118:3;2114:16;2111:25;2108:2;;;2149:1;2146;2139:12;2108:2;2159:39;2191:6;2186:3;2181;2159:39;:::i;2212:172::-;2309:13;;2327:52;2309:13;2327:52;:::i;2391:130::-;2458:20;;2483:33;2458:20;2483:33;:::i;2528:134::-;2606:13;;2624:33;2606:13;2624:33;:::i;2669:263::-;;2784:2;2772:9;2763:7;2759:23;2755:32;2752:2;;;2800:1;2797;2790:12;2752:2;2835:1;2852:64;2908:7;2888:9;2852:64;:::i;:::-;2842:74;2746:186;-1:-1;;;;2746:186::o;2939:736::-;;;;3149:2;3137:9;3128:7;3124:23;3120:32;3117:2;;;3165:1;3162;3155:12;3117:2;3200:1;3217:72;3281:7;3261:9;3217:72;:::i;:::-;3207:82;;3179:116;3347:2;3336:9;3332:18;3326:25;3371:18;3363:6;3360:30;3357:2;;;3403:1;3400;3393:12;3357:2;3423:98;3513:7;3504:6;3493:9;3489:22;3423:98;:::i;:::-;3413:108;;3305:222;3558:2;3576:83;3651:7;3642:6;3631:9;3627:22;3576:83;:::i;:::-;3566:93;;3537:128;3111:564;;;;;:::o;3682:415::-;;;3822:2;3810:9;3801:7;3797:23;3793:32;3790:2;;;3838:1;3835;3828:12;3790:2;3873:1;3890:72;3954:7;3934:9;3890:72;:::i;:::-;3880:82;;3852:116;3999:2;4017:64;4073:7;4064:6;4053:9;4049:22;4017:64;:::i;:::-;4007:74;;3978:109;3784:313;;;;;:::o;4104:470::-;;;4234:2;4222:9;4213:7;4209:23;4205:32;4202:2;;;4250:1;4247;4240:12;4202:2;4285:1;4302:53;4347:7;4327:9;4302:53;:::i;:::-;4292:63;;4264:97;4420:2;4409:9;4405:18;4392:32;4444:18;4436:6;4433:30;4430:2;;;4476:1;4473;4466:12;4430:2;4496:62;4550:7;4541:6;4530:9;4526:22;4496:62;:::i;4581:595::-;;;;4728:2;4716:9;4707:7;4703:23;4699:32;4696:2;;;4744:1;4741;4734:12;4696:2;4779:1;4796:53;4841:7;4821:9;4796:53;:::i;:::-;4786:63;;4758:97;4886:2;4904:53;4949:7;4940:6;4929:9;4925:22;4904:53;:::i;:::-;4894:63;;4865:98;5022:2;5011:9;5007:18;4994:32;5046:18;5038:6;5035:30;5032:2;;;5078:1;5075;5068:12;5032:2;5098:62;5152:7;5143:6;5132:9;5128:22;5098:62;:::i;5183:257::-;;5295:2;5283:9;5274:7;5270:23;5266:32;5263:2;;;5311:1;5308;5301:12;5263:2;5346:1;5363:61;5416:7;5396:9;5363:61;:::i;5448:173::-;;5535:46;5577:3;5569:6;5535:46;:::i;:::-;-1:-1;;5610:4;5601:14;;5528:93::o;5630:173::-;;5717:46;5759:3;5751:6;5717:46;:::i;5811:103::-;5884:24;5902:5;5884:24;:::i;:::-;5879:3;5872:37;5866:48;;:::o;6072:690::-;;6217:54;6265:5;6217:54;:::i;:::-;6284:86;6363:6;6358:3;6284:86;:::i;:::-;6277:93;;6391:56;6441:5;6391:56;:::i;:::-;6467:7;6495:1;6480:260;6505:6;6502:1;6499:13;6480:260;;;6572:6;6566:13;6593:63;6652:3;6637:13;6593:63;:::i;:::-;6586:70;;6673:60;6726:6;6673:60;:::i;:::-;6663:70;-1:-1;;6527:1;6520:9;6480:260;;;-1:-1;6753:3;;6196:566;-1:-1;;;;;6196:566::o;6801:690::-;;6946:54;6994:5;6946:54;:::i;:::-;7013:86;7092:6;7087:3;7013:86;:::i;:::-;7006:93;;7120:56;7170:5;7120:56;:::i;:::-;7196:7;7224:1;7209:260;7234:6;7231:1;7228:13;7209:260;;;7301:6;7295:13;7322:63;7381:3;7366:13;7322:63;:::i;:::-;7315:70;;7402:60;7455:6;7402:60;:::i;:::-;7392:70;-1:-1;;7256:1;7249:9;7209:260;;7499:343;;7609:38;7641:5;7609:38;:::i;:::-;7659:70;7722:6;7717:3;7659:70;:::i;:::-;7652:77;;7734:52;7779:6;7774:3;7767:4;7760:5;7756:16;7734:52;:::i;:::-;7807:29;7829:6;7807:29;:::i;:::-;7798:39;;;;7589:253;-1:-1;;;7589:253::o;7849:182::-;7960:65;8019:5;7960:65;:::i;8039:388::-;;8199:67;8263:2;8258:3;8199:67;:::i;:::-;8299:34;8279:55;;-1:-1;;;8363:2;8354:12;;8347:43;8418:2;8409:12;;8185:242;-1:-1;;8185:242::o;8436:370::-;;8596:67;8660:2;8655:3;8596:67;:::i;:::-;8696:34;8676:55;;-1:-1;;;8760:2;8751:12;;8744:25;8797:2;8788:12;;8582:224;-1:-1;;8582:224::o;8815:376::-;;8975:67;9039:2;9034:3;8975:67;:::i;:::-;9075:34;9055:55;;-1:-1;;;9139:2;9130:12;;9123:31;9182:2;9173:12;;8961:230;-1:-1;;8961:230::o;9199:103::-;9272:24;9290:5;9272:24;:::i;9429:222::-;9556:2;9541:18;;9570:71;9545:9;9614:6;9570:71;:::i;9658:888::-;9991:2;10005:47;;;9976:18;;10066:108;9976:18;10160:6;10066:108;:::i;:::-;10058:116;;10222:9;10216:4;10212:20;10207:2;10196:9;10192:18;10185:48;10247:108;10350:4;10341:6;10247:108;:::i;:::-;10239:116;;10403:9;10397:4;10393:20;10388:2;10377:9;10373:18;10366:48;10428:108;10531:4;10522:6;10428:108;:::i;:::-;10420:116;9962:584;-1:-1;;;;;9962:584::o;10553:306::-;10698:2;10712:47;;;10683:18;;10773:76;10683:18;10835:6;10773:76;:::i;10866:278::-;11021:2;11006:18;;11035:99;11010:9;11107:6;11035:99;:::i;11151:416::-;11351:2;11365:47;;;11336:18;;11426:131;11336:18;11426:131;:::i;11574:416::-;11774:2;11788:47;;;11759:18;;11849:131;11759:18;11849:131;:::i;11997:416::-;12197:2;12211:47;;;12182:18;;12272:131;12182:18;12272:131;:::i;12420:222::-;12547:2;12532:18;;12561:71;12536:9;12605:6;12561:71;:::i;12649:333::-;12804:2;12789:18;;12818:71;12793:9;12862:6;12818:71;:::i;:::-;12900:72;12968:2;12957:9;12953:18;12944:6;12900:72;:::i;12989:256::-;13051:2;13045:9;13077:17;;;13152:18;13137:34;;13173:22;;;13134:62;13131:2;;;13209:1;13206;13199:12;13131:2;13225;13218:22;13029:216;;-1:-1;13029:216::o;13252:313::-;;13420:18;13412:6;13409:30;13406:2;;;13452:1;13449;13442:12;13406:2;-1:-1;13487:4;13475:17;;;13540:15;;13343:222::o;13572:321::-;;13715:18;13707:6;13704:30;13701:2;;;13747:1;13744;13737:12;13701:2;-1:-1;13878:4;13814;13791:17;;;;-1:-1;;13787:33;13868:15;;13638:255::o;13900:151::-;14024:4;14015:14;;13972:79::o;14216:137::-;14319:12;;14290:63::o;14863:178::-;14981:19;;;15030:4;15021:14;;14974:67::o;15579:91::-;;15641:24;15659:5;15641:24;:::i;15783:85::-;15849:13;15842:21;;15825:43::o;15875:121::-;-1:-1;;;;;15937:54;;15920:76::o;16003:72::-;16065:5;16048:27::o;16082:177::-;;16189:65;16248:5;16189:65;:::i;16410:145::-;16491:6;16486:3;16481;16468:30;-1:-1;16547:1;16529:16;;16522:27;16461:94::o;16564:268::-;16629:1;16636:101;16650:6;16647:1;16644:13;16636:101;;;16717:11;;;16711:18;16698:11;;;16691:39;16672:2;16665:10;16636:101;;;16752:6;16749:1;16746:13;16743:2;;;16817:1;16808:6;16803:3;16799:16;16792:27;16743:2;16613:219;;;;:::o;16840:97::-;16928:2;16908:14;-1:-1;;16904:28;;16888:49::o;16945:117::-;17014:24;17032:5;17014:24;:::i;:::-;17007:5;17004:35;16994:2;;17053:1;17050;17043:12;17209:111;17275:21;17290:5;17275:21;:::i;17327:113::-;17415:1;17408:5;17405:12;17395:2;;17431:1;17428;17421:12;17447:117;17516:24;17534:5;17516:24;:::i", "linkReferences": {}, "immutableReferences": { "25857": [ { "start": 251, "length": 32 }, { "start": 1169, "length": 32 } ], "25859": [ { "start": 1058, "length": 32 }, { "start": 1214, "length": 32 } ], "25861": [ { "start": 287, "length": 32 }, { "start": 434, "length": 32 }, { "start": 844, "length": 32 }, { "start": 970, "length": 32 } ] } }, "methodIdentifiers": { "ADDRESS_LIST_REGISTRY_CONTRACT()": "28cb563c", "ETH_AMOUNT_PER_NODE()": "56e277f0", "STAKING_CONTRACTS_LIST_ID()": "caacbe0a", "WETH_TOKEN()": "37d277d4", "parseAssetsForAction(address,uint256,bytes)": "bbd2d646", "parseInitArgs(address,bytes)": "db16c72e" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_addressListRegistry\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_stakingContractsListId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_weth\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"ADDRESS_LIST_REGISTRY_CONTRACT\",\"outputs\":[{\"internalType\":\"contract AddressListRegistry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"ETH_AMOUNT_PER_NODE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"STAKING_CONTRACTS_LIST_ID\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"WETH_TOKEN\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_externalPosition\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_actionId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_encodedActionArgs\",\"type\":\"bytes\"}],\"name\":\"parseAssetsForAction\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"assetsToTransfer_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amountsToTransfer_\",\"type\":\"uint256[]\"},{\"internalType\":\"address[]\",\"name\":\"assetsToReceive_\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"parseInitArgs\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"initArgs_\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"parseAssetsForAction(address,uint256,bytes)\":{\"params\":{\"_actionId\":\"The _actionId for the callOnExternalPosition\",\"_encodedActionArgs\":\"The encoded parameters for the callOnExternalPosition\",\"_externalPosition\":\"The ExternalPositionProxy address\"},\"returns\":{\"amountsToTransfer_\":\"The amounts to be transferred from the Vault\",\"assetsToReceive_\":\"The assets to be received at the Vault\",\"assetsToTransfer_\":\"The assets to be transferred from the Vault\"}},\"parseInitArgs(address,bytes)\":{\"returns\":{\"initArgs_\":\"Parsed and encoded args for ExternalPositionProxy.init()\"}}},\"title\":\"KilnStakingPositionParser\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"parseAssetsForAction(address,uint256,bytes)\":{\"notice\":\"Parses the assets to send and receive for the callOnExternalPosition\"},\"parseInitArgs(address,bytes)\":{\"notice\":\"Parse and validate input arguments to be used when initializing a newly-deployed ExternalPositionProxy\"}},\"notice\":\"Parser for Kiln Staking Positions\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/kiln-staking/KilnStakingPositionParser.sol\":\"KilnStakingPositionParser\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/address-list-registry/AddressListRegistry.sol\":{\"keccak256\":\"0xf00a9e376e3ec2a223f463f71c15ee3af3642dd028bc3762440e316b760c8048\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://01986c9327b5dfbfac21316dced6d68727931ddde1278ed1342d878004f984b9\",\"dweb:/ipfs/QmdXkFaUU43JqMTYEREbWa129rohdqN7GXy7mVRpjCfSLD\"]},\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/release/extensions/external-position-manager/external-positions/IExternalPositionParser.sol\":{\"keccak256\":\"0x1662fbd65841ee5e9cf8d5329b9d04c264b24ef68ae1e0484e59a8969b0d2c46\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://580569b0f875e0344db83fae1e72dcc6c0767a049b2a6cc3e4f3c411d2284b27\",\"dweb:/ipfs/QmXFmF9QbcVsPHaBo1iq8sZHYhDkwfkMZpHmLTuJJ37NvZ\"]},\"contracts/release/extensions/external-position-manager/external-positions/kiln-staking/IKilnStakingPosition.sol\":{\"keccak256\":\"0x9facf417e97f2d726add64ee197cdba0dffb97f5a2806039efb6c5ee86721083\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6071ecdb5de558d450b56be1b578b4d5938753fa256d61772310ed9700af6aa4\",\"dweb:/ipfs/QmYe2BstewfYqFosCNsrtzo1ctF3hmheb8NyM6A3SsN3y5\"]},\"contracts/release/extensions/external-position-manager/external-positions/kiln-staking/KilnStakingPositionDataDecoder.sol\":{\"keccak256\":\"0x558647201f7b6e4cc86493a965898adffbe012221e252b5cfc177065847d744a\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://df1beacc102597c734883b1744c157ea9391197797a98fb0f96cf4a16b01c6be\",\"dweb:/ipfs/QmTU5m4shGWdoAqj7F1zHTdctAHwmjMT29agoS6PqTtwxo\"]},\"contracts/release/extensions/external-position-manager/external-positions/kiln-staking/KilnStakingPositionParser.sol\":{\"keccak256\":\"0xa0f2008936beecf65b69b92f1a1a5b4b85f34b249457732e4ae66cb492d9d0dc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://162b5b073c6fa615adf2808fdb792be7654f1b3de01f291e86683d93d1bc5014\",\"dweb:/ipfs/QmTWcSvRSqF67BAYfurZwUbMjLVCUGV4FneLGz53f8mmne\"]},\"contracts/release/interfaces/IKilnStakingContract.sol\":{\"keccak256\":\"0x6a8db9fe50daa7b148422a0ce3cecfa91918a0a089fa9c8a90e883e1a06aca96\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d64bc97472ac5fa432c715d0a25a0d12265bba0d996a153c7c8125484d73c484\",\"dweb:/ipfs/QmaXZa1sJhKM3JMJBYHnk9mAm3rqbU3UH1c1U9Rvsfbvfp\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_addressListRegistry", "type": "address" }, { "internalType": "uint256", "name": "_stakingContractsListId", "type": "uint256" }, { "internalType": "address", "name": "_weth", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "ADDRESS_LIST_REGISTRY_CONTRACT", "outputs": [ { "internalType": "contract AddressListRegistry", "name": "", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "ETH_AMOUNT_PER_NODE", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "STAKING_CONTRACTS_LIST_ID", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "WETH_TOKEN", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_externalPosition", "type": "address" }, { "internalType": "uint256", "name": "_actionId", "type": "uint256" }, { "internalType": "bytes", "name": "_encodedActionArgs", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "parseAssetsForAction", "outputs": [ { "internalType": "address[]", "name": "assetsToTransfer_", "type": "address[]" }, { "internalType": "uint256[]", "name": "amountsToTransfer_", "type": "uint256[]" }, { "internalType": "address[]", "name": "assetsToReceive_", "type": "address[]" } ] }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "parseInitArgs", "outputs": [ { "internalType": "bytes", "name": "initArgs_", "type": "bytes" } ] } ], "devdoc": { "kind": "dev", "methods": { "parseAssetsForAction(address,uint256,bytes)": { "params": { "_actionId": "The _actionId for the callOnExternalPosition", "_encodedActionArgs": "The encoded parameters for the callOnExternalPosition", "_externalPosition": "The ExternalPositionProxy address" }, "returns": { "amountsToTransfer_": "The amounts to be transferred from the Vault", "assetsToReceive_": "The assets to be received at the Vault", "assetsToTransfer_": "The assets to be transferred from the Vault" } }, "parseInitArgs(address,bytes)": { "returns": { "initArgs_": "Parsed and encoded args for ExternalPositionProxy.init()" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "parseAssetsForAction(address,uint256,bytes)": { "notice": "Parses the assets to send and receive for the callOnExternalPosition" }, "parseInitArgs(address,bytes)": { "notice": "Parse and validate input arguments to be used when initializing a newly-deployed ExternalPositionProxy" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/external-position-manager/external-positions/kiln-staking/KilnStakingPositionParser.sol": "KilnStakingPositionParser" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/address-list-registry/AddressListRegistry.sol": { "keccak256": "0xf00a9e376e3ec2a223f463f71c15ee3af3642dd028bc3762440e316b760c8048", "urls": [ "bzz-raw://01986c9327b5dfbfac21316dced6d68727931ddde1278ed1342d878004f984b9", "dweb:/ipfs/QmdXkFaUU43JqMTYEREbWa129rohdqN7GXy7mVRpjCfSLD" ], "license": "GPL-3.0" }, "contracts/persistent/dispatcher/IDispatcher.sol": { "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", "urls": [ "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" ], "license": "GPL-3.0" }, "contracts/persistent/external-positions/IExternalPosition.sol": { "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", "urls": [ "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/IExternalPositionParser.sol": { "keccak256": "0x1662fbd65841ee5e9cf8d5329b9d04c264b24ef68ae1e0484e59a8969b0d2c46", "urls": [ "bzz-raw://580569b0f875e0344db83fae1e72dcc6c0767a049b2a6cc3e4f3c411d2284b27", "dweb:/ipfs/QmXFmF9QbcVsPHaBo1iq8sZHYhDkwfkMZpHmLTuJJ37NvZ" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/kiln-staking/IKilnStakingPosition.sol": { "keccak256": "0x9facf417e97f2d726add64ee197cdba0dffb97f5a2806039efb6c5ee86721083", "urls": [ "bzz-raw://6071ecdb5de558d450b56be1b578b4d5938753fa256d61772310ed9700af6aa4", "dweb:/ipfs/QmYe2BstewfYqFosCNsrtzo1ctF3hmheb8NyM6A3SsN3y5" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/kiln-staking/KilnStakingPositionDataDecoder.sol": { "keccak256": "0x558647201f7b6e4cc86493a965898adffbe012221e252b5cfc177065847d744a", "urls": [ "bzz-raw://df1beacc102597c734883b1744c157ea9391197797a98fb0f96cf4a16b01c6be", "dweb:/ipfs/QmTU5m4shGWdoAqj7F1zHTdctAHwmjMT29agoS6PqTtwxo" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/kiln-staking/KilnStakingPositionParser.sol": { "keccak256": "0xa0f2008936beecf65b69b92f1a1a5b4b85f34b249457732e4ae66cb492d9d0dc", "urls": [ "bzz-raw://162b5b073c6fa615adf2808fdb792be7654f1b3de01f291e86683d93d1bc5014", "dweb:/ipfs/QmTWcSvRSqF67BAYfurZwUbMjLVCUGV4FneLGz53f8mmne" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IKilnStakingContract.sol": { "keccak256": "0x6a8db9fe50daa7b148422a0ce3cecfa91918a0a089fa9c8a90e883e1a06aca96", "urls": [ "bzz-raw://d64bc97472ac5fa432c715d0a25a0d12265bba0d996a153c7c8125484d73c484", "dweb:/ipfs/QmaXZa1sJhKM3JMJBYHnk9mAm3rqbU3UH1c1U9Rvsfbvfp" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" } }, "version": 1 }, "id": 109 } diff --git a/eth_defi/abi/enzyme/LiquidityAmounts.json b/eth_defi/abi/enzyme/LiquidityAmounts.json index 9fefaaec..3d57fe88 100644 --- a/eth_defi/abi/enzyme/LiquidityAmounts.json +++ b/eth_defi/abi/enzyme/LiquidityAmounts.json @@ -1,94 +1 @@ -{ - "abi": [], - "bytecode": { - "object": "0x602d6023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c6343000706000a", - "sourceMap": "327:6487:48:-:0;;;;;;;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c6343000706000a", - "sourceMap": "327:6487:48:-:0;;;;;;;;", - "linkReferences": {} - }, - "methodIdentifiers": {}, - "rawMetadata": "{\"compiler\":{\"version\":\"0.7.6+commit.7338295f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"title\":\"Liquidity amount functions\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Provides functions for computing liquidity amounts from token amounts and prices\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@uniswap/v3-periphery/contracts/libraries/LiquidityAmounts.sol\":\"LiquidityAmounts\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"node_modules/@uniswap/v3-core/contracts/libraries/FixedPoint96.sol\":{\"keccak256\":\"0x0ba8a9b95a956a4050749c0158e928398c447c91469682ca8a7cc7e77a7fe032\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://186d3b528866065a5856f96d2aeec698efa99f8da913e9adf34f8cc296cc993d\",\"dweb:/ipfs/QmUAiMvtAQp8c9dy57bqJYzG7hkb1uChiPaQmt264skoqP\"]},\"node_modules/@uniswap/v3-core/contracts/libraries/FullMath.sol\":{\"keccak256\":\"0xe511530871deaef86692cea9adb6076d26d7b47fd4815ce51af52af981026057\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5a6ae776be3e7dcbd23d49ffbc9d792fed0ddf4b111ebb64b9bb2133ec263e\",\"dweb:/ipfs/QmbAUtWqvipzEARQpFpkzYKBELy3qeW5WXnZxHFU84sxG7\"]},\"node_modules/@uniswap/v3-periphery/contracts/libraries/LiquidityAmounts.sol\":{\"keccak256\":\"0xf149581d28e1c81736dfe72be73ee1301d4945340cc6282fcdd63fe3c85abf24\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://0b67f375180bb62fe6753601cd09740496dcdcec4c0a4f9eaa6e94c5e1bb6844\",\"dweb:/ipfs/QmWYwkmqynRq7g81Nijg4eEkPgSRGnegDrbbEKkkTC1k2w\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.7.6+commit.7338295f" - }, - "language": "Solidity", - "output": { - "abi": [], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "node_modules/@uniswap/v3-periphery/contracts/libraries/LiquidityAmounts.sol": "LiquidityAmounts" - }, - "libraries": {} - }, - "sources": { - "node_modules/@uniswap/v3-core/contracts/libraries/FixedPoint96.sol": { - "keccak256": "0x0ba8a9b95a956a4050749c0158e928398c447c91469682ca8a7cc7e77a7fe032", - "urls": [ - "bzz-raw://186d3b528866065a5856f96d2aeec698efa99f8da913e9adf34f8cc296cc993d", - "dweb:/ipfs/QmUAiMvtAQp8c9dy57bqJYzG7hkb1uChiPaQmt264skoqP" - ], - "license": "GPL-2.0-or-later" - }, - "node_modules/@uniswap/v3-core/contracts/libraries/FullMath.sol": { - "keccak256": "0xe511530871deaef86692cea9adb6076d26d7b47fd4815ce51af52af981026057", - "urls": [ - "bzz-raw://bc5a6ae776be3e7dcbd23d49ffbc9d792fed0ddf4b111ebb64b9bb2133ec263e", - "dweb:/ipfs/QmbAUtWqvipzEARQpFpkzYKBELy3qeW5WXnZxHFU84sxG7" - ], - "license": "MIT" - }, - "node_modules/@uniswap/v3-periphery/contracts/libraries/LiquidityAmounts.sol": { - "keccak256": "0xf149581d28e1c81736dfe72be73ee1301d4945340cc6282fcdd63fe3c85abf24", - "urls": [ - "bzz-raw://0b67f375180bb62fe6753601cd09740496dcdcec4c0a4f9eaa6e94c5e1bb6844", - "dweb:/ipfs/QmWYwkmqynRq7g81Nijg4eEkPgSRGnegDrbbEKkkTC1k2w" - ], - "license": "GPL-2.0-or-later" - } - }, - "version": 1 - }, - "id": 48 -} +{ "abi": [], "bytecode": { "object": "0x602d6023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c6343000706000a", "sourceMap": "327:6487:48:-:0;;;;;;;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c6343000706000a", "sourceMap": "327:6487:48:-:0;;;;;;;;", "linkReferences": {} }, "methodIdentifiers": {}, "rawMetadata": "{\"compiler\":{\"version\":\"0.7.6+commit.7338295f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"title\":\"Liquidity amount functions\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Provides functions for computing liquidity amounts from token amounts and prices\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@uniswap/v3-periphery/contracts/libraries/LiquidityAmounts.sol\":\"LiquidityAmounts\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"node_modules/@uniswap/v3-core/contracts/libraries/FixedPoint96.sol\":{\"keccak256\":\"0x0ba8a9b95a956a4050749c0158e928398c447c91469682ca8a7cc7e77a7fe032\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://186d3b528866065a5856f96d2aeec698efa99f8da913e9adf34f8cc296cc993d\",\"dweb:/ipfs/QmUAiMvtAQp8c9dy57bqJYzG7hkb1uChiPaQmt264skoqP\"]},\"node_modules/@uniswap/v3-core/contracts/libraries/FullMath.sol\":{\"keccak256\":\"0xe511530871deaef86692cea9adb6076d26d7b47fd4815ce51af52af981026057\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5a6ae776be3e7dcbd23d49ffbc9d792fed0ddf4b111ebb64b9bb2133ec263e\",\"dweb:/ipfs/QmbAUtWqvipzEARQpFpkzYKBELy3qeW5WXnZxHFU84sxG7\"]},\"node_modules/@uniswap/v3-periphery/contracts/libraries/LiquidityAmounts.sol\":{\"keccak256\":\"0xf149581d28e1c81736dfe72be73ee1301d4945340cc6282fcdd63fe3c85abf24\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://0b67f375180bb62fe6753601cd09740496dcdcec4c0a4f9eaa6e94c5e1bb6844\",\"dweb:/ipfs/QmWYwkmqynRq7g81Nijg4eEkPgSRGnegDrbbEKkkTC1k2w\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.7.6+commit.7338295f" }, "language": "Solidity", "output": { "abi": [], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "node_modules/@uniswap/v3-periphery/contracts/libraries/LiquidityAmounts.sol": "LiquidityAmounts" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "node_modules/@uniswap/v3-core/contracts/libraries/FixedPoint96.sol": { "keccak256": "0x0ba8a9b95a956a4050749c0158e928398c447c91469682ca8a7cc7e77a7fe032", "urls": [ "bzz-raw://186d3b528866065a5856f96d2aeec698efa99f8da913e9adf34f8cc296cc993d", "dweb:/ipfs/QmUAiMvtAQp8c9dy57bqJYzG7hkb1uChiPaQmt264skoqP" ], "license": "GPL-2.0-or-later" }, "node_modules/@uniswap/v3-core/contracts/libraries/FullMath.sol": { "keccak256": "0xe511530871deaef86692cea9adb6076d26d7b47fd4815ce51af52af981026057", "urls": [ "bzz-raw://bc5a6ae776be3e7dcbd23d49ffbc9d792fed0ddf4b111ebb64b9bb2133ec263e", "dweb:/ipfs/QmbAUtWqvipzEARQpFpkzYKBELy3qeW5WXnZxHFU84sxG7" ], "license": "MIT" }, "node_modules/@uniswap/v3-periphery/contracts/libraries/LiquidityAmounts.sol": { "keccak256": "0xf149581d28e1c81736dfe72be73ee1301d4945340cc6282fcdd63fe3c85abf24", "urls": [ "bzz-raw://0b67f375180bb62fe6753601cd09740496dcdcec4c0a4f9eaa6e94c5e1bb6844", "dweb:/ipfs/QmWYwkmqynRq7g81Nijg4eEkPgSRGnegDrbbEKkkTC1k2w" ], "license": "GPL-2.0-or-later" } }, "version": 1 }, "id": 48 } diff --git a/eth_defi/abi/enzyme/LiquidityMath.json b/eth_defi/abi/enzyme/LiquidityMath.json index 209e1bd2..766fdc78 100644 --- a/eth_defi/abi/enzyme/LiquidityMath.json +++ b/eth_defi/abi/enzyme/LiquidityMath.json @@ -1,78 +1 @@ -{ - "abi": [], - "bytecode": { - "object": "0x602d6023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c6343000706000a", - "sourceMap": "109:512:38:-:0;;;;;;;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c6343000706000a", - "sourceMap": "109:512:38:-:0;;;;;;;;", - "linkReferences": {} - }, - "methodIdentifiers": {}, - "rawMetadata": "{\"compiler\":{\"version\":\"0.7.6+commit.7338295f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"title\":\"Math library for liquidity\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@uniswap/v3-core/contracts/libraries/LiquidityMath.sol\":\"LiquidityMath\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"node_modules/@uniswap/v3-core/contracts/libraries/LiquidityMath.sol\":{\"keccak256\":\"0xd53041349718d5bce4a89e87cd911879d41ba42ba3fab0614e5e8b742f352b88\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://ea7529b99ab4fc1d3e6c5a31990fb688f0a2d6cc302c0419e0cf5a2d6c563781\",\"dweb:/ipfs/QmVaphRSNpfChHZKzutQ9WprwCo2WE1euvThRfHcwsnHhj\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.7.6+commit.7338295f" - }, - "language": "Solidity", - "output": { - "abi": [], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "node_modules/@uniswap/v3-core/contracts/libraries/LiquidityMath.sol": "LiquidityMath" - }, - "libraries": {} - }, - "sources": { - "node_modules/@uniswap/v3-core/contracts/libraries/LiquidityMath.sol": { - "keccak256": "0xd53041349718d5bce4a89e87cd911879d41ba42ba3fab0614e5e8b742f352b88", - "urls": [ - "bzz-raw://ea7529b99ab4fc1d3e6c5a31990fb688f0a2d6cc302c0419e0cf5a2d6c563781", - "dweb:/ipfs/QmVaphRSNpfChHZKzutQ9WprwCo2WE1euvThRfHcwsnHhj" - ], - "license": "GPL-2.0-or-later" - } - }, - "version": 1 - }, - "id": 38 -} +{ "abi": [], "bytecode": { "object": "0x602d6023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c6343000706000a", "sourceMap": "109:512:38:-:0;;;;;;;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c6343000706000a", "sourceMap": "109:512:38:-:0;;;;;;;;", "linkReferences": {} }, "methodIdentifiers": {}, "rawMetadata": "{\"compiler\":{\"version\":\"0.7.6+commit.7338295f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"title\":\"Math library for liquidity\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@uniswap/v3-core/contracts/libraries/LiquidityMath.sol\":\"LiquidityMath\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"node_modules/@uniswap/v3-core/contracts/libraries/LiquidityMath.sol\":{\"keccak256\":\"0xd53041349718d5bce4a89e87cd911879d41ba42ba3fab0614e5e8b742f352b88\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://ea7529b99ab4fc1d3e6c5a31990fb688f0a2d6cc302c0419e0cf5a2d6c563781\",\"dweb:/ipfs/QmVaphRSNpfChHZKzutQ9WprwCo2WE1euvThRfHcwsnHhj\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.7.6+commit.7338295f" }, "language": "Solidity", "output": { "abi": [], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "node_modules/@uniswap/v3-core/contracts/libraries/LiquidityMath.sol": "LiquidityMath" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "node_modules/@uniswap/v3-core/contracts/libraries/LiquidityMath.sol": { "keccak256": "0xd53041349718d5bce4a89e87cd911879d41ba42ba3fab0614e5e8b742f352b88", "urls": [ "bzz-raw://ea7529b99ab4fc1d3e6c5a31990fb688f0a2d6cc302c0419e0cf5a2d6c563781", "dweb:/ipfs/QmVaphRSNpfChHZKzutQ9WprwCo2WE1euvThRfHcwsnHhj" ], "license": "GPL-2.0-or-later" } }, "version": 1 }, "id": 38 } diff --git a/eth_defi/abi/enzyme/LiquityDebtPositionDataDecoder.json b/eth_defi/abi/enzyme/LiquityDebtPositionDataDecoder.json index 48bf1ac0..e5575617 100644 --- a/eth_defi/abi/enzyme/LiquityDebtPositionDataDecoder.json +++ b/eth_defi/abi/enzyme/LiquityDebtPositionDataDecoder.json @@ -1,78 +1 @@ -{ - "abi": [], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": {}, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"LiquityDebtPositionDataDecoder Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Abstract contract containing data decodings for LiquityDebtPosition payloads\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/liquity-debt/LiquityDebtPositionDataDecoder.sol\":\"LiquityDebtPositionDataDecoder\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/external-position-manager/external-positions/liquity-debt/LiquityDebtPositionDataDecoder.sol\":{\"keccak256\":\"0x53a16d0358ca1967e9e802c24d68926fbfdea87bd68041b1b0bf9dad918d0686\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bd070e263b809e5c2ddabf0efed7c11a4c1066410c8102dda537bc3a987657d0\",\"dweb:/ipfs/QmQJnEniTK5sG2ncUMzh3dQYnYuUu85BPXWN1enFaR4Uaa\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/external-position-manager/external-positions/liquity-debt/LiquityDebtPositionDataDecoder.sol": "LiquityDebtPositionDataDecoder" - }, - "libraries": {} - }, - "sources": { - "contracts/release/extensions/external-position-manager/external-positions/liquity-debt/LiquityDebtPositionDataDecoder.sol": { - "keccak256": "0x53a16d0358ca1967e9e802c24d68926fbfdea87bd68041b1b0bf9dad918d0686", - "urls": [ - "bzz-raw://bd070e263b809e5c2ddabf0efed7c11a4c1066410c8102dda537bc3a987657d0", - "dweb:/ipfs/QmQJnEniTK5sG2ncUMzh3dQYnYuUu85BPXWN1enFaR4Uaa" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 111 -} +{ "abi": [], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": {}, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"LiquityDebtPositionDataDecoder Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Abstract contract containing data decodings for LiquityDebtPosition payloads\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/liquity-debt/LiquityDebtPositionDataDecoder.sol\":\"LiquityDebtPositionDataDecoder\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/external-position-manager/external-positions/liquity-debt/LiquityDebtPositionDataDecoder.sol\":{\"keccak256\":\"0x53a16d0358ca1967e9e802c24d68926fbfdea87bd68041b1b0bf9dad918d0686\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bd070e263b809e5c2ddabf0efed7c11a4c1066410c8102dda537bc3a987657d0\",\"dweb:/ipfs/QmQJnEniTK5sG2ncUMzh3dQYnYuUu85BPXWN1enFaR4Uaa\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/external-position-manager/external-positions/liquity-debt/LiquityDebtPositionDataDecoder.sol": "LiquityDebtPositionDataDecoder" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/extensions/external-position-manager/external-positions/liquity-debt/LiquityDebtPositionDataDecoder.sol": { "keccak256": "0x53a16d0358ca1967e9e802c24d68926fbfdea87bd68041b1b0bf9dad918d0686", "urls": [ "bzz-raw://bd070e263b809e5c2ddabf0efed7c11a4c1066410c8102dda537bc3a987657d0", "dweb:/ipfs/QmQJnEniTK5sG2ncUMzh3dQYnYuUu85BPXWN1enFaR4Uaa" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 111 } diff --git a/eth_defi/abi/enzyme/LiquityDebtPositionLib.json b/eth_defi/abi/enzyme/LiquityDebtPositionLib.json index 44a9613c..30ded5c3 100644 --- a/eth_defi/abi/enzyme/LiquityDebtPositionLib.json +++ b/eth_defi/abi/enzyme/LiquityDebtPositionLib.json @@ -1,479 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_liquityBorrowerOperations", - "type": "address" - }, - { - "internalType": "address", - "name": "_liquityTroveManager", - "type": "address" - }, - { - "internalType": "address", - "name": "_lusd", - "type": "address" - }, - { - "internalType": "address", - "name": "_weth", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "name": "getDebtAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "assets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "amounts_", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getManagedAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "assets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "amounts_", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "init", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - } - ], - "name": "receiveCallFromVault", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x61010060405234801561001157600080fd5b506040516113ec3803806113ec8339818101604052608081101561003457600080fd5b508051602082015160408301516060938401516001600160601b031993851b841660805291841b831660a052831b821660c05290911b1660e05260805160601c60a05160601c60c05160601c60e05160601c6112ed6100ff600039806103a2528061079f52806109385280610af45280610b725280610ddd5280610f2a52508061072b52806108d05280610c8f5280610e555280610ef652508061028f528061065852508061081d52806109b65280610a545280610bdc5280610cc05280610d6552506112ed6000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80634ddf47d41461005157806380daddb8146100f9578063e5c23a971461019a578063ecd658b414610240575b600080fd5b6100f76004803603602081101561006757600080fd5b81019060208101813564010000000081111561008257600080fd5b82018360208201111561009457600080fd5b803590602001918460018302840111640100000000831117156100b657600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610248945050505050565b005b61010161024b565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b8381101561014557818101518382015260200161012d565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561018457818101518382015260200161016c565b5050505090500194505050505060405180910390f35b6100f7600480360360208110156101b057600080fd5b8101906020810181356401000000008111156101cb57600080fd5b8201836020820111156101dd57600080fd5b803590602001918460018302840111640100000000831117156101ff57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506103f3945050505050565b610101610614565b50565b604080516001808252818301909252606091829190602080830190803683375050604080516309019aaf60e31b815230600482015290519293506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169263480cd57892506024808301926020929190829003018186803b1580156102d657600080fd5b505afa1580156102ea573d6000803e3d6000fd5b505050506040513d602081101561030057600080fd5b50518151829060009061030f57fe5b6020026020010181815250508060008151811061032857fe5b602002602001015160001415610380576000805b50604051908082528060200260200182016040528015610366578160200160208202803683370190505b5060408051600081526020810190915290925090506103ef565b60408051600180825281830190925290602080830190803683370190505091507f0000000000000000000000000000000000000000000000000000000000000000826000815181106103ce57fe5b60200260200101906001600160a01b031690816001600160a01b0316815250505b9091565b6000606082806020019051604081101561040c57600080fd5b81516020830180516040519294929383019291908464010000000082111561043357600080fd5b90830190602082018581111561044857600080fd5b825164010000000081118282018810171561046257600080fd5b82525081516020918201929091019080838360005b8381101561048f578181015183820152602001610477565b50505050905090810190601f1680156104bc5780820380516001836020036101000a031916815260200191505b5060405250505091509150600060058111156104d457fe5b82141561050d5760008060008060006104ec86610757565b94509450945094509450610503858585858561079d565b505050505061060f565b600182141561053d57600080600061052484610902565b925092509250610535838383610936565b50505061060f565b600282141561056557600080600061055484610902565b925092509250610535838383610a52565b600382141561059a5760008060008061057d85610b9d565b935093509350935061059184848484610bda565b5050505061060f565b60048214156105c25760008060006105b184610902565b925092509250610535838383610cbe565b60058214156105d8576105d3610d63565b61060f565b60405162461bcd60e51b81526004018080602001828103825260268152602001806112916026913960400191505060405180910390fd5b505050565b6040805160018082528183019092526060918291906020808301908036833750506040805163d66a255360e01b815230600482015290519293506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169263d66a255392506024808301926020929190829003018186803b15801561069f57600080fd5b505afa1580156106b3573d6000803e3d6000fd5b505050506040513d60208110156106c957600080fd5b5051815182906000906106d857fe5b602002602001018181525050806000815181106106f157fe5b6020026020010151600014156107095760008061033c565b60408051600180825281830190925290602080830190803683370190505091507f0000000000000000000000000000000000000000000000000000000000000000826000815181106103ce57fe5b60008060008060008580602001905160a081101561077457600080fd5b508051602082015160408301516060840151608090940151929a91995097509195509350915050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316632e1a7d4d856040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561080357600080fd5b505af1158015610817573d6000803e3d6000fd5b505050507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663860665b385878686866040518663ffffffff1660e01b815260040180858152602001848152602001836001600160a01b03168152602001826001600160a01b031681526020019450505050506000604051808303818588803b1580156108ab57600080fd5b505af11580156108bf573d6000803e3d6000fd5b506108fb9350506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016915033905085610f4d565b5050505050565b600080600083806020019051606081101561091c57600080fd5b508051602082015160409092015190969195509350915050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316632e1a7d4d846040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561099c57600080fd5b505af11580156109b0573d6000803e3d6000fd5b505050507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166368647db18484846040518463ffffffff1660e01b815260040180836001600160a01b03168152602001826001600160a01b03168152602001925050506000604051808303818588803b158015610a3457600080fd5b505af1158015610a48573d6000803e3d6000fd5b5050505050505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635530273c8484846040518463ffffffff1660e01b815260040180848152602001836001600160a01b03168152602001826001600160a01b031681526020019350505050600060405180830381600087803b158015610ada57600080fd5b505af1158015610aee573d6000803e3d6000fd5b505050507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0846040518263ffffffff1660e01b81526004016000604051808303818588803b158015610b4d57600080fd5b505af1158015610b61573d6000803e3d6000fd5b5061060f9350506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016915033905085610f4d565b600080600080848060200190516080811015610bb857600080fd5b5080516020820151604083015160609093015191989097509195509350915050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316631184e5f8858585856040518563ffffffff1660e01b815260040180858152602001848152602001836001600160a01b03168152602001826001600160a01b03168152602001945050505050600060405180830381600087803b158015610c6a57600080fd5b505af1158015610c7e573d6000803e3d6000fd5b50610cb89250506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690503385610f4d565b50505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166304491fa78484846040518463ffffffff1660e01b815260040180848152602001836001600160a01b03168152602001826001600160a01b031681526020019350505050600060405180830381600087803b158015610d4657600080fd5b505af1158015610d5a573d6000803e3d6000fd5b50505050505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316630e704d506040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610dbe57600080fd5b505af1158015610dd2573d6000803e3d6000fd5b5050505060004790507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b158015610e3657600080fd5b505af1158015610e4a573d6000803e3d6000fd5b5050505050610f1d337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610ec057600080fd5b505afa158015610ed4573d6000803e3d6000fd5b505050506040513d6020811015610eea57600080fd5b50516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169190610f4d565b6102486001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633835b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b17905261060f9084906060610fef826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031661104b9092919063ffffffff16565b80519091501561060f5780806020019051602081101561100e57600080fd5b505161060f5760405162461bcd60e51b815260040180806020018281038252602a8152602001806112b7602a913960400191505060405180910390fd5b606061105a8484600085611064565b90505b9392505050565b6060824710156110a55760405162461bcd60e51b815260040180806020018281038252602681526020018061126b6026913960400191505060405180910390fd5b6110ae856111c0565b6110ff576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b6020831061113e5780518252601f19909201916020918201910161111f565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146111a0576040519150601f19603f3d011682016040523d82523d6000602084013e6111a5565b606091505b50915091506111b58282866111c6565b979650505050505050565b3b151590565b606083156111d557508161105d565b8251156111e55782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561122f578181015183820152602001611217565b50505050905090810190601f16801561125c5780820380516001836020036101000a031916815260200191505b509250505060405180910390fdfe416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c7265636569766543616c6c46726f6d5661756c743a20496e76616c696420616374696f6e49645361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a164736f6c634300060c000a", - "sourceMap": "817:7499:112:-:0;;;1141:336;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1141:336:112;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1304:56:112;;;;;1141:336;1304:56;1370:44;;;;;;;1424:18;;;;;;1452;;;;;;817:7499;;;;;;;;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b506004361061004c5760003560e01c80634ddf47d41461005157806380daddb8146100f9578063e5c23a971461019a578063ecd658b414610240575b600080fd5b6100f76004803603602081101561006757600080fd5b81019060208101813564010000000081111561008257600080fd5b82018360208201111561009457600080fd5b803590602001918460018302840111640100000000831117156100b657600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610248945050505050565b005b61010161024b565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b8381101561014557818101518382015260200161012d565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561018457818101518382015260200161016c565b5050505090500194505050505060405180910390f35b6100f7600480360360208110156101b057600080fd5b8101906020810181356401000000008111156101cb57600080fd5b8201836020820111156101dd57600080fd5b803590602001918460018302840111640100000000831117156101ff57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506103f3945050505050565b610101610614565b50565b604080516001808252818301909252606091829190602080830190803683375050604080516309019aaf60e31b815230600482015290519293506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169263480cd57892506024808301926020929190829003018186803b1580156102d657600080fd5b505afa1580156102ea573d6000803e3d6000fd5b505050506040513d602081101561030057600080fd5b50518151829060009061030f57fe5b6020026020010181815250508060008151811061032857fe5b602002602001015160001415610380576000805b50604051908082528060200260200182016040528015610366578160200160208202803683370190505b5060408051600081526020810190915290925090506103ef565b60408051600180825281830190925290602080830190803683370190505091507f0000000000000000000000000000000000000000000000000000000000000000826000815181106103ce57fe5b60200260200101906001600160a01b031690816001600160a01b0316815250505b9091565b6000606082806020019051604081101561040c57600080fd5b81516020830180516040519294929383019291908464010000000082111561043357600080fd5b90830190602082018581111561044857600080fd5b825164010000000081118282018810171561046257600080fd5b82525081516020918201929091019080838360005b8381101561048f578181015183820152602001610477565b50505050905090810190601f1680156104bc5780820380516001836020036101000a031916815260200191505b5060405250505091509150600060058111156104d457fe5b82141561050d5760008060008060006104ec86610757565b94509450945094509450610503858585858561079d565b505050505061060f565b600182141561053d57600080600061052484610902565b925092509250610535838383610936565b50505061060f565b600282141561056557600080600061055484610902565b925092509250610535838383610a52565b600382141561059a5760008060008061057d85610b9d565b935093509350935061059184848484610bda565b5050505061060f565b60048214156105c25760008060006105b184610902565b925092509250610535838383610cbe565b60058214156105d8576105d3610d63565b61060f565b60405162461bcd60e51b81526004018080602001828103825260268152602001806112916026913960400191505060405180910390fd5b505050565b6040805160018082528183019092526060918291906020808301908036833750506040805163d66a255360e01b815230600482015290519293506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169263d66a255392506024808301926020929190829003018186803b15801561069f57600080fd5b505afa1580156106b3573d6000803e3d6000fd5b505050506040513d60208110156106c957600080fd5b5051815182906000906106d857fe5b602002602001018181525050806000815181106106f157fe5b6020026020010151600014156107095760008061033c565b60408051600180825281830190925290602080830190803683370190505091507f0000000000000000000000000000000000000000000000000000000000000000826000815181106103ce57fe5b60008060008060008580602001905160a081101561077457600080fd5b508051602082015160408301516060840151608090940151929a91995097509195509350915050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316632e1a7d4d856040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561080357600080fd5b505af1158015610817573d6000803e3d6000fd5b505050507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663860665b385878686866040518663ffffffff1660e01b815260040180858152602001848152602001836001600160a01b03168152602001826001600160a01b031681526020019450505050506000604051808303818588803b1580156108ab57600080fd5b505af11580156108bf573d6000803e3d6000fd5b506108fb9350506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016915033905085610f4d565b5050505050565b600080600083806020019051606081101561091c57600080fd5b508051602082015160409092015190969195509350915050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316632e1a7d4d846040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561099c57600080fd5b505af11580156109b0573d6000803e3d6000fd5b505050507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166368647db18484846040518463ffffffff1660e01b815260040180836001600160a01b03168152602001826001600160a01b03168152602001925050506000604051808303818588803b158015610a3457600080fd5b505af1158015610a48573d6000803e3d6000fd5b5050505050505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635530273c8484846040518463ffffffff1660e01b815260040180848152602001836001600160a01b03168152602001826001600160a01b031681526020019350505050600060405180830381600087803b158015610ada57600080fd5b505af1158015610aee573d6000803e3d6000fd5b505050507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0846040518263ffffffff1660e01b81526004016000604051808303818588803b158015610b4d57600080fd5b505af1158015610b61573d6000803e3d6000fd5b5061060f9350506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016915033905085610f4d565b600080600080848060200190516080811015610bb857600080fd5b5080516020820151604083015160609093015191989097509195509350915050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316631184e5f8858585856040518563ffffffff1660e01b815260040180858152602001848152602001836001600160a01b03168152602001826001600160a01b03168152602001945050505050600060405180830381600087803b158015610c6a57600080fd5b505af1158015610c7e573d6000803e3d6000fd5b50610cb89250506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690503385610f4d565b50505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166304491fa78484846040518463ffffffff1660e01b815260040180848152602001836001600160a01b03168152602001826001600160a01b031681526020019350505050600060405180830381600087803b158015610d4657600080fd5b505af1158015610d5a573d6000803e3d6000fd5b50505050505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316630e704d506040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610dbe57600080fd5b505af1158015610dd2573d6000803e3d6000fd5b5050505060004790507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b158015610e3657600080fd5b505af1158015610e4a573d6000803e3d6000fd5b5050505050610f1d337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610ec057600080fd5b505afa158015610ed4573d6000803e3d6000fd5b505050506040513d6020811015610eea57600080fd5b50516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169190610f4d565b6102486001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633835b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b17905261060f9084906060610fef826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031661104b9092919063ffffffff16565b80519091501561060f5780806020019051602081101561100e57600080fd5b505161060f5760405162461bcd60e51b815260040180806020018281038252602a8152602001806112b7602a913960400191505060405180910390fd5b606061105a8484600085611064565b90505b9392505050565b6060824710156110a55760405162461bcd60e51b815260040180806020018281038252602681526020018061126b6026913960400191505060405180910390fd5b6110ae856111c0565b6110ff576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b6020831061113e5780518252601f19909201916020918201910161111f565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146111a0576040519150601f19603f3d011682016040523d82523d6000602084013e6111a5565b606091505b50915091506111b58282866111c6565b979650505050505050565b3b151590565b606083156111d557508161105d565b8251156111e55782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561122f578181015183820152602001611217565b50505050905090810190601f16801561125c5780820380516001836020036101000a031916815260200191505b509250505060405180910390fdfe416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c7265636569766543616c6c46726f6d5661756c743a20496e76616c696420616374696f6e49645361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a164736f6c634300060c000a", - "sourceMap": "817:7499:112:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1586:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1586:48:112;;-1:-1:-1;1586:48:112;;-1:-1:-1;;;;;1586:48:112:i;:::-;;7767:547;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1762:2059;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1762:2059:112;;-1:-1:-1;1762:2059:112;;-1:-1:-1;;;;;1762:2059:112:i;7050:538::-;;;:::i;1586:48::-;;:::o;7767:547::-;7924:16;;;7938:1;7924:16;;;;;;;;;7846:24;;;;7924:16;;;;;;;;;;-1:-1:-1;;7964:71:112;;;-1:-1:-1;;;7964:71:112;;8029:4;7964:71;;;;;;7913:27;;-1:-1:-1;;;;;;7985:21:112;7964:56;;;;-1:-1:-1;7964:71:112;;;;;;;;;;;;;;:56;:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7964:71:112;7950:11;;:8;;7959:1;;7950:11;;;;;;;;;:85;;;;;8115:8;8124:1;8115:11;;;;;;;;;;;;;;8130:1;8115:16;8111:90;;;8169:1;;8155:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8155:16:112;-1:-1:-1;8173:16:112;;;8187:1;8173:16;;;;;;;;8147:43;;-1:-1:-1;8173:16:112;-1:-1:-1;8147:43:112;;8111:90;8221:16;;;8235:1;8221:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8221:16:112;8211:26;;8260:10;8247:7;8255:1;8247:10;;;;;;;;;;;;;:23;-1:-1:-1;;;;;8247:23:112;;;-1:-1:-1;;;;;8247:23:112;;;;;7767:547;;;:::o;1762:2059::-;1847:16;1865:23;1903:11;1892:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1892:41:112;;;;;;;;;;-1:-1:-1;1892:41:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1846:87;;;;1968:17;1960:26;;;;;;;;1948:8;:38;1944:1871;;;2020:24;2062;2104:18;2140:17;2175;2209:33;2231:10;2209:21;:33::i;:::-;2002:240;;;;;;;;;;2256:81;2268:16;2286;2304:10;2316:9;2327;2256:11;:81::i;:::-;1944:1871;;;;;;;;2378:21;2358:8;:42;2354:1461;;;2434:24;2476:17;2511;2545:43;2577:10;2545:31;:43::i;:::-;2416:172;;;;;;2602:55;2618:16;2636:9;2647;2602:15;:55::i;:::-;2354:1461;;;;;;2698:24;2678:8;:45;2674:1141;;;2757:24;2799:17;2834;2868:46;2903:10;2868:34;:46::i;:::-;2739:175;;;;;;2928:58;2947:16;2965:9;2976;2928:18;:58::i;2674:1141::-;3027:14;3007:8;:35;3003:812;;;3076:24;3118:18;3154:17;3189;3223:36;3248:10;3223:24;:36::i;:::-;3058:201;;;;;;;;3273:60;3282:16;3300:10;3312:9;3323;3273:8;:60::i;:::-;3003:812;;;;;;;3374:19;3354:8;:40;3350:465;;;3428:18;3464:17;3499;3533:41;3563:10;3533:29;:41::i;:::-;3410:164;;;;;;3588:47;3602:10;3614:9;3625;3588:13;:47::i;3350:465::-;3676:18;3656:8;:39;3652:163;;;3711:14;:12;:14::i;:::-;3652:163;;;3756:48;;-1:-1:-1;;;3756:48:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3652:163;1762:2059;;;:::o;7050:538::-;7204:16;;;7218:1;7204:16;;;;;;;;;7126:24;;;;7204:16;;;;;;;;;;-1:-1:-1;;7244:71:112;;;-1:-1:-1;;;7244:71:112;;7309:4;7244:71;;;;;;7193:27;;-1:-1:-1;;;;;;7265:21:112;7244:56;;;;-1:-1:-1;7244:71:112;;;;;;;;;;;;;;:56;:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7244:71:112;7230:11;;:8;;7239:1;;7230:11;;;;;;;;;:85;;;;;7389:8;7398:1;7389:11;;;;;;;;;;;;;;7404:1;7389:16;7385:90;;;7443:1;;7429:16;;7385:90;7495:16;;;7509:1;7495:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7495:16:112;7485:26;;7534:10;7521:7;7529:1;7521:10;;;;;;;1661:387:111;1778:25;1817;1856:19;1889:18;1921;1982:11;1971:70;;;;;;;;;;;;;;;-1:-1:-1;1971:70:111;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1971:70:111;-1:-1:-1;1971:70:111;;-1:-1:-1;1971:70:111;-1:-1:-1;1661:387:111;-1:-1:-1;;1661:387:111:o;5304:498:112:-;5510:10;-1:-1:-1;;;;;5504:26:112;;5531:17;5504:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5587:27;-1:-1:-1;;;;;5560:65:112;;5646:17;5674;5693:11;5706:10;5718;5560:169;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5560:169:112;;;;;;-1:-1:-1;;;;;5560:169:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5740:55:112;;-1:-1:-1;;;;;;;5746:10:112;5740:30;;-1:-1:-1;5771:10:112;;-1:-1:-1;5783:11:112;5740:30;:55::i;:::-;5304:498;;;;;:::o;598:307:111:-;725:25;764:18;796;857:11;846:52;;;;;;;;;;;;;;;-1:-1:-1;846:52:111;;;;;;;;;;;;;;;-1:-1:-1;846:52:111;-1:-1:-1;598:307:111;-1:-1:-1;;598:307:111:o;3863:320:112:-;3999:10;-1:-1:-1;;;;;3993:26:112;;4020:7;3993:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4066:27;-1:-1:-1;;;;;4039:63:112;;4110:7;4132:10;4156;4039:137;;;;;;;;;;;;;-1:-1:-1;;;;;4039:137:112;;;;;;-1:-1:-1;;;;;4039:137:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3863:320;;;:::o;5847:402::-;6007:27;-1:-1:-1;;;;;5980:68:112;;6062:7;6083:10;6107;5980:147;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5980:147:112;;;;;;-1:-1:-1;;;;;5980:147:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6144:10;-1:-1:-1;;;;;6138:25:112;;6171:7;6138:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6191:51:112;;-1:-1:-1;;;;;;;6197:10:112;6191:30;;-1:-1:-1;6222:10:112;;-1:-1:-1;6234:7:112;6191:30;:51::i;976:342:111:-;1096:25;1135:19;1168:18;1200;1261:11;1250:61;;;;;;;;;;;;;;;-1:-1:-1;1250:61:111;;;;;;;;;;;;;;;;;;;-1:-1:-1;1250:61:111;;-1:-1:-1;1250:61:111;-1:-1:-1;976:342:111;-1:-1:-1;;976:342:111:o;4246:405:112:-;4431:27;-1:-1:-1;;;;;4404:68:112;;4486:17;4517:7;4538:10;4562;4404:178;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4404:178:112;;;;;;-1:-1:-1;;;;;4404:178:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4593:51:112;;-1:-1:-1;;;;;;;4599:10:112;4593:30;;-1:-1:-1;4624:10:112;4636:7;4593:30;:51::i;:::-;4246:405;;;;:::o;6435:345::-;6656:27;-1:-1:-1;;;;;6629:65:112;;6708:7;6729:10;6753;6629:144;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6629:144:112;;;;;;-1:-1:-1;;;;;6629:144:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6435:345;;;:::o;4803:464::-;4872:27;-1:-1:-1;;;;;4845:66:112;;:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4924:18;4945:21;4924:42;;4983:10;-1:-1:-1;;;;;4977:25:112;;5010:10;4977:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5110:86;5141:10;5159;-1:-1:-1;;;;;5153:27:112;;5189:4;5153:42;;;;;;;;;;;;;-1:-1:-1;;;;;5153:42:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5153:42:112;-1:-1:-1;;;;;5116:10:112;5110:30;;:86;:30;:86::i;:::-;5206:54;-1:-1:-1;;;;;5212:10:112;5206:30;5237:10;5249;704:175:450;813:58;;;-1:-1:-1;;;;;813:58:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;813:58:450;-1:-1:-1;;;813:58:450;;;786:86;;806:5;;3386:23;3412:69;3440:4;3412:69;;;;;;;;;;;;;;;;;3420:5;-1:-1:-1;;;;;3412:27:450;;;:69;;;;;:::i;:::-;3495:17;;3386:95;;-1:-1:-1;3495:21:450;3491:221;;3635:10;3624:30;;;;;;;;;;;;;;;-1:-1:-1;3624:30:450;3616:85;;;;-1:-1:-1;;;3616:85:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3581:193:451;3684:12;3715:52;3737:6;3745:4;3751:1;3754:12;3715:21;:52::i;:::-;3708:59;;3581:193;;;;;;:::o;4608:523::-;4735:12;4792:5;4767:21;:30;;4759:81;;;;-1:-1:-1;;;4759:81:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4858:18;4869:6;4858:10;:18::i;:::-;4850:60;;;;;-1:-1:-1;;;4850:60:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;4981:12;4995:23;5022:6;-1:-1:-1;;;;;5022:11:451;5042:5;5050:4;5022:33;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5022:33:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4980:75;;;;5072:52;5090:7;5099:10;5111:12;5072:17;:52::i;:::-;5065:59;4608:523;-1:-1:-1;;;;;;;4608:523:451:o;726:413::-;1086:20;1124:8;;;726:413::o;7091:725::-;7206:12;7234:7;7230:580;;;-1:-1:-1;7264:10:451;7257:17;;7230:580;7375:17;;:21;7371:429;;7633:10;7627:17;7693:15;7680:10;7676:2;7672:19;7665:44;7582:145;7772:12;7765:20;;-1:-1:-1;;;7765:20:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;", - "linkReferences": {}, - "immutableReferences": { - "26273": [ - { - "start": 2077, - "length": 32 - }, - { - "start": 2486, - "length": 32 - }, - { - "start": 2644, - "length": 32 - }, - { - "start": 3036, - "length": 32 - }, - { - "start": 3264, - "length": 32 - }, - { - "start": 3429, - "length": 32 - } - ], - "26275": [ - { - "start": 655, - "length": 32 - }, - { - "start": 1624, - "length": 32 - } - ], - "26277": [ - { - "start": 1835, - "length": 32 - }, - { - "start": 2256, - "length": 32 - }, - { - "start": 3215, - "length": 32 - }, - { - "start": 3669, - "length": 32 - }, - { - "start": 3830, - "length": 32 - } - ], - "26279": [ - { - "start": 930, - "length": 32 - }, - { - "start": 1951, - "length": 32 - }, - { - "start": 2360, - "length": 32 - }, - { - "start": 2804, - "length": 32 - }, - { - "start": 2930, - "length": 32 - }, - { - "start": 3549, - "length": 32 - }, - { - "start": 3882, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "getDebtAssets()": "ecd658b4", - "getManagedAssets()": "80daddb8", - "init(bytes)": "4ddf47d4", - "receiveCallFromVault(bytes)": "e5c23a97" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_liquityBorrowerOperations\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_liquityTroveManager\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_lusd\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_weth\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"getDebtAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"assets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getManagedAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"assets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"}],\"name\":\"receiveCallFromVault\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"getDebtAssets()\":{\"returns\":{\"amounts_\":\"Debt asset amounts\",\"assets_\":\"Debt assets\"}},\"getManagedAssets()\":{\"returns\":{\"amounts_\":\"Managed asset amounts\",\"assets_\":\"Managed assets\"}},\"init(bytes)\":{\"details\":\"Nothing to initialize for this contract\"},\"receiveCallFromVault(bytes)\":{\"params\":{\"_actionData\":\"Encoded data to execute the action\"}}},\"title\":\"LiquityDebtPositionLib Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getDebtAssets()\":{\"notice\":\"Retrieves the debt assets (negative value) of the external position\"},\"getManagedAssets()\":{\"notice\":\"Retrieves the managed assets (positive value) of the external position\"},\"init(bytes)\":{\"notice\":\"Initializes the external position\"},\"receiveCallFromVault(bytes)\":{\"notice\":\"Receives and executes a call from the Vault\"}},\"notice\":\"An External Position library contract for Liquity debt positions\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/liquity-debt/LiquityDebtPositionLib.sol\":\"LiquityDebtPositionLib\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/release/extensions/external-position-manager/external-positions/liquity-debt/ILiquityDebtPosition.sol\":{\"keccak256\":\"0xcd6051d3e31e4c1749f3da2a893622de7ce356278ef5db824e88e2765f251823\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://66d3acab607c650209ecb0a239380a080960de9864a7543b38ba0935dee956ba\",\"dweb:/ipfs/QmYF2Crm2Mg2TK7zai43TEYgxd8SkKjtzMVwcDL9aFsBJA\"]},\"contracts/release/extensions/external-position-manager/external-positions/liquity-debt/LiquityDebtPositionDataDecoder.sol\":{\"keccak256\":\"0x53a16d0358ca1967e9e802c24d68926fbfdea87bd68041b1b0bf9dad918d0686\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bd070e263b809e5c2ddabf0efed7c11a4c1066410c8102dda537bc3a987657d0\",\"dweb:/ipfs/QmQJnEniTK5sG2ncUMzh3dQYnYuUu85BPXWN1enFaR4Uaa\"]},\"contracts/release/extensions/external-position-manager/external-positions/liquity-debt/LiquityDebtPositionLib.sol\":{\"keccak256\":\"0xfb700072019af2c2f6a52f069913cb0ce643502105fa62703d214abf6065d172\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1fb7dbbafc0e84bf539341c8d74229122c9446aa8fdfc43a24d3383f599cc494\",\"dweb:/ipfs/QmdDpryciV3WNdPVvrofWcEf429aJbtHyzHgpojQp4z5f6\"]},\"contracts/release/interfaces/ILiquityBorrowerOperations.sol\":{\"keccak256\":\"0xb501baeddc5a11d34826012fb8446e94fa688dc776e89e276dd0a4e208561112\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://15f1ba0caef55fa13f325d4afd306f36f42d30f3dcb249e87a29bd4bbbd371e9\",\"dweb:/ipfs/QmWomZ5h9ngaRj3AbNQfCbxKyS491qQiV7xAnt9XujiXMS\"]},\"contracts/release/interfaces/ILiquityTroveManager.sol\":{\"keccak256\":\"0x8e3296f143e0d194dee3ffebc0912d21d5181e1360e0ec99673d2e61d047f7a6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://44267baacec0e4a2e9396b12b2106bb596a0a17d1e8df206ef95f46f841b052b\",\"dweb:/ipfs/QmRp6HQ6FhdQCsTskSq596y1WBM7BsG9dArj8Gd23c2NTF\"]},\"contracts/release/interfaces/IWETH.sol\":{\"keccak256\":\"0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2\",\"dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_liquityBorrowerOperations", - "type": "address" - }, - { - "internalType": "address", - "name": "_liquityTroveManager", - "type": "address" - }, - { - "internalType": "address", - "name": "_lusd", - "type": "address" - }, - { - "internalType": "address", - "name": "_weth", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "getDebtAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "assets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "amounts_", - "type": "uint256[]" - } - ] - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "getManagedAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "assets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "amounts_", - "type": "uint256[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "init" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "receiveCallFromVault" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "getDebtAssets()": { - "returns": { - "amounts_": "Debt asset amounts", - "assets_": "Debt assets" - } - }, - "getManagedAssets()": { - "returns": { - "amounts_": "Managed asset amounts", - "assets_": "Managed assets" - } - }, - "init(bytes)": { - "details": "Nothing to initialize for this contract" - }, - "receiveCallFromVault(bytes)": { - "params": { - "_actionData": "Encoded data to execute the action" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "getDebtAssets()": { - "notice": "Retrieves the debt assets (negative value) of the external position" - }, - "getManagedAssets()": { - "notice": "Retrieves the managed assets (positive value) of the external position" - }, - "init(bytes)": { - "notice": "Initializes the external position" - }, - "receiveCallFromVault(bytes)": { - "notice": "Receives and executes a call from the Vault" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/external-position-manager/external-positions/liquity-debt/LiquityDebtPositionLib.sol": "LiquityDebtPositionLib" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/external-positions/IExternalPosition.sol": { - "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", - "urls": [ - "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", - "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/liquity-debt/ILiquityDebtPosition.sol": { - "keccak256": "0xcd6051d3e31e4c1749f3da2a893622de7ce356278ef5db824e88e2765f251823", - "urls": [ - "bzz-raw://66d3acab607c650209ecb0a239380a080960de9864a7543b38ba0935dee956ba", - "dweb:/ipfs/QmYF2Crm2Mg2TK7zai43TEYgxd8SkKjtzMVwcDL9aFsBJA" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/liquity-debt/LiquityDebtPositionDataDecoder.sol": { - "keccak256": "0x53a16d0358ca1967e9e802c24d68926fbfdea87bd68041b1b0bf9dad918d0686", - "urls": [ - "bzz-raw://bd070e263b809e5c2ddabf0efed7c11a4c1066410c8102dda537bc3a987657d0", - "dweb:/ipfs/QmQJnEniTK5sG2ncUMzh3dQYnYuUu85BPXWN1enFaR4Uaa" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/liquity-debt/LiquityDebtPositionLib.sol": { - "keccak256": "0xfb700072019af2c2f6a52f069913cb0ce643502105fa62703d214abf6065d172", - "urls": [ - "bzz-raw://1fb7dbbafc0e84bf539341c8d74229122c9446aa8fdfc43a24d3383f599cc494", - "dweb:/ipfs/QmdDpryciV3WNdPVvrofWcEf429aJbtHyzHgpojQp4z5f6" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/ILiquityBorrowerOperations.sol": { - "keccak256": "0xb501baeddc5a11d34826012fb8446e94fa688dc776e89e276dd0a4e208561112", - "urls": [ - "bzz-raw://15f1ba0caef55fa13f325d4afd306f36f42d30f3dcb249e87a29bd4bbbd371e9", - "dweb:/ipfs/QmWomZ5h9ngaRj3AbNQfCbxKyS491qQiV7xAnt9XujiXMS" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/ILiquityTroveManager.sol": { - "keccak256": "0x8e3296f143e0d194dee3ffebc0912d21d5181e1360e0ec99673d2e61d047f7a6", - "urls": [ - "bzz-raw://44267baacec0e4a2e9396b12b2106bb596a0a17d1e8df206ef95f46f841b052b", - "dweb:/ipfs/QmRp6HQ6FhdQCsTskSq596y1WBM7BsG9dArj8Gd23c2NTF" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IWETH.sol": { - "keccak256": "0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2", - "urls": [ - "bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2", - "dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { - "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", - "urls": [ - "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", - "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Address.sol": { - "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", - "urls": [ - "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", - "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 112 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_liquityBorrowerOperations", "type": "address", "internalType": "address" }, { "name": "_liquityTroveManager", "type": "address", "internalType": "address" }, { "name": "_lusd", "type": "address", "internalType": "address" }, { "name": "_weth", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "getDebtAssets", "inputs": [], "outputs": [ { "name": "assets_", "type": "address[]", "internalType": "address[]" }, { "name": "amounts_", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "getManagedAssets", "inputs": [], "outputs": [ { "name": "assets_", "type": "address[]", "internalType": "address[]" }, { "name": "amounts_", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "init", "inputs": [ { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "receiveCallFromVault", "inputs": [ { "name": "_actionData", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x61010060405234801561001157600080fd5b506040516113ec3803806113ec8339818101604052608081101561003457600080fd5b508051602082015160408301516060938401516001600160601b031993851b841660805291841b831660a052831b821660c05290911b1660e05260805160601c60a05160601c60c05160601c60e05160601c6112ed6100ff600039806103a2528061079f52806109385280610af45280610b725280610ddd5280610f2a52508061072b52806108d05280610c8f5280610e555280610ef652508061028f528061065852508061081d52806109b65280610a545280610bdc5280610cc05280610d6552506112ed6000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80634ddf47d41461005157806380daddb8146100f9578063e5c23a971461019a578063ecd658b414610240575b600080fd5b6100f76004803603602081101561006757600080fd5b81019060208101813564010000000081111561008257600080fd5b82018360208201111561009457600080fd5b803590602001918460018302840111640100000000831117156100b657600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610248945050505050565b005b61010161024b565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b8381101561014557818101518382015260200161012d565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561018457818101518382015260200161016c565b5050505090500194505050505060405180910390f35b6100f7600480360360208110156101b057600080fd5b8101906020810181356401000000008111156101cb57600080fd5b8201836020820111156101dd57600080fd5b803590602001918460018302840111640100000000831117156101ff57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506103f3945050505050565b610101610614565b50565b604080516001808252818301909252606091829190602080830190803683375050604080516309019aaf60e31b815230600482015290519293506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169263480cd57892506024808301926020929190829003018186803b1580156102d657600080fd5b505afa1580156102ea573d6000803e3d6000fd5b505050506040513d602081101561030057600080fd5b50518151829060009061030f57fe5b6020026020010181815250508060008151811061032857fe5b602002602001015160001415610380576000805b50604051908082528060200260200182016040528015610366578160200160208202803683370190505b5060408051600081526020810190915290925090506103ef565b60408051600180825281830190925290602080830190803683370190505091507f0000000000000000000000000000000000000000000000000000000000000000826000815181106103ce57fe5b60200260200101906001600160a01b031690816001600160a01b0316815250505b9091565b6000606082806020019051604081101561040c57600080fd5b81516020830180516040519294929383019291908464010000000082111561043357600080fd5b90830190602082018581111561044857600080fd5b825164010000000081118282018810171561046257600080fd5b82525081516020918201929091019080838360005b8381101561048f578181015183820152602001610477565b50505050905090810190601f1680156104bc5780820380516001836020036101000a031916815260200191505b5060405250505091509150600060058111156104d457fe5b82141561050d5760008060008060006104ec86610757565b94509450945094509450610503858585858561079d565b505050505061060f565b600182141561053d57600080600061052484610902565b925092509250610535838383610936565b50505061060f565b600282141561056557600080600061055484610902565b925092509250610535838383610a52565b600382141561059a5760008060008061057d85610b9d565b935093509350935061059184848484610bda565b5050505061060f565b60048214156105c25760008060006105b184610902565b925092509250610535838383610cbe565b60058214156105d8576105d3610d63565b61060f565b60405162461bcd60e51b81526004018080602001828103825260268152602001806112916026913960400191505060405180910390fd5b505050565b6040805160018082528183019092526060918291906020808301908036833750506040805163d66a255360e01b815230600482015290519293506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169263d66a255392506024808301926020929190829003018186803b15801561069f57600080fd5b505afa1580156106b3573d6000803e3d6000fd5b505050506040513d60208110156106c957600080fd5b5051815182906000906106d857fe5b602002602001018181525050806000815181106106f157fe5b6020026020010151600014156107095760008061033c565b60408051600180825281830190925290602080830190803683370190505091507f0000000000000000000000000000000000000000000000000000000000000000826000815181106103ce57fe5b60008060008060008580602001905160a081101561077457600080fd5b508051602082015160408301516060840151608090940151929a91995097509195509350915050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316632e1a7d4d856040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561080357600080fd5b505af1158015610817573d6000803e3d6000fd5b505050507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663860665b385878686866040518663ffffffff1660e01b815260040180858152602001848152602001836001600160a01b03168152602001826001600160a01b031681526020019450505050506000604051808303818588803b1580156108ab57600080fd5b505af11580156108bf573d6000803e3d6000fd5b506108fb9350506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016915033905085610f4d565b5050505050565b600080600083806020019051606081101561091c57600080fd5b508051602082015160409092015190969195509350915050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316632e1a7d4d846040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561099c57600080fd5b505af11580156109b0573d6000803e3d6000fd5b505050507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166368647db18484846040518463ffffffff1660e01b815260040180836001600160a01b03168152602001826001600160a01b03168152602001925050506000604051808303818588803b158015610a3457600080fd5b505af1158015610a48573d6000803e3d6000fd5b5050505050505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635530273c8484846040518463ffffffff1660e01b815260040180848152602001836001600160a01b03168152602001826001600160a01b031681526020019350505050600060405180830381600087803b158015610ada57600080fd5b505af1158015610aee573d6000803e3d6000fd5b505050507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0846040518263ffffffff1660e01b81526004016000604051808303818588803b158015610b4d57600080fd5b505af1158015610b61573d6000803e3d6000fd5b5061060f9350506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016915033905085610f4d565b600080600080848060200190516080811015610bb857600080fd5b5080516020820151604083015160609093015191989097509195509350915050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316631184e5f8858585856040518563ffffffff1660e01b815260040180858152602001848152602001836001600160a01b03168152602001826001600160a01b03168152602001945050505050600060405180830381600087803b158015610c6a57600080fd5b505af1158015610c7e573d6000803e3d6000fd5b50610cb89250506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690503385610f4d565b50505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166304491fa78484846040518463ffffffff1660e01b815260040180848152602001836001600160a01b03168152602001826001600160a01b031681526020019350505050600060405180830381600087803b158015610d4657600080fd5b505af1158015610d5a573d6000803e3d6000fd5b50505050505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316630e704d506040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610dbe57600080fd5b505af1158015610dd2573d6000803e3d6000fd5b5050505060004790507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b158015610e3657600080fd5b505af1158015610e4a573d6000803e3d6000fd5b5050505050610f1d337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610ec057600080fd5b505afa158015610ed4573d6000803e3d6000fd5b505050506040513d6020811015610eea57600080fd5b50516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169190610f4d565b6102486001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633835b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b17905261060f9084906060610fef826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031661104b9092919063ffffffff16565b80519091501561060f5780806020019051602081101561100e57600080fd5b505161060f5760405162461bcd60e51b815260040180806020018281038252602a8152602001806112b7602a913960400191505060405180910390fd5b606061105a8484600085611064565b90505b9392505050565b6060824710156110a55760405162461bcd60e51b815260040180806020018281038252602681526020018061126b6026913960400191505060405180910390fd5b6110ae856111c0565b6110ff576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b6020831061113e5780518252601f19909201916020918201910161111f565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146111a0576040519150601f19603f3d011682016040523d82523d6000602084013e6111a5565b606091505b50915091506111b58282866111c6565b979650505050505050565b3b151590565b606083156111d557508161105d565b8251156111e55782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561122f578181015183820152602001611217565b50505050905090810190601f16801561125c5780820380516001836020036101000a031916815260200191505b509250505060405180910390fdfe416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c7265636569766543616c6c46726f6d5661756c743a20496e76616c696420616374696f6e49645361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a164736f6c634300060c000a", "sourceMap": "817:7499:112:-:0;;;1141:336;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1141:336:112;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1304:56:112;;;;;1141:336;1304:56;1370:44;;;;;;;1424:18;;;;;;1452;;;;;;817:7499;;;;;;;;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b506004361061004c5760003560e01c80634ddf47d41461005157806380daddb8146100f9578063e5c23a971461019a578063ecd658b414610240575b600080fd5b6100f76004803603602081101561006757600080fd5b81019060208101813564010000000081111561008257600080fd5b82018360208201111561009457600080fd5b803590602001918460018302840111640100000000831117156100b657600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610248945050505050565b005b61010161024b565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b8381101561014557818101518382015260200161012d565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561018457818101518382015260200161016c565b5050505090500194505050505060405180910390f35b6100f7600480360360208110156101b057600080fd5b8101906020810181356401000000008111156101cb57600080fd5b8201836020820111156101dd57600080fd5b803590602001918460018302840111640100000000831117156101ff57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506103f3945050505050565b610101610614565b50565b604080516001808252818301909252606091829190602080830190803683375050604080516309019aaf60e31b815230600482015290519293506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169263480cd57892506024808301926020929190829003018186803b1580156102d657600080fd5b505afa1580156102ea573d6000803e3d6000fd5b505050506040513d602081101561030057600080fd5b50518151829060009061030f57fe5b6020026020010181815250508060008151811061032857fe5b602002602001015160001415610380576000805b50604051908082528060200260200182016040528015610366578160200160208202803683370190505b5060408051600081526020810190915290925090506103ef565b60408051600180825281830190925290602080830190803683370190505091507f0000000000000000000000000000000000000000000000000000000000000000826000815181106103ce57fe5b60200260200101906001600160a01b031690816001600160a01b0316815250505b9091565b6000606082806020019051604081101561040c57600080fd5b81516020830180516040519294929383019291908464010000000082111561043357600080fd5b90830190602082018581111561044857600080fd5b825164010000000081118282018810171561046257600080fd5b82525081516020918201929091019080838360005b8381101561048f578181015183820152602001610477565b50505050905090810190601f1680156104bc5780820380516001836020036101000a031916815260200191505b5060405250505091509150600060058111156104d457fe5b82141561050d5760008060008060006104ec86610757565b94509450945094509450610503858585858561079d565b505050505061060f565b600182141561053d57600080600061052484610902565b925092509250610535838383610936565b50505061060f565b600282141561056557600080600061055484610902565b925092509250610535838383610a52565b600382141561059a5760008060008061057d85610b9d565b935093509350935061059184848484610bda565b5050505061060f565b60048214156105c25760008060006105b184610902565b925092509250610535838383610cbe565b60058214156105d8576105d3610d63565b61060f565b60405162461bcd60e51b81526004018080602001828103825260268152602001806112916026913960400191505060405180910390fd5b505050565b6040805160018082528183019092526060918291906020808301908036833750506040805163d66a255360e01b815230600482015290519293506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169263d66a255392506024808301926020929190829003018186803b15801561069f57600080fd5b505afa1580156106b3573d6000803e3d6000fd5b505050506040513d60208110156106c957600080fd5b5051815182906000906106d857fe5b602002602001018181525050806000815181106106f157fe5b6020026020010151600014156107095760008061033c565b60408051600180825281830190925290602080830190803683370190505091507f0000000000000000000000000000000000000000000000000000000000000000826000815181106103ce57fe5b60008060008060008580602001905160a081101561077457600080fd5b508051602082015160408301516060840151608090940151929a91995097509195509350915050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316632e1a7d4d856040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561080357600080fd5b505af1158015610817573d6000803e3d6000fd5b505050507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663860665b385878686866040518663ffffffff1660e01b815260040180858152602001848152602001836001600160a01b03168152602001826001600160a01b031681526020019450505050506000604051808303818588803b1580156108ab57600080fd5b505af11580156108bf573d6000803e3d6000fd5b506108fb9350506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016915033905085610f4d565b5050505050565b600080600083806020019051606081101561091c57600080fd5b508051602082015160409092015190969195509350915050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316632e1a7d4d846040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561099c57600080fd5b505af11580156109b0573d6000803e3d6000fd5b505050507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166368647db18484846040518463ffffffff1660e01b815260040180836001600160a01b03168152602001826001600160a01b03168152602001925050506000604051808303818588803b158015610a3457600080fd5b505af1158015610a48573d6000803e3d6000fd5b5050505050505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635530273c8484846040518463ffffffff1660e01b815260040180848152602001836001600160a01b03168152602001826001600160a01b031681526020019350505050600060405180830381600087803b158015610ada57600080fd5b505af1158015610aee573d6000803e3d6000fd5b505050507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0846040518263ffffffff1660e01b81526004016000604051808303818588803b158015610b4d57600080fd5b505af1158015610b61573d6000803e3d6000fd5b5061060f9350506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016915033905085610f4d565b600080600080848060200190516080811015610bb857600080fd5b5080516020820151604083015160609093015191989097509195509350915050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316631184e5f8858585856040518563ffffffff1660e01b815260040180858152602001848152602001836001600160a01b03168152602001826001600160a01b03168152602001945050505050600060405180830381600087803b158015610c6a57600080fd5b505af1158015610c7e573d6000803e3d6000fd5b50610cb89250506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690503385610f4d565b50505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166304491fa78484846040518463ffffffff1660e01b815260040180848152602001836001600160a01b03168152602001826001600160a01b031681526020019350505050600060405180830381600087803b158015610d4657600080fd5b505af1158015610d5a573d6000803e3d6000fd5b50505050505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316630e704d506040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610dbe57600080fd5b505af1158015610dd2573d6000803e3d6000fd5b5050505060004790507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b158015610e3657600080fd5b505af1158015610e4a573d6000803e3d6000fd5b5050505050610f1d337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610ec057600080fd5b505afa158015610ed4573d6000803e3d6000fd5b505050506040513d6020811015610eea57600080fd5b50516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169190610f4d565b6102486001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633835b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b17905261060f9084906060610fef826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031661104b9092919063ffffffff16565b80519091501561060f5780806020019051602081101561100e57600080fd5b505161060f5760405162461bcd60e51b815260040180806020018281038252602a8152602001806112b7602a913960400191505060405180910390fd5b606061105a8484600085611064565b90505b9392505050565b6060824710156110a55760405162461bcd60e51b815260040180806020018281038252602681526020018061126b6026913960400191505060405180910390fd5b6110ae856111c0565b6110ff576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b6020831061113e5780518252601f19909201916020918201910161111f565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146111a0576040519150601f19603f3d011682016040523d82523d6000602084013e6111a5565b606091505b50915091506111b58282866111c6565b979650505050505050565b3b151590565b606083156111d557508161105d565b8251156111e55782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561122f578181015183820152602001611217565b50505050905090810190601f16801561125c5780820380516001836020036101000a031916815260200191505b509250505060405180910390fdfe416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c7265636569766543616c6c46726f6d5661756c743a20496e76616c696420616374696f6e49645361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a164736f6c634300060c000a", "sourceMap": "817:7499:112:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1586:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1586:48:112;;-1:-1:-1;1586:48:112;;-1:-1:-1;;;;;1586:48:112:i;:::-;;7767:547;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1762:2059;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1762:2059:112;;-1:-1:-1;1762:2059:112;;-1:-1:-1;;;;;1762:2059:112:i;7050:538::-;;;:::i;1586:48::-;;:::o;7767:547::-;7924:16;;;7938:1;7924:16;;;;;;;;;7846:24;;;;7924:16;;;;;;;;;;-1:-1:-1;;7964:71:112;;;-1:-1:-1;;;7964:71:112;;8029:4;7964:71;;;;;;7913:27;;-1:-1:-1;;;;;;7985:21:112;7964:56;;;;-1:-1:-1;7964:71:112;;;;;;;;;;;;;;:56;:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7964:71:112;7950:11;;:8;;7959:1;;7950:11;;;;;;;;;:85;;;;;8115:8;8124:1;8115:11;;;;;;;;;;;;;;8130:1;8115:16;8111:90;;;8169:1;;8155:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8155:16:112;-1:-1:-1;8173:16:112;;;8187:1;8173:16;;;;;;;;8147:43;;-1:-1:-1;8173:16:112;-1:-1:-1;8147:43:112;;8111:90;8221:16;;;8235:1;8221:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8221:16:112;8211:26;;8260:10;8247:7;8255:1;8247:10;;;;;;;;;;;;;:23;-1:-1:-1;;;;;8247:23:112;;;-1:-1:-1;;;;;8247:23:112;;;;;7767:547;;;:::o;1762:2059::-;1847:16;1865:23;1903:11;1892:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1892:41:112;;;;;;;;;;-1:-1:-1;1892:41:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1846:87;;;;1968:17;1960:26;;;;;;;;1948:8;:38;1944:1871;;;2020:24;2062;2104:18;2140:17;2175;2209:33;2231:10;2209:21;:33::i;:::-;2002:240;;;;;;;;;;2256:81;2268:16;2286;2304:10;2316:9;2327;2256:11;:81::i;:::-;1944:1871;;;;;;;;2378:21;2358:8;:42;2354:1461;;;2434:24;2476:17;2511;2545:43;2577:10;2545:31;:43::i;:::-;2416:172;;;;;;2602:55;2618:16;2636:9;2647;2602:15;:55::i;:::-;2354:1461;;;;;;2698:24;2678:8;:45;2674:1141;;;2757:24;2799:17;2834;2868:46;2903:10;2868:34;:46::i;:::-;2739:175;;;;;;2928:58;2947:16;2965:9;2976;2928:18;:58::i;2674:1141::-;3027:14;3007:8;:35;3003:812;;;3076:24;3118:18;3154:17;3189;3223:36;3248:10;3223:24;:36::i;:::-;3058:201;;;;;;;;3273:60;3282:16;3300:10;3312:9;3323;3273:8;:60::i;:::-;3003:812;;;;;;;3374:19;3354:8;:40;3350:465;;;3428:18;3464:17;3499;3533:41;3563:10;3533:29;:41::i;:::-;3410:164;;;;;;3588:47;3602:10;3614:9;3625;3588:13;:47::i;3350:465::-;3676:18;3656:8;:39;3652:163;;;3711:14;:12;:14::i;:::-;3652:163;;;3756:48;;-1:-1:-1;;;3756:48:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3652:163;1762:2059;;;:::o;7050:538::-;7204:16;;;7218:1;7204:16;;;;;;;;;7126:24;;;;7204:16;;;;;;;;;;-1:-1:-1;;7244:71:112;;;-1:-1:-1;;;7244:71:112;;7309:4;7244:71;;;;;;7193:27;;-1:-1:-1;;;;;;7265:21:112;7244:56;;;;-1:-1:-1;7244:71:112;;;;;;;;;;;;;;:56;:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7244:71:112;7230:11;;:8;;7239:1;;7230:11;;;;;;;;;:85;;;;;7389:8;7398:1;7389:11;;;;;;;;;;;;;;7404:1;7389:16;7385:90;;;7443:1;;7429:16;;7385:90;7495:16;;;7509:1;7495:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7495:16:112;7485:26;;7534:10;7521:7;7529:1;7521:10;;;;;;;1661:387:111;1778:25;1817;1856:19;1889:18;1921;1982:11;1971:70;;;;;;;;;;;;;;;-1:-1:-1;1971:70:111;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1971:70:111;-1:-1:-1;1971:70:111;;-1:-1:-1;1971:70:111;-1:-1:-1;1661:387:111;-1:-1:-1;;1661:387:111:o;5304:498:112:-;5510:10;-1:-1:-1;;;;;5504:26:112;;5531:17;5504:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5587:27;-1:-1:-1;;;;;5560:65:112;;5646:17;5674;5693:11;5706:10;5718;5560:169;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5560:169:112;;;;;;-1:-1:-1;;;;;5560:169:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5740:55:112;;-1:-1:-1;;;;;;;5746:10:112;5740:30;;-1:-1:-1;5771:10:112;;-1:-1:-1;5783:11:112;5740:30;:55::i;:::-;5304:498;;;;;:::o;598:307:111:-;725:25;764:18;796;857:11;846:52;;;;;;;;;;;;;;;-1:-1:-1;846:52:111;;;;;;;;;;;;;;;-1:-1:-1;846:52:111;-1:-1:-1;598:307:111;-1:-1:-1;;598:307:111:o;3863:320:112:-;3999:10;-1:-1:-1;;;;;3993:26:112;;4020:7;3993:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4066:27;-1:-1:-1;;;;;4039:63:112;;4110:7;4132:10;4156;4039:137;;;;;;;;;;;;;-1:-1:-1;;;;;4039:137:112;;;;;;-1:-1:-1;;;;;4039:137:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3863:320;;;:::o;5847:402::-;6007:27;-1:-1:-1;;;;;5980:68:112;;6062:7;6083:10;6107;5980:147;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5980:147:112;;;;;;-1:-1:-1;;;;;5980:147:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6144:10;-1:-1:-1;;;;;6138:25:112;;6171:7;6138:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6191:51:112;;-1:-1:-1;;;;;;;6197:10:112;6191:30;;-1:-1:-1;6222:10:112;;-1:-1:-1;6234:7:112;6191:30;:51::i;976:342:111:-;1096:25;1135:19;1168:18;1200;1261:11;1250:61;;;;;;;;;;;;;;;-1:-1:-1;1250:61:111;;;;;;;;;;;;;;;;;;;-1:-1:-1;1250:61:111;;-1:-1:-1;1250:61:111;-1:-1:-1;976:342:111;-1:-1:-1;;976:342:111:o;4246:405:112:-;4431:27;-1:-1:-1;;;;;4404:68:112;;4486:17;4517:7;4538:10;4562;4404:178;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4404:178:112;;;;;;-1:-1:-1;;;;;4404:178:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4593:51:112;;-1:-1:-1;;;;;;;4599:10:112;4593:30;;-1:-1:-1;4624:10:112;4636:7;4593:30;:51::i;:::-;4246:405;;;;:::o;6435:345::-;6656:27;-1:-1:-1;;;;;6629:65:112;;6708:7;6729:10;6753;6629:144;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6629:144:112;;;;;;-1:-1:-1;;;;;6629:144:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6435:345;;;:::o;4803:464::-;4872:27;-1:-1:-1;;;;;4845:66:112;;:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4924:18;4945:21;4924:42;;4983:10;-1:-1:-1;;;;;4977:25:112;;5010:10;4977:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5110:86;5141:10;5159;-1:-1:-1;;;;;5153:27:112;;5189:4;5153:42;;;;;;;;;;;;;-1:-1:-1;;;;;5153:42:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5153:42:112;-1:-1:-1;;;;;5116:10:112;5110:30;;:86;:30;:86::i;:::-;5206:54;-1:-1:-1;;;;;5212:10:112;5206:30;5237:10;5249;704:175:450;813:58;;;-1:-1:-1;;;;;813:58:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;813:58:450;-1:-1:-1;;;813:58:450;;;786:86;;806:5;;3386:23;3412:69;3440:4;3412:69;;;;;;;;;;;;;;;;;3420:5;-1:-1:-1;;;;;3412:27:450;;;:69;;;;;:::i;:::-;3495:17;;3386:95;;-1:-1:-1;3495:21:450;3491:221;;3635:10;3624:30;;;;;;;;;;;;;;;-1:-1:-1;3624:30:450;3616:85;;;;-1:-1:-1;;;3616:85:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3581:193:451;3684:12;3715:52;3737:6;3745:4;3751:1;3754:12;3715:21;:52::i;:::-;3708:59;;3581:193;;;;;;:::o;4608:523::-;4735:12;4792:5;4767:21;:30;;4759:81;;;;-1:-1:-1;;;4759:81:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4858:18;4869:6;4858:10;:18::i;:::-;4850:60;;;;;-1:-1:-1;;;4850:60:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;4981:12;4995:23;5022:6;-1:-1:-1;;;;;5022:11:451;5042:5;5050:4;5022:33;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5022:33:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4980:75;;;;5072:52;5090:7;5099:10;5111:12;5072:17;:52::i;:::-;5065:59;4608:523;-1:-1:-1;;;;;;;4608:523:451:o;726:413::-;1086:20;1124:8;;;726:413::o;7091:725::-;7206:12;7234:7;7230:580;;;-1:-1:-1;7264:10:451;7257:17;;7230:580;7375:17;;:21;7371:429;;7633:10;7627:17;7693:15;7680:10;7676:2;7672:19;7665:44;7582:145;7772:12;7765:20;;-1:-1:-1;;;7765:20:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;", "linkReferences": {}, "immutableReferences": { "26273": [ { "start": 2077, "length": 32 }, { "start": 2486, "length": 32 }, { "start": 2644, "length": 32 }, { "start": 3036, "length": 32 }, { "start": 3264, "length": 32 }, { "start": 3429, "length": 32 } ], "26275": [ { "start": 655, "length": 32 }, { "start": 1624, "length": 32 } ], "26277": [ { "start": 1835, "length": 32 }, { "start": 2256, "length": 32 }, { "start": 3215, "length": 32 }, { "start": 3669, "length": 32 }, { "start": 3830, "length": 32 } ], "26279": [ { "start": 930, "length": 32 }, { "start": 1951, "length": 32 }, { "start": 2360, "length": 32 }, { "start": 2804, "length": 32 }, { "start": 2930, "length": 32 }, { "start": 3549, "length": 32 }, { "start": 3882, "length": 32 } ] } }, "methodIdentifiers": { "getDebtAssets()": "ecd658b4", "getManagedAssets()": "80daddb8", "init(bytes)": "4ddf47d4", "receiveCallFromVault(bytes)": "e5c23a97" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_liquityBorrowerOperations\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_liquityTroveManager\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_lusd\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_weth\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"getDebtAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"assets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getManagedAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"assets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"}],\"name\":\"receiveCallFromVault\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"getDebtAssets()\":{\"returns\":{\"amounts_\":\"Debt asset amounts\",\"assets_\":\"Debt assets\"}},\"getManagedAssets()\":{\"returns\":{\"amounts_\":\"Managed asset amounts\",\"assets_\":\"Managed assets\"}},\"init(bytes)\":{\"details\":\"Nothing to initialize for this contract\"},\"receiveCallFromVault(bytes)\":{\"params\":{\"_actionData\":\"Encoded data to execute the action\"}}},\"title\":\"LiquityDebtPositionLib Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getDebtAssets()\":{\"notice\":\"Retrieves the debt assets (negative value) of the external position\"},\"getManagedAssets()\":{\"notice\":\"Retrieves the managed assets (positive value) of the external position\"},\"init(bytes)\":{\"notice\":\"Initializes the external position\"},\"receiveCallFromVault(bytes)\":{\"notice\":\"Receives and executes a call from the Vault\"}},\"notice\":\"An External Position library contract for Liquity debt positions\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/liquity-debt/LiquityDebtPositionLib.sol\":\"LiquityDebtPositionLib\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/release/extensions/external-position-manager/external-positions/liquity-debt/ILiquityDebtPosition.sol\":{\"keccak256\":\"0xcd6051d3e31e4c1749f3da2a893622de7ce356278ef5db824e88e2765f251823\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://66d3acab607c650209ecb0a239380a080960de9864a7543b38ba0935dee956ba\",\"dweb:/ipfs/QmYF2Crm2Mg2TK7zai43TEYgxd8SkKjtzMVwcDL9aFsBJA\"]},\"contracts/release/extensions/external-position-manager/external-positions/liquity-debt/LiquityDebtPositionDataDecoder.sol\":{\"keccak256\":\"0x53a16d0358ca1967e9e802c24d68926fbfdea87bd68041b1b0bf9dad918d0686\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bd070e263b809e5c2ddabf0efed7c11a4c1066410c8102dda537bc3a987657d0\",\"dweb:/ipfs/QmQJnEniTK5sG2ncUMzh3dQYnYuUu85BPXWN1enFaR4Uaa\"]},\"contracts/release/extensions/external-position-manager/external-positions/liquity-debt/LiquityDebtPositionLib.sol\":{\"keccak256\":\"0xfb700072019af2c2f6a52f069913cb0ce643502105fa62703d214abf6065d172\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1fb7dbbafc0e84bf539341c8d74229122c9446aa8fdfc43a24d3383f599cc494\",\"dweb:/ipfs/QmdDpryciV3WNdPVvrofWcEf429aJbtHyzHgpojQp4z5f6\"]},\"contracts/release/interfaces/ILiquityBorrowerOperations.sol\":{\"keccak256\":\"0xb501baeddc5a11d34826012fb8446e94fa688dc776e89e276dd0a4e208561112\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://15f1ba0caef55fa13f325d4afd306f36f42d30f3dcb249e87a29bd4bbbd371e9\",\"dweb:/ipfs/QmWomZ5h9ngaRj3AbNQfCbxKyS491qQiV7xAnt9XujiXMS\"]},\"contracts/release/interfaces/ILiquityTroveManager.sol\":{\"keccak256\":\"0x8e3296f143e0d194dee3ffebc0912d21d5181e1360e0ec99673d2e61d047f7a6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://44267baacec0e4a2e9396b12b2106bb596a0a17d1e8df206ef95f46f841b052b\",\"dweb:/ipfs/QmRp6HQ6FhdQCsTskSq596y1WBM7BsG9dArj8Gd23c2NTF\"]},\"contracts/release/interfaces/IWETH.sol\":{\"keccak256\":\"0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2\",\"dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_liquityBorrowerOperations", "type": "address" }, { "internalType": "address", "name": "_liquityTroveManager", "type": "address" }, { "internalType": "address", "name": "_lusd", "type": "address" }, { "internalType": "address", "name": "_weth", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "getDebtAssets", "outputs": [ { "internalType": "address[]", "name": "assets_", "type": "address[]" }, { "internalType": "uint256[]", "name": "amounts_", "type": "uint256[]" } ] }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "getManagedAssets", "outputs": [ { "internalType": "address[]", "name": "assets_", "type": "address[]" }, { "internalType": "uint256[]", "name": "amounts_", "type": "uint256[]" } ] }, { "inputs": [ { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "init" }, { "inputs": [ { "internalType": "bytes", "name": "_actionData", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "receiveCallFromVault" } ], "devdoc": { "kind": "dev", "methods": { "getDebtAssets()": { "returns": { "amounts_": "Debt asset amounts", "assets_": "Debt assets" } }, "getManagedAssets()": { "returns": { "amounts_": "Managed asset amounts", "assets_": "Managed assets" } }, "init(bytes)": { "details": "Nothing to initialize for this contract" }, "receiveCallFromVault(bytes)": { "params": { "_actionData": "Encoded data to execute the action" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "getDebtAssets()": { "notice": "Retrieves the debt assets (negative value) of the external position" }, "getManagedAssets()": { "notice": "Retrieves the managed assets (positive value) of the external position" }, "init(bytes)": { "notice": "Initializes the external position" }, "receiveCallFromVault(bytes)": { "notice": "Receives and executes a call from the Vault" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/external-position-manager/external-positions/liquity-debt/LiquityDebtPositionLib.sol": "LiquityDebtPositionLib" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/external-positions/IExternalPosition.sol": { "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", "urls": [ "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/liquity-debt/ILiquityDebtPosition.sol": { "keccak256": "0xcd6051d3e31e4c1749f3da2a893622de7ce356278ef5db824e88e2765f251823", "urls": [ "bzz-raw://66d3acab607c650209ecb0a239380a080960de9864a7543b38ba0935dee956ba", "dweb:/ipfs/QmYF2Crm2Mg2TK7zai43TEYgxd8SkKjtzMVwcDL9aFsBJA" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/liquity-debt/LiquityDebtPositionDataDecoder.sol": { "keccak256": "0x53a16d0358ca1967e9e802c24d68926fbfdea87bd68041b1b0bf9dad918d0686", "urls": [ "bzz-raw://bd070e263b809e5c2ddabf0efed7c11a4c1066410c8102dda537bc3a987657d0", "dweb:/ipfs/QmQJnEniTK5sG2ncUMzh3dQYnYuUu85BPXWN1enFaR4Uaa" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/liquity-debt/LiquityDebtPositionLib.sol": { "keccak256": "0xfb700072019af2c2f6a52f069913cb0ce643502105fa62703d214abf6065d172", "urls": [ "bzz-raw://1fb7dbbafc0e84bf539341c8d74229122c9446aa8fdfc43a24d3383f599cc494", "dweb:/ipfs/QmdDpryciV3WNdPVvrofWcEf429aJbtHyzHgpojQp4z5f6" ], "license": "GPL-3.0" }, "contracts/release/interfaces/ILiquityBorrowerOperations.sol": { "keccak256": "0xb501baeddc5a11d34826012fb8446e94fa688dc776e89e276dd0a4e208561112", "urls": [ "bzz-raw://15f1ba0caef55fa13f325d4afd306f36f42d30f3dcb249e87a29bd4bbbd371e9", "dweb:/ipfs/QmWomZ5h9ngaRj3AbNQfCbxKyS491qQiV7xAnt9XujiXMS" ], "license": "GPL-3.0" }, "contracts/release/interfaces/ILiquityTroveManager.sol": { "keccak256": "0x8e3296f143e0d194dee3ffebc0912d21d5181e1360e0ec99673d2e61d047f7a6", "urls": [ "bzz-raw://44267baacec0e4a2e9396b12b2106bb596a0a17d1e8df206ef95f46f841b052b", "dweb:/ipfs/QmRp6HQ6FhdQCsTskSq596y1WBM7BsG9dArj8Gd23c2NTF" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IWETH.sol": { "keccak256": "0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2", "urls": [ "bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2", "dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", "urls": [ "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Address.sol": { "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", "urls": [ "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" } }, "version": 1 }, "id": 112 } diff --git a/eth_defi/abi/enzyme/LiquityDebtPositionParser.json b/eth_defi/abi/enzyme/LiquityDebtPositionParser.json index 10fa607e..609d0aac 100644 --- a/eth_defi/abi/enzyme/LiquityDebtPositionParser.json +++ b/eth_defi/abi/enzyme/LiquityDebtPositionParser.json @@ -1,360 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_liquityTroveManager", - "type": "address" - }, - { - "internalType": "address", - "name": "_lusdToken", - "type": "address" - }, - { - "internalType": "address", - "name": "_wethToken", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_externalPosition", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_actionId", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_encodedActionArgs", - "type": "bytes" - } - ], - "name": "parseAssetsForAction", - "outputs": [ - { - "internalType": "address[]", - "name": "assetsToTransfer_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "amountsToTransfer_", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "assetsToReceive_", - "type": "address[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "parseInitArgs", - "outputs": [ - { - "internalType": "bytes", - "name": "initArgs_", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x60e060405234801561001057600080fd5b506040516109c93803806109c98339818101604052606081101561003357600080fd5b50805160208201516040909201516001600160601b0319606092831b811660805292821b831660a052901b1660c05260805160601c60a05160601c60c05160601c6109146100b56000398061038052806104b15280610544528061082252508061040952806105ef528061068652806107ba5250806106bf52506109146000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063bbd2d6461461003b578063db16c72e146101d4575b600080fd5b6100f66004803603606081101561005157600080fd5b6001600160a01b038235169160208101359181019060608101604082013564010000000081111561008157600080fd5b82018360208201111561009357600080fd5b803590602001918460018302840111640100000000831117156100b557600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506102ff945050505050565b60405180806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b8381101561013e578181015183820152602001610126565b50505050905001848103835286818151815260200191508051906020019060200280838360005b8381101561017d578181015183820152602001610165565b50505050905001848103825285818151815260200191508051906020019060200280838360005b838110156101bc5781810151838201526020016101a4565b50505050905001965050505050505060405180910390f35b61028a600480360360408110156101ea57600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561021557600080fd5b82018360208201111561022757600080fd5b8035906020019184600183028401116401000000008311171561024957600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610879945050505050565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102c45781810151838201526020016102ac565b50505050905090810190601f1680156102f15780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b60608080846104575760006103138561088d565b505050915050600167ffffffffffffffff8111801561033157600080fd5b5060405190808252806020026020018201604052801561035b578160200160208202803683370190505b50604080516001808252818301909252919550602080830190803683370190505092507f0000000000000000000000000000000000000000000000000000000000000000846000815181106103ac57fe5b60200260200101906001600160a01b031690816001600160a01b03168152505080836000815181106103da57fe5b6020908102919091010152604080516001808252818301909252908160200160208202803683370190505091507f00000000000000000000000000000000000000000000000000000000000000008260008151811061043557fe5b60200260200101906001600160a01b031690816001600160a01b031681525050505b600185141561051957600061046b856108d3565b50506040805160018082528183019092529192506020808301908036833750506040805160018082528183019092529296509050602080830190803683370190505092507f0000000000000000000000000000000000000000000000000000000000000000846000815181106104dd57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050808360008151811061050b57fe5b602002602001018181525050505b60028514156105955760408051600180825281830190925290602080830190803683370190505090507f00000000000000000000000000000000000000000000000000000000000000008160008151811061057057fe5b60200260200101906001600160a01b031690816001600160a01b031681525050610870565b600485141561065b5760006105a9856108d3565b50506040805160018082528183019092529192506020808301908036833750506040805160018082528183019092529296509050602080830190803683370190505092507f00000000000000000000000000000000000000000000000000000000000000008460008151811061061b57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050808360008151811061064957fe5b60200260200101818152505050610870565b60038514156106b25760408051600180825281830190925290602080830190803683370190505090507f00000000000000000000000000000000000000000000000000000000000000008160008151811061057057fe5b60058514156108705760007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d66a2553886040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561072a57600080fd5b505afa15801561073e573d6000803e3d6000fd5b505050506040513d602081101561075457600080fd5b505160408051600180825281830190925291925060208083019080368337505060408051600180825281830190925292965090506020808301908036833750506040805160018082528183019092529294509050602080830190803683370190505092507f0000000000000000000000000000000000000000000000000000000000000000846000815181106107e657fe5b60200260200101906001600160a01b031690816001600160a01b031681525050808360008151811061081457fe5b6020026020010181815250507f00000000000000000000000000000000000000000000000000000000000000008260008151811061084e57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050505b93509350939050565b505060408051602081019091526000815290565b60008060008060008580602001905160a08110156108aa57600080fd5b508051602082015160408301516060840151608090940151929a91995097509195509350915050565b60008060008380602001905160608110156108ed57600080fd5b50805160208201516040909201519096919550935091505056fea164736f6c634300060c000a", - "sourceMap": "600:3938:113:-:0;;;838:246;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;838:246:113;;;;;;;;;;;-1:-1:-1;;;;;;838:246:113;967:44;;;;;;;1021:23;;;;;;;1054;;;;;600:3938;;;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c8063bbd2d6461461003b578063db16c72e146101d4575b600080fd5b6100f66004803603606081101561005157600080fd5b6001600160a01b038235169160208101359181019060608101604082013564010000000081111561008157600080fd5b82018360208201111561009357600080fd5b803590602001918460018302840111640100000000831117156100b557600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506102ff945050505050565b60405180806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b8381101561013e578181015183820152602001610126565b50505050905001848103835286818151815260200191508051906020019060200280838360005b8381101561017d578181015183820152602001610165565b50505050905001848103825285818151815260200191508051906020019060200280838360005b838110156101bc5781810151838201526020016101a4565b50505050905001965050505050505060405180910390f35b61028a600480360360408110156101ea57600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561021557600080fd5b82018360208201111561022757600080fd5b8035906020019184600183028401116401000000008311171561024957600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610879945050505050565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102c45781810151838201526020016102ac565b50505050905090810190601f1680156102f15780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b60608080846104575760006103138561088d565b505050915050600167ffffffffffffffff8111801561033157600080fd5b5060405190808252806020026020018201604052801561035b578160200160208202803683370190505b50604080516001808252818301909252919550602080830190803683370190505092507f0000000000000000000000000000000000000000000000000000000000000000846000815181106103ac57fe5b60200260200101906001600160a01b031690816001600160a01b03168152505080836000815181106103da57fe5b6020908102919091010152604080516001808252818301909252908160200160208202803683370190505091507f00000000000000000000000000000000000000000000000000000000000000008260008151811061043557fe5b60200260200101906001600160a01b031690816001600160a01b031681525050505b600185141561051957600061046b856108d3565b50506040805160018082528183019092529192506020808301908036833750506040805160018082528183019092529296509050602080830190803683370190505092507f0000000000000000000000000000000000000000000000000000000000000000846000815181106104dd57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050808360008151811061050b57fe5b602002602001018181525050505b60028514156105955760408051600180825281830190925290602080830190803683370190505090507f00000000000000000000000000000000000000000000000000000000000000008160008151811061057057fe5b60200260200101906001600160a01b031690816001600160a01b031681525050610870565b600485141561065b5760006105a9856108d3565b50506040805160018082528183019092529192506020808301908036833750506040805160018082528183019092529296509050602080830190803683370190505092507f00000000000000000000000000000000000000000000000000000000000000008460008151811061061b57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050808360008151811061064957fe5b60200260200101818152505050610870565b60038514156106b25760408051600180825281830190925290602080830190803683370190505090507f00000000000000000000000000000000000000000000000000000000000000008160008151811061057057fe5b60058514156108705760007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d66a2553886040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561072a57600080fd5b505afa15801561073e573d6000803e3d6000fd5b505050506040513d602081101561075457600080fd5b505160408051600180825281830190925291925060208083019080368337505060408051600180825281830190925292965090506020808301908036833750506040805160018082528183019092529294509050602080830190803683370190505092507f0000000000000000000000000000000000000000000000000000000000000000846000815181106107e657fe5b60200260200101906001600160a01b031690816001600160a01b031681525050808360008151811061081457fe5b6020026020010181815250507f00000000000000000000000000000000000000000000000000000000000000008260008151811061084e57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050505b93509350939050565b505060408051602081019091526000815290565b60008060008060008580602001905160a08110156108aa57600080fd5b508051602082015160408301516060840151608090940151929a91995097509195509350915050565b60008060008380602001905160608110156108ed57600080fd5b50805160208201516040909201519096919550935091505056fea164736f6c634300060c000a", - "sourceMap": "600:3938:113:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1629:2548;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1629:2548:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1629:2548:113;;-1:-1:-1;1629:2548:113;;-1:-1:-1;;;;;1629:2548:113:i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4385:151;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4385:151:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4385:151:113;;-1:-1:-1;4385:151:113;;-1:-1:-1;;;;;4385:151:113:i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1629:2548;1832:34;;;1991:60;1987:467;;2070:24;2104:41;2126:18;2104:21;:41::i;:::-;2067:78;;;;;;2194:1;2180:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2180:16:113;-1:-1:-1;2231:16:113;;;2245:1;2231:16;;;;;;;;;2160:36;;-1:-1:-1;2231:16:113;;;;;;;;;;;-1:-1:-1;2231:16:113;2210:37;;2284:10;2261:17;2279:1;2261:20;;;;;;;;;;;;;:33;-1:-1:-1;;;;;2261:33:113;;;-1:-1:-1;;;;;2261:33:113;;;;;2332:16;2308:18;2327:1;2308:21;;;;;;;;;;;;;;;;;:40;2381:16;;;2395:1;2381:16;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2381:16:113;2362:35;;2433:10;2411:16;2428:1;2411:19;;;;;;;;;;;;;:32;-1:-1:-1;;;;;2411:32:113;;;-1:-1:-1;;;;;2411:32:113;;;;;1987:467;;2488:42;2467:9;:64;2463:382;;;2548:24;2580:51;2612:18;2580:31;:51::i;:::-;-1:-1:-1;;2666:16:113;;;2680:1;2666:16;;;;;;;;;2547:84;;-1:-1:-1;2666:16:113;;;;;;;;;-1:-1:-1;;2717:16:113;;;2731:1;2717:16;;;;;;;;;2646:36;;-1:-1:-1;2731:1:113;-1:-1:-1;2717:16:113;;;;;;;;;;;-1:-1:-1;2717:16:113;2696:37;;2770:10;2747:17;2765:1;2747:20;;;;;;;;;;;;;:33;-1:-1:-1;;;;;2747:33:113;;;-1:-1:-1;;;;;2747:33:113;;;;;2818:16;2794:18;2813:1;2794:21;;;;;;;;;;;;;:40;;;;;2463:382;;2879:45;2858:9;:67;2854:1242;;;2960:16;;;2974:1;2960:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2960:16:113;2941:35;;3012:10;2990:16;3007:1;2990:19;;;;;;;;;;;;;:32;-1:-1:-1;;;;;2990:32:113;;;-1:-1:-1;;;;;2990:32:113;;;;;2854:1242;;;3064:40;3043:9;:62;3039:1057;;;3122:18;3148:49;3178:18;3148:29;:49::i;:::-;-1:-1:-1;;3231:16:113;;;3245:1;3231:16;;;;;;;;;3121:76;;-1:-1:-1;3231:16:113;;;;;;;;;-1:-1:-1;;3282:16:113;;;3296:1;3282:16;;;;;;;;;3211:36;;-1:-1:-1;3296:1:113;-1:-1:-1;3282:16:113;;;;;;;;;;;-1:-1:-1;3282:16:113;3261:37;;3335:10;3312:17;3330:1;3312:20;;;;;;;;;;;;;:33;-1:-1:-1;;;;;3312:33:113;;;-1:-1:-1;;;;;3312:33:113;;;;;3383:10;3359:18;3378:1;3359:21;;;;;;;;;;;;;:34;;;;;3039:1057;;;;3435:35;3414:9;:57;3410:686;;;3506:16;;;3520:1;3506:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3506:16:113;3487:35;;3558:10;3536:16;3553:1;3536:19;;;;;;;3410:686;3610:39;3589:9;:61;3585:511;;;3666:18;3708:21;-1:-1:-1;;;;;3687:56:113;;3761:17;3687:105;;;;;;;;;;;;;-1:-1:-1;;;;;3687:105:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3687:105:113;3827:16;;;3841:1;3827:16;;;;;;;;;3687:105;;-1:-1:-1;3827:16:113;;;;;;;;;-1:-1:-1;;3876:16:113;;;3890:1;3876:16;;;;;;;;;3807:36;;-1:-1:-1;3890:1:113;-1:-1:-1;3876:16:113;;;;;;;;;-1:-1:-1;;3927:16:113;;;3941:1;3927:16;;;;;;;;;3857:35;;-1:-1:-1;3941:1:113;-1:-1:-1;3927:16:113;;;;;;;;;;;-1:-1:-1;3927:16:113;3906:37;;3981:10;3958:17;3976:1;3958:20;;;;;;;;;;;;;:33;-1:-1:-1;;;;;3958:33:113;;;-1:-1:-1;;;;;3958:33:113;;;;;4029:10;4005:18;4024:1;4005:21;;;;;;;;;;;;;:34;;;;;4075:10;4053:16;4070:1;4053:19;;;;;;;;;;;;;:32;-1:-1:-1;;;;;4053:32:113;;;-1:-1:-1;;;;;4053:32:113;;;;;3585:511;;1629:2548;;;;;;;:::o;4385:151::-;-1:-1:-1;;4520:9:113;;;;;;;;;-1:-1:-1;4520:9:113;;;4385:151::o;1661:387:111:-;1778:25;1817;1856:19;1889:18;1921;1982:11;1971:70;;;;;;;;;;;;;;;-1:-1:-1;1971:70:111;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1971:70:111;-1:-1:-1;1971:70:111;;-1:-1:-1;1971:70:111;-1:-1:-1;1661:387:111;-1:-1:-1;;1661:387:111:o;598:307::-;725:25;764:18;796;857:11;846:52;;;;;;;;;;;;;;;-1:-1:-1;846:52:111;;;;;;;;;;;;;;;-1:-1:-1;846:52:111;-1:-1:-1;598:307:111;-1:-1:-1;;598:307:111:o", - "linkReferences": {}, - "immutableReferences": { - "26857": [ - { - "start": 1727, - "length": 32 - } - ], - "26859": [ - { - "start": 1033, - "length": 32 - }, - { - "start": 1519, - "length": 32 - }, - { - "start": 1670, - "length": 32 - }, - { - "start": 1978, - "length": 32 - } - ], - "26861": [ - { - "start": 896, - "length": 32 - }, - { - "start": 1201, - "length": 32 - }, - { - "start": 1348, - "length": 32 - }, - { - "start": 2082, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "parseAssetsForAction(address,uint256,bytes)": "bbd2d646", - "parseInitArgs(address,bytes)": "db16c72e" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_liquityTroveManager\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_lusdToken\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_wethToken\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_externalPosition\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_actionId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_encodedActionArgs\",\"type\":\"bytes\"}],\"name\":\"parseAssetsForAction\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"assetsToTransfer_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amountsToTransfer_\",\"type\":\"uint256[]\"},{\"internalType\":\"address[]\",\"name\":\"assetsToReceive_\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"parseInitArgs\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"initArgs_\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"parseAssetsForAction(address,uint256,bytes)\":{\"params\":{\"_actionId\":\"The _actionId for the callOnExternalPosition\",\"_encodedActionArgs\":\"The encoded parameters for the callOnExternalPosition\",\"_externalPosition\":\"The _externalPosition to be called\"},\"returns\":{\"amountsToTransfer_\":\"The amounts to be transfered from the Vault\",\"assetsToReceive_\":\"The assets to be received at the Vault\",\"assetsToTransfer_\":\"The assets to be transfered from the Vault\"}},\"parseInitArgs(address,bytes)\":{\"returns\":{\"initArgs_\":\"Parsed and encoded args for ExternalPositionProxy.init()\"}}},\"title\":\"LiquityDebtPositionParser\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"parseAssetsForAction(address,uint256,bytes)\":{\"notice\":\"Parses the assets to send and receive for the callOnExternalPosition\"},\"parseInitArgs(address,bytes)\":{\"notice\":\"Parse and validate input arguments to be used when initializing a newly-deployed ExternalPositionProxy\"}},\"notice\":\"Parser for Liquity Debt Positions\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/liquity-debt/LiquityDebtPositionParser.sol\":\"LiquityDebtPositionParser\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/release/extensions/external-position-manager/external-positions/IExternalPositionParser.sol\":{\"keccak256\":\"0x1662fbd65841ee5e9cf8d5329b9d04c264b24ef68ae1e0484e59a8969b0d2c46\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://580569b0f875e0344db83fae1e72dcc6c0767a049b2a6cc3e4f3c411d2284b27\",\"dweb:/ipfs/QmXFmF9QbcVsPHaBo1iq8sZHYhDkwfkMZpHmLTuJJ37NvZ\"]},\"contracts/release/extensions/external-position-manager/external-positions/liquity-debt/ILiquityDebtPosition.sol\":{\"keccak256\":\"0xcd6051d3e31e4c1749f3da2a893622de7ce356278ef5db824e88e2765f251823\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://66d3acab607c650209ecb0a239380a080960de9864a7543b38ba0935dee956ba\",\"dweb:/ipfs/QmYF2Crm2Mg2TK7zai43TEYgxd8SkKjtzMVwcDL9aFsBJA\"]},\"contracts/release/extensions/external-position-manager/external-positions/liquity-debt/LiquityDebtPositionDataDecoder.sol\":{\"keccak256\":\"0x53a16d0358ca1967e9e802c24d68926fbfdea87bd68041b1b0bf9dad918d0686\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bd070e263b809e5c2ddabf0efed7c11a4c1066410c8102dda537bc3a987657d0\",\"dweb:/ipfs/QmQJnEniTK5sG2ncUMzh3dQYnYuUu85BPXWN1enFaR4Uaa\"]},\"contracts/release/extensions/external-position-manager/external-positions/liquity-debt/LiquityDebtPositionParser.sol\":{\"keccak256\":\"0xc1aea64130738023e356306195101f5ff70af200589f164a11424e3b1ad43946\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://533b1f1e171f3f9c22069c7de21323302e5506f297d9d4bb91a73c0ad9dfe739\",\"dweb:/ipfs/QmRsUHN9gobe5p1oMYe545Uoc9goLcVBLrmWYybTcPUzNB\"]},\"contracts/release/interfaces/ILiquityTroveManager.sol\":{\"keccak256\":\"0x8e3296f143e0d194dee3ffebc0912d21d5181e1360e0ec99673d2e61d047f7a6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://44267baacec0e4a2e9396b12b2106bb596a0a17d1e8df206ef95f46f841b052b\",\"dweb:/ipfs/QmRp6HQ6FhdQCsTskSq596y1WBM7BsG9dArj8Gd23c2NTF\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_liquityTroveManager", - "type": "address" - }, - { - "internalType": "address", - "name": "_lusdToken", - "type": "address" - }, - { - "internalType": "address", - "name": "_wethToken", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_externalPosition", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_actionId", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_encodedActionArgs", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "parseAssetsForAction", - "outputs": [ - { - "internalType": "address[]", - "name": "assetsToTransfer_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "amountsToTransfer_", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "assetsToReceive_", - "type": "address[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "parseInitArgs", - "outputs": [ - { - "internalType": "bytes", - "name": "initArgs_", - "type": "bytes" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "parseAssetsForAction(address,uint256,bytes)": { - "params": { - "_actionId": "The _actionId for the callOnExternalPosition", - "_encodedActionArgs": "The encoded parameters for the callOnExternalPosition", - "_externalPosition": "The _externalPosition to be called" - }, - "returns": { - "amountsToTransfer_": "The amounts to be transfered from the Vault", - "assetsToReceive_": "The assets to be received at the Vault", - "assetsToTransfer_": "The assets to be transfered from the Vault" - } - }, - "parseInitArgs(address,bytes)": { - "returns": { - "initArgs_": "Parsed and encoded args for ExternalPositionProxy.init()" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "parseAssetsForAction(address,uint256,bytes)": { - "notice": "Parses the assets to send and receive for the callOnExternalPosition" - }, - "parseInitArgs(address,bytes)": { - "notice": "Parse and validate input arguments to be used when initializing a newly-deployed ExternalPositionProxy" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/external-position-manager/external-positions/liquity-debt/LiquityDebtPositionParser.sol": "LiquityDebtPositionParser" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/external-positions/IExternalPosition.sol": { - "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", - "urls": [ - "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", - "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/IExternalPositionParser.sol": { - "keccak256": "0x1662fbd65841ee5e9cf8d5329b9d04c264b24ef68ae1e0484e59a8969b0d2c46", - "urls": [ - "bzz-raw://580569b0f875e0344db83fae1e72dcc6c0767a049b2a6cc3e4f3c411d2284b27", - "dweb:/ipfs/QmXFmF9QbcVsPHaBo1iq8sZHYhDkwfkMZpHmLTuJJ37NvZ" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/liquity-debt/ILiquityDebtPosition.sol": { - "keccak256": "0xcd6051d3e31e4c1749f3da2a893622de7ce356278ef5db824e88e2765f251823", - "urls": [ - "bzz-raw://66d3acab607c650209ecb0a239380a080960de9864a7543b38ba0935dee956ba", - "dweb:/ipfs/QmYF2Crm2Mg2TK7zai43TEYgxd8SkKjtzMVwcDL9aFsBJA" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/liquity-debt/LiquityDebtPositionDataDecoder.sol": { - "keccak256": "0x53a16d0358ca1967e9e802c24d68926fbfdea87bd68041b1b0bf9dad918d0686", - "urls": [ - "bzz-raw://bd070e263b809e5c2ddabf0efed7c11a4c1066410c8102dda537bc3a987657d0", - "dweb:/ipfs/QmQJnEniTK5sG2ncUMzh3dQYnYuUu85BPXWN1enFaR4Uaa" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/liquity-debt/LiquityDebtPositionParser.sol": { - "keccak256": "0xc1aea64130738023e356306195101f5ff70af200589f164a11424e3b1ad43946", - "urls": [ - "bzz-raw://533b1f1e171f3f9c22069c7de21323302e5506f297d9d4bb91a73c0ad9dfe739", - "dweb:/ipfs/QmRsUHN9gobe5p1oMYe545Uoc9goLcVBLrmWYybTcPUzNB" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/ILiquityTroveManager.sol": { - "keccak256": "0x8e3296f143e0d194dee3ffebc0912d21d5181e1360e0ec99673d2e61d047f7a6", - "urls": [ - "bzz-raw://44267baacec0e4a2e9396b12b2106bb596a0a17d1e8df206ef95f46f841b052b", - "dweb:/ipfs/QmRp6HQ6FhdQCsTskSq596y1WBM7BsG9dArj8Gd23c2NTF" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 113 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_liquityTroveManager", "type": "address", "internalType": "address" }, { "name": "_lusdToken", "type": "address", "internalType": "address" }, { "name": "_wethToken", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "parseAssetsForAction", "inputs": [ { "name": "_externalPosition", "type": "address", "internalType": "address" }, { "name": "_actionId", "type": "uint256", "internalType": "uint256" }, { "name": "_encodedActionArgs", "type": "bytes", "internalType": "bytes" } ], "outputs": [ { "name": "assetsToTransfer_", "type": "address[]", "internalType": "address[]" }, { "name": "amountsToTransfer_", "type": "uint256[]", "internalType": "uint256[]" }, { "name": "assetsToReceive_", "type": "address[]", "internalType": "address[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "parseInitArgs", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [ { "name": "initArgs_", "type": "bytes", "internalType": "bytes" } ], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x60e060405234801561001057600080fd5b506040516109c93803806109c98339818101604052606081101561003357600080fd5b50805160208201516040909201516001600160601b0319606092831b811660805292821b831660a052901b1660c05260805160601c60a05160601c60c05160601c6109146100b56000398061038052806104b15280610544528061082252508061040952806105ef528061068652806107ba5250806106bf52506109146000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063bbd2d6461461003b578063db16c72e146101d4575b600080fd5b6100f66004803603606081101561005157600080fd5b6001600160a01b038235169160208101359181019060608101604082013564010000000081111561008157600080fd5b82018360208201111561009357600080fd5b803590602001918460018302840111640100000000831117156100b557600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506102ff945050505050565b60405180806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b8381101561013e578181015183820152602001610126565b50505050905001848103835286818151815260200191508051906020019060200280838360005b8381101561017d578181015183820152602001610165565b50505050905001848103825285818151815260200191508051906020019060200280838360005b838110156101bc5781810151838201526020016101a4565b50505050905001965050505050505060405180910390f35b61028a600480360360408110156101ea57600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561021557600080fd5b82018360208201111561022757600080fd5b8035906020019184600183028401116401000000008311171561024957600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610879945050505050565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102c45781810151838201526020016102ac565b50505050905090810190601f1680156102f15780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b60608080846104575760006103138561088d565b505050915050600167ffffffffffffffff8111801561033157600080fd5b5060405190808252806020026020018201604052801561035b578160200160208202803683370190505b50604080516001808252818301909252919550602080830190803683370190505092507f0000000000000000000000000000000000000000000000000000000000000000846000815181106103ac57fe5b60200260200101906001600160a01b031690816001600160a01b03168152505080836000815181106103da57fe5b6020908102919091010152604080516001808252818301909252908160200160208202803683370190505091507f00000000000000000000000000000000000000000000000000000000000000008260008151811061043557fe5b60200260200101906001600160a01b031690816001600160a01b031681525050505b600185141561051957600061046b856108d3565b50506040805160018082528183019092529192506020808301908036833750506040805160018082528183019092529296509050602080830190803683370190505092507f0000000000000000000000000000000000000000000000000000000000000000846000815181106104dd57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050808360008151811061050b57fe5b602002602001018181525050505b60028514156105955760408051600180825281830190925290602080830190803683370190505090507f00000000000000000000000000000000000000000000000000000000000000008160008151811061057057fe5b60200260200101906001600160a01b031690816001600160a01b031681525050610870565b600485141561065b5760006105a9856108d3565b50506040805160018082528183019092529192506020808301908036833750506040805160018082528183019092529296509050602080830190803683370190505092507f00000000000000000000000000000000000000000000000000000000000000008460008151811061061b57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050808360008151811061064957fe5b60200260200101818152505050610870565b60038514156106b25760408051600180825281830190925290602080830190803683370190505090507f00000000000000000000000000000000000000000000000000000000000000008160008151811061057057fe5b60058514156108705760007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d66a2553886040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561072a57600080fd5b505afa15801561073e573d6000803e3d6000fd5b505050506040513d602081101561075457600080fd5b505160408051600180825281830190925291925060208083019080368337505060408051600180825281830190925292965090506020808301908036833750506040805160018082528183019092529294509050602080830190803683370190505092507f0000000000000000000000000000000000000000000000000000000000000000846000815181106107e657fe5b60200260200101906001600160a01b031690816001600160a01b031681525050808360008151811061081457fe5b6020026020010181815250507f00000000000000000000000000000000000000000000000000000000000000008260008151811061084e57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050505b93509350939050565b505060408051602081019091526000815290565b60008060008060008580602001905160a08110156108aa57600080fd5b508051602082015160408301516060840151608090940151929a91995097509195509350915050565b60008060008380602001905160608110156108ed57600080fd5b50805160208201516040909201519096919550935091505056fea164736f6c634300060c000a", "sourceMap": "600:3938:113:-:0;;;838:246;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;838:246:113;;;;;;;;;;;-1:-1:-1;;;;;;838:246:113;967:44;;;;;;;1021:23;;;;;;;1054;;;;;600:3938;;;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c8063bbd2d6461461003b578063db16c72e146101d4575b600080fd5b6100f66004803603606081101561005157600080fd5b6001600160a01b038235169160208101359181019060608101604082013564010000000081111561008157600080fd5b82018360208201111561009357600080fd5b803590602001918460018302840111640100000000831117156100b557600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506102ff945050505050565b60405180806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b8381101561013e578181015183820152602001610126565b50505050905001848103835286818151815260200191508051906020019060200280838360005b8381101561017d578181015183820152602001610165565b50505050905001848103825285818151815260200191508051906020019060200280838360005b838110156101bc5781810151838201526020016101a4565b50505050905001965050505050505060405180910390f35b61028a600480360360408110156101ea57600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561021557600080fd5b82018360208201111561022757600080fd5b8035906020019184600183028401116401000000008311171561024957600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610879945050505050565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102c45781810151838201526020016102ac565b50505050905090810190601f1680156102f15780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b60608080846104575760006103138561088d565b505050915050600167ffffffffffffffff8111801561033157600080fd5b5060405190808252806020026020018201604052801561035b578160200160208202803683370190505b50604080516001808252818301909252919550602080830190803683370190505092507f0000000000000000000000000000000000000000000000000000000000000000846000815181106103ac57fe5b60200260200101906001600160a01b031690816001600160a01b03168152505080836000815181106103da57fe5b6020908102919091010152604080516001808252818301909252908160200160208202803683370190505091507f00000000000000000000000000000000000000000000000000000000000000008260008151811061043557fe5b60200260200101906001600160a01b031690816001600160a01b031681525050505b600185141561051957600061046b856108d3565b50506040805160018082528183019092529192506020808301908036833750506040805160018082528183019092529296509050602080830190803683370190505092507f0000000000000000000000000000000000000000000000000000000000000000846000815181106104dd57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050808360008151811061050b57fe5b602002602001018181525050505b60028514156105955760408051600180825281830190925290602080830190803683370190505090507f00000000000000000000000000000000000000000000000000000000000000008160008151811061057057fe5b60200260200101906001600160a01b031690816001600160a01b031681525050610870565b600485141561065b5760006105a9856108d3565b50506040805160018082528183019092529192506020808301908036833750506040805160018082528183019092529296509050602080830190803683370190505092507f00000000000000000000000000000000000000000000000000000000000000008460008151811061061b57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050808360008151811061064957fe5b60200260200101818152505050610870565b60038514156106b25760408051600180825281830190925290602080830190803683370190505090507f00000000000000000000000000000000000000000000000000000000000000008160008151811061057057fe5b60058514156108705760007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d66a2553886040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561072a57600080fd5b505afa15801561073e573d6000803e3d6000fd5b505050506040513d602081101561075457600080fd5b505160408051600180825281830190925291925060208083019080368337505060408051600180825281830190925292965090506020808301908036833750506040805160018082528183019092529294509050602080830190803683370190505092507f0000000000000000000000000000000000000000000000000000000000000000846000815181106107e657fe5b60200260200101906001600160a01b031690816001600160a01b031681525050808360008151811061081457fe5b6020026020010181815250507f00000000000000000000000000000000000000000000000000000000000000008260008151811061084e57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050505b93509350939050565b505060408051602081019091526000815290565b60008060008060008580602001905160a08110156108aa57600080fd5b508051602082015160408301516060840151608090940151929a91995097509195509350915050565b60008060008380602001905160608110156108ed57600080fd5b50805160208201516040909201519096919550935091505056fea164736f6c634300060c000a", "sourceMap": "600:3938:113:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1629:2548;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1629:2548:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1629:2548:113;;-1:-1:-1;1629:2548:113;;-1:-1:-1;;;;;1629:2548:113:i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4385:151;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4385:151:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4385:151:113;;-1:-1:-1;4385:151:113;;-1:-1:-1;;;;;4385:151:113:i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1629:2548;1832:34;;;1991:60;1987:467;;2070:24;2104:41;2126:18;2104:21;:41::i;:::-;2067:78;;;;;;2194:1;2180:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2180:16:113;-1:-1:-1;2231:16:113;;;2245:1;2231:16;;;;;;;;;2160:36;;-1:-1:-1;2231:16:113;;;;;;;;;;;-1:-1:-1;2231:16:113;2210:37;;2284:10;2261:17;2279:1;2261:20;;;;;;;;;;;;;:33;-1:-1:-1;;;;;2261:33:113;;;-1:-1:-1;;;;;2261:33:113;;;;;2332:16;2308:18;2327:1;2308:21;;;;;;;;;;;;;;;;;:40;2381:16;;;2395:1;2381:16;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2381:16:113;2362:35;;2433:10;2411:16;2428:1;2411:19;;;;;;;;;;;;;:32;-1:-1:-1;;;;;2411:32:113;;;-1:-1:-1;;;;;2411:32:113;;;;;1987:467;;2488:42;2467:9;:64;2463:382;;;2548:24;2580:51;2612:18;2580:31;:51::i;:::-;-1:-1:-1;;2666:16:113;;;2680:1;2666:16;;;;;;;;;2547:84;;-1:-1:-1;2666:16:113;;;;;;;;;-1:-1:-1;;2717:16:113;;;2731:1;2717:16;;;;;;;;;2646:36;;-1:-1:-1;2731:1:113;-1:-1:-1;2717:16:113;;;;;;;;;;;-1:-1:-1;2717:16:113;2696:37;;2770:10;2747:17;2765:1;2747:20;;;;;;;;;;;;;:33;-1:-1:-1;;;;;2747:33:113;;;-1:-1:-1;;;;;2747:33:113;;;;;2818:16;2794:18;2813:1;2794:21;;;;;;;;;;;;;:40;;;;;2463:382;;2879:45;2858:9;:67;2854:1242;;;2960:16;;;2974:1;2960:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2960:16:113;2941:35;;3012:10;2990:16;3007:1;2990:19;;;;;;;;;;;;;:32;-1:-1:-1;;;;;2990:32:113;;;-1:-1:-1;;;;;2990:32:113;;;;;2854:1242;;;3064:40;3043:9;:62;3039:1057;;;3122:18;3148:49;3178:18;3148:29;:49::i;:::-;-1:-1:-1;;3231:16:113;;;3245:1;3231:16;;;;;;;;;3121:76;;-1:-1:-1;3231:16:113;;;;;;;;;-1:-1:-1;;3282:16:113;;;3296:1;3282:16;;;;;;;;;3211:36;;-1:-1:-1;3296:1:113;-1:-1:-1;3282:16:113;;;;;;;;;;;-1:-1:-1;3282:16:113;3261:37;;3335:10;3312:17;3330:1;3312:20;;;;;;;;;;;;;:33;-1:-1:-1;;;;;3312:33:113;;;-1:-1:-1;;;;;3312:33:113;;;;;3383:10;3359:18;3378:1;3359:21;;;;;;;;;;;;;:34;;;;;3039:1057;;;;3435:35;3414:9;:57;3410:686;;;3506:16;;;3520:1;3506:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3506:16:113;3487:35;;3558:10;3536:16;3553:1;3536:19;;;;;;;3410:686;3610:39;3589:9;:61;3585:511;;;3666:18;3708:21;-1:-1:-1;;;;;3687:56:113;;3761:17;3687:105;;;;;;;;;;;;;-1:-1:-1;;;;;3687:105:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3687:105:113;3827:16;;;3841:1;3827:16;;;;;;;;;3687:105;;-1:-1:-1;3827:16:113;;;;;;;;;-1:-1:-1;;3876:16:113;;;3890:1;3876:16;;;;;;;;;3807:36;;-1:-1:-1;3890:1:113;-1:-1:-1;3876:16:113;;;;;;;;;-1:-1:-1;;3927:16:113;;;3941:1;3927:16;;;;;;;;;3857:35;;-1:-1:-1;3941:1:113;-1:-1:-1;3927:16:113;;;;;;;;;;;-1:-1:-1;3927:16:113;3906:37;;3981:10;3958:17;3976:1;3958:20;;;;;;;;;;;;;:33;-1:-1:-1;;;;;3958:33:113;;;-1:-1:-1;;;;;3958:33:113;;;;;4029:10;4005:18;4024:1;4005:21;;;;;;;;;;;;;:34;;;;;4075:10;4053:16;4070:1;4053:19;;;;;;;;;;;;;:32;-1:-1:-1;;;;;4053:32:113;;;-1:-1:-1;;;;;4053:32:113;;;;;3585:511;;1629:2548;;;;;;;:::o;4385:151::-;-1:-1:-1;;4520:9:113;;;;;;;;;-1:-1:-1;4520:9:113;;;4385:151::o;1661:387:111:-;1778:25;1817;1856:19;1889:18;1921;1982:11;1971:70;;;;;;;;;;;;;;;-1:-1:-1;1971:70:111;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1971:70:111;-1:-1:-1;1971:70:111;;-1:-1:-1;1971:70:111;-1:-1:-1;1661:387:111;-1:-1:-1;;1661:387:111:o;598:307::-;725:25;764:18;796;857:11;846:52;;;;;;;;;;;;;;;-1:-1:-1;846:52:111;;;;;;;;;;;;;;;-1:-1:-1;846:52:111;-1:-1:-1;598:307:111;-1:-1:-1;;598:307:111:o", "linkReferences": {}, "immutableReferences": { "26857": [ { "start": 1727, "length": 32 } ], "26859": [ { "start": 1033, "length": 32 }, { "start": 1519, "length": 32 }, { "start": 1670, "length": 32 }, { "start": 1978, "length": 32 } ], "26861": [ { "start": 896, "length": 32 }, { "start": 1201, "length": 32 }, { "start": 1348, "length": 32 }, { "start": 2082, "length": 32 } ] } }, "methodIdentifiers": { "parseAssetsForAction(address,uint256,bytes)": "bbd2d646", "parseInitArgs(address,bytes)": "db16c72e" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_liquityTroveManager\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_lusdToken\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_wethToken\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_externalPosition\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_actionId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_encodedActionArgs\",\"type\":\"bytes\"}],\"name\":\"parseAssetsForAction\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"assetsToTransfer_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amountsToTransfer_\",\"type\":\"uint256[]\"},{\"internalType\":\"address[]\",\"name\":\"assetsToReceive_\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"parseInitArgs\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"initArgs_\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"parseAssetsForAction(address,uint256,bytes)\":{\"params\":{\"_actionId\":\"The _actionId for the callOnExternalPosition\",\"_encodedActionArgs\":\"The encoded parameters for the callOnExternalPosition\",\"_externalPosition\":\"The _externalPosition to be called\"},\"returns\":{\"amountsToTransfer_\":\"The amounts to be transfered from the Vault\",\"assetsToReceive_\":\"The assets to be received at the Vault\",\"assetsToTransfer_\":\"The assets to be transfered from the Vault\"}},\"parseInitArgs(address,bytes)\":{\"returns\":{\"initArgs_\":\"Parsed and encoded args for ExternalPositionProxy.init()\"}}},\"title\":\"LiquityDebtPositionParser\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"parseAssetsForAction(address,uint256,bytes)\":{\"notice\":\"Parses the assets to send and receive for the callOnExternalPosition\"},\"parseInitArgs(address,bytes)\":{\"notice\":\"Parse and validate input arguments to be used when initializing a newly-deployed ExternalPositionProxy\"}},\"notice\":\"Parser for Liquity Debt Positions\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/liquity-debt/LiquityDebtPositionParser.sol\":\"LiquityDebtPositionParser\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/release/extensions/external-position-manager/external-positions/IExternalPositionParser.sol\":{\"keccak256\":\"0x1662fbd65841ee5e9cf8d5329b9d04c264b24ef68ae1e0484e59a8969b0d2c46\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://580569b0f875e0344db83fae1e72dcc6c0767a049b2a6cc3e4f3c411d2284b27\",\"dweb:/ipfs/QmXFmF9QbcVsPHaBo1iq8sZHYhDkwfkMZpHmLTuJJ37NvZ\"]},\"contracts/release/extensions/external-position-manager/external-positions/liquity-debt/ILiquityDebtPosition.sol\":{\"keccak256\":\"0xcd6051d3e31e4c1749f3da2a893622de7ce356278ef5db824e88e2765f251823\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://66d3acab607c650209ecb0a239380a080960de9864a7543b38ba0935dee956ba\",\"dweb:/ipfs/QmYF2Crm2Mg2TK7zai43TEYgxd8SkKjtzMVwcDL9aFsBJA\"]},\"contracts/release/extensions/external-position-manager/external-positions/liquity-debt/LiquityDebtPositionDataDecoder.sol\":{\"keccak256\":\"0x53a16d0358ca1967e9e802c24d68926fbfdea87bd68041b1b0bf9dad918d0686\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bd070e263b809e5c2ddabf0efed7c11a4c1066410c8102dda537bc3a987657d0\",\"dweb:/ipfs/QmQJnEniTK5sG2ncUMzh3dQYnYuUu85BPXWN1enFaR4Uaa\"]},\"contracts/release/extensions/external-position-manager/external-positions/liquity-debt/LiquityDebtPositionParser.sol\":{\"keccak256\":\"0xc1aea64130738023e356306195101f5ff70af200589f164a11424e3b1ad43946\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://533b1f1e171f3f9c22069c7de21323302e5506f297d9d4bb91a73c0ad9dfe739\",\"dweb:/ipfs/QmRsUHN9gobe5p1oMYe545Uoc9goLcVBLrmWYybTcPUzNB\"]},\"contracts/release/interfaces/ILiquityTroveManager.sol\":{\"keccak256\":\"0x8e3296f143e0d194dee3ffebc0912d21d5181e1360e0ec99673d2e61d047f7a6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://44267baacec0e4a2e9396b12b2106bb596a0a17d1e8df206ef95f46f841b052b\",\"dweb:/ipfs/QmRp6HQ6FhdQCsTskSq596y1WBM7BsG9dArj8Gd23c2NTF\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_liquityTroveManager", "type": "address" }, { "internalType": "address", "name": "_lusdToken", "type": "address" }, { "internalType": "address", "name": "_wethToken", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "_externalPosition", "type": "address" }, { "internalType": "uint256", "name": "_actionId", "type": "uint256" }, { "internalType": "bytes", "name": "_encodedActionArgs", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "parseAssetsForAction", "outputs": [ { "internalType": "address[]", "name": "assetsToTransfer_", "type": "address[]" }, { "internalType": "uint256[]", "name": "amountsToTransfer_", "type": "uint256[]" }, { "internalType": "address[]", "name": "assetsToReceive_", "type": "address[]" } ] }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "parseInitArgs", "outputs": [ { "internalType": "bytes", "name": "initArgs_", "type": "bytes" } ] } ], "devdoc": { "kind": "dev", "methods": { "parseAssetsForAction(address,uint256,bytes)": { "params": { "_actionId": "The _actionId for the callOnExternalPosition", "_encodedActionArgs": "The encoded parameters for the callOnExternalPosition", "_externalPosition": "The _externalPosition to be called" }, "returns": { "amountsToTransfer_": "The amounts to be transfered from the Vault", "assetsToReceive_": "The assets to be received at the Vault", "assetsToTransfer_": "The assets to be transfered from the Vault" } }, "parseInitArgs(address,bytes)": { "returns": { "initArgs_": "Parsed and encoded args for ExternalPositionProxy.init()" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "parseAssetsForAction(address,uint256,bytes)": { "notice": "Parses the assets to send and receive for the callOnExternalPosition" }, "parseInitArgs(address,bytes)": { "notice": "Parse and validate input arguments to be used when initializing a newly-deployed ExternalPositionProxy" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/external-position-manager/external-positions/liquity-debt/LiquityDebtPositionParser.sol": "LiquityDebtPositionParser" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/external-positions/IExternalPosition.sol": { "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", "urls": [ "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/IExternalPositionParser.sol": { "keccak256": "0x1662fbd65841ee5e9cf8d5329b9d04c264b24ef68ae1e0484e59a8969b0d2c46", "urls": [ "bzz-raw://580569b0f875e0344db83fae1e72dcc6c0767a049b2a6cc3e4f3c411d2284b27", "dweb:/ipfs/QmXFmF9QbcVsPHaBo1iq8sZHYhDkwfkMZpHmLTuJJ37NvZ" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/liquity-debt/ILiquityDebtPosition.sol": { "keccak256": "0xcd6051d3e31e4c1749f3da2a893622de7ce356278ef5db824e88e2765f251823", "urls": [ "bzz-raw://66d3acab607c650209ecb0a239380a080960de9864a7543b38ba0935dee956ba", "dweb:/ipfs/QmYF2Crm2Mg2TK7zai43TEYgxd8SkKjtzMVwcDL9aFsBJA" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/liquity-debt/LiquityDebtPositionDataDecoder.sol": { "keccak256": "0x53a16d0358ca1967e9e802c24d68926fbfdea87bd68041b1b0bf9dad918d0686", "urls": [ "bzz-raw://bd070e263b809e5c2ddabf0efed7c11a4c1066410c8102dda537bc3a987657d0", "dweb:/ipfs/QmQJnEniTK5sG2ncUMzh3dQYnYuUu85BPXWN1enFaR4Uaa" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/liquity-debt/LiquityDebtPositionParser.sol": { "keccak256": "0xc1aea64130738023e356306195101f5ff70af200589f164a11424e3b1ad43946", "urls": [ "bzz-raw://533b1f1e171f3f9c22069c7de21323302e5506f297d9d4bb91a73c0ad9dfe739", "dweb:/ipfs/QmRsUHN9gobe5p1oMYe545Uoc9goLcVBLrmWYybTcPUzNB" ], "license": "GPL-3.0" }, "contracts/release/interfaces/ILiquityTroveManager.sol": { "keccak256": "0x8e3296f143e0d194dee3ffebc0912d21d5181e1360e0ec99673d2e61d047f7a6", "urls": [ "bzz-raw://44267baacec0e4a2e9396b12b2106bb596a0a17d1e8df206ef95f46f841b052b", "dweb:/ipfs/QmRp6HQ6FhdQCsTskSq596y1WBM7BsG9dArj8Gd23c2NTF" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 113 } diff --git a/eth_defi/abi/enzyme/LowGasSafeMath.json b/eth_defi/abi/enzyme/LowGasSafeMath.json index 5947bdce..3e3d32e7 100644 --- a/eth_defi/abi/enzyme/LowGasSafeMath.json +++ b/eth_defi/abi/enzyme/LowGasSafeMath.json @@ -1,78 +1 @@ -{ - "abi": [], - "bytecode": { - "object": "0x602d6023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c6343000706000a", - "sourceMap": "249:1446:39:-:0;;;;;;;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c6343000706000a", - "sourceMap": "249:1446:39:-:0;;;;;;;;", - "linkReferences": {} - }, - "methodIdentifiers": {}, - "rawMetadata": "{\"compiler\":{\"version\":\"0.7.6+commit.7338295f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"title\":\"Optimized overflow and underflow safe math operations\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Contains methods for doing math operations that revert on overflow or underflow for minimal gas cost\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@uniswap/v3-core/contracts/libraries/LowGasSafeMath.sol\":\"LowGasSafeMath\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"node_modules/@uniswap/v3-core/contracts/libraries/LowGasSafeMath.sol\":{\"keccak256\":\"0x86715eb960f18e01ac94e3bba4614ed51a887fa3c5bd1c43bf80aa98e019cf2d\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://bfc1d5d58e59015086b0e65a6c3a2ddad312e2350480510f6c0c8167f3d71a37\",\"dweb:/ipfs/QmQndULYjFsHKHjMAKLMfc12vWbVB5FawtioHtvwcWRJZp\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.7.6+commit.7338295f" - }, - "language": "Solidity", - "output": { - "abi": [], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "node_modules/@uniswap/v3-core/contracts/libraries/LowGasSafeMath.sol": "LowGasSafeMath" - }, - "libraries": {} - }, - "sources": { - "node_modules/@uniswap/v3-core/contracts/libraries/LowGasSafeMath.sol": { - "keccak256": "0x86715eb960f18e01ac94e3bba4614ed51a887fa3c5bd1c43bf80aa98e019cf2d", - "urls": [ - "bzz-raw://bfc1d5d58e59015086b0e65a6c3a2ddad312e2350480510f6c0c8167f3d71a37", - "dweb:/ipfs/QmQndULYjFsHKHjMAKLMfc12vWbVB5FawtioHtvwcWRJZp" - ], - "license": "GPL-2.0-or-later" - } - }, - "version": 1 - }, - "id": 39 -} +{ "abi": [], "bytecode": { "object": "0x602d6023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c6343000706000a", "sourceMap": "249:1446:39:-:0;;;;;;;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c6343000706000a", "sourceMap": "249:1446:39:-:0;;;;;;;;", "linkReferences": {} }, "methodIdentifiers": {}, "rawMetadata": "{\"compiler\":{\"version\":\"0.7.6+commit.7338295f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"title\":\"Optimized overflow and underflow safe math operations\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Contains methods for doing math operations that revert on overflow or underflow for minimal gas cost\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@uniswap/v3-core/contracts/libraries/LowGasSafeMath.sol\":\"LowGasSafeMath\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"node_modules/@uniswap/v3-core/contracts/libraries/LowGasSafeMath.sol\":{\"keccak256\":\"0x86715eb960f18e01ac94e3bba4614ed51a887fa3c5bd1c43bf80aa98e019cf2d\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://bfc1d5d58e59015086b0e65a6c3a2ddad312e2350480510f6c0c8167f3d71a37\",\"dweb:/ipfs/QmQndULYjFsHKHjMAKLMfc12vWbVB5FawtioHtvwcWRJZp\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.7.6+commit.7338295f" }, "language": "Solidity", "output": { "abi": [], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "node_modules/@uniswap/v3-core/contracts/libraries/LowGasSafeMath.sol": "LowGasSafeMath" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "node_modules/@uniswap/v3-core/contracts/libraries/LowGasSafeMath.sol": { "keccak256": "0x86715eb960f18e01ac94e3bba4614ed51a887fa3c5bd1c43bf80aa98e019cf2d", "urls": [ "bzz-raw://bfc1d5d58e59015086b0e65a6c3a2ddad312e2350480510f6c0c8167f3d71a37", "dweb:/ipfs/QmQndULYjFsHKHjMAKLMfc12vWbVB5FawtioHtvwcWRJZp" ], "license": "GPL-2.0-or-later" } }, "version": 1 }, "id": 39 } diff --git a/eth_defi/abi/enzyme/MakerDaoMath.json b/eth_defi/abi/enzyme/MakerDaoMath.json index 3335226d..b0e4ecc3 100644 --- a/eth_defi/abi/enzyme/MakerDaoMath.json +++ b/eth_defi/abi/enzyme/MakerDaoMath.json @@ -1,78 +1 @@ -{ - "abi": [], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": {}, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"MakerDaoMath Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Helper functions for math operations adapted from MakerDao contracts\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/utils/MakerDaoMath.sol\":\"MakerDaoMath\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/utils/MakerDaoMath.sol\":{\"keccak256\":\"0x4bee0614f0164208a5a65a371f8853976e236db1ad25e75aec4357ef96b32dcb\",\"license\":\"AGPL-3.0-or-later\",\"urls\":[\"bzz-raw://eff29315081b02fe1267e23c65b0368f07c640352e41d26b64f6a77ddd307080\",\"dweb:/ipfs/QmQH7itbaMjEt189WsKbygmwJdBrS5ghnwt94w8JRgh3mg\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/utils/MakerDaoMath.sol": "MakerDaoMath" - }, - "libraries": {} - }, - "sources": { - "contracts/release/utils/MakerDaoMath.sol": { - "keccak256": "0x4bee0614f0164208a5a65a371f8853976e236db1ad25e75aec4357ef96b32dcb", - "urls": [ - "bzz-raw://eff29315081b02fe1267e23c65b0368f07c640352e41d26b64f6a77ddd307080", - "dweb:/ipfs/QmQH7itbaMjEt189WsKbygmwJdBrS5ghnwt94w8JRgh3mg" - ], - "license": "AGPL-3.0-or-later" - } - }, - "version": 1 - }, - "id": 359 -} +{ "abi": [], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": {}, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"MakerDaoMath Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Helper functions for math operations adapted from MakerDao contracts\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/utils/MakerDaoMath.sol\":\"MakerDaoMath\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/utils/MakerDaoMath.sol\":{\"keccak256\":\"0x4bee0614f0164208a5a65a371f8853976e236db1ad25e75aec4357ef96b32dcb\",\"license\":\"AGPL-3.0-or-later\",\"urls\":[\"bzz-raw://eff29315081b02fe1267e23c65b0368f07c640352e41d26b64f6a77ddd307080\",\"dweb:/ipfs/QmQH7itbaMjEt189WsKbygmwJdBrS5ghnwt94w8JRgh3mg\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/utils/MakerDaoMath.sol": "MakerDaoMath" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/utils/MakerDaoMath.sol": { "keccak256": "0x4bee0614f0164208a5a65a371f8853976e236db1ad25e75aec4357ef96b32dcb", "urls": [ "bzz-raw://eff29315081b02fe1267e23c65b0368f07c640352e41d26b64f6a77ddd307080", "dweb:/ipfs/QmQH7itbaMjEt189WsKbygmwJdBrS5ghnwt94w8JRgh3mg" ], "license": "AGPL-3.0-or-later" } }, "version": 1 }, "id": 359 } diff --git a/eth_defi/abi/enzyme/ManagementFee.json b/eth_defi/abi/enzyme/ManagementFee.json index 2a20df4c..03105329 100644 --- a/eth_defi/abi/enzyme/ManagementFee.json +++ b/eth_defi/abi/enzyme/ManagementFee.json @@ -1,1299 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_feeManager", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "comptrollerProxy", - "type": "address" - } - ], - "name": "ActivatedForMigratedFund", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "comptrollerProxy", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint128", - "name": "scaledPerSecondRate", - "type": "uint128" - } - ], - "name": "FundSettingsAdded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "comptrollerProxy", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "recipient", - "type": "address" - } - ], - "name": "RecipientSetForFund", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "comptrollerProxy", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "sharesQuantity", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "secondsSinceSettlement", - "type": "uint256" - } - ], - "name": "Settled", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - } - ], - "name": "activateForFund", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_settingsData", - "type": "bytes" - } - ], - "name": "addFundSettings", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - } - ], - "name": "getFeeInfoForFund", - "outputs": [ - { - "components": [ - { - "internalType": "uint128", - "name": "scaledPerSecondRate", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "lastSettled", - "type": "uint128" - } - ], - "internalType": "struct ManagementFee.FeeInfo", - "name": "feeInfo_", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getFeeManager", - "outputs": [ - { - "internalType": "address", - "name": "feeManager_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - } - ], - "name": "getRecipientForFund", - "outputs": [ - { - "internalType": "address", - "name": "recipient_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "payout", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_recipient", - "type": "address" - } - ], - "name": "setRecipientForFund", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "enum IFeeManager.FeeHook", - "name": "", - "type": "uint8" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "settle", - "outputs": [ - { - "internalType": "enum IFeeManager.SettlementType", - "name": "settlementType_", - "type": "uint8" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "sharesDue_", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "enum IFeeManager.FeeHook", - "name": "_hook", - "type": "uint8" - } - ], - "name": "settlesOnHook", - "outputs": [ - { - "internalType": "bool", - "name": "settles_", - "type": "bool" - }, - { - "internalType": "bool", - "name": "usesGav_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "enum IFeeManager.FeeHook", - "name": "", - "type": "uint8" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "update", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "enum IFeeManager.FeeHook", - "name": "", - "type": "uint8" - } - ], - "name": "updatesOnHook", - "outputs": [ - { - "internalType": "bool", - "name": "updates_", - "type": "bool" - }, - { - "internalType": "bool", - "name": "usesGav_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x60a060405234801561001057600080fd5b5060405161115c38038061115c83398101604081905261002f91610055565b60601b6001600160601b0319166080526100a3565b805161004f8161008c565b92915050565b60006020828403121561006757600080fd5b60006100738484610044565b949350505050565b60006001600160a01b03821661004f565b6100958161007b565b81146100a057600080fd5b50565b60805160601c61108d6100cf600039806101ce5280610321528061049c52806108ab525061108d6000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c806362780b3c1161007157806362780b3c14610135578063877fd473146101555780638c55f80f14610175578063b78b481314610188578063e337a91f146101a8578063f2d63826146101bb576100a9565b80630f5f6b4f146100ae578063233faf5f146100c35780633146d058146100d6578063320f0ddd146100e957806341892d7e14610113575b600080fd5b6100c16100bc366004610c46565b6101c3565b005b6100c16100d1366004610bb6565b61030e565b6100c16100e4366004610b7c565b610316565b6100fc6100f7366004610c9c565b610432565b60405161010a929190610f1d565b60405180910390f35b610126610121366004610bb6565b61048d565b60405161010a93929190610f38565b610148610143366004610b38565b610720565b60405161010a9190610f01565b610168610163366004610b38565b610733565b60405161010a9190610fc0565b6100c1610183366004610b7c565b61077d565b61019b610196366004610b7c565b610898565b60405161010a9190610f0f565b6100fc6101b6366004610c9c565b6108a1565b6101486108a9565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146102145760405162461bcd60e51b815260040161020b90610f80565b60405180910390fd5b60008061022383850185610cba565b915091506000826001600160801b0316116102505760405162461bcd60e51b815260040161020b90610fa0565b6040805180820182526001600160801b038085168252600060208084018281526001600160a01b038b168084526001909252918590209351845492518416600160801b029084166fffffffffffffffffffffffffffffffff19909316929092179092161790915590517f43e2539cfab38f0e3b5d0648103e367b0d65bdc181c37c6753066ba4e79f05b2906102e6908590610fce565b60405180910390a26001600160a01b038116156103075761030785826108cd565b5050505050565b505050505050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461035e5760405162461bcd60e51b815260040161020b90610f80565b6000816001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561039957600080fd5b505afa1580156103ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103d19190610cd9565b111561042e576001600160a01b03821660008181526001602052604080822080546001600160801b03428116600160801b029116179055517f8f1e8a779dce142f8b8b45e1747798edee9623be81f2f411496f3b49eb67bc369190a25b5050565b600080600183600381111561044357fe5b148061045a5750600383600381111561045857fe5b145b806104705750600083600381111561046e57fe5b145b156104815750600190506000610488565b5060009050805b915091565b60008080336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104d95760405162461bcd60e51b815260040161020b90610f80565b6001600160a01b03891660009081526001602052604081208054909190610511904290600160801b90046001600160801b0316610924565b90508061052a5760008060009450945094505050610714565b60008a90506000816001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561056a57600080fd5b505afa15801561057e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105a29190610cd9565b90508015610684576000610632836001600160a01b03166370a082318f6040518263ffffffff1660e01b81526004016105db9190610f01565b60206040518083038186803b1580156105f357600080fd5b505afa158015610607573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061062b9190610cd9565b8390610924565b9050801561068257845461067f906b033b2e3c9fd0803ce8000000906106799061067290839061066c906001600160801b03168a8361094c565b90610924565b8490610a0c565b90610a46565b95505b505b6001600160a01b038d166000818152600160205260409081902080546001600160801b03428116600160801b029116179055517f468aeeec0e901c52363552a06c1e39331d44c3cc886eb200af127ded3f380f82906106e69088908790610fdc565b60405180910390a28461070757600080600096509650965050505050610714565b6002600096509650505050505b96509650969350505050565b600061072b82610a78565b90505b919050565b61073b610a96565b506001600160a01b03166000908152600160209081526040918290208251808401909352546001600160801b038082168452600160801b909104169082015290565b816001600160a01b031663c98091876040518163ffffffff1660e01b815260040160206040518083038186803b1580156107b657600080fd5b505afa1580156107ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ee9190610b5e565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561082657600080fd5b505afa15801561083a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061085e9190610b5e565b6001600160a01b0316336001600160a01b03161461088e5760405162461bcd60e51b815260040161020b90610fb0565b61042e82826108cd565b60005b92915050565b600080915091565b7f000000000000000000000000000000000000000000000000000000000000000090565b6001600160a01b0382811660008181526020819052604080822080546001600160a01b0319169486169485179055517fa11fc98cfb391622348acc16de92f0efb77d55f71a6e9fa18bfef387ae8d19ce9190a35050565b6000828211156109465760405162461bcd60e51b815260040161020b90610f60565b50900390565b60008380156109ed576001841680156109675785925061096b565b8392505b50600283046002850494505b84156109e757858602868782041461098e57600080fd5b8181018181101561099e57600080fd5b858104975060028706156109da5787850285898204141589151516156109c357600080fd5b838101818110156109d357600080fd5b8790049550505b5050600285049450610977565b50610a03565b8380156109fd5760009250610a01565b8392505b505b505b9392505050565b600082610a1b5750600061089b565b82820282848281610a2857fe5b0414610a055760405162461bcd60e51b815260040161020b90610f90565b6000808211610a675760405162461bcd60e51b815260040161020b90610f70565b818381610a7057fe5b049392505050565b6001600160a01b039081166000908152602081905260409020541690565b604080518082019091526000808252602082015290565b803561089b8161104d565b805161089b8161104d565b60008083601f840112610ad557600080fd5b50813567ffffffffffffffff811115610aed57600080fd5b602083019150836001820283011115610b0557600080fd5b9250929050565b803561089b81611061565b803561089b8161106e565b803561089b81611077565b805161089b81611077565b600060208284031215610b4a57600080fd5b6000610b568484610aad565b949350505050565b600060208284031215610b7057600080fd5b6000610b568484610ab8565b60008060408385031215610b8f57600080fd5b6000610b9b8585610aad565b9250506020610bac85828601610aad565b9150509250929050565b60008060008060008060a08789031215610bcf57600080fd5b6000610bdb8989610aad565b9650506020610bec89828a01610aad565b9550506040610bfd89828a01610b0c565b945050606087013567ffffffffffffffff811115610c1a57600080fd5b610c2689828a01610ac3565b93509350506080610c3989828a01610b22565b9150509295509295509295565b600080600060408486031215610c5b57600080fd5b6000610c678686610aad565b935050602084013567ffffffffffffffff811115610c8457600080fd5b610c9086828701610ac3565b92509250509250925092565b600060208284031215610cae57600080fd5b6000610b568484610b0c565b60008060408385031215610ccd57600080fd5b6000610b9b8585610b17565b600060208284031215610ceb57600080fd5b6000610b568484610b2d565b610d0081611000565b82525050565b610d008161100b565b610d0081611035565b6000610d25601e83610ff7565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000610d5e601a83610ff7565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b6000610d97602583610ff7565b7f4f6e6c7920746865204665654d616e6765722063616e206d616b6520746869738152640818d85b1b60da1b602082015260400192915050565b6000610dde602183610ff7565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000610e21603b83610ff7565b7f61646446756e6453657474696e67733a207363616c65645065725365636f6e6481527f52617465206d7573742062652067726561746572207468616e20300000000000602082015260400192915050565b6000610e80603083610ff7565b7f5f5f736574526563697069656e74466f7246756e643a204f6e6c79207661756c81526f74206f776e65722063616c6c61626c6560801b602082015260400192915050565b80516040830190610ed68482610eef565b506020820151610ee96020850182610eef565b50505050565b610d008161101a565b610d0081611032565b6020810161089b8284610cf7565b6020810161089b8284610d06565b60408101610f2b8285610d06565b610a056020830184610d06565b60608101610f468286610d0f565b610f536020830185610cf7565b610b566040830184610ef8565b6020808252810161072b81610d18565b6020808252810161072b81610d51565b6020808252810161072b81610d8a565b6020808252810161072b81610dd1565b6020808252810161072b81610e14565b6020808252810161072b81610e73565b6040810161089b8284610ec5565b6020810161089b8284610eef565b60408101610fea8285610ef8565b610a056020830184610ef8565b90815260200190565b600061072b82611026565b151590565b8061072e81611040565b6001600160801b031690565b6001600160a01b031690565b90565b600061072b82611010565b6006811061104a57fe5b50565b61105681611000565b811461104a57600080fd5b6004811061104a57600080fd5b6110568161101a565b6110568161103256fea164736f6c634300060c000a", - "sourceMap": "683:6759:149:-:0;;;1470:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;705:25:154;;-1:-1:-1;;;;;;705:25:154;;;683:6759:149;;5:134:-1;83:13;;101:33;83:13;101:33;:::i;:::-;68:71;;;;:::o;146:263::-;;261:2;249:9;240:7;236:23;232:32;229:2;;;277:1;274;267:12;229:2;312:1;329:64;385:7;365:9;329:64;:::i;:::-;319:74;223:186;-1:-1;;;;223:186::o;416:91::-;;-1:-1;;;;;576:54;;478:24;559:76::o;642:117::-;711:24;729:5;711:24;:::i;:::-;704:5;701:35;691:2;;750:1;747;740:12;691:2;685:74;:::o;:::-;683:6759:149;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106100a95760003560e01c806362780b3c1161007157806362780b3c14610135578063877fd473146101555780638c55f80f14610175578063b78b481314610188578063e337a91f146101a8578063f2d63826146101bb576100a9565b80630f5f6b4f146100ae578063233faf5f146100c35780633146d058146100d6578063320f0ddd146100e957806341892d7e14610113575b600080fd5b6100c16100bc366004610c46565b6101c3565b005b6100c16100d1366004610bb6565b61030e565b6100c16100e4366004610b7c565b610316565b6100fc6100f7366004610c9c565b610432565b60405161010a929190610f1d565b60405180910390f35b610126610121366004610bb6565b61048d565b60405161010a93929190610f38565b610148610143366004610b38565b610720565b60405161010a9190610f01565b610168610163366004610b38565b610733565b60405161010a9190610fc0565b6100c1610183366004610b7c565b61077d565b61019b610196366004610b7c565b610898565b60405161010a9190610f0f565b6100fc6101b6366004610c9c565b6108a1565b6101486108a9565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146102145760405162461bcd60e51b815260040161020b90610f80565b60405180910390fd5b60008061022383850185610cba565b915091506000826001600160801b0316116102505760405162461bcd60e51b815260040161020b90610fa0565b6040805180820182526001600160801b038085168252600060208084018281526001600160a01b038b168084526001909252918590209351845492518416600160801b029084166fffffffffffffffffffffffffffffffff19909316929092179092161790915590517f43e2539cfab38f0e3b5d0648103e367b0d65bdc181c37c6753066ba4e79f05b2906102e6908590610fce565b60405180910390a26001600160a01b038116156103075761030785826108cd565b5050505050565b505050505050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461035e5760405162461bcd60e51b815260040161020b90610f80565b6000816001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561039957600080fd5b505afa1580156103ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103d19190610cd9565b111561042e576001600160a01b03821660008181526001602052604080822080546001600160801b03428116600160801b029116179055517f8f1e8a779dce142f8b8b45e1747798edee9623be81f2f411496f3b49eb67bc369190a25b5050565b600080600183600381111561044357fe5b148061045a5750600383600381111561045857fe5b145b806104705750600083600381111561046e57fe5b145b156104815750600190506000610488565b5060009050805b915091565b60008080336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104d95760405162461bcd60e51b815260040161020b90610f80565b6001600160a01b03891660009081526001602052604081208054909190610511904290600160801b90046001600160801b0316610924565b90508061052a5760008060009450945094505050610714565b60008a90506000816001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561056a57600080fd5b505afa15801561057e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105a29190610cd9565b90508015610684576000610632836001600160a01b03166370a082318f6040518263ffffffff1660e01b81526004016105db9190610f01565b60206040518083038186803b1580156105f357600080fd5b505afa158015610607573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061062b9190610cd9565b8390610924565b9050801561068257845461067f906b033b2e3c9fd0803ce8000000906106799061067290839061066c906001600160801b03168a8361094c565b90610924565b8490610a0c565b90610a46565b95505b505b6001600160a01b038d166000818152600160205260409081902080546001600160801b03428116600160801b029116179055517f468aeeec0e901c52363552a06c1e39331d44c3cc886eb200af127ded3f380f82906106e69088908790610fdc565b60405180910390a28461070757600080600096509650965050505050610714565b6002600096509650505050505b96509650969350505050565b600061072b82610a78565b90505b919050565b61073b610a96565b506001600160a01b03166000908152600160209081526040918290208251808401909352546001600160801b038082168452600160801b909104169082015290565b816001600160a01b031663c98091876040518163ffffffff1660e01b815260040160206040518083038186803b1580156107b657600080fd5b505afa1580156107ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ee9190610b5e565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561082657600080fd5b505afa15801561083a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061085e9190610b5e565b6001600160a01b0316336001600160a01b03161461088e5760405162461bcd60e51b815260040161020b90610fb0565b61042e82826108cd565b60005b92915050565b600080915091565b7f000000000000000000000000000000000000000000000000000000000000000090565b6001600160a01b0382811660008181526020819052604080822080546001600160a01b0319169486169485179055517fa11fc98cfb391622348acc16de92f0efb77d55f71a6e9fa18bfef387ae8d19ce9190a35050565b6000828211156109465760405162461bcd60e51b815260040161020b90610f60565b50900390565b60008380156109ed576001841680156109675785925061096b565b8392505b50600283046002850494505b84156109e757858602868782041461098e57600080fd5b8181018181101561099e57600080fd5b858104975060028706156109da5787850285898204141589151516156109c357600080fd5b838101818110156109d357600080fd5b8790049550505b5050600285049450610977565b50610a03565b8380156109fd5760009250610a01565b8392505b505b505b9392505050565b600082610a1b5750600061089b565b82820282848281610a2857fe5b0414610a055760405162461bcd60e51b815260040161020b90610f90565b6000808211610a675760405162461bcd60e51b815260040161020b90610f70565b818381610a7057fe5b049392505050565b6001600160a01b039081166000908152602081905260409020541690565b604080518082019091526000808252602082015290565b803561089b8161104d565b805161089b8161104d565b60008083601f840112610ad557600080fd5b50813567ffffffffffffffff811115610aed57600080fd5b602083019150836001820283011115610b0557600080fd5b9250929050565b803561089b81611061565b803561089b8161106e565b803561089b81611077565b805161089b81611077565b600060208284031215610b4a57600080fd5b6000610b568484610aad565b949350505050565b600060208284031215610b7057600080fd5b6000610b568484610ab8565b60008060408385031215610b8f57600080fd5b6000610b9b8585610aad565b9250506020610bac85828601610aad565b9150509250929050565b60008060008060008060a08789031215610bcf57600080fd5b6000610bdb8989610aad565b9650506020610bec89828a01610aad565b9550506040610bfd89828a01610b0c565b945050606087013567ffffffffffffffff811115610c1a57600080fd5b610c2689828a01610ac3565b93509350506080610c3989828a01610b22565b9150509295509295509295565b600080600060408486031215610c5b57600080fd5b6000610c678686610aad565b935050602084013567ffffffffffffffff811115610c8457600080fd5b610c9086828701610ac3565b92509250509250925092565b600060208284031215610cae57600080fd5b6000610b568484610b0c565b60008060408385031215610ccd57600080fd5b6000610b9b8585610b17565b600060208284031215610ceb57600080fd5b6000610b568484610b2d565b610d0081611000565b82525050565b610d008161100b565b610d0081611035565b6000610d25601e83610ff7565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000610d5e601a83610ff7565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b6000610d97602583610ff7565b7f4f6e6c7920746865204665654d616e6765722063616e206d616b6520746869738152640818d85b1b60da1b602082015260400192915050565b6000610dde602183610ff7565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000610e21603b83610ff7565b7f61646446756e6453657474696e67733a207363616c65645065725365636f6e6481527f52617465206d7573742062652067726561746572207468616e20300000000000602082015260400192915050565b6000610e80603083610ff7565b7f5f5f736574526563697069656e74466f7246756e643a204f6e6c79207661756c81526f74206f776e65722063616c6c61626c6560801b602082015260400192915050565b80516040830190610ed68482610eef565b506020820151610ee96020850182610eef565b50505050565b610d008161101a565b610d0081611032565b6020810161089b8284610cf7565b6020810161089b8284610d06565b60408101610f2b8285610d06565b610a056020830184610d06565b60608101610f468286610d0f565b610f536020830185610cf7565b610b566040830184610ef8565b6020808252810161072b81610d18565b6020808252810161072b81610d51565b6020808252810161072b81610d8a565b6020808252810161072b81610dd1565b6020808252810161072b81610e14565b6020808252810161072b81610e73565b6040810161089b8284610ec5565b6020810161089b8284610eef565b60408101610fea8285610ef8565b610a056020830184610ef8565b90815260200190565b600061072b82611026565b151590565b8061072e81611040565b6001600160801b031690565b6001600160a01b031690565b90565b600061072b82611010565b6006811061104a57fe5b50565b61105681611000565b811461104a57600080fd5b6004811061104a57600080fd5b6110568161101a565b6110568161103256fea164736f6c634300060c000a", - "sourceMap": "683:6759:149:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2384:776;;;;;;:::i;:::-;;:::i;:::-;;1755:175:154;;;;;;:::i;:::-;;:::i;1731:448:149:-;;;;;;:::i;:::-;;:::i;6101:425::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;3498:2339;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;:::i;6737:264::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;7242:198::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;883:369:156:-;;;;;;:::i;:::-;;:::i;1490:104:154:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;2232:196::-;;;;;;:::i;:::-;;:::i;3806:104::-;;;:::i;2384:776:149:-;564:10:154;-1:-1:-1;;;;;578:11:154;564:25;;556:75;;;;-1:-1:-1;;;556:75:154;;;;;;;:::i;:::-;;;;;;;;;2538:27:149::1;::::0;2588:79:::1;::::0;;::::1;2612:13:::0;2588:79:::1;:::i;:::-;2537:130;;;;2720:1;2698:19;-1:-1:-1::0;;;;;2698:23:149::1;;2677:129;;;;-1:-1:-1::0;;;2677:129:149::1;;;;;;;:::i;:::-;2864:101;::::0;;;;::::1;::::0;;-1:-1:-1;;;;;2864:101:149;;::::1;::::0;;-1:-1:-1;2864:101:149::1;::::0;;::::1;::::0;;;-1:-1:-1;;;;;2817:44:149;::::1;::::0;;;:25:::1;:44:::0;;;;;;;:148;;;;;;;::::1;-1:-1:-1::0;;;2817:148:149::1;::::0;;::::1;-1:-1:-1::0;;2817:148:149;;::::1;::::0;;;::::1;::::0;;::::1;;::::0;;;2981:57;;::::1;::::0;::::1;::::0;2907:19;;2981:57:::1;:::i;:::-;;;;;;;;-1:-1:-1::0;;;;;3053:23:149;::::1;::::0;3049:105:::1;;3092:51;3114:17;3133:9;3092:21;:51::i;:::-;641:1:154;;2384:776:149::0;;;:::o;1755:175:154:-;;;;;;;:::o;1731:448:149:-;564:10:154;-1:-1:-1;;;;;578:11:154;564:25;;556:75;;;;-1:-1:-1;;;556:75:154;;;;;;;:::i;:::-;1999:1:149::1;1969:11;-1:-1:-1::0;;;;;1952:42:149::1;;:44;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:48;1948:225;;;-1:-1:-1::0;;;;;2016:44:149;::::1;;::::0;;;:25:::1;:44;::::0;;;;;:83;;-1:-1:-1;;;;;2083:15:149::1;2016:83:::0;::::1;-1:-1:-1::0;;;2016:83:149::1;::::0;::::1;;::::0;;2119:43;::::1;::::0;2016:44;2119:43:::1;1948:225;1731:448:::0;;:::o;6101:425::-;6215:13;;6285:32;6276:5;:41;;;;;;;;;:101;;;-1:-1:-1;6342:35:149;6333:5;:44;;;;;;;;;6276:101;:156;;;-1:-1:-1;6402:30:149;6393:5;:39;;;;;;;;;6276:156;6259:229;;;-1:-1:-1;6465:4:149;;-1:-1:-1;6471:5:149;6457:20;;6259:229;-1:-1:-1;6506:5:149;;-1:-1:-1;6506:5:149;6101:425;;;;:::o;3498:2339::-;3741:42;;;564:10:154;-1:-1:-1;;;;;578:11:154;564:25;;556:75;;;;-1:-1:-1;;;556:75:154;;;;;;;:::i;:::-;-1:-1:-1;;;;;3887:44:149;::::1;3861:23;3887:44:::0;;;:25:::1;:44;::::0;;;;4072:19;;3887:44;;3861:23;4052:40:::1;::::0;:15:::1;::::0;-1:-1:-1;;;4072:19:149;::::1;-1:-1:-1::0;;;;;4072:19:149::1;4052;:40::i;:::-;4019:73:::0;-1:-1:-1;4106:27:149;4102:113:::1;;4157:31;4198:1:::0;4202::::1;4149:55;;;;;;;;;;4102:113;4302:27;4349:11;4302:60;;4372:20;4395:18;-1:-1:-1::0;;;;;4395:30:149::1;;:32;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4372:55:::0;-1:-1:-1;4441:16:149;;4437:788:::1;;4708:23;4734:59;4751:18;-1:-1:-1::0;;;;;4751:28:149::1;;4780:11;4751:41;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4734:12:::0;;:16:::1;:59::i;:::-;4708:85:::0;-1:-1:-1;4811:19:149;;4807:408:::1;;4965:27:::0;;4863:337:::1;::::0;1389:6:::1;::::0;4863:295:::1;::::0;4929:207:::1;::::0;1389:6;;4929:186:::1;::::0;-1:-1:-1;;;;;4965:27:149::1;5022:22:::0;1389:6;4929::::1;:186::i;:::-;:190:::0;::::1;:207::i;:::-;4863:15:::0;;:40:::1;:295::i;:::-;:320:::0;::::1;:337::i;:::-;4850:350;;4807:408;4437:788;;-1:-1:-1::0;;;;;5484:44:149;::::1;;::::0;;;:25:::1;:44;::::0;;;;;;:83;;-1:-1:-1;;;;;5551:15:149::1;5484:83:::0;::::1;-1:-1:-1::0;;;5484:83:149::1;::::0;::::1;;::::0;;5582:62;::::1;::::0;::::1;::::0;5609:10;;5621:22;;5582:62:::1;:::i;:::-;;;;;;;;5659:15:::0;5655:101:::1;;5698:31;5739:1:::0;5743::::1;5690:55;;;;;;;;;;;;5655:101;5774:31;5815:1;5766:64;;;;;;;;641:1:154;3498:2339:149::0;;;;;;;;;;:::o;6737:264::-;6890:18;6931:63;6976:17;6931:44;:63::i;:::-;6924:70;;6737:264;;;;:::o;7242:198::-;7343:23;;:::i;:::-;-1:-1:-1;;;;;;7389:44:149;;;;;:25;:44;;;;;;;;;7382:51;;;;;;;;;-1:-1:-1;;;;;7382:51:149;;;;;-1:-1:-1;;;7382:51:149;;;;;;;;;7242:198::o;883:369:156:-;1061:17;-1:-1:-1;;;;;1046:47:156;;:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1029:77:156;;:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;999:109:156;:10;-1:-1:-1;;;;;999:109:156;;978:204;;;;-1:-1:-1;;;978:204:156;;;;;;;:::i;:::-;1193:52;1215:17;1234:10;1193:21;:52::i;1490:104:154:-;1559:4;1490:104;;;;;:::o;2232:196::-;2356:13;;2232:196;;;:::o;3806:104::-;3892:11;3806:104;:::o;715:229:155:-;-1:-1:-1;;;;;812:46:155;;;:27;:46;;;;;;;;;;;:59;;-1:-1:-1;;;;;;812:59:155;;;;;;;;;887:50;;;812:27;887:50;715:229;;:::o;3136:155:442:-;3194:7;3226:1;3221;:6;;3213:49;;;;-1:-1:-1;;;3213:49:442;;;;;;;:::i;:::-;-1:-1:-1;3279:5:442;;;3136:155::o;1233:1086:359:-;1311:10;1363:2;1366:57;;;;1469:10;;;1480:22;;;;1519:2;1513:8;;1462:61;;1480:22;1495:5;1489:11;;1462:61;;1563:1;1556:5;1552:13;1602:1;1598:2;1594:10;1588:16;;1582:687;1607:2;1582:687;;;1670:2;1666;1662:11;1720:2;1715;1711;1707:11;1704:19;1694:2;;1736:1;1734;1727:11;1694:2;1784:4;1780:2;1776:13;1825:2;1816:7;1813:15;1810:2;;;1840:1;1838;1831:11;1810:2;1884:5;1875:7;1871:19;1865:25;;1921:1;1918:2;1914:9;1911:2;;;1968;1964;1960:11;2046:2;2041;2037;2033:11;2030:19;2023:27;2017:2;2010:10;2003:18;1999:52;1996:2;;;2063:1;2061;2054:11;1996:2;2115:4;2111:2;2107:13;2160:2;2151:7;2148:15;2145:2;;;2175:1;2173;2166:11;2145:2;2210:19;;;;-1:-1:-1;;1911:2:359;1630:639;;1625:1;1622:2;1618:9;1612:15;;1582:687;;;1444:839;1356:927;;1366:57;1381:2;1384:20;;;;1420:1;1414:7;;1374:48;;1384:20;1398:5;1392:11;;1374:48;;1356:927;;1233:1086;;;;;;:::o;3538:215:442:-;3596:7;3619:6;3615:20;;-1:-1:-1;3634:1:442;3627:8;;3615:20;3657:5;;;3661:1;3657;:5;:1;3680:5;;;;;:10;3672:56;;;;-1:-1:-1;;;3672:56:442;;;;;;;:::i;4217:150::-;4275:7;4306:1;4302;:5;4294:44;;;;-1:-1:-1;;;4294:44:442;;;;;;;:::i;:::-;4359:1;4355;:5;;;;;;;4217:150;-1:-1:-1;;;4217:150:442:o;1258:211:155:-;-1:-1:-1;;;;;1416:46:155;;;1375:18;1416:46;;;;;;;;;;;;;1258:211::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;:::o;5:130::-;72:20;;97:33;72:20;97:33;:::i;142:134::-;220:13;;238:33;220:13;238:33;:::i;450:336::-;;;564:3;557:4;549:6;545:17;541:27;531:2;;582:1;579;572:12;531:2;-1:-1;602:20;;642:18;631:30;;628:2;;;674:1;671;664:12;628:2;708:4;700:6;696:17;684:29;;759:3;751:4;743:6;739:17;729:8;725:32;722:41;719:2;;;776:1;773;766:12;719:2;524:262;;;;;:::o;794:156::-;874:20;;899:46;874:20;899:46;:::i;957:130::-;1024:20;;1049:33;1024:20;1049:33;:::i;1094:130::-;1161:20;;1186:33;1161:20;1186:33;:::i;1231:134::-;1309:13;;1327:33;1309:13;1327:33;:::i;1372:241::-;;1476:2;1464:9;1455:7;1451:23;1447:32;1444:2;;;1492:1;1489;1482:12;1444:2;1527:1;1544:53;1589:7;1569:9;1544:53;:::i;:::-;1534:63;1438:175;-1:-1;;;;1438:175::o;1620:263::-;;1735:2;1723:9;1714:7;1710:23;1706:32;1703:2;;;1751:1;1748;1741:12;1703:2;1786:1;1803:64;1859:7;1839:9;1803:64;:::i;1890:366::-;;;2011:2;1999:9;1990:7;1986:23;1982:32;1979:2;;;2027:1;2024;2017:12;1979:2;2062:1;2079:53;2124:7;2104:9;2079:53;:::i;:::-;2069:63;;2041:97;2169:2;2187:53;2232:7;2223:6;2212:9;2208:22;2187:53;:::i;:::-;2177:63;;2148:98;1973:283;;;;;:::o;2263:893::-;;;;;;;2467:3;2455:9;2446:7;2442:23;2438:33;2435:2;;;2484:1;2481;2474:12;2435:2;2519:1;2536:53;2581:7;2561:9;2536:53;:::i;:::-;2526:63;;2498:97;2626:2;2644:53;2689:7;2680:6;2669:9;2665:22;2644:53;:::i;:::-;2634:63;;2605:98;2734:2;2752:66;2810:7;2801:6;2790:9;2786:22;2752:66;:::i;:::-;2742:76;;2713:111;2883:2;2872:9;2868:18;2855:32;2907:18;2899:6;2896:30;2893:2;;;2939:1;2936;2929:12;2893:2;2967:64;3023:7;3014:6;3003:9;2999:22;2967:64;:::i;:::-;2949:82;;;;2834:203;3068:3;3087:53;3132:7;3123:6;3112:9;3108:22;3087:53;:::i;:::-;3077:63;;3047:99;2429:727;;;;;;;;:::o;3163:490::-;;;;3303:2;3291:9;3282:7;3278:23;3274:32;3271:2;;;3319:1;3316;3309:12;3271:2;3354:1;3371:53;3416:7;3396:9;3371:53;:::i;:::-;3361:63;;3333:97;3489:2;3478:9;3474:18;3461:32;3513:18;3505:6;3502:30;3499:2;;;3545:1;3542;3535:12;3499:2;3573:64;3629:7;3620:6;3609:9;3605:22;3573:64;:::i;:::-;3555:82;;;;3440:203;3265:388;;;;;:::o;3660:267::-;;3777:2;3765:9;3756:7;3752:23;3748:32;3745:2;;;3793:1;3790;3783:12;3745:2;3828:1;3845:66;3903:7;3883:9;3845:66;:::i;3934:382::-;;;4063:2;4051:9;4042:7;4038:23;4034:32;4031:2;;;4079:1;4076;4069:12;4031:2;4114:1;4131:53;4176:7;4156:9;4131:53;:::i;4323:263::-;;4438:2;4426:9;4417:7;4413:23;4409:32;4406:2;;;4454:1;4451;4444:12;4406:2;4489:1;4506:64;4562:7;4542:9;4506:64;:::i;4593:113::-;4676:24;4694:5;4676:24;:::i;:::-;4671:3;4664:37;4658:48;;:::o;4713:104::-;4790:21;4805:5;4790:21;:::i;4824:162::-;4925:55;4974:5;4925:55;:::i;4994:330::-;;5154:67;5218:2;5213:3;5154:67;:::i;:::-;5254:32;5234:53;;5315:2;5306:12;;5140:184;-1:-1;;5140:184::o;5333:326::-;;5493:67;5557:2;5552:3;5493:67;:::i;:::-;5593:28;5573:49;;5650:2;5641:12;;5479:180;-1:-1;;5479:180::o;5668:374::-;;5828:67;5892:2;5887:3;5828:67;:::i;:::-;5928:34;5908:55;;-1:-1;;;5992:2;5983:12;;5976:29;6033:2;6024:12;;5814:228;-1:-1;;5814:228::o;6051:370::-;;6211:67;6275:2;6270:3;6211:67;:::i;:::-;6311:34;6291:55;;-1:-1;;;6375:2;6366:12;;6359:25;6412:2;6403:12;;6197:224;-1:-1;;6197:224::o;6430:396::-;;6590:67;6654:2;6649:3;6590:67;:::i;:::-;6690:34;6670:55;;6759:29;6754:2;6745:12;;6738:51;6817:2;6808:12;;6576:250;-1:-1;;6576:250::o;6835:385::-;;6995:67;7059:2;7054:3;6995:67;:::i;:::-;7095:34;7075:55;;-1:-1;;;7159:2;7150:12;;7143:40;7211:2;7202:12;;6981:239;-1:-1;;6981:239::o;7295:500::-;7521:23;;7440:4;7431:14;;;7550:63;7435:3;7521:23;7550:63;:::i;:::-;7460:159;7699:4;7692:5;7688:16;7682:23;7711:63;7768:4;7763:3;7759:14;7745:12;7711:63;:::i;:::-;7629:151;7413:382;;;:::o;7802:103::-;7875:24;7893:5;7875:24;:::i;8032:113::-;8115:24;8133:5;8115:24;:::i;8152:222::-;8279:2;8264:18;;8293:71;8268:9;8337:6;8293:71;:::i;8381:210::-;8502:2;8487:18;;8516:65;8491:9;8554:6;8516:65;:::i;8598:309::-;8741:2;8726:18;;8755:65;8730:9;8793:6;8755:65;:::i;:::-;8831:66;8893:2;8882:9;8878:18;8869:6;8831:66;:::i;8914:480::-;9115:2;9100:18;;9129:89;9104:9;9191:6;9129:89;:::i;:::-;9229:72;9297:2;9286:9;9282:18;9273:6;9229:72;:::i;:::-;9312;9380:2;9369:9;9365:18;9356:6;9312:72;:::i;9401:416::-;9601:2;9615:47;;;9586:18;;9676:131;9586:18;9676:131;:::i;9824:416::-;10024:2;10038:47;;;10009:18;;10099:131;10009:18;10099:131;:::i;10247:416::-;10447:2;10461:47;;;10432:18;;10522:131;10432:18;10522:131;:::i;10670:416::-;10870:2;10884:47;;;10855:18;;10945:131;10855:18;10945:131;:::i;11093:416::-;11293:2;11307:47;;;11278:18;;11368:131;11278:18;11368:131;:::i;11516:416::-;11716:2;11730:47;;;11701:18;;11791:131;11701:18;11791:131;:::i;11939:326::-;12118:2;12103:18;;12132:123;12107:9;12228:6;12132:123;:::i;12272:222::-;12399:2;12384:18;;12413:71;12388:9;12457:6;12413:71;:::i;12501:333::-;12656:2;12641:18;;12670:71;12645:9;12714:6;12670:71;:::i;:::-;12752:72;12820:2;12809:9;12805:18;12796:6;12752:72;:::i;12842:163::-;12945:19;;;12994:4;12985:14;;12938:67::o;13013:91::-;;13075:24;13093:5;13075:24;:::i;13217:85::-;13283:13;13276:21;;13259:43::o;13309:146::-;13391:5;13397:53;13391:5;13397:53;:::i;13462:113::-;-1:-1;;;;;13524:46;;13507:68::o;13582:121::-;-1:-1;;;;;13644:54;;13627:76::o;13710:72::-;13772:5;13755:27::o;13789:146::-;;13886:44;13924:5;13886:44;:::i;13942:111::-;14031:1;14024:5;14021:12;14011:2;;14037:9;14011:2;14005:48;:::o;14060:117::-;14129:24;14147:5;14129:24;:::i;:::-;14122:5;14119:35;14109:2;;14168:1;14165;14158:12;14324:107;14406:1;14399:5;14396:12;14386:2;;14422:1;14419;14412:12;14438:117;14507:24;14525:5;14507:24;:::i;14562:117::-;14631:24;14649:5;14631:24;:::i", - "linkReferences": {}, - "immutableReferences": { - "40426": [ - { - "start": 462, - "length": 32 - }, - { - "start": 801, - "length": 32 - }, - { - "start": 1180, - "length": 32 - }, - { - "start": 2219, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "activateForFund(address,address)": "3146d058", - "addFundSettings(address,bytes)": "0f5f6b4f", - "getFeeInfoForFund(address)": "877fd473", - "getFeeManager()": "f2d63826", - "getRecipientForFund(address)": "62780b3c", - "payout(address,address)": "b78b4813", - "setRecipientForFund(address,address)": "8c55f80f", - "settle(address,address,uint8,bytes,uint256)": "41892d7e", - "settlesOnHook(uint8)": "320f0ddd", - "update(address,address,uint8,bytes,uint256)": "233faf5f", - "updatesOnHook(uint8)": "e337a91f" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_feeManager\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"}],\"name\":\"ActivatedForMigratedFund\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"scaledPerSecondRate\",\"type\":\"uint128\"}],\"name\":\"FundSettingsAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"}],\"name\":\"RecipientSetForFund\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"sharesQuantity\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"secondsSinceSettlement\",\"type\":\"uint256\"}],\"name\":\"Settled\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"}],\"name\":\"activateForFund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_settingsData\",\"type\":\"bytes\"}],\"name\":\"addFundSettings\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"}],\"name\":\"getFeeInfoForFund\",\"outputs\":[{\"components\":[{\"internalType\":\"uint128\",\"name\":\"scaledPerSecondRate\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"lastSettled\",\"type\":\"uint128\"}],\"internalType\":\"struct ManagementFee.FeeInfo\",\"name\":\"feeInfo_\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFeeManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"feeManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"}],\"name\":\"getRecipientForFund\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"recipient_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"payout\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_recipient\",\"type\":\"address\"}],\"name\":\"setRecipientForFund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"enum IFeeManager.FeeHook\",\"name\":\"\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"settle\",\"outputs\":[{\"internalType\":\"enum IFeeManager.SettlementType\",\"name\":\"settlementType_\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"sharesDue_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IFeeManager.FeeHook\",\"name\":\"_hook\",\"type\":\"uint8\"}],\"name\":\"settlesOnHook\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"settles_\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"usesGav_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"enum IFeeManager.FeeHook\",\"name\":\"\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"update\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IFeeManager.FeeHook\",\"name\":\"\",\"type\":\"uint8\"}],\"name\":\"updatesOnHook\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"updates_\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"usesGav_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"activateForFund(address,address)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\",\"_vaultProxy\":\"The VaultProxy of the fund\"}},\"addFundSettings(address,bytes)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\",\"_settingsData\":\"Encoded settings to apply to the fee for a fund\"}},\"getFeeInfoForFund(address)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy contract of the fund\"},\"returns\":{\"feeInfo_\":\"The feeInfo\"}},\"getFeeManager()\":{\"returns\":{\"feeManager_\":\"The `FEE_MANAGER` variable value\"}},\"getRecipientForFund(address)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy contract for the fund\"},\"returns\":{\"recipient_\":\"The recipient\"}},\"payout(address,address)\":{\"details\":\"Returns false by default, can be overridden by fee\"},\"setRecipientForFund(address,address)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy contract for the fund\",\"_recipient\":\"The fee recipient\"}},\"settle(address,address,uint8,bytes,uint256)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\",\"_vaultProxy\":\"The VaultProxy of the fund\"},\"returns\":{\"_1\":\"(unused) The payer of shares due\",\"settlementType_\":\"The type of settlement\",\"sharesDue_\":\"The amount of shares due\"}},\"settlesOnHook(uint8)\":{\"params\":{\"_hook\":\"The FeeHook\"},\"returns\":{\"settles_\":\"True if the fee settles on the _hook\",\"usesGav_\":\"True if the fee uses GAV during settle() for the _hook\"}},\"update(address,address,uint8,bytes,uint256)\":{\"details\":\"Unimplemented by default, can be overridden by fee\"},\"updatesOnHook(uint8)\":{\"details\":\"Returns false values by default, can be overridden by fee\",\"returns\":{\"updates_\":\"True if the fee updates on the _hook\",\"usesGav_\":\"True if the fee uses GAV during update() for the _hook\"}}},\"title\":\"ManagementFee Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"activateForFund(address,address)\":{\"notice\":\"Activates the fee for a fund\"},\"addFundSettings(address,bytes)\":{\"notice\":\"Add the initial fee settings for a fund\"},\"getFeeInfoForFund(address)\":{\"notice\":\"Gets the feeInfo for a given fund\"},\"getFeeManager()\":{\"notice\":\"Gets the `FEE_MANAGER` variable\"},\"getRecipientForFund(address)\":{\"notice\":\"Gets the recipient of the fee for a given fund\"},\"payout(address,address)\":{\"notice\":\"Runs payout logic for a fee that utilizes shares outstanding as its settlement type\"},\"setRecipientForFund(address,address)\":{\"notice\":\"Sets the fee recipient for the given fund\"},\"settle(address,address,uint8,bytes,uint256)\":{\"notice\":\"Settle the fee and calculate shares due\"},\"settlesOnHook(uint8)\":{\"notice\":\"Gets whether the fee settles and requires GAV on a particular hook\"},\"update(address,address,uint8,bytes,uint256)\":{\"notice\":\"Update fee state after all settlement has occurred during a given fee hook\"},\"updatesOnHook(uint8)\":{\"notice\":\"Gets whether the fee updates and requires GAV on a particular hook\"}},\"notice\":\"A management fee with a configurable annual rate\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/fee-manager/fees/ManagementFee.sol\":\"ManagementFee\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/persistent/protocol-fee-reserve/interfaces/IProtocolFeeReserve1.sol\":{\"keccak256\":\"0x2728878c423db523bc95189137e8c58d2d7db9f56bbd5c6b1f988c08b551fbab\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3b0df1d2eb74151265d03ab91a7c341f7beca475dd2f4d669052dbc4ee2c06ac\",\"dweb:/ipfs/QmVx1cgrxQNYfdK1Kn15pcgqf79Uw8bF3U6i7F2HG2rj6G\"]},\"contracts/persistent/vault/VaultLibBase1.sol\":{\"keccak256\":\"0xa4dac1e4cdb311a2ab187135355357d8790c505ef36dd912c057fe53743d30b5\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b66efe821016ab927c949263023260515e90f5d480dc8d94eefbfeec7bf7490b\",\"dweb:/ipfs/QmNY3xKnhL9EptAbxGvXHGAXfV9pj3dDPwsZnKrPs54ZHw\"]},\"contracts/persistent/vault/VaultLibBase2.sol\":{\"keccak256\":\"0xf7d31f2a9a47770ed3f444be2c4fe9262ddb55fef7f25e546b1f03c9afec4c09\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9353ddce7c9b8b3c13fed23fe8edec99ca610d791b0c5b204b3d01f1f08d07d2\",\"dweb:/ipfs/QmeVsEh3joCjv49BRXeHASevnZZ5xdZXpkctHT8BPf37N2\"]},\"contracts/persistent/vault/VaultLibBaseCore.sol\":{\"keccak256\":\"0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd\",\"dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz\"]},\"contracts/persistent/vault/interfaces/IExternalPositionVault.sol\":{\"keccak256\":\"0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d\",\"dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8\"]},\"contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol\":{\"keccak256\":\"0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb\",\"dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU\"]},\"contracts/persistent/vault/interfaces/IMigratableVault.sol\":{\"keccak256\":\"0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6\",\"dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs\"]},\"contracts/persistent/vault/interfaces/IVaultCore.sol\":{\"keccak256\":\"0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd\",\"dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr\"]},\"contracts/persistent/vault/utils/ProxiableVaultLib.sol\":{\"keccak256\":\"0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44\",\"dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4\"]},\"contracts/persistent/vault/utils/SharesTokenBase.sol\":{\"keccak256\":\"0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8\",\"dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4\"]},\"contracts/persistent/vault/utils/VaultLibSafeMath.sol\":{\"keccak256\":\"0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02\",\"dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG\"]},\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/core/fund/comptroller/ComptrollerLib.sol\":{\"keccak256\":\"0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579\",\"dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq\"]},\"contracts/release/core/fund/comptroller/IComptroller.sol\":{\"keccak256\":\"0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97\",\"dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L\"]},\"contracts/release/core/fund/vault/IVault.sol\":{\"keccak256\":\"0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599\",\"dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG\"]},\"contracts/release/core/fund/vault/VaultLib.sol\":{\"keccak256\":\"0x07e49445ab55c01e1b499a48baadc2a15d1eba621f1c6d3ccfdb84c87b976da8\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://56d882459248f73e137db2e097fc56b946147fb28ec21661b77431f88e856cb4\",\"dweb:/ipfs/QmRP6Ry7DCS5uoKxnnkTomHSzbaCze6cHqbR9aLdjoF6vK\"]},\"contracts/release/extensions/IExtension.sol\":{\"keccak256\":\"0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70\",\"dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t\"]},\"contracts/release/extensions/external-position-manager/IExternalPositionManager.sol\":{\"keccak256\":\"0x3af3f634e1f99fb97091b7825c0d2e2baaafc124d4e87d56cb0c17ff8554f6c6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://515470605afe5ef147f30fa75ce7818f0e00e3d321eb81a4d9bffcdefc294495\",\"dweb:/ipfs/QmPKsp99pfHoz9Tfo3ZxnkmqDqJtN9PxqacF2RmeVfxUJF\"]},\"contracts/release/extensions/fee-manager/IFee.sol\":{\"keccak256\":\"0x38e3f324c67f3205e38197165586ea82ca226069902f34214bcde76cf905fcff\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c1fff656d1bdde3324421bc9e77cbfc4e80baf4e665f8713fdb65611b046f4b0\",\"dweb:/ipfs/QmVRFjNwmsVHdh4sp3DWdL74VWmhRhPZE5kDxJiuPL8Gu2\"]},\"contracts/release/extensions/fee-manager/IFeeManager.sol\":{\"keccak256\":\"0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22\",\"dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod\"]},\"contracts/release/extensions/fee-manager/fees/ManagementFee.sol\":{\"keccak256\":\"0x13dd936363737ba575ec468e7556b28e427258096cb77a824af6d078a8a4c963\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://406ff2149d7fc08528f265ae14073f95a2ab9b66221059d8dca45dc9fc848b94\",\"dweb:/ipfs/QmVUBtY9dsNyWrUe94DUe154p4X5XeFf1cKmR2Kguax5T2\"]},\"contracts/release/extensions/fee-manager/fees/utils/FeeBase.sol\":{\"keccak256\":\"0x485c03e3088b6dc9828d2e895cce6856501448b4a2c71a0acae4e012bc644b14\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b63aef3cd20eb4dd585632c74619235ef1d5c3c2c52fd61f8802d0a50569b767\",\"dweb:/ipfs/QmSuTYChj2j8NnLYCg47feAJ5P9NheQpK46fG6fhmMtimA\"]},\"contracts/release/extensions/fee-manager/fees/utils/SettableFeeRecipientBase.sol\":{\"keccak256\":\"0xb3b4b3cd13141871c912310ce1dace2e94f89eee7a52b95d4df9e4642a958f4d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b120324be26eddebb2fd5d15ecdbef4bfc5a5bbd05bd60796677157480842aa1\",\"dweb:/ipfs/Qmab9XnYHvG3zWtQaTee24qU7VK94MMLySPkrZqDBbB5NN\"]},\"contracts/release/extensions/fee-manager/fees/utils/UpdatableFeeRecipientBase.sol\":{\"keccak256\":\"0xac875e8923b29be8e697be04177b56d3f75d0ef4a56bc0cec2d2583efd802064\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://99d359ece6663298f925765b7558beb694bf3dbe3831fc60e016fd37b10d358c\",\"dweb:/ipfs/QmduCuit88g1HEb9HxF1aH82Ezx388M5CBLfUfLraKgcfA\"]},\"contracts/release/extensions/policy-manager/IPolicyManager.sol\":{\"keccak256\":\"0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa\",\"dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb\"]},\"contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol\":{\"keccak256\":\"0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f\",\"dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol\":{\"keccak256\":\"0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0\",\"dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol\":{\"keccak256\":\"0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b\",\"dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3\"]},\"contracts/release/infrastructure/protocol-fees/IProtocolFeeTracker.sol\":{\"keccak256\":\"0x232b347f83457439064add7369bfe1930c7cb56f15930bb87d640e909c15e447\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://24f9af5eebdd373b1d7a598c096eb6def31b2640d54416d7d5a7226e1cef17e6\",\"dweb:/ipfs/QmStq9ByGuSYdKwTmZf52L1X6sZVJUfXTnoVbnjLLiUcHG\"]},\"contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol\":{\"keccak256\":\"0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965\",\"dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ\"]},\"contracts/release/interfaces/IGsnForwarder.sol\":{\"keccak256\":\"0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29\",\"dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G\"]},\"contracts/release/interfaces/IGsnPaymaster.sol\":{\"keccak256\":\"0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4\",\"dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF\"]},\"contracts/release/interfaces/IGsnTypes.sol\":{\"keccak256\":\"0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7\",\"dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C\"]},\"contracts/release/interfaces/IWETH.sol\":{\"keccak256\":\"0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2\",\"dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/MakerDaoMath.sol\":{\"keccak256\":\"0x4bee0614f0164208a5a65a371f8853976e236db1ad25e75aec4357ef96b32dcb\",\"license\":\"AGPL-3.0-or-later\",\"urls\":[\"bzz-raw://eff29315081b02fe1267e23c65b0368f07c640352e41d26b64f6a77ddd307080\",\"dweb:/ipfs/QmQH7itbaMjEt189WsKbygmwJdBrS5ghnwt94w8JRgh3mg\"]},\"contracts/release/utils/beacon-proxy/IBeacon.sol\":{\"keccak256\":\"0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39\",\"dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V\"]},\"contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol\":{\"keccak256\":\"0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be\",\"dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20Burnable.sol\":{\"keccak256\":\"0x9c0eb3b0e11d2480d49991dc384f1e5f9c9b9967cc81944d50916a9b9c6c4984\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99e4033d778624992e86f0b6d801a4f6d7b5c0cd5c79c1296be90a051ad5f5af\",\"dweb:/ipfs/QmShYmkUqh6pDEeoWadZ24icmCr4C2Xys1uE5boivPmbwf\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_feeManager", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "comptrollerProxy", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "ActivatedForMigratedFund", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "comptrollerProxy", - "type": "address", - "indexed": true - }, - { - "internalType": "uint128", - "name": "scaledPerSecondRate", - "type": "uint128", - "indexed": false - } - ], - "type": "event", - "name": "FundSettingsAdded", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "comptrollerProxy", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "recipient", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "RecipientSetForFund", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "comptrollerProxy", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "sharesQuantity", - "type": "uint256", - "indexed": false - }, - { - "internalType": "uint256", - "name": "secondsSinceSettlement", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "Settled", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "activateForFund" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_settingsData", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "addFundSettings" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getFeeInfoForFund", - "outputs": [ - { - "internalType": "struct ManagementFee.FeeInfo", - "name": "feeInfo_", - "type": "tuple", - "components": [ - { - "internalType": "uint128", - "name": "scaledPerSecondRate", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "lastSettled", - "type": "uint128" - } - ] - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getFeeManager", - "outputs": [ - { - "internalType": "address", - "name": "feeManager_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getRecipientForFund", - "outputs": [ - { - "internalType": "address", - "name": "recipient_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "payout", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_recipient", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setRecipientForFund" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "enum IFeeManager.FeeHook", - "name": "", - "type": "uint8" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "settle", - "outputs": [ - { - "internalType": "enum IFeeManager.SettlementType", - "name": "settlementType_", - "type": "uint8" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "sharesDue_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "enum IFeeManager.FeeHook", - "name": "_hook", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function", - "name": "settlesOnHook", - "outputs": [ - { - "internalType": "bool", - "name": "settles_", - "type": "bool" - }, - { - "internalType": "bool", - "name": "usesGav_", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "enum IFeeManager.FeeHook", - "name": "", - "type": "uint8" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "update" - }, - { - "inputs": [ - { - "internalType": "enum IFeeManager.FeeHook", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function", - "name": "updatesOnHook", - "outputs": [ - { - "internalType": "bool", - "name": "updates_", - "type": "bool" - }, - { - "internalType": "bool", - "name": "usesGav_", - "type": "bool" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "activateForFund(address,address)": { - "params": { - "_comptrollerProxy": "The ComptrollerProxy of the fund", - "_vaultProxy": "The VaultProxy of the fund" - } - }, - "addFundSettings(address,bytes)": { - "params": { - "_comptrollerProxy": "The ComptrollerProxy of the fund", - "_settingsData": "Encoded settings to apply to the fee for a fund" - } - }, - "getFeeInfoForFund(address)": { - "params": { - "_comptrollerProxy": "The ComptrollerProxy contract of the fund" - }, - "returns": { - "feeInfo_": "The feeInfo" - } - }, - "getFeeManager()": { - "returns": { - "feeManager_": "The `FEE_MANAGER` variable value" - } - }, - "getRecipientForFund(address)": { - "params": { - "_comptrollerProxy": "The ComptrollerProxy contract for the fund" - }, - "returns": { - "recipient_": "The recipient" - } - }, - "payout(address,address)": { - "details": "Returns false by default, can be overridden by fee" - }, - "setRecipientForFund(address,address)": { - "params": { - "_comptrollerProxy": "The ComptrollerProxy contract for the fund", - "_recipient": "The fee recipient" - } - }, - "settle(address,address,uint8,bytes,uint256)": { - "params": { - "_comptrollerProxy": "The ComptrollerProxy of the fund", - "_vaultProxy": "The VaultProxy of the fund" - }, - "returns": { - "_1": "(unused) The payer of shares due", - "settlementType_": "The type of settlement", - "sharesDue_": "The amount of shares due" - } - }, - "settlesOnHook(uint8)": { - "params": { - "_hook": "The FeeHook" - }, - "returns": { - "settles_": "True if the fee settles on the _hook", - "usesGav_": "True if the fee uses GAV during settle() for the _hook" - } - }, - "update(address,address,uint8,bytes,uint256)": { - "details": "Unimplemented by default, can be overridden by fee" - }, - "updatesOnHook(uint8)": { - "details": "Returns false values by default, can be overridden by fee", - "returns": { - "updates_": "True if the fee updates on the _hook", - "usesGav_": "True if the fee uses GAV during update() for the _hook" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "activateForFund(address,address)": { - "notice": "Activates the fee for a fund" - }, - "addFundSettings(address,bytes)": { - "notice": "Add the initial fee settings for a fund" - }, - "getFeeInfoForFund(address)": { - "notice": "Gets the feeInfo for a given fund" - }, - "getFeeManager()": { - "notice": "Gets the `FEE_MANAGER` variable" - }, - "getRecipientForFund(address)": { - "notice": "Gets the recipient of the fee for a given fund" - }, - "payout(address,address)": { - "notice": "Runs payout logic for a fee that utilizes shares outstanding as its settlement type" - }, - "setRecipientForFund(address,address)": { - "notice": "Sets the fee recipient for the given fund" - }, - "settle(address,address,uint8,bytes,uint256)": { - "notice": "Settle the fee and calculate shares due" - }, - "settlesOnHook(uint8)": { - "notice": "Gets whether the fee settles and requires GAV on a particular hook" - }, - "update(address,address,uint8,bytes,uint256)": { - "notice": "Update fee state after all settlement has occurred during a given fee hook" - }, - "updatesOnHook(uint8)": { - "notice": "Gets whether the fee updates and requires GAV on a particular hook" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/fee-manager/fees/ManagementFee.sol": "ManagementFee" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/dispatcher/IDispatcher.sol": { - "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", - "urls": [ - "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", - "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/external-positions/IExternalPosition.sol": { - "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", - "urls": [ - "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", - "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/protocol-fee-reserve/interfaces/IProtocolFeeReserve1.sol": { - "keccak256": "0x2728878c423db523bc95189137e8c58d2d7db9f56bbd5c6b1f988c08b551fbab", - "urls": [ - "bzz-raw://3b0df1d2eb74151265d03ab91a7c341f7beca475dd2f4d669052dbc4ee2c06ac", - "dweb:/ipfs/QmVx1cgrxQNYfdK1Kn15pcgqf79Uw8bF3U6i7F2HG2rj6G" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/VaultLibBase1.sol": { - "keccak256": "0xa4dac1e4cdb311a2ab187135355357d8790c505ef36dd912c057fe53743d30b5", - "urls": [ - "bzz-raw://b66efe821016ab927c949263023260515e90f5d480dc8d94eefbfeec7bf7490b", - "dweb:/ipfs/QmNY3xKnhL9EptAbxGvXHGAXfV9pj3dDPwsZnKrPs54ZHw" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/VaultLibBase2.sol": { - "keccak256": "0xf7d31f2a9a47770ed3f444be2c4fe9262ddb55fef7f25e546b1f03c9afec4c09", - "urls": [ - "bzz-raw://9353ddce7c9b8b3c13fed23fe8edec99ca610d791b0c5b204b3d01f1f08d07d2", - "dweb:/ipfs/QmeVsEh3joCjv49BRXeHASevnZZ5xdZXpkctHT8BPf37N2" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/VaultLibBaseCore.sol": { - "keccak256": "0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074", - "urls": [ - "bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd", - "dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IExternalPositionVault.sol": { - "keccak256": "0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6", - "urls": [ - "bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d", - "dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol": { - "keccak256": "0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0", - "urls": [ - "bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb", - "dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IMigratableVault.sol": { - "keccak256": "0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238", - "urls": [ - "bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6", - "dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IVaultCore.sol": { - "keccak256": "0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80", - "urls": [ - "bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd", - "dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/utils/ProxiableVaultLib.sol": { - "keccak256": "0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76", - "urls": [ - "bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44", - "dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/utils/SharesTokenBase.sol": { - "keccak256": "0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113", - "urls": [ - "bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8", - "dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/utils/VaultLibSafeMath.sol": { - "keccak256": "0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d", - "urls": [ - "bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02", - "dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund-deployer/IFundDeployer.sol": { - "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", - "urls": [ - "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", - "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/comptroller/ComptrollerLib.sol": { - "keccak256": "0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64", - "urls": [ - "bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579", - "dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/comptroller/IComptroller.sol": { - "keccak256": "0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f", - "urls": [ - "bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97", - "dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/vault/IVault.sol": { - "keccak256": "0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd", - "urls": [ - "bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599", - "dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/vault/VaultLib.sol": { - "keccak256": "0x07e49445ab55c01e1b499a48baadc2a15d1eba621f1c6d3ccfdb84c87b976da8", - "urls": [ - "bzz-raw://56d882459248f73e137db2e097fc56b946147fb28ec21661b77431f88e856cb4", - "dweb:/ipfs/QmRP6Ry7DCS5uoKxnnkTomHSzbaCze6cHqbR9aLdjoF6vK" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/IExtension.sol": { - "keccak256": "0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b", - "urls": [ - "bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70", - "dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/IExternalPositionManager.sol": { - "keccak256": "0x3af3f634e1f99fb97091b7825c0d2e2baaafc124d4e87d56cb0c17ff8554f6c6", - "urls": [ - "bzz-raw://515470605afe5ef147f30fa75ce7818f0e00e3d321eb81a4d9bffcdefc294495", - "dweb:/ipfs/QmPKsp99pfHoz9Tfo3ZxnkmqDqJtN9PxqacF2RmeVfxUJF" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/fee-manager/IFee.sol": { - "keccak256": "0x38e3f324c67f3205e38197165586ea82ca226069902f34214bcde76cf905fcff", - "urls": [ - "bzz-raw://c1fff656d1bdde3324421bc9e77cbfc4e80baf4e665f8713fdb65611b046f4b0", - "dweb:/ipfs/QmVRFjNwmsVHdh4sp3DWdL74VWmhRhPZE5kDxJiuPL8Gu2" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/fee-manager/IFeeManager.sol": { - "keccak256": "0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51", - "urls": [ - "bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22", - "dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/fee-manager/fees/ManagementFee.sol": { - "keccak256": "0x13dd936363737ba575ec468e7556b28e427258096cb77a824af6d078a8a4c963", - "urls": [ - "bzz-raw://406ff2149d7fc08528f265ae14073f95a2ab9b66221059d8dca45dc9fc848b94", - "dweb:/ipfs/QmVUBtY9dsNyWrUe94DUe154p4X5XeFf1cKmR2Kguax5T2" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/fee-manager/fees/utils/FeeBase.sol": { - "keccak256": "0x485c03e3088b6dc9828d2e895cce6856501448b4a2c71a0acae4e012bc644b14", - "urls": [ - "bzz-raw://b63aef3cd20eb4dd585632c74619235ef1d5c3c2c52fd61f8802d0a50569b767", - "dweb:/ipfs/QmSuTYChj2j8NnLYCg47feAJ5P9NheQpK46fG6fhmMtimA" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/fee-manager/fees/utils/SettableFeeRecipientBase.sol": { - "keccak256": "0xb3b4b3cd13141871c912310ce1dace2e94f89eee7a52b95d4df9e4642a958f4d", - "urls": [ - "bzz-raw://b120324be26eddebb2fd5d15ecdbef4bfc5a5bbd05bd60796677157480842aa1", - "dweb:/ipfs/Qmab9XnYHvG3zWtQaTee24qU7VK94MMLySPkrZqDBbB5NN" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/fee-manager/fees/utils/UpdatableFeeRecipientBase.sol": { - "keccak256": "0xac875e8923b29be8e697be04177b56d3f75d0ef4a56bc0cec2d2583efd802064", - "urls": [ - "bzz-raw://99d359ece6663298f925765b7558beb694bf3dbe3831fc60e016fd37b10d358c", - "dweb:/ipfs/QmduCuit88g1HEb9HxF1aH82Ezx388M5CBLfUfLraKgcfA" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/policy-manager/IPolicyManager.sol": { - "keccak256": "0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32", - "urls": [ - "bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa", - "dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol": { - "keccak256": "0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609", - "urls": [ - "bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f", - "dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol": { - "keccak256": "0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01", - "urls": [ - "bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0", - "dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol": { - "keccak256": "0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196", - "urls": [ - "bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b", - "dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/protocol-fees/IProtocolFeeTracker.sol": { - "keccak256": "0x232b347f83457439064add7369bfe1930c7cb56f15930bb87d640e909c15e447", - "urls": [ - "bzz-raw://24f9af5eebdd373b1d7a598c096eb6def31b2640d54416d7d5a7226e1cef17e6", - "dweb:/ipfs/QmStq9ByGuSYdKwTmZf52L1X6sZVJUfXTnoVbnjLLiUcHG" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol": { - "keccak256": "0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794", - "urls": [ - "bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965", - "dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IGsnForwarder.sol": { - "keccak256": "0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030", - "urls": [ - "bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29", - "dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IGsnPaymaster.sol": { - "keccak256": "0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c", - "urls": [ - "bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4", - "dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IGsnTypes.sol": { - "keccak256": "0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714", - "urls": [ - "bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7", - "dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IWETH.sol": { - "keccak256": "0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2", - "urls": [ - "bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2", - "dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AddressArrayLib.sol": { - "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", - "urls": [ - "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", - "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/MakerDaoMath.sol": { - "keccak256": "0x4bee0614f0164208a5a65a371f8853976e236db1ad25e75aec4357ef96b32dcb", - "urls": [ - "bzz-raw://eff29315081b02fe1267e23c65b0368f07c640352e41d26b64f6a77ddd307080", - "dweb:/ipfs/QmQH7itbaMjEt189WsKbygmwJdBrS5ghnwt94w8JRgh3mg" - ], - "license": "AGPL-3.0-or-later" - }, - "contracts/release/utils/beacon-proxy/IBeacon.sol": { - "keccak256": "0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2", - "urls": [ - "bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39", - "dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol": { - "keccak256": "0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc", - "urls": [ - "bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be", - "dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20Burnable.sol": { - "keccak256": "0x9c0eb3b0e11d2480d49991dc384f1e5f9c9b9967cc81944d50916a9b9c6c4984", - "urls": [ - "bzz-raw://99e4033d778624992e86f0b6d801a4f6d7b5c0cd5c79c1296be90a051ad5f5af", - "dweb:/ipfs/QmShYmkUqh6pDEeoWadZ24icmCr4C2Xys1uE5boivPmbwf" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { - "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", - "urls": [ - "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", - "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Address.sol": { - "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", - "urls": [ - "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", - "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 149 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_feeManager", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "activateForFund", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" }, { "name": "_vaultProxy", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "addFundSettings", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" }, { "name": "_settingsData", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "getFeeInfoForFund", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "feeInfo_", "type": "tuple", "internalType": "struct ManagementFee.FeeInfo", "components": [ { "name": "scaledPerSecondRate", "type": "uint128", "internalType": "uint128" }, { "name": "lastSettled", "type": "uint128", "internalType": "uint128" } ] } ], "stateMutability": "view" }, { "type": "function", "name": "getFeeManager", "inputs": [], "outputs": [ { "name": "feeManager_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getRecipientForFund", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "recipient_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "payout", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "setRecipientForFund", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" }, { "name": "_recipient", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "settle", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" }, { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "", "type": "uint8", "internalType": "enum IFeeManager.FeeHook" }, { "name": "", "type": "bytes", "internalType": "bytes" }, { "name": "", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "settlementType_", "type": "uint8", "internalType": "enum IFeeManager.SettlementType" }, { "name": "", "type": "address", "internalType": "address" }, { "name": "sharesDue_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "settlesOnHook", "inputs": [ { "name": "_hook", "type": "uint8", "internalType": "enum IFeeManager.FeeHook" } ], "outputs": [ { "name": "settles_", "type": "bool", "internalType": "bool" }, { "name": "usesGav_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "update", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "uint8", "internalType": "enum IFeeManager.FeeHook" }, { "name": "", "type": "bytes", "internalType": "bytes" }, { "name": "", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "updatesOnHook", "inputs": [ { "name": "", "type": "uint8", "internalType": "enum IFeeManager.FeeHook" } ], "outputs": [ { "name": "updates_", "type": "bool", "internalType": "bool" }, { "name": "usesGav_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "event", "name": "ActivatedForMigratedFund", "inputs": [ { "name": "comptrollerProxy", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "FundSettingsAdded", "inputs": [ { "name": "comptrollerProxy", "type": "address", "indexed": true, "internalType": "address" }, { "name": "scaledPerSecondRate", "type": "uint128", "indexed": false, "internalType": "uint128" } ], "anonymous": false }, { "type": "event", "name": "RecipientSetForFund", "inputs": [ { "name": "comptrollerProxy", "type": "address", "indexed": true, "internalType": "address" }, { "name": "recipient", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "Settled", "inputs": [ { "name": "comptrollerProxy", "type": "address", "indexed": true, "internalType": "address" }, { "name": "sharesQuantity", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "secondsSinceSettlement", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false } ], "bytecode": { "object": "0x60a060405234801561001057600080fd5b5060405161115c38038061115c83398101604081905261002f91610055565b60601b6001600160601b0319166080526100a3565b805161004f8161008c565b92915050565b60006020828403121561006757600080fd5b60006100738484610044565b949350505050565b60006001600160a01b03821661004f565b6100958161007b565b81146100a057600080fd5b50565b60805160601c61108d6100cf600039806101ce5280610321528061049c52806108ab525061108d6000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c806362780b3c1161007157806362780b3c14610135578063877fd473146101555780638c55f80f14610175578063b78b481314610188578063e337a91f146101a8578063f2d63826146101bb576100a9565b80630f5f6b4f146100ae578063233faf5f146100c35780633146d058146100d6578063320f0ddd146100e957806341892d7e14610113575b600080fd5b6100c16100bc366004610c46565b6101c3565b005b6100c16100d1366004610bb6565b61030e565b6100c16100e4366004610b7c565b610316565b6100fc6100f7366004610c9c565b610432565b60405161010a929190610f1d565b60405180910390f35b610126610121366004610bb6565b61048d565b60405161010a93929190610f38565b610148610143366004610b38565b610720565b60405161010a9190610f01565b610168610163366004610b38565b610733565b60405161010a9190610fc0565b6100c1610183366004610b7c565b61077d565b61019b610196366004610b7c565b610898565b60405161010a9190610f0f565b6100fc6101b6366004610c9c565b6108a1565b6101486108a9565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146102145760405162461bcd60e51b815260040161020b90610f80565b60405180910390fd5b60008061022383850185610cba565b915091506000826001600160801b0316116102505760405162461bcd60e51b815260040161020b90610fa0565b6040805180820182526001600160801b038085168252600060208084018281526001600160a01b038b168084526001909252918590209351845492518416600160801b029084166fffffffffffffffffffffffffffffffff19909316929092179092161790915590517f43e2539cfab38f0e3b5d0648103e367b0d65bdc181c37c6753066ba4e79f05b2906102e6908590610fce565b60405180910390a26001600160a01b038116156103075761030785826108cd565b5050505050565b505050505050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461035e5760405162461bcd60e51b815260040161020b90610f80565b6000816001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561039957600080fd5b505afa1580156103ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103d19190610cd9565b111561042e576001600160a01b03821660008181526001602052604080822080546001600160801b03428116600160801b029116179055517f8f1e8a779dce142f8b8b45e1747798edee9623be81f2f411496f3b49eb67bc369190a25b5050565b600080600183600381111561044357fe5b148061045a5750600383600381111561045857fe5b145b806104705750600083600381111561046e57fe5b145b156104815750600190506000610488565b5060009050805b915091565b60008080336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104d95760405162461bcd60e51b815260040161020b90610f80565b6001600160a01b03891660009081526001602052604081208054909190610511904290600160801b90046001600160801b0316610924565b90508061052a5760008060009450945094505050610714565b60008a90506000816001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561056a57600080fd5b505afa15801561057e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105a29190610cd9565b90508015610684576000610632836001600160a01b03166370a082318f6040518263ffffffff1660e01b81526004016105db9190610f01565b60206040518083038186803b1580156105f357600080fd5b505afa158015610607573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061062b9190610cd9565b8390610924565b9050801561068257845461067f906b033b2e3c9fd0803ce8000000906106799061067290839061066c906001600160801b03168a8361094c565b90610924565b8490610a0c565b90610a46565b95505b505b6001600160a01b038d166000818152600160205260409081902080546001600160801b03428116600160801b029116179055517f468aeeec0e901c52363552a06c1e39331d44c3cc886eb200af127ded3f380f82906106e69088908790610fdc565b60405180910390a28461070757600080600096509650965050505050610714565b6002600096509650505050505b96509650969350505050565b600061072b82610a78565b90505b919050565b61073b610a96565b506001600160a01b03166000908152600160209081526040918290208251808401909352546001600160801b038082168452600160801b909104169082015290565b816001600160a01b031663c98091876040518163ffffffff1660e01b815260040160206040518083038186803b1580156107b657600080fd5b505afa1580156107ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ee9190610b5e565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561082657600080fd5b505afa15801561083a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061085e9190610b5e565b6001600160a01b0316336001600160a01b03161461088e5760405162461bcd60e51b815260040161020b90610fb0565b61042e82826108cd565b60005b92915050565b600080915091565b7f000000000000000000000000000000000000000000000000000000000000000090565b6001600160a01b0382811660008181526020819052604080822080546001600160a01b0319169486169485179055517fa11fc98cfb391622348acc16de92f0efb77d55f71a6e9fa18bfef387ae8d19ce9190a35050565b6000828211156109465760405162461bcd60e51b815260040161020b90610f60565b50900390565b60008380156109ed576001841680156109675785925061096b565b8392505b50600283046002850494505b84156109e757858602868782041461098e57600080fd5b8181018181101561099e57600080fd5b858104975060028706156109da5787850285898204141589151516156109c357600080fd5b838101818110156109d357600080fd5b8790049550505b5050600285049450610977565b50610a03565b8380156109fd5760009250610a01565b8392505b505b505b9392505050565b600082610a1b5750600061089b565b82820282848281610a2857fe5b0414610a055760405162461bcd60e51b815260040161020b90610f90565b6000808211610a675760405162461bcd60e51b815260040161020b90610f70565b818381610a7057fe5b049392505050565b6001600160a01b039081166000908152602081905260409020541690565b604080518082019091526000808252602082015290565b803561089b8161104d565b805161089b8161104d565b60008083601f840112610ad557600080fd5b50813567ffffffffffffffff811115610aed57600080fd5b602083019150836001820283011115610b0557600080fd5b9250929050565b803561089b81611061565b803561089b8161106e565b803561089b81611077565b805161089b81611077565b600060208284031215610b4a57600080fd5b6000610b568484610aad565b949350505050565b600060208284031215610b7057600080fd5b6000610b568484610ab8565b60008060408385031215610b8f57600080fd5b6000610b9b8585610aad565b9250506020610bac85828601610aad565b9150509250929050565b60008060008060008060a08789031215610bcf57600080fd5b6000610bdb8989610aad565b9650506020610bec89828a01610aad565b9550506040610bfd89828a01610b0c565b945050606087013567ffffffffffffffff811115610c1a57600080fd5b610c2689828a01610ac3565b93509350506080610c3989828a01610b22565b9150509295509295509295565b600080600060408486031215610c5b57600080fd5b6000610c678686610aad565b935050602084013567ffffffffffffffff811115610c8457600080fd5b610c9086828701610ac3565b92509250509250925092565b600060208284031215610cae57600080fd5b6000610b568484610b0c565b60008060408385031215610ccd57600080fd5b6000610b9b8585610b17565b600060208284031215610ceb57600080fd5b6000610b568484610b2d565b610d0081611000565b82525050565b610d008161100b565b610d0081611035565b6000610d25601e83610ff7565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000610d5e601a83610ff7565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b6000610d97602583610ff7565b7f4f6e6c7920746865204665654d616e6765722063616e206d616b6520746869738152640818d85b1b60da1b602082015260400192915050565b6000610dde602183610ff7565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000610e21603b83610ff7565b7f61646446756e6453657474696e67733a207363616c65645065725365636f6e6481527f52617465206d7573742062652067726561746572207468616e20300000000000602082015260400192915050565b6000610e80603083610ff7565b7f5f5f736574526563697069656e74466f7246756e643a204f6e6c79207661756c81526f74206f776e65722063616c6c61626c6560801b602082015260400192915050565b80516040830190610ed68482610eef565b506020820151610ee96020850182610eef565b50505050565b610d008161101a565b610d0081611032565b6020810161089b8284610cf7565b6020810161089b8284610d06565b60408101610f2b8285610d06565b610a056020830184610d06565b60608101610f468286610d0f565b610f536020830185610cf7565b610b566040830184610ef8565b6020808252810161072b81610d18565b6020808252810161072b81610d51565b6020808252810161072b81610d8a565b6020808252810161072b81610dd1565b6020808252810161072b81610e14565b6020808252810161072b81610e73565b6040810161089b8284610ec5565b6020810161089b8284610eef565b60408101610fea8285610ef8565b610a056020830184610ef8565b90815260200190565b600061072b82611026565b151590565b8061072e81611040565b6001600160801b031690565b6001600160a01b031690565b90565b600061072b82611010565b6006811061104a57fe5b50565b61105681611000565b811461104a57600080fd5b6004811061104a57600080fd5b6110568161101a565b6110568161103256fea164736f6c634300060c000a", "sourceMap": "683:6759:149:-:0;;;1470:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;705:25:154;;-1:-1:-1;;;;;;705:25:154;;;683:6759:149;;5:134:-1;83:13;;101:33;83:13;101:33;:::i;:::-;68:71;;;;:::o;146:263::-;;261:2;249:9;240:7;236:23;232:32;229:2;;;277:1;274;267:12;229:2;312:1;329:64;385:7;365:9;329:64;:::i;:::-;319:74;223:186;-1:-1;;;;223:186::o;416:91::-;;-1:-1;;;;;576:54;;478:24;559:76::o;642:117::-;711:24;729:5;711:24;:::i;:::-;704:5;701:35;691:2;;750:1;747;740:12;691:2;685:74;:::o;:::-;683:6759:149;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106100a95760003560e01c806362780b3c1161007157806362780b3c14610135578063877fd473146101555780638c55f80f14610175578063b78b481314610188578063e337a91f146101a8578063f2d63826146101bb576100a9565b80630f5f6b4f146100ae578063233faf5f146100c35780633146d058146100d6578063320f0ddd146100e957806341892d7e14610113575b600080fd5b6100c16100bc366004610c46565b6101c3565b005b6100c16100d1366004610bb6565b61030e565b6100c16100e4366004610b7c565b610316565b6100fc6100f7366004610c9c565b610432565b60405161010a929190610f1d565b60405180910390f35b610126610121366004610bb6565b61048d565b60405161010a93929190610f38565b610148610143366004610b38565b610720565b60405161010a9190610f01565b610168610163366004610b38565b610733565b60405161010a9190610fc0565b6100c1610183366004610b7c565b61077d565b61019b610196366004610b7c565b610898565b60405161010a9190610f0f565b6100fc6101b6366004610c9c565b6108a1565b6101486108a9565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146102145760405162461bcd60e51b815260040161020b90610f80565b60405180910390fd5b60008061022383850185610cba565b915091506000826001600160801b0316116102505760405162461bcd60e51b815260040161020b90610fa0565b6040805180820182526001600160801b038085168252600060208084018281526001600160a01b038b168084526001909252918590209351845492518416600160801b029084166fffffffffffffffffffffffffffffffff19909316929092179092161790915590517f43e2539cfab38f0e3b5d0648103e367b0d65bdc181c37c6753066ba4e79f05b2906102e6908590610fce565b60405180910390a26001600160a01b038116156103075761030785826108cd565b5050505050565b505050505050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461035e5760405162461bcd60e51b815260040161020b90610f80565b6000816001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561039957600080fd5b505afa1580156103ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103d19190610cd9565b111561042e576001600160a01b03821660008181526001602052604080822080546001600160801b03428116600160801b029116179055517f8f1e8a779dce142f8b8b45e1747798edee9623be81f2f411496f3b49eb67bc369190a25b5050565b600080600183600381111561044357fe5b148061045a5750600383600381111561045857fe5b145b806104705750600083600381111561046e57fe5b145b156104815750600190506000610488565b5060009050805b915091565b60008080336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104d95760405162461bcd60e51b815260040161020b90610f80565b6001600160a01b03891660009081526001602052604081208054909190610511904290600160801b90046001600160801b0316610924565b90508061052a5760008060009450945094505050610714565b60008a90506000816001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561056a57600080fd5b505afa15801561057e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105a29190610cd9565b90508015610684576000610632836001600160a01b03166370a082318f6040518263ffffffff1660e01b81526004016105db9190610f01565b60206040518083038186803b1580156105f357600080fd5b505afa158015610607573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061062b9190610cd9565b8390610924565b9050801561068257845461067f906b033b2e3c9fd0803ce8000000906106799061067290839061066c906001600160801b03168a8361094c565b90610924565b8490610a0c565b90610a46565b95505b505b6001600160a01b038d166000818152600160205260409081902080546001600160801b03428116600160801b029116179055517f468aeeec0e901c52363552a06c1e39331d44c3cc886eb200af127ded3f380f82906106e69088908790610fdc565b60405180910390a28461070757600080600096509650965050505050610714565b6002600096509650505050505b96509650969350505050565b600061072b82610a78565b90505b919050565b61073b610a96565b506001600160a01b03166000908152600160209081526040918290208251808401909352546001600160801b038082168452600160801b909104169082015290565b816001600160a01b031663c98091876040518163ffffffff1660e01b815260040160206040518083038186803b1580156107b657600080fd5b505afa1580156107ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ee9190610b5e565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561082657600080fd5b505afa15801561083a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061085e9190610b5e565b6001600160a01b0316336001600160a01b03161461088e5760405162461bcd60e51b815260040161020b90610fb0565b61042e82826108cd565b60005b92915050565b600080915091565b7f000000000000000000000000000000000000000000000000000000000000000090565b6001600160a01b0382811660008181526020819052604080822080546001600160a01b0319169486169485179055517fa11fc98cfb391622348acc16de92f0efb77d55f71a6e9fa18bfef387ae8d19ce9190a35050565b6000828211156109465760405162461bcd60e51b815260040161020b90610f60565b50900390565b60008380156109ed576001841680156109675785925061096b565b8392505b50600283046002850494505b84156109e757858602868782041461098e57600080fd5b8181018181101561099e57600080fd5b858104975060028706156109da5787850285898204141589151516156109c357600080fd5b838101818110156109d357600080fd5b8790049550505b5050600285049450610977565b50610a03565b8380156109fd5760009250610a01565b8392505b505b505b9392505050565b600082610a1b5750600061089b565b82820282848281610a2857fe5b0414610a055760405162461bcd60e51b815260040161020b90610f90565b6000808211610a675760405162461bcd60e51b815260040161020b90610f70565b818381610a7057fe5b049392505050565b6001600160a01b039081166000908152602081905260409020541690565b604080518082019091526000808252602082015290565b803561089b8161104d565b805161089b8161104d565b60008083601f840112610ad557600080fd5b50813567ffffffffffffffff811115610aed57600080fd5b602083019150836001820283011115610b0557600080fd5b9250929050565b803561089b81611061565b803561089b8161106e565b803561089b81611077565b805161089b81611077565b600060208284031215610b4a57600080fd5b6000610b568484610aad565b949350505050565b600060208284031215610b7057600080fd5b6000610b568484610ab8565b60008060408385031215610b8f57600080fd5b6000610b9b8585610aad565b9250506020610bac85828601610aad565b9150509250929050565b60008060008060008060a08789031215610bcf57600080fd5b6000610bdb8989610aad565b9650506020610bec89828a01610aad565b9550506040610bfd89828a01610b0c565b945050606087013567ffffffffffffffff811115610c1a57600080fd5b610c2689828a01610ac3565b93509350506080610c3989828a01610b22565b9150509295509295509295565b600080600060408486031215610c5b57600080fd5b6000610c678686610aad565b935050602084013567ffffffffffffffff811115610c8457600080fd5b610c9086828701610ac3565b92509250509250925092565b600060208284031215610cae57600080fd5b6000610b568484610b0c565b60008060408385031215610ccd57600080fd5b6000610b9b8585610b17565b600060208284031215610ceb57600080fd5b6000610b568484610b2d565b610d0081611000565b82525050565b610d008161100b565b610d0081611035565b6000610d25601e83610ff7565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000610d5e601a83610ff7565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b6000610d97602583610ff7565b7f4f6e6c7920746865204665654d616e6765722063616e206d616b6520746869738152640818d85b1b60da1b602082015260400192915050565b6000610dde602183610ff7565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000610e21603b83610ff7565b7f61646446756e6453657474696e67733a207363616c65645065725365636f6e6481527f52617465206d7573742062652067726561746572207468616e20300000000000602082015260400192915050565b6000610e80603083610ff7565b7f5f5f736574526563697069656e74466f7246756e643a204f6e6c79207661756c81526f74206f776e65722063616c6c61626c6560801b602082015260400192915050565b80516040830190610ed68482610eef565b506020820151610ee96020850182610eef565b50505050565b610d008161101a565b610d0081611032565b6020810161089b8284610cf7565b6020810161089b8284610d06565b60408101610f2b8285610d06565b610a056020830184610d06565b60608101610f468286610d0f565b610f536020830185610cf7565b610b566040830184610ef8565b6020808252810161072b81610d18565b6020808252810161072b81610d51565b6020808252810161072b81610d8a565b6020808252810161072b81610dd1565b6020808252810161072b81610e14565b6020808252810161072b81610e73565b6040810161089b8284610ec5565b6020810161089b8284610eef565b60408101610fea8285610ef8565b610a056020830184610ef8565b90815260200190565b600061072b82611026565b151590565b8061072e81611040565b6001600160801b031690565b6001600160a01b031690565b90565b600061072b82611010565b6006811061104a57fe5b50565b61105681611000565b811461104a57600080fd5b6004811061104a57600080fd5b6110568161101a565b6110568161103256fea164736f6c634300060c000a", "sourceMap": "683:6759:149:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2384:776;;;;;;:::i;:::-;;:::i;:::-;;1755:175:154;;;;;;:::i;:::-;;:::i;1731:448:149:-;;;;;;:::i;:::-;;:::i;6101:425::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;3498:2339;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;:::i;6737:264::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;7242:198::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;883:369:156:-;;;;;;:::i;:::-;;:::i;1490:104:154:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;2232:196::-;;;;;;:::i;:::-;;:::i;3806:104::-;;;:::i;2384:776:149:-;564:10:154;-1:-1:-1;;;;;578:11:154;564:25;;556:75;;;;-1:-1:-1;;;556:75:154;;;;;;;:::i;:::-;;;;;;;;;2538:27:149::1;::::0;2588:79:::1;::::0;;::::1;2612:13:::0;2588:79:::1;:::i;:::-;2537:130;;;;2720:1;2698:19;-1:-1:-1::0;;;;;2698:23:149::1;;2677:129;;;;-1:-1:-1::0;;;2677:129:149::1;;;;;;;:::i;:::-;2864:101;::::0;;;;::::1;::::0;;-1:-1:-1;;;;;2864:101:149;;::::1;::::0;;-1:-1:-1;2864:101:149::1;::::0;;::::1;::::0;;;-1:-1:-1;;;;;2817:44:149;::::1;::::0;;;:25:::1;:44:::0;;;;;;;:148;;;;;;;::::1;-1:-1:-1::0;;;2817:148:149::1;::::0;;::::1;-1:-1:-1::0;;2817:148:149;;::::1;::::0;;;::::1;::::0;;::::1;;::::0;;;2981:57;;::::1;::::0;::::1;::::0;2907:19;;2981:57:::1;:::i;:::-;;;;;;;;-1:-1:-1::0;;;;;3053:23:149;::::1;::::0;3049:105:::1;;3092:51;3114:17;3133:9;3092:21;:51::i;:::-;641:1:154;;2384:776:149::0;;;:::o;1755:175:154:-;;;;;;;:::o;1731:448:149:-;564:10:154;-1:-1:-1;;;;;578:11:154;564:25;;556:75;;;;-1:-1:-1;;;556:75:154;;;;;;;:::i;:::-;1999:1:149::1;1969:11;-1:-1:-1::0;;;;;1952:42:149::1;;:44;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:48;1948:225;;;-1:-1:-1::0;;;;;2016:44:149;::::1;;::::0;;;:25:::1;:44;::::0;;;;;:83;;-1:-1:-1;;;;;2083:15:149::1;2016:83:::0;::::1;-1:-1:-1::0;;;2016:83:149::1;::::0;::::1;;::::0;;2119:43;::::1;::::0;2016:44;2119:43:::1;1948:225;1731:448:::0;;:::o;6101:425::-;6215:13;;6285:32;6276:5;:41;;;;;;;;;:101;;;-1:-1:-1;6342:35:149;6333:5;:44;;;;;;;;;6276:101;:156;;;-1:-1:-1;6402:30:149;6393:5;:39;;;;;;;;;6276:156;6259:229;;;-1:-1:-1;6465:4:149;;-1:-1:-1;6471:5:149;6457:20;;6259:229;-1:-1:-1;6506:5:149;;-1:-1:-1;6506:5:149;6101:425;;;;:::o;3498:2339::-;3741:42;;;564:10:154;-1:-1:-1;;;;;578:11:154;564:25;;556:75;;;;-1:-1:-1;;;556:75:154;;;;;;;:::i;:::-;-1:-1:-1;;;;;3887:44:149;::::1;3861:23;3887:44:::0;;;:25:::1;:44;::::0;;;;4072:19;;3887:44;;3861:23;4052:40:::1;::::0;:15:::1;::::0;-1:-1:-1;;;4072:19:149;::::1;-1:-1:-1::0;;;;;4072:19:149::1;4052;:40::i;:::-;4019:73:::0;-1:-1:-1;4106:27:149;4102:113:::1;;4157:31;4198:1:::0;4202::::1;4149:55;;;;;;;;;;4102:113;4302:27;4349:11;4302:60;;4372:20;4395:18;-1:-1:-1::0;;;;;4395:30:149::1;;:32;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4372:55:::0;-1:-1:-1;4441:16:149;;4437:788:::1;;4708:23;4734:59;4751:18;-1:-1:-1::0;;;;;4751:28:149::1;;4780:11;4751:41;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4734:12:::0;;:16:::1;:59::i;:::-;4708:85:::0;-1:-1:-1;4811:19:149;;4807:408:::1;;4965:27:::0;;4863:337:::1;::::0;1389:6:::1;::::0;4863:295:::1;::::0;4929:207:::1;::::0;1389:6;;4929:186:::1;::::0;-1:-1:-1;;;;;4965:27:149::1;5022:22:::0;1389:6;4929::::1;:186::i;:::-;:190:::0;::::1;:207::i;:::-;4863:15:::0;;:40:::1;:295::i;:::-;:320:::0;::::1;:337::i;:::-;4850:350;;4807:408;4437:788;;-1:-1:-1::0;;;;;5484:44:149;::::1;;::::0;;;:25:::1;:44;::::0;;;;;;:83;;-1:-1:-1;;;;;5551:15:149::1;5484:83:::0;::::1;-1:-1:-1::0;;;5484:83:149::1;::::0;::::1;;::::0;;5582:62;::::1;::::0;::::1;::::0;5609:10;;5621:22;;5582:62:::1;:::i;:::-;;;;;;;;5659:15:::0;5655:101:::1;;5698:31;5739:1:::0;5743::::1;5690:55;;;;;;;;;;;;5655:101;5774:31;5815:1;5766:64;;;;;;;;641:1:154;3498:2339:149::0;;;;;;;;;;:::o;6737:264::-;6890:18;6931:63;6976:17;6931:44;:63::i;:::-;6924:70;;6737:264;;;;:::o;7242:198::-;7343:23;;:::i;:::-;-1:-1:-1;;;;;;7389:44:149;;;;;:25;:44;;;;;;;;;7382:51;;;;;;;;;-1:-1:-1;;;;;7382:51:149;;;;;-1:-1:-1;;;7382:51:149;;;;;;;;;7242:198::o;883:369:156:-;1061:17;-1:-1:-1;;;;;1046:47:156;;:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1029:77:156;;:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;999:109:156;:10;-1:-1:-1;;;;;999:109:156;;978:204;;;;-1:-1:-1;;;978:204:156;;;;;;;:::i;:::-;1193:52;1215:17;1234:10;1193:21;:52::i;1490:104:154:-;1559:4;1490:104;;;;;:::o;2232:196::-;2356:13;;2232:196;;;:::o;3806:104::-;3892:11;3806:104;:::o;715:229:155:-;-1:-1:-1;;;;;812:46:155;;;:27;:46;;;;;;;;;;;:59;;-1:-1:-1;;;;;;812:59:155;;;;;;;;;887:50;;;812:27;887:50;715:229;;:::o;3136:155:442:-;3194:7;3226:1;3221;:6;;3213:49;;;;-1:-1:-1;;;3213:49:442;;;;;;;:::i;:::-;-1:-1:-1;3279:5:442;;;3136:155::o;1233:1086:359:-;1311:10;1363:2;1366:57;;;;1469:10;;;1480:22;;;;1519:2;1513:8;;1462:61;;1480:22;1495:5;1489:11;;1462:61;;1563:1;1556:5;1552:13;1602:1;1598:2;1594:10;1588:16;;1582:687;1607:2;1582:687;;;1670:2;1666;1662:11;1720:2;1715;1711;1707:11;1704:19;1694:2;;1736:1;1734;1727:11;1694:2;1784:4;1780:2;1776:13;1825:2;1816:7;1813:15;1810:2;;;1840:1;1838;1831:11;1810:2;1884:5;1875:7;1871:19;1865:25;;1921:1;1918:2;1914:9;1911:2;;;1968;1964;1960:11;2046:2;2041;2037;2033:11;2030:19;2023:27;2017:2;2010:10;2003:18;1999:52;1996:2;;;2063:1;2061;2054:11;1996:2;2115:4;2111:2;2107:13;2160:2;2151:7;2148:15;2145:2;;;2175:1;2173;2166:11;2145:2;2210:19;;;;-1:-1:-1;;1911:2:359;1630:639;;1625:1;1622:2;1618:9;1612:15;;1582:687;;;1444:839;1356:927;;1366:57;1381:2;1384:20;;;;1420:1;1414:7;;1374:48;;1384:20;1398:5;1392:11;;1374:48;;1356:927;;1233:1086;;;;;;:::o;3538:215:442:-;3596:7;3619:6;3615:20;;-1:-1:-1;3634:1:442;3627:8;;3615:20;3657:5;;;3661:1;3657;:5;:1;3680:5;;;;;:10;3672:56;;;;-1:-1:-1;;;3672:56:442;;;;;;;:::i;4217:150::-;4275:7;4306:1;4302;:5;4294:44;;;;-1:-1:-1;;;4294:44:442;;;;;;;:::i;:::-;4359:1;4355;:5;;;;;;;4217:150;-1:-1:-1;;;4217:150:442:o;1258:211:155:-;-1:-1:-1;;;;;1416:46:155;;;1375:18;1416:46;;;;;;;;;;;;;1258:211::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;:::o;5:130::-;72:20;;97:33;72:20;97:33;:::i;142:134::-;220:13;;238:33;220:13;238:33;:::i;450:336::-;;;564:3;557:4;549:6;545:17;541:27;531:2;;582:1;579;572:12;531:2;-1:-1;602:20;;642:18;631:30;;628:2;;;674:1;671;664:12;628:2;708:4;700:6;696:17;684:29;;759:3;751:4;743:6;739:17;729:8;725:32;722:41;719:2;;;776:1;773;766:12;719:2;524:262;;;;;:::o;794:156::-;874:20;;899:46;874:20;899:46;:::i;957:130::-;1024:20;;1049:33;1024:20;1049:33;:::i;1094:130::-;1161:20;;1186:33;1161:20;1186:33;:::i;1231:134::-;1309:13;;1327:33;1309:13;1327:33;:::i;1372:241::-;;1476:2;1464:9;1455:7;1451:23;1447:32;1444:2;;;1492:1;1489;1482:12;1444:2;1527:1;1544:53;1589:7;1569:9;1544:53;:::i;:::-;1534:63;1438:175;-1:-1;;;;1438:175::o;1620:263::-;;1735:2;1723:9;1714:7;1710:23;1706:32;1703:2;;;1751:1;1748;1741:12;1703:2;1786:1;1803:64;1859:7;1839:9;1803:64;:::i;1890:366::-;;;2011:2;1999:9;1990:7;1986:23;1982:32;1979:2;;;2027:1;2024;2017:12;1979:2;2062:1;2079:53;2124:7;2104:9;2079:53;:::i;:::-;2069:63;;2041:97;2169:2;2187:53;2232:7;2223:6;2212:9;2208:22;2187:53;:::i;:::-;2177:63;;2148:98;1973:283;;;;;:::o;2263:893::-;;;;;;;2467:3;2455:9;2446:7;2442:23;2438:33;2435:2;;;2484:1;2481;2474:12;2435:2;2519:1;2536:53;2581:7;2561:9;2536:53;:::i;:::-;2526:63;;2498:97;2626:2;2644:53;2689:7;2680:6;2669:9;2665:22;2644:53;:::i;:::-;2634:63;;2605:98;2734:2;2752:66;2810:7;2801:6;2790:9;2786:22;2752:66;:::i;:::-;2742:76;;2713:111;2883:2;2872:9;2868:18;2855:32;2907:18;2899:6;2896:30;2893:2;;;2939:1;2936;2929:12;2893:2;2967:64;3023:7;3014:6;3003:9;2999:22;2967:64;:::i;:::-;2949:82;;;;2834:203;3068:3;3087:53;3132:7;3123:6;3112:9;3108:22;3087:53;:::i;:::-;3077:63;;3047:99;2429:727;;;;;;;;:::o;3163:490::-;;;;3303:2;3291:9;3282:7;3278:23;3274:32;3271:2;;;3319:1;3316;3309:12;3271:2;3354:1;3371:53;3416:7;3396:9;3371:53;:::i;:::-;3361:63;;3333:97;3489:2;3478:9;3474:18;3461:32;3513:18;3505:6;3502:30;3499:2;;;3545:1;3542;3535:12;3499:2;3573:64;3629:7;3620:6;3609:9;3605:22;3573:64;:::i;:::-;3555:82;;;;3440:203;3265:388;;;;;:::o;3660:267::-;;3777:2;3765:9;3756:7;3752:23;3748:32;3745:2;;;3793:1;3790;3783:12;3745:2;3828:1;3845:66;3903:7;3883:9;3845:66;:::i;3934:382::-;;;4063:2;4051:9;4042:7;4038:23;4034:32;4031:2;;;4079:1;4076;4069:12;4031:2;4114:1;4131:53;4176:7;4156:9;4131:53;:::i;4323:263::-;;4438:2;4426:9;4417:7;4413:23;4409:32;4406:2;;;4454:1;4451;4444:12;4406:2;4489:1;4506:64;4562:7;4542:9;4506:64;:::i;4593:113::-;4676:24;4694:5;4676:24;:::i;:::-;4671:3;4664:37;4658:48;;:::o;4713:104::-;4790:21;4805:5;4790:21;:::i;4824:162::-;4925:55;4974:5;4925:55;:::i;4994:330::-;;5154:67;5218:2;5213:3;5154:67;:::i;:::-;5254:32;5234:53;;5315:2;5306:12;;5140:184;-1:-1;;5140:184::o;5333:326::-;;5493:67;5557:2;5552:3;5493:67;:::i;:::-;5593:28;5573:49;;5650:2;5641:12;;5479:180;-1:-1;;5479:180::o;5668:374::-;;5828:67;5892:2;5887:3;5828:67;:::i;:::-;5928:34;5908:55;;-1:-1;;;5992:2;5983:12;;5976:29;6033:2;6024:12;;5814:228;-1:-1;;5814:228::o;6051:370::-;;6211:67;6275:2;6270:3;6211:67;:::i;:::-;6311:34;6291:55;;-1:-1;;;6375:2;6366:12;;6359:25;6412:2;6403:12;;6197:224;-1:-1;;6197:224::o;6430:396::-;;6590:67;6654:2;6649:3;6590:67;:::i;:::-;6690:34;6670:55;;6759:29;6754:2;6745:12;;6738:51;6817:2;6808:12;;6576:250;-1:-1;;6576:250::o;6835:385::-;;6995:67;7059:2;7054:3;6995:67;:::i;:::-;7095:34;7075:55;;-1:-1;;;7159:2;7150:12;;7143:40;7211:2;7202:12;;6981:239;-1:-1;;6981:239::o;7295:500::-;7521:23;;7440:4;7431:14;;;7550:63;7435:3;7521:23;7550:63;:::i;:::-;7460:159;7699:4;7692:5;7688:16;7682:23;7711:63;7768:4;7763:3;7759:14;7745:12;7711:63;:::i;:::-;7629:151;7413:382;;;:::o;7802:103::-;7875:24;7893:5;7875:24;:::i;8032:113::-;8115:24;8133:5;8115:24;:::i;8152:222::-;8279:2;8264:18;;8293:71;8268:9;8337:6;8293:71;:::i;8381:210::-;8502:2;8487:18;;8516:65;8491:9;8554:6;8516:65;:::i;8598:309::-;8741:2;8726:18;;8755:65;8730:9;8793:6;8755:65;:::i;:::-;8831:66;8893:2;8882:9;8878:18;8869:6;8831:66;:::i;8914:480::-;9115:2;9100:18;;9129:89;9104:9;9191:6;9129:89;:::i;:::-;9229:72;9297:2;9286:9;9282:18;9273:6;9229:72;:::i;:::-;9312;9380:2;9369:9;9365:18;9356:6;9312:72;:::i;9401:416::-;9601:2;9615:47;;;9586:18;;9676:131;9586:18;9676:131;:::i;9824:416::-;10024:2;10038:47;;;10009:18;;10099:131;10009:18;10099:131;:::i;10247:416::-;10447:2;10461:47;;;10432:18;;10522:131;10432:18;10522:131;:::i;10670:416::-;10870:2;10884:47;;;10855:18;;10945:131;10855:18;10945:131;:::i;11093:416::-;11293:2;11307:47;;;11278:18;;11368:131;11278:18;11368:131;:::i;11516:416::-;11716:2;11730:47;;;11701:18;;11791:131;11701:18;11791:131;:::i;11939:326::-;12118:2;12103:18;;12132:123;12107:9;12228:6;12132:123;:::i;12272:222::-;12399:2;12384:18;;12413:71;12388:9;12457:6;12413:71;:::i;12501:333::-;12656:2;12641:18;;12670:71;12645:9;12714:6;12670:71;:::i;:::-;12752:72;12820:2;12809:9;12805:18;12796:6;12752:72;:::i;12842:163::-;12945:19;;;12994:4;12985:14;;12938:67::o;13013:91::-;;13075:24;13093:5;13075:24;:::i;13217:85::-;13283:13;13276:21;;13259:43::o;13309:146::-;13391:5;13397:53;13391:5;13397:53;:::i;13462:113::-;-1:-1;;;;;13524:46;;13507:68::o;13582:121::-;-1:-1;;;;;13644:54;;13627:76::o;13710:72::-;13772:5;13755:27::o;13789:146::-;;13886:44;13924:5;13886:44;:::i;13942:111::-;14031:1;14024:5;14021:12;14011:2;;14037:9;14011:2;14005:48;:::o;14060:117::-;14129:24;14147:5;14129:24;:::i;:::-;14122:5;14119:35;14109:2;;14168:1;14165;14158:12;14324:107;14406:1;14399:5;14396:12;14386:2;;14422:1;14419;14412:12;14438:117;14507:24;14525:5;14507:24;:::i;14562:117::-;14631:24;14649:5;14631:24;:::i", "linkReferences": {}, "immutableReferences": { "40426": [ { "start": 462, "length": 32 }, { "start": 801, "length": 32 }, { "start": 1180, "length": 32 }, { "start": 2219, "length": 32 } ] } }, "methodIdentifiers": { "activateForFund(address,address)": "3146d058", "addFundSettings(address,bytes)": "0f5f6b4f", "getFeeInfoForFund(address)": "877fd473", "getFeeManager()": "f2d63826", "getRecipientForFund(address)": "62780b3c", "payout(address,address)": "b78b4813", "setRecipientForFund(address,address)": "8c55f80f", "settle(address,address,uint8,bytes,uint256)": "41892d7e", "settlesOnHook(uint8)": "320f0ddd", "update(address,address,uint8,bytes,uint256)": "233faf5f", "updatesOnHook(uint8)": "e337a91f" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_feeManager\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"}],\"name\":\"ActivatedForMigratedFund\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint128\",\"name\":\"scaledPerSecondRate\",\"type\":\"uint128\"}],\"name\":\"FundSettingsAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"}],\"name\":\"RecipientSetForFund\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"sharesQuantity\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"secondsSinceSettlement\",\"type\":\"uint256\"}],\"name\":\"Settled\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"}],\"name\":\"activateForFund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_settingsData\",\"type\":\"bytes\"}],\"name\":\"addFundSettings\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"}],\"name\":\"getFeeInfoForFund\",\"outputs\":[{\"components\":[{\"internalType\":\"uint128\",\"name\":\"scaledPerSecondRate\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"lastSettled\",\"type\":\"uint128\"}],\"internalType\":\"struct ManagementFee.FeeInfo\",\"name\":\"feeInfo_\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFeeManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"feeManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"}],\"name\":\"getRecipientForFund\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"recipient_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"payout\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_recipient\",\"type\":\"address\"}],\"name\":\"setRecipientForFund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"enum IFeeManager.FeeHook\",\"name\":\"\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"settle\",\"outputs\":[{\"internalType\":\"enum IFeeManager.SettlementType\",\"name\":\"settlementType_\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"sharesDue_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IFeeManager.FeeHook\",\"name\":\"_hook\",\"type\":\"uint8\"}],\"name\":\"settlesOnHook\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"settles_\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"usesGav_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"enum IFeeManager.FeeHook\",\"name\":\"\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"update\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IFeeManager.FeeHook\",\"name\":\"\",\"type\":\"uint8\"}],\"name\":\"updatesOnHook\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"updates_\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"usesGav_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"activateForFund(address,address)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\",\"_vaultProxy\":\"The VaultProxy of the fund\"}},\"addFundSettings(address,bytes)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\",\"_settingsData\":\"Encoded settings to apply to the fee for a fund\"}},\"getFeeInfoForFund(address)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy contract of the fund\"},\"returns\":{\"feeInfo_\":\"The feeInfo\"}},\"getFeeManager()\":{\"returns\":{\"feeManager_\":\"The `FEE_MANAGER` variable value\"}},\"getRecipientForFund(address)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy contract for the fund\"},\"returns\":{\"recipient_\":\"The recipient\"}},\"payout(address,address)\":{\"details\":\"Returns false by default, can be overridden by fee\"},\"setRecipientForFund(address,address)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy contract for the fund\",\"_recipient\":\"The fee recipient\"}},\"settle(address,address,uint8,bytes,uint256)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\",\"_vaultProxy\":\"The VaultProxy of the fund\"},\"returns\":{\"_1\":\"(unused) The payer of shares due\",\"settlementType_\":\"The type of settlement\",\"sharesDue_\":\"The amount of shares due\"}},\"settlesOnHook(uint8)\":{\"params\":{\"_hook\":\"The FeeHook\"},\"returns\":{\"settles_\":\"True if the fee settles on the _hook\",\"usesGav_\":\"True if the fee uses GAV during settle() for the _hook\"}},\"update(address,address,uint8,bytes,uint256)\":{\"details\":\"Unimplemented by default, can be overridden by fee\"},\"updatesOnHook(uint8)\":{\"details\":\"Returns false values by default, can be overridden by fee\",\"returns\":{\"updates_\":\"True if the fee updates on the _hook\",\"usesGav_\":\"True if the fee uses GAV during update() for the _hook\"}}},\"title\":\"ManagementFee Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"activateForFund(address,address)\":{\"notice\":\"Activates the fee for a fund\"},\"addFundSettings(address,bytes)\":{\"notice\":\"Add the initial fee settings for a fund\"},\"getFeeInfoForFund(address)\":{\"notice\":\"Gets the feeInfo for a given fund\"},\"getFeeManager()\":{\"notice\":\"Gets the `FEE_MANAGER` variable\"},\"getRecipientForFund(address)\":{\"notice\":\"Gets the recipient of the fee for a given fund\"},\"payout(address,address)\":{\"notice\":\"Runs payout logic for a fee that utilizes shares outstanding as its settlement type\"},\"setRecipientForFund(address,address)\":{\"notice\":\"Sets the fee recipient for the given fund\"},\"settle(address,address,uint8,bytes,uint256)\":{\"notice\":\"Settle the fee and calculate shares due\"},\"settlesOnHook(uint8)\":{\"notice\":\"Gets whether the fee settles and requires GAV on a particular hook\"},\"update(address,address,uint8,bytes,uint256)\":{\"notice\":\"Update fee state after all settlement has occurred during a given fee hook\"},\"updatesOnHook(uint8)\":{\"notice\":\"Gets whether the fee updates and requires GAV on a particular hook\"}},\"notice\":\"A management fee with a configurable annual rate\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/fee-manager/fees/ManagementFee.sol\":\"ManagementFee\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/persistent/protocol-fee-reserve/interfaces/IProtocolFeeReserve1.sol\":{\"keccak256\":\"0x2728878c423db523bc95189137e8c58d2d7db9f56bbd5c6b1f988c08b551fbab\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3b0df1d2eb74151265d03ab91a7c341f7beca475dd2f4d669052dbc4ee2c06ac\",\"dweb:/ipfs/QmVx1cgrxQNYfdK1Kn15pcgqf79Uw8bF3U6i7F2HG2rj6G\"]},\"contracts/persistent/vault/VaultLibBase1.sol\":{\"keccak256\":\"0xa4dac1e4cdb311a2ab187135355357d8790c505ef36dd912c057fe53743d30b5\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b66efe821016ab927c949263023260515e90f5d480dc8d94eefbfeec7bf7490b\",\"dweb:/ipfs/QmNY3xKnhL9EptAbxGvXHGAXfV9pj3dDPwsZnKrPs54ZHw\"]},\"contracts/persistent/vault/VaultLibBase2.sol\":{\"keccak256\":\"0xf7d31f2a9a47770ed3f444be2c4fe9262ddb55fef7f25e546b1f03c9afec4c09\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9353ddce7c9b8b3c13fed23fe8edec99ca610d791b0c5b204b3d01f1f08d07d2\",\"dweb:/ipfs/QmeVsEh3joCjv49BRXeHASevnZZ5xdZXpkctHT8BPf37N2\"]},\"contracts/persistent/vault/VaultLibBaseCore.sol\":{\"keccak256\":\"0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd\",\"dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz\"]},\"contracts/persistent/vault/interfaces/IExternalPositionVault.sol\":{\"keccak256\":\"0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d\",\"dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8\"]},\"contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol\":{\"keccak256\":\"0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb\",\"dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU\"]},\"contracts/persistent/vault/interfaces/IMigratableVault.sol\":{\"keccak256\":\"0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6\",\"dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs\"]},\"contracts/persistent/vault/interfaces/IVaultCore.sol\":{\"keccak256\":\"0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd\",\"dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr\"]},\"contracts/persistent/vault/utils/ProxiableVaultLib.sol\":{\"keccak256\":\"0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44\",\"dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4\"]},\"contracts/persistent/vault/utils/SharesTokenBase.sol\":{\"keccak256\":\"0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8\",\"dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4\"]},\"contracts/persistent/vault/utils/VaultLibSafeMath.sol\":{\"keccak256\":\"0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02\",\"dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG\"]},\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/core/fund/comptroller/ComptrollerLib.sol\":{\"keccak256\":\"0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579\",\"dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq\"]},\"contracts/release/core/fund/comptroller/IComptroller.sol\":{\"keccak256\":\"0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97\",\"dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L\"]},\"contracts/release/core/fund/vault/IVault.sol\":{\"keccak256\":\"0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599\",\"dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG\"]},\"contracts/release/core/fund/vault/VaultLib.sol\":{\"keccak256\":\"0x07e49445ab55c01e1b499a48baadc2a15d1eba621f1c6d3ccfdb84c87b976da8\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://56d882459248f73e137db2e097fc56b946147fb28ec21661b77431f88e856cb4\",\"dweb:/ipfs/QmRP6Ry7DCS5uoKxnnkTomHSzbaCze6cHqbR9aLdjoF6vK\"]},\"contracts/release/extensions/IExtension.sol\":{\"keccak256\":\"0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70\",\"dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t\"]},\"contracts/release/extensions/external-position-manager/IExternalPositionManager.sol\":{\"keccak256\":\"0x3af3f634e1f99fb97091b7825c0d2e2baaafc124d4e87d56cb0c17ff8554f6c6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://515470605afe5ef147f30fa75ce7818f0e00e3d321eb81a4d9bffcdefc294495\",\"dweb:/ipfs/QmPKsp99pfHoz9Tfo3ZxnkmqDqJtN9PxqacF2RmeVfxUJF\"]},\"contracts/release/extensions/fee-manager/IFee.sol\":{\"keccak256\":\"0x38e3f324c67f3205e38197165586ea82ca226069902f34214bcde76cf905fcff\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c1fff656d1bdde3324421bc9e77cbfc4e80baf4e665f8713fdb65611b046f4b0\",\"dweb:/ipfs/QmVRFjNwmsVHdh4sp3DWdL74VWmhRhPZE5kDxJiuPL8Gu2\"]},\"contracts/release/extensions/fee-manager/IFeeManager.sol\":{\"keccak256\":\"0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22\",\"dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod\"]},\"contracts/release/extensions/fee-manager/fees/ManagementFee.sol\":{\"keccak256\":\"0x13dd936363737ba575ec468e7556b28e427258096cb77a824af6d078a8a4c963\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://406ff2149d7fc08528f265ae14073f95a2ab9b66221059d8dca45dc9fc848b94\",\"dweb:/ipfs/QmVUBtY9dsNyWrUe94DUe154p4X5XeFf1cKmR2Kguax5T2\"]},\"contracts/release/extensions/fee-manager/fees/utils/FeeBase.sol\":{\"keccak256\":\"0x485c03e3088b6dc9828d2e895cce6856501448b4a2c71a0acae4e012bc644b14\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b63aef3cd20eb4dd585632c74619235ef1d5c3c2c52fd61f8802d0a50569b767\",\"dweb:/ipfs/QmSuTYChj2j8NnLYCg47feAJ5P9NheQpK46fG6fhmMtimA\"]},\"contracts/release/extensions/fee-manager/fees/utils/SettableFeeRecipientBase.sol\":{\"keccak256\":\"0xb3b4b3cd13141871c912310ce1dace2e94f89eee7a52b95d4df9e4642a958f4d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b120324be26eddebb2fd5d15ecdbef4bfc5a5bbd05bd60796677157480842aa1\",\"dweb:/ipfs/Qmab9XnYHvG3zWtQaTee24qU7VK94MMLySPkrZqDBbB5NN\"]},\"contracts/release/extensions/fee-manager/fees/utils/UpdatableFeeRecipientBase.sol\":{\"keccak256\":\"0xac875e8923b29be8e697be04177b56d3f75d0ef4a56bc0cec2d2583efd802064\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://99d359ece6663298f925765b7558beb694bf3dbe3831fc60e016fd37b10d358c\",\"dweb:/ipfs/QmduCuit88g1HEb9HxF1aH82Ezx388M5CBLfUfLraKgcfA\"]},\"contracts/release/extensions/policy-manager/IPolicyManager.sol\":{\"keccak256\":\"0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa\",\"dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb\"]},\"contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol\":{\"keccak256\":\"0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f\",\"dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol\":{\"keccak256\":\"0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0\",\"dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol\":{\"keccak256\":\"0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b\",\"dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3\"]},\"contracts/release/infrastructure/protocol-fees/IProtocolFeeTracker.sol\":{\"keccak256\":\"0x232b347f83457439064add7369bfe1930c7cb56f15930bb87d640e909c15e447\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://24f9af5eebdd373b1d7a598c096eb6def31b2640d54416d7d5a7226e1cef17e6\",\"dweb:/ipfs/QmStq9ByGuSYdKwTmZf52L1X6sZVJUfXTnoVbnjLLiUcHG\"]},\"contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol\":{\"keccak256\":\"0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965\",\"dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ\"]},\"contracts/release/interfaces/IGsnForwarder.sol\":{\"keccak256\":\"0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29\",\"dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G\"]},\"contracts/release/interfaces/IGsnPaymaster.sol\":{\"keccak256\":\"0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4\",\"dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF\"]},\"contracts/release/interfaces/IGsnTypes.sol\":{\"keccak256\":\"0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7\",\"dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C\"]},\"contracts/release/interfaces/IWETH.sol\":{\"keccak256\":\"0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2\",\"dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/MakerDaoMath.sol\":{\"keccak256\":\"0x4bee0614f0164208a5a65a371f8853976e236db1ad25e75aec4357ef96b32dcb\",\"license\":\"AGPL-3.0-or-later\",\"urls\":[\"bzz-raw://eff29315081b02fe1267e23c65b0368f07c640352e41d26b64f6a77ddd307080\",\"dweb:/ipfs/QmQH7itbaMjEt189WsKbygmwJdBrS5ghnwt94w8JRgh3mg\"]},\"contracts/release/utils/beacon-proxy/IBeacon.sol\":{\"keccak256\":\"0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39\",\"dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V\"]},\"contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol\":{\"keccak256\":\"0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be\",\"dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20Burnable.sol\":{\"keccak256\":\"0x9c0eb3b0e11d2480d49991dc384f1e5f9c9b9967cc81944d50916a9b9c6c4984\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99e4033d778624992e86f0b6d801a4f6d7b5c0cd5c79c1296be90a051ad5f5af\",\"dweb:/ipfs/QmShYmkUqh6pDEeoWadZ24icmCr4C2Xys1uE5boivPmbwf\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_feeManager", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "comptrollerProxy", "type": "address", "indexed": true } ], "type": "event", "name": "ActivatedForMigratedFund", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "comptrollerProxy", "type": "address", "indexed": true }, { "internalType": "uint128", "name": "scaledPerSecondRate", "type": "uint128", "indexed": false } ], "type": "event", "name": "FundSettingsAdded", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "comptrollerProxy", "type": "address", "indexed": true }, { "internalType": "address", "name": "recipient", "type": "address", "indexed": true } ], "type": "event", "name": "RecipientSetForFund", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "comptrollerProxy", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "sharesQuantity", "type": "uint256", "indexed": false }, { "internalType": "uint256", "name": "secondsSinceSettlement", "type": "uint256", "indexed": false } ], "type": "event", "name": "Settled", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" }, { "internalType": "address", "name": "_vaultProxy", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "activateForFund" }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" }, { "internalType": "bytes", "name": "_settingsData", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "addFundSettings" }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getFeeInfoForFund", "outputs": [ { "internalType": "struct ManagementFee.FeeInfo", "name": "feeInfo_", "type": "tuple", "components": [ { "internalType": "uint128", "name": "scaledPerSecondRate", "type": "uint128" }, { "internalType": "uint128", "name": "lastSettled", "type": "uint128" } ] } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getFeeManager", "outputs": [ { "internalType": "address", "name": "feeManager_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getRecipientForFund", "outputs": [ { "internalType": "address", "name": "recipient_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "payout", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" }, { "internalType": "address", "name": "_recipient", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "setRecipientForFund" }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" }, { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "enum IFeeManager.FeeHook", "name": "", "type": "uint8" }, { "internalType": "bytes", "name": "", "type": "bytes" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "settle", "outputs": [ { "internalType": "enum IFeeManager.SettlementType", "name": "settlementType_", "type": "uint8" }, { "internalType": "address", "name": "", "type": "address" }, { "internalType": "uint256", "name": "sharesDue_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "enum IFeeManager.FeeHook", "name": "_hook", "type": "uint8" } ], "stateMutability": "view", "type": "function", "name": "settlesOnHook", "outputs": [ { "internalType": "bool", "name": "settles_", "type": "bool" }, { "internalType": "bool", "name": "usesGav_", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "address", "name": "", "type": "address" }, { "internalType": "enum IFeeManager.FeeHook", "name": "", "type": "uint8" }, { "internalType": "bytes", "name": "", "type": "bytes" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "update" }, { "inputs": [ { "internalType": "enum IFeeManager.FeeHook", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function", "name": "updatesOnHook", "outputs": [ { "internalType": "bool", "name": "updates_", "type": "bool" }, { "internalType": "bool", "name": "usesGav_", "type": "bool" } ] } ], "devdoc": { "kind": "dev", "methods": { "activateForFund(address,address)": { "params": { "_comptrollerProxy": "The ComptrollerProxy of the fund", "_vaultProxy": "The VaultProxy of the fund" } }, "addFundSettings(address,bytes)": { "params": { "_comptrollerProxy": "The ComptrollerProxy of the fund", "_settingsData": "Encoded settings to apply to the fee for a fund" } }, "getFeeInfoForFund(address)": { "params": { "_comptrollerProxy": "The ComptrollerProxy contract of the fund" }, "returns": { "feeInfo_": "The feeInfo" } }, "getFeeManager()": { "returns": { "feeManager_": "The `FEE_MANAGER` variable value" } }, "getRecipientForFund(address)": { "params": { "_comptrollerProxy": "The ComptrollerProxy contract for the fund" }, "returns": { "recipient_": "The recipient" } }, "payout(address,address)": { "details": "Returns false by default, can be overridden by fee" }, "setRecipientForFund(address,address)": { "params": { "_comptrollerProxy": "The ComptrollerProxy contract for the fund", "_recipient": "The fee recipient" } }, "settle(address,address,uint8,bytes,uint256)": { "params": { "_comptrollerProxy": "The ComptrollerProxy of the fund", "_vaultProxy": "The VaultProxy of the fund" }, "returns": { "_1": "(unused) The payer of shares due", "settlementType_": "The type of settlement", "sharesDue_": "The amount of shares due" } }, "settlesOnHook(uint8)": { "params": { "_hook": "The FeeHook" }, "returns": { "settles_": "True if the fee settles on the _hook", "usesGav_": "True if the fee uses GAV during settle() for the _hook" } }, "update(address,address,uint8,bytes,uint256)": { "details": "Unimplemented by default, can be overridden by fee" }, "updatesOnHook(uint8)": { "details": "Returns false values by default, can be overridden by fee", "returns": { "updates_": "True if the fee updates on the _hook", "usesGav_": "True if the fee uses GAV during update() for the _hook" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "activateForFund(address,address)": { "notice": "Activates the fee for a fund" }, "addFundSettings(address,bytes)": { "notice": "Add the initial fee settings for a fund" }, "getFeeInfoForFund(address)": { "notice": "Gets the feeInfo for a given fund" }, "getFeeManager()": { "notice": "Gets the `FEE_MANAGER` variable" }, "getRecipientForFund(address)": { "notice": "Gets the recipient of the fee for a given fund" }, "payout(address,address)": { "notice": "Runs payout logic for a fee that utilizes shares outstanding as its settlement type" }, "setRecipientForFund(address,address)": { "notice": "Sets the fee recipient for the given fund" }, "settle(address,address,uint8,bytes,uint256)": { "notice": "Settle the fee and calculate shares due" }, "settlesOnHook(uint8)": { "notice": "Gets whether the fee settles and requires GAV on a particular hook" }, "update(address,address,uint8,bytes,uint256)": { "notice": "Update fee state after all settlement has occurred during a given fee hook" }, "updatesOnHook(uint8)": { "notice": "Gets whether the fee updates and requires GAV on a particular hook" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/fee-manager/fees/ManagementFee.sol": "ManagementFee" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/dispatcher/IDispatcher.sol": { "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", "urls": [ "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" ], "license": "GPL-3.0" }, "contracts/persistent/external-positions/IExternalPosition.sol": { "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", "urls": [ "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" ], "license": "GPL-3.0" }, "contracts/persistent/protocol-fee-reserve/interfaces/IProtocolFeeReserve1.sol": { "keccak256": "0x2728878c423db523bc95189137e8c58d2d7db9f56bbd5c6b1f988c08b551fbab", "urls": [ "bzz-raw://3b0df1d2eb74151265d03ab91a7c341f7beca475dd2f4d669052dbc4ee2c06ac", "dweb:/ipfs/QmVx1cgrxQNYfdK1Kn15pcgqf79Uw8bF3U6i7F2HG2rj6G" ], "license": "GPL-3.0" }, "contracts/persistent/vault/VaultLibBase1.sol": { "keccak256": "0xa4dac1e4cdb311a2ab187135355357d8790c505ef36dd912c057fe53743d30b5", "urls": [ "bzz-raw://b66efe821016ab927c949263023260515e90f5d480dc8d94eefbfeec7bf7490b", "dweb:/ipfs/QmNY3xKnhL9EptAbxGvXHGAXfV9pj3dDPwsZnKrPs54ZHw" ], "license": "GPL-3.0" }, "contracts/persistent/vault/VaultLibBase2.sol": { "keccak256": "0xf7d31f2a9a47770ed3f444be2c4fe9262ddb55fef7f25e546b1f03c9afec4c09", "urls": [ "bzz-raw://9353ddce7c9b8b3c13fed23fe8edec99ca610d791b0c5b204b3d01f1f08d07d2", "dweb:/ipfs/QmeVsEh3joCjv49BRXeHASevnZZ5xdZXpkctHT8BPf37N2" ], "license": "GPL-3.0" }, "contracts/persistent/vault/VaultLibBaseCore.sol": { "keccak256": "0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074", "urls": [ "bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd", "dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IExternalPositionVault.sol": { "keccak256": "0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6", "urls": [ "bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d", "dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol": { "keccak256": "0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0", "urls": [ "bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb", "dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IMigratableVault.sol": { "keccak256": "0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238", "urls": [ "bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6", "dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IVaultCore.sol": { "keccak256": "0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80", "urls": [ "bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd", "dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr" ], "license": "GPL-3.0" }, "contracts/persistent/vault/utils/ProxiableVaultLib.sol": { "keccak256": "0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76", "urls": [ "bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44", "dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4" ], "license": "GPL-3.0" }, "contracts/persistent/vault/utils/SharesTokenBase.sol": { "keccak256": "0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113", "urls": [ "bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8", "dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4" ], "license": "GPL-3.0" }, "contracts/persistent/vault/utils/VaultLibSafeMath.sol": { "keccak256": "0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d", "urls": [ "bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02", "dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG" ], "license": "GPL-3.0" }, "contracts/release/core/fund-deployer/IFundDeployer.sol": { "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", "urls": [ "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" ], "license": "GPL-3.0" }, "contracts/release/core/fund/comptroller/ComptrollerLib.sol": { "keccak256": "0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64", "urls": [ "bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579", "dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq" ], "license": "GPL-3.0" }, "contracts/release/core/fund/comptroller/IComptroller.sol": { "keccak256": "0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f", "urls": [ "bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97", "dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L" ], "license": "GPL-3.0" }, "contracts/release/core/fund/vault/IVault.sol": { "keccak256": "0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd", "urls": [ "bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599", "dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG" ], "license": "GPL-3.0" }, "contracts/release/core/fund/vault/VaultLib.sol": { "keccak256": "0x07e49445ab55c01e1b499a48baadc2a15d1eba621f1c6d3ccfdb84c87b976da8", "urls": [ "bzz-raw://56d882459248f73e137db2e097fc56b946147fb28ec21661b77431f88e856cb4", "dweb:/ipfs/QmRP6Ry7DCS5uoKxnnkTomHSzbaCze6cHqbR9aLdjoF6vK" ], "license": "GPL-3.0" }, "contracts/release/extensions/IExtension.sol": { "keccak256": "0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b", "urls": [ "bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70", "dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/IExternalPositionManager.sol": { "keccak256": "0x3af3f634e1f99fb97091b7825c0d2e2baaafc124d4e87d56cb0c17ff8554f6c6", "urls": [ "bzz-raw://515470605afe5ef147f30fa75ce7818f0e00e3d321eb81a4d9bffcdefc294495", "dweb:/ipfs/QmPKsp99pfHoz9Tfo3ZxnkmqDqJtN9PxqacF2RmeVfxUJF" ], "license": "GPL-3.0" }, "contracts/release/extensions/fee-manager/IFee.sol": { "keccak256": "0x38e3f324c67f3205e38197165586ea82ca226069902f34214bcde76cf905fcff", "urls": [ "bzz-raw://c1fff656d1bdde3324421bc9e77cbfc4e80baf4e665f8713fdb65611b046f4b0", "dweb:/ipfs/QmVRFjNwmsVHdh4sp3DWdL74VWmhRhPZE5kDxJiuPL8Gu2" ], "license": "GPL-3.0" }, "contracts/release/extensions/fee-manager/IFeeManager.sol": { "keccak256": "0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51", "urls": [ "bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22", "dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod" ], "license": "GPL-3.0" }, "contracts/release/extensions/fee-manager/fees/ManagementFee.sol": { "keccak256": "0x13dd936363737ba575ec468e7556b28e427258096cb77a824af6d078a8a4c963", "urls": [ "bzz-raw://406ff2149d7fc08528f265ae14073f95a2ab9b66221059d8dca45dc9fc848b94", "dweb:/ipfs/QmVUBtY9dsNyWrUe94DUe154p4X5XeFf1cKmR2Kguax5T2" ], "license": "GPL-3.0" }, "contracts/release/extensions/fee-manager/fees/utils/FeeBase.sol": { "keccak256": "0x485c03e3088b6dc9828d2e895cce6856501448b4a2c71a0acae4e012bc644b14", "urls": [ "bzz-raw://b63aef3cd20eb4dd585632c74619235ef1d5c3c2c52fd61f8802d0a50569b767", "dweb:/ipfs/QmSuTYChj2j8NnLYCg47feAJ5P9NheQpK46fG6fhmMtimA" ], "license": "GPL-3.0" }, "contracts/release/extensions/fee-manager/fees/utils/SettableFeeRecipientBase.sol": { "keccak256": "0xb3b4b3cd13141871c912310ce1dace2e94f89eee7a52b95d4df9e4642a958f4d", "urls": [ "bzz-raw://b120324be26eddebb2fd5d15ecdbef4bfc5a5bbd05bd60796677157480842aa1", "dweb:/ipfs/Qmab9XnYHvG3zWtQaTee24qU7VK94MMLySPkrZqDBbB5NN" ], "license": "GPL-3.0" }, "contracts/release/extensions/fee-manager/fees/utils/UpdatableFeeRecipientBase.sol": { "keccak256": "0xac875e8923b29be8e697be04177b56d3f75d0ef4a56bc0cec2d2583efd802064", "urls": [ "bzz-raw://99d359ece6663298f925765b7558beb694bf3dbe3831fc60e016fd37b10d358c", "dweb:/ipfs/QmduCuit88g1HEb9HxF1aH82Ezx388M5CBLfUfLraKgcfA" ], "license": "GPL-3.0" }, "contracts/release/extensions/policy-manager/IPolicyManager.sol": { "keccak256": "0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32", "urls": [ "bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa", "dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol": { "keccak256": "0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609", "urls": [ "bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f", "dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol": { "keccak256": "0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01", "urls": [ "bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0", "dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol": { "keccak256": "0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196", "urls": [ "bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b", "dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/protocol-fees/IProtocolFeeTracker.sol": { "keccak256": "0x232b347f83457439064add7369bfe1930c7cb56f15930bb87d640e909c15e447", "urls": [ "bzz-raw://24f9af5eebdd373b1d7a598c096eb6def31b2640d54416d7d5a7226e1cef17e6", "dweb:/ipfs/QmStq9ByGuSYdKwTmZf52L1X6sZVJUfXTnoVbnjLLiUcHG" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol": { "keccak256": "0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794", "urls": [ "bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965", "dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IGsnForwarder.sol": { "keccak256": "0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030", "urls": [ "bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29", "dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IGsnPaymaster.sol": { "keccak256": "0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c", "urls": [ "bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4", "dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IGsnTypes.sol": { "keccak256": "0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714", "urls": [ "bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7", "dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IWETH.sol": { "keccak256": "0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2", "urls": [ "bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2", "dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ" ], "license": "GPL-3.0" }, "contracts/release/utils/AddressArrayLib.sol": { "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", "urls": [ "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" ], "license": "GPL-3.0" }, "contracts/release/utils/MakerDaoMath.sol": { "keccak256": "0x4bee0614f0164208a5a65a371f8853976e236db1ad25e75aec4357ef96b32dcb", "urls": [ "bzz-raw://eff29315081b02fe1267e23c65b0368f07c640352e41d26b64f6a77ddd307080", "dweb:/ipfs/QmQH7itbaMjEt189WsKbygmwJdBrS5ghnwt94w8JRgh3mg" ], "license": "AGPL-3.0-or-later" }, "contracts/release/utils/beacon-proxy/IBeacon.sol": { "keccak256": "0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2", "urls": [ "bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39", "dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V" ], "license": "GPL-3.0" }, "contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol": { "keccak256": "0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc", "urls": [ "bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be", "dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20Burnable.sol": { "keccak256": "0x9c0eb3b0e11d2480d49991dc384f1e5f9c9b9967cc81944d50916a9b9c6c4984", "urls": [ "bzz-raw://99e4033d778624992e86f0b6d801a4f6d7b5c0cd5c79c1296be90a051ad5f5af", "dweb:/ipfs/QmShYmkUqh6pDEeoWadZ24icmCr4C2Xys1uE5boivPmbwf" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", "urls": [ "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Address.sol": { "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", "urls": [ "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" } }, "version": 1 }, "id": 149 } diff --git a/eth_defi/abi/enzyme/ManualValueOracleFactory.json b/eth_defi/abi/enzyme/ManualValueOracleFactory.json index 4367e598..2a32e9ce 100644 --- a/eth_defi/abi/enzyme/ManualValueOracleFactory.json +++ b/eth_defi/abi/enzyme/ManualValueOracleFactory.json @@ -1,251 +1 @@ -{ - "abi": [ - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "caller", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "proxy", - "type": "address" - } - ], - "name": "ProxyDeployed", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - }, - { - "internalType": "address", - "name": "_updater", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "_description", - "type": "bytes32" - } - ], - "name": "deploy", - "outputs": [ - { - "internalType": "address", - "name": "proxy_", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x60a060405234801561001057600080fd5b5060405161001d9061004f565b604051809103906000f080158015610039573d6000803e3d6000fd5b5060601b6001600160601b03191660805261005c565b6106ab8061055783390190565b60805160601c6104df6100786000398060da52506104df6000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063b031107914610030575b600080fd5b6100666004803603606081101561004657600080fd5b506001600160a01b03813581169160208101359091169060400135610082565b604080516001600160a01b039092168252519081900360200190f35b604080516001600160a01b03808616602483015284166044820152606480820184905282518083039091018152608490910182526020810180516001600160e01b0316631a392c5560e11b17905290516000919081907f000000000000000000000000000000000000000000000000000000000000000090610103906101e5565b8080602001836001600160a01b03168152602001828103825284818151815260200191508051906020019080838360005b8381101561014c578181015183820152602001610134565b50505050905090810190601f1680156101795780820380516001836020036101000a031916815260200191505b509350505050604051809103906000f08015801561019b573d6000803e3d6000fd5b50604080516001600160a01b0383168152905191935033917f3d2489efb661e8b1c3679865db649ca1de61d76a71184a1234de2e55786a6aad9181900360200190a2509392505050565b6102e0806101f38339019056fe60a060405234801561001057600080fd5b506040516102e03803806102e08339818101604052604081101561003357600080fd5b810190808051604051939291908464010000000082111561005357600080fd5b90830190602082018581111561006857600080fd5b825164010000000081118282018810171561008257600080fd5b82525081516020918201929091019080838360005b838110156100af578181015183820152602001610097565b50505050905090810190601f1680156100dc5780820380516001836020036101000a031916815260200191505b50604052602001805190602001909291905050508181806001600160a01b03166080816001600160a01b031660601b81525050807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5560006060826001600160a01b0316846040518082805190602001908083835b602083106101705780518252601f199092019160209182019101610151565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d80600081146101d0576040519150601f19603f3d011682016040523d82523d6000602084013e6101d5565b606091505b50915091508181906102655760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561022a578181015183820152602001610212565b50505050905090810190601f1680156102575780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5050505050505060805160601c605a6102866000398060065250605a6000f3fe60806040527f00000000000000000000000000000000000000000000000000000000000000003660008037600080366000846127105a03f43d806000803e818015604857816000f35b816000fdfea164736f6c634300060c000aa164736f6c634300060c000a608060405234801561001057600080fd5b5061068b806100206000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c80634e71e0c8116100715780634e71e0c814610165578063728e17a01461016d57806378121dd414610193578063893d20e81461019b57806399d54d39146101a35780639d54f419146101ab576100a9565b806320965255146100ae578063288b6a36146100c85780632cd56672146100ec578063347258aa1461010e5780634def985514610144575b600080fd5b6100b66101d1565b60408051918252519081900360200190f35b6100d06101de565b604080516001600160a01b039092168252519081900360200190f35b61010c6004803603602081101561010257600080fd5b503560170b6101ed565b005b61010c6004803603606081101561012457600080fd5b506001600160a01b038135811691602081013590911690604001356102c8565b61014c6103d6565b6040805192835260208301919091528051918290030190f35b61010c6103f1565b61010c6004803603602081101561018357600080fd5b50356001600160a01b0316610476565b6100b66104e9565b6100d0610500565b6100d061050f565b61010c600480360360208110156101c157600080fd5b50356001600160a01b031661051e565b600354601790810b900b90565b6000546001600160a01b031690565b6101f561050f565b6001600160a01b0316336001600160a01b03161461025a576040805162461bcd60e51b815260206004820152601960248201527f75706461746556616c75653a20556e617574686f72697a656400000000000000604482015290519081900360640190fd5b600380546001600160c01b0319166001600160c01b03601784900b8181169290921716600160c01b4267ffffffffffffffff16021790915560408051918252517f6577488b46c5d4bec17c8c7e5461e3b03f90932b44b31572d9b9cf30d21bdd8f916020908290030190a150565b60006102d2610500565b6001600160a01b03161461032d576040805162461bcd60e51b815260206004820152601960248201527f696e69743a20416c726561647920696e697469616c697a656400000000000000604482015290519081900360640190fd5b6001600160a01b03831661037d576040805162461bcd60e51b815260206004820152601260248201527134b734ba1d1022b6b83a3c902fb7bbb732b960711b604482015290519081900360640190fd5b6103868361058e565b6040805182815290517fdc73717d728bcfa015e8117438a65319aa06e979ca324afa6e1ea645c28ea15d9181900360200190a16001600160a01b038216156103d1576103d1826105e2565b505050565b6000806103e16101d1565b6103e96104e9565b915091509091565b60006103fb6101de565b9050336001600160a01b0382161461045a576040805162461bcd60e51b815260206004820152601c60248201527f636c61696d4f776e6572736869703a20556e617574686f72697a656400000000604482015290519081900360640190fd5b6104638161058e565b50600080546001600160a01b0319169055565b61047e610500565b6001600160a01b0316336001600160a01b0316146104dd576040805162461bcd60e51b81526020600482015260176024820152761bdb9b1e53dddb995c8e88155b985d5d1a1bdc9a5e9959604a1b604482015290519081900360640190fd5b6104e681610636565b50565b600354600160c01b900467ffffffffffffffff1690565b6001546001600160a01b031690565b6002546001600160a01b031690565b610526610500565b6001600160a01b0316336001600160a01b031614610585576040805162461bcd60e51b81526020600482015260176024820152761bdb9b1e53dddb995c8e88155b985d5d1a1bdc9a5e9959604a1b604482015290519081900360640190fd5b6104e6816105e2565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f50146d0e3c60aa1d17a70635b05494f864e86144a2201275021014fbf08bafe29181900360200190a150565b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f5a39b8d3fd7361f3c5173afba233b7f1530567d03f9dfb0a2ca414960f08541d9181900360200190a150565b600080546001600160a01b0319166001600160a01b038316908117825560405190917f132c19de901bb4ed8403c34734b6c841d5dc57745824da452a52433519ea5abf91a25056fea164736f6c634300060c000a", - "sourceMap": "521:998:17:-:0;;;662:79;;;;;;;;;;707:26;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;693:41:17;;-1:-1:-1;;;;;;693:41:17;;;521:998;;;;;;;;;;:::o;:::-;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c8063b031107914610030575b600080fd5b6100666004803603606081101561004657600080fd5b506001600160a01b03813581169160208101359091169060400135610082565b604080516001600160a01b039092168252519081900360200190f35b604080516001600160a01b03808616602483015284166044820152606480820184905282518083039091018152608490910182526020810180516001600160e01b0316631a392c5560e11b17905290516000919081907f000000000000000000000000000000000000000000000000000000000000000090610103906101e5565b8080602001836001600160a01b03168152602001828103825284818151815260200191508051906020019080838360005b8381101561014c578181015183820152602001610134565b50505050905090810190601f1680156101795780820380516001836020036101000a031916815260200191505b509350505050604051809103906000f08015801561019b573d6000803e3d6000fd5b50604080516001600160a01b0383168152905191935033917f3d2489efb661e8b1c3679865db649ca1de61d76a71184a1234de2e55786a6aad9181900360200190a2509392505050565b6102e0806101f38339019056fe60a060405234801561001057600080fd5b506040516102e03803806102e08339818101604052604081101561003357600080fd5b810190808051604051939291908464010000000082111561005357600080fd5b90830190602082018581111561006857600080fd5b825164010000000081118282018810171561008257600080fd5b82525081516020918201929091019080838360005b838110156100af578181015183820152602001610097565b50505050905090810190601f1680156100dc5780820380516001836020036101000a031916815260200191505b50604052602001805190602001909291905050508181806001600160a01b03166080816001600160a01b031660601b81525050807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5560006060826001600160a01b0316846040518082805190602001908083835b602083106101705780518252601f199092019160209182019101610151565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d80600081146101d0576040519150601f19603f3d011682016040523d82523d6000602084013e6101d5565b606091505b50915091508181906102655760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561022a578181015183820152602001610212565b50505050905090810190601f1680156102575780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5050505050505060805160601c605a6102866000398060065250605a6000f3fe60806040527f00000000000000000000000000000000000000000000000000000000000000003660008037600080366000846127105a03f43d806000803e818015604857816000f35b816000fdfea164736f6c634300060c000aa164736f6c634300060c000a", - "sourceMap": "521:998:17:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1039:478;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1039:478:17;;;;;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;1039:478:17;;;;;;;;;;;;;;;1214:148;;;-1:-1:-1;;;;;1214:148:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1214:148:17;-1:-1:-1;;;1214:148:17;;;1390:46;;1159:14;;1214:148;;;1432:3;;1390:46;;;:::i;:::-;;;;;;-1:-1:-1;;;;;1390:46:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1453:33:17;;;-1:-1:-1;;;;;1453:33:17;;;;;;1373:64;;-1:-1:-1;1467:10:17;;1453:33;;;;;;;;;1497:13;1039:478;;;;;:::o;-1:-1:-1:-;;;;;;;;:::o", - "linkReferences": {}, - "immutableReferences": { - "2951": [ - { - "start": 218, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "deploy(address,address,bytes32)": "b0311079" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"proxy\",\"type\":\"address\"}],\"name\":\"ProxyDeployed\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_updater\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"_description\",\"type\":\"bytes32\"}],\"name\":\"deploy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"proxy_\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"deploy(address,address,bytes32)\":{\"params\":{\"_description\":\"A short encoded description for the oracle\",\"_owner\":\"The owner of the oracle\",\"_updater\":\"The updater of the oracle\"},\"returns\":{\"proxy_\":\"The deployed ManualValueOracleProxy address\"}}},\"title\":\"ManualValueOracleFactory Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"deploy(address,address,bytes32)\":{\"notice\":\"Deploys a ManualValueOracleProxy instance\"}},\"notice\":\"A contract factory for ManualValueOracleProxy instances\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/arbitrary-value-oracles/manual-value/ManualValueOracleFactory.sol\":\"ManualValueOracleFactory\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/arbitrary-value-oracles/IArbitraryValueOracle.sol\":{\"keccak256\":\"0x333a51889276bf987405f310cf4c585f51f86bf496c658e0451412123f675890\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ad4e7e1f597bd399c48c27b391c669893e6b557dbdd06a1725070ac29d087cf0\",\"dweb:/ipfs/QmQrWo7nActQP5Ahh1SzkRNfpxbsPQLgNd3rUkNGUfDPKW\"]},\"contracts/persistent/arbitrary-value-oracles/manual-value/ManualValueOracleFactory.sol\":{\"keccak256\":\"0xb9652c9811aec6c95e239088e2ad4de074d99ff20e7eb5f4f6914a084dd4e60c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a142e4e84b8b90bae3e198ea1c1459a69b1acbfb7bb90abd9be5f14a6c66248b\",\"dweb:/ipfs/QmfK3zq56n9wDJfVT73EKu5fqvgT2qwv7phdM8XLduXixh\"]},\"contracts/persistent/arbitrary-value-oracles/manual-value/ManualValueOracleLib.sol\":{\"keccak256\":\"0x7d877285a4e7cca96f1a2baace86c4bf2a51a6e0ed0f7080db277a788855454e\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9f293be33875482e185790f0587cfcc905ecb2c6e2b57c642b558c3c0a8e6363\",\"dweb:/ipfs/Qmc2vS6aBatdFW1xq2aJsEZCAF4ZYU6U7QKh6ctLbYJcEi\"]},\"contracts/persistent/arbitrary-value-oracles/manual-value/ManualValueOracleProxy.sol\":{\"keccak256\":\"0xb62b1a4b2be5ac43869a6b435a9055b42bc2e97ff4303325cd8526a895370345\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b8fbee4831f477481d9ee5077dddd9364f2c243263d5f1b3d1cb94528a9dc42e\",\"dweb:/ipfs/QmVLPPceLzs9acJUDVfNJBe4aMWSnnLcZWVca6ar186GEi\"]},\"contracts/release/utils/NominatedOwnerMixin.sol\":{\"keccak256\":\"0xb8d1c6eba0b342bbbf49af872925fc8febbef1e0958fdb8d4664501001d73761\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://4c0679beb263fb2e4f04bf39e65db051d7af7984e8357bbe1f0901cd986e538d\",\"dweb:/ipfs/QmTooY2TQEh5ax2XhMvJoa7pzFrb3WLegXjQ9EMzCPVpQe\"]},\"contracts/release/utils/NonUpgradableProxy.sol\":{\"keccak256\":\"0x7d70145a2a0ff8c36318b23ac6ca662f133584dd823933230c66143b89e2d53d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b05ea625a428fdf3f908db3e97a358a4117d4998abde806ba3839c7fad821bca\",\"dweb:/ipfs/QmSLzFT1ktLTZ7rAKYjcg6dBRuxVMzrGXjGJSsH5nSVx2G\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "caller", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "proxy", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "ProxyDeployed", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - }, - { - "internalType": "address", - "name": "_updater", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "_description", - "type": "bytes32" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "deploy", - "outputs": [ - { - "internalType": "address", - "name": "proxy_", - "type": "address" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "deploy(address,address,bytes32)": { - "params": { - "_description": "A short encoded description for the oracle", - "_owner": "The owner of the oracle", - "_updater": "The updater of the oracle" - }, - "returns": { - "proxy_": "The deployed ManualValueOracleProxy address" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "deploy(address,address,bytes32)": { - "notice": "Deploys a ManualValueOracleProxy instance" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/persistent/arbitrary-value-oracles/manual-value/ManualValueOracleFactory.sol": "ManualValueOracleFactory" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/arbitrary-value-oracles/IArbitraryValueOracle.sol": { - "keccak256": "0x333a51889276bf987405f310cf4c585f51f86bf496c658e0451412123f675890", - "urls": [ - "bzz-raw://ad4e7e1f597bd399c48c27b391c669893e6b557dbdd06a1725070ac29d087cf0", - "dweb:/ipfs/QmQrWo7nActQP5Ahh1SzkRNfpxbsPQLgNd3rUkNGUfDPKW" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/arbitrary-value-oracles/manual-value/ManualValueOracleFactory.sol": { - "keccak256": "0xb9652c9811aec6c95e239088e2ad4de074d99ff20e7eb5f4f6914a084dd4e60c", - "urls": [ - "bzz-raw://a142e4e84b8b90bae3e198ea1c1459a69b1acbfb7bb90abd9be5f14a6c66248b", - "dweb:/ipfs/QmfK3zq56n9wDJfVT73EKu5fqvgT2qwv7phdM8XLduXixh" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/arbitrary-value-oracles/manual-value/ManualValueOracleLib.sol": { - "keccak256": "0x7d877285a4e7cca96f1a2baace86c4bf2a51a6e0ed0f7080db277a788855454e", - "urls": [ - "bzz-raw://9f293be33875482e185790f0587cfcc905ecb2c6e2b57c642b558c3c0a8e6363", - "dweb:/ipfs/Qmc2vS6aBatdFW1xq2aJsEZCAF4ZYU6U7QKh6ctLbYJcEi" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/arbitrary-value-oracles/manual-value/ManualValueOracleProxy.sol": { - "keccak256": "0xb62b1a4b2be5ac43869a6b435a9055b42bc2e97ff4303325cd8526a895370345", - "urls": [ - "bzz-raw://b8fbee4831f477481d9ee5077dddd9364f2c243263d5f1b3d1cb94528a9dc42e", - "dweb:/ipfs/QmVLPPceLzs9acJUDVfNJBe4aMWSnnLcZWVca6ar186GEi" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/NominatedOwnerMixin.sol": { - "keccak256": "0xb8d1c6eba0b342bbbf49af872925fc8febbef1e0958fdb8d4664501001d73761", - "urls": [ - "bzz-raw://4c0679beb263fb2e4f04bf39e65db051d7af7984e8357bbe1f0901cd986e538d", - "dweb:/ipfs/QmTooY2TQEh5ax2XhMvJoa7pzFrb3WLegXjQ9EMzCPVpQe" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/NonUpgradableProxy.sol": { - "keccak256": "0x7d70145a2a0ff8c36318b23ac6ca662f133584dd823933230c66143b89e2d53d", - "urls": [ - "bzz-raw://b05ea625a428fdf3f908db3e97a358a4117d4998abde806ba3839c7fad821bca", - "dweb:/ipfs/QmSLzFT1ktLTZ7rAKYjcg6dBRuxVMzrGXjGJSsH5nSVx2G" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 17 -} +{ "abi": [ { "type": "constructor", "inputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "deploy", "inputs": [ { "name": "_owner", "type": "address", "internalType": "address" }, { "name": "_updater", "type": "address", "internalType": "address" }, { "name": "_description", "type": "bytes32", "internalType": "bytes32" } ], "outputs": [ { "name": "proxy_", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "event", "name": "ProxyDeployed", "inputs": [ { "name": "caller", "type": "address", "indexed": true, "internalType": "address" }, { "name": "proxy", "type": "address", "indexed": false, "internalType": "address" } ], "anonymous": false } ], "bytecode": { "object": "0x60a060405234801561001057600080fd5b5060405161001d9061004f565b604051809103906000f080158015610039573d6000803e3d6000fd5b5060601b6001600160601b03191660805261005c565b6106ab8061055783390190565b60805160601c6104df6100786000398060da52506104df6000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063b031107914610030575b600080fd5b6100666004803603606081101561004657600080fd5b506001600160a01b03813581169160208101359091169060400135610082565b604080516001600160a01b039092168252519081900360200190f35b604080516001600160a01b03808616602483015284166044820152606480820184905282518083039091018152608490910182526020810180516001600160e01b0316631a392c5560e11b17905290516000919081907f000000000000000000000000000000000000000000000000000000000000000090610103906101e5565b8080602001836001600160a01b03168152602001828103825284818151815260200191508051906020019080838360005b8381101561014c578181015183820152602001610134565b50505050905090810190601f1680156101795780820380516001836020036101000a031916815260200191505b509350505050604051809103906000f08015801561019b573d6000803e3d6000fd5b50604080516001600160a01b0383168152905191935033917f3d2489efb661e8b1c3679865db649ca1de61d76a71184a1234de2e55786a6aad9181900360200190a2509392505050565b6102e0806101f38339019056fe60a060405234801561001057600080fd5b506040516102e03803806102e08339818101604052604081101561003357600080fd5b810190808051604051939291908464010000000082111561005357600080fd5b90830190602082018581111561006857600080fd5b825164010000000081118282018810171561008257600080fd5b82525081516020918201929091019080838360005b838110156100af578181015183820152602001610097565b50505050905090810190601f1680156100dc5780820380516001836020036101000a031916815260200191505b50604052602001805190602001909291905050508181806001600160a01b03166080816001600160a01b031660601b81525050807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5560006060826001600160a01b0316846040518082805190602001908083835b602083106101705780518252601f199092019160209182019101610151565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d80600081146101d0576040519150601f19603f3d011682016040523d82523d6000602084013e6101d5565b606091505b50915091508181906102655760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561022a578181015183820152602001610212565b50505050905090810190601f1680156102575780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5050505050505060805160601c605a6102866000398060065250605a6000f3fe60806040527f00000000000000000000000000000000000000000000000000000000000000003660008037600080366000846127105a03f43d806000803e818015604857816000f35b816000fdfea164736f6c634300060c000aa164736f6c634300060c000a608060405234801561001057600080fd5b5061068b806100206000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c80634e71e0c8116100715780634e71e0c814610165578063728e17a01461016d57806378121dd414610193578063893d20e81461019b57806399d54d39146101a35780639d54f419146101ab576100a9565b806320965255146100ae578063288b6a36146100c85780632cd56672146100ec578063347258aa1461010e5780634def985514610144575b600080fd5b6100b66101d1565b60408051918252519081900360200190f35b6100d06101de565b604080516001600160a01b039092168252519081900360200190f35b61010c6004803603602081101561010257600080fd5b503560170b6101ed565b005b61010c6004803603606081101561012457600080fd5b506001600160a01b038135811691602081013590911690604001356102c8565b61014c6103d6565b6040805192835260208301919091528051918290030190f35b61010c6103f1565b61010c6004803603602081101561018357600080fd5b50356001600160a01b0316610476565b6100b66104e9565b6100d0610500565b6100d061050f565b61010c600480360360208110156101c157600080fd5b50356001600160a01b031661051e565b600354601790810b900b90565b6000546001600160a01b031690565b6101f561050f565b6001600160a01b0316336001600160a01b03161461025a576040805162461bcd60e51b815260206004820152601960248201527f75706461746556616c75653a20556e617574686f72697a656400000000000000604482015290519081900360640190fd5b600380546001600160c01b0319166001600160c01b03601784900b8181169290921716600160c01b4267ffffffffffffffff16021790915560408051918252517f6577488b46c5d4bec17c8c7e5461e3b03f90932b44b31572d9b9cf30d21bdd8f916020908290030190a150565b60006102d2610500565b6001600160a01b03161461032d576040805162461bcd60e51b815260206004820152601960248201527f696e69743a20416c726561647920696e697469616c697a656400000000000000604482015290519081900360640190fd5b6001600160a01b03831661037d576040805162461bcd60e51b815260206004820152601260248201527134b734ba1d1022b6b83a3c902fb7bbb732b960711b604482015290519081900360640190fd5b6103868361058e565b6040805182815290517fdc73717d728bcfa015e8117438a65319aa06e979ca324afa6e1ea645c28ea15d9181900360200190a16001600160a01b038216156103d1576103d1826105e2565b505050565b6000806103e16101d1565b6103e96104e9565b915091509091565b60006103fb6101de565b9050336001600160a01b0382161461045a576040805162461bcd60e51b815260206004820152601c60248201527f636c61696d4f776e6572736869703a20556e617574686f72697a656400000000604482015290519081900360640190fd5b6104638161058e565b50600080546001600160a01b0319169055565b61047e610500565b6001600160a01b0316336001600160a01b0316146104dd576040805162461bcd60e51b81526020600482015260176024820152761bdb9b1e53dddb995c8e88155b985d5d1a1bdc9a5e9959604a1b604482015290519081900360640190fd5b6104e681610636565b50565b600354600160c01b900467ffffffffffffffff1690565b6001546001600160a01b031690565b6002546001600160a01b031690565b610526610500565b6001600160a01b0316336001600160a01b031614610585576040805162461bcd60e51b81526020600482015260176024820152761bdb9b1e53dddb995c8e88155b985d5d1a1bdc9a5e9959604a1b604482015290519081900360640190fd5b6104e6816105e2565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f50146d0e3c60aa1d17a70635b05494f864e86144a2201275021014fbf08bafe29181900360200190a150565b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f5a39b8d3fd7361f3c5173afba233b7f1530567d03f9dfb0a2ca414960f08541d9181900360200190a150565b600080546001600160a01b0319166001600160a01b038316908117825560405190917f132c19de901bb4ed8403c34734b6c841d5dc57745824da452a52433519ea5abf91a25056fea164736f6c634300060c000a", "sourceMap": "521:998:17:-:0;;;662:79;;;;;;;;;;707:26;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;693:41:17;;-1:-1:-1;;;;;;693:41:17;;;521:998;;;;;;;;;;:::o;:::-;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c8063b031107914610030575b600080fd5b6100666004803603606081101561004657600080fd5b506001600160a01b03813581169160208101359091169060400135610082565b604080516001600160a01b039092168252519081900360200190f35b604080516001600160a01b03808616602483015284166044820152606480820184905282518083039091018152608490910182526020810180516001600160e01b0316631a392c5560e11b17905290516000919081907f000000000000000000000000000000000000000000000000000000000000000090610103906101e5565b8080602001836001600160a01b03168152602001828103825284818151815260200191508051906020019080838360005b8381101561014c578181015183820152602001610134565b50505050905090810190601f1680156101795780820380516001836020036101000a031916815260200191505b509350505050604051809103906000f08015801561019b573d6000803e3d6000fd5b50604080516001600160a01b0383168152905191935033917f3d2489efb661e8b1c3679865db649ca1de61d76a71184a1234de2e55786a6aad9181900360200190a2509392505050565b6102e0806101f38339019056fe60a060405234801561001057600080fd5b506040516102e03803806102e08339818101604052604081101561003357600080fd5b810190808051604051939291908464010000000082111561005357600080fd5b90830190602082018581111561006857600080fd5b825164010000000081118282018810171561008257600080fd5b82525081516020918201929091019080838360005b838110156100af578181015183820152602001610097565b50505050905090810190601f1680156100dc5780820380516001836020036101000a031916815260200191505b50604052602001805190602001909291905050508181806001600160a01b03166080816001600160a01b031660601b81525050807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5560006060826001600160a01b0316846040518082805190602001908083835b602083106101705780518252601f199092019160209182019101610151565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d80600081146101d0576040519150601f19603f3d011682016040523d82523d6000602084013e6101d5565b606091505b50915091508181906102655760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561022a578181015183820152602001610212565b50505050905090810190601f1680156102575780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5050505050505060805160601c605a6102866000398060065250605a6000f3fe60806040527f00000000000000000000000000000000000000000000000000000000000000003660008037600080366000846127105a03f43d806000803e818015604857816000f35b816000fdfea164736f6c634300060c000aa164736f6c634300060c000a", "sourceMap": "521:998:17:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1039:478;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1039:478:17;;;;;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;1039:478:17;;;;;;;;;;;;;;;1214:148;;;-1:-1:-1;;;;;1214:148:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1214:148:17;-1:-1:-1;;;1214:148:17;;;1390:46;;1159:14;;1214:148;;;1432:3;;1390:46;;;:::i;:::-;;;;;;-1:-1:-1;;;;;1390:46:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1453:33:17;;;-1:-1:-1;;;;;1453:33:17;;;;;;1373:64;;-1:-1:-1;1467:10:17;;1453:33;;;;;;;;;1497:13;1039:478;;;;;:::o;-1:-1:-1:-;;;;;;;;:::o", "linkReferences": {}, "immutableReferences": { "2951": [ { "start": 218, "length": 32 } ] } }, "methodIdentifiers": { "deploy(address,address,bytes32)": "b0311079" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"proxy\",\"type\":\"address\"}],\"name\":\"ProxyDeployed\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_updater\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"_description\",\"type\":\"bytes32\"}],\"name\":\"deploy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"proxy_\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"deploy(address,address,bytes32)\":{\"params\":{\"_description\":\"A short encoded description for the oracle\",\"_owner\":\"The owner of the oracle\",\"_updater\":\"The updater of the oracle\"},\"returns\":{\"proxy_\":\"The deployed ManualValueOracleProxy address\"}}},\"title\":\"ManualValueOracleFactory Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"deploy(address,address,bytes32)\":{\"notice\":\"Deploys a ManualValueOracleProxy instance\"}},\"notice\":\"A contract factory for ManualValueOracleProxy instances\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/arbitrary-value-oracles/manual-value/ManualValueOracleFactory.sol\":\"ManualValueOracleFactory\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/arbitrary-value-oracles/IArbitraryValueOracle.sol\":{\"keccak256\":\"0x333a51889276bf987405f310cf4c585f51f86bf496c658e0451412123f675890\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ad4e7e1f597bd399c48c27b391c669893e6b557dbdd06a1725070ac29d087cf0\",\"dweb:/ipfs/QmQrWo7nActQP5Ahh1SzkRNfpxbsPQLgNd3rUkNGUfDPKW\"]},\"contracts/persistent/arbitrary-value-oracles/manual-value/ManualValueOracleFactory.sol\":{\"keccak256\":\"0xb9652c9811aec6c95e239088e2ad4de074d99ff20e7eb5f4f6914a084dd4e60c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a142e4e84b8b90bae3e198ea1c1459a69b1acbfb7bb90abd9be5f14a6c66248b\",\"dweb:/ipfs/QmfK3zq56n9wDJfVT73EKu5fqvgT2qwv7phdM8XLduXixh\"]},\"contracts/persistent/arbitrary-value-oracles/manual-value/ManualValueOracleLib.sol\":{\"keccak256\":\"0x7d877285a4e7cca96f1a2baace86c4bf2a51a6e0ed0f7080db277a788855454e\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9f293be33875482e185790f0587cfcc905ecb2c6e2b57c642b558c3c0a8e6363\",\"dweb:/ipfs/Qmc2vS6aBatdFW1xq2aJsEZCAF4ZYU6U7QKh6ctLbYJcEi\"]},\"contracts/persistent/arbitrary-value-oracles/manual-value/ManualValueOracleProxy.sol\":{\"keccak256\":\"0xb62b1a4b2be5ac43869a6b435a9055b42bc2e97ff4303325cd8526a895370345\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b8fbee4831f477481d9ee5077dddd9364f2c243263d5f1b3d1cb94528a9dc42e\",\"dweb:/ipfs/QmVLPPceLzs9acJUDVfNJBe4aMWSnnLcZWVca6ar186GEi\"]},\"contracts/release/utils/NominatedOwnerMixin.sol\":{\"keccak256\":\"0xb8d1c6eba0b342bbbf49af872925fc8febbef1e0958fdb8d4664501001d73761\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://4c0679beb263fb2e4f04bf39e65db051d7af7984e8357bbe1f0901cd986e538d\",\"dweb:/ipfs/QmTooY2TQEh5ax2XhMvJoa7pzFrb3WLegXjQ9EMzCPVpQe\"]},\"contracts/release/utils/NonUpgradableProxy.sol\":{\"keccak256\":\"0x7d70145a2a0ff8c36318b23ac6ca662f133584dd823933230c66143b89e2d53d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b05ea625a428fdf3f908db3e97a358a4117d4998abde806ba3839c7fad821bca\",\"dweb:/ipfs/QmSLzFT1ktLTZ7rAKYjcg6dBRuxVMzrGXjGJSsH5nSVx2G\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "caller", "type": "address", "indexed": true }, { "internalType": "address", "name": "proxy", "type": "address", "indexed": false } ], "type": "event", "name": "ProxyDeployed", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "_owner", "type": "address" }, { "internalType": "address", "name": "_updater", "type": "address" }, { "internalType": "bytes32", "name": "_description", "type": "bytes32" } ], "stateMutability": "nonpayable", "type": "function", "name": "deploy", "outputs": [ { "internalType": "address", "name": "proxy_", "type": "address" } ] } ], "devdoc": { "kind": "dev", "methods": { "deploy(address,address,bytes32)": { "params": { "_description": "A short encoded description for the oracle", "_owner": "The owner of the oracle", "_updater": "The updater of the oracle" }, "returns": { "proxy_": "The deployed ManualValueOracleProxy address" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "deploy(address,address,bytes32)": { "notice": "Deploys a ManualValueOracleProxy instance" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/persistent/arbitrary-value-oracles/manual-value/ManualValueOracleFactory.sol": "ManualValueOracleFactory" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/arbitrary-value-oracles/IArbitraryValueOracle.sol": { "keccak256": "0x333a51889276bf987405f310cf4c585f51f86bf496c658e0451412123f675890", "urls": [ "bzz-raw://ad4e7e1f597bd399c48c27b391c669893e6b557dbdd06a1725070ac29d087cf0", "dweb:/ipfs/QmQrWo7nActQP5Ahh1SzkRNfpxbsPQLgNd3rUkNGUfDPKW" ], "license": "GPL-3.0" }, "contracts/persistent/arbitrary-value-oracles/manual-value/ManualValueOracleFactory.sol": { "keccak256": "0xb9652c9811aec6c95e239088e2ad4de074d99ff20e7eb5f4f6914a084dd4e60c", "urls": [ "bzz-raw://a142e4e84b8b90bae3e198ea1c1459a69b1acbfb7bb90abd9be5f14a6c66248b", "dweb:/ipfs/QmfK3zq56n9wDJfVT73EKu5fqvgT2qwv7phdM8XLduXixh" ], "license": "GPL-3.0" }, "contracts/persistent/arbitrary-value-oracles/manual-value/ManualValueOracleLib.sol": { "keccak256": "0x7d877285a4e7cca96f1a2baace86c4bf2a51a6e0ed0f7080db277a788855454e", "urls": [ "bzz-raw://9f293be33875482e185790f0587cfcc905ecb2c6e2b57c642b558c3c0a8e6363", "dweb:/ipfs/Qmc2vS6aBatdFW1xq2aJsEZCAF4ZYU6U7QKh6ctLbYJcEi" ], "license": "GPL-3.0" }, "contracts/persistent/arbitrary-value-oracles/manual-value/ManualValueOracleProxy.sol": { "keccak256": "0xb62b1a4b2be5ac43869a6b435a9055b42bc2e97ff4303325cd8526a895370345", "urls": [ "bzz-raw://b8fbee4831f477481d9ee5077dddd9364f2c243263d5f1b3d1cb94528a9dc42e", "dweb:/ipfs/QmVLPPceLzs9acJUDVfNJBe4aMWSnnLcZWVca6ar186GEi" ], "license": "GPL-3.0" }, "contracts/release/utils/NominatedOwnerMixin.sol": { "keccak256": "0xb8d1c6eba0b342bbbf49af872925fc8febbef1e0958fdb8d4664501001d73761", "urls": [ "bzz-raw://4c0679beb263fb2e4f04bf39e65db051d7af7984e8357bbe1f0901cd986e538d", "dweb:/ipfs/QmTooY2TQEh5ax2XhMvJoa7pzFrb3WLegXjQ9EMzCPVpQe" ], "license": "GPL-3.0" }, "contracts/release/utils/NonUpgradableProxy.sol": { "keccak256": "0x7d70145a2a0ff8c36318b23ac6ca662f133584dd823933230c66143b89e2d53d", "urls": [ "bzz-raw://b05ea625a428fdf3f908db3e97a358a4117d4998abde806ba3839c7fad821bca", "dweb:/ipfs/QmSLzFT1ktLTZ7rAKYjcg6dBRuxVMzrGXjGJSsH5nSVx2G" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 17 } diff --git a/eth_defi/abi/enzyme/ManualValueOracleLib.json b/eth_defi/abi/enzyme/ManualValueOracleLib.json index 418f8a52..ba860bfe 100644 --- a/eth_defi/abi/enzyme/ManualValueOracleLib.json +++ b/eth_defi/abi/enzyme/ManualValueOracleLib.json @@ -1,628 +1 @@ -{ - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bytes32", - "name": "description", - "type": "bytes32" - } - ], - "name": "Initialized", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "nominatedOwner", - "type": "address" - } - ], - "name": "NominatedOwnerSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "owner", - "type": "address" - } - ], - "name": "OwnerSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "updater", - "type": "address" - } - ], - "name": "UpdaterSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "int256", - "name": "value", - "type": "int256" - } - ], - "name": "ValueUpdated", - "type": "event" - }, - { - "inputs": [], - "name": "claimOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getLastUpdated", - "outputs": [ - { - "internalType": "uint256", - "name": "lastUpdated_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getNominatedOwner", - "outputs": [ - { - "internalType": "address", - "name": "nominatedOwner_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "owner_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getUpdater", - "outputs": [ - { - "internalType": "address", - "name": "updater_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getValue", - "outputs": [ - { - "internalType": "int256", - "name": "value_", - "type": "int256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getValueWithTimestamp", - "outputs": [ - { - "internalType": "int256", - "name": "value_", - "type": "int256" - }, - { - "internalType": "uint256", - "name": "lastUpdated_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - }, - { - "internalType": "address", - "name": "_updater", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "_description", - "type": "bytes32" - } - ], - "name": "init", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_nextNominatedOwner", - "type": "address" - } - ], - "name": "setNominatedOwner", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_nextUpdater", - "type": "address" - } - ], - "name": "setUpdater", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "int192", - "name": "_nextValue", - "type": "int192" - } - ], - "name": "updateValue", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x608060405234801561001057600080fd5b5061068b806100206000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c80634e71e0c8116100715780634e71e0c814610165578063728e17a01461016d57806378121dd414610193578063893d20e81461019b57806399d54d39146101a35780639d54f419146101ab576100a9565b806320965255146100ae578063288b6a36146100c85780632cd56672146100ec578063347258aa1461010e5780634def985514610144575b600080fd5b6100b66101d1565b60408051918252519081900360200190f35b6100d06101de565b604080516001600160a01b039092168252519081900360200190f35b61010c6004803603602081101561010257600080fd5b503560170b6101ed565b005b61010c6004803603606081101561012457600080fd5b506001600160a01b038135811691602081013590911690604001356102c8565b61014c6103d6565b6040805192835260208301919091528051918290030190f35b61010c6103f1565b61010c6004803603602081101561018357600080fd5b50356001600160a01b0316610476565b6100b66104e9565b6100d0610500565b6100d061050f565b61010c600480360360208110156101c157600080fd5b50356001600160a01b031661051e565b600354601790810b900b90565b6000546001600160a01b031690565b6101f561050f565b6001600160a01b0316336001600160a01b03161461025a576040805162461bcd60e51b815260206004820152601960248201527f75706461746556616c75653a20556e617574686f72697a656400000000000000604482015290519081900360640190fd5b600380546001600160c01b0319166001600160c01b03601784900b8181169290921716600160c01b4267ffffffffffffffff16021790915560408051918252517f6577488b46c5d4bec17c8c7e5461e3b03f90932b44b31572d9b9cf30d21bdd8f916020908290030190a150565b60006102d2610500565b6001600160a01b03161461032d576040805162461bcd60e51b815260206004820152601960248201527f696e69743a20416c726561647920696e697469616c697a656400000000000000604482015290519081900360640190fd5b6001600160a01b03831661037d576040805162461bcd60e51b815260206004820152601260248201527134b734ba1d1022b6b83a3c902fb7bbb732b960711b604482015290519081900360640190fd5b6103868361058e565b6040805182815290517fdc73717d728bcfa015e8117438a65319aa06e979ca324afa6e1ea645c28ea15d9181900360200190a16001600160a01b038216156103d1576103d1826105e2565b505050565b6000806103e16101d1565b6103e96104e9565b915091509091565b60006103fb6101de565b9050336001600160a01b0382161461045a576040805162461bcd60e51b815260206004820152601c60248201527f636c61696d4f776e6572736869703a20556e617574686f72697a656400000000604482015290519081900360640190fd5b6104638161058e565b50600080546001600160a01b0319169055565b61047e610500565b6001600160a01b0316336001600160a01b0316146104dd576040805162461bcd60e51b81526020600482015260176024820152761bdb9b1e53dddb995c8e88155b985d5d1a1bdc9a5e9959604a1b604482015290519081900360640190fd5b6104e681610636565b50565b600354600160c01b900467ffffffffffffffff1690565b6001546001600160a01b031690565b6002546001600160a01b031690565b610526610500565b6001600160a01b0316336001600160a01b031614610585576040805162461bcd60e51b81526020600482015260176024820152761bdb9b1e53dddb995c8e88155b985d5d1a1bdc9a5e9959604a1b604482015290519081900360640190fd5b6104e6816105e2565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f50146d0e3c60aa1d17a70635b05494f864e86144a2201275021014fbf08bafe29181900360200190a150565b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f5a39b8d3fd7361f3c5173afba233b7f1530567d03f9dfb0a2ca414960f08541d9181900360200190a150565b600080546001600160a01b0319166001600160a01b038316908117825560405190917f132c19de901bb4ed8403c34734b6c841d5dc57745824da452a52433519ea5abf91a25056fea164736f6c634300060c000a", - "sourceMap": "535:2729:18:-:0;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106100a95760003560e01c80634e71e0c8116100715780634e71e0c814610165578063728e17a01461016d57806378121dd414610193578063893d20e81461019b57806399d54d39146101a35780639d54f419146101ab576100a9565b806320965255146100ae578063288b6a36146100c85780632cd56672146100ec578063347258aa1461010e5780634def985514610144575b600080fd5b6100b66101d1565b60408051918252519081900360200190f35b6100d06101de565b604080516001600160a01b039092168252519081900360200190f35b61010c6004803603602081101561010257600080fd5b503560170b6101ed565b005b61010c6004803603606081101561012457600080fd5b506001600160a01b038135811691602081013590911690604001356102c8565b61014c6103d6565b6040805192835260208301919091528051918290030190f35b61010c6103f1565b61010c6004803603602081101561018357600080fd5b50356001600160a01b0316610476565b6100b66104e9565b6100d0610500565b6100d061050f565b61010c600480360360208110156101c157600080fd5b50356001600160a01b031661051e565b600354601790810b900b90565b6000546001600160a01b031690565b6101f561050f565b6001600160a01b0316336001600160a01b03161461025a576040805162461bcd60e51b815260206004820152601960248201527f75706461746556616c75653a20556e617574686f72697a656400000000000000604482015290519081900360640190fd5b600380546001600160c01b0319166001600160c01b03601784900b8181169290921716600160c01b4267ffffffffffffffff16021790915560408051918252517f6577488b46c5d4bec17c8c7e5461e3b03f90932b44b31572d9b9cf30d21bdd8f916020908290030190a150565b60006102d2610500565b6001600160a01b03161461032d576040805162461bcd60e51b815260206004820152601960248201527f696e69743a20416c726561647920696e697469616c697a656400000000000000604482015290519081900360640190fd5b6001600160a01b03831661037d576040805162461bcd60e51b815260206004820152601260248201527134b734ba1d1022b6b83a3c902fb7bbb732b960711b604482015290519081900360640190fd5b6103868361058e565b6040805182815290517fdc73717d728bcfa015e8117438a65319aa06e979ca324afa6e1ea645c28ea15d9181900360200190a16001600160a01b038216156103d1576103d1826105e2565b505050565b6000806103e16101d1565b6103e96104e9565b915091509091565b60006103fb6101de565b9050336001600160a01b0382161461045a576040805162461bcd60e51b815260206004820152601c60248201527f636c61696d4f776e6572736869703a20556e617574686f72697a656400000000604482015290519081900360640190fd5b6104638161058e565b50600080546001600160a01b0319169055565b61047e610500565b6001600160a01b0316336001600160a01b0316146104dd576040805162461bcd60e51b81526020600482015260176024820152761bdb9b1e53dddb995c8e88155b985d5d1a1bdc9a5e9959604a1b604482015290519081900360640190fd5b6104e681610636565b50565b600354600160c01b900467ffffffffffffffff1690565b6001546001600160a01b031690565b6002546001600160a01b031690565b610526610500565b6001600160a01b0316336001600160a01b031614610585576040805162461bcd60e51b81526020600482015260176024820152761bdb9b1e53dddb995c8e88155b985d5d1a1bdc9a5e9959604a1b604482015290519081900360640190fd5b6104e6816105e2565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f50146d0e3c60aa1d17a70635b05494f864e86144a2201275021014fbf08bafe29181900360200190a150565b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f5a39b8d3fd7361f3c5173afba233b7f1530567d03f9dfb0a2ca414960f08541d9181900360200190a150565b600080546001600160a01b0319166001600160a01b038316908117825560405190917f132c19de901bb4ed8403c34734b6c841d5dc57745824da452a52433519ea5abf91a25056fea164736f6c634300060c000a", - "sourceMap": "535:2729:18:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3168:94;;;:::i;:::-;;;;;;;;;;;;;;;;2263:113:361;;;:::i;:::-;;;;-1:-1:-1;;;;;2263:113:361;;;;;;;;;;;;;;1738:246:18;;;;;;;;;;;;;;;;-1:-1:-1;1738:246:18;;;;:::i;:::-;;1058:404;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1058:404:18;;;;;;;;;;;;;;;;;:::i;2453:192::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;991:229:361;;;:::i;1331:132::-;;;;;;;;;;;;;;;;-1:-1:-1;1331:132:361;-1:-1:-1;;;;;1331:132:361;;:::i;2786:113:18:-;;;:::i;2472:86:361:-;;;:::i;2994:92:18:-;;;:::i;1546:104::-;;;;;;;;;;;;;;;;-1:-1:-1;1546:104:18;-1:-1:-1;;;;;1546:104:18;;:::i;3168:94::-;3250:5;;;;;;3243:12;;3168:94;:::o;2263:113:361:-;2313:23;2355:14;-1:-1:-1;;;;;2355:14:361;;2263:113::o;1738:246:18:-;1819:12;:10;:12::i;:::-;-1:-1:-1;;;;;1805:26:18;:10;:26;1797:64;;;;;-1:-1:-1;;;1797:64:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;1872:5;:18;;-1:-1:-1;;;;;;1872:18:18;-1:-1:-1;;;;;1872:18:18;;;;;;;;;;;1900:37;-1:-1:-1;;;1921:15:18;1900:37;;;;;;;1953:24;;;;;;;;;;;;;;;;;1738:246;:::o;1058:404::-;1207:1;1185:10;:8;:10::i;:::-;-1:-1:-1;;;;;1185:24:18;;1177:62;;;;;-1:-1:-1;;;1177:62:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1257:20:18;;1249:51;;;;;-1:-1:-1;;;1249:51:18;;;;;;;;;;;;-1:-1:-1;;;1249:51:18;;;;;;;;;;;;;;;1311:18;1322:6;1311:10;:18::i;:::-;1345:25;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1385:22:18;;;1381:75;;1423:22;1436:8;1423:12;:22::i;:::-;1058:404;;;:::o;2453:192::-;2550:13;2565:20;2609:10;:8;:10::i;:::-;2621:16;:14;:16::i;:::-;2601:37;;;;2453:192;;:::o;991:229:361:-;1036:17;1056:19;:17;:19::i;:::-;1036:39;-1:-1:-1;;;;;;1093:23:361;;:10;:23;1085:64;;;;;-1:-1:-1;;;1085:64:361;;;;;;;;;;;;;;;;;;;;;;;;;;;;1160:21;1171:9;1160:10;:21::i;:::-;-1:-1:-1;1199:14:361;1192:21;;-1:-1:-1;;;;;;1192:21:361;;;991:229::o;1331:132::-;786:10;:8;:10::i;:::-;-1:-1:-1;;;;;772:24:361;:10;:24;764:60;;;;;-1:-1:-1;;;764:60:361;;;;;;;;;;;;-1:-1:-1;;;764:60:361;;;;;;;;;;;;;;;1416:40:::1;1436:19;1416;:40::i;:::-;1331:132:::0;:::o;2786:113:18:-;2881:11;;-1:-1:-1;;;2881:11:18;;;;;2786:113::o;2472:86:361:-;2546:5;;-1:-1:-1;;;;;2546:5:361;;2472:86::o;2994:92:18:-;3072:7;;-1:-1:-1;;;;;3072:7:18;;2994:92::o;1546:104::-;786:10:361;:8;:10::i;:::-;-1:-1:-1;;;;;772:24:361;:10;:24;764:60;;;;;-1:-1:-1;;;764:60:361;;;;;;;;;;;;-1:-1:-1;;;764:60:361;;;;;;;;;;;;;;;1617:26:18::1;1630:12;1617;:26::i;1919:120:361:-:0;1978:5;:18;;-1:-1:-1;;;;;;1978:18:361;-1:-1:-1;;;;;1978:18:361;;;;;;;;2012:20;;;;;;;;;;;;;;;;;1919:120;:::o;2055:131:18:-;2117:7;:22;;-1:-1:-1;;;;;;2117:22:18;-1:-1:-1;;;;;2117:22:18;;;;;;;;2155:24;;;;;;;;;;;;;;;;;2055:131;:::o;1543:174:361:-;1620:14;:36;;-1:-1:-1;;;;;;1620:36:361;-1:-1:-1;;;;;1620:36:361;;;;;;;1672:38;;1620:36;;1672:38;;;1543:174;:::o", - "linkReferences": {} - }, - "methodIdentifiers": { - "claimOwnership()": "4e71e0c8", - "getLastUpdated()": "78121dd4", - "getNominatedOwner()": "288b6a36", - "getOwner()": "893d20e8", - "getUpdater()": "99d54d39", - "getValue()": "20965255", - "getValueWithTimestamp()": "4def9855", - "init(address,address,bytes32)": "347258aa", - "setNominatedOwner(address)": "728e17a0", - "setUpdater(address)": "9d54f419", - "updateValue(int192)": "2cd56672" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"description\",\"type\":\"bytes32\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"nominatedOwner\",\"type\":\"address\"}],\"name\":\"NominatedOwnerSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"OwnerSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"updater\",\"type\":\"address\"}],\"name\":\"UpdaterSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"value\",\"type\":\"int256\"}],\"name\":\"ValueUpdated\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"claimOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getLastUpdated\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"lastUpdated_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getNominatedOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"nominatedOwner_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getUpdater\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"updater_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getValue\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"value_\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getValueWithTimestamp\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"value_\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"lastUpdated_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_updater\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"_description\",\"type\":\"bytes32\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nextNominatedOwner\",\"type\":\"address\"}],\"name\":\"setNominatedOwner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nextUpdater\",\"type\":\"address\"}],\"name\":\"setUpdater\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int192\",\"name\":\"_nextValue\",\"type\":\"int192\"}],\"name\":\"updateValue\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"claimOwnership()\":{\"details\":\"Note that this claims process means that `owner` can never be reset to address(0)\"},\"getLastUpdated()\":{\"returns\":{\"lastUpdated_\":\"The timestamp of the last update\"}},\"getNominatedOwner()\":{\"returns\":{\"nominatedOwner_\":\"The next contract owner nominee\"}},\"getOwner()\":{\"returns\":{\"owner_\":\"The contract owner\"}},\"getUpdater()\":{\"params\":{\"updater_\":\"The updater\"}},\"getValue()\":{\"returns\":{\"value_\":\"The value\"}},\"getValueWithTimestamp()\":{\"returns\":{\"lastUpdated_\":\"The timestamp of the last update\",\"value_\":\"The value\"}},\"init(address,address,bytes32)\":{\"params\":{\"_description\":\"A short encoded description for the oracle\",\"_owner\":\"The owner of the oracle\",\"_updater\":\"The updater of the oracle value\"}},\"setNominatedOwner(address)\":{\"params\":{\"_nextNominatedOwner\":\"The account to nominate\"}},\"setUpdater(address)\":{\"params\":{\"_nextUpdater\":\"The next updater\"}},\"updateValue(int192)\":{\"params\":{\"_nextValue\":\"The next value\"}}},\"title\":\"ManualValueOracleLib Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"claimOwnership()\":{\"notice\":\"Claim ownership of the contract\"},\"getLastUpdated()\":{\"notice\":\"Gets the last updated timestamp\"},\"getNominatedOwner()\":{\"notice\":\"Gets the account that is nominated to be the next contract owner\"},\"getOwner()\":{\"notice\":\"Gets the owner of this contract\"},\"getUpdater()\":{\"notice\":\"Gets the updater of the oracle value\"},\"getValue()\":{\"notice\":\"Gets the oracle value only\"},\"getValueWithTimestamp()\":{\"notice\":\"Gets the oracle value with last updated timestamp\"},\"init(address,address,bytes32)\":{\"notice\":\"Initializes the proxy\"},\"setNominatedOwner(address)\":{\"notice\":\"Nominate a new contract owner\"},\"setUpdater(address)\":{\"notice\":\"Sets the updater\"},\"updateValue(int192)\":{\"notice\":\"Updates the oracle value\"}},\"notice\":\"Library contract for ManualValueOracleProxy instances\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/arbitrary-value-oracles/manual-value/ManualValueOracleLib.sol\":\"ManualValueOracleLib\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/arbitrary-value-oracles/IArbitraryValueOracle.sol\":{\"keccak256\":\"0x333a51889276bf987405f310cf4c585f51f86bf496c658e0451412123f675890\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ad4e7e1f597bd399c48c27b391c669893e6b557dbdd06a1725070ac29d087cf0\",\"dweb:/ipfs/QmQrWo7nActQP5Ahh1SzkRNfpxbsPQLgNd3rUkNGUfDPKW\"]},\"contracts/persistent/arbitrary-value-oracles/manual-value/ManualValueOracleLib.sol\":{\"keccak256\":\"0x7d877285a4e7cca96f1a2baace86c4bf2a51a6e0ed0f7080db277a788855454e\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9f293be33875482e185790f0587cfcc905ecb2c6e2b57c642b558c3c0a8e6363\",\"dweb:/ipfs/Qmc2vS6aBatdFW1xq2aJsEZCAF4ZYU6U7QKh6ctLbYJcEi\"]},\"contracts/release/utils/NominatedOwnerMixin.sol\":{\"keccak256\":\"0xb8d1c6eba0b342bbbf49af872925fc8febbef1e0958fdb8d4664501001d73761\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://4c0679beb263fb2e4f04bf39e65db051d7af7984e8357bbe1f0901cd986e538d\",\"dweb:/ipfs/QmTooY2TQEh5ax2XhMvJoa7pzFrb3WLegXjQ9EMzCPVpQe\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "bytes32", - "name": "description", - "type": "bytes32", - "indexed": false - } - ], - "type": "event", - "name": "Initialized", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "nominatedOwner", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "NominatedOwnerSet", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "OwnerSet", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "updater", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "UpdaterSet", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "int256", - "name": "value", - "type": "int256", - "indexed": false - } - ], - "type": "event", - "name": "ValueUpdated", - "anonymous": false - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "claimOwnership" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getLastUpdated", - "outputs": [ - { - "internalType": "uint256", - "name": "lastUpdated_", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getNominatedOwner", - "outputs": [ - { - "internalType": "address", - "name": "nominatedOwner_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "owner_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getUpdater", - "outputs": [ - { - "internalType": "address", - "name": "updater_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getValue", - "outputs": [ - { - "internalType": "int256", - "name": "value_", - "type": "int256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getValueWithTimestamp", - "outputs": [ - { - "internalType": "int256", - "name": "value_", - "type": "int256" - }, - { - "internalType": "uint256", - "name": "lastUpdated_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - }, - { - "internalType": "address", - "name": "_updater", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "_description", - "type": "bytes32" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "init" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_nextNominatedOwner", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setNominatedOwner" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_nextUpdater", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setUpdater" - }, - { - "inputs": [ - { - "internalType": "int192", - "name": "_nextValue", - "type": "int192" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "updateValue" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "claimOwnership()": { - "details": "Note that this claims process means that `owner` can never be reset to address(0)" - }, - "getLastUpdated()": { - "returns": { - "lastUpdated_": "The timestamp of the last update" - } - }, - "getNominatedOwner()": { - "returns": { - "nominatedOwner_": "The next contract owner nominee" - } - }, - "getOwner()": { - "returns": { - "owner_": "The contract owner" - } - }, - "getUpdater()": { - "params": { - "updater_": "The updater" - } - }, - "getValue()": { - "returns": { - "value_": "The value" - } - }, - "getValueWithTimestamp()": { - "returns": { - "lastUpdated_": "The timestamp of the last update", - "value_": "The value" - } - }, - "init(address,address,bytes32)": { - "params": { - "_description": "A short encoded description for the oracle", - "_owner": "The owner of the oracle", - "_updater": "The updater of the oracle value" - } - }, - "setNominatedOwner(address)": { - "params": { - "_nextNominatedOwner": "The account to nominate" - } - }, - "setUpdater(address)": { - "params": { - "_nextUpdater": "The next updater" - } - }, - "updateValue(int192)": { - "params": { - "_nextValue": "The next value" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "claimOwnership()": { - "notice": "Claim ownership of the contract" - }, - "getLastUpdated()": { - "notice": "Gets the last updated timestamp" - }, - "getNominatedOwner()": { - "notice": "Gets the account that is nominated to be the next contract owner" - }, - "getOwner()": { - "notice": "Gets the owner of this contract" - }, - "getUpdater()": { - "notice": "Gets the updater of the oracle value" - }, - "getValue()": { - "notice": "Gets the oracle value only" - }, - "getValueWithTimestamp()": { - "notice": "Gets the oracle value with last updated timestamp" - }, - "init(address,address,bytes32)": { - "notice": "Initializes the proxy" - }, - "setNominatedOwner(address)": { - "notice": "Nominate a new contract owner" - }, - "setUpdater(address)": { - "notice": "Sets the updater" - }, - "updateValue(int192)": { - "notice": "Updates the oracle value" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/persistent/arbitrary-value-oracles/manual-value/ManualValueOracleLib.sol": "ManualValueOracleLib" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/arbitrary-value-oracles/IArbitraryValueOracle.sol": { - "keccak256": "0x333a51889276bf987405f310cf4c585f51f86bf496c658e0451412123f675890", - "urls": [ - "bzz-raw://ad4e7e1f597bd399c48c27b391c669893e6b557dbdd06a1725070ac29d087cf0", - "dweb:/ipfs/QmQrWo7nActQP5Ahh1SzkRNfpxbsPQLgNd3rUkNGUfDPKW" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/arbitrary-value-oracles/manual-value/ManualValueOracleLib.sol": { - "keccak256": "0x7d877285a4e7cca96f1a2baace86c4bf2a51a6e0ed0f7080db277a788855454e", - "urls": [ - "bzz-raw://9f293be33875482e185790f0587cfcc905ecb2c6e2b57c642b558c3c0a8e6363", - "dweb:/ipfs/Qmc2vS6aBatdFW1xq2aJsEZCAF4ZYU6U7QKh6ctLbYJcEi" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/NominatedOwnerMixin.sol": { - "keccak256": "0xb8d1c6eba0b342bbbf49af872925fc8febbef1e0958fdb8d4664501001d73761", - "urls": [ - "bzz-raw://4c0679beb263fb2e4f04bf39e65db051d7af7984e8357bbe1f0901cd986e538d", - "dweb:/ipfs/QmTooY2TQEh5ax2XhMvJoa7pzFrb3WLegXjQ9EMzCPVpQe" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 18 -} +{ "abi": [ { "type": "function", "name": "claimOwnership", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "getLastUpdated", "inputs": [], "outputs": [ { "name": "lastUpdated_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "getNominatedOwner", "inputs": [], "outputs": [ { "name": "nominatedOwner_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getOwner", "inputs": [], "outputs": [ { "name": "owner_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getUpdater", "inputs": [], "outputs": [ { "name": "updater_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getValue", "inputs": [], "outputs": [ { "name": "value_", "type": "int256", "internalType": "int256" } ], "stateMutability": "view" }, { "type": "function", "name": "getValueWithTimestamp", "inputs": [], "outputs": [ { "name": "value_", "type": "int256", "internalType": "int256" }, { "name": "lastUpdated_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "init", "inputs": [ { "name": "_owner", "type": "address", "internalType": "address" }, { "name": "_updater", "type": "address", "internalType": "address" }, { "name": "_description", "type": "bytes32", "internalType": "bytes32" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setNominatedOwner", "inputs": [ { "name": "_nextNominatedOwner", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setUpdater", "inputs": [ { "name": "_nextUpdater", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "updateValue", "inputs": [ { "name": "_nextValue", "type": "int192", "internalType": "int192" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "event", "name": "Initialized", "inputs": [ { "name": "description", "type": "bytes32", "indexed": false, "internalType": "bytes32" } ], "anonymous": false }, { "type": "event", "name": "NominatedOwnerSet", "inputs": [ { "name": "nominatedOwner", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "OwnerSet", "inputs": [ { "name": "owner", "type": "address", "indexed": false, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "UpdaterSet", "inputs": [ { "name": "updater", "type": "address", "indexed": false, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "ValueUpdated", "inputs": [ { "name": "value", "type": "int256", "indexed": false, "internalType": "int256" } ], "anonymous": false } ], "bytecode": { "object": "0x608060405234801561001057600080fd5b5061068b806100206000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c80634e71e0c8116100715780634e71e0c814610165578063728e17a01461016d57806378121dd414610193578063893d20e81461019b57806399d54d39146101a35780639d54f419146101ab576100a9565b806320965255146100ae578063288b6a36146100c85780632cd56672146100ec578063347258aa1461010e5780634def985514610144575b600080fd5b6100b66101d1565b60408051918252519081900360200190f35b6100d06101de565b604080516001600160a01b039092168252519081900360200190f35b61010c6004803603602081101561010257600080fd5b503560170b6101ed565b005b61010c6004803603606081101561012457600080fd5b506001600160a01b038135811691602081013590911690604001356102c8565b61014c6103d6565b6040805192835260208301919091528051918290030190f35b61010c6103f1565b61010c6004803603602081101561018357600080fd5b50356001600160a01b0316610476565b6100b66104e9565b6100d0610500565b6100d061050f565b61010c600480360360208110156101c157600080fd5b50356001600160a01b031661051e565b600354601790810b900b90565b6000546001600160a01b031690565b6101f561050f565b6001600160a01b0316336001600160a01b03161461025a576040805162461bcd60e51b815260206004820152601960248201527f75706461746556616c75653a20556e617574686f72697a656400000000000000604482015290519081900360640190fd5b600380546001600160c01b0319166001600160c01b03601784900b8181169290921716600160c01b4267ffffffffffffffff16021790915560408051918252517f6577488b46c5d4bec17c8c7e5461e3b03f90932b44b31572d9b9cf30d21bdd8f916020908290030190a150565b60006102d2610500565b6001600160a01b03161461032d576040805162461bcd60e51b815260206004820152601960248201527f696e69743a20416c726561647920696e697469616c697a656400000000000000604482015290519081900360640190fd5b6001600160a01b03831661037d576040805162461bcd60e51b815260206004820152601260248201527134b734ba1d1022b6b83a3c902fb7bbb732b960711b604482015290519081900360640190fd5b6103868361058e565b6040805182815290517fdc73717d728bcfa015e8117438a65319aa06e979ca324afa6e1ea645c28ea15d9181900360200190a16001600160a01b038216156103d1576103d1826105e2565b505050565b6000806103e16101d1565b6103e96104e9565b915091509091565b60006103fb6101de565b9050336001600160a01b0382161461045a576040805162461bcd60e51b815260206004820152601c60248201527f636c61696d4f776e6572736869703a20556e617574686f72697a656400000000604482015290519081900360640190fd5b6104638161058e565b50600080546001600160a01b0319169055565b61047e610500565b6001600160a01b0316336001600160a01b0316146104dd576040805162461bcd60e51b81526020600482015260176024820152761bdb9b1e53dddb995c8e88155b985d5d1a1bdc9a5e9959604a1b604482015290519081900360640190fd5b6104e681610636565b50565b600354600160c01b900467ffffffffffffffff1690565b6001546001600160a01b031690565b6002546001600160a01b031690565b610526610500565b6001600160a01b0316336001600160a01b031614610585576040805162461bcd60e51b81526020600482015260176024820152761bdb9b1e53dddb995c8e88155b985d5d1a1bdc9a5e9959604a1b604482015290519081900360640190fd5b6104e6816105e2565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f50146d0e3c60aa1d17a70635b05494f864e86144a2201275021014fbf08bafe29181900360200190a150565b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f5a39b8d3fd7361f3c5173afba233b7f1530567d03f9dfb0a2ca414960f08541d9181900360200190a150565b600080546001600160a01b0319166001600160a01b038316908117825560405190917f132c19de901bb4ed8403c34734b6c841d5dc57745824da452a52433519ea5abf91a25056fea164736f6c634300060c000a", "sourceMap": "535:2729:18:-:0;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106100a95760003560e01c80634e71e0c8116100715780634e71e0c814610165578063728e17a01461016d57806378121dd414610193578063893d20e81461019b57806399d54d39146101a35780639d54f419146101ab576100a9565b806320965255146100ae578063288b6a36146100c85780632cd56672146100ec578063347258aa1461010e5780634def985514610144575b600080fd5b6100b66101d1565b60408051918252519081900360200190f35b6100d06101de565b604080516001600160a01b039092168252519081900360200190f35b61010c6004803603602081101561010257600080fd5b503560170b6101ed565b005b61010c6004803603606081101561012457600080fd5b506001600160a01b038135811691602081013590911690604001356102c8565b61014c6103d6565b6040805192835260208301919091528051918290030190f35b61010c6103f1565b61010c6004803603602081101561018357600080fd5b50356001600160a01b0316610476565b6100b66104e9565b6100d0610500565b6100d061050f565b61010c600480360360208110156101c157600080fd5b50356001600160a01b031661051e565b600354601790810b900b90565b6000546001600160a01b031690565b6101f561050f565b6001600160a01b0316336001600160a01b03161461025a576040805162461bcd60e51b815260206004820152601960248201527f75706461746556616c75653a20556e617574686f72697a656400000000000000604482015290519081900360640190fd5b600380546001600160c01b0319166001600160c01b03601784900b8181169290921716600160c01b4267ffffffffffffffff16021790915560408051918252517f6577488b46c5d4bec17c8c7e5461e3b03f90932b44b31572d9b9cf30d21bdd8f916020908290030190a150565b60006102d2610500565b6001600160a01b03161461032d576040805162461bcd60e51b815260206004820152601960248201527f696e69743a20416c726561647920696e697469616c697a656400000000000000604482015290519081900360640190fd5b6001600160a01b03831661037d576040805162461bcd60e51b815260206004820152601260248201527134b734ba1d1022b6b83a3c902fb7bbb732b960711b604482015290519081900360640190fd5b6103868361058e565b6040805182815290517fdc73717d728bcfa015e8117438a65319aa06e979ca324afa6e1ea645c28ea15d9181900360200190a16001600160a01b038216156103d1576103d1826105e2565b505050565b6000806103e16101d1565b6103e96104e9565b915091509091565b60006103fb6101de565b9050336001600160a01b0382161461045a576040805162461bcd60e51b815260206004820152601c60248201527f636c61696d4f776e6572736869703a20556e617574686f72697a656400000000604482015290519081900360640190fd5b6104638161058e565b50600080546001600160a01b0319169055565b61047e610500565b6001600160a01b0316336001600160a01b0316146104dd576040805162461bcd60e51b81526020600482015260176024820152761bdb9b1e53dddb995c8e88155b985d5d1a1bdc9a5e9959604a1b604482015290519081900360640190fd5b6104e681610636565b50565b600354600160c01b900467ffffffffffffffff1690565b6001546001600160a01b031690565b6002546001600160a01b031690565b610526610500565b6001600160a01b0316336001600160a01b031614610585576040805162461bcd60e51b81526020600482015260176024820152761bdb9b1e53dddb995c8e88155b985d5d1a1bdc9a5e9959604a1b604482015290519081900360640190fd5b6104e6816105e2565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f50146d0e3c60aa1d17a70635b05494f864e86144a2201275021014fbf08bafe29181900360200190a150565b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f5a39b8d3fd7361f3c5173afba233b7f1530567d03f9dfb0a2ca414960f08541d9181900360200190a150565b600080546001600160a01b0319166001600160a01b038316908117825560405190917f132c19de901bb4ed8403c34734b6c841d5dc57745824da452a52433519ea5abf91a25056fea164736f6c634300060c000a", "sourceMap": "535:2729:18:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3168:94;;;:::i;:::-;;;;;;;;;;;;;;;;2263:113:361;;;:::i;:::-;;;;-1:-1:-1;;;;;2263:113:361;;;;;;;;;;;;;;1738:246:18;;;;;;;;;;;;;;;;-1:-1:-1;1738:246:18;;;;:::i;:::-;;1058:404;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1058:404:18;;;;;;;;;;;;;;;;;:::i;2453:192::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;991:229:361;;;:::i;1331:132::-;;;;;;;;;;;;;;;;-1:-1:-1;1331:132:361;-1:-1:-1;;;;;1331:132:361;;:::i;2786:113:18:-;;;:::i;2472:86:361:-;;;:::i;2994:92:18:-;;;:::i;1546:104::-;;;;;;;;;;;;;;;;-1:-1:-1;1546:104:18;-1:-1:-1;;;;;1546:104:18;;:::i;3168:94::-;3250:5;;;;;;3243:12;;3168:94;:::o;2263:113:361:-;2313:23;2355:14;-1:-1:-1;;;;;2355:14:361;;2263:113::o;1738:246:18:-;1819:12;:10;:12::i;:::-;-1:-1:-1;;;;;1805:26:18;:10;:26;1797:64;;;;;-1:-1:-1;;;1797:64:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;1872:5;:18;;-1:-1:-1;;;;;;1872:18:18;-1:-1:-1;;;;;1872:18:18;;;;;;;;;;;1900:37;-1:-1:-1;;;1921:15:18;1900:37;;;;;;;1953:24;;;;;;;;;;;;;;;;;1738:246;:::o;1058:404::-;1207:1;1185:10;:8;:10::i;:::-;-1:-1:-1;;;;;1185:24:18;;1177:62;;;;;-1:-1:-1;;;1177:62:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1257:20:18;;1249:51;;;;;-1:-1:-1;;;1249:51:18;;;;;;;;;;;;-1:-1:-1;;;1249:51:18;;;;;;;;;;;;;;;1311:18;1322:6;1311:10;:18::i;:::-;1345:25;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1385:22:18;;;1381:75;;1423:22;1436:8;1423:12;:22::i;:::-;1058:404;;;:::o;2453:192::-;2550:13;2565:20;2609:10;:8;:10::i;:::-;2621:16;:14;:16::i;:::-;2601:37;;;;2453:192;;:::o;991:229:361:-;1036:17;1056:19;:17;:19::i;:::-;1036:39;-1:-1:-1;;;;;;1093:23:361;;:10;:23;1085:64;;;;;-1:-1:-1;;;1085:64:361;;;;;;;;;;;;;;;;;;;;;;;;;;;;1160:21;1171:9;1160:10;:21::i;:::-;-1:-1:-1;1199:14:361;1192:21;;-1:-1:-1;;;;;;1192:21:361;;;991:229::o;1331:132::-;786:10;:8;:10::i;:::-;-1:-1:-1;;;;;772:24:361;:10;:24;764:60;;;;;-1:-1:-1;;;764:60:361;;;;;;;;;;;;-1:-1:-1;;;764:60:361;;;;;;;;;;;;;;;1416:40:::1;1436:19;1416;:40::i;:::-;1331:132:::0;:::o;2786:113:18:-;2881:11;;-1:-1:-1;;;2881:11:18;;;;;2786:113::o;2472:86:361:-;2546:5;;-1:-1:-1;;;;;2546:5:361;;2472:86::o;2994:92:18:-;3072:7;;-1:-1:-1;;;;;3072:7:18;;2994:92::o;1546:104::-;786:10:361;:8;:10::i;:::-;-1:-1:-1;;;;;772:24:361;:10;:24;764:60;;;;;-1:-1:-1;;;764:60:361;;;;;;;;;;;;-1:-1:-1;;;764:60:361;;;;;;;;;;;;;;;1617:26:18::1;1630:12;1617;:26::i;1919:120:361:-:0;1978:5;:18;;-1:-1:-1;;;;;;1978:18:361;-1:-1:-1;;;;;1978:18:361;;;;;;;;2012:20;;;;;;;;;;;;;;;;;1919:120;:::o;2055:131:18:-;2117:7;:22;;-1:-1:-1;;;;;;2117:22:18;-1:-1:-1;;;;;2117:22:18;;;;;;;;2155:24;;;;;;;;;;;;;;;;;2055:131;:::o;1543:174:361:-;1620:14;:36;;-1:-1:-1;;;;;;1620:36:361;-1:-1:-1;;;;;1620:36:361;;;;;;;1672:38;;1620:36;;1672:38;;;1543:174;:::o", "linkReferences": {} }, "methodIdentifiers": { "claimOwnership()": "4e71e0c8", "getLastUpdated()": "78121dd4", "getNominatedOwner()": "288b6a36", "getOwner()": "893d20e8", "getUpdater()": "99d54d39", "getValue()": "20965255", "getValueWithTimestamp()": "4def9855", "init(address,address,bytes32)": "347258aa", "setNominatedOwner(address)": "728e17a0", "setUpdater(address)": "9d54f419", "updateValue(int192)": "2cd56672" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"description\",\"type\":\"bytes32\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"nominatedOwner\",\"type\":\"address\"}],\"name\":\"NominatedOwnerSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"OwnerSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"updater\",\"type\":\"address\"}],\"name\":\"UpdaterSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"value\",\"type\":\"int256\"}],\"name\":\"ValueUpdated\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"claimOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getLastUpdated\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"lastUpdated_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getNominatedOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"nominatedOwner_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getUpdater\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"updater_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getValue\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"value_\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getValueWithTimestamp\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"value_\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"lastUpdated_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_updater\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"_description\",\"type\":\"bytes32\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nextNominatedOwner\",\"type\":\"address\"}],\"name\":\"setNominatedOwner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nextUpdater\",\"type\":\"address\"}],\"name\":\"setUpdater\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int192\",\"name\":\"_nextValue\",\"type\":\"int192\"}],\"name\":\"updateValue\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"claimOwnership()\":{\"details\":\"Note that this claims process means that `owner` can never be reset to address(0)\"},\"getLastUpdated()\":{\"returns\":{\"lastUpdated_\":\"The timestamp of the last update\"}},\"getNominatedOwner()\":{\"returns\":{\"nominatedOwner_\":\"The next contract owner nominee\"}},\"getOwner()\":{\"returns\":{\"owner_\":\"The contract owner\"}},\"getUpdater()\":{\"params\":{\"updater_\":\"The updater\"}},\"getValue()\":{\"returns\":{\"value_\":\"The value\"}},\"getValueWithTimestamp()\":{\"returns\":{\"lastUpdated_\":\"The timestamp of the last update\",\"value_\":\"The value\"}},\"init(address,address,bytes32)\":{\"params\":{\"_description\":\"A short encoded description for the oracle\",\"_owner\":\"The owner of the oracle\",\"_updater\":\"The updater of the oracle value\"}},\"setNominatedOwner(address)\":{\"params\":{\"_nextNominatedOwner\":\"The account to nominate\"}},\"setUpdater(address)\":{\"params\":{\"_nextUpdater\":\"The next updater\"}},\"updateValue(int192)\":{\"params\":{\"_nextValue\":\"The next value\"}}},\"title\":\"ManualValueOracleLib Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"claimOwnership()\":{\"notice\":\"Claim ownership of the contract\"},\"getLastUpdated()\":{\"notice\":\"Gets the last updated timestamp\"},\"getNominatedOwner()\":{\"notice\":\"Gets the account that is nominated to be the next contract owner\"},\"getOwner()\":{\"notice\":\"Gets the owner of this contract\"},\"getUpdater()\":{\"notice\":\"Gets the updater of the oracle value\"},\"getValue()\":{\"notice\":\"Gets the oracle value only\"},\"getValueWithTimestamp()\":{\"notice\":\"Gets the oracle value with last updated timestamp\"},\"init(address,address,bytes32)\":{\"notice\":\"Initializes the proxy\"},\"setNominatedOwner(address)\":{\"notice\":\"Nominate a new contract owner\"},\"setUpdater(address)\":{\"notice\":\"Sets the updater\"},\"updateValue(int192)\":{\"notice\":\"Updates the oracle value\"}},\"notice\":\"Library contract for ManualValueOracleProxy instances\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/arbitrary-value-oracles/manual-value/ManualValueOracleLib.sol\":\"ManualValueOracleLib\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/arbitrary-value-oracles/IArbitraryValueOracle.sol\":{\"keccak256\":\"0x333a51889276bf987405f310cf4c585f51f86bf496c658e0451412123f675890\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ad4e7e1f597bd399c48c27b391c669893e6b557dbdd06a1725070ac29d087cf0\",\"dweb:/ipfs/QmQrWo7nActQP5Ahh1SzkRNfpxbsPQLgNd3rUkNGUfDPKW\"]},\"contracts/persistent/arbitrary-value-oracles/manual-value/ManualValueOracleLib.sol\":{\"keccak256\":\"0x7d877285a4e7cca96f1a2baace86c4bf2a51a6e0ed0f7080db277a788855454e\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9f293be33875482e185790f0587cfcc905ecb2c6e2b57c642b558c3c0a8e6363\",\"dweb:/ipfs/Qmc2vS6aBatdFW1xq2aJsEZCAF4ZYU6U7QKh6ctLbYJcEi\"]},\"contracts/release/utils/NominatedOwnerMixin.sol\":{\"keccak256\":\"0xb8d1c6eba0b342bbbf49af872925fc8febbef1e0958fdb8d4664501001d73761\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://4c0679beb263fb2e4f04bf39e65db051d7af7984e8357bbe1f0901cd986e538d\",\"dweb:/ipfs/QmTooY2TQEh5ax2XhMvJoa7pzFrb3WLegXjQ9EMzCPVpQe\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "bytes32", "name": "description", "type": "bytes32", "indexed": false } ], "type": "event", "name": "Initialized", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "nominatedOwner", "type": "address", "indexed": true } ], "type": "event", "name": "NominatedOwnerSet", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address", "indexed": false } ], "type": "event", "name": "OwnerSet", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "updater", "type": "address", "indexed": false } ], "type": "event", "name": "UpdaterSet", "anonymous": false }, { "inputs": [ { "internalType": "int256", "name": "value", "type": "int256", "indexed": false } ], "type": "event", "name": "ValueUpdated", "anonymous": false }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "claimOwnership" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getLastUpdated", "outputs": [ { "internalType": "uint256", "name": "lastUpdated_", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getNominatedOwner", "outputs": [ { "internalType": "address", "name": "nominatedOwner_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getOwner", "outputs": [ { "internalType": "address", "name": "owner_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getUpdater", "outputs": [ { "internalType": "address", "name": "updater_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getValue", "outputs": [ { "internalType": "int256", "name": "value_", "type": "int256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getValueWithTimestamp", "outputs": [ { "internalType": "int256", "name": "value_", "type": "int256" }, { "internalType": "uint256", "name": "lastUpdated_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "_owner", "type": "address" }, { "internalType": "address", "name": "_updater", "type": "address" }, { "internalType": "bytes32", "name": "_description", "type": "bytes32" } ], "stateMutability": "nonpayable", "type": "function", "name": "init" }, { "inputs": [ { "internalType": "address", "name": "_nextNominatedOwner", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "setNominatedOwner" }, { "inputs": [ { "internalType": "address", "name": "_nextUpdater", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "setUpdater" }, { "inputs": [ { "internalType": "int192", "name": "_nextValue", "type": "int192" } ], "stateMutability": "nonpayable", "type": "function", "name": "updateValue" } ], "devdoc": { "kind": "dev", "methods": { "claimOwnership()": { "details": "Note that this claims process means that `owner` can never be reset to address(0)" }, "getLastUpdated()": { "returns": { "lastUpdated_": "The timestamp of the last update" } }, "getNominatedOwner()": { "returns": { "nominatedOwner_": "The next contract owner nominee" } }, "getOwner()": { "returns": { "owner_": "The contract owner" } }, "getUpdater()": { "params": { "updater_": "The updater" } }, "getValue()": { "returns": { "value_": "The value" } }, "getValueWithTimestamp()": { "returns": { "lastUpdated_": "The timestamp of the last update", "value_": "The value" } }, "init(address,address,bytes32)": { "params": { "_description": "A short encoded description for the oracle", "_owner": "The owner of the oracle", "_updater": "The updater of the oracle value" } }, "setNominatedOwner(address)": { "params": { "_nextNominatedOwner": "The account to nominate" } }, "setUpdater(address)": { "params": { "_nextUpdater": "The next updater" } }, "updateValue(int192)": { "params": { "_nextValue": "The next value" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "claimOwnership()": { "notice": "Claim ownership of the contract" }, "getLastUpdated()": { "notice": "Gets the last updated timestamp" }, "getNominatedOwner()": { "notice": "Gets the account that is nominated to be the next contract owner" }, "getOwner()": { "notice": "Gets the owner of this contract" }, "getUpdater()": { "notice": "Gets the updater of the oracle value" }, "getValue()": { "notice": "Gets the oracle value only" }, "getValueWithTimestamp()": { "notice": "Gets the oracle value with last updated timestamp" }, "init(address,address,bytes32)": { "notice": "Initializes the proxy" }, "setNominatedOwner(address)": { "notice": "Nominate a new contract owner" }, "setUpdater(address)": { "notice": "Sets the updater" }, "updateValue(int192)": { "notice": "Updates the oracle value" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/persistent/arbitrary-value-oracles/manual-value/ManualValueOracleLib.sol": "ManualValueOracleLib" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/arbitrary-value-oracles/IArbitraryValueOracle.sol": { "keccak256": "0x333a51889276bf987405f310cf4c585f51f86bf496c658e0451412123f675890", "urls": [ "bzz-raw://ad4e7e1f597bd399c48c27b391c669893e6b557dbdd06a1725070ac29d087cf0", "dweb:/ipfs/QmQrWo7nActQP5Ahh1SzkRNfpxbsPQLgNd3rUkNGUfDPKW" ], "license": "GPL-3.0" }, "contracts/persistent/arbitrary-value-oracles/manual-value/ManualValueOracleLib.sol": { "keccak256": "0x7d877285a4e7cca96f1a2baace86c4bf2a51a6e0ed0f7080db277a788855454e", "urls": [ "bzz-raw://9f293be33875482e185790f0587cfcc905ecb2c6e2b57c642b558c3c0a8e6363", "dweb:/ipfs/Qmc2vS6aBatdFW1xq2aJsEZCAF4ZYU6U7QKh6ctLbYJcEi" ], "license": "GPL-3.0" }, "contracts/release/utils/NominatedOwnerMixin.sol": { "keccak256": "0xb8d1c6eba0b342bbbf49af872925fc8febbef1e0958fdb8d4664501001d73761", "urls": [ "bzz-raw://4c0679beb263fb2e4f04bf39e65db051d7af7984e8357bbe1f0901cd986e538d", "dweb:/ipfs/QmTooY2TQEh5ax2XhMvJoa7pzFrb3WLegXjQ9EMzCPVpQe" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 18 } diff --git a/eth_defi/abi/enzyme/ManualValueOracleProxy.json b/eth_defi/abi/enzyme/ManualValueOracleProxy.json index 0e96bf47..4dae474f 100644 --- a/eth_defi/abi/enzyme/ManualValueOracleProxy.json +++ b/eth_defi/abi/enzyme/ManualValueOracleProxy.json @@ -1,137 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "bytes", - "name": "_constructData", - "type": "bytes" - }, - { - "internalType": "address", - "name": "_lib", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "stateMutability": "payable", - "type": "fallback" - } - ], - "bytecode": { - "object": "0x60a060405234801561001057600080fd5b506040516102e03803806102e08339818101604052604081101561003357600080fd5b810190808051604051939291908464010000000082111561005357600080fd5b90830190602082018581111561006857600080fd5b825164010000000081118282018810171561008257600080fd5b82525081516020918201929091019080838360005b838110156100af578181015183820152602001610097565b50505050905090810190601f1680156100dc5780820380516001836020036101000a031916815260200191505b50604052602001805190602001909291905050508181806001600160a01b03166080816001600160a01b031660601b81525050807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5560006060826001600160a01b0316846040518082805190602001908083835b602083106101705780518252601f199092019160209182019101610151565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d80600081146101d0576040519150601f19603f3d011682016040523d82523d6000602084013e6101d5565b606091505b50915091508181906102655760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561022a578181015183820152602001610212565b50505050905090810190601f1680156102575780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5050505050505060805160601c605a6102866000398060065250605a6000f3fe60806040527f00000000000000000000000000000000000000000000000000000000000000003660008037600080366000846127105a03f43d806000803e818015604857816000f35b816000fdfea164736f6c634300060c000a", - "sourceMap": "496:187:19:-:0;;;556:125;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;556:125:19;;;;;;;;;;-1:-1:-1;556:125:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;556:125:19;;;;;;;;;925:31:362;;;;-1:-1:-1;;925:31:362;;;1110:66;1086:136;;;1283:43;;556:125:19;;-1:-1:-1;1283:43:362;;-1:-1:-1;556:125:19;;1242:12:362;;925:31;;-1:-1:-1;;;;;925:31:362;;;1283:43;;556:125:19;;;;1283:43:362;;;;556:125:19;1283:43:362;;;;;;;;;;;-1:-1:-1;;1283:43:362;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1241:85;;;;1344:7;1360:10;1336:36;;;;;-1:-1:-1;;;1336:36:362;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;843:536;;;;556:125:19;;496:187;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x60806040527f00000000000000000000000000000000000000000000000000000000000000003660008037600080366000846127105a03f43d806000803e818015604857816000f35b816000fdfea164736f6c634300060c000a", - "sourceMap": "496:187:19:-:0;;;1500:14:362;1571;1476:21;;1548:38;1782:1;1763;1731:14;1710:3;1679:13;1655:5;1648;1644:17;1614:183;1823:16;1873:5;1870:1;1867;1852:27;1899:7;1919:55;;;;2023:5;2020:1;2013:16;1919:55;1954:5;1951:1;1944:16", - "linkReferences": {}, - "immutableReferences": { - "78944": [ - { - "start": 6, - "length": 32 - } - ] - } - }, - "methodIdentifiers": {}, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_constructData\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"_lib\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"stateMutability\":\"payable\",\"type\":\"fallback\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ManualValueOracleProxy Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Proxy contract for all ManualValueOracle instances\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/arbitrary-value-oracles/manual-value/ManualValueOracleProxy.sol\":\"ManualValueOracleProxy\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/arbitrary-value-oracles/manual-value/ManualValueOracleProxy.sol\":{\"keccak256\":\"0xb62b1a4b2be5ac43869a6b435a9055b42bc2e97ff4303325cd8526a895370345\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b8fbee4831f477481d9ee5077dddd9364f2c243263d5f1b3d1cb94528a9dc42e\",\"dweb:/ipfs/QmVLPPceLzs9acJUDVfNJBe4aMWSnnLcZWVca6ar186GEi\"]},\"contracts/release/utils/NonUpgradableProxy.sol\":{\"keccak256\":\"0x7d70145a2a0ff8c36318b23ac6ca662f133584dd823933230c66143b89e2d53d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b05ea625a428fdf3f908db3e97a358a4117d4998abde806ba3839c7fad821bca\",\"dweb:/ipfs/QmSLzFT1ktLTZ7rAKYjcg6dBRuxVMzrGXjGJSsH5nSVx2G\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "bytes", - "name": "_constructData", - "type": "bytes" - }, - { - "internalType": "address", - "name": "_lib", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "stateMutability": "payable", - "type": "fallback" - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/persistent/arbitrary-value-oracles/manual-value/ManualValueOracleProxy.sol": "ManualValueOracleProxy" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/arbitrary-value-oracles/manual-value/ManualValueOracleProxy.sol": { - "keccak256": "0xb62b1a4b2be5ac43869a6b435a9055b42bc2e97ff4303325cd8526a895370345", - "urls": [ - "bzz-raw://b8fbee4831f477481d9ee5077dddd9364f2c243263d5f1b3d1cb94528a9dc42e", - "dweb:/ipfs/QmVLPPceLzs9acJUDVfNJBe4aMWSnnLcZWVca6ar186GEi" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/NonUpgradableProxy.sol": { - "keccak256": "0x7d70145a2a0ff8c36318b23ac6ca662f133584dd823933230c66143b89e2d53d", - "urls": [ - "bzz-raw://b05ea625a428fdf3f908db3e97a358a4117d4998abde806ba3839c7fad821bca", - "dweb:/ipfs/QmSLzFT1ktLTZ7rAKYjcg6dBRuxVMzrGXjGJSsH5nSVx2G" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 19 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_constructData", "type": "bytes", "internalType": "bytes" }, { "name": "_lib", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "fallback", "stateMutability": "payable" } ], "bytecode": { "object": "0x60a060405234801561001057600080fd5b506040516102e03803806102e08339818101604052604081101561003357600080fd5b810190808051604051939291908464010000000082111561005357600080fd5b90830190602082018581111561006857600080fd5b825164010000000081118282018810171561008257600080fd5b82525081516020918201929091019080838360005b838110156100af578181015183820152602001610097565b50505050905090810190601f1680156100dc5780820380516001836020036101000a031916815260200191505b50604052602001805190602001909291905050508181806001600160a01b03166080816001600160a01b031660601b81525050807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5560006060826001600160a01b0316846040518082805190602001908083835b602083106101705780518252601f199092019160209182019101610151565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d80600081146101d0576040519150601f19603f3d011682016040523d82523d6000602084013e6101d5565b606091505b50915091508181906102655760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561022a578181015183820152602001610212565b50505050905090810190601f1680156102575780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5050505050505060805160601c605a6102866000398060065250605a6000f3fe60806040527f00000000000000000000000000000000000000000000000000000000000000003660008037600080366000846127105a03f43d806000803e818015604857816000f35b816000fdfea164736f6c634300060c000a", "sourceMap": "496:187:19:-:0;;;556:125;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;556:125:19;;;;;;;;;;-1:-1:-1;556:125:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;556:125:19;;;;;;;;;925:31:362;;;;-1:-1:-1;;925:31:362;;;1110:66;1086:136;;;1283:43;;556:125:19;;-1:-1:-1;1283:43:362;;-1:-1:-1;556:125:19;;1242:12:362;;925:31;;-1:-1:-1;;;;;925:31:362;;;1283:43;;556:125:19;;;;1283:43:362;;;;556:125:19;1283:43:362;;;;;;;;;;;-1:-1:-1;;1283:43:362;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1241:85;;;;1344:7;1360:10;1336:36;;;;;-1:-1:-1;;;1336:36:362;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;843:536;;;;556:125:19;;496:187;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x60806040527f00000000000000000000000000000000000000000000000000000000000000003660008037600080366000846127105a03f43d806000803e818015604857816000f35b816000fdfea164736f6c634300060c000a", "sourceMap": "496:187:19:-:0;;;1500:14:362;1571;1476:21;;1548:38;1782:1;1763;1731:14;1710:3;1679:13;1655:5;1648;1644:17;1614:183;1823:16;1873:5;1870:1;1867;1852:27;1899:7;1919:55;;;;2023:5;2020:1;2013:16;1919:55;1954:5;1951:1;1944:16", "linkReferences": {}, "immutableReferences": { "78944": [ { "start": 6, "length": 32 } ] } }, "methodIdentifiers": {}, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_constructData\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"_lib\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"stateMutability\":\"payable\",\"type\":\"fallback\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ManualValueOracleProxy Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Proxy contract for all ManualValueOracle instances\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/arbitrary-value-oracles/manual-value/ManualValueOracleProxy.sol\":\"ManualValueOracleProxy\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/arbitrary-value-oracles/manual-value/ManualValueOracleProxy.sol\":{\"keccak256\":\"0xb62b1a4b2be5ac43869a6b435a9055b42bc2e97ff4303325cd8526a895370345\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b8fbee4831f477481d9ee5077dddd9364f2c243263d5f1b3d1cb94528a9dc42e\",\"dweb:/ipfs/QmVLPPceLzs9acJUDVfNJBe4aMWSnnLcZWVca6ar186GEi\"]},\"contracts/release/utils/NonUpgradableProxy.sol\":{\"keccak256\":\"0x7d70145a2a0ff8c36318b23ac6ca662f133584dd823933230c66143b89e2d53d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b05ea625a428fdf3f908db3e97a358a4117d4998abde806ba3839c7fad821bca\",\"dweb:/ipfs/QmSLzFT1ktLTZ7rAKYjcg6dBRuxVMzrGXjGJSsH5nSVx2G\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "bytes", "name": "_constructData", "type": "bytes" }, { "internalType": "address", "name": "_lib", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "stateMutability": "payable", "type": "fallback" } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/persistent/arbitrary-value-oracles/manual-value/ManualValueOracleProxy.sol": "ManualValueOracleProxy" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/arbitrary-value-oracles/manual-value/ManualValueOracleProxy.sol": { "keccak256": "0xb62b1a4b2be5ac43869a6b435a9055b42bc2e97ff4303325cd8526a895370345", "urls": [ "bzz-raw://b8fbee4831f477481d9ee5077dddd9364f2c243263d5f1b3d1cb94528a9dc42e", "dweb:/ipfs/QmVLPPceLzs9acJUDVfNJBe4aMWSnnLcZWVca6ar186GEi" ], "license": "GPL-3.0" }, "contracts/release/utils/NonUpgradableProxy.sol": { "keccak256": "0x7d70145a2a0ff8c36318b23ac6ca662f133584dd823933230c66143b89e2d53d", "urls": [ "bzz-raw://b05ea625a428fdf3f908db3e97a358a4117d4998abde806ba3839c7fad821bca", "dweb:/ipfs/QmSLzFT1ktLTZ7rAKYjcg6dBRuxVMzrGXjGJSsH5nSVx2G" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 19 } diff --git a/eth_defi/abi/enzyme/MapleLiquidityPositionDataDecoder.json b/eth_defi/abi/enzyme/MapleLiquidityPositionDataDecoder.json index e1bb3664..96e01cd3 100644 --- a/eth_defi/abi/enzyme/MapleLiquidityPositionDataDecoder.json +++ b/eth_defi/abi/enzyme/MapleLiquidityPositionDataDecoder.json @@ -1,78 +1 @@ -{ - "abi": [], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": {}, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"MapleLiquidityPositionDataDecoder Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Abstract contract containing data decodings for MapleLiquidityPosition payloads\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/maple-liquidity/MapleLiquidityPositionDataDecoder.sol\":\"MapleLiquidityPositionDataDecoder\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/external-position-manager/external-positions/maple-liquidity/MapleLiquidityPositionDataDecoder.sol\":{\"keccak256\":\"0xd27d4afc91940a9dc2b2ea83ba11a1b98ae07e2165436826af0558c91edd12f4\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://672ed71da75cee7c500255b0c91dba9eef16c3b295ec1eadbbd413d8be34c6e9\",\"dweb:/ipfs/QmaPHi5HajA6Wug9ruvQ6wuGNAFUYBv4QFrrFWtigQHM5e\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/external-position-manager/external-positions/maple-liquidity/MapleLiquidityPositionDataDecoder.sol": "MapleLiquidityPositionDataDecoder" - }, - "libraries": {} - }, - "sources": { - "contracts/release/extensions/external-position-manager/external-positions/maple-liquidity/MapleLiquidityPositionDataDecoder.sol": { - "keccak256": "0xd27d4afc91940a9dc2b2ea83ba11a1b98ae07e2165436826af0558c91edd12f4", - "urls": [ - "bzz-raw://672ed71da75cee7c500255b0c91dba9eef16c3b295ec1eadbbd413d8be34c6e9", - "dweb:/ipfs/QmaPHi5HajA6Wug9ruvQ6wuGNAFUYBv4QFrrFWtigQHM5e" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 115 -} +{ "abi": [], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": {}, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"MapleLiquidityPositionDataDecoder Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Abstract contract containing data decodings for MapleLiquidityPosition payloads\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/maple-liquidity/MapleLiquidityPositionDataDecoder.sol\":\"MapleLiquidityPositionDataDecoder\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/external-position-manager/external-positions/maple-liquidity/MapleLiquidityPositionDataDecoder.sol\":{\"keccak256\":\"0xd27d4afc91940a9dc2b2ea83ba11a1b98ae07e2165436826af0558c91edd12f4\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://672ed71da75cee7c500255b0c91dba9eef16c3b295ec1eadbbd413d8be34c6e9\",\"dweb:/ipfs/QmaPHi5HajA6Wug9ruvQ6wuGNAFUYBv4QFrrFWtigQHM5e\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/external-position-manager/external-positions/maple-liquidity/MapleLiquidityPositionDataDecoder.sol": "MapleLiquidityPositionDataDecoder" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/extensions/external-position-manager/external-positions/maple-liquidity/MapleLiquidityPositionDataDecoder.sol": { "keccak256": "0xd27d4afc91940a9dc2b2ea83ba11a1b98ae07e2165436826af0558c91edd12f4", "urls": [ "bzz-raw://672ed71da75cee7c500255b0c91dba9eef16c3b295ec1eadbbd413d8be34c6e9", "dweb:/ipfs/QmaPHi5HajA6Wug9ruvQ6wuGNAFUYBv4QFrrFWtigQHM5e" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 115 } diff --git a/eth_defi/abi/enzyme/MapleLiquidityPositionLib.json b/eth_defi/abi/enzyme/MapleLiquidityPositionLib.json index e203eb3b..aed01119 100644 --- a/eth_defi/abi/enzyme/MapleLiquidityPositionLib.json +++ b/eth_defi/abi/enzyme/MapleLiquidityPositionLib.json @@ -1,812 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_mapleV1ToV2PoolMapper", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "lendingPoolV1", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "PoolTokenV1PreMigrationValueSnapshotted", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "lendingPool", - "type": "address" - } - ], - "name": "UsedLendingPoolAdded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "lendingPool", - "type": "address" - } - ], - "name": "UsedLendingPoolRemoved", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "lendingPoolV2", - "type": "address" - } - ], - "name": "UsedLendingPoolV2Added", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "lendingPoolV2", - "type": "address" - } - ], - "name": "UsedLendingPoolV2Removed", - "type": "event" - }, - { - "inputs": [], - "name": "getDebtAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "assets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "amounts_", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getManagedAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "assets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "amounts_", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_poolV1", - "type": "address" - } - ], - "name": "getPreMigrationValueSnapshotOfPoolTokenV1", - "outputs": [ - { - "internalType": "uint256", - "name": "valueSnapshot_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getUsedLendingPoolsV1", - "outputs": [ - { - "internalType": "address[]", - "name": "poolsV1_", - "type": "address[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getUsedLendingPoolsV2", - "outputs": [ - { - "internalType": "address[]", - "name": "poolsV2_", - "type": "address[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "init", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_poolV2", - "type": "address" - } - ], - "name": "isUsedLendingPoolV2", - "outputs": [ - { - "internalType": "bool", - "name": "isUsed_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "migratePoolsV1ToV2", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - } - ], - "name": "receiveCallFromVault", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "snapshotPoolTokenV1BalanceValues", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x60a060405234801561001057600080fd5b5060405161233e38038061233e8339818101604052602081101561003357600080fd5b5051606081901b6001600160601b0319166080526001600160a01b03166122c86100766000398061037e528061047252806105da528061074552506122c86000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c8063be0a08e911610066578063be0a08e914610236578063c4c54c921461028e578063e5c23a9714610296578063e8ffc97b1461033c578063ecd658b4146103745761009e565b80632d13e051146100a35780634ddf47d4146100ad5780637f15233f1461015357806380daddb81461015b578063a3451a39146101fc575b600080fd5b6100ab61037c565b005b6100ab600480360360208110156100c357600080fd5b8101906020810181356401000000008111156100de57600080fd5b8201836020820111156100f057600080fd5b8035906020019184600183028401116401000000008311171561011257600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506105d5945050505050565b6100ab6105d8565b610163610735565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156101a757818101518382015260200161018f565b50505050905001838103825284818151815260200191508051906020019060200280838360005b838110156101e65781810151838201526020016101ce565b5050505090500194505050505060405180910390f35b6102226004803603602081101561021257600080fd5b50356001600160a01b0316610be2565b604080519115158252519081900360200190f35b61023e610bf5565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561027a578181015183820152602001610262565b505050509050019250505060405180910390f35b61023e610c57565b6100ab600480360360208110156102ac57600080fd5b8101906020810181356401000000008111156102c757600080fd5b8201836020820111156102d957600080fd5b803590602001918460018302840111640100000000831117156102fb57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610cb7945050505050565b6103626004803603602081101561035257600080fd5b50356001600160a01b0316610e2c565b60408051918252519081900360200190f35b610163610e47565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316639cf7922f6040518163ffffffff1660e01b815260040160206040518083038186803b1580156103d557600080fd5b505afa1580156103e9573d6000803e3d6000fd5b505050506040513d60208110156103ff57600080fd5b505161043c5760405162461bcd60e51b81526004018080602001828103825260298152602001806121956029913960400191505060405180910390fd5b6060610446610c57565b805190915060005b818110156105d057600083828151811061046457fe5b6020026020010151905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166337dd8196836040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156104dd57600080fd5b505afa1580156104f1573d6000803e3d6000fd5b505050506040513d602081101561050757600080fd5b505190506001600160a01b038116610566576040805162461bcd60e51b815260206004820152601e60248201527f6d696772617465506f6f6c735631546f56323a204e6f206d617070696e670000604482015290519081900360640190fd5b61056f81610e4d565b61057a600083610ed1565b506040516001600160a01b038316907f33051e89b0c4d3b7fb9db3bcf71cdf9536833424b480c169231a80157f3dd6ee90600090a2506001600160a01b031660009081526002602052604081205560010161044e565b505050565b50565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638580eb5b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561063157600080fd5b505afa158015610645573d6000803e3d6000fd5b505050506040513d602081101561065b57600080fd5b50516106985760405162461bcd60e51b815260040180806020018281038252603281526020018061222a6032913960400191505060405180910390fd5b60606106a2610c57565b805190915060005b818110156105d05760008382815181106106c057fe5b6020026020010151905060006106d582610fc9565b6001600160a01b0383166000818152600260209081526040918290208490558151848152915193945091927fe3086fdf58014fc6068d005890131ac0cb6f8c29a66d7f7bc15a097e1f85746e929181900390910190a250506001016106aa565b600054606090819080156109e5577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316639cf7922f6040518163ffffffff1660e01b815260040160206040518083038186803b15801561079c57600080fd5b505afa1580156107b0573d6000803e3d6000fd5b505050506040513d60208110156107c657600080fd5b5051156107dd576107d561037c565b5060006109e5565b306001600160a01b0316637f15233f6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561081857600080fd5b505af1925050508015610829575060015b506060610834610c57565b90508167ffffffffffffffff8111801561084d57600080fd5b50604051908082528060200260200182016040528015610877578160200160208202803683370190505b5093508167ffffffffffffffff8111801561089157600080fd5b506040519080825280602002602001820160405280156108bb578160200160208202803683370190505b50925060005b828110156109e25760008282815181106108d757fe5b6020026020010151905060006108ec82610e2c565b90506000811161092d5760405162461bcd60e51b81526004018080602001828103825260258152602001806122056025913960400191505060405180910390fd5b816001600160a01b031663209b2bca6040518163ffffffff1660e01b815260040160206040518083038186803b15801561096657600080fd5b505afa15801561097a573d6000803e3d6000fd5b505050506040513d602081101561099057600080fd5b505187518890859081106109a057fe5b60200260200101906001600160a01b031690816001600160a01b031681525050808684815181106109cd57fe5b602090810291909101015250506001016108c1565b50505b80610bc35760606109f4610bf5565b80519091508067ffffffffffffffff81118015610a1057600080fd5b50604051908082528060200260200182016040528015610a3a578160200160208202803683370190505b5094508067ffffffffffffffff81118015610a5457600080fd5b50604051908082528060200260200182016040528015610a7e578160200160208202803683370190505b50935060005b81811015610bbf576000838281518110610a9a57fe5b60200260200101519050806001600160a01b03166338d52e0f6040518163ffffffff1660e01b815260040160206040518083038186803b158015610add57600080fd5b505afa158015610af1573d6000803e3d6000fd5b505050506040513d6020811015610b0757600080fd5b50518751889084908110610b1757fe5b6001600160a01b03928316602091820292909201015281166350496cbd610b3d836111c8565b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610b7157600080fd5b505afa158015610b85573d6000803e3d6000fd5b505050506040513d6020811015610b9b57600080fd5b50518651879084908110610bab57fe5b602090810291909101015250600101610a84565b5050505b600183511115610bdd57610bd783836113aa565b90935091505b509091565b6000610bef6001836115ed565b92915050565b60606001805480602002602001604051908101604052809291908181526020018280548015610c4d57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610c2f575b5050505050905090565b60606000805480602002602001604051908101604052809291908181526020018280548015610c4d576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311610c2f575050505050905090565b60006060828060200190516040811015610cd057600080fd5b815160208301805160405192949293830192919084640100000000821115610cf757600080fd5b908301906020820185811115610d0c57600080fd5b8251640100000000811182820188101715610d2657600080fd5b82525081516020918201929091019080838360005b83811015610d53578181015183820152602001610d3b565b50505050905090810190601f168015610d805780820380516001836020036101000a031916815260200191505b50604052505050915091506009600c811115610d9857fe5b821415610dad57610da881611645565b6105d0565b600a821415610dbf57610da881611759565b600b821415610dd157610da8816117ed565b600c821415610de357610da8816118d4565b6008821415610df557610da88161193b565b60405162461bcd60e51b81526004018080602001828103825260268152602001806121be6026913960400191505060405180910390fd5b6001600160a01b031660009081526002602052604090205490565b60608091565b610e5681610be2565b6105d55760018054808201825560009182527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60180546001600160a01b0319166001600160a01b03841690811790915560405190917ff5adf0712ae89feadd26c8ee6a898759c89978dcc4c5f23811900dc45079821691a250565b8154600090815b81811015610fc157836001600160a01b0316858281548110610ef657fe5b6000918252602090912001546001600160a01b03161415610fb95760018203811015610f8457846001830381548110610f2b57fe5b9060005260206000200160009054906101000a90046001600160a01b0316858281548110610f5557fe5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055505b84805480610f8e57fe5b600082815260209020810160001990810180546001600160a01b031916905501905560019250610fc1565b600101610ed8565b505092915050565b60008082905060006110b0826001600160a01b031663209b2bca6040518163ffffffff1660e01b815260040160206040518083038186803b15801561100d57600080fd5b505afa158015611021573d6000803e3d6000fd5b505050506040513d602081101561103757600080fd5b5051604080516370a0823160e01b815230600482015290516001600160a01b038816916370a08231916024808301926020929190829003018186803b15801561107f57600080fd5b505afa158015611093573d6000803e3d6000fd5b505050506040513d60208110156110a957600080fd5b5051611aa5565b90506000826001600160a01b031663443bb293306040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050602060405180830381600087803b15801561110357600080fd5b505af1158015611117573d6000803e3d6000fd5b505050506040513d602081101561112d57600080fd5b505160408051636696779160e01b815230600482015290519192506000916001600160a01b03861691636696779191602480830192602092919082900301818787803b15801561117c57600080fd5b505af1158015611190573d6000803e3d6000fd5b505050506040513d60208110156111a657600080fd5b505190506111be816111b88585611b39565b90611b93565b9695505050505050565b6000816001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561121757600080fd5b505afa15801561122b573d6000803e3d6000fd5b505050506040513d602081101561124157600080fd5b50516040805163481c6a7560e01b815290519192506000916001600160a01b0385169163481c6a75916004808301926020929190829003018186803b15801561128957600080fd5b505afa15801561129d573d6000803e3d6000fd5b505050506040513d60208110156112b357600080fd5b50516040805163417f29ad60e11b815290516001600160a01b03909216916382fe535a91600480820192602092909190829003018186803b1580156112f757600080fd5b505afa15801561130b573d6000803e3d6000fd5b505050506040513d602081101561132157600080fd5b5051604080516338cdab1160e21b815230600482015290519192506113a3916001600160a01b0384169163e336ac44916024808301926020929190829003018186803b15801561137057600080fd5b505afa158015611384573d6000803e3d6000fd5b505050506040513d602081101561139a57600080fd5b50518390611b39565b9392505050565b6060808351600014156113bc576115e6565b6001805b855181101561143c576000805b82811015611426578781815181106113e157fe5b60200260200101516001600160a01b03168884815181106113fe57fe5b60200260200101516001600160a01b0316141561141e5760019150611426565b6001016113cd565b5080611433576001909201915b506001016113c0565b508067ffffffffffffffff8111801561145457600080fd5b5060405190808252806020026020018201604052801561147e578160200160208202803683370190505b5092508067ffffffffffffffff8111801561149857600080fd5b506040519080825280602002602001820160405280156114c2578160200160208202803683370190505b5091506000805b86518110156115e2576000805b83811015611561578681815181106114ea57fe5b60200260200101516001600160a01b031689848151811061150757fe5b60200260200101516001600160a01b03161415611559576001915087838151811061152e57fe5b602002602001015186828151811061154257fe5b602002602001018181510191508181525050611561565b6001016114d6565b50806115d95787828151811061157357fe5b602002602001015186848151811061158757fe5b60200260200101906001600160a01b031690816001600160a01b0316815250508682815181106115b357fe5b60200260200101518584815181106115c757fe5b60209081029190910101526001909201915b506001016114c9565b5050505b9250929050565b8154600090815b8181101561163a5784818154811061160857fe5b6000918252602090912001546001600160a01b038581169116141561163257600192505050610bef565b6001016115f4565b506000949350505050565b600054156116555761165561037c565b60008061166183611bf0565b915091506116d4826001600160a01b03166338d52e0f6040518163ffffffff1660e01b815260040160206040518083038186803b1580156116a157600080fd5b505afa1580156116b5573d6000803e3d6000fd5b505050506040513d60208110156116cb57600080fd5b50518383611c1b565b60408051636e553f6560e01b81526004810183905230602482015290516001600160a01b03841691636e553f659160448083019260209291908290030181600087803b15801561172357600080fd5b505af1158015611737573d6000803e3d6000fd5b505050506040513d602081101561174d57600080fd5b506105d0905082610e4d565b600054156117695761176961037c565b60008061177583611bf0565b91509150816001600160a01b031663107703ab82306040518363ffffffff1660e01b815260040180838152602001826001600160a01b0316815260200192505050600060405180830381600087803b1580156117d057600080fd5b505af11580156117e4573d6000803e3d6000fd5b50505050505050565b6000806117f983611bf0565b60408051635d043b2960e11b81526004810183905233602482015230604482015290519294509092506001600160a01b0384169163ba087652916064808201926020929091908290030181600087803b15801561185557600080fd5b505af1158015611869573d6000803e3d6000fd5b505050506040513d602081101561187f57600080fd5b5061188b9050826111c8565b6105d05761189a600183610ed1565b506040516001600160a01b038316907f9d6926baa57c10a6af1bafa91bb5183c5faae6fc2d152ebbd45a1ef6a265bb1690600090a2505050565b6000806118e083611bf0565b91509150816001600160a01b0316631b8f183082306040518363ffffffff1660e01b815260040180838152602001826001600160a01b0316815260200192505050600060405180830381600087803b1580156117d057600080fd5b600061194682611cd3565b905060008190506000816001600160a01b031663d1af0c7d6040518163ffffffff1660e01b815260040160206040518083038186803b15801561198857600080fd5b505afa15801561199c573d6000803e3d6000fd5b505050506040513d60208110156119b257600080fd5b505160408051631e8c5c8960e11b815290519192506001600160a01b03841691633d18b9129160048082019260009290919082900301818387803b1580156119f957600080fd5b505af1158015611a0d573d6000803e3d6000fd5b50505050611a9f33826001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015611a6257600080fd5b505afa158015611a76573d6000803e3d6000fd5b505050506040513d6020811015611a8c57600080fd5b50516001600160a01b0384169190611cf2565b50505050565b600080836001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015611ae157600080fd5b505afa158015611af5573d6000803e3d6000fd5b505050506040513d6020811015611b0b57600080fd5b505160ff16600a0a9050611b31670de0b6b3a7640000611b2b8584611d44565b90611d9d565b949350505050565b6000828201838110156113a3576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600082821115611bea576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600080828060200190516040811015611c0857600080fd5b5080516020909101519092509050915091565b60408051636eb1769f60e11b81523060048201526001600160a01b038481166024830152915160009286169163dd62ed3e916044808301926020929190829003018186803b158015611c6c57600080fd5b505afa158015611c80573d6000803e3d6000fd5b505050506040513d6020811015611c9657600080fd5b5051905081811015611a9f578015611cbd57611cbd6001600160a01b038516846000611e04565b611a9f6001600160a01b03851684600019611e04565b6000818060200190516020811015611cea57600080fd5b505192915050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526105d0908490611f13565b600082611d5357506000610bef565b82820282848281611d6057fe5b04146113a35760405162461bcd60e51b81526004018080602001828103825260218152602001806121e46021913960400191505060405180910390fd5b6000808211611df3576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b818381611dfc57fe5b049392505050565b801580611e8a575060408051636eb1769f60e11b81523060048201526001600160a01b03848116602483015291519185169163dd62ed3e91604480820192602092909190829003018186803b158015611e5c57600080fd5b505afa158015611e70573d6000803e3d6000fd5b505050506040513d6020811015611e8657600080fd5b5051155b611ec55760405162461bcd60e51b81526004018080602001828103825260368152602001806122866036913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526105d09084905b6060611f68826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316611fc49092919063ffffffff16565b8051909150156105d057808060200190516020811015611f8757600080fd5b50516105d05760405162461bcd60e51b815260040180806020018281038252602a81526020018061225c602a913960400191505060405180910390fd5b6060611b31848460008585611fd8856120ea565b612029576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b602083106120685780518252601f199092019160209182019101612049565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146120ca576040519150601f19603f3d011682016040523d82523d6000602084013e6120cf565b606091505b50915091506120df8282866120f0565b979650505050505050565b3b151590565b606083156120ff5750816113a3565b82511561210f5782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612159578181015183820152602001612141565b50505050905090810190601f1680156121865780820380516001836020036101000a031916815260200191505b509250505060405180910390fdfe6d696772617465506f6f6c735631546f56323a204d6967726174696f6e206e6f7420616c6c6f7765647265636569766543616c6c46726f6d5661756c743a20496e76616c696420616374696f6e4964536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f776765744d616e616765644173736574733a204e6f20706f6f6c20763120736e617073686f74736e617073686f74506f6f6c546f6b656e563142616c616e636556616c7565733a20536e617073686f74732066726f7a656e5361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e6365a164736f6c634300060c000a", - "sourceMap": "1336:14033:116:-:0;;;1792:151;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1792:151:116;1853:83;;;;-1:-1:-1;;;;;;1853:83:116;;;-1:-1:-1;;;;;1336:14033:116;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b506004361061009e5760003560e01c8063be0a08e911610066578063be0a08e914610236578063c4c54c921461028e578063e5c23a9714610296578063e8ffc97b1461033c578063ecd658b4146103745761009e565b80632d13e051146100a35780634ddf47d4146100ad5780637f15233f1461015357806380daddb81461015b578063a3451a39146101fc575b600080fd5b6100ab61037c565b005b6100ab600480360360208110156100c357600080fd5b8101906020810181356401000000008111156100de57600080fd5b8201836020820111156100f057600080fd5b8035906020019184600183028401116401000000008311171561011257600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506105d5945050505050565b6100ab6105d8565b610163610735565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156101a757818101518382015260200161018f565b50505050905001838103825284818151815260200191508051906020019060200280838360005b838110156101e65781810151838201526020016101ce565b5050505090500194505050505060405180910390f35b6102226004803603602081101561021257600080fd5b50356001600160a01b0316610be2565b604080519115158252519081900360200190f35b61023e610bf5565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561027a578181015183820152602001610262565b505050509050019250505060405180910390f35b61023e610c57565b6100ab600480360360208110156102ac57600080fd5b8101906020810181356401000000008111156102c757600080fd5b8201836020820111156102d957600080fd5b803590602001918460018302840111640100000000831117156102fb57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610cb7945050505050565b6103626004803603602081101561035257600080fd5b50356001600160a01b0316610e2c565b60408051918252519081900360200190f35b610163610e47565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316639cf7922f6040518163ffffffff1660e01b815260040160206040518083038186803b1580156103d557600080fd5b505afa1580156103e9573d6000803e3d6000fd5b505050506040513d60208110156103ff57600080fd5b505161043c5760405162461bcd60e51b81526004018080602001828103825260298152602001806121956029913960400191505060405180910390fd5b6060610446610c57565b805190915060005b818110156105d057600083828151811061046457fe5b6020026020010151905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166337dd8196836040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156104dd57600080fd5b505afa1580156104f1573d6000803e3d6000fd5b505050506040513d602081101561050757600080fd5b505190506001600160a01b038116610566576040805162461bcd60e51b815260206004820152601e60248201527f6d696772617465506f6f6c735631546f56323a204e6f206d617070696e670000604482015290519081900360640190fd5b61056f81610e4d565b61057a600083610ed1565b506040516001600160a01b038316907f33051e89b0c4d3b7fb9db3bcf71cdf9536833424b480c169231a80157f3dd6ee90600090a2506001600160a01b031660009081526002602052604081205560010161044e565b505050565b50565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638580eb5b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561063157600080fd5b505afa158015610645573d6000803e3d6000fd5b505050506040513d602081101561065b57600080fd5b50516106985760405162461bcd60e51b815260040180806020018281038252603281526020018061222a6032913960400191505060405180910390fd5b60606106a2610c57565b805190915060005b818110156105d05760008382815181106106c057fe5b6020026020010151905060006106d582610fc9565b6001600160a01b0383166000818152600260209081526040918290208490558151848152915193945091927fe3086fdf58014fc6068d005890131ac0cb6f8c29a66d7f7bc15a097e1f85746e929181900390910190a250506001016106aa565b600054606090819080156109e5577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316639cf7922f6040518163ffffffff1660e01b815260040160206040518083038186803b15801561079c57600080fd5b505afa1580156107b0573d6000803e3d6000fd5b505050506040513d60208110156107c657600080fd5b5051156107dd576107d561037c565b5060006109e5565b306001600160a01b0316637f15233f6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561081857600080fd5b505af1925050508015610829575060015b506060610834610c57565b90508167ffffffffffffffff8111801561084d57600080fd5b50604051908082528060200260200182016040528015610877578160200160208202803683370190505b5093508167ffffffffffffffff8111801561089157600080fd5b506040519080825280602002602001820160405280156108bb578160200160208202803683370190505b50925060005b828110156109e25760008282815181106108d757fe5b6020026020010151905060006108ec82610e2c565b90506000811161092d5760405162461bcd60e51b81526004018080602001828103825260258152602001806122056025913960400191505060405180910390fd5b816001600160a01b031663209b2bca6040518163ffffffff1660e01b815260040160206040518083038186803b15801561096657600080fd5b505afa15801561097a573d6000803e3d6000fd5b505050506040513d602081101561099057600080fd5b505187518890859081106109a057fe5b60200260200101906001600160a01b031690816001600160a01b031681525050808684815181106109cd57fe5b602090810291909101015250506001016108c1565b50505b80610bc35760606109f4610bf5565b80519091508067ffffffffffffffff81118015610a1057600080fd5b50604051908082528060200260200182016040528015610a3a578160200160208202803683370190505b5094508067ffffffffffffffff81118015610a5457600080fd5b50604051908082528060200260200182016040528015610a7e578160200160208202803683370190505b50935060005b81811015610bbf576000838281518110610a9a57fe5b60200260200101519050806001600160a01b03166338d52e0f6040518163ffffffff1660e01b815260040160206040518083038186803b158015610add57600080fd5b505afa158015610af1573d6000803e3d6000fd5b505050506040513d6020811015610b0757600080fd5b50518751889084908110610b1757fe5b6001600160a01b03928316602091820292909201015281166350496cbd610b3d836111c8565b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610b7157600080fd5b505afa158015610b85573d6000803e3d6000fd5b505050506040513d6020811015610b9b57600080fd5b50518651879084908110610bab57fe5b602090810291909101015250600101610a84565b5050505b600183511115610bdd57610bd783836113aa565b90935091505b509091565b6000610bef6001836115ed565b92915050565b60606001805480602002602001604051908101604052809291908181526020018280548015610c4d57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610c2f575b5050505050905090565b60606000805480602002602001604051908101604052809291908181526020018280548015610c4d576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311610c2f575050505050905090565b60006060828060200190516040811015610cd057600080fd5b815160208301805160405192949293830192919084640100000000821115610cf757600080fd5b908301906020820185811115610d0c57600080fd5b8251640100000000811182820188101715610d2657600080fd5b82525081516020918201929091019080838360005b83811015610d53578181015183820152602001610d3b565b50505050905090810190601f168015610d805780820380516001836020036101000a031916815260200191505b50604052505050915091506009600c811115610d9857fe5b821415610dad57610da881611645565b6105d0565b600a821415610dbf57610da881611759565b600b821415610dd157610da8816117ed565b600c821415610de357610da8816118d4565b6008821415610df557610da88161193b565b60405162461bcd60e51b81526004018080602001828103825260268152602001806121be6026913960400191505060405180910390fd5b6001600160a01b031660009081526002602052604090205490565b60608091565b610e5681610be2565b6105d55760018054808201825560009182527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60180546001600160a01b0319166001600160a01b03841690811790915560405190917ff5adf0712ae89feadd26c8ee6a898759c89978dcc4c5f23811900dc45079821691a250565b8154600090815b81811015610fc157836001600160a01b0316858281548110610ef657fe5b6000918252602090912001546001600160a01b03161415610fb95760018203811015610f8457846001830381548110610f2b57fe5b9060005260206000200160009054906101000a90046001600160a01b0316858281548110610f5557fe5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055505b84805480610f8e57fe5b600082815260209020810160001990810180546001600160a01b031916905501905560019250610fc1565b600101610ed8565b505092915050565b60008082905060006110b0826001600160a01b031663209b2bca6040518163ffffffff1660e01b815260040160206040518083038186803b15801561100d57600080fd5b505afa158015611021573d6000803e3d6000fd5b505050506040513d602081101561103757600080fd5b5051604080516370a0823160e01b815230600482015290516001600160a01b038816916370a08231916024808301926020929190829003018186803b15801561107f57600080fd5b505afa158015611093573d6000803e3d6000fd5b505050506040513d60208110156110a957600080fd5b5051611aa5565b90506000826001600160a01b031663443bb293306040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050602060405180830381600087803b15801561110357600080fd5b505af1158015611117573d6000803e3d6000fd5b505050506040513d602081101561112d57600080fd5b505160408051636696779160e01b815230600482015290519192506000916001600160a01b03861691636696779191602480830192602092919082900301818787803b15801561117c57600080fd5b505af1158015611190573d6000803e3d6000fd5b505050506040513d60208110156111a657600080fd5b505190506111be816111b88585611b39565b90611b93565b9695505050505050565b6000816001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561121757600080fd5b505afa15801561122b573d6000803e3d6000fd5b505050506040513d602081101561124157600080fd5b50516040805163481c6a7560e01b815290519192506000916001600160a01b0385169163481c6a75916004808301926020929190829003018186803b15801561128957600080fd5b505afa15801561129d573d6000803e3d6000fd5b505050506040513d60208110156112b357600080fd5b50516040805163417f29ad60e11b815290516001600160a01b03909216916382fe535a91600480820192602092909190829003018186803b1580156112f757600080fd5b505afa15801561130b573d6000803e3d6000fd5b505050506040513d602081101561132157600080fd5b5051604080516338cdab1160e21b815230600482015290519192506113a3916001600160a01b0384169163e336ac44916024808301926020929190829003018186803b15801561137057600080fd5b505afa158015611384573d6000803e3d6000fd5b505050506040513d602081101561139a57600080fd5b50518390611b39565b9392505050565b6060808351600014156113bc576115e6565b6001805b855181101561143c576000805b82811015611426578781815181106113e157fe5b60200260200101516001600160a01b03168884815181106113fe57fe5b60200260200101516001600160a01b0316141561141e5760019150611426565b6001016113cd565b5080611433576001909201915b506001016113c0565b508067ffffffffffffffff8111801561145457600080fd5b5060405190808252806020026020018201604052801561147e578160200160208202803683370190505b5092508067ffffffffffffffff8111801561149857600080fd5b506040519080825280602002602001820160405280156114c2578160200160208202803683370190505b5091506000805b86518110156115e2576000805b83811015611561578681815181106114ea57fe5b60200260200101516001600160a01b031689848151811061150757fe5b60200260200101516001600160a01b03161415611559576001915087838151811061152e57fe5b602002602001015186828151811061154257fe5b602002602001018181510191508181525050611561565b6001016114d6565b50806115d95787828151811061157357fe5b602002602001015186848151811061158757fe5b60200260200101906001600160a01b031690816001600160a01b0316815250508682815181106115b357fe5b60200260200101518584815181106115c757fe5b60209081029190910101526001909201915b506001016114c9565b5050505b9250929050565b8154600090815b8181101561163a5784818154811061160857fe5b6000918252602090912001546001600160a01b038581169116141561163257600192505050610bef565b6001016115f4565b506000949350505050565b600054156116555761165561037c565b60008061166183611bf0565b915091506116d4826001600160a01b03166338d52e0f6040518163ffffffff1660e01b815260040160206040518083038186803b1580156116a157600080fd5b505afa1580156116b5573d6000803e3d6000fd5b505050506040513d60208110156116cb57600080fd5b50518383611c1b565b60408051636e553f6560e01b81526004810183905230602482015290516001600160a01b03841691636e553f659160448083019260209291908290030181600087803b15801561172357600080fd5b505af1158015611737573d6000803e3d6000fd5b505050506040513d602081101561174d57600080fd5b506105d0905082610e4d565b600054156117695761176961037c565b60008061177583611bf0565b91509150816001600160a01b031663107703ab82306040518363ffffffff1660e01b815260040180838152602001826001600160a01b0316815260200192505050600060405180830381600087803b1580156117d057600080fd5b505af11580156117e4573d6000803e3d6000fd5b50505050505050565b6000806117f983611bf0565b60408051635d043b2960e11b81526004810183905233602482015230604482015290519294509092506001600160a01b0384169163ba087652916064808201926020929091908290030181600087803b15801561185557600080fd5b505af1158015611869573d6000803e3d6000fd5b505050506040513d602081101561187f57600080fd5b5061188b9050826111c8565b6105d05761189a600183610ed1565b506040516001600160a01b038316907f9d6926baa57c10a6af1bafa91bb5183c5faae6fc2d152ebbd45a1ef6a265bb1690600090a2505050565b6000806118e083611bf0565b91509150816001600160a01b0316631b8f183082306040518363ffffffff1660e01b815260040180838152602001826001600160a01b0316815260200192505050600060405180830381600087803b1580156117d057600080fd5b600061194682611cd3565b905060008190506000816001600160a01b031663d1af0c7d6040518163ffffffff1660e01b815260040160206040518083038186803b15801561198857600080fd5b505afa15801561199c573d6000803e3d6000fd5b505050506040513d60208110156119b257600080fd5b505160408051631e8c5c8960e11b815290519192506001600160a01b03841691633d18b9129160048082019260009290919082900301818387803b1580156119f957600080fd5b505af1158015611a0d573d6000803e3d6000fd5b50505050611a9f33826001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015611a6257600080fd5b505afa158015611a76573d6000803e3d6000fd5b505050506040513d6020811015611a8c57600080fd5b50516001600160a01b0384169190611cf2565b50505050565b600080836001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015611ae157600080fd5b505afa158015611af5573d6000803e3d6000fd5b505050506040513d6020811015611b0b57600080fd5b505160ff16600a0a9050611b31670de0b6b3a7640000611b2b8584611d44565b90611d9d565b949350505050565b6000828201838110156113a3576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600082821115611bea576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600080828060200190516040811015611c0857600080fd5b5080516020909101519092509050915091565b60408051636eb1769f60e11b81523060048201526001600160a01b038481166024830152915160009286169163dd62ed3e916044808301926020929190829003018186803b158015611c6c57600080fd5b505afa158015611c80573d6000803e3d6000fd5b505050506040513d6020811015611c9657600080fd5b5051905081811015611a9f578015611cbd57611cbd6001600160a01b038516846000611e04565b611a9f6001600160a01b03851684600019611e04565b6000818060200190516020811015611cea57600080fd5b505192915050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526105d0908490611f13565b600082611d5357506000610bef565b82820282848281611d6057fe5b04146113a35760405162461bcd60e51b81526004018080602001828103825260218152602001806121e46021913960400191505060405180910390fd5b6000808211611df3576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b818381611dfc57fe5b049392505050565b801580611e8a575060408051636eb1769f60e11b81523060048201526001600160a01b03848116602483015291519185169163dd62ed3e91604480820192602092909190829003018186803b158015611e5c57600080fd5b505afa158015611e70573d6000803e3d6000fd5b505050506040513d6020811015611e8657600080fd5b5051155b611ec55760405162461bcd60e51b81526004018080602001828103825260368152602001806122866036913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526105d09084905b6060611f68826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316611fc49092919063ffffffff16565b8051909150156105d057808060200190516020811015611f8757600080fd5b50516105d05760405162461bcd60e51b815260040180806020018281038252602a81526020018061225c602a913960400191505060405180910390fd5b6060611b31848460008585611fd8856120ea565b612029576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b602083106120685780518252601f199092019160209182019101612049565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146120ca576040519150601f19603f3d011682016040523d82523d6000602084013e6120cf565b606091505b50915091506120df8282866120f0565b979650505050505050565b3b151590565b606083156120ff5750816113a3565b82511561210f5782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612159578181015183820152602001612141565b50505050905090810190601f1680156121865780820380516001836020036101000a031916815260200191505b509250505060405180910390fdfe6d696772617465506f6f6c735631546f56323a204d6967726174696f6e206e6f7420616c6c6f7765647265636569766543616c6c46726f6d5661756c743a20496e76616c696420616374696f6e4964536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f776765744d616e616765644173736574733a204e6f20706f6f6c20763120736e617073686f74736e617073686f74506f6f6c546f6b656e563142616c616e636556616c7565733a20536e617073686f74732066726f7a656e5361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e6365a164736f6c634300060c000a", - "sourceMap": "1336:14033:116:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12016:953;;;:::i;:::-;;2052:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2052:48:116;;-1:-1:-1;2052:48:116;;-1:-1:-1;;;;;2052:48:116:i;10773:644::-;;;:::i;7303:2475::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15214:153;;;;;;;;;;;;;;;;-1:-1:-1;15214:153:116;-1:-1:-1;;;;;15214:153:116;;:::i;:::-;;;;;;;;;;;;;;;;;;14939:123;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14690;;;:::i;2283:805::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2283:805:116;;-1:-1:-1;2283:805:116;;-1:-1:-1;;;;;2283:805:116:i;11702:212::-;;;;;;;;;;;;;;;;-1:-1:-1;11702:212:116;-1:-1:-1;;;;;11702:212:116;;:::i;:::-;;;;;;;;;;;;;;;;6806:176;;;:::i;12016:953::-;12084:35;-1:-1:-1;;;;;12084:54:116;;:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12084:56:116;12063:144;;;;-1:-1:-1;;;12063:144:116;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12218:24;12245:23;:21;:23::i;:::-;12302:14;;12218:50;;-1:-1:-1;12278:21:116;12327:636;12347:13;12343:1;:17;12327:636;;;12381:14;12398:7;12406:1;12398:10;;;;;;;;;;;;;;12381:27;;12422:14;12439:35;-1:-1:-1;;;;;12439:65:116;;12522:6;12439:103;;;;;;;;;;;;;-1:-1:-1;;;;;12439:103:116;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12439:103:116;;-1:-1:-1;;;;;;12564:20:116;;12556:63;;;;;-1:-1:-1;;;12556:63:116;;;;;;;;;;;;;;;;;;;;;;;;;;;;12634:34;12661:6;12634:26;:34::i;:::-;12734:44;:18;12771:6;12734:36;:44::i;:::-;-1:-1:-1;12797:30:116;;-1:-1:-1;;;;;12797:30:116;;;;;;;;-1:-1:-1;;;;;;12906:46:116;;;;;:38;:46;;;;;12899:53;12362:3;;12327:636;;;;12016:953;;:::o;2052:48::-;;:::o;10773:644::-;10857:35;-1:-1:-1;;;;;10857:55:116;;:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10857:57:116;10836:154;;;;-1:-1:-1;;;10836:154:116;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11001:24;11028:23;:21;:23::i;:::-;11085:14;;11001:50;;-1:-1:-1;11061:21:116;11109:302;11129:13;11125:1;:17;11109:302;;;11163:14;11180:7;11188:1;11180:10;;;;;;;;;;;;;;11163:27;;11204:13;11220:37;11250:6;11220:29;:37::i;:::-;-1:-1:-1;;;;;11272:46:116;;;;;;:38;:46;;;;;;;;;:54;;;11346;;;;;;;11204:53;;-1:-1:-1;11272:46:116;;11346:54;;;;;;;;;;;-1:-1:-1;;11144:3:116;;11109:302;;7303:2475;7449:21;7473:25;7382:24;;;;7512:17;;7508:1315;;7549:35;-1:-1:-1;;;;;7549:54:116;;:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7549:56:116;7545:1268;;;7691:20;:18;:20::i;:::-;-1:-1:-1;7822:1:116;7545:1268;;;7975:4;-1:-1:-1;;;;;7975:37:116;;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7971:55;8044:24;8071:23;:21;:23::i;:::-;8044:50;;8136:13;8122:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8122:28:116;;8112:38;;8193:13;8179:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8179:28:116;;8168:39;;8230:9;8225:574;8245:13;8241:1;:17;8225:574;;;8287:14;8304:7;8312:1;8304:10;;;;;;;;;;;;;;8287:27;;8517:14;8534:49;8576:6;8534:41;:49::i;:::-;8517:66;;8622:1;8613:6;:10;8605:60;;;;-1:-1:-1;;;8605:60:116;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8714:6;-1:-1:-1;;;;;8701:35:116;;:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8701:37:116;8688:10;;:7;;8696:1;;8688:10;;;;;;;;;;;:50;-1:-1:-1;;;;;8688:50:116;;;-1:-1:-1;;;;;8688:50:116;;;;;8774:6;8760:8;8769:1;8760:11;;;;;;;;;;;;;;;;;:20;-1:-1:-1;;8260:3:116;;8225:574;;;;7545:1268;;8837:18;8833:609;;8903:24;8930:23;:21;:23::i;:::-;8991:14;;8903:50;;-1:-1:-1;8991:14:116;9029:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9029:28:116;;9019:38;;9096:13;9082:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9082:28:116;;9071:39;;9129:9;9124:308;9144:13;9140:1;:17;9124:308;;;9182:14;9199:7;9207:1;9199:10;;;;;;;;;;;;;;9182:27;;9254:6;-1:-1:-1;;;;;9241:26:116;;:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9241:28:116;9228:10;;:7;;9236:1;;9228:10;;;;;;-1:-1:-1;;;;;9228:41:116;;;:10;;;;;;;;;:41;9301:40;;;9363:36;9314:6;9363:28;:36::i;:::-;9301:116;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9301:116:116;9287:11;;:8;;9296:1;;9287:11;;;;;;;;;;;;;;;:130;-1:-1:-1;9159:3:116;;9124:308;;;;8833:609;;;9643:1;9626:7;:14;:18;9622:113;;;9682:42;9706:7;9715:8;9682:23;:42::i;:::-;9660:64;;-1:-1:-1;9660:64:116;-1:-1:-1;9622:113:116;9745:26;7303:2475;;:::o;15214:153::-;15281:12;15312:48;:18;15352:7;15312:39;:48::i;:::-;15305:55;15214:153;-1:-1:-1;;15214:153:116:o;14939:123::-;14993:25;15037:18;15030:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15030:25:116;;;;;;;;;;;;;;;;;;;;;;;14939:123;:::o;14690:::-;14744:25;14788:18;14781:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;14781:25:116;;;;;;;;;;;;;;;;;;;;;;14690:123;:::o;2283:805::-;2368:16;2386:23;2424:11;2413:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2413:41:116;;;;;;;;;;-1:-1:-1;2413:41:116;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2367:87;;;;2489:14;2481:23;;;;;;;;2469:8;:35;2465:617;;;2520:26;2535:10;2520:14;:26::i;:::-;2465:617;;;2587:23;2567:8;:44;2563:519;;;2627:35;2651:10;2627:23;:35::i;2563:519::-;2703:16;2683:8;:37;2679:403;;;2736:28;2753:10;2736:16;:28::i;2679:403::-;2805:22;2785:8;:43;2781:301;;;2844:34;2867:10;2844:22;:34::i;2781:301::-;2919:22;2899:8;:43;2895:187;;;2958:34;2981:10;2958:22;:34::i;2895:187::-;3023:48;;-1:-1:-1;;;3023:48:116;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11702:212;-1:-1:-1;;;;;11860:47:116;11815:22;11860:47;;;:38;:47;;;;;;;11702:212::o;6806:176::-;6882:24;6908:25;6806:176;:::o;3774:212::-;3848:26;3868:5;3848:19;:26::i;:::-;3843:137;;3890:18;:30;;;;;;;-1:-1:-1;3890:30:116;;;;;;;-1:-1:-1;;;;;;3890:30:116;-1:-1:-1;;;;;3890:30:116;;;;;;;;3940:29;;3890:30;;3940:29;;;3774:212;:::o;569:515:354:-;727:12;;678:13;;;749:303;769:9;765:1;:13;749:303;;;815:13;-1:-1:-1;;;;;803:25:354;:5;809:1;803:8;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;803:8:354;:25;799:243;;;868:1;856:9;:13;852:1;:17;848:95;;;904:5;922:1;910:9;:13;904:20;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;904:20:354;893:5;899:1;893:8;;;;;;;;;;;;;;;;:31;;;;;-1:-1:-1;;;;;893:31:354;;;;;-1:-1:-1;;;;;893:31:354;;;;;;848:95;960:5;:11;;;;;;;;;;;;;;;;-1:-1:-1;;960:11:354;;;;;-1:-1:-1;;;;;;960:11:354;;;;;;;;-1:-1:-1;1022:5:354;;799:243;780:3;;749:303;;;;1062:15;569:515;;;;:::o;13654:837:116:-;13725:14;13751:25;13792:5;13751:47;;14022:29;14054:143;14107:12;-1:-1:-1;;;;;14107:27:116;;:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14107:29:116;14150:37;;;-1:-1:-1;;;14150:37:116;;14181:4;14150:37;;;;;;-1:-1:-1;;;;;14150:22:116;;;;;:37;;;;;14107:29;;14150:37;;;;;;;:22;:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14150:37:116;14054:39;:143::i;:::-;14022:175;;14208:27;14238:12;-1:-1:-1;;;;;14238:32:116;;14279:4;14238:47;;;;;;;;;;;;;-1:-1:-1;;;;;14238:47:116;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14238:47:116;14323:48;;;-1:-1:-1;;;14323:48:116;;14365:4;14323:48;;;;;;14238:47;;-1:-1:-1;14295:25:116;;-1:-1:-1;;;;;14323:33:116;;;;;:48;;;;;14238:47;;14323:48;;;;;;;14295:25;14323:33;:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14323:48:116;;-1:-1:-1;14391:69:116;14323:48;14391:46;:21;14417:19;14391:25;:46::i;:::-;:50;;:69::i;:::-;14382:78;13654:837;-1:-1:-1;;;;;;13654:837:116:o;9866:601::-;9941:16;9987:5;-1:-1:-1;;;;;9980:23:116;;10012:4;9980:38;;;;;;;;;;;;;-1:-1:-1;;;;;9980:38:116;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9980:38:116;10281:29;;;-1:-1:-1;;;10281:29:116;;;;9980:38;;-1:-1:-1;10233:25:116;;-1:-1:-1;;;;;10281:27:116;;;;;:29;;;;;9980:38;;10281:29;;;;;;;:27;:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10281:29:116;10261:83;;;-1:-1:-1;;;10261:83:116;;;;-1:-1:-1;;;;;10261:81:116;;;;;;:83;;;;;10281:29;;10261:83;;;;;;;;:81;:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10261:83:116;10387:72;;;-1:-1:-1;;;10387:72:116;;10453:4;10387:72;;;;;;10261:83;;-1:-1:-1;10374:86:116;;-1:-1:-1;;;;;10387:57:116;;;;;:72;;;;;10261:83;;10387:72;;;;;;;:57;:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10387:72:116;10374:8;;:12;:86::i;:::-;10355:105;9866:601;-1:-1:-1;;;9866:601:116:o;749:1574:355:-;888:34;924:35;979:10;:17;1000:1;979:22;975:99;;;1017:46;;975:99;1115:1;;1126:361;1150:10;:17;1146:1;:21;1126:361;;;1188:13;1220:9;1215:179;1235:1;1231;:5;1215:179;;;1282:10;1293:1;1282:13;;;;;;;;;;;;;;-1:-1:-1;;;;;1265:30:355;:10;1276:1;1265:13;;;;;;;;;;;;;;-1:-1:-1;;;;;1265:30:355;;1261:119;;;1330:4;1319:15;;1356:5;;1261:119;1238:3;;1215:179;;;;1412:8;1407:70;;1440:22;;;;;1407:70;-1:-1:-1;1169:3:355;;1126:361;;;;1531:20;1517:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1517:35:355;;1497:55;;1597:20;1583:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1583:35:355;;1562:56;;1628:28;1671:9;1666:594;1686:10;:17;1682:1;:21;1666:594;;;1724:13;1756:9;1751:268;1771:20;1767:1;:24;1751:268;;;1837:17;1855:1;1837:20;;;;;;;;;;;;;;-1:-1:-1;;;;;1820:37:355;:10;1831:1;1820:13;;;;;;;;;;;;;;-1:-1:-1;;;;;1820:37:355;;1816:189;;;1892:4;1881:15;;1944:11;1956:1;1944:14;;;;;;;;;;;;;;1919:18;1938:1;1919:21;;;;;;;;;;;;;:39;;;;;;;;;;;1981:5;;1816:189;1793:3;;1751:268;;;;2037:8;2032:218;;2107:10;2118:1;2107:13;;;;;;;;;;;;;;2065:17;2083:20;2065:39;;;;;;;;;;;;;:55;-1:-1:-1;;;;;2065:55:355;;;-1:-1:-1;;;;;2065:55:355;;;;;2181:11;2193:1;2181:14;;;;;;;;;;;;;;2138:18;2157:20;2138:40;;;;;;;;;;;;;;;;;:57;2213:22;;;;;2032:218;-1:-1:-1;1705:3:355;;1666:594;;;;2270:46;;749:1574;;;;;;:::o;1167:351:354:-;1339:12;;1286:17;;;1361:129;1381:9;1377:1;:13;1361:129;;;1426:5;1432:1;1426:8;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1415:19:354;;;1426:8;;1415:19;1411:69;;;1461:4;1454:11;;;;;;1411:69;1392:3;;1361:129;;;-1:-1:-1;1506:5:354;;1167:351;-1:-1:-1;;;;1167:351:354:o;4416:809:116:-;4765:1;4737:25;:29;4733:80;;4782:20;:18;:20::i;:::-;4824:12;4838:28;4870:37;4895:11;4870:24;:37::i;:::-;4823:84;;;;4918:161;4979:4;-1:-1:-1;;;;;4966:24:116;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4966:26:116;5015:4;5048:20;4918:25;:161::i;:::-;5090:85;;;-1:-1:-1;;;5090:85:116;;;;;;;;5168:4;5090:85;;;;;;-1:-1:-1;;;;;5090:26:116;;;;;:85;;;;;;;;;;;;;;-1:-1:-1;5090:26:116;:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5186:32:116;;-1:-1:-1;5213:4:116;5186:26;:32::i;5955:605::-;6313:1;6285:25;:29;6281:80;;6330:20;:18;:20::i;:::-;6372:12;6386:23;6413:46;6447:11;6413:33;:46::i;:::-;6371:88;;;;6483:4;-1:-1:-1;;;;;6470:32:116;;6513:15;6546:4;6470:83;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6470:83:116;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5955:605;;;:::o;5289:592::-;5360:12;5374:23;5401:39;5428:11;5401:26;:39::i;:::-;5451:145;;;-1:-1:-1;;;5451:145:116;;;;;;;;5540:10;5451:145;;;;5580:4;5451:145;;;;;;5359:81;;-1:-1:-1;5359:81:116;;-1:-1:-1;;;;;;5451:25:116;;;;;:145;;;;;;;;;;;;;;;-1:-1:-1;5451:25:116;:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5717:34:116;;-1:-1:-1;5746:4:116;5717:28;:34::i;:::-;5713:162;;5772:42;:18;5809:4;5772:36;:42::i;:::-;-1:-1:-1;5834:30:116;;-1:-1:-1;;;;;5834:30:116;;;;;;;;5289:592;;;:::o;4093:263::-;4170:12;4184:23;4211:45;4244:11;4211:32;:45::i;:::-;4169:87;;;;4280:4;-1:-1:-1;;;;;4267:31:116;;4309:15;4342:4;4267:82;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4267:82:116;;;;;;;;;;;;;;;;;;;;;;;;;;;;3223:417;3299:23;3325:45;3358:11;3325:32;:45::i;:::-;3299:71;;3381:31;3434:15;3381:69;;3460:17;3486:12;-1:-1:-1;;;;;3486:25:116;;:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3486:27:116;3524:24;;;-1:-1:-1;;;3524:24:116;;;;3486:27;;-1:-1:-1;;;;;;3524:22:116;;;;;:24;;;;;;;;;;;;;;;;:22;:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3559:74;3584:10;3596:11;-1:-1:-1;;;;;3596:21:116;;3626:4;3596:36;;;;;;;;;;;;;-1:-1:-1;;;;;3596:36:116;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3596:36:116;-1:-1:-1;;;;;3559:24:116;;;:74;:24;:74::i;:::-;3223:417;;;;:::o;13079:435::-;13223:23;13258:36;13316:15;-1:-1:-1;;;;;13310:31:116;;:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13310:33:116;13302:42;;13297:2;:48;;-1:-1:-1;13374:100:116;1697:6;13374:50;:16;13297:48;13374:20;:50::i;:::-;:54;;:100::i;:::-;13356:118;13079:435;-1:-1:-1;;;;13079:435:116:o;2690:175:442:-;2748:7;2779:5;;;2802:6;;;;2794:46;;;;;-1:-1:-1;;;2794:46:442;;;;;;;;;;;;;;;;;;;;;;;;;;;3136:155;3194:7;3226:1;3221;:6;;3213:49;;;;;-1:-1:-1;;;3213:49:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3279:5:442;;;3136:155::o;1316:224:115:-;1423:13;1438:29;1501:11;1490:43;;;;;;;;;;;;;;;-1:-1:-1;1490:43:115;;;;;;;;;-1:-1:-1;1490:43:115;-1:-1:-1;1316:224:115;;;:::o;2554:434:355:-;2714:47;;;-1:-1:-1;;;2714:47:355;;2746:4;2714:47;;;;-1:-1:-1;;;;;2714:47:355;;;;;;;;;2694:17;;2714:23;;;;;:47;;;;;;;;;;;;;;:23;:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2714:47:355;;-1:-1:-1;2775:25:355;;;2771:211;;;2820:13;;2816:89;;2853:37;-1:-1:-1;;;;;2853:25:355;;2879:7;2888:1;2853:25;:37::i;:::-;2918:53;-1:-1:-1;;;;;2918:25:355;;2944:7;-1:-1:-1;;2918:25:355;:53::i;672:203:115:-;787:24;845:11;834:34;;;;;;;;;;;;;;;-1:-1:-1;834:34:115;;672:203;-1:-1:-1;;672:203:115:o;704:175:450:-;813:58;;;-1:-1:-1;;;;;813:58:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;813:58:450;-1:-1:-1;;;813:58:450;;;786:86;;806:5;;786:19;:86::i;3538:215:442:-;3596:7;3619:6;3615:20;;-1:-1:-1;3634:1:442;3627:8;;3615:20;3657:5;;;3661:1;3657;:5;:1;3680:5;;;;;:10;3672:56;;;;-1:-1:-1;;;3672:56:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4217:150;4275:7;4306:1;4302;:5;4294:44;;;;;-1:-1:-1;;;4294:44:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;4359:1;4355;:5;;;;;;;4217:150;-1:-1:-1;;;4217:150:442:o;1348:613:450:-;1713:10;;;1712:62;;-1:-1:-1;1729:39:450;;;-1:-1:-1;;;1729:39:450;;1753:4;1729:39;;;;-1:-1:-1;;;;;1729:39:450;;;;;;;;;:15;;;;;;:39;;;;;;;;;;;;;;;:15;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1729:39:450;:44;1712:62;1704:150;;;;-1:-1:-1;;;1704:150:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1891:62;;;-1:-1:-1;;;;;1891:62:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1891:62:450;-1:-1:-1;;;1891:62:450;;;1864:90;;1884:5;;2967:751;3386:23;3412:69;3440:4;3412:69;;;;;;;;;;;;;;;;;3420:5;-1:-1:-1;;;;;3412:27:450;;;:69;;;;;:::i;:::-;3495:17;;3386:95;;-1:-1:-1;3495:21:450;3491:221;;3635:10;3624:30;;;;;;;;;;;;;;;-1:-1:-1;3624:30:450;3616:85;;;;-1:-1:-1;;;3616:85:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3581:193:451;3684:12;3715:52;3737:6;3745:4;3751:1;3754:12;3684;4858:18;4869:6;4858:10;:18::i;:::-;4850:60;;;;;-1:-1:-1;;;4850:60:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;4981:12;4995:23;5022:6;-1:-1:-1;;;;;5022:11:451;5042:5;5050:4;5022:33;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5022:33:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4980:75;;;;5072:52;5090:7;5099:10;5111:12;5072:17;:52::i;:::-;5065:59;4608:523;-1:-1:-1;;;;;;;4608:523:451:o;726:413::-;1086:20;1124:8;;;726:413::o;7091:725::-;7206:12;7234:7;7230:580;;;-1:-1:-1;7264:10:451;7257:17;;7230:580;7375:17;;:21;7371:429;;7633:10;7627:17;7693:15;7680:10;7676:2;7672:19;7665:44;7582:145;7772:12;7765:20;;-1:-1:-1;;;7765:20:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;", - "linkReferences": {}, - "immutableReferences": { - "27352": [ - { - "start": 894, - "length": 32 - }, - { - "start": 1138, - "length": 32 - }, - { - "start": 1498, - "length": 32 - }, - { - "start": 1861, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "getDebtAssets()": "ecd658b4", - "getManagedAssets()": "80daddb8", - "getPreMigrationValueSnapshotOfPoolTokenV1(address)": "e8ffc97b", - "getUsedLendingPoolsV1()": "c4c54c92", - "getUsedLendingPoolsV2()": "be0a08e9", - "init(bytes)": "4ddf47d4", - "isUsedLendingPoolV2(address)": "a3451a39", - "migratePoolsV1ToV2()": "2d13e051", - "receiveCallFromVault(bytes)": "e5c23a97", - "snapshotPoolTokenV1BalanceValues()": "7f15233f" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_mapleV1ToV2PoolMapper\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"lendingPoolV1\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"PoolTokenV1PreMigrationValueSnapshotted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"lendingPool\",\"type\":\"address\"}],\"name\":\"UsedLendingPoolAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"lendingPool\",\"type\":\"address\"}],\"name\":\"UsedLendingPoolRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"lendingPoolV2\",\"type\":\"address\"}],\"name\":\"UsedLendingPoolV2Added\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"lendingPoolV2\",\"type\":\"address\"}],\"name\":\"UsedLendingPoolV2Removed\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"getDebtAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"assets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getManagedAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"assets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_poolV1\",\"type\":\"address\"}],\"name\":\"getPreMigrationValueSnapshotOfPoolTokenV1\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"valueSnapshot_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getUsedLendingPoolsV1\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"poolsV1_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getUsedLendingPoolsV2\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"poolsV2_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_poolV2\",\"type\":\"address\"}],\"name\":\"isUsedLendingPoolV2\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isUsed_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"migratePoolsV1ToV2\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"}],\"name\":\"receiveCallFromVault\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"snapshotPoolTokenV1BalanceValues\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"getDebtAssets()\":{\"returns\":{\"amounts_\":\"Debt asset amounts\",\"assets_\":\"Debt assets\"}},\"getManagedAssets()\":{\"details\":\"Since lending is not allowed until all v1 pools are migrated, tracked pools will either be all v1 or all v2, never a mix\",\"returns\":{\"amounts_\":\"Managed asset amounts\",\"assets_\":\"Managed assets\"}},\"getPreMigrationValueSnapshotOfPoolTokenV1(address)\":{\"params\":{\"_poolV1\":\"The Maple Pool v1\"},\"returns\":{\"valueSnapshot_\":\"The snapshotted Maple Pool Token v1 value\"}},\"getUsedLendingPoolsV1()\":{\"returns\":{\"poolsV1_\":\"The Maple V1 pools currently lent to\"}},\"getUsedLendingPoolsV2()\":{\"returns\":{\"poolsV2_\":\"The Maple V2 pools currently lent to\"}},\"init(bytes)\":{\"details\":\"Nothing to initialize for this contract\"},\"isUsedLendingPoolV2(address)\":{\"params\":{\"_poolV2\":\"The pool\"},\"returns\":{\"isUsed_\":\"True if the pool is lent to\"}},\"migratePoolsV1ToV2()\":{\"details\":\"Callable by anybody.\"},\"receiveCallFromVault(bytes)\":{\"params\":{\"_actionData\":\"Encoded data to execute the action\"}},\"snapshotPoolTokenV1BalanceValues()\":{\"details\":\"Callable by anybody\"}},\"title\":\"MapleLiquidityPositionLib Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getDebtAssets()\":{\"notice\":\"Retrieves the debt assets (negative value) of the external position\"},\"getManagedAssets()\":{\"notice\":\"Retrieves the managed assets (positive value) of the external position\"},\"getPreMigrationValueSnapshotOfPoolTokenV1(address)\":{\"notice\":\"Gets the snapshotted value of a given Maple Pool Token v1 in terms of its liquidity asset, taken prior to migration\"},\"getUsedLendingPoolsV1()\":{\"notice\":\"Gets all Maple V1 pools currently lent to\"},\"getUsedLendingPoolsV2()\":{\"notice\":\"Gets all Maple V2 pools currently lent to\"},\"init(bytes)\":{\"notice\":\"Initializes the external position\"},\"isUsedLendingPoolV2(address)\":{\"notice\":\"Checks whether a pool V2 is currently lent to\"},\"migratePoolsV1ToV2()\":{\"notice\":\"Migrates tracked v1 pools to tracked v2 pools\"},\"receiveCallFromVault(bytes)\":{\"notice\":\"Receives and executes a call from the Vault\"},\"snapshotPoolTokenV1BalanceValues()\":{\"notice\":\"Creates a snapshot of all Maple Pool Token v1 balance values\"}},\"notice\":\"An External Position library contract for Maple liquidity positions\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/maple-liquidity/MapleLiquidityPositionLib.sol\":\"MapleLiquidityPositionLib\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/persistent/external-positions/maple-liquidity/MapleLiquidityPositionLibBase1.sol\":{\"keccak256\":\"0x9a724ee1ac70895952f895738b12a45dc07ccde96a637282a502deb399d03434\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://779cd983ca59fe27cd359633bedf3ec7528e9c85763ef8f98ddf10de9e4de500\",\"dweb:/ipfs/QmUydfGbroct2beqBr3jBQWZ5fkFbxE4mqZYeBAukWTTBn\"]},\"contracts/persistent/external-positions/maple-liquidity/MapleLiquidityPositionLibBase2.sol\":{\"keccak256\":\"0x52e9c07b8631e3a3232bcf5e86a620e5cef0fa8d82f0e93d618426ed65865452\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://08291761466668b268eb9807e94cad3467e43b428dbe63ec720b63c0938f781a\",\"dweb:/ipfs/QmbupryF8vt697Huug7wpmD6b2rYAQT7L3myFRhhQUtTEr\"]},\"contracts/persistent/external-positions/maple-liquidity/MapleV1ToV2PoolMapper.sol\":{\"keccak256\":\"0x1031d9e2bbff5e6170ea344a210cd21fd08aa1a21c0bde2756a404b576f03661\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://04bcfd4d401ec7407923a29b2e45ea0362e5dd659d3740005ef60d92242fd909\",\"dweb:/ipfs/QmawyR4WnBQyLBVFMAMaAM5HFMmEvmiekLMrJLJgcGSTwS\"]},\"contracts/release/extensions/external-position-manager/external-positions/maple-liquidity/IMapleLiquidityPosition.sol\":{\"keccak256\":\"0x03da4c15035e629dcfaa6822176fdbcf62dd1d5a5c8ccccd0d95344c8048a470\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://fde66e251e197ad0e1f514359dc02a3007bcfded3c081691860ce211c4aa89e4\",\"dweb:/ipfs/QmSADCmqGtbWDxs5G3GfdaC6NbK91qxAu95FJHiSGkuo2v\"]},\"contracts/release/extensions/external-position-manager/external-positions/maple-liquidity/MapleLiquidityPositionDataDecoder.sol\":{\"keccak256\":\"0xd27d4afc91940a9dc2b2ea83ba11a1b98ae07e2165436826af0558c91edd12f4\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://672ed71da75cee7c500255b0c91dba9eef16c3b295ec1eadbbd413d8be34c6e9\",\"dweb:/ipfs/QmaPHi5HajA6Wug9ruvQ6wuGNAFUYBv4QFrrFWtigQHM5e\"]},\"contracts/release/extensions/external-position-manager/external-positions/maple-liquidity/MapleLiquidityPositionLib.sol\":{\"keccak256\":\"0xc57e3572bff9393b1642a90342075cbb691e98b4b73b561be22e15e6158f5bb0\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8c9be06c015bc205780b07b264df81c08be5a4e596f974d61aa0ccdcdacde6ec\",\"dweb:/ipfs/QmXnCeq7Yut53y1EXt5XGVL9Wwh29zCPNoLyphAD3YGumi\"]},\"contracts/release/interfaces/IERC4626.sol\":{\"keccak256\":\"0xc9406d483e6f69717c0a12af680a4c247131f3049f3d7e787b3fb128ff02e2ab\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://823c5781608234371ae2ee9982d1c47fe752c3224fb4b7d189ef51248506dd2a\",\"dweb:/ipfs/QmUJfDq1psF7vTWLe3FXr1TaPS8kRBGfRR6snGtrrtVrFL\"]},\"contracts/release/interfaces/IMapleV1MplRewards.sol\":{\"keccak256\":\"0x9fb171f91da0330d7139632907c0404002699a4cae9cb409a64c0898954b3f90\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://4e61ca593a55cc04b7a4283352cceab8e8249147e4c33fe3790cface7853ebc6\",\"dweb:/ipfs/QmPsc5s4wKDQcu3Tx7ZPJizPzLRTY9bHiywK3iL9gvnQK8\"]},\"contracts/release/interfaces/IMapleV1Pool.sol\":{\"keccak256\":\"0x46e635c8ae53a2156c7331f381bbf69c4085a97e20b549fcea9c9425aaafa5f8\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://548dffe449da6fb3c6f0cd6253aad5c274e6b13d55a649181b36be9aa9898417\",\"dweb:/ipfs/QmVdmYzRo1NCVFmbyHcUeRsCTwhVrdAWNqdAaSJ4o79Jmh\"]},\"contracts/release/interfaces/IMapleV2Pool.sol\":{\"keccak256\":\"0x628fcf182f99fd5be22272244f8106a551578de4bf3df105eb8ab42092c5cb05\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://efe4ae3736fd54ec2639621cdc1c245655e899cfa6da046476284ce0830f79de\",\"dweb:/ipfs/QmUoPG6ZBjDJ2Up8eHVZwfY3vgiXTv66Utct4D19tq4ZD8\"]},\"contracts/release/interfaces/IMapleV2PoolManager.sol\":{\"keccak256\":\"0xc4de35e316205863bf63e66749c9cc4af8f50ebfce1fea39378da2740645a914\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://0bc5f3c9502ae74d8ae7fc9e078eebb8185eb4fd3cf42eb0f531d116cdc63e59\",\"dweb:/ipfs/QmScJCCGHM1grtPKnZGmvXbPY6HVZosrwYESD71mBVDE9w\"]},\"contracts/release/interfaces/IMapleV2WithdrawalManager.sol\":{\"keccak256\":\"0x52edc67174fbb7829efcab6863d011e6b41106315d47c649bee96621020896ae\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://51a0f7bda1ef4999fc91071264fa39481e56d5f8702818926a13afd99ade4fb9\",\"dweb:/ipfs/QmPNiCaYwnvQU5HRSALKeDYwRHRorSVMXQ4Br394x4Fzys\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"contracts/release/utils/Uint256ArrayLib.sol\":{\"keccak256\":\"0x1627d0d32692b86c5dd3e74ebb8305fbf99a3c41d4b90e736077762cc80c1a31\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://54ff92ccd4bd685dda44c2520e3f52478168e909b400c3cc4076d37f5c2704ef\",\"dweb:/ipfs/QmYUxeaKfPwnUtP35i6JJ3ptsaDFEV6SD2o4VV8d5vBUZD\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_mapleV1ToV2PoolMapper", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "lendingPoolV1", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "PoolTokenV1PreMigrationValueSnapshotted", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "lendingPool", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "UsedLendingPoolAdded", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "lendingPool", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "UsedLendingPoolRemoved", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "lendingPoolV2", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "UsedLendingPoolV2Added", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "lendingPoolV2", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "UsedLendingPoolV2Removed", - "anonymous": false - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "getDebtAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "assets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "amounts_", - "type": "uint256[]" - } - ] - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "getManagedAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "assets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "amounts_", - "type": "uint256[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_poolV1", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getPreMigrationValueSnapshotOfPoolTokenV1", - "outputs": [ - { - "internalType": "uint256", - "name": "valueSnapshot_", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getUsedLendingPoolsV1", - "outputs": [ - { - "internalType": "address[]", - "name": "poolsV1_", - "type": "address[]" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getUsedLendingPoolsV2", - "outputs": [ - { - "internalType": "address[]", - "name": "poolsV2_", - "type": "address[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "init" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_poolV2", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "isUsedLendingPoolV2", - "outputs": [ - { - "internalType": "bool", - "name": "isUsed_", - "type": "bool" - } - ] - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "migratePoolsV1ToV2" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "receiveCallFromVault" - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "snapshotPoolTokenV1BalanceValues" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "getDebtAssets()": { - "returns": { - "amounts_": "Debt asset amounts", - "assets_": "Debt assets" - } - }, - "getManagedAssets()": { - "details": "Since lending is not allowed until all v1 pools are migrated, tracked pools will either be all v1 or all v2, never a mix", - "returns": { - "amounts_": "Managed asset amounts", - "assets_": "Managed assets" - } - }, - "getPreMigrationValueSnapshotOfPoolTokenV1(address)": { - "params": { - "_poolV1": "The Maple Pool v1" - }, - "returns": { - "valueSnapshot_": "The snapshotted Maple Pool Token v1 value" - } - }, - "getUsedLendingPoolsV1()": { - "returns": { - "poolsV1_": "The Maple V1 pools currently lent to" - } - }, - "getUsedLendingPoolsV2()": { - "returns": { - "poolsV2_": "The Maple V2 pools currently lent to" - } - }, - "init(bytes)": { - "details": "Nothing to initialize for this contract" - }, - "isUsedLendingPoolV2(address)": { - "params": { - "_poolV2": "The pool" - }, - "returns": { - "isUsed_": "True if the pool is lent to" - } - }, - "migratePoolsV1ToV2()": { - "details": "Callable by anybody." - }, - "receiveCallFromVault(bytes)": { - "params": { - "_actionData": "Encoded data to execute the action" - } - }, - "snapshotPoolTokenV1BalanceValues()": { - "details": "Callable by anybody" - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "getDebtAssets()": { - "notice": "Retrieves the debt assets (negative value) of the external position" - }, - "getManagedAssets()": { - "notice": "Retrieves the managed assets (positive value) of the external position" - }, - "getPreMigrationValueSnapshotOfPoolTokenV1(address)": { - "notice": "Gets the snapshotted value of a given Maple Pool Token v1 in terms of its liquidity asset, taken prior to migration" - }, - "getUsedLendingPoolsV1()": { - "notice": "Gets all Maple V1 pools currently lent to" - }, - "getUsedLendingPoolsV2()": { - "notice": "Gets all Maple V2 pools currently lent to" - }, - "init(bytes)": { - "notice": "Initializes the external position" - }, - "isUsedLendingPoolV2(address)": { - "notice": "Checks whether a pool V2 is currently lent to" - }, - "migratePoolsV1ToV2()": { - "notice": "Migrates tracked v1 pools to tracked v2 pools" - }, - "receiveCallFromVault(bytes)": { - "notice": "Receives and executes a call from the Vault" - }, - "snapshotPoolTokenV1BalanceValues()": { - "notice": "Creates a snapshot of all Maple Pool Token v1 balance values" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/external-position-manager/external-positions/maple-liquidity/MapleLiquidityPositionLib.sol": "MapleLiquidityPositionLib" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/dispatcher/IDispatcher.sol": { - "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", - "urls": [ - "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", - "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/external-positions/IExternalPosition.sol": { - "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", - "urls": [ - "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", - "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/external-positions/maple-liquidity/MapleLiquidityPositionLibBase1.sol": { - "keccak256": "0x9a724ee1ac70895952f895738b12a45dc07ccde96a637282a502deb399d03434", - "urls": [ - "bzz-raw://779cd983ca59fe27cd359633bedf3ec7528e9c85763ef8f98ddf10de9e4de500", - "dweb:/ipfs/QmUydfGbroct2beqBr3jBQWZ5fkFbxE4mqZYeBAukWTTBn" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/external-positions/maple-liquidity/MapleLiquidityPositionLibBase2.sol": { - "keccak256": "0x52e9c07b8631e3a3232bcf5e86a620e5cef0fa8d82f0e93d618426ed65865452", - "urls": [ - "bzz-raw://08291761466668b268eb9807e94cad3467e43b428dbe63ec720b63c0938f781a", - "dweb:/ipfs/QmbupryF8vt697Huug7wpmD6b2rYAQT7L3myFRhhQUtTEr" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/external-positions/maple-liquidity/MapleV1ToV2PoolMapper.sol": { - "keccak256": "0x1031d9e2bbff5e6170ea344a210cd21fd08aa1a21c0bde2756a404b576f03661", - "urls": [ - "bzz-raw://04bcfd4d401ec7407923a29b2e45ea0362e5dd659d3740005ef60d92242fd909", - "dweb:/ipfs/QmawyR4WnBQyLBVFMAMaAM5HFMmEvmiekLMrJLJgcGSTwS" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/maple-liquidity/IMapleLiquidityPosition.sol": { - "keccak256": "0x03da4c15035e629dcfaa6822176fdbcf62dd1d5a5c8ccccd0d95344c8048a470", - "urls": [ - "bzz-raw://fde66e251e197ad0e1f514359dc02a3007bcfded3c081691860ce211c4aa89e4", - "dweb:/ipfs/QmSADCmqGtbWDxs5G3GfdaC6NbK91qxAu95FJHiSGkuo2v" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/maple-liquidity/MapleLiquidityPositionDataDecoder.sol": { - "keccak256": "0xd27d4afc91940a9dc2b2ea83ba11a1b98ae07e2165436826af0558c91edd12f4", - "urls": [ - "bzz-raw://672ed71da75cee7c500255b0c91dba9eef16c3b295ec1eadbbd413d8be34c6e9", - "dweb:/ipfs/QmaPHi5HajA6Wug9ruvQ6wuGNAFUYBv4QFrrFWtigQHM5e" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/maple-liquidity/MapleLiquidityPositionLib.sol": { - "keccak256": "0xc57e3572bff9393b1642a90342075cbb691e98b4b73b561be22e15e6158f5bb0", - "urls": [ - "bzz-raw://8c9be06c015bc205780b07b264df81c08be5a4e596f974d61aa0ccdcdacde6ec", - "dweb:/ipfs/QmXnCeq7Yut53y1EXt5XGVL9Wwh29zCPNoLyphAD3YGumi" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IERC4626.sol": { - "keccak256": "0xc9406d483e6f69717c0a12af680a4c247131f3049f3d7e787b3fb128ff02e2ab", - "urls": [ - "bzz-raw://823c5781608234371ae2ee9982d1c47fe752c3224fb4b7d189ef51248506dd2a", - "dweb:/ipfs/QmUJfDq1psF7vTWLe3FXr1TaPS8kRBGfRR6snGtrrtVrFL" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IMapleV1MplRewards.sol": { - "keccak256": "0x9fb171f91da0330d7139632907c0404002699a4cae9cb409a64c0898954b3f90", - "urls": [ - "bzz-raw://4e61ca593a55cc04b7a4283352cceab8e8249147e4c33fe3790cface7853ebc6", - "dweb:/ipfs/QmPsc5s4wKDQcu3Tx7ZPJizPzLRTY9bHiywK3iL9gvnQK8" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IMapleV1Pool.sol": { - "keccak256": "0x46e635c8ae53a2156c7331f381bbf69c4085a97e20b549fcea9c9425aaafa5f8", - "urls": [ - "bzz-raw://548dffe449da6fb3c6f0cd6253aad5c274e6b13d55a649181b36be9aa9898417", - "dweb:/ipfs/QmVdmYzRo1NCVFmbyHcUeRsCTwhVrdAWNqdAaSJ4o79Jmh" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IMapleV2Pool.sol": { - "keccak256": "0x628fcf182f99fd5be22272244f8106a551578de4bf3df105eb8ab42092c5cb05", - "urls": [ - "bzz-raw://efe4ae3736fd54ec2639621cdc1c245655e899cfa6da046476284ce0830f79de", - "dweb:/ipfs/QmUoPG6ZBjDJ2Up8eHVZwfY3vgiXTv66Utct4D19tq4ZD8" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IMapleV2PoolManager.sol": { - "keccak256": "0xc4de35e316205863bf63e66749c9cc4af8f50ebfce1fea39378da2740645a914", - "urls": [ - "bzz-raw://0bc5f3c9502ae74d8ae7fc9e078eebb8185eb4fd3cf42eb0f531d116cdc63e59", - "dweb:/ipfs/QmScJCCGHM1grtPKnZGmvXbPY6HVZosrwYESD71mBVDE9w" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IMapleV2WithdrawalManager.sol": { - "keccak256": "0x52edc67174fbb7829efcab6863d011e6b41106315d47c649bee96621020896ae", - "urls": [ - "bzz-raw://51a0f7bda1ef4999fc91071264fa39481e56d5f8702818926a13afd99ade4fb9", - "dweb:/ipfs/QmPNiCaYwnvQU5HRSALKeDYwRHRorSVMXQ4Br394x4Fzys" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AddressArrayLib.sol": { - "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", - "urls": [ - "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", - "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AssetHelpers.sol": { - "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", - "urls": [ - "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", - "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/Uint256ArrayLib.sol": { - "keccak256": "0x1627d0d32692b86c5dd3e74ebb8305fbf99a3c41d4b90e736077762cc80c1a31", - "urls": [ - "bzz-raw://54ff92ccd4bd685dda44c2520e3f52478168e909b400c3cc4076d37f5c2704ef", - "dweb:/ipfs/QmYUxeaKfPwnUtP35i6JJ3ptsaDFEV6SD2o4VV8d5vBUZD" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { - "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", - "urls": [ - "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", - "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Address.sol": { - "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", - "urls": [ - "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", - "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 116 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_mapleV1ToV2PoolMapper", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "getDebtAssets", "inputs": [], "outputs": [ { "name": "assets_", "type": "address[]", "internalType": "address[]" }, { "name": "amounts_", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "getManagedAssets", "inputs": [], "outputs": [ { "name": "assets_", "type": "address[]", "internalType": "address[]" }, { "name": "amounts_", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "getPreMigrationValueSnapshotOfPoolTokenV1", "inputs": [ { "name": "_poolV1", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "valueSnapshot_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "getUsedLendingPoolsV1", "inputs": [], "outputs": [ { "name": "poolsV1_", "type": "address[]", "internalType": "address[]" } ], "stateMutability": "view" }, { "type": "function", "name": "getUsedLendingPoolsV2", "inputs": [], "outputs": [ { "name": "poolsV2_", "type": "address[]", "internalType": "address[]" } ], "stateMutability": "view" }, { "type": "function", "name": "init", "inputs": [ { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "isUsedLendingPoolV2", "inputs": [ { "name": "_poolV2", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "isUsed_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "migratePoolsV1ToV2", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "receiveCallFromVault", "inputs": [ { "name": "_actionData", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "snapshotPoolTokenV1BalanceValues", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "event", "name": "PoolTokenV1PreMigrationValueSnapshotted", "inputs": [ { "name": "lendingPoolV1", "type": "address", "indexed": true, "internalType": "address" }, { "name": "value", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "UsedLendingPoolAdded", "inputs": [ { "name": "lendingPool", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "UsedLendingPoolRemoved", "inputs": [ { "name": "lendingPool", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "UsedLendingPoolV2Added", "inputs": [ { "name": "lendingPoolV2", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "UsedLendingPoolV2Removed", "inputs": [ { "name": "lendingPoolV2", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false } ], "bytecode": { "object": "0x60a060405234801561001057600080fd5b5060405161233e38038061233e8339818101604052602081101561003357600080fd5b5051606081901b6001600160601b0319166080526001600160a01b03166122c86100766000398061037e528061047252806105da528061074552506122c86000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c8063be0a08e911610066578063be0a08e914610236578063c4c54c921461028e578063e5c23a9714610296578063e8ffc97b1461033c578063ecd658b4146103745761009e565b80632d13e051146100a35780634ddf47d4146100ad5780637f15233f1461015357806380daddb81461015b578063a3451a39146101fc575b600080fd5b6100ab61037c565b005b6100ab600480360360208110156100c357600080fd5b8101906020810181356401000000008111156100de57600080fd5b8201836020820111156100f057600080fd5b8035906020019184600183028401116401000000008311171561011257600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506105d5945050505050565b6100ab6105d8565b610163610735565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156101a757818101518382015260200161018f565b50505050905001838103825284818151815260200191508051906020019060200280838360005b838110156101e65781810151838201526020016101ce565b5050505090500194505050505060405180910390f35b6102226004803603602081101561021257600080fd5b50356001600160a01b0316610be2565b604080519115158252519081900360200190f35b61023e610bf5565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561027a578181015183820152602001610262565b505050509050019250505060405180910390f35b61023e610c57565b6100ab600480360360208110156102ac57600080fd5b8101906020810181356401000000008111156102c757600080fd5b8201836020820111156102d957600080fd5b803590602001918460018302840111640100000000831117156102fb57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610cb7945050505050565b6103626004803603602081101561035257600080fd5b50356001600160a01b0316610e2c565b60408051918252519081900360200190f35b610163610e47565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316639cf7922f6040518163ffffffff1660e01b815260040160206040518083038186803b1580156103d557600080fd5b505afa1580156103e9573d6000803e3d6000fd5b505050506040513d60208110156103ff57600080fd5b505161043c5760405162461bcd60e51b81526004018080602001828103825260298152602001806121956029913960400191505060405180910390fd5b6060610446610c57565b805190915060005b818110156105d057600083828151811061046457fe5b6020026020010151905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166337dd8196836040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156104dd57600080fd5b505afa1580156104f1573d6000803e3d6000fd5b505050506040513d602081101561050757600080fd5b505190506001600160a01b038116610566576040805162461bcd60e51b815260206004820152601e60248201527f6d696772617465506f6f6c735631546f56323a204e6f206d617070696e670000604482015290519081900360640190fd5b61056f81610e4d565b61057a600083610ed1565b506040516001600160a01b038316907f33051e89b0c4d3b7fb9db3bcf71cdf9536833424b480c169231a80157f3dd6ee90600090a2506001600160a01b031660009081526002602052604081205560010161044e565b505050565b50565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638580eb5b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561063157600080fd5b505afa158015610645573d6000803e3d6000fd5b505050506040513d602081101561065b57600080fd5b50516106985760405162461bcd60e51b815260040180806020018281038252603281526020018061222a6032913960400191505060405180910390fd5b60606106a2610c57565b805190915060005b818110156105d05760008382815181106106c057fe5b6020026020010151905060006106d582610fc9565b6001600160a01b0383166000818152600260209081526040918290208490558151848152915193945091927fe3086fdf58014fc6068d005890131ac0cb6f8c29a66d7f7bc15a097e1f85746e929181900390910190a250506001016106aa565b600054606090819080156109e5577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316639cf7922f6040518163ffffffff1660e01b815260040160206040518083038186803b15801561079c57600080fd5b505afa1580156107b0573d6000803e3d6000fd5b505050506040513d60208110156107c657600080fd5b5051156107dd576107d561037c565b5060006109e5565b306001600160a01b0316637f15233f6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561081857600080fd5b505af1925050508015610829575060015b506060610834610c57565b90508167ffffffffffffffff8111801561084d57600080fd5b50604051908082528060200260200182016040528015610877578160200160208202803683370190505b5093508167ffffffffffffffff8111801561089157600080fd5b506040519080825280602002602001820160405280156108bb578160200160208202803683370190505b50925060005b828110156109e25760008282815181106108d757fe5b6020026020010151905060006108ec82610e2c565b90506000811161092d5760405162461bcd60e51b81526004018080602001828103825260258152602001806122056025913960400191505060405180910390fd5b816001600160a01b031663209b2bca6040518163ffffffff1660e01b815260040160206040518083038186803b15801561096657600080fd5b505afa15801561097a573d6000803e3d6000fd5b505050506040513d602081101561099057600080fd5b505187518890859081106109a057fe5b60200260200101906001600160a01b031690816001600160a01b031681525050808684815181106109cd57fe5b602090810291909101015250506001016108c1565b50505b80610bc35760606109f4610bf5565b80519091508067ffffffffffffffff81118015610a1057600080fd5b50604051908082528060200260200182016040528015610a3a578160200160208202803683370190505b5094508067ffffffffffffffff81118015610a5457600080fd5b50604051908082528060200260200182016040528015610a7e578160200160208202803683370190505b50935060005b81811015610bbf576000838281518110610a9a57fe5b60200260200101519050806001600160a01b03166338d52e0f6040518163ffffffff1660e01b815260040160206040518083038186803b158015610add57600080fd5b505afa158015610af1573d6000803e3d6000fd5b505050506040513d6020811015610b0757600080fd5b50518751889084908110610b1757fe5b6001600160a01b03928316602091820292909201015281166350496cbd610b3d836111c8565b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610b7157600080fd5b505afa158015610b85573d6000803e3d6000fd5b505050506040513d6020811015610b9b57600080fd5b50518651879084908110610bab57fe5b602090810291909101015250600101610a84565b5050505b600183511115610bdd57610bd783836113aa565b90935091505b509091565b6000610bef6001836115ed565b92915050565b60606001805480602002602001604051908101604052809291908181526020018280548015610c4d57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610c2f575b5050505050905090565b60606000805480602002602001604051908101604052809291908181526020018280548015610c4d576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311610c2f575050505050905090565b60006060828060200190516040811015610cd057600080fd5b815160208301805160405192949293830192919084640100000000821115610cf757600080fd5b908301906020820185811115610d0c57600080fd5b8251640100000000811182820188101715610d2657600080fd5b82525081516020918201929091019080838360005b83811015610d53578181015183820152602001610d3b565b50505050905090810190601f168015610d805780820380516001836020036101000a031916815260200191505b50604052505050915091506009600c811115610d9857fe5b821415610dad57610da881611645565b6105d0565b600a821415610dbf57610da881611759565b600b821415610dd157610da8816117ed565b600c821415610de357610da8816118d4565b6008821415610df557610da88161193b565b60405162461bcd60e51b81526004018080602001828103825260268152602001806121be6026913960400191505060405180910390fd5b6001600160a01b031660009081526002602052604090205490565b60608091565b610e5681610be2565b6105d55760018054808201825560009182527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60180546001600160a01b0319166001600160a01b03841690811790915560405190917ff5adf0712ae89feadd26c8ee6a898759c89978dcc4c5f23811900dc45079821691a250565b8154600090815b81811015610fc157836001600160a01b0316858281548110610ef657fe5b6000918252602090912001546001600160a01b03161415610fb95760018203811015610f8457846001830381548110610f2b57fe5b9060005260206000200160009054906101000a90046001600160a01b0316858281548110610f5557fe5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055505b84805480610f8e57fe5b600082815260209020810160001990810180546001600160a01b031916905501905560019250610fc1565b600101610ed8565b505092915050565b60008082905060006110b0826001600160a01b031663209b2bca6040518163ffffffff1660e01b815260040160206040518083038186803b15801561100d57600080fd5b505afa158015611021573d6000803e3d6000fd5b505050506040513d602081101561103757600080fd5b5051604080516370a0823160e01b815230600482015290516001600160a01b038816916370a08231916024808301926020929190829003018186803b15801561107f57600080fd5b505afa158015611093573d6000803e3d6000fd5b505050506040513d60208110156110a957600080fd5b5051611aa5565b90506000826001600160a01b031663443bb293306040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050602060405180830381600087803b15801561110357600080fd5b505af1158015611117573d6000803e3d6000fd5b505050506040513d602081101561112d57600080fd5b505160408051636696779160e01b815230600482015290519192506000916001600160a01b03861691636696779191602480830192602092919082900301818787803b15801561117c57600080fd5b505af1158015611190573d6000803e3d6000fd5b505050506040513d60208110156111a657600080fd5b505190506111be816111b88585611b39565b90611b93565b9695505050505050565b6000816001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561121757600080fd5b505afa15801561122b573d6000803e3d6000fd5b505050506040513d602081101561124157600080fd5b50516040805163481c6a7560e01b815290519192506000916001600160a01b0385169163481c6a75916004808301926020929190829003018186803b15801561128957600080fd5b505afa15801561129d573d6000803e3d6000fd5b505050506040513d60208110156112b357600080fd5b50516040805163417f29ad60e11b815290516001600160a01b03909216916382fe535a91600480820192602092909190829003018186803b1580156112f757600080fd5b505afa15801561130b573d6000803e3d6000fd5b505050506040513d602081101561132157600080fd5b5051604080516338cdab1160e21b815230600482015290519192506113a3916001600160a01b0384169163e336ac44916024808301926020929190829003018186803b15801561137057600080fd5b505afa158015611384573d6000803e3d6000fd5b505050506040513d602081101561139a57600080fd5b50518390611b39565b9392505050565b6060808351600014156113bc576115e6565b6001805b855181101561143c576000805b82811015611426578781815181106113e157fe5b60200260200101516001600160a01b03168884815181106113fe57fe5b60200260200101516001600160a01b0316141561141e5760019150611426565b6001016113cd565b5080611433576001909201915b506001016113c0565b508067ffffffffffffffff8111801561145457600080fd5b5060405190808252806020026020018201604052801561147e578160200160208202803683370190505b5092508067ffffffffffffffff8111801561149857600080fd5b506040519080825280602002602001820160405280156114c2578160200160208202803683370190505b5091506000805b86518110156115e2576000805b83811015611561578681815181106114ea57fe5b60200260200101516001600160a01b031689848151811061150757fe5b60200260200101516001600160a01b03161415611559576001915087838151811061152e57fe5b602002602001015186828151811061154257fe5b602002602001018181510191508181525050611561565b6001016114d6565b50806115d95787828151811061157357fe5b602002602001015186848151811061158757fe5b60200260200101906001600160a01b031690816001600160a01b0316815250508682815181106115b357fe5b60200260200101518584815181106115c757fe5b60209081029190910101526001909201915b506001016114c9565b5050505b9250929050565b8154600090815b8181101561163a5784818154811061160857fe5b6000918252602090912001546001600160a01b038581169116141561163257600192505050610bef565b6001016115f4565b506000949350505050565b600054156116555761165561037c565b60008061166183611bf0565b915091506116d4826001600160a01b03166338d52e0f6040518163ffffffff1660e01b815260040160206040518083038186803b1580156116a157600080fd5b505afa1580156116b5573d6000803e3d6000fd5b505050506040513d60208110156116cb57600080fd5b50518383611c1b565b60408051636e553f6560e01b81526004810183905230602482015290516001600160a01b03841691636e553f659160448083019260209291908290030181600087803b15801561172357600080fd5b505af1158015611737573d6000803e3d6000fd5b505050506040513d602081101561174d57600080fd5b506105d0905082610e4d565b600054156117695761176961037c565b60008061177583611bf0565b91509150816001600160a01b031663107703ab82306040518363ffffffff1660e01b815260040180838152602001826001600160a01b0316815260200192505050600060405180830381600087803b1580156117d057600080fd5b505af11580156117e4573d6000803e3d6000fd5b50505050505050565b6000806117f983611bf0565b60408051635d043b2960e11b81526004810183905233602482015230604482015290519294509092506001600160a01b0384169163ba087652916064808201926020929091908290030181600087803b15801561185557600080fd5b505af1158015611869573d6000803e3d6000fd5b505050506040513d602081101561187f57600080fd5b5061188b9050826111c8565b6105d05761189a600183610ed1565b506040516001600160a01b038316907f9d6926baa57c10a6af1bafa91bb5183c5faae6fc2d152ebbd45a1ef6a265bb1690600090a2505050565b6000806118e083611bf0565b91509150816001600160a01b0316631b8f183082306040518363ffffffff1660e01b815260040180838152602001826001600160a01b0316815260200192505050600060405180830381600087803b1580156117d057600080fd5b600061194682611cd3565b905060008190506000816001600160a01b031663d1af0c7d6040518163ffffffff1660e01b815260040160206040518083038186803b15801561198857600080fd5b505afa15801561199c573d6000803e3d6000fd5b505050506040513d60208110156119b257600080fd5b505160408051631e8c5c8960e11b815290519192506001600160a01b03841691633d18b9129160048082019260009290919082900301818387803b1580156119f957600080fd5b505af1158015611a0d573d6000803e3d6000fd5b50505050611a9f33826001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015611a6257600080fd5b505afa158015611a76573d6000803e3d6000fd5b505050506040513d6020811015611a8c57600080fd5b50516001600160a01b0384169190611cf2565b50505050565b600080836001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015611ae157600080fd5b505afa158015611af5573d6000803e3d6000fd5b505050506040513d6020811015611b0b57600080fd5b505160ff16600a0a9050611b31670de0b6b3a7640000611b2b8584611d44565b90611d9d565b949350505050565b6000828201838110156113a3576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600082821115611bea576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600080828060200190516040811015611c0857600080fd5b5080516020909101519092509050915091565b60408051636eb1769f60e11b81523060048201526001600160a01b038481166024830152915160009286169163dd62ed3e916044808301926020929190829003018186803b158015611c6c57600080fd5b505afa158015611c80573d6000803e3d6000fd5b505050506040513d6020811015611c9657600080fd5b5051905081811015611a9f578015611cbd57611cbd6001600160a01b038516846000611e04565b611a9f6001600160a01b03851684600019611e04565b6000818060200190516020811015611cea57600080fd5b505192915050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526105d0908490611f13565b600082611d5357506000610bef565b82820282848281611d6057fe5b04146113a35760405162461bcd60e51b81526004018080602001828103825260218152602001806121e46021913960400191505060405180910390fd5b6000808211611df3576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b818381611dfc57fe5b049392505050565b801580611e8a575060408051636eb1769f60e11b81523060048201526001600160a01b03848116602483015291519185169163dd62ed3e91604480820192602092909190829003018186803b158015611e5c57600080fd5b505afa158015611e70573d6000803e3d6000fd5b505050506040513d6020811015611e8657600080fd5b5051155b611ec55760405162461bcd60e51b81526004018080602001828103825260368152602001806122866036913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526105d09084905b6060611f68826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316611fc49092919063ffffffff16565b8051909150156105d057808060200190516020811015611f8757600080fd5b50516105d05760405162461bcd60e51b815260040180806020018281038252602a81526020018061225c602a913960400191505060405180910390fd5b6060611b31848460008585611fd8856120ea565b612029576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b602083106120685780518252601f199092019160209182019101612049565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146120ca576040519150601f19603f3d011682016040523d82523d6000602084013e6120cf565b606091505b50915091506120df8282866120f0565b979650505050505050565b3b151590565b606083156120ff5750816113a3565b82511561210f5782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612159578181015183820152602001612141565b50505050905090810190601f1680156121865780820380516001836020036101000a031916815260200191505b509250505060405180910390fdfe6d696772617465506f6f6c735631546f56323a204d6967726174696f6e206e6f7420616c6c6f7765647265636569766543616c6c46726f6d5661756c743a20496e76616c696420616374696f6e4964536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f776765744d616e616765644173736574733a204e6f20706f6f6c20763120736e617073686f74736e617073686f74506f6f6c546f6b656e563142616c616e636556616c7565733a20536e617073686f74732066726f7a656e5361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e6365a164736f6c634300060c000a", "sourceMap": "1336:14033:116:-:0;;;1792:151;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1792:151:116;1853:83;;;;-1:-1:-1;;;;;;1853:83:116;;;-1:-1:-1;;;;;1336:14033:116;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b506004361061009e5760003560e01c8063be0a08e911610066578063be0a08e914610236578063c4c54c921461028e578063e5c23a9714610296578063e8ffc97b1461033c578063ecd658b4146103745761009e565b80632d13e051146100a35780634ddf47d4146100ad5780637f15233f1461015357806380daddb81461015b578063a3451a39146101fc575b600080fd5b6100ab61037c565b005b6100ab600480360360208110156100c357600080fd5b8101906020810181356401000000008111156100de57600080fd5b8201836020820111156100f057600080fd5b8035906020019184600183028401116401000000008311171561011257600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506105d5945050505050565b6100ab6105d8565b610163610735565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156101a757818101518382015260200161018f565b50505050905001838103825284818151815260200191508051906020019060200280838360005b838110156101e65781810151838201526020016101ce565b5050505090500194505050505060405180910390f35b6102226004803603602081101561021257600080fd5b50356001600160a01b0316610be2565b604080519115158252519081900360200190f35b61023e610bf5565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561027a578181015183820152602001610262565b505050509050019250505060405180910390f35b61023e610c57565b6100ab600480360360208110156102ac57600080fd5b8101906020810181356401000000008111156102c757600080fd5b8201836020820111156102d957600080fd5b803590602001918460018302840111640100000000831117156102fb57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610cb7945050505050565b6103626004803603602081101561035257600080fd5b50356001600160a01b0316610e2c565b60408051918252519081900360200190f35b610163610e47565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316639cf7922f6040518163ffffffff1660e01b815260040160206040518083038186803b1580156103d557600080fd5b505afa1580156103e9573d6000803e3d6000fd5b505050506040513d60208110156103ff57600080fd5b505161043c5760405162461bcd60e51b81526004018080602001828103825260298152602001806121956029913960400191505060405180910390fd5b6060610446610c57565b805190915060005b818110156105d057600083828151811061046457fe5b6020026020010151905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166337dd8196836040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156104dd57600080fd5b505afa1580156104f1573d6000803e3d6000fd5b505050506040513d602081101561050757600080fd5b505190506001600160a01b038116610566576040805162461bcd60e51b815260206004820152601e60248201527f6d696772617465506f6f6c735631546f56323a204e6f206d617070696e670000604482015290519081900360640190fd5b61056f81610e4d565b61057a600083610ed1565b506040516001600160a01b038316907f33051e89b0c4d3b7fb9db3bcf71cdf9536833424b480c169231a80157f3dd6ee90600090a2506001600160a01b031660009081526002602052604081205560010161044e565b505050565b50565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638580eb5b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561063157600080fd5b505afa158015610645573d6000803e3d6000fd5b505050506040513d602081101561065b57600080fd5b50516106985760405162461bcd60e51b815260040180806020018281038252603281526020018061222a6032913960400191505060405180910390fd5b60606106a2610c57565b805190915060005b818110156105d05760008382815181106106c057fe5b6020026020010151905060006106d582610fc9565b6001600160a01b0383166000818152600260209081526040918290208490558151848152915193945091927fe3086fdf58014fc6068d005890131ac0cb6f8c29a66d7f7bc15a097e1f85746e929181900390910190a250506001016106aa565b600054606090819080156109e5577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316639cf7922f6040518163ffffffff1660e01b815260040160206040518083038186803b15801561079c57600080fd5b505afa1580156107b0573d6000803e3d6000fd5b505050506040513d60208110156107c657600080fd5b5051156107dd576107d561037c565b5060006109e5565b306001600160a01b0316637f15233f6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561081857600080fd5b505af1925050508015610829575060015b506060610834610c57565b90508167ffffffffffffffff8111801561084d57600080fd5b50604051908082528060200260200182016040528015610877578160200160208202803683370190505b5093508167ffffffffffffffff8111801561089157600080fd5b506040519080825280602002602001820160405280156108bb578160200160208202803683370190505b50925060005b828110156109e25760008282815181106108d757fe5b6020026020010151905060006108ec82610e2c565b90506000811161092d5760405162461bcd60e51b81526004018080602001828103825260258152602001806122056025913960400191505060405180910390fd5b816001600160a01b031663209b2bca6040518163ffffffff1660e01b815260040160206040518083038186803b15801561096657600080fd5b505afa15801561097a573d6000803e3d6000fd5b505050506040513d602081101561099057600080fd5b505187518890859081106109a057fe5b60200260200101906001600160a01b031690816001600160a01b031681525050808684815181106109cd57fe5b602090810291909101015250506001016108c1565b50505b80610bc35760606109f4610bf5565b80519091508067ffffffffffffffff81118015610a1057600080fd5b50604051908082528060200260200182016040528015610a3a578160200160208202803683370190505b5094508067ffffffffffffffff81118015610a5457600080fd5b50604051908082528060200260200182016040528015610a7e578160200160208202803683370190505b50935060005b81811015610bbf576000838281518110610a9a57fe5b60200260200101519050806001600160a01b03166338d52e0f6040518163ffffffff1660e01b815260040160206040518083038186803b158015610add57600080fd5b505afa158015610af1573d6000803e3d6000fd5b505050506040513d6020811015610b0757600080fd5b50518751889084908110610b1757fe5b6001600160a01b03928316602091820292909201015281166350496cbd610b3d836111c8565b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610b7157600080fd5b505afa158015610b85573d6000803e3d6000fd5b505050506040513d6020811015610b9b57600080fd5b50518651879084908110610bab57fe5b602090810291909101015250600101610a84565b5050505b600183511115610bdd57610bd783836113aa565b90935091505b509091565b6000610bef6001836115ed565b92915050565b60606001805480602002602001604051908101604052809291908181526020018280548015610c4d57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610c2f575b5050505050905090565b60606000805480602002602001604051908101604052809291908181526020018280548015610c4d576020028201919060005260206000209081546001600160a01b03168152600190910190602001808311610c2f575050505050905090565b60006060828060200190516040811015610cd057600080fd5b815160208301805160405192949293830192919084640100000000821115610cf757600080fd5b908301906020820185811115610d0c57600080fd5b8251640100000000811182820188101715610d2657600080fd5b82525081516020918201929091019080838360005b83811015610d53578181015183820152602001610d3b565b50505050905090810190601f168015610d805780820380516001836020036101000a031916815260200191505b50604052505050915091506009600c811115610d9857fe5b821415610dad57610da881611645565b6105d0565b600a821415610dbf57610da881611759565b600b821415610dd157610da8816117ed565b600c821415610de357610da8816118d4565b6008821415610df557610da88161193b565b60405162461bcd60e51b81526004018080602001828103825260268152602001806121be6026913960400191505060405180910390fd5b6001600160a01b031660009081526002602052604090205490565b60608091565b610e5681610be2565b6105d55760018054808201825560009182527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf60180546001600160a01b0319166001600160a01b03841690811790915560405190917ff5adf0712ae89feadd26c8ee6a898759c89978dcc4c5f23811900dc45079821691a250565b8154600090815b81811015610fc157836001600160a01b0316858281548110610ef657fe5b6000918252602090912001546001600160a01b03161415610fb95760018203811015610f8457846001830381548110610f2b57fe5b9060005260206000200160009054906101000a90046001600160a01b0316858281548110610f5557fe5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055505b84805480610f8e57fe5b600082815260209020810160001990810180546001600160a01b031916905501905560019250610fc1565b600101610ed8565b505092915050565b60008082905060006110b0826001600160a01b031663209b2bca6040518163ffffffff1660e01b815260040160206040518083038186803b15801561100d57600080fd5b505afa158015611021573d6000803e3d6000fd5b505050506040513d602081101561103757600080fd5b5051604080516370a0823160e01b815230600482015290516001600160a01b038816916370a08231916024808301926020929190829003018186803b15801561107f57600080fd5b505afa158015611093573d6000803e3d6000fd5b505050506040513d60208110156110a957600080fd5b5051611aa5565b90506000826001600160a01b031663443bb293306040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050602060405180830381600087803b15801561110357600080fd5b505af1158015611117573d6000803e3d6000fd5b505050506040513d602081101561112d57600080fd5b505160408051636696779160e01b815230600482015290519192506000916001600160a01b03861691636696779191602480830192602092919082900301818787803b15801561117c57600080fd5b505af1158015611190573d6000803e3d6000fd5b505050506040513d60208110156111a657600080fd5b505190506111be816111b88585611b39565b90611b93565b9695505050505050565b6000816001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561121757600080fd5b505afa15801561122b573d6000803e3d6000fd5b505050506040513d602081101561124157600080fd5b50516040805163481c6a7560e01b815290519192506000916001600160a01b0385169163481c6a75916004808301926020929190829003018186803b15801561128957600080fd5b505afa15801561129d573d6000803e3d6000fd5b505050506040513d60208110156112b357600080fd5b50516040805163417f29ad60e11b815290516001600160a01b03909216916382fe535a91600480820192602092909190829003018186803b1580156112f757600080fd5b505afa15801561130b573d6000803e3d6000fd5b505050506040513d602081101561132157600080fd5b5051604080516338cdab1160e21b815230600482015290519192506113a3916001600160a01b0384169163e336ac44916024808301926020929190829003018186803b15801561137057600080fd5b505afa158015611384573d6000803e3d6000fd5b505050506040513d602081101561139a57600080fd5b50518390611b39565b9392505050565b6060808351600014156113bc576115e6565b6001805b855181101561143c576000805b82811015611426578781815181106113e157fe5b60200260200101516001600160a01b03168884815181106113fe57fe5b60200260200101516001600160a01b0316141561141e5760019150611426565b6001016113cd565b5080611433576001909201915b506001016113c0565b508067ffffffffffffffff8111801561145457600080fd5b5060405190808252806020026020018201604052801561147e578160200160208202803683370190505b5092508067ffffffffffffffff8111801561149857600080fd5b506040519080825280602002602001820160405280156114c2578160200160208202803683370190505b5091506000805b86518110156115e2576000805b83811015611561578681815181106114ea57fe5b60200260200101516001600160a01b031689848151811061150757fe5b60200260200101516001600160a01b03161415611559576001915087838151811061152e57fe5b602002602001015186828151811061154257fe5b602002602001018181510191508181525050611561565b6001016114d6565b50806115d95787828151811061157357fe5b602002602001015186848151811061158757fe5b60200260200101906001600160a01b031690816001600160a01b0316815250508682815181106115b357fe5b60200260200101518584815181106115c757fe5b60209081029190910101526001909201915b506001016114c9565b5050505b9250929050565b8154600090815b8181101561163a5784818154811061160857fe5b6000918252602090912001546001600160a01b038581169116141561163257600192505050610bef565b6001016115f4565b506000949350505050565b600054156116555761165561037c565b60008061166183611bf0565b915091506116d4826001600160a01b03166338d52e0f6040518163ffffffff1660e01b815260040160206040518083038186803b1580156116a157600080fd5b505afa1580156116b5573d6000803e3d6000fd5b505050506040513d60208110156116cb57600080fd5b50518383611c1b565b60408051636e553f6560e01b81526004810183905230602482015290516001600160a01b03841691636e553f659160448083019260209291908290030181600087803b15801561172357600080fd5b505af1158015611737573d6000803e3d6000fd5b505050506040513d602081101561174d57600080fd5b506105d0905082610e4d565b600054156117695761176961037c565b60008061177583611bf0565b91509150816001600160a01b031663107703ab82306040518363ffffffff1660e01b815260040180838152602001826001600160a01b0316815260200192505050600060405180830381600087803b1580156117d057600080fd5b505af11580156117e4573d6000803e3d6000fd5b50505050505050565b6000806117f983611bf0565b60408051635d043b2960e11b81526004810183905233602482015230604482015290519294509092506001600160a01b0384169163ba087652916064808201926020929091908290030181600087803b15801561185557600080fd5b505af1158015611869573d6000803e3d6000fd5b505050506040513d602081101561187f57600080fd5b5061188b9050826111c8565b6105d05761189a600183610ed1565b506040516001600160a01b038316907f9d6926baa57c10a6af1bafa91bb5183c5faae6fc2d152ebbd45a1ef6a265bb1690600090a2505050565b6000806118e083611bf0565b91509150816001600160a01b0316631b8f183082306040518363ffffffff1660e01b815260040180838152602001826001600160a01b0316815260200192505050600060405180830381600087803b1580156117d057600080fd5b600061194682611cd3565b905060008190506000816001600160a01b031663d1af0c7d6040518163ffffffff1660e01b815260040160206040518083038186803b15801561198857600080fd5b505afa15801561199c573d6000803e3d6000fd5b505050506040513d60208110156119b257600080fd5b505160408051631e8c5c8960e11b815290519192506001600160a01b03841691633d18b9129160048082019260009290919082900301818387803b1580156119f957600080fd5b505af1158015611a0d573d6000803e3d6000fd5b50505050611a9f33826001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015611a6257600080fd5b505afa158015611a76573d6000803e3d6000fd5b505050506040513d6020811015611a8c57600080fd5b50516001600160a01b0384169190611cf2565b50505050565b600080836001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015611ae157600080fd5b505afa158015611af5573d6000803e3d6000fd5b505050506040513d6020811015611b0b57600080fd5b505160ff16600a0a9050611b31670de0b6b3a7640000611b2b8584611d44565b90611d9d565b949350505050565b6000828201838110156113a3576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600082821115611bea576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600080828060200190516040811015611c0857600080fd5b5080516020909101519092509050915091565b60408051636eb1769f60e11b81523060048201526001600160a01b038481166024830152915160009286169163dd62ed3e916044808301926020929190829003018186803b158015611c6c57600080fd5b505afa158015611c80573d6000803e3d6000fd5b505050506040513d6020811015611c9657600080fd5b5051905081811015611a9f578015611cbd57611cbd6001600160a01b038516846000611e04565b611a9f6001600160a01b03851684600019611e04565b6000818060200190516020811015611cea57600080fd5b505192915050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526105d0908490611f13565b600082611d5357506000610bef565b82820282848281611d6057fe5b04146113a35760405162461bcd60e51b81526004018080602001828103825260218152602001806121e46021913960400191505060405180910390fd5b6000808211611df3576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b818381611dfc57fe5b049392505050565b801580611e8a575060408051636eb1769f60e11b81523060048201526001600160a01b03848116602483015291519185169163dd62ed3e91604480820192602092909190829003018186803b158015611e5c57600080fd5b505afa158015611e70573d6000803e3d6000fd5b505050506040513d6020811015611e8657600080fd5b5051155b611ec55760405162461bcd60e51b81526004018080602001828103825260368152602001806122866036913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526105d09084905b6060611f68826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316611fc49092919063ffffffff16565b8051909150156105d057808060200190516020811015611f8757600080fd5b50516105d05760405162461bcd60e51b815260040180806020018281038252602a81526020018061225c602a913960400191505060405180910390fd5b6060611b31848460008585611fd8856120ea565b612029576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b602083106120685780518252601f199092019160209182019101612049565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146120ca576040519150601f19603f3d011682016040523d82523d6000602084013e6120cf565b606091505b50915091506120df8282866120f0565b979650505050505050565b3b151590565b606083156120ff5750816113a3565b82511561210f5782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612159578181015183820152602001612141565b50505050905090810190601f1680156121865780820380516001836020036101000a031916815260200191505b509250505060405180910390fdfe6d696772617465506f6f6c735631546f56323a204d6967726174696f6e206e6f7420616c6c6f7765647265636569766543616c6c46726f6d5661756c743a20496e76616c696420616374696f6e4964536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f776765744d616e616765644173736574733a204e6f20706f6f6c20763120736e617073686f74736e617073686f74506f6f6c546f6b656e563142616c616e636556616c7565733a20536e617073686f74732066726f7a656e5361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e6365a164736f6c634300060c000a", "sourceMap": "1336:14033:116:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12016:953;;;:::i;:::-;;2052:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2052:48:116;;-1:-1:-1;2052:48:116;;-1:-1:-1;;;;;2052:48:116:i;10773:644::-;;;:::i;7303:2475::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15214:153;;;;;;;;;;;;;;;;-1:-1:-1;15214:153:116;-1:-1:-1;;;;;15214:153:116;;:::i;:::-;;;;;;;;;;;;;;;;;;14939:123;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14690;;;:::i;2283:805::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2283:805:116;;-1:-1:-1;2283:805:116;;-1:-1:-1;;;;;2283:805:116:i;11702:212::-;;;;;;;;;;;;;;;;-1:-1:-1;11702:212:116;-1:-1:-1;;;;;11702:212:116;;:::i;:::-;;;;;;;;;;;;;;;;6806:176;;;:::i;12016:953::-;12084:35;-1:-1:-1;;;;;12084:54:116;;:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12084:56:116;12063:144;;;;-1:-1:-1;;;12063:144:116;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12218:24;12245:23;:21;:23::i;:::-;12302:14;;12218:50;;-1:-1:-1;12278:21:116;12327:636;12347:13;12343:1;:17;12327:636;;;12381:14;12398:7;12406:1;12398:10;;;;;;;;;;;;;;12381:27;;12422:14;12439:35;-1:-1:-1;;;;;12439:65:116;;12522:6;12439:103;;;;;;;;;;;;;-1:-1:-1;;;;;12439:103:116;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12439:103:116;;-1:-1:-1;;;;;;12564:20:116;;12556:63;;;;;-1:-1:-1;;;12556:63:116;;;;;;;;;;;;;;;;;;;;;;;;;;;;12634:34;12661:6;12634:26;:34::i;:::-;12734:44;:18;12771:6;12734:36;:44::i;:::-;-1:-1:-1;12797:30:116;;-1:-1:-1;;;;;12797:30:116;;;;;;;;-1:-1:-1;;;;;;12906:46:116;;;;;:38;:46;;;;;12899:53;12362:3;;12327:636;;;;12016:953;;:::o;2052:48::-;;:::o;10773:644::-;10857:35;-1:-1:-1;;;;;10857:55:116;;:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10857:57:116;10836:154;;;;-1:-1:-1;;;10836:154:116;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11001:24;11028:23;:21;:23::i;:::-;11085:14;;11001:50;;-1:-1:-1;11061:21:116;11109:302;11129:13;11125:1;:17;11109:302;;;11163:14;11180:7;11188:1;11180:10;;;;;;;;;;;;;;11163:27;;11204:13;11220:37;11250:6;11220:29;:37::i;:::-;-1:-1:-1;;;;;11272:46:116;;;;;;:38;:46;;;;;;;;;:54;;;11346;;;;;;;11204:53;;-1:-1:-1;11272:46:116;;11346:54;;;;;;;;;;;-1:-1:-1;;11144:3:116;;11109:302;;7303:2475;7449:21;7473:25;7382:24;;;;7512:17;;7508:1315;;7549:35;-1:-1:-1;;;;;7549:54:116;;:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7549:56:116;7545:1268;;;7691:20;:18;:20::i;:::-;-1:-1:-1;7822:1:116;7545:1268;;;7975:4;-1:-1:-1;;;;;7975:37:116;;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7971:55;8044:24;8071:23;:21;:23::i;:::-;8044:50;;8136:13;8122:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8122:28:116;;8112:38;;8193:13;8179:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8179:28:116;;8168:39;;8230:9;8225:574;8245:13;8241:1;:17;8225:574;;;8287:14;8304:7;8312:1;8304:10;;;;;;;;;;;;;;8287:27;;8517:14;8534:49;8576:6;8534:41;:49::i;:::-;8517:66;;8622:1;8613:6;:10;8605:60;;;;-1:-1:-1;;;8605:60:116;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8714:6;-1:-1:-1;;;;;8701:35:116;;:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8701:37:116;8688:10;;:7;;8696:1;;8688:10;;;;;;;;;;;:50;-1:-1:-1;;;;;8688:50:116;;;-1:-1:-1;;;;;8688:50:116;;;;;8774:6;8760:8;8769:1;8760:11;;;;;;;;;;;;;;;;;:20;-1:-1:-1;;8260:3:116;;8225:574;;;;7545:1268;;8837:18;8833:609;;8903:24;8930:23;:21;:23::i;:::-;8991:14;;8903:50;;-1:-1:-1;8991:14:116;9029:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9029:28:116;;9019:38;;9096:13;9082:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9082:28:116;;9071:39;;9129:9;9124:308;9144:13;9140:1;:17;9124:308;;;9182:14;9199:7;9207:1;9199:10;;;;;;;;;;;;;;9182:27;;9254:6;-1:-1:-1;;;;;9241:26:116;;:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9241:28:116;9228:10;;:7;;9236:1;;9228:10;;;;;;-1:-1:-1;;;;;9228:41:116;;;:10;;;;;;;;;:41;9301:40;;;9363:36;9314:6;9363:28;:36::i;:::-;9301:116;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9301:116:116;9287:11;;:8;;9296:1;;9287:11;;;;;;;;;;;;;;;:130;-1:-1:-1;9159:3:116;;9124:308;;;;8833:609;;;9643:1;9626:7;:14;:18;9622:113;;;9682:42;9706:7;9715:8;9682:23;:42::i;:::-;9660:64;;-1:-1:-1;9660:64:116;-1:-1:-1;9622:113:116;9745:26;7303:2475;;:::o;15214:153::-;15281:12;15312:48;:18;15352:7;15312:39;:48::i;:::-;15305:55;15214:153;-1:-1:-1;;15214:153:116:o;14939:123::-;14993:25;15037:18;15030:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15030:25:116;;;;;;;;;;;;;;;;;;;;;;;14939:123;:::o;14690:::-;14744:25;14788:18;14781:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;14781:25:116;;;;;;;;;;;;;;;;;;;;;;14690:123;:::o;2283:805::-;2368:16;2386:23;2424:11;2413:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2413:41:116;;;;;;;;;;-1:-1:-1;2413:41:116;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2367:87;;;;2489:14;2481:23;;;;;;;;2469:8;:35;2465:617;;;2520:26;2535:10;2520:14;:26::i;:::-;2465:617;;;2587:23;2567:8;:44;2563:519;;;2627:35;2651:10;2627:23;:35::i;2563:519::-;2703:16;2683:8;:37;2679:403;;;2736:28;2753:10;2736:16;:28::i;2679:403::-;2805:22;2785:8;:43;2781:301;;;2844:34;2867:10;2844:22;:34::i;2781:301::-;2919:22;2899:8;:43;2895:187;;;2958:34;2981:10;2958:22;:34::i;2895:187::-;3023:48;;-1:-1:-1;;;3023:48:116;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11702:212;-1:-1:-1;;;;;11860:47:116;11815:22;11860:47;;;:38;:47;;;;;;;11702:212::o;6806:176::-;6882:24;6908:25;6806:176;:::o;3774:212::-;3848:26;3868:5;3848:19;:26::i;:::-;3843:137;;3890:18;:30;;;;;;;-1:-1:-1;3890:30:116;;;;;;;-1:-1:-1;;;;;;3890:30:116;-1:-1:-1;;;;;3890:30:116;;;;;;;;3940:29;;3890:30;;3940:29;;;3774:212;:::o;569:515:354:-;727:12;;678:13;;;749:303;769:9;765:1;:13;749:303;;;815:13;-1:-1:-1;;;;;803:25:354;:5;809:1;803:8;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;803:8:354;:25;799:243;;;868:1;856:9;:13;852:1;:17;848:95;;;904:5;922:1;910:9;:13;904:20;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;904:20:354;893:5;899:1;893:8;;;;;;;;;;;;;;;;:31;;;;;-1:-1:-1;;;;;893:31:354;;;;;-1:-1:-1;;;;;893:31:354;;;;;;848:95;960:5;:11;;;;;;;;;;;;;;;;-1:-1:-1;;960:11:354;;;;;-1:-1:-1;;;;;;960:11:354;;;;;;;;-1:-1:-1;1022:5:354;;799:243;780:3;;749:303;;;;1062:15;569:515;;;;:::o;13654:837:116:-;13725:14;13751:25;13792:5;13751:47;;14022:29;14054:143;14107:12;-1:-1:-1;;;;;14107:27:116;;:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14107:29:116;14150:37;;;-1:-1:-1;;;14150:37:116;;14181:4;14150:37;;;;;;-1:-1:-1;;;;;14150:22:116;;;;;:37;;;;;14107:29;;14150:37;;;;;;;:22;:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14150:37:116;14054:39;:143::i;:::-;14022:175;;14208:27;14238:12;-1:-1:-1;;;;;14238:32:116;;14279:4;14238:47;;;;;;;;;;;;;-1:-1:-1;;;;;14238:47:116;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14238:47:116;14323:48;;;-1:-1:-1;;;14323:48:116;;14365:4;14323:48;;;;;;14238:47;;-1:-1:-1;14295:25:116;;-1:-1:-1;;;;;14323:33:116;;;;;:48;;;;;14238:47;;14323:48;;;;;;;14295:25;14323:33;:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14323:48:116;;-1:-1:-1;14391:69:116;14323:48;14391:46;:21;14417:19;14391:25;:46::i;:::-;:50;;:69::i;:::-;14382:78;13654:837;-1:-1:-1;;;;;;13654:837:116:o;9866:601::-;9941:16;9987:5;-1:-1:-1;;;;;9980:23:116;;10012:4;9980:38;;;;;;;;;;;;;-1:-1:-1;;;;;9980:38:116;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9980:38:116;10281:29;;;-1:-1:-1;;;10281:29:116;;;;9980:38;;-1:-1:-1;10233:25:116;;-1:-1:-1;;;;;10281:27:116;;;;;:29;;;;;9980:38;;10281:29;;;;;;;:27;:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10281:29:116;10261:83;;;-1:-1:-1;;;10261:83:116;;;;-1:-1:-1;;;;;10261:81:116;;;;;;:83;;;;;10281:29;;10261:83;;;;;;;;:81;:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10261:83:116;10387:72;;;-1:-1:-1;;;10387:72:116;;10453:4;10387:72;;;;;;10261:83;;-1:-1:-1;10374:86:116;;-1:-1:-1;;;;;10387:57:116;;;;;:72;;;;;10261:83;;10387:72;;;;;;;:57;:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10387:72:116;10374:8;;:12;:86::i;:::-;10355:105;9866:601;-1:-1:-1;;;9866:601:116:o;749:1574:355:-;888:34;924:35;979:10;:17;1000:1;979:22;975:99;;;1017:46;;975:99;1115:1;;1126:361;1150:10;:17;1146:1;:21;1126:361;;;1188:13;1220:9;1215:179;1235:1;1231;:5;1215:179;;;1282:10;1293:1;1282:13;;;;;;;;;;;;;;-1:-1:-1;;;;;1265:30:355;:10;1276:1;1265:13;;;;;;;;;;;;;;-1:-1:-1;;;;;1265:30:355;;1261:119;;;1330:4;1319:15;;1356:5;;1261:119;1238:3;;1215:179;;;;1412:8;1407:70;;1440:22;;;;;1407:70;-1:-1:-1;1169:3:355;;1126:361;;;;1531:20;1517:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1517:35:355;;1497:55;;1597:20;1583:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1583:35:355;;1562:56;;1628:28;1671:9;1666:594;1686:10;:17;1682:1;:21;1666:594;;;1724:13;1756:9;1751:268;1771:20;1767:1;:24;1751:268;;;1837:17;1855:1;1837:20;;;;;;;;;;;;;;-1:-1:-1;;;;;1820:37:355;:10;1831:1;1820:13;;;;;;;;;;;;;;-1:-1:-1;;;;;1820:37:355;;1816:189;;;1892:4;1881:15;;1944:11;1956:1;1944:14;;;;;;;;;;;;;;1919:18;1938:1;1919:21;;;;;;;;;;;;;:39;;;;;;;;;;;1981:5;;1816:189;1793:3;;1751:268;;;;2037:8;2032:218;;2107:10;2118:1;2107:13;;;;;;;;;;;;;;2065:17;2083:20;2065:39;;;;;;;;;;;;;:55;-1:-1:-1;;;;;2065:55:355;;;-1:-1:-1;;;;;2065:55:355;;;;;2181:11;2193:1;2181:14;;;;;;;;;;;;;;2138:18;2157:20;2138:40;;;;;;;;;;;;;;;;;:57;2213:22;;;;;2032:218;-1:-1:-1;1705:3:355;;1666:594;;;;2270:46;;749:1574;;;;;;:::o;1167:351:354:-;1339:12;;1286:17;;;1361:129;1381:9;1377:1;:13;1361:129;;;1426:5;1432:1;1426:8;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1415:19:354;;;1426:8;;1415:19;1411:69;;;1461:4;1454:11;;;;;;1411:69;1392:3;;1361:129;;;-1:-1:-1;1506:5:354;;1167:351;-1:-1:-1;;;;1167:351:354:o;4416:809:116:-;4765:1;4737:25;:29;4733:80;;4782:20;:18;:20::i;:::-;4824:12;4838:28;4870:37;4895:11;4870:24;:37::i;:::-;4823:84;;;;4918:161;4979:4;-1:-1:-1;;;;;4966:24:116;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4966:26:116;5015:4;5048:20;4918:25;:161::i;:::-;5090:85;;;-1:-1:-1;;;5090:85:116;;;;;;;;5168:4;5090:85;;;;;;-1:-1:-1;;;;;5090:26:116;;;;;:85;;;;;;;;;;;;;;-1:-1:-1;5090:26:116;:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5186:32:116;;-1:-1:-1;5213:4:116;5186:26;:32::i;5955:605::-;6313:1;6285:25;:29;6281:80;;6330:20;:18;:20::i;:::-;6372:12;6386:23;6413:46;6447:11;6413:33;:46::i;:::-;6371:88;;;;6483:4;-1:-1:-1;;;;;6470:32:116;;6513:15;6546:4;6470:83;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6470:83:116;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5955:605;;;:::o;5289:592::-;5360:12;5374:23;5401:39;5428:11;5401:26;:39::i;:::-;5451:145;;;-1:-1:-1;;;5451:145:116;;;;;;;;5540:10;5451:145;;;;5580:4;5451:145;;;;;;5359:81;;-1:-1:-1;5359:81:116;;-1:-1:-1;;;;;;5451:25:116;;;;;:145;;;;;;;;;;;;;;;-1:-1:-1;5451:25:116;:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5717:34:116;;-1:-1:-1;5746:4:116;5717:28;:34::i;:::-;5713:162;;5772:42;:18;5809:4;5772:36;:42::i;:::-;-1:-1:-1;5834:30:116;;-1:-1:-1;;;;;5834:30:116;;;;;;;;5289:592;;;:::o;4093:263::-;4170:12;4184:23;4211:45;4244:11;4211:32;:45::i;:::-;4169:87;;;;4280:4;-1:-1:-1;;;;;4267:31:116;;4309:15;4342:4;4267:82;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4267:82:116;;;;;;;;;;;;;;;;;;;;;;;;;;;;3223:417;3299:23;3325:45;3358:11;3325:32;:45::i;:::-;3299:71;;3381:31;3434:15;3381:69;;3460:17;3486:12;-1:-1:-1;;;;;3486:25:116;;:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3486:27:116;3524:24;;;-1:-1:-1;;;3524:24:116;;;;3486:27;;-1:-1:-1;;;;;;3524:22:116;;;;;:24;;;;;;;;;;;;;;;;:22;:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3559:74;3584:10;3596:11;-1:-1:-1;;;;;3596:21:116;;3626:4;3596:36;;;;;;;;;;;;;-1:-1:-1;;;;;3596:36:116;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3596:36:116;-1:-1:-1;;;;;3559:24:116;;;:74;:24;:74::i;:::-;3223:417;;;;:::o;13079:435::-;13223:23;13258:36;13316:15;-1:-1:-1;;;;;13310:31:116;;:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13310:33:116;13302:42;;13297:2;:48;;-1:-1:-1;13374:100:116;1697:6;13374:50;:16;13297:48;13374:20;:50::i;:::-;:54;;:100::i;:::-;13356:118;13079:435;-1:-1:-1;;;;13079:435:116:o;2690:175:442:-;2748:7;2779:5;;;2802:6;;;;2794:46;;;;;-1:-1:-1;;;2794:46:442;;;;;;;;;;;;;;;;;;;;;;;;;;;3136:155;3194:7;3226:1;3221;:6;;3213:49;;;;;-1:-1:-1;;;3213:49:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3279:5:442;;;3136:155::o;1316:224:115:-;1423:13;1438:29;1501:11;1490:43;;;;;;;;;;;;;;;-1:-1:-1;1490:43:115;;;;;;;;;-1:-1:-1;1490:43:115;-1:-1:-1;1316:224:115;;;:::o;2554:434:355:-;2714:47;;;-1:-1:-1;;;2714:47:355;;2746:4;2714:47;;;;-1:-1:-1;;;;;2714:47:355;;;;;;;;;2694:17;;2714:23;;;;;:47;;;;;;;;;;;;;;:23;:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2714:47:355;;-1:-1:-1;2775:25:355;;;2771:211;;;2820:13;;2816:89;;2853:37;-1:-1:-1;;;;;2853:25:355;;2879:7;2888:1;2853:25;:37::i;:::-;2918:53;-1:-1:-1;;;;;2918:25:355;;2944:7;-1:-1:-1;;2918:25:355;:53::i;672:203:115:-;787:24;845:11;834:34;;;;;;;;;;;;;;;-1:-1:-1;834:34:115;;672:203;-1:-1:-1;;672:203:115:o;704:175:450:-;813:58;;;-1:-1:-1;;;;;813:58:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;813:58:450;-1:-1:-1;;;813:58:450;;;786:86;;806:5;;786:19;:86::i;3538:215:442:-;3596:7;3619:6;3615:20;;-1:-1:-1;3634:1:442;3627:8;;3615:20;3657:5;;;3661:1;3657;:5;:1;3680:5;;;;;:10;3672:56;;;;-1:-1:-1;;;3672:56:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4217:150;4275:7;4306:1;4302;:5;4294:44;;;;;-1:-1:-1;;;4294:44:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;4359:1;4355;:5;;;;;;;4217:150;-1:-1:-1;;;4217:150:442:o;1348:613:450:-;1713:10;;;1712:62;;-1:-1:-1;1729:39:450;;;-1:-1:-1;;;1729:39:450;;1753:4;1729:39;;;;-1:-1:-1;;;;;1729:39:450;;;;;;;;;:15;;;;;;:39;;;;;;;;;;;;;;;:15;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1729:39:450;:44;1712:62;1704:150;;;;-1:-1:-1;;;1704:150:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1891:62;;;-1:-1:-1;;;;;1891:62:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1891:62:450;-1:-1:-1;;;1891:62:450;;;1864:90;;1884:5;;2967:751;3386:23;3412:69;3440:4;3412:69;;;;;;;;;;;;;;;;;3420:5;-1:-1:-1;;;;;3412:27:450;;;:69;;;;;:::i;:::-;3495:17;;3386:95;;-1:-1:-1;3495:21:450;3491:221;;3635:10;3624:30;;;;;;;;;;;;;;;-1:-1:-1;3624:30:450;3616:85;;;;-1:-1:-1;;;3616:85:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3581:193:451;3684:12;3715:52;3737:6;3745:4;3751:1;3754:12;3684;4858:18;4869:6;4858:10;:18::i;:::-;4850:60;;;;;-1:-1:-1;;;4850:60:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;4981:12;4995:23;5022:6;-1:-1:-1;;;;;5022:11:451;5042:5;5050:4;5022:33;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5022:33:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4980:75;;;;5072:52;5090:7;5099:10;5111:12;5072:17;:52::i;:::-;5065:59;4608:523;-1:-1:-1;;;;;;;4608:523:451:o;726:413::-;1086:20;1124:8;;;726:413::o;7091:725::-;7206:12;7234:7;7230:580;;;-1:-1:-1;7264:10:451;7257:17;;7230:580;7375:17;;:21;7371:429;;7633:10;7627:17;7693:15;7680:10;7676:2;7672:19;7665:44;7582:145;7772:12;7765:20;;-1:-1:-1;;;7765:20:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;", "linkReferences": {}, "immutableReferences": { "27352": [ { "start": 894, "length": 32 }, { "start": 1138, "length": 32 }, { "start": 1498, "length": 32 }, { "start": 1861, "length": 32 } ] } }, "methodIdentifiers": { "getDebtAssets()": "ecd658b4", "getManagedAssets()": "80daddb8", "getPreMigrationValueSnapshotOfPoolTokenV1(address)": "e8ffc97b", "getUsedLendingPoolsV1()": "c4c54c92", "getUsedLendingPoolsV2()": "be0a08e9", "init(bytes)": "4ddf47d4", "isUsedLendingPoolV2(address)": "a3451a39", "migratePoolsV1ToV2()": "2d13e051", "receiveCallFromVault(bytes)": "e5c23a97", "snapshotPoolTokenV1BalanceValues()": "7f15233f" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_mapleV1ToV2PoolMapper\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"lendingPoolV1\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"PoolTokenV1PreMigrationValueSnapshotted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"lendingPool\",\"type\":\"address\"}],\"name\":\"UsedLendingPoolAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"lendingPool\",\"type\":\"address\"}],\"name\":\"UsedLendingPoolRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"lendingPoolV2\",\"type\":\"address\"}],\"name\":\"UsedLendingPoolV2Added\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"lendingPoolV2\",\"type\":\"address\"}],\"name\":\"UsedLendingPoolV2Removed\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"getDebtAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"assets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getManagedAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"assets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_poolV1\",\"type\":\"address\"}],\"name\":\"getPreMigrationValueSnapshotOfPoolTokenV1\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"valueSnapshot_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getUsedLendingPoolsV1\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"poolsV1_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getUsedLendingPoolsV2\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"poolsV2_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_poolV2\",\"type\":\"address\"}],\"name\":\"isUsedLendingPoolV2\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isUsed_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"migratePoolsV1ToV2\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"}],\"name\":\"receiveCallFromVault\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"snapshotPoolTokenV1BalanceValues\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"getDebtAssets()\":{\"returns\":{\"amounts_\":\"Debt asset amounts\",\"assets_\":\"Debt assets\"}},\"getManagedAssets()\":{\"details\":\"Since lending is not allowed until all v1 pools are migrated, tracked pools will either be all v1 or all v2, never a mix\",\"returns\":{\"amounts_\":\"Managed asset amounts\",\"assets_\":\"Managed assets\"}},\"getPreMigrationValueSnapshotOfPoolTokenV1(address)\":{\"params\":{\"_poolV1\":\"The Maple Pool v1\"},\"returns\":{\"valueSnapshot_\":\"The snapshotted Maple Pool Token v1 value\"}},\"getUsedLendingPoolsV1()\":{\"returns\":{\"poolsV1_\":\"The Maple V1 pools currently lent to\"}},\"getUsedLendingPoolsV2()\":{\"returns\":{\"poolsV2_\":\"The Maple V2 pools currently lent to\"}},\"init(bytes)\":{\"details\":\"Nothing to initialize for this contract\"},\"isUsedLendingPoolV2(address)\":{\"params\":{\"_poolV2\":\"The pool\"},\"returns\":{\"isUsed_\":\"True if the pool is lent to\"}},\"migratePoolsV1ToV2()\":{\"details\":\"Callable by anybody.\"},\"receiveCallFromVault(bytes)\":{\"params\":{\"_actionData\":\"Encoded data to execute the action\"}},\"snapshotPoolTokenV1BalanceValues()\":{\"details\":\"Callable by anybody\"}},\"title\":\"MapleLiquidityPositionLib Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getDebtAssets()\":{\"notice\":\"Retrieves the debt assets (negative value) of the external position\"},\"getManagedAssets()\":{\"notice\":\"Retrieves the managed assets (positive value) of the external position\"},\"getPreMigrationValueSnapshotOfPoolTokenV1(address)\":{\"notice\":\"Gets the snapshotted value of a given Maple Pool Token v1 in terms of its liquidity asset, taken prior to migration\"},\"getUsedLendingPoolsV1()\":{\"notice\":\"Gets all Maple V1 pools currently lent to\"},\"getUsedLendingPoolsV2()\":{\"notice\":\"Gets all Maple V2 pools currently lent to\"},\"init(bytes)\":{\"notice\":\"Initializes the external position\"},\"isUsedLendingPoolV2(address)\":{\"notice\":\"Checks whether a pool V2 is currently lent to\"},\"migratePoolsV1ToV2()\":{\"notice\":\"Migrates tracked v1 pools to tracked v2 pools\"},\"receiveCallFromVault(bytes)\":{\"notice\":\"Receives and executes a call from the Vault\"},\"snapshotPoolTokenV1BalanceValues()\":{\"notice\":\"Creates a snapshot of all Maple Pool Token v1 balance values\"}},\"notice\":\"An External Position library contract for Maple liquidity positions\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/maple-liquidity/MapleLiquidityPositionLib.sol\":\"MapleLiquidityPositionLib\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/persistent/external-positions/maple-liquidity/MapleLiquidityPositionLibBase1.sol\":{\"keccak256\":\"0x9a724ee1ac70895952f895738b12a45dc07ccde96a637282a502deb399d03434\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://779cd983ca59fe27cd359633bedf3ec7528e9c85763ef8f98ddf10de9e4de500\",\"dweb:/ipfs/QmUydfGbroct2beqBr3jBQWZ5fkFbxE4mqZYeBAukWTTBn\"]},\"contracts/persistent/external-positions/maple-liquidity/MapleLiquidityPositionLibBase2.sol\":{\"keccak256\":\"0x52e9c07b8631e3a3232bcf5e86a620e5cef0fa8d82f0e93d618426ed65865452\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://08291761466668b268eb9807e94cad3467e43b428dbe63ec720b63c0938f781a\",\"dweb:/ipfs/QmbupryF8vt697Huug7wpmD6b2rYAQT7L3myFRhhQUtTEr\"]},\"contracts/persistent/external-positions/maple-liquidity/MapleV1ToV2PoolMapper.sol\":{\"keccak256\":\"0x1031d9e2bbff5e6170ea344a210cd21fd08aa1a21c0bde2756a404b576f03661\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://04bcfd4d401ec7407923a29b2e45ea0362e5dd659d3740005ef60d92242fd909\",\"dweb:/ipfs/QmawyR4WnBQyLBVFMAMaAM5HFMmEvmiekLMrJLJgcGSTwS\"]},\"contracts/release/extensions/external-position-manager/external-positions/maple-liquidity/IMapleLiquidityPosition.sol\":{\"keccak256\":\"0x03da4c15035e629dcfaa6822176fdbcf62dd1d5a5c8ccccd0d95344c8048a470\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://fde66e251e197ad0e1f514359dc02a3007bcfded3c081691860ce211c4aa89e4\",\"dweb:/ipfs/QmSADCmqGtbWDxs5G3GfdaC6NbK91qxAu95FJHiSGkuo2v\"]},\"contracts/release/extensions/external-position-manager/external-positions/maple-liquidity/MapleLiquidityPositionDataDecoder.sol\":{\"keccak256\":\"0xd27d4afc91940a9dc2b2ea83ba11a1b98ae07e2165436826af0558c91edd12f4\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://672ed71da75cee7c500255b0c91dba9eef16c3b295ec1eadbbd413d8be34c6e9\",\"dweb:/ipfs/QmaPHi5HajA6Wug9ruvQ6wuGNAFUYBv4QFrrFWtigQHM5e\"]},\"contracts/release/extensions/external-position-manager/external-positions/maple-liquidity/MapleLiquidityPositionLib.sol\":{\"keccak256\":\"0xc57e3572bff9393b1642a90342075cbb691e98b4b73b561be22e15e6158f5bb0\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8c9be06c015bc205780b07b264df81c08be5a4e596f974d61aa0ccdcdacde6ec\",\"dweb:/ipfs/QmXnCeq7Yut53y1EXt5XGVL9Wwh29zCPNoLyphAD3YGumi\"]},\"contracts/release/interfaces/IERC4626.sol\":{\"keccak256\":\"0xc9406d483e6f69717c0a12af680a4c247131f3049f3d7e787b3fb128ff02e2ab\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://823c5781608234371ae2ee9982d1c47fe752c3224fb4b7d189ef51248506dd2a\",\"dweb:/ipfs/QmUJfDq1psF7vTWLe3FXr1TaPS8kRBGfRR6snGtrrtVrFL\"]},\"contracts/release/interfaces/IMapleV1MplRewards.sol\":{\"keccak256\":\"0x9fb171f91da0330d7139632907c0404002699a4cae9cb409a64c0898954b3f90\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://4e61ca593a55cc04b7a4283352cceab8e8249147e4c33fe3790cface7853ebc6\",\"dweb:/ipfs/QmPsc5s4wKDQcu3Tx7ZPJizPzLRTY9bHiywK3iL9gvnQK8\"]},\"contracts/release/interfaces/IMapleV1Pool.sol\":{\"keccak256\":\"0x46e635c8ae53a2156c7331f381bbf69c4085a97e20b549fcea9c9425aaafa5f8\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://548dffe449da6fb3c6f0cd6253aad5c274e6b13d55a649181b36be9aa9898417\",\"dweb:/ipfs/QmVdmYzRo1NCVFmbyHcUeRsCTwhVrdAWNqdAaSJ4o79Jmh\"]},\"contracts/release/interfaces/IMapleV2Pool.sol\":{\"keccak256\":\"0x628fcf182f99fd5be22272244f8106a551578de4bf3df105eb8ab42092c5cb05\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://efe4ae3736fd54ec2639621cdc1c245655e899cfa6da046476284ce0830f79de\",\"dweb:/ipfs/QmUoPG6ZBjDJ2Up8eHVZwfY3vgiXTv66Utct4D19tq4ZD8\"]},\"contracts/release/interfaces/IMapleV2PoolManager.sol\":{\"keccak256\":\"0xc4de35e316205863bf63e66749c9cc4af8f50ebfce1fea39378da2740645a914\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://0bc5f3c9502ae74d8ae7fc9e078eebb8185eb4fd3cf42eb0f531d116cdc63e59\",\"dweb:/ipfs/QmScJCCGHM1grtPKnZGmvXbPY6HVZosrwYESD71mBVDE9w\"]},\"contracts/release/interfaces/IMapleV2WithdrawalManager.sol\":{\"keccak256\":\"0x52edc67174fbb7829efcab6863d011e6b41106315d47c649bee96621020896ae\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://51a0f7bda1ef4999fc91071264fa39481e56d5f8702818926a13afd99ade4fb9\",\"dweb:/ipfs/QmPNiCaYwnvQU5HRSALKeDYwRHRorSVMXQ4Br394x4Fzys\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"contracts/release/utils/Uint256ArrayLib.sol\":{\"keccak256\":\"0x1627d0d32692b86c5dd3e74ebb8305fbf99a3c41d4b90e736077762cc80c1a31\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://54ff92ccd4bd685dda44c2520e3f52478168e909b400c3cc4076d37f5c2704ef\",\"dweb:/ipfs/QmYUxeaKfPwnUtP35i6JJ3ptsaDFEV6SD2o4VV8d5vBUZD\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_mapleV1ToV2PoolMapper", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "lendingPoolV1", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "value", "type": "uint256", "indexed": false } ], "type": "event", "name": "PoolTokenV1PreMigrationValueSnapshotted", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "lendingPool", "type": "address", "indexed": true } ], "type": "event", "name": "UsedLendingPoolAdded", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "lendingPool", "type": "address", "indexed": true } ], "type": "event", "name": "UsedLendingPoolRemoved", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "lendingPoolV2", "type": "address", "indexed": true } ], "type": "event", "name": "UsedLendingPoolV2Added", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "lendingPoolV2", "type": "address", "indexed": true } ], "type": "event", "name": "UsedLendingPoolV2Removed", "anonymous": false }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "getDebtAssets", "outputs": [ { "internalType": "address[]", "name": "assets_", "type": "address[]" }, { "internalType": "uint256[]", "name": "amounts_", "type": "uint256[]" } ] }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "getManagedAssets", "outputs": [ { "internalType": "address[]", "name": "assets_", "type": "address[]" }, { "internalType": "uint256[]", "name": "amounts_", "type": "uint256[]" } ] }, { "inputs": [ { "internalType": "address", "name": "_poolV1", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getPreMigrationValueSnapshotOfPoolTokenV1", "outputs": [ { "internalType": "uint256", "name": "valueSnapshot_", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getUsedLendingPoolsV1", "outputs": [ { "internalType": "address[]", "name": "poolsV1_", "type": "address[]" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getUsedLendingPoolsV2", "outputs": [ { "internalType": "address[]", "name": "poolsV2_", "type": "address[]" } ] }, { "inputs": [ { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "init" }, { "inputs": [ { "internalType": "address", "name": "_poolV2", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "isUsedLendingPoolV2", "outputs": [ { "internalType": "bool", "name": "isUsed_", "type": "bool" } ] }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "migratePoolsV1ToV2" }, { "inputs": [ { "internalType": "bytes", "name": "_actionData", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "receiveCallFromVault" }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "snapshotPoolTokenV1BalanceValues" } ], "devdoc": { "kind": "dev", "methods": { "getDebtAssets()": { "returns": { "amounts_": "Debt asset amounts", "assets_": "Debt assets" } }, "getManagedAssets()": { "details": "Since lending is not allowed until all v1 pools are migrated, tracked pools will either be all v1 or all v2, never a mix", "returns": { "amounts_": "Managed asset amounts", "assets_": "Managed assets" } }, "getPreMigrationValueSnapshotOfPoolTokenV1(address)": { "params": { "_poolV1": "The Maple Pool v1" }, "returns": { "valueSnapshot_": "The snapshotted Maple Pool Token v1 value" } }, "getUsedLendingPoolsV1()": { "returns": { "poolsV1_": "The Maple V1 pools currently lent to" } }, "getUsedLendingPoolsV2()": { "returns": { "poolsV2_": "The Maple V2 pools currently lent to" } }, "init(bytes)": { "details": "Nothing to initialize for this contract" }, "isUsedLendingPoolV2(address)": { "params": { "_poolV2": "The pool" }, "returns": { "isUsed_": "True if the pool is lent to" } }, "migratePoolsV1ToV2()": { "details": "Callable by anybody." }, "receiveCallFromVault(bytes)": { "params": { "_actionData": "Encoded data to execute the action" } }, "snapshotPoolTokenV1BalanceValues()": { "details": "Callable by anybody" } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "getDebtAssets()": { "notice": "Retrieves the debt assets (negative value) of the external position" }, "getManagedAssets()": { "notice": "Retrieves the managed assets (positive value) of the external position" }, "getPreMigrationValueSnapshotOfPoolTokenV1(address)": { "notice": "Gets the snapshotted value of a given Maple Pool Token v1 in terms of its liquidity asset, taken prior to migration" }, "getUsedLendingPoolsV1()": { "notice": "Gets all Maple V1 pools currently lent to" }, "getUsedLendingPoolsV2()": { "notice": "Gets all Maple V2 pools currently lent to" }, "init(bytes)": { "notice": "Initializes the external position" }, "isUsedLendingPoolV2(address)": { "notice": "Checks whether a pool V2 is currently lent to" }, "migratePoolsV1ToV2()": { "notice": "Migrates tracked v1 pools to tracked v2 pools" }, "receiveCallFromVault(bytes)": { "notice": "Receives and executes a call from the Vault" }, "snapshotPoolTokenV1BalanceValues()": { "notice": "Creates a snapshot of all Maple Pool Token v1 balance values" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/external-position-manager/external-positions/maple-liquidity/MapleLiquidityPositionLib.sol": "MapleLiquidityPositionLib" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/dispatcher/IDispatcher.sol": { "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", "urls": [ "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" ], "license": "GPL-3.0" }, "contracts/persistent/external-positions/IExternalPosition.sol": { "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", "urls": [ "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" ], "license": "GPL-3.0" }, "contracts/persistent/external-positions/maple-liquidity/MapleLiquidityPositionLibBase1.sol": { "keccak256": "0x9a724ee1ac70895952f895738b12a45dc07ccde96a637282a502deb399d03434", "urls": [ "bzz-raw://779cd983ca59fe27cd359633bedf3ec7528e9c85763ef8f98ddf10de9e4de500", "dweb:/ipfs/QmUydfGbroct2beqBr3jBQWZ5fkFbxE4mqZYeBAukWTTBn" ], "license": "GPL-3.0" }, "contracts/persistent/external-positions/maple-liquidity/MapleLiquidityPositionLibBase2.sol": { "keccak256": "0x52e9c07b8631e3a3232bcf5e86a620e5cef0fa8d82f0e93d618426ed65865452", "urls": [ "bzz-raw://08291761466668b268eb9807e94cad3467e43b428dbe63ec720b63c0938f781a", "dweb:/ipfs/QmbupryF8vt697Huug7wpmD6b2rYAQT7L3myFRhhQUtTEr" ], "license": "GPL-3.0" }, "contracts/persistent/external-positions/maple-liquidity/MapleV1ToV2PoolMapper.sol": { "keccak256": "0x1031d9e2bbff5e6170ea344a210cd21fd08aa1a21c0bde2756a404b576f03661", "urls": [ "bzz-raw://04bcfd4d401ec7407923a29b2e45ea0362e5dd659d3740005ef60d92242fd909", "dweb:/ipfs/QmawyR4WnBQyLBVFMAMaAM5HFMmEvmiekLMrJLJgcGSTwS" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/maple-liquidity/IMapleLiquidityPosition.sol": { "keccak256": "0x03da4c15035e629dcfaa6822176fdbcf62dd1d5a5c8ccccd0d95344c8048a470", "urls": [ "bzz-raw://fde66e251e197ad0e1f514359dc02a3007bcfded3c081691860ce211c4aa89e4", "dweb:/ipfs/QmSADCmqGtbWDxs5G3GfdaC6NbK91qxAu95FJHiSGkuo2v" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/maple-liquidity/MapleLiquidityPositionDataDecoder.sol": { "keccak256": "0xd27d4afc91940a9dc2b2ea83ba11a1b98ae07e2165436826af0558c91edd12f4", "urls": [ "bzz-raw://672ed71da75cee7c500255b0c91dba9eef16c3b295ec1eadbbd413d8be34c6e9", "dweb:/ipfs/QmaPHi5HajA6Wug9ruvQ6wuGNAFUYBv4QFrrFWtigQHM5e" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/maple-liquidity/MapleLiquidityPositionLib.sol": { "keccak256": "0xc57e3572bff9393b1642a90342075cbb691e98b4b73b561be22e15e6158f5bb0", "urls": [ "bzz-raw://8c9be06c015bc205780b07b264df81c08be5a4e596f974d61aa0ccdcdacde6ec", "dweb:/ipfs/QmXnCeq7Yut53y1EXt5XGVL9Wwh29zCPNoLyphAD3YGumi" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IERC4626.sol": { "keccak256": "0xc9406d483e6f69717c0a12af680a4c247131f3049f3d7e787b3fb128ff02e2ab", "urls": [ "bzz-raw://823c5781608234371ae2ee9982d1c47fe752c3224fb4b7d189ef51248506dd2a", "dweb:/ipfs/QmUJfDq1psF7vTWLe3FXr1TaPS8kRBGfRR6snGtrrtVrFL" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IMapleV1MplRewards.sol": { "keccak256": "0x9fb171f91da0330d7139632907c0404002699a4cae9cb409a64c0898954b3f90", "urls": [ "bzz-raw://4e61ca593a55cc04b7a4283352cceab8e8249147e4c33fe3790cface7853ebc6", "dweb:/ipfs/QmPsc5s4wKDQcu3Tx7ZPJizPzLRTY9bHiywK3iL9gvnQK8" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IMapleV1Pool.sol": { "keccak256": "0x46e635c8ae53a2156c7331f381bbf69c4085a97e20b549fcea9c9425aaafa5f8", "urls": [ "bzz-raw://548dffe449da6fb3c6f0cd6253aad5c274e6b13d55a649181b36be9aa9898417", "dweb:/ipfs/QmVdmYzRo1NCVFmbyHcUeRsCTwhVrdAWNqdAaSJ4o79Jmh" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IMapleV2Pool.sol": { "keccak256": "0x628fcf182f99fd5be22272244f8106a551578de4bf3df105eb8ab42092c5cb05", "urls": [ "bzz-raw://efe4ae3736fd54ec2639621cdc1c245655e899cfa6da046476284ce0830f79de", "dweb:/ipfs/QmUoPG6ZBjDJ2Up8eHVZwfY3vgiXTv66Utct4D19tq4ZD8" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IMapleV2PoolManager.sol": { "keccak256": "0xc4de35e316205863bf63e66749c9cc4af8f50ebfce1fea39378da2740645a914", "urls": [ "bzz-raw://0bc5f3c9502ae74d8ae7fc9e078eebb8185eb4fd3cf42eb0f531d116cdc63e59", "dweb:/ipfs/QmScJCCGHM1grtPKnZGmvXbPY6HVZosrwYESD71mBVDE9w" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IMapleV2WithdrawalManager.sol": { "keccak256": "0x52edc67174fbb7829efcab6863d011e6b41106315d47c649bee96621020896ae", "urls": [ "bzz-raw://51a0f7bda1ef4999fc91071264fa39481e56d5f8702818926a13afd99ade4fb9", "dweb:/ipfs/QmPNiCaYwnvQU5HRSALKeDYwRHRorSVMXQ4Br394x4Fzys" ], "license": "GPL-3.0" }, "contracts/release/utils/AddressArrayLib.sol": { "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", "urls": [ "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" ], "license": "GPL-3.0" }, "contracts/release/utils/AssetHelpers.sol": { "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", "urls": [ "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" ], "license": "GPL-3.0" }, "contracts/release/utils/Uint256ArrayLib.sol": { "keccak256": "0x1627d0d32692b86c5dd3e74ebb8305fbf99a3c41d4b90e736077762cc80c1a31", "urls": [ "bzz-raw://54ff92ccd4bd685dda44c2520e3f52478168e909b400c3cc4076d37f5c2704ef", "dweb:/ipfs/QmYUxeaKfPwnUtP35i6JJ3ptsaDFEV6SD2o4VV8d5vBUZD" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", "urls": [ "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Address.sol": { "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", "urls": [ "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" } }, "version": 1 }, "id": 116 } diff --git a/eth_defi/abi/enzyme/MapleLiquidityPositionLibBase1.json b/eth_defi/abi/enzyme/MapleLiquidityPositionLibBase1.json index 371acd7d..a50c8b96 100644 --- a/eth_defi/abi/enzyme/MapleLiquidityPositionLibBase1.json +++ b/eth_defi/abi/enzyme/MapleLiquidityPositionLibBase1.json @@ -1,132 +1 @@ -{ - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "lendingPool", - "type": "address" - } - ], - "name": "UsedLendingPoolAdded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "lendingPool", - "type": "address" - } - ], - "name": "UsedLendingPoolRemoved", - "type": "event" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": {}, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"lendingPool\",\"type\":\"address\"}],\"name\":\"UsedLendingPoolAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"lendingPool\",\"type\":\"address\"}],\"name\":\"UsedLendingPoolRemoved\",\"type\":\"event\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"DO NOT EDIT CONTRACT. If new events or storage are necessary, they should be added to a numbered MapleLiquidityPositionLibBaseXXX that inherits the previous base. e.g., `MapleLiquidityPositionLibBase2 is MapleLiquidityPositionLibBase1`\",\"kind\":\"dev\",\"methods\":{},\"title\":\"MapleLiquidityPositionLibBase1 Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"A persistent contract containing all required storage variables and required functions for a MapleLiquidityPositionLib implementation\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/external-positions/maple-liquidity/MapleLiquidityPositionLibBase1.sol\":\"MapleLiquidityPositionLibBase1\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/external-positions/maple-liquidity/MapleLiquidityPositionLibBase1.sol\":{\"keccak256\":\"0x9a724ee1ac70895952f895738b12a45dc07ccde96a637282a502deb399d03434\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://779cd983ca59fe27cd359633bedf3ec7528e9c85763ef8f98ddf10de9e4de500\",\"dweb:/ipfs/QmUydfGbroct2beqBr3jBQWZ5fkFbxE4mqZYeBAukWTTBn\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "lendingPool", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "UsedLendingPoolAdded", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "lendingPool", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "UsedLendingPoolRemoved", - "anonymous": false - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/persistent/external-positions/maple-liquidity/MapleLiquidityPositionLibBase1.sol": "MapleLiquidityPositionLibBase1" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/external-positions/maple-liquidity/MapleLiquidityPositionLibBase1.sol": { - "keccak256": "0x9a724ee1ac70895952f895738b12a45dc07ccde96a637282a502deb399d03434", - "urls": [ - "bzz-raw://779cd983ca59fe27cd359633bedf3ec7528e9c85763ef8f98ddf10de9e4de500", - "dweb:/ipfs/QmUydfGbroct2beqBr3jBQWZ5fkFbxE4mqZYeBAukWTTBn" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 31 -} +{ "abi": [ { "type": "event", "name": "UsedLendingPoolAdded", "inputs": [ { "name": "lendingPool", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "UsedLendingPoolRemoved", "inputs": [ { "name": "lendingPool", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": {}, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"lendingPool\",\"type\":\"address\"}],\"name\":\"UsedLendingPoolAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"lendingPool\",\"type\":\"address\"}],\"name\":\"UsedLendingPoolRemoved\",\"type\":\"event\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"DO NOT EDIT CONTRACT. If new events or storage are necessary, they should be added to a numbered MapleLiquidityPositionLibBaseXXX that inherits the previous base. e.g., `MapleLiquidityPositionLibBase2 is MapleLiquidityPositionLibBase1`\",\"kind\":\"dev\",\"methods\":{},\"title\":\"MapleLiquidityPositionLibBase1 Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"A persistent contract containing all required storage variables and required functions for a MapleLiquidityPositionLib implementation\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/external-positions/maple-liquidity/MapleLiquidityPositionLibBase1.sol\":\"MapleLiquidityPositionLibBase1\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/external-positions/maple-liquidity/MapleLiquidityPositionLibBase1.sol\":{\"keccak256\":\"0x9a724ee1ac70895952f895738b12a45dc07ccde96a637282a502deb399d03434\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://779cd983ca59fe27cd359633bedf3ec7528e9c85763ef8f98ddf10de9e4de500\",\"dweb:/ipfs/QmUydfGbroct2beqBr3jBQWZ5fkFbxE4mqZYeBAukWTTBn\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "lendingPool", "type": "address", "indexed": true } ], "type": "event", "name": "UsedLendingPoolAdded", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "lendingPool", "type": "address", "indexed": true } ], "type": "event", "name": "UsedLendingPoolRemoved", "anonymous": false } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/persistent/external-positions/maple-liquidity/MapleLiquidityPositionLibBase1.sol": "MapleLiquidityPositionLibBase1" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/external-positions/maple-liquidity/MapleLiquidityPositionLibBase1.sol": { "keccak256": "0x9a724ee1ac70895952f895738b12a45dc07ccde96a637282a502deb399d03434", "urls": [ "bzz-raw://779cd983ca59fe27cd359633bedf3ec7528e9c85763ef8f98ddf10de9e4de500", "dweb:/ipfs/QmUydfGbroct2beqBr3jBQWZ5fkFbxE4mqZYeBAukWTTBn" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 31 } diff --git a/eth_defi/abi/enzyme/MapleLiquidityPositionLibBase2.json b/eth_defi/abi/enzyme/MapleLiquidityPositionLibBase2.json index a570a6ee..e58d3ef5 100644 --- a/eth_defi/abi/enzyme/MapleLiquidityPositionLibBase2.json +++ b/eth_defi/abi/enzyme/MapleLiquidityPositionLibBase2.json @@ -1,230 +1 @@ -{ - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "lendingPoolV1", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "PoolTokenV1PreMigrationValueSnapshotted", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "lendingPool", - "type": "address" - } - ], - "name": "UsedLendingPoolAdded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "lendingPool", - "type": "address" - } - ], - "name": "UsedLendingPoolRemoved", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "lendingPoolV2", - "type": "address" - } - ], - "name": "UsedLendingPoolV2Added", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "lendingPoolV2", - "type": "address" - } - ], - "name": "UsedLendingPoolV2Removed", - "type": "event" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": {}, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"lendingPoolV1\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"PoolTokenV1PreMigrationValueSnapshotted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"lendingPool\",\"type\":\"address\"}],\"name\":\"UsedLendingPoolAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"lendingPool\",\"type\":\"address\"}],\"name\":\"UsedLendingPoolRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"lendingPoolV2\",\"type\":\"address\"}],\"name\":\"UsedLendingPoolV2Added\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"lendingPoolV2\",\"type\":\"address\"}],\"name\":\"UsedLendingPoolV2Removed\",\"type\":\"event\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"DO NOT EDIT CONTRACT. If new events or storage are necessary, they should be added to a numbered MapleLiquidityPositionLibBaseXXX that inherits the previous base. e.g., `MapleLiquidityPositionLibBase2 is MapleLiquidityPositionLibBase1`\",\"kind\":\"dev\",\"methods\":{},\"title\":\"MapleLiquidityPositionLibBase2 Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"A persistent contract containing all required storage variables and required functions for a MapleLiquidityPositionLib implementation\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/external-positions/maple-liquidity/MapleLiquidityPositionLibBase2.sol\":\"MapleLiquidityPositionLibBase2\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/external-positions/maple-liquidity/MapleLiquidityPositionLibBase1.sol\":{\"keccak256\":\"0x9a724ee1ac70895952f895738b12a45dc07ccde96a637282a502deb399d03434\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://779cd983ca59fe27cd359633bedf3ec7528e9c85763ef8f98ddf10de9e4de500\",\"dweb:/ipfs/QmUydfGbroct2beqBr3jBQWZ5fkFbxE4mqZYeBAukWTTBn\"]},\"contracts/persistent/external-positions/maple-liquidity/MapleLiquidityPositionLibBase2.sol\":{\"keccak256\":\"0x52e9c07b8631e3a3232bcf5e86a620e5cef0fa8d82f0e93d618426ed65865452\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://08291761466668b268eb9807e94cad3467e43b428dbe63ec720b63c0938f781a\",\"dweb:/ipfs/QmbupryF8vt697Huug7wpmD6b2rYAQT7L3myFRhhQUtTEr\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "lendingPoolV1", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "PoolTokenV1PreMigrationValueSnapshotted", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "lendingPool", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "UsedLendingPoolAdded", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "lendingPool", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "UsedLendingPoolRemoved", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "lendingPoolV2", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "UsedLendingPoolV2Added", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "lendingPoolV2", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "UsedLendingPoolV2Removed", - "anonymous": false - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/persistent/external-positions/maple-liquidity/MapleLiquidityPositionLibBase2.sol": "MapleLiquidityPositionLibBase2" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/external-positions/maple-liquidity/MapleLiquidityPositionLibBase1.sol": { - "keccak256": "0x9a724ee1ac70895952f895738b12a45dc07ccde96a637282a502deb399d03434", - "urls": [ - "bzz-raw://779cd983ca59fe27cd359633bedf3ec7528e9c85763ef8f98ddf10de9e4de500", - "dweb:/ipfs/QmUydfGbroct2beqBr3jBQWZ5fkFbxE4mqZYeBAukWTTBn" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/external-positions/maple-liquidity/MapleLiquidityPositionLibBase2.sol": { - "keccak256": "0x52e9c07b8631e3a3232bcf5e86a620e5cef0fa8d82f0e93d618426ed65865452", - "urls": [ - "bzz-raw://08291761466668b268eb9807e94cad3467e43b428dbe63ec720b63c0938f781a", - "dweb:/ipfs/QmbupryF8vt697Huug7wpmD6b2rYAQT7L3myFRhhQUtTEr" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 32 -} +{ "abi": [ { "type": "event", "name": "PoolTokenV1PreMigrationValueSnapshotted", "inputs": [ { "name": "lendingPoolV1", "type": "address", "indexed": true, "internalType": "address" }, { "name": "value", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "UsedLendingPoolAdded", "inputs": [ { "name": "lendingPool", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "UsedLendingPoolRemoved", "inputs": [ { "name": "lendingPool", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "UsedLendingPoolV2Added", "inputs": [ { "name": "lendingPoolV2", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "UsedLendingPoolV2Removed", "inputs": [ { "name": "lendingPoolV2", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": {}, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"lendingPoolV1\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"PoolTokenV1PreMigrationValueSnapshotted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"lendingPool\",\"type\":\"address\"}],\"name\":\"UsedLendingPoolAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"lendingPool\",\"type\":\"address\"}],\"name\":\"UsedLendingPoolRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"lendingPoolV2\",\"type\":\"address\"}],\"name\":\"UsedLendingPoolV2Added\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"lendingPoolV2\",\"type\":\"address\"}],\"name\":\"UsedLendingPoolV2Removed\",\"type\":\"event\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"DO NOT EDIT CONTRACT. If new events or storage are necessary, they should be added to a numbered MapleLiquidityPositionLibBaseXXX that inherits the previous base. e.g., `MapleLiquidityPositionLibBase2 is MapleLiquidityPositionLibBase1`\",\"kind\":\"dev\",\"methods\":{},\"title\":\"MapleLiquidityPositionLibBase2 Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"A persistent contract containing all required storage variables and required functions for a MapleLiquidityPositionLib implementation\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/external-positions/maple-liquidity/MapleLiquidityPositionLibBase2.sol\":\"MapleLiquidityPositionLibBase2\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/external-positions/maple-liquidity/MapleLiquidityPositionLibBase1.sol\":{\"keccak256\":\"0x9a724ee1ac70895952f895738b12a45dc07ccde96a637282a502deb399d03434\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://779cd983ca59fe27cd359633bedf3ec7528e9c85763ef8f98ddf10de9e4de500\",\"dweb:/ipfs/QmUydfGbroct2beqBr3jBQWZ5fkFbxE4mqZYeBAukWTTBn\"]},\"contracts/persistent/external-positions/maple-liquidity/MapleLiquidityPositionLibBase2.sol\":{\"keccak256\":\"0x52e9c07b8631e3a3232bcf5e86a620e5cef0fa8d82f0e93d618426ed65865452\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://08291761466668b268eb9807e94cad3467e43b428dbe63ec720b63c0938f781a\",\"dweb:/ipfs/QmbupryF8vt697Huug7wpmD6b2rYAQT7L3myFRhhQUtTEr\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "lendingPoolV1", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "value", "type": "uint256", "indexed": false } ], "type": "event", "name": "PoolTokenV1PreMigrationValueSnapshotted", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "lendingPool", "type": "address", "indexed": true } ], "type": "event", "name": "UsedLendingPoolAdded", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "lendingPool", "type": "address", "indexed": true } ], "type": "event", "name": "UsedLendingPoolRemoved", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "lendingPoolV2", "type": "address", "indexed": true } ], "type": "event", "name": "UsedLendingPoolV2Added", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "lendingPoolV2", "type": "address", "indexed": true } ], "type": "event", "name": "UsedLendingPoolV2Removed", "anonymous": false } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/persistent/external-positions/maple-liquidity/MapleLiquidityPositionLibBase2.sol": "MapleLiquidityPositionLibBase2" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/external-positions/maple-liquidity/MapleLiquidityPositionLibBase1.sol": { "keccak256": "0x9a724ee1ac70895952f895738b12a45dc07ccde96a637282a502deb399d03434", "urls": [ "bzz-raw://779cd983ca59fe27cd359633bedf3ec7528e9c85763ef8f98ddf10de9e4de500", "dweb:/ipfs/QmUydfGbroct2beqBr3jBQWZ5fkFbxE4mqZYeBAukWTTBn" ], "license": "GPL-3.0" }, "contracts/persistent/external-positions/maple-liquidity/MapleLiquidityPositionLibBase2.sol": { "keccak256": "0x52e9c07b8631e3a3232bcf5e86a620e5cef0fa8d82f0e93d618426ed65865452", "urls": [ "bzz-raw://08291761466668b268eb9807e94cad3467e43b428dbe63ec720b63c0938f781a", "dweb:/ipfs/QmbupryF8vt697Huug7wpmD6b2rYAQT7L3myFRhhQUtTEr" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 32 } diff --git a/eth_defi/abi/enzyme/MapleLiquidityPositionParser.json b/eth_defi/abi/enzyme/MapleLiquidityPositionParser.json index 03347c5b..cc0889a7 100644 --- a/eth_defi/abi/enzyme/MapleLiquidityPositionParser.json +++ b/eth_defi/abi/enzyme/MapleLiquidityPositionParser.json @@ -1,367 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_mapleV2Globals", - "type": "address" - }, - { - "internalType": "address", - "name": "_mapleV1MplRewardsFactory", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_actionId", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_encodedActionArgs", - "type": "bytes" - } - ], - "name": "parseAssetsForAction", - "outputs": [ - { - "internalType": "address[]", - "name": "assetsToTransfer_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "amountsToTransfer_", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "assetsToReceive_", - "type": "address[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "parseInitArgs", - "outputs": [ - { - "internalType": "bytes", - "name": "initArgs_", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x60c060405234801561001057600080fd5b50604051610b00380380610b008339818101604052604081101561003357600080fd5b5080516020909101516001600160601b0319606091821b811660805291901b1660a05260805160601c60a05160601c610a8161007f600039806107d05250806108df5250610a816000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063bbd2d6461461003b578063db16c72e146101d4575b600080fd5b6100f66004803603606081101561005157600080fd5b6001600160a01b038235169160208101359181019060608101604082013564010000000081111561008157600080fd5b82018360208201111561009357600080fd5b803590602001918460018302840111640100000000831117156100b557600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506102ff945050505050565b60405180806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b8381101561013e578181015183820152602001610126565b50505050905001848103835286818151815260200191508051906020019060200280838360005b8381101561017d578181015183820152602001610165565b50505050905001848103825285818151815260200191508051906020019060200280838360005b838110156101bc5781810151838201526020016101a4565b50505050905001965050505050505060405180910390f35b61028a600480360360408110156101ea57600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561021557600080fd5b82018360208201111561022757600080fd5b8035906020019184600183028401116401000000008311171561024957600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610554945050505050565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102c45781810151838201526020016102ac565b50505050905090810190601f1680156102f15780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6060808060098514156104185760008061031886610568565b9150915061032582610593565b60408051600180825281830190925290602080830190803683375050604080516001808252818301909252929750905060208083019080368337019050509350816001600160a01b03166338d52e0f6040518163ffffffff1660e01b815260040160206040518083038186803b15801561039e57600080fd5b505afa1580156103b2573d6000803e3d6000fd5b505050506040513d60208110156103c857600080fd5b5051855186906000906103d757fe5b60200260200101906001600160a01b031690816001600160a01b031681525050808460008151811061040557fe5b602002602001018181525050505061054b565b600a85141561043e57600061042c85610568565b50905061043881610593565b5061054b565b600b85141561051657600061045285610568565b50905061045e81610593565b6040805160018082528183019092529060208083019080368337019050509150806001600160a01b03166338d52e0f6040518163ffffffff1660e01b815260040160206040518083038186803b1580156104b757600080fd5b505afa1580156104cb573d6000803e3d6000fd5b505050506040513d60208110156104e157600080fd5b5051825183906000906104f057fe5b60200260200101906001600160a01b031690816001600160a01b0316815250505061054b565b600c85141561052a57600061042c85610568565b600885141561054b57600061053e856108be565b9050610549816108dd565b505b93509350939050565b505060408051602081019091526000815290565b60008082806020019051604081101561058057600080fd5b5080516020909101519092509050915091565b6000816001600160a01b031663481c6a756040518163ffffffff1660e01b815260040160206040518083038186803b1580156105ce57600080fd5b505afa1580156105e2573d6000803e3d6000fd5b505050506040513d60208110156105f857600080fd5b5051604080516316f0115b60e01b815290519192506001600160a01b0380851692908416916316f0115b916004808301926020929190829003018186803b15801561064257600080fd5b505afa158015610656573d6000803e3d6000fd5b505050506040513d602081101561066c57600080fd5b50516001600160a01b0316146106b35760405162461bcd60e51b815260040180806020018281038252602e8152602001806109e8602e913960400191505060405180910390fd5b6000816001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156106ee57600080fd5b505afa158015610702573d6000803e3d6000fd5b505050506040513d602081101561071857600080fd5b5051604080516335a2735f60e11b81526001600160a01b038581166004830152915192935090831691636b44e6be91602480820192602092909190829003018186803b15801561076757600080fd5b505afa15801561077b573d6000803e3d6000fd5b505050506040513d602081101561079157600080fd5b50516107ce5760405162461bcd60e51b8152600401808060200182810382526035815260200180610a406035913960400191505060405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316636167f931826040518263ffffffff1660e01b815260040180806b2827a7a62fa6a0a720a3a2a960a11b815250602001826001600160a01b0316815260200191505060206040518083038186803b15801561085257600080fd5b505afa158015610866573d6000803e3d6000fd5b505050506040513d602081101561087c57600080fd5b50516108b95760405162461bcd60e51b815260040180806020018281038252602a815260200180610a16602a913960400191505060405180910390fd5b505050565b60008180602001905160208110156108d557600080fd5b505192915050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e291968e826040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561094a57600080fd5b505afa15801561095e573d6000803e3d6000fd5b505050506040513d602081101561097457600080fd5b50516109b15760405162461bcd60e51b81526004018080602001828103825260338152602001806109b56033913960400191505060405180910390fd5b5056fe5f5f76616c696461746552657761726473436f6e74726163743a20496e76616c6964207265776172647320636f6e74726163745f5f76616c6964617465506f6f6c56323a20496e76616c696420506f6f6c4d616e616765722072656c6174696f6e5f5f76616c6964617465506f6f6c56323a20496e76616c696420476c6f62616c732072656c6174696f6e5f5f76616c6964617465506f6f6c56323a20496e76616c696420506f6f6c4d616e61676572466163746f72792072656c6174696f6ea164736f6c634300060c000a", - "sourceMap": "835:4317:117:-:0;;;1058:196;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1058:196:117;;;;;;;-1:-1:-1;;;;;;1147:56:117;;;;;;;;1213:34;;;;;;835:4317;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c8063bbd2d6461461003b578063db16c72e146101d4575b600080fd5b6100f66004803603606081101561005157600080fd5b6001600160a01b038235169160208101359181019060608101604082013564010000000081111561008157600080fd5b82018360208201111561009357600080fd5b803590602001918460018302840111640100000000831117156100b557600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506102ff945050505050565b60405180806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b8381101561013e578181015183820152602001610126565b50505050905001848103835286818151815260200191508051906020019060200280838360005b8381101561017d578181015183820152602001610165565b50505050905001848103825285818151815260200191508051906020019060200280838360005b838110156101bc5781810151838201526020016101a4565b50505050905001965050505050505060405180910390f35b61028a600480360360408110156101ea57600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561021557600080fd5b82018360208201111561022757600080fd5b8035906020019184600183028401116401000000008311171561024957600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610554945050505050565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102c45781810151838201526020016102ac565b50505050905090810190601f1680156102f15780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6060808060098514156104185760008061031886610568565b9150915061032582610593565b60408051600180825281830190925290602080830190803683375050604080516001808252818301909252929750905060208083019080368337019050509350816001600160a01b03166338d52e0f6040518163ffffffff1660e01b815260040160206040518083038186803b15801561039e57600080fd5b505afa1580156103b2573d6000803e3d6000fd5b505050506040513d60208110156103c857600080fd5b5051855186906000906103d757fe5b60200260200101906001600160a01b031690816001600160a01b031681525050808460008151811061040557fe5b602002602001018181525050505061054b565b600a85141561043e57600061042c85610568565b50905061043881610593565b5061054b565b600b85141561051657600061045285610568565b50905061045e81610593565b6040805160018082528183019092529060208083019080368337019050509150806001600160a01b03166338d52e0f6040518163ffffffff1660e01b815260040160206040518083038186803b1580156104b757600080fd5b505afa1580156104cb573d6000803e3d6000fd5b505050506040513d60208110156104e157600080fd5b5051825183906000906104f057fe5b60200260200101906001600160a01b031690816001600160a01b0316815250505061054b565b600c85141561052a57600061042c85610568565b600885141561054b57600061053e856108be565b9050610549816108dd565b505b93509350939050565b505060408051602081019091526000815290565b60008082806020019051604081101561058057600080fd5b5080516020909101519092509050915091565b6000816001600160a01b031663481c6a756040518163ffffffff1660e01b815260040160206040518083038186803b1580156105ce57600080fd5b505afa1580156105e2573d6000803e3d6000fd5b505050506040513d60208110156105f857600080fd5b5051604080516316f0115b60e01b815290519192506001600160a01b0380851692908416916316f0115b916004808301926020929190829003018186803b15801561064257600080fd5b505afa158015610656573d6000803e3d6000fd5b505050506040513d602081101561066c57600080fd5b50516001600160a01b0316146106b35760405162461bcd60e51b815260040180806020018281038252602e8152602001806109e8602e913960400191505060405180910390fd5b6000816001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156106ee57600080fd5b505afa158015610702573d6000803e3d6000fd5b505050506040513d602081101561071857600080fd5b5051604080516335a2735f60e11b81526001600160a01b038581166004830152915192935090831691636b44e6be91602480820192602092909190829003018186803b15801561076757600080fd5b505afa15801561077b573d6000803e3d6000fd5b505050506040513d602081101561079157600080fd5b50516107ce5760405162461bcd60e51b8152600401808060200182810382526035815260200180610a406035913960400191505060405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316636167f931826040518263ffffffff1660e01b815260040180806b2827a7a62fa6a0a720a3a2a960a11b815250602001826001600160a01b0316815260200191505060206040518083038186803b15801561085257600080fd5b505afa158015610866573d6000803e3d6000fd5b505050506040513d602081101561087c57600080fd5b50516108b95760405162461bcd60e51b815260040180806020018281038252602a815260200180610a16602a913960400191505060405180910390fd5b505050565b60008180602001905160208110156108d557600080fd5b505192915050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e291968e826040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561094a57600080fd5b505afa15801561095e573d6000803e3d6000fd5b505050506040513d602081101561097457600080fd5b50516109b15760405162461bcd60e51b81526004018080602001828103825260338152602001806109b56033913960400191505060405180910390fd5b5056fe5f5f76616c696461746552657761726473436f6e74726163743a20496e76616c6964207265776172647320636f6e74726163745f5f76616c6964617465506f6f6c56323a20496e76616c696420506f6f6c4d616e616765722072656c6174696f6e5f5f76616c6964617465506f6f6c56323a20496e76616c696420476c6f62616c732072656c6174696f6e5f5f76616c6964617465506f6f6c56323a20496e76616c696420506f6f6c4d616e61676572466163746f72792072656c6174696f6ea164736f6c634300060c000a", - "sourceMap": "835:4317:117:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1733:1870;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1733:1870:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1733:1870:117;;-1:-1:-1;1733:1870:117;;-1:-1:-1;;;;;1733:1870:117:i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3811:151;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3811:151:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3811:151:117;;-1:-1:-1;3811:151:117;;-1:-1:-1;;;;;3811:151:117:i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1733:1870;1918:34;;;2098:38;2077:9;:60;2073:1449;;;2154:12;2168:28;2200:74;2242:18;2200:24;:74::i;:::-;2153:121;;;;2288:22;2305:4;2288:16;:22::i;:::-;2345:16;;;2359:1;2345:16;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2396:16:117;;;2410:1;2396:16;;;;;;;;;2325:36;;-1:-1:-1;2410:1:117;-1:-1:-1;2396:16:117;;;;;;;;;;;-1:-1:-1;2396:16:117;2375:37;;2463:4;-1:-1:-1;;;;;2450:24:117;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2450:26:117;2427:20;;:17;;2445:1;;2427:20;;;;;;;;;:49;-1:-1:-1;;;;;2427:49:117;;;-1:-1:-1;;;;;2427:49:117;;;;;2514:20;2490:18;2509:1;2490:21;;;;;;;;;;;;;:44;;;;;2073:1449;;;;;2576:47;2555:9;:69;2551:971;;;2641:12;2659:53;2693:18;2659:33;:53::i;:::-;2640:72;;;2726:22;2743:4;2726:16;:22::i;:::-;2551:971;;;;2790:40;2769:9;:62;2765:757;;;2848:12;2866:46;2893:18;2866:26;:46::i;:::-;2847:65;;;2926:22;2943:4;2926:16;:22::i;:::-;2982:16;;;2996:1;2982:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2982:16:117;2963:35;;3047:4;-1:-1:-1;;;;;3034:24:117;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3034:26:117;3012:19;;:16;;3029:1;;3012:19;;;;;;;;;:48;-1:-1:-1;;;;;3012:48:117;;;-1:-1:-1;;;;;3012:48:117;;;;;2765:757;;;;3102:46;3081:9;:68;3077:445;;;3166:12;3184:52;3217:18;3184:32;:52::i;3077:445::-;3314:46;3293:9;:68;3289:233;;;3377:23;3403:52;3436:18;3403:32;:52::i;:::-;3377:78;;3469:42;3495:15;3469:25;:42::i;:::-;3289:233;;1733:1870;;;;;;;:::o;3811:151::-;-1:-1:-1;;3946:9:117;;;;;;;;;-1:-1:-1;3946:9:117;;;3811:151::o;1316:224:115:-;1423:13;1438:29;1501:11;1490:43;;;;;;;;;;;;;;;-1:-1:-1;1490:43:115;;;;;;;;;-1:-1:-1;1490:43:115;-1:-1:-1;1316:224:115;;;:::o;4065:714:117:-;4131:19;4166:7;-1:-1:-1;;;;;4153:29:117;;:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4153:31:117;4215:39;;;-1:-1:-1;;;4215:39:117;;;;4153:31;;-1:-1:-1;;;;;;4215:50:117;;;;:37;;;;;;:39;;;;;4153:31;;4215:39;;;;;;;:37;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4215:39:117;-1:-1:-1;;;;;4215:50:117;;4194:143;;;;-1:-1:-1;;;4194:143:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4348:26;4397:11;-1:-1:-1;;;;;4377:40:117;;:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4377:42:117;4450:64;;;-1:-1:-1;;;4450:64:117;;-1:-1:-1;;;;;4450:64:117;;;;;;;;;4377:42;;-1:-1:-1;4450:51:117;;;;;;:64;;;;;4377:42;;4450:64;;;;;;;;:51;:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4450:64:117;4429:164;;;;-1:-1:-1;;;4429:164:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4641:16;-1:-1:-1;;;;;4625:43:117;;4685:18;4625:79;;;;;;;;;;;;;-1:-1:-1;;;4625:79:117;;;;;;-1:-1:-1;;;;;4625:79:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4625:79:117;4604:168;;;;-1:-1:-1;;;4604:168:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4065:714;;;:::o;672:203:115:-;787:24;845:11;834:34;;;;;;;;;;;;;;;-1:-1:-1;834:34:115;;672:203;-1:-1:-1;;672:203:115:o;4875:275:117:-;5006:28;-1:-1:-1;;;;;4980:68:117;;5049:16;4980:86;;;;;;;;;;;;;-1:-1:-1;;;;;4980:86:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4980:86:117;4959:184;;;;-1:-1:-1;;;4959:184:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4875:275;:::o", - "linkReferences": {}, - "immutableReferences": { - "28259": [ - { - "start": 2271, - "length": 32 - } - ], - "28261": [ - { - "start": 2000, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "parseAssetsForAction(address,uint256,bytes)": "bbd2d646", - "parseInitArgs(address,bytes)": "db16c72e" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_mapleV2Globals\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_mapleV1MplRewardsFactory\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_actionId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_encodedActionArgs\",\"type\":\"bytes\"}],\"name\":\"parseAssetsForAction\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"assetsToTransfer_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amountsToTransfer_\",\"type\":\"uint256[]\"},{\"internalType\":\"address[]\",\"name\":\"assetsToReceive_\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"parseInitArgs\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"initArgs_\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"parseAssetsForAction(address,uint256,bytes)\":{\"params\":{\"_actionId\":\"The _actionId for the callOnExternalPosition\",\"_encodedActionArgs\":\"The encoded parameters for the callOnExternalPosition\"},\"returns\":{\"amountsToTransfer_\":\"The amounts to be transferred from the Vault\",\"assetsToReceive_\":\"The assets to be received at the Vault\",\"assetsToTransfer_\":\"The assets to be transferred from the Vault\"}},\"parseInitArgs(address,bytes)\":{\"returns\":{\"initArgs_\":\"Parsed and encoded args for ExternalPositionProxy.init()\"}}},\"title\":\"MapleLiquidityPositionParser\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"parseAssetsForAction(address,uint256,bytes)\":{\"notice\":\"Parses the assets to send and receive for the callOnExternalPosition\"},\"parseInitArgs(address,bytes)\":{\"notice\":\"Parse and validate input arguments to be used when initializing a newly-deployed ExternalPositionProxy\"}},\"notice\":\"Parser for Maple liquidity positions\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/maple-liquidity/MapleLiquidityPositionParser.sol\":\"MapleLiquidityPositionParser\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/release/extensions/external-position-manager/external-positions/IExternalPositionParser.sol\":{\"keccak256\":\"0x1662fbd65841ee5e9cf8d5329b9d04c264b24ef68ae1e0484e59a8969b0d2c46\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://580569b0f875e0344db83fae1e72dcc6c0767a049b2a6cc3e4f3c411d2284b27\",\"dweb:/ipfs/QmXFmF9QbcVsPHaBo1iq8sZHYhDkwfkMZpHmLTuJJ37NvZ\"]},\"contracts/release/extensions/external-position-manager/external-positions/maple-liquidity/IMapleLiquidityPosition.sol\":{\"keccak256\":\"0x03da4c15035e629dcfaa6822176fdbcf62dd1d5a5c8ccccd0d95344c8048a470\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://fde66e251e197ad0e1f514359dc02a3007bcfded3c081691860ce211c4aa89e4\",\"dweb:/ipfs/QmSADCmqGtbWDxs5G3GfdaC6NbK91qxAu95FJHiSGkuo2v\"]},\"contracts/release/extensions/external-position-manager/external-positions/maple-liquidity/MapleLiquidityPositionDataDecoder.sol\":{\"keccak256\":\"0xd27d4afc91940a9dc2b2ea83ba11a1b98ae07e2165436826af0558c91edd12f4\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://672ed71da75cee7c500255b0c91dba9eef16c3b295ec1eadbbd413d8be34c6e9\",\"dweb:/ipfs/QmaPHi5HajA6Wug9ruvQ6wuGNAFUYBv4QFrrFWtigQHM5e\"]},\"contracts/release/extensions/external-position-manager/external-positions/maple-liquidity/MapleLiquidityPositionParser.sol\":{\"keccak256\":\"0x9202e8c9f37419f6be8feb64d25a396b31fe8e4ab837dfc5950c9627c979d3d4\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://683d4847ea004d137eec9e0ec181ec41407346ddc03b7f4257ff89526fe1bce3\",\"dweb:/ipfs/QmVDN36C9CsLx1azwD4eum8RK5h59MQQsNae2WxUCbc1aT\"]},\"contracts/release/interfaces/IERC4626.sol\":{\"keccak256\":\"0xc9406d483e6f69717c0a12af680a4c247131f3049f3d7e787b3fb128ff02e2ab\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://823c5781608234371ae2ee9982d1c47fe752c3224fb4b7d189ef51248506dd2a\",\"dweb:/ipfs/QmUJfDq1psF7vTWLe3FXr1TaPS8kRBGfRR6snGtrrtVrFL\"]},\"contracts/release/interfaces/IMapleV1MplRewardsFactory.sol\":{\"keccak256\":\"0xb463f96928beac03215345e95b95cc7d0d09593d679b6ab68b421f5f53883d16\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://e334aabfc9f20d049f0341c0c75ccec2069679d473ac1fb815fa9c4ad3794202\",\"dweb:/ipfs/QmQRP4Mcidy6UrntsopY7Py4RKv1dv7rjuA81D3dn8WZwU\"]},\"contracts/release/interfaces/IMapleV2Globals.sol\":{\"keccak256\":\"0xe95ad726b62c5b137743cf0878cbe2822686ed9325bab431501de426a5ac3906\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6db8b760d90b075ed71389608b8bee2b721a52e436c0c31dbaef0c7984fc06b4\",\"dweb:/ipfs/QmRJXLvTcuKKmcyfJGwTrVDhvLxNEUbEZyxa2k5WbPqdSe\"]},\"contracts/release/interfaces/IMapleV2Pool.sol\":{\"keccak256\":\"0x628fcf182f99fd5be22272244f8106a551578de4bf3df105eb8ab42092c5cb05\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://efe4ae3736fd54ec2639621cdc1c245655e899cfa6da046476284ce0830f79de\",\"dweb:/ipfs/QmUoPG6ZBjDJ2Up8eHVZwfY3vgiXTv66Utct4D19tq4ZD8\"]},\"contracts/release/interfaces/IMapleV2PoolManager.sol\":{\"keccak256\":\"0xc4de35e316205863bf63e66749c9cc4af8f50ebfce1fea39378da2740645a914\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://0bc5f3c9502ae74d8ae7fc9e078eebb8185eb4fd3cf42eb0f531d116cdc63e59\",\"dweb:/ipfs/QmScJCCGHM1grtPKnZGmvXbPY6HVZosrwYESD71mBVDE9w\"]},\"contracts/release/interfaces/IMapleV2ProxyFactory.sol\":{\"keccak256\":\"0xb1eb10586ef029297a28798787076f65abbbc4c50a92af31430eacaa39d12a82\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a8f4a73e5271cceb532e02f1b5bc4d270400dbb051d7f35ce0f62d90637d4665\",\"dweb:/ipfs/QmSvsKsc6sNu53eukY5DD8qY8myiPKt4bAxb8CBEdauSxL\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_mapleV2Globals", - "type": "address" - }, - { - "internalType": "address", - "name": "_mapleV1MplRewardsFactory", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_actionId", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_encodedActionArgs", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "parseAssetsForAction", - "outputs": [ - { - "internalType": "address[]", - "name": "assetsToTransfer_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "amountsToTransfer_", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "assetsToReceive_", - "type": "address[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "parseInitArgs", - "outputs": [ - { - "internalType": "bytes", - "name": "initArgs_", - "type": "bytes" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "parseAssetsForAction(address,uint256,bytes)": { - "params": { - "_actionId": "The _actionId for the callOnExternalPosition", - "_encodedActionArgs": "The encoded parameters for the callOnExternalPosition" - }, - "returns": { - "amountsToTransfer_": "The amounts to be transferred from the Vault", - "assetsToReceive_": "The assets to be received at the Vault", - "assetsToTransfer_": "The assets to be transferred from the Vault" - } - }, - "parseInitArgs(address,bytes)": { - "returns": { - "initArgs_": "Parsed and encoded args for ExternalPositionProxy.init()" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "parseAssetsForAction(address,uint256,bytes)": { - "notice": "Parses the assets to send and receive for the callOnExternalPosition" - }, - "parseInitArgs(address,bytes)": { - "notice": "Parse and validate input arguments to be used when initializing a newly-deployed ExternalPositionProxy" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/external-position-manager/external-positions/maple-liquidity/MapleLiquidityPositionParser.sol": "MapleLiquidityPositionParser" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/external-positions/IExternalPosition.sol": { - "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", - "urls": [ - "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", - "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/IExternalPositionParser.sol": { - "keccak256": "0x1662fbd65841ee5e9cf8d5329b9d04c264b24ef68ae1e0484e59a8969b0d2c46", - "urls": [ - "bzz-raw://580569b0f875e0344db83fae1e72dcc6c0767a049b2a6cc3e4f3c411d2284b27", - "dweb:/ipfs/QmXFmF9QbcVsPHaBo1iq8sZHYhDkwfkMZpHmLTuJJ37NvZ" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/maple-liquidity/IMapleLiquidityPosition.sol": { - "keccak256": "0x03da4c15035e629dcfaa6822176fdbcf62dd1d5a5c8ccccd0d95344c8048a470", - "urls": [ - "bzz-raw://fde66e251e197ad0e1f514359dc02a3007bcfded3c081691860ce211c4aa89e4", - "dweb:/ipfs/QmSADCmqGtbWDxs5G3GfdaC6NbK91qxAu95FJHiSGkuo2v" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/maple-liquidity/MapleLiquidityPositionDataDecoder.sol": { - "keccak256": "0xd27d4afc91940a9dc2b2ea83ba11a1b98ae07e2165436826af0558c91edd12f4", - "urls": [ - "bzz-raw://672ed71da75cee7c500255b0c91dba9eef16c3b295ec1eadbbd413d8be34c6e9", - "dweb:/ipfs/QmaPHi5HajA6Wug9ruvQ6wuGNAFUYBv4QFrrFWtigQHM5e" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/maple-liquidity/MapleLiquidityPositionParser.sol": { - "keccak256": "0x9202e8c9f37419f6be8feb64d25a396b31fe8e4ab837dfc5950c9627c979d3d4", - "urls": [ - "bzz-raw://683d4847ea004d137eec9e0ec181ec41407346ddc03b7f4257ff89526fe1bce3", - "dweb:/ipfs/QmVDN36C9CsLx1azwD4eum8RK5h59MQQsNae2WxUCbc1aT" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IERC4626.sol": { - "keccak256": "0xc9406d483e6f69717c0a12af680a4c247131f3049f3d7e787b3fb128ff02e2ab", - "urls": [ - "bzz-raw://823c5781608234371ae2ee9982d1c47fe752c3224fb4b7d189ef51248506dd2a", - "dweb:/ipfs/QmUJfDq1psF7vTWLe3FXr1TaPS8kRBGfRR6snGtrrtVrFL" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IMapleV1MplRewardsFactory.sol": { - "keccak256": "0xb463f96928beac03215345e95b95cc7d0d09593d679b6ab68b421f5f53883d16", - "urls": [ - "bzz-raw://e334aabfc9f20d049f0341c0c75ccec2069679d473ac1fb815fa9c4ad3794202", - "dweb:/ipfs/QmQRP4Mcidy6UrntsopY7Py4RKv1dv7rjuA81D3dn8WZwU" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IMapleV2Globals.sol": { - "keccak256": "0xe95ad726b62c5b137743cf0878cbe2822686ed9325bab431501de426a5ac3906", - "urls": [ - "bzz-raw://6db8b760d90b075ed71389608b8bee2b721a52e436c0c31dbaef0c7984fc06b4", - "dweb:/ipfs/QmRJXLvTcuKKmcyfJGwTrVDhvLxNEUbEZyxa2k5WbPqdSe" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IMapleV2Pool.sol": { - "keccak256": "0x628fcf182f99fd5be22272244f8106a551578de4bf3df105eb8ab42092c5cb05", - "urls": [ - "bzz-raw://efe4ae3736fd54ec2639621cdc1c245655e899cfa6da046476284ce0830f79de", - "dweb:/ipfs/QmUoPG6ZBjDJ2Up8eHVZwfY3vgiXTv66Utct4D19tq4ZD8" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IMapleV2PoolManager.sol": { - "keccak256": "0xc4de35e316205863bf63e66749c9cc4af8f50ebfce1fea39378da2740645a914", - "urls": [ - "bzz-raw://0bc5f3c9502ae74d8ae7fc9e078eebb8185eb4fd3cf42eb0f531d116cdc63e59", - "dweb:/ipfs/QmScJCCGHM1grtPKnZGmvXbPY6HVZosrwYESD71mBVDE9w" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IMapleV2ProxyFactory.sol": { - "keccak256": "0xb1eb10586ef029297a28798787076f65abbbc4c50a92af31430eacaa39d12a82", - "urls": [ - "bzz-raw://a8f4a73e5271cceb532e02f1b5bc4d270400dbb051d7f35ce0f62d90637d4665", - "dweb:/ipfs/QmSvsKsc6sNu53eukY5DD8qY8myiPKt4bAxb8CBEdauSxL" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 117 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_mapleV2Globals", "type": "address", "internalType": "address" }, { "name": "_mapleV1MplRewardsFactory", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "parseAssetsForAction", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "_actionId", "type": "uint256", "internalType": "uint256" }, { "name": "_encodedActionArgs", "type": "bytes", "internalType": "bytes" } ], "outputs": [ { "name": "assetsToTransfer_", "type": "address[]", "internalType": "address[]" }, { "name": "amountsToTransfer_", "type": "uint256[]", "internalType": "uint256[]" }, { "name": "assetsToReceive_", "type": "address[]", "internalType": "address[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "parseInitArgs", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [ { "name": "initArgs_", "type": "bytes", "internalType": "bytes" } ], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x60c060405234801561001057600080fd5b50604051610b00380380610b008339818101604052604081101561003357600080fd5b5080516020909101516001600160601b0319606091821b811660805291901b1660a05260805160601c60a05160601c610a8161007f600039806107d05250806108df5250610a816000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063bbd2d6461461003b578063db16c72e146101d4575b600080fd5b6100f66004803603606081101561005157600080fd5b6001600160a01b038235169160208101359181019060608101604082013564010000000081111561008157600080fd5b82018360208201111561009357600080fd5b803590602001918460018302840111640100000000831117156100b557600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506102ff945050505050565b60405180806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b8381101561013e578181015183820152602001610126565b50505050905001848103835286818151815260200191508051906020019060200280838360005b8381101561017d578181015183820152602001610165565b50505050905001848103825285818151815260200191508051906020019060200280838360005b838110156101bc5781810151838201526020016101a4565b50505050905001965050505050505060405180910390f35b61028a600480360360408110156101ea57600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561021557600080fd5b82018360208201111561022757600080fd5b8035906020019184600183028401116401000000008311171561024957600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610554945050505050565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102c45781810151838201526020016102ac565b50505050905090810190601f1680156102f15780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6060808060098514156104185760008061031886610568565b9150915061032582610593565b60408051600180825281830190925290602080830190803683375050604080516001808252818301909252929750905060208083019080368337019050509350816001600160a01b03166338d52e0f6040518163ffffffff1660e01b815260040160206040518083038186803b15801561039e57600080fd5b505afa1580156103b2573d6000803e3d6000fd5b505050506040513d60208110156103c857600080fd5b5051855186906000906103d757fe5b60200260200101906001600160a01b031690816001600160a01b031681525050808460008151811061040557fe5b602002602001018181525050505061054b565b600a85141561043e57600061042c85610568565b50905061043881610593565b5061054b565b600b85141561051657600061045285610568565b50905061045e81610593565b6040805160018082528183019092529060208083019080368337019050509150806001600160a01b03166338d52e0f6040518163ffffffff1660e01b815260040160206040518083038186803b1580156104b757600080fd5b505afa1580156104cb573d6000803e3d6000fd5b505050506040513d60208110156104e157600080fd5b5051825183906000906104f057fe5b60200260200101906001600160a01b031690816001600160a01b0316815250505061054b565b600c85141561052a57600061042c85610568565b600885141561054b57600061053e856108be565b9050610549816108dd565b505b93509350939050565b505060408051602081019091526000815290565b60008082806020019051604081101561058057600080fd5b5080516020909101519092509050915091565b6000816001600160a01b031663481c6a756040518163ffffffff1660e01b815260040160206040518083038186803b1580156105ce57600080fd5b505afa1580156105e2573d6000803e3d6000fd5b505050506040513d60208110156105f857600080fd5b5051604080516316f0115b60e01b815290519192506001600160a01b0380851692908416916316f0115b916004808301926020929190829003018186803b15801561064257600080fd5b505afa158015610656573d6000803e3d6000fd5b505050506040513d602081101561066c57600080fd5b50516001600160a01b0316146106b35760405162461bcd60e51b815260040180806020018281038252602e8152602001806109e8602e913960400191505060405180910390fd5b6000816001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156106ee57600080fd5b505afa158015610702573d6000803e3d6000fd5b505050506040513d602081101561071857600080fd5b5051604080516335a2735f60e11b81526001600160a01b038581166004830152915192935090831691636b44e6be91602480820192602092909190829003018186803b15801561076757600080fd5b505afa15801561077b573d6000803e3d6000fd5b505050506040513d602081101561079157600080fd5b50516107ce5760405162461bcd60e51b8152600401808060200182810382526035815260200180610a406035913960400191505060405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316636167f931826040518263ffffffff1660e01b815260040180806b2827a7a62fa6a0a720a3a2a960a11b815250602001826001600160a01b0316815260200191505060206040518083038186803b15801561085257600080fd5b505afa158015610866573d6000803e3d6000fd5b505050506040513d602081101561087c57600080fd5b50516108b95760405162461bcd60e51b815260040180806020018281038252602a815260200180610a16602a913960400191505060405180910390fd5b505050565b60008180602001905160208110156108d557600080fd5b505192915050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e291968e826040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561094a57600080fd5b505afa15801561095e573d6000803e3d6000fd5b505050506040513d602081101561097457600080fd5b50516109b15760405162461bcd60e51b81526004018080602001828103825260338152602001806109b56033913960400191505060405180910390fd5b5056fe5f5f76616c696461746552657761726473436f6e74726163743a20496e76616c6964207265776172647320636f6e74726163745f5f76616c6964617465506f6f6c56323a20496e76616c696420506f6f6c4d616e616765722072656c6174696f6e5f5f76616c6964617465506f6f6c56323a20496e76616c696420476c6f62616c732072656c6174696f6e5f5f76616c6964617465506f6f6c56323a20496e76616c696420506f6f6c4d616e61676572466163746f72792072656c6174696f6ea164736f6c634300060c000a", "sourceMap": "835:4317:117:-:0;;;1058:196;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1058:196:117;;;;;;;-1:-1:-1;;;;;;1147:56:117;;;;;;;;1213:34;;;;;;835:4317;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c8063bbd2d6461461003b578063db16c72e146101d4575b600080fd5b6100f66004803603606081101561005157600080fd5b6001600160a01b038235169160208101359181019060608101604082013564010000000081111561008157600080fd5b82018360208201111561009357600080fd5b803590602001918460018302840111640100000000831117156100b557600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506102ff945050505050565b60405180806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b8381101561013e578181015183820152602001610126565b50505050905001848103835286818151815260200191508051906020019060200280838360005b8381101561017d578181015183820152602001610165565b50505050905001848103825285818151815260200191508051906020019060200280838360005b838110156101bc5781810151838201526020016101a4565b50505050905001965050505050505060405180910390f35b61028a600480360360408110156101ea57600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561021557600080fd5b82018360208201111561022757600080fd5b8035906020019184600183028401116401000000008311171561024957600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610554945050505050565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102c45781810151838201526020016102ac565b50505050905090810190601f1680156102f15780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6060808060098514156104185760008061031886610568565b9150915061032582610593565b60408051600180825281830190925290602080830190803683375050604080516001808252818301909252929750905060208083019080368337019050509350816001600160a01b03166338d52e0f6040518163ffffffff1660e01b815260040160206040518083038186803b15801561039e57600080fd5b505afa1580156103b2573d6000803e3d6000fd5b505050506040513d60208110156103c857600080fd5b5051855186906000906103d757fe5b60200260200101906001600160a01b031690816001600160a01b031681525050808460008151811061040557fe5b602002602001018181525050505061054b565b600a85141561043e57600061042c85610568565b50905061043881610593565b5061054b565b600b85141561051657600061045285610568565b50905061045e81610593565b6040805160018082528183019092529060208083019080368337019050509150806001600160a01b03166338d52e0f6040518163ffffffff1660e01b815260040160206040518083038186803b1580156104b757600080fd5b505afa1580156104cb573d6000803e3d6000fd5b505050506040513d60208110156104e157600080fd5b5051825183906000906104f057fe5b60200260200101906001600160a01b031690816001600160a01b0316815250505061054b565b600c85141561052a57600061042c85610568565b600885141561054b57600061053e856108be565b9050610549816108dd565b505b93509350939050565b505060408051602081019091526000815290565b60008082806020019051604081101561058057600080fd5b5080516020909101519092509050915091565b6000816001600160a01b031663481c6a756040518163ffffffff1660e01b815260040160206040518083038186803b1580156105ce57600080fd5b505afa1580156105e2573d6000803e3d6000fd5b505050506040513d60208110156105f857600080fd5b5051604080516316f0115b60e01b815290519192506001600160a01b0380851692908416916316f0115b916004808301926020929190829003018186803b15801561064257600080fd5b505afa158015610656573d6000803e3d6000fd5b505050506040513d602081101561066c57600080fd5b50516001600160a01b0316146106b35760405162461bcd60e51b815260040180806020018281038252602e8152602001806109e8602e913960400191505060405180910390fd5b6000816001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b1580156106ee57600080fd5b505afa158015610702573d6000803e3d6000fd5b505050506040513d602081101561071857600080fd5b5051604080516335a2735f60e11b81526001600160a01b038581166004830152915192935090831691636b44e6be91602480820192602092909190829003018186803b15801561076757600080fd5b505afa15801561077b573d6000803e3d6000fd5b505050506040513d602081101561079157600080fd5b50516107ce5760405162461bcd60e51b8152600401808060200182810382526035815260200180610a406035913960400191505060405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316636167f931826040518263ffffffff1660e01b815260040180806b2827a7a62fa6a0a720a3a2a960a11b815250602001826001600160a01b0316815260200191505060206040518083038186803b15801561085257600080fd5b505afa158015610866573d6000803e3d6000fd5b505050506040513d602081101561087c57600080fd5b50516108b95760405162461bcd60e51b815260040180806020018281038252602a815260200180610a16602a913960400191505060405180910390fd5b505050565b60008180602001905160208110156108d557600080fd5b505192915050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e291968e826040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561094a57600080fd5b505afa15801561095e573d6000803e3d6000fd5b505050506040513d602081101561097457600080fd5b50516109b15760405162461bcd60e51b81526004018080602001828103825260338152602001806109b56033913960400191505060405180910390fd5b5056fe5f5f76616c696461746552657761726473436f6e74726163743a20496e76616c6964207265776172647320636f6e74726163745f5f76616c6964617465506f6f6c56323a20496e76616c696420506f6f6c4d616e616765722072656c6174696f6e5f5f76616c6964617465506f6f6c56323a20496e76616c696420476c6f62616c732072656c6174696f6e5f5f76616c6964617465506f6f6c56323a20496e76616c696420506f6f6c4d616e61676572466163746f72792072656c6174696f6ea164736f6c634300060c000a", "sourceMap": "835:4317:117:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1733:1870;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1733:1870:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1733:1870:117;;-1:-1:-1;1733:1870:117;;-1:-1:-1;;;;;1733:1870:117:i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3811:151;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3811:151:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3811:151:117;;-1:-1:-1;3811:151:117;;-1:-1:-1;;;;;3811:151:117:i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1733:1870;1918:34;;;2098:38;2077:9;:60;2073:1449;;;2154:12;2168:28;2200:74;2242:18;2200:24;:74::i;:::-;2153:121;;;;2288:22;2305:4;2288:16;:22::i;:::-;2345:16;;;2359:1;2345:16;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2396:16:117;;;2410:1;2396:16;;;;;;;;;2325:36;;-1:-1:-1;2410:1:117;-1:-1:-1;2396:16:117;;;;;;;;;;;-1:-1:-1;2396:16:117;2375:37;;2463:4;-1:-1:-1;;;;;2450:24:117;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2450:26:117;2427:20;;:17;;2445:1;;2427:20;;;;;;;;;:49;-1:-1:-1;;;;;2427:49:117;;;-1:-1:-1;;;;;2427:49:117;;;;;2514:20;2490:18;2509:1;2490:21;;;;;;;;;;;;;:44;;;;;2073:1449;;;;;2576:47;2555:9;:69;2551:971;;;2641:12;2659:53;2693:18;2659:33;:53::i;:::-;2640:72;;;2726:22;2743:4;2726:16;:22::i;:::-;2551:971;;;;2790:40;2769:9;:62;2765:757;;;2848:12;2866:46;2893:18;2866:26;:46::i;:::-;2847:65;;;2926:22;2943:4;2926:16;:22::i;:::-;2982:16;;;2996:1;2982:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2982:16:117;2963:35;;3047:4;-1:-1:-1;;;;;3034:24:117;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3034:26:117;3012:19;;:16;;3029:1;;3012:19;;;;;;;;;:48;-1:-1:-1;;;;;3012:48:117;;;-1:-1:-1;;;;;3012:48:117;;;;;2765:757;;;;3102:46;3081:9;:68;3077:445;;;3166:12;3184:52;3217:18;3184:32;:52::i;3077:445::-;3314:46;3293:9;:68;3289:233;;;3377:23;3403:52;3436:18;3403:32;:52::i;:::-;3377:78;;3469:42;3495:15;3469:25;:42::i;:::-;3289:233;;1733:1870;;;;;;;:::o;3811:151::-;-1:-1:-1;;3946:9:117;;;;;;;;;-1:-1:-1;3946:9:117;;;3811:151::o;1316:224:115:-;1423:13;1438:29;1501:11;1490:43;;;;;;;;;;;;;;;-1:-1:-1;1490:43:115;;;;;;;;;-1:-1:-1;1490:43:115;-1:-1:-1;1316:224:115;;;:::o;4065:714:117:-;4131:19;4166:7;-1:-1:-1;;;;;4153:29:117;;:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4153:31:117;4215:39;;;-1:-1:-1;;;4215:39:117;;;;4153:31;;-1:-1:-1;;;;;;4215:50:117;;;;:37;;;;;;:39;;;;;4153:31;;4215:39;;;;;;;:37;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4215:39:117;-1:-1:-1;;;;;4215:50:117;;4194:143;;;;-1:-1:-1;;;4194:143:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4348:26;4397:11;-1:-1:-1;;;;;4377:40:117;;:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4377:42:117;4450:64;;;-1:-1:-1;;;4450:64:117;;-1:-1:-1;;;;;4450:64:117;;;;;;;;;4377:42;;-1:-1:-1;4450:51:117;;;;;;:64;;;;;4377:42;;4450:64;;;;;;;;:51;:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4450:64:117;4429:164;;;;-1:-1:-1;;;4429:164:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4641:16;-1:-1:-1;;;;;4625:43:117;;4685:18;4625:79;;;;;;;;;;;;;-1:-1:-1;;;4625:79:117;;;;;;-1:-1:-1;;;;;4625:79:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4625:79:117;4604:168;;;;-1:-1:-1;;;4604:168:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4065:714;;;:::o;672:203:115:-;787:24;845:11;834:34;;;;;;;;;;;;;;;-1:-1:-1;834:34:115;;672:203;-1:-1:-1;;672:203:115:o;4875:275:117:-;5006:28;-1:-1:-1;;;;;4980:68:117;;5049:16;4980:86;;;;;;;;;;;;;-1:-1:-1;;;;;4980:86:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4980:86:117;4959:184;;;;-1:-1:-1;;;4959:184:117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4875:275;:::o", "linkReferences": {}, "immutableReferences": { "28259": [ { "start": 2271, "length": 32 } ], "28261": [ { "start": 2000, "length": 32 } ] } }, "methodIdentifiers": { "parseAssetsForAction(address,uint256,bytes)": "bbd2d646", "parseInitArgs(address,bytes)": "db16c72e" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_mapleV2Globals\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_mapleV1MplRewardsFactory\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_actionId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_encodedActionArgs\",\"type\":\"bytes\"}],\"name\":\"parseAssetsForAction\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"assetsToTransfer_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amountsToTransfer_\",\"type\":\"uint256[]\"},{\"internalType\":\"address[]\",\"name\":\"assetsToReceive_\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"parseInitArgs\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"initArgs_\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"parseAssetsForAction(address,uint256,bytes)\":{\"params\":{\"_actionId\":\"The _actionId for the callOnExternalPosition\",\"_encodedActionArgs\":\"The encoded parameters for the callOnExternalPosition\"},\"returns\":{\"amountsToTransfer_\":\"The amounts to be transferred from the Vault\",\"assetsToReceive_\":\"The assets to be received at the Vault\",\"assetsToTransfer_\":\"The assets to be transferred from the Vault\"}},\"parseInitArgs(address,bytes)\":{\"returns\":{\"initArgs_\":\"Parsed and encoded args for ExternalPositionProxy.init()\"}}},\"title\":\"MapleLiquidityPositionParser\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"parseAssetsForAction(address,uint256,bytes)\":{\"notice\":\"Parses the assets to send and receive for the callOnExternalPosition\"},\"parseInitArgs(address,bytes)\":{\"notice\":\"Parse and validate input arguments to be used when initializing a newly-deployed ExternalPositionProxy\"}},\"notice\":\"Parser for Maple liquidity positions\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/maple-liquidity/MapleLiquidityPositionParser.sol\":\"MapleLiquidityPositionParser\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/release/extensions/external-position-manager/external-positions/IExternalPositionParser.sol\":{\"keccak256\":\"0x1662fbd65841ee5e9cf8d5329b9d04c264b24ef68ae1e0484e59a8969b0d2c46\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://580569b0f875e0344db83fae1e72dcc6c0767a049b2a6cc3e4f3c411d2284b27\",\"dweb:/ipfs/QmXFmF9QbcVsPHaBo1iq8sZHYhDkwfkMZpHmLTuJJ37NvZ\"]},\"contracts/release/extensions/external-position-manager/external-positions/maple-liquidity/IMapleLiquidityPosition.sol\":{\"keccak256\":\"0x03da4c15035e629dcfaa6822176fdbcf62dd1d5a5c8ccccd0d95344c8048a470\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://fde66e251e197ad0e1f514359dc02a3007bcfded3c081691860ce211c4aa89e4\",\"dweb:/ipfs/QmSADCmqGtbWDxs5G3GfdaC6NbK91qxAu95FJHiSGkuo2v\"]},\"contracts/release/extensions/external-position-manager/external-positions/maple-liquidity/MapleLiquidityPositionDataDecoder.sol\":{\"keccak256\":\"0xd27d4afc91940a9dc2b2ea83ba11a1b98ae07e2165436826af0558c91edd12f4\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://672ed71da75cee7c500255b0c91dba9eef16c3b295ec1eadbbd413d8be34c6e9\",\"dweb:/ipfs/QmaPHi5HajA6Wug9ruvQ6wuGNAFUYBv4QFrrFWtigQHM5e\"]},\"contracts/release/extensions/external-position-manager/external-positions/maple-liquidity/MapleLiquidityPositionParser.sol\":{\"keccak256\":\"0x9202e8c9f37419f6be8feb64d25a396b31fe8e4ab837dfc5950c9627c979d3d4\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://683d4847ea004d137eec9e0ec181ec41407346ddc03b7f4257ff89526fe1bce3\",\"dweb:/ipfs/QmVDN36C9CsLx1azwD4eum8RK5h59MQQsNae2WxUCbc1aT\"]},\"contracts/release/interfaces/IERC4626.sol\":{\"keccak256\":\"0xc9406d483e6f69717c0a12af680a4c247131f3049f3d7e787b3fb128ff02e2ab\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://823c5781608234371ae2ee9982d1c47fe752c3224fb4b7d189ef51248506dd2a\",\"dweb:/ipfs/QmUJfDq1psF7vTWLe3FXr1TaPS8kRBGfRR6snGtrrtVrFL\"]},\"contracts/release/interfaces/IMapleV1MplRewardsFactory.sol\":{\"keccak256\":\"0xb463f96928beac03215345e95b95cc7d0d09593d679b6ab68b421f5f53883d16\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://e334aabfc9f20d049f0341c0c75ccec2069679d473ac1fb815fa9c4ad3794202\",\"dweb:/ipfs/QmQRP4Mcidy6UrntsopY7Py4RKv1dv7rjuA81D3dn8WZwU\"]},\"contracts/release/interfaces/IMapleV2Globals.sol\":{\"keccak256\":\"0xe95ad726b62c5b137743cf0878cbe2822686ed9325bab431501de426a5ac3906\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6db8b760d90b075ed71389608b8bee2b721a52e436c0c31dbaef0c7984fc06b4\",\"dweb:/ipfs/QmRJXLvTcuKKmcyfJGwTrVDhvLxNEUbEZyxa2k5WbPqdSe\"]},\"contracts/release/interfaces/IMapleV2Pool.sol\":{\"keccak256\":\"0x628fcf182f99fd5be22272244f8106a551578de4bf3df105eb8ab42092c5cb05\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://efe4ae3736fd54ec2639621cdc1c245655e899cfa6da046476284ce0830f79de\",\"dweb:/ipfs/QmUoPG6ZBjDJ2Up8eHVZwfY3vgiXTv66Utct4D19tq4ZD8\"]},\"contracts/release/interfaces/IMapleV2PoolManager.sol\":{\"keccak256\":\"0xc4de35e316205863bf63e66749c9cc4af8f50ebfce1fea39378da2740645a914\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://0bc5f3c9502ae74d8ae7fc9e078eebb8185eb4fd3cf42eb0f531d116cdc63e59\",\"dweb:/ipfs/QmScJCCGHM1grtPKnZGmvXbPY6HVZosrwYESD71mBVDE9w\"]},\"contracts/release/interfaces/IMapleV2ProxyFactory.sol\":{\"keccak256\":\"0xb1eb10586ef029297a28798787076f65abbbc4c50a92af31430eacaa39d12a82\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a8f4a73e5271cceb532e02f1b5bc4d270400dbb051d7f35ce0f62d90637d4665\",\"dweb:/ipfs/QmSvsKsc6sNu53eukY5DD8qY8myiPKt4bAxb8CBEdauSxL\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_mapleV2Globals", "type": "address" }, { "internalType": "address", "name": "_mapleV1MplRewardsFactory", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "uint256", "name": "_actionId", "type": "uint256" }, { "internalType": "bytes", "name": "_encodedActionArgs", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "parseAssetsForAction", "outputs": [ { "internalType": "address[]", "name": "assetsToTransfer_", "type": "address[]" }, { "internalType": "uint256[]", "name": "amountsToTransfer_", "type": "uint256[]" }, { "internalType": "address[]", "name": "assetsToReceive_", "type": "address[]" } ] }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "parseInitArgs", "outputs": [ { "internalType": "bytes", "name": "initArgs_", "type": "bytes" } ] } ], "devdoc": { "kind": "dev", "methods": { "parseAssetsForAction(address,uint256,bytes)": { "params": { "_actionId": "The _actionId for the callOnExternalPosition", "_encodedActionArgs": "The encoded parameters for the callOnExternalPosition" }, "returns": { "amountsToTransfer_": "The amounts to be transferred from the Vault", "assetsToReceive_": "The assets to be received at the Vault", "assetsToTransfer_": "The assets to be transferred from the Vault" } }, "parseInitArgs(address,bytes)": { "returns": { "initArgs_": "Parsed and encoded args for ExternalPositionProxy.init()" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "parseAssetsForAction(address,uint256,bytes)": { "notice": "Parses the assets to send and receive for the callOnExternalPosition" }, "parseInitArgs(address,bytes)": { "notice": "Parse and validate input arguments to be used when initializing a newly-deployed ExternalPositionProxy" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/external-position-manager/external-positions/maple-liquidity/MapleLiquidityPositionParser.sol": "MapleLiquidityPositionParser" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/external-positions/IExternalPosition.sol": { "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", "urls": [ "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/IExternalPositionParser.sol": { "keccak256": "0x1662fbd65841ee5e9cf8d5329b9d04c264b24ef68ae1e0484e59a8969b0d2c46", "urls": [ "bzz-raw://580569b0f875e0344db83fae1e72dcc6c0767a049b2a6cc3e4f3c411d2284b27", "dweb:/ipfs/QmXFmF9QbcVsPHaBo1iq8sZHYhDkwfkMZpHmLTuJJ37NvZ" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/maple-liquidity/IMapleLiquidityPosition.sol": { "keccak256": "0x03da4c15035e629dcfaa6822176fdbcf62dd1d5a5c8ccccd0d95344c8048a470", "urls": [ "bzz-raw://fde66e251e197ad0e1f514359dc02a3007bcfded3c081691860ce211c4aa89e4", "dweb:/ipfs/QmSADCmqGtbWDxs5G3GfdaC6NbK91qxAu95FJHiSGkuo2v" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/maple-liquidity/MapleLiquidityPositionDataDecoder.sol": { "keccak256": "0xd27d4afc91940a9dc2b2ea83ba11a1b98ae07e2165436826af0558c91edd12f4", "urls": [ "bzz-raw://672ed71da75cee7c500255b0c91dba9eef16c3b295ec1eadbbd413d8be34c6e9", "dweb:/ipfs/QmaPHi5HajA6Wug9ruvQ6wuGNAFUYBv4QFrrFWtigQHM5e" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/maple-liquidity/MapleLiquidityPositionParser.sol": { "keccak256": "0x9202e8c9f37419f6be8feb64d25a396b31fe8e4ab837dfc5950c9627c979d3d4", "urls": [ "bzz-raw://683d4847ea004d137eec9e0ec181ec41407346ddc03b7f4257ff89526fe1bce3", "dweb:/ipfs/QmVDN36C9CsLx1azwD4eum8RK5h59MQQsNae2WxUCbc1aT" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IERC4626.sol": { "keccak256": "0xc9406d483e6f69717c0a12af680a4c247131f3049f3d7e787b3fb128ff02e2ab", "urls": [ "bzz-raw://823c5781608234371ae2ee9982d1c47fe752c3224fb4b7d189ef51248506dd2a", "dweb:/ipfs/QmUJfDq1psF7vTWLe3FXr1TaPS8kRBGfRR6snGtrrtVrFL" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IMapleV1MplRewardsFactory.sol": { "keccak256": "0xb463f96928beac03215345e95b95cc7d0d09593d679b6ab68b421f5f53883d16", "urls": [ "bzz-raw://e334aabfc9f20d049f0341c0c75ccec2069679d473ac1fb815fa9c4ad3794202", "dweb:/ipfs/QmQRP4Mcidy6UrntsopY7Py4RKv1dv7rjuA81D3dn8WZwU" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IMapleV2Globals.sol": { "keccak256": "0xe95ad726b62c5b137743cf0878cbe2822686ed9325bab431501de426a5ac3906", "urls": [ "bzz-raw://6db8b760d90b075ed71389608b8bee2b721a52e436c0c31dbaef0c7984fc06b4", "dweb:/ipfs/QmRJXLvTcuKKmcyfJGwTrVDhvLxNEUbEZyxa2k5WbPqdSe" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IMapleV2Pool.sol": { "keccak256": "0x628fcf182f99fd5be22272244f8106a551578de4bf3df105eb8ab42092c5cb05", "urls": [ "bzz-raw://efe4ae3736fd54ec2639621cdc1c245655e899cfa6da046476284ce0830f79de", "dweb:/ipfs/QmUoPG6ZBjDJ2Up8eHVZwfY3vgiXTv66Utct4D19tq4ZD8" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IMapleV2PoolManager.sol": { "keccak256": "0xc4de35e316205863bf63e66749c9cc4af8f50ebfce1fea39378da2740645a914", "urls": [ "bzz-raw://0bc5f3c9502ae74d8ae7fc9e078eebb8185eb4fd3cf42eb0f531d116cdc63e59", "dweb:/ipfs/QmScJCCGHM1grtPKnZGmvXbPY6HVZosrwYESD71mBVDE9w" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IMapleV2ProxyFactory.sol": { "keccak256": "0xb1eb10586ef029297a28798787076f65abbbc4c50a92af31430eacaa39d12a82", "urls": [ "bzz-raw://a8f4a73e5271cceb532e02f1b5bc4d270400dbb051d7f35ce0f62d90637d4665", "dweb:/ipfs/QmSvsKsc6sNu53eukY5DD8qY8myiPKt4bAxb8CBEdauSxL" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" } }, "version": 1 }, "id": 117 } diff --git a/eth_defi/abi/enzyme/MapleV1ToV2PoolMapper.json b/eth_defi/abi/enzyme/MapleV1ToV2PoolMapper.json index 62024232..dac3efd1 100644 --- a/eth_defi/abi/enzyme/MapleV1ToV2PoolMapper.json +++ b/eth_defi/abi/enzyme/MapleV1ToV2PoolMapper.json @@ -1,622 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_dispacher", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [], - "name": "MigrationAllowed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "poolTokenV1", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "poolTokenV2", - "type": "address" - } - ], - "name": "PoolMapped", - "type": "event" - }, - { - "anonymous": false, - "inputs": [], - "name": "SnapshotsFrozen", - "type": "event" - }, - { - "inputs": [], - "name": "allowMigration", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "freezeSnapshots", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_poolTokenV1", - "type": "address" - } - ], - "name": "getPoolTokenV2FromPoolTokenV1", - "outputs": [ - { - "internalType": "address", - "name": "poolTokenV2_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_poolTokensV1", - "type": "address[]" - }, - { - "internalType": "address[]", - "name": "_poolTokensV2", - "type": "address[]" - } - ], - "name": "mapPools", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_proxies", - "type": "address[]" - } - ], - "name": "migrateExternalPositions", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "migrationIsAllowed", - "outputs": [ - { - "internalType": "bool", - "name": "allowed_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_proxies", - "type": "address[]" - } - ], - "name": "snapshotExternalPositions", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "snapshotsAreAllowed", - "outputs": [ - { - "internalType": "bool", - "name": "allowed_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x60a060405234801561001057600080fd5b5060405161082f38038061082f8339818101604052602081101561003357600080fd5b50516001600160601b031960609190911b166080526000805461ff001960ff199091166001171661010017905560805160601c6107a8610087600039806102a152806103bd52806105d152506107a86000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c806366e973391161005b57806366e97339146102055780638580eb5b1461020d5780639cf7922f14610229578063f0da6da01461023157610088565b806335d690591461008d57806337dd81961461009757806350b6af1a146100d95780635456b04814610197575b600080fd5b61009561029f565b005b6100bd600480360360208110156100ad57600080fd5b50356001600160a01b031661039d565b604080516001600160a01b039092168252519081900360200190f35b610095600480360360408110156100ef57600080fd5b810190602081018135600160201b81111561010957600080fd5b82018360208201111561011b57600080fd5b803590602001918460208302840111600160201b8311171561013c57600080fd5b919390929091602081019035600160201b81111561015957600080fd5b82018360208201111561016b57600080fd5b803590602001918460208302840111600160201b8311171561018c57600080fd5b5090925090506103bb565b610095600480360360208110156101ad57600080fd5b810190602081018135600160201b8111156101c757600080fd5b8201836020820111156101d957600080fd5b803590602001918460208302840111600160201b831117156101fa57600080fd5b509092509050610545565b6100956105cf565b6102156106ce565b604080519115158252519081900360200190f35b6102156106dc565b6100956004803603602081101561024757600080fd5b810190602081018135600160201b81111561026157600080fd5b82018360208201111561027357600080fd5b803590602001918460208302840111600160201b8311171561029457600080fd5b5090925090506106e6565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b1580156102f857600080fd5b505afa15801561030c573d6000803e3d6000fd5b505050506040513d602081101561032257600080fd5b50516001600160a01b0316331461036a5760405162461bcd60e51b815260040180806020018281038252603081526020018061076c6030913960400191505060405180910390fd5b6000805460ff191681556040517f5bdd44d9f5f422abde8aaa5dd85f080c02b9d9fb852d2a06588bf7d773b350919190a1565b6001600160a01b039081166000908152600160205260409020541690565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561041457600080fd5b505afa158015610428573d6000803e3d6000fd5b505050506040513d602081101561043e57600080fd5b50516001600160a01b031633146104865760405162461bcd60e51b815260040180806020018281038252603081526020018061076c6030913960400191505060405180910390fd5b60005b8381101561053e57600085858381811061049f57fe5b905060200201356001600160a01b0316905060008484848181106104bf57fe5b6001600160a01b0385811660008181526001602090815260409182902080546001600160a01b031916958202979097013593909316938417909555845190815290810182905283519194507f6b1b985cb1b93b43234af26626ce9f43bbaad37c2c3f1df61a7686bb872648db9390829003019150a15050600101610489565b5050505050565b60005b818110156105ca5782828281811061055c57fe5b905060200201356001600160a01b03166001600160a01b0316637f15233f6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156105a657600080fd5b505af11580156105ba573d6000803e3d6000fd5b5050600190920191506105489050565b505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561062857600080fd5b505afa15801561063c573d6000803e3d6000fd5b505050506040513d602081101561065257600080fd5b50516001600160a01b0316331461069a5760405162461bcd60e51b815260040180806020018281038252603081526020018061076c6030913960400191505060405180910390fd5b6000805461ff00191681556040517ff5e3ae19c07f26be0de6a5962096aed0b7c2a2d4d5634032b4a862da9f943f0c9190a1565b600054610100900460ff1690565b60005460ff161590565b60005b818110156105ca578282828181106106fd57fe5b905060200201356001600160a01b03166001600160a01b0316632d13e0516040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561074757600080fd5b505af115801561075b573d6000803e3d6000fd5b5050600190920191506106e9905056fe4f6e6c79207468652044697370617463686572206f776e65722063616e2063616c6c20746869732066756e6374696f6ea164736f6c634300060c000a", - "sourceMap": "614:3574:33:-:0;;;1169:149;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1169:149:33;-1:-1:-1;;;;;;1218:23:33;;;;;;;;1252:19;:26;;-1:-1:-1;;;;1252:26:33;;;1274:4;1252:26;1288:23;1252:26;1288:23;;;614:3574;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106100885760003560e01c806366e973391161005b57806366e97339146102055780638580eb5b1461020d5780639cf7922f14610229578063f0da6da01461023157610088565b806335d690591461008d57806337dd81961461009757806350b6af1a146100d95780635456b04814610197575b600080fd5b61009561029f565b005b6100bd600480360360208110156100ad57600080fd5b50356001600160a01b031661039d565b604080516001600160a01b039092168252519081900360200190f35b610095600480360360408110156100ef57600080fd5b810190602081018135600160201b81111561010957600080fd5b82018360208201111561011b57600080fd5b803590602001918460208302840111600160201b8311171561013c57600080fd5b919390929091602081019035600160201b81111561015957600080fd5b82018360208201111561016b57600080fd5b803590602001918460208302840111600160201b8311171561018c57600080fd5b5090925090506103bb565b610095600480360360208110156101ad57600080fd5b810190602081018135600160201b8111156101c757600080fd5b8201836020820111156101d957600080fd5b803590602001918460208302840111600160201b831117156101fa57600080fd5b509092509050610545565b6100956105cf565b6102156106ce565b604080519115158252519081900360200190f35b6102156106dc565b6100956004803603602081101561024757600080fd5b810190602081018135600160201b81111561026157600080fd5b82018360208201111561027357600080fd5b803590602001918460208302840111600160201b8311171561029457600080fd5b5090925090506106e6565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b1580156102f857600080fd5b505afa15801561030c573d6000803e3d6000fd5b505050506040513d602081101561032257600080fd5b50516001600160a01b0316331461036a5760405162461bcd60e51b815260040180806020018281038252603081526020018061076c6030913960400191505060405180910390fd5b6000805460ff191681556040517f5bdd44d9f5f422abde8aaa5dd85f080c02b9d9fb852d2a06588bf7d773b350919190a1565b6001600160a01b039081166000908152600160205260409020541690565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561041457600080fd5b505afa158015610428573d6000803e3d6000fd5b505050506040513d602081101561043e57600080fd5b50516001600160a01b031633146104865760405162461bcd60e51b815260040180806020018281038252603081526020018061076c6030913960400191505060405180910390fd5b60005b8381101561053e57600085858381811061049f57fe5b905060200201356001600160a01b0316905060008484848181106104bf57fe5b6001600160a01b0385811660008181526001602090815260409182902080546001600160a01b031916958202979097013593909316938417909555845190815290810182905283519194507f6b1b985cb1b93b43234af26626ce9f43bbaad37c2c3f1df61a7686bb872648db9390829003019150a15050600101610489565b5050505050565b60005b818110156105ca5782828281811061055c57fe5b905060200201356001600160a01b03166001600160a01b0316637f15233f6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156105a657600080fd5b505af11580156105ba573d6000803e3d6000fd5b5050600190920191506105489050565b505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561062857600080fd5b505afa15801561063c573d6000803e3d6000fd5b505050506040513d602081101561065257600080fd5b50516001600160a01b0316331461069a5760405162461bcd60e51b815260040180806020018281038252603081526020018061076c6030913960400191505060405180910390fd5b6000805461ff00191681556040517ff5e3ae19c07f26be0de6a5962096aed0b7c2a2d4d5634032b4a862da9f943f0c9190a1565b600054610100900460ff1690565b60005460ff161590565b60005b818110156105ca578282828181106106fd57fe5b905060200201356001600160a01b03166001600160a01b0316632d13e0516040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561074757600080fd5b505af115801561075b573d6000803e3d6000fd5b5050600190920191506106e9905056fe4f6e6c79207468652044697370617463686572206f776e65722063616e2063616c6c20746869732066756e6374696f6ea164736f6c634300060c000a", - "sourceMap": "614:3574:33:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2276:133;;;:::i;:::-;;3470:196;;;;;;;;;;;;;;;;-1:-1:-1;3470:196:33;-1:-1:-1;;;;;3470:196:33;;:::i;:::-;;;;-1:-1:-1;;;;;3470:196:33;;;;;;;;;;;;;;2594:435;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2594:435:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2594:435:33;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2594:435:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2594:435:33;;;;;;;;;;-1:-1:-1;2594:435:33;;-1:-1:-1;2594:435:33;-1:-1:-1;2594:435:33;:::i;1904:229::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1904:229:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1904:229:33;;;;;;;;;;-1:-1:-1;1904:229:33;;-1:-1:-1;1904:229:33;-1:-1:-1;1904:229:33;:::i;3069:130::-;;;:::i;4077:109::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;3813:112;;;:::i;1552:214::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1552:214:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1552:214:33;;;;;;;;;;-1:-1:-1;1552:214:33;;-1:-1:-1;1552:214:33;-1:-1:-1;1552:214:33;:::i;2276:133::-;1049:10;-1:-1:-1;;;;;1037:32:33;;:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1037:34:33;-1:-1:-1;;;;;1023:48:33;:10;:48;1002:143;;;;-1:-1:-1;;;1002:143:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2363:5:::1;2341:27:::0;;-1:-1:-1;;2341:27:33::1;::::0;;2384:18:::1;::::0;::::1;::::0;2363:5;2384:18:::1;2276:133::o:0;3470:196::-;-1:-1:-1;;;;;3621:38:33;;;3578:20;3621:38;;;:24;:38;;;;;;;;3470:196::o;2594:435::-;1049:10;-1:-1:-1;;;;;1037:32:33;;:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1037:34:33;-1:-1:-1;;;;;1023:48:33;:10;:48;1002:143;;;;-1:-1:-1;;;1002:143:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2744:9:::1;2739:284;2755:24:::0;;::::1;2739:284;;;2800:19;2822:13;;2836:1;2822:16;;;;;;;;;;;;;-1:-1:-1::0;;;;;2822:16:33::1;2800:38;;2852:19;2874:13;;2888:1;2874:16;;;;;;;-1:-1:-1::0;;;;;2905:37:33;;::::1;;::::0;;;:24:::1;2874:16;2905:37:::0;;;;;;;;:51;;-1:-1:-1;;;;;;2905:51:33::1;2874:16:::0;;::::1;::::0;;;::::1;;::::0;;;::::1;2905:51:::0;;::::1;::::0;;;2976:36;;;;;;;::::1;::::0;;;;;2874:16;;-1:-1:-1;2976:36:33::1;::::0;;;;;;;-1:-1:-1;2976:36:33::1;-1:-1:-1::0;;2781:3:33::1;;2739:284;;;;2594:435:::0;;;;:::o;1904:229::-;1992:9;1987:140;2003:19;;;1987:140;;;2069:8;;2078:1;2069:11;;;;;;;;;;;;;-1:-1:-1;;;;;2069:11:33;-1:-1:-1;;;;;2043:71:33;;:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2024:3:33;;;;;-1:-1:-1;1987:140:33;;-1:-1:-1;1987:140:33;;;1904:229;;:::o;3069:130::-;1049:10;-1:-1:-1;;;;;1037:32:33;;:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1037:34:33;-1:-1:-1;;;;;1023:48:33;:10;:48;1002:143;;;;-1:-1:-1;;;1002:143:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3154:5:::1;3135:24:::0;;-1:-1:-1;;3135:24:33::1;::::0;;3175:17:::1;::::0;::::1;::::0;3154:5;3175:17:::1;3069:130::o:0;4077:109::-;4131:13;4163:16;;;;;;;4077:109::o;3813:112::-;3866:13;3899:19;;;3898:20;3813:112;:::o;1552:214::-;1639:9;1634:126;1650:19;;;1634:126;;;1716:8;;1725:1;1716:11;;;;;;;;;;;;;-1:-1:-1;;;;;1716:11:33;-1:-1:-1;;;;;1690:57:33;;:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1671:3:33;;;;;-1:-1:-1;1634:126:33;;-1:-1:-1;1634:126:33", - "linkReferences": {}, - "immutableReferences": { - "5314": [ - { - "start": 673, - "length": 32 - }, - { - "start": 957, - "length": 32 - }, - { - "start": 1489, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "allowMigration()": "35d69059", - "freezeSnapshots()": "66e97339", - "getPoolTokenV2FromPoolTokenV1(address)": "37dd8196", - "mapPools(address[],address[])": "50b6af1a", - "migrateExternalPositions(address[])": "f0da6da0", - "migrationIsAllowed()": "9cf7922f", - "snapshotExternalPositions(address[])": "5456b048", - "snapshotsAreAllowed()": "8580eb5b" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_dispacher\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"MigrationAllowed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"poolTokenV1\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"poolTokenV2\",\"type\":\"address\"}],\"name\":\"PoolMapped\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"SnapshotsFrozen\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"allowMigration\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"freezeSnapshots\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_poolTokenV1\",\"type\":\"address\"}],\"name\":\"getPoolTokenV2FromPoolTokenV1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"poolTokenV2_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_poolTokensV1\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"_poolTokensV2\",\"type\":\"address[]\"}],\"name\":\"mapPools\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_proxies\",\"type\":\"address[]\"}],\"name\":\"migrateExternalPositions\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"migrationIsAllowed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"allowed_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_proxies\",\"type\":\"address[]\"}],\"name\":\"snapshotExternalPositions\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"snapshotsAreAllowed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"allowed_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"getPoolTokenV2FromPoolTokenV1(address)\":{\"params\":{\"_poolTokenV1\":\"The Maple Pool Token v1\"},\"returns\":{\"poolTokenV2_\":\"The Maple Pool Token v2\"}},\"mapPools(address[],address[])\":{\"params\":{\"_poolTokensV1\":\"The Maple Pool Tokens v1\",\"_poolTokensV2\":\"The Maple Pool Tokens v2\"}},\"migrateExternalPositions(address[])\":{\"details\":\"No need to validate _proxies\"},\"migrationIsAllowed()\":{\"returns\":{\"allowed_\":\"True if migration is allowed\"}},\"snapshotExternalPositions(address[])\":{\"details\":\"No need to validate _proxies\"},\"snapshotsAreAllowed()\":{\"returns\":{\"allowed_\":\"True if snapshots are allowed\"}}},\"title\":\"MapleV1ToV2PoolMapper Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"allowMigration()\":{\"notice\":\"Allows external positions to migrate their pools using the pool mapping\"},\"freezeSnapshots()\":{\"notice\":\"Freezes snapshots\"},\"getPoolTokenV2FromPoolTokenV1(address)\":{\"notice\":\"Gets the Maple Pool Token v2 associated to a given Maple Pool Token v1\"},\"mapPools(address[],address[])\":{\"notice\":\"Associates Maple Pool Tokens v1 to their v2 equivalent\"},\"migrateExternalPositions(address[])\":{\"notice\":\"Runs pool migration logic on the proxy of each MapleLiquidityPosition\"},\"migrationIsAllowed()\":{\"notice\":\"Checks whether pool migration is allowed for Enzyme external positions\"},\"snapshotExternalPositions(address[])\":{\"notice\":\"Runs MPTv1 snapshotting logic on the proxy of each MapleLiquidityPosition\"},\"snapshotsAreAllowed()\":{\"notice\":\"Checks whether pool v1 snapshots are allowed for Enzyme external positions\"}},\"notice\":\"A contract for associating Maple v1 to Maple v2 pools\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/external-positions/maple-liquidity/MapleV1ToV2PoolMapper.sol\":\"MapleV1ToV2PoolMapper\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/persistent/external-positions/maple-liquidity/MapleLiquidityPositionLibBase1.sol\":{\"keccak256\":\"0x9a724ee1ac70895952f895738b12a45dc07ccde96a637282a502deb399d03434\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://779cd983ca59fe27cd359633bedf3ec7528e9c85763ef8f98ddf10de9e4de500\",\"dweb:/ipfs/QmUydfGbroct2beqBr3jBQWZ5fkFbxE4mqZYeBAukWTTBn\"]},\"contracts/persistent/external-positions/maple-liquidity/MapleLiquidityPositionLibBase2.sol\":{\"keccak256\":\"0x52e9c07b8631e3a3232bcf5e86a620e5cef0fa8d82f0e93d618426ed65865452\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://08291761466668b268eb9807e94cad3467e43b428dbe63ec720b63c0938f781a\",\"dweb:/ipfs/QmbupryF8vt697Huug7wpmD6b2rYAQT7L3myFRhhQUtTEr\"]},\"contracts/persistent/external-positions/maple-liquidity/MapleV1ToV2PoolMapper.sol\":{\"keccak256\":\"0x1031d9e2bbff5e6170ea344a210cd21fd08aa1a21c0bde2756a404b576f03661\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://04bcfd4d401ec7407923a29b2e45ea0362e5dd659d3740005ef60d92242fd909\",\"dweb:/ipfs/QmawyR4WnBQyLBVFMAMaAM5HFMmEvmiekLMrJLJgcGSTwS\"]},\"contracts/release/extensions/external-position-manager/external-positions/maple-liquidity/IMapleLiquidityPosition.sol\":{\"keccak256\":\"0x03da4c15035e629dcfaa6822176fdbcf62dd1d5a5c8ccccd0d95344c8048a470\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://fde66e251e197ad0e1f514359dc02a3007bcfded3c081691860ce211c4aa89e4\",\"dweb:/ipfs/QmSADCmqGtbWDxs5G3GfdaC6NbK91qxAu95FJHiSGkuo2v\"]},\"contracts/release/extensions/external-position-manager/external-positions/maple-liquidity/MapleLiquidityPositionDataDecoder.sol\":{\"keccak256\":\"0xd27d4afc91940a9dc2b2ea83ba11a1b98ae07e2165436826af0558c91edd12f4\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://672ed71da75cee7c500255b0c91dba9eef16c3b295ec1eadbbd413d8be34c6e9\",\"dweb:/ipfs/QmaPHi5HajA6Wug9ruvQ6wuGNAFUYBv4QFrrFWtigQHM5e\"]},\"contracts/release/extensions/external-position-manager/external-positions/maple-liquidity/MapleLiquidityPositionLib.sol\":{\"keccak256\":\"0xc57e3572bff9393b1642a90342075cbb691e98b4b73b561be22e15e6158f5bb0\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8c9be06c015bc205780b07b264df81c08be5a4e596f974d61aa0ccdcdacde6ec\",\"dweb:/ipfs/QmXnCeq7Yut53y1EXt5XGVL9Wwh29zCPNoLyphAD3YGumi\"]},\"contracts/release/interfaces/IERC4626.sol\":{\"keccak256\":\"0xc9406d483e6f69717c0a12af680a4c247131f3049f3d7e787b3fb128ff02e2ab\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://823c5781608234371ae2ee9982d1c47fe752c3224fb4b7d189ef51248506dd2a\",\"dweb:/ipfs/QmUJfDq1psF7vTWLe3FXr1TaPS8kRBGfRR6snGtrrtVrFL\"]},\"contracts/release/interfaces/IMapleV1MplRewards.sol\":{\"keccak256\":\"0x9fb171f91da0330d7139632907c0404002699a4cae9cb409a64c0898954b3f90\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://4e61ca593a55cc04b7a4283352cceab8e8249147e4c33fe3790cface7853ebc6\",\"dweb:/ipfs/QmPsc5s4wKDQcu3Tx7ZPJizPzLRTY9bHiywK3iL9gvnQK8\"]},\"contracts/release/interfaces/IMapleV1Pool.sol\":{\"keccak256\":\"0x46e635c8ae53a2156c7331f381bbf69c4085a97e20b549fcea9c9425aaafa5f8\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://548dffe449da6fb3c6f0cd6253aad5c274e6b13d55a649181b36be9aa9898417\",\"dweb:/ipfs/QmVdmYzRo1NCVFmbyHcUeRsCTwhVrdAWNqdAaSJ4o79Jmh\"]},\"contracts/release/interfaces/IMapleV2Pool.sol\":{\"keccak256\":\"0x628fcf182f99fd5be22272244f8106a551578de4bf3df105eb8ab42092c5cb05\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://efe4ae3736fd54ec2639621cdc1c245655e899cfa6da046476284ce0830f79de\",\"dweb:/ipfs/QmUoPG6ZBjDJ2Up8eHVZwfY3vgiXTv66Utct4D19tq4ZD8\"]},\"contracts/release/interfaces/IMapleV2PoolManager.sol\":{\"keccak256\":\"0xc4de35e316205863bf63e66749c9cc4af8f50ebfce1fea39378da2740645a914\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://0bc5f3c9502ae74d8ae7fc9e078eebb8185eb4fd3cf42eb0f531d116cdc63e59\",\"dweb:/ipfs/QmScJCCGHM1grtPKnZGmvXbPY6HVZosrwYESD71mBVDE9w\"]},\"contracts/release/interfaces/IMapleV2WithdrawalManager.sol\":{\"keccak256\":\"0x52edc67174fbb7829efcab6863d011e6b41106315d47c649bee96621020896ae\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://51a0f7bda1ef4999fc91071264fa39481e56d5f8702818926a13afd99ade4fb9\",\"dweb:/ipfs/QmPNiCaYwnvQU5HRSALKeDYwRHRorSVMXQ4Br394x4Fzys\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"contracts/release/utils/Uint256ArrayLib.sol\":{\"keccak256\":\"0x1627d0d32692b86c5dd3e74ebb8305fbf99a3c41d4b90e736077762cc80c1a31\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://54ff92ccd4bd685dda44c2520e3f52478168e909b400c3cc4076d37f5c2704ef\",\"dweb:/ipfs/QmYUxeaKfPwnUtP35i6JJ3ptsaDFEV6SD2o4VV8d5vBUZD\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_dispacher", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "type": "event", - "name": "MigrationAllowed", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "poolTokenV1", - "type": "address", - "indexed": false - }, - { - "internalType": "address", - "name": "poolTokenV2", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "PoolMapped", - "anonymous": false - }, - { - "inputs": [], - "type": "event", - "name": "SnapshotsFrozen", - "anonymous": false - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "allowMigration" - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "freezeSnapshots" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_poolTokenV1", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getPoolTokenV2FromPoolTokenV1", - "outputs": [ - { - "internalType": "address", - "name": "poolTokenV2_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_poolTokensV1", - "type": "address[]" - }, - { - "internalType": "address[]", - "name": "_poolTokensV2", - "type": "address[]" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "mapPools" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_proxies", - "type": "address[]" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "migrateExternalPositions" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "migrationIsAllowed", - "outputs": [ - { - "internalType": "bool", - "name": "allowed_", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_proxies", - "type": "address[]" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "snapshotExternalPositions" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "snapshotsAreAllowed", - "outputs": [ - { - "internalType": "bool", - "name": "allowed_", - "type": "bool" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "getPoolTokenV2FromPoolTokenV1(address)": { - "params": { - "_poolTokenV1": "The Maple Pool Token v1" - }, - "returns": { - "poolTokenV2_": "The Maple Pool Token v2" - } - }, - "mapPools(address[],address[])": { - "params": { - "_poolTokensV1": "The Maple Pool Tokens v1", - "_poolTokensV2": "The Maple Pool Tokens v2" - } - }, - "migrateExternalPositions(address[])": { - "details": "No need to validate _proxies" - }, - "migrationIsAllowed()": { - "returns": { - "allowed_": "True if migration is allowed" - } - }, - "snapshotExternalPositions(address[])": { - "details": "No need to validate _proxies" - }, - "snapshotsAreAllowed()": { - "returns": { - "allowed_": "True if snapshots are allowed" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "allowMigration()": { - "notice": "Allows external positions to migrate their pools using the pool mapping" - }, - "freezeSnapshots()": { - "notice": "Freezes snapshots" - }, - "getPoolTokenV2FromPoolTokenV1(address)": { - "notice": "Gets the Maple Pool Token v2 associated to a given Maple Pool Token v1" - }, - "mapPools(address[],address[])": { - "notice": "Associates Maple Pool Tokens v1 to their v2 equivalent" - }, - "migrateExternalPositions(address[])": { - "notice": "Runs pool migration logic on the proxy of each MapleLiquidityPosition" - }, - "migrationIsAllowed()": { - "notice": "Checks whether pool migration is allowed for Enzyme external positions" - }, - "snapshotExternalPositions(address[])": { - "notice": "Runs MPTv1 snapshotting logic on the proxy of each MapleLiquidityPosition" - }, - "snapshotsAreAllowed()": { - "notice": "Checks whether pool v1 snapshots are allowed for Enzyme external positions" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/persistent/external-positions/maple-liquidity/MapleV1ToV2PoolMapper.sol": "MapleV1ToV2PoolMapper" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/dispatcher/IDispatcher.sol": { - "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", - "urls": [ - "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", - "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/external-positions/IExternalPosition.sol": { - "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", - "urls": [ - "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", - "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/external-positions/maple-liquidity/MapleLiquidityPositionLibBase1.sol": { - "keccak256": "0x9a724ee1ac70895952f895738b12a45dc07ccde96a637282a502deb399d03434", - "urls": [ - "bzz-raw://779cd983ca59fe27cd359633bedf3ec7528e9c85763ef8f98ddf10de9e4de500", - "dweb:/ipfs/QmUydfGbroct2beqBr3jBQWZ5fkFbxE4mqZYeBAukWTTBn" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/external-positions/maple-liquidity/MapleLiquidityPositionLibBase2.sol": { - "keccak256": "0x52e9c07b8631e3a3232bcf5e86a620e5cef0fa8d82f0e93d618426ed65865452", - "urls": [ - "bzz-raw://08291761466668b268eb9807e94cad3467e43b428dbe63ec720b63c0938f781a", - "dweb:/ipfs/QmbupryF8vt697Huug7wpmD6b2rYAQT7L3myFRhhQUtTEr" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/external-positions/maple-liquidity/MapleV1ToV2PoolMapper.sol": { - "keccak256": "0x1031d9e2bbff5e6170ea344a210cd21fd08aa1a21c0bde2756a404b576f03661", - "urls": [ - "bzz-raw://04bcfd4d401ec7407923a29b2e45ea0362e5dd659d3740005ef60d92242fd909", - "dweb:/ipfs/QmawyR4WnBQyLBVFMAMaAM5HFMmEvmiekLMrJLJgcGSTwS" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/maple-liquidity/IMapleLiquidityPosition.sol": { - "keccak256": "0x03da4c15035e629dcfaa6822176fdbcf62dd1d5a5c8ccccd0d95344c8048a470", - "urls": [ - "bzz-raw://fde66e251e197ad0e1f514359dc02a3007bcfded3c081691860ce211c4aa89e4", - "dweb:/ipfs/QmSADCmqGtbWDxs5G3GfdaC6NbK91qxAu95FJHiSGkuo2v" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/maple-liquidity/MapleLiquidityPositionDataDecoder.sol": { - "keccak256": "0xd27d4afc91940a9dc2b2ea83ba11a1b98ae07e2165436826af0558c91edd12f4", - "urls": [ - "bzz-raw://672ed71da75cee7c500255b0c91dba9eef16c3b295ec1eadbbd413d8be34c6e9", - "dweb:/ipfs/QmaPHi5HajA6Wug9ruvQ6wuGNAFUYBv4QFrrFWtigQHM5e" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/maple-liquidity/MapleLiquidityPositionLib.sol": { - "keccak256": "0xc57e3572bff9393b1642a90342075cbb691e98b4b73b561be22e15e6158f5bb0", - "urls": [ - "bzz-raw://8c9be06c015bc205780b07b264df81c08be5a4e596f974d61aa0ccdcdacde6ec", - "dweb:/ipfs/QmXnCeq7Yut53y1EXt5XGVL9Wwh29zCPNoLyphAD3YGumi" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IERC4626.sol": { - "keccak256": "0xc9406d483e6f69717c0a12af680a4c247131f3049f3d7e787b3fb128ff02e2ab", - "urls": [ - "bzz-raw://823c5781608234371ae2ee9982d1c47fe752c3224fb4b7d189ef51248506dd2a", - "dweb:/ipfs/QmUJfDq1psF7vTWLe3FXr1TaPS8kRBGfRR6snGtrrtVrFL" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IMapleV1MplRewards.sol": { - "keccak256": "0x9fb171f91da0330d7139632907c0404002699a4cae9cb409a64c0898954b3f90", - "urls": [ - "bzz-raw://4e61ca593a55cc04b7a4283352cceab8e8249147e4c33fe3790cface7853ebc6", - "dweb:/ipfs/QmPsc5s4wKDQcu3Tx7ZPJizPzLRTY9bHiywK3iL9gvnQK8" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IMapleV1Pool.sol": { - "keccak256": "0x46e635c8ae53a2156c7331f381bbf69c4085a97e20b549fcea9c9425aaafa5f8", - "urls": [ - "bzz-raw://548dffe449da6fb3c6f0cd6253aad5c274e6b13d55a649181b36be9aa9898417", - "dweb:/ipfs/QmVdmYzRo1NCVFmbyHcUeRsCTwhVrdAWNqdAaSJ4o79Jmh" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IMapleV2Pool.sol": { - "keccak256": "0x628fcf182f99fd5be22272244f8106a551578de4bf3df105eb8ab42092c5cb05", - "urls": [ - "bzz-raw://efe4ae3736fd54ec2639621cdc1c245655e899cfa6da046476284ce0830f79de", - "dweb:/ipfs/QmUoPG6ZBjDJ2Up8eHVZwfY3vgiXTv66Utct4D19tq4ZD8" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IMapleV2PoolManager.sol": { - "keccak256": "0xc4de35e316205863bf63e66749c9cc4af8f50ebfce1fea39378da2740645a914", - "urls": [ - "bzz-raw://0bc5f3c9502ae74d8ae7fc9e078eebb8185eb4fd3cf42eb0f531d116cdc63e59", - "dweb:/ipfs/QmScJCCGHM1grtPKnZGmvXbPY6HVZosrwYESD71mBVDE9w" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IMapleV2WithdrawalManager.sol": { - "keccak256": "0x52edc67174fbb7829efcab6863d011e6b41106315d47c649bee96621020896ae", - "urls": [ - "bzz-raw://51a0f7bda1ef4999fc91071264fa39481e56d5f8702818926a13afd99ade4fb9", - "dweb:/ipfs/QmPNiCaYwnvQU5HRSALKeDYwRHRorSVMXQ4Br394x4Fzys" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AddressArrayLib.sol": { - "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", - "urls": [ - "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", - "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AssetHelpers.sol": { - "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", - "urls": [ - "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", - "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/Uint256ArrayLib.sol": { - "keccak256": "0x1627d0d32692b86c5dd3e74ebb8305fbf99a3c41d4b90e736077762cc80c1a31", - "urls": [ - "bzz-raw://54ff92ccd4bd685dda44c2520e3f52478168e909b400c3cc4076d37f5c2704ef", - "dweb:/ipfs/QmYUxeaKfPwnUtP35i6JJ3ptsaDFEV6SD2o4VV8d5vBUZD" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { - "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", - "urls": [ - "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", - "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Address.sol": { - "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", - "urls": [ - "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", - "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 33 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_dispacher", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "allowMigration", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "freezeSnapshots", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "getPoolTokenV2FromPoolTokenV1", "inputs": [ { "name": "_poolTokenV1", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "poolTokenV2_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "mapPools", "inputs": [ { "name": "_poolTokensV1", "type": "address[]", "internalType": "address[]" }, { "name": "_poolTokensV2", "type": "address[]", "internalType": "address[]" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "migrateExternalPositions", "inputs": [ { "name": "_proxies", "type": "address[]", "internalType": "address[]" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "migrationIsAllowed", "inputs": [], "outputs": [ { "name": "allowed_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "snapshotExternalPositions", "inputs": [ { "name": "_proxies", "type": "address[]", "internalType": "address[]" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "snapshotsAreAllowed", "inputs": [], "outputs": [ { "name": "allowed_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "event", "name": "MigrationAllowed", "inputs": [], "anonymous": false }, { "type": "event", "name": "PoolMapped", "inputs": [ { "name": "poolTokenV1", "type": "address", "indexed": false, "internalType": "address" }, { "name": "poolTokenV2", "type": "address", "indexed": false, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "SnapshotsFrozen", "inputs": [], "anonymous": false } ], "bytecode": { "object": "0x60a060405234801561001057600080fd5b5060405161082f38038061082f8339818101604052602081101561003357600080fd5b50516001600160601b031960609190911b166080526000805461ff001960ff199091166001171661010017905560805160601c6107a8610087600039806102a152806103bd52806105d152506107a86000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c806366e973391161005b57806366e97339146102055780638580eb5b1461020d5780639cf7922f14610229578063f0da6da01461023157610088565b806335d690591461008d57806337dd81961461009757806350b6af1a146100d95780635456b04814610197575b600080fd5b61009561029f565b005b6100bd600480360360208110156100ad57600080fd5b50356001600160a01b031661039d565b604080516001600160a01b039092168252519081900360200190f35b610095600480360360408110156100ef57600080fd5b810190602081018135600160201b81111561010957600080fd5b82018360208201111561011b57600080fd5b803590602001918460208302840111600160201b8311171561013c57600080fd5b919390929091602081019035600160201b81111561015957600080fd5b82018360208201111561016b57600080fd5b803590602001918460208302840111600160201b8311171561018c57600080fd5b5090925090506103bb565b610095600480360360208110156101ad57600080fd5b810190602081018135600160201b8111156101c757600080fd5b8201836020820111156101d957600080fd5b803590602001918460208302840111600160201b831117156101fa57600080fd5b509092509050610545565b6100956105cf565b6102156106ce565b604080519115158252519081900360200190f35b6102156106dc565b6100956004803603602081101561024757600080fd5b810190602081018135600160201b81111561026157600080fd5b82018360208201111561027357600080fd5b803590602001918460208302840111600160201b8311171561029457600080fd5b5090925090506106e6565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b1580156102f857600080fd5b505afa15801561030c573d6000803e3d6000fd5b505050506040513d602081101561032257600080fd5b50516001600160a01b0316331461036a5760405162461bcd60e51b815260040180806020018281038252603081526020018061076c6030913960400191505060405180910390fd5b6000805460ff191681556040517f5bdd44d9f5f422abde8aaa5dd85f080c02b9d9fb852d2a06588bf7d773b350919190a1565b6001600160a01b039081166000908152600160205260409020541690565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561041457600080fd5b505afa158015610428573d6000803e3d6000fd5b505050506040513d602081101561043e57600080fd5b50516001600160a01b031633146104865760405162461bcd60e51b815260040180806020018281038252603081526020018061076c6030913960400191505060405180910390fd5b60005b8381101561053e57600085858381811061049f57fe5b905060200201356001600160a01b0316905060008484848181106104bf57fe5b6001600160a01b0385811660008181526001602090815260409182902080546001600160a01b031916958202979097013593909316938417909555845190815290810182905283519194507f6b1b985cb1b93b43234af26626ce9f43bbaad37c2c3f1df61a7686bb872648db9390829003019150a15050600101610489565b5050505050565b60005b818110156105ca5782828281811061055c57fe5b905060200201356001600160a01b03166001600160a01b0316637f15233f6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156105a657600080fd5b505af11580156105ba573d6000803e3d6000fd5b5050600190920191506105489050565b505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561062857600080fd5b505afa15801561063c573d6000803e3d6000fd5b505050506040513d602081101561065257600080fd5b50516001600160a01b0316331461069a5760405162461bcd60e51b815260040180806020018281038252603081526020018061076c6030913960400191505060405180910390fd5b6000805461ff00191681556040517ff5e3ae19c07f26be0de6a5962096aed0b7c2a2d4d5634032b4a862da9f943f0c9190a1565b600054610100900460ff1690565b60005460ff161590565b60005b818110156105ca578282828181106106fd57fe5b905060200201356001600160a01b03166001600160a01b0316632d13e0516040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561074757600080fd5b505af115801561075b573d6000803e3d6000fd5b5050600190920191506106e9905056fe4f6e6c79207468652044697370617463686572206f776e65722063616e2063616c6c20746869732066756e6374696f6ea164736f6c634300060c000a", "sourceMap": "614:3574:33:-:0;;;1169:149;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1169:149:33;-1:-1:-1;;;;;;1218:23:33;;;;;;;;1252:19;:26;;-1:-1:-1;;;;1252:26:33;;;1274:4;1252:26;1288:23;1252:26;1288:23;;;614:3574;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106100885760003560e01c806366e973391161005b57806366e97339146102055780638580eb5b1461020d5780639cf7922f14610229578063f0da6da01461023157610088565b806335d690591461008d57806337dd81961461009757806350b6af1a146100d95780635456b04814610197575b600080fd5b61009561029f565b005b6100bd600480360360208110156100ad57600080fd5b50356001600160a01b031661039d565b604080516001600160a01b039092168252519081900360200190f35b610095600480360360408110156100ef57600080fd5b810190602081018135600160201b81111561010957600080fd5b82018360208201111561011b57600080fd5b803590602001918460208302840111600160201b8311171561013c57600080fd5b919390929091602081019035600160201b81111561015957600080fd5b82018360208201111561016b57600080fd5b803590602001918460208302840111600160201b8311171561018c57600080fd5b5090925090506103bb565b610095600480360360208110156101ad57600080fd5b810190602081018135600160201b8111156101c757600080fd5b8201836020820111156101d957600080fd5b803590602001918460208302840111600160201b831117156101fa57600080fd5b509092509050610545565b6100956105cf565b6102156106ce565b604080519115158252519081900360200190f35b6102156106dc565b6100956004803603602081101561024757600080fd5b810190602081018135600160201b81111561026157600080fd5b82018360208201111561027357600080fd5b803590602001918460208302840111600160201b8311171561029457600080fd5b5090925090506106e6565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b1580156102f857600080fd5b505afa15801561030c573d6000803e3d6000fd5b505050506040513d602081101561032257600080fd5b50516001600160a01b0316331461036a5760405162461bcd60e51b815260040180806020018281038252603081526020018061076c6030913960400191505060405180910390fd5b6000805460ff191681556040517f5bdd44d9f5f422abde8aaa5dd85f080c02b9d9fb852d2a06588bf7d773b350919190a1565b6001600160a01b039081166000908152600160205260409020541690565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561041457600080fd5b505afa158015610428573d6000803e3d6000fd5b505050506040513d602081101561043e57600080fd5b50516001600160a01b031633146104865760405162461bcd60e51b815260040180806020018281038252603081526020018061076c6030913960400191505060405180910390fd5b60005b8381101561053e57600085858381811061049f57fe5b905060200201356001600160a01b0316905060008484848181106104bf57fe5b6001600160a01b0385811660008181526001602090815260409182902080546001600160a01b031916958202979097013593909316938417909555845190815290810182905283519194507f6b1b985cb1b93b43234af26626ce9f43bbaad37c2c3f1df61a7686bb872648db9390829003019150a15050600101610489565b5050505050565b60005b818110156105ca5782828281811061055c57fe5b905060200201356001600160a01b03166001600160a01b0316637f15233f6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156105a657600080fd5b505af11580156105ba573d6000803e3d6000fd5b5050600190920191506105489050565b505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561062857600080fd5b505afa15801561063c573d6000803e3d6000fd5b505050506040513d602081101561065257600080fd5b50516001600160a01b0316331461069a5760405162461bcd60e51b815260040180806020018281038252603081526020018061076c6030913960400191505060405180910390fd5b6000805461ff00191681556040517ff5e3ae19c07f26be0de6a5962096aed0b7c2a2d4d5634032b4a862da9f943f0c9190a1565b600054610100900460ff1690565b60005460ff161590565b60005b818110156105ca578282828181106106fd57fe5b905060200201356001600160a01b03166001600160a01b0316632d13e0516040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561074757600080fd5b505af115801561075b573d6000803e3d6000fd5b5050600190920191506106e9905056fe4f6e6c79207468652044697370617463686572206f776e65722063616e2063616c6c20746869732066756e6374696f6ea164736f6c634300060c000a", "sourceMap": "614:3574:33:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2276:133;;;:::i;:::-;;3470:196;;;;;;;;;;;;;;;;-1:-1:-1;3470:196:33;-1:-1:-1;;;;;3470:196:33;;:::i;:::-;;;;-1:-1:-1;;;;;3470:196:33;;;;;;;;;;;;;;2594:435;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2594:435:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2594:435:33;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2594:435:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2594:435:33;;;;;;;;;;-1:-1:-1;2594:435:33;;-1:-1:-1;2594:435:33;-1:-1:-1;2594:435:33;:::i;1904:229::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1904:229:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1904:229:33;;;;;;;;;;-1:-1:-1;1904:229:33;;-1:-1:-1;1904:229:33;-1:-1:-1;1904:229:33;:::i;3069:130::-;;;:::i;4077:109::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;3813:112;;;:::i;1552:214::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1552:214:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1552:214:33;;;;;;;;;;-1:-1:-1;1552:214:33;;-1:-1:-1;1552:214:33;-1:-1:-1;1552:214:33;:::i;2276:133::-;1049:10;-1:-1:-1;;;;;1037:32:33;;:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1037:34:33;-1:-1:-1;;;;;1023:48:33;:10;:48;1002:143;;;;-1:-1:-1;;;1002:143:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2363:5:::1;2341:27:::0;;-1:-1:-1;;2341:27:33::1;::::0;;2384:18:::1;::::0;::::1;::::0;2363:5;2384:18:::1;2276:133::o:0;3470:196::-;-1:-1:-1;;;;;3621:38:33;;;3578:20;3621:38;;;:24;:38;;;;;;;;3470:196::o;2594:435::-;1049:10;-1:-1:-1;;;;;1037:32:33;;:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1037:34:33;-1:-1:-1;;;;;1023:48:33;:10;:48;1002:143;;;;-1:-1:-1;;;1002:143:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2744:9:::1;2739:284;2755:24:::0;;::::1;2739:284;;;2800:19;2822:13;;2836:1;2822:16;;;;;;;;;;;;;-1:-1:-1::0;;;;;2822:16:33::1;2800:38;;2852:19;2874:13;;2888:1;2874:16;;;;;;;-1:-1:-1::0;;;;;2905:37:33;;::::1;;::::0;;;:24:::1;2874:16;2905:37:::0;;;;;;;;:51;;-1:-1:-1;;;;;;2905:51:33::1;2874:16:::0;;::::1;::::0;;;::::1;;::::0;;;::::1;2905:51:::0;;::::1;::::0;;;2976:36;;;;;;;::::1;::::0;;;;;2874:16;;-1:-1:-1;2976:36:33::1;::::0;;;;;;;-1:-1:-1;2976:36:33::1;-1:-1:-1::0;;2781:3:33::1;;2739:284;;;;2594:435:::0;;;;:::o;1904:229::-;1992:9;1987:140;2003:19;;;1987:140;;;2069:8;;2078:1;2069:11;;;;;;;;;;;;;-1:-1:-1;;;;;2069:11:33;-1:-1:-1;;;;;2043:71:33;;:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2024:3:33;;;;;-1:-1:-1;1987:140:33;;-1:-1:-1;1987:140:33;;;1904:229;;:::o;3069:130::-;1049:10;-1:-1:-1;;;;;1037:32:33;;:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1037:34:33;-1:-1:-1;;;;;1023:48:33;:10;:48;1002:143;;;;-1:-1:-1;;;1002:143:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3154:5:::1;3135:24:::0;;-1:-1:-1;;3135:24:33::1;::::0;;3175:17:::1;::::0;::::1;::::0;3154:5;3175:17:::1;3069:130::o:0;4077:109::-;4131:13;4163:16;;;;;;;4077:109::o;3813:112::-;3866:13;3899:19;;;3898:20;3813:112;:::o;1552:214::-;1639:9;1634:126;1650:19;;;1634:126;;;1716:8;;1725:1;1716:11;;;;;;;;;;;;;-1:-1:-1;;;;;1716:11:33;-1:-1:-1;;;;;1690:57:33;;:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1671:3:33;;;;;-1:-1:-1;1634:126:33;;-1:-1:-1;1634:126:33", "linkReferences": {}, "immutableReferences": { "5314": [ { "start": 673, "length": 32 }, { "start": 957, "length": 32 }, { "start": 1489, "length": 32 } ] } }, "methodIdentifiers": { "allowMigration()": "35d69059", "freezeSnapshots()": "66e97339", "getPoolTokenV2FromPoolTokenV1(address)": "37dd8196", "mapPools(address[],address[])": "50b6af1a", "migrateExternalPositions(address[])": "f0da6da0", "migrationIsAllowed()": "9cf7922f", "snapshotExternalPositions(address[])": "5456b048", "snapshotsAreAllowed()": "8580eb5b" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_dispacher\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"MigrationAllowed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"poolTokenV1\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"poolTokenV2\",\"type\":\"address\"}],\"name\":\"PoolMapped\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"SnapshotsFrozen\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"allowMigration\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"freezeSnapshots\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_poolTokenV1\",\"type\":\"address\"}],\"name\":\"getPoolTokenV2FromPoolTokenV1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"poolTokenV2_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_poolTokensV1\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"_poolTokensV2\",\"type\":\"address[]\"}],\"name\":\"mapPools\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_proxies\",\"type\":\"address[]\"}],\"name\":\"migrateExternalPositions\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"migrationIsAllowed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"allowed_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_proxies\",\"type\":\"address[]\"}],\"name\":\"snapshotExternalPositions\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"snapshotsAreAllowed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"allowed_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"getPoolTokenV2FromPoolTokenV1(address)\":{\"params\":{\"_poolTokenV1\":\"The Maple Pool Token v1\"},\"returns\":{\"poolTokenV2_\":\"The Maple Pool Token v2\"}},\"mapPools(address[],address[])\":{\"params\":{\"_poolTokensV1\":\"The Maple Pool Tokens v1\",\"_poolTokensV2\":\"The Maple Pool Tokens v2\"}},\"migrateExternalPositions(address[])\":{\"details\":\"No need to validate _proxies\"},\"migrationIsAllowed()\":{\"returns\":{\"allowed_\":\"True if migration is allowed\"}},\"snapshotExternalPositions(address[])\":{\"details\":\"No need to validate _proxies\"},\"snapshotsAreAllowed()\":{\"returns\":{\"allowed_\":\"True if snapshots are allowed\"}}},\"title\":\"MapleV1ToV2PoolMapper Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"allowMigration()\":{\"notice\":\"Allows external positions to migrate their pools using the pool mapping\"},\"freezeSnapshots()\":{\"notice\":\"Freezes snapshots\"},\"getPoolTokenV2FromPoolTokenV1(address)\":{\"notice\":\"Gets the Maple Pool Token v2 associated to a given Maple Pool Token v1\"},\"mapPools(address[],address[])\":{\"notice\":\"Associates Maple Pool Tokens v1 to their v2 equivalent\"},\"migrateExternalPositions(address[])\":{\"notice\":\"Runs pool migration logic on the proxy of each MapleLiquidityPosition\"},\"migrationIsAllowed()\":{\"notice\":\"Checks whether pool migration is allowed for Enzyme external positions\"},\"snapshotExternalPositions(address[])\":{\"notice\":\"Runs MPTv1 snapshotting logic on the proxy of each MapleLiquidityPosition\"},\"snapshotsAreAllowed()\":{\"notice\":\"Checks whether pool v1 snapshots are allowed for Enzyme external positions\"}},\"notice\":\"A contract for associating Maple v1 to Maple v2 pools\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/external-positions/maple-liquidity/MapleV1ToV2PoolMapper.sol\":\"MapleV1ToV2PoolMapper\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/persistent/external-positions/maple-liquidity/MapleLiquidityPositionLibBase1.sol\":{\"keccak256\":\"0x9a724ee1ac70895952f895738b12a45dc07ccde96a637282a502deb399d03434\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://779cd983ca59fe27cd359633bedf3ec7528e9c85763ef8f98ddf10de9e4de500\",\"dweb:/ipfs/QmUydfGbroct2beqBr3jBQWZ5fkFbxE4mqZYeBAukWTTBn\"]},\"contracts/persistent/external-positions/maple-liquidity/MapleLiquidityPositionLibBase2.sol\":{\"keccak256\":\"0x52e9c07b8631e3a3232bcf5e86a620e5cef0fa8d82f0e93d618426ed65865452\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://08291761466668b268eb9807e94cad3467e43b428dbe63ec720b63c0938f781a\",\"dweb:/ipfs/QmbupryF8vt697Huug7wpmD6b2rYAQT7L3myFRhhQUtTEr\"]},\"contracts/persistent/external-positions/maple-liquidity/MapleV1ToV2PoolMapper.sol\":{\"keccak256\":\"0x1031d9e2bbff5e6170ea344a210cd21fd08aa1a21c0bde2756a404b576f03661\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://04bcfd4d401ec7407923a29b2e45ea0362e5dd659d3740005ef60d92242fd909\",\"dweb:/ipfs/QmawyR4WnBQyLBVFMAMaAM5HFMmEvmiekLMrJLJgcGSTwS\"]},\"contracts/release/extensions/external-position-manager/external-positions/maple-liquidity/IMapleLiquidityPosition.sol\":{\"keccak256\":\"0x03da4c15035e629dcfaa6822176fdbcf62dd1d5a5c8ccccd0d95344c8048a470\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://fde66e251e197ad0e1f514359dc02a3007bcfded3c081691860ce211c4aa89e4\",\"dweb:/ipfs/QmSADCmqGtbWDxs5G3GfdaC6NbK91qxAu95FJHiSGkuo2v\"]},\"contracts/release/extensions/external-position-manager/external-positions/maple-liquidity/MapleLiquidityPositionDataDecoder.sol\":{\"keccak256\":\"0xd27d4afc91940a9dc2b2ea83ba11a1b98ae07e2165436826af0558c91edd12f4\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://672ed71da75cee7c500255b0c91dba9eef16c3b295ec1eadbbd413d8be34c6e9\",\"dweb:/ipfs/QmaPHi5HajA6Wug9ruvQ6wuGNAFUYBv4QFrrFWtigQHM5e\"]},\"contracts/release/extensions/external-position-manager/external-positions/maple-liquidity/MapleLiquidityPositionLib.sol\":{\"keccak256\":\"0xc57e3572bff9393b1642a90342075cbb691e98b4b73b561be22e15e6158f5bb0\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8c9be06c015bc205780b07b264df81c08be5a4e596f974d61aa0ccdcdacde6ec\",\"dweb:/ipfs/QmXnCeq7Yut53y1EXt5XGVL9Wwh29zCPNoLyphAD3YGumi\"]},\"contracts/release/interfaces/IERC4626.sol\":{\"keccak256\":\"0xc9406d483e6f69717c0a12af680a4c247131f3049f3d7e787b3fb128ff02e2ab\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://823c5781608234371ae2ee9982d1c47fe752c3224fb4b7d189ef51248506dd2a\",\"dweb:/ipfs/QmUJfDq1psF7vTWLe3FXr1TaPS8kRBGfRR6snGtrrtVrFL\"]},\"contracts/release/interfaces/IMapleV1MplRewards.sol\":{\"keccak256\":\"0x9fb171f91da0330d7139632907c0404002699a4cae9cb409a64c0898954b3f90\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://4e61ca593a55cc04b7a4283352cceab8e8249147e4c33fe3790cface7853ebc6\",\"dweb:/ipfs/QmPsc5s4wKDQcu3Tx7ZPJizPzLRTY9bHiywK3iL9gvnQK8\"]},\"contracts/release/interfaces/IMapleV1Pool.sol\":{\"keccak256\":\"0x46e635c8ae53a2156c7331f381bbf69c4085a97e20b549fcea9c9425aaafa5f8\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://548dffe449da6fb3c6f0cd6253aad5c274e6b13d55a649181b36be9aa9898417\",\"dweb:/ipfs/QmVdmYzRo1NCVFmbyHcUeRsCTwhVrdAWNqdAaSJ4o79Jmh\"]},\"contracts/release/interfaces/IMapleV2Pool.sol\":{\"keccak256\":\"0x628fcf182f99fd5be22272244f8106a551578de4bf3df105eb8ab42092c5cb05\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://efe4ae3736fd54ec2639621cdc1c245655e899cfa6da046476284ce0830f79de\",\"dweb:/ipfs/QmUoPG6ZBjDJ2Up8eHVZwfY3vgiXTv66Utct4D19tq4ZD8\"]},\"contracts/release/interfaces/IMapleV2PoolManager.sol\":{\"keccak256\":\"0xc4de35e316205863bf63e66749c9cc4af8f50ebfce1fea39378da2740645a914\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://0bc5f3c9502ae74d8ae7fc9e078eebb8185eb4fd3cf42eb0f531d116cdc63e59\",\"dweb:/ipfs/QmScJCCGHM1grtPKnZGmvXbPY6HVZosrwYESD71mBVDE9w\"]},\"contracts/release/interfaces/IMapleV2WithdrawalManager.sol\":{\"keccak256\":\"0x52edc67174fbb7829efcab6863d011e6b41106315d47c649bee96621020896ae\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://51a0f7bda1ef4999fc91071264fa39481e56d5f8702818926a13afd99ade4fb9\",\"dweb:/ipfs/QmPNiCaYwnvQU5HRSALKeDYwRHRorSVMXQ4Br394x4Fzys\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"contracts/release/utils/Uint256ArrayLib.sol\":{\"keccak256\":\"0x1627d0d32692b86c5dd3e74ebb8305fbf99a3c41d4b90e736077762cc80c1a31\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://54ff92ccd4bd685dda44c2520e3f52478168e909b400c3cc4076d37f5c2704ef\",\"dweb:/ipfs/QmYUxeaKfPwnUtP35i6JJ3ptsaDFEV6SD2o4VV8d5vBUZD\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_dispacher", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "type": "event", "name": "MigrationAllowed", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "poolTokenV1", "type": "address", "indexed": false }, { "internalType": "address", "name": "poolTokenV2", "type": "address", "indexed": false } ], "type": "event", "name": "PoolMapped", "anonymous": false }, { "inputs": [], "type": "event", "name": "SnapshotsFrozen", "anonymous": false }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "allowMigration" }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "freezeSnapshots" }, { "inputs": [ { "internalType": "address", "name": "_poolTokenV1", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getPoolTokenV2FromPoolTokenV1", "outputs": [ { "internalType": "address", "name": "poolTokenV2_", "type": "address" } ] }, { "inputs": [ { "internalType": "address[]", "name": "_poolTokensV1", "type": "address[]" }, { "internalType": "address[]", "name": "_poolTokensV2", "type": "address[]" } ], "stateMutability": "nonpayable", "type": "function", "name": "mapPools" }, { "inputs": [ { "internalType": "address[]", "name": "_proxies", "type": "address[]" } ], "stateMutability": "nonpayable", "type": "function", "name": "migrateExternalPositions" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "migrationIsAllowed", "outputs": [ { "internalType": "bool", "name": "allowed_", "type": "bool" } ] }, { "inputs": [ { "internalType": "address[]", "name": "_proxies", "type": "address[]" } ], "stateMutability": "nonpayable", "type": "function", "name": "snapshotExternalPositions" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "snapshotsAreAllowed", "outputs": [ { "internalType": "bool", "name": "allowed_", "type": "bool" } ] } ], "devdoc": { "kind": "dev", "methods": { "getPoolTokenV2FromPoolTokenV1(address)": { "params": { "_poolTokenV1": "The Maple Pool Token v1" }, "returns": { "poolTokenV2_": "The Maple Pool Token v2" } }, "mapPools(address[],address[])": { "params": { "_poolTokensV1": "The Maple Pool Tokens v1", "_poolTokensV2": "The Maple Pool Tokens v2" } }, "migrateExternalPositions(address[])": { "details": "No need to validate _proxies" }, "migrationIsAllowed()": { "returns": { "allowed_": "True if migration is allowed" } }, "snapshotExternalPositions(address[])": { "details": "No need to validate _proxies" }, "snapshotsAreAllowed()": { "returns": { "allowed_": "True if snapshots are allowed" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "allowMigration()": { "notice": "Allows external positions to migrate their pools using the pool mapping" }, "freezeSnapshots()": { "notice": "Freezes snapshots" }, "getPoolTokenV2FromPoolTokenV1(address)": { "notice": "Gets the Maple Pool Token v2 associated to a given Maple Pool Token v1" }, "mapPools(address[],address[])": { "notice": "Associates Maple Pool Tokens v1 to their v2 equivalent" }, "migrateExternalPositions(address[])": { "notice": "Runs pool migration logic on the proxy of each MapleLiquidityPosition" }, "migrationIsAllowed()": { "notice": "Checks whether pool migration is allowed for Enzyme external positions" }, "snapshotExternalPositions(address[])": { "notice": "Runs MPTv1 snapshotting logic on the proxy of each MapleLiquidityPosition" }, "snapshotsAreAllowed()": { "notice": "Checks whether pool v1 snapshots are allowed for Enzyme external positions" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/persistent/external-positions/maple-liquidity/MapleV1ToV2PoolMapper.sol": "MapleV1ToV2PoolMapper" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/dispatcher/IDispatcher.sol": { "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", "urls": [ "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" ], "license": "GPL-3.0" }, "contracts/persistent/external-positions/IExternalPosition.sol": { "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", "urls": [ "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" ], "license": "GPL-3.0" }, "contracts/persistent/external-positions/maple-liquidity/MapleLiquidityPositionLibBase1.sol": { "keccak256": "0x9a724ee1ac70895952f895738b12a45dc07ccde96a637282a502deb399d03434", "urls": [ "bzz-raw://779cd983ca59fe27cd359633bedf3ec7528e9c85763ef8f98ddf10de9e4de500", "dweb:/ipfs/QmUydfGbroct2beqBr3jBQWZ5fkFbxE4mqZYeBAukWTTBn" ], "license": "GPL-3.0" }, "contracts/persistent/external-positions/maple-liquidity/MapleLiquidityPositionLibBase2.sol": { "keccak256": "0x52e9c07b8631e3a3232bcf5e86a620e5cef0fa8d82f0e93d618426ed65865452", "urls": [ "bzz-raw://08291761466668b268eb9807e94cad3467e43b428dbe63ec720b63c0938f781a", "dweb:/ipfs/QmbupryF8vt697Huug7wpmD6b2rYAQT7L3myFRhhQUtTEr" ], "license": "GPL-3.0" }, "contracts/persistent/external-positions/maple-liquidity/MapleV1ToV2PoolMapper.sol": { "keccak256": "0x1031d9e2bbff5e6170ea344a210cd21fd08aa1a21c0bde2756a404b576f03661", "urls": [ "bzz-raw://04bcfd4d401ec7407923a29b2e45ea0362e5dd659d3740005ef60d92242fd909", "dweb:/ipfs/QmawyR4WnBQyLBVFMAMaAM5HFMmEvmiekLMrJLJgcGSTwS" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/maple-liquidity/IMapleLiquidityPosition.sol": { "keccak256": "0x03da4c15035e629dcfaa6822176fdbcf62dd1d5a5c8ccccd0d95344c8048a470", "urls": [ "bzz-raw://fde66e251e197ad0e1f514359dc02a3007bcfded3c081691860ce211c4aa89e4", "dweb:/ipfs/QmSADCmqGtbWDxs5G3GfdaC6NbK91qxAu95FJHiSGkuo2v" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/maple-liquidity/MapleLiquidityPositionDataDecoder.sol": { "keccak256": "0xd27d4afc91940a9dc2b2ea83ba11a1b98ae07e2165436826af0558c91edd12f4", "urls": [ "bzz-raw://672ed71da75cee7c500255b0c91dba9eef16c3b295ec1eadbbd413d8be34c6e9", "dweb:/ipfs/QmaPHi5HajA6Wug9ruvQ6wuGNAFUYBv4QFrrFWtigQHM5e" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/maple-liquidity/MapleLiquidityPositionLib.sol": { "keccak256": "0xc57e3572bff9393b1642a90342075cbb691e98b4b73b561be22e15e6158f5bb0", "urls": [ "bzz-raw://8c9be06c015bc205780b07b264df81c08be5a4e596f974d61aa0ccdcdacde6ec", "dweb:/ipfs/QmXnCeq7Yut53y1EXt5XGVL9Wwh29zCPNoLyphAD3YGumi" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IERC4626.sol": { "keccak256": "0xc9406d483e6f69717c0a12af680a4c247131f3049f3d7e787b3fb128ff02e2ab", "urls": [ "bzz-raw://823c5781608234371ae2ee9982d1c47fe752c3224fb4b7d189ef51248506dd2a", "dweb:/ipfs/QmUJfDq1psF7vTWLe3FXr1TaPS8kRBGfRR6snGtrrtVrFL" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IMapleV1MplRewards.sol": { "keccak256": "0x9fb171f91da0330d7139632907c0404002699a4cae9cb409a64c0898954b3f90", "urls": [ "bzz-raw://4e61ca593a55cc04b7a4283352cceab8e8249147e4c33fe3790cface7853ebc6", "dweb:/ipfs/QmPsc5s4wKDQcu3Tx7ZPJizPzLRTY9bHiywK3iL9gvnQK8" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IMapleV1Pool.sol": { "keccak256": "0x46e635c8ae53a2156c7331f381bbf69c4085a97e20b549fcea9c9425aaafa5f8", "urls": [ "bzz-raw://548dffe449da6fb3c6f0cd6253aad5c274e6b13d55a649181b36be9aa9898417", "dweb:/ipfs/QmVdmYzRo1NCVFmbyHcUeRsCTwhVrdAWNqdAaSJ4o79Jmh" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IMapleV2Pool.sol": { "keccak256": "0x628fcf182f99fd5be22272244f8106a551578de4bf3df105eb8ab42092c5cb05", "urls": [ "bzz-raw://efe4ae3736fd54ec2639621cdc1c245655e899cfa6da046476284ce0830f79de", "dweb:/ipfs/QmUoPG6ZBjDJ2Up8eHVZwfY3vgiXTv66Utct4D19tq4ZD8" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IMapleV2PoolManager.sol": { "keccak256": "0xc4de35e316205863bf63e66749c9cc4af8f50ebfce1fea39378da2740645a914", "urls": [ "bzz-raw://0bc5f3c9502ae74d8ae7fc9e078eebb8185eb4fd3cf42eb0f531d116cdc63e59", "dweb:/ipfs/QmScJCCGHM1grtPKnZGmvXbPY6HVZosrwYESD71mBVDE9w" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IMapleV2WithdrawalManager.sol": { "keccak256": "0x52edc67174fbb7829efcab6863d011e6b41106315d47c649bee96621020896ae", "urls": [ "bzz-raw://51a0f7bda1ef4999fc91071264fa39481e56d5f8702818926a13afd99ade4fb9", "dweb:/ipfs/QmPNiCaYwnvQU5HRSALKeDYwRHRorSVMXQ4Br394x4Fzys" ], "license": "GPL-3.0" }, "contracts/release/utils/AddressArrayLib.sol": { "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", "urls": [ "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" ], "license": "GPL-3.0" }, "contracts/release/utils/AssetHelpers.sol": { "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", "urls": [ "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" ], "license": "GPL-3.0" }, "contracts/release/utils/Uint256ArrayLib.sol": { "keccak256": "0x1627d0d32692b86c5dd3e74ebb8305fbf99a3c41d4b90e736077762cc80c1a31", "urls": [ "bzz-raw://54ff92ccd4bd685dda44c2520e3f52478168e909b400c3cc4076d37f5c2704ef", "dweb:/ipfs/QmYUxeaKfPwnUtP35i6JJ3ptsaDFEV6SD2o4VV8d5vBUZD" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", "urls": [ "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Address.sol": { "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", "urls": [ "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" } }, "version": 1 }, "id": 33 } diff --git a/eth_defi/abi/enzyme/MathHelpers.json b/eth_defi/abi/enzyme/MathHelpers.json index 1bb671c9..1edc55a7 100644 --- a/eth_defi/abi/enzyme/MathHelpers.json +++ b/eth_defi/abi/enzyme/MathHelpers.json @@ -1,86 +1 @@ -{ - "abi": [], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": {}, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"MathHelpers Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Helper functions for common math operations\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/utils/MathHelpers.sol\":\"MathHelpers\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/utils/MathHelpers.sol\":{\"keccak256\":\"0x8aef498ae98bfb40cd1df8c9ed652b4c092fbbe62d5a1fad522c53654523248e\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ed62789f6a8d5ca30a40c591f244b915e4711493a9e4b1b4d40ea2bc97b02a95\",\"dweb:/ipfs/QmWyXJ55arURtx9VMkUQokdsjk8tbgM2cC8rENFUMyz5D3\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/utils/MathHelpers.sol": "MathHelpers" - }, - "libraries": {} - }, - "sources": { - "contracts/release/utils/MathHelpers.sol": { - "keccak256": "0x8aef498ae98bfb40cd1df8c9ed652b4c092fbbe62d5a1fad522c53654523248e", - "urls": [ - "bzz-raw://ed62789f6a8d5ca30a40c591f244b915e4711493a9e4b1b4d40ea2bc97b02a95", - "dweb:/ipfs/QmWyXJ55arURtx9VMkUQokdsjk8tbgM2cC8rENFUMyz5D3" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 360 -} +{ "abi": [], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": {}, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"MathHelpers Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Helper functions for common math operations\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/utils/MathHelpers.sol\":\"MathHelpers\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/utils/MathHelpers.sol\":{\"keccak256\":\"0x8aef498ae98bfb40cd1df8c9ed652b4c092fbbe62d5a1fad522c53654523248e\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ed62789f6a8d5ca30a40c591f244b915e4711493a9e4b1b4d40ea2bc97b02a95\",\"dweb:/ipfs/QmWyXJ55arURtx9VMkUQokdsjk8tbgM2cC8rENFUMyz5D3\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/utils/MathHelpers.sol": "MathHelpers" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/utils/MathHelpers.sol": { "keccak256": "0x8aef498ae98bfb40cd1df8c9ed652b4c092fbbe62d5a1fad522c53654523248e", "urls": [ "bzz-raw://ed62789f6a8d5ca30a40c591f244b915e4711493a9e4b1b4d40ea2bc97b02a95", "dweb:/ipfs/QmWyXJ55arURtx9VMkUQokdsjk8tbgM2cC8rENFUMyz5D3" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" } }, "version": 1 }, "id": 360 } diff --git a/eth_defi/abi/enzyme/MinAssetBalancesPostRedemptionPolicy.json b/eth_defi/abi/enzyme/MinAssetBalancesPostRedemptionPolicy.json index 95a58b21..422c51da 100644 --- a/eth_defi/abi/enzyme/MinAssetBalancesPostRedemptionPolicy.json +++ b/eth_defi/abi/enzyme/MinAssetBalancesPostRedemptionPolicy.json @@ -1,808 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_policyManager", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "comptrollerProxy", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "asset", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "minBalance", - "type": "uint256" - } - ], - "name": "MinAssetBalanceAddedForFund", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "activateForFund", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_encodedSettings", - "type": "bytes" - } - ], - "name": "addFundSettings", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "canDisable", - "outputs": [ - { - "internalType": "bool", - "name": "canDisable_", - "type": "bool" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_asset", - "type": "address" - } - ], - "name": "getMinAssetBalanceForFund", - "outputs": [ - { - "internalType": "uint256", - "name": "minBalance_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getPolicyManager", - "outputs": [ - { - "internalType": "address", - "name": "policyManager_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "identifier", - "outputs": [ - { - "internalType": "string", - "name": "identifier_", - "type": "string" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "implementedHooks", - "outputs": [ - { - "internalType": "enum IPolicyManager.PolicyHook[]", - "name": "implementedHooks_", - "type": "uint8[]" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "updateFundSettings", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "enum IPolicyManager.PolicyHook", - "name": "", - "type": "uint8" - }, - { - "internalType": "bytes", - "name": "_encodedArgs", - "type": "bytes" - } - ], - "name": "validateRule", - "outputs": [ - { - "internalType": "bool", - "name": "isValid_", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x60a060405234801561001057600080fd5b50604051610b73380380610b738339818101604052602081101561003357600080fd5b5051606081901b6001600160601b0319166080526001600160a01b0316610b0761006c600039806103d952806108d35250610b076000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c8063579be71811610066578063579be718146101f25780637998a1c414610278578063cbf54bb2146102f5578063ceb9a0ad1461034d578063d44ad6cb1461037357610093565b80630d4d7510146100985780630f5f6b4f146101185780631d19746d146101965780631ef92578146101d6575b600080fd5b610116600480360360408110156100ae57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b8111156100d857600080fd5b8201836020820111156100ea57600080fd5b803590602001918460018302840111600160201b8311171561010b57600080fd5b509092509050610397565b005b6101166004803603604081101561012e57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561015857600080fd5b82018360208201111561016a57600080fd5b803590602001918460018302840111600160201b8311171561018b57600080fd5b5090925090506103ce565b6101c4600480360360408110156101ac57600080fd5b506001600160a01b0381358116916020013516610697565b60408051918252519081900360200190f35b6101de6106c0565b604080519115158252519081900360200190f35b6101de6004803603606081101561020857600080fd5b6001600160a01b038235169160ff60208201351691810190606081016040820135600160201b81111561023a57600080fd5b82018360208201111561024c57600080fd5b803590602001918460018302840111600160201b8311171561026d57600080fd5b5090925090506106c5565b610280610857565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102ba5781810151838201526020016102a2565b50505050905090810190601f1680156102e75780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102fd610877565b60408051602080825283518183015283519192839290830191858101910280838360005b83811015610339578181015183820152602001610321565b505050509050019250505060405180910390f35b6101166004803603602081101561036357600080fd5b50356001600160a01b03166108ce565b61037b6108d1565b604080516001600160a01b039092168252519081900360200190f35b60405162461bcd60e51b8152600401808060200182810382526037815260200180610a796037913960400191505060405180910390fd5b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104355760405162461bcd60e51b8152600401808060200182810382526029815260200180610ab06029913960400191505060405180910390fd5b6060808383604081101561044857600080fd5b810190602081018135600160201b81111561046257600080fd5b82018360208201111561047457600080fd5b803590602001918460208302840111600160201b8311171561049557600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b8111156104e457600080fd5b8201836020820111156104f657600080fd5b803590602001918460208302840111600160201b8311171561051757600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250508251875197995092975050509390931492506105989150505760405162461bcd60e51b8152600401808060200182810382526026815260200180610a536026913960400191505060405180910390fd5b60005b825181101561068f578181815181106105b057fe5b6020026020010151600080886001600160a01b03166001600160a01b0316815260200190815260200160002060008584815181106105ea57fe5b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000208190555082818151811061062257fe5b60200260200101516001600160a01b0316866001600160a01b03167fc337422678383b44aa667a4975f03ece744c19b20a4badde9dc5c355125b6ab784848151811061066a57fe5b60200260200101516040518082815260200191505060405180910390a360010161059b565b505050505050565b6001600160a01b0391821660009081526020818152604080832093909416825291909152205490565b600190565b6000606061070884848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506108f592505050565b505093505050506000866001600160a01b031663c98091876040518163ffffffff1660e01b815260040160206040518083038186803b15801561074a57600080fd5b505afa15801561075e573d6000803e3d6000fd5b505050506040513d602081101561077457600080fd5b5051905060005b8251811015610847576107a18884838151811061079457fe5b6020026020010151610697565b8382815181106107ad57fe5b60200260200101516001600160a01b03166370a08231846040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561080157600080fd5b505afa158015610815573d6000803e3d6000fd5b505050506040513d602081101561082b57600080fd5b5051101561083f576000935050505061084f565b60010161077b565b506001925050505b949350505050565b6060604051806060016040528060228152602001610ad960229139905090565b604080516001808252818301909252606091602080830190803683370190505090506003816000815181106108a857fe5b602002602001019060098111156108bb57fe5b908160098111156108c857fe5b90525090565b50565b7f000000000000000000000000000000000000000000000000000000000000000090565b600080600060608060008680602001905160c081101561091457600080fd5b815160208301516040808501516060860180519251949693959194939182019284600160201b82111561094657600080fd5b90830190602082018581111561095b57600080fd5b82518660208202830111600160201b8211171561097757600080fd5b82525081516020918201928201910280838360005b838110156109a457818101518382015260200161098c565b5050505090500160405260200180516040519392919084600160201b8211156109cc57600080fd5b9083019060208201858111156109e157600080fd5b82518660208202830111600160201b821117156109fd57600080fd5b82525081516020918201928201910280838360005b83811015610a2a578181015183820152602001610a12565b50505050919091016040525060200151969e959d50939b50919950975092955090935050505056fe61646446756e6453657474696e67733a20556e657175616c206172726179206c656e6774687375706461746546756e6453657474696e67733a2055706461746573206e6f7420616c6c6f77656420666f72207468697320706f6c6963794f6e6c792074686520506f6c6963794d616e616765722063616e206d616b6520746869732063616c6c4d494e5f41535345545f42414c414e4345535f504f53545f524544454d5054494f4ea164736f6c634300060c000a", - "sourceMap": "658:4024:216:-:0;;;871:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;871:72:216;737:31:223;;;;-1:-1:-1;;;;;;737:31:223;;;-1:-1:-1;;;;;658:4024:216;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106100935760003560e01c8063579be71811610066578063579be718146101f25780637998a1c414610278578063cbf54bb2146102f5578063ceb9a0ad1461034d578063d44ad6cb1461037357610093565b80630d4d7510146100985780630f5f6b4f146101185780631d19746d146101965780631ef92578146101d6575b600080fd5b610116600480360360408110156100ae57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b8111156100d857600080fd5b8201836020820111156100ea57600080fd5b803590602001918460018302840111600160201b8311171561010b57600080fd5b509092509050610397565b005b6101166004803603604081101561012e57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561015857600080fd5b82018360208201111561016a57600080fd5b803590602001918460018302840111600160201b8311171561018b57600080fd5b5090925090506103ce565b6101c4600480360360408110156101ac57600080fd5b506001600160a01b0381358116916020013516610697565b60408051918252519081900360200190f35b6101de6106c0565b604080519115158252519081900360200190f35b6101de6004803603606081101561020857600080fd5b6001600160a01b038235169160ff60208201351691810190606081016040820135600160201b81111561023a57600080fd5b82018360208201111561024c57600080fd5b803590602001918460018302840111600160201b8311171561026d57600080fd5b5090925090506106c5565b610280610857565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102ba5781810151838201526020016102a2565b50505050905090810190601f1680156102e75780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102fd610877565b60408051602080825283518183015283519192839290830191858101910280838360005b83811015610339578181015183820152602001610321565b505050509050019250505060405180910390f35b6101166004803603602081101561036357600080fd5b50356001600160a01b03166108ce565b61037b6108d1565b604080516001600160a01b039092168252519081900360200190f35b60405162461bcd60e51b8152600401808060200182810382526037815260200180610a796037913960400191505060405180910390fd5b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104355760405162461bcd60e51b8152600401808060200182810382526029815260200180610ab06029913960400191505060405180910390fd5b6060808383604081101561044857600080fd5b810190602081018135600160201b81111561046257600080fd5b82018360208201111561047457600080fd5b803590602001918460208302840111600160201b8311171561049557600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b8111156104e457600080fd5b8201836020820111156104f657600080fd5b803590602001918460208302840111600160201b8311171561051757600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250508251875197995092975050509390931492506105989150505760405162461bcd60e51b8152600401808060200182810382526026815260200180610a536026913960400191505060405180910390fd5b60005b825181101561068f578181815181106105b057fe5b6020026020010151600080886001600160a01b03166001600160a01b0316815260200190815260200160002060008584815181106105ea57fe5b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000208190555082818151811061062257fe5b60200260200101516001600160a01b0316866001600160a01b03167fc337422678383b44aa667a4975f03ece744c19b20a4badde9dc5c355125b6ab784848151811061066a57fe5b60200260200101516040518082815260200191505060405180910390a360010161059b565b505050505050565b6001600160a01b0391821660009081526020818152604080832093909416825291909152205490565b600190565b6000606061070884848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506108f592505050565b505093505050506000866001600160a01b031663c98091876040518163ffffffff1660e01b815260040160206040518083038186803b15801561074a57600080fd5b505afa15801561075e573d6000803e3d6000fd5b505050506040513d602081101561077457600080fd5b5051905060005b8251811015610847576107a18884838151811061079457fe5b6020026020010151610697565b8382815181106107ad57fe5b60200260200101516001600160a01b03166370a08231846040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561080157600080fd5b505afa158015610815573d6000803e3d6000fd5b505050506040513d602081101561082b57600080fd5b5051101561083f576000935050505061084f565b60010161077b565b506001925050505b949350505050565b6060604051806060016040528060228152602001610ad960229139905090565b604080516001808252818301909252606091602080830190803683370190505090506003816000815181106108a857fe5b602002602001019060098111156108bb57fe5b908160098111156108c857fe5b90525090565b50565b7f000000000000000000000000000000000000000000000000000000000000000090565b600080600060608060008680602001905160c081101561091457600080fd5b815160208301516040808501516060860180519251949693959194939182019284600160201b82111561094657600080fd5b90830190602082018581111561095b57600080fd5b82518660208202830111600160201b8211171561097757600080fd5b82525081516020918201928201910280838360005b838110156109a457818101518382015260200161098c565b5050505090500160405260200180516040519392919084600160201b8211156109cc57600080fd5b9083019060208201858111156109e157600080fd5b82518660208202830111600160201b821117156109fd57600080fd5b82525081516020918201928201910280838360005b83811015610a2a578181015183820152602001610a12565b50505050919091016040525060200151969e959d50939b50919950975092955090935050505056fe61646446756e6453657474696e67733a20556e657175616c206172726179206c656e6774687375706461746546756e6453657474696e67733a2055706461746573206e6f7420616c6c6f77656420666f72207468697320706f6c6963794f6e6c792074686520506f6c6963794d616e616765722063616e206d616b6520746869732063616c6c4d494e5f41535345545f42414c414e4345535f504f53545f524544454d5054494f4ea164736f6c634300060c000a", - "sourceMap": "658:4024:216:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1452:161:223;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1452:161:223;;;;;;;;;;;;;;;-1:-1:-1;;;1452:161:223;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1452:161:223;;;;;;;;;;-1:-1:-1;1452:161:223;;-1:-1:-1;1452:161:223;-1:-1:-1;1452:161:223;:::i;:::-;;1416:656:216;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1416:656:216;;;;;;;;;;;;;;;-1:-1:-1;;;1416:656:216;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1416:656:216;;;;;;;;;;-1:-1:-1;1416:656:216;;-1:-1:-1;1416:656:216;-1:-1:-1;1416:656:216;:::i;4446:234::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;4446:234:216;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;2199:108;;;:::i;:::-;;;;;;;;;;;;;;;;;;3424:688;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3424:688:216;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3424:688:216;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3424:688:216;;;;;;;;;;-1:-1:-1;3424:688:216;;-1:-1:-1;3424:688:216;-1:-1:-1;3424:688:216;:::i;2430:141::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2701:344;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;941:83:223;;;;;;;;;;;;;;;;-1:-1:-1;941:83:223;-1:-1:-1;;;;;941:83:223;;:::i;6755:113::-;;;:::i;:::-;;;;-1:-1:-1;;;;;6755:113:223;;;;;;;;;;;;;;1452:161;1541:65;;-1:-1:-1;;;1541:65:223;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1416:656:216;586:10:223;-1:-1:-1;;;;;600:14:223;586:28;;578:82;;;;-1:-1:-1;;;578:82:223;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1576:23:216::1;1601:28:::0;1657:16:::1;;1633:86;;;;;;;::::0;::::1;;::::0;::::1;::::0;::::1;::::0;::::1;::::0;::::1;-1:-1:-1::0;;;1633:86:216;::::1;;;;;::::0;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;-1:-1:-1::0;;;1633:86:216::1;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;1633:86:216;;;;::::1;::::0;::::1;::::0;-1:-1:-1;1633:86:216::1;::::0;-1:-1:-1;;;;;1633:86:216;::::1;;;;;::::0;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;-1:-1:-1::0;;;1633:86:216::1;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;;1754:18:216;;1737:13;;1575:144;;-1:-1:-1;1633:86:216;;-1:-1:-1;;;1737:35:216;;;::::1;::::0;-1:-1:-1;1729:86:216::1;::::0;-1:-1:-1;;1729:86:216::1;;;-1:-1:-1::0;;;1729:86:216::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1831:9;1826:240;1846:6;:13;1842:1;:17;1826:240;;;1948:11;1960:1;1948:14;;;;;;;;;;;;;;1880:35;:54:::0;1916:17:::1;-1:-1:-1::0;;;;;1880:54:216::1;-1:-1:-1::0;;;;;1880:54:216::1;;;;;;;;;;;;:65;1935:6;1942:1;1935:9;;;;;;;;;;;;;;-1:-1:-1::0;;;;;1880:65:216::1;-1:-1:-1::0;;;;;1880:65:216::1;;;;;;;;;;;;:82;;;;2029:6;2036:1;2029:9;;;;;;;;;;;;;;-1:-1:-1::0;;;;;1982:73:216::1;2010:17;-1:-1:-1::0;;;;;1982:73:216::1;;2040:11;2052:1;2040:14;;;;;;;;;;;;;;1982:73;;;;;;;;;;;;;;;;;;1861:3;;1826:240;;;;670:1:223;;1416:656:216::0;;;:::o;4446:234::-;-1:-1:-1;;;;;4611:54:216;;;4569:19;4611:54;;;;;;;;;;;:62;;;;;;;;;;;;;4446:234::o;2199:108::-;2296:4;2199:108;:::o;3424:688::-;3586:13;3618:23;3649:87;3714:12;;3649:87;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3649:51:216;;-1:-1:-1;;;3649:87:216:i;:::-;3611:125;;;;;;;3747:18;3783:17;-1:-1:-1;;;;;3768:47:216;;:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3768:49:216;;-1:-1:-1;3832:9:216;3827:257;3847:6;:13;3843:1;:17;3827:257;;;3959:55;3985:17;4004:6;4011:1;4004:9;;;;;;;;;;;;;;3959:25;:55::i;:::-;3908:6;3915:1;3908:9;;;;;;;;;;;;;;-1:-1:-1;;;;;3902:26:216;;3929:10;3902:38;;;;;;;;;;;;;-1:-1:-1;;;;;3902:38:216;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3902:38:216;:112;3881:193;;;4054:5;4047:12;;;;;;;3881:193;3862:3;;3827:257;;;;4101:4;4094:11;;;;3424:688;;;;;;;:::o;2430:141::-;2484:25;2521:43;;;;;;;;;;;;;;;;;;;2430:141;:::o;2701:344::-;2881:34;;;2913:1;2881:34;;;;;;;;;2793:52;;2881:34;;;;;;;;;;;-1:-1:-1;2881:34:216;2861:54;;2948:55;2925:17;2943:1;2925:20;;;;;;;;;;;;;:78;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2701:344:216;:::o;941:83:223:-;;:::o;6755:113::-;6847:14;6755:113;:::o;5285:546::-;5436:17;5467:18;5499:31;5544:24;5582:30;5626:21;5719:15;5691:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5691:133:223;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5691:133:223;;;;;;;;;;;;-1:-1:-1;5691:133:223;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5691:133:223;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5691:133:223;;;;;;;;;;;;-1:-1:-1;5691:133:223;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;5691:133:223;;;;;;-1:-1:-1;5691:133:223;;;5672:152;;;;-1:-1:-1;5672:152:223;;-1:-1:-1;5672:152:223;;-1:-1:-1;5672:152:223;-1:-1:-1;5691:133:223;;-1:-1:-1;5285:546:223;;-1:-1:-1;;;;5285:546:223:o", - "linkReferences": {}, - "immutableReferences": { - "59893": [ - { - "start": 985, - "length": 32 - }, - { - "start": 2259, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "activateForFund(address)": "ceb9a0ad", - "addFundSettings(address,bytes)": "0f5f6b4f", - "canDisable()": "1ef92578", - "getMinAssetBalanceForFund(address,address)": "1d19746d", - "getPolicyManager()": "d44ad6cb", - "identifier()": "7998a1c4", - "implementedHooks()": "cbf54bb2", - "updateFundSettings(address,bytes)": "0d4d7510", - "validateRule(address,uint8,bytes)": "579be718" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_policyManager\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"asset\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"minBalance\",\"type\":\"uint256\"}],\"name\":\"MinAssetBalanceAddedForFund\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"activateForFund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_encodedSettings\",\"type\":\"bytes\"}],\"name\":\"addFundSettings\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"canDisable\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"canDisable_\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"}],\"name\":\"getMinAssetBalanceForFund\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"minBalance_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPolicyManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"policyManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"identifier\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"identifier_\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"implementedHooks\",\"outputs\":[{\"internalType\":\"enum IPolicyManager.PolicyHook[]\",\"name\":\"implementedHooks_\",\"type\":\"uint8[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"updateFundSettings\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"enum IPolicyManager.PolicyHook\",\"name\":\"\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"_encodedArgs\",\"type\":\"bytes\"}],\"name\":\"validateRule\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isValid_\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"activateForFund(address)\":{\"details\":\"Unimplemented by default, can be overridden by the policy\"},\"addFundSettings(address,bytes)\":{\"details\":\"Most funds that use this policy will likely not allow any external positions. Does not prohibit specifying not-yet-defined external position type ids.\",\"params\":{\"_comptrollerProxy\":\"The fund's ComptrollerProxy address\",\"_encodedSettings\":\"Encoded settings to apply to a fund\"}},\"canDisable()\":{\"returns\":{\"canDisable_\":\"True if the policy can be disabled\"}},\"getMinAssetBalanceForFund(address,address)\":{\"params\":{\"_asset\":\"The asset\",\"_comptrollerProxy\":\"The fund's ComptrollerProxy address\"},\"returns\":{\"minBalance_\":\"The minimum balance\"}},\"getPolicyManager()\":{\"returns\":{\"policyManager_\":\"The `POLICY_MANAGER` variable value\"}},\"identifier()\":{\"returns\":{\"identifier_\":\"The identifier string\"}},\"implementedHooks()\":{\"returns\":{\"implementedHooks_\":\"The implemented PolicyHooks\"}},\"updateFundSettings(address,bytes)\":{\"details\":\"Disallowed by default, can be overridden by the policy\"},\"validateRule(address,uint8,bytes)\":{\"details\":\"onlyPolicyManager validation not necessary, as state is not updated and no events are fired\",\"params\":{\"_comptrollerProxy\":\"The fund's ComptrollerProxy address\",\"_encodedArgs\":\"Encoded args with which to validate the rule\"},\"returns\":{\"isValid_\":\"True if the rule passes\"}}},\"title\":\"MinAssetBalancesPostRedemptionPolicy Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"activateForFund(address)\":{\"notice\":\"Validates and initializes a policy as necessary prior to fund activation\"},\"addFundSettings(address,bytes)\":{\"notice\":\"Adds the initial policy settings for a fund\"},\"canDisable()\":{\"notice\":\"Whether or not the policy can be disabled\"},\"getMinAssetBalanceForFund(address,address)\":{\"notice\":\"Gets the minimum asset balance that must remain in a fund after specific asset redemption\"},\"getPolicyManager()\":{\"notice\":\"Gets the `POLICY_MANAGER` variable value\"},\"identifier()\":{\"notice\":\"Provides a constant string identifier for a policy\"},\"implementedHooks()\":{\"notice\":\"Gets the implemented PolicyHooks for a policy\"},\"updateFundSettings(address,bytes)\":{\"notice\":\"Updates the policy settings for a fund\"},\"validateRule(address,uint8,bytes)\":{\"notice\":\"Apply the rule with the specified parameters of a PolicyHook\"}},\"notice\":\"A policy that sets min remaining balance limits on assets specified during specific assets redemption\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/policy-manager/policies/current-shareholders/MinAssetBalancesPostRedemptionPolicy.sol\":\"MinAssetBalancesPostRedemptionPolicy\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/persistent/vault/interfaces/IExternalPositionVault.sol\":{\"keccak256\":\"0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d\",\"dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8\"]},\"contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol\":{\"keccak256\":\"0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb\",\"dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU\"]},\"contracts/persistent/vault/interfaces/IMigratableVault.sol\":{\"keccak256\":\"0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6\",\"dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs\"]},\"contracts/persistent/vault/interfaces/IVaultCore.sol\":{\"keccak256\":\"0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd\",\"dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr\"]},\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/core/fund/comptroller/ComptrollerLib.sol\":{\"keccak256\":\"0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579\",\"dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq\"]},\"contracts/release/core/fund/comptroller/IComptroller.sol\":{\"keccak256\":\"0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97\",\"dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L\"]},\"contracts/release/core/fund/vault/IVault.sol\":{\"keccak256\":\"0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599\",\"dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG\"]},\"contracts/release/extensions/IExtension.sol\":{\"keccak256\":\"0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70\",\"dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t\"]},\"contracts/release/extensions/fee-manager/IFeeManager.sol\":{\"keccak256\":\"0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22\",\"dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod\"]},\"contracts/release/extensions/policy-manager/IPolicy.sol\":{\"keccak256\":\"0xc12663ca72065b256c3b934ab738fde26c147c7b0399de43650df89dd52ee467\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://be8fecfcba0f3fda615f0a1bb3c766750c23761ef751d7c4472dfe540e460cd1\",\"dweb:/ipfs/QmaarPoRTsX6NiJ8V4u2f3Qh6d7tUs28bw9R14An3t5Bs1\"]},\"contracts/release/extensions/policy-manager/IPolicyManager.sol\":{\"keccak256\":\"0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa\",\"dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb\"]},\"contracts/release/extensions/policy-manager/policies/current-shareholders/MinAssetBalancesPostRedemptionPolicy.sol\":{\"keccak256\":\"0xf94b1c762db3a427c5535fa4736cee80acc439b854bbb447170162f88f1419d6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://120d92cf49aae5804492cb9f1a75ca339f2df20e4764600554de7d7373790471\",\"dweb:/ipfs/QmaAEotvGgiLEx8aUZadk7Dv9jdkfh79XPMhcBWeMnRTRz\"]},\"contracts/release/extensions/policy-manager/policies/utils/PolicyBase.sol\":{\"keccak256\":\"0x972311abb98f0da815b4aca83d5afdd219d3604ec19cf5e3773c0c305bd9b3f1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2452f3d1f3b1d8e8459a07489146a2d0d8a10463715937995cbe77ee5de8c069\",\"dweb:/ipfs/Qmf2hhd2DVbjpxmbNGAhRZNZkqpGZA2mX3eA1WNwtv6t5Y\"]},\"contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol\":{\"keccak256\":\"0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f\",\"dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol\":{\"keccak256\":\"0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0\",\"dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol\":{\"keccak256\":\"0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b\",\"dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3\"]},\"contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol\":{\"keccak256\":\"0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965\",\"dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ\"]},\"contracts/release/interfaces/IGsnForwarder.sol\":{\"keccak256\":\"0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29\",\"dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G\"]},\"contracts/release/interfaces/IGsnPaymaster.sol\":{\"keccak256\":\"0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4\",\"dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF\"]},\"contracts/release/interfaces/IGsnTypes.sol\":{\"keccak256\":\"0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7\",\"dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/beacon-proxy/IBeacon.sol\":{\"keccak256\":\"0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39\",\"dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V\"]},\"contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol\":{\"keccak256\":\"0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be\",\"dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_policyManager", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "comptrollerProxy", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "asset", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "minBalance", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "MinAssetBalanceAddedForFund", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "activateForFund" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_encodedSettings", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "addFundSettings" - }, - { - "inputs": [], - "stateMutability": "pure", - "type": "function", - "name": "canDisable", - "outputs": [ - { - "internalType": "bool", - "name": "canDisable_", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_asset", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getMinAssetBalanceForFund", - "outputs": [ - { - "internalType": "uint256", - "name": "minBalance_", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getPolicyManager", - "outputs": [ - { - "internalType": "address", - "name": "policyManager_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "pure", - "type": "function", - "name": "identifier", - "outputs": [ - { - "internalType": "string", - "name": "identifier_", - "type": "string" - } - ] - }, - { - "inputs": [], - "stateMutability": "pure", - "type": "function", - "name": "implementedHooks", - "outputs": [ - { - "internalType": "enum IPolicyManager.PolicyHook[]", - "name": "implementedHooks_", - "type": "uint8[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "updateFundSettings" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "enum IPolicyManager.PolicyHook", - "name": "", - "type": "uint8" - }, - { - "internalType": "bytes", - "name": "_encodedArgs", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "validateRule", - "outputs": [ - { - "internalType": "bool", - "name": "isValid_", - "type": "bool" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "activateForFund(address)": { - "details": "Unimplemented by default, can be overridden by the policy" - }, - "addFundSettings(address,bytes)": { - "details": "Most funds that use this policy will likely not allow any external positions. Does not prohibit specifying not-yet-defined external position type ids.", - "params": { - "_comptrollerProxy": "The fund's ComptrollerProxy address", - "_encodedSettings": "Encoded settings to apply to a fund" - } - }, - "canDisable()": { - "returns": { - "canDisable_": "True if the policy can be disabled" - } - }, - "getMinAssetBalanceForFund(address,address)": { - "params": { - "_asset": "The asset", - "_comptrollerProxy": "The fund's ComptrollerProxy address" - }, - "returns": { - "minBalance_": "The minimum balance" - } - }, - "getPolicyManager()": { - "returns": { - "policyManager_": "The `POLICY_MANAGER` variable value" - } - }, - "identifier()": { - "returns": { - "identifier_": "The identifier string" - } - }, - "implementedHooks()": { - "returns": { - "implementedHooks_": "The implemented PolicyHooks" - } - }, - "updateFundSettings(address,bytes)": { - "details": "Disallowed by default, can be overridden by the policy" - }, - "validateRule(address,uint8,bytes)": { - "details": "onlyPolicyManager validation not necessary, as state is not updated and no events are fired", - "params": { - "_comptrollerProxy": "The fund's ComptrollerProxy address", - "_encodedArgs": "Encoded args with which to validate the rule" - }, - "returns": { - "isValid_": "True if the rule passes" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "activateForFund(address)": { - "notice": "Validates and initializes a policy as necessary prior to fund activation" - }, - "addFundSettings(address,bytes)": { - "notice": "Adds the initial policy settings for a fund" - }, - "canDisable()": { - "notice": "Whether or not the policy can be disabled" - }, - "getMinAssetBalanceForFund(address,address)": { - "notice": "Gets the minimum asset balance that must remain in a fund after specific asset redemption" - }, - "getPolicyManager()": { - "notice": "Gets the `POLICY_MANAGER` variable value" - }, - "identifier()": { - "notice": "Provides a constant string identifier for a policy" - }, - "implementedHooks()": { - "notice": "Gets the implemented PolicyHooks for a policy" - }, - "updateFundSettings(address,bytes)": { - "notice": "Updates the policy settings for a fund" - }, - "validateRule(address,uint8,bytes)": { - "notice": "Apply the rule with the specified parameters of a PolicyHook" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/policy-manager/policies/current-shareholders/MinAssetBalancesPostRedemptionPolicy.sol": "MinAssetBalancesPostRedemptionPolicy" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/dispatcher/IDispatcher.sol": { - "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", - "urls": [ - "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", - "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/external-positions/IExternalPosition.sol": { - "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", - "urls": [ - "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", - "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IExternalPositionVault.sol": { - "keccak256": "0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6", - "urls": [ - "bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d", - "dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol": { - "keccak256": "0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0", - "urls": [ - "bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb", - "dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IMigratableVault.sol": { - "keccak256": "0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238", - "urls": [ - "bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6", - "dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IVaultCore.sol": { - "keccak256": "0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80", - "urls": [ - "bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd", - "dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund-deployer/IFundDeployer.sol": { - "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", - "urls": [ - "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", - "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/comptroller/ComptrollerLib.sol": { - "keccak256": "0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64", - "urls": [ - "bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579", - "dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/comptroller/IComptroller.sol": { - "keccak256": "0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f", - "urls": [ - "bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97", - "dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/vault/IVault.sol": { - "keccak256": "0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd", - "urls": [ - "bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599", - "dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/IExtension.sol": { - "keccak256": "0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b", - "urls": [ - "bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70", - "dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/fee-manager/IFeeManager.sol": { - "keccak256": "0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51", - "urls": [ - "bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22", - "dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/policy-manager/IPolicy.sol": { - "keccak256": "0xc12663ca72065b256c3b934ab738fde26c147c7b0399de43650df89dd52ee467", - "urls": [ - "bzz-raw://be8fecfcba0f3fda615f0a1bb3c766750c23761ef751d7c4472dfe540e460cd1", - "dweb:/ipfs/QmaarPoRTsX6NiJ8V4u2f3Qh6d7tUs28bw9R14An3t5Bs1" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/policy-manager/IPolicyManager.sol": { - "keccak256": "0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32", - "urls": [ - "bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa", - "dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/policy-manager/policies/current-shareholders/MinAssetBalancesPostRedemptionPolicy.sol": { - "keccak256": "0xf94b1c762db3a427c5535fa4736cee80acc439b854bbb447170162f88f1419d6", - "urls": [ - "bzz-raw://120d92cf49aae5804492cb9f1a75ca339f2df20e4764600554de7d7373790471", - "dweb:/ipfs/QmaAEotvGgiLEx8aUZadk7Dv9jdkfh79XPMhcBWeMnRTRz" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/policy-manager/policies/utils/PolicyBase.sol": { - "keccak256": "0x972311abb98f0da815b4aca83d5afdd219d3604ec19cf5e3773c0c305bd9b3f1", - "urls": [ - "bzz-raw://2452f3d1f3b1d8e8459a07489146a2d0d8a10463715937995cbe77ee5de8c069", - "dweb:/ipfs/Qmf2hhd2DVbjpxmbNGAhRZNZkqpGZA2mX3eA1WNwtv6t5Y" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol": { - "keccak256": "0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609", - "urls": [ - "bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f", - "dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol": { - "keccak256": "0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01", - "urls": [ - "bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0", - "dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol": { - "keccak256": "0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196", - "urls": [ - "bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b", - "dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol": { - "keccak256": "0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794", - "urls": [ - "bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965", - "dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IGsnForwarder.sol": { - "keccak256": "0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030", - "urls": [ - "bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29", - "dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IGsnPaymaster.sol": { - "keccak256": "0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c", - "urls": [ - "bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4", - "dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IGsnTypes.sol": { - "keccak256": "0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714", - "urls": [ - "bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7", - "dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AddressArrayLib.sol": { - "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", - "urls": [ - "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", - "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/beacon-proxy/IBeacon.sol": { - "keccak256": "0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2", - "urls": [ - "bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39", - "dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol": { - "keccak256": "0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc", - "urls": [ - "bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be", - "dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { - "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", - "urls": [ - "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", - "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Address.sol": { - "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", - "urls": [ - "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", - "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 216 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_policyManager", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "activateForFund", "inputs": [ { "name": "", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "addFundSettings", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" }, { "name": "_encodedSettings", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "canDisable", "inputs": [], "outputs": [ { "name": "canDisable_", "type": "bool", "internalType": "bool" } ], "stateMutability": "pure" }, { "type": "function", "name": "getMinAssetBalanceForFund", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" }, { "name": "_asset", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "minBalance_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "getPolicyManager", "inputs": [], "outputs": [ { "name": "policyManager_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "identifier", "inputs": [], "outputs": [ { "name": "identifier_", "type": "string", "internalType": "string" } ], "stateMutability": "pure" }, { "type": "function", "name": "implementedHooks", "inputs": [], "outputs": [ { "name": "implementedHooks_", "type": "uint8[]", "internalType": "enum IPolicyManager.PolicyHook[]" } ], "stateMutability": "pure" }, { "type": "function", "name": "updateFundSettings", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "validateRule", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" }, { "name": "", "type": "uint8", "internalType": "enum IPolicyManager.PolicyHook" }, { "name": "_encodedArgs", "type": "bytes", "internalType": "bytes" } ], "outputs": [ { "name": "isValid_", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "event", "name": "MinAssetBalanceAddedForFund", "inputs": [ { "name": "comptrollerProxy", "type": "address", "indexed": true, "internalType": "address" }, { "name": "asset", "type": "address", "indexed": true, "internalType": "address" }, { "name": "minBalance", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false } ], "bytecode": { "object": "0x60a060405234801561001057600080fd5b50604051610b73380380610b738339818101604052602081101561003357600080fd5b5051606081901b6001600160601b0319166080526001600160a01b0316610b0761006c600039806103d952806108d35250610b076000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c8063579be71811610066578063579be718146101f25780637998a1c414610278578063cbf54bb2146102f5578063ceb9a0ad1461034d578063d44ad6cb1461037357610093565b80630d4d7510146100985780630f5f6b4f146101185780631d19746d146101965780631ef92578146101d6575b600080fd5b610116600480360360408110156100ae57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b8111156100d857600080fd5b8201836020820111156100ea57600080fd5b803590602001918460018302840111600160201b8311171561010b57600080fd5b509092509050610397565b005b6101166004803603604081101561012e57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561015857600080fd5b82018360208201111561016a57600080fd5b803590602001918460018302840111600160201b8311171561018b57600080fd5b5090925090506103ce565b6101c4600480360360408110156101ac57600080fd5b506001600160a01b0381358116916020013516610697565b60408051918252519081900360200190f35b6101de6106c0565b604080519115158252519081900360200190f35b6101de6004803603606081101561020857600080fd5b6001600160a01b038235169160ff60208201351691810190606081016040820135600160201b81111561023a57600080fd5b82018360208201111561024c57600080fd5b803590602001918460018302840111600160201b8311171561026d57600080fd5b5090925090506106c5565b610280610857565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102ba5781810151838201526020016102a2565b50505050905090810190601f1680156102e75780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102fd610877565b60408051602080825283518183015283519192839290830191858101910280838360005b83811015610339578181015183820152602001610321565b505050509050019250505060405180910390f35b6101166004803603602081101561036357600080fd5b50356001600160a01b03166108ce565b61037b6108d1565b604080516001600160a01b039092168252519081900360200190f35b60405162461bcd60e51b8152600401808060200182810382526037815260200180610a796037913960400191505060405180910390fd5b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104355760405162461bcd60e51b8152600401808060200182810382526029815260200180610ab06029913960400191505060405180910390fd5b6060808383604081101561044857600080fd5b810190602081018135600160201b81111561046257600080fd5b82018360208201111561047457600080fd5b803590602001918460208302840111600160201b8311171561049557600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b8111156104e457600080fd5b8201836020820111156104f657600080fd5b803590602001918460208302840111600160201b8311171561051757600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250508251875197995092975050509390931492506105989150505760405162461bcd60e51b8152600401808060200182810382526026815260200180610a536026913960400191505060405180910390fd5b60005b825181101561068f578181815181106105b057fe5b6020026020010151600080886001600160a01b03166001600160a01b0316815260200190815260200160002060008584815181106105ea57fe5b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000208190555082818151811061062257fe5b60200260200101516001600160a01b0316866001600160a01b03167fc337422678383b44aa667a4975f03ece744c19b20a4badde9dc5c355125b6ab784848151811061066a57fe5b60200260200101516040518082815260200191505060405180910390a360010161059b565b505050505050565b6001600160a01b0391821660009081526020818152604080832093909416825291909152205490565b600190565b6000606061070884848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506108f592505050565b505093505050506000866001600160a01b031663c98091876040518163ffffffff1660e01b815260040160206040518083038186803b15801561074a57600080fd5b505afa15801561075e573d6000803e3d6000fd5b505050506040513d602081101561077457600080fd5b5051905060005b8251811015610847576107a18884838151811061079457fe5b6020026020010151610697565b8382815181106107ad57fe5b60200260200101516001600160a01b03166370a08231846040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561080157600080fd5b505afa158015610815573d6000803e3d6000fd5b505050506040513d602081101561082b57600080fd5b5051101561083f576000935050505061084f565b60010161077b565b506001925050505b949350505050565b6060604051806060016040528060228152602001610ad960229139905090565b604080516001808252818301909252606091602080830190803683370190505090506003816000815181106108a857fe5b602002602001019060098111156108bb57fe5b908160098111156108c857fe5b90525090565b50565b7f000000000000000000000000000000000000000000000000000000000000000090565b600080600060608060008680602001905160c081101561091457600080fd5b815160208301516040808501516060860180519251949693959194939182019284600160201b82111561094657600080fd5b90830190602082018581111561095b57600080fd5b82518660208202830111600160201b8211171561097757600080fd5b82525081516020918201928201910280838360005b838110156109a457818101518382015260200161098c565b5050505090500160405260200180516040519392919084600160201b8211156109cc57600080fd5b9083019060208201858111156109e157600080fd5b82518660208202830111600160201b821117156109fd57600080fd5b82525081516020918201928201910280838360005b83811015610a2a578181015183820152602001610a12565b50505050919091016040525060200151969e959d50939b50919950975092955090935050505056fe61646446756e6453657474696e67733a20556e657175616c206172726179206c656e6774687375706461746546756e6453657474696e67733a2055706461746573206e6f7420616c6c6f77656420666f72207468697320706f6c6963794f6e6c792074686520506f6c6963794d616e616765722063616e206d616b6520746869732063616c6c4d494e5f41535345545f42414c414e4345535f504f53545f524544454d5054494f4ea164736f6c634300060c000a", "sourceMap": "658:4024:216:-:0;;;871:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;871:72:216;737:31:223;;;;-1:-1:-1;;;;;;737:31:223;;;-1:-1:-1;;;;;658:4024:216;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106100935760003560e01c8063579be71811610066578063579be718146101f25780637998a1c414610278578063cbf54bb2146102f5578063ceb9a0ad1461034d578063d44ad6cb1461037357610093565b80630d4d7510146100985780630f5f6b4f146101185780631d19746d146101965780631ef92578146101d6575b600080fd5b610116600480360360408110156100ae57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b8111156100d857600080fd5b8201836020820111156100ea57600080fd5b803590602001918460018302840111600160201b8311171561010b57600080fd5b509092509050610397565b005b6101166004803603604081101561012e57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561015857600080fd5b82018360208201111561016a57600080fd5b803590602001918460018302840111600160201b8311171561018b57600080fd5b5090925090506103ce565b6101c4600480360360408110156101ac57600080fd5b506001600160a01b0381358116916020013516610697565b60408051918252519081900360200190f35b6101de6106c0565b604080519115158252519081900360200190f35b6101de6004803603606081101561020857600080fd5b6001600160a01b038235169160ff60208201351691810190606081016040820135600160201b81111561023a57600080fd5b82018360208201111561024c57600080fd5b803590602001918460018302840111600160201b8311171561026d57600080fd5b5090925090506106c5565b610280610857565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102ba5781810151838201526020016102a2565b50505050905090810190601f1680156102e75780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102fd610877565b60408051602080825283518183015283519192839290830191858101910280838360005b83811015610339578181015183820152602001610321565b505050509050019250505060405180910390f35b6101166004803603602081101561036357600080fd5b50356001600160a01b03166108ce565b61037b6108d1565b604080516001600160a01b039092168252519081900360200190f35b60405162461bcd60e51b8152600401808060200182810382526037815260200180610a796037913960400191505060405180910390fd5b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104355760405162461bcd60e51b8152600401808060200182810382526029815260200180610ab06029913960400191505060405180910390fd5b6060808383604081101561044857600080fd5b810190602081018135600160201b81111561046257600080fd5b82018360208201111561047457600080fd5b803590602001918460208302840111600160201b8311171561049557600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b8111156104e457600080fd5b8201836020820111156104f657600080fd5b803590602001918460208302840111600160201b8311171561051757600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250508251875197995092975050509390931492506105989150505760405162461bcd60e51b8152600401808060200182810382526026815260200180610a536026913960400191505060405180910390fd5b60005b825181101561068f578181815181106105b057fe5b6020026020010151600080886001600160a01b03166001600160a01b0316815260200190815260200160002060008584815181106105ea57fe5b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000208190555082818151811061062257fe5b60200260200101516001600160a01b0316866001600160a01b03167fc337422678383b44aa667a4975f03ece744c19b20a4badde9dc5c355125b6ab784848151811061066a57fe5b60200260200101516040518082815260200191505060405180910390a360010161059b565b505050505050565b6001600160a01b0391821660009081526020818152604080832093909416825291909152205490565b600190565b6000606061070884848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506108f592505050565b505093505050506000866001600160a01b031663c98091876040518163ffffffff1660e01b815260040160206040518083038186803b15801561074a57600080fd5b505afa15801561075e573d6000803e3d6000fd5b505050506040513d602081101561077457600080fd5b5051905060005b8251811015610847576107a18884838151811061079457fe5b6020026020010151610697565b8382815181106107ad57fe5b60200260200101516001600160a01b03166370a08231846040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561080157600080fd5b505afa158015610815573d6000803e3d6000fd5b505050506040513d602081101561082b57600080fd5b5051101561083f576000935050505061084f565b60010161077b565b506001925050505b949350505050565b6060604051806060016040528060228152602001610ad960229139905090565b604080516001808252818301909252606091602080830190803683370190505090506003816000815181106108a857fe5b602002602001019060098111156108bb57fe5b908160098111156108c857fe5b90525090565b50565b7f000000000000000000000000000000000000000000000000000000000000000090565b600080600060608060008680602001905160c081101561091457600080fd5b815160208301516040808501516060860180519251949693959194939182019284600160201b82111561094657600080fd5b90830190602082018581111561095b57600080fd5b82518660208202830111600160201b8211171561097757600080fd5b82525081516020918201928201910280838360005b838110156109a457818101518382015260200161098c565b5050505090500160405260200180516040519392919084600160201b8211156109cc57600080fd5b9083019060208201858111156109e157600080fd5b82518660208202830111600160201b821117156109fd57600080fd5b82525081516020918201928201910280838360005b83811015610a2a578181015183820152602001610a12565b50505050919091016040525060200151969e959d50939b50919950975092955090935050505056fe61646446756e6453657474696e67733a20556e657175616c206172726179206c656e6774687375706461746546756e6453657474696e67733a2055706461746573206e6f7420616c6c6f77656420666f72207468697320706f6c6963794f6e6c792074686520506f6c6963794d616e616765722063616e206d616b6520746869732063616c6c4d494e5f41535345545f42414c414e4345535f504f53545f524544454d5054494f4ea164736f6c634300060c000a", "sourceMap": "658:4024:216:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1452:161:223;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1452:161:223;;;;;;;;;;;;;;;-1:-1:-1;;;1452:161:223;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1452:161:223;;;;;;;;;;-1:-1:-1;1452:161:223;;-1:-1:-1;1452:161:223;-1:-1:-1;1452:161:223;:::i;:::-;;1416:656:216;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1416:656:216;;;;;;;;;;;;;;;-1:-1:-1;;;1416:656:216;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1416:656:216;;;;;;;;;;-1:-1:-1;1416:656:216;;-1:-1:-1;1416:656:216;-1:-1:-1;1416:656:216;:::i;4446:234::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;4446:234:216;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;2199:108;;;:::i;:::-;;;;;;;;;;;;;;;;;;3424:688;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3424:688:216;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3424:688:216;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3424:688:216;;;;;;;;;;-1:-1:-1;3424:688:216;;-1:-1:-1;3424:688:216;-1:-1:-1;3424:688:216;:::i;2430:141::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2701:344;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;941:83:223;;;;;;;;;;;;;;;;-1:-1:-1;941:83:223;-1:-1:-1;;;;;941:83:223;;:::i;6755:113::-;;;:::i;:::-;;;;-1:-1:-1;;;;;6755:113:223;;;;;;;;;;;;;;1452:161;1541:65;;-1:-1:-1;;;1541:65:223;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1416:656:216;586:10:223;-1:-1:-1;;;;;600:14:223;586:28;;578:82;;;;-1:-1:-1;;;578:82:223;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1576:23:216::1;1601:28:::0;1657:16:::1;;1633:86;;;;;;;::::0;::::1;;::::0;::::1;::::0;::::1;::::0;::::1;::::0;::::1;-1:-1:-1::0;;;1633:86:216;::::1;;;;;::::0;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;-1:-1:-1::0;;;1633:86:216::1;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;1633:86:216;;;;::::1;::::0;::::1;::::0;-1:-1:-1;1633:86:216::1;::::0;-1:-1:-1;;;;;1633:86:216;::::1;;;;;::::0;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;-1:-1:-1::0;;;1633:86:216::1;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;;1754:18:216;;1737:13;;1575:144;;-1:-1:-1;1633:86:216;;-1:-1:-1;;;1737:35:216;;;::::1;::::0;-1:-1:-1;1729:86:216::1;::::0;-1:-1:-1;;1729:86:216::1;;;-1:-1:-1::0;;;1729:86:216::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1831:9;1826:240;1846:6;:13;1842:1;:17;1826:240;;;1948:11;1960:1;1948:14;;;;;;;;;;;;;;1880:35;:54:::0;1916:17:::1;-1:-1:-1::0;;;;;1880:54:216::1;-1:-1:-1::0;;;;;1880:54:216::1;;;;;;;;;;;;:65;1935:6;1942:1;1935:9;;;;;;;;;;;;;;-1:-1:-1::0;;;;;1880:65:216::1;-1:-1:-1::0;;;;;1880:65:216::1;;;;;;;;;;;;:82;;;;2029:6;2036:1;2029:9;;;;;;;;;;;;;;-1:-1:-1::0;;;;;1982:73:216::1;2010:17;-1:-1:-1::0;;;;;1982:73:216::1;;2040:11;2052:1;2040:14;;;;;;;;;;;;;;1982:73;;;;;;;;;;;;;;;;;;1861:3;;1826:240;;;;670:1:223;;1416:656:216::0;;;:::o;4446:234::-;-1:-1:-1;;;;;4611:54:216;;;4569:19;4611:54;;;;;;;;;;;:62;;;;;;;;;;;;;4446:234::o;2199:108::-;2296:4;2199:108;:::o;3424:688::-;3586:13;3618:23;3649:87;3714:12;;3649:87;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3649:51:216;;-1:-1:-1;;;3649:87:216:i;:::-;3611:125;;;;;;;3747:18;3783:17;-1:-1:-1;;;;;3768:47:216;;:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3768:49:216;;-1:-1:-1;3832:9:216;3827:257;3847:6;:13;3843:1;:17;3827:257;;;3959:55;3985:17;4004:6;4011:1;4004:9;;;;;;;;;;;;;;3959:25;:55::i;:::-;3908:6;3915:1;3908:9;;;;;;;;;;;;;;-1:-1:-1;;;;;3902:26:216;;3929:10;3902:38;;;;;;;;;;;;;-1:-1:-1;;;;;3902:38:216;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3902:38:216;:112;3881:193;;;4054:5;4047:12;;;;;;;3881:193;3862:3;;3827:257;;;;4101:4;4094:11;;;;3424:688;;;;;;;:::o;2430:141::-;2484:25;2521:43;;;;;;;;;;;;;;;;;;;2430:141;:::o;2701:344::-;2881:34;;;2913:1;2881:34;;;;;;;;;2793:52;;2881:34;;;;;;;;;;;-1:-1:-1;2881:34:216;2861:54;;2948:55;2925:17;2943:1;2925:20;;;;;;;;;;;;;:78;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2701:344:216;:::o;941:83:223:-;;:::o;6755:113::-;6847:14;6755:113;:::o;5285:546::-;5436:17;5467:18;5499:31;5544:24;5582:30;5626:21;5719:15;5691:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5691:133:223;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5691:133:223;;;;;;;;;;;;-1:-1:-1;5691:133:223;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5691:133:223;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5691:133:223;;;;;;;;;;;;-1:-1:-1;5691:133:223;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;5691:133:223;;;;;;-1:-1:-1;5691:133:223;;;5672:152;;;;-1:-1:-1;5672:152:223;;-1:-1:-1;5672:152:223;;-1:-1:-1;5672:152:223;-1:-1:-1;5691:133:223;;-1:-1:-1;5285:546:223;;-1:-1:-1;;;;5285:546:223:o", "linkReferences": {}, "immutableReferences": { "59893": [ { "start": 985, "length": 32 }, { "start": 2259, "length": 32 } ] } }, "methodIdentifiers": { "activateForFund(address)": "ceb9a0ad", "addFundSettings(address,bytes)": "0f5f6b4f", "canDisable()": "1ef92578", "getMinAssetBalanceForFund(address,address)": "1d19746d", "getPolicyManager()": "d44ad6cb", "identifier()": "7998a1c4", "implementedHooks()": "cbf54bb2", "updateFundSettings(address,bytes)": "0d4d7510", "validateRule(address,uint8,bytes)": "579be718" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_policyManager\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"asset\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"minBalance\",\"type\":\"uint256\"}],\"name\":\"MinAssetBalanceAddedForFund\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"activateForFund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_encodedSettings\",\"type\":\"bytes\"}],\"name\":\"addFundSettings\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"canDisable\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"canDisable_\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"}],\"name\":\"getMinAssetBalanceForFund\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"minBalance_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPolicyManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"policyManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"identifier\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"identifier_\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"implementedHooks\",\"outputs\":[{\"internalType\":\"enum IPolicyManager.PolicyHook[]\",\"name\":\"implementedHooks_\",\"type\":\"uint8[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"updateFundSettings\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"enum IPolicyManager.PolicyHook\",\"name\":\"\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"_encodedArgs\",\"type\":\"bytes\"}],\"name\":\"validateRule\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isValid_\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"activateForFund(address)\":{\"details\":\"Unimplemented by default, can be overridden by the policy\"},\"addFundSettings(address,bytes)\":{\"details\":\"Most funds that use this policy will likely not allow any external positions. Does not prohibit specifying not-yet-defined external position type ids.\",\"params\":{\"_comptrollerProxy\":\"The fund's ComptrollerProxy address\",\"_encodedSettings\":\"Encoded settings to apply to a fund\"}},\"canDisable()\":{\"returns\":{\"canDisable_\":\"True if the policy can be disabled\"}},\"getMinAssetBalanceForFund(address,address)\":{\"params\":{\"_asset\":\"The asset\",\"_comptrollerProxy\":\"The fund's ComptrollerProxy address\"},\"returns\":{\"minBalance_\":\"The minimum balance\"}},\"getPolicyManager()\":{\"returns\":{\"policyManager_\":\"The `POLICY_MANAGER` variable value\"}},\"identifier()\":{\"returns\":{\"identifier_\":\"The identifier string\"}},\"implementedHooks()\":{\"returns\":{\"implementedHooks_\":\"The implemented PolicyHooks\"}},\"updateFundSettings(address,bytes)\":{\"details\":\"Disallowed by default, can be overridden by the policy\"},\"validateRule(address,uint8,bytes)\":{\"details\":\"onlyPolicyManager validation not necessary, as state is not updated and no events are fired\",\"params\":{\"_comptrollerProxy\":\"The fund's ComptrollerProxy address\",\"_encodedArgs\":\"Encoded args with which to validate the rule\"},\"returns\":{\"isValid_\":\"True if the rule passes\"}}},\"title\":\"MinAssetBalancesPostRedemptionPolicy Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"activateForFund(address)\":{\"notice\":\"Validates and initializes a policy as necessary prior to fund activation\"},\"addFundSettings(address,bytes)\":{\"notice\":\"Adds the initial policy settings for a fund\"},\"canDisable()\":{\"notice\":\"Whether or not the policy can be disabled\"},\"getMinAssetBalanceForFund(address,address)\":{\"notice\":\"Gets the minimum asset balance that must remain in a fund after specific asset redemption\"},\"getPolicyManager()\":{\"notice\":\"Gets the `POLICY_MANAGER` variable value\"},\"identifier()\":{\"notice\":\"Provides a constant string identifier for a policy\"},\"implementedHooks()\":{\"notice\":\"Gets the implemented PolicyHooks for a policy\"},\"updateFundSettings(address,bytes)\":{\"notice\":\"Updates the policy settings for a fund\"},\"validateRule(address,uint8,bytes)\":{\"notice\":\"Apply the rule with the specified parameters of a PolicyHook\"}},\"notice\":\"A policy that sets min remaining balance limits on assets specified during specific assets redemption\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/policy-manager/policies/current-shareholders/MinAssetBalancesPostRedemptionPolicy.sol\":\"MinAssetBalancesPostRedemptionPolicy\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/persistent/vault/interfaces/IExternalPositionVault.sol\":{\"keccak256\":\"0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d\",\"dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8\"]},\"contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol\":{\"keccak256\":\"0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb\",\"dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU\"]},\"contracts/persistent/vault/interfaces/IMigratableVault.sol\":{\"keccak256\":\"0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6\",\"dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs\"]},\"contracts/persistent/vault/interfaces/IVaultCore.sol\":{\"keccak256\":\"0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd\",\"dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr\"]},\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/core/fund/comptroller/ComptrollerLib.sol\":{\"keccak256\":\"0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579\",\"dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq\"]},\"contracts/release/core/fund/comptroller/IComptroller.sol\":{\"keccak256\":\"0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97\",\"dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L\"]},\"contracts/release/core/fund/vault/IVault.sol\":{\"keccak256\":\"0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599\",\"dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG\"]},\"contracts/release/extensions/IExtension.sol\":{\"keccak256\":\"0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70\",\"dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t\"]},\"contracts/release/extensions/fee-manager/IFeeManager.sol\":{\"keccak256\":\"0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22\",\"dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod\"]},\"contracts/release/extensions/policy-manager/IPolicy.sol\":{\"keccak256\":\"0xc12663ca72065b256c3b934ab738fde26c147c7b0399de43650df89dd52ee467\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://be8fecfcba0f3fda615f0a1bb3c766750c23761ef751d7c4472dfe540e460cd1\",\"dweb:/ipfs/QmaarPoRTsX6NiJ8V4u2f3Qh6d7tUs28bw9R14An3t5Bs1\"]},\"contracts/release/extensions/policy-manager/IPolicyManager.sol\":{\"keccak256\":\"0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa\",\"dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb\"]},\"contracts/release/extensions/policy-manager/policies/current-shareholders/MinAssetBalancesPostRedemptionPolicy.sol\":{\"keccak256\":\"0xf94b1c762db3a427c5535fa4736cee80acc439b854bbb447170162f88f1419d6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://120d92cf49aae5804492cb9f1a75ca339f2df20e4764600554de7d7373790471\",\"dweb:/ipfs/QmaAEotvGgiLEx8aUZadk7Dv9jdkfh79XPMhcBWeMnRTRz\"]},\"contracts/release/extensions/policy-manager/policies/utils/PolicyBase.sol\":{\"keccak256\":\"0x972311abb98f0da815b4aca83d5afdd219d3604ec19cf5e3773c0c305bd9b3f1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2452f3d1f3b1d8e8459a07489146a2d0d8a10463715937995cbe77ee5de8c069\",\"dweb:/ipfs/Qmf2hhd2DVbjpxmbNGAhRZNZkqpGZA2mX3eA1WNwtv6t5Y\"]},\"contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol\":{\"keccak256\":\"0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f\",\"dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol\":{\"keccak256\":\"0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0\",\"dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol\":{\"keccak256\":\"0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b\",\"dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3\"]},\"contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol\":{\"keccak256\":\"0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965\",\"dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ\"]},\"contracts/release/interfaces/IGsnForwarder.sol\":{\"keccak256\":\"0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29\",\"dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G\"]},\"contracts/release/interfaces/IGsnPaymaster.sol\":{\"keccak256\":\"0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4\",\"dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF\"]},\"contracts/release/interfaces/IGsnTypes.sol\":{\"keccak256\":\"0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7\",\"dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/beacon-proxy/IBeacon.sol\":{\"keccak256\":\"0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39\",\"dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V\"]},\"contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol\":{\"keccak256\":\"0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be\",\"dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_policyManager", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "comptrollerProxy", "type": "address", "indexed": true }, { "internalType": "address", "name": "asset", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "minBalance", "type": "uint256", "indexed": false } ], "type": "event", "name": "MinAssetBalanceAddedForFund", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "activateForFund" }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" }, { "internalType": "bytes", "name": "_encodedSettings", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "addFundSettings" }, { "inputs": [], "stateMutability": "pure", "type": "function", "name": "canDisable", "outputs": [ { "internalType": "bool", "name": "canDisable_", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" }, { "internalType": "address", "name": "_asset", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getMinAssetBalanceForFund", "outputs": [ { "internalType": "uint256", "name": "minBalance_", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getPolicyManager", "outputs": [ { "internalType": "address", "name": "policyManager_", "type": "address" } ] }, { "inputs": [], "stateMutability": "pure", "type": "function", "name": "identifier", "outputs": [ { "internalType": "string", "name": "identifier_", "type": "string" } ] }, { "inputs": [], "stateMutability": "pure", "type": "function", "name": "implementedHooks", "outputs": [ { "internalType": "enum IPolicyManager.PolicyHook[]", "name": "implementedHooks_", "type": "uint8[]" } ] }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "updateFundSettings" }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" }, { "internalType": "enum IPolicyManager.PolicyHook", "name": "", "type": "uint8" }, { "internalType": "bytes", "name": "_encodedArgs", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "validateRule", "outputs": [ { "internalType": "bool", "name": "isValid_", "type": "bool" } ] } ], "devdoc": { "kind": "dev", "methods": { "activateForFund(address)": { "details": "Unimplemented by default, can be overridden by the policy" }, "addFundSettings(address,bytes)": { "details": "Most funds that use this policy will likely not allow any external positions. Does not prohibit specifying not-yet-defined external position type ids.", "params": { "_comptrollerProxy": "The fund's ComptrollerProxy address", "_encodedSettings": "Encoded settings to apply to a fund" } }, "canDisable()": { "returns": { "canDisable_": "True if the policy can be disabled" } }, "getMinAssetBalanceForFund(address,address)": { "params": { "_asset": "The asset", "_comptrollerProxy": "The fund's ComptrollerProxy address" }, "returns": { "minBalance_": "The minimum balance" } }, "getPolicyManager()": { "returns": { "policyManager_": "The `POLICY_MANAGER` variable value" } }, "identifier()": { "returns": { "identifier_": "The identifier string" } }, "implementedHooks()": { "returns": { "implementedHooks_": "The implemented PolicyHooks" } }, "updateFundSettings(address,bytes)": { "details": "Disallowed by default, can be overridden by the policy" }, "validateRule(address,uint8,bytes)": { "details": "onlyPolicyManager validation not necessary, as state is not updated and no events are fired", "params": { "_comptrollerProxy": "The fund's ComptrollerProxy address", "_encodedArgs": "Encoded args with which to validate the rule" }, "returns": { "isValid_": "True if the rule passes" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "activateForFund(address)": { "notice": "Validates and initializes a policy as necessary prior to fund activation" }, "addFundSettings(address,bytes)": { "notice": "Adds the initial policy settings for a fund" }, "canDisable()": { "notice": "Whether or not the policy can be disabled" }, "getMinAssetBalanceForFund(address,address)": { "notice": "Gets the minimum asset balance that must remain in a fund after specific asset redemption" }, "getPolicyManager()": { "notice": "Gets the `POLICY_MANAGER` variable value" }, "identifier()": { "notice": "Provides a constant string identifier for a policy" }, "implementedHooks()": { "notice": "Gets the implemented PolicyHooks for a policy" }, "updateFundSettings(address,bytes)": { "notice": "Updates the policy settings for a fund" }, "validateRule(address,uint8,bytes)": { "notice": "Apply the rule with the specified parameters of a PolicyHook" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/policy-manager/policies/current-shareholders/MinAssetBalancesPostRedemptionPolicy.sol": "MinAssetBalancesPostRedemptionPolicy" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/dispatcher/IDispatcher.sol": { "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", "urls": [ "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" ], "license": "GPL-3.0" }, "contracts/persistent/external-positions/IExternalPosition.sol": { "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", "urls": [ "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IExternalPositionVault.sol": { "keccak256": "0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6", "urls": [ "bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d", "dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol": { "keccak256": "0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0", "urls": [ "bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb", "dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IMigratableVault.sol": { "keccak256": "0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238", "urls": [ "bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6", "dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IVaultCore.sol": { "keccak256": "0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80", "urls": [ "bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd", "dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr" ], "license": "GPL-3.0" }, "contracts/release/core/fund-deployer/IFundDeployer.sol": { "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", "urls": [ "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" ], "license": "GPL-3.0" }, "contracts/release/core/fund/comptroller/ComptrollerLib.sol": { "keccak256": "0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64", "urls": [ "bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579", "dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq" ], "license": "GPL-3.0" }, "contracts/release/core/fund/comptroller/IComptroller.sol": { "keccak256": "0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f", "urls": [ "bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97", "dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L" ], "license": "GPL-3.0" }, "contracts/release/core/fund/vault/IVault.sol": { "keccak256": "0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd", "urls": [ "bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599", "dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG" ], "license": "GPL-3.0" }, "contracts/release/extensions/IExtension.sol": { "keccak256": "0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b", "urls": [ "bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70", "dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t" ], "license": "GPL-3.0" }, "contracts/release/extensions/fee-manager/IFeeManager.sol": { "keccak256": "0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51", "urls": [ "bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22", "dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod" ], "license": "GPL-3.0" }, "contracts/release/extensions/policy-manager/IPolicy.sol": { "keccak256": "0xc12663ca72065b256c3b934ab738fde26c147c7b0399de43650df89dd52ee467", "urls": [ "bzz-raw://be8fecfcba0f3fda615f0a1bb3c766750c23761ef751d7c4472dfe540e460cd1", "dweb:/ipfs/QmaarPoRTsX6NiJ8V4u2f3Qh6d7tUs28bw9R14An3t5Bs1" ], "license": "GPL-3.0" }, "contracts/release/extensions/policy-manager/IPolicyManager.sol": { "keccak256": "0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32", "urls": [ "bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa", "dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb" ], "license": "GPL-3.0" }, "contracts/release/extensions/policy-manager/policies/current-shareholders/MinAssetBalancesPostRedemptionPolicy.sol": { "keccak256": "0xf94b1c762db3a427c5535fa4736cee80acc439b854bbb447170162f88f1419d6", "urls": [ "bzz-raw://120d92cf49aae5804492cb9f1a75ca339f2df20e4764600554de7d7373790471", "dweb:/ipfs/QmaAEotvGgiLEx8aUZadk7Dv9jdkfh79XPMhcBWeMnRTRz" ], "license": "GPL-3.0" }, "contracts/release/extensions/policy-manager/policies/utils/PolicyBase.sol": { "keccak256": "0x972311abb98f0da815b4aca83d5afdd219d3604ec19cf5e3773c0c305bd9b3f1", "urls": [ "bzz-raw://2452f3d1f3b1d8e8459a07489146a2d0d8a10463715937995cbe77ee5de8c069", "dweb:/ipfs/Qmf2hhd2DVbjpxmbNGAhRZNZkqpGZA2mX3eA1WNwtv6t5Y" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol": { "keccak256": "0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609", "urls": [ "bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f", "dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol": { "keccak256": "0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01", "urls": [ "bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0", "dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol": { "keccak256": "0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196", "urls": [ "bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b", "dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol": { "keccak256": "0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794", "urls": [ "bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965", "dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IGsnForwarder.sol": { "keccak256": "0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030", "urls": [ "bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29", "dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IGsnPaymaster.sol": { "keccak256": "0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c", "urls": [ "bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4", "dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IGsnTypes.sol": { "keccak256": "0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714", "urls": [ "bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7", "dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C" ], "license": "GPL-3.0" }, "contracts/release/utils/AddressArrayLib.sol": { "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", "urls": [ "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" ], "license": "GPL-3.0" }, "contracts/release/utils/beacon-proxy/IBeacon.sol": { "keccak256": "0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2", "urls": [ "bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39", "dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V" ], "license": "GPL-3.0" }, "contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol": { "keccak256": "0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc", "urls": [ "bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be", "dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", "urls": [ "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Address.sol": { "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", "urls": [ "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" } }, "version": 1 }, "id": 216 } diff --git a/eth_defi/abi/enzyme/MinMaxInvestmentPolicy.json b/eth_defi/abi/enzyme/MinMaxInvestmentPolicy.json index 870cae7d..a204240b 100644 --- a/eth_defi/abi/enzyme/MinMaxInvestmentPolicy.json +++ b/eth_defi/abi/enzyme/MinMaxInvestmentPolicy.json @@ -1,660 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_policyManager", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "comptrollerProxy", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "minInvestmentAmount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "maxInvestmentAmount", - "type": "uint256" - } - ], - "name": "FundSettingsSet", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "activateForFund", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_encodedSettings", - "type": "bytes" - } - ], - "name": "addFundSettings", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "canDisable", - "outputs": [ - { - "internalType": "bool", - "name": "canDisable_", - "type": "bool" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - } - ], - "name": "getFundSettings", - "outputs": [ - { - "components": [ - { - "internalType": "uint256", - "name": "minInvestmentAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "maxInvestmentAmount", - "type": "uint256" - } - ], - "internalType": "struct MinMaxInvestmentPolicy.FundSettings", - "name": "fundSettings_", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getPolicyManager", - "outputs": [ - { - "internalType": "address", - "name": "policyManager_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "identifier", - "outputs": [ - { - "internalType": "string", - "name": "identifier_", - "type": "string" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "implementedHooks", - "outputs": [ - { - "internalType": "enum IPolicyManager.PolicyHook[]", - "name": "implementedHooks_", - "type": "uint8[]" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_investmentAmount", - "type": "uint256" - } - ], - "name": "passesRule", - "outputs": [ - { - "internalType": "bool", - "name": "isValid_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_encodedSettings", - "type": "bytes" - } - ], - "name": "updateFundSettings", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "enum IPolicyManager.PolicyHook", - "name": "", - "type": "uint8" - }, - { - "internalType": "bytes", - "name": "_encodedArgs", - "type": "bytes" - } - ], - "name": "validateRule", - "outputs": [ - { - "internalType": "bool", - "name": "isValid_", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x60a060405234801561001057600080fd5b50604051610a88380380610a8883398101604081905261002f91610055565b60601b6001600160601b0319166080526100a3565b805161004f8161008c565b92915050565b60006020828403121561006757600080fd5b60006100738484610044565b949350505050565b60006001600160a01b03821661004f565b6100958161007b565b81146100a057600080fd5b50565b60805160601c6109c36100c560003980610179528061038552506109c36000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c80636e3a9982116100665780636e3a9982146101095780637998a1c41461011c578063cbf54bb214610131578063ceb9a0ad14610146578063d44ad6cb146101595761009e565b80630d4d7510146100a35780630f5f6b4f146100a35780631ef92578146100b85780634fa4e54b146100d6578063579be718146100f6575b600080fd5b6100b66100b1366004610597565b61016e565b005b6100c0610204565b6040516100cd919061089d565b60405180910390f35b6100e96100e4366004610510565b610209565b6040516100cd91906108dc565b6100c06101043660046105ed565b610246565b6100c0610117366004610655565b6102a1565b6101246102fd565b6040516100cd91906108ab565b610139610329565b6040516100cd9190610885565b6100b6610154366004610510565b610380565b610161610383565b6040516100cd9190610877565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146101bf5760405162461bcd60e51b81526004016101b6906108bc565b60405180910390fd5b6101ff8383838080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506103a792505050565b505050565b600190565b610211610476565b506001600160a01b0381166000908152602081815260409182902082518084019093528054835260010154908201525b919050565b60008061028884848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061044d92505050565b505091505061029786826102a1565b9695505050505050565b6001600160a01b03821660009081526020819052604081208054600190910154816102d25783111591506102f79050565b806102e2575082101590506102f7565b8184101580156102f25750808411155b925050505b92915050565b60408051808201909152601281527113525397d3505617d253959154d51351539560721b602082015290565b6040805160018082528183019092526060916020808301908036833701905050905060008160008151811061035a57fe5b6020026020010190600981111561036d57fe5b9081600981111561037a57fe5b90525090565b50565b7f000000000000000000000000000000000000000000000000000000000000000090565b600080828060200190518101906103be919061068f565b9150915080600014806103d057508082105b6103ec5760405162461bcd60e51b81526004016101b6906108cc565b6001600160a01b03841660008181526020819052604090819020848155600101839055517fed112d6c0e84b6900209ce5a4c04541bc63a517e0160888c447ee70be47ce60f9061043f90859085906108ea565b60405180910390a250505050565b600080600080848060200190518101906104679190610536565b93509350935093509193509193565b604051806040016040528060008152602001600081525090565b80356102f78161098c565b80516102f78161098c565b60008083601f8401126104b857600080fd5b50813567ffffffffffffffff8111156104d057600080fd5b6020830191508360018202830111156104e857600080fd5b9250929050565b80356102f7816109a0565b80356102f7816109ad565b80516102f7816109ad565b60006020828403121561052257600080fd5b600061052e8484610490565b949350505050565b6000806000806080858703121561054c57600080fd5b6000610558878761049b565b945050602061056987828801610505565b935050604061057a87828801610505565b925050606061058b87828801610505565b91505092959194509250565b6000806000604084860312156105ac57600080fd5b60006105b88686610490565b935050602084013567ffffffffffffffff8111156105d557600080fd5b6105e1868287016104a6565b92509250509250925092565b6000806000806060858703121561060357600080fd5b600061060f8787610490565b9450506020610620878288016104ef565b935050604085013567ffffffffffffffff81111561063d57600080fd5b610649878288016104a6565b95989497509550505050565b6000806040838503121561066857600080fd5b60006106748585610490565b9250506020610685858286016104fa565b9150509250929050565b600080604083850312156106a257600080fd5b60006106ae8585610505565b925050602061068585828601610505565b60006106cb8383610744565b505060200190565b6106dc81610918565b82525050565b60006106ed8261090b565b6106f7818561090f565b935061070283610905565b8060005b8381101561073057815161071a88826106bf565b975061072583610905565b925050600101610706565b509495945050505050565b6106dc81610923565b6106dc81610941565b60006107588261090b565b610762818561090f565b935061077281856020860161094c565b61077b81610978565b9093019392505050565b600061079260298361090f565b7f4f6e6c792074686520506f6c6963794d616e616765722063616e206d616b65208152681d1a1a5cc818d85b1b60ba1b602082015260400192915050565b60006107dd604c8361090f565b7f5f5f73657446756e6453657474696e67733a206d696e496e766573746d656e7481527f416d6f756e74206d757374206265206c657373207468616e206d6178496e766560208201526b1cdd1b595b9d105b5bdd5b9d60a21b604082015260600192915050565b80516040830190610855848261086e565b506020820151610868602085018261086e565b50505050565b6106dc8161093e565b602081016102f782846106d3565b6020808252810161089681846106e2565b9392505050565b602081016102f7828461073b565b60208082528101610896818461074d565b602080825281016102f781610785565b602080825281016102f7816107d0565b604081016102f78284610844565b604081016108f8828561086e565b610896602083018461086e565b60200190565b5190565b90815260200190565b60006102f782610932565b151590565b8061024181610982565b6001600160a01b031690565b90565b60006102f782610928565b60005b8381101561096757818101518382015260200161094f565b838111156108685750506000910152565b601f01601f191690565b600a811061038057fe5b61099581610918565b811461038057600080fd5b600a811061038057600080fd5b6109958161093e56fea164736f6c634300060c000a", - "sourceMap": "591:5561:219:-:0;;;978:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;737:31:223;;-1:-1:-1;;;;;;737:31:223;;;591:5561:219;;5:134:-1;83:13;;101:33;83:13;101:33;:::i;:::-;68:71;;;;:::o;146:263::-;;261:2;249:9;240:7;236:23;232:32;229:2;;;277:1;274;267:12;229:2;312:1;329:64;385:7;365:9;329:64;:::i;:::-;319:74;223:186;-1:-1;;;;223:186::o;416:91::-;;-1:-1;;;;;576:54;;478:24;559:76::o;642:117::-;711:24;729:5;711:24;:::i;:::-;704:5;701:35;691:2;;750:1;747;740:12;691:2;685:74;:::o;:::-;591:5561:219;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b506004361061009e5760003560e01c80636e3a9982116100665780636e3a9982146101095780637998a1c41461011c578063cbf54bb214610131578063ceb9a0ad14610146578063d44ad6cb146101595761009e565b80630d4d7510146100a35780630f5f6b4f146100a35780631ef92578146100b85780634fa4e54b146100d6578063579be718146100f6575b600080fd5b6100b66100b1366004610597565b61016e565b005b6100c0610204565b6040516100cd919061089d565b60405180910390f35b6100e96100e4366004610510565b610209565b6040516100cd91906108dc565b6100c06101043660046105ed565b610246565b6100c0610117366004610655565b6102a1565b6101246102fd565b6040516100cd91906108ab565b610139610329565b6040516100cd9190610885565b6100b6610154366004610510565b610380565b610161610383565b6040516100cd9190610877565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146101bf5760405162461bcd60e51b81526004016101b6906108bc565b60405180910390fd5b6101ff8383838080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506103a792505050565b505050565b600190565b610211610476565b506001600160a01b0381166000908152602081815260409182902082518084019093528054835260010154908201525b919050565b60008061028884848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061044d92505050565b505091505061029786826102a1565b9695505050505050565b6001600160a01b03821660009081526020819052604081208054600190910154816102d25783111591506102f79050565b806102e2575082101590506102f7565b8184101580156102f25750808411155b925050505b92915050565b60408051808201909152601281527113525397d3505617d253959154d51351539560721b602082015290565b6040805160018082528183019092526060916020808301908036833701905050905060008160008151811061035a57fe5b6020026020010190600981111561036d57fe5b9081600981111561037a57fe5b90525090565b50565b7f000000000000000000000000000000000000000000000000000000000000000090565b600080828060200190518101906103be919061068f565b9150915080600014806103d057508082105b6103ec5760405162461bcd60e51b81526004016101b6906108cc565b6001600160a01b03841660008181526020819052604090819020848155600101839055517fed112d6c0e84b6900209ce5a4c04541bc63a517e0160888c447ee70be47ce60f9061043f90859085906108ea565b60405180910390a250505050565b600080600080848060200190518101906104679190610536565b93509350935093509193509193565b604051806040016040528060008152602001600081525090565b80356102f78161098c565b80516102f78161098c565b60008083601f8401126104b857600080fd5b50813567ffffffffffffffff8111156104d057600080fd5b6020830191508360018202830111156104e857600080fd5b9250929050565b80356102f7816109a0565b80356102f7816109ad565b80516102f7816109ad565b60006020828403121561052257600080fd5b600061052e8484610490565b949350505050565b6000806000806080858703121561054c57600080fd5b6000610558878761049b565b945050602061056987828801610505565b935050604061057a87828801610505565b925050606061058b87828801610505565b91505092959194509250565b6000806000604084860312156105ac57600080fd5b60006105b88686610490565b935050602084013567ffffffffffffffff8111156105d557600080fd5b6105e1868287016104a6565b92509250509250925092565b6000806000806060858703121561060357600080fd5b600061060f8787610490565b9450506020610620878288016104ef565b935050604085013567ffffffffffffffff81111561063d57600080fd5b610649878288016104a6565b95989497509550505050565b6000806040838503121561066857600080fd5b60006106748585610490565b9250506020610685858286016104fa565b9150509250929050565b600080604083850312156106a257600080fd5b60006106ae8585610505565b925050602061068585828601610505565b60006106cb8383610744565b505060200190565b6106dc81610918565b82525050565b60006106ed8261090b565b6106f7818561090f565b935061070283610905565b8060005b8381101561073057815161071a88826106bf565b975061072583610905565b925050600101610706565b509495945050505050565b6106dc81610923565b6106dc81610941565b60006107588261090b565b610762818561090f565b935061077281856020860161094c565b61077b81610978565b9093019392505050565b600061079260298361090f565b7f4f6e6c792074686520506f6c6963794d616e616765722063616e206d616b65208152681d1a1a5cc818d85b1b60ba1b602082015260400192915050565b60006107dd604c8361090f565b7f5f5f73657446756e6453657474696e67733a206d696e496e766573746d656e7481527f416d6f756e74206d757374206265206c657373207468616e206d6178496e766560208201526b1cdd1b595b9d105b5bdd5b9d60a21b604082015260600192915050565b80516040830190610855848261086e565b506020820151610868602085018261086e565b50505050565b6106dc8161093e565b602081016102f782846106d3565b6020808252810161089681846106e2565b9392505050565b602081016102f7828461073b565b60208082528101610896818461074d565b602080825281016102f781610785565b602080825281016102f7816107d0565b604081016102f78284610844565b604081016108f8828561086e565b610896602083018461086e565b60200190565b5190565b90815260200190565b60006102f782610932565b151590565b8061024181610982565b6001600160a01b031690565b90565b60006102f782610928565b60005b8381101561096757818101518382015260200161094f565b838111156108685750506000910152565b601f01601f191690565b600a811061038057fe5b61099581610918565b811461038057600080fd5b600a811061038057600080fd5b6109958161093e56fea164736f6c634300060c000a", - "sourceMap": "591:5561:219:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2611:223;;;;;;:::i;:::-;;:::i;:::-;;1600:108;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5939:211;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;4353:343::-;;;;;;:::i;:::-;;:::i;3133:841::-;;;;;;:::i;:::-;;:::i;1830:125::-;;;:::i;:::-;;;;;;;:::i;2085:328::-;;;:::i;:::-;;;;;;;:::i;941:83:223:-;;;;;;:::i;:::-;;:::i;6755:113::-;;;:::i;:::-;;;;;;;:::i;2611:223:219:-;586:10:223;-1:-1:-1;;;;;600:14:223;586:28;;578:82;;;;-1:-1:-1;;;578:82:223;;;;;;;:::i;:::-;;;;;;;;;2773:54:219::1;2791:17;2810:16;;2773:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;2773:17:219::1;::::0;-1:-1:-1;;;2773:54:219:i:1;:::-;2611:223:::0;;;:::o;1600:108::-;1697:4;1600:108;:::o;5939:211::-;6038:33;;:::i;:::-;-1:-1:-1;;;;;;6094:49:219;;:30;:49;;;;;;;;;;;;6087:56;;;;;;;;;;;;;;;;;;;5939:211;;;;:::o;4353:343::-;4515:13;4543:24;4575:49;4611:12;;4575:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4575:35:219;;-1:-1:-1;;;4575:49:219:i;:::-;4540:84;;;;;4642:47;4653:17;4672:16;4642:10;:47::i;:::-;4635:54;4353:343;-1:-1:-1;;;;;;4353:343:219:o;3133:841::-;-1:-1:-1;;;;;3311:49:219;;3252:13;3311:49;;;;;;;;;;:82;;3433;;;;;3649:24;3645:210;;3696:40;;;;-1:-1:-1;3689:47:219;;-1:-1:-1;3689:47:219;3645:210;3757:24;3753:102;;-1:-1:-1;3804:40:219;;;;-1:-1:-1;3797:47:219;;3753:102;3904:19;3883:17;:40;;:84;;;;;3948:19;3927:17;:40;;3883:84;3864:103;;;;3133:841;;;;;:::o;1830:125::-;1921:27;;;;;;;;;;;;-1:-1:-1;;;1921:27:219;;;;1830:125;:::o;2085:328::-;2265:34;;;2297:1;2265:34;;;;;;;;;2177:52;;2265:34;;;;;;;;;;;-1:-1:-1;2265:34:219;2245:54;;2332:39;2309:17;2327:1;2309:20;;;;;;;;;;;;;:62;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2085:328:219;:::o;941:83:223:-;;:::o;6755:113::-;6847:14;6755:113;:::o;4897:777:219:-;5001:27;5030;5085:16;5061:82;;;;;;;;;;;;:::i;:::-;5000:143;;;;5175:19;5198:1;5175:24;:69;;;;5225:19;5203;:41;5175:69;5154:192;;;;-1:-1:-1;;;5154:192:219;;;;;;;:::i;:::-;-1:-1:-1;;;;;5357:49:219;;:30;:49;;;;;;;;;;;;:104;;;5471:82;;:104;;;5591:76;;;;;5442:19;;5556;;5591:76;:::i;:::-;;;;;;;;4897:777;;;;:::o;3033:353:223:-;3168:14;3196:25;3235:21;3270:12;3325:15;3314:65;;;;;;;;;;;;:::i;:::-;3307:72;;;;;;;;3033:353;;;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;:::o;5:130::-;72:20;;97:33;72:20;97:33;:::i;142:150::-;228:13;;246:41;228:13;246:41;:::i;313:336::-;;;427:3;420:4;412:6;408:17;404:27;394:2;;445:1;442;435:12;394:2;-1:-1;465:20;;505:18;494:30;;491:2;;;537:1;534;527:12;491:2;571:4;563:6;559:17;547:29;;622:3;614:4;606:6;602:17;592:8;588:32;585:41;582:2;;;639:1;636;629:12;582:2;387:262;;;;;:::o;657:162::-;740:20;;765:49;740:20;765:49;:::i;826:130::-;893:20;;918:33;893:20;918:33;:::i;963:134::-;1041:13;;1059:33;1041:13;1059:33;:::i;1104:241::-;;1208:2;1196:9;1187:7;1183:23;1179:32;1176:2;;;1224:1;1221;1214:12;1176:2;1259:1;1276:53;1321:7;1301:9;1276:53;:::i;:::-;1266:63;1170:175;-1:-1;;;;1170:175::o;1352:688::-;;;;;1526:3;1514:9;1505:7;1501:23;1497:33;1494:2;;;1543:1;1540;1533:12;1494:2;1578:1;1595:72;1659:7;1639:9;1595:72;:::i;:::-;1585:82;;1557:116;1704:2;1722:64;1778:7;1769:6;1758:9;1754:22;1722:64;:::i;:::-;1712:74;;1683:109;1823:2;1841:64;1897:7;1888:6;1877:9;1873:22;1841:64;:::i;:::-;1831:74;;1802:109;1942:2;1960:64;2016:7;2007:6;1996:9;1992:22;1960:64;:::i;:::-;1950:74;;1921:109;1488:552;;;;;;;:::o;2047:490::-;;;;2187:2;2175:9;2166:7;2162:23;2158:32;2155:2;;;2203:1;2200;2193:12;2155:2;2238:1;2255:53;2300:7;2280:9;2255:53;:::i;:::-;2245:63;;2217:97;2373:2;2362:9;2358:18;2345:32;2397:18;2389:6;2386:30;2383:2;;;2429:1;2426;2419:12;2383:2;2457:64;2513:7;2504:6;2493:9;2489:22;2457:64;:::i;:::-;2439:82;;;;2324:203;2149:388;;;;;:::o;2544:647::-;;;;;2717:2;2705:9;2696:7;2692:23;2688:32;2685:2;;;2733:1;2730;2723:12;2685:2;2768:1;2785:53;2830:7;2810:9;2785:53;:::i;:::-;2775:63;;2747:97;2875:2;2893:69;2954:7;2945:6;2934:9;2930:22;2893:69;:::i;:::-;2883:79;;2854:114;3027:2;3016:9;3012:18;2999:32;3051:18;3043:6;3040:30;3037:2;;;3083:1;3080;3073:12;3037:2;3111:64;3167:7;3158:6;3147:9;3143:22;3111:64;:::i;:::-;2679:512;;;;-1:-1;3093:82;-1:-1;;;;2679:512::o;3198:366::-;;;3319:2;3307:9;3298:7;3294:23;3290:32;3287:2;;;3335:1;3332;3325:12;3287:2;3370:1;3387:53;3432:7;3412:9;3387:53;:::i;:::-;3377:63;;3349:97;3477:2;3495:53;3540:7;3531:6;3520:9;3516:22;3495:53;:::i;:::-;3485:63;;3456:98;3281:283;;;;;:::o;3571:399::-;;;3703:2;3691:9;3682:7;3678:23;3674:32;3671:2;;;3719:1;3716;3709:12;3671:2;3754:1;3771:64;3827:7;3807:9;3771:64;:::i;:::-;3761:74;;3733:108;3872:2;3890:64;3946:7;3937:6;3926:9;3922:22;3890:64;:::i;3978:201::-;;4079:60;4135:3;4127:6;4079:60;:::i;:::-;-1:-1;;4168:4;4159:14;;4072:107::o;4187:113::-;4270:24;4288:5;4270:24;:::i;:::-;4265:3;4258:37;4252:48;;:::o;4359:764::-;;4518:70;4582:5;4518:70;:::i;:::-;4601:84;4678:6;4673:3;4601:84;:::i;:::-;4594:91;;4706:72;4772:5;4706:72;:::i;:::-;4798:7;4826:1;4811:290;4836:6;4833:1;4830:13;4811:290;;;4903:6;4897:13;4924:77;4997:3;4982:13;4924:77;:::i;:::-;4917:84;;5018:76;5087:6;5018:76;:::i;:::-;5008:86;-1:-1;;4858:1;4851:9;4811:290;;;-1:-1;5114:3;;4497:626;-1:-1;;;;;4497:626::o;5131:104::-;5208:21;5223:5;5208:21;:::i;5242:144::-;5329:51;5374:5;5329:51;:::i;5393:347::-;;5505:39;5538:5;5505:39;:::i;:::-;5556:71;5620:6;5615:3;5556:71;:::i;:::-;5549:78;;5632:52;5677:6;5672:3;5665:4;5658:5;5654:16;5632:52;:::i;:::-;5705:29;5727:6;5705:29;:::i;:::-;5696:39;;;;5485:255;-1:-1;;;5485:255::o;5748:378::-;;5908:67;5972:2;5967:3;5908:67;:::i;:::-;6008:34;5988:55;;-1:-1;;;6072:2;6063:12;;6056:33;6117:2;6108:12;;5894:232;-1:-1;;5894:232::o;6135:450::-;;6295:67;6359:2;6354:3;6295:67;:::i;:::-;6395:34;6375:55;;6464:34;6459:2;6450:12;;6443:56;-1:-1;;;6528:2;6519:12;;6512:36;6576:2;6567:12;;6281:304;-1:-1;;6281:304::o;6688:518::-;6924:23;;6843:4;6834:14;;;6953:63;6838:3;6924:23;6953:63;:::i;:::-;6863:159;7110:4;7103:5;7099:16;7093:23;7122:63;7179:4;7174:3;7170:14;7156:12;7122:63;:::i;:::-;7032:159;6816:390;;;:::o;7213:103::-;7286:24;7304:5;7286:24;:::i;7443:222::-;7570:2;7555:18;;7584:71;7559:9;7628:6;7584:71;:::i;7672:398::-;7863:2;7877:47;;;7848:18;;7938:122;7848:18;8046:6;7938:122;:::i;:::-;7930:130;7834:236;-1:-1;;;7834:236::o;8077:210::-;8198:2;8183:18;;8212:65;8187:9;8250:6;8212:65;:::i;8294:310::-;8441:2;8455:47;;;8426:18;;8516:78;8426:18;8580:6;8516:78;:::i;8611:416::-;8811:2;8825:47;;;8796:18;;8886:131;8796:18;8886:131;:::i;9034:416::-;9234:2;9248:47;;;9219:18;;9309:131;9219:18;9309:131;:::i;9457:346::-;9646:2;9631:18;;9660:133;9635:9;9766:6;9660:133;:::i;9810:333::-;9965:2;9950:18;;9979:71;9954:9;10023:6;9979:71;:::i;:::-;10061:72;10129:2;10118:9;10114:18;10105:6;10061:72;:::i;10150:167::-;10290:4;10281:14;;10238:79::o;10324:153::-;10443:12;;10414:63::o;10745:176::-;10861:19;;;10910:4;10901:14;;10854:67::o;11101:91::-;;11163:24;11181:5;11163:24;:::i;11305:85::-;11371:13;11364:21;;11347:43::o;11397:138::-;11475:5;11481:49;11475:5;11481:49;:::i;11542:121::-;-1:-1;;;;;11604:54;;11587:76::o;11670:72::-;11732:5;11715:27::o;11749:138::-;;11842:40;11876:5;11842:40;:::i;11895:268::-;11960:1;11967:101;11981:6;11978:1;11975:13;11967:101;;;12048:11;;;12042:18;12029:11;;;12022:39;12003:2;11996:10;11967:101;;;12083:6;12080:1;12077:13;12074:2;;;-1:-1;;12148:1;12130:16;;12123:27;11944:219::o;12171:97::-;12259:2;12239:14;-1:-1;;12235:28;;12219:49::o;12276:108::-;12361:2;12354:5;12351:13;12341:2;;12368:9;12391:117;12460:24;12478:5;12460:24;:::i;:::-;12453:5;12450:35;12440:2;;12499:1;12496;12489:12;12655:111;12740:2;12733:5;12730:13;12720:2;;12757:1;12754;12747:12;12773:117;12842:24;12860:5;12842:24;:::i", - "linkReferences": {}, - "immutableReferences": { - "59893": [ - { - "start": 377, - "length": 32 - }, - { - "start": 901, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "activateForFund(address)": "ceb9a0ad", - "addFundSettings(address,bytes)": "0f5f6b4f", - "canDisable()": "1ef92578", - "getFundSettings(address)": "4fa4e54b", - "getPolicyManager()": "d44ad6cb", - "identifier()": "7998a1c4", - "implementedHooks()": "cbf54bb2", - "passesRule(address,uint256)": "6e3a9982", - "updateFundSettings(address,bytes)": "0d4d7510", - "validateRule(address,uint8,bytes)": "579be718" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_policyManager\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"minInvestmentAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"maxInvestmentAmount\",\"type\":\"uint256\"}],\"name\":\"FundSettingsSet\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"activateForFund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_encodedSettings\",\"type\":\"bytes\"}],\"name\":\"addFundSettings\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"canDisable\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"canDisable_\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"}],\"name\":\"getFundSettings\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"minInvestmentAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxInvestmentAmount\",\"type\":\"uint256\"}],\"internalType\":\"struct MinMaxInvestmentPolicy.FundSettings\",\"name\":\"fundSettings_\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPolicyManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"policyManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"identifier\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"identifier_\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"implementedHooks\",\"outputs\":[{\"internalType\":\"enum IPolicyManager.PolicyHook[]\",\"name\":\"implementedHooks_\",\"type\":\"uint8[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_investmentAmount\",\"type\":\"uint256\"}],\"name\":\"passesRule\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isValid_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_encodedSettings\",\"type\":\"bytes\"}],\"name\":\"updateFundSettings\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"enum IPolicyManager.PolicyHook\",\"name\":\"\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"_encodedArgs\",\"type\":\"bytes\"}],\"name\":\"validateRule\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isValid_\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"activateForFund(address)\":{\"details\":\"Unimplemented by default, can be overridden by the policy\"},\"addFundSettings(address,bytes)\":{\"params\":{\"_comptrollerProxy\":\"The fund's ComptrollerProxy address\",\"_encodedSettings\":\"Encoded settings to apply to a fund\"}},\"canDisable()\":{\"returns\":{\"canDisable_\":\"True if the policy can be disabled\"}},\"getFundSettings(address)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\"},\"returns\":{\"fundSettings_\":\"The fund settings\"}},\"getPolicyManager()\":{\"returns\":{\"policyManager_\":\"The `POLICY_MANAGER` variable value\"}},\"identifier()\":{\"returns\":{\"identifier_\":\"The identifer string\"}},\"implementedHooks()\":{\"returns\":{\"implementedHooks_\":\"The implemented PolicyHooks\"}},\"passesRule(address,uint256)\":{\"params\":{\"_comptrollerProxy\":\"The fund's ComptrollerProxy address\",\"_investmentAmount\":\"The investment amount for which to check the rule\"},\"returns\":{\"isValid_\":\"True if the rule passes\"}},\"updateFundSettings(address,bytes)\":{\"params\":{\"_comptrollerProxy\":\"The fund's ComptrollerProxy address\",\"_encodedSettings\":\"Encoded settings to apply to a fund\"}},\"validateRule(address,uint8,bytes)\":{\"details\":\"onlyPolicyManager validation not necessary, as state is not updated and no events are fired\",\"params\":{\"_comptrollerProxy\":\"The fund's ComptrollerProxy address\",\"_encodedArgs\":\"Encoded args with which to validate the rule\"},\"returns\":{\"isValid_\":\"True if the rule passes\"}}},\"title\":\"MinMaxInvestmentPolicy Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"activateForFund(address)\":{\"notice\":\"Validates and initializes a policy as necessary prior to fund activation\"},\"addFundSettings(address,bytes)\":{\"notice\":\"Adds the initial policy settings for a fund\"},\"canDisable()\":{\"notice\":\"Whether or not the policy can be disabled\"},\"getFundSettings(address)\":{\"notice\":\"Gets the min and max investment amount for a given fund\"},\"getPolicyManager()\":{\"notice\":\"Gets the `POLICY_MANAGER` variable value\"},\"identifier()\":{\"notice\":\"Provides a constant string identifier for a policy\"},\"implementedHooks()\":{\"notice\":\"Gets the implemented PolicyHooks for a policy\"},\"passesRule(address,uint256)\":{\"notice\":\"Checks whether a particular condition passes the rule for a particular fund\"},\"updateFundSettings(address,bytes)\":{\"notice\":\"Updates the policy settings for a fund\"},\"validateRule(address,uint8,bytes)\":{\"notice\":\"Apply the rule with the specified parameters of a PolicyHook\"}},\"notice\":\"A policy that restricts the amount of the fund's denomination asset that a user can send in a single call to buy shares in a fund\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/policy-manager/policies/new-shareholders/MinMaxInvestmentPolicy.sol\":\"MinMaxInvestmentPolicy\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/policy-manager/IPolicy.sol\":{\"keccak256\":\"0xc12663ca72065b256c3b934ab738fde26c147c7b0399de43650df89dd52ee467\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://be8fecfcba0f3fda615f0a1bb3c766750c23761ef751d7c4472dfe540e460cd1\",\"dweb:/ipfs/QmaarPoRTsX6NiJ8V4u2f3Qh6d7tUs28bw9R14An3t5Bs1\"]},\"contracts/release/extensions/policy-manager/IPolicyManager.sol\":{\"keccak256\":\"0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa\",\"dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb\"]},\"contracts/release/extensions/policy-manager/policies/new-shareholders/MinMaxInvestmentPolicy.sol\":{\"keccak256\":\"0x259befdb6d6c019f7b2269f5d9a4456a2cbfc111bbfcda128d57e80bb4b261c5\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ee07f0fcceb5cc72727cf8a60b6a49d14da6f4a2ca14763606997febbfdd177c\",\"dweb:/ipfs/QmaYPG2u1P8GTrW7KDmWhbsWSnjKVyYokHffSXmu86YtWf\"]},\"contracts/release/extensions/policy-manager/policies/utils/PolicyBase.sol\":{\"keccak256\":\"0x972311abb98f0da815b4aca83d5afdd219d3604ec19cf5e3773c0c305bd9b3f1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2452f3d1f3b1d8e8459a07489146a2d0d8a10463715937995cbe77ee5de8c069\",\"dweb:/ipfs/Qmf2hhd2DVbjpxmbNGAhRZNZkqpGZA2mX3eA1WNwtv6t5Y\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_policyManager", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "comptrollerProxy", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "minInvestmentAmount", - "type": "uint256", - "indexed": false - }, - { - "internalType": "uint256", - "name": "maxInvestmentAmount", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "FundSettingsSet", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "activateForFund" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_encodedSettings", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "addFundSettings" - }, - { - "inputs": [], - "stateMutability": "pure", - "type": "function", - "name": "canDisable", - "outputs": [ - { - "internalType": "bool", - "name": "canDisable_", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getFundSettings", - "outputs": [ - { - "internalType": "struct MinMaxInvestmentPolicy.FundSettings", - "name": "fundSettings_", - "type": "tuple", - "components": [ - { - "internalType": "uint256", - "name": "minInvestmentAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "maxInvestmentAmount", - "type": "uint256" - } - ] - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getPolicyManager", - "outputs": [ - { - "internalType": "address", - "name": "policyManager_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "pure", - "type": "function", - "name": "identifier", - "outputs": [ - { - "internalType": "string", - "name": "identifier_", - "type": "string" - } - ] - }, - { - "inputs": [], - "stateMutability": "pure", - "type": "function", - "name": "implementedHooks", - "outputs": [ - { - "internalType": "enum IPolicyManager.PolicyHook[]", - "name": "implementedHooks_", - "type": "uint8[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_investmentAmount", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "passesRule", - "outputs": [ - { - "internalType": "bool", - "name": "isValid_", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_encodedSettings", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "updateFundSettings" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "enum IPolicyManager.PolicyHook", - "name": "", - "type": "uint8" - }, - { - "internalType": "bytes", - "name": "_encodedArgs", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "validateRule", - "outputs": [ - { - "internalType": "bool", - "name": "isValid_", - "type": "bool" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "activateForFund(address)": { - "details": "Unimplemented by default, can be overridden by the policy" - }, - "addFundSettings(address,bytes)": { - "params": { - "_comptrollerProxy": "The fund's ComptrollerProxy address", - "_encodedSettings": "Encoded settings to apply to a fund" - } - }, - "canDisable()": { - "returns": { - "canDisable_": "True if the policy can be disabled" - } - }, - "getFundSettings(address)": { - "params": { - "_comptrollerProxy": "The ComptrollerProxy of the fund" - }, - "returns": { - "fundSettings_": "The fund settings" - } - }, - "getPolicyManager()": { - "returns": { - "policyManager_": "The `POLICY_MANAGER` variable value" - } - }, - "identifier()": { - "returns": { - "identifier_": "The identifer string" - } - }, - "implementedHooks()": { - "returns": { - "implementedHooks_": "The implemented PolicyHooks" - } - }, - "passesRule(address,uint256)": { - "params": { - "_comptrollerProxy": "The fund's ComptrollerProxy address", - "_investmentAmount": "The investment amount for which to check the rule" - }, - "returns": { - "isValid_": "True if the rule passes" - } - }, - "updateFundSettings(address,bytes)": { - "params": { - "_comptrollerProxy": "The fund's ComptrollerProxy address", - "_encodedSettings": "Encoded settings to apply to a fund" - } - }, - "validateRule(address,uint8,bytes)": { - "details": "onlyPolicyManager validation not necessary, as state is not updated and no events are fired", - "params": { - "_comptrollerProxy": "The fund's ComptrollerProxy address", - "_encodedArgs": "Encoded args with which to validate the rule" - }, - "returns": { - "isValid_": "True if the rule passes" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "activateForFund(address)": { - "notice": "Validates and initializes a policy as necessary prior to fund activation" - }, - "addFundSettings(address,bytes)": { - "notice": "Adds the initial policy settings for a fund" - }, - "canDisable()": { - "notice": "Whether or not the policy can be disabled" - }, - "getFundSettings(address)": { - "notice": "Gets the min and max investment amount for a given fund" - }, - "getPolicyManager()": { - "notice": "Gets the `POLICY_MANAGER` variable value" - }, - "identifier()": { - "notice": "Provides a constant string identifier for a policy" - }, - "implementedHooks()": { - "notice": "Gets the implemented PolicyHooks for a policy" - }, - "passesRule(address,uint256)": { - "notice": "Checks whether a particular condition passes the rule for a particular fund" - }, - "updateFundSettings(address,bytes)": { - "notice": "Updates the policy settings for a fund" - }, - "validateRule(address,uint8,bytes)": { - "notice": "Apply the rule with the specified parameters of a PolicyHook" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/policy-manager/policies/new-shareholders/MinMaxInvestmentPolicy.sol": "MinMaxInvestmentPolicy" - }, - "libraries": {} - }, - "sources": { - "contracts/release/extensions/policy-manager/IPolicy.sol": { - "keccak256": "0xc12663ca72065b256c3b934ab738fde26c147c7b0399de43650df89dd52ee467", - "urls": [ - "bzz-raw://be8fecfcba0f3fda615f0a1bb3c766750c23761ef751d7c4472dfe540e460cd1", - "dweb:/ipfs/QmaarPoRTsX6NiJ8V4u2f3Qh6d7tUs28bw9R14An3t5Bs1" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/policy-manager/IPolicyManager.sol": { - "keccak256": "0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32", - "urls": [ - "bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa", - "dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/policy-manager/policies/new-shareholders/MinMaxInvestmentPolicy.sol": { - "keccak256": "0x259befdb6d6c019f7b2269f5d9a4456a2cbfc111bbfcda128d57e80bb4b261c5", - "urls": [ - "bzz-raw://ee07f0fcceb5cc72727cf8a60b6a49d14da6f4a2ca14763606997febbfdd177c", - "dweb:/ipfs/QmaYPG2u1P8GTrW7KDmWhbsWSnjKVyYokHffSXmu86YtWf" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/policy-manager/policies/utils/PolicyBase.sol": { - "keccak256": "0x972311abb98f0da815b4aca83d5afdd219d3604ec19cf5e3773c0c305bd9b3f1", - "urls": [ - "bzz-raw://2452f3d1f3b1d8e8459a07489146a2d0d8a10463715937995cbe77ee5de8c069", - "dweb:/ipfs/Qmf2hhd2DVbjpxmbNGAhRZNZkqpGZA2mX3eA1WNwtv6t5Y" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 219 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_policyManager", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "activateForFund", "inputs": [ { "name": "", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "addFundSettings", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" }, { "name": "_encodedSettings", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "canDisable", "inputs": [], "outputs": [ { "name": "canDisable_", "type": "bool", "internalType": "bool" } ], "stateMutability": "pure" }, { "type": "function", "name": "getFundSettings", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "fundSettings_", "type": "tuple", "internalType": "struct MinMaxInvestmentPolicy.FundSettings", "components": [ { "name": "minInvestmentAmount", "type": "uint256", "internalType": "uint256" }, { "name": "maxInvestmentAmount", "type": "uint256", "internalType": "uint256" } ] } ], "stateMutability": "view" }, { "type": "function", "name": "getPolicyManager", "inputs": [], "outputs": [ { "name": "policyManager_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "identifier", "inputs": [], "outputs": [ { "name": "identifier_", "type": "string", "internalType": "string" } ], "stateMutability": "pure" }, { "type": "function", "name": "implementedHooks", "inputs": [], "outputs": [ { "name": "implementedHooks_", "type": "uint8[]", "internalType": "enum IPolicyManager.PolicyHook[]" } ], "stateMutability": "pure" }, { "type": "function", "name": "passesRule", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" }, { "name": "_investmentAmount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "isValid_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "updateFundSettings", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" }, { "name": "_encodedSettings", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "validateRule", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" }, { "name": "", "type": "uint8", "internalType": "enum IPolicyManager.PolicyHook" }, { "name": "_encodedArgs", "type": "bytes", "internalType": "bytes" } ], "outputs": [ { "name": "isValid_", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "event", "name": "FundSettingsSet", "inputs": [ { "name": "comptrollerProxy", "type": "address", "indexed": true, "internalType": "address" }, { "name": "minInvestmentAmount", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "maxInvestmentAmount", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false } ], "bytecode": { "object": "0x60a060405234801561001057600080fd5b50604051610a88380380610a8883398101604081905261002f91610055565b60601b6001600160601b0319166080526100a3565b805161004f8161008c565b92915050565b60006020828403121561006757600080fd5b60006100738484610044565b949350505050565b60006001600160a01b03821661004f565b6100958161007b565b81146100a057600080fd5b50565b60805160601c6109c36100c560003980610179528061038552506109c36000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c80636e3a9982116100665780636e3a9982146101095780637998a1c41461011c578063cbf54bb214610131578063ceb9a0ad14610146578063d44ad6cb146101595761009e565b80630d4d7510146100a35780630f5f6b4f146100a35780631ef92578146100b85780634fa4e54b146100d6578063579be718146100f6575b600080fd5b6100b66100b1366004610597565b61016e565b005b6100c0610204565b6040516100cd919061089d565b60405180910390f35b6100e96100e4366004610510565b610209565b6040516100cd91906108dc565b6100c06101043660046105ed565b610246565b6100c0610117366004610655565b6102a1565b6101246102fd565b6040516100cd91906108ab565b610139610329565b6040516100cd9190610885565b6100b6610154366004610510565b610380565b610161610383565b6040516100cd9190610877565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146101bf5760405162461bcd60e51b81526004016101b6906108bc565b60405180910390fd5b6101ff8383838080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506103a792505050565b505050565b600190565b610211610476565b506001600160a01b0381166000908152602081815260409182902082518084019093528054835260010154908201525b919050565b60008061028884848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061044d92505050565b505091505061029786826102a1565b9695505050505050565b6001600160a01b03821660009081526020819052604081208054600190910154816102d25783111591506102f79050565b806102e2575082101590506102f7565b8184101580156102f25750808411155b925050505b92915050565b60408051808201909152601281527113525397d3505617d253959154d51351539560721b602082015290565b6040805160018082528183019092526060916020808301908036833701905050905060008160008151811061035a57fe5b6020026020010190600981111561036d57fe5b9081600981111561037a57fe5b90525090565b50565b7f000000000000000000000000000000000000000000000000000000000000000090565b600080828060200190518101906103be919061068f565b9150915080600014806103d057508082105b6103ec5760405162461bcd60e51b81526004016101b6906108cc565b6001600160a01b03841660008181526020819052604090819020848155600101839055517fed112d6c0e84b6900209ce5a4c04541bc63a517e0160888c447ee70be47ce60f9061043f90859085906108ea565b60405180910390a250505050565b600080600080848060200190518101906104679190610536565b93509350935093509193509193565b604051806040016040528060008152602001600081525090565b80356102f78161098c565b80516102f78161098c565b60008083601f8401126104b857600080fd5b50813567ffffffffffffffff8111156104d057600080fd5b6020830191508360018202830111156104e857600080fd5b9250929050565b80356102f7816109a0565b80356102f7816109ad565b80516102f7816109ad565b60006020828403121561052257600080fd5b600061052e8484610490565b949350505050565b6000806000806080858703121561054c57600080fd5b6000610558878761049b565b945050602061056987828801610505565b935050604061057a87828801610505565b925050606061058b87828801610505565b91505092959194509250565b6000806000604084860312156105ac57600080fd5b60006105b88686610490565b935050602084013567ffffffffffffffff8111156105d557600080fd5b6105e1868287016104a6565b92509250509250925092565b6000806000806060858703121561060357600080fd5b600061060f8787610490565b9450506020610620878288016104ef565b935050604085013567ffffffffffffffff81111561063d57600080fd5b610649878288016104a6565b95989497509550505050565b6000806040838503121561066857600080fd5b60006106748585610490565b9250506020610685858286016104fa565b9150509250929050565b600080604083850312156106a257600080fd5b60006106ae8585610505565b925050602061068585828601610505565b60006106cb8383610744565b505060200190565b6106dc81610918565b82525050565b60006106ed8261090b565b6106f7818561090f565b935061070283610905565b8060005b8381101561073057815161071a88826106bf565b975061072583610905565b925050600101610706565b509495945050505050565b6106dc81610923565b6106dc81610941565b60006107588261090b565b610762818561090f565b935061077281856020860161094c565b61077b81610978565b9093019392505050565b600061079260298361090f565b7f4f6e6c792074686520506f6c6963794d616e616765722063616e206d616b65208152681d1a1a5cc818d85b1b60ba1b602082015260400192915050565b60006107dd604c8361090f565b7f5f5f73657446756e6453657474696e67733a206d696e496e766573746d656e7481527f416d6f756e74206d757374206265206c657373207468616e206d6178496e766560208201526b1cdd1b595b9d105b5bdd5b9d60a21b604082015260600192915050565b80516040830190610855848261086e565b506020820151610868602085018261086e565b50505050565b6106dc8161093e565b602081016102f782846106d3565b6020808252810161089681846106e2565b9392505050565b602081016102f7828461073b565b60208082528101610896818461074d565b602080825281016102f781610785565b602080825281016102f7816107d0565b604081016102f78284610844565b604081016108f8828561086e565b610896602083018461086e565b60200190565b5190565b90815260200190565b60006102f782610932565b151590565b8061024181610982565b6001600160a01b031690565b90565b60006102f782610928565b60005b8381101561096757818101518382015260200161094f565b838111156108685750506000910152565b601f01601f191690565b600a811061038057fe5b61099581610918565b811461038057600080fd5b600a811061038057600080fd5b6109958161093e56fea164736f6c634300060c000a", "sourceMap": "591:5561:219:-:0;;;978:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;737:31:223;;-1:-1:-1;;;;;;737:31:223;;;591:5561:219;;5:134:-1;83:13;;101:33;83:13;101:33;:::i;:::-;68:71;;;;:::o;146:263::-;;261:2;249:9;240:7;236:23;232:32;229:2;;;277:1;274;267:12;229:2;312:1;329:64;385:7;365:9;329:64;:::i;:::-;319:74;223:186;-1:-1;;;;223:186::o;416:91::-;;-1:-1;;;;;576:54;;478:24;559:76::o;642:117::-;711:24;729:5;711:24;:::i;:::-;704:5;701:35;691:2;;750:1;747;740:12;691:2;685:74;:::o;:::-;591:5561:219;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b506004361061009e5760003560e01c80636e3a9982116100665780636e3a9982146101095780637998a1c41461011c578063cbf54bb214610131578063ceb9a0ad14610146578063d44ad6cb146101595761009e565b80630d4d7510146100a35780630f5f6b4f146100a35780631ef92578146100b85780634fa4e54b146100d6578063579be718146100f6575b600080fd5b6100b66100b1366004610597565b61016e565b005b6100c0610204565b6040516100cd919061089d565b60405180910390f35b6100e96100e4366004610510565b610209565b6040516100cd91906108dc565b6100c06101043660046105ed565b610246565b6100c0610117366004610655565b6102a1565b6101246102fd565b6040516100cd91906108ab565b610139610329565b6040516100cd9190610885565b6100b6610154366004610510565b610380565b610161610383565b6040516100cd9190610877565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146101bf5760405162461bcd60e51b81526004016101b6906108bc565b60405180910390fd5b6101ff8383838080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506103a792505050565b505050565b600190565b610211610476565b506001600160a01b0381166000908152602081815260409182902082518084019093528054835260010154908201525b919050565b60008061028884848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061044d92505050565b505091505061029786826102a1565b9695505050505050565b6001600160a01b03821660009081526020819052604081208054600190910154816102d25783111591506102f79050565b806102e2575082101590506102f7565b8184101580156102f25750808411155b925050505b92915050565b60408051808201909152601281527113525397d3505617d253959154d51351539560721b602082015290565b6040805160018082528183019092526060916020808301908036833701905050905060008160008151811061035a57fe5b6020026020010190600981111561036d57fe5b9081600981111561037a57fe5b90525090565b50565b7f000000000000000000000000000000000000000000000000000000000000000090565b600080828060200190518101906103be919061068f565b9150915080600014806103d057508082105b6103ec5760405162461bcd60e51b81526004016101b6906108cc565b6001600160a01b03841660008181526020819052604090819020848155600101839055517fed112d6c0e84b6900209ce5a4c04541bc63a517e0160888c447ee70be47ce60f9061043f90859085906108ea565b60405180910390a250505050565b600080600080848060200190518101906104679190610536565b93509350935093509193509193565b604051806040016040528060008152602001600081525090565b80356102f78161098c565b80516102f78161098c565b60008083601f8401126104b857600080fd5b50813567ffffffffffffffff8111156104d057600080fd5b6020830191508360018202830111156104e857600080fd5b9250929050565b80356102f7816109a0565b80356102f7816109ad565b80516102f7816109ad565b60006020828403121561052257600080fd5b600061052e8484610490565b949350505050565b6000806000806080858703121561054c57600080fd5b6000610558878761049b565b945050602061056987828801610505565b935050604061057a87828801610505565b925050606061058b87828801610505565b91505092959194509250565b6000806000604084860312156105ac57600080fd5b60006105b88686610490565b935050602084013567ffffffffffffffff8111156105d557600080fd5b6105e1868287016104a6565b92509250509250925092565b6000806000806060858703121561060357600080fd5b600061060f8787610490565b9450506020610620878288016104ef565b935050604085013567ffffffffffffffff81111561063d57600080fd5b610649878288016104a6565b95989497509550505050565b6000806040838503121561066857600080fd5b60006106748585610490565b9250506020610685858286016104fa565b9150509250929050565b600080604083850312156106a257600080fd5b60006106ae8585610505565b925050602061068585828601610505565b60006106cb8383610744565b505060200190565b6106dc81610918565b82525050565b60006106ed8261090b565b6106f7818561090f565b935061070283610905565b8060005b8381101561073057815161071a88826106bf565b975061072583610905565b925050600101610706565b509495945050505050565b6106dc81610923565b6106dc81610941565b60006107588261090b565b610762818561090f565b935061077281856020860161094c565b61077b81610978565b9093019392505050565b600061079260298361090f565b7f4f6e6c792074686520506f6c6963794d616e616765722063616e206d616b65208152681d1a1a5cc818d85b1b60ba1b602082015260400192915050565b60006107dd604c8361090f565b7f5f5f73657446756e6453657474696e67733a206d696e496e766573746d656e7481527f416d6f756e74206d757374206265206c657373207468616e206d6178496e766560208201526b1cdd1b595b9d105b5bdd5b9d60a21b604082015260600192915050565b80516040830190610855848261086e565b506020820151610868602085018261086e565b50505050565b6106dc8161093e565b602081016102f782846106d3565b6020808252810161089681846106e2565b9392505050565b602081016102f7828461073b565b60208082528101610896818461074d565b602080825281016102f781610785565b602080825281016102f7816107d0565b604081016102f78284610844565b604081016108f8828561086e565b610896602083018461086e565b60200190565b5190565b90815260200190565b60006102f782610932565b151590565b8061024181610982565b6001600160a01b031690565b90565b60006102f782610928565b60005b8381101561096757818101518382015260200161094f565b838111156108685750506000910152565b601f01601f191690565b600a811061038057fe5b61099581610918565b811461038057600080fd5b600a811061038057600080fd5b6109958161093e56fea164736f6c634300060c000a", "sourceMap": "591:5561:219:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2611:223;;;;;;:::i;:::-;;:::i;:::-;;1600:108;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5939:211;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;4353:343::-;;;;;;:::i;:::-;;:::i;3133:841::-;;;;;;:::i;:::-;;:::i;1830:125::-;;;:::i;:::-;;;;;;;:::i;2085:328::-;;;:::i;:::-;;;;;;;:::i;941:83:223:-;;;;;;:::i;:::-;;:::i;6755:113::-;;;:::i;:::-;;;;;;;:::i;2611:223:219:-;586:10:223;-1:-1:-1;;;;;600:14:223;586:28;;578:82;;;;-1:-1:-1;;;578:82:223;;;;;;;:::i;:::-;;;;;;;;;2773:54:219::1;2791:17;2810:16;;2773:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;2773:17:219::1;::::0;-1:-1:-1;;;2773:54:219:i:1;:::-;2611:223:::0;;;:::o;1600:108::-;1697:4;1600:108;:::o;5939:211::-;6038:33;;:::i;:::-;-1:-1:-1;;;;;;6094:49:219;;:30;:49;;;;;;;;;;;;6087:56;;;;;;;;;;;;;;;;;;;5939:211;;;;:::o;4353:343::-;4515:13;4543:24;4575:49;4611:12;;4575:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4575:35:219;;-1:-1:-1;;;4575:49:219:i;:::-;4540:84;;;;;4642:47;4653:17;4672:16;4642:10;:47::i;:::-;4635:54;4353:343;-1:-1:-1;;;;;;4353:343:219:o;3133:841::-;-1:-1:-1;;;;;3311:49:219;;3252:13;3311:49;;;;;;;;;;:82;;3433;;;;;3649:24;3645:210;;3696:40;;;;-1:-1:-1;3689:47:219;;-1:-1:-1;3689:47:219;3645:210;3757:24;3753:102;;-1:-1:-1;3804:40:219;;;;-1:-1:-1;3797:47:219;;3753:102;3904:19;3883:17;:40;;:84;;;;;3948:19;3927:17;:40;;3883:84;3864:103;;;;3133:841;;;;;:::o;1830:125::-;1921:27;;;;;;;;;;;;-1:-1:-1;;;1921:27:219;;;;1830:125;:::o;2085:328::-;2265:34;;;2297:1;2265:34;;;;;;;;;2177:52;;2265:34;;;;;;;;;;;-1:-1:-1;2265:34:219;2245:54;;2332:39;2309:17;2327:1;2309:20;;;;;;;;;;;;;:62;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2085:328:219;:::o;941:83:223:-;;:::o;6755:113::-;6847:14;6755:113;:::o;4897:777:219:-;5001:27;5030;5085:16;5061:82;;;;;;;;;;;;:::i;:::-;5000:143;;;;5175:19;5198:1;5175:24;:69;;;;5225:19;5203;:41;5175:69;5154:192;;;;-1:-1:-1;;;5154:192:219;;;;;;;:::i;:::-;-1:-1:-1;;;;;5357:49:219;;:30;:49;;;;;;;;;;;;:104;;;5471:82;;:104;;;5591:76;;;;;5442:19;;5556;;5591:76;:::i;:::-;;;;;;;;4897:777;;;;:::o;3033:353:223:-;3168:14;3196:25;3235:21;3270:12;3325:15;3314:65;;;;;;;;;;;;:::i;:::-;3307:72;;;;;;;;3033:353;;;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;:::o;5:130::-;72:20;;97:33;72:20;97:33;:::i;142:150::-;228:13;;246:41;228:13;246:41;:::i;313:336::-;;;427:3;420:4;412:6;408:17;404:27;394:2;;445:1;442;435:12;394:2;-1:-1;465:20;;505:18;494:30;;491:2;;;537:1;534;527:12;491:2;571:4;563:6;559:17;547:29;;622:3;614:4;606:6;602:17;592:8;588:32;585:41;582:2;;;639:1;636;629:12;582:2;387:262;;;;;:::o;657:162::-;740:20;;765:49;740:20;765:49;:::i;826:130::-;893:20;;918:33;893:20;918:33;:::i;963:134::-;1041:13;;1059:33;1041:13;1059:33;:::i;1104:241::-;;1208:2;1196:9;1187:7;1183:23;1179:32;1176:2;;;1224:1;1221;1214:12;1176:2;1259:1;1276:53;1321:7;1301:9;1276:53;:::i;:::-;1266:63;1170:175;-1:-1;;;;1170:175::o;1352:688::-;;;;;1526:3;1514:9;1505:7;1501:23;1497:33;1494:2;;;1543:1;1540;1533:12;1494:2;1578:1;1595:72;1659:7;1639:9;1595:72;:::i;:::-;1585:82;;1557:116;1704:2;1722:64;1778:7;1769:6;1758:9;1754:22;1722:64;:::i;:::-;1712:74;;1683:109;1823:2;1841:64;1897:7;1888:6;1877:9;1873:22;1841:64;:::i;:::-;1831:74;;1802:109;1942:2;1960:64;2016:7;2007:6;1996:9;1992:22;1960:64;:::i;:::-;1950:74;;1921:109;1488:552;;;;;;;:::o;2047:490::-;;;;2187:2;2175:9;2166:7;2162:23;2158:32;2155:2;;;2203:1;2200;2193:12;2155:2;2238:1;2255:53;2300:7;2280:9;2255:53;:::i;:::-;2245:63;;2217:97;2373:2;2362:9;2358:18;2345:32;2397:18;2389:6;2386:30;2383:2;;;2429:1;2426;2419:12;2383:2;2457:64;2513:7;2504:6;2493:9;2489:22;2457:64;:::i;:::-;2439:82;;;;2324:203;2149:388;;;;;:::o;2544:647::-;;;;;2717:2;2705:9;2696:7;2692:23;2688:32;2685:2;;;2733:1;2730;2723:12;2685:2;2768:1;2785:53;2830:7;2810:9;2785:53;:::i;:::-;2775:63;;2747:97;2875:2;2893:69;2954:7;2945:6;2934:9;2930:22;2893:69;:::i;:::-;2883:79;;2854:114;3027:2;3016:9;3012:18;2999:32;3051:18;3043:6;3040:30;3037:2;;;3083:1;3080;3073:12;3037:2;3111:64;3167:7;3158:6;3147:9;3143:22;3111:64;:::i;:::-;2679:512;;;;-1:-1;3093:82;-1:-1;;;;2679:512::o;3198:366::-;;;3319:2;3307:9;3298:7;3294:23;3290:32;3287:2;;;3335:1;3332;3325:12;3287:2;3370:1;3387:53;3432:7;3412:9;3387:53;:::i;:::-;3377:63;;3349:97;3477:2;3495:53;3540:7;3531:6;3520:9;3516:22;3495:53;:::i;:::-;3485:63;;3456:98;3281:283;;;;;:::o;3571:399::-;;;3703:2;3691:9;3682:7;3678:23;3674:32;3671:2;;;3719:1;3716;3709:12;3671:2;3754:1;3771:64;3827:7;3807:9;3771:64;:::i;:::-;3761:74;;3733:108;3872:2;3890:64;3946:7;3937:6;3926:9;3922:22;3890:64;:::i;3978:201::-;;4079:60;4135:3;4127:6;4079:60;:::i;:::-;-1:-1;;4168:4;4159:14;;4072:107::o;4187:113::-;4270:24;4288:5;4270:24;:::i;:::-;4265:3;4258:37;4252:48;;:::o;4359:764::-;;4518:70;4582:5;4518:70;:::i;:::-;4601:84;4678:6;4673:3;4601:84;:::i;:::-;4594:91;;4706:72;4772:5;4706:72;:::i;:::-;4798:7;4826:1;4811:290;4836:6;4833:1;4830:13;4811:290;;;4903:6;4897:13;4924:77;4997:3;4982:13;4924:77;:::i;:::-;4917:84;;5018:76;5087:6;5018:76;:::i;:::-;5008:86;-1:-1;;4858:1;4851:9;4811:290;;;-1:-1;5114:3;;4497:626;-1:-1;;;;;4497:626::o;5131:104::-;5208:21;5223:5;5208:21;:::i;5242:144::-;5329:51;5374:5;5329:51;:::i;5393:347::-;;5505:39;5538:5;5505:39;:::i;:::-;5556:71;5620:6;5615:3;5556:71;:::i;:::-;5549:78;;5632:52;5677:6;5672:3;5665:4;5658:5;5654:16;5632:52;:::i;:::-;5705:29;5727:6;5705:29;:::i;:::-;5696:39;;;;5485:255;-1:-1;;;5485:255::o;5748:378::-;;5908:67;5972:2;5967:3;5908:67;:::i;:::-;6008:34;5988:55;;-1:-1;;;6072:2;6063:12;;6056:33;6117:2;6108:12;;5894:232;-1:-1;;5894:232::o;6135:450::-;;6295:67;6359:2;6354:3;6295:67;:::i;:::-;6395:34;6375:55;;6464:34;6459:2;6450:12;;6443:56;-1:-1;;;6528:2;6519:12;;6512:36;6576:2;6567:12;;6281:304;-1:-1;;6281:304::o;6688:518::-;6924:23;;6843:4;6834:14;;;6953:63;6838:3;6924:23;6953:63;:::i;:::-;6863:159;7110:4;7103:5;7099:16;7093:23;7122:63;7179:4;7174:3;7170:14;7156:12;7122:63;:::i;:::-;7032:159;6816:390;;;:::o;7213:103::-;7286:24;7304:5;7286:24;:::i;7443:222::-;7570:2;7555:18;;7584:71;7559:9;7628:6;7584:71;:::i;7672:398::-;7863:2;7877:47;;;7848:18;;7938:122;7848:18;8046:6;7938:122;:::i;:::-;7930:130;7834:236;-1:-1;;;7834:236::o;8077:210::-;8198:2;8183:18;;8212:65;8187:9;8250:6;8212:65;:::i;8294:310::-;8441:2;8455:47;;;8426:18;;8516:78;8426:18;8580:6;8516:78;:::i;8611:416::-;8811:2;8825:47;;;8796:18;;8886:131;8796:18;8886:131;:::i;9034:416::-;9234:2;9248:47;;;9219:18;;9309:131;9219:18;9309:131;:::i;9457:346::-;9646:2;9631:18;;9660:133;9635:9;9766:6;9660:133;:::i;9810:333::-;9965:2;9950:18;;9979:71;9954:9;10023:6;9979:71;:::i;:::-;10061:72;10129:2;10118:9;10114:18;10105:6;10061:72;:::i;10150:167::-;10290:4;10281:14;;10238:79::o;10324:153::-;10443:12;;10414:63::o;10745:176::-;10861:19;;;10910:4;10901:14;;10854:67::o;11101:91::-;;11163:24;11181:5;11163:24;:::i;11305:85::-;11371:13;11364:21;;11347:43::o;11397:138::-;11475:5;11481:49;11475:5;11481:49;:::i;11542:121::-;-1:-1;;;;;11604:54;;11587:76::o;11670:72::-;11732:5;11715:27::o;11749:138::-;;11842:40;11876:5;11842:40;:::i;11895:268::-;11960:1;11967:101;11981:6;11978:1;11975:13;11967:101;;;12048:11;;;12042:18;12029:11;;;12022:39;12003:2;11996:10;11967:101;;;12083:6;12080:1;12077:13;12074:2;;;-1:-1;;12148:1;12130:16;;12123:27;11944:219::o;12171:97::-;12259:2;12239:14;-1:-1;;12235:28;;12219:49::o;12276:108::-;12361:2;12354:5;12351:13;12341:2;;12368:9;12391:117;12460:24;12478:5;12460:24;:::i;:::-;12453:5;12450:35;12440:2;;12499:1;12496;12489:12;12655:111;12740:2;12733:5;12730:13;12720:2;;12757:1;12754;12747:12;12773:117;12842:24;12860:5;12842:24;:::i", "linkReferences": {}, "immutableReferences": { "59893": [ { "start": 377, "length": 32 }, { "start": 901, "length": 32 } ] } }, "methodIdentifiers": { "activateForFund(address)": "ceb9a0ad", "addFundSettings(address,bytes)": "0f5f6b4f", "canDisable()": "1ef92578", "getFundSettings(address)": "4fa4e54b", "getPolicyManager()": "d44ad6cb", "identifier()": "7998a1c4", "implementedHooks()": "cbf54bb2", "passesRule(address,uint256)": "6e3a9982", "updateFundSettings(address,bytes)": "0d4d7510", "validateRule(address,uint8,bytes)": "579be718" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_policyManager\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"minInvestmentAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"maxInvestmentAmount\",\"type\":\"uint256\"}],\"name\":\"FundSettingsSet\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"activateForFund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_encodedSettings\",\"type\":\"bytes\"}],\"name\":\"addFundSettings\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"canDisable\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"canDisable_\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"}],\"name\":\"getFundSettings\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"minInvestmentAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxInvestmentAmount\",\"type\":\"uint256\"}],\"internalType\":\"struct MinMaxInvestmentPolicy.FundSettings\",\"name\":\"fundSettings_\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPolicyManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"policyManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"identifier\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"identifier_\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"implementedHooks\",\"outputs\":[{\"internalType\":\"enum IPolicyManager.PolicyHook[]\",\"name\":\"implementedHooks_\",\"type\":\"uint8[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_investmentAmount\",\"type\":\"uint256\"}],\"name\":\"passesRule\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isValid_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_encodedSettings\",\"type\":\"bytes\"}],\"name\":\"updateFundSettings\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"enum IPolicyManager.PolicyHook\",\"name\":\"\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"_encodedArgs\",\"type\":\"bytes\"}],\"name\":\"validateRule\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isValid_\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"activateForFund(address)\":{\"details\":\"Unimplemented by default, can be overridden by the policy\"},\"addFundSettings(address,bytes)\":{\"params\":{\"_comptrollerProxy\":\"The fund's ComptrollerProxy address\",\"_encodedSettings\":\"Encoded settings to apply to a fund\"}},\"canDisable()\":{\"returns\":{\"canDisable_\":\"True if the policy can be disabled\"}},\"getFundSettings(address)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\"},\"returns\":{\"fundSettings_\":\"The fund settings\"}},\"getPolicyManager()\":{\"returns\":{\"policyManager_\":\"The `POLICY_MANAGER` variable value\"}},\"identifier()\":{\"returns\":{\"identifier_\":\"The identifer string\"}},\"implementedHooks()\":{\"returns\":{\"implementedHooks_\":\"The implemented PolicyHooks\"}},\"passesRule(address,uint256)\":{\"params\":{\"_comptrollerProxy\":\"The fund's ComptrollerProxy address\",\"_investmentAmount\":\"The investment amount for which to check the rule\"},\"returns\":{\"isValid_\":\"True if the rule passes\"}},\"updateFundSettings(address,bytes)\":{\"params\":{\"_comptrollerProxy\":\"The fund's ComptrollerProxy address\",\"_encodedSettings\":\"Encoded settings to apply to a fund\"}},\"validateRule(address,uint8,bytes)\":{\"details\":\"onlyPolicyManager validation not necessary, as state is not updated and no events are fired\",\"params\":{\"_comptrollerProxy\":\"The fund's ComptrollerProxy address\",\"_encodedArgs\":\"Encoded args with which to validate the rule\"},\"returns\":{\"isValid_\":\"True if the rule passes\"}}},\"title\":\"MinMaxInvestmentPolicy Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"activateForFund(address)\":{\"notice\":\"Validates and initializes a policy as necessary prior to fund activation\"},\"addFundSettings(address,bytes)\":{\"notice\":\"Adds the initial policy settings for a fund\"},\"canDisable()\":{\"notice\":\"Whether or not the policy can be disabled\"},\"getFundSettings(address)\":{\"notice\":\"Gets the min and max investment amount for a given fund\"},\"getPolicyManager()\":{\"notice\":\"Gets the `POLICY_MANAGER` variable value\"},\"identifier()\":{\"notice\":\"Provides a constant string identifier for a policy\"},\"implementedHooks()\":{\"notice\":\"Gets the implemented PolicyHooks for a policy\"},\"passesRule(address,uint256)\":{\"notice\":\"Checks whether a particular condition passes the rule for a particular fund\"},\"updateFundSettings(address,bytes)\":{\"notice\":\"Updates the policy settings for a fund\"},\"validateRule(address,uint8,bytes)\":{\"notice\":\"Apply the rule with the specified parameters of a PolicyHook\"}},\"notice\":\"A policy that restricts the amount of the fund's denomination asset that a user can send in a single call to buy shares in a fund\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/policy-manager/policies/new-shareholders/MinMaxInvestmentPolicy.sol\":\"MinMaxInvestmentPolicy\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/policy-manager/IPolicy.sol\":{\"keccak256\":\"0xc12663ca72065b256c3b934ab738fde26c147c7b0399de43650df89dd52ee467\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://be8fecfcba0f3fda615f0a1bb3c766750c23761ef751d7c4472dfe540e460cd1\",\"dweb:/ipfs/QmaarPoRTsX6NiJ8V4u2f3Qh6d7tUs28bw9R14An3t5Bs1\"]},\"contracts/release/extensions/policy-manager/IPolicyManager.sol\":{\"keccak256\":\"0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa\",\"dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb\"]},\"contracts/release/extensions/policy-manager/policies/new-shareholders/MinMaxInvestmentPolicy.sol\":{\"keccak256\":\"0x259befdb6d6c019f7b2269f5d9a4456a2cbfc111bbfcda128d57e80bb4b261c5\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ee07f0fcceb5cc72727cf8a60b6a49d14da6f4a2ca14763606997febbfdd177c\",\"dweb:/ipfs/QmaYPG2u1P8GTrW7KDmWhbsWSnjKVyYokHffSXmu86YtWf\"]},\"contracts/release/extensions/policy-manager/policies/utils/PolicyBase.sol\":{\"keccak256\":\"0x972311abb98f0da815b4aca83d5afdd219d3604ec19cf5e3773c0c305bd9b3f1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2452f3d1f3b1d8e8459a07489146a2d0d8a10463715937995cbe77ee5de8c069\",\"dweb:/ipfs/Qmf2hhd2DVbjpxmbNGAhRZNZkqpGZA2mX3eA1WNwtv6t5Y\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_policyManager", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "comptrollerProxy", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "minInvestmentAmount", "type": "uint256", "indexed": false }, { "internalType": "uint256", "name": "maxInvestmentAmount", "type": "uint256", "indexed": false } ], "type": "event", "name": "FundSettingsSet", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "activateForFund" }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" }, { "internalType": "bytes", "name": "_encodedSettings", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "addFundSettings" }, { "inputs": [], "stateMutability": "pure", "type": "function", "name": "canDisable", "outputs": [ { "internalType": "bool", "name": "canDisable_", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getFundSettings", "outputs": [ { "internalType": "struct MinMaxInvestmentPolicy.FundSettings", "name": "fundSettings_", "type": "tuple", "components": [ { "internalType": "uint256", "name": "minInvestmentAmount", "type": "uint256" }, { "internalType": "uint256", "name": "maxInvestmentAmount", "type": "uint256" } ] } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getPolicyManager", "outputs": [ { "internalType": "address", "name": "policyManager_", "type": "address" } ] }, { "inputs": [], "stateMutability": "pure", "type": "function", "name": "identifier", "outputs": [ { "internalType": "string", "name": "identifier_", "type": "string" } ] }, { "inputs": [], "stateMutability": "pure", "type": "function", "name": "implementedHooks", "outputs": [ { "internalType": "enum IPolicyManager.PolicyHook[]", "name": "implementedHooks_", "type": "uint8[]" } ] }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" }, { "internalType": "uint256", "name": "_investmentAmount", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "passesRule", "outputs": [ { "internalType": "bool", "name": "isValid_", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" }, { "internalType": "bytes", "name": "_encodedSettings", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "updateFundSettings" }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" }, { "internalType": "enum IPolicyManager.PolicyHook", "name": "", "type": "uint8" }, { "internalType": "bytes", "name": "_encodedArgs", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "validateRule", "outputs": [ { "internalType": "bool", "name": "isValid_", "type": "bool" } ] } ], "devdoc": { "kind": "dev", "methods": { "activateForFund(address)": { "details": "Unimplemented by default, can be overridden by the policy" }, "addFundSettings(address,bytes)": { "params": { "_comptrollerProxy": "The fund's ComptrollerProxy address", "_encodedSettings": "Encoded settings to apply to a fund" } }, "canDisable()": { "returns": { "canDisable_": "True if the policy can be disabled" } }, "getFundSettings(address)": { "params": { "_comptrollerProxy": "The ComptrollerProxy of the fund" }, "returns": { "fundSettings_": "The fund settings" } }, "getPolicyManager()": { "returns": { "policyManager_": "The `POLICY_MANAGER` variable value" } }, "identifier()": { "returns": { "identifier_": "The identifer string" } }, "implementedHooks()": { "returns": { "implementedHooks_": "The implemented PolicyHooks" } }, "passesRule(address,uint256)": { "params": { "_comptrollerProxy": "The fund's ComptrollerProxy address", "_investmentAmount": "The investment amount for which to check the rule" }, "returns": { "isValid_": "True if the rule passes" } }, "updateFundSettings(address,bytes)": { "params": { "_comptrollerProxy": "The fund's ComptrollerProxy address", "_encodedSettings": "Encoded settings to apply to a fund" } }, "validateRule(address,uint8,bytes)": { "details": "onlyPolicyManager validation not necessary, as state is not updated and no events are fired", "params": { "_comptrollerProxy": "The fund's ComptrollerProxy address", "_encodedArgs": "Encoded args with which to validate the rule" }, "returns": { "isValid_": "True if the rule passes" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "activateForFund(address)": { "notice": "Validates and initializes a policy as necessary prior to fund activation" }, "addFundSettings(address,bytes)": { "notice": "Adds the initial policy settings for a fund" }, "canDisable()": { "notice": "Whether or not the policy can be disabled" }, "getFundSettings(address)": { "notice": "Gets the min and max investment amount for a given fund" }, "getPolicyManager()": { "notice": "Gets the `POLICY_MANAGER` variable value" }, "identifier()": { "notice": "Provides a constant string identifier for a policy" }, "implementedHooks()": { "notice": "Gets the implemented PolicyHooks for a policy" }, "passesRule(address,uint256)": { "notice": "Checks whether a particular condition passes the rule for a particular fund" }, "updateFundSettings(address,bytes)": { "notice": "Updates the policy settings for a fund" }, "validateRule(address,uint8,bytes)": { "notice": "Apply the rule with the specified parameters of a PolicyHook" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/policy-manager/policies/new-shareholders/MinMaxInvestmentPolicy.sol": "MinMaxInvestmentPolicy" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/extensions/policy-manager/IPolicy.sol": { "keccak256": "0xc12663ca72065b256c3b934ab738fde26c147c7b0399de43650df89dd52ee467", "urls": [ "bzz-raw://be8fecfcba0f3fda615f0a1bb3c766750c23761ef751d7c4472dfe540e460cd1", "dweb:/ipfs/QmaarPoRTsX6NiJ8V4u2f3Qh6d7tUs28bw9R14An3t5Bs1" ], "license": "GPL-3.0" }, "contracts/release/extensions/policy-manager/IPolicyManager.sol": { "keccak256": "0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32", "urls": [ "bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa", "dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb" ], "license": "GPL-3.0" }, "contracts/release/extensions/policy-manager/policies/new-shareholders/MinMaxInvestmentPolicy.sol": { "keccak256": "0x259befdb6d6c019f7b2269f5d9a4456a2cbfc111bbfcda128d57e80bb4b261c5", "urls": [ "bzz-raw://ee07f0fcceb5cc72727cf8a60b6a49d14da6f4a2ca14763606997febbfdd177c", "dweb:/ipfs/QmaYPG2u1P8GTrW7KDmWhbsWSnjKVyYokHffSXmu86YtWf" ], "license": "GPL-3.0" }, "contracts/release/extensions/policy-manager/policies/utils/PolicyBase.sol": { "keccak256": "0x972311abb98f0da815b4aca83d5afdd219d3604ec19cf5e3773c0c305bd9b3f1", "urls": [ "bzz-raw://2452f3d1f3b1d8e8459a07489146a2d0d8a10463715937995cbe77ee5de8c069", "dweb:/ipfs/Qmf2hhd2DVbjpxmbNGAhRZNZkqpGZA2mX3eA1WNwtv6t5Y" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 219 } diff --git a/eth_defi/abi/enzyme/MinSharesSupplyFee.json b/eth_defi/abi/enzyme/MinSharesSupplyFee.json index c3f84d5c..79682574 100644 --- a/eth_defi/abi/enzyme/MinSharesSupplyFee.json +++ b/eth_defi/abi/enzyme/MinSharesSupplyFee.json @@ -1,750 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_feeManager", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "comptrollerProxy", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "payer", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "sharesQuantity", - "type": "uint256" - } - ], - "name": "Settled", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "activateForFund", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "addFundSettings", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getFeeManager", - "outputs": [ - { - "internalType": "address", - "name": "feeManager_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "getRecipientForFund", - "outputs": [ - { - "internalType": "address", - "name": "recipient_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "payout", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "enum IFeeManager.FeeHook", - "name": "", - "type": "uint8" - }, - { - "internalType": "bytes", - "name": "_settlementData", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "settle", - "outputs": [ - { - "internalType": "enum IFeeManager.SettlementType", - "name": "settlementType_", - "type": "uint8" - }, - { - "internalType": "address", - "name": "payer_", - "type": "address" - }, - { - "internalType": "uint256", - "name": "sharesDue_", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "enum IFeeManager.FeeHook", - "name": "_hook", - "type": "uint8" - } - ], - "name": "settlesOnHook", - "outputs": [ - { - "internalType": "bool", - "name": "settles_", - "type": "bool" - }, - { - "internalType": "bool", - "name": "usesGav_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "enum IFeeManager.FeeHook", - "name": "", - "type": "uint8" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "update", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "enum IFeeManager.FeeHook", - "name": "", - "type": "uint8" - } - ], - "name": "updatesOnHook", - "outputs": [ - { - "internalType": "bool", - "name": "updates_", - "type": "bool" - }, - { - "internalType": "bool", - "name": "usesGav_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x60a060405234801561001057600080fd5b5060405161067f38038061067f8339818101604052602081101561003357600080fd5b5051606081901b6001600160601b0319166080526001600160a01b031661061361006c600039806103dc528061058b52506106136000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c806341892d7e1161006657806341892d7e1461021657806362780b3c146102e1578063b78b481314610323578063e337a91f14610365578063f2d638261461038557610093565b80630f5f6b4f14610098578063233faf5f1461011a5780633146d058146101ad578063320f0ddd146101db575b600080fd5b610118600480360360408110156100ae57600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156100d957600080fd5b8201836020820111156100eb57600080fd5b8035906020019184600183028401116401000000008311171561010d57600080fd5b50909250905061038d565b005b610118600480360360a081101561013057600080fd5b6001600160a01b03823581169260208101359091169160ff604083013516919081019060808101606082013564010000000081111561016e57600080fd5b82018360208201111561018057600080fd5b803590602001918460018302840111640100000000831117156101a257600080fd5b919350915035610392565b610118600480360360408110156101c357600080fd5b506001600160a01b038135811691602001351661039a565b6101fb600480360360208110156101f157600080fd5b503560ff1661039e565b60408051921515835290151560208301528051918290030190f35b6102a9600480360360a081101561022c57600080fd5b6001600160a01b03823581169260208101359091169160ff604083013516919081019060808101606082013564010000000081111561026a57600080fd5b82018360208201111561027c57600080fd5b8035906020019184600183028401116401000000008311171561029e57600080fd5b9193509150356103cd565b604051808460058111156102b957fe5b8152602001836001600160a01b03168152602001828152602001935050505060405180910390f35b610307600480360360208110156102f757600080fd5b50356001600160a01b0316610573565b604080516001600160a01b039092168252519081900360200190f35b6103516004803603604081101561033957600080fd5b506001600160a01b0381358116916020013516610579565b604080519115158252519081900360200190f35b6101fb6004803603602081101561037b57600080fd5b503560ff16610581565b610307610589565b505050565b505050505050565b5050565b60008060028360038111156103af57fe5b14156103c157506001905060006103c8565b5060009050805b915091565b60008080336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104385760405162461bcd60e51b81526004018080602001828103825260258152602001806105e26025913960400191505060405180910390fd5b6000886001600160a01b03166370a0823160016040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561048857600080fd5b505afa15801561049c573d6000803e3d6000fd5b505050506040513d60208110156104b257600080fd5b50519050620f424081106104d157600080600093509350935050610567565b80620f424003915061051887878080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506105ad92505050565b50506040805184815290519194506001600160a01b0380861692908d16917f7e79a2206061184e05985ae0578dec52f817756a441996f984cdc817efc25a68919081900360200190a360019350505b96509650969350505050565b50600190565b600092915050565b600080915091565b7f000000000000000000000000000000000000000000000000000000000000000090565b60008060008380602001905160608110156105c757600080fd5b50805160208201516040909201519096919550935091505056fe4f6e6c7920746865204665654d616e6765722063616e206d616b6520746869732063616c6ca164736f6c634300060c000a", - "sourceMap": "563:2745:150:-:0;;;888:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;888:63:150;705:25:154;;;;-1:-1:-1;;;;;;705:25:154;;;-1:-1:-1;;;;;563:2745:150;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106100935760003560e01c806341892d7e1161006657806341892d7e1461021657806362780b3c146102e1578063b78b481314610323578063e337a91f14610365578063f2d638261461038557610093565b80630f5f6b4f14610098578063233faf5f1461011a5780633146d058146101ad578063320f0ddd146101db575b600080fd5b610118600480360360408110156100ae57600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156100d957600080fd5b8201836020820111156100eb57600080fd5b8035906020019184600183028401116401000000008311171561010d57600080fd5b50909250905061038d565b005b610118600480360360a081101561013057600080fd5b6001600160a01b03823581169260208101359091169160ff604083013516919081019060808101606082013564010000000081111561016e57600080fd5b82018360208201111561018057600080fd5b803590602001918460018302840111640100000000831117156101a257600080fd5b919350915035610392565b610118600480360360408110156101c357600080fd5b506001600160a01b038135811691602001351661039a565b6101fb600480360360208110156101f157600080fd5b503560ff1661039e565b60408051921515835290151560208301528051918290030190f35b6102a9600480360360a081101561022c57600080fd5b6001600160a01b03823581169260208101359091169160ff604083013516919081019060808101606082013564010000000081111561026a57600080fd5b82018360208201111561027c57600080fd5b8035906020019184600183028401116401000000008311171561029e57600080fd5b9193509150356103cd565b604051808460058111156102b957fe5b8152602001836001600160a01b03168152602001828152602001935050505060405180910390f35b610307600480360360208110156102f757600080fd5b50356001600160a01b0316610573565b604080516001600160a01b039092168252519081900360200190f35b6103516004803603604081101561033957600080fd5b506001600160a01b0381358116916020013516610579565b604080519115158252519081900360200190f35b6101fb6004803603602081101561037b57600080fd5b503560ff16610581565b610307610589565b505050565b505050505050565b5050565b60008060028360038111156103af57fe5b14156103c157506001905060006103c8565b5060009050805b915091565b60008080336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104385760405162461bcd60e51b81526004018080602001828103825260258152602001806105e26025913960400191505060405180910390fd5b6000886001600160a01b03166370a0823160016040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561048857600080fd5b505afa15801561049c573d6000803e3d6000fd5b505050506040513d60208110156104b257600080fd5b50519050620f424081106104d157600080600093509350935050610567565b80620f424003915061051887878080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506105ad92505050565b50506040805184815290519194506001600160a01b0380861692908d16917f7e79a2206061184e05985ae0578dec52f817756a441996f984cdc817efc25a68919081900360200190a360019350505b96509650969350505050565b50600190565b600092915050565b600080915091565b7f000000000000000000000000000000000000000000000000000000000000000090565b60008060008380602001905160608110156105c757600080fd5b50805160208201516040909201519096919550935091505056fe4f6e6c7920746865204665654d616e6765722063616e206d616b6520746869732063616c6ca164736f6c634300060c000a", - "sourceMap": "563:2745:150:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1078:78;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1078:78:150;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1078:78:150;;-1:-1:-1;1078:78:150;-1:-1:-1;1078:78:150;:::i;:::-;;1755:175:154;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1755:175:154;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1755:175:154;-1:-1:-1;1755:175:154;;:::i;862:92::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;862:92:154;;;;;;;;;;:::i;3017:289:150:-;;;;;;;;;;;;;;;;-1:-1:-1;3017:289:150;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;1846:907;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1846:907:150;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1846:907:150;-1:-1:-1;1846:907:150;;:::i;:::-;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1846:907:150;;;;;;;;;;;;;;;;;;;;;;1266:187;;;;;;;;;;;;;;;;-1:-1:-1;1266:187:150;-1:-1:-1;;;;;1266:187:150;;:::i;:::-;;;;-1:-1:-1;;;;;1266:187:150;;;;;;;;;;;;;;1490:104:154;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1490:104:154;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;2232:196;;;;;;;;;;;;;;;;-1:-1:-1;2232:196:154;;;;:::i;3806:104::-;;;:::i;1078:78:150:-;;;;:::o;1755:175:154:-;;;;;;;:::o;862:92::-;;;:::o;3017:289:150:-;3131:13;;3188:33;3179:5;:42;;;;;;;;;3175:93;;;-1:-1:-1;3245:4:150;;-1:-1:-1;3251:5:150;3237:20;;3175:93;-1:-1:-1;3286:5:150;;-1:-1:-1;3286:5:150;3017:289;;;;:::o;1846:907::-;2105:42;;;564:10:154;-1:-1:-1;;;;;578:11:154;564:25;;556:75;;;;-1:-1:-1;;;556:75:154;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2232:20:150::1;2261:11;-1:-1:-1::0;;;;;2255:28:150::1;;879:1;2255:51;;;;;;;;;;;;;-1:-1:-1::0;;;;;2255:51:150::1;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;2255:51:150;;-1:-1:-1;754:3:150::1;2320:33:::0;::::1;2316:119;;2377:31;2418:1:::0;2422::::1;2369:55;;;;;;;;;2316:119;2522:12;754:3;2502:32;2489:45;;2559:52;2595:15;;2559:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;2559:35:150::1;::::0;-1:-1:-1;;;2559:52:150:i:1;:::-;-1:-1:-1::0;;2627:46:150::1;::::0;;;;;;;2544:67;;-1:-1:-1;;;;;;2627:46:150;;::::1;::::0;;;::::1;::::0;::::1;::::0;;;;;::::1;::::0;;::::1;2692:33;2684:62;;;641:1:154;1846:907:150::0;;;;;;;;;;:::o;1266:187::-;-1:-1:-1;879:1:150;;1266:187::o;1490:104:154:-;1559:4;1490:104;;;;:::o;2232:196::-;2356:13;;2232:196;;;:::o;3806:104::-;3892:11;3806:104;:::o;3300:318::-;3435:14;3463:25;3502:21;3566:15;3555:56;;;;;;;;;;;;;;;-1:-1:-1;3555:56:154;;;;;;;;;;;;;;;-1:-1:-1;3555:56:154;-1:-1:-1;3300:318:154;-1:-1:-1;;3300:318:154:o", - "linkReferences": {}, - "immutableReferences": { - "40426": [ - { - "start": 988, - "length": 32 - }, - { - "start": 1419, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "activateForFund(address,address)": "3146d058", - "addFundSettings(address,bytes)": "0f5f6b4f", - "getFeeManager()": "f2d63826", - "getRecipientForFund(address)": "62780b3c", - "payout(address,address)": "b78b4813", - "settle(address,address,uint8,bytes,uint256)": "41892d7e", - "settlesOnHook(uint8)": "320f0ddd", - "update(address,address,uint8,bytes,uint256)": "233faf5f", - "updatesOnHook(uint8)": "e337a91f" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_feeManager\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"payer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"sharesQuantity\",\"type\":\"uint256\"}],\"name\":\"Settled\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"activateForFund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"addFundSettings\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFeeManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"feeManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"getRecipientForFund\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"recipient_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"payout\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"enum IFeeManager.FeeHook\",\"name\":\"\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"_settlementData\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"settle\",\"outputs\":[{\"internalType\":\"enum IFeeManager.SettlementType\",\"name\":\"settlementType_\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"payer_\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"sharesDue_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IFeeManager.FeeHook\",\"name\":\"_hook\",\"type\":\"uint8\"}],\"name\":\"settlesOnHook\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"settles_\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"usesGav_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"enum IFeeManager.FeeHook\",\"name\":\"\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"update\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IFeeManager.FeeHook\",\"name\":\"\",\"type\":\"uint8\"}],\"name\":\"updatesOnHook\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"updates_\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"usesGav_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"activateForFund(address,address)\":{\"details\":\"Unimplemented by default, may be overrode.\"},\"addFundSettings(address,bytes)\":{\"details\":\"Unnecessary for this fee\"},\"getFeeManager()\":{\"returns\":{\"feeManager_\":\"The `FEE_MANAGER` variable value\"}},\"getRecipientForFund(address)\":{\"returns\":{\"recipient_\":\"The recipient\"}},\"payout(address,address)\":{\"details\":\"Returns false by default, can be overridden by fee\"},\"settle(address,address,uint8,bytes,uint256)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\",\"_settlementData\":\"Encoded args to use in calculating the settlement\",\"_vaultProxy\":\"The VaultProxy of the fund\"},\"returns\":{\"payer_\":\"The payer of shares due\",\"settlementType_\":\"The type of settlement\",\"sharesDue_\":\"The amount of shares due\"}},\"settlesOnHook(uint8)\":{\"params\":{\"_hook\":\"The FeeHook\"},\"returns\":{\"settles_\":\"True if the fee settles on the _hook\",\"usesGav_\":\"True if the fee uses GAV during settle() for the _hook\"}},\"update(address,address,uint8,bytes,uint256)\":{\"details\":\"Unimplemented by default, can be overridden by fee\"},\"updatesOnHook(uint8)\":{\"details\":\"Returns false values by default, can be overridden by fee\",\"returns\":{\"updates_\":\"True if the fee updates on the _hook\",\"usesGav_\":\"True if the fee uses GAV during update() for the _hook\"}}},\"title\":\"MinSharesSupplyFee Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"activateForFund(address,address)\":{\"notice\":\"Allows Fee to run logic during fund activation\"},\"addFundSettings(address,bytes)\":{\"notice\":\"Add the initial fee settings for a fund\"},\"getFeeManager()\":{\"notice\":\"Gets the `FEE_MANAGER` variable\"},\"getRecipientForFund(address)\":{\"notice\":\"Gets the recipient of the fee for a given fund\"},\"payout(address,address)\":{\"notice\":\"Runs payout logic for a fee that utilizes shares outstanding as its settlement type\"},\"settle(address,address,uint8,bytes,uint256)\":{\"notice\":\"Settles the fee\"},\"settlesOnHook(uint8)\":{\"notice\":\"Gets whether the fee settles and requires GAV on a particular hook\"},\"update(address,address,uint8,bytes,uint256)\":{\"notice\":\"Update fee state after all settlement has occurred during a given fee hook\"},\"updatesOnHook(uint8)\":{\"notice\":\"Gets whether the fee updates and requires GAV on a particular hook\"}},\"notice\":\"Charges and permanently locks a one-time fee to ensure a minimum shares supply at all times\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/fee-manager/fees/MinSharesSupplyFee.sol\":\"MinSharesSupplyFee\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/fee-manager/IFee.sol\":{\"keccak256\":\"0x38e3f324c67f3205e38197165586ea82ca226069902f34214bcde76cf905fcff\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c1fff656d1bdde3324421bc9e77cbfc4e80baf4e665f8713fdb65611b046f4b0\",\"dweb:/ipfs/QmVRFjNwmsVHdh4sp3DWdL74VWmhRhPZE5kDxJiuPL8Gu2\"]},\"contracts/release/extensions/fee-manager/IFeeManager.sol\":{\"keccak256\":\"0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22\",\"dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod\"]},\"contracts/release/extensions/fee-manager/fees/MinSharesSupplyFee.sol\":{\"keccak256\":\"0x9af095d953addea2d9b6bf5ef987a1b734b31c32b2836cbb9add488da6eace1b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c6e109deb1b547f0cda18330918baa92e200ccd4acee164d89927ee658fd55d0\",\"dweb:/ipfs/QmW8L1W1dQFQ4MEdXyScQM4duzyZvNwtTwMFqpQWVSDEp5\"]},\"contracts/release/extensions/fee-manager/fees/utils/FeeBase.sol\":{\"keccak256\":\"0x485c03e3088b6dc9828d2e895cce6856501448b4a2c71a0acae4e012bc644b14\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b63aef3cd20eb4dd585632c74619235ef1d5c3c2c52fd61f8802d0a50569b767\",\"dweb:/ipfs/QmSuTYChj2j8NnLYCg47feAJ5P9NheQpK46fG6fhmMtimA\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_feeManager", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "comptrollerProxy", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "payer", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "sharesQuantity", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "Settled", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "activateForFund" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "addFundSettings" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getFeeManager", - "outputs": [ - { - "internalType": "address", - "name": "feeManager_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getRecipientForFund", - "outputs": [ - { - "internalType": "address", - "name": "recipient_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "payout", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "enum IFeeManager.FeeHook", - "name": "", - "type": "uint8" - }, - { - "internalType": "bytes", - "name": "_settlementData", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "settle", - "outputs": [ - { - "internalType": "enum IFeeManager.SettlementType", - "name": "settlementType_", - "type": "uint8" - }, - { - "internalType": "address", - "name": "payer_", - "type": "address" - }, - { - "internalType": "uint256", - "name": "sharesDue_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "enum IFeeManager.FeeHook", - "name": "_hook", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function", - "name": "settlesOnHook", - "outputs": [ - { - "internalType": "bool", - "name": "settles_", - "type": "bool" - }, - { - "internalType": "bool", - "name": "usesGav_", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "enum IFeeManager.FeeHook", - "name": "", - "type": "uint8" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "update" - }, - { - "inputs": [ - { - "internalType": "enum IFeeManager.FeeHook", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function", - "name": "updatesOnHook", - "outputs": [ - { - "internalType": "bool", - "name": "updates_", - "type": "bool" - }, - { - "internalType": "bool", - "name": "usesGav_", - "type": "bool" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "activateForFund(address,address)": { - "details": "Unimplemented by default, may be overrode." - }, - "addFundSettings(address,bytes)": { - "details": "Unnecessary for this fee" - }, - "getFeeManager()": { - "returns": { - "feeManager_": "The `FEE_MANAGER` variable value" - } - }, - "getRecipientForFund(address)": { - "returns": { - "recipient_": "The recipient" - } - }, - "payout(address,address)": { - "details": "Returns false by default, can be overridden by fee" - }, - "settle(address,address,uint8,bytes,uint256)": { - "params": { - "_comptrollerProxy": "The ComptrollerProxy of the fund", - "_settlementData": "Encoded args to use in calculating the settlement", - "_vaultProxy": "The VaultProxy of the fund" - }, - "returns": { - "payer_": "The payer of shares due", - "settlementType_": "The type of settlement", - "sharesDue_": "The amount of shares due" - } - }, - "settlesOnHook(uint8)": { - "params": { - "_hook": "The FeeHook" - }, - "returns": { - "settles_": "True if the fee settles on the _hook", - "usesGav_": "True if the fee uses GAV during settle() for the _hook" - } - }, - "update(address,address,uint8,bytes,uint256)": { - "details": "Unimplemented by default, can be overridden by fee" - }, - "updatesOnHook(uint8)": { - "details": "Returns false values by default, can be overridden by fee", - "returns": { - "updates_": "True if the fee updates on the _hook", - "usesGav_": "True if the fee uses GAV during update() for the _hook" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "activateForFund(address,address)": { - "notice": "Allows Fee to run logic during fund activation" - }, - "addFundSettings(address,bytes)": { - "notice": "Add the initial fee settings for a fund" - }, - "getFeeManager()": { - "notice": "Gets the `FEE_MANAGER` variable" - }, - "getRecipientForFund(address)": { - "notice": "Gets the recipient of the fee for a given fund" - }, - "payout(address,address)": { - "notice": "Runs payout logic for a fee that utilizes shares outstanding as its settlement type" - }, - "settle(address,address,uint8,bytes,uint256)": { - "notice": "Settles the fee" - }, - "settlesOnHook(uint8)": { - "notice": "Gets whether the fee settles and requires GAV on a particular hook" - }, - "update(address,address,uint8,bytes,uint256)": { - "notice": "Update fee state after all settlement has occurred during a given fee hook" - }, - "updatesOnHook(uint8)": { - "notice": "Gets whether the fee updates and requires GAV on a particular hook" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/fee-manager/fees/MinSharesSupplyFee.sol": "MinSharesSupplyFee" - }, - "libraries": {} - }, - "sources": { - "contracts/release/extensions/fee-manager/IFee.sol": { - "keccak256": "0x38e3f324c67f3205e38197165586ea82ca226069902f34214bcde76cf905fcff", - "urls": [ - "bzz-raw://c1fff656d1bdde3324421bc9e77cbfc4e80baf4e665f8713fdb65611b046f4b0", - "dweb:/ipfs/QmVRFjNwmsVHdh4sp3DWdL74VWmhRhPZE5kDxJiuPL8Gu2" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/fee-manager/IFeeManager.sol": { - "keccak256": "0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51", - "urls": [ - "bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22", - "dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/fee-manager/fees/MinSharesSupplyFee.sol": { - "keccak256": "0x9af095d953addea2d9b6bf5ef987a1b734b31c32b2836cbb9add488da6eace1b", - "urls": [ - "bzz-raw://c6e109deb1b547f0cda18330918baa92e200ccd4acee164d89927ee658fd55d0", - "dweb:/ipfs/QmW8L1W1dQFQ4MEdXyScQM4duzyZvNwtTwMFqpQWVSDEp5" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/fee-manager/fees/utils/FeeBase.sol": { - "keccak256": "0x485c03e3088b6dc9828d2e895cce6856501448b4a2c71a0acae4e012bc644b14", - "urls": [ - "bzz-raw://b63aef3cd20eb4dd585632c74619235ef1d5c3c2c52fd61f8802d0a50569b767", - "dweb:/ipfs/QmSuTYChj2j8NnLYCg47feAJ5P9NheQpK46fG6fhmMtimA" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 150 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_feeManager", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "activateForFund", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "addFundSettings", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "getFeeManager", "inputs": [], "outputs": [ { "name": "feeManager_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getRecipientForFund", "inputs": [ { "name": "", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "recipient_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "payout", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "settle", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" }, { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "", "type": "uint8", "internalType": "enum IFeeManager.FeeHook" }, { "name": "_settlementData", "type": "bytes", "internalType": "bytes" }, { "name": "", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "settlementType_", "type": "uint8", "internalType": "enum IFeeManager.SettlementType" }, { "name": "payer_", "type": "address", "internalType": "address" }, { "name": "sharesDue_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "settlesOnHook", "inputs": [ { "name": "_hook", "type": "uint8", "internalType": "enum IFeeManager.FeeHook" } ], "outputs": [ { "name": "settles_", "type": "bool", "internalType": "bool" }, { "name": "usesGav_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "update", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "uint8", "internalType": "enum IFeeManager.FeeHook" }, { "name": "", "type": "bytes", "internalType": "bytes" }, { "name": "", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "updatesOnHook", "inputs": [ { "name": "", "type": "uint8", "internalType": "enum IFeeManager.FeeHook" } ], "outputs": [ { "name": "updates_", "type": "bool", "internalType": "bool" }, { "name": "usesGav_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "event", "name": "Settled", "inputs": [ { "name": "comptrollerProxy", "type": "address", "indexed": true, "internalType": "address" }, { "name": "payer", "type": "address", "indexed": true, "internalType": "address" }, { "name": "sharesQuantity", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false } ], "bytecode": { "object": "0x60a060405234801561001057600080fd5b5060405161067f38038061067f8339818101604052602081101561003357600080fd5b5051606081901b6001600160601b0319166080526001600160a01b031661061361006c600039806103dc528061058b52506106136000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c806341892d7e1161006657806341892d7e1461021657806362780b3c146102e1578063b78b481314610323578063e337a91f14610365578063f2d638261461038557610093565b80630f5f6b4f14610098578063233faf5f1461011a5780633146d058146101ad578063320f0ddd146101db575b600080fd5b610118600480360360408110156100ae57600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156100d957600080fd5b8201836020820111156100eb57600080fd5b8035906020019184600183028401116401000000008311171561010d57600080fd5b50909250905061038d565b005b610118600480360360a081101561013057600080fd5b6001600160a01b03823581169260208101359091169160ff604083013516919081019060808101606082013564010000000081111561016e57600080fd5b82018360208201111561018057600080fd5b803590602001918460018302840111640100000000831117156101a257600080fd5b919350915035610392565b610118600480360360408110156101c357600080fd5b506001600160a01b038135811691602001351661039a565b6101fb600480360360208110156101f157600080fd5b503560ff1661039e565b60408051921515835290151560208301528051918290030190f35b6102a9600480360360a081101561022c57600080fd5b6001600160a01b03823581169260208101359091169160ff604083013516919081019060808101606082013564010000000081111561026a57600080fd5b82018360208201111561027c57600080fd5b8035906020019184600183028401116401000000008311171561029e57600080fd5b9193509150356103cd565b604051808460058111156102b957fe5b8152602001836001600160a01b03168152602001828152602001935050505060405180910390f35b610307600480360360208110156102f757600080fd5b50356001600160a01b0316610573565b604080516001600160a01b039092168252519081900360200190f35b6103516004803603604081101561033957600080fd5b506001600160a01b0381358116916020013516610579565b604080519115158252519081900360200190f35b6101fb6004803603602081101561037b57600080fd5b503560ff16610581565b610307610589565b505050565b505050505050565b5050565b60008060028360038111156103af57fe5b14156103c157506001905060006103c8565b5060009050805b915091565b60008080336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104385760405162461bcd60e51b81526004018080602001828103825260258152602001806105e26025913960400191505060405180910390fd5b6000886001600160a01b03166370a0823160016040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561048857600080fd5b505afa15801561049c573d6000803e3d6000fd5b505050506040513d60208110156104b257600080fd5b50519050620f424081106104d157600080600093509350935050610567565b80620f424003915061051887878080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506105ad92505050565b50506040805184815290519194506001600160a01b0380861692908d16917f7e79a2206061184e05985ae0578dec52f817756a441996f984cdc817efc25a68919081900360200190a360019350505b96509650969350505050565b50600190565b600092915050565b600080915091565b7f000000000000000000000000000000000000000000000000000000000000000090565b60008060008380602001905160608110156105c757600080fd5b50805160208201516040909201519096919550935091505056fe4f6e6c7920746865204665654d616e6765722063616e206d616b6520746869732063616c6ca164736f6c634300060c000a", "sourceMap": "563:2745:150:-:0;;;888:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;888:63:150;705:25:154;;;;-1:-1:-1;;;;;;705:25:154;;;-1:-1:-1;;;;;563:2745:150;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106100935760003560e01c806341892d7e1161006657806341892d7e1461021657806362780b3c146102e1578063b78b481314610323578063e337a91f14610365578063f2d638261461038557610093565b80630f5f6b4f14610098578063233faf5f1461011a5780633146d058146101ad578063320f0ddd146101db575b600080fd5b610118600480360360408110156100ae57600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156100d957600080fd5b8201836020820111156100eb57600080fd5b8035906020019184600183028401116401000000008311171561010d57600080fd5b50909250905061038d565b005b610118600480360360a081101561013057600080fd5b6001600160a01b03823581169260208101359091169160ff604083013516919081019060808101606082013564010000000081111561016e57600080fd5b82018360208201111561018057600080fd5b803590602001918460018302840111640100000000831117156101a257600080fd5b919350915035610392565b610118600480360360408110156101c357600080fd5b506001600160a01b038135811691602001351661039a565b6101fb600480360360208110156101f157600080fd5b503560ff1661039e565b60408051921515835290151560208301528051918290030190f35b6102a9600480360360a081101561022c57600080fd5b6001600160a01b03823581169260208101359091169160ff604083013516919081019060808101606082013564010000000081111561026a57600080fd5b82018360208201111561027c57600080fd5b8035906020019184600183028401116401000000008311171561029e57600080fd5b9193509150356103cd565b604051808460058111156102b957fe5b8152602001836001600160a01b03168152602001828152602001935050505060405180910390f35b610307600480360360208110156102f757600080fd5b50356001600160a01b0316610573565b604080516001600160a01b039092168252519081900360200190f35b6103516004803603604081101561033957600080fd5b506001600160a01b0381358116916020013516610579565b604080519115158252519081900360200190f35b6101fb6004803603602081101561037b57600080fd5b503560ff16610581565b610307610589565b505050565b505050505050565b5050565b60008060028360038111156103af57fe5b14156103c157506001905060006103c8565b5060009050805b915091565b60008080336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104385760405162461bcd60e51b81526004018080602001828103825260258152602001806105e26025913960400191505060405180910390fd5b6000886001600160a01b03166370a0823160016040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561048857600080fd5b505afa15801561049c573d6000803e3d6000fd5b505050506040513d60208110156104b257600080fd5b50519050620f424081106104d157600080600093509350935050610567565b80620f424003915061051887878080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506105ad92505050565b50506040805184815290519194506001600160a01b0380861692908d16917f7e79a2206061184e05985ae0578dec52f817756a441996f984cdc817efc25a68919081900360200190a360019350505b96509650969350505050565b50600190565b600092915050565b600080915091565b7f000000000000000000000000000000000000000000000000000000000000000090565b60008060008380602001905160608110156105c757600080fd5b50805160208201516040909201519096919550935091505056fe4f6e6c7920746865204665654d616e6765722063616e206d616b6520746869732063616c6ca164736f6c634300060c000a", "sourceMap": "563:2745:150:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1078:78;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1078:78:150;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1078:78:150;;-1:-1:-1;1078:78:150;-1:-1:-1;1078:78:150;:::i;:::-;;1755:175:154;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1755:175:154;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1755:175:154;-1:-1:-1;1755:175:154;;:::i;862:92::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;862:92:154;;;;;;;;;;:::i;3017:289:150:-;;;;;;;;;;;;;;;;-1:-1:-1;3017:289:150;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;1846:907;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1846:907:150;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1846:907:150;-1:-1:-1;1846:907:150;;:::i;:::-;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1846:907:150;;;;;;;;;;;;;;;;;;;;;;1266:187;;;;;;;;;;;;;;;;-1:-1:-1;1266:187:150;-1:-1:-1;;;;;1266:187:150;;:::i;:::-;;;;-1:-1:-1;;;;;1266:187:150;;;;;;;;;;;;;;1490:104:154;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1490:104:154;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;2232:196;;;;;;;;;;;;;;;;-1:-1:-1;2232:196:154;;;;:::i;3806:104::-;;;:::i;1078:78:150:-;;;;:::o;1755:175:154:-;;;;;;;:::o;862:92::-;;;:::o;3017:289:150:-;3131:13;;3188:33;3179:5;:42;;;;;;;;;3175:93;;;-1:-1:-1;3245:4:150;;-1:-1:-1;3251:5:150;3237:20;;3175:93;-1:-1:-1;3286:5:150;;-1:-1:-1;3286:5:150;3017:289;;;;:::o;1846:907::-;2105:42;;;564:10:154;-1:-1:-1;;;;;578:11:154;564:25;;556:75;;;;-1:-1:-1;;;556:75:154;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2232:20:150::1;2261:11;-1:-1:-1::0;;;;;2255:28:150::1;;879:1;2255:51;;;;;;;;;;;;;-1:-1:-1::0;;;;;2255:51:150::1;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;2255:51:150;;-1:-1:-1;754:3:150::1;2320:33:::0;::::1;2316:119;;2377:31;2418:1:::0;2422::::1;2369:55;;;;;;;;;2316:119;2522:12;754:3;2502:32;2489:45;;2559:52;2595:15;;2559:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;2559:35:150::1;::::0;-1:-1:-1;;;2559:52:150:i:1;:::-;-1:-1:-1::0;;2627:46:150::1;::::0;;;;;;;2544:67;;-1:-1:-1;;;;;;2627:46:150;;::::1;::::0;;;::::1;::::0;::::1;::::0;;;;;::::1;::::0;;::::1;2692:33;2684:62;;;641:1:154;1846:907:150::0;;;;;;;;;;:::o;1266:187::-;-1:-1:-1;879:1:150;;1266:187::o;1490:104:154:-;1559:4;1490:104;;;;:::o;2232:196::-;2356:13;;2232:196;;;:::o;3806:104::-;3892:11;3806:104;:::o;3300:318::-;3435:14;3463:25;3502:21;3566:15;3555:56;;;;;;;;;;;;;;;-1:-1:-1;3555:56:154;;;;;;;;;;;;;;;-1:-1:-1;3555:56:154;-1:-1:-1;3300:318:154;-1:-1:-1;;3300:318:154:o", "linkReferences": {}, "immutableReferences": { "40426": [ { "start": 988, "length": 32 }, { "start": 1419, "length": 32 } ] } }, "methodIdentifiers": { "activateForFund(address,address)": "3146d058", "addFundSettings(address,bytes)": "0f5f6b4f", "getFeeManager()": "f2d63826", "getRecipientForFund(address)": "62780b3c", "payout(address,address)": "b78b4813", "settle(address,address,uint8,bytes,uint256)": "41892d7e", "settlesOnHook(uint8)": "320f0ddd", "update(address,address,uint8,bytes,uint256)": "233faf5f", "updatesOnHook(uint8)": "e337a91f" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_feeManager\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"payer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"sharesQuantity\",\"type\":\"uint256\"}],\"name\":\"Settled\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"activateForFund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"addFundSettings\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFeeManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"feeManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"getRecipientForFund\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"recipient_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"payout\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"enum IFeeManager.FeeHook\",\"name\":\"\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"_settlementData\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"settle\",\"outputs\":[{\"internalType\":\"enum IFeeManager.SettlementType\",\"name\":\"settlementType_\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"payer_\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"sharesDue_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IFeeManager.FeeHook\",\"name\":\"_hook\",\"type\":\"uint8\"}],\"name\":\"settlesOnHook\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"settles_\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"usesGav_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"enum IFeeManager.FeeHook\",\"name\":\"\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"update\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IFeeManager.FeeHook\",\"name\":\"\",\"type\":\"uint8\"}],\"name\":\"updatesOnHook\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"updates_\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"usesGav_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"activateForFund(address,address)\":{\"details\":\"Unimplemented by default, may be overrode.\"},\"addFundSettings(address,bytes)\":{\"details\":\"Unnecessary for this fee\"},\"getFeeManager()\":{\"returns\":{\"feeManager_\":\"The `FEE_MANAGER` variable value\"}},\"getRecipientForFund(address)\":{\"returns\":{\"recipient_\":\"The recipient\"}},\"payout(address,address)\":{\"details\":\"Returns false by default, can be overridden by fee\"},\"settle(address,address,uint8,bytes,uint256)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\",\"_settlementData\":\"Encoded args to use in calculating the settlement\",\"_vaultProxy\":\"The VaultProxy of the fund\"},\"returns\":{\"payer_\":\"The payer of shares due\",\"settlementType_\":\"The type of settlement\",\"sharesDue_\":\"The amount of shares due\"}},\"settlesOnHook(uint8)\":{\"params\":{\"_hook\":\"The FeeHook\"},\"returns\":{\"settles_\":\"True if the fee settles on the _hook\",\"usesGav_\":\"True if the fee uses GAV during settle() for the _hook\"}},\"update(address,address,uint8,bytes,uint256)\":{\"details\":\"Unimplemented by default, can be overridden by fee\"},\"updatesOnHook(uint8)\":{\"details\":\"Returns false values by default, can be overridden by fee\",\"returns\":{\"updates_\":\"True if the fee updates on the _hook\",\"usesGav_\":\"True if the fee uses GAV during update() for the _hook\"}}},\"title\":\"MinSharesSupplyFee Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"activateForFund(address,address)\":{\"notice\":\"Allows Fee to run logic during fund activation\"},\"addFundSettings(address,bytes)\":{\"notice\":\"Add the initial fee settings for a fund\"},\"getFeeManager()\":{\"notice\":\"Gets the `FEE_MANAGER` variable\"},\"getRecipientForFund(address)\":{\"notice\":\"Gets the recipient of the fee for a given fund\"},\"payout(address,address)\":{\"notice\":\"Runs payout logic for a fee that utilizes shares outstanding as its settlement type\"},\"settle(address,address,uint8,bytes,uint256)\":{\"notice\":\"Settles the fee\"},\"settlesOnHook(uint8)\":{\"notice\":\"Gets whether the fee settles and requires GAV on a particular hook\"},\"update(address,address,uint8,bytes,uint256)\":{\"notice\":\"Update fee state after all settlement has occurred during a given fee hook\"},\"updatesOnHook(uint8)\":{\"notice\":\"Gets whether the fee updates and requires GAV on a particular hook\"}},\"notice\":\"Charges and permanently locks a one-time fee to ensure a minimum shares supply at all times\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/fee-manager/fees/MinSharesSupplyFee.sol\":\"MinSharesSupplyFee\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/fee-manager/IFee.sol\":{\"keccak256\":\"0x38e3f324c67f3205e38197165586ea82ca226069902f34214bcde76cf905fcff\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c1fff656d1bdde3324421bc9e77cbfc4e80baf4e665f8713fdb65611b046f4b0\",\"dweb:/ipfs/QmVRFjNwmsVHdh4sp3DWdL74VWmhRhPZE5kDxJiuPL8Gu2\"]},\"contracts/release/extensions/fee-manager/IFeeManager.sol\":{\"keccak256\":\"0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22\",\"dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod\"]},\"contracts/release/extensions/fee-manager/fees/MinSharesSupplyFee.sol\":{\"keccak256\":\"0x9af095d953addea2d9b6bf5ef987a1b734b31c32b2836cbb9add488da6eace1b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c6e109deb1b547f0cda18330918baa92e200ccd4acee164d89927ee658fd55d0\",\"dweb:/ipfs/QmW8L1W1dQFQ4MEdXyScQM4duzyZvNwtTwMFqpQWVSDEp5\"]},\"contracts/release/extensions/fee-manager/fees/utils/FeeBase.sol\":{\"keccak256\":\"0x485c03e3088b6dc9828d2e895cce6856501448b4a2c71a0acae4e012bc644b14\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b63aef3cd20eb4dd585632c74619235ef1d5c3c2c52fd61f8802d0a50569b767\",\"dweb:/ipfs/QmSuTYChj2j8NnLYCg47feAJ5P9NheQpK46fG6fhmMtimA\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_feeManager", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "comptrollerProxy", "type": "address", "indexed": true }, { "internalType": "address", "name": "payer", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "sharesQuantity", "type": "uint256", "indexed": false } ], "type": "event", "name": "Settled", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "activateForFund" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "addFundSettings" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getFeeManager", "outputs": [ { "internalType": "address", "name": "feeManager_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getRecipientForFund", "outputs": [ { "internalType": "address", "name": "recipient_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "payout", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" }, { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "enum IFeeManager.FeeHook", "name": "", "type": "uint8" }, { "internalType": "bytes", "name": "_settlementData", "type": "bytes" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "settle", "outputs": [ { "internalType": "enum IFeeManager.SettlementType", "name": "settlementType_", "type": "uint8" }, { "internalType": "address", "name": "payer_", "type": "address" }, { "internalType": "uint256", "name": "sharesDue_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "enum IFeeManager.FeeHook", "name": "_hook", "type": "uint8" } ], "stateMutability": "view", "type": "function", "name": "settlesOnHook", "outputs": [ { "internalType": "bool", "name": "settles_", "type": "bool" }, { "internalType": "bool", "name": "usesGav_", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "address", "name": "", "type": "address" }, { "internalType": "enum IFeeManager.FeeHook", "name": "", "type": "uint8" }, { "internalType": "bytes", "name": "", "type": "bytes" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "update" }, { "inputs": [ { "internalType": "enum IFeeManager.FeeHook", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function", "name": "updatesOnHook", "outputs": [ { "internalType": "bool", "name": "updates_", "type": "bool" }, { "internalType": "bool", "name": "usesGav_", "type": "bool" } ] } ], "devdoc": { "kind": "dev", "methods": { "activateForFund(address,address)": { "details": "Unimplemented by default, may be overrode." }, "addFundSettings(address,bytes)": { "details": "Unnecessary for this fee" }, "getFeeManager()": { "returns": { "feeManager_": "The `FEE_MANAGER` variable value" } }, "getRecipientForFund(address)": { "returns": { "recipient_": "The recipient" } }, "payout(address,address)": { "details": "Returns false by default, can be overridden by fee" }, "settle(address,address,uint8,bytes,uint256)": { "params": { "_comptrollerProxy": "The ComptrollerProxy of the fund", "_settlementData": "Encoded args to use in calculating the settlement", "_vaultProxy": "The VaultProxy of the fund" }, "returns": { "payer_": "The payer of shares due", "settlementType_": "The type of settlement", "sharesDue_": "The amount of shares due" } }, "settlesOnHook(uint8)": { "params": { "_hook": "The FeeHook" }, "returns": { "settles_": "True if the fee settles on the _hook", "usesGav_": "True if the fee uses GAV during settle() for the _hook" } }, "update(address,address,uint8,bytes,uint256)": { "details": "Unimplemented by default, can be overridden by fee" }, "updatesOnHook(uint8)": { "details": "Returns false values by default, can be overridden by fee", "returns": { "updates_": "True if the fee updates on the _hook", "usesGav_": "True if the fee uses GAV during update() for the _hook" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "activateForFund(address,address)": { "notice": "Allows Fee to run logic during fund activation" }, "addFundSettings(address,bytes)": { "notice": "Add the initial fee settings for a fund" }, "getFeeManager()": { "notice": "Gets the `FEE_MANAGER` variable" }, "getRecipientForFund(address)": { "notice": "Gets the recipient of the fee for a given fund" }, "payout(address,address)": { "notice": "Runs payout logic for a fee that utilizes shares outstanding as its settlement type" }, "settle(address,address,uint8,bytes,uint256)": { "notice": "Settles the fee" }, "settlesOnHook(uint8)": { "notice": "Gets whether the fee settles and requires GAV on a particular hook" }, "update(address,address,uint8,bytes,uint256)": { "notice": "Update fee state after all settlement has occurred during a given fee hook" }, "updatesOnHook(uint8)": { "notice": "Gets whether the fee updates and requires GAV on a particular hook" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/fee-manager/fees/MinSharesSupplyFee.sol": "MinSharesSupplyFee" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/extensions/fee-manager/IFee.sol": { "keccak256": "0x38e3f324c67f3205e38197165586ea82ca226069902f34214bcde76cf905fcff", "urls": [ "bzz-raw://c1fff656d1bdde3324421bc9e77cbfc4e80baf4e665f8713fdb65611b046f4b0", "dweb:/ipfs/QmVRFjNwmsVHdh4sp3DWdL74VWmhRhPZE5kDxJiuPL8Gu2" ], "license": "GPL-3.0" }, "contracts/release/extensions/fee-manager/IFeeManager.sol": { "keccak256": "0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51", "urls": [ "bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22", "dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod" ], "license": "GPL-3.0" }, "contracts/release/extensions/fee-manager/fees/MinSharesSupplyFee.sol": { "keccak256": "0x9af095d953addea2d9b6bf5ef987a1b734b31c32b2836cbb9add488da6eace1b", "urls": [ "bzz-raw://c6e109deb1b547f0cda18330918baa92e200ccd4acee164d89927ee658fd55d0", "dweb:/ipfs/QmW8L1W1dQFQ4MEdXyScQM4duzyZvNwtTwMFqpQWVSDEp5" ], "license": "GPL-3.0" }, "contracts/release/extensions/fee-manager/fees/utils/FeeBase.sol": { "keccak256": "0x485c03e3088b6dc9828d2e895cce6856501448b4a2c71a0acae4e012bc644b14", "urls": [ "bzz-raw://b63aef3cd20eb4dd585632c74619235ef1d5c3c2c52fd61f8802d0a50569b767", "dweb:/ipfs/QmSuTYChj2j8NnLYCg47feAJ5P9NheQpK46fG6fhmMtimA" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" } }, "version": 1 }, "id": 150 } diff --git a/eth_defi/abi/enzyme/MockChainlinkPriceSource.json b/eth_defi/abi/enzyme/MockChainlinkPriceSource.json index 27f18647..fb5c491c 100644 --- a/eth_defi/abi/enzyme/MockChainlinkPriceSource.json +++ b/eth_defi/abi/enzyme/MockChainlinkPriceSource.json @@ -1,377 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "uint256", - "name": "_decimals", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "int256", - "name": "current", - "type": "int256" - }, - { - "indexed": true, - "internalType": "uint256", - "name": "roundId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "timestamp", - "type": "uint256" - } - ], - "name": "AnswerUpdated", - "type": "event" - }, - { - "inputs": [], - "name": "DECIMALS", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "aggregator", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "decimals", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "latestAnswer", - "outputs": [ - { - "internalType": "int256", - "name": "", - "type": "int256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "latestTimestamp", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "roundId", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_nextAggregator", - "type": "address" - } - ], - "name": "setAggregator", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "int256", - "name": "_nextAnswer", - "type": "int256" - }, - { - "internalType": "uint256", - "name": "_nextTimestamp", - "type": "uint256" - } - ], - "name": "setLatestAnswer", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x608060405234801561001057600080fd5b5060405161024b38038061024b8339818101604052602081101561003357600080fd5b50516000819055600a0a600190815542600255600355600480546001600160a01b031916301790556101e18061006a6000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c80638205bf6a1161005b5780638205bf6a146100db5780638cd221c9146100e3578063e9c58f85146100eb578063f9120af61461011057610088565b8063245a7bfc1461008d5780632e0f2625146100b1578063313ce567146100cb57806350d25bcd146100d3575b600080fd5b610095610136565b604080516001600160a01b039092168252519081900360200190f35b6100b9610145565b60408051918252519081900360200190f35b6100b961014b565b6100b9610151565b6100b9610157565b6100b961015d565b61010e6004803603604081101561010157600080fd5b5080359060200135610163565b005b61010e6004803603602081101561012657600080fd5b50356001600160a01b03166101b2565b6004546001600160a01b031681565b60005481565b60005490565b60015481565b60025481565b60035481565b60018281556002829055600380549091019081905560408051838152905184917f0559884fd3a460db3073b7fc896cc77986f16e378210ded43186175bf646fc5f919081900360200190a35050565b600480546001600160a01b0319166001600160a01b039290921691909117905556fea164736f6c634300060c000a", - "sourceMap": "280:968:0:-:0;;;572:209;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;572:209:0;620:8;:20;;;672:2;:13;650:12;:36;;;714:3;696:15;:21;727:7;:11;748:10;:26;;-1:-1:-1;;;;;;748:26:0;769:4;748:26;;;280:968;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106100885760003560e01c80638205bf6a1161005b5780638205bf6a146100db5780638cd221c9146100e3578063e9c58f85146100eb578063f9120af61461011057610088565b8063245a7bfc1461008d5780632e0f2625146100b1578063313ce567146100cb57806350d25bcd146100d3575b600080fd5b610095610136565b604080516001600160a01b039092168252519081900360200190f35b6100b9610145565b60408051918252519081900360200190f35b6100b961014b565b6100b9610151565b6100b9610157565b6100b961015d565b61010e6004803603604081101561010157600080fd5b5080359060200135610163565b005b61010e6004803603602081101561012657600080fd5b50356001600160a01b03166101b2565b6004546001600160a01b031681565b60005481565b60005490565b60015481565b60025481565b60035481565b60018281556002829055600380549091019081905560408051838152905184917f0559884fd3a460db3073b7fc896cc77986f16e378210ded43186175bf646fc5f919081900360200190a35050565b600480546001600160a01b0319166001600160a01b039290921691909117905556fea164736f6c634300060c000a", - "sourceMap": "280:968:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;540:25;;;:::i;:::-;;;;-1:-1:-1;;;;;540:25:0;;;;;;;;;;;;;;414:23;;;:::i;:::-;;;;;;;;;;;;;;;;1164:82;;;:::i;444:26::-;;;:::i;476:30::-;;;:::i;512:22::-;;;:::i;787:263::-;;;;;;;;;;;;;;;;-1:-1:-1;787:263:0;;;;;;;:::i;:::-;;1056:102;;;;;;;;;;;;;;;;-1:-1:-1;1056:102:0;-1:-1:-1;;;;;1056:102:0;;:::i;540:25::-;;;-1:-1:-1;;;;;540:25:0;;:::o;414:23::-;;;;:::o;1164:82::-;1205:7;1231:8;1164:82;:::o;444:26::-;;;;:::o;476:30::-;;;;:::o;512:22::-;;;;:::o;787:263::-;875:12;:26;;;911:15;:32;;;963:7;;;:11;;;953:21;;;;990:53;;;;;;;;890:11;;990:53;;;;;;;;;;787:263;;:::o;1056:102::-;1123:10;:28;;-1:-1:-1;;;;;;1123:28:0;-1:-1:-1;;;;;1123:28:0;;;;;;;;;;1056:102::o", - "linkReferences": {} - }, - "methodIdentifiers": { - "DECIMALS()": "2e0f2625", - "aggregator()": "245a7bfc", - "decimals()": "313ce567", - "latestAnswer()": "50d25bcd", - "latestTimestamp()": "8205bf6a", - "roundId()": "8cd221c9", - "setAggregator(address)": "f9120af6", - "setLatestAnswer(int256,uint256)": "e9c58f85" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_decimals\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"int256\",\"name\":\"current\",\"type\":\"int256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"name\":\"AnswerUpdated\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DECIMALS\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"aggregator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"latestAnswer\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"latestTimestamp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"roundId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nextAggregator\",\"type\":\"address\"}],\"name\":\"setAggregator\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"_nextAnswer\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"_nextTimestamp\",\"type\":\"uint256\"}],\"name\":\"setLatestAnswer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/mocks/MockChainlinkPriceSource.sol\":\"MockChainlinkPriceSource\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/mocks/MockChainlinkPriceSource.sol\":{\"keccak256\":\"0xf1ee7f09952d4ff265fc5724e3252c64d588b022735311d3028bfb5f50037fbc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://4ea4c894d5ff3b7ace9d410f219f3d16c789327e6eda95bcdf515a321daa3a05\",\"dweb:/ipfs/QmaYBBY65nAZVWc3ZFAhBJcFfmRb9HKaRyRAHakpzopDaY\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "uint256", - "name": "_decimals", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "int256", - "name": "current", - "type": "int256", - "indexed": true - }, - { - "internalType": "uint256", - "name": "roundId", - "type": "uint256", - "indexed": true - }, - { - "internalType": "uint256", - "name": "timestamp", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "AnswerUpdated", - "anonymous": false - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "DECIMALS", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "aggregator", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "decimals", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "latestAnswer", - "outputs": [ - { - "internalType": "int256", - "name": "", - "type": "int256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "latestTimestamp", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "roundId", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_nextAggregator", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setAggregator" - }, - { - "inputs": [ - { - "internalType": "int256", - "name": "_nextAnswer", - "type": "int256" - }, - { - "internalType": "uint256", - "name": "_nextTimestamp", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setLatestAnswer" - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/mocks/MockChainlinkPriceSource.sol": "MockChainlinkPriceSource" - }, - "libraries": {} - }, - "sources": { - "contracts/mocks/MockChainlinkPriceSource.sol": { - "keccak256": "0xf1ee7f09952d4ff265fc5724e3252c64d588b022735311d3028bfb5f50037fbc", - "urls": [ - "bzz-raw://4ea4c894d5ff3b7ace9d410f219f3d16c789327e6eda95bcdf515a321daa3a05", - "dweb:/ipfs/QmaYBBY65nAZVWc3ZFAhBJcFfmRb9HKaRyRAHakpzopDaY" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 0 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_decimals", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "DECIMALS", "inputs": [], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "aggregator", "inputs": [], "outputs": [ { "name": "", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "decimals", "inputs": [], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "latestAnswer", "inputs": [], "outputs": [ { "name": "", "type": "int256", "internalType": "int256" } ], "stateMutability": "view" }, { "type": "function", "name": "latestTimestamp", "inputs": [], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "roundId", "inputs": [], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "setAggregator", "inputs": [ { "name": "_nextAggregator", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setLatestAnswer", "inputs": [ { "name": "_nextAnswer", "type": "int256", "internalType": "int256" }, { "name": "_nextTimestamp", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "event", "name": "AnswerUpdated", "inputs": [ { "name": "current", "type": "int256", "indexed": true, "internalType": "int256" }, { "name": "roundId", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "timestamp", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false } ], "bytecode": { "object": "0x608060405234801561001057600080fd5b5060405161024b38038061024b8339818101604052602081101561003357600080fd5b50516000819055600a0a600190815542600255600355600480546001600160a01b031916301790556101e18061006a6000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c80638205bf6a1161005b5780638205bf6a146100db5780638cd221c9146100e3578063e9c58f85146100eb578063f9120af61461011057610088565b8063245a7bfc1461008d5780632e0f2625146100b1578063313ce567146100cb57806350d25bcd146100d3575b600080fd5b610095610136565b604080516001600160a01b039092168252519081900360200190f35b6100b9610145565b60408051918252519081900360200190f35b6100b961014b565b6100b9610151565b6100b9610157565b6100b961015d565b61010e6004803603604081101561010157600080fd5b5080359060200135610163565b005b61010e6004803603602081101561012657600080fd5b50356001600160a01b03166101b2565b6004546001600160a01b031681565b60005481565b60005490565b60015481565b60025481565b60035481565b60018281556002829055600380549091019081905560408051838152905184917f0559884fd3a460db3073b7fc896cc77986f16e378210ded43186175bf646fc5f919081900360200190a35050565b600480546001600160a01b0319166001600160a01b039290921691909117905556fea164736f6c634300060c000a", "sourceMap": "280:968:0:-:0;;;572:209;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;572:209:0;620:8;:20;;;672:2;:13;650:12;:36;;;714:3;696:15;:21;727:7;:11;748:10;:26;;-1:-1:-1;;;;;;748:26:0;769:4;748:26;;;280:968;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106100885760003560e01c80638205bf6a1161005b5780638205bf6a146100db5780638cd221c9146100e3578063e9c58f85146100eb578063f9120af61461011057610088565b8063245a7bfc1461008d5780632e0f2625146100b1578063313ce567146100cb57806350d25bcd146100d3575b600080fd5b610095610136565b604080516001600160a01b039092168252519081900360200190f35b6100b9610145565b60408051918252519081900360200190f35b6100b961014b565b6100b9610151565b6100b9610157565b6100b961015d565b61010e6004803603604081101561010157600080fd5b5080359060200135610163565b005b61010e6004803603602081101561012657600080fd5b50356001600160a01b03166101b2565b6004546001600160a01b031681565b60005481565b60005490565b60015481565b60025481565b60035481565b60018281556002829055600380549091019081905560408051838152905184917f0559884fd3a460db3073b7fc896cc77986f16e378210ded43186175bf646fc5f919081900360200190a35050565b600480546001600160a01b0319166001600160a01b039290921691909117905556fea164736f6c634300060c000a", "sourceMap": "280:968:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;540:25;;;:::i;:::-;;;;-1:-1:-1;;;;;540:25:0;;;;;;;;;;;;;;414:23;;;:::i;:::-;;;;;;;;;;;;;;;;1164:82;;;:::i;444:26::-;;;:::i;476:30::-;;;:::i;512:22::-;;;:::i;787:263::-;;;;;;;;;;;;;;;;-1:-1:-1;787:263:0;;;;;;;:::i;:::-;;1056:102;;;;;;;;;;;;;;;;-1:-1:-1;1056:102:0;-1:-1:-1;;;;;1056:102:0;;:::i;540:25::-;;;-1:-1:-1;;;;;540:25:0;;:::o;414:23::-;;;;:::o;1164:82::-;1205:7;1231:8;1164:82;:::o;444:26::-;;;;:::o;476:30::-;;;;:::o;512:22::-;;;;:::o;787:263::-;875:12;:26;;;911:15;:32;;;963:7;;;:11;;;953:21;;;;990:53;;;;;;;;890:11;;990:53;;;;;;;;;;787:263;;:::o;1056:102::-;1123:10;:28;;-1:-1:-1;;;;;;1123:28:0;-1:-1:-1;;;;;1123:28:0;;;;;;;;;;1056:102::o", "linkReferences": {} }, "methodIdentifiers": { "DECIMALS()": "2e0f2625", "aggregator()": "245a7bfc", "decimals()": "313ce567", "latestAnswer()": "50d25bcd", "latestTimestamp()": "8205bf6a", "roundId()": "8cd221c9", "setAggregator(address)": "f9120af6", "setLatestAnswer(int256,uint256)": "e9c58f85" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_decimals\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"int256\",\"name\":\"current\",\"type\":\"int256\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"roundId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"name\":\"AnswerUpdated\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DECIMALS\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"aggregator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"latestAnswer\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"latestTimestamp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"roundId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nextAggregator\",\"type\":\"address\"}],\"name\":\"setAggregator\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"_nextAnswer\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"_nextTimestamp\",\"type\":\"uint256\"}],\"name\":\"setLatestAnswer\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/mocks/MockChainlinkPriceSource.sol\":\"MockChainlinkPriceSource\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/mocks/MockChainlinkPriceSource.sol\":{\"keccak256\":\"0xf1ee7f09952d4ff265fc5724e3252c64d588b022735311d3028bfb5f50037fbc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://4ea4c894d5ff3b7ace9d410f219f3d16c789327e6eda95bcdf515a321daa3a05\",\"dweb:/ipfs/QmaYBBY65nAZVWc3ZFAhBJcFfmRb9HKaRyRAHakpzopDaY\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "uint256", "name": "_decimals", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "int256", "name": "current", "type": "int256", "indexed": true }, { "internalType": "uint256", "name": "roundId", "type": "uint256", "indexed": true }, { "internalType": "uint256", "name": "timestamp", "type": "uint256", "indexed": false } ], "type": "event", "name": "AnswerUpdated", "anonymous": false }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "DECIMALS", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "aggregator", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "decimals", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "latestAnswer", "outputs": [ { "internalType": "int256", "name": "", "type": "int256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "latestTimestamp", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "roundId", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "_nextAggregator", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "setAggregator" }, { "inputs": [ { "internalType": "int256", "name": "_nextAnswer", "type": "int256" }, { "internalType": "uint256", "name": "_nextTimestamp", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "setLatestAnswer" } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/mocks/MockChainlinkPriceSource.sol": "MockChainlinkPriceSource" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/mocks/MockChainlinkPriceSource.sol": { "keccak256": "0xf1ee7f09952d4ff265fc5724e3252c64d588b022735311d3028bfb5f50037fbc", "urls": [ "bzz-raw://4ea4c894d5ff3b7ace9d410f219f3d16c789327e6eda95bcdf515a321daa3a05", "dweb:/ipfs/QmaYBBY65nAZVWc3ZFAhBJcFfmRb9HKaRyRAHakpzopDaY" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 0 } diff --git a/eth_defi/abi/enzyme/MockGenericAdapter.json b/eth_defi/abi/enzyme/MockGenericAdapter.json index 8dee742d..80829286 100644 --- a/eth_defi/abi/enzyme/MockGenericAdapter.json +++ b/eth_defi/abi/enzyme/MockGenericAdapter.json @@ -1,853 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_integratee", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "name": "CLAIM_REWARDS_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "INTEGRATEE", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "LEND_AND_STAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "LEND_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "REDEEM_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "STAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "TAKE_MULTIPLE_ORDERS_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "TAKE_ORDER_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "UNSTAKE_AND_REDEEM_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "UNSTAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getIntegrationManager", - "outputs": [ - { - "internalType": "address", - "name": "integrationManager_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes4", - "name": "_selector", - "type": "bytes4" - }, - { - "internalType": "bytes", - "name": "_callArgs", - "type": "bytes" - } - ], - "name": "parseAssetsForAction", - "outputs": [ - { - "internalType": "enum IIntegrationManager.SpendAssetsHandleType", - "name": "spendAssetsHandleType_", - "type": "uint8" - }, - { - "internalType": "address[]", - "name": "spendAssets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "maxSpendAssetAmounts_", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "incomingAssets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "minIncomingAssetAmounts_", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "removeOnly", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_callArgs", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "_assetTransferArgs", - "type": "bytes" - } - ], - "name": "swapA", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_callArgs", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "_assetTransferArgs", - "type": "bytes" - } - ], - "name": "swapB", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_callArgs", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "swapDirectFromVault", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_callArgs", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "_assetTransferArgs", - "type": "bytes" - } - ], - "name": "swapViaApproval", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x60c060405234801561001057600080fd5b50604051611ca5380380611ca58339818101604052602081101561003357600080fd5b505160006080819052606082901b6001600160601b03191660a052906001600160a01b0316611c226100838339806107bc5280610b6b52806113fd5280611467525080610d185250611c226000f3fe608060405234801561001057600080fd5b506004361061010b5760003560e01c8063740f2852116100a2578063c54efee511610071578063c54efee5146103fd578063cadd965d146105bf578063e7c456901461068d578063f7d882b514610695578063fb5051071461069d5761010b565b8063740f2852146103c1578063863e5ad0146103e5578063b23228cf146103ed578063c32990a2146103f55761010b565b8063360bbf05116100de578063360bbf05146102155780633ffc1591146102e357806340da225d146102eb57806362231430146102f35761010b565b80630377b2d014610110578063080456c1146101e0578063131461c014610205578063257cb1a31461020d575b600080fd5b6101de6004803603606081101561012657600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561015057600080fd5b82018360208201111561016257600080fd5b803590602001918460018302840111600160201b8311171561018357600080fd5b919390929091602081019035600160201b8111156101a057600080fd5b8201836020820111156101b257600080fd5b803590602001918460018302840111600160201b831117156101d357600080fd5b50909250905061076b565b005b6101e8610964565b604080516001600160e01b03199092168252519081900360200190f35b6101e8610988565b6101e86109ac565b6101de6004803603606081101561022b57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561025557600080fd5b82018360208201111561026757600080fd5b803590602001918460018302840111600160201b8311171561028857600080fd5b919390929091602081019035600160201b8111156102a557600080fd5b8201836020820111156102b757600080fd5b803590602001918460018302840111600160201b831117156102d857600080fd5b5090925090506109d0565b6101e86109d7565b6101e86109fb565b6101de6004803603606081101561030957600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561033357600080fd5b82018360208201111561034557600080fd5b803590602001918460018302840111600160201b8311171561036657600080fd5b919390929091602081019035600160201b81111561038357600080fd5b82018360208201111561039557600080fd5b803590602001918460018302840111600160201b831117156103b657600080fd5b509092509050610a1f565b6103c9610b69565b604080516001600160a01b039092168252519081900360200190f35b6101e8610b8d565b6101e8610bb1565b6101e8610bd5565b61048a6004803603606081101561041357600080fd5b6001600160a01b03823516916001600160e01b031960208201351691810190606081016040820135600160201b81111561044c57600080fd5b82018360208201111561045e57600080fd5b803590602001918460018302840111600160201b8311171561047f57600080fd5b509092509050610bf9565b6040518086600281111561049a57fe5b815260200180602001806020018060200180602001858103855289818151815260200191508051906020019060200280838360005b838110156104e75781810151838201526020016104cf565b50505050905001858103845288818151815260200191508051906020019060200280838360005b8381101561052657818101518382015260200161050e565b50505050905001858103835287818151815260200191508051906020019060200280838360005b8381101561056557818101518382015260200161054d565b50505050905001858103825286818151815260200191508051906020019060200280838360005b838110156105a457818101518382015260200161058c565b50505050905001995050505050505050505060405180910390f35b6101de600480360360608110156105d557600080fd5b6001600160a01b038235169190810190604081016020820135600160201b8111156105ff57600080fd5b82018360208201111561061157600080fd5b803590602001918460018302840111600160201b8311171561063257600080fd5b919390929091602081019035600160201b81111561064f57600080fd5b82018360208201111561066157600080fd5b803590602001918460018302840111600160201b8311171561068257600080fd5b509092509050610c65565b6103c9610d16565b6101e8610d3a565b6101de600480360360608110156106b357600080fd5b6001600160a01b038235169190810190604081016020820135600160201b8111156106dd57600080fd5b8201836020820111156106ef57600080fd5b803590602001918460018302840111600160201b8311171561071057600080fd5b919390929091602081019035600160201b81111561072d57600080fd5b82018360208201111561073f57600080fd5b803590602001918460018302840111600160201b8311171561076057600080fd5b509092509050610d5e565b6060806060806107b088888080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610e0f92505050565b955050945094505093507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166335671b2f8a868686866040518663ffffffff1660e01b815260040180866001600160a01b0316815260200180602001806020018060200180602001858103855289818151815260200191508051906020019060200280838360005b83811015610858578181015183820152602001610840565b50505050905001858103845288818151815260200191508051906020019060200280838360005b8381101561089757818101518382015260200161087f565b50505050905001858103835287818151815260200191508051906020019060200280838360005b838110156108d65781810151838201526020016108be565b50505050905001858103825286818151815260200191508051906020019060200280838360005b838110156109155781810151838201526020016108fd565b505050509050019950505050505050505050600060405180830381600087803b15801561094157600080fd5b505af1158015610955573d6000803e3d6000fd5b50505050505050505050505050565b7f8334eb99be0145865eba9889fca2ee920288090caefff4cc776038e20ad9259a81565b7f29fa046e79524c3c5ac4c01df692c35e217802b2b13b21121b76cf0ef02b138c81565b7f099f75155f0e997bf83a7993a71d5e7e7540bd386fe1e84643a09ce6b412521981565b5050505050565b7ffa7dd04da627f433da73c4355ead9c75682a67a8fc84d3f6170ef0922f402d2481565b7fb9dfbaccbe5cd2a84fdcf1d15f23ef25d23086f5afbaa99516065ed4a5bbc7a381565b8482828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610a8292507f62231430458bd051b4b08f5320d5d1d44938c14a62d90c95311a2e227f85c7b4915061116a9050565b6060806060610a90856111b6565b919450925090506001846002811115610aa557fe5b1415610b075760005b8351811015610b0557610afd8730858481518110610ac857fe5b6020026020010151878581518110610adc57fe5b60200260200101516001600160a01b0316611373909392919063ffffffff16565b600101610aae565b505b610b468a8a8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506113d392505050565b610b5086826115fa565b50610b5b86846115fa565b505050505050505050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f03e38a2bd7063d45c897edeafc330e71657502dd86434d3c37a489caf116af6981565b7f68e30677f607df46e87da13e15b637784cfa62374b653f35ab43d10361a2f83081565b7f0e7f692dad5b88fdee426250d6eae91207e56a2e8112b7364579bed1790e5bf481565b6000606080606080610c4087878080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610e0f92505050565b50939750919550909350909150610c5890508861116a565b9450945094509450945094565b8482828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610cc892507fcadd965d4251b3cf197bac2aaf1b2efaad0abada23065ae873fda39383fbebac915061116a9050565b6060806060610cd6856111b6565b919450925090506001846002811115610ceb57fe5b1415610b075760005b8351811015610b0557610d0e8730858481518110610ac857fe5b600101610cf4565b7f000000000000000000000000000000000000000000000000000000000000000090565b7fc29fa9dde84204c2908778afd0613d802d31cf046179b88f6d2b4a4e507ea2d581565b8482828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610dc192507ffb5051076bd418e114f533b0b78c638e754015d74936fe20ffdfe387b0f6995d915061116a9050565b6060806060610dcf856111b6565b919450925090506001846002811115610de457fe5b1415610b075760005b8351811015610b0557610e078730858481518110610ac857fe5b600101610ded565b6060806060806060808680602001905160c0811015610e2d57600080fd5b8101908080516040519392919084600160201b821115610e4c57600080fd5b908301906020820185811115610e6157600080fd5b82518660208202830111600160201b82111715610e7d57600080fd5b82525081516020918201928201910280838360005b83811015610eaa578181015183820152602001610e92565b5050505090500160405260200180516040519392919084600160201b821115610ed257600080fd5b908301906020820185811115610ee757600080fd5b82518660208202830111600160201b82111715610f0357600080fd5b82525081516020918201928201910280838360005b83811015610f30578181015183820152602001610f18565b5050505090500160405260200180516040519392919084600160201b821115610f5857600080fd5b908301906020820185811115610f6d57600080fd5b82518660208202830111600160201b82111715610f8957600080fd5b82525081516020918201928201910280838360005b83811015610fb6578181015183820152602001610f9e565b5050505090500160405260200180516040519392919084600160201b821115610fde57600080fd5b908301906020820185811115610ff357600080fd5b82518660208202830111600160201b8211171561100f57600080fd5b82525081516020918201928201910280838360005b8381101561103c578181015183820152602001611024565b5050505090500160405260200180516040519392919084600160201b82111561106457600080fd5b90830190602082018581111561107957600080fd5b82518660208202830111600160201b8211171561109557600080fd5b82525081516020918201928201910280838360005b838110156110c25781810151838201526020016110aa565b5050505090500160405260200180516040519392919084600160201b8211156110ea57600080fd5b9083019060208201858111156110ff57600080fd5b82518660208202830111600160201b8211171561111b57600080fd5b82525081516020918201928201910280838360005b83811015611148578181015183820152602001611130565b5050505090500160405250505095509550955095509550955091939550919395565b60006001600160e01b0319821662377b2d60e41b141561118c575060006111b1565b6001600160e01b0319821663fb50510760e01b14156111ad575060016111b1565b5060025b919050565b60608060608380602001905160608110156111d057600080fd5b8101908080516040519392919084600160201b8211156111ef57600080fd5b90830190602082018581111561120457600080fd5b82518660208202830111600160201b8211171561122057600080fd5b82525081516020918201928201910280838360005b8381101561124d578181015183820152602001611235565b5050505090500160405260200180516040519392919084600160201b82111561127557600080fd5b90830190602082018581111561128a57600080fd5b82518660208202830111600160201b821117156112a657600080fd5b82525081516020918201928201910280838360005b838110156112d35781810151838201526020016112bb565b5050505090500160405260200180516040519392919084600160201b8211156112fb57600080fd5b90830190602082018581111561131057600080fd5b82518660208202830111600160201b8211171561132c57600080fd5b82525081516020918201928201910280838360005b83811015611359578181015183820152602001611341565b505050509050016040525050509250925092509193909250565b604080516001600160a01b0380861660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b1790526113cd908590611755565b50505050565b6060806060806113e285610e0f565b9550509450945050935060005b84518110156114645761145c7f000000000000000000000000000000000000000000000000000000000000000085838151811061142857fe5b602002602001015187848151811061143c57fe5b60200260200101516001600160a01b031661180b9092919063ffffffff16565b6001016113ef565b507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316633005d9d0858585856040518563ffffffff1660e01b81526004018080602001806020018060200180602001858103855289818151815260200191508051906020019060200280838360005b838110156114f35781810151838201526020016114db565b50505050905001858103845288818151815260200191508051906020019060200280838360005b8381101561153257818101518382015260200161151a565b50505050905001858103835287818151815260200191508051906020019060200280838360005b83811015611571578181015183820152602001611559565b50505050905001858103825286818151815260200191508051906020019060200280838360005b838110156115b0578181015183820152602001611598565b5050505090500198505050505050505050600060405180830381600087803b1580156115db57600080fd5b505af11580156115ef573d6000803e3d6000fd5b505050505050505050565b6060815167ffffffffffffffff8111801561161457600080fd5b5060405190808252806020026020018201604052801561163e578160200160208202803683370190505b50905060005b825181101561174e57600083828151811061165b57fe5b60200260200101519050806001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156116b257600080fd5b505afa1580156116c6573d6000803e3d6000fd5b505050506040513d60208110156116dc57600080fd5b505183518490849081106116ec57fe5b602002602001018181525050600083838151811061170657fe5b60200260200101511115611745576117458584848151811061172457fe5b6020026020010151836001600160a01b031661191e9092919063ffffffff16565b50600101611644565b5092915050565b60606117aa826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166119709092919063ffffffff16565b805190915015611806578080602001905160208110156117c957600080fd5b50516118065760405162461bcd60e51b815260040180806020018281038252602a815260200180611bb6602a913960400191505060405180910390fd5b505050565b801580611891575060408051636eb1769f60e11b81523060048201526001600160a01b03848116602483015291519185169163dd62ed3e91604480820192602092909190829003018186803b15801561186357600080fd5b505afa158015611877573d6000803e3d6000fd5b505050506040513d602081101561188d57600080fd5b5051155b6118cc5760405162461bcd60e51b8152600401808060200182810382526036815260200180611be06036913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052611806908490611755565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052611806908490611755565b606061197f8484600085611989565b90505b9392505050565b6060824710156119ca5760405162461bcd60e51b8152600401808060200182810382526026815260200180611b906026913960400191505060405180910390fd5b6119d385611ae5565b611a24576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b60208310611a635780518252601f199092019160209182019101611a44565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114611ac5576040519150601f19603f3d011682016040523d82523d6000602084013e611aca565b606091505b5091509150611ada828286611aeb565b979650505050505050565b3b151590565b60608315611afa575081611982565b825115611b0a5782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611b54578181015183820152602001611b3c565b50505050905090810190601f168015611b815780820380516001836020036101000a031916815260200191505b509250505060405180910390fdfe416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c5361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e6365a164736f6c634300060c000a", - "sourceMap": "1356:6126:1:-:0;;;2490:105;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2490:105:1;2550:1;1938:41:179;;;;;2564:24:1;;;-1:-1:-1;;;;;;2564:24:1;::::1;::::0;2550:1;-1:-1:-1;;;;;1356:6126:1;;;2550:1;1356:6126;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b506004361061010b5760003560e01c8063740f2852116100a2578063c54efee511610071578063c54efee5146103fd578063cadd965d146105bf578063e7c456901461068d578063f7d882b514610695578063fb5051071461069d5761010b565b8063740f2852146103c1578063863e5ad0146103e5578063b23228cf146103ed578063c32990a2146103f55761010b565b8063360bbf05116100de578063360bbf05146102155780633ffc1591146102e357806340da225d146102eb57806362231430146102f35761010b565b80630377b2d014610110578063080456c1146101e0578063131461c014610205578063257cb1a31461020d575b600080fd5b6101de6004803603606081101561012657600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561015057600080fd5b82018360208201111561016257600080fd5b803590602001918460018302840111600160201b8311171561018357600080fd5b919390929091602081019035600160201b8111156101a057600080fd5b8201836020820111156101b257600080fd5b803590602001918460018302840111600160201b831117156101d357600080fd5b50909250905061076b565b005b6101e8610964565b604080516001600160e01b03199092168252519081900360200190f35b6101e8610988565b6101e86109ac565b6101de6004803603606081101561022b57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561025557600080fd5b82018360208201111561026757600080fd5b803590602001918460018302840111600160201b8311171561028857600080fd5b919390929091602081019035600160201b8111156102a557600080fd5b8201836020820111156102b757600080fd5b803590602001918460018302840111600160201b831117156102d857600080fd5b5090925090506109d0565b6101e86109d7565b6101e86109fb565b6101de6004803603606081101561030957600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561033357600080fd5b82018360208201111561034557600080fd5b803590602001918460018302840111600160201b8311171561036657600080fd5b919390929091602081019035600160201b81111561038357600080fd5b82018360208201111561039557600080fd5b803590602001918460018302840111600160201b831117156103b657600080fd5b509092509050610a1f565b6103c9610b69565b604080516001600160a01b039092168252519081900360200190f35b6101e8610b8d565b6101e8610bb1565b6101e8610bd5565b61048a6004803603606081101561041357600080fd5b6001600160a01b03823516916001600160e01b031960208201351691810190606081016040820135600160201b81111561044c57600080fd5b82018360208201111561045e57600080fd5b803590602001918460018302840111600160201b8311171561047f57600080fd5b509092509050610bf9565b6040518086600281111561049a57fe5b815260200180602001806020018060200180602001858103855289818151815260200191508051906020019060200280838360005b838110156104e75781810151838201526020016104cf565b50505050905001858103845288818151815260200191508051906020019060200280838360005b8381101561052657818101518382015260200161050e565b50505050905001858103835287818151815260200191508051906020019060200280838360005b8381101561056557818101518382015260200161054d565b50505050905001858103825286818151815260200191508051906020019060200280838360005b838110156105a457818101518382015260200161058c565b50505050905001995050505050505050505060405180910390f35b6101de600480360360608110156105d557600080fd5b6001600160a01b038235169190810190604081016020820135600160201b8111156105ff57600080fd5b82018360208201111561061157600080fd5b803590602001918460018302840111600160201b8311171561063257600080fd5b919390929091602081019035600160201b81111561064f57600080fd5b82018360208201111561066157600080fd5b803590602001918460018302840111600160201b8311171561068257600080fd5b509092509050610c65565b6103c9610d16565b6101e8610d3a565b6101de600480360360608110156106b357600080fd5b6001600160a01b038235169190810190604081016020820135600160201b8111156106dd57600080fd5b8201836020820111156106ef57600080fd5b803590602001918460018302840111600160201b8311171561071057600080fd5b919390929091602081019035600160201b81111561072d57600080fd5b82018360208201111561073f57600080fd5b803590602001918460018302840111600160201b8311171561076057600080fd5b509092509050610d5e565b6060806060806107b088888080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610e0f92505050565b955050945094505093507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166335671b2f8a868686866040518663ffffffff1660e01b815260040180866001600160a01b0316815260200180602001806020018060200180602001858103855289818151815260200191508051906020019060200280838360005b83811015610858578181015183820152602001610840565b50505050905001858103845288818151815260200191508051906020019060200280838360005b8381101561089757818101518382015260200161087f565b50505050905001858103835287818151815260200191508051906020019060200280838360005b838110156108d65781810151838201526020016108be565b50505050905001858103825286818151815260200191508051906020019060200280838360005b838110156109155781810151838201526020016108fd565b505050509050019950505050505050505050600060405180830381600087803b15801561094157600080fd5b505af1158015610955573d6000803e3d6000fd5b50505050505050505050505050565b7f8334eb99be0145865eba9889fca2ee920288090caefff4cc776038e20ad9259a81565b7f29fa046e79524c3c5ac4c01df692c35e217802b2b13b21121b76cf0ef02b138c81565b7f099f75155f0e997bf83a7993a71d5e7e7540bd386fe1e84643a09ce6b412521981565b5050505050565b7ffa7dd04da627f433da73c4355ead9c75682a67a8fc84d3f6170ef0922f402d2481565b7fb9dfbaccbe5cd2a84fdcf1d15f23ef25d23086f5afbaa99516065ed4a5bbc7a381565b8482828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610a8292507f62231430458bd051b4b08f5320d5d1d44938c14a62d90c95311a2e227f85c7b4915061116a9050565b6060806060610a90856111b6565b919450925090506001846002811115610aa557fe5b1415610b075760005b8351811015610b0557610afd8730858481518110610ac857fe5b6020026020010151878581518110610adc57fe5b60200260200101516001600160a01b0316611373909392919063ffffffff16565b600101610aae565b505b610b468a8a8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506113d392505050565b610b5086826115fa565b50610b5b86846115fa565b505050505050505050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f03e38a2bd7063d45c897edeafc330e71657502dd86434d3c37a489caf116af6981565b7f68e30677f607df46e87da13e15b637784cfa62374b653f35ab43d10361a2f83081565b7f0e7f692dad5b88fdee426250d6eae91207e56a2e8112b7364579bed1790e5bf481565b6000606080606080610c4087878080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610e0f92505050565b50939750919550909350909150610c5890508861116a565b9450945094509450945094565b8482828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610cc892507fcadd965d4251b3cf197bac2aaf1b2efaad0abada23065ae873fda39383fbebac915061116a9050565b6060806060610cd6856111b6565b919450925090506001846002811115610ceb57fe5b1415610b075760005b8351811015610b0557610d0e8730858481518110610ac857fe5b600101610cf4565b7f000000000000000000000000000000000000000000000000000000000000000090565b7fc29fa9dde84204c2908778afd0613d802d31cf046179b88f6d2b4a4e507ea2d581565b8482828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610dc192507ffb5051076bd418e114f533b0b78c638e754015d74936fe20ffdfe387b0f6995d915061116a9050565b6060806060610dcf856111b6565b919450925090506001846002811115610de457fe5b1415610b075760005b8351811015610b0557610e078730858481518110610ac857fe5b600101610ded565b6060806060806060808680602001905160c0811015610e2d57600080fd5b8101908080516040519392919084600160201b821115610e4c57600080fd5b908301906020820185811115610e6157600080fd5b82518660208202830111600160201b82111715610e7d57600080fd5b82525081516020918201928201910280838360005b83811015610eaa578181015183820152602001610e92565b5050505090500160405260200180516040519392919084600160201b821115610ed257600080fd5b908301906020820185811115610ee757600080fd5b82518660208202830111600160201b82111715610f0357600080fd5b82525081516020918201928201910280838360005b83811015610f30578181015183820152602001610f18565b5050505090500160405260200180516040519392919084600160201b821115610f5857600080fd5b908301906020820185811115610f6d57600080fd5b82518660208202830111600160201b82111715610f8957600080fd5b82525081516020918201928201910280838360005b83811015610fb6578181015183820152602001610f9e565b5050505090500160405260200180516040519392919084600160201b821115610fde57600080fd5b908301906020820185811115610ff357600080fd5b82518660208202830111600160201b8211171561100f57600080fd5b82525081516020918201928201910280838360005b8381101561103c578181015183820152602001611024565b5050505090500160405260200180516040519392919084600160201b82111561106457600080fd5b90830190602082018581111561107957600080fd5b82518660208202830111600160201b8211171561109557600080fd5b82525081516020918201928201910280838360005b838110156110c25781810151838201526020016110aa565b5050505090500160405260200180516040519392919084600160201b8211156110ea57600080fd5b9083019060208201858111156110ff57600080fd5b82518660208202830111600160201b8211171561111b57600080fd5b82525081516020918201928201910280838360005b83811015611148578181015183820152602001611130565b5050505090500160405250505095509550955095509550955091939550919395565b60006001600160e01b0319821662377b2d60e41b141561118c575060006111b1565b6001600160e01b0319821663fb50510760e01b14156111ad575060016111b1565b5060025b919050565b60608060608380602001905160608110156111d057600080fd5b8101908080516040519392919084600160201b8211156111ef57600080fd5b90830190602082018581111561120457600080fd5b82518660208202830111600160201b8211171561122057600080fd5b82525081516020918201928201910280838360005b8381101561124d578181015183820152602001611235565b5050505090500160405260200180516040519392919084600160201b82111561127557600080fd5b90830190602082018581111561128a57600080fd5b82518660208202830111600160201b821117156112a657600080fd5b82525081516020918201928201910280838360005b838110156112d35781810151838201526020016112bb565b5050505090500160405260200180516040519392919084600160201b8211156112fb57600080fd5b90830190602082018581111561131057600080fd5b82518660208202830111600160201b8211171561132c57600080fd5b82525081516020918201928201910280838360005b83811015611359578181015183820152602001611341565b505050509050016040525050509250925092509193909250565b604080516001600160a01b0380861660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b1790526113cd908590611755565b50505050565b6060806060806113e285610e0f565b9550509450945050935060005b84518110156114645761145c7f000000000000000000000000000000000000000000000000000000000000000085838151811061142857fe5b602002602001015187848151811061143c57fe5b60200260200101516001600160a01b031661180b9092919063ffffffff16565b6001016113ef565b507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316633005d9d0858585856040518563ffffffff1660e01b81526004018080602001806020018060200180602001858103855289818151815260200191508051906020019060200280838360005b838110156114f35781810151838201526020016114db565b50505050905001858103845288818151815260200191508051906020019060200280838360005b8381101561153257818101518382015260200161151a565b50505050905001858103835287818151815260200191508051906020019060200280838360005b83811015611571578181015183820152602001611559565b50505050905001858103825286818151815260200191508051906020019060200280838360005b838110156115b0578181015183820152602001611598565b5050505090500198505050505050505050600060405180830381600087803b1580156115db57600080fd5b505af11580156115ef573d6000803e3d6000fd5b505050505050505050565b6060815167ffffffffffffffff8111801561161457600080fd5b5060405190808252806020026020018201604052801561163e578160200160208202803683370190505b50905060005b825181101561174e57600083828151811061165b57fe5b60200260200101519050806001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156116b257600080fd5b505afa1580156116c6573d6000803e3d6000fd5b505050506040513d60208110156116dc57600080fd5b505183518490849081106116ec57fe5b602002602001018181525050600083838151811061170657fe5b60200260200101511115611745576117458584848151811061172457fe5b6020026020010151836001600160a01b031661191e9092919063ffffffff16565b50600101611644565b5092915050565b60606117aa826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166119709092919063ffffffff16565b805190915015611806578080602001905160208110156117c957600080fd5b50516118065760405162461bcd60e51b815260040180806020018281038252602a815260200180611bb6602a913960400191505060405180910390fd5b505050565b801580611891575060408051636eb1769f60e11b81523060048201526001600160a01b03848116602483015291519185169163dd62ed3e91604480820192602092909190829003018186803b15801561186357600080fd5b505afa158015611877573d6000803e3d6000fd5b505050506040513d602081101561188d57600080fd5b5051155b6118cc5760405162461bcd60e51b8152600401808060200182810382526036815260200180611be06036913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052611806908490611755565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052611806908490611755565b606061197f8484600085611989565b90505b9392505050565b6060824710156119ca5760405162461bcd60e51b8152600401808060200182810382526026815260200180611b906026913960400191505060405180910390fd5b6119d385611ae5565b611a24576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b60208310611a635780518252601f199092019160209182019101611a44565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114611ac5576040519150601f19603f3d011682016040523d82523d6000602084013e611aca565b606091505b5091509150611ada828286611aeb565b979650505050505050565b3b151590565b60608315611afa575081611982565b825115611b0a5782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611b54578181015183820152602001611b3c565b50505050905090810190601f168015611b815780820380516001836020036101000a031916815260200191505b509250505060405180910390fdfe416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c5361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e6365a164736f6c634300060c000a", - "sourceMap": "1356:6126:1:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5084:646;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5084:646:1;;;;;;;;;;;;;;;-1:-1:-1;;;5084:646:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5084:646:1;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5084:646:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5084:646:1;;;;;;;;;;-1:-1:-1;5084:646:1;;-1:-1:-1;5084:646:1;-1:-1:-1;5084:646:1;:::i;:::-;;1490:119:180;;;:::i;:::-;;;;-1:-1:-1;;;;;;1490:119:180;;;;;;;;;;;;;;1373:111;;;:::i;832:85::-;;;:::i;4164:102:1:-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4164:102:1;;;;;;;;;;;;;;;-1:-1:-1;;;4164:102:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4164:102:1;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4164:102:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4164:102:1;;;;;;;;;;-1:-1:-1;4164:102:1;;-1:-1:-1;4164:102:1;-1:-1:-1;4164:102:1;:::i;1034:87:180:-;;;:::i;1240:110::-;;;:::i;4272:400:1:-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4272:400:1;;;;;;;;;;;;;;;-1:-1:-1;;;4272:400:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4272:400:1;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4272:400:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4272:400:1;;;;;;;;;;-1:-1:-1;4272:400:1;;-1:-1:-1;4272:400:1;-1:-1:-1;4272:400:1;:::i;1405:35::-;;;:::i;:::-;;;;-1:-1:-1;;;;;1405:35:1;;;;;;;;;;;;;;706:104:180;;;:::i;1127:91::-;;;:::i;577:123::-;;;:::i;2601:884:1:-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2601:884:1;;;;-1:-1:-1;;;;;;2601:884:1;;;;;;;;;;;;;;;;-1:-1:-1;;;2601:884:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2601:884:1;;;;;;;;;;-1:-1:-1;2601:884:1;;-1:-1:-1;2601:884:1;-1:-1:-1;2601:884:1;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4678:400;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4678:400:1;;;;;;;;;;;;;;;-1:-1:-1;;;4678:400:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4678:400:1;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4678:400:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4678:400:1;;;;;;;;;;-1:-1:-1;4678:400:1;;-1:-1:-1;4678:400:1;-1:-1:-1;4678:400:1;:::i;2637:128:179:-;;;:::i;923:89:180:-;;;:::i;5736:450:1:-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5736:450:1;;;;;;;;;;;;;;;-1:-1:-1;;;5736:450:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5736:450:1;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5736:450:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5736:450:1;;;;;;;;;;-1:-1:-1;5736:450:1;;-1:-1:-1;5736:450:1;-1:-1:-1;5736:450:1;:::i;5084:646::-;5239:28;5295:40;5349:31;5408:43;5464:27;5481:9;;5464:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5464:16:1;;-1:-1:-1;;;5464:27:1:i;:::-;5225:266;;;;;;;;;;5525:10;-1:-1:-1;;;;;5502:47:1;;5571:11;5597;5622:23;5659:14;5687:26;5502:221;;;;;;;;;;;;;-1:-1:-1;;;;;5502:221:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5084:646;;;;;;;;;:::o;1490:119:180:-;1558:50;1490:119;:::o;1373:111::-;1437:46;1373:111;:::o;832:85::-;878:38;832:85;:::o;4164:102:1:-;;;;;;:::o;1034:87:180:-;1081:39;1034:87;:::o;1240:110::-;1303:46;1240:110;:::o;4272:400:1:-;4463:11;4488:18;;1447:988;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4520:86:1;;-1:-1:-1;4565:39:1;;-1:-1:-1;4520:37:1;;-1:-1:-1;4520:86:1:i;:::-;1637:28;1679:34;1727:31;1771:29;1789:10;1771:17;:29::i;:::-;1623:177;;-1:-1:-1;1623:177:1;-1:-1:-1;1623:177:1;-1:-1:-1;1885:49:1;1870:11;:64;;;;;;;;;1866:338;;;1955:9;1950:244;1970:11;:18;1966:1;:22;1950:244;;;2013:166;2073:11;2114:4;2141:17;2159:1;2141:20;;;;;;;;;;;;;;2019:11;2031:1;2019:14;;;;;;;;;;;;;;-1:-1:-1;;;;;2013:38:1;;;:166;;;;;;:::i;:::-;1990:3;;1950:244;;;;1866:338;4631:34:::1;4655:9;;4631:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;4631:23:1::1;::::0;-1:-1:-1;;;4631:34:1:i:1;:::-;2317:52:::0;2341:11;2354:14;2317:23;:52::i;:::-;;2379:49;2403:11;2416;2379:23;:49::i;:::-;;4272:400;;;;;;;;;;;:::o;1405:35::-;;;:::o;706:104:180:-;766:43;706:104;:::o;1127:91::-;1176:41;1127:91;:::o;577:123::-;647:52;577:123;:::o;2601:884:1:-;2791:64;2869:29;2912:38;2964:32;3010:41;3233:27;3250:9;;3233:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3233:16:1;;-1:-1:-1;;;3233:27:1:i;:::-;-1:-1:-1;3076:184:1;;-1:-1:-1;3076:184:1;;-1:-1:-1;3076:184:1;;-1:-1:-1;3076:184:1;;-1:-1:-1;3292:48:1;;-1:-1:-1;3330:9:1;3292:37;:48::i;:::-;3271:207;;2601:884;;;;;;;;;:::o;4678:400::-;4869:11;4894:18;;1447:988;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4926:86:1;;-1:-1:-1;4971:39:1;;-1:-1:-1;4926:37:1;;-1:-1:-1;4926:86:1:i;:::-;1637:28;1679:34;1727:31;1771:29;1789:10;1771:17;:29::i;:::-;1623:177;;-1:-1:-1;1623:177:1;-1:-1:-1;1623:177:1;-1:-1:-1;1885:49:1;1870:11;:64;;;;;;;;;1866:338;;;1955:9;1950:244;1970:11;:18;1966:1;:22;1950:244;;;2013:166;2073:11;2114:4;2141:17;2159:1;2141:20;;;;;;;2013:166;1990:3;;1950:244;;2637:128:179;2739:19;2637:128;:::o;923:89:180:-;971:40;923:89;:::o;5736:450:1:-;5937:11;5962:18;;1447:988;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5994:126:1;;-1:-1:-1;6056:49:1;;-1:-1:-1;5994:37:1;;-1:-1:-1;5994:126:1:i;:::-;1637:28;1679:34;1727:31;1771:29;1789:10;1771:17;:29::i;:::-;1623:177;;-1:-1:-1;1623:177:1;-1:-1:-1;1623:177:1;-1:-1:-1;1885:49:1;1870:11;:64;;;;;;;;;1866:338;;;1955:9;1950:244;1970:11;:18;1966:1;:22;1950:244;;;2013:166;2073:11;2114:4;2141:17;2159:1;2141:20;;;;;;;2013:166;1990:3;;1950:244;;6192:591;6302:29;6345:38;6397:41;6452:32;6498:41;6553:44;6669:9;6641:135;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;6641:135:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;6641:135:1;;;;;;;;;;;;-1:-1:-1;6641:135:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;6641:135:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;6641:135:1;;;;;;;;;;;;-1:-1:-1;6641:135:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;6641:135:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;6641:135:1;;;;;;;;;;;;-1:-1:-1;6641:135:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;6641:135:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;6641:135:1;;;;;;;;;;;;-1:-1:-1;6641:135:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;6641:135:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;6641:135:1;;;;;;;;;;;;-1:-1:-1;6641:135:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;6641:135:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;6641:135:1;;;;;;;;;;;;-1:-1:-1;6641:135:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6622:154;;;;;;;;;;;;6192:591;;;;;;;:::o;3570:588::-;3681:64;-1:-1:-1;;;;;;3765:74:1;;-1:-1:-1;;;3765:74:1;3761:158;;;-1:-1:-1;3862:46:1;3855:53;;3761:158;-1:-1:-1;;;;;;3932:70:1;;-1:-1:-1;;;3932:70:1;3928:157;;;-1:-1:-1;4025:49:1;4018:56;;3928:157;-1:-1:-1;4101:50:1;3570:588;;;;:::o;2093:332:179:-;2205:29;2248:35;2297:32;2372:10;2361:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;-1:-1:-1;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;-1:-1:-1;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;-1:-1:-1;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2354:64;;;;;;2093:332;;;;;:::o;885:203:450:-;1012:68;;;-1:-1:-1;;;;;1012:68:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1012:68:450;-1:-1:-1;;;1012:68:450;;;985:96;;1005:5;;985:19;:96::i;:::-;885:203;;;;:::o;6789:691:1:-;6879:28;6935:40;6989:31;7048:43;7104:27;7121:9;7104:16;:27::i;:::-;6865:266;;;;;;;;;;7147:9;7142:143;7162:11;:18;7158:1;:22;7142:143;;;7201:73;7235:10;7247:23;7271:1;7247:26;;;;;;;;;;;;;;7207:11;7219:1;7207:14;;;;;;;;;;;;;;-1:-1:-1;;;;;7201:33:1;;;:73;;;;;:::i;:::-;7182:3;;7142:143;;;;7317:10;-1:-1:-1;;;;;7294:39:1;;7347:11;7372:23;7409:14;7437:26;7294:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6789:691;;;;;:::o;3539:585:355:-;3649:36;3737:7;:14;3723:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3723:29:355;;3701:51;;3767:9;3762:319;3782:7;:14;3778:1;:18;3762:319;;;3817:19;3845:7;3853:1;3845:10;;;;;;;;;;;;;;3817:39;;3895:13;-1:-1:-1;;;;;3895:23:355;;3927:4;3895:38;;;;;;;;;;;;;-1:-1:-1;;;;;3895:38:355;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3895:38:355;3870:22;;:19;;3890:1;;3870:22;;;;;;;;;;;:63;;;;;3976:1;3951:19;3971:1;3951:22;;;;;;;;;;;;;;:26;3947:124;;;3997:59;4024:7;4033:19;4053:1;4033:22;;;;;;;;;;;;;;3997:13;-1:-1:-1;;;;;3997:26:355;;;:59;;;;;:::i;:::-;-1:-1:-1;3798:3:355;;3762:319;;;;3539:585;;;;:::o;2967:751:450:-;3386:23;3412:69;3440:4;3412:69;;;;;;;;;;;;;;;;;3420:5;-1:-1:-1;;;;;3412:27:450;;;:69;;;;;:::i;:::-;3495:17;;3386:95;;-1:-1:-1;3495:21:450;3491:221;;3635:10;3624:30;;;;;;;;;;;;;;;-1:-1:-1;3624:30:450;3616:85;;;;-1:-1:-1;;;3616:85:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2967:751;;;:::o;1348:613::-;1713:10;;;1712:62;;-1:-1:-1;1729:39:450;;;-1:-1:-1;;;1729:39:450;;1753:4;1729:39;;;;-1:-1:-1;;;;;1729:39:450;;;;;;;;;:15;;;;;;:39;;;;;;;;;;;;;;;:15;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1729:39:450;:44;1712:62;1704:150;;;;-1:-1:-1;;;1704:150:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1891:62;;;-1:-1:-1;;;;;1891:62:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1891:62:450;-1:-1:-1;;;1891:62:450;;;1864:90;;1884:5;;1864:19;:90::i;704:175::-;813:58;;;-1:-1:-1;;;;;813:58:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;813:58:450;-1:-1:-1;;;813:58:450;;;786:86;;806:5;;786:19;:86::i;3581:193:451:-;3684:12;3715:52;3737:6;3745:4;3751:1;3754:12;3715:21;:52::i;:::-;3708:59;;3581:193;;;;;;:::o;4608:523::-;4735:12;4792:5;4767:21;:30;;4759:81;;;;-1:-1:-1;;;4759:81:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4858:18;4869:6;4858:10;:18::i;:::-;4850:60;;;;;-1:-1:-1;;;4850:60:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;4981:12;4995:23;5022:6;-1:-1:-1;;;;;5022:11:451;5042:5;5050:4;5022:33;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5022:33:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4980:75;;;;5072:52;5090:7;5099:10;5111:12;5072:17;:52::i;:::-;5065:59;4608:523;-1:-1:-1;;;;;;;4608:523:451:o;726:413::-;1086:20;1124:8;;;726:413::o;7091:725::-;7206:12;7234:7;7230:580;;;-1:-1:-1;7264:10:451;7257:17;;7230:580;7375:17;;:21;7371:429;;7633:10;7627:17;7693:15;7680:10;7676:2;7672:19;7665:44;7582:145;7772:12;7765:20;;-1:-1:-1;;;7765:20:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;", - "linkReferences": {}, - "immutableReferences": { - "143": [ - { - "start": 1980, - "length": 32 - }, - { - "start": 2923, - "length": 32 - }, - { - "start": 5117, - "length": 32 - }, - { - "start": 5223, - "length": 32 - } - ], - "49791": [ - { - "start": 3352, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "CLAIM_REWARDS_SELECTOR()": "40da225d", - "INTEGRATEE()": "740f2852", - "LEND_AND_STAKE_SELECTOR()": "131461c0", - "LEND_SELECTOR()": "257cb1a3", - "REDEEM_SELECTOR()": "f7d882b5", - "STAKE_SELECTOR()": "3ffc1591", - "TAKE_MULTIPLE_ORDERS_SELECTOR()": "c32990a2", - "TAKE_ORDER_SELECTOR()": "863e5ad0", - "UNSTAKE_AND_REDEEM_SELECTOR()": "080456c1", - "UNSTAKE_SELECTOR()": "b23228cf", - "getIntegrationManager()": "e7c45690", - "parseAssetsForAction(address,bytes4,bytes)": "c54efee5", - "removeOnly(address,bytes,bytes)": "360bbf05", - "swapA(address,bytes,bytes)": "62231430", - "swapB(address,bytes,bytes)": "cadd965d", - "swapDirectFromVault(address,bytes,bytes)": "0377b2d0", - "swapViaApproval(address,bytes,bytes)": "fb505107" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_integratee\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"CLAIM_REWARDS_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"INTEGRATEE\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LEND_AND_STAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LEND_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"REDEEM_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"STAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TAKE_MULTIPLE_ORDERS_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TAKE_ORDER_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UNSTAKE_AND_REDEEM_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UNSTAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getIntegrationManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"integrationManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"_selector\",\"type\":\"bytes4\"},{\"internalType\":\"bytes\",\"name\":\"_callArgs\",\"type\":\"bytes\"}],\"name\":\"parseAssetsForAction\",\"outputs\":[{\"internalType\":\"enum IIntegrationManager.SpendAssetsHandleType\",\"name\":\"spendAssetsHandleType_\",\"type\":\"uint8\"},{\"internalType\":\"address[]\",\"name\":\"spendAssets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"maxSpendAssetAmounts_\",\"type\":\"uint256[]\"},{\"internalType\":\"address[]\",\"name\":\"incomingAssets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"minIncomingAssetAmounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"removeOnly\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_callArgs\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"_assetTransferArgs\",\"type\":\"bytes\"}],\"name\":\"swapA\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_callArgs\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"_assetTransferArgs\",\"type\":\"bytes\"}],\"name\":\"swapB\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_callArgs\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"swapDirectFromVault\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_callArgs\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"_assetTransferArgs\",\"type\":\"bytes\"}],\"name\":\"swapViaApproval\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"getIntegrationManager()\":{\"returns\":{\"integrationManager_\":\"The `INTEGRATION_MANAGER` variable value\"}}},\"title\":\"MockGenericAdapter Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getIntegrationManager()\":{\"notice\":\"Gets the `INTEGRATION_MANAGER` variable\"}},\"notice\":\"Provides a generic adapter that: 1. Provides swapping functions that use various `SpendAssetsTransferType` values 2. Directly parses the _actual_ values to swap from provided call data (e.g., `actualIncomingAssetAmounts`) 3. Directly parses values needed by the IntegrationManager from provided call data (e.g., `minIncomingAssetAmounts`)\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/mocks/MockGenericAdapter.sol\":\"MockGenericAdapter\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/mocks/MockGenericAdapter.sol\":{\"keccak256\":\"0xaac8539717fb94de230488d1ded43f77de1e45fd8bd2ee02db5d2053b1b4f49c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://254b09055fa8c744e1bb99f82485909037961659a75dd6955c4758bb5b8c533f\",\"dweb:/ipfs/QmNPoZWcG9cBmn1wrxxqXkjEkchhat5KFer7rBNt4pEYHU\"]},\"contracts/release/extensions/integration-manager/IIntegrationManager.sol\":{\"keccak256\":\"0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23\",\"dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk\"]},\"contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol\":{\"keccak256\":\"0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336\",\"dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS\"]},\"contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol\":{\"keccak256\":\"0x067e49bf0d3c1655ab41a413c65ccf61d4e593308132e1ffc484a0fadfbbaf26\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://387f425017e18e89cc1893521101fa99df595314847d0b3d9a1162369f714fcf\",\"dweb:/ipfs/Qmco3jCvuWAyfCpBYpGzHrQjiFJG63w1RJKcakoTEbxRQm\"]},\"contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol\":{\"keccak256\":\"0xfd34c7ca8231c6935e25dede32ca2b3121738e624d0fc896f7b895a731edcf88\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d492c061963d36d07718446db191d4c5a340c0d847f6cd209f027bd99f7cb176\",\"dweb:/ipfs/QmfCvRZt56ftDdrEh6LepHXFJ4fVtcfpQGvEyY8k4zxG1A\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_integratee", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "CLAIM_REWARDS_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "INTEGRATEE", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "LEND_AND_STAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "LEND_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "REDEEM_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "STAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "TAKE_MULTIPLE_ORDERS_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "TAKE_ORDER_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "UNSTAKE_AND_REDEEM_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "UNSTAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getIntegrationManager", - "outputs": [ - { - "internalType": "address", - "name": "integrationManager_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes4", - "name": "_selector", - "type": "bytes4" - }, - { - "internalType": "bytes", - "name": "_callArgs", - "type": "bytes" - } - ], - "stateMutability": "view", - "type": "function", - "name": "parseAssetsForAction", - "outputs": [ - { - "internalType": "enum IIntegrationManager.SpendAssetsHandleType", - "name": "spendAssetsHandleType_", - "type": "uint8" - }, - { - "internalType": "address[]", - "name": "spendAssets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "maxSpendAssetAmounts_", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "incomingAssets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "minIncomingAssetAmounts_", - "type": "uint256[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "removeOnly" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_callArgs", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "_assetTransferArgs", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "swapA" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_callArgs", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "_assetTransferArgs", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "swapB" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_callArgs", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "swapDirectFromVault" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_callArgs", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "_assetTransferArgs", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "swapViaApproval" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "getIntegrationManager()": { - "returns": { - "integrationManager_": "The `INTEGRATION_MANAGER` variable value" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "getIntegrationManager()": { - "notice": "Gets the `INTEGRATION_MANAGER` variable" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/mocks/MockGenericAdapter.sol": "MockGenericAdapter" - }, - "libraries": {} - }, - "sources": { - "contracts/mocks/MockGenericAdapter.sol": { - "keccak256": "0xaac8539717fb94de230488d1ded43f77de1e45fd8bd2ee02db5d2053b1b4f49c", - "urls": [ - "bzz-raw://254b09055fa8c744e1bb99f82485909037961659a75dd6955c4758bb5b8c533f", - "dweb:/ipfs/QmNPoZWcG9cBmn1wrxxqXkjEkchhat5KFer7rBNt4pEYHU" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/IIntegrationManager.sol": { - "keccak256": "0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef", - "urls": [ - "bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23", - "dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol": { - "keccak256": "0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1", - "urls": [ - "bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336", - "dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol": { - "keccak256": "0x067e49bf0d3c1655ab41a413c65ccf61d4e593308132e1ffc484a0fadfbbaf26", - "urls": [ - "bzz-raw://387f425017e18e89cc1893521101fa99df595314847d0b3d9a1162369f714fcf", - "dweb:/ipfs/Qmco3jCvuWAyfCpBYpGzHrQjiFJG63w1RJKcakoTEbxRQm" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol": { - "keccak256": "0xfd34c7ca8231c6935e25dede32ca2b3121738e624d0fc896f7b895a731edcf88", - "urls": [ - "bzz-raw://d492c061963d36d07718446db191d4c5a340c0d847f6cd209f027bd99f7cb176", - "dweb:/ipfs/QmfCvRZt56ftDdrEh6LepHXFJ4fVtcfpQGvEyY8k4zxG1A" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AssetHelpers.sol": { - "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", - "urls": [ - "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", - "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { - "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", - "urls": [ - "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", - "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Address.sol": { - "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", - "urls": [ - "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", - "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 1 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_integratee", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "CLAIM_REWARDS_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "INTEGRATEE", "inputs": [], "outputs": [ { "name": "", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "LEND_AND_STAKE_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "LEND_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "REDEEM_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "STAKE_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "TAKE_MULTIPLE_ORDERS_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "TAKE_ORDER_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "UNSTAKE_AND_REDEEM_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "UNSTAKE_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "getIntegrationManager", "inputs": [], "outputs": [ { "name": "integrationManager_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "parseAssetsForAction", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "_selector", "type": "bytes4", "internalType": "bytes4" }, { "name": "_callArgs", "type": "bytes", "internalType": "bytes" } ], "outputs": [ { "name": "spendAssetsHandleType_", "type": "uint8", "internalType": "enum IIntegrationManager.SpendAssetsHandleType" }, { "name": "spendAssets_", "type": "address[]", "internalType": "address[]" }, { "name": "maxSpendAssetAmounts_", "type": "uint256[]", "internalType": "uint256[]" }, { "name": "incomingAssets_", "type": "address[]", "internalType": "address[]" }, { "name": "minIncomingAssetAmounts_", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "view" }, { "type": "function", "name": "removeOnly", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "bytes", "internalType": "bytes" }, { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "swapA", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_callArgs", "type": "bytes", "internalType": "bytes" }, { "name": "_assetTransferArgs", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "swapB", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_callArgs", "type": "bytes", "internalType": "bytes" }, { "name": "_assetTransferArgs", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "swapDirectFromVault", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_callArgs", "type": "bytes", "internalType": "bytes" }, { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "swapViaApproval", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_callArgs", "type": "bytes", "internalType": "bytes" }, { "name": "_assetTransferArgs", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x60c060405234801561001057600080fd5b50604051611ca5380380611ca58339818101604052602081101561003357600080fd5b505160006080819052606082901b6001600160601b03191660a052906001600160a01b0316611c226100838339806107bc5280610b6b52806113fd5280611467525080610d185250611c226000f3fe608060405234801561001057600080fd5b506004361061010b5760003560e01c8063740f2852116100a2578063c54efee511610071578063c54efee5146103fd578063cadd965d146105bf578063e7c456901461068d578063f7d882b514610695578063fb5051071461069d5761010b565b8063740f2852146103c1578063863e5ad0146103e5578063b23228cf146103ed578063c32990a2146103f55761010b565b8063360bbf05116100de578063360bbf05146102155780633ffc1591146102e357806340da225d146102eb57806362231430146102f35761010b565b80630377b2d014610110578063080456c1146101e0578063131461c014610205578063257cb1a31461020d575b600080fd5b6101de6004803603606081101561012657600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561015057600080fd5b82018360208201111561016257600080fd5b803590602001918460018302840111600160201b8311171561018357600080fd5b919390929091602081019035600160201b8111156101a057600080fd5b8201836020820111156101b257600080fd5b803590602001918460018302840111600160201b831117156101d357600080fd5b50909250905061076b565b005b6101e8610964565b604080516001600160e01b03199092168252519081900360200190f35b6101e8610988565b6101e86109ac565b6101de6004803603606081101561022b57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561025557600080fd5b82018360208201111561026757600080fd5b803590602001918460018302840111600160201b8311171561028857600080fd5b919390929091602081019035600160201b8111156102a557600080fd5b8201836020820111156102b757600080fd5b803590602001918460018302840111600160201b831117156102d857600080fd5b5090925090506109d0565b6101e86109d7565b6101e86109fb565b6101de6004803603606081101561030957600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561033357600080fd5b82018360208201111561034557600080fd5b803590602001918460018302840111600160201b8311171561036657600080fd5b919390929091602081019035600160201b81111561038357600080fd5b82018360208201111561039557600080fd5b803590602001918460018302840111600160201b831117156103b657600080fd5b509092509050610a1f565b6103c9610b69565b604080516001600160a01b039092168252519081900360200190f35b6101e8610b8d565b6101e8610bb1565b6101e8610bd5565b61048a6004803603606081101561041357600080fd5b6001600160a01b03823516916001600160e01b031960208201351691810190606081016040820135600160201b81111561044c57600080fd5b82018360208201111561045e57600080fd5b803590602001918460018302840111600160201b8311171561047f57600080fd5b509092509050610bf9565b6040518086600281111561049a57fe5b815260200180602001806020018060200180602001858103855289818151815260200191508051906020019060200280838360005b838110156104e75781810151838201526020016104cf565b50505050905001858103845288818151815260200191508051906020019060200280838360005b8381101561052657818101518382015260200161050e565b50505050905001858103835287818151815260200191508051906020019060200280838360005b8381101561056557818101518382015260200161054d565b50505050905001858103825286818151815260200191508051906020019060200280838360005b838110156105a457818101518382015260200161058c565b50505050905001995050505050505050505060405180910390f35b6101de600480360360608110156105d557600080fd5b6001600160a01b038235169190810190604081016020820135600160201b8111156105ff57600080fd5b82018360208201111561061157600080fd5b803590602001918460018302840111600160201b8311171561063257600080fd5b919390929091602081019035600160201b81111561064f57600080fd5b82018360208201111561066157600080fd5b803590602001918460018302840111600160201b8311171561068257600080fd5b509092509050610c65565b6103c9610d16565b6101e8610d3a565b6101de600480360360608110156106b357600080fd5b6001600160a01b038235169190810190604081016020820135600160201b8111156106dd57600080fd5b8201836020820111156106ef57600080fd5b803590602001918460018302840111600160201b8311171561071057600080fd5b919390929091602081019035600160201b81111561072d57600080fd5b82018360208201111561073f57600080fd5b803590602001918460018302840111600160201b8311171561076057600080fd5b509092509050610d5e565b6060806060806107b088888080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610e0f92505050565b955050945094505093507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166335671b2f8a868686866040518663ffffffff1660e01b815260040180866001600160a01b0316815260200180602001806020018060200180602001858103855289818151815260200191508051906020019060200280838360005b83811015610858578181015183820152602001610840565b50505050905001858103845288818151815260200191508051906020019060200280838360005b8381101561089757818101518382015260200161087f565b50505050905001858103835287818151815260200191508051906020019060200280838360005b838110156108d65781810151838201526020016108be565b50505050905001858103825286818151815260200191508051906020019060200280838360005b838110156109155781810151838201526020016108fd565b505050509050019950505050505050505050600060405180830381600087803b15801561094157600080fd5b505af1158015610955573d6000803e3d6000fd5b50505050505050505050505050565b7f8334eb99be0145865eba9889fca2ee920288090caefff4cc776038e20ad9259a81565b7f29fa046e79524c3c5ac4c01df692c35e217802b2b13b21121b76cf0ef02b138c81565b7f099f75155f0e997bf83a7993a71d5e7e7540bd386fe1e84643a09ce6b412521981565b5050505050565b7ffa7dd04da627f433da73c4355ead9c75682a67a8fc84d3f6170ef0922f402d2481565b7fb9dfbaccbe5cd2a84fdcf1d15f23ef25d23086f5afbaa99516065ed4a5bbc7a381565b8482828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610a8292507f62231430458bd051b4b08f5320d5d1d44938c14a62d90c95311a2e227f85c7b4915061116a9050565b6060806060610a90856111b6565b919450925090506001846002811115610aa557fe5b1415610b075760005b8351811015610b0557610afd8730858481518110610ac857fe5b6020026020010151878581518110610adc57fe5b60200260200101516001600160a01b0316611373909392919063ffffffff16565b600101610aae565b505b610b468a8a8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506113d392505050565b610b5086826115fa565b50610b5b86846115fa565b505050505050505050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f03e38a2bd7063d45c897edeafc330e71657502dd86434d3c37a489caf116af6981565b7f68e30677f607df46e87da13e15b637784cfa62374b653f35ab43d10361a2f83081565b7f0e7f692dad5b88fdee426250d6eae91207e56a2e8112b7364579bed1790e5bf481565b6000606080606080610c4087878080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610e0f92505050565b50939750919550909350909150610c5890508861116a565b9450945094509450945094565b8482828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610cc892507fcadd965d4251b3cf197bac2aaf1b2efaad0abada23065ae873fda39383fbebac915061116a9050565b6060806060610cd6856111b6565b919450925090506001846002811115610ceb57fe5b1415610b075760005b8351811015610b0557610d0e8730858481518110610ac857fe5b600101610cf4565b7f000000000000000000000000000000000000000000000000000000000000000090565b7fc29fa9dde84204c2908778afd0613d802d31cf046179b88f6d2b4a4e507ea2d581565b8482828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610dc192507ffb5051076bd418e114f533b0b78c638e754015d74936fe20ffdfe387b0f6995d915061116a9050565b6060806060610dcf856111b6565b919450925090506001846002811115610de457fe5b1415610b075760005b8351811015610b0557610e078730858481518110610ac857fe5b600101610ded565b6060806060806060808680602001905160c0811015610e2d57600080fd5b8101908080516040519392919084600160201b821115610e4c57600080fd5b908301906020820185811115610e6157600080fd5b82518660208202830111600160201b82111715610e7d57600080fd5b82525081516020918201928201910280838360005b83811015610eaa578181015183820152602001610e92565b5050505090500160405260200180516040519392919084600160201b821115610ed257600080fd5b908301906020820185811115610ee757600080fd5b82518660208202830111600160201b82111715610f0357600080fd5b82525081516020918201928201910280838360005b83811015610f30578181015183820152602001610f18565b5050505090500160405260200180516040519392919084600160201b821115610f5857600080fd5b908301906020820185811115610f6d57600080fd5b82518660208202830111600160201b82111715610f8957600080fd5b82525081516020918201928201910280838360005b83811015610fb6578181015183820152602001610f9e565b5050505090500160405260200180516040519392919084600160201b821115610fde57600080fd5b908301906020820185811115610ff357600080fd5b82518660208202830111600160201b8211171561100f57600080fd5b82525081516020918201928201910280838360005b8381101561103c578181015183820152602001611024565b5050505090500160405260200180516040519392919084600160201b82111561106457600080fd5b90830190602082018581111561107957600080fd5b82518660208202830111600160201b8211171561109557600080fd5b82525081516020918201928201910280838360005b838110156110c25781810151838201526020016110aa565b5050505090500160405260200180516040519392919084600160201b8211156110ea57600080fd5b9083019060208201858111156110ff57600080fd5b82518660208202830111600160201b8211171561111b57600080fd5b82525081516020918201928201910280838360005b83811015611148578181015183820152602001611130565b5050505090500160405250505095509550955095509550955091939550919395565b60006001600160e01b0319821662377b2d60e41b141561118c575060006111b1565b6001600160e01b0319821663fb50510760e01b14156111ad575060016111b1565b5060025b919050565b60608060608380602001905160608110156111d057600080fd5b8101908080516040519392919084600160201b8211156111ef57600080fd5b90830190602082018581111561120457600080fd5b82518660208202830111600160201b8211171561122057600080fd5b82525081516020918201928201910280838360005b8381101561124d578181015183820152602001611235565b5050505090500160405260200180516040519392919084600160201b82111561127557600080fd5b90830190602082018581111561128a57600080fd5b82518660208202830111600160201b821117156112a657600080fd5b82525081516020918201928201910280838360005b838110156112d35781810151838201526020016112bb565b5050505090500160405260200180516040519392919084600160201b8211156112fb57600080fd5b90830190602082018581111561131057600080fd5b82518660208202830111600160201b8211171561132c57600080fd5b82525081516020918201928201910280838360005b83811015611359578181015183820152602001611341565b505050509050016040525050509250925092509193909250565b604080516001600160a01b0380861660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b1790526113cd908590611755565b50505050565b6060806060806113e285610e0f565b9550509450945050935060005b84518110156114645761145c7f000000000000000000000000000000000000000000000000000000000000000085838151811061142857fe5b602002602001015187848151811061143c57fe5b60200260200101516001600160a01b031661180b9092919063ffffffff16565b6001016113ef565b507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316633005d9d0858585856040518563ffffffff1660e01b81526004018080602001806020018060200180602001858103855289818151815260200191508051906020019060200280838360005b838110156114f35781810151838201526020016114db565b50505050905001858103845288818151815260200191508051906020019060200280838360005b8381101561153257818101518382015260200161151a565b50505050905001858103835287818151815260200191508051906020019060200280838360005b83811015611571578181015183820152602001611559565b50505050905001858103825286818151815260200191508051906020019060200280838360005b838110156115b0578181015183820152602001611598565b5050505090500198505050505050505050600060405180830381600087803b1580156115db57600080fd5b505af11580156115ef573d6000803e3d6000fd5b505050505050505050565b6060815167ffffffffffffffff8111801561161457600080fd5b5060405190808252806020026020018201604052801561163e578160200160208202803683370190505b50905060005b825181101561174e57600083828151811061165b57fe5b60200260200101519050806001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156116b257600080fd5b505afa1580156116c6573d6000803e3d6000fd5b505050506040513d60208110156116dc57600080fd5b505183518490849081106116ec57fe5b602002602001018181525050600083838151811061170657fe5b60200260200101511115611745576117458584848151811061172457fe5b6020026020010151836001600160a01b031661191e9092919063ffffffff16565b50600101611644565b5092915050565b60606117aa826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166119709092919063ffffffff16565b805190915015611806578080602001905160208110156117c957600080fd5b50516118065760405162461bcd60e51b815260040180806020018281038252602a815260200180611bb6602a913960400191505060405180910390fd5b505050565b801580611891575060408051636eb1769f60e11b81523060048201526001600160a01b03848116602483015291519185169163dd62ed3e91604480820192602092909190829003018186803b15801561186357600080fd5b505afa158015611877573d6000803e3d6000fd5b505050506040513d602081101561188d57600080fd5b5051155b6118cc5760405162461bcd60e51b8152600401808060200182810382526036815260200180611be06036913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052611806908490611755565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052611806908490611755565b606061197f8484600085611989565b90505b9392505050565b6060824710156119ca5760405162461bcd60e51b8152600401808060200182810382526026815260200180611b906026913960400191505060405180910390fd5b6119d385611ae5565b611a24576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b60208310611a635780518252601f199092019160209182019101611a44565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114611ac5576040519150601f19603f3d011682016040523d82523d6000602084013e611aca565b606091505b5091509150611ada828286611aeb565b979650505050505050565b3b151590565b60608315611afa575081611982565b825115611b0a5782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611b54578181015183820152602001611b3c565b50505050905090810190601f168015611b815780820380516001836020036101000a031916815260200191505b509250505060405180910390fdfe416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c5361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e6365a164736f6c634300060c000a", "sourceMap": "1356:6126:1:-:0;;;2490:105;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2490:105:1;2550:1;1938:41:179;;;;;2564:24:1;;;-1:-1:-1;;;;;;2564:24:1;::::1;::::0;2550:1;-1:-1:-1;;;;;1356:6126:1;;;2550:1;1356:6126;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b506004361061010b5760003560e01c8063740f2852116100a2578063c54efee511610071578063c54efee5146103fd578063cadd965d146105bf578063e7c456901461068d578063f7d882b514610695578063fb5051071461069d5761010b565b8063740f2852146103c1578063863e5ad0146103e5578063b23228cf146103ed578063c32990a2146103f55761010b565b8063360bbf05116100de578063360bbf05146102155780633ffc1591146102e357806340da225d146102eb57806362231430146102f35761010b565b80630377b2d014610110578063080456c1146101e0578063131461c014610205578063257cb1a31461020d575b600080fd5b6101de6004803603606081101561012657600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561015057600080fd5b82018360208201111561016257600080fd5b803590602001918460018302840111600160201b8311171561018357600080fd5b919390929091602081019035600160201b8111156101a057600080fd5b8201836020820111156101b257600080fd5b803590602001918460018302840111600160201b831117156101d357600080fd5b50909250905061076b565b005b6101e8610964565b604080516001600160e01b03199092168252519081900360200190f35b6101e8610988565b6101e86109ac565b6101de6004803603606081101561022b57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561025557600080fd5b82018360208201111561026757600080fd5b803590602001918460018302840111600160201b8311171561028857600080fd5b919390929091602081019035600160201b8111156102a557600080fd5b8201836020820111156102b757600080fd5b803590602001918460018302840111600160201b831117156102d857600080fd5b5090925090506109d0565b6101e86109d7565b6101e86109fb565b6101de6004803603606081101561030957600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561033357600080fd5b82018360208201111561034557600080fd5b803590602001918460018302840111600160201b8311171561036657600080fd5b919390929091602081019035600160201b81111561038357600080fd5b82018360208201111561039557600080fd5b803590602001918460018302840111600160201b831117156103b657600080fd5b509092509050610a1f565b6103c9610b69565b604080516001600160a01b039092168252519081900360200190f35b6101e8610b8d565b6101e8610bb1565b6101e8610bd5565b61048a6004803603606081101561041357600080fd5b6001600160a01b03823516916001600160e01b031960208201351691810190606081016040820135600160201b81111561044c57600080fd5b82018360208201111561045e57600080fd5b803590602001918460018302840111600160201b8311171561047f57600080fd5b509092509050610bf9565b6040518086600281111561049a57fe5b815260200180602001806020018060200180602001858103855289818151815260200191508051906020019060200280838360005b838110156104e75781810151838201526020016104cf565b50505050905001858103845288818151815260200191508051906020019060200280838360005b8381101561052657818101518382015260200161050e565b50505050905001858103835287818151815260200191508051906020019060200280838360005b8381101561056557818101518382015260200161054d565b50505050905001858103825286818151815260200191508051906020019060200280838360005b838110156105a457818101518382015260200161058c565b50505050905001995050505050505050505060405180910390f35b6101de600480360360608110156105d557600080fd5b6001600160a01b038235169190810190604081016020820135600160201b8111156105ff57600080fd5b82018360208201111561061157600080fd5b803590602001918460018302840111600160201b8311171561063257600080fd5b919390929091602081019035600160201b81111561064f57600080fd5b82018360208201111561066157600080fd5b803590602001918460018302840111600160201b8311171561068257600080fd5b509092509050610c65565b6103c9610d16565b6101e8610d3a565b6101de600480360360608110156106b357600080fd5b6001600160a01b038235169190810190604081016020820135600160201b8111156106dd57600080fd5b8201836020820111156106ef57600080fd5b803590602001918460018302840111600160201b8311171561071057600080fd5b919390929091602081019035600160201b81111561072d57600080fd5b82018360208201111561073f57600080fd5b803590602001918460018302840111600160201b8311171561076057600080fd5b509092509050610d5e565b6060806060806107b088888080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610e0f92505050565b955050945094505093507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166335671b2f8a868686866040518663ffffffff1660e01b815260040180866001600160a01b0316815260200180602001806020018060200180602001858103855289818151815260200191508051906020019060200280838360005b83811015610858578181015183820152602001610840565b50505050905001858103845288818151815260200191508051906020019060200280838360005b8381101561089757818101518382015260200161087f565b50505050905001858103835287818151815260200191508051906020019060200280838360005b838110156108d65781810151838201526020016108be565b50505050905001858103825286818151815260200191508051906020019060200280838360005b838110156109155781810151838201526020016108fd565b505050509050019950505050505050505050600060405180830381600087803b15801561094157600080fd5b505af1158015610955573d6000803e3d6000fd5b50505050505050505050505050565b7f8334eb99be0145865eba9889fca2ee920288090caefff4cc776038e20ad9259a81565b7f29fa046e79524c3c5ac4c01df692c35e217802b2b13b21121b76cf0ef02b138c81565b7f099f75155f0e997bf83a7993a71d5e7e7540bd386fe1e84643a09ce6b412521981565b5050505050565b7ffa7dd04da627f433da73c4355ead9c75682a67a8fc84d3f6170ef0922f402d2481565b7fb9dfbaccbe5cd2a84fdcf1d15f23ef25d23086f5afbaa99516065ed4a5bbc7a381565b8482828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610a8292507f62231430458bd051b4b08f5320d5d1d44938c14a62d90c95311a2e227f85c7b4915061116a9050565b6060806060610a90856111b6565b919450925090506001846002811115610aa557fe5b1415610b075760005b8351811015610b0557610afd8730858481518110610ac857fe5b6020026020010151878581518110610adc57fe5b60200260200101516001600160a01b0316611373909392919063ffffffff16565b600101610aae565b505b610b468a8a8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506113d392505050565b610b5086826115fa565b50610b5b86846115fa565b505050505050505050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f03e38a2bd7063d45c897edeafc330e71657502dd86434d3c37a489caf116af6981565b7f68e30677f607df46e87da13e15b637784cfa62374b653f35ab43d10361a2f83081565b7f0e7f692dad5b88fdee426250d6eae91207e56a2e8112b7364579bed1790e5bf481565b6000606080606080610c4087878080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610e0f92505050565b50939750919550909350909150610c5890508861116a565b9450945094509450945094565b8482828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610cc892507fcadd965d4251b3cf197bac2aaf1b2efaad0abada23065ae873fda39383fbebac915061116a9050565b6060806060610cd6856111b6565b919450925090506001846002811115610ceb57fe5b1415610b075760005b8351811015610b0557610d0e8730858481518110610ac857fe5b600101610cf4565b7f000000000000000000000000000000000000000000000000000000000000000090565b7fc29fa9dde84204c2908778afd0613d802d31cf046179b88f6d2b4a4e507ea2d581565b8482828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610dc192507ffb5051076bd418e114f533b0b78c638e754015d74936fe20ffdfe387b0f6995d915061116a9050565b6060806060610dcf856111b6565b919450925090506001846002811115610de457fe5b1415610b075760005b8351811015610b0557610e078730858481518110610ac857fe5b600101610ded565b6060806060806060808680602001905160c0811015610e2d57600080fd5b8101908080516040519392919084600160201b821115610e4c57600080fd5b908301906020820185811115610e6157600080fd5b82518660208202830111600160201b82111715610e7d57600080fd5b82525081516020918201928201910280838360005b83811015610eaa578181015183820152602001610e92565b5050505090500160405260200180516040519392919084600160201b821115610ed257600080fd5b908301906020820185811115610ee757600080fd5b82518660208202830111600160201b82111715610f0357600080fd5b82525081516020918201928201910280838360005b83811015610f30578181015183820152602001610f18565b5050505090500160405260200180516040519392919084600160201b821115610f5857600080fd5b908301906020820185811115610f6d57600080fd5b82518660208202830111600160201b82111715610f8957600080fd5b82525081516020918201928201910280838360005b83811015610fb6578181015183820152602001610f9e565b5050505090500160405260200180516040519392919084600160201b821115610fde57600080fd5b908301906020820185811115610ff357600080fd5b82518660208202830111600160201b8211171561100f57600080fd5b82525081516020918201928201910280838360005b8381101561103c578181015183820152602001611024565b5050505090500160405260200180516040519392919084600160201b82111561106457600080fd5b90830190602082018581111561107957600080fd5b82518660208202830111600160201b8211171561109557600080fd5b82525081516020918201928201910280838360005b838110156110c25781810151838201526020016110aa565b5050505090500160405260200180516040519392919084600160201b8211156110ea57600080fd5b9083019060208201858111156110ff57600080fd5b82518660208202830111600160201b8211171561111b57600080fd5b82525081516020918201928201910280838360005b83811015611148578181015183820152602001611130565b5050505090500160405250505095509550955095509550955091939550919395565b60006001600160e01b0319821662377b2d60e41b141561118c575060006111b1565b6001600160e01b0319821663fb50510760e01b14156111ad575060016111b1565b5060025b919050565b60608060608380602001905160608110156111d057600080fd5b8101908080516040519392919084600160201b8211156111ef57600080fd5b90830190602082018581111561120457600080fd5b82518660208202830111600160201b8211171561122057600080fd5b82525081516020918201928201910280838360005b8381101561124d578181015183820152602001611235565b5050505090500160405260200180516040519392919084600160201b82111561127557600080fd5b90830190602082018581111561128a57600080fd5b82518660208202830111600160201b821117156112a657600080fd5b82525081516020918201928201910280838360005b838110156112d35781810151838201526020016112bb565b5050505090500160405260200180516040519392919084600160201b8211156112fb57600080fd5b90830190602082018581111561131057600080fd5b82518660208202830111600160201b8211171561132c57600080fd5b82525081516020918201928201910280838360005b83811015611359578181015183820152602001611341565b505050509050016040525050509250925092509193909250565b604080516001600160a01b0380861660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b1790526113cd908590611755565b50505050565b6060806060806113e285610e0f565b9550509450945050935060005b84518110156114645761145c7f000000000000000000000000000000000000000000000000000000000000000085838151811061142857fe5b602002602001015187848151811061143c57fe5b60200260200101516001600160a01b031661180b9092919063ffffffff16565b6001016113ef565b507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316633005d9d0858585856040518563ffffffff1660e01b81526004018080602001806020018060200180602001858103855289818151815260200191508051906020019060200280838360005b838110156114f35781810151838201526020016114db565b50505050905001858103845288818151815260200191508051906020019060200280838360005b8381101561153257818101518382015260200161151a565b50505050905001858103835287818151815260200191508051906020019060200280838360005b83811015611571578181015183820152602001611559565b50505050905001858103825286818151815260200191508051906020019060200280838360005b838110156115b0578181015183820152602001611598565b5050505090500198505050505050505050600060405180830381600087803b1580156115db57600080fd5b505af11580156115ef573d6000803e3d6000fd5b505050505050505050565b6060815167ffffffffffffffff8111801561161457600080fd5b5060405190808252806020026020018201604052801561163e578160200160208202803683370190505b50905060005b825181101561174e57600083828151811061165b57fe5b60200260200101519050806001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156116b257600080fd5b505afa1580156116c6573d6000803e3d6000fd5b505050506040513d60208110156116dc57600080fd5b505183518490849081106116ec57fe5b602002602001018181525050600083838151811061170657fe5b60200260200101511115611745576117458584848151811061172457fe5b6020026020010151836001600160a01b031661191e9092919063ffffffff16565b50600101611644565b5092915050565b60606117aa826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166119709092919063ffffffff16565b805190915015611806578080602001905160208110156117c957600080fd5b50516118065760405162461bcd60e51b815260040180806020018281038252602a815260200180611bb6602a913960400191505060405180910390fd5b505050565b801580611891575060408051636eb1769f60e11b81523060048201526001600160a01b03848116602483015291519185169163dd62ed3e91604480820192602092909190829003018186803b15801561186357600080fd5b505afa158015611877573d6000803e3d6000fd5b505050506040513d602081101561188d57600080fd5b5051155b6118cc5760405162461bcd60e51b8152600401808060200182810382526036815260200180611be06036913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052611806908490611755565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052611806908490611755565b606061197f8484600085611989565b90505b9392505050565b6060824710156119ca5760405162461bcd60e51b8152600401808060200182810382526026815260200180611b906026913960400191505060405180910390fd5b6119d385611ae5565b611a24576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b60208310611a635780518252601f199092019160209182019101611a44565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114611ac5576040519150601f19603f3d011682016040523d82523d6000602084013e611aca565b606091505b5091509150611ada828286611aeb565b979650505050505050565b3b151590565b60608315611afa575081611982565b825115611b0a5782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611b54578181015183820152602001611b3c565b50505050905090810190601f168015611b815780820380516001836020036101000a031916815260200191505b509250505060405180910390fdfe416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c5361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e6365a164736f6c634300060c000a", "sourceMap": "1356:6126:1:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5084:646;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5084:646:1;;;;;;;;;;;;;;;-1:-1:-1;;;5084:646:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5084:646:1;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5084:646:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5084:646:1;;;;;;;;;;-1:-1:-1;5084:646:1;;-1:-1:-1;5084:646:1;-1:-1:-1;5084:646:1;:::i;:::-;;1490:119:180;;;:::i;:::-;;;;-1:-1:-1;;;;;;1490:119:180;;;;;;;;;;;;;;1373:111;;;:::i;832:85::-;;;:::i;4164:102:1:-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4164:102:1;;;;;;;;;;;;;;;-1:-1:-1;;;4164:102:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4164:102:1;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4164:102:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4164:102:1;;;;;;;;;;-1:-1:-1;4164:102:1;;-1:-1:-1;4164:102:1;-1:-1:-1;4164:102:1;:::i;1034:87:180:-;;;:::i;1240:110::-;;;:::i;4272:400:1:-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4272:400:1;;;;;;;;;;;;;;;-1:-1:-1;;;4272:400:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4272:400:1;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4272:400:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4272:400:1;;;;;;;;;;-1:-1:-1;4272:400:1;;-1:-1:-1;4272:400:1;-1:-1:-1;4272:400:1;:::i;1405:35::-;;;:::i;:::-;;;;-1:-1:-1;;;;;1405:35:1;;;;;;;;;;;;;;706:104:180;;;:::i;1127:91::-;;;:::i;577:123::-;;;:::i;2601:884:1:-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2601:884:1;;;;-1:-1:-1;;;;;;2601:884:1;;;;;;;;;;;;;;;;-1:-1:-1;;;2601:884:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2601:884:1;;;;;;;;;;-1:-1:-1;2601:884:1;;-1:-1:-1;2601:884:1;-1:-1:-1;2601:884:1;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4678:400;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4678:400:1;;;;;;;;;;;;;;;-1:-1:-1;;;4678:400:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4678:400:1;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4678:400:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4678:400:1;;;;;;;;;;-1:-1:-1;4678:400:1;;-1:-1:-1;4678:400:1;-1:-1:-1;4678:400:1;:::i;2637:128:179:-;;;:::i;923:89:180:-;;;:::i;5736:450:1:-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5736:450:1;;;;;;;;;;;;;;;-1:-1:-1;;;5736:450:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5736:450:1;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5736:450:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5736:450:1;;;;;;;;;;-1:-1:-1;5736:450:1;;-1:-1:-1;5736:450:1;-1:-1:-1;5736:450:1;:::i;5084:646::-;5239:28;5295:40;5349:31;5408:43;5464:27;5481:9;;5464:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5464:16:1;;-1:-1:-1;;;5464:27:1:i;:::-;5225:266;;;;;;;;;;5525:10;-1:-1:-1;;;;;5502:47:1;;5571:11;5597;5622:23;5659:14;5687:26;5502:221;;;;;;;;;;;;;-1:-1:-1;;;;;5502:221:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5084:646;;;;;;;;;:::o;1490:119:180:-;1558:50;1490:119;:::o;1373:111::-;1437:46;1373:111;:::o;832:85::-;878:38;832:85;:::o;4164:102:1:-;;;;;;:::o;1034:87:180:-;1081:39;1034:87;:::o;1240:110::-;1303:46;1240:110;:::o;4272:400:1:-;4463:11;4488:18;;1447:988;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4520:86:1;;-1:-1:-1;4565:39:1;;-1:-1:-1;4520:37:1;;-1:-1:-1;4520:86:1:i;:::-;1637:28;1679:34;1727:31;1771:29;1789:10;1771:17;:29::i;:::-;1623:177;;-1:-1:-1;1623:177:1;-1:-1:-1;1623:177:1;-1:-1:-1;1885:49:1;1870:11;:64;;;;;;;;;1866:338;;;1955:9;1950:244;1970:11;:18;1966:1;:22;1950:244;;;2013:166;2073:11;2114:4;2141:17;2159:1;2141:20;;;;;;;;;;;;;;2019:11;2031:1;2019:14;;;;;;;;;;;;;;-1:-1:-1;;;;;2013:38:1;;;:166;;;;;;:::i;:::-;1990:3;;1950:244;;;;1866:338;4631:34:::1;4655:9;;4631:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;4631:23:1::1;::::0;-1:-1:-1;;;4631:34:1:i:1;:::-;2317:52:::0;2341:11;2354:14;2317:23;:52::i;:::-;;2379:49;2403:11;2416;2379:23;:49::i;:::-;;4272:400;;;;;;;;;;;:::o;1405:35::-;;;:::o;706:104:180:-;766:43;706:104;:::o;1127:91::-;1176:41;1127:91;:::o;577:123::-;647:52;577:123;:::o;2601:884:1:-;2791:64;2869:29;2912:38;2964:32;3010:41;3233:27;3250:9;;3233:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3233:16:1;;-1:-1:-1;;;3233:27:1:i;:::-;-1:-1:-1;3076:184:1;;-1:-1:-1;3076:184:1;;-1:-1:-1;3076:184:1;;-1:-1:-1;3076:184:1;;-1:-1:-1;3292:48:1;;-1:-1:-1;3330:9:1;3292:37;:48::i;:::-;3271:207;;2601:884;;;;;;;;;:::o;4678:400::-;4869:11;4894:18;;1447:988;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4926:86:1;;-1:-1:-1;4971:39:1;;-1:-1:-1;4926:37:1;;-1:-1:-1;4926:86:1:i;:::-;1637:28;1679:34;1727:31;1771:29;1789:10;1771:17;:29::i;:::-;1623:177;;-1:-1:-1;1623:177:1;-1:-1:-1;1623:177:1;-1:-1:-1;1885:49:1;1870:11;:64;;;;;;;;;1866:338;;;1955:9;1950:244;1970:11;:18;1966:1;:22;1950:244;;;2013:166;2073:11;2114:4;2141:17;2159:1;2141:20;;;;;;;2013:166;1990:3;;1950:244;;2637:128:179;2739:19;2637:128;:::o;923:89:180:-;971:40;923:89;:::o;5736:450:1:-;5937:11;5962:18;;1447:988;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5994:126:1;;-1:-1:-1;6056:49:1;;-1:-1:-1;5994:37:1;;-1:-1:-1;5994:126:1:i;:::-;1637:28;1679:34;1727:31;1771:29;1789:10;1771:17;:29::i;:::-;1623:177;;-1:-1:-1;1623:177:1;-1:-1:-1;1623:177:1;-1:-1:-1;1885:49:1;1870:11;:64;;;;;;;;;1866:338;;;1955:9;1950:244;1970:11;:18;1966:1;:22;1950:244;;;2013:166;2073:11;2114:4;2141:17;2159:1;2141:20;;;;;;;2013:166;1990:3;;1950:244;;6192:591;6302:29;6345:38;6397:41;6452:32;6498:41;6553:44;6669:9;6641:135;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;6641:135:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;6641:135:1;;;;;;;;;;;;-1:-1:-1;6641:135:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;6641:135:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;6641:135:1;;;;;;;;;;;;-1:-1:-1;6641:135:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;6641:135:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;6641:135:1;;;;;;;;;;;;-1:-1:-1;6641:135:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;6641:135:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;6641:135:1;;;;;;;;;;;;-1:-1:-1;6641:135:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;6641:135:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;6641:135:1;;;;;;;;;;;;-1:-1:-1;6641:135:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;6641:135:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;6641:135:1;;;;;;;;;;;;-1:-1:-1;6641:135:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6622:154;;;;;;;;;;;;6192:591;;;;;;;:::o;3570:588::-;3681:64;-1:-1:-1;;;;;;3765:74:1;;-1:-1:-1;;;3765:74:1;3761:158;;;-1:-1:-1;3862:46:1;3855:53;;3761:158;-1:-1:-1;;;;;;3932:70:1;;-1:-1:-1;;;3932:70:1;3928:157;;;-1:-1:-1;4025:49:1;4018:56;;3928:157;-1:-1:-1;4101:50:1;3570:588;;;;:::o;2093:332:179:-;2205:29;2248:35;2297:32;2372:10;2361:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;-1:-1:-1;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;-1:-1:-1;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;-1:-1:-1;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2354:64;;;;;;2093:332;;;;;:::o;885:203:450:-;1012:68;;;-1:-1:-1;;;;;1012:68:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1012:68:450;-1:-1:-1;;;1012:68:450;;;985:96;;1005:5;;985:19;:96::i;:::-;885:203;;;;:::o;6789:691:1:-;6879:28;6935:40;6989:31;7048:43;7104:27;7121:9;7104:16;:27::i;:::-;6865:266;;;;;;;;;;7147:9;7142:143;7162:11;:18;7158:1;:22;7142:143;;;7201:73;7235:10;7247:23;7271:1;7247:26;;;;;;;;;;;;;;7207:11;7219:1;7207:14;;;;;;;;;;;;;;-1:-1:-1;;;;;7201:33:1;;;:73;;;;;:::i;:::-;7182:3;;7142:143;;;;7317:10;-1:-1:-1;;;;;7294:39:1;;7347:11;7372:23;7409:14;7437:26;7294:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6789:691;;;;;:::o;3539:585:355:-;3649:36;3737:7;:14;3723:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3723:29:355;;3701:51;;3767:9;3762:319;3782:7;:14;3778:1;:18;3762:319;;;3817:19;3845:7;3853:1;3845:10;;;;;;;;;;;;;;3817:39;;3895:13;-1:-1:-1;;;;;3895:23:355;;3927:4;3895:38;;;;;;;;;;;;;-1:-1:-1;;;;;3895:38:355;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3895:38:355;3870:22;;:19;;3890:1;;3870:22;;;;;;;;;;;:63;;;;;3976:1;3951:19;3971:1;3951:22;;;;;;;;;;;;;;:26;3947:124;;;3997:59;4024:7;4033:19;4053:1;4033:22;;;;;;;;;;;;;;3997:13;-1:-1:-1;;;;;3997:26:355;;;:59;;;;;:::i;:::-;-1:-1:-1;3798:3:355;;3762:319;;;;3539:585;;;;:::o;2967:751:450:-;3386:23;3412:69;3440:4;3412:69;;;;;;;;;;;;;;;;;3420:5;-1:-1:-1;;;;;3412:27:450;;;:69;;;;;:::i;:::-;3495:17;;3386:95;;-1:-1:-1;3495:21:450;3491:221;;3635:10;3624:30;;;;;;;;;;;;;;;-1:-1:-1;3624:30:450;3616:85;;;;-1:-1:-1;;;3616:85:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2967:751;;;:::o;1348:613::-;1713:10;;;1712:62;;-1:-1:-1;1729:39:450;;;-1:-1:-1;;;1729:39:450;;1753:4;1729:39;;;;-1:-1:-1;;;;;1729:39:450;;;;;;;;;:15;;;;;;:39;;;;;;;;;;;;;;;:15;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1729:39:450;:44;1712:62;1704:150;;;;-1:-1:-1;;;1704:150:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1891:62;;;-1:-1:-1;;;;;1891:62:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1891:62:450;-1:-1:-1;;;1891:62:450;;;1864:90;;1884:5;;1864:19;:90::i;704:175::-;813:58;;;-1:-1:-1;;;;;813:58:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;813:58:450;-1:-1:-1;;;813:58:450;;;786:86;;806:5;;786:19;:86::i;3581:193:451:-;3684:12;3715:52;3737:6;3745:4;3751:1;3754:12;3715:21;:52::i;:::-;3708:59;;3581:193;;;;;;:::o;4608:523::-;4735:12;4792:5;4767:21;:30;;4759:81;;;;-1:-1:-1;;;4759:81:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4858:18;4869:6;4858:10;:18::i;:::-;4850:60;;;;;-1:-1:-1;;;4850:60:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;4981:12;4995:23;5022:6;-1:-1:-1;;;;;5022:11:451;5042:5;5050:4;5022:33;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5022:33:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4980:75;;;;5072:52;5090:7;5099:10;5111:12;5072:17;:52::i;:::-;5065:59;4608:523;-1:-1:-1;;;;;;;4608:523:451:o;726:413::-;1086:20;1124:8;;;726:413::o;7091:725::-;7206:12;7234:7;7230:580;;;-1:-1:-1;7264:10:451;7257:17;;7230:580;7375:17;;:21;7371:429;;7633:10;7627:17;7693:15;7680:10;7676:2;7672:19;7665:44;7582:145;7772:12;7765:20;;-1:-1:-1;;;7765:20:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;", "linkReferences": {}, "immutableReferences": { "143": [ { "start": 1980, "length": 32 }, { "start": 2923, "length": 32 }, { "start": 5117, "length": 32 }, { "start": 5223, "length": 32 } ], "49791": [ { "start": 3352, "length": 32 } ] } }, "methodIdentifiers": { "CLAIM_REWARDS_SELECTOR()": "40da225d", "INTEGRATEE()": "740f2852", "LEND_AND_STAKE_SELECTOR()": "131461c0", "LEND_SELECTOR()": "257cb1a3", "REDEEM_SELECTOR()": "f7d882b5", "STAKE_SELECTOR()": "3ffc1591", "TAKE_MULTIPLE_ORDERS_SELECTOR()": "c32990a2", "TAKE_ORDER_SELECTOR()": "863e5ad0", "UNSTAKE_AND_REDEEM_SELECTOR()": "080456c1", "UNSTAKE_SELECTOR()": "b23228cf", "getIntegrationManager()": "e7c45690", "parseAssetsForAction(address,bytes4,bytes)": "c54efee5", "removeOnly(address,bytes,bytes)": "360bbf05", "swapA(address,bytes,bytes)": "62231430", "swapB(address,bytes,bytes)": "cadd965d", "swapDirectFromVault(address,bytes,bytes)": "0377b2d0", "swapViaApproval(address,bytes,bytes)": "fb505107" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_integratee\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"CLAIM_REWARDS_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"INTEGRATEE\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LEND_AND_STAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LEND_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"REDEEM_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"STAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TAKE_MULTIPLE_ORDERS_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TAKE_ORDER_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UNSTAKE_AND_REDEEM_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UNSTAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getIntegrationManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"integrationManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"_selector\",\"type\":\"bytes4\"},{\"internalType\":\"bytes\",\"name\":\"_callArgs\",\"type\":\"bytes\"}],\"name\":\"parseAssetsForAction\",\"outputs\":[{\"internalType\":\"enum IIntegrationManager.SpendAssetsHandleType\",\"name\":\"spendAssetsHandleType_\",\"type\":\"uint8\"},{\"internalType\":\"address[]\",\"name\":\"spendAssets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"maxSpendAssetAmounts_\",\"type\":\"uint256[]\"},{\"internalType\":\"address[]\",\"name\":\"incomingAssets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"minIncomingAssetAmounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"removeOnly\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_callArgs\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"_assetTransferArgs\",\"type\":\"bytes\"}],\"name\":\"swapA\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_callArgs\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"_assetTransferArgs\",\"type\":\"bytes\"}],\"name\":\"swapB\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_callArgs\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"swapDirectFromVault\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_callArgs\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"_assetTransferArgs\",\"type\":\"bytes\"}],\"name\":\"swapViaApproval\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"getIntegrationManager()\":{\"returns\":{\"integrationManager_\":\"The `INTEGRATION_MANAGER` variable value\"}}},\"title\":\"MockGenericAdapter Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getIntegrationManager()\":{\"notice\":\"Gets the `INTEGRATION_MANAGER` variable\"}},\"notice\":\"Provides a generic adapter that: 1. Provides swapping functions that use various `SpendAssetsTransferType` values 2. Directly parses the _actual_ values to swap from provided call data (e.g., `actualIncomingAssetAmounts`) 3. Directly parses values needed by the IntegrationManager from provided call data (e.g., `minIncomingAssetAmounts`)\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/mocks/MockGenericAdapter.sol\":\"MockGenericAdapter\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/mocks/MockGenericAdapter.sol\":{\"keccak256\":\"0xaac8539717fb94de230488d1ded43f77de1e45fd8bd2ee02db5d2053b1b4f49c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://254b09055fa8c744e1bb99f82485909037961659a75dd6955c4758bb5b8c533f\",\"dweb:/ipfs/QmNPoZWcG9cBmn1wrxxqXkjEkchhat5KFer7rBNt4pEYHU\"]},\"contracts/release/extensions/integration-manager/IIntegrationManager.sol\":{\"keccak256\":\"0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23\",\"dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk\"]},\"contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol\":{\"keccak256\":\"0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336\",\"dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS\"]},\"contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol\":{\"keccak256\":\"0x067e49bf0d3c1655ab41a413c65ccf61d4e593308132e1ffc484a0fadfbbaf26\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://387f425017e18e89cc1893521101fa99df595314847d0b3d9a1162369f714fcf\",\"dweb:/ipfs/Qmco3jCvuWAyfCpBYpGzHrQjiFJG63w1RJKcakoTEbxRQm\"]},\"contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol\":{\"keccak256\":\"0xfd34c7ca8231c6935e25dede32ca2b3121738e624d0fc896f7b895a731edcf88\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d492c061963d36d07718446db191d4c5a340c0d847f6cd209f027bd99f7cb176\",\"dweb:/ipfs/QmfCvRZt56ftDdrEh6LepHXFJ4fVtcfpQGvEyY8k4zxG1A\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_integratee", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "CLAIM_REWARDS_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "INTEGRATEE", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "LEND_AND_STAKE_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "LEND_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "REDEEM_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "STAKE_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "TAKE_MULTIPLE_ORDERS_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "TAKE_ORDER_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "UNSTAKE_AND_REDEEM_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "UNSTAKE_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getIntegrationManager", "outputs": [ { "internalType": "address", "name": "integrationManager_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "bytes4", "name": "_selector", "type": "bytes4" }, { "internalType": "bytes", "name": "_callArgs", "type": "bytes" } ], "stateMutability": "view", "type": "function", "name": "parseAssetsForAction", "outputs": [ { "internalType": "enum IIntegrationManager.SpendAssetsHandleType", "name": "spendAssetsHandleType_", "type": "uint8" }, { "internalType": "address[]", "name": "spendAssets_", "type": "address[]" }, { "internalType": "uint256[]", "name": "maxSpendAssetAmounts_", "type": "uint256[]" }, { "internalType": "address[]", "name": "incomingAssets_", "type": "address[]" }, { "internalType": "uint256[]", "name": "minIncomingAssetAmounts_", "type": "uint256[]" } ] }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "bytes", "name": "", "type": "bytes" }, { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "removeOnly" }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "bytes", "name": "_callArgs", "type": "bytes" }, { "internalType": "bytes", "name": "_assetTransferArgs", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "swapA" }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "bytes", "name": "_callArgs", "type": "bytes" }, { "internalType": "bytes", "name": "_assetTransferArgs", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "swapB" }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "bytes", "name": "_callArgs", "type": "bytes" }, { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "swapDirectFromVault" }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "bytes", "name": "_callArgs", "type": "bytes" }, { "internalType": "bytes", "name": "_assetTransferArgs", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "swapViaApproval" } ], "devdoc": { "kind": "dev", "methods": { "getIntegrationManager()": { "returns": { "integrationManager_": "The `INTEGRATION_MANAGER` variable value" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "getIntegrationManager()": { "notice": "Gets the `INTEGRATION_MANAGER` variable" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/mocks/MockGenericAdapter.sol": "MockGenericAdapter" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/mocks/MockGenericAdapter.sol": { "keccak256": "0xaac8539717fb94de230488d1ded43f77de1e45fd8bd2ee02db5d2053b1b4f49c", "urls": [ "bzz-raw://254b09055fa8c744e1bb99f82485909037961659a75dd6955c4758bb5b8c533f", "dweb:/ipfs/QmNPoZWcG9cBmn1wrxxqXkjEkchhat5KFer7rBNt4pEYHU" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/IIntegrationManager.sol": { "keccak256": "0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef", "urls": [ "bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23", "dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol": { "keccak256": "0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1", "urls": [ "bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336", "dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol": { "keccak256": "0x067e49bf0d3c1655ab41a413c65ccf61d4e593308132e1ffc484a0fadfbbaf26", "urls": [ "bzz-raw://387f425017e18e89cc1893521101fa99df595314847d0b3d9a1162369f714fcf", "dweb:/ipfs/Qmco3jCvuWAyfCpBYpGzHrQjiFJG63w1RJKcakoTEbxRQm" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol": { "keccak256": "0xfd34c7ca8231c6935e25dede32ca2b3121738e624d0fc896f7b895a731edcf88", "urls": [ "bzz-raw://d492c061963d36d07718446db191d4c5a340c0d847f6cd209f027bd99f7cb176", "dweb:/ipfs/QmfCvRZt56ftDdrEh6LepHXFJ4fVtcfpQGvEyY8k4zxG1A" ], "license": "GPL-3.0" }, "contracts/release/utils/AssetHelpers.sol": { "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", "urls": [ "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", "urls": [ "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Address.sol": { "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", "urls": [ "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" } }, "version": 1 }, "id": 1 } diff --git a/eth_defi/abi/enzyme/MockGenericExternalPositionLib.json b/eth_defi/abi/enzyme/MockGenericExternalPositionLib.json index b07977fe..a2906ce4 100644 --- a/eth_defi/abi/enzyme/MockGenericExternalPositionLib.json +++ b/eth_defi/abi/enzyme/MockGenericExternalPositionLib.json @@ -1,230 +1 @@ -{ - "abi": [ - { - "inputs": [], - "name": "getDebtAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "assets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "amounts_", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getManagedAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "assets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "amounts_", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "init", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - } - ], - "name": "receiveCallFromVault", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x608060405234801561001057600080fd5b50610b78806100206000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80634ddf47d41461005157806380daddb8146100f7578063e5c23a9714610198578063ecd658b41461023c575b600080fd5b6100f56004803603602081101561006757600080fd5b810190602081018135600160201b81111561008157600080fd5b82018360208201111561009357600080fd5b803590602001918460018302840111600160201b831117156100b457600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610244945050505050565b005b6100ff610247565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b8381101561014357818101518382015260200161012b565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561018257818101518382015260200161016a565b5050505090500194505050505060405180910390f35b6100f5600480360360208110156101ae57600080fd5b810190602081018135600160201b8111156101c857600080fd5b8201836020820111156101da57600080fd5b803590602001918460018302840111600160201b831117156101fb57600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955061039a945050505050565b6100ff610630565b50565b600154606090819067ffffffffffffffff8111801561026557600080fd5b5060405190808252806020026020018201604052801561028f578160200160208202803683370190505b5060015490925067ffffffffffffffff811180156102ac57600080fd5b506040519080825280602002602001820160405280156102d6578160200160208202803683370190505b50905060005b60015481101561039557600181815481106102f357fe5b9060005260206000200160009054906101000a90046001600160a01b031683828151811061031d57fe5b60200260200101906001600160a01b031690816001600160a01b0316815250506003600084838151811061034d57fe5b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000205482828151811061038257fe5b60209081029190910101526001016102dc565b509091565b600060608280602001905160408110156103b357600080fd5b815160208301805160405192949293830192919084600160201b8211156103d957600080fd5b9083019060208201858111156103ee57600080fd5b8251600160201b81118282018810171561040757600080fd5b82525081516020918201929091019080838360005b8381101561043457818101518382015260200161041c565b50505050905090810190601f1680156104615780820380516001836020036101000a031916815260200191505b506040525050509150915060608082806020019051604081101561048457600080fd5b8101908080516040519392919084600160201b8211156104a357600080fd5b9083019060208201858111156104b857600080fd5b82518660208202830111600160201b821117156104d457600080fd5b82525081516020918201928201910280838360005b838110156105015781810151838201526020016104e9565b5050505090500160405260200180516040519392919084600160201b82111561052957600080fd5b90830190602082018581111561053e57600080fd5b82518660208202830111600160201b8211171561055a57600080fd5b82525081516020918201928201910280838360005b8381101561058757818101518382015260200161056f565b5050505090500160405250505091509150600060038111156105a557fe5b8414156105bb576105b6828261077e565b610629565b60018414156105cd576105b68261082a565b60028414156105e0576105b682826108ea565b60038414156105f2576105b682610991565b60405162461bcd60e51b8152600401808060200182810382526026815260200180610b466026913960400191505060405180910390fd5b5050505050565b600054606090819067ffffffffffffffff8111801561064e57600080fd5b50604051908082528060200260200182016040528015610678578160200160208202803683370190505b5060005490925067ffffffffffffffff8111801561069557600080fd5b506040519080825280602002602001820160405280156106bf578160200160208202803683370190505b50905060005b60005481101561039557600081815481106106dc57fe5b9060005260206000200160009054906101000a90046001600160a01b031683828151811061070657fe5b60200260200101906001600160a01b031690816001600160a01b0316815250506002600084838151811061073657fe5b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000205482828151811061076b57fe5b60209081029190910101526001016106c5565b60005b825181101561082557600183828151811061079857fe5b60209081029190910181015182546001810184556000938452919092200180546001600160a01b0319166001600160a01b0390921691909117905581518290829081106107e157fe5b6020026020010151600360008584815181106107f957fe5b6020908102919091018101516001600160a01b0316825281019190915260400160002055600101610781565b505050565b60005b81518110156108e65760006003600084848151811061084857fe5b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000205411156108de5761089e82828151811061088657fe5b60200260200101516001610a4d90919063ffffffff16565b506000600360008484815181106108b157fe5b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020819055505b60010161082d565b5050565b60005b825181101561082557600083828151811061090457fe5b60209081029190910181015182546001810184556000938452919092200180546001600160a01b0319166001600160a01b03909216919091179055815182908290811061094d57fe5b60200260200101516002600085848151811061096557fe5b6020908102919091018101516001600160a01b03168252810191909152604001600020556001016108ed565b60005b81518110156108e6576000600260008484815181106109af57fe5b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020541115610a4557610a058282815181106109ed57fe5b60200260200101516000610a4d90919063ffffffff16565b50600060026000848481518110610a1857fe5b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020819055505b600101610994565b8154600090815b81811015610b3d57836001600160a01b0316858281548110610a7257fe5b6000918252602090912001546001600160a01b03161415610b355760018203811015610b0057846001830381548110610aa757fe5b9060005260206000200160009054906101000a90046001600160a01b0316858281548110610ad157fe5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055505b84805480610b0a57fe5b600082815260209020810160001990810180546001600160a01b031916905501905560019250610b3d565b600101610a54565b50509291505056fe7265636569766543616c6c46726f6d5661756c743a20496e76616c696420616374696f6e4964a164736f6c634300060c000a", - "sourceMap": "563:3942:2:-:0;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b506004361061004c5760003560e01c80634ddf47d41461005157806380daddb8146100f7578063e5c23a9714610198578063ecd658b41461023c575b600080fd5b6100f56004803603602081101561006757600080fd5b810190602081018135600160201b81111561008157600080fd5b82018360208201111561009357600080fd5b803590602001918460018302840111600160201b831117156100b457600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610244945050505050565b005b6100ff610247565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b8381101561014357818101518382015260200161012b565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561018257818101518382015260200161016a565b5050505090500194505050505060405180910390f35b6100f5600480360360208110156101ae57600080fd5b810190602081018135600160201b8111156101c857600080fd5b8201836020820111156101da57600080fd5b803590602001918460018302840111600160201b831117156101fb57600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955061039a945050505050565b6100ff610630565b50565b600154606090819067ffffffffffffffff8111801561026557600080fd5b5060405190808252806020026020018201604052801561028f578160200160208202803683370190505b5060015490925067ffffffffffffffff811180156102ac57600080fd5b506040519080825280602002602001820160405280156102d6578160200160208202803683370190505b50905060005b60015481101561039557600181815481106102f357fe5b9060005260206000200160009054906101000a90046001600160a01b031683828151811061031d57fe5b60200260200101906001600160a01b031690816001600160a01b0316815250506003600084838151811061034d57fe5b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000205482828151811061038257fe5b60209081029190910101526001016102dc565b509091565b600060608280602001905160408110156103b357600080fd5b815160208301805160405192949293830192919084600160201b8211156103d957600080fd5b9083019060208201858111156103ee57600080fd5b8251600160201b81118282018810171561040757600080fd5b82525081516020918201929091019080838360005b8381101561043457818101518382015260200161041c565b50505050905090810190601f1680156104615780820380516001836020036101000a031916815260200191505b506040525050509150915060608082806020019051604081101561048457600080fd5b8101908080516040519392919084600160201b8211156104a357600080fd5b9083019060208201858111156104b857600080fd5b82518660208202830111600160201b821117156104d457600080fd5b82525081516020918201928201910280838360005b838110156105015781810151838201526020016104e9565b5050505090500160405260200180516040519392919084600160201b82111561052957600080fd5b90830190602082018581111561053e57600080fd5b82518660208202830111600160201b8211171561055a57600080fd5b82525081516020918201928201910280838360005b8381101561058757818101518382015260200161056f565b5050505090500160405250505091509150600060038111156105a557fe5b8414156105bb576105b6828261077e565b610629565b60018414156105cd576105b68261082a565b60028414156105e0576105b682826108ea565b60038414156105f2576105b682610991565b60405162461bcd60e51b8152600401808060200182810382526026815260200180610b466026913960400191505060405180910390fd5b5050505050565b600054606090819067ffffffffffffffff8111801561064e57600080fd5b50604051908082528060200260200182016040528015610678578160200160208202803683370190505b5060005490925067ffffffffffffffff8111801561069557600080fd5b506040519080825280602002602001820160405280156106bf578160200160208202803683370190505b50905060005b60005481101561039557600081815481106106dc57fe5b9060005260206000200160009054906101000a90046001600160a01b031683828151811061070657fe5b60200260200101906001600160a01b031690816001600160a01b0316815250506002600084838151811061073657fe5b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000205482828151811061076b57fe5b60209081029190910101526001016106c5565b60005b825181101561082557600183828151811061079857fe5b60209081029190910181015182546001810184556000938452919092200180546001600160a01b0319166001600160a01b0390921691909117905581518290829081106107e157fe5b6020026020010151600360008584815181106107f957fe5b6020908102919091018101516001600160a01b0316825281019190915260400160002055600101610781565b505050565b60005b81518110156108e65760006003600084848151811061084857fe5b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000205411156108de5761089e82828151811061088657fe5b60200260200101516001610a4d90919063ffffffff16565b506000600360008484815181106108b157fe5b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020819055505b60010161082d565b5050565b60005b825181101561082557600083828151811061090457fe5b60209081029190910181015182546001810184556000938452919092200180546001600160a01b0319166001600160a01b03909216919091179055815182908290811061094d57fe5b60200260200101516002600085848151811061096557fe5b6020908102919091018101516001600160a01b03168252810191909152604001600020556001016108ed565b60005b81518110156108e6576000600260008484815181106109af57fe5b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020541115610a4557610a058282815181106109ed57fe5b60200260200101516000610a4d90919063ffffffff16565b50600060026000848481518110610a1857fe5b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020819055505b600101610994565b8154600090815b81811015610b3d57836001600160a01b0316858281548110610a7257fe5b6000918252602090912001546001600160a01b03161415610b355760018203811015610b0057846001830381548110610aa757fe5b9060005260206000200160009054906101000a90046001600160a01b0316858281548110610ad157fe5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055505b84805480610b0a57fe5b600082815260209020810160001990810180546001600160a01b031916905501905560019250610b3d565b600101610a54565b50509291505056fe7265636569766543616c6c46726f6d5661756c743a20496e76616c696420616374696f6e4964a164736f6c634300060c000a", - "sourceMap": "563:3942:2:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1026:48;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1026:48:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1026:48:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1026:48:2;;-1:-1:-1;1026:48:2;;-1:-1:-1;;;;;1026:48:2:i;:::-;;4040:463;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1080:963;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1080:963:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1080:963:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1080:963:2;;-1:-1:-1;1080:963:2;;-1:-1:-1;;;;;1080:963:2:i;3543:445::-;;;:::i;1026:48::-;;:::o;4040:463::-;4210:13;:20;4119:24;;;;4196:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4196:35:2;-1:-1:-1;4266:13:2;:20;4186:45;;-1:-1:-1;4252:35:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4252:35:2;;4241:46;;4303:9;4298:163;4318:13;:20;4314:24;;4298:163;;;4372:13;4386:1;4372:16;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4372:16:2;4359:7;4367:1;4359:10;;;;;;;;;;;;;:29;-1:-1:-1;;;;;4359:29:2;;;-1:-1:-1;;;;;4359:29:2;;;;;4416:22;:34;4439:7;4447:1;4439:10;;;;;;;;;;;;;;-1:-1:-1;;;;;4416:34:2;-1:-1:-1;;;;;4416:34:2;;;;;;;;;;;;;4402:8;4411:1;4402:11;;;;;;;;;;;;;;;;;:48;4340:3;;4298:163;;;;4040:463;;:::o;1080:963::-;1165:16;1183:23;1221:11;1210:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1210:41:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1210:41:2;;;;;;-1:-1:-1;1210:41:2;;;;;;;;;;-1:-1:-1;1210:41:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1164:87;;;;1263:23;1288:24;1340:10;1316:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1316:80:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1316:80:2;;;;;;;;;;;;-1:-1:-1;1316:80:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1316:80:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1316:80:2;;;;;;;;;;;;-1:-1:-1;1316:80:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1262:134;;;;1430:51;1422:60;;;;;;;;1410:8;:72;1406:631;;;1498:35;1517:6;1525:7;1498:18;:35::i;:::-;1406:631;;;1574:54;1554:8;:75;1550:487;;;1645:29;1667:6;1645:21;:29::i;1550:487::-;1715:48;1695:8;:69;1691:346;;;1780:32;1796:6;1804:7;1780:15;:32::i;1691:346::-;1853:51;1833:8;:72;1829:208;;;1921:26;1940:6;1921:18;:26::i;1829:208::-;1978:48;;-1:-1:-1;;;1978:48:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1829:208;1080:963;;;;;:::o;3543:445::-;3710:10;:17;3619:24;;;;3696:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3696:32:2;-1:-1:-1;3763:10:2;:17;3686:42;;-1:-1:-1;3749:32:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3749:32:2;;3738:43;;3797:9;3792:154;3812:10;:17;3808:21;;3792:154;;;3863:10;3874:1;3863:13;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3863:13:2;3850:7;3858:1;3850:10;;;;;;;;;;;;;:26;-1:-1:-1;;;;;3850:26:2;;;-1:-1:-1;;;;;3850:26:2;;;;;3904:19;:31;3924:7;3932:1;3924:10;;;;;;;;;;;;;;-1:-1:-1;;;;;3904:31:2;-1:-1:-1;;;;;3904:31:2;;;;;;;;;;;;;3890:8;3899:1;3890:11;;;;;;;;;;;;;;;;;:45;3831:3;;3792:154;;2443:264;2547:9;2542:159;2562:7;:14;2558:1;:18;2542:159;;;2597:13;2616:7;2624:1;2616:10;;;;;;;;;;;;;;;;;;;2597:30;;;;;;;-1:-1:-1;2597:30:2;;;;;;;;;;-1:-1:-1;;;;;;2597:30:2;-1:-1:-1;;;;;2597:30:2;;;;;;;;;2679:11;;;;2688:1;;2679:11;;;;;;;;;;;;2642:22;:34;2665:7;2673:1;2665:10;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2642:34:2;;;;;;;;;;;-1:-1:-1;2642:34:2;:48;2578:3;;2542:159;;;;2443:264;;:::o;3172:322::-;3252:9;3247:241;3267:7;:14;3263:1;:18;3247:241;;;3343:1;3306:22;:34;3329:7;3337:1;3329:10;;;;;;;;;;;;;;-1:-1:-1;;;;;3306:34:2;-1:-1:-1;;;;;3306:34:2;;;;;;;;;;;;;:38;3302:176;;;3364:43;3396:7;3404:1;3396:10;;;;;;;;;;;;;;3364:13;:31;;:43;;;;:::i;:::-;;3462:1;3425:22;:34;3448:7;3456:1;3448:10;;;;;;;;;;;;;;-1:-1:-1;;;;;3425:34:2;-1:-1:-1;;;;;3425:34:2;;;;;;;;;;;;:38;;;;3302:176;3283:3;;3247:241;;;;3172:322;:::o;2114:255::-;2215:9;2210:153;2230:7;:14;2226:1;:18;2210:153;;;2265:10;2281:7;2289:1;2281:10;;;;;;;;;;;;;;;;;;;2265:27;;;;;;;-1:-1:-1;2265:27:2;;;;;;;;;;-1:-1:-1;;;;;;2265:27:2;-1:-1:-1;;;;;2265:27:2;;;;;;;;;2341:11;;;;2350:1;;2341:11;;;;;;;;;;;;2307:19;:31;2327:7;2335:1;2327:10;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2307:31:2;;;;;;;;;;;-1:-1:-1;2307:31:2;:45;2246:3;;2210:153;;2783:310;2860:9;2855:232;2875:7;:14;2871:1;:18;2855:232;;;2948:1;2914:19;:31;2934:7;2942:1;2934:10;;;;;;;;;;;;;;-1:-1:-1;;;;;2914:31:2;-1:-1:-1;;;;;2914:31:2;;;;;;;;;;;;;:35;2910:167;;;2969:40;2998:7;3006:1;2998:10;;;;;;;;;;;;;;2969;:28;;:40;;;;:::i;:::-;;3061:1;3027:19;:31;3047:7;3055:1;3047:10;;;;;;;;;;;;;;-1:-1:-1;;;;;3027:31:2;-1:-1:-1;;;;;3027:31:2;;;;;;;;;;;;:35;;;;2910:167;2891:3;;2855:232;;569:515:354;727:12;;678:13;;;749:303;769:9;765:1;:13;749:303;;;815:13;-1:-1:-1;;;;;803:25:354;:5;809:1;803:8;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;803:8:354;:25;799:243;;;868:1;856:9;:13;852:1;:17;848:95;;;904:5;922:1;910:9;:13;904:20;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;904:20:354;893:5;899:1;893:8;;;;;;;;;;;;;;;;:31;;;;;-1:-1:-1;;;;;893:31:354;;;;;-1:-1:-1;;;;;893:31:354;;;;;;848:95;960:5;:11;;;;;;;;;;;;;;;;-1:-1:-1;;960:11:354;;;;;-1:-1:-1;;;;;;960:11:354;;;;;;;;-1:-1:-1;1022:5:354;;799:243;780:3;;749:303;;;;1062:15;569:515;;;;:::o", - "linkReferences": {} - }, - "methodIdentifiers": { - "getDebtAssets()": "ecd658b4", - "getManagedAssets()": "80daddb8", - "init(bytes)": "4ddf47d4", - "receiveCallFromVault(bytes)": "e5c23a97" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"getDebtAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"assets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getManagedAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"assets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"}],\"name\":\"receiveCallFromVault\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"getDebtAssets()\":{\"details\":\"Gets the array of debt assets\"},\"getManagedAssets()\":{\"details\":\"Gets the array of managed assets\"}},\"title\":\"MockGenericExternalPosition Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Provides a generic external position to be used on tests\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/mocks/MockGenericExternalPositionLib.sol\":\"MockGenericExternalPositionLib\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/mocks/MockGenericExternalPositionLib.sol\":{\"keccak256\":\"0x344df26366ed2f270a8d2df9a98358d64e1ed6e6d3ae849872248982d868d7bb\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://fd49311ad02851842422f10709db1e3d5835c54771c30e95365889a6165a6a50\",\"dweb:/ipfs/QmdjRriwKitho1byCMznHgsQQGQbhQxjkfGdpvD9de3dST\"]},\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "getDebtAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "assets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "amounts_", - "type": "uint256[]" - } - ] - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "getManagedAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "assets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "amounts_", - "type": "uint256[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "init" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "receiveCallFromVault" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "getDebtAssets()": { - "details": "Gets the array of debt assets" - }, - "getManagedAssets()": { - "details": "Gets the array of managed assets" - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/mocks/MockGenericExternalPositionLib.sol": "MockGenericExternalPositionLib" - }, - "libraries": {} - }, - "sources": { - "contracts/mocks/MockGenericExternalPositionLib.sol": { - "keccak256": "0x344df26366ed2f270a8d2df9a98358d64e1ed6e6d3ae849872248982d868d7bb", - "urls": [ - "bzz-raw://fd49311ad02851842422f10709db1e3d5835c54771c30e95365889a6165a6a50", - "dweb:/ipfs/QmdjRriwKitho1byCMznHgsQQGQbhQxjkfGdpvD9de3dST" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/external-positions/IExternalPosition.sol": { - "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", - "urls": [ - "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", - "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AddressArrayLib.sol": { - "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", - "urls": [ - "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", - "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 2 -} +{ "abi": [ { "type": "function", "name": "getDebtAssets", "inputs": [], "outputs": [ { "name": "assets_", "type": "address[]", "internalType": "address[]" }, { "name": "amounts_", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "getManagedAssets", "inputs": [], "outputs": [ { "name": "assets_", "type": "address[]", "internalType": "address[]" }, { "name": "amounts_", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "init", "inputs": [ { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "receiveCallFromVault", "inputs": [ { "name": "_actionData", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x608060405234801561001057600080fd5b50610b78806100206000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80634ddf47d41461005157806380daddb8146100f7578063e5c23a9714610198578063ecd658b41461023c575b600080fd5b6100f56004803603602081101561006757600080fd5b810190602081018135600160201b81111561008157600080fd5b82018360208201111561009357600080fd5b803590602001918460018302840111600160201b831117156100b457600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610244945050505050565b005b6100ff610247565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b8381101561014357818101518382015260200161012b565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561018257818101518382015260200161016a565b5050505090500194505050505060405180910390f35b6100f5600480360360208110156101ae57600080fd5b810190602081018135600160201b8111156101c857600080fd5b8201836020820111156101da57600080fd5b803590602001918460018302840111600160201b831117156101fb57600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955061039a945050505050565b6100ff610630565b50565b600154606090819067ffffffffffffffff8111801561026557600080fd5b5060405190808252806020026020018201604052801561028f578160200160208202803683370190505b5060015490925067ffffffffffffffff811180156102ac57600080fd5b506040519080825280602002602001820160405280156102d6578160200160208202803683370190505b50905060005b60015481101561039557600181815481106102f357fe5b9060005260206000200160009054906101000a90046001600160a01b031683828151811061031d57fe5b60200260200101906001600160a01b031690816001600160a01b0316815250506003600084838151811061034d57fe5b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000205482828151811061038257fe5b60209081029190910101526001016102dc565b509091565b600060608280602001905160408110156103b357600080fd5b815160208301805160405192949293830192919084600160201b8211156103d957600080fd5b9083019060208201858111156103ee57600080fd5b8251600160201b81118282018810171561040757600080fd5b82525081516020918201929091019080838360005b8381101561043457818101518382015260200161041c565b50505050905090810190601f1680156104615780820380516001836020036101000a031916815260200191505b506040525050509150915060608082806020019051604081101561048457600080fd5b8101908080516040519392919084600160201b8211156104a357600080fd5b9083019060208201858111156104b857600080fd5b82518660208202830111600160201b821117156104d457600080fd5b82525081516020918201928201910280838360005b838110156105015781810151838201526020016104e9565b5050505090500160405260200180516040519392919084600160201b82111561052957600080fd5b90830190602082018581111561053e57600080fd5b82518660208202830111600160201b8211171561055a57600080fd5b82525081516020918201928201910280838360005b8381101561058757818101518382015260200161056f565b5050505090500160405250505091509150600060038111156105a557fe5b8414156105bb576105b6828261077e565b610629565b60018414156105cd576105b68261082a565b60028414156105e0576105b682826108ea565b60038414156105f2576105b682610991565b60405162461bcd60e51b8152600401808060200182810382526026815260200180610b466026913960400191505060405180910390fd5b5050505050565b600054606090819067ffffffffffffffff8111801561064e57600080fd5b50604051908082528060200260200182016040528015610678578160200160208202803683370190505b5060005490925067ffffffffffffffff8111801561069557600080fd5b506040519080825280602002602001820160405280156106bf578160200160208202803683370190505b50905060005b60005481101561039557600081815481106106dc57fe5b9060005260206000200160009054906101000a90046001600160a01b031683828151811061070657fe5b60200260200101906001600160a01b031690816001600160a01b0316815250506002600084838151811061073657fe5b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000205482828151811061076b57fe5b60209081029190910101526001016106c5565b60005b825181101561082557600183828151811061079857fe5b60209081029190910181015182546001810184556000938452919092200180546001600160a01b0319166001600160a01b0390921691909117905581518290829081106107e157fe5b6020026020010151600360008584815181106107f957fe5b6020908102919091018101516001600160a01b0316825281019190915260400160002055600101610781565b505050565b60005b81518110156108e65760006003600084848151811061084857fe5b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000205411156108de5761089e82828151811061088657fe5b60200260200101516001610a4d90919063ffffffff16565b506000600360008484815181106108b157fe5b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020819055505b60010161082d565b5050565b60005b825181101561082557600083828151811061090457fe5b60209081029190910181015182546001810184556000938452919092200180546001600160a01b0319166001600160a01b03909216919091179055815182908290811061094d57fe5b60200260200101516002600085848151811061096557fe5b6020908102919091018101516001600160a01b03168252810191909152604001600020556001016108ed565b60005b81518110156108e6576000600260008484815181106109af57fe5b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020541115610a4557610a058282815181106109ed57fe5b60200260200101516000610a4d90919063ffffffff16565b50600060026000848481518110610a1857fe5b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020819055505b600101610994565b8154600090815b81811015610b3d57836001600160a01b0316858281548110610a7257fe5b6000918252602090912001546001600160a01b03161415610b355760018203811015610b0057846001830381548110610aa757fe5b9060005260206000200160009054906101000a90046001600160a01b0316858281548110610ad157fe5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055505b84805480610b0a57fe5b600082815260209020810160001990810180546001600160a01b031916905501905560019250610b3d565b600101610a54565b50509291505056fe7265636569766543616c6c46726f6d5661756c743a20496e76616c696420616374696f6e4964a164736f6c634300060c000a", "sourceMap": "563:3942:2:-:0;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b506004361061004c5760003560e01c80634ddf47d41461005157806380daddb8146100f7578063e5c23a9714610198578063ecd658b41461023c575b600080fd5b6100f56004803603602081101561006757600080fd5b810190602081018135600160201b81111561008157600080fd5b82018360208201111561009357600080fd5b803590602001918460018302840111600160201b831117156100b457600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610244945050505050565b005b6100ff610247565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b8381101561014357818101518382015260200161012b565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561018257818101518382015260200161016a565b5050505090500194505050505060405180910390f35b6100f5600480360360208110156101ae57600080fd5b810190602081018135600160201b8111156101c857600080fd5b8201836020820111156101da57600080fd5b803590602001918460018302840111600160201b831117156101fb57600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955061039a945050505050565b6100ff610630565b50565b600154606090819067ffffffffffffffff8111801561026557600080fd5b5060405190808252806020026020018201604052801561028f578160200160208202803683370190505b5060015490925067ffffffffffffffff811180156102ac57600080fd5b506040519080825280602002602001820160405280156102d6578160200160208202803683370190505b50905060005b60015481101561039557600181815481106102f357fe5b9060005260206000200160009054906101000a90046001600160a01b031683828151811061031d57fe5b60200260200101906001600160a01b031690816001600160a01b0316815250506003600084838151811061034d57fe5b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000205482828151811061038257fe5b60209081029190910101526001016102dc565b509091565b600060608280602001905160408110156103b357600080fd5b815160208301805160405192949293830192919084600160201b8211156103d957600080fd5b9083019060208201858111156103ee57600080fd5b8251600160201b81118282018810171561040757600080fd5b82525081516020918201929091019080838360005b8381101561043457818101518382015260200161041c565b50505050905090810190601f1680156104615780820380516001836020036101000a031916815260200191505b506040525050509150915060608082806020019051604081101561048457600080fd5b8101908080516040519392919084600160201b8211156104a357600080fd5b9083019060208201858111156104b857600080fd5b82518660208202830111600160201b821117156104d457600080fd5b82525081516020918201928201910280838360005b838110156105015781810151838201526020016104e9565b5050505090500160405260200180516040519392919084600160201b82111561052957600080fd5b90830190602082018581111561053e57600080fd5b82518660208202830111600160201b8211171561055a57600080fd5b82525081516020918201928201910280838360005b8381101561058757818101518382015260200161056f565b5050505090500160405250505091509150600060038111156105a557fe5b8414156105bb576105b6828261077e565b610629565b60018414156105cd576105b68261082a565b60028414156105e0576105b682826108ea565b60038414156105f2576105b682610991565b60405162461bcd60e51b8152600401808060200182810382526026815260200180610b466026913960400191505060405180910390fd5b5050505050565b600054606090819067ffffffffffffffff8111801561064e57600080fd5b50604051908082528060200260200182016040528015610678578160200160208202803683370190505b5060005490925067ffffffffffffffff8111801561069557600080fd5b506040519080825280602002602001820160405280156106bf578160200160208202803683370190505b50905060005b60005481101561039557600081815481106106dc57fe5b9060005260206000200160009054906101000a90046001600160a01b031683828151811061070657fe5b60200260200101906001600160a01b031690816001600160a01b0316815250506002600084838151811061073657fe5b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000205482828151811061076b57fe5b60209081029190910101526001016106c5565b60005b825181101561082557600183828151811061079857fe5b60209081029190910181015182546001810184556000938452919092200180546001600160a01b0319166001600160a01b0390921691909117905581518290829081106107e157fe5b6020026020010151600360008584815181106107f957fe5b6020908102919091018101516001600160a01b0316825281019190915260400160002055600101610781565b505050565b60005b81518110156108e65760006003600084848151811061084857fe5b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000205411156108de5761089e82828151811061088657fe5b60200260200101516001610a4d90919063ffffffff16565b506000600360008484815181106108b157fe5b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020819055505b60010161082d565b5050565b60005b825181101561082557600083828151811061090457fe5b60209081029190910181015182546001810184556000938452919092200180546001600160a01b0319166001600160a01b03909216919091179055815182908290811061094d57fe5b60200260200101516002600085848151811061096557fe5b6020908102919091018101516001600160a01b03168252810191909152604001600020556001016108ed565b60005b81518110156108e6576000600260008484815181106109af57fe5b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020541115610a4557610a058282815181106109ed57fe5b60200260200101516000610a4d90919063ffffffff16565b50600060026000848481518110610a1857fe5b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020819055505b600101610994565b8154600090815b81811015610b3d57836001600160a01b0316858281548110610a7257fe5b6000918252602090912001546001600160a01b03161415610b355760018203811015610b0057846001830381548110610aa757fe5b9060005260206000200160009054906101000a90046001600160a01b0316858281548110610ad157fe5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055505b84805480610b0a57fe5b600082815260209020810160001990810180546001600160a01b031916905501905560019250610b3d565b600101610a54565b50509291505056fe7265636569766543616c6c46726f6d5661756c743a20496e76616c696420616374696f6e4964a164736f6c634300060c000a", "sourceMap": "563:3942:2:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1026:48;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1026:48:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1026:48:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1026:48:2;;-1:-1:-1;1026:48:2;;-1:-1:-1;;;;;1026:48:2:i;:::-;;4040:463;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1080:963;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1080:963:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1080:963:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1080:963:2;;-1:-1:-1;1080:963:2;;-1:-1:-1;;;;;1080:963:2:i;3543:445::-;;;:::i;1026:48::-;;:::o;4040:463::-;4210:13;:20;4119:24;;;;4196:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4196:35:2;-1:-1:-1;4266:13:2;:20;4186:45;;-1:-1:-1;4252:35:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4252:35:2;;4241:46;;4303:9;4298:163;4318:13;:20;4314:24;;4298:163;;;4372:13;4386:1;4372:16;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4372:16:2;4359:7;4367:1;4359:10;;;;;;;;;;;;;:29;-1:-1:-1;;;;;4359:29:2;;;-1:-1:-1;;;;;4359:29:2;;;;;4416:22;:34;4439:7;4447:1;4439:10;;;;;;;;;;;;;;-1:-1:-1;;;;;4416:34:2;-1:-1:-1;;;;;4416:34:2;;;;;;;;;;;;;4402:8;4411:1;4402:11;;;;;;;;;;;;;;;;;:48;4340:3;;4298:163;;;;4040:463;;:::o;1080:963::-;1165:16;1183:23;1221:11;1210:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1210:41:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1210:41:2;;;;;;-1:-1:-1;1210:41:2;;;;;;;;;;-1:-1:-1;1210:41:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1164:87;;;;1263:23;1288:24;1340:10;1316:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1316:80:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1316:80:2;;;;;;;;;;;;-1:-1:-1;1316:80:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1316:80:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1316:80:2;;;;;;;;;;;;-1:-1:-1;1316:80:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1262:134;;;;1430:51;1422:60;;;;;;;;1410:8;:72;1406:631;;;1498:35;1517:6;1525:7;1498:18;:35::i;:::-;1406:631;;;1574:54;1554:8;:75;1550:487;;;1645:29;1667:6;1645:21;:29::i;1550:487::-;1715:48;1695:8;:69;1691:346;;;1780:32;1796:6;1804:7;1780:15;:32::i;1691:346::-;1853:51;1833:8;:72;1829:208;;;1921:26;1940:6;1921:18;:26::i;1829:208::-;1978:48;;-1:-1:-1;;;1978:48:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1829:208;1080:963;;;;;:::o;3543:445::-;3710:10;:17;3619:24;;;;3696:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3696:32:2;-1:-1:-1;3763:10:2;:17;3686:42;;-1:-1:-1;3749:32:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3749:32:2;;3738:43;;3797:9;3792:154;3812:10;:17;3808:21;;3792:154;;;3863:10;3874:1;3863:13;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3863:13:2;3850:7;3858:1;3850:10;;;;;;;;;;;;;:26;-1:-1:-1;;;;;3850:26:2;;;-1:-1:-1;;;;;3850:26:2;;;;;3904:19;:31;3924:7;3932:1;3924:10;;;;;;;;;;;;;;-1:-1:-1;;;;;3904:31:2;-1:-1:-1;;;;;3904:31:2;;;;;;;;;;;;;3890:8;3899:1;3890:11;;;;;;;;;;;;;;;;;:45;3831:3;;3792:154;;2443:264;2547:9;2542:159;2562:7;:14;2558:1;:18;2542:159;;;2597:13;2616:7;2624:1;2616:10;;;;;;;;;;;;;;;;;;;2597:30;;;;;;;-1:-1:-1;2597:30:2;;;;;;;;;;-1:-1:-1;;;;;;2597:30:2;-1:-1:-1;;;;;2597:30:2;;;;;;;;;2679:11;;;;2688:1;;2679:11;;;;;;;;;;;;2642:22;:34;2665:7;2673:1;2665:10;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2642:34:2;;;;;;;;;;;-1:-1:-1;2642:34:2;:48;2578:3;;2542:159;;;;2443:264;;:::o;3172:322::-;3252:9;3247:241;3267:7;:14;3263:1;:18;3247:241;;;3343:1;3306:22;:34;3329:7;3337:1;3329:10;;;;;;;;;;;;;;-1:-1:-1;;;;;3306:34:2;-1:-1:-1;;;;;3306:34:2;;;;;;;;;;;;;:38;3302:176;;;3364:43;3396:7;3404:1;3396:10;;;;;;;;;;;;;;3364:13;:31;;:43;;;;:::i;:::-;;3462:1;3425:22;:34;3448:7;3456:1;3448:10;;;;;;;;;;;;;;-1:-1:-1;;;;;3425:34:2;-1:-1:-1;;;;;3425:34:2;;;;;;;;;;;;:38;;;;3302:176;3283:3;;3247:241;;;;3172:322;:::o;2114:255::-;2215:9;2210:153;2230:7;:14;2226:1;:18;2210:153;;;2265:10;2281:7;2289:1;2281:10;;;;;;;;;;;;;;;;;;;2265:27;;;;;;;-1:-1:-1;2265:27:2;;;;;;;;;;-1:-1:-1;;;;;;2265:27:2;-1:-1:-1;;;;;2265:27:2;;;;;;;;;2341:11;;;;2350:1;;2341:11;;;;;;;;;;;;2307:19;:31;2327:7;2335:1;2327:10;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2307:31:2;;;;;;;;;;;-1:-1:-1;2307:31:2;:45;2246:3;;2210:153;;2783:310;2860:9;2855:232;2875:7;:14;2871:1;:18;2855:232;;;2948:1;2914:19;:31;2934:7;2942:1;2934:10;;;;;;;;;;;;;;-1:-1:-1;;;;;2914:31:2;-1:-1:-1;;;;;2914:31:2;;;;;;;;;;;;;:35;2910:167;;;2969:40;2998:7;3006:1;2998:10;;;;;;;;;;;;;;2969;:28;;:40;;;;:::i;:::-;;3061:1;3027:19;:31;3047:7;3055:1;3047:10;;;;;;;;;;;;;;-1:-1:-1;;;;;3027:31:2;-1:-1:-1;;;;;3027:31:2;;;;;;;;;;;;:35;;;;2910:167;2891:3;;2855:232;;569:515:354;727:12;;678:13;;;749:303;769:9;765:1;:13;749:303;;;815:13;-1:-1:-1;;;;;803:25:354;:5;809:1;803:8;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;803:8:354;:25;799:243;;;868:1;856:9;:13;852:1;:17;848:95;;;904:5;922:1;910:9;:13;904:20;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;904:20:354;893:5;899:1;893:8;;;;;;;;;;;;;;;;:31;;;;;-1:-1:-1;;;;;893:31:354;;;;;-1:-1:-1;;;;;893:31:354;;;;;;848:95;960:5;:11;;;;;;;;;;;;;;;;-1:-1:-1;;960:11:354;;;;;-1:-1:-1;;;;;;960:11:354;;;;;;;;-1:-1:-1;1022:5:354;;799:243;780:3;;749:303;;;;1062:15;569:515;;;;:::o", "linkReferences": {} }, "methodIdentifiers": { "getDebtAssets()": "ecd658b4", "getManagedAssets()": "80daddb8", "init(bytes)": "4ddf47d4", "receiveCallFromVault(bytes)": "e5c23a97" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"getDebtAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"assets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getManagedAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"assets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"}],\"name\":\"receiveCallFromVault\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"getDebtAssets()\":{\"details\":\"Gets the array of debt assets\"},\"getManagedAssets()\":{\"details\":\"Gets the array of managed assets\"}},\"title\":\"MockGenericExternalPosition Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Provides a generic external position to be used on tests\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/mocks/MockGenericExternalPositionLib.sol\":\"MockGenericExternalPositionLib\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/mocks/MockGenericExternalPositionLib.sol\":{\"keccak256\":\"0x344df26366ed2f270a8d2df9a98358d64e1ed6e6d3ae849872248982d868d7bb\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://fd49311ad02851842422f10709db1e3d5835c54771c30e95365889a6165a6a50\",\"dweb:/ipfs/QmdjRriwKitho1byCMznHgsQQGQbhQxjkfGdpvD9de3dST\"]},\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "getDebtAssets", "outputs": [ { "internalType": "address[]", "name": "assets_", "type": "address[]" }, { "internalType": "uint256[]", "name": "amounts_", "type": "uint256[]" } ] }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "getManagedAssets", "outputs": [ { "internalType": "address[]", "name": "assets_", "type": "address[]" }, { "internalType": "uint256[]", "name": "amounts_", "type": "uint256[]" } ] }, { "inputs": [ { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "init" }, { "inputs": [ { "internalType": "bytes", "name": "_actionData", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "receiveCallFromVault" } ], "devdoc": { "kind": "dev", "methods": { "getDebtAssets()": { "details": "Gets the array of debt assets" }, "getManagedAssets()": { "details": "Gets the array of managed assets" } }, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/mocks/MockGenericExternalPositionLib.sol": "MockGenericExternalPositionLib" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/mocks/MockGenericExternalPositionLib.sol": { "keccak256": "0x344df26366ed2f270a8d2df9a98358d64e1ed6e6d3ae849872248982d868d7bb", "urls": [ "bzz-raw://fd49311ad02851842422f10709db1e3d5835c54771c30e95365889a6165a6a50", "dweb:/ipfs/QmdjRriwKitho1byCMznHgsQQGQbhQxjkfGdpvD9de3dST" ], "license": "GPL-3.0" }, "contracts/persistent/external-positions/IExternalPosition.sol": { "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", "urls": [ "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" ], "license": "GPL-3.0" }, "contracts/release/utils/AddressArrayLib.sol": { "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", "urls": [ "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 2 } diff --git a/eth_defi/abi/enzyme/MockGenericExternalPositionParser.json b/eth_defi/abi/enzyme/MockGenericExternalPositionParser.json index 0c797bfa..15037efe 100644 --- a/eth_defi/abi/enzyme/MockGenericExternalPositionParser.json +++ b/eth_defi/abi/enzyme/MockGenericExternalPositionParser.json @@ -1,342 +1 @@ -{ - "abi": [ - { - "inputs": [], - "name": "getInitArgs", - "outputs": [ - { - "internalType": "bytes", - "name": "initArgs_", - "type": "bytes" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_actionId", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "parseAssetsForAction", - "outputs": [ - { - "internalType": "address[]", - "name": "assetsToTransfer_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "amountsToTransfer_", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "assetsToReceive_", - "type": "address[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "parseInitArgs", - "outputs": [ - { - "internalType": "bytes", - "name": "initArgs_", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "actionId", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "_assetsToTransfer", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "_amountsToTransfer", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "_assetsToReceive", - "type": "address[]" - } - ], - "name": "setAssetsForAction", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "_initArgs", - "type": "bytes" - } - ], - "name": "setInitArgs", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x608060405234801561001057600080fd5b50610a0a806100206000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c80630b48f7891461005c578063896d62961461020a578063bbd2d646146102ae578063c5dcfaf514610445578063db16c72e146104c2575b600080fd5b6102086004803603608081101561007257600080fd5b81359190810190604081016020820135600160201b81111561009357600080fd5b8201836020820111156100a557600080fd5b803590602001918460208302840111600160201b831117156100c657600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b81111561011557600080fd5b82018360208201111561012757600080fd5b803590602001918460208302840111600160201b8311171561014857600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b81111561019757600080fd5b8201836020820111156101a957600080fd5b803590602001918460208302840111600160201b831117156101ca57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610576945050505050565b005b6102086004803603602081101561022057600080fd5b810190602081018135600160201b81111561023a57600080fd5b82018360208201111561024c57600080fd5b803590602001918460018302840111600160201b8311171561026d57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506105f1945050505050565b610367600480360360608110156102c457600080fd5b6001600160a01b0382351691602081013591810190606081016040820135600160201b8111156102f357600080fd5b82018360208201111561030557600080fd5b803590602001918460018302840111600160201b8311171561032657600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610608945050505050565b60405180806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b838110156103af578181015183820152602001610397565b50505050905001848103835286818151815260200191508051906020019060200280838360005b838110156103ee5781810151838201526020016103d6565b50505050905001848103825285818151815260200191508051906020019060200280838360005b8381101561042d578181015183820152602001610415565b50505050905001965050505050505060405180910390f35b61044d610760565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561048757818101518382015260200161046f565b50505050905090810190601f1680156104b45780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61044d600480360360408110156104d857600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561050257600080fd5b82018360208201111561051457600080fd5b803590602001918460018302840111600160201b8311171561053557600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506107f6945050505050565b6040805160608101825284815260208082018590528183018490526000878152600182529290922081518051929391926105b3928492019061088f565b5060208281015180516105cc92600185019201906108f4565b50604082015180516105e891600284019160209091019061088f565b50505050505050565b805161060490600090602084019061093b565b5050565b60608060606106156109a8565b6000868152600160209081526040918290208251815460809381028201840190945260608101848152909391928492849184018282801561067f57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610661575b50505050508152602001600182018054806020026020016040519081016040528092919081815260200182805480156106d757602002820191906000526020600020905b8154815260200190600101908083116106c3575b505050505081526020016002820180548060200260200160405190810160405280929190818152602001828054801561073957602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161071b575b50505091909252505081516020830151604090930151909a92995097509095505050505050565b60008054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156107ec5780601f106107c1576101008083540402835291602001916107ec565b820191906000526020600020905b8154815290600101906020018083116107cf57829003601f168201915b5050505050905090565b60008054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156108825780601f1061085757610100808354040283529160200191610882565b820191906000526020600020905b81548152906001019060200180831161086557829003601f168201915b5050505050905092915050565b8280548282559060005260206000209081019282156108e4579160200282015b828111156108e457825182546001600160a01b0319166001600160a01b039091161782556020909201916001909101906108af565b506108f09291506109c9565b5090565b82805482825590600052602060002090810192821561092f579160200282015b8281111561092f578251825591602001919060010190610914565b506108f09291506109e8565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061097c57805160ff191683800117855561092f565b8280016001018555821561092f579182018281111561092f578251825591602001919060010190610914565b60405180606001604052806060815260200160608152602001606081525090565b5b808211156108f05780546001600160a01b03191681556001016109ca565b5b808211156108f057600081556001016109e956fea164736f6c634300060c000a", - "sourceMap": "569:1960:3:-:0;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106100575760003560e01c80630b48f7891461005c578063896d62961461020a578063bbd2d646146102ae578063c5dcfaf514610445578063db16c72e146104c2575b600080fd5b6102086004803603608081101561007257600080fd5b81359190810190604081016020820135600160201b81111561009357600080fd5b8201836020820111156100a557600080fd5b803590602001918460208302840111600160201b831117156100c657600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b81111561011557600080fd5b82018360208201111561012757600080fd5b803590602001918460208302840111600160201b8311171561014857600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b81111561019757600080fd5b8201836020820111156101a957600080fd5b803590602001918460208302840111600160201b831117156101ca57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610576945050505050565b005b6102086004803603602081101561022057600080fd5b810190602081018135600160201b81111561023a57600080fd5b82018360208201111561024c57600080fd5b803590602001918460018302840111600160201b8311171561026d57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506105f1945050505050565b610367600480360360608110156102c457600080fd5b6001600160a01b0382351691602081013591810190606081016040820135600160201b8111156102f357600080fd5b82018360208201111561030557600080fd5b803590602001918460018302840111600160201b8311171561032657600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610608945050505050565b60405180806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b838110156103af578181015183820152602001610397565b50505050905001848103835286818151815260200191508051906020019060200280838360005b838110156103ee5781810151838201526020016103d6565b50505050905001848103825285818151815260200191508051906020019060200280838360005b8381101561042d578181015183820152602001610415565b50505050905001965050505050505060405180910390f35b61044d610760565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561048757818101518382015260200161046f565b50505050905090810190601f1680156104b45780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61044d600480360360408110156104d857600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561050257600080fd5b82018360208201111561051457600080fd5b803590602001918460018302840111600160201b8311171561053557600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506107f6945050505050565b6040805160608101825284815260208082018590528183018490526000878152600182529290922081518051929391926105b3928492019061088f565b5060208281015180516105cc92600185019201906108f4565b50604082015180516105e891600284019160209091019061088f565b50505050505050565b805161060490600090602084019061093b565b5050565b60608060606106156109a8565b6000868152600160209081526040918290208251815460809381028201840190945260608101848152909391928492849184018282801561067f57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610661575b50505050508152602001600182018054806020026020016040519081016040528092919081815260200182805480156106d757602002820191906000526020600020905b8154815260200190600101908083116106c3575b505050505081526020016002820180548060200260200160405190810160405280929190818152602001828054801561073957602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161071b575b50505091909252505081516020830151604090930151909a92995097509095505050505050565b60008054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156107ec5780601f106107c1576101008083540402835291602001916107ec565b820191906000526020600020905b8154815290600101906020018083116107cf57829003601f168201915b5050505050905090565b60008054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156108825780601f1061085757610100808354040283529160200191610882565b820191906000526020600020905b81548152906001019060200180831161086557829003601f168201915b5050505050905092915050565b8280548282559060005260206000209081019282156108e4579160200282015b828111156108e457825182546001600160a01b0319166001600160a01b039091161782556020909201916001909101906108af565b506108f09291506109c9565b5090565b82805482825590600052602060002090810192821561092f579160200282015b8281111561092f578251825591602001919060010190610914565b506108f09291506109e8565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061097c57805160ff191683800117855561092f565b8280016001018555821561092f579182018281111561092f578251825591602001919060010190610914565b60405180606001604052806060815260200160608152602001606081525090565b5b808211156108f05780546001600160a01b03191681556001016109ca565b5b808211156108f057600081556001016109e956fea164736f6c634300060c000a", - "sourceMap": "569:1960:3:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1608:430;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1608:430:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1608:430:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1608:430:3;;;;;;;;-1:-1:-1;1608:430:3;;-1:-1:-1;;;;;1608:430:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1608:430:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1608:430:3;;;;;;;;-1:-1:-1;1608:430:3;;-1:-1:-1;;;;;1608:430:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1608:430:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1608:430:3;;-1:-1:-1;1608:430:3;;-1:-1:-1;;;;;1608:430:3:i;:::-;;2084:91;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2084:91:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2084:91:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2084:91:3;;-1:-1:-1;2084:91:3;;-1:-1:-1;;;;;2084:91:3:i;971:570::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;971:570:3;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;971:570:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;971:570:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;971:570:3;;-1:-1:-1;971:570:3;;-1:-1:-1;;;;;971:570:3:i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2427:100;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2221:157;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2221:157:3;;;;;;;;;;;;;;;-1:-1:-1;;;2221:157:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2221:157:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2221:157:3;;-1:-1:-1;2221:157:3;;-1:-1:-1;;;;;2221:157:3:i;1608:430::-;1857:174;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1819:35:3;;;:25;:35;;;;;;:212;;;;1857:174;;1819:35;;:212;;:35;;:212;;;:::i;:::-;-1:-1:-1;1819:212:3;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;1819:212:3;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;1608:430:3:o;2084:91::-;2148:20;;;;:8;;:20;;;;;:::i;:::-;;2084:91;:::o;971:570::-;1137:34;1185:35;1234:33;1292:38;;:::i;:::-;1333:36;;;;:25;:36;;;;;;;;;1292:77;;;;;;;;;;;;;;;;;;;;;;;1333:36;;1292:77;;1333:36;;1292:77;;1333:36;1292:77;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1292:77:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1292:77:3;;;;;;;;;;;;;;;;-1:-1:-1;;;1292:77:3;;;;-1:-1:-1;;1400:32:3;;1446:33;;;;1493:31;;;;;1400:32;;1446:33;;-1:-1:-1;1493:31:3;-1:-1:-1;971:570:3;;-1:-1:-1;;;;;;971:570:3:o;2427:100::-;2512:8;2505:15;;;;;;;;-1:-1:-1;;2505:15:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2471:22;;2505:15;;2512:8;;2505:15;;2512:8;2505:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2427:100;:::o;2221:157::-;2363:8;2356:15;;;;;;;;-1:-1:-1;;2356:15:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2318:22;;2356:15;;2363:8;;2356:15;;2363:8;2356:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2221:157;;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "methodIdentifiers": { - "getInitArgs()": "c5dcfaf5", - "parseAssetsForAction(address,uint256,bytes)": "bbd2d646", - "parseInitArgs(address,bytes)": "db16c72e", - "setAssetsForAction(uint256,address[],uint256[],address[])": "0b48f789", - "setInitArgs(bytes)": "896d6296" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"getInitArgs\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"initArgs_\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_actionId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"parseAssetsForAction\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"assetsToTransfer_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amountsToTransfer_\",\"type\":\"uint256[]\"},{\"internalType\":\"address[]\",\"name\":\"assetsToReceive_\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"parseInitArgs\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"initArgs_\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"actionId\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"_assetsToTransfer\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"_amountsToTransfer\",\"type\":\"uint256[]\"},{\"internalType\":\"address[]\",\"name\":\"_assetsToReceive\",\"type\":\"address[]\"}],\"name\":\"setAssetsForAction\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_initArgs\",\"type\":\"bytes\"}],\"name\":\"setInitArgs\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"getInitArgs()\":{\"details\":\"Returns the initArgs variable\"},\"parseAssetsForAction(address,uint256,bytes)\":{\"details\":\"Returns the default assetsForAction stored for a given actionID\"},\"parseInitArgs(address,bytes)\":{\"details\":\"Sets the initArgs variable\"},\"setAssetsForAction(uint256,address[],uint256[],address[])\":{\"details\":\"Sets the assets for action for a given actionId\"},\"setInitArgs(bytes)\":{\"details\":\"Sets the initArgs variable\"}},\"title\":\"MockGenericExternalPositionParser Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Provides a generic external position parser to be used on tests\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/mocks/MockGenericExternalPositionParser.sol\":\"MockGenericExternalPositionParser\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/mocks/MockGenericExternalPositionParser.sol\":{\"keccak256\":\"0x3ad7b6948ef83bcd6704b4196e4233050c57875402f980bf670bb84a5f6a586e\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://296f429f057ddfa787c4a719ff3ee2fe440261fc638394f8bf3ac6955244be02\",\"dweb:/ipfs/QmX1s6QuqBMxnt8m5SaQ73KKb1Gzrp9KBBdYkEhC9syYP6\"]},\"contracts/release/extensions/external-position-manager/external-positions/IExternalPositionParser.sol\":{\"keccak256\":\"0x1662fbd65841ee5e9cf8d5329b9d04c264b24ef68ae1e0484e59a8969b0d2c46\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://580569b0f875e0344db83fae1e72dcc6c0767a049b2a6cc3e4f3c411d2284b27\",\"dweb:/ipfs/QmXFmF9QbcVsPHaBo1iq8sZHYhDkwfkMZpHmLTuJJ37NvZ\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getInitArgs", - "outputs": [ - { - "internalType": "bytes", - "name": "initArgs_", - "type": "bytes" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_actionId", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "parseAssetsForAction", - "outputs": [ - { - "internalType": "address[]", - "name": "assetsToTransfer_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "amountsToTransfer_", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "assetsToReceive_", - "type": "address[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "parseInitArgs", - "outputs": [ - { - "internalType": "bytes", - "name": "initArgs_", - "type": "bytes" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "actionId", - "type": "uint256" - }, - { - "internalType": "address[]", - "name": "_assetsToTransfer", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "_amountsToTransfer", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "_assetsToReceive", - "type": "address[]" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setAssetsForAction" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "_initArgs", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setInitArgs" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "getInitArgs()": { - "details": "Returns the initArgs variable" - }, - "parseAssetsForAction(address,uint256,bytes)": { - "details": "Returns the default assetsForAction stored for a given actionID" - }, - "parseInitArgs(address,bytes)": { - "details": "Sets the initArgs variable" - }, - "setAssetsForAction(uint256,address[],uint256[],address[])": { - "details": "Sets the assets for action for a given actionId" - }, - "setInitArgs(bytes)": { - "details": "Sets the initArgs variable" - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/mocks/MockGenericExternalPositionParser.sol": "MockGenericExternalPositionParser" - }, - "libraries": {} - }, - "sources": { - "contracts/mocks/MockGenericExternalPositionParser.sol": { - "keccak256": "0x3ad7b6948ef83bcd6704b4196e4233050c57875402f980bf670bb84a5f6a586e", - "urls": [ - "bzz-raw://296f429f057ddfa787c4a719ff3ee2fe440261fc638394f8bf3ac6955244be02", - "dweb:/ipfs/QmX1s6QuqBMxnt8m5SaQ73KKb1Gzrp9KBBdYkEhC9syYP6" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/IExternalPositionParser.sol": { - "keccak256": "0x1662fbd65841ee5e9cf8d5329b9d04c264b24ef68ae1e0484e59a8969b0d2c46", - "urls": [ - "bzz-raw://580569b0f875e0344db83fae1e72dcc6c0767a049b2a6cc3e4f3c411d2284b27", - "dweb:/ipfs/QmXFmF9QbcVsPHaBo1iq8sZHYhDkwfkMZpHmLTuJJ37NvZ" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 3 -} +{ "abi": [ { "type": "function", "name": "getInitArgs", "inputs": [], "outputs": [ { "name": "initArgs_", "type": "bytes", "internalType": "bytes" } ], "stateMutability": "view" }, { "type": "function", "name": "parseAssetsForAction", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "_actionId", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [ { "name": "assetsToTransfer_", "type": "address[]", "internalType": "address[]" }, { "name": "amountsToTransfer_", "type": "uint256[]", "internalType": "uint256[]" }, { "name": "assetsToReceive_", "type": "address[]", "internalType": "address[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "parseInitArgs", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [ { "name": "initArgs_", "type": "bytes", "internalType": "bytes" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "setAssetsForAction", "inputs": [ { "name": "actionId", "type": "uint256", "internalType": "uint256" }, { "name": "_assetsToTransfer", "type": "address[]", "internalType": "address[]" }, { "name": "_amountsToTransfer", "type": "uint256[]", "internalType": "uint256[]" }, { "name": "_assetsToReceive", "type": "address[]", "internalType": "address[]" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setInitArgs", "inputs": [ { "name": "_initArgs", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x608060405234801561001057600080fd5b50610a0a806100206000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c80630b48f7891461005c578063896d62961461020a578063bbd2d646146102ae578063c5dcfaf514610445578063db16c72e146104c2575b600080fd5b6102086004803603608081101561007257600080fd5b81359190810190604081016020820135600160201b81111561009357600080fd5b8201836020820111156100a557600080fd5b803590602001918460208302840111600160201b831117156100c657600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b81111561011557600080fd5b82018360208201111561012757600080fd5b803590602001918460208302840111600160201b8311171561014857600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b81111561019757600080fd5b8201836020820111156101a957600080fd5b803590602001918460208302840111600160201b831117156101ca57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610576945050505050565b005b6102086004803603602081101561022057600080fd5b810190602081018135600160201b81111561023a57600080fd5b82018360208201111561024c57600080fd5b803590602001918460018302840111600160201b8311171561026d57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506105f1945050505050565b610367600480360360608110156102c457600080fd5b6001600160a01b0382351691602081013591810190606081016040820135600160201b8111156102f357600080fd5b82018360208201111561030557600080fd5b803590602001918460018302840111600160201b8311171561032657600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610608945050505050565b60405180806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b838110156103af578181015183820152602001610397565b50505050905001848103835286818151815260200191508051906020019060200280838360005b838110156103ee5781810151838201526020016103d6565b50505050905001848103825285818151815260200191508051906020019060200280838360005b8381101561042d578181015183820152602001610415565b50505050905001965050505050505060405180910390f35b61044d610760565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561048757818101518382015260200161046f565b50505050905090810190601f1680156104b45780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61044d600480360360408110156104d857600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561050257600080fd5b82018360208201111561051457600080fd5b803590602001918460018302840111600160201b8311171561053557600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506107f6945050505050565b6040805160608101825284815260208082018590528183018490526000878152600182529290922081518051929391926105b3928492019061088f565b5060208281015180516105cc92600185019201906108f4565b50604082015180516105e891600284019160209091019061088f565b50505050505050565b805161060490600090602084019061093b565b5050565b60608060606106156109a8565b6000868152600160209081526040918290208251815460809381028201840190945260608101848152909391928492849184018282801561067f57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610661575b50505050508152602001600182018054806020026020016040519081016040528092919081815260200182805480156106d757602002820191906000526020600020905b8154815260200190600101908083116106c3575b505050505081526020016002820180548060200260200160405190810160405280929190818152602001828054801561073957602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161071b575b50505091909252505081516020830151604090930151909a92995097509095505050505050565b60008054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156107ec5780601f106107c1576101008083540402835291602001916107ec565b820191906000526020600020905b8154815290600101906020018083116107cf57829003601f168201915b5050505050905090565b60008054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156108825780601f1061085757610100808354040283529160200191610882565b820191906000526020600020905b81548152906001019060200180831161086557829003601f168201915b5050505050905092915050565b8280548282559060005260206000209081019282156108e4579160200282015b828111156108e457825182546001600160a01b0319166001600160a01b039091161782556020909201916001909101906108af565b506108f09291506109c9565b5090565b82805482825590600052602060002090810192821561092f579160200282015b8281111561092f578251825591602001919060010190610914565b506108f09291506109e8565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061097c57805160ff191683800117855561092f565b8280016001018555821561092f579182018281111561092f578251825591602001919060010190610914565b60405180606001604052806060815260200160608152602001606081525090565b5b808211156108f05780546001600160a01b03191681556001016109ca565b5b808211156108f057600081556001016109e956fea164736f6c634300060c000a", "sourceMap": "569:1960:3:-:0;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106100575760003560e01c80630b48f7891461005c578063896d62961461020a578063bbd2d646146102ae578063c5dcfaf514610445578063db16c72e146104c2575b600080fd5b6102086004803603608081101561007257600080fd5b81359190810190604081016020820135600160201b81111561009357600080fd5b8201836020820111156100a557600080fd5b803590602001918460208302840111600160201b831117156100c657600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b81111561011557600080fd5b82018360208201111561012757600080fd5b803590602001918460208302840111600160201b8311171561014857600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295949360208101935035915050600160201b81111561019757600080fd5b8201836020820111156101a957600080fd5b803590602001918460208302840111600160201b831117156101ca57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610576945050505050565b005b6102086004803603602081101561022057600080fd5b810190602081018135600160201b81111561023a57600080fd5b82018360208201111561024c57600080fd5b803590602001918460018302840111600160201b8311171561026d57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506105f1945050505050565b610367600480360360608110156102c457600080fd5b6001600160a01b0382351691602081013591810190606081016040820135600160201b8111156102f357600080fd5b82018360208201111561030557600080fd5b803590602001918460018302840111600160201b8311171561032657600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610608945050505050565b60405180806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b838110156103af578181015183820152602001610397565b50505050905001848103835286818151815260200191508051906020019060200280838360005b838110156103ee5781810151838201526020016103d6565b50505050905001848103825285818151815260200191508051906020019060200280838360005b8381101561042d578181015183820152602001610415565b50505050905001965050505050505060405180910390f35b61044d610760565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561048757818101518382015260200161046f565b50505050905090810190601f1680156104b45780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61044d600480360360408110156104d857600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561050257600080fd5b82018360208201111561051457600080fd5b803590602001918460018302840111600160201b8311171561053557600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506107f6945050505050565b6040805160608101825284815260208082018590528183018490526000878152600182529290922081518051929391926105b3928492019061088f565b5060208281015180516105cc92600185019201906108f4565b50604082015180516105e891600284019160209091019061088f565b50505050505050565b805161060490600090602084019061093b565b5050565b60608060606106156109a8565b6000868152600160209081526040918290208251815460809381028201840190945260608101848152909391928492849184018282801561067f57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610661575b50505050508152602001600182018054806020026020016040519081016040528092919081815260200182805480156106d757602002820191906000526020600020905b8154815260200190600101908083116106c3575b505050505081526020016002820180548060200260200160405190810160405280929190818152602001828054801561073957602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161071b575b50505091909252505081516020830151604090930151909a92995097509095505050505050565b60008054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156107ec5780601f106107c1576101008083540402835291602001916107ec565b820191906000526020600020905b8154815290600101906020018083116107cf57829003601f168201915b5050505050905090565b60008054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156108825780601f1061085757610100808354040283529160200191610882565b820191906000526020600020905b81548152906001019060200180831161086557829003601f168201915b5050505050905092915050565b8280548282559060005260206000209081019282156108e4579160200282015b828111156108e457825182546001600160a01b0319166001600160a01b039091161782556020909201916001909101906108af565b506108f09291506109c9565b5090565b82805482825590600052602060002090810192821561092f579160200282015b8281111561092f578251825591602001919060010190610914565b506108f09291506109e8565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061097c57805160ff191683800117855561092f565b8280016001018555821561092f579182018281111561092f578251825591602001919060010190610914565b60405180606001604052806060815260200160608152602001606081525090565b5b808211156108f05780546001600160a01b03191681556001016109ca565b5b808211156108f057600081556001016109e956fea164736f6c634300060c000a", "sourceMap": "569:1960:3:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1608:430;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1608:430:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1608:430:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1608:430:3;;;;;;;;-1:-1:-1;1608:430:3;;-1:-1:-1;;;;;1608:430:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1608:430:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1608:430:3;;;;;;;;-1:-1:-1;1608:430:3;;-1:-1:-1;;;;;1608:430:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1608:430:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1608:430:3;;-1:-1:-1;1608:430:3;;-1:-1:-1;;;;;1608:430:3:i;:::-;;2084:91;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2084:91:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2084:91:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2084:91:3;;-1:-1:-1;2084:91:3;;-1:-1:-1;;;;;2084:91:3:i;971:570::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;971:570:3;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;971:570:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;971:570:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;971:570:3;;-1:-1:-1;971:570:3;;-1:-1:-1;;;;;971:570:3:i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2427:100;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2221:157;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2221:157:3;;;;;;;;;;;;;;;-1:-1:-1;;;2221:157:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2221:157:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2221:157:3;;-1:-1:-1;2221:157:3;;-1:-1:-1;;;;;2221:157:3:i;1608:430::-;1857:174;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1819:35:3;;;:25;:35;;;;;;:212;;;;1857:174;;1819:35;;:212;;:35;;:212;;;:::i;:::-;-1:-1:-1;1819:212:3;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;1819:212:3;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;1608:430:3:o;2084:91::-;2148:20;;;;:8;;:20;;;;;:::i;:::-;;2084:91;:::o;971:570::-;1137:34;1185:35;1234:33;1292:38;;:::i;:::-;1333:36;;;;:25;:36;;;;;;;;;1292:77;;;;;;;;;;;;;;;;;;;;;;;1333:36;;1292:77;;1333:36;;1292:77;;1333:36;1292:77;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1292:77:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1292:77:3;;;;;;;;;;;;;;;;-1:-1:-1;;;1292:77:3;;;;-1:-1:-1;;1400:32:3;;1446:33;;;;1493:31;;;;;1400:32;;1446:33;;-1:-1:-1;1493:31:3;-1:-1:-1;971:570:3;;-1:-1:-1;;;;;;971:570:3:o;2427:100::-;2512:8;2505:15;;;;;;;;-1:-1:-1;;2505:15:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2471:22;;2505:15;;2512:8;;2505:15;;2512:8;2505:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2427:100;:::o;2221:157::-;2363:8;2356:15;;;;;;;;-1:-1:-1;;2356:15:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2318:22;;2356:15;;2363:8;;2356:15;;2363:8;2356:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2221:157;;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "methodIdentifiers": { "getInitArgs()": "c5dcfaf5", "parseAssetsForAction(address,uint256,bytes)": "bbd2d646", "parseInitArgs(address,bytes)": "db16c72e", "setAssetsForAction(uint256,address[],uint256[],address[])": "0b48f789", "setInitArgs(bytes)": "896d6296" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"getInitArgs\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"initArgs_\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_actionId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"parseAssetsForAction\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"assetsToTransfer_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amountsToTransfer_\",\"type\":\"uint256[]\"},{\"internalType\":\"address[]\",\"name\":\"assetsToReceive_\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"parseInitArgs\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"initArgs_\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"actionId\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"_assetsToTransfer\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"_amountsToTransfer\",\"type\":\"uint256[]\"},{\"internalType\":\"address[]\",\"name\":\"_assetsToReceive\",\"type\":\"address[]\"}],\"name\":\"setAssetsForAction\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_initArgs\",\"type\":\"bytes\"}],\"name\":\"setInitArgs\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"getInitArgs()\":{\"details\":\"Returns the initArgs variable\"},\"parseAssetsForAction(address,uint256,bytes)\":{\"details\":\"Returns the default assetsForAction stored for a given actionID\"},\"parseInitArgs(address,bytes)\":{\"details\":\"Sets the initArgs variable\"},\"setAssetsForAction(uint256,address[],uint256[],address[])\":{\"details\":\"Sets the assets for action for a given actionId\"},\"setInitArgs(bytes)\":{\"details\":\"Sets the initArgs variable\"}},\"title\":\"MockGenericExternalPositionParser Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Provides a generic external position parser to be used on tests\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/mocks/MockGenericExternalPositionParser.sol\":\"MockGenericExternalPositionParser\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/mocks/MockGenericExternalPositionParser.sol\":{\"keccak256\":\"0x3ad7b6948ef83bcd6704b4196e4233050c57875402f980bf670bb84a5f6a586e\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://296f429f057ddfa787c4a719ff3ee2fe440261fc638394f8bf3ac6955244be02\",\"dweb:/ipfs/QmX1s6QuqBMxnt8m5SaQ73KKb1Gzrp9KBBdYkEhC9syYP6\"]},\"contracts/release/extensions/external-position-manager/external-positions/IExternalPositionParser.sol\":{\"keccak256\":\"0x1662fbd65841ee5e9cf8d5329b9d04c264b24ef68ae1e0484e59a8969b0d2c46\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://580569b0f875e0344db83fae1e72dcc6c0767a049b2a6cc3e4f3c411d2284b27\",\"dweb:/ipfs/QmXFmF9QbcVsPHaBo1iq8sZHYhDkwfkMZpHmLTuJJ37NvZ\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [], "stateMutability": "view", "type": "function", "name": "getInitArgs", "outputs": [ { "internalType": "bytes", "name": "initArgs_", "type": "bytes" } ] }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "uint256", "name": "_actionId", "type": "uint256" }, { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "parseAssetsForAction", "outputs": [ { "internalType": "address[]", "name": "assetsToTransfer_", "type": "address[]" }, { "internalType": "uint256[]", "name": "amountsToTransfer_", "type": "uint256[]" }, { "internalType": "address[]", "name": "assetsToReceive_", "type": "address[]" } ] }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "parseInitArgs", "outputs": [ { "internalType": "bytes", "name": "initArgs_", "type": "bytes" } ] }, { "inputs": [ { "internalType": "uint256", "name": "actionId", "type": "uint256" }, { "internalType": "address[]", "name": "_assetsToTransfer", "type": "address[]" }, { "internalType": "uint256[]", "name": "_amountsToTransfer", "type": "uint256[]" }, { "internalType": "address[]", "name": "_assetsToReceive", "type": "address[]" } ], "stateMutability": "nonpayable", "type": "function", "name": "setAssetsForAction" }, { "inputs": [ { "internalType": "bytes", "name": "_initArgs", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "setInitArgs" } ], "devdoc": { "kind": "dev", "methods": { "getInitArgs()": { "details": "Returns the initArgs variable" }, "parseAssetsForAction(address,uint256,bytes)": { "details": "Returns the default assetsForAction stored for a given actionID" }, "parseInitArgs(address,bytes)": { "details": "Sets the initArgs variable" }, "setAssetsForAction(uint256,address[],uint256[],address[])": { "details": "Sets the assets for action for a given actionId" }, "setInitArgs(bytes)": { "details": "Sets the initArgs variable" } }, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/mocks/MockGenericExternalPositionParser.sol": "MockGenericExternalPositionParser" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/mocks/MockGenericExternalPositionParser.sol": { "keccak256": "0x3ad7b6948ef83bcd6704b4196e4233050c57875402f980bf670bb84a5f6a586e", "urls": [ "bzz-raw://296f429f057ddfa787c4a719ff3ee2fe440261fc638394f8bf3ac6955244be02", "dweb:/ipfs/QmX1s6QuqBMxnt8m5SaQ73KKb1Gzrp9KBBdYkEhC9syYP6" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/IExternalPositionParser.sol": { "keccak256": "0x1662fbd65841ee5e9cf8d5329b9d04c264b24ef68ae1e0484e59a8969b0d2c46", "urls": [ "bzz-raw://580569b0f875e0344db83fae1e72dcc6c0767a049b2a6cc3e4f3c411d2284b27", "dweb:/ipfs/QmXFmF9QbcVsPHaBo1iq8sZHYhDkwfkMZpHmLTuJJ37NvZ" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 3 } diff --git a/eth_defi/abi/enzyme/MockGenericIntegratee.json b/eth_defi/abi/enzyme/MockGenericIntegratee.json index c18be2a3..edc40242 100644 --- a/eth_defi/abi/enzyme/MockGenericIntegratee.json +++ b/eth_defi/abi/enzyme/MockGenericIntegratee.json @@ -1,303 +1 @@ -{ - "abi": [ - { - "inputs": [], - "name": "ETH_ADDRESS", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_assetsToIntegratee", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "_assetsToIntegrateeAmounts", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "_assetsFromIntegratee", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "_assetsFromIntegrateeAmounts", - "type": "uint256[]" - } - ], - "name": "swap", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address payable", - "name": "_trader", - "type": "address" - }, - { - "internalType": "address[]", - "name": "_assetsToIntegratee", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "_assetsToIntegrateeAmounts", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "_assetsFromIntegratee", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "_assetsFromIntegrateeAmounts", - "type": "uint256[]" - } - ], - "name": "swapOnBehalf", - "outputs": [], - "stateMutability": "payable", - "type": "function" - }, - { - "stateMutability": "payable", - "type": "receive" - } - ], - "bytecode": { - "object": "0x608060405234801561001057600080fd5b50610c1c806100206000396000f3fe6080604052600436106100385760003560e01c80633005d9d01461004457806335671b2f146101a4578063a734f06e146103125761003f565b3661003f57005b600080fd5b6101a26004803603608081101561005a57600080fd5b810190602081018135600160201b81111561007457600080fd5b82018360208201111561008657600080fd5b803590602001918460208302840111600160201b831117156100a757600080fd5b919390929091602081019035600160201b8111156100c457600080fd5b8201836020820111156100d657600080fd5b803590602001918460208302840111600160201b831117156100f757600080fd5b919390929091602081019035600160201b81111561011457600080fd5b82018360208201111561012657600080fd5b803590602001918460208302840111600160201b8311171561014757600080fd5b919390929091602081019035600160201b81111561016457600080fd5b82018360208201111561017657600080fd5b803590602001918460208302840111600160201b8311171561019757600080fd5b509092509050610343565b005b6101a2600480360360a08110156101ba57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b8111156101e457600080fd5b8201836020820111156101f657600080fd5b803590602001918460208302840111600160201b8311171561021757600080fd5b919390929091602081019035600160201b81111561023457600080fd5b82018360208201111561024657600080fd5b803590602001918460208302840111600160201b8311171561026757600080fd5b919390929091602081019035600160201b81111561028457600080fd5b82018360208201111561029657600080fd5b803590602001918460208302840111600160201b831117156102b757600080fd5b919390929091602081019035600160201b8111156102d457600080fd5b8201836020820111156102e657600080fd5b803590602001918460208302840111600160201b8311171561030757600080fd5b50909250905061041d565b34801561031e57600080fd5b506103276104f8565b604080516001600160a01b039092168252519081900360200190f35b6104133389898080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020808d0282810182019093528c82529093508c92508b91829185019084908082843760009201919091525050604080516020808c0282810182019093528b82529093508b92508a91829185019084908082843760009201919091525050604080516020808b0282810182019093528a82529093508a92508991829185019084908082843760009201919091525061051092505050565b5050505050505050565b6104ed8989898080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020808d0282810182019093528c82529093508c92508b91829185019084908082843760009201919091525050604080516020808c0282810182019093528b82529093508b92508a91829185019084908082843760009201919091525050604080516020808b0282810182019093528a82529093508a92508991829185019084908082843760009201919091525061051092505050565b505050505050505050565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b60005b845181101561062957600085828151811061052a57fe5b60200260200101519050600085838151811061054257fe5b6020026020010151905060006001600160a01b0316826001600160a01b0316141561059e5760405162461bcd60e51b815260040180806020018281038252602a815260200180610bbc602a913960400191505060405180910390fd5b600081116105dd5760405162461bcd60e51b8152600401808060200182810382526031815260200180610b2c6031913960400191505060405180910390fd5b6001600160a01b03821673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1415610609575050610621565b61061e6001600160a01b03831689308461077e565b50505b600101610513565b5060005b825181101561077657600083828151811061064457fe5b60200260200101519050600083838151811061065c57fe5b6020026020010151905060006001600160a01b0316826001600160a01b031614156106b85760405162461bcd60e51b815260040180806020018281038252602c815260200180610b5d602c913960400191505060405180910390fd5b600081116106f75760405162461bcd60e51b8152600401808060200182810382526033815260200180610b896033913960400191505060405180910390fd5b6001600160a01b03821673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1415610758576040516001600160a01b0389169082156108fc029083906000818181858888f19350505050158015610752573d6000803e3d6000fd5b5061076c565b61076c6001600160a01b03831689836107de565b505060010161062d565b505050505050565b604080516001600160a01b0380861660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b1790526107d8908590610835565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610830908490610835565b505050565b606061088a826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166108e69092919063ffffffff16565b805190915015610830578080602001905160208110156108a957600080fd5b50516108305760405162461bcd60e51b815260040180806020018281038252602a815260200180610be6602a913960400191505060405180910390fd5b60606108f584846000856108ff565b90505b9392505050565b6060824710156109405760405162461bcd60e51b8152600401808060200182810382526026815260200180610b066026913960400191505060405180910390fd5b61094985610a5b565b61099a576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b602083106109d95780518252601f1990920191602091820191016109ba565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114610a3b576040519150601f19603f3d011682016040523d82523d6000602084013e610a40565b606091505b5091509150610a50828286610a61565b979650505050505050565b3b151590565b60608315610a705750816108f8565b825115610a805782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610aca578181015183820152602001610ab2565b50505050905090810190601f168015610af75780820380516001836020036101000a031916815260200191505b509250505060405180910390fdfe416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c5f5f737761703a20656d7074792076616c756520696e205f617373657473546f496e7465677261746565416d6f756e74735f5f737761703a20656d7074792076616c756520696e205f61737365747346726f6d496e74656772617465655f5f737761703a20656d7074792076616c756520696e205f61737365747346726f6d496e7465677261746565416d6f756e74735f5f737761703a20656d7074792076616c756520696e205f617373657473546f496e74656772617465655361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a164736f6c634300060c000a", - "sourceMap": "315:1006:4:-:0;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x6080604052600436106100385760003560e01c80633005d9d01461004457806335671b2f146101a4578063a734f06e146103125761003f565b3661003f57005b600080fd5b6101a26004803603608081101561005a57600080fd5b810190602081018135600160201b81111561007457600080fd5b82018360208201111561008657600080fd5b803590602001918460208302840111600160201b831117156100a757600080fd5b919390929091602081019035600160201b8111156100c457600080fd5b8201836020820111156100d657600080fd5b803590602001918460208302840111600160201b831117156100f757600080fd5b919390929091602081019035600160201b81111561011457600080fd5b82018360208201111561012657600080fd5b803590602001918460208302840111600160201b8311171561014757600080fd5b919390929091602081019035600160201b81111561016457600080fd5b82018360208201111561017657600080fd5b803590602001918460208302840111600160201b8311171561019757600080fd5b509092509050610343565b005b6101a2600480360360a08110156101ba57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b8111156101e457600080fd5b8201836020820111156101f657600080fd5b803590602001918460208302840111600160201b8311171561021757600080fd5b919390929091602081019035600160201b81111561023457600080fd5b82018360208201111561024657600080fd5b803590602001918460208302840111600160201b8311171561026757600080fd5b919390929091602081019035600160201b81111561028457600080fd5b82018360208201111561029657600080fd5b803590602001918460208302840111600160201b831117156102b757600080fd5b919390929091602081019035600160201b8111156102d457600080fd5b8201836020820111156102e657600080fd5b803590602001918460208302840111600160201b8311171561030757600080fd5b50909250905061041d565b34801561031e57600080fd5b506103276104f8565b604080516001600160a01b039092168252519081900360200190f35b6104133389898080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020808d0282810182019093528c82529093508c92508b91829185019084908082843760009201919091525050604080516020808c0282810182019093528b82529093508b92508a91829185019084908082843760009201919091525050604080516020808b0282810182019093528a82529093508a92508991829185019084908082843760009201919091525061051092505050565b5050505050505050565b6104ed8989898080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020808d0282810182019093528c82529093508c92508b91829185019084908082843760009201919091525050604080516020808c0282810182019093528b82529093508b92508a91829185019084908082843760009201919091525050604080516020808b0282810182019093528a82529093508a92508991829185019084908082843760009201919091525061051092505050565b505050505050505050565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b60005b845181101561062957600085828151811061052a57fe5b60200260200101519050600085838151811061054257fe5b6020026020010151905060006001600160a01b0316826001600160a01b0316141561059e5760405162461bcd60e51b815260040180806020018281038252602a815260200180610bbc602a913960400191505060405180910390fd5b600081116105dd5760405162461bcd60e51b8152600401808060200182810382526031815260200180610b2c6031913960400191505060405180910390fd5b6001600160a01b03821673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1415610609575050610621565b61061e6001600160a01b03831689308461077e565b50505b600101610513565b5060005b825181101561077657600083828151811061064457fe5b60200260200101519050600083838151811061065c57fe5b6020026020010151905060006001600160a01b0316826001600160a01b031614156106b85760405162461bcd60e51b815260040180806020018281038252602c815260200180610b5d602c913960400191505060405180910390fd5b600081116106f75760405162461bcd60e51b8152600401808060200182810382526033815260200180610b896033913960400191505060405180910390fd5b6001600160a01b03821673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1415610758576040516001600160a01b0389169082156108fc029083906000818181858888f19350505050158015610752573d6000803e3d6000fd5b5061076c565b61076c6001600160a01b03831689836107de565b505060010161062d565b505050505050565b604080516001600160a01b0380861660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b1790526107d8908590610835565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610830908490610835565b505050565b606061088a826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166108e69092919063ffffffff16565b805190915015610830578080602001905160208110156108a957600080fd5b50516108305760405162461bcd60e51b815260040180806020018281038252602a815260200180610be6602a913960400191505060405180910390fd5b60606108f584846000856108ff565b90505b9392505050565b6060824710156109405760405162461bcd60e51b8152600401808060200182810382526026815260200180610b066026913960400191505060405180910390fd5b61094985610a5b565b61099a576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b602083106109d95780518252601f1990920191602091820191016109ba565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114610a3b576040519150601f19603f3d011682016040523d82523d6000602084013e610a40565b606091505b5091509150610a50828286610a61565b979650505050505050565b3b151590565b60608315610a705750816108f8565b825115610a805782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610aca578181015183820152602001610ab2565b50505050905090810190601f168015610af75780820380516001836020036101000a031916815260200191505b509250505060405180910390fdfe416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c5f5f737761703a20656d7074792076616c756520696e205f617373657473546f496e7465677261746565416d6f756e74735f5f737761703a20656d7074792076616c756520696e205f61737365747346726f6d496e74656772617465655f5f737761703a20656d7074792076616c756520696e205f61737365747346726f6d496e7465677261746565416d6f756e74735f5f737761703a20656d7074792076616c756520696e205f617373657473546f496e74656772617465655361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a164736f6c634300060c000a", - "sourceMap": "315:1006:4:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;367:454;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;367:454:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;367:454:4;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;367:454:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;367:454:4;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;367:454:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;367:454:4;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;367:454:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;367:454:4;;;;;;;;;;-1:-1:-1;367:454:4;;-1:-1:-1;367:454:4;-1:-1:-1;367:454:4;:::i;:::-;;827:492;;;;;;;;;;;;;;;;-1:-1:-1;;;;;827:492:4;;;;;;;;;;;;;;;-1:-1:-1;;;827:492:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;827:492:4;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;827:492:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;827:492:4;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;827:492:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;827:492:4;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;827:492:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;827:492:4;;;;;;;;;;-1:-1:-1;827:492:4;;-1:-1:-1;827:492:4;-1:-1:-1;827:492:4;:::i;321:80:8:-;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;321:80:8;;;;;;;;;;;;;;367:454:4;624:190;644:10;668:19;;624:190;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;624:190:4;;;;;;;;;;;;;;;;;;;;-1:-1:-1;701:26:4;;-1:-1:-1;701:26:4;;;;624:190;;;701:26;;624:190;701:26;624:190;;;;;;;;;-1:-1:-1;;624:190:4;;;;;;;;;;;;;;;;;;;;-1:-1:-1;741:21:4;;-1:-1:-1;741:21:4;;;;624:190;;;741:21;;624:190;741:21;624:190;;;;;;;;;-1:-1:-1;;624:190:4;;;;;;;;;;;;;;;;;;;;-1:-1:-1;776:28:4;;-1:-1:-1;776:28:4;;;;624:190;;;776:28;;624:190;776:28;624:190;;;;;;;;;-1:-1:-1;624:6:4;;-1:-1:-1;;;624:190:4:i;:::-;367:454;;;;;;;;:::o;827:492::-;1125:187;1145:7;1166:19;;1125:187;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1125:187:4;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1199:26:4;;-1:-1:-1;1199:26:4;;;;1125:187;;;1199:26;;1125:187;1199:26;1125:187;;;;;;;;;-1:-1:-1;;1125:187:4;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1239:21:4;;-1:-1:-1;1239:21:4;;;;1125:187;;;1239:21;;1125:187;1239:21;1125:187;;;;;;;;;-1:-1:-1;;1125:187:4;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1274:28:4;;-1:-1:-1;1274:28:4;;;;1125:187;;;1274:28;;1125:187;1274:28;1125:187;;;;;;;;;-1:-1:-1;1125:6:4;;-1:-1:-1;;;1125:187:4:i;:::-;827:492;;;;;;;;;:::o;321:80:8:-;359:42;321:80;:::o;1488:1478:9:-;1812:9;1807:562;1831:19;:26;1827:1;:30;1807:562;;;1878:13;1894:19;1914:1;1894:22;;;;;;;;;;;;;;1878:38;;1930:14;1947:26;1974:1;1947:29;;;;;;;;;;;;;;1930:46;;2016:1;-1:-1:-1;;;;;1999:19:9;:5;-1:-1:-1;;;;;1999:19:9;;;1991:74;;;;-1:-1:-1;;;1991:74:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2096:1;2087:6;:10;2079:72;;;;-1:-1:-1;;;2079:72:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2221:20:9;;359:42:8;2221:20:9;2217:67;;;2261:8;;;;2217:67;2297:61;-1:-1:-1;;;;;2297:29:9;;2327:7;2344:4;2351:6;2297:29;:61::i;:::-;1807:562;;;1859:3;;1807:562;;;;2422:9;2417:543;2441:21;:28;2437:1;:32;2417:543;;;2490:13;2506:21;2528:1;2506:24;;;;;;;;;;;;;;2490:40;;2544:14;2561:28;2590:1;2561:31;;;;;;;;;;;;;;2544:48;;2632:1;-1:-1:-1;;;;;2615:19:9;:5;-1:-1:-1;;;;;2615:19:9;;;2607:76;;;;-1:-1:-1;;;2607:76:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2714:1;2705:6;:10;2697:74;;;;-1:-1:-1;;;2697:74:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2790:20:9;;359:42:8;2790:20:9;2786:164;;;2830:24;;-1:-1:-1;;;;;2830:16:9;;;:24;;;;;2847:6;;2830:24;;;;2847:6;2830:16;:24;;;;;;;;;;;;;;;;;;;;;2786:164;;;2893:42;-1:-1:-1;;;;;2893:25:9;;2919:7;2928:6;2893:25;:42::i;:::-;-1:-1:-1;;2471:3:9;;2417:543;;;;1488:1478;;;;;:::o;885:203:450:-;1012:68;;;-1:-1:-1;;;;;1012:68:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1012:68:450;-1:-1:-1;;;1012:68:450;;;985:96;;1005:5;;985:19;:96::i;:::-;885:203;;;;:::o;704:175::-;813:58;;;-1:-1:-1;;;;;813:58:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;813:58:450;-1:-1:-1;;;813:58:450;;;786:86;;806:5;;786:19;:86::i;:::-;704:175;;;:::o;2967:751::-;3386:23;3412:69;3440:4;3412:69;;;;;;;;;;;;;;;;;3420:5;-1:-1:-1;;;;;3412:27:450;;;:69;;;;;:::i;:::-;3495:17;;3386:95;;-1:-1:-1;3495:21:450;3491:221;;3635:10;3624:30;;;;;;;;;;;;;;;-1:-1:-1;3624:30:450;3616:85;;;;-1:-1:-1;;;3616:85:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3581:193:451;3684:12;3715:52;3737:6;3745:4;3751:1;3754:12;3715:21;:52::i;:::-;3708:59;;3581:193;;;;;;:::o;4608:523::-;4735:12;4792:5;4767:21;:30;;4759:81;;;;-1:-1:-1;;;4759:81:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4858:18;4869:6;4858:10;:18::i;:::-;4850:60;;;;;-1:-1:-1;;;4850:60:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;4981:12;4995:23;5022:6;-1:-1:-1;;;;;5022:11:451;5042:5;5050:4;5022:33;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5022:33:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4980:75;;;;5072:52;5090:7;5099:10;5111:12;5072:17;:52::i;:::-;5065:59;4608:523;-1:-1:-1;;;;;;;4608:523:451:o;726:413::-;1086:20;1124:8;;;726:413::o;7091:725::-;7206:12;7234:7;7230:580;;;-1:-1:-1;7264:10:451;7257:17;;7230:580;7375:17;;:21;7371:429;;7633:10;7627:17;7693:15;7680:10;7676:2;7672:19;7665:44;7582:145;7772:12;7765:20;;-1:-1:-1;;;7765:20:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "methodIdentifiers": { - "ETH_ADDRESS()": "a734f06e", - "swap(address[],uint256[],address[],uint256[])": "3005d9d0", - "swapOnBehalf(address,address[],uint256[],address[],uint256[])": "35671b2f" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"ETH_ADDRESS\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_assetsToIntegratee\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"_assetsToIntegrateeAmounts\",\"type\":\"uint256[]\"},{\"internalType\":\"address[]\",\"name\":\"_assetsFromIntegratee\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"_assetsFromIntegrateeAmounts\",\"type\":\"uint256[]\"}],\"name\":\"swap\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"_trader\",\"type\":\"address\"},{\"internalType\":\"address[]\",\"name\":\"_assetsToIntegratee\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"_assetsToIntegrateeAmounts\",\"type\":\"uint256[]\"},{\"internalType\":\"address[]\",\"name\":\"_assetsFromIntegratee\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"_assetsFromIntegrateeAmounts\",\"type\":\"uint256[]\"}],\"name\":\"swapOnBehalf\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/mocks/MockGenericIntegratee.sol\":\"MockGenericIntegratee\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/mocks/MockGenericIntegratee.sol\":{\"keccak256\":\"0xdb62748e2991811f10c5727b3822da957b8644ca596ee29281b5abf09287fe83\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ccadb7368d52e286726be85129c63db46586b9b0621b99775ada0d41c47c1cdc\",\"dweb:/ipfs/QmYENX13rpxHzfSvTekm2efEjUkKq3zHkFX7ygAJirZwGU\"]},\"contracts/mocks/utils/EthConstantMixin.sol\":{\"keccak256\":\"0x3970888dcaec9b20f4fe5910225221dbea5582cff9908f391ff7bf30f3e8c27b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1e99ecbe6188f2ec0a650634fa22e93e41786d55c67083a5672e71f755fb7018\",\"dweb:/ipfs/QmXbBTuMQMED2u97L8wZbNZuJ1hTmhFWbDUusuBNYVTh3o\"]},\"contracts/mocks/utils/SwapperBase.sol\":{\"keccak256\":\"0xa330eeda8fa3df9dfbfd56cb712dd7bf2046c22219bca5353c948ab53658b55c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f5781710434f9d8ecc997ecc98ac78a7995a9ecbf5f9be64a0fd39b771cf4323\",\"dweb:/ipfs/QmXZStbD7eurfnGfZ3jAJAdSwDoE4o3Uyy2b7dgmY2wB3Z\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "ETH_ADDRESS", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_assetsToIntegratee", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "_assetsToIntegrateeAmounts", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "_assetsFromIntegratee", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "_assetsFromIntegrateeAmounts", - "type": "uint256[]" - } - ], - "stateMutability": "payable", - "type": "function", - "name": "swap" - }, - { - "inputs": [ - { - "internalType": "address payable", - "name": "_trader", - "type": "address" - }, - { - "internalType": "address[]", - "name": "_assetsToIntegratee", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "_assetsToIntegrateeAmounts", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "_assetsFromIntegratee", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "_assetsFromIntegrateeAmounts", - "type": "uint256[]" - } - ], - "stateMutability": "payable", - "type": "function", - "name": "swapOnBehalf" - }, - { - "inputs": [], - "stateMutability": "payable", - "type": "receive" - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/mocks/MockGenericIntegratee.sol": "MockGenericIntegratee" - }, - "libraries": {} - }, - "sources": { - "contracts/mocks/MockGenericIntegratee.sol": { - "keccak256": "0xdb62748e2991811f10c5727b3822da957b8644ca596ee29281b5abf09287fe83", - "urls": [ - "bzz-raw://ccadb7368d52e286726be85129c63db46586b9b0621b99775ada0d41c47c1cdc", - "dweb:/ipfs/QmYENX13rpxHzfSvTekm2efEjUkKq3zHkFX7ygAJirZwGU" - ], - "license": "GPL-3.0" - }, - "contracts/mocks/utils/EthConstantMixin.sol": { - "keccak256": "0x3970888dcaec9b20f4fe5910225221dbea5582cff9908f391ff7bf30f3e8c27b", - "urls": [ - "bzz-raw://1e99ecbe6188f2ec0a650634fa22e93e41786d55c67083a5672e71f755fb7018", - "dweb:/ipfs/QmXbBTuMQMED2u97L8wZbNZuJ1hTmhFWbDUusuBNYVTh3o" - ], - "license": "GPL-3.0" - }, - "contracts/mocks/utils/SwapperBase.sol": { - "keccak256": "0xa330eeda8fa3df9dfbfd56cb712dd7bf2046c22219bca5353c948ab53658b55c", - "urls": [ - "bzz-raw://f5781710434f9d8ecc997ecc98ac78a7995a9ecbf5f9be64a0fd39b771cf4323", - "dweb:/ipfs/QmXZStbD7eurfnGfZ3jAJAdSwDoE4o3Uyy2b7dgmY2wB3Z" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { - "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", - "urls": [ - "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", - "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Address.sol": { - "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", - "urls": [ - "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", - "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 4 -} +{ "abi": [ { "type": "receive", "stateMutability": "payable" }, { "type": "function", "name": "ETH_ADDRESS", "inputs": [], "outputs": [ { "name": "", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "swap", "inputs": [ { "name": "_assetsToIntegratee", "type": "address[]", "internalType": "address[]" }, { "name": "_assetsToIntegrateeAmounts", "type": "uint256[]", "internalType": "uint256[]" }, { "name": "_assetsFromIntegratee", "type": "address[]", "internalType": "address[]" }, { "name": "_assetsFromIntegrateeAmounts", "type": "uint256[]", "internalType": "uint256[]" } ], "outputs": [], "stateMutability": "payable" }, { "type": "function", "name": "swapOnBehalf", "inputs": [ { "name": "_trader", "type": "address", "internalType": "address payable" }, { "name": "_assetsToIntegratee", "type": "address[]", "internalType": "address[]" }, { "name": "_assetsToIntegrateeAmounts", "type": "uint256[]", "internalType": "uint256[]" }, { "name": "_assetsFromIntegratee", "type": "address[]", "internalType": "address[]" }, { "name": "_assetsFromIntegrateeAmounts", "type": "uint256[]", "internalType": "uint256[]" } ], "outputs": [], "stateMutability": "payable" } ], "bytecode": { "object": "0x608060405234801561001057600080fd5b50610c1c806100206000396000f3fe6080604052600436106100385760003560e01c80633005d9d01461004457806335671b2f146101a4578063a734f06e146103125761003f565b3661003f57005b600080fd5b6101a26004803603608081101561005a57600080fd5b810190602081018135600160201b81111561007457600080fd5b82018360208201111561008657600080fd5b803590602001918460208302840111600160201b831117156100a757600080fd5b919390929091602081019035600160201b8111156100c457600080fd5b8201836020820111156100d657600080fd5b803590602001918460208302840111600160201b831117156100f757600080fd5b919390929091602081019035600160201b81111561011457600080fd5b82018360208201111561012657600080fd5b803590602001918460208302840111600160201b8311171561014757600080fd5b919390929091602081019035600160201b81111561016457600080fd5b82018360208201111561017657600080fd5b803590602001918460208302840111600160201b8311171561019757600080fd5b509092509050610343565b005b6101a2600480360360a08110156101ba57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b8111156101e457600080fd5b8201836020820111156101f657600080fd5b803590602001918460208302840111600160201b8311171561021757600080fd5b919390929091602081019035600160201b81111561023457600080fd5b82018360208201111561024657600080fd5b803590602001918460208302840111600160201b8311171561026757600080fd5b919390929091602081019035600160201b81111561028457600080fd5b82018360208201111561029657600080fd5b803590602001918460208302840111600160201b831117156102b757600080fd5b919390929091602081019035600160201b8111156102d457600080fd5b8201836020820111156102e657600080fd5b803590602001918460208302840111600160201b8311171561030757600080fd5b50909250905061041d565b34801561031e57600080fd5b506103276104f8565b604080516001600160a01b039092168252519081900360200190f35b6104133389898080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020808d0282810182019093528c82529093508c92508b91829185019084908082843760009201919091525050604080516020808c0282810182019093528b82529093508b92508a91829185019084908082843760009201919091525050604080516020808b0282810182019093528a82529093508a92508991829185019084908082843760009201919091525061051092505050565b5050505050505050565b6104ed8989898080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020808d0282810182019093528c82529093508c92508b91829185019084908082843760009201919091525050604080516020808c0282810182019093528b82529093508b92508a91829185019084908082843760009201919091525050604080516020808b0282810182019093528a82529093508a92508991829185019084908082843760009201919091525061051092505050565b505050505050505050565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b60005b845181101561062957600085828151811061052a57fe5b60200260200101519050600085838151811061054257fe5b6020026020010151905060006001600160a01b0316826001600160a01b0316141561059e5760405162461bcd60e51b815260040180806020018281038252602a815260200180610bbc602a913960400191505060405180910390fd5b600081116105dd5760405162461bcd60e51b8152600401808060200182810382526031815260200180610b2c6031913960400191505060405180910390fd5b6001600160a01b03821673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1415610609575050610621565b61061e6001600160a01b03831689308461077e565b50505b600101610513565b5060005b825181101561077657600083828151811061064457fe5b60200260200101519050600083838151811061065c57fe5b6020026020010151905060006001600160a01b0316826001600160a01b031614156106b85760405162461bcd60e51b815260040180806020018281038252602c815260200180610b5d602c913960400191505060405180910390fd5b600081116106f75760405162461bcd60e51b8152600401808060200182810382526033815260200180610b896033913960400191505060405180910390fd5b6001600160a01b03821673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1415610758576040516001600160a01b0389169082156108fc029083906000818181858888f19350505050158015610752573d6000803e3d6000fd5b5061076c565b61076c6001600160a01b03831689836107de565b505060010161062d565b505050505050565b604080516001600160a01b0380861660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b1790526107d8908590610835565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610830908490610835565b505050565b606061088a826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166108e69092919063ffffffff16565b805190915015610830578080602001905160208110156108a957600080fd5b50516108305760405162461bcd60e51b815260040180806020018281038252602a815260200180610be6602a913960400191505060405180910390fd5b60606108f584846000856108ff565b90505b9392505050565b6060824710156109405760405162461bcd60e51b8152600401808060200182810382526026815260200180610b066026913960400191505060405180910390fd5b61094985610a5b565b61099a576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b602083106109d95780518252601f1990920191602091820191016109ba565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114610a3b576040519150601f19603f3d011682016040523d82523d6000602084013e610a40565b606091505b5091509150610a50828286610a61565b979650505050505050565b3b151590565b60608315610a705750816108f8565b825115610a805782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610aca578181015183820152602001610ab2565b50505050905090810190601f168015610af75780820380516001836020036101000a031916815260200191505b509250505060405180910390fdfe416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c5f5f737761703a20656d7074792076616c756520696e205f617373657473546f496e7465677261746565416d6f756e74735f5f737761703a20656d7074792076616c756520696e205f61737365747346726f6d496e74656772617465655f5f737761703a20656d7074792076616c756520696e205f61737365747346726f6d496e7465677261746565416d6f756e74735f5f737761703a20656d7074792076616c756520696e205f617373657473546f496e74656772617465655361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a164736f6c634300060c000a", "sourceMap": "315:1006:4:-:0;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x6080604052600436106100385760003560e01c80633005d9d01461004457806335671b2f146101a4578063a734f06e146103125761003f565b3661003f57005b600080fd5b6101a26004803603608081101561005a57600080fd5b810190602081018135600160201b81111561007457600080fd5b82018360208201111561008657600080fd5b803590602001918460208302840111600160201b831117156100a757600080fd5b919390929091602081019035600160201b8111156100c457600080fd5b8201836020820111156100d657600080fd5b803590602001918460208302840111600160201b831117156100f757600080fd5b919390929091602081019035600160201b81111561011457600080fd5b82018360208201111561012657600080fd5b803590602001918460208302840111600160201b8311171561014757600080fd5b919390929091602081019035600160201b81111561016457600080fd5b82018360208201111561017657600080fd5b803590602001918460208302840111600160201b8311171561019757600080fd5b509092509050610343565b005b6101a2600480360360a08110156101ba57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b8111156101e457600080fd5b8201836020820111156101f657600080fd5b803590602001918460208302840111600160201b8311171561021757600080fd5b919390929091602081019035600160201b81111561023457600080fd5b82018360208201111561024657600080fd5b803590602001918460208302840111600160201b8311171561026757600080fd5b919390929091602081019035600160201b81111561028457600080fd5b82018360208201111561029657600080fd5b803590602001918460208302840111600160201b831117156102b757600080fd5b919390929091602081019035600160201b8111156102d457600080fd5b8201836020820111156102e657600080fd5b803590602001918460208302840111600160201b8311171561030757600080fd5b50909250905061041d565b34801561031e57600080fd5b506103276104f8565b604080516001600160a01b039092168252519081900360200190f35b6104133389898080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020808d0282810182019093528c82529093508c92508b91829185019084908082843760009201919091525050604080516020808c0282810182019093528b82529093508b92508a91829185019084908082843760009201919091525050604080516020808b0282810182019093528a82529093508a92508991829185019084908082843760009201919091525061051092505050565b5050505050505050565b6104ed8989898080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020808d0282810182019093528c82529093508c92508b91829185019084908082843760009201919091525050604080516020808c0282810182019093528b82529093508b92508a91829185019084908082843760009201919091525050604080516020808b0282810182019093528a82529093508a92508991829185019084908082843760009201919091525061051092505050565b505050505050505050565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b60005b845181101561062957600085828151811061052a57fe5b60200260200101519050600085838151811061054257fe5b6020026020010151905060006001600160a01b0316826001600160a01b0316141561059e5760405162461bcd60e51b815260040180806020018281038252602a815260200180610bbc602a913960400191505060405180910390fd5b600081116105dd5760405162461bcd60e51b8152600401808060200182810382526031815260200180610b2c6031913960400191505060405180910390fd5b6001600160a01b03821673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1415610609575050610621565b61061e6001600160a01b03831689308461077e565b50505b600101610513565b5060005b825181101561077657600083828151811061064457fe5b60200260200101519050600083838151811061065c57fe5b6020026020010151905060006001600160a01b0316826001600160a01b031614156106b85760405162461bcd60e51b815260040180806020018281038252602c815260200180610b5d602c913960400191505060405180910390fd5b600081116106f75760405162461bcd60e51b8152600401808060200182810382526033815260200180610b896033913960400191505060405180910390fd5b6001600160a01b03821673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1415610758576040516001600160a01b0389169082156108fc029083906000818181858888f19350505050158015610752573d6000803e3d6000fd5b5061076c565b61076c6001600160a01b03831689836107de565b505060010161062d565b505050505050565b604080516001600160a01b0380861660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b1790526107d8908590610835565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610830908490610835565b505050565b606061088a826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166108e69092919063ffffffff16565b805190915015610830578080602001905160208110156108a957600080fd5b50516108305760405162461bcd60e51b815260040180806020018281038252602a815260200180610be6602a913960400191505060405180910390fd5b60606108f584846000856108ff565b90505b9392505050565b6060824710156109405760405162461bcd60e51b8152600401808060200182810382526026815260200180610b066026913960400191505060405180910390fd5b61094985610a5b565b61099a576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b602083106109d95780518252601f1990920191602091820191016109ba565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114610a3b576040519150601f19603f3d011682016040523d82523d6000602084013e610a40565b606091505b5091509150610a50828286610a61565b979650505050505050565b3b151590565b60608315610a705750816108f8565b825115610a805782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610aca578181015183820152602001610ab2565b50505050905090810190601f168015610af75780820380516001836020036101000a031916815260200191505b509250505060405180910390fdfe416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c5f5f737761703a20656d7074792076616c756520696e205f617373657473546f496e7465677261746565416d6f756e74735f5f737761703a20656d7074792076616c756520696e205f61737365747346726f6d496e74656772617465655f5f737761703a20656d7074792076616c756520696e205f61737365747346726f6d496e7465677261746565416d6f756e74735f5f737761703a20656d7074792076616c756520696e205f617373657473546f496e74656772617465655361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a164736f6c634300060c000a", "sourceMap": "315:1006:4:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;367:454;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;367:454:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;367:454:4;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;367:454:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;367:454:4;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;367:454:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;367:454:4;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;367:454:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;367:454:4;;;;;;;;;;-1:-1:-1;367:454:4;;-1:-1:-1;367:454:4;-1:-1:-1;367:454:4;:::i;:::-;;827:492;;;;;;;;;;;;;;;;-1:-1:-1;;;;;827:492:4;;;;;;;;;;;;;;;-1:-1:-1;;;827:492:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;827:492:4;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;827:492:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;827:492:4;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;827:492:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;827:492:4;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;827:492:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;827:492:4;;;;;;;;;;-1:-1:-1;827:492:4;;-1:-1:-1;827:492:4;-1:-1:-1;827:492:4;:::i;321:80:8:-;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;321:80:8;;;;;;;;;;;;;;367:454:4;624:190;644:10;668:19;;624:190;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;624:190:4;;;;;;;;;;;;;;;;;;;;-1:-1:-1;701:26:4;;-1:-1:-1;701:26:4;;;;624:190;;;701:26;;624:190;701:26;624:190;;;;;;;;;-1:-1:-1;;624:190:4;;;;;;;;;;;;;;;;;;;;-1:-1:-1;741:21:4;;-1:-1:-1;741:21:4;;;;624:190;;;741:21;;624:190;741:21;624:190;;;;;;;;;-1:-1:-1;;624:190:4;;;;;;;;;;;;;;;;;;;;-1:-1:-1;776:28:4;;-1:-1:-1;776:28:4;;;;624:190;;;776:28;;624:190;776:28;624:190;;;;;;;;;-1:-1:-1;624:6:4;;-1:-1:-1;;;624:190:4:i;:::-;367:454;;;;;;;;:::o;827:492::-;1125:187;1145:7;1166:19;;1125:187;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1125:187:4;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1199:26:4;;-1:-1:-1;1199:26:4;;;;1125:187;;;1199:26;;1125:187;1199:26;1125:187;;;;;;;;;-1:-1:-1;;1125:187:4;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1239:21:4;;-1:-1:-1;1239:21:4;;;;1125:187;;;1239:21;;1125:187;1239:21;1125:187;;;;;;;;;-1:-1:-1;;1125:187:4;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1274:28:4;;-1:-1:-1;1274:28:4;;;;1125:187;;;1274:28;;1125:187;1274:28;1125:187;;;;;;;;;-1:-1:-1;1125:6:4;;-1:-1:-1;;;1125:187:4:i;:::-;827:492;;;;;;;;;:::o;321:80:8:-;359:42;321:80;:::o;1488:1478:9:-;1812:9;1807:562;1831:19;:26;1827:1;:30;1807:562;;;1878:13;1894:19;1914:1;1894:22;;;;;;;;;;;;;;1878:38;;1930:14;1947:26;1974:1;1947:29;;;;;;;;;;;;;;1930:46;;2016:1;-1:-1:-1;;;;;1999:19:9;:5;-1:-1:-1;;;;;1999:19:9;;;1991:74;;;;-1:-1:-1;;;1991:74:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2096:1;2087:6;:10;2079:72;;;;-1:-1:-1;;;2079:72:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2221:20:9;;359:42:8;2221:20:9;2217:67;;;2261:8;;;;2217:67;2297:61;-1:-1:-1;;;;;2297:29:9;;2327:7;2344:4;2351:6;2297:29;:61::i;:::-;1807:562;;;1859:3;;1807:562;;;;2422:9;2417:543;2441:21;:28;2437:1;:32;2417:543;;;2490:13;2506:21;2528:1;2506:24;;;;;;;;;;;;;;2490:40;;2544:14;2561:28;2590:1;2561:31;;;;;;;;;;;;;;2544:48;;2632:1;-1:-1:-1;;;;;2615:19:9;:5;-1:-1:-1;;;;;2615:19:9;;;2607:76;;;;-1:-1:-1;;;2607:76:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2714:1;2705:6;:10;2697:74;;;;-1:-1:-1;;;2697:74:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2790:20:9;;359:42:8;2790:20:9;2786:164;;;2830:24;;-1:-1:-1;;;;;2830:16:9;;;:24;;;;;2847:6;;2830:24;;;;2847:6;2830:16;:24;;;;;;;;;;;;;;;;;;;;;2786:164;;;2893:42;-1:-1:-1;;;;;2893:25:9;;2919:7;2928:6;2893:25;:42::i;:::-;-1:-1:-1;;2471:3:9;;2417:543;;;;1488:1478;;;;;:::o;885:203:450:-;1012:68;;;-1:-1:-1;;;;;1012:68:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1012:68:450;-1:-1:-1;;;1012:68:450;;;985:96;;1005:5;;985:19;:96::i;:::-;885:203;;;;:::o;704:175::-;813:58;;;-1:-1:-1;;;;;813:58:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;813:58:450;-1:-1:-1;;;813:58:450;;;786:86;;806:5;;786:19;:86::i;:::-;704:175;;;:::o;2967:751::-;3386:23;3412:69;3440:4;3412:69;;;;;;;;;;;;;;;;;3420:5;-1:-1:-1;;;;;3412:27:450;;;:69;;;;;:::i;:::-;3495:17;;3386:95;;-1:-1:-1;3495:21:450;3491:221;;3635:10;3624:30;;;;;;;;;;;;;;;-1:-1:-1;3624:30:450;3616:85;;;;-1:-1:-1;;;3616:85:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3581:193:451;3684:12;3715:52;3737:6;3745:4;3751:1;3754:12;3715:21;:52::i;:::-;3708:59;;3581:193;;;;;;:::o;4608:523::-;4735:12;4792:5;4767:21;:30;;4759:81;;;;-1:-1:-1;;;4759:81:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4858:18;4869:6;4858:10;:18::i;:::-;4850:60;;;;;-1:-1:-1;;;4850:60:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;4981:12;4995:23;5022:6;-1:-1:-1;;;;;5022:11:451;5042:5;5050:4;5022:33;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5022:33:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4980:75;;;;5072:52;5090:7;5099:10;5111:12;5072:17;:52::i;:::-;5065:59;4608:523;-1:-1:-1;;;;;;;4608:523:451:o;726:413::-;1086:20;1124:8;;;726:413::o;7091:725::-;7206:12;7234:7;7230:580;;;-1:-1:-1;7264:10:451;7257:17;;7230:580;7375:17;;:21;7371:429;;7633:10;7627:17;7693:15;7680:10;7676:2;7672:19;7665:44;7582:145;7772:12;7765:20;;-1:-1:-1;;;7765:20:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "methodIdentifiers": { "ETH_ADDRESS()": "a734f06e", "swap(address[],uint256[],address[],uint256[])": "3005d9d0", "swapOnBehalf(address,address[],uint256[],address[],uint256[])": "35671b2f" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"ETH_ADDRESS\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_assetsToIntegratee\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"_assetsToIntegrateeAmounts\",\"type\":\"uint256[]\"},{\"internalType\":\"address[]\",\"name\":\"_assetsFromIntegratee\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"_assetsFromIntegrateeAmounts\",\"type\":\"uint256[]\"}],\"name\":\"swap\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"_trader\",\"type\":\"address\"},{\"internalType\":\"address[]\",\"name\":\"_assetsToIntegratee\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"_assetsToIntegrateeAmounts\",\"type\":\"uint256[]\"},{\"internalType\":\"address[]\",\"name\":\"_assetsFromIntegratee\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"_assetsFromIntegrateeAmounts\",\"type\":\"uint256[]\"}],\"name\":\"swapOnBehalf\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/mocks/MockGenericIntegratee.sol\":\"MockGenericIntegratee\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/mocks/MockGenericIntegratee.sol\":{\"keccak256\":\"0xdb62748e2991811f10c5727b3822da957b8644ca596ee29281b5abf09287fe83\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ccadb7368d52e286726be85129c63db46586b9b0621b99775ada0d41c47c1cdc\",\"dweb:/ipfs/QmYENX13rpxHzfSvTekm2efEjUkKq3zHkFX7ygAJirZwGU\"]},\"contracts/mocks/utils/EthConstantMixin.sol\":{\"keccak256\":\"0x3970888dcaec9b20f4fe5910225221dbea5582cff9908f391ff7bf30f3e8c27b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1e99ecbe6188f2ec0a650634fa22e93e41786d55c67083a5672e71f755fb7018\",\"dweb:/ipfs/QmXbBTuMQMED2u97L8wZbNZuJ1hTmhFWbDUusuBNYVTh3o\"]},\"contracts/mocks/utils/SwapperBase.sol\":{\"keccak256\":\"0xa330eeda8fa3df9dfbfd56cb712dd7bf2046c22219bca5353c948ab53658b55c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f5781710434f9d8ecc997ecc98ac78a7995a9ecbf5f9be64a0fd39b771cf4323\",\"dweb:/ipfs/QmXZStbD7eurfnGfZ3jAJAdSwDoE4o3Uyy2b7dgmY2wB3Z\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [], "stateMutability": "view", "type": "function", "name": "ETH_ADDRESS", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ] }, { "inputs": [ { "internalType": "address[]", "name": "_assetsToIntegratee", "type": "address[]" }, { "internalType": "uint256[]", "name": "_assetsToIntegrateeAmounts", "type": "uint256[]" }, { "internalType": "address[]", "name": "_assetsFromIntegratee", "type": "address[]" }, { "internalType": "uint256[]", "name": "_assetsFromIntegrateeAmounts", "type": "uint256[]" } ], "stateMutability": "payable", "type": "function", "name": "swap" }, { "inputs": [ { "internalType": "address payable", "name": "_trader", "type": "address" }, { "internalType": "address[]", "name": "_assetsToIntegratee", "type": "address[]" }, { "internalType": "uint256[]", "name": "_assetsToIntegrateeAmounts", "type": "uint256[]" }, { "internalType": "address[]", "name": "_assetsFromIntegratee", "type": "address[]" }, { "internalType": "uint256[]", "name": "_assetsFromIntegrateeAmounts", "type": "uint256[]" } ], "stateMutability": "payable", "type": "function", "name": "swapOnBehalf" }, { "inputs": [], "stateMutability": "payable", "type": "receive" } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/mocks/MockGenericIntegratee.sol": "MockGenericIntegratee" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/mocks/MockGenericIntegratee.sol": { "keccak256": "0xdb62748e2991811f10c5727b3822da957b8644ca596ee29281b5abf09287fe83", "urls": [ "bzz-raw://ccadb7368d52e286726be85129c63db46586b9b0621b99775ada0d41c47c1cdc", "dweb:/ipfs/QmYENX13rpxHzfSvTekm2efEjUkKq3zHkFX7ygAJirZwGU" ], "license": "GPL-3.0" }, "contracts/mocks/utils/EthConstantMixin.sol": { "keccak256": "0x3970888dcaec9b20f4fe5910225221dbea5582cff9908f391ff7bf30f3e8c27b", "urls": [ "bzz-raw://1e99ecbe6188f2ec0a650634fa22e93e41786d55c67083a5672e71f755fb7018", "dweb:/ipfs/QmXbBTuMQMED2u97L8wZbNZuJ1hTmhFWbDUusuBNYVTh3o" ], "license": "GPL-3.0" }, "contracts/mocks/utils/SwapperBase.sol": { "keccak256": "0xa330eeda8fa3df9dfbfd56cb712dd7bf2046c22219bca5353c948ab53658b55c", "urls": [ "bzz-raw://f5781710434f9d8ecc997ecc98ac78a7995a9ecbf5f9be64a0fd39b771cf4323", "dweb:/ipfs/QmXZStbD7eurfnGfZ3jAJAdSwDoE4o3Uyy2b7dgmY2wB3Z" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", "urls": [ "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Address.sol": { "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", "urls": [ "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" } }, "version": 1 }, "id": 4 } diff --git a/eth_defi/abi/enzyme/MockReentrancyToken.json b/eth_defi/abi/enzyme/MockReentrancyToken.json index b481c21f..c2f92f52 100644 --- a/eth_defi/abi/enzyme/MockReentrancyToken.json +++ b/eth_defi/abi/enzyme/MockReentrancyToken.json @@ -1,1272 +1 @@ -{ - "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": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "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": "_minters", - "type": "address[]" - } - ], - "name": "addMinters", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "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": [], - "name": "bad", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "burn", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "burnFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "comptrollerProxy", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "subtractedValue", - "type": "uint256" - } - ], - "name": "decreaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "addedValue", - "type": "uint256" - } - ], - "name": "increaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - } - ], - "name": "makeItReentracyToken", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "mint", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_who", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "mintFor", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "renounceOwnership", - "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": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x60806040523480156200001157600080fd5b506040518060400160405280601581526020017f4d6f636b205265656e7472616e637920546f6b656e00000000000000000000008152506040518060400160405280600381526020016213549560ea1b815250601282828160039080519060200190620000809291906200033b565b508051620000969060049060208401906200033b565b50506005805460ff19166012179055506000620000b26200014b565b60058054610100600160a81b0319166101006001600160a01b03841690810291909117909155604051919250906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35062000113816200014f565b62000142336200013c8360ff16600a0a6305f5e1006200016560201b62000ef61790919060201c565b620001cc565b505050620003d7565b3390565b6005805460ff191660ff92909216919091179055565b6000826200017657506000620001c6565b828202828482816200018457fe5b0414620001c35760405162461bcd60e51b815260040180806020018281038252602181526020018062001a776021913960400191505060405180910390fd5b90505b92915050565b6001600160a01b03821662000228576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b6200023660008383620002db565b6200025281600254620002e060201b62000f561790919060201c565b6002556001600160a01b038216600090815260208181526040909120546200028591839062000f56620002e0821b17901c565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b505050565b600082820183811015620001c3576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200037e57805160ff1916838001178555620003ae565b82800160010185558215620003ae579182015b82811115620003ae57825182559160200191906001019062000391565b50620003bc929150620003c0565b5090565b5b80821115620003bc5760008155600101620003c1565b61169080620003e76000396000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c806371e2a657116100b8578063a0712d681161007c578063a0712d681461041c578063a457c2d714610439578063a9059cbb14610465578063da1919b314610491578063dd62ed3e146104bd578063f2fde38b146104eb57610142565b806371e2a6571461033557806379cc6790146103d85780638da5cb5b1461040457806395d89b411461040c5780639c3674fc1461041457610142565b8063395093511161010a578063395093511461027257806342966c681461029e578063430cf151146102bd5780634cbfb08a146102e357806370a0823114610307578063715018a61461032d57610142565b806306fdde0314610147578063095ea7b3146101c457806318160ddd1461020457806323b872dd1461021e578063313ce56714610254575b600080fd5b61014f610511565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610189578181015183820152602001610171565b50505050905090810190601f1680156101b65780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101f0600480360360408110156101da57600080fd5b506001600160a01b0381351690602001356105a7565b604080519115158252519081900360200190f35b61020c6105c5565b60408051918252519081900360200190f35b6101f06004803603606081101561023457600080fd5b506001600160a01b038135811691602081013590911690604001356105cb565b61025c610684565b6040805160ff9092168252519081900360200190f35b6101f06004803603604081101561028857600080fd5b506001600160a01b03813516906020013561068d565b6102bb600480360360208110156102b457600080fd5b50356106e0565b005b6102bb600480360360208110156102d357600080fd5b50356001600160a01b03166106f4565b6102eb610726565b604080516001600160a01b039092168252519081900360200190f35b61020c6004803603602081101561031d57600080fd5b50356001600160a01b031661073a565b6102bb610755565b6102bb6004803603602081101561034b57600080fd5b81019060208101813564010000000081111561036657600080fd5b82018360208201111561037857600080fd5b8035906020019184602083028401116401000000008311171561039a57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610819945050505050565b6102bb600480360360408110156103ee57600080fd5b506001600160a01b0381351690602001356108e9565b6102eb610943565b61014f610957565b6101f06109b8565b6102bb6004803603602081101561043257600080fd5b50356109c1565b6101f06004803603604081101561044f57600080fd5b506001600160a01b038135169060200135610a33565b6101f06004803603604081101561047b57600080fd5b506001600160a01b038135169060200135610a9b565b6102bb600480360360408110156104a757600080fd5b506001600160a01b038135169060200135610d39565b61020c600480360360408110156104d357600080fd5b506001600160a01b0381358116916020013516610dab565b6102bb6004803603602081101561050157600080fd5b50356001600160a01b0316610dd6565b60038054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561059d5780601f106105725761010080835404028352916020019161059d565b820191906000526020600020905b81548152906001019060200180831161058057829003601f168201915b5050505050905090565b60006105bb6105b4610fb0565b8484610fb4565b5060015b92915050565b60025490565b60075460009060ff161561066f57600760019054906101000a90046001600160a01b03166001600160a01b031663beebc5da6000806040518363ffffffff1660e01b81526004018083815260200182815260200192505050602060405180830381600087803b15801561063d57600080fd5b505af1158015610651573d6000803e3d6000fd5b505050506040513d602081101561066757600080fd5b5061067a9050565b61067a8484846110a0565b5060019392505050565b60055460ff1690565b60006105bb61069a610fb0565b846106db85600160006106ab610fb0565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490610f56565b610fb4565b6106f16106eb610fb0565b826111fb565b50565b600780546001600160a01b0390921661010002610100600160a81b031960ff1990931660011792909216919091179055565b60075461010090046001600160a01b031681565b6001600160a01b031660009081526020819052604090205490565b61075d610fb0565b6001600160a01b031661076e610943565b6001600160a01b0316146107c9576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b60055460405160009161010090046001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a360058054610100600160a81b0319169055565b610821610fb0565b6001600160a01b0316610832610943565b6001600160a01b03161461088d576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b60005b81518110156108e5576001600660008484815181106108ab57fe5b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055600101610890565b5050565b6000610920826040518060600160405280602481526020016115b06024913961091986610914610fb0565b610dab565b91906112f7565b90506109348361092e610fb0565b83610fb4565b61093e83836111fb565b505050565b60055461010090046001600160a01b031690565b60048054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561059d5780601f106105725761010080835404028352916020019161059d565b60075460ff1681565b3360009081526006602052604090205460ff16806109ee5750336109e3610943565b6001600160a01b0316145b610a295760405162461bcd60e51b815260040180806020018281038252602181526020018061163e6021913960400191505060405180910390fd5b6106f1338261138e565b60006105bb610a40610fb0565b846106db8560405180606001604052806025815260200161165f6025913960016000610a6a610fb0565b6001600160a01b03908116825260208083019390935260409182016000908120918d168152925290205491906112f7565b60075460009060ff1615610d275760075461010090046001600160a01b0316636af8e7eb30846000604051908082528060200260200182016040528015610aec578160200160208202803683370190505b506040805160008082526020820190925290506040518563ffffffff1660e01b815260040180856001600160a01b031681526020018481526020018060200180602001838103835285818151815260200191508051906020019060200280838360005b83811015610b67578181015183820152602001610b4f565b50505050905001838103825284818151815260200191508051906020019060200280838360005b83811015610ba6578181015183820152602001610b8e565b505050509050019650505050505050600060405180830381600087803b158015610bcf57600080fd5b505af1158015610be3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040908152811015610c0c57600080fd5b8101908080516040519392919084640100000000821115610c2c57600080fd5b908301906020820185811115610c4157600080fd5b8251866020820283011164010000000082111715610c5e57600080fd5b82525081516020918201928201910280838360005b83811015610c8b578181015183820152602001610c73565b5050505090500160405260200180516040519392919084640100000000821115610cb457600080fd5b908301906020820185811115610cc957600080fd5b8251866020820283011164010000000082111715610ce657600080fd5b82525081516020918201928201910280838360005b83811015610d13578181015183820152602001610cfb565b5050505090500160405250505050506105bb565b6105bb610d32610fb0565b84846110a0565b3360009081526006602052604090205460ff1680610d66575033610d5b610943565b6001600160a01b0316145b610da15760405162461bcd60e51b815260040180806020018281038252602181526020018061163e6021913960400191505060405180910390fd5b6108e5828261138e565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b610dde610fb0565b6001600160a01b0316610def610943565b6001600160a01b031614610e4a576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b038116610e8f5760405162461bcd60e51b81526004018080602001828103825260268152602001806115216026913960400191505060405180910390fd5b6005546040516001600160a01b0380841692610100900416907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600580546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b600082610f05575060006105bf565b82820282848281610f1257fe5b0414610f4f5760405162461bcd60e51b815260040180806020018281038252602181526020018061158f6021913960400191505060405180910390fd5b9392505050565b600082820183811015610f4f576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b3390565b6001600160a01b038316610ff95760405162461bcd60e51b815260040180806020018281038252602481526020018061161a6024913960400191505060405180910390fd5b6001600160a01b03821661103e5760405162461bcd60e51b81526004018080602001828103825260228152602001806115476022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0383166110e55760405162461bcd60e51b81526004018080602001828103825260258152602001806115f56025913960400191505060405180910390fd5b6001600160a01b03821661112a5760405162461bcd60e51b81526004018080602001828103825260238152602001806114dc6023913960400191505060405180910390fd5b61113583838361093e565b61117281604051806060016040528060268152602001611569602691396001600160a01b03861660009081526020819052604090205491906112f7565b6001600160a01b0380851660009081526020819052604080822093909355908416815220546111a19082610f56565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b6001600160a01b0382166112405760405162461bcd60e51b81526004018080602001828103825260218152602001806115d46021913960400191505060405180910390fd5b61124c8260008361093e565b611289816040518060600160405280602281526020016114ff602291396001600160a01b03851660009081526020819052604090205491906112f7565b6001600160a01b0383166000908152602081905260409020556002546112af908261147e565b6002556040805182815290516000916001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b600081848411156113865760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561134b578181015183820152602001611333565b50505050905090810190601f1680156113785780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6001600160a01b0382166113e9576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b6113f56000838361093e565b6002546114029082610f56565b6002556001600160a01b0382166000908152602081905260409020546114289082610f56565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6000828211156114d5576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b5090039056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e63654f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a206275726e20616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f20616464726573736d73672e73656e646572206973206e6f74206f776e6572206f72206d696e74657245524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa164736f6c634300060c000a536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77", - "sourceMap": "573:1032:5:-:0;;;;;;;;;;;;;781:249:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;781:249:6;;;647:2:5;897:5:6;904:7;2040:5:447;2032;:13;;;;;;;;;;;;:::i;:::-;-1:-1:-1;2055:17:447;;;;:7;;:17;;;;;:::i;:::-;-1:-1:-1;;2082:9:447;:14;;-1:-1:-1;;2082:14:447;2094:2;2082:14;;;-1:-1:-1;2082:9:447;904:12:441;:10;:12::i;:::-;926:6;:18;;-1:-1:-1;;;;;;926:18:441;;-1:-1:-1;;;;;926:18:441;;;;;;;;;;;;959:43;;926:18;;-1:-1:-1;926:18:441;-1:-1:-1;;959:43:441;;-1:-1:-1;;959:43:441;-1:-1:-1;923:25:6::1;938:9:::0;923:14:::1;:25::i;:::-;958:65;964:10;976:46;1011:9;1003:18;;999:2;:22;984:9;976:22;;;;;;:46;;;;:::i;:::-;958:5;:65::i;:::-;781:249:::0;;;573:1032:5;;598:104:452;685:10;598:104;:::o;10018:96:447:-;10086:9;:21;;-1:-1:-1;;10086:21:447;;;;;;;;;;;;10018:96::o;3538:215:442:-;3596:7;3619:6;3615:20;;-1:-1:-1;3634:1:442;3627:8;;3615:20;3657:5;;;3661:1;3657;:5;:1;3680:5;;;;;:10;3672:56;;;;-1:-1:-1;;;3672:56:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3745:1;-1:-1:-1;3538:215:442;;;;;:::o;7832:370:447:-;-1:-1:-1;;;;;7915:21:447;;7907:65;;;;;-1:-1:-1;;;7907:65:447;;;;;;;;;;;;;;;;;;;;;;;;;;;;7983:49;8012:1;8016:7;8025:6;7983:20;:49::i;:::-;8058:24;8075:6;8058:12;;:16;;;;;;:24;;;;:::i;:::-;8043:12;:39;-1:-1:-1;;;;;8113:18:447;;:9;:18;;;;;;;;;;;;:30;;8136:6;;8113:22;;;;;:30;;:::i;:::-;-1:-1:-1;;;;;8092:18:447;;:9;:18;;;;;;;;;;;:51;;;;8158:37;;;;;;;8092:18;;:9;;8158:37;;;;;;;;;;7832:370;;:::o;10701:92::-;;;;:::o;2690:175:442:-;2748:7;2779:5;;;2802:6;;;;2794:46;;;;;-1:-1:-1;;;2794:46:442;;;;;;;;;;;;;;;;;;;;;;;;;;;573:1032:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;573:1032:5;;;-1:-1:-1;573:1032:5;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106101425760003560e01c806371e2a657116100b8578063a0712d681161007c578063a0712d681461041c578063a457c2d714610439578063a9059cbb14610465578063da1919b314610491578063dd62ed3e146104bd578063f2fde38b146104eb57610142565b806371e2a6571461033557806379cc6790146103d85780638da5cb5b1461040457806395d89b411461040c5780639c3674fc1461041457610142565b8063395093511161010a578063395093511461027257806342966c681461029e578063430cf151146102bd5780634cbfb08a146102e357806370a0823114610307578063715018a61461032d57610142565b806306fdde0314610147578063095ea7b3146101c457806318160ddd1461020457806323b872dd1461021e578063313ce56714610254575b600080fd5b61014f610511565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610189578181015183820152602001610171565b50505050905090810190601f1680156101b65780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101f0600480360360408110156101da57600080fd5b506001600160a01b0381351690602001356105a7565b604080519115158252519081900360200190f35b61020c6105c5565b60408051918252519081900360200190f35b6101f06004803603606081101561023457600080fd5b506001600160a01b038135811691602081013590911690604001356105cb565b61025c610684565b6040805160ff9092168252519081900360200190f35b6101f06004803603604081101561028857600080fd5b506001600160a01b03813516906020013561068d565b6102bb600480360360208110156102b457600080fd5b50356106e0565b005b6102bb600480360360208110156102d357600080fd5b50356001600160a01b03166106f4565b6102eb610726565b604080516001600160a01b039092168252519081900360200190f35b61020c6004803603602081101561031d57600080fd5b50356001600160a01b031661073a565b6102bb610755565b6102bb6004803603602081101561034b57600080fd5b81019060208101813564010000000081111561036657600080fd5b82018360208201111561037857600080fd5b8035906020019184602083028401116401000000008311171561039a57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610819945050505050565b6102bb600480360360408110156103ee57600080fd5b506001600160a01b0381351690602001356108e9565b6102eb610943565b61014f610957565b6101f06109b8565b6102bb6004803603602081101561043257600080fd5b50356109c1565b6101f06004803603604081101561044f57600080fd5b506001600160a01b038135169060200135610a33565b6101f06004803603604081101561047b57600080fd5b506001600160a01b038135169060200135610a9b565b6102bb600480360360408110156104a757600080fd5b506001600160a01b038135169060200135610d39565b61020c600480360360408110156104d357600080fd5b506001600160a01b0381358116916020013516610dab565b6102bb6004803603602081101561050157600080fd5b50356001600160a01b0316610dd6565b60038054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561059d5780601f106105725761010080835404028352916020019161059d565b820191906000526020600020905b81548152906001019060200180831161058057829003601f168201915b5050505050905090565b60006105bb6105b4610fb0565b8484610fb4565b5060015b92915050565b60025490565b60075460009060ff161561066f57600760019054906101000a90046001600160a01b03166001600160a01b031663beebc5da6000806040518363ffffffff1660e01b81526004018083815260200182815260200192505050602060405180830381600087803b15801561063d57600080fd5b505af1158015610651573d6000803e3d6000fd5b505050506040513d602081101561066757600080fd5b5061067a9050565b61067a8484846110a0565b5060019392505050565b60055460ff1690565b60006105bb61069a610fb0565b846106db85600160006106ab610fb0565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490610f56565b610fb4565b6106f16106eb610fb0565b826111fb565b50565b600780546001600160a01b0390921661010002610100600160a81b031960ff1990931660011792909216919091179055565b60075461010090046001600160a01b031681565b6001600160a01b031660009081526020819052604090205490565b61075d610fb0565b6001600160a01b031661076e610943565b6001600160a01b0316146107c9576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b60055460405160009161010090046001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a360058054610100600160a81b0319169055565b610821610fb0565b6001600160a01b0316610832610943565b6001600160a01b03161461088d576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b60005b81518110156108e5576001600660008484815181106108ab57fe5b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055600101610890565b5050565b6000610920826040518060600160405280602481526020016115b06024913961091986610914610fb0565b610dab565b91906112f7565b90506109348361092e610fb0565b83610fb4565b61093e83836111fb565b505050565b60055461010090046001600160a01b031690565b60048054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561059d5780601f106105725761010080835404028352916020019161059d565b60075460ff1681565b3360009081526006602052604090205460ff16806109ee5750336109e3610943565b6001600160a01b0316145b610a295760405162461bcd60e51b815260040180806020018281038252602181526020018061163e6021913960400191505060405180910390fd5b6106f1338261138e565b60006105bb610a40610fb0565b846106db8560405180606001604052806025815260200161165f6025913960016000610a6a610fb0565b6001600160a01b03908116825260208083019390935260409182016000908120918d168152925290205491906112f7565b60075460009060ff1615610d275760075461010090046001600160a01b0316636af8e7eb30846000604051908082528060200260200182016040528015610aec578160200160208202803683370190505b506040805160008082526020820190925290506040518563ffffffff1660e01b815260040180856001600160a01b031681526020018481526020018060200180602001838103835285818151815260200191508051906020019060200280838360005b83811015610b67578181015183820152602001610b4f565b50505050905001838103825284818151815260200191508051906020019060200280838360005b83811015610ba6578181015183820152602001610b8e565b505050509050019650505050505050600060405180830381600087803b158015610bcf57600080fd5b505af1158015610be3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040908152811015610c0c57600080fd5b8101908080516040519392919084640100000000821115610c2c57600080fd5b908301906020820185811115610c4157600080fd5b8251866020820283011164010000000082111715610c5e57600080fd5b82525081516020918201928201910280838360005b83811015610c8b578181015183820152602001610c73565b5050505090500160405260200180516040519392919084640100000000821115610cb457600080fd5b908301906020820185811115610cc957600080fd5b8251866020820283011164010000000082111715610ce657600080fd5b82525081516020918201928201910280838360005b83811015610d13578181015183820152602001610cfb565b5050505090500160405250505050506105bb565b6105bb610d32610fb0565b84846110a0565b3360009081526006602052604090205460ff1680610d66575033610d5b610943565b6001600160a01b0316145b610da15760405162461bcd60e51b815260040180806020018281038252602181526020018061163e6021913960400191505060405180910390fd5b6108e5828261138e565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b610dde610fb0565b6001600160a01b0316610def610943565b6001600160a01b031614610e4a576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b038116610e8f5760405162461bcd60e51b81526004018080602001828103825260268152602001806115216026913960400191505060405180910390fd5b6005546040516001600160a01b0380841692610100900416907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600580546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b600082610f05575060006105bf565b82820282848281610f1257fe5b0414610f4f5760405162461bcd60e51b815260040180806020018281038252602181526020018061158f6021913960400191505060405180910390fd5b9392505050565b600082820183811015610f4f576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b3390565b6001600160a01b038316610ff95760405162461bcd60e51b815260040180806020018281038252602481526020018061161a6024913960400191505060405180910390fd5b6001600160a01b03821661103e5760405162461bcd60e51b81526004018080602001828103825260228152602001806115476022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0383166110e55760405162461bcd60e51b81526004018080602001828103825260258152602001806115f56025913960400191505060405180910390fd5b6001600160a01b03821661112a5760405162461bcd60e51b81526004018080602001828103825260238152602001806114dc6023913960400191505060405180910390fd5b61113583838361093e565b61117281604051806060016040528060268152602001611569602691396001600160a01b03861660009081526020819052604090205491906112f7565b6001600160a01b0380851660009081526020819052604080822093909355908416815220546111a19082610f56565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b6001600160a01b0382166112405760405162461bcd60e51b81526004018080602001828103825260218152602001806115d46021913960400191505060405180910390fd5b61124c8260008361093e565b611289816040518060600160405280602281526020016114ff602291396001600160a01b03851660009081526020819052604090205491906112f7565b6001600160a01b0383166000908152602081905260409020556002546112af908261147e565b6002556040805182815290516000916001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b600081848411156113865760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561134b578181015183820152602001611333565b50505050905090810190601f1680156113785780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6001600160a01b0382166113e9576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b6113f56000838361093e565b6002546114029082610f56565b6002556001600160a01b0382166000908152602081905260409020546114289082610f56565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6000828211156114d5576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b5090039056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e63654f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a206275726e20616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f20616464726573736d73672e73656e646572206973206e6f74206f776e6572206f72206d696e74657245524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa164736f6c634300060c000a", - "sourceMap": "573:1032:5:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2168:89:447;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4244:166;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;4244:166:447;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;3235:106;;;:::i;:::-;;;;;;;;;;;;;;;;1283:320:5;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1283:320:5;;;;;;;;;;;;;;;;;:::i;3086:89:447:-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5589:215;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;5589:215:447;;;;;;;;:::i;524:89:448:-;;;;;;;;;;;;;;;;-1:-1:-1;524:89:448;;:::i;:::-;;716:139:5;;;;;;;;;;;;;;;;-1:-1:-1;716:139:5;-1:-1:-1;;;;;716:139:5;;:::i;678:31::-;;;:::i;:::-;;;;-1:-1:-1;;;;;678:31:5;;;;;;;;;;;;;;3399:125:447;;;;;;;;;;;;;;;;-1:-1:-1;3399:125:447;-1:-1:-1;;;;;3399:125:447;;:::i;1717:145:441:-;;;:::i;1247:188:6:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1247:188:6;;-1:-1:-1;1247:188:6;;-1:-1:-1;;;;;1247:188:6:i;919:290:448:-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;919:290:448;;;;;;;;:::i;1085:85:441:-;;;:::i;2370:93:447:-;;;:::i;657:15:5:-;;;:::i;1147:94:6:-;;;;;;;;;;;;;;;;-1:-1:-1;1147:94:6;;:::i;6291:266:447:-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;6291:266:447;;;;;;;;:::i;861:416:5:-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;861:416:5;;;;;;;;:::i;1036:105:6:-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1036:105:6;;;;;;;;:::i;3957:149:447:-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;3957:149:447;;;;;;;;;;:::i;2011:240:441:-;;;;;;;;;;;;;;;;-1:-1:-1;2011:240:441;-1:-1:-1;;;;;2011:240:441;;:::i;2168:89:447:-;2245:5;2238:12;;;;;;;;-1:-1:-1;;2238:12:447;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2213:13;;2238:12;;2245:5;;2238:12;;2245:5;2238:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2168:89;:::o;4244:166::-;4327:4;4343:39;4352:12;:10;:12::i;:::-;4366:7;4375:6;4343:8;:39::i;:::-;-1:-1:-1;4399:4:447;4244:166;;;;;:::o;3235:106::-;3322:12;;3235:106;:::o;1283:320:5:-;1431:3;;1411:4;;1431:3;;1427:149;;;1465:16;;;;;;;;;-1:-1:-1;;;;;1465:16:5;-1:-1:-1;;;;;1450:42:5;;1493:1;1496;1450:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1427:149:5;;-1:-1:-1;1427:149:5;;1529:36;1539:6;1547:9;1558:6;1529:9;:36::i;:::-;-1:-1:-1;1592:4:5;1283:320;;;;;:::o;3086:89:447:-;3159:9;;;;3086:89;:::o;5589:215::-;5677:4;5693:83;5702:12;:10;:12::i;:::-;5716:7;5725:50;5764:10;5725:11;:25;5737:12;:10;:12::i;:::-;-1:-1:-1;;;;;5725:25:447;;;;;;;;;;;;;;;;;-1:-1:-1;5725:25:447;;;:34;;;;;;;;;;;:38;:50::i;:::-;5693:8;:83::i;524:89:448:-;579:27;585:12;:10;:12::i;:::-;599:6;579:5;:27::i;:::-;524:89;:::o;716:139:5:-;792:3;:10;;-1:-1:-1;;;;;812:36:5;;;792:10;812:36;-1:-1:-1;;;;;;;;792:10:5;;;798:4;792:10;812:36;;;;;;;;;;716:139::o;678:31::-;;;;;;-1:-1:-1;;;;;678:31:5;;:::o;3399:125:447:-;-1:-1:-1;;;;;3499:18:447;3473:7;3499:18;;;;;;;;;;;;3399:125::o;1717:145:441:-;1308:12;:10;:12::i;:::-;-1:-1:-1;;;;;1297:23:441;:7;:5;:7::i;:::-;-1:-1:-1;;;;;1297:23:441;;1289:68;;;;;-1:-1:-1;;;1289:68:441;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1807:6:::1;::::0;1786:40:::1;::::0;1823:1:::1;::::0;1807:6:::1;::::0;::::1;-1:-1:-1::0;;;;;1807:6:441::1;::::0;1786:40:::1;::::0;1823:1;;1786:40:::1;1836:6;:19:::0;;-1:-1:-1;;;;;;1836:19:441::1;::::0;;1717:145::o;1247:188:6:-;1308:12:441;:10;:12::i;:::-;-1:-1:-1;;;;;1297:23:441;:7;:5;:7::i;:::-;-1:-1:-1;;;;;1297:23:441;;1289:68;;;;;-1:-1:-1;;;1289:68:441;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1326:9:6::1;1321:108;1345:8;:15;1341:1;:19;1321:108;;;1414:4;1381:17;:30;1399:8;1408:1;1399:11;;;;;;;;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;1381:30:6::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;1381:30:6;:37;;-1:-1:-1;;1381:37:6::1;::::0;::::1;;::::0;;;::::1;::::0;;-1:-1:-1;1362:3:6::1;1321:108;;;;1247:188:::0;:::o;919:290:448:-;995:26;1024:84;1061:6;1024:84;;;;;;;;;;;;;;;;;:32;1034:7;1043:12;:10;:12::i;:::-;1024:9;:32::i;:::-;:36;:84;:36;:84::i;:::-;995:113;;1119:51;1128:7;1137:12;:10;:12::i;:::-;1151:18;1119:8;:51::i;:::-;1180:22;1186:7;1195:6;1180:5;:22::i;:::-;919:290;;;:::o;1085:85:441:-;1157:6;;;;;-1:-1:-1;;;;;1157:6:441;;1085:85::o;2370:93:447:-;2449:7;2442:14;;;;;;;;-1:-1:-1;;2442:14:447;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2417:13;;2442:14;;2449:7;;2442:14;;2449:7;2442:14;;;;;;;;;;;;;;;;;;;;;;;;657:15:5;;;;;;:::o;1147:94:6:-;662:10;644:29;;;;:17;:29;;;;;;;;;:54;;-1:-1:-1;688:10:6;677:7;:5;:7::i;:::-;-1:-1:-1;;;;;677:21:6;;644:54;623:134;;;;-1:-1:-1;;;623:134:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1208:26:::1;1214:10;1226:7;1208:5;:26::i;6291:266:447:-:0;6384:4;6400:129;6409:12;:10;:12::i;:::-;6423:7;6432:96;6471:15;6432:96;;;;;;;;;;;;;;;;;:11;:25;6444:12;:10;:12::i;:::-;-1:-1:-1;;;;;6432:25:447;;;;;;;;;;;;;;;;;-1:-1:-1;6432:25:447;;;:34;;;;;;;;;;;:96;:38;:96::i;861:416:5:-;959:3;;939:4;;959:3;;955:295;;;993:16;;;;;-1:-1:-1;;;;;993:16:5;978:51;1055:4;1078:6;1116:1;1102:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1102:16:5;-1:-1:-1;1136:16:5;;;1150:1;1136:16;;;;;;;;;;;978:188;;;;;;;;;;;;;-1:-1:-1;;;;;978:188:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;978:188:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;978:188:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;978:188:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;955:295;;;1197:42;1207:12;:10;:12::i;:::-;1221:9;1232:6;1197:9;:42::i;1036:105:6:-;662:10;644:29;;;;:17;:29;;;;;;;;;:54;;-1:-1:-1;688:10:6;677:7;:5;:7::i;:::-;-1:-1:-1;;;;;677:21:6;;644:54;623:134;;;;-1:-1:-1;;;623:134:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1114:20:::1;1120:4;1126:7;1114:5;:20::i;3957:149:447:-:0;-1:-1:-1;;;;;4072:18:447;;;4046:7;4072:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;3957:149::o;2011:240:441:-;1308:12;:10;:12::i;:::-;-1:-1:-1;;;;;1297:23:441;:7;:5;:7::i;:::-;-1:-1:-1;;;;;1297:23:441;;1289:68;;;;;-1:-1:-1;;;1289:68:441;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2099:22:441;::::1;2091:73;;;;-1:-1:-1::0;;;2091:73:441::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2200:6;::::0;2179:38:::1;::::0;-1:-1:-1;;;;;2179:38:441;;::::1;::::0;2200:6:::1;::::0;::::1;;::::0;2179:38:::1;::::0;;;::::1;2227:6;:17:::0;;-1:-1:-1;;;;;2227:17:441;;::::1;;;-1:-1:-1::0;;;;;;2227:17:441;;::::1;::::0;;;::::1;::::0;;2011:240::o;3538:215:442:-;3596:7;3619:6;3615:20;;-1:-1:-1;3634:1:442;3627:8;;3615:20;3657:5;;;3661:1;3657;:5;:1;3680:5;;;;;:10;3672:56;;;;-1:-1:-1;;;3672:56:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3745:1;3538:215;-1:-1:-1;;;3538:215:442:o;2690:175::-;2748:7;2779:5;;;2802:6;;;;2794:46;;;;;-1:-1:-1;;;2794:46:442;;;;;;;;;;;;;;;;;;;;;;;;;;;598:104:452;685:10;598:104;:::o;9355:340:447:-;-1:-1:-1;;;;;9456:19:447;;9448:68;;;;-1:-1:-1;;;9448:68:447;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9534:21:447;;9526:68;;;;-1:-1:-1;;;9526:68:447;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9605:18:447;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;9656:32;;;;;;;;;;;;;;;;;9355:340;;;:::o;7031:530::-;-1:-1:-1;;;;;7136:20:447;;7128:70;;;;-1:-1:-1;;;7128:70:447;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7216:23:447;;7208:71;;;;-1:-1:-1;;;7208:71:447;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7290:47;7311:6;7319:9;7330:6;7290:20;:47::i;:::-;7368:71;7390:6;7368:71;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7368:17:447;;:9;:17;;;;;;;;;;;;:71;:21;:71::i;:::-;-1:-1:-1;;;;;7348:17:447;;;:9;:17;;;;;;;;;;;:91;;;;7472:20;;;;;;;:32;;7497:6;7472:24;:32::i;:::-;-1:-1:-1;;;;;7449:20:447;;;:9;:20;;;;;;;;;;;;:55;;;;7519:35;;;;;;;7449:20;;7519:35;;;;;;;;;;;;;7031:530;;;:::o;8522:410::-;-1:-1:-1;;;;;8605:21:447;;8597:67;;;;-1:-1:-1;;;8597:67:447;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8675:49;8696:7;8713:1;8717:6;8675:20;:49::i;:::-;8756:68;8779:6;8756:68;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8756:18:447;;:9;:18;;;;;;;;;;;;:68;:22;:68::i;:::-;-1:-1:-1;;;;;8735:18:447;;:9;:18;;;;;;;;;;:89;8849:12;;:24;;8866:6;8849:16;:24::i;:::-;8834:12;:39;8888:37;;;;;;;;8914:1;;-1:-1:-1;;;;;8888:37:447;;;;;;;;;;;;8522:410;;:::o;5432:163:442:-;5518:7;5553:12;5545:6;;;;5537:29;;;;-1:-1:-1;;;5537:29:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5583:5:442;;;5432:163::o;7832:370:447:-;-1:-1:-1;;;;;7915:21:447;;7907:65;;;;;-1:-1:-1;;;7907:65:447;;;;;;;;;;;;;;;;;;;;;;;;;;;;7983:49;8012:1;8016:7;8025:6;7983:20;:49::i;:::-;8058:12;;:24;;8075:6;8058:16;:24::i;:::-;8043:12;:39;-1:-1:-1;;;;;8113:18:447;;:9;:18;;;;;;;;;;;:30;;8136:6;8113:22;:30::i;:::-;-1:-1:-1;;;;;8092:18:447;;:9;:18;;;;;;;;;;;:51;;;;8158:37;;;;;;;8092:18;;:9;;8158:37;;;;;;;;;;7832:370;;:::o;3136:155:442:-;3194:7;3226:1;3221;:6;;3213:49;;;;;-1:-1:-1;;;3213:49:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3279:5:442;;;3136:155::o", - "linkReferences": {} - }, - "methodIdentifiers": { - "addMinters(address[])": "71e2a657", - "allowance(address,address)": "dd62ed3e", - "approve(address,uint256)": "095ea7b3", - "bad()": "9c3674fc", - "balanceOf(address)": "70a08231", - "burn(uint256)": "42966c68", - "burnFrom(address,uint256)": "79cc6790", - "comptrollerProxy()": "4cbfb08a", - "decimals()": "313ce567", - "decreaseAllowance(address,uint256)": "a457c2d7", - "increaseAllowance(address,uint256)": "39509351", - "makeItReentracyToken(address)": "430cf151", - "mint(uint256)": "a0712d68", - "mintFor(address,uint256)": "da1919b3", - "name()": "06fdde03", - "owner()": "8da5cb5b", - "renounceOwnership()": "715018a6", - "symbol()": "95d89b41", - "totalSupply()": "18160ddd", - "transfer(address,uint256)": "a9059cbb", - "transferFrom(address,address,uint256)": "23b872dd", - "transferOwnership(address)": "f2fde38b" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"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\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"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\":\"_minters\",\"type\":\"address[]\"}],\"name\":\"addMinters\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"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\":[],\"name\":\"bad\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"burnFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"comptrollerProxy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"}],\"name\":\"makeItReentracyToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_who\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"mintFor\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"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\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"burn(uint256)\":{\"details\":\"Destroys `amount` tokens from the caller. See {ERC20-_burn}.\"},\"burnFrom(address,uint256)\":{\"details\":\"Destroys `amount` tokens from `account`, deducting from the caller's allowance. See {ERC20-_burn} and {ERC20-allowance}. Requirements: - the caller must have allowance for ``accounts``'s tokens of at least `amount`.\"},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5,05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the value {ERC20} uses, unless {_setupDecimals} is called. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.\"},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"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 anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `recipient` cannot be the zero address. - the caller must have a balance of at least `amount`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. Requirements: - `sender` and `recipient` cannot be the zero address. - `sender` must have a balance of at least `amount`. - the caller must have allowance for ``sender``'s tokens of at least `amount`.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"title\":\"MockReentrancyToken Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"A mock ERC20 token implementation that is able to re-entrance redeemShares and buyShares functions\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/mocks/MockReentrancyToken.sol\":\"MockReentrancyToken\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/mocks/MockReentrancyToken.sol\":{\"keccak256\":\"0x647d13ecf8c5f32f27a4ac6434f364e27bedf88580d9bbf3d54d045eea0e5718\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://85448e801737b41936663df82404c945db88c16b78fc2558bd895f2550655158\",\"dweb:/ipfs/QmeT2n47tvdTp1FNh3gUhDeGpwe6nE1B16iLxqYmWyXoBa\"]},\"contracts/mocks/MockToken.sol\":{\"keccak256\":\"0x0ff282a2646d5ae4f10709ee3df0f0f6726eb62d8b32082f852af2f2d69ffea9\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://cad9b0dd4da24c968ee14332da613cf7621d7ff4b305cf39c508975929579c9e\",\"dweb:/ipfs/QmX2kjKWSHyUztfvs3UdhK4ige2N8miWYTrYXbmTXr2xFM\"]},\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/persistent/vault/interfaces/IExternalPositionVault.sol\":{\"keccak256\":\"0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d\",\"dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8\"]},\"contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol\":{\"keccak256\":\"0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb\",\"dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU\"]},\"contracts/persistent/vault/interfaces/IMigratableVault.sol\":{\"keccak256\":\"0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6\",\"dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs\"]},\"contracts/persistent/vault/interfaces/IVaultCore.sol\":{\"keccak256\":\"0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd\",\"dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr\"]},\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/core/fund/comptroller/ComptrollerLib.sol\":{\"keccak256\":\"0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579\",\"dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq\"]},\"contracts/release/core/fund/comptroller/IComptroller.sol\":{\"keccak256\":\"0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97\",\"dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L\"]},\"contracts/release/core/fund/vault/IVault.sol\":{\"keccak256\":\"0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599\",\"dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG\"]},\"contracts/release/extensions/IExtension.sol\":{\"keccak256\":\"0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70\",\"dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t\"]},\"contracts/release/extensions/fee-manager/IFeeManager.sol\":{\"keccak256\":\"0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22\",\"dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod\"]},\"contracts/release/extensions/policy-manager/IPolicyManager.sol\":{\"keccak256\":\"0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa\",\"dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb\"]},\"contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol\":{\"keccak256\":\"0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f\",\"dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol\":{\"keccak256\":\"0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0\",\"dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol\":{\"keccak256\":\"0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b\",\"dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3\"]},\"contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol\":{\"keccak256\":\"0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965\",\"dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ\"]},\"contracts/release/interfaces/IGsnForwarder.sol\":{\"keccak256\":\"0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29\",\"dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G\"]},\"contracts/release/interfaces/IGsnPaymaster.sol\":{\"keccak256\":\"0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4\",\"dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF\"]},\"contracts/release/interfaces/IGsnTypes.sol\":{\"keccak256\":\"0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7\",\"dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/beacon-proxy/IBeacon.sol\":{\"keccak256\":\"0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39\",\"dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V\"]},\"contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol\":{\"keccak256\":\"0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be\",\"dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG\"]},\"node_modules/@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0x15e2d5bd4c28a88548074c54d220e8086f638a71ed07e6b3ba5a70066fcf458d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://90faf5851c02f9bd42c5bfb54d4f0421a2612f50ab80b2c4fa24fa3792071cc2\",\"dweb:/ipfs/QmRGM4F2PcGVF85aTfaA9YBhCHHDqrMhRjyp6fGeBTtirb\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20Burnable.sol\":{\"keccak256\":\"0x9c0eb3b0e11d2480d49991dc384f1e5f9c9b9967cc81944d50916a9b9c6c4984\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99e4033d778624992e86f0b6d801a4f6d7b5c0cd5c79c1296be90a051ad5f5af\",\"dweb:/ipfs/QmShYmkUqh6pDEeoWadZ24icmCr4C2Xys1uE5boivPmbwf\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "spender", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "Approval", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "previousOwner", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "newOwner", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "OwnershipTransferred", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "to", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "Transfer", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_minters", - "type": "address[]" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "addMinters" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "bad", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "burn" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "burnFrom" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "comptrollerProxy", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "subtractedValue", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "decreaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "addedValue", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "increaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "makeItReentracyToken" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "mint" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_who", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "mintFor" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "renounceOwnership" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "transferOwnership" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "allowance(address,address)": { - "details": "See {IERC20-allowance}." - }, - "approve(address,uint256)": { - "details": "See {IERC20-approve}. Requirements: - `spender` cannot be the zero address." - }, - "balanceOf(address)": { - "details": "See {IERC20-balanceOf}." - }, - "burn(uint256)": { - "details": "Destroys `amount` tokens from the caller. See {ERC20-_burn}." - }, - "burnFrom(address,uint256)": { - "details": "Destroys `amount` tokens from `account`, deducting from the caller's allowance. See {ERC20-_burn} and {ERC20-allowance}. Requirements: - the caller must have allowance for ``accounts``'s tokens of at least `amount`." - }, - "decimals()": { - "details": "Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5,05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the value {ERC20} uses, unless {_setupDecimals} is called. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}." - }, - "decreaseAllowance(address,uint256)": { - "details": "Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`." - }, - "increaseAllowance(address,uint256)": { - "details": "Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address." - }, - "name()": { - "details": "Returns the name of the token." - }, - "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 anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner." - }, - "symbol()": { - "details": "Returns the symbol of the token, usually a shorter version of the name." - }, - "totalSupply()": { - "details": "See {IERC20-totalSupply}." - }, - "transfer(address,uint256)": { - "details": "See {IERC20-transfer}. Requirements: - `recipient` cannot be the zero address. - the caller must have a balance of at least `amount`." - }, - "transferFrom(address,address,uint256)": { - "details": "See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. Requirements: - `sender` and `recipient` cannot be the zero address. - `sender` must have a balance of at least `amount`. - the caller must have allowance for ``sender``'s tokens of at least `amount`." - }, - "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": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/mocks/MockReentrancyToken.sol": "MockReentrancyToken" - }, - "libraries": {} - }, - "sources": { - "contracts/mocks/MockReentrancyToken.sol": { - "keccak256": "0x647d13ecf8c5f32f27a4ac6434f364e27bedf88580d9bbf3d54d045eea0e5718", - "urls": [ - "bzz-raw://85448e801737b41936663df82404c945db88c16b78fc2558bd895f2550655158", - "dweb:/ipfs/QmeT2n47tvdTp1FNh3gUhDeGpwe6nE1B16iLxqYmWyXoBa" - ], - "license": "GPL-3.0" - }, - "contracts/mocks/MockToken.sol": { - "keccak256": "0x0ff282a2646d5ae4f10709ee3df0f0f6726eb62d8b32082f852af2f2d69ffea9", - "urls": [ - "bzz-raw://cad9b0dd4da24c968ee14332da613cf7621d7ff4b305cf39c508975929579c9e", - "dweb:/ipfs/QmX2kjKWSHyUztfvs3UdhK4ige2N8miWYTrYXbmTXr2xFM" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/dispatcher/IDispatcher.sol": { - "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", - "urls": [ - "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", - "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/external-positions/IExternalPosition.sol": { - "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", - "urls": [ - "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", - "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IExternalPositionVault.sol": { - "keccak256": "0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6", - "urls": [ - "bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d", - "dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol": { - "keccak256": "0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0", - "urls": [ - "bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb", - "dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IMigratableVault.sol": { - "keccak256": "0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238", - "urls": [ - "bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6", - "dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IVaultCore.sol": { - "keccak256": "0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80", - "urls": [ - "bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd", - "dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund-deployer/IFundDeployer.sol": { - "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", - "urls": [ - "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", - "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/comptroller/ComptrollerLib.sol": { - "keccak256": "0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64", - "urls": [ - "bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579", - "dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/comptroller/IComptroller.sol": { - "keccak256": "0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f", - "urls": [ - "bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97", - "dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/vault/IVault.sol": { - "keccak256": "0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd", - "urls": [ - "bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599", - "dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/IExtension.sol": { - "keccak256": "0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b", - "urls": [ - "bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70", - "dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/fee-manager/IFeeManager.sol": { - "keccak256": "0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51", - "urls": [ - "bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22", - "dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/policy-manager/IPolicyManager.sol": { - "keccak256": "0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32", - "urls": [ - "bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa", - "dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol": { - "keccak256": "0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609", - "urls": [ - "bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f", - "dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol": { - "keccak256": "0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01", - "urls": [ - "bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0", - "dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol": { - "keccak256": "0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196", - "urls": [ - "bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b", - "dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol": { - "keccak256": "0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794", - "urls": [ - "bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965", - "dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IGsnForwarder.sol": { - "keccak256": "0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030", - "urls": [ - "bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29", - "dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IGsnPaymaster.sol": { - "keccak256": "0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c", - "urls": [ - "bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4", - "dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IGsnTypes.sol": { - "keccak256": "0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714", - "urls": [ - "bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7", - "dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AddressArrayLib.sol": { - "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", - "urls": [ - "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", - "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/beacon-proxy/IBeacon.sol": { - "keccak256": "0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2", - "urls": [ - "bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39", - "dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol": { - "keccak256": "0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc", - "urls": [ - "bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be", - "dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/access/Ownable.sol": { - "keccak256": "0x15e2d5bd4c28a88548074c54d220e8086f638a71ed07e6b3ba5a70066fcf458d", - "urls": [ - "bzz-raw://90faf5851c02f9bd42c5bfb54d4f0421a2612f50ab80b2c4fa24fa3792071cc2", - "dweb:/ipfs/QmRGM4F2PcGVF85aTfaA9YBhCHHDqrMhRjyp6fGeBTtirb" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20Burnable.sol": { - "keccak256": "0x9c0eb3b0e11d2480d49991dc384f1e5f9c9b9967cc81944d50916a9b9c6c4984", - "urls": [ - "bzz-raw://99e4033d778624992e86f0b6d801a4f6d7b5c0cd5c79c1296be90a051ad5f5af", - "dweb:/ipfs/QmShYmkUqh6pDEeoWadZ24icmCr4C2Xys1uE5boivPmbwf" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { - "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", - "urls": [ - "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", - "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Address.sol": { - "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", - "urls": [ - "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", - "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 5 -} +{ "abi": [ { "type": "function", "name": "addMinters", "inputs": [ { "name": "_minters", "type": "address[]", "internalType": "address[]" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "allowance", "inputs": [ { "name": "owner", "type": "address", "internalType": "address" }, { "name": "spender", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "approve", "inputs": [ { "name": "spender", "type": "address", "internalType": "address" }, { "name": "amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "bad", "inputs": [], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "balanceOf", "inputs": [ { "name": "account", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "burn", "inputs": [ { "name": "amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "burnFrom", "inputs": [ { "name": "account", "type": "address", "internalType": "address" }, { "name": "amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "comptrollerProxy", "inputs": [], "outputs": [ { "name": "", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "decimals", "inputs": [], "outputs": [ { "name": "", "type": "uint8", "internalType": "uint8" } ], "stateMutability": "view" }, { "type": "function", "name": "decreaseAllowance", "inputs": [ { "name": "spender", "type": "address", "internalType": "address" }, { "name": "subtractedValue", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "increaseAllowance", "inputs": [ { "name": "spender", "type": "address", "internalType": "address" }, { "name": "addedValue", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "makeItReentracyToken", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "mint", "inputs": [ { "name": "_amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "mintFor", "inputs": [ { "name": "_who", "type": "address", "internalType": "address" }, { "name": "_amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "name", "inputs": [], "outputs": [ { "name": "", "type": "string", "internalType": "string" } ], "stateMutability": "view" }, { "type": "function", "name": "owner", "inputs": [], "outputs": [ { "name": "", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "renounceOwnership", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "symbol", "inputs": [], "outputs": [ { "name": "", "type": "string", "internalType": "string" } ], "stateMutability": "view" }, { "type": "function", "name": "totalSupply", "inputs": [], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "transfer", "inputs": [ { "name": "recipient", "type": "address", "internalType": "address" }, { "name": "amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "transferFrom", "inputs": [ { "name": "sender", "type": "address", "internalType": "address" }, { "name": "recipient", "type": "address", "internalType": "address" }, { "name": "amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "transferOwnership", "inputs": [ { "name": "newOwner", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "event", "name": "Approval", "inputs": [ { "name": "owner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "spender", "type": "address", "indexed": true, "internalType": "address" }, { "name": "value", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "OwnershipTransferred", "inputs": [ { "name": "previousOwner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "newOwner", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "Transfer", "inputs": [ { "name": "from", "type": "address", "indexed": true, "internalType": "address" }, { "name": "to", "type": "address", "indexed": true, "internalType": "address" }, { "name": "value", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false } ], "bytecode": { "object": "0x60806040523480156200001157600080fd5b506040518060400160405280601581526020017f4d6f636b205265656e7472616e637920546f6b656e00000000000000000000008152506040518060400160405280600381526020016213549560ea1b815250601282828160039080519060200190620000809291906200033b565b508051620000969060049060208401906200033b565b50506005805460ff19166012179055506000620000b26200014b565b60058054610100600160a81b0319166101006001600160a01b03841690810291909117909155604051919250906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35062000113816200014f565b62000142336200013c8360ff16600a0a6305f5e1006200016560201b62000ef61790919060201c565b620001cc565b505050620003d7565b3390565b6005805460ff191660ff92909216919091179055565b6000826200017657506000620001c6565b828202828482816200018457fe5b0414620001c35760405162461bcd60e51b815260040180806020018281038252602181526020018062001a776021913960400191505060405180910390fd5b90505b92915050565b6001600160a01b03821662000228576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b6200023660008383620002db565b6200025281600254620002e060201b62000f561790919060201c565b6002556001600160a01b038216600090815260208181526040909120546200028591839062000f56620002e0821b17901c565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b505050565b600082820183811015620001c3576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200037e57805160ff1916838001178555620003ae565b82800160010185558215620003ae579182015b82811115620003ae57825182559160200191906001019062000391565b50620003bc929150620003c0565b5090565b5b80821115620003bc5760008155600101620003c1565b61169080620003e76000396000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c806371e2a657116100b8578063a0712d681161007c578063a0712d681461041c578063a457c2d714610439578063a9059cbb14610465578063da1919b314610491578063dd62ed3e146104bd578063f2fde38b146104eb57610142565b806371e2a6571461033557806379cc6790146103d85780638da5cb5b1461040457806395d89b411461040c5780639c3674fc1461041457610142565b8063395093511161010a578063395093511461027257806342966c681461029e578063430cf151146102bd5780634cbfb08a146102e357806370a0823114610307578063715018a61461032d57610142565b806306fdde0314610147578063095ea7b3146101c457806318160ddd1461020457806323b872dd1461021e578063313ce56714610254575b600080fd5b61014f610511565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610189578181015183820152602001610171565b50505050905090810190601f1680156101b65780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101f0600480360360408110156101da57600080fd5b506001600160a01b0381351690602001356105a7565b604080519115158252519081900360200190f35b61020c6105c5565b60408051918252519081900360200190f35b6101f06004803603606081101561023457600080fd5b506001600160a01b038135811691602081013590911690604001356105cb565b61025c610684565b6040805160ff9092168252519081900360200190f35b6101f06004803603604081101561028857600080fd5b506001600160a01b03813516906020013561068d565b6102bb600480360360208110156102b457600080fd5b50356106e0565b005b6102bb600480360360208110156102d357600080fd5b50356001600160a01b03166106f4565b6102eb610726565b604080516001600160a01b039092168252519081900360200190f35b61020c6004803603602081101561031d57600080fd5b50356001600160a01b031661073a565b6102bb610755565b6102bb6004803603602081101561034b57600080fd5b81019060208101813564010000000081111561036657600080fd5b82018360208201111561037857600080fd5b8035906020019184602083028401116401000000008311171561039a57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610819945050505050565b6102bb600480360360408110156103ee57600080fd5b506001600160a01b0381351690602001356108e9565b6102eb610943565b61014f610957565b6101f06109b8565b6102bb6004803603602081101561043257600080fd5b50356109c1565b6101f06004803603604081101561044f57600080fd5b506001600160a01b038135169060200135610a33565b6101f06004803603604081101561047b57600080fd5b506001600160a01b038135169060200135610a9b565b6102bb600480360360408110156104a757600080fd5b506001600160a01b038135169060200135610d39565b61020c600480360360408110156104d357600080fd5b506001600160a01b0381358116916020013516610dab565b6102bb6004803603602081101561050157600080fd5b50356001600160a01b0316610dd6565b60038054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561059d5780601f106105725761010080835404028352916020019161059d565b820191906000526020600020905b81548152906001019060200180831161058057829003601f168201915b5050505050905090565b60006105bb6105b4610fb0565b8484610fb4565b5060015b92915050565b60025490565b60075460009060ff161561066f57600760019054906101000a90046001600160a01b03166001600160a01b031663beebc5da6000806040518363ffffffff1660e01b81526004018083815260200182815260200192505050602060405180830381600087803b15801561063d57600080fd5b505af1158015610651573d6000803e3d6000fd5b505050506040513d602081101561066757600080fd5b5061067a9050565b61067a8484846110a0565b5060019392505050565b60055460ff1690565b60006105bb61069a610fb0565b846106db85600160006106ab610fb0565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490610f56565b610fb4565b6106f16106eb610fb0565b826111fb565b50565b600780546001600160a01b0390921661010002610100600160a81b031960ff1990931660011792909216919091179055565b60075461010090046001600160a01b031681565b6001600160a01b031660009081526020819052604090205490565b61075d610fb0565b6001600160a01b031661076e610943565b6001600160a01b0316146107c9576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b60055460405160009161010090046001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a360058054610100600160a81b0319169055565b610821610fb0565b6001600160a01b0316610832610943565b6001600160a01b03161461088d576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b60005b81518110156108e5576001600660008484815181106108ab57fe5b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055600101610890565b5050565b6000610920826040518060600160405280602481526020016115b06024913961091986610914610fb0565b610dab565b91906112f7565b90506109348361092e610fb0565b83610fb4565b61093e83836111fb565b505050565b60055461010090046001600160a01b031690565b60048054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561059d5780601f106105725761010080835404028352916020019161059d565b60075460ff1681565b3360009081526006602052604090205460ff16806109ee5750336109e3610943565b6001600160a01b0316145b610a295760405162461bcd60e51b815260040180806020018281038252602181526020018061163e6021913960400191505060405180910390fd5b6106f1338261138e565b60006105bb610a40610fb0565b846106db8560405180606001604052806025815260200161165f6025913960016000610a6a610fb0565b6001600160a01b03908116825260208083019390935260409182016000908120918d168152925290205491906112f7565b60075460009060ff1615610d275760075461010090046001600160a01b0316636af8e7eb30846000604051908082528060200260200182016040528015610aec578160200160208202803683370190505b506040805160008082526020820190925290506040518563ffffffff1660e01b815260040180856001600160a01b031681526020018481526020018060200180602001838103835285818151815260200191508051906020019060200280838360005b83811015610b67578181015183820152602001610b4f565b50505050905001838103825284818151815260200191508051906020019060200280838360005b83811015610ba6578181015183820152602001610b8e565b505050509050019650505050505050600060405180830381600087803b158015610bcf57600080fd5b505af1158015610be3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040908152811015610c0c57600080fd5b8101908080516040519392919084640100000000821115610c2c57600080fd5b908301906020820185811115610c4157600080fd5b8251866020820283011164010000000082111715610c5e57600080fd5b82525081516020918201928201910280838360005b83811015610c8b578181015183820152602001610c73565b5050505090500160405260200180516040519392919084640100000000821115610cb457600080fd5b908301906020820185811115610cc957600080fd5b8251866020820283011164010000000082111715610ce657600080fd5b82525081516020918201928201910280838360005b83811015610d13578181015183820152602001610cfb565b5050505090500160405250505050506105bb565b6105bb610d32610fb0565b84846110a0565b3360009081526006602052604090205460ff1680610d66575033610d5b610943565b6001600160a01b0316145b610da15760405162461bcd60e51b815260040180806020018281038252602181526020018061163e6021913960400191505060405180910390fd5b6108e5828261138e565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b610dde610fb0565b6001600160a01b0316610def610943565b6001600160a01b031614610e4a576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b038116610e8f5760405162461bcd60e51b81526004018080602001828103825260268152602001806115216026913960400191505060405180910390fd5b6005546040516001600160a01b0380841692610100900416907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600580546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b600082610f05575060006105bf565b82820282848281610f1257fe5b0414610f4f5760405162461bcd60e51b815260040180806020018281038252602181526020018061158f6021913960400191505060405180910390fd5b9392505050565b600082820183811015610f4f576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b3390565b6001600160a01b038316610ff95760405162461bcd60e51b815260040180806020018281038252602481526020018061161a6024913960400191505060405180910390fd5b6001600160a01b03821661103e5760405162461bcd60e51b81526004018080602001828103825260228152602001806115476022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0383166110e55760405162461bcd60e51b81526004018080602001828103825260258152602001806115f56025913960400191505060405180910390fd5b6001600160a01b03821661112a5760405162461bcd60e51b81526004018080602001828103825260238152602001806114dc6023913960400191505060405180910390fd5b61113583838361093e565b61117281604051806060016040528060268152602001611569602691396001600160a01b03861660009081526020819052604090205491906112f7565b6001600160a01b0380851660009081526020819052604080822093909355908416815220546111a19082610f56565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b6001600160a01b0382166112405760405162461bcd60e51b81526004018080602001828103825260218152602001806115d46021913960400191505060405180910390fd5b61124c8260008361093e565b611289816040518060600160405280602281526020016114ff602291396001600160a01b03851660009081526020819052604090205491906112f7565b6001600160a01b0383166000908152602081905260409020556002546112af908261147e565b6002556040805182815290516000916001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b600081848411156113865760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561134b578181015183820152602001611333565b50505050905090810190601f1680156113785780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6001600160a01b0382166113e9576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b6113f56000838361093e565b6002546114029082610f56565b6002556001600160a01b0382166000908152602081905260409020546114289082610f56565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6000828211156114d5576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b5090039056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e63654f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a206275726e20616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f20616464726573736d73672e73656e646572206973206e6f74206f776e6572206f72206d696e74657245524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa164736f6c634300060c000a536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77", "sourceMap": "573:1032:5:-:0;;;;;;;;;;;;;781:249:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;781:249:6;;;647:2:5;897:5:6;904:7;2040:5:447;2032;:13;;;;;;;;;;;;:::i;:::-;-1:-1:-1;2055:17:447;;;;:7;;:17;;;;;:::i;:::-;-1:-1:-1;;2082:9:447;:14;;-1:-1:-1;;2082:14:447;2094:2;2082:14;;;-1:-1:-1;2082:9:447;904:12:441;:10;:12::i;:::-;926:6;:18;;-1:-1:-1;;;;;;926:18:441;;-1:-1:-1;;;;;926:18:441;;;;;;;;;;;;959:43;;926:18;;-1:-1:-1;926:18:441;-1:-1:-1;;959:43:441;;-1:-1:-1;;959:43:441;-1:-1:-1;923:25:6::1;938:9:::0;923:14:::1;:25::i;:::-;958:65;964:10;976:46;1011:9;1003:18;;999:2;:22;984:9;976:22;;;;;;:46;;;;:::i;:::-;958:5;:65::i;:::-;781:249:::0;;;573:1032:5;;598:104:452;685:10;598:104;:::o;10018:96:447:-;10086:9;:21;;-1:-1:-1;;10086:21:447;;;;;;;;;;;;10018:96::o;3538:215:442:-;3596:7;3619:6;3615:20;;-1:-1:-1;3634:1:442;3627:8;;3615:20;3657:5;;;3661:1;3657;:5;:1;3680:5;;;;;:10;3672:56;;;;-1:-1:-1;;;3672:56:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3745:1;-1:-1:-1;3538:215:442;;;;;:::o;7832:370:447:-;-1:-1:-1;;;;;7915:21:447;;7907:65;;;;;-1:-1:-1;;;7907:65:447;;;;;;;;;;;;;;;;;;;;;;;;;;;;7983:49;8012:1;8016:7;8025:6;7983:20;:49::i;:::-;8058:24;8075:6;8058:12;;:16;;;;;;:24;;;;:::i;:::-;8043:12;:39;-1:-1:-1;;;;;8113:18:447;;:9;:18;;;;;;;;;;;;:30;;8136:6;;8113:22;;;;;:30;;:::i;:::-;-1:-1:-1;;;;;8092:18:447;;:9;:18;;;;;;;;;;;:51;;;;8158:37;;;;;;;8092:18;;:9;;8158:37;;;;;;;;;;7832:370;;:::o;10701:92::-;;;;:::o;2690:175:442:-;2748:7;2779:5;;;2802:6;;;;2794:46;;;;;-1:-1:-1;;;2794:46:442;;;;;;;;;;;;;;;;;;;;;;;;;;;573:1032:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;573:1032:5;;;-1:-1:-1;573:1032:5;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106101425760003560e01c806371e2a657116100b8578063a0712d681161007c578063a0712d681461041c578063a457c2d714610439578063a9059cbb14610465578063da1919b314610491578063dd62ed3e146104bd578063f2fde38b146104eb57610142565b806371e2a6571461033557806379cc6790146103d85780638da5cb5b1461040457806395d89b411461040c5780639c3674fc1461041457610142565b8063395093511161010a578063395093511461027257806342966c681461029e578063430cf151146102bd5780634cbfb08a146102e357806370a0823114610307578063715018a61461032d57610142565b806306fdde0314610147578063095ea7b3146101c457806318160ddd1461020457806323b872dd1461021e578063313ce56714610254575b600080fd5b61014f610511565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610189578181015183820152602001610171565b50505050905090810190601f1680156101b65780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101f0600480360360408110156101da57600080fd5b506001600160a01b0381351690602001356105a7565b604080519115158252519081900360200190f35b61020c6105c5565b60408051918252519081900360200190f35b6101f06004803603606081101561023457600080fd5b506001600160a01b038135811691602081013590911690604001356105cb565b61025c610684565b6040805160ff9092168252519081900360200190f35b6101f06004803603604081101561028857600080fd5b506001600160a01b03813516906020013561068d565b6102bb600480360360208110156102b457600080fd5b50356106e0565b005b6102bb600480360360208110156102d357600080fd5b50356001600160a01b03166106f4565b6102eb610726565b604080516001600160a01b039092168252519081900360200190f35b61020c6004803603602081101561031d57600080fd5b50356001600160a01b031661073a565b6102bb610755565b6102bb6004803603602081101561034b57600080fd5b81019060208101813564010000000081111561036657600080fd5b82018360208201111561037857600080fd5b8035906020019184602083028401116401000000008311171561039a57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610819945050505050565b6102bb600480360360408110156103ee57600080fd5b506001600160a01b0381351690602001356108e9565b6102eb610943565b61014f610957565b6101f06109b8565b6102bb6004803603602081101561043257600080fd5b50356109c1565b6101f06004803603604081101561044f57600080fd5b506001600160a01b038135169060200135610a33565b6101f06004803603604081101561047b57600080fd5b506001600160a01b038135169060200135610a9b565b6102bb600480360360408110156104a757600080fd5b506001600160a01b038135169060200135610d39565b61020c600480360360408110156104d357600080fd5b506001600160a01b0381358116916020013516610dab565b6102bb6004803603602081101561050157600080fd5b50356001600160a01b0316610dd6565b60038054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561059d5780601f106105725761010080835404028352916020019161059d565b820191906000526020600020905b81548152906001019060200180831161058057829003601f168201915b5050505050905090565b60006105bb6105b4610fb0565b8484610fb4565b5060015b92915050565b60025490565b60075460009060ff161561066f57600760019054906101000a90046001600160a01b03166001600160a01b031663beebc5da6000806040518363ffffffff1660e01b81526004018083815260200182815260200192505050602060405180830381600087803b15801561063d57600080fd5b505af1158015610651573d6000803e3d6000fd5b505050506040513d602081101561066757600080fd5b5061067a9050565b61067a8484846110a0565b5060019392505050565b60055460ff1690565b60006105bb61069a610fb0565b846106db85600160006106ab610fb0565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490610f56565b610fb4565b6106f16106eb610fb0565b826111fb565b50565b600780546001600160a01b0390921661010002610100600160a81b031960ff1990931660011792909216919091179055565b60075461010090046001600160a01b031681565b6001600160a01b031660009081526020819052604090205490565b61075d610fb0565b6001600160a01b031661076e610943565b6001600160a01b0316146107c9576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b60055460405160009161010090046001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a360058054610100600160a81b0319169055565b610821610fb0565b6001600160a01b0316610832610943565b6001600160a01b03161461088d576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b60005b81518110156108e5576001600660008484815181106108ab57fe5b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055600101610890565b5050565b6000610920826040518060600160405280602481526020016115b06024913961091986610914610fb0565b610dab565b91906112f7565b90506109348361092e610fb0565b83610fb4565b61093e83836111fb565b505050565b60055461010090046001600160a01b031690565b60048054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561059d5780601f106105725761010080835404028352916020019161059d565b60075460ff1681565b3360009081526006602052604090205460ff16806109ee5750336109e3610943565b6001600160a01b0316145b610a295760405162461bcd60e51b815260040180806020018281038252602181526020018061163e6021913960400191505060405180910390fd5b6106f1338261138e565b60006105bb610a40610fb0565b846106db8560405180606001604052806025815260200161165f6025913960016000610a6a610fb0565b6001600160a01b03908116825260208083019390935260409182016000908120918d168152925290205491906112f7565b60075460009060ff1615610d275760075461010090046001600160a01b0316636af8e7eb30846000604051908082528060200260200182016040528015610aec578160200160208202803683370190505b506040805160008082526020820190925290506040518563ffffffff1660e01b815260040180856001600160a01b031681526020018481526020018060200180602001838103835285818151815260200191508051906020019060200280838360005b83811015610b67578181015183820152602001610b4f565b50505050905001838103825284818151815260200191508051906020019060200280838360005b83811015610ba6578181015183820152602001610b8e565b505050509050019650505050505050600060405180830381600087803b158015610bcf57600080fd5b505af1158015610be3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040908152811015610c0c57600080fd5b8101908080516040519392919084640100000000821115610c2c57600080fd5b908301906020820185811115610c4157600080fd5b8251866020820283011164010000000082111715610c5e57600080fd5b82525081516020918201928201910280838360005b83811015610c8b578181015183820152602001610c73565b5050505090500160405260200180516040519392919084640100000000821115610cb457600080fd5b908301906020820185811115610cc957600080fd5b8251866020820283011164010000000082111715610ce657600080fd5b82525081516020918201928201910280838360005b83811015610d13578181015183820152602001610cfb565b5050505090500160405250505050506105bb565b6105bb610d32610fb0565b84846110a0565b3360009081526006602052604090205460ff1680610d66575033610d5b610943565b6001600160a01b0316145b610da15760405162461bcd60e51b815260040180806020018281038252602181526020018061163e6021913960400191505060405180910390fd5b6108e5828261138e565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b610dde610fb0565b6001600160a01b0316610def610943565b6001600160a01b031614610e4a576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b038116610e8f5760405162461bcd60e51b81526004018080602001828103825260268152602001806115216026913960400191505060405180910390fd5b6005546040516001600160a01b0380841692610100900416907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600580546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b600082610f05575060006105bf565b82820282848281610f1257fe5b0414610f4f5760405162461bcd60e51b815260040180806020018281038252602181526020018061158f6021913960400191505060405180910390fd5b9392505050565b600082820183811015610f4f576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b3390565b6001600160a01b038316610ff95760405162461bcd60e51b815260040180806020018281038252602481526020018061161a6024913960400191505060405180910390fd5b6001600160a01b03821661103e5760405162461bcd60e51b81526004018080602001828103825260228152602001806115476022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0383166110e55760405162461bcd60e51b81526004018080602001828103825260258152602001806115f56025913960400191505060405180910390fd5b6001600160a01b03821661112a5760405162461bcd60e51b81526004018080602001828103825260238152602001806114dc6023913960400191505060405180910390fd5b61113583838361093e565b61117281604051806060016040528060268152602001611569602691396001600160a01b03861660009081526020819052604090205491906112f7565b6001600160a01b0380851660009081526020819052604080822093909355908416815220546111a19082610f56565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b6001600160a01b0382166112405760405162461bcd60e51b81526004018080602001828103825260218152602001806115d46021913960400191505060405180910390fd5b61124c8260008361093e565b611289816040518060600160405280602281526020016114ff602291396001600160a01b03851660009081526020819052604090205491906112f7565b6001600160a01b0383166000908152602081905260409020556002546112af908261147e565b6002556040805182815290516000916001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b600081848411156113865760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561134b578181015183820152602001611333565b50505050905090810190601f1680156113785780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6001600160a01b0382166113e9576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b6113f56000838361093e565b6002546114029082610f56565b6002556001600160a01b0382166000908152602081905260409020546114289082610f56565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6000828211156114d5576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b5090039056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e63654f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a206275726e20616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f20616464726573736d73672e73656e646572206973206e6f74206f776e6572206f72206d696e74657245524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa164736f6c634300060c000a", "sourceMap": "573:1032:5:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2168:89:447;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4244:166;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;4244:166:447;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;3235:106;;;:::i;:::-;;;;;;;;;;;;;;;;1283:320:5;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1283:320:5;;;;;;;;;;;;;;;;;:::i;3086:89:447:-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5589:215;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;5589:215:447;;;;;;;;:::i;524:89:448:-;;;;;;;;;;;;;;;;-1:-1:-1;524:89:448;;:::i;:::-;;716:139:5;;;;;;;;;;;;;;;;-1:-1:-1;716:139:5;-1:-1:-1;;;;;716:139:5;;:::i;678:31::-;;;:::i;:::-;;;;-1:-1:-1;;;;;678:31:5;;;;;;;;;;;;;;3399:125:447;;;;;;;;;;;;;;;;-1:-1:-1;3399:125:447;-1:-1:-1;;;;;3399:125:447;;:::i;1717:145:441:-;;;:::i;1247:188:6:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1247:188:6;;-1:-1:-1;1247:188:6;;-1:-1:-1;;;;;1247:188:6:i;919:290:448:-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;919:290:448;;;;;;;;:::i;1085:85:441:-;;;:::i;2370:93:447:-;;;:::i;657:15:5:-;;;:::i;1147:94:6:-;;;;;;;;;;;;;;;;-1:-1:-1;1147:94:6;;:::i;6291:266:447:-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;6291:266:447;;;;;;;;:::i;861:416:5:-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;861:416:5;;;;;;;;:::i;1036:105:6:-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1036:105:6;;;;;;;;:::i;3957:149:447:-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;3957:149:447;;;;;;;;;;:::i;2011:240:441:-;;;;;;;;;;;;;;;;-1:-1:-1;2011:240:441;-1:-1:-1;;;;;2011:240:441;;:::i;2168:89:447:-;2245:5;2238:12;;;;;;;;-1:-1:-1;;2238:12:447;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2213:13;;2238:12;;2245:5;;2238:12;;2245:5;2238:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2168:89;:::o;4244:166::-;4327:4;4343:39;4352:12;:10;:12::i;:::-;4366:7;4375:6;4343:8;:39::i;:::-;-1:-1:-1;4399:4:447;4244:166;;;;;:::o;3235:106::-;3322:12;;3235:106;:::o;1283:320:5:-;1431:3;;1411:4;;1431:3;;1427:149;;;1465:16;;;;;;;;;-1:-1:-1;;;;;1465:16:5;-1:-1:-1;;;;;1450:42:5;;1493:1;1496;1450:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1427:149:5;;-1:-1:-1;1427:149:5;;1529:36;1539:6;1547:9;1558:6;1529:9;:36::i;:::-;-1:-1:-1;1592:4:5;1283:320;;;;;:::o;3086:89:447:-;3159:9;;;;3086:89;:::o;5589:215::-;5677:4;5693:83;5702:12;:10;:12::i;:::-;5716:7;5725:50;5764:10;5725:11;:25;5737:12;:10;:12::i;:::-;-1:-1:-1;;;;;5725:25:447;;;;;;;;;;;;;;;;;-1:-1:-1;5725:25:447;;;:34;;;;;;;;;;;:38;:50::i;:::-;5693:8;:83::i;524:89:448:-;579:27;585:12;:10;:12::i;:::-;599:6;579:5;:27::i;:::-;524:89;:::o;716:139:5:-;792:3;:10;;-1:-1:-1;;;;;812:36:5;;;792:10;812:36;-1:-1:-1;;;;;;;;792:10:5;;;798:4;792:10;812:36;;;;;;;;;;716:139::o;678:31::-;;;;;;-1:-1:-1;;;;;678:31:5;;:::o;3399:125:447:-;-1:-1:-1;;;;;3499:18:447;3473:7;3499:18;;;;;;;;;;;;3399:125::o;1717:145:441:-;1308:12;:10;:12::i;:::-;-1:-1:-1;;;;;1297:23:441;:7;:5;:7::i;:::-;-1:-1:-1;;;;;1297:23:441;;1289:68;;;;;-1:-1:-1;;;1289:68:441;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1807:6:::1;::::0;1786:40:::1;::::0;1823:1:::1;::::0;1807:6:::1;::::0;::::1;-1:-1:-1::0;;;;;1807:6:441::1;::::0;1786:40:::1;::::0;1823:1;;1786:40:::1;1836:6;:19:::0;;-1:-1:-1;;;;;;1836:19:441::1;::::0;;1717:145::o;1247:188:6:-;1308:12:441;:10;:12::i;:::-;-1:-1:-1;;;;;1297:23:441;:7;:5;:7::i;:::-;-1:-1:-1;;;;;1297:23:441;;1289:68;;;;;-1:-1:-1;;;1289:68:441;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1326:9:6::1;1321:108;1345:8;:15;1341:1;:19;1321:108;;;1414:4;1381:17;:30;1399:8;1408:1;1399:11;;;;;;;;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;1381:30:6::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;1381:30:6;:37;;-1:-1:-1;;1381:37:6::1;::::0;::::1;;::::0;;;::::1;::::0;;-1:-1:-1;1362:3:6::1;1321:108;;;;1247:188:::0;:::o;919:290:448:-;995:26;1024:84;1061:6;1024:84;;;;;;;;;;;;;;;;;:32;1034:7;1043:12;:10;:12::i;:::-;1024:9;:32::i;:::-;:36;:84;:36;:84::i;:::-;995:113;;1119:51;1128:7;1137:12;:10;:12::i;:::-;1151:18;1119:8;:51::i;:::-;1180:22;1186:7;1195:6;1180:5;:22::i;:::-;919:290;;;:::o;1085:85:441:-;1157:6;;;;;-1:-1:-1;;;;;1157:6:441;;1085:85::o;2370:93:447:-;2449:7;2442:14;;;;;;;;-1:-1:-1;;2442:14:447;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2417:13;;2442:14;;2449:7;;2442:14;;2449:7;2442:14;;;;;;;;;;;;;;;;;;;;;;;;657:15:5;;;;;;:::o;1147:94:6:-;662:10;644:29;;;;:17;:29;;;;;;;;;:54;;-1:-1:-1;688:10:6;677:7;:5;:7::i;:::-;-1:-1:-1;;;;;677:21:6;;644:54;623:134;;;;-1:-1:-1;;;623:134:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1208:26:::1;1214:10;1226:7;1208:5;:26::i;6291:266:447:-:0;6384:4;6400:129;6409:12;:10;:12::i;:::-;6423:7;6432:96;6471:15;6432:96;;;;;;;;;;;;;;;;;:11;:25;6444:12;:10;:12::i;:::-;-1:-1:-1;;;;;6432:25:447;;;;;;;;;;;;;;;;;-1:-1:-1;6432:25:447;;;:34;;;;;;;;;;;:96;:38;:96::i;861:416:5:-;959:3;;939:4;;959:3;;955:295;;;993:16;;;;;-1:-1:-1;;;;;993:16:5;978:51;1055:4;1078:6;1116:1;1102:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1102:16:5;-1:-1:-1;1136:16:5;;;1150:1;1136:16;;;;;;;;;;;978:188;;;;;;;;;;;;;-1:-1:-1;;;;;978:188:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;978:188:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;978:188:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;978:188:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;955:295;;;1197:42;1207:12;:10;:12::i;:::-;1221:9;1232:6;1197:9;:42::i;1036:105:6:-;662:10;644:29;;;;:17;:29;;;;;;;;;:54;;-1:-1:-1;688:10:6;677:7;:5;:7::i;:::-;-1:-1:-1;;;;;677:21:6;;644:54;623:134;;;;-1:-1:-1;;;623:134:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1114:20:::1;1120:4;1126:7;1114:5;:20::i;3957:149:447:-:0;-1:-1:-1;;;;;4072:18:447;;;4046:7;4072:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;3957:149::o;2011:240:441:-;1308:12;:10;:12::i;:::-;-1:-1:-1;;;;;1297:23:441;:7;:5;:7::i;:::-;-1:-1:-1;;;;;1297:23:441;;1289:68;;;;;-1:-1:-1;;;1289:68:441;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2099:22:441;::::1;2091:73;;;;-1:-1:-1::0;;;2091:73:441::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2200:6;::::0;2179:38:::1;::::0;-1:-1:-1;;;;;2179:38:441;;::::1;::::0;2200:6:::1;::::0;::::1;;::::0;2179:38:::1;::::0;;;::::1;2227:6;:17:::0;;-1:-1:-1;;;;;2227:17:441;;::::1;;;-1:-1:-1::0;;;;;;2227:17:441;;::::1;::::0;;;::::1;::::0;;2011:240::o;3538:215:442:-;3596:7;3619:6;3615:20;;-1:-1:-1;3634:1:442;3627:8;;3615:20;3657:5;;;3661:1;3657;:5;:1;3680:5;;;;;:10;3672:56;;;;-1:-1:-1;;;3672:56:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3745:1;3538:215;-1:-1:-1;;;3538:215:442:o;2690:175::-;2748:7;2779:5;;;2802:6;;;;2794:46;;;;;-1:-1:-1;;;2794:46:442;;;;;;;;;;;;;;;;;;;;;;;;;;;598:104:452;685:10;598:104;:::o;9355:340:447:-;-1:-1:-1;;;;;9456:19:447;;9448:68;;;;-1:-1:-1;;;9448:68:447;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9534:21:447;;9526:68;;;;-1:-1:-1;;;9526:68:447;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9605:18:447;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;9656:32;;;;;;;;;;;;;;;;;9355:340;;;:::o;7031:530::-;-1:-1:-1;;;;;7136:20:447;;7128:70;;;;-1:-1:-1;;;7128:70:447;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7216:23:447;;7208:71;;;;-1:-1:-1;;;7208:71:447;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7290:47;7311:6;7319:9;7330:6;7290:20;:47::i;:::-;7368:71;7390:6;7368:71;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7368:17:447;;:9;:17;;;;;;;;;;;;:71;:21;:71::i;:::-;-1:-1:-1;;;;;7348:17:447;;;:9;:17;;;;;;;;;;;:91;;;;7472:20;;;;;;;:32;;7497:6;7472:24;:32::i;:::-;-1:-1:-1;;;;;7449:20:447;;;:9;:20;;;;;;;;;;;;:55;;;;7519:35;;;;;;;7449:20;;7519:35;;;;;;;;;;;;;7031:530;;;:::o;8522:410::-;-1:-1:-1;;;;;8605:21:447;;8597:67;;;;-1:-1:-1;;;8597:67:447;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8675:49;8696:7;8713:1;8717:6;8675:20;:49::i;:::-;8756:68;8779:6;8756:68;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8756:18:447;;:9;:18;;;;;;;;;;;;:68;:22;:68::i;:::-;-1:-1:-1;;;;;8735:18:447;;:9;:18;;;;;;;;;;:89;8849:12;;:24;;8866:6;8849:16;:24::i;:::-;8834:12;:39;8888:37;;;;;;;;8914:1;;-1:-1:-1;;;;;8888:37:447;;;;;;;;;;;;8522:410;;:::o;5432:163:442:-;5518:7;5553:12;5545:6;;;;5537:29;;;;-1:-1:-1;;;5537:29:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5583:5:442;;;5432:163::o;7832:370:447:-;-1:-1:-1;;;;;7915:21:447;;7907:65;;;;;-1:-1:-1;;;7907:65:447;;;;;;;;;;;;;;;;;;;;;;;;;;;;7983:49;8012:1;8016:7;8025:6;7983:20;:49::i;:::-;8058:12;;:24;;8075:6;8058:16;:24::i;:::-;8043:12;:39;-1:-1:-1;;;;;8113:18:447;;:9;:18;;;;;;;;;;;:30;;8136:6;8113:22;:30::i;:::-;-1:-1:-1;;;;;8092:18:447;;:9;:18;;;;;;;;;;;:51;;;;8158:37;;;;;;;8092:18;;:9;;8158:37;;;;;;;;;;7832:370;;:::o;3136:155:442:-;3194:7;3226:1;3221;:6;;3213:49;;;;;-1:-1:-1;;;3213:49:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3279:5:442;;;3136:155::o", "linkReferences": {} }, "methodIdentifiers": { "addMinters(address[])": "71e2a657", "allowance(address,address)": "dd62ed3e", "approve(address,uint256)": "095ea7b3", "bad()": "9c3674fc", "balanceOf(address)": "70a08231", "burn(uint256)": "42966c68", "burnFrom(address,uint256)": "79cc6790", "comptrollerProxy()": "4cbfb08a", "decimals()": "313ce567", "decreaseAllowance(address,uint256)": "a457c2d7", "increaseAllowance(address,uint256)": "39509351", "makeItReentracyToken(address)": "430cf151", "mint(uint256)": "a0712d68", "mintFor(address,uint256)": "da1919b3", "name()": "06fdde03", "owner()": "8da5cb5b", "renounceOwnership()": "715018a6", "symbol()": "95d89b41", "totalSupply()": "18160ddd", "transfer(address,uint256)": "a9059cbb", "transferFrom(address,address,uint256)": "23b872dd", "transferOwnership(address)": "f2fde38b" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"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\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"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\":\"_minters\",\"type\":\"address[]\"}],\"name\":\"addMinters\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"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\":[],\"name\":\"bad\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"burnFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"comptrollerProxy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"}],\"name\":\"makeItReentracyToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_who\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"mintFor\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"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\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"burn(uint256)\":{\"details\":\"Destroys `amount` tokens from the caller. See {ERC20-_burn}.\"},\"burnFrom(address,uint256)\":{\"details\":\"Destroys `amount` tokens from `account`, deducting from the caller's allowance. See {ERC20-_burn} and {ERC20-allowance}. Requirements: - the caller must have allowance for ``accounts``'s tokens of at least `amount`.\"},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5,05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the value {ERC20} uses, unless {_setupDecimals} is called. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.\"},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"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 anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `recipient` cannot be the zero address. - the caller must have a balance of at least `amount`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. Requirements: - `sender` and `recipient` cannot be the zero address. - `sender` must have a balance of at least `amount`. - the caller must have allowance for ``sender``'s tokens of at least `amount`.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"title\":\"MockReentrancyToken Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"A mock ERC20 token implementation that is able to re-entrance redeemShares and buyShares functions\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/mocks/MockReentrancyToken.sol\":\"MockReentrancyToken\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/mocks/MockReentrancyToken.sol\":{\"keccak256\":\"0x647d13ecf8c5f32f27a4ac6434f364e27bedf88580d9bbf3d54d045eea0e5718\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://85448e801737b41936663df82404c945db88c16b78fc2558bd895f2550655158\",\"dweb:/ipfs/QmeT2n47tvdTp1FNh3gUhDeGpwe6nE1B16iLxqYmWyXoBa\"]},\"contracts/mocks/MockToken.sol\":{\"keccak256\":\"0x0ff282a2646d5ae4f10709ee3df0f0f6726eb62d8b32082f852af2f2d69ffea9\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://cad9b0dd4da24c968ee14332da613cf7621d7ff4b305cf39c508975929579c9e\",\"dweb:/ipfs/QmX2kjKWSHyUztfvs3UdhK4ige2N8miWYTrYXbmTXr2xFM\"]},\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/persistent/vault/interfaces/IExternalPositionVault.sol\":{\"keccak256\":\"0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d\",\"dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8\"]},\"contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol\":{\"keccak256\":\"0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb\",\"dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU\"]},\"contracts/persistent/vault/interfaces/IMigratableVault.sol\":{\"keccak256\":\"0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6\",\"dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs\"]},\"contracts/persistent/vault/interfaces/IVaultCore.sol\":{\"keccak256\":\"0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd\",\"dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr\"]},\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/core/fund/comptroller/ComptrollerLib.sol\":{\"keccak256\":\"0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579\",\"dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq\"]},\"contracts/release/core/fund/comptroller/IComptroller.sol\":{\"keccak256\":\"0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97\",\"dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L\"]},\"contracts/release/core/fund/vault/IVault.sol\":{\"keccak256\":\"0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599\",\"dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG\"]},\"contracts/release/extensions/IExtension.sol\":{\"keccak256\":\"0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70\",\"dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t\"]},\"contracts/release/extensions/fee-manager/IFeeManager.sol\":{\"keccak256\":\"0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22\",\"dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod\"]},\"contracts/release/extensions/policy-manager/IPolicyManager.sol\":{\"keccak256\":\"0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa\",\"dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb\"]},\"contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol\":{\"keccak256\":\"0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f\",\"dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol\":{\"keccak256\":\"0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0\",\"dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol\":{\"keccak256\":\"0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b\",\"dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3\"]},\"contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol\":{\"keccak256\":\"0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965\",\"dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ\"]},\"contracts/release/interfaces/IGsnForwarder.sol\":{\"keccak256\":\"0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29\",\"dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G\"]},\"contracts/release/interfaces/IGsnPaymaster.sol\":{\"keccak256\":\"0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4\",\"dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF\"]},\"contracts/release/interfaces/IGsnTypes.sol\":{\"keccak256\":\"0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7\",\"dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/beacon-proxy/IBeacon.sol\":{\"keccak256\":\"0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39\",\"dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V\"]},\"contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol\":{\"keccak256\":\"0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be\",\"dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG\"]},\"node_modules/@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0x15e2d5bd4c28a88548074c54d220e8086f638a71ed07e6b3ba5a70066fcf458d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://90faf5851c02f9bd42c5bfb54d4f0421a2612f50ab80b2c4fa24fa3792071cc2\",\"dweb:/ipfs/QmRGM4F2PcGVF85aTfaA9YBhCHHDqrMhRjyp6fGeBTtirb\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20Burnable.sol\":{\"keccak256\":\"0x9c0eb3b0e11d2480d49991dc384f1e5f9c9b9967cc81944d50916a9b9c6c4984\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99e4033d778624992e86f0b6d801a4f6d7b5c0cd5c79c1296be90a051ad5f5af\",\"dweb:/ipfs/QmShYmkUqh6pDEeoWadZ24icmCr4C2Xys1uE5boivPmbwf\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "owner", "type": "address", "indexed": true }, { "internalType": "address", "name": "spender", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "value", "type": "uint256", "indexed": false } ], "type": "event", "name": "Approval", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "previousOwner", "type": "address", "indexed": true }, { "internalType": "address", "name": "newOwner", "type": "address", "indexed": true } ], "type": "event", "name": "OwnershipTransferred", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address", "indexed": true }, { "internalType": "address", "name": "to", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "value", "type": "uint256", "indexed": false } ], "type": "event", "name": "Transfer", "anonymous": false }, { "inputs": [ { "internalType": "address[]", "name": "_minters", "type": "address[]" } ], "stateMutability": "nonpayable", "type": "function", "name": "addMinters" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "bad", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "burn" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "burnFrom" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "comptrollerProxy", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ] }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "subtractedValue", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "decreaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "addedValue", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "increaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "makeItReentracyToken" }, { "inputs": [ { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "mint" }, { "inputs": [ { "internalType": "address", "name": "_who", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "mintFor" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ] }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "renounceOwnership" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "transferOwnership" } ], "devdoc": { "kind": "dev", "methods": { "allowance(address,address)": { "details": "See {IERC20-allowance}." }, "approve(address,uint256)": { "details": "See {IERC20-approve}. Requirements: - `spender` cannot be the zero address." }, "balanceOf(address)": { "details": "See {IERC20-balanceOf}." }, "burn(uint256)": { "details": "Destroys `amount` tokens from the caller. See {ERC20-_burn}." }, "burnFrom(address,uint256)": { "details": "Destroys `amount` tokens from `account`, deducting from the caller's allowance. See {ERC20-_burn} and {ERC20-allowance}. Requirements: - the caller must have allowance for ``accounts``'s tokens of at least `amount`." }, "decimals()": { "details": "Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5,05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the value {ERC20} uses, unless {_setupDecimals} is called. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}." }, "decreaseAllowance(address,uint256)": { "details": "Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`." }, "increaseAllowance(address,uint256)": { "details": "Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address." }, "name()": { "details": "Returns the name of the token." }, "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 anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner." }, "symbol()": { "details": "Returns the symbol of the token, usually a shorter version of the name." }, "totalSupply()": { "details": "See {IERC20-totalSupply}." }, "transfer(address,uint256)": { "details": "See {IERC20-transfer}. Requirements: - `recipient` cannot be the zero address. - the caller must have a balance of at least `amount`." }, "transferFrom(address,address,uint256)": { "details": "See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. Requirements: - `sender` and `recipient` cannot be the zero address. - `sender` must have a balance of at least `amount`. - the caller must have allowance for ``sender``'s tokens of at least `amount`." }, "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": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/mocks/MockReentrancyToken.sol": "MockReentrancyToken" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/mocks/MockReentrancyToken.sol": { "keccak256": "0x647d13ecf8c5f32f27a4ac6434f364e27bedf88580d9bbf3d54d045eea0e5718", "urls": [ "bzz-raw://85448e801737b41936663df82404c945db88c16b78fc2558bd895f2550655158", "dweb:/ipfs/QmeT2n47tvdTp1FNh3gUhDeGpwe6nE1B16iLxqYmWyXoBa" ], "license": "GPL-3.0" }, "contracts/mocks/MockToken.sol": { "keccak256": "0x0ff282a2646d5ae4f10709ee3df0f0f6726eb62d8b32082f852af2f2d69ffea9", "urls": [ "bzz-raw://cad9b0dd4da24c968ee14332da613cf7621d7ff4b305cf39c508975929579c9e", "dweb:/ipfs/QmX2kjKWSHyUztfvs3UdhK4ige2N8miWYTrYXbmTXr2xFM" ], "license": "GPL-3.0" }, "contracts/persistent/dispatcher/IDispatcher.sol": { "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", "urls": [ "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" ], "license": "GPL-3.0" }, "contracts/persistent/external-positions/IExternalPosition.sol": { "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", "urls": [ "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IExternalPositionVault.sol": { "keccak256": "0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6", "urls": [ "bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d", "dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol": { "keccak256": "0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0", "urls": [ "bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb", "dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IMigratableVault.sol": { "keccak256": "0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238", "urls": [ "bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6", "dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IVaultCore.sol": { "keccak256": "0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80", "urls": [ "bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd", "dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr" ], "license": "GPL-3.0" }, "contracts/release/core/fund-deployer/IFundDeployer.sol": { "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", "urls": [ "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" ], "license": "GPL-3.0" }, "contracts/release/core/fund/comptroller/ComptrollerLib.sol": { "keccak256": "0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64", "urls": [ "bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579", "dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq" ], "license": "GPL-3.0" }, "contracts/release/core/fund/comptroller/IComptroller.sol": { "keccak256": "0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f", "urls": [ "bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97", "dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L" ], "license": "GPL-3.0" }, "contracts/release/core/fund/vault/IVault.sol": { "keccak256": "0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd", "urls": [ "bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599", "dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG" ], "license": "GPL-3.0" }, "contracts/release/extensions/IExtension.sol": { "keccak256": "0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b", "urls": [ "bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70", "dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t" ], "license": "GPL-3.0" }, "contracts/release/extensions/fee-manager/IFeeManager.sol": { "keccak256": "0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51", "urls": [ "bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22", "dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod" ], "license": "GPL-3.0" }, "contracts/release/extensions/policy-manager/IPolicyManager.sol": { "keccak256": "0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32", "urls": [ "bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa", "dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol": { "keccak256": "0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609", "urls": [ "bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f", "dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol": { "keccak256": "0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01", "urls": [ "bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0", "dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol": { "keccak256": "0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196", "urls": [ "bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b", "dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol": { "keccak256": "0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794", "urls": [ "bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965", "dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IGsnForwarder.sol": { "keccak256": "0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030", "urls": [ "bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29", "dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IGsnPaymaster.sol": { "keccak256": "0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c", "urls": [ "bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4", "dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IGsnTypes.sol": { "keccak256": "0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714", "urls": [ "bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7", "dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C" ], "license": "GPL-3.0" }, "contracts/release/utils/AddressArrayLib.sol": { "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", "urls": [ "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" ], "license": "GPL-3.0" }, "contracts/release/utils/beacon-proxy/IBeacon.sol": { "keccak256": "0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2", "urls": [ "bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39", "dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V" ], "license": "GPL-3.0" }, "contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol": { "keccak256": "0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc", "urls": [ "bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be", "dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/access/Ownable.sol": { "keccak256": "0x15e2d5bd4c28a88548074c54d220e8086f638a71ed07e6b3ba5a70066fcf458d", "urls": [ "bzz-raw://90faf5851c02f9bd42c5bfb54d4f0421a2612f50ab80b2c4fa24fa3792071cc2", "dweb:/ipfs/QmRGM4F2PcGVF85aTfaA9YBhCHHDqrMhRjyp6fGeBTtirb" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20Burnable.sol": { "keccak256": "0x9c0eb3b0e11d2480d49991dc384f1e5f9c9b9967cc81944d50916a9b9c6c4984", "urls": [ "bzz-raw://99e4033d778624992e86f0b6d801a4f6d7b5c0cd5c79c1296be90a051ad5f5af", "dweb:/ipfs/QmShYmkUqh6pDEeoWadZ24icmCr4C2Xys1uE5boivPmbwf" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", "urls": [ "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Address.sol": { "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", "urls": [ "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" } }, "version": 1 }, "id": 5 } diff --git a/eth_defi/abi/enzyme/MockToken.json b/eth_defi/abi/enzyme/MockToken.json index 985b2668..8a033239 100644 --- a/eth_defi/abi/enzyme/MockToken.json +++ b/eth_defi/abi/enzyme/MockToken.json @@ -1,1026 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "string", - "name": "_name", - "type": "string" - }, - { - "internalType": "string", - "name": "_symbol", - "type": "string" - }, - { - "internalType": "uint8", - "name": "_decimals", - "type": "uint8" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "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": "previousOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "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": "_minters", - "type": "address[]" - } - ], - "name": "addMinters", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "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": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "burn", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "burnFrom", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "subtractedValue", - "type": "uint256" - } - ], - "name": "decreaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "addedValue", - "type": "uint256" - } - ], - "name": "increaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "mint", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_who", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "mintFor", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "renounceOwnership", - "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": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "name": "transferOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x60806040523480156200001157600080fd5b506040516200189638038062001896833981810160405260608110156200003757600080fd5b81019080805160405193929190846401000000008211156200005857600080fd5b9083019060208201858111156200006e57600080fd5b82516401000000008111828201881017156200008957600080fd5b82525081516020918201929091019080838360005b83811015620000b85781810151838201526020016200009e565b50505050905090810190601f168015620000e65780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200010a57600080fd5b9083019060208201858111156200012057600080fd5b82516401000000008111828201881017156200013b57600080fd5b82525081516020918201929091019080838360005b838110156200016a57818101518382015260200162000150565b50505050905090810190601f168015620001985780820380516001836020036101000a031916815260200191505b5060405260209081015185519093508592508491620001bd9160039185019062000478565b508051620001d390600490602084019062000478565b50506005805460ff19166012179055506000620001ef62000288565b60058054610100600160a81b0319166101006001600160a01b03841690810291909117909155604051919250906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35062000250816200028c565b6200027f33620002798360ff16600a0a6305f5e100620002a260201b62000b8f1790919060201c565b62000309565b50505062000514565b3390565b6005805460ff191660ff92909216919091179055565b600082620002b35750600062000303565b82820282848281620002c157fe5b0414620003005760405162461bcd60e51b8152600401808060200182810382526021815260200180620018756021913960400191505060405180910390fd5b90505b92915050565b6001600160a01b03821662000365576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b620003736000838362000418565b6200038f816002546200041d60201b62000bef1790919060201c565b6002556001600160a01b03821660009081526020818152604090912054620003c291839062000bef6200041d821b17901c565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b505050565b60008282018381101562000300576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620004bb57805160ff1916838001178555620004eb565b82800160010185558215620004eb579182015b82811115620004eb578251825591602001919060010190620004ce565b50620004f9929150620004fd565b5090565b5b80821115620004f95760008155600101620004fe565b61135180620005246000396000f3fe608060405234801561001057600080fd5b50600436106101215760003560e01c806371e2a657116100ad578063a457c2d711610071578063a457c2d7146103e2578063a9059cbb1461040e578063da1919b31461043a578063dd62ed3e14610466578063f2fde38b1461049457610121565b806371e2a657146102ca57806379cc67901461036d5780638da5cb5b1461039957806395d89b41146103bd578063a0712d68146103c557610121565b8063313ce567116100f4578063313ce56714610233578063395093511461025157806342966c681461027d57806370a082311461029c578063715018a6146102c257610121565b806306fdde0314610126578063095ea7b3146101a357806318160ddd146101e357806323b872dd146101fd575b600080fd5b61012e6104ba565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610168578181015183820152602001610150565b50505050905090810190601f1680156101955780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101cf600480360360408110156101b957600080fd5b506001600160a01b038135169060200135610550565b604080519115158252519081900360200190f35b6101eb61056e565b60408051918252519081900360200190f35b6101cf6004803603606081101561021357600080fd5b506001600160a01b03813581169160208101359091169060400135610574565b61023b6105fb565b6040805160ff9092168252519081900360200190f35b6101cf6004803603604081101561026757600080fd5b506001600160a01b038135169060200135610604565b61029a6004803603602081101561029357600080fd5b5035610652565b005b6101eb600480360360208110156102b257600080fd5b50356001600160a01b0316610666565b61029a610681565b61029a600480360360208110156102e057600080fd5b8101906020810181356401000000008111156102fb57600080fd5b82018360208201111561030d57600080fd5b8035906020019184602083028401116401000000008311171561032f57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610745945050505050565b61029a6004803603604081101561038357600080fd5b506001600160a01b038135169060200135610815565b6103a161086f565b604080516001600160a01b039092168252519081900360200190f35b61012e610883565b61029a600480360360208110156103db57600080fd5b50356108e4565b6101cf600480360360408110156103f857600080fd5b506001600160a01b038135169060200135610956565b6101cf6004803603604081101561042457600080fd5b506001600160a01b0381351690602001356109be565b61029a6004803603604081101561045057600080fd5b506001600160a01b0381351690602001356109d2565b6101eb6004803603604081101561047c57600080fd5b506001600160a01b0381358116916020013516610a44565b61029a600480360360208110156104aa57600080fd5b50356001600160a01b0316610a6f565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156105465780601f1061051b57610100808354040283529160200191610546565b820191906000526020600020905b81548152906001019060200180831161052957829003601f168201915b5050505050905090565b600061056461055d610c49565b8484610c4d565b5060015b92915050565b60025490565b6000610581848484610d39565b6105f18461058d610c49565b6105ec85604051806060016040528060288152602001611249602891396001600160a01b038a166000908152600160205260408120906105cb610c49565b6001600160a01b031681526020810191909152604001600020549190610e94565b610c4d565b5060019392505050565b60055460ff1690565b6000610564610611610c49565b846105ec8560016000610622610c49565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490610bef565b61066361065d610c49565b82610f2b565b50565b6001600160a01b031660009081526020819052604090205490565b610689610c49565b6001600160a01b031661069a61086f565b6001600160a01b0316146106f5576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b60055460405160009161010090046001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a360058054610100600160a81b0319169055565b61074d610c49565b6001600160a01b031661075e61086f565b6001600160a01b0316146107b9576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b60005b8151811015610811576001600660008484815181106107d757fe5b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790556001016107bc565b5050565b600061084c826040518060600160405280602481526020016112716024913961084586610840610c49565b610a44565b9190610e94565b90506108608361085a610c49565b83610c4d565b61086a8383610f2b565b505050565b60055461010090046001600160a01b031690565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156105465780601f1061051b57610100808354040283529160200191610546565b3360009081526006602052604090205460ff168061091157503361090661086f565b6001600160a01b0316145b61094c5760405162461bcd60e51b81526004018080602001828103825260218152602001806112ff6021913960400191505060405180910390fd5b6106633382611027565b6000610564610963610c49565b846105ec85604051806060016040528060258152602001611320602591396001600061098d610c49565b6001600160a01b03908116825260208083019390935260409182016000908120918d16815292529020549190610e94565b60006105646109cb610c49565b8484610d39565b3360009081526006602052604090205460ff16806109ff5750336109f461086f565b6001600160a01b0316145b610a3a5760405162461bcd60e51b81526004018080602001828103825260218152602001806112ff6021913960400191505060405180910390fd5b6108118282611027565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b610a77610c49565b6001600160a01b0316610a8861086f565b6001600160a01b031614610ae3576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b038116610b285760405162461bcd60e51b81526004018080602001828103825260268152602001806111ba6026913960400191505060405180910390fd5b6005546040516001600160a01b0380841692610100900416907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600580546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b600082610b9e57506000610568565b82820282848281610bab57fe5b0414610be85760405162461bcd60e51b81526004018080602001828103825260218152602001806112286021913960400191505060405180910390fd5b9392505050565b600082820183811015610be8576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b3390565b6001600160a01b038316610c925760405162461bcd60e51b81526004018080602001828103825260248152602001806112db6024913960400191505060405180910390fd5b6001600160a01b038216610cd75760405162461bcd60e51b81526004018080602001828103825260228152602001806111e06022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038316610d7e5760405162461bcd60e51b81526004018080602001828103825260258152602001806112b66025913960400191505060405180910390fd5b6001600160a01b038216610dc35760405162461bcd60e51b81526004018080602001828103825260238152602001806111756023913960400191505060405180910390fd5b610dce83838361086a565b610e0b81604051806060016040528060268152602001611202602691396001600160a01b0386166000908152602081905260409020549190610e94565b6001600160a01b038085166000908152602081905260408082209390935590841681522054610e3a9082610bef565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b60008184841115610f235760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610ee8578181015183820152602001610ed0565b50505050905090810190601f168015610f155780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6001600160a01b038216610f705760405162461bcd60e51b81526004018080602001828103825260218152602001806112956021913960400191505060405180910390fd5b610f7c8260008361086a565b610fb981604051806060016040528060228152602001611198602291396001600160a01b0385166000908152602081905260409020549190610e94565b6001600160a01b038316600090815260208190526040902055600254610fdf9082611117565b6002556040805182815290516000916001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b6001600160a01b038216611082576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b61108e6000838361086a565b60025461109b9082610bef565b6002556001600160a01b0382166000908152602081905260409020546110c19082610bef565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b60008282111561116e576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b5090039056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e63654f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e20616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f20616464726573736d73672e73656e646572206973206e6f74206f776e6572206f72206d696e74657245524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa164736f6c634300060c000a536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77", - "sourceMap": "450:987:6:-:0;;;781:249;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;781:249:6;;;;;;;;;;-1:-1:-1;781:249:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;781:249:6;;;;;;;;;;-1:-1:-1;781:249:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;781:249:6;;;;;;;2032:13:447;;781:249:6;;-1:-1:-1;897:5:6;;-1:-1:-1;904:7:6;;2032:13:447;;:5;;:13;;;;:::i;:::-;-1:-1:-1;2055:17:447;;;;:7;;:17;;;;;:::i;:::-;-1:-1:-1;;2082:9:447;:14;;-1:-1:-1;;2082:14:447;2094:2;2082:14;;;-1:-1:-1;2082:9:447;904:12:441;:10;:12::i;:::-;926:6;:18;;-1:-1:-1;;;;;;926:18:441;;-1:-1:-1;;;;;926:18:441;;;;;;;;;;;;959:43;;926:18;;-1:-1:-1;926:18:441;-1:-1:-1;;959:43:441;;-1:-1:-1;;959:43:441;-1:-1:-1;923:25:6::1;938:9:::0;923:14:::1;:25::i;:::-;958:65;964:10;976:46;1011:9;1003:18;;999:2;:22;984:9;976:22;;;;;;:46;;;;:::i;:::-;958:5;:65::i;:::-;781:249:::0;;;450:987;;598:104:452;685:10;598:104;:::o;10018:96:447:-;10086:9;:21;;-1:-1:-1;;10086:21:447;;;;;;;;;;;;10018:96::o;3538:215:442:-;3596:7;3619:6;3615:20;;-1:-1:-1;3634:1:442;3627:8;;3615:20;3657:5;;;3661:1;3657;:5;:1;3680:5;;;;;:10;3672:56;;;;-1:-1:-1;;;3672:56:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3745:1;-1:-1:-1;3538:215:442;;;;;:::o;7832:370:447:-;-1:-1:-1;;;;;7915:21:447;;7907:65;;;;;-1:-1:-1;;;7907:65:447;;;;;;;;;;;;;;;;;;;;;;;;;;;;7983:49;8012:1;8016:7;8025:6;7983:20;:49::i;:::-;8058:24;8075:6;8058:12;;:16;;;;;;:24;;;;:::i;:::-;8043:12;:39;-1:-1:-1;;;;;8113:18:447;;:9;:18;;;;;;;;;;;;:30;;8136:6;;8113:22;;;;;:30;;:::i;:::-;-1:-1:-1;;;;;8092:18:447;;:9;:18;;;;;;;;;;;:51;;;;8158:37;;;;;;;8092:18;;:9;;8158:37;;;;;;;;;;7832:370;;:::o;10701:92::-;;;;:::o;2690:175:442:-;2748:7;2779:5;;;2802:6;;;;2794:46;;;;;-1:-1:-1;;;2794:46:442;;;;;;;;;;;;;;;;;;;;;;;;;;;450:987:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;450:987:6;;;-1:-1:-1;450:987:6;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106101215760003560e01c806371e2a657116100ad578063a457c2d711610071578063a457c2d7146103e2578063a9059cbb1461040e578063da1919b31461043a578063dd62ed3e14610466578063f2fde38b1461049457610121565b806371e2a657146102ca57806379cc67901461036d5780638da5cb5b1461039957806395d89b41146103bd578063a0712d68146103c557610121565b8063313ce567116100f4578063313ce56714610233578063395093511461025157806342966c681461027d57806370a082311461029c578063715018a6146102c257610121565b806306fdde0314610126578063095ea7b3146101a357806318160ddd146101e357806323b872dd146101fd575b600080fd5b61012e6104ba565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610168578181015183820152602001610150565b50505050905090810190601f1680156101955780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101cf600480360360408110156101b957600080fd5b506001600160a01b038135169060200135610550565b604080519115158252519081900360200190f35b6101eb61056e565b60408051918252519081900360200190f35b6101cf6004803603606081101561021357600080fd5b506001600160a01b03813581169160208101359091169060400135610574565b61023b6105fb565b6040805160ff9092168252519081900360200190f35b6101cf6004803603604081101561026757600080fd5b506001600160a01b038135169060200135610604565b61029a6004803603602081101561029357600080fd5b5035610652565b005b6101eb600480360360208110156102b257600080fd5b50356001600160a01b0316610666565b61029a610681565b61029a600480360360208110156102e057600080fd5b8101906020810181356401000000008111156102fb57600080fd5b82018360208201111561030d57600080fd5b8035906020019184602083028401116401000000008311171561032f57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610745945050505050565b61029a6004803603604081101561038357600080fd5b506001600160a01b038135169060200135610815565b6103a161086f565b604080516001600160a01b039092168252519081900360200190f35b61012e610883565b61029a600480360360208110156103db57600080fd5b50356108e4565b6101cf600480360360408110156103f857600080fd5b506001600160a01b038135169060200135610956565b6101cf6004803603604081101561042457600080fd5b506001600160a01b0381351690602001356109be565b61029a6004803603604081101561045057600080fd5b506001600160a01b0381351690602001356109d2565b6101eb6004803603604081101561047c57600080fd5b506001600160a01b0381358116916020013516610a44565b61029a600480360360208110156104aa57600080fd5b50356001600160a01b0316610a6f565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156105465780601f1061051b57610100808354040283529160200191610546565b820191906000526020600020905b81548152906001019060200180831161052957829003601f168201915b5050505050905090565b600061056461055d610c49565b8484610c4d565b5060015b92915050565b60025490565b6000610581848484610d39565b6105f18461058d610c49565b6105ec85604051806060016040528060288152602001611249602891396001600160a01b038a166000908152600160205260408120906105cb610c49565b6001600160a01b031681526020810191909152604001600020549190610e94565b610c4d565b5060019392505050565b60055460ff1690565b6000610564610611610c49565b846105ec8560016000610622610c49565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490610bef565b61066361065d610c49565b82610f2b565b50565b6001600160a01b031660009081526020819052604090205490565b610689610c49565b6001600160a01b031661069a61086f565b6001600160a01b0316146106f5576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b60055460405160009161010090046001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a360058054610100600160a81b0319169055565b61074d610c49565b6001600160a01b031661075e61086f565b6001600160a01b0316146107b9576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b60005b8151811015610811576001600660008484815181106107d757fe5b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790556001016107bc565b5050565b600061084c826040518060600160405280602481526020016112716024913961084586610840610c49565b610a44565b9190610e94565b90506108608361085a610c49565b83610c4d565b61086a8383610f2b565b505050565b60055461010090046001600160a01b031690565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156105465780601f1061051b57610100808354040283529160200191610546565b3360009081526006602052604090205460ff168061091157503361090661086f565b6001600160a01b0316145b61094c5760405162461bcd60e51b81526004018080602001828103825260218152602001806112ff6021913960400191505060405180910390fd5b6106633382611027565b6000610564610963610c49565b846105ec85604051806060016040528060258152602001611320602591396001600061098d610c49565b6001600160a01b03908116825260208083019390935260409182016000908120918d16815292529020549190610e94565b60006105646109cb610c49565b8484610d39565b3360009081526006602052604090205460ff16806109ff5750336109f461086f565b6001600160a01b0316145b610a3a5760405162461bcd60e51b81526004018080602001828103825260218152602001806112ff6021913960400191505060405180910390fd5b6108118282611027565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b610a77610c49565b6001600160a01b0316610a8861086f565b6001600160a01b031614610ae3576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b038116610b285760405162461bcd60e51b81526004018080602001828103825260268152602001806111ba6026913960400191505060405180910390fd5b6005546040516001600160a01b0380841692610100900416907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600580546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b600082610b9e57506000610568565b82820282848281610bab57fe5b0414610be85760405162461bcd60e51b81526004018080602001828103825260218152602001806112286021913960400191505060405180910390fd5b9392505050565b600082820183811015610be8576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b3390565b6001600160a01b038316610c925760405162461bcd60e51b81526004018080602001828103825260248152602001806112db6024913960400191505060405180910390fd5b6001600160a01b038216610cd75760405162461bcd60e51b81526004018080602001828103825260228152602001806111e06022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038316610d7e5760405162461bcd60e51b81526004018080602001828103825260258152602001806112b66025913960400191505060405180910390fd5b6001600160a01b038216610dc35760405162461bcd60e51b81526004018080602001828103825260238152602001806111756023913960400191505060405180910390fd5b610dce83838361086a565b610e0b81604051806060016040528060268152602001611202602691396001600160a01b0386166000908152602081905260409020549190610e94565b6001600160a01b038085166000908152602081905260408082209390935590841681522054610e3a9082610bef565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b60008184841115610f235760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610ee8578181015183820152602001610ed0565b50505050905090810190601f168015610f155780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6001600160a01b038216610f705760405162461bcd60e51b81526004018080602001828103825260218152602001806112956021913960400191505060405180910390fd5b610f7c8260008361086a565b610fb981604051806060016040528060228152602001611198602291396001600160a01b0385166000908152602081905260409020549190610e94565b6001600160a01b038316600090815260208190526040902055600254610fdf9082611117565b6002556040805182815290516000916001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b6001600160a01b038216611082576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b61108e6000838361086a565b60025461109b9082610bef565b6002556001600160a01b0382166000908152602081905260409020546110c19082610bef565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b60008282111561116e576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b5090039056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e63654f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e20616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f20616464726573736d73672e73656e646572206973206e6f74206f776e6572206f72206d696e74657245524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa164736f6c634300060c000a", - "sourceMap": "450:987:6:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2168:89:447;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4244:166;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;4244:166:447;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;3235:106;;;:::i;:::-;;;;;;;;;;;;;;;;4877:317;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;4877:317:447;;;;;;;;;;;;;;;;;:::i;3086:89::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5589:215;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;5589:215:447;;;;;;;;:::i;524:89:448:-;;;;;;;;;;;;;;;;-1:-1:-1;524:89:448;;:::i;:::-;;3399:125:447;;;;;;;;;;;;;;;;-1:-1:-1;3399:125:447;-1:-1:-1;;;;;3399:125:447;;:::i;1717:145:441:-;;;:::i;1247:188:6:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1247:188:6;;-1:-1:-1;1247:188:6;;-1:-1:-1;;;;;1247:188:6:i;919:290:448:-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;919:290:448;;;;;;;;:::i;1085:85:441:-;;;:::i;:::-;;;;-1:-1:-1;;;;;1085:85:441;;;;;;;;;;;;;;2370:93:447;;;:::i;1147:94:6:-;;;;;;;;;;;;;;;;-1:-1:-1;1147:94:6;;:::i;6291:266:447:-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;6291:266:447;;;;;;;;:::i;3727:172::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;3727:172:447;;;;;;;;:::i;1036:105:6:-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1036:105:6;;;;;;;;:::i;3957:149:447:-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;3957:149:447;;;;;;;;;;:::i;2011:240:441:-;;;;;;;;;;;;;;;;-1:-1:-1;2011:240:441;-1:-1:-1;;;;;2011:240:441;;:::i;2168:89:447:-;2245:5;2238:12;;;;;;;;-1:-1:-1;;2238:12:447;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2213:13;;2238:12;;2245:5;;2238:12;;2245:5;2238:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2168:89;:::o;4244:166::-;4327:4;4343:39;4352:12;:10;:12::i;:::-;4366:7;4375:6;4343:8;:39::i;:::-;-1:-1:-1;4399:4:447;4244:166;;;;;:::o;3235:106::-;3322:12;;3235:106;:::o;4877:317::-;4983:4;4999:36;5009:6;5017:9;5028:6;4999:9;:36::i;:::-;5045:121;5054:6;5062:12;:10;:12::i;:::-;5076:89;5114:6;5076:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5076:19:447;;;;;;:11;:19;;;;;;5096:12;:10;:12::i;:::-;-1:-1:-1;;;;;5076:33:447;;;;;;;;;;;;-1:-1:-1;5076:33:447;;;:89;:37;:89::i;:::-;5045:8;:121::i;:::-;-1:-1:-1;5183:4:447;4877:317;;;;;:::o;3086:89::-;3159:9;;;;3086:89;:::o;5589:215::-;5677:4;5693:83;5702:12;:10;:12::i;:::-;5716:7;5725:50;5764:10;5725:11;:25;5737:12;:10;:12::i;:::-;-1:-1:-1;;;;;5725:25:447;;;;;;;;;;;;;;;;;-1:-1:-1;5725:25:447;;;:34;;;;;;;;;;;:38;:50::i;524:89:448:-;579:27;585:12;:10;:12::i;:::-;599:6;579:5;:27::i;:::-;524:89;:::o;3399:125:447:-;-1:-1:-1;;;;;3499:18:447;3473:7;3499:18;;;;;;;;;;;;3399:125::o;1717:145:441:-;1308:12;:10;:12::i;:::-;-1:-1:-1;;;;;1297:23:441;:7;:5;:7::i;:::-;-1:-1:-1;;;;;1297:23:441;;1289:68;;;;;-1:-1:-1;;;1289:68:441;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1807:6:::1;::::0;1786:40:::1;::::0;1823:1:::1;::::0;1807:6:::1;::::0;::::1;-1:-1:-1::0;;;;;1807:6:441::1;::::0;1786:40:::1;::::0;1823:1;;1786:40:::1;1836:6;:19:::0;;-1:-1:-1;;;;;;1836:19:441::1;::::0;;1717:145::o;1247:188:6:-;1308:12:441;:10;:12::i;:::-;-1:-1:-1;;;;;1297:23:441;:7;:5;:7::i;:::-;-1:-1:-1;;;;;1297:23:441;;1289:68;;;;;-1:-1:-1;;;1289:68:441;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1326:9:6::1;1321:108;1345:8;:15;1341:1;:19;1321:108;;;1414:4;1381:17;:30;1399:8;1408:1;1399:11;;;;;;;;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;1381:30:6::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;1381:30:6;:37;;-1:-1:-1;;1381:37:6::1;::::0;::::1;;::::0;;;::::1;::::0;;-1:-1:-1;1362:3:6::1;1321:108;;;;1247:188:::0;:::o;919:290:448:-;995:26;1024:84;1061:6;1024:84;;;;;;;;;;;;;;;;;:32;1034:7;1043:12;:10;:12::i;:::-;1024:9;:32::i;:::-;:36;:84;:36;:84::i;:::-;995:113;;1119:51;1128:7;1137:12;:10;:12::i;:::-;1151:18;1119:8;:51::i;:::-;1180:22;1186:7;1195:6;1180:5;:22::i;:::-;919:290;;;:::o;1085:85:441:-;1157:6;;;;;-1:-1:-1;;;;;1157:6:441;;1085:85::o;2370:93:447:-;2449:7;2442:14;;;;;;;;-1:-1:-1;;2442:14:447;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2417:13;;2442:14;;2449:7;;2442:14;;2449:7;2442:14;;;;;;;;;;;;;;;;;;;;;;;;1147:94:6;662:10;644:29;;;;:17;:29;;;;;;;;;:54;;-1:-1:-1;688:10:6;677:7;:5;:7::i;:::-;-1:-1:-1;;;;;677:21:6;;644:54;623:134;;;;-1:-1:-1;;;623:134:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1208:26:::1;1214:10;1226:7;1208:5;:26::i;6291:266:447:-:0;6384:4;6400:129;6409:12;:10;:12::i;:::-;6423:7;6432:96;6471:15;6432:96;;;;;;;;;;;;;;;;;:11;:25;6444:12;:10;:12::i;:::-;-1:-1:-1;;;;;6432:25:447;;;;;;;;;;;;;;;;;-1:-1:-1;6432:25:447;;;:34;;;;;;;;;;;:96;:38;:96::i;3727:172::-;3813:4;3829:42;3839:12;:10;:12::i;:::-;3853:9;3864:6;3829:9;:42::i;1036:105:6:-;662:10;644:29;;;;:17;:29;;;;;;;;;:54;;-1:-1:-1;688:10:6;677:7;:5;:7::i;:::-;-1:-1:-1;;;;;677:21:6;;644:54;623:134;;;;-1:-1:-1;;;623:134:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1114:20:::1;1120:4;1126:7;1114:5;:20::i;3957:149:447:-:0;-1:-1:-1;;;;;4072:18:447;;;4046:7;4072:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;3957:149::o;2011:240:441:-;1308:12;:10;:12::i;:::-;-1:-1:-1;;;;;1297:23:441;:7;:5;:7::i;:::-;-1:-1:-1;;;;;1297:23:441;;1289:68;;;;;-1:-1:-1;;;1289:68:441;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2099:22:441;::::1;2091:73;;;;-1:-1:-1::0;;;2091:73:441::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2200:6;::::0;2179:38:::1;::::0;-1:-1:-1;;;;;2179:38:441;;::::1;::::0;2200:6:::1;::::0;::::1;;::::0;2179:38:::1;::::0;;;::::1;2227:6;:17:::0;;-1:-1:-1;;;;;2227:17:441;;::::1;;;-1:-1:-1::0;;;;;;2227:17:441;;::::1;::::0;;;::::1;::::0;;2011:240::o;3538:215:442:-;3596:7;3619:6;3615:20;;-1:-1:-1;3634:1:442;3627:8;;3615:20;3657:5;;;3661:1;3657;:5;:1;3680:5;;;;;:10;3672:56;;;;-1:-1:-1;;;3672:56:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3745:1;3538:215;-1:-1:-1;;;3538:215:442:o;2690:175::-;2748:7;2779:5;;;2802:6;;;;2794:46;;;;;-1:-1:-1;;;2794:46:442;;;;;;;;;;;;;;;;;;;;;;;;;;;598:104:452;685:10;598:104;:::o;9355:340:447:-;-1:-1:-1;;;;;9456:19:447;;9448:68;;;;-1:-1:-1;;;9448:68:447;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9534:21:447;;9526:68;;;;-1:-1:-1;;;9526:68:447;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9605:18:447;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;9656:32;;;;;;;;;;;;;;;;;9355:340;;;:::o;7031:530::-;-1:-1:-1;;;;;7136:20:447;;7128:70;;;;-1:-1:-1;;;7128:70:447;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7216:23:447;;7208:71;;;;-1:-1:-1;;;7208:71:447;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7290:47;7311:6;7319:9;7330:6;7290:20;:47::i;:::-;7368:71;7390:6;7368:71;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7368:17:447;;:9;:17;;;;;;;;;;;;:71;:21;:71::i;:::-;-1:-1:-1;;;;;7348:17:447;;;:9;:17;;;;;;;;;;;:91;;;;7472:20;;;;;;;:32;;7497:6;7472:24;:32::i;:::-;-1:-1:-1;;;;;7449:20:447;;;:9;:20;;;;;;;;;;;;:55;;;;7519:35;;;;;;;7449:20;;7519:35;;;;;;;;;;;;;7031:530;;;:::o;5432:163:442:-;5518:7;5553:12;5545:6;;;;5537:29;;;;-1:-1:-1;;;5537:29:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5583:5:442;;;5432:163::o;8522:410:447:-;-1:-1:-1;;;;;8605:21:447;;8597:67;;;;-1:-1:-1;;;8597:67:447;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8675:49;8696:7;8713:1;8717:6;8675:20;:49::i;:::-;8756:68;8779:6;8756:68;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8756:18:447;;:9;:18;;;;;;;;;;;;:68;:22;:68::i;:::-;-1:-1:-1;;;;;8735:18:447;;:9;:18;;;;;;;;;;:89;8849:12;;:24;;8866:6;8849:16;:24::i;:::-;8834:12;:39;8888:37;;;;;;;;8914:1;;-1:-1:-1;;;;;8888:37:447;;;;;;;;;;;;8522:410;;:::o;7832:370::-;-1:-1:-1;;;;;7915:21:447;;7907:65;;;;;-1:-1:-1;;;7907:65:447;;;;;;;;;;;;;;;;;;;;;;;;;;;;7983:49;8012:1;8016:7;8025:6;7983:20;:49::i;:::-;8058:12;;:24;;8075:6;8058:16;:24::i;:::-;8043:12;:39;-1:-1:-1;;;;;8113:18:447;;:9;:18;;;;;;;;;;;:30;;8136:6;8113:22;:30::i;:::-;-1:-1:-1;;;;;8092:18:447;;:9;:18;;;;;;;;;;;:51;;;;8158:37;;;;;;;8092:18;;:9;;8158:37;;;;;;;;;;7832:370;;:::o;3136:155:442:-;3194:7;3226:1;3221;:6;;3213:49;;;;;-1:-1:-1;;;3213:49:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3279:5:442;;;3136:155::o", - "linkReferences": {} - }, - "methodIdentifiers": { - "addMinters(address[])": "71e2a657", - "allowance(address,address)": "dd62ed3e", - "approve(address,uint256)": "095ea7b3", - "balanceOf(address)": "70a08231", - "burn(uint256)": "42966c68", - "burnFrom(address,uint256)": "79cc6790", - "decimals()": "313ce567", - "decreaseAllowance(address,uint256)": "a457c2d7", - "increaseAllowance(address,uint256)": "39509351", - "mint(uint256)": "a0712d68", - "mintFor(address,uint256)": "da1919b3", - "name()": "06fdde03", - "owner()": "8da5cb5b", - "renounceOwnership()": "715018a6", - "symbol()": "95d89b41", - "totalSupply()": "18160ddd", - "transfer(address,uint256)": "a9059cbb", - "transferFrom(address,address,uint256)": "23b872dd", - "transferOwnership(address)": "f2fde38b" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_symbol\",\"type\":\"string\"},{\"internalType\":\"uint8\",\"name\":\"_decimals\",\"type\":\"uint8\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"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\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"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\":\"_minters\",\"type\":\"address[]\"}],\"name\":\"addMinters\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"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\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"burnFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_who\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"mintFor\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"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\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"burn(uint256)\":{\"details\":\"Destroys `amount` tokens from the caller. See {ERC20-_burn}.\"},\"burnFrom(address,uint256)\":{\"details\":\"Destroys `amount` tokens from `account`, deducting from the caller's allowance. See {ERC20-_burn} and {ERC20-allowance}. Requirements: - the caller must have allowance for ``accounts``'s tokens of at least `amount`.\"},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5,05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the value {ERC20} uses, unless {_setupDecimals} is called. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.\"},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"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 anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `recipient` cannot be the zero address. - the caller must have a balance of at least `amount`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. Requirements: - `sender` and `recipient` cannot be the zero address. - `sender` must have a balance of at least `amount`. - the caller must have allowance for ``sender``'s tokens of at least `amount`.\"},\"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\":{\"contracts/mocks/MockToken.sol\":\"MockToken\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/mocks/MockToken.sol\":{\"keccak256\":\"0x0ff282a2646d5ae4f10709ee3df0f0f6726eb62d8b32082f852af2f2d69ffea9\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://cad9b0dd4da24c968ee14332da613cf7621d7ff4b305cf39c508975929579c9e\",\"dweb:/ipfs/QmX2kjKWSHyUztfvs3UdhK4ige2N8miWYTrYXbmTXr2xFM\"]},\"node_modules/@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0x15e2d5bd4c28a88548074c54d220e8086f638a71ed07e6b3ba5a70066fcf458d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://90faf5851c02f9bd42c5bfb54d4f0421a2612f50ab80b2c4fa24fa3792071cc2\",\"dweb:/ipfs/QmRGM4F2PcGVF85aTfaA9YBhCHHDqrMhRjyp6fGeBTtirb\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20Burnable.sol\":{\"keccak256\":\"0x9c0eb3b0e11d2480d49991dc384f1e5f9c9b9967cc81944d50916a9b9c6c4984\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99e4033d778624992e86f0b6d801a4f6d7b5c0cd5c79c1296be90a051ad5f5af\",\"dweb:/ipfs/QmShYmkUqh6pDEeoWadZ24icmCr4C2Xys1uE5boivPmbwf\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "string", - "name": "_name", - "type": "string" - }, - { - "internalType": "string", - "name": "_symbol", - "type": "string" - }, - { - "internalType": "uint8", - "name": "_decimals", - "type": "uint8" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "spender", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "Approval", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "previousOwner", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "newOwner", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "OwnershipTransferred", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "to", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "Transfer", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_minters", - "type": "address[]" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "addMinters" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "burn" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "burnFrom" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "subtractedValue", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "decreaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "addedValue", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "increaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "mint" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_who", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "mintFor" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "renounceOwnership" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "transferOwnership" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "allowance(address,address)": { - "details": "See {IERC20-allowance}." - }, - "approve(address,uint256)": { - "details": "See {IERC20-approve}. Requirements: - `spender` cannot be the zero address." - }, - "balanceOf(address)": { - "details": "See {IERC20-balanceOf}." - }, - "burn(uint256)": { - "details": "Destroys `amount` tokens from the caller. See {ERC20-_burn}." - }, - "burnFrom(address,uint256)": { - "details": "Destroys `amount` tokens from `account`, deducting from the caller's allowance. See {ERC20-_burn} and {ERC20-allowance}. Requirements: - the caller must have allowance for ``accounts``'s tokens of at least `amount`." - }, - "decimals()": { - "details": "Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5,05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the value {ERC20} uses, unless {_setupDecimals} is called. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}." - }, - "decreaseAllowance(address,uint256)": { - "details": "Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`." - }, - "increaseAllowance(address,uint256)": { - "details": "Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address." - }, - "name()": { - "details": "Returns the name of the token." - }, - "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 anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner." - }, - "symbol()": { - "details": "Returns the symbol of the token, usually a shorter version of the name." - }, - "totalSupply()": { - "details": "See {IERC20-totalSupply}." - }, - "transfer(address,uint256)": { - "details": "See {IERC20-transfer}. Requirements: - `recipient` cannot be the zero address. - the caller must have a balance of at least `amount`." - }, - "transferFrom(address,address,uint256)": { - "details": "See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. Requirements: - `sender` and `recipient` cannot be the zero address. - `sender` must have a balance of at least `amount`. - the caller must have allowance for ``sender``'s tokens of at least `amount`." - }, - "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": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/mocks/MockToken.sol": "MockToken" - }, - "libraries": {} - }, - "sources": { - "contracts/mocks/MockToken.sol": { - "keccak256": "0x0ff282a2646d5ae4f10709ee3df0f0f6726eb62d8b32082f852af2f2d69ffea9", - "urls": [ - "bzz-raw://cad9b0dd4da24c968ee14332da613cf7621d7ff4b305cf39c508975929579c9e", - "dweb:/ipfs/QmX2kjKWSHyUztfvs3UdhK4ige2N8miWYTrYXbmTXr2xFM" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/access/Ownable.sol": { - "keccak256": "0x15e2d5bd4c28a88548074c54d220e8086f638a71ed07e6b3ba5a70066fcf458d", - "urls": [ - "bzz-raw://90faf5851c02f9bd42c5bfb54d4f0421a2612f50ab80b2c4fa24fa3792071cc2", - "dweb:/ipfs/QmRGM4F2PcGVF85aTfaA9YBhCHHDqrMhRjyp6fGeBTtirb" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20Burnable.sol": { - "keccak256": "0x9c0eb3b0e11d2480d49991dc384f1e5f9c9b9967cc81944d50916a9b9c6c4984", - "urls": [ - "bzz-raw://99e4033d778624992e86f0b6d801a4f6d7b5c0cd5c79c1296be90a051ad5f5af", - "dweb:/ipfs/QmShYmkUqh6pDEeoWadZ24icmCr4C2Xys1uE5boivPmbwf" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 6 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_name", "type": "string", "internalType": "string" }, { "name": "_symbol", "type": "string", "internalType": "string" }, { "name": "_decimals", "type": "uint8", "internalType": "uint8" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "addMinters", "inputs": [ { "name": "_minters", "type": "address[]", "internalType": "address[]" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "allowance", "inputs": [ { "name": "owner", "type": "address", "internalType": "address" }, { "name": "spender", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "approve", "inputs": [ { "name": "spender", "type": "address", "internalType": "address" }, { "name": "amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "balanceOf", "inputs": [ { "name": "account", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "burn", "inputs": [ { "name": "amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "burnFrom", "inputs": [ { "name": "account", "type": "address", "internalType": "address" }, { "name": "amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "decimals", "inputs": [], "outputs": [ { "name": "", "type": "uint8", "internalType": "uint8" } ], "stateMutability": "view" }, { "type": "function", "name": "decreaseAllowance", "inputs": [ { "name": "spender", "type": "address", "internalType": "address" }, { "name": "subtractedValue", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "increaseAllowance", "inputs": [ { "name": "spender", "type": "address", "internalType": "address" }, { "name": "addedValue", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "mint", "inputs": [ { "name": "_amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "mintFor", "inputs": [ { "name": "_who", "type": "address", "internalType": "address" }, { "name": "_amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "name", "inputs": [], "outputs": [ { "name": "", "type": "string", "internalType": "string" } ], "stateMutability": "view" }, { "type": "function", "name": "owner", "inputs": [], "outputs": [ { "name": "", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "renounceOwnership", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "symbol", "inputs": [], "outputs": [ { "name": "", "type": "string", "internalType": "string" } ], "stateMutability": "view" }, { "type": "function", "name": "totalSupply", "inputs": [], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "transfer", "inputs": [ { "name": "recipient", "type": "address", "internalType": "address" }, { "name": "amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "transferFrom", "inputs": [ { "name": "sender", "type": "address", "internalType": "address" }, { "name": "recipient", "type": "address", "internalType": "address" }, { "name": "amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "transferOwnership", "inputs": [ { "name": "newOwner", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "event", "name": "Approval", "inputs": [ { "name": "owner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "spender", "type": "address", "indexed": true, "internalType": "address" }, { "name": "value", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "OwnershipTransferred", "inputs": [ { "name": "previousOwner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "newOwner", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "Transfer", "inputs": [ { "name": "from", "type": "address", "indexed": true, "internalType": "address" }, { "name": "to", "type": "address", "indexed": true, "internalType": "address" }, { "name": "value", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false } ], "bytecode": { "object": "0x60806040523480156200001157600080fd5b506040516200189638038062001896833981810160405260608110156200003757600080fd5b81019080805160405193929190846401000000008211156200005857600080fd5b9083019060208201858111156200006e57600080fd5b82516401000000008111828201881017156200008957600080fd5b82525081516020918201929091019080838360005b83811015620000b85781810151838201526020016200009e565b50505050905090810190601f168015620000e65780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200010a57600080fd5b9083019060208201858111156200012057600080fd5b82516401000000008111828201881017156200013b57600080fd5b82525081516020918201929091019080838360005b838110156200016a57818101518382015260200162000150565b50505050905090810190601f168015620001985780820380516001836020036101000a031916815260200191505b5060405260209081015185519093508592508491620001bd9160039185019062000478565b508051620001d390600490602084019062000478565b50506005805460ff19166012179055506000620001ef62000288565b60058054610100600160a81b0319166101006001600160a01b03841690810291909117909155604051919250906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35062000250816200028c565b6200027f33620002798360ff16600a0a6305f5e100620002a260201b62000b8f1790919060201c565b62000309565b50505062000514565b3390565b6005805460ff191660ff92909216919091179055565b600082620002b35750600062000303565b82820282848281620002c157fe5b0414620003005760405162461bcd60e51b8152600401808060200182810382526021815260200180620018756021913960400191505060405180910390fd5b90505b92915050565b6001600160a01b03821662000365576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b620003736000838362000418565b6200038f816002546200041d60201b62000bef1790919060201c565b6002556001600160a01b03821660009081526020818152604090912054620003c291839062000bef6200041d821b17901c565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b505050565b60008282018381101562000300576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620004bb57805160ff1916838001178555620004eb565b82800160010185558215620004eb579182015b82811115620004eb578251825591602001919060010190620004ce565b50620004f9929150620004fd565b5090565b5b80821115620004f95760008155600101620004fe565b61135180620005246000396000f3fe608060405234801561001057600080fd5b50600436106101215760003560e01c806371e2a657116100ad578063a457c2d711610071578063a457c2d7146103e2578063a9059cbb1461040e578063da1919b31461043a578063dd62ed3e14610466578063f2fde38b1461049457610121565b806371e2a657146102ca57806379cc67901461036d5780638da5cb5b1461039957806395d89b41146103bd578063a0712d68146103c557610121565b8063313ce567116100f4578063313ce56714610233578063395093511461025157806342966c681461027d57806370a082311461029c578063715018a6146102c257610121565b806306fdde0314610126578063095ea7b3146101a357806318160ddd146101e357806323b872dd146101fd575b600080fd5b61012e6104ba565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610168578181015183820152602001610150565b50505050905090810190601f1680156101955780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101cf600480360360408110156101b957600080fd5b506001600160a01b038135169060200135610550565b604080519115158252519081900360200190f35b6101eb61056e565b60408051918252519081900360200190f35b6101cf6004803603606081101561021357600080fd5b506001600160a01b03813581169160208101359091169060400135610574565b61023b6105fb565b6040805160ff9092168252519081900360200190f35b6101cf6004803603604081101561026757600080fd5b506001600160a01b038135169060200135610604565b61029a6004803603602081101561029357600080fd5b5035610652565b005b6101eb600480360360208110156102b257600080fd5b50356001600160a01b0316610666565b61029a610681565b61029a600480360360208110156102e057600080fd5b8101906020810181356401000000008111156102fb57600080fd5b82018360208201111561030d57600080fd5b8035906020019184602083028401116401000000008311171561032f57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610745945050505050565b61029a6004803603604081101561038357600080fd5b506001600160a01b038135169060200135610815565b6103a161086f565b604080516001600160a01b039092168252519081900360200190f35b61012e610883565b61029a600480360360208110156103db57600080fd5b50356108e4565b6101cf600480360360408110156103f857600080fd5b506001600160a01b038135169060200135610956565b6101cf6004803603604081101561042457600080fd5b506001600160a01b0381351690602001356109be565b61029a6004803603604081101561045057600080fd5b506001600160a01b0381351690602001356109d2565b6101eb6004803603604081101561047c57600080fd5b506001600160a01b0381358116916020013516610a44565b61029a600480360360208110156104aa57600080fd5b50356001600160a01b0316610a6f565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156105465780601f1061051b57610100808354040283529160200191610546565b820191906000526020600020905b81548152906001019060200180831161052957829003601f168201915b5050505050905090565b600061056461055d610c49565b8484610c4d565b5060015b92915050565b60025490565b6000610581848484610d39565b6105f18461058d610c49565b6105ec85604051806060016040528060288152602001611249602891396001600160a01b038a166000908152600160205260408120906105cb610c49565b6001600160a01b031681526020810191909152604001600020549190610e94565b610c4d565b5060019392505050565b60055460ff1690565b6000610564610611610c49565b846105ec8560016000610622610c49565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490610bef565b61066361065d610c49565b82610f2b565b50565b6001600160a01b031660009081526020819052604090205490565b610689610c49565b6001600160a01b031661069a61086f565b6001600160a01b0316146106f5576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b60055460405160009161010090046001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a360058054610100600160a81b0319169055565b61074d610c49565b6001600160a01b031661075e61086f565b6001600160a01b0316146107b9576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b60005b8151811015610811576001600660008484815181106107d757fe5b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790556001016107bc565b5050565b600061084c826040518060600160405280602481526020016112716024913961084586610840610c49565b610a44565b9190610e94565b90506108608361085a610c49565b83610c4d565b61086a8383610f2b565b505050565b60055461010090046001600160a01b031690565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156105465780601f1061051b57610100808354040283529160200191610546565b3360009081526006602052604090205460ff168061091157503361090661086f565b6001600160a01b0316145b61094c5760405162461bcd60e51b81526004018080602001828103825260218152602001806112ff6021913960400191505060405180910390fd5b6106633382611027565b6000610564610963610c49565b846105ec85604051806060016040528060258152602001611320602591396001600061098d610c49565b6001600160a01b03908116825260208083019390935260409182016000908120918d16815292529020549190610e94565b60006105646109cb610c49565b8484610d39565b3360009081526006602052604090205460ff16806109ff5750336109f461086f565b6001600160a01b0316145b610a3a5760405162461bcd60e51b81526004018080602001828103825260218152602001806112ff6021913960400191505060405180910390fd5b6108118282611027565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b610a77610c49565b6001600160a01b0316610a8861086f565b6001600160a01b031614610ae3576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b038116610b285760405162461bcd60e51b81526004018080602001828103825260268152602001806111ba6026913960400191505060405180910390fd5b6005546040516001600160a01b0380841692610100900416907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600580546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b600082610b9e57506000610568565b82820282848281610bab57fe5b0414610be85760405162461bcd60e51b81526004018080602001828103825260218152602001806112286021913960400191505060405180910390fd5b9392505050565b600082820183811015610be8576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b3390565b6001600160a01b038316610c925760405162461bcd60e51b81526004018080602001828103825260248152602001806112db6024913960400191505060405180910390fd5b6001600160a01b038216610cd75760405162461bcd60e51b81526004018080602001828103825260228152602001806111e06022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038316610d7e5760405162461bcd60e51b81526004018080602001828103825260258152602001806112b66025913960400191505060405180910390fd5b6001600160a01b038216610dc35760405162461bcd60e51b81526004018080602001828103825260238152602001806111756023913960400191505060405180910390fd5b610dce83838361086a565b610e0b81604051806060016040528060268152602001611202602691396001600160a01b0386166000908152602081905260409020549190610e94565b6001600160a01b038085166000908152602081905260408082209390935590841681522054610e3a9082610bef565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b60008184841115610f235760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610ee8578181015183820152602001610ed0565b50505050905090810190601f168015610f155780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6001600160a01b038216610f705760405162461bcd60e51b81526004018080602001828103825260218152602001806112956021913960400191505060405180910390fd5b610f7c8260008361086a565b610fb981604051806060016040528060228152602001611198602291396001600160a01b0385166000908152602081905260409020549190610e94565b6001600160a01b038316600090815260208190526040902055600254610fdf9082611117565b6002556040805182815290516000916001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b6001600160a01b038216611082576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b61108e6000838361086a565b60025461109b9082610bef565b6002556001600160a01b0382166000908152602081905260409020546110c19082610bef565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b60008282111561116e576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b5090039056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e63654f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e20616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f20616464726573736d73672e73656e646572206973206e6f74206f776e6572206f72206d696e74657245524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa164736f6c634300060c000a536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77", "sourceMap": "450:987:6:-:0;;;781:249;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;781:249:6;;;;;;;;;;-1:-1:-1;781:249:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;781:249:6;;;;;;;;;;-1:-1:-1;781:249:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;781:249:6;;;;;;;2032:13:447;;781:249:6;;-1:-1:-1;897:5:6;;-1:-1:-1;904:7:6;;2032:13:447;;:5;;:13;;;;:::i;:::-;-1:-1:-1;2055:17:447;;;;:7;;:17;;;;;:::i;:::-;-1:-1:-1;;2082:9:447;:14;;-1:-1:-1;;2082:14:447;2094:2;2082:14;;;-1:-1:-1;2082:9:447;904:12:441;:10;:12::i;:::-;926:6;:18;;-1:-1:-1;;;;;;926:18:441;;-1:-1:-1;;;;;926:18:441;;;;;;;;;;;;959:43;;926:18;;-1:-1:-1;926:18:441;-1:-1:-1;;959:43:441;;-1:-1:-1;;959:43:441;-1:-1:-1;923:25:6::1;938:9:::0;923:14:::1;:25::i;:::-;958:65;964:10;976:46;1011:9;1003:18;;999:2;:22;984:9;976:22;;;;;;:46;;;;:::i;:::-;958:5;:65::i;:::-;781:249:::0;;;450:987;;598:104:452;685:10;598:104;:::o;10018:96:447:-;10086:9;:21;;-1:-1:-1;;10086:21:447;;;;;;;;;;;;10018:96::o;3538:215:442:-;3596:7;3619:6;3615:20;;-1:-1:-1;3634:1:442;3627:8;;3615:20;3657:5;;;3661:1;3657;:5;:1;3680:5;;;;;:10;3672:56;;;;-1:-1:-1;;;3672:56:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3745:1;-1:-1:-1;3538:215:442;;;;;:::o;7832:370:447:-;-1:-1:-1;;;;;7915:21:447;;7907:65;;;;;-1:-1:-1;;;7907:65:447;;;;;;;;;;;;;;;;;;;;;;;;;;;;7983:49;8012:1;8016:7;8025:6;7983:20;:49::i;:::-;8058:24;8075:6;8058:12;;:16;;;;;;:24;;;;:::i;:::-;8043:12;:39;-1:-1:-1;;;;;8113:18:447;;:9;:18;;;;;;;;;;;;:30;;8136:6;;8113:22;;;;;:30;;:::i;:::-;-1:-1:-1;;;;;8092:18:447;;:9;:18;;;;;;;;;;;:51;;;;8158:37;;;;;;;8092:18;;:9;;8158:37;;;;;;;;;;7832:370;;:::o;10701:92::-;;;;:::o;2690:175:442:-;2748:7;2779:5;;;2802:6;;;;2794:46;;;;;-1:-1:-1;;;2794:46:442;;;;;;;;;;;;;;;;;;;;;;;;;;;450:987:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;450:987:6;;;-1:-1:-1;450:987:6;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106101215760003560e01c806371e2a657116100ad578063a457c2d711610071578063a457c2d7146103e2578063a9059cbb1461040e578063da1919b31461043a578063dd62ed3e14610466578063f2fde38b1461049457610121565b806371e2a657146102ca57806379cc67901461036d5780638da5cb5b1461039957806395d89b41146103bd578063a0712d68146103c557610121565b8063313ce567116100f4578063313ce56714610233578063395093511461025157806342966c681461027d57806370a082311461029c578063715018a6146102c257610121565b806306fdde0314610126578063095ea7b3146101a357806318160ddd146101e357806323b872dd146101fd575b600080fd5b61012e6104ba565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610168578181015183820152602001610150565b50505050905090810190601f1680156101955780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101cf600480360360408110156101b957600080fd5b506001600160a01b038135169060200135610550565b604080519115158252519081900360200190f35b6101eb61056e565b60408051918252519081900360200190f35b6101cf6004803603606081101561021357600080fd5b506001600160a01b03813581169160208101359091169060400135610574565b61023b6105fb565b6040805160ff9092168252519081900360200190f35b6101cf6004803603604081101561026757600080fd5b506001600160a01b038135169060200135610604565b61029a6004803603602081101561029357600080fd5b5035610652565b005b6101eb600480360360208110156102b257600080fd5b50356001600160a01b0316610666565b61029a610681565b61029a600480360360208110156102e057600080fd5b8101906020810181356401000000008111156102fb57600080fd5b82018360208201111561030d57600080fd5b8035906020019184602083028401116401000000008311171561032f57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610745945050505050565b61029a6004803603604081101561038357600080fd5b506001600160a01b038135169060200135610815565b6103a161086f565b604080516001600160a01b039092168252519081900360200190f35b61012e610883565b61029a600480360360208110156103db57600080fd5b50356108e4565b6101cf600480360360408110156103f857600080fd5b506001600160a01b038135169060200135610956565b6101cf6004803603604081101561042457600080fd5b506001600160a01b0381351690602001356109be565b61029a6004803603604081101561045057600080fd5b506001600160a01b0381351690602001356109d2565b6101eb6004803603604081101561047c57600080fd5b506001600160a01b0381358116916020013516610a44565b61029a600480360360208110156104aa57600080fd5b50356001600160a01b0316610a6f565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156105465780601f1061051b57610100808354040283529160200191610546565b820191906000526020600020905b81548152906001019060200180831161052957829003601f168201915b5050505050905090565b600061056461055d610c49565b8484610c4d565b5060015b92915050565b60025490565b6000610581848484610d39565b6105f18461058d610c49565b6105ec85604051806060016040528060288152602001611249602891396001600160a01b038a166000908152600160205260408120906105cb610c49565b6001600160a01b031681526020810191909152604001600020549190610e94565b610c4d565b5060019392505050565b60055460ff1690565b6000610564610611610c49565b846105ec8560016000610622610c49565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490610bef565b61066361065d610c49565b82610f2b565b50565b6001600160a01b031660009081526020819052604090205490565b610689610c49565b6001600160a01b031661069a61086f565b6001600160a01b0316146106f5576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b60055460405160009161010090046001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a360058054610100600160a81b0319169055565b61074d610c49565b6001600160a01b031661075e61086f565b6001600160a01b0316146107b9576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b60005b8151811015610811576001600660008484815181106107d757fe5b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff19169115159190911790556001016107bc565b5050565b600061084c826040518060600160405280602481526020016112716024913961084586610840610c49565b610a44565b9190610e94565b90506108608361085a610c49565b83610c4d565b61086a8383610f2b565b505050565b60055461010090046001600160a01b031690565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156105465780601f1061051b57610100808354040283529160200191610546565b3360009081526006602052604090205460ff168061091157503361090661086f565b6001600160a01b0316145b61094c5760405162461bcd60e51b81526004018080602001828103825260218152602001806112ff6021913960400191505060405180910390fd5b6106633382611027565b6000610564610963610c49565b846105ec85604051806060016040528060258152602001611320602591396001600061098d610c49565b6001600160a01b03908116825260208083019390935260409182016000908120918d16815292529020549190610e94565b60006105646109cb610c49565b8484610d39565b3360009081526006602052604090205460ff16806109ff5750336109f461086f565b6001600160a01b0316145b610a3a5760405162461bcd60e51b81526004018080602001828103825260218152602001806112ff6021913960400191505060405180910390fd5b6108118282611027565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b610a77610c49565b6001600160a01b0316610a8861086f565b6001600160a01b031614610ae3576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6001600160a01b038116610b285760405162461bcd60e51b81526004018080602001828103825260268152602001806111ba6026913960400191505060405180910390fd5b6005546040516001600160a01b0380841692610100900416907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600580546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b600082610b9e57506000610568565b82820282848281610bab57fe5b0414610be85760405162461bcd60e51b81526004018080602001828103825260218152602001806112286021913960400191505060405180910390fd5b9392505050565b600082820183811015610be8576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b3390565b6001600160a01b038316610c925760405162461bcd60e51b81526004018080602001828103825260248152602001806112db6024913960400191505060405180910390fd5b6001600160a01b038216610cd75760405162461bcd60e51b81526004018080602001828103825260228152602001806111e06022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038316610d7e5760405162461bcd60e51b81526004018080602001828103825260258152602001806112b66025913960400191505060405180910390fd5b6001600160a01b038216610dc35760405162461bcd60e51b81526004018080602001828103825260238152602001806111756023913960400191505060405180910390fd5b610dce83838361086a565b610e0b81604051806060016040528060268152602001611202602691396001600160a01b0386166000908152602081905260409020549190610e94565b6001600160a01b038085166000908152602081905260408082209390935590841681522054610e3a9082610bef565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b60008184841115610f235760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610ee8578181015183820152602001610ed0565b50505050905090810190601f168015610f155780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6001600160a01b038216610f705760405162461bcd60e51b81526004018080602001828103825260218152602001806112956021913960400191505060405180910390fd5b610f7c8260008361086a565b610fb981604051806060016040528060228152602001611198602291396001600160a01b0385166000908152602081905260409020549190610e94565b6001600160a01b038316600090815260208190526040902055600254610fdf9082611117565b6002556040805182815290516000916001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b6001600160a01b038216611082576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b61108e6000838361086a565b60025461109b9082610bef565b6002556001600160a01b0382166000908152602081905260409020546110c19082610bef565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b60008282111561116e576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b5090039056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e63654f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e20616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f20616464726573736d73672e73656e646572206973206e6f74206f776e6572206f72206d696e74657245524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa164736f6c634300060c000a", "sourceMap": "450:987:6:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2168:89:447;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4244:166;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;4244:166:447;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;3235:106;;;:::i;:::-;;;;;;;;;;;;;;;;4877:317;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;4877:317:447;;;;;;;;;;;;;;;;;:::i;3086:89::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5589:215;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;5589:215:447;;;;;;;;:::i;524:89:448:-;;;;;;;;;;;;;;;;-1:-1:-1;524:89:448;;:::i;:::-;;3399:125:447;;;;;;;;;;;;;;;;-1:-1:-1;3399:125:447;-1:-1:-1;;;;;3399:125:447;;:::i;1717:145:441:-;;;:::i;1247:188:6:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1247:188:6;;-1:-1:-1;1247:188:6;;-1:-1:-1;;;;;1247:188:6:i;919:290:448:-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;919:290:448;;;;;;;;:::i;1085:85:441:-;;;:::i;:::-;;;;-1:-1:-1;;;;;1085:85:441;;;;;;;;;;;;;;2370:93:447;;;:::i;1147:94:6:-;;;;;;;;;;;;;;;;-1:-1:-1;1147:94:6;;:::i;6291:266:447:-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;6291:266:447;;;;;;;;:::i;3727:172::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;3727:172:447;;;;;;;;:::i;1036:105:6:-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1036:105:6;;;;;;;;:::i;3957:149:447:-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;3957:149:447;;;;;;;;;;:::i;2011:240:441:-;;;;;;;;;;;;;;;;-1:-1:-1;2011:240:441;-1:-1:-1;;;;;2011:240:441;;:::i;2168:89:447:-;2245:5;2238:12;;;;;;;;-1:-1:-1;;2238:12:447;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2213:13;;2238:12;;2245:5;;2238:12;;2245:5;2238:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2168:89;:::o;4244:166::-;4327:4;4343:39;4352:12;:10;:12::i;:::-;4366:7;4375:6;4343:8;:39::i;:::-;-1:-1:-1;4399:4:447;4244:166;;;;;:::o;3235:106::-;3322:12;;3235:106;:::o;4877:317::-;4983:4;4999:36;5009:6;5017:9;5028:6;4999:9;:36::i;:::-;5045:121;5054:6;5062:12;:10;:12::i;:::-;5076:89;5114:6;5076:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5076:19:447;;;;;;:11;:19;;;;;;5096:12;:10;:12::i;:::-;-1:-1:-1;;;;;5076:33:447;;;;;;;;;;;;-1:-1:-1;5076:33:447;;;:89;:37;:89::i;:::-;5045:8;:121::i;:::-;-1:-1:-1;5183:4:447;4877:317;;;;;:::o;3086:89::-;3159:9;;;;3086:89;:::o;5589:215::-;5677:4;5693:83;5702:12;:10;:12::i;:::-;5716:7;5725:50;5764:10;5725:11;:25;5737:12;:10;:12::i;:::-;-1:-1:-1;;;;;5725:25:447;;;;;;;;;;;;;;;;;-1:-1:-1;5725:25:447;;;:34;;;;;;;;;;;:38;:50::i;524:89:448:-;579:27;585:12;:10;:12::i;:::-;599:6;579:5;:27::i;:::-;524:89;:::o;3399:125:447:-;-1:-1:-1;;;;;3499:18:447;3473:7;3499:18;;;;;;;;;;;;3399:125::o;1717:145:441:-;1308:12;:10;:12::i;:::-;-1:-1:-1;;;;;1297:23:441;:7;:5;:7::i;:::-;-1:-1:-1;;;;;1297:23:441;;1289:68;;;;;-1:-1:-1;;;1289:68:441;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1807:6:::1;::::0;1786:40:::1;::::0;1823:1:::1;::::0;1807:6:::1;::::0;::::1;-1:-1:-1::0;;;;;1807:6:441::1;::::0;1786:40:::1;::::0;1823:1;;1786:40:::1;1836:6;:19:::0;;-1:-1:-1;;;;;;1836:19:441::1;::::0;;1717:145::o;1247:188:6:-;1308:12:441;:10;:12::i;:::-;-1:-1:-1;;;;;1297:23:441;:7;:5;:7::i;:::-;-1:-1:-1;;;;;1297:23:441;;1289:68;;;;;-1:-1:-1;;;1289:68:441;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1326:9:6::1;1321:108;1345:8;:15;1341:1;:19;1321:108;;;1414:4;1381:17;:30;1399:8;1408:1;1399:11;;;;;;;;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;1381:30:6::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;1381:30:6;:37;;-1:-1:-1;;1381:37:6::1;::::0;::::1;;::::0;;;::::1;::::0;;-1:-1:-1;1362:3:6::1;1321:108;;;;1247:188:::0;:::o;919:290:448:-;995:26;1024:84;1061:6;1024:84;;;;;;;;;;;;;;;;;:32;1034:7;1043:12;:10;:12::i;:::-;1024:9;:32::i;:::-;:36;:84;:36;:84::i;:::-;995:113;;1119:51;1128:7;1137:12;:10;:12::i;:::-;1151:18;1119:8;:51::i;:::-;1180:22;1186:7;1195:6;1180:5;:22::i;:::-;919:290;;;:::o;1085:85:441:-;1157:6;;;;;-1:-1:-1;;;;;1157:6:441;;1085:85::o;2370:93:447:-;2449:7;2442:14;;;;;;;;-1:-1:-1;;2442:14:447;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2417:13;;2442:14;;2449:7;;2442:14;;2449:7;2442:14;;;;;;;;;;;;;;;;;;;;;;;;1147:94:6;662:10;644:29;;;;:17;:29;;;;;;;;;:54;;-1:-1:-1;688:10:6;677:7;:5;:7::i;:::-;-1:-1:-1;;;;;677:21:6;;644:54;623:134;;;;-1:-1:-1;;;623:134:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1208:26:::1;1214:10;1226:7;1208:5;:26::i;6291:266:447:-:0;6384:4;6400:129;6409:12;:10;:12::i;:::-;6423:7;6432:96;6471:15;6432:96;;;;;;;;;;;;;;;;;:11;:25;6444:12;:10;:12::i;:::-;-1:-1:-1;;;;;6432:25:447;;;;;;;;;;;;;;;;;-1:-1:-1;6432:25:447;;;:34;;;;;;;;;;;:96;:38;:96::i;3727:172::-;3813:4;3829:42;3839:12;:10;:12::i;:::-;3853:9;3864:6;3829:9;:42::i;1036:105:6:-;662:10;644:29;;;;:17;:29;;;;;;;;;:54;;-1:-1:-1;688:10:6;677:7;:5;:7::i;:::-;-1:-1:-1;;;;;677:21:6;;644:54;623:134;;;;-1:-1:-1;;;623:134:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1114:20:::1;1120:4;1126:7;1114:5;:20::i;3957:149:447:-:0;-1:-1:-1;;;;;4072:18:447;;;4046:7;4072:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;3957:149::o;2011:240:441:-;1308:12;:10;:12::i;:::-;-1:-1:-1;;;;;1297:23:441;:7;:5;:7::i;:::-;-1:-1:-1;;;;;1297:23:441;;1289:68;;;;;-1:-1:-1;;;1289:68:441;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2099:22:441;::::1;2091:73;;;;-1:-1:-1::0;;;2091:73:441::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2200:6;::::0;2179:38:::1;::::0;-1:-1:-1;;;;;2179:38:441;;::::1;::::0;2200:6:::1;::::0;::::1;;::::0;2179:38:::1;::::0;;;::::1;2227:6;:17:::0;;-1:-1:-1;;;;;2227:17:441;;::::1;;;-1:-1:-1::0;;;;;;2227:17:441;;::::1;::::0;;;::::1;::::0;;2011:240::o;3538:215:442:-;3596:7;3619:6;3615:20;;-1:-1:-1;3634:1:442;3627:8;;3615:20;3657:5;;;3661:1;3657;:5;:1;3680:5;;;;;:10;3672:56;;;;-1:-1:-1;;;3672:56:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3745:1;3538:215;-1:-1:-1;;;3538:215:442:o;2690:175::-;2748:7;2779:5;;;2802:6;;;;2794:46;;;;;-1:-1:-1;;;2794:46:442;;;;;;;;;;;;;;;;;;;;;;;;;;;598:104:452;685:10;598:104;:::o;9355:340:447:-;-1:-1:-1;;;;;9456:19:447;;9448:68;;;;-1:-1:-1;;;9448:68:447;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9534:21:447;;9526:68;;;;-1:-1:-1;;;9526:68:447;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9605:18:447;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;9656:32;;;;;;;;;;;;;;;;;9355:340;;;:::o;7031:530::-;-1:-1:-1;;;;;7136:20:447;;7128:70;;;;-1:-1:-1;;;7128:70:447;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7216:23:447;;7208:71;;;;-1:-1:-1;;;7208:71:447;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7290:47;7311:6;7319:9;7330:6;7290:20;:47::i;:::-;7368:71;7390:6;7368:71;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7368:17:447;;:9;:17;;;;;;;;;;;;:71;:21;:71::i;:::-;-1:-1:-1;;;;;7348:17:447;;;:9;:17;;;;;;;;;;;:91;;;;7472:20;;;;;;;:32;;7497:6;7472:24;:32::i;:::-;-1:-1:-1;;;;;7449:20:447;;;:9;:20;;;;;;;;;;;;:55;;;;7519:35;;;;;;;7449:20;;7519:35;;;;;;;;;;;;;7031:530;;;:::o;5432:163:442:-;5518:7;5553:12;5545:6;;;;5537:29;;;;-1:-1:-1;;;5537:29:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5583:5:442;;;5432:163::o;8522:410:447:-;-1:-1:-1;;;;;8605:21:447;;8597:67;;;;-1:-1:-1;;;8597:67:447;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8675:49;8696:7;8713:1;8717:6;8675:20;:49::i;:::-;8756:68;8779:6;8756:68;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8756:18:447;;:9;:18;;;;;;;;;;;;:68;:22;:68::i;:::-;-1:-1:-1;;;;;8735:18:447;;:9;:18;;;;;;;;;;:89;8849:12;;:24;;8866:6;8849:16;:24::i;:::-;8834:12;:39;8888:37;;;;;;;;8914:1;;-1:-1:-1;;;;;8888:37:447;;;;;;;;;;;;8522:410;;:::o;7832:370::-;-1:-1:-1;;;;;7915:21:447;;7907:65;;;;;-1:-1:-1;;;7907:65:447;;;;;;;;;;;;;;;;;;;;;;;;;;;;7983:49;8012:1;8016:7;8025:6;7983:20;:49::i;:::-;8058:12;;:24;;8075:6;8058:16;:24::i;:::-;8043:12;:39;-1:-1:-1;;;;;8113:18:447;;:9;:18;;;;;;;;;;;:30;;8136:6;8113:22;:30::i;:::-;-1:-1:-1;;;;;8092:18:447;;:9;:18;;;;;;;;;;;:51;;;;8158:37;;;;;;;8092:18;;:9;;8158:37;;;;;;;;;;7832:370;;:::o;3136:155:442:-;3194:7;3226:1;3221;:6;;3213:49;;;;;-1:-1:-1;;;3213:49:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3279:5:442;;;3136:155::o", "linkReferences": {} }, "methodIdentifiers": { "addMinters(address[])": "71e2a657", "allowance(address,address)": "dd62ed3e", "approve(address,uint256)": "095ea7b3", "balanceOf(address)": "70a08231", "burn(uint256)": "42966c68", "burnFrom(address,uint256)": "79cc6790", "decimals()": "313ce567", "decreaseAllowance(address,uint256)": "a457c2d7", "increaseAllowance(address,uint256)": "39509351", "mint(uint256)": "a0712d68", "mintFor(address,uint256)": "da1919b3", "name()": "06fdde03", "owner()": "8da5cb5b", "renounceOwnership()": "715018a6", "symbol()": "95d89b41", "totalSupply()": "18160ddd", "transfer(address,uint256)": "a9059cbb", "transferFrom(address,address,uint256)": "23b872dd", "transferOwnership(address)": "f2fde38b" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_symbol\",\"type\":\"string\"},{\"internalType\":\"uint8\",\"name\":\"_decimals\",\"type\":\"uint8\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"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\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"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\":\"_minters\",\"type\":\"address[]\"}],\"name\":\"addMinters\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"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\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"burnFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_who\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"mintFor\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"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\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"burn(uint256)\":{\"details\":\"Destroys `amount` tokens from the caller. See {ERC20-_burn}.\"},\"burnFrom(address,uint256)\":{\"details\":\"Destroys `amount` tokens from `account`, deducting from the caller's allowance. See {ERC20-_burn} and {ERC20-allowance}. Requirements: - the caller must have allowance for ``accounts``'s tokens of at least `amount`.\"},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5,05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the value {ERC20} uses, unless {_setupDecimals} is called. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.\"},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"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 anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `recipient` cannot be the zero address. - the caller must have a balance of at least `amount`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. Requirements: - `sender` and `recipient` cannot be the zero address. - `sender` must have a balance of at least `amount`. - the caller must have allowance for ``sender``'s tokens of at least `amount`.\"},\"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\":{\"contracts/mocks/MockToken.sol\":\"MockToken\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/mocks/MockToken.sol\":{\"keccak256\":\"0x0ff282a2646d5ae4f10709ee3df0f0f6726eb62d8b32082f852af2f2d69ffea9\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://cad9b0dd4da24c968ee14332da613cf7621d7ff4b305cf39c508975929579c9e\",\"dweb:/ipfs/QmX2kjKWSHyUztfvs3UdhK4ige2N8miWYTrYXbmTXr2xFM\"]},\"node_modules/@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0x15e2d5bd4c28a88548074c54d220e8086f638a71ed07e6b3ba5a70066fcf458d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://90faf5851c02f9bd42c5bfb54d4f0421a2612f50ab80b2c4fa24fa3792071cc2\",\"dweb:/ipfs/QmRGM4F2PcGVF85aTfaA9YBhCHHDqrMhRjyp6fGeBTtirb\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20Burnable.sol\":{\"keccak256\":\"0x9c0eb3b0e11d2480d49991dc384f1e5f9c9b9967cc81944d50916a9b9c6c4984\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99e4033d778624992e86f0b6d801a4f6d7b5c0cd5c79c1296be90a051ad5f5af\",\"dweb:/ipfs/QmShYmkUqh6pDEeoWadZ24icmCr4C2Xys1uE5boivPmbwf\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "string", "name": "_name", "type": "string" }, { "internalType": "string", "name": "_symbol", "type": "string" }, { "internalType": "uint8", "name": "_decimals", "type": "uint8" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address", "indexed": true }, { "internalType": "address", "name": "spender", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "value", "type": "uint256", "indexed": false } ], "type": "event", "name": "Approval", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "previousOwner", "type": "address", "indexed": true }, { "internalType": "address", "name": "newOwner", "type": "address", "indexed": true } ], "type": "event", "name": "OwnershipTransferred", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address", "indexed": true }, { "internalType": "address", "name": "to", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "value", "type": "uint256", "indexed": false } ], "type": "event", "name": "Transfer", "anonymous": false }, { "inputs": [ { "internalType": "address[]", "name": "_minters", "type": "address[]" } ], "stateMutability": "nonpayable", "type": "function", "name": "addMinters" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "burn" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "burnFrom" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ] }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "subtractedValue", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "decreaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "addedValue", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "increaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "mint" }, { "inputs": [ { "internalType": "address", "name": "_who", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "mintFor" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ] }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "renounceOwnership" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "transferOwnership" } ], "devdoc": { "kind": "dev", "methods": { "allowance(address,address)": { "details": "See {IERC20-allowance}." }, "approve(address,uint256)": { "details": "See {IERC20-approve}. Requirements: - `spender` cannot be the zero address." }, "balanceOf(address)": { "details": "See {IERC20-balanceOf}." }, "burn(uint256)": { "details": "Destroys `amount` tokens from the caller. See {ERC20-_burn}." }, "burnFrom(address,uint256)": { "details": "Destroys `amount` tokens from `account`, deducting from the caller's allowance. See {ERC20-_burn} and {ERC20-allowance}. Requirements: - the caller must have allowance for ``accounts``'s tokens of at least `amount`." }, "decimals()": { "details": "Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5,05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the value {ERC20} uses, unless {_setupDecimals} is called. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}." }, "decreaseAllowance(address,uint256)": { "details": "Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`." }, "increaseAllowance(address,uint256)": { "details": "Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address." }, "name()": { "details": "Returns the name of the token." }, "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 anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner." }, "symbol()": { "details": "Returns the symbol of the token, usually a shorter version of the name." }, "totalSupply()": { "details": "See {IERC20-totalSupply}." }, "transfer(address,uint256)": { "details": "See {IERC20-transfer}. Requirements: - `recipient` cannot be the zero address. - the caller must have a balance of at least `amount`." }, "transferFrom(address,address,uint256)": { "details": "See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. Requirements: - `sender` and `recipient` cannot be the zero address. - `sender` must have a balance of at least `amount`. - the caller must have allowance for ``sender``'s tokens of at least `amount`." }, "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": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/mocks/MockToken.sol": "MockToken" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/mocks/MockToken.sol": { "keccak256": "0x0ff282a2646d5ae4f10709ee3df0f0f6726eb62d8b32082f852af2f2d69ffea9", "urls": [ "bzz-raw://cad9b0dd4da24c968ee14332da613cf7621d7ff4b305cf39c508975929579c9e", "dweb:/ipfs/QmX2kjKWSHyUztfvs3UdhK4ige2N8miWYTrYXbmTXr2xFM" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/access/Ownable.sol": { "keccak256": "0x15e2d5bd4c28a88548074c54d220e8086f638a71ed07e6b3ba5a70066fcf458d", "urls": [ "bzz-raw://90faf5851c02f9bd42c5bfb54d4f0421a2612f50ab80b2c4fa24fa3792071cc2", "dweb:/ipfs/QmRGM4F2PcGVF85aTfaA9YBhCHHDqrMhRjyp6fGeBTtirb" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20Burnable.sol": { "keccak256": "0x9c0eb3b0e11d2480d49991dc384f1e5f9c9b9967cc81944d50916a9b9c6c4984", "urls": [ "bzz-raw://99e4033d778624992e86f0b6d801a4f6d7b5c0cd5c79c1296be90a051ad5f5af", "dweb:/ipfs/QmShYmkUqh6pDEeoWadZ24icmCr4C2Xys1uE5boivPmbwf" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" } }, "version": 1 }, "id": 6 } diff --git a/eth_defi/abi/enzyme/MockVaultLib.json b/eth_defi/abi/enzyme/MockVaultLib.json index 9533c379..adf7bacc 100644 --- a/eth_defi/abi/enzyme/MockVaultLib.json +++ b/eth_defi/abi/enzyme/MockVaultLib.json @@ -1,1110 +1 @@ -{ - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "prevAccessor", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "nextAccessor", - "type": "address" - } - ], - "name": "AccessorSet", - "type": "event" - }, - { - "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": false, - "internalType": "address", - "name": "prevMigrator", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "nextMigrator", - "type": "address" - } - ], - "name": "MigratorSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "prevOwner", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "nextOwner", - "type": "address" - } - ], - "name": "OwnerSet", - "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" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "prevVaultLib", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "nextVaultLib", - "type": "address" - } - ], - "name": "VaultLibSet", - "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": [ - { - "internalType": "address", - "name": "_who", - "type": "address" - } - ], - "name": "canMigrate", - "outputs": [ - { - "internalType": "bool", - "name": "canMigrate_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "getAccessor", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getCreator", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getMigrator", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getVaultLib", - "outputs": [ - { - "internalType": "address", - "name": "vaultLib_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - }, - { - "internalType": "address", - "name": "_accessor", - "type": "address" - }, - { - "internalType": "string", - "name": "_fundName", - "type": "string" - } - ], - "name": "init", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "proxiableUUID", - "outputs": [ - { - "internalType": "bytes32", - "name": "uuid_", - "type": "bytes32" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_nextAccessor", - "type": "address" - } - ], - "name": "setAccessor", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_nextVaultLib", - "type": "address" - } - ], - "name": "setVaultLib", - "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": "_recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_sender", - "type": "address" - }, - { - "internalType": "address", - "name": "_recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x608060405234801561001057600080fd5b506110e9806100206000396000f3fe608060405234801561001057600080fd5b50600436106101215760003560e01c80635c9a6d37116100ad57806395d89b411161007157806395d89b4114610392578063a9059cbb1461039a578063ab9253ac146103c6578063cd63d578146103ec578063dd62ed3e146103f457610121565b80635c9a6d37146102ad578063682cea191461033657806370a082311461033e5780637de07cea14610364578063893d20e81461038a57610121565b806323b872dd116100f457806323b872dd14610221578063313ce567146102575780634140d6071461027557806352d1902d1461029d5780635a53e348146102a557610121565b806306fdde0314610126578063095ea7b3146101a35780630ee2cb10146101e357806318160ddd14610207575b600080fd5b61012e610422565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610168578181015183820152602001610150565b50505050905090810190601f1680156101955780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101cf600480360360408110156101b957600080fd5b506001600160a01b0381351690602001356104b8565b604080519115158252519081900360200190f35b6101eb6104ce565b604080516001600160a01b039092168252519081900360200190f35b61020f6104dd565b60408051918252519081900360200190f35b6101cf6004803603606081101561023757600080fd5b506001600160a01b038135811691602081013590911690604001356104e3565b61025f61054c565b6040805160ff9092168252519081900360200190f35b61029b6004803603602081101561028b57600080fd5b50356001600160a01b0316610551565b005b61020f6105f8565b6101eb61061c565b61029b600480360360608110156102c357600080fd5b6001600160a01b0382358116926020810135909116918101906060810160408201356401000000008111156102f757600080fd5b82018360208201111561030957600080fd5b8035906020019184600183028401116401000000008311171561032b57600080fd5b50909250905061062b565b6101eb610719565b61020f6004803603602081101561035457600080fd5b50356001600160a01b031661073e565b6101cf6004803603602081101561037a57600080fd5b50356001600160a01b0316610759565b6101eb61078b565b61012e61079a565b6101cf600480360360408110156103b057600080fd5b506001600160a01b0381351690602001356107fa565b61029b600480360360208110156103dc57600080fd5b50356001600160a01b0316610807565b6101eb61085c565b61020f6004803603604081101561040a57600080fd5b506001600160a01b038135811691602001351661086b565b60008054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104ae5780601f10610483576101008083540402835291602001916104ae565b820191906000526020600020905b81548152906001019060200180831161049157829003601f168201915b5050505050905090565b60006104c5338484610896565b50600192915050565b6006546001600160a01b031690565b60025490565b60006104f0848484610982565b610542843361053d85604051806060016040528060288152602001610fc0602891396001600160a01b038a1660009081526004602090815260408083203384529091529020549190610ad4565b610896565b5060019392505050565b601290565b6006546001600160a01b0316331461059a5760405162461bcd60e51b8152600401808060200182810382526032815260200180610f8e6032913960400191505060405180910390fd5b60006105a4610719565b90506105af82610b6b565b604080516001600160a01b0380841682528416602082015281517fe504a0278c9d64c1a72d2f528a0c5e3686e093fcd478b3b1224a5c6983207df6929181900390910190a15050565b7f027b9570e9fedc1a80b937ae9a06861e5faef3992491af30b684a64b3fbec7a590565b6005546001600160a01b031690565b6006546001600160a01b031615610689576040805162461bcd60e51b815260206004820152601f60248201527f696e69743a2050726f787920616c726561647920696e697469616c697a656400604482015290519081900360640190fd5b600680546001600160a01b031916331790556106a760008383610e38565b506106b183610c51565b6106ba84610cf9565b7fe504a0278c9d64c1a72d2f528a0c5e3686e093fcd478b3b1224a5c6983207df660006106e5610719565b60405180836001600160a01b03168152602001826001600160a01b031681526020019250505060405180910390a150505050565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b031660009081526003602052604090205490565b6008546000906001600160a01b038381169116148061078557506007546001600160a01b038381169116145b92915050565b6008546001600160a01b031690565b60018054604080516020601f600260001961010087891615020190951694909404938401819004810282018101909252828152606093909290918301828280156104ae5780601f10610483576101008083540402835291602001916104ae565b60006104c5338484610982565b6006546001600160a01b031633146108505760405162461bcd60e51b81526004018080602001828103825260328152602001806110366032913960400191505060405180910390fd5b61085981610c51565b50565b6007546001600160a01b031690565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b6001600160a01b0383166108db5760405162461bcd60e51b81526004018080602001828103825260248152602001806110b96024913960400191505060405180910390fd5b6001600160a01b0382166109205760405162461bcd60e51b8152600401808060200182810382526022815260200180610f206022913960400191505060405180910390fd5b6001600160a01b03808416600081815260046020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0383166109c75760405162461bcd60e51b81526004018080602001828103825260258152602001806110686025913960400191505060405180910390fd5b6001600160a01b038216610a0c5760405162461bcd60e51b8152600401808060200182810382526023815260200180610ecc6023913960400191505060405180910390fd5b610a4981604051806060016040528060268152602001610f42602691396001600160a01b0386166000908152600360205260409020549190610ad4565b6001600160a01b038085166000908152600360205260408082209390935590841681522054610a789082610ded565b6001600160a01b0380841660008181526003602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b60008184841115610b635760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610b28578181015183820152602001610b10565b50505050905090810190601f168015610b555780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b815260040160206040518083038186803b158015610ba457600080fd5b505afa158015610bb8573d6000803e3d6000fd5b505050506040513d6020811015610bce57600080fd5b50517f027b9570e9fedc1a80b937ae9a06861e5faef3992491af30b684a64b3fbec7a514610c2d5760405162461bcd60e51b8152600401808060200182810382526031815260200180610eef6031913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b6001600160a01b038116610c965760405162461bcd60e51b815260040180806020018281038252602c81526020018061108d602c913960400191505060405180910390fd5b600580546001600160a01b038381166001600160a01b0319831681179093556040805191909216808252602082019390935281517fb5a9def940973a936e331170816650368964b0602957d4bc60f5ddc2dc1b69cd929181900390910190a15050565b6001600160a01b038116610d3e5760405162461bcd60e51b8152600401808060200182810382526026815260200180610f686026913960400191505060405180910390fd5b6008546001600160a01b03908116908216811415610d8d5760405162461bcd60e51b815260040180806020018281038252602b81526020018061100b602b913960400191505060405180910390fd5b600880546001600160a01b0319166001600160a01b03848116918217909255604080519284168352602083019190915280517f342827c97908e5e2f71151c08502a66d44b6f758e3ac2f1de95f02eb95f0a7359281900390910190a15050565b600082820183811015610e315760405162461bcd60e51b8152600401808060200182810382526023815260200180610fe86023913960400191505060405180910390fd5b9392505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10610e795782800160ff19823516178555610ea6565b82800160010185558215610ea6579182015b82811115610ea6578235825591602001919060010190610e8b565b50610eb2929150610eb6565b5090565b5b80821115610eb25760008155600101610eb756fe45524332303a207472616e7366657220746f20746865207a65726f20616464726573735f5f757064617465436f6465416464726573733a205f6e6578745661756c744c6962206e6f7420636f6d70617469626c6545524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e63655f5f7365744f776e65723a205f6e6578744f776e65722063616e6e6f7420626520656d7074797365745661756c744c69623a204f6e6c792063616c6c61626c652062792074686520636f6e74726163742063726561746f7245524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63655661756c744c6962536166654d6174683a206164646974696f6e206f766572666c6f775f5f7365744f776e65723a205f6e6578744f776e6572206973207468652063757272656e74206f776e65727365744163636573736f723a204f6e6c792063616c6c61626c652062792074686520636f6e74726163742063726561746f7245524332303a207472616e736665722066726f6d20746865207a65726f20616464726573735f5f7365744163636573736f723a205f6e6578744163636573736f722063616e6e6f7420626520656d70747945524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a164736f6c634300060c000a", - "sourceMap": "496:408:7:-:0;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106101215760003560e01c80635c9a6d37116100ad57806395d89b411161007157806395d89b4114610392578063a9059cbb1461039a578063ab9253ac146103c6578063cd63d578146103ec578063dd62ed3e146103f457610121565b80635c9a6d37146102ad578063682cea191461033657806370a082311461033e5780637de07cea14610364578063893d20e81461038a57610121565b806323b872dd116100f457806323b872dd14610221578063313ce567146102575780634140d6071461027557806352d1902d1461029d5780635a53e348146102a557610121565b806306fdde0314610126578063095ea7b3146101a35780630ee2cb10146101e357806318160ddd14610207575b600080fd5b61012e610422565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610168578181015183820152602001610150565b50505050905090810190601f1680156101955780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101cf600480360360408110156101b957600080fd5b506001600160a01b0381351690602001356104b8565b604080519115158252519081900360200190f35b6101eb6104ce565b604080516001600160a01b039092168252519081900360200190f35b61020f6104dd565b60408051918252519081900360200190f35b6101cf6004803603606081101561023757600080fd5b506001600160a01b038135811691602081013590911690604001356104e3565b61025f61054c565b6040805160ff9092168252519081900360200190f35b61029b6004803603602081101561028b57600080fd5b50356001600160a01b0316610551565b005b61020f6105f8565b6101eb61061c565b61029b600480360360608110156102c357600080fd5b6001600160a01b0382358116926020810135909116918101906060810160408201356401000000008111156102f757600080fd5b82018360208201111561030957600080fd5b8035906020019184600183028401116401000000008311171561032b57600080fd5b50909250905061062b565b6101eb610719565b61020f6004803603602081101561035457600080fd5b50356001600160a01b031661073e565b6101cf6004803603602081101561037a57600080fd5b50356001600160a01b0316610759565b6101eb61078b565b61012e61079a565b6101cf600480360360408110156103b057600080fd5b506001600160a01b0381351690602001356107fa565b61029b600480360360208110156103dc57600080fd5b50356001600160a01b0316610807565b6101eb61085c565b61020f6004803603604081101561040a57600080fd5b506001600160a01b038135811691602001351661086b565b60008054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104ae5780601f10610483576101008083540402835291602001916104ae565b820191906000526020600020905b81548152906001019060200180831161049157829003601f168201915b5050505050905090565b60006104c5338484610896565b50600192915050565b6006546001600160a01b031690565b60025490565b60006104f0848484610982565b610542843361053d85604051806060016040528060288152602001610fc0602891396001600160a01b038a1660009081526004602090815260408083203384529091529020549190610ad4565b610896565b5060019392505050565b601290565b6006546001600160a01b0316331461059a5760405162461bcd60e51b8152600401808060200182810382526032815260200180610f8e6032913960400191505060405180910390fd5b60006105a4610719565b90506105af82610b6b565b604080516001600160a01b0380841682528416602082015281517fe504a0278c9d64c1a72d2f528a0c5e3686e093fcd478b3b1224a5c6983207df6929181900390910190a15050565b7f027b9570e9fedc1a80b937ae9a06861e5faef3992491af30b684a64b3fbec7a590565b6005546001600160a01b031690565b6006546001600160a01b031615610689576040805162461bcd60e51b815260206004820152601f60248201527f696e69743a2050726f787920616c726561647920696e697469616c697a656400604482015290519081900360640190fd5b600680546001600160a01b031916331790556106a760008383610e38565b506106b183610c51565b6106ba84610cf9565b7fe504a0278c9d64c1a72d2f528a0c5e3686e093fcd478b3b1224a5c6983207df660006106e5610719565b60405180836001600160a01b03168152602001826001600160a01b031681526020019250505060405180910390a150505050565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b031660009081526003602052604090205490565b6008546000906001600160a01b038381169116148061078557506007546001600160a01b038381169116145b92915050565b6008546001600160a01b031690565b60018054604080516020601f600260001961010087891615020190951694909404938401819004810282018101909252828152606093909290918301828280156104ae5780601f10610483576101008083540402835291602001916104ae565b60006104c5338484610982565b6006546001600160a01b031633146108505760405162461bcd60e51b81526004018080602001828103825260328152602001806110366032913960400191505060405180910390fd5b61085981610c51565b50565b6007546001600160a01b031690565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b6001600160a01b0383166108db5760405162461bcd60e51b81526004018080602001828103825260248152602001806110b96024913960400191505060405180910390fd5b6001600160a01b0382166109205760405162461bcd60e51b8152600401808060200182810382526022815260200180610f206022913960400191505060405180910390fd5b6001600160a01b03808416600081815260046020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0383166109c75760405162461bcd60e51b81526004018080602001828103825260258152602001806110686025913960400191505060405180910390fd5b6001600160a01b038216610a0c5760405162461bcd60e51b8152600401808060200182810382526023815260200180610ecc6023913960400191505060405180910390fd5b610a4981604051806060016040528060268152602001610f42602691396001600160a01b0386166000908152600360205260409020549190610ad4565b6001600160a01b038085166000908152600360205260408082209390935590841681522054610a789082610ded565b6001600160a01b0380841660008181526003602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b60008184841115610b635760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610b28578181015183820152602001610b10565b50505050905090810190601f168015610b555780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b815260040160206040518083038186803b158015610ba457600080fd5b505afa158015610bb8573d6000803e3d6000fd5b505050506040513d6020811015610bce57600080fd5b50517f027b9570e9fedc1a80b937ae9a06861e5faef3992491af30b684a64b3fbec7a514610c2d5760405162461bcd60e51b8152600401808060200182810382526031815260200180610eef6031913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b6001600160a01b038116610c965760405162461bcd60e51b815260040180806020018281038252602c81526020018061108d602c913960400191505060405180910390fd5b600580546001600160a01b038381166001600160a01b0319831681179093556040805191909216808252602082019390935281517fb5a9def940973a936e331170816650368964b0602957d4bc60f5ddc2dc1b69cd929181900390910190a15050565b6001600160a01b038116610d3e5760405162461bcd60e51b8152600401808060200182810382526026815260200180610f686026913960400191505060405180910390fd5b6008546001600160a01b03908116908216811415610d8d5760405162461bcd60e51b815260040180806020018281038252602b81526020018061100b602b913960400191505060405180910390fd5b600880546001600160a01b0319166001600160a01b03848116918217909255604080519284168352602083019190915280517f342827c97908e5e2f71151c08502a66d44b6f758e3ac2f1de95f02eb95f0a7359281900390910190a15050565b600082820183811015610e315760405162461bcd60e51b8152600401808060200182810382526023815260200180610fe86023913960400191505060405180910390fd5b9392505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10610e795782800160ff19823516178555610ea6565b82800160010185558215610ea6579182015b82811115610ea6578235825591602001919060010190610e8b565b50610eb2929150610eb6565b5090565b5b80821115610eb25760008155600101610eb756fe45524332303a207472616e7366657220746f20746865207a65726f20616464726573735f5f757064617465436f6465416464726573733a205f6e6578745661756c744c6962206e6f7420636f6d70617469626c6545524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e63655f5f7365744f776e65723a205f6e6578744f776e65722063616e6e6f7420626520656d7074797365745661756c744c69623a204f6e6c792063616c6c61626c652062792074686520636f6e74726163742063726561746f7245524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63655661756c744c6962536166654d6174683a206164646974696f6e206f766572666c6f775f5f7365744f776e65723a205f6e6578744f776e6572206973207468652063757272656e74206f776e65727365744163636573736f723a204f6e6c792063616c6c61626c652062792074686520636f6e74726163742063726561746f7245524332303a207472616e736665722066726f6d20746865207a65726f20616464726573735f5f7365744163636573736f723a205f6e6578744163636573736f722063616e6e6f7420626520656d70747945524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a164736f6c634300060c000a", - "sourceMap": "496:408:7:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2882:94:75;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1218:160;;;;;;;;;;;;;;;;-1:-1:-1;1218:160:75;;-1:-1:-1;;;;;1218:160:75;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;637:85:7;;;:::i;:::-;;;;-1:-1:-1;;;;;637:85:7;;;;;;;;;;;;;;3245:102:75;;;:::i;:::-;;;;;;;;;;;;;;;;1718:442;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1718:442:75;;;;;;;;;;;;;;;;;:::i;2727:74::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2734:311:68;;;;;;;;;;;;;;;;-1:-1:-1;2734:311:68;-1:-1:-1;;;;;2734:311:68;;:::i;:::-;;1593:151:74;;;:::i;544:87:7:-;;;:::i;1627:385:68:-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1627:385:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1627:385:68;;-1:-1:-1;1627:385:68;-1:-1:-1;1627:385:68;:::i;3555:259::-;;;:::i;2515:123:75:-;;;;;;;;;;;;;;;;-1:-1:-1;2515:123:75;-1:-1:-1;;;;;2515:123:75;;:::i;3281:147:68:-;;;;;;;;;;;;;;;;-1:-1:-1;3281:147:68;-1:-1:-1;;;;;3281:147:68;;:::i;821:81:7:-;;;:::i;3059:98:75:-;;;:::i;1463:166::-;;;;;;;;;;;;;;;;-1:-1:-1;1463:166:75;;-1:-1:-1;;;;;1463:166:75;;;;;;:::i;2174:202:68:-;;;;;;;;;;;;;;;;-1:-1:-1;2174:202:68;-1:-1:-1;;;;;2174:202:68;;:::i;728:87:7:-;;;:::i;2280:149:75:-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;2280:149:75;;;;;;;;;;:::i;2882:94::-;2959:10;2952:17;;;;;;;;;;;;;-1:-1:-1;;2952:17:75;;;;;;;;;;;;;;;;;;;;;;;;;;2927:13;;2952:17;;2959:10;;2952:17;;;2959:10;2952:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2882:94;:::o;1218:160::-;1294:4;1310:40;1320:10;1332:8;1342:7;1310:9;:40::i;:::-;-1:-1:-1;1367:4:75;1218:160;;;;:::o;637:85:7:-;708:7;;-1:-1:-1;;;;;708:7:7;;637:85::o;3245:102:75:-;3323:17;;3245:102;:::o;1718:442::-;1848:4;1864:40;1875:7;1884:10;1896:7;1864:10;:40::i;:::-;1914:218;1937:7;1958:10;1982:140;2041:7;1982:140;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1982:25:75;;;;;;:16;:25;;;;;;;;2008:10;1982:37;;;;;;;;;;:41;:140::i;:::-;1914:9;:218::i;:::-;-1:-1:-1;2149:4:75;1718:442;;;;;:::o;2727:74::-;2792:2;2727:74;:::o;2734:311:68:-;2828:7;;-1:-1:-1;;;;;2828:7:68;2814:10;:21;2806:84;;;;-1:-1:-1;;;2806:84:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2901:20;2924:13;:11;:13::i;:::-;2901:36;;2948:34;2968:13;2948:19;:34::i;:::-;2998:40;;;-1:-1:-1;;;;;2998:40:68;;;;;;;;;;;;;;;;;;;;;;;;2734:311;;:::o;1593:151:74:-;1671:66;1593:151;:::o;544:87:7:-;616:8;;-1:-1:-1;;;;;616:8:7;;544:87::o;1627:385:68:-;1769:7;;-1:-1:-1;;;;;1769:7:68;:21;1761:65;;;;;-1:-1:-1;;;1761:65:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;1836:7;:20;;-1:-1:-1;;;;;;1836:20:68;1846:10;1836:20;;;1866:22;-1:-1:-1;1879:9:68;;1866:22;:::i;:::-;;1899:24;1913:9;1899:13;:24::i;:::-;1933:18;1944:6;1933:10;:18::i;:::-;1967:38;1987:1;1991:13;:11;:13::i;:::-;1967:38;;;-1:-1:-1;;;;;1967:38:68;;;;;;;;;;;;;;;;;;;;;;;;1627:385;;;;:::o;3555:259::-;3705:66;3699:73;3555:259;:::o;2515:123:75:-;-1:-1:-1;;;;;2607:24:75;2581:7;2607:24;;;:14;:24;;;;;;;2515:123::o;3281:147:68:-;3396:5;;3353:16;;-1:-1:-1;;;;;3388:13:68;;;3396:5;;3388:13;;:33;;-1:-1:-1;3413:8:68;;-1:-1:-1;;;;;3405:16:68;;;3413:8;;3405:16;3388:33;3381:40;3281:147;-1:-1:-1;;3281:147:68:o;821:81:7:-;890:5;;-1:-1:-1;;;;;890:5:7;;821:81::o;3059:98:75:-;3138:12;3131:19;;;;;;;;;;;;;-1:-1:-1;;3131:19:75;;;;;;;;;;;;;;;;;;;;;;;;;;3106:13;;3131:19;;3138:12;;3131:19;;;3138:12;3131:19;;;;;;;;;;;;;;;;;;;;;;;;1463:166;1542:4;1558:43;1569:10;1581;1593:7;1558:10;:43::i;2174:202:68:-;2268:7;;-1:-1:-1;;;;;2268:7:68;2254:10;:21;2246:84;;;;-1:-1:-1;;;2246:84:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2341:28;2355:13;2341;:28::i;:::-;2174:202;:::o;728:87:7:-;800:8;;-1:-1:-1;;;;;800:8:7;;728:87::o;2280:149:75:-;-1:-1:-1;;;;;2388:24:75;;;2362:7;2388:24;;;:16;:24;;;;;;;;:34;;;;;;;;;;;;;2280:149::o;3434:387::-;-1:-1:-1;;;;;3569:20:75;;3561:69;;;;-1:-1:-1;;;3561:69:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3648:22:75;;3640:69;;;;-1:-1:-1;;;3640:69:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3720:24:75;;;;;;;:16;:24;;;;;;;;:34;;;;;;;;;;;;;:44;;;3779:35;;;;;;;;;;;;;;;;;3434:387;;;:::o;4809:571::-;-1:-1:-1;;;;;4948:21:75;;4940:71;;;;-1:-1:-1;;;4940:71:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5029:24:75;;5021:72;;;;-1:-1:-1;;;5021:72:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5130:112;5171:7;5130:112;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5130:23:75;;;;;;:14;:23;;;;;;;;:27;:112::i;:::-;-1:-1:-1;;;;;5104:23:75;;;;;;;:14;:23;;;;;;:138;;;;5281:26;;;;;;;:39;;5312:7;5281:30;:39::i;:::-;-1:-1:-1;;;;;5252:26:75;;;;;;;:14;:26;;;;;;;;;:68;;;;5335:38;;;;;;;5252:26;;5335:38;;;;;;;;;;;;;4809:571;;;:::o;947:217:76:-;1063:7;1098:12;1090:6;;;;1082:29;;;;-1:-1:-1;;;1082:29:76;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1133:5:76;;;947:217::o;856:529:74:-;1061:13;-1:-1:-1;;;;;1043:46:74;;:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1043:48:74;956:66;948:143;927:239;;;;-1:-1:-1;;;927:239:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1258:66;1234:135;1185:194::o;3991:288:68:-;-1:-1:-1;;;;;4064:27:68;;4056:84;;;;-1:-1:-1;;;4056:84:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4173:8;;;-1:-1:-1;;;;;4192:24:68;;;-1:-1:-1;;;;;;4192:24:68;;;;;;;4232:40;;;4173:8;;;;4232:40;;;;;;;;;;;;;;;;;;;;;;;3991:288;;:::o;4340:341::-;-1:-1:-1;;;;;4407:24:68;;4399:75;;;;-1:-1:-1;;;4399:75:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4504:5;;-1:-1:-1;;;;;4504:5:68;;;;4527:23;;;;;4519:79;;;;-1:-1:-1;;;4519:79:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4609:5;:18;;-1:-1:-1;;;;;;4609:18:68;-1:-1:-1;;;;;4609:18:68;;;;;;;;;4643:31;;;;;;;;;;;;;;;;;;;;;;;;;;;4340:341;;:::o;609:184:76:-;667:7;698:5;;;721:6;;;;713:54;;;;-1:-1:-1;;;713:54:76;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;785:1;609:184;-1:-1:-1;;;609:184:76:o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "methodIdentifiers": { - "allowance(address,address)": "dd62ed3e", - "approve(address,uint256)": "095ea7b3", - "balanceOf(address)": "70a08231", - "canMigrate(address)": "7de07cea", - "decimals()": "313ce567", - "getAccessor()": "5a53e348", - "getCreator()": "0ee2cb10", - "getMigrator()": "cd63d578", - "getOwner()": "893d20e8", - "getVaultLib()": "682cea19", - "init(address,address,string)": "5c9a6d37", - "name()": "06fdde03", - "proxiableUUID()": "52d1902d", - "setAccessor(address)": "ab9253ac", - "setVaultLib(address)": "4140d607", - "symbol()": "95d89b41", - "totalSupply()": "18160ddd", - "transfer(address,uint256)": "a9059cbb", - "transferFrom(address,address,uint256)": "23b872dd" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"prevAccessor\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"nextAccessor\",\"type\":\"address\"}],\"name\":\"AccessorSet\",\"type\":\"event\"},{\"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\":false,\"internalType\":\"address\",\"name\":\"prevMigrator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"nextMigrator\",\"type\":\"address\"}],\"name\":\"MigratorSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"prevOwner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"nextOwner\",\"type\":\"address\"}],\"name\":\"OwnerSet\",\"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\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"prevVaultLib\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"nextVaultLib\",\"type\":\"address\"}],\"name\":\"VaultLibSet\",\"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\":[{\"internalType\":\"address\",\"name\":\"_who\",\"type\":\"address\"}],\"name\":\"canMigrate\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"canMigrate_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAccessor\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCreator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMigrator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getVaultLib\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"vaultLib_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_accessor\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_fundName\",\"type\":\"string\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"uuid_\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nextAccessor\",\"type\":\"address\"}],\"name\":\"setAccessor\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nextVaultLib\",\"type\":\"address\"}],\"name\":\"setVaultLib\",\"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\":\"_recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"Standard implementation of ERC20's allowance(). Can be overridden.\"},\"approve(address,uint256)\":{\"details\":\"Standard implementation of ERC20's approve(). Can be overridden.\"},\"balanceOf(address)\":{\"details\":\"Standard implementation of ERC20's balanceOf(). Can be overridden.\"},\"canMigrate(address)\":{\"params\":{\"_who\":\"The account to check\"},\"returns\":{\"canMigrate_\":\"True if the account is allowed to migrate the VaultProxy\"}},\"decimals()\":{\"details\":\"Standard implementation of ERC20's decimals(). Can not be overridden.\"},\"getVaultLib()\":{\"returns\":{\"vaultLib_\":\"The address of the VaultLib target\"}},\"init(address,address,string)\":{\"details\":\"Serves as a per-proxy pseudo-constructor\",\"params\":{\"_accessor\":\"The address to set as the permissioned accessor of the VaultLib\",\"_fundName\":\"The name of the fund\",\"_owner\":\"The address to set as the fund owner\"}},\"name()\":{\"details\":\"Standard implementation of ERC20's name(). Can be overridden.\"},\"proxiableUUID()\":{\"details\":\"The UUID is `bytes32(keccak256('mln.proxiable.vaultlib'))`\",\"returns\":{\"uuid_\":\"The bytes32 hash representing the UUID\"}},\"setAccessor(address)\":{\"params\":{\"_nextAccessor\":\"The address to set as the permissioned accessor of the VaultLib\"}},\"setVaultLib(address)\":{\"details\":\"This function is absolutely critical. __updateCodeAddress() validates that the target is a valid Proxiable contract instance. Does not block _nextVaultLib from being the same as the current VaultLib\",\"params\":{\"_nextVaultLib\":\"The address to set as the VaultLib\"}},\"symbol()\":{\"details\":\"Standard implementation of ERC20's symbol(). Can be overridden.\"},\"totalSupply()\":{\"details\":\"Standard implementation of ERC20's totalSupply(). Can be overridden.\"},\"transfer(address,uint256)\":{\"details\":\"Standard implementation of ERC20's transfer(). Can be overridden.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Standard implementation of ERC20's transferFrom(). Can be overridden.\"}},\"title\":\"MockVaultLib Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"canMigrate(address)\":{\"notice\":\"Checks whether an account is allowed to migrate the VaultProxy\"},\"getVaultLib()\":{\"notice\":\"Gets the VaultLib target for the VaultProxy\"},\"init(address,address,string)\":{\"notice\":\"Initializes the VaultProxy with core configuration\"},\"proxiableUUID()\":{\"notice\":\"Returns a unique bytes32 hash for VaultLib instances\"},\"setAccessor(address)\":{\"notice\":\"Sets the permissioned accessor of the VaultLib\"},\"setVaultLib(address)\":{\"notice\":\"Sets the VaultLib target for the VaultProxy\"}},\"notice\":\"A mock VaultLib implementation that only extends VaultLibBaseCore\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/mocks/MockVaultLib.sol\":\"MockVaultLib\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/mocks/MockVaultLib.sol\":{\"keccak256\":\"0x14d298c9cd4411cc6260fe50b93a1da572c5ddee7bfca377dd35403741c4e3b6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://e51c048dc4e2c9117fff0ecd4ab94d09701b9cd89247db8608c1a491c7374635\",\"dweb:/ipfs/QmYkH9dXQp1EEMfrcGPUTc3ey4o2UtvG91vDxjgQzwUuHE\"]},\"contracts/persistent/vault/VaultLibBaseCore.sol\":{\"keccak256\":\"0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd\",\"dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz\"]},\"contracts/persistent/vault/interfaces/IMigratableVault.sol\":{\"keccak256\":\"0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6\",\"dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs\"]},\"contracts/persistent/vault/utils/ProxiableVaultLib.sol\":{\"keccak256\":\"0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44\",\"dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4\"]},\"contracts/persistent/vault/utils/SharesTokenBase.sol\":{\"keccak256\":\"0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8\",\"dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4\"]},\"contracts/persistent/vault/utils/VaultLibSafeMath.sol\":{\"keccak256\":\"0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02\",\"dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "prevAccessor", - "type": "address", - "indexed": false - }, - { - "internalType": "address", - "name": "nextAccessor", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "AccessorSet", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "spender", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "Approval", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "prevMigrator", - "type": "address", - "indexed": false - }, - { - "internalType": "address", - "name": "nextMigrator", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "MigratorSet", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "prevOwner", - "type": "address", - "indexed": false - }, - { - "internalType": "address", - "name": "nextOwner", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "OwnerSet", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "to", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "Transfer", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "prevVaultLib", - "type": "address", - "indexed": false - }, - { - "internalType": "address", - "name": "nextVaultLib", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "VaultLibSet", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - }, - { - "internalType": "address", - "name": "_spender", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_account", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_who", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "canMigrate", - "outputs": [ - { - "internalType": "bool", - "name": "canMigrate_", - "type": "bool" - } - ] - }, - { - "inputs": [], - "stateMutability": "pure", - "type": "function", - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getAccessor", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getCreator", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getMigrator", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getVaultLib", - "outputs": [ - { - "internalType": "address", - "name": "vaultLib_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - }, - { - "internalType": "address", - "name": "_accessor", - "type": "address" - }, - { - "internalType": "string", - "name": "_fundName", - "type": "string" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "init" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ] - }, - { - "inputs": [], - "stateMutability": "pure", - "type": "function", - "name": "proxiableUUID", - "outputs": [ - { - "internalType": "bytes32", - "name": "uuid_", - "type": "bytes32" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_nextAccessor", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setAccessor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_nextVaultLib", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setVaultLib" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_sender", - "type": "address" - }, - { - "internalType": "address", - "name": "_recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "allowance(address,address)": { - "details": "Standard implementation of ERC20's allowance(). Can be overridden." - }, - "approve(address,uint256)": { - "details": "Standard implementation of ERC20's approve(). Can be overridden." - }, - "balanceOf(address)": { - "details": "Standard implementation of ERC20's balanceOf(). Can be overridden." - }, - "canMigrate(address)": { - "params": { - "_who": "The account to check" - }, - "returns": { - "canMigrate_": "True if the account is allowed to migrate the VaultProxy" - } - }, - "decimals()": { - "details": "Standard implementation of ERC20's decimals(). Can not be overridden." - }, - "getVaultLib()": { - "returns": { - "vaultLib_": "The address of the VaultLib target" - } - }, - "init(address,address,string)": { - "details": "Serves as a per-proxy pseudo-constructor", - "params": { - "_accessor": "The address to set as the permissioned accessor of the VaultLib", - "_fundName": "The name of the fund", - "_owner": "The address to set as the fund owner" - } - }, - "name()": { - "details": "Standard implementation of ERC20's name(). Can be overridden." - }, - "proxiableUUID()": { - "details": "The UUID is `bytes32(keccak256('mln.proxiable.vaultlib'))`", - "returns": { - "uuid_": "The bytes32 hash representing the UUID" - } - }, - "setAccessor(address)": { - "params": { - "_nextAccessor": "The address to set as the permissioned accessor of the VaultLib" - } - }, - "setVaultLib(address)": { - "details": "This function is absolutely critical. __updateCodeAddress() validates that the target is a valid Proxiable contract instance. Does not block _nextVaultLib from being the same as the current VaultLib", - "params": { - "_nextVaultLib": "The address to set as the VaultLib" - } - }, - "symbol()": { - "details": "Standard implementation of ERC20's symbol(). Can be overridden." - }, - "totalSupply()": { - "details": "Standard implementation of ERC20's totalSupply(). Can be overridden." - }, - "transfer(address,uint256)": { - "details": "Standard implementation of ERC20's transfer(). Can be overridden." - }, - "transferFrom(address,address,uint256)": { - "details": "Standard implementation of ERC20's transferFrom(). Can be overridden." - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "canMigrate(address)": { - "notice": "Checks whether an account is allowed to migrate the VaultProxy" - }, - "getVaultLib()": { - "notice": "Gets the VaultLib target for the VaultProxy" - }, - "init(address,address,string)": { - "notice": "Initializes the VaultProxy with core configuration" - }, - "proxiableUUID()": { - "notice": "Returns a unique bytes32 hash for VaultLib instances" - }, - "setAccessor(address)": { - "notice": "Sets the permissioned accessor of the VaultLib" - }, - "setVaultLib(address)": { - "notice": "Sets the VaultLib target for the VaultProxy" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/mocks/MockVaultLib.sol": "MockVaultLib" - }, - "libraries": {} - }, - "sources": { - "contracts/mocks/MockVaultLib.sol": { - "keccak256": "0x14d298c9cd4411cc6260fe50b93a1da572c5ddee7bfca377dd35403741c4e3b6", - "urls": [ - "bzz-raw://e51c048dc4e2c9117fff0ecd4ab94d09701b9cd89247db8608c1a491c7374635", - "dweb:/ipfs/QmYkH9dXQp1EEMfrcGPUTc3ey4o2UtvG91vDxjgQzwUuHE" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/VaultLibBaseCore.sol": { - "keccak256": "0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074", - "urls": [ - "bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd", - "dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IMigratableVault.sol": { - "keccak256": "0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238", - "urls": [ - "bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6", - "dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/utils/ProxiableVaultLib.sol": { - "keccak256": "0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76", - "urls": [ - "bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44", - "dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/utils/SharesTokenBase.sol": { - "keccak256": "0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113", - "urls": [ - "bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8", - "dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/utils/VaultLibSafeMath.sol": { - "keccak256": "0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d", - "urls": [ - "bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02", - "dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 7 -} +{ "abi": [ { "type": "function", "name": "allowance", "inputs": [ { "name": "_owner", "type": "address", "internalType": "address" }, { "name": "_spender", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "approve", "inputs": [ { "name": "_spender", "type": "address", "internalType": "address" }, { "name": "_amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "balanceOf", "inputs": [ { "name": "_account", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "canMigrate", "inputs": [ { "name": "_who", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "canMigrate_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "decimals", "inputs": [], "outputs": [ { "name": "", "type": "uint8", "internalType": "uint8" } ], "stateMutability": "pure" }, { "type": "function", "name": "getAccessor", "inputs": [], "outputs": [ { "name": "", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getCreator", "inputs": [], "outputs": [ { "name": "", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getMigrator", "inputs": [], "outputs": [ { "name": "", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getOwner", "inputs": [], "outputs": [ { "name": "", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getVaultLib", "inputs": [], "outputs": [ { "name": "vaultLib_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "init", "inputs": [ { "name": "_owner", "type": "address", "internalType": "address" }, { "name": "_accessor", "type": "address", "internalType": "address" }, { "name": "_fundName", "type": "string", "internalType": "string" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "name", "inputs": [], "outputs": [ { "name": "", "type": "string", "internalType": "string" } ], "stateMutability": "view" }, { "type": "function", "name": "proxiableUUID", "inputs": [], "outputs": [ { "name": "uuid_", "type": "bytes32", "internalType": "bytes32" } ], "stateMutability": "pure" }, { "type": "function", "name": "setAccessor", "inputs": [ { "name": "_nextAccessor", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setVaultLib", "inputs": [ { "name": "_nextVaultLib", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "symbol", "inputs": [], "outputs": [ { "name": "", "type": "string", "internalType": "string" } ], "stateMutability": "view" }, { "type": "function", "name": "totalSupply", "inputs": [], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "transfer", "inputs": [ { "name": "_recipient", "type": "address", "internalType": "address" }, { "name": "_amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "transferFrom", "inputs": [ { "name": "_sender", "type": "address", "internalType": "address" }, { "name": "_recipient", "type": "address", "internalType": "address" }, { "name": "_amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "event", "name": "AccessorSet", "inputs": [ { "name": "prevAccessor", "type": "address", "indexed": false, "internalType": "address" }, { "name": "nextAccessor", "type": "address", "indexed": false, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "Approval", "inputs": [ { "name": "owner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "spender", "type": "address", "indexed": true, "internalType": "address" }, { "name": "value", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "MigratorSet", "inputs": [ { "name": "prevMigrator", "type": "address", "indexed": false, "internalType": "address" }, { "name": "nextMigrator", "type": "address", "indexed": false, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "OwnerSet", "inputs": [ { "name": "prevOwner", "type": "address", "indexed": false, "internalType": "address" }, { "name": "nextOwner", "type": "address", "indexed": false, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "Transfer", "inputs": [ { "name": "from", "type": "address", "indexed": true, "internalType": "address" }, { "name": "to", "type": "address", "indexed": true, "internalType": "address" }, { "name": "value", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "VaultLibSet", "inputs": [ { "name": "prevVaultLib", "type": "address", "indexed": false, "internalType": "address" }, { "name": "nextVaultLib", "type": "address", "indexed": false, "internalType": "address" } ], "anonymous": false } ], "bytecode": { "object": "0x608060405234801561001057600080fd5b506110e9806100206000396000f3fe608060405234801561001057600080fd5b50600436106101215760003560e01c80635c9a6d37116100ad57806395d89b411161007157806395d89b4114610392578063a9059cbb1461039a578063ab9253ac146103c6578063cd63d578146103ec578063dd62ed3e146103f457610121565b80635c9a6d37146102ad578063682cea191461033657806370a082311461033e5780637de07cea14610364578063893d20e81461038a57610121565b806323b872dd116100f457806323b872dd14610221578063313ce567146102575780634140d6071461027557806352d1902d1461029d5780635a53e348146102a557610121565b806306fdde0314610126578063095ea7b3146101a35780630ee2cb10146101e357806318160ddd14610207575b600080fd5b61012e610422565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610168578181015183820152602001610150565b50505050905090810190601f1680156101955780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101cf600480360360408110156101b957600080fd5b506001600160a01b0381351690602001356104b8565b604080519115158252519081900360200190f35b6101eb6104ce565b604080516001600160a01b039092168252519081900360200190f35b61020f6104dd565b60408051918252519081900360200190f35b6101cf6004803603606081101561023757600080fd5b506001600160a01b038135811691602081013590911690604001356104e3565b61025f61054c565b6040805160ff9092168252519081900360200190f35b61029b6004803603602081101561028b57600080fd5b50356001600160a01b0316610551565b005b61020f6105f8565b6101eb61061c565b61029b600480360360608110156102c357600080fd5b6001600160a01b0382358116926020810135909116918101906060810160408201356401000000008111156102f757600080fd5b82018360208201111561030957600080fd5b8035906020019184600183028401116401000000008311171561032b57600080fd5b50909250905061062b565b6101eb610719565b61020f6004803603602081101561035457600080fd5b50356001600160a01b031661073e565b6101cf6004803603602081101561037a57600080fd5b50356001600160a01b0316610759565b6101eb61078b565b61012e61079a565b6101cf600480360360408110156103b057600080fd5b506001600160a01b0381351690602001356107fa565b61029b600480360360208110156103dc57600080fd5b50356001600160a01b0316610807565b6101eb61085c565b61020f6004803603604081101561040a57600080fd5b506001600160a01b038135811691602001351661086b565b60008054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104ae5780601f10610483576101008083540402835291602001916104ae565b820191906000526020600020905b81548152906001019060200180831161049157829003601f168201915b5050505050905090565b60006104c5338484610896565b50600192915050565b6006546001600160a01b031690565b60025490565b60006104f0848484610982565b610542843361053d85604051806060016040528060288152602001610fc0602891396001600160a01b038a1660009081526004602090815260408083203384529091529020549190610ad4565b610896565b5060019392505050565b601290565b6006546001600160a01b0316331461059a5760405162461bcd60e51b8152600401808060200182810382526032815260200180610f8e6032913960400191505060405180910390fd5b60006105a4610719565b90506105af82610b6b565b604080516001600160a01b0380841682528416602082015281517fe504a0278c9d64c1a72d2f528a0c5e3686e093fcd478b3b1224a5c6983207df6929181900390910190a15050565b7f027b9570e9fedc1a80b937ae9a06861e5faef3992491af30b684a64b3fbec7a590565b6005546001600160a01b031690565b6006546001600160a01b031615610689576040805162461bcd60e51b815260206004820152601f60248201527f696e69743a2050726f787920616c726561647920696e697469616c697a656400604482015290519081900360640190fd5b600680546001600160a01b031916331790556106a760008383610e38565b506106b183610c51565b6106ba84610cf9565b7fe504a0278c9d64c1a72d2f528a0c5e3686e093fcd478b3b1224a5c6983207df660006106e5610719565b60405180836001600160a01b03168152602001826001600160a01b031681526020019250505060405180910390a150505050565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b031660009081526003602052604090205490565b6008546000906001600160a01b038381169116148061078557506007546001600160a01b038381169116145b92915050565b6008546001600160a01b031690565b60018054604080516020601f600260001961010087891615020190951694909404938401819004810282018101909252828152606093909290918301828280156104ae5780601f10610483576101008083540402835291602001916104ae565b60006104c5338484610982565b6006546001600160a01b031633146108505760405162461bcd60e51b81526004018080602001828103825260328152602001806110366032913960400191505060405180910390fd5b61085981610c51565b50565b6007546001600160a01b031690565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b6001600160a01b0383166108db5760405162461bcd60e51b81526004018080602001828103825260248152602001806110b96024913960400191505060405180910390fd5b6001600160a01b0382166109205760405162461bcd60e51b8152600401808060200182810382526022815260200180610f206022913960400191505060405180910390fd5b6001600160a01b03808416600081815260046020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0383166109c75760405162461bcd60e51b81526004018080602001828103825260258152602001806110686025913960400191505060405180910390fd5b6001600160a01b038216610a0c5760405162461bcd60e51b8152600401808060200182810382526023815260200180610ecc6023913960400191505060405180910390fd5b610a4981604051806060016040528060268152602001610f42602691396001600160a01b0386166000908152600360205260409020549190610ad4565b6001600160a01b038085166000908152600360205260408082209390935590841681522054610a789082610ded565b6001600160a01b0380841660008181526003602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b60008184841115610b635760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610b28578181015183820152602001610b10565b50505050905090810190601f168015610b555780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b815260040160206040518083038186803b158015610ba457600080fd5b505afa158015610bb8573d6000803e3d6000fd5b505050506040513d6020811015610bce57600080fd5b50517f027b9570e9fedc1a80b937ae9a06861e5faef3992491af30b684a64b3fbec7a514610c2d5760405162461bcd60e51b8152600401808060200182810382526031815260200180610eef6031913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b6001600160a01b038116610c965760405162461bcd60e51b815260040180806020018281038252602c81526020018061108d602c913960400191505060405180910390fd5b600580546001600160a01b038381166001600160a01b0319831681179093556040805191909216808252602082019390935281517fb5a9def940973a936e331170816650368964b0602957d4bc60f5ddc2dc1b69cd929181900390910190a15050565b6001600160a01b038116610d3e5760405162461bcd60e51b8152600401808060200182810382526026815260200180610f686026913960400191505060405180910390fd5b6008546001600160a01b03908116908216811415610d8d5760405162461bcd60e51b815260040180806020018281038252602b81526020018061100b602b913960400191505060405180910390fd5b600880546001600160a01b0319166001600160a01b03848116918217909255604080519284168352602083019190915280517f342827c97908e5e2f71151c08502a66d44b6f758e3ac2f1de95f02eb95f0a7359281900390910190a15050565b600082820183811015610e315760405162461bcd60e51b8152600401808060200182810382526023815260200180610fe86023913960400191505060405180910390fd5b9392505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10610e795782800160ff19823516178555610ea6565b82800160010185558215610ea6579182015b82811115610ea6578235825591602001919060010190610e8b565b50610eb2929150610eb6565b5090565b5b80821115610eb25760008155600101610eb756fe45524332303a207472616e7366657220746f20746865207a65726f20616464726573735f5f757064617465436f6465416464726573733a205f6e6578745661756c744c6962206e6f7420636f6d70617469626c6545524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e63655f5f7365744f776e65723a205f6e6578744f776e65722063616e6e6f7420626520656d7074797365745661756c744c69623a204f6e6c792063616c6c61626c652062792074686520636f6e74726163742063726561746f7245524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63655661756c744c6962536166654d6174683a206164646974696f6e206f766572666c6f775f5f7365744f776e65723a205f6e6578744f776e6572206973207468652063757272656e74206f776e65727365744163636573736f723a204f6e6c792063616c6c61626c652062792074686520636f6e74726163742063726561746f7245524332303a207472616e736665722066726f6d20746865207a65726f20616464726573735f5f7365744163636573736f723a205f6e6578744163636573736f722063616e6e6f7420626520656d70747945524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a164736f6c634300060c000a", "sourceMap": "496:408:7:-:0;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106101215760003560e01c80635c9a6d37116100ad57806395d89b411161007157806395d89b4114610392578063a9059cbb1461039a578063ab9253ac146103c6578063cd63d578146103ec578063dd62ed3e146103f457610121565b80635c9a6d37146102ad578063682cea191461033657806370a082311461033e5780637de07cea14610364578063893d20e81461038a57610121565b806323b872dd116100f457806323b872dd14610221578063313ce567146102575780634140d6071461027557806352d1902d1461029d5780635a53e348146102a557610121565b806306fdde0314610126578063095ea7b3146101a35780630ee2cb10146101e357806318160ddd14610207575b600080fd5b61012e610422565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610168578181015183820152602001610150565b50505050905090810190601f1680156101955780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101cf600480360360408110156101b957600080fd5b506001600160a01b0381351690602001356104b8565b604080519115158252519081900360200190f35b6101eb6104ce565b604080516001600160a01b039092168252519081900360200190f35b61020f6104dd565b60408051918252519081900360200190f35b6101cf6004803603606081101561023757600080fd5b506001600160a01b038135811691602081013590911690604001356104e3565b61025f61054c565b6040805160ff9092168252519081900360200190f35b61029b6004803603602081101561028b57600080fd5b50356001600160a01b0316610551565b005b61020f6105f8565b6101eb61061c565b61029b600480360360608110156102c357600080fd5b6001600160a01b0382358116926020810135909116918101906060810160408201356401000000008111156102f757600080fd5b82018360208201111561030957600080fd5b8035906020019184600183028401116401000000008311171561032b57600080fd5b50909250905061062b565b6101eb610719565b61020f6004803603602081101561035457600080fd5b50356001600160a01b031661073e565b6101cf6004803603602081101561037a57600080fd5b50356001600160a01b0316610759565b6101eb61078b565b61012e61079a565b6101cf600480360360408110156103b057600080fd5b506001600160a01b0381351690602001356107fa565b61029b600480360360208110156103dc57600080fd5b50356001600160a01b0316610807565b6101eb61085c565b61020f6004803603604081101561040a57600080fd5b506001600160a01b038135811691602001351661086b565b60008054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104ae5780601f10610483576101008083540402835291602001916104ae565b820191906000526020600020905b81548152906001019060200180831161049157829003601f168201915b5050505050905090565b60006104c5338484610896565b50600192915050565b6006546001600160a01b031690565b60025490565b60006104f0848484610982565b610542843361053d85604051806060016040528060288152602001610fc0602891396001600160a01b038a1660009081526004602090815260408083203384529091529020549190610ad4565b610896565b5060019392505050565b601290565b6006546001600160a01b0316331461059a5760405162461bcd60e51b8152600401808060200182810382526032815260200180610f8e6032913960400191505060405180910390fd5b60006105a4610719565b90506105af82610b6b565b604080516001600160a01b0380841682528416602082015281517fe504a0278c9d64c1a72d2f528a0c5e3686e093fcd478b3b1224a5c6983207df6929181900390910190a15050565b7f027b9570e9fedc1a80b937ae9a06861e5faef3992491af30b684a64b3fbec7a590565b6005546001600160a01b031690565b6006546001600160a01b031615610689576040805162461bcd60e51b815260206004820152601f60248201527f696e69743a2050726f787920616c726561647920696e697469616c697a656400604482015290519081900360640190fd5b600680546001600160a01b031916331790556106a760008383610e38565b506106b183610c51565b6106ba84610cf9565b7fe504a0278c9d64c1a72d2f528a0c5e3686e093fcd478b3b1224a5c6983207df660006106e5610719565b60405180836001600160a01b03168152602001826001600160a01b031681526020019250505060405180910390a150505050565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6001600160a01b031660009081526003602052604090205490565b6008546000906001600160a01b038381169116148061078557506007546001600160a01b038381169116145b92915050565b6008546001600160a01b031690565b60018054604080516020601f600260001961010087891615020190951694909404938401819004810282018101909252828152606093909290918301828280156104ae5780601f10610483576101008083540402835291602001916104ae565b60006104c5338484610982565b6006546001600160a01b031633146108505760405162461bcd60e51b81526004018080602001828103825260328152602001806110366032913960400191505060405180910390fd5b61085981610c51565b50565b6007546001600160a01b031690565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b6001600160a01b0383166108db5760405162461bcd60e51b81526004018080602001828103825260248152602001806110b96024913960400191505060405180910390fd5b6001600160a01b0382166109205760405162461bcd60e51b8152600401808060200182810382526022815260200180610f206022913960400191505060405180910390fd5b6001600160a01b03808416600081815260046020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0383166109c75760405162461bcd60e51b81526004018080602001828103825260258152602001806110686025913960400191505060405180910390fd5b6001600160a01b038216610a0c5760405162461bcd60e51b8152600401808060200182810382526023815260200180610ecc6023913960400191505060405180910390fd5b610a4981604051806060016040528060268152602001610f42602691396001600160a01b0386166000908152600360205260409020549190610ad4565b6001600160a01b038085166000908152600360205260408082209390935590841681522054610a789082610ded565b6001600160a01b0380841660008181526003602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b60008184841115610b635760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610b28578181015183820152602001610b10565b50505050905090810190601f168015610b555780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b815260040160206040518083038186803b158015610ba457600080fd5b505afa158015610bb8573d6000803e3d6000fd5b505050506040513d6020811015610bce57600080fd5b50517f027b9570e9fedc1a80b937ae9a06861e5faef3992491af30b684a64b3fbec7a514610c2d5760405162461bcd60e51b8152600401808060200182810382526031815260200180610eef6031913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b6001600160a01b038116610c965760405162461bcd60e51b815260040180806020018281038252602c81526020018061108d602c913960400191505060405180910390fd5b600580546001600160a01b038381166001600160a01b0319831681179093556040805191909216808252602082019390935281517fb5a9def940973a936e331170816650368964b0602957d4bc60f5ddc2dc1b69cd929181900390910190a15050565b6001600160a01b038116610d3e5760405162461bcd60e51b8152600401808060200182810382526026815260200180610f686026913960400191505060405180910390fd5b6008546001600160a01b03908116908216811415610d8d5760405162461bcd60e51b815260040180806020018281038252602b81526020018061100b602b913960400191505060405180910390fd5b600880546001600160a01b0319166001600160a01b03848116918217909255604080519284168352602083019190915280517f342827c97908e5e2f71151c08502a66d44b6f758e3ac2f1de95f02eb95f0a7359281900390910190a15050565b600082820183811015610e315760405162461bcd60e51b8152600401808060200182810382526023815260200180610fe86023913960400191505060405180910390fd5b9392505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10610e795782800160ff19823516178555610ea6565b82800160010185558215610ea6579182015b82811115610ea6578235825591602001919060010190610e8b565b50610eb2929150610eb6565b5090565b5b80821115610eb25760008155600101610eb756fe45524332303a207472616e7366657220746f20746865207a65726f20616464726573735f5f757064617465436f6465416464726573733a205f6e6578745661756c744c6962206e6f7420636f6d70617469626c6545524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e63655f5f7365744f776e65723a205f6e6578744f776e65722063616e6e6f7420626520656d7074797365745661756c744c69623a204f6e6c792063616c6c61626c652062792074686520636f6e74726163742063726561746f7245524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63655661756c744c6962536166654d6174683a206164646974696f6e206f766572666c6f775f5f7365744f776e65723a205f6e6578744f776e6572206973207468652063757272656e74206f776e65727365744163636573736f723a204f6e6c792063616c6c61626c652062792074686520636f6e74726163742063726561746f7245524332303a207472616e736665722066726f6d20746865207a65726f20616464726573735f5f7365744163636573736f723a205f6e6578744163636573736f722063616e6e6f7420626520656d70747945524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a164736f6c634300060c000a", "sourceMap": "496:408:7:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2882:94:75;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1218:160;;;;;;;;;;;;;;;;-1:-1:-1;1218:160:75;;-1:-1:-1;;;;;1218:160:75;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;637:85:7;;;:::i;:::-;;;;-1:-1:-1;;;;;637:85:7;;;;;;;;;;;;;;3245:102:75;;;:::i;:::-;;;;;;;;;;;;;;;;1718:442;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1718:442:75;;;;;;;;;;;;;;;;;:::i;2727:74::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2734:311:68;;;;;;;;;;;;;;;;-1:-1:-1;2734:311:68;-1:-1:-1;;;;;2734:311:68;;:::i;:::-;;1593:151:74;;;:::i;544:87:7:-;;;:::i;1627:385:68:-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1627:385:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1627:385:68;;-1:-1:-1;1627:385:68;-1:-1:-1;1627:385:68;:::i;3555:259::-;;;:::i;2515:123:75:-;;;;;;;;;;;;;;;;-1:-1:-1;2515:123:75;-1:-1:-1;;;;;2515:123:75;;:::i;3281:147:68:-;;;;;;;;;;;;;;;;-1:-1:-1;3281:147:68;-1:-1:-1;;;;;3281:147:68;;:::i;821:81:7:-;;;:::i;3059:98:75:-;;;:::i;1463:166::-;;;;;;;;;;;;;;;;-1:-1:-1;1463:166:75;;-1:-1:-1;;;;;1463:166:75;;;;;;:::i;2174:202:68:-;;;;;;;;;;;;;;;;-1:-1:-1;2174:202:68;-1:-1:-1;;;;;2174:202:68;;:::i;728:87:7:-;;;:::i;2280:149:75:-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;2280:149:75;;;;;;;;;;:::i;2882:94::-;2959:10;2952:17;;;;;;;;;;;;;-1:-1:-1;;2952:17:75;;;;;;;;;;;;;;;;;;;;;;;;;;2927:13;;2952:17;;2959:10;;2952:17;;;2959:10;2952:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2882:94;:::o;1218:160::-;1294:4;1310:40;1320:10;1332:8;1342:7;1310:9;:40::i;:::-;-1:-1:-1;1367:4:75;1218:160;;;;:::o;637:85:7:-;708:7;;-1:-1:-1;;;;;708:7:7;;637:85::o;3245:102:75:-;3323:17;;3245:102;:::o;1718:442::-;1848:4;1864:40;1875:7;1884:10;1896:7;1864:10;:40::i;:::-;1914:218;1937:7;1958:10;1982:140;2041:7;1982:140;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1982:25:75;;;;;;:16;:25;;;;;;;;2008:10;1982:37;;;;;;;;;;:41;:140::i;:::-;1914:9;:218::i;:::-;-1:-1:-1;2149:4:75;1718:442;;;;;:::o;2727:74::-;2792:2;2727:74;:::o;2734:311:68:-;2828:7;;-1:-1:-1;;;;;2828:7:68;2814:10;:21;2806:84;;;;-1:-1:-1;;;2806:84:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2901:20;2924:13;:11;:13::i;:::-;2901:36;;2948:34;2968:13;2948:19;:34::i;:::-;2998:40;;;-1:-1:-1;;;;;2998:40:68;;;;;;;;;;;;;;;;;;;;;;;;2734:311;;:::o;1593:151:74:-;1671:66;1593:151;:::o;544:87:7:-;616:8;;-1:-1:-1;;;;;616:8:7;;544:87::o;1627:385:68:-;1769:7;;-1:-1:-1;;;;;1769:7:68;:21;1761:65;;;;;-1:-1:-1;;;1761:65:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;1836:7;:20;;-1:-1:-1;;;;;;1836:20:68;1846:10;1836:20;;;1866:22;-1:-1:-1;1879:9:68;;1866:22;:::i;:::-;;1899:24;1913:9;1899:13;:24::i;:::-;1933:18;1944:6;1933:10;:18::i;:::-;1967:38;1987:1;1991:13;:11;:13::i;:::-;1967:38;;;-1:-1:-1;;;;;1967:38:68;;;;;;;;;;;;;;;;;;;;;;;;1627:385;;;;:::o;3555:259::-;3705:66;3699:73;3555:259;:::o;2515:123:75:-;-1:-1:-1;;;;;2607:24:75;2581:7;2607:24;;;:14;:24;;;;;;;2515:123::o;3281:147:68:-;3396:5;;3353:16;;-1:-1:-1;;;;;3388:13:68;;;3396:5;;3388:13;;:33;;-1:-1:-1;3413:8:68;;-1:-1:-1;;;;;3405:16:68;;;3413:8;;3405:16;3388:33;3381:40;3281:147;-1:-1:-1;;3281:147:68:o;821:81:7:-;890:5;;-1:-1:-1;;;;;890:5:7;;821:81::o;3059:98:75:-;3138:12;3131:19;;;;;;;;;;;;;-1:-1:-1;;3131:19:75;;;;;;;;;;;;;;;;;;;;;;;;;;3106:13;;3131:19;;3138:12;;3131:19;;;3138:12;3131:19;;;;;;;;;;;;;;;;;;;;;;;;1463:166;1542:4;1558:43;1569:10;1581;1593:7;1558:10;:43::i;2174:202:68:-;2268:7;;-1:-1:-1;;;;;2268:7:68;2254:10;:21;2246:84;;;;-1:-1:-1;;;2246:84:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2341:28;2355:13;2341;:28::i;:::-;2174:202;:::o;728:87:7:-;800:8;;-1:-1:-1;;;;;800:8:7;;728:87::o;2280:149:75:-;-1:-1:-1;;;;;2388:24:75;;;2362:7;2388:24;;;:16;:24;;;;;;;;:34;;;;;;;;;;;;;2280:149::o;3434:387::-;-1:-1:-1;;;;;3569:20:75;;3561:69;;;;-1:-1:-1;;;3561:69:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3648:22:75;;3640:69;;;;-1:-1:-1;;;3640:69:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3720:24:75;;;;;;;:16;:24;;;;;;;;:34;;;;;;;;;;;;;:44;;;3779:35;;;;;;;;;;;;;;;;;3434:387;;;:::o;4809:571::-;-1:-1:-1;;;;;4948:21:75;;4940:71;;;;-1:-1:-1;;;4940:71:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5029:24:75;;5021:72;;;;-1:-1:-1;;;5021:72:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5130:112;5171:7;5130:112;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5130:23:75;;;;;;:14;:23;;;;;;;;:27;:112::i;:::-;-1:-1:-1;;;;;5104:23:75;;;;;;;:14;:23;;;;;;:138;;;;5281:26;;;;;;;:39;;5312:7;5281:30;:39::i;:::-;-1:-1:-1;;;;;5252:26:75;;;;;;;:14;:26;;;;;;;;;:68;;;;5335:38;;;;;;;5252:26;;5335:38;;;;;;;;;;;;;4809:571;;;:::o;947:217:76:-;1063:7;1098:12;1090:6;;;;1082:29;;;;-1:-1:-1;;;1082:29:76;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1133:5:76;;;947:217::o;856:529:74:-;1061:13;-1:-1:-1;;;;;1043:46:74;;:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1043:48:74;956:66;948:143;927:239;;;;-1:-1:-1;;;927:239:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1258:66;1234:135;1185:194::o;3991:288:68:-;-1:-1:-1;;;;;4064:27:68;;4056:84;;;;-1:-1:-1;;;4056:84:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4173:8;;;-1:-1:-1;;;;;4192:24:68;;;-1:-1:-1;;;;;;4192:24:68;;;;;;;4232:40;;;4173:8;;;;4232:40;;;;;;;;;;;;;;;;;;;;;;;3991:288;;:::o;4340:341::-;-1:-1:-1;;;;;4407:24:68;;4399:75;;;;-1:-1:-1;;;4399:75:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4504:5;;-1:-1:-1;;;;;4504:5:68;;;;4527:23;;;;;4519:79;;;;-1:-1:-1;;;4519:79:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4609:5;:18;;-1:-1:-1;;;;;;4609:18:68;-1:-1:-1;;;;;4609:18:68;;;;;;;;;4643:31;;;;;;;;;;;;;;;;;;;;;;;;;;;4340:341;;:::o;609:184:76:-;667:7;698:5;;;721:6;;;;713:54;;;;-1:-1:-1;;;713:54:76;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;785:1;609:184;-1:-1:-1;;;609:184:76:o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;", "linkReferences": {} }, "methodIdentifiers": { "allowance(address,address)": "dd62ed3e", "approve(address,uint256)": "095ea7b3", "balanceOf(address)": "70a08231", "canMigrate(address)": "7de07cea", "decimals()": "313ce567", "getAccessor()": "5a53e348", "getCreator()": "0ee2cb10", "getMigrator()": "cd63d578", "getOwner()": "893d20e8", "getVaultLib()": "682cea19", "init(address,address,string)": "5c9a6d37", "name()": "06fdde03", "proxiableUUID()": "52d1902d", "setAccessor(address)": "ab9253ac", "setVaultLib(address)": "4140d607", "symbol()": "95d89b41", "totalSupply()": "18160ddd", "transfer(address,uint256)": "a9059cbb", "transferFrom(address,address,uint256)": "23b872dd" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"prevAccessor\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"nextAccessor\",\"type\":\"address\"}],\"name\":\"AccessorSet\",\"type\":\"event\"},{\"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\":false,\"internalType\":\"address\",\"name\":\"prevMigrator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"nextMigrator\",\"type\":\"address\"}],\"name\":\"MigratorSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"prevOwner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"nextOwner\",\"type\":\"address\"}],\"name\":\"OwnerSet\",\"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\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"prevVaultLib\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"nextVaultLib\",\"type\":\"address\"}],\"name\":\"VaultLibSet\",\"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\":[{\"internalType\":\"address\",\"name\":\"_who\",\"type\":\"address\"}],\"name\":\"canMigrate\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"canMigrate_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAccessor\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCreator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMigrator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getVaultLib\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"vaultLib_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_accessor\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_fundName\",\"type\":\"string\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"uuid_\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nextAccessor\",\"type\":\"address\"}],\"name\":\"setAccessor\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nextVaultLib\",\"type\":\"address\"}],\"name\":\"setVaultLib\",\"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\":\"_recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"Standard implementation of ERC20's allowance(). Can be overridden.\"},\"approve(address,uint256)\":{\"details\":\"Standard implementation of ERC20's approve(). Can be overridden.\"},\"balanceOf(address)\":{\"details\":\"Standard implementation of ERC20's balanceOf(). Can be overridden.\"},\"canMigrate(address)\":{\"params\":{\"_who\":\"The account to check\"},\"returns\":{\"canMigrate_\":\"True if the account is allowed to migrate the VaultProxy\"}},\"decimals()\":{\"details\":\"Standard implementation of ERC20's decimals(). Can not be overridden.\"},\"getVaultLib()\":{\"returns\":{\"vaultLib_\":\"The address of the VaultLib target\"}},\"init(address,address,string)\":{\"details\":\"Serves as a per-proxy pseudo-constructor\",\"params\":{\"_accessor\":\"The address to set as the permissioned accessor of the VaultLib\",\"_fundName\":\"The name of the fund\",\"_owner\":\"The address to set as the fund owner\"}},\"name()\":{\"details\":\"Standard implementation of ERC20's name(). Can be overridden.\"},\"proxiableUUID()\":{\"details\":\"The UUID is `bytes32(keccak256('mln.proxiable.vaultlib'))`\",\"returns\":{\"uuid_\":\"The bytes32 hash representing the UUID\"}},\"setAccessor(address)\":{\"params\":{\"_nextAccessor\":\"The address to set as the permissioned accessor of the VaultLib\"}},\"setVaultLib(address)\":{\"details\":\"This function is absolutely critical. __updateCodeAddress() validates that the target is a valid Proxiable contract instance. Does not block _nextVaultLib from being the same as the current VaultLib\",\"params\":{\"_nextVaultLib\":\"The address to set as the VaultLib\"}},\"symbol()\":{\"details\":\"Standard implementation of ERC20's symbol(). Can be overridden.\"},\"totalSupply()\":{\"details\":\"Standard implementation of ERC20's totalSupply(). Can be overridden.\"},\"transfer(address,uint256)\":{\"details\":\"Standard implementation of ERC20's transfer(). Can be overridden.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Standard implementation of ERC20's transferFrom(). Can be overridden.\"}},\"title\":\"MockVaultLib Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"canMigrate(address)\":{\"notice\":\"Checks whether an account is allowed to migrate the VaultProxy\"},\"getVaultLib()\":{\"notice\":\"Gets the VaultLib target for the VaultProxy\"},\"init(address,address,string)\":{\"notice\":\"Initializes the VaultProxy with core configuration\"},\"proxiableUUID()\":{\"notice\":\"Returns a unique bytes32 hash for VaultLib instances\"},\"setAccessor(address)\":{\"notice\":\"Sets the permissioned accessor of the VaultLib\"},\"setVaultLib(address)\":{\"notice\":\"Sets the VaultLib target for the VaultProxy\"}},\"notice\":\"A mock VaultLib implementation that only extends VaultLibBaseCore\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/mocks/MockVaultLib.sol\":\"MockVaultLib\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/mocks/MockVaultLib.sol\":{\"keccak256\":\"0x14d298c9cd4411cc6260fe50b93a1da572c5ddee7bfca377dd35403741c4e3b6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://e51c048dc4e2c9117fff0ecd4ab94d09701b9cd89247db8608c1a491c7374635\",\"dweb:/ipfs/QmYkH9dXQp1EEMfrcGPUTc3ey4o2UtvG91vDxjgQzwUuHE\"]},\"contracts/persistent/vault/VaultLibBaseCore.sol\":{\"keccak256\":\"0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd\",\"dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz\"]},\"contracts/persistent/vault/interfaces/IMigratableVault.sol\":{\"keccak256\":\"0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6\",\"dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs\"]},\"contracts/persistent/vault/utils/ProxiableVaultLib.sol\":{\"keccak256\":\"0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44\",\"dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4\"]},\"contracts/persistent/vault/utils/SharesTokenBase.sol\":{\"keccak256\":\"0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8\",\"dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4\"]},\"contracts/persistent/vault/utils/VaultLibSafeMath.sol\":{\"keccak256\":\"0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02\",\"dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "prevAccessor", "type": "address", "indexed": false }, { "internalType": "address", "name": "nextAccessor", "type": "address", "indexed": false } ], "type": "event", "name": "AccessorSet", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address", "indexed": true }, { "internalType": "address", "name": "spender", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "value", "type": "uint256", "indexed": false } ], "type": "event", "name": "Approval", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "prevMigrator", "type": "address", "indexed": false }, { "internalType": "address", "name": "nextMigrator", "type": "address", "indexed": false } ], "type": "event", "name": "MigratorSet", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "prevOwner", "type": "address", "indexed": false }, { "internalType": "address", "name": "nextOwner", "type": "address", "indexed": false } ], "type": "event", "name": "OwnerSet", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address", "indexed": true }, { "internalType": "address", "name": "to", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "value", "type": "uint256", "indexed": false } ], "type": "event", "name": "Transfer", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "prevVaultLib", "type": "address", "indexed": false }, { "internalType": "address", "name": "nextVaultLib", "type": "address", "indexed": false } ], "type": "event", "name": "VaultLibSet", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "_owner", "type": "address" }, { "internalType": "address", "name": "_spender", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "_spender", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "_account", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "_who", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "canMigrate", "outputs": [ { "internalType": "bool", "name": "canMigrate_", "type": "bool" } ] }, { "inputs": [], "stateMutability": "pure", "type": "function", "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getAccessor", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getCreator", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getMigrator", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getOwner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getVaultLib", "outputs": [ { "internalType": "address", "name": "vaultLib_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_owner", "type": "address" }, { "internalType": "address", "name": "_accessor", "type": "address" }, { "internalType": "string", "name": "_fundName", "type": "string" } ], "stateMutability": "nonpayable", "type": "function", "name": "init" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ] }, { "inputs": [], "stateMutability": "pure", "type": "function", "name": "proxiableUUID", "outputs": [ { "internalType": "bytes32", "name": "uuid_", "type": "bytes32" } ] }, { "inputs": [ { "internalType": "address", "name": "_nextAccessor", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "setAccessor" }, { "inputs": [ { "internalType": "address", "name": "_nextVaultLib", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "setVaultLib" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "_recipient", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "_sender", "type": "address" }, { "internalType": "address", "name": "_recipient", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] } ], "devdoc": { "kind": "dev", "methods": { "allowance(address,address)": { "details": "Standard implementation of ERC20's allowance(). Can be overridden." }, "approve(address,uint256)": { "details": "Standard implementation of ERC20's approve(). Can be overridden." }, "balanceOf(address)": { "details": "Standard implementation of ERC20's balanceOf(). Can be overridden." }, "canMigrate(address)": { "params": { "_who": "The account to check" }, "returns": { "canMigrate_": "True if the account is allowed to migrate the VaultProxy" } }, "decimals()": { "details": "Standard implementation of ERC20's decimals(). Can not be overridden." }, "getVaultLib()": { "returns": { "vaultLib_": "The address of the VaultLib target" } }, "init(address,address,string)": { "details": "Serves as a per-proxy pseudo-constructor", "params": { "_accessor": "The address to set as the permissioned accessor of the VaultLib", "_fundName": "The name of the fund", "_owner": "The address to set as the fund owner" } }, "name()": { "details": "Standard implementation of ERC20's name(). Can be overridden." }, "proxiableUUID()": { "details": "The UUID is `bytes32(keccak256('mln.proxiable.vaultlib'))`", "returns": { "uuid_": "The bytes32 hash representing the UUID" } }, "setAccessor(address)": { "params": { "_nextAccessor": "The address to set as the permissioned accessor of the VaultLib" } }, "setVaultLib(address)": { "details": "This function is absolutely critical. __updateCodeAddress() validates that the target is a valid Proxiable contract instance. Does not block _nextVaultLib from being the same as the current VaultLib", "params": { "_nextVaultLib": "The address to set as the VaultLib" } }, "symbol()": { "details": "Standard implementation of ERC20's symbol(). Can be overridden." }, "totalSupply()": { "details": "Standard implementation of ERC20's totalSupply(). Can be overridden." }, "transfer(address,uint256)": { "details": "Standard implementation of ERC20's transfer(). Can be overridden." }, "transferFrom(address,address,uint256)": { "details": "Standard implementation of ERC20's transferFrom(). Can be overridden." } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "canMigrate(address)": { "notice": "Checks whether an account is allowed to migrate the VaultProxy" }, "getVaultLib()": { "notice": "Gets the VaultLib target for the VaultProxy" }, "init(address,address,string)": { "notice": "Initializes the VaultProxy with core configuration" }, "proxiableUUID()": { "notice": "Returns a unique bytes32 hash for VaultLib instances" }, "setAccessor(address)": { "notice": "Sets the permissioned accessor of the VaultLib" }, "setVaultLib(address)": { "notice": "Sets the VaultLib target for the VaultProxy" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/mocks/MockVaultLib.sol": "MockVaultLib" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/mocks/MockVaultLib.sol": { "keccak256": "0x14d298c9cd4411cc6260fe50b93a1da572c5ddee7bfca377dd35403741c4e3b6", "urls": [ "bzz-raw://e51c048dc4e2c9117fff0ecd4ab94d09701b9cd89247db8608c1a491c7374635", "dweb:/ipfs/QmYkH9dXQp1EEMfrcGPUTc3ey4o2UtvG91vDxjgQzwUuHE" ], "license": "GPL-3.0" }, "contracts/persistent/vault/VaultLibBaseCore.sol": { "keccak256": "0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074", "urls": [ "bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd", "dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IMigratableVault.sol": { "keccak256": "0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238", "urls": [ "bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6", "dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs" ], "license": "GPL-3.0" }, "contracts/persistent/vault/utils/ProxiableVaultLib.sol": { "keccak256": "0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76", "urls": [ "bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44", "dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4" ], "license": "GPL-3.0" }, "contracts/persistent/vault/utils/SharesTokenBase.sol": { "keccak256": "0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113", "urls": [ "bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8", "dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4" ], "license": "GPL-3.0" }, "contracts/persistent/vault/utils/VaultLibSafeMath.sol": { "keccak256": "0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d", "urls": [ "bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02", "dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 7 } diff --git a/eth_defi/abi/enzyme/NominatedOwnerMixin.json b/eth_defi/abi/enzyme/NominatedOwnerMixin.json index 2e9df79c..b2dc3c53 100644 --- a/eth_defi/abi/enzyme/NominatedOwnerMixin.json +++ b/eth_defi/abi/enzyme/NominatedOwnerMixin.json @@ -1,259 +1 @@ -{ - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "nominatedOwner", - "type": "address" - } - ], - "name": "NominatedOwnerSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "owner", - "type": "address" - } - ], - "name": "OwnerSet", - "type": "event" - }, - { - "inputs": [], - "name": "claimOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getNominatedOwner", - "outputs": [ - { - "internalType": "address", - "name": "nominatedOwner_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "owner_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_nextNominatedOwner", - "type": "address" - } - ], - "name": "setNominatedOwner", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "claimOwnership()": "4e71e0c8", - "getNominatedOwner()": "288b6a36", - "getOwner()": "893d20e8", - "setNominatedOwner(address)": "728e17a0" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"nominatedOwner\",\"type\":\"address\"}],\"name\":\"NominatedOwnerSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"OwnerSet\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"claimOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getNominatedOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"nominatedOwner_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nextNominatedOwner\",\"type\":\"address\"}],\"name\":\"setNominatedOwner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"Initial owner must be set in inheriting contract via __setOwner()\",\"kind\":\"dev\",\"methods\":{\"claimOwnership()\":{\"details\":\"Note that this claims process means that `owner` can never be reset to address(0)\"},\"getNominatedOwner()\":{\"returns\":{\"nominatedOwner_\":\"The next contract owner nominee\"}},\"getOwner()\":{\"returns\":{\"owner_\":\"The contract owner\"}},\"setNominatedOwner(address)\":{\"params\":{\"_nextNominatedOwner\":\"The account to nominate\"}}},\"title\":\"NominatedOwnerMixin Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"claimOwnership()\":{\"notice\":\"Claim ownership of the contract\"},\"getNominatedOwner()\":{\"notice\":\"Gets the account that is nominated to be the next contract owner\"},\"getOwner()\":{\"notice\":\"Gets the owner of this contract\"},\"setNominatedOwner(address)\":{\"notice\":\"Nominate a new contract owner\"}},\"notice\":\"Mixin contract for a nominated contract ownership transfer pattern\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/utils/NominatedOwnerMixin.sol\":\"NominatedOwnerMixin\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/utils/NominatedOwnerMixin.sol\":{\"keccak256\":\"0xb8d1c6eba0b342bbbf49af872925fc8febbef1e0958fdb8d4664501001d73761\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://4c0679beb263fb2e4f04bf39e65db051d7af7984e8357bbe1f0901cd986e538d\",\"dweb:/ipfs/QmTooY2TQEh5ax2XhMvJoa7pzFrb3WLegXjQ9EMzCPVpQe\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "nominatedOwner", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "NominatedOwnerSet", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "OwnerSet", - "anonymous": false - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "claimOwnership" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getNominatedOwner", - "outputs": [ - { - "internalType": "address", - "name": "nominatedOwner_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "owner_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_nextNominatedOwner", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setNominatedOwner" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "claimOwnership()": { - "details": "Note that this claims process means that `owner` can never be reset to address(0)" - }, - "getNominatedOwner()": { - "returns": { - "nominatedOwner_": "The next contract owner nominee" - } - }, - "getOwner()": { - "returns": { - "owner_": "The contract owner" - } - }, - "setNominatedOwner(address)": { - "params": { - "_nextNominatedOwner": "The account to nominate" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "claimOwnership()": { - "notice": "Claim ownership of the contract" - }, - "getNominatedOwner()": { - "notice": "Gets the account that is nominated to be the next contract owner" - }, - "getOwner()": { - "notice": "Gets the owner of this contract" - }, - "setNominatedOwner(address)": { - "notice": "Nominate a new contract owner" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/utils/NominatedOwnerMixin.sol": "NominatedOwnerMixin" - }, - "libraries": {} - }, - "sources": { - "contracts/release/utils/NominatedOwnerMixin.sol": { - "keccak256": "0xb8d1c6eba0b342bbbf49af872925fc8febbef1e0958fdb8d4664501001d73761", - "urls": [ - "bzz-raw://4c0679beb263fb2e4f04bf39e65db051d7af7984e8357bbe1f0901cd986e538d", - "dweb:/ipfs/QmTooY2TQEh5ax2XhMvJoa7pzFrb3WLegXjQ9EMzCPVpQe" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 361 -} +{ "abi": [ { "type": "function", "name": "claimOwnership", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "getNominatedOwner", "inputs": [], "outputs": [ { "name": "nominatedOwner_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getOwner", "inputs": [], "outputs": [ { "name": "owner_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "setNominatedOwner", "inputs": [ { "name": "_nextNominatedOwner", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "event", "name": "NominatedOwnerSet", "inputs": [ { "name": "nominatedOwner", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "OwnerSet", "inputs": [ { "name": "owner", "type": "address", "indexed": false, "internalType": "address" } ], "anonymous": false } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "claimOwnership()": "4e71e0c8", "getNominatedOwner()": "288b6a36", "getOwner()": "893d20e8", "setNominatedOwner(address)": "728e17a0" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"nominatedOwner\",\"type\":\"address\"}],\"name\":\"NominatedOwnerSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"OwnerSet\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"claimOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getNominatedOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"nominatedOwner_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nextNominatedOwner\",\"type\":\"address\"}],\"name\":\"setNominatedOwner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"Initial owner must be set in inheriting contract via __setOwner()\",\"kind\":\"dev\",\"methods\":{\"claimOwnership()\":{\"details\":\"Note that this claims process means that `owner` can never be reset to address(0)\"},\"getNominatedOwner()\":{\"returns\":{\"nominatedOwner_\":\"The next contract owner nominee\"}},\"getOwner()\":{\"returns\":{\"owner_\":\"The contract owner\"}},\"setNominatedOwner(address)\":{\"params\":{\"_nextNominatedOwner\":\"The account to nominate\"}}},\"title\":\"NominatedOwnerMixin Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"claimOwnership()\":{\"notice\":\"Claim ownership of the contract\"},\"getNominatedOwner()\":{\"notice\":\"Gets the account that is nominated to be the next contract owner\"},\"getOwner()\":{\"notice\":\"Gets the owner of this contract\"},\"setNominatedOwner(address)\":{\"notice\":\"Nominate a new contract owner\"}},\"notice\":\"Mixin contract for a nominated contract ownership transfer pattern\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/utils/NominatedOwnerMixin.sol\":\"NominatedOwnerMixin\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/utils/NominatedOwnerMixin.sol\":{\"keccak256\":\"0xb8d1c6eba0b342bbbf49af872925fc8febbef1e0958fdb8d4664501001d73761\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://4c0679beb263fb2e4f04bf39e65db051d7af7984e8357bbe1f0901cd986e538d\",\"dweb:/ipfs/QmTooY2TQEh5ax2XhMvJoa7pzFrb3WLegXjQ9EMzCPVpQe\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "nominatedOwner", "type": "address", "indexed": true } ], "type": "event", "name": "NominatedOwnerSet", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address", "indexed": false } ], "type": "event", "name": "OwnerSet", "anonymous": false }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "claimOwnership" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getNominatedOwner", "outputs": [ { "internalType": "address", "name": "nominatedOwner_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getOwner", "outputs": [ { "internalType": "address", "name": "owner_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_nextNominatedOwner", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "setNominatedOwner" } ], "devdoc": { "kind": "dev", "methods": { "claimOwnership()": { "details": "Note that this claims process means that `owner` can never be reset to address(0)" }, "getNominatedOwner()": { "returns": { "nominatedOwner_": "The next contract owner nominee" } }, "getOwner()": { "returns": { "owner_": "The contract owner" } }, "setNominatedOwner(address)": { "params": { "_nextNominatedOwner": "The account to nominate" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "claimOwnership()": { "notice": "Claim ownership of the contract" }, "getNominatedOwner()": { "notice": "Gets the account that is nominated to be the next contract owner" }, "getOwner()": { "notice": "Gets the owner of this contract" }, "setNominatedOwner(address)": { "notice": "Nominate a new contract owner" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/utils/NominatedOwnerMixin.sol": "NominatedOwnerMixin" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/utils/NominatedOwnerMixin.sol": { "keccak256": "0xb8d1c6eba0b342bbbf49af872925fc8febbef1e0958fdb8d4664501001d73761", "urls": [ "bzz-raw://4c0679beb263fb2e4f04bf39e65db051d7af7984e8357bbe1f0901cd986e538d", "dweb:/ipfs/QmTooY2TQEh5ax2XhMvJoa7pzFrb3WLegXjQ9EMzCPVpQe" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 361 } diff --git a/eth_defi/abi/enzyme/NonUpgradableProxy.json b/eth_defi/abi/enzyme/NonUpgradableProxy.json index 40291c0e..1f82d221 100644 --- a/eth_defi/abi/enzyme/NonUpgradableProxy.json +++ b/eth_defi/abi/enzyme/NonUpgradableProxy.json @@ -1,121 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "bytes", - "name": "_constructData", - "type": "bytes" - }, - { - "internalType": "address", - "name": "_contractLogic", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "stateMutability": "payable", - "type": "fallback" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": {}, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_constructData\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"_contractLogic\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"stateMutability\":\"payable\",\"type\":\"fallback\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"The recommended constructor-fallback pattern of a proxy in EIP-1822, updated for solc 0.6.12, and using an immutable lib value to save on gas (since not upgradable). The EIP-1967 storage slot for the lib is still assigned, for ease of referring to UIs that understand the pattern, i.e., Etherscan.\",\"kind\":\"dev\",\"methods\":{},\"title\":\"NonUpgradableProxy Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"A proxy contract for use with non-upgradable libs\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/utils/NonUpgradableProxy.sol\":\"NonUpgradableProxy\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/utils/NonUpgradableProxy.sol\":{\"keccak256\":\"0x7d70145a2a0ff8c36318b23ac6ca662f133584dd823933230c66143b89e2d53d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b05ea625a428fdf3f908db3e97a358a4117d4998abde806ba3839c7fad821bca\",\"dweb:/ipfs/QmSLzFT1ktLTZ7rAKYjcg6dBRuxVMzrGXjGJSsH5nSVx2G\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "bytes", - "name": "_constructData", - "type": "bytes" - }, - { - "internalType": "address", - "name": "_contractLogic", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "stateMutability": "payable", - "type": "fallback" - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/utils/NonUpgradableProxy.sol": "NonUpgradableProxy" - }, - "libraries": {} - }, - "sources": { - "contracts/release/utils/NonUpgradableProxy.sol": { - "keccak256": "0x7d70145a2a0ff8c36318b23ac6ca662f133584dd823933230c66143b89e2d53d", - "urls": [ - "bzz-raw://b05ea625a428fdf3f908db3e97a358a4117d4998abde806ba3839c7fad821bca", - "dweb:/ipfs/QmSLzFT1ktLTZ7rAKYjcg6dBRuxVMzrGXjGJSsH5nSVx2G" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 362 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_constructData", "type": "bytes", "internalType": "bytes" }, { "name": "_contractLogic", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "fallback", "stateMutability": "payable" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": {}, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_constructData\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"_contractLogic\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"stateMutability\":\"payable\",\"type\":\"fallback\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"The recommended constructor-fallback pattern of a proxy in EIP-1822, updated for solc 0.6.12, and using an immutable lib value to save on gas (since not upgradable). The EIP-1967 storage slot for the lib is still assigned, for ease of referring to UIs that understand the pattern, i.e., Etherscan.\",\"kind\":\"dev\",\"methods\":{},\"title\":\"NonUpgradableProxy Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"A proxy contract for use with non-upgradable libs\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/utils/NonUpgradableProxy.sol\":\"NonUpgradableProxy\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/utils/NonUpgradableProxy.sol\":{\"keccak256\":\"0x7d70145a2a0ff8c36318b23ac6ca662f133584dd823933230c66143b89e2d53d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b05ea625a428fdf3f908db3e97a358a4117d4998abde806ba3839c7fad821bca\",\"dweb:/ipfs/QmSLzFT1ktLTZ7rAKYjcg6dBRuxVMzrGXjGJSsH5nSVx2G\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "bytes", "name": "_constructData", "type": "bytes" }, { "internalType": "address", "name": "_contractLogic", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "stateMutability": "payable", "type": "fallback" } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/utils/NonUpgradableProxy.sol": "NonUpgradableProxy" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/utils/NonUpgradableProxy.sol": { "keccak256": "0x7d70145a2a0ff8c36318b23ac6ca662f133584dd823933230c66143b89e2d53d", "urls": [ "bzz-raw://b05ea625a428fdf3f908db3e97a358a4117d4998abde806ba3839c7fad821bca", "dweb:/ipfs/QmSLzFT1ktLTZ7rAKYjcg6dBRuxVMzrGXjGJSsH5nSVx2G" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 362 } diff --git a/eth_defi/abi/enzyme/NotionalV2PositionDataDecoder.json b/eth_defi/abi/enzyme/NotionalV2PositionDataDecoder.json index e69cf897..16d8a3d6 100644 --- a/eth_defi/abi/enzyme/NotionalV2PositionDataDecoder.json +++ b/eth_defi/abi/enzyme/NotionalV2PositionDataDecoder.json @@ -1,78 +1 @@ -{ - "abi": [], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": {}, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"NotionalV2PositionDataDecoder Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Abstract contract containing data decodings for NotionalV2Position payloads\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/notional-v2/NotionalV2PositionDataDecoder.sol\":\"NotionalV2PositionDataDecoder\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/external-position-manager/external-positions/notional-v2/NotionalV2PositionDataDecoder.sol\":{\"keccak256\":\"0x89b1b1233048f9be2c3152b30a95f9f719ff5a74d4930e2a960bdb9d3bff71d2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://7e13d4bedc4bf821541922ae7e1ec9ec3bb81f701bb06d42de262addc27522c6\",\"dweb:/ipfs/QmanckuLpD6Q94QnHbM8EhyvpGBNUHyF2WRhezYta4UQ6R\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/external-position-manager/external-positions/notional-v2/NotionalV2PositionDataDecoder.sol": "NotionalV2PositionDataDecoder" - }, - "libraries": {} - }, - "sources": { - "contracts/release/extensions/external-position-manager/external-positions/notional-v2/NotionalV2PositionDataDecoder.sol": { - "keccak256": "0x89b1b1233048f9be2c3152b30a95f9f719ff5a74d4930e2a960bdb9d3bff71d2", - "urls": [ - "bzz-raw://7e13d4bedc4bf821541922ae7e1ec9ec3bb81f701bb06d42de262addc27522c6", - "dweb:/ipfs/QmanckuLpD6Q94QnHbM8EhyvpGBNUHyF2WRhezYta4UQ6R" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 119 -} +{ "abi": [], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": {}, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"NotionalV2PositionDataDecoder Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Abstract contract containing data decodings for NotionalV2Position payloads\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/notional-v2/NotionalV2PositionDataDecoder.sol\":\"NotionalV2PositionDataDecoder\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/external-position-manager/external-positions/notional-v2/NotionalV2PositionDataDecoder.sol\":{\"keccak256\":\"0x89b1b1233048f9be2c3152b30a95f9f719ff5a74d4930e2a960bdb9d3bff71d2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://7e13d4bedc4bf821541922ae7e1ec9ec3bb81f701bb06d42de262addc27522c6\",\"dweb:/ipfs/QmanckuLpD6Q94QnHbM8EhyvpGBNUHyF2WRhezYta4UQ6R\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/external-position-manager/external-positions/notional-v2/NotionalV2PositionDataDecoder.sol": "NotionalV2PositionDataDecoder" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/extensions/external-position-manager/external-positions/notional-v2/NotionalV2PositionDataDecoder.sol": { "keccak256": "0x89b1b1233048f9be2c3152b30a95f9f719ff5a74d4930e2a960bdb9d3bff71d2", "urls": [ "bzz-raw://7e13d4bedc4bf821541922ae7e1ec9ec3bb81f701bb06d42de262addc27522c6", "dweb:/ipfs/QmanckuLpD6Q94QnHbM8EhyvpGBNUHyF2WRhezYta4UQ6R" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 119 } diff --git a/eth_defi/abi/enzyme/NotionalV2PositionLib.json b/eth_defi/abi/enzyme/NotionalV2PositionLib.json index 3cc66cc2..016f9493 100644 --- a/eth_defi/abi/enzyme/NotionalV2PositionLib.json +++ b/eth_defi/abi/enzyme/NotionalV2PositionLib.json @@ -1,477 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_notionalV2Router", - "type": "address" - }, - { - "internalType": "address", - "name": "_wethToken", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "name": "getDebtAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "assets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "amounts_", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getManagedAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "assets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "amounts_", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "init", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - } - ], - "name": "receiveCallFromVault", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x60c06040523480156200001157600080fd5b5060405162002e4238038062002e42833981016040819052620000349162000066565b6001600160601b0319606092831b8116608052911b1660a052620000d1565b80516200006081620000b7565b92915050565b600080604083850312156200007a57600080fd5b600062000088858562000053565b92505060206200009b8582860162000053565b9150509250929050565b60006001600160a01b03821662000060565b620000c281620000a5565b8114620000ce57600080fd5b50565b60805160601c60a05160601c612cd46200016e600039806109f75280610af15280610b795280610e6b5280610eed5280610f915280611285528061130352806117155250806101625280610422528061059b52806107515280610a735280610bc55280610c585280610c945280610dcf5280610fd752806111fe52806113535280611791528061184552806118d852806119145250612cd46000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80634ddf47d41461005157806380daddb814610066578063e5c23a9714610085578063ecd658b414610098575b600080fd5b61006461005f366004612214565b6100a0565b005b61006e6100a3565b60405161007c9291906129d0565b60405180910390f35b610064610093366004612214565b6100b8565b61006e610144565b50565b6060806100b0600161015a565b915091509091565b60006060828060200190518101906100d09190612423565b9092509050816100e8576100e3816108da565b61013f565b60018214156100fa576100e3816108f4565b600282141561010c576100e381610da8565b600382141561011e576100e3816110fc565b60405162461bcd60e51b815260040161013690612a26565b60405180910390fd5b505050565b606080610151600061015a565b90925090509091565b6060806060807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663fbcbc0f1306040518263ffffffff1660e01b81526004016101ac9190612944565b60006040518083038186803b1580156101c457600080fd5b505afa1580156101d8573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526102009190810190612267565b92509250506000805b825181101561026557600083828151811061022057fe5b602002602001015160600151905087156102475760008113610242575061025d565b610255565b60008112610255575061025d565b506001909101905b600101610209565b5060005b83518110156102fd5783818151811061027e57fe5b60200260200101516000015161ffff166000141561029b576102fd565b86156102ca5760008482815181106102af57fe5b602002602001015160200151136102c5576102f5565b6102ee565b60008482815181106102d857fe5b602002602001015160200151126102ee576102f5565b6001909101905b600101610269565b508067ffffffffffffffff8111801561031557600080fd5b5060405190808252806020026020018201604052801561033f578160200160208202803683370190505b5094508067ffffffffffffffff8111801561035957600080fd5b50604051908082528060200260200182016040528015610383578160200160208202803683370190505b5093506000805b83518110156106bd578780156103b7575060008482815181106103a957fe5b602002602001015160600151135b806103e25750871580156103e2575060008482815181106103d457fe5b602002602001015160600151125b156106b55760008482815181106103f557fe5b602002602001015160000151905061040b611d8c565b60405163275d68c760e11b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690634ebad18e90610457908590600401612a76565b6101406040518083038186803b15801561047057600080fd5b505afa158015610484573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104a891906122e4565b91505080600001518985815181106104bc57fe5b60200260200101906001600160a01b031690816001600160a01b03168152505060008082600001516001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561051c57600080fd5b505afa158015610530573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610554919061246b565b60ff16600a0a905087858151811061056857fe5b60200260200101516020015142106105995787858151811061058657fe5b602002602001015160600151915061066f565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c52c43e1858a88815181106105d557fe5b6020026020010151602001518b89815181106105ed57fe5b6020026020010151606001514260006040518663ffffffff1660e01b815260040161061c959493929190612a84565b60206040518083038186803b15801561063457600080fd5b505afa158015610648573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061066c9190612249565b91505b8b61067b578160000391505b6106936305f5e10061068d8484611419565b9061145c565b8a878151811061069f57fe5b6020908102919091010152505060019093019250505b60010161038a565b5060005b84518110156108b6578481815181106106d657fe5b60200260200101516000015161ffff16600014156106f3576108b6565b8780156107175750600085828151811061070957fe5b602002602001015160200151135b806107425750871580156107425750600085828151811061073457fe5b602002602001015160200151125b156108ae5761074f611d8c565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316634ebad18e87848151811061078a57fe5b6020026020010151600001516040518263ffffffff1660e01b81526004016107b29190612a76565b6101406040518083038186803b1580156107cb57600080fd5b505afa1580156107df573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061080391906122e4565b509050806000015188848151811061081757fe5b60200260200101906001600160a01b031690816001600160a01b03168152505088156108725785828151811061084957fe5b60200260200101516020015187848151811061086157fe5b6020026020010181815250506108a6565b85828151811061087e57fe5b60200260200101516020015160000387848151811061089957fe5b6020026020010181815250505b506001909101905b6001016106c1565b506001865111156108d1576108cb868661148e565b90965094505b50505050915091565b6000806108e6836116d1565b9150915061013f82826116f1565b6000806000610902846119a3565b60408051600180825281830190925293965091945092506060919060208083019080368337019050509050818160008151811061093b57fe5b6020908102919091010152604080516001808252818301909252606091816020015b610965611dbb565b81526020019060019003908161095d579050506040805160e0810190915290915080600281526020018661ffff1681526020018581526020016000815260200160011515815260200160011515815260200183815250816000815181106109c857fe5b602090810291909101015261ffff851660011415610ba657604051632e1a7d4d60e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690632e1a7d4d90610a2c908790600401612af8565b600060405180830381600087803b158015610a4657600080fd5b505af1158015610a5a573d6000803e3d6000fd5b5050604051630276b64b60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169250630276b64b91508690610aae903090869060040161296d565b6000604051808303818588803b158015610ac757600080fd5b505af1158015610adb573d6000803e3d6000fd5b50505050506000306001600160a01b03163190507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b158015610b4a57600080fd5b505af1158015610b5e573d6000803e3d6000fd5b50505050506000811115610ba057610ba06001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633836119c9565b50610da0565b610bae611d8c565b60405163275d68c760e11b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690634ebad18e90610bfa908990600401612a76565b6101406040518083038186803b158015610c1357600080fd5b505afa158015610c27573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c4b91906122e4565b915050610c7d81600001517f000000000000000000000000000000000000000000000000000000000000000087611a1f565b604051630276b64b60e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690630276b64b90610ccb903090869060040161296d565b600060405180830381600087803b158015610ce557600080fd5b505af1158015610cf9573d6000803e3d6000fd5b505082516040516370a0823160e01b8152600093506001600160a01b0390911691506370a0823190610d2f903090600401612944565b60206040518083038186803b158015610d4757600080fd5b505afa158015610d5b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d7f9190612249565b90508015610d9d578151610d9d906001600160a01b031633836119c9565b50505b505050505050565b600080610db483611adb565b604051625e665d60e31b815291935091506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906302f332e890610e099085908590600190600401612ad0565b602060405180830381600087803b158015610e2357600080fd5b505af1158015610e37573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e5b9190612249565b5061ffff821660011415610fb8577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0306001600160a01b0316316040518263ffffffff1660e01b81526004016000604051808303818588803b158015610ece57600080fd5b505af1158015610ee2573d6000803e3d6000fd5b50505050506100e3337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166370a08231306040518263ffffffff1660e01b8152600401610f379190612944565b60206040518083038186803b158015610f4f57600080fd5b505afa158015610f63573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f879190612249565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691906119c9565b610fc0611d8c565b60405163275d68c760e11b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690634ebad18e9061100c908690600401612a76565b6101406040518083038186803b15801561102557600080fd5b505afa158015611039573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061105d91906122e4565b9150506110f63382600001516001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016110949190612944565b60206040518083038186803b1580156110ac57600080fd5b505afa1580156110c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110e49190612249565b83516001600160a01b031691906119c9565b50505050565b60008060008061110b85611af2565b935093509350935060008111156111265761112682826116f1565b60408051600180825281830190925260609160208083019080368337019050509050838160008151811061115657fe5b6020908102919091010152604080516001808252818301909252606091816020015b611180611dbb565b8152602001906001900390816111785750506040805160e081018252600080825261ffff8a1660208301529181018290526060810182905260016080820181905260a082015260c081018590528251929350918391906111dc57fe5b6020908102919091010152604051630276b64b60e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690630276b64b90611235903090859060040161296d565b600060405180830381600087803b15801561124f57600080fd5b505af1158015611263573d6000803e3d6000fd5b5050505061ffff861660011415611334576000306001600160a01b03163190507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b1580156112de57600080fd5b505af11580156112f2573d6000803e3d6000fd5b5061132e9350506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169150339050836119c9565b50611410565b61133c611d8c565b60405163275d68c760e11b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690634ebad18e90611388908a90600401612a76565b6101406040518083038186803b1580156113a157600080fd5b505afa1580156113b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113d991906122e4565b915050610d9d3382600001516001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016110949190612944565b50505050505050565b60008261142857506000611456565b8282028284828161143557fe5b04146114535760405162461bcd60e51b815260040161013690612a36565b90505b92915050565b600080821161147d5760405162461bcd60e51b815260040161013690612a16565b81838161148657fe5b049392505050565b6060808351600014156114a0576116ca565b6001805b8551811015611520576000805b8281101561150a578781815181106114c557fe5b60200260200101516001600160a01b03168884815181106114e257fe5b60200260200101516001600160a01b03161415611502576001915061150a565b6001016114b1565b5080611517576001909201915b506001016114a4565b508067ffffffffffffffff8111801561153857600080fd5b50604051908082528060200260200182016040528015611562578160200160208202803683370190505b5092508067ffffffffffffffff8111801561157c57600080fd5b506040519080825280602002602001820160405280156115a6578160200160208202803683370190505b5091506000805b86518110156116c6576000805b83811015611645578681815181106115ce57fe5b60200260200101516001600160a01b03168984815181106115eb57fe5b60200260200101516001600160a01b0316141561163d576001915087838151811061161257fe5b602002602001015186828151811061162657fe5b602002602001018181510191508181525050611645565b6001016115ba565b50806116bd5787828151811061165757fe5b602002602001015186848151811061166b57fe5b60200260200101906001600160a01b031690816001600160a01b03168152505086828151811061169757fe5b60200260200101518584815181106116ab57fe5b60209081029190910101526001909201915b506001016115ad565b5050505b9250929050565b600080828060200190518101906116e89190612380565b91509150915091565b61ffff82166001141561182657604051632e1a7d4d60e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690632e1a7d4d9061174a908490600401612af8565b600060405180830381600087803b15801561176457600080fd5b505af1158015611778573d6000803e3d6000fd5b5050604051632890fb6560e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169250632890fb65915083906117ce9030908790849060040161298d565b6020604051808303818588803b1580156117e757600080fd5b505af11580156117fb573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906118209190612249565b5061199f565b61182e611d8c565b60405163275d68c760e11b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690634ebad18e9061187a908690600401612a76565b6101406040518083038186803b15801561189357600080fd5b505afa1580156118a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118cb91906122e4565b9150506118fd81600001517f000000000000000000000000000000000000000000000000000000000000000084611a1f565b604051632890fb6560e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690632890fb659061194d9030908790879060040161298d565b602060405180830381600087803b15801561196757600080fd5b505af115801561197b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110f69190612249565b5050565b6000806000838060200190518101906119bc91906123b0565b9250925092509193909250565b61013f8363a9059cbb60e01b84846040516024016119e89291906129b5565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152611b1b565b604051636eb1769f60e11b81526000906001600160a01b0385169063dd62ed3e90611a509030908790600401612952565b60206040518083038186803b158015611a6857600080fd5b505afa158015611a7c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611aa09190612249565b9050818110156110f6578015611ac557611ac56001600160a01b038516846000611baa565b6110f66001600160a01b03851684600019611baa565b600080828060200190518101906116e891906123f3565b60008060008084806020019051810190611b0c919061231f565b93509350935093509193509193565b6060611b70826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316611c6d9092919063ffffffff16565b80519091501561013f5780806020019051810190611b8e91906121f6565b61013f5760405162461bcd60e51b815260040161013690612a56565b801580611c325750604051636eb1769f60e11b81526001600160a01b0384169063dd62ed3e90611be09030908690600401612952565b60206040518083038186803b158015611bf857600080fd5b505afa158015611c0c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c309190612249565b155b611c4e5760405162461bcd60e51b815260040161013690612a66565b61013f8363095ea7b360e01b84846040516024016119e89291906129b5565b6060611c7c8484600085611c86565b90505b9392505050565b606082471015611ca85760405162461bcd60e51b815260040161013690612a06565b611cb185611d49565b611ccd5760405162461bcd60e51b815260040161013690612a46565b60006060866001600160a01b03168587604051611cea9190612938565b60006040518083038185875af1925050503d8060008114611d27576040519150601f19603f3d011682016040523d82523d6000602084013e611d2c565b606091505b5091509150611d3c828286611d53565b925050505b949350505050565b803b15155b919050565b60608315611d62575081611c7f565b825115611d725782518084602001fd5b8160405162461bcd60e51b815260040161013691906129f5565b6040805160a0810182526000808252602082018190529181018290529060608201908152602001600081525090565b6040805160e081019091528060008152602001600061ffff1681526020016000815260200160008152602001600015158152602001600015158152602001606081525090565b805161145681612c51565b600082601f830112611e1d57600080fd5b8151611e30611e2b82612b2d565b612b06565b915081818352602084019350602081019050838560a0840282011115611e5557600080fd5b60005b83811015611e835781611e6b8882611fd6565b84525060209092019160a09190910190600101611e58565b5050505092915050565b600082601f830112611e9e57600080fd5b8151611eac611e2b82612b2d565b915081818352602084019350602081019050838560c0840282011115611ed157600080fd5b60005b83811015611e835781611ee788826120d0565b84525060209092019160c09190910190600101611ed4565b805161145681612c65565b805161145681612c77565b805161145681612c6e565b805161145681612c80565b600082601f830112611f3c57600080fd5b8135611f4a611e2b82612b4e565b91508082526020830160208301858383011115611f6657600080fd5b611f71838284612c05565b50505092915050565b600082601f830112611f8b57600080fd5b8151611f99611e2b82612b4e565b91508082526020830160208301858383011115611fb557600080fd5b611f71838284612c11565b805161145681612c89565b805161145681612c96565b600060a08284031215611fe857600080fd5b611ff260a0612b06565b9050600061200084846121ca565b825250602061201184848301611f20565b602083015250604061202584828501611f20565b604083015250606061203984828501611f20565b606083015250608061204d84828501611f20565b60808301525092915050565b600060a0828403121561206b57600080fd5b61207560a0612b06565b9050600061208384846121d5565b825250602061209484848301611f15565b60208301525060406120a8848285016121eb565b60408301525060606120bc848285016121ca565b606083015250608061204d84828501611f0a565b600060c082840312156120e257600080fd5b6120ec60c0612b06565b905060006120fa8484611f20565b825250602061210b84848301611f20565b602083015250604061211f84828501611f20565b604083015250606061213384828501611f20565b606083015250608061214784828501611f20565b60808301525060a061215b84828501611fc0565b60a08301525092915050565b600060a0828403121561217957600080fd5b61218360a0612b06565b905060006121918484611e01565b82525060206121a284848301611eff565b60208301525060406121b684828501611f20565b604083015250606061203984828501611fcb565b805161145681612ca3565b805161145681612cac565b805161145681612cbe565b805161145681612cb5565b60006020828403121561220857600080fd5b6000611d418484611eff565b60006020828403121561222657600080fd5b813567ffffffffffffffff81111561223d57600080fd5b611d4184828501611f2b565b60006020828403121561225b57600080fd5b6000611d418484611f20565b600080600060e0848603121561227c57600080fd5b60006122888686612059565b93505060a084015167ffffffffffffffff8111156122a557600080fd5b6122b186828701611e0c565b92505060c084015167ffffffffffffffff8111156122ce57600080fd5b6122da86828701611e8d565b9150509250925092565b60008061014083850312156122f857600080fd5b60006123048585612167565b92505060a061231585828601612167565b9150509250929050565b6000806000806080858703121561233557600080fd5b600061234187876121ca565b945050602061235287828801611f20565b9350506040612363878288016121ca565b925050606061237487828801611f20565b91505092959194509250565b6000806040838503121561239357600080fd5b600061239f85856121ca565b925050602061231585828601611f20565b6000806000606084860312156123c557600080fd5b60006123d186866121ca565b93505060206123e286828701611f20565b92505060406122da86828701611f20565b6000806040838503121561240657600080fd5b600061241285856121ca565b9250506020612315858286016121e0565b6000806040838503121561243657600080fd5b60006124428585611f20565b925050602083015167ffffffffffffffff81111561245f57600080fd5b61231585828601611f7a565b60006020828403121561247d57600080fd5b6000611d4184846121eb565b600061249583836124b5565b505060200190565b60006124958383612630565b6000611c7f8383612892565b6124be81612b89565b82525050565b60006124cf82612b7c565b6124d98185612b80565b93506124e483612b76565b8060005b838110156125125781516124fc8882612489565b975061250783612b76565b9250506001016124e8565b509495945050505050565b600061252882612b7c565b6125328185612b80565b935061253d83612b76565b8060005b83811015612512578151612555888261249d565b975061256083612b76565b925050600101612541565b600061257682612b7c565b6125808185612b80565b93508360208202850161259285612b76565b8060005b858110156125cc57848403895281516125af85826124a9565b94506125ba83612b76565b60209a909a0199925050600101612596565b5091979650505050505050565b60006125e482612b7c565b6125ee8185612b80565b93506125f983612b76565b8060005b83811015612512578151612611888261249d565b975061261c83612b76565b9250506001016125fd565b6124be81612b94565b6124be81612bba565b600061264482612b7c565b61264e8185611d4e565b935061265e818560208601612c11565b9290920192915050565b6124be81612bfa565b600061267c82612b7c565b6126868185612b80565b9350612696818560208601612c11565b61269f81612c3d565b9093019392505050565b60006126b6602683612b80565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f8152651c8818d85b1b60d21b602082015260400192915050565b60006126fe601a83612b80565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b6000612737602683612b80565b7f7265636569766543616c6c46726f6d5661756c743a20496e76616c69642061638152651d1a5bdb925960d21b602082015260400192915050565b600061277f602183612b80565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b60006127c2601d83612b80565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000815260200192915050565b60006127fb602a83612b80565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e8152691bdd081cdd58d8d9595960b21b602082015260400192915050565b6000612847603683612b80565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f81527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b602082015260400192915050565b805160009060e08401906128a68582612668565b5060208301516128b96020860182612926565b5060408301516128cc6040860182612630565b5060608301516128df6060860182612630565b5060808301516128f26080860182612627565b5060a083015161290560a0860182612627565b5060c083015184820360c086015261291d828261251d565b95945050505050565b6124be81612bc7565b6124be81612bea565b6000611c7f8284612639565b6020810161145682846124b5565b6040810161296082856124b5565b611c7f60208301846124b5565b6040810161297b82856124b5565b8181036020830152611c7c818461256b565b6060810161299b82866124b5565b6129a86020830185612926565b611d416040830184612630565b604081016129c382856124b5565b611c7f6020830184612630565b604080825281016129e181856124c4565b90508181036020830152611c7c81846125d9565b60208082528101611c7f8184612671565b60208082528101611456816126a9565b60208082528101611456816126f1565b602080825281016114568161272a565b6020808252810161145681612772565b60208082528101611456816127b5565b60208082528101611456816127ee565b602080825281016114568161283a565b602081016114568284612926565b60a08101612a928288612926565b612a9f6020830187612630565b612aac6040830186612630565b612ab96060830185612630565b612ac66080830184612627565b9695505050505050565b60608101612ade8286612926565b612aeb602083018561292f565b611d416040830184612627565b602081016114568284612630565b60405181810167ffffffffffffffff81118282101715612b2557600080fd5b604052919050565b600067ffffffffffffffff821115612b4457600080fd5b5060209081020190565b600067ffffffffffffffff821115612b6557600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b600061145682612bce565b151590565b6001600160f81b03191690565b6dffffffffffffffffffffffffffff191690565b90565b80611d4e81612c47565b61ffff1690565b6001600160a01b031690565b64ffffffffff1690565b60ff1690565b6affffffffffffffffffffff1690565b600061145682612bbd565b82818337506000910152565b60005b83811015612c2c578181015183820152602001612c14565b838111156110f65750506000910152565b601f01601f191690565b600781106100a057fe5b612c5a81612b89565b81146100a057600080fd5b612c5a81612b94565b612c5a81612b99565b612c5a81612ba6565b612c5a81612bba565b600481106100a057600080fd5b600681106100a057600080fd5b612c5a81612bc7565b612c5a81612bda565b612c5a81612be4565b612c5a81612bea56fea164736f6c634300060c000a", - "sourceMap": "877:14640:120:-:0;;;1280:182;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;1356:66:120;;;;;;;;1432:23;;;;;877:14640;;5:134:-1;83:13;;101:33;83:13;101:33;:::i;:::-;68:71;;;;:::o;146:399::-;;;278:2;266:9;257:7;253:23;249:32;246:2;;;294:1;291;284:12;246:2;329:1;346:64;402:7;382:9;346:64;:::i;:::-;336:74;;308:108;447:2;465:64;521:7;512:6;501:9;497:22;465:64;:::i;:::-;455:74;;426:109;240:305;;;;;:::o;552:91::-;;-1:-1;;;;;712:54;;614:24;695:76::o;778:117::-;847:24;865:5;847:24;:::i;:::-;840:5;837:35;827:2;;886:1;883;876:12;827:2;821:74;:::o;:::-;877:14640:120;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b506004361061004c5760003560e01c80634ddf47d41461005157806380daddb814610066578063e5c23a9714610085578063ecd658b414610098575b600080fd5b61006461005f366004612214565b6100a0565b005b61006e6100a3565b60405161007c9291906129d0565b60405180910390f35b610064610093366004612214565b6100b8565b61006e610144565b50565b6060806100b0600161015a565b915091509091565b60006060828060200190518101906100d09190612423565b9092509050816100e8576100e3816108da565b61013f565b60018214156100fa576100e3816108f4565b600282141561010c576100e381610da8565b600382141561011e576100e3816110fc565b60405162461bcd60e51b815260040161013690612a26565b60405180910390fd5b505050565b606080610151600061015a565b90925090509091565b6060806060807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663fbcbc0f1306040518263ffffffff1660e01b81526004016101ac9190612944565b60006040518083038186803b1580156101c457600080fd5b505afa1580156101d8573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526102009190810190612267565b92509250506000805b825181101561026557600083828151811061022057fe5b602002602001015160600151905087156102475760008113610242575061025d565b610255565b60008112610255575061025d565b506001909101905b600101610209565b5060005b83518110156102fd5783818151811061027e57fe5b60200260200101516000015161ffff166000141561029b576102fd565b86156102ca5760008482815181106102af57fe5b602002602001015160200151136102c5576102f5565b6102ee565b60008482815181106102d857fe5b602002602001015160200151126102ee576102f5565b6001909101905b600101610269565b508067ffffffffffffffff8111801561031557600080fd5b5060405190808252806020026020018201604052801561033f578160200160208202803683370190505b5094508067ffffffffffffffff8111801561035957600080fd5b50604051908082528060200260200182016040528015610383578160200160208202803683370190505b5093506000805b83518110156106bd578780156103b7575060008482815181106103a957fe5b602002602001015160600151135b806103e25750871580156103e2575060008482815181106103d457fe5b602002602001015160600151125b156106b55760008482815181106103f557fe5b602002602001015160000151905061040b611d8c565b60405163275d68c760e11b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690634ebad18e90610457908590600401612a76565b6101406040518083038186803b15801561047057600080fd5b505afa158015610484573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104a891906122e4565b91505080600001518985815181106104bc57fe5b60200260200101906001600160a01b031690816001600160a01b03168152505060008082600001516001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561051c57600080fd5b505afa158015610530573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610554919061246b565b60ff16600a0a905087858151811061056857fe5b60200260200101516020015142106105995787858151811061058657fe5b602002602001015160600151915061066f565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c52c43e1858a88815181106105d557fe5b6020026020010151602001518b89815181106105ed57fe5b6020026020010151606001514260006040518663ffffffff1660e01b815260040161061c959493929190612a84565b60206040518083038186803b15801561063457600080fd5b505afa158015610648573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061066c9190612249565b91505b8b61067b578160000391505b6106936305f5e10061068d8484611419565b9061145c565b8a878151811061069f57fe5b6020908102919091010152505060019093019250505b60010161038a565b5060005b84518110156108b6578481815181106106d657fe5b60200260200101516000015161ffff16600014156106f3576108b6565b8780156107175750600085828151811061070957fe5b602002602001015160200151135b806107425750871580156107425750600085828151811061073457fe5b602002602001015160200151125b156108ae5761074f611d8c565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316634ebad18e87848151811061078a57fe5b6020026020010151600001516040518263ffffffff1660e01b81526004016107b29190612a76565b6101406040518083038186803b1580156107cb57600080fd5b505afa1580156107df573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061080391906122e4565b509050806000015188848151811061081757fe5b60200260200101906001600160a01b031690816001600160a01b03168152505088156108725785828151811061084957fe5b60200260200101516020015187848151811061086157fe5b6020026020010181815250506108a6565b85828151811061087e57fe5b60200260200101516020015160000387848151811061089957fe5b6020026020010181815250505b506001909101905b6001016106c1565b506001865111156108d1576108cb868661148e565b90965094505b50505050915091565b6000806108e6836116d1565b9150915061013f82826116f1565b6000806000610902846119a3565b60408051600180825281830190925293965091945092506060919060208083019080368337019050509050818160008151811061093b57fe5b6020908102919091010152604080516001808252818301909252606091816020015b610965611dbb565b81526020019060019003908161095d579050506040805160e0810190915290915080600281526020018661ffff1681526020018581526020016000815260200160011515815260200160011515815260200183815250816000815181106109c857fe5b602090810291909101015261ffff851660011415610ba657604051632e1a7d4d60e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690632e1a7d4d90610a2c908790600401612af8565b600060405180830381600087803b158015610a4657600080fd5b505af1158015610a5a573d6000803e3d6000fd5b5050604051630276b64b60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169250630276b64b91508690610aae903090869060040161296d565b6000604051808303818588803b158015610ac757600080fd5b505af1158015610adb573d6000803e3d6000fd5b50505050506000306001600160a01b03163190507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b158015610b4a57600080fd5b505af1158015610b5e573d6000803e3d6000fd5b50505050506000811115610ba057610ba06001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633836119c9565b50610da0565b610bae611d8c565b60405163275d68c760e11b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690634ebad18e90610bfa908990600401612a76565b6101406040518083038186803b158015610c1357600080fd5b505afa158015610c27573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c4b91906122e4565b915050610c7d81600001517f000000000000000000000000000000000000000000000000000000000000000087611a1f565b604051630276b64b60e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690630276b64b90610ccb903090869060040161296d565b600060405180830381600087803b158015610ce557600080fd5b505af1158015610cf9573d6000803e3d6000fd5b505082516040516370a0823160e01b8152600093506001600160a01b0390911691506370a0823190610d2f903090600401612944565b60206040518083038186803b158015610d4757600080fd5b505afa158015610d5b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d7f9190612249565b90508015610d9d578151610d9d906001600160a01b031633836119c9565b50505b505050505050565b600080610db483611adb565b604051625e665d60e31b815291935091506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906302f332e890610e099085908590600190600401612ad0565b602060405180830381600087803b158015610e2357600080fd5b505af1158015610e37573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e5b9190612249565b5061ffff821660011415610fb8577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0306001600160a01b0316316040518263ffffffff1660e01b81526004016000604051808303818588803b158015610ece57600080fd5b505af1158015610ee2573d6000803e3d6000fd5b50505050506100e3337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166370a08231306040518263ffffffff1660e01b8152600401610f379190612944565b60206040518083038186803b158015610f4f57600080fd5b505afa158015610f63573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f879190612249565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691906119c9565b610fc0611d8c565b60405163275d68c760e11b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690634ebad18e9061100c908690600401612a76565b6101406040518083038186803b15801561102557600080fd5b505afa158015611039573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061105d91906122e4565b9150506110f63382600001516001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016110949190612944565b60206040518083038186803b1580156110ac57600080fd5b505afa1580156110c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110e49190612249565b83516001600160a01b031691906119c9565b50505050565b60008060008061110b85611af2565b935093509350935060008111156111265761112682826116f1565b60408051600180825281830190925260609160208083019080368337019050509050838160008151811061115657fe5b6020908102919091010152604080516001808252818301909252606091816020015b611180611dbb565b8152602001906001900390816111785750506040805160e081018252600080825261ffff8a1660208301529181018290526060810182905260016080820181905260a082015260c081018590528251929350918391906111dc57fe5b6020908102919091010152604051630276b64b60e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690630276b64b90611235903090859060040161296d565b600060405180830381600087803b15801561124f57600080fd5b505af1158015611263573d6000803e3d6000fd5b5050505061ffff861660011415611334576000306001600160a01b03163190507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b1580156112de57600080fd5b505af11580156112f2573d6000803e3d6000fd5b5061132e9350506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169150339050836119c9565b50611410565b61133c611d8c565b60405163275d68c760e11b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690634ebad18e90611388908a90600401612a76565b6101406040518083038186803b1580156113a157600080fd5b505afa1580156113b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113d991906122e4565b915050610d9d3382600001516001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016110949190612944565b50505050505050565b60008261142857506000611456565b8282028284828161143557fe5b04146114535760405162461bcd60e51b815260040161013690612a36565b90505b92915050565b600080821161147d5760405162461bcd60e51b815260040161013690612a16565b81838161148657fe5b049392505050565b6060808351600014156114a0576116ca565b6001805b8551811015611520576000805b8281101561150a578781815181106114c557fe5b60200260200101516001600160a01b03168884815181106114e257fe5b60200260200101516001600160a01b03161415611502576001915061150a565b6001016114b1565b5080611517576001909201915b506001016114a4565b508067ffffffffffffffff8111801561153857600080fd5b50604051908082528060200260200182016040528015611562578160200160208202803683370190505b5092508067ffffffffffffffff8111801561157c57600080fd5b506040519080825280602002602001820160405280156115a6578160200160208202803683370190505b5091506000805b86518110156116c6576000805b83811015611645578681815181106115ce57fe5b60200260200101516001600160a01b03168984815181106115eb57fe5b60200260200101516001600160a01b0316141561163d576001915087838151811061161257fe5b602002602001015186828151811061162657fe5b602002602001018181510191508181525050611645565b6001016115ba565b50806116bd5787828151811061165757fe5b602002602001015186848151811061166b57fe5b60200260200101906001600160a01b031690816001600160a01b03168152505086828151811061169757fe5b60200260200101518584815181106116ab57fe5b60209081029190910101526001909201915b506001016115ad565b5050505b9250929050565b600080828060200190518101906116e89190612380565b91509150915091565b61ffff82166001141561182657604051632e1a7d4d60e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690632e1a7d4d9061174a908490600401612af8565b600060405180830381600087803b15801561176457600080fd5b505af1158015611778573d6000803e3d6000fd5b5050604051632890fb6560e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169250632890fb65915083906117ce9030908790849060040161298d565b6020604051808303818588803b1580156117e757600080fd5b505af11580156117fb573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906118209190612249565b5061199f565b61182e611d8c565b60405163275d68c760e11b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690634ebad18e9061187a908690600401612a76565b6101406040518083038186803b15801561189357600080fd5b505afa1580156118a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118cb91906122e4565b9150506118fd81600001517f000000000000000000000000000000000000000000000000000000000000000084611a1f565b604051632890fb6560e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690632890fb659061194d9030908790879060040161298d565b602060405180830381600087803b15801561196757600080fd5b505af115801561197b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110f69190612249565b5050565b6000806000838060200190518101906119bc91906123b0565b9250925092509193909250565b61013f8363a9059cbb60e01b84846040516024016119e89291906129b5565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152611b1b565b604051636eb1769f60e11b81526000906001600160a01b0385169063dd62ed3e90611a509030908790600401612952565b60206040518083038186803b158015611a6857600080fd5b505afa158015611a7c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611aa09190612249565b9050818110156110f6578015611ac557611ac56001600160a01b038516846000611baa565b6110f66001600160a01b03851684600019611baa565b600080828060200190518101906116e891906123f3565b60008060008084806020019051810190611b0c919061231f565b93509350935093509193509193565b6060611b70826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316611c6d9092919063ffffffff16565b80519091501561013f5780806020019051810190611b8e91906121f6565b61013f5760405162461bcd60e51b815260040161013690612a56565b801580611c325750604051636eb1769f60e11b81526001600160a01b0384169063dd62ed3e90611be09030908690600401612952565b60206040518083038186803b158015611bf857600080fd5b505afa158015611c0c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c309190612249565b155b611c4e5760405162461bcd60e51b815260040161013690612a66565b61013f8363095ea7b360e01b84846040516024016119e89291906129b5565b6060611c7c8484600085611c86565b90505b9392505050565b606082471015611ca85760405162461bcd60e51b815260040161013690612a06565b611cb185611d49565b611ccd5760405162461bcd60e51b815260040161013690612a46565b60006060866001600160a01b03168587604051611cea9190612938565b60006040518083038185875af1925050503d8060008114611d27576040519150601f19603f3d011682016040523d82523d6000602084013e611d2c565b606091505b5091509150611d3c828286611d53565b925050505b949350505050565b803b15155b919050565b60608315611d62575081611c7f565b825115611d725782518084602001fd5b8160405162461bcd60e51b815260040161013691906129f5565b6040805160a0810182526000808252602082018190529181018290529060608201908152602001600081525090565b6040805160e081019091528060008152602001600061ffff1681526020016000815260200160008152602001600015158152602001600015158152602001606081525090565b805161145681612c51565b600082601f830112611e1d57600080fd5b8151611e30611e2b82612b2d565b612b06565b915081818352602084019350602081019050838560a0840282011115611e5557600080fd5b60005b83811015611e835781611e6b8882611fd6565b84525060209092019160a09190910190600101611e58565b5050505092915050565b600082601f830112611e9e57600080fd5b8151611eac611e2b82612b2d565b915081818352602084019350602081019050838560c0840282011115611ed157600080fd5b60005b83811015611e835781611ee788826120d0565b84525060209092019160c09190910190600101611ed4565b805161145681612c65565b805161145681612c77565b805161145681612c6e565b805161145681612c80565b600082601f830112611f3c57600080fd5b8135611f4a611e2b82612b4e565b91508082526020830160208301858383011115611f6657600080fd5b611f71838284612c05565b50505092915050565b600082601f830112611f8b57600080fd5b8151611f99611e2b82612b4e565b91508082526020830160208301858383011115611fb557600080fd5b611f71838284612c11565b805161145681612c89565b805161145681612c96565b600060a08284031215611fe857600080fd5b611ff260a0612b06565b9050600061200084846121ca565b825250602061201184848301611f20565b602083015250604061202584828501611f20565b604083015250606061203984828501611f20565b606083015250608061204d84828501611f20565b60808301525092915050565b600060a0828403121561206b57600080fd5b61207560a0612b06565b9050600061208384846121d5565b825250602061209484848301611f15565b60208301525060406120a8848285016121eb565b60408301525060606120bc848285016121ca565b606083015250608061204d84828501611f0a565b600060c082840312156120e257600080fd5b6120ec60c0612b06565b905060006120fa8484611f20565b825250602061210b84848301611f20565b602083015250604061211f84828501611f20565b604083015250606061213384828501611f20565b606083015250608061214784828501611f20565b60808301525060a061215b84828501611fc0565b60a08301525092915050565b600060a0828403121561217957600080fd5b61218360a0612b06565b905060006121918484611e01565b82525060206121a284848301611eff565b60208301525060406121b684828501611f20565b604083015250606061203984828501611fcb565b805161145681612ca3565b805161145681612cac565b805161145681612cbe565b805161145681612cb5565b60006020828403121561220857600080fd5b6000611d418484611eff565b60006020828403121561222657600080fd5b813567ffffffffffffffff81111561223d57600080fd5b611d4184828501611f2b565b60006020828403121561225b57600080fd5b6000611d418484611f20565b600080600060e0848603121561227c57600080fd5b60006122888686612059565b93505060a084015167ffffffffffffffff8111156122a557600080fd5b6122b186828701611e0c565b92505060c084015167ffffffffffffffff8111156122ce57600080fd5b6122da86828701611e8d565b9150509250925092565b60008061014083850312156122f857600080fd5b60006123048585612167565b92505060a061231585828601612167565b9150509250929050565b6000806000806080858703121561233557600080fd5b600061234187876121ca565b945050602061235287828801611f20565b9350506040612363878288016121ca565b925050606061237487828801611f20565b91505092959194509250565b6000806040838503121561239357600080fd5b600061239f85856121ca565b925050602061231585828601611f20565b6000806000606084860312156123c557600080fd5b60006123d186866121ca565b93505060206123e286828701611f20565b92505060406122da86828701611f20565b6000806040838503121561240657600080fd5b600061241285856121ca565b9250506020612315858286016121e0565b6000806040838503121561243657600080fd5b60006124428585611f20565b925050602083015167ffffffffffffffff81111561245f57600080fd5b61231585828601611f7a565b60006020828403121561247d57600080fd5b6000611d4184846121eb565b600061249583836124b5565b505060200190565b60006124958383612630565b6000611c7f8383612892565b6124be81612b89565b82525050565b60006124cf82612b7c565b6124d98185612b80565b93506124e483612b76565b8060005b838110156125125781516124fc8882612489565b975061250783612b76565b9250506001016124e8565b509495945050505050565b600061252882612b7c565b6125328185612b80565b935061253d83612b76565b8060005b83811015612512578151612555888261249d565b975061256083612b76565b925050600101612541565b600061257682612b7c565b6125808185612b80565b93508360208202850161259285612b76565b8060005b858110156125cc57848403895281516125af85826124a9565b94506125ba83612b76565b60209a909a0199925050600101612596565b5091979650505050505050565b60006125e482612b7c565b6125ee8185612b80565b93506125f983612b76565b8060005b83811015612512578151612611888261249d565b975061261c83612b76565b9250506001016125fd565b6124be81612b94565b6124be81612bba565b600061264482612b7c565b61264e8185611d4e565b935061265e818560208601612c11565b9290920192915050565b6124be81612bfa565b600061267c82612b7c565b6126868185612b80565b9350612696818560208601612c11565b61269f81612c3d565b9093019392505050565b60006126b6602683612b80565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f8152651c8818d85b1b60d21b602082015260400192915050565b60006126fe601a83612b80565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b6000612737602683612b80565b7f7265636569766543616c6c46726f6d5661756c743a20496e76616c69642061638152651d1a5bdb925960d21b602082015260400192915050565b600061277f602183612b80565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b60006127c2601d83612b80565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000815260200192915050565b60006127fb602a83612b80565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e8152691bdd081cdd58d8d9595960b21b602082015260400192915050565b6000612847603683612b80565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f81527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b602082015260400192915050565b805160009060e08401906128a68582612668565b5060208301516128b96020860182612926565b5060408301516128cc6040860182612630565b5060608301516128df6060860182612630565b5060808301516128f26080860182612627565b5060a083015161290560a0860182612627565b5060c083015184820360c086015261291d828261251d565b95945050505050565b6124be81612bc7565b6124be81612bea565b6000611c7f8284612639565b6020810161145682846124b5565b6040810161296082856124b5565b611c7f60208301846124b5565b6040810161297b82856124b5565b8181036020830152611c7c818461256b565b6060810161299b82866124b5565b6129a86020830185612926565b611d416040830184612630565b604081016129c382856124b5565b611c7f6020830184612630565b604080825281016129e181856124c4565b90508181036020830152611c7c81846125d9565b60208082528101611c7f8184612671565b60208082528101611456816126a9565b60208082528101611456816126f1565b602080825281016114568161272a565b6020808252810161145681612772565b60208082528101611456816127b5565b60208082528101611456816127ee565b602080825281016114568161283a565b602081016114568284612926565b60a08101612a928288612926565b612a9f6020830187612630565b612aac6040830186612630565b612ab96060830185612630565b612ac66080830184612627565b9695505050505050565b60608101612ade8286612926565b612aeb602083018561292f565b611d416040830184612627565b602081016114568284612630565b60405181810167ffffffffffffffff81118282101715612b2557600080fd5b604052919050565b600067ffffffffffffffff821115612b4457600080fd5b5060209081020190565b600067ffffffffffffffff821115612b6557600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b600061145682612bce565b151590565b6001600160f81b03191690565b6dffffffffffffffffffffffffffff191690565b90565b80611d4e81612c47565b61ffff1690565b6001600160a01b031690565b64ffffffffff1690565b60ff1690565b6affffffffffffffffffffff1690565b600061145682612bbd565b82818337506000910152565b60005b83811015612c2c578181015183820152602001612c14565b838111156110f65750506000910152565b601f01601f191690565b600781106100a057fe5b612c5a81612b89565b81146100a057600080fd5b612c5a81612b94565b612c5a81612b99565b612c5a81612ba6565b612c5a81612bba565b600481106100a057600080fd5b600681106100a057600080fd5b612c5a81612bc7565b612c5a81612bda565b612c5a81612be4565b612c5a81612bea56fea164736f6c634300060c000a", - "sourceMap": "877:14640:120:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1571:48;;;;;;:::i;:::-;;:::i;:::-;;10719:195;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;1747:663;;;;;;:::i;:::-;;:::i;10069:244::-;;;:::i;1571:48::-;;:::o;10719:195::-;10798:24;10824:25;10872:35;10902:4;10872:29;:35::i;:::-;10865:42;;;;10719:195;;:::o;1747:663::-;1832:16;1850:23;1888:11;1877:41;;;;;;;;;;;;:::i;:::-;1831:87;;-1:-1:-1;1831:87:120;-1:-1:-1;1933:42:120;1929:475;;1991:33;2013:10;1991:21;:33::i;:::-;1929:475;;;2065:12;2045:8;:33;2041:363;;;2094:24;2107:10;2094:12;:24::i;2041:363::-;2159:14;2139:8;:35;2135:269;;;2190:26;2205:10;2190:14;:26::i;2135:269::-;2257:14;2237:8;:35;2233:171;;;2288:26;2303:10;2288:14;:26::i;2233:171::-;2345:48;;-1:-1:-1;;;2345:48:120;;;;;;;:::i;:::-;;;;;;;;2233:171;1747:663;;;:::o;10069:244::-;10145:24;10171:25;10234:36;10264:5;10234:29;:36::i;:::-;10212:58;;-1:-1:-1;10212:58:120;-1:-1:-1;10069:244:120;;:::o;11025:4490::-;11132:24;11158:25;11227:57;11298;11368:27;-1:-1:-1;;;;;11368:38:120;;11415:4;11368:53;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;11368:53:120;;;;;;;;;;;;:::i;:::-;11199:222;;;;;11474:25;11515:9;11510:409;11530:15;:22;11526:1;:26;11510:409;;;11573:20;11596:15;11612:1;11596:18;;;;;;;;;;;;;;:27;;;11573:50;;11642:15;11638:237;;;11698:1;11681:13;:18;11677:73;;11723:8;;;11677:73;11638:237;;;11809:1;11792:13;:18;11788:73;;11834:8;;;11788:73;-1:-1:-1;11889:19:120;;;;;11510:409;11554:3;;11510:409;;;;11934:9;11929:534;11949:15;:22;11945:1;:26;11929:534;;;12060:15;12076:1;12060:18;;;;;;;;;;;;;;:29;;;:34;;12093:1;12060:34;12056:78;;;12114:5;;12056:78;12152:15;12148:271;;;12225:1;12191:15;12207:1;12191:18;;;;;;;;;;;;;;:30;;;:35;12187:90;;12250:8;;12187:90;12148:271;;;12353:1;12319:15;12335:1;12319:18;;;;;;;;;;;;;;:30;;;:35;12315:90;;12378:8;;12315:90;12433:19;;;;;11929:534;11973:3;;11929:534;;;;12497:17;12483:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12483:32:120;;12473:42;;12550:17;12536:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12536:32:120;;12525:43;;12629:26;12671:9;12666:1629;12686:15;:22;12682:1;:26;12666:1629;;;12751:15;:50;;;;;12800:1;12770:15;12786:1;12770:18;;;;;;;;;;;;;;:27;;;:31;12751:50;12750:125;;;;12824:15;12823:16;:51;;;;;12873:1;12843:15;12859:1;12843:18;;;;;;;;;;;;;;:27;;;:31;12823:51;12729:1556;;;12908:17;12935:15;12951:1;12935:18;;;;;;;;;;;;;;:29;;;12908:57;;12987:46;;:::i;:::-;13037:72;;-1:-1:-1;;;13037:72:120;;-1:-1:-1;;;;;13037:27:120;:60;;;;:72;;13098:10;;13037:72;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12984:125;;;13158:15;:28;;;13128:7;13136:18;13128:27;;;;;;;;;;;;;:58;-1:-1:-1;;;;;13128:58:120;;;-1:-1:-1;;;;;13128:58:120;;;;;13205:19;13243:37;13323:15;:28;;;-1:-1:-1;;;;;13317:44:120;;:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13309:55;;13283:2;:81;13243:121;;13406:15;13422:1;13406:18;;;;;;;;;;;;;;:27;;;13387:15;:46;13383:481;;13472:15;13488:1;13472:18;;;;;;;;;;;;;;:27;;;13457:42;;13383:481;;;13561:27;-1:-1:-1;;;;;13561:48:120;;13635:10;13671:15;13687:1;13671:18;;;;;;;;;;;;;;:27;;;13724:15;13740:1;13724:18;;;;;;;;;;;;;;:27;;;13777:15;13818:5;13561:284;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13546:299;;13383:481;13971:15;13966:91;;14026:12;14025:13;;14010:28;;13966:91;14106:125;1156:5;14106:77;14114:12;14153:29;14106:46;:77::i;:::-;:102;;:125::i;:::-;14075:8;14084:18;14075:28;;;;;;;;;;;;;;;;;:156;-1:-1:-1;;14250:20:120;;;;;-1:-1:-1;;12729:1556:120;12710:3;;12666:1629;;;;14366:9;14361:945;14381:15;:22;14377:1;:26;14361:945;;;14492:15;14508:1;14492:18;;;;;;;;;;;;;;:29;;;:34;;14525:1;14492:34;14488:78;;;14546:5;;14488:78;14602:15;:53;;;;;14654:1;14621:15;14637:1;14621:18;;;;;;;;;;;;;;:30;;;:34;14602:53;14601:131;;;;14678:15;14677:16;:54;;;;;14730:1;14697:15;14713:1;14697:18;;;;;;;;;;;;;;:30;;;:34;14677:54;14580:716;;;14766:40;;:::i;:::-;14812:27;-1:-1:-1;;;;;14812:60:120;;14873:15;14889:1;14873:18;;;;;;;;;;;;;;:29;;;14812:91;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14765:138;;;14952:9;:22;;;14922:7;14930:18;14922:27;;;;;;;;;;;;;:52;-1:-1:-1;;;;;14922:52:120;;;-1:-1:-1;;;;;14922:52:120;;;;;14997:15;14993:250;;;15075:15;15091:1;15075:18;;;;;;;;;;;;;;:30;;;15036:8;15045:18;15036:28;;;;;;;;;;;;;:70;;;;;14993:250;;;15193:15;15209:1;15193:18;;;;;;;;;;;;;;:30;;;15192:31;;15153:8;15162:18;15153:28;;;;;;;;;;;;;:71;;;;;14993:250;-1:-1:-1;15261:20:120;;;;;14580:716;14405:3;;14361:945;;;;15380:1;15363:7;:14;:18;15359:113;;;15419:42;15443:7;15452:8;15419:23;:42::i;:::-;15397:64;;-1:-1:-1;15397:64:120;-1:-1:-1;15359:113:120;15482:26;;;;11025:4490;;;:::o;2468:262::-;2544:17;2563:29;2596:66;2641:11;2596:31;:66::i;:::-;2543:119;;;;2673:50;2689:10;2701:21;2673:15;:50::i;4935:2755::-;5015:17;5046:29;5089:20;5122:35;5145:11;5122:22;:35::i;:::-;5201:16;;;5215:1;5201:16;;;;;;;;;5001:156;;-1:-1:-1;5001:156:120;;-1:-1:-1;5001:156:120;-1:-1:-1;5168:30:120;;5201:16;;;;;;;;;;;;-1:-1:-1;5201:16:120;5168:49;;5246:12;5227:13;5241:1;5227:16;;;;;;;;;;;;;;;;;:31;5352:50;;;5400:1;5352:50;;;;;;;;;5269:80;;5352:50;;;;;;:::i;:::-;;;;;;;;;;;;;;;-1:-1:-1;5704:390:120;;;;;;;;;5269:133;;-1:-1:-1;5704:390:120;5772:53;5704:390;;;;5851:10;5704:390;;;;;;5896:21;5704:390;;;;5964:1;5704:390;;;;6006:4;5704:390;;;;;;6044:4;5704:390;;;;;;6070:13;5704:390;;;5681:17;5699:1;5681:20;;;;;;;;;;;;;;;;;:413;6109:29;;;1100:1;6109:29;6105:1579;;;6154:67;;-1:-1:-1;;;6154:67:120;;-1:-1:-1;;;;;6176:10:120;6154:44;;;;:67;;6199:21;;6154:67;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6236:164:120;;-1:-1:-1;;;6236:164:120;;-1:-1:-1;;;;;6236:27:120;:54;;-1:-1:-1;6236:54:120;;-1:-1:-1;6298:21:120;;6236:164;;6346:4;;6369:17;;6236:164;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6415:20;6454:4;-1:-1:-1;;;;;6438:30:120;;6415:53;;6505:10;-1:-1:-1;;;;;6483:43:120;;6534:12;6483:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6583:1;6568:12;:16;6564:182;;;6675:56;-1:-1:-1;;;;;6681:10:120;6675:30;6706:10;6718:12;6675:30;:56::i;:::-;6105:1579;;;;6779:46;;:::i;:::-;6829:68;;-1:-1:-1;;;6829:68:120;;-1:-1:-1;;;;;6829:27:120;:56;;;;:68;;6886:10;;6829:68;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6776:121;;;6912:178;6955:15;:28;;;7009:27;7055:21;6912:25;:178::i;:::-;7105:134;;-1:-1:-1;;;7105:134:120;;-1:-1:-1;;;;;7105:27:120;:54;;;;:134;;7185:4;;7208:17;;7105:134;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7293:28:120;;7287:90;;-1:-1:-1;;;7287:90:120;;7254:30;;-1:-1:-1;;;;;;7287:45:120;;;;-1:-1:-1;7287:45:120;;:90;;7358:4;;7287:90;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7254:123;-1:-1:-1;7396:26:120;;7392:282;;7523:28;;7517:142;;-1:-1:-1;;;;;7517:48:120;7587:10;7619:22;7517:48;:142::i;:::-;6105:1579;;;4935:2755;;;;;;:::o;7797:873::-;7866:17;7885:23;7912:37;7937:11;7912:24;:37::i;:::-;7960:72;;-1:-1:-1;;;7960:72:120;;7865:84;;-1:-1:-1;7865:84:120;-1:-1:-1;;;;;;7960:27:120;:36;;;;:72;;7865:84;;;;8027:4;;7960:72;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;8088:29:120;;;1100:1;8088:29;8084:580;;;8155:10;-1:-1:-1;;;;;8133:43:120;;8200:4;-1:-1:-1;;;;;8184:30:120;;8133:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8232:86;8263:10;8281;-1:-1:-1;;;;;8275:27:120;;8311:4;8275:42;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;8238:10:120;8232:30;;:86;:30;:86::i;8084:580::-;8352:46;;:::i;:::-;8402:68;;-1:-1:-1;;;8402:68:120;;-1:-1:-1;;;;;8402:27:120;:56;;;;:68;;8459:10;;8402:68;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8349:121;;;8485:168;8551:10;8585:15;:28;;;-1:-1:-1;;;;;8579:45:120;;8633:4;8579:60;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8491:28;;-1:-1:-1;;;;;8485:48:120;;:168;:48;:168::i;:::-;8084:580;7797:873;;;:::o;2790:2089::-;2872:23;2909:20;2943:27;2984:29;3026:37;3051:11;3026:24;:37::i;:::-;2858:205;;;;;;;;3102:1;3078:21;:25;3074:116;;;3119:60;3135:20;3157:21;3119:15;:60::i;:::-;3233:16;;;3247:1;3233:16;;;;;;;;;3200:30;;3233:16;;;;;;;;;;;-1:-1:-1;3233:16:120;3200:49;;3278:12;3259:13;3273:1;3259:16;;;;;;;;;;;;;;;;;:31;3384:50;;;3432:1;3384:50;;;;;;;;;3301:80;;3384:50;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;3671:363:120;;;;;;;;-1:-1:-1;3671:363:120;;;;;;;;;;;;;;;;;;;;;;3946:4;3671:363;;;;;;;;;;;;;;;;3648:20;;3301:133;;-1:-1:-1;3671:363:120;3301:133;;-1:-1:-1;3648:20:120;;;;;;;;;;;;;:386;4045:88;;-1:-1:-1;;;4045:88:120;;-1:-1:-1;;;;;4045:27:120;:54;;;;:88;;4108:4;;4115:17;;4045:88;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;4148:35:120;;;1100:1;4148:35;4144:729;;;4199:20;4238:4;-1:-1:-1;;;;;4222:30:120;;4199:53;;4289:10;-1:-1:-1;;;;;4267:43:120;;4318:12;4267:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4410:56:120;;-1:-1:-1;;;;;;;4416:10:120;4410:30;;-1:-1:-1;4441:10:120;;-1:-1:-1;4453:12:120;4410:30;:56::i;:::-;4144:729;;;;4500:46;;:::i;:::-;4550:74;;-1:-1:-1;;;4550:74:120;;-1:-1:-1;;;;;4550:27:120;:56;;;;:74;;4607:16;;4550:74;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4497:127;;;4694:168;4760:10;4794:15;:28;;;-1:-1:-1;;;;;4788:45:120;;4842:4;4788:60;;;;;;;;;;;;;;;:::i;4144:729::-;2790:2089;;;;;;;:::o;3538:215:442:-;3596:7;3619:6;3615:20;;-1:-1:-1;3634:1:442;3627:8;;3615:20;3657:5;;;3661:1;3657;:5;:1;3680:5;;;;;:10;3672:56;;;;-1:-1:-1;;;3672:56:442;;;;;;;:::i;:::-;3745:1;-1:-1:-1;3538:215:442;;;;;:::o;4217:150::-;4275:7;4306:1;4302;:5;4294:44;;;;-1:-1:-1;;;4294:44:442;;;;;;;:::i;:::-;4359:1;4355;:5;;;;;;;4217:150;-1:-1:-1;;;4217:150:442:o;749:1574:355:-;888:34;924:35;979:10;:17;1000:1;979:22;975:99;;;1017:46;;975:99;1115:1;;1126:361;1150:10;:17;1146:1;:21;1126:361;;;1188:13;1220:9;1215:179;1235:1;1231;:5;1215:179;;;1282:10;1293:1;1282:13;;;;;;;;;;;;;;-1:-1:-1;;;;;1265:30:355;:10;1276:1;1265:13;;;;;;;;;;;;;;-1:-1:-1;;;;;1265:30:355;;1261:119;;;1330:4;1319:15;;1356:5;;1261:119;1238:3;;1215:179;;;;1412:8;1407:70;;1440:22;;;;;1407:70;-1:-1:-1;1169:3:355;;1126:361;;;;1531:20;1517:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1517:35:355;;1497:55;;1597:20;1583:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1583:35:355;;1562:56;;1628:28;1671:9;1666:594;1686:10;:17;1682:1;:21;1666:594;;;1724:13;1756:9;1751:268;1771:20;1767:1;:24;1751:268;;;1837:17;1855:1;1837:20;;;;;;;;;;;;;;-1:-1:-1;;;;;1820:37:355;:10;1831:1;1820:13;;;;;;;;;;;;;;-1:-1:-1;;;;;1820:37:355;;1816:189;;;1892:4;1881:15;;1944:11;1956:1;1944:14;;;;;;;;;;;;;;1919:18;1938:1;1919:21;;;;;;;;;;;;;:39;;;;;;;;;;;1981:5;;1816:189;1793:3;;1751:268;;;;2037:8;2032:218;;2107:10;2118:1;2107:13;;;;;;;;;;;;;;2065:17;2083:20;2065:39;;;;;;;;;;;;;:55;-1:-1:-1;;;;;2065:55:355;;;-1:-1:-1;;;;;2065:55:355;;;;;2181:11;2193:1;2181:14;;;;;;;;;;;;;;2138:18;2157:20;2138:40;;;;;;;;;;;;;;;;;:57;2213:22;;;;;2032:218;-1:-1:-1;1705:3:355;;1666:594;;;;2270:46;;749:1574;;;;;;:::o;595:236:119:-;709:18;729:30;793:11;782:42;;;;;;;;;;;;:::i;:::-;775:49;;;;595:236;;;:::o;8724:875:120:-;8808:30;;;1100:1;8808:30;8804:789;;;8854:53;;-1:-1:-1;;;8854:53:120;;-1:-1:-1;;;;;8876:10:120;8854:44;;;;:53;;8899:7;;8854:53;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8922:165:120;;-1:-1:-1;;;8922:165:120;;-1:-1:-1;;;;;8922:27:120;:50;;-1:-1:-1;8922:50:120;;-1:-1:-1;8980:7:120;;8922:165;;9014:4;;9037:11;;8980:7;;8922:165;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;8804:789;;;9121:46;;:::i;:::-;9171:69;;-1:-1:-1;;;9171:69:120;;-1:-1:-1;;;;;9171:27:120;:56;;;;:69;;9228:11;;9171:69;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9118:122;;;9255:164;9298:15;:28;;;9352:27;9398:7;9255:25;:164::i;:::-;9433:149;;-1:-1:-1;;;9433:149:120;;-1:-1:-1;;;;;9433:27:120;:50;;;;:149;;9509:4;;9532:11;;9561:7;;9433:149;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;8804:789::-;8724:875;;:::o;1340:309:119:-;1458:18;1490:30;1534:25;1602:11;1591:51;;;;;;;;;;;;:::i;:::-;1584:58;;;;;;1340:309;;;;;:::o;704:175:450:-;786:86;806:5;836:23;;;861:2;865:5;813:58;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;813:58:450;;;;;;;;;;;;;;-1:-1:-1;;;;;813:58:450;-1:-1:-1;;;;;;813:58:450;;;;;;;;;;786:19;:86::i;2554:434:355:-;2714:47;;-1:-1:-1;;;2714:47:355;;2694:17;;-1:-1:-1;;;;;2714:23:355;;;;;:47;;2746:4;;2753:7;;2714:47;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2694:67;;2787:13;2775:9;:25;2771:211;;;2820:13;;2816:89;;2853:37;-1:-1:-1;;;;;2853:25:355;;2879:7;2888:1;2853:25;:37::i;:::-;2918:53;-1:-1:-1;;;;;2918:25:355;;2944:7;-1:-1:-1;;2918:25:355;:53::i;1720:222:119:-;1827:18;1847:24;1905:11;1894:41;;;;;;;;;;;;:::i;902:369::-;1022:24;1060:27;1101:28;1143:30;1216:11;1205:59;;;;;;;;;;;;:::i;:::-;1198:66;;;;;;;;902:369;;;;;:::o;2967:751:450:-;3386:23;3412:69;3440:4;3412:69;;;;;;;;;;;;;;;;;3420:5;-1:-1:-1;;;;;3412:27:450;;;:69;;;;;:::i;:::-;3495:17;;3386:95;;-1:-1:-1;3495:21:450;3491:221;;3635:10;3624:30;;;;;;;;;;;;:::i;:::-;3616:85;;;;-1:-1:-1;;;3616:85:450;;;;;;;:::i;1348:613::-;1713:10;;;1712:62;;-1:-1:-1;1729:39:450;;-1:-1:-1;;;1729:39:450;;-1:-1:-1;;;;;1729:15:450;;;;;:39;;1753:4;;1760:7;;1729:39;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:44;1712:62;1704:150;;;;-1:-1:-1;;;1704:150:450;;;;;;;:::i;:::-;1864:90;1884:5;1914:22;;;1938:7;1947:5;1891:62;;;;;;;;;:::i;3581:193:451:-;3684:12;3715:52;3737:6;3745:4;3751:1;3754:12;3715:21;:52::i;:::-;3708:59;;3581:193;;;;;;:::o;4608:523::-;4735:12;4792:5;4767:21;:30;;4759:81;;;;-1:-1:-1;;;4759:81:451;;;;;;;:::i;:::-;4858:18;4869:6;4858:10;:18::i;:::-;4850:60;;;;-1:-1:-1;;;4850:60:451;;;;;;;:::i;:::-;4981:12;4995:23;5022:6;-1:-1:-1;;;;;5022:11:451;5042:5;5050:4;5022:33;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4980:75;;;;5072:52;5090:7;5099:10;5111:12;5072:17;:52::i;:::-;5065:59;;;;4608:523;;;;;;;:::o;726:413::-;1086:20;;1124:8;;726:413;;;;:::o;7091:725::-;7206:12;7234:7;7230:580;;;-1:-1:-1;7264:10:451;7257:17;;7230:580;7375:17;;:21;7371:429;;7633:10;7627:17;7693:15;7680:10;7676:2;7672:19;7665:44;7582:145;7772:12;7765:20;;-1:-1:-1;;;7765:20:451;;;;;;;;:::i;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5:134::-;83:13;;101:33;83:13;101:33;:::i;196:821::-;;357:3;350:4;342:6;338:17;334:27;324:2;;375:1;372;365:12;324:2;405:6;399:13;427:113;442:97;532:6;442:97;:::i;:::-;427:113;:::i;:::-;418:122;;557:5;582:6;575:5;568:21;612:4;604:6;600:17;590:27;;634:4;629:3;625:14;618:21;;687:6;734:3;726:4;718:6;714:17;709:3;705:27;702:36;699:2;;;751:1;748;741:12;699:2;776:1;761:250;786:6;783:1;780:13;761:250;;;844:3;866:81;943:3;931:10;866:81;:::i;:::-;854:94;;-1:-1;971:4;962:14;;;;999:4;990:14;;;;;808:1;801:9;761:250;;;765:14;317:700;;;;;;;:::o;1075:821::-;;1236:3;1229:4;1221:6;1217:17;1213:27;1203:2;;1254:1;1251;1244:12;1203:2;1284:6;1278:13;1306:113;1321:97;1411:6;1321:97;:::i;1306:113::-;1297:122;;1436:5;1461:6;1454:5;1447:21;1491:4;1483:6;1479:17;1469:27;;1513:4;1508:3;1504:14;1497:21;;1566:6;1613:3;1605:4;1597:6;1593:17;1588:3;1584:27;1581:36;1578:2;;;1630:1;1627;1620:12;1578:2;1655:1;1640:250;1665:6;1662:1;1659:13;1640:250;;;1723:3;1745:81;1822:3;1810:10;1745:81;:::i;:::-;1733:94;;-1:-1;1850:4;1841:14;;;;1878:4;1869:14;;;;;1687:1;1680:9;1640:250;;1904:128;1979:13;;1997:30;1979:13;1997:30;:::i;2039:134::-;2117:13;;2135:33;2117:13;2135:33;:::i;2180:132::-;2257:13;;2275:32;2257:13;2275:32;:::i;2319:134::-;2397:13;;2415:33;2397:13;2415:33;:::i;2461:440::-;;2562:3;2555:4;2547:6;2543:17;2539:27;2529:2;;2580:1;2577;2570:12;2529:2;2617:6;2604:20;2639:64;2654:48;2695:6;2654:48;:::i;2639:64::-;2630:73;;2723:6;2716:5;2709:21;2759:4;2751:6;2747:17;2792:4;2785:5;2781:16;2827:3;2818:6;2813:3;2809:16;2806:25;2803:2;;;2844:1;2841;2834:12;2803:2;2854:41;2888:6;2883:3;2878;2854:41;:::i;:::-;2522:379;;;;;;;:::o;2910:442::-;;3022:3;3015:4;3007:6;3003:17;2999:27;2989:2;;3040:1;3037;3030:12;2989:2;3070:6;3064:13;3092:64;3107:48;3148:6;3107:48;:::i;3092:64::-;3083:73;;3176:6;3169:5;3162:21;3212:4;3204:6;3200:17;3245:4;3238:5;3234:16;3280:3;3271:6;3266:3;3262:16;3259:25;3256:2;;;3297:1;3294;3287:12;3256:2;3307:39;3339:6;3334:3;3329;3307:39;:::i;3360:180::-;3461:13;;3479:56;3461:13;3479:56;:::i;3547:164::-;3640:13;;3658:48;3640:13;3658:48;:::i;3903:1018::-;;4036:4;4024:9;4019:3;4015:19;4011:30;4008:2;;;4054:1;4051;4044:12;4008:2;4072:20;4087:4;4072:20;:::i;:::-;4063:29;-1:-1;4148:1;4180:59;4235:3;4215:9;4180:59;:::i;:::-;4155:85;;-1:-1;4308:2;4341:59;4396:3;4372:22;;;4341:59;:::i;:::-;4334:4;4327:5;4323:16;4316:85;4261:151;4471:2;4504:59;4559:3;4550:6;4539:9;4535:22;4504:59;:::i;:::-;4497:4;4490:5;4486:16;4479:85;4422:153;4634:2;4667:60;4723:3;4714:6;4703:9;4699:22;4667:60;:::i;:::-;4660:4;4653:5;4649:16;4642:86;4585:154;4805:3;4839:60;4895:3;4886:6;4875:9;4871:22;4839:60;:::i;:::-;4832:4;4825:5;4821:16;4814:86;4749:162;4002:919;;;;:::o;4974:1018::-;;5107:4;5095:9;5090:3;5086:19;5082:30;5079:2;;;5125:1;5122;5115:12;5079:2;5143:20;5158:4;5143:20;:::i;:::-;5134:29;-1:-1;5223:1;5255:59;5310:3;5290:9;5255:59;:::i;:::-;5230:85;;-1:-1;5379:2;5412:59;5467:3;5443:22;;;5412:59;:::i;:::-;5405:4;5398:5;5394:16;5387:85;5336:147;5545:2;5578:58;5632:3;5623:6;5612:9;5608:22;5578:58;:::i;:::-;5571:4;5564:5;5560:16;5553:84;5493:155;5710:2;5743:59;5798:3;5789:6;5778:9;5774:22;5743:59;:::i;:::-;5736:4;5729:5;5725:16;5718:85;5658:156;5876:3;5910:60;5966:3;5957:6;5946:9;5942:22;5910:60;:::i;6045:1186::-;;6178:4;6166:9;6161:3;6157:19;6153:30;6150:2;;;6196:1;6193;6186:12;6150:2;6214:20;6229:4;6214:20;:::i;:::-;6205:29;-1:-1;6290:1;6322:60;6378:3;6358:9;6322:60;:::i;:::-;6297:86;;-1:-1;6448:2;6481:60;6537:3;6513:22;;;6481:60;:::i;:::-;6474:4;6467:5;6463:16;6456:86;6404:149;6608:2;6641:60;6697:3;6688:6;6677:9;6673:22;6641:60;:::i;:::-;6634:4;6627:5;6623:16;6616:86;6563:150;6767:2;6800:59;6855:3;6846:6;6835:9;6831:22;6800:59;:::i;:::-;6793:4;6786:5;6782:16;6775:85;6723:148;6928:3;6962:60;7018:3;7009:6;6998:9;6994:22;6962:60;:::i;:::-;6955:4;6948:5;6944:16;6937:86;6881:153;7092:3;7126:83;7205:3;7196:6;7185:9;7181:22;7126:83;:::i;:::-;7119:4;7112:5;7108:16;7101:109;7044:177;6144:1087;;;;:::o;7275:1019::-;;7399:4;7387:9;7382:3;7378:19;7374:30;7371:2;;;7417:1;7414;7407:12;7371:2;7435:20;7450:4;7435:20;:::i;:::-;7426:29;-1:-1;7513:1;7545:60;7601:3;7581:9;7545:60;:::i;:::-;7520:86;;-1:-1;7677:2;7710:57;7763:3;7739:22;;;7710:57;:::i;:::-;7703:4;7696:5;7692:16;7685:83;7627:152;7833:2;7866:59;7921:3;7912:6;7901:9;7897:22;7866:59;:::i;:::-;7859:4;7852:5;7848:16;7841:85;7789:148;7992:2;8025:75;8096:3;8087:6;8076:9;8072:22;8025:75;:::i;8301:132::-;8378:13;;8396:32;8378:13;8396:32;:::i;8581:132::-;8658:13;;8676:32;8658:13;8676:32;:::i;8720:132::-;8797:13;;8815:32;8797:13;8815:32;:::i;8859:130::-;8935:13;;8953:31;8935:13;8953:31;:::i;8996:257::-;;9108:2;9096:9;9087:7;9083:23;9079:32;9076:2;;;9124:1;9121;9114:12;9076:2;9159:1;9176:61;9229:7;9209:9;9176:61;:::i;9260:345::-;;9373:2;9361:9;9352:7;9348:23;9344:32;9341:2;;;9389:1;9386;9379:12;9341:2;9424:31;;9475:18;9464:30;;9461:2;;;9507:1;9504;9497:12;9461:2;9527:62;9581:7;9572:6;9561:9;9557:22;9527:62;:::i;9612:261::-;;9726:2;9714:9;9705:7;9701:23;9697:32;9694:2;;;9742:1;9739;9732:12;9694:2;9777:1;9794:63;9849:7;9829:9;9794:63;:::i;9880:994::-;;;;10178:3;10166:9;10157:7;10153:23;10149:33;10146:2;;;10195:1;10192;10185:12;10146:2;10230:1;10247:97;10336:7;10316:9;10247:97;:::i;:::-;10237:107;;10209:141;10402:3;10391:9;10387:19;10381:26;10427:18;10419:6;10416:30;10413:2;;;10459:1;10456;10449:12;10413:2;10479:122;10593:7;10584:6;10573:9;10569:22;10479:122;:::i;:::-;10469:132;;10360:247;10659:3;10648:9;10644:19;10638:26;10684:18;10676:6;10673:30;10670:2;;;10716:1;10713;10706:12;10670:2;10736:122;10850:7;10841:6;10830:9;10826:22;10736:122;:::i;:::-;10726:132;;10617:247;10140:734;;;;;:::o;10881:497::-;;;11061:3;11049:9;11040:7;11036:23;11032:33;11029:2;;;11078:1;11075;11068:12;11029:2;11113:1;11130:88;11210:7;11190:9;11130:88;:::i;:::-;11120:98;;11092:132;11255:3;11274:88;11354:7;11345:6;11334:9;11330:22;11274:88;:::i;:::-;11264:98;;11234:134;11023:355;;;;;:::o;11385:668::-;;;;;11549:3;11537:9;11528:7;11524:23;11520:33;11517:2;;;11566:1;11563;11556:12;11517:2;11601:1;11618:63;11673:7;11653:9;11618:63;:::i;:::-;11608:73;;11580:107;11718:2;11736:64;11792:7;11783:6;11772:9;11768:22;11736:64;:::i;:::-;11726:74;;11697:109;11837:2;11855:63;11910:7;11901:6;11890:9;11886:22;11855:63;:::i;:::-;11845:73;;11816:108;11955:2;11973:64;12029:7;12020:6;12009:9;12005:22;11973:64;:::i;:::-;11963:74;;11934:109;11511:542;;;;;;;:::o;12060:397::-;;;12191:2;12179:9;12170:7;12166:23;12162:32;12159:2;;;12207:1;12204;12197:12;12159:2;12242:1;12259:63;12314:7;12294:9;12259:63;:::i;:::-;12249:73;;12221:107;12359:2;12377:64;12433:7;12424:6;12413:9;12409:22;12377:64;:::i;12464:533::-;;;;12612:2;12600:9;12591:7;12587:23;12583:32;12580:2;;;12628:1;12625;12618:12;12580:2;12663:1;12680:63;12735:7;12715:9;12680:63;:::i;:::-;12670:73;;12642:107;12780:2;12798:64;12854:7;12845:6;12834:9;12830:22;12798:64;:::i;:::-;12788:74;;12759:109;12899:2;12917:64;12973:7;12964:6;12953:9;12949:22;12917:64;:::i;13004:395::-;;;13134:2;13122:9;13113:7;13109:23;13105:32;13102:2;;;13150:1;13147;13140:12;13102:2;13185:1;13202:63;13257:7;13237:9;13202:63;:::i;:::-;13192:73;;13164:107;13302:2;13320:63;13375:7;13366:6;13355:9;13351:22;13320:63;:::i;13676:496::-;;;13817:2;13805:9;13796:7;13792:23;13788:32;13785:2;;;13833:1;13830;13823:12;13785:2;13868:1;13885:64;13941:7;13921:9;13885:64;:::i;:::-;13875:74;;13847:108;14007:2;13996:9;13992:18;13986:25;14031:18;14023:6;14020:30;14017:2;;;14063:1;14060;14053:12;14017:2;14083:73;14148:7;14139:6;14128:9;14124:22;14083:73;:::i;14179:259::-;;14292:2;14280:9;14271:7;14267:23;14263:32;14260:2;;;14308:1;14305;14298:12;14260:2;14343:1;14360:62;14414:7;14394:9;14360:62;:::i;14446:173::-;;14533:46;14575:3;14567:6;14533:46;:::i;:::-;-1:-1;;14608:4;14599:14;;14526:93::o;14628:173::-;;14715:46;14757:3;14749:6;14715:46;:::i;14810:321::-;;14995:130;15121:3;15113:6;14995:130;:::i;15321:103::-;15394:24;15412:5;15394:24;:::i;:::-;15389:3;15382:37;15376:48;;:::o;15582:690::-;;15727:54;15775:5;15727:54;:::i;:::-;15794:86;15873:6;15868:3;15794:86;:::i;:::-;15787:93;;15901:56;15951:5;15901:56;:::i;:::-;15977:7;16005:1;15990:260;16015:6;16012:1;16009:13;15990:260;;;16082:6;16076:13;16103:63;16162:3;16147:13;16103:63;:::i;:::-;16096:70;;16183:60;16236:6;16183:60;:::i;:::-;16173:70;-1:-1;;16037:1;16030:9;15990:260;;;-1:-1;16263:3;;15706:566;-1:-1;;;;;15706:566::o;16311:670::-;;16446:54;16494:5;16446:54;:::i;:::-;16513:76;16582:6;16577:3;16513:76;:::i;:::-;16506:83;;16610:56;16660:5;16610:56;:::i;:::-;16686:7;16714:1;16699:260;16724:6;16721:1;16718:13;16699:260;;;16791:6;16785:13;16812:63;16871:3;16856:13;16812:63;:::i;:::-;16805:70;;16892:60;16945:6;16892:60;:::i;:::-;16882:70;-1:-1;;16746:1;16739:9;16699:260;;17102:1184;;17331:96;17421:5;17331:96;:::i;:::-;17440:128;17561:6;17556:3;17440:128;:::i;:::-;17433:135;;17591:3;17633:4;17625:6;17621:17;17616:3;17612:27;17660:98;17752:5;17660:98;:::i;:::-;17778:7;17806:1;17791:456;17816:6;17813:1;17810:13;17791:456;;;17878:9;17872:4;17868:20;17863:3;17856:33;17923:6;17917:13;17945:148;18088:4;18073:13;17945:148;:::i;:::-;17937:156;;18110:102;18205:6;18110:102;:::i;:::-;18235:4;18226:14;;;;;18100:112;-1:-1;;17838:1;17831:9;17791:456;;;-1:-1;18260:4;;17310:976;-1:-1;;;;;;;17310:976::o;18325:690::-;;18470:54;18518:5;18470:54;:::i;:::-;18537:86;18616:6;18611:3;18537:86;:::i;:::-;18530:93;;18644:56;18694:5;18644:56;:::i;:::-;18720:7;18748:1;18733:260;18758:6;18755:1;18752:13;18733:260;;;18825:6;18819:13;18846:63;18905:3;18890:13;18846:63;:::i;:::-;18839:70;;18926:60;18979:6;18926:60;:::i;:::-;18916:70;-1:-1;;18780:1;18773:9;18733:260;;19023:94;19090:21;19105:5;19090:21;:::i;19235:103::-;19308:24;19326:5;19308:24;:::i;19345:356::-;;19473:38;19505:5;19473:38;:::i;:::-;19523:88;19604:6;19599:3;19523:88;:::i;:::-;19516:95;;19616:52;19661:6;19656:3;19649:4;19642:5;19638:16;19616:52;:::i;:::-;19680:16;;;;;19453:248;-1:-1;;19453:248::o;19708:158::-;19802:58;19854:5;19802:58;:::i;19990:347::-;;20102:39;20135:5;20102:39;:::i;:::-;20153:71;20217:6;20212:3;20153:71;:::i;:::-;20146:78;;20229:52;20274:6;20269:3;20262:4;20255:5;20251:16;20229:52;:::i;:::-;20302:29;20324:6;20302:29;:::i;:::-;20293:39;;;;20082:255;-1:-1;;;20082:255::o;20345:375::-;;20505:67;20569:2;20564:3;20505:67;:::i;:::-;20605:34;20585:55;;-1:-1;;;20669:2;20660:12;;20653:30;20711:2;20702:12;;20491:229;-1:-1;;20491:229::o;20729:326::-;;20889:67;20953:2;20948:3;20889:67;:::i;:::-;20989:28;20969:49;;21046:2;21037:12;;20875:180;-1:-1;;20875:180::o;21064:375::-;;21224:67;21288:2;21283:3;21224:67;:::i;:::-;21324:34;21304:55;;-1:-1;;;21388:2;21379:12;;21372:30;21430:2;21421:12;;21210:229;-1:-1;;21210:229::o;21448:370::-;;21608:67;21672:2;21667:3;21608:67;:::i;:::-;21708:34;21688:55;;-1:-1;;;21772:2;21763:12;;21756:25;21809:2;21800:12;;21594:224;-1:-1;;21594:224::o;21827:329::-;;21987:67;22051:2;22046:3;21987:67;:::i;:::-;22087:31;22067:52;;22147:2;22138:12;;21973:183;-1:-1;;21973:183::o;22165:379::-;;22325:67;22389:2;22384:3;22325:67;:::i;:::-;22425:34;22405:55;;-1:-1;;;22489:2;22480:12;;22473:34;22535:2;22526:12;;22311:233;-1:-1;;22311:233::o;22553:391::-;;22713:67;22777:2;22772:3;22713:67;:::i;:::-;22813:34;22793:55;;-1:-1;;;22877:2;22868:12;;22861:46;22935:2;22926:12;;22699:245;-1:-1;;22699:245::o;23059:1493::-;23306:23;;23059:1493;;23234:4;23225:14;;;23335:84;23229:3;23306:23;23335:84;:::i;:::-;23254:171;23504:4;23497:5;23493:16;23487:23;23516:61;23571:4;23566:3;23562:14;23548:12;23516:61;:::i;:::-;23435:148;23671:4;23664:5;23660:16;23654:23;23683:63;23740:4;23735:3;23731:14;23717:12;23683:63;:::i;:::-;23593:159;23852:4;23845:5;23841:16;23835:23;23864:63;23921:4;23916:3;23912:14;23898:12;23864:63;:::i;:::-;23762:171;24027:4;24020:5;24016:16;24010:23;24039:57;24090:4;24085:3;24081:14;24067:12;24039:57;:::i;:::-;23943:159;24189:4;24182:5;24178:16;24172:23;24201:57;24252:4;24247:3;24243:14;24229:12;24201:57;:::i;:::-;24112:152;24339:4;24332:5;24328:16;24322:23;24391:3;24385:4;24381:14;24374:4;24369:3;24365:14;24358:38;24411:103;24509:4;24495:12;24411:103;:::i;:::-;24403:111;23207:1345;-1:-1;;;;;23207:1345::o;24559:100::-;24630:23;24647:5;24630:23;:::i;25013:110::-;25094:23;25111:5;25094:23;:::i;25130:271::-;;25283:93;25372:3;25363:6;25283:93;:::i;25408:222::-;25535:2;25520:18;;25549:71;25524:9;25593:6;25549:71;:::i;25637:333::-;25792:2;25777:18;;25806:71;25781:9;25850:6;25806:71;:::i;:::-;25888:72;25956:2;25945:9;25941:18;25932:6;25888:72;:::i;25977:649::-;26266:2;26251:18;;26280:71;26255:9;26324:6;26280:71;:::i;:::-;26399:9;26393:4;26389:20;26384:2;26373:9;26369:18;26362:48;26424:192;26611:4;26602:6;26424:192;:::i;26633:440::-;26814:2;26799:18;;26828:71;26803:9;26872:6;26828:71;:::i;:::-;26910:70;26976:2;26965:9;26961:18;26952:6;26910:70;:::i;:::-;26991:72;27059:2;27048:9;27044:18;27035:6;26991:72;:::i;27080:333::-;27235:2;27220:18;;27249:71;27224:9;27293:6;27249:71;:::i;:::-;27331:72;27399:2;27388:9;27384:18;27375:6;27331:72;:::i;27420:629::-;27675:2;27689:47;;;27660:18;;27750:108;27660:18;27844:6;27750:108;:::i;:::-;27742:116;;27906:9;27900:4;27896:20;27891:2;27880:9;27876:18;27869:48;27931:108;28034:4;28025:6;27931:108;:::i;28056:310::-;28203:2;28217:47;;;28188:18;;28278:78;28188:18;28342:6;28278:78;:::i;28373:416::-;28573:2;28587:47;;;28558:18;;28648:131;28558:18;28648:131;:::i;28796:416::-;28996:2;29010:47;;;28981:18;;29071:131;28981:18;29071:131;:::i;29219:416::-;29419:2;29433:47;;;29404:18;;29494:131;29404:18;29494:131;:::i;29642:416::-;29842:2;29856:47;;;29827:18;;29917:131;29827:18;29917:131;:::i;30065:416::-;30265:2;30279:47;;;30250:18;;30340:131;30250:18;30340:131;:::i;30488:416::-;30688:2;30702:47;;;30673:18;;30763:131;30673:18;30763:131;:::i;30911:416::-;31111:2;31125:47;;;31096:18;;31186:131;31096:18;31186:131;:::i;31334:218::-;31459:2;31444:18;;31473:69;31448:9;31515:6;31473:69;:::i;31559:648::-;31788:3;31773:19;;31803:69;31777:9;31845:6;31803:69;:::i;:::-;31883:72;31951:2;31940:9;31936:18;31927:6;31883:72;:::i;:::-;31966:70;32032:2;32021:9;32017:18;32008:6;31966:70;:::i;:::-;32047:72;32115:2;32104:9;32100:18;32091:6;32047:72;:::i;:::-;32130:67;32192:3;32181:9;32177:19;32168:6;32130:67;:::i;:::-;31759:448;;;;;;;;:::o;32214:424::-;32387:2;32372:18;;32401:69;32376:9;32443:6;32401:69;:::i;:::-;32481:70;32547:2;32536:9;32532:18;32523:6;32481:70;:::i;:::-;32562:66;32624:2;32613:9;32609:18;32600:6;32562:66;:::i;32645:222::-;32772:2;32757:18;;32786:71;32761:9;32830:6;32786:71;:::i;32874:256::-;32936:2;32930:9;32962:17;;;33037:18;33022:34;;33058:22;;;33019:62;33016:2;;;33094:1;33091;33084:12;33016:2;33110;33103:22;32914:216;;-1:-1;32914:216::o;33137:337::-;;33329:18;33321:6;33318:30;33315:2;;;33361:1;33358;33351:12;33315:2;-1:-1;33396:4;33384:17;;;33449:15;;33252:222::o;33825:321::-;;33968:18;33960:6;33957:30;33954:2;;;34000:1;33997;33990:12;33954:2;-1:-1;34131:4;34067;34044:17;;;;-1:-1;;34040:33;34121:15;;33891:255::o;34153:151::-;34277:4;34268:14;;34225:79::o;34827:137::-;34930:12;;34901:63::o;36205:178::-;36323:19;;;36372:4;36363:14;;36316:67::o;37309:91::-;;37371:24;37389:5;37371:24;:::i;37407:85::-;37473:13;37466:21;;37449:43::o;37499:144::-;-1:-1;;;;;;37560:78;;37543:100::o;37650:145::-;-1:-1;;37712:78;;37695:100::o;37802:72::-;37864:5;37847:27::o;37881:152::-;37966:5;37972:56;37966:5;37972:56;:::i;38118:84::-;38190:6;38179:18;;38162:40::o;38209:121::-;-1:-1;;;;;38271:54;;38254:76::o;38416:90::-;38488:12;38477:24;;38460:46::o;38513:81::-;38584:4;38573:16;;38556:38::o;38601:102::-;38673:24;38662:36;;38645:58::o;38710:152::-;;38810:47;38851:5;38810:47;:::i;38870:145::-;38951:6;38946:3;38941;38928:30;-1:-1;39007:1;38989:16;;38982:27;38921:94::o;39024:268::-;39089:1;39096:101;39110:6;39107:1;39104:13;39096:101;;;39177:11;;;39171:18;39158:11;;;39151:39;39132:2;39125:10;39096:101;;;39212:6;39209:1;39206:13;39203:2;;;-1:-1;;39277:1;39259:16;;39252:27;39073:219::o;39300:97::-;39388:2;39368:14;-1:-1;;39364:28;;39348:49::o;39405:114::-;39497:1;39490:5;39487:12;39477:2;;39503:9;39526:117;39595:24;39613:5;39595:24;:::i;:::-;39588:5;39585:35;39575:2;;39634:1;39631;39624:12;39650:111;39716:21;39731:5;39716:21;:::i;39768:115::-;39836:23;39853:5;39836:23;:::i;39890:117::-;39959:24;39977:5;39959:24;:::i;40014:117::-;40083:24;40101:5;40083:24;:::i;40138:117::-;40230:1;40223:5;40220:12;40210:2;;40246:1;40243;40236:12;40262:109;40346:1;40339:5;40336:12;40326:2;;40362:1;40359;40352:12;40500:115;40568:23;40585:5;40568:23;:::i;40746:115::-;40814:23;40831:5;40814:23;:::i;40868:113::-;40935:22;40951:5;40935:22;:::i;40988:115::-;41056:23;41073:5;41056:23;:::i", - "linkReferences": {}, - "immutableReferences": { - "28686": [ - { - "start": 354, - "length": 32 - }, - { - "start": 1058, - "length": 32 - }, - { - "start": 1435, - "length": 32 - }, - { - "start": 1873, - "length": 32 - }, - { - "start": 2675, - "length": 32 - }, - { - "start": 3013, - "length": 32 - }, - { - "start": 3160, - "length": 32 - }, - { - "start": 3220, - "length": 32 - }, - { - "start": 3535, - "length": 32 - }, - { - "start": 4055, - "length": 32 - }, - { - "start": 4606, - "length": 32 - }, - { - "start": 4947, - "length": 32 - }, - { - "start": 6033, - "length": 32 - }, - { - "start": 6213, - "length": 32 - }, - { - "start": 6360, - "length": 32 - }, - { - "start": 6420, - "length": 32 - } - ], - "28688": [ - { - "start": 2551, - "length": 32 - }, - { - "start": 2801, - "length": 32 - }, - { - "start": 2937, - "length": 32 - }, - { - "start": 3691, - "length": 32 - }, - { - "start": 3821, - "length": 32 - }, - { - "start": 3985, - "length": 32 - }, - { - "start": 4741, - "length": 32 - }, - { - "start": 4867, - "length": 32 - }, - { - "start": 5909, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "getDebtAssets()": "ecd658b4", - "getManagedAssets()": "80daddb8", - "init(bytes)": "4ddf47d4", - "receiveCallFromVault(bytes)": "e5c23a97" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_notionalV2Router\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_wethToken\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"getDebtAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"assets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getManagedAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"assets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"}],\"name\":\"receiveCallFromVault\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"getDebtAssets()\":{\"details\":\"Debt assets are composed by two type of balances: account portfolio and account assets Both concepts can be found here: https://docs.notional.finance/developer-documentation/how-to/lend-and-borrow-fcash\",\"returns\":{\"amounts_\":\"Debt asset amounts\",\"assets_\":\"Debt assets\"}},\"getManagedAssets()\":{\"details\":\"Managed assets are composed by two type of balances: account portfolio and account assets Both concepts can be found here: https://docs.notional.finance/developer-documentation/how-to/lend-and-borrow-fcash\",\"returns\":{\"amounts_\":\"Managed asset amounts\",\"assets_\":\"Managed assets\"}},\"init(bytes)\":{\"details\":\"Nothing to initialize for this contract\"},\"receiveCallFromVault(bytes)\":{\"params\":{\"_actionData\":\"Encoded data to execute the action\"}}},\"title\":\"NotionalV2PositionLib Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getDebtAssets()\":{\"notice\":\"Retrieves the debt assets (negative value) of the external position\"},\"getManagedAssets()\":{\"notice\":\"Retrieves the managed assets (positive value) of the external position\"},\"init(bytes)\":{\"notice\":\"Initializes the external position\"},\"receiveCallFromVault(bytes)\":{\"notice\":\"Receives and executes a call from the Vault\"}},\"notice\":\"An External Position library contract for Notional V2 Positions\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/notional-v2/NotionalV2PositionLib.sol\":\"NotionalV2PositionLib\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/release/extensions/external-position-manager/external-positions/notional-v2/INotionalV2Position.sol\":{\"keccak256\":\"0x95410ae6c17757a4fcc0d41f57589e9ed96ed15ecbe75e390c3cf69d1a57232e\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://52a923ab694dfa125a3daa54bbbb3de07268e9c4714c25111757f622ea295810\",\"dweb:/ipfs/QmQGQpRBXYXdTgk96xDrNg4C7RVLNxoCo9MHaityKGgYps\"]},\"contracts/release/extensions/external-position-manager/external-positions/notional-v2/NotionalV2PositionDataDecoder.sol\":{\"keccak256\":\"0x89b1b1233048f9be2c3152b30a95f9f719ff5a74d4930e2a960bdb9d3bff71d2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://7e13d4bedc4bf821541922ae7e1ec9ec3bb81f701bb06d42de262addc27522c6\",\"dweb:/ipfs/QmanckuLpD6Q94QnHbM8EhyvpGBNUHyF2WRhezYta4UQ6R\"]},\"contracts/release/extensions/external-position-manager/external-positions/notional-v2/NotionalV2PositionLib.sol\":{\"keccak256\":\"0x9fc3d529c063686209001044e43c7eb0a0fcca53b4c8f43fbeac20758baec052\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ea37db1f4b471ab94a558e75dda780e7a7ac186e2e2b6c2c5f42b6c391fd5352\",\"dweb:/ipfs/QmSa9DNcE9KfEMJeCm8FV68uEFZ2aw5yC7CQuG1fdS7QDH\"]},\"contracts/release/interfaces/INotionalV2Router.sol\":{\"keccak256\":\"0x049f3eac5a5cf7f182f7fc8274e2c18343be226a861117fbfd5d9502b88c83c9\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bdc2a04e7ac5671c0fc51b9625af0aec1639ce6d70ea0f991d3c51a278a8ed33\",\"dweb:/ipfs/QmRtdF7yfkjgwBgFcXeoG3MiGTLjU726pZwr7yaeimvwtt\"]},\"contracts/release/interfaces/IWETH.sol\":{\"keccak256\":\"0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2\",\"dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_notionalV2Router", - "type": "address" - }, - { - "internalType": "address", - "name": "_wethToken", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "getDebtAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "assets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "amounts_", - "type": "uint256[]" - } - ] - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "getManagedAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "assets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "amounts_", - "type": "uint256[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "init" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "receiveCallFromVault" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "getDebtAssets()": { - "details": "Debt assets are composed by two type of balances: account portfolio and account assets Both concepts can be found here: https://docs.notional.finance/developer-documentation/how-to/lend-and-borrow-fcash", - "returns": { - "amounts_": "Debt asset amounts", - "assets_": "Debt assets" - } - }, - "getManagedAssets()": { - "details": "Managed assets are composed by two type of balances: account portfolio and account assets Both concepts can be found here: https://docs.notional.finance/developer-documentation/how-to/lend-and-borrow-fcash", - "returns": { - "amounts_": "Managed asset amounts", - "assets_": "Managed assets" - } - }, - "init(bytes)": { - "details": "Nothing to initialize for this contract" - }, - "receiveCallFromVault(bytes)": { - "params": { - "_actionData": "Encoded data to execute the action" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "getDebtAssets()": { - "notice": "Retrieves the debt assets (negative value) of the external position" - }, - "getManagedAssets()": { - "notice": "Retrieves the managed assets (positive value) of the external position" - }, - "init(bytes)": { - "notice": "Initializes the external position" - }, - "receiveCallFromVault(bytes)": { - "notice": "Receives and executes a call from the Vault" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/external-position-manager/external-positions/notional-v2/NotionalV2PositionLib.sol": "NotionalV2PositionLib" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/external-positions/IExternalPosition.sol": { - "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", - "urls": [ - "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", - "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/notional-v2/INotionalV2Position.sol": { - "keccak256": "0x95410ae6c17757a4fcc0d41f57589e9ed96ed15ecbe75e390c3cf69d1a57232e", - "urls": [ - "bzz-raw://52a923ab694dfa125a3daa54bbbb3de07268e9c4714c25111757f622ea295810", - "dweb:/ipfs/QmQGQpRBXYXdTgk96xDrNg4C7RVLNxoCo9MHaityKGgYps" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/notional-v2/NotionalV2PositionDataDecoder.sol": { - "keccak256": "0x89b1b1233048f9be2c3152b30a95f9f719ff5a74d4930e2a960bdb9d3bff71d2", - "urls": [ - "bzz-raw://7e13d4bedc4bf821541922ae7e1ec9ec3bb81f701bb06d42de262addc27522c6", - "dweb:/ipfs/QmanckuLpD6Q94QnHbM8EhyvpGBNUHyF2WRhezYta4UQ6R" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/notional-v2/NotionalV2PositionLib.sol": { - "keccak256": "0x9fc3d529c063686209001044e43c7eb0a0fcca53b4c8f43fbeac20758baec052", - "urls": [ - "bzz-raw://ea37db1f4b471ab94a558e75dda780e7a7ac186e2e2b6c2c5f42b6c391fd5352", - "dweb:/ipfs/QmSa9DNcE9KfEMJeCm8FV68uEFZ2aw5yC7CQuG1fdS7QDH" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/INotionalV2Router.sol": { - "keccak256": "0x049f3eac5a5cf7f182f7fc8274e2c18343be226a861117fbfd5d9502b88c83c9", - "urls": [ - "bzz-raw://bdc2a04e7ac5671c0fc51b9625af0aec1639ce6d70ea0f991d3c51a278a8ed33", - "dweb:/ipfs/QmRtdF7yfkjgwBgFcXeoG3MiGTLjU726pZwr7yaeimvwtt" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IWETH.sol": { - "keccak256": "0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2", - "urls": [ - "bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2", - "dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AssetHelpers.sol": { - "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", - "urls": [ - "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", - "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { - "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", - "urls": [ - "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", - "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Address.sol": { - "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", - "urls": [ - "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", - "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 120 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_notionalV2Router", "type": "address", "internalType": "address" }, { "name": "_wethToken", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "getDebtAssets", "inputs": [], "outputs": [ { "name": "assets_", "type": "address[]", "internalType": "address[]" }, { "name": "amounts_", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "getManagedAssets", "inputs": [], "outputs": [ { "name": "assets_", "type": "address[]", "internalType": "address[]" }, { "name": "amounts_", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "init", "inputs": [ { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "receiveCallFromVault", "inputs": [ { "name": "_actionData", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x60c06040523480156200001157600080fd5b5060405162002e4238038062002e42833981016040819052620000349162000066565b6001600160601b0319606092831b8116608052911b1660a052620000d1565b80516200006081620000b7565b92915050565b600080604083850312156200007a57600080fd5b600062000088858562000053565b92505060206200009b8582860162000053565b9150509250929050565b60006001600160a01b03821662000060565b620000c281620000a5565b8114620000ce57600080fd5b50565b60805160601c60a05160601c612cd46200016e600039806109f75280610af15280610b795280610e6b5280610eed5280610f915280611285528061130352806117155250806101625280610422528061059b52806107515280610a735280610bc55280610c585280610c945280610dcf5280610fd752806111fe52806113535280611791528061184552806118d852806119145250612cd46000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80634ddf47d41461005157806380daddb814610066578063e5c23a9714610085578063ecd658b414610098575b600080fd5b61006461005f366004612214565b6100a0565b005b61006e6100a3565b60405161007c9291906129d0565b60405180910390f35b610064610093366004612214565b6100b8565b61006e610144565b50565b6060806100b0600161015a565b915091509091565b60006060828060200190518101906100d09190612423565b9092509050816100e8576100e3816108da565b61013f565b60018214156100fa576100e3816108f4565b600282141561010c576100e381610da8565b600382141561011e576100e3816110fc565b60405162461bcd60e51b815260040161013690612a26565b60405180910390fd5b505050565b606080610151600061015a565b90925090509091565b6060806060807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663fbcbc0f1306040518263ffffffff1660e01b81526004016101ac9190612944565b60006040518083038186803b1580156101c457600080fd5b505afa1580156101d8573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526102009190810190612267565b92509250506000805b825181101561026557600083828151811061022057fe5b602002602001015160600151905087156102475760008113610242575061025d565b610255565b60008112610255575061025d565b506001909101905b600101610209565b5060005b83518110156102fd5783818151811061027e57fe5b60200260200101516000015161ffff166000141561029b576102fd565b86156102ca5760008482815181106102af57fe5b602002602001015160200151136102c5576102f5565b6102ee565b60008482815181106102d857fe5b602002602001015160200151126102ee576102f5565b6001909101905b600101610269565b508067ffffffffffffffff8111801561031557600080fd5b5060405190808252806020026020018201604052801561033f578160200160208202803683370190505b5094508067ffffffffffffffff8111801561035957600080fd5b50604051908082528060200260200182016040528015610383578160200160208202803683370190505b5093506000805b83518110156106bd578780156103b7575060008482815181106103a957fe5b602002602001015160600151135b806103e25750871580156103e2575060008482815181106103d457fe5b602002602001015160600151125b156106b55760008482815181106103f557fe5b602002602001015160000151905061040b611d8c565b60405163275d68c760e11b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690634ebad18e90610457908590600401612a76565b6101406040518083038186803b15801561047057600080fd5b505afa158015610484573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104a891906122e4565b91505080600001518985815181106104bc57fe5b60200260200101906001600160a01b031690816001600160a01b03168152505060008082600001516001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561051c57600080fd5b505afa158015610530573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610554919061246b565b60ff16600a0a905087858151811061056857fe5b60200260200101516020015142106105995787858151811061058657fe5b602002602001015160600151915061066f565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c52c43e1858a88815181106105d557fe5b6020026020010151602001518b89815181106105ed57fe5b6020026020010151606001514260006040518663ffffffff1660e01b815260040161061c959493929190612a84565b60206040518083038186803b15801561063457600080fd5b505afa158015610648573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061066c9190612249565b91505b8b61067b578160000391505b6106936305f5e10061068d8484611419565b9061145c565b8a878151811061069f57fe5b6020908102919091010152505060019093019250505b60010161038a565b5060005b84518110156108b6578481815181106106d657fe5b60200260200101516000015161ffff16600014156106f3576108b6565b8780156107175750600085828151811061070957fe5b602002602001015160200151135b806107425750871580156107425750600085828151811061073457fe5b602002602001015160200151125b156108ae5761074f611d8c565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316634ebad18e87848151811061078a57fe5b6020026020010151600001516040518263ffffffff1660e01b81526004016107b29190612a76565b6101406040518083038186803b1580156107cb57600080fd5b505afa1580156107df573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061080391906122e4565b509050806000015188848151811061081757fe5b60200260200101906001600160a01b031690816001600160a01b03168152505088156108725785828151811061084957fe5b60200260200101516020015187848151811061086157fe5b6020026020010181815250506108a6565b85828151811061087e57fe5b60200260200101516020015160000387848151811061089957fe5b6020026020010181815250505b506001909101905b6001016106c1565b506001865111156108d1576108cb868661148e565b90965094505b50505050915091565b6000806108e6836116d1565b9150915061013f82826116f1565b6000806000610902846119a3565b60408051600180825281830190925293965091945092506060919060208083019080368337019050509050818160008151811061093b57fe5b6020908102919091010152604080516001808252818301909252606091816020015b610965611dbb565b81526020019060019003908161095d579050506040805160e0810190915290915080600281526020018661ffff1681526020018581526020016000815260200160011515815260200160011515815260200183815250816000815181106109c857fe5b602090810291909101015261ffff851660011415610ba657604051632e1a7d4d60e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690632e1a7d4d90610a2c908790600401612af8565b600060405180830381600087803b158015610a4657600080fd5b505af1158015610a5a573d6000803e3d6000fd5b5050604051630276b64b60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169250630276b64b91508690610aae903090869060040161296d565b6000604051808303818588803b158015610ac757600080fd5b505af1158015610adb573d6000803e3d6000fd5b50505050506000306001600160a01b03163190507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b158015610b4a57600080fd5b505af1158015610b5e573d6000803e3d6000fd5b50505050506000811115610ba057610ba06001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633836119c9565b50610da0565b610bae611d8c565b60405163275d68c760e11b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690634ebad18e90610bfa908990600401612a76565b6101406040518083038186803b158015610c1357600080fd5b505afa158015610c27573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c4b91906122e4565b915050610c7d81600001517f000000000000000000000000000000000000000000000000000000000000000087611a1f565b604051630276b64b60e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690630276b64b90610ccb903090869060040161296d565b600060405180830381600087803b158015610ce557600080fd5b505af1158015610cf9573d6000803e3d6000fd5b505082516040516370a0823160e01b8152600093506001600160a01b0390911691506370a0823190610d2f903090600401612944565b60206040518083038186803b158015610d4757600080fd5b505afa158015610d5b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d7f9190612249565b90508015610d9d578151610d9d906001600160a01b031633836119c9565b50505b505050505050565b600080610db483611adb565b604051625e665d60e31b815291935091506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906302f332e890610e099085908590600190600401612ad0565b602060405180830381600087803b158015610e2357600080fd5b505af1158015610e37573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e5b9190612249565b5061ffff821660011415610fb8577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0306001600160a01b0316316040518263ffffffff1660e01b81526004016000604051808303818588803b158015610ece57600080fd5b505af1158015610ee2573d6000803e3d6000fd5b50505050506100e3337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166370a08231306040518263ffffffff1660e01b8152600401610f379190612944565b60206040518083038186803b158015610f4f57600080fd5b505afa158015610f63573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f879190612249565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691906119c9565b610fc0611d8c565b60405163275d68c760e11b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690634ebad18e9061100c908690600401612a76565b6101406040518083038186803b15801561102557600080fd5b505afa158015611039573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061105d91906122e4565b9150506110f63382600001516001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016110949190612944565b60206040518083038186803b1580156110ac57600080fd5b505afa1580156110c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110e49190612249565b83516001600160a01b031691906119c9565b50505050565b60008060008061110b85611af2565b935093509350935060008111156111265761112682826116f1565b60408051600180825281830190925260609160208083019080368337019050509050838160008151811061115657fe5b6020908102919091010152604080516001808252818301909252606091816020015b611180611dbb565b8152602001906001900390816111785750506040805160e081018252600080825261ffff8a1660208301529181018290526060810182905260016080820181905260a082015260c081018590528251929350918391906111dc57fe5b6020908102919091010152604051630276b64b60e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690630276b64b90611235903090859060040161296d565b600060405180830381600087803b15801561124f57600080fd5b505af1158015611263573d6000803e3d6000fd5b5050505061ffff861660011415611334576000306001600160a01b03163190507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b1580156112de57600080fd5b505af11580156112f2573d6000803e3d6000fd5b5061132e9350506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169150339050836119c9565b50611410565b61133c611d8c565b60405163275d68c760e11b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690634ebad18e90611388908a90600401612a76565b6101406040518083038186803b1580156113a157600080fd5b505afa1580156113b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113d991906122e4565b915050610d9d3382600001516001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016110949190612944565b50505050505050565b60008261142857506000611456565b8282028284828161143557fe5b04146114535760405162461bcd60e51b815260040161013690612a36565b90505b92915050565b600080821161147d5760405162461bcd60e51b815260040161013690612a16565b81838161148657fe5b049392505050565b6060808351600014156114a0576116ca565b6001805b8551811015611520576000805b8281101561150a578781815181106114c557fe5b60200260200101516001600160a01b03168884815181106114e257fe5b60200260200101516001600160a01b03161415611502576001915061150a565b6001016114b1565b5080611517576001909201915b506001016114a4565b508067ffffffffffffffff8111801561153857600080fd5b50604051908082528060200260200182016040528015611562578160200160208202803683370190505b5092508067ffffffffffffffff8111801561157c57600080fd5b506040519080825280602002602001820160405280156115a6578160200160208202803683370190505b5091506000805b86518110156116c6576000805b83811015611645578681815181106115ce57fe5b60200260200101516001600160a01b03168984815181106115eb57fe5b60200260200101516001600160a01b0316141561163d576001915087838151811061161257fe5b602002602001015186828151811061162657fe5b602002602001018181510191508181525050611645565b6001016115ba565b50806116bd5787828151811061165757fe5b602002602001015186848151811061166b57fe5b60200260200101906001600160a01b031690816001600160a01b03168152505086828151811061169757fe5b60200260200101518584815181106116ab57fe5b60209081029190910101526001909201915b506001016115ad565b5050505b9250929050565b600080828060200190518101906116e89190612380565b91509150915091565b61ffff82166001141561182657604051632e1a7d4d60e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690632e1a7d4d9061174a908490600401612af8565b600060405180830381600087803b15801561176457600080fd5b505af1158015611778573d6000803e3d6000fd5b5050604051632890fb6560e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169250632890fb65915083906117ce9030908790849060040161298d565b6020604051808303818588803b1580156117e757600080fd5b505af11580156117fb573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906118209190612249565b5061199f565b61182e611d8c565b60405163275d68c760e11b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690634ebad18e9061187a908690600401612a76565b6101406040518083038186803b15801561189357600080fd5b505afa1580156118a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118cb91906122e4565b9150506118fd81600001517f000000000000000000000000000000000000000000000000000000000000000084611a1f565b604051632890fb6560e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690632890fb659061194d9030908790879060040161298d565b602060405180830381600087803b15801561196757600080fd5b505af115801561197b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110f69190612249565b5050565b6000806000838060200190518101906119bc91906123b0565b9250925092509193909250565b61013f8363a9059cbb60e01b84846040516024016119e89291906129b5565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152611b1b565b604051636eb1769f60e11b81526000906001600160a01b0385169063dd62ed3e90611a509030908790600401612952565b60206040518083038186803b158015611a6857600080fd5b505afa158015611a7c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611aa09190612249565b9050818110156110f6578015611ac557611ac56001600160a01b038516846000611baa565b6110f66001600160a01b03851684600019611baa565b600080828060200190518101906116e891906123f3565b60008060008084806020019051810190611b0c919061231f565b93509350935093509193509193565b6060611b70826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316611c6d9092919063ffffffff16565b80519091501561013f5780806020019051810190611b8e91906121f6565b61013f5760405162461bcd60e51b815260040161013690612a56565b801580611c325750604051636eb1769f60e11b81526001600160a01b0384169063dd62ed3e90611be09030908690600401612952565b60206040518083038186803b158015611bf857600080fd5b505afa158015611c0c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c309190612249565b155b611c4e5760405162461bcd60e51b815260040161013690612a66565b61013f8363095ea7b360e01b84846040516024016119e89291906129b5565b6060611c7c8484600085611c86565b90505b9392505050565b606082471015611ca85760405162461bcd60e51b815260040161013690612a06565b611cb185611d49565b611ccd5760405162461bcd60e51b815260040161013690612a46565b60006060866001600160a01b03168587604051611cea9190612938565b60006040518083038185875af1925050503d8060008114611d27576040519150601f19603f3d011682016040523d82523d6000602084013e611d2c565b606091505b5091509150611d3c828286611d53565b925050505b949350505050565b803b15155b919050565b60608315611d62575081611c7f565b825115611d725782518084602001fd5b8160405162461bcd60e51b815260040161013691906129f5565b6040805160a0810182526000808252602082018190529181018290529060608201908152602001600081525090565b6040805160e081019091528060008152602001600061ffff1681526020016000815260200160008152602001600015158152602001600015158152602001606081525090565b805161145681612c51565b600082601f830112611e1d57600080fd5b8151611e30611e2b82612b2d565b612b06565b915081818352602084019350602081019050838560a0840282011115611e5557600080fd5b60005b83811015611e835781611e6b8882611fd6565b84525060209092019160a09190910190600101611e58565b5050505092915050565b600082601f830112611e9e57600080fd5b8151611eac611e2b82612b2d565b915081818352602084019350602081019050838560c0840282011115611ed157600080fd5b60005b83811015611e835781611ee788826120d0565b84525060209092019160c09190910190600101611ed4565b805161145681612c65565b805161145681612c77565b805161145681612c6e565b805161145681612c80565b600082601f830112611f3c57600080fd5b8135611f4a611e2b82612b4e565b91508082526020830160208301858383011115611f6657600080fd5b611f71838284612c05565b50505092915050565b600082601f830112611f8b57600080fd5b8151611f99611e2b82612b4e565b91508082526020830160208301858383011115611fb557600080fd5b611f71838284612c11565b805161145681612c89565b805161145681612c96565b600060a08284031215611fe857600080fd5b611ff260a0612b06565b9050600061200084846121ca565b825250602061201184848301611f20565b602083015250604061202584828501611f20565b604083015250606061203984828501611f20565b606083015250608061204d84828501611f20565b60808301525092915050565b600060a0828403121561206b57600080fd5b61207560a0612b06565b9050600061208384846121d5565b825250602061209484848301611f15565b60208301525060406120a8848285016121eb565b60408301525060606120bc848285016121ca565b606083015250608061204d84828501611f0a565b600060c082840312156120e257600080fd5b6120ec60c0612b06565b905060006120fa8484611f20565b825250602061210b84848301611f20565b602083015250604061211f84828501611f20565b604083015250606061213384828501611f20565b606083015250608061214784828501611f20565b60808301525060a061215b84828501611fc0565b60a08301525092915050565b600060a0828403121561217957600080fd5b61218360a0612b06565b905060006121918484611e01565b82525060206121a284848301611eff565b60208301525060406121b684828501611f20565b604083015250606061203984828501611fcb565b805161145681612ca3565b805161145681612cac565b805161145681612cbe565b805161145681612cb5565b60006020828403121561220857600080fd5b6000611d418484611eff565b60006020828403121561222657600080fd5b813567ffffffffffffffff81111561223d57600080fd5b611d4184828501611f2b565b60006020828403121561225b57600080fd5b6000611d418484611f20565b600080600060e0848603121561227c57600080fd5b60006122888686612059565b93505060a084015167ffffffffffffffff8111156122a557600080fd5b6122b186828701611e0c565b92505060c084015167ffffffffffffffff8111156122ce57600080fd5b6122da86828701611e8d565b9150509250925092565b60008061014083850312156122f857600080fd5b60006123048585612167565b92505060a061231585828601612167565b9150509250929050565b6000806000806080858703121561233557600080fd5b600061234187876121ca565b945050602061235287828801611f20565b9350506040612363878288016121ca565b925050606061237487828801611f20565b91505092959194509250565b6000806040838503121561239357600080fd5b600061239f85856121ca565b925050602061231585828601611f20565b6000806000606084860312156123c557600080fd5b60006123d186866121ca565b93505060206123e286828701611f20565b92505060406122da86828701611f20565b6000806040838503121561240657600080fd5b600061241285856121ca565b9250506020612315858286016121e0565b6000806040838503121561243657600080fd5b60006124428585611f20565b925050602083015167ffffffffffffffff81111561245f57600080fd5b61231585828601611f7a565b60006020828403121561247d57600080fd5b6000611d4184846121eb565b600061249583836124b5565b505060200190565b60006124958383612630565b6000611c7f8383612892565b6124be81612b89565b82525050565b60006124cf82612b7c565b6124d98185612b80565b93506124e483612b76565b8060005b838110156125125781516124fc8882612489565b975061250783612b76565b9250506001016124e8565b509495945050505050565b600061252882612b7c565b6125328185612b80565b935061253d83612b76565b8060005b83811015612512578151612555888261249d565b975061256083612b76565b925050600101612541565b600061257682612b7c565b6125808185612b80565b93508360208202850161259285612b76565b8060005b858110156125cc57848403895281516125af85826124a9565b94506125ba83612b76565b60209a909a0199925050600101612596565b5091979650505050505050565b60006125e482612b7c565b6125ee8185612b80565b93506125f983612b76565b8060005b83811015612512578151612611888261249d565b975061261c83612b76565b9250506001016125fd565b6124be81612b94565b6124be81612bba565b600061264482612b7c565b61264e8185611d4e565b935061265e818560208601612c11565b9290920192915050565b6124be81612bfa565b600061267c82612b7c565b6126868185612b80565b9350612696818560208601612c11565b61269f81612c3d565b9093019392505050565b60006126b6602683612b80565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f8152651c8818d85b1b60d21b602082015260400192915050565b60006126fe601a83612b80565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b6000612737602683612b80565b7f7265636569766543616c6c46726f6d5661756c743a20496e76616c69642061638152651d1a5bdb925960d21b602082015260400192915050565b600061277f602183612b80565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b60006127c2601d83612b80565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000815260200192915050565b60006127fb602a83612b80565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e8152691bdd081cdd58d8d9595960b21b602082015260400192915050565b6000612847603683612b80565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f81527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b602082015260400192915050565b805160009060e08401906128a68582612668565b5060208301516128b96020860182612926565b5060408301516128cc6040860182612630565b5060608301516128df6060860182612630565b5060808301516128f26080860182612627565b5060a083015161290560a0860182612627565b5060c083015184820360c086015261291d828261251d565b95945050505050565b6124be81612bc7565b6124be81612bea565b6000611c7f8284612639565b6020810161145682846124b5565b6040810161296082856124b5565b611c7f60208301846124b5565b6040810161297b82856124b5565b8181036020830152611c7c818461256b565b6060810161299b82866124b5565b6129a86020830185612926565b611d416040830184612630565b604081016129c382856124b5565b611c7f6020830184612630565b604080825281016129e181856124c4565b90508181036020830152611c7c81846125d9565b60208082528101611c7f8184612671565b60208082528101611456816126a9565b60208082528101611456816126f1565b602080825281016114568161272a565b6020808252810161145681612772565b60208082528101611456816127b5565b60208082528101611456816127ee565b602080825281016114568161283a565b602081016114568284612926565b60a08101612a928288612926565b612a9f6020830187612630565b612aac6040830186612630565b612ab96060830185612630565b612ac66080830184612627565b9695505050505050565b60608101612ade8286612926565b612aeb602083018561292f565b611d416040830184612627565b602081016114568284612630565b60405181810167ffffffffffffffff81118282101715612b2557600080fd5b604052919050565b600067ffffffffffffffff821115612b4457600080fd5b5060209081020190565b600067ffffffffffffffff821115612b6557600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b600061145682612bce565b151590565b6001600160f81b03191690565b6dffffffffffffffffffffffffffff191690565b90565b80611d4e81612c47565b61ffff1690565b6001600160a01b031690565b64ffffffffff1690565b60ff1690565b6affffffffffffffffffffff1690565b600061145682612bbd565b82818337506000910152565b60005b83811015612c2c578181015183820152602001612c14565b838111156110f65750506000910152565b601f01601f191690565b600781106100a057fe5b612c5a81612b89565b81146100a057600080fd5b612c5a81612b94565b612c5a81612b99565b612c5a81612ba6565b612c5a81612bba565b600481106100a057600080fd5b600681106100a057600080fd5b612c5a81612bc7565b612c5a81612bda565b612c5a81612be4565b612c5a81612bea56fea164736f6c634300060c000a", "sourceMap": "877:14640:120:-:0;;;1280:182;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;1356:66:120;;;;;;;;1432:23;;;;;877:14640;;5:134:-1;83:13;;101:33;83:13;101:33;:::i;:::-;68:71;;;;:::o;146:399::-;;;278:2;266:9;257:7;253:23;249:32;246:2;;;294:1;291;284:12;246:2;329:1;346:64;402:7;382:9;346:64;:::i;:::-;336:74;;308:108;447:2;465:64;521:7;512:6;501:9;497:22;465:64;:::i;:::-;455:74;;426:109;240:305;;;;;:::o;552:91::-;;-1:-1;;;;;712:54;;614:24;695:76::o;778:117::-;847:24;865:5;847:24;:::i;:::-;840:5;837:35;827:2;;886:1;883;876:12;827:2;821:74;:::o;:::-;877:14640:120;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b506004361061004c5760003560e01c80634ddf47d41461005157806380daddb814610066578063e5c23a9714610085578063ecd658b414610098575b600080fd5b61006461005f366004612214565b6100a0565b005b61006e6100a3565b60405161007c9291906129d0565b60405180910390f35b610064610093366004612214565b6100b8565b61006e610144565b50565b6060806100b0600161015a565b915091509091565b60006060828060200190518101906100d09190612423565b9092509050816100e8576100e3816108da565b61013f565b60018214156100fa576100e3816108f4565b600282141561010c576100e381610da8565b600382141561011e576100e3816110fc565b60405162461bcd60e51b815260040161013690612a26565b60405180910390fd5b505050565b606080610151600061015a565b90925090509091565b6060806060807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663fbcbc0f1306040518263ffffffff1660e01b81526004016101ac9190612944565b60006040518083038186803b1580156101c457600080fd5b505afa1580156101d8573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526102009190810190612267565b92509250506000805b825181101561026557600083828151811061022057fe5b602002602001015160600151905087156102475760008113610242575061025d565b610255565b60008112610255575061025d565b506001909101905b600101610209565b5060005b83518110156102fd5783818151811061027e57fe5b60200260200101516000015161ffff166000141561029b576102fd565b86156102ca5760008482815181106102af57fe5b602002602001015160200151136102c5576102f5565b6102ee565b60008482815181106102d857fe5b602002602001015160200151126102ee576102f5565b6001909101905b600101610269565b508067ffffffffffffffff8111801561031557600080fd5b5060405190808252806020026020018201604052801561033f578160200160208202803683370190505b5094508067ffffffffffffffff8111801561035957600080fd5b50604051908082528060200260200182016040528015610383578160200160208202803683370190505b5093506000805b83518110156106bd578780156103b7575060008482815181106103a957fe5b602002602001015160600151135b806103e25750871580156103e2575060008482815181106103d457fe5b602002602001015160600151125b156106b55760008482815181106103f557fe5b602002602001015160000151905061040b611d8c565b60405163275d68c760e11b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690634ebad18e90610457908590600401612a76565b6101406040518083038186803b15801561047057600080fd5b505afa158015610484573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104a891906122e4565b91505080600001518985815181106104bc57fe5b60200260200101906001600160a01b031690816001600160a01b03168152505060008082600001516001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561051c57600080fd5b505afa158015610530573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610554919061246b565b60ff16600a0a905087858151811061056857fe5b60200260200101516020015142106105995787858151811061058657fe5b602002602001015160600151915061066f565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c52c43e1858a88815181106105d557fe5b6020026020010151602001518b89815181106105ed57fe5b6020026020010151606001514260006040518663ffffffff1660e01b815260040161061c959493929190612a84565b60206040518083038186803b15801561063457600080fd5b505afa158015610648573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061066c9190612249565b91505b8b61067b578160000391505b6106936305f5e10061068d8484611419565b9061145c565b8a878151811061069f57fe5b6020908102919091010152505060019093019250505b60010161038a565b5060005b84518110156108b6578481815181106106d657fe5b60200260200101516000015161ffff16600014156106f3576108b6565b8780156107175750600085828151811061070957fe5b602002602001015160200151135b806107425750871580156107425750600085828151811061073457fe5b602002602001015160200151125b156108ae5761074f611d8c565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316634ebad18e87848151811061078a57fe5b6020026020010151600001516040518263ffffffff1660e01b81526004016107b29190612a76565b6101406040518083038186803b1580156107cb57600080fd5b505afa1580156107df573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061080391906122e4565b509050806000015188848151811061081757fe5b60200260200101906001600160a01b031690816001600160a01b03168152505088156108725785828151811061084957fe5b60200260200101516020015187848151811061086157fe5b6020026020010181815250506108a6565b85828151811061087e57fe5b60200260200101516020015160000387848151811061089957fe5b6020026020010181815250505b506001909101905b6001016106c1565b506001865111156108d1576108cb868661148e565b90965094505b50505050915091565b6000806108e6836116d1565b9150915061013f82826116f1565b6000806000610902846119a3565b60408051600180825281830190925293965091945092506060919060208083019080368337019050509050818160008151811061093b57fe5b6020908102919091010152604080516001808252818301909252606091816020015b610965611dbb565b81526020019060019003908161095d579050506040805160e0810190915290915080600281526020018661ffff1681526020018581526020016000815260200160011515815260200160011515815260200183815250816000815181106109c857fe5b602090810291909101015261ffff851660011415610ba657604051632e1a7d4d60e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690632e1a7d4d90610a2c908790600401612af8565b600060405180830381600087803b158015610a4657600080fd5b505af1158015610a5a573d6000803e3d6000fd5b5050604051630276b64b60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169250630276b64b91508690610aae903090869060040161296d565b6000604051808303818588803b158015610ac757600080fd5b505af1158015610adb573d6000803e3d6000fd5b50505050506000306001600160a01b03163190507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b158015610b4a57600080fd5b505af1158015610b5e573d6000803e3d6000fd5b50505050506000811115610ba057610ba06001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001633836119c9565b50610da0565b610bae611d8c565b60405163275d68c760e11b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690634ebad18e90610bfa908990600401612a76565b6101406040518083038186803b158015610c1357600080fd5b505afa158015610c27573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c4b91906122e4565b915050610c7d81600001517f000000000000000000000000000000000000000000000000000000000000000087611a1f565b604051630276b64b60e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690630276b64b90610ccb903090869060040161296d565b600060405180830381600087803b158015610ce557600080fd5b505af1158015610cf9573d6000803e3d6000fd5b505082516040516370a0823160e01b8152600093506001600160a01b0390911691506370a0823190610d2f903090600401612944565b60206040518083038186803b158015610d4757600080fd5b505afa158015610d5b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d7f9190612249565b90508015610d9d578151610d9d906001600160a01b031633836119c9565b50505b505050505050565b600080610db483611adb565b604051625e665d60e31b815291935091506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906302f332e890610e099085908590600190600401612ad0565b602060405180830381600087803b158015610e2357600080fd5b505af1158015610e37573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e5b9190612249565b5061ffff821660011415610fb8577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0306001600160a01b0316316040518263ffffffff1660e01b81526004016000604051808303818588803b158015610ece57600080fd5b505af1158015610ee2573d6000803e3d6000fd5b50505050506100e3337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166370a08231306040518263ffffffff1660e01b8152600401610f379190612944565b60206040518083038186803b158015610f4f57600080fd5b505afa158015610f63573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f879190612249565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691906119c9565b610fc0611d8c565b60405163275d68c760e11b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690634ebad18e9061100c908690600401612a76565b6101406040518083038186803b15801561102557600080fd5b505afa158015611039573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061105d91906122e4565b9150506110f63382600001516001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016110949190612944565b60206040518083038186803b1580156110ac57600080fd5b505afa1580156110c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110e49190612249565b83516001600160a01b031691906119c9565b50505050565b60008060008061110b85611af2565b935093509350935060008111156111265761112682826116f1565b60408051600180825281830190925260609160208083019080368337019050509050838160008151811061115657fe5b6020908102919091010152604080516001808252818301909252606091816020015b611180611dbb565b8152602001906001900390816111785750506040805160e081018252600080825261ffff8a1660208301529181018290526060810182905260016080820181905260a082015260c081018590528251929350918391906111dc57fe5b6020908102919091010152604051630276b64b60e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690630276b64b90611235903090859060040161296d565b600060405180830381600087803b15801561124f57600080fd5b505af1158015611263573d6000803e3d6000fd5b5050505061ffff861660011415611334576000306001600160a01b03163190507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b1580156112de57600080fd5b505af11580156112f2573d6000803e3d6000fd5b5061132e9350506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169150339050836119c9565b50611410565b61133c611d8c565b60405163275d68c760e11b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690634ebad18e90611388908a90600401612a76565b6101406040518083038186803b1580156113a157600080fd5b505afa1580156113b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113d991906122e4565b915050610d9d3382600001516001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016110949190612944565b50505050505050565b60008261142857506000611456565b8282028284828161143557fe5b04146114535760405162461bcd60e51b815260040161013690612a36565b90505b92915050565b600080821161147d5760405162461bcd60e51b815260040161013690612a16565b81838161148657fe5b049392505050565b6060808351600014156114a0576116ca565b6001805b8551811015611520576000805b8281101561150a578781815181106114c557fe5b60200260200101516001600160a01b03168884815181106114e257fe5b60200260200101516001600160a01b03161415611502576001915061150a565b6001016114b1565b5080611517576001909201915b506001016114a4565b508067ffffffffffffffff8111801561153857600080fd5b50604051908082528060200260200182016040528015611562578160200160208202803683370190505b5092508067ffffffffffffffff8111801561157c57600080fd5b506040519080825280602002602001820160405280156115a6578160200160208202803683370190505b5091506000805b86518110156116c6576000805b83811015611645578681815181106115ce57fe5b60200260200101516001600160a01b03168984815181106115eb57fe5b60200260200101516001600160a01b0316141561163d576001915087838151811061161257fe5b602002602001015186828151811061162657fe5b602002602001018181510191508181525050611645565b6001016115ba565b50806116bd5787828151811061165757fe5b602002602001015186848151811061166b57fe5b60200260200101906001600160a01b031690816001600160a01b03168152505086828151811061169757fe5b60200260200101518584815181106116ab57fe5b60209081029190910101526001909201915b506001016115ad565b5050505b9250929050565b600080828060200190518101906116e89190612380565b91509150915091565b61ffff82166001141561182657604051632e1a7d4d60e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690632e1a7d4d9061174a908490600401612af8565b600060405180830381600087803b15801561176457600080fd5b505af1158015611778573d6000803e3d6000fd5b5050604051632890fb6560e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169250632890fb65915083906117ce9030908790849060040161298d565b6020604051808303818588803b1580156117e757600080fd5b505af11580156117fb573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906118209190612249565b5061199f565b61182e611d8c565b60405163275d68c760e11b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690634ebad18e9061187a908690600401612a76565b6101406040518083038186803b15801561189357600080fd5b505afa1580156118a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118cb91906122e4565b9150506118fd81600001517f000000000000000000000000000000000000000000000000000000000000000084611a1f565b604051632890fb6560e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690632890fb659061194d9030908790879060040161298d565b602060405180830381600087803b15801561196757600080fd5b505af115801561197b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110f69190612249565b5050565b6000806000838060200190518101906119bc91906123b0565b9250925092509193909250565b61013f8363a9059cbb60e01b84846040516024016119e89291906129b5565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152611b1b565b604051636eb1769f60e11b81526000906001600160a01b0385169063dd62ed3e90611a509030908790600401612952565b60206040518083038186803b158015611a6857600080fd5b505afa158015611a7c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611aa09190612249565b9050818110156110f6578015611ac557611ac56001600160a01b038516846000611baa565b6110f66001600160a01b03851684600019611baa565b600080828060200190518101906116e891906123f3565b60008060008084806020019051810190611b0c919061231f565b93509350935093509193509193565b6060611b70826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316611c6d9092919063ffffffff16565b80519091501561013f5780806020019051810190611b8e91906121f6565b61013f5760405162461bcd60e51b815260040161013690612a56565b801580611c325750604051636eb1769f60e11b81526001600160a01b0384169063dd62ed3e90611be09030908690600401612952565b60206040518083038186803b158015611bf857600080fd5b505afa158015611c0c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c309190612249565b155b611c4e5760405162461bcd60e51b815260040161013690612a66565b61013f8363095ea7b360e01b84846040516024016119e89291906129b5565b6060611c7c8484600085611c86565b90505b9392505050565b606082471015611ca85760405162461bcd60e51b815260040161013690612a06565b611cb185611d49565b611ccd5760405162461bcd60e51b815260040161013690612a46565b60006060866001600160a01b03168587604051611cea9190612938565b60006040518083038185875af1925050503d8060008114611d27576040519150601f19603f3d011682016040523d82523d6000602084013e611d2c565b606091505b5091509150611d3c828286611d53565b925050505b949350505050565b803b15155b919050565b60608315611d62575081611c7f565b825115611d725782518084602001fd5b8160405162461bcd60e51b815260040161013691906129f5565b6040805160a0810182526000808252602082018190529181018290529060608201908152602001600081525090565b6040805160e081019091528060008152602001600061ffff1681526020016000815260200160008152602001600015158152602001600015158152602001606081525090565b805161145681612c51565b600082601f830112611e1d57600080fd5b8151611e30611e2b82612b2d565b612b06565b915081818352602084019350602081019050838560a0840282011115611e5557600080fd5b60005b83811015611e835781611e6b8882611fd6565b84525060209092019160a09190910190600101611e58565b5050505092915050565b600082601f830112611e9e57600080fd5b8151611eac611e2b82612b2d565b915081818352602084019350602081019050838560c0840282011115611ed157600080fd5b60005b83811015611e835781611ee788826120d0565b84525060209092019160c09190910190600101611ed4565b805161145681612c65565b805161145681612c77565b805161145681612c6e565b805161145681612c80565b600082601f830112611f3c57600080fd5b8135611f4a611e2b82612b4e565b91508082526020830160208301858383011115611f6657600080fd5b611f71838284612c05565b50505092915050565b600082601f830112611f8b57600080fd5b8151611f99611e2b82612b4e565b91508082526020830160208301858383011115611fb557600080fd5b611f71838284612c11565b805161145681612c89565b805161145681612c96565b600060a08284031215611fe857600080fd5b611ff260a0612b06565b9050600061200084846121ca565b825250602061201184848301611f20565b602083015250604061202584828501611f20565b604083015250606061203984828501611f20565b606083015250608061204d84828501611f20565b60808301525092915050565b600060a0828403121561206b57600080fd5b61207560a0612b06565b9050600061208384846121d5565b825250602061209484848301611f15565b60208301525060406120a8848285016121eb565b60408301525060606120bc848285016121ca565b606083015250608061204d84828501611f0a565b600060c082840312156120e257600080fd5b6120ec60c0612b06565b905060006120fa8484611f20565b825250602061210b84848301611f20565b602083015250604061211f84828501611f20565b604083015250606061213384828501611f20565b606083015250608061214784828501611f20565b60808301525060a061215b84828501611fc0565b60a08301525092915050565b600060a0828403121561217957600080fd5b61218360a0612b06565b905060006121918484611e01565b82525060206121a284848301611eff565b60208301525060406121b684828501611f20565b604083015250606061203984828501611fcb565b805161145681612ca3565b805161145681612cac565b805161145681612cbe565b805161145681612cb5565b60006020828403121561220857600080fd5b6000611d418484611eff565b60006020828403121561222657600080fd5b813567ffffffffffffffff81111561223d57600080fd5b611d4184828501611f2b565b60006020828403121561225b57600080fd5b6000611d418484611f20565b600080600060e0848603121561227c57600080fd5b60006122888686612059565b93505060a084015167ffffffffffffffff8111156122a557600080fd5b6122b186828701611e0c565b92505060c084015167ffffffffffffffff8111156122ce57600080fd5b6122da86828701611e8d565b9150509250925092565b60008061014083850312156122f857600080fd5b60006123048585612167565b92505060a061231585828601612167565b9150509250929050565b6000806000806080858703121561233557600080fd5b600061234187876121ca565b945050602061235287828801611f20565b9350506040612363878288016121ca565b925050606061237487828801611f20565b91505092959194509250565b6000806040838503121561239357600080fd5b600061239f85856121ca565b925050602061231585828601611f20565b6000806000606084860312156123c557600080fd5b60006123d186866121ca565b93505060206123e286828701611f20565b92505060406122da86828701611f20565b6000806040838503121561240657600080fd5b600061241285856121ca565b9250506020612315858286016121e0565b6000806040838503121561243657600080fd5b60006124428585611f20565b925050602083015167ffffffffffffffff81111561245f57600080fd5b61231585828601611f7a565b60006020828403121561247d57600080fd5b6000611d4184846121eb565b600061249583836124b5565b505060200190565b60006124958383612630565b6000611c7f8383612892565b6124be81612b89565b82525050565b60006124cf82612b7c565b6124d98185612b80565b93506124e483612b76565b8060005b838110156125125781516124fc8882612489565b975061250783612b76565b9250506001016124e8565b509495945050505050565b600061252882612b7c565b6125328185612b80565b935061253d83612b76565b8060005b83811015612512578151612555888261249d565b975061256083612b76565b925050600101612541565b600061257682612b7c565b6125808185612b80565b93508360208202850161259285612b76565b8060005b858110156125cc57848403895281516125af85826124a9565b94506125ba83612b76565b60209a909a0199925050600101612596565b5091979650505050505050565b60006125e482612b7c565b6125ee8185612b80565b93506125f983612b76565b8060005b83811015612512578151612611888261249d565b975061261c83612b76565b9250506001016125fd565b6124be81612b94565b6124be81612bba565b600061264482612b7c565b61264e8185611d4e565b935061265e818560208601612c11565b9290920192915050565b6124be81612bfa565b600061267c82612b7c565b6126868185612b80565b9350612696818560208601612c11565b61269f81612c3d565b9093019392505050565b60006126b6602683612b80565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f8152651c8818d85b1b60d21b602082015260400192915050565b60006126fe601a83612b80565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b6000612737602683612b80565b7f7265636569766543616c6c46726f6d5661756c743a20496e76616c69642061638152651d1a5bdb925960d21b602082015260400192915050565b600061277f602183612b80565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b60006127c2601d83612b80565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000815260200192915050565b60006127fb602a83612b80565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e8152691bdd081cdd58d8d9595960b21b602082015260400192915050565b6000612847603683612b80565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f81527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b602082015260400192915050565b805160009060e08401906128a68582612668565b5060208301516128b96020860182612926565b5060408301516128cc6040860182612630565b5060608301516128df6060860182612630565b5060808301516128f26080860182612627565b5060a083015161290560a0860182612627565b5060c083015184820360c086015261291d828261251d565b95945050505050565b6124be81612bc7565b6124be81612bea565b6000611c7f8284612639565b6020810161145682846124b5565b6040810161296082856124b5565b611c7f60208301846124b5565b6040810161297b82856124b5565b8181036020830152611c7c818461256b565b6060810161299b82866124b5565b6129a86020830185612926565b611d416040830184612630565b604081016129c382856124b5565b611c7f6020830184612630565b604080825281016129e181856124c4565b90508181036020830152611c7c81846125d9565b60208082528101611c7f8184612671565b60208082528101611456816126a9565b60208082528101611456816126f1565b602080825281016114568161272a565b6020808252810161145681612772565b60208082528101611456816127b5565b60208082528101611456816127ee565b602080825281016114568161283a565b602081016114568284612926565b60a08101612a928288612926565b612a9f6020830187612630565b612aac6040830186612630565b612ab96060830185612630565b612ac66080830184612627565b9695505050505050565b60608101612ade8286612926565b612aeb602083018561292f565b611d416040830184612627565b602081016114568284612630565b60405181810167ffffffffffffffff81118282101715612b2557600080fd5b604052919050565b600067ffffffffffffffff821115612b4457600080fd5b5060209081020190565b600067ffffffffffffffff821115612b6557600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b600061145682612bce565b151590565b6001600160f81b03191690565b6dffffffffffffffffffffffffffff191690565b90565b80611d4e81612c47565b61ffff1690565b6001600160a01b031690565b64ffffffffff1690565b60ff1690565b6affffffffffffffffffffff1690565b600061145682612bbd565b82818337506000910152565b60005b83811015612c2c578181015183820152602001612c14565b838111156110f65750506000910152565b601f01601f191690565b600781106100a057fe5b612c5a81612b89565b81146100a057600080fd5b612c5a81612b94565b612c5a81612b99565b612c5a81612ba6565b612c5a81612bba565b600481106100a057600080fd5b600681106100a057600080fd5b612c5a81612bc7565b612c5a81612bda565b612c5a81612be4565b612c5a81612bea56fea164736f6c634300060c000a", "sourceMap": "877:14640:120:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1571:48;;;;;;:::i;:::-;;:::i;:::-;;10719:195;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;1747:663;;;;;;:::i;:::-;;:::i;10069:244::-;;;:::i;1571:48::-;;:::o;10719:195::-;10798:24;10824:25;10872:35;10902:4;10872:29;:35::i;:::-;10865:42;;;;10719:195;;:::o;1747:663::-;1832:16;1850:23;1888:11;1877:41;;;;;;;;;;;;:::i;:::-;1831:87;;-1:-1:-1;1831:87:120;-1:-1:-1;1933:42:120;1929:475;;1991:33;2013:10;1991:21;:33::i;:::-;1929:475;;;2065:12;2045:8;:33;2041:363;;;2094:24;2107:10;2094:12;:24::i;2041:363::-;2159:14;2139:8;:35;2135:269;;;2190:26;2205:10;2190:14;:26::i;2135:269::-;2257:14;2237:8;:35;2233:171;;;2288:26;2303:10;2288:14;:26::i;2233:171::-;2345:48;;-1:-1:-1;;;2345:48:120;;;;;;;:::i;:::-;;;;;;;;2233:171;1747:663;;;:::o;10069:244::-;10145:24;10171:25;10234:36;10264:5;10234:29;:36::i;:::-;10212:58;;-1:-1:-1;10212:58:120;-1:-1:-1;10069:244:120;;:::o;11025:4490::-;11132:24;11158:25;11227:57;11298;11368:27;-1:-1:-1;;;;;11368:38:120;;11415:4;11368:53;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;11368:53:120;;;;;;;;;;;;:::i;:::-;11199:222;;;;;11474:25;11515:9;11510:409;11530:15;:22;11526:1;:26;11510:409;;;11573:20;11596:15;11612:1;11596:18;;;;;;;;;;;;;;:27;;;11573:50;;11642:15;11638:237;;;11698:1;11681:13;:18;11677:73;;11723:8;;;11677:73;11638:237;;;11809:1;11792:13;:18;11788:73;;11834:8;;;11788:73;-1:-1:-1;11889:19:120;;;;;11510:409;11554:3;;11510:409;;;;11934:9;11929:534;11949:15;:22;11945:1;:26;11929:534;;;12060:15;12076:1;12060:18;;;;;;;;;;;;;;:29;;;:34;;12093:1;12060:34;12056:78;;;12114:5;;12056:78;12152:15;12148:271;;;12225:1;12191:15;12207:1;12191:18;;;;;;;;;;;;;;:30;;;:35;12187:90;;12250:8;;12187:90;12148:271;;;12353:1;12319:15;12335:1;12319:18;;;;;;;;;;;;;;:30;;;:35;12315:90;;12378:8;;12315:90;12433:19;;;;;11929:534;11973:3;;11929:534;;;;12497:17;12483:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12483:32:120;;12473:42;;12550:17;12536:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12536:32:120;;12525:43;;12629:26;12671:9;12666:1629;12686:15;:22;12682:1;:26;12666:1629;;;12751:15;:50;;;;;12800:1;12770:15;12786:1;12770:18;;;;;;;;;;;;;;:27;;;:31;12751:50;12750:125;;;;12824:15;12823:16;:51;;;;;12873:1;12843:15;12859:1;12843:18;;;;;;;;;;;;;;:27;;;:31;12823:51;12729:1556;;;12908:17;12935:15;12951:1;12935:18;;;;;;;;;;;;;;:29;;;12908:57;;12987:46;;:::i;:::-;13037:72;;-1:-1:-1;;;13037:72:120;;-1:-1:-1;;;;;13037:27:120;:60;;;;:72;;13098:10;;13037:72;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12984:125;;;13158:15;:28;;;13128:7;13136:18;13128:27;;;;;;;;;;;;;:58;-1:-1:-1;;;;;13128:58:120;;;-1:-1:-1;;;;;13128:58:120;;;;;13205:19;13243:37;13323:15;:28;;;-1:-1:-1;;;;;13317:44:120;;:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13309:55;;13283:2;:81;13243:121;;13406:15;13422:1;13406:18;;;;;;;;;;;;;;:27;;;13387:15;:46;13383:481;;13472:15;13488:1;13472:18;;;;;;;;;;;;;;:27;;;13457:42;;13383:481;;;13561:27;-1:-1:-1;;;;;13561:48:120;;13635:10;13671:15;13687:1;13671:18;;;;;;;;;;;;;;:27;;;13724:15;13740:1;13724:18;;;;;;;;;;;;;;:27;;;13777:15;13818:5;13561:284;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13546:299;;13383:481;13971:15;13966:91;;14026:12;14025:13;;14010:28;;13966:91;14106:125;1156:5;14106:77;14114:12;14153:29;14106:46;:77::i;:::-;:102;;:125::i;:::-;14075:8;14084:18;14075:28;;;;;;;;;;;;;;;;;:156;-1:-1:-1;;14250:20:120;;;;;-1:-1:-1;;12729:1556:120;12710:3;;12666:1629;;;;14366:9;14361:945;14381:15;:22;14377:1;:26;14361:945;;;14492:15;14508:1;14492:18;;;;;;;;;;;;;;:29;;;:34;;14525:1;14492:34;14488:78;;;14546:5;;14488:78;14602:15;:53;;;;;14654:1;14621:15;14637:1;14621:18;;;;;;;;;;;;;;:30;;;:34;14602:53;14601:131;;;;14678:15;14677:16;:54;;;;;14730:1;14697:15;14713:1;14697:18;;;;;;;;;;;;;;:30;;;:34;14677:54;14580:716;;;14766:40;;:::i;:::-;14812:27;-1:-1:-1;;;;;14812:60:120;;14873:15;14889:1;14873:18;;;;;;;;;;;;;;:29;;;14812:91;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14765:138;;;14952:9;:22;;;14922:7;14930:18;14922:27;;;;;;;;;;;;;:52;-1:-1:-1;;;;;14922:52:120;;;-1:-1:-1;;;;;14922:52:120;;;;;14997:15;14993:250;;;15075:15;15091:1;15075:18;;;;;;;;;;;;;;:30;;;15036:8;15045:18;15036:28;;;;;;;;;;;;;:70;;;;;14993:250;;;15193:15;15209:1;15193:18;;;;;;;;;;;;;;:30;;;15192:31;;15153:8;15162:18;15153:28;;;;;;;;;;;;;:71;;;;;14993:250;-1:-1:-1;15261:20:120;;;;;14580:716;14405:3;;14361:945;;;;15380:1;15363:7;:14;:18;15359:113;;;15419:42;15443:7;15452:8;15419:23;:42::i;:::-;15397:64;;-1:-1:-1;15397:64:120;-1:-1:-1;15359:113:120;15482:26;;;;11025:4490;;;:::o;2468:262::-;2544:17;2563:29;2596:66;2641:11;2596:31;:66::i;:::-;2543:119;;;;2673:50;2689:10;2701:21;2673:15;:50::i;4935:2755::-;5015:17;5046:29;5089:20;5122:35;5145:11;5122:22;:35::i;:::-;5201:16;;;5215:1;5201:16;;;;;;;;;5001:156;;-1:-1:-1;5001:156:120;;-1:-1:-1;5001:156:120;-1:-1:-1;5168:30:120;;5201:16;;;;;;;;;;;;-1:-1:-1;5201:16:120;5168:49;;5246:12;5227:13;5241:1;5227:16;;;;;;;;;;;;;;;;;:31;5352:50;;;5400:1;5352:50;;;;;;;;;5269:80;;5352:50;;;;;;:::i;:::-;;;;;;;;;;;;;;;-1:-1:-1;5704:390:120;;;;;;;;;5269:133;;-1:-1:-1;5704:390:120;5772:53;5704:390;;;;5851:10;5704:390;;;;;;5896:21;5704:390;;;;5964:1;5704:390;;;;6006:4;5704:390;;;;;;6044:4;5704:390;;;;;;6070:13;5704:390;;;5681:17;5699:1;5681:20;;;;;;;;;;;;;;;;;:413;6109:29;;;1100:1;6109:29;6105:1579;;;6154:67;;-1:-1:-1;;;6154:67:120;;-1:-1:-1;;;;;6176:10:120;6154:44;;;;:67;;6199:21;;6154:67;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6236:164:120;;-1:-1:-1;;;6236:164:120;;-1:-1:-1;;;;;6236:27:120;:54;;-1:-1:-1;6236:54:120;;-1:-1:-1;6298:21:120;;6236:164;;6346:4;;6369:17;;6236:164;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6415:20;6454:4;-1:-1:-1;;;;;6438:30:120;;6415:53;;6505:10;-1:-1:-1;;;;;6483:43:120;;6534:12;6483:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6583:1;6568:12;:16;6564:182;;;6675:56;-1:-1:-1;;;;;6681:10:120;6675:30;6706:10;6718:12;6675:30;:56::i;:::-;6105:1579;;;;6779:46;;:::i;:::-;6829:68;;-1:-1:-1;;;6829:68:120;;-1:-1:-1;;;;;6829:27:120;:56;;;;:68;;6886:10;;6829:68;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6776:121;;;6912:178;6955:15;:28;;;7009:27;7055:21;6912:25;:178::i;:::-;7105:134;;-1:-1:-1;;;7105:134:120;;-1:-1:-1;;;;;7105:27:120;:54;;;;:134;;7185:4;;7208:17;;7105:134;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7293:28:120;;7287:90;;-1:-1:-1;;;7287:90:120;;7254:30;;-1:-1:-1;;;;;;7287:45:120;;;;-1:-1:-1;7287:45:120;;:90;;7358:4;;7287:90;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7254:123;-1:-1:-1;7396:26:120;;7392:282;;7523:28;;7517:142;;-1:-1:-1;;;;;7517:48:120;7587:10;7619:22;7517:48;:142::i;:::-;6105:1579;;;4935:2755;;;;;;:::o;7797:873::-;7866:17;7885:23;7912:37;7937:11;7912:24;:37::i;:::-;7960:72;;-1:-1:-1;;;7960:72:120;;7865:84;;-1:-1:-1;7865:84:120;-1:-1:-1;;;;;;7960:27:120;:36;;;;:72;;7865:84;;;;8027:4;;7960:72;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;8088:29:120;;;1100:1;8088:29;8084:580;;;8155:10;-1:-1:-1;;;;;8133:43:120;;8200:4;-1:-1:-1;;;;;8184:30:120;;8133:84;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8232:86;8263:10;8281;-1:-1:-1;;;;;8275:27:120;;8311:4;8275:42;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;8238:10:120;8232:30;;:86;:30;:86::i;8084:580::-;8352:46;;:::i;:::-;8402:68;;-1:-1:-1;;;8402:68:120;;-1:-1:-1;;;;;8402:27:120;:56;;;;:68;;8459:10;;8402:68;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8349:121;;;8485:168;8551:10;8585:15;:28;;;-1:-1:-1;;;;;8579:45:120;;8633:4;8579:60;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8491:28;;-1:-1:-1;;;;;8485:48:120;;:168;:48;:168::i;:::-;8084:580;7797:873;;;:::o;2790:2089::-;2872:23;2909:20;2943:27;2984:29;3026:37;3051:11;3026:24;:37::i;:::-;2858:205;;;;;;;;3102:1;3078:21;:25;3074:116;;;3119:60;3135:20;3157:21;3119:15;:60::i;:::-;3233:16;;;3247:1;3233:16;;;;;;;;;3200:30;;3233:16;;;;;;;;;;;-1:-1:-1;3233:16:120;3200:49;;3278:12;3259:13;3273:1;3259:16;;;;;;;;;;;;;;;;;:31;3384:50;;;3432:1;3384:50;;;;;;;;;3301:80;;3384:50;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;3671:363:120;;;;;;;;-1:-1:-1;3671:363:120;;;;;;;;;;;;;;;;;;;;;;3946:4;3671:363;;;;;;;;;;;;;;;;3648:20;;3301:133;;-1:-1:-1;3671:363:120;3301:133;;-1:-1:-1;3648:20:120;;;;;;;;;;;;;:386;4045:88;;-1:-1:-1;;;4045:88:120;;-1:-1:-1;;;;;4045:27:120;:54;;;;:88;;4108:4;;4115:17;;4045:88;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;4148:35:120;;;1100:1;4148:35;4144:729;;;4199:20;4238:4;-1:-1:-1;;;;;4222:30:120;;4199:53;;4289:10;-1:-1:-1;;;;;4267:43:120;;4318:12;4267:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4410:56:120;;-1:-1:-1;;;;;;;4416:10:120;4410:30;;-1:-1:-1;4441:10:120;;-1:-1:-1;4453:12:120;4410:30;:56::i;:::-;4144:729;;;;4500:46;;:::i;:::-;4550:74;;-1:-1:-1;;;4550:74:120;;-1:-1:-1;;;;;4550:27:120;:56;;;;:74;;4607:16;;4550:74;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4497:127;;;4694:168;4760:10;4794:15;:28;;;-1:-1:-1;;;;;4788:45:120;;4842:4;4788:60;;;;;;;;;;;;;;;:::i;4144:729::-;2790:2089;;;;;;;:::o;3538:215:442:-;3596:7;3619:6;3615:20;;-1:-1:-1;3634:1:442;3627:8;;3615:20;3657:5;;;3661:1;3657;:5;:1;3680:5;;;;;:10;3672:56;;;;-1:-1:-1;;;3672:56:442;;;;;;;:::i;:::-;3745:1;-1:-1:-1;3538:215:442;;;;;:::o;4217:150::-;4275:7;4306:1;4302;:5;4294:44;;;;-1:-1:-1;;;4294:44:442;;;;;;;:::i;:::-;4359:1;4355;:5;;;;;;;4217:150;-1:-1:-1;;;4217:150:442:o;749:1574:355:-;888:34;924:35;979:10;:17;1000:1;979:22;975:99;;;1017:46;;975:99;1115:1;;1126:361;1150:10;:17;1146:1;:21;1126:361;;;1188:13;1220:9;1215:179;1235:1;1231;:5;1215:179;;;1282:10;1293:1;1282:13;;;;;;;;;;;;;;-1:-1:-1;;;;;1265:30:355;:10;1276:1;1265:13;;;;;;;;;;;;;;-1:-1:-1;;;;;1265:30:355;;1261:119;;;1330:4;1319:15;;1356:5;;1261:119;1238:3;;1215:179;;;;1412:8;1407:70;;1440:22;;;;;1407:70;-1:-1:-1;1169:3:355;;1126:361;;;;1531:20;1517:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1517:35:355;;1497:55;;1597:20;1583:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1583:35:355;;1562:56;;1628:28;1671:9;1666:594;1686:10;:17;1682:1;:21;1666:594;;;1724:13;1756:9;1751:268;1771:20;1767:1;:24;1751:268;;;1837:17;1855:1;1837:20;;;;;;;;;;;;;;-1:-1:-1;;;;;1820:37:355;:10;1831:1;1820:13;;;;;;;;;;;;;;-1:-1:-1;;;;;1820:37:355;;1816:189;;;1892:4;1881:15;;1944:11;1956:1;1944:14;;;;;;;;;;;;;;1919:18;1938:1;1919:21;;;;;;;;;;;;;:39;;;;;;;;;;;1981:5;;1816:189;1793:3;;1751:268;;;;2037:8;2032:218;;2107:10;2118:1;2107:13;;;;;;;;;;;;;;2065:17;2083:20;2065:39;;;;;;;;;;;;;:55;-1:-1:-1;;;;;2065:55:355;;;-1:-1:-1;;;;;2065:55:355;;;;;2181:11;2193:1;2181:14;;;;;;;;;;;;;;2138:18;2157:20;2138:40;;;;;;;;;;;;;;;;;:57;2213:22;;;;;2032:218;-1:-1:-1;1705:3:355;;1666:594;;;;2270:46;;749:1574;;;;;;:::o;595:236:119:-;709:18;729:30;793:11;782:42;;;;;;;;;;;;:::i;:::-;775:49;;;;595:236;;;:::o;8724:875:120:-;8808:30;;;1100:1;8808:30;8804:789;;;8854:53;;-1:-1:-1;;;8854:53:120;;-1:-1:-1;;;;;8876:10:120;8854:44;;;;:53;;8899:7;;8854:53;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8922:165:120;;-1:-1:-1;;;8922:165:120;;-1:-1:-1;;;;;8922:27:120;:50;;-1:-1:-1;8922:50:120;;-1:-1:-1;8980:7:120;;8922:165;;9014:4;;9037:11;;8980:7;;8922:165;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;8804:789;;;9121:46;;:::i;:::-;9171:69;;-1:-1:-1;;;9171:69:120;;-1:-1:-1;;;;;9171:27:120;:56;;;;:69;;9228:11;;9171:69;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9118:122;;;9255:164;9298:15;:28;;;9352:27;9398:7;9255:25;:164::i;:::-;9433:149;;-1:-1:-1;;;9433:149:120;;-1:-1:-1;;;;;9433:27:120;:50;;;;:149;;9509:4;;9532:11;;9561:7;;9433:149;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;8804:789::-;8724:875;;:::o;1340:309:119:-;1458:18;1490:30;1534:25;1602:11;1591:51;;;;;;;;;;;;:::i;:::-;1584:58;;;;;;1340:309;;;;;:::o;704:175:450:-;786:86;806:5;836:23;;;861:2;865:5;813:58;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;813:58:450;;;;;;;;;;;;;;-1:-1:-1;;;;;813:58:450;-1:-1:-1;;;;;;813:58:450;;;;;;;;;;786:19;:86::i;2554:434:355:-;2714:47;;-1:-1:-1;;;2714:47:355;;2694:17;;-1:-1:-1;;;;;2714:23:355;;;;;:47;;2746:4;;2753:7;;2714:47;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2694:67;;2787:13;2775:9;:25;2771:211;;;2820:13;;2816:89;;2853:37;-1:-1:-1;;;;;2853:25:355;;2879:7;2888:1;2853:25;:37::i;:::-;2918:53;-1:-1:-1;;;;;2918:25:355;;2944:7;-1:-1:-1;;2918:25:355;:53::i;1720:222:119:-;1827:18;1847:24;1905:11;1894:41;;;;;;;;;;;;:::i;902:369::-;1022:24;1060:27;1101:28;1143:30;1216:11;1205:59;;;;;;;;;;;;:::i;:::-;1198:66;;;;;;;;902:369;;;;;:::o;2967:751:450:-;3386:23;3412:69;3440:4;3412:69;;;;;;;;;;;;;;;;;3420:5;-1:-1:-1;;;;;3412:27:450;;;:69;;;;;:::i;:::-;3495:17;;3386:95;;-1:-1:-1;3495:21:450;3491:221;;3635:10;3624:30;;;;;;;;;;;;:::i;:::-;3616:85;;;;-1:-1:-1;;;3616:85:450;;;;;;;:::i;1348:613::-;1713:10;;;1712:62;;-1:-1:-1;1729:39:450;;-1:-1:-1;;;1729:39:450;;-1:-1:-1;;;;;1729:15:450;;;;;:39;;1753:4;;1760:7;;1729:39;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:44;1712:62;1704:150;;;;-1:-1:-1;;;1704:150:450;;;;;;;:::i;:::-;1864:90;1884:5;1914:22;;;1938:7;1947:5;1891:62;;;;;;;;;:::i;3581:193:451:-;3684:12;3715:52;3737:6;3745:4;3751:1;3754:12;3715:21;:52::i;:::-;3708:59;;3581:193;;;;;;:::o;4608:523::-;4735:12;4792:5;4767:21;:30;;4759:81;;;;-1:-1:-1;;;4759:81:451;;;;;;;:::i;:::-;4858:18;4869:6;4858:10;:18::i;:::-;4850:60;;;;-1:-1:-1;;;4850:60:451;;;;;;;:::i;:::-;4981:12;4995:23;5022:6;-1:-1:-1;;;;;5022:11:451;5042:5;5050:4;5022:33;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4980:75;;;;5072:52;5090:7;5099:10;5111:12;5072:17;:52::i;:::-;5065:59;;;;4608:523;;;;;;;:::o;726:413::-;1086:20;;1124:8;;726:413;;;;:::o;7091:725::-;7206:12;7234:7;7230:580;;;-1:-1:-1;7264:10:451;7257:17;;7230:580;7375:17;;:21;7371:429;;7633:10;7627:17;7693:15;7680:10;7676:2;7672:19;7665:44;7582:145;7772:12;7765:20;;-1:-1:-1;;;7765:20:451;;;;;;;;:::i;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5:134::-;83:13;;101:33;83:13;101:33;:::i;196:821::-;;357:3;350:4;342:6;338:17;334:27;324:2;;375:1;372;365:12;324:2;405:6;399:13;427:113;442:97;532:6;442:97;:::i;:::-;427:113;:::i;:::-;418:122;;557:5;582:6;575:5;568:21;612:4;604:6;600:17;590:27;;634:4;629:3;625:14;618:21;;687:6;734:3;726:4;718:6;714:17;709:3;705:27;702:36;699:2;;;751:1;748;741:12;699:2;776:1;761:250;786:6;783:1;780:13;761:250;;;844:3;866:81;943:3;931:10;866:81;:::i;:::-;854:94;;-1:-1;971:4;962:14;;;;999:4;990:14;;;;;808:1;801:9;761:250;;;765:14;317:700;;;;;;;:::o;1075:821::-;;1236:3;1229:4;1221:6;1217:17;1213:27;1203:2;;1254:1;1251;1244:12;1203:2;1284:6;1278:13;1306:113;1321:97;1411:6;1321:97;:::i;1306:113::-;1297:122;;1436:5;1461:6;1454:5;1447:21;1491:4;1483:6;1479:17;1469:27;;1513:4;1508:3;1504:14;1497:21;;1566:6;1613:3;1605:4;1597:6;1593:17;1588:3;1584:27;1581:36;1578:2;;;1630:1;1627;1620:12;1578:2;1655:1;1640:250;1665:6;1662:1;1659:13;1640:250;;;1723:3;1745:81;1822:3;1810:10;1745:81;:::i;:::-;1733:94;;-1:-1;1850:4;1841:14;;;;1878:4;1869:14;;;;;1687:1;1680:9;1640:250;;1904:128;1979:13;;1997:30;1979:13;1997:30;:::i;2039:134::-;2117:13;;2135:33;2117:13;2135:33;:::i;2180:132::-;2257:13;;2275:32;2257:13;2275:32;:::i;2319:134::-;2397:13;;2415:33;2397:13;2415:33;:::i;2461:440::-;;2562:3;2555:4;2547:6;2543:17;2539:27;2529:2;;2580:1;2577;2570:12;2529:2;2617:6;2604:20;2639:64;2654:48;2695:6;2654:48;:::i;2639:64::-;2630:73;;2723:6;2716:5;2709:21;2759:4;2751:6;2747:17;2792:4;2785:5;2781:16;2827:3;2818:6;2813:3;2809:16;2806:25;2803:2;;;2844:1;2841;2834:12;2803:2;2854:41;2888:6;2883:3;2878;2854:41;:::i;:::-;2522:379;;;;;;;:::o;2910:442::-;;3022:3;3015:4;3007:6;3003:17;2999:27;2989:2;;3040:1;3037;3030:12;2989:2;3070:6;3064:13;3092:64;3107:48;3148:6;3107:48;:::i;3092:64::-;3083:73;;3176:6;3169:5;3162:21;3212:4;3204:6;3200:17;3245:4;3238:5;3234:16;3280:3;3271:6;3266:3;3262:16;3259:25;3256:2;;;3297:1;3294;3287:12;3256:2;3307:39;3339:6;3334:3;3329;3307:39;:::i;3360:180::-;3461:13;;3479:56;3461:13;3479:56;:::i;3547:164::-;3640:13;;3658:48;3640:13;3658:48;:::i;3903:1018::-;;4036:4;4024:9;4019:3;4015:19;4011:30;4008:2;;;4054:1;4051;4044:12;4008:2;4072:20;4087:4;4072:20;:::i;:::-;4063:29;-1:-1;4148:1;4180:59;4235:3;4215:9;4180:59;:::i;:::-;4155:85;;-1:-1;4308:2;4341:59;4396:3;4372:22;;;4341:59;:::i;:::-;4334:4;4327:5;4323:16;4316:85;4261:151;4471:2;4504:59;4559:3;4550:6;4539:9;4535:22;4504:59;:::i;:::-;4497:4;4490:5;4486:16;4479:85;4422:153;4634:2;4667:60;4723:3;4714:6;4703:9;4699:22;4667:60;:::i;:::-;4660:4;4653:5;4649:16;4642:86;4585:154;4805:3;4839:60;4895:3;4886:6;4875:9;4871:22;4839:60;:::i;:::-;4832:4;4825:5;4821:16;4814:86;4749:162;4002:919;;;;:::o;4974:1018::-;;5107:4;5095:9;5090:3;5086:19;5082:30;5079:2;;;5125:1;5122;5115:12;5079:2;5143:20;5158:4;5143:20;:::i;:::-;5134:29;-1:-1;5223:1;5255:59;5310:3;5290:9;5255:59;:::i;:::-;5230:85;;-1:-1;5379:2;5412:59;5467:3;5443:22;;;5412:59;:::i;:::-;5405:4;5398:5;5394:16;5387:85;5336:147;5545:2;5578:58;5632:3;5623:6;5612:9;5608:22;5578:58;:::i;:::-;5571:4;5564:5;5560:16;5553:84;5493:155;5710:2;5743:59;5798:3;5789:6;5778:9;5774:22;5743:59;:::i;:::-;5736:4;5729:5;5725:16;5718:85;5658:156;5876:3;5910:60;5966:3;5957:6;5946:9;5942:22;5910:60;:::i;6045:1186::-;;6178:4;6166:9;6161:3;6157:19;6153:30;6150:2;;;6196:1;6193;6186:12;6150:2;6214:20;6229:4;6214:20;:::i;:::-;6205:29;-1:-1;6290:1;6322:60;6378:3;6358:9;6322:60;:::i;:::-;6297:86;;-1:-1;6448:2;6481:60;6537:3;6513:22;;;6481:60;:::i;:::-;6474:4;6467:5;6463:16;6456:86;6404:149;6608:2;6641:60;6697:3;6688:6;6677:9;6673:22;6641:60;:::i;:::-;6634:4;6627:5;6623:16;6616:86;6563:150;6767:2;6800:59;6855:3;6846:6;6835:9;6831:22;6800:59;:::i;:::-;6793:4;6786:5;6782:16;6775:85;6723:148;6928:3;6962:60;7018:3;7009:6;6998:9;6994:22;6962:60;:::i;:::-;6955:4;6948:5;6944:16;6937:86;6881:153;7092:3;7126:83;7205:3;7196:6;7185:9;7181:22;7126:83;:::i;:::-;7119:4;7112:5;7108:16;7101:109;7044:177;6144:1087;;;;:::o;7275:1019::-;;7399:4;7387:9;7382:3;7378:19;7374:30;7371:2;;;7417:1;7414;7407:12;7371:2;7435:20;7450:4;7435:20;:::i;:::-;7426:29;-1:-1;7513:1;7545:60;7601:3;7581:9;7545:60;:::i;:::-;7520:86;;-1:-1;7677:2;7710:57;7763:3;7739:22;;;7710:57;:::i;:::-;7703:4;7696:5;7692:16;7685:83;7627:152;7833:2;7866:59;7921:3;7912:6;7901:9;7897:22;7866:59;:::i;:::-;7859:4;7852:5;7848:16;7841:85;7789:148;7992:2;8025:75;8096:3;8087:6;8076:9;8072:22;8025:75;:::i;8301:132::-;8378:13;;8396:32;8378:13;8396:32;:::i;8581:132::-;8658:13;;8676:32;8658:13;8676:32;:::i;8720:132::-;8797:13;;8815:32;8797:13;8815:32;:::i;8859:130::-;8935:13;;8953:31;8935:13;8953:31;:::i;8996:257::-;;9108:2;9096:9;9087:7;9083:23;9079:32;9076:2;;;9124:1;9121;9114:12;9076:2;9159:1;9176:61;9229:7;9209:9;9176:61;:::i;9260:345::-;;9373:2;9361:9;9352:7;9348:23;9344:32;9341:2;;;9389:1;9386;9379:12;9341:2;9424:31;;9475:18;9464:30;;9461:2;;;9507:1;9504;9497:12;9461:2;9527:62;9581:7;9572:6;9561:9;9557:22;9527:62;:::i;9612:261::-;;9726:2;9714:9;9705:7;9701:23;9697:32;9694:2;;;9742:1;9739;9732:12;9694:2;9777:1;9794:63;9849:7;9829:9;9794:63;:::i;9880:994::-;;;;10178:3;10166:9;10157:7;10153:23;10149:33;10146:2;;;10195:1;10192;10185:12;10146:2;10230:1;10247:97;10336:7;10316:9;10247:97;:::i;:::-;10237:107;;10209:141;10402:3;10391:9;10387:19;10381:26;10427:18;10419:6;10416:30;10413:2;;;10459:1;10456;10449:12;10413:2;10479:122;10593:7;10584:6;10573:9;10569:22;10479:122;:::i;:::-;10469:132;;10360:247;10659:3;10648:9;10644:19;10638:26;10684:18;10676:6;10673:30;10670:2;;;10716:1;10713;10706:12;10670:2;10736:122;10850:7;10841:6;10830:9;10826:22;10736:122;:::i;:::-;10726:132;;10617:247;10140:734;;;;;:::o;10881:497::-;;;11061:3;11049:9;11040:7;11036:23;11032:33;11029:2;;;11078:1;11075;11068:12;11029:2;11113:1;11130:88;11210:7;11190:9;11130:88;:::i;:::-;11120:98;;11092:132;11255:3;11274:88;11354:7;11345:6;11334:9;11330:22;11274:88;:::i;:::-;11264:98;;11234:134;11023:355;;;;;:::o;11385:668::-;;;;;11549:3;11537:9;11528:7;11524:23;11520:33;11517:2;;;11566:1;11563;11556:12;11517:2;11601:1;11618:63;11673:7;11653:9;11618:63;:::i;:::-;11608:73;;11580:107;11718:2;11736:64;11792:7;11783:6;11772:9;11768:22;11736:64;:::i;:::-;11726:74;;11697:109;11837:2;11855:63;11910:7;11901:6;11890:9;11886:22;11855:63;:::i;:::-;11845:73;;11816:108;11955:2;11973:64;12029:7;12020:6;12009:9;12005:22;11973:64;:::i;:::-;11963:74;;11934:109;11511:542;;;;;;;:::o;12060:397::-;;;12191:2;12179:9;12170:7;12166:23;12162:32;12159:2;;;12207:1;12204;12197:12;12159:2;12242:1;12259:63;12314:7;12294:9;12259:63;:::i;:::-;12249:73;;12221:107;12359:2;12377:64;12433:7;12424:6;12413:9;12409:22;12377:64;:::i;12464:533::-;;;;12612:2;12600:9;12591:7;12587:23;12583:32;12580:2;;;12628:1;12625;12618:12;12580:2;12663:1;12680:63;12735:7;12715:9;12680:63;:::i;:::-;12670:73;;12642:107;12780:2;12798:64;12854:7;12845:6;12834:9;12830:22;12798:64;:::i;:::-;12788:74;;12759:109;12899:2;12917:64;12973:7;12964:6;12953:9;12949:22;12917:64;:::i;13004:395::-;;;13134:2;13122:9;13113:7;13109:23;13105:32;13102:2;;;13150:1;13147;13140:12;13102:2;13185:1;13202:63;13257:7;13237:9;13202:63;:::i;:::-;13192:73;;13164:107;13302:2;13320:63;13375:7;13366:6;13355:9;13351:22;13320:63;:::i;13676:496::-;;;13817:2;13805:9;13796:7;13792:23;13788:32;13785:2;;;13833:1;13830;13823:12;13785:2;13868:1;13885:64;13941:7;13921:9;13885:64;:::i;:::-;13875:74;;13847:108;14007:2;13996:9;13992:18;13986:25;14031:18;14023:6;14020:30;14017:2;;;14063:1;14060;14053:12;14017:2;14083:73;14148:7;14139:6;14128:9;14124:22;14083:73;:::i;14179:259::-;;14292:2;14280:9;14271:7;14267:23;14263:32;14260:2;;;14308:1;14305;14298:12;14260:2;14343:1;14360:62;14414:7;14394:9;14360:62;:::i;14446:173::-;;14533:46;14575:3;14567:6;14533:46;:::i;:::-;-1:-1;;14608:4;14599:14;;14526:93::o;14628:173::-;;14715:46;14757:3;14749:6;14715:46;:::i;14810:321::-;;14995:130;15121:3;15113:6;14995:130;:::i;15321:103::-;15394:24;15412:5;15394:24;:::i;:::-;15389:3;15382:37;15376:48;;:::o;15582:690::-;;15727:54;15775:5;15727:54;:::i;:::-;15794:86;15873:6;15868:3;15794:86;:::i;:::-;15787:93;;15901:56;15951:5;15901:56;:::i;:::-;15977:7;16005:1;15990:260;16015:6;16012:1;16009:13;15990:260;;;16082:6;16076:13;16103:63;16162:3;16147:13;16103:63;:::i;:::-;16096:70;;16183:60;16236:6;16183:60;:::i;:::-;16173:70;-1:-1;;16037:1;16030:9;15990:260;;;-1:-1;16263:3;;15706:566;-1:-1;;;;;15706:566::o;16311:670::-;;16446:54;16494:5;16446:54;:::i;:::-;16513:76;16582:6;16577:3;16513:76;:::i;:::-;16506:83;;16610:56;16660:5;16610:56;:::i;:::-;16686:7;16714:1;16699:260;16724:6;16721:1;16718:13;16699:260;;;16791:6;16785:13;16812:63;16871:3;16856:13;16812:63;:::i;:::-;16805:70;;16892:60;16945:6;16892:60;:::i;:::-;16882:70;-1:-1;;16746:1;16739:9;16699:260;;17102:1184;;17331:96;17421:5;17331:96;:::i;:::-;17440:128;17561:6;17556:3;17440:128;:::i;:::-;17433:135;;17591:3;17633:4;17625:6;17621:17;17616:3;17612:27;17660:98;17752:5;17660:98;:::i;:::-;17778:7;17806:1;17791:456;17816:6;17813:1;17810:13;17791:456;;;17878:9;17872:4;17868:20;17863:3;17856:33;17923:6;17917:13;17945:148;18088:4;18073:13;17945:148;:::i;:::-;17937:156;;18110:102;18205:6;18110:102;:::i;:::-;18235:4;18226:14;;;;;18100:112;-1:-1;;17838:1;17831:9;17791:456;;;-1:-1;18260:4;;17310:976;-1:-1;;;;;;;17310:976::o;18325:690::-;;18470:54;18518:5;18470:54;:::i;:::-;18537:86;18616:6;18611:3;18537:86;:::i;:::-;18530:93;;18644:56;18694:5;18644:56;:::i;:::-;18720:7;18748:1;18733:260;18758:6;18755:1;18752:13;18733:260;;;18825:6;18819:13;18846:63;18905:3;18890:13;18846:63;:::i;:::-;18839:70;;18926:60;18979:6;18926:60;:::i;:::-;18916:70;-1:-1;;18780:1;18773:9;18733:260;;19023:94;19090:21;19105:5;19090:21;:::i;19235:103::-;19308:24;19326:5;19308:24;:::i;19345:356::-;;19473:38;19505:5;19473:38;:::i;:::-;19523:88;19604:6;19599:3;19523:88;:::i;:::-;19516:95;;19616:52;19661:6;19656:3;19649:4;19642:5;19638:16;19616:52;:::i;:::-;19680:16;;;;;19453:248;-1:-1;;19453:248::o;19708:158::-;19802:58;19854:5;19802:58;:::i;19990:347::-;;20102:39;20135:5;20102:39;:::i;:::-;20153:71;20217:6;20212:3;20153:71;:::i;:::-;20146:78;;20229:52;20274:6;20269:3;20262:4;20255:5;20251:16;20229:52;:::i;:::-;20302:29;20324:6;20302:29;:::i;:::-;20293:39;;;;20082:255;-1:-1;;;20082:255::o;20345:375::-;;20505:67;20569:2;20564:3;20505:67;:::i;:::-;20605:34;20585:55;;-1:-1;;;20669:2;20660:12;;20653:30;20711:2;20702:12;;20491:229;-1:-1;;20491:229::o;20729:326::-;;20889:67;20953:2;20948:3;20889:67;:::i;:::-;20989:28;20969:49;;21046:2;21037:12;;20875:180;-1:-1;;20875:180::o;21064:375::-;;21224:67;21288:2;21283:3;21224:67;:::i;:::-;21324:34;21304:55;;-1:-1;;;21388:2;21379:12;;21372:30;21430:2;21421:12;;21210:229;-1:-1;;21210:229::o;21448:370::-;;21608:67;21672:2;21667:3;21608:67;:::i;:::-;21708:34;21688:55;;-1:-1;;;21772:2;21763:12;;21756:25;21809:2;21800:12;;21594:224;-1:-1;;21594:224::o;21827:329::-;;21987:67;22051:2;22046:3;21987:67;:::i;:::-;22087:31;22067:52;;22147:2;22138:12;;21973:183;-1:-1;;21973:183::o;22165:379::-;;22325:67;22389:2;22384:3;22325:67;:::i;:::-;22425:34;22405:55;;-1:-1;;;22489:2;22480:12;;22473:34;22535:2;22526:12;;22311:233;-1:-1;;22311:233::o;22553:391::-;;22713:67;22777:2;22772:3;22713:67;:::i;:::-;22813:34;22793:55;;-1:-1;;;22877:2;22868:12;;22861:46;22935:2;22926:12;;22699:245;-1:-1;;22699:245::o;23059:1493::-;23306:23;;23059:1493;;23234:4;23225:14;;;23335:84;23229:3;23306:23;23335:84;:::i;:::-;23254:171;23504:4;23497:5;23493:16;23487:23;23516:61;23571:4;23566:3;23562:14;23548:12;23516:61;:::i;:::-;23435:148;23671:4;23664:5;23660:16;23654:23;23683:63;23740:4;23735:3;23731:14;23717:12;23683:63;:::i;:::-;23593:159;23852:4;23845:5;23841:16;23835:23;23864:63;23921:4;23916:3;23912:14;23898:12;23864:63;:::i;:::-;23762:171;24027:4;24020:5;24016:16;24010:23;24039:57;24090:4;24085:3;24081:14;24067:12;24039:57;:::i;:::-;23943:159;24189:4;24182:5;24178:16;24172:23;24201:57;24252:4;24247:3;24243:14;24229:12;24201:57;:::i;:::-;24112:152;24339:4;24332:5;24328:16;24322:23;24391:3;24385:4;24381:14;24374:4;24369:3;24365:14;24358:38;24411:103;24509:4;24495:12;24411:103;:::i;:::-;24403:111;23207:1345;-1:-1;;;;;23207:1345::o;24559:100::-;24630:23;24647:5;24630:23;:::i;25013:110::-;25094:23;25111:5;25094:23;:::i;25130:271::-;;25283:93;25372:3;25363:6;25283:93;:::i;25408:222::-;25535:2;25520:18;;25549:71;25524:9;25593:6;25549:71;:::i;25637:333::-;25792:2;25777:18;;25806:71;25781:9;25850:6;25806:71;:::i;:::-;25888:72;25956:2;25945:9;25941:18;25932:6;25888:72;:::i;25977:649::-;26266:2;26251:18;;26280:71;26255:9;26324:6;26280:71;:::i;:::-;26399:9;26393:4;26389:20;26384:2;26373:9;26369:18;26362:48;26424:192;26611:4;26602:6;26424:192;:::i;26633:440::-;26814:2;26799:18;;26828:71;26803:9;26872:6;26828:71;:::i;:::-;26910:70;26976:2;26965:9;26961:18;26952:6;26910:70;:::i;:::-;26991:72;27059:2;27048:9;27044:18;27035:6;26991:72;:::i;27080:333::-;27235:2;27220:18;;27249:71;27224:9;27293:6;27249:71;:::i;:::-;27331:72;27399:2;27388:9;27384:18;27375:6;27331:72;:::i;27420:629::-;27675:2;27689:47;;;27660:18;;27750:108;27660:18;27844:6;27750:108;:::i;:::-;27742:116;;27906:9;27900:4;27896:20;27891:2;27880:9;27876:18;27869:48;27931:108;28034:4;28025:6;27931:108;:::i;28056:310::-;28203:2;28217:47;;;28188:18;;28278:78;28188:18;28342:6;28278:78;:::i;28373:416::-;28573:2;28587:47;;;28558:18;;28648:131;28558:18;28648:131;:::i;28796:416::-;28996:2;29010:47;;;28981:18;;29071:131;28981:18;29071:131;:::i;29219:416::-;29419:2;29433:47;;;29404:18;;29494:131;29404:18;29494:131;:::i;29642:416::-;29842:2;29856:47;;;29827:18;;29917:131;29827:18;29917:131;:::i;30065:416::-;30265:2;30279:47;;;30250:18;;30340:131;30250:18;30340:131;:::i;30488:416::-;30688:2;30702:47;;;30673:18;;30763:131;30673:18;30763:131;:::i;30911:416::-;31111:2;31125:47;;;31096:18;;31186:131;31096:18;31186:131;:::i;31334:218::-;31459:2;31444:18;;31473:69;31448:9;31515:6;31473:69;:::i;31559:648::-;31788:3;31773:19;;31803:69;31777:9;31845:6;31803:69;:::i;:::-;31883:72;31951:2;31940:9;31936:18;31927:6;31883:72;:::i;:::-;31966:70;32032:2;32021:9;32017:18;32008:6;31966:70;:::i;:::-;32047:72;32115:2;32104:9;32100:18;32091:6;32047:72;:::i;:::-;32130:67;32192:3;32181:9;32177:19;32168:6;32130:67;:::i;:::-;31759:448;;;;;;;;:::o;32214:424::-;32387:2;32372:18;;32401:69;32376:9;32443:6;32401:69;:::i;:::-;32481:70;32547:2;32536:9;32532:18;32523:6;32481:70;:::i;:::-;32562:66;32624:2;32613:9;32609:18;32600:6;32562:66;:::i;32645:222::-;32772:2;32757:18;;32786:71;32761:9;32830:6;32786:71;:::i;32874:256::-;32936:2;32930:9;32962:17;;;33037:18;33022:34;;33058:22;;;33019:62;33016:2;;;33094:1;33091;33084:12;33016:2;33110;33103:22;32914:216;;-1:-1;32914:216::o;33137:337::-;;33329:18;33321:6;33318:30;33315:2;;;33361:1;33358;33351:12;33315:2;-1:-1;33396:4;33384:17;;;33449:15;;33252:222::o;33825:321::-;;33968:18;33960:6;33957:30;33954:2;;;34000:1;33997;33990:12;33954:2;-1:-1;34131:4;34067;34044:17;;;;-1:-1;;34040:33;34121:15;;33891:255::o;34153:151::-;34277:4;34268:14;;34225:79::o;34827:137::-;34930:12;;34901:63::o;36205:178::-;36323:19;;;36372:4;36363:14;;36316:67::o;37309:91::-;;37371:24;37389:5;37371:24;:::i;37407:85::-;37473:13;37466:21;;37449:43::o;37499:144::-;-1:-1;;;;;;37560:78;;37543:100::o;37650:145::-;-1:-1;;37712:78;;37695:100::o;37802:72::-;37864:5;37847:27::o;37881:152::-;37966:5;37972:56;37966:5;37972:56;:::i;38118:84::-;38190:6;38179:18;;38162:40::o;38209:121::-;-1:-1;;;;;38271:54;;38254:76::o;38416:90::-;38488:12;38477:24;;38460:46::o;38513:81::-;38584:4;38573:16;;38556:38::o;38601:102::-;38673:24;38662:36;;38645:58::o;38710:152::-;;38810:47;38851:5;38810:47;:::i;38870:145::-;38951:6;38946:3;38941;38928:30;-1:-1;39007:1;38989:16;;38982:27;38921:94::o;39024:268::-;39089:1;39096:101;39110:6;39107:1;39104:13;39096:101;;;39177:11;;;39171:18;39158:11;;;39151:39;39132:2;39125:10;39096:101;;;39212:6;39209:1;39206:13;39203:2;;;-1:-1;;39277:1;39259:16;;39252:27;39073:219::o;39300:97::-;39388:2;39368:14;-1:-1;;39364:28;;39348:49::o;39405:114::-;39497:1;39490:5;39487:12;39477:2;;39503:9;39526:117;39595:24;39613:5;39595:24;:::i;:::-;39588:5;39585:35;39575:2;;39634:1;39631;39624:12;39650:111;39716:21;39731:5;39716:21;:::i;39768:115::-;39836:23;39853:5;39836:23;:::i;39890:117::-;39959:24;39977:5;39959:24;:::i;40014:117::-;40083:24;40101:5;40083:24;:::i;40138:117::-;40230:1;40223:5;40220:12;40210:2;;40246:1;40243;40236:12;40262:109;40346:1;40339:5;40336:12;40326:2;;40362:1;40359;40352:12;40500:115;40568:23;40585:5;40568:23;:::i;40746:115::-;40814:23;40831:5;40814:23;:::i;40868:113::-;40935:22;40951:5;40935:22;:::i;40988:115::-;41056:23;41073:5;41056:23;:::i", "linkReferences": {}, "immutableReferences": { "28686": [ { "start": 354, "length": 32 }, { "start": 1058, "length": 32 }, { "start": 1435, "length": 32 }, { "start": 1873, "length": 32 }, { "start": 2675, "length": 32 }, { "start": 3013, "length": 32 }, { "start": 3160, "length": 32 }, { "start": 3220, "length": 32 }, { "start": 3535, "length": 32 }, { "start": 4055, "length": 32 }, { "start": 4606, "length": 32 }, { "start": 4947, "length": 32 }, { "start": 6033, "length": 32 }, { "start": 6213, "length": 32 }, { "start": 6360, "length": 32 }, { "start": 6420, "length": 32 } ], "28688": [ { "start": 2551, "length": 32 }, { "start": 2801, "length": 32 }, { "start": 2937, "length": 32 }, { "start": 3691, "length": 32 }, { "start": 3821, "length": 32 }, { "start": 3985, "length": 32 }, { "start": 4741, "length": 32 }, { "start": 4867, "length": 32 }, { "start": 5909, "length": 32 } ] } }, "methodIdentifiers": { "getDebtAssets()": "ecd658b4", "getManagedAssets()": "80daddb8", "init(bytes)": "4ddf47d4", "receiveCallFromVault(bytes)": "e5c23a97" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_notionalV2Router\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_wethToken\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"getDebtAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"assets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getManagedAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"assets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"}],\"name\":\"receiveCallFromVault\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"getDebtAssets()\":{\"details\":\"Debt assets are composed by two type of balances: account portfolio and account assets Both concepts can be found here: https://docs.notional.finance/developer-documentation/how-to/lend-and-borrow-fcash\",\"returns\":{\"amounts_\":\"Debt asset amounts\",\"assets_\":\"Debt assets\"}},\"getManagedAssets()\":{\"details\":\"Managed assets are composed by two type of balances: account portfolio and account assets Both concepts can be found here: https://docs.notional.finance/developer-documentation/how-to/lend-and-borrow-fcash\",\"returns\":{\"amounts_\":\"Managed asset amounts\",\"assets_\":\"Managed assets\"}},\"init(bytes)\":{\"details\":\"Nothing to initialize for this contract\"},\"receiveCallFromVault(bytes)\":{\"params\":{\"_actionData\":\"Encoded data to execute the action\"}}},\"title\":\"NotionalV2PositionLib Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getDebtAssets()\":{\"notice\":\"Retrieves the debt assets (negative value) of the external position\"},\"getManagedAssets()\":{\"notice\":\"Retrieves the managed assets (positive value) of the external position\"},\"init(bytes)\":{\"notice\":\"Initializes the external position\"},\"receiveCallFromVault(bytes)\":{\"notice\":\"Receives and executes a call from the Vault\"}},\"notice\":\"An External Position library contract for Notional V2 Positions\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/notional-v2/NotionalV2PositionLib.sol\":\"NotionalV2PositionLib\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/release/extensions/external-position-manager/external-positions/notional-v2/INotionalV2Position.sol\":{\"keccak256\":\"0x95410ae6c17757a4fcc0d41f57589e9ed96ed15ecbe75e390c3cf69d1a57232e\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://52a923ab694dfa125a3daa54bbbb3de07268e9c4714c25111757f622ea295810\",\"dweb:/ipfs/QmQGQpRBXYXdTgk96xDrNg4C7RVLNxoCo9MHaityKGgYps\"]},\"contracts/release/extensions/external-position-manager/external-positions/notional-v2/NotionalV2PositionDataDecoder.sol\":{\"keccak256\":\"0x89b1b1233048f9be2c3152b30a95f9f719ff5a74d4930e2a960bdb9d3bff71d2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://7e13d4bedc4bf821541922ae7e1ec9ec3bb81f701bb06d42de262addc27522c6\",\"dweb:/ipfs/QmanckuLpD6Q94QnHbM8EhyvpGBNUHyF2WRhezYta4UQ6R\"]},\"contracts/release/extensions/external-position-manager/external-positions/notional-v2/NotionalV2PositionLib.sol\":{\"keccak256\":\"0x9fc3d529c063686209001044e43c7eb0a0fcca53b4c8f43fbeac20758baec052\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ea37db1f4b471ab94a558e75dda780e7a7ac186e2e2b6c2c5f42b6c391fd5352\",\"dweb:/ipfs/QmSa9DNcE9KfEMJeCm8FV68uEFZ2aw5yC7CQuG1fdS7QDH\"]},\"contracts/release/interfaces/INotionalV2Router.sol\":{\"keccak256\":\"0x049f3eac5a5cf7f182f7fc8274e2c18343be226a861117fbfd5d9502b88c83c9\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bdc2a04e7ac5671c0fc51b9625af0aec1639ce6d70ea0f991d3c51a278a8ed33\",\"dweb:/ipfs/QmRtdF7yfkjgwBgFcXeoG3MiGTLjU726pZwr7yaeimvwtt\"]},\"contracts/release/interfaces/IWETH.sol\":{\"keccak256\":\"0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2\",\"dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_notionalV2Router", "type": "address" }, { "internalType": "address", "name": "_wethToken", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "getDebtAssets", "outputs": [ { "internalType": "address[]", "name": "assets_", "type": "address[]" }, { "internalType": "uint256[]", "name": "amounts_", "type": "uint256[]" } ] }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "getManagedAssets", "outputs": [ { "internalType": "address[]", "name": "assets_", "type": "address[]" }, { "internalType": "uint256[]", "name": "amounts_", "type": "uint256[]" } ] }, { "inputs": [ { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "init" }, { "inputs": [ { "internalType": "bytes", "name": "_actionData", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "receiveCallFromVault" } ], "devdoc": { "kind": "dev", "methods": { "getDebtAssets()": { "details": "Debt assets are composed by two type of balances: account portfolio and account assets Both concepts can be found here: https://docs.notional.finance/developer-documentation/how-to/lend-and-borrow-fcash", "returns": { "amounts_": "Debt asset amounts", "assets_": "Debt assets" } }, "getManagedAssets()": { "details": "Managed assets are composed by two type of balances: account portfolio and account assets Both concepts can be found here: https://docs.notional.finance/developer-documentation/how-to/lend-and-borrow-fcash", "returns": { "amounts_": "Managed asset amounts", "assets_": "Managed assets" } }, "init(bytes)": { "details": "Nothing to initialize for this contract" }, "receiveCallFromVault(bytes)": { "params": { "_actionData": "Encoded data to execute the action" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "getDebtAssets()": { "notice": "Retrieves the debt assets (negative value) of the external position" }, "getManagedAssets()": { "notice": "Retrieves the managed assets (positive value) of the external position" }, "init(bytes)": { "notice": "Initializes the external position" }, "receiveCallFromVault(bytes)": { "notice": "Receives and executes a call from the Vault" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/external-position-manager/external-positions/notional-v2/NotionalV2PositionLib.sol": "NotionalV2PositionLib" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/external-positions/IExternalPosition.sol": { "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", "urls": [ "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/notional-v2/INotionalV2Position.sol": { "keccak256": "0x95410ae6c17757a4fcc0d41f57589e9ed96ed15ecbe75e390c3cf69d1a57232e", "urls": [ "bzz-raw://52a923ab694dfa125a3daa54bbbb3de07268e9c4714c25111757f622ea295810", "dweb:/ipfs/QmQGQpRBXYXdTgk96xDrNg4C7RVLNxoCo9MHaityKGgYps" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/notional-v2/NotionalV2PositionDataDecoder.sol": { "keccak256": "0x89b1b1233048f9be2c3152b30a95f9f719ff5a74d4930e2a960bdb9d3bff71d2", "urls": [ "bzz-raw://7e13d4bedc4bf821541922ae7e1ec9ec3bb81f701bb06d42de262addc27522c6", "dweb:/ipfs/QmanckuLpD6Q94QnHbM8EhyvpGBNUHyF2WRhezYta4UQ6R" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/notional-v2/NotionalV2PositionLib.sol": { "keccak256": "0x9fc3d529c063686209001044e43c7eb0a0fcca53b4c8f43fbeac20758baec052", "urls": [ "bzz-raw://ea37db1f4b471ab94a558e75dda780e7a7ac186e2e2b6c2c5f42b6c391fd5352", "dweb:/ipfs/QmSa9DNcE9KfEMJeCm8FV68uEFZ2aw5yC7CQuG1fdS7QDH" ], "license": "GPL-3.0" }, "contracts/release/interfaces/INotionalV2Router.sol": { "keccak256": "0x049f3eac5a5cf7f182f7fc8274e2c18343be226a861117fbfd5d9502b88c83c9", "urls": [ "bzz-raw://bdc2a04e7ac5671c0fc51b9625af0aec1639ce6d70ea0f991d3c51a278a8ed33", "dweb:/ipfs/QmRtdF7yfkjgwBgFcXeoG3MiGTLjU726pZwr7yaeimvwtt" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IWETH.sol": { "keccak256": "0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2", "urls": [ "bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2", "dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ" ], "license": "GPL-3.0" }, "contracts/release/utils/AssetHelpers.sol": { "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", "urls": [ "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", "urls": [ "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Address.sol": { "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", "urls": [ "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" } }, "version": 1 }, "id": 120 } diff --git a/eth_defi/abi/enzyme/NotionalV2PositionParser.json b/eth_defi/abi/enzyme/NotionalV2PositionParser.json index 5067654c..562c1c79 100644 --- a/eth_defi/abi/enzyme/NotionalV2PositionParser.json +++ b/eth_defi/abi/enzyme/NotionalV2PositionParser.json @@ -1,317 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_notionalV2Router", - "type": "address" - }, - { - "internalType": "address", - "name": "_weth", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_actionId", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_encodedActionArgs", - "type": "bytes" - } - ], - "name": "parseAssetsForAction", - "outputs": [ - { - "internalType": "address[]", - "name": "assetsToTransfer_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "amountsToTransfer_", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "assetsToReceive_", - "type": "address[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "parseInitArgs", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x60c060405234801561001057600080fd5b50604051610c9f380380610c9f83398101604081905261002f9161005e565b6001600160601b0319606092831b8116608052911b1660a0526100c0565b8051610058816100a9565b92915050565b6000806040838503121561007157600080fd5b600061007d858561004d565b925050602061008e8582860161004d565b9150509250929050565b60006001600160a01b038216610058565b6100b281610098565b81146100bd57600080fd5b50565b60805160601c60a05160601c610bb66100e9600039806104145250806104575250610bb66000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063bbd2d6461461003b578063db16c72e14610066575b600080fd5b61004e6100493660046106fe565b610086565b60405161005d93929190610a0b565b60405180910390f35b6100796100743660046106ac565b6103cc565b60405161005d9190610a4d565b60608080846101375760008061009b866103e2565b6040805160018082528183019092529294509092506020808301908036833750506040805160018082528183019092529297509050602080830190803683370190505093506100e982610402565b856000815181106100f657fe5b60200260200101906001600160a01b031690816001600160a01b031681525050808460008151811061012457fe5b60200260200101818152505050506103c3565b600185141561021857600080600061014e876104e8565b9194509250905060f881901c156101805760405162461bcd60e51b815260040161017790610a65565b60405180910390fd5b604080516001808252818301909252906020808301908036833750506040805160018082528183019092529298509050602080830190803683370190505094506101c983610402565b866000815181106101d657fe5b60200260200101906001600160a01b031690816001600160a01b031681525050818560008151811061020457fe5b6020026020010181815250505050506103c3565b600285141561028b57600061022c8561050e565b506040805160018082528183019092529192506020808301908036833701905050915061025881610402565b8260008151811061026557fe5b60200260200101906001600160a01b031690816001600160a01b031681525050506103c3565b60038514156103c3576000806000806102a388610525565b9296509094509250905060f883901c6001146102d15760405162461bcd60e51b815260040161017790610a65565b8015610368576040805160018082528183019092529060208083019080368337505060408051600180825281830190925292995090506020808301908036833701905050955061032082610402565b8760008151811061032d57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050808660008151811061035b57fe5b6020026020010181815250505b604080516001808252818301909252906020808301908036833701905050945061039184610402565b8560008151811061039e57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050505050505b93509350939050565b6040805160208101909152600081525b92915050565b600080828060200190518101906103f991906107f5565b91509150915091565b600061ffff82166001141561043857507f00000000000000000000000000000000000000000000000000000000000000006104e3565b61044061054e565b60405163275d68c760e11b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690634ebad18e9061048c908690600401610a75565b6101406040518083038186803b1580156104a557600080fd5b505afa1580156104b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104dd9190610763565b51925050505b919050565b6000806000838060200190518101906105019190610825565b9250925092509193909250565b600080828060200190518101906103f99190610868565b6000806000808480602001905181019061053f9190610794565b93509350935093509193509193565b6040805160a0810182526000808252602082018190529181018290529060608201908152602001600081525090565b80356103dc81610b61565b80516103dc81610b61565b80516103dc81610b78565b80516103dc81610b81565b600082601f8301126105ba57600080fd5b81356105cd6105c882610aaa565b610a83565b915080825260208301602083018583830111156105e957600080fd5b6105f4838284610b1b565b50505092915050565b80516103dc81610b8a565b600060a0828403121561061a57600080fd5b61062460a0610a83565b905060006106328484610588565b825250602061064384848301610593565b60208301525060406106578482850161059e565b604083015250606061066b848285016105fd565b606083015250608061067f8482850161059e565b60808301525092915050565b80516103dc81610b97565b80356103dc81610b81565b80516103dc81610ba0565b600080604083850312156106bf57600080fd5b60006106cb858561057d565b925050602083013567ffffffffffffffff8111156106e857600080fd5b6106f4858286016105a9565b9150509250929050565b60008060006060848603121561071357600080fd5b600061071f868661057d565b935050602061073086828701610696565b925050604084013567ffffffffffffffff81111561074d57600080fd5b610759868287016105a9565b9150509250925092565b600080610140838503121561077757600080fd5b60006107838585610608565b92505060a06106f485828601610608565b600080600080608085870312156107aa57600080fd5b60006107b6878761068b565b94505060206107c78782880161059e565b93505060406107d88782880161068b565b92505060606107e98782880161059e565b91505092959194509250565b6000806040838503121561080857600080fd5b6000610814858561068b565b92505060206106f48582860161059e565b60008060006060848603121561083a57600080fd5b6000610846868661068b565b93505060206108578682870161059e565b92505060406107598682870161059e565b6000806040838503121561087b57600080fd5b6000610887858561068b565b92505060206106f4858286016106a1565b60006108a483836108b8565b505060200190565b60006108a48383610a02565b6108c181610ae5565b82525050565b60006108d282610ad8565b6108dc8185610adc565b93506108e783610ad2565b8060005b838110156109155781516108ff8882610898565b975061090a83610ad2565b9250506001016108eb565b509495945050505050565b600061092b82610ad8565b6109358185610adc565b935061094083610ad2565b8060005b8381101561091557815161095888826108ac565b975061096383610ad2565b925050600101610944565b600061097982610ad8565b6109838185610adc565b9350610993818560208601610b27565b61099c81610b57565b9093019392505050565b60006109b3603183610adc565b7f7061727365417373657473466f72416374696f6e3a20496e636f727265637420815270747261646520616374696f6e207479706560781b602082015260400192915050565b6108c181610af8565b6108c181610af5565b60608082528101610a1c81866108c7565b90508181036020830152610a308185610920565b90508181036040830152610a4481846108c7565b95945050505050565b60208082528101610a5e818461096e565b9392505050565b602080825281016103dc816109a6565b602081016103dc82846109f9565b60405181810167ffffffffffffffff81118282101715610aa257600080fd5b604052919050565b600067ffffffffffffffff821115610ac157600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b60006103dc82610aff565b151590565b90565b61ffff1690565b6001600160a01b031690565b6affffffffffffffffffffff1690565b82818337506000910152565b60005b83811015610b42578181015183820152602001610b2a565b83811115610b51576000848401525b50505050565b601f01601f191690565b610b6a81610ae5565b8114610b7557600080fd5b50565b610b6a81610af0565b610b6a81610af5565b60068110610b7557600080fd5b610b6a81610af8565b610b6a81610b0b56fea164736f6c634300060c000a", - "sourceMap": "627:4528:121:-:0;;;1000:172;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;1071:66:121;;;;;;;;1147:18;;;;;627:4528;;5:134:-1;83:13;;101:33;83:13;101:33;:::i;:::-;68:71;;;;:::o;146:399::-;;;278:2;266:9;257:7;253:23;249:32;246:2;;;294:1;291;284:12;246:2;329:1;346:64;402:7;382:9;346:64;:::i;:::-;336:74;;308:108;447:2;465:64;521:7;512:6;501:9;497:22;465:64;:::i;:::-;455:74;;426:109;240:305;;;;;:::o;552:91::-;;-1:-1;;;;;712:54;;614:24;695:76::o;778:117::-;847:24;865:5;847:24;:::i;:::-;840:5;837:35;827:2;;886:1;883;876:12;827:2;821:74;:::o;:::-;627:4528:121;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c8063bbd2d6461461003b578063db16c72e14610066575b600080fd5b61004e6100493660046106fe565b610086565b60405161005d93929190610a0b565b60405180910390f35b6100796100743660046106ac565b6103cc565b60405161005d9190610a4d565b60608080846101375760008061009b866103e2565b6040805160018082528183019092529294509092506020808301908036833750506040805160018082528183019092529297509050602080830190803683370190505093506100e982610402565b856000815181106100f657fe5b60200260200101906001600160a01b031690816001600160a01b031681525050808460008151811061012457fe5b60200260200101818152505050506103c3565b600185141561021857600080600061014e876104e8565b9194509250905060f881901c156101805760405162461bcd60e51b815260040161017790610a65565b60405180910390fd5b604080516001808252818301909252906020808301908036833750506040805160018082528183019092529298509050602080830190803683370190505094506101c983610402565b866000815181106101d657fe5b60200260200101906001600160a01b031690816001600160a01b031681525050818560008151811061020457fe5b6020026020010181815250505050506103c3565b600285141561028b57600061022c8561050e565b506040805160018082528183019092529192506020808301908036833701905050915061025881610402565b8260008151811061026557fe5b60200260200101906001600160a01b031690816001600160a01b031681525050506103c3565b60038514156103c3576000806000806102a388610525565b9296509094509250905060f883901c6001146102d15760405162461bcd60e51b815260040161017790610a65565b8015610368576040805160018082528183019092529060208083019080368337505060408051600180825281830190925292995090506020808301908036833701905050955061032082610402565b8760008151811061032d57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050808660008151811061035b57fe5b6020026020010181815250505b604080516001808252818301909252906020808301908036833701905050945061039184610402565b8560008151811061039e57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050505050505b93509350939050565b6040805160208101909152600081525b92915050565b600080828060200190518101906103f991906107f5565b91509150915091565b600061ffff82166001141561043857507f00000000000000000000000000000000000000000000000000000000000000006104e3565b61044061054e565b60405163275d68c760e11b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690634ebad18e9061048c908690600401610a75565b6101406040518083038186803b1580156104a557600080fd5b505afa1580156104b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104dd9190610763565b51925050505b919050565b6000806000838060200190518101906105019190610825565b9250925092509193909250565b600080828060200190518101906103f99190610868565b6000806000808480602001905181019061053f9190610794565b93509350935093509193509193565b6040805160a0810182526000808252602082018190529181018290529060608201908152602001600081525090565b80356103dc81610b61565b80516103dc81610b61565b80516103dc81610b78565b80516103dc81610b81565b600082601f8301126105ba57600080fd5b81356105cd6105c882610aaa565b610a83565b915080825260208301602083018583830111156105e957600080fd5b6105f4838284610b1b565b50505092915050565b80516103dc81610b8a565b600060a0828403121561061a57600080fd5b61062460a0610a83565b905060006106328484610588565b825250602061064384848301610593565b60208301525060406106578482850161059e565b604083015250606061066b848285016105fd565b606083015250608061067f8482850161059e565b60808301525092915050565b80516103dc81610b97565b80356103dc81610b81565b80516103dc81610ba0565b600080604083850312156106bf57600080fd5b60006106cb858561057d565b925050602083013567ffffffffffffffff8111156106e857600080fd5b6106f4858286016105a9565b9150509250929050565b60008060006060848603121561071357600080fd5b600061071f868661057d565b935050602061073086828701610696565b925050604084013567ffffffffffffffff81111561074d57600080fd5b610759868287016105a9565b9150509250925092565b600080610140838503121561077757600080fd5b60006107838585610608565b92505060a06106f485828601610608565b600080600080608085870312156107aa57600080fd5b60006107b6878761068b565b94505060206107c78782880161059e565b93505060406107d88782880161068b565b92505060606107e98782880161059e565b91505092959194509250565b6000806040838503121561080857600080fd5b6000610814858561068b565b92505060206106f48582860161059e565b60008060006060848603121561083a57600080fd5b6000610846868661068b565b93505060206108578682870161059e565b92505060406107598682870161059e565b6000806040838503121561087b57600080fd5b6000610887858561068b565b92505060206106f4858286016106a1565b60006108a483836108b8565b505060200190565b60006108a48383610a02565b6108c181610ae5565b82525050565b60006108d282610ad8565b6108dc8185610adc565b93506108e783610ad2565b8060005b838110156109155781516108ff8882610898565b975061090a83610ad2565b9250506001016108eb565b509495945050505050565b600061092b82610ad8565b6109358185610adc565b935061094083610ad2565b8060005b8381101561091557815161095888826108ac565b975061096383610ad2565b925050600101610944565b600061097982610ad8565b6109838185610adc565b9350610993818560208601610b27565b61099c81610b57565b9093019392505050565b60006109b3603183610adc565b7f7061727365417373657473466f72416374696f6e3a20496e636f727265637420815270747261646520616374696f6e207479706560781b602082015260400192915050565b6108c181610af8565b6108c181610af5565b60608082528101610a1c81866108c7565b90508181036020830152610a308185610920565b90508181036040830152610a4481846108c7565b95945050505050565b60208082528101610a5e818461096e565b9392505050565b602080825281016103dc816109a6565b602081016103dc82846109f9565b60405181810167ffffffffffffffff81118282101715610aa257600080fd5b604052919050565b600067ffffffffffffffff821115610ac157600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b60006103dc82610aff565b151590565b90565b61ffff1690565b6001600160a01b031690565b6affffffffffffffffffffff1690565b82818337506000910152565b60005b83811015610b42578181015183820152602001610b2a565b83811115610b51576000848401525b50505050565b601f01601f191690565b610b6a81610ae5565b8114610b7557600080fd5b50565b610b6a81610af0565b610b6a81610af5565b60068110610b7557600080fd5b610b6a81610af8565b610b6a81610b0b56fea164736f6c634300060c000a", - "sourceMap": "627:4528:121:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1651:2794;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;4590:113;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1651:2794::-;1836:34;;;1995:63;1991:2373;;2075:17;2094:29;2127:81;2176:18;2127:31;:81::i;:::-;2243:16;;;2257:1;2243:16;;;;;;;;;2074:134;;-1:-1:-1;2074:134:121;;-1:-1:-1;2243:16:121;;;;;;;;;-1:-1:-1;;2294:16:121;;;2308:1;2294:16;;;;;;;;;2223:36;;-1:-1:-1;2308:1:121;-1:-1:-1;2294:16:121;;;;;;;;;;;-1:-1:-1;2294:16:121;2273:37;;2348:35;2372:10;2348:23;:35::i;:::-;2325:17;2343:1;2325:20;;;;;;;;;;;;;:58;-1:-1:-1;;;;;2325:58:121;;;-1:-1:-1;;;;;2325:58:121;;;;;2421:21;2397:18;2416:1;2397:21;;;;;;;;;;;;;:45;;;;;1991:2373;;;;;2484:32;2463:9;:54;2459:1905;;;2551:17;2586:29;2633:20;2670:42;2693:18;2670:22;:42::i;:::-;2533:179;;-1:-1:-1;2533:179:121;-1:-1:-1;2533:179:121;-1:-1:-1;2752:27:121;;;;:53;2727:161;;;;-1:-1:-1;;;2727:161:121;;;;;;;:::i;:::-;;;;;;;;;2923:16;;;2937:1;2923:16;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2974:16:121;;;2988:1;2974:16;;;;;;;;;2903:36;;-1:-1:-1;2988:1:121;-1:-1:-1;2974:16:121;;;;;;;;;;;-1:-1:-1;2974:16:121;2953:37;;3028:35;3052:10;3028:23;:35::i;:::-;3005:17;3023:1;3005:20;;;;;;;;;;;;;:58;-1:-1:-1;;;;;3005:58:121;;;-1:-1:-1;;;;;3005:58:121;;;;;3101:21;3077:18;3096:1;3077:21;;;;;;;;;;;;;:45;;;;;2459:1905;;;;;;3164:34;3143:9;:56;3139:1225;;;3216:17;3239:44;3264:18;3239:24;:44::i;:::-;-1:-1:-1;3317:16:121;;;3331:1;3317:16;;;;;;;;;3215:68;;-1:-1:-1;3317:16:121;;;;;;;;;;;-1:-1:-1;3317:16:121;3298:35;;3369;3393:10;3369:23;:35::i;:::-;3347:16;3364:1;3347:19;;;;;;;;;;;;;:57;-1:-1:-1;;;;;3347:57:121;;;-1:-1:-1;;;;;3347:57:121;;;;;3139:1225;;;;3446:34;3425:9;:56;3421:943;;;3515:23;3556:20;3594:27;3639:29;3685:44;3710:18;3685:24;:44::i;:::-;3497:232;;-1:-1:-1;3497:232:121;;-1:-1:-1;3497:232:121;-1:-1:-1;3497:232:121;-1:-1:-1;3769:27:121;;;;825:1;3769:55;3744:163;;;;-1:-1:-1;;;3744:163:121;;;;;;;:::i;:::-;3926:25;;3922:305;;3991:16;;;4005:1;3991:16;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4046:16:121;;;4060:1;4046:16;;;;;;;;;3971:36;;-1:-1:-1;4060:1:121;-1:-1:-1;4046:16:121;;;;;;;;;;;-1:-1:-1;4046:16:121;4025:37;;4104:45;4128:20;4104:23;:45::i;:::-;4081:17;4099:1;4081:20;;;;;;;;;;;;;:68;-1:-1:-1;;;;;4081:68:121;;;-1:-1:-1;;;;;4081:68:121;;;;;4191:21;4167:18;4186:1;4167:21;;;;;;;;;;;;;:45;;;;;3922:305;4260:16;;;4274:1;4260:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4260:16:121;4241:35;;4312:41;4336:16;4312:23;:41::i;:::-;4290:16;4307:1;4290:19;;;;;;;;;;;;;:63;-1:-1:-1;;;;;4290:63:121;;;-1:-1:-1;;;;;4290:63:121;;;;;3421:943;;;;;1651:2794;;;;;;;:::o;4590:113::-;4687:9;;;;;;;;;-1:-1:-1;4687:9:121;;4590:113;;;;;:::o;595:236:119:-;709:18;729:30;793:11;782:42;;;;;;;;;;;;:::i;:::-;775:49;;;;595:236;;;:::o;4804:349:121:-;4879:14;4909:30;;;767:1;4909:30;4905:78;;;-1:-1:-1;4962:10:121;4955:17;;4905:78;4996:36;;:::i;:::-;5036:74;;-1:-1:-1;;;5036:74:121;;-1:-1:-1;;;;;5036:27:121;:39;;;;:74;;5089:11;;5036:74;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5128:18;;-1:-1:-1;;;4804:349:121;;;;:::o;1340:309:119:-;1458:18;1490:30;1534:25;1602:11;1591:51;;;;;;;;;;;;:::i;:::-;1584:58;;;;;;1340:309;;;;;:::o;1720:222::-;1827:18;1847:24;1905:11;1894:41;;;;;;;;;;;;:::i;902:369::-;1022:24;1060:27;1101:28;1143:30;1216:11;1205:59;;;;;;;;;;;;:::i;:::-;1198:66;;;;;;;;902:369;;;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5:130::-;72:20;;97:33;72:20;97:33;:::i;142:134::-;220:13;;238:33;220:13;238:33;:::i;283:128::-;358:13;;376:30;358:13;376:30;:::i;418:134::-;496:13;;514:33;496:13;514:33;:::i;560:440::-;;661:3;654:4;646:6;642:17;638:27;628:2;;679:1;676;669:12;628:2;716:6;703:20;738:64;753:48;794:6;753:48;:::i;:::-;738:64;:::i;:::-;729:73;;822:6;815:5;808:21;858:4;850:6;846:17;891:4;884:5;880:16;926:3;917:6;912:3;908:16;905:25;902:2;;;943:1;940;933:12;902:2;953:41;987:6;982:3;977;953:41;:::i;:::-;621:379;;;;;;;:::o;1008:164::-;1101:13;;1119:48;1101:13;1119:48;:::i;1355:1019::-;;1479:4;1467:9;1462:3;1458:19;1454:30;1451:2;;;1497:1;1494;1487:12;1451:2;1515:20;1530:4;1515:20;:::i;:::-;1506:29;-1:-1;1593:1;1625:60;1681:3;1661:9;1625:60;:::i;:::-;1600:86;;-1:-1;1757:2;1790:57;1843:3;1819:22;;;1790:57;:::i;:::-;1783:4;1776:5;1772:16;1765:83;1707:152;1913:2;1946:59;2001:3;1992:6;1981:9;1977:22;1946:59;:::i;:::-;1939:4;1932:5;1928:16;1921:85;1869:148;2072:2;2105:75;2176:3;2167:6;2156:9;2152:22;2105:75;:::i;:::-;2098:4;2091:5;2087:16;2080:101;2027:165;2258:3;2292:60;2348:3;2339:6;2328:9;2324:22;2292:60;:::i;:::-;2285:4;2278:5;2274:16;2267:86;2202:162;1445:929;;;;:::o;2381:132::-;2458:13;;2476:32;2458:13;2476:32;:::i;2520:130::-;2587:20;;2612:33;2587:20;2612:33;:::i;2798:132::-;2875:13;;2893:32;2875:13;2893:32;:::i;2937:470::-;;;3067:2;3055:9;3046:7;3042:23;3038:32;3035:2;;;3083:1;3080;3073:12;3035:2;3118:1;3135:53;3180:7;3160:9;3135:53;:::i;:::-;3125:63;;3097:97;3253:2;3242:9;3238:18;3225:32;3277:18;3269:6;3266:30;3263:2;;;3309:1;3306;3299:12;3263:2;3329:62;3383:7;3374:6;3363:9;3359:22;3329:62;:::i;:::-;3319:72;;3204:193;3029:378;;;;;:::o;3414:595::-;;;;3561:2;3549:9;3540:7;3536:23;3532:32;3529:2;;;3577:1;3574;3567:12;3529:2;3612:1;3629:53;3674:7;3654:9;3629:53;:::i;:::-;3619:63;;3591:97;3719:2;3737:53;3782:7;3773:6;3762:9;3758:22;3737:53;:::i;:::-;3727:63;;3698:98;3855:2;3844:9;3840:18;3827:32;3879:18;3871:6;3868:30;3865:2;;;3911:1;3908;3901:12;3865:2;3931:62;3985:7;3976:6;3965:9;3961:22;3931:62;:::i;:::-;3921:72;;3806:193;3523:486;;;;;:::o;4016:497::-;;;4196:3;4184:9;4175:7;4171:23;4167:33;4164:2;;;4213:1;4210;4203:12;4164:2;4248:1;4265:88;4345:7;4325:9;4265:88;:::i;:::-;4255:98;;4227:132;4390:3;4409:88;4489:7;4480:6;4469:9;4465:22;4409:88;:::i;4520:668::-;;;;;4684:3;4672:9;4663:7;4659:23;4655:33;4652:2;;;4701:1;4698;4691:12;4652:2;4736:1;4753:63;4808:7;4788:9;4753:63;:::i;:::-;4743:73;;4715:107;4853:2;4871:64;4927:7;4918:6;4907:9;4903:22;4871:64;:::i;:::-;4861:74;;4832:109;4972:2;4990:63;5045:7;5036:6;5025:9;5021:22;4990:63;:::i;:::-;4980:73;;4951:108;5090:2;5108:64;5164:7;5155:6;5144:9;5140:22;5108:64;:::i;:::-;5098:74;;5069:109;4646:542;;;;;;;:::o;5195:397::-;;;5326:2;5314:9;5305:7;5301:23;5297:32;5294:2;;;5342:1;5339;5332:12;5294:2;5377:1;5394:63;5449:7;5429:9;5394:63;:::i;:::-;5384:73;;5356:107;5494:2;5512:64;5568:7;5559:6;5548:9;5544:22;5512:64;:::i;5599:533::-;;;;5747:2;5735:9;5726:7;5722:23;5718:32;5715:2;;;5763:1;5760;5753:12;5715:2;5798:1;5815:63;5870:7;5850:9;5815:63;:::i;:::-;5805:73;;5777:107;5915:2;5933:64;5989:7;5980:6;5969:9;5965:22;5933:64;:::i;:::-;5923:74;;5894:109;6034:2;6052:64;6108:7;6099:6;6088:9;6084:22;6052:64;:::i;6139:395::-;;;6269:2;6257:9;6248:7;6244:23;6240:32;6237:2;;;6285:1;6282;6275:12;6237:2;6320:1;6337:63;6392:7;6372:9;6337:63;:::i;:::-;6327:73;;6299:107;6437:2;6455:63;6510:7;6501:6;6490:9;6486:22;6455:63;:::i;6542:173::-;;6629:46;6671:3;6663:6;6629:46;:::i;:::-;-1:-1;;6704:4;6695:14;;6622:93::o;6724:173::-;;6811:46;6853:3;6845:6;6811:46;:::i;6905:103::-;6978:24;6996:5;6978:24;:::i;:::-;6973:3;6966:37;6960:48;;:::o;7046:690::-;;7191:54;7239:5;7191:54;:::i;:::-;7258:86;7337:6;7332:3;7258:86;:::i;:::-;7251:93;;7365:56;7415:5;7365:56;:::i;:::-;7441:7;7469:1;7454:260;7479:6;7476:1;7473:13;7454:260;;;7546:6;7540:13;7567:63;7626:3;7611:13;7567:63;:::i;:::-;7560:70;;7647:60;7700:6;7647:60;:::i;:::-;7637:70;-1:-1;;7501:1;7494:9;7454:260;;;-1:-1;7727:3;;7170:566;-1:-1;;;;;7170:566::o;7775:690::-;;7920:54;7968:5;7920:54;:::i;:::-;7987:86;8066:6;8061:3;7987:86;:::i;:::-;7980:93;;8094:56;8144:5;8094:56;:::i;:::-;8170:7;8198:1;8183:260;8208:6;8205:1;8202:13;8183:260;;;8275:6;8269:13;8296:63;8355:3;8340:13;8296:63;:::i;:::-;8289:70;;8376:60;8429:6;8376:60;:::i;:::-;8366:70;-1:-1;;8230:1;8223:9;8183:260;;8473:343;;8583:38;8615:5;8583:38;:::i;:::-;8633:70;8696:6;8691:3;8633:70;:::i;:::-;8626:77;;8708:52;8753:6;8748:3;8741:4;8734:5;8730:16;8708:52;:::i;:::-;8781:29;8803:6;8781:29;:::i;:::-;8772:39;;;;8563:253;-1:-1;;;8563:253::o;8824:386::-;;8984:67;9048:2;9043:3;8984:67;:::i;:::-;9084:34;9064:55;;-1:-1;;;9148:2;9139:12;;9132:41;9201:2;9192:12;;8970:240;-1:-1;;8970:240::o;9218:110::-;9299:23;9316:5;9299:23;:::i;9335:103::-;9408:24;9426:5;9408:24;:::i;9445:888::-;9778:2;9792:47;;;9763:18;;9853:108;9763:18;9947:6;9853:108;:::i;:::-;9845:116;;10009:9;10003:4;9999:20;9994:2;9983:9;9979:18;9972:48;10034:108;10137:4;10128:6;10034:108;:::i;:::-;10026:116;;10190:9;10184:4;10180:20;10175:2;10164:9;10160:18;10153:48;10215:108;10318:4;10309:6;10215:108;:::i;:::-;10207:116;9749:584;-1:-1;;;;;9749:584::o;10340:306::-;10485:2;10499:47;;;10470:18;;10560:76;10470:18;10622:6;10560:76;:::i;:::-;10552:84;10456:190;-1:-1;;;10456:190::o;10653:416::-;10853:2;10867:47;;;10838:18;;10928:131;10838:18;10928:131;:::i;11076:218::-;11201:2;11186:18;;11215:69;11190:9;11257:6;11215:69;:::i;11301:256::-;11363:2;11357:9;11389:17;;;11464:18;11449:34;;11485:22;;;11446:62;11443:2;;;11521:1;11518;11511:12;11443:2;11537;11530:22;11341:216;;-1:-1;11341:216::o;11564:321::-;;11707:18;11699:6;11696:30;11693:2;;;11739:1;11736;11729:12;11693:2;-1:-1;11870:4;11806;11783:17;;;;-1:-1;;11779:33;11860:15;;11630:255::o;11892:151::-;12016:4;12007:14;;11964:79::o;12208:137::-;12311:12;;12282:63::o;12855:178::-;12973:19;;;13022:4;13013:14;;12966:67::o;13571:91::-;;13633:24;13651:5;13633:24;:::i;13669:85::-;13735:13;13728:21;;13711:43::o;13761:72::-;13823:5;13806:27::o;13918:84::-;13990:6;13979:18;;13962:40::o;14009:121::-;-1:-1;;;;;14071:54;;14054:76::o;14216:102::-;14288:24;14277:36;;14260:58::o;14326:145::-;14407:6;14402:3;14397;14384:30;-1:-1;14463:1;14445:16;;14438:27;14377:94::o;14480:268::-;14545:1;14552:101;14566:6;14563:1;14560:13;14552:101;;;14633:11;;;14627:18;14614:11;;;14607:39;14588:2;14581:10;14552:101;;;14668:6;14665:1;14662:13;14659:2;;;14733:1;14724:6;14719:3;14715:16;14708:27;14659:2;14529:219;;;;:::o;14756:97::-;14844:2;14824:14;-1:-1;;14820:28;;14804:49::o;14861:117::-;14930:24;14948:5;14930:24;:::i;:::-;14923:5;14920:35;14910:2;;14969:1;14966;14959:12;14910:2;14904:74;:::o;14985:111::-;15051:21;15066:5;15051:21;:::i;15103:117::-;15172:24;15190:5;15172:24;:::i;15227:109::-;15311:1;15304:5;15301:12;15291:2;;15327:1;15324;15317:12;15465:115;15533:23;15550:5;15533:23;:::i;15711:115::-;15779:23;15796:5;15779:23;:::i", - "linkReferences": {}, - "immutableReferences": { - "29771": [ - { - "start": 1111, - "length": 32 - } - ], - "29773": [ - { - "start": 1044, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "parseAssetsForAction(address,uint256,bytes)": "bbd2d646", - "parseInitArgs(address,bytes)": "db16c72e" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_notionalV2Router\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_weth\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_actionId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_encodedActionArgs\",\"type\":\"bytes\"}],\"name\":\"parseAssetsForAction\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"assetsToTransfer_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amountsToTransfer_\",\"type\":\"uint256[]\"},{\"internalType\":\"address[]\",\"name\":\"assetsToReceive_\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"parseInitArgs\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"parseAssetsForAction(address,uint256,bytes)\":{\"params\":{\"_actionId\":\"The _actionId for the callOnExternalPosition\",\"_encodedActionArgs\":\"The encoded parameters for the callOnExternalPosition\"},\"returns\":{\"amountsToTransfer_\":\"The amounts to be transferred from the Vault\",\"assetsToReceive_\":\"The assets to be received at the Vault\",\"assetsToTransfer_\":\"The assets to be transferred from the Vault\"}},\"parseInitArgs(address,bytes)\":{\"details\":\"Unused\"}},\"title\":\"NotionalV2PositionParser\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"parseAssetsForAction(address,uint256,bytes)\":{\"notice\":\"Parses the assets to send and receive for the callOnExternalPosition\"},\"parseInitArgs(address,bytes)\":{\"notice\":\"Parse and validate input arguments to be used when initializing a newly-deployed ExternalPositionProxy\"}},\"notice\":\"Parser for Notional V2 Positions\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/notional-v2/NotionalV2PositionParser.sol\":\"NotionalV2PositionParser\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/release/extensions/external-position-manager/external-positions/IExternalPositionParser.sol\":{\"keccak256\":\"0x1662fbd65841ee5e9cf8d5329b9d04c264b24ef68ae1e0484e59a8969b0d2c46\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://580569b0f875e0344db83fae1e72dcc6c0767a049b2a6cc3e4f3c411d2284b27\",\"dweb:/ipfs/QmXFmF9QbcVsPHaBo1iq8sZHYhDkwfkMZpHmLTuJJ37NvZ\"]},\"contracts/release/extensions/external-position-manager/external-positions/notional-v2/INotionalV2Position.sol\":{\"keccak256\":\"0x95410ae6c17757a4fcc0d41f57589e9ed96ed15ecbe75e390c3cf69d1a57232e\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://52a923ab694dfa125a3daa54bbbb3de07268e9c4714c25111757f622ea295810\",\"dweb:/ipfs/QmQGQpRBXYXdTgk96xDrNg4C7RVLNxoCo9MHaityKGgYps\"]},\"contracts/release/extensions/external-position-manager/external-positions/notional-v2/NotionalV2PositionDataDecoder.sol\":{\"keccak256\":\"0x89b1b1233048f9be2c3152b30a95f9f719ff5a74d4930e2a960bdb9d3bff71d2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://7e13d4bedc4bf821541922ae7e1ec9ec3bb81f701bb06d42de262addc27522c6\",\"dweb:/ipfs/QmanckuLpD6Q94QnHbM8EhyvpGBNUHyF2WRhezYta4UQ6R\"]},\"contracts/release/extensions/external-position-manager/external-positions/notional-v2/NotionalV2PositionParser.sol\":{\"keccak256\":\"0x5c3fd3c84674aa7adad5f84f895492dd6d129d679c66442f00f8cdc0b2bb67b0\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5564856b7b36e9c3cda06cbdf3cb415a30b78b49b583e052814f751f68342821\",\"dweb:/ipfs/QmV6tEtVmYvWpp2s3tpcz8januHraKz2gtNRp7yJjfhGp5\"]},\"contracts/release/interfaces/INotionalV2Router.sol\":{\"keccak256\":\"0x049f3eac5a5cf7f182f7fc8274e2c18343be226a861117fbfd5d9502b88c83c9\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bdc2a04e7ac5671c0fc51b9625af0aec1639ce6d70ea0f991d3c51a278a8ed33\",\"dweb:/ipfs/QmRtdF7yfkjgwBgFcXeoG3MiGTLjU726pZwr7yaeimvwtt\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_notionalV2Router", - "type": "address" - }, - { - "internalType": "address", - "name": "_weth", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_actionId", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_encodedActionArgs", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "parseAssetsForAction", - "outputs": [ - { - "internalType": "address[]", - "name": "assetsToTransfer_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "amountsToTransfer_", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "assetsToReceive_", - "type": "address[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "parseInitArgs", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "parseAssetsForAction(address,uint256,bytes)": { - "params": { - "_actionId": "The _actionId for the callOnExternalPosition", - "_encodedActionArgs": "The encoded parameters for the callOnExternalPosition" - }, - "returns": { - "amountsToTransfer_": "The amounts to be transferred from the Vault", - "assetsToReceive_": "The assets to be received at the Vault", - "assetsToTransfer_": "The assets to be transferred from the Vault" - } - }, - "parseInitArgs(address,bytes)": { - "details": "Unused" - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "parseAssetsForAction(address,uint256,bytes)": { - "notice": "Parses the assets to send and receive for the callOnExternalPosition" - }, - "parseInitArgs(address,bytes)": { - "notice": "Parse and validate input arguments to be used when initializing a newly-deployed ExternalPositionProxy" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/external-position-manager/external-positions/notional-v2/NotionalV2PositionParser.sol": "NotionalV2PositionParser" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/external-positions/IExternalPosition.sol": { - "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", - "urls": [ - "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", - "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/IExternalPositionParser.sol": { - "keccak256": "0x1662fbd65841ee5e9cf8d5329b9d04c264b24ef68ae1e0484e59a8969b0d2c46", - "urls": [ - "bzz-raw://580569b0f875e0344db83fae1e72dcc6c0767a049b2a6cc3e4f3c411d2284b27", - "dweb:/ipfs/QmXFmF9QbcVsPHaBo1iq8sZHYhDkwfkMZpHmLTuJJ37NvZ" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/notional-v2/INotionalV2Position.sol": { - "keccak256": "0x95410ae6c17757a4fcc0d41f57589e9ed96ed15ecbe75e390c3cf69d1a57232e", - "urls": [ - "bzz-raw://52a923ab694dfa125a3daa54bbbb3de07268e9c4714c25111757f622ea295810", - "dweb:/ipfs/QmQGQpRBXYXdTgk96xDrNg4C7RVLNxoCo9MHaityKGgYps" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/notional-v2/NotionalV2PositionDataDecoder.sol": { - "keccak256": "0x89b1b1233048f9be2c3152b30a95f9f719ff5a74d4930e2a960bdb9d3bff71d2", - "urls": [ - "bzz-raw://7e13d4bedc4bf821541922ae7e1ec9ec3bb81f701bb06d42de262addc27522c6", - "dweb:/ipfs/QmanckuLpD6Q94QnHbM8EhyvpGBNUHyF2WRhezYta4UQ6R" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/notional-v2/NotionalV2PositionParser.sol": { - "keccak256": "0x5c3fd3c84674aa7adad5f84f895492dd6d129d679c66442f00f8cdc0b2bb67b0", - "urls": [ - "bzz-raw://5564856b7b36e9c3cda06cbdf3cb415a30b78b49b583e052814f751f68342821", - "dweb:/ipfs/QmV6tEtVmYvWpp2s3tpcz8januHraKz2gtNRp7yJjfhGp5" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/INotionalV2Router.sol": { - "keccak256": "0x049f3eac5a5cf7f182f7fc8274e2c18343be226a861117fbfd5d9502b88c83c9", - "urls": [ - "bzz-raw://bdc2a04e7ac5671c0fc51b9625af0aec1639ce6d70ea0f991d3c51a278a8ed33", - "dweb:/ipfs/QmRtdF7yfkjgwBgFcXeoG3MiGTLjU726pZwr7yaeimvwtt" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 121 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_notionalV2Router", "type": "address", "internalType": "address" }, { "name": "_weth", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "parseAssetsForAction", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "_actionId", "type": "uint256", "internalType": "uint256" }, { "name": "_encodedActionArgs", "type": "bytes", "internalType": "bytes" } ], "outputs": [ { "name": "assetsToTransfer_", "type": "address[]", "internalType": "address[]" }, { "name": "amountsToTransfer_", "type": "uint256[]", "internalType": "uint256[]" }, { "name": "assetsToReceive_", "type": "address[]", "internalType": "address[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "parseInitArgs", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [ { "name": "", "type": "bytes", "internalType": "bytes" } ], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x60c060405234801561001057600080fd5b50604051610c9f380380610c9f83398101604081905261002f9161005e565b6001600160601b0319606092831b8116608052911b1660a0526100c0565b8051610058816100a9565b92915050565b6000806040838503121561007157600080fd5b600061007d858561004d565b925050602061008e8582860161004d565b9150509250929050565b60006001600160a01b038216610058565b6100b281610098565b81146100bd57600080fd5b50565b60805160601c60a05160601c610bb66100e9600039806104145250806104575250610bb66000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063bbd2d6461461003b578063db16c72e14610066575b600080fd5b61004e6100493660046106fe565b610086565b60405161005d93929190610a0b565b60405180910390f35b6100796100743660046106ac565b6103cc565b60405161005d9190610a4d565b60608080846101375760008061009b866103e2565b6040805160018082528183019092529294509092506020808301908036833750506040805160018082528183019092529297509050602080830190803683370190505093506100e982610402565b856000815181106100f657fe5b60200260200101906001600160a01b031690816001600160a01b031681525050808460008151811061012457fe5b60200260200101818152505050506103c3565b600185141561021857600080600061014e876104e8565b9194509250905060f881901c156101805760405162461bcd60e51b815260040161017790610a65565b60405180910390fd5b604080516001808252818301909252906020808301908036833750506040805160018082528183019092529298509050602080830190803683370190505094506101c983610402565b866000815181106101d657fe5b60200260200101906001600160a01b031690816001600160a01b031681525050818560008151811061020457fe5b6020026020010181815250505050506103c3565b600285141561028b57600061022c8561050e565b506040805160018082528183019092529192506020808301908036833701905050915061025881610402565b8260008151811061026557fe5b60200260200101906001600160a01b031690816001600160a01b031681525050506103c3565b60038514156103c3576000806000806102a388610525565b9296509094509250905060f883901c6001146102d15760405162461bcd60e51b815260040161017790610a65565b8015610368576040805160018082528183019092529060208083019080368337505060408051600180825281830190925292995090506020808301908036833701905050955061032082610402565b8760008151811061032d57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050808660008151811061035b57fe5b6020026020010181815250505b604080516001808252818301909252906020808301908036833701905050945061039184610402565b8560008151811061039e57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050505050505b93509350939050565b6040805160208101909152600081525b92915050565b600080828060200190518101906103f991906107f5565b91509150915091565b600061ffff82166001141561043857507f00000000000000000000000000000000000000000000000000000000000000006104e3565b61044061054e565b60405163275d68c760e11b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690634ebad18e9061048c908690600401610a75565b6101406040518083038186803b1580156104a557600080fd5b505afa1580156104b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104dd9190610763565b51925050505b919050565b6000806000838060200190518101906105019190610825565b9250925092509193909250565b600080828060200190518101906103f99190610868565b6000806000808480602001905181019061053f9190610794565b93509350935093509193509193565b6040805160a0810182526000808252602082018190529181018290529060608201908152602001600081525090565b80356103dc81610b61565b80516103dc81610b61565b80516103dc81610b78565b80516103dc81610b81565b600082601f8301126105ba57600080fd5b81356105cd6105c882610aaa565b610a83565b915080825260208301602083018583830111156105e957600080fd5b6105f4838284610b1b565b50505092915050565b80516103dc81610b8a565b600060a0828403121561061a57600080fd5b61062460a0610a83565b905060006106328484610588565b825250602061064384848301610593565b60208301525060406106578482850161059e565b604083015250606061066b848285016105fd565b606083015250608061067f8482850161059e565b60808301525092915050565b80516103dc81610b97565b80356103dc81610b81565b80516103dc81610ba0565b600080604083850312156106bf57600080fd5b60006106cb858561057d565b925050602083013567ffffffffffffffff8111156106e857600080fd5b6106f4858286016105a9565b9150509250929050565b60008060006060848603121561071357600080fd5b600061071f868661057d565b935050602061073086828701610696565b925050604084013567ffffffffffffffff81111561074d57600080fd5b610759868287016105a9565b9150509250925092565b600080610140838503121561077757600080fd5b60006107838585610608565b92505060a06106f485828601610608565b600080600080608085870312156107aa57600080fd5b60006107b6878761068b565b94505060206107c78782880161059e565b93505060406107d88782880161068b565b92505060606107e98782880161059e565b91505092959194509250565b6000806040838503121561080857600080fd5b6000610814858561068b565b92505060206106f48582860161059e565b60008060006060848603121561083a57600080fd5b6000610846868661068b565b93505060206108578682870161059e565b92505060406107598682870161059e565b6000806040838503121561087b57600080fd5b6000610887858561068b565b92505060206106f4858286016106a1565b60006108a483836108b8565b505060200190565b60006108a48383610a02565b6108c181610ae5565b82525050565b60006108d282610ad8565b6108dc8185610adc565b93506108e783610ad2565b8060005b838110156109155781516108ff8882610898565b975061090a83610ad2565b9250506001016108eb565b509495945050505050565b600061092b82610ad8565b6109358185610adc565b935061094083610ad2565b8060005b8381101561091557815161095888826108ac565b975061096383610ad2565b925050600101610944565b600061097982610ad8565b6109838185610adc565b9350610993818560208601610b27565b61099c81610b57565b9093019392505050565b60006109b3603183610adc565b7f7061727365417373657473466f72416374696f6e3a20496e636f727265637420815270747261646520616374696f6e207479706560781b602082015260400192915050565b6108c181610af8565b6108c181610af5565b60608082528101610a1c81866108c7565b90508181036020830152610a308185610920565b90508181036040830152610a4481846108c7565b95945050505050565b60208082528101610a5e818461096e565b9392505050565b602080825281016103dc816109a6565b602081016103dc82846109f9565b60405181810167ffffffffffffffff81118282101715610aa257600080fd5b604052919050565b600067ffffffffffffffff821115610ac157600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b60006103dc82610aff565b151590565b90565b61ffff1690565b6001600160a01b031690565b6affffffffffffffffffffff1690565b82818337506000910152565b60005b83811015610b42578181015183820152602001610b2a565b83811115610b51576000848401525b50505050565b601f01601f191690565b610b6a81610ae5565b8114610b7557600080fd5b50565b610b6a81610af0565b610b6a81610af5565b60068110610b7557600080fd5b610b6a81610af8565b610b6a81610b0b56fea164736f6c634300060c000a", "sourceMap": "627:4528:121:-:0;;;1000:172;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;1071:66:121;;;;;;;;1147:18;;;;;627:4528;;5:134:-1;83:13;;101:33;83:13;101:33;:::i;:::-;68:71;;;;:::o;146:399::-;;;278:2;266:9;257:7;253:23;249:32;246:2;;;294:1;291;284:12;246:2;329:1;346:64;402:7;382:9;346:64;:::i;:::-;336:74;;308:108;447:2;465:64;521:7;512:6;501:9;497:22;465:64;:::i;:::-;455:74;;426:109;240:305;;;;;:::o;552:91::-;;-1:-1;;;;;712:54;;614:24;695:76::o;778:117::-;847:24;865:5;847:24;:::i;:::-;840:5;837:35;827:2;;886:1;883;876:12;827:2;821:74;:::o;:::-;627:4528:121;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c8063bbd2d6461461003b578063db16c72e14610066575b600080fd5b61004e6100493660046106fe565b610086565b60405161005d93929190610a0b565b60405180910390f35b6100796100743660046106ac565b6103cc565b60405161005d9190610a4d565b60608080846101375760008061009b866103e2565b6040805160018082528183019092529294509092506020808301908036833750506040805160018082528183019092529297509050602080830190803683370190505093506100e982610402565b856000815181106100f657fe5b60200260200101906001600160a01b031690816001600160a01b031681525050808460008151811061012457fe5b60200260200101818152505050506103c3565b600185141561021857600080600061014e876104e8565b9194509250905060f881901c156101805760405162461bcd60e51b815260040161017790610a65565b60405180910390fd5b604080516001808252818301909252906020808301908036833750506040805160018082528183019092529298509050602080830190803683370190505094506101c983610402565b866000815181106101d657fe5b60200260200101906001600160a01b031690816001600160a01b031681525050818560008151811061020457fe5b6020026020010181815250505050506103c3565b600285141561028b57600061022c8561050e565b506040805160018082528183019092529192506020808301908036833701905050915061025881610402565b8260008151811061026557fe5b60200260200101906001600160a01b031690816001600160a01b031681525050506103c3565b60038514156103c3576000806000806102a388610525565b9296509094509250905060f883901c6001146102d15760405162461bcd60e51b815260040161017790610a65565b8015610368576040805160018082528183019092529060208083019080368337505060408051600180825281830190925292995090506020808301908036833701905050955061032082610402565b8760008151811061032d57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050808660008151811061035b57fe5b6020026020010181815250505b604080516001808252818301909252906020808301908036833701905050945061039184610402565b8560008151811061039e57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050505050505b93509350939050565b6040805160208101909152600081525b92915050565b600080828060200190518101906103f991906107f5565b91509150915091565b600061ffff82166001141561043857507f00000000000000000000000000000000000000000000000000000000000000006104e3565b61044061054e565b60405163275d68c760e11b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690634ebad18e9061048c908690600401610a75565b6101406040518083038186803b1580156104a557600080fd5b505afa1580156104b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104dd9190610763565b51925050505b919050565b6000806000838060200190518101906105019190610825565b9250925092509193909250565b600080828060200190518101906103f99190610868565b6000806000808480602001905181019061053f9190610794565b93509350935093509193509193565b6040805160a0810182526000808252602082018190529181018290529060608201908152602001600081525090565b80356103dc81610b61565b80516103dc81610b61565b80516103dc81610b78565b80516103dc81610b81565b600082601f8301126105ba57600080fd5b81356105cd6105c882610aaa565b610a83565b915080825260208301602083018583830111156105e957600080fd5b6105f4838284610b1b565b50505092915050565b80516103dc81610b8a565b600060a0828403121561061a57600080fd5b61062460a0610a83565b905060006106328484610588565b825250602061064384848301610593565b60208301525060406106578482850161059e565b604083015250606061066b848285016105fd565b606083015250608061067f8482850161059e565b60808301525092915050565b80516103dc81610b97565b80356103dc81610b81565b80516103dc81610ba0565b600080604083850312156106bf57600080fd5b60006106cb858561057d565b925050602083013567ffffffffffffffff8111156106e857600080fd5b6106f4858286016105a9565b9150509250929050565b60008060006060848603121561071357600080fd5b600061071f868661057d565b935050602061073086828701610696565b925050604084013567ffffffffffffffff81111561074d57600080fd5b610759868287016105a9565b9150509250925092565b600080610140838503121561077757600080fd5b60006107838585610608565b92505060a06106f485828601610608565b600080600080608085870312156107aa57600080fd5b60006107b6878761068b565b94505060206107c78782880161059e565b93505060406107d88782880161068b565b92505060606107e98782880161059e565b91505092959194509250565b6000806040838503121561080857600080fd5b6000610814858561068b565b92505060206106f48582860161059e565b60008060006060848603121561083a57600080fd5b6000610846868661068b565b93505060206108578682870161059e565b92505060406107598682870161059e565b6000806040838503121561087b57600080fd5b6000610887858561068b565b92505060206106f4858286016106a1565b60006108a483836108b8565b505060200190565b60006108a48383610a02565b6108c181610ae5565b82525050565b60006108d282610ad8565b6108dc8185610adc565b93506108e783610ad2565b8060005b838110156109155781516108ff8882610898565b975061090a83610ad2565b9250506001016108eb565b509495945050505050565b600061092b82610ad8565b6109358185610adc565b935061094083610ad2565b8060005b8381101561091557815161095888826108ac565b975061096383610ad2565b925050600101610944565b600061097982610ad8565b6109838185610adc565b9350610993818560208601610b27565b61099c81610b57565b9093019392505050565b60006109b3603183610adc565b7f7061727365417373657473466f72416374696f6e3a20496e636f727265637420815270747261646520616374696f6e207479706560781b602082015260400192915050565b6108c181610af8565b6108c181610af5565b60608082528101610a1c81866108c7565b90508181036020830152610a308185610920565b90508181036040830152610a4481846108c7565b95945050505050565b60208082528101610a5e818461096e565b9392505050565b602080825281016103dc816109a6565b602081016103dc82846109f9565b60405181810167ffffffffffffffff81118282101715610aa257600080fd5b604052919050565b600067ffffffffffffffff821115610ac157600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b60006103dc82610aff565b151590565b90565b61ffff1690565b6001600160a01b031690565b6affffffffffffffffffffff1690565b82818337506000910152565b60005b83811015610b42578181015183820152602001610b2a565b83811115610b51576000848401525b50505050565b601f01601f191690565b610b6a81610ae5565b8114610b7557600080fd5b50565b610b6a81610af0565b610b6a81610af5565b60068110610b7557600080fd5b610b6a81610af8565b610b6a81610b0b56fea164736f6c634300060c000a", "sourceMap": "627:4528:121:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1651:2794;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;4590:113;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1651:2794::-;1836:34;;;1995:63;1991:2373;;2075:17;2094:29;2127:81;2176:18;2127:31;:81::i;:::-;2243:16;;;2257:1;2243:16;;;;;;;;;2074:134;;-1:-1:-1;2074:134:121;;-1:-1:-1;2243:16:121;;;;;;;;;-1:-1:-1;;2294:16:121;;;2308:1;2294:16;;;;;;;;;2223:36;;-1:-1:-1;2308:1:121;-1:-1:-1;2294:16:121;;;;;;;;;;;-1:-1:-1;2294:16:121;2273:37;;2348:35;2372:10;2348:23;:35::i;:::-;2325:17;2343:1;2325:20;;;;;;;;;;;;;:58;-1:-1:-1;;;;;2325:58:121;;;-1:-1:-1;;;;;2325:58:121;;;;;2421:21;2397:18;2416:1;2397:21;;;;;;;;;;;;;:45;;;;;1991:2373;;;;;2484:32;2463:9;:54;2459:1905;;;2551:17;2586:29;2633:20;2670:42;2693:18;2670:22;:42::i;:::-;2533:179;;-1:-1:-1;2533:179:121;-1:-1:-1;2533:179:121;-1:-1:-1;2752:27:121;;;;:53;2727:161;;;;-1:-1:-1;;;2727:161:121;;;;;;;:::i;:::-;;;;;;;;;2923:16;;;2937:1;2923:16;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2974:16:121;;;2988:1;2974:16;;;;;;;;;2903:36;;-1:-1:-1;2988:1:121;-1:-1:-1;2974:16:121;;;;;;;;;;;-1:-1:-1;2974:16:121;2953:37;;3028:35;3052:10;3028:23;:35::i;:::-;3005:17;3023:1;3005:20;;;;;;;;;;;;;:58;-1:-1:-1;;;;;3005:58:121;;;-1:-1:-1;;;;;3005:58:121;;;;;3101:21;3077:18;3096:1;3077:21;;;;;;;;;;;;;:45;;;;;2459:1905;;;;;;3164:34;3143:9;:56;3139:1225;;;3216:17;3239:44;3264:18;3239:24;:44::i;:::-;-1:-1:-1;3317:16:121;;;3331:1;3317:16;;;;;;;;;3215:68;;-1:-1:-1;3317:16:121;;;;;;;;;;;-1:-1:-1;3317:16:121;3298:35;;3369;3393:10;3369:23;:35::i;:::-;3347:16;3364:1;3347:19;;;;;;;;;;;;;:57;-1:-1:-1;;;;;3347:57:121;;;-1:-1:-1;;;;;3347:57:121;;;;;3139:1225;;;;3446:34;3425:9;:56;3421:943;;;3515:23;3556:20;3594:27;3639:29;3685:44;3710:18;3685:24;:44::i;:::-;3497:232;;-1:-1:-1;3497:232:121;;-1:-1:-1;3497:232:121;-1:-1:-1;3497:232:121;-1:-1:-1;3769:27:121;;;;825:1;3769:55;3744:163;;;;-1:-1:-1;;;3744:163:121;;;;;;;:::i;:::-;3926:25;;3922:305;;3991:16;;;4005:1;3991:16;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4046:16:121;;;4060:1;4046:16;;;;;;;;;3971:36;;-1:-1:-1;4060:1:121;-1:-1:-1;4046:16:121;;;;;;;;;;;-1:-1:-1;4046:16:121;4025:37;;4104:45;4128:20;4104:23;:45::i;:::-;4081:17;4099:1;4081:20;;;;;;;;;;;;;:68;-1:-1:-1;;;;;4081:68:121;;;-1:-1:-1;;;;;4081:68:121;;;;;4191:21;4167:18;4186:1;4167:21;;;;;;;;;;;;;:45;;;;;3922:305;4260:16;;;4274:1;4260:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4260:16:121;4241:35;;4312:41;4336:16;4312:23;:41::i;:::-;4290:16;4307:1;4290:19;;;;;;;;;;;;;:63;-1:-1:-1;;;;;4290:63:121;;;-1:-1:-1;;;;;4290:63:121;;;;;3421:943;;;;;1651:2794;;;;;;;:::o;4590:113::-;4687:9;;;;;;;;;-1:-1:-1;4687:9:121;;4590:113;;;;;:::o;595:236:119:-;709:18;729:30;793:11;782:42;;;;;;;;;;;;:::i;:::-;775:49;;;;595:236;;;:::o;4804:349:121:-;4879:14;4909:30;;;767:1;4909:30;4905:78;;;-1:-1:-1;4962:10:121;4955:17;;4905:78;4996:36;;:::i;:::-;5036:74;;-1:-1:-1;;;5036:74:121;;-1:-1:-1;;;;;5036:27:121;:39;;;;:74;;5089:11;;5036:74;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5128:18;;-1:-1:-1;;;4804:349:121;;;;:::o;1340:309:119:-;1458:18;1490:30;1534:25;1602:11;1591:51;;;;;;;;;;;;:::i;:::-;1584:58;;;;;;1340:309;;;;;:::o;1720:222::-;1827:18;1847:24;1905:11;1894:41;;;;;;;;;;;;:::i;902:369::-;1022:24;1060:27;1101:28;1143:30;1216:11;1205:59;;;;;;;;;;;;:::i;:::-;1198:66;;;;;;;;902:369;;;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5:130::-;72:20;;97:33;72:20;97:33;:::i;142:134::-;220:13;;238:33;220:13;238:33;:::i;283:128::-;358:13;;376:30;358:13;376:30;:::i;418:134::-;496:13;;514:33;496:13;514:33;:::i;560:440::-;;661:3;654:4;646:6;642:17;638:27;628:2;;679:1;676;669:12;628:2;716:6;703:20;738:64;753:48;794:6;753:48;:::i;:::-;738:64;:::i;:::-;729:73;;822:6;815:5;808:21;858:4;850:6;846:17;891:4;884:5;880:16;926:3;917:6;912:3;908:16;905:25;902:2;;;943:1;940;933:12;902:2;953:41;987:6;982:3;977;953:41;:::i;:::-;621:379;;;;;;;:::o;1008:164::-;1101:13;;1119:48;1101:13;1119:48;:::i;1355:1019::-;;1479:4;1467:9;1462:3;1458:19;1454:30;1451:2;;;1497:1;1494;1487:12;1451:2;1515:20;1530:4;1515:20;:::i;:::-;1506:29;-1:-1;1593:1;1625:60;1681:3;1661:9;1625:60;:::i;:::-;1600:86;;-1:-1;1757:2;1790:57;1843:3;1819:22;;;1790:57;:::i;:::-;1783:4;1776:5;1772:16;1765:83;1707:152;1913:2;1946:59;2001:3;1992:6;1981:9;1977:22;1946:59;:::i;:::-;1939:4;1932:5;1928:16;1921:85;1869:148;2072:2;2105:75;2176:3;2167:6;2156:9;2152:22;2105:75;:::i;:::-;2098:4;2091:5;2087:16;2080:101;2027:165;2258:3;2292:60;2348:3;2339:6;2328:9;2324:22;2292:60;:::i;:::-;2285:4;2278:5;2274:16;2267:86;2202:162;1445:929;;;;:::o;2381:132::-;2458:13;;2476:32;2458:13;2476:32;:::i;2520:130::-;2587:20;;2612:33;2587:20;2612:33;:::i;2798:132::-;2875:13;;2893:32;2875:13;2893:32;:::i;2937:470::-;;;3067:2;3055:9;3046:7;3042:23;3038:32;3035:2;;;3083:1;3080;3073:12;3035:2;3118:1;3135:53;3180:7;3160:9;3135:53;:::i;:::-;3125:63;;3097:97;3253:2;3242:9;3238:18;3225:32;3277:18;3269:6;3266:30;3263:2;;;3309:1;3306;3299:12;3263:2;3329:62;3383:7;3374:6;3363:9;3359:22;3329:62;:::i;:::-;3319:72;;3204:193;3029:378;;;;;:::o;3414:595::-;;;;3561:2;3549:9;3540:7;3536:23;3532:32;3529:2;;;3577:1;3574;3567:12;3529:2;3612:1;3629:53;3674:7;3654:9;3629:53;:::i;:::-;3619:63;;3591:97;3719:2;3737:53;3782:7;3773:6;3762:9;3758:22;3737:53;:::i;:::-;3727:63;;3698:98;3855:2;3844:9;3840:18;3827:32;3879:18;3871:6;3868:30;3865:2;;;3911:1;3908;3901:12;3865:2;3931:62;3985:7;3976:6;3965:9;3961:22;3931:62;:::i;:::-;3921:72;;3806:193;3523:486;;;;;:::o;4016:497::-;;;4196:3;4184:9;4175:7;4171:23;4167:33;4164:2;;;4213:1;4210;4203:12;4164:2;4248:1;4265:88;4345:7;4325:9;4265:88;:::i;:::-;4255:98;;4227:132;4390:3;4409:88;4489:7;4480:6;4469:9;4465:22;4409:88;:::i;4520:668::-;;;;;4684:3;4672:9;4663:7;4659:23;4655:33;4652:2;;;4701:1;4698;4691:12;4652:2;4736:1;4753:63;4808:7;4788:9;4753:63;:::i;:::-;4743:73;;4715:107;4853:2;4871:64;4927:7;4918:6;4907:9;4903:22;4871:64;:::i;:::-;4861:74;;4832:109;4972:2;4990:63;5045:7;5036:6;5025:9;5021:22;4990:63;:::i;:::-;4980:73;;4951:108;5090:2;5108:64;5164:7;5155:6;5144:9;5140:22;5108:64;:::i;:::-;5098:74;;5069:109;4646:542;;;;;;;:::o;5195:397::-;;;5326:2;5314:9;5305:7;5301:23;5297:32;5294:2;;;5342:1;5339;5332:12;5294:2;5377:1;5394:63;5449:7;5429:9;5394:63;:::i;:::-;5384:73;;5356:107;5494:2;5512:64;5568:7;5559:6;5548:9;5544:22;5512:64;:::i;5599:533::-;;;;5747:2;5735:9;5726:7;5722:23;5718:32;5715:2;;;5763:1;5760;5753:12;5715:2;5798:1;5815:63;5870:7;5850:9;5815:63;:::i;:::-;5805:73;;5777:107;5915:2;5933:64;5989:7;5980:6;5969:9;5965:22;5933:64;:::i;:::-;5923:74;;5894:109;6034:2;6052:64;6108:7;6099:6;6088:9;6084:22;6052:64;:::i;6139:395::-;;;6269:2;6257:9;6248:7;6244:23;6240:32;6237:2;;;6285:1;6282;6275:12;6237:2;6320:1;6337:63;6392:7;6372:9;6337:63;:::i;:::-;6327:73;;6299:107;6437:2;6455:63;6510:7;6501:6;6490:9;6486:22;6455:63;:::i;6542:173::-;;6629:46;6671:3;6663:6;6629:46;:::i;:::-;-1:-1;;6704:4;6695:14;;6622:93::o;6724:173::-;;6811:46;6853:3;6845:6;6811:46;:::i;6905:103::-;6978:24;6996:5;6978:24;:::i;:::-;6973:3;6966:37;6960:48;;:::o;7046:690::-;;7191:54;7239:5;7191:54;:::i;:::-;7258:86;7337:6;7332:3;7258:86;:::i;:::-;7251:93;;7365:56;7415:5;7365:56;:::i;:::-;7441:7;7469:1;7454:260;7479:6;7476:1;7473:13;7454:260;;;7546:6;7540:13;7567:63;7626:3;7611:13;7567:63;:::i;:::-;7560:70;;7647:60;7700:6;7647:60;:::i;:::-;7637:70;-1:-1;;7501:1;7494:9;7454:260;;;-1:-1;7727:3;;7170:566;-1:-1;;;;;7170:566::o;7775:690::-;;7920:54;7968:5;7920:54;:::i;:::-;7987:86;8066:6;8061:3;7987:86;:::i;:::-;7980:93;;8094:56;8144:5;8094:56;:::i;:::-;8170:7;8198:1;8183:260;8208:6;8205:1;8202:13;8183:260;;;8275:6;8269:13;8296:63;8355:3;8340:13;8296:63;:::i;:::-;8289:70;;8376:60;8429:6;8376:60;:::i;:::-;8366:70;-1:-1;;8230:1;8223:9;8183:260;;8473:343;;8583:38;8615:5;8583:38;:::i;:::-;8633:70;8696:6;8691:3;8633:70;:::i;:::-;8626:77;;8708:52;8753:6;8748:3;8741:4;8734:5;8730:16;8708:52;:::i;:::-;8781:29;8803:6;8781:29;:::i;:::-;8772:39;;;;8563:253;-1:-1;;;8563:253::o;8824:386::-;;8984:67;9048:2;9043:3;8984:67;:::i;:::-;9084:34;9064:55;;-1:-1;;;9148:2;9139:12;;9132:41;9201:2;9192:12;;8970:240;-1:-1;;8970:240::o;9218:110::-;9299:23;9316:5;9299:23;:::i;9335:103::-;9408:24;9426:5;9408:24;:::i;9445:888::-;9778:2;9792:47;;;9763:18;;9853:108;9763:18;9947:6;9853:108;:::i;:::-;9845:116;;10009:9;10003:4;9999:20;9994:2;9983:9;9979:18;9972:48;10034:108;10137:4;10128:6;10034:108;:::i;:::-;10026:116;;10190:9;10184:4;10180:20;10175:2;10164:9;10160:18;10153:48;10215:108;10318:4;10309:6;10215:108;:::i;:::-;10207:116;9749:584;-1:-1;;;;;9749:584::o;10340:306::-;10485:2;10499:47;;;10470:18;;10560:76;10470:18;10622:6;10560:76;:::i;:::-;10552:84;10456:190;-1:-1;;;10456:190::o;10653:416::-;10853:2;10867:47;;;10838:18;;10928:131;10838:18;10928:131;:::i;11076:218::-;11201:2;11186:18;;11215:69;11190:9;11257:6;11215:69;:::i;11301:256::-;11363:2;11357:9;11389:17;;;11464:18;11449:34;;11485:22;;;11446:62;11443:2;;;11521:1;11518;11511:12;11443:2;11537;11530:22;11341:216;;-1:-1;11341:216::o;11564:321::-;;11707:18;11699:6;11696:30;11693:2;;;11739:1;11736;11729:12;11693:2;-1:-1;11870:4;11806;11783:17;;;;-1:-1;;11779:33;11860:15;;11630:255::o;11892:151::-;12016:4;12007:14;;11964:79::o;12208:137::-;12311:12;;12282:63::o;12855:178::-;12973:19;;;13022:4;13013:14;;12966:67::o;13571:91::-;;13633:24;13651:5;13633:24;:::i;13669:85::-;13735:13;13728:21;;13711:43::o;13761:72::-;13823:5;13806:27::o;13918:84::-;13990:6;13979:18;;13962:40::o;14009:121::-;-1:-1;;;;;14071:54;;14054:76::o;14216:102::-;14288:24;14277:36;;14260:58::o;14326:145::-;14407:6;14402:3;14397;14384:30;-1:-1;14463:1;14445:16;;14438:27;14377:94::o;14480:268::-;14545:1;14552:101;14566:6;14563:1;14560:13;14552:101;;;14633:11;;;14627:18;14614:11;;;14607:39;14588:2;14581:10;14552:101;;;14668:6;14665:1;14662:13;14659:2;;;14733:1;14724:6;14719:3;14715:16;14708:27;14659:2;14529:219;;;;:::o;14756:97::-;14844:2;14824:14;-1:-1;;14820:28;;14804:49::o;14861:117::-;14930:24;14948:5;14930:24;:::i;:::-;14923:5;14920:35;14910:2;;14969:1;14966;14959:12;14910:2;14904:74;:::o;14985:111::-;15051:21;15066:5;15051:21;:::i;15103:117::-;15172:24;15190:5;15172:24;:::i;15227:109::-;15311:1;15304:5;15301:12;15291:2;;15327:1;15324;15317:12;15465:115;15533:23;15550:5;15533:23;:::i;15711:115::-;15779:23;15796:5;15779:23;:::i", "linkReferences": {}, "immutableReferences": { "29771": [ { "start": 1111, "length": 32 } ], "29773": [ { "start": 1044, "length": 32 } ] } }, "methodIdentifiers": { "parseAssetsForAction(address,uint256,bytes)": "bbd2d646", "parseInitArgs(address,bytes)": "db16c72e" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_notionalV2Router\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_weth\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_actionId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_encodedActionArgs\",\"type\":\"bytes\"}],\"name\":\"parseAssetsForAction\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"assetsToTransfer_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amountsToTransfer_\",\"type\":\"uint256[]\"},{\"internalType\":\"address[]\",\"name\":\"assetsToReceive_\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"parseInitArgs\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"parseAssetsForAction(address,uint256,bytes)\":{\"params\":{\"_actionId\":\"The _actionId for the callOnExternalPosition\",\"_encodedActionArgs\":\"The encoded parameters for the callOnExternalPosition\"},\"returns\":{\"amountsToTransfer_\":\"The amounts to be transferred from the Vault\",\"assetsToReceive_\":\"The assets to be received at the Vault\",\"assetsToTransfer_\":\"The assets to be transferred from the Vault\"}},\"parseInitArgs(address,bytes)\":{\"details\":\"Unused\"}},\"title\":\"NotionalV2PositionParser\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"parseAssetsForAction(address,uint256,bytes)\":{\"notice\":\"Parses the assets to send and receive for the callOnExternalPosition\"},\"parseInitArgs(address,bytes)\":{\"notice\":\"Parse and validate input arguments to be used when initializing a newly-deployed ExternalPositionProxy\"}},\"notice\":\"Parser for Notional V2 Positions\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/notional-v2/NotionalV2PositionParser.sol\":\"NotionalV2PositionParser\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/release/extensions/external-position-manager/external-positions/IExternalPositionParser.sol\":{\"keccak256\":\"0x1662fbd65841ee5e9cf8d5329b9d04c264b24ef68ae1e0484e59a8969b0d2c46\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://580569b0f875e0344db83fae1e72dcc6c0767a049b2a6cc3e4f3c411d2284b27\",\"dweb:/ipfs/QmXFmF9QbcVsPHaBo1iq8sZHYhDkwfkMZpHmLTuJJ37NvZ\"]},\"contracts/release/extensions/external-position-manager/external-positions/notional-v2/INotionalV2Position.sol\":{\"keccak256\":\"0x95410ae6c17757a4fcc0d41f57589e9ed96ed15ecbe75e390c3cf69d1a57232e\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://52a923ab694dfa125a3daa54bbbb3de07268e9c4714c25111757f622ea295810\",\"dweb:/ipfs/QmQGQpRBXYXdTgk96xDrNg4C7RVLNxoCo9MHaityKGgYps\"]},\"contracts/release/extensions/external-position-manager/external-positions/notional-v2/NotionalV2PositionDataDecoder.sol\":{\"keccak256\":\"0x89b1b1233048f9be2c3152b30a95f9f719ff5a74d4930e2a960bdb9d3bff71d2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://7e13d4bedc4bf821541922ae7e1ec9ec3bb81f701bb06d42de262addc27522c6\",\"dweb:/ipfs/QmanckuLpD6Q94QnHbM8EhyvpGBNUHyF2WRhezYta4UQ6R\"]},\"contracts/release/extensions/external-position-manager/external-positions/notional-v2/NotionalV2PositionParser.sol\":{\"keccak256\":\"0x5c3fd3c84674aa7adad5f84f895492dd6d129d679c66442f00f8cdc0b2bb67b0\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5564856b7b36e9c3cda06cbdf3cb415a30b78b49b583e052814f751f68342821\",\"dweb:/ipfs/QmV6tEtVmYvWpp2s3tpcz8januHraKz2gtNRp7yJjfhGp5\"]},\"contracts/release/interfaces/INotionalV2Router.sol\":{\"keccak256\":\"0x049f3eac5a5cf7f182f7fc8274e2c18343be226a861117fbfd5d9502b88c83c9\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bdc2a04e7ac5671c0fc51b9625af0aec1639ce6d70ea0f991d3c51a278a8ed33\",\"dweb:/ipfs/QmRtdF7yfkjgwBgFcXeoG3MiGTLjU726pZwr7yaeimvwtt\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_notionalV2Router", "type": "address" }, { "internalType": "address", "name": "_weth", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "uint256", "name": "_actionId", "type": "uint256" }, { "internalType": "bytes", "name": "_encodedActionArgs", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "parseAssetsForAction", "outputs": [ { "internalType": "address[]", "name": "assetsToTransfer_", "type": "address[]" }, { "internalType": "uint256[]", "name": "amountsToTransfer_", "type": "uint256[]" }, { "internalType": "address[]", "name": "assetsToReceive_", "type": "address[]" } ] }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "parseInitArgs", "outputs": [ { "internalType": "bytes", "name": "", "type": "bytes" } ] } ], "devdoc": { "kind": "dev", "methods": { "parseAssetsForAction(address,uint256,bytes)": { "params": { "_actionId": "The _actionId for the callOnExternalPosition", "_encodedActionArgs": "The encoded parameters for the callOnExternalPosition" }, "returns": { "amountsToTransfer_": "The amounts to be transferred from the Vault", "assetsToReceive_": "The assets to be received at the Vault", "assetsToTransfer_": "The assets to be transferred from the Vault" } }, "parseInitArgs(address,bytes)": { "details": "Unused" } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "parseAssetsForAction(address,uint256,bytes)": { "notice": "Parses the assets to send and receive for the callOnExternalPosition" }, "parseInitArgs(address,bytes)": { "notice": "Parse and validate input arguments to be used when initializing a newly-deployed ExternalPositionProxy" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/external-position-manager/external-positions/notional-v2/NotionalV2PositionParser.sol": "NotionalV2PositionParser" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/external-positions/IExternalPosition.sol": { "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", "urls": [ "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/IExternalPositionParser.sol": { "keccak256": "0x1662fbd65841ee5e9cf8d5329b9d04c264b24ef68ae1e0484e59a8969b0d2c46", "urls": [ "bzz-raw://580569b0f875e0344db83fae1e72dcc6c0767a049b2a6cc3e4f3c411d2284b27", "dweb:/ipfs/QmXFmF9QbcVsPHaBo1iq8sZHYhDkwfkMZpHmLTuJJ37NvZ" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/notional-v2/INotionalV2Position.sol": { "keccak256": "0x95410ae6c17757a4fcc0d41f57589e9ed96ed15ecbe75e390c3cf69d1a57232e", "urls": [ "bzz-raw://52a923ab694dfa125a3daa54bbbb3de07268e9c4714c25111757f622ea295810", "dweb:/ipfs/QmQGQpRBXYXdTgk96xDrNg4C7RVLNxoCo9MHaityKGgYps" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/notional-v2/NotionalV2PositionDataDecoder.sol": { "keccak256": "0x89b1b1233048f9be2c3152b30a95f9f719ff5a74d4930e2a960bdb9d3bff71d2", "urls": [ "bzz-raw://7e13d4bedc4bf821541922ae7e1ec9ec3bb81f701bb06d42de262addc27522c6", "dweb:/ipfs/QmanckuLpD6Q94QnHbM8EhyvpGBNUHyF2WRhezYta4UQ6R" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/notional-v2/NotionalV2PositionParser.sol": { "keccak256": "0x5c3fd3c84674aa7adad5f84f895492dd6d129d679c66442f00f8cdc0b2bb67b0", "urls": [ "bzz-raw://5564856b7b36e9c3cda06cbdf3cb415a30b78b49b583e052814f751f68342821", "dweb:/ipfs/QmV6tEtVmYvWpp2s3tpcz8januHraKz2gtNRp7yJjfhGp5" ], "license": "GPL-3.0" }, "contracts/release/interfaces/INotionalV2Router.sol": { "keccak256": "0x049f3eac5a5cf7f182f7fc8274e2c18343be226a861117fbfd5d9502b88c83c9", "urls": [ "bzz-raw://bdc2a04e7ac5671c0fc51b9625af0aec1639ce6d70ea0f991d3c51a278a8ed33", "dweb:/ipfs/QmRtdF7yfkjgwBgFcXeoG3MiGTLjU726pZwr7yaeimvwtt" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 121 } diff --git a/eth_defi/abi/enzyme/OlympusV2ActionMixin.json b/eth_defi/abi/enzyme/OlympusV2ActionMixin.json index 3aefc4f4..1f201740 100644 --- a/eth_defi/abi/enzyme/OlympusV2ActionMixin.json +++ b/eth_defi/abi/enzyme/OlympusV2ActionMixin.json @@ -1,148 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_stakingContract", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "name": "getOlympusV2StakingContract", - "outputs": [ - { - "internalType": "address", - "name": "stakingContract_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "getOlympusV2StakingContract()": "59b00d93" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_stakingContract\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"getOlympusV2StakingContract\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"stakingContract_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"getOlympusV2StakingContract()\":{\"returns\":{\"stakingContract_\":\"The `OLYMPUS_V2_STAKING_CONTRACT` variable value\"}}},\"title\":\"OlympusV2ActionsMixin Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getOlympusV2StakingContract()\":{\"notice\":\"Gets the `OLYMPUS_V2_STAKING_CONTRACT` variable\"}},\"notice\":\"Mixin contract for interacting with the OlympusV2 functions\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/integration-manager/integrations/utils/actions/OlympusV2ActionsMixin.sol\":\"OlympusV2ActionMixin\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/integration-manager/integrations/utils/actions/OlympusV2ActionsMixin.sol\":{\"keccak256\":\"0xbe370f4759db1fa5f862856b291cd28127c75386167e12d5ea3d942aaf6b5992\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9b855c4640ef7dd48e852c16a47bed26e1921dbbac50dff451d4437d33046866\",\"dweb:/ipfs/QmQ8njb29at9pFg3TCP9Y6W1wmHrSjNYai2bcQTRs2JVhF\"]},\"contracts/release/interfaces/IOlympusV2Staking.sol\":{\"keccak256\":\"0x11e89c4058e73396d5169bc78050ba522d0b7e009d2e07a5a6675e8491e70e0d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://0d46a4cacd57de0633c0c0d1496d29b9df8eb6d86557826181a867754480ec9a\",\"dweb:/ipfs/QmUDs7HvMxoDXMAc1cuG6XKfrcveiE87s85HooYYuCrrjM\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_stakingContract", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getOlympusV2StakingContract", - "outputs": [ - { - "internalType": "address", - "name": "stakingContract_", - "type": "address" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "getOlympusV2StakingContract()": { - "returns": { - "stakingContract_": "The `OLYMPUS_V2_STAKING_CONTRACT` variable value" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "getOlympusV2StakingContract()": { - "notice": "Gets the `OLYMPUS_V2_STAKING_CONTRACT` variable" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/integration-manager/integrations/utils/actions/OlympusV2ActionsMixin.sol": "OlympusV2ActionMixin" - }, - "libraries": {} - }, - "sources": { - "contracts/release/extensions/integration-manager/integrations/utils/actions/OlympusV2ActionsMixin.sol": { - "keccak256": "0xbe370f4759db1fa5f862856b291cd28127c75386167e12d5ea3d942aaf6b5992", - "urls": [ - "bzz-raw://9b855c4640ef7dd48e852c16a47bed26e1921dbbac50dff451d4437d33046866", - "dweb:/ipfs/QmQ8njb29at9pFg3TCP9Y6W1wmHrSjNYai2bcQTRs2JVhF" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IOlympusV2Staking.sol": { - "keccak256": "0x11e89c4058e73396d5169bc78050ba522d0b7e009d2e07a5a6675e8491e70e0d", - "urls": [ - "bzz-raw://0d46a4cacd57de0633c0c0d1496d29b9df8eb6d86557826181a867754480ec9a", - "dweb:/ipfs/QmUDs7HvMxoDXMAc1cuG6XKfrcveiE87s85HooYYuCrrjM" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 191 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_stakingContract", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "getOlympusV2StakingContract", "inputs": [], "outputs": [ { "name": "stakingContract_", "type": "address", "internalType": "address" } ], "stateMutability": "view" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "getOlympusV2StakingContract()": "59b00d93" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_stakingContract\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"getOlympusV2StakingContract\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"stakingContract_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"getOlympusV2StakingContract()\":{\"returns\":{\"stakingContract_\":\"The `OLYMPUS_V2_STAKING_CONTRACT` variable value\"}}},\"title\":\"OlympusV2ActionsMixin Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getOlympusV2StakingContract()\":{\"notice\":\"Gets the `OLYMPUS_V2_STAKING_CONTRACT` variable\"}},\"notice\":\"Mixin contract for interacting with the OlympusV2 functions\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/integration-manager/integrations/utils/actions/OlympusV2ActionsMixin.sol\":\"OlympusV2ActionMixin\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/integration-manager/integrations/utils/actions/OlympusV2ActionsMixin.sol\":{\"keccak256\":\"0xbe370f4759db1fa5f862856b291cd28127c75386167e12d5ea3d942aaf6b5992\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9b855c4640ef7dd48e852c16a47bed26e1921dbbac50dff451d4437d33046866\",\"dweb:/ipfs/QmQ8njb29at9pFg3TCP9Y6W1wmHrSjNYai2bcQTRs2JVhF\"]},\"contracts/release/interfaces/IOlympusV2Staking.sol\":{\"keccak256\":\"0x11e89c4058e73396d5169bc78050ba522d0b7e009d2e07a5a6675e8491e70e0d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://0d46a4cacd57de0633c0c0d1496d29b9df8eb6d86557826181a867754480ec9a\",\"dweb:/ipfs/QmUDs7HvMxoDXMAc1cuG6XKfrcveiE87s85HooYYuCrrjM\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_stakingContract", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getOlympusV2StakingContract", "outputs": [ { "internalType": "address", "name": "stakingContract_", "type": "address" } ] } ], "devdoc": { "kind": "dev", "methods": { "getOlympusV2StakingContract()": { "returns": { "stakingContract_": "The `OLYMPUS_V2_STAKING_CONTRACT` variable value" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "getOlympusV2StakingContract()": { "notice": "Gets the `OLYMPUS_V2_STAKING_CONTRACT` variable" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/integration-manager/integrations/utils/actions/OlympusV2ActionsMixin.sol": "OlympusV2ActionMixin" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/extensions/integration-manager/integrations/utils/actions/OlympusV2ActionsMixin.sol": { "keccak256": "0xbe370f4759db1fa5f862856b291cd28127c75386167e12d5ea3d942aaf6b5992", "urls": [ "bzz-raw://9b855c4640ef7dd48e852c16a47bed26e1921dbbac50dff451d4437d33046866", "dweb:/ipfs/QmQ8njb29at9pFg3TCP9Y6W1wmHrSjNYai2bcQTRs2JVhF" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IOlympusV2Staking.sol": { "keccak256": "0x11e89c4058e73396d5169bc78050ba522d0b7e009d2e07a5a6675e8491e70e0d", "urls": [ "bzz-raw://0d46a4cacd57de0633c0c0d1496d29b9df8eb6d86557826181a867754480ec9a", "dweb:/ipfs/QmUDs7HvMxoDXMAc1cuG6XKfrcveiE87s85HooYYuCrrjM" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 191 } diff --git a/eth_defi/abi/enzyme/OlympusV2Adapter.json b/eth_defi/abi/enzyme/OlympusV2Adapter.json index 666cce79..dcacfe34 100644 --- a/eth_defi/abi/enzyme/OlympusV2Adapter.json +++ b/eth_defi/abi/enzyme/OlympusV2Adapter.json @@ -1,882 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_integrationManager", - "type": "address" - }, - { - "internalType": "address", - "name": "_ohmToken", - "type": "address" - }, - { - "internalType": "address", - "name": "_sohmToken", - "type": "address" - }, - { - "internalType": "address", - "name": "_stakingContract", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "name": "CLAIM_REWARDS_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "LEND_AND_STAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "LEND_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "REDEEM_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "STAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "TAKE_MULTIPLE_ORDERS_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "TAKE_ORDER_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "UNSTAKE_AND_REDEEM_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "UNSTAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getIntegrationManager", - "outputs": [ - { - "internalType": "address", - "name": "integrationManager_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getOhmToken", - "outputs": [ - { - "internalType": "address", - "name": "ohmToken_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getOlympusV2StakingContract", - "outputs": [ - { - "internalType": "address", - "name": "stakingContract_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getSohmToken", - "outputs": [ - { - "internalType": "address", - "name": "sohmToken_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes4", - "name": "_selector", - "type": "bytes4" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - } - ], - "name": "parseAssetsForAction", - "outputs": [ - { - "internalType": "enum IIntegrationManager.SpendAssetsHandleType", - "name": "spendAssetsHandleType_", - "type": "uint8" - }, - { - "internalType": "address[]", - "name": "spendAssets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "spendAssetAmounts_", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "incomingAssets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "minIncomingAssetAmounts_", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "stake", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "unstake", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x6101006040523480156200001257600080fd5b506040516200188a3803806200188a833981810160405260808110156200003857600080fd5b50805160208083015160408401516060948501516001600160601b031985871b811660805281871b811660a05283871b811660c0529582901b90951660e0529293909291620000a1906001600160a01b0385169083906000199062000976620000d2821b17901c565b620000c881600019846001600160a01b0316620000d260201b62000976179092919060201c565b50505050620004e5565b8015806200015c575060408051636eb1769f60e11b81523060048201526001600160a01b03848116602483015291519185169163dd62ed3e91604480820192602092909190829003018186803b1580156200012c57600080fd5b505afa15801562000141573d6000803e3d6000fd5b505050506040513d60208110156200015857600080fd5b5051155b620001995760405162461bcd60e51b8152600401808060200182810382526036815260200180620018546036913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001f1918591620001f616565b505050565b606062000252826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316620002b260201b62000a8e179092919060201c565b805190915015620001f1578080602001905160208110156200027357600080fd5b5051620001f15760405162461bcd60e51b815260040180806020018281038252602a8152602001806200182a602a913960400191505060405180910390fd5b6060620002c38484600085620002cd565b90505b9392505050565b606082471015620003105760405162461bcd60e51b8152600401808060200182810382526026815260200180620018046026913960400191505060405180910390fd5b6200031b8562000435565b6200036d576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b60208310620003ae5780518252601f1990920191602091820191016200038d565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d806000811462000412576040519150601f19603f3d011682016040523d82523d6000602084013e62000417565b606091505b5090925090506200042a8282866200043b565b979650505050505050565b3b151590565b606083156200044c575081620002c6565b8251156200045d5782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015620004a95781810151838201526020016200048f565b50505050905090810190601f168015620004d75780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b60805160601c60a05160601c60c05160601c60e05160601c6112d362000531600039806107955250806105e05250806105bc52508061060d528061087c52806108cd52506112d36000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c8063863e5ad011610097578063c54efee511610066578063c54efee514610266578063e7c4569014610428578063f7d882b514610430578063fa7dd04d1461043857610100565b8063863e5ad014610246578063b23228cf1461024e578063b997f65814610256578063c32990a21461025e57610100565b806340da225d116100d357806340da225d1461014257806359b00d931461014a57806362cbb3891461016e57806368e306771461017657610100565b8063080456c114610105578063131461c01461012a578063257cb1a3146101325780633ffc15911461013a575b600080fd5b61010d610506565b604080516001600160e01b03199092168252519081900360200190f35b61010d61052a565b61010d61054e565b61010d610572565b61010d610596565b6101526105ba565b604080516001600160a01b039092168252519081900360200190f35b6101526105de565b6102446004803603606081101561018c57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b8111156101b657600080fd5b8201836020820111156101c857600080fd5b803590602001918460018302840111600160201b831117156101e957600080fd5b919390929091602081019035600160201b81111561020657600080fd5b82018360208201111561021857600080fd5b803590602001918460018302840111600160201b8311171561023957600080fd5b509092509050610602565b005b61010d61074b565b61010d61076f565b610152610793565b61010d6107b7565b6102f36004803603606081101561027c57600080fd5b6001600160a01b03823516916001600160e01b031960208201351691810190606081016040820135600160201b8111156102b557600080fd5b8201836020820111156102c757600080fd5b803590602001918460018302840111600160201b831117156102e857600080fd5b5090925090506107db565b6040518086600281111561030357fe5b815260200180602001806020018060200180602001858103855289818151815260200191508051906020019060200280838360005b83811015610350578181015183820152602001610338565b50505050905001858103845288818151815260200191508051906020019060200280838360005b8381101561038f578181015183820152602001610377565b50505050905001858103835287818151815260200191508051906020019060200280838360005b838110156103ce5781810151838201526020016103b6565b50505050905001858103825286818151815260200191508051906020019060200280838360005b8381101561040d5781810151838201526020016103f5565b50505050905001995050505050505050505060405180910390f35b61015261087a565b61010d61089e565b6102446004803603606081101561044e57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561047857600080fd5b82018360208201111561048a57600080fd5b803590602001918460018302840111600160201b831117156104ab57600080fd5b919390929091602081019035600160201b8111156104c857600080fd5b8201836020820111156104da57600080fd5b803590602001918460018302840111600160201b831117156104fb57600080fd5b5090925090506108c2565b7f8334eb99be0145865eba9889fca2ee920288090caefff4cc776038e20ad9259a81565b7f29fa046e79524c3c5ac4c01df692c35e217802b2b13b21121b76cf0ef02b138c81565b7f099f75155f0e997bf83a7993a71d5e7e7540bd386fe1e84643a09ce6b412521981565b7ffa7dd04da627f433da73c4355ead9c75682a67a8fc84d3f6170ef0922f402d2481565b7fb9dfbaccbe5cd2a84fdcf1d15f23ef25d23086f5afbaa99516065ed4a5bbc7a381565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106695760405162461bcd60e51b815260040180806020018281038252603281526020018061120e6032913960400191505060405180910390fd5b60006106aa85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610aa792505050565b9050600019811415610739576106be610793565b6001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561070a57600080fd5b505afa15801561071e573d6000803e3d6000fd5b505050506040513d602081101561073457600080fd5b505190505b6107438682610ac6565b505050505050565b7f03e38a2bd7063d45c897edeafc330e71657502dd86434d3c37a489caf116af6981565b7f68e30677f607df46e87da13e15b637784cfa62374b653f35ab43d10361a2f83081565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f0e7f692dad5b88fdee426250d6eae91207e56a2e8112b7364579bed1790e5bf481565b600060608080806001600160e01b0319881663fa7dd04d60e01b1415610814576108058787610b40565b9450945094509450945061086f565b6001600160e01b031988166368e3067760e01b141561083857610805898888610ca5565b60405162461bcd60e51b81526004018080602001828103825260278152602001806112a06027913960400191505060405180910390fd5b945094509450945094565b7f000000000000000000000000000000000000000000000000000000000000000090565b7fc29fa9dde84204c2908778afd0613d802d31cf046179b88f6d2b4a4e507ea2d581565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146109295760405162461bcd60e51b815260040180806020018281038252603281526020018061120e6032913960400191505060405180910390fd5b600061096a85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610aa792505050565b90506107438682610ec7565b8015806109fc575060408051636eb1769f60e11b81523060048201526001600160a01b03848116602483015291519185169163dd62ed3e91604480820192602092909190829003018186803b1580156109ce57600080fd5b505afa1580156109e2573d6000803e3d6000fd5b505050506040513d60208110156109f857600080fd5b5051155b610a375760405162461bcd60e51b815260040180806020018281038252603681526020018061126a6036913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052610a89908490610f30565b505050565b6060610a9d8484600085610fe1565b90505b9392505050565b6000818060200190516020811015610abe57600080fd5b505192915050565b610ace6105ba565b6040805163990966d560e01b81526001600160a01b0385811660048301526024820185905260006044830181905260016064840152925193169263990966d59260848084019391929182900301818387803b158015610b2c57600080fd5b505af1158015610743573d6000803e3d6000fd5b60006060806060806000610b8988888080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610aa792505050565b60408051600180825281830190925291925060208083019080368337019050509450610bb36105de565b85600081518110610bc057fe5b6001600160a01b03929092166020928302919091018201526040805160018082528183019092529182810190803683370190505093508084600081518110610c0457fe5b602090810291909101015260408051600180825281830190925290816020016020820280368337019050509250610c39610793565b83600081518110610c4657fe5b6001600160a01b03929092166020928302919091018201526040805160018082528183019092529182810190803683370190505091508082600081518110610c8a57fe5b60200260200101818152505060029550509295509295909350565b60006060806060806000610cee88888080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610aa792505050565b60408051600180825281830190925291925060208083019080368337019050509450610d18610793565b85600081518110610d2557fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509350600019811415610e0357610d6d610793565b6001600160a01b03166370a082318a6040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610db957600080fd5b505afa158015610dcd573d6000803e3d6000fd5b505050506040513d6020811015610de357600080fd5b505184518590600090610df257fe5b602002602001018181525050610e1e565b8084600081518110610e1157fe5b6020026020010181815250505b6040805160018082528183019092529060208083019080368337019050509250610e466105de565b83600081518110610e5357fe5b6001600160a01b039290921660209283029190910182015260408051600180825281830190925291828101908036833701905050915083600081518110610e9657fe5b602002602001015182600081518110610eab57fe5b6020026020010181815250506002955050939792965093509350565b610ecf6105ba565b60408051631b0cd93b60e31b81526001600160a01b0385811660048301526024820185905260016044830181905260648301529151929091169163d866c9d89160848082019260009290919082900301818387803b158015610b2c57600080fd5b6060610f85826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610a8e9092919063ffffffff16565b805190915015610a8957808060200190516020811015610fa457600080fd5b5051610a895760405162461bcd60e51b815260040180806020018281038252602a815260200180611240602a913960400191505060405180910390fd5b6060824710156110225760405162461bcd60e51b81526004018080602001828103825260268152602001806111e86026913960400191505060405180910390fd5b61102b8561113d565b61107c576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b602083106110bb5780518252601f19909201916020918201910161109c565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d806000811461111d576040519150601f19603f3d011682016040523d82523d6000602084013e611122565b606091505b5091509150611132828286611143565b979650505050505050565b3b151590565b60608315611152575081610aa0565b8251156111625782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156111ac578181015183820152602001611194565b50505050905090810190601f1680156111d95780820380516001836020036101000a031916815260200191505b509250505060405180910390fdfe416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c4f6e6c792074686520496e746567726174696f6e4d616e616765722063616e2063616c6c20746869732066756e6374696f6e5361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e63657061727365417373657473466f72416374696f6e3a205f73656c6563746f7220696e76616c6964a164736f6c634300060c000a416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c5361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e6365", - "sourceMap": "501:6399:170:-:0;;;654:446;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;654:446:170;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1938:41:179;;;;;654:446:170;1938:41:179;666:46:191;;;;;;;887:21:170;;;;;::::2;::::0;918:23;;;;;;;::::2;::::0;654:446;;;;;952:65:::2;::::0;-1:-1:-1;;;;;887:21:170;::::2;::::0;654:446;;-1:-1:-1;;999:17:170;952:28:::2;;::::0;::::2;;:65:::0;::::2;:::i;:::-;1027:66;1057:16;-1:-1:-1::0;;1033:10:170::2;-1:-1:-1::0;;;;;1027:29:170::2;;;;;;;:66;;;;;:::i;:::-;654:446:::0;;;;501:6399;;1348:613:450;1713:10;;;1712:62;;-1:-1:-1;1729:39:450;;;-1:-1:-1;;;1729:39:450;;1753:4;1729:39;;;;-1:-1:-1;;;;;1729:39:450;;;;;;;;;:15;;;;;;:39;;;;;;;;;;;;;;;:15;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1729:39:450;:44;1712:62;1704:150;;;;-1:-1:-1;;;1704:150:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1891:62;;;-1:-1:-1;;;;;1891:62:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1891:62:450;;;-1:-1:-1;;;1891:62:450;;;;1864:90;;1884:5;;1864:19;:90;:::i;:::-;1348:613;;;:::o;2967:751::-;3386:23;3412:69;3440:4;3412:69;;;;;;;;;;;;;;;;;3420:5;-1:-1:-1;;;;;3412:27:450;;;;;;;:69;;;;;:::i;:::-;3495:17;;3386:95;;-1:-1:-1;3495:21:450;3491:221;;3635:10;3624:30;;;;;;;;;;;;;;;-1:-1:-1;3624:30:450;3616:85;;;;-1:-1:-1;;;3616:85:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3581:193:451;3684:12;3715:52;3737:6;3745:4;3751:1;3754:12;3715:21;:52::i;:::-;3708:59;;3581:193;;;;;;:::o;4608:523::-;4735:12;4792:5;4767:21;:30;;4759:81;;;;-1:-1:-1;;;4759:81:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4858:18;4869:6;4858:10;:18::i;:::-;4850:60;;;;;-1:-1:-1;;;4850:60:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;4981:12;4995:23;5022:6;-1:-1:-1;;;;;5022:11:451;5042:5;5050:4;5022:33;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5022:33:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4980:75:451;;-1:-1:-1;4980:75:451;-1:-1:-1;5072:52:451;4980:75;;5111:12;5072:17;:52::i;:::-;5065:59;4608:523;-1:-1:-1;;;;;;;4608:523:451:o;726:413::-;1086:20;1124:8;;;726:413::o;7091:725::-;7206:12;7234:7;7230:580;;;-1:-1:-1;7264:10:451;7257:17;;7230:580;7375:17;;:21;7371:429;;7633:10;7627:17;7693:15;7680:10;7676:2;7672:19;7665:44;7582:145;7772:12;7765:20;;-1:-1:-1;;;7765:20:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;501:6399:170;;;;;;;;;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106101005760003560e01c8063863e5ad011610097578063c54efee511610066578063c54efee514610266578063e7c4569014610428578063f7d882b514610430578063fa7dd04d1461043857610100565b8063863e5ad014610246578063b23228cf1461024e578063b997f65814610256578063c32990a21461025e57610100565b806340da225d116100d357806340da225d1461014257806359b00d931461014a57806362cbb3891461016e57806368e306771461017657610100565b8063080456c114610105578063131461c01461012a578063257cb1a3146101325780633ffc15911461013a575b600080fd5b61010d610506565b604080516001600160e01b03199092168252519081900360200190f35b61010d61052a565b61010d61054e565b61010d610572565b61010d610596565b6101526105ba565b604080516001600160a01b039092168252519081900360200190f35b6101526105de565b6102446004803603606081101561018c57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b8111156101b657600080fd5b8201836020820111156101c857600080fd5b803590602001918460018302840111600160201b831117156101e957600080fd5b919390929091602081019035600160201b81111561020657600080fd5b82018360208201111561021857600080fd5b803590602001918460018302840111600160201b8311171561023957600080fd5b509092509050610602565b005b61010d61074b565b61010d61076f565b610152610793565b61010d6107b7565b6102f36004803603606081101561027c57600080fd5b6001600160a01b03823516916001600160e01b031960208201351691810190606081016040820135600160201b8111156102b557600080fd5b8201836020820111156102c757600080fd5b803590602001918460018302840111600160201b831117156102e857600080fd5b5090925090506107db565b6040518086600281111561030357fe5b815260200180602001806020018060200180602001858103855289818151815260200191508051906020019060200280838360005b83811015610350578181015183820152602001610338565b50505050905001858103845288818151815260200191508051906020019060200280838360005b8381101561038f578181015183820152602001610377565b50505050905001858103835287818151815260200191508051906020019060200280838360005b838110156103ce5781810151838201526020016103b6565b50505050905001858103825286818151815260200191508051906020019060200280838360005b8381101561040d5781810151838201526020016103f5565b50505050905001995050505050505050505060405180910390f35b61015261087a565b61010d61089e565b6102446004803603606081101561044e57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561047857600080fd5b82018360208201111561048a57600080fd5b803590602001918460018302840111600160201b831117156104ab57600080fd5b919390929091602081019035600160201b8111156104c857600080fd5b8201836020820111156104da57600080fd5b803590602001918460018302840111600160201b831117156104fb57600080fd5b5090925090506108c2565b7f8334eb99be0145865eba9889fca2ee920288090caefff4cc776038e20ad9259a81565b7f29fa046e79524c3c5ac4c01df692c35e217802b2b13b21121b76cf0ef02b138c81565b7f099f75155f0e997bf83a7993a71d5e7e7540bd386fe1e84643a09ce6b412521981565b7ffa7dd04da627f433da73c4355ead9c75682a67a8fc84d3f6170ef0922f402d2481565b7fb9dfbaccbe5cd2a84fdcf1d15f23ef25d23086f5afbaa99516065ed4a5bbc7a381565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106695760405162461bcd60e51b815260040180806020018281038252603281526020018061120e6032913960400191505060405180910390fd5b60006106aa85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610aa792505050565b9050600019811415610739576106be610793565b6001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561070a57600080fd5b505afa15801561071e573d6000803e3d6000fd5b505050506040513d602081101561073457600080fd5b505190505b6107438682610ac6565b505050505050565b7f03e38a2bd7063d45c897edeafc330e71657502dd86434d3c37a489caf116af6981565b7f68e30677f607df46e87da13e15b637784cfa62374b653f35ab43d10361a2f83081565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f0e7f692dad5b88fdee426250d6eae91207e56a2e8112b7364579bed1790e5bf481565b600060608080806001600160e01b0319881663fa7dd04d60e01b1415610814576108058787610b40565b9450945094509450945061086f565b6001600160e01b031988166368e3067760e01b141561083857610805898888610ca5565b60405162461bcd60e51b81526004018080602001828103825260278152602001806112a06027913960400191505060405180910390fd5b945094509450945094565b7f000000000000000000000000000000000000000000000000000000000000000090565b7fc29fa9dde84204c2908778afd0613d802d31cf046179b88f6d2b4a4e507ea2d581565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146109295760405162461bcd60e51b815260040180806020018281038252603281526020018061120e6032913960400191505060405180910390fd5b600061096a85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610aa792505050565b90506107438682610ec7565b8015806109fc575060408051636eb1769f60e11b81523060048201526001600160a01b03848116602483015291519185169163dd62ed3e91604480820192602092909190829003018186803b1580156109ce57600080fd5b505afa1580156109e2573d6000803e3d6000fd5b505050506040513d60208110156109f857600080fd5b5051155b610a375760405162461bcd60e51b815260040180806020018281038252603681526020018061126a6036913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052610a89908490610f30565b505050565b6060610a9d8484600085610fe1565b90505b9392505050565b6000818060200190516020811015610abe57600080fd5b505192915050565b610ace6105ba565b6040805163990966d560e01b81526001600160a01b0385811660048301526024820185905260006044830181905260016064840152925193169263990966d59260848084019391929182900301818387803b158015610b2c57600080fd5b505af1158015610743573d6000803e3d6000fd5b60006060806060806000610b8988888080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610aa792505050565b60408051600180825281830190925291925060208083019080368337019050509450610bb36105de565b85600081518110610bc057fe5b6001600160a01b03929092166020928302919091018201526040805160018082528183019092529182810190803683370190505093508084600081518110610c0457fe5b602090810291909101015260408051600180825281830190925290816020016020820280368337019050509250610c39610793565b83600081518110610c4657fe5b6001600160a01b03929092166020928302919091018201526040805160018082528183019092529182810190803683370190505091508082600081518110610c8a57fe5b60200260200101818152505060029550509295509295909350565b60006060806060806000610cee88888080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610aa792505050565b60408051600180825281830190925291925060208083019080368337019050509450610d18610793565b85600081518110610d2557fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509350600019811415610e0357610d6d610793565b6001600160a01b03166370a082318a6040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610db957600080fd5b505afa158015610dcd573d6000803e3d6000fd5b505050506040513d6020811015610de357600080fd5b505184518590600090610df257fe5b602002602001018181525050610e1e565b8084600081518110610e1157fe5b6020026020010181815250505b6040805160018082528183019092529060208083019080368337019050509250610e466105de565b83600081518110610e5357fe5b6001600160a01b039290921660209283029190910182015260408051600180825281830190925291828101908036833701905050915083600081518110610e9657fe5b602002602001015182600081518110610eab57fe5b6020026020010181815250506002955050939792965093509350565b610ecf6105ba565b60408051631b0cd93b60e31b81526001600160a01b0385811660048301526024820185905260016044830181905260648301529151929091169163d866c9d89160848082019260009290919082900301818387803b158015610b2c57600080fd5b6060610f85826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610a8e9092919063ffffffff16565b805190915015610a8957808060200190516020811015610fa457600080fd5b5051610a895760405162461bcd60e51b815260040180806020018281038252602a815260200180611240602a913960400191505060405180910390fd5b6060824710156110225760405162461bcd60e51b81526004018080602001828103825260268152602001806111e86026913960400191505060405180910390fd5b61102b8561113d565b61107c576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b602083106110bb5780518252601f19909201916020918201910161109c565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d806000811461111d576040519150601f19603f3d011682016040523d82523d6000602084013e611122565b606091505b5091509150611132828286611143565b979650505050505050565b3b151590565b60608315611152575081610aa0565b8251156111625782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156111ac578181015183820152602001611194565b50505050905090810190601f1680156111d95780820380516001836020036101000a031916815260200191505b509250505060405180910390fdfe416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c4f6e6c792074686520496e746567726174696f6e4d616e616765722063616e2063616c6c20746869732066756e6374696f6e5361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e63657061727365417373657473466f72416374696f6e3a205f73656c6563746f7220696e76616c6964a164736f6c634300060c000a", - "sourceMap": "501:6399:170:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1490:119:180;;;:::i;:::-;;;;-1:-1:-1;;;;;;1490:119:180;;;;;;;;;;;;;;1373:111;;;:::i;832:85::-;;;:::i;1034:87::-;;;:::i;1240:110::-;;;:::i;1581:137:191:-;;;:::i;:::-;;;;-1:-1:-1;;;;;1581:137:191;;;;;;;;;;;;;;6591:96:170;;;:::i;1712:380::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1712:380:170;;;;;;;;;;;;;;;-1:-1:-1;;;1712:380:170;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1712:380:170;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1712:380:170;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1712:380:170;;;;;;;;;;-1:-1:-1;1712:380:170;;-1:-1:-1;1712:380:170;-1:-1:-1;1712:380:170;:::i;:::-;;706:104:180;;;:::i;1127:91::-;;;:::i;6799:99:170:-;;;:::i;577:123:180:-;;;:::i;2895:773:170:-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2895:773:170;;;;-1:-1:-1;;;;;;2895:773:170;;;;;;;;;;;;;;;;-1:-1:-1;;;2895:773:170;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2895:773:170;;;;;;;;;;-1:-1:-1;2895:773:170;;-1:-1:-1;2895:773:170;-1:-1:-1;2895:773:170;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2637:128:179;;;:::i;923:89:180:-;;;:::i;1277:253:170:-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1277:253:170;;;;;;;;;;;;;;;-1:-1:-1;;;1277:253:170;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1277:253:170;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1277:253:170;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1277:253:170;;;;;;;;;;-1:-1:-1;1277:253:170;;-1:-1:-1;1277:253:170;-1:-1:-1;1277:253:170;:::i;1490:119:180:-;1558:50;1490:119;:::o;1373:111::-;1437:46;1373:111;:::o;832:85::-;878:38;832:85;:::o;1034:87::-;1081:39;1034:87;:::o;1240:110::-;1303:46;1240:110;:::o;1581:137:191:-;1684:27;1581:137;:::o;6591:96:170:-;6671:9;6591:96;:::o;1712:380::-;1747:10:179;-1:-1:-1;;;;;1761:19:179;1747:33;;1726:130;;;;-1:-1:-1;;;1726:130:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1866:14:170::1;1883:29;1900:11;;1883:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;1883:16:170::1;::::0;-1:-1:-1;;;1883:29:170:i:1;:::-;1866:46;;-1:-1:-1::0;;1927:6:170::1;:27;1923:113;;;1985:14;:12;:14::i;:::-;-1:-1:-1::0;;;;;1979:31:170::1;;2019:4;1979:46;;;;;;;;;;;;;-1:-1:-1::0;;;;;1979:46:170::1;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;1979:46:170;;-1:-1:-1;1923:113:170::1;2046:39;2065:11;2078:6;2046:18;:39::i;:::-;1866:1:179;1712:380:170::0;;;;;:::o;706:104:180:-;766:43;706:104;:::o;1127:91::-;1176:41;1127:91;:::o;6799:99:170:-;6881:10;6799:99;:::o;577:123:180:-;647:52;577:123;:::o;2895:773:170:-;3099:64;3177:29;;;;-1:-1:-1;;;;;;3385:27:170;;-1:-1:-1;;;3385:27:170;3381:221;;;3435:34;3457:11;;3435:21;:34::i;:::-;3428:41;;;;;;;;;;;;3381:221;-1:-1:-1;;;;;;3490:29:170;;-1:-1:-1;;;3490:29:170;3486:116;;;3542:49;3566:11;3579;;3542:23;:49::i;3486:116::-;3612:49;;-1:-1:-1;;;3612:49:170;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2895:773;;;;;;;;;;:::o;2637:128:179:-;2739:19;2637:128;:::o;923:89:180:-;971:40;923:89;:::o;1277:253:170:-;1747:10:179;-1:-1:-1;;;;;1761:19:179;1747:33;;1726:130;;;;-1:-1:-1;;;1726:130:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1429:14:170::1;1446:29;1463:11;;1446:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;1446:16:170::1;::::0;-1:-1:-1;;;1446:29:170:i:1;:::-;1429:46;;1486:37;1503:11;1516:6;1486:16;:37::i;1348:613:450:-:0;1713:10;;;1712:62;;-1:-1:-1;1729:39:450;;;-1:-1:-1;;;1729:39:450;;1753:4;1729:39;;;;-1:-1:-1;;;;;1729:39:450;;;;;;;;;:15;;;;;;:39;;;;;;;;;;;;;;;:15;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1729:39:450;:44;1712:62;1704:150;;;;-1:-1:-1;;;1704:150:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1891:62;;;-1:-1:-1;;;;;1891:62:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1891:62:450;-1:-1:-1;;;1891:62:450;;;1864:90;;1884:5;;1864:19;:90::i;:::-;1348:613;;;:::o;3581:193:451:-;3684:12;3715:52;3737:6;3745:4;3751:1;3754:12;3715:21;:52::i;:::-;3708:59;;3581:193;;;;;;:::o;6260:149:170:-;6334:15;6379:11;6368:34;;;;;;;;;;;;;;;-1:-1:-1;6368:34:170;;6260:149;-1:-1:-1;;6260:149:170:o;1089:267:191:-;1205:29;:27;:29::i;:::-;1187:162;;;-1:-1:-1;;;1187:162:191;;-1:-1:-1;;;;;1187:162:191;;;;;;;;;;;;;1316:5;1187:162;;;;;;1335:4;1187:162;;;;;;:56;;;;;:162;;;;;1316:5;;1187:162;;;;;;1316:5;1187:56;:162;;;;;;;;;;;;;;;;;;;;;;;;;;3790:1029:170;3908:64;3986:29;4029:35;4078:32;4124:41;4190:14;4207:29;4224:11;;4207:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4207:16:170;;-1:-1:-1;;;4207:29:170:i;:::-;4262:16;;;4276:1;4262:16;;;;;;;;;4190:46;;-1:-1:-1;4262:16:170;;;;;;;;;;;-1:-1:-1;4262:16:170;4247:31;;4306:13;:11;:13::i;:::-;4288:12;4301:1;4288:15;;;;;;;;-1:-1:-1;;;;;4288:31:170;;;;:15;;;;;;;;;;:31;4350:16;;;4364:1;4350:16;;;;;;;;;;;;;;4288:15;4350:16;;;;;-1:-1:-1;4350:16:170;4329:37;;4400:6;4376:18;4395:1;4376:21;;;;;;;;;;;;;;;;;:30;4435:16;;;4449:1;4435:16;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4435:16:170;4417:34;;4482:14;:12;:14::i;:::-;4461:15;4477:1;4461:18;;;;;;;;-1:-1:-1;;;;;4461:35:170;;;;:18;;;;;;;;;;:35;4533:16;;;4547:1;4533:16;;;;;;;;;;;;;;4461:18;4533:16;;;;;-1:-1:-1;4533:16:170;4506:43;;4589:6;4559:24;4584:1;4559:27;;;;;;;;;;;;;:36;;;;;4627:50;4606:206;;;3790:1029;;;;;;;;:::o;4943:1224::-;5084:64;5162:29;5205:35;5254:32;5300:41;5366:14;5383:29;5400:11;;5383:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5383:16:170;;-1:-1:-1;;;5383:29:170:i;:::-;5438:16;;;5452:1;5438:16;;;;;;;;;5366:46;;-1:-1:-1;5438:16:170;;;;;;;;;;;-1:-1:-1;5438:16:170;5423:31;;5482:14;:12;:14::i;:::-;5464:12;5477:1;5464:15;;;;;;;;-1:-1:-1;;;;;5464:32:170;;;;:15;;;;;;;;;;:32;5527:16;;;5541:1;5527:16;;;;;;;;;;;;;;5464:15;5527:16;;;;;-1:-1:-1;5527:16:170;5506:37;;-1:-1:-1;;5558:6:170;:27;5554:187;;;5631:14;:12;:14::i;:::-;-1:-1:-1;;;;;5625:31:170;;5657:11;5625:44;;;;;;;;;;;;;-1:-1:-1;;;;;5625:44:170;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5625:44:170;5601:21;;:18;;5620:1;;5601:21;;;;;;;;;:68;;;;;5554:187;;;5724:6;5700:18;5719:1;5700:21;;;;;;;;;;;;;:30;;;;;5554:187;5769:16;;;5783:1;5769:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5769:16:170;5751:34;;5816:13;:11;:13::i;:::-;5795:15;5811:1;5795:18;;;;;;;;-1:-1:-1;;;;;5795:34:170;;;;:18;;;;;;;;;;:34;5866:16;;;5880:1;5866:16;;;;;;;;;;;;;;5795:18;5866:16;;;;;-1:-1:-1;5866:16:170;5839:43;;5922:18;5941:1;5922:21;;;;;;;;;;;;;;5892:24;5917:1;5892:27;;;;;;;;;;;;;:51;;;;;5975:50;5954:206;;;4943:1224;;;;;;;;;:::o;771:262:191:-;885:29;:27;:29::i;:::-;867:159;;;-1:-1:-1;;;867:159:191;;-1:-1:-1;;;;;867:159:191;;;;;;;;;;;;;994:4;867:159;;;;;;;;;;;;:54;;;;;;;:159;;;;;-1:-1:-1;;867:159:191;;;;;;;;-1:-1:-1;867:54:191;:159;;;;;;;;;;2967:751:450;3386:23;3412:69;3440:4;3412:69;;;;;;;;;;;;;;;;;3420:5;-1:-1:-1;;;;;3412:27:450;;;:69;;;;;:::i;:::-;3495:17;;3386:95;;-1:-1:-1;3495:21:450;3491:221;;3635:10;3624:30;;;;;;;;;;;;;;;-1:-1:-1;3624:30:450;3616:85;;;;-1:-1:-1;;;3616:85:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4608:523:451;4735:12;4792:5;4767:21;:30;;4759:81;;;;-1:-1:-1;;;4759:81:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4858:18;4869:6;4858:10;:18::i;:::-;4850:60;;;;;-1:-1:-1;;;4850:60:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;4981:12;4995:23;5022:6;-1:-1:-1;;;;;5022:11:451;5042:5;5050:4;5022:33;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5022:33:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4980:75;;;;5072:52;5090:7;5099:10;5111:12;5072:17;:52::i;:::-;5065:59;4608:523;-1:-1:-1;;;;;;;4608:523:451:o;726:413::-;1086:20;1124:8;;;726:413::o;7091:725::-;7206:12;7234:7;7230:580;;;-1:-1:-1;7264:10:451;7257:17;;7230:580;7375:17;;:21;7371:429;;7633:10;7627:17;7693:15;7680:10;7676:2;7672:19;7665:44;7582:145;7772:12;7765:20;;-1:-1:-1;;;7765:20:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;", - "linkReferences": {}, - "immutableReferences": { - "45812": [ - { - "start": 1504, - "length": 32 - } - ], - "45814": [ - { - "start": 1941, - "length": 32 - } - ], - "49791": [ - { - "start": 1549, - "length": 32 - }, - { - "start": 2172, - "length": 32 - }, - { - "start": 2253, - "length": 32 - } - ], - "51437": [ - { - "start": 1468, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "CLAIM_REWARDS_SELECTOR()": "40da225d", - "LEND_AND_STAKE_SELECTOR()": "131461c0", - "LEND_SELECTOR()": "257cb1a3", - "REDEEM_SELECTOR()": "f7d882b5", - "STAKE_SELECTOR()": "3ffc1591", - "TAKE_MULTIPLE_ORDERS_SELECTOR()": "c32990a2", - "TAKE_ORDER_SELECTOR()": "863e5ad0", - "UNSTAKE_AND_REDEEM_SELECTOR()": "080456c1", - "UNSTAKE_SELECTOR()": "b23228cf", - "getIntegrationManager()": "e7c45690", - "getOhmToken()": "62cbb389", - "getOlympusV2StakingContract()": "59b00d93", - "getSohmToken()": "b997f658", - "parseAssetsForAction(address,bytes4,bytes)": "c54efee5", - "stake(address,bytes,bytes)": "fa7dd04d", - "unstake(address,bytes,bytes)": "68e30677" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_integrationManager\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_ohmToken\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_sohmToken\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_stakingContract\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"CLAIM_REWARDS_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LEND_AND_STAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LEND_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"REDEEM_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"STAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TAKE_MULTIPLE_ORDERS_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TAKE_ORDER_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UNSTAKE_AND_REDEEM_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UNSTAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getIntegrationManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"integrationManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOhmToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"ohmToken_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOlympusV2StakingContract\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"stakingContract_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getSohmToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"sohmToken_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"_selector\",\"type\":\"bytes4\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"}],\"name\":\"parseAssetsForAction\",\"outputs\":[{\"internalType\":\"enum IIntegrationManager.SpendAssetsHandleType\",\"name\":\"spendAssetsHandleType_\",\"type\":\"uint8\"},{\"internalType\":\"address[]\",\"name\":\"spendAssets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"spendAssetAmounts_\",\"type\":\"uint256[]\"},{\"internalType\":\"address[]\",\"name\":\"incomingAssets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"minIncomingAssetAmounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"stake\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"unstake\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"getIntegrationManager()\":{\"returns\":{\"integrationManager_\":\"The `INTEGRATION_MANAGER` variable value\"}},\"getOhmToken()\":{\"returns\":{\"ohmToken_\":\"The `OHM_TOKEN` variable value\"}},\"getOlympusV2StakingContract()\":{\"returns\":{\"stakingContract_\":\"The `OLYMPUS_V2_STAKING_CONTRACT` variable value\"}},\"getSohmToken()\":{\"returns\":{\"sohmToken_\":\"The `SOHM_TOKEN` variable value\"}},\"parseAssetsForAction(address,bytes4,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_selector\":\"The function selector for the callOnIntegration\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"},\"returns\":{\"incomingAssets_\":\"The assets to receive in the call\",\"minIncomingAssetAmounts_\":\"The min asset amounts to receive in the call\",\"spendAssetAmounts_\":\"The max asset amounts to spend in the call\",\"spendAssetsHandleType_\":\"A type that dictates how to handle granting the adapter access to spend assets (`None` by default)\",\"spendAssets_\":\"The assets to spend in the call\"}},\"stake(address,bytes,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}},\"unstake(address,bytes,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}}},\"title\":\"OlympusV2Adapter Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getIntegrationManager()\":{\"notice\":\"Gets the `INTEGRATION_MANAGER` variable\"},\"getOhmToken()\":{\"notice\":\"Gets the `OHM_TOKEN` variable\"},\"getOlympusV2StakingContract()\":{\"notice\":\"Gets the `OLYMPUS_V2_STAKING_CONTRACT` variable\"},\"getSohmToken()\":{\"notice\":\"Gets the `SOHM_TOKEN` variable\"},\"parseAssetsForAction(address,bytes4,bytes)\":{\"notice\":\"Parses the expected assets in a particular action\"},\"stake(address,bytes,bytes)\":{\"notice\":\"Stakes an amount of OHM to OlympusV2\"},\"unstake(address,bytes,bytes)\":{\"notice\":\"Unstakes an amount of sOHM from OlympusV2\"}},\"notice\":\"Adapter for OlympusV2 Staking\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/integration-manager/integrations/adapters/OlympusV2Adapter.sol\":\"OlympusV2Adapter\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/integration-manager/IIntegrationManager.sol\":{\"keccak256\":\"0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23\",\"dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk\"]},\"contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol\":{\"keccak256\":\"0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336\",\"dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS\"]},\"contracts/release/extensions/integration-manager/integrations/adapters/OlympusV2Adapter.sol\":{\"keccak256\":\"0xecfb271c0efcf125d4b7dda30ca7294e45d8840c0e48a6cfcc907e4f78dafac1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://675db1046231fab09bd9ff978f29d03a72c2639bc967fdbe133d01d908ab214c\",\"dweb:/ipfs/QmU2fskwBCoe5kgZR6HHF9zvMZyie6j3fdwKJe6z3DdBmU\"]},\"contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol\":{\"keccak256\":\"0x067e49bf0d3c1655ab41a413c65ccf61d4e593308132e1ffc484a0fadfbbaf26\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://387f425017e18e89cc1893521101fa99df595314847d0b3d9a1162369f714fcf\",\"dweb:/ipfs/Qmco3jCvuWAyfCpBYpGzHrQjiFJG63w1RJKcakoTEbxRQm\"]},\"contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol\":{\"keccak256\":\"0xfd34c7ca8231c6935e25dede32ca2b3121738e624d0fc896f7b895a731edcf88\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d492c061963d36d07718446db191d4c5a340c0d847f6cd209f027bd99f7cb176\",\"dweb:/ipfs/QmfCvRZt56ftDdrEh6LepHXFJ4fVtcfpQGvEyY8k4zxG1A\"]},\"contracts/release/extensions/integration-manager/integrations/utils/actions/OlympusV2ActionsMixin.sol\":{\"keccak256\":\"0xbe370f4759db1fa5f862856b291cd28127c75386167e12d5ea3d942aaf6b5992\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9b855c4640ef7dd48e852c16a47bed26e1921dbbac50dff451d4437d33046866\",\"dweb:/ipfs/QmQ8njb29at9pFg3TCP9Y6W1wmHrSjNYai2bcQTRs2JVhF\"]},\"contracts/release/interfaces/IOlympusV2Staking.sol\":{\"keccak256\":\"0x11e89c4058e73396d5169bc78050ba522d0b7e009d2e07a5a6675e8491e70e0d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://0d46a4cacd57de0633c0c0d1496d29b9df8eb6d86557826181a867754480ec9a\",\"dweb:/ipfs/QmUDs7HvMxoDXMAc1cuG6XKfrcveiE87s85HooYYuCrrjM\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_integrationManager", - "type": "address" - }, - { - "internalType": "address", - "name": "_ohmToken", - "type": "address" - }, - { - "internalType": "address", - "name": "_sohmToken", - "type": "address" - }, - { - "internalType": "address", - "name": "_stakingContract", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "CLAIM_REWARDS_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "LEND_AND_STAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "LEND_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "REDEEM_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "STAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "TAKE_MULTIPLE_ORDERS_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "TAKE_ORDER_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "UNSTAKE_AND_REDEEM_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "UNSTAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getIntegrationManager", - "outputs": [ - { - "internalType": "address", - "name": "integrationManager_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getOhmToken", - "outputs": [ - { - "internalType": "address", - "name": "ohmToken_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getOlympusV2StakingContract", - "outputs": [ - { - "internalType": "address", - "name": "stakingContract_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getSohmToken", - "outputs": [ - { - "internalType": "address", - "name": "sohmToken_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes4", - "name": "_selector", - "type": "bytes4" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - } - ], - "stateMutability": "view", - "type": "function", - "name": "parseAssetsForAction", - "outputs": [ - { - "internalType": "enum IIntegrationManager.SpendAssetsHandleType", - "name": "spendAssetsHandleType_", - "type": "uint8" - }, - { - "internalType": "address[]", - "name": "spendAssets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "spendAssetAmounts_", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "incomingAssets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "minIncomingAssetAmounts_", - "type": "uint256[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "stake" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "unstake" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "getIntegrationManager()": { - "returns": { - "integrationManager_": "The `INTEGRATION_MANAGER` variable value" - } - }, - "getOhmToken()": { - "returns": { - "ohmToken_": "The `OHM_TOKEN` variable value" - } - }, - "getOlympusV2StakingContract()": { - "returns": { - "stakingContract_": "The `OLYMPUS_V2_STAKING_CONTRACT` variable value" - } - }, - "getSohmToken()": { - "returns": { - "sohmToken_": "The `SOHM_TOKEN` variable value" - } - }, - "parseAssetsForAction(address,bytes4,bytes)": { - "params": { - "_actionData": "Data specific to this action", - "_selector": "The function selector for the callOnIntegration", - "_vaultProxy": "The VaultProxy of the calling fund" - }, - "returns": { - "incomingAssets_": "The assets to receive in the call", - "minIncomingAssetAmounts_": "The min asset amounts to receive in the call", - "spendAssetAmounts_": "The max asset amounts to spend in the call", - "spendAssetsHandleType_": "A type that dictates how to handle granting the adapter access to spend assets (`None` by default)", - "spendAssets_": "The assets to spend in the call" - } - }, - "stake(address,bytes,bytes)": { - "params": { - "_actionData": "Data specific to this action", - "_vaultProxy": "The VaultProxy of the calling fund" - } - }, - "unstake(address,bytes,bytes)": { - "params": { - "_actionData": "Data specific to this action", - "_vaultProxy": "The VaultProxy of the calling fund" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "getIntegrationManager()": { - "notice": "Gets the `INTEGRATION_MANAGER` variable" - }, - "getOhmToken()": { - "notice": "Gets the `OHM_TOKEN` variable" - }, - "getOlympusV2StakingContract()": { - "notice": "Gets the `OLYMPUS_V2_STAKING_CONTRACT` variable" - }, - "getSohmToken()": { - "notice": "Gets the `SOHM_TOKEN` variable" - }, - "parseAssetsForAction(address,bytes4,bytes)": { - "notice": "Parses the expected assets in a particular action" - }, - "stake(address,bytes,bytes)": { - "notice": "Stakes an amount of OHM to OlympusV2" - }, - "unstake(address,bytes,bytes)": { - "notice": "Unstakes an amount of sOHM from OlympusV2" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/integration-manager/integrations/adapters/OlympusV2Adapter.sol": "OlympusV2Adapter" - }, - "libraries": {} - }, - "sources": { - "contracts/release/extensions/integration-manager/IIntegrationManager.sol": { - "keccak256": "0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef", - "urls": [ - "bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23", - "dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol": { - "keccak256": "0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1", - "urls": [ - "bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336", - "dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/adapters/OlympusV2Adapter.sol": { - "keccak256": "0xecfb271c0efcf125d4b7dda30ca7294e45d8840c0e48a6cfcc907e4f78dafac1", - "urls": [ - "bzz-raw://675db1046231fab09bd9ff978f29d03a72c2639bc967fdbe133d01d908ab214c", - "dweb:/ipfs/QmU2fskwBCoe5kgZR6HHF9zvMZyie6j3fdwKJe6z3DdBmU" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol": { - "keccak256": "0x067e49bf0d3c1655ab41a413c65ccf61d4e593308132e1ffc484a0fadfbbaf26", - "urls": [ - "bzz-raw://387f425017e18e89cc1893521101fa99df595314847d0b3d9a1162369f714fcf", - "dweb:/ipfs/Qmco3jCvuWAyfCpBYpGzHrQjiFJG63w1RJKcakoTEbxRQm" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol": { - "keccak256": "0xfd34c7ca8231c6935e25dede32ca2b3121738e624d0fc896f7b895a731edcf88", - "urls": [ - "bzz-raw://d492c061963d36d07718446db191d4c5a340c0d847f6cd209f027bd99f7cb176", - "dweb:/ipfs/QmfCvRZt56ftDdrEh6LepHXFJ4fVtcfpQGvEyY8k4zxG1A" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/utils/actions/OlympusV2ActionsMixin.sol": { - "keccak256": "0xbe370f4759db1fa5f862856b291cd28127c75386167e12d5ea3d942aaf6b5992", - "urls": [ - "bzz-raw://9b855c4640ef7dd48e852c16a47bed26e1921dbbac50dff451d4437d33046866", - "dweb:/ipfs/QmQ8njb29at9pFg3TCP9Y6W1wmHrSjNYai2bcQTRs2JVhF" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IOlympusV2Staking.sol": { - "keccak256": "0x11e89c4058e73396d5169bc78050ba522d0b7e009d2e07a5a6675e8491e70e0d", - "urls": [ - "bzz-raw://0d46a4cacd57de0633c0c0d1496d29b9df8eb6d86557826181a867754480ec9a", - "dweb:/ipfs/QmUDs7HvMxoDXMAc1cuG6XKfrcveiE87s85HooYYuCrrjM" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AssetHelpers.sol": { - "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", - "urls": [ - "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", - "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { - "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", - "urls": [ - "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", - "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Address.sol": { - "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", - "urls": [ - "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", - "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 170 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_integrationManager", "type": "address", "internalType": "address" }, { "name": "_ohmToken", "type": "address", "internalType": "address" }, { "name": "_sohmToken", "type": "address", "internalType": "address" }, { "name": "_stakingContract", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "CLAIM_REWARDS_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "LEND_AND_STAKE_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "LEND_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "REDEEM_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "STAKE_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "TAKE_MULTIPLE_ORDERS_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "TAKE_ORDER_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "UNSTAKE_AND_REDEEM_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "UNSTAKE_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "getIntegrationManager", "inputs": [], "outputs": [ { "name": "integrationManager_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getOhmToken", "inputs": [], "outputs": [ { "name": "ohmToken_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getOlympusV2StakingContract", "inputs": [], "outputs": [ { "name": "stakingContract_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getSohmToken", "inputs": [], "outputs": [ { "name": "sohmToken_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "parseAssetsForAction", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_selector", "type": "bytes4", "internalType": "bytes4" }, { "name": "_actionData", "type": "bytes", "internalType": "bytes" } ], "outputs": [ { "name": "spendAssetsHandleType_", "type": "uint8", "internalType": "enum IIntegrationManager.SpendAssetsHandleType" }, { "name": "spendAssets_", "type": "address[]", "internalType": "address[]" }, { "name": "spendAssetAmounts_", "type": "uint256[]", "internalType": "uint256[]" }, { "name": "incomingAssets_", "type": "address[]", "internalType": "address[]" }, { "name": "minIncomingAssetAmounts_", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "view" }, { "type": "function", "name": "stake", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_actionData", "type": "bytes", "internalType": "bytes" }, { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "unstake", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_actionData", "type": "bytes", "internalType": "bytes" }, { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x6101006040523480156200001257600080fd5b506040516200188a3803806200188a833981810160405260808110156200003857600080fd5b50805160208083015160408401516060948501516001600160601b031985871b811660805281871b811660a05283871b811660c0529582901b90951660e0529293909291620000a1906001600160a01b0385169083906000199062000976620000d2821b17901c565b620000c881600019846001600160a01b0316620000d260201b62000976179092919060201c565b50505050620004e5565b8015806200015c575060408051636eb1769f60e11b81523060048201526001600160a01b03848116602483015291519185169163dd62ed3e91604480820192602092909190829003018186803b1580156200012c57600080fd5b505afa15801562000141573d6000803e3d6000fd5b505050506040513d60208110156200015857600080fd5b5051155b620001995760405162461bcd60e51b8152600401808060200182810382526036815260200180620018546036913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0390811663095ea7b360e01b17909152620001f1918591620001f616565b505050565b606062000252826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316620002b260201b62000a8e179092919060201c565b805190915015620001f1578080602001905160208110156200027357600080fd5b5051620001f15760405162461bcd60e51b815260040180806020018281038252602a8152602001806200182a602a913960400191505060405180910390fd5b6060620002c38484600085620002cd565b90505b9392505050565b606082471015620003105760405162461bcd60e51b8152600401808060200182810382526026815260200180620018046026913960400191505060405180910390fd5b6200031b8562000435565b6200036d576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b60208310620003ae5780518252601f1990920191602091820191016200038d565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d806000811462000412576040519150601f19603f3d011682016040523d82523d6000602084013e62000417565b606091505b5090925090506200042a8282866200043b565b979650505050505050565b3b151590565b606083156200044c575081620002c6565b8251156200045d5782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015620004a95781810151838201526020016200048f565b50505050905090810190601f168015620004d75780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b60805160601c60a05160601c60c05160601c60e05160601c6112d362000531600039806107955250806105e05250806105bc52508061060d528061087c52806108cd52506112d36000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c8063863e5ad011610097578063c54efee511610066578063c54efee514610266578063e7c4569014610428578063f7d882b514610430578063fa7dd04d1461043857610100565b8063863e5ad014610246578063b23228cf1461024e578063b997f65814610256578063c32990a21461025e57610100565b806340da225d116100d357806340da225d1461014257806359b00d931461014a57806362cbb3891461016e57806368e306771461017657610100565b8063080456c114610105578063131461c01461012a578063257cb1a3146101325780633ffc15911461013a575b600080fd5b61010d610506565b604080516001600160e01b03199092168252519081900360200190f35b61010d61052a565b61010d61054e565b61010d610572565b61010d610596565b6101526105ba565b604080516001600160a01b039092168252519081900360200190f35b6101526105de565b6102446004803603606081101561018c57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b8111156101b657600080fd5b8201836020820111156101c857600080fd5b803590602001918460018302840111600160201b831117156101e957600080fd5b919390929091602081019035600160201b81111561020657600080fd5b82018360208201111561021857600080fd5b803590602001918460018302840111600160201b8311171561023957600080fd5b509092509050610602565b005b61010d61074b565b61010d61076f565b610152610793565b61010d6107b7565b6102f36004803603606081101561027c57600080fd5b6001600160a01b03823516916001600160e01b031960208201351691810190606081016040820135600160201b8111156102b557600080fd5b8201836020820111156102c757600080fd5b803590602001918460018302840111600160201b831117156102e857600080fd5b5090925090506107db565b6040518086600281111561030357fe5b815260200180602001806020018060200180602001858103855289818151815260200191508051906020019060200280838360005b83811015610350578181015183820152602001610338565b50505050905001858103845288818151815260200191508051906020019060200280838360005b8381101561038f578181015183820152602001610377565b50505050905001858103835287818151815260200191508051906020019060200280838360005b838110156103ce5781810151838201526020016103b6565b50505050905001858103825286818151815260200191508051906020019060200280838360005b8381101561040d5781810151838201526020016103f5565b50505050905001995050505050505050505060405180910390f35b61015261087a565b61010d61089e565b6102446004803603606081101561044e57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561047857600080fd5b82018360208201111561048a57600080fd5b803590602001918460018302840111600160201b831117156104ab57600080fd5b919390929091602081019035600160201b8111156104c857600080fd5b8201836020820111156104da57600080fd5b803590602001918460018302840111600160201b831117156104fb57600080fd5b5090925090506108c2565b7f8334eb99be0145865eba9889fca2ee920288090caefff4cc776038e20ad9259a81565b7f29fa046e79524c3c5ac4c01df692c35e217802b2b13b21121b76cf0ef02b138c81565b7f099f75155f0e997bf83a7993a71d5e7e7540bd386fe1e84643a09ce6b412521981565b7ffa7dd04da627f433da73c4355ead9c75682a67a8fc84d3f6170ef0922f402d2481565b7fb9dfbaccbe5cd2a84fdcf1d15f23ef25d23086f5afbaa99516065ed4a5bbc7a381565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106695760405162461bcd60e51b815260040180806020018281038252603281526020018061120e6032913960400191505060405180910390fd5b60006106aa85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610aa792505050565b9050600019811415610739576106be610793565b6001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561070a57600080fd5b505afa15801561071e573d6000803e3d6000fd5b505050506040513d602081101561073457600080fd5b505190505b6107438682610ac6565b505050505050565b7f03e38a2bd7063d45c897edeafc330e71657502dd86434d3c37a489caf116af6981565b7f68e30677f607df46e87da13e15b637784cfa62374b653f35ab43d10361a2f83081565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f0e7f692dad5b88fdee426250d6eae91207e56a2e8112b7364579bed1790e5bf481565b600060608080806001600160e01b0319881663fa7dd04d60e01b1415610814576108058787610b40565b9450945094509450945061086f565b6001600160e01b031988166368e3067760e01b141561083857610805898888610ca5565b60405162461bcd60e51b81526004018080602001828103825260278152602001806112a06027913960400191505060405180910390fd5b945094509450945094565b7f000000000000000000000000000000000000000000000000000000000000000090565b7fc29fa9dde84204c2908778afd0613d802d31cf046179b88f6d2b4a4e507ea2d581565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146109295760405162461bcd60e51b815260040180806020018281038252603281526020018061120e6032913960400191505060405180910390fd5b600061096a85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610aa792505050565b90506107438682610ec7565b8015806109fc575060408051636eb1769f60e11b81523060048201526001600160a01b03848116602483015291519185169163dd62ed3e91604480820192602092909190829003018186803b1580156109ce57600080fd5b505afa1580156109e2573d6000803e3d6000fd5b505050506040513d60208110156109f857600080fd5b5051155b610a375760405162461bcd60e51b815260040180806020018281038252603681526020018061126a6036913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052610a89908490610f30565b505050565b6060610a9d8484600085610fe1565b90505b9392505050565b6000818060200190516020811015610abe57600080fd5b505192915050565b610ace6105ba565b6040805163990966d560e01b81526001600160a01b0385811660048301526024820185905260006044830181905260016064840152925193169263990966d59260848084019391929182900301818387803b158015610b2c57600080fd5b505af1158015610743573d6000803e3d6000fd5b60006060806060806000610b8988888080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610aa792505050565b60408051600180825281830190925291925060208083019080368337019050509450610bb36105de565b85600081518110610bc057fe5b6001600160a01b03929092166020928302919091018201526040805160018082528183019092529182810190803683370190505093508084600081518110610c0457fe5b602090810291909101015260408051600180825281830190925290816020016020820280368337019050509250610c39610793565b83600081518110610c4657fe5b6001600160a01b03929092166020928302919091018201526040805160018082528183019092529182810190803683370190505091508082600081518110610c8a57fe5b60200260200101818152505060029550509295509295909350565b60006060806060806000610cee88888080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610aa792505050565b60408051600180825281830190925291925060208083019080368337019050509450610d18610793565b85600081518110610d2557fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509350600019811415610e0357610d6d610793565b6001600160a01b03166370a082318a6040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610db957600080fd5b505afa158015610dcd573d6000803e3d6000fd5b505050506040513d6020811015610de357600080fd5b505184518590600090610df257fe5b602002602001018181525050610e1e565b8084600081518110610e1157fe5b6020026020010181815250505b6040805160018082528183019092529060208083019080368337019050509250610e466105de565b83600081518110610e5357fe5b6001600160a01b039290921660209283029190910182015260408051600180825281830190925291828101908036833701905050915083600081518110610e9657fe5b602002602001015182600081518110610eab57fe5b6020026020010181815250506002955050939792965093509350565b610ecf6105ba565b60408051631b0cd93b60e31b81526001600160a01b0385811660048301526024820185905260016044830181905260648301529151929091169163d866c9d89160848082019260009290919082900301818387803b158015610b2c57600080fd5b6060610f85826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610a8e9092919063ffffffff16565b805190915015610a8957808060200190516020811015610fa457600080fd5b5051610a895760405162461bcd60e51b815260040180806020018281038252602a815260200180611240602a913960400191505060405180910390fd5b6060824710156110225760405162461bcd60e51b81526004018080602001828103825260268152602001806111e86026913960400191505060405180910390fd5b61102b8561113d565b61107c576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b602083106110bb5780518252601f19909201916020918201910161109c565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d806000811461111d576040519150601f19603f3d011682016040523d82523d6000602084013e611122565b606091505b5091509150611132828286611143565b979650505050505050565b3b151590565b60608315611152575081610aa0565b8251156111625782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156111ac578181015183820152602001611194565b50505050905090810190601f1680156111d95780820380516001836020036101000a031916815260200191505b509250505060405180910390fdfe416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c4f6e6c792074686520496e746567726174696f6e4d616e616765722063616e2063616c6c20746869732066756e6374696f6e5361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e63657061727365417373657473466f72416374696f6e3a205f73656c6563746f7220696e76616c6964a164736f6c634300060c000a416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c5361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e6365", "sourceMap": "501:6399:170:-:0;;;654:446;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;654:446:170;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1938:41:179;;;;;654:446:170;1938:41:179;666:46:191;;;;;;;887:21:170;;;;;::::2;::::0;918:23;;;;;;;::::2;::::0;654:446;;;;;952:65:::2;::::0;-1:-1:-1;;;;;887:21:170;::::2;::::0;654:446;;-1:-1:-1;;999:17:170;952:28:::2;;::::0;::::2;;:65:::0;::::2;:::i;:::-;1027:66;1057:16;-1:-1:-1::0;;1033:10:170::2;-1:-1:-1::0;;;;;1027:29:170::2;;;;;;;:66;;;;;:::i;:::-;654:446:::0;;;;501:6399;;1348:613:450;1713:10;;;1712:62;;-1:-1:-1;1729:39:450;;;-1:-1:-1;;;1729:39:450;;1753:4;1729:39;;;;-1:-1:-1;;;;;1729:39:450;;;;;;;;;:15;;;;;;:39;;;;;;;;;;;;;;;:15;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1729:39:450;:44;1712:62;1704:150;;;;-1:-1:-1;;;1704:150:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1891:62;;;-1:-1:-1;;;;;1891:62:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1891:62:450;;;-1:-1:-1;;;1891:62:450;;;;1864:90;;1884:5;;1864:19;:90;:::i;:::-;1348:613;;;:::o;2967:751::-;3386:23;3412:69;3440:4;3412:69;;;;;;;;;;;;;;;;;3420:5;-1:-1:-1;;;;;3412:27:450;;;;;;;:69;;;;;:::i;:::-;3495:17;;3386:95;;-1:-1:-1;3495:21:450;3491:221;;3635:10;3624:30;;;;;;;;;;;;;;;-1:-1:-1;3624:30:450;3616:85;;;;-1:-1:-1;;;3616:85:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3581:193:451;3684:12;3715:52;3737:6;3745:4;3751:1;3754:12;3715:21;:52::i;:::-;3708:59;;3581:193;;;;;;:::o;4608:523::-;4735:12;4792:5;4767:21;:30;;4759:81;;;;-1:-1:-1;;;4759:81:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4858:18;4869:6;4858:10;:18::i;:::-;4850:60;;;;;-1:-1:-1;;;4850:60:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;4981:12;4995:23;5022:6;-1:-1:-1;;;;;5022:11:451;5042:5;5050:4;5022:33;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5022:33:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4980:75:451;;-1:-1:-1;4980:75:451;-1:-1:-1;5072:52:451;4980:75;;5111:12;5072:17;:52::i;:::-;5065:59;4608:523;-1:-1:-1;;;;;;;4608:523:451:o;726:413::-;1086:20;1124:8;;;726:413::o;7091:725::-;7206:12;7234:7;7230:580;;;-1:-1:-1;7264:10:451;7257:17;;7230:580;7375:17;;:21;7371:429;;7633:10;7627:17;7693:15;7680:10;7676:2;7672:19;7665:44;7582:145;7772:12;7765:20;;-1:-1:-1;;;7765:20:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;501:6399:170;;;;;;;;;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106101005760003560e01c8063863e5ad011610097578063c54efee511610066578063c54efee514610266578063e7c4569014610428578063f7d882b514610430578063fa7dd04d1461043857610100565b8063863e5ad014610246578063b23228cf1461024e578063b997f65814610256578063c32990a21461025e57610100565b806340da225d116100d357806340da225d1461014257806359b00d931461014a57806362cbb3891461016e57806368e306771461017657610100565b8063080456c114610105578063131461c01461012a578063257cb1a3146101325780633ffc15911461013a575b600080fd5b61010d610506565b604080516001600160e01b03199092168252519081900360200190f35b61010d61052a565b61010d61054e565b61010d610572565b61010d610596565b6101526105ba565b604080516001600160a01b039092168252519081900360200190f35b6101526105de565b6102446004803603606081101561018c57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b8111156101b657600080fd5b8201836020820111156101c857600080fd5b803590602001918460018302840111600160201b831117156101e957600080fd5b919390929091602081019035600160201b81111561020657600080fd5b82018360208201111561021857600080fd5b803590602001918460018302840111600160201b8311171561023957600080fd5b509092509050610602565b005b61010d61074b565b61010d61076f565b610152610793565b61010d6107b7565b6102f36004803603606081101561027c57600080fd5b6001600160a01b03823516916001600160e01b031960208201351691810190606081016040820135600160201b8111156102b557600080fd5b8201836020820111156102c757600080fd5b803590602001918460018302840111600160201b831117156102e857600080fd5b5090925090506107db565b6040518086600281111561030357fe5b815260200180602001806020018060200180602001858103855289818151815260200191508051906020019060200280838360005b83811015610350578181015183820152602001610338565b50505050905001858103845288818151815260200191508051906020019060200280838360005b8381101561038f578181015183820152602001610377565b50505050905001858103835287818151815260200191508051906020019060200280838360005b838110156103ce5781810151838201526020016103b6565b50505050905001858103825286818151815260200191508051906020019060200280838360005b8381101561040d5781810151838201526020016103f5565b50505050905001995050505050505050505060405180910390f35b61015261087a565b61010d61089e565b6102446004803603606081101561044e57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561047857600080fd5b82018360208201111561048a57600080fd5b803590602001918460018302840111600160201b831117156104ab57600080fd5b919390929091602081019035600160201b8111156104c857600080fd5b8201836020820111156104da57600080fd5b803590602001918460018302840111600160201b831117156104fb57600080fd5b5090925090506108c2565b7f8334eb99be0145865eba9889fca2ee920288090caefff4cc776038e20ad9259a81565b7f29fa046e79524c3c5ac4c01df692c35e217802b2b13b21121b76cf0ef02b138c81565b7f099f75155f0e997bf83a7993a71d5e7e7540bd386fe1e84643a09ce6b412521981565b7ffa7dd04da627f433da73c4355ead9c75682a67a8fc84d3f6170ef0922f402d2481565b7fb9dfbaccbe5cd2a84fdcf1d15f23ef25d23086f5afbaa99516065ed4a5bbc7a381565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106695760405162461bcd60e51b815260040180806020018281038252603281526020018061120e6032913960400191505060405180910390fd5b60006106aa85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610aa792505050565b9050600019811415610739576106be610793565b6001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561070a57600080fd5b505afa15801561071e573d6000803e3d6000fd5b505050506040513d602081101561073457600080fd5b505190505b6107438682610ac6565b505050505050565b7f03e38a2bd7063d45c897edeafc330e71657502dd86434d3c37a489caf116af6981565b7f68e30677f607df46e87da13e15b637784cfa62374b653f35ab43d10361a2f83081565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f0e7f692dad5b88fdee426250d6eae91207e56a2e8112b7364579bed1790e5bf481565b600060608080806001600160e01b0319881663fa7dd04d60e01b1415610814576108058787610b40565b9450945094509450945061086f565b6001600160e01b031988166368e3067760e01b141561083857610805898888610ca5565b60405162461bcd60e51b81526004018080602001828103825260278152602001806112a06027913960400191505060405180910390fd5b945094509450945094565b7f000000000000000000000000000000000000000000000000000000000000000090565b7fc29fa9dde84204c2908778afd0613d802d31cf046179b88f6d2b4a4e507ea2d581565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146109295760405162461bcd60e51b815260040180806020018281038252603281526020018061120e6032913960400191505060405180910390fd5b600061096a85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610aa792505050565b90506107438682610ec7565b8015806109fc575060408051636eb1769f60e11b81523060048201526001600160a01b03848116602483015291519185169163dd62ed3e91604480820192602092909190829003018186803b1580156109ce57600080fd5b505afa1580156109e2573d6000803e3d6000fd5b505050506040513d60208110156109f857600080fd5b5051155b610a375760405162461bcd60e51b815260040180806020018281038252603681526020018061126a6036913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052610a89908490610f30565b505050565b6060610a9d8484600085610fe1565b90505b9392505050565b6000818060200190516020811015610abe57600080fd5b505192915050565b610ace6105ba565b6040805163990966d560e01b81526001600160a01b0385811660048301526024820185905260006044830181905260016064840152925193169263990966d59260848084019391929182900301818387803b158015610b2c57600080fd5b505af1158015610743573d6000803e3d6000fd5b60006060806060806000610b8988888080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610aa792505050565b60408051600180825281830190925291925060208083019080368337019050509450610bb36105de565b85600081518110610bc057fe5b6001600160a01b03929092166020928302919091018201526040805160018082528183019092529182810190803683370190505093508084600081518110610c0457fe5b602090810291909101015260408051600180825281830190925290816020016020820280368337019050509250610c39610793565b83600081518110610c4657fe5b6001600160a01b03929092166020928302919091018201526040805160018082528183019092529182810190803683370190505091508082600081518110610c8a57fe5b60200260200101818152505060029550509295509295909350565b60006060806060806000610cee88888080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610aa792505050565b60408051600180825281830190925291925060208083019080368337019050509450610d18610793565b85600081518110610d2557fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509350600019811415610e0357610d6d610793565b6001600160a01b03166370a082318a6040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610db957600080fd5b505afa158015610dcd573d6000803e3d6000fd5b505050506040513d6020811015610de357600080fd5b505184518590600090610df257fe5b602002602001018181525050610e1e565b8084600081518110610e1157fe5b6020026020010181815250505b6040805160018082528183019092529060208083019080368337019050509250610e466105de565b83600081518110610e5357fe5b6001600160a01b039290921660209283029190910182015260408051600180825281830190925291828101908036833701905050915083600081518110610e9657fe5b602002602001015182600081518110610eab57fe5b6020026020010181815250506002955050939792965093509350565b610ecf6105ba565b60408051631b0cd93b60e31b81526001600160a01b0385811660048301526024820185905260016044830181905260648301529151929091169163d866c9d89160848082019260009290919082900301818387803b158015610b2c57600080fd5b6060610f85826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610a8e9092919063ffffffff16565b805190915015610a8957808060200190516020811015610fa457600080fd5b5051610a895760405162461bcd60e51b815260040180806020018281038252602a815260200180611240602a913960400191505060405180910390fd5b6060824710156110225760405162461bcd60e51b81526004018080602001828103825260268152602001806111e86026913960400191505060405180910390fd5b61102b8561113d565b61107c576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b602083106110bb5780518252601f19909201916020918201910161109c565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d806000811461111d576040519150601f19603f3d011682016040523d82523d6000602084013e611122565b606091505b5091509150611132828286611143565b979650505050505050565b3b151590565b60608315611152575081610aa0565b8251156111625782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156111ac578181015183820152602001611194565b50505050905090810190601f1680156111d95780820380516001836020036101000a031916815260200191505b509250505060405180910390fdfe416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c4f6e6c792074686520496e746567726174696f6e4d616e616765722063616e2063616c6c20746869732066756e6374696f6e5361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e63657061727365417373657473466f72416374696f6e3a205f73656c6563746f7220696e76616c6964a164736f6c634300060c000a", "sourceMap": "501:6399:170:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1490:119:180;;;:::i;:::-;;;;-1:-1:-1;;;;;;1490:119:180;;;;;;;;;;;;;;1373:111;;;:::i;832:85::-;;;:::i;1034:87::-;;;:::i;1240:110::-;;;:::i;1581:137:191:-;;;:::i;:::-;;;;-1:-1:-1;;;;;1581:137:191;;;;;;;;;;;;;;6591:96:170;;;:::i;1712:380::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1712:380:170;;;;;;;;;;;;;;;-1:-1:-1;;;1712:380:170;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1712:380:170;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1712:380:170;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1712:380:170;;;;;;;;;;-1:-1:-1;1712:380:170;;-1:-1:-1;1712:380:170;-1:-1:-1;1712:380:170;:::i;:::-;;706:104:180;;;:::i;1127:91::-;;;:::i;6799:99:170:-;;;:::i;577:123:180:-;;;:::i;2895:773:170:-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2895:773:170;;;;-1:-1:-1;;;;;;2895:773:170;;;;;;;;;;;;;;;;-1:-1:-1;;;2895:773:170;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2895:773:170;;;;;;;;;;-1:-1:-1;2895:773:170;;-1:-1:-1;2895:773:170;-1:-1:-1;2895:773:170;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2637:128:179;;;:::i;923:89:180:-;;;:::i;1277:253:170:-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1277:253:170;;;;;;;;;;;;;;;-1:-1:-1;;;1277:253:170;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1277:253:170;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1277:253:170;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1277:253:170;;;;;;;;;;-1:-1:-1;1277:253:170;;-1:-1:-1;1277:253:170;-1:-1:-1;1277:253:170;:::i;1490:119:180:-;1558:50;1490:119;:::o;1373:111::-;1437:46;1373:111;:::o;832:85::-;878:38;832:85;:::o;1034:87::-;1081:39;1034:87;:::o;1240:110::-;1303:46;1240:110;:::o;1581:137:191:-;1684:27;1581:137;:::o;6591:96:170:-;6671:9;6591:96;:::o;1712:380::-;1747:10:179;-1:-1:-1;;;;;1761:19:179;1747:33;;1726:130;;;;-1:-1:-1;;;1726:130:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1866:14:170::1;1883:29;1900:11;;1883:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;1883:16:170::1;::::0;-1:-1:-1;;;1883:29:170:i:1;:::-;1866:46;;-1:-1:-1::0;;1927:6:170::1;:27;1923:113;;;1985:14;:12;:14::i;:::-;-1:-1:-1::0;;;;;1979:31:170::1;;2019:4;1979:46;;;;;;;;;;;;;-1:-1:-1::0;;;;;1979:46:170::1;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;1979:46:170;;-1:-1:-1;1923:113:170::1;2046:39;2065:11;2078:6;2046:18;:39::i;:::-;1866:1:179;1712:380:170::0;;;;;:::o;706:104:180:-;766:43;706:104;:::o;1127:91::-;1176:41;1127:91;:::o;6799:99:170:-;6881:10;6799:99;:::o;577:123:180:-;647:52;577:123;:::o;2895:773:170:-;3099:64;3177:29;;;;-1:-1:-1;;;;;;3385:27:170;;-1:-1:-1;;;3385:27:170;3381:221;;;3435:34;3457:11;;3435:21;:34::i;:::-;3428:41;;;;;;;;;;;;3381:221;-1:-1:-1;;;;;;3490:29:170;;-1:-1:-1;;;3490:29:170;3486:116;;;3542:49;3566:11;3579;;3542:23;:49::i;3486:116::-;3612:49;;-1:-1:-1;;;3612:49:170;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2895:773;;;;;;;;;;:::o;2637:128:179:-;2739:19;2637:128;:::o;923:89:180:-;971:40;923:89;:::o;1277:253:170:-;1747:10:179;-1:-1:-1;;;;;1761:19:179;1747:33;;1726:130;;;;-1:-1:-1;;;1726:130:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1429:14:170::1;1446:29;1463:11;;1446:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;1446:16:170::1;::::0;-1:-1:-1;;;1446:29:170:i:1;:::-;1429:46;;1486:37;1503:11;1516:6;1486:16;:37::i;1348:613:450:-:0;1713:10;;;1712:62;;-1:-1:-1;1729:39:450;;;-1:-1:-1;;;1729:39:450;;1753:4;1729:39;;;;-1:-1:-1;;;;;1729:39:450;;;;;;;;;:15;;;;;;:39;;;;;;;;;;;;;;;:15;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1729:39:450;:44;1712:62;1704:150;;;;-1:-1:-1;;;1704:150:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1891:62;;;-1:-1:-1;;;;;1891:62:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1891:62:450;-1:-1:-1;;;1891:62:450;;;1864:90;;1884:5;;1864:19;:90::i;:::-;1348:613;;;:::o;3581:193:451:-;3684:12;3715:52;3737:6;3745:4;3751:1;3754:12;3715:21;:52::i;:::-;3708:59;;3581:193;;;;;;:::o;6260:149:170:-;6334:15;6379:11;6368:34;;;;;;;;;;;;;;;-1:-1:-1;6368:34:170;;6260:149;-1:-1:-1;;6260:149:170:o;1089:267:191:-;1205:29;:27;:29::i;:::-;1187:162;;;-1:-1:-1;;;1187:162:191;;-1:-1:-1;;;;;1187:162:191;;;;;;;;;;;;;1316:5;1187:162;;;;;;1335:4;1187:162;;;;;;:56;;;;;:162;;;;;1316:5;;1187:162;;;;;;1316:5;1187:56;:162;;;;;;;;;;;;;;;;;;;;;;;;;;3790:1029:170;3908:64;3986:29;4029:35;4078:32;4124:41;4190:14;4207:29;4224:11;;4207:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4207:16:170;;-1:-1:-1;;;4207:29:170:i;:::-;4262:16;;;4276:1;4262:16;;;;;;;;;4190:46;;-1:-1:-1;4262:16:170;;;;;;;;;;;-1:-1:-1;4262:16:170;4247:31;;4306:13;:11;:13::i;:::-;4288:12;4301:1;4288:15;;;;;;;;-1:-1:-1;;;;;4288:31:170;;;;:15;;;;;;;;;;:31;4350:16;;;4364:1;4350:16;;;;;;;;;;;;;;4288:15;4350:16;;;;;-1:-1:-1;4350:16:170;4329:37;;4400:6;4376:18;4395:1;4376:21;;;;;;;;;;;;;;;;;:30;4435:16;;;4449:1;4435:16;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4435:16:170;4417:34;;4482:14;:12;:14::i;:::-;4461:15;4477:1;4461:18;;;;;;;;-1:-1:-1;;;;;4461:35:170;;;;:18;;;;;;;;;;:35;4533:16;;;4547:1;4533:16;;;;;;;;;;;;;;4461:18;4533:16;;;;;-1:-1:-1;4533:16:170;4506:43;;4589:6;4559:24;4584:1;4559:27;;;;;;;;;;;;;:36;;;;;4627:50;4606:206;;;3790:1029;;;;;;;;:::o;4943:1224::-;5084:64;5162:29;5205:35;5254:32;5300:41;5366:14;5383:29;5400:11;;5383:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5383:16:170;;-1:-1:-1;;;5383:29:170:i;:::-;5438:16;;;5452:1;5438:16;;;;;;;;;5366:46;;-1:-1:-1;5438:16:170;;;;;;;;;;;-1:-1:-1;5438:16:170;5423:31;;5482:14;:12;:14::i;:::-;5464:12;5477:1;5464:15;;;;;;;;-1:-1:-1;;;;;5464:32:170;;;;:15;;;;;;;;;;:32;5527:16;;;5541:1;5527:16;;;;;;;;;;;;;;5464:15;5527:16;;;;;-1:-1:-1;5527:16:170;5506:37;;-1:-1:-1;;5558:6:170;:27;5554:187;;;5631:14;:12;:14::i;:::-;-1:-1:-1;;;;;5625:31:170;;5657:11;5625:44;;;;;;;;;;;;;-1:-1:-1;;;;;5625:44:170;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5625:44:170;5601:21;;:18;;5620:1;;5601:21;;;;;;;;;:68;;;;;5554:187;;;5724:6;5700:18;5719:1;5700:21;;;;;;;;;;;;;:30;;;;;5554:187;5769:16;;;5783:1;5769:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5769:16:170;5751:34;;5816:13;:11;:13::i;:::-;5795:15;5811:1;5795:18;;;;;;;;-1:-1:-1;;;;;5795:34:170;;;;:18;;;;;;;;;;:34;5866:16;;;5880:1;5866:16;;;;;;;;;;;;;;5795:18;5866:16;;;;;-1:-1:-1;5866:16:170;5839:43;;5922:18;5941:1;5922:21;;;;;;;;;;;;;;5892:24;5917:1;5892:27;;;;;;;;;;;;;:51;;;;;5975:50;5954:206;;;4943:1224;;;;;;;;;:::o;771:262:191:-;885:29;:27;:29::i;:::-;867:159;;;-1:-1:-1;;;867:159:191;;-1:-1:-1;;;;;867:159:191;;;;;;;;;;;;;994:4;867:159;;;;;;;;;;;;:54;;;;;;;:159;;;;;-1:-1:-1;;867:159:191;;;;;;;;-1:-1:-1;867:54:191;:159;;;;;;;;;;2967:751:450;3386:23;3412:69;3440:4;3412:69;;;;;;;;;;;;;;;;;3420:5;-1:-1:-1;;;;;3412:27:450;;;:69;;;;;:::i;:::-;3495:17;;3386:95;;-1:-1:-1;3495:21:450;3491:221;;3635:10;3624:30;;;;;;;;;;;;;;;-1:-1:-1;3624:30:450;3616:85;;;;-1:-1:-1;;;3616:85:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4608:523:451;4735:12;4792:5;4767:21;:30;;4759:81;;;;-1:-1:-1;;;4759:81:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4858:18;4869:6;4858:10;:18::i;:::-;4850:60;;;;;-1:-1:-1;;;4850:60:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;4981:12;4995:23;5022:6;-1:-1:-1;;;;;5022:11:451;5042:5;5050:4;5022:33;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5022:33:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4980:75;;;;5072:52;5090:7;5099:10;5111:12;5072:17;:52::i;:::-;5065:59;4608:523;-1:-1:-1;;;;;;;4608:523:451:o;726:413::-;1086:20;1124:8;;;726:413::o;7091:725::-;7206:12;7234:7;7230:580;;;-1:-1:-1;7264:10:451;7257:17;;7230:580;7375:17;;:21;7371:429;;7633:10;7627:17;7693:15;7680:10;7676:2;7672:19;7665:44;7582:145;7772:12;7765:20;;-1:-1:-1;;;7765:20:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;", "linkReferences": {}, "immutableReferences": { "45812": [ { "start": 1504, "length": 32 } ], "45814": [ { "start": 1941, "length": 32 } ], "49791": [ { "start": 1549, "length": 32 }, { "start": 2172, "length": 32 }, { "start": 2253, "length": 32 } ], "51437": [ { "start": 1468, "length": 32 } ] } }, "methodIdentifiers": { "CLAIM_REWARDS_SELECTOR()": "40da225d", "LEND_AND_STAKE_SELECTOR()": "131461c0", "LEND_SELECTOR()": "257cb1a3", "REDEEM_SELECTOR()": "f7d882b5", "STAKE_SELECTOR()": "3ffc1591", "TAKE_MULTIPLE_ORDERS_SELECTOR()": "c32990a2", "TAKE_ORDER_SELECTOR()": "863e5ad0", "UNSTAKE_AND_REDEEM_SELECTOR()": "080456c1", "UNSTAKE_SELECTOR()": "b23228cf", "getIntegrationManager()": "e7c45690", "getOhmToken()": "62cbb389", "getOlympusV2StakingContract()": "59b00d93", "getSohmToken()": "b997f658", "parseAssetsForAction(address,bytes4,bytes)": "c54efee5", "stake(address,bytes,bytes)": "fa7dd04d", "unstake(address,bytes,bytes)": "68e30677" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_integrationManager\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_ohmToken\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_sohmToken\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_stakingContract\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"CLAIM_REWARDS_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LEND_AND_STAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LEND_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"REDEEM_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"STAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TAKE_MULTIPLE_ORDERS_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TAKE_ORDER_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UNSTAKE_AND_REDEEM_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UNSTAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getIntegrationManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"integrationManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOhmToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"ohmToken_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOlympusV2StakingContract\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"stakingContract_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getSohmToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"sohmToken_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"_selector\",\"type\":\"bytes4\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"}],\"name\":\"parseAssetsForAction\",\"outputs\":[{\"internalType\":\"enum IIntegrationManager.SpendAssetsHandleType\",\"name\":\"spendAssetsHandleType_\",\"type\":\"uint8\"},{\"internalType\":\"address[]\",\"name\":\"spendAssets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"spendAssetAmounts_\",\"type\":\"uint256[]\"},{\"internalType\":\"address[]\",\"name\":\"incomingAssets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"minIncomingAssetAmounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"stake\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"unstake\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"getIntegrationManager()\":{\"returns\":{\"integrationManager_\":\"The `INTEGRATION_MANAGER` variable value\"}},\"getOhmToken()\":{\"returns\":{\"ohmToken_\":\"The `OHM_TOKEN` variable value\"}},\"getOlympusV2StakingContract()\":{\"returns\":{\"stakingContract_\":\"The `OLYMPUS_V2_STAKING_CONTRACT` variable value\"}},\"getSohmToken()\":{\"returns\":{\"sohmToken_\":\"The `SOHM_TOKEN` variable value\"}},\"parseAssetsForAction(address,bytes4,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_selector\":\"The function selector for the callOnIntegration\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"},\"returns\":{\"incomingAssets_\":\"The assets to receive in the call\",\"minIncomingAssetAmounts_\":\"The min asset amounts to receive in the call\",\"spendAssetAmounts_\":\"The max asset amounts to spend in the call\",\"spendAssetsHandleType_\":\"A type that dictates how to handle granting the adapter access to spend assets (`None` by default)\",\"spendAssets_\":\"The assets to spend in the call\"}},\"stake(address,bytes,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}},\"unstake(address,bytes,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}}},\"title\":\"OlympusV2Adapter Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getIntegrationManager()\":{\"notice\":\"Gets the `INTEGRATION_MANAGER` variable\"},\"getOhmToken()\":{\"notice\":\"Gets the `OHM_TOKEN` variable\"},\"getOlympusV2StakingContract()\":{\"notice\":\"Gets the `OLYMPUS_V2_STAKING_CONTRACT` variable\"},\"getSohmToken()\":{\"notice\":\"Gets the `SOHM_TOKEN` variable\"},\"parseAssetsForAction(address,bytes4,bytes)\":{\"notice\":\"Parses the expected assets in a particular action\"},\"stake(address,bytes,bytes)\":{\"notice\":\"Stakes an amount of OHM to OlympusV2\"},\"unstake(address,bytes,bytes)\":{\"notice\":\"Unstakes an amount of sOHM from OlympusV2\"}},\"notice\":\"Adapter for OlympusV2 Staking\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/integration-manager/integrations/adapters/OlympusV2Adapter.sol\":\"OlympusV2Adapter\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/integration-manager/IIntegrationManager.sol\":{\"keccak256\":\"0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23\",\"dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk\"]},\"contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol\":{\"keccak256\":\"0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336\",\"dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS\"]},\"contracts/release/extensions/integration-manager/integrations/adapters/OlympusV2Adapter.sol\":{\"keccak256\":\"0xecfb271c0efcf125d4b7dda30ca7294e45d8840c0e48a6cfcc907e4f78dafac1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://675db1046231fab09bd9ff978f29d03a72c2639bc967fdbe133d01d908ab214c\",\"dweb:/ipfs/QmU2fskwBCoe5kgZR6HHF9zvMZyie6j3fdwKJe6z3DdBmU\"]},\"contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol\":{\"keccak256\":\"0x067e49bf0d3c1655ab41a413c65ccf61d4e593308132e1ffc484a0fadfbbaf26\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://387f425017e18e89cc1893521101fa99df595314847d0b3d9a1162369f714fcf\",\"dweb:/ipfs/Qmco3jCvuWAyfCpBYpGzHrQjiFJG63w1RJKcakoTEbxRQm\"]},\"contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol\":{\"keccak256\":\"0xfd34c7ca8231c6935e25dede32ca2b3121738e624d0fc896f7b895a731edcf88\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d492c061963d36d07718446db191d4c5a340c0d847f6cd209f027bd99f7cb176\",\"dweb:/ipfs/QmfCvRZt56ftDdrEh6LepHXFJ4fVtcfpQGvEyY8k4zxG1A\"]},\"contracts/release/extensions/integration-manager/integrations/utils/actions/OlympusV2ActionsMixin.sol\":{\"keccak256\":\"0xbe370f4759db1fa5f862856b291cd28127c75386167e12d5ea3d942aaf6b5992\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9b855c4640ef7dd48e852c16a47bed26e1921dbbac50dff451d4437d33046866\",\"dweb:/ipfs/QmQ8njb29at9pFg3TCP9Y6W1wmHrSjNYai2bcQTRs2JVhF\"]},\"contracts/release/interfaces/IOlympusV2Staking.sol\":{\"keccak256\":\"0x11e89c4058e73396d5169bc78050ba522d0b7e009d2e07a5a6675e8491e70e0d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://0d46a4cacd57de0633c0c0d1496d29b9df8eb6d86557826181a867754480ec9a\",\"dweb:/ipfs/QmUDs7HvMxoDXMAc1cuG6XKfrcveiE87s85HooYYuCrrjM\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_integrationManager", "type": "address" }, { "internalType": "address", "name": "_ohmToken", "type": "address" }, { "internalType": "address", "name": "_sohmToken", "type": "address" }, { "internalType": "address", "name": "_stakingContract", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "CLAIM_REWARDS_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "LEND_AND_STAKE_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "LEND_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "REDEEM_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "STAKE_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "TAKE_MULTIPLE_ORDERS_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "TAKE_ORDER_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "UNSTAKE_AND_REDEEM_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "UNSTAKE_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getIntegrationManager", "outputs": [ { "internalType": "address", "name": "integrationManager_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getOhmToken", "outputs": [ { "internalType": "address", "name": "ohmToken_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getOlympusV2StakingContract", "outputs": [ { "internalType": "address", "name": "stakingContract_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getSohmToken", "outputs": [ { "internalType": "address", "name": "sohmToken_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "bytes4", "name": "_selector", "type": "bytes4" }, { "internalType": "bytes", "name": "_actionData", "type": "bytes" } ], "stateMutability": "view", "type": "function", "name": "parseAssetsForAction", "outputs": [ { "internalType": "enum IIntegrationManager.SpendAssetsHandleType", "name": "spendAssetsHandleType_", "type": "uint8" }, { "internalType": "address[]", "name": "spendAssets_", "type": "address[]" }, { "internalType": "uint256[]", "name": "spendAssetAmounts_", "type": "uint256[]" }, { "internalType": "address[]", "name": "incomingAssets_", "type": "address[]" }, { "internalType": "uint256[]", "name": "minIncomingAssetAmounts_", "type": "uint256[]" } ] }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "bytes", "name": "_actionData", "type": "bytes" }, { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "stake" }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "bytes", "name": "_actionData", "type": "bytes" }, { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "unstake" } ], "devdoc": { "kind": "dev", "methods": { "getIntegrationManager()": { "returns": { "integrationManager_": "The `INTEGRATION_MANAGER` variable value" } }, "getOhmToken()": { "returns": { "ohmToken_": "The `OHM_TOKEN` variable value" } }, "getOlympusV2StakingContract()": { "returns": { "stakingContract_": "The `OLYMPUS_V2_STAKING_CONTRACT` variable value" } }, "getSohmToken()": { "returns": { "sohmToken_": "The `SOHM_TOKEN` variable value" } }, "parseAssetsForAction(address,bytes4,bytes)": { "params": { "_actionData": "Data specific to this action", "_selector": "The function selector for the callOnIntegration", "_vaultProxy": "The VaultProxy of the calling fund" }, "returns": { "incomingAssets_": "The assets to receive in the call", "minIncomingAssetAmounts_": "The min asset amounts to receive in the call", "spendAssetAmounts_": "The max asset amounts to spend in the call", "spendAssetsHandleType_": "A type that dictates how to handle granting the adapter access to spend assets (`None` by default)", "spendAssets_": "The assets to spend in the call" } }, "stake(address,bytes,bytes)": { "params": { "_actionData": "Data specific to this action", "_vaultProxy": "The VaultProxy of the calling fund" } }, "unstake(address,bytes,bytes)": { "params": { "_actionData": "Data specific to this action", "_vaultProxy": "The VaultProxy of the calling fund" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "getIntegrationManager()": { "notice": "Gets the `INTEGRATION_MANAGER` variable" }, "getOhmToken()": { "notice": "Gets the `OHM_TOKEN` variable" }, "getOlympusV2StakingContract()": { "notice": "Gets the `OLYMPUS_V2_STAKING_CONTRACT` variable" }, "getSohmToken()": { "notice": "Gets the `SOHM_TOKEN` variable" }, "parseAssetsForAction(address,bytes4,bytes)": { "notice": "Parses the expected assets in a particular action" }, "stake(address,bytes,bytes)": { "notice": "Stakes an amount of OHM to OlympusV2" }, "unstake(address,bytes,bytes)": { "notice": "Unstakes an amount of sOHM from OlympusV2" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/integration-manager/integrations/adapters/OlympusV2Adapter.sol": "OlympusV2Adapter" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/extensions/integration-manager/IIntegrationManager.sol": { "keccak256": "0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef", "urls": [ "bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23", "dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol": { "keccak256": "0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1", "urls": [ "bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336", "dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/adapters/OlympusV2Adapter.sol": { "keccak256": "0xecfb271c0efcf125d4b7dda30ca7294e45d8840c0e48a6cfcc907e4f78dafac1", "urls": [ "bzz-raw://675db1046231fab09bd9ff978f29d03a72c2639bc967fdbe133d01d908ab214c", "dweb:/ipfs/QmU2fskwBCoe5kgZR6HHF9zvMZyie6j3fdwKJe6z3DdBmU" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol": { "keccak256": "0x067e49bf0d3c1655ab41a413c65ccf61d4e593308132e1ffc484a0fadfbbaf26", "urls": [ "bzz-raw://387f425017e18e89cc1893521101fa99df595314847d0b3d9a1162369f714fcf", "dweb:/ipfs/Qmco3jCvuWAyfCpBYpGzHrQjiFJG63w1RJKcakoTEbxRQm" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol": { "keccak256": "0xfd34c7ca8231c6935e25dede32ca2b3121738e624d0fc896f7b895a731edcf88", "urls": [ "bzz-raw://d492c061963d36d07718446db191d4c5a340c0d847f6cd209f027bd99f7cb176", "dweb:/ipfs/QmfCvRZt56ftDdrEh6LepHXFJ4fVtcfpQGvEyY8k4zxG1A" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/utils/actions/OlympusV2ActionsMixin.sol": { "keccak256": "0xbe370f4759db1fa5f862856b291cd28127c75386167e12d5ea3d942aaf6b5992", "urls": [ "bzz-raw://9b855c4640ef7dd48e852c16a47bed26e1921dbbac50dff451d4437d33046866", "dweb:/ipfs/QmQ8njb29at9pFg3TCP9Y6W1wmHrSjNYai2bcQTRs2JVhF" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IOlympusV2Staking.sol": { "keccak256": "0x11e89c4058e73396d5169bc78050ba522d0b7e009d2e07a5a6675e8491e70e0d", "urls": [ "bzz-raw://0d46a4cacd57de0633c0c0d1496d29b9df8eb6d86557826181a867754480ec9a", "dweb:/ipfs/QmUDs7HvMxoDXMAc1cuG6XKfrcveiE87s85HooYYuCrrjM" ], "license": "GPL-3.0" }, "contracts/release/utils/AssetHelpers.sol": { "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", "urls": [ "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", "urls": [ "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Address.sol": { "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", "urls": [ "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" } }, "version": 1 }, "id": 170 } diff --git a/eth_defi/abi/enzyme/OnlyRemoveDustExternalPositionPolicy.json b/eth_defi/abi/enzyme/OnlyRemoveDustExternalPositionPolicy.json index 13628182..ebe64dda 100644 --- a/eth_defi/abi/enzyme/OnlyRemoveDustExternalPositionPolicy.json +++ b/eth_defi/abi/enzyme/OnlyRemoveDustExternalPositionPolicy.json @@ -1,1482 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_policyManager", - "type": "address" - }, - { - "internalType": "address", - "name": "_fundDeployer", - "type": "address" - }, - { - "internalType": "address", - "name": "_valueInterpreter", - "type": "address" - }, - { - "internalType": "address", - "name": "_wethToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_pricelessAssetBypassTimelock", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_pricelessAssetBypassTimeLimit", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "nextDustToleranceInWeth", - "type": "uint256" - } - ], - "name": "DustToleranceInWethSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "comptrollerProxy", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "asset", - "type": "address" - } - ], - "name": "PricelessAssetBypassed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "comptrollerProxy", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "asset", - "type": "address" - } - ], - "name": "PricelessAssetTimelockStarted", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "activateForFund", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "addFundSettings", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_asset", - "type": "address" - } - ], - "name": "assetIsBypassableForFund", - "outputs": [ - { - "internalType": "bool", - "name": "isBypassable_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "canDisable", - "outputs": [ - { - "internalType": "bool", - "name": "canDisable_", - "type": "bool" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_asset", - "type": "address" - } - ], - "name": "getAssetBypassWindowStartForFund", - "outputs": [ - { - "internalType": "uint256", - "name": "windowStart_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getDustToleranceInWeth", - "outputs": [ - { - "internalType": "uint256", - "name": "dustToleranceInWeth_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getFundDeployer", - "outputs": [ - { - "internalType": "address", - "name": "fundDeployer_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "owner_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getPolicyManager", - "outputs": [ - { - "internalType": "address", - "name": "policyManager_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getPricelessAssetBypassTimeLimit", - "outputs": [ - { - "internalType": "uint256", - "name": "timeLimit_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getPricelessAssetBypassTimelock", - "outputs": [ - { - "internalType": "uint256", - "name": "timelock_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getPricelessAssetBypassValueInterpreter", - "outputs": [ - { - "internalType": "address", - "name": "valueInterpreter_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getPricelessAssetBypassWethToken", - "outputs": [ - { - "internalType": "address", - "name": "wethToken_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "identifier", - "outputs": [ - { - "internalType": "string", - "name": "identifier_", - "type": "string" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "implementedHooks", - "outputs": [ - { - "internalType": "enum IPolicyManager.PolicyHook[]", - "name": "implementedHooks_", - "type": "uint8[]" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_nextDustToleranceInWeth", - "type": "uint256" - } - ], - "name": "setDustToleranceInWeth", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_asset", - "type": "address" - } - ], - "name": "startAssetBypassTimelock", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "updateFundSettings", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "enum IPolicyManager.PolicyHook", - "name": "", - "type": "uint8" - }, - { - "internalType": "bytes", - "name": "_encodedArgs", - "type": "bytes" - } - ], - "name": "validateRule", - "outputs": [ - { - "internalType": "bool", - "name": "isValid_", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x61014060405234801561001157600080fd5b5060405161139d38038061139d833981810160405260c081101561003457600080fd5b5080516020820151604083015160608085015160808087015160a0978801516001600160601b031988861b811690935286851b831690985260c081905260e088905284841b8216610100529282901b16610120526001600160a01b039485169593851694919392821691166112bf6100de6000398061082e5250806107735250806109945250806108525250806109f15280610a7b5250806108815280610af952506112bf6000f3fe608060405234801561001057600080fd5b50600436106101215760003560e01c806358bfdfee116100ad578063893d20e811610071578063893d20e81461043857806397c0ac8714610440578063cbf54bb214610448578063ceb9a0ad146104a0578063d44ad6cb146104c657610121565b806358bfdfee1461034f5780635da4cdb2146103575780637998a1c4146103855780637fe292681461040257806385d63ec91461040a57610121565b80631ef92578116100f45780631ef925781461026e578063219ea7bf1461028a578063234dfb17146102a757806344105398146102af578063579be718146102c957610121565b806307d2890e146101265780630d4d75101461014e5780630f5f6b4f146101cc57806314f8e6151461024a575b600080fd5b61014c6004803603602081101561013c57600080fd5b50356001600160a01b03166104ce565b005b61014c6004803603604081101561016457600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561018e57600080fd5b8201836020820111156101a057600080fd5b803590602001918460018302840111600160201b831117156101c157600080fd5b509092509050610735565b61014c600480360360408110156101e257600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561020c57600080fd5b82018360208201111561021e57600080fd5b803590602001918460018302840111600160201b8311171561023f57600080fd5b50909250905061076c565b610252610771565b604080516001600160a01b039092168252519081900360200190f35b610276610795565b604080519115158252519081900360200190f35b61014c600480360360208110156102a057600080fd5b503561079a565b61025261082c565b6102b7610850565b60408051918252519081900360200190f35b610276600480360360608110156102df57600080fd5b6001600160a01b038235169160ff60208201351691810190606081016040820135600160201b81111561031157600080fd5b82018360208201111561032357600080fd5b803590602001918460018302840111600160201b8311171561034457600080fd5b509092509050610874565b6102b761093f565b6102b76004803603604081101561036d57600080fd5b506001600160a01b0381358116916020013516610945565b61038d610972565b6040805160208082528351818301528351919283929083019185019080838360005b838110156103c75781810151838201526020016103af565b50505050905090810190601f1680156103f45780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102b7610992565b6102766004803603604081101561042057600080fd5b506001600160a01b03813581169160200135166109b6565b6102526109ed565b610252610a79565b610450610a9d565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561048c578181015183820152602001610474565b505050509050019250505060405180910390f35b61014c600480360360208110156104b657600080fd5b50356001600160a01b0316610af4565b610252610af7565b6000336001600160a01b0316635a53e3486040518163ffffffff1660e01b815260040160206040518083038186803b15801561050957600080fd5b505afa15801561051d573d6000803e3d6000fd5b505050506040513d602081101561053357600080fd5b50516040805163c980918760e01b815290519192506001600160a01b0383169163c980918791600480820192602092909190829003018186803b15801561057957600080fd5b505afa15801561058d573d6000803e3d6000fd5b505050506040513d60208110156105a357600080fd5b50516001600160a01b031633146105eb5760405162461bcd60e51b815260040180806020018281038252605981526020018061125a6059913960600191505060405180910390fd5b6105f3610771565b6001600160a01b0316634c67e10683600161060c61082c565b6040518463ffffffff1660e01b815260040180846001600160a01b03168152602001838152602001826001600160a01b031681526020019350505050602060405180830381600087803b15801561066257600080fd5b505af192505050801561068757506040513d602081101561068257600080fd5b505160015b6106f95761069d610696610850565b4290610b1b565b6001600160a01b03808316600081815260016020908152604080832094881680845294909152808220949094559251919290917f76fadd0d061c0fa0e079ec4814cecf7f5f6f43e604f241551dd35b6c3c9a69809190a3610731565b5060405162461bcd60e51b815260040180806020018281038252602b8152602001806111bc602b913960400191505060405180910390fd5b5050565b60405162461bcd60e51b81526004018080602001828103825260378152602001806111856037913960400191505060405180910390fd5b505050565b7f000000000000000000000000000000000000000000000000000000000000000090565b600090565b6107a26109ed565b6001600160a01b0316336001600160a01b0316146107f15760405162461bcd60e51b815260040180806020018281038252604981526020018061113c6049913960600191505060405180910390fd5b60008190556040805182815290517ff02a8605888227ce9f14ab97539fc9aed32996f83d13befc980676da2549969b9181900360200190a150565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b6000336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146108dd5760405162461bcd60e51b81526004018080602001828103825260298152602001806111e76029913960400191505060405180910390fd5b600061091e84848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610b7c92505050565b91505061093361092e8783610ba7565b610f1e565b9150505b949350505050565b60005490565b6001600160a01b038083166000908152600160209081526040808320938516835292905220545b92915050565b606060405180606001604052806022815260200161111a60229139905090565b7f000000000000000000000000000000000000000000000000000000000000000090565b6000806109c38484610945565b90504281111580156109375750426109e36109dc610992565b8390610b1b565b1015949350505050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b158015610a4857600080fd5b505afa158015610a5c573d6000803e3d6000fd5b505050506040513d6020811015610a7257600080fd5b5051905090565b7f000000000000000000000000000000000000000000000000000000000000000090565b60408051600180825281830190925260609160208083019080368337019050509050600881600081518110610ace57fe5b60200260200101906009811115610ae157fe5b90816009811115610aee57fe5b90525090565b50565b7f000000000000000000000000000000000000000000000000000000000000000090565b600082820183811015610b75576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b600080828060200190516040811015610b9457600080fd5b5080516020909101519092509050915091565b6000606080836001600160a01b03166380daddb86040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610be757600080fd5b505af1158015610bfb573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040908152811015610c2457600080fd5b8101908080516040519392919084600160201b821115610c4357600080fd5b908301906020820185811115610c5857600080fd5b82518660208202830111600160201b82111715610c7457600080fd5b82525081516020918201928201910280838360005b83811015610ca1578181015183820152602001610c89565b5050505090500160405260200180516040519392919084600160201b821115610cc957600080fd5b908301906020820185811115610cde57600080fd5b82518660208202830111600160201b82111715610cfa57600080fd5b82525081516020918201928201910280838360005b83811015610d27578181015183820152602001610d0f565b50505050905001604052505050915091506000610d4d868484610d4861082c565b610f31565b9050606080866001600160a01b031663ecd658b46040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610d8d57600080fd5b505af1158015610da1573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040908152811015610dca57600080fd5b8101908080516040519392919084600160201b821115610de957600080fd5b908301906020820185811115610dfe57600080fd5b82518660208202830111600160201b82111715610e1a57600080fd5b82525081516020918201928201910280838360005b83811015610e47578181015183820152602001610e2f565b5050505090500160405260200180516040519392919084600160201b821115610e6f57600080fd5b908301906020820185811115610e8457600080fd5b82518660208202830111600160201b82111715610ea057600080fd5b82525081516020918201928201910280838360005b83811015610ecd578181015183820152602001610eb5565b50505050905001604052505050915091506000610eee898484610d4861082c565b905080841115610f0f57610f028482610f86565b965050505050505061096c565b50600098975050505050505050565b6000610f2861093f565b90911115919050565b6000805b8451811015610f7d57610f736109dc87878481518110610f5157fe5b6020026020010151878581518110610f6557fe5b602002602001015187610fe3565b9150600101610f35565b50949350505050565b600082821115610fdd576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6000610fed610771565b6001600160a01b0316634c67e1068585856040518463ffffffff1660e01b815260040180846001600160a01b03168152602001838152602001826001600160a01b031681526020019350505050602060405180830381600087803b15801561105457600080fd5b505af192505050801561107957506040513d602081101561107457600080fd5b505160015b6111075761108785856109b6565b6110c25760405162461bcd60e51b815260040180806020018281038252604a815260200180611210604a913960600191505060405180910390fd5b836001600160a01b0316856001600160a01b03167fa2de3d3e85d58ec3c62bcbd0a67a60fac9f9002f6e70cfe768a49fa19d7dcf4660405160405180910390a361110e565b9050610937565b50600094935050505056fe4f4e4c595f52454d4f56455f445553545f45585445524e414c5f504f534954494f4e6f6e6c7946756e644465706c6f7965724f776e65723a204f6e6c79207468652046756e644465706c6f796572206f776e65722063616e2063616c6c20746869732066756e6374696f6e75706461746546756e6453657474696e67733a2055706461746573206e6f7420616c6c6f77656420666f72207468697320706f6c6963797374617274417373657442797061737354696d656c6f636b3a2041737365742068617320612070726963654f6e6c792074686520506f6c6963794d616e616765722063616e206d616b6520746869732063616c6c5f5f63616c6356616c75654578636c7564696e6742797061737361626c6550726963656c65737341737365743a20496e76616c6964206173736574206e6f742062797061737361626c657374617274417373657442797061737354696d656c6f636b3a2053656e646572206973206e6f7420746865205661756c7450726f7879206f6620746865206173736f63696174656420436f6d7074726f6c6c657250726f7879a164736f6c634300060c000a", - "sourceMap": "799:3570:213:-:0;;;924:523;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;924:523:213;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;737:31:223;;;;;;;;864:29:358;;;;;;;;924:523:213;1530:43:224;;;1583:46;;;;1639:60;;;;;;;1709:46;;;;;;;-1:-1:-1;;;;;799:3570:213;;;;;;;;924:523;;;799:3570;;;;;;-1:-1:-1;799:3570:213;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106101215760003560e01c806358bfdfee116100ad578063893d20e811610071578063893d20e81461043857806397c0ac8714610440578063cbf54bb214610448578063ceb9a0ad146104a0578063d44ad6cb146104c657610121565b806358bfdfee1461034f5780635da4cdb2146103575780637998a1c4146103855780637fe292681461040257806385d63ec91461040a57610121565b80631ef92578116100f45780631ef925781461026e578063219ea7bf1461028a578063234dfb17146102a757806344105398146102af578063579be718146102c957610121565b806307d2890e146101265780630d4d75101461014e5780630f5f6b4f146101cc57806314f8e6151461024a575b600080fd5b61014c6004803603602081101561013c57600080fd5b50356001600160a01b03166104ce565b005b61014c6004803603604081101561016457600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561018e57600080fd5b8201836020820111156101a057600080fd5b803590602001918460018302840111600160201b831117156101c157600080fd5b509092509050610735565b61014c600480360360408110156101e257600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561020c57600080fd5b82018360208201111561021e57600080fd5b803590602001918460018302840111600160201b8311171561023f57600080fd5b50909250905061076c565b610252610771565b604080516001600160a01b039092168252519081900360200190f35b610276610795565b604080519115158252519081900360200190f35b61014c600480360360208110156102a057600080fd5b503561079a565b61025261082c565b6102b7610850565b60408051918252519081900360200190f35b610276600480360360608110156102df57600080fd5b6001600160a01b038235169160ff60208201351691810190606081016040820135600160201b81111561031157600080fd5b82018360208201111561032357600080fd5b803590602001918460018302840111600160201b8311171561034457600080fd5b509092509050610874565b6102b761093f565b6102b76004803603604081101561036d57600080fd5b506001600160a01b0381358116916020013516610945565b61038d610972565b6040805160208082528351818301528351919283929083019185019080838360005b838110156103c75781810151838201526020016103af565b50505050905090810190601f1680156103f45780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102b7610992565b6102766004803603604081101561042057600080fd5b506001600160a01b03813581169160200135166109b6565b6102526109ed565b610252610a79565b610450610a9d565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561048c578181015183820152602001610474565b505050509050019250505060405180910390f35b61014c600480360360208110156104b657600080fd5b50356001600160a01b0316610af4565b610252610af7565b6000336001600160a01b0316635a53e3486040518163ffffffff1660e01b815260040160206040518083038186803b15801561050957600080fd5b505afa15801561051d573d6000803e3d6000fd5b505050506040513d602081101561053357600080fd5b50516040805163c980918760e01b815290519192506001600160a01b0383169163c980918791600480820192602092909190829003018186803b15801561057957600080fd5b505afa15801561058d573d6000803e3d6000fd5b505050506040513d60208110156105a357600080fd5b50516001600160a01b031633146105eb5760405162461bcd60e51b815260040180806020018281038252605981526020018061125a6059913960600191505060405180910390fd5b6105f3610771565b6001600160a01b0316634c67e10683600161060c61082c565b6040518463ffffffff1660e01b815260040180846001600160a01b03168152602001838152602001826001600160a01b031681526020019350505050602060405180830381600087803b15801561066257600080fd5b505af192505050801561068757506040513d602081101561068257600080fd5b505160015b6106f95761069d610696610850565b4290610b1b565b6001600160a01b03808316600081815260016020908152604080832094881680845294909152808220949094559251919290917f76fadd0d061c0fa0e079ec4814cecf7f5f6f43e604f241551dd35b6c3c9a69809190a3610731565b5060405162461bcd60e51b815260040180806020018281038252602b8152602001806111bc602b913960400191505060405180910390fd5b5050565b60405162461bcd60e51b81526004018080602001828103825260378152602001806111856037913960400191505060405180910390fd5b505050565b7f000000000000000000000000000000000000000000000000000000000000000090565b600090565b6107a26109ed565b6001600160a01b0316336001600160a01b0316146107f15760405162461bcd60e51b815260040180806020018281038252604981526020018061113c6049913960600191505060405180910390fd5b60008190556040805182815290517ff02a8605888227ce9f14ab97539fc9aed32996f83d13befc980676da2549969b9181900360200190a150565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b6000336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146108dd5760405162461bcd60e51b81526004018080602001828103825260298152602001806111e76029913960400191505060405180910390fd5b600061091e84848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610b7c92505050565b91505061093361092e8783610ba7565b610f1e565b9150505b949350505050565b60005490565b6001600160a01b038083166000908152600160209081526040808320938516835292905220545b92915050565b606060405180606001604052806022815260200161111a60229139905090565b7f000000000000000000000000000000000000000000000000000000000000000090565b6000806109c38484610945565b90504281111580156109375750426109e36109dc610992565b8390610b1b565b1015949350505050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b158015610a4857600080fd5b505afa158015610a5c573d6000803e3d6000fd5b505050506040513d6020811015610a7257600080fd5b5051905090565b7f000000000000000000000000000000000000000000000000000000000000000090565b60408051600180825281830190925260609160208083019080368337019050509050600881600081518110610ace57fe5b60200260200101906009811115610ae157fe5b90816009811115610aee57fe5b90525090565b50565b7f000000000000000000000000000000000000000000000000000000000000000090565b600082820183811015610b75576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b600080828060200190516040811015610b9457600080fd5b5080516020909101519092509050915091565b6000606080836001600160a01b03166380daddb86040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610be757600080fd5b505af1158015610bfb573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040908152811015610c2457600080fd5b8101908080516040519392919084600160201b821115610c4357600080fd5b908301906020820185811115610c5857600080fd5b82518660208202830111600160201b82111715610c7457600080fd5b82525081516020918201928201910280838360005b83811015610ca1578181015183820152602001610c89565b5050505090500160405260200180516040519392919084600160201b821115610cc957600080fd5b908301906020820185811115610cde57600080fd5b82518660208202830111600160201b82111715610cfa57600080fd5b82525081516020918201928201910280838360005b83811015610d27578181015183820152602001610d0f565b50505050905001604052505050915091506000610d4d868484610d4861082c565b610f31565b9050606080866001600160a01b031663ecd658b46040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610d8d57600080fd5b505af1158015610da1573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040908152811015610dca57600080fd5b8101908080516040519392919084600160201b821115610de957600080fd5b908301906020820185811115610dfe57600080fd5b82518660208202830111600160201b82111715610e1a57600080fd5b82525081516020918201928201910280838360005b83811015610e47578181015183820152602001610e2f565b5050505090500160405260200180516040519392919084600160201b821115610e6f57600080fd5b908301906020820185811115610e8457600080fd5b82518660208202830111600160201b82111715610ea057600080fd5b82525081516020918201928201910280838360005b83811015610ecd578181015183820152602001610eb5565b50505050905001604052505050915091506000610eee898484610d4861082c565b905080841115610f0f57610f028482610f86565b965050505050505061096c565b50600098975050505050505050565b6000610f2861093f565b90911115919050565b6000805b8451811015610f7d57610f736109dc87878481518110610f5157fe5b6020026020010151878581518110610f6557fe5b602002602001015187610fe3565b9150600101610f35565b50949350505050565b600082821115610fdd576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6000610fed610771565b6001600160a01b0316634c67e1068585856040518463ffffffff1660e01b815260040180846001600160a01b03168152602001838152602001826001600160a01b031681526020019350505050602060405180830381600087803b15801561105457600080fd5b505af192505050801561107957506040513d602081101561107457600080fd5b505160015b6111075761108785856109b6565b6110c25760405162461bcd60e51b815260040180806020018281038252604a815260200180611210604a913960600191505060405180910390fd5b836001600160a01b0316856001600160a01b03167fa2de3d3e85d58ec3c62bcbd0a67a60fac9f9002f6e70cfe768a49fa19d7dcf4660405160405180910390a361110e565b9050610937565b50600094935050505056fe4f4e4c595f52454d4f56455f445553545f45585445524e414c5f504f534954494f4e6f6e6c7946756e644465706c6f7965724f776e65723a204f6e6c79207468652046756e644465706c6f796572206f776e65722063616e2063616c6c20746869732066756e6374696f6e75706461746546756e6453657474696e67733a2055706461746573206e6f7420616c6c6f77656420666f72207468697320706f6c6963797374617274417373657442797061737354696d656c6f636b3a2041737365742068617320612070726963654f6e6c792074686520506f6c6963794d616e616765722063616e206d616b6520746869732063616c6c5f5f63616c6356616c75654578636c7564696e6742797061737361626c6550726963656c65737341737365743a20496e76616c6964206173736574206e6f742062797061737361626c657374617274417373657442797061737354696d656c6f636b3a2053656e646572206973206e6f7420746865205661756c7450726f7879206f6620746865206173736f63696174656420436f6d7074726f6c6c657250726f7879a164736f6c634300060c000a", - "sourceMap": "799:3570:213:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2146:1068:224;;;;;;;;;;;;;;;;-1:-1:-1;2146:1068:224;-1:-1:-1;;;;;2146:1068:224;;:::i;:::-;;1452:161:223;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1452:161:223;;;;;;;;;;;;;;;-1:-1:-1;;;1452:161:223;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1452:161:223;;;;;;;;;;-1:-1:-1;1452:161:223;;-1:-1:-1;1452:161:223;-1:-1:-1;1452:161:223;:::i;1539:102:213:-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1539:102:213;;;;;;;;;;;;;;;-1:-1:-1;;;1539:102:213;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1539:102:213;;;;;;;;;;-1:-1:-1;1539:102:213;;-1:-1:-1;1539:102:213;-1:-1:-1;1539:102:213;:::i;7057:191:224:-;;;:::i;:::-;;;;-1:-1:-1;;;;;7057:191:224;;;;;;;;;;;;;;1214:109:223;;;:::i;:::-;;;;;;;;;;;;;;;;;;956:244:222;;;;;;;;;;;;;;;;-1:-1:-1;956:244:222;;:::i;7406:142:224:-;;;:::i;6740:138::-;;;:::i;:::-;;;;;;;;;;;;;;;;2788:393:213;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2788:393:213;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2788:393:213;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2788:393:213;;;;;;;;;;-1:-1:-1;2788:393:213;;-1:-1:-1;2788:393:213;-1:-1:-1;2788:393:213;:::i;1624:128:222:-;;;:::i;6038:249:224:-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;6038:249:224;;;;;;;;;;:::i;1764:141:213:-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6445:142:224;;;:::i;3548:390::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;3548:390:224;;;;;;;;;;:::i;1064:120:358:-;;;:::i;1378:108::-;;;:::i;2035:337:213:-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;941:83:223;;;;;;;;;;;;;;;;-1:-1:-1;941:83:223;-1:-1:-1;;;;;941:83:223;;:::i;6755:113::-;;;:::i;2146:1068:224:-;2291:24;2327:10;-1:-1:-1;;;;;2318:32:224;;:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2318:34:224;2397:48;;;-1:-1:-1;;;2397:48:224;;;;2318:34;;-1:-1:-1;;;;;;2397:46:224;;;;;:48;;;;;2318:34;;2397:48;;;;;;;;:46;:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2397:48:224;-1:-1:-1;;;;;2383:62:224;:10;:62;2362:198;;;;-1:-1:-1;;;2362:198:224;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2604:41;:39;:41::i;:::-;-1:-1:-1;;;;;2587:83:224;;2688:6;2712:1;2779:34;:32;:34::i;:::-;2587:268;;;;;;;;;;;;;-1:-1:-1;;;;;2587:268:224;;;;;;;;;;;-1:-1:-1;;;;;2587:268:224;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2587:268:224;;;2571:637;;3034:88;3088:33;:31;:33::i;:::-;3034:32;;:53;:88::i;:::-;-1:-1:-1;;;;;2963:60:224;;;;;;;:42;:60;;;;;;;;:68;;;;;;;;;;;;;:159;;;;3142:55;;2963:68;;:60;;3142:55;;2963:60;3142:55;2571:637;;;;2878:53;;-1:-1:-1;;;2878:53:224;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2571:637;2146:1068;;:::o;1452:161:223:-;1541:65;;-1:-1:-1;;;1541:65:223;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1539:102:213;;;;:::o;7057:191:224:-;7201:40;7057:191;:::o;1214:109:223:-;1276:16;1214:109;:::o;956:244:222:-;679:10:358;:8;:10::i;:::-;-1:-1:-1;;;;;665:24:358;:10;-1:-1:-1;;;;;665:24:358;;644:144;;;;-1:-1:-1;;;644:144:358;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1083:19:222::1;:46:::0;;;1145:48:::1;::::0;;;;;;;::::1;::::0;;;;::::1;::::0;;::::1;956:244:::0;:::o;7406:142:224:-;7508:33;7406:142;:::o;6740:138::-;6840:31;6740:138;:::o;2788:393:213:-;2968:13;586:10:223;-1:-1:-1;;;;;600:14:223;586:28;;578:82;;;;-1:-1:-1;;;578:82:223;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2996:24:213::1;3024:58;3069:12;;3024:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;3024:44:213::1;::::0;-1:-1:-1;;;3024:58:213:i:1;:::-;2993:89;;;3100:74;3109:64;3137:17;3156:16;3109:27;:64::i;:::-;3100:8;:74::i;:::-;3093:81;;;670:1:223;2788:393:213::0;;;;;;:::o;1624:128:222:-;1679:28;1726:19;1624:128;:::o;6038:249:224:-;-1:-1:-1;;;;;6211:61:224;;;6168:20;6211:61;;;:42;:61;;;;;;;;:69;;;;;;;;;;6038:249;;;;;:::o;1764:141:213:-;1818:25;1855:43;;;;;;;;;;;;;;;;;;;1764:141;:::o;6445:142:224:-;6547:33;6445:142;:::o;3548:390::-;3670:18;3704:19;3726:59;3759:17;3778:6;3726:32;:59::i;:::-;3704:81;;3830:15;3815:11;:30;;:116;;;;;3916:15;3861:51;3877:34;:32;:34::i;:::-;3861:11;;:15;:51::i;:::-;:70;;3796:135;3548:390;-1:-1:-1;;;;3548:390:224:o;1064:120:358:-;1105:14;1152:13;-1:-1:-1;;;;;1138:37:358;;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1138:39:358;;-1:-1:-1;1064:120:358;:::o;1378:108::-;1466:13;1378:108;:::o;2035:337:213:-;2215:34;;;2247:1;2215:34;;;;;;;;;2127:52;;2215:34;;;;;;;;;;;-1:-1:-1;2215:34:213;2195:54;;2282:48;2259:17;2277:1;2259:20;;;;;;;;;;;;;:71;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2035:337:213;:::o;941:83:223:-;;:::o;6755:113::-;6847:14;6755:113;:::o;2690:175:442:-;2748:7;2779:5;;;2802:6;;;;2794:46;;;;;-1:-1:-1;;;2794:46:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;2857:1;2690:175;-1:-1:-1;;;2690:175:442:o;5944:250:223:-;6075:15;6092:25;6151:15;6140:47;;;;;;;;;;;;;;;-1:-1:-1;6140:47:223;;;;;;;;;-1:-1:-1;6140:47:223;-1:-1:-1;5944:250:223;;;:::o;3277:1090:213:-;3401:14;3445:30;3489:37;3557:17;-1:-1:-1;;;;;3539:53:213;;:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3539:55:213;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3539:55:213;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3539:55:213;;;;;;;;;;;;-1:-1:-1;3539:55:213;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3539:55:213;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3539:55:213;;;;;;;;;;;;-1:-1:-1;3539:55:213;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3431:163;;;;3605:26;3634:200;3698:17;3729:13;3756:20;3790:34;:32;:34::i;:::-;3634:50;:200::i;:::-;3605:229;;3846:27;3875:34;3944:17;-1:-1:-1;;;;;3913:72:213;;:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3913:74:213;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3913:74:213;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3913:74:213;;;;;;;;;;;;-1:-1:-1;3913:74:213;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3913:74:213;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3913:74:213;;;;;;;;;;;;-1:-1:-1;3913:74:213;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3845:142;;;;3998:23;4024:194;4088:17;4119:10;4143:17;4174:34;:32;:34::i;4024:194::-;3998:220;;4254:15;4233:18;:36;4229:113;;;4292:39;:18;4315:15;4292:22;:39::i;:::-;4285:46;;;;;;;;;;4229:113;-1:-1:-1;4359:1:213;;3277:1090;-1:-1:-1;;;;;;;;3277:1090:213:o;1272:139:222:-;1334:12;1380:24;:22;:24::i;:::-;1365:39;;;;;1272:139;-1:-1:-1;1272:139:222:o;4084:595:224:-;4314:14;4345:9;4340:333;4360:11;:18;4356:1;:22;4340:333;;;4408:254;4436:212;4502:17;4541:11;4553:1;4541:14;;;;;;;;;;;;;;4577:17;4595:1;4577:20;;;;;;;;;;;;;;4619:11;4436:44;:212::i;4408:254::-;4399:263;-1:-1:-1;4380:3:224;;4340:333;;;;4084:595;;;;;;:::o;3136:155:442:-;3194:7;3226:1;3221;:6;;3213:49;;;;;-1:-1:-1;;;3213:49:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3279:5:442;;;3136:155::o;4879:824:224:-;5083:14;5142:41;:39;:41::i;:::-;-1:-1:-1;;;;;5125:83:224;;5226:10;5254:16;5288:11;5125:188;;;;;;;;;;;;;-1:-1:-1;;;;;5125:188:224;;;;;;;;;;;-1:-1:-1;;;;;5125:188:224;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5125:188:224;;;5109:569;;5431:55;5456:17;5475:10;5431:24;:55::i;:::-;5406:188;;;;-1:-1:-1;;;5406:188:224;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5656:10;-1:-1:-1;;;;;5614:53:224;5637:17;-1:-1:-1;;;;;5614:53:224;;;;;;;;;;;5109:569;;;5368:6;-1:-1:-1;5361:13:224;;5109:569;-1:-1:-1;5695:1:224;4879:824;;;;;;:::o", - "linkReferences": {}, - "immutableReferences": { - "59893": [ - { - "start": 2177, - "length": 32 - }, - { - "start": 2809, - "length": 32 - } - ], - "60282": [ - { - "start": 2130, - "length": 32 - } - ], - "60284": [ - { - "start": 2452, - "length": 32 - } - ], - "60286": [ - { - "start": 1907, - "length": 32 - } - ], - "60288": [ - { - "start": 2094, - "length": 32 - } - ], - "78707": [ - { - "start": 2545, - "length": 32 - }, - { - "start": 2683, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "activateForFund(address)": "ceb9a0ad", - "addFundSettings(address,bytes)": "0f5f6b4f", - "assetIsBypassableForFund(address,address)": "85d63ec9", - "canDisable()": "1ef92578", - "getAssetBypassWindowStartForFund(address,address)": "5da4cdb2", - "getDustToleranceInWeth()": "58bfdfee", - "getFundDeployer()": "97c0ac87", - "getOwner()": "893d20e8", - "getPolicyManager()": "d44ad6cb", - "getPricelessAssetBypassTimeLimit()": "7fe29268", - "getPricelessAssetBypassTimelock()": "44105398", - "getPricelessAssetBypassValueInterpreter()": "14f8e615", - "getPricelessAssetBypassWethToken()": "234dfb17", - "identifier()": "7998a1c4", - "implementedHooks()": "cbf54bb2", - "setDustToleranceInWeth(uint256)": "219ea7bf", - "startAssetBypassTimelock(address)": "07d2890e", - "updateFundSettings(address,bytes)": "0d4d7510", - "validateRule(address,uint8,bytes)": "579be718" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_policyManager\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_fundDeployer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_valueInterpreter\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_wethToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_pricelessAssetBypassTimelock\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_pricelessAssetBypassTimeLimit\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"nextDustToleranceInWeth\",\"type\":\"uint256\"}],\"name\":\"DustToleranceInWethSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"asset\",\"type\":\"address\"}],\"name\":\"PricelessAssetBypassed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"asset\",\"type\":\"address\"}],\"name\":\"PricelessAssetTimelockStarted\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"activateForFund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"addFundSettings\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"}],\"name\":\"assetIsBypassableForFund\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isBypassable_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"canDisable\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"canDisable_\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"}],\"name\":\"getAssetBypassWindowStartForFund\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"windowStart_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDustToleranceInWeth\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"dustToleranceInWeth_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFundDeployer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"fundDeployer_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPolicyManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"policyManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPricelessAssetBypassTimeLimit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"timeLimit_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPricelessAssetBypassTimelock\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"timelock_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPricelessAssetBypassValueInterpreter\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"valueInterpreter_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPricelessAssetBypassWethToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"wethToken_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"identifier\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"identifier_\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"implementedHooks\",\"outputs\":[{\"internalType\":\"enum IPolicyManager.PolicyHook[]\",\"name\":\"implementedHooks_\",\"type\":\"uint8[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_nextDustToleranceInWeth\",\"type\":\"uint256\"}],\"name\":\"setDustToleranceInWeth\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"}],\"name\":\"startAssetBypassTimelock\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"updateFundSettings\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"enum IPolicyManager.PolicyHook\",\"name\":\"\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"_encodedArgs\",\"type\":\"bytes\"}],\"name\":\"validateRule\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isValid_\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"Assets that do not have a valid price can be signaled via PricelessAssetBypassMixin to be valued at `0`\",\"kind\":\"dev\",\"methods\":{\"activateForFund(address)\":{\"details\":\"Unimplemented by default, can be overridden by the policy\"},\"assetIsBypassableForFund(address,address)\":{\"params\":{\"_asset\":\"The asset for which to check if it is bypassable\",\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\"},\"returns\":{\"isBypassable_\":\"True if the asset is bypassable\"}},\"canDisable()\":{\"details\":\"False by default, can be overridden by the policy\",\"returns\":{\"canDisable_\":\"True if the policy can be disabled\"}},\"getAssetBypassWindowStartForFund(address,address)\":{\"params\":{\"_asset\":\"The asset\",\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\"},\"returns\":{\"windowStart_\":\"The timestamp\"}},\"getDustToleranceInWeth()\":{\"returns\":{\"dustToleranceInWeth_\":\"The `dustToleranceInWeth` variable value\"}},\"getFundDeployer()\":{\"returns\":{\"fundDeployer_\":\"The `FUND_DEPLOYER` variable value\"}},\"getOwner()\":{\"details\":\"Ownership is deferred to the owner of the FundDeployer contract\",\"returns\":{\"owner_\":\"The owner\"}},\"getPolicyManager()\":{\"returns\":{\"policyManager_\":\"The `POLICY_MANAGER` variable value\"}},\"getPricelessAssetBypassTimeLimit()\":{\"returns\":{\"timeLimit_\":\"The `PRICELESS_ASSET_BYPASS_TIME_LIMIT` variable value\"}},\"getPricelessAssetBypassTimelock()\":{\"returns\":{\"timelock_\":\"The `PRICELESS_ASSET_BYPASS_TIMELOCK` variable value\"}},\"getPricelessAssetBypassValueInterpreter()\":{\"returns\":{\"valueInterpreter_\":\"The `PRICELESS_ASSET_BYPASS_VALUE_INTERPRETER` variable value\"}},\"getPricelessAssetBypassWethToken()\":{\"returns\":{\"wethToken_\":\"The `PRICELESS_ASSET_BYPASS_WETH_TOKEN` variable value\"}},\"identifier()\":{\"returns\":{\"identifier_\":\"The identifier string\"}},\"implementedHooks()\":{\"returns\":{\"implementedHooks_\":\"The implemented PolicyHooks\"}},\"setDustToleranceInWeth(uint256)\":{\"params\":{\"_nextDustToleranceInWeth\":\"The next dustToleranceInWeth value\"}},\"startAssetBypassTimelock(address)\":{\"details\":\"This function must be called via ComptrollerProxy.vaultCallOnContract(). This allows the function to be gas relay-able. It also means that the originator must be the owner.\",\"params\":{\"_asset\":\"The asset for which to start the timelock period\"}},\"updateFundSettings(address,bytes)\":{\"details\":\"Disallowed by default, can be overridden by the policy\"},\"validateRule(address,uint8,bytes)\":{\"details\":\"onlyPolicyManager validation not necessary as no state is updated, but is cheap and nice-to-have since an event is fired\",\"params\":{\"_comptrollerProxy\":\"The fund's ComptrollerProxy address\",\"_encodedArgs\":\"Encoded args with which to validate the rule\"},\"returns\":{\"isValid_\":\"True if the rule passes\"}}},\"title\":\"OnlyRemoveDustExternalPositionPolicy Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"activateForFund(address)\":{\"notice\":\"Validates and initializes a policy as necessary prior to fund activation\"},\"addFundSettings(address,bytes)\":{\"notice\":\"Add the initial policy settings for a fund\"},\"assetIsBypassableForFund(address,address)\":{\"notice\":\"Checks whether an asset is bypassable (if still without a valid price) for a given fund\"},\"canDisable()\":{\"notice\":\"Whether or not the policy can be disabled\"},\"getAssetBypassWindowStartForFund(address,address)\":{\"notice\":\"Gets the timestamp from which an asset without a valid price can be considered to be valued at `0`\"},\"getDustToleranceInWeth()\":{\"notice\":\"Gets the `dustToleranceInWeth` variable\"},\"getFundDeployer()\":{\"notice\":\"Gets the `FUND_DEPLOYER` variable\"},\"getOwner()\":{\"notice\":\"Gets the owner of this contract\"},\"getPolicyManager()\":{\"notice\":\"Gets the `POLICY_MANAGER` variable value\"},\"getPricelessAssetBypassTimeLimit()\":{\"notice\":\"Gets the `PRICELESS_ASSET_BYPASS_TIME_LIMIT` variable\"},\"getPricelessAssetBypassTimelock()\":{\"notice\":\"Gets the `PRICELESS_ASSET_BYPASS_TIMELOCK` variable\"},\"getPricelessAssetBypassValueInterpreter()\":{\"notice\":\"Gets the `PRICELESS_ASSET_BYPASS_VALUE_INTERPRETER` variable\"},\"getPricelessAssetBypassWethToken()\":{\"notice\":\"Gets the `PRICELESS_ASSET_BYPASS_WETH_TOKEN` variable\"},\"identifier()\":{\"notice\":\"Provides a constant string identifier for a policy\"},\"implementedHooks()\":{\"notice\":\"Gets the implemented PolicyHooks for a policy\"},\"setDustToleranceInWeth(uint256)\":{\"notice\":\"Sets the dustToleranceInWeth variable value\"},\"startAssetBypassTimelock(address)\":{\"notice\":\"Starts the timelock period for an asset without a valid price\"},\"updateFundSettings(address,bytes)\":{\"notice\":\"Updates the policy settings for a fund\"},\"validateRule(address,uint8,bytes)\":{\"notice\":\"Apply the rule with the specified parameters of a PolicyHook\"}},\"notice\":\"A policy that only allows removing external positions whose value can be considered negligible\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/policy-manager/policies/asset-managers/OnlyRemoveDustExternalPositionPolicy.sol\":\"OnlyRemoveDustExternalPositionPolicy\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/persistent/protocol-fee-reserve/interfaces/IProtocolFeeReserve1.sol\":{\"keccak256\":\"0x2728878c423db523bc95189137e8c58d2d7db9f56bbd5c6b1f988c08b551fbab\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3b0df1d2eb74151265d03ab91a7c341f7beca475dd2f4d669052dbc4ee2c06ac\",\"dweb:/ipfs/QmVx1cgrxQNYfdK1Kn15pcgqf79Uw8bF3U6i7F2HG2rj6G\"]},\"contracts/persistent/vault/VaultLibBase1.sol\":{\"keccak256\":\"0xa4dac1e4cdb311a2ab187135355357d8790c505ef36dd912c057fe53743d30b5\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b66efe821016ab927c949263023260515e90f5d480dc8d94eefbfeec7bf7490b\",\"dweb:/ipfs/QmNY3xKnhL9EptAbxGvXHGAXfV9pj3dDPwsZnKrPs54ZHw\"]},\"contracts/persistent/vault/VaultLibBase2.sol\":{\"keccak256\":\"0xf7d31f2a9a47770ed3f444be2c4fe9262ddb55fef7f25e546b1f03c9afec4c09\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9353ddce7c9b8b3c13fed23fe8edec99ca610d791b0c5b204b3d01f1f08d07d2\",\"dweb:/ipfs/QmeVsEh3joCjv49BRXeHASevnZZ5xdZXpkctHT8BPf37N2\"]},\"contracts/persistent/vault/VaultLibBaseCore.sol\":{\"keccak256\":\"0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd\",\"dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz\"]},\"contracts/persistent/vault/interfaces/IExternalPositionVault.sol\":{\"keccak256\":\"0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d\",\"dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8\"]},\"contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol\":{\"keccak256\":\"0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb\",\"dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU\"]},\"contracts/persistent/vault/interfaces/IMigratableVault.sol\":{\"keccak256\":\"0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6\",\"dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs\"]},\"contracts/persistent/vault/interfaces/IVaultCore.sol\":{\"keccak256\":\"0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd\",\"dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr\"]},\"contracts/persistent/vault/utils/ProxiableVaultLib.sol\":{\"keccak256\":\"0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44\",\"dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4\"]},\"contracts/persistent/vault/utils/SharesTokenBase.sol\":{\"keccak256\":\"0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8\",\"dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4\"]},\"contracts/persistent/vault/utils/VaultLibSafeMath.sol\":{\"keccak256\":\"0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02\",\"dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG\"]},\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/core/fund/comptroller/ComptrollerLib.sol\":{\"keccak256\":\"0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579\",\"dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq\"]},\"contracts/release/core/fund/comptroller/IComptroller.sol\":{\"keccak256\":\"0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97\",\"dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L\"]},\"contracts/release/core/fund/vault/IVault.sol\":{\"keccak256\":\"0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599\",\"dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG\"]},\"contracts/release/core/fund/vault/VaultLib.sol\":{\"keccak256\":\"0x07e49445ab55c01e1b499a48baadc2a15d1eba621f1c6d3ccfdb84c87b976da8\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://56d882459248f73e137db2e097fc56b946147fb28ec21661b77431f88e856cb4\",\"dweb:/ipfs/QmRP6Ry7DCS5uoKxnnkTomHSzbaCze6cHqbR9aLdjoF6vK\"]},\"contracts/release/extensions/IExtension.sol\":{\"keccak256\":\"0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70\",\"dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t\"]},\"contracts/release/extensions/external-position-manager/IExternalPositionManager.sol\":{\"keccak256\":\"0x3af3f634e1f99fb97091b7825c0d2e2baaafc124d4e87d56cb0c17ff8554f6c6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://515470605afe5ef147f30fa75ce7818f0e00e3d321eb81a4d9bffcdefc294495\",\"dweb:/ipfs/QmPKsp99pfHoz9Tfo3ZxnkmqDqJtN9PxqacF2RmeVfxUJF\"]},\"contracts/release/extensions/fee-manager/IFeeManager.sol\":{\"keccak256\":\"0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22\",\"dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod\"]},\"contracts/release/extensions/policy-manager/IPolicy.sol\":{\"keccak256\":\"0xc12663ca72065b256c3b934ab738fde26c147c7b0399de43650df89dd52ee467\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://be8fecfcba0f3fda615f0a1bb3c766750c23761ef751d7c4472dfe540e460cd1\",\"dweb:/ipfs/QmaarPoRTsX6NiJ8V4u2f3Qh6d7tUs28bw9R14An3t5Bs1\"]},\"contracts/release/extensions/policy-manager/IPolicyManager.sol\":{\"keccak256\":\"0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa\",\"dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb\"]},\"contracts/release/extensions/policy-manager/policies/asset-managers/OnlyRemoveDustExternalPositionPolicy.sol\":{\"keccak256\":\"0x3ec3b88a62bbd7aa9eafa95b627a99bb243ec702b30d8fd4aa60dcf7a777b811\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://50592e7f8ba2e16ce56457717734ad4f79518834b173672d4825d1a2cd7031ca\",\"dweb:/ipfs/QmNu9ZCCcXgynngtGwXDyZeBnnz1aXC4H9evhvyxXcLy5h\"]},\"contracts/release/extensions/policy-manager/policies/utils/DustEvaluatorMixin.sol\":{\"keccak256\":\"0xe3b05643184569abd6c1d6edcbaa983b54acfcdcf112306799896466786a6201\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://65e84bc47952fb5cd31a0617d7ec314e3a4c35f68582669bd2179514bc74b036\",\"dweb:/ipfs/QmUKqvbmeXvzvy3xZk3zhjNxm1kXSPKjBURm8Pd25Cmki4\"]},\"contracts/release/extensions/policy-manager/policies/utils/PolicyBase.sol\":{\"keccak256\":\"0x972311abb98f0da815b4aca83d5afdd219d3604ec19cf5e3773c0c305bd9b3f1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2452f3d1f3b1d8e8459a07489146a2d0d8a10463715937995cbe77ee5de8c069\",\"dweb:/ipfs/Qmf2hhd2DVbjpxmbNGAhRZNZkqpGZA2mX3eA1WNwtv6t5Y\"]},\"contracts/release/extensions/policy-manager/policies/utils/PricelessAssetBypassMixin.sol\":{\"keccak256\":\"0x5624f038f790b51ba9bd2207a6e80d188bc5d0b049807e0f06f123f6d00e3444\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://53782b55be373922df118f9970f897c1adfd4646dc4a95eec52e7c914944f68c\",\"dweb:/ipfs/QmTGPQRqzczosWALPZgAN6TKE4qdBuFwGBdCKy6GxtZBPe\"]},\"contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol\":{\"keccak256\":\"0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f\",\"dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol\":{\"keccak256\":\"0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0\",\"dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol\":{\"keccak256\":\"0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b\",\"dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3\"]},\"contracts/release/infrastructure/price-feeds/derivatives/AggregatedDerivativePriceFeedMixin.sol\":{\"keccak256\":\"0x85d2ac39834dae7feb04f0e37317a38b8abeb0f950692fbc9d29078c52cd8d52\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://7bf8f1ce064d85a2812a944fc93068955b233924097f7f45898be3db826579d5\",\"dweb:/ipfs/Qme7f6AhxLVn32prM8fHaCvxtVi86A9KqFMqPA1s88kVYR\"]},\"contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol\":{\"keccak256\":\"0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e\",\"dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK\"]},\"contracts/release/infrastructure/price-feeds/primitives/ChainlinkPriceFeedMixin.sol\":{\"keccak256\":\"0x7fb0078e7387f07ff09958fe4e4e7b317e72c23884f61e8c133776cad522f8bb\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://e973f29ed0c3bf03e20154ab4b0cfc68c3a4372a52ec746f9d9f86697b30e977\",\"dweb:/ipfs/QmfMb7H1zNnj2hzmUr6742HmCTiNVuQ2PFjeR8q2M4Liyu\"]},\"contracts/release/infrastructure/protocol-fees/IProtocolFeeTracker.sol\":{\"keccak256\":\"0x232b347f83457439064add7369bfe1930c7cb56f15930bb87d640e909c15e447\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://24f9af5eebdd373b1d7a598c096eb6def31b2640d54416d7d5a7226e1cef17e6\",\"dweb:/ipfs/QmStq9ByGuSYdKwTmZf52L1X6sZVJUfXTnoVbnjLLiUcHG\"]},\"contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol\":{\"keccak256\":\"0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965\",\"dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ\"]},\"contracts/release/infrastructure/value-interpreter/ValueInterpreter.sol\":{\"keccak256\":\"0x64565011785d0d29a75021cda34687cfbc0641094d6f2faf4d9c78c8cd9f0d1d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://03ea9b29a332436d18ca1a4df7e5cdf231d5142dfb916a39cb3a721342d54e0e\",\"dweb:/ipfs/QmcB8Z7A7QELAxg2FfJpD26k2bUhMNUT4wACMVKxuge3QS\"]},\"contracts/release/interfaces/IChainlinkAggregator.sol\":{\"keccak256\":\"0x8104db68d4edc00c86b29b366f4397cdbe7bd95bb9dc90f54140af4bae963788\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://4664240be22fe76bd4e84d1cbaace3998dbc96759a14345819a889f0c288d22e\",\"dweb:/ipfs/QmQ8fbA4tvXeCeaAFeS2JrLEQUPFeYrePAKoUywRtcicgA\"]},\"contracts/release/interfaces/IGsnForwarder.sol\":{\"keccak256\":\"0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29\",\"dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G\"]},\"contracts/release/interfaces/IGsnPaymaster.sol\":{\"keccak256\":\"0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4\",\"dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF\"]},\"contracts/release/interfaces/IGsnTypes.sol\":{\"keccak256\":\"0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7\",\"dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C\"]},\"contracts/release/interfaces/IWETH.sol\":{\"keccak256\":\"0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2\",\"dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/FundDeployerOwnerMixin.sol\":{\"keccak256\":\"0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927\",\"dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM\"]},\"contracts/release/utils/MathHelpers.sol\":{\"keccak256\":\"0x8aef498ae98bfb40cd1df8c9ed652b4c092fbbe62d5a1fad522c53654523248e\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ed62789f6a8d5ca30a40c591f244b915e4711493a9e4b1b4d40ea2bc97b02a95\",\"dweb:/ipfs/QmWyXJ55arURtx9VMkUQokdsjk8tbgM2cC8rENFUMyz5D3\"]},\"contracts/release/utils/beacon-proxy/IBeacon.sol\":{\"keccak256\":\"0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39\",\"dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V\"]},\"contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol\":{\"keccak256\":\"0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be\",\"dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20Burnable.sol\":{\"keccak256\":\"0x9c0eb3b0e11d2480d49991dc384f1e5f9c9b9967cc81944d50916a9b9c6c4984\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99e4033d778624992e86f0b6d801a4f6d7b5c0cd5c79c1296be90a051ad5f5af\",\"dweb:/ipfs/QmShYmkUqh6pDEeoWadZ24icmCr4C2Xys1uE5boivPmbwf\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_policyManager", - "type": "address" - }, - { - "internalType": "address", - "name": "_fundDeployer", - "type": "address" - }, - { - "internalType": "address", - "name": "_valueInterpreter", - "type": "address" - }, - { - "internalType": "address", - "name": "_wethToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_pricelessAssetBypassTimelock", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_pricelessAssetBypassTimeLimit", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "nextDustToleranceInWeth", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "DustToleranceInWethSet", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "comptrollerProxy", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "asset", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "PricelessAssetBypassed", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "comptrollerProxy", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "asset", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "PricelessAssetTimelockStarted", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "activateForFund" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "addFundSettings" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_asset", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "assetIsBypassableForFund", - "outputs": [ - { - "internalType": "bool", - "name": "isBypassable_", - "type": "bool" - } - ] - }, - { - "inputs": [], - "stateMutability": "pure", - "type": "function", - "name": "canDisable", - "outputs": [ - { - "internalType": "bool", - "name": "canDisable_", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_asset", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getAssetBypassWindowStartForFund", - "outputs": [ - { - "internalType": "uint256", - "name": "windowStart_", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getDustToleranceInWeth", - "outputs": [ - { - "internalType": "uint256", - "name": "dustToleranceInWeth_", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getFundDeployer", - "outputs": [ - { - "internalType": "address", - "name": "fundDeployer_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "owner_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getPolicyManager", - "outputs": [ - { - "internalType": "address", - "name": "policyManager_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getPricelessAssetBypassTimeLimit", - "outputs": [ - { - "internalType": "uint256", - "name": "timeLimit_", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getPricelessAssetBypassTimelock", - "outputs": [ - { - "internalType": "uint256", - "name": "timelock_", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getPricelessAssetBypassValueInterpreter", - "outputs": [ - { - "internalType": "address", - "name": "valueInterpreter_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getPricelessAssetBypassWethToken", - "outputs": [ - { - "internalType": "address", - "name": "wethToken_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "pure", - "type": "function", - "name": "identifier", - "outputs": [ - { - "internalType": "string", - "name": "identifier_", - "type": "string" - } - ] - }, - { - "inputs": [], - "stateMutability": "pure", - "type": "function", - "name": "implementedHooks", - "outputs": [ - { - "internalType": "enum IPolicyManager.PolicyHook[]", - "name": "implementedHooks_", - "type": "uint8[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_nextDustToleranceInWeth", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setDustToleranceInWeth" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_asset", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "startAssetBypassTimelock" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "updateFundSettings" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "enum IPolicyManager.PolicyHook", - "name": "", - "type": "uint8" - }, - { - "internalType": "bytes", - "name": "_encodedArgs", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "validateRule", - "outputs": [ - { - "internalType": "bool", - "name": "isValid_", - "type": "bool" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "activateForFund(address)": { - "details": "Unimplemented by default, can be overridden by the policy" - }, - "assetIsBypassableForFund(address,address)": { - "params": { - "_asset": "The asset for which to check if it is bypassable", - "_comptrollerProxy": "The ComptrollerProxy of the fund" - }, - "returns": { - "isBypassable_": "True if the asset is bypassable" - } - }, - "canDisable()": { - "details": "False by default, can be overridden by the policy", - "returns": { - "canDisable_": "True if the policy can be disabled" - } - }, - "getAssetBypassWindowStartForFund(address,address)": { - "params": { - "_asset": "The asset", - "_comptrollerProxy": "The ComptrollerProxy of the fund" - }, - "returns": { - "windowStart_": "The timestamp" - } - }, - "getDustToleranceInWeth()": { - "returns": { - "dustToleranceInWeth_": "The `dustToleranceInWeth` variable value" - } - }, - "getFundDeployer()": { - "returns": { - "fundDeployer_": "The `FUND_DEPLOYER` variable value" - } - }, - "getOwner()": { - "details": "Ownership is deferred to the owner of the FundDeployer contract", - "returns": { - "owner_": "The owner" - } - }, - "getPolicyManager()": { - "returns": { - "policyManager_": "The `POLICY_MANAGER` variable value" - } - }, - "getPricelessAssetBypassTimeLimit()": { - "returns": { - "timeLimit_": "The `PRICELESS_ASSET_BYPASS_TIME_LIMIT` variable value" - } - }, - "getPricelessAssetBypassTimelock()": { - "returns": { - "timelock_": "The `PRICELESS_ASSET_BYPASS_TIMELOCK` variable value" - } - }, - "getPricelessAssetBypassValueInterpreter()": { - "returns": { - "valueInterpreter_": "The `PRICELESS_ASSET_BYPASS_VALUE_INTERPRETER` variable value" - } - }, - "getPricelessAssetBypassWethToken()": { - "returns": { - "wethToken_": "The `PRICELESS_ASSET_BYPASS_WETH_TOKEN` variable value" - } - }, - "identifier()": { - "returns": { - "identifier_": "The identifier string" - } - }, - "implementedHooks()": { - "returns": { - "implementedHooks_": "The implemented PolicyHooks" - } - }, - "setDustToleranceInWeth(uint256)": { - "params": { - "_nextDustToleranceInWeth": "The next dustToleranceInWeth value" - } - }, - "startAssetBypassTimelock(address)": { - "details": "This function must be called via ComptrollerProxy.vaultCallOnContract(). This allows the function to be gas relay-able. It also means that the originator must be the owner.", - "params": { - "_asset": "The asset for which to start the timelock period" - } - }, - "updateFundSettings(address,bytes)": { - "details": "Disallowed by default, can be overridden by the policy" - }, - "validateRule(address,uint8,bytes)": { - "details": "onlyPolicyManager validation not necessary as no state is updated, but is cheap and nice-to-have since an event is fired", - "params": { - "_comptrollerProxy": "The fund's ComptrollerProxy address", - "_encodedArgs": "Encoded args with which to validate the rule" - }, - "returns": { - "isValid_": "True if the rule passes" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "activateForFund(address)": { - "notice": "Validates and initializes a policy as necessary prior to fund activation" - }, - "addFundSettings(address,bytes)": { - "notice": "Add the initial policy settings for a fund" - }, - "assetIsBypassableForFund(address,address)": { - "notice": "Checks whether an asset is bypassable (if still without a valid price) for a given fund" - }, - "canDisable()": { - "notice": "Whether or not the policy can be disabled" - }, - "getAssetBypassWindowStartForFund(address,address)": { - "notice": "Gets the timestamp from which an asset without a valid price can be considered to be valued at `0`" - }, - "getDustToleranceInWeth()": { - "notice": "Gets the `dustToleranceInWeth` variable" - }, - "getFundDeployer()": { - "notice": "Gets the `FUND_DEPLOYER` variable" - }, - "getOwner()": { - "notice": "Gets the owner of this contract" - }, - "getPolicyManager()": { - "notice": "Gets the `POLICY_MANAGER` variable value" - }, - "getPricelessAssetBypassTimeLimit()": { - "notice": "Gets the `PRICELESS_ASSET_BYPASS_TIME_LIMIT` variable" - }, - "getPricelessAssetBypassTimelock()": { - "notice": "Gets the `PRICELESS_ASSET_BYPASS_TIMELOCK` variable" - }, - "getPricelessAssetBypassValueInterpreter()": { - "notice": "Gets the `PRICELESS_ASSET_BYPASS_VALUE_INTERPRETER` variable" - }, - "getPricelessAssetBypassWethToken()": { - "notice": "Gets the `PRICELESS_ASSET_BYPASS_WETH_TOKEN` variable" - }, - "identifier()": { - "notice": "Provides a constant string identifier for a policy" - }, - "implementedHooks()": { - "notice": "Gets the implemented PolicyHooks for a policy" - }, - "setDustToleranceInWeth(uint256)": { - "notice": "Sets the dustToleranceInWeth variable value" - }, - "startAssetBypassTimelock(address)": { - "notice": "Starts the timelock period for an asset without a valid price" - }, - "updateFundSettings(address,bytes)": { - "notice": "Updates the policy settings for a fund" - }, - "validateRule(address,uint8,bytes)": { - "notice": "Apply the rule with the specified parameters of a PolicyHook" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/policy-manager/policies/asset-managers/OnlyRemoveDustExternalPositionPolicy.sol": "OnlyRemoveDustExternalPositionPolicy" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/dispatcher/IDispatcher.sol": { - "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", - "urls": [ - "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", - "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/external-positions/IExternalPosition.sol": { - "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", - "urls": [ - "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", - "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/protocol-fee-reserve/interfaces/IProtocolFeeReserve1.sol": { - "keccak256": "0x2728878c423db523bc95189137e8c58d2d7db9f56bbd5c6b1f988c08b551fbab", - "urls": [ - "bzz-raw://3b0df1d2eb74151265d03ab91a7c341f7beca475dd2f4d669052dbc4ee2c06ac", - "dweb:/ipfs/QmVx1cgrxQNYfdK1Kn15pcgqf79Uw8bF3U6i7F2HG2rj6G" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/VaultLibBase1.sol": { - "keccak256": "0xa4dac1e4cdb311a2ab187135355357d8790c505ef36dd912c057fe53743d30b5", - "urls": [ - "bzz-raw://b66efe821016ab927c949263023260515e90f5d480dc8d94eefbfeec7bf7490b", - "dweb:/ipfs/QmNY3xKnhL9EptAbxGvXHGAXfV9pj3dDPwsZnKrPs54ZHw" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/VaultLibBase2.sol": { - "keccak256": "0xf7d31f2a9a47770ed3f444be2c4fe9262ddb55fef7f25e546b1f03c9afec4c09", - "urls": [ - "bzz-raw://9353ddce7c9b8b3c13fed23fe8edec99ca610d791b0c5b204b3d01f1f08d07d2", - "dweb:/ipfs/QmeVsEh3joCjv49BRXeHASevnZZ5xdZXpkctHT8BPf37N2" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/VaultLibBaseCore.sol": { - "keccak256": "0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074", - "urls": [ - "bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd", - "dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IExternalPositionVault.sol": { - "keccak256": "0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6", - "urls": [ - "bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d", - "dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol": { - "keccak256": "0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0", - "urls": [ - "bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb", - "dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IMigratableVault.sol": { - "keccak256": "0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238", - "urls": [ - "bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6", - "dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IVaultCore.sol": { - "keccak256": "0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80", - "urls": [ - "bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd", - "dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/utils/ProxiableVaultLib.sol": { - "keccak256": "0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76", - "urls": [ - "bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44", - "dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/utils/SharesTokenBase.sol": { - "keccak256": "0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113", - "urls": [ - "bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8", - "dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/utils/VaultLibSafeMath.sol": { - "keccak256": "0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d", - "urls": [ - "bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02", - "dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund-deployer/IFundDeployer.sol": { - "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", - "urls": [ - "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", - "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/comptroller/ComptrollerLib.sol": { - "keccak256": "0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64", - "urls": [ - "bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579", - "dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/comptroller/IComptroller.sol": { - "keccak256": "0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f", - "urls": [ - "bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97", - "dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/vault/IVault.sol": { - "keccak256": "0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd", - "urls": [ - "bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599", - "dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/vault/VaultLib.sol": { - "keccak256": "0x07e49445ab55c01e1b499a48baadc2a15d1eba621f1c6d3ccfdb84c87b976da8", - "urls": [ - "bzz-raw://56d882459248f73e137db2e097fc56b946147fb28ec21661b77431f88e856cb4", - "dweb:/ipfs/QmRP6Ry7DCS5uoKxnnkTomHSzbaCze6cHqbR9aLdjoF6vK" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/IExtension.sol": { - "keccak256": "0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b", - "urls": [ - "bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70", - "dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/IExternalPositionManager.sol": { - "keccak256": "0x3af3f634e1f99fb97091b7825c0d2e2baaafc124d4e87d56cb0c17ff8554f6c6", - "urls": [ - "bzz-raw://515470605afe5ef147f30fa75ce7818f0e00e3d321eb81a4d9bffcdefc294495", - "dweb:/ipfs/QmPKsp99pfHoz9Tfo3ZxnkmqDqJtN9PxqacF2RmeVfxUJF" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/fee-manager/IFeeManager.sol": { - "keccak256": "0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51", - "urls": [ - "bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22", - "dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/policy-manager/IPolicy.sol": { - "keccak256": "0xc12663ca72065b256c3b934ab738fde26c147c7b0399de43650df89dd52ee467", - "urls": [ - "bzz-raw://be8fecfcba0f3fda615f0a1bb3c766750c23761ef751d7c4472dfe540e460cd1", - "dweb:/ipfs/QmaarPoRTsX6NiJ8V4u2f3Qh6d7tUs28bw9R14An3t5Bs1" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/policy-manager/IPolicyManager.sol": { - "keccak256": "0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32", - "urls": [ - "bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa", - "dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/policy-manager/policies/asset-managers/OnlyRemoveDustExternalPositionPolicy.sol": { - "keccak256": "0x3ec3b88a62bbd7aa9eafa95b627a99bb243ec702b30d8fd4aa60dcf7a777b811", - "urls": [ - "bzz-raw://50592e7f8ba2e16ce56457717734ad4f79518834b173672d4825d1a2cd7031ca", - "dweb:/ipfs/QmNu9ZCCcXgynngtGwXDyZeBnnz1aXC4H9evhvyxXcLy5h" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/policy-manager/policies/utils/DustEvaluatorMixin.sol": { - "keccak256": "0xe3b05643184569abd6c1d6edcbaa983b54acfcdcf112306799896466786a6201", - "urls": [ - "bzz-raw://65e84bc47952fb5cd31a0617d7ec314e3a4c35f68582669bd2179514bc74b036", - "dweb:/ipfs/QmUKqvbmeXvzvy3xZk3zhjNxm1kXSPKjBURm8Pd25Cmki4" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/policy-manager/policies/utils/PolicyBase.sol": { - "keccak256": "0x972311abb98f0da815b4aca83d5afdd219d3604ec19cf5e3773c0c305bd9b3f1", - "urls": [ - "bzz-raw://2452f3d1f3b1d8e8459a07489146a2d0d8a10463715937995cbe77ee5de8c069", - "dweb:/ipfs/Qmf2hhd2DVbjpxmbNGAhRZNZkqpGZA2mX3eA1WNwtv6t5Y" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/policy-manager/policies/utils/PricelessAssetBypassMixin.sol": { - "keccak256": "0x5624f038f790b51ba9bd2207a6e80d188bc5d0b049807e0f06f123f6d00e3444", - "urls": [ - "bzz-raw://53782b55be373922df118f9970f897c1adfd4646dc4a95eec52e7c914944f68c", - "dweb:/ipfs/QmTGPQRqzczosWALPZgAN6TKE4qdBuFwGBdCKy6GxtZBPe" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol": { - "keccak256": "0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609", - "urls": [ - "bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f", - "dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol": { - "keccak256": "0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01", - "urls": [ - "bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0", - "dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol": { - "keccak256": "0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196", - "urls": [ - "bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b", - "dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/price-feeds/derivatives/AggregatedDerivativePriceFeedMixin.sol": { - "keccak256": "0x85d2ac39834dae7feb04f0e37317a38b8abeb0f950692fbc9d29078c52cd8d52", - "urls": [ - "bzz-raw://7bf8f1ce064d85a2812a944fc93068955b233924097f7f45898be3db826579d5", - "dweb:/ipfs/Qme7f6AhxLVn32prM8fHaCvxtVi86A9KqFMqPA1s88kVYR" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol": { - "keccak256": "0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332", - "urls": [ - "bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e", - "dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/price-feeds/primitives/ChainlinkPriceFeedMixin.sol": { - "keccak256": "0x7fb0078e7387f07ff09958fe4e4e7b317e72c23884f61e8c133776cad522f8bb", - "urls": [ - "bzz-raw://e973f29ed0c3bf03e20154ab4b0cfc68c3a4372a52ec746f9d9f86697b30e977", - "dweb:/ipfs/QmfMb7H1zNnj2hzmUr6742HmCTiNVuQ2PFjeR8q2M4Liyu" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/protocol-fees/IProtocolFeeTracker.sol": { - "keccak256": "0x232b347f83457439064add7369bfe1930c7cb56f15930bb87d640e909c15e447", - "urls": [ - "bzz-raw://24f9af5eebdd373b1d7a598c096eb6def31b2640d54416d7d5a7226e1cef17e6", - "dweb:/ipfs/QmStq9ByGuSYdKwTmZf52L1X6sZVJUfXTnoVbnjLLiUcHG" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol": { - "keccak256": "0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794", - "urls": [ - "bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965", - "dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/value-interpreter/ValueInterpreter.sol": { - "keccak256": "0x64565011785d0d29a75021cda34687cfbc0641094d6f2faf4d9c78c8cd9f0d1d", - "urls": [ - "bzz-raw://03ea9b29a332436d18ca1a4df7e5cdf231d5142dfb916a39cb3a721342d54e0e", - "dweb:/ipfs/QmcB8Z7A7QELAxg2FfJpD26k2bUhMNUT4wACMVKxuge3QS" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IChainlinkAggregator.sol": { - "keccak256": "0x8104db68d4edc00c86b29b366f4397cdbe7bd95bb9dc90f54140af4bae963788", - "urls": [ - "bzz-raw://4664240be22fe76bd4e84d1cbaace3998dbc96759a14345819a889f0c288d22e", - "dweb:/ipfs/QmQ8fbA4tvXeCeaAFeS2JrLEQUPFeYrePAKoUywRtcicgA" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IGsnForwarder.sol": { - "keccak256": "0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030", - "urls": [ - "bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29", - "dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IGsnPaymaster.sol": { - "keccak256": "0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c", - "urls": [ - "bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4", - "dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IGsnTypes.sol": { - "keccak256": "0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714", - "urls": [ - "bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7", - "dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IWETH.sol": { - "keccak256": "0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2", - "urls": [ - "bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2", - "dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AddressArrayLib.sol": { - "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", - "urls": [ - "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", - "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/FundDeployerOwnerMixin.sol": { - "keccak256": "0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934", - "urls": [ - "bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927", - "dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/MathHelpers.sol": { - "keccak256": "0x8aef498ae98bfb40cd1df8c9ed652b4c092fbbe62d5a1fad522c53654523248e", - "urls": [ - "bzz-raw://ed62789f6a8d5ca30a40c591f244b915e4711493a9e4b1b4d40ea2bc97b02a95", - "dweb:/ipfs/QmWyXJ55arURtx9VMkUQokdsjk8tbgM2cC8rENFUMyz5D3" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/beacon-proxy/IBeacon.sol": { - "keccak256": "0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2", - "urls": [ - "bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39", - "dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol": { - "keccak256": "0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc", - "urls": [ - "bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be", - "dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20Burnable.sol": { - "keccak256": "0x9c0eb3b0e11d2480d49991dc384f1e5f9c9b9967cc81944d50916a9b9c6c4984", - "urls": [ - "bzz-raw://99e4033d778624992e86f0b6d801a4f6d7b5c0cd5c79c1296be90a051ad5f5af", - "dweb:/ipfs/QmShYmkUqh6pDEeoWadZ24icmCr4C2Xys1uE5boivPmbwf" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { - "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", - "urls": [ - "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", - "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Address.sol": { - "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", - "urls": [ - "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", - "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 213 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_policyManager", "type": "address", "internalType": "address" }, { "name": "_fundDeployer", "type": "address", "internalType": "address" }, { "name": "_valueInterpreter", "type": "address", "internalType": "address" }, { "name": "_wethToken", "type": "address", "internalType": "address" }, { "name": "_pricelessAssetBypassTimelock", "type": "uint256", "internalType": "uint256" }, { "name": "_pricelessAssetBypassTimeLimit", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "activateForFund", "inputs": [ { "name": "", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "addFundSettings", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "assetIsBypassableForFund", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" }, { "name": "_asset", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "isBypassable_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "canDisable", "inputs": [], "outputs": [ { "name": "canDisable_", "type": "bool", "internalType": "bool" } ], "stateMutability": "pure" }, { "type": "function", "name": "getAssetBypassWindowStartForFund", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" }, { "name": "_asset", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "windowStart_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "getDustToleranceInWeth", "inputs": [], "outputs": [ { "name": "dustToleranceInWeth_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "getFundDeployer", "inputs": [], "outputs": [ { "name": "fundDeployer_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getOwner", "inputs": [], "outputs": [ { "name": "owner_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getPolicyManager", "inputs": [], "outputs": [ { "name": "policyManager_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getPricelessAssetBypassTimeLimit", "inputs": [], "outputs": [ { "name": "timeLimit_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "getPricelessAssetBypassTimelock", "inputs": [], "outputs": [ { "name": "timelock_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "getPricelessAssetBypassValueInterpreter", "inputs": [], "outputs": [ { "name": "valueInterpreter_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getPricelessAssetBypassWethToken", "inputs": [], "outputs": [ { "name": "wethToken_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "identifier", "inputs": [], "outputs": [ { "name": "identifier_", "type": "string", "internalType": "string" } ], "stateMutability": "pure" }, { "type": "function", "name": "implementedHooks", "inputs": [], "outputs": [ { "name": "implementedHooks_", "type": "uint8[]", "internalType": "enum IPolicyManager.PolicyHook[]" } ], "stateMutability": "pure" }, { "type": "function", "name": "setDustToleranceInWeth", "inputs": [ { "name": "_nextDustToleranceInWeth", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "startAssetBypassTimelock", "inputs": [ { "name": "_asset", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "updateFundSettings", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "validateRule", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" }, { "name": "", "type": "uint8", "internalType": "enum IPolicyManager.PolicyHook" }, { "name": "_encodedArgs", "type": "bytes", "internalType": "bytes" } ], "outputs": [ { "name": "isValid_", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "event", "name": "DustToleranceInWethSet", "inputs": [ { "name": "nextDustToleranceInWeth", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "PricelessAssetBypassed", "inputs": [ { "name": "comptrollerProxy", "type": "address", "indexed": true, "internalType": "address" }, { "name": "asset", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "PricelessAssetTimelockStarted", "inputs": [ { "name": "comptrollerProxy", "type": "address", "indexed": true, "internalType": "address" }, { "name": "asset", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false } ], "bytecode": { "object": "0x61014060405234801561001157600080fd5b5060405161139d38038061139d833981810160405260c081101561003457600080fd5b5080516020820151604083015160608085015160808087015160a0978801516001600160601b031988861b811690935286851b831690985260c081905260e088905284841b8216610100529282901b16610120526001600160a01b039485169593851694919392821691166112bf6100de6000398061082e5250806107735250806109945250806108525250806109f15280610a7b5250806108815280610af952506112bf6000f3fe608060405234801561001057600080fd5b50600436106101215760003560e01c806358bfdfee116100ad578063893d20e811610071578063893d20e81461043857806397c0ac8714610440578063cbf54bb214610448578063ceb9a0ad146104a0578063d44ad6cb146104c657610121565b806358bfdfee1461034f5780635da4cdb2146103575780637998a1c4146103855780637fe292681461040257806385d63ec91461040a57610121565b80631ef92578116100f45780631ef925781461026e578063219ea7bf1461028a578063234dfb17146102a757806344105398146102af578063579be718146102c957610121565b806307d2890e146101265780630d4d75101461014e5780630f5f6b4f146101cc57806314f8e6151461024a575b600080fd5b61014c6004803603602081101561013c57600080fd5b50356001600160a01b03166104ce565b005b61014c6004803603604081101561016457600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561018e57600080fd5b8201836020820111156101a057600080fd5b803590602001918460018302840111600160201b831117156101c157600080fd5b509092509050610735565b61014c600480360360408110156101e257600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561020c57600080fd5b82018360208201111561021e57600080fd5b803590602001918460018302840111600160201b8311171561023f57600080fd5b50909250905061076c565b610252610771565b604080516001600160a01b039092168252519081900360200190f35b610276610795565b604080519115158252519081900360200190f35b61014c600480360360208110156102a057600080fd5b503561079a565b61025261082c565b6102b7610850565b60408051918252519081900360200190f35b610276600480360360608110156102df57600080fd5b6001600160a01b038235169160ff60208201351691810190606081016040820135600160201b81111561031157600080fd5b82018360208201111561032357600080fd5b803590602001918460018302840111600160201b8311171561034457600080fd5b509092509050610874565b6102b761093f565b6102b76004803603604081101561036d57600080fd5b506001600160a01b0381358116916020013516610945565b61038d610972565b6040805160208082528351818301528351919283929083019185019080838360005b838110156103c75781810151838201526020016103af565b50505050905090810190601f1680156103f45780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102b7610992565b6102766004803603604081101561042057600080fd5b506001600160a01b03813581169160200135166109b6565b6102526109ed565b610252610a79565b610450610a9d565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561048c578181015183820152602001610474565b505050509050019250505060405180910390f35b61014c600480360360208110156104b657600080fd5b50356001600160a01b0316610af4565b610252610af7565b6000336001600160a01b0316635a53e3486040518163ffffffff1660e01b815260040160206040518083038186803b15801561050957600080fd5b505afa15801561051d573d6000803e3d6000fd5b505050506040513d602081101561053357600080fd5b50516040805163c980918760e01b815290519192506001600160a01b0383169163c980918791600480820192602092909190829003018186803b15801561057957600080fd5b505afa15801561058d573d6000803e3d6000fd5b505050506040513d60208110156105a357600080fd5b50516001600160a01b031633146105eb5760405162461bcd60e51b815260040180806020018281038252605981526020018061125a6059913960600191505060405180910390fd5b6105f3610771565b6001600160a01b0316634c67e10683600161060c61082c565b6040518463ffffffff1660e01b815260040180846001600160a01b03168152602001838152602001826001600160a01b031681526020019350505050602060405180830381600087803b15801561066257600080fd5b505af192505050801561068757506040513d602081101561068257600080fd5b505160015b6106f95761069d610696610850565b4290610b1b565b6001600160a01b03808316600081815260016020908152604080832094881680845294909152808220949094559251919290917f76fadd0d061c0fa0e079ec4814cecf7f5f6f43e604f241551dd35b6c3c9a69809190a3610731565b5060405162461bcd60e51b815260040180806020018281038252602b8152602001806111bc602b913960400191505060405180910390fd5b5050565b60405162461bcd60e51b81526004018080602001828103825260378152602001806111856037913960400191505060405180910390fd5b505050565b7f000000000000000000000000000000000000000000000000000000000000000090565b600090565b6107a26109ed565b6001600160a01b0316336001600160a01b0316146107f15760405162461bcd60e51b815260040180806020018281038252604981526020018061113c6049913960600191505060405180910390fd5b60008190556040805182815290517ff02a8605888227ce9f14ab97539fc9aed32996f83d13befc980676da2549969b9181900360200190a150565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b6000336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146108dd5760405162461bcd60e51b81526004018080602001828103825260298152602001806111e76029913960400191505060405180910390fd5b600061091e84848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610b7c92505050565b91505061093361092e8783610ba7565b610f1e565b9150505b949350505050565b60005490565b6001600160a01b038083166000908152600160209081526040808320938516835292905220545b92915050565b606060405180606001604052806022815260200161111a60229139905090565b7f000000000000000000000000000000000000000000000000000000000000000090565b6000806109c38484610945565b90504281111580156109375750426109e36109dc610992565b8390610b1b565b1015949350505050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b158015610a4857600080fd5b505afa158015610a5c573d6000803e3d6000fd5b505050506040513d6020811015610a7257600080fd5b5051905090565b7f000000000000000000000000000000000000000000000000000000000000000090565b60408051600180825281830190925260609160208083019080368337019050509050600881600081518110610ace57fe5b60200260200101906009811115610ae157fe5b90816009811115610aee57fe5b90525090565b50565b7f000000000000000000000000000000000000000000000000000000000000000090565b600082820183811015610b75576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b600080828060200190516040811015610b9457600080fd5b5080516020909101519092509050915091565b6000606080836001600160a01b03166380daddb86040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610be757600080fd5b505af1158015610bfb573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040908152811015610c2457600080fd5b8101908080516040519392919084600160201b821115610c4357600080fd5b908301906020820185811115610c5857600080fd5b82518660208202830111600160201b82111715610c7457600080fd5b82525081516020918201928201910280838360005b83811015610ca1578181015183820152602001610c89565b5050505090500160405260200180516040519392919084600160201b821115610cc957600080fd5b908301906020820185811115610cde57600080fd5b82518660208202830111600160201b82111715610cfa57600080fd5b82525081516020918201928201910280838360005b83811015610d27578181015183820152602001610d0f565b50505050905001604052505050915091506000610d4d868484610d4861082c565b610f31565b9050606080866001600160a01b031663ecd658b46040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610d8d57600080fd5b505af1158015610da1573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040908152811015610dca57600080fd5b8101908080516040519392919084600160201b821115610de957600080fd5b908301906020820185811115610dfe57600080fd5b82518660208202830111600160201b82111715610e1a57600080fd5b82525081516020918201928201910280838360005b83811015610e47578181015183820152602001610e2f565b5050505090500160405260200180516040519392919084600160201b821115610e6f57600080fd5b908301906020820185811115610e8457600080fd5b82518660208202830111600160201b82111715610ea057600080fd5b82525081516020918201928201910280838360005b83811015610ecd578181015183820152602001610eb5565b50505050905001604052505050915091506000610eee898484610d4861082c565b905080841115610f0f57610f028482610f86565b965050505050505061096c565b50600098975050505050505050565b6000610f2861093f565b90911115919050565b6000805b8451811015610f7d57610f736109dc87878481518110610f5157fe5b6020026020010151878581518110610f6557fe5b602002602001015187610fe3565b9150600101610f35565b50949350505050565b600082821115610fdd576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6000610fed610771565b6001600160a01b0316634c67e1068585856040518463ffffffff1660e01b815260040180846001600160a01b03168152602001838152602001826001600160a01b031681526020019350505050602060405180830381600087803b15801561105457600080fd5b505af192505050801561107957506040513d602081101561107457600080fd5b505160015b6111075761108785856109b6565b6110c25760405162461bcd60e51b815260040180806020018281038252604a815260200180611210604a913960600191505060405180910390fd5b836001600160a01b0316856001600160a01b03167fa2de3d3e85d58ec3c62bcbd0a67a60fac9f9002f6e70cfe768a49fa19d7dcf4660405160405180910390a361110e565b9050610937565b50600094935050505056fe4f4e4c595f52454d4f56455f445553545f45585445524e414c5f504f534954494f4e6f6e6c7946756e644465706c6f7965724f776e65723a204f6e6c79207468652046756e644465706c6f796572206f776e65722063616e2063616c6c20746869732066756e6374696f6e75706461746546756e6453657474696e67733a2055706461746573206e6f7420616c6c6f77656420666f72207468697320706f6c6963797374617274417373657442797061737354696d656c6f636b3a2041737365742068617320612070726963654f6e6c792074686520506f6c6963794d616e616765722063616e206d616b6520746869732063616c6c5f5f63616c6356616c75654578636c7564696e6742797061737361626c6550726963656c65737341737365743a20496e76616c6964206173736574206e6f742062797061737361626c657374617274417373657442797061737354696d656c6f636b3a2053656e646572206973206e6f7420746865205661756c7450726f7879206f6620746865206173736f63696174656420436f6d7074726f6c6c657250726f7879a164736f6c634300060c000a", "sourceMap": "799:3570:213:-:0;;;924:523;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;924:523:213;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;737:31:223;;;;;;;;864:29:358;;;;;;;;924:523:213;1530:43:224;;;1583:46;;;;1639:60;;;;;;;1709:46;;;;;;;-1:-1:-1;;;;;799:3570:213;;;;;;;;924:523;;;799:3570;;;;;;-1:-1:-1;799:3570:213;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106101215760003560e01c806358bfdfee116100ad578063893d20e811610071578063893d20e81461043857806397c0ac8714610440578063cbf54bb214610448578063ceb9a0ad146104a0578063d44ad6cb146104c657610121565b806358bfdfee1461034f5780635da4cdb2146103575780637998a1c4146103855780637fe292681461040257806385d63ec91461040a57610121565b80631ef92578116100f45780631ef925781461026e578063219ea7bf1461028a578063234dfb17146102a757806344105398146102af578063579be718146102c957610121565b806307d2890e146101265780630d4d75101461014e5780630f5f6b4f146101cc57806314f8e6151461024a575b600080fd5b61014c6004803603602081101561013c57600080fd5b50356001600160a01b03166104ce565b005b61014c6004803603604081101561016457600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561018e57600080fd5b8201836020820111156101a057600080fd5b803590602001918460018302840111600160201b831117156101c157600080fd5b509092509050610735565b61014c600480360360408110156101e257600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561020c57600080fd5b82018360208201111561021e57600080fd5b803590602001918460018302840111600160201b8311171561023f57600080fd5b50909250905061076c565b610252610771565b604080516001600160a01b039092168252519081900360200190f35b610276610795565b604080519115158252519081900360200190f35b61014c600480360360208110156102a057600080fd5b503561079a565b61025261082c565b6102b7610850565b60408051918252519081900360200190f35b610276600480360360608110156102df57600080fd5b6001600160a01b038235169160ff60208201351691810190606081016040820135600160201b81111561031157600080fd5b82018360208201111561032357600080fd5b803590602001918460018302840111600160201b8311171561034457600080fd5b509092509050610874565b6102b761093f565b6102b76004803603604081101561036d57600080fd5b506001600160a01b0381358116916020013516610945565b61038d610972565b6040805160208082528351818301528351919283929083019185019080838360005b838110156103c75781810151838201526020016103af565b50505050905090810190601f1680156103f45780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102b7610992565b6102766004803603604081101561042057600080fd5b506001600160a01b03813581169160200135166109b6565b6102526109ed565b610252610a79565b610450610a9d565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561048c578181015183820152602001610474565b505050509050019250505060405180910390f35b61014c600480360360208110156104b657600080fd5b50356001600160a01b0316610af4565b610252610af7565b6000336001600160a01b0316635a53e3486040518163ffffffff1660e01b815260040160206040518083038186803b15801561050957600080fd5b505afa15801561051d573d6000803e3d6000fd5b505050506040513d602081101561053357600080fd5b50516040805163c980918760e01b815290519192506001600160a01b0383169163c980918791600480820192602092909190829003018186803b15801561057957600080fd5b505afa15801561058d573d6000803e3d6000fd5b505050506040513d60208110156105a357600080fd5b50516001600160a01b031633146105eb5760405162461bcd60e51b815260040180806020018281038252605981526020018061125a6059913960600191505060405180910390fd5b6105f3610771565b6001600160a01b0316634c67e10683600161060c61082c565b6040518463ffffffff1660e01b815260040180846001600160a01b03168152602001838152602001826001600160a01b031681526020019350505050602060405180830381600087803b15801561066257600080fd5b505af192505050801561068757506040513d602081101561068257600080fd5b505160015b6106f95761069d610696610850565b4290610b1b565b6001600160a01b03808316600081815260016020908152604080832094881680845294909152808220949094559251919290917f76fadd0d061c0fa0e079ec4814cecf7f5f6f43e604f241551dd35b6c3c9a69809190a3610731565b5060405162461bcd60e51b815260040180806020018281038252602b8152602001806111bc602b913960400191505060405180910390fd5b5050565b60405162461bcd60e51b81526004018080602001828103825260378152602001806111856037913960400191505060405180910390fd5b505050565b7f000000000000000000000000000000000000000000000000000000000000000090565b600090565b6107a26109ed565b6001600160a01b0316336001600160a01b0316146107f15760405162461bcd60e51b815260040180806020018281038252604981526020018061113c6049913960600191505060405180910390fd5b60008190556040805182815290517ff02a8605888227ce9f14ab97539fc9aed32996f83d13befc980676da2549969b9181900360200190a150565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b6000336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146108dd5760405162461bcd60e51b81526004018080602001828103825260298152602001806111e76029913960400191505060405180910390fd5b600061091e84848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610b7c92505050565b91505061093361092e8783610ba7565b610f1e565b9150505b949350505050565b60005490565b6001600160a01b038083166000908152600160209081526040808320938516835292905220545b92915050565b606060405180606001604052806022815260200161111a60229139905090565b7f000000000000000000000000000000000000000000000000000000000000000090565b6000806109c38484610945565b90504281111580156109375750426109e36109dc610992565b8390610b1b565b1015949350505050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b158015610a4857600080fd5b505afa158015610a5c573d6000803e3d6000fd5b505050506040513d6020811015610a7257600080fd5b5051905090565b7f000000000000000000000000000000000000000000000000000000000000000090565b60408051600180825281830190925260609160208083019080368337019050509050600881600081518110610ace57fe5b60200260200101906009811115610ae157fe5b90816009811115610aee57fe5b90525090565b50565b7f000000000000000000000000000000000000000000000000000000000000000090565b600082820183811015610b75576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b600080828060200190516040811015610b9457600080fd5b5080516020909101519092509050915091565b6000606080836001600160a01b03166380daddb86040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610be757600080fd5b505af1158015610bfb573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040908152811015610c2457600080fd5b8101908080516040519392919084600160201b821115610c4357600080fd5b908301906020820185811115610c5857600080fd5b82518660208202830111600160201b82111715610c7457600080fd5b82525081516020918201928201910280838360005b83811015610ca1578181015183820152602001610c89565b5050505090500160405260200180516040519392919084600160201b821115610cc957600080fd5b908301906020820185811115610cde57600080fd5b82518660208202830111600160201b82111715610cfa57600080fd5b82525081516020918201928201910280838360005b83811015610d27578181015183820152602001610d0f565b50505050905001604052505050915091506000610d4d868484610d4861082c565b610f31565b9050606080866001600160a01b031663ecd658b46040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610d8d57600080fd5b505af1158015610da1573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040908152811015610dca57600080fd5b8101908080516040519392919084600160201b821115610de957600080fd5b908301906020820185811115610dfe57600080fd5b82518660208202830111600160201b82111715610e1a57600080fd5b82525081516020918201928201910280838360005b83811015610e47578181015183820152602001610e2f565b5050505090500160405260200180516040519392919084600160201b821115610e6f57600080fd5b908301906020820185811115610e8457600080fd5b82518660208202830111600160201b82111715610ea057600080fd5b82525081516020918201928201910280838360005b83811015610ecd578181015183820152602001610eb5565b50505050905001604052505050915091506000610eee898484610d4861082c565b905080841115610f0f57610f028482610f86565b965050505050505061096c565b50600098975050505050505050565b6000610f2861093f565b90911115919050565b6000805b8451811015610f7d57610f736109dc87878481518110610f5157fe5b6020026020010151878581518110610f6557fe5b602002602001015187610fe3565b9150600101610f35565b50949350505050565b600082821115610fdd576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6000610fed610771565b6001600160a01b0316634c67e1068585856040518463ffffffff1660e01b815260040180846001600160a01b03168152602001838152602001826001600160a01b031681526020019350505050602060405180830381600087803b15801561105457600080fd5b505af192505050801561107957506040513d602081101561107457600080fd5b505160015b6111075761108785856109b6565b6110c25760405162461bcd60e51b815260040180806020018281038252604a815260200180611210604a913960600191505060405180910390fd5b836001600160a01b0316856001600160a01b03167fa2de3d3e85d58ec3c62bcbd0a67a60fac9f9002f6e70cfe768a49fa19d7dcf4660405160405180910390a361110e565b9050610937565b50600094935050505056fe4f4e4c595f52454d4f56455f445553545f45585445524e414c5f504f534954494f4e6f6e6c7946756e644465706c6f7965724f776e65723a204f6e6c79207468652046756e644465706c6f796572206f776e65722063616e2063616c6c20746869732066756e6374696f6e75706461746546756e6453657474696e67733a2055706461746573206e6f7420616c6c6f77656420666f72207468697320706f6c6963797374617274417373657442797061737354696d656c6f636b3a2041737365742068617320612070726963654f6e6c792074686520506f6c6963794d616e616765722063616e206d616b6520746869732063616c6c5f5f63616c6356616c75654578636c7564696e6742797061737361626c6550726963656c65737341737365743a20496e76616c6964206173736574206e6f742062797061737361626c657374617274417373657442797061737354696d656c6f636b3a2053656e646572206973206e6f7420746865205661756c7450726f7879206f6620746865206173736f63696174656420436f6d7074726f6c6c657250726f7879a164736f6c634300060c000a", "sourceMap": "799:3570:213:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2146:1068:224;;;;;;;;;;;;;;;;-1:-1:-1;2146:1068:224;-1:-1:-1;;;;;2146:1068:224;;:::i;:::-;;1452:161:223;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1452:161:223;;;;;;;;;;;;;;;-1:-1:-1;;;1452:161:223;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1452:161:223;;;;;;;;;;-1:-1:-1;1452:161:223;;-1:-1:-1;1452:161:223;-1:-1:-1;1452:161:223;:::i;1539:102:213:-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1539:102:213;;;;;;;;;;;;;;;-1:-1:-1;;;1539:102:213;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1539:102:213;;;;;;;;;;-1:-1:-1;1539:102:213;;-1:-1:-1;1539:102:213;-1:-1:-1;1539:102:213;:::i;7057:191:224:-;;;:::i;:::-;;;;-1:-1:-1;;;;;7057:191:224;;;;;;;;;;;;;;1214:109:223;;;:::i;:::-;;;;;;;;;;;;;;;;;;956:244:222;;;;;;;;;;;;;;;;-1:-1:-1;956:244:222;;:::i;7406:142:224:-;;;:::i;6740:138::-;;;:::i;:::-;;;;;;;;;;;;;;;;2788:393:213;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2788:393:213;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2788:393:213;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2788:393:213;;;;;;;;;;-1:-1:-1;2788:393:213;;-1:-1:-1;2788:393:213;-1:-1:-1;2788:393:213;:::i;1624:128:222:-;;;:::i;6038:249:224:-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;6038:249:224;;;;;;;;;;:::i;1764:141:213:-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6445:142:224;;;:::i;3548:390::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;3548:390:224;;;;;;;;;;:::i;1064:120:358:-;;;:::i;1378:108::-;;;:::i;2035:337:213:-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;941:83:223;;;;;;;;;;;;;;;;-1:-1:-1;941:83:223;-1:-1:-1;;;;;941:83:223;;:::i;6755:113::-;;;:::i;2146:1068:224:-;2291:24;2327:10;-1:-1:-1;;;;;2318:32:224;;:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2318:34:224;2397:48;;;-1:-1:-1;;;2397:48:224;;;;2318:34;;-1:-1:-1;;;;;;2397:46:224;;;;;:48;;;;;2318:34;;2397:48;;;;;;;;:46;:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2397:48:224;-1:-1:-1;;;;;2383:62:224;:10;:62;2362:198;;;;-1:-1:-1;;;2362:198:224;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2604:41;:39;:41::i;:::-;-1:-1:-1;;;;;2587:83:224;;2688:6;2712:1;2779:34;:32;:34::i;:::-;2587:268;;;;;;;;;;;;;-1:-1:-1;;;;;2587:268:224;;;;;;;;;;;-1:-1:-1;;;;;2587:268:224;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2587:268:224;;;2571:637;;3034:88;3088:33;:31;:33::i;:::-;3034:32;;:53;:88::i;:::-;-1:-1:-1;;;;;2963:60:224;;;;;;;:42;:60;;;;;;;;:68;;;;;;;;;;;;;:159;;;;3142:55;;2963:68;;:60;;3142:55;;2963:60;3142:55;2571:637;;;;2878:53;;-1:-1:-1;;;2878:53:224;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2571:637;2146:1068;;:::o;1452:161:223:-;1541:65;;-1:-1:-1;;;1541:65:223;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1539:102:213;;;;:::o;7057:191:224:-;7201:40;7057:191;:::o;1214:109:223:-;1276:16;1214:109;:::o;956:244:222:-;679:10:358;:8;:10::i;:::-;-1:-1:-1;;;;;665:24:358;:10;-1:-1:-1;;;;;665:24:358;;644:144;;;;-1:-1:-1;;;644:144:358;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1083:19:222::1;:46:::0;;;1145:48:::1;::::0;;;;;;;::::1;::::0;;;;::::1;::::0;;::::1;956:244:::0;:::o;7406:142:224:-;7508:33;7406:142;:::o;6740:138::-;6840:31;6740:138;:::o;2788:393:213:-;2968:13;586:10:223;-1:-1:-1;;;;;600:14:223;586:28;;578:82;;;;-1:-1:-1;;;578:82:223;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2996:24:213::1;3024:58;3069:12;;3024:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;3024:44:213::1;::::0;-1:-1:-1;;;3024:58:213:i:1;:::-;2993:89;;;3100:74;3109:64;3137:17;3156:16;3109:27;:64::i;:::-;3100:8;:74::i;:::-;3093:81;;;670:1:223;2788:393:213::0;;;;;;:::o;1624:128:222:-;1679:28;1726:19;1624:128;:::o;6038:249:224:-;-1:-1:-1;;;;;6211:61:224;;;6168:20;6211:61;;;:42;:61;;;;;;;;:69;;;;;;;;;;6038:249;;;;;:::o;1764:141:213:-;1818:25;1855:43;;;;;;;;;;;;;;;;;;;1764:141;:::o;6445:142:224:-;6547:33;6445:142;:::o;3548:390::-;3670:18;3704:19;3726:59;3759:17;3778:6;3726:32;:59::i;:::-;3704:81;;3830:15;3815:11;:30;;:116;;;;;3916:15;3861:51;3877:34;:32;:34::i;:::-;3861:11;;:15;:51::i;:::-;:70;;3796:135;3548:390;-1:-1:-1;;;;3548:390:224:o;1064:120:358:-;1105:14;1152:13;-1:-1:-1;;;;;1138:37:358;;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1138:39:358;;-1:-1:-1;1064:120:358;:::o;1378:108::-;1466:13;1378:108;:::o;2035:337:213:-;2215:34;;;2247:1;2215:34;;;;;;;;;2127:52;;2215:34;;;;;;;;;;;-1:-1:-1;2215:34:213;2195:54;;2282:48;2259:17;2277:1;2259:20;;;;;;;;;;;;;:71;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2035:337:213;:::o;941:83:223:-;;:::o;6755:113::-;6847:14;6755:113;:::o;2690:175:442:-;2748:7;2779:5;;;2802:6;;;;2794:46;;;;;-1:-1:-1;;;2794:46:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;2857:1;2690:175;-1:-1:-1;;;2690:175:442:o;5944:250:223:-;6075:15;6092:25;6151:15;6140:47;;;;;;;;;;;;;;;-1:-1:-1;6140:47:223;;;;;;;;;-1:-1:-1;6140:47:223;-1:-1:-1;5944:250:223;;;:::o;3277:1090:213:-;3401:14;3445:30;3489:37;3557:17;-1:-1:-1;;;;;3539:53:213;;:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3539:55:213;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3539:55:213;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3539:55:213;;;;;;;;;;;;-1:-1:-1;3539:55:213;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3539:55:213;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3539:55:213;;;;;;;;;;;;-1:-1:-1;3539:55:213;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3431:163;;;;3605:26;3634:200;3698:17;3729:13;3756:20;3790:34;:32;:34::i;:::-;3634:50;:200::i;:::-;3605:229;;3846:27;3875:34;3944:17;-1:-1:-1;;;;;3913:72:213;;:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3913:74:213;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3913:74:213;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3913:74:213;;;;;;;;;;;;-1:-1:-1;3913:74:213;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3913:74:213;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3913:74:213;;;;;;;;;;;;-1:-1:-1;3913:74:213;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3845:142;;;;3998:23;4024:194;4088:17;4119:10;4143:17;4174:34;:32;:34::i;4024:194::-;3998:220;;4254:15;4233:18;:36;4229:113;;;4292:39;:18;4315:15;4292:22;:39::i;:::-;4285:46;;;;;;;;;;4229:113;-1:-1:-1;4359:1:213;;3277:1090;-1:-1:-1;;;;;;;;3277:1090:213:o;1272:139:222:-;1334:12;1380:24;:22;:24::i;:::-;1365:39;;;;;1272:139;-1:-1:-1;1272:139:222:o;4084:595:224:-;4314:14;4345:9;4340:333;4360:11;:18;4356:1;:22;4340:333;;;4408:254;4436:212;4502:17;4541:11;4553:1;4541:14;;;;;;;;;;;;;;4577:17;4595:1;4577:20;;;;;;;;;;;;;;4619:11;4436:44;:212::i;4408:254::-;4399:263;-1:-1:-1;4380:3:224;;4340:333;;;;4084:595;;;;;;:::o;3136:155:442:-;3194:7;3226:1;3221;:6;;3213:49;;;;;-1:-1:-1;;;3213:49:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3279:5:442;;;3136:155::o;4879:824:224:-;5083:14;5142:41;:39;:41::i;:::-;-1:-1:-1;;;;;5125:83:224;;5226:10;5254:16;5288:11;5125:188;;;;;;;;;;;;;-1:-1:-1;;;;;5125:188:224;;;;;;;;;;;-1:-1:-1;;;;;5125:188:224;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5125:188:224;;;5109:569;;5431:55;5456:17;5475:10;5431:24;:55::i;:::-;5406:188;;;;-1:-1:-1;;;5406:188:224;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5656:10;-1:-1:-1;;;;;5614:53:224;5637:17;-1:-1:-1;;;;;5614:53:224;;;;;;;;;;;5109:569;;;5368:6;-1:-1:-1;5361:13:224;;5109:569;-1:-1:-1;5695:1:224;4879:824;;;;;;:::o", "linkReferences": {}, "immutableReferences": { "59893": [ { "start": 2177, "length": 32 }, { "start": 2809, "length": 32 } ], "60282": [ { "start": 2130, "length": 32 } ], "60284": [ { "start": 2452, "length": 32 } ], "60286": [ { "start": 1907, "length": 32 } ], "60288": [ { "start": 2094, "length": 32 } ], "78707": [ { "start": 2545, "length": 32 }, { "start": 2683, "length": 32 } ] } }, "methodIdentifiers": { "activateForFund(address)": "ceb9a0ad", "addFundSettings(address,bytes)": "0f5f6b4f", "assetIsBypassableForFund(address,address)": "85d63ec9", "canDisable()": "1ef92578", "getAssetBypassWindowStartForFund(address,address)": "5da4cdb2", "getDustToleranceInWeth()": "58bfdfee", "getFundDeployer()": "97c0ac87", "getOwner()": "893d20e8", "getPolicyManager()": "d44ad6cb", "getPricelessAssetBypassTimeLimit()": "7fe29268", "getPricelessAssetBypassTimelock()": "44105398", "getPricelessAssetBypassValueInterpreter()": "14f8e615", "getPricelessAssetBypassWethToken()": "234dfb17", "identifier()": "7998a1c4", "implementedHooks()": "cbf54bb2", "setDustToleranceInWeth(uint256)": "219ea7bf", "startAssetBypassTimelock(address)": "07d2890e", "updateFundSettings(address,bytes)": "0d4d7510", "validateRule(address,uint8,bytes)": "579be718" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_policyManager\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_fundDeployer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_valueInterpreter\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_wethToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_pricelessAssetBypassTimelock\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_pricelessAssetBypassTimeLimit\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"nextDustToleranceInWeth\",\"type\":\"uint256\"}],\"name\":\"DustToleranceInWethSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"asset\",\"type\":\"address\"}],\"name\":\"PricelessAssetBypassed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"asset\",\"type\":\"address\"}],\"name\":\"PricelessAssetTimelockStarted\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"activateForFund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"addFundSettings\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"}],\"name\":\"assetIsBypassableForFund\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isBypassable_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"canDisable\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"canDisable_\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"}],\"name\":\"getAssetBypassWindowStartForFund\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"windowStart_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDustToleranceInWeth\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"dustToleranceInWeth_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFundDeployer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"fundDeployer_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPolicyManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"policyManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPricelessAssetBypassTimeLimit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"timeLimit_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPricelessAssetBypassTimelock\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"timelock_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPricelessAssetBypassValueInterpreter\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"valueInterpreter_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPricelessAssetBypassWethToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"wethToken_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"identifier\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"identifier_\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"implementedHooks\",\"outputs\":[{\"internalType\":\"enum IPolicyManager.PolicyHook[]\",\"name\":\"implementedHooks_\",\"type\":\"uint8[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_nextDustToleranceInWeth\",\"type\":\"uint256\"}],\"name\":\"setDustToleranceInWeth\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"}],\"name\":\"startAssetBypassTimelock\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"updateFundSettings\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"enum IPolicyManager.PolicyHook\",\"name\":\"\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"_encodedArgs\",\"type\":\"bytes\"}],\"name\":\"validateRule\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isValid_\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"Assets that do not have a valid price can be signaled via PricelessAssetBypassMixin to be valued at `0`\",\"kind\":\"dev\",\"methods\":{\"activateForFund(address)\":{\"details\":\"Unimplemented by default, can be overridden by the policy\"},\"assetIsBypassableForFund(address,address)\":{\"params\":{\"_asset\":\"The asset for which to check if it is bypassable\",\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\"},\"returns\":{\"isBypassable_\":\"True if the asset is bypassable\"}},\"canDisable()\":{\"details\":\"False by default, can be overridden by the policy\",\"returns\":{\"canDisable_\":\"True if the policy can be disabled\"}},\"getAssetBypassWindowStartForFund(address,address)\":{\"params\":{\"_asset\":\"The asset\",\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\"},\"returns\":{\"windowStart_\":\"The timestamp\"}},\"getDustToleranceInWeth()\":{\"returns\":{\"dustToleranceInWeth_\":\"The `dustToleranceInWeth` variable value\"}},\"getFundDeployer()\":{\"returns\":{\"fundDeployer_\":\"The `FUND_DEPLOYER` variable value\"}},\"getOwner()\":{\"details\":\"Ownership is deferred to the owner of the FundDeployer contract\",\"returns\":{\"owner_\":\"The owner\"}},\"getPolicyManager()\":{\"returns\":{\"policyManager_\":\"The `POLICY_MANAGER` variable value\"}},\"getPricelessAssetBypassTimeLimit()\":{\"returns\":{\"timeLimit_\":\"The `PRICELESS_ASSET_BYPASS_TIME_LIMIT` variable value\"}},\"getPricelessAssetBypassTimelock()\":{\"returns\":{\"timelock_\":\"The `PRICELESS_ASSET_BYPASS_TIMELOCK` variable value\"}},\"getPricelessAssetBypassValueInterpreter()\":{\"returns\":{\"valueInterpreter_\":\"The `PRICELESS_ASSET_BYPASS_VALUE_INTERPRETER` variable value\"}},\"getPricelessAssetBypassWethToken()\":{\"returns\":{\"wethToken_\":\"The `PRICELESS_ASSET_BYPASS_WETH_TOKEN` variable value\"}},\"identifier()\":{\"returns\":{\"identifier_\":\"The identifier string\"}},\"implementedHooks()\":{\"returns\":{\"implementedHooks_\":\"The implemented PolicyHooks\"}},\"setDustToleranceInWeth(uint256)\":{\"params\":{\"_nextDustToleranceInWeth\":\"The next dustToleranceInWeth value\"}},\"startAssetBypassTimelock(address)\":{\"details\":\"This function must be called via ComptrollerProxy.vaultCallOnContract(). This allows the function to be gas relay-able. It also means that the originator must be the owner.\",\"params\":{\"_asset\":\"The asset for which to start the timelock period\"}},\"updateFundSettings(address,bytes)\":{\"details\":\"Disallowed by default, can be overridden by the policy\"},\"validateRule(address,uint8,bytes)\":{\"details\":\"onlyPolicyManager validation not necessary as no state is updated, but is cheap and nice-to-have since an event is fired\",\"params\":{\"_comptrollerProxy\":\"The fund's ComptrollerProxy address\",\"_encodedArgs\":\"Encoded args with which to validate the rule\"},\"returns\":{\"isValid_\":\"True if the rule passes\"}}},\"title\":\"OnlyRemoveDustExternalPositionPolicy Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"activateForFund(address)\":{\"notice\":\"Validates and initializes a policy as necessary prior to fund activation\"},\"addFundSettings(address,bytes)\":{\"notice\":\"Add the initial policy settings for a fund\"},\"assetIsBypassableForFund(address,address)\":{\"notice\":\"Checks whether an asset is bypassable (if still without a valid price) for a given fund\"},\"canDisable()\":{\"notice\":\"Whether or not the policy can be disabled\"},\"getAssetBypassWindowStartForFund(address,address)\":{\"notice\":\"Gets the timestamp from which an asset without a valid price can be considered to be valued at `0`\"},\"getDustToleranceInWeth()\":{\"notice\":\"Gets the `dustToleranceInWeth` variable\"},\"getFundDeployer()\":{\"notice\":\"Gets the `FUND_DEPLOYER` variable\"},\"getOwner()\":{\"notice\":\"Gets the owner of this contract\"},\"getPolicyManager()\":{\"notice\":\"Gets the `POLICY_MANAGER` variable value\"},\"getPricelessAssetBypassTimeLimit()\":{\"notice\":\"Gets the `PRICELESS_ASSET_BYPASS_TIME_LIMIT` variable\"},\"getPricelessAssetBypassTimelock()\":{\"notice\":\"Gets the `PRICELESS_ASSET_BYPASS_TIMELOCK` variable\"},\"getPricelessAssetBypassValueInterpreter()\":{\"notice\":\"Gets the `PRICELESS_ASSET_BYPASS_VALUE_INTERPRETER` variable\"},\"getPricelessAssetBypassWethToken()\":{\"notice\":\"Gets the `PRICELESS_ASSET_BYPASS_WETH_TOKEN` variable\"},\"identifier()\":{\"notice\":\"Provides a constant string identifier for a policy\"},\"implementedHooks()\":{\"notice\":\"Gets the implemented PolicyHooks for a policy\"},\"setDustToleranceInWeth(uint256)\":{\"notice\":\"Sets the dustToleranceInWeth variable value\"},\"startAssetBypassTimelock(address)\":{\"notice\":\"Starts the timelock period for an asset without a valid price\"},\"updateFundSettings(address,bytes)\":{\"notice\":\"Updates the policy settings for a fund\"},\"validateRule(address,uint8,bytes)\":{\"notice\":\"Apply the rule with the specified parameters of a PolicyHook\"}},\"notice\":\"A policy that only allows removing external positions whose value can be considered negligible\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/policy-manager/policies/asset-managers/OnlyRemoveDustExternalPositionPolicy.sol\":\"OnlyRemoveDustExternalPositionPolicy\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/persistent/protocol-fee-reserve/interfaces/IProtocolFeeReserve1.sol\":{\"keccak256\":\"0x2728878c423db523bc95189137e8c58d2d7db9f56bbd5c6b1f988c08b551fbab\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3b0df1d2eb74151265d03ab91a7c341f7beca475dd2f4d669052dbc4ee2c06ac\",\"dweb:/ipfs/QmVx1cgrxQNYfdK1Kn15pcgqf79Uw8bF3U6i7F2HG2rj6G\"]},\"contracts/persistent/vault/VaultLibBase1.sol\":{\"keccak256\":\"0xa4dac1e4cdb311a2ab187135355357d8790c505ef36dd912c057fe53743d30b5\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b66efe821016ab927c949263023260515e90f5d480dc8d94eefbfeec7bf7490b\",\"dweb:/ipfs/QmNY3xKnhL9EptAbxGvXHGAXfV9pj3dDPwsZnKrPs54ZHw\"]},\"contracts/persistent/vault/VaultLibBase2.sol\":{\"keccak256\":\"0xf7d31f2a9a47770ed3f444be2c4fe9262ddb55fef7f25e546b1f03c9afec4c09\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9353ddce7c9b8b3c13fed23fe8edec99ca610d791b0c5b204b3d01f1f08d07d2\",\"dweb:/ipfs/QmeVsEh3joCjv49BRXeHASevnZZ5xdZXpkctHT8BPf37N2\"]},\"contracts/persistent/vault/VaultLibBaseCore.sol\":{\"keccak256\":\"0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd\",\"dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz\"]},\"contracts/persistent/vault/interfaces/IExternalPositionVault.sol\":{\"keccak256\":\"0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d\",\"dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8\"]},\"contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol\":{\"keccak256\":\"0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb\",\"dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU\"]},\"contracts/persistent/vault/interfaces/IMigratableVault.sol\":{\"keccak256\":\"0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6\",\"dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs\"]},\"contracts/persistent/vault/interfaces/IVaultCore.sol\":{\"keccak256\":\"0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd\",\"dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr\"]},\"contracts/persistent/vault/utils/ProxiableVaultLib.sol\":{\"keccak256\":\"0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44\",\"dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4\"]},\"contracts/persistent/vault/utils/SharesTokenBase.sol\":{\"keccak256\":\"0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8\",\"dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4\"]},\"contracts/persistent/vault/utils/VaultLibSafeMath.sol\":{\"keccak256\":\"0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02\",\"dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG\"]},\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/core/fund/comptroller/ComptrollerLib.sol\":{\"keccak256\":\"0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579\",\"dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq\"]},\"contracts/release/core/fund/comptroller/IComptroller.sol\":{\"keccak256\":\"0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97\",\"dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L\"]},\"contracts/release/core/fund/vault/IVault.sol\":{\"keccak256\":\"0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599\",\"dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG\"]},\"contracts/release/core/fund/vault/VaultLib.sol\":{\"keccak256\":\"0x07e49445ab55c01e1b499a48baadc2a15d1eba621f1c6d3ccfdb84c87b976da8\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://56d882459248f73e137db2e097fc56b946147fb28ec21661b77431f88e856cb4\",\"dweb:/ipfs/QmRP6Ry7DCS5uoKxnnkTomHSzbaCze6cHqbR9aLdjoF6vK\"]},\"contracts/release/extensions/IExtension.sol\":{\"keccak256\":\"0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70\",\"dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t\"]},\"contracts/release/extensions/external-position-manager/IExternalPositionManager.sol\":{\"keccak256\":\"0x3af3f634e1f99fb97091b7825c0d2e2baaafc124d4e87d56cb0c17ff8554f6c6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://515470605afe5ef147f30fa75ce7818f0e00e3d321eb81a4d9bffcdefc294495\",\"dweb:/ipfs/QmPKsp99pfHoz9Tfo3ZxnkmqDqJtN9PxqacF2RmeVfxUJF\"]},\"contracts/release/extensions/fee-manager/IFeeManager.sol\":{\"keccak256\":\"0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22\",\"dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod\"]},\"contracts/release/extensions/policy-manager/IPolicy.sol\":{\"keccak256\":\"0xc12663ca72065b256c3b934ab738fde26c147c7b0399de43650df89dd52ee467\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://be8fecfcba0f3fda615f0a1bb3c766750c23761ef751d7c4472dfe540e460cd1\",\"dweb:/ipfs/QmaarPoRTsX6NiJ8V4u2f3Qh6d7tUs28bw9R14An3t5Bs1\"]},\"contracts/release/extensions/policy-manager/IPolicyManager.sol\":{\"keccak256\":\"0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa\",\"dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb\"]},\"contracts/release/extensions/policy-manager/policies/asset-managers/OnlyRemoveDustExternalPositionPolicy.sol\":{\"keccak256\":\"0x3ec3b88a62bbd7aa9eafa95b627a99bb243ec702b30d8fd4aa60dcf7a777b811\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://50592e7f8ba2e16ce56457717734ad4f79518834b173672d4825d1a2cd7031ca\",\"dweb:/ipfs/QmNu9ZCCcXgynngtGwXDyZeBnnz1aXC4H9evhvyxXcLy5h\"]},\"contracts/release/extensions/policy-manager/policies/utils/DustEvaluatorMixin.sol\":{\"keccak256\":\"0xe3b05643184569abd6c1d6edcbaa983b54acfcdcf112306799896466786a6201\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://65e84bc47952fb5cd31a0617d7ec314e3a4c35f68582669bd2179514bc74b036\",\"dweb:/ipfs/QmUKqvbmeXvzvy3xZk3zhjNxm1kXSPKjBURm8Pd25Cmki4\"]},\"contracts/release/extensions/policy-manager/policies/utils/PolicyBase.sol\":{\"keccak256\":\"0x972311abb98f0da815b4aca83d5afdd219d3604ec19cf5e3773c0c305bd9b3f1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2452f3d1f3b1d8e8459a07489146a2d0d8a10463715937995cbe77ee5de8c069\",\"dweb:/ipfs/Qmf2hhd2DVbjpxmbNGAhRZNZkqpGZA2mX3eA1WNwtv6t5Y\"]},\"contracts/release/extensions/policy-manager/policies/utils/PricelessAssetBypassMixin.sol\":{\"keccak256\":\"0x5624f038f790b51ba9bd2207a6e80d188bc5d0b049807e0f06f123f6d00e3444\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://53782b55be373922df118f9970f897c1adfd4646dc4a95eec52e7c914944f68c\",\"dweb:/ipfs/QmTGPQRqzczosWALPZgAN6TKE4qdBuFwGBdCKy6GxtZBPe\"]},\"contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol\":{\"keccak256\":\"0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f\",\"dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol\":{\"keccak256\":\"0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0\",\"dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol\":{\"keccak256\":\"0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b\",\"dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3\"]},\"contracts/release/infrastructure/price-feeds/derivatives/AggregatedDerivativePriceFeedMixin.sol\":{\"keccak256\":\"0x85d2ac39834dae7feb04f0e37317a38b8abeb0f950692fbc9d29078c52cd8d52\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://7bf8f1ce064d85a2812a944fc93068955b233924097f7f45898be3db826579d5\",\"dweb:/ipfs/Qme7f6AhxLVn32prM8fHaCvxtVi86A9KqFMqPA1s88kVYR\"]},\"contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol\":{\"keccak256\":\"0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e\",\"dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK\"]},\"contracts/release/infrastructure/price-feeds/primitives/ChainlinkPriceFeedMixin.sol\":{\"keccak256\":\"0x7fb0078e7387f07ff09958fe4e4e7b317e72c23884f61e8c133776cad522f8bb\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://e973f29ed0c3bf03e20154ab4b0cfc68c3a4372a52ec746f9d9f86697b30e977\",\"dweb:/ipfs/QmfMb7H1zNnj2hzmUr6742HmCTiNVuQ2PFjeR8q2M4Liyu\"]},\"contracts/release/infrastructure/protocol-fees/IProtocolFeeTracker.sol\":{\"keccak256\":\"0x232b347f83457439064add7369bfe1930c7cb56f15930bb87d640e909c15e447\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://24f9af5eebdd373b1d7a598c096eb6def31b2640d54416d7d5a7226e1cef17e6\",\"dweb:/ipfs/QmStq9ByGuSYdKwTmZf52L1X6sZVJUfXTnoVbnjLLiUcHG\"]},\"contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol\":{\"keccak256\":\"0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965\",\"dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ\"]},\"contracts/release/infrastructure/value-interpreter/ValueInterpreter.sol\":{\"keccak256\":\"0x64565011785d0d29a75021cda34687cfbc0641094d6f2faf4d9c78c8cd9f0d1d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://03ea9b29a332436d18ca1a4df7e5cdf231d5142dfb916a39cb3a721342d54e0e\",\"dweb:/ipfs/QmcB8Z7A7QELAxg2FfJpD26k2bUhMNUT4wACMVKxuge3QS\"]},\"contracts/release/interfaces/IChainlinkAggregator.sol\":{\"keccak256\":\"0x8104db68d4edc00c86b29b366f4397cdbe7bd95bb9dc90f54140af4bae963788\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://4664240be22fe76bd4e84d1cbaace3998dbc96759a14345819a889f0c288d22e\",\"dweb:/ipfs/QmQ8fbA4tvXeCeaAFeS2JrLEQUPFeYrePAKoUywRtcicgA\"]},\"contracts/release/interfaces/IGsnForwarder.sol\":{\"keccak256\":\"0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29\",\"dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G\"]},\"contracts/release/interfaces/IGsnPaymaster.sol\":{\"keccak256\":\"0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4\",\"dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF\"]},\"contracts/release/interfaces/IGsnTypes.sol\":{\"keccak256\":\"0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7\",\"dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C\"]},\"contracts/release/interfaces/IWETH.sol\":{\"keccak256\":\"0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2\",\"dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/FundDeployerOwnerMixin.sol\":{\"keccak256\":\"0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927\",\"dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM\"]},\"contracts/release/utils/MathHelpers.sol\":{\"keccak256\":\"0x8aef498ae98bfb40cd1df8c9ed652b4c092fbbe62d5a1fad522c53654523248e\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ed62789f6a8d5ca30a40c591f244b915e4711493a9e4b1b4d40ea2bc97b02a95\",\"dweb:/ipfs/QmWyXJ55arURtx9VMkUQokdsjk8tbgM2cC8rENFUMyz5D3\"]},\"contracts/release/utils/beacon-proxy/IBeacon.sol\":{\"keccak256\":\"0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39\",\"dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V\"]},\"contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol\":{\"keccak256\":\"0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be\",\"dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20Burnable.sol\":{\"keccak256\":\"0x9c0eb3b0e11d2480d49991dc384f1e5f9c9b9967cc81944d50916a9b9c6c4984\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99e4033d778624992e86f0b6d801a4f6d7b5c0cd5c79c1296be90a051ad5f5af\",\"dweb:/ipfs/QmShYmkUqh6pDEeoWadZ24icmCr4C2Xys1uE5boivPmbwf\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_policyManager", "type": "address" }, { "internalType": "address", "name": "_fundDeployer", "type": "address" }, { "internalType": "address", "name": "_valueInterpreter", "type": "address" }, { "internalType": "address", "name": "_wethToken", "type": "address" }, { "internalType": "uint256", "name": "_pricelessAssetBypassTimelock", "type": "uint256" }, { "internalType": "uint256", "name": "_pricelessAssetBypassTimeLimit", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "uint256", "name": "nextDustToleranceInWeth", "type": "uint256", "indexed": false } ], "type": "event", "name": "DustToleranceInWethSet", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "comptrollerProxy", "type": "address", "indexed": true }, { "internalType": "address", "name": "asset", "type": "address", "indexed": true } ], "type": "event", "name": "PricelessAssetBypassed", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "comptrollerProxy", "type": "address", "indexed": true }, { "internalType": "address", "name": "asset", "type": "address", "indexed": true } ], "type": "event", "name": "PricelessAssetTimelockStarted", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "activateForFund" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "addFundSettings" }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" }, { "internalType": "address", "name": "_asset", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "assetIsBypassableForFund", "outputs": [ { "internalType": "bool", "name": "isBypassable_", "type": "bool" } ] }, { "inputs": [], "stateMutability": "pure", "type": "function", "name": "canDisable", "outputs": [ { "internalType": "bool", "name": "canDisable_", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" }, { "internalType": "address", "name": "_asset", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getAssetBypassWindowStartForFund", "outputs": [ { "internalType": "uint256", "name": "windowStart_", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getDustToleranceInWeth", "outputs": [ { "internalType": "uint256", "name": "dustToleranceInWeth_", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getFundDeployer", "outputs": [ { "internalType": "address", "name": "fundDeployer_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getOwner", "outputs": [ { "internalType": "address", "name": "owner_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getPolicyManager", "outputs": [ { "internalType": "address", "name": "policyManager_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getPricelessAssetBypassTimeLimit", "outputs": [ { "internalType": "uint256", "name": "timeLimit_", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getPricelessAssetBypassTimelock", "outputs": [ { "internalType": "uint256", "name": "timelock_", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getPricelessAssetBypassValueInterpreter", "outputs": [ { "internalType": "address", "name": "valueInterpreter_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getPricelessAssetBypassWethToken", "outputs": [ { "internalType": "address", "name": "wethToken_", "type": "address" } ] }, { "inputs": [], "stateMutability": "pure", "type": "function", "name": "identifier", "outputs": [ { "internalType": "string", "name": "identifier_", "type": "string" } ] }, { "inputs": [], "stateMutability": "pure", "type": "function", "name": "implementedHooks", "outputs": [ { "internalType": "enum IPolicyManager.PolicyHook[]", "name": "implementedHooks_", "type": "uint8[]" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_nextDustToleranceInWeth", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "setDustToleranceInWeth" }, { "inputs": [ { "internalType": "address", "name": "_asset", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "startAssetBypassTimelock" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "updateFundSettings" }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" }, { "internalType": "enum IPolicyManager.PolicyHook", "name": "", "type": "uint8" }, { "internalType": "bytes", "name": "_encodedArgs", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "validateRule", "outputs": [ { "internalType": "bool", "name": "isValid_", "type": "bool" } ] } ], "devdoc": { "kind": "dev", "methods": { "activateForFund(address)": { "details": "Unimplemented by default, can be overridden by the policy" }, "assetIsBypassableForFund(address,address)": { "params": { "_asset": "The asset for which to check if it is bypassable", "_comptrollerProxy": "The ComptrollerProxy of the fund" }, "returns": { "isBypassable_": "True if the asset is bypassable" } }, "canDisable()": { "details": "False by default, can be overridden by the policy", "returns": { "canDisable_": "True if the policy can be disabled" } }, "getAssetBypassWindowStartForFund(address,address)": { "params": { "_asset": "The asset", "_comptrollerProxy": "The ComptrollerProxy of the fund" }, "returns": { "windowStart_": "The timestamp" } }, "getDustToleranceInWeth()": { "returns": { "dustToleranceInWeth_": "The `dustToleranceInWeth` variable value" } }, "getFundDeployer()": { "returns": { "fundDeployer_": "The `FUND_DEPLOYER` variable value" } }, "getOwner()": { "details": "Ownership is deferred to the owner of the FundDeployer contract", "returns": { "owner_": "The owner" } }, "getPolicyManager()": { "returns": { "policyManager_": "The `POLICY_MANAGER` variable value" } }, "getPricelessAssetBypassTimeLimit()": { "returns": { "timeLimit_": "The `PRICELESS_ASSET_BYPASS_TIME_LIMIT` variable value" } }, "getPricelessAssetBypassTimelock()": { "returns": { "timelock_": "The `PRICELESS_ASSET_BYPASS_TIMELOCK` variable value" } }, "getPricelessAssetBypassValueInterpreter()": { "returns": { "valueInterpreter_": "The `PRICELESS_ASSET_BYPASS_VALUE_INTERPRETER` variable value" } }, "getPricelessAssetBypassWethToken()": { "returns": { "wethToken_": "The `PRICELESS_ASSET_BYPASS_WETH_TOKEN` variable value" } }, "identifier()": { "returns": { "identifier_": "The identifier string" } }, "implementedHooks()": { "returns": { "implementedHooks_": "The implemented PolicyHooks" } }, "setDustToleranceInWeth(uint256)": { "params": { "_nextDustToleranceInWeth": "The next dustToleranceInWeth value" } }, "startAssetBypassTimelock(address)": { "details": "This function must be called via ComptrollerProxy.vaultCallOnContract(). This allows the function to be gas relay-able. It also means that the originator must be the owner.", "params": { "_asset": "The asset for which to start the timelock period" } }, "updateFundSettings(address,bytes)": { "details": "Disallowed by default, can be overridden by the policy" }, "validateRule(address,uint8,bytes)": { "details": "onlyPolicyManager validation not necessary as no state is updated, but is cheap and nice-to-have since an event is fired", "params": { "_comptrollerProxy": "The fund's ComptrollerProxy address", "_encodedArgs": "Encoded args with which to validate the rule" }, "returns": { "isValid_": "True if the rule passes" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "activateForFund(address)": { "notice": "Validates and initializes a policy as necessary prior to fund activation" }, "addFundSettings(address,bytes)": { "notice": "Add the initial policy settings for a fund" }, "assetIsBypassableForFund(address,address)": { "notice": "Checks whether an asset is bypassable (if still without a valid price) for a given fund" }, "canDisable()": { "notice": "Whether or not the policy can be disabled" }, "getAssetBypassWindowStartForFund(address,address)": { "notice": "Gets the timestamp from which an asset without a valid price can be considered to be valued at `0`" }, "getDustToleranceInWeth()": { "notice": "Gets the `dustToleranceInWeth` variable" }, "getFundDeployer()": { "notice": "Gets the `FUND_DEPLOYER` variable" }, "getOwner()": { "notice": "Gets the owner of this contract" }, "getPolicyManager()": { "notice": "Gets the `POLICY_MANAGER` variable value" }, "getPricelessAssetBypassTimeLimit()": { "notice": "Gets the `PRICELESS_ASSET_BYPASS_TIME_LIMIT` variable" }, "getPricelessAssetBypassTimelock()": { "notice": "Gets the `PRICELESS_ASSET_BYPASS_TIMELOCK` variable" }, "getPricelessAssetBypassValueInterpreter()": { "notice": "Gets the `PRICELESS_ASSET_BYPASS_VALUE_INTERPRETER` variable" }, "getPricelessAssetBypassWethToken()": { "notice": "Gets the `PRICELESS_ASSET_BYPASS_WETH_TOKEN` variable" }, "identifier()": { "notice": "Provides a constant string identifier for a policy" }, "implementedHooks()": { "notice": "Gets the implemented PolicyHooks for a policy" }, "setDustToleranceInWeth(uint256)": { "notice": "Sets the dustToleranceInWeth variable value" }, "startAssetBypassTimelock(address)": { "notice": "Starts the timelock period for an asset without a valid price" }, "updateFundSettings(address,bytes)": { "notice": "Updates the policy settings for a fund" }, "validateRule(address,uint8,bytes)": { "notice": "Apply the rule with the specified parameters of a PolicyHook" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/policy-manager/policies/asset-managers/OnlyRemoveDustExternalPositionPolicy.sol": "OnlyRemoveDustExternalPositionPolicy" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/dispatcher/IDispatcher.sol": { "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", "urls": [ "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" ], "license": "GPL-3.0" }, "contracts/persistent/external-positions/IExternalPosition.sol": { "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", "urls": [ "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" ], "license": "GPL-3.0" }, "contracts/persistent/protocol-fee-reserve/interfaces/IProtocolFeeReserve1.sol": { "keccak256": "0x2728878c423db523bc95189137e8c58d2d7db9f56bbd5c6b1f988c08b551fbab", "urls": [ "bzz-raw://3b0df1d2eb74151265d03ab91a7c341f7beca475dd2f4d669052dbc4ee2c06ac", "dweb:/ipfs/QmVx1cgrxQNYfdK1Kn15pcgqf79Uw8bF3U6i7F2HG2rj6G" ], "license": "GPL-3.0" }, "contracts/persistent/vault/VaultLibBase1.sol": { "keccak256": "0xa4dac1e4cdb311a2ab187135355357d8790c505ef36dd912c057fe53743d30b5", "urls": [ "bzz-raw://b66efe821016ab927c949263023260515e90f5d480dc8d94eefbfeec7bf7490b", "dweb:/ipfs/QmNY3xKnhL9EptAbxGvXHGAXfV9pj3dDPwsZnKrPs54ZHw" ], "license": "GPL-3.0" }, "contracts/persistent/vault/VaultLibBase2.sol": { "keccak256": "0xf7d31f2a9a47770ed3f444be2c4fe9262ddb55fef7f25e546b1f03c9afec4c09", "urls": [ "bzz-raw://9353ddce7c9b8b3c13fed23fe8edec99ca610d791b0c5b204b3d01f1f08d07d2", "dweb:/ipfs/QmeVsEh3joCjv49BRXeHASevnZZ5xdZXpkctHT8BPf37N2" ], "license": "GPL-3.0" }, "contracts/persistent/vault/VaultLibBaseCore.sol": { "keccak256": "0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074", "urls": [ "bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd", "dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IExternalPositionVault.sol": { "keccak256": "0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6", "urls": [ "bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d", "dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol": { "keccak256": "0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0", "urls": [ "bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb", "dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IMigratableVault.sol": { "keccak256": "0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238", "urls": [ "bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6", "dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IVaultCore.sol": { "keccak256": "0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80", "urls": [ "bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd", "dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr" ], "license": "GPL-3.0" }, "contracts/persistent/vault/utils/ProxiableVaultLib.sol": { "keccak256": "0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76", "urls": [ "bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44", "dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4" ], "license": "GPL-3.0" }, "contracts/persistent/vault/utils/SharesTokenBase.sol": { "keccak256": "0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113", "urls": [ "bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8", "dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4" ], "license": "GPL-3.0" }, "contracts/persistent/vault/utils/VaultLibSafeMath.sol": { "keccak256": "0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d", "urls": [ "bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02", "dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG" ], "license": "GPL-3.0" }, "contracts/release/core/fund-deployer/IFundDeployer.sol": { "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", "urls": [ "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" ], "license": "GPL-3.0" }, "contracts/release/core/fund/comptroller/ComptrollerLib.sol": { "keccak256": "0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64", "urls": [ "bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579", "dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq" ], "license": "GPL-3.0" }, "contracts/release/core/fund/comptroller/IComptroller.sol": { "keccak256": "0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f", "urls": [ "bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97", "dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L" ], "license": "GPL-3.0" }, "contracts/release/core/fund/vault/IVault.sol": { "keccak256": "0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd", "urls": [ "bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599", "dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG" ], "license": "GPL-3.0" }, "contracts/release/core/fund/vault/VaultLib.sol": { "keccak256": "0x07e49445ab55c01e1b499a48baadc2a15d1eba621f1c6d3ccfdb84c87b976da8", "urls": [ "bzz-raw://56d882459248f73e137db2e097fc56b946147fb28ec21661b77431f88e856cb4", "dweb:/ipfs/QmRP6Ry7DCS5uoKxnnkTomHSzbaCze6cHqbR9aLdjoF6vK" ], "license": "GPL-3.0" }, "contracts/release/extensions/IExtension.sol": { "keccak256": "0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b", "urls": [ "bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70", "dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/IExternalPositionManager.sol": { "keccak256": "0x3af3f634e1f99fb97091b7825c0d2e2baaafc124d4e87d56cb0c17ff8554f6c6", "urls": [ "bzz-raw://515470605afe5ef147f30fa75ce7818f0e00e3d321eb81a4d9bffcdefc294495", "dweb:/ipfs/QmPKsp99pfHoz9Tfo3ZxnkmqDqJtN9PxqacF2RmeVfxUJF" ], "license": "GPL-3.0" }, "contracts/release/extensions/fee-manager/IFeeManager.sol": { "keccak256": "0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51", "urls": [ "bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22", "dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod" ], "license": "GPL-3.0" }, "contracts/release/extensions/policy-manager/IPolicy.sol": { "keccak256": "0xc12663ca72065b256c3b934ab738fde26c147c7b0399de43650df89dd52ee467", "urls": [ "bzz-raw://be8fecfcba0f3fda615f0a1bb3c766750c23761ef751d7c4472dfe540e460cd1", "dweb:/ipfs/QmaarPoRTsX6NiJ8V4u2f3Qh6d7tUs28bw9R14An3t5Bs1" ], "license": "GPL-3.0" }, "contracts/release/extensions/policy-manager/IPolicyManager.sol": { "keccak256": "0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32", "urls": [ "bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa", "dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb" ], "license": "GPL-3.0" }, "contracts/release/extensions/policy-manager/policies/asset-managers/OnlyRemoveDustExternalPositionPolicy.sol": { "keccak256": "0x3ec3b88a62bbd7aa9eafa95b627a99bb243ec702b30d8fd4aa60dcf7a777b811", "urls": [ "bzz-raw://50592e7f8ba2e16ce56457717734ad4f79518834b173672d4825d1a2cd7031ca", "dweb:/ipfs/QmNu9ZCCcXgynngtGwXDyZeBnnz1aXC4H9evhvyxXcLy5h" ], "license": "GPL-3.0" }, "contracts/release/extensions/policy-manager/policies/utils/DustEvaluatorMixin.sol": { "keccak256": "0xe3b05643184569abd6c1d6edcbaa983b54acfcdcf112306799896466786a6201", "urls": [ "bzz-raw://65e84bc47952fb5cd31a0617d7ec314e3a4c35f68582669bd2179514bc74b036", "dweb:/ipfs/QmUKqvbmeXvzvy3xZk3zhjNxm1kXSPKjBURm8Pd25Cmki4" ], "license": "GPL-3.0" }, "contracts/release/extensions/policy-manager/policies/utils/PolicyBase.sol": { "keccak256": "0x972311abb98f0da815b4aca83d5afdd219d3604ec19cf5e3773c0c305bd9b3f1", "urls": [ "bzz-raw://2452f3d1f3b1d8e8459a07489146a2d0d8a10463715937995cbe77ee5de8c069", "dweb:/ipfs/Qmf2hhd2DVbjpxmbNGAhRZNZkqpGZA2mX3eA1WNwtv6t5Y" ], "license": "GPL-3.0" }, "contracts/release/extensions/policy-manager/policies/utils/PricelessAssetBypassMixin.sol": { "keccak256": "0x5624f038f790b51ba9bd2207a6e80d188bc5d0b049807e0f06f123f6d00e3444", "urls": [ "bzz-raw://53782b55be373922df118f9970f897c1adfd4646dc4a95eec52e7c914944f68c", "dweb:/ipfs/QmTGPQRqzczosWALPZgAN6TKE4qdBuFwGBdCKy6GxtZBPe" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol": { "keccak256": "0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609", "urls": [ "bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f", "dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol": { "keccak256": "0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01", "urls": [ "bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0", "dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol": { "keccak256": "0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196", "urls": [ "bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b", "dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/price-feeds/derivatives/AggregatedDerivativePriceFeedMixin.sol": { "keccak256": "0x85d2ac39834dae7feb04f0e37317a38b8abeb0f950692fbc9d29078c52cd8d52", "urls": [ "bzz-raw://7bf8f1ce064d85a2812a944fc93068955b233924097f7f45898be3db826579d5", "dweb:/ipfs/Qme7f6AhxLVn32prM8fHaCvxtVi86A9KqFMqPA1s88kVYR" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol": { "keccak256": "0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332", "urls": [ "bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e", "dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/price-feeds/primitives/ChainlinkPriceFeedMixin.sol": { "keccak256": "0x7fb0078e7387f07ff09958fe4e4e7b317e72c23884f61e8c133776cad522f8bb", "urls": [ "bzz-raw://e973f29ed0c3bf03e20154ab4b0cfc68c3a4372a52ec746f9d9f86697b30e977", "dweb:/ipfs/QmfMb7H1zNnj2hzmUr6742HmCTiNVuQ2PFjeR8q2M4Liyu" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/protocol-fees/IProtocolFeeTracker.sol": { "keccak256": "0x232b347f83457439064add7369bfe1930c7cb56f15930bb87d640e909c15e447", "urls": [ "bzz-raw://24f9af5eebdd373b1d7a598c096eb6def31b2640d54416d7d5a7226e1cef17e6", "dweb:/ipfs/QmStq9ByGuSYdKwTmZf52L1X6sZVJUfXTnoVbnjLLiUcHG" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol": { "keccak256": "0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794", "urls": [ "bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965", "dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/value-interpreter/ValueInterpreter.sol": { "keccak256": "0x64565011785d0d29a75021cda34687cfbc0641094d6f2faf4d9c78c8cd9f0d1d", "urls": [ "bzz-raw://03ea9b29a332436d18ca1a4df7e5cdf231d5142dfb916a39cb3a721342d54e0e", "dweb:/ipfs/QmcB8Z7A7QELAxg2FfJpD26k2bUhMNUT4wACMVKxuge3QS" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IChainlinkAggregator.sol": { "keccak256": "0x8104db68d4edc00c86b29b366f4397cdbe7bd95bb9dc90f54140af4bae963788", "urls": [ "bzz-raw://4664240be22fe76bd4e84d1cbaace3998dbc96759a14345819a889f0c288d22e", "dweb:/ipfs/QmQ8fbA4tvXeCeaAFeS2JrLEQUPFeYrePAKoUywRtcicgA" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IGsnForwarder.sol": { "keccak256": "0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030", "urls": [ "bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29", "dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IGsnPaymaster.sol": { "keccak256": "0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c", "urls": [ "bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4", "dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IGsnTypes.sol": { "keccak256": "0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714", "urls": [ "bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7", "dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IWETH.sol": { "keccak256": "0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2", "urls": [ "bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2", "dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ" ], "license": "GPL-3.0" }, "contracts/release/utils/AddressArrayLib.sol": { "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", "urls": [ "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" ], "license": "GPL-3.0" }, "contracts/release/utils/FundDeployerOwnerMixin.sol": { "keccak256": "0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934", "urls": [ "bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927", "dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM" ], "license": "GPL-3.0" }, "contracts/release/utils/MathHelpers.sol": { "keccak256": "0x8aef498ae98bfb40cd1df8c9ed652b4c092fbbe62d5a1fad522c53654523248e", "urls": [ "bzz-raw://ed62789f6a8d5ca30a40c591f244b915e4711493a9e4b1b4d40ea2bc97b02a95", "dweb:/ipfs/QmWyXJ55arURtx9VMkUQokdsjk8tbgM2cC8rENFUMyz5D3" ], "license": "GPL-3.0" }, "contracts/release/utils/beacon-proxy/IBeacon.sol": { "keccak256": "0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2", "urls": [ "bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39", "dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V" ], "license": "GPL-3.0" }, "contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol": { "keccak256": "0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc", "urls": [ "bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be", "dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20Burnable.sol": { "keccak256": "0x9c0eb3b0e11d2480d49991dc384f1e5f9c9b9967cc81944d50916a9b9c6c4984", "urls": [ "bzz-raw://99e4033d778624992e86f0b6d801a4f6d7b5c0cd5c79c1296be90a051ad5f5af", "dweb:/ipfs/QmShYmkUqh6pDEeoWadZ24icmCr4C2Xys1uE5boivPmbwf" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", "urls": [ "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Address.sol": { "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", "urls": [ "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" } }, "version": 1 }, "id": 213 } diff --git a/eth_defi/abi/enzyme/OnlyUntrackDustOrPricelessAssetsPolicy.json b/eth_defi/abi/enzyme/OnlyUntrackDustOrPricelessAssetsPolicy.json index 1fa5a86e..6c91ebf6 100644 --- a/eth_defi/abi/enzyme/OnlyUntrackDustOrPricelessAssetsPolicy.json +++ b/eth_defi/abi/enzyme/OnlyUntrackDustOrPricelessAssetsPolicy.json @@ -1,1482 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_policyManager", - "type": "address" - }, - { - "internalType": "address", - "name": "_fundDeployer", - "type": "address" - }, - { - "internalType": "address", - "name": "_valueInterpreter", - "type": "address" - }, - { - "internalType": "address", - "name": "_wethToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_pricelessAssetBypassTimelock", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_pricelessAssetBypassTimeLimit", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "nextDustToleranceInWeth", - "type": "uint256" - } - ], - "name": "DustToleranceInWethSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "comptrollerProxy", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "asset", - "type": "address" - } - ], - "name": "PricelessAssetBypassed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "comptrollerProxy", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "asset", - "type": "address" - } - ], - "name": "PricelessAssetTimelockStarted", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "activateForFund", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "addFundSettings", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_asset", - "type": "address" - } - ], - "name": "assetIsBypassableForFund", - "outputs": [ - { - "internalType": "bool", - "name": "isBypassable_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "canDisable", - "outputs": [ - { - "internalType": "bool", - "name": "canDisable_", - "type": "bool" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_asset", - "type": "address" - } - ], - "name": "getAssetBypassWindowStartForFund", - "outputs": [ - { - "internalType": "uint256", - "name": "windowStart_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getDustToleranceInWeth", - "outputs": [ - { - "internalType": "uint256", - "name": "dustToleranceInWeth_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getFundDeployer", - "outputs": [ - { - "internalType": "address", - "name": "fundDeployer_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "owner_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getPolicyManager", - "outputs": [ - { - "internalType": "address", - "name": "policyManager_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getPricelessAssetBypassTimeLimit", - "outputs": [ - { - "internalType": "uint256", - "name": "timeLimit_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getPricelessAssetBypassTimelock", - "outputs": [ - { - "internalType": "uint256", - "name": "timelock_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getPricelessAssetBypassValueInterpreter", - "outputs": [ - { - "internalType": "address", - "name": "valueInterpreter_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getPricelessAssetBypassWethToken", - "outputs": [ - { - "internalType": "address", - "name": "wethToken_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "identifier", - "outputs": [ - { - "internalType": "string", - "name": "identifier_", - "type": "string" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "implementedHooks", - "outputs": [ - { - "internalType": "enum IPolicyManager.PolicyHook[]", - "name": "implementedHooks_", - "type": "uint8[]" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_nextDustToleranceInWeth", - "type": "uint256" - } - ], - "name": "setDustToleranceInWeth", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_asset", - "type": "address" - } - ], - "name": "startAssetBypassTimelock", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "updateFundSettings", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "enum IPolicyManager.PolicyHook", - "name": "", - "type": "uint8" - }, - { - "internalType": "bytes", - "name": "_encodedArgs", - "type": "bytes" - } - ], - "name": "validateRule", - "outputs": [ - { - "internalType": "bool", - "name": "isValid_", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x61014060405234801561001157600080fd5b50604051611149380380611149833981810160405260c081101561003457600080fd5b5080516020820151604083015160608085015160808087015160a0978801516001600160601b031988861b811690935286851b831690985260c081905260e088905284841b8216610100529282901b16610120526001600160a01b0394851695938516949193928216911661106b6100de6000398061082e525080610773525080610ade525080610852525080610b3b5280610bc55250806108815280610c43525061106b6000f3fe608060405234801561001057600080fd5b50600436106101215760003560e01c806358bfdfee116100ad578063893d20e811610071578063893d20e81461043857806397c0ac8714610440578063cbf54bb214610448578063ceb9a0ad146104a0578063d44ad6cb146104c657610121565b806358bfdfee1461034f5780635da4cdb2146103575780637998a1c4146103855780637fe292681461040257806385d63ec91461040a57610121565b80631ef92578116100f45780631ef925781461026e578063219ea7bf1461028a578063234dfb17146102a757806344105398146102af578063579be718146102c957610121565b806307d2890e146101265780630d4d75101461014e5780630f5f6b4f146101cc57806314f8e6151461024a575b600080fd5b61014c6004803603602081101561013c57600080fd5b50356001600160a01b03166104ce565b005b61014c6004803603604081101561016457600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561018e57600080fd5b8201836020820111156101a057600080fd5b803590602001918460018302840111600160201b831117156101c157600080fd5b509092509050610735565b61014c600480360360408110156101e257600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561020c57600080fd5b82018360208201111561021e57600080fd5b803590602001918460018302840111600160201b8311171561023f57600080fd5b50909250905061076c565b610252610771565b604080516001600160a01b039092168252519081900360200190f35b610276610795565b604080519115158252519081900360200190f35b61014c600480360360208110156102a057600080fd5b503561079a565b61025261082c565b6102b7610850565b60408051918252519081900360200190f35b610276600480360360608110156102df57600080fd5b6001600160a01b038235169160ff60208201351691810190606081016040820135600160201b81111561031157600080fd5b82018360208201111561032357600080fd5b803590602001918460018302840111600160201b8311171561034457600080fd5b509092509050610874565b6102b7610a8b565b6102b76004803603604081101561036d57600080fd5b506001600160a01b0381358116916020013516610a91565b61038d610abc565b6040805160208082528351818301528351919283929083019185019080838360005b838110156103c75781810151838201526020016103af565b50505050905090810190601f1680156103f45780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102b7610adc565b6102766004803603604081101561042057600080fd5b506001600160a01b0381358116916020013516610b00565b610252610b37565b610252610bc3565b610450610be7565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561048c578181015183820152602001610474565b505050509050019250505060405180910390f35b61014c600480360360208110156104b657600080fd5b50356001600160a01b0316610c3e565b610252610c41565b6000336001600160a01b0316635a53e3486040518163ffffffff1660e01b815260040160206040518083038186803b15801561050957600080fd5b505afa15801561051d573d6000803e3d6000fd5b505050506040513d602081101561053357600080fd5b50516040805163c980918760e01b815290519192506001600160a01b0383169163c980918791600480820192602092909190829003018186803b15801561057957600080fd5b505afa15801561058d573d6000803e3d6000fd5b505050506040513d60208110156105a357600080fd5b50516001600160a01b031633146105eb5760405162461bcd60e51b8152600401808060200182810382526059815260200180610fe16059913960600191505060405180910390fd5b6105f3610771565b6001600160a01b0316634c67e10683600161060c61082c565b6040518463ffffffff1660e01b815260040180846001600160a01b03168152602001838152602001826001600160a01b031681526020019350505050602060405180830381600087803b15801561066257600080fd5b505af192505050801561068757506040513d602081101561068257600080fd5b505160015b6106f95761069d610696610850565b4290610c65565b6001600160a01b03808316600081815260016020908152604080832094881680845294909152808220949094559251919290917f76fadd0d061c0fa0e079ec4814cecf7f5f6f43e604f241551dd35b6c3c9a69809190a3610731565b5060405162461bcd60e51b815260040180806020018281038252602b815260200180610f43602b913960400191505060405180910390fd5b5050565b60405162461bcd60e51b8152600401808060200182810382526037815260200180610f0c6037913960400191505060405180910390fd5b505050565b7f000000000000000000000000000000000000000000000000000000000000000090565b600090565b6107a2610b37565b6001600160a01b0316336001600160a01b0316146107f15760405162461bcd60e51b8152600401808060200182810382526049815260200180610ec36049913960600191505060405180910390fd5b60008190556040805182815290517ff02a8605888227ce9f14ab97539fc9aed32996f83d13befc980676da2549969b9181900360200190a150565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b6000336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146108dd5760405162461bcd60e51b8152600401808060200182810382526029815260200180610f6e6029913960400191505060405180910390fd5b606061091e84848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610cc692505050565b9150506000866001600160a01b031663c98091876040518163ffffffff1660e01b815260040160206040518083038186803b15801561095c57600080fd5b505afa158015610970573d6000803e3d6000fd5b505050506040513d602081101561098657600080fd5b5051905060005b8251811015610a7b5760008382815181106109a457fe5b60200260200101516001600160a01b03166370a08231846040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156109f857600080fd5b505afa158015610a0c573d6000803e3d6000fd5b505050506040513d6020811015610a2257600080fd5b50518451909150600090610a54908b90879086908110610a3e57fe5b602002602001015184610a4f61082c565b610d79565b9050610a5f81610eaf565b610a7157600095505050505050610a83565b505060010161098d565b506001925050505b949350505050565b60005490565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b606060405180606001604052806025815260200161103a60259139905090565b7f000000000000000000000000000000000000000000000000000000000000000090565b600080610b0d8484610a91565b9050428111158015610a83575042610b2d610b26610adc565b8390610c65565b1015949350505050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b158015610b9257600080fd5b505afa158015610ba6573d6000803e3d6000fd5b505050506040513d6020811015610bbc57600080fd5b5051905090565b7f000000000000000000000000000000000000000000000000000000000000000090565b60408051600180825281830190925260609160208083019080368337019050509050600581600081518110610c1857fe5b60200260200101906009811115610c2b57fe5b90816009811115610c3857fe5b90525090565b50565b7f000000000000000000000000000000000000000000000000000000000000000090565b600082820183811015610cbf576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b60006060828060200190516040811015610cdf57600080fd5b815160208301805160405192949293830192919084600160201b821115610d0557600080fd5b908301906020820185811115610d1a57600080fd5b82518660208202830111600160201b82111715610d3657600080fd5b82525081516020918201928201910280838360005b83811015610d63578181015183820152602001610d4b565b5050505090500160405250505091509150915091565b6000610d83610771565b6001600160a01b0316634c67e1068585856040518463ffffffff1660e01b815260040180846001600160a01b03168152602001838152602001826001600160a01b031681526020019350505050602060405180830381600087803b158015610dea57600080fd5b505af1925050508015610e0f57506040513d6020811015610e0a57600080fd5b505160015b610e9d57610e1d8585610b00565b610e585760405162461bcd60e51b815260040180806020018281038252604a815260200180610f97604a913960600191505060405180910390fd5b836001600160a01b0316856001600160a01b03167fa2de3d3e85d58ec3c62bcbd0a67a60fac9f9002f6e70cfe768a49fa19d7dcf4660405160405180910390a3610ea4565b9050610a83565b506000949350505050565b6000610eb9610a8b565b9091111591905056fe6f6e6c7946756e644465706c6f7965724f776e65723a204f6e6c79207468652046756e644465706c6f796572206f776e65722063616e2063616c6c20746869732066756e6374696f6e75706461746546756e6453657474696e67733a2055706461746573206e6f7420616c6c6f77656420666f72207468697320706f6c6963797374617274417373657442797061737354696d656c6f636b3a2041737365742068617320612070726963654f6e6c792074686520506f6c6963794d616e616765722063616e206d616b6520746869732063616c6c5f5f63616c6356616c75654578636c7564696e6742797061737361626c6550726963656c65737341737365743a20496e76616c6964206173736574206e6f742062797061737361626c657374617274417373657442797061737354696d656c6f636b3a2053656e646572206973206e6f7420746865205661756c7450726f7879206f6620746865206173736f63696174656420436f6d7074726f6c6c657250726f78794f4e4c595f554e545241434b5f445553545f4f525f50524943454c4553535f415353455453a164736f6c634300060c000a", - "sourceMap": "786:2841:214:-:0;;;913:523;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;913:523:214;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;737:31:223;;;;;;;;864:29:358;;;;;;;;913:523:214;1530:43:224;;;1583:46;;;;1639:60;;;;;;;1709:46;;;;;;;-1:-1:-1;;;;;786:2841:214;;;;;;;;913:523;;;786:2841;;;;;;-1:-1:-1;786:2841:214;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106101215760003560e01c806358bfdfee116100ad578063893d20e811610071578063893d20e81461043857806397c0ac8714610440578063cbf54bb214610448578063ceb9a0ad146104a0578063d44ad6cb146104c657610121565b806358bfdfee1461034f5780635da4cdb2146103575780637998a1c4146103855780637fe292681461040257806385d63ec91461040a57610121565b80631ef92578116100f45780631ef925781461026e578063219ea7bf1461028a578063234dfb17146102a757806344105398146102af578063579be718146102c957610121565b806307d2890e146101265780630d4d75101461014e5780630f5f6b4f146101cc57806314f8e6151461024a575b600080fd5b61014c6004803603602081101561013c57600080fd5b50356001600160a01b03166104ce565b005b61014c6004803603604081101561016457600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561018e57600080fd5b8201836020820111156101a057600080fd5b803590602001918460018302840111600160201b831117156101c157600080fd5b509092509050610735565b61014c600480360360408110156101e257600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561020c57600080fd5b82018360208201111561021e57600080fd5b803590602001918460018302840111600160201b8311171561023f57600080fd5b50909250905061076c565b610252610771565b604080516001600160a01b039092168252519081900360200190f35b610276610795565b604080519115158252519081900360200190f35b61014c600480360360208110156102a057600080fd5b503561079a565b61025261082c565b6102b7610850565b60408051918252519081900360200190f35b610276600480360360608110156102df57600080fd5b6001600160a01b038235169160ff60208201351691810190606081016040820135600160201b81111561031157600080fd5b82018360208201111561032357600080fd5b803590602001918460018302840111600160201b8311171561034457600080fd5b509092509050610874565b6102b7610a8b565b6102b76004803603604081101561036d57600080fd5b506001600160a01b0381358116916020013516610a91565b61038d610abc565b6040805160208082528351818301528351919283929083019185019080838360005b838110156103c75781810151838201526020016103af565b50505050905090810190601f1680156103f45780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102b7610adc565b6102766004803603604081101561042057600080fd5b506001600160a01b0381358116916020013516610b00565b610252610b37565b610252610bc3565b610450610be7565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561048c578181015183820152602001610474565b505050509050019250505060405180910390f35b61014c600480360360208110156104b657600080fd5b50356001600160a01b0316610c3e565b610252610c41565b6000336001600160a01b0316635a53e3486040518163ffffffff1660e01b815260040160206040518083038186803b15801561050957600080fd5b505afa15801561051d573d6000803e3d6000fd5b505050506040513d602081101561053357600080fd5b50516040805163c980918760e01b815290519192506001600160a01b0383169163c980918791600480820192602092909190829003018186803b15801561057957600080fd5b505afa15801561058d573d6000803e3d6000fd5b505050506040513d60208110156105a357600080fd5b50516001600160a01b031633146105eb5760405162461bcd60e51b8152600401808060200182810382526059815260200180610fe16059913960600191505060405180910390fd5b6105f3610771565b6001600160a01b0316634c67e10683600161060c61082c565b6040518463ffffffff1660e01b815260040180846001600160a01b03168152602001838152602001826001600160a01b031681526020019350505050602060405180830381600087803b15801561066257600080fd5b505af192505050801561068757506040513d602081101561068257600080fd5b505160015b6106f95761069d610696610850565b4290610c65565b6001600160a01b03808316600081815260016020908152604080832094881680845294909152808220949094559251919290917f76fadd0d061c0fa0e079ec4814cecf7f5f6f43e604f241551dd35b6c3c9a69809190a3610731565b5060405162461bcd60e51b815260040180806020018281038252602b815260200180610f43602b913960400191505060405180910390fd5b5050565b60405162461bcd60e51b8152600401808060200182810382526037815260200180610f0c6037913960400191505060405180910390fd5b505050565b7f000000000000000000000000000000000000000000000000000000000000000090565b600090565b6107a2610b37565b6001600160a01b0316336001600160a01b0316146107f15760405162461bcd60e51b8152600401808060200182810382526049815260200180610ec36049913960600191505060405180910390fd5b60008190556040805182815290517ff02a8605888227ce9f14ab97539fc9aed32996f83d13befc980676da2549969b9181900360200190a150565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b6000336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146108dd5760405162461bcd60e51b8152600401808060200182810382526029815260200180610f6e6029913960400191505060405180910390fd5b606061091e84848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610cc692505050565b9150506000866001600160a01b031663c98091876040518163ffffffff1660e01b815260040160206040518083038186803b15801561095c57600080fd5b505afa158015610970573d6000803e3d6000fd5b505050506040513d602081101561098657600080fd5b5051905060005b8251811015610a7b5760008382815181106109a457fe5b60200260200101516001600160a01b03166370a08231846040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156109f857600080fd5b505afa158015610a0c573d6000803e3d6000fd5b505050506040513d6020811015610a2257600080fd5b50518451909150600090610a54908b90879086908110610a3e57fe5b602002602001015184610a4f61082c565b610d79565b9050610a5f81610eaf565b610a7157600095505050505050610a83565b505060010161098d565b506001925050505b949350505050565b60005490565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b606060405180606001604052806025815260200161103a60259139905090565b7f000000000000000000000000000000000000000000000000000000000000000090565b600080610b0d8484610a91565b9050428111158015610a83575042610b2d610b26610adc565b8390610c65565b1015949350505050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b158015610b9257600080fd5b505afa158015610ba6573d6000803e3d6000fd5b505050506040513d6020811015610bbc57600080fd5b5051905090565b7f000000000000000000000000000000000000000000000000000000000000000090565b60408051600180825281830190925260609160208083019080368337019050509050600581600081518110610c1857fe5b60200260200101906009811115610c2b57fe5b90816009811115610c3857fe5b90525090565b50565b7f000000000000000000000000000000000000000000000000000000000000000090565b600082820183811015610cbf576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b60006060828060200190516040811015610cdf57600080fd5b815160208301805160405192949293830192919084600160201b821115610d0557600080fd5b908301906020820185811115610d1a57600080fd5b82518660208202830111600160201b82111715610d3657600080fd5b82525081516020918201928201910280838360005b83811015610d63578181015183820152602001610d4b565b5050505090500160405250505091509150915091565b6000610d83610771565b6001600160a01b0316634c67e1068585856040518463ffffffff1660e01b815260040180846001600160a01b03168152602001838152602001826001600160a01b031681526020019350505050602060405180830381600087803b158015610dea57600080fd5b505af1925050508015610e0f57506040513d6020811015610e0a57600080fd5b505160015b610e9d57610e1d8585610b00565b610e585760405162461bcd60e51b815260040180806020018281038252604a815260200180610f97604a913960600191505060405180910390fd5b836001600160a01b0316856001600160a01b03167fa2de3d3e85d58ec3c62bcbd0a67a60fac9f9002f6e70cfe768a49fa19d7dcf4660405160405180910390a3610ea4565b9050610a83565b506000949350505050565b6000610eb9610a8b565b9091111591905056fe6f6e6c7946756e644465706c6f7965724f776e65723a204f6e6c79207468652046756e644465706c6f796572206f776e65722063616e2063616c6c20746869732066756e6374696f6e75706461746546756e6453657474696e67733a2055706461746573206e6f7420616c6c6f77656420666f72207468697320706f6c6963797374617274417373657442797061737354696d656c6f636b3a2041737365742068617320612070726963654f6e6c792074686520506f6c6963794d616e616765722063616e206d616b6520746869732063616c6c5f5f63616c6356616c75654578636c7564696e6742797061737361626c6550726963656c65737341737365743a20496e76616c6964206173736574206e6f742062797061737361626c657374617274417373657442797061737354696d656c6f636b3a2053656e646572206973206e6f7420746865205661756c7450726f7879206f6620746865206173736f63696174656420436f6d7074726f6c6c657250726f78794f4e4c595f554e545241434b5f445553545f4f525f50524943454c4553535f415353455453a164736f6c634300060c000a", - "sourceMap": "786:2841:214:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2146:1068:224;;;;;;;;;;;;;;;;-1:-1:-1;2146:1068:224;-1:-1:-1;;;;;2146:1068:224;;:::i;:::-;;1452:161:223;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1452:161:223;;;;;;;;;;;;;;;-1:-1:-1;;;1452:161:223;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1452:161:223;;;;;;;;;;-1:-1:-1;1452:161:223;;-1:-1:-1;1452:161:223;-1:-1:-1;1452:161:223;:::i;1528:102:214:-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1528:102:214;;;;;;;;;;;;;;;-1:-1:-1;;;1528:102:214;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1528:102:214;;;;;;;;;;-1:-1:-1;1528:102:214;;-1:-1:-1;1528:102:214;-1:-1:-1;1528:102:214;:::i;7057:191:224:-;;;:::i;:::-;;;;-1:-1:-1;;;;;7057:191:224;;;;;;;;;;;;;;1214:109:223;;;:::i;:::-;;;;;;;;;;;;;;;;;;956:244:222;;;;;;;;;;;;;;;;-1:-1:-1;956:244:222;;:::i;7406:142:224:-;;;:::i;6740:138::-;;;:::i;:::-;;;;;;;;;;;;;;;;2777:848:214;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2777:848:214;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2777:848:214;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2777:848:214;;;;;;;;;;-1:-1:-1;2777:848:214;;-1:-1:-1;2777:848:214;-1:-1:-1;2777:848:214;:::i;1624:128:222:-;;;:::i;6038:249:224:-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;6038:249:224;;;;;;;;;;:::i;1753:144:214:-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6445:142:224;;;:::i;3548:390::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;3548:390:224;;;;;;;;;;:::i;1064:120:358:-;;;:::i;1378:108::-;;;:::i;2027:334:214:-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;941:83:223;;;;;;;;;;;;;;;;-1:-1:-1;941:83:223;-1:-1:-1;;;;;941:83:223;;:::i;6755:113::-;;;:::i;2146:1068:224:-;2291:24;2327:10;-1:-1:-1;;;;;2318:32:224;;:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2318:34:224;2397:48;;;-1:-1:-1;;;2397:48:224;;;;2318:34;;-1:-1:-1;;;;;;2397:46:224;;;;;:48;;;;;2318:34;;2397:48;;;;;;;;:46;:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2397:48:224;-1:-1:-1;;;;;2383:62:224;:10;:62;2362:198;;;;-1:-1:-1;;;2362:198:224;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2604:41;:39;:41::i;:::-;-1:-1:-1;;;;;2587:83:224;;2688:6;2712:1;2779:34;:32;:34::i;:::-;2587:268;;;;;;;;;;;;;-1:-1:-1;;;;;2587:268:224;;;;;;;;;;;-1:-1:-1;;;;;2587:268:224;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2587:268:224;;;2571:637;;3034:88;3088:33;:31;:33::i;:::-;3034:32;;:53;:88::i;:::-;-1:-1:-1;;;;;2963:60:224;;;;;;;:42;:60;;;;;;;;:68;;;;;;;;;;;;;:159;;;;3142:55;;2963:68;;:60;;3142:55;;2963:60;3142:55;2571:637;;;;2878:53;;-1:-1:-1;;;2878:53:224;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2571:637;2146:1068;;:::o;1452:161:223:-;1541:65;;-1:-1:-1;;;1541:65:223;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1528:102:214;;;;:::o;7057:191:224:-;7201:40;7057:191;:::o;1214:109:223:-;1276:16;1214:109;:::o;956:244:222:-;679:10:358;:8;:10::i;:::-;-1:-1:-1;;;;;665:24:358;:10;-1:-1:-1;;;;;665:24:358;;644:144;;;;-1:-1:-1;;;644:144:358;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1083:19:222::1;:46:::0;;;1145:48:::1;::::0;;;;;;;::::1;::::0;;;;::::1;::::0;;::::1;956:244:::0;:::o;7406:142:224:-;7508:33;7406:142;:::o;6740:138::-;6840:31;6740:138;:::o;2777:848:214:-;2957:13;586:10:223;-1:-1:-1;;;;;600:14:223;586:28;;578:82;;;;-1:-1:-1;;;578:82:223;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2985:23:214::1;3012:55;3054:12;;3012:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;3012:41:214::1;::::0;-1:-1:-1;;;3012:55:214:i:1;:::-;2982:85;;;3078:18;3114:17;-1:-1:-1::0;;;;;3099:47:214::1;;:49;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;3099:49:214;;-1:-1:-1;3163:9:214::1;3158:439;3178:6;:13;3174:1;:17;3158:439;;;3212:14;3235:6;3242:1;3235:9;;;;;;;;;;;;;;-1:-1:-1::0;;;;;3229:26:214::1;;3256:10;3229:38;;;;;;;;;;;;;-1:-1:-1::0;;;;;3229:38:214::1;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;3229:38:214;3400:9;;3229:38;;-1:-1:-1;3281:19:214::1;::::0;3303:196:::1;::::0;3365:17;;3400:6;;3407:1;;3400:9;::::1;;;;;;;;;;;3427:6;3451:34;:32;:34::i;:::-;3303:44;:196::i;:::-;3281:218;;3519:21;3528:11;3519:8;:21::i;:::-;3514:73;;3567:5;3560:12;;;;;;;;;3514:73;-1:-1:-1::0;;3193:3:214::1;;3158:439;;;;3614:4;3607:11;;;;670:1:223;2777:848:214::0;;;;;;:::o;1624:128:222:-;1679:28;1726:19;1624:128;:::o;6038:249:224:-;-1:-1:-1;;;;;6211:61:224;;;6168:20;6211:61;;;:42;:61;;;;;;;;:69;;;;;;;;;;;;;6038:249::o;1753:144:214:-;1807:25;1844:46;;;;;;;;;;;;;;;;;;;1753:144;:::o;6445:142:224:-;6547:33;6445:142;:::o;3548:390::-;3670:18;3704:19;3726:59;3759:17;3778:6;3726:32;:59::i;:::-;3704:81;;3830:15;3815:11;:30;;:116;;;;;3916:15;3861:51;3877:34;:32;:34::i;:::-;3861:11;;:15;:51::i;:::-;:70;;3796:135;3548:390;-1:-1:-1;;;;3548:390:224:o;1064:120:358:-;1105:14;1152:13;-1:-1:-1;;;;;1138:37:358;;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1138:39:358;;-1:-1:-1;1064:120:358;:::o;1378:108::-;1466:13;1378:108;:::o;2027:334:214:-;2207:34;;;2239:1;2207:34;;;;;;;;;2119:52;;2207:34;;;;;;;;;;;-1:-1:-1;2207:34:214;2187:54;;2274:45;2251:17;2269:1;2251:20;;;;;;;;;;;;;:68;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2027:334:214;:::o;941:83:223:-;;:::o;6755:113::-;6847:14;6755:113;:::o;2690:175:442:-;2748:7;2779:5;;;2802:6;;;;2794:46;;;;;-1:-1:-1;;;2794:46:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;2857:1;2690:175;-1:-1:-1;;;2690:175:442:o;6304:248:223:-;6432:15;6449:24;6507:15;6496:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;6496:49:223;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;6496:49:223;;;;;;;;;;;;-1:-1:-1;6496:49:223;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6489:56;;;;6304:248;;;:::o;4879:824:224:-;5083:14;5142:41;:39;:41::i;:::-;-1:-1:-1;;;;;5125:83:224;;5226:10;5254:16;5288:11;5125:188;;;;;;;;;;;;;-1:-1:-1;;;;;5125:188:224;;;;;;;;;;;-1:-1:-1;;;;;5125:188:224;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5125:188:224;;;5109:569;;5431:55;5456:17;5475:10;5431:24;:55::i;:::-;5406:188;;;;-1:-1:-1;;;5406:188:224;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5656:10;-1:-1:-1;;;;;5614:53:224;5637:17;-1:-1:-1;;;;;5614:53:224;;;;;;;;;;;5109:569;;;5368:6;-1:-1:-1;5361:13:224;;5109:569;-1:-1:-1;5695:1:224;4879:824;;;;;;:::o;1272:139:222:-;1334:12;1380:24;:22;:24::i;:::-;1365:39;;;;;1272:139;-1:-1:-1;1272:139:222:o", - "linkReferences": {}, - "immutableReferences": { - "59893": [ - { - "start": 2177, - "length": 32 - }, - { - "start": 3139, - "length": 32 - } - ], - "60282": [ - { - "start": 2130, - "length": 32 - } - ], - "60284": [ - { - "start": 2782, - "length": 32 - } - ], - "60286": [ - { - "start": 1907, - "length": 32 - } - ], - "60288": [ - { - "start": 2094, - "length": 32 - } - ], - "78707": [ - { - "start": 2875, - "length": 32 - }, - { - "start": 3013, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "activateForFund(address)": "ceb9a0ad", - "addFundSettings(address,bytes)": "0f5f6b4f", - "assetIsBypassableForFund(address,address)": "85d63ec9", - "canDisable()": "1ef92578", - "getAssetBypassWindowStartForFund(address,address)": "5da4cdb2", - "getDustToleranceInWeth()": "58bfdfee", - "getFundDeployer()": "97c0ac87", - "getOwner()": "893d20e8", - "getPolicyManager()": "d44ad6cb", - "getPricelessAssetBypassTimeLimit()": "7fe29268", - "getPricelessAssetBypassTimelock()": "44105398", - "getPricelessAssetBypassValueInterpreter()": "14f8e615", - "getPricelessAssetBypassWethToken()": "234dfb17", - "identifier()": "7998a1c4", - "implementedHooks()": "cbf54bb2", - "setDustToleranceInWeth(uint256)": "219ea7bf", - "startAssetBypassTimelock(address)": "07d2890e", - "updateFundSettings(address,bytes)": "0d4d7510", - "validateRule(address,uint8,bytes)": "579be718" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_policyManager\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_fundDeployer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_valueInterpreter\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_wethToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_pricelessAssetBypassTimelock\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_pricelessAssetBypassTimeLimit\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"nextDustToleranceInWeth\",\"type\":\"uint256\"}],\"name\":\"DustToleranceInWethSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"asset\",\"type\":\"address\"}],\"name\":\"PricelessAssetBypassed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"asset\",\"type\":\"address\"}],\"name\":\"PricelessAssetTimelockStarted\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"activateForFund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"addFundSettings\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"}],\"name\":\"assetIsBypassableForFund\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isBypassable_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"canDisable\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"canDisable_\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"}],\"name\":\"getAssetBypassWindowStartForFund\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"windowStart_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDustToleranceInWeth\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"dustToleranceInWeth_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFundDeployer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"fundDeployer_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPolicyManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"policyManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPricelessAssetBypassTimeLimit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"timeLimit_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPricelessAssetBypassTimelock\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"timelock_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPricelessAssetBypassValueInterpreter\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"valueInterpreter_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPricelessAssetBypassWethToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"wethToken_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"identifier\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"identifier_\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"implementedHooks\",\"outputs\":[{\"internalType\":\"enum IPolicyManager.PolicyHook[]\",\"name\":\"implementedHooks_\",\"type\":\"uint8[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_nextDustToleranceInWeth\",\"type\":\"uint256\"}],\"name\":\"setDustToleranceInWeth\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"}],\"name\":\"startAssetBypassTimelock\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"updateFundSettings\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"enum IPolicyManager.PolicyHook\",\"name\":\"\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"_encodedArgs\",\"type\":\"bytes\"}],\"name\":\"validateRule\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isValid_\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"activateForFund(address)\":{\"details\":\"Unimplemented by default, can be overridden by the policy\"},\"assetIsBypassableForFund(address,address)\":{\"params\":{\"_asset\":\"The asset for which to check if it is bypassable\",\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\"},\"returns\":{\"isBypassable_\":\"True if the asset is bypassable\"}},\"canDisable()\":{\"details\":\"False by default, can be overridden by the policy\",\"returns\":{\"canDisable_\":\"True if the policy can be disabled\"}},\"getAssetBypassWindowStartForFund(address,address)\":{\"params\":{\"_asset\":\"The asset\",\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\"},\"returns\":{\"windowStart_\":\"The timestamp\"}},\"getDustToleranceInWeth()\":{\"returns\":{\"dustToleranceInWeth_\":\"The `dustToleranceInWeth` variable value\"}},\"getFundDeployer()\":{\"returns\":{\"fundDeployer_\":\"The `FUND_DEPLOYER` variable value\"}},\"getOwner()\":{\"details\":\"Ownership is deferred to the owner of the FundDeployer contract\",\"returns\":{\"owner_\":\"The owner\"}},\"getPolicyManager()\":{\"returns\":{\"policyManager_\":\"The `POLICY_MANAGER` variable value\"}},\"getPricelessAssetBypassTimeLimit()\":{\"returns\":{\"timeLimit_\":\"The `PRICELESS_ASSET_BYPASS_TIME_LIMIT` variable value\"}},\"getPricelessAssetBypassTimelock()\":{\"returns\":{\"timelock_\":\"The `PRICELESS_ASSET_BYPASS_TIMELOCK` variable value\"}},\"getPricelessAssetBypassValueInterpreter()\":{\"returns\":{\"valueInterpreter_\":\"The `PRICELESS_ASSET_BYPASS_VALUE_INTERPRETER` variable value\"}},\"getPricelessAssetBypassWethToken()\":{\"returns\":{\"wethToken_\":\"The `PRICELESS_ASSET_BYPASS_WETH_TOKEN` variable value\"}},\"identifier()\":{\"returns\":{\"identifier_\":\"The identifier string\"}},\"implementedHooks()\":{\"returns\":{\"implementedHooks_\":\"The implemented PolicyHooks\"}},\"setDustToleranceInWeth(uint256)\":{\"params\":{\"_nextDustToleranceInWeth\":\"The next dustToleranceInWeth value\"}},\"startAssetBypassTimelock(address)\":{\"details\":\"This function must be called via ComptrollerProxy.vaultCallOnContract(). This allows the function to be gas relay-able. It also means that the originator must be the owner.\",\"params\":{\"_asset\":\"The asset for which to start the timelock period\"}},\"updateFundSettings(address,bytes)\":{\"details\":\"Disallowed by default, can be overridden by the policy\"},\"validateRule(address,uint8,bytes)\":{\"details\":\"onlyPolicyManager validation not necessary as no state is updated, but is cheap and nice-to-have since an event is fired\",\"params\":{\"_comptrollerProxy\":\"The fund's ComptrollerProxy address\",\"_encodedArgs\":\"Encoded args with which to validate the rule\"},\"returns\":{\"isValid_\":\"True if the rule passes\"}}},\"title\":\"OnlyUntrackDustOrPricelessAssetsPolicy Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"activateForFund(address)\":{\"notice\":\"Validates and initializes a policy as necessary prior to fund activation\"},\"addFundSettings(address,bytes)\":{\"notice\":\"Add the initial policy settings for a fund\"},\"assetIsBypassableForFund(address,address)\":{\"notice\":\"Checks whether an asset is bypassable (if still without a valid price) for a given fund\"},\"canDisable()\":{\"notice\":\"Whether or not the policy can be disabled\"},\"getAssetBypassWindowStartForFund(address,address)\":{\"notice\":\"Gets the timestamp from which an asset without a valid price can be considered to be valued at `0`\"},\"getDustToleranceInWeth()\":{\"notice\":\"Gets the `dustToleranceInWeth` variable\"},\"getFundDeployer()\":{\"notice\":\"Gets the `FUND_DEPLOYER` variable\"},\"getOwner()\":{\"notice\":\"Gets the owner of this contract\"},\"getPolicyManager()\":{\"notice\":\"Gets the `POLICY_MANAGER` variable value\"},\"getPricelessAssetBypassTimeLimit()\":{\"notice\":\"Gets the `PRICELESS_ASSET_BYPASS_TIME_LIMIT` variable\"},\"getPricelessAssetBypassTimelock()\":{\"notice\":\"Gets the `PRICELESS_ASSET_BYPASS_TIMELOCK` variable\"},\"getPricelessAssetBypassValueInterpreter()\":{\"notice\":\"Gets the `PRICELESS_ASSET_BYPASS_VALUE_INTERPRETER` variable\"},\"getPricelessAssetBypassWethToken()\":{\"notice\":\"Gets the `PRICELESS_ASSET_BYPASS_WETH_TOKEN` variable\"},\"identifier()\":{\"notice\":\"Provides a constant string identifier for a policy\"},\"implementedHooks()\":{\"notice\":\"Gets the implemented PolicyHooks for a policy\"},\"setDustToleranceInWeth(uint256)\":{\"notice\":\"Sets the dustToleranceInWeth variable value\"},\"startAssetBypassTimelock(address)\":{\"notice\":\"Starts the timelock period for an asset without a valid price\"},\"updateFundSettings(address,bytes)\":{\"notice\":\"Updates the policy settings for a fund\"},\"validateRule(address,uint8,bytes)\":{\"notice\":\"Apply the rule with the specified parameters of a PolicyHook\"}},\"notice\":\"A policy that only allows untracking assets whose value can be considered negligible, or assets that do not have a valid price and for which the manager has signaled prior intent to remove\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/policy-manager/policies/asset-managers/OnlyUntrackDustOrPricelessAssetsPolicy.sol\":\"OnlyUntrackDustOrPricelessAssetsPolicy\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/persistent/protocol-fee-reserve/interfaces/IProtocolFeeReserve1.sol\":{\"keccak256\":\"0x2728878c423db523bc95189137e8c58d2d7db9f56bbd5c6b1f988c08b551fbab\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3b0df1d2eb74151265d03ab91a7c341f7beca475dd2f4d669052dbc4ee2c06ac\",\"dweb:/ipfs/QmVx1cgrxQNYfdK1Kn15pcgqf79Uw8bF3U6i7F2HG2rj6G\"]},\"contracts/persistent/vault/VaultLibBase1.sol\":{\"keccak256\":\"0xa4dac1e4cdb311a2ab187135355357d8790c505ef36dd912c057fe53743d30b5\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b66efe821016ab927c949263023260515e90f5d480dc8d94eefbfeec7bf7490b\",\"dweb:/ipfs/QmNY3xKnhL9EptAbxGvXHGAXfV9pj3dDPwsZnKrPs54ZHw\"]},\"contracts/persistent/vault/VaultLibBase2.sol\":{\"keccak256\":\"0xf7d31f2a9a47770ed3f444be2c4fe9262ddb55fef7f25e546b1f03c9afec4c09\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9353ddce7c9b8b3c13fed23fe8edec99ca610d791b0c5b204b3d01f1f08d07d2\",\"dweb:/ipfs/QmeVsEh3joCjv49BRXeHASevnZZ5xdZXpkctHT8BPf37N2\"]},\"contracts/persistent/vault/VaultLibBaseCore.sol\":{\"keccak256\":\"0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd\",\"dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz\"]},\"contracts/persistent/vault/interfaces/IExternalPositionVault.sol\":{\"keccak256\":\"0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d\",\"dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8\"]},\"contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol\":{\"keccak256\":\"0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb\",\"dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU\"]},\"contracts/persistent/vault/interfaces/IMigratableVault.sol\":{\"keccak256\":\"0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6\",\"dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs\"]},\"contracts/persistent/vault/interfaces/IVaultCore.sol\":{\"keccak256\":\"0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd\",\"dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr\"]},\"contracts/persistent/vault/utils/ProxiableVaultLib.sol\":{\"keccak256\":\"0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44\",\"dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4\"]},\"contracts/persistent/vault/utils/SharesTokenBase.sol\":{\"keccak256\":\"0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8\",\"dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4\"]},\"contracts/persistent/vault/utils/VaultLibSafeMath.sol\":{\"keccak256\":\"0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02\",\"dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG\"]},\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/core/fund/comptroller/ComptrollerLib.sol\":{\"keccak256\":\"0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579\",\"dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq\"]},\"contracts/release/core/fund/comptroller/IComptroller.sol\":{\"keccak256\":\"0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97\",\"dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L\"]},\"contracts/release/core/fund/vault/IVault.sol\":{\"keccak256\":\"0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599\",\"dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG\"]},\"contracts/release/core/fund/vault/VaultLib.sol\":{\"keccak256\":\"0x07e49445ab55c01e1b499a48baadc2a15d1eba621f1c6d3ccfdb84c87b976da8\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://56d882459248f73e137db2e097fc56b946147fb28ec21661b77431f88e856cb4\",\"dweb:/ipfs/QmRP6Ry7DCS5uoKxnnkTomHSzbaCze6cHqbR9aLdjoF6vK\"]},\"contracts/release/extensions/IExtension.sol\":{\"keccak256\":\"0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70\",\"dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t\"]},\"contracts/release/extensions/external-position-manager/IExternalPositionManager.sol\":{\"keccak256\":\"0x3af3f634e1f99fb97091b7825c0d2e2baaafc124d4e87d56cb0c17ff8554f6c6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://515470605afe5ef147f30fa75ce7818f0e00e3d321eb81a4d9bffcdefc294495\",\"dweb:/ipfs/QmPKsp99pfHoz9Tfo3ZxnkmqDqJtN9PxqacF2RmeVfxUJF\"]},\"contracts/release/extensions/fee-manager/IFeeManager.sol\":{\"keccak256\":\"0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22\",\"dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod\"]},\"contracts/release/extensions/policy-manager/IPolicy.sol\":{\"keccak256\":\"0xc12663ca72065b256c3b934ab738fde26c147c7b0399de43650df89dd52ee467\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://be8fecfcba0f3fda615f0a1bb3c766750c23761ef751d7c4472dfe540e460cd1\",\"dweb:/ipfs/QmaarPoRTsX6NiJ8V4u2f3Qh6d7tUs28bw9R14An3t5Bs1\"]},\"contracts/release/extensions/policy-manager/IPolicyManager.sol\":{\"keccak256\":\"0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa\",\"dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb\"]},\"contracts/release/extensions/policy-manager/policies/asset-managers/OnlyUntrackDustOrPricelessAssetsPolicy.sol\":{\"keccak256\":\"0xc2087c35db69736666cf614b3d5ca5661ae9f96c0af0eaec33933fef5ac866e9\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a8748642daefcb39342377f1a9c4c7c590cf9233546b4f3f0d669f1382f1e3a7\",\"dweb:/ipfs/QmawGhJYna4tQfnufbeWECymffNkCCXFjtjr1vSboRbft7\"]},\"contracts/release/extensions/policy-manager/policies/utils/DustEvaluatorMixin.sol\":{\"keccak256\":\"0xe3b05643184569abd6c1d6edcbaa983b54acfcdcf112306799896466786a6201\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://65e84bc47952fb5cd31a0617d7ec314e3a4c35f68582669bd2179514bc74b036\",\"dweb:/ipfs/QmUKqvbmeXvzvy3xZk3zhjNxm1kXSPKjBURm8Pd25Cmki4\"]},\"contracts/release/extensions/policy-manager/policies/utils/PolicyBase.sol\":{\"keccak256\":\"0x972311abb98f0da815b4aca83d5afdd219d3604ec19cf5e3773c0c305bd9b3f1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2452f3d1f3b1d8e8459a07489146a2d0d8a10463715937995cbe77ee5de8c069\",\"dweb:/ipfs/Qmf2hhd2DVbjpxmbNGAhRZNZkqpGZA2mX3eA1WNwtv6t5Y\"]},\"contracts/release/extensions/policy-manager/policies/utils/PricelessAssetBypassMixin.sol\":{\"keccak256\":\"0x5624f038f790b51ba9bd2207a6e80d188bc5d0b049807e0f06f123f6d00e3444\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://53782b55be373922df118f9970f897c1adfd4646dc4a95eec52e7c914944f68c\",\"dweb:/ipfs/QmTGPQRqzczosWALPZgAN6TKE4qdBuFwGBdCKy6GxtZBPe\"]},\"contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol\":{\"keccak256\":\"0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f\",\"dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol\":{\"keccak256\":\"0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0\",\"dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol\":{\"keccak256\":\"0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b\",\"dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3\"]},\"contracts/release/infrastructure/price-feeds/derivatives/AggregatedDerivativePriceFeedMixin.sol\":{\"keccak256\":\"0x85d2ac39834dae7feb04f0e37317a38b8abeb0f950692fbc9d29078c52cd8d52\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://7bf8f1ce064d85a2812a944fc93068955b233924097f7f45898be3db826579d5\",\"dweb:/ipfs/Qme7f6AhxLVn32prM8fHaCvxtVi86A9KqFMqPA1s88kVYR\"]},\"contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol\":{\"keccak256\":\"0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e\",\"dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK\"]},\"contracts/release/infrastructure/price-feeds/primitives/ChainlinkPriceFeedMixin.sol\":{\"keccak256\":\"0x7fb0078e7387f07ff09958fe4e4e7b317e72c23884f61e8c133776cad522f8bb\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://e973f29ed0c3bf03e20154ab4b0cfc68c3a4372a52ec746f9d9f86697b30e977\",\"dweb:/ipfs/QmfMb7H1zNnj2hzmUr6742HmCTiNVuQ2PFjeR8q2M4Liyu\"]},\"contracts/release/infrastructure/protocol-fees/IProtocolFeeTracker.sol\":{\"keccak256\":\"0x232b347f83457439064add7369bfe1930c7cb56f15930bb87d640e909c15e447\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://24f9af5eebdd373b1d7a598c096eb6def31b2640d54416d7d5a7226e1cef17e6\",\"dweb:/ipfs/QmStq9ByGuSYdKwTmZf52L1X6sZVJUfXTnoVbnjLLiUcHG\"]},\"contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol\":{\"keccak256\":\"0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965\",\"dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ\"]},\"contracts/release/infrastructure/value-interpreter/ValueInterpreter.sol\":{\"keccak256\":\"0x64565011785d0d29a75021cda34687cfbc0641094d6f2faf4d9c78c8cd9f0d1d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://03ea9b29a332436d18ca1a4df7e5cdf231d5142dfb916a39cb3a721342d54e0e\",\"dweb:/ipfs/QmcB8Z7A7QELAxg2FfJpD26k2bUhMNUT4wACMVKxuge3QS\"]},\"contracts/release/interfaces/IChainlinkAggregator.sol\":{\"keccak256\":\"0x8104db68d4edc00c86b29b366f4397cdbe7bd95bb9dc90f54140af4bae963788\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://4664240be22fe76bd4e84d1cbaace3998dbc96759a14345819a889f0c288d22e\",\"dweb:/ipfs/QmQ8fbA4tvXeCeaAFeS2JrLEQUPFeYrePAKoUywRtcicgA\"]},\"contracts/release/interfaces/IGsnForwarder.sol\":{\"keccak256\":\"0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29\",\"dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G\"]},\"contracts/release/interfaces/IGsnPaymaster.sol\":{\"keccak256\":\"0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4\",\"dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF\"]},\"contracts/release/interfaces/IGsnTypes.sol\":{\"keccak256\":\"0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7\",\"dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C\"]},\"contracts/release/interfaces/IWETH.sol\":{\"keccak256\":\"0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2\",\"dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/FundDeployerOwnerMixin.sol\":{\"keccak256\":\"0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927\",\"dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM\"]},\"contracts/release/utils/MathHelpers.sol\":{\"keccak256\":\"0x8aef498ae98bfb40cd1df8c9ed652b4c092fbbe62d5a1fad522c53654523248e\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ed62789f6a8d5ca30a40c591f244b915e4711493a9e4b1b4d40ea2bc97b02a95\",\"dweb:/ipfs/QmWyXJ55arURtx9VMkUQokdsjk8tbgM2cC8rENFUMyz5D3\"]},\"contracts/release/utils/beacon-proxy/IBeacon.sol\":{\"keccak256\":\"0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39\",\"dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V\"]},\"contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol\":{\"keccak256\":\"0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be\",\"dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20Burnable.sol\":{\"keccak256\":\"0x9c0eb3b0e11d2480d49991dc384f1e5f9c9b9967cc81944d50916a9b9c6c4984\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99e4033d778624992e86f0b6d801a4f6d7b5c0cd5c79c1296be90a051ad5f5af\",\"dweb:/ipfs/QmShYmkUqh6pDEeoWadZ24icmCr4C2Xys1uE5boivPmbwf\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_policyManager", - "type": "address" - }, - { - "internalType": "address", - "name": "_fundDeployer", - "type": "address" - }, - { - "internalType": "address", - "name": "_valueInterpreter", - "type": "address" - }, - { - "internalType": "address", - "name": "_wethToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_pricelessAssetBypassTimelock", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_pricelessAssetBypassTimeLimit", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "nextDustToleranceInWeth", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "DustToleranceInWethSet", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "comptrollerProxy", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "asset", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "PricelessAssetBypassed", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "comptrollerProxy", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "asset", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "PricelessAssetTimelockStarted", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "activateForFund" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "addFundSettings" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_asset", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "assetIsBypassableForFund", - "outputs": [ - { - "internalType": "bool", - "name": "isBypassable_", - "type": "bool" - } - ] - }, - { - "inputs": [], - "stateMutability": "pure", - "type": "function", - "name": "canDisable", - "outputs": [ - { - "internalType": "bool", - "name": "canDisable_", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_asset", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getAssetBypassWindowStartForFund", - "outputs": [ - { - "internalType": "uint256", - "name": "windowStart_", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getDustToleranceInWeth", - "outputs": [ - { - "internalType": "uint256", - "name": "dustToleranceInWeth_", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getFundDeployer", - "outputs": [ - { - "internalType": "address", - "name": "fundDeployer_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "owner_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getPolicyManager", - "outputs": [ - { - "internalType": "address", - "name": "policyManager_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getPricelessAssetBypassTimeLimit", - "outputs": [ - { - "internalType": "uint256", - "name": "timeLimit_", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getPricelessAssetBypassTimelock", - "outputs": [ - { - "internalType": "uint256", - "name": "timelock_", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getPricelessAssetBypassValueInterpreter", - "outputs": [ - { - "internalType": "address", - "name": "valueInterpreter_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getPricelessAssetBypassWethToken", - "outputs": [ - { - "internalType": "address", - "name": "wethToken_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "pure", - "type": "function", - "name": "identifier", - "outputs": [ - { - "internalType": "string", - "name": "identifier_", - "type": "string" - } - ] - }, - { - "inputs": [], - "stateMutability": "pure", - "type": "function", - "name": "implementedHooks", - "outputs": [ - { - "internalType": "enum IPolicyManager.PolicyHook[]", - "name": "implementedHooks_", - "type": "uint8[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_nextDustToleranceInWeth", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setDustToleranceInWeth" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_asset", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "startAssetBypassTimelock" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "updateFundSettings" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "enum IPolicyManager.PolicyHook", - "name": "", - "type": "uint8" - }, - { - "internalType": "bytes", - "name": "_encodedArgs", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "validateRule", - "outputs": [ - { - "internalType": "bool", - "name": "isValid_", - "type": "bool" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "activateForFund(address)": { - "details": "Unimplemented by default, can be overridden by the policy" - }, - "assetIsBypassableForFund(address,address)": { - "params": { - "_asset": "The asset for which to check if it is bypassable", - "_comptrollerProxy": "The ComptrollerProxy of the fund" - }, - "returns": { - "isBypassable_": "True if the asset is bypassable" - } - }, - "canDisable()": { - "details": "False by default, can be overridden by the policy", - "returns": { - "canDisable_": "True if the policy can be disabled" - } - }, - "getAssetBypassWindowStartForFund(address,address)": { - "params": { - "_asset": "The asset", - "_comptrollerProxy": "The ComptrollerProxy of the fund" - }, - "returns": { - "windowStart_": "The timestamp" - } - }, - "getDustToleranceInWeth()": { - "returns": { - "dustToleranceInWeth_": "The `dustToleranceInWeth` variable value" - } - }, - "getFundDeployer()": { - "returns": { - "fundDeployer_": "The `FUND_DEPLOYER` variable value" - } - }, - "getOwner()": { - "details": "Ownership is deferred to the owner of the FundDeployer contract", - "returns": { - "owner_": "The owner" - } - }, - "getPolicyManager()": { - "returns": { - "policyManager_": "The `POLICY_MANAGER` variable value" - } - }, - "getPricelessAssetBypassTimeLimit()": { - "returns": { - "timeLimit_": "The `PRICELESS_ASSET_BYPASS_TIME_LIMIT` variable value" - } - }, - "getPricelessAssetBypassTimelock()": { - "returns": { - "timelock_": "The `PRICELESS_ASSET_BYPASS_TIMELOCK` variable value" - } - }, - "getPricelessAssetBypassValueInterpreter()": { - "returns": { - "valueInterpreter_": "The `PRICELESS_ASSET_BYPASS_VALUE_INTERPRETER` variable value" - } - }, - "getPricelessAssetBypassWethToken()": { - "returns": { - "wethToken_": "The `PRICELESS_ASSET_BYPASS_WETH_TOKEN` variable value" - } - }, - "identifier()": { - "returns": { - "identifier_": "The identifier string" - } - }, - "implementedHooks()": { - "returns": { - "implementedHooks_": "The implemented PolicyHooks" - } - }, - "setDustToleranceInWeth(uint256)": { - "params": { - "_nextDustToleranceInWeth": "The next dustToleranceInWeth value" - } - }, - "startAssetBypassTimelock(address)": { - "details": "This function must be called via ComptrollerProxy.vaultCallOnContract(). This allows the function to be gas relay-able. It also means that the originator must be the owner.", - "params": { - "_asset": "The asset for which to start the timelock period" - } - }, - "updateFundSettings(address,bytes)": { - "details": "Disallowed by default, can be overridden by the policy" - }, - "validateRule(address,uint8,bytes)": { - "details": "onlyPolicyManager validation not necessary as no state is updated, but is cheap and nice-to-have since an event is fired", - "params": { - "_comptrollerProxy": "The fund's ComptrollerProxy address", - "_encodedArgs": "Encoded args with which to validate the rule" - }, - "returns": { - "isValid_": "True if the rule passes" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "activateForFund(address)": { - "notice": "Validates and initializes a policy as necessary prior to fund activation" - }, - "addFundSettings(address,bytes)": { - "notice": "Add the initial policy settings for a fund" - }, - "assetIsBypassableForFund(address,address)": { - "notice": "Checks whether an asset is bypassable (if still without a valid price) for a given fund" - }, - "canDisable()": { - "notice": "Whether or not the policy can be disabled" - }, - "getAssetBypassWindowStartForFund(address,address)": { - "notice": "Gets the timestamp from which an asset without a valid price can be considered to be valued at `0`" - }, - "getDustToleranceInWeth()": { - "notice": "Gets the `dustToleranceInWeth` variable" - }, - "getFundDeployer()": { - "notice": "Gets the `FUND_DEPLOYER` variable" - }, - "getOwner()": { - "notice": "Gets the owner of this contract" - }, - "getPolicyManager()": { - "notice": "Gets the `POLICY_MANAGER` variable value" - }, - "getPricelessAssetBypassTimeLimit()": { - "notice": "Gets the `PRICELESS_ASSET_BYPASS_TIME_LIMIT` variable" - }, - "getPricelessAssetBypassTimelock()": { - "notice": "Gets the `PRICELESS_ASSET_BYPASS_TIMELOCK` variable" - }, - "getPricelessAssetBypassValueInterpreter()": { - "notice": "Gets the `PRICELESS_ASSET_BYPASS_VALUE_INTERPRETER` variable" - }, - "getPricelessAssetBypassWethToken()": { - "notice": "Gets the `PRICELESS_ASSET_BYPASS_WETH_TOKEN` variable" - }, - "identifier()": { - "notice": "Provides a constant string identifier for a policy" - }, - "implementedHooks()": { - "notice": "Gets the implemented PolicyHooks for a policy" - }, - "setDustToleranceInWeth(uint256)": { - "notice": "Sets the dustToleranceInWeth variable value" - }, - "startAssetBypassTimelock(address)": { - "notice": "Starts the timelock period for an asset without a valid price" - }, - "updateFundSettings(address,bytes)": { - "notice": "Updates the policy settings for a fund" - }, - "validateRule(address,uint8,bytes)": { - "notice": "Apply the rule with the specified parameters of a PolicyHook" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/policy-manager/policies/asset-managers/OnlyUntrackDustOrPricelessAssetsPolicy.sol": "OnlyUntrackDustOrPricelessAssetsPolicy" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/dispatcher/IDispatcher.sol": { - "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", - "urls": [ - "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", - "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/external-positions/IExternalPosition.sol": { - "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", - "urls": [ - "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", - "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/protocol-fee-reserve/interfaces/IProtocolFeeReserve1.sol": { - "keccak256": "0x2728878c423db523bc95189137e8c58d2d7db9f56bbd5c6b1f988c08b551fbab", - "urls": [ - "bzz-raw://3b0df1d2eb74151265d03ab91a7c341f7beca475dd2f4d669052dbc4ee2c06ac", - "dweb:/ipfs/QmVx1cgrxQNYfdK1Kn15pcgqf79Uw8bF3U6i7F2HG2rj6G" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/VaultLibBase1.sol": { - "keccak256": "0xa4dac1e4cdb311a2ab187135355357d8790c505ef36dd912c057fe53743d30b5", - "urls": [ - "bzz-raw://b66efe821016ab927c949263023260515e90f5d480dc8d94eefbfeec7bf7490b", - "dweb:/ipfs/QmNY3xKnhL9EptAbxGvXHGAXfV9pj3dDPwsZnKrPs54ZHw" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/VaultLibBase2.sol": { - "keccak256": "0xf7d31f2a9a47770ed3f444be2c4fe9262ddb55fef7f25e546b1f03c9afec4c09", - "urls": [ - "bzz-raw://9353ddce7c9b8b3c13fed23fe8edec99ca610d791b0c5b204b3d01f1f08d07d2", - "dweb:/ipfs/QmeVsEh3joCjv49BRXeHASevnZZ5xdZXpkctHT8BPf37N2" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/VaultLibBaseCore.sol": { - "keccak256": "0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074", - "urls": [ - "bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd", - "dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IExternalPositionVault.sol": { - "keccak256": "0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6", - "urls": [ - "bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d", - "dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol": { - "keccak256": "0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0", - "urls": [ - "bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb", - "dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IMigratableVault.sol": { - "keccak256": "0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238", - "urls": [ - "bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6", - "dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IVaultCore.sol": { - "keccak256": "0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80", - "urls": [ - "bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd", - "dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/utils/ProxiableVaultLib.sol": { - "keccak256": "0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76", - "urls": [ - "bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44", - "dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/utils/SharesTokenBase.sol": { - "keccak256": "0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113", - "urls": [ - "bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8", - "dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/utils/VaultLibSafeMath.sol": { - "keccak256": "0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d", - "urls": [ - "bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02", - "dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund-deployer/IFundDeployer.sol": { - "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", - "urls": [ - "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", - "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/comptroller/ComptrollerLib.sol": { - "keccak256": "0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64", - "urls": [ - "bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579", - "dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/comptroller/IComptroller.sol": { - "keccak256": "0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f", - "urls": [ - "bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97", - "dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/vault/IVault.sol": { - "keccak256": "0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd", - "urls": [ - "bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599", - "dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/vault/VaultLib.sol": { - "keccak256": "0x07e49445ab55c01e1b499a48baadc2a15d1eba621f1c6d3ccfdb84c87b976da8", - "urls": [ - "bzz-raw://56d882459248f73e137db2e097fc56b946147fb28ec21661b77431f88e856cb4", - "dweb:/ipfs/QmRP6Ry7DCS5uoKxnnkTomHSzbaCze6cHqbR9aLdjoF6vK" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/IExtension.sol": { - "keccak256": "0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b", - "urls": [ - "bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70", - "dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/IExternalPositionManager.sol": { - "keccak256": "0x3af3f634e1f99fb97091b7825c0d2e2baaafc124d4e87d56cb0c17ff8554f6c6", - "urls": [ - "bzz-raw://515470605afe5ef147f30fa75ce7818f0e00e3d321eb81a4d9bffcdefc294495", - "dweb:/ipfs/QmPKsp99pfHoz9Tfo3ZxnkmqDqJtN9PxqacF2RmeVfxUJF" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/fee-manager/IFeeManager.sol": { - "keccak256": "0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51", - "urls": [ - "bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22", - "dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/policy-manager/IPolicy.sol": { - "keccak256": "0xc12663ca72065b256c3b934ab738fde26c147c7b0399de43650df89dd52ee467", - "urls": [ - "bzz-raw://be8fecfcba0f3fda615f0a1bb3c766750c23761ef751d7c4472dfe540e460cd1", - "dweb:/ipfs/QmaarPoRTsX6NiJ8V4u2f3Qh6d7tUs28bw9R14An3t5Bs1" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/policy-manager/IPolicyManager.sol": { - "keccak256": "0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32", - "urls": [ - "bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa", - "dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/policy-manager/policies/asset-managers/OnlyUntrackDustOrPricelessAssetsPolicy.sol": { - "keccak256": "0xc2087c35db69736666cf614b3d5ca5661ae9f96c0af0eaec33933fef5ac866e9", - "urls": [ - "bzz-raw://a8748642daefcb39342377f1a9c4c7c590cf9233546b4f3f0d669f1382f1e3a7", - "dweb:/ipfs/QmawGhJYna4tQfnufbeWECymffNkCCXFjtjr1vSboRbft7" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/policy-manager/policies/utils/DustEvaluatorMixin.sol": { - "keccak256": "0xe3b05643184569abd6c1d6edcbaa983b54acfcdcf112306799896466786a6201", - "urls": [ - "bzz-raw://65e84bc47952fb5cd31a0617d7ec314e3a4c35f68582669bd2179514bc74b036", - "dweb:/ipfs/QmUKqvbmeXvzvy3xZk3zhjNxm1kXSPKjBURm8Pd25Cmki4" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/policy-manager/policies/utils/PolicyBase.sol": { - "keccak256": "0x972311abb98f0da815b4aca83d5afdd219d3604ec19cf5e3773c0c305bd9b3f1", - "urls": [ - "bzz-raw://2452f3d1f3b1d8e8459a07489146a2d0d8a10463715937995cbe77ee5de8c069", - "dweb:/ipfs/Qmf2hhd2DVbjpxmbNGAhRZNZkqpGZA2mX3eA1WNwtv6t5Y" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/policy-manager/policies/utils/PricelessAssetBypassMixin.sol": { - "keccak256": "0x5624f038f790b51ba9bd2207a6e80d188bc5d0b049807e0f06f123f6d00e3444", - "urls": [ - "bzz-raw://53782b55be373922df118f9970f897c1adfd4646dc4a95eec52e7c914944f68c", - "dweb:/ipfs/QmTGPQRqzczosWALPZgAN6TKE4qdBuFwGBdCKy6GxtZBPe" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol": { - "keccak256": "0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609", - "urls": [ - "bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f", - "dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol": { - "keccak256": "0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01", - "urls": [ - "bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0", - "dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol": { - "keccak256": "0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196", - "urls": [ - "bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b", - "dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/price-feeds/derivatives/AggregatedDerivativePriceFeedMixin.sol": { - "keccak256": "0x85d2ac39834dae7feb04f0e37317a38b8abeb0f950692fbc9d29078c52cd8d52", - "urls": [ - "bzz-raw://7bf8f1ce064d85a2812a944fc93068955b233924097f7f45898be3db826579d5", - "dweb:/ipfs/Qme7f6AhxLVn32prM8fHaCvxtVi86A9KqFMqPA1s88kVYR" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol": { - "keccak256": "0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332", - "urls": [ - "bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e", - "dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/price-feeds/primitives/ChainlinkPriceFeedMixin.sol": { - "keccak256": "0x7fb0078e7387f07ff09958fe4e4e7b317e72c23884f61e8c133776cad522f8bb", - "urls": [ - "bzz-raw://e973f29ed0c3bf03e20154ab4b0cfc68c3a4372a52ec746f9d9f86697b30e977", - "dweb:/ipfs/QmfMb7H1zNnj2hzmUr6742HmCTiNVuQ2PFjeR8q2M4Liyu" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/protocol-fees/IProtocolFeeTracker.sol": { - "keccak256": "0x232b347f83457439064add7369bfe1930c7cb56f15930bb87d640e909c15e447", - "urls": [ - "bzz-raw://24f9af5eebdd373b1d7a598c096eb6def31b2640d54416d7d5a7226e1cef17e6", - "dweb:/ipfs/QmStq9ByGuSYdKwTmZf52L1X6sZVJUfXTnoVbnjLLiUcHG" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol": { - "keccak256": "0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794", - "urls": [ - "bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965", - "dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/value-interpreter/ValueInterpreter.sol": { - "keccak256": "0x64565011785d0d29a75021cda34687cfbc0641094d6f2faf4d9c78c8cd9f0d1d", - "urls": [ - "bzz-raw://03ea9b29a332436d18ca1a4df7e5cdf231d5142dfb916a39cb3a721342d54e0e", - "dweb:/ipfs/QmcB8Z7A7QELAxg2FfJpD26k2bUhMNUT4wACMVKxuge3QS" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IChainlinkAggregator.sol": { - "keccak256": "0x8104db68d4edc00c86b29b366f4397cdbe7bd95bb9dc90f54140af4bae963788", - "urls": [ - "bzz-raw://4664240be22fe76bd4e84d1cbaace3998dbc96759a14345819a889f0c288d22e", - "dweb:/ipfs/QmQ8fbA4tvXeCeaAFeS2JrLEQUPFeYrePAKoUywRtcicgA" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IGsnForwarder.sol": { - "keccak256": "0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030", - "urls": [ - "bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29", - "dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IGsnPaymaster.sol": { - "keccak256": "0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c", - "urls": [ - "bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4", - "dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IGsnTypes.sol": { - "keccak256": "0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714", - "urls": [ - "bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7", - "dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IWETH.sol": { - "keccak256": "0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2", - "urls": [ - "bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2", - "dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AddressArrayLib.sol": { - "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", - "urls": [ - "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", - "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/FundDeployerOwnerMixin.sol": { - "keccak256": "0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934", - "urls": [ - "bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927", - "dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/MathHelpers.sol": { - "keccak256": "0x8aef498ae98bfb40cd1df8c9ed652b4c092fbbe62d5a1fad522c53654523248e", - "urls": [ - "bzz-raw://ed62789f6a8d5ca30a40c591f244b915e4711493a9e4b1b4d40ea2bc97b02a95", - "dweb:/ipfs/QmWyXJ55arURtx9VMkUQokdsjk8tbgM2cC8rENFUMyz5D3" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/beacon-proxy/IBeacon.sol": { - "keccak256": "0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2", - "urls": [ - "bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39", - "dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol": { - "keccak256": "0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc", - "urls": [ - "bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be", - "dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20Burnable.sol": { - "keccak256": "0x9c0eb3b0e11d2480d49991dc384f1e5f9c9b9967cc81944d50916a9b9c6c4984", - "urls": [ - "bzz-raw://99e4033d778624992e86f0b6d801a4f6d7b5c0cd5c79c1296be90a051ad5f5af", - "dweb:/ipfs/QmShYmkUqh6pDEeoWadZ24icmCr4C2Xys1uE5boivPmbwf" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { - "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", - "urls": [ - "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", - "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Address.sol": { - "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", - "urls": [ - "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", - "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 214 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_policyManager", "type": "address", "internalType": "address" }, { "name": "_fundDeployer", "type": "address", "internalType": "address" }, { "name": "_valueInterpreter", "type": "address", "internalType": "address" }, { "name": "_wethToken", "type": "address", "internalType": "address" }, { "name": "_pricelessAssetBypassTimelock", "type": "uint256", "internalType": "uint256" }, { "name": "_pricelessAssetBypassTimeLimit", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "activateForFund", "inputs": [ { "name": "", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "addFundSettings", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "assetIsBypassableForFund", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" }, { "name": "_asset", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "isBypassable_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "canDisable", "inputs": [], "outputs": [ { "name": "canDisable_", "type": "bool", "internalType": "bool" } ], "stateMutability": "pure" }, { "type": "function", "name": "getAssetBypassWindowStartForFund", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" }, { "name": "_asset", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "windowStart_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "getDustToleranceInWeth", "inputs": [], "outputs": [ { "name": "dustToleranceInWeth_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "getFundDeployer", "inputs": [], "outputs": [ { "name": "fundDeployer_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getOwner", "inputs": [], "outputs": [ { "name": "owner_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getPolicyManager", "inputs": [], "outputs": [ { "name": "policyManager_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getPricelessAssetBypassTimeLimit", "inputs": [], "outputs": [ { "name": "timeLimit_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "getPricelessAssetBypassTimelock", "inputs": [], "outputs": [ { "name": "timelock_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "getPricelessAssetBypassValueInterpreter", "inputs": [], "outputs": [ { "name": "valueInterpreter_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getPricelessAssetBypassWethToken", "inputs": [], "outputs": [ { "name": "wethToken_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "identifier", "inputs": [], "outputs": [ { "name": "identifier_", "type": "string", "internalType": "string" } ], "stateMutability": "pure" }, { "type": "function", "name": "implementedHooks", "inputs": [], "outputs": [ { "name": "implementedHooks_", "type": "uint8[]", "internalType": "enum IPolicyManager.PolicyHook[]" } ], "stateMutability": "pure" }, { "type": "function", "name": "setDustToleranceInWeth", "inputs": [ { "name": "_nextDustToleranceInWeth", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "startAssetBypassTimelock", "inputs": [ { "name": "_asset", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "updateFundSettings", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "validateRule", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" }, { "name": "", "type": "uint8", "internalType": "enum IPolicyManager.PolicyHook" }, { "name": "_encodedArgs", "type": "bytes", "internalType": "bytes" } ], "outputs": [ { "name": "isValid_", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "event", "name": "DustToleranceInWethSet", "inputs": [ { "name": "nextDustToleranceInWeth", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "PricelessAssetBypassed", "inputs": [ { "name": "comptrollerProxy", "type": "address", "indexed": true, "internalType": "address" }, { "name": "asset", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "PricelessAssetTimelockStarted", "inputs": [ { "name": "comptrollerProxy", "type": "address", "indexed": true, "internalType": "address" }, { "name": "asset", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false } ], "bytecode": { "object": "0x61014060405234801561001157600080fd5b50604051611149380380611149833981810160405260c081101561003457600080fd5b5080516020820151604083015160608085015160808087015160a0978801516001600160601b031988861b811690935286851b831690985260c081905260e088905284841b8216610100529282901b16610120526001600160a01b0394851695938516949193928216911661106b6100de6000398061082e525080610773525080610ade525080610852525080610b3b5280610bc55250806108815280610c43525061106b6000f3fe608060405234801561001057600080fd5b50600436106101215760003560e01c806358bfdfee116100ad578063893d20e811610071578063893d20e81461043857806397c0ac8714610440578063cbf54bb214610448578063ceb9a0ad146104a0578063d44ad6cb146104c657610121565b806358bfdfee1461034f5780635da4cdb2146103575780637998a1c4146103855780637fe292681461040257806385d63ec91461040a57610121565b80631ef92578116100f45780631ef925781461026e578063219ea7bf1461028a578063234dfb17146102a757806344105398146102af578063579be718146102c957610121565b806307d2890e146101265780630d4d75101461014e5780630f5f6b4f146101cc57806314f8e6151461024a575b600080fd5b61014c6004803603602081101561013c57600080fd5b50356001600160a01b03166104ce565b005b61014c6004803603604081101561016457600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561018e57600080fd5b8201836020820111156101a057600080fd5b803590602001918460018302840111600160201b831117156101c157600080fd5b509092509050610735565b61014c600480360360408110156101e257600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561020c57600080fd5b82018360208201111561021e57600080fd5b803590602001918460018302840111600160201b8311171561023f57600080fd5b50909250905061076c565b610252610771565b604080516001600160a01b039092168252519081900360200190f35b610276610795565b604080519115158252519081900360200190f35b61014c600480360360208110156102a057600080fd5b503561079a565b61025261082c565b6102b7610850565b60408051918252519081900360200190f35b610276600480360360608110156102df57600080fd5b6001600160a01b038235169160ff60208201351691810190606081016040820135600160201b81111561031157600080fd5b82018360208201111561032357600080fd5b803590602001918460018302840111600160201b8311171561034457600080fd5b509092509050610874565b6102b7610a8b565b6102b76004803603604081101561036d57600080fd5b506001600160a01b0381358116916020013516610a91565b61038d610abc565b6040805160208082528351818301528351919283929083019185019080838360005b838110156103c75781810151838201526020016103af565b50505050905090810190601f1680156103f45780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102b7610adc565b6102766004803603604081101561042057600080fd5b506001600160a01b0381358116916020013516610b00565b610252610b37565b610252610bc3565b610450610be7565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561048c578181015183820152602001610474565b505050509050019250505060405180910390f35b61014c600480360360208110156104b657600080fd5b50356001600160a01b0316610c3e565b610252610c41565b6000336001600160a01b0316635a53e3486040518163ffffffff1660e01b815260040160206040518083038186803b15801561050957600080fd5b505afa15801561051d573d6000803e3d6000fd5b505050506040513d602081101561053357600080fd5b50516040805163c980918760e01b815290519192506001600160a01b0383169163c980918791600480820192602092909190829003018186803b15801561057957600080fd5b505afa15801561058d573d6000803e3d6000fd5b505050506040513d60208110156105a357600080fd5b50516001600160a01b031633146105eb5760405162461bcd60e51b8152600401808060200182810382526059815260200180610fe16059913960600191505060405180910390fd5b6105f3610771565b6001600160a01b0316634c67e10683600161060c61082c565b6040518463ffffffff1660e01b815260040180846001600160a01b03168152602001838152602001826001600160a01b031681526020019350505050602060405180830381600087803b15801561066257600080fd5b505af192505050801561068757506040513d602081101561068257600080fd5b505160015b6106f95761069d610696610850565b4290610c65565b6001600160a01b03808316600081815260016020908152604080832094881680845294909152808220949094559251919290917f76fadd0d061c0fa0e079ec4814cecf7f5f6f43e604f241551dd35b6c3c9a69809190a3610731565b5060405162461bcd60e51b815260040180806020018281038252602b815260200180610f43602b913960400191505060405180910390fd5b5050565b60405162461bcd60e51b8152600401808060200182810382526037815260200180610f0c6037913960400191505060405180910390fd5b505050565b7f000000000000000000000000000000000000000000000000000000000000000090565b600090565b6107a2610b37565b6001600160a01b0316336001600160a01b0316146107f15760405162461bcd60e51b8152600401808060200182810382526049815260200180610ec36049913960600191505060405180910390fd5b60008190556040805182815290517ff02a8605888227ce9f14ab97539fc9aed32996f83d13befc980676da2549969b9181900360200190a150565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b6000336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146108dd5760405162461bcd60e51b8152600401808060200182810382526029815260200180610f6e6029913960400191505060405180910390fd5b606061091e84848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610cc692505050565b9150506000866001600160a01b031663c98091876040518163ffffffff1660e01b815260040160206040518083038186803b15801561095c57600080fd5b505afa158015610970573d6000803e3d6000fd5b505050506040513d602081101561098657600080fd5b5051905060005b8251811015610a7b5760008382815181106109a457fe5b60200260200101516001600160a01b03166370a08231846040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156109f857600080fd5b505afa158015610a0c573d6000803e3d6000fd5b505050506040513d6020811015610a2257600080fd5b50518451909150600090610a54908b90879086908110610a3e57fe5b602002602001015184610a4f61082c565b610d79565b9050610a5f81610eaf565b610a7157600095505050505050610a83565b505060010161098d565b506001925050505b949350505050565b60005490565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b606060405180606001604052806025815260200161103a60259139905090565b7f000000000000000000000000000000000000000000000000000000000000000090565b600080610b0d8484610a91565b9050428111158015610a83575042610b2d610b26610adc565b8390610c65565b1015949350505050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b158015610b9257600080fd5b505afa158015610ba6573d6000803e3d6000fd5b505050506040513d6020811015610bbc57600080fd5b5051905090565b7f000000000000000000000000000000000000000000000000000000000000000090565b60408051600180825281830190925260609160208083019080368337019050509050600581600081518110610c1857fe5b60200260200101906009811115610c2b57fe5b90816009811115610c3857fe5b90525090565b50565b7f000000000000000000000000000000000000000000000000000000000000000090565b600082820183811015610cbf576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b60006060828060200190516040811015610cdf57600080fd5b815160208301805160405192949293830192919084600160201b821115610d0557600080fd5b908301906020820185811115610d1a57600080fd5b82518660208202830111600160201b82111715610d3657600080fd5b82525081516020918201928201910280838360005b83811015610d63578181015183820152602001610d4b565b5050505090500160405250505091509150915091565b6000610d83610771565b6001600160a01b0316634c67e1068585856040518463ffffffff1660e01b815260040180846001600160a01b03168152602001838152602001826001600160a01b031681526020019350505050602060405180830381600087803b158015610dea57600080fd5b505af1925050508015610e0f57506040513d6020811015610e0a57600080fd5b505160015b610e9d57610e1d8585610b00565b610e585760405162461bcd60e51b815260040180806020018281038252604a815260200180610f97604a913960600191505060405180910390fd5b836001600160a01b0316856001600160a01b03167fa2de3d3e85d58ec3c62bcbd0a67a60fac9f9002f6e70cfe768a49fa19d7dcf4660405160405180910390a3610ea4565b9050610a83565b506000949350505050565b6000610eb9610a8b565b9091111591905056fe6f6e6c7946756e644465706c6f7965724f776e65723a204f6e6c79207468652046756e644465706c6f796572206f776e65722063616e2063616c6c20746869732066756e6374696f6e75706461746546756e6453657474696e67733a2055706461746573206e6f7420616c6c6f77656420666f72207468697320706f6c6963797374617274417373657442797061737354696d656c6f636b3a2041737365742068617320612070726963654f6e6c792074686520506f6c6963794d616e616765722063616e206d616b6520746869732063616c6c5f5f63616c6356616c75654578636c7564696e6742797061737361626c6550726963656c65737341737365743a20496e76616c6964206173736574206e6f742062797061737361626c657374617274417373657442797061737354696d656c6f636b3a2053656e646572206973206e6f7420746865205661756c7450726f7879206f6620746865206173736f63696174656420436f6d7074726f6c6c657250726f78794f4e4c595f554e545241434b5f445553545f4f525f50524943454c4553535f415353455453a164736f6c634300060c000a", "sourceMap": "786:2841:214:-:0;;;913:523;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;913:523:214;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;737:31:223;;;;;;;;864:29:358;;;;;;;;913:523:214;1530:43:224;;;1583:46;;;;1639:60;;;;;;;1709:46;;;;;;;-1:-1:-1;;;;;786:2841:214;;;;;;;;913:523;;;786:2841;;;;;;-1:-1:-1;786:2841:214;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106101215760003560e01c806358bfdfee116100ad578063893d20e811610071578063893d20e81461043857806397c0ac8714610440578063cbf54bb214610448578063ceb9a0ad146104a0578063d44ad6cb146104c657610121565b806358bfdfee1461034f5780635da4cdb2146103575780637998a1c4146103855780637fe292681461040257806385d63ec91461040a57610121565b80631ef92578116100f45780631ef925781461026e578063219ea7bf1461028a578063234dfb17146102a757806344105398146102af578063579be718146102c957610121565b806307d2890e146101265780630d4d75101461014e5780630f5f6b4f146101cc57806314f8e6151461024a575b600080fd5b61014c6004803603602081101561013c57600080fd5b50356001600160a01b03166104ce565b005b61014c6004803603604081101561016457600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561018e57600080fd5b8201836020820111156101a057600080fd5b803590602001918460018302840111600160201b831117156101c157600080fd5b509092509050610735565b61014c600480360360408110156101e257600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561020c57600080fd5b82018360208201111561021e57600080fd5b803590602001918460018302840111600160201b8311171561023f57600080fd5b50909250905061076c565b610252610771565b604080516001600160a01b039092168252519081900360200190f35b610276610795565b604080519115158252519081900360200190f35b61014c600480360360208110156102a057600080fd5b503561079a565b61025261082c565b6102b7610850565b60408051918252519081900360200190f35b610276600480360360608110156102df57600080fd5b6001600160a01b038235169160ff60208201351691810190606081016040820135600160201b81111561031157600080fd5b82018360208201111561032357600080fd5b803590602001918460018302840111600160201b8311171561034457600080fd5b509092509050610874565b6102b7610a8b565b6102b76004803603604081101561036d57600080fd5b506001600160a01b0381358116916020013516610a91565b61038d610abc565b6040805160208082528351818301528351919283929083019185019080838360005b838110156103c75781810151838201526020016103af565b50505050905090810190601f1680156103f45780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102b7610adc565b6102766004803603604081101561042057600080fd5b506001600160a01b0381358116916020013516610b00565b610252610b37565b610252610bc3565b610450610be7565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561048c578181015183820152602001610474565b505050509050019250505060405180910390f35b61014c600480360360208110156104b657600080fd5b50356001600160a01b0316610c3e565b610252610c41565b6000336001600160a01b0316635a53e3486040518163ffffffff1660e01b815260040160206040518083038186803b15801561050957600080fd5b505afa15801561051d573d6000803e3d6000fd5b505050506040513d602081101561053357600080fd5b50516040805163c980918760e01b815290519192506001600160a01b0383169163c980918791600480820192602092909190829003018186803b15801561057957600080fd5b505afa15801561058d573d6000803e3d6000fd5b505050506040513d60208110156105a357600080fd5b50516001600160a01b031633146105eb5760405162461bcd60e51b8152600401808060200182810382526059815260200180610fe16059913960600191505060405180910390fd5b6105f3610771565b6001600160a01b0316634c67e10683600161060c61082c565b6040518463ffffffff1660e01b815260040180846001600160a01b03168152602001838152602001826001600160a01b031681526020019350505050602060405180830381600087803b15801561066257600080fd5b505af192505050801561068757506040513d602081101561068257600080fd5b505160015b6106f95761069d610696610850565b4290610c65565b6001600160a01b03808316600081815260016020908152604080832094881680845294909152808220949094559251919290917f76fadd0d061c0fa0e079ec4814cecf7f5f6f43e604f241551dd35b6c3c9a69809190a3610731565b5060405162461bcd60e51b815260040180806020018281038252602b815260200180610f43602b913960400191505060405180910390fd5b5050565b60405162461bcd60e51b8152600401808060200182810382526037815260200180610f0c6037913960400191505060405180910390fd5b505050565b7f000000000000000000000000000000000000000000000000000000000000000090565b600090565b6107a2610b37565b6001600160a01b0316336001600160a01b0316146107f15760405162461bcd60e51b8152600401808060200182810382526049815260200180610ec36049913960600191505060405180910390fd5b60008190556040805182815290517ff02a8605888227ce9f14ab97539fc9aed32996f83d13befc980676da2549969b9181900360200190a150565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b6000336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146108dd5760405162461bcd60e51b8152600401808060200182810382526029815260200180610f6e6029913960400191505060405180910390fd5b606061091e84848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610cc692505050565b9150506000866001600160a01b031663c98091876040518163ffffffff1660e01b815260040160206040518083038186803b15801561095c57600080fd5b505afa158015610970573d6000803e3d6000fd5b505050506040513d602081101561098657600080fd5b5051905060005b8251811015610a7b5760008382815181106109a457fe5b60200260200101516001600160a01b03166370a08231846040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156109f857600080fd5b505afa158015610a0c573d6000803e3d6000fd5b505050506040513d6020811015610a2257600080fd5b50518451909150600090610a54908b90879086908110610a3e57fe5b602002602001015184610a4f61082c565b610d79565b9050610a5f81610eaf565b610a7157600095505050505050610a83565b505060010161098d565b506001925050505b949350505050565b60005490565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b606060405180606001604052806025815260200161103a60259139905090565b7f000000000000000000000000000000000000000000000000000000000000000090565b600080610b0d8484610a91565b9050428111158015610a83575042610b2d610b26610adc565b8390610c65565b1015949350505050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b158015610b9257600080fd5b505afa158015610ba6573d6000803e3d6000fd5b505050506040513d6020811015610bbc57600080fd5b5051905090565b7f000000000000000000000000000000000000000000000000000000000000000090565b60408051600180825281830190925260609160208083019080368337019050509050600581600081518110610c1857fe5b60200260200101906009811115610c2b57fe5b90816009811115610c3857fe5b90525090565b50565b7f000000000000000000000000000000000000000000000000000000000000000090565b600082820183811015610cbf576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b60006060828060200190516040811015610cdf57600080fd5b815160208301805160405192949293830192919084600160201b821115610d0557600080fd5b908301906020820185811115610d1a57600080fd5b82518660208202830111600160201b82111715610d3657600080fd5b82525081516020918201928201910280838360005b83811015610d63578181015183820152602001610d4b565b5050505090500160405250505091509150915091565b6000610d83610771565b6001600160a01b0316634c67e1068585856040518463ffffffff1660e01b815260040180846001600160a01b03168152602001838152602001826001600160a01b031681526020019350505050602060405180830381600087803b158015610dea57600080fd5b505af1925050508015610e0f57506040513d6020811015610e0a57600080fd5b505160015b610e9d57610e1d8585610b00565b610e585760405162461bcd60e51b815260040180806020018281038252604a815260200180610f97604a913960600191505060405180910390fd5b836001600160a01b0316856001600160a01b03167fa2de3d3e85d58ec3c62bcbd0a67a60fac9f9002f6e70cfe768a49fa19d7dcf4660405160405180910390a3610ea4565b9050610a83565b506000949350505050565b6000610eb9610a8b565b9091111591905056fe6f6e6c7946756e644465706c6f7965724f776e65723a204f6e6c79207468652046756e644465706c6f796572206f776e65722063616e2063616c6c20746869732066756e6374696f6e75706461746546756e6453657474696e67733a2055706461746573206e6f7420616c6c6f77656420666f72207468697320706f6c6963797374617274417373657442797061737354696d656c6f636b3a2041737365742068617320612070726963654f6e6c792074686520506f6c6963794d616e616765722063616e206d616b6520746869732063616c6c5f5f63616c6356616c75654578636c7564696e6742797061737361626c6550726963656c65737341737365743a20496e76616c6964206173736574206e6f742062797061737361626c657374617274417373657442797061737354696d656c6f636b3a2053656e646572206973206e6f7420746865205661756c7450726f7879206f6620746865206173736f63696174656420436f6d7074726f6c6c657250726f78794f4e4c595f554e545241434b5f445553545f4f525f50524943454c4553535f415353455453a164736f6c634300060c000a", "sourceMap": "786:2841:214:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2146:1068:224;;;;;;;;;;;;;;;;-1:-1:-1;2146:1068:224;-1:-1:-1;;;;;2146:1068:224;;:::i;:::-;;1452:161:223;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1452:161:223;;;;;;;;;;;;;;;-1:-1:-1;;;1452:161:223;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1452:161:223;;;;;;;;;;-1:-1:-1;1452:161:223;;-1:-1:-1;1452:161:223;-1:-1:-1;1452:161:223;:::i;1528:102:214:-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1528:102:214;;;;;;;;;;;;;;;-1:-1:-1;;;1528:102:214;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1528:102:214;;;;;;;;;;-1:-1:-1;1528:102:214;;-1:-1:-1;1528:102:214;-1:-1:-1;1528:102:214;:::i;7057:191:224:-;;;:::i;:::-;;;;-1:-1:-1;;;;;7057:191:224;;;;;;;;;;;;;;1214:109:223;;;:::i;:::-;;;;;;;;;;;;;;;;;;956:244:222;;;;;;;;;;;;;;;;-1:-1:-1;956:244:222;;:::i;7406:142:224:-;;;:::i;6740:138::-;;;:::i;:::-;;;;;;;;;;;;;;;;2777:848:214;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2777:848:214;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2777:848:214;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2777:848:214;;;;;;;;;;-1:-1:-1;2777:848:214;;-1:-1:-1;2777:848:214;-1:-1:-1;2777:848:214;:::i;1624:128:222:-;;;:::i;6038:249:224:-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;6038:249:224;;;;;;;;;;:::i;1753:144:214:-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6445:142:224;;;:::i;3548:390::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;3548:390:224;;;;;;;;;;:::i;1064:120:358:-;;;:::i;1378:108::-;;;:::i;2027:334:214:-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;941:83:223;;;;;;;;;;;;;;;;-1:-1:-1;941:83:223;-1:-1:-1;;;;;941:83:223;;:::i;6755:113::-;;;:::i;2146:1068:224:-;2291:24;2327:10;-1:-1:-1;;;;;2318:32:224;;:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2318:34:224;2397:48;;;-1:-1:-1;;;2397:48:224;;;;2318:34;;-1:-1:-1;;;;;;2397:46:224;;;;;:48;;;;;2318:34;;2397:48;;;;;;;;:46;:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2397:48:224;-1:-1:-1;;;;;2383:62:224;:10;:62;2362:198;;;;-1:-1:-1;;;2362:198:224;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2604:41;:39;:41::i;:::-;-1:-1:-1;;;;;2587:83:224;;2688:6;2712:1;2779:34;:32;:34::i;:::-;2587:268;;;;;;;;;;;;;-1:-1:-1;;;;;2587:268:224;;;;;;;;;;;-1:-1:-1;;;;;2587:268:224;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2587:268:224;;;2571:637;;3034:88;3088:33;:31;:33::i;:::-;3034:32;;:53;:88::i;:::-;-1:-1:-1;;;;;2963:60:224;;;;;;;:42;:60;;;;;;;;:68;;;;;;;;;;;;;:159;;;;3142:55;;2963:68;;:60;;3142:55;;2963:60;3142:55;2571:637;;;;2878:53;;-1:-1:-1;;;2878:53:224;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2571:637;2146:1068;;:::o;1452:161:223:-;1541:65;;-1:-1:-1;;;1541:65:223;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1528:102:214;;;;:::o;7057:191:224:-;7201:40;7057:191;:::o;1214:109:223:-;1276:16;1214:109;:::o;956:244:222:-;679:10:358;:8;:10::i;:::-;-1:-1:-1;;;;;665:24:358;:10;-1:-1:-1;;;;;665:24:358;;644:144;;;;-1:-1:-1;;;644:144:358;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1083:19:222::1;:46:::0;;;1145:48:::1;::::0;;;;;;;::::1;::::0;;;;::::1;::::0;;::::1;956:244:::0;:::o;7406:142:224:-;7508:33;7406:142;:::o;6740:138::-;6840:31;6740:138;:::o;2777:848:214:-;2957:13;586:10:223;-1:-1:-1;;;;;600:14:223;586:28;;578:82;;;;-1:-1:-1;;;578:82:223;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2985:23:214::1;3012:55;3054:12;;3012:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;3012:41:214::1;::::0;-1:-1:-1;;;3012:55:214:i:1;:::-;2982:85;;;3078:18;3114:17;-1:-1:-1::0;;;;;3099:47:214::1;;:49;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;3099:49:214;;-1:-1:-1;3163:9:214::1;3158:439;3178:6;:13;3174:1;:17;3158:439;;;3212:14;3235:6;3242:1;3235:9;;;;;;;;;;;;;;-1:-1:-1::0;;;;;3229:26:214::1;;3256:10;3229:38;;;;;;;;;;;;;-1:-1:-1::0;;;;;3229:38:214::1;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;3229:38:214;3400:9;;3229:38;;-1:-1:-1;3281:19:214::1;::::0;3303:196:::1;::::0;3365:17;;3400:6;;3407:1;;3400:9;::::1;;;;;;;;;;;3427:6;3451:34;:32;:34::i;:::-;3303:44;:196::i;:::-;3281:218;;3519:21;3528:11;3519:8;:21::i;:::-;3514:73;;3567:5;3560:12;;;;;;;;;3514:73;-1:-1:-1::0;;3193:3:214::1;;3158:439;;;;3614:4;3607:11;;;;670:1:223;2777:848:214::0;;;;;;:::o;1624:128:222:-;1679:28;1726:19;1624:128;:::o;6038:249:224:-;-1:-1:-1;;;;;6211:61:224;;;6168:20;6211:61;;;:42;:61;;;;;;;;:69;;;;;;;;;;;;;6038:249::o;1753:144:214:-;1807:25;1844:46;;;;;;;;;;;;;;;;;;;1753:144;:::o;6445:142:224:-;6547:33;6445:142;:::o;3548:390::-;3670:18;3704:19;3726:59;3759:17;3778:6;3726:32;:59::i;:::-;3704:81;;3830:15;3815:11;:30;;:116;;;;;3916:15;3861:51;3877:34;:32;:34::i;:::-;3861:11;;:15;:51::i;:::-;:70;;3796:135;3548:390;-1:-1:-1;;;;3548:390:224:o;1064:120:358:-;1105:14;1152:13;-1:-1:-1;;;;;1138:37:358;;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1138:39:358;;-1:-1:-1;1064:120:358;:::o;1378:108::-;1466:13;1378:108;:::o;2027:334:214:-;2207:34;;;2239:1;2207:34;;;;;;;;;2119:52;;2207:34;;;;;;;;;;;-1:-1:-1;2207:34:214;2187:54;;2274:45;2251:17;2269:1;2251:20;;;;;;;;;;;;;:68;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2027:334:214;:::o;941:83:223:-;;:::o;6755:113::-;6847:14;6755:113;:::o;2690:175:442:-;2748:7;2779:5;;;2802:6;;;;2794:46;;;;;-1:-1:-1;;;2794:46:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;2857:1;2690:175;-1:-1:-1;;;2690:175:442:o;6304:248:223:-;6432:15;6449:24;6507:15;6496:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;6496:49:223;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;6496:49:223;;;;;;;;;;;;-1:-1:-1;6496:49:223;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6489:56;;;;6304:248;;;:::o;4879:824:224:-;5083:14;5142:41;:39;:41::i;:::-;-1:-1:-1;;;;;5125:83:224;;5226:10;5254:16;5288:11;5125:188;;;;;;;;;;;;;-1:-1:-1;;;;;5125:188:224;;;;;;;;;;;-1:-1:-1;;;;;5125:188:224;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5125:188:224;;;5109:569;;5431:55;5456:17;5475:10;5431:24;:55::i;:::-;5406:188;;;;-1:-1:-1;;;5406:188:224;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5656:10;-1:-1:-1;;;;;5614:53:224;5637:17;-1:-1:-1;;;;;5614:53:224;;;;;;;;;;;5109:569;;;5368:6;-1:-1:-1;5361:13:224;;5109:569;-1:-1:-1;5695:1:224;4879:824;;;;;;:::o;1272:139:222:-;1334:12;1380:24;:22;:24::i;:::-;1365:39;;;;;1272:139;-1:-1:-1;1272:139:222:o", "linkReferences": {}, "immutableReferences": { "59893": [ { "start": 2177, "length": 32 }, { "start": 3139, "length": 32 } ], "60282": [ { "start": 2130, "length": 32 } ], "60284": [ { "start": 2782, "length": 32 } ], "60286": [ { "start": 1907, "length": 32 } ], "60288": [ { "start": 2094, "length": 32 } ], "78707": [ { "start": 2875, "length": 32 }, { "start": 3013, "length": 32 } ] } }, "methodIdentifiers": { "activateForFund(address)": "ceb9a0ad", "addFundSettings(address,bytes)": "0f5f6b4f", "assetIsBypassableForFund(address,address)": "85d63ec9", "canDisable()": "1ef92578", "getAssetBypassWindowStartForFund(address,address)": "5da4cdb2", "getDustToleranceInWeth()": "58bfdfee", "getFundDeployer()": "97c0ac87", "getOwner()": "893d20e8", "getPolicyManager()": "d44ad6cb", "getPricelessAssetBypassTimeLimit()": "7fe29268", "getPricelessAssetBypassTimelock()": "44105398", "getPricelessAssetBypassValueInterpreter()": "14f8e615", "getPricelessAssetBypassWethToken()": "234dfb17", "identifier()": "7998a1c4", "implementedHooks()": "cbf54bb2", "setDustToleranceInWeth(uint256)": "219ea7bf", "startAssetBypassTimelock(address)": "07d2890e", "updateFundSettings(address,bytes)": "0d4d7510", "validateRule(address,uint8,bytes)": "579be718" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_policyManager\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_fundDeployer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_valueInterpreter\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_wethToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_pricelessAssetBypassTimelock\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_pricelessAssetBypassTimeLimit\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"nextDustToleranceInWeth\",\"type\":\"uint256\"}],\"name\":\"DustToleranceInWethSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"asset\",\"type\":\"address\"}],\"name\":\"PricelessAssetBypassed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"asset\",\"type\":\"address\"}],\"name\":\"PricelessAssetTimelockStarted\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"activateForFund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"addFundSettings\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"}],\"name\":\"assetIsBypassableForFund\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isBypassable_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"canDisable\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"canDisable_\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"}],\"name\":\"getAssetBypassWindowStartForFund\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"windowStart_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDustToleranceInWeth\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"dustToleranceInWeth_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFundDeployer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"fundDeployer_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPolicyManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"policyManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPricelessAssetBypassTimeLimit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"timeLimit_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPricelessAssetBypassTimelock\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"timelock_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPricelessAssetBypassValueInterpreter\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"valueInterpreter_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPricelessAssetBypassWethToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"wethToken_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"identifier\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"identifier_\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"implementedHooks\",\"outputs\":[{\"internalType\":\"enum IPolicyManager.PolicyHook[]\",\"name\":\"implementedHooks_\",\"type\":\"uint8[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_nextDustToleranceInWeth\",\"type\":\"uint256\"}],\"name\":\"setDustToleranceInWeth\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"}],\"name\":\"startAssetBypassTimelock\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"updateFundSettings\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"enum IPolicyManager.PolicyHook\",\"name\":\"\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"_encodedArgs\",\"type\":\"bytes\"}],\"name\":\"validateRule\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isValid_\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"activateForFund(address)\":{\"details\":\"Unimplemented by default, can be overridden by the policy\"},\"assetIsBypassableForFund(address,address)\":{\"params\":{\"_asset\":\"The asset for which to check if it is bypassable\",\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\"},\"returns\":{\"isBypassable_\":\"True if the asset is bypassable\"}},\"canDisable()\":{\"details\":\"False by default, can be overridden by the policy\",\"returns\":{\"canDisable_\":\"True if the policy can be disabled\"}},\"getAssetBypassWindowStartForFund(address,address)\":{\"params\":{\"_asset\":\"The asset\",\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\"},\"returns\":{\"windowStart_\":\"The timestamp\"}},\"getDustToleranceInWeth()\":{\"returns\":{\"dustToleranceInWeth_\":\"The `dustToleranceInWeth` variable value\"}},\"getFundDeployer()\":{\"returns\":{\"fundDeployer_\":\"The `FUND_DEPLOYER` variable value\"}},\"getOwner()\":{\"details\":\"Ownership is deferred to the owner of the FundDeployer contract\",\"returns\":{\"owner_\":\"The owner\"}},\"getPolicyManager()\":{\"returns\":{\"policyManager_\":\"The `POLICY_MANAGER` variable value\"}},\"getPricelessAssetBypassTimeLimit()\":{\"returns\":{\"timeLimit_\":\"The `PRICELESS_ASSET_BYPASS_TIME_LIMIT` variable value\"}},\"getPricelessAssetBypassTimelock()\":{\"returns\":{\"timelock_\":\"The `PRICELESS_ASSET_BYPASS_TIMELOCK` variable value\"}},\"getPricelessAssetBypassValueInterpreter()\":{\"returns\":{\"valueInterpreter_\":\"The `PRICELESS_ASSET_BYPASS_VALUE_INTERPRETER` variable value\"}},\"getPricelessAssetBypassWethToken()\":{\"returns\":{\"wethToken_\":\"The `PRICELESS_ASSET_BYPASS_WETH_TOKEN` variable value\"}},\"identifier()\":{\"returns\":{\"identifier_\":\"The identifier string\"}},\"implementedHooks()\":{\"returns\":{\"implementedHooks_\":\"The implemented PolicyHooks\"}},\"setDustToleranceInWeth(uint256)\":{\"params\":{\"_nextDustToleranceInWeth\":\"The next dustToleranceInWeth value\"}},\"startAssetBypassTimelock(address)\":{\"details\":\"This function must be called via ComptrollerProxy.vaultCallOnContract(). This allows the function to be gas relay-able. It also means that the originator must be the owner.\",\"params\":{\"_asset\":\"The asset for which to start the timelock period\"}},\"updateFundSettings(address,bytes)\":{\"details\":\"Disallowed by default, can be overridden by the policy\"},\"validateRule(address,uint8,bytes)\":{\"details\":\"onlyPolicyManager validation not necessary as no state is updated, but is cheap and nice-to-have since an event is fired\",\"params\":{\"_comptrollerProxy\":\"The fund's ComptrollerProxy address\",\"_encodedArgs\":\"Encoded args with which to validate the rule\"},\"returns\":{\"isValid_\":\"True if the rule passes\"}}},\"title\":\"OnlyUntrackDustOrPricelessAssetsPolicy Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"activateForFund(address)\":{\"notice\":\"Validates and initializes a policy as necessary prior to fund activation\"},\"addFundSettings(address,bytes)\":{\"notice\":\"Add the initial policy settings for a fund\"},\"assetIsBypassableForFund(address,address)\":{\"notice\":\"Checks whether an asset is bypassable (if still without a valid price) for a given fund\"},\"canDisable()\":{\"notice\":\"Whether or not the policy can be disabled\"},\"getAssetBypassWindowStartForFund(address,address)\":{\"notice\":\"Gets the timestamp from which an asset without a valid price can be considered to be valued at `0`\"},\"getDustToleranceInWeth()\":{\"notice\":\"Gets the `dustToleranceInWeth` variable\"},\"getFundDeployer()\":{\"notice\":\"Gets the `FUND_DEPLOYER` variable\"},\"getOwner()\":{\"notice\":\"Gets the owner of this contract\"},\"getPolicyManager()\":{\"notice\":\"Gets the `POLICY_MANAGER` variable value\"},\"getPricelessAssetBypassTimeLimit()\":{\"notice\":\"Gets the `PRICELESS_ASSET_BYPASS_TIME_LIMIT` variable\"},\"getPricelessAssetBypassTimelock()\":{\"notice\":\"Gets the `PRICELESS_ASSET_BYPASS_TIMELOCK` variable\"},\"getPricelessAssetBypassValueInterpreter()\":{\"notice\":\"Gets the `PRICELESS_ASSET_BYPASS_VALUE_INTERPRETER` variable\"},\"getPricelessAssetBypassWethToken()\":{\"notice\":\"Gets the `PRICELESS_ASSET_BYPASS_WETH_TOKEN` variable\"},\"identifier()\":{\"notice\":\"Provides a constant string identifier for a policy\"},\"implementedHooks()\":{\"notice\":\"Gets the implemented PolicyHooks for a policy\"},\"setDustToleranceInWeth(uint256)\":{\"notice\":\"Sets the dustToleranceInWeth variable value\"},\"startAssetBypassTimelock(address)\":{\"notice\":\"Starts the timelock period for an asset without a valid price\"},\"updateFundSettings(address,bytes)\":{\"notice\":\"Updates the policy settings for a fund\"},\"validateRule(address,uint8,bytes)\":{\"notice\":\"Apply the rule with the specified parameters of a PolicyHook\"}},\"notice\":\"A policy that only allows untracking assets whose value can be considered negligible, or assets that do not have a valid price and for which the manager has signaled prior intent to remove\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/policy-manager/policies/asset-managers/OnlyUntrackDustOrPricelessAssetsPolicy.sol\":\"OnlyUntrackDustOrPricelessAssetsPolicy\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/persistent/protocol-fee-reserve/interfaces/IProtocolFeeReserve1.sol\":{\"keccak256\":\"0x2728878c423db523bc95189137e8c58d2d7db9f56bbd5c6b1f988c08b551fbab\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3b0df1d2eb74151265d03ab91a7c341f7beca475dd2f4d669052dbc4ee2c06ac\",\"dweb:/ipfs/QmVx1cgrxQNYfdK1Kn15pcgqf79Uw8bF3U6i7F2HG2rj6G\"]},\"contracts/persistent/vault/VaultLibBase1.sol\":{\"keccak256\":\"0xa4dac1e4cdb311a2ab187135355357d8790c505ef36dd912c057fe53743d30b5\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b66efe821016ab927c949263023260515e90f5d480dc8d94eefbfeec7bf7490b\",\"dweb:/ipfs/QmNY3xKnhL9EptAbxGvXHGAXfV9pj3dDPwsZnKrPs54ZHw\"]},\"contracts/persistent/vault/VaultLibBase2.sol\":{\"keccak256\":\"0xf7d31f2a9a47770ed3f444be2c4fe9262ddb55fef7f25e546b1f03c9afec4c09\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9353ddce7c9b8b3c13fed23fe8edec99ca610d791b0c5b204b3d01f1f08d07d2\",\"dweb:/ipfs/QmeVsEh3joCjv49BRXeHASevnZZ5xdZXpkctHT8BPf37N2\"]},\"contracts/persistent/vault/VaultLibBaseCore.sol\":{\"keccak256\":\"0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd\",\"dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz\"]},\"contracts/persistent/vault/interfaces/IExternalPositionVault.sol\":{\"keccak256\":\"0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d\",\"dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8\"]},\"contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol\":{\"keccak256\":\"0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb\",\"dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU\"]},\"contracts/persistent/vault/interfaces/IMigratableVault.sol\":{\"keccak256\":\"0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6\",\"dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs\"]},\"contracts/persistent/vault/interfaces/IVaultCore.sol\":{\"keccak256\":\"0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd\",\"dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr\"]},\"contracts/persistent/vault/utils/ProxiableVaultLib.sol\":{\"keccak256\":\"0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44\",\"dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4\"]},\"contracts/persistent/vault/utils/SharesTokenBase.sol\":{\"keccak256\":\"0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8\",\"dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4\"]},\"contracts/persistent/vault/utils/VaultLibSafeMath.sol\":{\"keccak256\":\"0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02\",\"dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG\"]},\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/core/fund/comptroller/ComptrollerLib.sol\":{\"keccak256\":\"0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579\",\"dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq\"]},\"contracts/release/core/fund/comptroller/IComptroller.sol\":{\"keccak256\":\"0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97\",\"dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L\"]},\"contracts/release/core/fund/vault/IVault.sol\":{\"keccak256\":\"0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599\",\"dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG\"]},\"contracts/release/core/fund/vault/VaultLib.sol\":{\"keccak256\":\"0x07e49445ab55c01e1b499a48baadc2a15d1eba621f1c6d3ccfdb84c87b976da8\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://56d882459248f73e137db2e097fc56b946147fb28ec21661b77431f88e856cb4\",\"dweb:/ipfs/QmRP6Ry7DCS5uoKxnnkTomHSzbaCze6cHqbR9aLdjoF6vK\"]},\"contracts/release/extensions/IExtension.sol\":{\"keccak256\":\"0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70\",\"dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t\"]},\"contracts/release/extensions/external-position-manager/IExternalPositionManager.sol\":{\"keccak256\":\"0x3af3f634e1f99fb97091b7825c0d2e2baaafc124d4e87d56cb0c17ff8554f6c6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://515470605afe5ef147f30fa75ce7818f0e00e3d321eb81a4d9bffcdefc294495\",\"dweb:/ipfs/QmPKsp99pfHoz9Tfo3ZxnkmqDqJtN9PxqacF2RmeVfxUJF\"]},\"contracts/release/extensions/fee-manager/IFeeManager.sol\":{\"keccak256\":\"0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22\",\"dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod\"]},\"contracts/release/extensions/policy-manager/IPolicy.sol\":{\"keccak256\":\"0xc12663ca72065b256c3b934ab738fde26c147c7b0399de43650df89dd52ee467\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://be8fecfcba0f3fda615f0a1bb3c766750c23761ef751d7c4472dfe540e460cd1\",\"dweb:/ipfs/QmaarPoRTsX6NiJ8V4u2f3Qh6d7tUs28bw9R14An3t5Bs1\"]},\"contracts/release/extensions/policy-manager/IPolicyManager.sol\":{\"keccak256\":\"0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa\",\"dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb\"]},\"contracts/release/extensions/policy-manager/policies/asset-managers/OnlyUntrackDustOrPricelessAssetsPolicy.sol\":{\"keccak256\":\"0xc2087c35db69736666cf614b3d5ca5661ae9f96c0af0eaec33933fef5ac866e9\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a8748642daefcb39342377f1a9c4c7c590cf9233546b4f3f0d669f1382f1e3a7\",\"dweb:/ipfs/QmawGhJYna4tQfnufbeWECymffNkCCXFjtjr1vSboRbft7\"]},\"contracts/release/extensions/policy-manager/policies/utils/DustEvaluatorMixin.sol\":{\"keccak256\":\"0xe3b05643184569abd6c1d6edcbaa983b54acfcdcf112306799896466786a6201\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://65e84bc47952fb5cd31a0617d7ec314e3a4c35f68582669bd2179514bc74b036\",\"dweb:/ipfs/QmUKqvbmeXvzvy3xZk3zhjNxm1kXSPKjBURm8Pd25Cmki4\"]},\"contracts/release/extensions/policy-manager/policies/utils/PolicyBase.sol\":{\"keccak256\":\"0x972311abb98f0da815b4aca83d5afdd219d3604ec19cf5e3773c0c305bd9b3f1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2452f3d1f3b1d8e8459a07489146a2d0d8a10463715937995cbe77ee5de8c069\",\"dweb:/ipfs/Qmf2hhd2DVbjpxmbNGAhRZNZkqpGZA2mX3eA1WNwtv6t5Y\"]},\"contracts/release/extensions/policy-manager/policies/utils/PricelessAssetBypassMixin.sol\":{\"keccak256\":\"0x5624f038f790b51ba9bd2207a6e80d188bc5d0b049807e0f06f123f6d00e3444\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://53782b55be373922df118f9970f897c1adfd4646dc4a95eec52e7c914944f68c\",\"dweb:/ipfs/QmTGPQRqzczosWALPZgAN6TKE4qdBuFwGBdCKy6GxtZBPe\"]},\"contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol\":{\"keccak256\":\"0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f\",\"dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol\":{\"keccak256\":\"0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0\",\"dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol\":{\"keccak256\":\"0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b\",\"dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3\"]},\"contracts/release/infrastructure/price-feeds/derivatives/AggregatedDerivativePriceFeedMixin.sol\":{\"keccak256\":\"0x85d2ac39834dae7feb04f0e37317a38b8abeb0f950692fbc9d29078c52cd8d52\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://7bf8f1ce064d85a2812a944fc93068955b233924097f7f45898be3db826579d5\",\"dweb:/ipfs/Qme7f6AhxLVn32prM8fHaCvxtVi86A9KqFMqPA1s88kVYR\"]},\"contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol\":{\"keccak256\":\"0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e\",\"dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK\"]},\"contracts/release/infrastructure/price-feeds/primitives/ChainlinkPriceFeedMixin.sol\":{\"keccak256\":\"0x7fb0078e7387f07ff09958fe4e4e7b317e72c23884f61e8c133776cad522f8bb\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://e973f29ed0c3bf03e20154ab4b0cfc68c3a4372a52ec746f9d9f86697b30e977\",\"dweb:/ipfs/QmfMb7H1zNnj2hzmUr6742HmCTiNVuQ2PFjeR8q2M4Liyu\"]},\"contracts/release/infrastructure/protocol-fees/IProtocolFeeTracker.sol\":{\"keccak256\":\"0x232b347f83457439064add7369bfe1930c7cb56f15930bb87d640e909c15e447\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://24f9af5eebdd373b1d7a598c096eb6def31b2640d54416d7d5a7226e1cef17e6\",\"dweb:/ipfs/QmStq9ByGuSYdKwTmZf52L1X6sZVJUfXTnoVbnjLLiUcHG\"]},\"contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol\":{\"keccak256\":\"0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965\",\"dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ\"]},\"contracts/release/infrastructure/value-interpreter/ValueInterpreter.sol\":{\"keccak256\":\"0x64565011785d0d29a75021cda34687cfbc0641094d6f2faf4d9c78c8cd9f0d1d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://03ea9b29a332436d18ca1a4df7e5cdf231d5142dfb916a39cb3a721342d54e0e\",\"dweb:/ipfs/QmcB8Z7A7QELAxg2FfJpD26k2bUhMNUT4wACMVKxuge3QS\"]},\"contracts/release/interfaces/IChainlinkAggregator.sol\":{\"keccak256\":\"0x8104db68d4edc00c86b29b366f4397cdbe7bd95bb9dc90f54140af4bae963788\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://4664240be22fe76bd4e84d1cbaace3998dbc96759a14345819a889f0c288d22e\",\"dweb:/ipfs/QmQ8fbA4tvXeCeaAFeS2JrLEQUPFeYrePAKoUywRtcicgA\"]},\"contracts/release/interfaces/IGsnForwarder.sol\":{\"keccak256\":\"0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29\",\"dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G\"]},\"contracts/release/interfaces/IGsnPaymaster.sol\":{\"keccak256\":\"0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4\",\"dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF\"]},\"contracts/release/interfaces/IGsnTypes.sol\":{\"keccak256\":\"0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7\",\"dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C\"]},\"contracts/release/interfaces/IWETH.sol\":{\"keccak256\":\"0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2\",\"dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/FundDeployerOwnerMixin.sol\":{\"keccak256\":\"0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927\",\"dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM\"]},\"contracts/release/utils/MathHelpers.sol\":{\"keccak256\":\"0x8aef498ae98bfb40cd1df8c9ed652b4c092fbbe62d5a1fad522c53654523248e\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ed62789f6a8d5ca30a40c591f244b915e4711493a9e4b1b4d40ea2bc97b02a95\",\"dweb:/ipfs/QmWyXJ55arURtx9VMkUQokdsjk8tbgM2cC8rENFUMyz5D3\"]},\"contracts/release/utils/beacon-proxy/IBeacon.sol\":{\"keccak256\":\"0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39\",\"dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V\"]},\"contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol\":{\"keccak256\":\"0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be\",\"dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20Burnable.sol\":{\"keccak256\":\"0x9c0eb3b0e11d2480d49991dc384f1e5f9c9b9967cc81944d50916a9b9c6c4984\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99e4033d778624992e86f0b6d801a4f6d7b5c0cd5c79c1296be90a051ad5f5af\",\"dweb:/ipfs/QmShYmkUqh6pDEeoWadZ24icmCr4C2Xys1uE5boivPmbwf\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_policyManager", "type": "address" }, { "internalType": "address", "name": "_fundDeployer", "type": "address" }, { "internalType": "address", "name": "_valueInterpreter", "type": "address" }, { "internalType": "address", "name": "_wethToken", "type": "address" }, { "internalType": "uint256", "name": "_pricelessAssetBypassTimelock", "type": "uint256" }, { "internalType": "uint256", "name": "_pricelessAssetBypassTimeLimit", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "uint256", "name": "nextDustToleranceInWeth", "type": "uint256", "indexed": false } ], "type": "event", "name": "DustToleranceInWethSet", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "comptrollerProxy", "type": "address", "indexed": true }, { "internalType": "address", "name": "asset", "type": "address", "indexed": true } ], "type": "event", "name": "PricelessAssetBypassed", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "comptrollerProxy", "type": "address", "indexed": true }, { "internalType": "address", "name": "asset", "type": "address", "indexed": true } ], "type": "event", "name": "PricelessAssetTimelockStarted", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "activateForFund" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "addFundSettings" }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" }, { "internalType": "address", "name": "_asset", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "assetIsBypassableForFund", "outputs": [ { "internalType": "bool", "name": "isBypassable_", "type": "bool" } ] }, { "inputs": [], "stateMutability": "pure", "type": "function", "name": "canDisable", "outputs": [ { "internalType": "bool", "name": "canDisable_", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" }, { "internalType": "address", "name": "_asset", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getAssetBypassWindowStartForFund", "outputs": [ { "internalType": "uint256", "name": "windowStart_", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getDustToleranceInWeth", "outputs": [ { "internalType": "uint256", "name": "dustToleranceInWeth_", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getFundDeployer", "outputs": [ { "internalType": "address", "name": "fundDeployer_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getOwner", "outputs": [ { "internalType": "address", "name": "owner_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getPolicyManager", "outputs": [ { "internalType": "address", "name": "policyManager_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getPricelessAssetBypassTimeLimit", "outputs": [ { "internalType": "uint256", "name": "timeLimit_", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getPricelessAssetBypassTimelock", "outputs": [ { "internalType": "uint256", "name": "timelock_", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getPricelessAssetBypassValueInterpreter", "outputs": [ { "internalType": "address", "name": "valueInterpreter_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getPricelessAssetBypassWethToken", "outputs": [ { "internalType": "address", "name": "wethToken_", "type": "address" } ] }, { "inputs": [], "stateMutability": "pure", "type": "function", "name": "identifier", "outputs": [ { "internalType": "string", "name": "identifier_", "type": "string" } ] }, { "inputs": [], "stateMutability": "pure", "type": "function", "name": "implementedHooks", "outputs": [ { "internalType": "enum IPolicyManager.PolicyHook[]", "name": "implementedHooks_", "type": "uint8[]" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_nextDustToleranceInWeth", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "setDustToleranceInWeth" }, { "inputs": [ { "internalType": "address", "name": "_asset", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "startAssetBypassTimelock" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "updateFundSettings" }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" }, { "internalType": "enum IPolicyManager.PolicyHook", "name": "", "type": "uint8" }, { "internalType": "bytes", "name": "_encodedArgs", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "validateRule", "outputs": [ { "internalType": "bool", "name": "isValid_", "type": "bool" } ] } ], "devdoc": { "kind": "dev", "methods": { "activateForFund(address)": { "details": "Unimplemented by default, can be overridden by the policy" }, "assetIsBypassableForFund(address,address)": { "params": { "_asset": "The asset for which to check if it is bypassable", "_comptrollerProxy": "The ComptrollerProxy of the fund" }, "returns": { "isBypassable_": "True if the asset is bypassable" } }, "canDisable()": { "details": "False by default, can be overridden by the policy", "returns": { "canDisable_": "True if the policy can be disabled" } }, "getAssetBypassWindowStartForFund(address,address)": { "params": { "_asset": "The asset", "_comptrollerProxy": "The ComptrollerProxy of the fund" }, "returns": { "windowStart_": "The timestamp" } }, "getDustToleranceInWeth()": { "returns": { "dustToleranceInWeth_": "The `dustToleranceInWeth` variable value" } }, "getFundDeployer()": { "returns": { "fundDeployer_": "The `FUND_DEPLOYER` variable value" } }, "getOwner()": { "details": "Ownership is deferred to the owner of the FundDeployer contract", "returns": { "owner_": "The owner" } }, "getPolicyManager()": { "returns": { "policyManager_": "The `POLICY_MANAGER` variable value" } }, "getPricelessAssetBypassTimeLimit()": { "returns": { "timeLimit_": "The `PRICELESS_ASSET_BYPASS_TIME_LIMIT` variable value" } }, "getPricelessAssetBypassTimelock()": { "returns": { "timelock_": "The `PRICELESS_ASSET_BYPASS_TIMELOCK` variable value" } }, "getPricelessAssetBypassValueInterpreter()": { "returns": { "valueInterpreter_": "The `PRICELESS_ASSET_BYPASS_VALUE_INTERPRETER` variable value" } }, "getPricelessAssetBypassWethToken()": { "returns": { "wethToken_": "The `PRICELESS_ASSET_BYPASS_WETH_TOKEN` variable value" } }, "identifier()": { "returns": { "identifier_": "The identifier string" } }, "implementedHooks()": { "returns": { "implementedHooks_": "The implemented PolicyHooks" } }, "setDustToleranceInWeth(uint256)": { "params": { "_nextDustToleranceInWeth": "The next dustToleranceInWeth value" } }, "startAssetBypassTimelock(address)": { "details": "This function must be called via ComptrollerProxy.vaultCallOnContract(). This allows the function to be gas relay-able. It also means that the originator must be the owner.", "params": { "_asset": "The asset for which to start the timelock period" } }, "updateFundSettings(address,bytes)": { "details": "Disallowed by default, can be overridden by the policy" }, "validateRule(address,uint8,bytes)": { "details": "onlyPolicyManager validation not necessary as no state is updated, but is cheap and nice-to-have since an event is fired", "params": { "_comptrollerProxy": "The fund's ComptrollerProxy address", "_encodedArgs": "Encoded args with which to validate the rule" }, "returns": { "isValid_": "True if the rule passes" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "activateForFund(address)": { "notice": "Validates and initializes a policy as necessary prior to fund activation" }, "addFundSettings(address,bytes)": { "notice": "Add the initial policy settings for a fund" }, "assetIsBypassableForFund(address,address)": { "notice": "Checks whether an asset is bypassable (if still without a valid price) for a given fund" }, "canDisable()": { "notice": "Whether or not the policy can be disabled" }, "getAssetBypassWindowStartForFund(address,address)": { "notice": "Gets the timestamp from which an asset without a valid price can be considered to be valued at `0`" }, "getDustToleranceInWeth()": { "notice": "Gets the `dustToleranceInWeth` variable" }, "getFundDeployer()": { "notice": "Gets the `FUND_DEPLOYER` variable" }, "getOwner()": { "notice": "Gets the owner of this contract" }, "getPolicyManager()": { "notice": "Gets the `POLICY_MANAGER` variable value" }, "getPricelessAssetBypassTimeLimit()": { "notice": "Gets the `PRICELESS_ASSET_BYPASS_TIME_LIMIT` variable" }, "getPricelessAssetBypassTimelock()": { "notice": "Gets the `PRICELESS_ASSET_BYPASS_TIMELOCK` variable" }, "getPricelessAssetBypassValueInterpreter()": { "notice": "Gets the `PRICELESS_ASSET_BYPASS_VALUE_INTERPRETER` variable" }, "getPricelessAssetBypassWethToken()": { "notice": "Gets the `PRICELESS_ASSET_BYPASS_WETH_TOKEN` variable" }, "identifier()": { "notice": "Provides a constant string identifier for a policy" }, "implementedHooks()": { "notice": "Gets the implemented PolicyHooks for a policy" }, "setDustToleranceInWeth(uint256)": { "notice": "Sets the dustToleranceInWeth variable value" }, "startAssetBypassTimelock(address)": { "notice": "Starts the timelock period for an asset without a valid price" }, "updateFundSettings(address,bytes)": { "notice": "Updates the policy settings for a fund" }, "validateRule(address,uint8,bytes)": { "notice": "Apply the rule with the specified parameters of a PolicyHook" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/policy-manager/policies/asset-managers/OnlyUntrackDustOrPricelessAssetsPolicy.sol": "OnlyUntrackDustOrPricelessAssetsPolicy" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/dispatcher/IDispatcher.sol": { "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", "urls": [ "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" ], "license": "GPL-3.0" }, "contracts/persistent/external-positions/IExternalPosition.sol": { "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", "urls": [ "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" ], "license": "GPL-3.0" }, "contracts/persistent/protocol-fee-reserve/interfaces/IProtocolFeeReserve1.sol": { "keccak256": "0x2728878c423db523bc95189137e8c58d2d7db9f56bbd5c6b1f988c08b551fbab", "urls": [ "bzz-raw://3b0df1d2eb74151265d03ab91a7c341f7beca475dd2f4d669052dbc4ee2c06ac", "dweb:/ipfs/QmVx1cgrxQNYfdK1Kn15pcgqf79Uw8bF3U6i7F2HG2rj6G" ], "license": "GPL-3.0" }, "contracts/persistent/vault/VaultLibBase1.sol": { "keccak256": "0xa4dac1e4cdb311a2ab187135355357d8790c505ef36dd912c057fe53743d30b5", "urls": [ "bzz-raw://b66efe821016ab927c949263023260515e90f5d480dc8d94eefbfeec7bf7490b", "dweb:/ipfs/QmNY3xKnhL9EptAbxGvXHGAXfV9pj3dDPwsZnKrPs54ZHw" ], "license": "GPL-3.0" }, "contracts/persistent/vault/VaultLibBase2.sol": { "keccak256": "0xf7d31f2a9a47770ed3f444be2c4fe9262ddb55fef7f25e546b1f03c9afec4c09", "urls": [ "bzz-raw://9353ddce7c9b8b3c13fed23fe8edec99ca610d791b0c5b204b3d01f1f08d07d2", "dweb:/ipfs/QmeVsEh3joCjv49BRXeHASevnZZ5xdZXpkctHT8BPf37N2" ], "license": "GPL-3.0" }, "contracts/persistent/vault/VaultLibBaseCore.sol": { "keccak256": "0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074", "urls": [ "bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd", "dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IExternalPositionVault.sol": { "keccak256": "0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6", "urls": [ "bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d", "dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol": { "keccak256": "0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0", "urls": [ "bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb", "dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IMigratableVault.sol": { "keccak256": "0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238", "urls": [ "bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6", "dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IVaultCore.sol": { "keccak256": "0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80", "urls": [ "bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd", "dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr" ], "license": "GPL-3.0" }, "contracts/persistent/vault/utils/ProxiableVaultLib.sol": { "keccak256": "0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76", "urls": [ "bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44", "dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4" ], "license": "GPL-3.0" }, "contracts/persistent/vault/utils/SharesTokenBase.sol": { "keccak256": "0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113", "urls": [ "bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8", "dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4" ], "license": "GPL-3.0" }, "contracts/persistent/vault/utils/VaultLibSafeMath.sol": { "keccak256": "0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d", "urls": [ "bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02", "dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG" ], "license": "GPL-3.0" }, "contracts/release/core/fund-deployer/IFundDeployer.sol": { "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", "urls": [ "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" ], "license": "GPL-3.0" }, "contracts/release/core/fund/comptroller/ComptrollerLib.sol": { "keccak256": "0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64", "urls": [ "bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579", "dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq" ], "license": "GPL-3.0" }, "contracts/release/core/fund/comptroller/IComptroller.sol": { "keccak256": "0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f", "urls": [ "bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97", "dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L" ], "license": "GPL-3.0" }, "contracts/release/core/fund/vault/IVault.sol": { "keccak256": "0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd", "urls": [ "bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599", "dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG" ], "license": "GPL-3.0" }, "contracts/release/core/fund/vault/VaultLib.sol": { "keccak256": "0x07e49445ab55c01e1b499a48baadc2a15d1eba621f1c6d3ccfdb84c87b976da8", "urls": [ "bzz-raw://56d882459248f73e137db2e097fc56b946147fb28ec21661b77431f88e856cb4", "dweb:/ipfs/QmRP6Ry7DCS5uoKxnnkTomHSzbaCze6cHqbR9aLdjoF6vK" ], "license": "GPL-3.0" }, "contracts/release/extensions/IExtension.sol": { "keccak256": "0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b", "urls": [ "bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70", "dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/IExternalPositionManager.sol": { "keccak256": "0x3af3f634e1f99fb97091b7825c0d2e2baaafc124d4e87d56cb0c17ff8554f6c6", "urls": [ "bzz-raw://515470605afe5ef147f30fa75ce7818f0e00e3d321eb81a4d9bffcdefc294495", "dweb:/ipfs/QmPKsp99pfHoz9Tfo3ZxnkmqDqJtN9PxqacF2RmeVfxUJF" ], "license": "GPL-3.0" }, "contracts/release/extensions/fee-manager/IFeeManager.sol": { "keccak256": "0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51", "urls": [ "bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22", "dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod" ], "license": "GPL-3.0" }, "contracts/release/extensions/policy-manager/IPolicy.sol": { "keccak256": "0xc12663ca72065b256c3b934ab738fde26c147c7b0399de43650df89dd52ee467", "urls": [ "bzz-raw://be8fecfcba0f3fda615f0a1bb3c766750c23761ef751d7c4472dfe540e460cd1", "dweb:/ipfs/QmaarPoRTsX6NiJ8V4u2f3Qh6d7tUs28bw9R14An3t5Bs1" ], "license": "GPL-3.0" }, "contracts/release/extensions/policy-manager/IPolicyManager.sol": { "keccak256": "0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32", "urls": [ "bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa", "dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb" ], "license": "GPL-3.0" }, "contracts/release/extensions/policy-manager/policies/asset-managers/OnlyUntrackDustOrPricelessAssetsPolicy.sol": { "keccak256": "0xc2087c35db69736666cf614b3d5ca5661ae9f96c0af0eaec33933fef5ac866e9", "urls": [ "bzz-raw://a8748642daefcb39342377f1a9c4c7c590cf9233546b4f3f0d669f1382f1e3a7", "dweb:/ipfs/QmawGhJYna4tQfnufbeWECymffNkCCXFjtjr1vSboRbft7" ], "license": "GPL-3.0" }, "contracts/release/extensions/policy-manager/policies/utils/DustEvaluatorMixin.sol": { "keccak256": "0xe3b05643184569abd6c1d6edcbaa983b54acfcdcf112306799896466786a6201", "urls": [ "bzz-raw://65e84bc47952fb5cd31a0617d7ec314e3a4c35f68582669bd2179514bc74b036", "dweb:/ipfs/QmUKqvbmeXvzvy3xZk3zhjNxm1kXSPKjBURm8Pd25Cmki4" ], "license": "GPL-3.0" }, "contracts/release/extensions/policy-manager/policies/utils/PolicyBase.sol": { "keccak256": "0x972311abb98f0da815b4aca83d5afdd219d3604ec19cf5e3773c0c305bd9b3f1", "urls": [ "bzz-raw://2452f3d1f3b1d8e8459a07489146a2d0d8a10463715937995cbe77ee5de8c069", "dweb:/ipfs/Qmf2hhd2DVbjpxmbNGAhRZNZkqpGZA2mX3eA1WNwtv6t5Y" ], "license": "GPL-3.0" }, "contracts/release/extensions/policy-manager/policies/utils/PricelessAssetBypassMixin.sol": { "keccak256": "0x5624f038f790b51ba9bd2207a6e80d188bc5d0b049807e0f06f123f6d00e3444", "urls": [ "bzz-raw://53782b55be373922df118f9970f897c1adfd4646dc4a95eec52e7c914944f68c", "dweb:/ipfs/QmTGPQRqzczosWALPZgAN6TKE4qdBuFwGBdCKy6GxtZBPe" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol": { "keccak256": "0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609", "urls": [ "bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f", "dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol": { "keccak256": "0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01", "urls": [ "bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0", "dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol": { "keccak256": "0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196", "urls": [ "bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b", "dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/price-feeds/derivatives/AggregatedDerivativePriceFeedMixin.sol": { "keccak256": "0x85d2ac39834dae7feb04f0e37317a38b8abeb0f950692fbc9d29078c52cd8d52", "urls": [ "bzz-raw://7bf8f1ce064d85a2812a944fc93068955b233924097f7f45898be3db826579d5", "dweb:/ipfs/Qme7f6AhxLVn32prM8fHaCvxtVi86A9KqFMqPA1s88kVYR" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol": { "keccak256": "0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332", "urls": [ "bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e", "dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/price-feeds/primitives/ChainlinkPriceFeedMixin.sol": { "keccak256": "0x7fb0078e7387f07ff09958fe4e4e7b317e72c23884f61e8c133776cad522f8bb", "urls": [ "bzz-raw://e973f29ed0c3bf03e20154ab4b0cfc68c3a4372a52ec746f9d9f86697b30e977", "dweb:/ipfs/QmfMb7H1zNnj2hzmUr6742HmCTiNVuQ2PFjeR8q2M4Liyu" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/protocol-fees/IProtocolFeeTracker.sol": { "keccak256": "0x232b347f83457439064add7369bfe1930c7cb56f15930bb87d640e909c15e447", "urls": [ "bzz-raw://24f9af5eebdd373b1d7a598c096eb6def31b2640d54416d7d5a7226e1cef17e6", "dweb:/ipfs/QmStq9ByGuSYdKwTmZf52L1X6sZVJUfXTnoVbnjLLiUcHG" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol": { "keccak256": "0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794", "urls": [ "bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965", "dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/value-interpreter/ValueInterpreter.sol": { "keccak256": "0x64565011785d0d29a75021cda34687cfbc0641094d6f2faf4d9c78c8cd9f0d1d", "urls": [ "bzz-raw://03ea9b29a332436d18ca1a4df7e5cdf231d5142dfb916a39cb3a721342d54e0e", "dweb:/ipfs/QmcB8Z7A7QELAxg2FfJpD26k2bUhMNUT4wACMVKxuge3QS" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IChainlinkAggregator.sol": { "keccak256": "0x8104db68d4edc00c86b29b366f4397cdbe7bd95bb9dc90f54140af4bae963788", "urls": [ "bzz-raw://4664240be22fe76bd4e84d1cbaace3998dbc96759a14345819a889f0c288d22e", "dweb:/ipfs/QmQ8fbA4tvXeCeaAFeS2JrLEQUPFeYrePAKoUywRtcicgA" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IGsnForwarder.sol": { "keccak256": "0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030", "urls": [ "bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29", "dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IGsnPaymaster.sol": { "keccak256": "0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c", "urls": [ "bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4", "dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IGsnTypes.sol": { "keccak256": "0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714", "urls": [ "bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7", "dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IWETH.sol": { "keccak256": "0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2", "urls": [ "bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2", "dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ" ], "license": "GPL-3.0" }, "contracts/release/utils/AddressArrayLib.sol": { "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", "urls": [ "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" ], "license": "GPL-3.0" }, "contracts/release/utils/FundDeployerOwnerMixin.sol": { "keccak256": "0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934", "urls": [ "bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927", "dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM" ], "license": "GPL-3.0" }, "contracts/release/utils/MathHelpers.sol": { "keccak256": "0x8aef498ae98bfb40cd1df8c9ed652b4c092fbbe62d5a1fad522c53654523248e", "urls": [ "bzz-raw://ed62789f6a8d5ca30a40c591f244b915e4711493a9e4b1b4d40ea2bc97b02a95", "dweb:/ipfs/QmWyXJ55arURtx9VMkUQokdsjk8tbgM2cC8rENFUMyz5D3" ], "license": "GPL-3.0" }, "contracts/release/utils/beacon-proxy/IBeacon.sol": { "keccak256": "0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2", "urls": [ "bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39", "dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V" ], "license": "GPL-3.0" }, "contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol": { "keccak256": "0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc", "urls": [ "bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be", "dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20Burnable.sol": { "keccak256": "0x9c0eb3b0e11d2480d49991dc384f1e5f9c9b9967cc81944d50916a9b9c6c4984", "urls": [ "bzz-raw://99e4033d778624992e86f0b6d801a4f6d7b5c0cd5c79c1296be90a051ad5f5af", "dweb:/ipfs/QmShYmkUqh6pDEeoWadZ24icmCr4C2Xys1uE5boivPmbwf" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", "urls": [ "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Address.sol": { "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", "urls": [ "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" } }, "version": 1 }, "id": 214 } diff --git a/eth_defi/abi/enzyme/Ownable.json b/eth_defi/abi/enzyme/Ownable.json index 6887bc55..8c44cc58 100644 --- a/eth_defi/abi/enzyme/Ownable.json +++ b/eth_defi/abi/enzyme/Ownable.json @@ -1,207 +1 @@ -{ - "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" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "owner()": "8da5cb5b", - "renounceOwnership()": "715018a6", - "transferOwnership(address)": "f2fde38b" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"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 anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing 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\":{\"node_modules/@openzeppelin/contracts/access/Ownable.sol\":\"Ownable\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"node_modules/@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0x15e2d5bd4c28a88548074c54d220e8086f638a71ed07e6b3ba5a70066fcf458d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://90faf5851c02f9bd42c5bfb54d4f0421a2612f50ab80b2c4fa24fa3792071cc2\",\"dweb:/ipfs/QmRGM4F2PcGVF85aTfaA9YBhCHHDqrMhRjyp6fGeBTtirb\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "previousOwner", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "newOwner", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "OwnershipTransferred", - "anonymous": false - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "owner", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "renounceOwnership" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "newOwner", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "transferOwnership" - } - ], - "devdoc": { - "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 anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing 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": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "node_modules/@openzeppelin/contracts/access/Ownable.sol": "Ownable" - }, - "libraries": {} - }, - "sources": { - "node_modules/@openzeppelin/contracts/access/Ownable.sol": { - "keccak256": "0x15e2d5bd4c28a88548074c54d220e8086f638a71ed07e6b3ba5a70066fcf458d", - "urls": [ - "bzz-raw://90faf5851c02f9bd42c5bfb54d4f0421a2612f50ab80b2c4fa24fa3792071cc2", - "dweb:/ipfs/QmRGM4F2PcGVF85aTfaA9YBhCHHDqrMhRjyp6fGeBTtirb" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 441 -} +{ "abi": [ { "type": "function", "name": "owner", "inputs": [], "outputs": [ { "name": "", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "renounceOwnership", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "transferOwnership", "inputs": [ { "name": "newOwner", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "event", "name": "OwnershipTransferred", "inputs": [ { "name": "previousOwner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "newOwner", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "owner()": "8da5cb5b", "renounceOwnership()": "715018a6", "transferOwnership(address)": "f2fde38b" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"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 anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing 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\":{\"node_modules/@openzeppelin/contracts/access/Ownable.sol\":\"Ownable\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"node_modules/@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0x15e2d5bd4c28a88548074c54d220e8086f638a71ed07e6b3ba5a70066fcf458d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://90faf5851c02f9bd42c5bfb54d4f0421a2612f50ab80b2c4fa24fa3792071cc2\",\"dweb:/ipfs/QmRGM4F2PcGVF85aTfaA9YBhCHHDqrMhRjyp6fGeBTtirb\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "previousOwner", "type": "address", "indexed": true }, { "internalType": "address", "name": "newOwner", "type": "address", "indexed": true } ], "type": "event", "name": "OwnershipTransferred", "anonymous": false }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ] }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "renounceOwnership" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "transferOwnership" } ], "devdoc": { "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 anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing 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": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "node_modules/@openzeppelin/contracts/access/Ownable.sol": "Ownable" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "node_modules/@openzeppelin/contracts/access/Ownable.sol": { "keccak256": "0x15e2d5bd4c28a88548074c54d220e8086f638a71ed07e6b3ba5a70066fcf458d", "urls": [ "bzz-raw://90faf5851c02f9bd42c5bfb54d4f0421a2612f50ab80b2c4fa24fa3792071cc2", "dweb:/ipfs/QmRGM4F2PcGVF85aTfaA9YBhCHHDqrMhRjyp6fGeBTtirb" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" } }, "version": 1 }, "id": 441 } diff --git a/eth_defi/abi/enzyme/ParaSwapV5ActionsMixin.json b/eth_defi/abi/enzyme/ParaSwapV5ActionsMixin.json index e72c9a3b..7d91673e 100644 --- a/eth_defi/abi/enzyme/ParaSwapV5ActionsMixin.json +++ b/eth_defi/abi/enzyme/ParaSwapV5ActionsMixin.json @@ -1,269 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_augustusSwapper", - "type": "address" - }, - { - "internalType": "address", - "name": "_tokenTransferProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_feePartner", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_feePercent", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "name": "getParaSwapV5AugustusSwapper", - "outputs": [ - { - "internalType": "address", - "name": "augustusSwapper_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getParaSwapV5TokenTransferProxy", - "outputs": [ - { - "internalType": "address", - "name": "tokenTransferProxy_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "getParaSwapV5AugustusSwapper()": "91bc27dc", - "getParaSwapV5TokenTransferProxy()": "2c428679" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_augustusSwapper\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_tokenTransferProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_feePartner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_feePercent\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"getParaSwapV5AugustusSwapper\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"augustusSwapper_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getParaSwapV5TokenTransferProxy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"tokenTransferProxy_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"getParaSwapV5AugustusSwapper()\":{\"returns\":{\"augustusSwapper_\":\"The `PARA_SWAP_V5_AUGUSTUS_SWAPPER` variable value\"}},\"getParaSwapV5TokenTransferProxy()\":{\"returns\":{\"tokenTransferProxy_\":\"The `PARA_SWAP_V5_TOKEN_TRANSFER_PROXY` variable value\"}}},\"title\":\"ParaSwapV5ActionsMixin Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getParaSwapV5AugustusSwapper()\":{\"notice\":\"Gets the `PARA_SWAP_V5_AUGUSTUS_SWAPPER` variable\"},\"getParaSwapV5TokenTransferProxy()\":{\"notice\":\"Gets the `PARA_SWAP_V5_TOKEN_TRANSFER_PROXY` variable\"}},\"notice\":\"Mixin contract for interacting with ParaSwap (v5)\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/integration-manager/integrations/utils/actions/ParaSwapV5ActionsMixin.sol\":\"ParaSwapV5ActionsMixin\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/integration-manager/integrations/utils/actions/ParaSwapV5ActionsMixin.sol\":{\"keccak256\":\"0x4f7e1e11e2eeb2477f5c6b2d99c2b7e30651f4c5d01e14d5a341217792cfe65c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bb1c2e66a0ea89c54ee49452fe457c507dc3858db6214daab4a0131c6202539b\",\"dweb:/ipfs/QmS3NcLQ1r8d2g4c79HJXLaviK27XtxHTE5C4pRpsm6GWE\"]},\"contracts/release/interfaces/IParaSwapV5AugustusSwapper.sol\":{\"keccak256\":\"0x41bbae45f0d7ba6a90c74bc6421c7339f3f7549171f4d8073d4b35f9691a5fa5\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a5aabccb9caf45e96a0ce884edb24dccc22460ffdeff773b8dfaec62c07fadf8\",\"dweb:/ipfs/QmV78Mdhkeks76rie9nAMjsAUey2riYsQte36VXvDPcNif\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_augustusSwapper", - "type": "address" - }, - { - "internalType": "address", - "name": "_tokenTransferProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_feePartner", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_feePercent", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getParaSwapV5AugustusSwapper", - "outputs": [ - { - "internalType": "address", - "name": "augustusSwapper_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getParaSwapV5TokenTransferProxy", - "outputs": [ - { - "internalType": "address", - "name": "tokenTransferProxy_", - "type": "address" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "getParaSwapV5AugustusSwapper()": { - "returns": { - "augustusSwapper_": "The `PARA_SWAP_V5_AUGUSTUS_SWAPPER` variable value" - } - }, - "getParaSwapV5TokenTransferProxy()": { - "returns": { - "tokenTransferProxy_": "The `PARA_SWAP_V5_TOKEN_TRANSFER_PROXY` variable value" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "getParaSwapV5AugustusSwapper()": { - "notice": "Gets the `PARA_SWAP_V5_AUGUSTUS_SWAPPER` variable" - }, - "getParaSwapV5TokenTransferProxy()": { - "notice": "Gets the `PARA_SWAP_V5_TOKEN_TRANSFER_PROXY` variable" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/integration-manager/integrations/utils/actions/ParaSwapV5ActionsMixin.sol": "ParaSwapV5ActionsMixin" - }, - "libraries": {} - }, - "sources": { - "contracts/release/extensions/integration-manager/integrations/utils/actions/ParaSwapV5ActionsMixin.sol": { - "keccak256": "0x4f7e1e11e2eeb2477f5c6b2d99c2b7e30651f4c5d01e14d5a341217792cfe65c", - "urls": [ - "bzz-raw://bb1c2e66a0ea89c54ee49452fe457c507dc3858db6214daab4a0131c6202539b", - "dweb:/ipfs/QmS3NcLQ1r8d2g4c79HJXLaviK27XtxHTE5C4pRpsm6GWE" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IParaSwapV5AugustusSwapper.sol": { - "keccak256": "0x41bbae45f0d7ba6a90c74bc6421c7339f3f7549171f4d8073d4b35f9691a5fa5", - "urls": [ - "bzz-raw://a5aabccb9caf45e96a0ce884edb24dccc22460ffdeff773b8dfaec62c07fadf8", - "dweb:/ipfs/QmV78Mdhkeks76rie9nAMjsAUey2riYsQte36VXvDPcNif" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AssetHelpers.sol": { - "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", - "urls": [ - "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", - "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { - "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", - "urls": [ - "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", - "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Address.sol": { - "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", - "urls": [ - "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", - "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 192 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_augustusSwapper", "type": "address", "internalType": "address" }, { "name": "_tokenTransferProxy", "type": "address", "internalType": "address" }, { "name": "_feePartner", "type": "address", "internalType": "address" }, { "name": "_feePercent", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "getParaSwapV5AugustusSwapper", "inputs": [], "outputs": [ { "name": "augustusSwapper_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getParaSwapV5TokenTransferProxy", "inputs": [], "outputs": [ { "name": "tokenTransferProxy_", "type": "address", "internalType": "address" } ], "stateMutability": "view" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "getParaSwapV5AugustusSwapper()": "91bc27dc", "getParaSwapV5TokenTransferProxy()": "2c428679" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_augustusSwapper\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_tokenTransferProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_feePartner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_feePercent\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"getParaSwapV5AugustusSwapper\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"augustusSwapper_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getParaSwapV5TokenTransferProxy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"tokenTransferProxy_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"getParaSwapV5AugustusSwapper()\":{\"returns\":{\"augustusSwapper_\":\"The `PARA_SWAP_V5_AUGUSTUS_SWAPPER` variable value\"}},\"getParaSwapV5TokenTransferProxy()\":{\"returns\":{\"tokenTransferProxy_\":\"The `PARA_SWAP_V5_TOKEN_TRANSFER_PROXY` variable value\"}}},\"title\":\"ParaSwapV5ActionsMixin Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getParaSwapV5AugustusSwapper()\":{\"notice\":\"Gets the `PARA_SWAP_V5_AUGUSTUS_SWAPPER` variable\"},\"getParaSwapV5TokenTransferProxy()\":{\"notice\":\"Gets the `PARA_SWAP_V5_TOKEN_TRANSFER_PROXY` variable\"}},\"notice\":\"Mixin contract for interacting with ParaSwap (v5)\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/integration-manager/integrations/utils/actions/ParaSwapV5ActionsMixin.sol\":\"ParaSwapV5ActionsMixin\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/integration-manager/integrations/utils/actions/ParaSwapV5ActionsMixin.sol\":{\"keccak256\":\"0x4f7e1e11e2eeb2477f5c6b2d99c2b7e30651f4c5d01e14d5a341217792cfe65c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bb1c2e66a0ea89c54ee49452fe457c507dc3858db6214daab4a0131c6202539b\",\"dweb:/ipfs/QmS3NcLQ1r8d2g4c79HJXLaviK27XtxHTE5C4pRpsm6GWE\"]},\"contracts/release/interfaces/IParaSwapV5AugustusSwapper.sol\":{\"keccak256\":\"0x41bbae45f0d7ba6a90c74bc6421c7339f3f7549171f4d8073d4b35f9691a5fa5\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a5aabccb9caf45e96a0ce884edb24dccc22460ffdeff773b8dfaec62c07fadf8\",\"dweb:/ipfs/QmV78Mdhkeks76rie9nAMjsAUey2riYsQte36VXvDPcNif\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_augustusSwapper", "type": "address" }, { "internalType": "address", "name": "_tokenTransferProxy", "type": "address" }, { "internalType": "address", "name": "_feePartner", "type": "address" }, { "internalType": "uint256", "name": "_feePercent", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getParaSwapV5AugustusSwapper", "outputs": [ { "internalType": "address", "name": "augustusSwapper_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getParaSwapV5TokenTransferProxy", "outputs": [ { "internalType": "address", "name": "tokenTransferProxy_", "type": "address" } ] } ], "devdoc": { "kind": "dev", "methods": { "getParaSwapV5AugustusSwapper()": { "returns": { "augustusSwapper_": "The `PARA_SWAP_V5_AUGUSTUS_SWAPPER` variable value" } }, "getParaSwapV5TokenTransferProxy()": { "returns": { "tokenTransferProxy_": "The `PARA_SWAP_V5_TOKEN_TRANSFER_PROXY` variable value" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "getParaSwapV5AugustusSwapper()": { "notice": "Gets the `PARA_SWAP_V5_AUGUSTUS_SWAPPER` variable" }, "getParaSwapV5TokenTransferProxy()": { "notice": "Gets the `PARA_SWAP_V5_TOKEN_TRANSFER_PROXY` variable" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/integration-manager/integrations/utils/actions/ParaSwapV5ActionsMixin.sol": "ParaSwapV5ActionsMixin" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/extensions/integration-manager/integrations/utils/actions/ParaSwapV5ActionsMixin.sol": { "keccak256": "0x4f7e1e11e2eeb2477f5c6b2d99c2b7e30651f4c5d01e14d5a341217792cfe65c", "urls": [ "bzz-raw://bb1c2e66a0ea89c54ee49452fe457c507dc3858db6214daab4a0131c6202539b", "dweb:/ipfs/QmS3NcLQ1r8d2g4c79HJXLaviK27XtxHTE5C4pRpsm6GWE" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IParaSwapV5AugustusSwapper.sol": { "keccak256": "0x41bbae45f0d7ba6a90c74bc6421c7339f3f7549171f4d8073d4b35f9691a5fa5", "urls": [ "bzz-raw://a5aabccb9caf45e96a0ce884edb24dccc22460ffdeff773b8dfaec62c07fadf8", "dweb:/ipfs/QmV78Mdhkeks76rie9nAMjsAUey2riYsQte36VXvDPcNif" ], "license": "GPL-3.0" }, "contracts/release/utils/AssetHelpers.sol": { "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", "urls": [ "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", "urls": [ "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Address.sol": { "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", "urls": [ "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" } }, "version": 1 }, "id": 192 } diff --git a/eth_defi/abi/enzyme/ParaSwapV5Adapter.json b/eth_defi/abi/enzyme/ParaSwapV5Adapter.json index 4c5dacac..9ddb1163 100644 --- a/eth_defi/abi/enzyme/ParaSwapV5Adapter.json +++ b/eth_defi/abi/enzyme/ParaSwapV5Adapter.json @@ -1,944 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_integrationManager", - "type": "address" - }, - { - "internalType": "address", - "name": "_augustusSwapper", - "type": "address" - }, - { - "internalType": "address", - "name": "_tokenTransferProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_feePartner", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_feePercent", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "index", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "string", - "name": "reason", - "type": "string" - } - ], - "name": "MultipleOrdersItemFailed", - "type": "event" - }, - { - "inputs": [], - "name": "CLAIM_REWARDS_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "LEND_AND_STAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "LEND_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "REDEEM_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "STAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "TAKE_MULTIPLE_ORDERS_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "TAKE_ORDER_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "UNSTAKE_AND_REDEEM_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "UNSTAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getIntegrationManager", - "outputs": [ - { - "internalType": "address", - "name": "integrationManager_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getParaSwapV5AugustusSwapper", - "outputs": [ - { - "internalType": "address", - "name": "augustusSwapper_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getParaSwapV5TokenTransferProxy", - "outputs": [ - { - "internalType": "address", - "name": "tokenTransferProxy_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes4", - "name": "_selector", - "type": "bytes4" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - } - ], - "name": "parseAssetsForAction", - "outputs": [ - { - "internalType": "enum IIntegrationManager.SpendAssetsHandleType", - "name": "spendAssetsHandleType_", - "type": "uint8" - }, - { - "internalType": "address[]", - "name": "spendAssets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "spendAssetAmounts_", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "incomingAssets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "minIncomingAssetAmounts_", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "_assetData", - "type": "bytes" - } - ], - "name": "takeMultipleOrders", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "takeOrder", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_orderData", - "type": "bytes" - } - ], - "name": "takeOrderAndValidateIncoming", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x6101206040523480156200001257600080fd5b50604051620029ba380380620029ba833981016040819052620000359162000089565b6001600160601b0319606095861b811660805293851b841660a05290841b831660c05260e05290911b166101005262000143565b805162000076816200011e565b92915050565b8051620000768162000138565b600080600080600060a08688031215620000a257600080fd5b6000620000b0888862000069565b9550506020620000c38882890162000069565b9450506040620000d68882890162000069565b9350506060620000e98882890162000069565b9250506080620000fc888289016200007c565b9150509295509295909350565b60006001600160a01b03821662000076565b90565b620001298162000109565b81146200013557600080fd5b50565b62000129816200011b565b60805160601c60a05160601c60c05160601c60e0516101005160601c61282b6200018f60003980610454525080610a195250806109ea52508061052a525080610914525061282b6000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c806340da225d11610097578063c32990a211610066578063c32990a2146101ab578063c54efee5146101b3578063e7c45690146101d7578063f7d882b5146101df57610100565b806340da225d1461018b578063863e5ad01461019357806391bc27dc1461019b578063b23228cf146101a357610100565b8063257cb1a3116100d3578063257cb1a3146101535780632c4286791461015b5780632d979b8c146101705780633ffc15911461018357610100565b806303e38a2b14610105578063080456c11461011a5780630e7f692d14610138578063131461c01461014b575b600080fd5b610118610113366004611b93565b6101e7565b005b610122610258565b60405161012f9190612501565b60405180910390f35b610118610146366004611b93565b61027c565b61012261040a565b61012261042e565b610163610452565b60405161012f919061249d565b61011861017e366004611b3e565b610477565b6101226104bc565b6101226104e0565b610122610504565b610163610528565b61012261054c565b610122610570565b6101c66101c1366004611ad7565b610594565b60405161012f95949392919061250f565b610163610912565b610122610936565b600080600080600060606102308a8a8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061095a92505050565b95509550955095509550955061024b848488888f878761098c565b5050505050505050505050565b7f8334eb99be0145865eba9889fca2ee920288090caefff4cc776038e20ad9259a81565b8482828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052506060935091506102c190508888610aed565b9150915080156103b15760005b82518110156103ab57306001600160a01b0316632d979b8c8b8584815181106102f357fe5b60200260200101516040518363ffffffff1660e01b81526004016103189291906124c6565b600060405180830381600087803b15801561033257600080fd5b505af1925050508015610343575060015b6103a35761034f612727565b8061035a5750610399565b7f61a3f67a014516af915df55e5a5e673c61ae0cc855f78150d184442765b77a0c828260405161038b9291906125fd565b60405180910390a1506103a3565b3d6000803e3d6000fd5b6001016102ce565b506103e4565b60005b82518110156103e2576103da8a8483815181106103cd57fe5b6020026020010151610b09565b6001016103b4565b505b505060606103f182610c88565b505090506103ff8382610cae565b505050505050505050565b7f29fa046e79524c3c5ac4c01df692c35e217802b2b13b21121b76cf0ef02b138c81565b7f099f75155f0e997bf83a7993a71d5e7e7540bd386fe1e84643a09ce6b412521981565b7f00000000000000000000000000000000000000000000000000000000000000005b90565b6104b78383838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610b0992505050565b505050565b7ffa7dd04da627f433da73c4355ead9c75682a67a8fc84d3f6170ef0922f402d2481565b7fb9dfbaccbe5cd2a84fdcf1d15f23ef25d23086f5afbaa99516065ed4a5bbc7a381565b7f03e38a2bd7063d45c897edeafc330e71657502dd86434d3c37a489caf116af6981565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f68e30677f607df46e87da13e15b637784cfa62374b653f35ab43d10361a2f83081565b7f0e7f692dad5b88fdee426250d6eae91207e56a2e8112b7364579bed1790e5bf481565b600060608080806001600160e01b031988166303e38a2b60e01b1415610724576040805160018082528183019092529060208083019080368337505060408051600180825281830190925292965090506020808301908036833750506040805160018082528183019092529295509050602080830190803683375050604080516001808252818301909252929450905060208083019080368337019050509050606061067588888080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061095a92505050565b909192935090508560008151811061068957fe5b602002602001018960008151811061069d57fe5b60200260200101896000815181106106b157fe5b60209081029190910101939093526001600160a01b039093169091529190528051909150819060001981019081106106e557fe5b602002602001015160000151836000815181106106fe57fe5b60200260200101906001600160a01b031690816001600160a01b03168152505050610903565b6001600160e01b03198816630e7f692d60e01b14156108e25760606107498888610aed565b50905080516001600160401b038111801561076357600080fd5b5060405190808252806020026020018201604052801561078d578160200160208202803683370190505b50945080516001600160401b03811180156107a757600080fd5b506040519080825280602002602001820160405280156107d1578160200160208202803683370190505b50935060005b81518110156108885760606107fe8383815181106107f157fe5b602002602001015161095a565b8c5193955091935090918b91508690811061081557fe5b6020026020010189868151811061082857fe5b6020026020010182955083815250836001600160a01b03166001600160a01b031681525050505061087d8160018351038151811061086257fe5b60200260200101516000015186610e0a90919063ffffffff16565b9450506001016107d7565b506108938585610e33565b845191965094506001600160401b03811180156108af57600080fd5b506040519080825280602002602001820160405280156108d9578160200160208202803683370190505b50915050610903565b60405162461bcd60e51b81526004016108fa906125dc565b60405180910390fd5b60029450945094509450945094565b7f000000000000000000000000000000000000000000000000000000000000000090565b7fc29fa9dde84204c2908778afd0613d802d31cf046179b88f6d2b4a4e507ea2d581565b60008060008060006060868060200190518101906109789190611d35565b949c939b5091995097509550909350915050565b61099e87610998610452565b88611073565b6109a6611540565b604051806101600160405280896001600160a01b03168152602001888152602001878152602001868152602001856001600160a01b031681526020018381526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000008152602001604051806020016040528060008152508152602001428152602001846001600160801b0319168152509050610a70610528565b6001600160a01b031663a94e78ef826040518263ffffffff1660e01b8152600401610a9b91906125ec565b602060405180830381600087803b158015610ab557600080fd5b505af1158015610ac9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103ff9190611d17565b60606000610afd83850185611ca9565b915091505b9250929050565b60008060008060006060610b1c8761095a565b955095509550955095509550600081600183510381518110610b3a57fe5b60200260200101516000015190506000816001600160a01b03166370a082318b6040518263ffffffff1660e01b8152600401610b76919061249d565b60206040518083038186803b158015610b8e57600080fd5b505afa158015610ba2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bc69190611d17565b9050610bd786868a8a8e898961098c565b87610c5e82846001600160a01b03166370a082318e6040518263ffffffff1660e01b8152600401610c08919061249d565b60206040518083038186803b158015610c2057600080fd5b505afa158015610c34573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c589190611d17565b90611135565b1015610c7c5760405162461bcd60e51b81526004016108fa9061257c565b50505050505050505050565b606080606083806020019051810190610ca19190611c18565b9250925092509193909250565b606081516001600160401b0381118015610cc757600080fd5b50604051908082528060200260200182016040528015610cf1578160200160208202803683370190505b50905060005b8251811015610e02576000838281518110610d0e57fe5b60200260200101519050806001600160a01b03166370a08231306040518263ffffffff1660e01b8152600401610d44919061249d565b60206040518083038186803b158015610d5c57600080fd5b505afa158015610d70573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d949190611d17565b838381518110610da057fe5b6020026020010181815250506000838381518110610dba57fe5b60200260200101511115610df957610df985848481518110610dd857fe5b6020026020010151836001600160a01b031661115d9092919063ffffffff16565b50600101610cf7565b505b92915050565b6060610e1683836111b3565b15610e22575081610e04565b610e2c8383611209565b9392505050565b606080835160001415610e4557610b02565b6001805b8551811015610ec5576000805b82811015610eaf57878181518110610e6a57fe5b60200260200101516001600160a01b0316888481518110610e8757fe5b60200260200101516001600160a01b03161415610ea75760019150610eaf565b600101610e56565b5080610ebc576001909201915b50600101610e49565b50806001600160401b0381118015610edc57600080fd5b50604051908082528060200260200182016040528015610f06578160200160208202803683370190505b509250806001600160401b0381118015610f1f57600080fd5b50604051908082528060200260200182016040528015610f49578160200160208202803683370190505b5091506000805b8651811015611069576000805b83811015610fe857868181518110610f7157fe5b60200260200101516001600160a01b0316898481518110610f8e57fe5b60200260200101516001600160a01b03161415610fe05760019150878381518110610fb557fe5b6020026020010151868281518110610fc957fe5b602002602001018181510191508181525050610fe8565b600101610f5d565b508061106057878281518110610ffa57fe5b602002602001015186848151811061100e57fe5b60200260200101906001600160a01b031690816001600160a01b03168152505086828151811061103a57fe5b602002602001015185848151811061104e57fe5b60209081029190910101526001909201915b50600101610f50565b5050509250929050565b604051636eb1769f60e11b81526000906001600160a01b0385169063dd62ed3e906110a490309087906004016124ab565b60206040518083038186803b1580156110bc57600080fd5b505afa1580156110d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110f49190611d17565b90508181101561112f578015611119576111196001600160a01b0385168460006112d3565b61112f6001600160a01b038516846000196112d3565b50505050565b6000828211156111575760405162461bcd60e51b81526004016108fa9061258c565b50900390565b6104b78363a9059cbb60e01b848460405160240161117c9291906124e6565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152611396565b6000805b83518110156111ff578381815181106111cc57fe5b60200260200101516001600160a01b0316836001600160a01b031614156111f7576001915050610e04565b6001016111b7565b5060009392505050565b606082516001016001600160401b038111801561122557600080fd5b5060405190808252806020026020018201604052801561124f578160200160208202803683370190505b50905060005b835181101561129e5783818151811061126a57fe5b602002602001015182828151811061127e57fe5b6001600160a01b0390921660209283029190910190910152600101611255565b5081818451815181106112ad57fe5b60200260200101906001600160a01b031690816001600160a01b03168152505092915050565b80158061135b5750604051636eb1769f60e11b81526001600160a01b0384169063dd62ed3e9061130990309086906004016124ab565b60206040518083038186803b15801561132157600080fd5b505afa158015611335573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113599190611d17565b155b6113775760405162461bcd60e51b81526004016108fa906125cc565b6104b78363095ea7b360e01b848460405160240161117c9291906124e6565b60606113eb826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166114259092919063ffffffff16565b8051909150156104b757808060200190518101906114099190611cf9565b6104b75760405162461bcd60e51b81526004016108fa906125bc565b6060611434848460008561143c565b949350505050565b60608247101561145e5760405162461bcd60e51b81526004016108fa9061259c565b611467856114fd565b6114835760405162461bcd60e51b81526004016108fa906125ac565b60006060866001600160a01b031685876040516114a09190612491565b60006040518083038185875af1925050503d80600081146114dd576040519150601f19603f3d011682016040523d82523d6000602084013e6114e2565b606091505b50915091506114f2828286611507565b979650505050505050565b803b15155b919050565b60608315611516575081610e2c565b8251156115265782518084602001fd5b8160405162461bcd60e51b81526004016108fa919061256b565b60405180610160016040528060006001600160a01b0316815260200160008152602001600081526020016000815260200160006001600160a01b031681526020016060815260200160006001600160a01b0316815260200160008152602001606081526020016000815260200160006001600160801b03191681525090565b8035610e04816127e6565b8051610e04816127e6565b600082601f8301126115e657600080fd5b81516115f96115f482612631565b61260b565b9150818183526020840193506020810190508385602084028201111561161e57600080fd5b60005b8381101561164a578161163488826115ca565b8452506020928301929190910190600101611621565b5050505092915050565b600082601f83011261166557600080fd5b81356116736115f482612631565b81815260209384019390925082018360005b8381101561164a578135860161169b88826118a5565b8452506020928301929190910190600101611685565b600082601f8301126116c257600080fd5b81516116d06115f482612631565b81815260209384019390925082018360005b8381101561164a57815186016116f8888261193a565b84525060209283019291909101906001016116e2565b600082601f83011261171f57600080fd5b815161172d6115f482612631565b81815260209384019390925082018360005b8381101561164a578151860161175588826119c0565b845250602092830192919091019060010161173f565b600082601f83011261177c57600080fd5b815161178a6115f482612631565b81815260209384019390925082018360005b8381101561164a57815186016117b28882611a32565b845250602092830192919091019060010161179c565b600082601f8301126117d957600080fd5b81516117e76115f482612631565b9150818183526020840193506020810190508385602084028201111561180c57600080fd5b60005b8381101561164a57816118228882611acc565b845250602092830192919091019060010161180f565b8035610e04816127fa565b8051610e04816127fa565b8051610e0481612803565b8035610e048161280c565b60008083601f84011261187657600080fd5b5081356001600160401b0381111561188d57600080fd5b602083019150836001820283011115610b0257600080fd5b600082601f8301126118b657600080fd5b81356118c46115f482612651565b915080825260208301602083018583830111156118e057600080fd5b6118eb8382846126df565b50505092915050565b600082601f83011261190557600080fd5b81516119136115f482612651565b9150808252602083016020830185838301111561192f57600080fd5b6118eb8382846126eb565b60006080828403121561194c57600080fd5b611956608061260b565b9050600061196484846115ca565b825250602061197584848301611acc565b602083015250604061198984828501611acc565b60408301525060608201516001600160401b038111156119a857600080fd5b6119b48482850161176b565b60608301525092915050565b6000606082840312156119d257600080fd5b6119dc606061260b565b905060006119ea84846115ca565b82525060206119fb84848301611acc565b60208301525060408201516001600160401b03811115611a1a57600080fd5b611a26848285016116b1565b60408301525092915050565b600060a08284031215611a4457600080fd5b611a4e60a061260b565b90506000611a5c8484611acc565b8252506020611a6d848483016115ca565b6020830152506040611a8184828501611acc565b60408301525060608201516001600160401b03811115611aa057600080fd5b611aac848285016118f4565b6060830152506080611ac084828501611acc565b60808301525092915050565b8051610e0481612815565b60008060008060608587031215611aed57600080fd5b6000611af987876115bf565b9450506020611b0a87828801611859565b93505060408501356001600160401b03811115611b2657600080fd5b611b3287828801611864565b95989497509550505050565b600080600060408486031215611b5357600080fd5b6000611b5f86866115bf565b93505060208401356001600160401b03811115611b7b57600080fd5b611b8786828701611864565b92509250509250925092565b600080600080600060608688031215611bab57600080fd5b6000611bb788886115bf565b95505060208601356001600160401b03811115611bd357600080fd5b611bdf88828901611864565b945094505060408601356001600160401b03811115611bfd57600080fd5b611c0988828901611864565b92509250509295509295909350565b600080600060608486031215611c2d57600080fd5b83516001600160401b03811115611c4357600080fd5b611c4f868287016115d5565b93505060208401516001600160401b03811115611c6b57600080fd5b611c77868287016117c8565b92505060408401516001600160401b03811115611c9357600080fd5b611c9f868287016115d5565b9150509250925092565b60008060408385031215611cbc57600080fd5b82356001600160401b03811115611cd257600080fd5b611cde85828601611654565b9250506020611cef85828601611838565b9150509250929050565b600060208284031215611d0b57600080fd5b60006114348484611843565b600060208284031215611d2957600080fd5b60006114348484611acc565b60008060008060008060c08789031215611d4e57600080fd5b6000611d5a8989611acc565b9650506020611d6b89828a01611acc565b9550506040611d7c89828a016115ca565b9450506060611d8d89828a01611acc565b9350506080611d9e89828a0161184e565b92505060a08701516001600160401b03811115611dba57600080fd5b611dc689828a0161170e565b9150509295509295509295565b6000611ddf8383611e17565b505060200190565b6000610e2c8383612298565b6000610e2c83836122f3565b6000610e2c8383612332565b6000611ddf8383612488565b611e208161268b565b82525050565b6000611e318261267e565b611e3b8185612682565b9350611e4683612678565b8060005b83811015611e74578151611e5e8882611dd3565b9750611e6983612678565b925050600101611e4a565b509495945050505050565b6000611e8a8261267e565b611e948185612682565b935083602082028501611ea685612678565b8060005b85811015611ee05784840389528151611ec38582611de7565b9450611ece83612678565b60209a909a0199925050600101611eaa565b5091979650505050505050565b6000611ef88261267e565b611f028185612682565b935083602082028501611f1485612678565b8060005b85811015611ee05784840389528151611f318582611df3565b9450611f3c83612678565b60209a909a0199925050600101611f18565b6000611f598261267e565b611f638185612682565b935083602082028501611f7585612678565b8060005b85811015611ee05784840389528151611f928582611dff565b9450611f9d83612678565b60209a909a0199925050600101611f79565b6000611fba8261267e565b611fc48185612682565b9350611fcf83612678565b8060005b83811015611e74578151611fe78882611e0b565b9750611ff283612678565b925050600101611fd3565b611e208161269b565b611e20816126b1565b600061201a8261267e565b6120248185612682565b93506120348185602086016126eb565b61203d81612717565b9093019392505050565b60006120528261267e565b61205c8185611502565b935061206c8185602086016126eb565b9290920192915050565b611e20816126d4565b600061208c604a83612682565b7f5f5f74616b654f72646572416e6456616c6964617465496e636f6d696e673a2081527f526563656976656420696e636f6d696e67206173736574206c657373207468616020820152691b88195e1c1958dd195960b21b604082015260600192915050565b60006120fe601e83612682565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000612137602683612682565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f8152651c8818d85b1b60d21b602082015260400192915050565b600061217f601d83612682565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000815260200192915050565b60006121b8602a83612682565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e8152691bdd081cdd58d8d9595960b21b602082015260400192915050565b6000612204603683612682565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f81527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b602082015260400192915050565b600061225c602783612682565b7f7061727365417373657473466f72416374696f6e3a205f73656c6563746f72208152661a5b9d985b1a5960ca1b602082015260400192915050565b805160009060808401906122ac8582611e17565b5060208301516122bf6020860182612488565b5060408301516122d26040860182612488565b50606083015184820360608601526122ea8282611f4e565b95945050505050565b805160009060608401906123078582611e17565b50602083015161231a6020860182612488565b50604083015184820360408601526122ea8282611e7f565b805160009060a08401906123468582612488565b5060208301516123596020860182611e17565b50604083015161236c6040860182612488565b5060608301518482036060860152612384828261200f565b91505060808301516123996080860182612488565b509392505050565b80516000906101608401906123b68582611e17565b5060208301516123c96020860182612488565b5060408301516123dc6040860182612488565b5060608301516123ef6060860182612488565b5060808301516124026080860182611e17565b5060a083015184820360a086015261241a8282611eed565b91505060c083015161242f60c0860182611e17565b5060e083015161244260e0860182612488565b5061010083015184820361010086015261245c828261200f565b915050610120830151612473610120860182612488565b50610140830151612399610140860182611ffd565b611e2081610474565b6000610e2c8284612047565b60208101610e048284611e17565b604081016124b98285611e17565b610e2c6020830184611e17565b604081016124d48285611e17565b8181036020830152611434818461200f565b604081016124f48285611e17565b610e2c6020830184612488565b60208101610e048284612006565b60a0810161251d8288612076565b818103602083015261252f8187611e26565b905081810360408301526125438186611faf565b905081810360608301526125578185611e26565b905081810360808301526114f28184611faf565b60208082528101610e2c818461200f565b60208082528101610e048161207f565b60208082528101610e04816120f1565b60208082528101610e048161212a565b60208082528101610e0481612172565b60208082528101610e04816121ab565b60208082528101610e04816121f7565b60208082528101610e048161224f565b60208082528101610e2c81846123a1565b604081016124d48285612488565b6040518181016001600160401b038111828210171561262957600080fd5b604052919050565b60006001600160401b0382111561264757600080fd5b5060209081020190565b60006001600160401b0382111561266757600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b6000610e04826126c8565b151590565b6fffffffffffffffffffffffffffffffff191690565b6001600160e01b03191690565b80611502816127d9565b6001600160a01b031690565b6000610e04826126be565b82818337506000910152565b60005b838110156127065781810151838201526020016126ee565b8381111561112f5750506000910152565b601f01601f191690565b60e01c90565b600060443d101561273757610474565b60046000803e612748600051612721565b6308c379a081146127595750610474565b60405160043d036004823e80513d60248201116001600160401b038211171561278457505050610474565b80820180516001600160401b038111156127a2575050505050610474565b8060208301013d85018111156127bd57505050505050610474565b6127c682612717565b8301602001604052509094505050505090565b600381106127e357fe5b50565b6127ef8161268b565b81146127e357600080fd5b6127ef81612696565b6127ef8161269b565b6127ef816126b1565b6127ef8161047456fea164736f6c634300060c000a", - "sourceMap": "701:8974:171:-:0;;;882:342;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;1938:41:179;;;;;;;;1028:48:192;;;;;;;1086:47;;;;;;;1143:38;;1191:55;;;;;;701:8974:171;;5:134:-1;83:13;;101:33;83:13;101:33;:::i;:::-;68:71;;;;:::o;146:134::-;224:13;;242:33;224:13;242:33;:::i;287:809::-;;;;;;470:3;458:9;449:7;445:23;441:33;438:2;;;487:1;484;477:12;438:2;522:1;539:64;595:7;575:9;539:64;:::i;:::-;529:74;;501:108;640:2;658:64;714:7;705:6;694:9;690:22;658:64;:::i;:::-;648:74;;619:109;759:2;777:64;833:7;824:6;813:9;809:22;777:64;:::i;:::-;767:74;;738:109;878:2;896:64;952:7;943:6;932:9;928:22;896:64;:::i;:::-;886:74;;857:109;997:3;1016:64;1072:7;1063:6;1052:9;1048:22;1016:64;:::i;:::-;1006:74;;976:110;432:664;;;;;;;;:::o;1103:91::-;;-1:-1;;;;;1263:54;;1165:24;1246:76::o;1329:72::-;1391:5;1374:27::o;1408:117::-;1477:24;1495:5;1477:24;:::i;:::-;1470:5;1467:35;1457:2;;1516:1;1513;1506:12;1457:2;1451:74;:::o;1532:117::-;1601:24;1619:5;1601:24;:::i;1575:74::-;701:8974:171;;;;;;;;;;;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106101005760003560e01c806340da225d11610097578063c32990a211610066578063c32990a2146101ab578063c54efee5146101b3578063e7c45690146101d7578063f7d882b5146101df57610100565b806340da225d1461018b578063863e5ad01461019357806391bc27dc1461019b578063b23228cf146101a357610100565b8063257cb1a3116100d3578063257cb1a3146101535780632c4286791461015b5780632d979b8c146101705780633ffc15911461018357610100565b806303e38a2b14610105578063080456c11461011a5780630e7f692d14610138578063131461c01461014b575b600080fd5b610118610113366004611b93565b6101e7565b005b610122610258565b60405161012f9190612501565b60405180910390f35b610118610146366004611b93565b61027c565b61012261040a565b61012261042e565b610163610452565b60405161012f919061249d565b61011861017e366004611b3e565b610477565b6101226104bc565b6101226104e0565b610122610504565b610163610528565b61012261054c565b610122610570565b6101c66101c1366004611ad7565b610594565b60405161012f95949392919061250f565b610163610912565b610122610936565b600080600080600060606102308a8a8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061095a92505050565b95509550955095509550955061024b848488888f878761098c565b5050505050505050505050565b7f8334eb99be0145865eba9889fca2ee920288090caefff4cc776038e20ad9259a81565b8482828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052506060935091506102c190508888610aed565b9150915080156103b15760005b82518110156103ab57306001600160a01b0316632d979b8c8b8584815181106102f357fe5b60200260200101516040518363ffffffff1660e01b81526004016103189291906124c6565b600060405180830381600087803b15801561033257600080fd5b505af1925050508015610343575060015b6103a35761034f612727565b8061035a5750610399565b7f61a3f67a014516af915df55e5a5e673c61ae0cc855f78150d184442765b77a0c828260405161038b9291906125fd565b60405180910390a1506103a3565b3d6000803e3d6000fd5b6001016102ce565b506103e4565b60005b82518110156103e2576103da8a8483815181106103cd57fe5b6020026020010151610b09565b6001016103b4565b505b505060606103f182610c88565b505090506103ff8382610cae565b505050505050505050565b7f29fa046e79524c3c5ac4c01df692c35e217802b2b13b21121b76cf0ef02b138c81565b7f099f75155f0e997bf83a7993a71d5e7e7540bd386fe1e84643a09ce6b412521981565b7f00000000000000000000000000000000000000000000000000000000000000005b90565b6104b78383838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610b0992505050565b505050565b7ffa7dd04da627f433da73c4355ead9c75682a67a8fc84d3f6170ef0922f402d2481565b7fb9dfbaccbe5cd2a84fdcf1d15f23ef25d23086f5afbaa99516065ed4a5bbc7a381565b7f03e38a2bd7063d45c897edeafc330e71657502dd86434d3c37a489caf116af6981565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f68e30677f607df46e87da13e15b637784cfa62374b653f35ab43d10361a2f83081565b7f0e7f692dad5b88fdee426250d6eae91207e56a2e8112b7364579bed1790e5bf481565b600060608080806001600160e01b031988166303e38a2b60e01b1415610724576040805160018082528183019092529060208083019080368337505060408051600180825281830190925292965090506020808301908036833750506040805160018082528183019092529295509050602080830190803683375050604080516001808252818301909252929450905060208083019080368337019050509050606061067588888080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061095a92505050565b909192935090508560008151811061068957fe5b602002602001018960008151811061069d57fe5b60200260200101896000815181106106b157fe5b60209081029190910101939093526001600160a01b039093169091529190528051909150819060001981019081106106e557fe5b602002602001015160000151836000815181106106fe57fe5b60200260200101906001600160a01b031690816001600160a01b03168152505050610903565b6001600160e01b03198816630e7f692d60e01b14156108e25760606107498888610aed565b50905080516001600160401b038111801561076357600080fd5b5060405190808252806020026020018201604052801561078d578160200160208202803683370190505b50945080516001600160401b03811180156107a757600080fd5b506040519080825280602002602001820160405280156107d1578160200160208202803683370190505b50935060005b81518110156108885760606107fe8383815181106107f157fe5b602002602001015161095a565b8c5193955091935090918b91508690811061081557fe5b6020026020010189868151811061082857fe5b6020026020010182955083815250836001600160a01b03166001600160a01b031681525050505061087d8160018351038151811061086257fe5b60200260200101516000015186610e0a90919063ffffffff16565b9450506001016107d7565b506108938585610e33565b845191965094506001600160401b03811180156108af57600080fd5b506040519080825280602002602001820160405280156108d9578160200160208202803683370190505b50915050610903565b60405162461bcd60e51b81526004016108fa906125dc565b60405180910390fd5b60029450945094509450945094565b7f000000000000000000000000000000000000000000000000000000000000000090565b7fc29fa9dde84204c2908778afd0613d802d31cf046179b88f6d2b4a4e507ea2d581565b60008060008060006060868060200190518101906109789190611d35565b949c939b5091995097509550909350915050565b61099e87610998610452565b88611073565b6109a6611540565b604051806101600160405280896001600160a01b03168152602001888152602001878152602001868152602001856001600160a01b031681526020018381526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000008152602001604051806020016040528060008152508152602001428152602001846001600160801b0319168152509050610a70610528565b6001600160a01b031663a94e78ef826040518263ffffffff1660e01b8152600401610a9b91906125ec565b602060405180830381600087803b158015610ab557600080fd5b505af1158015610ac9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103ff9190611d17565b60606000610afd83850185611ca9565b915091505b9250929050565b60008060008060006060610b1c8761095a565b955095509550955095509550600081600183510381518110610b3a57fe5b60200260200101516000015190506000816001600160a01b03166370a082318b6040518263ffffffff1660e01b8152600401610b76919061249d565b60206040518083038186803b158015610b8e57600080fd5b505afa158015610ba2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bc69190611d17565b9050610bd786868a8a8e898961098c565b87610c5e82846001600160a01b03166370a082318e6040518263ffffffff1660e01b8152600401610c08919061249d565b60206040518083038186803b158015610c2057600080fd5b505afa158015610c34573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c589190611d17565b90611135565b1015610c7c5760405162461bcd60e51b81526004016108fa9061257c565b50505050505050505050565b606080606083806020019051810190610ca19190611c18565b9250925092509193909250565b606081516001600160401b0381118015610cc757600080fd5b50604051908082528060200260200182016040528015610cf1578160200160208202803683370190505b50905060005b8251811015610e02576000838281518110610d0e57fe5b60200260200101519050806001600160a01b03166370a08231306040518263ffffffff1660e01b8152600401610d44919061249d565b60206040518083038186803b158015610d5c57600080fd5b505afa158015610d70573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d949190611d17565b838381518110610da057fe5b6020026020010181815250506000838381518110610dba57fe5b60200260200101511115610df957610df985848481518110610dd857fe5b6020026020010151836001600160a01b031661115d9092919063ffffffff16565b50600101610cf7565b505b92915050565b6060610e1683836111b3565b15610e22575081610e04565b610e2c8383611209565b9392505050565b606080835160001415610e4557610b02565b6001805b8551811015610ec5576000805b82811015610eaf57878181518110610e6a57fe5b60200260200101516001600160a01b0316888481518110610e8757fe5b60200260200101516001600160a01b03161415610ea75760019150610eaf565b600101610e56565b5080610ebc576001909201915b50600101610e49565b50806001600160401b0381118015610edc57600080fd5b50604051908082528060200260200182016040528015610f06578160200160208202803683370190505b509250806001600160401b0381118015610f1f57600080fd5b50604051908082528060200260200182016040528015610f49578160200160208202803683370190505b5091506000805b8651811015611069576000805b83811015610fe857868181518110610f7157fe5b60200260200101516001600160a01b0316898481518110610f8e57fe5b60200260200101516001600160a01b03161415610fe05760019150878381518110610fb557fe5b6020026020010151868281518110610fc957fe5b602002602001018181510191508181525050610fe8565b600101610f5d565b508061106057878281518110610ffa57fe5b602002602001015186848151811061100e57fe5b60200260200101906001600160a01b031690816001600160a01b03168152505086828151811061103a57fe5b602002602001015185848151811061104e57fe5b60209081029190910101526001909201915b50600101610f50565b5050509250929050565b604051636eb1769f60e11b81526000906001600160a01b0385169063dd62ed3e906110a490309087906004016124ab565b60206040518083038186803b1580156110bc57600080fd5b505afa1580156110d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110f49190611d17565b90508181101561112f578015611119576111196001600160a01b0385168460006112d3565b61112f6001600160a01b038516846000196112d3565b50505050565b6000828211156111575760405162461bcd60e51b81526004016108fa9061258c565b50900390565b6104b78363a9059cbb60e01b848460405160240161117c9291906124e6565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152611396565b6000805b83518110156111ff578381815181106111cc57fe5b60200260200101516001600160a01b0316836001600160a01b031614156111f7576001915050610e04565b6001016111b7565b5060009392505050565b606082516001016001600160401b038111801561122557600080fd5b5060405190808252806020026020018201604052801561124f578160200160208202803683370190505b50905060005b835181101561129e5783818151811061126a57fe5b602002602001015182828151811061127e57fe5b6001600160a01b0390921660209283029190910190910152600101611255565b5081818451815181106112ad57fe5b60200260200101906001600160a01b031690816001600160a01b03168152505092915050565b80158061135b5750604051636eb1769f60e11b81526001600160a01b0384169063dd62ed3e9061130990309086906004016124ab565b60206040518083038186803b15801561132157600080fd5b505afa158015611335573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113599190611d17565b155b6113775760405162461bcd60e51b81526004016108fa906125cc565b6104b78363095ea7b360e01b848460405160240161117c9291906124e6565b60606113eb826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166114259092919063ffffffff16565b8051909150156104b757808060200190518101906114099190611cf9565b6104b75760405162461bcd60e51b81526004016108fa906125bc565b6060611434848460008561143c565b949350505050565b60608247101561145e5760405162461bcd60e51b81526004016108fa9061259c565b611467856114fd565b6114835760405162461bcd60e51b81526004016108fa906125ac565b60006060866001600160a01b031685876040516114a09190612491565b60006040518083038185875af1925050503d80600081146114dd576040519150601f19603f3d011682016040523d82523d6000602084013e6114e2565b606091505b50915091506114f2828286611507565b979650505050505050565b803b15155b919050565b60608315611516575081610e2c565b8251156115265782518084602001fd5b8160405162461bcd60e51b81526004016108fa919061256b565b60405180610160016040528060006001600160a01b0316815260200160008152602001600081526020016000815260200160006001600160a01b031681526020016060815260200160006001600160a01b0316815260200160008152602001606081526020016000815260200160006001600160801b03191681525090565b8035610e04816127e6565b8051610e04816127e6565b600082601f8301126115e657600080fd5b81516115f96115f482612631565b61260b565b9150818183526020840193506020810190508385602084028201111561161e57600080fd5b60005b8381101561164a578161163488826115ca565b8452506020928301929190910190600101611621565b5050505092915050565b600082601f83011261166557600080fd5b81356116736115f482612631565b81815260209384019390925082018360005b8381101561164a578135860161169b88826118a5565b8452506020928301929190910190600101611685565b600082601f8301126116c257600080fd5b81516116d06115f482612631565b81815260209384019390925082018360005b8381101561164a57815186016116f8888261193a565b84525060209283019291909101906001016116e2565b600082601f83011261171f57600080fd5b815161172d6115f482612631565b81815260209384019390925082018360005b8381101561164a578151860161175588826119c0565b845250602092830192919091019060010161173f565b600082601f83011261177c57600080fd5b815161178a6115f482612631565b81815260209384019390925082018360005b8381101561164a57815186016117b28882611a32565b845250602092830192919091019060010161179c565b600082601f8301126117d957600080fd5b81516117e76115f482612631565b9150818183526020840193506020810190508385602084028201111561180c57600080fd5b60005b8381101561164a57816118228882611acc565b845250602092830192919091019060010161180f565b8035610e04816127fa565b8051610e04816127fa565b8051610e0481612803565b8035610e048161280c565b60008083601f84011261187657600080fd5b5081356001600160401b0381111561188d57600080fd5b602083019150836001820283011115610b0257600080fd5b600082601f8301126118b657600080fd5b81356118c46115f482612651565b915080825260208301602083018583830111156118e057600080fd5b6118eb8382846126df565b50505092915050565b600082601f83011261190557600080fd5b81516119136115f482612651565b9150808252602083016020830185838301111561192f57600080fd5b6118eb8382846126eb565b60006080828403121561194c57600080fd5b611956608061260b565b9050600061196484846115ca565b825250602061197584848301611acc565b602083015250604061198984828501611acc565b60408301525060608201516001600160401b038111156119a857600080fd5b6119b48482850161176b565b60608301525092915050565b6000606082840312156119d257600080fd5b6119dc606061260b565b905060006119ea84846115ca565b82525060206119fb84848301611acc565b60208301525060408201516001600160401b03811115611a1a57600080fd5b611a26848285016116b1565b60408301525092915050565b600060a08284031215611a4457600080fd5b611a4e60a061260b565b90506000611a5c8484611acc565b8252506020611a6d848483016115ca565b6020830152506040611a8184828501611acc565b60408301525060608201516001600160401b03811115611aa057600080fd5b611aac848285016118f4565b6060830152506080611ac084828501611acc565b60808301525092915050565b8051610e0481612815565b60008060008060608587031215611aed57600080fd5b6000611af987876115bf565b9450506020611b0a87828801611859565b93505060408501356001600160401b03811115611b2657600080fd5b611b3287828801611864565b95989497509550505050565b600080600060408486031215611b5357600080fd5b6000611b5f86866115bf565b93505060208401356001600160401b03811115611b7b57600080fd5b611b8786828701611864565b92509250509250925092565b600080600080600060608688031215611bab57600080fd5b6000611bb788886115bf565b95505060208601356001600160401b03811115611bd357600080fd5b611bdf88828901611864565b945094505060408601356001600160401b03811115611bfd57600080fd5b611c0988828901611864565b92509250509295509295909350565b600080600060608486031215611c2d57600080fd5b83516001600160401b03811115611c4357600080fd5b611c4f868287016115d5565b93505060208401516001600160401b03811115611c6b57600080fd5b611c77868287016117c8565b92505060408401516001600160401b03811115611c9357600080fd5b611c9f868287016115d5565b9150509250925092565b60008060408385031215611cbc57600080fd5b82356001600160401b03811115611cd257600080fd5b611cde85828601611654565b9250506020611cef85828601611838565b9150509250929050565b600060208284031215611d0b57600080fd5b60006114348484611843565b600060208284031215611d2957600080fd5b60006114348484611acc565b60008060008060008060c08789031215611d4e57600080fd5b6000611d5a8989611acc565b9650506020611d6b89828a01611acc565b9550506040611d7c89828a016115ca565b9450506060611d8d89828a01611acc565b9350506080611d9e89828a0161184e565b92505060a08701516001600160401b03811115611dba57600080fd5b611dc689828a0161170e565b9150509295509295509295565b6000611ddf8383611e17565b505060200190565b6000610e2c8383612298565b6000610e2c83836122f3565b6000610e2c8383612332565b6000611ddf8383612488565b611e208161268b565b82525050565b6000611e318261267e565b611e3b8185612682565b9350611e4683612678565b8060005b83811015611e74578151611e5e8882611dd3565b9750611e6983612678565b925050600101611e4a565b509495945050505050565b6000611e8a8261267e565b611e948185612682565b935083602082028501611ea685612678565b8060005b85811015611ee05784840389528151611ec38582611de7565b9450611ece83612678565b60209a909a0199925050600101611eaa565b5091979650505050505050565b6000611ef88261267e565b611f028185612682565b935083602082028501611f1485612678565b8060005b85811015611ee05784840389528151611f318582611df3565b9450611f3c83612678565b60209a909a0199925050600101611f18565b6000611f598261267e565b611f638185612682565b935083602082028501611f7585612678565b8060005b85811015611ee05784840389528151611f928582611dff565b9450611f9d83612678565b60209a909a0199925050600101611f79565b6000611fba8261267e565b611fc48185612682565b9350611fcf83612678565b8060005b83811015611e74578151611fe78882611e0b565b9750611ff283612678565b925050600101611fd3565b611e208161269b565b611e20816126b1565b600061201a8261267e565b6120248185612682565b93506120348185602086016126eb565b61203d81612717565b9093019392505050565b60006120528261267e565b61205c8185611502565b935061206c8185602086016126eb565b9290920192915050565b611e20816126d4565b600061208c604a83612682565b7f5f5f74616b654f72646572416e6456616c6964617465496e636f6d696e673a2081527f526563656976656420696e636f6d696e67206173736574206c657373207468616020820152691b88195e1c1958dd195960b21b604082015260600192915050565b60006120fe601e83612682565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000612137602683612682565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f8152651c8818d85b1b60d21b602082015260400192915050565b600061217f601d83612682565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000815260200192915050565b60006121b8602a83612682565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e8152691bdd081cdd58d8d9595960b21b602082015260400192915050565b6000612204603683612682565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f81527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b602082015260400192915050565b600061225c602783612682565b7f7061727365417373657473466f72416374696f6e3a205f73656c6563746f72208152661a5b9d985b1a5960ca1b602082015260400192915050565b805160009060808401906122ac8582611e17565b5060208301516122bf6020860182612488565b5060408301516122d26040860182612488565b50606083015184820360608601526122ea8282611f4e565b95945050505050565b805160009060608401906123078582611e17565b50602083015161231a6020860182612488565b50604083015184820360408601526122ea8282611e7f565b805160009060a08401906123468582612488565b5060208301516123596020860182611e17565b50604083015161236c6040860182612488565b5060608301518482036060860152612384828261200f565b91505060808301516123996080860182612488565b509392505050565b80516000906101608401906123b68582611e17565b5060208301516123c96020860182612488565b5060408301516123dc6040860182612488565b5060608301516123ef6060860182612488565b5060808301516124026080860182611e17565b5060a083015184820360a086015261241a8282611eed565b91505060c083015161242f60c0860182611e17565b5060e083015161244260e0860182612488565b5061010083015184820361010086015261245c828261200f565b915050610120830151612473610120860182612488565b50610140830151612399610140860182611ffd565b611e2081610474565b6000610e2c8284612047565b60208101610e048284611e17565b604081016124b98285611e17565b610e2c6020830184611e17565b604081016124d48285611e17565b8181036020830152611434818461200f565b604081016124f48285611e17565b610e2c6020830184612488565b60208101610e048284612006565b60a0810161251d8288612076565b818103602083015261252f8187611e26565b905081810360408301526125438186611faf565b905081810360608301526125578185611e26565b905081810360808301526114f28184611faf565b60208082528101610e2c818461200f565b60208082528101610e048161207f565b60208082528101610e04816120f1565b60208082528101610e048161212a565b60208082528101610e0481612172565b60208082528101610e04816121ab565b60208082528101610e04816121f7565b60208082528101610e048161224f565b60208082528101610e2c81846123a1565b604081016124d48285612488565b6040518181016001600160401b038111828210171561262957600080fd5b604052919050565b60006001600160401b0382111561264757600080fd5b5060209081020190565b60006001600160401b0382111561266757600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b6000610e04826126c8565b151590565b6fffffffffffffffffffffffffffffffff191690565b6001600160e01b03191690565b80611502816127d9565b6001600160a01b031690565b6000610e04826126be565b82818337506000910152565b60005b838110156127065781810151838201526020016126ee565b8381111561112f5750506000910152565b601f01601f191690565b60e01c90565b600060443d101561273757610474565b60046000803e612748600051612721565b6308c379a081146127595750610474565b60405160043d036004823e80513d60248201116001600160401b038211171561278457505050610474565b80820180516001600160401b038111156127a2575050505050610474565b8060208301013d85018111156127bd57505050505050610474565b6127c682612717565b8301602001604052509094505050505090565b600381106127e357fe5b50565b6127ef8161268b565b81146127e357600080fd5b6127ef81612696565b6127ef8161269b565b6127ef816126b1565b6127ef8161047456fea164736f6c634300060c000a", - "sourceMap": "701:8974:171:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2726:696;;;;;;:::i;:::-;;:::i;:::-;;1490:119:180;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1543:865:171;;;;;;:::i;:::-;;:::i;1373:111:180:-;;;:::i;832:85::-;;;:::i;2963:150:192:-;;;:::i;:::-;;;;;;;:::i;3575:179:171:-;;;;;;:::i;:::-;;:::i;1034:87:180:-;;;:::i;1240:110::-;;;:::i;706:104::-;;;:::i;2656:140:192:-;;;:::i;1127:91:180:-;;;:::i;577:123::-;;;:::i;5909:2647:171:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;:::i;2637:128:179:-;;;:::i;923:89:180:-;;;:::i;2726:696:171:-;2873:30;2917:35;2966:21;3001:27;3042:12;3068:46;3127:38;3153:11;;3127:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3127:25:171;;-1:-1:-1;;;3127:38:171:i;:::-;2859:306;;;;;;;;;;;;3176:239;3211:13;3238:19;3271:22;3307:27;3356:11;3382:4;3400:5;3176:21;:239::i;:::-;2726:696;;;;;;;;;;;:::o;1490:119:180:-;1558:50;1490:119;:::o;1543:865:171:-;1723:11;1736:10;;1429:247:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1759:25:171::1;::::0;-1:-1:-1;1429:247:179;-1:-1:-1;1812:69:171::1;::::0;-1:-1:-1;1860:11:171;;1812:34:::1;:69::i;:::-;1758:123;;;;1896:17;1892:510;;;1934:9;1929:298;1949:10;:17;1945:1;:21;1929:298;;;1995:4;-1:-1:-1::0;;;;;1995:33:171::1;;2029:11;2042:10;2053:1;2042:13;;;;;;;;;;;;;;1995:61;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;1991:222;;;;:::i;:::-;;;;;;;;2159:35;2184:1;2187:6;2159:35;;;;;;;:::i;:::-;;;;;;;;2060:153;1991:222;;;;;::::0;::::1;;;;;1968:3;;1929:298;;;;1892:510;;;2262:9;2257:135;2277:10;:17;2273:1;:21;2257:135;;;2319:58;2350:11;2363:10;2374:1;2363:13;;;;;;;;;;;;;;2319:30;:58::i;:::-;2296:3;;2257:135;;;;1892:510;1531:1:179;;1544:28:::0;1580:29;1598:10;1580:17;:29::i;:::-;1543:66;;;;1620:49;1644:11;1657;1620:23;:49::i;:::-;;1543:865:171;;;;;;;;:::o;1373:111:180:-;1437:46;1373:111;:::o;832:85::-;878:38;832:85;:::o;2963:150:192:-;3073:33;2963:150;;:::o;3575:179:171:-;3692:55;3723:11;3736:10;;3692:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3692:30:171;;-1:-1:-1;;;3692:55:171:i;:::-;3575:179;;;:::o;1034:87:180:-;1081:39;1034:87;:::o;1240:110::-;1303:46;1240:110;:::o;706:104::-;766:43;706:104;:::o;2656:140:192:-;2760:29;2656:140;:::o;1127:91:180:-;1176:41;1127:91;:::o;577:123::-;647:52;577:123;:::o;5909:2647:171:-;6101:64;6179:29;;;;-1:-1:-1;;;;;;6387:32:171;;-1:-1:-1;;;6387:32:171;6383:1950;;;6450:16;;;6464:1;6450:16;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6501:16:171;;;6515:1;6501:16;;;;;;;;;6435:31;;-1:-1:-1;6515:1:171;-1:-1:-1;6501:16:171;;;;;;;;;-1:-1:-1;;6549:16:171;;;6563:1;6549:16;;;;;;;;;6480:37;;-1:-1:-1;6563:1:171;-1:-1:-1;6549:16:171;;;;;;;;;-1:-1:-1;;6606:16:171;;;6620:1;6606:16;;;;;;;;;6531:34;;-1:-1:-1;6620:1:171;-1:-1:-1;6606:16:171;;;;;;;;;;;-1:-1:-1;6606:16:171;6579:43;;6637:46;6890:38;6916:11;;6890:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6890:25:171;;-1:-1:-1;;;6890:38:171:i;:::-;6697:231;;;;;;;6715:24;6740:1;6715:27;;;;;;;;;;;;;6778:12;6791:1;6778:15;;;;;;;;;;;;;6811:18;6830:1;6811:21;;;;;;;;;;;;;;;;;6697:231;;;;-1:-1:-1;;;;;6697:231:171;;;;;;;;;6970:12;;6697:231;;-1:-1:-1;6697:231:171;;-1:-1:-1;;6970:16:171;;;6964:23;;;;;;;;;;;;:26;;;6943:15;6959:1;6943:18;;;;;;;;;;;;;:47;-1:-1:-1;;;;;6943:47:171;;;-1:-1:-1;;;;;6943:47:171;;;;;6383:1950;;;;-1:-1:-1;;;;;;7011:42:171;;-1:-1:-1;;;7011:42:171;7007:1326;;;7070:25;7101:47;7136:11;;7101:34;:47::i;:::-;7069:79;;;7192:10;:17;-1:-1:-1;;;;;7178:32:171;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7178:32:171;;7163:47;;7259:10;:17;-1:-1:-1;;;;;7245:32:171;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7245:32:171;;7224:53;;7296:9;7291:415;7311:10;:17;7307:1;:21;7291:415;;;7353:46;7473:78;7520:10;7531:1;7520:13;;;;;;;;;;;;;;7473:25;:78::i;:::-;7422:15;;7417:134;;-1:-1:-1;7417:134:171;;-1:-1:-1;7417:134:171;;7422:12;;-1:-1:-1;7435:1:171;;7422:15;;;;;;;;;;;7439:18;7458:1;7439:21;;;;;;;;;;;;;7417:134;;;;;;;;-1:-1:-1;;;;;7417:134:171;-1:-1:-1;;;;;7417:134:171;;;;;;;7634:57;7664:5;7685:1;7670:5;:12;:16;7664:23;;;;;;;;;;;;;;:26;;;7634:15;:29;;:57;;;;:::i;:::-;7616:75;-1:-1:-1;;7330:3:171;;7291:415;;;;7756:103;7797:12;7827:18;7756:23;:103::i;:::-;8219:22;;7719:140;;-1:-1:-1;7719:140:171;-1:-1:-1;;;;;;8205:37:171;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8205:37:171;;8178:64;;7007:1326;;;;8273:49;;-1:-1:-1;;;8273:49:171;;;;;;;:::i;:::-;;;;;;;;7007:1326;8364:50;8343:206;;5909:2647;;;;;;;;;:::o;2637:128:179:-;2739:19;2637:128;:::o;923:89:180:-;971:40;923:89;:::o;9054:619:171:-;9174:31;9219:36;9319:22;9355:28;9397:13;9424:47;9543:11;9515:151;;;;;;;;;;;;:::i;:::-;9496:170;;;;-1:-1:-1;9496:170:171;;-1:-1:-1;9496:170:171;-1:-1:-1;9496:170:171;-1:-1:-1;9496:170:171;;-1:-1:-1;9054:619:171;-1:-1:-1;;9054:619:171:o;1405:1022:192:-;1695:85;1721:10;1733:33;:31;:33::i;:::-;1768:11;1695:25;:85::i;:::-;1791:51;;:::i;:::-;1845:486;;;;;;;;1906:10;-1:-1:-1;;;;;1845:486:192;;;;;1942:11;1845:486;;;;1977:9;1845:486;;;;2016:15;1845:486;;;;2058:12;-1:-1:-1;;;;;1845:486:192;;;;;2090:5;1845:486;;;;2118:24;-1:-1:-1;;;;;1845:486:192;;;;;2168:24;1845:486;;;;;;;;;;;;;;;;;;;;2240:15;1845:486;;;;2275:5;-1:-1:-1;;;;;1845:486:192;;;;;1791:540;;2369:30;:28;:30::i;:::-;-1:-1:-1;;;;;2342:68:192;;2411:8;2342:78;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;8720:237:171:-;8838:25;8865:22;8910:40;;;;8921:11;8910:40;:::i;:::-;8903:47;;;;8720:237;;;;;;:::o;4100:1068::-;4218:30;4262:35;4311:21;4346:27;4387:12;4413:46;4472:37;4498:10;4472:25;:37::i;:::-;4204:305;;;;;;;;;;;;4520:27;4556:5;4577:1;4562:5;:12;:16;4556:23;;;;;;;;;;;;;;:26;;;4520:63;;4594:27;4624:21;-1:-1:-1;;;;;4624:31:171;;4656:11;4624:44;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4594:74;;4679:239;4714:13;4741:19;4774:22;4810:27;4859:11;4885:4;4903:5;4679:21;:239::i;:::-;5039:22;4950:69;4999:19;4950:21;-1:-1:-1;;;;;4950:31:171;;4982:11;4950:44;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:48;;:69::i;:::-;:111;;4929:232;;;;-1:-1:-1;;;4929:232:171;;;;;;;:::i;:::-;4100:1068;;;;;;;;;;:::o;2093:332:179:-;2205:29;2248:35;2297:32;2372:10;2361:57;;;;;;;;;;;;:::i;:::-;2354:64;;;;;;2093:332;;;;;:::o;3539:585:355:-;3649:36;3737:7;:14;-1:-1:-1;;;;;3723:29:355;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3723:29:355;;3701:51;;3767:9;3762:319;3782:7;:14;3778:1;:18;3762:319;;;3817:19;3845:7;3853:1;3845:10;;;;;;;;;;;;;;3817:39;;3895:13;-1:-1:-1;;;;;3895:23:355;;3927:4;3895:38;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3870:19;3890:1;3870:22;;;;;;;;;;;;;:63;;;;;3976:1;3951:19;3971:1;3951:22;;;;;;;;;;;;;;:26;3947:124;;;3997:59;4024:7;4033:19;4053:1;4033:22;;;;;;;;;;;;;;3997:13;-1:-1:-1;;;;;3997:26:355;;;:59;;;;;:::i;:::-;-1:-1:-1;3798:3:355;;3762:319;;;;3539:585;;;;;:::o;2136:277:354:-;2250:27;2297;2306:5;2313:10;2297:8;:27::i;:::-;2293:70;;;-1:-1:-1;2347:5:354;2340:12;;2293:70;2380:26;2388:5;2395:10;2380:7;:26::i;:::-;2373:33;2136:277;-1:-1:-1;;;2136:277:354:o;749:1574:355:-;888:34;924:35;979:10;:17;1000:1;979:22;975:99;;;1017:46;;975:99;1115:1;;1126:361;1150:10;:17;1146:1;:21;1126:361;;;1188:13;1220:9;1215:179;1235:1;1231;:5;1215:179;;;1282:10;1293:1;1282:13;;;;;;;;;;;;;;-1:-1:-1;;;;;1265:30:355;:10;1276:1;1265:13;;;;;;;;;;;;;;-1:-1:-1;;;;;1265:30:355;;1261:119;;;1330:4;1319:15;;1356:5;;1261:119;1238:3;;1215:179;;;;1412:8;1407:70;;1440:22;;;;;1407:70;-1:-1:-1;1169:3:355;;1126:361;;;;1531:20;-1:-1:-1;;;;;1517:35:355;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1517:35:355;;1497:55;;1597:20;-1:-1:-1;;;;;1583:35:355;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1583:35:355;;1562:56;;1628:28;1671:9;1666:594;1686:10;:17;1682:1;:21;1666:594;;;1724:13;1756:9;1751:268;1771:20;1767:1;:24;1751:268;;;1837:17;1855:1;1837:20;;;;;;;;;;;;;;-1:-1:-1;;;;;1820:37:355;:10;1831:1;1820:13;;;;;;;;;;;;;;-1:-1:-1;;;;;1820:37:355;;1816:189;;;1892:4;1881:15;;1944:11;1956:1;1944:14;;;;;;;;;;;;;;1919:18;1938:1;1919:21;;;;;;;;;;;;;:39;;;;;;;;;;;1981:5;;1816:189;1793:3;;1751:268;;;;2037:8;2032:218;;2107:10;2118:1;2107:13;;;;;;;;;;;;;;2065:17;2083:20;2065:39;;;;;;;;;;;;;:55;-1:-1:-1;;;;;2065:55:355;;;-1:-1:-1;;;;;2065:55:355;;;;;2181:11;2193:1;2181:14;;;;;;;;;;;;;;2138:18;2157:20;2138:40;;;;;;;;;;;;;;;;;:57;2213:22;;;;;2032:218;-1:-1:-1;1705:3:355;;1666:594;;;;2270:46;;749:1574;;;;;:::o;2554:434::-;2714:47;;-1:-1:-1;;;2714:47:355;;2694:17;;-1:-1:-1;;;;;2714:23:355;;;;;:47;;2746:4;;2753:7;;2714:47;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2694:67;;2787:13;2775:9;:25;2771:211;;;2820:13;;2816:89;;2853:37;-1:-1:-1;;;;;2853:25:355;;2879:7;2888:1;2853:25;:37::i;:::-;2918:53;-1:-1:-1;;;;;2918:25:355;;2944:7;-1:-1:-1;;2918:25:355;:53::i;:::-;2554:434;;;;:::o;3136:155:442:-;3194:7;3226:1;3221;:6;;3213:49;;;;-1:-1:-1;;;3213:49:442;;;;;;;:::i;:::-;-1:-1:-1;3279:5:442;;;3136:155::o;704:175:450:-;786:86;806:5;836:23;;;861:2;865:5;813:58;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;813:58:450;;;;;;;;;;;;;;-1:-1:-1;;;;;813:58:450;-1:-1:-1;;;;;;813:58:450;;;;;;;;;;786:19;:86::i;2489:299:354:-;2595:17;2633:9;2628:132;2648:5;:12;2644:1;:16;2628:132;;;2696:5;2702:1;2696:8;;;;;;;;;;;;;;-1:-1:-1;;;;;2685:19:354;:7;-1:-1:-1;;;;;2685:19:354;;2681:69;;;2731:4;2724:11;;;;;2681:69;2662:3;;2628:132;;;-1:-1:-1;2776:5:354;;2489:299;-1:-1:-1;;;2489:299:354:o;1668:374::-;1776:27;1846:5;:12;1861:1;1846:16;-1:-1:-1;;;;;1832:31:354;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1832:31:354;;1819:44;;1878:9;1873:88;1893:5;:12;1889:1;:16;1873:88;;;1942:5;1948:1;1942:8;;;;;;;;;;;;;;1926:10;1937:1;1926:13;;;;;;;;-1:-1:-1;;;;;1926:24:354;;;:13;;;;;;;;;;;:24;1907:3;;1873:88;;;;1997:10;1970;1981:5;:12;1970:24;;;;;;;;;;;;;:37;-1:-1:-1;;;;;1970:37:354;;;-1:-1:-1;;;;;1970:37:354;;;;;1668:374;;;;:::o;1348:613:450:-;1713:10;;;1712:62;;-1:-1:-1;1729:39:450;;-1:-1:-1;;;1729:39:450;;-1:-1:-1;;;;;1729:15:450;;;;;:39;;1753:4;;1760:7;;1729:39;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:44;1712:62;1704:150;;;;-1:-1:-1;;;1704:150:450;;;;;;;:::i;:::-;1864:90;1884:5;1914:22;;;1938:7;1947:5;1891:62;;;;;;;;;:::i;2967:751::-;3386:23;3412:69;3440:4;3412:69;;;;;;;;;;;;;;;;;3420:5;-1:-1:-1;;;;;3412:27:450;;;:69;;;;;:::i;:::-;3495:17;;3386:95;;-1:-1:-1;3495:21:450;3491:221;;3635:10;3624:30;;;;;;;;;;;;:::i;:::-;3616:85;;;;-1:-1:-1;;;3616:85:450;;;;;;;:::i;3581:193:451:-;3684:12;3715:52;3737:6;3745:4;3751:1;3754:12;3715:21;:52::i;:::-;3708:59;3581:193;-1:-1:-1;;;;3581:193:451:o;4608:523::-;4735:12;4792:5;4767:21;:30;;4759:81;;;;-1:-1:-1;;;4759:81:451;;;;;;;:::i;:::-;4858:18;4869:6;4858:10;:18::i;:::-;4850:60;;;;-1:-1:-1;;;4850:60:451;;;;;;;:::i;:::-;4981:12;4995:23;5022:6;-1:-1:-1;;;;;5022:11:451;5042:5;5050:4;5022:33;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4980:75;;;;5072:52;5090:7;5099:10;5111:12;5072:17;:52::i;:::-;5065:59;4608:523;-1:-1:-1;;;;;;;4608:523:451:o;726:413::-;1086:20;;1124:8;;726:413;;;;:::o;7091:725::-;7206:12;7234:7;7230:580;;;-1:-1:-1;7264:10:451;7257:17;;7230:580;7375:17;;:21;7371:429;;7633:10;7627:17;7693:15;7680:10;7676:2;7672:19;7665:44;7582:145;7772:12;7765:20;;-1:-1:-1;;;7765:20:451;;;;;;;;:::i;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5:130::-;72:20;;97:33;72:20;97:33;:::i;142:134::-;220:13;;238:33;220:13;238:33;:::i;458:722::-;;586:3;579:4;571:6;567:17;563:27;553:2;;604:1;601;594:12;553:2;634:6;628:13;656:80;671:64;728:6;671:64;:::i;:::-;656:80;:::i;:::-;647:89;;753:5;778:6;771:5;764:21;808:4;800:6;796:17;786:27;;830:4;825:3;821:14;814:21;;883:6;930:3;922:4;914:6;910:17;905:3;901:27;898:36;895:2;;;947:1;944;937:12;895:2;972:1;957:217;982:6;979:1;976:13;957:217;;;1040:3;1062:48;1106:3;1094:10;1062:48;:::i;:::-;1050:61;;-1:-1;1134:4;1125:14;;;;1153;;;;;1004:1;997:9;957:217;;;961:14;546:634;;;;;;;:::o;1204:705::-;;1330:3;1323:4;1315:6;1311:17;1307:27;1297:2;;1348:1;1345;1338:12;1297:2;1385:6;1372:20;1407:89;1422:73;1488:6;1422:73;:::i;1407:89::-;1524:21;;;1568:4;1556:17;;;;1398:98;;-1:-1;1581:14;;1556:17;1676:1;1661:242;1686:6;1683:1;1680:13;1661:242;;;1769:3;1756:17;1748:6;1744:30;1793:46;1835:3;1823:10;1793:46;:::i;:::-;1781:59;;-1:-1;1863:4;1854:14;;;;1882;;;;;1708:1;1701:9;1661:242;;1969:764;;2123:3;2116:4;2108:6;2104:17;2100:27;2090:2;;2141:1;2138;2131:12;2090:2;2171:6;2165:13;2193:106;2208:90;2291:6;2208:90;:::i;2193:106::-;2327:21;;;2371:4;2359:17;;;;2184:115;;-1:-1;2384:14;;2359:17;2479:1;2464:263;2489:6;2486:1;2483:13;2464:263;;;2565:3;2559:10;2551:6;2547:23;2589:74;2659:3;2647:10;2589:74;:::i;:::-;2577:87;;-1:-1;2687:4;2678:14;;;;2706;;;;;2511:1;2504:9;2464:263;;2790:755;;2941:3;2934:4;2926:6;2922:17;2918:27;2908:2;;2959:1;2956;2949:12;2908:2;2989:6;2983:13;3011:103;3026:87;3106:6;3026:87;:::i;3011:103::-;3142:21;;;3186:4;3174:17;;;;3002:112;;-1:-1;3199:14;;3174:17;3294:1;3279:260;3304:6;3301:1;3298:13;3279:260;;;3380:3;3374:10;3366:6;3362:23;3404:71;3471:3;3459:10;3404:71;:::i;:::-;3392:84;;-1:-1;3499:4;3490:14;;;;3518;;;;;3326:1;3319:9;3279:260;;3603:758;;3755:3;3748:4;3740:6;3736:17;3732:27;3722:2;;3773:1;3770;3763:12;3722:2;3803:6;3797:13;3825:104;3840:88;3921:6;3840:88;:::i;3825:104::-;3957:21;;;4001:4;3989:17;;;;3816:113;;-1:-1;4014:14;;3989:17;4109:1;4094:261;4119:6;4116:1;4113:13;4094:261;;;4195:3;4189:10;4181:6;4177:23;4219:72;4287:3;4275:10;4219:72;:::i;:::-;4207:85;;-1:-1;4315:4;4306:14;;;;4334;;;;;4141:1;4134:9;4094:261;;4387:722;;4515:3;4508:4;4500:6;4496:17;4492:27;4482:2;;4533:1;4530;4523:12;4482:2;4563:6;4557:13;4585:80;4600:64;4657:6;4600:64;:::i;4585:80::-;4576:89;;4682:5;4707:6;4700:5;4693:21;4737:4;4729:6;4725:17;4715:27;;4759:4;4754:3;4750:14;4743:21;;4812:6;4859:3;4851:4;4843:6;4839:17;4834:3;4830:27;4827:36;4824:2;;;4876:1;4873;4866:12;4824:2;4901:1;4886:217;4911:6;4908:1;4905:13;4886:217;;;4969:3;4991:48;5035:3;5023:10;4991:48;:::i;:::-;4979:61;;-1:-1;5063:4;5054:14;;;;5082;;;;;4933:1;4926:9;4886:217;;5117:124;5181:20;;5206:30;5181:20;5206:30;:::i;5248:128::-;5323:13;;5341:30;5323:13;5341:30;:::i;5383:134::-;5461:13;;5479:33;5461:13;5479:33;:::i;5524:128::-;5590:20;;5615:32;5590:20;5615:32;:::i;5673:336::-;;;5787:3;5780:4;5772:6;5768:17;5764:27;5754:2;;5805:1;5802;5795:12;5754:2;-1:-1;5825:20;;-1:-1;;;;;5854:30;;5851:2;;;5897:1;5894;5887:12;5851:2;5931:4;5923:6;5919:17;5907:29;;5982:3;5974:4;5966:6;5962:17;5952:8;5948:32;5945:41;5942:2;;;5999:1;5996;5989:12;6018:440;;6119:3;6112:4;6104:6;6100:17;6096:27;6086:2;;6137:1;6134;6127:12;6086:2;6174:6;6161:20;6196:64;6211:48;6252:6;6211:48;:::i;6196:64::-;6187:73;;6280:6;6273:5;6266:21;6316:4;6308:6;6304:17;6349:4;6342:5;6338:16;6384:3;6375:6;6370:3;6366:16;6363:25;6360:2;;;6401:1;6398;6391:12;6360:2;6411:41;6445:6;6440:3;6435;6411:41;:::i;:::-;6079:379;;;;;;;:::o;6467:442::-;;6579:3;6572:4;6564:6;6560:17;6556:27;6546:2;;6597:1;6594;6587:12;6546:2;6627:6;6621:13;6649:64;6664:48;6705:6;6664:48;:::i;6649:64::-;6640:73;;6733:6;6726:5;6719:21;6769:4;6761:6;6757:17;6802:4;6795:5;6791:16;6837:3;6828:6;6823:3;6819:16;6816:25;6813:2;;;6854:1;6851;6844:12;6813:2;6864:39;6896:6;6891:3;6886;6864:39;:::i;6965:960::-;;7091:4;7079:9;7074:3;7070:19;7066:30;7063:2;;;7109:1;7106;7099:12;7063:2;7127:20;7142:4;7127:20;:::i;:::-;7118:29;-1:-1;7200:1;7232:68;7296:3;7276:9;7232:68;:::i;:::-;7207:94;;-1:-1;7365:2;7398:60;7454:3;7430:22;;;7398:60;:::i;:::-;7391:4;7384:5;7380:16;7373:86;7322:148;7526:2;7559:60;7615:3;7606:6;7595:9;7591:22;7559:60;:::i;:::-;7552:4;7545:5;7541:16;7534:86;7480:151;7703:2;7692:9;7688:18;7682:25;-1:-1;;;;;7719:6;7716:30;7713:2;;;7759:1;7756;7749:12;7713:2;7794:109;7899:3;7890:6;7879:9;7875:22;7794:109;:::i;:::-;7787:4;7780:5;7776:16;7769:135;7641:274;7057:868;;;;:::o;7977:796::-;;8100:4;8088:9;8083:3;8079:19;8075:30;8072:2;;;8118:1;8115;8108:12;8072:2;8136:20;8151:4;8136:20;:::i;:::-;8127:29;-1:-1;8204:1;8236:60;8292:3;8272:9;8236:60;:::i;:::-;8211:86;;-1:-1;8369:2;8402:60;8458:3;8434:22;;;8402:60;:::i;:::-;8395:4;8388:5;8384:16;8377:86;8318:156;8549:2;8538:9;8534:18;8528:25;-1:-1;;;;;8565:6;8562:30;8559:2;;;8605:1;8602;8595:12;8559:2;8640:111;8747:3;8738:6;8727:9;8723:22;8640:111;:::i;:::-;8633:4;8626:5;8622:16;8615:137;8484:279;8066:707;;;;:::o;8826:1076::-;;8950:4;8938:9;8933:3;8929:19;8925:30;8922:2;;;8968:1;8965;8958:12;8922:2;8986:20;9001:4;8986:20;:::i;:::-;8977:29;-1:-1;9057:1;9089:60;9145:3;9125:9;9089:60;:::i;:::-;9064:86;;-1:-1;9221:2;9254:60;9310:3;9286:22;;;9254:60;:::i;:::-;9247:4;9240:5;9236:16;9229:86;9171:155;9379:2;9412:60;9468:3;9459:6;9448:9;9444:22;9412:60;:::i;:::-;9405:4;9398:5;9394:16;9387:86;9336:148;9558:2;9547:9;9543:18;9537:25;-1:-1;;;;;9574:6;9571:30;9568:2;;;9614:1;9611;9604:12;9568:2;9649:69;9714:3;9705:6;9694:9;9690:22;9649:69;:::i;:::-;9642:4;9635:5;9631:16;9624:95;9494:236;9786:3;9820:60;9876:3;9867:6;9856:9;9852:22;9820:60;:::i;:::-;9813:4;9806:5;9802:16;9795:86;9740:152;8916:986;;;;:::o;9909:134::-;9987:13;;10005:33;9987:13;10005:33;:::i;10050:613::-;;;;;10206:2;10194:9;10185:7;10181:23;10177:32;10174:2;;;10222:1;10219;10212:12;10174:2;10257:1;10274:53;10319:7;10299:9;10274:53;:::i;:::-;10264:63;;10236:97;10364:2;10382:52;10426:7;10417:6;10406:9;10402:22;10382:52;:::i;:::-;10372:62;;10343:97;10499:2;10488:9;10484:18;10471:32;-1:-1;;;;;10515:6;10512:30;10509:2;;;10555:1;10552;10545:12;10509:2;10583:64;10639:7;10630:6;10619:9;10615:22;10583:64;:::i;:::-;10168:495;;;;-1:-1;10565:82;-1:-1;;;;10168:495::o;10670:490::-;;;;10810:2;10798:9;10789:7;10785:23;10781:32;10778:2;;;10826:1;10823;10816:12;10778:2;10861:1;10878:53;10923:7;10903:9;10878:53;:::i;:::-;10868:63;;10840:97;10996:2;10985:9;10981:18;10968:32;-1:-1;;;;;11012:6;11009:30;11006:2;;;11052:1;11049;11042:12;11006:2;11080:64;11136:7;11127:6;11116:9;11112:22;11080:64;:::i;:::-;11062:82;;;;10947:203;10772:388;;;;;:::o;11167:739::-;;;;;;11343:2;11331:9;11322:7;11318:23;11314:32;11311:2;;;11359:1;11356;11349:12;11311:2;11394:1;11411:53;11456:7;11436:9;11411:53;:::i;:::-;11401:63;;11373:97;11529:2;11518:9;11514:18;11501:32;-1:-1;;;;;11545:6;11542:30;11539:2;;;11585:1;11582;11575:12;11539:2;11613:64;11669:7;11660:6;11649:9;11645:22;11613:64;:::i;:::-;11595:82;;;;11480:203;11742:2;11731:9;11727:18;11714:32;-1:-1;;;;;11758:6;11755:30;11752:2;;;11798:1;11795;11788:12;11752:2;11826:64;11882:7;11873:6;11862:9;11858:22;11826:64;:::i;:::-;11808:82;;;;11693:203;11305:601;;;;;;;;:::o;11913:922::-;;;;12137:2;12125:9;12116:7;12112:23;12108:32;12105:2;;;12153:1;12150;12143:12;12105:2;12188:24;;-1:-1;;;;;12221:30;;12218:2;;;12264:1;12261;12254:12;12218:2;12284:89;12365:7;12356:6;12345:9;12341:22;12284:89;:::i;:::-;12274:99;;12167:212;12431:2;12420:9;12416:18;12410:25;-1:-1;;;;;12447:6;12444:30;12441:2;;;12487:1;12484;12477:12;12441:2;12507:89;12588:7;12579:6;12568:9;12564:22;12507:89;:::i;:::-;12497:99;;12389:213;12654:2;12643:9;12639:18;12633:25;-1:-1;;;;;12670:6;12667:30;12664:2;;;12710:1;12707;12700:12;12664:2;12730:89;12811:7;12802:6;12791:9;12787:22;12730:89;:::i;:::-;12720:99;;12612:213;12099:736;;;;;:::o;12842:514::-;;;12994:2;12982:9;12973:7;12969:23;12965:32;12962:2;;;13010:1;13007;13000:12;12962:2;13045:31;;-1:-1;;;;;13085:30;;13082:2;;;13128:1;13125;13118:12;13082:2;13148:87;13227:7;13218:6;13207:9;13203:22;13148:87;:::i;:::-;13138:97;;13024:217;13272:2;13290:50;13332:7;13323:6;13312:9;13308:22;13290:50;:::i;:::-;13280:60;;13251:95;12956:400;;;;;:::o;13363:257::-;;13475:2;13463:9;13454:7;13450:23;13446:32;13443:2;;;13491:1;13488;13481:12;13443:2;13526:1;13543:61;13596:7;13576:9;13543:61;:::i;13627:263::-;;13742:2;13730:9;13721:7;13717:23;13713:32;13710:2;;;13758:1;13755;13748:12;13710:2;13793:1;13810:64;13866:7;13846:9;13810:64;:::i;13897:1137::-;;;;;;;14153:3;14141:9;14132:7;14128:23;14124:33;14121:2;;;14170:1;14167;14160:12;14121:2;14205:1;14222:64;14278:7;14258:9;14222:64;:::i;:::-;14212:74;;14184:108;14323:2;14341:64;14397:7;14388:6;14377:9;14373:22;14341:64;:::i;:::-;14331:74;;14302:109;14442:2;14460:72;14524:7;14515:6;14504:9;14500:22;14460:72;:::i;:::-;14450:82;;14421:117;14569:2;14587:64;14643:7;14634:6;14623:9;14619:22;14587:64;:::i;:::-;14577:74;;14548:109;14688:3;14707:64;14763:7;14754:6;14743:9;14739:22;14707:64;:::i;:::-;14697:74;;14667:110;14829:3;14818:9;14814:19;14808:26;-1:-1;;;;;14846:6;14843:30;14840:2;;;14886:1;14883;14876:12;14840:2;14906:112;15010:7;15001:6;14990:9;14986:22;14906:112;:::i;:::-;14896:122;;14787:237;14115:919;;;;;;;;:::o;15042:173::-;;15129:46;15171:3;15163:6;15129:46;:::i;:::-;-1:-1;;15204:4;15195:14;;15122:93::o;15224:257::-;;15377:98;15471:3;15463:6;15377:98;:::i;15490:245::-;;15637:92;15725:3;15717:6;15637:92;:::i;15744:249::-;;15893:94;15983:3;15975:6;15893:94;:::i;16002:173::-;;16089:46;16131:3;16123:6;16089:46;:::i;16183:127::-;16272:32;16298:5;16272:32;:::i;:::-;16267:3;16260:45;16254:56;;:::o;16578:690::-;;16723:54;16771:5;16723:54;:::i;:::-;16790:86;16869:6;16864:3;16790:86;:::i;:::-;16783:93;;16897:56;16947:5;16897:56;:::i;:::-;16973:7;17001:1;16986:260;17011:6;17008:1;17005:13;16986:260;;;17078:6;17072:13;17099:63;17158:3;17143:13;17099:63;:::i;:::-;17092:70;;17179:60;17232:6;17179:60;:::i;:::-;17169:70;-1:-1;;17033:1;17026:9;16986:260;;;-1:-1;17259:3;;16702:566;-1:-1;;;;;16702:566::o;17375:1036::-;;17562:80;17636:5;17562:80;:::i;:::-;17655:102;17750:6;17745:3;17655:102;:::i;:::-;17648:109;;17780:3;17822:4;17814:6;17810:17;17805:3;17801:27;17849:82;17925:5;17849:82;:::i;:::-;17951:7;17979:1;17964:408;17989:6;17986:1;17983:13;17964:408;;;18051:9;18045:4;18041:20;18036:3;18029:33;18096:6;18090:13;18118:116;18229:4;18214:13;18118:116;:::i;:::-;18110:124;;18251:86;18330:6;18251:86;:::i;:::-;18360:4;18351:14;;;;;18241:96;-1:-1;;18011:1;18004:9;17964:408;;;-1:-1;18385:4;;17541:870;-1:-1;;;;;;;17541:870::o;18512:1012::-;;18693:77;18764:5;18693:77;:::i;:::-;18783:99;18875:6;18870:3;18783:99;:::i;:::-;18776:106;;18905:3;18947:4;18939:6;18935:17;18930:3;18926:27;18974:79;19047:5;18974:79;:::i;:::-;19073:7;19101:1;19086:399;19111:6;19108:1;19105:13;19086:399;;;19173:9;19167:4;19163:20;19158:3;19151:33;19218:6;19212:13;19240:110;19345:4;19330:13;19240:110;:::i;:::-;19232:118;;19367:83;19443:6;19367:83;:::i;:::-;19473:4;19464:14;;;;;19357:93;-1:-1;;19133:1;19126:9;19086:399;;19627:1020;;19810:78;19882:5;19810:78;:::i;:::-;19901:100;19994:6;19989:3;19901:100;:::i;:::-;19894:107;;20024:3;20066:4;20058:6;20054:17;20049:3;20045:27;20093:80;20167:5;20093:80;:::i;:::-;20193:7;20221:1;20206:402;20231:6;20228:1;20225:13;20206:402;;;20293:9;20287:4;20283:20;20278:3;20271:33;20338:6;20332:13;20360:112;20467:4;20452:13;20360:112;:::i;:::-;20352:120;;20489:84;20566:6;20489:84;:::i;:::-;20596:4;20587:14;;;;;20479:94;-1:-1;;20253:1;20246:9;20206:402;;20686:690;;20831:54;20879:5;20831:54;:::i;:::-;20898:86;20977:6;20972:3;20898:86;:::i;:::-;20891:93;;21005:56;21055:5;21005:56;:::i;:::-;21081:7;21109:1;21094:260;21119:6;21116:1;21113:13;21094:260;;;21186:6;21180:13;21207:63;21266:3;21251:13;21207:63;:::i;:::-;21200:70;;21287:60;21340:6;21287:60;:::i;:::-;21277:70;-1:-1;;21141:1;21134:9;21094:260;;21384:103;21457:24;21475:5;21457:24;:::i;21494:110::-;21575:23;21592:5;21575:23;:::i;21611:323::-;;21711:38;21743:5;21711:38;:::i;:::-;21761:60;21814:6;21809:3;21761:60;:::i;:::-;21754:67;;21826:52;21871:6;21866:3;21859:4;21852:5;21848:16;21826:52;:::i;:::-;21899:29;21921:6;21899:29;:::i;:::-;21890:39;;;;21691:243;-1:-1;;;21691:243::o;22291:356::-;;22419:38;22451:5;22419:38;:::i;:::-;22469:88;22550:6;22545:3;22469:88;:::i;:::-;22462:95;;22562:52;22607:6;22602:3;22595:4;22588:5;22584:16;22562:52;:::i;:::-;22626:16;;;;;22399:248;-1:-1;;22399:248::o;22654:176::-;22762:62;22818:5;22762:62;:::i;23192:448::-;;23352:67;23416:2;23411:3;23352:67;:::i;:::-;23452:34;23432:55;;23521:34;23516:2;23507:12;;23500:56;-1:-1;;;23585:2;23576:12;;23569:34;23631:2;23622:12;;23338:302;-1:-1;;23338:302::o;23649:330::-;;23809:67;23873:2;23868:3;23809:67;:::i;:::-;23909:32;23889:53;;23970:2;23961:12;;23795:184;-1:-1;;23795:184::o;23988:375::-;;24148:67;24212:2;24207:3;24148:67;:::i;:::-;24248:34;24228:55;;-1:-1;;;24312:2;24303:12;;24296:30;24354:2;24345:12;;24134:229;-1:-1;;24134:229::o;24372:329::-;;24532:67;24596:2;24591:3;24532:67;:::i;:::-;24632:31;24612:52;;24692:2;24683:12;;24518:183;-1:-1;;24518:183::o;24710:379::-;;24870:67;24934:2;24929:3;24870:67;:::i;:::-;24970:34;24950:55;;-1:-1;;;25034:2;25025:12;;25018:34;25080:2;25071:12;;24856:233;-1:-1;;24856:233::o;25098:391::-;;25258:67;25322:2;25317:3;25258:67;:::i;:::-;25358:34;25338:55;;-1:-1;;;25422:2;25413:12;;25406:46;25480:2;25471:12;;25244:245;-1:-1;;25244:245::o;25498:376::-;;25658:67;25722:2;25717:3;25658:67;:::i;:::-;25758:34;25738:55;;-1:-1;;;25822:2;25813:12;;25806:31;25865:2;25856:12;;25644:230;-1:-1;;25644:230::o;25975:978::-;26187:23;;25975:978;;26118:4;26109:14;;;26216:79;26113:3;26187:23;26216:79;:::i;:::-;26138:163;26377:4;26370:5;26366:16;26360:23;26389:63;26446:4;26441:3;26437:14;26423:12;26389:63;:::i;:::-;26311:147;26537:4;26530:5;26526:16;26520:23;26549:63;26606:4;26601:3;26597:14;26583:12;26549:63;:::i;:::-;26468:150;26692:4;26685:5;26681:16;26675:23;26744:3;26738:4;26734:14;26727:4;26722:3;26718:14;26711:38;26764:151;26910:4;26896:12;26764:151;:::i;:::-;26756:159;26091:862;-1:-1;;;;;26091:862::o;27047:806::-;27248:23;;27047:806;;27184:4;27175:14;;;27277:63;27179:3;27248:23;27277:63;:::i;:::-;27204:142;27430:4;27423:5;27419:16;27413:23;27442:63;27499:4;27494:3;27490:14;27476:12;27442:63;:::i;:::-;27356:155;27588:4;27581:5;27577:16;27571:23;27640:3;27634:4;27630:14;27623:4;27618:3;27614:14;27607:38;27660:155;27810:4;27796:12;27660:155;:::i;27949:1042::-;28155:23;;27949:1042;;28088:4;28079:14;;;28184:63;28083:3;28155:23;28184:63;:::i;:::-;28108:145;28336:4;28329:5;28325:16;28319:23;28348:63;28405:4;28400:3;28396:14;28382:12;28348:63;:::i;:::-;28263:154;28493:4;28486:5;28482:16;28476:23;28505:63;28562:4;28557:3;28553:14;28539:12;28505:63;:::i;:::-;28427:147;28650:4;28643:5;28639:16;28633:23;28702:3;28696:4;28692:14;28685:4;28680:3;28676:14;28669:38;28722:71;28788:4;28774:12;28722:71;:::i;:::-;28714:79;;28584:221;28884:4;28877:5;28873:16;28867:23;28896:63;28953:4;28948:3;28944:14;28930:12;28896:63;:::i;:::-;-1:-1;28982:4;28061:930;-1:-1;;;28061:930::o;29093:2204::-;29321:23;;29093:2204;;29248:6;29239:16;;;29350:63;29243:3;29321:23;29350:63;:::i;:::-;29270:149;29498:4;29491:5;29487:16;29481:23;29510:63;29567:4;29562:3;29558:14;29544:12;29510:63;:::i;:::-;29429:150;29656:4;29649:5;29645:16;29639:23;29668:63;29725:4;29720:3;29716:14;29702:12;29668:63;:::i;:::-;29589:148;29820:4;29813:5;29809:16;29803:23;29832:63;29889:4;29884:3;29880:14;29866:12;29832:63;:::i;:::-;29747:154;29981:4;29974:5;29970:16;29964:23;29993:79;30066:4;30061:3;30057:14;30043:12;29993:79;:::i;:::-;29911:167;30151:4;30144:5;30140:16;30134:23;30203:3;30197:4;30193:14;30186:4;30181:3;30177:14;30170:38;30223:149;30367:4;30353:12;30223:149;:::i;:::-;30215:157;;30088:296;30460:4;30453:5;30449:16;30443:23;30472:79;30545:4;30540:3;30536:14;30522:12;30472:79;:::i;:::-;30394:163;30636:4;30629:5;30625:16;30619:23;30648:63;30705:4;30700:3;30696:14;30682:12;30648:63;:::i;:::-;30567:150;30792:6;30785:5;30781:18;30775:25;30848:3;30842:4;30838:14;30829:6;30824:3;30820:16;30813:40;30868:71;30934:4;30920:12;30868:71;:::i;:::-;30860:79;;30727:224;31028:6;31021:5;31017:18;31011:25;31042:65;31099:6;31094:3;31090:16;31076:12;31042:65;:::i;:::-;30961:152;31186:6;31179:5;31175:18;31169:25;31200:65;31257:6;31252:3;31248:16;31234:12;31200:65;:::i;31304:103::-;31377:24;31395:5;31377:24;:::i;31534:271::-;;31687:93;31776:3;31767:6;31687:93;:::i;31812:222::-;31939:2;31924:18;;31953:71;31928:9;31997:6;31953:71;:::i;32041:333::-;32196:2;32181:18;;32210:71;32185:9;32254:6;32210:71;:::i;:::-;32292:72;32360:2;32349:9;32345:18;32336:6;32292:72;:::i;32381:417::-;32554:2;32539:18;;32568:71;32543:9;32612:6;32568:71;:::i;:::-;32687:9;32681:4;32677:20;32672:2;32661:9;32657:18;32650:48;32712:76;32783:4;32774:6;32712:76;:::i;32805:333::-;32960:2;32945:18;;32974:71;32949:9;33018:6;32974:71;:::i;:::-;33056:72;33124:2;33113:9;33109:18;33100:6;33056:72;:::i;33145:218::-;33270:2;33255:18;;33284:69;33259:9;33326:6;33284:69;:::i;33370:1310::-;33834:3;33819:19;;33849:96;33823:9;33918:6;33849:96;:::i;:::-;33993:9;33987:4;33983:20;33978:2;33967:9;33963:18;33956:48;34018:108;34121:4;34112:6;34018:108;:::i;:::-;34010:116;;34174:9;34168:4;34164:20;34159:2;34148:9;34144:18;34137:48;34199:108;34302:4;34293:6;34199:108;:::i;:::-;34191:116;;34355:9;34349:4;34345:20;34340:2;34329:9;34325:18;34318:48;34380:108;34483:4;34474:6;34380:108;:::i;:::-;34372:116;;34537:9;34531:4;34527:20;34521:3;34510:9;34506:19;34499:49;34562:108;34665:4;34656:6;34562:108;:::i;34687:310::-;34834:2;34848:47;;;34819:18;;34909:78;34819:18;34973:6;34909:78;:::i;35004:416::-;35204:2;35218:47;;;35189:18;;35279:131;35189:18;35279:131;:::i;35427:416::-;35627:2;35641:47;;;35612:18;;35702:131;35612:18;35702:131;:::i;35850:416::-;36050:2;36064:47;;;36035:18;;36125:131;36035:18;36125:131;:::i;36273:416::-;36473:2;36487:47;;;36458:18;;36548:131;36458:18;36548:131;:::i;36696:416::-;36896:2;36910:47;;;36881:18;;36971:131;36881:18;36971:131;:::i;37119:416::-;37319:2;37333:47;;;37304:18;;37394:131;37304:18;37394:131;:::i;37542:416::-;37742:2;37756:47;;;37727:18;;37817:131;37727:18;37817:131;:::i;37965:378::-;38146:2;38160:47;;;38131:18;;38221:112;38131:18;38319:6;38221:112;:::i;38350:421::-;38525:2;38510:18;;38539:71;38514:9;38583:6;38539:71;:::i;38778:256::-;38840:2;38834:9;38866:17;;;-1:-1;;;;;38926:34;;38962:22;;;38923:62;38920:2;;;38998:1;38995;38988:12;38920:2;39014;39007:22;38818:216;;-1:-1;38818:216::o;39041:304::-;;-1:-1;;;;;39192:6;39189:30;39186:2;;;39232:1;39229;39222:12;39186:2;-1:-1;39267:4;39255:17;;;39320:15;;39123:222::o;40989:321::-;;-1:-1;;;;;41124:6;41121:30;41118:2;;;41164:1;41161;41154:12;41118:2;-1:-1;41295:4;41231;41208:17;;;;-1:-1;;41204:33;41285:15;;41055:255::o;41317:151::-;41441:4;41432:14;;41389:79::o;42180:137::-;42283:12;;42254:63::o;43879:178::-;43997:19;;;44046:4;44037:14;;43990:67::o;45513:91::-;;45575:24;45593:5;45575:24;:::i;45717:85::-;45783:13;45776:21;;45759:43::o;45809:145::-;-1:-1;;45871:78;;45854:100::o;45961:144::-;-1:-1;;;;;;46022:78;;46005:100::o;46112:160::-;46201:5;46207:60;46201:5;46207:60;:::i;46279:121::-;-1:-1;;;;;46341:54;;46324:76::o;46486:160::-;;46590:51;46635:5;46590:51;:::i;46654:145::-;46735:6;46730:3;46725;46712:30;-1:-1;46791:1;46773:16;;46766:27;46705:94::o;46808:268::-;46873:1;46880:101;46894:6;46891:1;46888:13;46880:101;;;46961:11;;;46955:18;46942:11;;;46935:39;46916:2;46909:10;46880:101;;;46996:6;46993:1;46990:13;46987:2;;;-1:-1;;47061:1;47043:16;;47036:27;46857:219::o;47084:97::-;47172:2;47152:14;-1:-1;;47148:28;;47132:49::o;47189:106::-;47274:3;47270:15;;47242:53::o;47303:739::-;;47376:4;47358:16;47355:26;47352:2;;;47384:5;;47352:2;47418:1;47415;47412;47397:23;47436:34;47467:1;47461:8;47436:34;:::i;:::-;47493:10;47488:3;47485:19;47475:2;;47508:5;;;47475:2;47539;47533:9;47593:1;47575:16;47571:24;47568:1;47562:4;47547:49;47622:4;47616:11;47703:16;47696:4;47688:6;47684:17;47681:39;-1:-1;;;;;47647:6;47644:30;47635:91;47632:2;;;47734:5;;;;;47632:2;47772:6;47766:4;47762:17;47804:3;47798:10;-1:-1;;;;;47819:6;47816:30;47813:2;;;47849:5;;;;;;;47813:2;47893:6;47886:4;47881:3;47877:14;47873:27;47926:16;47920:4;47916:27;47911:3;47908:36;47905:2;;;47947:5;;;;;;;;47905:2;47991:29;48013:6;47991:29;:::i;:::-;47971:50;;47984:4;47971:50;47967:2;47960:62;-1:-1;47979:3;;-1:-1;;;;;47346:696;:::o;48049:118::-;48145:1;48138:5;48135:12;48125:2;;48151:9;48125:2;48119:48;:::o;48174:117::-;48243:24;48261:5;48243:24;:::i;:::-;48236:5;48233:35;48223:2;;48282:1;48279;48272:12;48438:111;48504:21;48519:5;48504:21;:::i;48556:117::-;48625:24;48643:5;48625:24;:::i;48680:115::-;48748:23;48765:5;48748:23;:::i;48802:117::-;48871:24;48889:5;48871:24;:::i", - "linkReferences": {}, - "immutableReferences": { - "49791": [ - { - "start": 2324, - "length": 32 - } - ], - "51506": [ - { - "start": 1322, - "length": 32 - } - ], - "51508": [ - { - "start": 2538, - "length": 32 - } - ], - "51510": [ - { - "start": 2585, - "length": 32 - } - ], - "51512": [ - { - "start": 1108, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "CLAIM_REWARDS_SELECTOR()": "40da225d", - "LEND_AND_STAKE_SELECTOR()": "131461c0", - "LEND_SELECTOR()": "257cb1a3", - "REDEEM_SELECTOR()": "f7d882b5", - "STAKE_SELECTOR()": "3ffc1591", - "TAKE_MULTIPLE_ORDERS_SELECTOR()": "c32990a2", - "TAKE_ORDER_SELECTOR()": "863e5ad0", - "UNSTAKE_AND_REDEEM_SELECTOR()": "080456c1", - "UNSTAKE_SELECTOR()": "b23228cf", - "getIntegrationManager()": "e7c45690", - "getParaSwapV5AugustusSwapper()": "91bc27dc", - "getParaSwapV5TokenTransferProxy()": "2c428679", - "parseAssetsForAction(address,bytes4,bytes)": "c54efee5", - "takeMultipleOrders(address,bytes,bytes)": "0e7f692d", - "takeOrder(address,bytes,bytes)": "03e38a2b", - "takeOrderAndValidateIncoming(address,bytes)": "2d979b8c" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_integrationManager\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_augustusSwapper\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_tokenTransferProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_feePartner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_feePercent\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"MultipleOrdersItemFailed\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"CLAIM_REWARDS_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LEND_AND_STAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LEND_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"REDEEM_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"STAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TAKE_MULTIPLE_ORDERS_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TAKE_ORDER_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UNSTAKE_AND_REDEEM_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UNSTAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getIntegrationManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"integrationManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getParaSwapV5AugustusSwapper\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"augustusSwapper_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getParaSwapV5TokenTransferProxy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"tokenTransferProxy_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"_selector\",\"type\":\"bytes4\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"}],\"name\":\"parseAssetsForAction\",\"outputs\":[{\"internalType\":\"enum IIntegrationManager.SpendAssetsHandleType\",\"name\":\"spendAssetsHandleType_\",\"type\":\"uint8\"},{\"internalType\":\"address[]\",\"name\":\"spendAssets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"spendAssetAmounts_\",\"type\":\"uint256[]\"},{\"internalType\":\"address[]\",\"name\":\"incomingAssets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"minIncomingAssetAmounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"_assetData\",\"type\":\"bytes\"}],\"name\":\"takeMultipleOrders\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"takeOrder\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_orderData\",\"type\":\"bytes\"}],\"name\":\"takeOrderAndValidateIncoming\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"Does not support any protocol that collects additional protocol fees as ETH/WETH, e.g., 0x v3\",\"kind\":\"dev\",\"methods\":{\"getIntegrationManager()\":{\"returns\":{\"integrationManager_\":\"The `INTEGRATION_MANAGER` variable value\"}},\"getParaSwapV5AugustusSwapper()\":{\"returns\":{\"augustusSwapper_\":\"The `PARA_SWAP_V5_AUGUSTUS_SWAPPER` variable value\"}},\"getParaSwapV5TokenTransferProxy()\":{\"returns\":{\"tokenTransferProxy_\":\"The `PARA_SWAP_V5_TOKEN_TRANSFER_PROXY` variable value\"}},\"parseAssetsForAction(address,bytes4,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_selector\":\"The function selector for the callOnIntegration\"},\"returns\":{\"incomingAssets_\":\"The assets to receive in the call\",\"minIncomingAssetAmounts_\":\"The min asset amounts to receive in the call\",\"spendAssetAmounts_\":\"The max asset amounts to spend in the call\",\"spendAssetsHandleType_\":\"A type that dictates how to handle granting the adapter access to spend assets (`None` by default)\",\"spendAssets_\":\"The assets to spend in the call\"}},\"takeMultipleOrders(address,bytes,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_assetData\":\"Parsed spend assets and incoming assets data for this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}},\"takeOrder(address,bytes,bytes)\":{\"details\":\"ParaSwap v5 completely uses entire outgoing asset balance and incoming asset is sent directly to the beneficiary (the _vaultProxy)\",\"params\":{\"_actionData\":\"Data specific to this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}},\"takeOrderAndValidateIncoming(address,bytes)\":{\"details\":\"Necessary for try/catch\"}},\"title\":\"ParaSwapV5Adapter Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getIntegrationManager()\":{\"notice\":\"Gets the `INTEGRATION_MANAGER` variable\"},\"getParaSwapV5AugustusSwapper()\":{\"notice\":\"Gets the `PARA_SWAP_V5_AUGUSTUS_SWAPPER` variable\"},\"getParaSwapV5TokenTransferProxy()\":{\"notice\":\"Gets the `PARA_SWAP_V5_TOKEN_TRANSFER_PROXY` variable\"},\"parseAssetsForAction(address,bytes4,bytes)\":{\"notice\":\"Parses the expected assets in a particular action\"},\"takeMultipleOrders(address,bytes,bytes)\":{\"notice\":\"Executes multiple trades on ParaSwap\"},\"takeOrder(address,bytes,bytes)\":{\"notice\":\"Trades assets on ParaSwap\"},\"takeOrderAndValidateIncoming(address,bytes)\":{\"notice\":\"External implementation of __takeOrderAndValidateIncoming(), only intended for internal usage\"}},\"notice\":\"Adapter for interacting with ParaSwap (v5)\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/integration-manager/integrations/adapters/ParaSwapV5Adapter.sol\":\"ParaSwapV5Adapter\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/integration-manager/IIntegrationManager.sol\":{\"keccak256\":\"0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23\",\"dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk\"]},\"contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol\":{\"keccak256\":\"0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336\",\"dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS\"]},\"contracts/release/extensions/integration-manager/integrations/adapters/ParaSwapV5Adapter.sol\":{\"keccak256\":\"0xd97b0f41b9aea6d449f39282924744ba321ed9b976ebd43fef067c3bbdbf1656\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1d370308110b73de90898f49cd9c144a5bb7bc290117e24cd284ca7a97529a60\",\"dweb:/ipfs/QmRWEYdCnrvi7zKEcrHhxbbGumrLBSZMKniqu9y2YTdrHP\"]},\"contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol\":{\"keccak256\":\"0x067e49bf0d3c1655ab41a413c65ccf61d4e593308132e1ffc484a0fadfbbaf26\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://387f425017e18e89cc1893521101fa99df595314847d0b3d9a1162369f714fcf\",\"dweb:/ipfs/Qmco3jCvuWAyfCpBYpGzHrQjiFJG63w1RJKcakoTEbxRQm\"]},\"contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol\":{\"keccak256\":\"0xfd34c7ca8231c6935e25dede32ca2b3121738e624d0fc896f7b895a731edcf88\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d492c061963d36d07718446db191d4c5a340c0d847f6cd209f027bd99f7cb176\",\"dweb:/ipfs/QmfCvRZt56ftDdrEh6LepHXFJ4fVtcfpQGvEyY8k4zxG1A\"]},\"contracts/release/extensions/integration-manager/integrations/utils/actions/ParaSwapV5ActionsMixin.sol\":{\"keccak256\":\"0x4f7e1e11e2eeb2477f5c6b2d99c2b7e30651f4c5d01e14d5a341217792cfe65c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bb1c2e66a0ea89c54ee49452fe457c507dc3858db6214daab4a0131c6202539b\",\"dweb:/ipfs/QmS3NcLQ1r8d2g4c79HJXLaviK27XtxHTE5C4pRpsm6GWE\"]},\"contracts/release/interfaces/IParaSwapV5AugustusSwapper.sol\":{\"keccak256\":\"0x41bbae45f0d7ba6a90c74bc6421c7339f3f7549171f4d8073d4b35f9691a5fa5\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a5aabccb9caf45e96a0ce884edb24dccc22460ffdeff773b8dfaec62c07fadf8\",\"dweb:/ipfs/QmV78Mdhkeks76rie9nAMjsAUey2riYsQte36VXvDPcNif\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_integrationManager", - "type": "address" - }, - { - "internalType": "address", - "name": "_augustusSwapper", - "type": "address" - }, - { - "internalType": "address", - "name": "_tokenTransferProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_feePartner", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_feePercent", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "index", - "type": "uint256", - "indexed": false - }, - { - "internalType": "string", - "name": "reason", - "type": "string", - "indexed": false - } - ], - "type": "event", - "name": "MultipleOrdersItemFailed", - "anonymous": false - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "CLAIM_REWARDS_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "LEND_AND_STAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "LEND_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "REDEEM_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "STAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "TAKE_MULTIPLE_ORDERS_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "TAKE_ORDER_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "UNSTAKE_AND_REDEEM_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "UNSTAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getIntegrationManager", - "outputs": [ - { - "internalType": "address", - "name": "integrationManager_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getParaSwapV5AugustusSwapper", - "outputs": [ - { - "internalType": "address", - "name": "augustusSwapper_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getParaSwapV5TokenTransferProxy", - "outputs": [ - { - "internalType": "address", - "name": "tokenTransferProxy_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes4", - "name": "_selector", - "type": "bytes4" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - } - ], - "stateMutability": "view", - "type": "function", - "name": "parseAssetsForAction", - "outputs": [ - { - "internalType": "enum IIntegrationManager.SpendAssetsHandleType", - "name": "spendAssetsHandleType_", - "type": "uint8" - }, - { - "internalType": "address[]", - "name": "spendAssets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "spendAssetAmounts_", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "incomingAssets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "minIncomingAssetAmounts_", - "type": "uint256[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "_assetData", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "takeMultipleOrders" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "takeOrder" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_orderData", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "takeOrderAndValidateIncoming" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "getIntegrationManager()": { - "returns": { - "integrationManager_": "The `INTEGRATION_MANAGER` variable value" - } - }, - "getParaSwapV5AugustusSwapper()": { - "returns": { - "augustusSwapper_": "The `PARA_SWAP_V5_AUGUSTUS_SWAPPER` variable value" - } - }, - "getParaSwapV5TokenTransferProxy()": { - "returns": { - "tokenTransferProxy_": "The `PARA_SWAP_V5_TOKEN_TRANSFER_PROXY` variable value" - } - }, - "parseAssetsForAction(address,bytes4,bytes)": { - "params": { - "_actionData": "Data specific to this action", - "_selector": "The function selector for the callOnIntegration" - }, - "returns": { - "incomingAssets_": "The assets to receive in the call", - "minIncomingAssetAmounts_": "The min asset amounts to receive in the call", - "spendAssetAmounts_": "The max asset amounts to spend in the call", - "spendAssetsHandleType_": "A type that dictates how to handle granting the adapter access to spend assets (`None` by default)", - "spendAssets_": "The assets to spend in the call" - } - }, - "takeMultipleOrders(address,bytes,bytes)": { - "params": { - "_actionData": "Data specific to this action", - "_assetData": "Parsed spend assets and incoming assets data for this action", - "_vaultProxy": "The VaultProxy of the calling fund" - } - }, - "takeOrder(address,bytes,bytes)": { - "details": "ParaSwap v5 completely uses entire outgoing asset balance and incoming asset is sent directly to the beneficiary (the _vaultProxy)", - "params": { - "_actionData": "Data specific to this action", - "_vaultProxy": "The VaultProxy of the calling fund" - } - }, - "takeOrderAndValidateIncoming(address,bytes)": { - "details": "Necessary for try/catch" - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "getIntegrationManager()": { - "notice": "Gets the `INTEGRATION_MANAGER` variable" - }, - "getParaSwapV5AugustusSwapper()": { - "notice": "Gets the `PARA_SWAP_V5_AUGUSTUS_SWAPPER` variable" - }, - "getParaSwapV5TokenTransferProxy()": { - "notice": "Gets the `PARA_SWAP_V5_TOKEN_TRANSFER_PROXY` variable" - }, - "parseAssetsForAction(address,bytes4,bytes)": { - "notice": "Parses the expected assets in a particular action" - }, - "takeMultipleOrders(address,bytes,bytes)": { - "notice": "Executes multiple trades on ParaSwap" - }, - "takeOrder(address,bytes,bytes)": { - "notice": "Trades assets on ParaSwap" - }, - "takeOrderAndValidateIncoming(address,bytes)": { - "notice": "External implementation of __takeOrderAndValidateIncoming(), only intended for internal usage" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/integration-manager/integrations/adapters/ParaSwapV5Adapter.sol": "ParaSwapV5Adapter" - }, - "libraries": {} - }, - "sources": { - "contracts/release/extensions/integration-manager/IIntegrationManager.sol": { - "keccak256": "0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef", - "urls": [ - "bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23", - "dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol": { - "keccak256": "0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1", - "urls": [ - "bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336", - "dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/adapters/ParaSwapV5Adapter.sol": { - "keccak256": "0xd97b0f41b9aea6d449f39282924744ba321ed9b976ebd43fef067c3bbdbf1656", - "urls": [ - "bzz-raw://1d370308110b73de90898f49cd9c144a5bb7bc290117e24cd284ca7a97529a60", - "dweb:/ipfs/QmRWEYdCnrvi7zKEcrHhxbbGumrLBSZMKniqu9y2YTdrHP" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol": { - "keccak256": "0x067e49bf0d3c1655ab41a413c65ccf61d4e593308132e1ffc484a0fadfbbaf26", - "urls": [ - "bzz-raw://387f425017e18e89cc1893521101fa99df595314847d0b3d9a1162369f714fcf", - "dweb:/ipfs/Qmco3jCvuWAyfCpBYpGzHrQjiFJG63w1RJKcakoTEbxRQm" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol": { - "keccak256": "0xfd34c7ca8231c6935e25dede32ca2b3121738e624d0fc896f7b895a731edcf88", - "urls": [ - "bzz-raw://d492c061963d36d07718446db191d4c5a340c0d847f6cd209f027bd99f7cb176", - "dweb:/ipfs/QmfCvRZt56ftDdrEh6LepHXFJ4fVtcfpQGvEyY8k4zxG1A" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/utils/actions/ParaSwapV5ActionsMixin.sol": { - "keccak256": "0x4f7e1e11e2eeb2477f5c6b2d99c2b7e30651f4c5d01e14d5a341217792cfe65c", - "urls": [ - "bzz-raw://bb1c2e66a0ea89c54ee49452fe457c507dc3858db6214daab4a0131c6202539b", - "dweb:/ipfs/QmS3NcLQ1r8d2g4c79HJXLaviK27XtxHTE5C4pRpsm6GWE" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IParaSwapV5AugustusSwapper.sol": { - "keccak256": "0x41bbae45f0d7ba6a90c74bc6421c7339f3f7549171f4d8073d4b35f9691a5fa5", - "urls": [ - "bzz-raw://a5aabccb9caf45e96a0ce884edb24dccc22460ffdeff773b8dfaec62c07fadf8", - "dweb:/ipfs/QmV78Mdhkeks76rie9nAMjsAUey2riYsQte36VXvDPcNif" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AddressArrayLib.sol": { - "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", - "urls": [ - "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", - "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AssetHelpers.sol": { - "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", - "urls": [ - "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", - "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { - "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", - "urls": [ - "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", - "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Address.sol": { - "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", - "urls": [ - "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", - "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 171 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_integrationManager", "type": "address", "internalType": "address" }, { "name": "_augustusSwapper", "type": "address", "internalType": "address" }, { "name": "_tokenTransferProxy", "type": "address", "internalType": "address" }, { "name": "_feePartner", "type": "address", "internalType": "address" }, { "name": "_feePercent", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "CLAIM_REWARDS_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "LEND_AND_STAKE_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "LEND_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "REDEEM_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "STAKE_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "TAKE_MULTIPLE_ORDERS_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "TAKE_ORDER_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "UNSTAKE_AND_REDEEM_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "UNSTAKE_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "getIntegrationManager", "inputs": [], "outputs": [ { "name": "integrationManager_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getParaSwapV5AugustusSwapper", "inputs": [], "outputs": [ { "name": "augustusSwapper_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getParaSwapV5TokenTransferProxy", "inputs": [], "outputs": [ { "name": "tokenTransferProxy_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "parseAssetsForAction", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "_selector", "type": "bytes4", "internalType": "bytes4" }, { "name": "_actionData", "type": "bytes", "internalType": "bytes" } ], "outputs": [ { "name": "spendAssetsHandleType_", "type": "uint8", "internalType": "enum IIntegrationManager.SpendAssetsHandleType" }, { "name": "spendAssets_", "type": "address[]", "internalType": "address[]" }, { "name": "spendAssetAmounts_", "type": "uint256[]", "internalType": "uint256[]" }, { "name": "incomingAssets_", "type": "address[]", "internalType": "address[]" }, { "name": "minIncomingAssetAmounts_", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "view" }, { "type": "function", "name": "takeMultipleOrders", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_actionData", "type": "bytes", "internalType": "bytes" }, { "name": "_assetData", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "takeOrder", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_actionData", "type": "bytes", "internalType": "bytes" }, { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "takeOrderAndValidateIncoming", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_orderData", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "event", "name": "MultipleOrdersItemFailed", "inputs": [ { "name": "index", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "reason", "type": "string", "indexed": false, "internalType": "string" } ], "anonymous": false } ], "bytecode": { "object": "0x6101206040523480156200001257600080fd5b50604051620029ba380380620029ba833981016040819052620000359162000089565b6001600160601b0319606095861b811660805293851b841660a05290841b831660c05260e05290911b166101005262000143565b805162000076816200011e565b92915050565b8051620000768162000138565b600080600080600060a08688031215620000a257600080fd5b6000620000b0888862000069565b9550506020620000c38882890162000069565b9450506040620000d68882890162000069565b9350506060620000e98882890162000069565b9250506080620000fc888289016200007c565b9150509295509295909350565b60006001600160a01b03821662000076565b90565b620001298162000109565b81146200013557600080fd5b50565b62000129816200011b565b60805160601c60a05160601c60c05160601c60e0516101005160601c61282b6200018f60003980610454525080610a195250806109ea52508061052a525080610914525061282b6000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c806340da225d11610097578063c32990a211610066578063c32990a2146101ab578063c54efee5146101b3578063e7c45690146101d7578063f7d882b5146101df57610100565b806340da225d1461018b578063863e5ad01461019357806391bc27dc1461019b578063b23228cf146101a357610100565b8063257cb1a3116100d3578063257cb1a3146101535780632c4286791461015b5780632d979b8c146101705780633ffc15911461018357610100565b806303e38a2b14610105578063080456c11461011a5780630e7f692d14610138578063131461c01461014b575b600080fd5b610118610113366004611b93565b6101e7565b005b610122610258565b60405161012f9190612501565b60405180910390f35b610118610146366004611b93565b61027c565b61012261040a565b61012261042e565b610163610452565b60405161012f919061249d565b61011861017e366004611b3e565b610477565b6101226104bc565b6101226104e0565b610122610504565b610163610528565b61012261054c565b610122610570565b6101c66101c1366004611ad7565b610594565b60405161012f95949392919061250f565b610163610912565b610122610936565b600080600080600060606102308a8a8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061095a92505050565b95509550955095509550955061024b848488888f878761098c565b5050505050505050505050565b7f8334eb99be0145865eba9889fca2ee920288090caefff4cc776038e20ad9259a81565b8482828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052506060935091506102c190508888610aed565b9150915080156103b15760005b82518110156103ab57306001600160a01b0316632d979b8c8b8584815181106102f357fe5b60200260200101516040518363ffffffff1660e01b81526004016103189291906124c6565b600060405180830381600087803b15801561033257600080fd5b505af1925050508015610343575060015b6103a35761034f612727565b8061035a5750610399565b7f61a3f67a014516af915df55e5a5e673c61ae0cc855f78150d184442765b77a0c828260405161038b9291906125fd565b60405180910390a1506103a3565b3d6000803e3d6000fd5b6001016102ce565b506103e4565b60005b82518110156103e2576103da8a8483815181106103cd57fe5b6020026020010151610b09565b6001016103b4565b505b505060606103f182610c88565b505090506103ff8382610cae565b505050505050505050565b7f29fa046e79524c3c5ac4c01df692c35e217802b2b13b21121b76cf0ef02b138c81565b7f099f75155f0e997bf83a7993a71d5e7e7540bd386fe1e84643a09ce6b412521981565b7f00000000000000000000000000000000000000000000000000000000000000005b90565b6104b78383838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610b0992505050565b505050565b7ffa7dd04da627f433da73c4355ead9c75682a67a8fc84d3f6170ef0922f402d2481565b7fb9dfbaccbe5cd2a84fdcf1d15f23ef25d23086f5afbaa99516065ed4a5bbc7a381565b7f03e38a2bd7063d45c897edeafc330e71657502dd86434d3c37a489caf116af6981565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f68e30677f607df46e87da13e15b637784cfa62374b653f35ab43d10361a2f83081565b7f0e7f692dad5b88fdee426250d6eae91207e56a2e8112b7364579bed1790e5bf481565b600060608080806001600160e01b031988166303e38a2b60e01b1415610724576040805160018082528183019092529060208083019080368337505060408051600180825281830190925292965090506020808301908036833750506040805160018082528183019092529295509050602080830190803683375050604080516001808252818301909252929450905060208083019080368337019050509050606061067588888080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061095a92505050565b909192935090508560008151811061068957fe5b602002602001018960008151811061069d57fe5b60200260200101896000815181106106b157fe5b60209081029190910101939093526001600160a01b039093169091529190528051909150819060001981019081106106e557fe5b602002602001015160000151836000815181106106fe57fe5b60200260200101906001600160a01b031690816001600160a01b03168152505050610903565b6001600160e01b03198816630e7f692d60e01b14156108e25760606107498888610aed565b50905080516001600160401b038111801561076357600080fd5b5060405190808252806020026020018201604052801561078d578160200160208202803683370190505b50945080516001600160401b03811180156107a757600080fd5b506040519080825280602002602001820160405280156107d1578160200160208202803683370190505b50935060005b81518110156108885760606107fe8383815181106107f157fe5b602002602001015161095a565b8c5193955091935090918b91508690811061081557fe5b6020026020010189868151811061082857fe5b6020026020010182955083815250836001600160a01b03166001600160a01b031681525050505061087d8160018351038151811061086257fe5b60200260200101516000015186610e0a90919063ffffffff16565b9450506001016107d7565b506108938585610e33565b845191965094506001600160401b03811180156108af57600080fd5b506040519080825280602002602001820160405280156108d9578160200160208202803683370190505b50915050610903565b60405162461bcd60e51b81526004016108fa906125dc565b60405180910390fd5b60029450945094509450945094565b7f000000000000000000000000000000000000000000000000000000000000000090565b7fc29fa9dde84204c2908778afd0613d802d31cf046179b88f6d2b4a4e507ea2d581565b60008060008060006060868060200190518101906109789190611d35565b949c939b5091995097509550909350915050565b61099e87610998610452565b88611073565b6109a6611540565b604051806101600160405280896001600160a01b03168152602001888152602001878152602001868152602001856001600160a01b031681526020018381526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000008152602001604051806020016040528060008152508152602001428152602001846001600160801b0319168152509050610a70610528565b6001600160a01b031663a94e78ef826040518263ffffffff1660e01b8152600401610a9b91906125ec565b602060405180830381600087803b158015610ab557600080fd5b505af1158015610ac9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103ff9190611d17565b60606000610afd83850185611ca9565b915091505b9250929050565b60008060008060006060610b1c8761095a565b955095509550955095509550600081600183510381518110610b3a57fe5b60200260200101516000015190506000816001600160a01b03166370a082318b6040518263ffffffff1660e01b8152600401610b76919061249d565b60206040518083038186803b158015610b8e57600080fd5b505afa158015610ba2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bc69190611d17565b9050610bd786868a8a8e898961098c565b87610c5e82846001600160a01b03166370a082318e6040518263ffffffff1660e01b8152600401610c08919061249d565b60206040518083038186803b158015610c2057600080fd5b505afa158015610c34573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c589190611d17565b90611135565b1015610c7c5760405162461bcd60e51b81526004016108fa9061257c565b50505050505050505050565b606080606083806020019051810190610ca19190611c18565b9250925092509193909250565b606081516001600160401b0381118015610cc757600080fd5b50604051908082528060200260200182016040528015610cf1578160200160208202803683370190505b50905060005b8251811015610e02576000838281518110610d0e57fe5b60200260200101519050806001600160a01b03166370a08231306040518263ffffffff1660e01b8152600401610d44919061249d565b60206040518083038186803b158015610d5c57600080fd5b505afa158015610d70573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d949190611d17565b838381518110610da057fe5b6020026020010181815250506000838381518110610dba57fe5b60200260200101511115610df957610df985848481518110610dd857fe5b6020026020010151836001600160a01b031661115d9092919063ffffffff16565b50600101610cf7565b505b92915050565b6060610e1683836111b3565b15610e22575081610e04565b610e2c8383611209565b9392505050565b606080835160001415610e4557610b02565b6001805b8551811015610ec5576000805b82811015610eaf57878181518110610e6a57fe5b60200260200101516001600160a01b0316888481518110610e8757fe5b60200260200101516001600160a01b03161415610ea75760019150610eaf565b600101610e56565b5080610ebc576001909201915b50600101610e49565b50806001600160401b0381118015610edc57600080fd5b50604051908082528060200260200182016040528015610f06578160200160208202803683370190505b509250806001600160401b0381118015610f1f57600080fd5b50604051908082528060200260200182016040528015610f49578160200160208202803683370190505b5091506000805b8651811015611069576000805b83811015610fe857868181518110610f7157fe5b60200260200101516001600160a01b0316898481518110610f8e57fe5b60200260200101516001600160a01b03161415610fe05760019150878381518110610fb557fe5b6020026020010151868281518110610fc957fe5b602002602001018181510191508181525050610fe8565b600101610f5d565b508061106057878281518110610ffa57fe5b602002602001015186848151811061100e57fe5b60200260200101906001600160a01b031690816001600160a01b03168152505086828151811061103a57fe5b602002602001015185848151811061104e57fe5b60209081029190910101526001909201915b50600101610f50565b5050509250929050565b604051636eb1769f60e11b81526000906001600160a01b0385169063dd62ed3e906110a490309087906004016124ab565b60206040518083038186803b1580156110bc57600080fd5b505afa1580156110d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110f49190611d17565b90508181101561112f578015611119576111196001600160a01b0385168460006112d3565b61112f6001600160a01b038516846000196112d3565b50505050565b6000828211156111575760405162461bcd60e51b81526004016108fa9061258c565b50900390565b6104b78363a9059cbb60e01b848460405160240161117c9291906124e6565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152611396565b6000805b83518110156111ff578381815181106111cc57fe5b60200260200101516001600160a01b0316836001600160a01b031614156111f7576001915050610e04565b6001016111b7565b5060009392505050565b606082516001016001600160401b038111801561122557600080fd5b5060405190808252806020026020018201604052801561124f578160200160208202803683370190505b50905060005b835181101561129e5783818151811061126a57fe5b602002602001015182828151811061127e57fe5b6001600160a01b0390921660209283029190910190910152600101611255565b5081818451815181106112ad57fe5b60200260200101906001600160a01b031690816001600160a01b03168152505092915050565b80158061135b5750604051636eb1769f60e11b81526001600160a01b0384169063dd62ed3e9061130990309086906004016124ab565b60206040518083038186803b15801561132157600080fd5b505afa158015611335573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113599190611d17565b155b6113775760405162461bcd60e51b81526004016108fa906125cc565b6104b78363095ea7b360e01b848460405160240161117c9291906124e6565b60606113eb826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166114259092919063ffffffff16565b8051909150156104b757808060200190518101906114099190611cf9565b6104b75760405162461bcd60e51b81526004016108fa906125bc565b6060611434848460008561143c565b949350505050565b60608247101561145e5760405162461bcd60e51b81526004016108fa9061259c565b611467856114fd565b6114835760405162461bcd60e51b81526004016108fa906125ac565b60006060866001600160a01b031685876040516114a09190612491565b60006040518083038185875af1925050503d80600081146114dd576040519150601f19603f3d011682016040523d82523d6000602084013e6114e2565b606091505b50915091506114f2828286611507565b979650505050505050565b803b15155b919050565b60608315611516575081610e2c565b8251156115265782518084602001fd5b8160405162461bcd60e51b81526004016108fa919061256b565b60405180610160016040528060006001600160a01b0316815260200160008152602001600081526020016000815260200160006001600160a01b031681526020016060815260200160006001600160a01b0316815260200160008152602001606081526020016000815260200160006001600160801b03191681525090565b8035610e04816127e6565b8051610e04816127e6565b600082601f8301126115e657600080fd5b81516115f96115f482612631565b61260b565b9150818183526020840193506020810190508385602084028201111561161e57600080fd5b60005b8381101561164a578161163488826115ca565b8452506020928301929190910190600101611621565b5050505092915050565b600082601f83011261166557600080fd5b81356116736115f482612631565b81815260209384019390925082018360005b8381101561164a578135860161169b88826118a5565b8452506020928301929190910190600101611685565b600082601f8301126116c257600080fd5b81516116d06115f482612631565b81815260209384019390925082018360005b8381101561164a57815186016116f8888261193a565b84525060209283019291909101906001016116e2565b600082601f83011261171f57600080fd5b815161172d6115f482612631565b81815260209384019390925082018360005b8381101561164a578151860161175588826119c0565b845250602092830192919091019060010161173f565b600082601f83011261177c57600080fd5b815161178a6115f482612631565b81815260209384019390925082018360005b8381101561164a57815186016117b28882611a32565b845250602092830192919091019060010161179c565b600082601f8301126117d957600080fd5b81516117e76115f482612631565b9150818183526020840193506020810190508385602084028201111561180c57600080fd5b60005b8381101561164a57816118228882611acc565b845250602092830192919091019060010161180f565b8035610e04816127fa565b8051610e04816127fa565b8051610e0481612803565b8035610e048161280c565b60008083601f84011261187657600080fd5b5081356001600160401b0381111561188d57600080fd5b602083019150836001820283011115610b0257600080fd5b600082601f8301126118b657600080fd5b81356118c46115f482612651565b915080825260208301602083018583830111156118e057600080fd5b6118eb8382846126df565b50505092915050565b600082601f83011261190557600080fd5b81516119136115f482612651565b9150808252602083016020830185838301111561192f57600080fd5b6118eb8382846126eb565b60006080828403121561194c57600080fd5b611956608061260b565b9050600061196484846115ca565b825250602061197584848301611acc565b602083015250604061198984828501611acc565b60408301525060608201516001600160401b038111156119a857600080fd5b6119b48482850161176b565b60608301525092915050565b6000606082840312156119d257600080fd5b6119dc606061260b565b905060006119ea84846115ca565b82525060206119fb84848301611acc565b60208301525060408201516001600160401b03811115611a1a57600080fd5b611a26848285016116b1565b60408301525092915050565b600060a08284031215611a4457600080fd5b611a4e60a061260b565b90506000611a5c8484611acc565b8252506020611a6d848483016115ca565b6020830152506040611a8184828501611acc565b60408301525060608201516001600160401b03811115611aa057600080fd5b611aac848285016118f4565b6060830152506080611ac084828501611acc565b60808301525092915050565b8051610e0481612815565b60008060008060608587031215611aed57600080fd5b6000611af987876115bf565b9450506020611b0a87828801611859565b93505060408501356001600160401b03811115611b2657600080fd5b611b3287828801611864565b95989497509550505050565b600080600060408486031215611b5357600080fd5b6000611b5f86866115bf565b93505060208401356001600160401b03811115611b7b57600080fd5b611b8786828701611864565b92509250509250925092565b600080600080600060608688031215611bab57600080fd5b6000611bb788886115bf565b95505060208601356001600160401b03811115611bd357600080fd5b611bdf88828901611864565b945094505060408601356001600160401b03811115611bfd57600080fd5b611c0988828901611864565b92509250509295509295909350565b600080600060608486031215611c2d57600080fd5b83516001600160401b03811115611c4357600080fd5b611c4f868287016115d5565b93505060208401516001600160401b03811115611c6b57600080fd5b611c77868287016117c8565b92505060408401516001600160401b03811115611c9357600080fd5b611c9f868287016115d5565b9150509250925092565b60008060408385031215611cbc57600080fd5b82356001600160401b03811115611cd257600080fd5b611cde85828601611654565b9250506020611cef85828601611838565b9150509250929050565b600060208284031215611d0b57600080fd5b60006114348484611843565b600060208284031215611d2957600080fd5b60006114348484611acc565b60008060008060008060c08789031215611d4e57600080fd5b6000611d5a8989611acc565b9650506020611d6b89828a01611acc565b9550506040611d7c89828a016115ca565b9450506060611d8d89828a01611acc565b9350506080611d9e89828a0161184e565b92505060a08701516001600160401b03811115611dba57600080fd5b611dc689828a0161170e565b9150509295509295509295565b6000611ddf8383611e17565b505060200190565b6000610e2c8383612298565b6000610e2c83836122f3565b6000610e2c8383612332565b6000611ddf8383612488565b611e208161268b565b82525050565b6000611e318261267e565b611e3b8185612682565b9350611e4683612678565b8060005b83811015611e74578151611e5e8882611dd3565b9750611e6983612678565b925050600101611e4a565b509495945050505050565b6000611e8a8261267e565b611e948185612682565b935083602082028501611ea685612678565b8060005b85811015611ee05784840389528151611ec38582611de7565b9450611ece83612678565b60209a909a0199925050600101611eaa565b5091979650505050505050565b6000611ef88261267e565b611f028185612682565b935083602082028501611f1485612678565b8060005b85811015611ee05784840389528151611f318582611df3565b9450611f3c83612678565b60209a909a0199925050600101611f18565b6000611f598261267e565b611f638185612682565b935083602082028501611f7585612678565b8060005b85811015611ee05784840389528151611f928582611dff565b9450611f9d83612678565b60209a909a0199925050600101611f79565b6000611fba8261267e565b611fc48185612682565b9350611fcf83612678565b8060005b83811015611e74578151611fe78882611e0b565b9750611ff283612678565b925050600101611fd3565b611e208161269b565b611e20816126b1565b600061201a8261267e565b6120248185612682565b93506120348185602086016126eb565b61203d81612717565b9093019392505050565b60006120528261267e565b61205c8185611502565b935061206c8185602086016126eb565b9290920192915050565b611e20816126d4565b600061208c604a83612682565b7f5f5f74616b654f72646572416e6456616c6964617465496e636f6d696e673a2081527f526563656976656420696e636f6d696e67206173736574206c657373207468616020820152691b88195e1c1958dd195960b21b604082015260600192915050565b60006120fe601e83612682565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000612137602683612682565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f8152651c8818d85b1b60d21b602082015260400192915050565b600061217f601d83612682565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000815260200192915050565b60006121b8602a83612682565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e8152691bdd081cdd58d8d9595960b21b602082015260400192915050565b6000612204603683612682565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f81527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b602082015260400192915050565b600061225c602783612682565b7f7061727365417373657473466f72416374696f6e3a205f73656c6563746f72208152661a5b9d985b1a5960ca1b602082015260400192915050565b805160009060808401906122ac8582611e17565b5060208301516122bf6020860182612488565b5060408301516122d26040860182612488565b50606083015184820360608601526122ea8282611f4e565b95945050505050565b805160009060608401906123078582611e17565b50602083015161231a6020860182612488565b50604083015184820360408601526122ea8282611e7f565b805160009060a08401906123468582612488565b5060208301516123596020860182611e17565b50604083015161236c6040860182612488565b5060608301518482036060860152612384828261200f565b91505060808301516123996080860182612488565b509392505050565b80516000906101608401906123b68582611e17565b5060208301516123c96020860182612488565b5060408301516123dc6040860182612488565b5060608301516123ef6060860182612488565b5060808301516124026080860182611e17565b5060a083015184820360a086015261241a8282611eed565b91505060c083015161242f60c0860182611e17565b5060e083015161244260e0860182612488565b5061010083015184820361010086015261245c828261200f565b915050610120830151612473610120860182612488565b50610140830151612399610140860182611ffd565b611e2081610474565b6000610e2c8284612047565b60208101610e048284611e17565b604081016124b98285611e17565b610e2c6020830184611e17565b604081016124d48285611e17565b8181036020830152611434818461200f565b604081016124f48285611e17565b610e2c6020830184612488565b60208101610e048284612006565b60a0810161251d8288612076565b818103602083015261252f8187611e26565b905081810360408301526125438186611faf565b905081810360608301526125578185611e26565b905081810360808301526114f28184611faf565b60208082528101610e2c818461200f565b60208082528101610e048161207f565b60208082528101610e04816120f1565b60208082528101610e048161212a565b60208082528101610e0481612172565b60208082528101610e04816121ab565b60208082528101610e04816121f7565b60208082528101610e048161224f565b60208082528101610e2c81846123a1565b604081016124d48285612488565b6040518181016001600160401b038111828210171561262957600080fd5b604052919050565b60006001600160401b0382111561264757600080fd5b5060209081020190565b60006001600160401b0382111561266757600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b6000610e04826126c8565b151590565b6fffffffffffffffffffffffffffffffff191690565b6001600160e01b03191690565b80611502816127d9565b6001600160a01b031690565b6000610e04826126be565b82818337506000910152565b60005b838110156127065781810151838201526020016126ee565b8381111561112f5750506000910152565b601f01601f191690565b60e01c90565b600060443d101561273757610474565b60046000803e612748600051612721565b6308c379a081146127595750610474565b60405160043d036004823e80513d60248201116001600160401b038211171561278457505050610474565b80820180516001600160401b038111156127a2575050505050610474565b8060208301013d85018111156127bd57505050505050610474565b6127c682612717565b8301602001604052509094505050505090565b600381106127e357fe5b50565b6127ef8161268b565b81146127e357600080fd5b6127ef81612696565b6127ef8161269b565b6127ef816126b1565b6127ef8161047456fea164736f6c634300060c000a", "sourceMap": "701:8974:171:-:0;;;882:342;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;1938:41:179;;;;;;;;1028:48:192;;;;;;;1086:47;;;;;;;1143:38;;1191:55;;;;;;701:8974:171;;5:134:-1;83:13;;101:33;83:13;101:33;:::i;:::-;68:71;;;;:::o;146:134::-;224:13;;242:33;224:13;242:33;:::i;287:809::-;;;;;;470:3;458:9;449:7;445:23;441:33;438:2;;;487:1;484;477:12;438:2;522:1;539:64;595:7;575:9;539:64;:::i;:::-;529:74;;501:108;640:2;658:64;714:7;705:6;694:9;690:22;658:64;:::i;:::-;648:74;;619:109;759:2;777:64;833:7;824:6;813:9;809:22;777:64;:::i;:::-;767:74;;738:109;878:2;896:64;952:7;943:6;932:9;928:22;896:64;:::i;:::-;886:74;;857:109;997:3;1016:64;1072:7;1063:6;1052:9;1048:22;1016:64;:::i;:::-;1006:74;;976:110;432:664;;;;;;;;:::o;1103:91::-;;-1:-1;;;;;1263:54;;1165:24;1246:76::o;1329:72::-;1391:5;1374:27::o;1408:117::-;1477:24;1495:5;1477:24;:::i;:::-;1470:5;1467:35;1457:2;;1516:1;1513;1506:12;1457:2;1451:74;:::o;1532:117::-;1601:24;1619:5;1601:24;:::i;1575:74::-;701:8974:171;;;;;;;;;;;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106101005760003560e01c806340da225d11610097578063c32990a211610066578063c32990a2146101ab578063c54efee5146101b3578063e7c45690146101d7578063f7d882b5146101df57610100565b806340da225d1461018b578063863e5ad01461019357806391bc27dc1461019b578063b23228cf146101a357610100565b8063257cb1a3116100d3578063257cb1a3146101535780632c4286791461015b5780632d979b8c146101705780633ffc15911461018357610100565b806303e38a2b14610105578063080456c11461011a5780630e7f692d14610138578063131461c01461014b575b600080fd5b610118610113366004611b93565b6101e7565b005b610122610258565b60405161012f9190612501565b60405180910390f35b610118610146366004611b93565b61027c565b61012261040a565b61012261042e565b610163610452565b60405161012f919061249d565b61011861017e366004611b3e565b610477565b6101226104bc565b6101226104e0565b610122610504565b610163610528565b61012261054c565b610122610570565b6101c66101c1366004611ad7565b610594565b60405161012f95949392919061250f565b610163610912565b610122610936565b600080600080600060606102308a8a8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061095a92505050565b95509550955095509550955061024b848488888f878761098c565b5050505050505050505050565b7f8334eb99be0145865eba9889fca2ee920288090caefff4cc776038e20ad9259a81565b8482828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201829052506060935091506102c190508888610aed565b9150915080156103b15760005b82518110156103ab57306001600160a01b0316632d979b8c8b8584815181106102f357fe5b60200260200101516040518363ffffffff1660e01b81526004016103189291906124c6565b600060405180830381600087803b15801561033257600080fd5b505af1925050508015610343575060015b6103a35761034f612727565b8061035a5750610399565b7f61a3f67a014516af915df55e5a5e673c61ae0cc855f78150d184442765b77a0c828260405161038b9291906125fd565b60405180910390a1506103a3565b3d6000803e3d6000fd5b6001016102ce565b506103e4565b60005b82518110156103e2576103da8a8483815181106103cd57fe5b6020026020010151610b09565b6001016103b4565b505b505060606103f182610c88565b505090506103ff8382610cae565b505050505050505050565b7f29fa046e79524c3c5ac4c01df692c35e217802b2b13b21121b76cf0ef02b138c81565b7f099f75155f0e997bf83a7993a71d5e7e7540bd386fe1e84643a09ce6b412521981565b7f00000000000000000000000000000000000000000000000000000000000000005b90565b6104b78383838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610b0992505050565b505050565b7ffa7dd04da627f433da73c4355ead9c75682a67a8fc84d3f6170ef0922f402d2481565b7fb9dfbaccbe5cd2a84fdcf1d15f23ef25d23086f5afbaa99516065ed4a5bbc7a381565b7f03e38a2bd7063d45c897edeafc330e71657502dd86434d3c37a489caf116af6981565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f68e30677f607df46e87da13e15b637784cfa62374b653f35ab43d10361a2f83081565b7f0e7f692dad5b88fdee426250d6eae91207e56a2e8112b7364579bed1790e5bf481565b600060608080806001600160e01b031988166303e38a2b60e01b1415610724576040805160018082528183019092529060208083019080368337505060408051600180825281830190925292965090506020808301908036833750506040805160018082528183019092529295509050602080830190803683375050604080516001808252818301909252929450905060208083019080368337019050509050606061067588888080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061095a92505050565b909192935090508560008151811061068957fe5b602002602001018960008151811061069d57fe5b60200260200101896000815181106106b157fe5b60209081029190910101939093526001600160a01b039093169091529190528051909150819060001981019081106106e557fe5b602002602001015160000151836000815181106106fe57fe5b60200260200101906001600160a01b031690816001600160a01b03168152505050610903565b6001600160e01b03198816630e7f692d60e01b14156108e25760606107498888610aed565b50905080516001600160401b038111801561076357600080fd5b5060405190808252806020026020018201604052801561078d578160200160208202803683370190505b50945080516001600160401b03811180156107a757600080fd5b506040519080825280602002602001820160405280156107d1578160200160208202803683370190505b50935060005b81518110156108885760606107fe8383815181106107f157fe5b602002602001015161095a565b8c5193955091935090918b91508690811061081557fe5b6020026020010189868151811061082857fe5b6020026020010182955083815250836001600160a01b03166001600160a01b031681525050505061087d8160018351038151811061086257fe5b60200260200101516000015186610e0a90919063ffffffff16565b9450506001016107d7565b506108938585610e33565b845191965094506001600160401b03811180156108af57600080fd5b506040519080825280602002602001820160405280156108d9578160200160208202803683370190505b50915050610903565b60405162461bcd60e51b81526004016108fa906125dc565b60405180910390fd5b60029450945094509450945094565b7f000000000000000000000000000000000000000000000000000000000000000090565b7fc29fa9dde84204c2908778afd0613d802d31cf046179b88f6d2b4a4e507ea2d581565b60008060008060006060868060200190518101906109789190611d35565b949c939b5091995097509550909350915050565b61099e87610998610452565b88611073565b6109a6611540565b604051806101600160405280896001600160a01b03168152602001888152602001878152602001868152602001856001600160a01b031681526020018381526020017f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031681526020017f00000000000000000000000000000000000000000000000000000000000000008152602001604051806020016040528060008152508152602001428152602001846001600160801b0319168152509050610a70610528565b6001600160a01b031663a94e78ef826040518263ffffffff1660e01b8152600401610a9b91906125ec565b602060405180830381600087803b158015610ab557600080fd5b505af1158015610ac9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103ff9190611d17565b60606000610afd83850185611ca9565b915091505b9250929050565b60008060008060006060610b1c8761095a565b955095509550955095509550600081600183510381518110610b3a57fe5b60200260200101516000015190506000816001600160a01b03166370a082318b6040518263ffffffff1660e01b8152600401610b76919061249d565b60206040518083038186803b158015610b8e57600080fd5b505afa158015610ba2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bc69190611d17565b9050610bd786868a8a8e898961098c565b87610c5e82846001600160a01b03166370a082318e6040518263ffffffff1660e01b8152600401610c08919061249d565b60206040518083038186803b158015610c2057600080fd5b505afa158015610c34573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c589190611d17565b90611135565b1015610c7c5760405162461bcd60e51b81526004016108fa9061257c565b50505050505050505050565b606080606083806020019051810190610ca19190611c18565b9250925092509193909250565b606081516001600160401b0381118015610cc757600080fd5b50604051908082528060200260200182016040528015610cf1578160200160208202803683370190505b50905060005b8251811015610e02576000838281518110610d0e57fe5b60200260200101519050806001600160a01b03166370a08231306040518263ffffffff1660e01b8152600401610d44919061249d565b60206040518083038186803b158015610d5c57600080fd5b505afa158015610d70573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d949190611d17565b838381518110610da057fe5b6020026020010181815250506000838381518110610dba57fe5b60200260200101511115610df957610df985848481518110610dd857fe5b6020026020010151836001600160a01b031661115d9092919063ffffffff16565b50600101610cf7565b505b92915050565b6060610e1683836111b3565b15610e22575081610e04565b610e2c8383611209565b9392505050565b606080835160001415610e4557610b02565b6001805b8551811015610ec5576000805b82811015610eaf57878181518110610e6a57fe5b60200260200101516001600160a01b0316888481518110610e8757fe5b60200260200101516001600160a01b03161415610ea75760019150610eaf565b600101610e56565b5080610ebc576001909201915b50600101610e49565b50806001600160401b0381118015610edc57600080fd5b50604051908082528060200260200182016040528015610f06578160200160208202803683370190505b509250806001600160401b0381118015610f1f57600080fd5b50604051908082528060200260200182016040528015610f49578160200160208202803683370190505b5091506000805b8651811015611069576000805b83811015610fe857868181518110610f7157fe5b60200260200101516001600160a01b0316898481518110610f8e57fe5b60200260200101516001600160a01b03161415610fe05760019150878381518110610fb557fe5b6020026020010151868281518110610fc957fe5b602002602001018181510191508181525050610fe8565b600101610f5d565b508061106057878281518110610ffa57fe5b602002602001015186848151811061100e57fe5b60200260200101906001600160a01b031690816001600160a01b03168152505086828151811061103a57fe5b602002602001015185848151811061104e57fe5b60209081029190910101526001909201915b50600101610f50565b5050509250929050565b604051636eb1769f60e11b81526000906001600160a01b0385169063dd62ed3e906110a490309087906004016124ab565b60206040518083038186803b1580156110bc57600080fd5b505afa1580156110d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110f49190611d17565b90508181101561112f578015611119576111196001600160a01b0385168460006112d3565b61112f6001600160a01b038516846000196112d3565b50505050565b6000828211156111575760405162461bcd60e51b81526004016108fa9061258c565b50900390565b6104b78363a9059cbb60e01b848460405160240161117c9291906124e6565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152611396565b6000805b83518110156111ff578381815181106111cc57fe5b60200260200101516001600160a01b0316836001600160a01b031614156111f7576001915050610e04565b6001016111b7565b5060009392505050565b606082516001016001600160401b038111801561122557600080fd5b5060405190808252806020026020018201604052801561124f578160200160208202803683370190505b50905060005b835181101561129e5783818151811061126a57fe5b602002602001015182828151811061127e57fe5b6001600160a01b0390921660209283029190910190910152600101611255565b5081818451815181106112ad57fe5b60200260200101906001600160a01b031690816001600160a01b03168152505092915050565b80158061135b5750604051636eb1769f60e11b81526001600160a01b0384169063dd62ed3e9061130990309086906004016124ab565b60206040518083038186803b15801561132157600080fd5b505afa158015611335573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113599190611d17565b155b6113775760405162461bcd60e51b81526004016108fa906125cc565b6104b78363095ea7b360e01b848460405160240161117c9291906124e6565b60606113eb826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166114259092919063ffffffff16565b8051909150156104b757808060200190518101906114099190611cf9565b6104b75760405162461bcd60e51b81526004016108fa906125bc565b6060611434848460008561143c565b949350505050565b60608247101561145e5760405162461bcd60e51b81526004016108fa9061259c565b611467856114fd565b6114835760405162461bcd60e51b81526004016108fa906125ac565b60006060866001600160a01b031685876040516114a09190612491565b60006040518083038185875af1925050503d80600081146114dd576040519150601f19603f3d011682016040523d82523d6000602084013e6114e2565b606091505b50915091506114f2828286611507565b979650505050505050565b803b15155b919050565b60608315611516575081610e2c565b8251156115265782518084602001fd5b8160405162461bcd60e51b81526004016108fa919061256b565b60405180610160016040528060006001600160a01b0316815260200160008152602001600081526020016000815260200160006001600160a01b031681526020016060815260200160006001600160a01b0316815260200160008152602001606081526020016000815260200160006001600160801b03191681525090565b8035610e04816127e6565b8051610e04816127e6565b600082601f8301126115e657600080fd5b81516115f96115f482612631565b61260b565b9150818183526020840193506020810190508385602084028201111561161e57600080fd5b60005b8381101561164a578161163488826115ca565b8452506020928301929190910190600101611621565b5050505092915050565b600082601f83011261166557600080fd5b81356116736115f482612631565b81815260209384019390925082018360005b8381101561164a578135860161169b88826118a5565b8452506020928301929190910190600101611685565b600082601f8301126116c257600080fd5b81516116d06115f482612631565b81815260209384019390925082018360005b8381101561164a57815186016116f8888261193a565b84525060209283019291909101906001016116e2565b600082601f83011261171f57600080fd5b815161172d6115f482612631565b81815260209384019390925082018360005b8381101561164a578151860161175588826119c0565b845250602092830192919091019060010161173f565b600082601f83011261177c57600080fd5b815161178a6115f482612631565b81815260209384019390925082018360005b8381101561164a57815186016117b28882611a32565b845250602092830192919091019060010161179c565b600082601f8301126117d957600080fd5b81516117e76115f482612631565b9150818183526020840193506020810190508385602084028201111561180c57600080fd5b60005b8381101561164a57816118228882611acc565b845250602092830192919091019060010161180f565b8035610e04816127fa565b8051610e04816127fa565b8051610e0481612803565b8035610e048161280c565b60008083601f84011261187657600080fd5b5081356001600160401b0381111561188d57600080fd5b602083019150836001820283011115610b0257600080fd5b600082601f8301126118b657600080fd5b81356118c46115f482612651565b915080825260208301602083018583830111156118e057600080fd5b6118eb8382846126df565b50505092915050565b600082601f83011261190557600080fd5b81516119136115f482612651565b9150808252602083016020830185838301111561192f57600080fd5b6118eb8382846126eb565b60006080828403121561194c57600080fd5b611956608061260b565b9050600061196484846115ca565b825250602061197584848301611acc565b602083015250604061198984828501611acc565b60408301525060608201516001600160401b038111156119a857600080fd5b6119b48482850161176b565b60608301525092915050565b6000606082840312156119d257600080fd5b6119dc606061260b565b905060006119ea84846115ca565b82525060206119fb84848301611acc565b60208301525060408201516001600160401b03811115611a1a57600080fd5b611a26848285016116b1565b60408301525092915050565b600060a08284031215611a4457600080fd5b611a4e60a061260b565b90506000611a5c8484611acc565b8252506020611a6d848483016115ca565b6020830152506040611a8184828501611acc565b60408301525060608201516001600160401b03811115611aa057600080fd5b611aac848285016118f4565b6060830152506080611ac084828501611acc565b60808301525092915050565b8051610e0481612815565b60008060008060608587031215611aed57600080fd5b6000611af987876115bf565b9450506020611b0a87828801611859565b93505060408501356001600160401b03811115611b2657600080fd5b611b3287828801611864565b95989497509550505050565b600080600060408486031215611b5357600080fd5b6000611b5f86866115bf565b93505060208401356001600160401b03811115611b7b57600080fd5b611b8786828701611864565b92509250509250925092565b600080600080600060608688031215611bab57600080fd5b6000611bb788886115bf565b95505060208601356001600160401b03811115611bd357600080fd5b611bdf88828901611864565b945094505060408601356001600160401b03811115611bfd57600080fd5b611c0988828901611864565b92509250509295509295909350565b600080600060608486031215611c2d57600080fd5b83516001600160401b03811115611c4357600080fd5b611c4f868287016115d5565b93505060208401516001600160401b03811115611c6b57600080fd5b611c77868287016117c8565b92505060408401516001600160401b03811115611c9357600080fd5b611c9f868287016115d5565b9150509250925092565b60008060408385031215611cbc57600080fd5b82356001600160401b03811115611cd257600080fd5b611cde85828601611654565b9250506020611cef85828601611838565b9150509250929050565b600060208284031215611d0b57600080fd5b60006114348484611843565b600060208284031215611d2957600080fd5b60006114348484611acc565b60008060008060008060c08789031215611d4e57600080fd5b6000611d5a8989611acc565b9650506020611d6b89828a01611acc565b9550506040611d7c89828a016115ca565b9450506060611d8d89828a01611acc565b9350506080611d9e89828a0161184e565b92505060a08701516001600160401b03811115611dba57600080fd5b611dc689828a0161170e565b9150509295509295509295565b6000611ddf8383611e17565b505060200190565b6000610e2c8383612298565b6000610e2c83836122f3565b6000610e2c8383612332565b6000611ddf8383612488565b611e208161268b565b82525050565b6000611e318261267e565b611e3b8185612682565b9350611e4683612678565b8060005b83811015611e74578151611e5e8882611dd3565b9750611e6983612678565b925050600101611e4a565b509495945050505050565b6000611e8a8261267e565b611e948185612682565b935083602082028501611ea685612678565b8060005b85811015611ee05784840389528151611ec38582611de7565b9450611ece83612678565b60209a909a0199925050600101611eaa565b5091979650505050505050565b6000611ef88261267e565b611f028185612682565b935083602082028501611f1485612678565b8060005b85811015611ee05784840389528151611f318582611df3565b9450611f3c83612678565b60209a909a0199925050600101611f18565b6000611f598261267e565b611f638185612682565b935083602082028501611f7585612678565b8060005b85811015611ee05784840389528151611f928582611dff565b9450611f9d83612678565b60209a909a0199925050600101611f79565b6000611fba8261267e565b611fc48185612682565b9350611fcf83612678565b8060005b83811015611e74578151611fe78882611e0b565b9750611ff283612678565b925050600101611fd3565b611e208161269b565b611e20816126b1565b600061201a8261267e565b6120248185612682565b93506120348185602086016126eb565b61203d81612717565b9093019392505050565b60006120528261267e565b61205c8185611502565b935061206c8185602086016126eb565b9290920192915050565b611e20816126d4565b600061208c604a83612682565b7f5f5f74616b654f72646572416e6456616c6964617465496e636f6d696e673a2081527f526563656976656420696e636f6d696e67206173736574206c657373207468616020820152691b88195e1c1958dd195960b21b604082015260600192915050565b60006120fe601e83612682565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000612137602683612682565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f8152651c8818d85b1b60d21b602082015260400192915050565b600061217f601d83612682565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000815260200192915050565b60006121b8602a83612682565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e8152691bdd081cdd58d8d9595960b21b602082015260400192915050565b6000612204603683612682565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f81527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b602082015260400192915050565b600061225c602783612682565b7f7061727365417373657473466f72416374696f6e3a205f73656c6563746f72208152661a5b9d985b1a5960ca1b602082015260400192915050565b805160009060808401906122ac8582611e17565b5060208301516122bf6020860182612488565b5060408301516122d26040860182612488565b50606083015184820360608601526122ea8282611f4e565b95945050505050565b805160009060608401906123078582611e17565b50602083015161231a6020860182612488565b50604083015184820360408601526122ea8282611e7f565b805160009060a08401906123468582612488565b5060208301516123596020860182611e17565b50604083015161236c6040860182612488565b5060608301518482036060860152612384828261200f565b91505060808301516123996080860182612488565b509392505050565b80516000906101608401906123b68582611e17565b5060208301516123c96020860182612488565b5060408301516123dc6040860182612488565b5060608301516123ef6060860182612488565b5060808301516124026080860182611e17565b5060a083015184820360a086015261241a8282611eed565b91505060c083015161242f60c0860182611e17565b5060e083015161244260e0860182612488565b5061010083015184820361010086015261245c828261200f565b915050610120830151612473610120860182612488565b50610140830151612399610140860182611ffd565b611e2081610474565b6000610e2c8284612047565b60208101610e048284611e17565b604081016124b98285611e17565b610e2c6020830184611e17565b604081016124d48285611e17565b8181036020830152611434818461200f565b604081016124f48285611e17565b610e2c6020830184612488565b60208101610e048284612006565b60a0810161251d8288612076565b818103602083015261252f8187611e26565b905081810360408301526125438186611faf565b905081810360608301526125578185611e26565b905081810360808301526114f28184611faf565b60208082528101610e2c818461200f565b60208082528101610e048161207f565b60208082528101610e04816120f1565b60208082528101610e048161212a565b60208082528101610e0481612172565b60208082528101610e04816121ab565b60208082528101610e04816121f7565b60208082528101610e048161224f565b60208082528101610e2c81846123a1565b604081016124d48285612488565b6040518181016001600160401b038111828210171561262957600080fd5b604052919050565b60006001600160401b0382111561264757600080fd5b5060209081020190565b60006001600160401b0382111561266757600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b6000610e04826126c8565b151590565b6fffffffffffffffffffffffffffffffff191690565b6001600160e01b03191690565b80611502816127d9565b6001600160a01b031690565b6000610e04826126be565b82818337506000910152565b60005b838110156127065781810151838201526020016126ee565b8381111561112f5750506000910152565b601f01601f191690565b60e01c90565b600060443d101561273757610474565b60046000803e612748600051612721565b6308c379a081146127595750610474565b60405160043d036004823e80513d60248201116001600160401b038211171561278457505050610474565b80820180516001600160401b038111156127a2575050505050610474565b8060208301013d85018111156127bd57505050505050610474565b6127c682612717565b8301602001604052509094505050505090565b600381106127e357fe5b50565b6127ef8161268b565b81146127e357600080fd5b6127ef81612696565b6127ef8161269b565b6127ef816126b1565b6127ef8161047456fea164736f6c634300060c000a", "sourceMap": "701:8974:171:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2726:696;;;;;;:::i;:::-;;:::i;:::-;;1490:119:180;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1543:865:171;;;;;;:::i;:::-;;:::i;1373:111:180:-;;;:::i;832:85::-;;;:::i;2963:150:192:-;;;:::i;:::-;;;;;;;:::i;3575:179:171:-;;;;;;:::i;:::-;;:::i;1034:87:180:-;;;:::i;1240:110::-;;;:::i;706:104::-;;;:::i;2656:140:192:-;;;:::i;1127:91:180:-;;;:::i;577:123::-;;;:::i;5909:2647:171:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;:::i;2637:128:179:-;;;:::i;923:89:180:-;;;:::i;2726:696:171:-;2873:30;2917:35;2966:21;3001:27;3042:12;3068:46;3127:38;3153:11;;3127:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3127:25:171;;-1:-1:-1;;;3127:38:171:i;:::-;2859:306;;;;;;;;;;;;3176:239;3211:13;3238:19;3271:22;3307:27;3356:11;3382:4;3400:5;3176:21;:239::i;:::-;2726:696;;;;;;;;;;;:::o;1490:119:180:-;1558:50;1490:119;:::o;1543:865:171:-;1723:11;1736:10;;1429:247:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1759:25:171::1;::::0;-1:-1:-1;1429:247:179;-1:-1:-1;1812:69:171::1;::::0;-1:-1:-1;1860:11:171;;1812:34:::1;:69::i;:::-;1758:123;;;;1896:17;1892:510;;;1934:9;1929:298;1949:10;:17;1945:1;:21;1929:298;;;1995:4;-1:-1:-1::0;;;;;1995:33:171::1;;2029:11;2042:10;2053:1;2042:13;;;;;;;;;;;;;;1995:61;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;1991:222;;;;:::i;:::-;;;;;;;;2159:35;2184:1;2187:6;2159:35;;;;;;;:::i;:::-;;;;;;;;2060:153;1991:222;;;;;::::0;::::1;;;;;1968:3;;1929:298;;;;1892:510;;;2262:9;2257:135;2277:10;:17;2273:1;:21;2257:135;;;2319:58;2350:11;2363:10;2374:1;2363:13;;;;;;;;;;;;;;2319:30;:58::i;:::-;2296:3;;2257:135;;;;1892:510;1531:1:179;;1544:28:::0;1580:29;1598:10;1580:17;:29::i;:::-;1543:66;;;;1620:49;1644:11;1657;1620:23;:49::i;:::-;;1543:865:171;;;;;;;;:::o;1373:111:180:-;1437:46;1373:111;:::o;832:85::-;878:38;832:85;:::o;2963:150:192:-;3073:33;2963:150;;:::o;3575:179:171:-;3692:55;3723:11;3736:10;;3692:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3692:30:171;;-1:-1:-1;;;3692:55:171:i;:::-;3575:179;;;:::o;1034:87:180:-;1081:39;1034:87;:::o;1240:110::-;1303:46;1240:110;:::o;706:104::-;766:43;706:104;:::o;2656:140:192:-;2760:29;2656:140;:::o;1127:91:180:-;1176:41;1127:91;:::o;577:123::-;647:52;577:123;:::o;5909:2647:171:-;6101:64;6179:29;;;;-1:-1:-1;;;;;;6387:32:171;;-1:-1:-1;;;6387:32:171;6383:1950;;;6450:16;;;6464:1;6450:16;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6501:16:171;;;6515:1;6501:16;;;;;;;;;6435:31;;-1:-1:-1;6515:1:171;-1:-1:-1;6501:16:171;;;;;;;;;-1:-1:-1;;6549:16:171;;;6563:1;6549:16;;;;;;;;;6480:37;;-1:-1:-1;6563:1:171;-1:-1:-1;6549:16:171;;;;;;;;;-1:-1:-1;;6606:16:171;;;6620:1;6606:16;;;;;;;;;6531:34;;-1:-1:-1;6620:1:171;-1:-1:-1;6606:16:171;;;;;;;;;;;-1:-1:-1;6606:16:171;6579:43;;6637:46;6890:38;6916:11;;6890:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6890:25:171;;-1:-1:-1;;;6890:38:171:i;:::-;6697:231;;;;;;;6715:24;6740:1;6715:27;;;;;;;;;;;;;6778:12;6791:1;6778:15;;;;;;;;;;;;;6811:18;6830:1;6811:21;;;;;;;;;;;;;;;;;6697:231;;;;-1:-1:-1;;;;;6697:231:171;;;;;;;;;6970:12;;6697:231;;-1:-1:-1;6697:231:171;;-1:-1:-1;;6970:16:171;;;6964:23;;;;;;;;;;;;:26;;;6943:15;6959:1;6943:18;;;;;;;;;;;;;:47;-1:-1:-1;;;;;6943:47:171;;;-1:-1:-1;;;;;6943:47:171;;;;;6383:1950;;;;-1:-1:-1;;;;;;7011:42:171;;-1:-1:-1;;;7011:42:171;7007:1326;;;7070:25;7101:47;7136:11;;7101:34;:47::i;:::-;7069:79;;;7192:10;:17;-1:-1:-1;;;;;7178:32:171;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7178:32:171;;7163:47;;7259:10;:17;-1:-1:-1;;;;;7245:32:171;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7245:32:171;;7224:53;;7296:9;7291:415;7311:10;:17;7307:1;:21;7291:415;;;7353:46;7473:78;7520:10;7531:1;7520:13;;;;;;;;;;;;;;7473:25;:78::i;:::-;7422:15;;7417:134;;-1:-1:-1;7417:134:171;;-1:-1:-1;7417:134:171;;7422:12;;-1:-1:-1;7435:1:171;;7422:15;;;;;;;;;;;7439:18;7458:1;7439:21;;;;;;;;;;;;;7417:134;;;;;;;;-1:-1:-1;;;;;7417:134:171;-1:-1:-1;;;;;7417:134:171;;;;;;;7634:57;7664:5;7685:1;7670:5;:12;:16;7664:23;;;;;;;;;;;;;;:26;;;7634:15;:29;;:57;;;;:::i;:::-;7616:75;-1:-1:-1;;7330:3:171;;7291:415;;;;7756:103;7797:12;7827:18;7756:23;:103::i;:::-;8219:22;;7719:140;;-1:-1:-1;7719:140:171;-1:-1:-1;;;;;;8205:37:171;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8205:37:171;;8178:64;;7007:1326;;;;8273:49;;-1:-1:-1;;;8273:49:171;;;;;;;:::i;:::-;;;;;;;;7007:1326;8364:50;8343:206;;5909:2647;;;;;;;;;:::o;2637:128:179:-;2739:19;2637:128;:::o;923:89:180:-;971:40;923:89;:::o;9054:619:171:-;9174:31;9219:36;9319:22;9355:28;9397:13;9424:47;9543:11;9515:151;;;;;;;;;;;;:::i;:::-;9496:170;;;;-1:-1:-1;9496:170:171;;-1:-1:-1;9496:170:171;-1:-1:-1;9496:170:171;-1:-1:-1;9496:170:171;;-1:-1:-1;9054:619:171;-1:-1:-1;;9054:619:171:o;1405:1022:192:-;1695:85;1721:10;1733:33;:31;:33::i;:::-;1768:11;1695:25;:85::i;:::-;1791:51;;:::i;:::-;1845:486;;;;;;;;1906:10;-1:-1:-1;;;;;1845:486:192;;;;;1942:11;1845:486;;;;1977:9;1845:486;;;;2016:15;1845:486;;;;2058:12;-1:-1:-1;;;;;1845:486:192;;;;;2090:5;1845:486;;;;2118:24;-1:-1:-1;;;;;1845:486:192;;;;;2168:24;1845:486;;;;;;;;;;;;;;;;;;;;2240:15;1845:486;;;;2275:5;-1:-1:-1;;;;;1845:486:192;;;;;1791:540;;2369:30;:28;:30::i;:::-;-1:-1:-1;;;;;2342:68:192;;2411:8;2342:78;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;8720:237:171:-;8838:25;8865:22;8910:40;;;;8921:11;8910:40;:::i;:::-;8903:47;;;;8720:237;;;;;;:::o;4100:1068::-;4218:30;4262:35;4311:21;4346:27;4387:12;4413:46;4472:37;4498:10;4472:25;:37::i;:::-;4204:305;;;;;;;;;;;;4520:27;4556:5;4577:1;4562:5;:12;:16;4556:23;;;;;;;;;;;;;;:26;;;4520:63;;4594:27;4624:21;-1:-1:-1;;;;;4624:31:171;;4656:11;4624:44;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4594:74;;4679:239;4714:13;4741:19;4774:22;4810:27;4859:11;4885:4;4903:5;4679:21;:239::i;:::-;5039:22;4950:69;4999:19;4950:21;-1:-1:-1;;;;;4950:31:171;;4982:11;4950:44;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:48;;:69::i;:::-;:111;;4929:232;;;;-1:-1:-1;;;4929:232:171;;;;;;;:::i;:::-;4100:1068;;;;;;;;;;:::o;2093:332:179:-;2205:29;2248:35;2297:32;2372:10;2361:57;;;;;;;;;;;;:::i;:::-;2354:64;;;;;;2093:332;;;;;:::o;3539:585:355:-;3649:36;3737:7;:14;-1:-1:-1;;;;;3723:29:355;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3723:29:355;;3701:51;;3767:9;3762:319;3782:7;:14;3778:1;:18;3762:319;;;3817:19;3845:7;3853:1;3845:10;;;;;;;;;;;;;;3817:39;;3895:13;-1:-1:-1;;;;;3895:23:355;;3927:4;3895:38;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3870:19;3890:1;3870:22;;;;;;;;;;;;;:63;;;;;3976:1;3951:19;3971:1;3951:22;;;;;;;;;;;;;;:26;3947:124;;;3997:59;4024:7;4033:19;4053:1;4033:22;;;;;;;;;;;;;;3997:13;-1:-1:-1;;;;;3997:26:355;;;:59;;;;;:::i;:::-;-1:-1:-1;3798:3:355;;3762:319;;;;3539:585;;;;;:::o;2136:277:354:-;2250:27;2297;2306:5;2313:10;2297:8;:27::i;:::-;2293:70;;;-1:-1:-1;2347:5:354;2340:12;;2293:70;2380:26;2388:5;2395:10;2380:7;:26::i;:::-;2373:33;2136:277;-1:-1:-1;;;2136:277:354:o;749:1574:355:-;888:34;924:35;979:10;:17;1000:1;979:22;975:99;;;1017:46;;975:99;1115:1;;1126:361;1150:10;:17;1146:1;:21;1126:361;;;1188:13;1220:9;1215:179;1235:1;1231;:5;1215:179;;;1282:10;1293:1;1282:13;;;;;;;;;;;;;;-1:-1:-1;;;;;1265:30:355;:10;1276:1;1265:13;;;;;;;;;;;;;;-1:-1:-1;;;;;1265:30:355;;1261:119;;;1330:4;1319:15;;1356:5;;1261:119;1238:3;;1215:179;;;;1412:8;1407:70;;1440:22;;;;;1407:70;-1:-1:-1;1169:3:355;;1126:361;;;;1531:20;-1:-1:-1;;;;;1517:35:355;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1517:35:355;;1497:55;;1597:20;-1:-1:-1;;;;;1583:35:355;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1583:35:355;;1562:56;;1628:28;1671:9;1666:594;1686:10;:17;1682:1;:21;1666:594;;;1724:13;1756:9;1751:268;1771:20;1767:1;:24;1751:268;;;1837:17;1855:1;1837:20;;;;;;;;;;;;;;-1:-1:-1;;;;;1820:37:355;:10;1831:1;1820:13;;;;;;;;;;;;;;-1:-1:-1;;;;;1820:37:355;;1816:189;;;1892:4;1881:15;;1944:11;1956:1;1944:14;;;;;;;;;;;;;;1919:18;1938:1;1919:21;;;;;;;;;;;;;:39;;;;;;;;;;;1981:5;;1816:189;1793:3;;1751:268;;;;2037:8;2032:218;;2107:10;2118:1;2107:13;;;;;;;;;;;;;;2065:17;2083:20;2065:39;;;;;;;;;;;;;:55;-1:-1:-1;;;;;2065:55:355;;;-1:-1:-1;;;;;2065:55:355;;;;;2181:11;2193:1;2181:14;;;;;;;;;;;;;;2138:18;2157:20;2138:40;;;;;;;;;;;;;;;;;:57;2213:22;;;;;2032:218;-1:-1:-1;1705:3:355;;1666:594;;;;2270:46;;749:1574;;;;;:::o;2554:434::-;2714:47;;-1:-1:-1;;;2714:47:355;;2694:17;;-1:-1:-1;;;;;2714:23:355;;;;;:47;;2746:4;;2753:7;;2714:47;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2694:67;;2787:13;2775:9;:25;2771:211;;;2820:13;;2816:89;;2853:37;-1:-1:-1;;;;;2853:25:355;;2879:7;2888:1;2853:25;:37::i;:::-;2918:53;-1:-1:-1;;;;;2918:25:355;;2944:7;-1:-1:-1;;2918:25:355;:53::i;:::-;2554:434;;;;:::o;3136:155:442:-;3194:7;3226:1;3221;:6;;3213:49;;;;-1:-1:-1;;;3213:49:442;;;;;;;:::i;:::-;-1:-1:-1;3279:5:442;;;3136:155::o;704:175:450:-;786:86;806:5;836:23;;;861:2;865:5;813:58;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;813:58:450;;;;;;;;;;;;;;-1:-1:-1;;;;;813:58:450;-1:-1:-1;;;;;;813:58:450;;;;;;;;;;786:19;:86::i;2489:299:354:-;2595:17;2633:9;2628:132;2648:5;:12;2644:1;:16;2628:132;;;2696:5;2702:1;2696:8;;;;;;;;;;;;;;-1:-1:-1;;;;;2685:19:354;:7;-1:-1:-1;;;;;2685:19:354;;2681:69;;;2731:4;2724:11;;;;;2681:69;2662:3;;2628:132;;;-1:-1:-1;2776:5:354;;2489:299;-1:-1:-1;;;2489:299:354:o;1668:374::-;1776:27;1846:5;:12;1861:1;1846:16;-1:-1:-1;;;;;1832:31:354;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1832:31:354;;1819:44;;1878:9;1873:88;1893:5;:12;1889:1;:16;1873:88;;;1942:5;1948:1;1942:8;;;;;;;;;;;;;;1926:10;1937:1;1926:13;;;;;;;;-1:-1:-1;;;;;1926:24:354;;;:13;;;;;;;;;;;:24;1907:3;;1873:88;;;;1997:10;1970;1981:5;:12;1970:24;;;;;;;;;;;;;:37;-1:-1:-1;;;;;1970:37:354;;;-1:-1:-1;;;;;1970:37:354;;;;;1668:374;;;;:::o;1348:613:450:-;1713:10;;;1712:62;;-1:-1:-1;1729:39:450;;-1:-1:-1;;;1729:39:450;;-1:-1:-1;;;;;1729:15:450;;;;;:39;;1753:4;;1760:7;;1729:39;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:44;1712:62;1704:150;;;;-1:-1:-1;;;1704:150:450;;;;;;;:::i;:::-;1864:90;1884:5;1914:22;;;1938:7;1947:5;1891:62;;;;;;;;;:::i;2967:751::-;3386:23;3412:69;3440:4;3412:69;;;;;;;;;;;;;;;;;3420:5;-1:-1:-1;;;;;3412:27:450;;;:69;;;;;:::i;:::-;3495:17;;3386:95;;-1:-1:-1;3495:21:450;3491:221;;3635:10;3624:30;;;;;;;;;;;;:::i;:::-;3616:85;;;;-1:-1:-1;;;3616:85:450;;;;;;;:::i;3581:193:451:-;3684:12;3715:52;3737:6;3745:4;3751:1;3754:12;3715:21;:52::i;:::-;3708:59;3581:193;-1:-1:-1;;;;3581:193:451:o;4608:523::-;4735:12;4792:5;4767:21;:30;;4759:81;;;;-1:-1:-1;;;4759:81:451;;;;;;;:::i;:::-;4858:18;4869:6;4858:10;:18::i;:::-;4850:60;;;;-1:-1:-1;;;4850:60:451;;;;;;;:::i;:::-;4981:12;4995:23;5022:6;-1:-1:-1;;;;;5022:11:451;5042:5;5050:4;5022:33;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4980:75;;;;5072:52;5090:7;5099:10;5111:12;5072:17;:52::i;:::-;5065:59;4608:523;-1:-1:-1;;;;;;;4608:523:451:o;726:413::-;1086:20;;1124:8;;726:413;;;;:::o;7091:725::-;7206:12;7234:7;7230:580;;;-1:-1:-1;7264:10:451;7257:17;;7230:580;7375:17;;:21;7371:429;;7633:10;7627:17;7693:15;7680:10;7676:2;7672:19;7665:44;7582:145;7772:12;7765:20;;-1:-1:-1;;;7765:20:451;;;;;;;;:::i;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5:130::-;72:20;;97:33;72:20;97:33;:::i;142:134::-;220:13;;238:33;220:13;238:33;:::i;458:722::-;;586:3;579:4;571:6;567:17;563:27;553:2;;604:1;601;594:12;553:2;634:6;628:13;656:80;671:64;728:6;671:64;:::i;:::-;656:80;:::i;:::-;647:89;;753:5;778:6;771:5;764:21;808:4;800:6;796:17;786:27;;830:4;825:3;821:14;814:21;;883:6;930:3;922:4;914:6;910:17;905:3;901:27;898:36;895:2;;;947:1;944;937:12;895:2;972:1;957:217;982:6;979:1;976:13;957:217;;;1040:3;1062:48;1106:3;1094:10;1062:48;:::i;:::-;1050:61;;-1:-1;1134:4;1125:14;;;;1153;;;;;1004:1;997:9;957:217;;;961:14;546:634;;;;;;;:::o;1204:705::-;;1330:3;1323:4;1315:6;1311:17;1307:27;1297:2;;1348:1;1345;1338:12;1297:2;1385:6;1372:20;1407:89;1422:73;1488:6;1422:73;:::i;1407:89::-;1524:21;;;1568:4;1556:17;;;;1398:98;;-1:-1;1581:14;;1556:17;1676:1;1661:242;1686:6;1683:1;1680:13;1661:242;;;1769:3;1756:17;1748:6;1744:30;1793:46;1835:3;1823:10;1793:46;:::i;:::-;1781:59;;-1:-1;1863:4;1854:14;;;;1882;;;;;1708:1;1701:9;1661:242;;1969:764;;2123:3;2116:4;2108:6;2104:17;2100:27;2090:2;;2141:1;2138;2131:12;2090:2;2171:6;2165:13;2193:106;2208:90;2291:6;2208:90;:::i;2193:106::-;2327:21;;;2371:4;2359:17;;;;2184:115;;-1:-1;2384:14;;2359:17;2479:1;2464:263;2489:6;2486:1;2483:13;2464:263;;;2565:3;2559:10;2551:6;2547:23;2589:74;2659:3;2647:10;2589:74;:::i;:::-;2577:87;;-1:-1;2687:4;2678:14;;;;2706;;;;;2511:1;2504:9;2464:263;;2790:755;;2941:3;2934:4;2926:6;2922:17;2918:27;2908:2;;2959:1;2956;2949:12;2908:2;2989:6;2983:13;3011:103;3026:87;3106:6;3026:87;:::i;3011:103::-;3142:21;;;3186:4;3174:17;;;;3002:112;;-1:-1;3199:14;;3174:17;3294:1;3279:260;3304:6;3301:1;3298:13;3279:260;;;3380:3;3374:10;3366:6;3362:23;3404:71;3471:3;3459:10;3404:71;:::i;:::-;3392:84;;-1:-1;3499:4;3490:14;;;;3518;;;;;3326:1;3319:9;3279:260;;3603:758;;3755:3;3748:4;3740:6;3736:17;3732:27;3722:2;;3773:1;3770;3763:12;3722:2;3803:6;3797:13;3825:104;3840:88;3921:6;3840:88;:::i;3825:104::-;3957:21;;;4001:4;3989:17;;;;3816:113;;-1:-1;4014:14;;3989:17;4109:1;4094:261;4119:6;4116:1;4113:13;4094:261;;;4195:3;4189:10;4181:6;4177:23;4219:72;4287:3;4275:10;4219:72;:::i;:::-;4207:85;;-1:-1;4315:4;4306:14;;;;4334;;;;;4141:1;4134:9;4094:261;;4387:722;;4515:3;4508:4;4500:6;4496:17;4492:27;4482:2;;4533:1;4530;4523:12;4482:2;4563:6;4557:13;4585:80;4600:64;4657:6;4600:64;:::i;4585:80::-;4576:89;;4682:5;4707:6;4700:5;4693:21;4737:4;4729:6;4725:17;4715:27;;4759:4;4754:3;4750:14;4743:21;;4812:6;4859:3;4851:4;4843:6;4839:17;4834:3;4830:27;4827:36;4824:2;;;4876:1;4873;4866:12;4824:2;4901:1;4886:217;4911:6;4908:1;4905:13;4886:217;;;4969:3;4991:48;5035:3;5023:10;4991:48;:::i;:::-;4979:61;;-1:-1;5063:4;5054:14;;;;5082;;;;;4933:1;4926:9;4886:217;;5117:124;5181:20;;5206:30;5181:20;5206:30;:::i;5248:128::-;5323:13;;5341:30;5323:13;5341:30;:::i;5383:134::-;5461:13;;5479:33;5461:13;5479:33;:::i;5524:128::-;5590:20;;5615:32;5590:20;5615:32;:::i;5673:336::-;;;5787:3;5780:4;5772:6;5768:17;5764:27;5754:2;;5805:1;5802;5795:12;5754:2;-1:-1;5825:20;;-1:-1;;;;;5854:30;;5851:2;;;5897:1;5894;5887:12;5851:2;5931:4;5923:6;5919:17;5907:29;;5982:3;5974:4;5966:6;5962:17;5952:8;5948:32;5945:41;5942:2;;;5999:1;5996;5989:12;6018:440;;6119:3;6112:4;6104:6;6100:17;6096:27;6086:2;;6137:1;6134;6127:12;6086:2;6174:6;6161:20;6196:64;6211:48;6252:6;6211:48;:::i;6196:64::-;6187:73;;6280:6;6273:5;6266:21;6316:4;6308:6;6304:17;6349:4;6342:5;6338:16;6384:3;6375:6;6370:3;6366:16;6363:25;6360:2;;;6401:1;6398;6391:12;6360:2;6411:41;6445:6;6440:3;6435;6411:41;:::i;:::-;6079:379;;;;;;;:::o;6467:442::-;;6579:3;6572:4;6564:6;6560:17;6556:27;6546:2;;6597:1;6594;6587:12;6546:2;6627:6;6621:13;6649:64;6664:48;6705:6;6664:48;:::i;6649:64::-;6640:73;;6733:6;6726:5;6719:21;6769:4;6761:6;6757:17;6802:4;6795:5;6791:16;6837:3;6828:6;6823:3;6819:16;6816:25;6813:2;;;6854:1;6851;6844:12;6813:2;6864:39;6896:6;6891:3;6886;6864:39;:::i;6965:960::-;;7091:4;7079:9;7074:3;7070:19;7066:30;7063:2;;;7109:1;7106;7099:12;7063:2;7127:20;7142:4;7127:20;:::i;:::-;7118:29;-1:-1;7200:1;7232:68;7296:3;7276:9;7232:68;:::i;:::-;7207:94;;-1:-1;7365:2;7398:60;7454:3;7430:22;;;7398:60;:::i;:::-;7391:4;7384:5;7380:16;7373:86;7322:148;7526:2;7559:60;7615:3;7606:6;7595:9;7591:22;7559:60;:::i;:::-;7552:4;7545:5;7541:16;7534:86;7480:151;7703:2;7692:9;7688:18;7682:25;-1:-1;;;;;7719:6;7716:30;7713:2;;;7759:1;7756;7749:12;7713:2;7794:109;7899:3;7890:6;7879:9;7875:22;7794:109;:::i;:::-;7787:4;7780:5;7776:16;7769:135;7641:274;7057:868;;;;:::o;7977:796::-;;8100:4;8088:9;8083:3;8079:19;8075:30;8072:2;;;8118:1;8115;8108:12;8072:2;8136:20;8151:4;8136:20;:::i;:::-;8127:29;-1:-1;8204:1;8236:60;8292:3;8272:9;8236:60;:::i;:::-;8211:86;;-1:-1;8369:2;8402:60;8458:3;8434:22;;;8402:60;:::i;:::-;8395:4;8388:5;8384:16;8377:86;8318:156;8549:2;8538:9;8534:18;8528:25;-1:-1;;;;;8565:6;8562:30;8559:2;;;8605:1;8602;8595:12;8559:2;8640:111;8747:3;8738:6;8727:9;8723:22;8640:111;:::i;:::-;8633:4;8626:5;8622:16;8615:137;8484:279;8066:707;;;;:::o;8826:1076::-;;8950:4;8938:9;8933:3;8929:19;8925:30;8922:2;;;8968:1;8965;8958:12;8922:2;8986:20;9001:4;8986:20;:::i;:::-;8977:29;-1:-1;9057:1;9089:60;9145:3;9125:9;9089:60;:::i;:::-;9064:86;;-1:-1;9221:2;9254:60;9310:3;9286:22;;;9254:60;:::i;:::-;9247:4;9240:5;9236:16;9229:86;9171:155;9379:2;9412:60;9468:3;9459:6;9448:9;9444:22;9412:60;:::i;:::-;9405:4;9398:5;9394:16;9387:86;9336:148;9558:2;9547:9;9543:18;9537:25;-1:-1;;;;;9574:6;9571:30;9568:2;;;9614:1;9611;9604:12;9568:2;9649:69;9714:3;9705:6;9694:9;9690:22;9649:69;:::i;:::-;9642:4;9635:5;9631:16;9624:95;9494:236;9786:3;9820:60;9876:3;9867:6;9856:9;9852:22;9820:60;:::i;:::-;9813:4;9806:5;9802:16;9795:86;9740:152;8916:986;;;;:::o;9909:134::-;9987:13;;10005:33;9987:13;10005:33;:::i;10050:613::-;;;;;10206:2;10194:9;10185:7;10181:23;10177:32;10174:2;;;10222:1;10219;10212:12;10174:2;10257:1;10274:53;10319:7;10299:9;10274:53;:::i;:::-;10264:63;;10236:97;10364:2;10382:52;10426:7;10417:6;10406:9;10402:22;10382:52;:::i;:::-;10372:62;;10343:97;10499:2;10488:9;10484:18;10471:32;-1:-1;;;;;10515:6;10512:30;10509:2;;;10555:1;10552;10545:12;10509:2;10583:64;10639:7;10630:6;10619:9;10615:22;10583:64;:::i;:::-;10168:495;;;;-1:-1;10565:82;-1:-1;;;;10168:495::o;10670:490::-;;;;10810:2;10798:9;10789:7;10785:23;10781:32;10778:2;;;10826:1;10823;10816:12;10778:2;10861:1;10878:53;10923:7;10903:9;10878:53;:::i;:::-;10868:63;;10840:97;10996:2;10985:9;10981:18;10968:32;-1:-1;;;;;11012:6;11009:30;11006:2;;;11052:1;11049;11042:12;11006:2;11080:64;11136:7;11127:6;11116:9;11112:22;11080:64;:::i;:::-;11062:82;;;;10947:203;10772:388;;;;;:::o;11167:739::-;;;;;;11343:2;11331:9;11322:7;11318:23;11314:32;11311:2;;;11359:1;11356;11349:12;11311:2;11394:1;11411:53;11456:7;11436:9;11411:53;:::i;:::-;11401:63;;11373:97;11529:2;11518:9;11514:18;11501:32;-1:-1;;;;;11545:6;11542:30;11539:2;;;11585:1;11582;11575:12;11539:2;11613:64;11669:7;11660:6;11649:9;11645:22;11613:64;:::i;:::-;11595:82;;;;11480:203;11742:2;11731:9;11727:18;11714:32;-1:-1;;;;;11758:6;11755:30;11752:2;;;11798:1;11795;11788:12;11752:2;11826:64;11882:7;11873:6;11862:9;11858:22;11826:64;:::i;:::-;11808:82;;;;11693:203;11305:601;;;;;;;;:::o;11913:922::-;;;;12137:2;12125:9;12116:7;12112:23;12108:32;12105:2;;;12153:1;12150;12143:12;12105:2;12188:24;;-1:-1;;;;;12221:30;;12218:2;;;12264:1;12261;12254:12;12218:2;12284:89;12365:7;12356:6;12345:9;12341:22;12284:89;:::i;:::-;12274:99;;12167:212;12431:2;12420:9;12416:18;12410:25;-1:-1;;;;;12447:6;12444:30;12441:2;;;12487:1;12484;12477:12;12441:2;12507:89;12588:7;12579:6;12568:9;12564:22;12507:89;:::i;:::-;12497:99;;12389:213;12654:2;12643:9;12639:18;12633:25;-1:-1;;;;;12670:6;12667:30;12664:2;;;12710:1;12707;12700:12;12664:2;12730:89;12811:7;12802:6;12791:9;12787:22;12730:89;:::i;:::-;12720:99;;12612:213;12099:736;;;;;:::o;12842:514::-;;;12994:2;12982:9;12973:7;12969:23;12965:32;12962:2;;;13010:1;13007;13000:12;12962:2;13045:31;;-1:-1;;;;;13085:30;;13082:2;;;13128:1;13125;13118:12;13082:2;13148:87;13227:7;13218:6;13207:9;13203:22;13148:87;:::i;:::-;13138:97;;13024:217;13272:2;13290:50;13332:7;13323:6;13312:9;13308:22;13290:50;:::i;:::-;13280:60;;13251:95;12956:400;;;;;:::o;13363:257::-;;13475:2;13463:9;13454:7;13450:23;13446:32;13443:2;;;13491:1;13488;13481:12;13443:2;13526:1;13543:61;13596:7;13576:9;13543:61;:::i;13627:263::-;;13742:2;13730:9;13721:7;13717:23;13713:32;13710:2;;;13758:1;13755;13748:12;13710:2;13793:1;13810:64;13866:7;13846:9;13810:64;:::i;13897:1137::-;;;;;;;14153:3;14141:9;14132:7;14128:23;14124:33;14121:2;;;14170:1;14167;14160:12;14121:2;14205:1;14222:64;14278:7;14258:9;14222:64;:::i;:::-;14212:74;;14184:108;14323:2;14341:64;14397:7;14388:6;14377:9;14373:22;14341:64;:::i;:::-;14331:74;;14302:109;14442:2;14460:72;14524:7;14515:6;14504:9;14500:22;14460:72;:::i;:::-;14450:82;;14421:117;14569:2;14587:64;14643:7;14634:6;14623:9;14619:22;14587:64;:::i;:::-;14577:74;;14548:109;14688:3;14707:64;14763:7;14754:6;14743:9;14739:22;14707:64;:::i;:::-;14697:74;;14667:110;14829:3;14818:9;14814:19;14808:26;-1:-1;;;;;14846:6;14843:30;14840:2;;;14886:1;14883;14876:12;14840:2;14906:112;15010:7;15001:6;14990:9;14986:22;14906:112;:::i;:::-;14896:122;;14787:237;14115:919;;;;;;;;:::o;15042:173::-;;15129:46;15171:3;15163:6;15129:46;:::i;:::-;-1:-1;;15204:4;15195:14;;15122:93::o;15224:257::-;;15377:98;15471:3;15463:6;15377:98;:::i;15490:245::-;;15637:92;15725:3;15717:6;15637:92;:::i;15744:249::-;;15893:94;15983:3;15975:6;15893:94;:::i;16002:173::-;;16089:46;16131:3;16123:6;16089:46;:::i;16183:127::-;16272:32;16298:5;16272:32;:::i;:::-;16267:3;16260:45;16254:56;;:::o;16578:690::-;;16723:54;16771:5;16723:54;:::i;:::-;16790:86;16869:6;16864:3;16790:86;:::i;:::-;16783:93;;16897:56;16947:5;16897:56;:::i;:::-;16973:7;17001:1;16986:260;17011:6;17008:1;17005:13;16986:260;;;17078:6;17072:13;17099:63;17158:3;17143:13;17099:63;:::i;:::-;17092:70;;17179:60;17232:6;17179:60;:::i;:::-;17169:70;-1:-1;;17033:1;17026:9;16986:260;;;-1:-1;17259:3;;16702:566;-1:-1;;;;;16702:566::o;17375:1036::-;;17562:80;17636:5;17562:80;:::i;:::-;17655:102;17750:6;17745:3;17655:102;:::i;:::-;17648:109;;17780:3;17822:4;17814:6;17810:17;17805:3;17801:27;17849:82;17925:5;17849:82;:::i;:::-;17951:7;17979:1;17964:408;17989:6;17986:1;17983:13;17964:408;;;18051:9;18045:4;18041:20;18036:3;18029:33;18096:6;18090:13;18118:116;18229:4;18214:13;18118:116;:::i;:::-;18110:124;;18251:86;18330:6;18251:86;:::i;:::-;18360:4;18351:14;;;;;18241:96;-1:-1;;18011:1;18004:9;17964:408;;;-1:-1;18385:4;;17541:870;-1:-1;;;;;;;17541:870::o;18512:1012::-;;18693:77;18764:5;18693:77;:::i;:::-;18783:99;18875:6;18870:3;18783:99;:::i;:::-;18776:106;;18905:3;18947:4;18939:6;18935:17;18930:3;18926:27;18974:79;19047:5;18974:79;:::i;:::-;19073:7;19101:1;19086:399;19111:6;19108:1;19105:13;19086:399;;;19173:9;19167:4;19163:20;19158:3;19151:33;19218:6;19212:13;19240:110;19345:4;19330:13;19240:110;:::i;:::-;19232:118;;19367:83;19443:6;19367:83;:::i;:::-;19473:4;19464:14;;;;;19357:93;-1:-1;;19133:1;19126:9;19086:399;;19627:1020;;19810:78;19882:5;19810:78;:::i;:::-;19901:100;19994:6;19989:3;19901:100;:::i;:::-;19894:107;;20024:3;20066:4;20058:6;20054:17;20049:3;20045:27;20093:80;20167:5;20093:80;:::i;:::-;20193:7;20221:1;20206:402;20231:6;20228:1;20225:13;20206:402;;;20293:9;20287:4;20283:20;20278:3;20271:33;20338:6;20332:13;20360:112;20467:4;20452:13;20360:112;:::i;:::-;20352:120;;20489:84;20566:6;20489:84;:::i;:::-;20596:4;20587:14;;;;;20479:94;-1:-1;;20253:1;20246:9;20206:402;;20686:690;;20831:54;20879:5;20831:54;:::i;:::-;20898:86;20977:6;20972:3;20898:86;:::i;:::-;20891:93;;21005:56;21055:5;21005:56;:::i;:::-;21081:7;21109:1;21094:260;21119:6;21116:1;21113:13;21094:260;;;21186:6;21180:13;21207:63;21266:3;21251:13;21207:63;:::i;:::-;21200:70;;21287:60;21340:6;21287:60;:::i;:::-;21277:70;-1:-1;;21141:1;21134:9;21094:260;;21384:103;21457:24;21475:5;21457:24;:::i;21494:110::-;21575:23;21592:5;21575:23;:::i;21611:323::-;;21711:38;21743:5;21711:38;:::i;:::-;21761:60;21814:6;21809:3;21761:60;:::i;:::-;21754:67;;21826:52;21871:6;21866:3;21859:4;21852:5;21848:16;21826:52;:::i;:::-;21899:29;21921:6;21899:29;:::i;:::-;21890:39;;;;21691:243;-1:-1;;;21691:243::o;22291:356::-;;22419:38;22451:5;22419:38;:::i;:::-;22469:88;22550:6;22545:3;22469:88;:::i;:::-;22462:95;;22562:52;22607:6;22602:3;22595:4;22588:5;22584:16;22562:52;:::i;:::-;22626:16;;;;;22399:248;-1:-1;;22399:248::o;22654:176::-;22762:62;22818:5;22762:62;:::i;23192:448::-;;23352:67;23416:2;23411:3;23352:67;:::i;:::-;23452:34;23432:55;;23521:34;23516:2;23507:12;;23500:56;-1:-1;;;23585:2;23576:12;;23569:34;23631:2;23622:12;;23338:302;-1:-1;;23338:302::o;23649:330::-;;23809:67;23873:2;23868:3;23809:67;:::i;:::-;23909:32;23889:53;;23970:2;23961:12;;23795:184;-1:-1;;23795:184::o;23988:375::-;;24148:67;24212:2;24207:3;24148:67;:::i;:::-;24248:34;24228:55;;-1:-1;;;24312:2;24303:12;;24296:30;24354:2;24345:12;;24134:229;-1:-1;;24134:229::o;24372:329::-;;24532:67;24596:2;24591:3;24532:67;:::i;:::-;24632:31;24612:52;;24692:2;24683:12;;24518:183;-1:-1;;24518:183::o;24710:379::-;;24870:67;24934:2;24929:3;24870:67;:::i;:::-;24970:34;24950:55;;-1:-1;;;25034:2;25025:12;;25018:34;25080:2;25071:12;;24856:233;-1:-1;;24856:233::o;25098:391::-;;25258:67;25322:2;25317:3;25258:67;:::i;:::-;25358:34;25338:55;;-1:-1;;;25422:2;25413:12;;25406:46;25480:2;25471:12;;25244:245;-1:-1;;25244:245::o;25498:376::-;;25658:67;25722:2;25717:3;25658:67;:::i;:::-;25758:34;25738:55;;-1:-1;;;25822:2;25813:12;;25806:31;25865:2;25856:12;;25644:230;-1:-1;;25644:230::o;25975:978::-;26187:23;;25975:978;;26118:4;26109:14;;;26216:79;26113:3;26187:23;26216:79;:::i;:::-;26138:163;26377:4;26370:5;26366:16;26360:23;26389:63;26446:4;26441:3;26437:14;26423:12;26389:63;:::i;:::-;26311:147;26537:4;26530:5;26526:16;26520:23;26549:63;26606:4;26601:3;26597:14;26583:12;26549:63;:::i;:::-;26468:150;26692:4;26685:5;26681:16;26675:23;26744:3;26738:4;26734:14;26727:4;26722:3;26718:14;26711:38;26764:151;26910:4;26896:12;26764:151;:::i;:::-;26756:159;26091:862;-1:-1;;;;;26091:862::o;27047:806::-;27248:23;;27047:806;;27184:4;27175:14;;;27277:63;27179:3;27248:23;27277:63;:::i;:::-;27204:142;27430:4;27423:5;27419:16;27413:23;27442:63;27499:4;27494:3;27490:14;27476:12;27442:63;:::i;:::-;27356:155;27588:4;27581:5;27577:16;27571:23;27640:3;27634:4;27630:14;27623:4;27618:3;27614:14;27607:38;27660:155;27810:4;27796:12;27660:155;:::i;27949:1042::-;28155:23;;27949:1042;;28088:4;28079:14;;;28184:63;28083:3;28155:23;28184:63;:::i;:::-;28108:145;28336:4;28329:5;28325:16;28319:23;28348:63;28405:4;28400:3;28396:14;28382:12;28348:63;:::i;:::-;28263:154;28493:4;28486:5;28482:16;28476:23;28505:63;28562:4;28557:3;28553:14;28539:12;28505:63;:::i;:::-;28427:147;28650:4;28643:5;28639:16;28633:23;28702:3;28696:4;28692:14;28685:4;28680:3;28676:14;28669:38;28722:71;28788:4;28774:12;28722:71;:::i;:::-;28714:79;;28584:221;28884:4;28877:5;28873:16;28867:23;28896:63;28953:4;28948:3;28944:14;28930:12;28896:63;:::i;:::-;-1:-1;28982:4;28061:930;-1:-1;;;28061:930::o;29093:2204::-;29321:23;;29093:2204;;29248:6;29239:16;;;29350:63;29243:3;29321:23;29350:63;:::i;:::-;29270:149;29498:4;29491:5;29487:16;29481:23;29510:63;29567:4;29562:3;29558:14;29544:12;29510:63;:::i;:::-;29429:150;29656:4;29649:5;29645:16;29639:23;29668:63;29725:4;29720:3;29716:14;29702:12;29668:63;:::i;:::-;29589:148;29820:4;29813:5;29809:16;29803:23;29832:63;29889:4;29884:3;29880:14;29866:12;29832:63;:::i;:::-;29747:154;29981:4;29974:5;29970:16;29964:23;29993:79;30066:4;30061:3;30057:14;30043:12;29993:79;:::i;:::-;29911:167;30151:4;30144:5;30140:16;30134:23;30203:3;30197:4;30193:14;30186:4;30181:3;30177:14;30170:38;30223:149;30367:4;30353:12;30223:149;:::i;:::-;30215:157;;30088:296;30460:4;30453:5;30449:16;30443:23;30472:79;30545:4;30540:3;30536:14;30522:12;30472:79;:::i;:::-;30394:163;30636:4;30629:5;30625:16;30619:23;30648:63;30705:4;30700:3;30696:14;30682:12;30648:63;:::i;:::-;30567:150;30792:6;30785:5;30781:18;30775:25;30848:3;30842:4;30838:14;30829:6;30824:3;30820:16;30813:40;30868:71;30934:4;30920:12;30868:71;:::i;:::-;30860:79;;30727:224;31028:6;31021:5;31017:18;31011:25;31042:65;31099:6;31094:3;31090:16;31076:12;31042:65;:::i;:::-;30961:152;31186:6;31179:5;31175:18;31169:25;31200:65;31257:6;31252:3;31248:16;31234:12;31200:65;:::i;31304:103::-;31377:24;31395:5;31377:24;:::i;31534:271::-;;31687:93;31776:3;31767:6;31687:93;:::i;31812:222::-;31939:2;31924:18;;31953:71;31928:9;31997:6;31953:71;:::i;32041:333::-;32196:2;32181:18;;32210:71;32185:9;32254:6;32210:71;:::i;:::-;32292:72;32360:2;32349:9;32345:18;32336:6;32292:72;:::i;32381:417::-;32554:2;32539:18;;32568:71;32543:9;32612:6;32568:71;:::i;:::-;32687:9;32681:4;32677:20;32672:2;32661:9;32657:18;32650:48;32712:76;32783:4;32774:6;32712:76;:::i;32805:333::-;32960:2;32945:18;;32974:71;32949:9;33018:6;32974:71;:::i;:::-;33056:72;33124:2;33113:9;33109:18;33100:6;33056:72;:::i;33145:218::-;33270:2;33255:18;;33284:69;33259:9;33326:6;33284:69;:::i;33370:1310::-;33834:3;33819:19;;33849:96;33823:9;33918:6;33849:96;:::i;:::-;33993:9;33987:4;33983:20;33978:2;33967:9;33963:18;33956:48;34018:108;34121:4;34112:6;34018:108;:::i;:::-;34010:116;;34174:9;34168:4;34164:20;34159:2;34148:9;34144:18;34137:48;34199:108;34302:4;34293:6;34199:108;:::i;:::-;34191:116;;34355:9;34349:4;34345:20;34340:2;34329:9;34325:18;34318:48;34380:108;34483:4;34474:6;34380:108;:::i;:::-;34372:116;;34537:9;34531:4;34527:20;34521:3;34510:9;34506:19;34499:49;34562:108;34665:4;34656:6;34562:108;:::i;34687:310::-;34834:2;34848:47;;;34819:18;;34909:78;34819:18;34973:6;34909:78;:::i;35004:416::-;35204:2;35218:47;;;35189:18;;35279:131;35189:18;35279:131;:::i;35427:416::-;35627:2;35641:47;;;35612:18;;35702:131;35612:18;35702:131;:::i;35850:416::-;36050:2;36064:47;;;36035:18;;36125:131;36035:18;36125:131;:::i;36273:416::-;36473:2;36487:47;;;36458:18;;36548:131;36458:18;36548:131;:::i;36696:416::-;36896:2;36910:47;;;36881:18;;36971:131;36881:18;36971:131;:::i;37119:416::-;37319:2;37333:47;;;37304:18;;37394:131;37304:18;37394:131;:::i;37542:416::-;37742:2;37756:47;;;37727:18;;37817:131;37727:18;37817:131;:::i;37965:378::-;38146:2;38160:47;;;38131:18;;38221:112;38131:18;38319:6;38221:112;:::i;38350:421::-;38525:2;38510:18;;38539:71;38514:9;38583:6;38539:71;:::i;38778:256::-;38840:2;38834:9;38866:17;;;-1:-1;;;;;38926:34;;38962:22;;;38923:62;38920:2;;;38998:1;38995;38988:12;38920:2;39014;39007:22;38818:216;;-1:-1;38818:216::o;39041:304::-;;-1:-1;;;;;39192:6;39189:30;39186:2;;;39232:1;39229;39222:12;39186:2;-1:-1;39267:4;39255:17;;;39320:15;;39123:222::o;40989:321::-;;-1:-1;;;;;41124:6;41121:30;41118:2;;;41164:1;41161;41154:12;41118:2;-1:-1;41295:4;41231;41208:17;;;;-1:-1;;41204:33;41285:15;;41055:255::o;41317:151::-;41441:4;41432:14;;41389:79::o;42180:137::-;42283:12;;42254:63::o;43879:178::-;43997:19;;;44046:4;44037:14;;43990:67::o;45513:91::-;;45575:24;45593:5;45575:24;:::i;45717:85::-;45783:13;45776:21;;45759:43::o;45809:145::-;-1:-1;;45871:78;;45854:100::o;45961:144::-;-1:-1;;;;;;46022:78;;46005:100::o;46112:160::-;46201:5;46207:60;46201:5;46207:60;:::i;46279:121::-;-1:-1;;;;;46341:54;;46324:76::o;46486:160::-;;46590:51;46635:5;46590:51;:::i;46654:145::-;46735:6;46730:3;46725;46712:30;-1:-1;46791:1;46773:16;;46766:27;46705:94::o;46808:268::-;46873:1;46880:101;46894:6;46891:1;46888:13;46880:101;;;46961:11;;;46955:18;46942:11;;;46935:39;46916:2;46909:10;46880:101;;;46996:6;46993:1;46990:13;46987:2;;;-1:-1;;47061:1;47043:16;;47036:27;46857:219::o;47084:97::-;47172:2;47152:14;-1:-1;;47148:28;;47132:49::o;47189:106::-;47274:3;47270:15;;47242:53::o;47303:739::-;;47376:4;47358:16;47355:26;47352:2;;;47384:5;;47352:2;47418:1;47415;47412;47397:23;47436:34;47467:1;47461:8;47436:34;:::i;:::-;47493:10;47488:3;47485:19;47475:2;;47508:5;;;47475:2;47539;47533:9;47593:1;47575:16;47571:24;47568:1;47562:4;47547:49;47622:4;47616:11;47703:16;47696:4;47688:6;47684:17;47681:39;-1:-1;;;;;47647:6;47644:30;47635:91;47632:2;;;47734:5;;;;;47632:2;47772:6;47766:4;47762:17;47804:3;47798:10;-1:-1;;;;;47819:6;47816:30;47813:2;;;47849:5;;;;;;;47813:2;47893:6;47886:4;47881:3;47877:14;47873:27;47926:16;47920:4;47916:27;47911:3;47908:36;47905:2;;;47947:5;;;;;;;;47905:2;47991:29;48013:6;47991:29;:::i;:::-;47971:50;;47984:4;47971:50;47967:2;47960:62;-1:-1;47979:3;;-1:-1;;;;;47346:696;:::o;48049:118::-;48145:1;48138:5;48135:12;48125:2;;48151:9;48125:2;48119:48;:::o;48174:117::-;48243:24;48261:5;48243:24;:::i;:::-;48236:5;48233:35;48223:2;;48282:1;48279;48272:12;48438:111;48504:21;48519:5;48504:21;:::i;48556:117::-;48625:24;48643:5;48625:24;:::i;48680:115::-;48748:23;48765:5;48748:23;:::i;48802:117::-;48871:24;48889:5;48871:24;:::i", "linkReferences": {}, "immutableReferences": { "49791": [ { "start": 2324, "length": 32 } ], "51506": [ { "start": 1322, "length": 32 } ], "51508": [ { "start": 2538, "length": 32 } ], "51510": [ { "start": 2585, "length": 32 } ], "51512": [ { "start": 1108, "length": 32 } ] } }, "methodIdentifiers": { "CLAIM_REWARDS_SELECTOR()": "40da225d", "LEND_AND_STAKE_SELECTOR()": "131461c0", "LEND_SELECTOR()": "257cb1a3", "REDEEM_SELECTOR()": "f7d882b5", "STAKE_SELECTOR()": "3ffc1591", "TAKE_MULTIPLE_ORDERS_SELECTOR()": "c32990a2", "TAKE_ORDER_SELECTOR()": "863e5ad0", "UNSTAKE_AND_REDEEM_SELECTOR()": "080456c1", "UNSTAKE_SELECTOR()": "b23228cf", "getIntegrationManager()": "e7c45690", "getParaSwapV5AugustusSwapper()": "91bc27dc", "getParaSwapV5TokenTransferProxy()": "2c428679", "parseAssetsForAction(address,bytes4,bytes)": "c54efee5", "takeMultipleOrders(address,bytes,bytes)": "0e7f692d", "takeOrder(address,bytes,bytes)": "03e38a2b", "takeOrderAndValidateIncoming(address,bytes)": "2d979b8c" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_integrationManager\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_augustusSwapper\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_tokenTransferProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_feePartner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_feePercent\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"MultipleOrdersItemFailed\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"CLAIM_REWARDS_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LEND_AND_STAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LEND_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"REDEEM_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"STAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TAKE_MULTIPLE_ORDERS_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TAKE_ORDER_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UNSTAKE_AND_REDEEM_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UNSTAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getIntegrationManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"integrationManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getParaSwapV5AugustusSwapper\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"augustusSwapper_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getParaSwapV5TokenTransferProxy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"tokenTransferProxy_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"_selector\",\"type\":\"bytes4\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"}],\"name\":\"parseAssetsForAction\",\"outputs\":[{\"internalType\":\"enum IIntegrationManager.SpendAssetsHandleType\",\"name\":\"spendAssetsHandleType_\",\"type\":\"uint8\"},{\"internalType\":\"address[]\",\"name\":\"spendAssets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"spendAssetAmounts_\",\"type\":\"uint256[]\"},{\"internalType\":\"address[]\",\"name\":\"incomingAssets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"minIncomingAssetAmounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"_assetData\",\"type\":\"bytes\"}],\"name\":\"takeMultipleOrders\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"takeOrder\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_orderData\",\"type\":\"bytes\"}],\"name\":\"takeOrderAndValidateIncoming\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"Does not support any protocol that collects additional protocol fees as ETH/WETH, e.g., 0x v3\",\"kind\":\"dev\",\"methods\":{\"getIntegrationManager()\":{\"returns\":{\"integrationManager_\":\"The `INTEGRATION_MANAGER` variable value\"}},\"getParaSwapV5AugustusSwapper()\":{\"returns\":{\"augustusSwapper_\":\"The `PARA_SWAP_V5_AUGUSTUS_SWAPPER` variable value\"}},\"getParaSwapV5TokenTransferProxy()\":{\"returns\":{\"tokenTransferProxy_\":\"The `PARA_SWAP_V5_TOKEN_TRANSFER_PROXY` variable value\"}},\"parseAssetsForAction(address,bytes4,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_selector\":\"The function selector for the callOnIntegration\"},\"returns\":{\"incomingAssets_\":\"The assets to receive in the call\",\"minIncomingAssetAmounts_\":\"The min asset amounts to receive in the call\",\"spendAssetAmounts_\":\"The max asset amounts to spend in the call\",\"spendAssetsHandleType_\":\"A type that dictates how to handle granting the adapter access to spend assets (`None` by default)\",\"spendAssets_\":\"The assets to spend in the call\"}},\"takeMultipleOrders(address,bytes,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_assetData\":\"Parsed spend assets and incoming assets data for this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}},\"takeOrder(address,bytes,bytes)\":{\"details\":\"ParaSwap v5 completely uses entire outgoing asset balance and incoming asset is sent directly to the beneficiary (the _vaultProxy)\",\"params\":{\"_actionData\":\"Data specific to this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}},\"takeOrderAndValidateIncoming(address,bytes)\":{\"details\":\"Necessary for try/catch\"}},\"title\":\"ParaSwapV5Adapter Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getIntegrationManager()\":{\"notice\":\"Gets the `INTEGRATION_MANAGER` variable\"},\"getParaSwapV5AugustusSwapper()\":{\"notice\":\"Gets the `PARA_SWAP_V5_AUGUSTUS_SWAPPER` variable\"},\"getParaSwapV5TokenTransferProxy()\":{\"notice\":\"Gets the `PARA_SWAP_V5_TOKEN_TRANSFER_PROXY` variable\"},\"parseAssetsForAction(address,bytes4,bytes)\":{\"notice\":\"Parses the expected assets in a particular action\"},\"takeMultipleOrders(address,bytes,bytes)\":{\"notice\":\"Executes multiple trades on ParaSwap\"},\"takeOrder(address,bytes,bytes)\":{\"notice\":\"Trades assets on ParaSwap\"},\"takeOrderAndValidateIncoming(address,bytes)\":{\"notice\":\"External implementation of __takeOrderAndValidateIncoming(), only intended for internal usage\"}},\"notice\":\"Adapter for interacting with ParaSwap (v5)\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/integration-manager/integrations/adapters/ParaSwapV5Adapter.sol\":\"ParaSwapV5Adapter\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/integration-manager/IIntegrationManager.sol\":{\"keccak256\":\"0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23\",\"dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk\"]},\"contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol\":{\"keccak256\":\"0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336\",\"dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS\"]},\"contracts/release/extensions/integration-manager/integrations/adapters/ParaSwapV5Adapter.sol\":{\"keccak256\":\"0xd97b0f41b9aea6d449f39282924744ba321ed9b976ebd43fef067c3bbdbf1656\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1d370308110b73de90898f49cd9c144a5bb7bc290117e24cd284ca7a97529a60\",\"dweb:/ipfs/QmRWEYdCnrvi7zKEcrHhxbbGumrLBSZMKniqu9y2YTdrHP\"]},\"contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol\":{\"keccak256\":\"0x067e49bf0d3c1655ab41a413c65ccf61d4e593308132e1ffc484a0fadfbbaf26\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://387f425017e18e89cc1893521101fa99df595314847d0b3d9a1162369f714fcf\",\"dweb:/ipfs/Qmco3jCvuWAyfCpBYpGzHrQjiFJG63w1RJKcakoTEbxRQm\"]},\"contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol\":{\"keccak256\":\"0xfd34c7ca8231c6935e25dede32ca2b3121738e624d0fc896f7b895a731edcf88\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d492c061963d36d07718446db191d4c5a340c0d847f6cd209f027bd99f7cb176\",\"dweb:/ipfs/QmfCvRZt56ftDdrEh6LepHXFJ4fVtcfpQGvEyY8k4zxG1A\"]},\"contracts/release/extensions/integration-manager/integrations/utils/actions/ParaSwapV5ActionsMixin.sol\":{\"keccak256\":\"0x4f7e1e11e2eeb2477f5c6b2d99c2b7e30651f4c5d01e14d5a341217792cfe65c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bb1c2e66a0ea89c54ee49452fe457c507dc3858db6214daab4a0131c6202539b\",\"dweb:/ipfs/QmS3NcLQ1r8d2g4c79HJXLaviK27XtxHTE5C4pRpsm6GWE\"]},\"contracts/release/interfaces/IParaSwapV5AugustusSwapper.sol\":{\"keccak256\":\"0x41bbae45f0d7ba6a90c74bc6421c7339f3f7549171f4d8073d4b35f9691a5fa5\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a5aabccb9caf45e96a0ce884edb24dccc22460ffdeff773b8dfaec62c07fadf8\",\"dweb:/ipfs/QmV78Mdhkeks76rie9nAMjsAUey2riYsQte36VXvDPcNif\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_integrationManager", "type": "address" }, { "internalType": "address", "name": "_augustusSwapper", "type": "address" }, { "internalType": "address", "name": "_tokenTransferProxy", "type": "address" }, { "internalType": "address", "name": "_feePartner", "type": "address" }, { "internalType": "uint256", "name": "_feePercent", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "uint256", "name": "index", "type": "uint256", "indexed": false }, { "internalType": "string", "name": "reason", "type": "string", "indexed": false } ], "type": "event", "name": "MultipleOrdersItemFailed", "anonymous": false }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "CLAIM_REWARDS_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "LEND_AND_STAKE_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "LEND_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "REDEEM_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "STAKE_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "TAKE_MULTIPLE_ORDERS_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "TAKE_ORDER_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "UNSTAKE_AND_REDEEM_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "UNSTAKE_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getIntegrationManager", "outputs": [ { "internalType": "address", "name": "integrationManager_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getParaSwapV5AugustusSwapper", "outputs": [ { "internalType": "address", "name": "augustusSwapper_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getParaSwapV5TokenTransferProxy", "outputs": [ { "internalType": "address", "name": "tokenTransferProxy_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "bytes4", "name": "_selector", "type": "bytes4" }, { "internalType": "bytes", "name": "_actionData", "type": "bytes" } ], "stateMutability": "view", "type": "function", "name": "parseAssetsForAction", "outputs": [ { "internalType": "enum IIntegrationManager.SpendAssetsHandleType", "name": "spendAssetsHandleType_", "type": "uint8" }, { "internalType": "address[]", "name": "spendAssets_", "type": "address[]" }, { "internalType": "uint256[]", "name": "spendAssetAmounts_", "type": "uint256[]" }, { "internalType": "address[]", "name": "incomingAssets_", "type": "address[]" }, { "internalType": "uint256[]", "name": "minIncomingAssetAmounts_", "type": "uint256[]" } ] }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "bytes", "name": "_actionData", "type": "bytes" }, { "internalType": "bytes", "name": "_assetData", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "takeMultipleOrders" }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "bytes", "name": "_actionData", "type": "bytes" }, { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "takeOrder" }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "bytes", "name": "_orderData", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "takeOrderAndValidateIncoming" } ], "devdoc": { "kind": "dev", "methods": { "getIntegrationManager()": { "returns": { "integrationManager_": "The `INTEGRATION_MANAGER` variable value" } }, "getParaSwapV5AugustusSwapper()": { "returns": { "augustusSwapper_": "The `PARA_SWAP_V5_AUGUSTUS_SWAPPER` variable value" } }, "getParaSwapV5TokenTransferProxy()": { "returns": { "tokenTransferProxy_": "The `PARA_SWAP_V5_TOKEN_TRANSFER_PROXY` variable value" } }, "parseAssetsForAction(address,bytes4,bytes)": { "params": { "_actionData": "Data specific to this action", "_selector": "The function selector for the callOnIntegration" }, "returns": { "incomingAssets_": "The assets to receive in the call", "minIncomingAssetAmounts_": "The min asset amounts to receive in the call", "spendAssetAmounts_": "The max asset amounts to spend in the call", "spendAssetsHandleType_": "A type that dictates how to handle granting the adapter access to spend assets (`None` by default)", "spendAssets_": "The assets to spend in the call" } }, "takeMultipleOrders(address,bytes,bytes)": { "params": { "_actionData": "Data specific to this action", "_assetData": "Parsed spend assets and incoming assets data for this action", "_vaultProxy": "The VaultProxy of the calling fund" } }, "takeOrder(address,bytes,bytes)": { "details": "ParaSwap v5 completely uses entire outgoing asset balance and incoming asset is sent directly to the beneficiary (the _vaultProxy)", "params": { "_actionData": "Data specific to this action", "_vaultProxy": "The VaultProxy of the calling fund" } }, "takeOrderAndValidateIncoming(address,bytes)": { "details": "Necessary for try/catch" } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "getIntegrationManager()": { "notice": "Gets the `INTEGRATION_MANAGER` variable" }, "getParaSwapV5AugustusSwapper()": { "notice": "Gets the `PARA_SWAP_V5_AUGUSTUS_SWAPPER` variable" }, "getParaSwapV5TokenTransferProxy()": { "notice": "Gets the `PARA_SWAP_V5_TOKEN_TRANSFER_PROXY` variable" }, "parseAssetsForAction(address,bytes4,bytes)": { "notice": "Parses the expected assets in a particular action" }, "takeMultipleOrders(address,bytes,bytes)": { "notice": "Executes multiple trades on ParaSwap" }, "takeOrder(address,bytes,bytes)": { "notice": "Trades assets on ParaSwap" }, "takeOrderAndValidateIncoming(address,bytes)": { "notice": "External implementation of __takeOrderAndValidateIncoming(), only intended for internal usage" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/integration-manager/integrations/adapters/ParaSwapV5Adapter.sol": "ParaSwapV5Adapter" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/extensions/integration-manager/IIntegrationManager.sol": { "keccak256": "0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef", "urls": [ "bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23", "dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol": { "keccak256": "0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1", "urls": [ "bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336", "dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/adapters/ParaSwapV5Adapter.sol": { "keccak256": "0xd97b0f41b9aea6d449f39282924744ba321ed9b976ebd43fef067c3bbdbf1656", "urls": [ "bzz-raw://1d370308110b73de90898f49cd9c144a5bb7bc290117e24cd284ca7a97529a60", "dweb:/ipfs/QmRWEYdCnrvi7zKEcrHhxbbGumrLBSZMKniqu9y2YTdrHP" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol": { "keccak256": "0x067e49bf0d3c1655ab41a413c65ccf61d4e593308132e1ffc484a0fadfbbaf26", "urls": [ "bzz-raw://387f425017e18e89cc1893521101fa99df595314847d0b3d9a1162369f714fcf", "dweb:/ipfs/Qmco3jCvuWAyfCpBYpGzHrQjiFJG63w1RJKcakoTEbxRQm" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol": { "keccak256": "0xfd34c7ca8231c6935e25dede32ca2b3121738e624d0fc896f7b895a731edcf88", "urls": [ "bzz-raw://d492c061963d36d07718446db191d4c5a340c0d847f6cd209f027bd99f7cb176", "dweb:/ipfs/QmfCvRZt56ftDdrEh6LepHXFJ4fVtcfpQGvEyY8k4zxG1A" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/utils/actions/ParaSwapV5ActionsMixin.sol": { "keccak256": "0x4f7e1e11e2eeb2477f5c6b2d99c2b7e30651f4c5d01e14d5a341217792cfe65c", "urls": [ "bzz-raw://bb1c2e66a0ea89c54ee49452fe457c507dc3858db6214daab4a0131c6202539b", "dweb:/ipfs/QmS3NcLQ1r8d2g4c79HJXLaviK27XtxHTE5C4pRpsm6GWE" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IParaSwapV5AugustusSwapper.sol": { "keccak256": "0x41bbae45f0d7ba6a90c74bc6421c7339f3f7549171f4d8073d4b35f9691a5fa5", "urls": [ "bzz-raw://a5aabccb9caf45e96a0ce884edb24dccc22460ffdeff773b8dfaec62c07fadf8", "dweb:/ipfs/QmV78Mdhkeks76rie9nAMjsAUey2riYsQte36VXvDPcNif" ], "license": "GPL-3.0" }, "contracts/release/utils/AddressArrayLib.sol": { "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", "urls": [ "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" ], "license": "GPL-3.0" }, "contracts/release/utils/AssetHelpers.sol": { "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", "urls": [ "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", "urls": [ "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Address.sol": { "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", "urls": [ "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" } }, "version": 1 }, "id": 171 } diff --git a/eth_defi/abi/enzyme/PeggedDerivativesPriceFeedBase.json b/eth_defi/abi/enzyme/PeggedDerivativesPriceFeedBase.json index 2eef3f64..43cca554 100644 --- a/eth_defi/abi/enzyme/PeggedDerivativesPriceFeedBase.json +++ b/eth_defi/abi/enzyme/PeggedDerivativesPriceFeedBase.json @@ -1,555 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_fundDeployer", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "derivative", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "underlying", - "type": "address" - } - ], - "name": "DerivativeAdded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "derivative", - "type": "address" - } - ], - "name": "DerivativeRemoved", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_derivatives", - "type": "address[]" - }, - { - "internalType": "address[]", - "name": "_underlyings", - "type": "address[]" - } - ], - "name": "addDerivatives", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_derivative", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_derivativeAmount", - "type": "uint256" - } - ], - "name": "calcUnderlyingValues", - "outputs": [ - { - "internalType": "address[]", - "name": "underlyings_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "underlyingAmounts_", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getFundDeployer", - "outputs": [ - { - "internalType": "address", - "name": "fundDeployer_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "owner_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_derivative", - "type": "address" - } - ], - "name": "getUnderlyingForDerivative", - "outputs": [ - { - "internalType": "address", - "name": "underlying_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_asset", - "type": "address" - } - ], - "name": "isSupportedAsset", - "outputs": [ - { - "internalType": "bool", - "name": "isSupported_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_derivatives", - "type": "address[]" - } - ], - "name": "removeDerivatives", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "addDerivatives(address[],address[])": "39cbb63c", - "calcUnderlyingValues(address,uint256)": "727212f6", - "getFundDeployer()": "97c0ac87", - "getOwner()": "893d20e8", - "getUnderlyingForDerivative(address)": "66adb867", - "isSupportedAsset(address)": "9be918e6", - "removeDerivatives(address[])": "8f72b136" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_fundDeployer\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"derivative\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"underlying\",\"type\":\"address\"}],\"name\":\"DerivativeAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"derivative\",\"type\":\"address\"}],\"name\":\"DerivativeRemoved\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_derivatives\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"_underlyings\",\"type\":\"address[]\"}],\"name\":\"addDerivatives\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_derivative\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_derivativeAmount\",\"type\":\"uint256\"}],\"name\":\"calcUnderlyingValues\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"underlyings_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"underlyingAmounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFundDeployer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"fundDeployer_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_derivative\",\"type\":\"address\"}],\"name\":\"getUnderlyingForDerivative\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"underlying_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"}],\"name\":\"isSupportedAsset\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isSupported_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_derivatives\",\"type\":\"address[]\"}],\"name\":\"removeDerivatives\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"addDerivatives(address[],address[])\":{\"params\":{\"_derivatives\":\"The derivatives to add\",\"_underlyings\":\"The corresponding underlyings to add\"}},\"calcUnderlyingValues(address,uint256)\":{\"params\":{\"_derivative\":\"The derivative to convert\",\"_derivativeAmount\":\"The amount of the derivative to convert\"},\"returns\":{\"underlyingAmounts_\":\"The amount of each underlying asset for the equivalent derivative amount\",\"underlyings_\":\"The underlying assets for the _derivative\"}},\"getFundDeployer()\":{\"returns\":{\"fundDeployer_\":\"The `FUND_DEPLOYER` variable value\"}},\"getOwner()\":{\"details\":\"Ownership is deferred to the owner of the FundDeployer contract\",\"returns\":{\"owner_\":\"The owner\"}},\"getUnderlyingForDerivative(address)\":{\"params\":{\"_derivative\":\"The derivative for which to get the underlying asset\"},\"returns\":{\"underlying_\":\"The underlying asset\"}},\"isSupportedAsset(address)\":{\"params\":{\"_asset\":\"The asset to check\"},\"returns\":{\"isSupported_\":\"True if the asset is supported\"}},\"removeDerivatives(address[])\":{\"params\":{\"_derivatives\":\"The derivatives to remove\"}}},\"title\":\"PeggedDerivativesPriceFeedBase Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"addDerivatives(address[],address[])\":{\"notice\":\"Adds derivatives with corresponding underlyings to the price feed\"},\"calcUnderlyingValues(address,uint256)\":{\"notice\":\"Converts a given amount of a derivative to its underlying asset values\"},\"getFundDeployer()\":{\"notice\":\"Gets the `FUND_DEPLOYER` variable\"},\"getOwner()\":{\"notice\":\"Gets the owner of this contract\"},\"getUnderlyingForDerivative(address)\":{\"notice\":\"Gets the underlying asset for a given derivative\"},\"isSupportedAsset(address)\":{\"notice\":\"Checks if an asset is supported by the price feed\"},\"removeDerivatives(address[])\":{\"notice\":\"Removes derivatives from the price feed\"}},\"notice\":\"Price feed base for multiple derivatives that are pegged 1:1 to their underlyings, and have the same decimals as their underlying\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/infrastructure/price-feeds/derivatives/feeds/utils/PeggedDerivativesPriceFeedBase.sol\":\"PeggedDerivativesPriceFeedBase\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol\":{\"keccak256\":\"0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e\",\"dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK\"]},\"contracts/release/infrastructure/price-feeds/derivatives/feeds/utils/PeggedDerivativesPriceFeedBase.sol\":{\"keccak256\":\"0x1bfcfa32fd2ff255d3b371367e733bc5dd616f1e6244d272da7468067479702d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://0fa04e528bb5fb52d2bdbaa0532f1d0ea710d75622992156dc788dedbb8553df\",\"dweb:/ipfs/Qmdpw5aquGqFDD1tpUX6Ax7X4jx52WcoTjfoHVJozRSWpG\"]},\"contracts/release/infrastructure/price-feeds/derivatives/feeds/utils/SingleUnderlyingDerivativeRegistryMixin.sol\":{\"keccak256\":\"0xeb2aab819af80382ad562d5a80863484a42caa7888f811817eb283894a1852e7\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8846bfa874ede75fbcd3053d45a1647cad0aabbb26e4189998e8c517961c2bb6\",\"dweb:/ipfs/QmV4Bgx9VfX6kaoyZuaBDf2xyTY4ZmjniZTX8TrEmhU4Pv\"]},\"contracts/release/utils/FundDeployerOwnerMixin.sol\":{\"keccak256\":\"0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927\",\"dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_fundDeployer", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "derivative", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "underlying", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "DerivativeAdded", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "derivative", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "DerivativeRemoved", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_derivatives", - "type": "address[]" - }, - { - "internalType": "address[]", - "name": "_underlyings", - "type": "address[]" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "addDerivatives" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_derivative", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_derivativeAmount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "calcUnderlyingValues", - "outputs": [ - { - "internalType": "address[]", - "name": "underlyings_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "underlyingAmounts_", - "type": "uint256[]" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getFundDeployer", - "outputs": [ - { - "internalType": "address", - "name": "fundDeployer_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "owner_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_derivative", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getUnderlyingForDerivative", - "outputs": [ - { - "internalType": "address", - "name": "underlying_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_asset", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "isSupportedAsset", - "outputs": [ - { - "internalType": "bool", - "name": "isSupported_", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_derivatives", - "type": "address[]" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "removeDerivatives" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "addDerivatives(address[],address[])": { - "params": { - "_derivatives": "The derivatives to add", - "_underlyings": "The corresponding underlyings to add" - } - }, - "calcUnderlyingValues(address,uint256)": { - "params": { - "_derivative": "The derivative to convert", - "_derivativeAmount": "The amount of the derivative to convert" - }, - "returns": { - "underlyingAmounts_": "The amount of each underlying asset for the equivalent derivative amount", - "underlyings_": "The underlying assets for the _derivative" - } - }, - "getFundDeployer()": { - "returns": { - "fundDeployer_": "The `FUND_DEPLOYER` variable value" - } - }, - "getOwner()": { - "details": "Ownership is deferred to the owner of the FundDeployer contract", - "returns": { - "owner_": "The owner" - } - }, - "getUnderlyingForDerivative(address)": { - "params": { - "_derivative": "The derivative for which to get the underlying asset" - }, - "returns": { - "underlying_": "The underlying asset" - } - }, - "isSupportedAsset(address)": { - "params": { - "_asset": "The asset to check" - }, - "returns": { - "isSupported_": "True if the asset is supported" - } - }, - "removeDerivatives(address[])": { - "params": { - "_derivatives": "The derivatives to remove" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "addDerivatives(address[],address[])": { - "notice": "Adds derivatives with corresponding underlyings to the price feed" - }, - "calcUnderlyingValues(address,uint256)": { - "notice": "Converts a given amount of a derivative to its underlying asset values" - }, - "getFundDeployer()": { - "notice": "Gets the `FUND_DEPLOYER` variable" - }, - "getOwner()": { - "notice": "Gets the owner of this contract" - }, - "getUnderlyingForDerivative(address)": { - "notice": "Gets the underlying asset for a given derivative" - }, - "isSupportedAsset(address)": { - "notice": "Checks if an asset is supported by the price feed" - }, - "removeDerivatives(address[])": { - "notice": "Removes derivatives from the price feed" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/infrastructure/price-feeds/derivatives/feeds/utils/PeggedDerivativesPriceFeedBase.sol": "PeggedDerivativesPriceFeedBase" - }, - "libraries": {} - }, - "sources": { - "contracts/release/core/fund-deployer/IFundDeployer.sol": { - "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", - "urls": [ - "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", - "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol": { - "keccak256": "0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332", - "urls": [ - "bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e", - "dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/price-feeds/derivatives/feeds/utils/PeggedDerivativesPriceFeedBase.sol": { - "keccak256": "0x1bfcfa32fd2ff255d3b371367e733bc5dd616f1e6244d272da7468067479702d", - "urls": [ - "bzz-raw://0fa04e528bb5fb52d2bdbaa0532f1d0ea710d75622992156dc788dedbb8553df", - "dweb:/ipfs/Qmdpw5aquGqFDD1tpUX6Ax7X4jx52WcoTjfoHVJozRSWpG" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/price-feeds/derivatives/feeds/utils/SingleUnderlyingDerivativeRegistryMixin.sol": { - "keccak256": "0xeb2aab819af80382ad562d5a80863484a42caa7888f811817eb283894a1852e7", - "urls": [ - "bzz-raw://8846bfa874ede75fbcd3053d45a1647cad0aabbb26e4189998e8c517961c2bb6", - "dweb:/ipfs/QmV4Bgx9VfX6kaoyZuaBDf2xyTY4ZmjniZTX8TrEmhU4Pv" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/FundDeployerOwnerMixin.sol": { - "keccak256": "0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934", - "urls": [ - "bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927", - "dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 250 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_fundDeployer", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "addDerivatives", "inputs": [ { "name": "_derivatives", "type": "address[]", "internalType": "address[]" }, { "name": "_underlyings", "type": "address[]", "internalType": "address[]" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "calcUnderlyingValues", "inputs": [ { "name": "_derivative", "type": "address", "internalType": "address" }, { "name": "_derivativeAmount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "underlyings_", "type": "address[]", "internalType": "address[]" }, { "name": "underlyingAmounts_", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "getFundDeployer", "inputs": [], "outputs": [ { "name": "fundDeployer_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getOwner", "inputs": [], "outputs": [ { "name": "owner_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getUnderlyingForDerivative", "inputs": [ { "name": "_derivative", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "underlying_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "isSupportedAsset", "inputs": [ { "name": "_asset", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "isSupported_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "removeDerivatives", "inputs": [ { "name": "_derivatives", "type": "address[]", "internalType": "address[]" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "event", "name": "DerivativeAdded", "inputs": [ { "name": "derivative", "type": "address", "indexed": true, "internalType": "address" }, { "name": "underlying", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "DerivativeRemoved", "inputs": [ { "name": "derivative", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "addDerivatives(address[],address[])": "39cbb63c", "calcUnderlyingValues(address,uint256)": "727212f6", "getFundDeployer()": "97c0ac87", "getOwner()": "893d20e8", "getUnderlyingForDerivative(address)": "66adb867", "isSupportedAsset(address)": "9be918e6", "removeDerivatives(address[])": "8f72b136" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_fundDeployer\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"derivative\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"underlying\",\"type\":\"address\"}],\"name\":\"DerivativeAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"derivative\",\"type\":\"address\"}],\"name\":\"DerivativeRemoved\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_derivatives\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"_underlyings\",\"type\":\"address[]\"}],\"name\":\"addDerivatives\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_derivative\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_derivativeAmount\",\"type\":\"uint256\"}],\"name\":\"calcUnderlyingValues\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"underlyings_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"underlyingAmounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFundDeployer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"fundDeployer_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_derivative\",\"type\":\"address\"}],\"name\":\"getUnderlyingForDerivative\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"underlying_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"}],\"name\":\"isSupportedAsset\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isSupported_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_derivatives\",\"type\":\"address[]\"}],\"name\":\"removeDerivatives\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"addDerivatives(address[],address[])\":{\"params\":{\"_derivatives\":\"The derivatives to add\",\"_underlyings\":\"The corresponding underlyings to add\"}},\"calcUnderlyingValues(address,uint256)\":{\"params\":{\"_derivative\":\"The derivative to convert\",\"_derivativeAmount\":\"The amount of the derivative to convert\"},\"returns\":{\"underlyingAmounts_\":\"The amount of each underlying asset for the equivalent derivative amount\",\"underlyings_\":\"The underlying assets for the _derivative\"}},\"getFundDeployer()\":{\"returns\":{\"fundDeployer_\":\"The `FUND_DEPLOYER` variable value\"}},\"getOwner()\":{\"details\":\"Ownership is deferred to the owner of the FundDeployer contract\",\"returns\":{\"owner_\":\"The owner\"}},\"getUnderlyingForDerivative(address)\":{\"params\":{\"_derivative\":\"The derivative for which to get the underlying asset\"},\"returns\":{\"underlying_\":\"The underlying asset\"}},\"isSupportedAsset(address)\":{\"params\":{\"_asset\":\"The asset to check\"},\"returns\":{\"isSupported_\":\"True if the asset is supported\"}},\"removeDerivatives(address[])\":{\"params\":{\"_derivatives\":\"The derivatives to remove\"}}},\"title\":\"PeggedDerivativesPriceFeedBase Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"addDerivatives(address[],address[])\":{\"notice\":\"Adds derivatives with corresponding underlyings to the price feed\"},\"calcUnderlyingValues(address,uint256)\":{\"notice\":\"Converts a given amount of a derivative to its underlying asset values\"},\"getFundDeployer()\":{\"notice\":\"Gets the `FUND_DEPLOYER` variable\"},\"getOwner()\":{\"notice\":\"Gets the owner of this contract\"},\"getUnderlyingForDerivative(address)\":{\"notice\":\"Gets the underlying asset for a given derivative\"},\"isSupportedAsset(address)\":{\"notice\":\"Checks if an asset is supported by the price feed\"},\"removeDerivatives(address[])\":{\"notice\":\"Removes derivatives from the price feed\"}},\"notice\":\"Price feed base for multiple derivatives that are pegged 1:1 to their underlyings, and have the same decimals as their underlying\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/infrastructure/price-feeds/derivatives/feeds/utils/PeggedDerivativesPriceFeedBase.sol\":\"PeggedDerivativesPriceFeedBase\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol\":{\"keccak256\":\"0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e\",\"dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK\"]},\"contracts/release/infrastructure/price-feeds/derivatives/feeds/utils/PeggedDerivativesPriceFeedBase.sol\":{\"keccak256\":\"0x1bfcfa32fd2ff255d3b371367e733bc5dd616f1e6244d272da7468067479702d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://0fa04e528bb5fb52d2bdbaa0532f1d0ea710d75622992156dc788dedbb8553df\",\"dweb:/ipfs/Qmdpw5aquGqFDD1tpUX6Ax7X4jx52WcoTjfoHVJozRSWpG\"]},\"contracts/release/infrastructure/price-feeds/derivatives/feeds/utils/SingleUnderlyingDerivativeRegistryMixin.sol\":{\"keccak256\":\"0xeb2aab819af80382ad562d5a80863484a42caa7888f811817eb283894a1852e7\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8846bfa874ede75fbcd3053d45a1647cad0aabbb26e4189998e8c517961c2bb6\",\"dweb:/ipfs/QmV4Bgx9VfX6kaoyZuaBDf2xyTY4ZmjniZTX8TrEmhU4Pv\"]},\"contracts/release/utils/FundDeployerOwnerMixin.sol\":{\"keccak256\":\"0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927\",\"dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_fundDeployer", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "derivative", "type": "address", "indexed": true }, { "internalType": "address", "name": "underlying", "type": "address", "indexed": true } ], "type": "event", "name": "DerivativeAdded", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "derivative", "type": "address", "indexed": true } ], "type": "event", "name": "DerivativeRemoved", "anonymous": false }, { "inputs": [ { "internalType": "address[]", "name": "_derivatives", "type": "address[]" }, { "internalType": "address[]", "name": "_underlyings", "type": "address[]" } ], "stateMutability": "nonpayable", "type": "function", "name": "addDerivatives" }, { "inputs": [ { "internalType": "address", "name": "_derivative", "type": "address" }, { "internalType": "uint256", "name": "_derivativeAmount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "calcUnderlyingValues", "outputs": [ { "internalType": "address[]", "name": "underlyings_", "type": "address[]" }, { "internalType": "uint256[]", "name": "underlyingAmounts_", "type": "uint256[]" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getFundDeployer", "outputs": [ { "internalType": "address", "name": "fundDeployer_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getOwner", "outputs": [ { "internalType": "address", "name": "owner_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_derivative", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getUnderlyingForDerivative", "outputs": [ { "internalType": "address", "name": "underlying_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_asset", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "isSupportedAsset", "outputs": [ { "internalType": "bool", "name": "isSupported_", "type": "bool" } ] }, { "inputs": [ { "internalType": "address[]", "name": "_derivatives", "type": "address[]" } ], "stateMutability": "nonpayable", "type": "function", "name": "removeDerivatives" } ], "devdoc": { "kind": "dev", "methods": { "addDerivatives(address[],address[])": { "params": { "_derivatives": "The derivatives to add", "_underlyings": "The corresponding underlyings to add" } }, "calcUnderlyingValues(address,uint256)": { "params": { "_derivative": "The derivative to convert", "_derivativeAmount": "The amount of the derivative to convert" }, "returns": { "underlyingAmounts_": "The amount of each underlying asset for the equivalent derivative amount", "underlyings_": "The underlying assets for the _derivative" } }, "getFundDeployer()": { "returns": { "fundDeployer_": "The `FUND_DEPLOYER` variable value" } }, "getOwner()": { "details": "Ownership is deferred to the owner of the FundDeployer contract", "returns": { "owner_": "The owner" } }, "getUnderlyingForDerivative(address)": { "params": { "_derivative": "The derivative for which to get the underlying asset" }, "returns": { "underlying_": "The underlying asset" } }, "isSupportedAsset(address)": { "params": { "_asset": "The asset to check" }, "returns": { "isSupported_": "True if the asset is supported" } }, "removeDerivatives(address[])": { "params": { "_derivatives": "The derivatives to remove" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "addDerivatives(address[],address[])": { "notice": "Adds derivatives with corresponding underlyings to the price feed" }, "calcUnderlyingValues(address,uint256)": { "notice": "Converts a given amount of a derivative to its underlying asset values" }, "getFundDeployer()": { "notice": "Gets the `FUND_DEPLOYER` variable" }, "getOwner()": { "notice": "Gets the owner of this contract" }, "getUnderlyingForDerivative(address)": { "notice": "Gets the underlying asset for a given derivative" }, "isSupportedAsset(address)": { "notice": "Checks if an asset is supported by the price feed" }, "removeDerivatives(address[])": { "notice": "Removes derivatives from the price feed" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/infrastructure/price-feeds/derivatives/feeds/utils/PeggedDerivativesPriceFeedBase.sol": "PeggedDerivativesPriceFeedBase" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/core/fund-deployer/IFundDeployer.sol": { "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", "urls": [ "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol": { "keccak256": "0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332", "urls": [ "bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e", "dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/price-feeds/derivatives/feeds/utils/PeggedDerivativesPriceFeedBase.sol": { "keccak256": "0x1bfcfa32fd2ff255d3b371367e733bc5dd616f1e6244d272da7468067479702d", "urls": [ "bzz-raw://0fa04e528bb5fb52d2bdbaa0532f1d0ea710d75622992156dc788dedbb8553df", "dweb:/ipfs/Qmdpw5aquGqFDD1tpUX6Ax7X4jx52WcoTjfoHVJozRSWpG" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/price-feeds/derivatives/feeds/utils/SingleUnderlyingDerivativeRegistryMixin.sol": { "keccak256": "0xeb2aab819af80382ad562d5a80863484a42caa7888f811817eb283894a1852e7", "urls": [ "bzz-raw://8846bfa874ede75fbcd3053d45a1647cad0aabbb26e4189998e8c517961c2bb6", "dweb:/ipfs/QmV4Bgx9VfX6kaoyZuaBDf2xyTY4ZmjniZTX8TrEmhU4Pv" ], "license": "GPL-3.0" }, "contracts/release/utils/FundDeployerOwnerMixin.sol": { "keccak256": "0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934", "urls": [ "bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927", "dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" } }, "version": 1 }, "id": 250 } diff --git a/eth_defi/abi/enzyme/PerformanceFee.json b/eth_defi/abi/enzyme/PerformanceFee.json index 68249d77..fe0b977c 100644 --- a/eth_defi/abi/enzyme/PerformanceFee.json +++ b/eth_defi/abi/enzyme/PerformanceFee.json @@ -1,1384 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_feeManager", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "comptrollerProxy", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "highWaterMark", - "type": "uint256" - } - ], - "name": "ActivatedForFund", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "comptrollerProxy", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "rate", - "type": "uint256" - } - ], - "name": "FundSettingsAdded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "comptrollerProxy", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "nextHighWaterMark", - "type": "uint256" - } - ], - "name": "HighWaterMarkUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "comptrollerProxy", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "recipient", - "type": "address" - } - ], - "name": "RecipientSetForFund", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "comptrollerProxy", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "sharePrice", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "sharesDue", - "type": "uint256" - } - ], - "name": "Settled", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "activateForFund", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_settingsData", - "type": "bytes" - } - ], - "name": "addFundSettings", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - } - ], - "name": "getFeeInfoForFund", - "outputs": [ - { - "components": [ - { - "internalType": "uint256", - "name": "rate", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "highWaterMark", - "type": "uint256" - } - ], - "internalType": "struct PerformanceFee.FeeInfo", - "name": "feeInfo_", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getFeeManager", - "outputs": [ - { - "internalType": "address", - "name": "feeManager_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - } - ], - "name": "getRecipientForFund", - "outputs": [ - { - "internalType": "address", - "name": "recipient_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "payout", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_recipient", - "type": "address" - } - ], - "name": "setRecipientForFund", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "enum IFeeManager.FeeHook", - "name": "", - "type": "uint8" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "_gav", - "type": "uint256" - } - ], - "name": "settle", - "outputs": [ - { - "internalType": "enum IFeeManager.SettlementType", - "name": "settlementType_", - "type": "uint8" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "sharesDue_", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "enum IFeeManager.FeeHook", - "name": "_hook", - "type": "uint8" - } - ], - "name": "settlesOnHook", - "outputs": [ - { - "internalType": "bool", - "name": "settles_", - "type": "bool" - }, - { - "internalType": "bool", - "name": "usesGav_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "enum IFeeManager.FeeHook", - "name": "", - "type": "uint8" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "_gav", - "type": "uint256" - } - ], - "name": "update", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "enum IFeeManager.FeeHook", - "name": "_hook", - "type": "uint8" - } - ], - "name": "updatesOnHook", - "outputs": [ - { - "internalType": "bool", - "name": "updates_", - "type": "bool" - }, - { - "internalType": "bool", - "name": "usesGav_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x60a060405234801561001057600080fd5b50604051620012e9380380620012e983398101604081905261003191610057565b60601b6001600160601b0319166080526100a5565b80516100518161008e565b92915050565b60006020828403121561006957600080fd5b60006100758484610046565b949350505050565b60006001600160a01b038216610051565b6100978161007d565b81146100a257600080fd5b50565b60805160601c611212620000d7600039806101ce5280610303528061045252806105d1528061082752506112126000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c806362780b3c1161007157806362780b3c14610135578063877fd473146101555780638c55f80f14610175578063b78b481314610188578063e337a91f146101a8578063f2d63826146101bb576100a9565b80630f5f6b4f146100ae578063233faf5f146100c35780633146d058146100d6578063320f0ddd146100e957806341892d7e14610113575b600080fd5b6100c16100bc366004610d73565b6101c3565b005b6100c16100d1366004610ce3565b6102f8565b6100c16100e4366004610ca9565b610447565b6100fc6100f7366004610dc9565b610567565b60405161010a929190611098565b60405180910390f35b610126610121366004610ce3565b6105c2565b60405161010a939291906110b3565b610148610143366004610c65565b6106a5565b60405161010a919061107c565b610168610163366004610c65565b6106b8565b60405161010a919061114b565b6100c1610183366004610ca9565b6106f3565b61019b610196366004610ca9565b610812565b60405161010a919061108a565b6100fc6101b6366004610dc9565b61081b565b610148610825565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146102145760405162461bcd60e51b815260040161020b9061110b565b60405180910390fd5b60008061022383850185610e05565b91509150600082116102475760405162461bcd60e51b815260040161020b9061112b565b6127108211156102695760405162461bcd60e51b815260040161020b906110db565b604080518082018252838152600060208083018281526001600160a01b038a1680845260019283905292859020935184555192019190915590517f90b7d1516011c1da1279f3ae0ed052b1416e7c373d4ec40cf515aa53c5f839df906102d0908590611159565b60405180910390a26001600160a01b038116156102f1576102f18582610849565b5050505050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146103405760405162461bcd60e51b815260040161020b9061110b565b6001600160a01b03861660009081526001602081905260409091200154600019141561043f5760006103e38783886001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156103a657600080fd5b505afa1580156103ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103de9190610de7565b6108a0565b6001600160a01b0388166000818152600160208190526040918290200183905551919250907f0fec258962fcd71a7f561cba93e60d41887eacef883d1b68362ed5dfa493342890610435908490611159565b60405180910390a2505b505050505050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461048f5760405162461bcd60e51b815260040161020b9061110b565b6001600160a01b0382166000818152600160209081526040808320815163369c940f60e21b8152915190949263da72503c926004808201939182900301818787803b1580156104dd57600080fd5b505af11580156104f1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105159190610de7565b9050808260010181905550836001600160a01b03167f67286096839b70891eb51e1532e51d6a709d69c808d1b7e24abcb24a39167d05826040516105599190611159565b60405180910390a250505050565b60008060015b83600381111561057957fe5b14806105905750600383600381111561058e57fe5b145b806105a6575060008360038111156105a457fe5b145b156105b6575060019050806105bd565b5060009050805b915091565b60008080336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461060e5760405162461bcd60e51b815260040161020b9061110b565b600061061b8a8a876109bb565b925090508161063557600080600093509350935050610699565b6001600160a01b038a16600081815260016020819052604091829020600019910155517f468aeeec0e901c52363552a06c1e39331d44c3cc886eb200af127ded3f380f82906106879084908690611167565b60405180910390a26002600093509350505b96509650969350505050565b60006106b082610b0e565b90505b919050565b6106c0610bc0565b506001600160a01b0316600090815260016020818152604092839020835180850190945280548452909101549082015290565b816001600160a01b031663c98091876040518163ffffffff1660e01b815260040160206040518083038186803b15801561072c57600080fd5b505afa158015610740573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107649190610c8b565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561079c57600080fd5b505afa1580156107b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107d49190610c8b565b6001600160a01b0316336001600160a01b0316146108045760405162461bcd60e51b815260040161020b9061113b565b61080e8282610849565b5050565b60005b92915050565b600080600261056d565b7f000000000000000000000000000000000000000000000000000000000000000090565b6001600160a01b0382811660008181526020819052604080822080546001600160a01b0319169486169485179055517fa11fc98cfb391622348acc16de92f0efb77d55f71a6e9fa18bfef387ae8d19ce9190a35050565b60008161099557836001600160a01b031663e269c3d66040518163ffffffff1660e01b815260040160206040518083038186803b1580156108e057600080fd5b505afa1580156108f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109189190610c8b565b6001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561095057600080fd5b505afa158015610964573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109889190610e24565b60ff16600a0a90506109b4565b6109b1826109ab85670de0b6b3a7640000610b2c565b90610b66565b90505b9392505050565b600080826109ce57506000905080610b06565b6000846001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b158015610a0957600080fd5b505afa158015610a1d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a419190610de7565b905080610a55576000809250925050610b06565b610a608685836108a0565b6001600160a01b03871660009081526001602081905260409091200154909350808411610a9557600080935093505050610b06565b6000610aa18583610b98565b6001600160a01b03891660009081526001602052604081205491925090610ae690670de0b6b3a7640000906109ab90612710908290610ae0888b610b2c565b90610b2c565b9050610aff610af58883610b98565b6109ab8387610b2c565b9450505050505b935093915050565b6001600160a01b039081166000908152602081905260409020541690565b600082610b3b57506000610815565b82820282848281610b4857fe5b04146109b45760405162461bcd60e51b815260040161020b9061111b565b6000808211610b875760405162461bcd60e51b815260040161020b906110fb565b818381610b9057fe5b049392505050565b600082821115610bba5760405162461bcd60e51b815260040161020b906110eb565b50900390565b604051806040016040528060008152602001600081525090565b8035610815816111d2565b8051610815816111d2565b60008083601f840112610c0257600080fd5b50813567ffffffffffffffff811115610c1a57600080fd5b602083019150836001820283011115610c3257600080fd5b9250929050565b8035610815816111e6565b8035610815816111f3565b8051610815816111f3565b8051610815816111fc565b600060208284031215610c7757600080fd5b6000610c838484610bda565b949350505050565b600060208284031215610c9d57600080fd5b6000610c838484610be5565b60008060408385031215610cbc57600080fd5b6000610cc88585610bda565b9250506020610cd985828601610bda565b9150509250929050565b60008060008060008060a08789031215610cfc57600080fd5b6000610d088989610bda565b9650506020610d1989828a01610bda565b9550506040610d2a89828a01610c39565b945050606087013567ffffffffffffffff811115610d4757600080fd5b610d5389828a01610bf0565b93509350506080610d6689828a01610c44565b9150509295509295509295565b600080600060408486031215610d8857600080fd5b6000610d948686610bda565b935050602084013567ffffffffffffffff811115610db157600080fd5b610dbd86828701610bf0565b92509250509250925092565b600060208284031215610ddb57600080fd5b6000610c838484610c39565b600060208284031215610df957600080fd5b6000610c838484610c4f565b60008060408385031215610e1857600080fd5b6000610cc88585610c44565b600060208284031215610e3657600080fd5b6000610c838484610c5a565b610e4b8161118b565b82525050565b610e4b81611196565b610e4b816111ba565b6000610e70602583611182565b7f61646446756e6453657474696e67733a2066656552617465206d617820657863815264195959195960da1b602082015260400192915050565b6000610eb7601e83611182565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000610ef0601a83611182565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b6000610f29602583611182565b7f4f6e6c7920746865204665654d616e6765722063616e206d616b6520746869738152640818d85b1b60da1b602082015260400192915050565b6000610f70602183611182565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000610fb3602f83611182565b7f61646446756e6453657474696e67733a2066656552617465206d75737420626581526e02067726561746572207468616e203608c1b602082015260400192915050565b6000611004603083611182565b7f5f5f736574526563697069656e74466f7246756e643a204f6e6c79207661756c81526f74206f776e65722063616c6c61626c6560801b602082015260400192915050565b8051604083019061105a8482611073565b50602082015161106d6020850182611073565b50505050565b610e4b816111b1565b602081016108158284610e42565b602081016108158284610e51565b604081016110a68285610e51565b6109b46020830184610e51565b606081016110c18286610e5a565b6110ce6020830185610e42565b610c836040830184611073565b602080825281016106b081610e63565b602080825281016106b081610eaa565b602080825281016106b081610ee3565b602080825281016106b081610f1c565b602080825281016106b081610f63565b602080825281016106b081610fa6565b602080825281016106b081610ff7565b604081016108158284611049565b602081016108158284611073565b604081016111758285611073565b6109b46020830184611073565b90815260200190565b60006106b0826111a5565b151590565b806106b3816111c5565b6001600160a01b031690565b90565b60ff1690565b60006106b08261119b565b600681106111cf57fe5b50565b6111db8161118b565b81146111cf57600080fd5b600481106111cf57600080fd5b6111db816111b1565b6111db816111b456fea164736f6c634300060c000a", - "sourceMap": "736:9097:151:-:0;;;1700:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;705:25:154;;-1:-1:-1;;;;;;705:25:154;;;736:9097:151;;5:134:-1;83:13;;101:33;83:13;101:33;:::i;:::-;68:71;;;;:::o;146:263::-;;261:2;249:9;240:7;236:23;232:32;229:2;;;277:1;274;267:12;229:2;312:1;329:64;385:7;365:9;329:64;:::i;:::-;319:74;223:186;-1:-1;;;;223:186::o;416:91::-;;-1:-1;;;;;576:54;;478:24;559:76::o;642:117::-;711:24;729:5;711:24;:::i;:::-;704:5;701:35;691:2;;750:1;747;740:12;691:2;685:74;:::o;:::-;736:9097:151;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106100a95760003560e01c806362780b3c1161007157806362780b3c14610135578063877fd473146101555780638c55f80f14610175578063b78b481314610188578063e337a91f146101a8578063f2d63826146101bb576100a9565b80630f5f6b4f146100ae578063233faf5f146100c35780633146d058146100d6578063320f0ddd146100e957806341892d7e14610113575b600080fd5b6100c16100bc366004610d73565b6101c3565b005b6100c16100d1366004610ce3565b6102f8565b6100c16100e4366004610ca9565b610447565b6100fc6100f7366004610dc9565b610567565b60405161010a929190611098565b60405180910390f35b610126610121366004610ce3565b6105c2565b60405161010a939291906110b3565b610148610143366004610c65565b6106a5565b60405161010a919061107c565b610168610163366004610c65565b6106b8565b60405161010a919061114b565b6100c1610183366004610ca9565b6106f3565b61019b610196366004610ca9565b610812565b60405161010a919061108a565b6100fc6101b6366004610dc9565b61081b565b610148610825565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146102145760405162461bcd60e51b815260040161020b9061110b565b60405180910390fd5b60008061022383850185610e05565b91509150600082116102475760405162461bcd60e51b815260040161020b9061112b565b6127108211156102695760405162461bcd60e51b815260040161020b906110db565b604080518082018252838152600060208083018281526001600160a01b038a1680845260019283905292859020935184555192019190915590517f90b7d1516011c1da1279f3ae0ed052b1416e7c373d4ec40cf515aa53c5f839df906102d0908590611159565b60405180910390a26001600160a01b038116156102f1576102f18582610849565b5050505050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146103405760405162461bcd60e51b815260040161020b9061110b565b6001600160a01b03861660009081526001602081905260409091200154600019141561043f5760006103e38783886001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156103a657600080fd5b505afa1580156103ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103de9190610de7565b6108a0565b6001600160a01b0388166000818152600160208190526040918290200183905551919250907f0fec258962fcd71a7f561cba93e60d41887eacef883d1b68362ed5dfa493342890610435908490611159565b60405180910390a2505b505050505050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461048f5760405162461bcd60e51b815260040161020b9061110b565b6001600160a01b0382166000818152600160209081526040808320815163369c940f60e21b8152915190949263da72503c926004808201939182900301818787803b1580156104dd57600080fd5b505af11580156104f1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105159190610de7565b9050808260010181905550836001600160a01b03167f67286096839b70891eb51e1532e51d6a709d69c808d1b7e24abcb24a39167d05826040516105599190611159565b60405180910390a250505050565b60008060015b83600381111561057957fe5b14806105905750600383600381111561058e57fe5b145b806105a6575060008360038111156105a457fe5b145b156105b6575060019050806105bd565b5060009050805b915091565b60008080336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461060e5760405162461bcd60e51b815260040161020b9061110b565b600061061b8a8a876109bb565b925090508161063557600080600093509350935050610699565b6001600160a01b038a16600081815260016020819052604091829020600019910155517f468aeeec0e901c52363552a06c1e39331d44c3cc886eb200af127ded3f380f82906106879084908690611167565b60405180910390a26002600093509350505b96509650969350505050565b60006106b082610b0e565b90505b919050565b6106c0610bc0565b506001600160a01b0316600090815260016020818152604092839020835180850190945280548452909101549082015290565b816001600160a01b031663c98091876040518163ffffffff1660e01b815260040160206040518083038186803b15801561072c57600080fd5b505afa158015610740573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107649190610c8b565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561079c57600080fd5b505afa1580156107b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107d49190610c8b565b6001600160a01b0316336001600160a01b0316146108045760405162461bcd60e51b815260040161020b9061113b565b61080e8282610849565b5050565b60005b92915050565b600080600261056d565b7f000000000000000000000000000000000000000000000000000000000000000090565b6001600160a01b0382811660008181526020819052604080822080546001600160a01b0319169486169485179055517fa11fc98cfb391622348acc16de92f0efb77d55f71a6e9fa18bfef387ae8d19ce9190a35050565b60008161099557836001600160a01b031663e269c3d66040518163ffffffff1660e01b815260040160206040518083038186803b1580156108e057600080fd5b505afa1580156108f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109189190610c8b565b6001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561095057600080fd5b505afa158015610964573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109889190610e24565b60ff16600a0a90506109b4565b6109b1826109ab85670de0b6b3a7640000610b2c565b90610b66565b90505b9392505050565b600080826109ce57506000905080610b06565b6000846001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b158015610a0957600080fd5b505afa158015610a1d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a419190610de7565b905080610a55576000809250925050610b06565b610a608685836108a0565b6001600160a01b03871660009081526001602081905260409091200154909350808411610a9557600080935093505050610b06565b6000610aa18583610b98565b6001600160a01b03891660009081526001602052604081205491925090610ae690670de0b6b3a7640000906109ab90612710908290610ae0888b610b2c565b90610b2c565b9050610aff610af58883610b98565b6109ab8387610b2c565b9450505050505b935093915050565b6001600160a01b039081166000908152602081905260409020541690565b600082610b3b57506000610815565b82820282848281610b4857fe5b04146109b45760405162461bcd60e51b815260040161020b9061111b565b6000808211610b875760405162461bcd60e51b815260040161020b906110fb565b818381610b9057fe5b049392505050565b600082821115610bba5760405162461bcd60e51b815260040161020b906110eb565b50900390565b604051806040016040528060008152602001600081525090565b8035610815816111d2565b8051610815816111d2565b60008083601f840112610c0257600080fd5b50813567ffffffffffffffff811115610c1a57600080fd5b602083019150836001820283011115610c3257600080fd5b9250929050565b8035610815816111e6565b8035610815816111f3565b8051610815816111f3565b8051610815816111fc565b600060208284031215610c7757600080fd5b6000610c838484610bda565b949350505050565b600060208284031215610c9d57600080fd5b6000610c838484610be5565b60008060408385031215610cbc57600080fd5b6000610cc88585610bda565b9250506020610cd985828601610bda565b9150509250929050565b60008060008060008060a08789031215610cfc57600080fd5b6000610d088989610bda565b9650506020610d1989828a01610bda565b9550506040610d2a89828a01610c39565b945050606087013567ffffffffffffffff811115610d4757600080fd5b610d5389828a01610bf0565b93509350506080610d6689828a01610c44565b9150509295509295509295565b600080600060408486031215610d8857600080fd5b6000610d948686610bda565b935050602084013567ffffffffffffffff811115610db157600080fd5b610dbd86828701610bf0565b92509250509250925092565b600060208284031215610ddb57600080fd5b6000610c838484610c39565b600060208284031215610df957600080fd5b6000610c838484610c4f565b60008060408385031215610e1857600080fd5b6000610cc88585610c44565b600060208284031215610e3657600080fd5b6000610c838484610c5a565b610e4b8161118b565b82525050565b610e4b81611196565b610e4b816111ba565b6000610e70602583611182565b7f61646446756e6453657474696e67733a2066656552617465206d617820657863815264195959195960da1b602082015260400192915050565b6000610eb7601e83611182565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000610ef0601a83611182565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b6000610f29602583611182565b7f4f6e6c7920746865204665654d616e6765722063616e206d616b6520746869738152640818d85b1b60da1b602082015260400192915050565b6000610f70602183611182565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000610fb3602f83611182565b7f61646446756e6453657474696e67733a2066656552617465206d75737420626581526e02067726561746572207468616e203608c1b602082015260400192915050565b6000611004603083611182565b7f5f5f736574526563697069656e74466f7246756e643a204f6e6c79207661756c81526f74206f776e65722063616c6c61626c6560801b602082015260400192915050565b8051604083019061105a8482611073565b50602082015161106d6020850182611073565b50505050565b610e4b816111b1565b602081016108158284610e42565b602081016108158284610e51565b604081016110a68285610e51565b6109b46020830184610e51565b606081016110c18286610e5a565b6110ce6020830185610e42565b610c836040830184611073565b602080825281016106b081610e63565b602080825281016106b081610eaa565b602080825281016106b081610ee3565b602080825281016106b081610f1c565b602080825281016106b081610f63565b602080825281016106b081610fa6565b602080825281016106b081610ff7565b604081016108158284611049565b602081016108158284611073565b604081016111758285611073565b6109b46020830184611073565b90815260200190565b60006106b0826111a5565b151590565b806106b3816111c5565b6001600160a01b031690565b90565b60ff1690565b60006106b08261119b565b600681106111cf57fe5b50565b6111db8161118b565b81146111cf57600080fd5b600481106111cf57600080fd5b6111db816111b1565b6111db816111b456fea164736f6c634300060c000a", - "sourceMap": "736:9097:151:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2593:844;;;;;;:::i;:::-;;:::i;:::-;;5646:646;;;;;;:::i;:::-;;:::i;1907:391::-;;;;;;:::i;:::-;;:::i;4980:424::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;3817:899;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;:::i;7192:264::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;9633:198::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;883:369:156:-;;;;;;:::i;:::-;;:::i;1490:104:154:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;6556:425:151:-;;;;;;:::i;:::-;;:::i;3806:104:154:-;;;:::i;2593:844:151:-;564:10:154;-1:-1:-1;;;;;578:11:154;564:25;;556:75;;;;-1:-1:-1;;;556:75:154;;;;;;;:::i;:::-;;;;;;;;;2747:15:151::1;::::0;2785:45:::1;::::0;;::::1;2796:13:::0;2785:45:::1;:::i;:::-;2746:84;;;;2858:1;2848:7;:11;2840:71;;;;-1:-1:-1::0;;;2840:71:151::1;;;;;;;:::i;:::-;1505:5;3082:7;:30;;3074:80;;;;-1:-1:-1::0;;;3074:80:151::1;;;;;;;:::i;:::-;3212:42;::::0;;;;::::1;::::0;;;;;-1:-1:-1;3212:42:151::1;::::0;;::::1;::::0;;;-1:-1:-1;;;;;3165:44:151;::::1;::::0;;;:25:::1;:44:::0;;;;;;;;:89;;;;;;::::1;::::0;;;;3270:45;;::::1;::::0;::::1;::::0;3227:7;;3270:45:::1;:::i;:::-;;;;;;;;-1:-1:-1::0;;;;;3330:23:151;::::1;::::0;3326:105:::1;;3369:51;3391:17;3410:9;3369:21;:51::i;:::-;641:1:154;;2593:844:151::0;;;:::o;5646:646::-;564:10:154;-1:-1:-1;;;;;578:11:154;564:25;;556:75;;;;-1:-1:-1;;;556:75:154;;;;;;;:::i;:::-;-1:-1:-1;;;;;5854:44:151;::::1;;::::0;;;:25:::1;:44;::::0;;;;;;;:58:::1;::::0;-1:-1:-1;;5854:76:151::1;5850:436;;;5946:15;5964:161;6022:17;6057:4;6085:11;-1:-1:-1::0;;;;;6079:30:151::1;;:32;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5964:40;:161::i;:::-;-1:-1:-1::0;;;;;6139:44:151;::::1;;::::0;;;:25:::1;:44;::::0;;;;;;;;:58:::1;:68:::0;;;6227:48;5946:179;;-1:-1:-1;6139:44:151;6227:48:::1;::::0;::::1;::::0;5946:179;;6227:48:::1;:::i;:::-;;;;;;;;5850:436;;5646:646:::0;;;;;;:::o;1907:391::-;564:10:154;-1:-1:-1;;;;;578:11:154;564:25;;556:75;;;;-1:-1:-1;;;556:75:154;;;;;;;:::i;:::-;-1:-1:-1;;;;;2037:44:151;::::1;2011:23;2037:44:::0;;;:25:::1;:44;::::0;;;;;;;2118:55;;-1:-1:-1;;;2118:55:151;;;;2037:44;;;2118:53:::1;::::0;:55:::1;::::0;;::::1;::::0;;;;;;;2011:23;2037:44;2118:55;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2092:81;;2208:15;2184:7;:21;;:39;;;;2256:17;-1:-1:-1::0;;;;;2239:52:151::1;;2275:15;2239:52;;;;;;:::i;:::-;;;;;;;;641:1:154;;1907:391:151::0;;:::o;4980:424::-;5094:13;;5164:32;5155:41;:5;:41;;;;;;;;;:101;;;-1:-1:-1;5221:35:151;5212:5;:44;;;;;;;;;5155:101;:156;;;-1:-1:-1;5281:30:151;5272:5;:39;;;;;;;;;5155:156;5138:228;;;-1:-1:-1;5344:4:151;;-1:-1:-1;5344:4:151;5336:19;;5138:228;-1:-1:-1;5384:5:151;;-1:-1:-1;5384:5:151;4980:424;;;;:::o;3817:899::-;4065:42;;;564:10:154;-1:-1:-1;;;;;578:11:154;564:25;;556:75;;;;-1:-1:-1;;;556:75:154;;;;;;;:::i;:::-;4185:18:151::1;4240:53;4256:17;4275:11;4288:4;4240:15;:53::i;:::-;4213:80:::0;-1:-1:-1;4213:80:151;-1:-1:-1;4307:15:151;4303:101:::1;;4346:31;4387:1:::0;4391::::1;4338:55;;;;;;;;;4303:101;-1:-1:-1::0;;;;;4493:44:151;::::1;;::::0;;;:25:::1;:44;::::0;;;;;;;;-1:-1:-1;;4493:58:151;::::1;:75:::0;4584:50;::::1;::::0;::::1;::::0;4611:10;;4623;;4584:50:::1;:::i;:::-;;;;;;;;4653:31;4694:1;4645:64;;;;;641:1:154;3817:899:151::0;;;;;;;;;;:::o;7192:264::-;7345:18;7386:63;7431:17;7386:44;:63::i;:::-;7379:70;;7192:264;;;;:::o;9633:198::-;9734:23;;:::i;:::-;-1:-1:-1;;;;;;9780:44:151;;;;;:25;:44;;;;;;;;;9773:51;;;;;;;;;;;;;;;;;;;;;9633:198::o;883:369:156:-;1061:17;-1:-1:-1;;;;;1046:47:156;;:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1029:77:156;;:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;999:109:156;:10;-1:-1:-1;;;;;999:109:156;;978:204;;;;-1:-1:-1;;;978:204:156;;;;;;;:::i;:::-;1193:52;1215:17;1234:10;1193:21;:52::i;:::-;883:369;;:::o;1490:104:154:-;1559:4;1490:104;;;;;:::o;6556:425:151:-;6670:13;;6740:33;6731:42;;3806:104:154;3892:11;3806:104;:::o;715:229:155:-;-1:-1:-1;;;;;812:46:155;;;:27;:46;;;;;;;;;;;:59;;-1:-1:-1;;;;;;812:59:155;;;;;;;;;887:50;;;812:27;887:50;715:229;;:::o;7608:492:151:-;7774:24;7814:18;7810:227;;7951:17;-1:-1:-1;;;;;7936:54:151;;:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;7930:72:151;;:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7897:129;;7871:2;:155;7848:178;;;;7810:227;8054:39;8079:13;8054:20;:4;1619:6;8054:8;:20::i;:::-;:24;;:39::i;:::-;8047:46;;7608:492;;;;;;:::o;8192:1200::-;8331:19;;8386:9;8382:53;;-1:-1:-1;8419:1:151;;-1:-1:-1;8419:1:151;8411:13;;8382:53;8445:20;8474:11;-1:-1:-1;;;;;8468:30:151;;:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8445:55;-1:-1:-1;8514:17:151;8510:61;;8555:1;8558;8547:13;;;;;;;8510:61;8659:125;8713:17;8744:4;8762:12;8659:40;:125::i;:::-;-1:-1:-1;;;;;8808:44:151;;8794:11;8808:44;;;:25;:44;;;;;;;;:58;;8645:139;;-1:-1:-1;8880:18:151;;;8876:62;;8922:1;8925;8914:13;;;;;;;;8876:62;9008:21;9032:20;:11;9048:3;9032:15;:20::i;:::-;-1:-1:-1;;;;;9146:44:151;;9062:19;9146:44;;;:25;:44;;;;;:49;9008:44;;-1:-1:-1;9062:19:151;9084:179;;1619:6;;9084:150;;1505:5;;9084:150;;:44;9008;9115:12;9084:30;:44::i;:::-;:61;;:112::i;:179::-;9062:201;-1:-1:-1;9286:56:151;9320:21;:4;9062:201;9320:8;:21::i;:::-;9286:29;:11;9302:12;9286:15;:29::i;:56::-;9273:69;;9353:32;;;;8192:1200;;;;;;;:::o;1258:211:155:-;-1:-1:-1;;;;;1416:46:155;;;1375:18;1416:46;;;;;;;;;;;;;1258:211::o;3538:215:442:-;3596:7;3619:6;3615:20;;-1:-1:-1;3634:1:442;3627:8;;3615:20;3657:5;;;3661:1;3657;:5;:1;3680:5;;;;;:10;3672:56;;;;-1:-1:-1;;;3672:56:442;;;;;;;:::i;4217:150::-;4275:7;4306:1;4302;:5;4294:44;;;;-1:-1:-1;;;4294:44:442;;;;;;;:::i;:::-;4359:1;4355;:5;;;;;;;4217:150;-1:-1:-1;;;4217:150:442:o;3136:155::-;3194:7;3226:1;3221;:6;;3213:49;;;;-1:-1:-1;;;3213:49:442;;;;;;;:::i;:::-;-1:-1:-1;3279:5:442;;;3136:155::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;:::o;5:130::-;72:20;;97:33;72:20;97:33;:::i;142:134::-;220:13;;238:33;220:13;238:33;:::i;450:336::-;;;564:3;557:4;549:6;545:17;541:27;531:2;;582:1;579;572:12;531:2;-1:-1;602:20;;642:18;631:30;;628:2;;;674:1;671;664:12;628:2;708:4;700:6;696:17;684:29;;759:3;751:4;743:6;739:17;729:8;725:32;722:41;719:2;;;776:1;773;766:12;719:2;524:262;;;;;:::o;794:156::-;874:20;;899:46;874:20;899:46;:::i;957:130::-;1024:20;;1049:33;1024:20;1049:33;:::i;1094:134::-;1172:13;;1190:33;1172:13;1190:33;:::i;1235:130::-;1311:13;;1329:31;1311:13;1329:31;:::i;1372:241::-;;1476:2;1464:9;1455:7;1451:23;1447:32;1444:2;;;1492:1;1489;1482:12;1444:2;1527:1;1544:53;1589:7;1569:9;1544:53;:::i;:::-;1534:63;1438:175;-1:-1;;;;1438:175::o;1620:263::-;;1735:2;1723:9;1714:7;1710:23;1706:32;1703:2;;;1751:1;1748;1741:12;1703:2;1786:1;1803:64;1859:7;1839:9;1803:64;:::i;1890:366::-;;;2011:2;1999:9;1990:7;1986:23;1982:32;1979:2;;;2027:1;2024;2017:12;1979:2;2062:1;2079:53;2124:7;2104:9;2079:53;:::i;:::-;2069:63;;2041:97;2169:2;2187:53;2232:7;2223:6;2212:9;2208:22;2187:53;:::i;:::-;2177:63;;2148:98;1973:283;;;;;:::o;2263:893::-;;;;;;;2467:3;2455:9;2446:7;2442:23;2438:33;2435:2;;;2484:1;2481;2474:12;2435:2;2519:1;2536:53;2581:7;2561:9;2536:53;:::i;:::-;2526:63;;2498:97;2626:2;2644:53;2689:7;2680:6;2669:9;2665:22;2644:53;:::i;:::-;2634:63;;2605:98;2734:2;2752:66;2810:7;2801:6;2790:9;2786:22;2752:66;:::i;:::-;2742:76;;2713:111;2883:2;2872:9;2868:18;2855:32;2907:18;2899:6;2896:30;2893:2;;;2939:1;2936;2929:12;2893:2;2967:64;3023:7;3014:6;3003:9;2999:22;2967:64;:::i;:::-;2949:82;;;;2834:203;3068:3;3087:53;3132:7;3123:6;3112:9;3108:22;3087:53;:::i;:::-;3077:63;;3047:99;2429:727;;;;;;;;:::o;3163:490::-;;;;3303:2;3291:9;3282:7;3278:23;3274:32;3271:2;;;3319:1;3316;3309:12;3271:2;3354:1;3371:53;3416:7;3396:9;3371:53;:::i;:::-;3361:63;;3333:97;3489:2;3478:9;3474:18;3461:32;3513:18;3505:6;3502:30;3499:2;;;3545:1;3542;3535:12;3499:2;3573:64;3629:7;3620:6;3609:9;3605:22;3573:64;:::i;:::-;3555:82;;;;3440:203;3265:388;;;;;:::o;3660:267::-;;3777:2;3765:9;3756:7;3752:23;3748:32;3745:2;;;3793:1;3790;3783:12;3745:2;3828:1;3845:66;3903:7;3883:9;3845:66;:::i;3934:263::-;;4049:2;4037:9;4028:7;4024:23;4020:32;4017:2;;;4065:1;4062;4055:12;4017:2;4100:1;4117:64;4173:7;4153:9;4117:64;:::i;4204:382::-;;;4333:2;4321:9;4312:7;4308:23;4304:32;4301:2;;;4349:1;4346;4339:12;4301:2;4384:1;4401:53;4446:7;4426:9;4401:53;:::i;4593:259::-;;4706:2;4694:9;4685:7;4681:23;4677:32;4674:2;;;4722:1;4719;4712:12;4674:2;4757:1;4774:62;4828:7;4808:9;4774:62;:::i;4859:113::-;4942:24;4960:5;4942:24;:::i;:::-;4937:3;4930:37;4924:48;;:::o;4979:104::-;5056:21;5071:5;5056:21;:::i;5090:162::-;5191:55;5240:5;5191:55;:::i;5260:374::-;;5420:67;5484:2;5479:3;5420:67;:::i;:::-;5520:34;5500:55;;-1:-1;;;5584:2;5575:12;;5568:29;5625:2;5616:12;;5406:228;-1:-1;;5406:228::o;5643:330::-;;5803:67;5867:2;5862:3;5803:67;:::i;:::-;5903:32;5883:53;;5964:2;5955:12;;5789:184;-1:-1;;5789:184::o;5982:326::-;;6142:67;6206:2;6201:3;6142:67;:::i;:::-;6242:28;6222:49;;6299:2;6290:12;;6128:180;-1:-1;;6128:180::o;6317:374::-;;6477:67;6541:2;6536:3;6477:67;:::i;:::-;6577:34;6557:55;;-1:-1;;;6641:2;6632:12;;6625:29;6682:2;6673:12;;6463:228;-1:-1;;6463:228::o;6700:370::-;;6860:67;6924:2;6919:3;6860:67;:::i;:::-;6960:34;6940:55;;-1:-1;;;7024:2;7015:12;;7008:25;7061:2;7052:12;;6846:224;-1:-1;;6846:224::o;7079:384::-;;7239:67;7303:2;7298:3;7239:67;:::i;:::-;7339:34;7319:55;;-1:-1;;;7403:2;7394:12;;7387:39;7454:2;7445:12;;7225:238;-1:-1;;7225:238::o;7472:385::-;;7632:67;7696:2;7691:3;7632:67;:::i;:::-;7732:34;7712:55;;-1:-1;;;7796:2;7787:12;;7780:40;7848:2;7839:12;;7618:239;-1:-1;;7618:239::o;7934:487::-;8145:23;;8079:4;8070:14;;;8174:63;8074:3;8145:23;8174:63;:::i;:::-;8099:144;8325:4;8318:5;8314:16;8308:23;8337:63;8394:4;8389:3;8385:14;8371:12;8337:63;:::i;:::-;8253:153;8052:369;;;:::o;8428:103::-;8501:24;8519:5;8501:24;:::i;8658:222::-;8785:2;8770:18;;8799:71;8774:9;8843:6;8799:71;:::i;8887:210::-;9008:2;8993:18;;9022:65;8997:9;9060:6;9022:65;:::i;9104:309::-;9247:2;9232:18;;9261:65;9236:9;9299:6;9261:65;:::i;:::-;9337:66;9399:2;9388:9;9384:18;9375:6;9337:66;:::i;9420:480::-;9621:2;9606:18;;9635:89;9610:9;9697:6;9635:89;:::i;:::-;9735:72;9803:2;9792:9;9788:18;9779:6;9735:72;:::i;:::-;9818;9886:2;9875:9;9871:18;9862:6;9818:72;:::i;9907:416::-;10107:2;10121:47;;;10092:18;;10182:131;10092:18;10182:131;:::i;10330:416::-;10530:2;10544:47;;;10515:18;;10605:131;10515:18;10605:131;:::i;10753:416::-;10953:2;10967:47;;;10938:18;;11028:131;10938:18;11028:131;:::i;11176:416::-;11376:2;11390:47;;;11361:18;;11451:131;11361:18;11451:131;:::i;11599:416::-;11799:2;11813:47;;;11784:18;;11874:131;11784:18;11874:131;:::i;12022:416::-;12222:2;12236:47;;;12207:18;;12297:131;12207:18;12297:131;:::i;12445:416::-;12645:2;12659:47;;;12630:18;;12720:131;12630:18;12720:131;:::i;12868:326::-;13047:2;13032:18;;13061:123;13036:9;13157:6;13061:123;:::i;13201:222::-;13328:2;13313:18;;13342:71;13317:9;13386:6;13342:71;:::i;13430:333::-;13585:2;13570:18;;13599:71;13574:9;13643:6;13599:71;:::i;:::-;13681:72;13749:2;13738:9;13734:18;13725:6;13681:72;:::i;13771:163::-;13874:19;;;13923:4;13914:14;;13867:67::o;13942:91::-;;14004:24;14022:5;14004:24;:::i;14146:85::-;14212:13;14205:21;;14188:43::o;14238:146::-;14320:5;14326:53;14320:5;14326:53;:::i;14391:121::-;-1:-1;;;;;14453:54;;14436:76::o;14519:72::-;14581:5;14564:27::o;14598:81::-;14669:4;14658:16;;14641:38::o;14686:146::-;;14783:44;14821:5;14783:44;:::i;14839:111::-;14928:1;14921:5;14918:12;14908:2;;14934:9;14908:2;14902:48;:::o;14957:117::-;15026:24;15044:5;15026:24;:::i;:::-;15019:5;15016:35;15006:2;;15065:1;15062;15055:12;15221:107;15303:1;15296:5;15293:12;15283:2;;15319:1;15316;15309:12;15335:117;15404:24;15422:5;15404:24;:::i;15459:113::-;15526:22;15542:5;15526:22;:::i", - "linkReferences": {}, - "immutableReferences": { - "40426": [ - { - "start": 462, - "length": 32 - }, - { - "start": 771, - "length": 32 - }, - { - "start": 1106, - "length": 32 - }, - { - "start": 1489, - "length": 32 - }, - { - "start": 2087, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "activateForFund(address,address)": "3146d058", - "addFundSettings(address,bytes)": "0f5f6b4f", - "getFeeInfoForFund(address)": "877fd473", - "getFeeManager()": "f2d63826", - "getRecipientForFund(address)": "62780b3c", - "payout(address,address)": "b78b4813", - "setRecipientForFund(address,address)": "8c55f80f", - "settle(address,address,uint8,bytes,uint256)": "41892d7e", - "settlesOnHook(uint8)": "320f0ddd", - "update(address,address,uint8,bytes,uint256)": "233faf5f", - "updatesOnHook(uint8)": "e337a91f" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_feeManager\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"highWaterMark\",\"type\":\"uint256\"}],\"name\":\"ActivatedForFund\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"rate\",\"type\":\"uint256\"}],\"name\":\"FundSettingsAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"nextHighWaterMark\",\"type\":\"uint256\"}],\"name\":\"HighWaterMarkUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"}],\"name\":\"RecipientSetForFund\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"sharePrice\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"sharesDue\",\"type\":\"uint256\"}],\"name\":\"Settled\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"activateForFund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_settingsData\",\"type\":\"bytes\"}],\"name\":\"addFundSettings\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"}],\"name\":\"getFeeInfoForFund\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"rate\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"highWaterMark\",\"type\":\"uint256\"}],\"internalType\":\"struct PerformanceFee.FeeInfo\",\"name\":\"feeInfo_\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFeeManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"feeManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"}],\"name\":\"getRecipientForFund\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"recipient_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"payout\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_recipient\",\"type\":\"address\"}],\"name\":\"setRecipientForFund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"enum IFeeManager.FeeHook\",\"name\":\"\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"_gav\",\"type\":\"uint256\"}],\"name\":\"settle\",\"outputs\":[{\"internalType\":\"enum IFeeManager.SettlementType\",\"name\":\"settlementType_\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"sharesDue_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IFeeManager.FeeHook\",\"name\":\"_hook\",\"type\":\"uint8\"}],\"name\":\"settlesOnHook\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"settles_\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"usesGav_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"enum IFeeManager.FeeHook\",\"name\":\"\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"_gav\",\"type\":\"uint256\"}],\"name\":\"update\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IFeeManager.FeeHook\",\"name\":\"_hook\",\"type\":\"uint8\"}],\"name\":\"updatesOnHook\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"updates_\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"usesGav_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"activateForFund(address,address)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\"}},\"addFundSettings(address,bytes)\":{\"details\":\"`highWaterMark`, `lastSharePrice`, and `activated` are set during activation\",\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\",\"_settingsData\":\"Encoded settings to apply to the fee for a fund\"}},\"getFeeInfoForFund(address)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy contract of the fund\"},\"returns\":{\"feeInfo_\":\"The feeInfo\"}},\"getFeeManager()\":{\"returns\":{\"feeManager_\":\"The `FEE_MANAGER` variable value\"}},\"getRecipientForFund(address)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy contract for the fund\"},\"returns\":{\"recipient_\":\"The recipient\"}},\"payout(address,address)\":{\"details\":\"Returns false by default, can be overridden by fee\"},\"setRecipientForFund(address,address)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy contract for the fund\",\"_recipient\":\"The fee recipient\"}},\"settle(address,address,uint8,bytes,uint256)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\",\"_gav\":\"The GAV of the fund\",\"_vaultProxy\":\"The VaultProxy of the fund\"},\"returns\":{\"_1\":\"(unused) The payer of shares due\",\"settlementType_\":\"The type of settlement\",\"sharesDue_\":\"The amount of shares due\"}},\"settlesOnHook(uint8)\":{\"params\":{\"_hook\":\"The FeeHook\"},\"returns\":{\"settles_\":\"True if the fee settles on the _hook\",\"usesGav_\":\"True if the fee uses GAV during settle() for the _hook\"}},\"update(address,address,uint8,bytes,uint256)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\",\"_gav\":\"The GAV of the fund\",\"_vaultProxy\":\"The VaultProxy of the fund\"}},\"updatesOnHook(uint8)\":{\"params\":{\"_hook\":\"The FeeHook\"},\"returns\":{\"updates_\":\"True if the fee updates on the _hook\",\"usesGav_\":\"True if the fee uses GAV during update() for the _hook\"}}},\"title\":\"PerformanceFee Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"activateForFund(address,address)\":{\"notice\":\"Activates the fee for a fund\"},\"addFundSettings(address,bytes)\":{\"notice\":\"Add the initial fee settings for a fund\"},\"getFeeInfoForFund(address)\":{\"notice\":\"Gets the feeInfo for a given fund\"},\"getFeeManager()\":{\"notice\":\"Gets the `FEE_MANAGER` variable\"},\"getRecipientForFund(address)\":{\"notice\":\"Gets the recipient of the fee for a given fund\"},\"payout(address,address)\":{\"notice\":\"Runs payout logic for a fee that utilizes shares outstanding as its settlement type\"},\"setRecipientForFund(address,address)\":{\"notice\":\"Sets the fee recipient for the given fund\"},\"settle(address,address,uint8,bytes,uint256)\":{\"notice\":\"Settles the fee and calculates shares due\"},\"settlesOnHook(uint8)\":{\"notice\":\"Gets whether the fee settles and requires GAV on a particular hook\"},\"update(address,address,uint8,bytes,uint256)\":{\"notice\":\"Updates the fee state after all fees have finished settle()\"},\"updatesOnHook(uint8)\":{\"notice\":\"Gets whether the fee updates and requires GAV on a particular hook\"}},\"notice\":\"A performance-based fee with configurable rate\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/fee-manager/fees/PerformanceFee.sol\":\"PerformanceFee\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/persistent/protocol-fee-reserve/interfaces/IProtocolFeeReserve1.sol\":{\"keccak256\":\"0x2728878c423db523bc95189137e8c58d2d7db9f56bbd5c6b1f988c08b551fbab\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3b0df1d2eb74151265d03ab91a7c341f7beca475dd2f4d669052dbc4ee2c06ac\",\"dweb:/ipfs/QmVx1cgrxQNYfdK1Kn15pcgqf79Uw8bF3U6i7F2HG2rj6G\"]},\"contracts/persistent/vault/VaultLibBase1.sol\":{\"keccak256\":\"0xa4dac1e4cdb311a2ab187135355357d8790c505ef36dd912c057fe53743d30b5\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b66efe821016ab927c949263023260515e90f5d480dc8d94eefbfeec7bf7490b\",\"dweb:/ipfs/QmNY3xKnhL9EptAbxGvXHGAXfV9pj3dDPwsZnKrPs54ZHw\"]},\"contracts/persistent/vault/VaultLibBase2.sol\":{\"keccak256\":\"0xf7d31f2a9a47770ed3f444be2c4fe9262ddb55fef7f25e546b1f03c9afec4c09\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9353ddce7c9b8b3c13fed23fe8edec99ca610d791b0c5b204b3d01f1f08d07d2\",\"dweb:/ipfs/QmeVsEh3joCjv49BRXeHASevnZZ5xdZXpkctHT8BPf37N2\"]},\"contracts/persistent/vault/VaultLibBaseCore.sol\":{\"keccak256\":\"0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd\",\"dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz\"]},\"contracts/persistent/vault/interfaces/IExternalPositionVault.sol\":{\"keccak256\":\"0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d\",\"dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8\"]},\"contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol\":{\"keccak256\":\"0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb\",\"dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU\"]},\"contracts/persistent/vault/interfaces/IMigratableVault.sol\":{\"keccak256\":\"0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6\",\"dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs\"]},\"contracts/persistent/vault/interfaces/IVaultCore.sol\":{\"keccak256\":\"0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd\",\"dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr\"]},\"contracts/persistent/vault/utils/ProxiableVaultLib.sol\":{\"keccak256\":\"0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44\",\"dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4\"]},\"contracts/persistent/vault/utils/SharesTokenBase.sol\":{\"keccak256\":\"0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8\",\"dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4\"]},\"contracts/persistent/vault/utils/VaultLibSafeMath.sol\":{\"keccak256\":\"0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02\",\"dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG\"]},\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/core/fund/comptroller/ComptrollerLib.sol\":{\"keccak256\":\"0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579\",\"dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq\"]},\"contracts/release/core/fund/comptroller/IComptroller.sol\":{\"keccak256\":\"0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97\",\"dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L\"]},\"contracts/release/core/fund/vault/IVault.sol\":{\"keccak256\":\"0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599\",\"dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG\"]},\"contracts/release/core/fund/vault/VaultLib.sol\":{\"keccak256\":\"0x07e49445ab55c01e1b499a48baadc2a15d1eba621f1c6d3ccfdb84c87b976da8\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://56d882459248f73e137db2e097fc56b946147fb28ec21661b77431f88e856cb4\",\"dweb:/ipfs/QmRP6Ry7DCS5uoKxnnkTomHSzbaCze6cHqbR9aLdjoF6vK\"]},\"contracts/release/extensions/IExtension.sol\":{\"keccak256\":\"0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70\",\"dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t\"]},\"contracts/release/extensions/external-position-manager/IExternalPositionManager.sol\":{\"keccak256\":\"0x3af3f634e1f99fb97091b7825c0d2e2baaafc124d4e87d56cb0c17ff8554f6c6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://515470605afe5ef147f30fa75ce7818f0e00e3d321eb81a4d9bffcdefc294495\",\"dweb:/ipfs/QmPKsp99pfHoz9Tfo3ZxnkmqDqJtN9PxqacF2RmeVfxUJF\"]},\"contracts/release/extensions/fee-manager/FeeManager.sol\":{\"keccak256\":\"0xf3a3e504ca755cafda78f204d1e8005b6808854be0b5b19d17d9971ec49369a9\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3b82ffb3926983b4c60ddf8cd80b14d4ae548ea9b6f9ebf87f3fe70ffa5a89b9\",\"dweb:/ipfs/QmfJE4i4ZTDWhPwwKQSfjfWYQ62BsDs3FrxavjmLFe3HzB\"]},\"contracts/release/extensions/fee-manager/IFee.sol\":{\"keccak256\":\"0x38e3f324c67f3205e38197165586ea82ca226069902f34214bcde76cf905fcff\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c1fff656d1bdde3324421bc9e77cbfc4e80baf4e665f8713fdb65611b046f4b0\",\"dweb:/ipfs/QmVRFjNwmsVHdh4sp3DWdL74VWmhRhPZE5kDxJiuPL8Gu2\"]},\"contracts/release/extensions/fee-manager/IFeeManager.sol\":{\"keccak256\":\"0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22\",\"dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod\"]},\"contracts/release/extensions/fee-manager/fees/PerformanceFee.sol\":{\"keccak256\":\"0xbb0586ab68e8c23dfd4647cd81153b5dfe05d7f5fac1cf4e17f87c5b5d3f4e70\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5144bd633cbf8bcfe0f0d5606e08aa5df64ce4429a2669ff7c8a49d15e8bbb63\",\"dweb:/ipfs/QmZmMuagUX61SVeTZ8e6yT6fd4VdYbxvocUy3N3jpBATeH\"]},\"contracts/release/extensions/fee-manager/fees/utils/FeeBase.sol\":{\"keccak256\":\"0x485c03e3088b6dc9828d2e895cce6856501448b4a2c71a0acae4e012bc644b14\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b63aef3cd20eb4dd585632c74619235ef1d5c3c2c52fd61f8802d0a50569b767\",\"dweb:/ipfs/QmSuTYChj2j8NnLYCg47feAJ5P9NheQpK46fG6fhmMtimA\"]},\"contracts/release/extensions/fee-manager/fees/utils/SettableFeeRecipientBase.sol\":{\"keccak256\":\"0xb3b4b3cd13141871c912310ce1dace2e94f89eee7a52b95d4df9e4642a958f4d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b120324be26eddebb2fd5d15ecdbef4bfc5a5bbd05bd60796677157480842aa1\",\"dweb:/ipfs/Qmab9XnYHvG3zWtQaTee24qU7VK94MMLySPkrZqDBbB5NN\"]},\"contracts/release/extensions/fee-manager/fees/utils/UpdatableFeeRecipientBase.sol\":{\"keccak256\":\"0xac875e8923b29be8e697be04177b56d3f75d0ef4a56bc0cec2d2583efd802064\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://99d359ece6663298f925765b7558beb694bf3dbe3831fc60e016fd37b10d358c\",\"dweb:/ipfs/QmduCuit88g1HEb9HxF1aH82Ezx388M5CBLfUfLraKgcfA\"]},\"contracts/release/extensions/policy-manager/IPolicyManager.sol\":{\"keccak256\":\"0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa\",\"dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb\"]},\"contracts/release/extensions/utils/ExtensionBase.sol\":{\"keccak256\":\"0xae68767766f6459bd2cd9dbd39df74f2c2f68f2150885bbce410e4091c807bb1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ce4c49522a39f618cc76feb474260fe910949f38e83b5f4518f1f245ba6eb876\",\"dweb:/ipfs/QmZ4wciRpziZAS4HRQy44Sgzm4GM4Wzme9zYnABzR6Cbzo\"]},\"contracts/release/extensions/utils/PermissionedVaultActionMixin.sol\":{\"keccak256\":\"0x77ddb9299d9c5f1538c20ae1543c20ef73db11ad7d9a9b817d26969ab233bb57\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://77812616256a092e0fd77469dcd2a2e098a1cf52686eeb6703a169efa64c27df\",\"dweb:/ipfs/QmbRPZznXSX3aA2VVJNpRqFXdJZebVDcDuY8EnF75Z7GpB\"]},\"contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol\":{\"keccak256\":\"0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f\",\"dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol\":{\"keccak256\":\"0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0\",\"dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol\":{\"keccak256\":\"0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b\",\"dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3\"]},\"contracts/release/infrastructure/protocol-fees/IProtocolFeeTracker.sol\":{\"keccak256\":\"0x232b347f83457439064add7369bfe1930c7cb56f15930bb87d640e909c15e447\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://24f9af5eebdd373b1d7a598c096eb6def31b2640d54416d7d5a7226e1cef17e6\",\"dweb:/ipfs/QmStq9ByGuSYdKwTmZf52L1X6sZVJUfXTnoVbnjLLiUcHG\"]},\"contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol\":{\"keccak256\":\"0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965\",\"dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ\"]},\"contracts/release/interfaces/IGsnForwarder.sol\":{\"keccak256\":\"0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29\",\"dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G\"]},\"contracts/release/interfaces/IGsnPaymaster.sol\":{\"keccak256\":\"0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4\",\"dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF\"]},\"contracts/release/interfaces/IGsnTypes.sol\":{\"keccak256\":\"0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7\",\"dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C\"]},\"contracts/release/interfaces/IWETH.sol\":{\"keccak256\":\"0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2\",\"dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/FundDeployerOwnerMixin.sol\":{\"keccak256\":\"0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927\",\"dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM\"]},\"contracts/release/utils/beacon-proxy/IBeacon.sol\":{\"keccak256\":\"0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39\",\"dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V\"]},\"contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol\":{\"keccak256\":\"0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be\",\"dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20Burnable.sol\":{\"keccak256\":\"0x9c0eb3b0e11d2480d49991dc384f1e5f9c9b9967cc81944d50916a9b9c6c4984\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99e4033d778624992e86f0b6d801a4f6d7b5c0cd5c79c1296be90a051ad5f5af\",\"dweb:/ipfs/QmShYmkUqh6pDEeoWadZ24icmCr4C2Xys1uE5boivPmbwf\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_feeManager", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "comptrollerProxy", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "highWaterMark", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "ActivatedForFund", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "comptrollerProxy", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "rate", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "FundSettingsAdded", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "comptrollerProxy", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "nextHighWaterMark", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "HighWaterMarkUpdated", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "comptrollerProxy", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "recipient", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "RecipientSetForFund", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "comptrollerProxy", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "sharePrice", - "type": "uint256", - "indexed": false - }, - { - "internalType": "uint256", - "name": "sharesDue", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "Settled", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "activateForFund" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_settingsData", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "addFundSettings" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getFeeInfoForFund", - "outputs": [ - { - "internalType": "struct PerformanceFee.FeeInfo", - "name": "feeInfo_", - "type": "tuple", - "components": [ - { - "internalType": "uint256", - "name": "rate", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "highWaterMark", - "type": "uint256" - } - ] - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getFeeManager", - "outputs": [ - { - "internalType": "address", - "name": "feeManager_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getRecipientForFund", - "outputs": [ - { - "internalType": "address", - "name": "recipient_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "payout", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_recipient", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setRecipientForFund" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "enum IFeeManager.FeeHook", - "name": "", - "type": "uint8" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "_gav", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "settle", - "outputs": [ - { - "internalType": "enum IFeeManager.SettlementType", - "name": "settlementType_", - "type": "uint8" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "sharesDue_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "enum IFeeManager.FeeHook", - "name": "_hook", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function", - "name": "settlesOnHook", - "outputs": [ - { - "internalType": "bool", - "name": "settles_", - "type": "bool" - }, - { - "internalType": "bool", - "name": "usesGav_", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "enum IFeeManager.FeeHook", - "name": "", - "type": "uint8" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "_gav", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "update" - }, - { - "inputs": [ - { - "internalType": "enum IFeeManager.FeeHook", - "name": "_hook", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function", - "name": "updatesOnHook", - "outputs": [ - { - "internalType": "bool", - "name": "updates_", - "type": "bool" - }, - { - "internalType": "bool", - "name": "usesGav_", - "type": "bool" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "activateForFund(address,address)": { - "params": { - "_comptrollerProxy": "The ComptrollerProxy of the fund" - } - }, - "addFundSettings(address,bytes)": { - "details": "`highWaterMark`, `lastSharePrice`, and `activated` are set during activation", - "params": { - "_comptrollerProxy": "The ComptrollerProxy of the fund", - "_settingsData": "Encoded settings to apply to the fee for a fund" - } - }, - "getFeeInfoForFund(address)": { - "params": { - "_comptrollerProxy": "The ComptrollerProxy contract of the fund" - }, - "returns": { - "feeInfo_": "The feeInfo" - } - }, - "getFeeManager()": { - "returns": { - "feeManager_": "The `FEE_MANAGER` variable value" - } - }, - "getRecipientForFund(address)": { - "params": { - "_comptrollerProxy": "The ComptrollerProxy contract for the fund" - }, - "returns": { - "recipient_": "The recipient" - } - }, - "payout(address,address)": { - "details": "Returns false by default, can be overridden by fee" - }, - "setRecipientForFund(address,address)": { - "params": { - "_comptrollerProxy": "The ComptrollerProxy contract for the fund", - "_recipient": "The fee recipient" - } - }, - "settle(address,address,uint8,bytes,uint256)": { - "params": { - "_comptrollerProxy": "The ComptrollerProxy of the fund", - "_gav": "The GAV of the fund", - "_vaultProxy": "The VaultProxy of the fund" - }, - "returns": { - "_1": "(unused) The payer of shares due", - "settlementType_": "The type of settlement", - "sharesDue_": "The amount of shares due" - } - }, - "settlesOnHook(uint8)": { - "params": { - "_hook": "The FeeHook" - }, - "returns": { - "settles_": "True if the fee settles on the _hook", - "usesGav_": "True if the fee uses GAV during settle() for the _hook" - } - }, - "update(address,address,uint8,bytes,uint256)": { - "params": { - "_comptrollerProxy": "The ComptrollerProxy of the fund", - "_gav": "The GAV of the fund", - "_vaultProxy": "The VaultProxy of the fund" - } - }, - "updatesOnHook(uint8)": { - "params": { - "_hook": "The FeeHook" - }, - "returns": { - "updates_": "True if the fee updates on the _hook", - "usesGav_": "True if the fee uses GAV during update() for the _hook" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "activateForFund(address,address)": { - "notice": "Activates the fee for a fund" - }, - "addFundSettings(address,bytes)": { - "notice": "Add the initial fee settings for a fund" - }, - "getFeeInfoForFund(address)": { - "notice": "Gets the feeInfo for a given fund" - }, - "getFeeManager()": { - "notice": "Gets the `FEE_MANAGER` variable" - }, - "getRecipientForFund(address)": { - "notice": "Gets the recipient of the fee for a given fund" - }, - "payout(address,address)": { - "notice": "Runs payout logic for a fee that utilizes shares outstanding as its settlement type" - }, - "setRecipientForFund(address,address)": { - "notice": "Sets the fee recipient for the given fund" - }, - "settle(address,address,uint8,bytes,uint256)": { - "notice": "Settles the fee and calculates shares due" - }, - "settlesOnHook(uint8)": { - "notice": "Gets whether the fee settles and requires GAV on a particular hook" - }, - "update(address,address,uint8,bytes,uint256)": { - "notice": "Updates the fee state after all fees have finished settle()" - }, - "updatesOnHook(uint8)": { - "notice": "Gets whether the fee updates and requires GAV on a particular hook" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/fee-manager/fees/PerformanceFee.sol": "PerformanceFee" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/dispatcher/IDispatcher.sol": { - "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", - "urls": [ - "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", - "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/external-positions/IExternalPosition.sol": { - "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", - "urls": [ - "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", - "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/protocol-fee-reserve/interfaces/IProtocolFeeReserve1.sol": { - "keccak256": "0x2728878c423db523bc95189137e8c58d2d7db9f56bbd5c6b1f988c08b551fbab", - "urls": [ - "bzz-raw://3b0df1d2eb74151265d03ab91a7c341f7beca475dd2f4d669052dbc4ee2c06ac", - "dweb:/ipfs/QmVx1cgrxQNYfdK1Kn15pcgqf79Uw8bF3U6i7F2HG2rj6G" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/VaultLibBase1.sol": { - "keccak256": "0xa4dac1e4cdb311a2ab187135355357d8790c505ef36dd912c057fe53743d30b5", - "urls": [ - "bzz-raw://b66efe821016ab927c949263023260515e90f5d480dc8d94eefbfeec7bf7490b", - "dweb:/ipfs/QmNY3xKnhL9EptAbxGvXHGAXfV9pj3dDPwsZnKrPs54ZHw" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/VaultLibBase2.sol": { - "keccak256": "0xf7d31f2a9a47770ed3f444be2c4fe9262ddb55fef7f25e546b1f03c9afec4c09", - "urls": [ - "bzz-raw://9353ddce7c9b8b3c13fed23fe8edec99ca610d791b0c5b204b3d01f1f08d07d2", - "dweb:/ipfs/QmeVsEh3joCjv49BRXeHASevnZZ5xdZXpkctHT8BPf37N2" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/VaultLibBaseCore.sol": { - "keccak256": "0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074", - "urls": [ - "bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd", - "dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IExternalPositionVault.sol": { - "keccak256": "0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6", - "urls": [ - "bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d", - "dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol": { - "keccak256": "0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0", - "urls": [ - "bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb", - "dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IMigratableVault.sol": { - "keccak256": "0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238", - "urls": [ - "bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6", - "dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IVaultCore.sol": { - "keccak256": "0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80", - "urls": [ - "bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd", - "dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/utils/ProxiableVaultLib.sol": { - "keccak256": "0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76", - "urls": [ - "bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44", - "dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/utils/SharesTokenBase.sol": { - "keccak256": "0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113", - "urls": [ - "bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8", - "dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/utils/VaultLibSafeMath.sol": { - "keccak256": "0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d", - "urls": [ - "bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02", - "dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund-deployer/IFundDeployer.sol": { - "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", - "urls": [ - "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", - "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/comptroller/ComptrollerLib.sol": { - "keccak256": "0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64", - "urls": [ - "bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579", - "dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/comptroller/IComptroller.sol": { - "keccak256": "0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f", - "urls": [ - "bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97", - "dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/vault/IVault.sol": { - "keccak256": "0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd", - "urls": [ - "bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599", - "dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/vault/VaultLib.sol": { - "keccak256": "0x07e49445ab55c01e1b499a48baadc2a15d1eba621f1c6d3ccfdb84c87b976da8", - "urls": [ - "bzz-raw://56d882459248f73e137db2e097fc56b946147fb28ec21661b77431f88e856cb4", - "dweb:/ipfs/QmRP6Ry7DCS5uoKxnnkTomHSzbaCze6cHqbR9aLdjoF6vK" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/IExtension.sol": { - "keccak256": "0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b", - "urls": [ - "bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70", - "dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/IExternalPositionManager.sol": { - "keccak256": "0x3af3f634e1f99fb97091b7825c0d2e2baaafc124d4e87d56cb0c17ff8554f6c6", - "urls": [ - "bzz-raw://515470605afe5ef147f30fa75ce7818f0e00e3d321eb81a4d9bffcdefc294495", - "dweb:/ipfs/QmPKsp99pfHoz9Tfo3ZxnkmqDqJtN9PxqacF2RmeVfxUJF" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/fee-manager/FeeManager.sol": { - "keccak256": "0xf3a3e504ca755cafda78f204d1e8005b6808854be0b5b19d17d9971ec49369a9", - "urls": [ - "bzz-raw://3b82ffb3926983b4c60ddf8cd80b14d4ae548ea9b6f9ebf87f3fe70ffa5a89b9", - "dweb:/ipfs/QmfJE4i4ZTDWhPwwKQSfjfWYQ62BsDs3FrxavjmLFe3HzB" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/fee-manager/IFee.sol": { - "keccak256": "0x38e3f324c67f3205e38197165586ea82ca226069902f34214bcde76cf905fcff", - "urls": [ - "bzz-raw://c1fff656d1bdde3324421bc9e77cbfc4e80baf4e665f8713fdb65611b046f4b0", - "dweb:/ipfs/QmVRFjNwmsVHdh4sp3DWdL74VWmhRhPZE5kDxJiuPL8Gu2" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/fee-manager/IFeeManager.sol": { - "keccak256": "0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51", - "urls": [ - "bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22", - "dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/fee-manager/fees/PerformanceFee.sol": { - "keccak256": "0xbb0586ab68e8c23dfd4647cd81153b5dfe05d7f5fac1cf4e17f87c5b5d3f4e70", - "urls": [ - "bzz-raw://5144bd633cbf8bcfe0f0d5606e08aa5df64ce4429a2669ff7c8a49d15e8bbb63", - "dweb:/ipfs/QmZmMuagUX61SVeTZ8e6yT6fd4VdYbxvocUy3N3jpBATeH" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/fee-manager/fees/utils/FeeBase.sol": { - "keccak256": "0x485c03e3088b6dc9828d2e895cce6856501448b4a2c71a0acae4e012bc644b14", - "urls": [ - "bzz-raw://b63aef3cd20eb4dd585632c74619235ef1d5c3c2c52fd61f8802d0a50569b767", - "dweb:/ipfs/QmSuTYChj2j8NnLYCg47feAJ5P9NheQpK46fG6fhmMtimA" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/fee-manager/fees/utils/SettableFeeRecipientBase.sol": { - "keccak256": "0xb3b4b3cd13141871c912310ce1dace2e94f89eee7a52b95d4df9e4642a958f4d", - "urls": [ - "bzz-raw://b120324be26eddebb2fd5d15ecdbef4bfc5a5bbd05bd60796677157480842aa1", - "dweb:/ipfs/Qmab9XnYHvG3zWtQaTee24qU7VK94MMLySPkrZqDBbB5NN" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/fee-manager/fees/utils/UpdatableFeeRecipientBase.sol": { - "keccak256": "0xac875e8923b29be8e697be04177b56d3f75d0ef4a56bc0cec2d2583efd802064", - "urls": [ - "bzz-raw://99d359ece6663298f925765b7558beb694bf3dbe3831fc60e016fd37b10d358c", - "dweb:/ipfs/QmduCuit88g1HEb9HxF1aH82Ezx388M5CBLfUfLraKgcfA" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/policy-manager/IPolicyManager.sol": { - "keccak256": "0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32", - "urls": [ - "bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa", - "dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/utils/ExtensionBase.sol": { - "keccak256": "0xae68767766f6459bd2cd9dbd39df74f2c2f68f2150885bbce410e4091c807bb1", - "urls": [ - "bzz-raw://ce4c49522a39f618cc76feb474260fe910949f38e83b5f4518f1f245ba6eb876", - "dweb:/ipfs/QmZ4wciRpziZAS4HRQy44Sgzm4GM4Wzme9zYnABzR6Cbzo" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/utils/PermissionedVaultActionMixin.sol": { - "keccak256": "0x77ddb9299d9c5f1538c20ae1543c20ef73db11ad7d9a9b817d26969ab233bb57", - "urls": [ - "bzz-raw://77812616256a092e0fd77469dcd2a2e098a1cf52686eeb6703a169efa64c27df", - "dweb:/ipfs/QmbRPZznXSX3aA2VVJNpRqFXdJZebVDcDuY8EnF75Z7GpB" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol": { - "keccak256": "0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609", - "urls": [ - "bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f", - "dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol": { - "keccak256": "0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01", - "urls": [ - "bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0", - "dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol": { - "keccak256": "0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196", - "urls": [ - "bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b", - "dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/protocol-fees/IProtocolFeeTracker.sol": { - "keccak256": "0x232b347f83457439064add7369bfe1930c7cb56f15930bb87d640e909c15e447", - "urls": [ - "bzz-raw://24f9af5eebdd373b1d7a598c096eb6def31b2640d54416d7d5a7226e1cef17e6", - "dweb:/ipfs/QmStq9ByGuSYdKwTmZf52L1X6sZVJUfXTnoVbnjLLiUcHG" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol": { - "keccak256": "0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794", - "urls": [ - "bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965", - "dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IGsnForwarder.sol": { - "keccak256": "0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030", - "urls": [ - "bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29", - "dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IGsnPaymaster.sol": { - "keccak256": "0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c", - "urls": [ - "bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4", - "dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IGsnTypes.sol": { - "keccak256": "0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714", - "urls": [ - "bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7", - "dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IWETH.sol": { - "keccak256": "0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2", - "urls": [ - "bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2", - "dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AddressArrayLib.sol": { - "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", - "urls": [ - "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", - "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/FundDeployerOwnerMixin.sol": { - "keccak256": "0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934", - "urls": [ - "bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927", - "dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/beacon-proxy/IBeacon.sol": { - "keccak256": "0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2", - "urls": [ - "bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39", - "dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol": { - "keccak256": "0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc", - "urls": [ - "bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be", - "dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20Burnable.sol": { - "keccak256": "0x9c0eb3b0e11d2480d49991dc384f1e5f9c9b9967cc81944d50916a9b9c6c4984", - "urls": [ - "bzz-raw://99e4033d778624992e86f0b6d801a4f6d7b5c0cd5c79c1296be90a051ad5f5af", - "dweb:/ipfs/QmShYmkUqh6pDEeoWadZ24icmCr4C2Xys1uE5boivPmbwf" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { - "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", - "urls": [ - "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", - "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Address.sol": { - "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", - "urls": [ - "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", - "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 151 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_feeManager", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "activateForFund", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" }, { "name": "", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "addFundSettings", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" }, { "name": "_settingsData", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "getFeeInfoForFund", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "feeInfo_", "type": "tuple", "internalType": "struct PerformanceFee.FeeInfo", "components": [ { "name": "rate", "type": "uint256", "internalType": "uint256" }, { "name": "highWaterMark", "type": "uint256", "internalType": "uint256" } ] } ], "stateMutability": "view" }, { "type": "function", "name": "getFeeManager", "inputs": [], "outputs": [ { "name": "feeManager_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getRecipientForFund", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "recipient_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "payout", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "setRecipientForFund", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" }, { "name": "_recipient", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "settle", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" }, { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "", "type": "uint8", "internalType": "enum IFeeManager.FeeHook" }, { "name": "", "type": "bytes", "internalType": "bytes" }, { "name": "_gav", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "settlementType_", "type": "uint8", "internalType": "enum IFeeManager.SettlementType" }, { "name": "", "type": "address", "internalType": "address" }, { "name": "sharesDue_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "settlesOnHook", "inputs": [ { "name": "_hook", "type": "uint8", "internalType": "enum IFeeManager.FeeHook" } ], "outputs": [ { "name": "settles_", "type": "bool", "internalType": "bool" }, { "name": "usesGav_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "update", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" }, { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "", "type": "uint8", "internalType": "enum IFeeManager.FeeHook" }, { "name": "", "type": "bytes", "internalType": "bytes" }, { "name": "_gav", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "updatesOnHook", "inputs": [ { "name": "_hook", "type": "uint8", "internalType": "enum IFeeManager.FeeHook" } ], "outputs": [ { "name": "updates_", "type": "bool", "internalType": "bool" }, { "name": "usesGav_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "event", "name": "ActivatedForFund", "inputs": [ { "name": "comptrollerProxy", "type": "address", "indexed": true, "internalType": "address" }, { "name": "highWaterMark", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "FundSettingsAdded", "inputs": [ { "name": "comptrollerProxy", "type": "address", "indexed": true, "internalType": "address" }, { "name": "rate", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "HighWaterMarkUpdated", "inputs": [ { "name": "comptrollerProxy", "type": "address", "indexed": true, "internalType": "address" }, { "name": "nextHighWaterMark", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "RecipientSetForFund", "inputs": [ { "name": "comptrollerProxy", "type": "address", "indexed": true, "internalType": "address" }, { "name": "recipient", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "Settled", "inputs": [ { "name": "comptrollerProxy", "type": "address", "indexed": true, "internalType": "address" }, { "name": "sharePrice", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "sharesDue", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false } ], "bytecode": { "object": "0x60a060405234801561001057600080fd5b50604051620012e9380380620012e983398101604081905261003191610057565b60601b6001600160601b0319166080526100a5565b80516100518161008e565b92915050565b60006020828403121561006957600080fd5b60006100758484610046565b949350505050565b60006001600160a01b038216610051565b6100978161007d565b81146100a257600080fd5b50565b60805160601c611212620000d7600039806101ce5280610303528061045252806105d1528061082752506112126000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c806362780b3c1161007157806362780b3c14610135578063877fd473146101555780638c55f80f14610175578063b78b481314610188578063e337a91f146101a8578063f2d63826146101bb576100a9565b80630f5f6b4f146100ae578063233faf5f146100c35780633146d058146100d6578063320f0ddd146100e957806341892d7e14610113575b600080fd5b6100c16100bc366004610d73565b6101c3565b005b6100c16100d1366004610ce3565b6102f8565b6100c16100e4366004610ca9565b610447565b6100fc6100f7366004610dc9565b610567565b60405161010a929190611098565b60405180910390f35b610126610121366004610ce3565b6105c2565b60405161010a939291906110b3565b610148610143366004610c65565b6106a5565b60405161010a919061107c565b610168610163366004610c65565b6106b8565b60405161010a919061114b565b6100c1610183366004610ca9565b6106f3565b61019b610196366004610ca9565b610812565b60405161010a919061108a565b6100fc6101b6366004610dc9565b61081b565b610148610825565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146102145760405162461bcd60e51b815260040161020b9061110b565b60405180910390fd5b60008061022383850185610e05565b91509150600082116102475760405162461bcd60e51b815260040161020b9061112b565b6127108211156102695760405162461bcd60e51b815260040161020b906110db565b604080518082018252838152600060208083018281526001600160a01b038a1680845260019283905292859020935184555192019190915590517f90b7d1516011c1da1279f3ae0ed052b1416e7c373d4ec40cf515aa53c5f839df906102d0908590611159565b60405180910390a26001600160a01b038116156102f1576102f18582610849565b5050505050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146103405760405162461bcd60e51b815260040161020b9061110b565b6001600160a01b03861660009081526001602081905260409091200154600019141561043f5760006103e38783886001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156103a657600080fd5b505afa1580156103ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103de9190610de7565b6108a0565b6001600160a01b0388166000818152600160208190526040918290200183905551919250907f0fec258962fcd71a7f561cba93e60d41887eacef883d1b68362ed5dfa493342890610435908490611159565b60405180910390a2505b505050505050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461048f5760405162461bcd60e51b815260040161020b9061110b565b6001600160a01b0382166000818152600160209081526040808320815163369c940f60e21b8152915190949263da72503c926004808201939182900301818787803b1580156104dd57600080fd5b505af11580156104f1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105159190610de7565b9050808260010181905550836001600160a01b03167f67286096839b70891eb51e1532e51d6a709d69c808d1b7e24abcb24a39167d05826040516105599190611159565b60405180910390a250505050565b60008060015b83600381111561057957fe5b14806105905750600383600381111561058e57fe5b145b806105a6575060008360038111156105a457fe5b145b156105b6575060019050806105bd565b5060009050805b915091565b60008080336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461060e5760405162461bcd60e51b815260040161020b9061110b565b600061061b8a8a876109bb565b925090508161063557600080600093509350935050610699565b6001600160a01b038a16600081815260016020819052604091829020600019910155517f468aeeec0e901c52363552a06c1e39331d44c3cc886eb200af127ded3f380f82906106879084908690611167565b60405180910390a26002600093509350505b96509650969350505050565b60006106b082610b0e565b90505b919050565b6106c0610bc0565b506001600160a01b0316600090815260016020818152604092839020835180850190945280548452909101549082015290565b816001600160a01b031663c98091876040518163ffffffff1660e01b815260040160206040518083038186803b15801561072c57600080fd5b505afa158015610740573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107649190610c8b565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561079c57600080fd5b505afa1580156107b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107d49190610c8b565b6001600160a01b0316336001600160a01b0316146108045760405162461bcd60e51b815260040161020b9061113b565b61080e8282610849565b5050565b60005b92915050565b600080600261056d565b7f000000000000000000000000000000000000000000000000000000000000000090565b6001600160a01b0382811660008181526020819052604080822080546001600160a01b0319169486169485179055517fa11fc98cfb391622348acc16de92f0efb77d55f71a6e9fa18bfef387ae8d19ce9190a35050565b60008161099557836001600160a01b031663e269c3d66040518163ffffffff1660e01b815260040160206040518083038186803b1580156108e057600080fd5b505afa1580156108f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109189190610c8b565b6001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561095057600080fd5b505afa158015610964573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109889190610e24565b60ff16600a0a90506109b4565b6109b1826109ab85670de0b6b3a7640000610b2c565b90610b66565b90505b9392505050565b600080826109ce57506000905080610b06565b6000846001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b158015610a0957600080fd5b505afa158015610a1d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a419190610de7565b905080610a55576000809250925050610b06565b610a608685836108a0565b6001600160a01b03871660009081526001602081905260409091200154909350808411610a9557600080935093505050610b06565b6000610aa18583610b98565b6001600160a01b03891660009081526001602052604081205491925090610ae690670de0b6b3a7640000906109ab90612710908290610ae0888b610b2c565b90610b2c565b9050610aff610af58883610b98565b6109ab8387610b2c565b9450505050505b935093915050565b6001600160a01b039081166000908152602081905260409020541690565b600082610b3b57506000610815565b82820282848281610b4857fe5b04146109b45760405162461bcd60e51b815260040161020b9061111b565b6000808211610b875760405162461bcd60e51b815260040161020b906110fb565b818381610b9057fe5b049392505050565b600082821115610bba5760405162461bcd60e51b815260040161020b906110eb565b50900390565b604051806040016040528060008152602001600081525090565b8035610815816111d2565b8051610815816111d2565b60008083601f840112610c0257600080fd5b50813567ffffffffffffffff811115610c1a57600080fd5b602083019150836001820283011115610c3257600080fd5b9250929050565b8035610815816111e6565b8035610815816111f3565b8051610815816111f3565b8051610815816111fc565b600060208284031215610c7757600080fd5b6000610c838484610bda565b949350505050565b600060208284031215610c9d57600080fd5b6000610c838484610be5565b60008060408385031215610cbc57600080fd5b6000610cc88585610bda565b9250506020610cd985828601610bda565b9150509250929050565b60008060008060008060a08789031215610cfc57600080fd5b6000610d088989610bda565b9650506020610d1989828a01610bda565b9550506040610d2a89828a01610c39565b945050606087013567ffffffffffffffff811115610d4757600080fd5b610d5389828a01610bf0565b93509350506080610d6689828a01610c44565b9150509295509295509295565b600080600060408486031215610d8857600080fd5b6000610d948686610bda565b935050602084013567ffffffffffffffff811115610db157600080fd5b610dbd86828701610bf0565b92509250509250925092565b600060208284031215610ddb57600080fd5b6000610c838484610c39565b600060208284031215610df957600080fd5b6000610c838484610c4f565b60008060408385031215610e1857600080fd5b6000610cc88585610c44565b600060208284031215610e3657600080fd5b6000610c838484610c5a565b610e4b8161118b565b82525050565b610e4b81611196565b610e4b816111ba565b6000610e70602583611182565b7f61646446756e6453657474696e67733a2066656552617465206d617820657863815264195959195960da1b602082015260400192915050565b6000610eb7601e83611182565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000610ef0601a83611182565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b6000610f29602583611182565b7f4f6e6c7920746865204665654d616e6765722063616e206d616b6520746869738152640818d85b1b60da1b602082015260400192915050565b6000610f70602183611182565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000610fb3602f83611182565b7f61646446756e6453657474696e67733a2066656552617465206d75737420626581526e02067726561746572207468616e203608c1b602082015260400192915050565b6000611004603083611182565b7f5f5f736574526563697069656e74466f7246756e643a204f6e6c79207661756c81526f74206f776e65722063616c6c61626c6560801b602082015260400192915050565b8051604083019061105a8482611073565b50602082015161106d6020850182611073565b50505050565b610e4b816111b1565b602081016108158284610e42565b602081016108158284610e51565b604081016110a68285610e51565b6109b46020830184610e51565b606081016110c18286610e5a565b6110ce6020830185610e42565b610c836040830184611073565b602080825281016106b081610e63565b602080825281016106b081610eaa565b602080825281016106b081610ee3565b602080825281016106b081610f1c565b602080825281016106b081610f63565b602080825281016106b081610fa6565b602080825281016106b081610ff7565b604081016108158284611049565b602081016108158284611073565b604081016111758285611073565b6109b46020830184611073565b90815260200190565b60006106b0826111a5565b151590565b806106b3816111c5565b6001600160a01b031690565b90565b60ff1690565b60006106b08261119b565b600681106111cf57fe5b50565b6111db8161118b565b81146111cf57600080fd5b600481106111cf57600080fd5b6111db816111b1565b6111db816111b456fea164736f6c634300060c000a", "sourceMap": "736:9097:151:-:0;;;1700:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;705:25:154;;-1:-1:-1;;;;;;705:25:154;;;736:9097:151;;5:134:-1;83:13;;101:33;83:13;101:33;:::i;:::-;68:71;;;;:::o;146:263::-;;261:2;249:9;240:7;236:23;232:32;229:2;;;277:1;274;267:12;229:2;312:1;329:64;385:7;365:9;329:64;:::i;:::-;319:74;223:186;-1:-1;;;;223:186::o;416:91::-;;-1:-1;;;;;576:54;;478:24;559:76::o;642:117::-;711:24;729:5;711:24;:::i;:::-;704:5;701:35;691:2;;750:1;747;740:12;691:2;685:74;:::o;:::-;736:9097:151;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106100a95760003560e01c806362780b3c1161007157806362780b3c14610135578063877fd473146101555780638c55f80f14610175578063b78b481314610188578063e337a91f146101a8578063f2d63826146101bb576100a9565b80630f5f6b4f146100ae578063233faf5f146100c35780633146d058146100d6578063320f0ddd146100e957806341892d7e14610113575b600080fd5b6100c16100bc366004610d73565b6101c3565b005b6100c16100d1366004610ce3565b6102f8565b6100c16100e4366004610ca9565b610447565b6100fc6100f7366004610dc9565b610567565b60405161010a929190611098565b60405180910390f35b610126610121366004610ce3565b6105c2565b60405161010a939291906110b3565b610148610143366004610c65565b6106a5565b60405161010a919061107c565b610168610163366004610c65565b6106b8565b60405161010a919061114b565b6100c1610183366004610ca9565b6106f3565b61019b610196366004610ca9565b610812565b60405161010a919061108a565b6100fc6101b6366004610dc9565b61081b565b610148610825565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146102145760405162461bcd60e51b815260040161020b9061110b565b60405180910390fd5b60008061022383850185610e05565b91509150600082116102475760405162461bcd60e51b815260040161020b9061112b565b6127108211156102695760405162461bcd60e51b815260040161020b906110db565b604080518082018252838152600060208083018281526001600160a01b038a1680845260019283905292859020935184555192019190915590517f90b7d1516011c1da1279f3ae0ed052b1416e7c373d4ec40cf515aa53c5f839df906102d0908590611159565b60405180910390a26001600160a01b038116156102f1576102f18582610849565b5050505050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146103405760405162461bcd60e51b815260040161020b9061110b565b6001600160a01b03861660009081526001602081905260409091200154600019141561043f5760006103e38783886001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156103a657600080fd5b505afa1580156103ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103de9190610de7565b6108a0565b6001600160a01b0388166000818152600160208190526040918290200183905551919250907f0fec258962fcd71a7f561cba93e60d41887eacef883d1b68362ed5dfa493342890610435908490611159565b60405180910390a2505b505050505050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461048f5760405162461bcd60e51b815260040161020b9061110b565b6001600160a01b0382166000818152600160209081526040808320815163369c940f60e21b8152915190949263da72503c926004808201939182900301818787803b1580156104dd57600080fd5b505af11580156104f1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105159190610de7565b9050808260010181905550836001600160a01b03167f67286096839b70891eb51e1532e51d6a709d69c808d1b7e24abcb24a39167d05826040516105599190611159565b60405180910390a250505050565b60008060015b83600381111561057957fe5b14806105905750600383600381111561058e57fe5b145b806105a6575060008360038111156105a457fe5b145b156105b6575060019050806105bd565b5060009050805b915091565b60008080336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461060e5760405162461bcd60e51b815260040161020b9061110b565b600061061b8a8a876109bb565b925090508161063557600080600093509350935050610699565b6001600160a01b038a16600081815260016020819052604091829020600019910155517f468aeeec0e901c52363552a06c1e39331d44c3cc886eb200af127ded3f380f82906106879084908690611167565b60405180910390a26002600093509350505b96509650969350505050565b60006106b082610b0e565b90505b919050565b6106c0610bc0565b506001600160a01b0316600090815260016020818152604092839020835180850190945280548452909101549082015290565b816001600160a01b031663c98091876040518163ffffffff1660e01b815260040160206040518083038186803b15801561072c57600080fd5b505afa158015610740573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107649190610c8b565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561079c57600080fd5b505afa1580156107b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107d49190610c8b565b6001600160a01b0316336001600160a01b0316146108045760405162461bcd60e51b815260040161020b9061113b565b61080e8282610849565b5050565b60005b92915050565b600080600261056d565b7f000000000000000000000000000000000000000000000000000000000000000090565b6001600160a01b0382811660008181526020819052604080822080546001600160a01b0319169486169485179055517fa11fc98cfb391622348acc16de92f0efb77d55f71a6e9fa18bfef387ae8d19ce9190a35050565b60008161099557836001600160a01b031663e269c3d66040518163ffffffff1660e01b815260040160206040518083038186803b1580156108e057600080fd5b505afa1580156108f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109189190610c8b565b6001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561095057600080fd5b505afa158015610964573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109889190610e24565b60ff16600a0a90506109b4565b6109b1826109ab85670de0b6b3a7640000610b2c565b90610b66565b90505b9392505050565b600080826109ce57506000905080610b06565b6000846001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b158015610a0957600080fd5b505afa158015610a1d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a419190610de7565b905080610a55576000809250925050610b06565b610a608685836108a0565b6001600160a01b03871660009081526001602081905260409091200154909350808411610a9557600080935093505050610b06565b6000610aa18583610b98565b6001600160a01b03891660009081526001602052604081205491925090610ae690670de0b6b3a7640000906109ab90612710908290610ae0888b610b2c565b90610b2c565b9050610aff610af58883610b98565b6109ab8387610b2c565b9450505050505b935093915050565b6001600160a01b039081166000908152602081905260409020541690565b600082610b3b57506000610815565b82820282848281610b4857fe5b04146109b45760405162461bcd60e51b815260040161020b9061111b565b6000808211610b875760405162461bcd60e51b815260040161020b906110fb565b818381610b9057fe5b049392505050565b600082821115610bba5760405162461bcd60e51b815260040161020b906110eb565b50900390565b604051806040016040528060008152602001600081525090565b8035610815816111d2565b8051610815816111d2565b60008083601f840112610c0257600080fd5b50813567ffffffffffffffff811115610c1a57600080fd5b602083019150836001820283011115610c3257600080fd5b9250929050565b8035610815816111e6565b8035610815816111f3565b8051610815816111f3565b8051610815816111fc565b600060208284031215610c7757600080fd5b6000610c838484610bda565b949350505050565b600060208284031215610c9d57600080fd5b6000610c838484610be5565b60008060408385031215610cbc57600080fd5b6000610cc88585610bda565b9250506020610cd985828601610bda565b9150509250929050565b60008060008060008060a08789031215610cfc57600080fd5b6000610d088989610bda565b9650506020610d1989828a01610bda565b9550506040610d2a89828a01610c39565b945050606087013567ffffffffffffffff811115610d4757600080fd5b610d5389828a01610bf0565b93509350506080610d6689828a01610c44565b9150509295509295509295565b600080600060408486031215610d8857600080fd5b6000610d948686610bda565b935050602084013567ffffffffffffffff811115610db157600080fd5b610dbd86828701610bf0565b92509250509250925092565b600060208284031215610ddb57600080fd5b6000610c838484610c39565b600060208284031215610df957600080fd5b6000610c838484610c4f565b60008060408385031215610e1857600080fd5b6000610cc88585610c44565b600060208284031215610e3657600080fd5b6000610c838484610c5a565b610e4b8161118b565b82525050565b610e4b81611196565b610e4b816111ba565b6000610e70602583611182565b7f61646446756e6453657474696e67733a2066656552617465206d617820657863815264195959195960da1b602082015260400192915050565b6000610eb7601e83611182565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000610ef0601a83611182565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b6000610f29602583611182565b7f4f6e6c7920746865204665654d616e6765722063616e206d616b6520746869738152640818d85b1b60da1b602082015260400192915050565b6000610f70602183611182565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000610fb3602f83611182565b7f61646446756e6453657474696e67733a2066656552617465206d75737420626581526e02067726561746572207468616e203608c1b602082015260400192915050565b6000611004603083611182565b7f5f5f736574526563697069656e74466f7246756e643a204f6e6c79207661756c81526f74206f776e65722063616c6c61626c6560801b602082015260400192915050565b8051604083019061105a8482611073565b50602082015161106d6020850182611073565b50505050565b610e4b816111b1565b602081016108158284610e42565b602081016108158284610e51565b604081016110a68285610e51565b6109b46020830184610e51565b606081016110c18286610e5a565b6110ce6020830185610e42565b610c836040830184611073565b602080825281016106b081610e63565b602080825281016106b081610eaa565b602080825281016106b081610ee3565b602080825281016106b081610f1c565b602080825281016106b081610f63565b602080825281016106b081610fa6565b602080825281016106b081610ff7565b604081016108158284611049565b602081016108158284611073565b604081016111758285611073565b6109b46020830184611073565b90815260200190565b60006106b0826111a5565b151590565b806106b3816111c5565b6001600160a01b031690565b90565b60ff1690565b60006106b08261119b565b600681106111cf57fe5b50565b6111db8161118b565b81146111cf57600080fd5b600481106111cf57600080fd5b6111db816111b1565b6111db816111b456fea164736f6c634300060c000a", "sourceMap": "736:9097:151:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2593:844;;;;;;:::i;:::-;;:::i;:::-;;5646:646;;;;;;:::i;:::-;;:::i;1907:391::-;;;;;;:::i;:::-;;:::i;4980:424::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;3817:899;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;:::i;7192:264::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;9633:198::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;883:369:156:-;;;;;;:::i;:::-;;:::i;1490:104:154:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;6556:425:151:-;;;;;;:::i;:::-;;:::i;3806:104:154:-;;;:::i;2593:844:151:-;564:10:154;-1:-1:-1;;;;;578:11:154;564:25;;556:75;;;;-1:-1:-1;;;556:75:154;;;;;;;:::i;:::-;;;;;;;;;2747:15:151::1;::::0;2785:45:::1;::::0;;::::1;2796:13:::0;2785:45:::1;:::i;:::-;2746:84;;;;2858:1;2848:7;:11;2840:71;;;;-1:-1:-1::0;;;2840:71:151::1;;;;;;;:::i;:::-;1505:5;3082:7;:30;;3074:80;;;;-1:-1:-1::0;;;3074:80:151::1;;;;;;;:::i;:::-;3212:42;::::0;;;;::::1;::::0;;;;;-1:-1:-1;3212:42:151::1;::::0;;::::1;::::0;;;-1:-1:-1;;;;;3165:44:151;::::1;::::0;;;:25:::1;:44:::0;;;;;;;;:89;;;;;;::::1;::::0;;;;3270:45;;::::1;::::0;::::1;::::0;3227:7;;3270:45:::1;:::i;:::-;;;;;;;;-1:-1:-1::0;;;;;3330:23:151;::::1;::::0;3326:105:::1;;3369:51;3391:17;3410:9;3369:21;:51::i;:::-;641:1:154;;2593:844:151::0;;;:::o;5646:646::-;564:10:154;-1:-1:-1;;;;;578:11:154;564:25;;556:75;;;;-1:-1:-1;;;556:75:154;;;;;;;:::i;:::-;-1:-1:-1;;;;;5854:44:151;::::1;;::::0;;;:25:::1;:44;::::0;;;;;;;:58:::1;::::0;-1:-1:-1;;5854:76:151::1;5850:436;;;5946:15;5964:161;6022:17;6057:4;6085:11;-1:-1:-1::0;;;;;6079:30:151::1;;:32;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5964:40;:161::i;:::-;-1:-1:-1::0;;;;;6139:44:151;::::1;;::::0;;;:25:::1;:44;::::0;;;;;;;;:58:::1;:68:::0;;;6227:48;5946:179;;-1:-1:-1;6139:44:151;6227:48:::1;::::0;::::1;::::0;5946:179;;6227:48:::1;:::i;:::-;;;;;;;;5850:436;;5646:646:::0;;;;;;:::o;1907:391::-;564:10:154;-1:-1:-1;;;;;578:11:154;564:25;;556:75;;;;-1:-1:-1;;;556:75:154;;;;;;;:::i;:::-;-1:-1:-1;;;;;2037:44:151;::::1;2011:23;2037:44:::0;;;:25:::1;:44;::::0;;;;;;;2118:55;;-1:-1:-1;;;2118:55:151;;;;2037:44;;;2118:53:::1;::::0;:55:::1;::::0;;::::1;::::0;;;;;;;2011:23;2037:44;2118:55;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2092:81;;2208:15;2184:7;:21;;:39;;;;2256:17;-1:-1:-1::0;;;;;2239:52:151::1;;2275:15;2239:52;;;;;;:::i;:::-;;;;;;;;641:1:154;;1907:391:151::0;;:::o;4980:424::-;5094:13;;5164:32;5155:41;:5;:41;;;;;;;;;:101;;;-1:-1:-1;5221:35:151;5212:5;:44;;;;;;;;;5155:101;:156;;;-1:-1:-1;5281:30:151;5272:5;:39;;;;;;;;;5155:156;5138:228;;;-1:-1:-1;5344:4:151;;-1:-1:-1;5344:4:151;5336:19;;5138:228;-1:-1:-1;5384:5:151;;-1:-1:-1;5384:5:151;4980:424;;;;:::o;3817:899::-;4065:42;;;564:10:154;-1:-1:-1;;;;;578:11:154;564:25;;556:75;;;;-1:-1:-1;;;556:75:154;;;;;;;:::i;:::-;4185:18:151::1;4240:53;4256:17;4275:11;4288:4;4240:15;:53::i;:::-;4213:80:::0;-1:-1:-1;4213:80:151;-1:-1:-1;4307:15:151;4303:101:::1;;4346:31;4387:1:::0;4391::::1;4338:55;;;;;;;;;4303:101;-1:-1:-1::0;;;;;4493:44:151;::::1;;::::0;;;:25:::1;:44;::::0;;;;;;;;-1:-1:-1;;4493:58:151;::::1;:75:::0;4584:50;::::1;::::0;::::1;::::0;4611:10;;4623;;4584:50:::1;:::i;:::-;;;;;;;;4653:31;4694:1;4645:64;;;;;641:1:154;3817:899:151::0;;;;;;;;;;:::o;7192:264::-;7345:18;7386:63;7431:17;7386:44;:63::i;:::-;7379:70;;7192:264;;;;:::o;9633:198::-;9734:23;;:::i;:::-;-1:-1:-1;;;;;;9780:44:151;;;;;:25;:44;;;;;;;;;9773:51;;;;;;;;;;;;;;;;;;;;;9633:198::o;883:369:156:-;1061:17;-1:-1:-1;;;;;1046:47:156;;:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1029:77:156;;:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;999:109:156;:10;-1:-1:-1;;;;;999:109:156;;978:204;;;;-1:-1:-1;;;978:204:156;;;;;;;:::i;:::-;1193:52;1215:17;1234:10;1193:21;:52::i;:::-;883:369;;:::o;1490:104:154:-;1559:4;1490:104;;;;;:::o;6556:425:151:-;6670:13;;6740:33;6731:42;;3806:104:154;3892:11;3806:104;:::o;715:229:155:-;-1:-1:-1;;;;;812:46:155;;;:27;:46;;;;;;;;;;;:59;;-1:-1:-1;;;;;;812:59:155;;;;;;;;;887:50;;;812:27;887:50;715:229;;:::o;7608:492:151:-;7774:24;7814:18;7810:227;;7951:17;-1:-1:-1;;;;;7936:54:151;;:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;7930:72:151;;:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7897:129;;7871:2;:155;7848:178;;;;7810:227;8054:39;8079:13;8054:20;:4;1619:6;8054:8;:20::i;:::-;:24;;:39::i;:::-;8047:46;;7608:492;;;;;;:::o;8192:1200::-;8331:19;;8386:9;8382:53;;-1:-1:-1;8419:1:151;;-1:-1:-1;8419:1:151;8411:13;;8382:53;8445:20;8474:11;-1:-1:-1;;;;;8468:30:151;;:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8445:55;-1:-1:-1;8514:17:151;8510:61;;8555:1;8558;8547:13;;;;;;;8510:61;8659:125;8713:17;8744:4;8762:12;8659:40;:125::i;:::-;-1:-1:-1;;;;;8808:44:151;;8794:11;8808:44;;;:25;:44;;;;;;;;:58;;8645:139;;-1:-1:-1;8880:18:151;;;8876:62;;8922:1;8925;8914:13;;;;;;;;8876:62;9008:21;9032:20;:11;9048:3;9032:15;:20::i;:::-;-1:-1:-1;;;;;9146:44:151;;9062:19;9146:44;;;:25;:44;;;;;:49;9008:44;;-1:-1:-1;9062:19:151;9084:179;;1619:6;;9084:150;;1505:5;;9084:150;;:44;9008;9115:12;9084:30;:44::i;:::-;:61;;:112::i;:179::-;9062:201;-1:-1:-1;9286:56:151;9320:21;:4;9062:201;9320:8;:21::i;:::-;9286:29;:11;9302:12;9286:15;:29::i;:56::-;9273:69;;9353:32;;;;8192:1200;;;;;;;:::o;1258:211:155:-;-1:-1:-1;;;;;1416:46:155;;;1375:18;1416:46;;;;;;;;;;;;;1258:211::o;3538:215:442:-;3596:7;3619:6;3615:20;;-1:-1:-1;3634:1:442;3627:8;;3615:20;3657:5;;;3661:1;3657;:5;:1;3680:5;;;;;:10;3672:56;;;;-1:-1:-1;;;3672:56:442;;;;;;;:::i;4217:150::-;4275:7;4306:1;4302;:5;4294:44;;;;-1:-1:-1;;;4294:44:442;;;;;;;:::i;:::-;4359:1;4355;:5;;;;;;;4217:150;-1:-1:-1;;;4217:150:442:o;3136:155::-;3194:7;3226:1;3221;:6;;3213:49;;;;-1:-1:-1;;;3213:49:442;;;;;;;:::i;:::-;-1:-1:-1;3279:5:442;;;3136:155::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;:::o;5:130::-;72:20;;97:33;72:20;97:33;:::i;142:134::-;220:13;;238:33;220:13;238:33;:::i;450:336::-;;;564:3;557:4;549:6;545:17;541:27;531:2;;582:1;579;572:12;531:2;-1:-1;602:20;;642:18;631:30;;628:2;;;674:1;671;664:12;628:2;708:4;700:6;696:17;684:29;;759:3;751:4;743:6;739:17;729:8;725:32;722:41;719:2;;;776:1;773;766:12;719:2;524:262;;;;;:::o;794:156::-;874:20;;899:46;874:20;899:46;:::i;957:130::-;1024:20;;1049:33;1024:20;1049:33;:::i;1094:134::-;1172:13;;1190:33;1172:13;1190:33;:::i;1235:130::-;1311:13;;1329:31;1311:13;1329:31;:::i;1372:241::-;;1476:2;1464:9;1455:7;1451:23;1447:32;1444:2;;;1492:1;1489;1482:12;1444:2;1527:1;1544:53;1589:7;1569:9;1544:53;:::i;:::-;1534:63;1438:175;-1:-1;;;;1438:175::o;1620:263::-;;1735:2;1723:9;1714:7;1710:23;1706:32;1703:2;;;1751:1;1748;1741:12;1703:2;1786:1;1803:64;1859:7;1839:9;1803:64;:::i;1890:366::-;;;2011:2;1999:9;1990:7;1986:23;1982:32;1979:2;;;2027:1;2024;2017:12;1979:2;2062:1;2079:53;2124:7;2104:9;2079:53;:::i;:::-;2069:63;;2041:97;2169:2;2187:53;2232:7;2223:6;2212:9;2208:22;2187:53;:::i;:::-;2177:63;;2148:98;1973:283;;;;;:::o;2263:893::-;;;;;;;2467:3;2455:9;2446:7;2442:23;2438:33;2435:2;;;2484:1;2481;2474:12;2435:2;2519:1;2536:53;2581:7;2561:9;2536:53;:::i;:::-;2526:63;;2498:97;2626:2;2644:53;2689:7;2680:6;2669:9;2665:22;2644:53;:::i;:::-;2634:63;;2605:98;2734:2;2752:66;2810:7;2801:6;2790:9;2786:22;2752:66;:::i;:::-;2742:76;;2713:111;2883:2;2872:9;2868:18;2855:32;2907:18;2899:6;2896:30;2893:2;;;2939:1;2936;2929:12;2893:2;2967:64;3023:7;3014:6;3003:9;2999:22;2967:64;:::i;:::-;2949:82;;;;2834:203;3068:3;3087:53;3132:7;3123:6;3112:9;3108:22;3087:53;:::i;:::-;3077:63;;3047:99;2429:727;;;;;;;;:::o;3163:490::-;;;;3303:2;3291:9;3282:7;3278:23;3274:32;3271:2;;;3319:1;3316;3309:12;3271:2;3354:1;3371:53;3416:7;3396:9;3371:53;:::i;:::-;3361:63;;3333:97;3489:2;3478:9;3474:18;3461:32;3513:18;3505:6;3502:30;3499:2;;;3545:1;3542;3535:12;3499:2;3573:64;3629:7;3620:6;3609:9;3605:22;3573:64;:::i;:::-;3555:82;;;;3440:203;3265:388;;;;;:::o;3660:267::-;;3777:2;3765:9;3756:7;3752:23;3748:32;3745:2;;;3793:1;3790;3783:12;3745:2;3828:1;3845:66;3903:7;3883:9;3845:66;:::i;3934:263::-;;4049:2;4037:9;4028:7;4024:23;4020:32;4017:2;;;4065:1;4062;4055:12;4017:2;4100:1;4117:64;4173:7;4153:9;4117:64;:::i;4204:382::-;;;4333:2;4321:9;4312:7;4308:23;4304:32;4301:2;;;4349:1;4346;4339:12;4301:2;4384:1;4401:53;4446:7;4426:9;4401:53;:::i;4593:259::-;;4706:2;4694:9;4685:7;4681:23;4677:32;4674:2;;;4722:1;4719;4712:12;4674:2;4757:1;4774:62;4828:7;4808:9;4774:62;:::i;4859:113::-;4942:24;4960:5;4942:24;:::i;:::-;4937:3;4930:37;4924:48;;:::o;4979:104::-;5056:21;5071:5;5056:21;:::i;5090:162::-;5191:55;5240:5;5191:55;:::i;5260:374::-;;5420:67;5484:2;5479:3;5420:67;:::i;:::-;5520:34;5500:55;;-1:-1;;;5584:2;5575:12;;5568:29;5625:2;5616:12;;5406:228;-1:-1;;5406:228::o;5643:330::-;;5803:67;5867:2;5862:3;5803:67;:::i;:::-;5903:32;5883:53;;5964:2;5955:12;;5789:184;-1:-1;;5789:184::o;5982:326::-;;6142:67;6206:2;6201:3;6142:67;:::i;:::-;6242:28;6222:49;;6299:2;6290:12;;6128:180;-1:-1;;6128:180::o;6317:374::-;;6477:67;6541:2;6536:3;6477:67;:::i;:::-;6577:34;6557:55;;-1:-1;;;6641:2;6632:12;;6625:29;6682:2;6673:12;;6463:228;-1:-1;;6463:228::o;6700:370::-;;6860:67;6924:2;6919:3;6860:67;:::i;:::-;6960:34;6940:55;;-1:-1;;;7024:2;7015:12;;7008:25;7061:2;7052:12;;6846:224;-1:-1;;6846:224::o;7079:384::-;;7239:67;7303:2;7298:3;7239:67;:::i;:::-;7339:34;7319:55;;-1:-1;;;7403:2;7394:12;;7387:39;7454:2;7445:12;;7225:238;-1:-1;;7225:238::o;7472:385::-;;7632:67;7696:2;7691:3;7632:67;:::i;:::-;7732:34;7712:55;;-1:-1;;;7796:2;7787:12;;7780:40;7848:2;7839:12;;7618:239;-1:-1;;7618:239::o;7934:487::-;8145:23;;8079:4;8070:14;;;8174:63;8074:3;8145:23;8174:63;:::i;:::-;8099:144;8325:4;8318:5;8314:16;8308:23;8337:63;8394:4;8389:3;8385:14;8371:12;8337:63;:::i;:::-;8253:153;8052:369;;;:::o;8428:103::-;8501:24;8519:5;8501:24;:::i;8658:222::-;8785:2;8770:18;;8799:71;8774:9;8843:6;8799:71;:::i;8887:210::-;9008:2;8993:18;;9022:65;8997:9;9060:6;9022:65;:::i;9104:309::-;9247:2;9232:18;;9261:65;9236:9;9299:6;9261:65;:::i;:::-;9337:66;9399:2;9388:9;9384:18;9375:6;9337:66;:::i;9420:480::-;9621:2;9606:18;;9635:89;9610:9;9697:6;9635:89;:::i;:::-;9735:72;9803:2;9792:9;9788:18;9779:6;9735:72;:::i;:::-;9818;9886:2;9875:9;9871:18;9862:6;9818:72;:::i;9907:416::-;10107:2;10121:47;;;10092:18;;10182:131;10092:18;10182:131;:::i;10330:416::-;10530:2;10544:47;;;10515:18;;10605:131;10515:18;10605:131;:::i;10753:416::-;10953:2;10967:47;;;10938:18;;11028:131;10938:18;11028:131;:::i;11176:416::-;11376:2;11390:47;;;11361:18;;11451:131;11361:18;11451:131;:::i;11599:416::-;11799:2;11813:47;;;11784:18;;11874:131;11784:18;11874:131;:::i;12022:416::-;12222:2;12236:47;;;12207:18;;12297:131;12207:18;12297:131;:::i;12445:416::-;12645:2;12659:47;;;12630:18;;12720:131;12630:18;12720:131;:::i;12868:326::-;13047:2;13032:18;;13061:123;13036:9;13157:6;13061:123;:::i;13201:222::-;13328:2;13313:18;;13342:71;13317:9;13386:6;13342:71;:::i;13430:333::-;13585:2;13570:18;;13599:71;13574:9;13643:6;13599:71;:::i;:::-;13681:72;13749:2;13738:9;13734:18;13725:6;13681:72;:::i;13771:163::-;13874:19;;;13923:4;13914:14;;13867:67::o;13942:91::-;;14004:24;14022:5;14004:24;:::i;14146:85::-;14212:13;14205:21;;14188:43::o;14238:146::-;14320:5;14326:53;14320:5;14326:53;:::i;14391:121::-;-1:-1;;;;;14453:54;;14436:76::o;14519:72::-;14581:5;14564:27::o;14598:81::-;14669:4;14658:16;;14641:38::o;14686:146::-;;14783:44;14821:5;14783:44;:::i;14839:111::-;14928:1;14921:5;14918:12;14908:2;;14934:9;14908:2;14902:48;:::o;14957:117::-;15026:24;15044:5;15026:24;:::i;:::-;15019:5;15016:35;15006:2;;15065:1;15062;15055:12;15221:107;15303:1;15296:5;15293:12;15283:2;;15319:1;15316;15309:12;15335:117;15404:24;15422:5;15404:24;:::i;15459:113::-;15526:22;15542:5;15526:22;:::i", "linkReferences": {}, "immutableReferences": { "40426": [ { "start": 462, "length": 32 }, { "start": 771, "length": 32 }, { "start": 1106, "length": 32 }, { "start": 1489, "length": 32 }, { "start": 2087, "length": 32 } ] } }, "methodIdentifiers": { "activateForFund(address,address)": "3146d058", "addFundSettings(address,bytes)": "0f5f6b4f", "getFeeInfoForFund(address)": "877fd473", "getFeeManager()": "f2d63826", "getRecipientForFund(address)": "62780b3c", "payout(address,address)": "b78b4813", "setRecipientForFund(address,address)": "8c55f80f", "settle(address,address,uint8,bytes,uint256)": "41892d7e", "settlesOnHook(uint8)": "320f0ddd", "update(address,address,uint8,bytes,uint256)": "233faf5f", "updatesOnHook(uint8)": "e337a91f" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_feeManager\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"highWaterMark\",\"type\":\"uint256\"}],\"name\":\"ActivatedForFund\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"rate\",\"type\":\"uint256\"}],\"name\":\"FundSettingsAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"nextHighWaterMark\",\"type\":\"uint256\"}],\"name\":\"HighWaterMarkUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"}],\"name\":\"RecipientSetForFund\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"sharePrice\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"sharesDue\",\"type\":\"uint256\"}],\"name\":\"Settled\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"activateForFund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_settingsData\",\"type\":\"bytes\"}],\"name\":\"addFundSettings\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"}],\"name\":\"getFeeInfoForFund\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"rate\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"highWaterMark\",\"type\":\"uint256\"}],\"internalType\":\"struct PerformanceFee.FeeInfo\",\"name\":\"feeInfo_\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFeeManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"feeManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"}],\"name\":\"getRecipientForFund\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"recipient_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"payout\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_recipient\",\"type\":\"address\"}],\"name\":\"setRecipientForFund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"enum IFeeManager.FeeHook\",\"name\":\"\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"_gav\",\"type\":\"uint256\"}],\"name\":\"settle\",\"outputs\":[{\"internalType\":\"enum IFeeManager.SettlementType\",\"name\":\"settlementType_\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"sharesDue_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IFeeManager.FeeHook\",\"name\":\"_hook\",\"type\":\"uint8\"}],\"name\":\"settlesOnHook\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"settles_\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"usesGav_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"enum IFeeManager.FeeHook\",\"name\":\"\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"_gav\",\"type\":\"uint256\"}],\"name\":\"update\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IFeeManager.FeeHook\",\"name\":\"_hook\",\"type\":\"uint8\"}],\"name\":\"updatesOnHook\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"updates_\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"usesGav_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"activateForFund(address,address)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\"}},\"addFundSettings(address,bytes)\":{\"details\":\"`highWaterMark`, `lastSharePrice`, and `activated` are set during activation\",\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\",\"_settingsData\":\"Encoded settings to apply to the fee for a fund\"}},\"getFeeInfoForFund(address)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy contract of the fund\"},\"returns\":{\"feeInfo_\":\"The feeInfo\"}},\"getFeeManager()\":{\"returns\":{\"feeManager_\":\"The `FEE_MANAGER` variable value\"}},\"getRecipientForFund(address)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy contract for the fund\"},\"returns\":{\"recipient_\":\"The recipient\"}},\"payout(address,address)\":{\"details\":\"Returns false by default, can be overridden by fee\"},\"setRecipientForFund(address,address)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy contract for the fund\",\"_recipient\":\"The fee recipient\"}},\"settle(address,address,uint8,bytes,uint256)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\",\"_gav\":\"The GAV of the fund\",\"_vaultProxy\":\"The VaultProxy of the fund\"},\"returns\":{\"_1\":\"(unused) The payer of shares due\",\"settlementType_\":\"The type of settlement\",\"sharesDue_\":\"The amount of shares due\"}},\"settlesOnHook(uint8)\":{\"params\":{\"_hook\":\"The FeeHook\"},\"returns\":{\"settles_\":\"True if the fee settles on the _hook\",\"usesGav_\":\"True if the fee uses GAV during settle() for the _hook\"}},\"update(address,address,uint8,bytes,uint256)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\",\"_gav\":\"The GAV of the fund\",\"_vaultProxy\":\"The VaultProxy of the fund\"}},\"updatesOnHook(uint8)\":{\"params\":{\"_hook\":\"The FeeHook\"},\"returns\":{\"updates_\":\"True if the fee updates on the _hook\",\"usesGav_\":\"True if the fee uses GAV during update() for the _hook\"}}},\"title\":\"PerformanceFee Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"activateForFund(address,address)\":{\"notice\":\"Activates the fee for a fund\"},\"addFundSettings(address,bytes)\":{\"notice\":\"Add the initial fee settings for a fund\"},\"getFeeInfoForFund(address)\":{\"notice\":\"Gets the feeInfo for a given fund\"},\"getFeeManager()\":{\"notice\":\"Gets the `FEE_MANAGER` variable\"},\"getRecipientForFund(address)\":{\"notice\":\"Gets the recipient of the fee for a given fund\"},\"payout(address,address)\":{\"notice\":\"Runs payout logic for a fee that utilizes shares outstanding as its settlement type\"},\"setRecipientForFund(address,address)\":{\"notice\":\"Sets the fee recipient for the given fund\"},\"settle(address,address,uint8,bytes,uint256)\":{\"notice\":\"Settles the fee and calculates shares due\"},\"settlesOnHook(uint8)\":{\"notice\":\"Gets whether the fee settles and requires GAV on a particular hook\"},\"update(address,address,uint8,bytes,uint256)\":{\"notice\":\"Updates the fee state after all fees have finished settle()\"},\"updatesOnHook(uint8)\":{\"notice\":\"Gets whether the fee updates and requires GAV on a particular hook\"}},\"notice\":\"A performance-based fee with configurable rate\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/fee-manager/fees/PerformanceFee.sol\":\"PerformanceFee\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/persistent/protocol-fee-reserve/interfaces/IProtocolFeeReserve1.sol\":{\"keccak256\":\"0x2728878c423db523bc95189137e8c58d2d7db9f56bbd5c6b1f988c08b551fbab\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3b0df1d2eb74151265d03ab91a7c341f7beca475dd2f4d669052dbc4ee2c06ac\",\"dweb:/ipfs/QmVx1cgrxQNYfdK1Kn15pcgqf79Uw8bF3U6i7F2HG2rj6G\"]},\"contracts/persistent/vault/VaultLibBase1.sol\":{\"keccak256\":\"0xa4dac1e4cdb311a2ab187135355357d8790c505ef36dd912c057fe53743d30b5\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b66efe821016ab927c949263023260515e90f5d480dc8d94eefbfeec7bf7490b\",\"dweb:/ipfs/QmNY3xKnhL9EptAbxGvXHGAXfV9pj3dDPwsZnKrPs54ZHw\"]},\"contracts/persistent/vault/VaultLibBase2.sol\":{\"keccak256\":\"0xf7d31f2a9a47770ed3f444be2c4fe9262ddb55fef7f25e546b1f03c9afec4c09\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9353ddce7c9b8b3c13fed23fe8edec99ca610d791b0c5b204b3d01f1f08d07d2\",\"dweb:/ipfs/QmeVsEh3joCjv49BRXeHASevnZZ5xdZXpkctHT8BPf37N2\"]},\"contracts/persistent/vault/VaultLibBaseCore.sol\":{\"keccak256\":\"0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd\",\"dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz\"]},\"contracts/persistent/vault/interfaces/IExternalPositionVault.sol\":{\"keccak256\":\"0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d\",\"dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8\"]},\"contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol\":{\"keccak256\":\"0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb\",\"dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU\"]},\"contracts/persistent/vault/interfaces/IMigratableVault.sol\":{\"keccak256\":\"0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6\",\"dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs\"]},\"contracts/persistent/vault/interfaces/IVaultCore.sol\":{\"keccak256\":\"0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd\",\"dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr\"]},\"contracts/persistent/vault/utils/ProxiableVaultLib.sol\":{\"keccak256\":\"0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44\",\"dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4\"]},\"contracts/persistent/vault/utils/SharesTokenBase.sol\":{\"keccak256\":\"0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8\",\"dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4\"]},\"contracts/persistent/vault/utils/VaultLibSafeMath.sol\":{\"keccak256\":\"0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02\",\"dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG\"]},\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/core/fund/comptroller/ComptrollerLib.sol\":{\"keccak256\":\"0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579\",\"dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq\"]},\"contracts/release/core/fund/comptroller/IComptroller.sol\":{\"keccak256\":\"0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97\",\"dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L\"]},\"contracts/release/core/fund/vault/IVault.sol\":{\"keccak256\":\"0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599\",\"dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG\"]},\"contracts/release/core/fund/vault/VaultLib.sol\":{\"keccak256\":\"0x07e49445ab55c01e1b499a48baadc2a15d1eba621f1c6d3ccfdb84c87b976da8\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://56d882459248f73e137db2e097fc56b946147fb28ec21661b77431f88e856cb4\",\"dweb:/ipfs/QmRP6Ry7DCS5uoKxnnkTomHSzbaCze6cHqbR9aLdjoF6vK\"]},\"contracts/release/extensions/IExtension.sol\":{\"keccak256\":\"0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70\",\"dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t\"]},\"contracts/release/extensions/external-position-manager/IExternalPositionManager.sol\":{\"keccak256\":\"0x3af3f634e1f99fb97091b7825c0d2e2baaafc124d4e87d56cb0c17ff8554f6c6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://515470605afe5ef147f30fa75ce7818f0e00e3d321eb81a4d9bffcdefc294495\",\"dweb:/ipfs/QmPKsp99pfHoz9Tfo3ZxnkmqDqJtN9PxqacF2RmeVfxUJF\"]},\"contracts/release/extensions/fee-manager/FeeManager.sol\":{\"keccak256\":\"0xf3a3e504ca755cafda78f204d1e8005b6808854be0b5b19d17d9971ec49369a9\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3b82ffb3926983b4c60ddf8cd80b14d4ae548ea9b6f9ebf87f3fe70ffa5a89b9\",\"dweb:/ipfs/QmfJE4i4ZTDWhPwwKQSfjfWYQ62BsDs3FrxavjmLFe3HzB\"]},\"contracts/release/extensions/fee-manager/IFee.sol\":{\"keccak256\":\"0x38e3f324c67f3205e38197165586ea82ca226069902f34214bcde76cf905fcff\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c1fff656d1bdde3324421bc9e77cbfc4e80baf4e665f8713fdb65611b046f4b0\",\"dweb:/ipfs/QmVRFjNwmsVHdh4sp3DWdL74VWmhRhPZE5kDxJiuPL8Gu2\"]},\"contracts/release/extensions/fee-manager/IFeeManager.sol\":{\"keccak256\":\"0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22\",\"dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod\"]},\"contracts/release/extensions/fee-manager/fees/PerformanceFee.sol\":{\"keccak256\":\"0xbb0586ab68e8c23dfd4647cd81153b5dfe05d7f5fac1cf4e17f87c5b5d3f4e70\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5144bd633cbf8bcfe0f0d5606e08aa5df64ce4429a2669ff7c8a49d15e8bbb63\",\"dweb:/ipfs/QmZmMuagUX61SVeTZ8e6yT6fd4VdYbxvocUy3N3jpBATeH\"]},\"contracts/release/extensions/fee-manager/fees/utils/FeeBase.sol\":{\"keccak256\":\"0x485c03e3088b6dc9828d2e895cce6856501448b4a2c71a0acae4e012bc644b14\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b63aef3cd20eb4dd585632c74619235ef1d5c3c2c52fd61f8802d0a50569b767\",\"dweb:/ipfs/QmSuTYChj2j8NnLYCg47feAJ5P9NheQpK46fG6fhmMtimA\"]},\"contracts/release/extensions/fee-manager/fees/utils/SettableFeeRecipientBase.sol\":{\"keccak256\":\"0xb3b4b3cd13141871c912310ce1dace2e94f89eee7a52b95d4df9e4642a958f4d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b120324be26eddebb2fd5d15ecdbef4bfc5a5bbd05bd60796677157480842aa1\",\"dweb:/ipfs/Qmab9XnYHvG3zWtQaTee24qU7VK94MMLySPkrZqDBbB5NN\"]},\"contracts/release/extensions/fee-manager/fees/utils/UpdatableFeeRecipientBase.sol\":{\"keccak256\":\"0xac875e8923b29be8e697be04177b56d3f75d0ef4a56bc0cec2d2583efd802064\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://99d359ece6663298f925765b7558beb694bf3dbe3831fc60e016fd37b10d358c\",\"dweb:/ipfs/QmduCuit88g1HEb9HxF1aH82Ezx388M5CBLfUfLraKgcfA\"]},\"contracts/release/extensions/policy-manager/IPolicyManager.sol\":{\"keccak256\":\"0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa\",\"dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb\"]},\"contracts/release/extensions/utils/ExtensionBase.sol\":{\"keccak256\":\"0xae68767766f6459bd2cd9dbd39df74f2c2f68f2150885bbce410e4091c807bb1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ce4c49522a39f618cc76feb474260fe910949f38e83b5f4518f1f245ba6eb876\",\"dweb:/ipfs/QmZ4wciRpziZAS4HRQy44Sgzm4GM4Wzme9zYnABzR6Cbzo\"]},\"contracts/release/extensions/utils/PermissionedVaultActionMixin.sol\":{\"keccak256\":\"0x77ddb9299d9c5f1538c20ae1543c20ef73db11ad7d9a9b817d26969ab233bb57\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://77812616256a092e0fd77469dcd2a2e098a1cf52686eeb6703a169efa64c27df\",\"dweb:/ipfs/QmbRPZznXSX3aA2VVJNpRqFXdJZebVDcDuY8EnF75Z7GpB\"]},\"contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol\":{\"keccak256\":\"0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f\",\"dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol\":{\"keccak256\":\"0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0\",\"dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol\":{\"keccak256\":\"0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b\",\"dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3\"]},\"contracts/release/infrastructure/protocol-fees/IProtocolFeeTracker.sol\":{\"keccak256\":\"0x232b347f83457439064add7369bfe1930c7cb56f15930bb87d640e909c15e447\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://24f9af5eebdd373b1d7a598c096eb6def31b2640d54416d7d5a7226e1cef17e6\",\"dweb:/ipfs/QmStq9ByGuSYdKwTmZf52L1X6sZVJUfXTnoVbnjLLiUcHG\"]},\"contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol\":{\"keccak256\":\"0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965\",\"dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ\"]},\"contracts/release/interfaces/IGsnForwarder.sol\":{\"keccak256\":\"0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29\",\"dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G\"]},\"contracts/release/interfaces/IGsnPaymaster.sol\":{\"keccak256\":\"0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4\",\"dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF\"]},\"contracts/release/interfaces/IGsnTypes.sol\":{\"keccak256\":\"0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7\",\"dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C\"]},\"contracts/release/interfaces/IWETH.sol\":{\"keccak256\":\"0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2\",\"dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/FundDeployerOwnerMixin.sol\":{\"keccak256\":\"0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927\",\"dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM\"]},\"contracts/release/utils/beacon-proxy/IBeacon.sol\":{\"keccak256\":\"0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39\",\"dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V\"]},\"contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol\":{\"keccak256\":\"0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be\",\"dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20Burnable.sol\":{\"keccak256\":\"0x9c0eb3b0e11d2480d49991dc384f1e5f9c9b9967cc81944d50916a9b9c6c4984\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99e4033d778624992e86f0b6d801a4f6d7b5c0cd5c79c1296be90a051ad5f5af\",\"dweb:/ipfs/QmShYmkUqh6pDEeoWadZ24icmCr4C2Xys1uE5boivPmbwf\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_feeManager", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "comptrollerProxy", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "highWaterMark", "type": "uint256", "indexed": false } ], "type": "event", "name": "ActivatedForFund", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "comptrollerProxy", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "rate", "type": "uint256", "indexed": false } ], "type": "event", "name": "FundSettingsAdded", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "comptrollerProxy", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "nextHighWaterMark", "type": "uint256", "indexed": false } ], "type": "event", "name": "HighWaterMarkUpdated", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "comptrollerProxy", "type": "address", "indexed": true }, { "internalType": "address", "name": "recipient", "type": "address", "indexed": true } ], "type": "event", "name": "RecipientSetForFund", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "comptrollerProxy", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "sharePrice", "type": "uint256", "indexed": false }, { "internalType": "uint256", "name": "sharesDue", "type": "uint256", "indexed": false } ], "type": "event", "name": "Settled", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" }, { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "activateForFund" }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" }, { "internalType": "bytes", "name": "_settingsData", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "addFundSettings" }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getFeeInfoForFund", "outputs": [ { "internalType": "struct PerformanceFee.FeeInfo", "name": "feeInfo_", "type": "tuple", "components": [ { "internalType": "uint256", "name": "rate", "type": "uint256" }, { "internalType": "uint256", "name": "highWaterMark", "type": "uint256" } ] } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getFeeManager", "outputs": [ { "internalType": "address", "name": "feeManager_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getRecipientForFund", "outputs": [ { "internalType": "address", "name": "recipient_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "payout", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" }, { "internalType": "address", "name": "_recipient", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "setRecipientForFund" }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" }, { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "enum IFeeManager.FeeHook", "name": "", "type": "uint8" }, { "internalType": "bytes", "name": "", "type": "bytes" }, { "internalType": "uint256", "name": "_gav", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "settle", "outputs": [ { "internalType": "enum IFeeManager.SettlementType", "name": "settlementType_", "type": "uint8" }, { "internalType": "address", "name": "", "type": "address" }, { "internalType": "uint256", "name": "sharesDue_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "enum IFeeManager.FeeHook", "name": "_hook", "type": "uint8" } ], "stateMutability": "view", "type": "function", "name": "settlesOnHook", "outputs": [ { "internalType": "bool", "name": "settles_", "type": "bool" }, { "internalType": "bool", "name": "usesGav_", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" }, { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "enum IFeeManager.FeeHook", "name": "", "type": "uint8" }, { "internalType": "bytes", "name": "", "type": "bytes" }, { "internalType": "uint256", "name": "_gav", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "update" }, { "inputs": [ { "internalType": "enum IFeeManager.FeeHook", "name": "_hook", "type": "uint8" } ], "stateMutability": "view", "type": "function", "name": "updatesOnHook", "outputs": [ { "internalType": "bool", "name": "updates_", "type": "bool" }, { "internalType": "bool", "name": "usesGav_", "type": "bool" } ] } ], "devdoc": { "kind": "dev", "methods": { "activateForFund(address,address)": { "params": { "_comptrollerProxy": "The ComptrollerProxy of the fund" } }, "addFundSettings(address,bytes)": { "details": "`highWaterMark`, `lastSharePrice`, and `activated` are set during activation", "params": { "_comptrollerProxy": "The ComptrollerProxy of the fund", "_settingsData": "Encoded settings to apply to the fee for a fund" } }, "getFeeInfoForFund(address)": { "params": { "_comptrollerProxy": "The ComptrollerProxy contract of the fund" }, "returns": { "feeInfo_": "The feeInfo" } }, "getFeeManager()": { "returns": { "feeManager_": "The `FEE_MANAGER` variable value" } }, "getRecipientForFund(address)": { "params": { "_comptrollerProxy": "The ComptrollerProxy contract for the fund" }, "returns": { "recipient_": "The recipient" } }, "payout(address,address)": { "details": "Returns false by default, can be overridden by fee" }, "setRecipientForFund(address,address)": { "params": { "_comptrollerProxy": "The ComptrollerProxy contract for the fund", "_recipient": "The fee recipient" } }, "settle(address,address,uint8,bytes,uint256)": { "params": { "_comptrollerProxy": "The ComptrollerProxy of the fund", "_gav": "The GAV of the fund", "_vaultProxy": "The VaultProxy of the fund" }, "returns": { "_1": "(unused) The payer of shares due", "settlementType_": "The type of settlement", "sharesDue_": "The amount of shares due" } }, "settlesOnHook(uint8)": { "params": { "_hook": "The FeeHook" }, "returns": { "settles_": "True if the fee settles on the _hook", "usesGav_": "True if the fee uses GAV during settle() for the _hook" } }, "update(address,address,uint8,bytes,uint256)": { "params": { "_comptrollerProxy": "The ComptrollerProxy of the fund", "_gav": "The GAV of the fund", "_vaultProxy": "The VaultProxy of the fund" } }, "updatesOnHook(uint8)": { "params": { "_hook": "The FeeHook" }, "returns": { "updates_": "True if the fee updates on the _hook", "usesGav_": "True if the fee uses GAV during update() for the _hook" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "activateForFund(address,address)": { "notice": "Activates the fee for a fund" }, "addFundSettings(address,bytes)": { "notice": "Add the initial fee settings for a fund" }, "getFeeInfoForFund(address)": { "notice": "Gets the feeInfo for a given fund" }, "getFeeManager()": { "notice": "Gets the `FEE_MANAGER` variable" }, "getRecipientForFund(address)": { "notice": "Gets the recipient of the fee for a given fund" }, "payout(address,address)": { "notice": "Runs payout logic for a fee that utilizes shares outstanding as its settlement type" }, "setRecipientForFund(address,address)": { "notice": "Sets the fee recipient for the given fund" }, "settle(address,address,uint8,bytes,uint256)": { "notice": "Settles the fee and calculates shares due" }, "settlesOnHook(uint8)": { "notice": "Gets whether the fee settles and requires GAV on a particular hook" }, "update(address,address,uint8,bytes,uint256)": { "notice": "Updates the fee state after all fees have finished settle()" }, "updatesOnHook(uint8)": { "notice": "Gets whether the fee updates and requires GAV on a particular hook" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/fee-manager/fees/PerformanceFee.sol": "PerformanceFee" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/dispatcher/IDispatcher.sol": { "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", "urls": [ "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" ], "license": "GPL-3.0" }, "contracts/persistent/external-positions/IExternalPosition.sol": { "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", "urls": [ "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" ], "license": "GPL-3.0" }, "contracts/persistent/protocol-fee-reserve/interfaces/IProtocolFeeReserve1.sol": { "keccak256": "0x2728878c423db523bc95189137e8c58d2d7db9f56bbd5c6b1f988c08b551fbab", "urls": [ "bzz-raw://3b0df1d2eb74151265d03ab91a7c341f7beca475dd2f4d669052dbc4ee2c06ac", "dweb:/ipfs/QmVx1cgrxQNYfdK1Kn15pcgqf79Uw8bF3U6i7F2HG2rj6G" ], "license": "GPL-3.0" }, "contracts/persistent/vault/VaultLibBase1.sol": { "keccak256": "0xa4dac1e4cdb311a2ab187135355357d8790c505ef36dd912c057fe53743d30b5", "urls": [ "bzz-raw://b66efe821016ab927c949263023260515e90f5d480dc8d94eefbfeec7bf7490b", "dweb:/ipfs/QmNY3xKnhL9EptAbxGvXHGAXfV9pj3dDPwsZnKrPs54ZHw" ], "license": "GPL-3.0" }, "contracts/persistent/vault/VaultLibBase2.sol": { "keccak256": "0xf7d31f2a9a47770ed3f444be2c4fe9262ddb55fef7f25e546b1f03c9afec4c09", "urls": [ "bzz-raw://9353ddce7c9b8b3c13fed23fe8edec99ca610d791b0c5b204b3d01f1f08d07d2", "dweb:/ipfs/QmeVsEh3joCjv49BRXeHASevnZZ5xdZXpkctHT8BPf37N2" ], "license": "GPL-3.0" }, "contracts/persistent/vault/VaultLibBaseCore.sol": { "keccak256": "0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074", "urls": [ "bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd", "dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IExternalPositionVault.sol": { "keccak256": "0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6", "urls": [ "bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d", "dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol": { "keccak256": "0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0", "urls": [ "bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb", "dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IMigratableVault.sol": { "keccak256": "0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238", "urls": [ "bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6", "dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IVaultCore.sol": { "keccak256": "0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80", "urls": [ "bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd", "dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr" ], "license": "GPL-3.0" }, "contracts/persistent/vault/utils/ProxiableVaultLib.sol": { "keccak256": "0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76", "urls": [ "bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44", "dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4" ], "license": "GPL-3.0" }, "contracts/persistent/vault/utils/SharesTokenBase.sol": { "keccak256": "0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113", "urls": [ "bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8", "dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4" ], "license": "GPL-3.0" }, "contracts/persistent/vault/utils/VaultLibSafeMath.sol": { "keccak256": "0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d", "urls": [ "bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02", "dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG" ], "license": "GPL-3.0" }, "contracts/release/core/fund-deployer/IFundDeployer.sol": { "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", "urls": [ "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" ], "license": "GPL-3.0" }, "contracts/release/core/fund/comptroller/ComptrollerLib.sol": { "keccak256": "0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64", "urls": [ "bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579", "dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq" ], "license": "GPL-3.0" }, "contracts/release/core/fund/comptroller/IComptroller.sol": { "keccak256": "0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f", "urls": [ "bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97", "dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L" ], "license": "GPL-3.0" }, "contracts/release/core/fund/vault/IVault.sol": { "keccak256": "0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd", "urls": [ "bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599", "dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG" ], "license": "GPL-3.0" }, "contracts/release/core/fund/vault/VaultLib.sol": { "keccak256": "0x07e49445ab55c01e1b499a48baadc2a15d1eba621f1c6d3ccfdb84c87b976da8", "urls": [ "bzz-raw://56d882459248f73e137db2e097fc56b946147fb28ec21661b77431f88e856cb4", "dweb:/ipfs/QmRP6Ry7DCS5uoKxnnkTomHSzbaCze6cHqbR9aLdjoF6vK" ], "license": "GPL-3.0" }, "contracts/release/extensions/IExtension.sol": { "keccak256": "0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b", "urls": [ "bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70", "dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/IExternalPositionManager.sol": { "keccak256": "0x3af3f634e1f99fb97091b7825c0d2e2baaafc124d4e87d56cb0c17ff8554f6c6", "urls": [ "bzz-raw://515470605afe5ef147f30fa75ce7818f0e00e3d321eb81a4d9bffcdefc294495", "dweb:/ipfs/QmPKsp99pfHoz9Tfo3ZxnkmqDqJtN9PxqacF2RmeVfxUJF" ], "license": "GPL-3.0" }, "contracts/release/extensions/fee-manager/FeeManager.sol": { "keccak256": "0xf3a3e504ca755cafda78f204d1e8005b6808854be0b5b19d17d9971ec49369a9", "urls": [ "bzz-raw://3b82ffb3926983b4c60ddf8cd80b14d4ae548ea9b6f9ebf87f3fe70ffa5a89b9", "dweb:/ipfs/QmfJE4i4ZTDWhPwwKQSfjfWYQ62BsDs3FrxavjmLFe3HzB" ], "license": "GPL-3.0" }, "contracts/release/extensions/fee-manager/IFee.sol": { "keccak256": "0x38e3f324c67f3205e38197165586ea82ca226069902f34214bcde76cf905fcff", "urls": [ "bzz-raw://c1fff656d1bdde3324421bc9e77cbfc4e80baf4e665f8713fdb65611b046f4b0", "dweb:/ipfs/QmVRFjNwmsVHdh4sp3DWdL74VWmhRhPZE5kDxJiuPL8Gu2" ], "license": "GPL-3.0" }, "contracts/release/extensions/fee-manager/IFeeManager.sol": { "keccak256": "0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51", "urls": [ "bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22", "dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod" ], "license": "GPL-3.0" }, "contracts/release/extensions/fee-manager/fees/PerformanceFee.sol": { "keccak256": "0xbb0586ab68e8c23dfd4647cd81153b5dfe05d7f5fac1cf4e17f87c5b5d3f4e70", "urls": [ "bzz-raw://5144bd633cbf8bcfe0f0d5606e08aa5df64ce4429a2669ff7c8a49d15e8bbb63", "dweb:/ipfs/QmZmMuagUX61SVeTZ8e6yT6fd4VdYbxvocUy3N3jpBATeH" ], "license": "GPL-3.0" }, "contracts/release/extensions/fee-manager/fees/utils/FeeBase.sol": { "keccak256": "0x485c03e3088b6dc9828d2e895cce6856501448b4a2c71a0acae4e012bc644b14", "urls": [ "bzz-raw://b63aef3cd20eb4dd585632c74619235ef1d5c3c2c52fd61f8802d0a50569b767", "dweb:/ipfs/QmSuTYChj2j8NnLYCg47feAJ5P9NheQpK46fG6fhmMtimA" ], "license": "GPL-3.0" }, "contracts/release/extensions/fee-manager/fees/utils/SettableFeeRecipientBase.sol": { "keccak256": "0xb3b4b3cd13141871c912310ce1dace2e94f89eee7a52b95d4df9e4642a958f4d", "urls": [ "bzz-raw://b120324be26eddebb2fd5d15ecdbef4bfc5a5bbd05bd60796677157480842aa1", "dweb:/ipfs/Qmab9XnYHvG3zWtQaTee24qU7VK94MMLySPkrZqDBbB5NN" ], "license": "GPL-3.0" }, "contracts/release/extensions/fee-manager/fees/utils/UpdatableFeeRecipientBase.sol": { "keccak256": "0xac875e8923b29be8e697be04177b56d3f75d0ef4a56bc0cec2d2583efd802064", "urls": [ "bzz-raw://99d359ece6663298f925765b7558beb694bf3dbe3831fc60e016fd37b10d358c", "dweb:/ipfs/QmduCuit88g1HEb9HxF1aH82Ezx388M5CBLfUfLraKgcfA" ], "license": "GPL-3.0" }, "contracts/release/extensions/policy-manager/IPolicyManager.sol": { "keccak256": "0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32", "urls": [ "bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa", "dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb" ], "license": "GPL-3.0" }, "contracts/release/extensions/utils/ExtensionBase.sol": { "keccak256": "0xae68767766f6459bd2cd9dbd39df74f2c2f68f2150885bbce410e4091c807bb1", "urls": [ "bzz-raw://ce4c49522a39f618cc76feb474260fe910949f38e83b5f4518f1f245ba6eb876", "dweb:/ipfs/QmZ4wciRpziZAS4HRQy44Sgzm4GM4Wzme9zYnABzR6Cbzo" ], "license": "GPL-3.0" }, "contracts/release/extensions/utils/PermissionedVaultActionMixin.sol": { "keccak256": "0x77ddb9299d9c5f1538c20ae1543c20ef73db11ad7d9a9b817d26969ab233bb57", "urls": [ "bzz-raw://77812616256a092e0fd77469dcd2a2e098a1cf52686eeb6703a169efa64c27df", "dweb:/ipfs/QmbRPZznXSX3aA2VVJNpRqFXdJZebVDcDuY8EnF75Z7GpB" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol": { "keccak256": "0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609", "urls": [ "bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f", "dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol": { "keccak256": "0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01", "urls": [ "bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0", "dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol": { "keccak256": "0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196", "urls": [ "bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b", "dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/protocol-fees/IProtocolFeeTracker.sol": { "keccak256": "0x232b347f83457439064add7369bfe1930c7cb56f15930bb87d640e909c15e447", "urls": [ "bzz-raw://24f9af5eebdd373b1d7a598c096eb6def31b2640d54416d7d5a7226e1cef17e6", "dweb:/ipfs/QmStq9ByGuSYdKwTmZf52L1X6sZVJUfXTnoVbnjLLiUcHG" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol": { "keccak256": "0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794", "urls": [ "bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965", "dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IGsnForwarder.sol": { "keccak256": "0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030", "urls": [ "bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29", "dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IGsnPaymaster.sol": { "keccak256": "0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c", "urls": [ "bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4", "dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IGsnTypes.sol": { "keccak256": "0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714", "urls": [ "bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7", "dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IWETH.sol": { "keccak256": "0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2", "urls": [ "bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2", "dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ" ], "license": "GPL-3.0" }, "contracts/release/utils/AddressArrayLib.sol": { "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", "urls": [ "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" ], "license": "GPL-3.0" }, "contracts/release/utils/FundDeployerOwnerMixin.sol": { "keccak256": "0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934", "urls": [ "bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927", "dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM" ], "license": "GPL-3.0" }, "contracts/release/utils/beacon-proxy/IBeacon.sol": { "keccak256": "0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2", "urls": [ "bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39", "dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V" ], "license": "GPL-3.0" }, "contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol": { "keccak256": "0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc", "urls": [ "bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be", "dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20Burnable.sol": { "keccak256": "0x9c0eb3b0e11d2480d49991dc384f1e5f9c9b9967cc81944d50916a9b9c6c4984", "urls": [ "bzz-raw://99e4033d778624992e86f0b6d801a4f6d7b5c0cd5c79c1296be90a051ad5f5af", "dweb:/ipfs/QmShYmkUqh6pDEeoWadZ24icmCr4C2Xys1uE5boivPmbwf" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", "urls": [ "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Address.sol": { "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", "urls": [ "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" } }, "version": 1 }, "id": 151 } diff --git a/eth_defi/abi/enzyme/PermissionedVaultActionMixin.json b/eth_defi/abi/enzyme/PermissionedVaultActionMixin.json index e2f1657c..29231434 100644 --- a/eth_defi/abi/enzyme/PermissionedVaultActionMixin.json +++ b/eth_defi/abi/enzyme/PermissionedVaultActionMixin.json @@ -1,126 +1 @@ -{ - "abi": [], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": {}, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"PermissionedVaultActionMixin Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"A mixin contract for extensions that can make permissioned vault calls\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/utils/PermissionedVaultActionMixin.sol\":\"PermissionedVaultActionMixin\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/vault/interfaces/IExternalPositionVault.sol\":{\"keccak256\":\"0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d\",\"dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8\"]},\"contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol\":{\"keccak256\":\"0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb\",\"dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU\"]},\"contracts/persistent/vault/interfaces/IMigratableVault.sol\":{\"keccak256\":\"0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6\",\"dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs\"]},\"contracts/persistent/vault/interfaces/IVaultCore.sol\":{\"keccak256\":\"0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd\",\"dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr\"]},\"contracts/release/core/fund/comptroller/IComptroller.sol\":{\"keccak256\":\"0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97\",\"dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L\"]},\"contracts/release/core/fund/vault/IVault.sol\":{\"keccak256\":\"0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599\",\"dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG\"]},\"contracts/release/extensions/utils/PermissionedVaultActionMixin.sol\":{\"keccak256\":\"0x77ddb9299d9c5f1538c20ae1543c20ef73db11ad7d9a9b817d26969ab233bb57\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://77812616256a092e0fd77469dcd2a2e098a1cf52686eeb6703a169efa64c27df\",\"dweb:/ipfs/QmbRPZznXSX3aA2VVJNpRqFXdJZebVDcDuY8EnF75Z7GpB\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/utils/PermissionedVaultActionMixin.sol": "PermissionedVaultActionMixin" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/vault/interfaces/IExternalPositionVault.sol": { - "keccak256": "0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6", - "urls": [ - "bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d", - "dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol": { - "keccak256": "0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0", - "urls": [ - "bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb", - "dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IMigratableVault.sol": { - "keccak256": "0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238", - "urls": [ - "bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6", - "dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IVaultCore.sol": { - "keccak256": "0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80", - "urls": [ - "bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd", - "dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/comptroller/IComptroller.sol": { - "keccak256": "0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f", - "urls": [ - "bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97", - "dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/vault/IVault.sol": { - "keccak256": "0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd", - "urls": [ - "bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599", - "dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/utils/PermissionedVaultActionMixin.sol": { - "keccak256": "0x77ddb9299d9c5f1538c20ae1543c20ef73db11ad7d9a9b817d26969ab233bb57", - "urls": [ - "bzz-raw://77812616256a092e0fd77469dcd2a2e098a1cf52686eeb6703a169efa64c27df", - "dweb:/ipfs/QmbRPZznXSX3aA2VVJNpRqFXdJZebVDcDuY8EnF75Z7GpB" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 227 -} +{ "abi": [], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": {}, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"PermissionedVaultActionMixin Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"A mixin contract for extensions that can make permissioned vault calls\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/utils/PermissionedVaultActionMixin.sol\":\"PermissionedVaultActionMixin\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/vault/interfaces/IExternalPositionVault.sol\":{\"keccak256\":\"0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d\",\"dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8\"]},\"contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol\":{\"keccak256\":\"0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb\",\"dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU\"]},\"contracts/persistent/vault/interfaces/IMigratableVault.sol\":{\"keccak256\":\"0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6\",\"dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs\"]},\"contracts/persistent/vault/interfaces/IVaultCore.sol\":{\"keccak256\":\"0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd\",\"dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr\"]},\"contracts/release/core/fund/comptroller/IComptroller.sol\":{\"keccak256\":\"0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97\",\"dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L\"]},\"contracts/release/core/fund/vault/IVault.sol\":{\"keccak256\":\"0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599\",\"dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG\"]},\"contracts/release/extensions/utils/PermissionedVaultActionMixin.sol\":{\"keccak256\":\"0x77ddb9299d9c5f1538c20ae1543c20ef73db11ad7d9a9b817d26969ab233bb57\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://77812616256a092e0fd77469dcd2a2e098a1cf52686eeb6703a169efa64c27df\",\"dweb:/ipfs/QmbRPZznXSX3aA2VVJNpRqFXdJZebVDcDuY8EnF75Z7GpB\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/utils/PermissionedVaultActionMixin.sol": "PermissionedVaultActionMixin" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/vault/interfaces/IExternalPositionVault.sol": { "keccak256": "0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6", "urls": [ "bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d", "dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol": { "keccak256": "0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0", "urls": [ "bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb", "dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IMigratableVault.sol": { "keccak256": "0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238", "urls": [ "bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6", "dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IVaultCore.sol": { "keccak256": "0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80", "urls": [ "bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd", "dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr" ], "license": "GPL-3.0" }, "contracts/release/core/fund/comptroller/IComptroller.sol": { "keccak256": "0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f", "urls": [ "bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97", "dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L" ], "license": "GPL-3.0" }, "contracts/release/core/fund/vault/IVault.sol": { "keccak256": "0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd", "urls": [ "bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599", "dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG" ], "license": "GPL-3.0" }, "contracts/release/extensions/utils/PermissionedVaultActionMixin.sol": { "keccak256": "0x77ddb9299d9c5f1538c20ae1543c20ef73db11ad7d9a9b817d26969ab233bb57", "urls": [ "bzz-raw://77812616256a092e0fd77469dcd2a2e098a1cf52686eeb6703a169efa64c27df", "dweb:/ipfs/QmbRPZznXSX3aA2VVJNpRqFXdJZebVDcDuY8EnF75Z7GpB" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 227 } diff --git a/eth_defi/abi/enzyme/PolicyBase.json b/eth_defi/abi/enzyme/PolicyBase.json index d4db38fd..78478f1e 100644 --- a/eth_defi/abi/enzyme/PolicyBase.json +++ b/eth_defi/abi/enzyme/PolicyBase.json @@ -1,415 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_policyManager", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "activateForFund", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_encodedSettings", - "type": "bytes" - } - ], - "name": "addFundSettings", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "canDisable", - "outputs": [ - { - "internalType": "bool", - "name": "canDisable_", - "type": "bool" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "getPolicyManager", - "outputs": [ - { - "internalType": "address", - "name": "policyManager_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "identifier", - "outputs": [ - { - "internalType": "string", - "name": "identifier_", - "type": "string" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "implementedHooks", - "outputs": [ - { - "internalType": "enum IPolicyManager.PolicyHook[]", - "name": "implementedHooks_", - "type": "uint8[]" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "updateFundSettings", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "enum IPolicyManager.PolicyHook", - "name": "_hook", - "type": "uint8" - }, - { - "internalType": "bytes", - "name": "_encodedArgs", - "type": "bytes" - } - ], - "name": "validateRule", - "outputs": [ - { - "internalType": "bool", - "name": "isValid_", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "activateForFund(address)": "ceb9a0ad", - "addFundSettings(address,bytes)": "0f5f6b4f", - "canDisable()": "1ef92578", - "getPolicyManager()": "d44ad6cb", - "identifier()": "7998a1c4", - "implementedHooks()": "cbf54bb2", - "updateFundSettings(address,bytes)": "0d4d7510", - "validateRule(address,uint8,bytes)": "579be718" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_policyManager\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"activateForFund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_encodedSettings\",\"type\":\"bytes\"}],\"name\":\"addFundSettings\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"canDisable\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"canDisable_\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPolicyManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"policyManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"identifier\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"identifier_\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"implementedHooks\",\"outputs\":[{\"internalType\":\"enum IPolicyManager.PolicyHook[]\",\"name\":\"implementedHooks_\",\"type\":\"uint8[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"updateFundSettings\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"enum IPolicyManager.PolicyHook\",\"name\":\"_hook\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"_encodedArgs\",\"type\":\"bytes\"}],\"name\":\"validateRule\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isValid_\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"activateForFund(address)\":{\"details\":\"Unimplemented by default, can be overridden by the policy\"},\"canDisable()\":{\"details\":\"False by default, can be overridden by the policy\",\"returns\":{\"canDisable_\":\"True if the policy can be disabled\"}},\"getPolicyManager()\":{\"returns\":{\"policyManager_\":\"The `POLICY_MANAGER` variable value\"}},\"updateFundSettings(address,bytes)\":{\"details\":\"Disallowed by default, can be overridden by the policy\"}},\"title\":\"PolicyBase Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"activateForFund(address)\":{\"notice\":\"Validates and initializes a policy as necessary prior to fund activation\"},\"canDisable()\":{\"notice\":\"Whether or not the policy can be disabled\"},\"getPolicyManager()\":{\"notice\":\"Gets the `POLICY_MANAGER` variable value\"},\"updateFundSettings(address,bytes)\":{\"notice\":\"Updates the policy settings for a fund\"}},\"notice\":\"Abstract base contract for all policies\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/policy-manager/policies/utils/PolicyBase.sol\":\"PolicyBase\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/policy-manager/IPolicy.sol\":{\"keccak256\":\"0xc12663ca72065b256c3b934ab738fde26c147c7b0399de43650df89dd52ee467\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://be8fecfcba0f3fda615f0a1bb3c766750c23761ef751d7c4472dfe540e460cd1\",\"dweb:/ipfs/QmaarPoRTsX6NiJ8V4u2f3Qh6d7tUs28bw9R14An3t5Bs1\"]},\"contracts/release/extensions/policy-manager/IPolicyManager.sol\":{\"keccak256\":\"0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa\",\"dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb\"]},\"contracts/release/extensions/policy-manager/policies/utils/PolicyBase.sol\":{\"keccak256\":\"0x972311abb98f0da815b4aca83d5afdd219d3604ec19cf5e3773c0c305bd9b3f1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2452f3d1f3b1d8e8459a07489146a2d0d8a10463715937995cbe77ee5de8c069\",\"dweb:/ipfs/Qmf2hhd2DVbjpxmbNGAhRZNZkqpGZA2mX3eA1WNwtv6t5Y\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_policyManager", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "activateForFund" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_encodedSettings", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "addFundSettings" - }, - { - "inputs": [], - "stateMutability": "pure", - "type": "function", - "name": "canDisable", - "outputs": [ - { - "internalType": "bool", - "name": "canDisable_", - "type": "bool" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getPolicyManager", - "outputs": [ - { - "internalType": "address", - "name": "policyManager_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "pure", - "type": "function", - "name": "identifier", - "outputs": [ - { - "internalType": "string", - "name": "identifier_", - "type": "string" - } - ] - }, - { - "inputs": [], - "stateMutability": "pure", - "type": "function", - "name": "implementedHooks", - "outputs": [ - { - "internalType": "enum IPolicyManager.PolicyHook[]", - "name": "implementedHooks_", - "type": "uint8[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "updateFundSettings" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "enum IPolicyManager.PolicyHook", - "name": "_hook", - "type": "uint8" - }, - { - "internalType": "bytes", - "name": "_encodedArgs", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "validateRule", - "outputs": [ - { - "internalType": "bool", - "name": "isValid_", - "type": "bool" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "activateForFund(address)": { - "details": "Unimplemented by default, can be overridden by the policy" - }, - "canDisable()": { - "details": "False by default, can be overridden by the policy", - "returns": { - "canDisable_": "True if the policy can be disabled" - } - }, - "getPolicyManager()": { - "returns": { - "policyManager_": "The `POLICY_MANAGER` variable value" - } - }, - "updateFundSettings(address,bytes)": { - "details": "Disallowed by default, can be overridden by the policy" - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "activateForFund(address)": { - "notice": "Validates and initializes a policy as necessary prior to fund activation" - }, - "canDisable()": { - "notice": "Whether or not the policy can be disabled" - }, - "getPolicyManager()": { - "notice": "Gets the `POLICY_MANAGER` variable value" - }, - "updateFundSettings(address,bytes)": { - "notice": "Updates the policy settings for a fund" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/policy-manager/policies/utils/PolicyBase.sol": "PolicyBase" - }, - "libraries": {} - }, - "sources": { - "contracts/release/extensions/policy-manager/IPolicy.sol": { - "keccak256": "0xc12663ca72065b256c3b934ab738fde26c147c7b0399de43650df89dd52ee467", - "urls": [ - "bzz-raw://be8fecfcba0f3fda615f0a1bb3c766750c23761ef751d7c4472dfe540e460cd1", - "dweb:/ipfs/QmaarPoRTsX6NiJ8V4u2f3Qh6d7tUs28bw9R14An3t5Bs1" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/policy-manager/IPolicyManager.sol": { - "keccak256": "0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32", - "urls": [ - "bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa", - "dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/policy-manager/policies/utils/PolicyBase.sol": { - "keccak256": "0x972311abb98f0da815b4aca83d5afdd219d3604ec19cf5e3773c0c305bd9b3f1", - "urls": [ - "bzz-raw://2452f3d1f3b1d8e8459a07489146a2d0d8a10463715937995cbe77ee5de8c069", - "dweb:/ipfs/Qmf2hhd2DVbjpxmbNGAhRZNZkqpGZA2mX3eA1WNwtv6t5Y" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 223 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_policyManager", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "activateForFund", "inputs": [ { "name": "", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "addFundSettings", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" }, { "name": "_encodedSettings", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "canDisable", "inputs": [], "outputs": [ { "name": "canDisable_", "type": "bool", "internalType": "bool" } ], "stateMutability": "pure" }, { "type": "function", "name": "getPolicyManager", "inputs": [], "outputs": [ { "name": "policyManager_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "identifier", "inputs": [], "outputs": [ { "name": "identifier_", "type": "string", "internalType": "string" } ], "stateMutability": "pure" }, { "type": "function", "name": "implementedHooks", "inputs": [], "outputs": [ { "name": "implementedHooks_", "type": "uint8[]", "internalType": "enum IPolicyManager.PolicyHook[]" } ], "stateMutability": "pure" }, { "type": "function", "name": "updateFundSettings", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "validateRule", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" }, { "name": "_hook", "type": "uint8", "internalType": "enum IPolicyManager.PolicyHook" }, { "name": "_encodedArgs", "type": "bytes", "internalType": "bytes" } ], "outputs": [ { "name": "isValid_", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "activateForFund(address)": "ceb9a0ad", "addFundSettings(address,bytes)": "0f5f6b4f", "canDisable()": "1ef92578", "getPolicyManager()": "d44ad6cb", "identifier()": "7998a1c4", "implementedHooks()": "cbf54bb2", "updateFundSettings(address,bytes)": "0d4d7510", "validateRule(address,uint8,bytes)": "579be718" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_policyManager\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"activateForFund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_encodedSettings\",\"type\":\"bytes\"}],\"name\":\"addFundSettings\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"canDisable\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"canDisable_\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPolicyManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"policyManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"identifier\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"identifier_\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"implementedHooks\",\"outputs\":[{\"internalType\":\"enum IPolicyManager.PolicyHook[]\",\"name\":\"implementedHooks_\",\"type\":\"uint8[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"updateFundSettings\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"enum IPolicyManager.PolicyHook\",\"name\":\"_hook\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"_encodedArgs\",\"type\":\"bytes\"}],\"name\":\"validateRule\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isValid_\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"activateForFund(address)\":{\"details\":\"Unimplemented by default, can be overridden by the policy\"},\"canDisable()\":{\"details\":\"False by default, can be overridden by the policy\",\"returns\":{\"canDisable_\":\"True if the policy can be disabled\"}},\"getPolicyManager()\":{\"returns\":{\"policyManager_\":\"The `POLICY_MANAGER` variable value\"}},\"updateFundSettings(address,bytes)\":{\"details\":\"Disallowed by default, can be overridden by the policy\"}},\"title\":\"PolicyBase Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"activateForFund(address)\":{\"notice\":\"Validates and initializes a policy as necessary prior to fund activation\"},\"canDisable()\":{\"notice\":\"Whether or not the policy can be disabled\"},\"getPolicyManager()\":{\"notice\":\"Gets the `POLICY_MANAGER` variable value\"},\"updateFundSettings(address,bytes)\":{\"notice\":\"Updates the policy settings for a fund\"}},\"notice\":\"Abstract base contract for all policies\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/policy-manager/policies/utils/PolicyBase.sol\":\"PolicyBase\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/policy-manager/IPolicy.sol\":{\"keccak256\":\"0xc12663ca72065b256c3b934ab738fde26c147c7b0399de43650df89dd52ee467\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://be8fecfcba0f3fda615f0a1bb3c766750c23761ef751d7c4472dfe540e460cd1\",\"dweb:/ipfs/QmaarPoRTsX6NiJ8V4u2f3Qh6d7tUs28bw9R14An3t5Bs1\"]},\"contracts/release/extensions/policy-manager/IPolicyManager.sol\":{\"keccak256\":\"0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa\",\"dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb\"]},\"contracts/release/extensions/policy-manager/policies/utils/PolicyBase.sol\":{\"keccak256\":\"0x972311abb98f0da815b4aca83d5afdd219d3604ec19cf5e3773c0c305bd9b3f1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2452f3d1f3b1d8e8459a07489146a2d0d8a10463715937995cbe77ee5de8c069\",\"dweb:/ipfs/Qmf2hhd2DVbjpxmbNGAhRZNZkqpGZA2mX3eA1WNwtv6t5Y\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_policyManager", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "activateForFund" }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" }, { "internalType": "bytes", "name": "_encodedSettings", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "addFundSettings" }, { "inputs": [], "stateMutability": "pure", "type": "function", "name": "canDisable", "outputs": [ { "internalType": "bool", "name": "canDisable_", "type": "bool" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getPolicyManager", "outputs": [ { "internalType": "address", "name": "policyManager_", "type": "address" } ] }, { "inputs": [], "stateMutability": "pure", "type": "function", "name": "identifier", "outputs": [ { "internalType": "string", "name": "identifier_", "type": "string" } ] }, { "inputs": [], "stateMutability": "pure", "type": "function", "name": "implementedHooks", "outputs": [ { "internalType": "enum IPolicyManager.PolicyHook[]", "name": "implementedHooks_", "type": "uint8[]" } ] }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "updateFundSettings" }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" }, { "internalType": "enum IPolicyManager.PolicyHook", "name": "_hook", "type": "uint8" }, { "internalType": "bytes", "name": "_encodedArgs", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "validateRule", "outputs": [ { "internalType": "bool", "name": "isValid_", "type": "bool" } ] } ], "devdoc": { "kind": "dev", "methods": { "activateForFund(address)": { "details": "Unimplemented by default, can be overridden by the policy" }, "canDisable()": { "details": "False by default, can be overridden by the policy", "returns": { "canDisable_": "True if the policy can be disabled" } }, "getPolicyManager()": { "returns": { "policyManager_": "The `POLICY_MANAGER` variable value" } }, "updateFundSettings(address,bytes)": { "details": "Disallowed by default, can be overridden by the policy" } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "activateForFund(address)": { "notice": "Validates and initializes a policy as necessary prior to fund activation" }, "canDisable()": { "notice": "Whether or not the policy can be disabled" }, "getPolicyManager()": { "notice": "Gets the `POLICY_MANAGER` variable value" }, "updateFundSettings(address,bytes)": { "notice": "Updates the policy settings for a fund" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/policy-manager/policies/utils/PolicyBase.sol": "PolicyBase" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/extensions/policy-manager/IPolicy.sol": { "keccak256": "0xc12663ca72065b256c3b934ab738fde26c147c7b0399de43650df89dd52ee467", "urls": [ "bzz-raw://be8fecfcba0f3fda615f0a1bb3c766750c23761ef751d7c4472dfe540e460cd1", "dweb:/ipfs/QmaarPoRTsX6NiJ8V4u2f3Qh6d7tUs28bw9R14An3t5Bs1" ], "license": "GPL-3.0" }, "contracts/release/extensions/policy-manager/IPolicyManager.sol": { "keccak256": "0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32", "urls": [ "bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa", "dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb" ], "license": "GPL-3.0" }, "contracts/release/extensions/policy-manager/policies/utils/PolicyBase.sol": { "keccak256": "0x972311abb98f0da815b4aca83d5afdd219d3604ec19cf5e3773c0c305bd9b3f1", "urls": [ "bzz-raw://2452f3d1f3b1d8e8459a07489146a2d0d8a10463715937995cbe77ee5de8c069", "dweb:/ipfs/Qmf2hhd2DVbjpxmbNGAhRZNZkqpGZA2mX3eA1WNwtv6t5Y" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 223 } diff --git a/eth_defi/abi/enzyme/PolicyManager.json b/eth_defi/abi/enzyme/PolicyManager.json index 63d15a87..1f04aa60 100644 --- a/eth_defi/abi/enzyme/PolicyManager.json +++ b/eth_defi/abi/enzyme/PolicyManager.json @@ -1,1183 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_fundDeployer", - "type": "address" - }, - { - "internalType": "address", - "name": "_gasRelayPaymasterFactory", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "comptrollerProxy", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "policy", - "type": "address" - }, - { - "indexed": true, - "internalType": "enum IPolicyManager.PolicyHook", - "name": "hook", - "type": "uint8" - } - ], - "name": "PolicyDisabledOnHookForFund", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "comptrollerProxy", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "policy", - "type": "address" - }, - { - "indexed": false, - "internalType": "bytes", - "name": "settingsData", - "type": "bytes" - } - ], - "name": "PolicyEnabledForFund", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "comptrollerProxy", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "vaultProxy", - "type": "address" - } - ], - "name": "ValidatedVaultProxySetForFund", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "bool", - "name": "_isMigratedFund", - "type": "bool" - } - ], - "name": "activateForFund", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "deactivateForFund", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_policy", - "type": "address" - } - ], - "name": "disablePolicyForFund", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_policy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_settingsData", - "type": "bytes" - } - ], - "name": "enablePolicyForFund", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - } - ], - "name": "getEnabledPoliciesForFund", - "outputs": [ - { - "internalType": "address[]", - "name": "enabledPolicies_", - "type": "address[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "enum IPolicyManager.PolicyHook", - "name": "_hook", - "type": "uint8" - } - ], - "name": "getEnabledPoliciesOnHookForFund", - "outputs": [ - { - "internalType": "address[]", - "name": "enabledPolicies_", - "type": "address[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getFundDeployer", - "outputs": [ - { - "internalType": "address", - "name": "fundDeployer_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getGasRelayPaymasterFactory", - "outputs": [ - { - "internalType": "address", - "name": "gasRelayPaymasterFactory_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getGasRelayTrustedForwarder", - "outputs": [ - { - "internalType": "address", - "name": "trustedForwarder_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "owner_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - } - ], - "name": "getVaultProxyForFund", - "outputs": [ - { - "internalType": "address", - "name": "vaultProxy_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "enum IPolicyManager.PolicyHook", - "name": "_hook", - "type": "uint8" - }, - { - "internalType": "address", - "name": "_policy", - "type": "address" - } - ], - "name": "policyIsEnabledOnHookForFund", - "outputs": [ - { - "internalType": "bool", - "name": "isEnabled_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "receiveCallFromComptroller", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_configData", - "type": "bytes" - } - ], - "name": "setConfigForFund", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_policy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_settingsData", - "type": "bytes" - } - ], - "name": "updatePolicySettingsForFund", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "enum IPolicyManager.PolicyHook", - "name": "_hook", - "type": "uint8" - }, - { - "internalType": "bytes", - "name": "_validationData", - "type": "bytes" - } - ], - "name": "validatePolicies", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x60c06040523480156200001157600080fd5b50604051620021b8380380620021b8833981016040819052620000349162000066565b6001600160601b0319606092831b8116608052911b1660a052620000d1565b80516200006081620000b7565b92915050565b600080604083850312156200007a57600080fd5b600062000088858562000053565b92505060206200009b8582860162000053565b9150509250929050565b60006001600160a01b03821662000060565b620000c281620000a5565b8114620000ce57600080fd5b50565b60805160601c60a05160601c6120b86200010060003980610d9a525080610c265280610d7652506120b86000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c806380d570631161009757806397c0ac871161006657806397c0ac8714610205578063ac2594561461020d578063bd8e959a14610215578063f067cc111461021d57610100565b806380d57063146101b7578063893d20e8146101ca5780638aa740b4146101d25780638af6d89e146101f257610100565b806346790346116100d3578063467903461461016957806348f35209146101895780634ed28b3f1461019c5780636ea21143146101af57610100565b80630442bad5146101055780631bee801e1461011a578063248a2aab1461012d57806345d582e714610156575b600080fd5b6101186101133660046118a9565b610230565b005b6101186101283660046118dc565b610511565b61014061013b36600461185c565b610529565b60405161014d9190611ed6565b60405180910390f35b61011861016436600461178a565b610547565b61017c61017736600461174e565b6107ea565b60405161014d9190611e35565b6101186101973660046117c4565b61080b565b6101186101aa3660046117c4565b6109d0565b61017c610ae9565b6101186101c53660046119a3565b610bd9565b61017c610c22565b6101e56101e036600461182c565b610c7d565b60405161014d9190611ec5565b6101e561020036600461174e565b610d1f565b61017c610d74565b61017c610d98565b610118610dbc565b61011861022b3660046117c4565b610dbe565b606061023c8585610c7d565b905080516000141561024e575061050b565b336001600160a01b03861614806102e65750846001600160a01b031663e7c456906040518163ffffffff1660e01b815260040160206040518083038186803b15801561029957600080fd5b505afa1580156102ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102d1919061176c565b6001600160a01b0316336001600160a01b0316145b806103725750846001600160a01b031663b3fc38e96040518163ffffffff1660e01b815260040160206040518083038186803b15801561032557600080fd5b505afa158015610339573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061035d919061176c565b6001600160a01b0316336001600160a01b0316145b6103975760405162461bcd60e51b815260040161038e90611f15565b60405180910390fd5b60005b8151811015610508578181815181106103af57fe5b60200260200101516001600160a01b031663579be718878787876040518563ffffffff1660e01b81526004016103e89493929190611e8d565b602060405180830381600087803b15801561040257600080fd5b505af1158015610416573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061043a91906119c1565b82828151811061044657fe5b60200260200101516001600160a01b0316637998a1c46040518163ffffffff1660e01b815260040160006040518083038186803b15801561048657600080fd5b505afa15801561049a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526104c291908101906119df565b6040516020016104d29190611e17565b604051602081830303815290604052906104ff5760405162461bcd60e51b815260040161038e9190611ee4565b5060010161039a565b50505b50505050565b60405162461bcd60e51b815260040161038e90611f25565b600061053f826105398686610c7d565b90610f14565b949350505050565b81610551816107ea565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561058957600080fd5b505afa15801561059d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105c1919061176c565b6001600160a01b03166105d2610f6a565b6001600160a01b0316146105f85760405162461bcd60e51b815260040161038e90611f65565b816001600160a01b0316631ef925786040518163ffffffff1660e01b815260040160206040518083038186803b15801561063157600080fd5b505afa158015610645573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061066991906119c1565b6106855760405162461bcd60e51b815260040161038e90611f45565b6060826001600160a01b031663cbf54bb26040518163ffffffff1660e01b815260040160006040518083038186803b1580156106c057600080fd5b505afa1580156106d4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526106fc919081019061196e565b905060005b81518110156107e3576001600160a01b03851660009081526001602052604081208351610772918791849087908790811061073857fe5b6020026020010151600981111561074b57fe5b600981111561075657fe5b8152602001908152602001600020610fae90919063ffffffff16565b905080156107da5782828151811061078657fe5b6020026020010151600981111561079957fe5b856001600160a01b0316876001600160a01b03167f672fd0d75642b1e8875f32a1c3f8197c03288c7215329c9a99336feafb801c0260405160405180910390a45b50600101610701565b5050505050565b6001600160a01b03808216600090815260208190526040902054165b919050565b83610815816107ea565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561084d57600080fd5b505afa158015610861573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610885919061176c565b6001600160a01b0316610896610f6a565b6001600160a01b0316146108bc5760405162461bcd60e51b815260040161038e90611f65565b6060846001600160a01b031663cbf54bb26040518163ffffffff1660e01b815260040160006040518083038186803b1580156108f757600080fd5b505afa15801561090b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610933919081019061196e565b905060005b81518110156109825761095d82828151811061095057fe5b60200260200101516110a6565b1561097a5760405162461bcd60e51b815260040161038e90611ef5565b600101610938565b506109c6868686868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508792506110d2915050565b610508868661125f565b836109da816107ea565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b158015610a1257600080fd5b505afa158015610a26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a4a919061176c565b6001600160a01b0316610a5b610f6a565b6001600160a01b031614610a815760405162461bcd60e51b815260040161038e90611f65565b60405162d4d75160e41b81526001600160a01b03851690630d4d751090610ab090889087908790600401611e43565b600060405180830381600087803b158015610aca57600080fd5b505af1158015610ade573d6000803e3d6000fd5b505050505050505050565b6000610af3610d98565b6001600160a01b03166398a7c4c76040518163ffffffff1660e01b815260040160206040518083038186803b158015610b2b57600080fd5b505afa158015610b3f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b63919061176c565b6001600160a01b0316637da0a8776040518163ffffffff1660e01b815260040160206040518083038186803b158015610b9b57600080fd5b505afa158015610baf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bd3919061176c565b90505b90565b338115610c1e576060610beb82610d1f565b905060005b815181101561050b57610c1683838381518110610c0957fe5b602002602001015161125f565b600101610bf0565b5050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b158015610b9b57600080fd5b6001600160a01b0382166000908152600160205260408120606091836009811115610ca457fe5b6009811115610caf57fe5b8152602001908152602001600020805480602002602001604051908101604052809291908181526020018280548015610d1157602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610cf3575b505050505090505b92915050565b6060610d296114c1565b610d316112b9565b905060005b600a811015610d6d57610d63610d5c858484600a8110610d5257fe5b6020020151610c7d565b8490611316565b9250600101610d36565b5050919050565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b565b610dc6610d74565b6001600160a01b0316336001600160a01b031614610df65760405162461bcd60e51b815260040161038e90611f35565b610e00848461146a565b80610e0a5761050b565b606080610e198385018561190f565b915091508051825114610e3e5760405162461bcd60e51b815260040161038e90611f05565b60005b8251811015610f0b57610f0387848381518110610e5a57fe5b6020026020010151848481518110610e6e57fe5b6020026020010151868581518110610e8257fe5b60200260200101516001600160a01b031663cbf54bb26040518163ffffffff1660e01b815260040160006040518083038186803b158015610ec257600080fd5b505afa158015610ed6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610efe919081019061196e565b6110d2565b600101610e41565b50505050505050565b6000805b8351811015610f6057838181518110610f2d57fe5b60200260200101516001600160a01b0316836001600160a01b03161415610f58576001915050610d19565b600101610f18565b5060009392505050565b600060183610801590610f955750610f80610ae9565b6001600160a01b0316336001600160a01b0316145b15610fa9575060131936013560601c610bd6565b503390565b8154600090815b8181101561109e57836001600160a01b0316858281548110610fd357fe5b6000918252602090912001546001600160a01b0316141561109657600182038110156110615784600183038154811061100857fe5b9060005260206000200160009054906101000a90046001600160a01b031685828154811061103257fe5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055505b8480548061106b57fe5b600082815260209020810160001990810180546001600160a01b03191690550190556001925061109e565b600101610fb5565b505092915050565b600060028260098111156110b657fe5b1480610d19575060038260098111156110cb57fe5b1492915050565b81511561113a57604051630f5f6b4f60e01b81526001600160a01b03841690630f5f6b4f906111079087908690600401611e6d565b600060405180830381600087803b15801561112157600080fd5b505af1158015611135573d6000803e3d6000fd5b505050505b60005b815181101561120d576111648583838151811061115657fe5b602002602001015186610529565b156111815760405162461bcd60e51b815260040161038e90611f55565b6001600160a01b038516600090815260016020526040812083519091908490849081106111aa57fe5b602002602001015160098111156111bd57fe5b60098111156111c857fe5b815260208082019290925260400160009081208054600180820183559183529290912090910180546001600160a01b0319166001600160a01b0387161790550161113d565b50826001600160a01b0316846001600160a01b03167faa4df4fe117c520783cfff01c11283496ff2999c77c2a9b800808251a9a0332a846040516112519190611ee4565b60405180910390a350505050565b60405163ceb9a0ad60e01b81526001600160a01b0382169063ceb9a0ad9061128b908590600401611e35565b600060405180830381600087803b1580156112a557600080fd5b505af1158015610508573d6000803e3d6000fd5b6112c16114c1565b6040805161014081019091528060008152602001600181526020016002815260200160038152602001600481526020016005815260200160068152602001600781526020016008815260200160099052905090565b60606000805b8351811015611355576113428585838151811061133557fe5b6020026020010151610f14565b61134d576001909101905b60010161131c565b50806113645783915050610d19565b8084510167ffffffffffffffff8111801561137e57600080fd5b506040519080825280602002602001820160405280156113a8578160200160208202803683370190505b50915060005b84518110156113f7578481815181106113c357fe5b60200260200101518382815181106113d757fe5b6001600160a01b03909216602092830291909101909101526001016113ae565b50835160005b8451811015611461576114168686838151811061133557fe5b6114595784818151811061142657fe5b602002602001015184838151811061143a57fe5b6001600160a01b03909216602092830291909101909101526001909101905b6001016113fd565b50505092915050565b6001600160a01b0382811660008181526020819052604080822080546001600160a01b0319169486169485179055517f8852dcaa71340ea616a65ffac013450dfb238607481fb9d78346c667fe256c139190a35050565b604051806101400160405280600a906020820280368337509192915050565b8035610d1981612078565b8051610d1981612078565b600082601f83011261150757600080fd5b813561151a61151582611f9c565b611f75565b9150818183526020840193506020810190508385602084028201111561153f57600080fd5b60005b8381101561156b578161155588826114e0565b8452506020928301929190910190600101611542565b5050505092915050565b600082601f83011261158657600080fd5b813561159461151582611f9c565b81815260209384019390925082018360005b8381101561156b57813586016115bc88826116a1565b84525060209283019291909101906001016115a6565b600082601f8301126115e357600080fd5b81516115f161151582611f9c565b9150818183526020840193506020810190508385602084028201111561161657600080fd5b60005b8381101561156b578161162c88826116f2565b8452506020928301929190910190600101611619565b8035610d198161208c565b8051610d198161208c565b60008083601f84011261166a57600080fd5b50813567ffffffffffffffff81111561168257600080fd5b60208301915083600182028301111561169a57600080fd5b9250929050565b600082601f8301126116b257600080fd5b81356116c061151582611fbd565b915080825260208301602083018583830111156116dc57600080fd5b611461838284612029565b8035610d1981612095565b8051610d1981612095565b600082601f83011261170e57600080fd5b815161171c61151582611fbd565b9150808252602083016020830185838301111561173857600080fd5b611461838284612035565b8035610d19816120a2565b60006020828403121561176057600080fd5b600061053f84846114e0565b60006020828403121561177e57600080fd5b600061053f84846114eb565b6000806040838503121561179d57600080fd5b60006117a985856114e0565b92505060206117ba858286016114e0565b9150509250929050565b600080600080606085870312156117da57600080fd5b60006117e687876114e0565b94505060206117f7878288016114e0565b935050604085013567ffffffffffffffff81111561181457600080fd5b61182087828801611658565b95989497509550505050565b6000806040838503121561183f57600080fd5b600061184b85856114e0565b92505060206117ba858286016116e7565b60008060006060848603121561187157600080fd5b600061187d86866114e0565b935050602061188e868287016116e7565b925050604061189f868287016114e0565b9150509250925092565b600080600080606085870312156118bf57600080fd5b60006118cb87876114e0565b94505060206117f7878288016116e7565b600080600080606085870312156118f257600080fd5b60006118fe87876114e0565b94505060206117f787828801611743565b6000806040838503121561192257600080fd5b823567ffffffffffffffff81111561193957600080fd5b611945858286016114f6565b925050602083013567ffffffffffffffff81111561196257600080fd5b6117ba85828601611575565b60006020828403121561198057600080fd5b815167ffffffffffffffff81111561199757600080fd5b61053f848285016115d2565b6000602082840312156119b557600080fd5b600061053f8484611642565b6000602082840312156119d357600080fd5b600061053f848461164d565b6000602082840312156119f157600080fd5b815167ffffffffffffffff811115611a0857600080fd5b61053f848285016116fd565b6000611a208383611a28565b505060200190565b611a3181611ff8565b82525050565b6000611a4282611feb565b611a4c8185611fef565b9350611a5783611fe5565b8060005b83811015611a85578151611a6f8882611a14565b9750611a7a83611fe5565b925050600101611a5b565b509495945050505050565b611a3181612003565b6000611aa58385611fef565b9350611ab2838584612029565b611abb83612061565b9093019392505050565b6000611ad082611feb565b611ada8185611fef565b9350611aea818560208601612035565b611abb81612061565b611a318161201e565b6000611b0782611feb565b611b118185610806565b9350611b21818560208601612035565b9290920192915050565b6000611b38604383611fef565b7f656e61626c65506f6c696379466f7246756e643a205f706f6c6963792072657381527f74726963747320616374696f6e73206f662063757272656e7420696e766573746020820152626f727360e81b604082015260600192915050565b6000611ba3604183611fef565b7f736574436f6e666967466f7246756e643a20706f6c696369657320616e64207381527f657474696e677344617461206172726179206c656e6774687320756e657175616020820152601b60fa1b604082015260600192915050565b6000611c0c601983610806565b7f52756c65206576616c756174656420746f2066616c73653a2000000000000000815260190192915050565b6000611c45602483611fef565b7f76616c6964617465506f6c69636965733a2043616c6c6572206e6f7420616c6c8152631bddd95960e21b602082015260400192915050565b6000611c8b603783611fef565b7f7265636569766543616c6c46726f6d436f6d7074726f6c6c65723a20556e696d81527f706c656d656e74656420666f7220457874656e73696f6e000000000000000000602082015260400192915050565b6000611cea602883611fef565b7f4f6e6c79207468652046756e644465706c6f7965722063616e206d616b6520748152671a1a5cc818d85b1b60c21b602082015260400192915050565b6000611d34603083611fef565b7f64697361626c65506f6c696379466f7246756e643a205f706f6c69637920636181526f1b9b9bdd08189948191a5cd8589b195960821b602082015260400192915050565b6000611d86603083611fef565b7f5f5f656e61626c65506f6c696379466f7246756e643a20506f6c69637920697381526f08185b1c9958591e48195b98589b195960821b602082015260400192915050565b6000611dd8602a83611fef565b7f4f6e6c79207468652066756e64206f776e65722063616e2063616c6c207468698152693990333ab731ba34b7b760b11b602082015260400192915050565b6000611e2282611bff565b9150611e2e8284611afc565b9392505050565b60208101610d198284611a28565b60408101611e518286611a28565b8181036020830152611e64818486611a99565b95945050505050565b60408101611e7b8285611a28565b818103602083015261053f8184611ac5565b60608101611e9b8287611a28565b611ea86020830186611af3565b8181036040830152611ebb818486611a99565b9695505050505050565b60208082528101611e2e8184611a37565b60208101610d198284611a90565b60208082528101611e2e8184611ac5565b60208082528101610d1981611b2b565b60208082528101610d1981611b96565b60208082528101610d1981611c38565b60208082528101610d1981611c7e565b60208082528101610d1981611cdd565b60208082528101610d1981611d27565b60208082528101610d1981611d79565b60208082528101610d1981611dcb565b60405181810167ffffffffffffffff81118282101715611f9457600080fd5b604052919050565b600067ffffffffffffffff821115611fb357600080fd5b5060209081020190565b600067ffffffffffffffff821115611fd457600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b6000610d1982612012565b151590565b806108068161206b565b6001600160a01b031690565b6000610d1982612008565b82818337506000910152565b60005b83811015612050578181015183820152602001612038565b8381111561050b5750506000910152565b601f01601f191690565b600a811061207557fe5b50565b61208181611ff8565b811461207557600080fd5b61208181612003565b600a811061207557600080fd5b61208181610bd656fea164736f6c634300060c000a", - "sourceMap": "1210:11439:206:-:0;;;2034:186;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;864:29:358;;;;;;;;820:55:230;;;;;1210:11439:206;;5:134:-1;83:13;;101:33;83:13;101:33;:::i;:::-;68:71;;;;:::o;146:399::-;;;278:2;266:9;257:7;253:23;249:32;246:2;;;294:1;291;284:12;246:2;329:1;346:64;402:7;382:9;346:64;:::i;:::-;336:74;;308:108;447:2;465:64;521:7;512:6;501:9;497:22;465:64;:::i;:::-;455:74;;426:109;240:305;;;;;:::o;552:91::-;;-1:-1;;;;;712:54;;614:24;695:76::o;778:117::-;847:24;865:5;847:24;:::i;:::-;840:5;837:35;827:2;;886:1;883;876:12;827:2;821:74;:::o;:::-;1210:11439:206;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106101005760003560e01c806380d570631161009757806397c0ac871161006657806397c0ac8714610205578063ac2594561461020d578063bd8e959a14610215578063f067cc111461021d57610100565b806380d57063146101b7578063893d20e8146101ca5780638aa740b4146101d25780638af6d89e146101f257610100565b806346790346116100d3578063467903461461016957806348f35209146101895780634ed28b3f1461019c5780636ea21143146101af57610100565b80630442bad5146101055780631bee801e1461011a578063248a2aab1461012d57806345d582e714610156575b600080fd5b6101186101133660046118a9565b610230565b005b6101186101283660046118dc565b610511565b61014061013b36600461185c565b610529565b60405161014d9190611ed6565b60405180910390f35b61011861016436600461178a565b610547565b61017c61017736600461174e565b6107ea565b60405161014d9190611e35565b6101186101973660046117c4565b61080b565b6101186101aa3660046117c4565b6109d0565b61017c610ae9565b6101186101c53660046119a3565b610bd9565b61017c610c22565b6101e56101e036600461182c565b610c7d565b60405161014d9190611ec5565b6101e561020036600461174e565b610d1f565b61017c610d74565b61017c610d98565b610118610dbc565b61011861022b3660046117c4565b610dbe565b606061023c8585610c7d565b905080516000141561024e575061050b565b336001600160a01b03861614806102e65750846001600160a01b031663e7c456906040518163ffffffff1660e01b815260040160206040518083038186803b15801561029957600080fd5b505afa1580156102ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102d1919061176c565b6001600160a01b0316336001600160a01b0316145b806103725750846001600160a01b031663b3fc38e96040518163ffffffff1660e01b815260040160206040518083038186803b15801561032557600080fd5b505afa158015610339573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061035d919061176c565b6001600160a01b0316336001600160a01b0316145b6103975760405162461bcd60e51b815260040161038e90611f15565b60405180910390fd5b60005b8151811015610508578181815181106103af57fe5b60200260200101516001600160a01b031663579be718878787876040518563ffffffff1660e01b81526004016103e89493929190611e8d565b602060405180830381600087803b15801561040257600080fd5b505af1158015610416573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061043a91906119c1565b82828151811061044657fe5b60200260200101516001600160a01b0316637998a1c46040518163ffffffff1660e01b815260040160006040518083038186803b15801561048657600080fd5b505afa15801561049a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526104c291908101906119df565b6040516020016104d29190611e17565b604051602081830303815290604052906104ff5760405162461bcd60e51b815260040161038e9190611ee4565b5060010161039a565b50505b50505050565b60405162461bcd60e51b815260040161038e90611f25565b600061053f826105398686610c7d565b90610f14565b949350505050565b81610551816107ea565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561058957600080fd5b505afa15801561059d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105c1919061176c565b6001600160a01b03166105d2610f6a565b6001600160a01b0316146105f85760405162461bcd60e51b815260040161038e90611f65565b816001600160a01b0316631ef925786040518163ffffffff1660e01b815260040160206040518083038186803b15801561063157600080fd5b505afa158015610645573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061066991906119c1565b6106855760405162461bcd60e51b815260040161038e90611f45565b6060826001600160a01b031663cbf54bb26040518163ffffffff1660e01b815260040160006040518083038186803b1580156106c057600080fd5b505afa1580156106d4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526106fc919081019061196e565b905060005b81518110156107e3576001600160a01b03851660009081526001602052604081208351610772918791849087908790811061073857fe5b6020026020010151600981111561074b57fe5b600981111561075657fe5b8152602001908152602001600020610fae90919063ffffffff16565b905080156107da5782828151811061078657fe5b6020026020010151600981111561079957fe5b856001600160a01b0316876001600160a01b03167f672fd0d75642b1e8875f32a1c3f8197c03288c7215329c9a99336feafb801c0260405160405180910390a45b50600101610701565b5050505050565b6001600160a01b03808216600090815260208190526040902054165b919050565b83610815816107ea565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561084d57600080fd5b505afa158015610861573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610885919061176c565b6001600160a01b0316610896610f6a565b6001600160a01b0316146108bc5760405162461bcd60e51b815260040161038e90611f65565b6060846001600160a01b031663cbf54bb26040518163ffffffff1660e01b815260040160006040518083038186803b1580156108f757600080fd5b505afa15801561090b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610933919081019061196e565b905060005b81518110156109825761095d82828151811061095057fe5b60200260200101516110a6565b1561097a5760405162461bcd60e51b815260040161038e90611ef5565b600101610938565b506109c6868686868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508792506110d2915050565b610508868661125f565b836109da816107ea565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b158015610a1257600080fd5b505afa158015610a26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a4a919061176c565b6001600160a01b0316610a5b610f6a565b6001600160a01b031614610a815760405162461bcd60e51b815260040161038e90611f65565b60405162d4d75160e41b81526001600160a01b03851690630d4d751090610ab090889087908790600401611e43565b600060405180830381600087803b158015610aca57600080fd5b505af1158015610ade573d6000803e3d6000fd5b505050505050505050565b6000610af3610d98565b6001600160a01b03166398a7c4c76040518163ffffffff1660e01b815260040160206040518083038186803b158015610b2b57600080fd5b505afa158015610b3f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b63919061176c565b6001600160a01b0316637da0a8776040518163ffffffff1660e01b815260040160206040518083038186803b158015610b9b57600080fd5b505afa158015610baf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bd3919061176c565b90505b90565b338115610c1e576060610beb82610d1f565b905060005b815181101561050b57610c1683838381518110610c0957fe5b602002602001015161125f565b600101610bf0565b5050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b158015610b9b57600080fd5b6001600160a01b0382166000908152600160205260408120606091836009811115610ca457fe5b6009811115610caf57fe5b8152602001908152602001600020805480602002602001604051908101604052809291908181526020018280548015610d1157602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610cf3575b505050505090505b92915050565b6060610d296114c1565b610d316112b9565b905060005b600a811015610d6d57610d63610d5c858484600a8110610d5257fe5b6020020151610c7d565b8490611316565b9250600101610d36565b5050919050565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b565b610dc6610d74565b6001600160a01b0316336001600160a01b031614610df65760405162461bcd60e51b815260040161038e90611f35565b610e00848461146a565b80610e0a5761050b565b606080610e198385018561190f565b915091508051825114610e3e5760405162461bcd60e51b815260040161038e90611f05565b60005b8251811015610f0b57610f0387848381518110610e5a57fe5b6020026020010151848481518110610e6e57fe5b6020026020010151868581518110610e8257fe5b60200260200101516001600160a01b031663cbf54bb26040518163ffffffff1660e01b815260040160006040518083038186803b158015610ec257600080fd5b505afa158015610ed6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610efe919081019061196e565b6110d2565b600101610e41565b50505050505050565b6000805b8351811015610f6057838181518110610f2d57fe5b60200260200101516001600160a01b0316836001600160a01b03161415610f58576001915050610d19565b600101610f18565b5060009392505050565b600060183610801590610f955750610f80610ae9565b6001600160a01b0316336001600160a01b0316145b15610fa9575060131936013560601c610bd6565b503390565b8154600090815b8181101561109e57836001600160a01b0316858281548110610fd357fe5b6000918252602090912001546001600160a01b0316141561109657600182038110156110615784600183038154811061100857fe5b9060005260206000200160009054906101000a90046001600160a01b031685828154811061103257fe5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055505b8480548061106b57fe5b600082815260209020810160001990810180546001600160a01b03191690550190556001925061109e565b600101610fb5565b505092915050565b600060028260098111156110b657fe5b1480610d19575060038260098111156110cb57fe5b1492915050565b81511561113a57604051630f5f6b4f60e01b81526001600160a01b03841690630f5f6b4f906111079087908690600401611e6d565b600060405180830381600087803b15801561112157600080fd5b505af1158015611135573d6000803e3d6000fd5b505050505b60005b815181101561120d576111648583838151811061115657fe5b602002602001015186610529565b156111815760405162461bcd60e51b815260040161038e90611f55565b6001600160a01b038516600090815260016020526040812083519091908490849081106111aa57fe5b602002602001015160098111156111bd57fe5b60098111156111c857fe5b815260208082019290925260400160009081208054600180820183559183529290912090910180546001600160a01b0319166001600160a01b0387161790550161113d565b50826001600160a01b0316846001600160a01b03167faa4df4fe117c520783cfff01c11283496ff2999c77c2a9b800808251a9a0332a846040516112519190611ee4565b60405180910390a350505050565b60405163ceb9a0ad60e01b81526001600160a01b0382169063ceb9a0ad9061128b908590600401611e35565b600060405180830381600087803b1580156112a557600080fd5b505af1158015610508573d6000803e3d6000fd5b6112c16114c1565b6040805161014081019091528060008152602001600181526020016002815260200160038152602001600481526020016005815260200160068152602001600781526020016008815260200160099052905090565b60606000805b8351811015611355576113428585838151811061133557fe5b6020026020010151610f14565b61134d576001909101905b60010161131c565b50806113645783915050610d19565b8084510167ffffffffffffffff8111801561137e57600080fd5b506040519080825280602002602001820160405280156113a8578160200160208202803683370190505b50915060005b84518110156113f7578481815181106113c357fe5b60200260200101518382815181106113d757fe5b6001600160a01b03909216602092830291909101909101526001016113ae565b50835160005b8451811015611461576114168686838151811061133557fe5b6114595784818151811061142657fe5b602002602001015184838151811061143a57fe5b6001600160a01b03909216602092830291909101909101526001909101905b6001016113fd565b50505092915050565b6001600160a01b0382811660008181526020819052604080822080546001600160a01b0319169486169485179055517f8852dcaa71340ea616a65ffac013450dfb238607481fb9d78346c667fe256c139190a35050565b604051806101400160405280600a906020820280368337509192915050565b8035610d1981612078565b8051610d1981612078565b600082601f83011261150757600080fd5b813561151a61151582611f9c565b611f75565b9150818183526020840193506020810190508385602084028201111561153f57600080fd5b60005b8381101561156b578161155588826114e0565b8452506020928301929190910190600101611542565b5050505092915050565b600082601f83011261158657600080fd5b813561159461151582611f9c565b81815260209384019390925082018360005b8381101561156b57813586016115bc88826116a1565b84525060209283019291909101906001016115a6565b600082601f8301126115e357600080fd5b81516115f161151582611f9c565b9150818183526020840193506020810190508385602084028201111561161657600080fd5b60005b8381101561156b578161162c88826116f2565b8452506020928301929190910190600101611619565b8035610d198161208c565b8051610d198161208c565b60008083601f84011261166a57600080fd5b50813567ffffffffffffffff81111561168257600080fd5b60208301915083600182028301111561169a57600080fd5b9250929050565b600082601f8301126116b257600080fd5b81356116c061151582611fbd565b915080825260208301602083018583830111156116dc57600080fd5b611461838284612029565b8035610d1981612095565b8051610d1981612095565b600082601f83011261170e57600080fd5b815161171c61151582611fbd565b9150808252602083016020830185838301111561173857600080fd5b611461838284612035565b8035610d19816120a2565b60006020828403121561176057600080fd5b600061053f84846114e0565b60006020828403121561177e57600080fd5b600061053f84846114eb565b6000806040838503121561179d57600080fd5b60006117a985856114e0565b92505060206117ba858286016114e0565b9150509250929050565b600080600080606085870312156117da57600080fd5b60006117e687876114e0565b94505060206117f7878288016114e0565b935050604085013567ffffffffffffffff81111561181457600080fd5b61182087828801611658565b95989497509550505050565b6000806040838503121561183f57600080fd5b600061184b85856114e0565b92505060206117ba858286016116e7565b60008060006060848603121561187157600080fd5b600061187d86866114e0565b935050602061188e868287016116e7565b925050604061189f868287016114e0565b9150509250925092565b600080600080606085870312156118bf57600080fd5b60006118cb87876114e0565b94505060206117f7878288016116e7565b600080600080606085870312156118f257600080fd5b60006118fe87876114e0565b94505060206117f787828801611743565b6000806040838503121561192257600080fd5b823567ffffffffffffffff81111561193957600080fd5b611945858286016114f6565b925050602083013567ffffffffffffffff81111561196257600080fd5b6117ba85828601611575565b60006020828403121561198057600080fd5b815167ffffffffffffffff81111561199757600080fd5b61053f848285016115d2565b6000602082840312156119b557600080fd5b600061053f8484611642565b6000602082840312156119d357600080fd5b600061053f848461164d565b6000602082840312156119f157600080fd5b815167ffffffffffffffff811115611a0857600080fd5b61053f848285016116fd565b6000611a208383611a28565b505060200190565b611a3181611ff8565b82525050565b6000611a4282611feb565b611a4c8185611fef565b9350611a5783611fe5565b8060005b83811015611a85578151611a6f8882611a14565b9750611a7a83611fe5565b925050600101611a5b565b509495945050505050565b611a3181612003565b6000611aa58385611fef565b9350611ab2838584612029565b611abb83612061565b9093019392505050565b6000611ad082611feb565b611ada8185611fef565b9350611aea818560208601612035565b611abb81612061565b611a318161201e565b6000611b0782611feb565b611b118185610806565b9350611b21818560208601612035565b9290920192915050565b6000611b38604383611fef565b7f656e61626c65506f6c696379466f7246756e643a205f706f6c6963792072657381527f74726963747320616374696f6e73206f662063757272656e7420696e766573746020820152626f727360e81b604082015260600192915050565b6000611ba3604183611fef565b7f736574436f6e666967466f7246756e643a20706f6c696369657320616e64207381527f657474696e677344617461206172726179206c656e6774687320756e657175616020820152601b60fa1b604082015260600192915050565b6000611c0c601983610806565b7f52756c65206576616c756174656420746f2066616c73653a2000000000000000815260190192915050565b6000611c45602483611fef565b7f76616c6964617465506f6c69636965733a2043616c6c6572206e6f7420616c6c8152631bddd95960e21b602082015260400192915050565b6000611c8b603783611fef565b7f7265636569766543616c6c46726f6d436f6d7074726f6c6c65723a20556e696d81527f706c656d656e74656420666f7220457874656e73696f6e000000000000000000602082015260400192915050565b6000611cea602883611fef565b7f4f6e6c79207468652046756e644465706c6f7965722063616e206d616b6520748152671a1a5cc818d85b1b60c21b602082015260400192915050565b6000611d34603083611fef565b7f64697361626c65506f6c696379466f7246756e643a205f706f6c69637920636181526f1b9b9bdd08189948191a5cd8589b195960821b602082015260400192915050565b6000611d86603083611fef565b7f5f5f656e61626c65506f6c696379466f7246756e643a20506f6c69637920697381526f08185b1c9958591e48195b98589b195960821b602082015260400192915050565b6000611dd8602a83611fef565b7f4f6e6c79207468652066756e64206f776e65722063616e2063616c6c207468698152693990333ab731ba34b7b760b11b602082015260400192915050565b6000611e2282611bff565b9150611e2e8284611afc565b9392505050565b60208101610d198284611a28565b60408101611e518286611a28565b8181036020830152611e64818486611a99565b95945050505050565b60408101611e7b8285611a28565b818103602083015261053f8184611ac5565b60608101611e9b8287611a28565b611ea86020830186611af3565b8181036040830152611ebb818486611a99565b9695505050505050565b60208082528101611e2e8184611a37565b60208101610d198284611a90565b60208082528101611e2e8184611ac5565b60208082528101610d1981611b2b565b60208082528101610d1981611b96565b60208082528101610d1981611c38565b60208082528101610d1981611c7e565b60208082528101610d1981611cdd565b60208082528101610d1981611d27565b60208082528101610d1981611d79565b60208082528101610d1981611dcb565b60405181810167ffffffffffffffff81118282101715611f9457600080fd5b604052919050565b600067ffffffffffffffff821115611fb357600080fd5b5060209081020190565b600067ffffffffffffffff821115611fd457600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b6000610d1982612012565b151590565b806108068161206b565b6001600160a01b031690565b6000610d1982612008565b82818337506000910152565b60005b83811015612050578181015183820152602001612038565b8381111561050b5750506000910152565b601f01601f191690565b600a811061207557fe5b50565b61208181611ff8565b811461207557600080fd5b61208181612003565b600a811061207557600080fd5b61208181610bd656fea164736f6c634300060c000a", - "sourceMap": "1210:11439:206:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7407:1190;;;;;;:::i;:::-;;:::i;:::-;;1603:208:226;;;;;;:::i;:::-;;:::i;12380:267:206:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3388:698;;;;;;:::i;:::-;;:::i;2692:198:226:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;4641:696:206:-;;;;;;:::i;:::-;;:::i;6829:269::-;;;;;;:::i;:::-;;:::i;1880:260:230:-;;;:::i;2511:491:206:-;;;;;;:::i;:::-;;:::i;1064:120:358:-;;;:::i;11858:252:206:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;11125:475::-;;;;;;:::i;:::-;;:::i;1378:108:358:-;;;:::i;1584:174:230:-;;;:::i;1346:78:226:-;;;:::i;5560:999:206:-;;;;;;:::i;:::-;;:::i;7407:1190::-;7631:25;7659:57;7691:17;7710:5;7659:31;:57::i;:::-;7631:85;;7730:8;:15;7749:1;7730:20;7726:57;;;7766:7;;;7726:57;7908:10;-1:-1:-1;;;;;7908:31:206;;;;:120;;;7986:17;-1:-1:-1;;;;;7973:53:206;;:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;7959:69:206;:10;-1:-1:-1;;;;;7959:69:206;;7908:120;:214;;;;8075:17;-1:-1:-1;;;;;8062:58:206;;:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;8048:74:206;:10;-1:-1:-1;;;;;8048:74:206;;7908:214;7887:297;;;;-1:-1:-1;;;7887:297:206;;;;;;;:::i;:::-;;;;;;;;;8200:9;8195:396;8215:8;:15;8211:1;:19;8195:396;;;8284:8;8293:1;8284:11;;;;;;;;;;;;;;-1:-1:-1;;;;;8276:33:206;;8310:17;8329:5;8336:15;;8276:76;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8501:8;8510:1;8501:11;;;;;;;;;;;;;;-1:-1:-1;;;;;8493:31:206;;:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8493:33:206;;;;;;;;;;;;:::i;:::-;8398:150;;;;;;;;:::i;:::-;;;;;;;;;;;;;8251:329;;;;;-1:-1:-1;;;8251:329:206;;;;;;;;:::i;:::-;-1:-1:-1;8232:3:206;;8195:396;;;;7407:1190;;;;;;:::o;1603:208:226:-;1739:65;;-1:-1:-1;;;1739:65:226;;;;;;;:::i;12380:267:206:-;12531:15;12565:75;12632:7;12565:57;12597:17;12616:5;12565:31;:57::i;:::-;:66;;:75::i;:::-;12558:82;12380:267;-1:-1:-1;;;;12380:267:206:o;3388:698::-;3501:17;1891:39;1912:17;1891:20;:39::i;:::-;-1:-1:-1;;;;;1884:56:206;;:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1867:75:206;:13;:11;:13::i;:::-;-1:-1:-1;;;;;1867:75:206;;1846:164;;;;-1:-1:-1;;;1846:164:206;;;;;;;:::i;:::-;3550:7:::1;-1:-1:-1::0;;;;;3542:27:206::1;;:29;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3534:90;;;;-1:-1:-1::0;;;3534:90:206::1;;;;;;;:::i;:::-;3635:36;3682:7;-1:-1:-1::0;;;;;3674:33:206::1;;:35;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;::::0;;::::1;-1:-1:-1::0;;3674:35:206::1;::::0;::::1;;::::0;::::1;::::0;;;::::1;::::0;::::1;:::i;:::-;3635:74;;3724:9;3719:361;3739:16;:23;3735:1;:27;3719:361;;;-1:-1:-1::0;;;;;3799:51:206;::::1;3783:13;3799:51:::0;;;:32:::1;:51;::::0;;;;3868:19;;3799:129:::1;::::0;3920:7;;3783:13;;3868:16;;3885:1;;3868:19;::::1;;;;;;;;;;;3799:102;;;;;;;;;;;;;;;;;;;;;;;;;;;:120;;:129;;;;:::i;:::-;3783:145;;3946:8;3942:128;;;4035:16;4052:1;4035:19;;;;;;;;;;;;;;3979:76;;;;;;;;4026:7;-1:-1:-1::0;;;;;3979:76:206::1;4007:17;-1:-1:-1::0;;;;;3979:76:206::1;;;;;;;;;;;3942:128;-1:-1:-1::0;3764:3:206::1;;3719:361;;;;2020:1;3388:698:::0;;;:::o;2692:198:226:-;-1:-1:-1;;;;;2836:47:226;;;2794:19;2836:47;;;;;;;;;;;;2692:198;;;;:::o;4641:696:206:-;4797:17;1891:39;1912:17;1891:20;:39::i;:::-;-1:-1:-1;;;;;1884:56:206;;:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1867:75:206;:13;:11;:13::i;:::-;-1:-1:-1;;;;;1867:75:206;;1846:164;;;;-1:-1:-1;;;1846:164:206;;;;;;;:::i;:::-;4826:36:::1;4873:7;-1:-1:-1::0;;;;;4865:33:206::1;;:35;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;::::0;;::::1;-1:-1:-1::0;;4865:35:206::1;::::0;::::1;;::::0;::::1;::::0;;;::::1;::::0;::::1;:::i;:::-;4826:74;;4915:9;4910:266;4930:16;:23;4926:1;:27;4910:266;;;5000:64;5044:16;5061:1;5044:19;;;;;;;;;;;;;;5000:43;:64::i;:::-;4999:65;4974:191;;;;-1:-1:-1::0;;;4974:191:206::1;;;;;;;:::i;:::-;4955:3;;4910:266;;;;5186:82;5208:17;5227:7;5236:13;;5186:82;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;5251:16:206;;-1:-1:-1;5186:21:206::1;::::0;-1:-1:-1;;5186:82:206:i:1;:::-;5279:51;5303:17;5322:7;5279:23;:51::i;6829:269::-:0;6993:17;1891:39;1912:17;1891:20;:39::i;:::-;-1:-1:-1;;;;;1884:56:206;;:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1867:75:206;:13;:11;:13::i;:::-;-1:-1:-1;;;;;1867:75:206;;1846:164;;;;-1:-1:-1;;;1846:164:206;;;;;;;:::i;:::-;7022:69:::1;::::0;-1:-1:-1;;;7022:69:206;;-1:-1:-1;;;;;7022:35:206;::::1;::::0;::::1;::::0;:69:::1;::::0;7058:17;;7077:13;;;;7022:69:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;6829:269:::0;;;;;:::o;1880:260:230:-;1940:25;2052:29;:27;:29::i;:::-;-1:-1:-1;;;;;2032:66:230;;:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1996:135:230;;:137;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1977:156;;1880:260;;:::o;2511:491:206:-;2613:10;2716:280;;;;2751:32;2786:43;2812:16;2786:25;:43::i;:::-;2751:78;;2848:9;2843:143;2863:15;:22;2859:1;:26;2843:143;;;2910:61;2934:16;2952:15;2968:1;2952:18;;;;;;;;;;;;;;2910:23;:61::i;:::-;2887:3;;2843:143;;2716:280;2511:491;;:::o;1064:120:358:-;1105:14;1152:13;-1:-1:-1;;;;;1138:37:358;;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11858:252:206;-1:-1:-1;;;;;12045:51:206;;;;;;:32;:51;;;;;11989:33;;12097:5;12045:58;;;;;;;;;;;;;;;;;;;;;;;;;;;12038:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;12038:65:206;;;;;;;;;;;;;;;;;;;;;;;11858:252;;;;;:::o;11125:475::-;11232:33;11281:42;;:::i;:::-;11326:21;:19;:21::i;:::-;11281:66;;11363:9;11358:202;11378:12;11374:1;:16;11358:202;;;11430:119;11475:60;11507:17;11526:5;11532:1;11526:8;;;;;;;;;;;11475:31;:60::i;:::-;11430:16;;:27;:119::i;:::-;11411:138;-1:-1:-1;11392:3:206;;11358:202;;;;11570:23;11125:475;;;:::o;1378:108:358:-;1466:13;1378:108;:::o;1584:174:230:-;1724:27;1584:174;:::o;1346:78:226:-;:::o;5560:999:206:-;819:17:226;:15;:17::i;:::-;-1:-1:-1;;;;;805:31:226;:10;-1:-1:-1;;;;;805:31:226;;797:84;;;;-1:-1:-1;;;797:84:226;;;;;;;:::i;:::-;5737:56:206::1;5762:17;5781:11;5737:24;:56::i;:::-;5853:23:::0;5849:60:::1;;5892:7;;5849:60;5920:25;::::0;5978:79:::1;::::0;;::::1;6002:11:::0;5978:79:::1;:::i;:::-;5919:138;;;;6132:12;:19;6113:8;:15;:38;6092:150;;;;-1:-1:-1::0;;;6092:150:206::1;;;;;;;:::i;:::-;6302:9;6297:256;6317:8;:15;6313:1;:19;6297:256;;;6353:189;6392:17;6427:8;6436:1;6427:11;;;;;;;;;;;;;;6456:12;6469:1;6456:15;;;;;;;;;;;;;;6497:8;6506:1;6497:11;;;;;;;;;;;;;;-1:-1:-1::0;;;;;6489:37:206::1;;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;::::0;;::::1;-1:-1:-1::0;;6489:39:206::1;::::0;::::1;;::::0;::::1;::::0;;;::::1;::::0;::::1;:::i;:::-;6353:21;:189::i;:::-;6334:3;;6297:256;;;;891:1:226;;5560:999:206::0;;;;:::o;2489:299:354:-;2595:17;2633:9;2628:132;2648:5;:12;2644:1;:16;2628:132;;;2696:5;2702:1;2696:8;;;;;;;;;;;;;;-1:-1:-1;;;;;2685:19:354;:7;-1:-1:-1;;;;;2685:19:354;;2681:69;;;2731:4;2724:11;;;;;2681:69;2662:3;;2628:132;;;-1:-1:-1;2776:5:354;;2489:299;-1:-1:-1;;;2489:299:354:o;983:367:230:-;1029:32;1096:2;1077:8;:21;;;;:68;;;1116:29;:27;:29::i;:::-;-1:-1:-1;;;;;1102:43:230;:10;-1:-1:-1;;;;;1102:43:230;;1077:68;1073:243;;;-1:-1:-1;;;1233:14:230;1229:23;1216:37;1212:2;1208:46;1282:23;;1073:243;-1:-1:-1;1333:10:230;983:367;:::o;569:515:354:-;727:12;;678:13;;;749:303;769:9;765:1;:13;749:303;;;815:13;-1:-1:-1;;;;;803:25:354;:5;809:1;803:8;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;803:8:354;:25;799:243;;;868:1;856:9;:13;852:1;:17;848:95;;;904:5;922:1;910:9;:13;904:20;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;904:20:354;893:5;899:1;893:8;;;;;;;;;;;;;;;;:31;;;;;-1:-1:-1;;;;;893:31:354;;;;;-1:-1:-1;;;;;893:31:354;;;;;;848:95;960:5;:11;;;;;;;;;;;;;;;;-1:-1:-1;;960:11:354;;;;;-1:-1:-1;;;;;;960:11:354;;;;;;;;-1:-1:-1;1022:5:354;;799:243;780:3;;749:303;;;;1062:15;569:515;;;;:::o;10572:283:206:-;10689:22;10755:28;10746:5;:37;;;;;;;;;:102;;;-1:-1:-1;10808:40:206;10799:5;:49;;;;;;;;;10727:121;10572:283;-1:-1:-1;;10572:283:206:o;8905:792::-;9133:20;;:24;9129:121;;9173:66;;-1:-1:-1;;;9173:66:206;;-1:-1:-1;;;;;9173:32:206;;;;;:66;;9206:17;;9225:13;;9173:66;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9129:121;9287:9;9282:330;9302:6;:13;9298:1;:17;9282:330;;;9362:67;9391:17;9410:6;9417:1;9410:9;;;;;;;;;;;;;;9421:7;9362:28;:67::i;:::-;9361:68;9336:175;;;;-1:-1:-1;;;9336:175:206;;;;;;;:::i;:::-;-1:-1:-1;;;;;9525:51:206;;;;;;:32;:51;;;;;9577:9;;9525:51;;;9577:6;;9584:1;;9577:9;;;;;;;;;;;;9525:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9525:62:206;;;:76;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;9525:76:206;-1:-1:-1;;;;;9525:76:206;;;;;9317:3;9282:330;;;;9667:7;-1:-1:-1;;;;;9627:63:206;9648:17;-1:-1:-1;;;;;9627:63:206;;9676:13;9627:63;;;;;;:::i;:::-;;;;;;;;8905:792;;;;:::o;8681:153::-;8776:51;;-1:-1:-1;;;8776:51:206;;-1:-1:-1;;;;;8776:32:206;;;;;:51;;8809:17;;8776:51;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9766:621;9843:43;;:::i;:::-;9902:478;;;;;;;;;;-1:-1:-1;9902:478:206;;;;9961:32;9902:478;;;;10007:28;9902:478;;;;10049:40;9902:478;;;;10103:27;9902:478;;;;10144:30;9902:478;;;;10188:33;9902:478;;;;10235:37;9902:478;;;;10286:33;9902:478;;;;10333:37;9902:478;;;-1:-1:-1;9766:621:206;:::o;2967:924:354:-;3090:27;3133:26;3174:9;3169:164;3189:13;:20;3185:1;:24;3169:164;;;3235:33;3244:5;3251:13;3265:1;3251:16;;;;;;;;;;;;;;3235:8;:33::i;:::-;3230:93;;3288:20;;;;;3230:93;3211:3;;3169:164;;;-1:-1:-1;3347:23:354;3343:66;;3393:5;3386:12;;;;;3343:66;3461:18;3446:5;:12;:33;3432:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3432:48:354;;3419:61;;3495:9;3490:88;3510:5;:12;3506:1;:16;3490:88;;;3559:5;3565:1;3559:8;;;;;;;;;;;;;;3543:10;3554:1;3543:13;;;;;;;;-1:-1:-1;;;;;3543:24:354;;;:13;;;;;;;;;;;:24;3524:3;;3490:88;;;-1:-1:-1;3612:12:354;;3587:22;3634:223;3654:13;:20;3650:1;:24;3634:223;;;3700:33;3709:5;3716:13;3730:1;3716:16;;;;;;;3700:33;3695:152;;3782:13;3796:1;3782:16;;;;;;;;;;;;;;3753:10;3764:14;3753:26;;;;;;;;-1:-1:-1;;;;;3753:45:354;;;:26;;;;;;;;;;;:45;3816:16;;;;;3695:152;3676:3;;3634:223;;;;3867:17;;2967:924;;;;:::o;2172:246:226:-;-1:-1:-1;;;;;2273:47:226;;;:28;:47;;;;;;;;;;;:61;;-1:-1:-1;;;;;;2273:61:226;;;;;;;;;2350;;;2273:28;2350:61;2172:246;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;:::o;5:130::-;72:20;;97:33;72:20;97:33;:::i;142:134::-;220:13;;238:33;220:13;238:33;:::i;301:707::-;;418:3;411:4;403:6;399:17;395:27;385:2;;436:1;433;426:12;385:2;473:6;460:20;495:80;510:64;567:6;510:64;:::i;:::-;495:80;:::i;:::-;486:89;;592:5;617:6;610:5;603:21;647:4;639:6;635:17;625:27;;669:4;664:3;660:14;653:21;;722:6;769:3;761:4;753:6;749:17;744:3;740:27;737:36;734:2;;;786:1;783;776:12;734:2;811:1;796:206;821:6;818:1;815:13;796:206;;;879:3;901:37;934:3;922:10;901:37;:::i;:::-;889:50;;-1:-1;962:4;953:14;;;;981;;;;;843:1;836:9;796:206;;;800:14;378:630;;;;;;;:::o;1032:705::-;;1158:3;1151:4;1143:6;1139:17;1135:27;1125:2;;1176:1;1173;1166:12;1125:2;1213:6;1200:20;1235:89;1250:73;1316:6;1250:73;:::i;1235:89::-;1352:21;;;1396:4;1384:17;;;;1226:98;;-1:-1;1409:14;;1384:17;1504:1;1489:242;1514:6;1511:1;1508:13;1489:242;;;1597:3;1584:17;1576:6;1572:30;1621:46;1663:3;1651:10;1621:46;:::i;:::-;1609:59;;-1:-1;1691:4;1682:14;;;;1710;;;;;1536:1;1529:9;1489:242;;1786:770;;1930:3;1923:4;1915:6;1911:17;1907:27;1897:2;;1948:1;1945;1938:12;1897:2;1978:6;1972:13;2000:96;2015:80;2088:6;2015:80;:::i;2000:96::-;1991:105;;2113:5;2138:6;2131:5;2124:21;2168:4;2160:6;2156:17;2146:27;;2190:4;2185:3;2181:14;2174:21;;2243:6;2290:3;2282:4;2274:6;2270:17;2265:3;2261:27;2258:36;2255:2;;;2307:1;2304;2297:12;2255:2;2332:1;2317:233;2342:6;2339:1;2336:13;2317:233;;;2400:3;2422:64;2482:3;2470:10;2422:64;:::i;:::-;2410:77;;-1:-1;2510:4;2501:14;;;;2529;;;;;2364:1;2357:9;2317:233;;2564:124;2628:20;;2653:30;2628:20;2653:30;:::i;2695:128::-;2770:13;;2788:30;2770:13;2788:30;:::i;2844:336::-;;;2958:3;2951:4;2943:6;2939:17;2935:27;2925:2;;2976:1;2973;2966:12;2925:2;-1:-1;2996:20;;3036:18;3025:30;;3022:2;;;3068:1;3065;3058:12;3022:2;3102:4;3094:6;3090:17;3078:29;;3153:3;3145:4;3137:6;3133:17;3123:8;3119:32;3116:41;3113:2;;;3170:1;3167;3160:12;3113:2;2918:262;;;;;:::o;3189:440::-;;3290:3;3283:4;3275:6;3271:17;3267:27;3257:2;;3308:1;3305;3298:12;3257:2;3345:6;3332:20;3367:64;3382:48;3423:6;3382:48;:::i;3367:64::-;3358:73;;3451:6;3444:5;3437:21;3487:4;3479:6;3475:17;3520:4;3513:5;3509:16;3555:3;3546:6;3541:3;3537:16;3534:25;3531:2;;;3572:1;3569;3562:12;3531:2;3582:41;3616:6;3611:3;3606;3582:41;:::i;3637:162::-;3720:20;;3745:49;3720:20;3745:49;:::i;3806:166::-;3900:13;;3918:49;3900:13;3918:49;:::i;3980:444::-;;4093:3;4086:4;4078:6;4074:17;4070:27;4060:2;;4111:1;4108;4101:12;4060:2;4141:6;4135:13;4163:65;4178:49;4220:6;4178:49;:::i;4163:65::-;4154:74;;4248:6;4241:5;4234:21;4284:4;4276:6;4272:17;4317:4;4310:5;4306:16;4352:3;4343:6;4338:3;4334:16;4331:25;4328:2;;;4369:1;4366;4359:12;4328:2;4379:39;4411:6;4406:3;4401;4379:39;:::i;4432:130::-;4499:20;;4524:33;4499:20;4524:33;:::i;4569:241::-;;4673:2;4661:9;4652:7;4648:23;4644:32;4641:2;;;4689:1;4686;4679:12;4641:2;4724:1;4741:53;4786:7;4766:9;4741:53;:::i;4817:263::-;;4932:2;4920:9;4911:7;4907:23;4903:32;4900:2;;;4948:1;4945;4938:12;4900:2;4983:1;5000:64;5056:7;5036:9;5000:64;:::i;5087:366::-;;;5208:2;5196:9;5187:7;5183:23;5179:32;5176:2;;;5224:1;5221;5214:12;5176:2;5259:1;5276:53;5321:7;5301:9;5276:53;:::i;:::-;5266:63;;5238:97;5366:2;5384:53;5429:7;5420:6;5409:9;5405:22;5384:53;:::i;:::-;5374:63;;5345:98;5170:283;;;;;:::o;5460:615::-;;;;;5617:2;5605:9;5596:7;5592:23;5588:32;5585:2;;;5633:1;5630;5623:12;5585:2;5668:1;5685:53;5730:7;5710:9;5685:53;:::i;:::-;5675:63;;5647:97;5775:2;5793:53;5838:7;5829:6;5818:9;5814:22;5793:53;:::i;:::-;5783:63;;5754:98;5911:2;5900:9;5896:18;5883:32;5935:18;5927:6;5924:30;5921:2;;;5967:1;5964;5957:12;5921:2;5995:64;6051:7;6042:6;6031:9;6027:22;5995:64;:::i;:::-;5579:496;;;;-1:-1;5977:82;-1:-1;;;;5579:496::o;6082:398::-;;;6219:2;6207:9;6198:7;6194:23;6190:32;6187:2;;;6235:1;6232;6225:12;6187:2;6270:1;6287:53;6332:7;6312:9;6287:53;:::i;:::-;6277:63;;6249:97;6377:2;6395:69;6456:7;6447:6;6436:9;6432:22;6395:69;:::i;6487:523::-;;;;6641:2;6629:9;6620:7;6616:23;6612:32;6609:2;;;6657:1;6654;6647:12;6609:2;6692:1;6709:53;6754:7;6734:9;6709:53;:::i;:::-;6699:63;;6671:97;6799:2;6817:69;6878:7;6869:6;6858:9;6854:22;6817:69;:::i;:::-;6807:79;;6778:114;6923:2;6941:53;6986:7;6977:6;6966:9;6962:22;6941:53;:::i;:::-;6931:63;;6902:98;6603:407;;;;;:::o;7017:647::-;;;;;7190:2;7178:9;7169:7;7165:23;7161:32;7158:2;;;7206:1;7203;7196:12;7158:2;7241:1;7258:53;7303:7;7283:9;7258:53;:::i;:::-;7248:63;;7220:97;7348:2;7366:69;7427:7;7418:6;7407:9;7403:22;7366:69;:::i;7671:615::-;;;;;7828:2;7816:9;7807:7;7803:23;7799:32;7796:2;;;7844:1;7841;7834:12;7796:2;7879:1;7896:53;7941:7;7921:9;7896:53;:::i;:::-;7886:63;;7858:97;7986:2;8004:53;8049:7;8040:6;8029:9;8025:22;8004:53;:::i;8293:656::-;;;8473:2;8461:9;8452:7;8448:23;8444:32;8441:2;;;8489:1;8486;8479:12;8441:2;8524:31;;8575:18;8564:30;;8561:2;;;8607:1;8604;8597:12;8561:2;8627:78;8697:7;8688:6;8677:9;8673:22;8627:78;:::i;:::-;8617:88;;8503:208;8770:2;8759:9;8755:18;8742:32;8794:18;8786:6;8783:30;8780:2;;;8826:1;8823;8816:12;8780:2;8846:87;8925:7;8916:6;8905:9;8901:22;8846:87;:::i;8956:424::-;;9112:2;9100:9;9091:7;9087:23;9083:32;9080:2;;;9128:1;9125;9118:12;9080:2;9163:24;;9207:18;9196:30;;9193:2;;;9239:1;9236;9229:12;9193:2;9259:105;9356:7;9347:6;9336:9;9332:22;9259:105;:::i;9387:235::-;;9488:2;9476:9;9467:7;9463:23;9459:32;9456:2;;;9504:1;9501;9494:12;9456:2;9539:1;9556:50;9598:7;9578:9;9556:50;:::i;9629:257::-;;9741:2;9729:9;9720:7;9716:23;9712:32;9709:2;;;9757:1;9754;9747:12;9709:2;9792:1;9809:61;9862:7;9842:9;9809:61;:::i;9893:362::-;;10018:2;10006:9;9997:7;9993:23;9989:32;9986:2;;;10034:1;10031;10024:12;9986:2;10069:24;;10113:18;10102:30;;10099:2;;;10145:1;10142;10135:12;10099:2;10165:74;10231:7;10222:6;10211:9;10207:22;10165:74;:::i;10263:173::-;;10350:46;10392:3;10384:6;10350:46;:::i;:::-;-1:-1;;10425:4;10416:14;;10343:93::o;10444:103::-;10517:24;10535:5;10517:24;:::i;:::-;10512:3;10505:37;10499:48;;:::o;10705:690::-;;10850:54;10898:5;10850:54;:::i;:::-;10917:86;10996:6;10991:3;10917:86;:::i;:::-;10910:93;;11024:56;11074:5;11024:56;:::i;:::-;11100:7;11128:1;11113:260;11138:6;11135:1;11132:13;11113:260;;;11205:6;11199:13;11226:63;11285:3;11270:13;11226:63;:::i;:::-;11219:70;;11306:60;11359:6;11306:60;:::i;:::-;11296:70;-1:-1;;11160:1;11153:9;11113:260;;;-1:-1;11386:3;;10829:566;-1:-1;;;;;10829:566::o;11403:104::-;11480:21;11495:5;11480:21;:::i;11537:297::-;;11651:70;11714:6;11709:3;11651:70;:::i;:::-;11644:77;;11733:43;11769:6;11764:3;11757:5;11733:43;:::i;:::-;11798:29;11820:6;11798:29;:::i;:::-;11789:39;;;;11637:197;-1:-1;;;11637:197::o;11842:343::-;;11952:38;11984:5;11952:38;:::i;:::-;12002:70;12065:6;12060:3;12002:70;:::i;:::-;11995:77;;12077:52;12122:6;12117:3;12110:4;12103:5;12099:16;12077:52;:::i;:::-;12150:29;12172:6;12150:29;:::i;12192:154::-;12289:51;12334:5;12289:51;:::i;12707:360::-;;12837:39;12870:5;12837:39;:::i;:::-;12888:89;12970:6;12965:3;12888:89;:::i;:::-;12881:96;;12982:52;13027:6;13022:3;13015:4;13008:5;13004:16;12982:52;:::i;:::-;13046:16;;;;;12817:250;-1:-1;;12817:250::o;13075:441::-;;13235:67;13299:2;13294:3;13235:67;:::i;:::-;13335:34;13315:55;;13404:34;13399:2;13390:12;;13383:56;-1:-1;;;13468:2;13459:12;;13452:27;13507:2;13498:12;;13221:295;-1:-1;;13221:295::o;13525:439::-;;13685:67;13749:2;13744:3;13685:67;:::i;:::-;13785:34;13765:55;;13854:34;13849:2;13840:12;;13833:56;-1:-1;;;13918:2;13909:12;;13902:25;13955:2;13946:12;;13671:293;-1:-1;;13671:293::o;13973:361::-;;14151:85;14233:2;14228:3;14151:85;:::i;:::-;14269:27;14249:48;;14325:2;14316:12;;14137:197;-1:-1;;14137:197::o;14343:373::-;;14503:67;14567:2;14562:3;14503:67;:::i;:::-;14603:34;14583:55;;-1:-1;;;14667:2;14658:12;;14651:28;14707:2;14698:12;;14489:227;-1:-1;;14489:227::o;14725:392::-;;14885:67;14949:2;14944:3;14885:67;:::i;:::-;14985:34;14965:55;;15054:25;15049:2;15040:12;;15033:47;15108:2;15099:12;;14871:246;-1:-1;;14871:246::o;15126:377::-;;15286:67;15350:2;15345:3;15286:67;:::i;:::-;15386:34;15366:55;;-1:-1;;;15450:2;15441:12;;15434:32;15494:2;15485:12;;15272:231;-1:-1;;15272:231::o;15512:385::-;;15672:67;15736:2;15731:3;15672:67;:::i;:::-;15772:34;15752:55;;-1:-1;;;15836:2;15827:12;;15820:40;15888:2;15879:12;;15658:239;-1:-1;;15658:239::o;15906:385::-;;16066:67;16130:2;16125:3;16066:67;:::i;:::-;16166:34;16146:55;;-1:-1;;;16230:2;16221:12;;16214:40;16282:2;16273:12;;16052:239;-1:-1;;16052:239::o;16300:379::-;;16460:67;16524:2;16519:3;16460:67;:::i;:::-;16560:34;16540:55;;-1:-1;;;16624:2;16615:12;;16608:34;16670:2;16661:12;;16446:233;-1:-1;;16446:233::o;16687:542::-;;16943:148;17087:3;16943:148;:::i;:::-;16936:155;;17109:95;17200:3;17191:6;17109:95;:::i;:::-;17102:102;16924:305;-1:-1;;;16924:305::o;17236:222::-;17363:2;17348:18;;17377:71;17352:9;17421:6;17377:71;:::i;17465:437::-;17648:2;17633:18;;17662:71;17637:9;17706:6;17662:71;:::i;:::-;17781:9;17775:4;17771:20;17766:2;17755:9;17751:18;17744:48;17806:86;17887:4;17878:6;17870;17806:86;:::i;:::-;17798:94;17619:283;-1:-1;;;;;17619:283::o;17909:417::-;18082:2;18067:18;;18096:71;18071:9;18140:6;18096:71;:::i;:::-;18215:9;18209:4;18205:20;18200:2;18189:9;18185:18;18178:48;18240:76;18311:4;18302:6;18240:76;:::i;18333:576::-;18558:2;18543:18;;18572:71;18547:9;18616:6;18572:71;:::i;:::-;18654:86;18736:2;18725:9;18721:18;18712:6;18654:86;:::i;:::-;18788:9;18782:4;18778:20;18773:2;18762:9;18758:18;18751:48;18813:86;18894:4;18885:6;18877;18813:86;:::i;:::-;18805:94;18529:380;-1:-1;;;;;;18529:380::o;18916:370::-;19093:2;19107:47;;;19078:18;;19168:108;19078:18;19262:6;19168:108;:::i;19293:210::-;19414:2;19399:18;;19428:65;19403:9;19466:6;19428:65;:::i;19510:306::-;19655:2;19669:47;;;19640:18;;19730:76;19640:18;19792:6;19730:76;:::i;20140:416::-;20340:2;20354:47;;;20325:18;;20415:131;20325:18;20415:131;:::i;20563:416::-;20763:2;20777:47;;;20748:18;;20838:131;20748:18;20838:131;:::i;20986:416::-;21186:2;21200:47;;;21171:18;;21261:131;21171:18;21261:131;:::i;21409:416::-;21609:2;21623:47;;;21594:18;;21684:131;21594:18;21684:131;:::i;21832:416::-;22032:2;22046:47;;;22017:18;;22107:131;22017:18;22107:131;:::i;22255:416::-;22455:2;22469:47;;;22440:18;;22530:131;22440:18;22530:131;:::i;22678:416::-;22878:2;22892:47;;;22863:18;;22953:131;22863:18;22953:131;:::i;23101:416::-;23301:2;23315:47;;;23286:18;;23376:131;23286:18;23376:131;:::i;23524:256::-;23586:2;23580:9;23612:17;;;23687:18;23672:34;;23708:22;;;23669:62;23666:2;;;23744:1;23741;23734:12;23666:2;23760;23753:22;23564:216;;-1:-1;23564:216::o;23787:304::-;;23946:18;23938:6;23935:30;23932:2;;;23978:1;23975;23968:12;23932:2;-1:-1;24013:4;24001:17;;;24066:15;;23869:222::o;24745:321::-;;24888:18;24880:6;24877:30;24874:2;;;24920:1;24917;24910:12;24874:2;-1:-1;25051:4;24987;24964:17;;;;-1:-1;;24960:33;25041:15;;24811:255::o;25402:151::-;25526:4;25517:14;;25474:79::o;25560:137::-;25663:12;;25634:63::o;26077:178::-;26195:19;;;26244:4;26235:14;;26188:67::o;26760:91::-;;26822:24;26840:5;26822:24;:::i;26858:85::-;26924:13;26917:21;;26900:43::o;26950:138::-;27028:5;27034:49;27028:5;27034:49;:::i;27095:121::-;-1:-1;;;;;27157:54;;27140:76::o;27302:138::-;;27395:40;27429:5;27395:40;:::i;27448:145::-;27529:6;27524:3;27519;27506:30;-1:-1;27585:1;27567:16;;27560:27;27499:94::o;27602:268::-;27667:1;27674:101;27688:6;27685:1;27682:13;27674:101;;;27755:11;;;27749:18;27736:11;;;27729:39;27710:2;27703:10;27674:101;;;27790:6;27787:1;27784:13;27781:2;;;-1:-1;;27855:1;27837:16;;27830:27;27651:219::o;27878:97::-;27966:2;27946:14;-1:-1;;27942:28;;27926:49::o;27983:108::-;28068:2;28061:5;28058:13;28048:2;;28075:9;28048:2;28042:49;:::o;28098:117::-;28167:24;28185:5;28167:24;:::i;:::-;28160:5;28157:35;28147:2;;28206:1;28203;28196:12;28222:111;28288:21;28303:5;28288:21;:::i;28340:111::-;28425:2;28418:5;28415:13;28405:2;;28442:1;28439;28432:12;28458:117;28527:24;28545:5;28527:24;:::i", - "linkReferences": {}, - "immutableReferences": { - "62077": [ - { - "start": 3482, - "length": 32 - } - ], - "78707": [ - { - "start": 3110, - "length": 32 - }, - { - "start": 3446, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "activateForFund(bool)": "80d57063", - "deactivateForFund()": "bd8e959a", - "disablePolicyForFund(address,address)": "45d582e7", - "enablePolicyForFund(address,address,bytes)": "48f35209", - "getEnabledPoliciesForFund(address)": "8af6d89e", - "getEnabledPoliciesOnHookForFund(address,uint8)": "8aa740b4", - "getFundDeployer()": "97c0ac87", - "getGasRelayPaymasterFactory()": "ac259456", - "getGasRelayTrustedForwarder()": "6ea21143", - "getOwner()": "893d20e8", - "getVaultProxyForFund(address)": "46790346", - "policyIsEnabledOnHookForFund(address,uint8,address)": "248a2aab", - "receiveCallFromComptroller(address,uint256,bytes)": "1bee801e", - "setConfigForFund(address,address,bytes)": "f067cc11", - "updatePolicySettingsForFund(address,address,bytes)": "4ed28b3f", - "validatePolicies(address,uint8,bytes)": "0442bad5" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_fundDeployer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_gasRelayPaymasterFactory\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"policy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"enum IPolicyManager.PolicyHook\",\"name\":\"hook\",\"type\":\"uint8\"}],\"name\":\"PolicyDisabledOnHookForFund\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"policy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"settingsData\",\"type\":\"bytes\"}],\"name\":\"PolicyEnabledForFund\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"vaultProxy\",\"type\":\"address\"}],\"name\":\"ValidatedVaultProxySetForFund\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"_isMigratedFund\",\"type\":\"bool\"}],\"name\":\"activateForFund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"deactivateForFund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_policy\",\"type\":\"address\"}],\"name\":\"disablePolicyForFund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_policy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_settingsData\",\"type\":\"bytes\"}],\"name\":\"enablePolicyForFund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"}],\"name\":\"getEnabledPoliciesForFund\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"enabledPolicies_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"enum IPolicyManager.PolicyHook\",\"name\":\"_hook\",\"type\":\"uint8\"}],\"name\":\"getEnabledPoliciesOnHookForFund\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"enabledPolicies_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFundDeployer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"fundDeployer_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getGasRelayPaymasterFactory\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"gasRelayPaymasterFactory_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getGasRelayTrustedForwarder\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"trustedForwarder_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"}],\"name\":\"getVaultProxyForFund\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"vaultProxy_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"enum IPolicyManager.PolicyHook\",\"name\":\"_hook\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"_policy\",\"type\":\"address\"}],\"name\":\"policyIsEnabledOnHookForFund\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isEnabled_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"receiveCallFromComptroller\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_configData\",\"type\":\"bytes\"}],\"name\":\"setConfigForFund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_policy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_settingsData\",\"type\":\"bytes\"}],\"name\":\"updatePolicySettingsForFund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"enum IPolicyManager.PolicyHook\",\"name\":\"_hook\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"_validationData\",\"type\":\"bytes\"}],\"name\":\"validatePolicies\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"Any arbitrary fee is allowed by default, so all participants must be aware of their fund's configuration, especially whether they use official policies only. Policies that restrict current investors can only be added upon fund setup, migration, or reconfiguration. Policies that restrict new investors or asset management actions can be added at any time. Policies themselves specify whether or not they are allowed to be updated or removed.\",\"kind\":\"dev\",\"methods\":{\"activateForFund(bool)\":{\"details\":\"There will be no enabledPolicies if the caller is not a valid ComptrollerProxy\",\"params\":{\"_isMigratedFund\":\"True if the fund is migrating to this release\"}},\"deactivateForFund()\":{\"details\":\"Unimplemented by default, may be overridden.\"},\"disablePolicyForFund(address,address)\":{\"details\":\"If an arbitrary policy changes its `implementedHooks()` return values after it is already enabled on a fund, then this will not correctly disable the policy from any removed hook values.\",\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\",\"_policy\":\"The policy address to disable\"}},\"enablePolicyForFund(address,address,bytes)\":{\"details\":\"Disabling a policy does not delete fund config on the policy, so if a policy is disabled and then enabled again, its initial state will be the previous config. It is the policy's job to determine how to merge that config with the _settingsData param in this function.\",\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\",\"_policy\":\"The policy address to enable\",\"_settingsData\":\"The encoded settings data with which to configure the policy\"}},\"getEnabledPoliciesForFund(address)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy\"},\"returns\":{\"enabledPolicies_\":\"The array of enabled policy addresses\"}},\"getEnabledPoliciesOnHookForFund(address,uint8)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy\",\"_hook\":\"The PolicyHook\"},\"returns\":{\"enabledPolicies_\":\"The array of enabled policy addresses\"}},\"getFundDeployer()\":{\"returns\":{\"fundDeployer_\":\"The `FUND_DEPLOYER` variable value\"}},\"getGasRelayPaymasterFactory()\":{\"returns\":{\"gasRelayPaymasterFactory_\":\"The `GAS_RELAY_PAYMASTER_FACTORY` variable value\"}},\"getGasRelayTrustedForwarder()\":{\"returns\":{\"trustedForwarder_\":\"The trusted forwarder\"}},\"getOwner()\":{\"details\":\"Ownership is deferred to the owner of the FundDeployer contract\",\"returns\":{\"owner_\":\"The owner\"}},\"getVaultProxyForFund(address)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\"},\"returns\":{\"vaultProxy_\":\"The VaultProxy of the fund\"}},\"policyIsEnabledOnHookForFund(address,uint8,address)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy\",\"_hook\":\"The PolicyHook\",\"_policy\":\"The policy\"},\"returns\":{\"isEnabled_\":\"True if the policy is enabled\"}},\"receiveCallFromComptroller(address,uint256,bytes)\":{\"details\":\"Unimplemented by default, may be overridden.\"},\"setConfigForFund(address,address,bytes)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\",\"_configData\":\"Encoded config data\",\"_vaultProxy\":\"The VaultProxy of the fund\"}},\"updatePolicySettingsForFund(address,address,bytes)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\",\"_policy\":\"The Policy contract to update\",\"_settingsData\":\"The encoded settings data with which to update the policy config\"}},\"validatePolicies(address,uint8,bytes)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\",\"_hook\":\"The PolicyHook for which to validate policies\",\"_validationData\":\"The encoded data with which to validate the filtered policies\"}}},\"title\":\"PolicyManager Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"activateForFund(bool)\":{\"notice\":\"Validates and initializes policies as necessary prior to fund activation\"},\"deactivateForFund()\":{\"notice\":\"Allows extension to run logic during fund deactivation (destruct)\"},\"disablePolicyForFund(address,address)\":{\"notice\":\"Disables a policy for a fund\"},\"enablePolicyForFund(address,address,bytes)\":{\"notice\":\"Enables a policy for a fund\"},\"getEnabledPoliciesForFund(address)\":{\"notice\":\"Get a list of enabled policies for the given fund\"},\"getEnabledPoliciesOnHookForFund(address,uint8)\":{\"notice\":\"Get a list of enabled policies that run on a given hook for the given fund\"},\"getFundDeployer()\":{\"notice\":\"Gets the `FUND_DEPLOYER` variable\"},\"getGasRelayPaymasterFactory()\":{\"notice\":\"Gets the `GAS_RELAY_PAYMASTER_FACTORY` variable\"},\"getGasRelayTrustedForwarder()\":{\"notice\":\"Gets the trusted forwarder for GSN relaying\"},\"getOwner()\":{\"notice\":\"Gets the owner of this contract\"},\"getVaultProxyForFund(address)\":{\"notice\":\"Gets the verified VaultProxy for a given ComptrollerProxy\"},\"policyIsEnabledOnHookForFund(address,uint8,address)\":{\"notice\":\"Check whether a given policy runs on a given hook for a given fund\"},\"receiveCallFromComptroller(address,uint256,bytes)\":{\"notice\":\"Receives calls from ComptrollerLib.callOnExtension() and dispatches the appropriate action\"},\"setConfigForFund(address,address,bytes)\":{\"notice\":\"Enable policies for use in a fund\"},\"updatePolicySettingsForFund(address,address,bytes)\":{\"notice\":\"Updates policy settings for a fund\"},\"validatePolicies(address,uint8,bytes)\":{\"notice\":\"Validates all policies that apply to a given hook for a fund\"}},\"notice\":\"Manages policies for funds\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/policy-manager/PolicyManager.sol\":\"PolicyManager\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/vault/interfaces/IExternalPositionVault.sol\":{\"keccak256\":\"0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d\",\"dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8\"]},\"contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol\":{\"keccak256\":\"0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb\",\"dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU\"]},\"contracts/persistent/vault/interfaces/IMigratableVault.sol\":{\"keccak256\":\"0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6\",\"dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs\"]},\"contracts/persistent/vault/interfaces/IVaultCore.sol\":{\"keccak256\":\"0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd\",\"dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr\"]},\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/core/fund/comptroller/IComptroller.sol\":{\"keccak256\":\"0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97\",\"dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L\"]},\"contracts/release/core/fund/vault/IVault.sol\":{\"keccak256\":\"0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599\",\"dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG\"]},\"contracts/release/extensions/IExtension.sol\":{\"keccak256\":\"0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70\",\"dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t\"]},\"contracts/release/extensions/policy-manager/IPolicy.sol\":{\"keccak256\":\"0xc12663ca72065b256c3b934ab738fde26c147c7b0399de43650df89dd52ee467\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://be8fecfcba0f3fda615f0a1bb3c766750c23761ef751d7c4472dfe540e460cd1\",\"dweb:/ipfs/QmaarPoRTsX6NiJ8V4u2f3Qh6d7tUs28bw9R14An3t5Bs1\"]},\"contracts/release/extensions/policy-manager/IPolicyManager.sol\":{\"keccak256\":\"0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa\",\"dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb\"]},\"contracts/release/extensions/policy-manager/PolicyManager.sol\":{\"keccak256\":\"0xd15a53daee1148a76df4e0de9a3d77181f0134a0cf4c815f222e16a352ac3ac0\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a58b2508954f047e4c613da8dee716cd573a1f15061893dc7c00e71ee6a4e465\",\"dweb:/ipfs/QmcSpn8RhvicFaXPcG9KoveX6t6wvfsFRuz63pVZsEJcda\"]},\"contracts/release/extensions/utils/ExtensionBase.sol\":{\"keccak256\":\"0xae68767766f6459bd2cd9dbd39df74f2c2f68f2150885bbce410e4091c807bb1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ce4c49522a39f618cc76feb474260fe910949f38e83b5f4518f1f245ba6eb876\",\"dweb:/ipfs/QmZ4wciRpziZAS4HRQy44Sgzm4GM4Wzme9zYnABzR6Cbzo\"]},\"contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol\":{\"keccak256\":\"0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f\",\"dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol\":{\"keccak256\":\"0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0\",\"dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2\"]},\"contracts/release/interfaces/IGsnForwarder.sol\":{\"keccak256\":\"0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29\",\"dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G\"]},\"contracts/release/interfaces/IGsnPaymaster.sol\":{\"keccak256\":\"0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4\",\"dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF\"]},\"contracts/release/interfaces/IGsnTypes.sol\":{\"keccak256\":\"0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7\",\"dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/FundDeployerOwnerMixin.sol\":{\"keccak256\":\"0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927\",\"dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM\"]},\"contracts/release/utils/beacon-proxy/IBeacon.sol\":{\"keccak256\":\"0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39\",\"dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V\"]},\"contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol\":{\"keccak256\":\"0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be\",\"dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_fundDeployer", - "type": "address" - }, - { - "internalType": "address", - "name": "_gasRelayPaymasterFactory", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "comptrollerProxy", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "policy", - "type": "address", - "indexed": true - }, - { - "internalType": "enum IPolicyManager.PolicyHook", - "name": "hook", - "type": "uint8", - "indexed": true - } - ], - "type": "event", - "name": "PolicyDisabledOnHookForFund", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "comptrollerProxy", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "policy", - "type": "address", - "indexed": true - }, - { - "internalType": "bytes", - "name": "settingsData", - "type": "bytes", - "indexed": false - } - ], - "type": "event", - "name": "PolicyEnabledForFund", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "comptrollerProxy", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "vaultProxy", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "ValidatedVaultProxySetForFund", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "bool", - "name": "_isMigratedFund", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "activateForFund" - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "deactivateForFund" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_policy", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "disablePolicyForFund" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_policy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_settingsData", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "enablePolicyForFund" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getEnabledPoliciesForFund", - "outputs": [ - { - "internalType": "address[]", - "name": "enabledPolicies_", - "type": "address[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "enum IPolicyManager.PolicyHook", - "name": "_hook", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getEnabledPoliciesOnHookForFund", - "outputs": [ - { - "internalType": "address[]", - "name": "enabledPolicies_", - "type": "address[]" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getFundDeployer", - "outputs": [ - { - "internalType": "address", - "name": "fundDeployer_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getGasRelayPaymasterFactory", - "outputs": [ - { - "internalType": "address", - "name": "gasRelayPaymasterFactory_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getGasRelayTrustedForwarder", - "outputs": [ - { - "internalType": "address", - "name": "trustedForwarder_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "owner_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getVaultProxyForFund", - "outputs": [ - { - "internalType": "address", - "name": "vaultProxy_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "enum IPolicyManager.PolicyHook", - "name": "_hook", - "type": "uint8" - }, - { - "internalType": "address", - "name": "_policy", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "policyIsEnabledOnHookForFund", - "outputs": [ - { - "internalType": "bool", - "name": "isEnabled_", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "receiveCallFromComptroller" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_configData", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setConfigForFund" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_policy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_settingsData", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "updatePolicySettingsForFund" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "enum IPolicyManager.PolicyHook", - "name": "_hook", - "type": "uint8" - }, - { - "internalType": "bytes", - "name": "_validationData", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "validatePolicies" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "activateForFund(bool)": { - "details": "There will be no enabledPolicies if the caller is not a valid ComptrollerProxy", - "params": { - "_isMigratedFund": "True if the fund is migrating to this release" - } - }, - "deactivateForFund()": { - "details": "Unimplemented by default, may be overridden." - }, - "disablePolicyForFund(address,address)": { - "details": "If an arbitrary policy changes its `implementedHooks()` return values after it is already enabled on a fund, then this will not correctly disable the policy from any removed hook values.", - "params": { - "_comptrollerProxy": "The ComptrollerProxy of the fund", - "_policy": "The policy address to disable" - } - }, - "enablePolicyForFund(address,address,bytes)": { - "details": "Disabling a policy does not delete fund config on the policy, so if a policy is disabled and then enabled again, its initial state will be the previous config. It is the policy's job to determine how to merge that config with the _settingsData param in this function.", - "params": { - "_comptrollerProxy": "The ComptrollerProxy of the fund", - "_policy": "The policy address to enable", - "_settingsData": "The encoded settings data with which to configure the policy" - } - }, - "getEnabledPoliciesForFund(address)": { - "params": { - "_comptrollerProxy": "The ComptrollerProxy" - }, - "returns": { - "enabledPolicies_": "The array of enabled policy addresses" - } - }, - "getEnabledPoliciesOnHookForFund(address,uint8)": { - "params": { - "_comptrollerProxy": "The ComptrollerProxy", - "_hook": "The PolicyHook" - }, - "returns": { - "enabledPolicies_": "The array of enabled policy addresses" - } - }, - "getFundDeployer()": { - "returns": { - "fundDeployer_": "The `FUND_DEPLOYER` variable value" - } - }, - "getGasRelayPaymasterFactory()": { - "returns": { - "gasRelayPaymasterFactory_": "The `GAS_RELAY_PAYMASTER_FACTORY` variable value" - } - }, - "getGasRelayTrustedForwarder()": { - "returns": { - "trustedForwarder_": "The trusted forwarder" - } - }, - "getOwner()": { - "details": "Ownership is deferred to the owner of the FundDeployer contract", - "returns": { - "owner_": "The owner" - } - }, - "getVaultProxyForFund(address)": { - "params": { - "_comptrollerProxy": "The ComptrollerProxy of the fund" - }, - "returns": { - "vaultProxy_": "The VaultProxy of the fund" - } - }, - "policyIsEnabledOnHookForFund(address,uint8,address)": { - "params": { - "_comptrollerProxy": "The ComptrollerProxy", - "_hook": "The PolicyHook", - "_policy": "The policy" - }, - "returns": { - "isEnabled_": "True if the policy is enabled" - } - }, - "receiveCallFromComptroller(address,uint256,bytes)": { - "details": "Unimplemented by default, may be overridden." - }, - "setConfigForFund(address,address,bytes)": { - "params": { - "_comptrollerProxy": "The ComptrollerProxy of the fund", - "_configData": "Encoded config data", - "_vaultProxy": "The VaultProxy of the fund" - } - }, - "updatePolicySettingsForFund(address,address,bytes)": { - "params": { - "_comptrollerProxy": "The ComptrollerProxy of the fund", - "_policy": "The Policy contract to update", - "_settingsData": "The encoded settings data with which to update the policy config" - } - }, - "validatePolicies(address,uint8,bytes)": { - "params": { - "_comptrollerProxy": "The ComptrollerProxy of the fund", - "_hook": "The PolicyHook for which to validate policies", - "_validationData": "The encoded data with which to validate the filtered policies" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "activateForFund(bool)": { - "notice": "Validates and initializes policies as necessary prior to fund activation" - }, - "deactivateForFund()": { - "notice": "Allows extension to run logic during fund deactivation (destruct)" - }, - "disablePolicyForFund(address,address)": { - "notice": "Disables a policy for a fund" - }, - "enablePolicyForFund(address,address,bytes)": { - "notice": "Enables a policy for a fund" - }, - "getEnabledPoliciesForFund(address)": { - "notice": "Get a list of enabled policies for the given fund" - }, - "getEnabledPoliciesOnHookForFund(address,uint8)": { - "notice": "Get a list of enabled policies that run on a given hook for the given fund" - }, - "getFundDeployer()": { - "notice": "Gets the `FUND_DEPLOYER` variable" - }, - "getGasRelayPaymasterFactory()": { - "notice": "Gets the `GAS_RELAY_PAYMASTER_FACTORY` variable" - }, - "getGasRelayTrustedForwarder()": { - "notice": "Gets the trusted forwarder for GSN relaying" - }, - "getOwner()": { - "notice": "Gets the owner of this contract" - }, - "getVaultProxyForFund(address)": { - "notice": "Gets the verified VaultProxy for a given ComptrollerProxy" - }, - "policyIsEnabledOnHookForFund(address,uint8,address)": { - "notice": "Check whether a given policy runs on a given hook for a given fund" - }, - "receiveCallFromComptroller(address,uint256,bytes)": { - "notice": "Receives calls from ComptrollerLib.callOnExtension() and dispatches the appropriate action" - }, - "setConfigForFund(address,address,bytes)": { - "notice": "Enable policies for use in a fund" - }, - "updatePolicySettingsForFund(address,address,bytes)": { - "notice": "Updates policy settings for a fund" - }, - "validatePolicies(address,uint8,bytes)": { - "notice": "Validates all policies that apply to a given hook for a fund" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/policy-manager/PolicyManager.sol": "PolicyManager" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/vault/interfaces/IExternalPositionVault.sol": { - "keccak256": "0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6", - "urls": [ - "bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d", - "dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol": { - "keccak256": "0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0", - "urls": [ - "bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb", - "dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IMigratableVault.sol": { - "keccak256": "0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238", - "urls": [ - "bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6", - "dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IVaultCore.sol": { - "keccak256": "0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80", - "urls": [ - "bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd", - "dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund-deployer/IFundDeployer.sol": { - "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", - "urls": [ - "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", - "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/comptroller/IComptroller.sol": { - "keccak256": "0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f", - "urls": [ - "bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97", - "dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/vault/IVault.sol": { - "keccak256": "0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd", - "urls": [ - "bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599", - "dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/IExtension.sol": { - "keccak256": "0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b", - "urls": [ - "bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70", - "dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/policy-manager/IPolicy.sol": { - "keccak256": "0xc12663ca72065b256c3b934ab738fde26c147c7b0399de43650df89dd52ee467", - "urls": [ - "bzz-raw://be8fecfcba0f3fda615f0a1bb3c766750c23761ef751d7c4472dfe540e460cd1", - "dweb:/ipfs/QmaarPoRTsX6NiJ8V4u2f3Qh6d7tUs28bw9R14An3t5Bs1" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/policy-manager/IPolicyManager.sol": { - "keccak256": "0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32", - "urls": [ - "bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa", - "dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/policy-manager/PolicyManager.sol": { - "keccak256": "0xd15a53daee1148a76df4e0de9a3d77181f0134a0cf4c815f222e16a352ac3ac0", - "urls": [ - "bzz-raw://a58b2508954f047e4c613da8dee716cd573a1f15061893dc7c00e71ee6a4e465", - "dweb:/ipfs/QmcSpn8RhvicFaXPcG9KoveX6t6wvfsFRuz63pVZsEJcda" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/utils/ExtensionBase.sol": { - "keccak256": "0xae68767766f6459bd2cd9dbd39df74f2c2f68f2150885bbce410e4091c807bb1", - "urls": [ - "bzz-raw://ce4c49522a39f618cc76feb474260fe910949f38e83b5f4518f1f245ba6eb876", - "dweb:/ipfs/QmZ4wciRpziZAS4HRQy44Sgzm4GM4Wzme9zYnABzR6Cbzo" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol": { - "keccak256": "0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609", - "urls": [ - "bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f", - "dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol": { - "keccak256": "0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01", - "urls": [ - "bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0", - "dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IGsnForwarder.sol": { - "keccak256": "0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030", - "urls": [ - "bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29", - "dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IGsnPaymaster.sol": { - "keccak256": "0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c", - "urls": [ - "bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4", - "dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IGsnTypes.sol": { - "keccak256": "0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714", - "urls": [ - "bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7", - "dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AddressArrayLib.sol": { - "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", - "urls": [ - "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", - "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/FundDeployerOwnerMixin.sol": { - "keccak256": "0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934", - "urls": [ - "bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927", - "dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/beacon-proxy/IBeacon.sol": { - "keccak256": "0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2", - "urls": [ - "bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39", - "dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol": { - "keccak256": "0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc", - "urls": [ - "bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be", - "dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 206 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_fundDeployer", "type": "address", "internalType": "address" }, { "name": "_gasRelayPaymasterFactory", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "activateForFund", "inputs": [ { "name": "_isMigratedFund", "type": "bool", "internalType": "bool" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "deactivateForFund", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "disablePolicyForFund", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" }, { "name": "_policy", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "enablePolicyForFund", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" }, { "name": "_policy", "type": "address", "internalType": "address" }, { "name": "_settingsData", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "getEnabledPoliciesForFund", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "enabledPolicies_", "type": "address[]", "internalType": "address[]" } ], "stateMutability": "view" }, { "type": "function", "name": "getEnabledPoliciesOnHookForFund", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" }, { "name": "_hook", "type": "uint8", "internalType": "enum IPolicyManager.PolicyHook" } ], "outputs": [ { "name": "enabledPolicies_", "type": "address[]", "internalType": "address[]" } ], "stateMutability": "view" }, { "type": "function", "name": "getFundDeployer", "inputs": [], "outputs": [ { "name": "fundDeployer_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getGasRelayPaymasterFactory", "inputs": [], "outputs": [ { "name": "gasRelayPaymasterFactory_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getGasRelayTrustedForwarder", "inputs": [], "outputs": [ { "name": "trustedForwarder_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getOwner", "inputs": [], "outputs": [ { "name": "owner_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getVaultProxyForFund", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "vaultProxy_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "policyIsEnabledOnHookForFund", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" }, { "name": "_hook", "type": "uint8", "internalType": "enum IPolicyManager.PolicyHook" }, { "name": "_policy", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "isEnabled_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "receiveCallFromComptroller", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setConfigForFund", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" }, { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_configData", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "updatePolicySettingsForFund", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" }, { "name": "_policy", "type": "address", "internalType": "address" }, { "name": "_settingsData", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "validatePolicies", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" }, { "name": "_hook", "type": "uint8", "internalType": "enum IPolicyManager.PolicyHook" }, { "name": "_validationData", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "event", "name": "PolicyDisabledOnHookForFund", "inputs": [ { "name": "comptrollerProxy", "type": "address", "indexed": true, "internalType": "address" }, { "name": "policy", "type": "address", "indexed": true, "internalType": "address" }, { "name": "hook", "type": "uint8", "indexed": true, "internalType": "enum IPolicyManager.PolicyHook" } ], "anonymous": false }, { "type": "event", "name": "PolicyEnabledForFund", "inputs": [ { "name": "comptrollerProxy", "type": "address", "indexed": true, "internalType": "address" }, { "name": "policy", "type": "address", "indexed": true, "internalType": "address" }, { "name": "settingsData", "type": "bytes", "indexed": false, "internalType": "bytes" } ], "anonymous": false }, { "type": "event", "name": "ValidatedVaultProxySetForFund", "inputs": [ { "name": "comptrollerProxy", "type": "address", "indexed": true, "internalType": "address" }, { "name": "vaultProxy", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false } ], "bytecode": { "object": "0x60c06040523480156200001157600080fd5b50604051620021b8380380620021b8833981016040819052620000349162000066565b6001600160601b0319606092831b8116608052911b1660a052620000d1565b80516200006081620000b7565b92915050565b600080604083850312156200007a57600080fd5b600062000088858562000053565b92505060206200009b8582860162000053565b9150509250929050565b60006001600160a01b03821662000060565b620000c281620000a5565b8114620000ce57600080fd5b50565b60805160601c60a05160601c6120b86200010060003980610d9a525080610c265280610d7652506120b86000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c806380d570631161009757806397c0ac871161006657806397c0ac8714610205578063ac2594561461020d578063bd8e959a14610215578063f067cc111461021d57610100565b806380d57063146101b7578063893d20e8146101ca5780638aa740b4146101d25780638af6d89e146101f257610100565b806346790346116100d3578063467903461461016957806348f35209146101895780634ed28b3f1461019c5780636ea21143146101af57610100565b80630442bad5146101055780631bee801e1461011a578063248a2aab1461012d57806345d582e714610156575b600080fd5b6101186101133660046118a9565b610230565b005b6101186101283660046118dc565b610511565b61014061013b36600461185c565b610529565b60405161014d9190611ed6565b60405180910390f35b61011861016436600461178a565b610547565b61017c61017736600461174e565b6107ea565b60405161014d9190611e35565b6101186101973660046117c4565b61080b565b6101186101aa3660046117c4565b6109d0565b61017c610ae9565b6101186101c53660046119a3565b610bd9565b61017c610c22565b6101e56101e036600461182c565b610c7d565b60405161014d9190611ec5565b6101e561020036600461174e565b610d1f565b61017c610d74565b61017c610d98565b610118610dbc565b61011861022b3660046117c4565b610dbe565b606061023c8585610c7d565b905080516000141561024e575061050b565b336001600160a01b03861614806102e65750846001600160a01b031663e7c456906040518163ffffffff1660e01b815260040160206040518083038186803b15801561029957600080fd5b505afa1580156102ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102d1919061176c565b6001600160a01b0316336001600160a01b0316145b806103725750846001600160a01b031663b3fc38e96040518163ffffffff1660e01b815260040160206040518083038186803b15801561032557600080fd5b505afa158015610339573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061035d919061176c565b6001600160a01b0316336001600160a01b0316145b6103975760405162461bcd60e51b815260040161038e90611f15565b60405180910390fd5b60005b8151811015610508578181815181106103af57fe5b60200260200101516001600160a01b031663579be718878787876040518563ffffffff1660e01b81526004016103e89493929190611e8d565b602060405180830381600087803b15801561040257600080fd5b505af1158015610416573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061043a91906119c1565b82828151811061044657fe5b60200260200101516001600160a01b0316637998a1c46040518163ffffffff1660e01b815260040160006040518083038186803b15801561048657600080fd5b505afa15801561049a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526104c291908101906119df565b6040516020016104d29190611e17565b604051602081830303815290604052906104ff5760405162461bcd60e51b815260040161038e9190611ee4565b5060010161039a565b50505b50505050565b60405162461bcd60e51b815260040161038e90611f25565b600061053f826105398686610c7d565b90610f14565b949350505050565b81610551816107ea565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561058957600080fd5b505afa15801561059d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105c1919061176c565b6001600160a01b03166105d2610f6a565b6001600160a01b0316146105f85760405162461bcd60e51b815260040161038e90611f65565b816001600160a01b0316631ef925786040518163ffffffff1660e01b815260040160206040518083038186803b15801561063157600080fd5b505afa158015610645573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061066991906119c1565b6106855760405162461bcd60e51b815260040161038e90611f45565b6060826001600160a01b031663cbf54bb26040518163ffffffff1660e01b815260040160006040518083038186803b1580156106c057600080fd5b505afa1580156106d4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526106fc919081019061196e565b905060005b81518110156107e3576001600160a01b03851660009081526001602052604081208351610772918791849087908790811061073857fe5b6020026020010151600981111561074b57fe5b600981111561075657fe5b8152602001908152602001600020610fae90919063ffffffff16565b905080156107da5782828151811061078657fe5b6020026020010151600981111561079957fe5b856001600160a01b0316876001600160a01b03167f672fd0d75642b1e8875f32a1c3f8197c03288c7215329c9a99336feafb801c0260405160405180910390a45b50600101610701565b5050505050565b6001600160a01b03808216600090815260208190526040902054165b919050565b83610815816107ea565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561084d57600080fd5b505afa158015610861573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610885919061176c565b6001600160a01b0316610896610f6a565b6001600160a01b0316146108bc5760405162461bcd60e51b815260040161038e90611f65565b6060846001600160a01b031663cbf54bb26040518163ffffffff1660e01b815260040160006040518083038186803b1580156108f757600080fd5b505afa15801561090b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610933919081019061196e565b905060005b81518110156109825761095d82828151811061095057fe5b60200260200101516110a6565b1561097a5760405162461bcd60e51b815260040161038e90611ef5565b600101610938565b506109c6868686868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508792506110d2915050565b610508868661125f565b836109da816107ea565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b158015610a1257600080fd5b505afa158015610a26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a4a919061176c565b6001600160a01b0316610a5b610f6a565b6001600160a01b031614610a815760405162461bcd60e51b815260040161038e90611f65565b60405162d4d75160e41b81526001600160a01b03851690630d4d751090610ab090889087908790600401611e43565b600060405180830381600087803b158015610aca57600080fd5b505af1158015610ade573d6000803e3d6000fd5b505050505050505050565b6000610af3610d98565b6001600160a01b03166398a7c4c76040518163ffffffff1660e01b815260040160206040518083038186803b158015610b2b57600080fd5b505afa158015610b3f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b63919061176c565b6001600160a01b0316637da0a8776040518163ffffffff1660e01b815260040160206040518083038186803b158015610b9b57600080fd5b505afa158015610baf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bd3919061176c565b90505b90565b338115610c1e576060610beb82610d1f565b905060005b815181101561050b57610c1683838381518110610c0957fe5b602002602001015161125f565b600101610bf0565b5050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b158015610b9b57600080fd5b6001600160a01b0382166000908152600160205260408120606091836009811115610ca457fe5b6009811115610caf57fe5b8152602001908152602001600020805480602002602001604051908101604052809291908181526020018280548015610d1157602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610cf3575b505050505090505b92915050565b6060610d296114c1565b610d316112b9565b905060005b600a811015610d6d57610d63610d5c858484600a8110610d5257fe5b6020020151610c7d565b8490611316565b9250600101610d36565b5050919050565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b565b610dc6610d74565b6001600160a01b0316336001600160a01b031614610df65760405162461bcd60e51b815260040161038e90611f35565b610e00848461146a565b80610e0a5761050b565b606080610e198385018561190f565b915091508051825114610e3e5760405162461bcd60e51b815260040161038e90611f05565b60005b8251811015610f0b57610f0387848381518110610e5a57fe5b6020026020010151848481518110610e6e57fe5b6020026020010151868581518110610e8257fe5b60200260200101516001600160a01b031663cbf54bb26040518163ffffffff1660e01b815260040160006040518083038186803b158015610ec257600080fd5b505afa158015610ed6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610efe919081019061196e565b6110d2565b600101610e41565b50505050505050565b6000805b8351811015610f6057838181518110610f2d57fe5b60200260200101516001600160a01b0316836001600160a01b03161415610f58576001915050610d19565b600101610f18565b5060009392505050565b600060183610801590610f955750610f80610ae9565b6001600160a01b0316336001600160a01b0316145b15610fa9575060131936013560601c610bd6565b503390565b8154600090815b8181101561109e57836001600160a01b0316858281548110610fd357fe5b6000918252602090912001546001600160a01b0316141561109657600182038110156110615784600183038154811061100857fe5b9060005260206000200160009054906101000a90046001600160a01b031685828154811061103257fe5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055505b8480548061106b57fe5b600082815260209020810160001990810180546001600160a01b03191690550190556001925061109e565b600101610fb5565b505092915050565b600060028260098111156110b657fe5b1480610d19575060038260098111156110cb57fe5b1492915050565b81511561113a57604051630f5f6b4f60e01b81526001600160a01b03841690630f5f6b4f906111079087908690600401611e6d565b600060405180830381600087803b15801561112157600080fd5b505af1158015611135573d6000803e3d6000fd5b505050505b60005b815181101561120d576111648583838151811061115657fe5b602002602001015186610529565b156111815760405162461bcd60e51b815260040161038e90611f55565b6001600160a01b038516600090815260016020526040812083519091908490849081106111aa57fe5b602002602001015160098111156111bd57fe5b60098111156111c857fe5b815260208082019290925260400160009081208054600180820183559183529290912090910180546001600160a01b0319166001600160a01b0387161790550161113d565b50826001600160a01b0316846001600160a01b03167faa4df4fe117c520783cfff01c11283496ff2999c77c2a9b800808251a9a0332a846040516112519190611ee4565b60405180910390a350505050565b60405163ceb9a0ad60e01b81526001600160a01b0382169063ceb9a0ad9061128b908590600401611e35565b600060405180830381600087803b1580156112a557600080fd5b505af1158015610508573d6000803e3d6000fd5b6112c16114c1565b6040805161014081019091528060008152602001600181526020016002815260200160038152602001600481526020016005815260200160068152602001600781526020016008815260200160099052905090565b60606000805b8351811015611355576113428585838151811061133557fe5b6020026020010151610f14565b61134d576001909101905b60010161131c565b50806113645783915050610d19565b8084510167ffffffffffffffff8111801561137e57600080fd5b506040519080825280602002602001820160405280156113a8578160200160208202803683370190505b50915060005b84518110156113f7578481815181106113c357fe5b60200260200101518382815181106113d757fe5b6001600160a01b03909216602092830291909101909101526001016113ae565b50835160005b8451811015611461576114168686838151811061133557fe5b6114595784818151811061142657fe5b602002602001015184838151811061143a57fe5b6001600160a01b03909216602092830291909101909101526001909101905b6001016113fd565b50505092915050565b6001600160a01b0382811660008181526020819052604080822080546001600160a01b0319169486169485179055517f8852dcaa71340ea616a65ffac013450dfb238607481fb9d78346c667fe256c139190a35050565b604051806101400160405280600a906020820280368337509192915050565b8035610d1981612078565b8051610d1981612078565b600082601f83011261150757600080fd5b813561151a61151582611f9c565b611f75565b9150818183526020840193506020810190508385602084028201111561153f57600080fd5b60005b8381101561156b578161155588826114e0565b8452506020928301929190910190600101611542565b5050505092915050565b600082601f83011261158657600080fd5b813561159461151582611f9c565b81815260209384019390925082018360005b8381101561156b57813586016115bc88826116a1565b84525060209283019291909101906001016115a6565b600082601f8301126115e357600080fd5b81516115f161151582611f9c565b9150818183526020840193506020810190508385602084028201111561161657600080fd5b60005b8381101561156b578161162c88826116f2565b8452506020928301929190910190600101611619565b8035610d198161208c565b8051610d198161208c565b60008083601f84011261166a57600080fd5b50813567ffffffffffffffff81111561168257600080fd5b60208301915083600182028301111561169a57600080fd5b9250929050565b600082601f8301126116b257600080fd5b81356116c061151582611fbd565b915080825260208301602083018583830111156116dc57600080fd5b611461838284612029565b8035610d1981612095565b8051610d1981612095565b600082601f83011261170e57600080fd5b815161171c61151582611fbd565b9150808252602083016020830185838301111561173857600080fd5b611461838284612035565b8035610d19816120a2565b60006020828403121561176057600080fd5b600061053f84846114e0565b60006020828403121561177e57600080fd5b600061053f84846114eb565b6000806040838503121561179d57600080fd5b60006117a985856114e0565b92505060206117ba858286016114e0565b9150509250929050565b600080600080606085870312156117da57600080fd5b60006117e687876114e0565b94505060206117f7878288016114e0565b935050604085013567ffffffffffffffff81111561181457600080fd5b61182087828801611658565b95989497509550505050565b6000806040838503121561183f57600080fd5b600061184b85856114e0565b92505060206117ba858286016116e7565b60008060006060848603121561187157600080fd5b600061187d86866114e0565b935050602061188e868287016116e7565b925050604061189f868287016114e0565b9150509250925092565b600080600080606085870312156118bf57600080fd5b60006118cb87876114e0565b94505060206117f7878288016116e7565b600080600080606085870312156118f257600080fd5b60006118fe87876114e0565b94505060206117f787828801611743565b6000806040838503121561192257600080fd5b823567ffffffffffffffff81111561193957600080fd5b611945858286016114f6565b925050602083013567ffffffffffffffff81111561196257600080fd5b6117ba85828601611575565b60006020828403121561198057600080fd5b815167ffffffffffffffff81111561199757600080fd5b61053f848285016115d2565b6000602082840312156119b557600080fd5b600061053f8484611642565b6000602082840312156119d357600080fd5b600061053f848461164d565b6000602082840312156119f157600080fd5b815167ffffffffffffffff811115611a0857600080fd5b61053f848285016116fd565b6000611a208383611a28565b505060200190565b611a3181611ff8565b82525050565b6000611a4282611feb565b611a4c8185611fef565b9350611a5783611fe5565b8060005b83811015611a85578151611a6f8882611a14565b9750611a7a83611fe5565b925050600101611a5b565b509495945050505050565b611a3181612003565b6000611aa58385611fef565b9350611ab2838584612029565b611abb83612061565b9093019392505050565b6000611ad082611feb565b611ada8185611fef565b9350611aea818560208601612035565b611abb81612061565b611a318161201e565b6000611b0782611feb565b611b118185610806565b9350611b21818560208601612035565b9290920192915050565b6000611b38604383611fef565b7f656e61626c65506f6c696379466f7246756e643a205f706f6c6963792072657381527f74726963747320616374696f6e73206f662063757272656e7420696e766573746020820152626f727360e81b604082015260600192915050565b6000611ba3604183611fef565b7f736574436f6e666967466f7246756e643a20706f6c696369657320616e64207381527f657474696e677344617461206172726179206c656e6774687320756e657175616020820152601b60fa1b604082015260600192915050565b6000611c0c601983610806565b7f52756c65206576616c756174656420746f2066616c73653a2000000000000000815260190192915050565b6000611c45602483611fef565b7f76616c6964617465506f6c69636965733a2043616c6c6572206e6f7420616c6c8152631bddd95960e21b602082015260400192915050565b6000611c8b603783611fef565b7f7265636569766543616c6c46726f6d436f6d7074726f6c6c65723a20556e696d81527f706c656d656e74656420666f7220457874656e73696f6e000000000000000000602082015260400192915050565b6000611cea602883611fef565b7f4f6e6c79207468652046756e644465706c6f7965722063616e206d616b6520748152671a1a5cc818d85b1b60c21b602082015260400192915050565b6000611d34603083611fef565b7f64697361626c65506f6c696379466f7246756e643a205f706f6c69637920636181526f1b9b9bdd08189948191a5cd8589b195960821b602082015260400192915050565b6000611d86603083611fef565b7f5f5f656e61626c65506f6c696379466f7246756e643a20506f6c69637920697381526f08185b1c9958591e48195b98589b195960821b602082015260400192915050565b6000611dd8602a83611fef565b7f4f6e6c79207468652066756e64206f776e65722063616e2063616c6c207468698152693990333ab731ba34b7b760b11b602082015260400192915050565b6000611e2282611bff565b9150611e2e8284611afc565b9392505050565b60208101610d198284611a28565b60408101611e518286611a28565b8181036020830152611e64818486611a99565b95945050505050565b60408101611e7b8285611a28565b818103602083015261053f8184611ac5565b60608101611e9b8287611a28565b611ea86020830186611af3565b8181036040830152611ebb818486611a99565b9695505050505050565b60208082528101611e2e8184611a37565b60208101610d198284611a90565b60208082528101611e2e8184611ac5565b60208082528101610d1981611b2b565b60208082528101610d1981611b96565b60208082528101610d1981611c38565b60208082528101610d1981611c7e565b60208082528101610d1981611cdd565b60208082528101610d1981611d27565b60208082528101610d1981611d79565b60208082528101610d1981611dcb565b60405181810167ffffffffffffffff81118282101715611f9457600080fd5b604052919050565b600067ffffffffffffffff821115611fb357600080fd5b5060209081020190565b600067ffffffffffffffff821115611fd457600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b6000610d1982612012565b151590565b806108068161206b565b6001600160a01b031690565b6000610d1982612008565b82818337506000910152565b60005b83811015612050578181015183820152602001612038565b8381111561050b5750506000910152565b601f01601f191690565b600a811061207557fe5b50565b61208181611ff8565b811461207557600080fd5b61208181612003565b600a811061207557600080fd5b61208181610bd656fea164736f6c634300060c000a", "sourceMap": "1210:11439:206:-:0;;;2034:186;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;864:29:358;;;;;;;;820:55:230;;;;;1210:11439:206;;5:134:-1;83:13;;101:33;83:13;101:33;:::i;:::-;68:71;;;;:::o;146:399::-;;;278:2;266:9;257:7;253:23;249:32;246:2;;;294:1;291;284:12;246:2;329:1;346:64;402:7;382:9;346:64;:::i;:::-;336:74;;308:108;447:2;465:64;521:7;512:6;501:9;497:22;465:64;:::i;:::-;455:74;;426:109;240:305;;;;;:::o;552:91::-;;-1:-1;;;;;712:54;;614:24;695:76::o;778:117::-;847:24;865:5;847:24;:::i;:::-;840:5;837:35;827:2;;886:1;883;876:12;827:2;821:74;:::o;:::-;1210:11439:206;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106101005760003560e01c806380d570631161009757806397c0ac871161006657806397c0ac8714610205578063ac2594561461020d578063bd8e959a14610215578063f067cc111461021d57610100565b806380d57063146101b7578063893d20e8146101ca5780638aa740b4146101d25780638af6d89e146101f257610100565b806346790346116100d3578063467903461461016957806348f35209146101895780634ed28b3f1461019c5780636ea21143146101af57610100565b80630442bad5146101055780631bee801e1461011a578063248a2aab1461012d57806345d582e714610156575b600080fd5b6101186101133660046118a9565b610230565b005b6101186101283660046118dc565b610511565b61014061013b36600461185c565b610529565b60405161014d9190611ed6565b60405180910390f35b61011861016436600461178a565b610547565b61017c61017736600461174e565b6107ea565b60405161014d9190611e35565b6101186101973660046117c4565b61080b565b6101186101aa3660046117c4565b6109d0565b61017c610ae9565b6101186101c53660046119a3565b610bd9565b61017c610c22565b6101e56101e036600461182c565b610c7d565b60405161014d9190611ec5565b6101e561020036600461174e565b610d1f565b61017c610d74565b61017c610d98565b610118610dbc565b61011861022b3660046117c4565b610dbe565b606061023c8585610c7d565b905080516000141561024e575061050b565b336001600160a01b03861614806102e65750846001600160a01b031663e7c456906040518163ffffffff1660e01b815260040160206040518083038186803b15801561029957600080fd5b505afa1580156102ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102d1919061176c565b6001600160a01b0316336001600160a01b0316145b806103725750846001600160a01b031663b3fc38e96040518163ffffffff1660e01b815260040160206040518083038186803b15801561032557600080fd5b505afa158015610339573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061035d919061176c565b6001600160a01b0316336001600160a01b0316145b6103975760405162461bcd60e51b815260040161038e90611f15565b60405180910390fd5b60005b8151811015610508578181815181106103af57fe5b60200260200101516001600160a01b031663579be718878787876040518563ffffffff1660e01b81526004016103e89493929190611e8d565b602060405180830381600087803b15801561040257600080fd5b505af1158015610416573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061043a91906119c1565b82828151811061044657fe5b60200260200101516001600160a01b0316637998a1c46040518163ffffffff1660e01b815260040160006040518083038186803b15801561048657600080fd5b505afa15801561049a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526104c291908101906119df565b6040516020016104d29190611e17565b604051602081830303815290604052906104ff5760405162461bcd60e51b815260040161038e9190611ee4565b5060010161039a565b50505b50505050565b60405162461bcd60e51b815260040161038e90611f25565b600061053f826105398686610c7d565b90610f14565b949350505050565b81610551816107ea565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561058957600080fd5b505afa15801561059d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105c1919061176c565b6001600160a01b03166105d2610f6a565b6001600160a01b0316146105f85760405162461bcd60e51b815260040161038e90611f65565b816001600160a01b0316631ef925786040518163ffffffff1660e01b815260040160206040518083038186803b15801561063157600080fd5b505afa158015610645573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061066991906119c1565b6106855760405162461bcd60e51b815260040161038e90611f45565b6060826001600160a01b031663cbf54bb26040518163ffffffff1660e01b815260040160006040518083038186803b1580156106c057600080fd5b505afa1580156106d4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526106fc919081019061196e565b905060005b81518110156107e3576001600160a01b03851660009081526001602052604081208351610772918791849087908790811061073857fe5b6020026020010151600981111561074b57fe5b600981111561075657fe5b8152602001908152602001600020610fae90919063ffffffff16565b905080156107da5782828151811061078657fe5b6020026020010151600981111561079957fe5b856001600160a01b0316876001600160a01b03167f672fd0d75642b1e8875f32a1c3f8197c03288c7215329c9a99336feafb801c0260405160405180910390a45b50600101610701565b5050505050565b6001600160a01b03808216600090815260208190526040902054165b919050565b83610815816107ea565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561084d57600080fd5b505afa158015610861573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610885919061176c565b6001600160a01b0316610896610f6a565b6001600160a01b0316146108bc5760405162461bcd60e51b815260040161038e90611f65565b6060846001600160a01b031663cbf54bb26040518163ffffffff1660e01b815260040160006040518083038186803b1580156108f757600080fd5b505afa15801561090b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610933919081019061196e565b905060005b81518110156109825761095d82828151811061095057fe5b60200260200101516110a6565b1561097a5760405162461bcd60e51b815260040161038e90611ef5565b600101610938565b506109c6868686868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508792506110d2915050565b610508868661125f565b836109da816107ea565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b158015610a1257600080fd5b505afa158015610a26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a4a919061176c565b6001600160a01b0316610a5b610f6a565b6001600160a01b031614610a815760405162461bcd60e51b815260040161038e90611f65565b60405162d4d75160e41b81526001600160a01b03851690630d4d751090610ab090889087908790600401611e43565b600060405180830381600087803b158015610aca57600080fd5b505af1158015610ade573d6000803e3d6000fd5b505050505050505050565b6000610af3610d98565b6001600160a01b03166398a7c4c76040518163ffffffff1660e01b815260040160206040518083038186803b158015610b2b57600080fd5b505afa158015610b3f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b63919061176c565b6001600160a01b0316637da0a8776040518163ffffffff1660e01b815260040160206040518083038186803b158015610b9b57600080fd5b505afa158015610baf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bd3919061176c565b90505b90565b338115610c1e576060610beb82610d1f565b905060005b815181101561050b57610c1683838381518110610c0957fe5b602002602001015161125f565b600101610bf0565b5050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b158015610b9b57600080fd5b6001600160a01b0382166000908152600160205260408120606091836009811115610ca457fe5b6009811115610caf57fe5b8152602001908152602001600020805480602002602001604051908101604052809291908181526020018280548015610d1157602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610cf3575b505050505090505b92915050565b6060610d296114c1565b610d316112b9565b905060005b600a811015610d6d57610d63610d5c858484600a8110610d5257fe5b6020020151610c7d565b8490611316565b9250600101610d36565b5050919050565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b565b610dc6610d74565b6001600160a01b0316336001600160a01b031614610df65760405162461bcd60e51b815260040161038e90611f35565b610e00848461146a565b80610e0a5761050b565b606080610e198385018561190f565b915091508051825114610e3e5760405162461bcd60e51b815260040161038e90611f05565b60005b8251811015610f0b57610f0387848381518110610e5a57fe5b6020026020010151848481518110610e6e57fe5b6020026020010151868581518110610e8257fe5b60200260200101516001600160a01b031663cbf54bb26040518163ffffffff1660e01b815260040160006040518083038186803b158015610ec257600080fd5b505afa158015610ed6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610efe919081019061196e565b6110d2565b600101610e41565b50505050505050565b6000805b8351811015610f6057838181518110610f2d57fe5b60200260200101516001600160a01b0316836001600160a01b03161415610f58576001915050610d19565b600101610f18565b5060009392505050565b600060183610801590610f955750610f80610ae9565b6001600160a01b0316336001600160a01b0316145b15610fa9575060131936013560601c610bd6565b503390565b8154600090815b8181101561109e57836001600160a01b0316858281548110610fd357fe5b6000918252602090912001546001600160a01b0316141561109657600182038110156110615784600183038154811061100857fe5b9060005260206000200160009054906101000a90046001600160a01b031685828154811061103257fe5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055505b8480548061106b57fe5b600082815260209020810160001990810180546001600160a01b03191690550190556001925061109e565b600101610fb5565b505092915050565b600060028260098111156110b657fe5b1480610d19575060038260098111156110cb57fe5b1492915050565b81511561113a57604051630f5f6b4f60e01b81526001600160a01b03841690630f5f6b4f906111079087908690600401611e6d565b600060405180830381600087803b15801561112157600080fd5b505af1158015611135573d6000803e3d6000fd5b505050505b60005b815181101561120d576111648583838151811061115657fe5b602002602001015186610529565b156111815760405162461bcd60e51b815260040161038e90611f55565b6001600160a01b038516600090815260016020526040812083519091908490849081106111aa57fe5b602002602001015160098111156111bd57fe5b60098111156111c857fe5b815260208082019290925260400160009081208054600180820183559183529290912090910180546001600160a01b0319166001600160a01b0387161790550161113d565b50826001600160a01b0316846001600160a01b03167faa4df4fe117c520783cfff01c11283496ff2999c77c2a9b800808251a9a0332a846040516112519190611ee4565b60405180910390a350505050565b60405163ceb9a0ad60e01b81526001600160a01b0382169063ceb9a0ad9061128b908590600401611e35565b600060405180830381600087803b1580156112a557600080fd5b505af1158015610508573d6000803e3d6000fd5b6112c16114c1565b6040805161014081019091528060008152602001600181526020016002815260200160038152602001600481526020016005815260200160068152602001600781526020016008815260200160099052905090565b60606000805b8351811015611355576113428585838151811061133557fe5b6020026020010151610f14565b61134d576001909101905b60010161131c565b50806113645783915050610d19565b8084510167ffffffffffffffff8111801561137e57600080fd5b506040519080825280602002602001820160405280156113a8578160200160208202803683370190505b50915060005b84518110156113f7578481815181106113c357fe5b60200260200101518382815181106113d757fe5b6001600160a01b03909216602092830291909101909101526001016113ae565b50835160005b8451811015611461576114168686838151811061133557fe5b6114595784818151811061142657fe5b602002602001015184838151811061143a57fe5b6001600160a01b03909216602092830291909101909101526001909101905b6001016113fd565b50505092915050565b6001600160a01b0382811660008181526020819052604080822080546001600160a01b0319169486169485179055517f8852dcaa71340ea616a65ffac013450dfb238607481fb9d78346c667fe256c139190a35050565b604051806101400160405280600a906020820280368337509192915050565b8035610d1981612078565b8051610d1981612078565b600082601f83011261150757600080fd5b813561151a61151582611f9c565b611f75565b9150818183526020840193506020810190508385602084028201111561153f57600080fd5b60005b8381101561156b578161155588826114e0565b8452506020928301929190910190600101611542565b5050505092915050565b600082601f83011261158657600080fd5b813561159461151582611f9c565b81815260209384019390925082018360005b8381101561156b57813586016115bc88826116a1565b84525060209283019291909101906001016115a6565b600082601f8301126115e357600080fd5b81516115f161151582611f9c565b9150818183526020840193506020810190508385602084028201111561161657600080fd5b60005b8381101561156b578161162c88826116f2565b8452506020928301929190910190600101611619565b8035610d198161208c565b8051610d198161208c565b60008083601f84011261166a57600080fd5b50813567ffffffffffffffff81111561168257600080fd5b60208301915083600182028301111561169a57600080fd5b9250929050565b600082601f8301126116b257600080fd5b81356116c061151582611fbd565b915080825260208301602083018583830111156116dc57600080fd5b611461838284612029565b8035610d1981612095565b8051610d1981612095565b600082601f83011261170e57600080fd5b815161171c61151582611fbd565b9150808252602083016020830185838301111561173857600080fd5b611461838284612035565b8035610d19816120a2565b60006020828403121561176057600080fd5b600061053f84846114e0565b60006020828403121561177e57600080fd5b600061053f84846114eb565b6000806040838503121561179d57600080fd5b60006117a985856114e0565b92505060206117ba858286016114e0565b9150509250929050565b600080600080606085870312156117da57600080fd5b60006117e687876114e0565b94505060206117f7878288016114e0565b935050604085013567ffffffffffffffff81111561181457600080fd5b61182087828801611658565b95989497509550505050565b6000806040838503121561183f57600080fd5b600061184b85856114e0565b92505060206117ba858286016116e7565b60008060006060848603121561187157600080fd5b600061187d86866114e0565b935050602061188e868287016116e7565b925050604061189f868287016114e0565b9150509250925092565b600080600080606085870312156118bf57600080fd5b60006118cb87876114e0565b94505060206117f7878288016116e7565b600080600080606085870312156118f257600080fd5b60006118fe87876114e0565b94505060206117f787828801611743565b6000806040838503121561192257600080fd5b823567ffffffffffffffff81111561193957600080fd5b611945858286016114f6565b925050602083013567ffffffffffffffff81111561196257600080fd5b6117ba85828601611575565b60006020828403121561198057600080fd5b815167ffffffffffffffff81111561199757600080fd5b61053f848285016115d2565b6000602082840312156119b557600080fd5b600061053f8484611642565b6000602082840312156119d357600080fd5b600061053f848461164d565b6000602082840312156119f157600080fd5b815167ffffffffffffffff811115611a0857600080fd5b61053f848285016116fd565b6000611a208383611a28565b505060200190565b611a3181611ff8565b82525050565b6000611a4282611feb565b611a4c8185611fef565b9350611a5783611fe5565b8060005b83811015611a85578151611a6f8882611a14565b9750611a7a83611fe5565b925050600101611a5b565b509495945050505050565b611a3181612003565b6000611aa58385611fef565b9350611ab2838584612029565b611abb83612061565b9093019392505050565b6000611ad082611feb565b611ada8185611fef565b9350611aea818560208601612035565b611abb81612061565b611a318161201e565b6000611b0782611feb565b611b118185610806565b9350611b21818560208601612035565b9290920192915050565b6000611b38604383611fef565b7f656e61626c65506f6c696379466f7246756e643a205f706f6c6963792072657381527f74726963747320616374696f6e73206f662063757272656e7420696e766573746020820152626f727360e81b604082015260600192915050565b6000611ba3604183611fef565b7f736574436f6e666967466f7246756e643a20706f6c696369657320616e64207381527f657474696e677344617461206172726179206c656e6774687320756e657175616020820152601b60fa1b604082015260600192915050565b6000611c0c601983610806565b7f52756c65206576616c756174656420746f2066616c73653a2000000000000000815260190192915050565b6000611c45602483611fef565b7f76616c6964617465506f6c69636965733a2043616c6c6572206e6f7420616c6c8152631bddd95960e21b602082015260400192915050565b6000611c8b603783611fef565b7f7265636569766543616c6c46726f6d436f6d7074726f6c6c65723a20556e696d81527f706c656d656e74656420666f7220457874656e73696f6e000000000000000000602082015260400192915050565b6000611cea602883611fef565b7f4f6e6c79207468652046756e644465706c6f7965722063616e206d616b6520748152671a1a5cc818d85b1b60c21b602082015260400192915050565b6000611d34603083611fef565b7f64697361626c65506f6c696379466f7246756e643a205f706f6c69637920636181526f1b9b9bdd08189948191a5cd8589b195960821b602082015260400192915050565b6000611d86603083611fef565b7f5f5f656e61626c65506f6c696379466f7246756e643a20506f6c69637920697381526f08185b1c9958591e48195b98589b195960821b602082015260400192915050565b6000611dd8602a83611fef565b7f4f6e6c79207468652066756e64206f776e65722063616e2063616c6c207468698152693990333ab731ba34b7b760b11b602082015260400192915050565b6000611e2282611bff565b9150611e2e8284611afc565b9392505050565b60208101610d198284611a28565b60408101611e518286611a28565b8181036020830152611e64818486611a99565b95945050505050565b60408101611e7b8285611a28565b818103602083015261053f8184611ac5565b60608101611e9b8287611a28565b611ea86020830186611af3565b8181036040830152611ebb818486611a99565b9695505050505050565b60208082528101611e2e8184611a37565b60208101610d198284611a90565b60208082528101611e2e8184611ac5565b60208082528101610d1981611b2b565b60208082528101610d1981611b96565b60208082528101610d1981611c38565b60208082528101610d1981611c7e565b60208082528101610d1981611cdd565b60208082528101610d1981611d27565b60208082528101610d1981611d79565b60208082528101610d1981611dcb565b60405181810167ffffffffffffffff81118282101715611f9457600080fd5b604052919050565b600067ffffffffffffffff821115611fb357600080fd5b5060209081020190565b600067ffffffffffffffff821115611fd457600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b6000610d1982612012565b151590565b806108068161206b565b6001600160a01b031690565b6000610d1982612008565b82818337506000910152565b60005b83811015612050578181015183820152602001612038565b8381111561050b5750506000910152565b601f01601f191690565b600a811061207557fe5b50565b61208181611ff8565b811461207557600080fd5b61208181612003565b600a811061207557600080fd5b61208181610bd656fea164736f6c634300060c000a", "sourceMap": "1210:11439:206:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7407:1190;;;;;;:::i;:::-;;:::i;:::-;;1603:208:226;;;;;;:::i;:::-;;:::i;12380:267:206:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3388:698;;;;;;:::i;:::-;;:::i;2692:198:226:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;4641:696:206:-;;;;;;:::i;:::-;;:::i;6829:269::-;;;;;;:::i;:::-;;:::i;1880:260:230:-;;;:::i;2511:491:206:-;;;;;;:::i;:::-;;:::i;1064:120:358:-;;;:::i;11858:252:206:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;11125:475::-;;;;;;:::i;:::-;;:::i;1378:108:358:-;;;:::i;1584:174:230:-;;;:::i;1346:78:226:-;;;:::i;5560:999:206:-;;;;;;:::i;:::-;;:::i;7407:1190::-;7631:25;7659:57;7691:17;7710:5;7659:31;:57::i;:::-;7631:85;;7730:8;:15;7749:1;7730:20;7726:57;;;7766:7;;;7726:57;7908:10;-1:-1:-1;;;;;7908:31:206;;;;:120;;;7986:17;-1:-1:-1;;;;;7973:53:206;;:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;7959:69:206;:10;-1:-1:-1;;;;;7959:69:206;;7908:120;:214;;;;8075:17;-1:-1:-1;;;;;8062:58:206;;:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;8048:74:206;:10;-1:-1:-1;;;;;8048:74:206;;7908:214;7887:297;;;;-1:-1:-1;;;7887:297:206;;;;;;;:::i;:::-;;;;;;;;;8200:9;8195:396;8215:8;:15;8211:1;:19;8195:396;;;8284:8;8293:1;8284:11;;;;;;;;;;;;;;-1:-1:-1;;;;;8276:33:206;;8310:17;8329:5;8336:15;;8276:76;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8501:8;8510:1;8501:11;;;;;;;;;;;;;;-1:-1:-1;;;;;8493:31:206;;:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8493:33:206;;;;;;;;;;;;:::i;:::-;8398:150;;;;;;;;:::i;:::-;;;;;;;;;;;;;8251:329;;;;;-1:-1:-1;;;8251:329:206;;;;;;;;:::i;:::-;-1:-1:-1;8232:3:206;;8195:396;;;;7407:1190;;;;;;:::o;1603:208:226:-;1739:65;;-1:-1:-1;;;1739:65:226;;;;;;;:::i;12380:267:206:-;12531:15;12565:75;12632:7;12565:57;12597:17;12616:5;12565:31;:57::i;:::-;:66;;:75::i;:::-;12558:82;12380:267;-1:-1:-1;;;;12380:267:206:o;3388:698::-;3501:17;1891:39;1912:17;1891:20;:39::i;:::-;-1:-1:-1;;;;;1884:56:206;;:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1867:75:206;:13;:11;:13::i;:::-;-1:-1:-1;;;;;1867:75:206;;1846:164;;;;-1:-1:-1;;;1846:164:206;;;;;;;:::i;:::-;3550:7:::1;-1:-1:-1::0;;;;;3542:27:206::1;;:29;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3534:90;;;;-1:-1:-1::0;;;3534:90:206::1;;;;;;;:::i;:::-;3635:36;3682:7;-1:-1:-1::0;;;;;3674:33:206::1;;:35;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;::::0;;::::1;-1:-1:-1::0;;3674:35:206::1;::::0;::::1;;::::0;::::1;::::0;;;::::1;::::0;::::1;:::i;:::-;3635:74;;3724:9;3719:361;3739:16;:23;3735:1;:27;3719:361;;;-1:-1:-1::0;;;;;3799:51:206;::::1;3783:13;3799:51:::0;;;:32:::1;:51;::::0;;;;3868:19;;3799:129:::1;::::0;3920:7;;3783:13;;3868:16;;3885:1;;3868:19;::::1;;;;;;;;;;;3799:102;;;;;;;;;;;;;;;;;;;;;;;;;;;:120;;:129;;;;:::i;:::-;3783:145;;3946:8;3942:128;;;4035:16;4052:1;4035:19;;;;;;;;;;;;;;3979:76;;;;;;;;4026:7;-1:-1:-1::0;;;;;3979:76:206::1;4007:17;-1:-1:-1::0;;;;;3979:76:206::1;;;;;;;;;;;3942:128;-1:-1:-1::0;3764:3:206::1;;3719:361;;;;2020:1;3388:698:::0;;;:::o;2692:198:226:-;-1:-1:-1;;;;;2836:47:226;;;2794:19;2836:47;;;;;;;;;;;;2692:198;;;;:::o;4641:696:206:-;4797:17;1891:39;1912:17;1891:20;:39::i;:::-;-1:-1:-1;;;;;1884:56:206;;:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1867:75:206;:13;:11;:13::i;:::-;-1:-1:-1;;;;;1867:75:206;;1846:164;;;;-1:-1:-1;;;1846:164:206;;;;;;;:::i;:::-;4826:36:::1;4873:7;-1:-1:-1::0;;;;;4865:33:206::1;;:35;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;::::0;;::::1;-1:-1:-1::0;;4865:35:206::1;::::0;::::1;;::::0;::::1;::::0;;;::::1;::::0;::::1;:::i;:::-;4826:74;;4915:9;4910:266;4930:16;:23;4926:1;:27;4910:266;;;5000:64;5044:16;5061:1;5044:19;;;;;;;;;;;;;;5000:43;:64::i;:::-;4999:65;4974:191;;;;-1:-1:-1::0;;;4974:191:206::1;;;;;;;:::i;:::-;4955:3;;4910:266;;;;5186:82;5208:17;5227:7;5236:13;;5186:82;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;5251:16:206;;-1:-1:-1;5186:21:206::1;::::0;-1:-1:-1;;5186:82:206:i:1;:::-;5279:51;5303:17;5322:7;5279:23;:51::i;6829:269::-:0;6993:17;1891:39;1912:17;1891:20;:39::i;:::-;-1:-1:-1;;;;;1884:56:206;;:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1867:75:206;:13;:11;:13::i;:::-;-1:-1:-1;;;;;1867:75:206;;1846:164;;;;-1:-1:-1;;;1846:164:206;;;;;;;:::i;:::-;7022:69:::1;::::0;-1:-1:-1;;;7022:69:206;;-1:-1:-1;;;;;7022:35:206;::::1;::::0;::::1;::::0;:69:::1;::::0;7058:17;;7077:13;;;;7022:69:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;6829:269:::0;;;;;:::o;1880:260:230:-;1940:25;2052:29;:27;:29::i;:::-;-1:-1:-1;;;;;2032:66:230;;:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1996:135:230;;:137;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1977:156;;1880:260;;:::o;2511:491:206:-;2613:10;2716:280;;;;2751:32;2786:43;2812:16;2786:25;:43::i;:::-;2751:78;;2848:9;2843:143;2863:15;:22;2859:1;:26;2843:143;;;2910:61;2934:16;2952:15;2968:1;2952:18;;;;;;;;;;;;;;2910:23;:61::i;:::-;2887:3;;2843:143;;2716:280;2511:491;;:::o;1064:120:358:-;1105:14;1152:13;-1:-1:-1;;;;;1138:37:358;;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11858:252:206;-1:-1:-1;;;;;12045:51:206;;;;;;:32;:51;;;;;11989:33;;12097:5;12045:58;;;;;;;;;;;;;;;;;;;;;;;;;;;12038:65;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;12038:65:206;;;;;;;;;;;;;;;;;;;;;;;11858:252;;;;;:::o;11125:475::-;11232:33;11281:42;;:::i;:::-;11326:21;:19;:21::i;:::-;11281:66;;11363:9;11358:202;11378:12;11374:1;:16;11358:202;;;11430:119;11475:60;11507:17;11526:5;11532:1;11526:8;;;;;;;;;;;11475:31;:60::i;:::-;11430:16;;:27;:119::i;:::-;11411:138;-1:-1:-1;11392:3:206;;11358:202;;;;11570:23;11125:475;;;:::o;1378:108:358:-;1466:13;1378:108;:::o;1584:174:230:-;1724:27;1584:174;:::o;1346:78:226:-;:::o;5560:999:206:-;819:17:226;:15;:17::i;:::-;-1:-1:-1;;;;;805:31:226;:10;-1:-1:-1;;;;;805:31:226;;797:84;;;;-1:-1:-1;;;797:84:226;;;;;;;:::i;:::-;5737:56:206::1;5762:17;5781:11;5737:24;:56::i;:::-;5853:23:::0;5849:60:::1;;5892:7;;5849:60;5920:25;::::0;5978:79:::1;::::0;;::::1;6002:11:::0;5978:79:::1;:::i;:::-;5919:138;;;;6132:12;:19;6113:8;:15;:38;6092:150;;;;-1:-1:-1::0;;;6092:150:206::1;;;;;;;:::i;:::-;6302:9;6297:256;6317:8;:15;6313:1;:19;6297:256;;;6353:189;6392:17;6427:8;6436:1;6427:11;;;;;;;;;;;;;;6456:12;6469:1;6456:15;;;;;;;;;;;;;;6497:8;6506:1;6497:11;;;;;;;;;;;;;;-1:-1:-1::0;;;;;6489:37:206::1;;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;::::0;;::::1;-1:-1:-1::0;;6489:39:206::1;::::0;::::1;;::::0;::::1;::::0;;;::::1;::::0;::::1;:::i;:::-;6353:21;:189::i;:::-;6334:3;;6297:256;;;;891:1:226;;5560:999:206::0;;;;:::o;2489:299:354:-;2595:17;2633:9;2628:132;2648:5;:12;2644:1;:16;2628:132;;;2696:5;2702:1;2696:8;;;;;;;;;;;;;;-1:-1:-1;;;;;2685:19:354;:7;-1:-1:-1;;;;;2685:19:354;;2681:69;;;2731:4;2724:11;;;;;2681:69;2662:3;;2628:132;;;-1:-1:-1;2776:5:354;;2489:299;-1:-1:-1;;;2489:299:354:o;983:367:230:-;1029:32;1096:2;1077:8;:21;;;;:68;;;1116:29;:27;:29::i;:::-;-1:-1:-1;;;;;1102:43:230;:10;-1:-1:-1;;;;;1102:43:230;;1077:68;1073:243;;;-1:-1:-1;;;1233:14:230;1229:23;1216:37;1212:2;1208:46;1282:23;;1073:243;-1:-1:-1;1333:10:230;983:367;:::o;569:515:354:-;727:12;;678:13;;;749:303;769:9;765:1;:13;749:303;;;815:13;-1:-1:-1;;;;;803:25:354;:5;809:1;803:8;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;803:8:354;:25;799:243;;;868:1;856:9;:13;852:1;:17;848:95;;;904:5;922:1;910:9;:13;904:20;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;904:20:354;893:5;899:1;893:8;;;;;;;;;;;;;;;;:31;;;;;-1:-1:-1;;;;;893:31:354;;;;;-1:-1:-1;;;;;893:31:354;;;;;;848:95;960:5;:11;;;;;;;;;;;;;;;;-1:-1:-1;;960:11:354;;;;;-1:-1:-1;;;;;;960:11:354;;;;;;;;-1:-1:-1;1022:5:354;;799:243;780:3;;749:303;;;;1062:15;569:515;;;;:::o;10572:283:206:-;10689:22;10755:28;10746:5;:37;;;;;;;;;:102;;;-1:-1:-1;10808:40:206;10799:5;:49;;;;;;;;;10727:121;10572:283;-1:-1:-1;;10572:283:206:o;8905:792::-;9133:20;;:24;9129:121;;9173:66;;-1:-1:-1;;;9173:66:206;;-1:-1:-1;;;;;9173:32:206;;;;;:66;;9206:17;;9225:13;;9173:66;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9129:121;9287:9;9282:330;9302:6;:13;9298:1;:17;9282:330;;;9362:67;9391:17;9410:6;9417:1;9410:9;;;;;;;;;;;;;;9421:7;9362:28;:67::i;:::-;9361:68;9336:175;;;;-1:-1:-1;;;9336:175:206;;;;;;;:::i;:::-;-1:-1:-1;;;;;9525:51:206;;;;;;:32;:51;;;;;9577:9;;9525:51;;;9577:6;;9584:1;;9577:9;;;;;;;;;;;;9525:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9525:62:206;;;:76;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;9525:76:206;-1:-1:-1;;;;;9525:76:206;;;;;9317:3;9282:330;;;;9667:7;-1:-1:-1;;;;;9627:63:206;9648:17;-1:-1:-1;;;;;9627:63:206;;9676:13;9627:63;;;;;;:::i;:::-;;;;;;;;8905:792;;;;:::o;8681:153::-;8776:51;;-1:-1:-1;;;8776:51:206;;-1:-1:-1;;;;;8776:32:206;;;;;:51;;8809:17;;8776:51;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9766:621;9843:43;;:::i;:::-;9902:478;;;;;;;;;;-1:-1:-1;9902:478:206;;;;9961:32;9902:478;;;;10007:28;9902:478;;;;10049:40;9902:478;;;;10103:27;9902:478;;;;10144:30;9902:478;;;;10188:33;9902:478;;;;10235:37;9902:478;;;;10286:33;9902:478;;;;10333:37;9902:478;;;-1:-1:-1;9766:621:206;:::o;2967:924:354:-;3090:27;3133:26;3174:9;3169:164;3189:13;:20;3185:1;:24;3169:164;;;3235:33;3244:5;3251:13;3265:1;3251:16;;;;;;;;;;;;;;3235:8;:33::i;:::-;3230:93;;3288:20;;;;;3230:93;3211:3;;3169:164;;;-1:-1:-1;3347:23:354;3343:66;;3393:5;3386:12;;;;;3343:66;3461:18;3446:5;:12;:33;3432:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3432:48:354;;3419:61;;3495:9;3490:88;3510:5;:12;3506:1;:16;3490:88;;;3559:5;3565:1;3559:8;;;;;;;;;;;;;;3543:10;3554:1;3543:13;;;;;;;;-1:-1:-1;;;;;3543:24:354;;;:13;;;;;;;;;;;:24;3524:3;;3490:88;;;-1:-1:-1;3612:12:354;;3587:22;3634:223;3654:13;:20;3650:1;:24;3634:223;;;3700:33;3709:5;3716:13;3730:1;3716:16;;;;;;;3700:33;3695:152;;3782:13;3796:1;3782:16;;;;;;;;;;;;;;3753:10;3764:14;3753:26;;;;;;;;-1:-1:-1;;;;;3753:45:354;;;:26;;;;;;;;;;;:45;3816:16;;;;;3695:152;3676:3;;3634:223;;;;3867:17;;2967:924;;;;:::o;2172:246:226:-;-1:-1:-1;;;;;2273:47:226;;;:28;:47;;;;;;;;;;;:61;;-1:-1:-1;;;;;;2273:61:226;;;;;;;;;2350;;;2273:28;2350:61;2172:246;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;:::o;5:130::-;72:20;;97:33;72:20;97:33;:::i;142:134::-;220:13;;238:33;220:13;238:33;:::i;301:707::-;;418:3;411:4;403:6;399:17;395:27;385:2;;436:1;433;426:12;385:2;473:6;460:20;495:80;510:64;567:6;510:64;:::i;:::-;495:80;:::i;:::-;486:89;;592:5;617:6;610:5;603:21;647:4;639:6;635:17;625:27;;669:4;664:3;660:14;653:21;;722:6;769:3;761:4;753:6;749:17;744:3;740:27;737:36;734:2;;;786:1;783;776:12;734:2;811:1;796:206;821:6;818:1;815:13;796:206;;;879:3;901:37;934:3;922:10;901:37;:::i;:::-;889:50;;-1:-1;962:4;953:14;;;;981;;;;;843:1;836:9;796:206;;;800:14;378:630;;;;;;;:::o;1032:705::-;;1158:3;1151:4;1143:6;1139:17;1135:27;1125:2;;1176:1;1173;1166:12;1125:2;1213:6;1200:20;1235:89;1250:73;1316:6;1250:73;:::i;1235:89::-;1352:21;;;1396:4;1384:17;;;;1226:98;;-1:-1;1409:14;;1384:17;1504:1;1489:242;1514:6;1511:1;1508:13;1489:242;;;1597:3;1584:17;1576:6;1572:30;1621:46;1663:3;1651:10;1621:46;:::i;:::-;1609:59;;-1:-1;1691:4;1682:14;;;;1710;;;;;1536:1;1529:9;1489:242;;1786:770;;1930:3;1923:4;1915:6;1911:17;1907:27;1897:2;;1948:1;1945;1938:12;1897:2;1978:6;1972:13;2000:96;2015:80;2088:6;2015:80;:::i;2000:96::-;1991:105;;2113:5;2138:6;2131:5;2124:21;2168:4;2160:6;2156:17;2146:27;;2190:4;2185:3;2181:14;2174:21;;2243:6;2290:3;2282:4;2274:6;2270:17;2265:3;2261:27;2258:36;2255:2;;;2307:1;2304;2297:12;2255:2;2332:1;2317:233;2342:6;2339:1;2336:13;2317:233;;;2400:3;2422:64;2482:3;2470:10;2422:64;:::i;:::-;2410:77;;-1:-1;2510:4;2501:14;;;;2529;;;;;2364:1;2357:9;2317:233;;2564:124;2628:20;;2653:30;2628:20;2653:30;:::i;2695:128::-;2770:13;;2788:30;2770:13;2788:30;:::i;2844:336::-;;;2958:3;2951:4;2943:6;2939:17;2935:27;2925:2;;2976:1;2973;2966:12;2925:2;-1:-1;2996:20;;3036:18;3025:30;;3022:2;;;3068:1;3065;3058:12;3022:2;3102:4;3094:6;3090:17;3078:29;;3153:3;3145:4;3137:6;3133:17;3123:8;3119:32;3116:41;3113:2;;;3170:1;3167;3160:12;3113:2;2918:262;;;;;:::o;3189:440::-;;3290:3;3283:4;3275:6;3271:17;3267:27;3257:2;;3308:1;3305;3298:12;3257:2;3345:6;3332:20;3367:64;3382:48;3423:6;3382:48;:::i;3367:64::-;3358:73;;3451:6;3444:5;3437:21;3487:4;3479:6;3475:17;3520:4;3513:5;3509:16;3555:3;3546:6;3541:3;3537:16;3534:25;3531:2;;;3572:1;3569;3562:12;3531:2;3582:41;3616:6;3611:3;3606;3582:41;:::i;3637:162::-;3720:20;;3745:49;3720:20;3745:49;:::i;3806:166::-;3900:13;;3918:49;3900:13;3918:49;:::i;3980:444::-;;4093:3;4086:4;4078:6;4074:17;4070:27;4060:2;;4111:1;4108;4101:12;4060:2;4141:6;4135:13;4163:65;4178:49;4220:6;4178:49;:::i;4163:65::-;4154:74;;4248:6;4241:5;4234:21;4284:4;4276:6;4272:17;4317:4;4310:5;4306:16;4352:3;4343:6;4338:3;4334:16;4331:25;4328:2;;;4369:1;4366;4359:12;4328:2;4379:39;4411:6;4406:3;4401;4379:39;:::i;4432:130::-;4499:20;;4524:33;4499:20;4524:33;:::i;4569:241::-;;4673:2;4661:9;4652:7;4648:23;4644:32;4641:2;;;4689:1;4686;4679:12;4641:2;4724:1;4741:53;4786:7;4766:9;4741:53;:::i;4817:263::-;;4932:2;4920:9;4911:7;4907:23;4903:32;4900:2;;;4948:1;4945;4938:12;4900:2;4983:1;5000:64;5056:7;5036:9;5000:64;:::i;5087:366::-;;;5208:2;5196:9;5187:7;5183:23;5179:32;5176:2;;;5224:1;5221;5214:12;5176:2;5259:1;5276:53;5321:7;5301:9;5276:53;:::i;:::-;5266:63;;5238:97;5366:2;5384:53;5429:7;5420:6;5409:9;5405:22;5384:53;:::i;:::-;5374:63;;5345:98;5170:283;;;;;:::o;5460:615::-;;;;;5617:2;5605:9;5596:7;5592:23;5588:32;5585:2;;;5633:1;5630;5623:12;5585:2;5668:1;5685:53;5730:7;5710:9;5685:53;:::i;:::-;5675:63;;5647:97;5775:2;5793:53;5838:7;5829:6;5818:9;5814:22;5793:53;:::i;:::-;5783:63;;5754:98;5911:2;5900:9;5896:18;5883:32;5935:18;5927:6;5924:30;5921:2;;;5967:1;5964;5957:12;5921:2;5995:64;6051:7;6042:6;6031:9;6027:22;5995:64;:::i;:::-;5579:496;;;;-1:-1;5977:82;-1:-1;;;;5579:496::o;6082:398::-;;;6219:2;6207:9;6198:7;6194:23;6190:32;6187:2;;;6235:1;6232;6225:12;6187:2;6270:1;6287:53;6332:7;6312:9;6287:53;:::i;:::-;6277:63;;6249:97;6377:2;6395:69;6456:7;6447:6;6436:9;6432:22;6395:69;:::i;6487:523::-;;;;6641:2;6629:9;6620:7;6616:23;6612:32;6609:2;;;6657:1;6654;6647:12;6609:2;6692:1;6709:53;6754:7;6734:9;6709:53;:::i;:::-;6699:63;;6671:97;6799:2;6817:69;6878:7;6869:6;6858:9;6854:22;6817:69;:::i;:::-;6807:79;;6778:114;6923:2;6941:53;6986:7;6977:6;6966:9;6962:22;6941:53;:::i;:::-;6931:63;;6902:98;6603:407;;;;;:::o;7017:647::-;;;;;7190:2;7178:9;7169:7;7165:23;7161:32;7158:2;;;7206:1;7203;7196:12;7158:2;7241:1;7258:53;7303:7;7283:9;7258:53;:::i;:::-;7248:63;;7220:97;7348:2;7366:69;7427:7;7418:6;7407:9;7403:22;7366:69;:::i;7671:615::-;;;;;7828:2;7816:9;7807:7;7803:23;7799:32;7796:2;;;7844:1;7841;7834:12;7796:2;7879:1;7896:53;7941:7;7921:9;7896:53;:::i;:::-;7886:63;;7858:97;7986:2;8004:53;8049:7;8040:6;8029:9;8025:22;8004:53;:::i;8293:656::-;;;8473:2;8461:9;8452:7;8448:23;8444:32;8441:2;;;8489:1;8486;8479:12;8441:2;8524:31;;8575:18;8564:30;;8561:2;;;8607:1;8604;8597:12;8561:2;8627:78;8697:7;8688:6;8677:9;8673:22;8627:78;:::i;:::-;8617:88;;8503:208;8770:2;8759:9;8755:18;8742:32;8794:18;8786:6;8783:30;8780:2;;;8826:1;8823;8816:12;8780:2;8846:87;8925:7;8916:6;8905:9;8901:22;8846:87;:::i;8956:424::-;;9112:2;9100:9;9091:7;9087:23;9083:32;9080:2;;;9128:1;9125;9118:12;9080:2;9163:24;;9207:18;9196:30;;9193:2;;;9239:1;9236;9229:12;9193:2;9259:105;9356:7;9347:6;9336:9;9332:22;9259:105;:::i;9387:235::-;;9488:2;9476:9;9467:7;9463:23;9459:32;9456:2;;;9504:1;9501;9494:12;9456:2;9539:1;9556:50;9598:7;9578:9;9556:50;:::i;9629:257::-;;9741:2;9729:9;9720:7;9716:23;9712:32;9709:2;;;9757:1;9754;9747:12;9709:2;9792:1;9809:61;9862:7;9842:9;9809:61;:::i;9893:362::-;;10018:2;10006:9;9997:7;9993:23;9989:32;9986:2;;;10034:1;10031;10024:12;9986:2;10069:24;;10113:18;10102:30;;10099:2;;;10145:1;10142;10135:12;10099:2;10165:74;10231:7;10222:6;10211:9;10207:22;10165:74;:::i;10263:173::-;;10350:46;10392:3;10384:6;10350:46;:::i;:::-;-1:-1;;10425:4;10416:14;;10343:93::o;10444:103::-;10517:24;10535:5;10517:24;:::i;:::-;10512:3;10505:37;10499:48;;:::o;10705:690::-;;10850:54;10898:5;10850:54;:::i;:::-;10917:86;10996:6;10991:3;10917:86;:::i;:::-;10910:93;;11024:56;11074:5;11024:56;:::i;:::-;11100:7;11128:1;11113:260;11138:6;11135:1;11132:13;11113:260;;;11205:6;11199:13;11226:63;11285:3;11270:13;11226:63;:::i;:::-;11219:70;;11306:60;11359:6;11306:60;:::i;:::-;11296:70;-1:-1;;11160:1;11153:9;11113:260;;;-1:-1;11386:3;;10829:566;-1:-1;;;;;10829:566::o;11403:104::-;11480:21;11495:5;11480:21;:::i;11537:297::-;;11651:70;11714:6;11709:3;11651:70;:::i;:::-;11644:77;;11733:43;11769:6;11764:3;11757:5;11733:43;:::i;:::-;11798:29;11820:6;11798:29;:::i;:::-;11789:39;;;;11637:197;-1:-1;;;11637:197::o;11842:343::-;;11952:38;11984:5;11952:38;:::i;:::-;12002:70;12065:6;12060:3;12002:70;:::i;:::-;11995:77;;12077:52;12122:6;12117:3;12110:4;12103:5;12099:16;12077:52;:::i;:::-;12150:29;12172:6;12150:29;:::i;12192:154::-;12289:51;12334:5;12289:51;:::i;12707:360::-;;12837:39;12870:5;12837:39;:::i;:::-;12888:89;12970:6;12965:3;12888:89;:::i;:::-;12881:96;;12982:52;13027:6;13022:3;13015:4;13008:5;13004:16;12982:52;:::i;:::-;13046:16;;;;;12817:250;-1:-1;;12817:250::o;13075:441::-;;13235:67;13299:2;13294:3;13235:67;:::i;:::-;13335:34;13315:55;;13404:34;13399:2;13390:12;;13383:56;-1:-1;;;13468:2;13459:12;;13452:27;13507:2;13498:12;;13221:295;-1:-1;;13221:295::o;13525:439::-;;13685:67;13749:2;13744:3;13685:67;:::i;:::-;13785:34;13765:55;;13854:34;13849:2;13840:12;;13833:56;-1:-1;;;13918:2;13909:12;;13902:25;13955:2;13946:12;;13671:293;-1:-1;;13671:293::o;13973:361::-;;14151:85;14233:2;14228:3;14151:85;:::i;:::-;14269:27;14249:48;;14325:2;14316:12;;14137:197;-1:-1;;14137:197::o;14343:373::-;;14503:67;14567:2;14562:3;14503:67;:::i;:::-;14603:34;14583:55;;-1:-1;;;14667:2;14658:12;;14651:28;14707:2;14698:12;;14489:227;-1:-1;;14489:227::o;14725:392::-;;14885:67;14949:2;14944:3;14885:67;:::i;:::-;14985:34;14965:55;;15054:25;15049:2;15040:12;;15033:47;15108:2;15099:12;;14871:246;-1:-1;;14871:246::o;15126:377::-;;15286:67;15350:2;15345:3;15286:67;:::i;:::-;15386:34;15366:55;;-1:-1;;;15450:2;15441:12;;15434:32;15494:2;15485:12;;15272:231;-1:-1;;15272:231::o;15512:385::-;;15672:67;15736:2;15731:3;15672:67;:::i;:::-;15772:34;15752:55;;-1:-1;;;15836:2;15827:12;;15820:40;15888:2;15879:12;;15658:239;-1:-1;;15658:239::o;15906:385::-;;16066:67;16130:2;16125:3;16066:67;:::i;:::-;16166:34;16146:55;;-1:-1;;;16230:2;16221:12;;16214:40;16282:2;16273:12;;16052:239;-1:-1;;16052:239::o;16300:379::-;;16460:67;16524:2;16519:3;16460:67;:::i;:::-;16560:34;16540:55;;-1:-1;;;16624:2;16615:12;;16608:34;16670:2;16661:12;;16446:233;-1:-1;;16446:233::o;16687:542::-;;16943:148;17087:3;16943:148;:::i;:::-;16936:155;;17109:95;17200:3;17191:6;17109:95;:::i;:::-;17102:102;16924:305;-1:-1;;;16924:305::o;17236:222::-;17363:2;17348:18;;17377:71;17352:9;17421:6;17377:71;:::i;17465:437::-;17648:2;17633:18;;17662:71;17637:9;17706:6;17662:71;:::i;:::-;17781:9;17775:4;17771:20;17766:2;17755:9;17751:18;17744:48;17806:86;17887:4;17878:6;17870;17806:86;:::i;:::-;17798:94;17619:283;-1:-1;;;;;17619:283::o;17909:417::-;18082:2;18067:18;;18096:71;18071:9;18140:6;18096:71;:::i;:::-;18215:9;18209:4;18205:20;18200:2;18189:9;18185:18;18178:48;18240:76;18311:4;18302:6;18240:76;:::i;18333:576::-;18558:2;18543:18;;18572:71;18547:9;18616:6;18572:71;:::i;:::-;18654:86;18736:2;18725:9;18721:18;18712:6;18654:86;:::i;:::-;18788:9;18782:4;18778:20;18773:2;18762:9;18758:18;18751:48;18813:86;18894:4;18885:6;18877;18813:86;:::i;:::-;18805:94;18529:380;-1:-1;;;;;;18529:380::o;18916:370::-;19093:2;19107:47;;;19078:18;;19168:108;19078:18;19262:6;19168:108;:::i;19293:210::-;19414:2;19399:18;;19428:65;19403:9;19466:6;19428:65;:::i;19510:306::-;19655:2;19669:47;;;19640:18;;19730:76;19640:18;19792:6;19730:76;:::i;20140:416::-;20340:2;20354:47;;;20325:18;;20415:131;20325:18;20415:131;:::i;20563:416::-;20763:2;20777:47;;;20748:18;;20838:131;20748:18;20838:131;:::i;20986:416::-;21186:2;21200:47;;;21171:18;;21261:131;21171:18;21261:131;:::i;21409:416::-;21609:2;21623:47;;;21594:18;;21684:131;21594:18;21684:131;:::i;21832:416::-;22032:2;22046:47;;;22017:18;;22107:131;22017:18;22107:131;:::i;22255:416::-;22455:2;22469:47;;;22440:18;;22530:131;22440:18;22530:131;:::i;22678:416::-;22878:2;22892:47;;;22863:18;;22953:131;22863:18;22953:131;:::i;23101:416::-;23301:2;23315:47;;;23286:18;;23376:131;23286:18;23376:131;:::i;23524:256::-;23586:2;23580:9;23612:17;;;23687:18;23672:34;;23708:22;;;23669:62;23666:2;;;23744:1;23741;23734:12;23666:2;23760;23753:22;23564:216;;-1:-1;23564:216::o;23787:304::-;;23946:18;23938:6;23935:30;23932:2;;;23978:1;23975;23968:12;23932:2;-1:-1;24013:4;24001:17;;;24066:15;;23869:222::o;24745:321::-;;24888:18;24880:6;24877:30;24874:2;;;24920:1;24917;24910:12;24874:2;-1:-1;25051:4;24987;24964:17;;;;-1:-1;;24960:33;25041:15;;24811:255::o;25402:151::-;25526:4;25517:14;;25474:79::o;25560:137::-;25663:12;;25634:63::o;26077:178::-;26195:19;;;26244:4;26235:14;;26188:67::o;26760:91::-;;26822:24;26840:5;26822:24;:::i;26858:85::-;26924:13;26917:21;;26900:43::o;26950:138::-;27028:5;27034:49;27028:5;27034:49;:::i;27095:121::-;-1:-1;;;;;27157:54;;27140:76::o;27302:138::-;;27395:40;27429:5;27395:40;:::i;27448:145::-;27529:6;27524:3;27519;27506:30;-1:-1;27585:1;27567:16;;27560:27;27499:94::o;27602:268::-;27667:1;27674:101;27688:6;27685:1;27682:13;27674:101;;;27755:11;;;27749:18;27736:11;;;27729:39;27710:2;27703:10;27674:101;;;27790:6;27787:1;27784:13;27781:2;;;-1:-1;;27855:1;27837:16;;27830:27;27651:219::o;27878:97::-;27966:2;27946:14;-1:-1;;27942:28;;27926:49::o;27983:108::-;28068:2;28061:5;28058:13;28048:2;;28075:9;28048:2;28042:49;:::o;28098:117::-;28167:24;28185:5;28167:24;:::i;:::-;28160:5;28157:35;28147:2;;28206:1;28203;28196:12;28222:111;28288:21;28303:5;28288:21;:::i;28340:111::-;28425:2;28418:5;28415:13;28405:2;;28442:1;28439;28432:12;28458:117;28527:24;28545:5;28527:24;:::i", "linkReferences": {}, "immutableReferences": { "62077": [ { "start": 3482, "length": 32 } ], "78707": [ { "start": 3110, "length": 32 }, { "start": 3446, "length": 32 } ] } }, "methodIdentifiers": { "activateForFund(bool)": "80d57063", "deactivateForFund()": "bd8e959a", "disablePolicyForFund(address,address)": "45d582e7", "enablePolicyForFund(address,address,bytes)": "48f35209", "getEnabledPoliciesForFund(address)": "8af6d89e", "getEnabledPoliciesOnHookForFund(address,uint8)": "8aa740b4", "getFundDeployer()": "97c0ac87", "getGasRelayPaymasterFactory()": "ac259456", "getGasRelayTrustedForwarder()": "6ea21143", "getOwner()": "893d20e8", "getVaultProxyForFund(address)": "46790346", "policyIsEnabledOnHookForFund(address,uint8,address)": "248a2aab", "receiveCallFromComptroller(address,uint256,bytes)": "1bee801e", "setConfigForFund(address,address,bytes)": "f067cc11", "updatePolicySettingsForFund(address,address,bytes)": "4ed28b3f", "validatePolicies(address,uint8,bytes)": "0442bad5" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_fundDeployer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_gasRelayPaymasterFactory\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"policy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"enum IPolicyManager.PolicyHook\",\"name\":\"hook\",\"type\":\"uint8\"}],\"name\":\"PolicyDisabledOnHookForFund\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"policy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"settingsData\",\"type\":\"bytes\"}],\"name\":\"PolicyEnabledForFund\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"vaultProxy\",\"type\":\"address\"}],\"name\":\"ValidatedVaultProxySetForFund\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"_isMigratedFund\",\"type\":\"bool\"}],\"name\":\"activateForFund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"deactivateForFund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_policy\",\"type\":\"address\"}],\"name\":\"disablePolicyForFund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_policy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_settingsData\",\"type\":\"bytes\"}],\"name\":\"enablePolicyForFund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"}],\"name\":\"getEnabledPoliciesForFund\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"enabledPolicies_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"enum IPolicyManager.PolicyHook\",\"name\":\"_hook\",\"type\":\"uint8\"}],\"name\":\"getEnabledPoliciesOnHookForFund\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"enabledPolicies_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFundDeployer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"fundDeployer_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getGasRelayPaymasterFactory\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"gasRelayPaymasterFactory_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getGasRelayTrustedForwarder\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"trustedForwarder_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"}],\"name\":\"getVaultProxyForFund\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"vaultProxy_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"enum IPolicyManager.PolicyHook\",\"name\":\"_hook\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"_policy\",\"type\":\"address\"}],\"name\":\"policyIsEnabledOnHookForFund\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isEnabled_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"receiveCallFromComptroller\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_configData\",\"type\":\"bytes\"}],\"name\":\"setConfigForFund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_policy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_settingsData\",\"type\":\"bytes\"}],\"name\":\"updatePolicySettingsForFund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"enum IPolicyManager.PolicyHook\",\"name\":\"_hook\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"_validationData\",\"type\":\"bytes\"}],\"name\":\"validatePolicies\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"Any arbitrary fee is allowed by default, so all participants must be aware of their fund's configuration, especially whether they use official policies only. Policies that restrict current investors can only be added upon fund setup, migration, or reconfiguration. Policies that restrict new investors or asset management actions can be added at any time. Policies themselves specify whether or not they are allowed to be updated or removed.\",\"kind\":\"dev\",\"methods\":{\"activateForFund(bool)\":{\"details\":\"There will be no enabledPolicies if the caller is not a valid ComptrollerProxy\",\"params\":{\"_isMigratedFund\":\"True if the fund is migrating to this release\"}},\"deactivateForFund()\":{\"details\":\"Unimplemented by default, may be overridden.\"},\"disablePolicyForFund(address,address)\":{\"details\":\"If an arbitrary policy changes its `implementedHooks()` return values after it is already enabled on a fund, then this will not correctly disable the policy from any removed hook values.\",\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\",\"_policy\":\"The policy address to disable\"}},\"enablePolicyForFund(address,address,bytes)\":{\"details\":\"Disabling a policy does not delete fund config on the policy, so if a policy is disabled and then enabled again, its initial state will be the previous config. It is the policy's job to determine how to merge that config with the _settingsData param in this function.\",\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\",\"_policy\":\"The policy address to enable\",\"_settingsData\":\"The encoded settings data with which to configure the policy\"}},\"getEnabledPoliciesForFund(address)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy\"},\"returns\":{\"enabledPolicies_\":\"The array of enabled policy addresses\"}},\"getEnabledPoliciesOnHookForFund(address,uint8)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy\",\"_hook\":\"The PolicyHook\"},\"returns\":{\"enabledPolicies_\":\"The array of enabled policy addresses\"}},\"getFundDeployer()\":{\"returns\":{\"fundDeployer_\":\"The `FUND_DEPLOYER` variable value\"}},\"getGasRelayPaymasterFactory()\":{\"returns\":{\"gasRelayPaymasterFactory_\":\"The `GAS_RELAY_PAYMASTER_FACTORY` variable value\"}},\"getGasRelayTrustedForwarder()\":{\"returns\":{\"trustedForwarder_\":\"The trusted forwarder\"}},\"getOwner()\":{\"details\":\"Ownership is deferred to the owner of the FundDeployer contract\",\"returns\":{\"owner_\":\"The owner\"}},\"getVaultProxyForFund(address)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\"},\"returns\":{\"vaultProxy_\":\"The VaultProxy of the fund\"}},\"policyIsEnabledOnHookForFund(address,uint8,address)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy\",\"_hook\":\"The PolicyHook\",\"_policy\":\"The policy\"},\"returns\":{\"isEnabled_\":\"True if the policy is enabled\"}},\"receiveCallFromComptroller(address,uint256,bytes)\":{\"details\":\"Unimplemented by default, may be overridden.\"},\"setConfigForFund(address,address,bytes)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\",\"_configData\":\"Encoded config data\",\"_vaultProxy\":\"The VaultProxy of the fund\"}},\"updatePolicySettingsForFund(address,address,bytes)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\",\"_policy\":\"The Policy contract to update\",\"_settingsData\":\"The encoded settings data with which to update the policy config\"}},\"validatePolicies(address,uint8,bytes)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\",\"_hook\":\"The PolicyHook for which to validate policies\",\"_validationData\":\"The encoded data with which to validate the filtered policies\"}}},\"title\":\"PolicyManager Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"activateForFund(bool)\":{\"notice\":\"Validates and initializes policies as necessary prior to fund activation\"},\"deactivateForFund()\":{\"notice\":\"Allows extension to run logic during fund deactivation (destruct)\"},\"disablePolicyForFund(address,address)\":{\"notice\":\"Disables a policy for a fund\"},\"enablePolicyForFund(address,address,bytes)\":{\"notice\":\"Enables a policy for a fund\"},\"getEnabledPoliciesForFund(address)\":{\"notice\":\"Get a list of enabled policies for the given fund\"},\"getEnabledPoliciesOnHookForFund(address,uint8)\":{\"notice\":\"Get a list of enabled policies that run on a given hook for the given fund\"},\"getFundDeployer()\":{\"notice\":\"Gets the `FUND_DEPLOYER` variable\"},\"getGasRelayPaymasterFactory()\":{\"notice\":\"Gets the `GAS_RELAY_PAYMASTER_FACTORY` variable\"},\"getGasRelayTrustedForwarder()\":{\"notice\":\"Gets the trusted forwarder for GSN relaying\"},\"getOwner()\":{\"notice\":\"Gets the owner of this contract\"},\"getVaultProxyForFund(address)\":{\"notice\":\"Gets the verified VaultProxy for a given ComptrollerProxy\"},\"policyIsEnabledOnHookForFund(address,uint8,address)\":{\"notice\":\"Check whether a given policy runs on a given hook for a given fund\"},\"receiveCallFromComptroller(address,uint256,bytes)\":{\"notice\":\"Receives calls from ComptrollerLib.callOnExtension() and dispatches the appropriate action\"},\"setConfigForFund(address,address,bytes)\":{\"notice\":\"Enable policies for use in a fund\"},\"updatePolicySettingsForFund(address,address,bytes)\":{\"notice\":\"Updates policy settings for a fund\"},\"validatePolicies(address,uint8,bytes)\":{\"notice\":\"Validates all policies that apply to a given hook for a fund\"}},\"notice\":\"Manages policies for funds\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/policy-manager/PolicyManager.sol\":\"PolicyManager\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/vault/interfaces/IExternalPositionVault.sol\":{\"keccak256\":\"0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d\",\"dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8\"]},\"contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol\":{\"keccak256\":\"0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb\",\"dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU\"]},\"contracts/persistent/vault/interfaces/IMigratableVault.sol\":{\"keccak256\":\"0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6\",\"dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs\"]},\"contracts/persistent/vault/interfaces/IVaultCore.sol\":{\"keccak256\":\"0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd\",\"dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr\"]},\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/core/fund/comptroller/IComptroller.sol\":{\"keccak256\":\"0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97\",\"dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L\"]},\"contracts/release/core/fund/vault/IVault.sol\":{\"keccak256\":\"0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599\",\"dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG\"]},\"contracts/release/extensions/IExtension.sol\":{\"keccak256\":\"0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70\",\"dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t\"]},\"contracts/release/extensions/policy-manager/IPolicy.sol\":{\"keccak256\":\"0xc12663ca72065b256c3b934ab738fde26c147c7b0399de43650df89dd52ee467\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://be8fecfcba0f3fda615f0a1bb3c766750c23761ef751d7c4472dfe540e460cd1\",\"dweb:/ipfs/QmaarPoRTsX6NiJ8V4u2f3Qh6d7tUs28bw9R14An3t5Bs1\"]},\"contracts/release/extensions/policy-manager/IPolicyManager.sol\":{\"keccak256\":\"0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa\",\"dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb\"]},\"contracts/release/extensions/policy-manager/PolicyManager.sol\":{\"keccak256\":\"0xd15a53daee1148a76df4e0de9a3d77181f0134a0cf4c815f222e16a352ac3ac0\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a58b2508954f047e4c613da8dee716cd573a1f15061893dc7c00e71ee6a4e465\",\"dweb:/ipfs/QmcSpn8RhvicFaXPcG9KoveX6t6wvfsFRuz63pVZsEJcda\"]},\"contracts/release/extensions/utils/ExtensionBase.sol\":{\"keccak256\":\"0xae68767766f6459bd2cd9dbd39df74f2c2f68f2150885bbce410e4091c807bb1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ce4c49522a39f618cc76feb474260fe910949f38e83b5f4518f1f245ba6eb876\",\"dweb:/ipfs/QmZ4wciRpziZAS4HRQy44Sgzm4GM4Wzme9zYnABzR6Cbzo\"]},\"contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol\":{\"keccak256\":\"0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f\",\"dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol\":{\"keccak256\":\"0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0\",\"dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2\"]},\"contracts/release/interfaces/IGsnForwarder.sol\":{\"keccak256\":\"0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29\",\"dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G\"]},\"contracts/release/interfaces/IGsnPaymaster.sol\":{\"keccak256\":\"0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4\",\"dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF\"]},\"contracts/release/interfaces/IGsnTypes.sol\":{\"keccak256\":\"0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7\",\"dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/FundDeployerOwnerMixin.sol\":{\"keccak256\":\"0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927\",\"dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM\"]},\"contracts/release/utils/beacon-proxy/IBeacon.sol\":{\"keccak256\":\"0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39\",\"dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V\"]},\"contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol\":{\"keccak256\":\"0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be\",\"dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_fundDeployer", "type": "address" }, { "internalType": "address", "name": "_gasRelayPaymasterFactory", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "comptrollerProxy", "type": "address", "indexed": true }, { "internalType": "address", "name": "policy", "type": "address", "indexed": true }, { "internalType": "enum IPolicyManager.PolicyHook", "name": "hook", "type": "uint8", "indexed": true } ], "type": "event", "name": "PolicyDisabledOnHookForFund", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "comptrollerProxy", "type": "address", "indexed": true }, { "internalType": "address", "name": "policy", "type": "address", "indexed": true }, { "internalType": "bytes", "name": "settingsData", "type": "bytes", "indexed": false } ], "type": "event", "name": "PolicyEnabledForFund", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "comptrollerProxy", "type": "address", "indexed": true }, { "internalType": "address", "name": "vaultProxy", "type": "address", "indexed": true } ], "type": "event", "name": "ValidatedVaultProxySetForFund", "anonymous": false }, { "inputs": [ { "internalType": "bool", "name": "_isMigratedFund", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function", "name": "activateForFund" }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "deactivateForFund" }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" }, { "internalType": "address", "name": "_policy", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "disablePolicyForFund" }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" }, { "internalType": "address", "name": "_policy", "type": "address" }, { "internalType": "bytes", "name": "_settingsData", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "enablePolicyForFund" }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getEnabledPoliciesForFund", "outputs": [ { "internalType": "address[]", "name": "enabledPolicies_", "type": "address[]" } ] }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" }, { "internalType": "enum IPolicyManager.PolicyHook", "name": "_hook", "type": "uint8" } ], "stateMutability": "view", "type": "function", "name": "getEnabledPoliciesOnHookForFund", "outputs": [ { "internalType": "address[]", "name": "enabledPolicies_", "type": "address[]" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getFundDeployer", "outputs": [ { "internalType": "address", "name": "fundDeployer_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getGasRelayPaymasterFactory", "outputs": [ { "internalType": "address", "name": "gasRelayPaymasterFactory_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getGasRelayTrustedForwarder", "outputs": [ { "internalType": "address", "name": "trustedForwarder_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getOwner", "outputs": [ { "internalType": "address", "name": "owner_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getVaultProxyForFund", "outputs": [ { "internalType": "address", "name": "vaultProxy_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" }, { "internalType": "enum IPolicyManager.PolicyHook", "name": "_hook", "type": "uint8" }, { "internalType": "address", "name": "_policy", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "policyIsEnabledOnHookForFund", "outputs": [ { "internalType": "bool", "name": "isEnabled_", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "receiveCallFromComptroller" }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" }, { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "bytes", "name": "_configData", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "setConfigForFund" }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" }, { "internalType": "address", "name": "_policy", "type": "address" }, { "internalType": "bytes", "name": "_settingsData", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "updatePolicySettingsForFund" }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" }, { "internalType": "enum IPolicyManager.PolicyHook", "name": "_hook", "type": "uint8" }, { "internalType": "bytes", "name": "_validationData", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "validatePolicies" } ], "devdoc": { "kind": "dev", "methods": { "activateForFund(bool)": { "details": "There will be no enabledPolicies if the caller is not a valid ComptrollerProxy", "params": { "_isMigratedFund": "True if the fund is migrating to this release" } }, "deactivateForFund()": { "details": "Unimplemented by default, may be overridden." }, "disablePolicyForFund(address,address)": { "details": "If an arbitrary policy changes its `implementedHooks()` return values after it is already enabled on a fund, then this will not correctly disable the policy from any removed hook values.", "params": { "_comptrollerProxy": "The ComptrollerProxy of the fund", "_policy": "The policy address to disable" } }, "enablePolicyForFund(address,address,bytes)": { "details": "Disabling a policy does not delete fund config on the policy, so if a policy is disabled and then enabled again, its initial state will be the previous config. It is the policy's job to determine how to merge that config with the _settingsData param in this function.", "params": { "_comptrollerProxy": "The ComptrollerProxy of the fund", "_policy": "The policy address to enable", "_settingsData": "The encoded settings data with which to configure the policy" } }, "getEnabledPoliciesForFund(address)": { "params": { "_comptrollerProxy": "The ComptrollerProxy" }, "returns": { "enabledPolicies_": "The array of enabled policy addresses" } }, "getEnabledPoliciesOnHookForFund(address,uint8)": { "params": { "_comptrollerProxy": "The ComptrollerProxy", "_hook": "The PolicyHook" }, "returns": { "enabledPolicies_": "The array of enabled policy addresses" } }, "getFundDeployer()": { "returns": { "fundDeployer_": "The `FUND_DEPLOYER` variable value" } }, "getGasRelayPaymasterFactory()": { "returns": { "gasRelayPaymasterFactory_": "The `GAS_RELAY_PAYMASTER_FACTORY` variable value" } }, "getGasRelayTrustedForwarder()": { "returns": { "trustedForwarder_": "The trusted forwarder" } }, "getOwner()": { "details": "Ownership is deferred to the owner of the FundDeployer contract", "returns": { "owner_": "The owner" } }, "getVaultProxyForFund(address)": { "params": { "_comptrollerProxy": "The ComptrollerProxy of the fund" }, "returns": { "vaultProxy_": "The VaultProxy of the fund" } }, "policyIsEnabledOnHookForFund(address,uint8,address)": { "params": { "_comptrollerProxy": "The ComptrollerProxy", "_hook": "The PolicyHook", "_policy": "The policy" }, "returns": { "isEnabled_": "True if the policy is enabled" } }, "receiveCallFromComptroller(address,uint256,bytes)": { "details": "Unimplemented by default, may be overridden." }, "setConfigForFund(address,address,bytes)": { "params": { "_comptrollerProxy": "The ComptrollerProxy of the fund", "_configData": "Encoded config data", "_vaultProxy": "The VaultProxy of the fund" } }, "updatePolicySettingsForFund(address,address,bytes)": { "params": { "_comptrollerProxy": "The ComptrollerProxy of the fund", "_policy": "The Policy contract to update", "_settingsData": "The encoded settings data with which to update the policy config" } }, "validatePolicies(address,uint8,bytes)": { "params": { "_comptrollerProxy": "The ComptrollerProxy of the fund", "_hook": "The PolicyHook for which to validate policies", "_validationData": "The encoded data with which to validate the filtered policies" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "activateForFund(bool)": { "notice": "Validates and initializes policies as necessary prior to fund activation" }, "deactivateForFund()": { "notice": "Allows extension to run logic during fund deactivation (destruct)" }, "disablePolicyForFund(address,address)": { "notice": "Disables a policy for a fund" }, "enablePolicyForFund(address,address,bytes)": { "notice": "Enables a policy for a fund" }, "getEnabledPoliciesForFund(address)": { "notice": "Get a list of enabled policies for the given fund" }, "getEnabledPoliciesOnHookForFund(address,uint8)": { "notice": "Get a list of enabled policies that run on a given hook for the given fund" }, "getFundDeployer()": { "notice": "Gets the `FUND_DEPLOYER` variable" }, "getGasRelayPaymasterFactory()": { "notice": "Gets the `GAS_RELAY_PAYMASTER_FACTORY` variable" }, "getGasRelayTrustedForwarder()": { "notice": "Gets the trusted forwarder for GSN relaying" }, "getOwner()": { "notice": "Gets the owner of this contract" }, "getVaultProxyForFund(address)": { "notice": "Gets the verified VaultProxy for a given ComptrollerProxy" }, "policyIsEnabledOnHookForFund(address,uint8,address)": { "notice": "Check whether a given policy runs on a given hook for a given fund" }, "receiveCallFromComptroller(address,uint256,bytes)": { "notice": "Receives calls from ComptrollerLib.callOnExtension() and dispatches the appropriate action" }, "setConfigForFund(address,address,bytes)": { "notice": "Enable policies for use in a fund" }, "updatePolicySettingsForFund(address,address,bytes)": { "notice": "Updates policy settings for a fund" }, "validatePolicies(address,uint8,bytes)": { "notice": "Validates all policies that apply to a given hook for a fund" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/policy-manager/PolicyManager.sol": "PolicyManager" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/vault/interfaces/IExternalPositionVault.sol": { "keccak256": "0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6", "urls": [ "bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d", "dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol": { "keccak256": "0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0", "urls": [ "bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb", "dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IMigratableVault.sol": { "keccak256": "0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238", "urls": [ "bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6", "dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IVaultCore.sol": { "keccak256": "0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80", "urls": [ "bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd", "dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr" ], "license": "GPL-3.0" }, "contracts/release/core/fund-deployer/IFundDeployer.sol": { "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", "urls": [ "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" ], "license": "GPL-3.0" }, "contracts/release/core/fund/comptroller/IComptroller.sol": { "keccak256": "0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f", "urls": [ "bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97", "dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L" ], "license": "GPL-3.0" }, "contracts/release/core/fund/vault/IVault.sol": { "keccak256": "0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd", "urls": [ "bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599", "dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG" ], "license": "GPL-3.0" }, "contracts/release/extensions/IExtension.sol": { "keccak256": "0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b", "urls": [ "bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70", "dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t" ], "license": "GPL-3.0" }, "contracts/release/extensions/policy-manager/IPolicy.sol": { "keccak256": "0xc12663ca72065b256c3b934ab738fde26c147c7b0399de43650df89dd52ee467", "urls": [ "bzz-raw://be8fecfcba0f3fda615f0a1bb3c766750c23761ef751d7c4472dfe540e460cd1", "dweb:/ipfs/QmaarPoRTsX6NiJ8V4u2f3Qh6d7tUs28bw9R14An3t5Bs1" ], "license": "GPL-3.0" }, "contracts/release/extensions/policy-manager/IPolicyManager.sol": { "keccak256": "0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32", "urls": [ "bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa", "dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb" ], "license": "GPL-3.0" }, "contracts/release/extensions/policy-manager/PolicyManager.sol": { "keccak256": "0xd15a53daee1148a76df4e0de9a3d77181f0134a0cf4c815f222e16a352ac3ac0", "urls": [ "bzz-raw://a58b2508954f047e4c613da8dee716cd573a1f15061893dc7c00e71ee6a4e465", "dweb:/ipfs/QmcSpn8RhvicFaXPcG9KoveX6t6wvfsFRuz63pVZsEJcda" ], "license": "GPL-3.0" }, "contracts/release/extensions/utils/ExtensionBase.sol": { "keccak256": "0xae68767766f6459bd2cd9dbd39df74f2c2f68f2150885bbce410e4091c807bb1", "urls": [ "bzz-raw://ce4c49522a39f618cc76feb474260fe910949f38e83b5f4518f1f245ba6eb876", "dweb:/ipfs/QmZ4wciRpziZAS4HRQy44Sgzm4GM4Wzme9zYnABzR6Cbzo" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol": { "keccak256": "0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609", "urls": [ "bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f", "dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol": { "keccak256": "0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01", "urls": [ "bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0", "dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IGsnForwarder.sol": { "keccak256": "0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030", "urls": [ "bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29", "dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IGsnPaymaster.sol": { "keccak256": "0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c", "urls": [ "bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4", "dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IGsnTypes.sol": { "keccak256": "0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714", "urls": [ "bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7", "dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C" ], "license": "GPL-3.0" }, "contracts/release/utils/AddressArrayLib.sol": { "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", "urls": [ "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" ], "license": "GPL-3.0" }, "contracts/release/utils/FundDeployerOwnerMixin.sol": { "keccak256": "0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934", "urls": [ "bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927", "dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM" ], "license": "GPL-3.0" }, "contracts/release/utils/beacon-proxy/IBeacon.sol": { "keccak256": "0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2", "urls": [ "bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39", "dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V" ], "license": "GPL-3.0" }, "contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol": { "keccak256": "0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc", "urls": [ "bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be", "dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 206 } diff --git a/eth_defi/abi/enzyme/PoolAddress.json b/eth_defi/abi/enzyme/PoolAddress.json index d342702f..956051e6 100644 --- a/eth_defi/abi/enzyme/PoolAddress.json +++ b/eth_defi/abi/enzyme/PoolAddress.json @@ -1,78 +1 @@ -{ - "abi": [], - "bytecode": { - "object": "0x602d6023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c6343000706000a", - "sourceMap": "167:1652:49:-:0;;;;;;;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c6343000706000a", - "sourceMap": "167:1652:49:-:0;;;;;;;;", - "linkReferences": {} - }, - "methodIdentifiers": {}, - "rawMetadata": "{\"compiler\":{\"version\":\"0.7.6+commit.7338295f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"title\":\"Provides functions for deriving a pool address from the factory, tokens, and the fee\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@uniswap/v3-periphery/contracts/libraries/PoolAddress.sol\":\"PoolAddress\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"node_modules/@uniswap/v3-periphery/contracts/libraries/PoolAddress.sol\":{\"keccak256\":\"0x5edd84eb8ba7c12fd8cb6cffe52e1e9f3f6464514ee5f539c2283826209035a2\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://f375d0e6d5ea3674e1aa6f112b021e9a86721a6a2f3cb22d673378b30cf0e840\",\"dweb:/ipfs/QmWJir2qnJyp963mU6U3jEEx9i3H3V5BgKawAfSnG1pC8w\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.7.6+commit.7338295f" - }, - "language": "Solidity", - "output": { - "abi": [], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "node_modules/@uniswap/v3-periphery/contracts/libraries/PoolAddress.sol": "PoolAddress" - }, - "libraries": {} - }, - "sources": { - "node_modules/@uniswap/v3-periphery/contracts/libraries/PoolAddress.sol": { - "keccak256": "0x5edd84eb8ba7c12fd8cb6cffe52e1e9f3f6464514ee5f539c2283826209035a2", - "urls": [ - "bzz-raw://f375d0e6d5ea3674e1aa6f112b021e9a86721a6a2f3cb22d673378b30cf0e840", - "dweb:/ipfs/QmWJir2qnJyp963mU6U3jEEx9i3H3V5BgKawAfSnG1pC8w" - ], - "license": "GPL-2.0-or-later" - } - }, - "version": 1 - }, - "id": 49 -} +{ "abi": [], "bytecode": { "object": "0x602d6023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c6343000706000a", "sourceMap": "167:1652:49:-:0;;;;;;;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c6343000706000a", "sourceMap": "167:1652:49:-:0;;;;;;;;", "linkReferences": {} }, "methodIdentifiers": {}, "rawMetadata": "{\"compiler\":{\"version\":\"0.7.6+commit.7338295f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"title\":\"Provides functions for deriving a pool address from the factory, tokens, and the fee\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@uniswap/v3-periphery/contracts/libraries/PoolAddress.sol\":\"PoolAddress\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"node_modules/@uniswap/v3-periphery/contracts/libraries/PoolAddress.sol\":{\"keccak256\":\"0x5edd84eb8ba7c12fd8cb6cffe52e1e9f3f6464514ee5f539c2283826209035a2\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://f375d0e6d5ea3674e1aa6f112b021e9a86721a6a2f3cb22d673378b30cf0e840\",\"dweb:/ipfs/QmWJir2qnJyp963mU6U3jEEx9i3H3V5BgKawAfSnG1pC8w\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.7.6+commit.7338295f" }, "language": "Solidity", "output": { "abi": [], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "node_modules/@uniswap/v3-periphery/contracts/libraries/PoolAddress.sol": "PoolAddress" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "node_modules/@uniswap/v3-periphery/contracts/libraries/PoolAddress.sol": { "keccak256": "0x5edd84eb8ba7c12fd8cb6cffe52e1e9f3f6464514ee5f539c2283826209035a2", "urls": [ "bzz-raw://f375d0e6d5ea3674e1aa6f112b021e9a86721a6a2f3cb22d673378b30cf0e840", "dweb:/ipfs/QmWJir2qnJyp963mU6U3jEEx9i3H3V5BgKawAfSnG1pC8w" ], "license": "GPL-2.0-or-later" } }, "version": 1 }, "id": 49 } diff --git a/eth_defi/abi/enzyme/PoolTogetherV4ActionsMixin.json b/eth_defi/abi/enzyme/PoolTogetherV4ActionsMixin.json index 0b4fa7fe..368d5159 100644 --- a/eth_defi/abi/enzyme/PoolTogetherV4ActionsMixin.json +++ b/eth_defi/abi/enzyme/PoolTogetherV4ActionsMixin.json @@ -1,158 +1 @@ -{ - "abi": [], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": {}, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"PoolTogetherV4ActionsMixin Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Mixin contract for interacting with the PoolTogether lending functions\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/integration-manager/integrations/utils/actions/PoolTogetherV4ActionsMixin.sol\":\"PoolTogetherV4ActionsMixin\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/integration-manager/integrations/utils/actions/PoolTogetherV4ActionsMixin.sol\":{\"keccak256\":\"0x2c8f6dc9cef144a20b2bd732804d3db48e2e2be3b2cd7a0644f80c8b7d3a3455\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8a5642511e557ee1745e3a88787cd8e3cb88f76a06c05a72626558332b92c13a\",\"dweb:/ipfs/Qmbr2aJsRsB4umCUuRHvr9ktTNeS66kmeGuGoQXkUqLyxd\"]},\"contracts/release/interfaces/IPoolTogetherV4PrizeDistributor.sol\":{\"keccak256\":\"0xbca9ae1b85ec6bb42ddd53e6bc12218f1faa6c0f70de74919f338c36e0fa03f3\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://4023b26e3de5a4093af97661012a989c9d77352613894e27c8b9c8e6956d4d90\",\"dweb:/ipfs/QmZx2PnDzo2uUyzdoPNiqGjhY8mfQaU6cmeAQuny22rHBe\"]},\"contracts/release/interfaces/IPoolTogetherV4PrizePool.sol\":{\"keccak256\":\"0xe00442f12e15284f31ad74eaed7935e66148ecb9fae0892b4b576a2240f97907\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c549969061895dd877d83911270d297426da351dd012d7f8dd1e2c779826b262\",\"dweb:/ipfs/QmSvHZQxLkxaQxowkTW5dVYXFLvntQkDt8FPX4JRGGpbPb\"]},\"contracts/release/interfaces/IPoolTogetherV4Ticket.sol\":{\"keccak256\":\"0xbd8df71f62357588fbcbd9181ea8be6dbace2d6776f7f5c8ef7a5aa64e0b9507\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c4979f047cf931662c24c78eaaa2ca0303bf8e375c4e195b8a4e94c2e1e106ef\",\"dweb:/ipfs/QmYkYYyqQfPSNYGDqedFJt9zyLpBtmCB58yepJ5b1RxDf7\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/integration-manager/integrations/utils/actions/PoolTogetherV4ActionsMixin.sol": "PoolTogetherV4ActionsMixin" - }, - "libraries": {} - }, - "sources": { - "contracts/release/extensions/integration-manager/integrations/utils/actions/PoolTogetherV4ActionsMixin.sol": { - "keccak256": "0x2c8f6dc9cef144a20b2bd732804d3db48e2e2be3b2cd7a0644f80c8b7d3a3455", - "urls": [ - "bzz-raw://8a5642511e557ee1745e3a88787cd8e3cb88f76a06c05a72626558332b92c13a", - "dweb:/ipfs/Qmbr2aJsRsB4umCUuRHvr9ktTNeS66kmeGuGoQXkUqLyxd" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IPoolTogetherV4PrizeDistributor.sol": { - "keccak256": "0xbca9ae1b85ec6bb42ddd53e6bc12218f1faa6c0f70de74919f338c36e0fa03f3", - "urls": [ - "bzz-raw://4023b26e3de5a4093af97661012a989c9d77352613894e27c8b9c8e6956d4d90", - "dweb:/ipfs/QmZx2PnDzo2uUyzdoPNiqGjhY8mfQaU6cmeAQuny22rHBe" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IPoolTogetherV4PrizePool.sol": { - "keccak256": "0xe00442f12e15284f31ad74eaed7935e66148ecb9fae0892b4b576a2240f97907", - "urls": [ - "bzz-raw://c549969061895dd877d83911270d297426da351dd012d7f8dd1e2c779826b262", - "dweb:/ipfs/QmSvHZQxLkxaQxowkTW5dVYXFLvntQkDt8FPX4JRGGpbPb" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IPoolTogetherV4Ticket.sol": { - "keccak256": "0xbd8df71f62357588fbcbd9181ea8be6dbace2d6776f7f5c8ef7a5aa64e0b9507", - "urls": [ - "bzz-raw://c4979f047cf931662c24c78eaaa2ca0303bf8e375c4e195b8a4e94c2e1e106ef", - "dweb:/ipfs/QmYkYYyqQfPSNYGDqedFJt9zyLpBtmCB58yepJ5b1RxDf7" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AssetHelpers.sol": { - "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", - "urls": [ - "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", - "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { - "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", - "urls": [ - "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", - "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Address.sol": { - "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", - "urls": [ - "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", - "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 193 -} +{ "abi": [], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": {}, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"PoolTogetherV4ActionsMixin Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Mixin contract for interacting with the PoolTogether lending functions\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/integration-manager/integrations/utils/actions/PoolTogetherV4ActionsMixin.sol\":\"PoolTogetherV4ActionsMixin\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/integration-manager/integrations/utils/actions/PoolTogetherV4ActionsMixin.sol\":{\"keccak256\":\"0x2c8f6dc9cef144a20b2bd732804d3db48e2e2be3b2cd7a0644f80c8b7d3a3455\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8a5642511e557ee1745e3a88787cd8e3cb88f76a06c05a72626558332b92c13a\",\"dweb:/ipfs/Qmbr2aJsRsB4umCUuRHvr9ktTNeS66kmeGuGoQXkUqLyxd\"]},\"contracts/release/interfaces/IPoolTogetherV4PrizeDistributor.sol\":{\"keccak256\":\"0xbca9ae1b85ec6bb42ddd53e6bc12218f1faa6c0f70de74919f338c36e0fa03f3\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://4023b26e3de5a4093af97661012a989c9d77352613894e27c8b9c8e6956d4d90\",\"dweb:/ipfs/QmZx2PnDzo2uUyzdoPNiqGjhY8mfQaU6cmeAQuny22rHBe\"]},\"contracts/release/interfaces/IPoolTogetherV4PrizePool.sol\":{\"keccak256\":\"0xe00442f12e15284f31ad74eaed7935e66148ecb9fae0892b4b576a2240f97907\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c549969061895dd877d83911270d297426da351dd012d7f8dd1e2c779826b262\",\"dweb:/ipfs/QmSvHZQxLkxaQxowkTW5dVYXFLvntQkDt8FPX4JRGGpbPb\"]},\"contracts/release/interfaces/IPoolTogetherV4Ticket.sol\":{\"keccak256\":\"0xbd8df71f62357588fbcbd9181ea8be6dbace2d6776f7f5c8ef7a5aa64e0b9507\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c4979f047cf931662c24c78eaaa2ca0303bf8e375c4e195b8a4e94c2e1e106ef\",\"dweb:/ipfs/QmYkYYyqQfPSNYGDqedFJt9zyLpBtmCB58yepJ5b1RxDf7\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/integration-manager/integrations/utils/actions/PoolTogetherV4ActionsMixin.sol": "PoolTogetherV4ActionsMixin" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/extensions/integration-manager/integrations/utils/actions/PoolTogetherV4ActionsMixin.sol": { "keccak256": "0x2c8f6dc9cef144a20b2bd732804d3db48e2e2be3b2cd7a0644f80c8b7d3a3455", "urls": [ "bzz-raw://8a5642511e557ee1745e3a88787cd8e3cb88f76a06c05a72626558332b92c13a", "dweb:/ipfs/Qmbr2aJsRsB4umCUuRHvr9ktTNeS66kmeGuGoQXkUqLyxd" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IPoolTogetherV4PrizeDistributor.sol": { "keccak256": "0xbca9ae1b85ec6bb42ddd53e6bc12218f1faa6c0f70de74919f338c36e0fa03f3", "urls": [ "bzz-raw://4023b26e3de5a4093af97661012a989c9d77352613894e27c8b9c8e6956d4d90", "dweb:/ipfs/QmZx2PnDzo2uUyzdoPNiqGjhY8mfQaU6cmeAQuny22rHBe" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IPoolTogetherV4PrizePool.sol": { "keccak256": "0xe00442f12e15284f31ad74eaed7935e66148ecb9fae0892b4b576a2240f97907", "urls": [ "bzz-raw://c549969061895dd877d83911270d297426da351dd012d7f8dd1e2c779826b262", "dweb:/ipfs/QmSvHZQxLkxaQxowkTW5dVYXFLvntQkDt8FPX4JRGGpbPb" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IPoolTogetherV4Ticket.sol": { "keccak256": "0xbd8df71f62357588fbcbd9181ea8be6dbace2d6776f7f5c8ef7a5aa64e0b9507", "urls": [ "bzz-raw://c4979f047cf931662c24c78eaaa2ca0303bf8e375c4e195b8a4e94c2e1e106ef", "dweb:/ipfs/QmYkYYyqQfPSNYGDqedFJt9zyLpBtmCB58yepJ5b1RxDf7" ], "license": "GPL-3.0" }, "contracts/release/utils/AssetHelpers.sol": { "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", "urls": [ "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", "urls": [ "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Address.sol": { "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", "urls": [ "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" } }, "version": 1 }, "id": 193 } diff --git a/eth_defi/abi/enzyme/PoolTogetherV4Adapter.json b/eth_defi/abi/enzyme/PoolTogetherV4Adapter.json index b08bb2cb..1dbcb94d 100644 --- a/eth_defi/abi/enzyme/PoolTogetherV4Adapter.json +++ b/eth_defi/abi/enzyme/PoolTogetherV4Adapter.json @@ -1,910 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_integrationManager", - "type": "address" - }, - { - "internalType": "address", - "name": "_poolTogetherV4PriceFeed", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "name": "CLAIM_REWARDS_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "LEND_AND_STAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "LEND_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "REDEEM_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "STAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "TAKE_MULTIPLE_ORDERS_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "TAKE_ORDER_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "UNSTAKE_AND_REDEEM_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "UNSTAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "claimRewards", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getIntegrationManager", - "outputs": [ - { - "internalType": "address", - "name": "integrationManager_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getPoolTogetherV4PriceFeed", - "outputs": [ - { - "internalType": "address", - "name": "poolTogetherV4PriceFeed_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "_encodedAssetTransferArgs", - "type": "bytes" - } - ], - "name": "lend", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes4", - "name": "_selector", - "type": "bytes4" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - } - ], - "name": "parseAssetsForAction", - "outputs": [ - { - "internalType": "enum IIntegrationManager.SpendAssetsHandleType", - "name": "spendAssetsHandleType_", - "type": "uint8" - }, - { - "internalType": "address[]", - "name": "spendAssets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "spendAssetAmounts_", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "incomingAssets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "minIncomingAssetAmounts_", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "_encodedAssetTransferArgs", - "type": "bytes" - } - ], - "name": "redeem", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x60c060405234801561001057600080fd5b50604051611c2b380380611c2b8339818101604052604081101561003357600080fd5b5080516020909101516001600160601b0319606092831b8116608052911b1660a05260805160601c60a05160601c611b9461009760003980610706528061115952806113975250806105e852806107e752806108a45280610a685250611b946000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c8063863e5ad011610097578063c32990a211610066578063c32990a2146103df578063c54efee5146103e7578063e7c45690146105a9578063f7d882b5146105b1576100f5565b8063863e5ad014610233578063b23228cf1461023b578063b9dfbacc14610243578063c29fa9dd14610311576100f5565b80631687c89b116100d35780631687c89b146101f7578063257cb1a31461021b5780633ffc15911461022357806340da225d1461022b576100f5565b8063080456c1146100fa578063099f75151461011f578063131461c0146101ef575b600080fd5b6101026105b9565b604080516001600160e01b03199092168252519081900360200190f35b6101ed6004803603606081101561013557600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561015f57600080fd5b82018360208201111561017157600080fd5b803590602001918460018302840111600160201b8311171561019257600080fd5b919390929091602081019035600160201b8111156101af57600080fd5b8201836020820111156101c157600080fd5b803590602001918460018302840111600160201b831117156101e257600080fd5b5090925090506105dd565b005b6101026106e0565b6101ff610704565b604080516001600160a01b039092168252519081900360200190f35b610102610728565b61010261074c565b610102610770565b610102610794565b6101026107b8565b6101ed6004803603606081101561025957600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561028357600080fd5b82018360208201111561029557600080fd5b803590602001918460018302840111600160201b831117156102b657600080fd5b919390929091602081019035600160201b8111156102d357600080fd5b8201836020820111156102e557600080fd5b803590602001918460018302840111600160201b8311171561030657600080fd5b5090925090506107dc565b6101ed6004803603606081101561032757600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561035157600080fd5b82018360208201111561036357600080fd5b803590602001918460018302840111600160201b8311171561038457600080fd5b919390929091602081019035600160201b8111156103a157600080fd5b8201836020820111156103b357600080fd5b803590602001918460018302840111600160201b831117156103d457600080fd5b509092509050610899565b610102610983565b610474600480360360608110156103fd57600080fd5b6001600160a01b03823516916001600160e01b031960208201351691810190606081016040820135600160201b81111561043657600080fd5b82018360208201111561044857600080fd5b803590602001918460018302840111600160201b8311171561046957600080fd5b5090925090506109a7565b6040518086600281111561048457fe5b815260200180602001806020018060200180602001858103855289818151815260200191508051906020019060200280838360005b838110156104d15781810151838201526020016104b9565b50505050905001858103845288818151815260200191508051906020019060200280838360005b838110156105105781810151838201526020016104f8565b50505050905001858103835287818151815260200191508051906020019060200280838360005b8381101561054f578181015183820152602001610537565b50505050905001858103825286818151815260200191508051906020019060200280838360005b8381101561058e578181015183820152602001610576565b50505050905001995050505050505050505060405180910390f35b6101ff610a66565b610102610a8a565b7f8334eb99be0145865eba9889fca2ee920288090caefff4cc776038e20ad9259a81565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106445760405162461bcd60e51b8152600401808060200182810382526032815260200180611acd6032913960400191505060405180910390fd5b606080606061068885858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610aae92505050565b9250925092506106d6888460008151811061069f57fe5b6020026020010151846000815181106106b457fe5b6020026020010151846000815181106106c957fe5b6020026020010151610c6b565b5050505050505050565b7f29fa046e79524c3c5ac4c01df692c35e217802b2b13b21121b76cf0ef02b138c81565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f099f75155f0e997bf83a7993a71d5e7e7540bd386fe1e84643a09ce6b412521981565b7ffa7dd04da627f433da73c4355ead9c75682a67a8fc84d3f6170ef0922f402d2481565b7fb9dfbaccbe5cd2a84fdcf1d15f23ef25d23086f5afbaa99516065ed4a5bbc7a381565b7f03e38a2bd7063d45c897edeafc330e71657502dd86434d3c37a489caf116af6981565b7f68e30677f607df46e87da13e15b637784cfa62374b653f35ab43d10361a2f83081565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146108435760405162461bcd60e51b8152600401808060200182810382526032815260200180611acd6032913960400191505060405180910390fd5b600060608061088787878080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610d5792505050565b9250925092506106d688848484610eb9565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146109005760405162461bcd60e51b8152600401808060200182810382526032815260200180611acd6032913960400191505060405180910390fd5b60608061094284848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610aae92505050565b509150915061097a878360008151811061095857fe5b60200260200101518360008151811061096d57fe5b6020026020010151610fea565b50505050505050565b7f0e7f692dad5b88fdee426250d6eae91207e56a2e8112b7364579bed1790e5bf481565b600060608080806001600160e01b03198816632e77eeb360e21b14156109de576109cf6110a7565b94509450945094509450610a5b565b6001600160e01b0319881663099f751560e01b1415610a01576109cf8787611107565b6001600160e01b0319881663c29fa9dd60e01b1415610a24576109cf8787611345565b60405162461bcd60e51b8152600401808060200182810382526027815260200180611a806027913960400191505060405180910390fd5b945094509450945094565b7f000000000000000000000000000000000000000000000000000000000000000090565b7fc29fa9dde84204c2908778afd0613d802d31cf046179b88f6d2b4a4e507ea2d581565b6060806060838060200190516060811015610ac857600080fd5b8101908080516040519392919084600160201b821115610ae757600080fd5b908301906020820185811115610afc57600080fd5b82518660208202830111600160201b82111715610b1857600080fd5b82525081516020918201928201910280838360005b83811015610b45578181015183820152602001610b2d565b5050505090500160405260200180516040519392919084600160201b821115610b6d57600080fd5b908301906020820185811115610b8257600080fd5b82518660208202830111600160201b82111715610b9e57600080fd5b82525081516020918201928201910280838360005b83811015610bcb578181015183820152602001610bb3565b5050505090500160405260200180516040519392919084600160201b821115610bf357600080fd5b908301906020820185811115610c0857600080fd5b82518660208202830111600160201b82111715610c2457600080fd5b82525081516020918201928201910280838360005b83811015610c51578181015183820152602001610c39565b505050509050016040525050509250925092509193909250565b6000816001600160a01b031663f77c47916040518163ffffffff1660e01b815260040160206040518083038186803b158015610ca657600080fd5b505afa158015610cba573d6000803e3d6000fd5b505050506040513d6020811015610cd057600080fd5b50519050610cdf848285611583565b6040805163d7a169eb60e01b81526001600160a01b038781166004830181905260248301879052604483015291519183169163d7a169eb9160648082019260009290919082900301818387803b158015610d3857600080fd5b505af1158015610d4c573d6000803e3d6000fd5b505050505050505050565b6000606080838060200190516060811015610d7157600080fd5b815160208301805160405192949293830192919084600160201b821115610d9757600080fd5b908301906020820185811115610dac57600080fd5b82518660208202830111600160201b82111715610dc857600080fd5b82525081516020918201928201910280838360005b83811015610df5578181015183820152602001610ddd565b5050505090500160405260200180516040519392919084600160201b821115610e1d57600080fd5b908301906020820185811115610e3257600080fd5b8251600160201b811182820188101715610e4b57600080fd5b82525081516020918201929091019080838360005b83811015610e78578181015183820152602001610e60565b50505050905090810190601f168015610ea55780820380516001836020036101000a031916815260200191505b506040525050509250925092509193909250565b826001600160a01b031663bb7d4e2d8584846040518463ffffffff1660e01b815260040180846001600160a01b031681526020018060200180602001838103835285818151815260200191508051906020019060200280838360005b83811015610f2d578181015183820152602001610f15565b50505050905001838103825284818151815260200191508051906020019080838360005b83811015610f69578181015183820152602001610f51565b50505050905090810190601f168015610f965780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b158015610fb857600080fd5b505af1158015610fcc573d6000803e3d6000fd5b505050506040513d6020811015610fe257600080fd5b505050505050565b6000826001600160a01b031663f77c47916040518163ffffffff1660e01b815260040160206040518083038186803b15801561102557600080fd5b505afa158015611039573d6000803e3d6000fd5b505050506040513d602081101561104f57600080fd5b505160408051639470b0bd60e01b81526001600160a01b03878116600483015260248201869052915192935090831691639470b0bd916044808201926020929091908290030181600087803b158015610fb857600080fd5b6000606080808084806040519080825280602002602001820160405280156110d9578160200160208202803683370190505b5060408051600080825260208201818152828401918252606083019093529399929850965094509092509050565b600060608060608060008061115189898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061164192505050565b9150915060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166366adb867846040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156111c457600080fd5b505afa1580156111d8573d6000803e3d6000fd5b505050506040513d60208110156111ee57600080fd5b505190506001600160a01b0381166112375760405162461bcd60e51b8152600401808060200182810382526029815260200180611aff6029913960400191505060405180910390fd5b6040805160018082528183019092529060208083019080368337019050509650808760008151811061126557fe5b6001600160a01b039290921660209283029190910182015260408051600180825281830190925291828101908036833701905050955081866000815181106112a957fe5b60209081029190910101526040805160018082528183019092529081602001602082028036833701905050945082856000815181106112e457fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509350818460008151811061132857fe5b602002602001018181525050600297505050509295509295909350565b600060608060608060008061138f89898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061164192505050565b9150915060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166366adb867846040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561140257600080fd5b505afa158015611416573d6000803e3d6000fd5b505050506040513d602081101561142c57600080fd5b505190506001600160a01b0381166114755760405162461bcd60e51b815260040180806020018281038252602b815260200180611a55602b913960400191505060405180910390fd5b604080516001808252818301909252906020808301908036833701905050965082876000815181106114a357fe5b6001600160a01b039290921660209283029190910182015260408051600180825281830190925291828101908036833701905050955081866000815181106114e757fe5b602090810291909101015260408051600180825281830190925290816020016020820280368337019050509450808560008151811061152257fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509350818460008151811061156657fe5b602002602001018181525050600197505050509295509295909350565b60408051636eb1769f60e11b81523060048201526001600160a01b038481166024830152915160009286169163dd62ed3e916044808301926020929190829003018186803b1580156115d457600080fd5b505afa1580156115e8573d6000803e3d6000fd5b505050506040513d60208110156115fe57600080fd5b505190508181101561163b578015611625576116256001600160a01b03851684600061166c565b61163b6001600160a01b0385168460001961166c565b50505050565b60008082806020019051604081101561165957600080fd5b5080516020909101519092509050915091565b8015806116f2575060408051636eb1769f60e11b81523060048201526001600160a01b03848116602483015291519185169163dd62ed3e91604480820192602092909190829003018186803b1580156116c457600080fd5b505afa1580156116d8573d6000803e3d6000fd5b505050506040513d60208110156116ee57600080fd5b5051155b61172d5760405162461bcd60e51b8152600401808060200182810382526036815260200180611b526036913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b17905261177f908490611784565b505050565b60606117d9826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166118359092919063ffffffff16565b80519091501561177f578080602001905160208110156117f857600080fd5b505161177f5760405162461bcd60e51b815260040180806020018281038252602a815260200180611b28602a913960400191505060405180910390fd5b6060611844848460008561184e565b90505b9392505050565b60608247101561188f5760405162461bcd60e51b8152600401808060200182810382526026815260200180611aa76026913960400191505060405180910390fd5b611898856119aa565b6118e9576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b602083106119285780518252601f199092019160209182019101611909565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d806000811461198a576040519150601f19603f3d011682016040523d82523d6000602084013e61198f565b606091505b509150915061199f8282866119b0565b979650505050505050565b3b151590565b606083156119bf575081611847565b8251156119cf5782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611a19578181015183820152602001611a01565b50505050905090810190601f168015611a465780820380516001836020036101000a031916815260200191505b509250505060405180910390fdfe5f5f7061727365417373657473466f7252656465656d3a20556e737570706f72746564207074546f6b656e7061727365417373657473466f724d6574686f643a205f73656c6563746f7220696e76616c6964416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c4f6e6c792074686520496e746567726174696f6e4d616e616765722063616e2063616c6c20746869732066756e6374696f6e5f5f7061727365417373657473466f724c656e643a20556e737570706f72746564207074546f6b656e5361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e6365a164736f6c634300060c000a", - "sourceMap": "606:8507:172:-:0;;;746:206;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;746:206:172;;;;;;;-1:-1:-1;;;;;;1938:41:179;;;;;;;;891:54:172;;;::::1;::::0;606:8507;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106100f55760003560e01c8063863e5ad011610097578063c32990a211610066578063c32990a2146103df578063c54efee5146103e7578063e7c45690146105a9578063f7d882b5146105b1576100f5565b8063863e5ad014610233578063b23228cf1461023b578063b9dfbacc14610243578063c29fa9dd14610311576100f5565b80631687c89b116100d35780631687c89b146101f7578063257cb1a31461021b5780633ffc15911461022357806340da225d1461022b576100f5565b8063080456c1146100fa578063099f75151461011f578063131461c0146101ef575b600080fd5b6101026105b9565b604080516001600160e01b03199092168252519081900360200190f35b6101ed6004803603606081101561013557600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561015f57600080fd5b82018360208201111561017157600080fd5b803590602001918460018302840111600160201b8311171561019257600080fd5b919390929091602081019035600160201b8111156101af57600080fd5b8201836020820111156101c157600080fd5b803590602001918460018302840111600160201b831117156101e257600080fd5b5090925090506105dd565b005b6101026106e0565b6101ff610704565b604080516001600160a01b039092168252519081900360200190f35b610102610728565b61010261074c565b610102610770565b610102610794565b6101026107b8565b6101ed6004803603606081101561025957600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561028357600080fd5b82018360208201111561029557600080fd5b803590602001918460018302840111600160201b831117156102b657600080fd5b919390929091602081019035600160201b8111156102d357600080fd5b8201836020820111156102e557600080fd5b803590602001918460018302840111600160201b8311171561030657600080fd5b5090925090506107dc565b6101ed6004803603606081101561032757600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561035157600080fd5b82018360208201111561036357600080fd5b803590602001918460018302840111600160201b8311171561038457600080fd5b919390929091602081019035600160201b8111156103a157600080fd5b8201836020820111156103b357600080fd5b803590602001918460018302840111600160201b831117156103d457600080fd5b509092509050610899565b610102610983565b610474600480360360608110156103fd57600080fd5b6001600160a01b03823516916001600160e01b031960208201351691810190606081016040820135600160201b81111561043657600080fd5b82018360208201111561044857600080fd5b803590602001918460018302840111600160201b8311171561046957600080fd5b5090925090506109a7565b6040518086600281111561048457fe5b815260200180602001806020018060200180602001858103855289818151815260200191508051906020019060200280838360005b838110156104d15781810151838201526020016104b9565b50505050905001858103845288818151815260200191508051906020019060200280838360005b838110156105105781810151838201526020016104f8565b50505050905001858103835287818151815260200191508051906020019060200280838360005b8381101561054f578181015183820152602001610537565b50505050905001858103825286818151815260200191508051906020019060200280838360005b8381101561058e578181015183820152602001610576565b50505050905001995050505050505050505060405180910390f35b6101ff610a66565b610102610a8a565b7f8334eb99be0145865eba9889fca2ee920288090caefff4cc776038e20ad9259a81565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106445760405162461bcd60e51b8152600401808060200182810382526032815260200180611acd6032913960400191505060405180910390fd5b606080606061068885858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610aae92505050565b9250925092506106d6888460008151811061069f57fe5b6020026020010151846000815181106106b457fe5b6020026020010151846000815181106106c957fe5b6020026020010151610c6b565b5050505050505050565b7f29fa046e79524c3c5ac4c01df692c35e217802b2b13b21121b76cf0ef02b138c81565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f099f75155f0e997bf83a7993a71d5e7e7540bd386fe1e84643a09ce6b412521981565b7ffa7dd04da627f433da73c4355ead9c75682a67a8fc84d3f6170ef0922f402d2481565b7fb9dfbaccbe5cd2a84fdcf1d15f23ef25d23086f5afbaa99516065ed4a5bbc7a381565b7f03e38a2bd7063d45c897edeafc330e71657502dd86434d3c37a489caf116af6981565b7f68e30677f607df46e87da13e15b637784cfa62374b653f35ab43d10361a2f83081565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146108435760405162461bcd60e51b8152600401808060200182810382526032815260200180611acd6032913960400191505060405180910390fd5b600060608061088787878080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610d5792505050565b9250925092506106d688848484610eb9565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146109005760405162461bcd60e51b8152600401808060200182810382526032815260200180611acd6032913960400191505060405180910390fd5b60608061094284848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610aae92505050565b509150915061097a878360008151811061095857fe5b60200260200101518360008151811061096d57fe5b6020026020010151610fea565b50505050505050565b7f0e7f692dad5b88fdee426250d6eae91207e56a2e8112b7364579bed1790e5bf481565b600060608080806001600160e01b03198816632e77eeb360e21b14156109de576109cf6110a7565b94509450945094509450610a5b565b6001600160e01b0319881663099f751560e01b1415610a01576109cf8787611107565b6001600160e01b0319881663c29fa9dd60e01b1415610a24576109cf8787611345565b60405162461bcd60e51b8152600401808060200182810382526027815260200180611a806027913960400191505060405180910390fd5b945094509450945094565b7f000000000000000000000000000000000000000000000000000000000000000090565b7fc29fa9dde84204c2908778afd0613d802d31cf046179b88f6d2b4a4e507ea2d581565b6060806060838060200190516060811015610ac857600080fd5b8101908080516040519392919084600160201b821115610ae757600080fd5b908301906020820185811115610afc57600080fd5b82518660208202830111600160201b82111715610b1857600080fd5b82525081516020918201928201910280838360005b83811015610b45578181015183820152602001610b2d565b5050505090500160405260200180516040519392919084600160201b821115610b6d57600080fd5b908301906020820185811115610b8257600080fd5b82518660208202830111600160201b82111715610b9e57600080fd5b82525081516020918201928201910280838360005b83811015610bcb578181015183820152602001610bb3565b5050505090500160405260200180516040519392919084600160201b821115610bf357600080fd5b908301906020820185811115610c0857600080fd5b82518660208202830111600160201b82111715610c2457600080fd5b82525081516020918201928201910280838360005b83811015610c51578181015183820152602001610c39565b505050509050016040525050509250925092509193909250565b6000816001600160a01b031663f77c47916040518163ffffffff1660e01b815260040160206040518083038186803b158015610ca657600080fd5b505afa158015610cba573d6000803e3d6000fd5b505050506040513d6020811015610cd057600080fd5b50519050610cdf848285611583565b6040805163d7a169eb60e01b81526001600160a01b038781166004830181905260248301879052604483015291519183169163d7a169eb9160648082019260009290919082900301818387803b158015610d3857600080fd5b505af1158015610d4c573d6000803e3d6000fd5b505050505050505050565b6000606080838060200190516060811015610d7157600080fd5b815160208301805160405192949293830192919084600160201b821115610d9757600080fd5b908301906020820185811115610dac57600080fd5b82518660208202830111600160201b82111715610dc857600080fd5b82525081516020918201928201910280838360005b83811015610df5578181015183820152602001610ddd565b5050505090500160405260200180516040519392919084600160201b821115610e1d57600080fd5b908301906020820185811115610e3257600080fd5b8251600160201b811182820188101715610e4b57600080fd5b82525081516020918201929091019080838360005b83811015610e78578181015183820152602001610e60565b50505050905090810190601f168015610ea55780820380516001836020036101000a031916815260200191505b506040525050509250925092509193909250565b826001600160a01b031663bb7d4e2d8584846040518463ffffffff1660e01b815260040180846001600160a01b031681526020018060200180602001838103835285818151815260200191508051906020019060200280838360005b83811015610f2d578181015183820152602001610f15565b50505050905001838103825284818151815260200191508051906020019080838360005b83811015610f69578181015183820152602001610f51565b50505050905090810190601f168015610f965780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b158015610fb857600080fd5b505af1158015610fcc573d6000803e3d6000fd5b505050506040513d6020811015610fe257600080fd5b505050505050565b6000826001600160a01b031663f77c47916040518163ffffffff1660e01b815260040160206040518083038186803b15801561102557600080fd5b505afa158015611039573d6000803e3d6000fd5b505050506040513d602081101561104f57600080fd5b505160408051639470b0bd60e01b81526001600160a01b03878116600483015260248201869052915192935090831691639470b0bd916044808201926020929091908290030181600087803b158015610fb857600080fd5b6000606080808084806040519080825280602002602001820160405280156110d9578160200160208202803683370190505b5060408051600080825260208201818152828401918252606083019093529399929850965094509092509050565b600060608060608060008061115189898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061164192505050565b9150915060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166366adb867846040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156111c457600080fd5b505afa1580156111d8573d6000803e3d6000fd5b505050506040513d60208110156111ee57600080fd5b505190506001600160a01b0381166112375760405162461bcd60e51b8152600401808060200182810382526029815260200180611aff6029913960400191505060405180910390fd5b6040805160018082528183019092529060208083019080368337019050509650808760008151811061126557fe5b6001600160a01b039290921660209283029190910182015260408051600180825281830190925291828101908036833701905050955081866000815181106112a957fe5b60209081029190910101526040805160018082528183019092529081602001602082028036833701905050945082856000815181106112e457fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509350818460008151811061132857fe5b602002602001018181525050600297505050509295509295909350565b600060608060608060008061138f89898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061164192505050565b9150915060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166366adb867846040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561140257600080fd5b505afa158015611416573d6000803e3d6000fd5b505050506040513d602081101561142c57600080fd5b505190506001600160a01b0381166114755760405162461bcd60e51b815260040180806020018281038252602b815260200180611a55602b913960400191505060405180910390fd5b604080516001808252818301909252906020808301908036833701905050965082876000815181106114a357fe5b6001600160a01b039290921660209283029190910182015260408051600180825281830190925291828101908036833701905050955081866000815181106114e757fe5b602090810291909101015260408051600180825281830190925290816020016020820280368337019050509450808560008151811061152257fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509350818460008151811061156657fe5b602002602001018181525050600197505050509295509295909350565b60408051636eb1769f60e11b81523060048201526001600160a01b038481166024830152915160009286169163dd62ed3e916044808301926020929190829003018186803b1580156115d457600080fd5b505afa1580156115e8573d6000803e3d6000fd5b505050506040513d60208110156115fe57600080fd5b505190508181101561163b578015611625576116256001600160a01b03851684600061166c565b61163b6001600160a01b0385168460001961166c565b50505050565b60008082806020019051604081101561165957600080fd5b5080516020909101519092509050915091565b8015806116f2575060408051636eb1769f60e11b81523060048201526001600160a01b03848116602483015291519185169163dd62ed3e91604480820192602092909190829003018186803b1580156116c457600080fd5b505afa1580156116d8573d6000803e3d6000fd5b505050506040513d60208110156116ee57600080fd5b5051155b61172d5760405162461bcd60e51b8152600401808060200182810382526036815260200180611b526036913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b17905261177f908490611784565b505050565b60606117d9826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166118359092919063ffffffff16565b80519091501561177f578080602001905160208110156117f857600080fd5b505161177f5760405162461bcd60e51b815260040180806020018281038252602a815260200180611b28602a913960400191505060405180910390fd5b6060611844848460008561184e565b90505b9392505050565b60608247101561188f5760405162461bcd60e51b8152600401808060200182810382526026815260200180611aa76026913960400191505060405180910390fd5b611898856119aa565b6118e9576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b602083106119285780518252601f199092019160209182019101611909565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d806000811461198a576040519150601f19603f3d011682016040523d82523d6000602084013e61198f565b606091505b509150915061199f8282866119b0565b979650505050505050565b3b151590565b606083156119bf575081611847565b8251156119cf5782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611a19578181015183820152602001611a01565b50505050905090810190601f168015611a465780820380516001836020036101000a031916815260200191505b509250505060405180910390fdfe5f5f7061727365417373657473466f7252656465656d3a20556e737570706f72746564207074546f6b656e7061727365417373657473466f724d6574686f643a205f73656c6563746f7220696e76616c6964416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c4f6e6c792074686520496e746567726174696f6e4d616e616765722063616e2063616c6c20746869732066756e6374696f6e5f5f7061727365417373657473466f724c656e643a20556e737570706f72746564207074546f6b656e5361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e6365a164736f6c634300060c000a", - "sourceMap": "606:8507:172:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1490:119:180;;;:::i;:::-;;;;-1:-1:-1;;;;;;1490:119:180;;;;;;;;;;;;;;1776:465:172;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1776:465:172;;;;;;;;;;;;;;;-1:-1:-1;;;1776:465:172;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1776:465:172;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1776:465:172;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1776:465:172;;;;;;;;;;-1:-1:-1;1776:465:172;;-1:-1:-1;1776:465:172;-1:-1:-1;1776:465:172;:::i;:::-;;1373:111:180;;;:::i;8937:174:172:-;;;:::i;:::-;;;;-1:-1:-1;;;;;8937:174:172;;;;;;;;;;;;;;832:85:180;;;:::i;1034:87::-;;;:::i;1240:110::-;;;:::i;706:104::-;;;:::i;1127:91::-;;;:::i;1134:420:172:-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1134:420:172;;;;;;;;;;;;;;;-1:-1:-1;;;1134:420:172;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1134:420:172;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1134:420:172;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1134:420:172;;;;;;;;;;-1:-1:-1;1134:420:172;;-1:-1:-1;1134:420:172;-1:-1:-1;1134:420:172;:::i;2468:395::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2468:395:172;;;;;;;;;;;;;;;-1:-1:-1;;;2468:395:172;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2468:395:172;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2468:395:172;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2468:395:172;;;;;;;;;;-1:-1:-1;2468:395:172;;-1:-1:-1;2468:395:172;-1:-1:-1;2468:395:172;:::i;577:123:180:-;;;:::i;3604:853:172:-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3604:853:172;;;;-1:-1:-1;;;;;;3604:853:172;;;;;;;;;;;;;;;;-1:-1:-1;;;3604:853:172;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3604:853:172;;;;;;;;;;-1:-1:-1;3604:853:172;;-1:-1:-1;3604:853:172;-1:-1:-1;3604:853:172;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2637:128:179;;;:::i;923:89:180:-;;;:::i;1490:119::-;1558:50;1490:119;:::o;1776:465:172:-;1747:10:179;-1:-1:-1;;;;;1761:19:179;1747:33;;1726:130;;;;-1:-1:-1;;;1726:130:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1955:28:172::1;1997:34:::0;2045:31:::1;2089:44;2107:25;;2089:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;2089:17:172::1;::::0;-1:-1:-1;;;2089:44:172:i:1;:::-;1941:192;;;;;;2144:90;2165:11;2178;2190:1;2178:14;;;;;;;;;;;;;;2194:17;2212:1;2194:20;;;;;;;;;;;;;;2216:14;2231:1;2216:17;;;;;;;;;;;;;;2144:20;:90::i;:::-;1866:1:179;;;1776:465:172::0;;;;;:::o;1373:111:180:-;1437:46;1373:111;:::o;8937:174:172:-;9077:27;8937:174;:::o;832:85:180:-;878:38;832:85;:::o;1034:87::-;1081:39;1034:87;:::o;1240:110::-;1303:46;1240:110;:::o;706:104::-;766:43;706:104;:::o;1127:91::-;1176:41;1127:91;:::o;1134:420:172:-;1747:10:179;-1:-1:-1;;;;;1761:19:179;1747:33;;1726:130;;;;-1:-1:-1;;;1726:130:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1307:24:172::1;1345:23;1382:25:::0;1420:41:::1;1449:11;;1420:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;1420:28:172::1;::::0;-1:-1:-1;;;1420:41:172:i:1;:::-;1293:168;;;;;;1472:75;1494:11;1507:16;1525:7;1534:12;1472:21;:75::i;2468:395::-:0;1747:10:179;-1:-1:-1;;;;;1761:19:179;1747:33;;1726:130;;;;-1:-1:-1;;;1726:130:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2636:28:172::1;2666:34:::0;2706:66:::1;2737:25;;2706:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;2706:17:172::1;::::0;-1:-1:-1;;;2706:66:172:i:1;:::-;2635:137;;;;;2783:73;2806:11;2819;2831:1;2819:14;;;;;;;;;;;;;;2835:17;2853:1;2835:20;;;;;;;;;;;;;;2783:22;:73::i;:::-;1866:1:179;;2468:395:172::0;;;;;:::o;577:123:180:-;647:52;577:123;:::o;3604:853:172:-;3796:64;3874:29;;;;-1:-1:-1;;;;;;4082:35:172;;-1:-1:-1;;;4082:35:172;4078:313;;;4140:30;:28;:30::i;:::-;4133:37;;;;;;;;;;;;4078:313;-1:-1:-1;;;;;;4191:26:172;;-1:-1:-1;;;4191:26:172;4187:204;;;4240:33;4261:11;;4240:20;:33::i;4187:204::-;-1:-1:-1;;;;;;4294:28:172;;-1:-1:-1;;;4294:28:172;4290:101;;;4345:35;4368:11;;4345:22;:35::i;4290:101::-;4401:49;;-1:-1:-1;;;4401:49:172;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3604:853;;;;;;;;;;:::o;2637:128:179:-;2739:19;2637:128;:::o;923:89:180:-;971:40;923:89;:::o;2093:332:179:-;2205:29;2248:35;2297:32;2372:10;2361:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;-1:-1:-1;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;-1:-1:-1;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;-1:-1:-1;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2354:64;;;;;;2093:332;;;;;:::o;817:460:193:-;975:24;1024:8;-1:-1:-1;;;;;1002:42:193;;:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1002:44:193;;-1:-1:-1;1057:60:193;1083:6;1002:44;1109:7;1057:25;:60::i;:::-;1128:142;;;-1:-1:-1;;;1128:142:193;;-1:-1:-1;;;;;1128:142:193;;;;;;;;;;;;;;;;;;;;;:63;;;;;;:142;;;;;-1:-1:-1;;1128:142:193;;;;;;;;-1:-1:-1;1128:63:193;:142;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;817:460;;;;;:::o;8388:316:172:-;8511:25;8550:24;8588:26;8657:11;8646:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;8646:51:172;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;8646:51:172;;;;;;;;;;;;-1:-1:-1;8646:51:172;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;8646:51:172;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;8646:51:172;;;;;;-1:-1:-1;8646:51:172;;;;;;;;;;-1:-1:-1;8646:51:172;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8639:58;;;;;;8388:316;;;;;:::o;1671:349:193:-;1899:24;-1:-1:-1;;;;;1867:63:193;;1944:10;1968:8;1990:13;1867:146;;;;;;;;;;;;;-1:-1:-1;;;;;1867:146:193;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1671:349:193:o;1324:301::-;1460:24;1509:8;-1:-1:-1;;;;;1487:42:193;;:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1487:44:193;1542:76;;;-1:-1:-1;;;1542:76:193;;-1:-1:-1;;;;;1542:76:193;;;;;;;;;;;;;;;1487:44;;-1:-1:-1;1542:55:193;;;;;;:76;;;;;1487:44;;1542:76;;;;;;;;-1:-1:-1;1542:55:193;:76;;;;;;;;;;7435:585:172;7534:64;7612:29;;;;7534:64;;7897:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7897:16:172;-1:-1:-1;7927:16:172;;;7941:1;7927:16;;;;;;7957;;;;;;7987;;;;;;;;;7816:197;;;;-1:-1:-1;7927:16:172;-1:-1:-1;7927:16:172;-1:-1:-1;7957:16:172;;-1:-1:-1;7435:585:172;-1:-1:-1;7435:585:172:o;4578:1301::-;4695:64;4773:29;4816:35;4865:32;4911:41;4978:15;4995:14;5013:29;5030:11;;5013:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5013:16:172;;-1:-1:-1;;;5013:29:172:i;:::-;4977:65;;;;5111:13;5151:27;-1:-1:-1;;;;;5127:92:172;;5220:7;5127:101;;;;;;;;;;;;;-1:-1:-1;;;;;5127:101:172;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5127:101:172;;-1:-1:-1;;;;;;5246:19:172;;5238:73;;;;-1:-1:-1;;;5238:73:172;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5337:16;;;5351:1;5337:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5337:16:172;5322:31;;5381:5;5363:12;5376:1;5363:15;;;;;;;;-1:-1:-1;;;;;5363:23:172;;;;:15;;;;;;;;;;:23;5417:16;;;5431:1;5417:16;;;;;;;;;;;;;;5363:15;5417:16;;;;;-1:-1:-1;5417:16:172;5396:37;;5467:6;5443:18;5462:1;5443:21;;;;;;;;;;;;;;;;;:30;5502:16;;;5516:1;5502:16;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5502:16:172;5484:34;;5549:7;5528:15;5544:1;5528:18;;;;;;;;-1:-1:-1;;;;;5528:28:172;;;;:18;;;;;;;;;;:28;5593:16;;;5607:1;5593:16;;;;;;;;;;;;;;5528:18;5593:16;;;;;-1:-1:-1;5593:16:172;5566:43;;5649:6;5619:24;5644:1;5619:27;;;;;;;;;;;;;:36;;;;;5687:50;5666:206;;;;;4578:1301;;;;;;;;:::o;6002:1304::-;6121:64;6199:29;6242:35;6291:32;6337:41;6404:15;6421:14;6439:29;6456:11;;6439:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6439:16:172;;-1:-1:-1;;;6439:29:172:i;:::-;6403:65;;;;6537:13;6577:27;-1:-1:-1;;;;;6553:92:172;;6646:7;6553:101;;;;;;;;;;;;;-1:-1:-1;;;;;6553:101:172;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6553:101:172;;-1:-1:-1;;;;;;6672:19:172;;6664:75;;;;-1:-1:-1;;;6664:75:172;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6765:16;;;6779:1;6765:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6765:16:172;6750:31;;6809:7;6791:12;6804:1;6791:15;;;;;;;;-1:-1:-1;;;;;6791:25:172;;;;:15;;;;;;;;;;:25;6847:16;;;6861:1;6847:16;;;;;;;;;;;;;;6791:15;6847:16;;;;;-1:-1:-1;6847:16:172;6826:37;;6897:6;6873:18;6892:1;6873:21;;;;;;;;;;;;;;;;;:30;6932:16;;;6946:1;6932:16;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6932:16:172;6914:34;;6979:5;6958:15;6974:1;6958:18;;;;;;;;-1:-1:-1;;;;;6958:26:172;;;;:18;;;;;;;;;;:26;7021:16;;;7035:1;7021:16;;;;;;;;;;;;;;6958:18;7021:16;;;;;-1:-1:-1;7021:16:172;6994:43;;7077:6;7047:24;7072:1;7047:27;;;;;;;;;;;;;:36;;;;;7115:49;7094:205;;;;;6002:1304;;;;;;;;:::o;2554:434:355:-;2714:47;;;-1:-1:-1;;;2714:47:355;;2746:4;2714:47;;;;-1:-1:-1;;;;;2714:47:355;;;;;;;;;2694:17;;2714:23;;;;;:47;;;;;;;;;;;;;;:23;:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2714:47:355;;-1:-1:-1;2775:25:355;;;2771:211;;;2820:13;;2816:89;;2853:37;-1:-1:-1;;;;;2853:25:355;;2879:7;2888:1;2853:25;:37::i;:::-;2918:53;-1:-1:-1;;;;;2918:25:355;;2944:7;-1:-1:-1;;2918:25:355;:53::i;:::-;2554:434;;;;:::o;8111:204:172:-;8209:16;8227:15;8276:11;8265:43;;;;;;;;;;;;;;;-1:-1:-1;8265:43:172;;;;;;;;;-1:-1:-1;8265:43:172;-1:-1:-1;8111:204:172;;;:::o;1348:613:450:-;1713:10;;;1712:62;;-1:-1:-1;1729:39:450;;;-1:-1:-1;;;1729:39:450;;1753:4;1729:39;;;;-1:-1:-1;;;;;1729:39:450;;;;;;;;;:15;;;;;;:39;;;;;;;;;;;;;;;:15;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1729:39:450;:44;1712:62;1704:150;;;;-1:-1:-1;;;1704:150:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1891:62;;;-1:-1:-1;;;;;1891:62:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1891:62:450;-1:-1:-1;;;1891:62:450;;;1864:90;;1884:5;;1864:19;:90::i;:::-;1348:613;;;:::o;2967:751::-;3386:23;3412:69;3440:4;3412:69;;;;;;;;;;;;;;;;;3420:5;-1:-1:-1;;;;;3412:27:450;;;:69;;;;;:::i;:::-;3495:17;;3386:95;;-1:-1:-1;3495:21:450;3491:221;;3635:10;3624:30;;;;;;;;;;;;;;;-1:-1:-1;3624:30:450;3616:85;;;;-1:-1:-1;;;3616:85:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3581:193:451;3684:12;3715:52;3737:6;3745:4;3751:1;3754:12;3715:21;:52::i;:::-;3708:59;;3581:193;;;;;;:::o;4608:523::-;4735:12;4792:5;4767:21;:30;;4759:81;;;;-1:-1:-1;;;4759:81:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4858:18;4869:6;4858:10;:18::i;:::-;4850:60;;;;;-1:-1:-1;;;4850:60:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;4981:12;4995:23;5022:6;-1:-1:-1;;;;;5022:11:451;5042:5;5050:4;5022:33;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5022:33:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4980:75;;;;5072:52;5090:7;5099:10;5111:12;5072:17;:52::i;:::-;5065:59;4608:523;-1:-1:-1;;;;;;;4608:523:451:o;726:413::-;1086:20;1124:8;;;726:413::o;7091:725::-;7206:12;7234:7;7230:580;;;-1:-1:-1;7264:10:451;7257:17;;7230:580;7375:17;;:21;7371:429;;7633:10;7627:17;7693:15;7680:10;7676:2;7672:19;7665:44;7582:145;7772:12;7765:20;;-1:-1:-1;;;7765:20:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;", - "linkReferences": {}, - "immutableReferences": { - "46766": [ - { - "start": 1798, - "length": 32 - }, - { - "start": 4441, - "length": 32 - }, - { - "start": 5015, - "length": 32 - } - ], - "49791": [ - { - "start": 1512, - "length": 32 - }, - { - "start": 2023, - "length": 32 - }, - { - "start": 2212, - "length": 32 - }, - { - "start": 2664, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "CLAIM_REWARDS_SELECTOR()": "40da225d", - "LEND_AND_STAKE_SELECTOR()": "131461c0", - "LEND_SELECTOR()": "257cb1a3", - "REDEEM_SELECTOR()": "f7d882b5", - "STAKE_SELECTOR()": "3ffc1591", - "TAKE_MULTIPLE_ORDERS_SELECTOR()": "c32990a2", - "TAKE_ORDER_SELECTOR()": "863e5ad0", - "UNSTAKE_AND_REDEEM_SELECTOR()": "080456c1", - "UNSTAKE_SELECTOR()": "b23228cf", - "claimRewards(address,bytes,bytes)": "b9dfbacc", - "getIntegrationManager()": "e7c45690", - "getPoolTogetherV4PriceFeed()": "1687c89b", - "lend(address,bytes,bytes)": "099f7515", - "parseAssetsForAction(address,bytes4,bytes)": "c54efee5", - "redeem(address,bytes,bytes)": "c29fa9dd" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_integrationManager\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_poolTogetherV4PriceFeed\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"CLAIM_REWARDS_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LEND_AND_STAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LEND_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"REDEEM_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"STAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TAKE_MULTIPLE_ORDERS_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TAKE_ORDER_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UNSTAKE_AND_REDEEM_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UNSTAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"claimRewards\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getIntegrationManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"integrationManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPoolTogetherV4PriceFeed\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"poolTogetherV4PriceFeed_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"_encodedAssetTransferArgs\",\"type\":\"bytes\"}],\"name\":\"lend\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"_selector\",\"type\":\"bytes4\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"}],\"name\":\"parseAssetsForAction\",\"outputs\":[{\"internalType\":\"enum IIntegrationManager.SpendAssetsHandleType\",\"name\":\"spendAssetsHandleType_\",\"type\":\"uint8\"},{\"internalType\":\"address[]\",\"name\":\"spendAssets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"spendAssetAmounts_\",\"type\":\"uint256[]\"},{\"internalType\":\"address[]\",\"name\":\"incomingAssets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"minIncomingAssetAmounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"_encodedAssetTransferArgs\",\"type\":\"bytes\"}],\"name\":\"redeem\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"claimRewards(address,bytes,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}},\"getIntegrationManager()\":{\"returns\":{\"integrationManager_\":\"The `INTEGRATION_MANAGER` variable value\"}},\"getPoolTogetherV4PriceFeed()\":{\"returns\":{\"poolTogetherV4PriceFeed_\":\"The `POOL_TOGETHER_V4_PRICE_FEED` variable value\"}},\"lend(address,bytes,bytes)\":{\"params\":{\"_encodedAssetTransferArgs\":\"Encoded args for expected assets to spend and receive\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}},\"parseAssetsForAction(address,bytes4,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_selector\":\"The function selector for the callOnIntegration\"},\"returns\":{\"incomingAssets_\":\"The assets to receive in the call\",\"minIncomingAssetAmounts_\":\"The min asset amounts to receive in the call\",\"spendAssetAmounts_\":\"The max asset amounts to spend in the call\",\"spendAssetsHandleType_\":\"A type that dictates how to handle granting the adapter access to spend assets (`None` by default)\",\"spendAssets_\":\"The assets to spend in the call\"}},\"redeem(address,bytes,bytes)\":{\"params\":{\"_encodedAssetTransferArgs\":\"Encoded args for expected assets to spend and receive\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}}},\"title\":\"PoolTogetherV4Adapter Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"claimRewards(address,bytes,bytes)\":{\"notice\":\"Claims rewards from the Prize Distributor\"},\"getIntegrationManager()\":{\"notice\":\"Gets the `INTEGRATION_MANAGER` variable\"},\"getPoolTogetherV4PriceFeed()\":{\"notice\":\"Gets the `POOL_TOGETHER_V4_PRICE_FEED` variable\"},\"lend(address,bytes,bytes)\":{\"notice\":\"Lends an amount of a token to PoolTogether\"},\"parseAssetsForAction(address,bytes4,bytes)\":{\"notice\":\"Parses the expected assets in a particular action\"},\"redeem(address,bytes,bytes)\":{\"notice\":\"Redeems an amount of ptTokens from PoolTogether\"}},\"notice\":\"Adapter for PoolTogether (v4)\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/integration-manager/integrations/adapters/PoolTogetherV4Adapter.sol\":\"PoolTogetherV4Adapter\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/extensions/integration-manager/IIntegrationManager.sol\":{\"keccak256\":\"0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23\",\"dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk\"]},\"contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol\":{\"keccak256\":\"0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336\",\"dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS\"]},\"contracts/release/extensions/integration-manager/integrations/adapters/PoolTogetherV4Adapter.sol\":{\"keccak256\":\"0xba1bf88baf9440ed016befb14d2b7d8ce68711979d4b09ec76de9f5065bf4c69\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://080dd9666f3f1f161c6851da226f9851763a2520ea0fccd49bd7269d0542e471\",\"dweb:/ipfs/QmVWv2mSaGnjN2c8ukioBttbrY2F9Pj3aUuC4hTZoxdSN3\"]},\"contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol\":{\"keccak256\":\"0x067e49bf0d3c1655ab41a413c65ccf61d4e593308132e1ffc484a0fadfbbaf26\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://387f425017e18e89cc1893521101fa99df595314847d0b3d9a1162369f714fcf\",\"dweb:/ipfs/Qmco3jCvuWAyfCpBYpGzHrQjiFJG63w1RJKcakoTEbxRQm\"]},\"contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol\":{\"keccak256\":\"0xfd34c7ca8231c6935e25dede32ca2b3121738e624d0fc896f7b895a731edcf88\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d492c061963d36d07718446db191d4c5a340c0d847f6cd209f027bd99f7cb176\",\"dweb:/ipfs/QmfCvRZt56ftDdrEh6LepHXFJ4fVtcfpQGvEyY8k4zxG1A\"]},\"contracts/release/extensions/integration-manager/integrations/utils/actions/PoolTogetherV4ActionsMixin.sol\":{\"keccak256\":\"0x2c8f6dc9cef144a20b2bd732804d3db48e2e2be3b2cd7a0644f80c8b7d3a3455\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8a5642511e557ee1745e3a88787cd8e3cb88f76a06c05a72626558332b92c13a\",\"dweb:/ipfs/Qmbr2aJsRsB4umCUuRHvr9ktTNeS66kmeGuGoQXkUqLyxd\"]},\"contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol\":{\"keccak256\":\"0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e\",\"dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK\"]},\"contracts/release/infrastructure/price-feeds/derivatives/feeds/PoolTogetherV4PriceFeed.sol\":{\"keccak256\":\"0x0ae1d2f1f95eb40b5176e282fe7daf063ef4fbde9b7079c1e4d514d552f29b74\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://e272e70a71c828a31dff1f8dc6ef883825f4b11b9512c0505598109d0e7c58cf\",\"dweb:/ipfs/QmcqRi247VEHFBBC7auuZy3ypJkHcttsiNDpH5a8om11iH\"]},\"contracts/release/infrastructure/price-feeds/derivatives/feeds/utils/PeggedDerivativesPriceFeedBase.sol\":{\"keccak256\":\"0x1bfcfa32fd2ff255d3b371367e733bc5dd616f1e6244d272da7468067479702d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://0fa04e528bb5fb52d2bdbaa0532f1d0ea710d75622992156dc788dedbb8553df\",\"dweb:/ipfs/Qmdpw5aquGqFDD1tpUX6Ax7X4jx52WcoTjfoHVJozRSWpG\"]},\"contracts/release/infrastructure/price-feeds/derivatives/feeds/utils/SingleUnderlyingDerivativeRegistryMixin.sol\":{\"keccak256\":\"0xeb2aab819af80382ad562d5a80863484a42caa7888f811817eb283894a1852e7\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8846bfa874ede75fbcd3053d45a1647cad0aabbb26e4189998e8c517961c2bb6\",\"dweb:/ipfs/QmV4Bgx9VfX6kaoyZuaBDf2xyTY4ZmjniZTX8TrEmhU4Pv\"]},\"contracts/release/interfaces/IPoolTogetherV4PrizeDistributor.sol\":{\"keccak256\":\"0xbca9ae1b85ec6bb42ddd53e6bc12218f1faa6c0f70de74919f338c36e0fa03f3\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://4023b26e3de5a4093af97661012a989c9d77352613894e27c8b9c8e6956d4d90\",\"dweb:/ipfs/QmZx2PnDzo2uUyzdoPNiqGjhY8mfQaU6cmeAQuny22rHBe\"]},\"contracts/release/interfaces/IPoolTogetherV4PrizePool.sol\":{\"keccak256\":\"0xe00442f12e15284f31ad74eaed7935e66148ecb9fae0892b4b576a2240f97907\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c549969061895dd877d83911270d297426da351dd012d7f8dd1e2c779826b262\",\"dweb:/ipfs/QmSvHZQxLkxaQxowkTW5dVYXFLvntQkDt8FPX4JRGGpbPb\"]},\"contracts/release/interfaces/IPoolTogetherV4Ticket.sol\":{\"keccak256\":\"0xbd8df71f62357588fbcbd9181ea8be6dbace2d6776f7f5c8ef7a5aa64e0b9507\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c4979f047cf931662c24c78eaaa2ca0303bf8e375c4e195b8a4e94c2e1e106ef\",\"dweb:/ipfs/QmYkYYyqQfPSNYGDqedFJt9zyLpBtmCB58yepJ5b1RxDf7\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"contracts/release/utils/FundDeployerOwnerMixin.sol\":{\"keccak256\":\"0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927\",\"dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_integrationManager", - "type": "address" - }, - { - "internalType": "address", - "name": "_poolTogetherV4PriceFeed", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "CLAIM_REWARDS_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "LEND_AND_STAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "LEND_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "REDEEM_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "STAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "TAKE_MULTIPLE_ORDERS_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "TAKE_ORDER_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "UNSTAKE_AND_REDEEM_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "UNSTAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "claimRewards" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getIntegrationManager", - "outputs": [ - { - "internalType": "address", - "name": "integrationManager_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getPoolTogetherV4PriceFeed", - "outputs": [ - { - "internalType": "address", - "name": "poolTogetherV4PriceFeed_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "_encodedAssetTransferArgs", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "lend" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes4", - "name": "_selector", - "type": "bytes4" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - } - ], - "stateMutability": "view", - "type": "function", - "name": "parseAssetsForAction", - "outputs": [ - { - "internalType": "enum IIntegrationManager.SpendAssetsHandleType", - "name": "spendAssetsHandleType_", - "type": "uint8" - }, - { - "internalType": "address[]", - "name": "spendAssets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "spendAssetAmounts_", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "incomingAssets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "minIncomingAssetAmounts_", - "type": "uint256[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "_encodedAssetTransferArgs", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "redeem" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "claimRewards(address,bytes,bytes)": { - "params": { - "_actionData": "Data specific to this action", - "_vaultProxy": "The VaultProxy of the calling fund" - } - }, - "getIntegrationManager()": { - "returns": { - "integrationManager_": "The `INTEGRATION_MANAGER` variable value" - } - }, - "getPoolTogetherV4PriceFeed()": { - "returns": { - "poolTogetherV4PriceFeed_": "The `POOL_TOGETHER_V4_PRICE_FEED` variable value" - } - }, - "lend(address,bytes,bytes)": { - "params": { - "_encodedAssetTransferArgs": "Encoded args for expected assets to spend and receive", - "_vaultProxy": "The VaultProxy of the calling fund" - } - }, - "parseAssetsForAction(address,bytes4,bytes)": { - "params": { - "_actionData": "Data specific to this action", - "_selector": "The function selector for the callOnIntegration" - }, - "returns": { - "incomingAssets_": "The assets to receive in the call", - "minIncomingAssetAmounts_": "The min asset amounts to receive in the call", - "spendAssetAmounts_": "The max asset amounts to spend in the call", - "spendAssetsHandleType_": "A type that dictates how to handle granting the adapter access to spend assets (`None` by default)", - "spendAssets_": "The assets to spend in the call" - } - }, - "redeem(address,bytes,bytes)": { - "params": { - "_encodedAssetTransferArgs": "Encoded args for expected assets to spend and receive", - "_vaultProxy": "The VaultProxy of the calling fund" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "claimRewards(address,bytes,bytes)": { - "notice": "Claims rewards from the Prize Distributor" - }, - "getIntegrationManager()": { - "notice": "Gets the `INTEGRATION_MANAGER` variable" - }, - "getPoolTogetherV4PriceFeed()": { - "notice": "Gets the `POOL_TOGETHER_V4_PRICE_FEED` variable" - }, - "lend(address,bytes,bytes)": { - "notice": "Lends an amount of a token to PoolTogether" - }, - "parseAssetsForAction(address,bytes4,bytes)": { - "notice": "Parses the expected assets in a particular action" - }, - "redeem(address,bytes,bytes)": { - "notice": "Redeems an amount of ptTokens from PoolTogether" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/integration-manager/integrations/adapters/PoolTogetherV4Adapter.sol": "PoolTogetherV4Adapter" - }, - "libraries": {} - }, - "sources": { - "contracts/release/core/fund-deployer/IFundDeployer.sol": { - "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", - "urls": [ - "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", - "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/IIntegrationManager.sol": { - "keccak256": "0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef", - "urls": [ - "bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23", - "dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol": { - "keccak256": "0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1", - "urls": [ - "bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336", - "dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/adapters/PoolTogetherV4Adapter.sol": { - "keccak256": "0xba1bf88baf9440ed016befb14d2b7d8ce68711979d4b09ec76de9f5065bf4c69", - "urls": [ - "bzz-raw://080dd9666f3f1f161c6851da226f9851763a2520ea0fccd49bd7269d0542e471", - "dweb:/ipfs/QmVWv2mSaGnjN2c8ukioBttbrY2F9Pj3aUuC4hTZoxdSN3" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol": { - "keccak256": "0x067e49bf0d3c1655ab41a413c65ccf61d4e593308132e1ffc484a0fadfbbaf26", - "urls": [ - "bzz-raw://387f425017e18e89cc1893521101fa99df595314847d0b3d9a1162369f714fcf", - "dweb:/ipfs/Qmco3jCvuWAyfCpBYpGzHrQjiFJG63w1RJKcakoTEbxRQm" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol": { - "keccak256": "0xfd34c7ca8231c6935e25dede32ca2b3121738e624d0fc896f7b895a731edcf88", - "urls": [ - "bzz-raw://d492c061963d36d07718446db191d4c5a340c0d847f6cd209f027bd99f7cb176", - "dweb:/ipfs/QmfCvRZt56ftDdrEh6LepHXFJ4fVtcfpQGvEyY8k4zxG1A" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/utils/actions/PoolTogetherV4ActionsMixin.sol": { - "keccak256": "0x2c8f6dc9cef144a20b2bd732804d3db48e2e2be3b2cd7a0644f80c8b7d3a3455", - "urls": [ - "bzz-raw://8a5642511e557ee1745e3a88787cd8e3cb88f76a06c05a72626558332b92c13a", - "dweb:/ipfs/Qmbr2aJsRsB4umCUuRHvr9ktTNeS66kmeGuGoQXkUqLyxd" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol": { - "keccak256": "0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332", - "urls": [ - "bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e", - "dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/price-feeds/derivatives/feeds/PoolTogetherV4PriceFeed.sol": { - "keccak256": "0x0ae1d2f1f95eb40b5176e282fe7daf063ef4fbde9b7079c1e4d514d552f29b74", - "urls": [ - "bzz-raw://e272e70a71c828a31dff1f8dc6ef883825f4b11b9512c0505598109d0e7c58cf", - "dweb:/ipfs/QmcqRi247VEHFBBC7auuZy3ypJkHcttsiNDpH5a8om11iH" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/price-feeds/derivatives/feeds/utils/PeggedDerivativesPriceFeedBase.sol": { - "keccak256": "0x1bfcfa32fd2ff255d3b371367e733bc5dd616f1e6244d272da7468067479702d", - "urls": [ - "bzz-raw://0fa04e528bb5fb52d2bdbaa0532f1d0ea710d75622992156dc788dedbb8553df", - "dweb:/ipfs/Qmdpw5aquGqFDD1tpUX6Ax7X4jx52WcoTjfoHVJozRSWpG" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/price-feeds/derivatives/feeds/utils/SingleUnderlyingDerivativeRegistryMixin.sol": { - "keccak256": "0xeb2aab819af80382ad562d5a80863484a42caa7888f811817eb283894a1852e7", - "urls": [ - "bzz-raw://8846bfa874ede75fbcd3053d45a1647cad0aabbb26e4189998e8c517961c2bb6", - "dweb:/ipfs/QmV4Bgx9VfX6kaoyZuaBDf2xyTY4ZmjniZTX8TrEmhU4Pv" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IPoolTogetherV4PrizeDistributor.sol": { - "keccak256": "0xbca9ae1b85ec6bb42ddd53e6bc12218f1faa6c0f70de74919f338c36e0fa03f3", - "urls": [ - "bzz-raw://4023b26e3de5a4093af97661012a989c9d77352613894e27c8b9c8e6956d4d90", - "dweb:/ipfs/QmZx2PnDzo2uUyzdoPNiqGjhY8mfQaU6cmeAQuny22rHBe" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IPoolTogetherV4PrizePool.sol": { - "keccak256": "0xe00442f12e15284f31ad74eaed7935e66148ecb9fae0892b4b576a2240f97907", - "urls": [ - "bzz-raw://c549969061895dd877d83911270d297426da351dd012d7f8dd1e2c779826b262", - "dweb:/ipfs/QmSvHZQxLkxaQxowkTW5dVYXFLvntQkDt8FPX4JRGGpbPb" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IPoolTogetherV4Ticket.sol": { - "keccak256": "0xbd8df71f62357588fbcbd9181ea8be6dbace2d6776f7f5c8ef7a5aa64e0b9507", - "urls": [ - "bzz-raw://c4979f047cf931662c24c78eaaa2ca0303bf8e375c4e195b8a4e94c2e1e106ef", - "dweb:/ipfs/QmYkYYyqQfPSNYGDqedFJt9zyLpBtmCB58yepJ5b1RxDf7" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AssetHelpers.sol": { - "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", - "urls": [ - "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", - "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/FundDeployerOwnerMixin.sol": { - "keccak256": "0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934", - "urls": [ - "bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927", - "dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { - "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", - "urls": [ - "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", - "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Address.sol": { - "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", - "urls": [ - "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", - "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 172 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_integrationManager", "type": "address", "internalType": "address" }, { "name": "_poolTogetherV4PriceFeed", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "CLAIM_REWARDS_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "LEND_AND_STAKE_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "LEND_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "REDEEM_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "STAKE_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "TAKE_MULTIPLE_ORDERS_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "TAKE_ORDER_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "UNSTAKE_AND_REDEEM_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "UNSTAKE_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "claimRewards", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_actionData", "type": "bytes", "internalType": "bytes" }, { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "getIntegrationManager", "inputs": [], "outputs": [ { "name": "integrationManager_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getPoolTogetherV4PriceFeed", "inputs": [], "outputs": [ { "name": "poolTogetherV4PriceFeed_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "lend", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "", "type": "bytes", "internalType": "bytes" }, { "name": "_encodedAssetTransferArgs", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "parseAssetsForAction", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "_selector", "type": "bytes4", "internalType": "bytes4" }, { "name": "_actionData", "type": "bytes", "internalType": "bytes" } ], "outputs": [ { "name": "spendAssetsHandleType_", "type": "uint8", "internalType": "enum IIntegrationManager.SpendAssetsHandleType" }, { "name": "spendAssets_", "type": "address[]", "internalType": "address[]" }, { "name": "spendAssetAmounts_", "type": "uint256[]", "internalType": "uint256[]" }, { "name": "incomingAssets_", "type": "address[]", "internalType": "address[]" }, { "name": "minIncomingAssetAmounts_", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "view" }, { "type": "function", "name": "redeem", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "", "type": "bytes", "internalType": "bytes" }, { "name": "_encodedAssetTransferArgs", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x60c060405234801561001057600080fd5b50604051611c2b380380611c2b8339818101604052604081101561003357600080fd5b5080516020909101516001600160601b0319606092831b8116608052911b1660a05260805160601c60a05160601c611b9461009760003980610706528061115952806113975250806105e852806107e752806108a45280610a685250611b946000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c8063863e5ad011610097578063c32990a211610066578063c32990a2146103df578063c54efee5146103e7578063e7c45690146105a9578063f7d882b5146105b1576100f5565b8063863e5ad014610233578063b23228cf1461023b578063b9dfbacc14610243578063c29fa9dd14610311576100f5565b80631687c89b116100d35780631687c89b146101f7578063257cb1a31461021b5780633ffc15911461022357806340da225d1461022b576100f5565b8063080456c1146100fa578063099f75151461011f578063131461c0146101ef575b600080fd5b6101026105b9565b604080516001600160e01b03199092168252519081900360200190f35b6101ed6004803603606081101561013557600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561015f57600080fd5b82018360208201111561017157600080fd5b803590602001918460018302840111600160201b8311171561019257600080fd5b919390929091602081019035600160201b8111156101af57600080fd5b8201836020820111156101c157600080fd5b803590602001918460018302840111600160201b831117156101e257600080fd5b5090925090506105dd565b005b6101026106e0565b6101ff610704565b604080516001600160a01b039092168252519081900360200190f35b610102610728565b61010261074c565b610102610770565b610102610794565b6101026107b8565b6101ed6004803603606081101561025957600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561028357600080fd5b82018360208201111561029557600080fd5b803590602001918460018302840111600160201b831117156102b657600080fd5b919390929091602081019035600160201b8111156102d357600080fd5b8201836020820111156102e557600080fd5b803590602001918460018302840111600160201b8311171561030657600080fd5b5090925090506107dc565b6101ed6004803603606081101561032757600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561035157600080fd5b82018360208201111561036357600080fd5b803590602001918460018302840111600160201b8311171561038457600080fd5b919390929091602081019035600160201b8111156103a157600080fd5b8201836020820111156103b357600080fd5b803590602001918460018302840111600160201b831117156103d457600080fd5b509092509050610899565b610102610983565b610474600480360360608110156103fd57600080fd5b6001600160a01b03823516916001600160e01b031960208201351691810190606081016040820135600160201b81111561043657600080fd5b82018360208201111561044857600080fd5b803590602001918460018302840111600160201b8311171561046957600080fd5b5090925090506109a7565b6040518086600281111561048457fe5b815260200180602001806020018060200180602001858103855289818151815260200191508051906020019060200280838360005b838110156104d15781810151838201526020016104b9565b50505050905001858103845288818151815260200191508051906020019060200280838360005b838110156105105781810151838201526020016104f8565b50505050905001858103835287818151815260200191508051906020019060200280838360005b8381101561054f578181015183820152602001610537565b50505050905001858103825286818151815260200191508051906020019060200280838360005b8381101561058e578181015183820152602001610576565b50505050905001995050505050505050505060405180910390f35b6101ff610a66565b610102610a8a565b7f8334eb99be0145865eba9889fca2ee920288090caefff4cc776038e20ad9259a81565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106445760405162461bcd60e51b8152600401808060200182810382526032815260200180611acd6032913960400191505060405180910390fd5b606080606061068885858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610aae92505050565b9250925092506106d6888460008151811061069f57fe5b6020026020010151846000815181106106b457fe5b6020026020010151846000815181106106c957fe5b6020026020010151610c6b565b5050505050505050565b7f29fa046e79524c3c5ac4c01df692c35e217802b2b13b21121b76cf0ef02b138c81565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f099f75155f0e997bf83a7993a71d5e7e7540bd386fe1e84643a09ce6b412521981565b7ffa7dd04da627f433da73c4355ead9c75682a67a8fc84d3f6170ef0922f402d2481565b7fb9dfbaccbe5cd2a84fdcf1d15f23ef25d23086f5afbaa99516065ed4a5bbc7a381565b7f03e38a2bd7063d45c897edeafc330e71657502dd86434d3c37a489caf116af6981565b7f68e30677f607df46e87da13e15b637784cfa62374b653f35ab43d10361a2f83081565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146108435760405162461bcd60e51b8152600401808060200182810382526032815260200180611acd6032913960400191505060405180910390fd5b600060608061088787878080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610d5792505050565b9250925092506106d688848484610eb9565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146109005760405162461bcd60e51b8152600401808060200182810382526032815260200180611acd6032913960400191505060405180910390fd5b60608061094284848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610aae92505050565b509150915061097a878360008151811061095857fe5b60200260200101518360008151811061096d57fe5b6020026020010151610fea565b50505050505050565b7f0e7f692dad5b88fdee426250d6eae91207e56a2e8112b7364579bed1790e5bf481565b600060608080806001600160e01b03198816632e77eeb360e21b14156109de576109cf6110a7565b94509450945094509450610a5b565b6001600160e01b0319881663099f751560e01b1415610a01576109cf8787611107565b6001600160e01b0319881663c29fa9dd60e01b1415610a24576109cf8787611345565b60405162461bcd60e51b8152600401808060200182810382526027815260200180611a806027913960400191505060405180910390fd5b945094509450945094565b7f000000000000000000000000000000000000000000000000000000000000000090565b7fc29fa9dde84204c2908778afd0613d802d31cf046179b88f6d2b4a4e507ea2d581565b6060806060838060200190516060811015610ac857600080fd5b8101908080516040519392919084600160201b821115610ae757600080fd5b908301906020820185811115610afc57600080fd5b82518660208202830111600160201b82111715610b1857600080fd5b82525081516020918201928201910280838360005b83811015610b45578181015183820152602001610b2d565b5050505090500160405260200180516040519392919084600160201b821115610b6d57600080fd5b908301906020820185811115610b8257600080fd5b82518660208202830111600160201b82111715610b9e57600080fd5b82525081516020918201928201910280838360005b83811015610bcb578181015183820152602001610bb3565b5050505090500160405260200180516040519392919084600160201b821115610bf357600080fd5b908301906020820185811115610c0857600080fd5b82518660208202830111600160201b82111715610c2457600080fd5b82525081516020918201928201910280838360005b83811015610c51578181015183820152602001610c39565b505050509050016040525050509250925092509193909250565b6000816001600160a01b031663f77c47916040518163ffffffff1660e01b815260040160206040518083038186803b158015610ca657600080fd5b505afa158015610cba573d6000803e3d6000fd5b505050506040513d6020811015610cd057600080fd5b50519050610cdf848285611583565b6040805163d7a169eb60e01b81526001600160a01b038781166004830181905260248301879052604483015291519183169163d7a169eb9160648082019260009290919082900301818387803b158015610d3857600080fd5b505af1158015610d4c573d6000803e3d6000fd5b505050505050505050565b6000606080838060200190516060811015610d7157600080fd5b815160208301805160405192949293830192919084600160201b821115610d9757600080fd5b908301906020820185811115610dac57600080fd5b82518660208202830111600160201b82111715610dc857600080fd5b82525081516020918201928201910280838360005b83811015610df5578181015183820152602001610ddd565b5050505090500160405260200180516040519392919084600160201b821115610e1d57600080fd5b908301906020820185811115610e3257600080fd5b8251600160201b811182820188101715610e4b57600080fd5b82525081516020918201929091019080838360005b83811015610e78578181015183820152602001610e60565b50505050905090810190601f168015610ea55780820380516001836020036101000a031916815260200191505b506040525050509250925092509193909250565b826001600160a01b031663bb7d4e2d8584846040518463ffffffff1660e01b815260040180846001600160a01b031681526020018060200180602001838103835285818151815260200191508051906020019060200280838360005b83811015610f2d578181015183820152602001610f15565b50505050905001838103825284818151815260200191508051906020019080838360005b83811015610f69578181015183820152602001610f51565b50505050905090810190601f168015610f965780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b158015610fb857600080fd5b505af1158015610fcc573d6000803e3d6000fd5b505050506040513d6020811015610fe257600080fd5b505050505050565b6000826001600160a01b031663f77c47916040518163ffffffff1660e01b815260040160206040518083038186803b15801561102557600080fd5b505afa158015611039573d6000803e3d6000fd5b505050506040513d602081101561104f57600080fd5b505160408051639470b0bd60e01b81526001600160a01b03878116600483015260248201869052915192935090831691639470b0bd916044808201926020929091908290030181600087803b158015610fb857600080fd5b6000606080808084806040519080825280602002602001820160405280156110d9578160200160208202803683370190505b5060408051600080825260208201818152828401918252606083019093529399929850965094509092509050565b600060608060608060008061115189898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061164192505050565b9150915060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166366adb867846040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156111c457600080fd5b505afa1580156111d8573d6000803e3d6000fd5b505050506040513d60208110156111ee57600080fd5b505190506001600160a01b0381166112375760405162461bcd60e51b8152600401808060200182810382526029815260200180611aff6029913960400191505060405180910390fd5b6040805160018082528183019092529060208083019080368337019050509650808760008151811061126557fe5b6001600160a01b039290921660209283029190910182015260408051600180825281830190925291828101908036833701905050955081866000815181106112a957fe5b60209081029190910101526040805160018082528183019092529081602001602082028036833701905050945082856000815181106112e457fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509350818460008151811061132857fe5b602002602001018181525050600297505050509295509295909350565b600060608060608060008061138f89898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061164192505050565b9150915060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166366adb867846040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561140257600080fd5b505afa158015611416573d6000803e3d6000fd5b505050506040513d602081101561142c57600080fd5b505190506001600160a01b0381166114755760405162461bcd60e51b815260040180806020018281038252602b815260200180611a55602b913960400191505060405180910390fd5b604080516001808252818301909252906020808301908036833701905050965082876000815181106114a357fe5b6001600160a01b039290921660209283029190910182015260408051600180825281830190925291828101908036833701905050955081866000815181106114e757fe5b602090810291909101015260408051600180825281830190925290816020016020820280368337019050509450808560008151811061152257fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509350818460008151811061156657fe5b602002602001018181525050600197505050509295509295909350565b60408051636eb1769f60e11b81523060048201526001600160a01b038481166024830152915160009286169163dd62ed3e916044808301926020929190829003018186803b1580156115d457600080fd5b505afa1580156115e8573d6000803e3d6000fd5b505050506040513d60208110156115fe57600080fd5b505190508181101561163b578015611625576116256001600160a01b03851684600061166c565b61163b6001600160a01b0385168460001961166c565b50505050565b60008082806020019051604081101561165957600080fd5b5080516020909101519092509050915091565b8015806116f2575060408051636eb1769f60e11b81523060048201526001600160a01b03848116602483015291519185169163dd62ed3e91604480820192602092909190829003018186803b1580156116c457600080fd5b505afa1580156116d8573d6000803e3d6000fd5b505050506040513d60208110156116ee57600080fd5b5051155b61172d5760405162461bcd60e51b8152600401808060200182810382526036815260200180611b526036913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b17905261177f908490611784565b505050565b60606117d9826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166118359092919063ffffffff16565b80519091501561177f578080602001905160208110156117f857600080fd5b505161177f5760405162461bcd60e51b815260040180806020018281038252602a815260200180611b28602a913960400191505060405180910390fd5b6060611844848460008561184e565b90505b9392505050565b60608247101561188f5760405162461bcd60e51b8152600401808060200182810382526026815260200180611aa76026913960400191505060405180910390fd5b611898856119aa565b6118e9576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b602083106119285780518252601f199092019160209182019101611909565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d806000811461198a576040519150601f19603f3d011682016040523d82523d6000602084013e61198f565b606091505b509150915061199f8282866119b0565b979650505050505050565b3b151590565b606083156119bf575081611847565b8251156119cf5782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611a19578181015183820152602001611a01565b50505050905090810190601f168015611a465780820380516001836020036101000a031916815260200191505b509250505060405180910390fdfe5f5f7061727365417373657473466f7252656465656d3a20556e737570706f72746564207074546f6b656e7061727365417373657473466f724d6574686f643a205f73656c6563746f7220696e76616c6964416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c4f6e6c792074686520496e746567726174696f6e4d616e616765722063616e2063616c6c20746869732066756e6374696f6e5f5f7061727365417373657473466f724c656e643a20556e737570706f72746564207074546f6b656e5361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e6365a164736f6c634300060c000a", "sourceMap": "606:8507:172:-:0;;;746:206;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;746:206:172;;;;;;;-1:-1:-1;;;;;;1938:41:179;;;;;;;;891:54:172;;;::::1;::::0;606:8507;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106100f55760003560e01c8063863e5ad011610097578063c32990a211610066578063c32990a2146103df578063c54efee5146103e7578063e7c45690146105a9578063f7d882b5146105b1576100f5565b8063863e5ad014610233578063b23228cf1461023b578063b9dfbacc14610243578063c29fa9dd14610311576100f5565b80631687c89b116100d35780631687c89b146101f7578063257cb1a31461021b5780633ffc15911461022357806340da225d1461022b576100f5565b8063080456c1146100fa578063099f75151461011f578063131461c0146101ef575b600080fd5b6101026105b9565b604080516001600160e01b03199092168252519081900360200190f35b6101ed6004803603606081101561013557600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561015f57600080fd5b82018360208201111561017157600080fd5b803590602001918460018302840111600160201b8311171561019257600080fd5b919390929091602081019035600160201b8111156101af57600080fd5b8201836020820111156101c157600080fd5b803590602001918460018302840111600160201b831117156101e257600080fd5b5090925090506105dd565b005b6101026106e0565b6101ff610704565b604080516001600160a01b039092168252519081900360200190f35b610102610728565b61010261074c565b610102610770565b610102610794565b6101026107b8565b6101ed6004803603606081101561025957600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561028357600080fd5b82018360208201111561029557600080fd5b803590602001918460018302840111600160201b831117156102b657600080fd5b919390929091602081019035600160201b8111156102d357600080fd5b8201836020820111156102e557600080fd5b803590602001918460018302840111600160201b8311171561030657600080fd5b5090925090506107dc565b6101ed6004803603606081101561032757600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561035157600080fd5b82018360208201111561036357600080fd5b803590602001918460018302840111600160201b8311171561038457600080fd5b919390929091602081019035600160201b8111156103a157600080fd5b8201836020820111156103b357600080fd5b803590602001918460018302840111600160201b831117156103d457600080fd5b509092509050610899565b610102610983565b610474600480360360608110156103fd57600080fd5b6001600160a01b03823516916001600160e01b031960208201351691810190606081016040820135600160201b81111561043657600080fd5b82018360208201111561044857600080fd5b803590602001918460018302840111600160201b8311171561046957600080fd5b5090925090506109a7565b6040518086600281111561048457fe5b815260200180602001806020018060200180602001858103855289818151815260200191508051906020019060200280838360005b838110156104d15781810151838201526020016104b9565b50505050905001858103845288818151815260200191508051906020019060200280838360005b838110156105105781810151838201526020016104f8565b50505050905001858103835287818151815260200191508051906020019060200280838360005b8381101561054f578181015183820152602001610537565b50505050905001858103825286818151815260200191508051906020019060200280838360005b8381101561058e578181015183820152602001610576565b50505050905001995050505050505050505060405180910390f35b6101ff610a66565b610102610a8a565b7f8334eb99be0145865eba9889fca2ee920288090caefff4cc776038e20ad9259a81565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146106445760405162461bcd60e51b8152600401808060200182810382526032815260200180611acd6032913960400191505060405180910390fd5b606080606061068885858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610aae92505050565b9250925092506106d6888460008151811061069f57fe5b6020026020010151846000815181106106b457fe5b6020026020010151846000815181106106c957fe5b6020026020010151610c6b565b5050505050505050565b7f29fa046e79524c3c5ac4c01df692c35e217802b2b13b21121b76cf0ef02b138c81565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f099f75155f0e997bf83a7993a71d5e7e7540bd386fe1e84643a09ce6b412521981565b7ffa7dd04da627f433da73c4355ead9c75682a67a8fc84d3f6170ef0922f402d2481565b7fb9dfbaccbe5cd2a84fdcf1d15f23ef25d23086f5afbaa99516065ed4a5bbc7a381565b7f03e38a2bd7063d45c897edeafc330e71657502dd86434d3c37a489caf116af6981565b7f68e30677f607df46e87da13e15b637784cfa62374b653f35ab43d10361a2f83081565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146108435760405162461bcd60e51b8152600401808060200182810382526032815260200180611acd6032913960400191505060405180910390fd5b600060608061088787878080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610d5792505050565b9250925092506106d688848484610eb9565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146109005760405162461bcd60e51b8152600401808060200182810382526032815260200180611acd6032913960400191505060405180910390fd5b60608061094284848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610aae92505050565b509150915061097a878360008151811061095857fe5b60200260200101518360008151811061096d57fe5b6020026020010151610fea565b50505050505050565b7f0e7f692dad5b88fdee426250d6eae91207e56a2e8112b7364579bed1790e5bf481565b600060608080806001600160e01b03198816632e77eeb360e21b14156109de576109cf6110a7565b94509450945094509450610a5b565b6001600160e01b0319881663099f751560e01b1415610a01576109cf8787611107565b6001600160e01b0319881663c29fa9dd60e01b1415610a24576109cf8787611345565b60405162461bcd60e51b8152600401808060200182810382526027815260200180611a806027913960400191505060405180910390fd5b945094509450945094565b7f000000000000000000000000000000000000000000000000000000000000000090565b7fc29fa9dde84204c2908778afd0613d802d31cf046179b88f6d2b4a4e507ea2d581565b6060806060838060200190516060811015610ac857600080fd5b8101908080516040519392919084600160201b821115610ae757600080fd5b908301906020820185811115610afc57600080fd5b82518660208202830111600160201b82111715610b1857600080fd5b82525081516020918201928201910280838360005b83811015610b45578181015183820152602001610b2d565b5050505090500160405260200180516040519392919084600160201b821115610b6d57600080fd5b908301906020820185811115610b8257600080fd5b82518660208202830111600160201b82111715610b9e57600080fd5b82525081516020918201928201910280838360005b83811015610bcb578181015183820152602001610bb3565b5050505090500160405260200180516040519392919084600160201b821115610bf357600080fd5b908301906020820185811115610c0857600080fd5b82518660208202830111600160201b82111715610c2457600080fd5b82525081516020918201928201910280838360005b83811015610c51578181015183820152602001610c39565b505050509050016040525050509250925092509193909250565b6000816001600160a01b031663f77c47916040518163ffffffff1660e01b815260040160206040518083038186803b158015610ca657600080fd5b505afa158015610cba573d6000803e3d6000fd5b505050506040513d6020811015610cd057600080fd5b50519050610cdf848285611583565b6040805163d7a169eb60e01b81526001600160a01b038781166004830181905260248301879052604483015291519183169163d7a169eb9160648082019260009290919082900301818387803b158015610d3857600080fd5b505af1158015610d4c573d6000803e3d6000fd5b505050505050505050565b6000606080838060200190516060811015610d7157600080fd5b815160208301805160405192949293830192919084600160201b821115610d9757600080fd5b908301906020820185811115610dac57600080fd5b82518660208202830111600160201b82111715610dc857600080fd5b82525081516020918201928201910280838360005b83811015610df5578181015183820152602001610ddd565b5050505090500160405260200180516040519392919084600160201b821115610e1d57600080fd5b908301906020820185811115610e3257600080fd5b8251600160201b811182820188101715610e4b57600080fd5b82525081516020918201929091019080838360005b83811015610e78578181015183820152602001610e60565b50505050905090810190601f168015610ea55780820380516001836020036101000a031916815260200191505b506040525050509250925092509193909250565b826001600160a01b031663bb7d4e2d8584846040518463ffffffff1660e01b815260040180846001600160a01b031681526020018060200180602001838103835285818151815260200191508051906020019060200280838360005b83811015610f2d578181015183820152602001610f15565b50505050905001838103825284818151815260200191508051906020019080838360005b83811015610f69578181015183820152602001610f51565b50505050905090810190601f168015610f965780820380516001836020036101000a031916815260200191505b5095505050505050602060405180830381600087803b158015610fb857600080fd5b505af1158015610fcc573d6000803e3d6000fd5b505050506040513d6020811015610fe257600080fd5b505050505050565b6000826001600160a01b031663f77c47916040518163ffffffff1660e01b815260040160206040518083038186803b15801561102557600080fd5b505afa158015611039573d6000803e3d6000fd5b505050506040513d602081101561104f57600080fd5b505160408051639470b0bd60e01b81526001600160a01b03878116600483015260248201869052915192935090831691639470b0bd916044808201926020929091908290030181600087803b158015610fb857600080fd5b6000606080808084806040519080825280602002602001820160405280156110d9578160200160208202803683370190505b5060408051600080825260208201818152828401918252606083019093529399929850965094509092509050565b600060608060608060008061115189898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061164192505050565b9150915060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166366adb867846040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156111c457600080fd5b505afa1580156111d8573d6000803e3d6000fd5b505050506040513d60208110156111ee57600080fd5b505190506001600160a01b0381166112375760405162461bcd60e51b8152600401808060200182810382526029815260200180611aff6029913960400191505060405180910390fd5b6040805160018082528183019092529060208083019080368337019050509650808760008151811061126557fe5b6001600160a01b039290921660209283029190910182015260408051600180825281830190925291828101908036833701905050955081866000815181106112a957fe5b60209081029190910101526040805160018082528183019092529081602001602082028036833701905050945082856000815181106112e457fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509350818460008151811061132857fe5b602002602001018181525050600297505050509295509295909350565b600060608060608060008061138f89898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061164192505050565b9150915060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166366adb867846040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561140257600080fd5b505afa158015611416573d6000803e3d6000fd5b505050506040513d602081101561142c57600080fd5b505190506001600160a01b0381166114755760405162461bcd60e51b815260040180806020018281038252602b815260200180611a55602b913960400191505060405180910390fd5b604080516001808252818301909252906020808301908036833701905050965082876000815181106114a357fe5b6001600160a01b039290921660209283029190910182015260408051600180825281830190925291828101908036833701905050955081866000815181106114e757fe5b602090810291909101015260408051600180825281830190925290816020016020820280368337019050509450808560008151811061152257fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509350818460008151811061156657fe5b602002602001018181525050600197505050509295509295909350565b60408051636eb1769f60e11b81523060048201526001600160a01b038481166024830152915160009286169163dd62ed3e916044808301926020929190829003018186803b1580156115d457600080fd5b505afa1580156115e8573d6000803e3d6000fd5b505050506040513d60208110156115fe57600080fd5b505190508181101561163b578015611625576116256001600160a01b03851684600061166c565b61163b6001600160a01b0385168460001961166c565b50505050565b60008082806020019051604081101561165957600080fd5b5080516020909101519092509050915091565b8015806116f2575060408051636eb1769f60e11b81523060048201526001600160a01b03848116602483015291519185169163dd62ed3e91604480820192602092909190829003018186803b1580156116c457600080fd5b505afa1580156116d8573d6000803e3d6000fd5b505050506040513d60208110156116ee57600080fd5b5051155b61172d5760405162461bcd60e51b8152600401808060200182810382526036815260200180611b526036913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b17905261177f908490611784565b505050565b60606117d9826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166118359092919063ffffffff16565b80519091501561177f578080602001905160208110156117f857600080fd5b505161177f5760405162461bcd60e51b815260040180806020018281038252602a815260200180611b28602a913960400191505060405180910390fd5b6060611844848460008561184e565b90505b9392505050565b60608247101561188f5760405162461bcd60e51b8152600401808060200182810382526026815260200180611aa76026913960400191505060405180910390fd5b611898856119aa565b6118e9576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b602083106119285780518252601f199092019160209182019101611909565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d806000811461198a576040519150601f19603f3d011682016040523d82523d6000602084013e61198f565b606091505b509150915061199f8282866119b0565b979650505050505050565b3b151590565b606083156119bf575081611847565b8251156119cf5782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611a19578181015183820152602001611a01565b50505050905090810190601f168015611a465780820380516001836020036101000a031916815260200191505b509250505060405180910390fdfe5f5f7061727365417373657473466f7252656465656d3a20556e737570706f72746564207074546f6b656e7061727365417373657473466f724d6574686f643a205f73656c6563746f7220696e76616c6964416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c4f6e6c792074686520496e746567726174696f6e4d616e616765722063616e2063616c6c20746869732066756e6374696f6e5f5f7061727365417373657473466f724c656e643a20556e737570706f72746564207074546f6b656e5361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e6365a164736f6c634300060c000a", "sourceMap": "606:8507:172:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1490:119:180;;;:::i;:::-;;;;-1:-1:-1;;;;;;1490:119:180;;;;;;;;;;;;;;1776:465:172;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1776:465:172;;;;;;;;;;;;;;;-1:-1:-1;;;1776:465:172;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1776:465:172;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1776:465:172;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1776:465:172;;;;;;;;;;-1:-1:-1;1776:465:172;;-1:-1:-1;1776:465:172;-1:-1:-1;1776:465:172;:::i;:::-;;1373:111:180;;;:::i;8937:174:172:-;;;:::i;:::-;;;;-1:-1:-1;;;;;8937:174:172;;;;;;;;;;;;;;832:85:180;;;:::i;1034:87::-;;;:::i;1240:110::-;;;:::i;706:104::-;;;:::i;1127:91::-;;;:::i;1134:420:172:-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1134:420:172;;;;;;;;;;;;;;;-1:-1:-1;;;1134:420:172;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1134:420:172;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1134:420:172;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1134:420:172;;;;;;;;;;-1:-1:-1;1134:420:172;;-1:-1:-1;1134:420:172;-1:-1:-1;1134:420:172;:::i;2468:395::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2468:395:172;;;;;;;;;;;;;;;-1:-1:-1;;;2468:395:172;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2468:395:172;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2468:395:172;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2468:395:172;;;;;;;;;;-1:-1:-1;2468:395:172;;-1:-1:-1;2468:395:172;-1:-1:-1;2468:395:172;:::i;577:123:180:-;;;:::i;3604:853:172:-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3604:853:172;;;;-1:-1:-1;;;;;;3604:853:172;;;;;;;;;;;;;;;;-1:-1:-1;;;3604:853:172;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3604:853:172;;;;;;;;;;-1:-1:-1;3604:853:172;;-1:-1:-1;3604:853:172;-1:-1:-1;3604:853:172;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2637:128:179;;;:::i;923:89:180:-;;;:::i;1490:119::-;1558:50;1490:119;:::o;1776:465:172:-;1747:10:179;-1:-1:-1;;;;;1761:19:179;1747:33;;1726:130;;;;-1:-1:-1;;;1726:130:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1955:28:172::1;1997:34:::0;2045:31:::1;2089:44;2107:25;;2089:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;2089:17:172::1;::::0;-1:-1:-1;;;2089:44:172:i:1;:::-;1941:192;;;;;;2144:90;2165:11;2178;2190:1;2178:14;;;;;;;;;;;;;;2194:17;2212:1;2194:20;;;;;;;;;;;;;;2216:14;2231:1;2216:17;;;;;;;;;;;;;;2144:20;:90::i;:::-;1866:1:179;;;1776:465:172::0;;;;;:::o;1373:111:180:-;1437:46;1373:111;:::o;8937:174:172:-;9077:27;8937:174;:::o;832:85:180:-;878:38;832:85;:::o;1034:87::-;1081:39;1034:87;:::o;1240:110::-;1303:46;1240:110;:::o;706:104::-;766:43;706:104;:::o;1127:91::-;1176:41;1127:91;:::o;1134:420:172:-;1747:10:179;-1:-1:-1;;;;;1761:19:179;1747:33;;1726:130;;;;-1:-1:-1;;;1726:130:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1307:24:172::1;1345:23;1382:25:::0;1420:41:::1;1449:11;;1420:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;1420:28:172::1;::::0;-1:-1:-1;;;1420:41:172:i:1;:::-;1293:168;;;;;;1472:75;1494:11;1507:16;1525:7;1534:12;1472:21;:75::i;2468:395::-:0;1747:10:179;-1:-1:-1;;;;;1761:19:179;1747:33;;1726:130;;;;-1:-1:-1;;;1726:130:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2636:28:172::1;2666:34:::0;2706:66:::1;2737:25;;2706:66;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;2706:17:172::1;::::0;-1:-1:-1;;;2706:66:172:i:1;:::-;2635:137;;;;;2783:73;2806:11;2819;2831:1;2819:14;;;;;;;;;;;;;;2835:17;2853:1;2835:20;;;;;;;;;;;;;;2783:22;:73::i;:::-;1866:1:179;;2468:395:172::0;;;;;:::o;577:123:180:-;647:52;577:123;:::o;3604:853:172:-;3796:64;3874:29;;;;-1:-1:-1;;;;;;4082:35:172;;-1:-1:-1;;;4082:35:172;4078:313;;;4140:30;:28;:30::i;:::-;4133:37;;;;;;;;;;;;4078:313;-1:-1:-1;;;;;;4191:26:172;;-1:-1:-1;;;4191:26:172;4187:204;;;4240:33;4261:11;;4240:20;:33::i;4187:204::-;-1:-1:-1;;;;;;4294:28:172;;-1:-1:-1;;;4294:28:172;4290:101;;;4345:35;4368:11;;4345:22;:35::i;4290:101::-;4401:49;;-1:-1:-1;;;4401:49:172;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3604:853;;;;;;;;;;:::o;2637:128:179:-;2739:19;2637:128;:::o;923:89:180:-;971:40;923:89;:::o;2093:332:179:-;2205:29;2248:35;2297:32;2372:10;2361:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;-1:-1:-1;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;-1:-1:-1;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;-1:-1:-1;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2354:64;;;;;;2093:332;;;;;:::o;817:460:193:-;975:24;1024:8;-1:-1:-1;;;;;1002:42:193;;:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1002:44:193;;-1:-1:-1;1057:60:193;1083:6;1002:44;1109:7;1057:25;:60::i;:::-;1128:142;;;-1:-1:-1;;;1128:142:193;;-1:-1:-1;;;;;1128:142:193;;;;;;;;;;;;;;;;;;;;;:63;;;;;;:142;;;;;-1:-1:-1;;1128:142:193;;;;;;;;-1:-1:-1;1128:63:193;:142;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;817:460;;;;;:::o;8388:316:172:-;8511:25;8550:24;8588:26;8657:11;8646:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;8646:51:172;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;8646:51:172;;;;;;;;;;;;-1:-1:-1;8646:51:172;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;8646:51:172;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;8646:51:172;;;;;;-1:-1:-1;8646:51:172;;;;;;;;;;-1:-1:-1;8646:51:172;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8639:58;;;;;;8388:316;;;;;:::o;1671:349:193:-;1899:24;-1:-1:-1;;;;;1867:63:193;;1944:10;1968:8;1990:13;1867:146;;;;;;;;;;;;;-1:-1:-1;;;;;1867:146:193;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1671:349:193:o;1324:301::-;1460:24;1509:8;-1:-1:-1;;;;;1487:42:193;;:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1487:44:193;1542:76;;;-1:-1:-1;;;1542:76:193;;-1:-1:-1;;;;;1542:76:193;;;;;;;;;;;;;;;1487:44;;-1:-1:-1;1542:55:193;;;;;;:76;;;;;1487:44;;1542:76;;;;;;;;-1:-1:-1;1542:55:193;:76;;;;;;;;;;7435:585:172;7534:64;7612:29;;;;7534:64;;7897:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7897:16:172;-1:-1:-1;7927:16:172;;;7941:1;7927:16;;;;;;7957;;;;;;7987;;;;;;;;;7816:197;;;;-1:-1:-1;7927:16:172;-1:-1:-1;7927:16:172;-1:-1:-1;7957:16:172;;-1:-1:-1;7435:585:172;-1:-1:-1;7435:585:172:o;4578:1301::-;4695:64;4773:29;4816:35;4865:32;4911:41;4978:15;4995:14;5013:29;5030:11;;5013:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5013:16:172;;-1:-1:-1;;;5013:29:172:i;:::-;4977:65;;;;5111:13;5151:27;-1:-1:-1;;;;;5127:92:172;;5220:7;5127:101;;;;;;;;;;;;;-1:-1:-1;;;;;5127:101:172;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5127:101:172;;-1:-1:-1;;;;;;5246:19:172;;5238:73;;;;-1:-1:-1;;;5238:73:172;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5337:16;;;5351:1;5337:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5337:16:172;5322:31;;5381:5;5363:12;5376:1;5363:15;;;;;;;;-1:-1:-1;;;;;5363:23:172;;;;:15;;;;;;;;;;:23;5417:16;;;5431:1;5417:16;;;;;;;;;;;;;;5363:15;5417:16;;;;;-1:-1:-1;5417:16:172;5396:37;;5467:6;5443:18;5462:1;5443:21;;;;;;;;;;;;;;;;;:30;5502:16;;;5516:1;5502:16;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5502:16:172;5484:34;;5549:7;5528:15;5544:1;5528:18;;;;;;;;-1:-1:-1;;;;;5528:28:172;;;;:18;;;;;;;;;;:28;5593:16;;;5607:1;5593:16;;;;;;;;;;;;;;5528:18;5593:16;;;;;-1:-1:-1;5593:16:172;5566:43;;5649:6;5619:24;5644:1;5619:27;;;;;;;;;;;;;:36;;;;;5687:50;5666:206;;;;;4578:1301;;;;;;;;:::o;6002:1304::-;6121:64;6199:29;6242:35;6291:32;6337:41;6404:15;6421:14;6439:29;6456:11;;6439:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6439:16:172;;-1:-1:-1;;;6439:29:172:i;:::-;6403:65;;;;6537:13;6577:27;-1:-1:-1;;;;;6553:92:172;;6646:7;6553:101;;;;;;;;;;;;;-1:-1:-1;;;;;6553:101:172;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6553:101:172;;-1:-1:-1;;;;;;6672:19:172;;6664:75;;;;-1:-1:-1;;;6664:75:172;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6765:16;;;6779:1;6765:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6765:16:172;6750:31;;6809:7;6791:12;6804:1;6791:15;;;;;;;;-1:-1:-1;;;;;6791:25:172;;;;:15;;;;;;;;;;:25;6847:16;;;6861:1;6847:16;;;;;;;;;;;;;;6791:15;6847:16;;;;;-1:-1:-1;6847:16:172;6826:37;;6897:6;6873:18;6892:1;6873:21;;;;;;;;;;;;;;;;;:30;6932:16;;;6946:1;6932:16;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6932:16:172;6914:34;;6979:5;6958:15;6974:1;6958:18;;;;;;;;-1:-1:-1;;;;;6958:26:172;;;;:18;;;;;;;;;;:26;7021:16;;;7035:1;7021:16;;;;;;;;;;;;;;6958:18;7021:16;;;;;-1:-1:-1;7021:16:172;6994:43;;7077:6;7047:24;7072:1;7047:27;;;;;;;;;;;;;:36;;;;;7115:49;7094:205;;;;;6002:1304;;;;;;;;:::o;2554:434:355:-;2714:47;;;-1:-1:-1;;;2714:47:355;;2746:4;2714:47;;;;-1:-1:-1;;;;;2714:47:355;;;;;;;;;2694:17;;2714:23;;;;;:47;;;;;;;;;;;;;;:23;:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2714:47:355;;-1:-1:-1;2775:25:355;;;2771:211;;;2820:13;;2816:89;;2853:37;-1:-1:-1;;;;;2853:25:355;;2879:7;2888:1;2853:25;:37::i;:::-;2918:53;-1:-1:-1;;;;;2918:25:355;;2944:7;-1:-1:-1;;2918:25:355;:53::i;:::-;2554:434;;;;:::o;8111:204:172:-;8209:16;8227:15;8276:11;8265:43;;;;;;;;;;;;;;;-1:-1:-1;8265:43:172;;;;;;;;;-1:-1:-1;8265:43:172;-1:-1:-1;8111:204:172;;;:::o;1348:613:450:-;1713:10;;;1712:62;;-1:-1:-1;1729:39:450;;;-1:-1:-1;;;1729:39:450;;1753:4;1729:39;;;;-1:-1:-1;;;;;1729:39:450;;;;;;;;;:15;;;;;;:39;;;;;;;;;;;;;;;:15;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1729:39:450;:44;1712:62;1704:150;;;;-1:-1:-1;;;1704:150:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1891:62;;;-1:-1:-1;;;;;1891:62:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1891:62:450;-1:-1:-1;;;1891:62:450;;;1864:90;;1884:5;;1864:19;:90::i;:::-;1348:613;;;:::o;2967:751::-;3386:23;3412:69;3440:4;3412:69;;;;;;;;;;;;;;;;;3420:5;-1:-1:-1;;;;;3412:27:450;;;:69;;;;;:::i;:::-;3495:17;;3386:95;;-1:-1:-1;3495:21:450;3491:221;;3635:10;3624:30;;;;;;;;;;;;;;;-1:-1:-1;3624:30:450;3616:85;;;;-1:-1:-1;;;3616:85:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3581:193:451;3684:12;3715:52;3737:6;3745:4;3751:1;3754:12;3715:21;:52::i;:::-;3708:59;;3581:193;;;;;;:::o;4608:523::-;4735:12;4792:5;4767:21;:30;;4759:81;;;;-1:-1:-1;;;4759:81:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4858:18;4869:6;4858:10;:18::i;:::-;4850:60;;;;;-1:-1:-1;;;4850:60:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;4981:12;4995:23;5022:6;-1:-1:-1;;;;;5022:11:451;5042:5;5050:4;5022:33;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5022:33:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4980:75;;;;5072:52;5090:7;5099:10;5111:12;5072:17;:52::i;:::-;5065:59;4608:523;-1:-1:-1;;;;;;;4608:523:451:o;726:413::-;1086:20;1124:8;;;726:413::o;7091:725::-;7206:12;7234:7;7230:580;;;-1:-1:-1;7264:10:451;7257:17;;7230:580;7375:17;;:21;7371:429;;7633:10;7627:17;7693:15;7680:10;7676:2;7672:19;7665:44;7582:145;7772:12;7765:20;;-1:-1:-1;;;7765:20:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;", "linkReferences": {}, "immutableReferences": { "46766": [ { "start": 1798, "length": 32 }, { "start": 4441, "length": 32 }, { "start": 5015, "length": 32 } ], "49791": [ { "start": 1512, "length": 32 }, { "start": 2023, "length": 32 }, { "start": 2212, "length": 32 }, { "start": 2664, "length": 32 } ] } }, "methodIdentifiers": { "CLAIM_REWARDS_SELECTOR()": "40da225d", "LEND_AND_STAKE_SELECTOR()": "131461c0", "LEND_SELECTOR()": "257cb1a3", "REDEEM_SELECTOR()": "f7d882b5", "STAKE_SELECTOR()": "3ffc1591", "TAKE_MULTIPLE_ORDERS_SELECTOR()": "c32990a2", "TAKE_ORDER_SELECTOR()": "863e5ad0", "UNSTAKE_AND_REDEEM_SELECTOR()": "080456c1", "UNSTAKE_SELECTOR()": "b23228cf", "claimRewards(address,bytes,bytes)": "b9dfbacc", "getIntegrationManager()": "e7c45690", "getPoolTogetherV4PriceFeed()": "1687c89b", "lend(address,bytes,bytes)": "099f7515", "parseAssetsForAction(address,bytes4,bytes)": "c54efee5", "redeem(address,bytes,bytes)": "c29fa9dd" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_integrationManager\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_poolTogetherV4PriceFeed\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"CLAIM_REWARDS_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LEND_AND_STAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LEND_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"REDEEM_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"STAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TAKE_MULTIPLE_ORDERS_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TAKE_ORDER_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UNSTAKE_AND_REDEEM_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UNSTAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"claimRewards\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getIntegrationManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"integrationManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPoolTogetherV4PriceFeed\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"poolTogetherV4PriceFeed_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"_encodedAssetTransferArgs\",\"type\":\"bytes\"}],\"name\":\"lend\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"_selector\",\"type\":\"bytes4\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"}],\"name\":\"parseAssetsForAction\",\"outputs\":[{\"internalType\":\"enum IIntegrationManager.SpendAssetsHandleType\",\"name\":\"spendAssetsHandleType_\",\"type\":\"uint8\"},{\"internalType\":\"address[]\",\"name\":\"spendAssets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"spendAssetAmounts_\",\"type\":\"uint256[]\"},{\"internalType\":\"address[]\",\"name\":\"incomingAssets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"minIncomingAssetAmounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"_encodedAssetTransferArgs\",\"type\":\"bytes\"}],\"name\":\"redeem\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"claimRewards(address,bytes,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}},\"getIntegrationManager()\":{\"returns\":{\"integrationManager_\":\"The `INTEGRATION_MANAGER` variable value\"}},\"getPoolTogetherV4PriceFeed()\":{\"returns\":{\"poolTogetherV4PriceFeed_\":\"The `POOL_TOGETHER_V4_PRICE_FEED` variable value\"}},\"lend(address,bytes,bytes)\":{\"params\":{\"_encodedAssetTransferArgs\":\"Encoded args for expected assets to spend and receive\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}},\"parseAssetsForAction(address,bytes4,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_selector\":\"The function selector for the callOnIntegration\"},\"returns\":{\"incomingAssets_\":\"The assets to receive in the call\",\"minIncomingAssetAmounts_\":\"The min asset amounts to receive in the call\",\"spendAssetAmounts_\":\"The max asset amounts to spend in the call\",\"spendAssetsHandleType_\":\"A type that dictates how to handle granting the adapter access to spend assets (`None` by default)\",\"spendAssets_\":\"The assets to spend in the call\"}},\"redeem(address,bytes,bytes)\":{\"params\":{\"_encodedAssetTransferArgs\":\"Encoded args for expected assets to spend and receive\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}}},\"title\":\"PoolTogetherV4Adapter Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"claimRewards(address,bytes,bytes)\":{\"notice\":\"Claims rewards from the Prize Distributor\"},\"getIntegrationManager()\":{\"notice\":\"Gets the `INTEGRATION_MANAGER` variable\"},\"getPoolTogetherV4PriceFeed()\":{\"notice\":\"Gets the `POOL_TOGETHER_V4_PRICE_FEED` variable\"},\"lend(address,bytes,bytes)\":{\"notice\":\"Lends an amount of a token to PoolTogether\"},\"parseAssetsForAction(address,bytes4,bytes)\":{\"notice\":\"Parses the expected assets in a particular action\"},\"redeem(address,bytes,bytes)\":{\"notice\":\"Redeems an amount of ptTokens from PoolTogether\"}},\"notice\":\"Adapter for PoolTogether (v4)\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/integration-manager/integrations/adapters/PoolTogetherV4Adapter.sol\":\"PoolTogetherV4Adapter\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/extensions/integration-manager/IIntegrationManager.sol\":{\"keccak256\":\"0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23\",\"dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk\"]},\"contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol\":{\"keccak256\":\"0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336\",\"dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS\"]},\"contracts/release/extensions/integration-manager/integrations/adapters/PoolTogetherV4Adapter.sol\":{\"keccak256\":\"0xba1bf88baf9440ed016befb14d2b7d8ce68711979d4b09ec76de9f5065bf4c69\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://080dd9666f3f1f161c6851da226f9851763a2520ea0fccd49bd7269d0542e471\",\"dweb:/ipfs/QmVWv2mSaGnjN2c8ukioBttbrY2F9Pj3aUuC4hTZoxdSN3\"]},\"contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol\":{\"keccak256\":\"0x067e49bf0d3c1655ab41a413c65ccf61d4e593308132e1ffc484a0fadfbbaf26\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://387f425017e18e89cc1893521101fa99df595314847d0b3d9a1162369f714fcf\",\"dweb:/ipfs/Qmco3jCvuWAyfCpBYpGzHrQjiFJG63w1RJKcakoTEbxRQm\"]},\"contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol\":{\"keccak256\":\"0xfd34c7ca8231c6935e25dede32ca2b3121738e624d0fc896f7b895a731edcf88\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d492c061963d36d07718446db191d4c5a340c0d847f6cd209f027bd99f7cb176\",\"dweb:/ipfs/QmfCvRZt56ftDdrEh6LepHXFJ4fVtcfpQGvEyY8k4zxG1A\"]},\"contracts/release/extensions/integration-manager/integrations/utils/actions/PoolTogetherV4ActionsMixin.sol\":{\"keccak256\":\"0x2c8f6dc9cef144a20b2bd732804d3db48e2e2be3b2cd7a0644f80c8b7d3a3455\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8a5642511e557ee1745e3a88787cd8e3cb88f76a06c05a72626558332b92c13a\",\"dweb:/ipfs/Qmbr2aJsRsB4umCUuRHvr9ktTNeS66kmeGuGoQXkUqLyxd\"]},\"contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol\":{\"keccak256\":\"0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e\",\"dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK\"]},\"contracts/release/infrastructure/price-feeds/derivatives/feeds/PoolTogetherV4PriceFeed.sol\":{\"keccak256\":\"0x0ae1d2f1f95eb40b5176e282fe7daf063ef4fbde9b7079c1e4d514d552f29b74\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://e272e70a71c828a31dff1f8dc6ef883825f4b11b9512c0505598109d0e7c58cf\",\"dweb:/ipfs/QmcqRi247VEHFBBC7auuZy3ypJkHcttsiNDpH5a8om11iH\"]},\"contracts/release/infrastructure/price-feeds/derivatives/feeds/utils/PeggedDerivativesPriceFeedBase.sol\":{\"keccak256\":\"0x1bfcfa32fd2ff255d3b371367e733bc5dd616f1e6244d272da7468067479702d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://0fa04e528bb5fb52d2bdbaa0532f1d0ea710d75622992156dc788dedbb8553df\",\"dweb:/ipfs/Qmdpw5aquGqFDD1tpUX6Ax7X4jx52WcoTjfoHVJozRSWpG\"]},\"contracts/release/infrastructure/price-feeds/derivatives/feeds/utils/SingleUnderlyingDerivativeRegistryMixin.sol\":{\"keccak256\":\"0xeb2aab819af80382ad562d5a80863484a42caa7888f811817eb283894a1852e7\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8846bfa874ede75fbcd3053d45a1647cad0aabbb26e4189998e8c517961c2bb6\",\"dweb:/ipfs/QmV4Bgx9VfX6kaoyZuaBDf2xyTY4ZmjniZTX8TrEmhU4Pv\"]},\"contracts/release/interfaces/IPoolTogetherV4PrizeDistributor.sol\":{\"keccak256\":\"0xbca9ae1b85ec6bb42ddd53e6bc12218f1faa6c0f70de74919f338c36e0fa03f3\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://4023b26e3de5a4093af97661012a989c9d77352613894e27c8b9c8e6956d4d90\",\"dweb:/ipfs/QmZx2PnDzo2uUyzdoPNiqGjhY8mfQaU6cmeAQuny22rHBe\"]},\"contracts/release/interfaces/IPoolTogetherV4PrizePool.sol\":{\"keccak256\":\"0xe00442f12e15284f31ad74eaed7935e66148ecb9fae0892b4b576a2240f97907\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c549969061895dd877d83911270d297426da351dd012d7f8dd1e2c779826b262\",\"dweb:/ipfs/QmSvHZQxLkxaQxowkTW5dVYXFLvntQkDt8FPX4JRGGpbPb\"]},\"contracts/release/interfaces/IPoolTogetherV4Ticket.sol\":{\"keccak256\":\"0xbd8df71f62357588fbcbd9181ea8be6dbace2d6776f7f5c8ef7a5aa64e0b9507\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c4979f047cf931662c24c78eaaa2ca0303bf8e375c4e195b8a4e94c2e1e106ef\",\"dweb:/ipfs/QmYkYYyqQfPSNYGDqedFJt9zyLpBtmCB58yepJ5b1RxDf7\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"contracts/release/utils/FundDeployerOwnerMixin.sol\":{\"keccak256\":\"0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927\",\"dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_integrationManager", "type": "address" }, { "internalType": "address", "name": "_poolTogetherV4PriceFeed", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "CLAIM_REWARDS_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "LEND_AND_STAKE_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "LEND_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "REDEEM_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "STAKE_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "TAKE_MULTIPLE_ORDERS_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "TAKE_ORDER_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "UNSTAKE_AND_REDEEM_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "UNSTAKE_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "bytes", "name": "_actionData", "type": "bytes" }, { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "claimRewards" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getIntegrationManager", "outputs": [ { "internalType": "address", "name": "integrationManager_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getPoolTogetherV4PriceFeed", "outputs": [ { "internalType": "address", "name": "poolTogetherV4PriceFeed_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "bytes", "name": "", "type": "bytes" }, { "internalType": "bytes", "name": "_encodedAssetTransferArgs", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "lend" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "bytes4", "name": "_selector", "type": "bytes4" }, { "internalType": "bytes", "name": "_actionData", "type": "bytes" } ], "stateMutability": "view", "type": "function", "name": "parseAssetsForAction", "outputs": [ { "internalType": "enum IIntegrationManager.SpendAssetsHandleType", "name": "spendAssetsHandleType_", "type": "uint8" }, { "internalType": "address[]", "name": "spendAssets_", "type": "address[]" }, { "internalType": "uint256[]", "name": "spendAssetAmounts_", "type": "uint256[]" }, { "internalType": "address[]", "name": "incomingAssets_", "type": "address[]" }, { "internalType": "uint256[]", "name": "minIncomingAssetAmounts_", "type": "uint256[]" } ] }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "bytes", "name": "", "type": "bytes" }, { "internalType": "bytes", "name": "_encodedAssetTransferArgs", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "redeem" } ], "devdoc": { "kind": "dev", "methods": { "claimRewards(address,bytes,bytes)": { "params": { "_actionData": "Data specific to this action", "_vaultProxy": "The VaultProxy of the calling fund" } }, "getIntegrationManager()": { "returns": { "integrationManager_": "The `INTEGRATION_MANAGER` variable value" } }, "getPoolTogetherV4PriceFeed()": { "returns": { "poolTogetherV4PriceFeed_": "The `POOL_TOGETHER_V4_PRICE_FEED` variable value" } }, "lend(address,bytes,bytes)": { "params": { "_encodedAssetTransferArgs": "Encoded args for expected assets to spend and receive", "_vaultProxy": "The VaultProxy of the calling fund" } }, "parseAssetsForAction(address,bytes4,bytes)": { "params": { "_actionData": "Data specific to this action", "_selector": "The function selector for the callOnIntegration" }, "returns": { "incomingAssets_": "The assets to receive in the call", "minIncomingAssetAmounts_": "The min asset amounts to receive in the call", "spendAssetAmounts_": "The max asset amounts to spend in the call", "spendAssetsHandleType_": "A type that dictates how to handle granting the adapter access to spend assets (`None` by default)", "spendAssets_": "The assets to spend in the call" } }, "redeem(address,bytes,bytes)": { "params": { "_encodedAssetTransferArgs": "Encoded args for expected assets to spend and receive", "_vaultProxy": "The VaultProxy of the calling fund" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "claimRewards(address,bytes,bytes)": { "notice": "Claims rewards from the Prize Distributor" }, "getIntegrationManager()": { "notice": "Gets the `INTEGRATION_MANAGER` variable" }, "getPoolTogetherV4PriceFeed()": { "notice": "Gets the `POOL_TOGETHER_V4_PRICE_FEED` variable" }, "lend(address,bytes,bytes)": { "notice": "Lends an amount of a token to PoolTogether" }, "parseAssetsForAction(address,bytes4,bytes)": { "notice": "Parses the expected assets in a particular action" }, "redeem(address,bytes,bytes)": { "notice": "Redeems an amount of ptTokens from PoolTogether" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/integration-manager/integrations/adapters/PoolTogetherV4Adapter.sol": "PoolTogetherV4Adapter" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/core/fund-deployer/IFundDeployer.sol": { "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", "urls": [ "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/IIntegrationManager.sol": { "keccak256": "0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef", "urls": [ "bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23", "dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol": { "keccak256": "0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1", "urls": [ "bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336", "dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/adapters/PoolTogetherV4Adapter.sol": { "keccak256": "0xba1bf88baf9440ed016befb14d2b7d8ce68711979d4b09ec76de9f5065bf4c69", "urls": [ "bzz-raw://080dd9666f3f1f161c6851da226f9851763a2520ea0fccd49bd7269d0542e471", "dweb:/ipfs/QmVWv2mSaGnjN2c8ukioBttbrY2F9Pj3aUuC4hTZoxdSN3" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol": { "keccak256": "0x067e49bf0d3c1655ab41a413c65ccf61d4e593308132e1ffc484a0fadfbbaf26", "urls": [ "bzz-raw://387f425017e18e89cc1893521101fa99df595314847d0b3d9a1162369f714fcf", "dweb:/ipfs/Qmco3jCvuWAyfCpBYpGzHrQjiFJG63w1RJKcakoTEbxRQm" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol": { "keccak256": "0xfd34c7ca8231c6935e25dede32ca2b3121738e624d0fc896f7b895a731edcf88", "urls": [ "bzz-raw://d492c061963d36d07718446db191d4c5a340c0d847f6cd209f027bd99f7cb176", "dweb:/ipfs/QmfCvRZt56ftDdrEh6LepHXFJ4fVtcfpQGvEyY8k4zxG1A" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/utils/actions/PoolTogetherV4ActionsMixin.sol": { "keccak256": "0x2c8f6dc9cef144a20b2bd732804d3db48e2e2be3b2cd7a0644f80c8b7d3a3455", "urls": [ "bzz-raw://8a5642511e557ee1745e3a88787cd8e3cb88f76a06c05a72626558332b92c13a", "dweb:/ipfs/Qmbr2aJsRsB4umCUuRHvr9ktTNeS66kmeGuGoQXkUqLyxd" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol": { "keccak256": "0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332", "urls": [ "bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e", "dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/price-feeds/derivatives/feeds/PoolTogetherV4PriceFeed.sol": { "keccak256": "0x0ae1d2f1f95eb40b5176e282fe7daf063ef4fbde9b7079c1e4d514d552f29b74", "urls": [ "bzz-raw://e272e70a71c828a31dff1f8dc6ef883825f4b11b9512c0505598109d0e7c58cf", "dweb:/ipfs/QmcqRi247VEHFBBC7auuZy3ypJkHcttsiNDpH5a8om11iH" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/price-feeds/derivatives/feeds/utils/PeggedDerivativesPriceFeedBase.sol": { "keccak256": "0x1bfcfa32fd2ff255d3b371367e733bc5dd616f1e6244d272da7468067479702d", "urls": [ "bzz-raw://0fa04e528bb5fb52d2bdbaa0532f1d0ea710d75622992156dc788dedbb8553df", "dweb:/ipfs/Qmdpw5aquGqFDD1tpUX6Ax7X4jx52WcoTjfoHVJozRSWpG" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/price-feeds/derivatives/feeds/utils/SingleUnderlyingDerivativeRegistryMixin.sol": { "keccak256": "0xeb2aab819af80382ad562d5a80863484a42caa7888f811817eb283894a1852e7", "urls": [ "bzz-raw://8846bfa874ede75fbcd3053d45a1647cad0aabbb26e4189998e8c517961c2bb6", "dweb:/ipfs/QmV4Bgx9VfX6kaoyZuaBDf2xyTY4ZmjniZTX8TrEmhU4Pv" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IPoolTogetherV4PrizeDistributor.sol": { "keccak256": "0xbca9ae1b85ec6bb42ddd53e6bc12218f1faa6c0f70de74919f338c36e0fa03f3", "urls": [ "bzz-raw://4023b26e3de5a4093af97661012a989c9d77352613894e27c8b9c8e6956d4d90", "dweb:/ipfs/QmZx2PnDzo2uUyzdoPNiqGjhY8mfQaU6cmeAQuny22rHBe" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IPoolTogetherV4PrizePool.sol": { "keccak256": "0xe00442f12e15284f31ad74eaed7935e66148ecb9fae0892b4b576a2240f97907", "urls": [ "bzz-raw://c549969061895dd877d83911270d297426da351dd012d7f8dd1e2c779826b262", "dweb:/ipfs/QmSvHZQxLkxaQxowkTW5dVYXFLvntQkDt8FPX4JRGGpbPb" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IPoolTogetherV4Ticket.sol": { "keccak256": "0xbd8df71f62357588fbcbd9181ea8be6dbace2d6776f7f5c8ef7a5aa64e0b9507", "urls": [ "bzz-raw://c4979f047cf931662c24c78eaaa2ca0303bf8e375c4e195b8a4e94c2e1e106ef", "dweb:/ipfs/QmYkYYyqQfPSNYGDqedFJt9zyLpBtmCB58yepJ5b1RxDf7" ], "license": "GPL-3.0" }, "contracts/release/utils/AssetHelpers.sol": { "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", "urls": [ "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" ], "license": "GPL-3.0" }, "contracts/release/utils/FundDeployerOwnerMixin.sol": { "keccak256": "0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934", "urls": [ "bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927", "dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", "urls": [ "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Address.sol": { "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", "urls": [ "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" } }, "version": 1 }, "id": 172 } diff --git a/eth_defi/abi/enzyme/PoolTogetherV4PriceFeed.json b/eth_defi/abi/enzyme/PoolTogetherV4PriceFeed.json index 23a26d76..f7525daf 100644 --- a/eth_defi/abi/enzyme/PoolTogetherV4PriceFeed.json +++ b/eth_defi/abi/enzyme/PoolTogetherV4PriceFeed.json @@ -1,591 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_fundDeployer", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "derivative", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "underlying", - "type": "address" - } - ], - "name": "DerivativeAdded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "derivative", - "type": "address" - } - ], - "name": "DerivativeRemoved", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_derivatives", - "type": "address[]" - }, - { - "internalType": "address[]", - "name": "_underlyings", - "type": "address[]" - } - ], - "name": "addDerivatives", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_derivative", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_derivativeAmount", - "type": "uint256" - } - ], - "name": "calcUnderlyingValues", - "outputs": [ - { - "internalType": "address[]", - "name": "underlyings_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "underlyingAmounts_", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getFundDeployer", - "outputs": [ - { - "internalType": "address", - "name": "fundDeployer_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "owner_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_derivative", - "type": "address" - } - ], - "name": "getUnderlyingForDerivative", - "outputs": [ - { - "internalType": "address", - "name": "underlying_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_asset", - "type": "address" - } - ], - "name": "isSupportedAsset", - "outputs": [ - { - "internalType": "bool", - "name": "isSupported_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_derivatives", - "type": "address[]" - } - ], - "name": "removeDerivatives", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x60a060405234801561001057600080fd5b50604051610e8f380380610e8f8339818101604052602081101561003357600080fd5b5051606081901b6001600160601b0319166080526001600160a01b0316610e2361006c600039806108095280610a4e5250610e236000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c8063893d20e81161005b578063893d20e8146102b25780638f72b136146102ba57806397c0ac871461035d5780639be918e6146103655761007d565b806339cbb63c1461008257806366adb867146101ab578063727212f6146101ed575b600080fd5b6101a96004803603604081101561009857600080fd5b8101906020810181356401000000008111156100b357600080fd5b8201836020820111156100c557600080fd5b803590602001918460208302840111640100000000831117156100e757600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929594936020810193503591505064010000000081111561013757600080fd5b82018360208201111561014957600080fd5b8035906020019184602083028401116401000000008311171561016b57600080fd5b91908080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525092955061039f945050505050565b005b6101d1600480360360208110156101c157600080fd5b50356001600160a01b031661070c565b604080516001600160a01b039092168252519081900360200190f35b6102196004803603604081101561020357600080fd5b506001600160a01b03813516906020013561072a565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b8381101561025d578181015183820152602001610245565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561029c578181015183820152602001610284565b5050505090500194505050505060405180910390f35b6101d1610805565b6101a9600480360360208110156102d057600080fd5b8101906020810181356401000000008111156102eb57600080fd5b8201836020820111156102fd57600080fd5b8035906020019184602083028401116401000000008311171561031f57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610891945050505050565b6101d1610a4c565b61038b6004803603602081101561037b57600080fd5b50356001600160a01b0316610a70565b604080519115158252519081900360200190f35b6103a7610805565b6001600160a01b0316336001600160a01b0316146103f65760405162461bcd60e51b8152600401808060200182810382526049815260200180610cfe6049913960600191505060405180910390fd5b60008251116104365760405162461bcd60e51b8152600401808060200182810382526022815260200180610d986022913960400191505060405180910390fd5b805182511461048c576040805162461bcd60e51b815260206004820152601e60248201527f61646444657269766174697665733a20556e657175616c206172726179730000604482015290519081900360640190fd5b60005b82518110156107075760006001600160a01b03168382815181106104af57fe5b60200260200101516001600160a01b03161415610513576040805162461bcd60e51b815260206004820181905260248201527f61646444657269766174697665733a20456d7074792064657269766174697665604482015290519081900360640190fd5b60006001600160a01b031682828151811061052a57fe5b60200260200101516001600160a01b0316141561058e576040805162461bcd60e51b815260206004820181905260248201527f61646444657269766174697665733a20456d70747920756e6465726c79696e67604482015290519081900360640190fd5b60006001600160a01b03166105b58483815181106105a857fe5b602002602001015161070c565b6001600160a01b0316146105fa5760405162461bcd60e51b8152600401808060200182810382526021815260200180610d476021913960400191505060405180910390fd5b61062a83828151811061060957fe5b602002602001015183838151811061061d57fe5b6020026020010151610a8d565b81818151811061063657fe5b602002602001015160008085848151811061064d57fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b031602179055508181815181106106a557fe5b60200260200101516001600160a01b03168382815181106106c257fe5b60200260200101516001600160a01b03167faa4ae250fb435bb4b31ed0b95822bc179fc6c5dd0c727c3ffe08d444025efd9860405160405180910390a360010161048f565b505050565b6001600160a01b039081166000908152602081905260409020541690565b60608060006107388561070c565b90506001600160a01b03811661077f5760405162461bcd60e51b8152600401808060200182810382526030815260200180610d686030913960400191505060405180910390fd5b604080516001808252818301909252906020808301908036833701905050925080836000815181106107ad57fe5b6001600160a01b039290921660209283029190910182015260408051600180825281830190925291828101908036833701905050915083826000815181106107f157fe5b602002602001018181525050509250929050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561086057600080fd5b505afa158015610874573d6000803e3d6000fd5b505050506040513d602081101561088a57600080fd5b5051905090565b610899610805565b6001600160a01b0316336001600160a01b0316146108e85760405162461bcd60e51b8152600401808060200182810382526049815260200180610cfe6049913960600191505060405180910390fd5b60008151116109285760405162461bcd60e51b8152600401808060200182810382526025815260200180610cd96025913960400191505060405180910390fd5b60005b8151811015610a485760006001600160a01b031661094e8383815181106105a857fe5b6001600160a01b031614156109aa576040805162461bcd60e51b815260206004820181905260248201527f72656d6f766544657269766174697665733a2056616c7565206e6f7420736574604482015290519081900360640190fd5b6000808383815181106109b957fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154906001600160a01b030219169055818181518110610a0357fe5b60200260200101516001600160a01b03167fc15eb25d807b570f4567baf6e97c7b26d58a7d0512dc85e8db15375a056b860460405160405180910390a260010161092b565b5050565b7f000000000000000000000000000000000000000000000000000000000000000090565b600080610a7c8361070c565b6001600160a01b0316141592915050565b610a978282610bc2565b6000826001600160a01b031663f77c47916040518163ffffffff1660e01b815260040160206040518083038186803b158015610ad257600080fd5b505afa158015610ae6573d6000803e3d6000fd5b505050506040513d6020811015610afc57600080fd5b5051604080516321df0da760e01b815290519192506000916001600160a01b038416916321df0da7916004808301926020929190829003018186803b158015610b4457600080fd5b505afa158015610b58573d6000803e3d6000fd5b505050506040513d6020811015610b6e57600080fd5b505190506001600160a01b0380821690841614610bbc5760405162461bcd60e51b8152600401808060200182810382526037815260200180610dba6037913960400191505060405180910390fd5b50505050565b806001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015610bfb57600080fd5b505afa158015610c0f573d6000803e3d6000fd5b505050506040513d6020811015610c2557600080fd5b50516040805163313ce56760e01b8152905160ff909216916001600160a01b0385169163313ce567916004808301926020929190829003018186803b158015610c6d57600080fd5b505afa158015610c81573d6000803e3d6000fd5b505050506040513d6020811015610c9757600080fd5b505160ff1614610a485760405162461bcd60e51b8152600401808060200182810382526026815260200180610df16026913960400191505060405180910390fdfe72656d6f766544657269766174697665733a20456d707479205f64657269766174697665736f6e6c7946756e644465706c6f7965724f776e65723a204f6e6c79207468652046756e644465706c6f796572206f776e65722063616e2063616c6c20746869732066756e6374696f6e61646444657269766174697665733a2056616c756520616c72656164792073657463616c63556e6465726c79696e6756616c7565733a204e6f74206120737570706f72746564206465726976617469766561646444657269766174697665733a20456d707479205f64657269766174697665735f5f76616c6964617465446572697661746976653a20496e76616c6964207074546f6b656e206f7220746f6b656e2070726f76696465645f5f76616c6964617465446572697661746976653a20556e657175616c20646563696d616c73a164736f6c634300060c000a", - "sourceMap": "606:633:245:-:0;;;679:90;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;679:90:245;864:29:358;;;;-1:-1:-1;;;;;;864:29:358;;;-1:-1:-1;;;;;606:633:245;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b506004361061007d5760003560e01c8063893d20e81161005b578063893d20e8146102b25780638f72b136146102ba57806397c0ac871461035d5780639be918e6146103655761007d565b806339cbb63c1461008257806366adb867146101ab578063727212f6146101ed575b600080fd5b6101a96004803603604081101561009857600080fd5b8101906020810181356401000000008111156100b357600080fd5b8201836020820111156100c557600080fd5b803590602001918460208302840111640100000000831117156100e757600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929594936020810193503591505064010000000081111561013757600080fd5b82018360208201111561014957600080fd5b8035906020019184602083028401116401000000008311171561016b57600080fd5b91908080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525092955061039f945050505050565b005b6101d1600480360360208110156101c157600080fd5b50356001600160a01b031661070c565b604080516001600160a01b039092168252519081900360200190f35b6102196004803603604081101561020357600080fd5b506001600160a01b03813516906020013561072a565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b8381101561025d578181015183820152602001610245565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561029c578181015183820152602001610284565b5050505090500194505050505060405180910390f35b6101d1610805565b6101a9600480360360208110156102d057600080fd5b8101906020810181356401000000008111156102eb57600080fd5b8201836020820111156102fd57600080fd5b8035906020019184602083028401116401000000008311171561031f57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610891945050505050565b6101d1610a4c565b61038b6004803603602081101561037b57600080fd5b50356001600160a01b0316610a70565b604080519115158252519081900360200190f35b6103a7610805565b6001600160a01b0316336001600160a01b0316146103f65760405162461bcd60e51b8152600401808060200182810382526049815260200180610cfe6049913960600191505060405180910390fd5b60008251116104365760405162461bcd60e51b8152600401808060200182810382526022815260200180610d986022913960400191505060405180910390fd5b805182511461048c576040805162461bcd60e51b815260206004820152601e60248201527f61646444657269766174697665733a20556e657175616c206172726179730000604482015290519081900360640190fd5b60005b82518110156107075760006001600160a01b03168382815181106104af57fe5b60200260200101516001600160a01b03161415610513576040805162461bcd60e51b815260206004820181905260248201527f61646444657269766174697665733a20456d7074792064657269766174697665604482015290519081900360640190fd5b60006001600160a01b031682828151811061052a57fe5b60200260200101516001600160a01b0316141561058e576040805162461bcd60e51b815260206004820181905260248201527f61646444657269766174697665733a20456d70747920756e6465726c79696e67604482015290519081900360640190fd5b60006001600160a01b03166105b58483815181106105a857fe5b602002602001015161070c565b6001600160a01b0316146105fa5760405162461bcd60e51b8152600401808060200182810382526021815260200180610d476021913960400191505060405180910390fd5b61062a83828151811061060957fe5b602002602001015183838151811061061d57fe5b6020026020010151610a8d565b81818151811061063657fe5b602002602001015160008085848151811061064d57fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b031602179055508181815181106106a557fe5b60200260200101516001600160a01b03168382815181106106c257fe5b60200260200101516001600160a01b03167faa4ae250fb435bb4b31ed0b95822bc179fc6c5dd0c727c3ffe08d444025efd9860405160405180910390a360010161048f565b505050565b6001600160a01b039081166000908152602081905260409020541690565b60608060006107388561070c565b90506001600160a01b03811661077f5760405162461bcd60e51b8152600401808060200182810382526030815260200180610d686030913960400191505060405180910390fd5b604080516001808252818301909252906020808301908036833701905050925080836000815181106107ad57fe5b6001600160a01b039290921660209283029190910182015260408051600180825281830190925291828101908036833701905050915083826000815181106107f157fe5b602002602001018181525050509250929050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561086057600080fd5b505afa158015610874573d6000803e3d6000fd5b505050506040513d602081101561088a57600080fd5b5051905090565b610899610805565b6001600160a01b0316336001600160a01b0316146108e85760405162461bcd60e51b8152600401808060200182810382526049815260200180610cfe6049913960600191505060405180910390fd5b60008151116109285760405162461bcd60e51b8152600401808060200182810382526025815260200180610cd96025913960400191505060405180910390fd5b60005b8151811015610a485760006001600160a01b031661094e8383815181106105a857fe5b6001600160a01b031614156109aa576040805162461bcd60e51b815260206004820181905260248201527f72656d6f766544657269766174697665733a2056616c7565206e6f7420736574604482015290519081900360640190fd5b6000808383815181106109b957fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154906001600160a01b030219169055818181518110610a0357fe5b60200260200101516001600160a01b03167fc15eb25d807b570f4567baf6e97c7b26d58a7d0512dc85e8db15375a056b860460405160405180910390a260010161092b565b5050565b7f000000000000000000000000000000000000000000000000000000000000000090565b600080610a7c8361070c565b6001600160a01b0316141592915050565b610a978282610bc2565b6000826001600160a01b031663f77c47916040518163ffffffff1660e01b815260040160206040518083038186803b158015610ad257600080fd5b505afa158015610ae6573d6000803e3d6000fd5b505050506040513d6020811015610afc57600080fd5b5051604080516321df0da760e01b815290519192506000916001600160a01b038416916321df0da7916004808301926020929190829003018186803b158015610b4457600080fd5b505afa158015610b58573d6000803e3d6000fd5b505050506040513d6020811015610b6e57600080fd5b505190506001600160a01b0380821690841614610bbc5760405162461bcd60e51b8152600401808060200182810382526037815260200180610dba6037913960400191505060405180910390fd5b50505050565b806001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015610bfb57600080fd5b505afa158015610c0f573d6000803e3d6000fd5b505050506040513d6020811015610c2557600080fd5b50516040805163313ce56760e01b8152905160ff909216916001600160a01b0385169163313ce567916004808301926020929190829003018186803b158015610c6d57600080fd5b505afa158015610c81573d6000803e3d6000fd5b505050506040513d6020811015610c9757600080fd5b505160ff1614610a485760405162461bcd60e51b8152600401808060200182810382526026815260200180610df16026913960400191505060405180910390fdfe72656d6f766544657269766174697665733a20456d707479205f64657269766174697665736f6e6c7946756e644465706c6f7965724f776e65723a204f6e6c79207468652046756e644465706c6f796572206f776e65722063616e2063616c6c20746869732066756e6374696f6e61646444657269766174697665733a2056616c756520616c72656164792073657463616c63556e6465726c79696e6756616c7565733a204e6f74206120737570706f72746564206465726976617469766561646444657269766174697665733a20456d707479205f64657269766174697665735f5f76616c6964617465446572697661746976653a20496e76616c6964207074546f6b656e206f7220746f6b656e2070726f76696465645f5f76616c6964617465446572697661746976653a20556e657175616c20646563696d616c73a164736f6c634300060c000a", - "sourceMap": "606:633:245:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1158:951:252;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1158:951:252;;;;;;;;-1:-1:-1;1158:951:252;;-1:-1:-1;;1158:951:252;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1158:951:252;;-1:-1:-1;1158:951:252;;-1:-1:-1;;;;;1158:951:252:i;:::-;;3223:186;;;;;;;;;;;;;;;;-1:-1:-1;3223:186:252;-1:-1:-1;;;;;3223:186:252;;:::i;:::-;;;;-1:-1:-1;;;;;3223:186:252;;;;;;;;;;;;;;1329:604:250;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1329:604:250;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1064:120:358;;;:::i;2225:523:252:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2225:523:252;;-1:-1:-1;2225:523:252;;-1:-1:-1;;;;;2225:523:252:i;1378:108:358:-;;;:::i;2106:165:250:-;;;;;;;;;;;;;;;;-1:-1:-1;2106:165:250;-1:-1:-1;;;;;2106:165:250;;:::i;:::-;;;;;;;;;;;;;;;;;;1158:951:252;679:10:358;:8;:10::i;:::-;-1:-1:-1;;;;;665:24:358;:10;-1:-1:-1;;;;;665:24:358;;644:144;;;;-1:-1:-1;;;644:144:358;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1351:1:252::1;1329:12;:19;:23;1321:70;;;;-1:-1:-1::0;;;1321:70:252::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1432:12;:19;1409:12;:19;:42;1401:85;;;::::0;;-1:-1:-1;;;1401:85:252;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;1502:9;1497:606;1517:12;:19;1513:1;:23;1497:606;;;1592:1;-1:-1:-1::0;;;;;1565:29:252::1;:12;1578:1;1565:15;;;;;;;;;;;;;;-1:-1:-1::0;;;;;1565:29:252::1;;;1557:74;;;::::0;;-1:-1:-1;;;1557:74:252;;::::1;;::::0;::::1;::::0;;;;;;;::::1;::::0;;;;;;;;;;;;;::::1;;1680:1;-1:-1:-1::0;;;;;1653:29:252::1;:12;1666:1;1653:15;;;;;;;;;;;;;;-1:-1:-1::0;;;;;1653:29:252::1;;;1645:74;;;::::0;;-1:-1:-1;;;1645:74:252;;::::1;;::::0;::::1;::::0;;;;;;;::::1;::::0;;;;;;;;;;;;;::::1;;1813:1;-1:-1:-1::0;;;;;1758:57:252::1;:43;1785:12;1798:1;1785:15;;;;;;;;;;;;;;1758:26;:43::i;:::-;-1:-1:-1::0;;;;;1758:57:252::1;;1733:149;;;;-1:-1:-1::0;;;1733:149:252::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1897:54;1918:12;1931:1;1918:15;;;;;;;;;;;;;;1935:12;1948:1;1935:15;;;;;;;;;;;;;;1897:20;:54::i;:::-;2008:12;2021:1;2008:15;;;;;;;;;;;;;;1966:22;:39:::0;1989:12:::1;2002:1;1989:15;;;;;;;;;;;;;;-1:-1:-1::0;;;;;1966:39:252::1;-1:-1:-1::0;;;;;1966:39:252::1;;;;;;;;;;;;;:57;;;;;-1:-1:-1::0;;;;;1966:57:252::1;;;;;-1:-1:-1::0;;;;;1966:57:252::1;;;;;;2076:12;2089:1;2076:15;;;;;;;;;;;;;;-1:-1:-1::0;;;;;2043:49:252::1;2059:12;2072:1;2059:15;;;;;;;;;;;;;;-1:-1:-1::0;;;;;2043:49:252::1;;;;;;;;;;;1538:3;;1497:606;;;;1158:951:::0;;:::o;3223:186::-;-1:-1:-1;;;;;3367:35:252;;;3325:19;3367:35;;;;;;;;;;;;;3223:186::o;1329:604:250:-;1458:29;1489:35;1540:18;1561:39;1588:11;1561:26;:39::i;:::-;1540:60;-1:-1:-1;;;;;;1618:24:250;;1610:85;;;;-1:-1:-1;;;1610:85:250;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1721:16;;;1735:1;1721:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1721:16:250;1706:31;;1765:10;1747:12;1760:1;1747:15;;;;;;;;-1:-1:-1;;;;;1747:28:250;;;;:15;;;;;;;;;;:28;1807:16;;;1821:1;1807:16;;;;;;;;;;;;;;1747:15;1807:16;;;;;-1:-1:-1;1807:16:250;1786:37;;1857:17;1833:18;1852:1;1833:21;;;;;;;;;;;;;:41;;;;;1885;1329:604;;;;;:::o;1064:120:358:-;1105:14;1152:13;-1:-1:-1;;;;;1138:37:358;;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1138:39:358;;-1:-1:-1;1064:120:358;:::o;2225:523:252:-;679:10:358;:8;:10::i;:::-;-1:-1:-1;;;;;665:24:358;:10;-1:-1:-1;;;;;665:24:358;;644:144;;;;-1:-1:-1;;;644:144:358;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2354:1:252::1;2332:12;:19;:23;2324:73;;;;-1:-1:-1::0;;;2324:73:252::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2413:9;2408:334;2428:12;:19;2424:1;:23;2408:334;;;2548:1;-1:-1:-1::0;;;;;2493:57:252::1;:43;2520:12;2533:1;2520:15;;;;;;;2493:43;-1:-1:-1::0;;;;;2493:57:252::1;;;2468:148;;;::::0;;-1:-1:-1;;;2468:148:252;;::::1;;::::0;::::1;::::0;;;;;;;::::1;::::0;;;;;;;;;;;;;::::1;;2638:22;:39:::0;2661:12:::1;2674:1;2661:15;;;;;;;;;;;;;;-1:-1:-1::0;;;;;2638:39:252::1;-1:-1:-1::0;;;;;2638:39:252::1;;;;;;;;;;;;;2631:46;;;;;-1:-1:-1::0;;;;;2631:46:252::1;;;;;2715:12;2728:1;2715:15;;;;;;;;;;;;;;-1:-1:-1::0;;;;;2697:34:252::1;;;;;;;;;;;2449:3;;2408:334;;;;2225:523:::0;:::o;1378:108:358:-;1466:13;1378:108;:::o;2106:165:250:-;2180:17;;2216:34;2243:6;2216:26;:34::i;:::-;-1:-1:-1;;;;;2216:48:250;;;;2106:165;-1:-1:-1;;2106:165:250:o;775:462:245:-;875:52;902:11;915;875:26;:52::i;:::-;938:18;981:11;-1:-1:-1;;;;;959:45:245;;:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;959:47:245;1041;;;-1:-1:-1;;;1041:47:245;;;;959;;-1:-1:-1;1016:22:245;;-1:-1:-1;;;;;1041:45:245;;;;;:47;;;;;959;;1041;;;;;;;:45;:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1041:47:245;;-1:-1:-1;;;;;;1120:29:245;;;;;;;1099:131;;;;-1:-1:-1;;;1099:131:245;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;775:462;;;;:::o;2469:290:250:-;2665:11;-1:-1:-1;;;;;2659:27:250;;:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2659:29:250;2626;;;-1:-1:-1;;;2626:29:250;;;;:62;;;;;-1:-1:-1;;;;;2626:27:250;;;;;:29;;;;;2659;;2626;;;;;;;:27;:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2626:29:250;:62;;;2605:147;;;;-1:-1:-1;;;2605:147:250;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;", - "linkReferences": {}, - "immutableReferences": { - "78707": [ - { - "start": 2057, - "length": 32 - }, - { - "start": 2638, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "addDerivatives(address[],address[])": "39cbb63c", - "calcUnderlyingValues(address,uint256)": "727212f6", - "getFundDeployer()": "97c0ac87", - "getOwner()": "893d20e8", - "getUnderlyingForDerivative(address)": "66adb867", - "isSupportedAsset(address)": "9be918e6", - "removeDerivatives(address[])": "8f72b136" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_fundDeployer\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"derivative\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"underlying\",\"type\":\"address\"}],\"name\":\"DerivativeAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"derivative\",\"type\":\"address\"}],\"name\":\"DerivativeRemoved\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_derivatives\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"_underlyings\",\"type\":\"address[]\"}],\"name\":\"addDerivatives\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_derivative\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_derivativeAmount\",\"type\":\"uint256\"}],\"name\":\"calcUnderlyingValues\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"underlyings_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"underlyingAmounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFundDeployer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"fundDeployer_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_derivative\",\"type\":\"address\"}],\"name\":\"getUnderlyingForDerivative\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"underlying_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"}],\"name\":\"isSupportedAsset\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isSupported_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_derivatives\",\"type\":\"address[]\"}],\"name\":\"removeDerivatives\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"addDerivatives(address[],address[])\":{\"params\":{\"_derivatives\":\"The derivatives to add\",\"_underlyings\":\"The corresponding underlyings to add\"}},\"calcUnderlyingValues(address,uint256)\":{\"params\":{\"_derivative\":\"The derivative to convert\",\"_derivativeAmount\":\"The amount of the derivative to convert\"},\"returns\":{\"underlyingAmounts_\":\"The amount of each underlying asset for the equivalent derivative amount\",\"underlyings_\":\"The underlying assets for the _derivative\"}},\"getFundDeployer()\":{\"returns\":{\"fundDeployer_\":\"The `FUND_DEPLOYER` variable value\"}},\"getOwner()\":{\"details\":\"Ownership is deferred to the owner of the FundDeployer contract\",\"returns\":{\"owner_\":\"The owner\"}},\"getUnderlyingForDerivative(address)\":{\"params\":{\"_derivative\":\"The derivative for which to get the underlying asset\"},\"returns\":{\"underlying_\":\"The underlying asset\"}},\"isSupportedAsset(address)\":{\"params\":{\"_asset\":\"The asset to check\"},\"returns\":{\"isSupported_\":\"True if the asset is supported\"}},\"removeDerivatives(address[])\":{\"params\":{\"_derivatives\":\"The derivatives to remove\"}}},\"title\":\"PoolTogetherV4PriceFeed Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"addDerivatives(address[],address[])\":{\"notice\":\"Adds derivatives with corresponding underlyings to the price feed\"},\"calcUnderlyingValues(address,uint256)\":{\"notice\":\"Converts a given amount of a derivative to its underlying asset values\"},\"getFundDeployer()\":{\"notice\":\"Gets the `FUND_DEPLOYER` variable\"},\"getOwner()\":{\"notice\":\"Gets the owner of this contract\"},\"getUnderlyingForDerivative(address)\":{\"notice\":\"Gets the underlying asset for a given derivative\"},\"isSupportedAsset(address)\":{\"notice\":\"Checks if an asset is supported by the price feed\"},\"removeDerivatives(address[])\":{\"notice\":\"Removes derivatives from the price feed\"}},\"notice\":\"Price source oracle for PoolTogether (v4)\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/infrastructure/price-feeds/derivatives/feeds/PoolTogetherV4PriceFeed.sol\":\"PoolTogetherV4PriceFeed\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol\":{\"keccak256\":\"0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e\",\"dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK\"]},\"contracts/release/infrastructure/price-feeds/derivatives/feeds/PoolTogetherV4PriceFeed.sol\":{\"keccak256\":\"0x0ae1d2f1f95eb40b5176e282fe7daf063ef4fbde9b7079c1e4d514d552f29b74\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://e272e70a71c828a31dff1f8dc6ef883825f4b11b9512c0505598109d0e7c58cf\",\"dweb:/ipfs/QmcqRi247VEHFBBC7auuZy3ypJkHcttsiNDpH5a8om11iH\"]},\"contracts/release/infrastructure/price-feeds/derivatives/feeds/utils/PeggedDerivativesPriceFeedBase.sol\":{\"keccak256\":\"0x1bfcfa32fd2ff255d3b371367e733bc5dd616f1e6244d272da7468067479702d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://0fa04e528bb5fb52d2bdbaa0532f1d0ea710d75622992156dc788dedbb8553df\",\"dweb:/ipfs/Qmdpw5aquGqFDD1tpUX6Ax7X4jx52WcoTjfoHVJozRSWpG\"]},\"contracts/release/infrastructure/price-feeds/derivatives/feeds/utils/SingleUnderlyingDerivativeRegistryMixin.sol\":{\"keccak256\":\"0xeb2aab819af80382ad562d5a80863484a42caa7888f811817eb283894a1852e7\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8846bfa874ede75fbcd3053d45a1647cad0aabbb26e4189998e8c517961c2bb6\",\"dweb:/ipfs/QmV4Bgx9VfX6kaoyZuaBDf2xyTY4ZmjniZTX8TrEmhU4Pv\"]},\"contracts/release/interfaces/IPoolTogetherV4PrizePool.sol\":{\"keccak256\":\"0xe00442f12e15284f31ad74eaed7935e66148ecb9fae0892b4b576a2240f97907\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c549969061895dd877d83911270d297426da351dd012d7f8dd1e2c779826b262\",\"dweb:/ipfs/QmSvHZQxLkxaQxowkTW5dVYXFLvntQkDt8FPX4JRGGpbPb\"]},\"contracts/release/interfaces/IPoolTogetherV4Ticket.sol\":{\"keccak256\":\"0xbd8df71f62357588fbcbd9181ea8be6dbace2d6776f7f5c8ef7a5aa64e0b9507\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c4979f047cf931662c24c78eaaa2ca0303bf8e375c4e195b8a4e94c2e1e106ef\",\"dweb:/ipfs/QmYkYYyqQfPSNYGDqedFJt9zyLpBtmCB58yepJ5b1RxDf7\"]},\"contracts/release/utils/FundDeployerOwnerMixin.sol\":{\"keccak256\":\"0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927\",\"dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_fundDeployer", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "derivative", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "underlying", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "DerivativeAdded", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "derivative", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "DerivativeRemoved", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_derivatives", - "type": "address[]" - }, - { - "internalType": "address[]", - "name": "_underlyings", - "type": "address[]" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "addDerivatives" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_derivative", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_derivativeAmount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "calcUnderlyingValues", - "outputs": [ - { - "internalType": "address[]", - "name": "underlyings_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "underlyingAmounts_", - "type": "uint256[]" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getFundDeployer", - "outputs": [ - { - "internalType": "address", - "name": "fundDeployer_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "owner_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_derivative", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getUnderlyingForDerivative", - "outputs": [ - { - "internalType": "address", - "name": "underlying_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_asset", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "isSupportedAsset", - "outputs": [ - { - "internalType": "bool", - "name": "isSupported_", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_derivatives", - "type": "address[]" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "removeDerivatives" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "addDerivatives(address[],address[])": { - "params": { - "_derivatives": "The derivatives to add", - "_underlyings": "The corresponding underlyings to add" - } - }, - "calcUnderlyingValues(address,uint256)": { - "params": { - "_derivative": "The derivative to convert", - "_derivativeAmount": "The amount of the derivative to convert" - }, - "returns": { - "underlyingAmounts_": "The amount of each underlying asset for the equivalent derivative amount", - "underlyings_": "The underlying assets for the _derivative" - } - }, - "getFundDeployer()": { - "returns": { - "fundDeployer_": "The `FUND_DEPLOYER` variable value" - } - }, - "getOwner()": { - "details": "Ownership is deferred to the owner of the FundDeployer contract", - "returns": { - "owner_": "The owner" - } - }, - "getUnderlyingForDerivative(address)": { - "params": { - "_derivative": "The derivative for which to get the underlying asset" - }, - "returns": { - "underlying_": "The underlying asset" - } - }, - "isSupportedAsset(address)": { - "params": { - "_asset": "The asset to check" - }, - "returns": { - "isSupported_": "True if the asset is supported" - } - }, - "removeDerivatives(address[])": { - "params": { - "_derivatives": "The derivatives to remove" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "addDerivatives(address[],address[])": { - "notice": "Adds derivatives with corresponding underlyings to the price feed" - }, - "calcUnderlyingValues(address,uint256)": { - "notice": "Converts a given amount of a derivative to its underlying asset values" - }, - "getFundDeployer()": { - "notice": "Gets the `FUND_DEPLOYER` variable" - }, - "getOwner()": { - "notice": "Gets the owner of this contract" - }, - "getUnderlyingForDerivative(address)": { - "notice": "Gets the underlying asset for a given derivative" - }, - "isSupportedAsset(address)": { - "notice": "Checks if an asset is supported by the price feed" - }, - "removeDerivatives(address[])": { - "notice": "Removes derivatives from the price feed" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/infrastructure/price-feeds/derivatives/feeds/PoolTogetherV4PriceFeed.sol": "PoolTogetherV4PriceFeed" - }, - "libraries": {} - }, - "sources": { - "contracts/release/core/fund-deployer/IFundDeployer.sol": { - "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", - "urls": [ - "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", - "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol": { - "keccak256": "0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332", - "urls": [ - "bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e", - "dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/price-feeds/derivatives/feeds/PoolTogetherV4PriceFeed.sol": { - "keccak256": "0x0ae1d2f1f95eb40b5176e282fe7daf063ef4fbde9b7079c1e4d514d552f29b74", - "urls": [ - "bzz-raw://e272e70a71c828a31dff1f8dc6ef883825f4b11b9512c0505598109d0e7c58cf", - "dweb:/ipfs/QmcqRi247VEHFBBC7auuZy3ypJkHcttsiNDpH5a8om11iH" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/price-feeds/derivatives/feeds/utils/PeggedDerivativesPriceFeedBase.sol": { - "keccak256": "0x1bfcfa32fd2ff255d3b371367e733bc5dd616f1e6244d272da7468067479702d", - "urls": [ - "bzz-raw://0fa04e528bb5fb52d2bdbaa0532f1d0ea710d75622992156dc788dedbb8553df", - "dweb:/ipfs/Qmdpw5aquGqFDD1tpUX6Ax7X4jx52WcoTjfoHVJozRSWpG" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/price-feeds/derivatives/feeds/utils/SingleUnderlyingDerivativeRegistryMixin.sol": { - "keccak256": "0xeb2aab819af80382ad562d5a80863484a42caa7888f811817eb283894a1852e7", - "urls": [ - "bzz-raw://8846bfa874ede75fbcd3053d45a1647cad0aabbb26e4189998e8c517961c2bb6", - "dweb:/ipfs/QmV4Bgx9VfX6kaoyZuaBDf2xyTY4ZmjniZTX8TrEmhU4Pv" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IPoolTogetherV4PrizePool.sol": { - "keccak256": "0xe00442f12e15284f31ad74eaed7935e66148ecb9fae0892b4b576a2240f97907", - "urls": [ - "bzz-raw://c549969061895dd877d83911270d297426da351dd012d7f8dd1e2c779826b262", - "dweb:/ipfs/QmSvHZQxLkxaQxowkTW5dVYXFLvntQkDt8FPX4JRGGpbPb" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IPoolTogetherV4Ticket.sol": { - "keccak256": "0xbd8df71f62357588fbcbd9181ea8be6dbace2d6776f7f5c8ef7a5aa64e0b9507", - "urls": [ - "bzz-raw://c4979f047cf931662c24c78eaaa2ca0303bf8e375c4e195b8a4e94c2e1e106ef", - "dweb:/ipfs/QmYkYYyqQfPSNYGDqedFJt9zyLpBtmCB58yepJ5b1RxDf7" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/FundDeployerOwnerMixin.sol": { - "keccak256": "0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934", - "urls": [ - "bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927", - "dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 245 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_fundDeployer", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "addDerivatives", "inputs": [ { "name": "_derivatives", "type": "address[]", "internalType": "address[]" }, { "name": "_underlyings", "type": "address[]", "internalType": "address[]" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "calcUnderlyingValues", "inputs": [ { "name": "_derivative", "type": "address", "internalType": "address" }, { "name": "_derivativeAmount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "underlyings_", "type": "address[]", "internalType": "address[]" }, { "name": "underlyingAmounts_", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "getFundDeployer", "inputs": [], "outputs": [ { "name": "fundDeployer_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getOwner", "inputs": [], "outputs": [ { "name": "owner_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getUnderlyingForDerivative", "inputs": [ { "name": "_derivative", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "underlying_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "isSupportedAsset", "inputs": [ { "name": "_asset", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "isSupported_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "removeDerivatives", "inputs": [ { "name": "_derivatives", "type": "address[]", "internalType": "address[]" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "event", "name": "DerivativeAdded", "inputs": [ { "name": "derivative", "type": "address", "indexed": true, "internalType": "address" }, { "name": "underlying", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "DerivativeRemoved", "inputs": [ { "name": "derivative", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false } ], "bytecode": { "object": "0x60a060405234801561001057600080fd5b50604051610e8f380380610e8f8339818101604052602081101561003357600080fd5b5051606081901b6001600160601b0319166080526001600160a01b0316610e2361006c600039806108095280610a4e5250610e236000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c8063893d20e81161005b578063893d20e8146102b25780638f72b136146102ba57806397c0ac871461035d5780639be918e6146103655761007d565b806339cbb63c1461008257806366adb867146101ab578063727212f6146101ed575b600080fd5b6101a96004803603604081101561009857600080fd5b8101906020810181356401000000008111156100b357600080fd5b8201836020820111156100c557600080fd5b803590602001918460208302840111640100000000831117156100e757600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929594936020810193503591505064010000000081111561013757600080fd5b82018360208201111561014957600080fd5b8035906020019184602083028401116401000000008311171561016b57600080fd5b91908080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525092955061039f945050505050565b005b6101d1600480360360208110156101c157600080fd5b50356001600160a01b031661070c565b604080516001600160a01b039092168252519081900360200190f35b6102196004803603604081101561020357600080fd5b506001600160a01b03813516906020013561072a565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b8381101561025d578181015183820152602001610245565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561029c578181015183820152602001610284565b5050505090500194505050505060405180910390f35b6101d1610805565b6101a9600480360360208110156102d057600080fd5b8101906020810181356401000000008111156102eb57600080fd5b8201836020820111156102fd57600080fd5b8035906020019184602083028401116401000000008311171561031f57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610891945050505050565b6101d1610a4c565b61038b6004803603602081101561037b57600080fd5b50356001600160a01b0316610a70565b604080519115158252519081900360200190f35b6103a7610805565b6001600160a01b0316336001600160a01b0316146103f65760405162461bcd60e51b8152600401808060200182810382526049815260200180610cfe6049913960600191505060405180910390fd5b60008251116104365760405162461bcd60e51b8152600401808060200182810382526022815260200180610d986022913960400191505060405180910390fd5b805182511461048c576040805162461bcd60e51b815260206004820152601e60248201527f61646444657269766174697665733a20556e657175616c206172726179730000604482015290519081900360640190fd5b60005b82518110156107075760006001600160a01b03168382815181106104af57fe5b60200260200101516001600160a01b03161415610513576040805162461bcd60e51b815260206004820181905260248201527f61646444657269766174697665733a20456d7074792064657269766174697665604482015290519081900360640190fd5b60006001600160a01b031682828151811061052a57fe5b60200260200101516001600160a01b0316141561058e576040805162461bcd60e51b815260206004820181905260248201527f61646444657269766174697665733a20456d70747920756e6465726c79696e67604482015290519081900360640190fd5b60006001600160a01b03166105b58483815181106105a857fe5b602002602001015161070c565b6001600160a01b0316146105fa5760405162461bcd60e51b8152600401808060200182810382526021815260200180610d476021913960400191505060405180910390fd5b61062a83828151811061060957fe5b602002602001015183838151811061061d57fe5b6020026020010151610a8d565b81818151811061063657fe5b602002602001015160008085848151811061064d57fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b031602179055508181815181106106a557fe5b60200260200101516001600160a01b03168382815181106106c257fe5b60200260200101516001600160a01b03167faa4ae250fb435bb4b31ed0b95822bc179fc6c5dd0c727c3ffe08d444025efd9860405160405180910390a360010161048f565b505050565b6001600160a01b039081166000908152602081905260409020541690565b60608060006107388561070c565b90506001600160a01b03811661077f5760405162461bcd60e51b8152600401808060200182810382526030815260200180610d686030913960400191505060405180910390fd5b604080516001808252818301909252906020808301908036833701905050925080836000815181106107ad57fe5b6001600160a01b039290921660209283029190910182015260408051600180825281830190925291828101908036833701905050915083826000815181106107f157fe5b602002602001018181525050509250929050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561086057600080fd5b505afa158015610874573d6000803e3d6000fd5b505050506040513d602081101561088a57600080fd5b5051905090565b610899610805565b6001600160a01b0316336001600160a01b0316146108e85760405162461bcd60e51b8152600401808060200182810382526049815260200180610cfe6049913960600191505060405180910390fd5b60008151116109285760405162461bcd60e51b8152600401808060200182810382526025815260200180610cd96025913960400191505060405180910390fd5b60005b8151811015610a485760006001600160a01b031661094e8383815181106105a857fe5b6001600160a01b031614156109aa576040805162461bcd60e51b815260206004820181905260248201527f72656d6f766544657269766174697665733a2056616c7565206e6f7420736574604482015290519081900360640190fd5b6000808383815181106109b957fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154906001600160a01b030219169055818181518110610a0357fe5b60200260200101516001600160a01b03167fc15eb25d807b570f4567baf6e97c7b26d58a7d0512dc85e8db15375a056b860460405160405180910390a260010161092b565b5050565b7f000000000000000000000000000000000000000000000000000000000000000090565b600080610a7c8361070c565b6001600160a01b0316141592915050565b610a978282610bc2565b6000826001600160a01b031663f77c47916040518163ffffffff1660e01b815260040160206040518083038186803b158015610ad257600080fd5b505afa158015610ae6573d6000803e3d6000fd5b505050506040513d6020811015610afc57600080fd5b5051604080516321df0da760e01b815290519192506000916001600160a01b038416916321df0da7916004808301926020929190829003018186803b158015610b4457600080fd5b505afa158015610b58573d6000803e3d6000fd5b505050506040513d6020811015610b6e57600080fd5b505190506001600160a01b0380821690841614610bbc5760405162461bcd60e51b8152600401808060200182810382526037815260200180610dba6037913960400191505060405180910390fd5b50505050565b806001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015610bfb57600080fd5b505afa158015610c0f573d6000803e3d6000fd5b505050506040513d6020811015610c2557600080fd5b50516040805163313ce56760e01b8152905160ff909216916001600160a01b0385169163313ce567916004808301926020929190829003018186803b158015610c6d57600080fd5b505afa158015610c81573d6000803e3d6000fd5b505050506040513d6020811015610c9757600080fd5b505160ff1614610a485760405162461bcd60e51b8152600401808060200182810382526026815260200180610df16026913960400191505060405180910390fdfe72656d6f766544657269766174697665733a20456d707479205f64657269766174697665736f6e6c7946756e644465706c6f7965724f776e65723a204f6e6c79207468652046756e644465706c6f796572206f776e65722063616e2063616c6c20746869732066756e6374696f6e61646444657269766174697665733a2056616c756520616c72656164792073657463616c63556e6465726c79696e6756616c7565733a204e6f74206120737570706f72746564206465726976617469766561646444657269766174697665733a20456d707479205f64657269766174697665735f5f76616c6964617465446572697661746976653a20496e76616c6964207074546f6b656e206f7220746f6b656e2070726f76696465645f5f76616c6964617465446572697661746976653a20556e657175616c20646563696d616c73a164736f6c634300060c000a", "sourceMap": "606:633:245:-:0;;;679:90;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;679:90:245;864:29:358;;;;-1:-1:-1;;;;;;864:29:358;;;-1:-1:-1;;;;;606:633:245;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b506004361061007d5760003560e01c8063893d20e81161005b578063893d20e8146102b25780638f72b136146102ba57806397c0ac871461035d5780639be918e6146103655761007d565b806339cbb63c1461008257806366adb867146101ab578063727212f6146101ed575b600080fd5b6101a96004803603604081101561009857600080fd5b8101906020810181356401000000008111156100b357600080fd5b8201836020820111156100c557600080fd5b803590602001918460208302840111640100000000831117156100e757600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929594936020810193503591505064010000000081111561013757600080fd5b82018360208201111561014957600080fd5b8035906020019184602083028401116401000000008311171561016b57600080fd5b91908080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525092955061039f945050505050565b005b6101d1600480360360208110156101c157600080fd5b50356001600160a01b031661070c565b604080516001600160a01b039092168252519081900360200190f35b6102196004803603604081101561020357600080fd5b506001600160a01b03813516906020013561072a565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b8381101561025d578181015183820152602001610245565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561029c578181015183820152602001610284565b5050505090500194505050505060405180910390f35b6101d1610805565b6101a9600480360360208110156102d057600080fd5b8101906020810181356401000000008111156102eb57600080fd5b8201836020820111156102fd57600080fd5b8035906020019184602083028401116401000000008311171561031f57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610891945050505050565b6101d1610a4c565b61038b6004803603602081101561037b57600080fd5b50356001600160a01b0316610a70565b604080519115158252519081900360200190f35b6103a7610805565b6001600160a01b0316336001600160a01b0316146103f65760405162461bcd60e51b8152600401808060200182810382526049815260200180610cfe6049913960600191505060405180910390fd5b60008251116104365760405162461bcd60e51b8152600401808060200182810382526022815260200180610d986022913960400191505060405180910390fd5b805182511461048c576040805162461bcd60e51b815260206004820152601e60248201527f61646444657269766174697665733a20556e657175616c206172726179730000604482015290519081900360640190fd5b60005b82518110156107075760006001600160a01b03168382815181106104af57fe5b60200260200101516001600160a01b03161415610513576040805162461bcd60e51b815260206004820181905260248201527f61646444657269766174697665733a20456d7074792064657269766174697665604482015290519081900360640190fd5b60006001600160a01b031682828151811061052a57fe5b60200260200101516001600160a01b0316141561058e576040805162461bcd60e51b815260206004820181905260248201527f61646444657269766174697665733a20456d70747920756e6465726c79696e67604482015290519081900360640190fd5b60006001600160a01b03166105b58483815181106105a857fe5b602002602001015161070c565b6001600160a01b0316146105fa5760405162461bcd60e51b8152600401808060200182810382526021815260200180610d476021913960400191505060405180910390fd5b61062a83828151811061060957fe5b602002602001015183838151811061061d57fe5b6020026020010151610a8d565b81818151811061063657fe5b602002602001015160008085848151811061064d57fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b031602179055508181815181106106a557fe5b60200260200101516001600160a01b03168382815181106106c257fe5b60200260200101516001600160a01b03167faa4ae250fb435bb4b31ed0b95822bc179fc6c5dd0c727c3ffe08d444025efd9860405160405180910390a360010161048f565b505050565b6001600160a01b039081166000908152602081905260409020541690565b60608060006107388561070c565b90506001600160a01b03811661077f5760405162461bcd60e51b8152600401808060200182810382526030815260200180610d686030913960400191505060405180910390fd5b604080516001808252818301909252906020808301908036833701905050925080836000815181106107ad57fe5b6001600160a01b039290921660209283029190910182015260408051600180825281830190925291828101908036833701905050915083826000815181106107f157fe5b602002602001018181525050509250929050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561086057600080fd5b505afa158015610874573d6000803e3d6000fd5b505050506040513d602081101561088a57600080fd5b5051905090565b610899610805565b6001600160a01b0316336001600160a01b0316146108e85760405162461bcd60e51b8152600401808060200182810382526049815260200180610cfe6049913960600191505060405180910390fd5b60008151116109285760405162461bcd60e51b8152600401808060200182810382526025815260200180610cd96025913960400191505060405180910390fd5b60005b8151811015610a485760006001600160a01b031661094e8383815181106105a857fe5b6001600160a01b031614156109aa576040805162461bcd60e51b815260206004820181905260248201527f72656d6f766544657269766174697665733a2056616c7565206e6f7420736574604482015290519081900360640190fd5b6000808383815181106109b957fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154906001600160a01b030219169055818181518110610a0357fe5b60200260200101516001600160a01b03167fc15eb25d807b570f4567baf6e97c7b26d58a7d0512dc85e8db15375a056b860460405160405180910390a260010161092b565b5050565b7f000000000000000000000000000000000000000000000000000000000000000090565b600080610a7c8361070c565b6001600160a01b0316141592915050565b610a978282610bc2565b6000826001600160a01b031663f77c47916040518163ffffffff1660e01b815260040160206040518083038186803b158015610ad257600080fd5b505afa158015610ae6573d6000803e3d6000fd5b505050506040513d6020811015610afc57600080fd5b5051604080516321df0da760e01b815290519192506000916001600160a01b038416916321df0da7916004808301926020929190829003018186803b158015610b4457600080fd5b505afa158015610b58573d6000803e3d6000fd5b505050506040513d6020811015610b6e57600080fd5b505190506001600160a01b0380821690841614610bbc5760405162461bcd60e51b8152600401808060200182810382526037815260200180610dba6037913960400191505060405180910390fd5b50505050565b806001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015610bfb57600080fd5b505afa158015610c0f573d6000803e3d6000fd5b505050506040513d6020811015610c2557600080fd5b50516040805163313ce56760e01b8152905160ff909216916001600160a01b0385169163313ce567916004808301926020929190829003018186803b158015610c6d57600080fd5b505afa158015610c81573d6000803e3d6000fd5b505050506040513d6020811015610c9757600080fd5b505160ff1614610a485760405162461bcd60e51b8152600401808060200182810382526026815260200180610df16026913960400191505060405180910390fdfe72656d6f766544657269766174697665733a20456d707479205f64657269766174697665736f6e6c7946756e644465706c6f7965724f776e65723a204f6e6c79207468652046756e644465706c6f796572206f776e65722063616e2063616c6c20746869732066756e6374696f6e61646444657269766174697665733a2056616c756520616c72656164792073657463616c63556e6465726c79696e6756616c7565733a204e6f74206120737570706f72746564206465726976617469766561646444657269766174697665733a20456d707479205f64657269766174697665735f5f76616c6964617465446572697661746976653a20496e76616c6964207074546f6b656e206f7220746f6b656e2070726f76696465645f5f76616c6964617465446572697661746976653a20556e657175616c20646563696d616c73a164736f6c634300060c000a", "sourceMap": "606:633:245:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1158:951:252;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1158:951:252;;;;;;;;-1:-1:-1;1158:951:252;;-1:-1:-1;;1158:951:252;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1158:951:252;;-1:-1:-1;1158:951:252;;-1:-1:-1;;;;;1158:951:252:i;:::-;;3223:186;;;;;;;;;;;;;;;;-1:-1:-1;3223:186:252;-1:-1:-1;;;;;3223:186:252;;:::i;:::-;;;;-1:-1:-1;;;;;3223:186:252;;;;;;;;;;;;;;1329:604:250;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1329:604:250;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1064:120:358;;;:::i;2225:523:252:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2225:523:252;;-1:-1:-1;2225:523:252;;-1:-1:-1;;;;;2225:523:252:i;1378:108:358:-;;;:::i;2106:165:250:-;;;;;;;;;;;;;;;;-1:-1:-1;2106:165:250;-1:-1:-1;;;;;2106:165:250;;:::i;:::-;;;;;;;;;;;;;;;;;;1158:951:252;679:10:358;:8;:10::i;:::-;-1:-1:-1;;;;;665:24:358;:10;-1:-1:-1;;;;;665:24:358;;644:144;;;;-1:-1:-1;;;644:144:358;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1351:1:252::1;1329:12;:19;:23;1321:70;;;;-1:-1:-1::0;;;1321:70:252::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1432:12;:19;1409:12;:19;:42;1401:85;;;::::0;;-1:-1:-1;;;1401:85:252;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;1502:9;1497:606;1517:12;:19;1513:1;:23;1497:606;;;1592:1;-1:-1:-1::0;;;;;1565:29:252::1;:12;1578:1;1565:15;;;;;;;;;;;;;;-1:-1:-1::0;;;;;1565:29:252::1;;;1557:74;;;::::0;;-1:-1:-1;;;1557:74:252;;::::1;;::::0;::::1;::::0;;;;;;;::::1;::::0;;;;;;;;;;;;;::::1;;1680:1;-1:-1:-1::0;;;;;1653:29:252::1;:12;1666:1;1653:15;;;;;;;;;;;;;;-1:-1:-1::0;;;;;1653:29:252::1;;;1645:74;;;::::0;;-1:-1:-1;;;1645:74:252;;::::1;;::::0;::::1;::::0;;;;;;;::::1;::::0;;;;;;;;;;;;;::::1;;1813:1;-1:-1:-1::0;;;;;1758:57:252::1;:43;1785:12;1798:1;1785:15;;;;;;;;;;;;;;1758:26;:43::i;:::-;-1:-1:-1::0;;;;;1758:57:252::1;;1733:149;;;;-1:-1:-1::0;;;1733:149:252::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1897:54;1918:12;1931:1;1918:15;;;;;;;;;;;;;;1935:12;1948:1;1935:15;;;;;;;;;;;;;;1897:20;:54::i;:::-;2008:12;2021:1;2008:15;;;;;;;;;;;;;;1966:22;:39:::0;1989:12:::1;2002:1;1989:15;;;;;;;;;;;;;;-1:-1:-1::0;;;;;1966:39:252::1;-1:-1:-1::0;;;;;1966:39:252::1;;;;;;;;;;;;;:57;;;;;-1:-1:-1::0;;;;;1966:57:252::1;;;;;-1:-1:-1::0;;;;;1966:57:252::1;;;;;;2076:12;2089:1;2076:15;;;;;;;;;;;;;;-1:-1:-1::0;;;;;2043:49:252::1;2059:12;2072:1;2059:15;;;;;;;;;;;;;;-1:-1:-1::0;;;;;2043:49:252::1;;;;;;;;;;;1538:3;;1497:606;;;;1158:951:::0;;:::o;3223:186::-;-1:-1:-1;;;;;3367:35:252;;;3325:19;3367:35;;;;;;;;;;;;;3223:186::o;1329:604:250:-;1458:29;1489:35;1540:18;1561:39;1588:11;1561:26;:39::i;:::-;1540:60;-1:-1:-1;;;;;;1618:24:250;;1610:85;;;;-1:-1:-1;;;1610:85:250;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1721:16;;;1735:1;1721:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1721:16:250;1706:31;;1765:10;1747:12;1760:1;1747:15;;;;;;;;-1:-1:-1;;;;;1747:28:250;;;;:15;;;;;;;;;;:28;1807:16;;;1821:1;1807:16;;;;;;;;;;;;;;1747:15;1807:16;;;;;-1:-1:-1;1807:16:250;1786:37;;1857:17;1833:18;1852:1;1833:21;;;;;;;;;;;;;:41;;;;;1885;1329:604;;;;;:::o;1064:120:358:-;1105:14;1152:13;-1:-1:-1;;;;;1138:37:358;;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1138:39:358;;-1:-1:-1;1064:120:358;:::o;2225:523:252:-;679:10:358;:8;:10::i;:::-;-1:-1:-1;;;;;665:24:358;:10;-1:-1:-1;;;;;665:24:358;;644:144;;;;-1:-1:-1;;;644:144:358;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2354:1:252::1;2332:12;:19;:23;2324:73;;;;-1:-1:-1::0;;;2324:73:252::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2413:9;2408:334;2428:12;:19;2424:1;:23;2408:334;;;2548:1;-1:-1:-1::0;;;;;2493:57:252::1;:43;2520:12;2533:1;2520:15;;;;;;;2493:43;-1:-1:-1::0;;;;;2493:57:252::1;;;2468:148;;;::::0;;-1:-1:-1;;;2468:148:252;;::::1;;::::0;::::1;::::0;;;;;;;::::1;::::0;;;;;;;;;;;;;::::1;;2638:22;:39:::0;2661:12:::1;2674:1;2661:15;;;;;;;;;;;;;;-1:-1:-1::0;;;;;2638:39:252::1;-1:-1:-1::0;;;;;2638:39:252::1;;;;;;;;;;;;;2631:46;;;;;-1:-1:-1::0;;;;;2631:46:252::1;;;;;2715:12;2728:1;2715:15;;;;;;;;;;;;;;-1:-1:-1::0;;;;;2697:34:252::1;;;;;;;;;;;2449:3;;2408:334;;;;2225:523:::0;:::o;1378:108:358:-;1466:13;1378:108;:::o;2106:165:250:-;2180:17;;2216:34;2243:6;2216:26;:34::i;:::-;-1:-1:-1;;;;;2216:48:250;;;;2106:165;-1:-1:-1;;2106:165:250:o;775:462:245:-;875:52;902:11;915;875:26;:52::i;:::-;938:18;981:11;-1:-1:-1;;;;;959:45:245;;:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;959:47:245;1041;;;-1:-1:-1;;;1041:47:245;;;;959;;-1:-1:-1;1016:22:245;;-1:-1:-1;;;;;1041:45:245;;;;;:47;;;;;959;;1041;;;;;;;:45;:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1041:47:245;;-1:-1:-1;;;;;;1120:29:245;;;;;;;1099:131;;;;-1:-1:-1;;;1099:131:245;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;775:462;;;;:::o;2469:290:250:-;2665:11;-1:-1:-1;;;;;2659:27:250;;:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2659:29:250;2626;;;-1:-1:-1;;;2626:29:250;;;;:62;;;;;-1:-1:-1;;;;;2626:27:250;;;;;:29;;;;;2659;;2626;;;;;;;:27;:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2626:29:250;:62;;;2605:147;;;;-1:-1:-1;;;2605:147:250;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;", "linkReferences": {}, "immutableReferences": { "78707": [ { "start": 2057, "length": 32 }, { "start": 2638, "length": 32 } ] } }, "methodIdentifiers": { "addDerivatives(address[],address[])": "39cbb63c", "calcUnderlyingValues(address,uint256)": "727212f6", "getFundDeployer()": "97c0ac87", "getOwner()": "893d20e8", "getUnderlyingForDerivative(address)": "66adb867", "isSupportedAsset(address)": "9be918e6", "removeDerivatives(address[])": "8f72b136" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_fundDeployer\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"derivative\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"underlying\",\"type\":\"address\"}],\"name\":\"DerivativeAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"derivative\",\"type\":\"address\"}],\"name\":\"DerivativeRemoved\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_derivatives\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"_underlyings\",\"type\":\"address[]\"}],\"name\":\"addDerivatives\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_derivative\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_derivativeAmount\",\"type\":\"uint256\"}],\"name\":\"calcUnderlyingValues\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"underlyings_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"underlyingAmounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFundDeployer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"fundDeployer_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_derivative\",\"type\":\"address\"}],\"name\":\"getUnderlyingForDerivative\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"underlying_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"}],\"name\":\"isSupportedAsset\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isSupported_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_derivatives\",\"type\":\"address[]\"}],\"name\":\"removeDerivatives\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"addDerivatives(address[],address[])\":{\"params\":{\"_derivatives\":\"The derivatives to add\",\"_underlyings\":\"The corresponding underlyings to add\"}},\"calcUnderlyingValues(address,uint256)\":{\"params\":{\"_derivative\":\"The derivative to convert\",\"_derivativeAmount\":\"The amount of the derivative to convert\"},\"returns\":{\"underlyingAmounts_\":\"The amount of each underlying asset for the equivalent derivative amount\",\"underlyings_\":\"The underlying assets for the _derivative\"}},\"getFundDeployer()\":{\"returns\":{\"fundDeployer_\":\"The `FUND_DEPLOYER` variable value\"}},\"getOwner()\":{\"details\":\"Ownership is deferred to the owner of the FundDeployer contract\",\"returns\":{\"owner_\":\"The owner\"}},\"getUnderlyingForDerivative(address)\":{\"params\":{\"_derivative\":\"The derivative for which to get the underlying asset\"},\"returns\":{\"underlying_\":\"The underlying asset\"}},\"isSupportedAsset(address)\":{\"params\":{\"_asset\":\"The asset to check\"},\"returns\":{\"isSupported_\":\"True if the asset is supported\"}},\"removeDerivatives(address[])\":{\"params\":{\"_derivatives\":\"The derivatives to remove\"}}},\"title\":\"PoolTogetherV4PriceFeed Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"addDerivatives(address[],address[])\":{\"notice\":\"Adds derivatives with corresponding underlyings to the price feed\"},\"calcUnderlyingValues(address,uint256)\":{\"notice\":\"Converts a given amount of a derivative to its underlying asset values\"},\"getFundDeployer()\":{\"notice\":\"Gets the `FUND_DEPLOYER` variable\"},\"getOwner()\":{\"notice\":\"Gets the owner of this contract\"},\"getUnderlyingForDerivative(address)\":{\"notice\":\"Gets the underlying asset for a given derivative\"},\"isSupportedAsset(address)\":{\"notice\":\"Checks if an asset is supported by the price feed\"},\"removeDerivatives(address[])\":{\"notice\":\"Removes derivatives from the price feed\"}},\"notice\":\"Price source oracle for PoolTogether (v4)\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/infrastructure/price-feeds/derivatives/feeds/PoolTogetherV4PriceFeed.sol\":\"PoolTogetherV4PriceFeed\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol\":{\"keccak256\":\"0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e\",\"dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK\"]},\"contracts/release/infrastructure/price-feeds/derivatives/feeds/PoolTogetherV4PriceFeed.sol\":{\"keccak256\":\"0x0ae1d2f1f95eb40b5176e282fe7daf063ef4fbde9b7079c1e4d514d552f29b74\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://e272e70a71c828a31dff1f8dc6ef883825f4b11b9512c0505598109d0e7c58cf\",\"dweb:/ipfs/QmcqRi247VEHFBBC7auuZy3ypJkHcttsiNDpH5a8om11iH\"]},\"contracts/release/infrastructure/price-feeds/derivatives/feeds/utils/PeggedDerivativesPriceFeedBase.sol\":{\"keccak256\":\"0x1bfcfa32fd2ff255d3b371367e733bc5dd616f1e6244d272da7468067479702d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://0fa04e528bb5fb52d2bdbaa0532f1d0ea710d75622992156dc788dedbb8553df\",\"dweb:/ipfs/Qmdpw5aquGqFDD1tpUX6Ax7X4jx52WcoTjfoHVJozRSWpG\"]},\"contracts/release/infrastructure/price-feeds/derivatives/feeds/utils/SingleUnderlyingDerivativeRegistryMixin.sol\":{\"keccak256\":\"0xeb2aab819af80382ad562d5a80863484a42caa7888f811817eb283894a1852e7\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8846bfa874ede75fbcd3053d45a1647cad0aabbb26e4189998e8c517961c2bb6\",\"dweb:/ipfs/QmV4Bgx9VfX6kaoyZuaBDf2xyTY4ZmjniZTX8TrEmhU4Pv\"]},\"contracts/release/interfaces/IPoolTogetherV4PrizePool.sol\":{\"keccak256\":\"0xe00442f12e15284f31ad74eaed7935e66148ecb9fae0892b4b576a2240f97907\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c549969061895dd877d83911270d297426da351dd012d7f8dd1e2c779826b262\",\"dweb:/ipfs/QmSvHZQxLkxaQxowkTW5dVYXFLvntQkDt8FPX4JRGGpbPb\"]},\"contracts/release/interfaces/IPoolTogetherV4Ticket.sol\":{\"keccak256\":\"0xbd8df71f62357588fbcbd9181ea8be6dbace2d6776f7f5c8ef7a5aa64e0b9507\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c4979f047cf931662c24c78eaaa2ca0303bf8e375c4e195b8a4e94c2e1e106ef\",\"dweb:/ipfs/QmYkYYyqQfPSNYGDqedFJt9zyLpBtmCB58yepJ5b1RxDf7\"]},\"contracts/release/utils/FundDeployerOwnerMixin.sol\":{\"keccak256\":\"0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927\",\"dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_fundDeployer", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "derivative", "type": "address", "indexed": true }, { "internalType": "address", "name": "underlying", "type": "address", "indexed": true } ], "type": "event", "name": "DerivativeAdded", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "derivative", "type": "address", "indexed": true } ], "type": "event", "name": "DerivativeRemoved", "anonymous": false }, { "inputs": [ { "internalType": "address[]", "name": "_derivatives", "type": "address[]" }, { "internalType": "address[]", "name": "_underlyings", "type": "address[]" } ], "stateMutability": "nonpayable", "type": "function", "name": "addDerivatives" }, { "inputs": [ { "internalType": "address", "name": "_derivative", "type": "address" }, { "internalType": "uint256", "name": "_derivativeAmount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "calcUnderlyingValues", "outputs": [ { "internalType": "address[]", "name": "underlyings_", "type": "address[]" }, { "internalType": "uint256[]", "name": "underlyingAmounts_", "type": "uint256[]" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getFundDeployer", "outputs": [ { "internalType": "address", "name": "fundDeployer_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getOwner", "outputs": [ { "internalType": "address", "name": "owner_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_derivative", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getUnderlyingForDerivative", "outputs": [ { "internalType": "address", "name": "underlying_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_asset", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "isSupportedAsset", "outputs": [ { "internalType": "bool", "name": "isSupported_", "type": "bool" } ] }, { "inputs": [ { "internalType": "address[]", "name": "_derivatives", "type": "address[]" } ], "stateMutability": "nonpayable", "type": "function", "name": "removeDerivatives" } ], "devdoc": { "kind": "dev", "methods": { "addDerivatives(address[],address[])": { "params": { "_derivatives": "The derivatives to add", "_underlyings": "The corresponding underlyings to add" } }, "calcUnderlyingValues(address,uint256)": { "params": { "_derivative": "The derivative to convert", "_derivativeAmount": "The amount of the derivative to convert" }, "returns": { "underlyingAmounts_": "The amount of each underlying asset for the equivalent derivative amount", "underlyings_": "The underlying assets for the _derivative" } }, "getFundDeployer()": { "returns": { "fundDeployer_": "The `FUND_DEPLOYER` variable value" } }, "getOwner()": { "details": "Ownership is deferred to the owner of the FundDeployer contract", "returns": { "owner_": "The owner" } }, "getUnderlyingForDerivative(address)": { "params": { "_derivative": "The derivative for which to get the underlying asset" }, "returns": { "underlying_": "The underlying asset" } }, "isSupportedAsset(address)": { "params": { "_asset": "The asset to check" }, "returns": { "isSupported_": "True if the asset is supported" } }, "removeDerivatives(address[])": { "params": { "_derivatives": "The derivatives to remove" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "addDerivatives(address[],address[])": { "notice": "Adds derivatives with corresponding underlyings to the price feed" }, "calcUnderlyingValues(address,uint256)": { "notice": "Converts a given amount of a derivative to its underlying asset values" }, "getFundDeployer()": { "notice": "Gets the `FUND_DEPLOYER` variable" }, "getOwner()": { "notice": "Gets the owner of this contract" }, "getUnderlyingForDerivative(address)": { "notice": "Gets the underlying asset for a given derivative" }, "isSupportedAsset(address)": { "notice": "Checks if an asset is supported by the price feed" }, "removeDerivatives(address[])": { "notice": "Removes derivatives from the price feed" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/infrastructure/price-feeds/derivatives/feeds/PoolTogetherV4PriceFeed.sol": "PoolTogetherV4PriceFeed" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/core/fund-deployer/IFundDeployer.sol": { "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", "urls": [ "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol": { "keccak256": "0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332", "urls": [ "bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e", "dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/price-feeds/derivatives/feeds/PoolTogetherV4PriceFeed.sol": { "keccak256": "0x0ae1d2f1f95eb40b5176e282fe7daf063ef4fbde9b7079c1e4d514d552f29b74", "urls": [ "bzz-raw://e272e70a71c828a31dff1f8dc6ef883825f4b11b9512c0505598109d0e7c58cf", "dweb:/ipfs/QmcqRi247VEHFBBC7auuZy3ypJkHcttsiNDpH5a8om11iH" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/price-feeds/derivatives/feeds/utils/PeggedDerivativesPriceFeedBase.sol": { "keccak256": "0x1bfcfa32fd2ff255d3b371367e733bc5dd616f1e6244d272da7468067479702d", "urls": [ "bzz-raw://0fa04e528bb5fb52d2bdbaa0532f1d0ea710d75622992156dc788dedbb8553df", "dweb:/ipfs/Qmdpw5aquGqFDD1tpUX6Ax7X4jx52WcoTjfoHVJozRSWpG" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/price-feeds/derivatives/feeds/utils/SingleUnderlyingDerivativeRegistryMixin.sol": { "keccak256": "0xeb2aab819af80382ad562d5a80863484a42caa7888f811817eb283894a1852e7", "urls": [ "bzz-raw://8846bfa874ede75fbcd3053d45a1647cad0aabbb26e4189998e8c517961c2bb6", "dweb:/ipfs/QmV4Bgx9VfX6kaoyZuaBDf2xyTY4ZmjniZTX8TrEmhU4Pv" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IPoolTogetherV4PrizePool.sol": { "keccak256": "0xe00442f12e15284f31ad74eaed7935e66148ecb9fae0892b4b576a2240f97907", "urls": [ "bzz-raw://c549969061895dd877d83911270d297426da351dd012d7f8dd1e2c779826b262", "dweb:/ipfs/QmSvHZQxLkxaQxowkTW5dVYXFLvntQkDt8FPX4JRGGpbPb" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IPoolTogetherV4Ticket.sol": { "keccak256": "0xbd8df71f62357588fbcbd9181ea8be6dbace2d6776f7f5c8ef7a5aa64e0b9507", "urls": [ "bzz-raw://c4979f047cf931662c24c78eaaa2ca0303bf8e375c4e195b8a4e94c2e1e106ef", "dweb:/ipfs/QmYkYYyqQfPSNYGDqedFJt9zyLpBtmCB58yepJ5b1RxDf7" ], "license": "GPL-3.0" }, "contracts/release/utils/FundDeployerOwnerMixin.sol": { "keccak256": "0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934", "urls": [ "bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927", "dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" } }, "version": 1 }, "id": 245 } diff --git a/eth_defi/abi/enzyme/PositionKey.json b/eth_defi/abi/enzyme/PositionKey.json index 4af9fc08..4bbcb610 100644 --- a/eth_defi/abi/enzyme/PositionKey.json +++ b/eth_defi/abi/enzyme/PositionKey.json @@ -1,78 +1 @@ -{ - "abi": [], - "bytecode": { - "object": "0x602d6023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c6343000706000a", - "sourceMap": "71:301:50:-:0;;;;;;;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c6343000706000a", - "sourceMap": "71:301:50:-:0;;;;;;;;", - "linkReferences": {} - }, - "methodIdentifiers": {}, - "rawMetadata": "{\"compiler\":{\"version\":\"0.7.6+commit.7338295f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@uniswap/v3-periphery/contracts/libraries/PositionKey.sol\":\"PositionKey\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"node_modules/@uniswap/v3-periphery/contracts/libraries/PositionKey.sol\":{\"keccak256\":\"0x1ef2fea641b75575e8e7621b90b23a8144fd22cb7013d82a592a72ab2af9527f\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://5832baa9cccf9763fec921077daf760f6bf90605063e4ddbf21807e09d502b5f\",\"dweb:/ipfs/QmSdbgqjSnFCtBc6xkNCzff4f6KpBqjZ1LJJc6ZA9FboEJ\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.7.6+commit.7338295f" - }, - "language": "Solidity", - "output": { - "abi": [], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "node_modules/@uniswap/v3-periphery/contracts/libraries/PositionKey.sol": "PositionKey" - }, - "libraries": {} - }, - "sources": { - "node_modules/@uniswap/v3-periphery/contracts/libraries/PositionKey.sol": { - "keccak256": "0x1ef2fea641b75575e8e7621b90b23a8144fd22cb7013d82a592a72ab2af9527f", - "urls": [ - "bzz-raw://5832baa9cccf9763fec921077daf760f6bf90605063e4ddbf21807e09d502b5f", - "dweb:/ipfs/QmSdbgqjSnFCtBc6xkNCzff4f6KpBqjZ1LJJc6ZA9FboEJ" - ], - "license": "GPL-2.0-or-later" - } - }, - "version": 1 - }, - "id": 50 -} +{ "abi": [], "bytecode": { "object": "0x602d6023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c6343000706000a", "sourceMap": "71:301:50:-:0;;;;;;;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c6343000706000a", "sourceMap": "71:301:50:-:0;;;;;;;;", "linkReferences": {} }, "methodIdentifiers": {}, "rawMetadata": "{\"compiler\":{\"version\":\"0.7.6+commit.7338295f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@uniswap/v3-periphery/contracts/libraries/PositionKey.sol\":\"PositionKey\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"node_modules/@uniswap/v3-periphery/contracts/libraries/PositionKey.sol\":{\"keccak256\":\"0x1ef2fea641b75575e8e7621b90b23a8144fd22cb7013d82a592a72ab2af9527f\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://5832baa9cccf9763fec921077daf760f6bf90605063e4ddbf21807e09d502b5f\",\"dweb:/ipfs/QmSdbgqjSnFCtBc6xkNCzff4f6KpBqjZ1LJJc6ZA9FboEJ\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.7.6+commit.7338295f" }, "language": "Solidity", "output": { "abi": [], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "node_modules/@uniswap/v3-periphery/contracts/libraries/PositionKey.sol": "PositionKey" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "node_modules/@uniswap/v3-periphery/contracts/libraries/PositionKey.sol": { "keccak256": "0x1ef2fea641b75575e8e7621b90b23a8144fd22cb7013d82a592a72ab2af9527f", "urls": [ "bzz-raw://5832baa9cccf9763fec921077daf760f6bf90605063e4ddbf21807e09d502b5f", "dweb:/ipfs/QmSdbgqjSnFCtBc6xkNCzff4f6KpBqjZ1LJJc6ZA9FboEJ" ], "license": "GPL-2.0-or-later" } }, "version": 1 }, "id": 50 } diff --git a/eth_defi/abi/enzyme/PositionValue.json b/eth_defi/abi/enzyme/PositionValue.json index f483469e..4cc6be37 100644 --- a/eth_defi/abi/enzyme/PositionValue.json +++ b/eth_defi/abi/enzyme/PositionValue.json @@ -1,294 +1 @@ -{ - "abi": [], - "bytecode": { - "object": "0x602d6023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c6343000706000a", - "sourceMap": "550:6630:51:-:0;;;;;;;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c6343000706000a", - "sourceMap": "550:6630:51:-:0;;;;;;;;", - "linkReferences": {} - }, - "methodIdentifiers": {}, - "rawMetadata": "{\"compiler\":{\"version\":\"0.7.6+commit.7338295f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"title\":\"Returns information about the token value held in a Uniswap V3 NFT\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@uniswap/v3-periphery/contracts/libraries/PositionValue.sol\":\"PositionValue\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"node_modules/@openzeppelin/contracts/introspection/IERC165.sol\":{\"keccak256\":\"0xf70bc25d981e4ec9673a995ad2995d5d493ea188d3d8f388bba9c227ce09fb82\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd970f51e3a77790c2f02b5b1759827c3b897c3d98c407b3631e8af32e3dc93c\",\"dweb:/ipfs/QmPF85Amgbqjk3SNZKsPCsqCw8JfwYEPMnnhvMJUyX58je\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x2d99a0deb6648c34fbc66d6ac4a2d64798d7a5321b45624f6736fadc63da1962\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2dcdce5ede1e5e650d174ec0b35be7d47b6a50f30bc895ef0d9e59fb75052e45\",\"dweb:/ipfs/QmQ2XFsDLTYqfEdw7pYzHiGtFRY11yQm4b6ynYgKqDxeB8\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721Enumerable.sol\":{\"keccak256\":\"0xe6bd1b1218338b6f9fe17776f48623b4ac3d8a40405f74a44bc23c00abe2ca13\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c354c3f6e9c487759aa7869be4fba68e0b2efc777b514d289c4cbd3ff8f7e1a\",\"dweb:/ipfs/QmdF9LcSYVmiUCL7JxLEYmSLrjga6zJsujfi6sgEJD4M1z\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721Metadata.sol\":{\"keccak256\":\"0xccb917776f826ac6b68bd5a15a5f711e3967848a52ba11e6104d9a4f593314a7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://430255ad2229ced6d880e61a67bdc6e48dbbaed8354a7c1fe918cd8b8714a886\",\"dweb:/ipfs/QmTHY56odzqEpEC6v6tafaWMYY7vmULw25q5XHJLCCAeox\"]},\"node_modules/@uniswap/v3-core/contracts/interfaces/IUniswapV3Pool.sol\":{\"keccak256\":\"0xfe6113d518466cd6652c85b111e01f33eb62157f49ae5ed7d5a3947a2044adb1\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://1c42b9e6f5902ac38dd43e25750939baa7e0c1425dc75afd717c4412731065d5\",\"dweb:/ipfs/QmWaoacnzsucTvBME2o7YgZBZMhaHv7fkj83htHMVWJKWh\"]},\"node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolActions.sol\":{\"keccak256\":\"0x9453dd0e7442188667d01d9b65de3f1e14e9511ff3e303179a15f6fc267f7634\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://982f4328f956c3e60e67501e759eb292ac487f76460c774c50e9ae4fcc92aae5\",\"dweb:/ipfs/QmRnzEDsaqtd9PJEVcgQi7p5aV5pMSvRUoGZJAdwFUJxgZ\"]},\"node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolDerivedState.sol\":{\"keccak256\":\"0xe603ac5b17ecdee73ba2b27efdf386c257a19c14206e87eee77e2017b742d9e5\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://8febc9bdb399a4d94bb89f5377732652e2400e4a8dee808201ade6848f9004e7\",\"dweb:/ipfs/QmaKDqYYFU4d2W2iN77aDHptfbFmYZRrMYXHeGpJmM8C1c\"]},\"node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolEvents.sol\":{\"keccak256\":\"0x8071514d0fe5d17d6fbd31c191cdfb703031c24e0ece3621d88ab10e871375cd\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://d0b571930cc7488b1d546a7e9cea7c52d8b3c4e207da657ed0e0db7343b8cd03\",\"dweb:/ipfs/QmaGK6vVwB95QSTR1XMYvrh7ivYAYZxi3fD7v6VMA4jZ39\"]},\"node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolImmutables.sol\":{\"keccak256\":\"0xf6e5d2cd1139c4c276bdbc8e1d2b256e456c866a91f1b868da265c6d2685c3f7\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://b99c8c9ae8e27ee6559e5866bea82cbc9ffc8247f8d15b7422a4deb287d4d047\",\"dweb:/ipfs/QmfL8gaqt3ffAnm6nVj5ksuNpLygXuL3xq5VBqrkwC2JJ3\"]},\"node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolOwnerActions.sol\":{\"keccak256\":\"0x759b78a2918af9e99e246dc3af084f654e48ef32bb4e4cb8a966aa3dcaece235\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://64144fb96e1c7fdba87305acadb98a198d26a3d46c097cb3a666e567f6f29735\",\"dweb:/ipfs/QmUnWVwN9FKB9uV5Pr8YfLpWZnYM2DENnRMaadZ492JS9u\"]},\"node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolState.sol\":{\"keccak256\":\"0x852dc1f5df7dcf7f11e7bb3eed79f0cea72ad4b25f6a9d2c35aafb48925fd49f\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://ed63907c38ff36b0e22bc9ffc53e791ea74f0d4f0e7c257fdfb5aaf8825b1f0f\",\"dweb:/ipfs/QmSQrckghEjs6HVsA5GVgpNpZWvTXMY5eQLF7cN6deFeEg\"]},\"node_modules/@uniswap/v3-core/contracts/libraries/FixedPoint128.sol\":{\"keccak256\":\"0x2d1f4f73ae0d8f0a210b8d30084659b57c56ac8f2f96011fca36f00a6d417178\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://2ba88933f16cd2df398e19c6ad227268f83c03081b70d243c97116d2ed9bc241\",\"dweb:/ipfs/QmTUGxdh8snzEM9VrTSS47StCg9VVWvvLJtJeNnMTFY4xb\"]},\"node_modules/@uniswap/v3-core/contracts/libraries/FixedPoint96.sol\":{\"keccak256\":\"0x0ba8a9b95a956a4050749c0158e928398c447c91469682ca8a7cc7e77a7fe032\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://186d3b528866065a5856f96d2aeec698efa99f8da913e9adf34f8cc296cc993d\",\"dweb:/ipfs/QmUAiMvtAQp8c9dy57bqJYzG7hkb1uChiPaQmt264skoqP\"]},\"node_modules/@uniswap/v3-core/contracts/libraries/FullMath.sol\":{\"keccak256\":\"0xe511530871deaef86692cea9adb6076d26d7b47fd4815ce51af52af981026057\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5a6ae776be3e7dcbd23d49ffbc9d792fed0ddf4b111ebb64b9bb2133ec263e\",\"dweb:/ipfs/QmbAUtWqvipzEARQpFpkzYKBELy3qeW5WXnZxHFU84sxG7\"]},\"node_modules/@uniswap/v3-core/contracts/libraries/LiquidityMath.sol\":{\"keccak256\":\"0xd53041349718d5bce4a89e87cd911879d41ba42ba3fab0614e5e8b742f352b88\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://ea7529b99ab4fc1d3e6c5a31990fb688f0a2d6cc302c0419e0cf5a2d6c563781\",\"dweb:/ipfs/QmVaphRSNpfChHZKzutQ9WprwCo2WE1euvThRfHcwsnHhj\"]},\"node_modules/@uniswap/v3-core/contracts/libraries/LowGasSafeMath.sol\":{\"keccak256\":\"0x86715eb960f18e01ac94e3bba4614ed51a887fa3c5bd1c43bf80aa98e019cf2d\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://bfc1d5d58e59015086b0e65a6c3a2ddad312e2350480510f6c0c8167f3d71a37\",\"dweb:/ipfs/QmQndULYjFsHKHjMAKLMfc12vWbVB5FawtioHtvwcWRJZp\"]},\"node_modules/@uniswap/v3-core/contracts/libraries/SafeCast.sol\":{\"keccak256\":\"0x4c12bf820c0b011f5490a209960ca34dd8af34660ef9e01de0438393d15e3fd8\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://fed11489e218e55d087d42b4f350a30e10cd2aedec8f432bd3cc712f648d5869\",\"dweb:/ipfs/QmWfRnRxyXwHUDcTQPazxYYk5jxErGeQqdvnYtyg5nBPbU\"]},\"node_modules/@uniswap/v3-core/contracts/libraries/Tick.sol\":{\"keccak256\":\"0x60752e079938508bfc274e2a3d2618ede09e153ba6f08cd3c476557947fbe2ac\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://23e7045efd6c5c4c5b3d15898d639cc2c128ace49d2dab0b1ef2b868e6a43234\",\"dweb:/ipfs/QmaoV6txuomfjSoeakDyZ73mPygEHCgrYarKQxQ5sp29hu\"]},\"node_modules/@uniswap/v3-core/contracts/libraries/TickMath.sol\":{\"keccak256\":\"0x1f864a2bf61ba05f3173eaf2e3f94c5e1da4bec0554757527b6d1ef1fe439e4e\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://5139b586df546a9d1c46804ca400b1cb9ce87236eaf212ebd64edee6747a172a\",\"dweb:/ipfs/QmVa2kcRw3VyuB6j1EVWXACKnkbQZgfXYXNi5voq3XkYG8\"]},\"node_modules/@uniswap/v3-periphery/contracts/interfaces/IERC721Permit.sol\":{\"keccak256\":\"0x9e3c2a4ee65ddf95b2dfcb0815784eea3a295707e6f8b83e4c4f0f8fe2e3a1d4\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://bfd939085b3618101b955f87c7fabf38338ba1aad480295acb8102ebc5d72471\",\"dweb:/ipfs/QmauQD8bGDHTztmTDfaKXjzM7Wacrq2XU7VcTbwn1WrDBL\"]},\"node_modules/@uniswap/v3-periphery/contracts/interfaces/INonfungiblePositionManager.sol\":{\"keccak256\":\"0xe1dadc73e60bf05d0b4e0f05bd2847c5783e833cc10352c14763360b13495ee1\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://6e3b10f75c101de044c1253672207399c1513fd1f0f17be31069c18c0b9a1460\",\"dweb:/ipfs/QmXrkXNY6njQfepE7KbRtJMruGXfrZwsMMsW7m5e3XS9Hf\"]},\"node_modules/@uniswap/v3-periphery/contracts/interfaces/IPeripheryImmutableState.sol\":{\"keccak256\":\"0x7affcfeb5127c0925a71d6a65345e117c33537523aeca7bc98085ead8452519d\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://e16b291294210e71cb0f20cd0afe62ae2dc6878d627f5ccc19c4dc9cd80aec3f\",\"dweb:/ipfs/QmQGitSyBr26nour81BZmpmDMyJpvZRqHQZvnCD1Acb127\"]},\"node_modules/@uniswap/v3-periphery/contracts/interfaces/IPeripheryPayments.sol\":{\"keccak256\":\"0xb547e10f1e69bed03621a62b73a503e260643066c6b4054867a4d1fef47eb274\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://f9a90f58f5fd5fb42f7811f4094113b532f307b14a73764c91f977590747f407\",\"dweb:/ipfs/QmSeNH2mfiDMKf3Q6V2sqtNxx1s72JNuA1VVxRM9HoMqYp\"]},\"node_modules/@uniswap/v3-periphery/contracts/interfaces/IPoolInitializer.sol\":{\"keccak256\":\"0x9d7695e8d94c22cc5fcced602017aabb988de89981ea7bee29ea629d5328a862\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://61b50933026ee1017db2a6273af8cedc3238c95dca58880db0918dbdbb2f064f\",\"dweb:/ipfs/QmUebR26pqG25d18aBELKz8aFFKkmHa8PxntzXTA7o9Ldu\"]},\"node_modules/@uniswap/v3-periphery/contracts/libraries/LiquidityAmounts.sol\":{\"keccak256\":\"0xf149581d28e1c81736dfe72be73ee1301d4945340cc6282fcdd63fe3c85abf24\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://0b67f375180bb62fe6753601cd09740496dcdcec4c0a4f9eaa6e94c5e1bb6844\",\"dweb:/ipfs/QmWYwkmqynRq7g81Nijg4eEkPgSRGnegDrbbEKkkTC1k2w\"]},\"node_modules/@uniswap/v3-periphery/contracts/libraries/PoolAddress.sol\":{\"keccak256\":\"0x5edd84eb8ba7c12fd8cb6cffe52e1e9f3f6464514ee5f539c2283826209035a2\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://f375d0e6d5ea3674e1aa6f112b021e9a86721a6a2f3cb22d673378b30cf0e840\",\"dweb:/ipfs/QmWJir2qnJyp963mU6U3jEEx9i3H3V5BgKawAfSnG1pC8w\"]},\"node_modules/@uniswap/v3-periphery/contracts/libraries/PositionKey.sol\":{\"keccak256\":\"0x1ef2fea641b75575e8e7621b90b23a8144fd22cb7013d82a592a72ab2af9527f\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://5832baa9cccf9763fec921077daf760f6bf90605063e4ddbf21807e09d502b5f\",\"dweb:/ipfs/QmSdbgqjSnFCtBc6xkNCzff4f6KpBqjZ1LJJc6ZA9FboEJ\"]},\"node_modules/@uniswap/v3-periphery/contracts/libraries/PositionValue.sol\":{\"keccak256\":\"0x6b97c349ae922798ebd38976e4b776190abedde98056cf416df12acc4b5a1cc5\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://862137704e9a806b0d9f22dfb5438b798ea4658c2aaae97dc5741f8d1d940624\",\"dweb:/ipfs/QmXTAkkmftCMjKkeR2XH2c3w6dEMbzafeWonX2YU26K6F6\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.7.6+commit.7338295f" - }, - "language": "Solidity", - "output": { - "abi": [], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "node_modules/@uniswap/v3-periphery/contracts/libraries/PositionValue.sol": "PositionValue" - }, - "libraries": {} - }, - "sources": { - "node_modules/@openzeppelin/contracts/introspection/IERC165.sol": { - "keccak256": "0xf70bc25d981e4ec9673a995ad2995d5d493ea188d3d8f388bba9c227ce09fb82", - "urls": [ - "bzz-raw://bd970f51e3a77790c2f02b5b1759827c3b897c3d98c407b3631e8af32e3dc93c", - "dweb:/ipfs/QmPF85Amgbqjk3SNZKsPCsqCw8JfwYEPMnnhvMJUyX58je" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol": { - "keccak256": "0x2d99a0deb6648c34fbc66d6ac4a2d64798d7a5321b45624f6736fadc63da1962", - "urls": [ - "bzz-raw://2dcdce5ede1e5e650d174ec0b35be7d47b6a50f30bc895ef0d9e59fb75052e45", - "dweb:/ipfs/QmQ2XFsDLTYqfEdw7pYzHiGtFRY11yQm4b6ynYgKqDxeB8" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC721/IERC721Enumerable.sol": { - "keccak256": "0xe6bd1b1218338b6f9fe17776f48623b4ac3d8a40405f74a44bc23c00abe2ca13", - "urls": [ - "bzz-raw://0c354c3f6e9c487759aa7869be4fba68e0b2efc777b514d289c4cbd3ff8f7e1a", - "dweb:/ipfs/QmdF9LcSYVmiUCL7JxLEYmSLrjga6zJsujfi6sgEJD4M1z" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC721/IERC721Metadata.sol": { - "keccak256": "0xccb917776f826ac6b68bd5a15a5f711e3967848a52ba11e6104d9a4f593314a7", - "urls": [ - "bzz-raw://430255ad2229ced6d880e61a67bdc6e48dbbaed8354a7c1fe918cd8b8714a886", - "dweb:/ipfs/QmTHY56odzqEpEC6v6tafaWMYY7vmULw25q5XHJLCCAeox" - ], - "license": "MIT" - }, - "node_modules/@uniswap/v3-core/contracts/interfaces/IUniswapV3Pool.sol": { - "keccak256": "0xfe6113d518466cd6652c85b111e01f33eb62157f49ae5ed7d5a3947a2044adb1", - "urls": [ - "bzz-raw://1c42b9e6f5902ac38dd43e25750939baa7e0c1425dc75afd717c4412731065d5", - "dweb:/ipfs/QmWaoacnzsucTvBME2o7YgZBZMhaHv7fkj83htHMVWJKWh" - ], - "license": "GPL-2.0-or-later" - }, - "node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolActions.sol": { - "keccak256": "0x9453dd0e7442188667d01d9b65de3f1e14e9511ff3e303179a15f6fc267f7634", - "urls": [ - "bzz-raw://982f4328f956c3e60e67501e759eb292ac487f76460c774c50e9ae4fcc92aae5", - "dweb:/ipfs/QmRnzEDsaqtd9PJEVcgQi7p5aV5pMSvRUoGZJAdwFUJxgZ" - ], - "license": "GPL-2.0-or-later" - }, - "node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolDerivedState.sol": { - "keccak256": "0xe603ac5b17ecdee73ba2b27efdf386c257a19c14206e87eee77e2017b742d9e5", - "urls": [ - "bzz-raw://8febc9bdb399a4d94bb89f5377732652e2400e4a8dee808201ade6848f9004e7", - "dweb:/ipfs/QmaKDqYYFU4d2W2iN77aDHptfbFmYZRrMYXHeGpJmM8C1c" - ], - "license": "GPL-2.0-or-later" - }, - "node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolEvents.sol": { - "keccak256": "0x8071514d0fe5d17d6fbd31c191cdfb703031c24e0ece3621d88ab10e871375cd", - "urls": [ - "bzz-raw://d0b571930cc7488b1d546a7e9cea7c52d8b3c4e207da657ed0e0db7343b8cd03", - "dweb:/ipfs/QmaGK6vVwB95QSTR1XMYvrh7ivYAYZxi3fD7v6VMA4jZ39" - ], - "license": "GPL-2.0-or-later" - }, - "node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolImmutables.sol": { - "keccak256": "0xf6e5d2cd1139c4c276bdbc8e1d2b256e456c866a91f1b868da265c6d2685c3f7", - "urls": [ - "bzz-raw://b99c8c9ae8e27ee6559e5866bea82cbc9ffc8247f8d15b7422a4deb287d4d047", - "dweb:/ipfs/QmfL8gaqt3ffAnm6nVj5ksuNpLygXuL3xq5VBqrkwC2JJ3" - ], - "license": "GPL-2.0-or-later" - }, - "node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolOwnerActions.sol": { - "keccak256": "0x759b78a2918af9e99e246dc3af084f654e48ef32bb4e4cb8a966aa3dcaece235", - "urls": [ - "bzz-raw://64144fb96e1c7fdba87305acadb98a198d26a3d46c097cb3a666e567f6f29735", - "dweb:/ipfs/QmUnWVwN9FKB9uV5Pr8YfLpWZnYM2DENnRMaadZ492JS9u" - ], - "license": "GPL-2.0-or-later" - }, - "node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolState.sol": { - "keccak256": "0x852dc1f5df7dcf7f11e7bb3eed79f0cea72ad4b25f6a9d2c35aafb48925fd49f", - "urls": [ - "bzz-raw://ed63907c38ff36b0e22bc9ffc53e791ea74f0d4f0e7c257fdfb5aaf8825b1f0f", - "dweb:/ipfs/QmSQrckghEjs6HVsA5GVgpNpZWvTXMY5eQLF7cN6deFeEg" - ], - "license": "GPL-2.0-or-later" - }, - "node_modules/@uniswap/v3-core/contracts/libraries/FixedPoint128.sol": { - "keccak256": "0x2d1f4f73ae0d8f0a210b8d30084659b57c56ac8f2f96011fca36f00a6d417178", - "urls": [ - "bzz-raw://2ba88933f16cd2df398e19c6ad227268f83c03081b70d243c97116d2ed9bc241", - "dweb:/ipfs/QmTUGxdh8snzEM9VrTSS47StCg9VVWvvLJtJeNnMTFY4xb" - ], - "license": "GPL-2.0-or-later" - }, - "node_modules/@uniswap/v3-core/contracts/libraries/FixedPoint96.sol": { - "keccak256": "0x0ba8a9b95a956a4050749c0158e928398c447c91469682ca8a7cc7e77a7fe032", - "urls": [ - "bzz-raw://186d3b528866065a5856f96d2aeec698efa99f8da913e9adf34f8cc296cc993d", - "dweb:/ipfs/QmUAiMvtAQp8c9dy57bqJYzG7hkb1uChiPaQmt264skoqP" - ], - "license": "GPL-2.0-or-later" - }, - "node_modules/@uniswap/v3-core/contracts/libraries/FullMath.sol": { - "keccak256": "0xe511530871deaef86692cea9adb6076d26d7b47fd4815ce51af52af981026057", - "urls": [ - "bzz-raw://bc5a6ae776be3e7dcbd23d49ffbc9d792fed0ddf4b111ebb64b9bb2133ec263e", - "dweb:/ipfs/QmbAUtWqvipzEARQpFpkzYKBELy3qeW5WXnZxHFU84sxG7" - ], - "license": "MIT" - }, - "node_modules/@uniswap/v3-core/contracts/libraries/LiquidityMath.sol": { - "keccak256": "0xd53041349718d5bce4a89e87cd911879d41ba42ba3fab0614e5e8b742f352b88", - "urls": [ - "bzz-raw://ea7529b99ab4fc1d3e6c5a31990fb688f0a2d6cc302c0419e0cf5a2d6c563781", - "dweb:/ipfs/QmVaphRSNpfChHZKzutQ9WprwCo2WE1euvThRfHcwsnHhj" - ], - "license": "GPL-2.0-or-later" - }, - "node_modules/@uniswap/v3-core/contracts/libraries/LowGasSafeMath.sol": { - "keccak256": "0x86715eb960f18e01ac94e3bba4614ed51a887fa3c5bd1c43bf80aa98e019cf2d", - "urls": [ - "bzz-raw://bfc1d5d58e59015086b0e65a6c3a2ddad312e2350480510f6c0c8167f3d71a37", - "dweb:/ipfs/QmQndULYjFsHKHjMAKLMfc12vWbVB5FawtioHtvwcWRJZp" - ], - "license": "GPL-2.0-or-later" - }, - "node_modules/@uniswap/v3-core/contracts/libraries/SafeCast.sol": { - "keccak256": "0x4c12bf820c0b011f5490a209960ca34dd8af34660ef9e01de0438393d15e3fd8", - "urls": [ - "bzz-raw://fed11489e218e55d087d42b4f350a30e10cd2aedec8f432bd3cc712f648d5869", - "dweb:/ipfs/QmWfRnRxyXwHUDcTQPazxYYk5jxErGeQqdvnYtyg5nBPbU" - ], - "license": "GPL-2.0-or-later" - }, - "node_modules/@uniswap/v3-core/contracts/libraries/Tick.sol": { - "keccak256": "0x60752e079938508bfc274e2a3d2618ede09e153ba6f08cd3c476557947fbe2ac", - "urls": [ - "bzz-raw://23e7045efd6c5c4c5b3d15898d639cc2c128ace49d2dab0b1ef2b868e6a43234", - "dweb:/ipfs/QmaoV6txuomfjSoeakDyZ73mPygEHCgrYarKQxQ5sp29hu" - ], - "license": "BUSL-1.1" - }, - "node_modules/@uniswap/v3-core/contracts/libraries/TickMath.sol": { - "keccak256": "0x1f864a2bf61ba05f3173eaf2e3f94c5e1da4bec0554757527b6d1ef1fe439e4e", - "urls": [ - "bzz-raw://5139b586df546a9d1c46804ca400b1cb9ce87236eaf212ebd64edee6747a172a", - "dweb:/ipfs/QmVa2kcRw3VyuB6j1EVWXACKnkbQZgfXYXNi5voq3XkYG8" - ], - "license": "GPL-2.0-or-later" - }, - "node_modules/@uniswap/v3-periphery/contracts/interfaces/IERC721Permit.sol": { - "keccak256": "0x9e3c2a4ee65ddf95b2dfcb0815784eea3a295707e6f8b83e4c4f0f8fe2e3a1d4", - "urls": [ - "bzz-raw://bfd939085b3618101b955f87c7fabf38338ba1aad480295acb8102ebc5d72471", - "dweb:/ipfs/QmauQD8bGDHTztmTDfaKXjzM7Wacrq2XU7VcTbwn1WrDBL" - ], - "license": "GPL-2.0-or-later" - }, - "node_modules/@uniswap/v3-periphery/contracts/interfaces/INonfungiblePositionManager.sol": { - "keccak256": "0xe1dadc73e60bf05d0b4e0f05bd2847c5783e833cc10352c14763360b13495ee1", - "urls": [ - "bzz-raw://6e3b10f75c101de044c1253672207399c1513fd1f0f17be31069c18c0b9a1460", - "dweb:/ipfs/QmXrkXNY6njQfepE7KbRtJMruGXfrZwsMMsW7m5e3XS9Hf" - ], - "license": "GPL-2.0-or-later" - }, - "node_modules/@uniswap/v3-periphery/contracts/interfaces/IPeripheryImmutableState.sol": { - "keccak256": "0x7affcfeb5127c0925a71d6a65345e117c33537523aeca7bc98085ead8452519d", - "urls": [ - "bzz-raw://e16b291294210e71cb0f20cd0afe62ae2dc6878d627f5ccc19c4dc9cd80aec3f", - "dweb:/ipfs/QmQGitSyBr26nour81BZmpmDMyJpvZRqHQZvnCD1Acb127" - ], - "license": "GPL-2.0-or-later" - }, - "node_modules/@uniswap/v3-periphery/contracts/interfaces/IPeripheryPayments.sol": { - "keccak256": "0xb547e10f1e69bed03621a62b73a503e260643066c6b4054867a4d1fef47eb274", - "urls": [ - "bzz-raw://f9a90f58f5fd5fb42f7811f4094113b532f307b14a73764c91f977590747f407", - "dweb:/ipfs/QmSeNH2mfiDMKf3Q6V2sqtNxx1s72JNuA1VVxRM9HoMqYp" - ], - "license": "GPL-2.0-or-later" - }, - "node_modules/@uniswap/v3-periphery/contracts/interfaces/IPoolInitializer.sol": { - "keccak256": "0x9d7695e8d94c22cc5fcced602017aabb988de89981ea7bee29ea629d5328a862", - "urls": [ - "bzz-raw://61b50933026ee1017db2a6273af8cedc3238c95dca58880db0918dbdbb2f064f", - "dweb:/ipfs/QmUebR26pqG25d18aBELKz8aFFKkmHa8PxntzXTA7o9Ldu" - ], - "license": "GPL-2.0-or-later" - }, - "node_modules/@uniswap/v3-periphery/contracts/libraries/LiquidityAmounts.sol": { - "keccak256": "0xf149581d28e1c81736dfe72be73ee1301d4945340cc6282fcdd63fe3c85abf24", - "urls": [ - "bzz-raw://0b67f375180bb62fe6753601cd09740496dcdcec4c0a4f9eaa6e94c5e1bb6844", - "dweb:/ipfs/QmWYwkmqynRq7g81Nijg4eEkPgSRGnegDrbbEKkkTC1k2w" - ], - "license": "GPL-2.0-or-later" - }, - "node_modules/@uniswap/v3-periphery/contracts/libraries/PoolAddress.sol": { - "keccak256": "0x5edd84eb8ba7c12fd8cb6cffe52e1e9f3f6464514ee5f539c2283826209035a2", - "urls": [ - "bzz-raw://f375d0e6d5ea3674e1aa6f112b021e9a86721a6a2f3cb22d673378b30cf0e840", - "dweb:/ipfs/QmWJir2qnJyp963mU6U3jEEx9i3H3V5BgKawAfSnG1pC8w" - ], - "license": "GPL-2.0-or-later" - }, - "node_modules/@uniswap/v3-periphery/contracts/libraries/PositionKey.sol": { - "keccak256": "0x1ef2fea641b75575e8e7621b90b23a8144fd22cb7013d82a592a72ab2af9527f", - "urls": [ - "bzz-raw://5832baa9cccf9763fec921077daf760f6bf90605063e4ddbf21807e09d502b5f", - "dweb:/ipfs/QmSdbgqjSnFCtBc6xkNCzff4f6KpBqjZ1LJJc6ZA9FboEJ" - ], - "license": "GPL-2.0-or-later" - }, - "node_modules/@uniswap/v3-periphery/contracts/libraries/PositionValue.sol": { - "keccak256": "0x6b97c349ae922798ebd38976e4b776190abedde98056cf416df12acc4b5a1cc5", - "urls": [ - "bzz-raw://862137704e9a806b0d9f22dfb5438b798ea4658c2aaae97dc5741f8d1d940624", - "dweb:/ipfs/QmXTAkkmftCMjKkeR2XH2c3w6dEMbzafeWonX2YU26K6F6" - ], - "license": "GPL-2.0-or-later" - } - }, - "version": 1 - }, - "id": 51 -} +{ "abi": [], "bytecode": { "object": "0x602d6023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c6343000706000a", "sourceMap": "550:6630:51:-:0;;;;;;;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c6343000706000a", "sourceMap": "550:6630:51:-:0;;;;;;;;", "linkReferences": {} }, "methodIdentifiers": {}, "rawMetadata": "{\"compiler\":{\"version\":\"0.7.6+commit.7338295f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"title\":\"Returns information about the token value held in a Uniswap V3 NFT\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@uniswap/v3-periphery/contracts/libraries/PositionValue.sol\":\"PositionValue\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"node_modules/@openzeppelin/contracts/introspection/IERC165.sol\":{\"keccak256\":\"0xf70bc25d981e4ec9673a995ad2995d5d493ea188d3d8f388bba9c227ce09fb82\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd970f51e3a77790c2f02b5b1759827c3b897c3d98c407b3631e8af32e3dc93c\",\"dweb:/ipfs/QmPF85Amgbqjk3SNZKsPCsqCw8JfwYEPMnnhvMJUyX58je\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x2d99a0deb6648c34fbc66d6ac4a2d64798d7a5321b45624f6736fadc63da1962\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2dcdce5ede1e5e650d174ec0b35be7d47b6a50f30bc895ef0d9e59fb75052e45\",\"dweb:/ipfs/QmQ2XFsDLTYqfEdw7pYzHiGtFRY11yQm4b6ynYgKqDxeB8\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721Enumerable.sol\":{\"keccak256\":\"0xe6bd1b1218338b6f9fe17776f48623b4ac3d8a40405f74a44bc23c00abe2ca13\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c354c3f6e9c487759aa7869be4fba68e0b2efc777b514d289c4cbd3ff8f7e1a\",\"dweb:/ipfs/QmdF9LcSYVmiUCL7JxLEYmSLrjga6zJsujfi6sgEJD4M1z\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721Metadata.sol\":{\"keccak256\":\"0xccb917776f826ac6b68bd5a15a5f711e3967848a52ba11e6104d9a4f593314a7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://430255ad2229ced6d880e61a67bdc6e48dbbaed8354a7c1fe918cd8b8714a886\",\"dweb:/ipfs/QmTHY56odzqEpEC6v6tafaWMYY7vmULw25q5XHJLCCAeox\"]},\"node_modules/@uniswap/v3-core/contracts/interfaces/IUniswapV3Pool.sol\":{\"keccak256\":\"0xfe6113d518466cd6652c85b111e01f33eb62157f49ae5ed7d5a3947a2044adb1\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://1c42b9e6f5902ac38dd43e25750939baa7e0c1425dc75afd717c4412731065d5\",\"dweb:/ipfs/QmWaoacnzsucTvBME2o7YgZBZMhaHv7fkj83htHMVWJKWh\"]},\"node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolActions.sol\":{\"keccak256\":\"0x9453dd0e7442188667d01d9b65de3f1e14e9511ff3e303179a15f6fc267f7634\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://982f4328f956c3e60e67501e759eb292ac487f76460c774c50e9ae4fcc92aae5\",\"dweb:/ipfs/QmRnzEDsaqtd9PJEVcgQi7p5aV5pMSvRUoGZJAdwFUJxgZ\"]},\"node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolDerivedState.sol\":{\"keccak256\":\"0xe603ac5b17ecdee73ba2b27efdf386c257a19c14206e87eee77e2017b742d9e5\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://8febc9bdb399a4d94bb89f5377732652e2400e4a8dee808201ade6848f9004e7\",\"dweb:/ipfs/QmaKDqYYFU4d2W2iN77aDHptfbFmYZRrMYXHeGpJmM8C1c\"]},\"node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolEvents.sol\":{\"keccak256\":\"0x8071514d0fe5d17d6fbd31c191cdfb703031c24e0ece3621d88ab10e871375cd\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://d0b571930cc7488b1d546a7e9cea7c52d8b3c4e207da657ed0e0db7343b8cd03\",\"dweb:/ipfs/QmaGK6vVwB95QSTR1XMYvrh7ivYAYZxi3fD7v6VMA4jZ39\"]},\"node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolImmutables.sol\":{\"keccak256\":\"0xf6e5d2cd1139c4c276bdbc8e1d2b256e456c866a91f1b868da265c6d2685c3f7\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://b99c8c9ae8e27ee6559e5866bea82cbc9ffc8247f8d15b7422a4deb287d4d047\",\"dweb:/ipfs/QmfL8gaqt3ffAnm6nVj5ksuNpLygXuL3xq5VBqrkwC2JJ3\"]},\"node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolOwnerActions.sol\":{\"keccak256\":\"0x759b78a2918af9e99e246dc3af084f654e48ef32bb4e4cb8a966aa3dcaece235\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://64144fb96e1c7fdba87305acadb98a198d26a3d46c097cb3a666e567f6f29735\",\"dweb:/ipfs/QmUnWVwN9FKB9uV5Pr8YfLpWZnYM2DENnRMaadZ492JS9u\"]},\"node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolState.sol\":{\"keccak256\":\"0x852dc1f5df7dcf7f11e7bb3eed79f0cea72ad4b25f6a9d2c35aafb48925fd49f\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://ed63907c38ff36b0e22bc9ffc53e791ea74f0d4f0e7c257fdfb5aaf8825b1f0f\",\"dweb:/ipfs/QmSQrckghEjs6HVsA5GVgpNpZWvTXMY5eQLF7cN6deFeEg\"]},\"node_modules/@uniswap/v3-core/contracts/libraries/FixedPoint128.sol\":{\"keccak256\":\"0x2d1f4f73ae0d8f0a210b8d30084659b57c56ac8f2f96011fca36f00a6d417178\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://2ba88933f16cd2df398e19c6ad227268f83c03081b70d243c97116d2ed9bc241\",\"dweb:/ipfs/QmTUGxdh8snzEM9VrTSS47StCg9VVWvvLJtJeNnMTFY4xb\"]},\"node_modules/@uniswap/v3-core/contracts/libraries/FixedPoint96.sol\":{\"keccak256\":\"0x0ba8a9b95a956a4050749c0158e928398c447c91469682ca8a7cc7e77a7fe032\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://186d3b528866065a5856f96d2aeec698efa99f8da913e9adf34f8cc296cc993d\",\"dweb:/ipfs/QmUAiMvtAQp8c9dy57bqJYzG7hkb1uChiPaQmt264skoqP\"]},\"node_modules/@uniswap/v3-core/contracts/libraries/FullMath.sol\":{\"keccak256\":\"0xe511530871deaef86692cea9adb6076d26d7b47fd4815ce51af52af981026057\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5a6ae776be3e7dcbd23d49ffbc9d792fed0ddf4b111ebb64b9bb2133ec263e\",\"dweb:/ipfs/QmbAUtWqvipzEARQpFpkzYKBELy3qeW5WXnZxHFU84sxG7\"]},\"node_modules/@uniswap/v3-core/contracts/libraries/LiquidityMath.sol\":{\"keccak256\":\"0xd53041349718d5bce4a89e87cd911879d41ba42ba3fab0614e5e8b742f352b88\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://ea7529b99ab4fc1d3e6c5a31990fb688f0a2d6cc302c0419e0cf5a2d6c563781\",\"dweb:/ipfs/QmVaphRSNpfChHZKzutQ9WprwCo2WE1euvThRfHcwsnHhj\"]},\"node_modules/@uniswap/v3-core/contracts/libraries/LowGasSafeMath.sol\":{\"keccak256\":\"0x86715eb960f18e01ac94e3bba4614ed51a887fa3c5bd1c43bf80aa98e019cf2d\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://bfc1d5d58e59015086b0e65a6c3a2ddad312e2350480510f6c0c8167f3d71a37\",\"dweb:/ipfs/QmQndULYjFsHKHjMAKLMfc12vWbVB5FawtioHtvwcWRJZp\"]},\"node_modules/@uniswap/v3-core/contracts/libraries/SafeCast.sol\":{\"keccak256\":\"0x4c12bf820c0b011f5490a209960ca34dd8af34660ef9e01de0438393d15e3fd8\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://fed11489e218e55d087d42b4f350a30e10cd2aedec8f432bd3cc712f648d5869\",\"dweb:/ipfs/QmWfRnRxyXwHUDcTQPazxYYk5jxErGeQqdvnYtyg5nBPbU\"]},\"node_modules/@uniswap/v3-core/contracts/libraries/Tick.sol\":{\"keccak256\":\"0x60752e079938508bfc274e2a3d2618ede09e153ba6f08cd3c476557947fbe2ac\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://23e7045efd6c5c4c5b3d15898d639cc2c128ace49d2dab0b1ef2b868e6a43234\",\"dweb:/ipfs/QmaoV6txuomfjSoeakDyZ73mPygEHCgrYarKQxQ5sp29hu\"]},\"node_modules/@uniswap/v3-core/contracts/libraries/TickMath.sol\":{\"keccak256\":\"0x1f864a2bf61ba05f3173eaf2e3f94c5e1da4bec0554757527b6d1ef1fe439e4e\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://5139b586df546a9d1c46804ca400b1cb9ce87236eaf212ebd64edee6747a172a\",\"dweb:/ipfs/QmVa2kcRw3VyuB6j1EVWXACKnkbQZgfXYXNi5voq3XkYG8\"]},\"node_modules/@uniswap/v3-periphery/contracts/interfaces/IERC721Permit.sol\":{\"keccak256\":\"0x9e3c2a4ee65ddf95b2dfcb0815784eea3a295707e6f8b83e4c4f0f8fe2e3a1d4\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://bfd939085b3618101b955f87c7fabf38338ba1aad480295acb8102ebc5d72471\",\"dweb:/ipfs/QmauQD8bGDHTztmTDfaKXjzM7Wacrq2XU7VcTbwn1WrDBL\"]},\"node_modules/@uniswap/v3-periphery/contracts/interfaces/INonfungiblePositionManager.sol\":{\"keccak256\":\"0xe1dadc73e60bf05d0b4e0f05bd2847c5783e833cc10352c14763360b13495ee1\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://6e3b10f75c101de044c1253672207399c1513fd1f0f17be31069c18c0b9a1460\",\"dweb:/ipfs/QmXrkXNY6njQfepE7KbRtJMruGXfrZwsMMsW7m5e3XS9Hf\"]},\"node_modules/@uniswap/v3-periphery/contracts/interfaces/IPeripheryImmutableState.sol\":{\"keccak256\":\"0x7affcfeb5127c0925a71d6a65345e117c33537523aeca7bc98085ead8452519d\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://e16b291294210e71cb0f20cd0afe62ae2dc6878d627f5ccc19c4dc9cd80aec3f\",\"dweb:/ipfs/QmQGitSyBr26nour81BZmpmDMyJpvZRqHQZvnCD1Acb127\"]},\"node_modules/@uniswap/v3-periphery/contracts/interfaces/IPeripheryPayments.sol\":{\"keccak256\":\"0xb547e10f1e69bed03621a62b73a503e260643066c6b4054867a4d1fef47eb274\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://f9a90f58f5fd5fb42f7811f4094113b532f307b14a73764c91f977590747f407\",\"dweb:/ipfs/QmSeNH2mfiDMKf3Q6V2sqtNxx1s72JNuA1VVxRM9HoMqYp\"]},\"node_modules/@uniswap/v3-periphery/contracts/interfaces/IPoolInitializer.sol\":{\"keccak256\":\"0x9d7695e8d94c22cc5fcced602017aabb988de89981ea7bee29ea629d5328a862\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://61b50933026ee1017db2a6273af8cedc3238c95dca58880db0918dbdbb2f064f\",\"dweb:/ipfs/QmUebR26pqG25d18aBELKz8aFFKkmHa8PxntzXTA7o9Ldu\"]},\"node_modules/@uniswap/v3-periphery/contracts/libraries/LiquidityAmounts.sol\":{\"keccak256\":\"0xf149581d28e1c81736dfe72be73ee1301d4945340cc6282fcdd63fe3c85abf24\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://0b67f375180bb62fe6753601cd09740496dcdcec4c0a4f9eaa6e94c5e1bb6844\",\"dweb:/ipfs/QmWYwkmqynRq7g81Nijg4eEkPgSRGnegDrbbEKkkTC1k2w\"]},\"node_modules/@uniswap/v3-periphery/contracts/libraries/PoolAddress.sol\":{\"keccak256\":\"0x5edd84eb8ba7c12fd8cb6cffe52e1e9f3f6464514ee5f539c2283826209035a2\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://f375d0e6d5ea3674e1aa6f112b021e9a86721a6a2f3cb22d673378b30cf0e840\",\"dweb:/ipfs/QmWJir2qnJyp963mU6U3jEEx9i3H3V5BgKawAfSnG1pC8w\"]},\"node_modules/@uniswap/v3-periphery/contracts/libraries/PositionKey.sol\":{\"keccak256\":\"0x1ef2fea641b75575e8e7621b90b23a8144fd22cb7013d82a592a72ab2af9527f\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://5832baa9cccf9763fec921077daf760f6bf90605063e4ddbf21807e09d502b5f\",\"dweb:/ipfs/QmSdbgqjSnFCtBc6xkNCzff4f6KpBqjZ1LJJc6ZA9FboEJ\"]},\"node_modules/@uniswap/v3-periphery/contracts/libraries/PositionValue.sol\":{\"keccak256\":\"0x6b97c349ae922798ebd38976e4b776190abedde98056cf416df12acc4b5a1cc5\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://862137704e9a806b0d9f22dfb5438b798ea4658c2aaae97dc5741f8d1d940624\",\"dweb:/ipfs/QmXTAkkmftCMjKkeR2XH2c3w6dEMbzafeWonX2YU26K6F6\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.7.6+commit.7338295f" }, "language": "Solidity", "output": { "abi": [], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "node_modules/@uniswap/v3-periphery/contracts/libraries/PositionValue.sol": "PositionValue" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "node_modules/@openzeppelin/contracts/introspection/IERC165.sol": { "keccak256": "0xf70bc25d981e4ec9673a995ad2995d5d493ea188d3d8f388bba9c227ce09fb82", "urls": [ "bzz-raw://bd970f51e3a77790c2f02b5b1759827c3b897c3d98c407b3631e8af32e3dc93c", "dweb:/ipfs/QmPF85Amgbqjk3SNZKsPCsqCw8JfwYEPMnnhvMJUyX58je" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol": { "keccak256": "0x2d99a0deb6648c34fbc66d6ac4a2d64798d7a5321b45624f6736fadc63da1962", "urls": [ "bzz-raw://2dcdce5ede1e5e650d174ec0b35be7d47b6a50f30bc895ef0d9e59fb75052e45", "dweb:/ipfs/QmQ2XFsDLTYqfEdw7pYzHiGtFRY11yQm4b6ynYgKqDxeB8" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC721/IERC721Enumerable.sol": { "keccak256": "0xe6bd1b1218338b6f9fe17776f48623b4ac3d8a40405f74a44bc23c00abe2ca13", "urls": [ "bzz-raw://0c354c3f6e9c487759aa7869be4fba68e0b2efc777b514d289c4cbd3ff8f7e1a", "dweb:/ipfs/QmdF9LcSYVmiUCL7JxLEYmSLrjga6zJsujfi6sgEJD4M1z" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC721/IERC721Metadata.sol": { "keccak256": "0xccb917776f826ac6b68bd5a15a5f711e3967848a52ba11e6104d9a4f593314a7", "urls": [ "bzz-raw://430255ad2229ced6d880e61a67bdc6e48dbbaed8354a7c1fe918cd8b8714a886", "dweb:/ipfs/QmTHY56odzqEpEC6v6tafaWMYY7vmULw25q5XHJLCCAeox" ], "license": "MIT" }, "node_modules/@uniswap/v3-core/contracts/interfaces/IUniswapV3Pool.sol": { "keccak256": "0xfe6113d518466cd6652c85b111e01f33eb62157f49ae5ed7d5a3947a2044adb1", "urls": [ "bzz-raw://1c42b9e6f5902ac38dd43e25750939baa7e0c1425dc75afd717c4412731065d5", "dweb:/ipfs/QmWaoacnzsucTvBME2o7YgZBZMhaHv7fkj83htHMVWJKWh" ], "license": "GPL-2.0-or-later" }, "node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolActions.sol": { "keccak256": "0x9453dd0e7442188667d01d9b65de3f1e14e9511ff3e303179a15f6fc267f7634", "urls": [ "bzz-raw://982f4328f956c3e60e67501e759eb292ac487f76460c774c50e9ae4fcc92aae5", "dweb:/ipfs/QmRnzEDsaqtd9PJEVcgQi7p5aV5pMSvRUoGZJAdwFUJxgZ" ], "license": "GPL-2.0-or-later" }, "node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolDerivedState.sol": { "keccak256": "0xe603ac5b17ecdee73ba2b27efdf386c257a19c14206e87eee77e2017b742d9e5", "urls": [ "bzz-raw://8febc9bdb399a4d94bb89f5377732652e2400e4a8dee808201ade6848f9004e7", "dweb:/ipfs/QmaKDqYYFU4d2W2iN77aDHptfbFmYZRrMYXHeGpJmM8C1c" ], "license": "GPL-2.0-or-later" }, "node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolEvents.sol": { "keccak256": "0x8071514d0fe5d17d6fbd31c191cdfb703031c24e0ece3621d88ab10e871375cd", "urls": [ "bzz-raw://d0b571930cc7488b1d546a7e9cea7c52d8b3c4e207da657ed0e0db7343b8cd03", "dweb:/ipfs/QmaGK6vVwB95QSTR1XMYvrh7ivYAYZxi3fD7v6VMA4jZ39" ], "license": "GPL-2.0-or-later" }, "node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolImmutables.sol": { "keccak256": "0xf6e5d2cd1139c4c276bdbc8e1d2b256e456c866a91f1b868da265c6d2685c3f7", "urls": [ "bzz-raw://b99c8c9ae8e27ee6559e5866bea82cbc9ffc8247f8d15b7422a4deb287d4d047", "dweb:/ipfs/QmfL8gaqt3ffAnm6nVj5ksuNpLygXuL3xq5VBqrkwC2JJ3" ], "license": "GPL-2.0-or-later" }, "node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolOwnerActions.sol": { "keccak256": "0x759b78a2918af9e99e246dc3af084f654e48ef32bb4e4cb8a966aa3dcaece235", "urls": [ "bzz-raw://64144fb96e1c7fdba87305acadb98a198d26a3d46c097cb3a666e567f6f29735", "dweb:/ipfs/QmUnWVwN9FKB9uV5Pr8YfLpWZnYM2DENnRMaadZ492JS9u" ], "license": "GPL-2.0-or-later" }, "node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolState.sol": { "keccak256": "0x852dc1f5df7dcf7f11e7bb3eed79f0cea72ad4b25f6a9d2c35aafb48925fd49f", "urls": [ "bzz-raw://ed63907c38ff36b0e22bc9ffc53e791ea74f0d4f0e7c257fdfb5aaf8825b1f0f", "dweb:/ipfs/QmSQrckghEjs6HVsA5GVgpNpZWvTXMY5eQLF7cN6deFeEg" ], "license": "GPL-2.0-or-later" }, "node_modules/@uniswap/v3-core/contracts/libraries/FixedPoint128.sol": { "keccak256": "0x2d1f4f73ae0d8f0a210b8d30084659b57c56ac8f2f96011fca36f00a6d417178", "urls": [ "bzz-raw://2ba88933f16cd2df398e19c6ad227268f83c03081b70d243c97116d2ed9bc241", "dweb:/ipfs/QmTUGxdh8snzEM9VrTSS47StCg9VVWvvLJtJeNnMTFY4xb" ], "license": "GPL-2.0-or-later" }, "node_modules/@uniswap/v3-core/contracts/libraries/FixedPoint96.sol": { "keccak256": "0x0ba8a9b95a956a4050749c0158e928398c447c91469682ca8a7cc7e77a7fe032", "urls": [ "bzz-raw://186d3b528866065a5856f96d2aeec698efa99f8da913e9adf34f8cc296cc993d", "dweb:/ipfs/QmUAiMvtAQp8c9dy57bqJYzG7hkb1uChiPaQmt264skoqP" ], "license": "GPL-2.0-or-later" }, "node_modules/@uniswap/v3-core/contracts/libraries/FullMath.sol": { "keccak256": "0xe511530871deaef86692cea9adb6076d26d7b47fd4815ce51af52af981026057", "urls": [ "bzz-raw://bc5a6ae776be3e7dcbd23d49ffbc9d792fed0ddf4b111ebb64b9bb2133ec263e", "dweb:/ipfs/QmbAUtWqvipzEARQpFpkzYKBELy3qeW5WXnZxHFU84sxG7" ], "license": "MIT" }, "node_modules/@uniswap/v3-core/contracts/libraries/LiquidityMath.sol": { "keccak256": "0xd53041349718d5bce4a89e87cd911879d41ba42ba3fab0614e5e8b742f352b88", "urls": [ "bzz-raw://ea7529b99ab4fc1d3e6c5a31990fb688f0a2d6cc302c0419e0cf5a2d6c563781", "dweb:/ipfs/QmVaphRSNpfChHZKzutQ9WprwCo2WE1euvThRfHcwsnHhj" ], "license": "GPL-2.0-or-later" }, "node_modules/@uniswap/v3-core/contracts/libraries/LowGasSafeMath.sol": { "keccak256": "0x86715eb960f18e01ac94e3bba4614ed51a887fa3c5bd1c43bf80aa98e019cf2d", "urls": [ "bzz-raw://bfc1d5d58e59015086b0e65a6c3a2ddad312e2350480510f6c0c8167f3d71a37", "dweb:/ipfs/QmQndULYjFsHKHjMAKLMfc12vWbVB5FawtioHtvwcWRJZp" ], "license": "GPL-2.0-or-later" }, "node_modules/@uniswap/v3-core/contracts/libraries/SafeCast.sol": { "keccak256": "0x4c12bf820c0b011f5490a209960ca34dd8af34660ef9e01de0438393d15e3fd8", "urls": [ "bzz-raw://fed11489e218e55d087d42b4f350a30e10cd2aedec8f432bd3cc712f648d5869", "dweb:/ipfs/QmWfRnRxyXwHUDcTQPazxYYk5jxErGeQqdvnYtyg5nBPbU" ], "license": "GPL-2.0-or-later" }, "node_modules/@uniswap/v3-core/contracts/libraries/Tick.sol": { "keccak256": "0x60752e079938508bfc274e2a3d2618ede09e153ba6f08cd3c476557947fbe2ac", "urls": [ "bzz-raw://23e7045efd6c5c4c5b3d15898d639cc2c128ace49d2dab0b1ef2b868e6a43234", "dweb:/ipfs/QmaoV6txuomfjSoeakDyZ73mPygEHCgrYarKQxQ5sp29hu" ], "license": "BUSL-1.1" }, "node_modules/@uniswap/v3-core/contracts/libraries/TickMath.sol": { "keccak256": "0x1f864a2bf61ba05f3173eaf2e3f94c5e1da4bec0554757527b6d1ef1fe439e4e", "urls": [ "bzz-raw://5139b586df546a9d1c46804ca400b1cb9ce87236eaf212ebd64edee6747a172a", "dweb:/ipfs/QmVa2kcRw3VyuB6j1EVWXACKnkbQZgfXYXNi5voq3XkYG8" ], "license": "GPL-2.0-or-later" }, "node_modules/@uniswap/v3-periphery/contracts/interfaces/IERC721Permit.sol": { "keccak256": "0x9e3c2a4ee65ddf95b2dfcb0815784eea3a295707e6f8b83e4c4f0f8fe2e3a1d4", "urls": [ "bzz-raw://bfd939085b3618101b955f87c7fabf38338ba1aad480295acb8102ebc5d72471", "dweb:/ipfs/QmauQD8bGDHTztmTDfaKXjzM7Wacrq2XU7VcTbwn1WrDBL" ], "license": "GPL-2.0-or-later" }, "node_modules/@uniswap/v3-periphery/contracts/interfaces/INonfungiblePositionManager.sol": { "keccak256": "0xe1dadc73e60bf05d0b4e0f05bd2847c5783e833cc10352c14763360b13495ee1", "urls": [ "bzz-raw://6e3b10f75c101de044c1253672207399c1513fd1f0f17be31069c18c0b9a1460", "dweb:/ipfs/QmXrkXNY6njQfepE7KbRtJMruGXfrZwsMMsW7m5e3XS9Hf" ], "license": "GPL-2.0-or-later" }, "node_modules/@uniswap/v3-periphery/contracts/interfaces/IPeripheryImmutableState.sol": { "keccak256": "0x7affcfeb5127c0925a71d6a65345e117c33537523aeca7bc98085ead8452519d", "urls": [ "bzz-raw://e16b291294210e71cb0f20cd0afe62ae2dc6878d627f5ccc19c4dc9cd80aec3f", "dweb:/ipfs/QmQGitSyBr26nour81BZmpmDMyJpvZRqHQZvnCD1Acb127" ], "license": "GPL-2.0-or-later" }, "node_modules/@uniswap/v3-periphery/contracts/interfaces/IPeripheryPayments.sol": { "keccak256": "0xb547e10f1e69bed03621a62b73a503e260643066c6b4054867a4d1fef47eb274", "urls": [ "bzz-raw://f9a90f58f5fd5fb42f7811f4094113b532f307b14a73764c91f977590747f407", "dweb:/ipfs/QmSeNH2mfiDMKf3Q6V2sqtNxx1s72JNuA1VVxRM9HoMqYp" ], "license": "GPL-2.0-or-later" }, "node_modules/@uniswap/v3-periphery/contracts/interfaces/IPoolInitializer.sol": { "keccak256": "0x9d7695e8d94c22cc5fcced602017aabb988de89981ea7bee29ea629d5328a862", "urls": [ "bzz-raw://61b50933026ee1017db2a6273af8cedc3238c95dca58880db0918dbdbb2f064f", "dweb:/ipfs/QmUebR26pqG25d18aBELKz8aFFKkmHa8PxntzXTA7o9Ldu" ], "license": "GPL-2.0-or-later" }, "node_modules/@uniswap/v3-periphery/contracts/libraries/LiquidityAmounts.sol": { "keccak256": "0xf149581d28e1c81736dfe72be73ee1301d4945340cc6282fcdd63fe3c85abf24", "urls": [ "bzz-raw://0b67f375180bb62fe6753601cd09740496dcdcec4c0a4f9eaa6e94c5e1bb6844", "dweb:/ipfs/QmWYwkmqynRq7g81Nijg4eEkPgSRGnegDrbbEKkkTC1k2w" ], "license": "GPL-2.0-or-later" }, "node_modules/@uniswap/v3-periphery/contracts/libraries/PoolAddress.sol": { "keccak256": "0x5edd84eb8ba7c12fd8cb6cffe52e1e9f3f6464514ee5f539c2283826209035a2", "urls": [ "bzz-raw://f375d0e6d5ea3674e1aa6f112b021e9a86721a6a2f3cb22d673378b30cf0e840", "dweb:/ipfs/QmWJir2qnJyp963mU6U3jEEx9i3H3V5BgKawAfSnG1pC8w" ], "license": "GPL-2.0-or-later" }, "node_modules/@uniswap/v3-periphery/contracts/libraries/PositionKey.sol": { "keccak256": "0x1ef2fea641b75575e8e7621b90b23a8144fd22cb7013d82a592a72ab2af9527f", "urls": [ "bzz-raw://5832baa9cccf9763fec921077daf760f6bf90605063e4ddbf21807e09d502b5f", "dweb:/ipfs/QmSdbgqjSnFCtBc6xkNCzff4f6KpBqjZ1LJJc6ZA9FboEJ" ], "license": "GPL-2.0-or-later" }, "node_modules/@uniswap/v3-periphery/contracts/libraries/PositionValue.sol": { "keccak256": "0x6b97c349ae922798ebd38976e4b776190abedde98056cf416df12acc4b5a1cc5", "urls": [ "bzz-raw://862137704e9a806b0d9f22dfb5438b798ea4658c2aaae97dc5741f8d1d940624", "dweb:/ipfs/QmXTAkkmftCMjKkeR2XH2c3w6dEMbzafeWonX2YU26K6F6" ], "license": "GPL-2.0-or-later" } }, "version": 1 }, "id": 51 } diff --git a/eth_defi/abi/enzyme/PricelessAssetBypassMixin.json b/eth_defi/abi/enzyme/PricelessAssetBypassMixin.json index 2a93be6a..8f6cabe3 100644 --- a/eth_defi/abi/enzyme/PricelessAssetBypassMixin.json +++ b/eth_defi/abi/enzyme/PricelessAssetBypassMixin.json @@ -1,892 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_valueInterpreter", - "type": "address" - }, - { - "internalType": "address", - "name": "_wethToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_timelock", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_timeLimit", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "comptrollerProxy", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "asset", - "type": "address" - } - ], - "name": "PricelessAssetBypassed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "comptrollerProxy", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "asset", - "type": "address" - } - ], - "name": "PricelessAssetTimelockStarted", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_asset", - "type": "address" - } - ], - "name": "assetIsBypassableForFund", - "outputs": [ - { - "internalType": "bool", - "name": "isBypassable_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_asset", - "type": "address" - } - ], - "name": "getAssetBypassWindowStartForFund", - "outputs": [ - { - "internalType": "uint256", - "name": "windowStart_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getPricelessAssetBypassTimeLimit", - "outputs": [ - { - "internalType": "uint256", - "name": "timeLimit_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getPricelessAssetBypassTimelock", - "outputs": [ - { - "internalType": "uint256", - "name": "timelock_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getPricelessAssetBypassValueInterpreter", - "outputs": [ - { - "internalType": "address", - "name": "valueInterpreter_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getPricelessAssetBypassWethToken", - "outputs": [ - { - "internalType": "address", - "name": "wethToken_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_asset", - "type": "address" - } - ], - "name": "startAssetBypassTimelock", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "assetIsBypassableForFund(address,address)": "85d63ec9", - "getAssetBypassWindowStartForFund(address,address)": "5da4cdb2", - "getPricelessAssetBypassTimeLimit()": "7fe29268", - "getPricelessAssetBypassTimelock()": "44105398", - "getPricelessAssetBypassValueInterpreter()": "14f8e615", - "getPricelessAssetBypassWethToken()": "234dfb17", - "startAssetBypassTimelock(address)": "07d2890e" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_valueInterpreter\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_wethToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_timelock\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_timeLimit\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"asset\",\"type\":\"address\"}],\"name\":\"PricelessAssetBypassed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"asset\",\"type\":\"address\"}],\"name\":\"PricelessAssetTimelockStarted\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"}],\"name\":\"assetIsBypassableForFund\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isBypassable_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"}],\"name\":\"getAssetBypassWindowStartForFund\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"windowStart_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPricelessAssetBypassTimeLimit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"timeLimit_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPricelessAssetBypassTimelock\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"timelock_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPricelessAssetBypassValueInterpreter\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"valueInterpreter_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPricelessAssetBypassWethToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"wethToken_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"}],\"name\":\"startAssetBypassTimelock\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"assetIsBypassableForFund(address,address)\":{\"params\":{\"_asset\":\"The asset for which to check if it is bypassable\",\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\"},\"returns\":{\"isBypassable_\":\"True if the asset is bypassable\"}},\"getAssetBypassWindowStartForFund(address,address)\":{\"params\":{\"_asset\":\"The asset\",\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\"},\"returns\":{\"windowStart_\":\"The timestamp\"}},\"getPricelessAssetBypassTimeLimit()\":{\"returns\":{\"timeLimit_\":\"The `PRICELESS_ASSET_BYPASS_TIME_LIMIT` variable value\"}},\"getPricelessAssetBypassTimelock()\":{\"returns\":{\"timelock_\":\"The `PRICELESS_ASSET_BYPASS_TIMELOCK` variable value\"}},\"getPricelessAssetBypassValueInterpreter()\":{\"returns\":{\"valueInterpreter_\":\"The `PRICELESS_ASSET_BYPASS_VALUE_INTERPRETER` variable value\"}},\"getPricelessAssetBypassWethToken()\":{\"returns\":{\"wethToken_\":\"The `PRICELESS_ASSET_BYPASS_WETH_TOKEN` variable value\"}},\"startAssetBypassTimelock(address)\":{\"details\":\"This function must be called via ComptrollerProxy.vaultCallOnContract(). This allows the function to be gas relay-able. It also means that the originator must be the owner.\",\"params\":{\"_asset\":\"The asset for which to start the timelock period\"}}},\"title\":\"PricelessAssetBypassMixin Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"assetIsBypassableForFund(address,address)\":{\"notice\":\"Checks whether an asset is bypassable (if still without a valid price) for a given fund\"},\"getAssetBypassWindowStartForFund(address,address)\":{\"notice\":\"Gets the timestamp from which an asset without a valid price can be considered to be valued at `0`\"},\"getPricelessAssetBypassTimeLimit()\":{\"notice\":\"Gets the `PRICELESS_ASSET_BYPASS_TIME_LIMIT` variable\"},\"getPricelessAssetBypassTimelock()\":{\"notice\":\"Gets the `PRICELESS_ASSET_BYPASS_TIMELOCK` variable\"},\"getPricelessAssetBypassValueInterpreter()\":{\"notice\":\"Gets the `PRICELESS_ASSET_BYPASS_VALUE_INTERPRETER` variable\"},\"getPricelessAssetBypassWethToken()\":{\"notice\":\"Gets the `PRICELESS_ASSET_BYPASS_WETH_TOKEN` variable\"},\"startAssetBypassTimelock(address)\":{\"notice\":\"Starts the timelock period for an asset without a valid price\"}},\"notice\":\"A mixin that facilitates timelocked actions for an asset that does not have a valid price\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/policy-manager/policies/utils/PricelessAssetBypassMixin.sol\":\"PricelessAssetBypassMixin\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/persistent/protocol-fee-reserve/interfaces/IProtocolFeeReserve1.sol\":{\"keccak256\":\"0x2728878c423db523bc95189137e8c58d2d7db9f56bbd5c6b1f988c08b551fbab\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3b0df1d2eb74151265d03ab91a7c341f7beca475dd2f4d669052dbc4ee2c06ac\",\"dweb:/ipfs/QmVx1cgrxQNYfdK1Kn15pcgqf79Uw8bF3U6i7F2HG2rj6G\"]},\"contracts/persistent/vault/VaultLibBase1.sol\":{\"keccak256\":\"0xa4dac1e4cdb311a2ab187135355357d8790c505ef36dd912c057fe53743d30b5\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b66efe821016ab927c949263023260515e90f5d480dc8d94eefbfeec7bf7490b\",\"dweb:/ipfs/QmNY3xKnhL9EptAbxGvXHGAXfV9pj3dDPwsZnKrPs54ZHw\"]},\"contracts/persistent/vault/VaultLibBase2.sol\":{\"keccak256\":\"0xf7d31f2a9a47770ed3f444be2c4fe9262ddb55fef7f25e546b1f03c9afec4c09\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9353ddce7c9b8b3c13fed23fe8edec99ca610d791b0c5b204b3d01f1f08d07d2\",\"dweb:/ipfs/QmeVsEh3joCjv49BRXeHASevnZZ5xdZXpkctHT8BPf37N2\"]},\"contracts/persistent/vault/VaultLibBaseCore.sol\":{\"keccak256\":\"0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd\",\"dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz\"]},\"contracts/persistent/vault/interfaces/IExternalPositionVault.sol\":{\"keccak256\":\"0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d\",\"dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8\"]},\"contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol\":{\"keccak256\":\"0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb\",\"dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU\"]},\"contracts/persistent/vault/interfaces/IMigratableVault.sol\":{\"keccak256\":\"0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6\",\"dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs\"]},\"contracts/persistent/vault/interfaces/IVaultCore.sol\":{\"keccak256\":\"0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd\",\"dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr\"]},\"contracts/persistent/vault/utils/ProxiableVaultLib.sol\":{\"keccak256\":\"0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44\",\"dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4\"]},\"contracts/persistent/vault/utils/SharesTokenBase.sol\":{\"keccak256\":\"0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8\",\"dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4\"]},\"contracts/persistent/vault/utils/VaultLibSafeMath.sol\":{\"keccak256\":\"0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02\",\"dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG\"]},\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/core/fund/comptroller/ComptrollerLib.sol\":{\"keccak256\":\"0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579\",\"dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq\"]},\"contracts/release/core/fund/comptroller/IComptroller.sol\":{\"keccak256\":\"0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97\",\"dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L\"]},\"contracts/release/core/fund/vault/IVault.sol\":{\"keccak256\":\"0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599\",\"dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG\"]},\"contracts/release/core/fund/vault/VaultLib.sol\":{\"keccak256\":\"0x07e49445ab55c01e1b499a48baadc2a15d1eba621f1c6d3ccfdb84c87b976da8\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://56d882459248f73e137db2e097fc56b946147fb28ec21661b77431f88e856cb4\",\"dweb:/ipfs/QmRP6Ry7DCS5uoKxnnkTomHSzbaCze6cHqbR9aLdjoF6vK\"]},\"contracts/release/extensions/IExtension.sol\":{\"keccak256\":\"0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70\",\"dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t\"]},\"contracts/release/extensions/external-position-manager/IExternalPositionManager.sol\":{\"keccak256\":\"0x3af3f634e1f99fb97091b7825c0d2e2baaafc124d4e87d56cb0c17ff8554f6c6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://515470605afe5ef147f30fa75ce7818f0e00e3d321eb81a4d9bffcdefc294495\",\"dweb:/ipfs/QmPKsp99pfHoz9Tfo3ZxnkmqDqJtN9PxqacF2RmeVfxUJF\"]},\"contracts/release/extensions/fee-manager/IFeeManager.sol\":{\"keccak256\":\"0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22\",\"dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod\"]},\"contracts/release/extensions/policy-manager/IPolicyManager.sol\":{\"keccak256\":\"0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa\",\"dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb\"]},\"contracts/release/extensions/policy-manager/policies/utils/PricelessAssetBypassMixin.sol\":{\"keccak256\":\"0x5624f038f790b51ba9bd2207a6e80d188bc5d0b049807e0f06f123f6d00e3444\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://53782b55be373922df118f9970f897c1adfd4646dc4a95eec52e7c914944f68c\",\"dweb:/ipfs/QmTGPQRqzczosWALPZgAN6TKE4qdBuFwGBdCKy6GxtZBPe\"]},\"contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol\":{\"keccak256\":\"0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f\",\"dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol\":{\"keccak256\":\"0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0\",\"dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol\":{\"keccak256\":\"0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b\",\"dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3\"]},\"contracts/release/infrastructure/price-feeds/derivatives/AggregatedDerivativePriceFeedMixin.sol\":{\"keccak256\":\"0x85d2ac39834dae7feb04f0e37317a38b8abeb0f950692fbc9d29078c52cd8d52\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://7bf8f1ce064d85a2812a944fc93068955b233924097f7f45898be3db826579d5\",\"dweb:/ipfs/Qme7f6AhxLVn32prM8fHaCvxtVi86A9KqFMqPA1s88kVYR\"]},\"contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol\":{\"keccak256\":\"0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e\",\"dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK\"]},\"contracts/release/infrastructure/price-feeds/primitives/ChainlinkPriceFeedMixin.sol\":{\"keccak256\":\"0x7fb0078e7387f07ff09958fe4e4e7b317e72c23884f61e8c133776cad522f8bb\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://e973f29ed0c3bf03e20154ab4b0cfc68c3a4372a52ec746f9d9f86697b30e977\",\"dweb:/ipfs/QmfMb7H1zNnj2hzmUr6742HmCTiNVuQ2PFjeR8q2M4Liyu\"]},\"contracts/release/infrastructure/protocol-fees/IProtocolFeeTracker.sol\":{\"keccak256\":\"0x232b347f83457439064add7369bfe1930c7cb56f15930bb87d640e909c15e447\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://24f9af5eebdd373b1d7a598c096eb6def31b2640d54416d7d5a7226e1cef17e6\",\"dweb:/ipfs/QmStq9ByGuSYdKwTmZf52L1X6sZVJUfXTnoVbnjLLiUcHG\"]},\"contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol\":{\"keccak256\":\"0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965\",\"dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ\"]},\"contracts/release/infrastructure/value-interpreter/ValueInterpreter.sol\":{\"keccak256\":\"0x64565011785d0d29a75021cda34687cfbc0641094d6f2faf4d9c78c8cd9f0d1d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://03ea9b29a332436d18ca1a4df7e5cdf231d5142dfb916a39cb3a721342d54e0e\",\"dweb:/ipfs/QmcB8Z7A7QELAxg2FfJpD26k2bUhMNUT4wACMVKxuge3QS\"]},\"contracts/release/interfaces/IChainlinkAggregator.sol\":{\"keccak256\":\"0x8104db68d4edc00c86b29b366f4397cdbe7bd95bb9dc90f54140af4bae963788\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://4664240be22fe76bd4e84d1cbaace3998dbc96759a14345819a889f0c288d22e\",\"dweb:/ipfs/QmQ8fbA4tvXeCeaAFeS2JrLEQUPFeYrePAKoUywRtcicgA\"]},\"contracts/release/interfaces/IGsnForwarder.sol\":{\"keccak256\":\"0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29\",\"dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G\"]},\"contracts/release/interfaces/IGsnPaymaster.sol\":{\"keccak256\":\"0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4\",\"dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF\"]},\"contracts/release/interfaces/IGsnTypes.sol\":{\"keccak256\":\"0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7\",\"dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C\"]},\"contracts/release/interfaces/IWETH.sol\":{\"keccak256\":\"0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2\",\"dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/FundDeployerOwnerMixin.sol\":{\"keccak256\":\"0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927\",\"dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM\"]},\"contracts/release/utils/MathHelpers.sol\":{\"keccak256\":\"0x8aef498ae98bfb40cd1df8c9ed652b4c092fbbe62d5a1fad522c53654523248e\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ed62789f6a8d5ca30a40c591f244b915e4711493a9e4b1b4d40ea2bc97b02a95\",\"dweb:/ipfs/QmWyXJ55arURtx9VMkUQokdsjk8tbgM2cC8rENFUMyz5D3\"]},\"contracts/release/utils/beacon-proxy/IBeacon.sol\":{\"keccak256\":\"0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39\",\"dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V\"]},\"contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol\":{\"keccak256\":\"0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be\",\"dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20Burnable.sol\":{\"keccak256\":\"0x9c0eb3b0e11d2480d49991dc384f1e5f9c9b9967cc81944d50916a9b9c6c4984\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99e4033d778624992e86f0b6d801a4f6d7b5c0cd5c79c1296be90a051ad5f5af\",\"dweb:/ipfs/QmShYmkUqh6pDEeoWadZ24icmCr4C2Xys1uE5boivPmbwf\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_valueInterpreter", - "type": "address" - }, - { - "internalType": "address", - "name": "_wethToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_timelock", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_timeLimit", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "comptrollerProxy", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "asset", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "PricelessAssetBypassed", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "comptrollerProxy", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "asset", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "PricelessAssetTimelockStarted", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_asset", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "assetIsBypassableForFund", - "outputs": [ - { - "internalType": "bool", - "name": "isBypassable_", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_asset", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getAssetBypassWindowStartForFund", - "outputs": [ - { - "internalType": "uint256", - "name": "windowStart_", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getPricelessAssetBypassTimeLimit", - "outputs": [ - { - "internalType": "uint256", - "name": "timeLimit_", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getPricelessAssetBypassTimelock", - "outputs": [ - { - "internalType": "uint256", - "name": "timelock_", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getPricelessAssetBypassValueInterpreter", - "outputs": [ - { - "internalType": "address", - "name": "valueInterpreter_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getPricelessAssetBypassWethToken", - "outputs": [ - { - "internalType": "address", - "name": "wethToken_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_asset", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "startAssetBypassTimelock" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "assetIsBypassableForFund(address,address)": { - "params": { - "_asset": "The asset for which to check if it is bypassable", - "_comptrollerProxy": "The ComptrollerProxy of the fund" - }, - "returns": { - "isBypassable_": "True if the asset is bypassable" - } - }, - "getAssetBypassWindowStartForFund(address,address)": { - "params": { - "_asset": "The asset", - "_comptrollerProxy": "The ComptrollerProxy of the fund" - }, - "returns": { - "windowStart_": "The timestamp" - } - }, - "getPricelessAssetBypassTimeLimit()": { - "returns": { - "timeLimit_": "The `PRICELESS_ASSET_BYPASS_TIME_LIMIT` variable value" - } - }, - "getPricelessAssetBypassTimelock()": { - "returns": { - "timelock_": "The `PRICELESS_ASSET_BYPASS_TIMELOCK` variable value" - } - }, - "getPricelessAssetBypassValueInterpreter()": { - "returns": { - "valueInterpreter_": "The `PRICELESS_ASSET_BYPASS_VALUE_INTERPRETER` variable value" - } - }, - "getPricelessAssetBypassWethToken()": { - "returns": { - "wethToken_": "The `PRICELESS_ASSET_BYPASS_WETH_TOKEN` variable value" - } - }, - "startAssetBypassTimelock(address)": { - "details": "This function must be called via ComptrollerProxy.vaultCallOnContract(). This allows the function to be gas relay-able. It also means that the originator must be the owner.", - "params": { - "_asset": "The asset for which to start the timelock period" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "assetIsBypassableForFund(address,address)": { - "notice": "Checks whether an asset is bypassable (if still without a valid price) for a given fund" - }, - "getAssetBypassWindowStartForFund(address,address)": { - "notice": "Gets the timestamp from which an asset without a valid price can be considered to be valued at `0`" - }, - "getPricelessAssetBypassTimeLimit()": { - "notice": "Gets the `PRICELESS_ASSET_BYPASS_TIME_LIMIT` variable" - }, - "getPricelessAssetBypassTimelock()": { - "notice": "Gets the `PRICELESS_ASSET_BYPASS_TIMELOCK` variable" - }, - "getPricelessAssetBypassValueInterpreter()": { - "notice": "Gets the `PRICELESS_ASSET_BYPASS_VALUE_INTERPRETER` variable" - }, - "getPricelessAssetBypassWethToken()": { - "notice": "Gets the `PRICELESS_ASSET_BYPASS_WETH_TOKEN` variable" - }, - "startAssetBypassTimelock(address)": { - "notice": "Starts the timelock period for an asset without a valid price" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/policy-manager/policies/utils/PricelessAssetBypassMixin.sol": "PricelessAssetBypassMixin" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/dispatcher/IDispatcher.sol": { - "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", - "urls": [ - "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", - "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/external-positions/IExternalPosition.sol": { - "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", - "urls": [ - "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", - "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/protocol-fee-reserve/interfaces/IProtocolFeeReserve1.sol": { - "keccak256": "0x2728878c423db523bc95189137e8c58d2d7db9f56bbd5c6b1f988c08b551fbab", - "urls": [ - "bzz-raw://3b0df1d2eb74151265d03ab91a7c341f7beca475dd2f4d669052dbc4ee2c06ac", - "dweb:/ipfs/QmVx1cgrxQNYfdK1Kn15pcgqf79Uw8bF3U6i7F2HG2rj6G" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/VaultLibBase1.sol": { - "keccak256": "0xa4dac1e4cdb311a2ab187135355357d8790c505ef36dd912c057fe53743d30b5", - "urls": [ - "bzz-raw://b66efe821016ab927c949263023260515e90f5d480dc8d94eefbfeec7bf7490b", - "dweb:/ipfs/QmNY3xKnhL9EptAbxGvXHGAXfV9pj3dDPwsZnKrPs54ZHw" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/VaultLibBase2.sol": { - "keccak256": "0xf7d31f2a9a47770ed3f444be2c4fe9262ddb55fef7f25e546b1f03c9afec4c09", - "urls": [ - "bzz-raw://9353ddce7c9b8b3c13fed23fe8edec99ca610d791b0c5b204b3d01f1f08d07d2", - "dweb:/ipfs/QmeVsEh3joCjv49BRXeHASevnZZ5xdZXpkctHT8BPf37N2" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/VaultLibBaseCore.sol": { - "keccak256": "0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074", - "urls": [ - "bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd", - "dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IExternalPositionVault.sol": { - "keccak256": "0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6", - "urls": [ - "bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d", - "dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol": { - "keccak256": "0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0", - "urls": [ - "bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb", - "dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IMigratableVault.sol": { - "keccak256": "0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238", - "urls": [ - "bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6", - "dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IVaultCore.sol": { - "keccak256": "0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80", - "urls": [ - "bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd", - "dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/utils/ProxiableVaultLib.sol": { - "keccak256": "0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76", - "urls": [ - "bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44", - "dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/utils/SharesTokenBase.sol": { - "keccak256": "0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113", - "urls": [ - "bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8", - "dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/utils/VaultLibSafeMath.sol": { - "keccak256": "0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d", - "urls": [ - "bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02", - "dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund-deployer/IFundDeployer.sol": { - "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", - "urls": [ - "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", - "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/comptroller/ComptrollerLib.sol": { - "keccak256": "0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64", - "urls": [ - "bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579", - "dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/comptroller/IComptroller.sol": { - "keccak256": "0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f", - "urls": [ - "bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97", - "dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/vault/IVault.sol": { - "keccak256": "0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd", - "urls": [ - "bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599", - "dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/vault/VaultLib.sol": { - "keccak256": "0x07e49445ab55c01e1b499a48baadc2a15d1eba621f1c6d3ccfdb84c87b976da8", - "urls": [ - "bzz-raw://56d882459248f73e137db2e097fc56b946147fb28ec21661b77431f88e856cb4", - "dweb:/ipfs/QmRP6Ry7DCS5uoKxnnkTomHSzbaCze6cHqbR9aLdjoF6vK" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/IExtension.sol": { - "keccak256": "0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b", - "urls": [ - "bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70", - "dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/IExternalPositionManager.sol": { - "keccak256": "0x3af3f634e1f99fb97091b7825c0d2e2baaafc124d4e87d56cb0c17ff8554f6c6", - "urls": [ - "bzz-raw://515470605afe5ef147f30fa75ce7818f0e00e3d321eb81a4d9bffcdefc294495", - "dweb:/ipfs/QmPKsp99pfHoz9Tfo3ZxnkmqDqJtN9PxqacF2RmeVfxUJF" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/fee-manager/IFeeManager.sol": { - "keccak256": "0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51", - "urls": [ - "bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22", - "dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/policy-manager/IPolicyManager.sol": { - "keccak256": "0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32", - "urls": [ - "bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa", - "dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/policy-manager/policies/utils/PricelessAssetBypassMixin.sol": { - "keccak256": "0x5624f038f790b51ba9bd2207a6e80d188bc5d0b049807e0f06f123f6d00e3444", - "urls": [ - "bzz-raw://53782b55be373922df118f9970f897c1adfd4646dc4a95eec52e7c914944f68c", - "dweb:/ipfs/QmTGPQRqzczosWALPZgAN6TKE4qdBuFwGBdCKy6GxtZBPe" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol": { - "keccak256": "0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609", - "urls": [ - "bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f", - "dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol": { - "keccak256": "0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01", - "urls": [ - "bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0", - "dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol": { - "keccak256": "0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196", - "urls": [ - "bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b", - "dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/price-feeds/derivatives/AggregatedDerivativePriceFeedMixin.sol": { - "keccak256": "0x85d2ac39834dae7feb04f0e37317a38b8abeb0f950692fbc9d29078c52cd8d52", - "urls": [ - "bzz-raw://7bf8f1ce064d85a2812a944fc93068955b233924097f7f45898be3db826579d5", - "dweb:/ipfs/Qme7f6AhxLVn32prM8fHaCvxtVi86A9KqFMqPA1s88kVYR" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol": { - "keccak256": "0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332", - "urls": [ - "bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e", - "dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/price-feeds/primitives/ChainlinkPriceFeedMixin.sol": { - "keccak256": "0x7fb0078e7387f07ff09958fe4e4e7b317e72c23884f61e8c133776cad522f8bb", - "urls": [ - "bzz-raw://e973f29ed0c3bf03e20154ab4b0cfc68c3a4372a52ec746f9d9f86697b30e977", - "dweb:/ipfs/QmfMb7H1zNnj2hzmUr6742HmCTiNVuQ2PFjeR8q2M4Liyu" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/protocol-fees/IProtocolFeeTracker.sol": { - "keccak256": "0x232b347f83457439064add7369bfe1930c7cb56f15930bb87d640e909c15e447", - "urls": [ - "bzz-raw://24f9af5eebdd373b1d7a598c096eb6def31b2640d54416d7d5a7226e1cef17e6", - "dweb:/ipfs/QmStq9ByGuSYdKwTmZf52L1X6sZVJUfXTnoVbnjLLiUcHG" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol": { - "keccak256": "0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794", - "urls": [ - "bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965", - "dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/value-interpreter/ValueInterpreter.sol": { - "keccak256": "0x64565011785d0d29a75021cda34687cfbc0641094d6f2faf4d9c78c8cd9f0d1d", - "urls": [ - "bzz-raw://03ea9b29a332436d18ca1a4df7e5cdf231d5142dfb916a39cb3a721342d54e0e", - "dweb:/ipfs/QmcB8Z7A7QELAxg2FfJpD26k2bUhMNUT4wACMVKxuge3QS" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IChainlinkAggregator.sol": { - "keccak256": "0x8104db68d4edc00c86b29b366f4397cdbe7bd95bb9dc90f54140af4bae963788", - "urls": [ - "bzz-raw://4664240be22fe76bd4e84d1cbaace3998dbc96759a14345819a889f0c288d22e", - "dweb:/ipfs/QmQ8fbA4tvXeCeaAFeS2JrLEQUPFeYrePAKoUywRtcicgA" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IGsnForwarder.sol": { - "keccak256": "0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030", - "urls": [ - "bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29", - "dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IGsnPaymaster.sol": { - "keccak256": "0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c", - "urls": [ - "bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4", - "dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IGsnTypes.sol": { - "keccak256": "0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714", - "urls": [ - "bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7", - "dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IWETH.sol": { - "keccak256": "0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2", - "urls": [ - "bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2", - "dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AddressArrayLib.sol": { - "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", - "urls": [ - "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", - "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/FundDeployerOwnerMixin.sol": { - "keccak256": "0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934", - "urls": [ - "bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927", - "dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/MathHelpers.sol": { - "keccak256": "0x8aef498ae98bfb40cd1df8c9ed652b4c092fbbe62d5a1fad522c53654523248e", - "urls": [ - "bzz-raw://ed62789f6a8d5ca30a40c591f244b915e4711493a9e4b1b4d40ea2bc97b02a95", - "dweb:/ipfs/QmWyXJ55arURtx9VMkUQokdsjk8tbgM2cC8rENFUMyz5D3" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/beacon-proxy/IBeacon.sol": { - "keccak256": "0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2", - "urls": [ - "bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39", - "dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol": { - "keccak256": "0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc", - "urls": [ - "bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be", - "dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20Burnable.sol": { - "keccak256": "0x9c0eb3b0e11d2480d49991dc384f1e5f9c9b9967cc81944d50916a9b9c6c4984", - "urls": [ - "bzz-raw://99e4033d778624992e86f0b6d801a4f6d7b5c0cd5c79c1296be90a051ad5f5af", - "dweb:/ipfs/QmShYmkUqh6pDEeoWadZ24icmCr4C2Xys1uE5boivPmbwf" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { - "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", - "urls": [ - "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", - "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Address.sol": { - "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", - "urls": [ - "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", - "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 224 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_valueInterpreter", "type": "address", "internalType": "address" }, { "name": "_wethToken", "type": "address", "internalType": "address" }, { "name": "_timelock", "type": "uint256", "internalType": "uint256" }, { "name": "_timeLimit", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "assetIsBypassableForFund", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" }, { "name": "_asset", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "isBypassable_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "getAssetBypassWindowStartForFund", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" }, { "name": "_asset", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "windowStart_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "getPricelessAssetBypassTimeLimit", "inputs": [], "outputs": [ { "name": "timeLimit_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "getPricelessAssetBypassTimelock", "inputs": [], "outputs": [ { "name": "timelock_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "getPricelessAssetBypassValueInterpreter", "inputs": [], "outputs": [ { "name": "valueInterpreter_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getPricelessAssetBypassWethToken", "inputs": [], "outputs": [ { "name": "wethToken_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "startAssetBypassTimelock", "inputs": [ { "name": "_asset", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "event", "name": "PricelessAssetBypassed", "inputs": [ { "name": "comptrollerProxy", "type": "address", "indexed": true, "internalType": "address" }, { "name": "asset", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "PricelessAssetTimelockStarted", "inputs": [ { "name": "comptrollerProxy", "type": "address", "indexed": true, "internalType": "address" }, { "name": "asset", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "assetIsBypassableForFund(address,address)": "85d63ec9", "getAssetBypassWindowStartForFund(address,address)": "5da4cdb2", "getPricelessAssetBypassTimeLimit()": "7fe29268", "getPricelessAssetBypassTimelock()": "44105398", "getPricelessAssetBypassValueInterpreter()": "14f8e615", "getPricelessAssetBypassWethToken()": "234dfb17", "startAssetBypassTimelock(address)": "07d2890e" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_valueInterpreter\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_wethToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_timelock\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_timeLimit\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"asset\",\"type\":\"address\"}],\"name\":\"PricelessAssetBypassed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"asset\",\"type\":\"address\"}],\"name\":\"PricelessAssetTimelockStarted\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"}],\"name\":\"assetIsBypassableForFund\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isBypassable_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"}],\"name\":\"getAssetBypassWindowStartForFund\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"windowStart_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPricelessAssetBypassTimeLimit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"timeLimit_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPricelessAssetBypassTimelock\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"timelock_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPricelessAssetBypassValueInterpreter\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"valueInterpreter_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPricelessAssetBypassWethToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"wethToken_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"}],\"name\":\"startAssetBypassTimelock\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"assetIsBypassableForFund(address,address)\":{\"params\":{\"_asset\":\"The asset for which to check if it is bypassable\",\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\"},\"returns\":{\"isBypassable_\":\"True if the asset is bypassable\"}},\"getAssetBypassWindowStartForFund(address,address)\":{\"params\":{\"_asset\":\"The asset\",\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\"},\"returns\":{\"windowStart_\":\"The timestamp\"}},\"getPricelessAssetBypassTimeLimit()\":{\"returns\":{\"timeLimit_\":\"The `PRICELESS_ASSET_BYPASS_TIME_LIMIT` variable value\"}},\"getPricelessAssetBypassTimelock()\":{\"returns\":{\"timelock_\":\"The `PRICELESS_ASSET_BYPASS_TIMELOCK` variable value\"}},\"getPricelessAssetBypassValueInterpreter()\":{\"returns\":{\"valueInterpreter_\":\"The `PRICELESS_ASSET_BYPASS_VALUE_INTERPRETER` variable value\"}},\"getPricelessAssetBypassWethToken()\":{\"returns\":{\"wethToken_\":\"The `PRICELESS_ASSET_BYPASS_WETH_TOKEN` variable value\"}},\"startAssetBypassTimelock(address)\":{\"details\":\"This function must be called via ComptrollerProxy.vaultCallOnContract(). This allows the function to be gas relay-able. It also means that the originator must be the owner.\",\"params\":{\"_asset\":\"The asset for which to start the timelock period\"}}},\"title\":\"PricelessAssetBypassMixin Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"assetIsBypassableForFund(address,address)\":{\"notice\":\"Checks whether an asset is bypassable (if still without a valid price) for a given fund\"},\"getAssetBypassWindowStartForFund(address,address)\":{\"notice\":\"Gets the timestamp from which an asset without a valid price can be considered to be valued at `0`\"},\"getPricelessAssetBypassTimeLimit()\":{\"notice\":\"Gets the `PRICELESS_ASSET_BYPASS_TIME_LIMIT` variable\"},\"getPricelessAssetBypassTimelock()\":{\"notice\":\"Gets the `PRICELESS_ASSET_BYPASS_TIMELOCK` variable\"},\"getPricelessAssetBypassValueInterpreter()\":{\"notice\":\"Gets the `PRICELESS_ASSET_BYPASS_VALUE_INTERPRETER` variable\"},\"getPricelessAssetBypassWethToken()\":{\"notice\":\"Gets the `PRICELESS_ASSET_BYPASS_WETH_TOKEN` variable\"},\"startAssetBypassTimelock(address)\":{\"notice\":\"Starts the timelock period for an asset without a valid price\"}},\"notice\":\"A mixin that facilitates timelocked actions for an asset that does not have a valid price\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/policy-manager/policies/utils/PricelessAssetBypassMixin.sol\":\"PricelessAssetBypassMixin\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/persistent/protocol-fee-reserve/interfaces/IProtocolFeeReserve1.sol\":{\"keccak256\":\"0x2728878c423db523bc95189137e8c58d2d7db9f56bbd5c6b1f988c08b551fbab\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3b0df1d2eb74151265d03ab91a7c341f7beca475dd2f4d669052dbc4ee2c06ac\",\"dweb:/ipfs/QmVx1cgrxQNYfdK1Kn15pcgqf79Uw8bF3U6i7F2HG2rj6G\"]},\"contracts/persistent/vault/VaultLibBase1.sol\":{\"keccak256\":\"0xa4dac1e4cdb311a2ab187135355357d8790c505ef36dd912c057fe53743d30b5\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b66efe821016ab927c949263023260515e90f5d480dc8d94eefbfeec7bf7490b\",\"dweb:/ipfs/QmNY3xKnhL9EptAbxGvXHGAXfV9pj3dDPwsZnKrPs54ZHw\"]},\"contracts/persistent/vault/VaultLibBase2.sol\":{\"keccak256\":\"0xf7d31f2a9a47770ed3f444be2c4fe9262ddb55fef7f25e546b1f03c9afec4c09\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9353ddce7c9b8b3c13fed23fe8edec99ca610d791b0c5b204b3d01f1f08d07d2\",\"dweb:/ipfs/QmeVsEh3joCjv49BRXeHASevnZZ5xdZXpkctHT8BPf37N2\"]},\"contracts/persistent/vault/VaultLibBaseCore.sol\":{\"keccak256\":\"0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd\",\"dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz\"]},\"contracts/persistent/vault/interfaces/IExternalPositionVault.sol\":{\"keccak256\":\"0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d\",\"dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8\"]},\"contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol\":{\"keccak256\":\"0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb\",\"dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU\"]},\"contracts/persistent/vault/interfaces/IMigratableVault.sol\":{\"keccak256\":\"0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6\",\"dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs\"]},\"contracts/persistent/vault/interfaces/IVaultCore.sol\":{\"keccak256\":\"0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd\",\"dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr\"]},\"contracts/persistent/vault/utils/ProxiableVaultLib.sol\":{\"keccak256\":\"0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44\",\"dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4\"]},\"contracts/persistent/vault/utils/SharesTokenBase.sol\":{\"keccak256\":\"0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8\",\"dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4\"]},\"contracts/persistent/vault/utils/VaultLibSafeMath.sol\":{\"keccak256\":\"0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02\",\"dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG\"]},\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/core/fund/comptroller/ComptrollerLib.sol\":{\"keccak256\":\"0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579\",\"dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq\"]},\"contracts/release/core/fund/comptroller/IComptroller.sol\":{\"keccak256\":\"0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97\",\"dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L\"]},\"contracts/release/core/fund/vault/IVault.sol\":{\"keccak256\":\"0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599\",\"dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG\"]},\"contracts/release/core/fund/vault/VaultLib.sol\":{\"keccak256\":\"0x07e49445ab55c01e1b499a48baadc2a15d1eba621f1c6d3ccfdb84c87b976da8\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://56d882459248f73e137db2e097fc56b946147fb28ec21661b77431f88e856cb4\",\"dweb:/ipfs/QmRP6Ry7DCS5uoKxnnkTomHSzbaCze6cHqbR9aLdjoF6vK\"]},\"contracts/release/extensions/IExtension.sol\":{\"keccak256\":\"0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70\",\"dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t\"]},\"contracts/release/extensions/external-position-manager/IExternalPositionManager.sol\":{\"keccak256\":\"0x3af3f634e1f99fb97091b7825c0d2e2baaafc124d4e87d56cb0c17ff8554f6c6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://515470605afe5ef147f30fa75ce7818f0e00e3d321eb81a4d9bffcdefc294495\",\"dweb:/ipfs/QmPKsp99pfHoz9Tfo3ZxnkmqDqJtN9PxqacF2RmeVfxUJF\"]},\"contracts/release/extensions/fee-manager/IFeeManager.sol\":{\"keccak256\":\"0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22\",\"dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod\"]},\"contracts/release/extensions/policy-manager/IPolicyManager.sol\":{\"keccak256\":\"0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa\",\"dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb\"]},\"contracts/release/extensions/policy-manager/policies/utils/PricelessAssetBypassMixin.sol\":{\"keccak256\":\"0x5624f038f790b51ba9bd2207a6e80d188bc5d0b049807e0f06f123f6d00e3444\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://53782b55be373922df118f9970f897c1adfd4646dc4a95eec52e7c914944f68c\",\"dweb:/ipfs/QmTGPQRqzczosWALPZgAN6TKE4qdBuFwGBdCKy6GxtZBPe\"]},\"contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol\":{\"keccak256\":\"0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f\",\"dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol\":{\"keccak256\":\"0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0\",\"dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol\":{\"keccak256\":\"0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b\",\"dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3\"]},\"contracts/release/infrastructure/price-feeds/derivatives/AggregatedDerivativePriceFeedMixin.sol\":{\"keccak256\":\"0x85d2ac39834dae7feb04f0e37317a38b8abeb0f950692fbc9d29078c52cd8d52\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://7bf8f1ce064d85a2812a944fc93068955b233924097f7f45898be3db826579d5\",\"dweb:/ipfs/Qme7f6AhxLVn32prM8fHaCvxtVi86A9KqFMqPA1s88kVYR\"]},\"contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol\":{\"keccak256\":\"0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e\",\"dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK\"]},\"contracts/release/infrastructure/price-feeds/primitives/ChainlinkPriceFeedMixin.sol\":{\"keccak256\":\"0x7fb0078e7387f07ff09958fe4e4e7b317e72c23884f61e8c133776cad522f8bb\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://e973f29ed0c3bf03e20154ab4b0cfc68c3a4372a52ec746f9d9f86697b30e977\",\"dweb:/ipfs/QmfMb7H1zNnj2hzmUr6742HmCTiNVuQ2PFjeR8q2M4Liyu\"]},\"contracts/release/infrastructure/protocol-fees/IProtocolFeeTracker.sol\":{\"keccak256\":\"0x232b347f83457439064add7369bfe1930c7cb56f15930bb87d640e909c15e447\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://24f9af5eebdd373b1d7a598c096eb6def31b2640d54416d7d5a7226e1cef17e6\",\"dweb:/ipfs/QmStq9ByGuSYdKwTmZf52L1X6sZVJUfXTnoVbnjLLiUcHG\"]},\"contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol\":{\"keccak256\":\"0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965\",\"dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ\"]},\"contracts/release/infrastructure/value-interpreter/ValueInterpreter.sol\":{\"keccak256\":\"0x64565011785d0d29a75021cda34687cfbc0641094d6f2faf4d9c78c8cd9f0d1d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://03ea9b29a332436d18ca1a4df7e5cdf231d5142dfb916a39cb3a721342d54e0e\",\"dweb:/ipfs/QmcB8Z7A7QELAxg2FfJpD26k2bUhMNUT4wACMVKxuge3QS\"]},\"contracts/release/interfaces/IChainlinkAggregator.sol\":{\"keccak256\":\"0x8104db68d4edc00c86b29b366f4397cdbe7bd95bb9dc90f54140af4bae963788\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://4664240be22fe76bd4e84d1cbaace3998dbc96759a14345819a889f0c288d22e\",\"dweb:/ipfs/QmQ8fbA4tvXeCeaAFeS2JrLEQUPFeYrePAKoUywRtcicgA\"]},\"contracts/release/interfaces/IGsnForwarder.sol\":{\"keccak256\":\"0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29\",\"dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G\"]},\"contracts/release/interfaces/IGsnPaymaster.sol\":{\"keccak256\":\"0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4\",\"dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF\"]},\"contracts/release/interfaces/IGsnTypes.sol\":{\"keccak256\":\"0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7\",\"dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C\"]},\"contracts/release/interfaces/IWETH.sol\":{\"keccak256\":\"0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2\",\"dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/FundDeployerOwnerMixin.sol\":{\"keccak256\":\"0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927\",\"dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM\"]},\"contracts/release/utils/MathHelpers.sol\":{\"keccak256\":\"0x8aef498ae98bfb40cd1df8c9ed652b4c092fbbe62d5a1fad522c53654523248e\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ed62789f6a8d5ca30a40c591f244b915e4711493a9e4b1b4d40ea2bc97b02a95\",\"dweb:/ipfs/QmWyXJ55arURtx9VMkUQokdsjk8tbgM2cC8rENFUMyz5D3\"]},\"contracts/release/utils/beacon-proxy/IBeacon.sol\":{\"keccak256\":\"0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39\",\"dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V\"]},\"contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol\":{\"keccak256\":\"0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be\",\"dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20Burnable.sol\":{\"keccak256\":\"0x9c0eb3b0e11d2480d49991dc384f1e5f9c9b9967cc81944d50916a9b9c6c4984\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99e4033d778624992e86f0b6d801a4f6d7b5c0cd5c79c1296be90a051ad5f5af\",\"dweb:/ipfs/QmShYmkUqh6pDEeoWadZ24icmCr4C2Xys1uE5boivPmbwf\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_valueInterpreter", "type": "address" }, { "internalType": "address", "name": "_wethToken", "type": "address" }, { "internalType": "uint256", "name": "_timelock", "type": "uint256" }, { "internalType": "uint256", "name": "_timeLimit", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "comptrollerProxy", "type": "address", "indexed": true }, { "internalType": "address", "name": "asset", "type": "address", "indexed": true } ], "type": "event", "name": "PricelessAssetBypassed", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "comptrollerProxy", "type": "address", "indexed": true }, { "internalType": "address", "name": "asset", "type": "address", "indexed": true } ], "type": "event", "name": "PricelessAssetTimelockStarted", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" }, { "internalType": "address", "name": "_asset", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "assetIsBypassableForFund", "outputs": [ { "internalType": "bool", "name": "isBypassable_", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" }, { "internalType": "address", "name": "_asset", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getAssetBypassWindowStartForFund", "outputs": [ { "internalType": "uint256", "name": "windowStart_", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getPricelessAssetBypassTimeLimit", "outputs": [ { "internalType": "uint256", "name": "timeLimit_", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getPricelessAssetBypassTimelock", "outputs": [ { "internalType": "uint256", "name": "timelock_", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getPricelessAssetBypassValueInterpreter", "outputs": [ { "internalType": "address", "name": "valueInterpreter_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getPricelessAssetBypassWethToken", "outputs": [ { "internalType": "address", "name": "wethToken_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_asset", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "startAssetBypassTimelock" } ], "devdoc": { "kind": "dev", "methods": { "assetIsBypassableForFund(address,address)": { "params": { "_asset": "The asset for which to check if it is bypassable", "_comptrollerProxy": "The ComptrollerProxy of the fund" }, "returns": { "isBypassable_": "True if the asset is bypassable" } }, "getAssetBypassWindowStartForFund(address,address)": { "params": { "_asset": "The asset", "_comptrollerProxy": "The ComptrollerProxy of the fund" }, "returns": { "windowStart_": "The timestamp" } }, "getPricelessAssetBypassTimeLimit()": { "returns": { "timeLimit_": "The `PRICELESS_ASSET_BYPASS_TIME_LIMIT` variable value" } }, "getPricelessAssetBypassTimelock()": { "returns": { "timelock_": "The `PRICELESS_ASSET_BYPASS_TIMELOCK` variable value" } }, "getPricelessAssetBypassValueInterpreter()": { "returns": { "valueInterpreter_": "The `PRICELESS_ASSET_BYPASS_VALUE_INTERPRETER` variable value" } }, "getPricelessAssetBypassWethToken()": { "returns": { "wethToken_": "The `PRICELESS_ASSET_BYPASS_WETH_TOKEN` variable value" } }, "startAssetBypassTimelock(address)": { "details": "This function must be called via ComptrollerProxy.vaultCallOnContract(). This allows the function to be gas relay-able. It also means that the originator must be the owner.", "params": { "_asset": "The asset for which to start the timelock period" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "assetIsBypassableForFund(address,address)": { "notice": "Checks whether an asset is bypassable (if still without a valid price) for a given fund" }, "getAssetBypassWindowStartForFund(address,address)": { "notice": "Gets the timestamp from which an asset without a valid price can be considered to be valued at `0`" }, "getPricelessAssetBypassTimeLimit()": { "notice": "Gets the `PRICELESS_ASSET_BYPASS_TIME_LIMIT` variable" }, "getPricelessAssetBypassTimelock()": { "notice": "Gets the `PRICELESS_ASSET_BYPASS_TIMELOCK` variable" }, "getPricelessAssetBypassValueInterpreter()": { "notice": "Gets the `PRICELESS_ASSET_BYPASS_VALUE_INTERPRETER` variable" }, "getPricelessAssetBypassWethToken()": { "notice": "Gets the `PRICELESS_ASSET_BYPASS_WETH_TOKEN` variable" }, "startAssetBypassTimelock(address)": { "notice": "Starts the timelock period for an asset without a valid price" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/policy-manager/policies/utils/PricelessAssetBypassMixin.sol": "PricelessAssetBypassMixin" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/dispatcher/IDispatcher.sol": { "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", "urls": [ "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" ], "license": "GPL-3.0" }, "contracts/persistent/external-positions/IExternalPosition.sol": { "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", "urls": [ "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" ], "license": "GPL-3.0" }, "contracts/persistent/protocol-fee-reserve/interfaces/IProtocolFeeReserve1.sol": { "keccak256": "0x2728878c423db523bc95189137e8c58d2d7db9f56bbd5c6b1f988c08b551fbab", "urls": [ "bzz-raw://3b0df1d2eb74151265d03ab91a7c341f7beca475dd2f4d669052dbc4ee2c06ac", "dweb:/ipfs/QmVx1cgrxQNYfdK1Kn15pcgqf79Uw8bF3U6i7F2HG2rj6G" ], "license": "GPL-3.0" }, "contracts/persistent/vault/VaultLibBase1.sol": { "keccak256": "0xa4dac1e4cdb311a2ab187135355357d8790c505ef36dd912c057fe53743d30b5", "urls": [ "bzz-raw://b66efe821016ab927c949263023260515e90f5d480dc8d94eefbfeec7bf7490b", "dweb:/ipfs/QmNY3xKnhL9EptAbxGvXHGAXfV9pj3dDPwsZnKrPs54ZHw" ], "license": "GPL-3.0" }, "contracts/persistent/vault/VaultLibBase2.sol": { "keccak256": "0xf7d31f2a9a47770ed3f444be2c4fe9262ddb55fef7f25e546b1f03c9afec4c09", "urls": [ "bzz-raw://9353ddce7c9b8b3c13fed23fe8edec99ca610d791b0c5b204b3d01f1f08d07d2", "dweb:/ipfs/QmeVsEh3joCjv49BRXeHASevnZZ5xdZXpkctHT8BPf37N2" ], "license": "GPL-3.0" }, "contracts/persistent/vault/VaultLibBaseCore.sol": { "keccak256": "0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074", "urls": [ "bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd", "dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IExternalPositionVault.sol": { "keccak256": "0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6", "urls": [ "bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d", "dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol": { "keccak256": "0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0", "urls": [ "bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb", "dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IMigratableVault.sol": { "keccak256": "0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238", "urls": [ "bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6", "dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IVaultCore.sol": { "keccak256": "0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80", "urls": [ "bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd", "dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr" ], "license": "GPL-3.0" }, "contracts/persistent/vault/utils/ProxiableVaultLib.sol": { "keccak256": "0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76", "urls": [ "bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44", "dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4" ], "license": "GPL-3.0" }, "contracts/persistent/vault/utils/SharesTokenBase.sol": { "keccak256": "0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113", "urls": [ "bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8", "dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4" ], "license": "GPL-3.0" }, "contracts/persistent/vault/utils/VaultLibSafeMath.sol": { "keccak256": "0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d", "urls": [ "bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02", "dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG" ], "license": "GPL-3.0" }, "contracts/release/core/fund-deployer/IFundDeployer.sol": { "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", "urls": [ "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" ], "license": "GPL-3.0" }, "contracts/release/core/fund/comptroller/ComptrollerLib.sol": { "keccak256": "0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64", "urls": [ "bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579", "dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq" ], "license": "GPL-3.0" }, "contracts/release/core/fund/comptroller/IComptroller.sol": { "keccak256": "0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f", "urls": [ "bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97", "dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L" ], "license": "GPL-3.0" }, "contracts/release/core/fund/vault/IVault.sol": { "keccak256": "0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd", "urls": [ "bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599", "dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG" ], "license": "GPL-3.0" }, "contracts/release/core/fund/vault/VaultLib.sol": { "keccak256": "0x07e49445ab55c01e1b499a48baadc2a15d1eba621f1c6d3ccfdb84c87b976da8", "urls": [ "bzz-raw://56d882459248f73e137db2e097fc56b946147fb28ec21661b77431f88e856cb4", "dweb:/ipfs/QmRP6Ry7DCS5uoKxnnkTomHSzbaCze6cHqbR9aLdjoF6vK" ], "license": "GPL-3.0" }, "contracts/release/extensions/IExtension.sol": { "keccak256": "0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b", "urls": [ "bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70", "dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/IExternalPositionManager.sol": { "keccak256": "0x3af3f634e1f99fb97091b7825c0d2e2baaafc124d4e87d56cb0c17ff8554f6c6", "urls": [ "bzz-raw://515470605afe5ef147f30fa75ce7818f0e00e3d321eb81a4d9bffcdefc294495", "dweb:/ipfs/QmPKsp99pfHoz9Tfo3ZxnkmqDqJtN9PxqacF2RmeVfxUJF" ], "license": "GPL-3.0" }, "contracts/release/extensions/fee-manager/IFeeManager.sol": { "keccak256": "0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51", "urls": [ "bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22", "dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod" ], "license": "GPL-3.0" }, "contracts/release/extensions/policy-manager/IPolicyManager.sol": { "keccak256": "0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32", "urls": [ "bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa", "dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb" ], "license": "GPL-3.0" }, "contracts/release/extensions/policy-manager/policies/utils/PricelessAssetBypassMixin.sol": { "keccak256": "0x5624f038f790b51ba9bd2207a6e80d188bc5d0b049807e0f06f123f6d00e3444", "urls": [ "bzz-raw://53782b55be373922df118f9970f897c1adfd4646dc4a95eec52e7c914944f68c", "dweb:/ipfs/QmTGPQRqzczosWALPZgAN6TKE4qdBuFwGBdCKy6GxtZBPe" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol": { "keccak256": "0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609", "urls": [ "bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f", "dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol": { "keccak256": "0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01", "urls": [ "bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0", "dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol": { "keccak256": "0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196", "urls": [ "bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b", "dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/price-feeds/derivatives/AggregatedDerivativePriceFeedMixin.sol": { "keccak256": "0x85d2ac39834dae7feb04f0e37317a38b8abeb0f950692fbc9d29078c52cd8d52", "urls": [ "bzz-raw://7bf8f1ce064d85a2812a944fc93068955b233924097f7f45898be3db826579d5", "dweb:/ipfs/Qme7f6AhxLVn32prM8fHaCvxtVi86A9KqFMqPA1s88kVYR" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol": { "keccak256": "0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332", "urls": [ "bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e", "dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/price-feeds/primitives/ChainlinkPriceFeedMixin.sol": { "keccak256": "0x7fb0078e7387f07ff09958fe4e4e7b317e72c23884f61e8c133776cad522f8bb", "urls": [ "bzz-raw://e973f29ed0c3bf03e20154ab4b0cfc68c3a4372a52ec746f9d9f86697b30e977", "dweb:/ipfs/QmfMb7H1zNnj2hzmUr6742HmCTiNVuQ2PFjeR8q2M4Liyu" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/protocol-fees/IProtocolFeeTracker.sol": { "keccak256": "0x232b347f83457439064add7369bfe1930c7cb56f15930bb87d640e909c15e447", "urls": [ "bzz-raw://24f9af5eebdd373b1d7a598c096eb6def31b2640d54416d7d5a7226e1cef17e6", "dweb:/ipfs/QmStq9ByGuSYdKwTmZf52L1X6sZVJUfXTnoVbnjLLiUcHG" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol": { "keccak256": "0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794", "urls": [ "bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965", "dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/value-interpreter/ValueInterpreter.sol": { "keccak256": "0x64565011785d0d29a75021cda34687cfbc0641094d6f2faf4d9c78c8cd9f0d1d", "urls": [ "bzz-raw://03ea9b29a332436d18ca1a4df7e5cdf231d5142dfb916a39cb3a721342d54e0e", "dweb:/ipfs/QmcB8Z7A7QELAxg2FfJpD26k2bUhMNUT4wACMVKxuge3QS" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IChainlinkAggregator.sol": { "keccak256": "0x8104db68d4edc00c86b29b366f4397cdbe7bd95bb9dc90f54140af4bae963788", "urls": [ "bzz-raw://4664240be22fe76bd4e84d1cbaace3998dbc96759a14345819a889f0c288d22e", "dweb:/ipfs/QmQ8fbA4tvXeCeaAFeS2JrLEQUPFeYrePAKoUywRtcicgA" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IGsnForwarder.sol": { "keccak256": "0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030", "urls": [ "bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29", "dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IGsnPaymaster.sol": { "keccak256": "0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c", "urls": [ "bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4", "dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IGsnTypes.sol": { "keccak256": "0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714", "urls": [ "bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7", "dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IWETH.sol": { "keccak256": "0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2", "urls": [ "bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2", "dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ" ], "license": "GPL-3.0" }, "contracts/release/utils/AddressArrayLib.sol": { "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", "urls": [ "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" ], "license": "GPL-3.0" }, "contracts/release/utils/FundDeployerOwnerMixin.sol": { "keccak256": "0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934", "urls": [ "bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927", "dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM" ], "license": "GPL-3.0" }, "contracts/release/utils/MathHelpers.sol": { "keccak256": "0x8aef498ae98bfb40cd1df8c9ed652b4c092fbbe62d5a1fad522c53654523248e", "urls": [ "bzz-raw://ed62789f6a8d5ca30a40c591f244b915e4711493a9e4b1b4d40ea2bc97b02a95", "dweb:/ipfs/QmWyXJ55arURtx9VMkUQokdsjk8tbgM2cC8rENFUMyz5D3" ], "license": "GPL-3.0" }, "contracts/release/utils/beacon-proxy/IBeacon.sol": { "keccak256": "0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2", "urls": [ "bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39", "dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V" ], "license": "GPL-3.0" }, "contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol": { "keccak256": "0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc", "urls": [ "bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be", "dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20Burnable.sol": { "keccak256": "0x9c0eb3b0e11d2480d49991dc384f1e5f9c9b9967cc81944d50916a9b9c6c4984", "urls": [ "bzz-raw://99e4033d778624992e86f0b6d801a4f6d7b5c0cd5c79c1296be90a051ad5f5af", "dweb:/ipfs/QmShYmkUqh6pDEeoWadZ24icmCr4C2Xys1uE5boivPmbwf" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", "urls": [ "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Address.sol": { "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", "urls": [ "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" } }, "version": 1 }, "id": 224 } diff --git a/eth_defi/abi/enzyme/ProtocolFeeProxyConstants.json b/eth_defi/abi/enzyme/ProtocolFeeProxyConstants.json index e9773e7b..86a4161d 100644 --- a/eth_defi/abi/enzyme/ProtocolFeeProxyConstants.json +++ b/eth_defi/abi/enzyme/ProtocolFeeProxyConstants.json @@ -1,78 +1 @@ -{ - "abi": [], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": {}, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ProtocolFeeProxyConstants Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Constant values used in ProtocolFee proxy-related contracts\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/protocol-fee-reserve/utils/ProtocolFeeProxyConstants.sol\":\"ProtocolFeeProxyConstants\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/protocol-fee-reserve/utils/ProtocolFeeProxyConstants.sol\":{\"keccak256\":\"0x2ae2574c42812a6c7dedc69f37176132d7f55c36ca22672a56b3240a164de7ea\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1debdcb650ec03dff95ca515206e4850b5fcdb5bb9151cc88019135fee8651f8\",\"dweb:/ipfs/Qmea7QFovEcXGPVSZp8NcAkEzWo94ejUkcwxT7Z9ybWFPe\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/persistent/protocol-fee-reserve/utils/ProtocolFeeProxyConstants.sol": "ProtocolFeeProxyConstants" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/protocol-fee-reserve/utils/ProtocolFeeProxyConstants.sol": { - "keccak256": "0x2ae2574c42812a6c7dedc69f37176132d7f55c36ca22672a56b3240a164de7ea", - "urls": [ - "bzz-raw://1debdcb650ec03dff95ca515206e4850b5fcdb5bb9151cc88019135fee8651f8", - "dweb:/ipfs/Qmea7QFovEcXGPVSZp8NcAkEzWo94ejUkcwxT7Z9ybWFPe" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 56 -} +{ "abi": [], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": {}, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"ProtocolFeeProxyConstants Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Constant values used in ProtocolFee proxy-related contracts\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/protocol-fee-reserve/utils/ProtocolFeeProxyConstants.sol\":\"ProtocolFeeProxyConstants\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/protocol-fee-reserve/utils/ProtocolFeeProxyConstants.sol\":{\"keccak256\":\"0x2ae2574c42812a6c7dedc69f37176132d7f55c36ca22672a56b3240a164de7ea\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1debdcb650ec03dff95ca515206e4850b5fcdb5bb9151cc88019135fee8651f8\",\"dweb:/ipfs/Qmea7QFovEcXGPVSZp8NcAkEzWo94ejUkcwxT7Z9ybWFPe\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/persistent/protocol-fee-reserve/utils/ProtocolFeeProxyConstants.sol": "ProtocolFeeProxyConstants" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/protocol-fee-reserve/utils/ProtocolFeeProxyConstants.sol": { "keccak256": "0x2ae2574c42812a6c7dedc69f37176132d7f55c36ca22672a56b3240a164de7ea", "urls": [ "bzz-raw://1debdcb650ec03dff95ca515206e4850b5fcdb5bb9151cc88019135fee8651f8", "dweb:/ipfs/Qmea7QFovEcXGPVSZp8NcAkEzWo94ejUkcwxT7Z9ybWFPe" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 56 } diff --git a/eth_defi/abi/enzyme/ProtocolFeeReserveLib.json b/eth_defi/abi/enzyme/ProtocolFeeReserveLib.json index 47dedc42..71a5bd90 100644 --- a/eth_defi/abi/enzyme/ProtocolFeeReserveLib.json +++ b/eth_defi/abi/enzyme/ProtocolFeeReserveLib.json @@ -1,557 +1 @@ -{ - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "MlnTokenBalanceWithdrawn", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "nextProtocolFeeReserveLib", - "type": "address" - } - ], - "name": "ProtocolFeeReserveLibSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "vaultProxy", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "sharesAmount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "mlnValue", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "mlnBurned", - "type": "uint256" - } - ], - "name": "SharesBoughtBack", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_sharesAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_mlnValue", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "buyBackSharesViaTrustedVaultProxy", - "outputs": [ - { - "internalType": "uint256", - "name": "mlnAmountToBurn_", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_contract", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_callData", - "type": "bytes" - } - ], - "name": "callOnContract", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getDispatcher", - "outputs": [ - { - "internalType": "address", - "name": "dispatcher_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getProtocolFeeReserveLib", - "outputs": [ - { - "internalType": "address", - "name": "protocolFeeReserveLib_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_dispatcher", - "type": "address" - } - ], - "name": "init", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "proxiableUUID", - "outputs": [ - { - "internalType": "bytes32", - "name": "uuid_", - "type": "bytes32" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_nextProtocolFeeReserveLib", - "type": "address" - } - ], - "name": "setProtocolFeeReserveLib", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x608060405234801561001057600080fd5b506107b9806100206000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c8063a90cce4b1161005b578063a90cce4b146100ed578063b3e2546b1461016d578063c75a882a14610191578063ebb3d589146101b75761007d565b806319ab453c1461008257806352d1902d146100aa57806396c45aec146100c4575b600080fd5b6100a86004803603602081101561009857600080fd5b50356001600160a01b03166101bf565b005b6100b2610286565b60408051918252519081900360200190f35b6100b2600480360360608110156100da57600080fd5b50803590602081013590604001356102aa565b6100a86004803603604081101561010357600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561012e57600080fd5b82018360208201111561014057600080fd5b8035906020019184600183028401116401000000008311171561016257600080fd5b509092509050610311565b6101756104c0565b604080516001600160a01b039092168252519081900360200190f35b6100a8600480360360208110156101a757600080fd5b50356001600160a01b03166104e5565b6101756105df565b60006101c96105df565b6001600160a01b031614610224576040805162461bcd60e51b815260206004820152601f60248201527f696e69743a2050726f787920616c726561647920696e697469616c697a656400604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b0383161790557f637d0ba5806b2c873952a12cd23e7cf28669dba115b2ded43df3d2d75c71e8c16102686104c0565b604080516001600160a01b039092168252519081900360200190a150565b7fbc966524590ce702cc9340e80d86ea9095afa6b8eecbb5d6213f57633223918190565b60006102b78360026105ee565b9050806102c65750600061030a565b6040805185815260208101859052808201839052905133917f6b63e290827c0f9226da4ffa1b681a509f0764acfc1ab99503a4f55012ec3c19919081900360600190a25b9392505050565b6103196105df565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561035157600080fd5b505afa158015610365573d6000803e3d6000fd5b505050506040513d602081101561037b57600080fd5b50516001600160a01b031633146103c35760405162461bcd60e51b815260040180806020018281038252603081526020018061077d6030913960400191505060405180910390fd5b60006060846001600160a01b03168484604051808383808284376040519201945060009350909150508083038183865af19150503d8060008114610423576040519150601f19603f3d011682016040523d82523d6000602084013e610428565b606091505b50915091508181906104b85760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561047d578181015183820152602001610465565b50505050905090810190601f1680156104aa5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050505050565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6104ed6105df565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561052557600080fd5b505afa158015610539573d6000803e3d6000fd5b505050506040513d602081101561054f57600080fd5b50516001600160a01b031633146105975760405162461bcd60e51b815260040180806020018281038252603081526020018061077d6030913960400191505060405180910390fd5b6105a081610655565b604080516001600160a01b038316815290517f637d0ba5806b2c873952a12cd23e7cf28669dba115b2ded43df3d2d75c71e8c19181900360200190a150565b6000546001600160a01b031690565b6000808211610644576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b81838161064d57fe5b049392505050565b7fbc966524590ce702cc9340e80d86ea9095afa6b8eecbb5d6213f57633223918160001b816001600160a01b03166352d1902d6040518163ffffffff1660e01b815260040160206040518083038186803b1580156106b257600080fd5b505afa1580156106c6573d6000803e3d6000fd5b505050506040513d60208110156106dc57600080fd5b50511461071a5760405162461bcd60e51b815260040180806020018281038252603e81526020018061073f603e913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5556fe5f5f757064617465436f6465416464726573733a205f6e65787450726f746f636f6c466565526573657276654c6962206e6f7420636f6d70617469626c654f6e6c79207468652044697370617463686572206f776e65722063616e2063616c6c20746869732066756e6374696f6ea164736f6c634300060c000a", - "sourceMap": "596:1930:51:-:0;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b506004361061007d5760003560e01c8063a90cce4b1161005b578063a90cce4b146100ed578063b3e2546b1461016d578063c75a882a14610191578063ebb3d589146101b75761007d565b806319ab453c1461008257806352d1902d146100aa57806396c45aec146100c4575b600080fd5b6100a86004803603602081101561009857600080fd5b50356001600160a01b03166101bf565b005b6100b2610286565b60408051918252519081900360200190f35b6100b2600480360360608110156100da57600080fd5b50803590602081013590604001356102aa565b6100a86004803603604081101561010357600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561012e57600080fd5b82018360208201111561014057600080fd5b8035906020019184600183028401116401000000008311171561016257600080fd5b509092509050610311565b6101756104c0565b604080516001600160a01b039092168252519081900360200190f35b6100a8600480360360208110156101a757600080fd5b50356001600160a01b03166104e5565b6101756105df565b60006101c96105df565b6001600160a01b031614610224576040805162461bcd60e51b815260206004820152601f60248201527f696e69743a2050726f787920616c726561647920696e697469616c697a656400604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b0383161790557f637d0ba5806b2c873952a12cd23e7cf28669dba115b2ded43df3d2d75c71e8c16102686104c0565b604080516001600160a01b039092168252519081900360200190a150565b7fbc966524590ce702cc9340e80d86ea9095afa6b8eecbb5d6213f57633223918190565b60006102b78360026105ee565b9050806102c65750600061030a565b6040805185815260208101859052808201839052905133917f6b63e290827c0f9226da4ffa1b681a509f0764acfc1ab99503a4f55012ec3c19919081900360600190a25b9392505050565b6103196105df565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561035157600080fd5b505afa158015610365573d6000803e3d6000fd5b505050506040513d602081101561037b57600080fd5b50516001600160a01b031633146103c35760405162461bcd60e51b815260040180806020018281038252603081526020018061077d6030913960400191505060405180910390fd5b60006060846001600160a01b03168484604051808383808284376040519201945060009350909150508083038183865af19150503d8060008114610423576040519150601f19603f3d011682016040523d82523d6000602084013e610428565b606091505b50915091508181906104b85760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561047d578181015183820152602001610465565b50505050905090810190601f1680156104aa5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050505050565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6104ed6105df565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561052557600080fd5b505afa158015610539573d6000803e3d6000fd5b505050506040513d602081101561054f57600080fd5b50516001600160a01b031633146105975760405162461bcd60e51b815260040180806020018281038252603081526020018061077d6030913960400191505060405180910390fd5b6105a081610655565b604080516001600160a01b038316815290517f637d0ba5806b2c873952a12cd23e7cf28669dba115b2ded43df3d2d75c71e8c19181900360200190a150565b6000546001600160a01b031690565b6000808211610644576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b81838161064d57fe5b049392505050565b7fbc966524590ce702cc9340e80d86ea9095afa6b8eecbb5d6213f57633223918160001b816001600160a01b03166352d1902d6040518163ffffffff1660e01b815260040160206040518083038186803b1580156106b257600080fd5b505afa1580156106c6573d6000803e3d6000fd5b505050506040513d60208110156106dc57600080fd5b50511461071a5760405162461bcd60e51b815260040180806020018281038252603e81526020018061073f603e913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5556fe5f5f757064617465436f6465416464726573733a205f6e65787450726f746f636f6c466565526573657276654c6962206e6f7420636f6d70617469626c654f6e6c79207468652044697370617463686572206f776e65722063616e2063616c6c20746869732066756e6374696f6ea164736f6c634300060c000a", - "sourceMap": "596:1930:51:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1235:237:54;;;;;;;;;;;;;;;;-1:-1:-1;1235:237:54;-1:-1:-1;;;;;1235:237:54;;:::i;:::-;;1462:108:57;;;:::i;:::-;;;;;;;;;;;;;;;;1600:444:51;;;;;;;;;;;;;;;;-1:-1:-1;1600:444:51;;;;;;;;;;;;:::i;2276:248::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2276:248:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2276:248:51;;-1:-1:-1;2276:248:51;-1:-1:-1;2276:248:51;:::i;2625:224:54:-;;;:::i;:::-;;;;-1:-1:-1;;;;;2625:224:54;;;;;;;;;;;;;;1908:251;;;;;;;;;;;;;;;;-1:-1:-1;1908:251:54;-1:-1:-1;;;;;1908:251:54;;:::i;2345:101::-;;;:::i;1235:237::-;1324:1;1297:15;:13;:15::i;:::-;-1:-1:-1;;;;;1297:29:54;;1289:73;;;;;-1:-1:-1;;;1289:73:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;1373:10;:24;;-1:-1:-1;;;;;;1373:24:54;-1:-1:-1;;;;;1373:24:54;;;;;1413:52;1438:26;:24;:26::i;:::-;1413:52;;;-1:-1:-1;;;;;1413:52:54;;;;;;;;;;;;;;1235:237;:::o;1462:108:57:-;628:66:56;1462:108:57;:::o;1600:444:51:-;1751:24;1806:39;:9;803:1;1806:13;:39::i;:::-;1787:58;-1:-1:-1;1860:21:51;1856:60;;-1:-1:-1;1904:1:51;1897:8;;1856:60;1931:72;;;;;;;;;;;;;;;;;;;;1948:10;;1931:72;;;;;;;;;;1600:444;;;;;;:::o;2276:248::-;934:15:54;:13;:15::i;:::-;-1:-1:-1;;;;;922:37:54;;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;922:39:54;-1:-1:-1;;;;;908:53:54;:10;:53;887:148;;;;-1:-1:-1;;;887:148:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2405:12:51::1;2419:23;2446:9;-1:-1:-1::0;;;;;2446:14:51::1;2461:9;;2446:25;;;;;;;;;;::::0;;::::1;::::0;-1:-1:-1;2446:25:51::1;::::0;-1:-1:-1;2446:25:51;;-1:-1:-1;;2446:25:51;;::::1;::::0;;;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2404:67;;;;2489:7;2505:10;2481:36;;;;;-1:-1:-1::0;;;2481:36:51::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;;::::1;::::0;;;::::1;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1046:1:54;;2276:248:51::0;;;:::o;2625:224:54:-;2779:13;2773:20;2625:224;:::o;1908:251::-;934:15;:13;:15::i;:::-;-1:-1:-1;;;;;922:37:54;;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;922:39:54;-1:-1:-1;;;;;908:53:54;:10;:53;887:148;;;;-1:-1:-1;;;887:148:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2037:47:::1;2057:26;2037:19;:47::i;:::-;2100:52;::::0;;-1:-1:-1;;;;;2100:52:54;::::1;::::0;;;;::::1;::::0;;;;::::1;::::0;;::::1;1908:251:::0;:::o;2345:101::-;2391:19;2429:10;-1:-1:-1;;;;;2429:10:54;2345:101;:::o;4217:150:442:-;4275:7;4306:1;4302;:5;4294:44;;;;;-1:-1:-1;;;4294:44:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;4359:1;4355;:5;;;;;;;4217:150;-1:-1:-1;;;4217:150:442:o;896:417:57:-;628:66:56;1103:23:57;;1032:26;-1:-1:-1;;;;;1001:72:57;;:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1001:74:57;:126;980:235;;;;-1:-1:-1;;;980:235:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1255:13;1248:49;1234:73::o", - "linkReferences": {} - }, - "methodIdentifiers": { - "buyBackSharesViaTrustedVaultProxy(uint256,uint256,uint256)": "96c45aec", - "callOnContract(address,bytes)": "a90cce4b", - "getDispatcher()": "ebb3d589", - "getProtocolFeeReserveLib()": "b3e2546b", - "init(address)": "19ab453c", - "proxiableUUID()": "52d1902d", - "setProtocolFeeReserveLib(address)": "c75a882a" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"MlnTokenBalanceWithdrawn\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"nextProtocolFeeReserveLib\",\"type\":\"address\"}],\"name\":\"ProtocolFeeReserveLibSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"vaultProxy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"sharesAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"mlnValue\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"mlnBurned\",\"type\":\"uint256\"}],\"name\":\"SharesBoughtBack\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_sharesAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_mlnValue\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"buyBackSharesViaTrustedVaultProxy\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"mlnAmountToBurn_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contract\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_callData\",\"type\":\"bytes\"}],\"name\":\"callOnContract\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDispatcher\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"dispatcher_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getProtocolFeeReserveLib\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"protocolFeeReserveLib_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_dispatcher\",\"type\":\"address\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"uuid_\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nextProtocolFeeReserveLib\",\"type\":\"address\"}],\"name\":\"setProtocolFeeReserveLib\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"buyBackSharesViaTrustedVaultProxy(uint256,uint256,uint256)\":{\"details\":\"Since VaultProxy instances are completely trusted, all the work of calculating and burning the appropriate amount of shares and MLN can be done by the calling VaultProxy. This contract only needs to provide the discounted MLN amount to burn. Though it is currently unused, passing in GAV would allow creating a tiered system of discounts in a new library, for example.\",\"params\":{\"_mlnValue\":\"The MLN-denominated market value of _sharesAmount\",\"_sharesAmount\":\"The amount of shares to buy back\"},\"returns\":{\"mlnAmountToBurn_\":\"The amount of MLN to burn\"}},\"callOnContract(address,bytes)\":{\"params\":{\"_callData\":\"The call data for the call\",\"_contract\":\"The contract to call\"}},\"getDispatcher()\":{\"returns\":{\"dispatcher_\":\"The `dispatcher` variable value\"}},\"getProtocolFeeReserveLib()\":{\"returns\":{\"protocolFeeReserveLib_\":\"The address of the ProtocolFeeReserveLib target\"}},\"init(address)\":{\"details\":\"Serves as a pseudo-constructor\",\"params\":{\"_dispatcher\":\"The Dispatcher contract\"}},\"proxiableUUID()\":{\"returns\":{\"uuid_\":\"The bytes32 hash representing the UUID\"}},\"setProtocolFeeReserveLib(address)\":{\"details\":\"This function is absolutely critical. __updateCodeAddress() validates that the target is a valid Proxiable contract instance. Does not block _nextProtocolFeeReserveLib from being the same as the current ProtocolFeeReserveLib\",\"params\":{\"_nextProtocolFeeReserveLib\":\"The address to set as the ProtocolFeeReserveLib\"}}},\"title\":\"ProtocolFeeReserveLib Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"buyBackSharesViaTrustedVaultProxy(uint256,uint256,uint256)\":{\"notice\":\"Indicates that the calling VaultProxy is buying back shares collected as protocol fee, and returns the amount of MLN that should be burned for the buyback\"},\"callOnContract(address,bytes)\":{\"notice\":\"Makes an arbitrary call with this contract as the sender\"},\"getDispatcher()\":{\"notice\":\"Gets the `dispatcher` variable\"},\"getProtocolFeeReserveLib()\":{\"notice\":\"Gets the ProtocolFeeReserveLib target for the ProtocolFeeReserveProxy\"},\"init(address)\":{\"notice\":\"Initializes the ProtocolFeeReserveProxy with core configuration\"},\"proxiableUUID()\":{\"notice\":\"Returns a unique bytes32 hash for ProtocolFeeReserveLib instances\"},\"setProtocolFeeReserveLib(address)\":{\"notice\":\"Sets the ProtocolFeeReserveLib target for the ProtocolFeeReserveProxy\"}},\"notice\":\"The proxiable library contract for ProtocolFeeReserveProxy\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/protocol-fee-reserve/ProtocolFeeReserveLib.sol\":\"ProtocolFeeReserveLib\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/protocol-fee-reserve/ProtocolFeeReserveLib.sol\":{\"keccak256\":\"0xb3f3bfe041b83d35f15cf17f827ff541e4fc2d9a640d5f5a45eeb54e3d10e9e6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://52d8368cc9065702e835a87e24cb10c9103ce488fe1f4accc617e42485e08539\",\"dweb:/ipfs/QmNo8v6iNcioAicTQ1CsT8XJFih15sx8xD4fmSehewYpvk\"]},\"contracts/persistent/protocol-fee-reserve/bases/ProtocolFeeReserveLibBase1.sol\":{\"keccak256\":\"0x06b6f8ad9599628e932275a3cdf189197f4ecc6eabedcd19cbcffa8e8e84c92c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://460a870f1f55f3afee3d966af8f3a17d29558215d2147822accde9e0cd3ec5f1\",\"dweb:/ipfs/QmPxmw28R9PNzymXrA9Jpo353ZT7DFxVn9vciy5rh9xQ2x\"]},\"contracts/persistent/protocol-fee-reserve/bases/ProtocolFeeReserveLibBaseCore.sol\":{\"keccak256\":\"0xf3f0ab84492ace625caae9572cbf3dc25f7a9ccdfee67d38fa8e6c4a2c679a92\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8b32274866f86ec7f13cc2349da3136d80a7a5968dfbad2361fd47d6013ed83f\",\"dweb:/ipfs/QmaWGGkaCfzckGfzSACzyL1Jyw2n24iT1oHZw8jTw9pb9Z\"]},\"contracts/persistent/protocol-fee-reserve/interfaces/IProtocolFeeReserve1.sol\":{\"keccak256\":\"0x2728878c423db523bc95189137e8c58d2d7db9f56bbd5c6b1f988c08b551fbab\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3b0df1d2eb74151265d03ab91a7c341f7beca475dd2f4d669052dbc4ee2c06ac\",\"dweb:/ipfs/QmVx1cgrxQNYfdK1Kn15pcgqf79Uw8bF3U6i7F2HG2rj6G\"]},\"contracts/persistent/protocol-fee-reserve/utils/ProtocolFeeProxyConstants.sol\":{\"keccak256\":\"0x2ae2574c42812a6c7dedc69f37176132d7f55c36ca22672a56b3240a164de7ea\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1debdcb650ec03dff95ca515206e4850b5fcdb5bb9151cc88019135fee8651f8\",\"dweb:/ipfs/Qmea7QFovEcXGPVSZp8NcAkEzWo94ejUkcwxT7Z9ybWFPe\"]},\"contracts/persistent/protocol-fee-reserve/utils/ProxiableProtocolFeeReserveLib.sol\":{\"keccak256\":\"0xefc9befd638e13010c556c2d691949a3ce51171de8007e2daa536b368ad78868\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://fb6d3f317ec683b1e6b31984bbf65d6d727e7b3f9057917b9f3b5c03f90eb7fd\",\"dweb:/ipfs/QmWmQKoMgavRRMbMEGhX5qGvxfpDkLfwEgUEqYsnAxTt6T\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "MlnTokenBalanceWithdrawn", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "nextProtocolFeeReserveLib", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "ProtocolFeeReserveLibSet", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "vaultProxy", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "sharesAmount", - "type": "uint256", - "indexed": false - }, - { - "internalType": "uint256", - "name": "mlnValue", - "type": "uint256", - "indexed": false - }, - { - "internalType": "uint256", - "name": "mlnBurned", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "SharesBoughtBack", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_sharesAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_mlnValue", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "buyBackSharesViaTrustedVaultProxy", - "outputs": [ - { - "internalType": "uint256", - "name": "mlnAmountToBurn_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_contract", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_callData", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "callOnContract" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getDispatcher", - "outputs": [ - { - "internalType": "address", - "name": "dispatcher_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getProtocolFeeReserveLib", - "outputs": [ - { - "internalType": "address", - "name": "protocolFeeReserveLib_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_dispatcher", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "init" - }, - { - "inputs": [], - "stateMutability": "pure", - "type": "function", - "name": "proxiableUUID", - "outputs": [ - { - "internalType": "bytes32", - "name": "uuid_", - "type": "bytes32" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_nextProtocolFeeReserveLib", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setProtocolFeeReserveLib" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "buyBackSharesViaTrustedVaultProxy(uint256,uint256,uint256)": { - "details": "Since VaultProxy instances are completely trusted, all the work of calculating and burning the appropriate amount of shares and MLN can be done by the calling VaultProxy. This contract only needs to provide the discounted MLN amount to burn. Though it is currently unused, passing in GAV would allow creating a tiered system of discounts in a new library, for example.", - "params": { - "_mlnValue": "The MLN-denominated market value of _sharesAmount", - "_sharesAmount": "The amount of shares to buy back" - }, - "returns": { - "mlnAmountToBurn_": "The amount of MLN to burn" - } - }, - "callOnContract(address,bytes)": { - "params": { - "_callData": "The call data for the call", - "_contract": "The contract to call" - } - }, - "getDispatcher()": { - "returns": { - "dispatcher_": "The `dispatcher` variable value" - } - }, - "getProtocolFeeReserveLib()": { - "returns": { - "protocolFeeReserveLib_": "The address of the ProtocolFeeReserveLib target" - } - }, - "init(address)": { - "details": "Serves as a pseudo-constructor", - "params": { - "_dispatcher": "The Dispatcher contract" - } - }, - "proxiableUUID()": { - "returns": { - "uuid_": "The bytes32 hash representing the UUID" - } - }, - "setProtocolFeeReserveLib(address)": { - "details": "This function is absolutely critical. __updateCodeAddress() validates that the target is a valid Proxiable contract instance. Does not block _nextProtocolFeeReserveLib from being the same as the current ProtocolFeeReserveLib", - "params": { - "_nextProtocolFeeReserveLib": "The address to set as the ProtocolFeeReserveLib" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "buyBackSharesViaTrustedVaultProxy(uint256,uint256,uint256)": { - "notice": "Indicates that the calling VaultProxy is buying back shares collected as protocol fee, and returns the amount of MLN that should be burned for the buyback" - }, - "callOnContract(address,bytes)": { - "notice": "Makes an arbitrary call with this contract as the sender" - }, - "getDispatcher()": { - "notice": "Gets the `dispatcher` variable" - }, - "getProtocolFeeReserveLib()": { - "notice": "Gets the ProtocolFeeReserveLib target for the ProtocolFeeReserveProxy" - }, - "init(address)": { - "notice": "Initializes the ProtocolFeeReserveProxy with core configuration" - }, - "proxiableUUID()": { - "notice": "Returns a unique bytes32 hash for ProtocolFeeReserveLib instances" - }, - "setProtocolFeeReserveLib(address)": { - "notice": "Sets the ProtocolFeeReserveLib target for the ProtocolFeeReserveProxy" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/persistent/protocol-fee-reserve/ProtocolFeeReserveLib.sol": "ProtocolFeeReserveLib" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/dispatcher/IDispatcher.sol": { - "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", - "urls": [ - "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", - "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/protocol-fee-reserve/ProtocolFeeReserveLib.sol": { - "keccak256": "0xb3f3bfe041b83d35f15cf17f827ff541e4fc2d9a640d5f5a45eeb54e3d10e9e6", - "urls": [ - "bzz-raw://52d8368cc9065702e835a87e24cb10c9103ce488fe1f4accc617e42485e08539", - "dweb:/ipfs/QmNo8v6iNcioAicTQ1CsT8XJFih15sx8xD4fmSehewYpvk" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/protocol-fee-reserve/bases/ProtocolFeeReserveLibBase1.sol": { - "keccak256": "0x06b6f8ad9599628e932275a3cdf189197f4ecc6eabedcd19cbcffa8e8e84c92c", - "urls": [ - "bzz-raw://460a870f1f55f3afee3d966af8f3a17d29558215d2147822accde9e0cd3ec5f1", - "dweb:/ipfs/QmPxmw28R9PNzymXrA9Jpo353ZT7DFxVn9vciy5rh9xQ2x" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/protocol-fee-reserve/bases/ProtocolFeeReserveLibBaseCore.sol": { - "keccak256": "0xf3f0ab84492ace625caae9572cbf3dc25f7a9ccdfee67d38fa8e6c4a2c679a92", - "urls": [ - "bzz-raw://8b32274866f86ec7f13cc2349da3136d80a7a5968dfbad2361fd47d6013ed83f", - "dweb:/ipfs/QmaWGGkaCfzckGfzSACzyL1Jyw2n24iT1oHZw8jTw9pb9Z" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/protocol-fee-reserve/interfaces/IProtocolFeeReserve1.sol": { - "keccak256": "0x2728878c423db523bc95189137e8c58d2d7db9f56bbd5c6b1f988c08b551fbab", - "urls": [ - "bzz-raw://3b0df1d2eb74151265d03ab91a7c341f7beca475dd2f4d669052dbc4ee2c06ac", - "dweb:/ipfs/QmVx1cgrxQNYfdK1Kn15pcgqf79Uw8bF3U6i7F2HG2rj6G" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/protocol-fee-reserve/utils/ProtocolFeeProxyConstants.sol": { - "keccak256": "0x2ae2574c42812a6c7dedc69f37176132d7f55c36ca22672a56b3240a164de7ea", - "urls": [ - "bzz-raw://1debdcb650ec03dff95ca515206e4850b5fcdb5bb9151cc88019135fee8651f8", - "dweb:/ipfs/Qmea7QFovEcXGPVSZp8NcAkEzWo94ejUkcwxT7Z9ybWFPe" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/protocol-fee-reserve/utils/ProxiableProtocolFeeReserveLib.sol": { - "keccak256": "0xefc9befd638e13010c556c2d691949a3ce51171de8007e2daa536b368ad78868", - "urls": [ - "bzz-raw://fb6d3f317ec683b1e6b31984bbf65d6d727e7b3f9057917b9f3b5c03f90eb7fd", - "dweb:/ipfs/QmWmQKoMgavRRMbMEGhX5qGvxfpDkLfwEgUEqYsnAxTt6T" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 51 -} +{ "abi": [ { "type": "function", "name": "buyBackSharesViaTrustedVaultProxy", "inputs": [ { "name": "_sharesAmount", "type": "uint256", "internalType": "uint256" }, { "name": "_mlnValue", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "mlnAmountToBurn_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "callOnContract", "inputs": [ { "name": "_contract", "type": "address", "internalType": "address" }, { "name": "_callData", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "getDispatcher", "inputs": [], "outputs": [ { "name": "dispatcher_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getProtocolFeeReserveLib", "inputs": [], "outputs": [ { "name": "protocolFeeReserveLib_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "init", "inputs": [ { "name": "_dispatcher", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "proxiableUUID", "inputs": [], "outputs": [ { "name": "uuid_", "type": "bytes32", "internalType": "bytes32" } ], "stateMutability": "pure" }, { "type": "function", "name": "setProtocolFeeReserveLib", "inputs": [ { "name": "_nextProtocolFeeReserveLib", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "event", "name": "MlnTokenBalanceWithdrawn", "inputs": [ { "name": "to", "type": "address", "indexed": true, "internalType": "address" }, { "name": "amount", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "ProtocolFeeReserveLibSet", "inputs": [ { "name": "nextProtocolFeeReserveLib", "type": "address", "indexed": false, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "SharesBoughtBack", "inputs": [ { "name": "vaultProxy", "type": "address", "indexed": true, "internalType": "address" }, { "name": "sharesAmount", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "mlnValue", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "mlnBurned", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false } ], "bytecode": { "object": "0x608060405234801561001057600080fd5b506107b9806100206000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c8063a90cce4b1161005b578063a90cce4b146100ed578063b3e2546b1461016d578063c75a882a14610191578063ebb3d589146101b75761007d565b806319ab453c1461008257806352d1902d146100aa57806396c45aec146100c4575b600080fd5b6100a86004803603602081101561009857600080fd5b50356001600160a01b03166101bf565b005b6100b2610286565b60408051918252519081900360200190f35b6100b2600480360360608110156100da57600080fd5b50803590602081013590604001356102aa565b6100a86004803603604081101561010357600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561012e57600080fd5b82018360208201111561014057600080fd5b8035906020019184600183028401116401000000008311171561016257600080fd5b509092509050610311565b6101756104c0565b604080516001600160a01b039092168252519081900360200190f35b6100a8600480360360208110156101a757600080fd5b50356001600160a01b03166104e5565b6101756105df565b60006101c96105df565b6001600160a01b031614610224576040805162461bcd60e51b815260206004820152601f60248201527f696e69743a2050726f787920616c726561647920696e697469616c697a656400604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b0383161790557f637d0ba5806b2c873952a12cd23e7cf28669dba115b2ded43df3d2d75c71e8c16102686104c0565b604080516001600160a01b039092168252519081900360200190a150565b7fbc966524590ce702cc9340e80d86ea9095afa6b8eecbb5d6213f57633223918190565b60006102b78360026105ee565b9050806102c65750600061030a565b6040805185815260208101859052808201839052905133917f6b63e290827c0f9226da4ffa1b681a509f0764acfc1ab99503a4f55012ec3c19919081900360600190a25b9392505050565b6103196105df565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561035157600080fd5b505afa158015610365573d6000803e3d6000fd5b505050506040513d602081101561037b57600080fd5b50516001600160a01b031633146103c35760405162461bcd60e51b815260040180806020018281038252603081526020018061077d6030913960400191505060405180910390fd5b60006060846001600160a01b03168484604051808383808284376040519201945060009350909150508083038183865af19150503d8060008114610423576040519150601f19603f3d011682016040523d82523d6000602084013e610428565b606091505b50915091508181906104b85760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561047d578181015183820152602001610465565b50505050905090810190601f1680156104aa5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050505050565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6104ed6105df565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561052557600080fd5b505afa158015610539573d6000803e3d6000fd5b505050506040513d602081101561054f57600080fd5b50516001600160a01b031633146105975760405162461bcd60e51b815260040180806020018281038252603081526020018061077d6030913960400191505060405180910390fd5b6105a081610655565b604080516001600160a01b038316815290517f637d0ba5806b2c873952a12cd23e7cf28669dba115b2ded43df3d2d75c71e8c19181900360200190a150565b6000546001600160a01b031690565b6000808211610644576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b81838161064d57fe5b049392505050565b7fbc966524590ce702cc9340e80d86ea9095afa6b8eecbb5d6213f57633223918160001b816001600160a01b03166352d1902d6040518163ffffffff1660e01b815260040160206040518083038186803b1580156106b257600080fd5b505afa1580156106c6573d6000803e3d6000fd5b505050506040513d60208110156106dc57600080fd5b50511461071a5760405162461bcd60e51b815260040180806020018281038252603e81526020018061073f603e913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5556fe5f5f757064617465436f6465416464726573733a205f6e65787450726f746f636f6c466565526573657276654c6962206e6f7420636f6d70617469626c654f6e6c79207468652044697370617463686572206f776e65722063616e2063616c6c20746869732066756e6374696f6ea164736f6c634300060c000a", "sourceMap": "596:1930:51:-:0;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b506004361061007d5760003560e01c8063a90cce4b1161005b578063a90cce4b146100ed578063b3e2546b1461016d578063c75a882a14610191578063ebb3d589146101b75761007d565b806319ab453c1461008257806352d1902d146100aa57806396c45aec146100c4575b600080fd5b6100a86004803603602081101561009857600080fd5b50356001600160a01b03166101bf565b005b6100b2610286565b60408051918252519081900360200190f35b6100b2600480360360608110156100da57600080fd5b50803590602081013590604001356102aa565b6100a86004803603604081101561010357600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561012e57600080fd5b82018360208201111561014057600080fd5b8035906020019184600183028401116401000000008311171561016257600080fd5b509092509050610311565b6101756104c0565b604080516001600160a01b039092168252519081900360200190f35b6100a8600480360360208110156101a757600080fd5b50356001600160a01b03166104e5565b6101756105df565b60006101c96105df565b6001600160a01b031614610224576040805162461bcd60e51b815260206004820152601f60248201527f696e69743a2050726f787920616c726561647920696e697469616c697a656400604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b0383161790557f637d0ba5806b2c873952a12cd23e7cf28669dba115b2ded43df3d2d75c71e8c16102686104c0565b604080516001600160a01b039092168252519081900360200190a150565b7fbc966524590ce702cc9340e80d86ea9095afa6b8eecbb5d6213f57633223918190565b60006102b78360026105ee565b9050806102c65750600061030a565b6040805185815260208101859052808201839052905133917f6b63e290827c0f9226da4ffa1b681a509f0764acfc1ab99503a4f55012ec3c19919081900360600190a25b9392505050565b6103196105df565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561035157600080fd5b505afa158015610365573d6000803e3d6000fd5b505050506040513d602081101561037b57600080fd5b50516001600160a01b031633146103c35760405162461bcd60e51b815260040180806020018281038252603081526020018061077d6030913960400191505060405180910390fd5b60006060846001600160a01b03168484604051808383808284376040519201945060009350909150508083038183865af19150503d8060008114610423576040519150601f19603f3d011682016040523d82523d6000602084013e610428565b606091505b50915091508181906104b85760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561047d578181015183820152602001610465565b50505050905090810190601f1680156104aa5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050505050565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6104ed6105df565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561052557600080fd5b505afa158015610539573d6000803e3d6000fd5b505050506040513d602081101561054f57600080fd5b50516001600160a01b031633146105975760405162461bcd60e51b815260040180806020018281038252603081526020018061077d6030913960400191505060405180910390fd5b6105a081610655565b604080516001600160a01b038316815290517f637d0ba5806b2c873952a12cd23e7cf28669dba115b2ded43df3d2d75c71e8c19181900360200190a150565b6000546001600160a01b031690565b6000808211610644576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b81838161064d57fe5b049392505050565b7fbc966524590ce702cc9340e80d86ea9095afa6b8eecbb5d6213f57633223918160001b816001600160a01b03166352d1902d6040518163ffffffff1660e01b815260040160206040518083038186803b1580156106b257600080fd5b505afa1580156106c6573d6000803e3d6000fd5b505050506040513d60208110156106dc57600080fd5b50511461071a5760405162461bcd60e51b815260040180806020018281038252603e81526020018061073f603e913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5556fe5f5f757064617465436f6465416464726573733a205f6e65787450726f746f636f6c466565526573657276654c6962206e6f7420636f6d70617469626c654f6e6c79207468652044697370617463686572206f776e65722063616e2063616c6c20746869732066756e6374696f6ea164736f6c634300060c000a", "sourceMap": "596:1930:51:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1235:237:54;;;;;;;;;;;;;;;;-1:-1:-1;1235:237:54;-1:-1:-1;;;;;1235:237:54;;:::i;:::-;;1462:108:57;;;:::i;:::-;;;;;;;;;;;;;;;;1600:444:51;;;;;;;;;;;;;;;;-1:-1:-1;1600:444:51;;;;;;;;;;;;:::i;2276:248::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2276:248:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2276:248:51;;-1:-1:-1;2276:248:51;-1:-1:-1;2276:248:51;:::i;2625:224:54:-;;;:::i;:::-;;;;-1:-1:-1;;;;;2625:224:54;;;;;;;;;;;;;;1908:251;;;;;;;;;;;;;;;;-1:-1:-1;1908:251:54;-1:-1:-1;;;;;1908:251:54;;:::i;2345:101::-;;;:::i;1235:237::-;1324:1;1297:15;:13;:15::i;:::-;-1:-1:-1;;;;;1297:29:54;;1289:73;;;;;-1:-1:-1;;;1289:73:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;1373:10;:24;;-1:-1:-1;;;;;;1373:24:54;-1:-1:-1;;;;;1373:24:54;;;;;1413:52;1438:26;:24;:26::i;:::-;1413:52;;;-1:-1:-1;;;;;1413:52:54;;;;;;;;;;;;;;1235:237;:::o;1462:108:57:-;628:66:56;1462:108:57;:::o;1600:444:51:-;1751:24;1806:39;:9;803:1;1806:13;:39::i;:::-;1787:58;-1:-1:-1;1860:21:51;1856:60;;-1:-1:-1;1904:1:51;1897:8;;1856:60;1931:72;;;;;;;;;;;;;;;;;;;;1948:10;;1931:72;;;;;;;;;;1600:444;;;;;;:::o;2276:248::-;934:15:54;:13;:15::i;:::-;-1:-1:-1;;;;;922:37:54;;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;922:39:54;-1:-1:-1;;;;;908:53:54;:10;:53;887:148;;;;-1:-1:-1;;;887:148:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2405:12:51::1;2419:23;2446:9;-1:-1:-1::0;;;;;2446:14:51::1;2461:9;;2446:25;;;;;;;;;;::::0;;::::1;::::0;-1:-1:-1;2446:25:51::1;::::0;-1:-1:-1;2446:25:51;;-1:-1:-1;;2446:25:51;;::::1;::::0;;;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2404:67;;;;2489:7;2505:10;2481:36;;;;;-1:-1:-1::0;;;2481:36:51::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;;::::1;::::0;;;::::1;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1046:1:54;;2276:248:51::0;;;:::o;2625:224:54:-;2779:13;2773:20;2625:224;:::o;1908:251::-;934:15;:13;:15::i;:::-;-1:-1:-1;;;;;922:37:54;;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;922:39:54;-1:-1:-1;;;;;908:53:54;:10;:53;887:148;;;;-1:-1:-1;;;887:148:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2037:47:::1;2057:26;2037:19;:47::i;:::-;2100:52;::::0;;-1:-1:-1;;;;;2100:52:54;::::1;::::0;;;;::::1;::::0;;;;::::1;::::0;;::::1;1908:251:::0;:::o;2345:101::-;2391:19;2429:10;-1:-1:-1;;;;;2429:10:54;2345:101;:::o;4217:150:442:-;4275:7;4306:1;4302;:5;4294:44;;;;;-1:-1:-1;;;4294:44:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;4359:1;4355;:5;;;;;;;4217:150;-1:-1:-1;;;4217:150:442:o;896:417:57:-;628:66:56;1103:23:57;;1032:26;-1:-1:-1;;;;;1001:72:57;;:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1001:74:57;:126;980:235;;;;-1:-1:-1;;;980:235:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1255:13;1248:49;1234:73::o", "linkReferences": {} }, "methodIdentifiers": { "buyBackSharesViaTrustedVaultProxy(uint256,uint256,uint256)": "96c45aec", "callOnContract(address,bytes)": "a90cce4b", "getDispatcher()": "ebb3d589", "getProtocolFeeReserveLib()": "b3e2546b", "init(address)": "19ab453c", "proxiableUUID()": "52d1902d", "setProtocolFeeReserveLib(address)": "c75a882a" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"MlnTokenBalanceWithdrawn\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"nextProtocolFeeReserveLib\",\"type\":\"address\"}],\"name\":\"ProtocolFeeReserveLibSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"vaultProxy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"sharesAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"mlnValue\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"mlnBurned\",\"type\":\"uint256\"}],\"name\":\"SharesBoughtBack\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_sharesAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_mlnValue\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"buyBackSharesViaTrustedVaultProxy\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"mlnAmountToBurn_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contract\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_callData\",\"type\":\"bytes\"}],\"name\":\"callOnContract\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDispatcher\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"dispatcher_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getProtocolFeeReserveLib\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"protocolFeeReserveLib_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_dispatcher\",\"type\":\"address\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"uuid_\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nextProtocolFeeReserveLib\",\"type\":\"address\"}],\"name\":\"setProtocolFeeReserveLib\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"buyBackSharesViaTrustedVaultProxy(uint256,uint256,uint256)\":{\"details\":\"Since VaultProxy instances are completely trusted, all the work of calculating and burning the appropriate amount of shares and MLN can be done by the calling VaultProxy. This contract only needs to provide the discounted MLN amount to burn. Though it is currently unused, passing in GAV would allow creating a tiered system of discounts in a new library, for example.\",\"params\":{\"_mlnValue\":\"The MLN-denominated market value of _sharesAmount\",\"_sharesAmount\":\"The amount of shares to buy back\"},\"returns\":{\"mlnAmountToBurn_\":\"The amount of MLN to burn\"}},\"callOnContract(address,bytes)\":{\"params\":{\"_callData\":\"The call data for the call\",\"_contract\":\"The contract to call\"}},\"getDispatcher()\":{\"returns\":{\"dispatcher_\":\"The `dispatcher` variable value\"}},\"getProtocolFeeReserveLib()\":{\"returns\":{\"protocolFeeReserveLib_\":\"The address of the ProtocolFeeReserveLib target\"}},\"init(address)\":{\"details\":\"Serves as a pseudo-constructor\",\"params\":{\"_dispatcher\":\"The Dispatcher contract\"}},\"proxiableUUID()\":{\"returns\":{\"uuid_\":\"The bytes32 hash representing the UUID\"}},\"setProtocolFeeReserveLib(address)\":{\"details\":\"This function is absolutely critical. __updateCodeAddress() validates that the target is a valid Proxiable contract instance. Does not block _nextProtocolFeeReserveLib from being the same as the current ProtocolFeeReserveLib\",\"params\":{\"_nextProtocolFeeReserveLib\":\"The address to set as the ProtocolFeeReserveLib\"}}},\"title\":\"ProtocolFeeReserveLib Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"buyBackSharesViaTrustedVaultProxy(uint256,uint256,uint256)\":{\"notice\":\"Indicates that the calling VaultProxy is buying back shares collected as protocol fee, and returns the amount of MLN that should be burned for the buyback\"},\"callOnContract(address,bytes)\":{\"notice\":\"Makes an arbitrary call with this contract as the sender\"},\"getDispatcher()\":{\"notice\":\"Gets the `dispatcher` variable\"},\"getProtocolFeeReserveLib()\":{\"notice\":\"Gets the ProtocolFeeReserveLib target for the ProtocolFeeReserveProxy\"},\"init(address)\":{\"notice\":\"Initializes the ProtocolFeeReserveProxy with core configuration\"},\"proxiableUUID()\":{\"notice\":\"Returns a unique bytes32 hash for ProtocolFeeReserveLib instances\"},\"setProtocolFeeReserveLib(address)\":{\"notice\":\"Sets the ProtocolFeeReserveLib target for the ProtocolFeeReserveProxy\"}},\"notice\":\"The proxiable library contract for ProtocolFeeReserveProxy\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/protocol-fee-reserve/ProtocolFeeReserveLib.sol\":\"ProtocolFeeReserveLib\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/protocol-fee-reserve/ProtocolFeeReserveLib.sol\":{\"keccak256\":\"0xb3f3bfe041b83d35f15cf17f827ff541e4fc2d9a640d5f5a45eeb54e3d10e9e6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://52d8368cc9065702e835a87e24cb10c9103ce488fe1f4accc617e42485e08539\",\"dweb:/ipfs/QmNo8v6iNcioAicTQ1CsT8XJFih15sx8xD4fmSehewYpvk\"]},\"contracts/persistent/protocol-fee-reserve/bases/ProtocolFeeReserveLibBase1.sol\":{\"keccak256\":\"0x06b6f8ad9599628e932275a3cdf189197f4ecc6eabedcd19cbcffa8e8e84c92c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://460a870f1f55f3afee3d966af8f3a17d29558215d2147822accde9e0cd3ec5f1\",\"dweb:/ipfs/QmPxmw28R9PNzymXrA9Jpo353ZT7DFxVn9vciy5rh9xQ2x\"]},\"contracts/persistent/protocol-fee-reserve/bases/ProtocolFeeReserveLibBaseCore.sol\":{\"keccak256\":\"0xf3f0ab84492ace625caae9572cbf3dc25f7a9ccdfee67d38fa8e6c4a2c679a92\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8b32274866f86ec7f13cc2349da3136d80a7a5968dfbad2361fd47d6013ed83f\",\"dweb:/ipfs/QmaWGGkaCfzckGfzSACzyL1Jyw2n24iT1oHZw8jTw9pb9Z\"]},\"contracts/persistent/protocol-fee-reserve/interfaces/IProtocolFeeReserve1.sol\":{\"keccak256\":\"0x2728878c423db523bc95189137e8c58d2d7db9f56bbd5c6b1f988c08b551fbab\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3b0df1d2eb74151265d03ab91a7c341f7beca475dd2f4d669052dbc4ee2c06ac\",\"dweb:/ipfs/QmVx1cgrxQNYfdK1Kn15pcgqf79Uw8bF3U6i7F2HG2rj6G\"]},\"contracts/persistent/protocol-fee-reserve/utils/ProtocolFeeProxyConstants.sol\":{\"keccak256\":\"0x2ae2574c42812a6c7dedc69f37176132d7f55c36ca22672a56b3240a164de7ea\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1debdcb650ec03dff95ca515206e4850b5fcdb5bb9151cc88019135fee8651f8\",\"dweb:/ipfs/Qmea7QFovEcXGPVSZp8NcAkEzWo94ejUkcwxT7Z9ybWFPe\"]},\"contracts/persistent/protocol-fee-reserve/utils/ProxiableProtocolFeeReserveLib.sol\":{\"keccak256\":\"0xefc9befd638e13010c556c2d691949a3ce51171de8007e2daa536b368ad78868\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://fb6d3f317ec683b1e6b31984bbf65d6d727e7b3f9057917b9f3b5c03f90eb7fd\",\"dweb:/ipfs/QmWmQKoMgavRRMbMEGhX5qGvxfpDkLfwEgUEqYsnAxTt6T\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "to", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "amount", "type": "uint256", "indexed": false } ], "type": "event", "name": "MlnTokenBalanceWithdrawn", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "nextProtocolFeeReserveLib", "type": "address", "indexed": false } ], "type": "event", "name": "ProtocolFeeReserveLibSet", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "vaultProxy", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "sharesAmount", "type": "uint256", "indexed": false }, { "internalType": "uint256", "name": "mlnValue", "type": "uint256", "indexed": false }, { "internalType": "uint256", "name": "mlnBurned", "type": "uint256", "indexed": false } ], "type": "event", "name": "SharesBoughtBack", "anonymous": false }, { "inputs": [ { "internalType": "uint256", "name": "_sharesAmount", "type": "uint256" }, { "internalType": "uint256", "name": "_mlnValue", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "buyBackSharesViaTrustedVaultProxy", "outputs": [ { "internalType": "uint256", "name": "mlnAmountToBurn_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "_contract", "type": "address" }, { "internalType": "bytes", "name": "_callData", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "callOnContract" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getDispatcher", "outputs": [ { "internalType": "address", "name": "dispatcher_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getProtocolFeeReserveLib", "outputs": [ { "internalType": "address", "name": "protocolFeeReserveLib_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_dispatcher", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "init" }, { "inputs": [], "stateMutability": "pure", "type": "function", "name": "proxiableUUID", "outputs": [ { "internalType": "bytes32", "name": "uuid_", "type": "bytes32" } ] }, { "inputs": [ { "internalType": "address", "name": "_nextProtocolFeeReserveLib", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "setProtocolFeeReserveLib" } ], "devdoc": { "kind": "dev", "methods": { "buyBackSharesViaTrustedVaultProxy(uint256,uint256,uint256)": { "details": "Since VaultProxy instances are completely trusted, all the work of calculating and burning the appropriate amount of shares and MLN can be done by the calling VaultProxy. This contract only needs to provide the discounted MLN amount to burn. Though it is currently unused, passing in GAV would allow creating a tiered system of discounts in a new library, for example.", "params": { "_mlnValue": "The MLN-denominated market value of _sharesAmount", "_sharesAmount": "The amount of shares to buy back" }, "returns": { "mlnAmountToBurn_": "The amount of MLN to burn" } }, "callOnContract(address,bytes)": { "params": { "_callData": "The call data for the call", "_contract": "The contract to call" } }, "getDispatcher()": { "returns": { "dispatcher_": "The `dispatcher` variable value" } }, "getProtocolFeeReserveLib()": { "returns": { "protocolFeeReserveLib_": "The address of the ProtocolFeeReserveLib target" } }, "init(address)": { "details": "Serves as a pseudo-constructor", "params": { "_dispatcher": "The Dispatcher contract" } }, "proxiableUUID()": { "returns": { "uuid_": "The bytes32 hash representing the UUID" } }, "setProtocolFeeReserveLib(address)": { "details": "This function is absolutely critical. __updateCodeAddress() validates that the target is a valid Proxiable contract instance. Does not block _nextProtocolFeeReserveLib from being the same as the current ProtocolFeeReserveLib", "params": { "_nextProtocolFeeReserveLib": "The address to set as the ProtocolFeeReserveLib" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "buyBackSharesViaTrustedVaultProxy(uint256,uint256,uint256)": { "notice": "Indicates that the calling VaultProxy is buying back shares collected as protocol fee, and returns the amount of MLN that should be burned for the buyback" }, "callOnContract(address,bytes)": { "notice": "Makes an arbitrary call with this contract as the sender" }, "getDispatcher()": { "notice": "Gets the `dispatcher` variable" }, "getProtocolFeeReserveLib()": { "notice": "Gets the ProtocolFeeReserveLib target for the ProtocolFeeReserveProxy" }, "init(address)": { "notice": "Initializes the ProtocolFeeReserveProxy with core configuration" }, "proxiableUUID()": { "notice": "Returns a unique bytes32 hash for ProtocolFeeReserveLib instances" }, "setProtocolFeeReserveLib(address)": { "notice": "Sets the ProtocolFeeReserveLib target for the ProtocolFeeReserveProxy" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/persistent/protocol-fee-reserve/ProtocolFeeReserveLib.sol": "ProtocolFeeReserveLib" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/dispatcher/IDispatcher.sol": { "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", "urls": [ "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" ], "license": "GPL-3.0" }, "contracts/persistent/protocol-fee-reserve/ProtocolFeeReserveLib.sol": { "keccak256": "0xb3f3bfe041b83d35f15cf17f827ff541e4fc2d9a640d5f5a45eeb54e3d10e9e6", "urls": [ "bzz-raw://52d8368cc9065702e835a87e24cb10c9103ce488fe1f4accc617e42485e08539", "dweb:/ipfs/QmNo8v6iNcioAicTQ1CsT8XJFih15sx8xD4fmSehewYpvk" ], "license": "GPL-3.0" }, "contracts/persistent/protocol-fee-reserve/bases/ProtocolFeeReserveLibBase1.sol": { "keccak256": "0x06b6f8ad9599628e932275a3cdf189197f4ecc6eabedcd19cbcffa8e8e84c92c", "urls": [ "bzz-raw://460a870f1f55f3afee3d966af8f3a17d29558215d2147822accde9e0cd3ec5f1", "dweb:/ipfs/QmPxmw28R9PNzymXrA9Jpo353ZT7DFxVn9vciy5rh9xQ2x" ], "license": "GPL-3.0" }, "contracts/persistent/protocol-fee-reserve/bases/ProtocolFeeReserveLibBaseCore.sol": { "keccak256": "0xf3f0ab84492ace625caae9572cbf3dc25f7a9ccdfee67d38fa8e6c4a2c679a92", "urls": [ "bzz-raw://8b32274866f86ec7f13cc2349da3136d80a7a5968dfbad2361fd47d6013ed83f", "dweb:/ipfs/QmaWGGkaCfzckGfzSACzyL1Jyw2n24iT1oHZw8jTw9pb9Z" ], "license": "GPL-3.0" }, "contracts/persistent/protocol-fee-reserve/interfaces/IProtocolFeeReserve1.sol": { "keccak256": "0x2728878c423db523bc95189137e8c58d2d7db9f56bbd5c6b1f988c08b551fbab", "urls": [ "bzz-raw://3b0df1d2eb74151265d03ab91a7c341f7beca475dd2f4d669052dbc4ee2c06ac", "dweb:/ipfs/QmVx1cgrxQNYfdK1Kn15pcgqf79Uw8bF3U6i7F2HG2rj6G" ], "license": "GPL-3.0" }, "contracts/persistent/protocol-fee-reserve/utils/ProtocolFeeProxyConstants.sol": { "keccak256": "0x2ae2574c42812a6c7dedc69f37176132d7f55c36ca22672a56b3240a164de7ea", "urls": [ "bzz-raw://1debdcb650ec03dff95ca515206e4850b5fcdb5bb9151cc88019135fee8651f8", "dweb:/ipfs/Qmea7QFovEcXGPVSZp8NcAkEzWo94ejUkcwxT7Z9ybWFPe" ], "license": "GPL-3.0" }, "contracts/persistent/protocol-fee-reserve/utils/ProxiableProtocolFeeReserveLib.sol": { "keccak256": "0xefc9befd638e13010c556c2d691949a3ce51171de8007e2daa536b368ad78868", "urls": [ "bzz-raw://fb6d3f317ec683b1e6b31984bbf65d6d727e7b3f9057917b9f3b5c03f90eb7fd", "dweb:/ipfs/QmWmQKoMgavRRMbMEGhX5qGvxfpDkLfwEgUEqYsnAxTt6T" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" } }, "version": 1 }, "id": 51 } diff --git a/eth_defi/abi/enzyme/ProtocolFeeReserveLibBase1.json b/eth_defi/abi/enzyme/ProtocolFeeReserveLibBase1.json index bae2a309..3e13eeba 100644 --- a/eth_defi/abi/enzyme/ProtocolFeeReserveLibBase1.json +++ b/eth_defi/abi/enzyme/ProtocolFeeReserveLibBase1.json @@ -1,416 +1 @@ -{ - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "to", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "MlnTokenBalanceWithdrawn", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "nextProtocolFeeReserveLib", - "type": "address" - } - ], - "name": "ProtocolFeeReserveLibSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "vaultProxy", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "sharesAmount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "mlnValue", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "mlnBurned", - "type": "uint256" - } - ], - "name": "SharesBoughtBack", - "type": "event" - }, - { - "inputs": [], - "name": "getDispatcher", - "outputs": [ - { - "internalType": "address", - "name": "dispatcher_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getProtocolFeeReserveLib", - "outputs": [ - { - "internalType": "address", - "name": "protocolFeeReserveLib_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_dispatcher", - "type": "address" - } - ], - "name": "init", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "proxiableUUID", - "outputs": [ - { - "internalType": "bytes32", - "name": "uuid_", - "type": "bytes32" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_nextProtocolFeeReserveLib", - "type": "address" - } - ], - "name": "setProtocolFeeReserveLib", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "getDispatcher()": "ebb3d589", - "getProtocolFeeReserveLib()": "b3e2546b", - "init(address)": "19ab453c", - "proxiableUUID()": "52d1902d", - "setProtocolFeeReserveLib(address)": "c75a882a" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"MlnTokenBalanceWithdrawn\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"nextProtocolFeeReserveLib\",\"type\":\"address\"}],\"name\":\"ProtocolFeeReserveLibSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"vaultProxy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"sharesAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"mlnValue\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"mlnBurned\",\"type\":\"uint256\"}],\"name\":\"SharesBoughtBack\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"getDispatcher\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"dispatcher_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getProtocolFeeReserveLib\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"protocolFeeReserveLib_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_dispatcher\",\"type\":\"address\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"uuid_\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nextProtocolFeeReserveLib\",\"type\":\"address\"}],\"name\":\"setProtocolFeeReserveLib\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"Each next base implementation inherits the previous base implementation, e.g., `ProtocolFeeReserveLibBase2 is ProtocolFeeReserveLibBase1` DO NOT EDIT CONTRACT.\",\"kind\":\"dev\",\"methods\":{\"getDispatcher()\":{\"returns\":{\"dispatcher_\":\"The `dispatcher` variable value\"}},\"getProtocolFeeReserveLib()\":{\"returns\":{\"protocolFeeReserveLib_\":\"The address of the ProtocolFeeReserveLib target\"}},\"init(address)\":{\"details\":\"Serves as a pseudo-constructor\",\"params\":{\"_dispatcher\":\"The Dispatcher contract\"}},\"proxiableUUID()\":{\"returns\":{\"uuid_\":\"The bytes32 hash representing the UUID\"}},\"setProtocolFeeReserveLib(address)\":{\"details\":\"This function is absolutely critical. __updateCodeAddress() validates that the target is a valid Proxiable contract instance. Does not block _nextProtocolFeeReserveLib from being the same as the current ProtocolFeeReserveLib\",\"params\":{\"_nextProtocolFeeReserveLib\":\"The address to set as the ProtocolFeeReserveLib\"}}},\"title\":\"ProtocolFeeReserveLibBase1 Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getDispatcher()\":{\"notice\":\"Gets the `dispatcher` variable\"},\"getProtocolFeeReserveLib()\":{\"notice\":\"Gets the ProtocolFeeReserveLib target for the ProtocolFeeReserveProxy\"},\"init(address)\":{\"notice\":\"Initializes the ProtocolFeeReserveProxy with core configuration\"},\"proxiableUUID()\":{\"notice\":\"Returns a unique bytes32 hash for ProtocolFeeReserveLib instances\"},\"setProtocolFeeReserveLib(address)\":{\"notice\":\"Sets the ProtocolFeeReserveLib target for the ProtocolFeeReserveProxy\"}},\"notice\":\"A base implementation for ProtocolFeeReserveLib\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/protocol-fee-reserve/bases/ProtocolFeeReserveLibBase1.sol\":\"ProtocolFeeReserveLibBase1\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/protocol-fee-reserve/bases/ProtocolFeeReserveLibBase1.sol\":{\"keccak256\":\"0x06b6f8ad9599628e932275a3cdf189197f4ecc6eabedcd19cbcffa8e8e84c92c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://460a870f1f55f3afee3d966af8f3a17d29558215d2147822accde9e0cd3ec5f1\",\"dweb:/ipfs/QmPxmw28R9PNzymXrA9Jpo353ZT7DFxVn9vciy5rh9xQ2x\"]},\"contracts/persistent/protocol-fee-reserve/bases/ProtocolFeeReserveLibBaseCore.sol\":{\"keccak256\":\"0xf3f0ab84492ace625caae9572cbf3dc25f7a9ccdfee67d38fa8e6c4a2c679a92\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8b32274866f86ec7f13cc2349da3136d80a7a5968dfbad2361fd47d6013ed83f\",\"dweb:/ipfs/QmaWGGkaCfzckGfzSACzyL1Jyw2n24iT1oHZw8jTw9pb9Z\"]},\"contracts/persistent/protocol-fee-reserve/utils/ProtocolFeeProxyConstants.sol\":{\"keccak256\":\"0x2ae2574c42812a6c7dedc69f37176132d7f55c36ca22672a56b3240a164de7ea\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1debdcb650ec03dff95ca515206e4850b5fcdb5bb9151cc88019135fee8651f8\",\"dweb:/ipfs/Qmea7QFovEcXGPVSZp8NcAkEzWo94ejUkcwxT7Z9ybWFPe\"]},\"contracts/persistent/protocol-fee-reserve/utils/ProxiableProtocolFeeReserveLib.sol\":{\"keccak256\":\"0xefc9befd638e13010c556c2d691949a3ce51171de8007e2daa536b368ad78868\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://fb6d3f317ec683b1e6b31984bbf65d6d727e7b3f9057917b9f3b5c03f90eb7fd\",\"dweb:/ipfs/QmWmQKoMgavRRMbMEGhX5qGvxfpDkLfwEgUEqYsnAxTt6T\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "to", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "MlnTokenBalanceWithdrawn", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "nextProtocolFeeReserveLib", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "ProtocolFeeReserveLibSet", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "vaultProxy", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "sharesAmount", - "type": "uint256", - "indexed": false - }, - { - "internalType": "uint256", - "name": "mlnValue", - "type": "uint256", - "indexed": false - }, - { - "internalType": "uint256", - "name": "mlnBurned", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "SharesBoughtBack", - "anonymous": false - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getDispatcher", - "outputs": [ - { - "internalType": "address", - "name": "dispatcher_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getProtocolFeeReserveLib", - "outputs": [ - { - "internalType": "address", - "name": "protocolFeeReserveLib_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_dispatcher", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "init" - }, - { - "inputs": [], - "stateMutability": "pure", - "type": "function", - "name": "proxiableUUID", - "outputs": [ - { - "internalType": "bytes32", - "name": "uuid_", - "type": "bytes32" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_nextProtocolFeeReserveLib", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setProtocolFeeReserveLib" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "getDispatcher()": { - "returns": { - "dispatcher_": "The `dispatcher` variable value" - } - }, - "getProtocolFeeReserveLib()": { - "returns": { - "protocolFeeReserveLib_": "The address of the ProtocolFeeReserveLib target" - } - }, - "init(address)": { - "details": "Serves as a pseudo-constructor", - "params": { - "_dispatcher": "The Dispatcher contract" - } - }, - "proxiableUUID()": { - "returns": { - "uuid_": "The bytes32 hash representing the UUID" - } - }, - "setProtocolFeeReserveLib(address)": { - "details": "This function is absolutely critical. __updateCodeAddress() validates that the target is a valid Proxiable contract instance. Does not block _nextProtocolFeeReserveLib from being the same as the current ProtocolFeeReserveLib", - "params": { - "_nextProtocolFeeReserveLib": "The address to set as the ProtocolFeeReserveLib" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "getDispatcher()": { - "notice": "Gets the `dispatcher` variable" - }, - "getProtocolFeeReserveLib()": { - "notice": "Gets the ProtocolFeeReserveLib target for the ProtocolFeeReserveProxy" - }, - "init(address)": { - "notice": "Initializes the ProtocolFeeReserveProxy with core configuration" - }, - "proxiableUUID()": { - "notice": "Returns a unique bytes32 hash for ProtocolFeeReserveLib instances" - }, - "setProtocolFeeReserveLib(address)": { - "notice": "Sets the ProtocolFeeReserveLib target for the ProtocolFeeReserveProxy" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/persistent/protocol-fee-reserve/bases/ProtocolFeeReserveLibBase1.sol": "ProtocolFeeReserveLibBase1" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/dispatcher/IDispatcher.sol": { - "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", - "urls": [ - "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", - "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/protocol-fee-reserve/bases/ProtocolFeeReserveLibBase1.sol": { - "keccak256": "0x06b6f8ad9599628e932275a3cdf189197f4ecc6eabedcd19cbcffa8e8e84c92c", - "urls": [ - "bzz-raw://460a870f1f55f3afee3d966af8f3a17d29558215d2147822accde9e0cd3ec5f1", - "dweb:/ipfs/QmPxmw28R9PNzymXrA9Jpo353ZT7DFxVn9vciy5rh9xQ2x" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/protocol-fee-reserve/bases/ProtocolFeeReserveLibBaseCore.sol": { - "keccak256": "0xf3f0ab84492ace625caae9572cbf3dc25f7a9ccdfee67d38fa8e6c4a2c679a92", - "urls": [ - "bzz-raw://8b32274866f86ec7f13cc2349da3136d80a7a5968dfbad2361fd47d6013ed83f", - "dweb:/ipfs/QmaWGGkaCfzckGfzSACzyL1Jyw2n24iT1oHZw8jTw9pb9Z" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/protocol-fee-reserve/utils/ProtocolFeeProxyConstants.sol": { - "keccak256": "0x2ae2574c42812a6c7dedc69f37176132d7f55c36ca22672a56b3240a164de7ea", - "urls": [ - "bzz-raw://1debdcb650ec03dff95ca515206e4850b5fcdb5bb9151cc88019135fee8651f8", - "dweb:/ipfs/Qmea7QFovEcXGPVSZp8NcAkEzWo94ejUkcwxT7Z9ybWFPe" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/protocol-fee-reserve/utils/ProxiableProtocolFeeReserveLib.sol": { - "keccak256": "0xefc9befd638e13010c556c2d691949a3ce51171de8007e2daa536b368ad78868", - "urls": [ - "bzz-raw://fb6d3f317ec683b1e6b31984bbf65d6d727e7b3f9057917b9f3b5c03f90eb7fd", - "dweb:/ipfs/QmWmQKoMgavRRMbMEGhX5qGvxfpDkLfwEgUEqYsnAxTt6T" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 53 -} +{ "abi": [ { "type": "function", "name": "getDispatcher", "inputs": [], "outputs": [ { "name": "dispatcher_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getProtocolFeeReserveLib", "inputs": [], "outputs": [ { "name": "protocolFeeReserveLib_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "init", "inputs": [ { "name": "_dispatcher", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "proxiableUUID", "inputs": [], "outputs": [ { "name": "uuid_", "type": "bytes32", "internalType": "bytes32" } ], "stateMutability": "pure" }, { "type": "function", "name": "setProtocolFeeReserveLib", "inputs": [ { "name": "_nextProtocolFeeReserveLib", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "event", "name": "MlnTokenBalanceWithdrawn", "inputs": [ { "name": "to", "type": "address", "indexed": true, "internalType": "address" }, { "name": "amount", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "ProtocolFeeReserveLibSet", "inputs": [ { "name": "nextProtocolFeeReserveLib", "type": "address", "indexed": false, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "SharesBoughtBack", "inputs": [ { "name": "vaultProxy", "type": "address", "indexed": true, "internalType": "address" }, { "name": "sharesAmount", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "mlnValue", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "mlnBurned", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "getDispatcher()": "ebb3d589", "getProtocolFeeReserveLib()": "b3e2546b", "init(address)": "19ab453c", "proxiableUUID()": "52d1902d", "setProtocolFeeReserveLib(address)": "c75a882a" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"MlnTokenBalanceWithdrawn\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"nextProtocolFeeReserveLib\",\"type\":\"address\"}],\"name\":\"ProtocolFeeReserveLibSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"vaultProxy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"sharesAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"mlnValue\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"mlnBurned\",\"type\":\"uint256\"}],\"name\":\"SharesBoughtBack\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"getDispatcher\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"dispatcher_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getProtocolFeeReserveLib\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"protocolFeeReserveLib_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_dispatcher\",\"type\":\"address\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"uuid_\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nextProtocolFeeReserveLib\",\"type\":\"address\"}],\"name\":\"setProtocolFeeReserveLib\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"Each next base implementation inherits the previous base implementation, e.g., `ProtocolFeeReserveLibBase2 is ProtocolFeeReserveLibBase1` DO NOT EDIT CONTRACT.\",\"kind\":\"dev\",\"methods\":{\"getDispatcher()\":{\"returns\":{\"dispatcher_\":\"The `dispatcher` variable value\"}},\"getProtocolFeeReserveLib()\":{\"returns\":{\"protocolFeeReserveLib_\":\"The address of the ProtocolFeeReserveLib target\"}},\"init(address)\":{\"details\":\"Serves as a pseudo-constructor\",\"params\":{\"_dispatcher\":\"The Dispatcher contract\"}},\"proxiableUUID()\":{\"returns\":{\"uuid_\":\"The bytes32 hash representing the UUID\"}},\"setProtocolFeeReserveLib(address)\":{\"details\":\"This function is absolutely critical. __updateCodeAddress() validates that the target is a valid Proxiable contract instance. Does not block _nextProtocolFeeReserveLib from being the same as the current ProtocolFeeReserveLib\",\"params\":{\"_nextProtocolFeeReserveLib\":\"The address to set as the ProtocolFeeReserveLib\"}}},\"title\":\"ProtocolFeeReserveLibBase1 Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getDispatcher()\":{\"notice\":\"Gets the `dispatcher` variable\"},\"getProtocolFeeReserveLib()\":{\"notice\":\"Gets the ProtocolFeeReserveLib target for the ProtocolFeeReserveProxy\"},\"init(address)\":{\"notice\":\"Initializes the ProtocolFeeReserveProxy with core configuration\"},\"proxiableUUID()\":{\"notice\":\"Returns a unique bytes32 hash for ProtocolFeeReserveLib instances\"},\"setProtocolFeeReserveLib(address)\":{\"notice\":\"Sets the ProtocolFeeReserveLib target for the ProtocolFeeReserveProxy\"}},\"notice\":\"A base implementation for ProtocolFeeReserveLib\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/protocol-fee-reserve/bases/ProtocolFeeReserveLibBase1.sol\":\"ProtocolFeeReserveLibBase1\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/protocol-fee-reserve/bases/ProtocolFeeReserveLibBase1.sol\":{\"keccak256\":\"0x06b6f8ad9599628e932275a3cdf189197f4ecc6eabedcd19cbcffa8e8e84c92c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://460a870f1f55f3afee3d966af8f3a17d29558215d2147822accde9e0cd3ec5f1\",\"dweb:/ipfs/QmPxmw28R9PNzymXrA9Jpo353ZT7DFxVn9vciy5rh9xQ2x\"]},\"contracts/persistent/protocol-fee-reserve/bases/ProtocolFeeReserveLibBaseCore.sol\":{\"keccak256\":\"0xf3f0ab84492ace625caae9572cbf3dc25f7a9ccdfee67d38fa8e6c4a2c679a92\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8b32274866f86ec7f13cc2349da3136d80a7a5968dfbad2361fd47d6013ed83f\",\"dweb:/ipfs/QmaWGGkaCfzckGfzSACzyL1Jyw2n24iT1oHZw8jTw9pb9Z\"]},\"contracts/persistent/protocol-fee-reserve/utils/ProtocolFeeProxyConstants.sol\":{\"keccak256\":\"0x2ae2574c42812a6c7dedc69f37176132d7f55c36ca22672a56b3240a164de7ea\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1debdcb650ec03dff95ca515206e4850b5fcdb5bb9151cc88019135fee8651f8\",\"dweb:/ipfs/Qmea7QFovEcXGPVSZp8NcAkEzWo94ejUkcwxT7Z9ybWFPe\"]},\"contracts/persistent/protocol-fee-reserve/utils/ProxiableProtocolFeeReserveLib.sol\":{\"keccak256\":\"0xefc9befd638e13010c556c2d691949a3ce51171de8007e2daa536b368ad78868\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://fb6d3f317ec683b1e6b31984bbf65d6d727e7b3f9057917b9f3b5c03f90eb7fd\",\"dweb:/ipfs/QmWmQKoMgavRRMbMEGhX5qGvxfpDkLfwEgUEqYsnAxTt6T\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "to", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "amount", "type": "uint256", "indexed": false } ], "type": "event", "name": "MlnTokenBalanceWithdrawn", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "nextProtocolFeeReserveLib", "type": "address", "indexed": false } ], "type": "event", "name": "ProtocolFeeReserveLibSet", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "vaultProxy", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "sharesAmount", "type": "uint256", "indexed": false }, { "internalType": "uint256", "name": "mlnValue", "type": "uint256", "indexed": false }, { "internalType": "uint256", "name": "mlnBurned", "type": "uint256", "indexed": false } ], "type": "event", "name": "SharesBoughtBack", "anonymous": false }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getDispatcher", "outputs": [ { "internalType": "address", "name": "dispatcher_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getProtocolFeeReserveLib", "outputs": [ { "internalType": "address", "name": "protocolFeeReserveLib_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_dispatcher", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "init" }, { "inputs": [], "stateMutability": "pure", "type": "function", "name": "proxiableUUID", "outputs": [ { "internalType": "bytes32", "name": "uuid_", "type": "bytes32" } ] }, { "inputs": [ { "internalType": "address", "name": "_nextProtocolFeeReserveLib", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "setProtocolFeeReserveLib" } ], "devdoc": { "kind": "dev", "methods": { "getDispatcher()": { "returns": { "dispatcher_": "The `dispatcher` variable value" } }, "getProtocolFeeReserveLib()": { "returns": { "protocolFeeReserveLib_": "The address of the ProtocolFeeReserveLib target" } }, "init(address)": { "details": "Serves as a pseudo-constructor", "params": { "_dispatcher": "The Dispatcher contract" } }, "proxiableUUID()": { "returns": { "uuid_": "The bytes32 hash representing the UUID" } }, "setProtocolFeeReserveLib(address)": { "details": "This function is absolutely critical. __updateCodeAddress() validates that the target is a valid Proxiable contract instance. Does not block _nextProtocolFeeReserveLib from being the same as the current ProtocolFeeReserveLib", "params": { "_nextProtocolFeeReserveLib": "The address to set as the ProtocolFeeReserveLib" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "getDispatcher()": { "notice": "Gets the `dispatcher` variable" }, "getProtocolFeeReserveLib()": { "notice": "Gets the ProtocolFeeReserveLib target for the ProtocolFeeReserveProxy" }, "init(address)": { "notice": "Initializes the ProtocolFeeReserveProxy with core configuration" }, "proxiableUUID()": { "notice": "Returns a unique bytes32 hash for ProtocolFeeReserveLib instances" }, "setProtocolFeeReserveLib(address)": { "notice": "Sets the ProtocolFeeReserveLib target for the ProtocolFeeReserveProxy" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/persistent/protocol-fee-reserve/bases/ProtocolFeeReserveLibBase1.sol": "ProtocolFeeReserveLibBase1" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/dispatcher/IDispatcher.sol": { "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", "urls": [ "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" ], "license": "GPL-3.0" }, "contracts/persistent/protocol-fee-reserve/bases/ProtocolFeeReserveLibBase1.sol": { "keccak256": "0x06b6f8ad9599628e932275a3cdf189197f4ecc6eabedcd19cbcffa8e8e84c92c", "urls": [ "bzz-raw://460a870f1f55f3afee3d966af8f3a17d29558215d2147822accde9e0cd3ec5f1", "dweb:/ipfs/QmPxmw28R9PNzymXrA9Jpo353ZT7DFxVn9vciy5rh9xQ2x" ], "license": "GPL-3.0" }, "contracts/persistent/protocol-fee-reserve/bases/ProtocolFeeReserveLibBaseCore.sol": { "keccak256": "0xf3f0ab84492ace625caae9572cbf3dc25f7a9ccdfee67d38fa8e6c4a2c679a92", "urls": [ "bzz-raw://8b32274866f86ec7f13cc2349da3136d80a7a5968dfbad2361fd47d6013ed83f", "dweb:/ipfs/QmaWGGkaCfzckGfzSACzyL1Jyw2n24iT1oHZw8jTw9pb9Z" ], "license": "GPL-3.0" }, "contracts/persistent/protocol-fee-reserve/utils/ProtocolFeeProxyConstants.sol": { "keccak256": "0x2ae2574c42812a6c7dedc69f37176132d7f55c36ca22672a56b3240a164de7ea", "urls": [ "bzz-raw://1debdcb650ec03dff95ca515206e4850b5fcdb5bb9151cc88019135fee8651f8", "dweb:/ipfs/Qmea7QFovEcXGPVSZp8NcAkEzWo94ejUkcwxT7Z9ybWFPe" ], "license": "GPL-3.0" }, "contracts/persistent/protocol-fee-reserve/utils/ProxiableProtocolFeeReserveLib.sol": { "keccak256": "0xefc9befd638e13010c556c2d691949a3ce51171de8007e2daa536b368ad78868", "urls": [ "bzz-raw://fb6d3f317ec683b1e6b31984bbf65d6d727e7b3f9057917b9f3b5c03f90eb7fd", "dweb:/ipfs/QmWmQKoMgavRRMbMEGhX5qGvxfpDkLfwEgUEqYsnAxTt6T" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 53 } diff --git a/eth_defi/abi/enzyme/ProtocolFeeReserveLibBaseCore.json b/eth_defi/abi/enzyme/ProtocolFeeReserveLibBaseCore.json index 1e5efacb..5d7aa455 100644 --- a/eth_defi/abi/enzyme/ProtocolFeeReserveLibBaseCore.json +++ b/eth_defi/abi/enzyme/ProtocolFeeReserveLibBaseCore.json @@ -1,308 +1 @@ -{ - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "nextProtocolFeeReserveLib", - "type": "address" - } - ], - "name": "ProtocolFeeReserveLibSet", - "type": "event" - }, - { - "inputs": [], - "name": "getDispatcher", - "outputs": [ - { - "internalType": "address", - "name": "dispatcher_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getProtocolFeeReserveLib", - "outputs": [ - { - "internalType": "address", - "name": "protocolFeeReserveLib_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_dispatcher", - "type": "address" - } - ], - "name": "init", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "proxiableUUID", - "outputs": [ - { - "internalType": "bytes32", - "name": "uuid_", - "type": "bytes32" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_nextProtocolFeeReserveLib", - "type": "address" - } - ], - "name": "setProtocolFeeReserveLib", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "getDispatcher()": "ebb3d589", - "getProtocolFeeReserveLib()": "b3e2546b", - "init(address)": "19ab453c", - "proxiableUUID()": "52d1902d", - "setProtocolFeeReserveLib(address)": "c75a882a" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"nextProtocolFeeReserveLib\",\"type\":\"address\"}],\"name\":\"ProtocolFeeReserveLibSet\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"getDispatcher\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"dispatcher_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getProtocolFeeReserveLib\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"protocolFeeReserveLib_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_dispatcher\",\"type\":\"address\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"uuid_\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nextProtocolFeeReserveLib\",\"type\":\"address\"}],\"name\":\"setProtocolFeeReserveLib\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"To be inherited by the first ProtocolFeeReserveLibBase implementation only. DO NOT EDIT CONTRACT.\",\"kind\":\"dev\",\"methods\":{\"getDispatcher()\":{\"returns\":{\"dispatcher_\":\"The `dispatcher` variable value\"}},\"getProtocolFeeReserveLib()\":{\"returns\":{\"protocolFeeReserveLib_\":\"The address of the ProtocolFeeReserveLib target\"}},\"init(address)\":{\"details\":\"Serves as a pseudo-constructor\",\"params\":{\"_dispatcher\":\"The Dispatcher contract\"}},\"proxiableUUID()\":{\"returns\":{\"uuid_\":\"The bytes32 hash representing the UUID\"}},\"setProtocolFeeReserveLib(address)\":{\"details\":\"This function is absolutely critical. __updateCodeAddress() validates that the target is a valid Proxiable contract instance. Does not block _nextProtocolFeeReserveLib from being the same as the current ProtocolFeeReserveLib\",\"params\":{\"_nextProtocolFeeReserveLib\":\"The address to set as the ProtocolFeeReserveLib\"}}},\"title\":\"ProtocolFeeReserveLibBaseCore Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getDispatcher()\":{\"notice\":\"Gets the `dispatcher` variable\"},\"getProtocolFeeReserveLib()\":{\"notice\":\"Gets the ProtocolFeeReserveLib target for the ProtocolFeeReserveProxy\"},\"init(address)\":{\"notice\":\"Initializes the ProtocolFeeReserveProxy with core configuration\"},\"proxiableUUID()\":{\"notice\":\"Returns a unique bytes32 hash for ProtocolFeeReserveLib instances\"},\"setProtocolFeeReserveLib(address)\":{\"notice\":\"Sets the ProtocolFeeReserveLib target for the ProtocolFeeReserveProxy\"}},\"notice\":\"The core implementation of ProtocolFeeReserveLib\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/protocol-fee-reserve/bases/ProtocolFeeReserveLibBaseCore.sol\":\"ProtocolFeeReserveLibBaseCore\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/protocol-fee-reserve/bases/ProtocolFeeReserveLibBaseCore.sol\":{\"keccak256\":\"0xf3f0ab84492ace625caae9572cbf3dc25f7a9ccdfee67d38fa8e6c4a2c679a92\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8b32274866f86ec7f13cc2349da3136d80a7a5968dfbad2361fd47d6013ed83f\",\"dweb:/ipfs/QmaWGGkaCfzckGfzSACzyL1Jyw2n24iT1oHZw8jTw9pb9Z\"]},\"contracts/persistent/protocol-fee-reserve/utils/ProtocolFeeProxyConstants.sol\":{\"keccak256\":\"0x2ae2574c42812a6c7dedc69f37176132d7f55c36ca22672a56b3240a164de7ea\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1debdcb650ec03dff95ca515206e4850b5fcdb5bb9151cc88019135fee8651f8\",\"dweb:/ipfs/Qmea7QFovEcXGPVSZp8NcAkEzWo94ejUkcwxT7Z9ybWFPe\"]},\"contracts/persistent/protocol-fee-reserve/utils/ProxiableProtocolFeeReserveLib.sol\":{\"keccak256\":\"0xefc9befd638e13010c556c2d691949a3ce51171de8007e2daa536b368ad78868\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://fb6d3f317ec683b1e6b31984bbf65d6d727e7b3f9057917b9f3b5c03f90eb7fd\",\"dweb:/ipfs/QmWmQKoMgavRRMbMEGhX5qGvxfpDkLfwEgUEqYsnAxTt6T\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "nextProtocolFeeReserveLib", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "ProtocolFeeReserveLibSet", - "anonymous": false - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getDispatcher", - "outputs": [ - { - "internalType": "address", - "name": "dispatcher_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getProtocolFeeReserveLib", - "outputs": [ - { - "internalType": "address", - "name": "protocolFeeReserveLib_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_dispatcher", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "init" - }, - { - "inputs": [], - "stateMutability": "pure", - "type": "function", - "name": "proxiableUUID", - "outputs": [ - { - "internalType": "bytes32", - "name": "uuid_", - "type": "bytes32" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_nextProtocolFeeReserveLib", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setProtocolFeeReserveLib" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "getDispatcher()": { - "returns": { - "dispatcher_": "The `dispatcher` variable value" - } - }, - "getProtocolFeeReserveLib()": { - "returns": { - "protocolFeeReserveLib_": "The address of the ProtocolFeeReserveLib target" - } - }, - "init(address)": { - "details": "Serves as a pseudo-constructor", - "params": { - "_dispatcher": "The Dispatcher contract" - } - }, - "proxiableUUID()": { - "returns": { - "uuid_": "The bytes32 hash representing the UUID" - } - }, - "setProtocolFeeReserveLib(address)": { - "details": "This function is absolutely critical. __updateCodeAddress() validates that the target is a valid Proxiable contract instance. Does not block _nextProtocolFeeReserveLib from being the same as the current ProtocolFeeReserveLib", - "params": { - "_nextProtocolFeeReserveLib": "The address to set as the ProtocolFeeReserveLib" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "getDispatcher()": { - "notice": "Gets the `dispatcher` variable" - }, - "getProtocolFeeReserveLib()": { - "notice": "Gets the ProtocolFeeReserveLib target for the ProtocolFeeReserveProxy" - }, - "init(address)": { - "notice": "Initializes the ProtocolFeeReserveProxy with core configuration" - }, - "proxiableUUID()": { - "notice": "Returns a unique bytes32 hash for ProtocolFeeReserveLib instances" - }, - "setProtocolFeeReserveLib(address)": { - "notice": "Sets the ProtocolFeeReserveLib target for the ProtocolFeeReserveProxy" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/persistent/protocol-fee-reserve/bases/ProtocolFeeReserveLibBaseCore.sol": "ProtocolFeeReserveLibBaseCore" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/dispatcher/IDispatcher.sol": { - "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", - "urls": [ - "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", - "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/protocol-fee-reserve/bases/ProtocolFeeReserveLibBaseCore.sol": { - "keccak256": "0xf3f0ab84492ace625caae9572cbf3dc25f7a9ccdfee67d38fa8e6c4a2c679a92", - "urls": [ - "bzz-raw://8b32274866f86ec7f13cc2349da3136d80a7a5968dfbad2361fd47d6013ed83f", - "dweb:/ipfs/QmaWGGkaCfzckGfzSACzyL1Jyw2n24iT1oHZw8jTw9pb9Z" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/protocol-fee-reserve/utils/ProtocolFeeProxyConstants.sol": { - "keccak256": "0x2ae2574c42812a6c7dedc69f37176132d7f55c36ca22672a56b3240a164de7ea", - "urls": [ - "bzz-raw://1debdcb650ec03dff95ca515206e4850b5fcdb5bb9151cc88019135fee8651f8", - "dweb:/ipfs/Qmea7QFovEcXGPVSZp8NcAkEzWo94ejUkcwxT7Z9ybWFPe" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/protocol-fee-reserve/utils/ProxiableProtocolFeeReserveLib.sol": { - "keccak256": "0xefc9befd638e13010c556c2d691949a3ce51171de8007e2daa536b368ad78868", - "urls": [ - "bzz-raw://fb6d3f317ec683b1e6b31984bbf65d6d727e7b3f9057917b9f3b5c03f90eb7fd", - "dweb:/ipfs/QmWmQKoMgavRRMbMEGhX5qGvxfpDkLfwEgUEqYsnAxTt6T" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 54 -} +{ "abi": [ { "type": "function", "name": "getDispatcher", "inputs": [], "outputs": [ { "name": "dispatcher_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getProtocolFeeReserveLib", "inputs": [], "outputs": [ { "name": "protocolFeeReserveLib_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "init", "inputs": [ { "name": "_dispatcher", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "proxiableUUID", "inputs": [], "outputs": [ { "name": "uuid_", "type": "bytes32", "internalType": "bytes32" } ], "stateMutability": "pure" }, { "type": "function", "name": "setProtocolFeeReserveLib", "inputs": [ { "name": "_nextProtocolFeeReserveLib", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "event", "name": "ProtocolFeeReserveLibSet", "inputs": [ { "name": "nextProtocolFeeReserveLib", "type": "address", "indexed": false, "internalType": "address" } ], "anonymous": false } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "getDispatcher()": "ebb3d589", "getProtocolFeeReserveLib()": "b3e2546b", "init(address)": "19ab453c", "proxiableUUID()": "52d1902d", "setProtocolFeeReserveLib(address)": "c75a882a" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"nextProtocolFeeReserveLib\",\"type\":\"address\"}],\"name\":\"ProtocolFeeReserveLibSet\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"getDispatcher\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"dispatcher_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getProtocolFeeReserveLib\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"protocolFeeReserveLib_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_dispatcher\",\"type\":\"address\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"uuid_\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nextProtocolFeeReserveLib\",\"type\":\"address\"}],\"name\":\"setProtocolFeeReserveLib\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"To be inherited by the first ProtocolFeeReserveLibBase implementation only. DO NOT EDIT CONTRACT.\",\"kind\":\"dev\",\"methods\":{\"getDispatcher()\":{\"returns\":{\"dispatcher_\":\"The `dispatcher` variable value\"}},\"getProtocolFeeReserveLib()\":{\"returns\":{\"protocolFeeReserveLib_\":\"The address of the ProtocolFeeReserveLib target\"}},\"init(address)\":{\"details\":\"Serves as a pseudo-constructor\",\"params\":{\"_dispatcher\":\"The Dispatcher contract\"}},\"proxiableUUID()\":{\"returns\":{\"uuid_\":\"The bytes32 hash representing the UUID\"}},\"setProtocolFeeReserveLib(address)\":{\"details\":\"This function is absolutely critical. __updateCodeAddress() validates that the target is a valid Proxiable contract instance. Does not block _nextProtocolFeeReserveLib from being the same as the current ProtocolFeeReserveLib\",\"params\":{\"_nextProtocolFeeReserveLib\":\"The address to set as the ProtocolFeeReserveLib\"}}},\"title\":\"ProtocolFeeReserveLibBaseCore Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getDispatcher()\":{\"notice\":\"Gets the `dispatcher` variable\"},\"getProtocolFeeReserveLib()\":{\"notice\":\"Gets the ProtocolFeeReserveLib target for the ProtocolFeeReserveProxy\"},\"init(address)\":{\"notice\":\"Initializes the ProtocolFeeReserveProxy with core configuration\"},\"proxiableUUID()\":{\"notice\":\"Returns a unique bytes32 hash for ProtocolFeeReserveLib instances\"},\"setProtocolFeeReserveLib(address)\":{\"notice\":\"Sets the ProtocolFeeReserveLib target for the ProtocolFeeReserveProxy\"}},\"notice\":\"The core implementation of ProtocolFeeReserveLib\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/protocol-fee-reserve/bases/ProtocolFeeReserveLibBaseCore.sol\":\"ProtocolFeeReserveLibBaseCore\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/protocol-fee-reserve/bases/ProtocolFeeReserveLibBaseCore.sol\":{\"keccak256\":\"0xf3f0ab84492ace625caae9572cbf3dc25f7a9ccdfee67d38fa8e6c4a2c679a92\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8b32274866f86ec7f13cc2349da3136d80a7a5968dfbad2361fd47d6013ed83f\",\"dweb:/ipfs/QmaWGGkaCfzckGfzSACzyL1Jyw2n24iT1oHZw8jTw9pb9Z\"]},\"contracts/persistent/protocol-fee-reserve/utils/ProtocolFeeProxyConstants.sol\":{\"keccak256\":\"0x2ae2574c42812a6c7dedc69f37176132d7f55c36ca22672a56b3240a164de7ea\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1debdcb650ec03dff95ca515206e4850b5fcdb5bb9151cc88019135fee8651f8\",\"dweb:/ipfs/Qmea7QFovEcXGPVSZp8NcAkEzWo94ejUkcwxT7Z9ybWFPe\"]},\"contracts/persistent/protocol-fee-reserve/utils/ProxiableProtocolFeeReserveLib.sol\":{\"keccak256\":\"0xefc9befd638e13010c556c2d691949a3ce51171de8007e2daa536b368ad78868\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://fb6d3f317ec683b1e6b31984bbf65d6d727e7b3f9057917b9f3b5c03f90eb7fd\",\"dweb:/ipfs/QmWmQKoMgavRRMbMEGhX5qGvxfpDkLfwEgUEqYsnAxTt6T\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "nextProtocolFeeReserveLib", "type": "address", "indexed": false } ], "type": "event", "name": "ProtocolFeeReserveLibSet", "anonymous": false }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getDispatcher", "outputs": [ { "internalType": "address", "name": "dispatcher_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getProtocolFeeReserveLib", "outputs": [ { "internalType": "address", "name": "protocolFeeReserveLib_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_dispatcher", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "init" }, { "inputs": [], "stateMutability": "pure", "type": "function", "name": "proxiableUUID", "outputs": [ { "internalType": "bytes32", "name": "uuid_", "type": "bytes32" } ] }, { "inputs": [ { "internalType": "address", "name": "_nextProtocolFeeReserveLib", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "setProtocolFeeReserveLib" } ], "devdoc": { "kind": "dev", "methods": { "getDispatcher()": { "returns": { "dispatcher_": "The `dispatcher` variable value" } }, "getProtocolFeeReserveLib()": { "returns": { "protocolFeeReserveLib_": "The address of the ProtocolFeeReserveLib target" } }, "init(address)": { "details": "Serves as a pseudo-constructor", "params": { "_dispatcher": "The Dispatcher contract" } }, "proxiableUUID()": { "returns": { "uuid_": "The bytes32 hash representing the UUID" } }, "setProtocolFeeReserveLib(address)": { "details": "This function is absolutely critical. __updateCodeAddress() validates that the target is a valid Proxiable contract instance. Does not block _nextProtocolFeeReserveLib from being the same as the current ProtocolFeeReserveLib", "params": { "_nextProtocolFeeReserveLib": "The address to set as the ProtocolFeeReserveLib" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "getDispatcher()": { "notice": "Gets the `dispatcher` variable" }, "getProtocolFeeReserveLib()": { "notice": "Gets the ProtocolFeeReserveLib target for the ProtocolFeeReserveProxy" }, "init(address)": { "notice": "Initializes the ProtocolFeeReserveProxy with core configuration" }, "proxiableUUID()": { "notice": "Returns a unique bytes32 hash for ProtocolFeeReserveLib instances" }, "setProtocolFeeReserveLib(address)": { "notice": "Sets the ProtocolFeeReserveLib target for the ProtocolFeeReserveProxy" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/persistent/protocol-fee-reserve/bases/ProtocolFeeReserveLibBaseCore.sol": "ProtocolFeeReserveLibBaseCore" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/dispatcher/IDispatcher.sol": { "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", "urls": [ "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" ], "license": "GPL-3.0" }, "contracts/persistent/protocol-fee-reserve/bases/ProtocolFeeReserveLibBaseCore.sol": { "keccak256": "0xf3f0ab84492ace625caae9572cbf3dc25f7a9ccdfee67d38fa8e6c4a2c679a92", "urls": [ "bzz-raw://8b32274866f86ec7f13cc2349da3136d80a7a5968dfbad2361fd47d6013ed83f", "dweb:/ipfs/QmaWGGkaCfzckGfzSACzyL1Jyw2n24iT1oHZw8jTw9pb9Z" ], "license": "GPL-3.0" }, "contracts/persistent/protocol-fee-reserve/utils/ProtocolFeeProxyConstants.sol": { "keccak256": "0x2ae2574c42812a6c7dedc69f37176132d7f55c36ca22672a56b3240a164de7ea", "urls": [ "bzz-raw://1debdcb650ec03dff95ca515206e4850b5fcdb5bb9151cc88019135fee8651f8", "dweb:/ipfs/Qmea7QFovEcXGPVSZp8NcAkEzWo94ejUkcwxT7Z9ybWFPe" ], "license": "GPL-3.0" }, "contracts/persistent/protocol-fee-reserve/utils/ProxiableProtocolFeeReserveLib.sol": { "keccak256": "0xefc9befd638e13010c556c2d691949a3ce51171de8007e2daa536b368ad78868", "urls": [ "bzz-raw://fb6d3f317ec683b1e6b31984bbf65d6d727e7b3f9057917b9f3b5c03f90eb7fd", "dweb:/ipfs/QmWmQKoMgavRRMbMEGhX5qGvxfpDkLfwEgUEqYsnAxTt6T" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 54 } diff --git a/eth_defi/abi/enzyme/ProtocolFeeReserveProxy.json b/eth_defi/abi/enzyme/ProtocolFeeReserveProxy.json index e3863c5f..3afeaced 100644 --- a/eth_defi/abi/enzyme/ProtocolFeeReserveProxy.json +++ b/eth_defi/abi/enzyme/ProtocolFeeReserveProxy.json @@ -1,137 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "bytes", - "name": "_constructData", - "type": "bytes" - }, - { - "internalType": "address", - "name": "_protocolFeeReserveLib", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "stateMutability": "payable", - "type": "fallback" - } - ], - "bytecode": { - "object": "0x608060405234801561001057600080fd5b506040516103a83803806103a88339818101604052604081101561003357600080fd5b810190808051604051939291908464010000000082111561005357600080fd5b90830190602082018581111561006857600080fd5b825164010000000081118282018810171561008257600080fd5b82525081516020918201929091019080838360005b838110156100af578181015183820152602001610097565b50505050905090810190601f1680156100dc5780820380516001836020036101000a031916815260200191505b506040526020015191506100ed9050565b7fbc966524590ce702cc9340e80d86ea9095afa6b8eecbb5d6213f57633223918160001b816001600160a01b03166352d1902d6040518163ffffffff1660e01b815260040160206040518083038186803b15801561014a57600080fd5b505afa15801561015e573d6000803e3d6000fd5b505050506040513d602081101561017457600080fd5b5051146101b25760405162461bcd60e51b81526004018080602001828103825260328152602001806103766032913960400191505060405180910390fd5b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5560006060826001600160a01b0316846040518082805190602001908083835b602083106102135780518252601f1990920191602091820191016101f4565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610273576040519150601f19603f3d011682016040523d82523d6000602084013e610278565b606091505b50915091508181906103085760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156102cd5781810151838201526020016102b5565b50505050905090810190601f1680156102fa5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5050505050605b8061031b6000396000f3fe60806040527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc543660008037600080366000846127105a03f43d806000803e818015604957816000f35b816000fdfea164736f6c634300060c000a636f6e7374727563746f723a205f70726f746f636f6c466565526573657276654c6962206e6f7420636f6d70617469626c65", - "sourceMap": "842:1656:52:-:0;;;910:954;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;910:954:52;;;;;;;;;;-1:-1:-1;910:954:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;910:954:52;;;;;;-1:-1:-1;1030:175:52;;-1:-1:-1;1030:175:52;;628:66:56;1498:23:52;;1439:22;-1:-1:-1;;;;;1408:68:52;;:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1408:70:52;:113;1387:210;;;;-1:-1:-1;;;1387:210:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1653:22;1638:13;1631:45;1697:12;1711:23;1738:22;-1:-1:-1;;;;;1738:35:52;1787:14;1738:73;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1738:73:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1696:115;;;;1829:7;1845:10;1821:36;;;;;-1:-1:-1;;;1821:36:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;910:954;;;;842:1656;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x60806040527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc543660008037600080366000846127105a03f43d806000803e818015604957816000f35b816000fdfea164736f6c634300060c000a", - "sourceMap": "842:1656:52:-:0;;;1958:13;1952:20;2008:14;2003:3;1998;1985:38;2219:1;2200;2168:14;2147:3;2116:13;2092:5;2085;2081:17;2051:183;2260:16;2310:5;2307:1;2304;2289:27;2336:7;2356:55;;;;2460:5;2457:1;2450:16;2356:55;2391:5;2388:1;2381:16", - "linkReferences": {} - }, - "methodIdentifiers": {}, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_constructData\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"_protocolFeeReserveLib\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"stateMutability\":\"payable\",\"type\":\"fallback\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"Adapted from the recommended implementation of a Proxy in EIP-1822, updated for solc 0.6.12, and using the EIP-1967 storage slot for the proxiable implementation. See: https://eips.ethereum.org/EIPS/eip-1822 See: https://eips.ethereum.org/EIPS/eip-1967\",\"kind\":\"dev\",\"methods\":{},\"title\":\"ProtocolFeeReserveProxy Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"A proxy contract for a protocol fee reserve, slightly modified from EIP-1822\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/protocol-fee-reserve/ProtocolFeeReserveProxy.sol\":\"ProtocolFeeReserveProxy\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/protocol-fee-reserve/ProtocolFeeReserveProxy.sol\":{\"keccak256\":\"0x3eca5c7b60c64c1ff3038c553a2e269a6e7c7325ea3a2aa4a7341d33e51a8f48\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://894aea06be640e2740075eacccc39f75edf5c242c8146ee8f60724fc3bc4c8bb\",\"dweb:/ipfs/QmVUSF6eNkkkg6yB46n5M2YVGQZRENCkRjbDuQhzssFhsD\"]},\"contracts/persistent/protocol-fee-reserve/utils/ProtocolFeeProxyConstants.sol\":{\"keccak256\":\"0x2ae2574c42812a6c7dedc69f37176132d7f55c36ca22672a56b3240a164de7ea\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1debdcb650ec03dff95ca515206e4850b5fcdb5bb9151cc88019135fee8651f8\",\"dweb:/ipfs/Qmea7QFovEcXGPVSZp8NcAkEzWo94ejUkcwxT7Z9ybWFPe\"]},\"contracts/persistent/protocol-fee-reserve/utils/ProxiableProtocolFeeReserveLib.sol\":{\"keccak256\":\"0xefc9befd638e13010c556c2d691949a3ce51171de8007e2daa536b368ad78868\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://fb6d3f317ec683b1e6b31984bbf65d6d727e7b3f9057917b9f3b5c03f90eb7fd\",\"dweb:/ipfs/QmWmQKoMgavRRMbMEGhX5qGvxfpDkLfwEgUEqYsnAxTt6T\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "bytes", - "name": "_constructData", - "type": "bytes" - }, - { - "internalType": "address", - "name": "_protocolFeeReserveLib", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "stateMutability": "payable", - "type": "fallback" - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/persistent/protocol-fee-reserve/ProtocolFeeReserveProxy.sol": "ProtocolFeeReserveProxy" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/protocol-fee-reserve/ProtocolFeeReserveProxy.sol": { - "keccak256": "0x3eca5c7b60c64c1ff3038c553a2e269a6e7c7325ea3a2aa4a7341d33e51a8f48", - "urls": [ - "bzz-raw://894aea06be640e2740075eacccc39f75edf5c242c8146ee8f60724fc3bc4c8bb", - "dweb:/ipfs/QmVUSF6eNkkkg6yB46n5M2YVGQZRENCkRjbDuQhzssFhsD" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/protocol-fee-reserve/utils/ProtocolFeeProxyConstants.sol": { - "keccak256": "0x2ae2574c42812a6c7dedc69f37176132d7f55c36ca22672a56b3240a164de7ea", - "urls": [ - "bzz-raw://1debdcb650ec03dff95ca515206e4850b5fcdb5bb9151cc88019135fee8651f8", - "dweb:/ipfs/Qmea7QFovEcXGPVSZp8NcAkEzWo94ejUkcwxT7Z9ybWFPe" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/protocol-fee-reserve/utils/ProxiableProtocolFeeReserveLib.sol": { - "keccak256": "0xefc9befd638e13010c556c2d691949a3ce51171de8007e2daa536b368ad78868", - "urls": [ - "bzz-raw://fb6d3f317ec683b1e6b31984bbf65d6d727e7b3f9057917b9f3b5c03f90eb7fd", - "dweb:/ipfs/QmWmQKoMgavRRMbMEGhX5qGvxfpDkLfwEgUEqYsnAxTt6T" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 52 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_constructData", "type": "bytes", "internalType": "bytes" }, { "name": "_protocolFeeReserveLib", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "fallback", "stateMutability": "payable" } ], "bytecode": { "object": "0x608060405234801561001057600080fd5b506040516103a83803806103a88339818101604052604081101561003357600080fd5b810190808051604051939291908464010000000082111561005357600080fd5b90830190602082018581111561006857600080fd5b825164010000000081118282018810171561008257600080fd5b82525081516020918201929091019080838360005b838110156100af578181015183820152602001610097565b50505050905090810190601f1680156100dc5780820380516001836020036101000a031916815260200191505b506040526020015191506100ed9050565b7fbc966524590ce702cc9340e80d86ea9095afa6b8eecbb5d6213f57633223918160001b816001600160a01b03166352d1902d6040518163ffffffff1660e01b815260040160206040518083038186803b15801561014a57600080fd5b505afa15801561015e573d6000803e3d6000fd5b505050506040513d602081101561017457600080fd5b5051146101b25760405162461bcd60e51b81526004018080602001828103825260328152602001806103766032913960400191505060405180910390fd5b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5560006060826001600160a01b0316846040518082805190602001908083835b602083106102135780518252601f1990920191602091820191016101f4565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610273576040519150601f19603f3d011682016040523d82523d6000602084013e610278565b606091505b50915091508181906103085760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156102cd5781810151838201526020016102b5565b50505050905090810190601f1680156102fa5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5050505050605b8061031b6000396000f3fe60806040527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc543660008037600080366000846127105a03f43d806000803e818015604957816000f35b816000fdfea164736f6c634300060c000a636f6e7374727563746f723a205f70726f746f636f6c466565526573657276654c6962206e6f7420636f6d70617469626c65", "sourceMap": "842:1656:52:-:0;;;910:954;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;910:954:52;;;;;;;;;;-1:-1:-1;910:954:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;910:954:52;;;;;;-1:-1:-1;1030:175:52;;-1:-1:-1;1030:175:52;;628:66:56;1498:23:52;;1439:22;-1:-1:-1;;;;;1408:68:52;;:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1408:70:52;:113;1387:210;;;;-1:-1:-1;;;1387:210:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1653:22;1638:13;1631:45;1697:12;1711:23;1738:22;-1:-1:-1;;;;;1738:35:52;1787:14;1738:73;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1738:73:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1696:115;;;;1829:7;1845:10;1821:36;;;;;-1:-1:-1;;;1821:36:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;910:954;;;;842:1656;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x60806040527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc543660008037600080366000846127105a03f43d806000803e818015604957816000f35b816000fdfea164736f6c634300060c000a", "sourceMap": "842:1656:52:-:0;;;1958:13;1952:20;2008:14;2003:3;1998;1985:38;2219:1;2200;2168:14;2147:3;2116:13;2092:5;2085;2081:17;2051:183;2260:16;2310:5;2307:1;2304;2289:27;2336:7;2356:55;;;;2460:5;2457:1;2450:16;2356:55;2391:5;2388:1;2381:16", "linkReferences": {} }, "methodIdentifiers": {}, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_constructData\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"_protocolFeeReserveLib\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"stateMutability\":\"payable\",\"type\":\"fallback\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"Adapted from the recommended implementation of a Proxy in EIP-1822, updated for solc 0.6.12, and using the EIP-1967 storage slot for the proxiable implementation. See: https://eips.ethereum.org/EIPS/eip-1822 See: https://eips.ethereum.org/EIPS/eip-1967\",\"kind\":\"dev\",\"methods\":{},\"title\":\"ProtocolFeeReserveProxy Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"A proxy contract for a protocol fee reserve, slightly modified from EIP-1822\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/protocol-fee-reserve/ProtocolFeeReserveProxy.sol\":\"ProtocolFeeReserveProxy\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/protocol-fee-reserve/ProtocolFeeReserveProxy.sol\":{\"keccak256\":\"0x3eca5c7b60c64c1ff3038c553a2e269a6e7c7325ea3a2aa4a7341d33e51a8f48\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://894aea06be640e2740075eacccc39f75edf5c242c8146ee8f60724fc3bc4c8bb\",\"dweb:/ipfs/QmVUSF6eNkkkg6yB46n5M2YVGQZRENCkRjbDuQhzssFhsD\"]},\"contracts/persistent/protocol-fee-reserve/utils/ProtocolFeeProxyConstants.sol\":{\"keccak256\":\"0x2ae2574c42812a6c7dedc69f37176132d7f55c36ca22672a56b3240a164de7ea\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1debdcb650ec03dff95ca515206e4850b5fcdb5bb9151cc88019135fee8651f8\",\"dweb:/ipfs/Qmea7QFovEcXGPVSZp8NcAkEzWo94ejUkcwxT7Z9ybWFPe\"]},\"contracts/persistent/protocol-fee-reserve/utils/ProxiableProtocolFeeReserveLib.sol\":{\"keccak256\":\"0xefc9befd638e13010c556c2d691949a3ce51171de8007e2daa536b368ad78868\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://fb6d3f317ec683b1e6b31984bbf65d6d727e7b3f9057917b9f3b5c03f90eb7fd\",\"dweb:/ipfs/QmWmQKoMgavRRMbMEGhX5qGvxfpDkLfwEgUEqYsnAxTt6T\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "bytes", "name": "_constructData", "type": "bytes" }, { "internalType": "address", "name": "_protocolFeeReserveLib", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "stateMutability": "payable", "type": "fallback" } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/persistent/protocol-fee-reserve/ProtocolFeeReserveProxy.sol": "ProtocolFeeReserveProxy" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/protocol-fee-reserve/ProtocolFeeReserveProxy.sol": { "keccak256": "0x3eca5c7b60c64c1ff3038c553a2e269a6e7c7325ea3a2aa4a7341d33e51a8f48", "urls": [ "bzz-raw://894aea06be640e2740075eacccc39f75edf5c242c8146ee8f60724fc3bc4c8bb", "dweb:/ipfs/QmVUSF6eNkkkg6yB46n5M2YVGQZRENCkRjbDuQhzssFhsD" ], "license": "GPL-3.0" }, "contracts/persistent/protocol-fee-reserve/utils/ProtocolFeeProxyConstants.sol": { "keccak256": "0x2ae2574c42812a6c7dedc69f37176132d7f55c36ca22672a56b3240a164de7ea", "urls": [ "bzz-raw://1debdcb650ec03dff95ca515206e4850b5fcdb5bb9151cc88019135fee8651f8", "dweb:/ipfs/Qmea7QFovEcXGPVSZp8NcAkEzWo94ejUkcwxT7Z9ybWFPe" ], "license": "GPL-3.0" }, "contracts/persistent/protocol-fee-reserve/utils/ProxiableProtocolFeeReserveLib.sol": { "keccak256": "0xefc9befd638e13010c556c2d691949a3ce51171de8007e2daa536b368ad78868", "urls": [ "bzz-raw://fb6d3f317ec683b1e6b31984bbf65d6d727e7b3f9057917b9f3b5c03f90eb7fd", "dweb:/ipfs/QmWmQKoMgavRRMbMEGhX5qGvxfpDkLfwEgUEqYsnAxTt6T" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 52 } diff --git a/eth_defi/abi/enzyme/ProtocolFeeTracker.json b/eth_defi/abi/enzyme/ProtocolFeeTracker.json index 78f28742..657a4782 100644 --- a/eth_defi/abi/enzyme/ProtocolFeeTracker.json +++ b/eth_defi/abi/enzyme/ProtocolFeeTracker.json @@ -1,814 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_fundDeployer", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "nextFeeBpsDefault", - "type": "uint256" - } - ], - "name": "FeeBpsDefaultSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "vaultProxy", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "nextFeeBpsOverride", - "type": "uint256" - } - ], - "name": "FeeBpsOverrideSetForVault", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "vaultProxy", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "sharesAmount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "secondsPaid", - "type": "uint256" - } - ], - "name": "FeePaidForVault", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "vaultProxy", - "type": "address" - } - ], - "name": "InitializedForVault", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "vaultProxy", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "prevTimestamp", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "nextTimestamp", - "type": "uint256" - } - ], - "name": "LastPaidSetForVault", - "type": "event" - }, - { - "inputs": [], - "name": "getFeeBpsDefault", - "outputs": [ - { - "internalType": "uint256", - "name": "feeBpsDefault_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - } - ], - "name": "getFeeBpsForVault", - "outputs": [ - { - "internalType": "uint256", - "name": "feeBps_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - } - ], - "name": "getFeeBpsOverrideForVault", - "outputs": [ - { - "internalType": "uint256", - "name": "feeBpsOverride_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getFundDeployer", - "outputs": [ - { - "internalType": "address", - "name": "fundDeployer_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - } - ], - "name": "getLastPaidForVault", - "outputs": [ - { - "internalType": "uint256", - "name": "lastPaid_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "owner_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - } - ], - "name": "initializeForVault", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "payFee", - "outputs": [ - { - "internalType": "uint256", - "name": "sharesDue_", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_nextFeeBpsDefault", - "type": "uint256" - } - ], - "name": "setFeeBpsDefault", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_nextFeeBpsOverride", - "type": "uint256" - } - ], - "name": "setFeeBpsOverrideForVault", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_nextTimestamp", - "type": "uint256" - } - ], - "name": "setLastPaidForVault", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x60a060405234801561001057600080fd5b50604051610b74380380610b748339818101604052602081101561003357600080fd5b5051606081901b6001600160601b0319166080526001600160a01b0316610b0861006c6000398061055052806105da5250610b086000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c806397c0ac871161007157806397c0ac871461015d5780639f17818814610165578063b69f36521461018b578063bcdba20a146101b1578063f033ac56146101b9578063f8fc2961146101e5576100a9565b80630a48e041146100ae578063137e8d9b146100d657806329610252146100f35780637c73c6991461010d578063893d20e814610139575b600080fd5b6100d4600480360360208110156100c457600080fd5b50356001600160a01b031661020b565b005b6100d4600480360360208110156100ec57600080fd5b50356102ab565b6100fb610393565b60408051918252519081900360200190f35b6100d46004803603604081101561012357600080fd5b506001600160a01b038135169060200135610461565b61014161054c565b604080516001600160a01b039092168252519081900360200190f35b6101416105d8565b6100fb6004803603602081101561017b57600080fd5b50356001600160a01b03166105fc565b6100fb600480360360208110156101a157600080fd5b50356001600160a01b031661061b565b6100fb610636565b6100d4600480360360408110156101cf57600080fd5b506001600160a01b03813516906020013561063c565b6100fb600480360360208110156101fb57600080fd5b50356001600160a01b0316610779565b6102136105d8565b6001600160a01b0316336001600160a01b0316146102625760405162461bcd60e51b815260040180806020018281038252602c815260200180610a90602c913960400191505060405180910390fd5b61026c8142610799565b604080516001600160a01b038316815290517fd3ba69979a943b00f5eea9e34dba3f3104dcf0c16890e7d8c693a0d52de074589181900360200190a150565b6102b361054c565b6001600160a01b0316336001600160a01b0316146103025760405162461bcd60e51b81526004018080602001828103825260498152602001806109ae6049913960600191505060405180910390fd5b6127108110610358576040805162461bcd60e51b815260206004820152601d60248201527f73657444656661756c744665654270733a2045786365656473206d6178000000604482015290519081900360640190fd5b60008190556040805182815290517f39c6a3e3a79878fee4b8deeec6702a2c4971f2bdcb4bb41aa2b6cf58c9905e5d9181900360200190a150565b600033816103a08261061b565b90504281106103b45760009250505061045e565b600081116103f35760405162461bcd60e51b81526004018080602001828103825260228152602001806109f76022913960400191505060405180910390fd5b60006103ff42836107b5565b905061040b8382610812565b93506104178342610799565b604080518581526020810183905281516001600160a01b038616927f1e6728e7f6ab409f42c28a298d4691e94f5426e54658999f76770bff70e56eaf928290030190a25050505b90565b61046961054c565b6001600160a01b0316336001600160a01b0316146104b85760405162461bcd60e51b81526004018080602001828103825260498152602001806109ae6049913960600191505060405180910390fd5b61271081106104f85760405162461bcd60e51b8152600401808060200182810382526026815260200180610a196026913960400191505060405180910390fd5b6001600160a01b038216600081815260016020908152604091829020849055815184815291517fb1a79d5ffbf14d3dbd6507eb9ea97f172baa93ff87773c8a9613841bcf3632759281900390910190a25050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b1580156105a757600080fd5b505afa1580156105bb573d6000803e3d6000fd5b505050506040513d60208110156105d157600080fd5b5051905090565b7f000000000000000000000000000000000000000000000000000000000000000090565b6001600160a01b0381166000908152600160205260409020545b919050565b6001600160a01b031660009081526002602052604090205490565b60005490565b61064461054c565b6001600160a01b0316336001600160a01b0316146106935760405162461bcd60e51b81526004018080602001828103825260498152602001806109ae6049913960600191505060405180910390fd5b600061069e8361061b565b9050600081116106df5760405162461bcd60e51b8152600401808060200182810382526030815260200180610a3f6030913960400191505060405180910390fd5b808211806106ec57504282115b6107275760405162461bcd60e51b8152600401808060200182810382526040815260200180610abc6040913960400191505060405180910390fd5b6107318383610799565b604080518281526020810184905281516001600160a01b038616927fbcfa0c3d77a6e27e439a116566a0dd57d1f2c68d510dc877c6ac541b5275a9cf928290030190a2505050565b6000610784826105fc565b90508061061657610793610636565b92915050565b6001600160a01b03909116600090815260026020526040902055565b60008282111561080c576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600080836001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561084e57600080fd5b505afa158015610862573d6000803e3d6000fd5b505050506040513d602081101561087857600080fd5b5051905060006108ad6127106108a76301e187e081886108a161089a8c610779565b89906108e6565b906108e6565b90610946565b905060006108bb83836107b5565b9050806108ce5760009350505050610793565b6108dc816108a784866108e6565b9695505050505050565b6000826108f557506000610793565b8282028284828161090257fe5b041461093f5760405162461bcd60e51b8152600401808060200182810382526021815260200180610a6f6021913960400191505060405180910390fd5b9392505050565b600080821161099c576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b8183816109a557fe5b04939250505056fe6f6e6c7946756e644465706c6f7965724f776e65723a204f6e6c79207468652046756e644465706c6f796572206f776e65722063616e2063616c6c20746869732066756e6374696f6e7061794665653a205661756c7450726f7879206e6f7420696e697469616c697a65647365744665654270734f76657272696465466f725661756c743a2045786365656473206d61787365744c61737450616964466f725661756c743a205f7661756c7450726f7879206e6f7420696e697469616c697a6564536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f774f6e6c79207468652046756e644465706c6f7965722063616e2063616c6c20746869732066756e6374696f6e7365744c61737450616964466f725661756c743a2043616e206f6e6c7920696e637265617365206f72207365742061206675747572652074696d657374616d70a164736f6c634300060c000a", - "sourceMap": "635:7177:257:-:0;;;1475:259;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1475:259:257;864:29:358;;;;-1:-1:-1;;;;;;864:29:358;;;-1:-1:-1;;;;;635:7177:257;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106100a95760003560e01c806397c0ac871161007157806397c0ac871461015d5780639f17818814610165578063b69f36521461018b578063bcdba20a146101b1578063f033ac56146101b9578063f8fc2961146101e5576100a9565b80630a48e041146100ae578063137e8d9b146100d657806329610252146100f35780637c73c6991461010d578063893d20e814610139575b600080fd5b6100d4600480360360208110156100c457600080fd5b50356001600160a01b031661020b565b005b6100d4600480360360208110156100ec57600080fd5b50356102ab565b6100fb610393565b60408051918252519081900360200190f35b6100d46004803603604081101561012357600080fd5b506001600160a01b038135169060200135610461565b61014161054c565b604080516001600160a01b039092168252519081900360200190f35b6101416105d8565b6100fb6004803603602081101561017b57600080fd5b50356001600160a01b03166105fc565b6100fb600480360360208110156101a157600080fd5b50356001600160a01b031661061b565b6100fb610636565b6100d4600480360360408110156101cf57600080fd5b506001600160a01b03813516906020013561063c565b6100fb600480360360208110156101fb57600080fd5b50356001600160a01b0316610779565b6102136105d8565b6001600160a01b0316336001600160a01b0316146102625760405162461bcd60e51b815260040180806020018281038252602c815260200180610a90602c913960400191505060405180910390fd5b61026c8142610799565b604080516001600160a01b038316815290517fd3ba69979a943b00f5eea9e34dba3f3104dcf0c16890e7d8c693a0d52de074589181900360200190a150565b6102b361054c565b6001600160a01b0316336001600160a01b0316146103025760405162461bcd60e51b81526004018080602001828103825260498152602001806109ae6049913960600191505060405180910390fd5b6127108110610358576040805162461bcd60e51b815260206004820152601d60248201527f73657444656661756c744665654270733a2045786365656473206d6178000000604482015290519081900360640190fd5b60008190556040805182815290517f39c6a3e3a79878fee4b8deeec6702a2c4971f2bdcb4bb41aa2b6cf58c9905e5d9181900360200190a150565b600033816103a08261061b565b90504281106103b45760009250505061045e565b600081116103f35760405162461bcd60e51b81526004018080602001828103825260228152602001806109f76022913960400191505060405180910390fd5b60006103ff42836107b5565b905061040b8382610812565b93506104178342610799565b604080518581526020810183905281516001600160a01b038616927f1e6728e7f6ab409f42c28a298d4691e94f5426e54658999f76770bff70e56eaf928290030190a25050505b90565b61046961054c565b6001600160a01b0316336001600160a01b0316146104b85760405162461bcd60e51b81526004018080602001828103825260498152602001806109ae6049913960600191505060405180910390fd5b61271081106104f85760405162461bcd60e51b8152600401808060200182810382526026815260200180610a196026913960400191505060405180910390fd5b6001600160a01b038216600081815260016020908152604091829020849055815184815291517fb1a79d5ffbf14d3dbd6507eb9ea97f172baa93ff87773c8a9613841bcf3632759281900390910190a25050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b1580156105a757600080fd5b505afa1580156105bb573d6000803e3d6000fd5b505050506040513d60208110156105d157600080fd5b5051905090565b7f000000000000000000000000000000000000000000000000000000000000000090565b6001600160a01b0381166000908152600160205260409020545b919050565b6001600160a01b031660009081526002602052604090205490565b60005490565b61064461054c565b6001600160a01b0316336001600160a01b0316146106935760405162461bcd60e51b81526004018080602001828103825260498152602001806109ae6049913960600191505060405180910390fd5b600061069e8361061b565b9050600081116106df5760405162461bcd60e51b8152600401808060200182810382526030815260200180610a3f6030913960400191505060405180910390fd5b808211806106ec57504282115b6107275760405162461bcd60e51b8152600401808060200182810382526040815260200180610abc6040913960400191505060405180910390fd5b6107318383610799565b604080518281526020810184905281516001600160a01b038616927fbcfa0c3d77a6e27e439a116566a0dd57d1f2c68d510dc877c6ac541b5275a9cf928290030190a2505050565b6000610784826105fc565b90508061061657610793610636565b92915050565b6001600160a01b03909116600090815260026020526040902055565b60008282111561080c576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600080836001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561084e57600080fd5b505afa158015610862573d6000803e3d6000fd5b505050506040513d602081101561087857600080fd5b5051905060006108ad6127106108a76301e187e081886108a161089a8c610779565b89906108e6565b906108e6565b90610946565b905060006108bb83836107b5565b9050806108ce5760009350505050610793565b6108dc816108a784866108e6565b9695505050505050565b6000826108f557506000610793565b8282028284828161090257fe5b041461093f5760405162461bcd60e51b8152600401808060200182810382526021815260200180610a6f6021913960400191505060405180910390fd5b9392505050565b600080821161099c576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b8183816109a557fe5b04939250505056fe6f6e6c7946756e644465706c6f7965724f776e65723a204f6e6c79207468652046756e644465706c6f796572206f776e65722063616e2063616c6c20746869732066756e6374696f6e7061794665653a205661756c7450726f7879206e6f7420696e697469616c697a65647365744665654270734f76657272696465466f725661756c743a2045786365656473206d61787365744c61737450616964466f725661756c743a205f7661756c7450726f7879206e6f7420696e697469616c697a6564536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f774f6e6c79207468652046756e644465706c6f7965722063616e2063616c6c20746869732066756e6374696f6e7365744c61737450616964466f725661756c743a2043616e206f6e6c7920696e637265617365206f72207365742061206675747572652074696d657374616d70a164736f6c634300060c000a", - "sourceMap": "635:7177:257:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2004:282;;;;;;;;;;;;;;;;-1:-1:-1;2004:282:257;-1:-1:-1;;;;;2004:282:257;;:::i;:::-;;5175:269;;;;;;;;;;;;;;;;-1:-1:-1;5175:269:257;;:::i;2655:885::-;;;:::i;:::-;;;;;;;;;;;;;;;;5653:380;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;5653:380:257;;;;;;;;:::i;1064:120:358:-;;;:::i;:::-;;;;-1:-1:-1;;;;;1064:120:358;;;;;;;;;;;;;;1378:108;;;:::i;7312:193:257:-;;;;;;;;;;;;;;;;-1:-1:-1;7312:193:257;-1:-1:-1;;;;;7312:193:257;;:::i;7663:147::-;;;;;;;;;;;;;;;;-1:-1:-1;7663:147:257;-1:-1:-1;;;;;7663:147:257;;:::i;7026:110::-;;;:::i;6212:613::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;6212:613:257;;;;;;;;:::i;3738:257::-;;;;;;;;;;;;;;;;-1:-1:-1;3738:257:257;-1:-1:-1;;;;;3738:257:257;;:::i;2004:282::-;2103:17;:15;:17::i;:::-;-1:-1:-1;;;;;2089:31:257;:10;-1:-1:-1;;;;;2089:31:257;;2081:88;;;;-1:-1:-1;;;2081:88:257;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2180:51;2202:11;2215:15;2180:21;:51::i;:::-;2247:32;;;-1:-1:-1;;;;;2247:32:257;;;;;;;;;;;;;;;2004:282;:::o;5175:269::-;679:10:358;:8;:10::i;:::-;-1:-1:-1;;;;;665:24:358;:10;-1:-1:-1;;;;;665:24:358;;644:144;;;;-1:-1:-1;;;644:144:358;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1221:5:257::1;5278:18;:28;5270:70;;;::::0;;-1:-1:-1;;;5270:70:257;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;5351:13;:34:::0;;;5401:36:::1;::::0;;;;;;;::::1;::::0;;;;::::1;::::0;;::::1;5175:269:::0;:::o;2655:885::-;2700:18;2751:10;2700:18;2848:31;2751:10;2848:19;:31::i;:::-;2829:50;;2905:15;2893:8;:27;2889:66;;2943:1;2936:8;;;;;;2889:66;3118:1;3107:8;:12;3099:59;;;;-1:-1:-1;;;3099:59:257;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3169:18;3190:29;:15;3210:8;3190:19;:29::i;:::-;3169:50;;3242:47;3266:10;3278;3242:23;:47::i;:::-;3229:60;;3388:50;3410:10;3422:15;3388:21;:50::i;:::-;3454:51;;;;;;;;;;;;;;-1:-1:-1;;;;;3454:51:257;;;;;;;;;;;3516:17;;;2655:885;;:::o;5653:380::-;679:10:358;:8;:10::i;:::-;-1:-1:-1;;;;;665:24:358;:10;-1:-1:-1;;;;;665:24:358;;644:144;;;;-1:-1:-1;;;644:144:358;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1221:5:257::1;5807:19;:29;5799:80;;;;-1:-1:-1::0;;;5799:80:257::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;5890:39:257;::::1;;::::0;;;:26:::1;:39;::::0;;;;;;;;:61;;;5967:59;;;;;;;::::1;::::0;;;;;;;;::::1;5653:380:::0;;:::o;1064:120:358:-;1105:14;1152:13;-1:-1:-1;;;;;1138:37:358;;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1138:39:358;;-1:-1:-1;1064:120:358;:::o;1378:108::-;1466:13;1378:108;:::o;7312:193:257:-;-1:-1:-1;;;;;7459:39:257;;7413:23;7459:39;;;:26;:39;;;;;;7312:193;;;;:::o;7663:147::-;-1:-1:-1;;;;;7770:33:257;7734:17;7770:33;;;:20;:33;;;;;;;7663:147::o;7026:110::-;7075:22;7116:13;7026:110;:::o;6212:613::-;679:10:358;:8;:10::i;:::-;-1:-1:-1;;;;;665:24:358;:10;-1:-1:-1;;;;;665:24:358;;644:144;;;;-1:-1:-1;;;644:144:358;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6347:21:257::1;6371:32;6391:11;6371:19;:32::i;:::-;6347:56;;6437:1;6421:13;:17;6413:78;;;;-1:-1:-1::0;;;6413:78:257::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6539:13;6522:14;:30;:66;;;;6573:15;6556:14;:32;6522:66;6501:177;;;;-1:-1:-1::0;;;6501:177:257::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6689:50;6711:11;6724:14;6689:21;:50::i;:::-;6755:63;::::0;;;;;::::1;::::0;::::1;::::0;;;;;-1:-1:-1;;;;;6755:63:257;::::1;::::0;::::1;::::0;;;;;;::::1;798:1:358;6212:613:257::0;;:::o;3738:257::-;3807:15;3844:38;3870:11;3844:25;:38::i;:::-;3834:48;-1:-1:-1;3897:12:257;3893:71;;3935:18;:16;:18::i;:::-;3925:28;3738:257;-1:-1:-1;;3738:257:257:o;4814:151::-;-1:-1:-1;;;;;4908:33:257;;;;;;;:20;:33;;;;;:50;4814:151::o;3136:155:442:-;3194:7;3226:1;3221;:6;;3213:49;;;;;-1:-1:-1;;;3213:49:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3279:5:442;;;3136:155::o;4111:624:257:-;4232:18;4266:20;4295:11;-1:-1:-1;;;;;4289:30:257;;:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4289:32:257;;-1:-1:-1;4332:20:257;4355:151;1221:5;4355:125;1275:8;4355:125;4434:11;4355:61;4385:30;4403:11;4385:17;:30::i;:::-;4355:12;;:29;:61::i;:::-;:78;;:91::i;:::-;:108;;:125::i;:151::-;4332:174;-1:-1:-1;4517:29:257;4549:30;:12;4332:174;4549:16;:30::i;:::-;4517:62;-1:-1:-1;4593:26:257;4589:65;;4642:1;4635:8;;;;;;;4589:65;4671:57;4706:21;4671:30;:12;4688;4671:16;:30::i;:57::-;4664:64;4111:624;-1:-1:-1;;;;;;4111:624:257:o;3538:215:442:-;3596:7;3619:6;3615:20;;-1:-1:-1;3634:1:442;3627:8;;3615:20;3657:5;;;3661:1;3657;:5;:1;3680:5;;;;;:10;3672:56;;;;-1:-1:-1;;;3672:56:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3745:1;3538:215;-1:-1:-1;;;3538:215:442:o;4217:150::-;4275:7;4306:1;4302;:5;4294:44;;;;;-1:-1:-1;;;4294:44:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;4359:1;4355;:5;;;;;;;4217:150;-1:-1:-1;;;4217:150:442:o", - "linkReferences": {}, - "immutableReferences": { - "78707": [ - { - "start": 1360, - "length": 32 - }, - { - "start": 1498, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "getFeeBpsDefault()": "bcdba20a", - "getFeeBpsForVault(address)": "f8fc2961", - "getFeeBpsOverrideForVault(address)": "9f178188", - "getFundDeployer()": "97c0ac87", - "getLastPaidForVault(address)": "b69f3652", - "getOwner()": "893d20e8", - "initializeForVault(address)": "0a48e041", - "payFee()": "29610252", - "setFeeBpsDefault(uint256)": "137e8d9b", - "setFeeBpsOverrideForVault(address,uint256)": "7c73c699", - "setLastPaidForVault(address,uint256)": "f033ac56" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_fundDeployer\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"nextFeeBpsDefault\",\"type\":\"uint256\"}],\"name\":\"FeeBpsDefaultSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"vaultProxy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"nextFeeBpsOverride\",\"type\":\"uint256\"}],\"name\":\"FeeBpsOverrideSetForVault\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"vaultProxy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"sharesAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"secondsPaid\",\"type\":\"uint256\"}],\"name\":\"FeePaidForVault\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"vaultProxy\",\"type\":\"address\"}],\"name\":\"InitializedForVault\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"vaultProxy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"prevTimestamp\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"nextTimestamp\",\"type\":\"uint256\"}],\"name\":\"LastPaidSetForVault\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"getFeeBpsDefault\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"feeBpsDefault_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"}],\"name\":\"getFeeBpsForVault\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"feeBps_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"}],\"name\":\"getFeeBpsOverrideForVault\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"feeBpsOverride_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFundDeployer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"fundDeployer_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"}],\"name\":\"getLastPaidForVault\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"lastPaid_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"}],\"name\":\"initializeForVault\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"payFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"sharesDue_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_nextFeeBpsDefault\",\"type\":\"uint256\"}],\"name\":\"setFeeBpsDefault\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_nextFeeBpsOverride\",\"type\":\"uint256\"}],\"name\":\"setFeeBpsOverrideForVault\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_nextTimestamp\",\"type\":\"uint256\"}],\"name\":\"setLastPaidForVault\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"getFeeBpsDefault()\":{\"returns\":{\"feeBpsDefault_\":\"The `feeBpsDefault` variable value\"}},\"getFeeBpsForVault(address)\":{\"params\":{\"_vaultProxy\":\"The VaultProxy\"},\"returns\":{\"feeBps_\":\"The protocol fee (in bps)\"}},\"getFeeBpsOverrideForVault(address)\":{\"params\":{\"_vaultProxy\":\"The VaultProxy\"},\"returns\":{\"feeBpsOverride_\":\"The feeBpsOverride value\"}},\"getFundDeployer()\":{\"returns\":{\"fundDeployer_\":\"The `FUND_DEPLOYER` variable value\"}},\"getLastPaidForVault(address)\":{\"params\":{\"_vaultProxy\":\"The VaultProxy\"},\"returns\":{\"lastPaid_\":\"The lastPaid value\"}},\"getOwner()\":{\"details\":\"Ownership is deferred to the owner of the FundDeployer contract\",\"returns\":{\"owner_\":\"The owner\"}},\"initializeForVault(address)\":{\"details\":\"Does not validate whether _vaultProxy is already initialized, as FundDeployer will only do this once\",\"params\":{\"_vaultProxy\":\"The VaultProxy\"}},\"payFee()\":{\"details\":\"This trusts the VaultProxy to mint the correct sharesDue_. There is no need to validate that the VaultProxy is still on this release.\",\"returns\":{\"sharesDue_\":\"The amount of shares to be minted for payment\"}},\"setFeeBpsDefault(uint256)\":{\"params\":{\"_nextFeeBpsDefault\":\"The default protocol fee rate (in bps) to set\"}},\"setFeeBpsOverrideForVault(address,uint256)\":{\"params\":{\"_nextFeeBpsOverride\":\"The protocol fee rate (in bps) to set\",\"_vaultProxy\":\"The VaultProxy\"}},\"setLastPaidForVault(address,uint256)\":{\"params\":{\"_nextTimestamp\":\"The lastPaid timestamp to set\",\"_vaultProxy\":\"The VaultProxy\"}}},\"title\":\"ProtocolFeeTracker Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getFeeBpsDefault()\":{\"notice\":\"Gets the `feeBpsDefault` variable value\"},\"getFeeBpsForVault(address)\":{\"notice\":\"Gets the protocol fee rate (in bps) for a given VaultProxy\"},\"getFeeBpsOverrideForVault(address)\":{\"notice\":\"Gets the feeBpsOverride value for the given VaultProxy\"},\"getFundDeployer()\":{\"notice\":\"Gets the `FUND_DEPLOYER` variable\"},\"getLastPaidForVault(address)\":{\"notice\":\"Gets the lastPaid value for the given VaultProxy\"},\"getOwner()\":{\"notice\":\"Gets the owner of this contract\"},\"initializeForVault(address)\":{\"notice\":\"Initializes protocol fee tracking for a given VaultProxy\"},\"payFee()\":{\"notice\":\"Marks the protocol fee as paid for the sender, and gets the amount of shares that should be minted for payment\"},\"setFeeBpsDefault(uint256)\":{\"notice\":\"Sets the default protocol fee rate (in bps)\"},\"setFeeBpsOverrideForVault(address,uint256)\":{\"notice\":\"Sets a specified protocol fee rate (in bps) for a particular VaultProxy\"},\"setLastPaidForVault(address,uint256)\":{\"notice\":\"Sets the lastPaid timestamp for a specified VaultProxy\"}},\"notice\":\"The contract responsible for tracking owed protocol fees\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/infrastructure/protocol-fees/ProtocolFeeTracker.sol\":\"ProtocolFeeTracker\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/infrastructure/protocol-fees/IProtocolFeeTracker.sol\":{\"keccak256\":\"0x232b347f83457439064add7369bfe1930c7cb56f15930bb87d640e909c15e447\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://24f9af5eebdd373b1d7a598c096eb6def31b2640d54416d7d5a7226e1cef17e6\",\"dweb:/ipfs/QmStq9ByGuSYdKwTmZf52L1X6sZVJUfXTnoVbnjLLiUcHG\"]},\"contracts/release/infrastructure/protocol-fees/ProtocolFeeTracker.sol\":{\"keccak256\":\"0x57be8ee480bab83f94de3c621463ae8762a1ba11c3fc91bf9d07ffb25fb35cbd\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f43ed4412fa2f3025d5418e27dd5f69ac3384c8b8cf00fedee6757f549b82b00\",\"dweb:/ipfs/QmZQYAgYqoQeZooE2gwoxBPiSncMktCyTPyaD3yqrRA2FA\"]},\"contracts/release/utils/FundDeployerOwnerMixin.sol\":{\"keccak256\":\"0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927\",\"dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_fundDeployer", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "nextFeeBpsDefault", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "FeeBpsDefaultSet", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "vaultProxy", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "nextFeeBpsOverride", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "FeeBpsOverrideSetForVault", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "vaultProxy", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "sharesAmount", - "type": "uint256", - "indexed": false - }, - { - "internalType": "uint256", - "name": "secondsPaid", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "FeePaidForVault", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "vaultProxy", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "InitializedForVault", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "vaultProxy", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "prevTimestamp", - "type": "uint256", - "indexed": false - }, - { - "internalType": "uint256", - "name": "nextTimestamp", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "LastPaidSetForVault", - "anonymous": false - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getFeeBpsDefault", - "outputs": [ - { - "internalType": "uint256", - "name": "feeBpsDefault_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getFeeBpsForVault", - "outputs": [ - { - "internalType": "uint256", - "name": "feeBps_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getFeeBpsOverrideForVault", - "outputs": [ - { - "internalType": "uint256", - "name": "feeBpsOverride_", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getFundDeployer", - "outputs": [ - { - "internalType": "address", - "name": "fundDeployer_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getLastPaidForVault", - "outputs": [ - { - "internalType": "uint256", - "name": "lastPaid_", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "owner_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "initializeForVault" - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "payFee", - "outputs": [ - { - "internalType": "uint256", - "name": "sharesDue_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_nextFeeBpsDefault", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setFeeBpsDefault" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_nextFeeBpsOverride", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setFeeBpsOverrideForVault" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_nextTimestamp", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setLastPaidForVault" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "getFeeBpsDefault()": { - "returns": { - "feeBpsDefault_": "The `feeBpsDefault` variable value" - } - }, - "getFeeBpsForVault(address)": { - "params": { - "_vaultProxy": "The VaultProxy" - }, - "returns": { - "feeBps_": "The protocol fee (in bps)" - } - }, - "getFeeBpsOverrideForVault(address)": { - "params": { - "_vaultProxy": "The VaultProxy" - }, - "returns": { - "feeBpsOverride_": "The feeBpsOverride value" - } - }, - "getFundDeployer()": { - "returns": { - "fundDeployer_": "The `FUND_DEPLOYER` variable value" - } - }, - "getLastPaidForVault(address)": { - "params": { - "_vaultProxy": "The VaultProxy" - }, - "returns": { - "lastPaid_": "The lastPaid value" - } - }, - "getOwner()": { - "details": "Ownership is deferred to the owner of the FundDeployer contract", - "returns": { - "owner_": "The owner" - } - }, - "initializeForVault(address)": { - "details": "Does not validate whether _vaultProxy is already initialized, as FundDeployer will only do this once", - "params": { - "_vaultProxy": "The VaultProxy" - } - }, - "payFee()": { - "details": "This trusts the VaultProxy to mint the correct sharesDue_. There is no need to validate that the VaultProxy is still on this release.", - "returns": { - "sharesDue_": "The amount of shares to be minted for payment" - } - }, - "setFeeBpsDefault(uint256)": { - "params": { - "_nextFeeBpsDefault": "The default protocol fee rate (in bps) to set" - } - }, - "setFeeBpsOverrideForVault(address,uint256)": { - "params": { - "_nextFeeBpsOverride": "The protocol fee rate (in bps) to set", - "_vaultProxy": "The VaultProxy" - } - }, - "setLastPaidForVault(address,uint256)": { - "params": { - "_nextTimestamp": "The lastPaid timestamp to set", - "_vaultProxy": "The VaultProxy" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "getFeeBpsDefault()": { - "notice": "Gets the `feeBpsDefault` variable value" - }, - "getFeeBpsForVault(address)": { - "notice": "Gets the protocol fee rate (in bps) for a given VaultProxy" - }, - "getFeeBpsOverrideForVault(address)": { - "notice": "Gets the feeBpsOverride value for the given VaultProxy" - }, - "getFundDeployer()": { - "notice": "Gets the `FUND_DEPLOYER` variable" - }, - "getLastPaidForVault(address)": { - "notice": "Gets the lastPaid value for the given VaultProxy" - }, - "getOwner()": { - "notice": "Gets the owner of this contract" - }, - "initializeForVault(address)": { - "notice": "Initializes protocol fee tracking for a given VaultProxy" - }, - "payFee()": { - "notice": "Marks the protocol fee as paid for the sender, and gets the amount of shares that should be minted for payment" - }, - "setFeeBpsDefault(uint256)": { - "notice": "Sets the default protocol fee rate (in bps)" - }, - "setFeeBpsOverrideForVault(address,uint256)": { - "notice": "Sets a specified protocol fee rate (in bps) for a particular VaultProxy" - }, - "setLastPaidForVault(address,uint256)": { - "notice": "Sets the lastPaid timestamp for a specified VaultProxy" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/infrastructure/protocol-fees/ProtocolFeeTracker.sol": "ProtocolFeeTracker" - }, - "libraries": {} - }, - "sources": { - "contracts/release/core/fund-deployer/IFundDeployer.sol": { - "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", - "urls": [ - "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", - "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/protocol-fees/IProtocolFeeTracker.sol": { - "keccak256": "0x232b347f83457439064add7369bfe1930c7cb56f15930bb87d640e909c15e447", - "urls": [ - "bzz-raw://24f9af5eebdd373b1d7a598c096eb6def31b2640d54416d7d5a7226e1cef17e6", - "dweb:/ipfs/QmStq9ByGuSYdKwTmZf52L1X6sZVJUfXTnoVbnjLLiUcHG" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/protocol-fees/ProtocolFeeTracker.sol": { - "keccak256": "0x57be8ee480bab83f94de3c621463ae8762a1ba11c3fc91bf9d07ffb25fb35cbd", - "urls": [ - "bzz-raw://f43ed4412fa2f3025d5418e27dd5f69ac3384c8b8cf00fedee6757f549b82b00", - "dweb:/ipfs/QmZQYAgYqoQeZooE2gwoxBPiSncMktCyTPyaD3yqrRA2FA" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/FundDeployerOwnerMixin.sol": { - "keccak256": "0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934", - "urls": [ - "bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927", - "dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 257 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_fundDeployer", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "getFeeBpsDefault", "inputs": [], "outputs": [ { "name": "feeBpsDefault_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "getFeeBpsForVault", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "feeBps_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "getFeeBpsOverrideForVault", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "feeBpsOverride_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "getFundDeployer", "inputs": [], "outputs": [ { "name": "fundDeployer_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getLastPaidForVault", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "lastPaid_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "getOwner", "inputs": [], "outputs": [ { "name": "owner_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "initializeForVault", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "payFee", "inputs": [], "outputs": [ { "name": "sharesDue_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "setFeeBpsDefault", "inputs": [ { "name": "_nextFeeBpsDefault", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setFeeBpsOverrideForVault", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_nextFeeBpsOverride", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setLastPaidForVault", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_nextTimestamp", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "event", "name": "FeeBpsDefaultSet", "inputs": [ { "name": "nextFeeBpsDefault", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "FeeBpsOverrideSetForVault", "inputs": [ { "name": "vaultProxy", "type": "address", "indexed": true, "internalType": "address" }, { "name": "nextFeeBpsOverride", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "FeePaidForVault", "inputs": [ { "name": "vaultProxy", "type": "address", "indexed": true, "internalType": "address" }, { "name": "sharesAmount", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "secondsPaid", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "InitializedForVault", "inputs": [ { "name": "vaultProxy", "type": "address", "indexed": false, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "LastPaidSetForVault", "inputs": [ { "name": "vaultProxy", "type": "address", "indexed": true, "internalType": "address" }, { "name": "prevTimestamp", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "nextTimestamp", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false } ], "bytecode": { "object": "0x60a060405234801561001057600080fd5b50604051610b74380380610b748339818101604052602081101561003357600080fd5b5051606081901b6001600160601b0319166080526001600160a01b0316610b0861006c6000398061055052806105da5250610b086000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c806397c0ac871161007157806397c0ac871461015d5780639f17818814610165578063b69f36521461018b578063bcdba20a146101b1578063f033ac56146101b9578063f8fc2961146101e5576100a9565b80630a48e041146100ae578063137e8d9b146100d657806329610252146100f35780637c73c6991461010d578063893d20e814610139575b600080fd5b6100d4600480360360208110156100c457600080fd5b50356001600160a01b031661020b565b005b6100d4600480360360208110156100ec57600080fd5b50356102ab565b6100fb610393565b60408051918252519081900360200190f35b6100d46004803603604081101561012357600080fd5b506001600160a01b038135169060200135610461565b61014161054c565b604080516001600160a01b039092168252519081900360200190f35b6101416105d8565b6100fb6004803603602081101561017b57600080fd5b50356001600160a01b03166105fc565b6100fb600480360360208110156101a157600080fd5b50356001600160a01b031661061b565b6100fb610636565b6100d4600480360360408110156101cf57600080fd5b506001600160a01b03813516906020013561063c565b6100fb600480360360208110156101fb57600080fd5b50356001600160a01b0316610779565b6102136105d8565b6001600160a01b0316336001600160a01b0316146102625760405162461bcd60e51b815260040180806020018281038252602c815260200180610a90602c913960400191505060405180910390fd5b61026c8142610799565b604080516001600160a01b038316815290517fd3ba69979a943b00f5eea9e34dba3f3104dcf0c16890e7d8c693a0d52de074589181900360200190a150565b6102b361054c565b6001600160a01b0316336001600160a01b0316146103025760405162461bcd60e51b81526004018080602001828103825260498152602001806109ae6049913960600191505060405180910390fd5b6127108110610358576040805162461bcd60e51b815260206004820152601d60248201527f73657444656661756c744665654270733a2045786365656473206d6178000000604482015290519081900360640190fd5b60008190556040805182815290517f39c6a3e3a79878fee4b8deeec6702a2c4971f2bdcb4bb41aa2b6cf58c9905e5d9181900360200190a150565b600033816103a08261061b565b90504281106103b45760009250505061045e565b600081116103f35760405162461bcd60e51b81526004018080602001828103825260228152602001806109f76022913960400191505060405180910390fd5b60006103ff42836107b5565b905061040b8382610812565b93506104178342610799565b604080518581526020810183905281516001600160a01b038616927f1e6728e7f6ab409f42c28a298d4691e94f5426e54658999f76770bff70e56eaf928290030190a25050505b90565b61046961054c565b6001600160a01b0316336001600160a01b0316146104b85760405162461bcd60e51b81526004018080602001828103825260498152602001806109ae6049913960600191505060405180910390fd5b61271081106104f85760405162461bcd60e51b8152600401808060200182810382526026815260200180610a196026913960400191505060405180910390fd5b6001600160a01b038216600081815260016020908152604091829020849055815184815291517fb1a79d5ffbf14d3dbd6507eb9ea97f172baa93ff87773c8a9613841bcf3632759281900390910190a25050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b1580156105a757600080fd5b505afa1580156105bb573d6000803e3d6000fd5b505050506040513d60208110156105d157600080fd5b5051905090565b7f000000000000000000000000000000000000000000000000000000000000000090565b6001600160a01b0381166000908152600160205260409020545b919050565b6001600160a01b031660009081526002602052604090205490565b60005490565b61064461054c565b6001600160a01b0316336001600160a01b0316146106935760405162461bcd60e51b81526004018080602001828103825260498152602001806109ae6049913960600191505060405180910390fd5b600061069e8361061b565b9050600081116106df5760405162461bcd60e51b8152600401808060200182810382526030815260200180610a3f6030913960400191505060405180910390fd5b808211806106ec57504282115b6107275760405162461bcd60e51b8152600401808060200182810382526040815260200180610abc6040913960400191505060405180910390fd5b6107318383610799565b604080518281526020810184905281516001600160a01b038616927fbcfa0c3d77a6e27e439a116566a0dd57d1f2c68d510dc877c6ac541b5275a9cf928290030190a2505050565b6000610784826105fc565b90508061061657610793610636565b92915050565b6001600160a01b03909116600090815260026020526040902055565b60008282111561080c576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600080836001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561084e57600080fd5b505afa158015610862573d6000803e3d6000fd5b505050506040513d602081101561087857600080fd5b5051905060006108ad6127106108a76301e187e081886108a161089a8c610779565b89906108e6565b906108e6565b90610946565b905060006108bb83836107b5565b9050806108ce5760009350505050610793565b6108dc816108a784866108e6565b9695505050505050565b6000826108f557506000610793565b8282028284828161090257fe5b041461093f5760405162461bcd60e51b8152600401808060200182810382526021815260200180610a6f6021913960400191505060405180910390fd5b9392505050565b600080821161099c576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b8183816109a557fe5b04939250505056fe6f6e6c7946756e644465706c6f7965724f776e65723a204f6e6c79207468652046756e644465706c6f796572206f776e65722063616e2063616c6c20746869732066756e6374696f6e7061794665653a205661756c7450726f7879206e6f7420696e697469616c697a65647365744665654270734f76657272696465466f725661756c743a2045786365656473206d61787365744c61737450616964466f725661756c743a205f7661756c7450726f7879206e6f7420696e697469616c697a6564536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f774f6e6c79207468652046756e644465706c6f7965722063616e2063616c6c20746869732066756e6374696f6e7365744c61737450616964466f725661756c743a2043616e206f6e6c7920696e637265617365206f72207365742061206675747572652074696d657374616d70a164736f6c634300060c000a", "sourceMap": "635:7177:257:-:0;;;1475:259;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1475:259:257;864:29:358;;;;-1:-1:-1;;;;;;864:29:358;;;-1:-1:-1;;;;;635:7177:257;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106100a95760003560e01c806397c0ac871161007157806397c0ac871461015d5780639f17818814610165578063b69f36521461018b578063bcdba20a146101b1578063f033ac56146101b9578063f8fc2961146101e5576100a9565b80630a48e041146100ae578063137e8d9b146100d657806329610252146100f35780637c73c6991461010d578063893d20e814610139575b600080fd5b6100d4600480360360208110156100c457600080fd5b50356001600160a01b031661020b565b005b6100d4600480360360208110156100ec57600080fd5b50356102ab565b6100fb610393565b60408051918252519081900360200190f35b6100d46004803603604081101561012357600080fd5b506001600160a01b038135169060200135610461565b61014161054c565b604080516001600160a01b039092168252519081900360200190f35b6101416105d8565b6100fb6004803603602081101561017b57600080fd5b50356001600160a01b03166105fc565b6100fb600480360360208110156101a157600080fd5b50356001600160a01b031661061b565b6100fb610636565b6100d4600480360360408110156101cf57600080fd5b506001600160a01b03813516906020013561063c565b6100fb600480360360208110156101fb57600080fd5b50356001600160a01b0316610779565b6102136105d8565b6001600160a01b0316336001600160a01b0316146102625760405162461bcd60e51b815260040180806020018281038252602c815260200180610a90602c913960400191505060405180910390fd5b61026c8142610799565b604080516001600160a01b038316815290517fd3ba69979a943b00f5eea9e34dba3f3104dcf0c16890e7d8c693a0d52de074589181900360200190a150565b6102b361054c565b6001600160a01b0316336001600160a01b0316146103025760405162461bcd60e51b81526004018080602001828103825260498152602001806109ae6049913960600191505060405180910390fd5b6127108110610358576040805162461bcd60e51b815260206004820152601d60248201527f73657444656661756c744665654270733a2045786365656473206d6178000000604482015290519081900360640190fd5b60008190556040805182815290517f39c6a3e3a79878fee4b8deeec6702a2c4971f2bdcb4bb41aa2b6cf58c9905e5d9181900360200190a150565b600033816103a08261061b565b90504281106103b45760009250505061045e565b600081116103f35760405162461bcd60e51b81526004018080602001828103825260228152602001806109f76022913960400191505060405180910390fd5b60006103ff42836107b5565b905061040b8382610812565b93506104178342610799565b604080518581526020810183905281516001600160a01b038616927f1e6728e7f6ab409f42c28a298d4691e94f5426e54658999f76770bff70e56eaf928290030190a25050505b90565b61046961054c565b6001600160a01b0316336001600160a01b0316146104b85760405162461bcd60e51b81526004018080602001828103825260498152602001806109ae6049913960600191505060405180910390fd5b61271081106104f85760405162461bcd60e51b8152600401808060200182810382526026815260200180610a196026913960400191505060405180910390fd5b6001600160a01b038216600081815260016020908152604091829020849055815184815291517fb1a79d5ffbf14d3dbd6507eb9ea97f172baa93ff87773c8a9613841bcf3632759281900390910190a25050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b1580156105a757600080fd5b505afa1580156105bb573d6000803e3d6000fd5b505050506040513d60208110156105d157600080fd5b5051905090565b7f000000000000000000000000000000000000000000000000000000000000000090565b6001600160a01b0381166000908152600160205260409020545b919050565b6001600160a01b031660009081526002602052604090205490565b60005490565b61064461054c565b6001600160a01b0316336001600160a01b0316146106935760405162461bcd60e51b81526004018080602001828103825260498152602001806109ae6049913960600191505060405180910390fd5b600061069e8361061b565b9050600081116106df5760405162461bcd60e51b8152600401808060200182810382526030815260200180610a3f6030913960400191505060405180910390fd5b808211806106ec57504282115b6107275760405162461bcd60e51b8152600401808060200182810382526040815260200180610abc6040913960400191505060405180910390fd5b6107318383610799565b604080518281526020810184905281516001600160a01b038616927fbcfa0c3d77a6e27e439a116566a0dd57d1f2c68d510dc877c6ac541b5275a9cf928290030190a2505050565b6000610784826105fc565b90508061061657610793610636565b92915050565b6001600160a01b03909116600090815260026020526040902055565b60008282111561080c576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600080836001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561084e57600080fd5b505afa158015610862573d6000803e3d6000fd5b505050506040513d602081101561087857600080fd5b5051905060006108ad6127106108a76301e187e081886108a161089a8c610779565b89906108e6565b906108e6565b90610946565b905060006108bb83836107b5565b9050806108ce5760009350505050610793565b6108dc816108a784866108e6565b9695505050505050565b6000826108f557506000610793565b8282028284828161090257fe5b041461093f5760405162461bcd60e51b8152600401808060200182810382526021815260200180610a6f6021913960400191505060405180910390fd5b9392505050565b600080821161099c576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b8183816109a557fe5b04939250505056fe6f6e6c7946756e644465706c6f7965724f776e65723a204f6e6c79207468652046756e644465706c6f796572206f776e65722063616e2063616c6c20746869732066756e6374696f6e7061794665653a205661756c7450726f7879206e6f7420696e697469616c697a65647365744665654270734f76657272696465466f725661756c743a2045786365656473206d61787365744c61737450616964466f725661756c743a205f7661756c7450726f7879206e6f7420696e697469616c697a6564536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f774f6e6c79207468652046756e644465706c6f7965722063616e2063616c6c20746869732066756e6374696f6e7365744c61737450616964466f725661756c743a2043616e206f6e6c7920696e637265617365206f72207365742061206675747572652074696d657374616d70a164736f6c634300060c000a", "sourceMap": "635:7177:257:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2004:282;;;;;;;;;;;;;;;;-1:-1:-1;2004:282:257;-1:-1:-1;;;;;2004:282:257;;:::i;:::-;;5175:269;;;;;;;;;;;;;;;;-1:-1:-1;5175:269:257;;:::i;2655:885::-;;;:::i;:::-;;;;;;;;;;;;;;;;5653:380;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;5653:380:257;;;;;;;;:::i;1064:120:358:-;;;:::i;:::-;;;;-1:-1:-1;;;;;1064:120:358;;;;;;;;;;;;;;1378:108;;;:::i;7312:193:257:-;;;;;;;;;;;;;;;;-1:-1:-1;7312:193:257;-1:-1:-1;;;;;7312:193:257;;:::i;7663:147::-;;;;;;;;;;;;;;;;-1:-1:-1;7663:147:257;-1:-1:-1;;;;;7663:147:257;;:::i;7026:110::-;;;:::i;6212:613::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;6212:613:257;;;;;;;;:::i;3738:257::-;;;;;;;;;;;;;;;;-1:-1:-1;3738:257:257;-1:-1:-1;;;;;3738:257:257;;:::i;2004:282::-;2103:17;:15;:17::i;:::-;-1:-1:-1;;;;;2089:31:257;:10;-1:-1:-1;;;;;2089:31:257;;2081:88;;;;-1:-1:-1;;;2081:88:257;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2180:51;2202:11;2215:15;2180:21;:51::i;:::-;2247:32;;;-1:-1:-1;;;;;2247:32:257;;;;;;;;;;;;;;;2004:282;:::o;5175:269::-;679:10:358;:8;:10::i;:::-;-1:-1:-1;;;;;665:24:358;:10;-1:-1:-1;;;;;665:24:358;;644:144;;;;-1:-1:-1;;;644:144:358;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1221:5:257::1;5278:18;:28;5270:70;;;::::0;;-1:-1:-1;;;5270:70:257;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;5351:13;:34:::0;;;5401:36:::1;::::0;;;;;;;::::1;::::0;;;;::::1;::::0;;::::1;5175:269:::0;:::o;2655:885::-;2700:18;2751:10;2700:18;2848:31;2751:10;2848:19;:31::i;:::-;2829:50;;2905:15;2893:8;:27;2889:66;;2943:1;2936:8;;;;;;2889:66;3118:1;3107:8;:12;3099:59;;;;-1:-1:-1;;;3099:59:257;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3169:18;3190:29;:15;3210:8;3190:19;:29::i;:::-;3169:50;;3242:47;3266:10;3278;3242:23;:47::i;:::-;3229:60;;3388:50;3410:10;3422:15;3388:21;:50::i;:::-;3454:51;;;;;;;;;;;;;;-1:-1:-1;;;;;3454:51:257;;;;;;;;;;;3516:17;;;2655:885;;:::o;5653:380::-;679:10:358;:8;:10::i;:::-;-1:-1:-1;;;;;665:24:358;:10;-1:-1:-1;;;;;665:24:358;;644:144;;;;-1:-1:-1;;;644:144:358;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1221:5:257::1;5807:19;:29;5799:80;;;;-1:-1:-1::0;;;5799:80:257::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;;;;;5890:39:257;::::1;;::::0;;;:26:::1;:39;::::0;;;;;;;;:61;;;5967:59;;;;;;;::::1;::::0;;;;;;;;::::1;5653:380:::0;;:::o;1064:120:358:-;1105:14;1152:13;-1:-1:-1;;;;;1138:37:358;;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1138:39:358;;-1:-1:-1;1064:120:358;:::o;1378:108::-;1466:13;1378:108;:::o;7312:193:257:-;-1:-1:-1;;;;;7459:39:257;;7413:23;7459:39;;;:26;:39;;;;;;7312:193;;;;:::o;7663:147::-;-1:-1:-1;;;;;7770:33:257;7734:17;7770:33;;;:20;:33;;;;;;;7663:147::o;7026:110::-;7075:22;7116:13;7026:110;:::o;6212:613::-;679:10:358;:8;:10::i;:::-;-1:-1:-1;;;;;665:24:358;:10;-1:-1:-1;;;;;665:24:358;;644:144;;;;-1:-1:-1;;;644:144:358;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6347:21:257::1;6371:32;6391:11;6371:19;:32::i;:::-;6347:56;;6437:1;6421:13;:17;6413:78;;;;-1:-1:-1::0;;;6413:78:257::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6539:13;6522:14;:30;:66;;;;6573:15;6556:14;:32;6522:66;6501:177;;;;-1:-1:-1::0;;;6501:177:257::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6689:50;6711:11;6724:14;6689:21;:50::i;:::-;6755:63;::::0;;;;;::::1;::::0;::::1;::::0;;;;;-1:-1:-1;;;;;6755:63:257;::::1;::::0;::::1;::::0;;;;;;::::1;798:1:358;6212:613:257::0;;:::o;3738:257::-;3807:15;3844:38;3870:11;3844:25;:38::i;:::-;3834:48;-1:-1:-1;3897:12:257;3893:71;;3935:18;:16;:18::i;:::-;3925:28;3738:257;-1:-1:-1;;3738:257:257:o;4814:151::-;-1:-1:-1;;;;;4908:33:257;;;;;;;:20;:33;;;;;:50;4814:151::o;3136:155:442:-;3194:7;3226:1;3221;:6;;3213:49;;;;;-1:-1:-1;;;3213:49:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3279:5:442;;;3136:155::o;4111:624:257:-;4232:18;4266:20;4295:11;-1:-1:-1;;;;;4289:30:257;;:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4289:32:257;;-1:-1:-1;4332:20:257;4355:151;1221:5;4355:125;1275:8;4355:125;4434:11;4355:61;4385:30;4403:11;4385:17;:30::i;:::-;4355:12;;:29;:61::i;:::-;:78;;:91::i;:::-;:108;;:125::i;:151::-;4332:174;-1:-1:-1;4517:29:257;4549:30;:12;4332:174;4549:16;:30::i;:::-;4517:62;-1:-1:-1;4593:26:257;4589:65;;4642:1;4635:8;;;;;;;4589:65;4671:57;4706:21;4671:30;:12;4688;4671:16;:30::i;:57::-;4664:64;4111:624;-1:-1:-1;;;;;;4111:624:257:o;3538:215:442:-;3596:7;3619:6;3615:20;;-1:-1:-1;3634:1:442;3627:8;;3615:20;3657:5;;;3661:1;3657;:5;:1;3680:5;;;;;:10;3672:56;;;;-1:-1:-1;;;3672:56:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3745:1;3538:215;-1:-1:-1;;;3538:215:442:o;4217:150::-;4275:7;4306:1;4302;:5;4294:44;;;;;-1:-1:-1;;;4294:44:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;4359:1;4355;:5;;;;;;;4217:150;-1:-1:-1;;;4217:150:442:o", "linkReferences": {}, "immutableReferences": { "78707": [ { "start": 1360, "length": 32 }, { "start": 1498, "length": 32 } ] } }, "methodIdentifiers": { "getFeeBpsDefault()": "bcdba20a", "getFeeBpsForVault(address)": "f8fc2961", "getFeeBpsOverrideForVault(address)": "9f178188", "getFundDeployer()": "97c0ac87", "getLastPaidForVault(address)": "b69f3652", "getOwner()": "893d20e8", "initializeForVault(address)": "0a48e041", "payFee()": "29610252", "setFeeBpsDefault(uint256)": "137e8d9b", "setFeeBpsOverrideForVault(address,uint256)": "7c73c699", "setLastPaidForVault(address,uint256)": "f033ac56" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_fundDeployer\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"nextFeeBpsDefault\",\"type\":\"uint256\"}],\"name\":\"FeeBpsDefaultSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"vaultProxy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"nextFeeBpsOverride\",\"type\":\"uint256\"}],\"name\":\"FeeBpsOverrideSetForVault\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"vaultProxy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"sharesAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"secondsPaid\",\"type\":\"uint256\"}],\"name\":\"FeePaidForVault\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"vaultProxy\",\"type\":\"address\"}],\"name\":\"InitializedForVault\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"vaultProxy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"prevTimestamp\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"nextTimestamp\",\"type\":\"uint256\"}],\"name\":\"LastPaidSetForVault\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"getFeeBpsDefault\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"feeBpsDefault_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"}],\"name\":\"getFeeBpsForVault\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"feeBps_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"}],\"name\":\"getFeeBpsOverrideForVault\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"feeBpsOverride_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFundDeployer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"fundDeployer_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"}],\"name\":\"getLastPaidForVault\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"lastPaid_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"}],\"name\":\"initializeForVault\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"payFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"sharesDue_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_nextFeeBpsDefault\",\"type\":\"uint256\"}],\"name\":\"setFeeBpsDefault\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_nextFeeBpsOverride\",\"type\":\"uint256\"}],\"name\":\"setFeeBpsOverrideForVault\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_nextTimestamp\",\"type\":\"uint256\"}],\"name\":\"setLastPaidForVault\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"getFeeBpsDefault()\":{\"returns\":{\"feeBpsDefault_\":\"The `feeBpsDefault` variable value\"}},\"getFeeBpsForVault(address)\":{\"params\":{\"_vaultProxy\":\"The VaultProxy\"},\"returns\":{\"feeBps_\":\"The protocol fee (in bps)\"}},\"getFeeBpsOverrideForVault(address)\":{\"params\":{\"_vaultProxy\":\"The VaultProxy\"},\"returns\":{\"feeBpsOverride_\":\"The feeBpsOverride value\"}},\"getFundDeployer()\":{\"returns\":{\"fundDeployer_\":\"The `FUND_DEPLOYER` variable value\"}},\"getLastPaidForVault(address)\":{\"params\":{\"_vaultProxy\":\"The VaultProxy\"},\"returns\":{\"lastPaid_\":\"The lastPaid value\"}},\"getOwner()\":{\"details\":\"Ownership is deferred to the owner of the FundDeployer contract\",\"returns\":{\"owner_\":\"The owner\"}},\"initializeForVault(address)\":{\"details\":\"Does not validate whether _vaultProxy is already initialized, as FundDeployer will only do this once\",\"params\":{\"_vaultProxy\":\"The VaultProxy\"}},\"payFee()\":{\"details\":\"This trusts the VaultProxy to mint the correct sharesDue_. There is no need to validate that the VaultProxy is still on this release.\",\"returns\":{\"sharesDue_\":\"The amount of shares to be minted for payment\"}},\"setFeeBpsDefault(uint256)\":{\"params\":{\"_nextFeeBpsDefault\":\"The default protocol fee rate (in bps) to set\"}},\"setFeeBpsOverrideForVault(address,uint256)\":{\"params\":{\"_nextFeeBpsOverride\":\"The protocol fee rate (in bps) to set\",\"_vaultProxy\":\"The VaultProxy\"}},\"setLastPaidForVault(address,uint256)\":{\"params\":{\"_nextTimestamp\":\"The lastPaid timestamp to set\",\"_vaultProxy\":\"The VaultProxy\"}}},\"title\":\"ProtocolFeeTracker Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getFeeBpsDefault()\":{\"notice\":\"Gets the `feeBpsDefault` variable value\"},\"getFeeBpsForVault(address)\":{\"notice\":\"Gets the protocol fee rate (in bps) for a given VaultProxy\"},\"getFeeBpsOverrideForVault(address)\":{\"notice\":\"Gets the feeBpsOverride value for the given VaultProxy\"},\"getFundDeployer()\":{\"notice\":\"Gets the `FUND_DEPLOYER` variable\"},\"getLastPaidForVault(address)\":{\"notice\":\"Gets the lastPaid value for the given VaultProxy\"},\"getOwner()\":{\"notice\":\"Gets the owner of this contract\"},\"initializeForVault(address)\":{\"notice\":\"Initializes protocol fee tracking for a given VaultProxy\"},\"payFee()\":{\"notice\":\"Marks the protocol fee as paid for the sender, and gets the amount of shares that should be minted for payment\"},\"setFeeBpsDefault(uint256)\":{\"notice\":\"Sets the default protocol fee rate (in bps)\"},\"setFeeBpsOverrideForVault(address,uint256)\":{\"notice\":\"Sets a specified protocol fee rate (in bps) for a particular VaultProxy\"},\"setLastPaidForVault(address,uint256)\":{\"notice\":\"Sets the lastPaid timestamp for a specified VaultProxy\"}},\"notice\":\"The contract responsible for tracking owed protocol fees\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/infrastructure/protocol-fees/ProtocolFeeTracker.sol\":\"ProtocolFeeTracker\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/infrastructure/protocol-fees/IProtocolFeeTracker.sol\":{\"keccak256\":\"0x232b347f83457439064add7369bfe1930c7cb56f15930bb87d640e909c15e447\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://24f9af5eebdd373b1d7a598c096eb6def31b2640d54416d7d5a7226e1cef17e6\",\"dweb:/ipfs/QmStq9ByGuSYdKwTmZf52L1X6sZVJUfXTnoVbnjLLiUcHG\"]},\"contracts/release/infrastructure/protocol-fees/ProtocolFeeTracker.sol\":{\"keccak256\":\"0x57be8ee480bab83f94de3c621463ae8762a1ba11c3fc91bf9d07ffb25fb35cbd\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f43ed4412fa2f3025d5418e27dd5f69ac3384c8b8cf00fedee6757f549b82b00\",\"dweb:/ipfs/QmZQYAgYqoQeZooE2gwoxBPiSncMktCyTPyaD3yqrRA2FA\"]},\"contracts/release/utils/FundDeployerOwnerMixin.sol\":{\"keccak256\":\"0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927\",\"dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_fundDeployer", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "uint256", "name": "nextFeeBpsDefault", "type": "uint256", "indexed": false } ], "type": "event", "name": "FeeBpsDefaultSet", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "vaultProxy", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "nextFeeBpsOverride", "type": "uint256", "indexed": false } ], "type": "event", "name": "FeeBpsOverrideSetForVault", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "vaultProxy", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "sharesAmount", "type": "uint256", "indexed": false }, { "internalType": "uint256", "name": "secondsPaid", "type": "uint256", "indexed": false } ], "type": "event", "name": "FeePaidForVault", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "vaultProxy", "type": "address", "indexed": false } ], "type": "event", "name": "InitializedForVault", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "vaultProxy", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "prevTimestamp", "type": "uint256", "indexed": false }, { "internalType": "uint256", "name": "nextTimestamp", "type": "uint256", "indexed": false } ], "type": "event", "name": "LastPaidSetForVault", "anonymous": false }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getFeeBpsDefault", "outputs": [ { "internalType": "uint256", "name": "feeBpsDefault_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getFeeBpsForVault", "outputs": [ { "internalType": "uint256", "name": "feeBps_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getFeeBpsOverrideForVault", "outputs": [ { "internalType": "uint256", "name": "feeBpsOverride_", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getFundDeployer", "outputs": [ { "internalType": "address", "name": "fundDeployer_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getLastPaidForVault", "outputs": [ { "internalType": "uint256", "name": "lastPaid_", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getOwner", "outputs": [ { "internalType": "address", "name": "owner_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "initializeForVault" }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "payFee", "outputs": [ { "internalType": "uint256", "name": "sharesDue_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_nextFeeBpsDefault", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "setFeeBpsDefault" }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "uint256", "name": "_nextFeeBpsOverride", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "setFeeBpsOverrideForVault" }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "uint256", "name": "_nextTimestamp", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "setLastPaidForVault" } ], "devdoc": { "kind": "dev", "methods": { "getFeeBpsDefault()": { "returns": { "feeBpsDefault_": "The `feeBpsDefault` variable value" } }, "getFeeBpsForVault(address)": { "params": { "_vaultProxy": "The VaultProxy" }, "returns": { "feeBps_": "The protocol fee (in bps)" } }, "getFeeBpsOverrideForVault(address)": { "params": { "_vaultProxy": "The VaultProxy" }, "returns": { "feeBpsOverride_": "The feeBpsOverride value" } }, "getFundDeployer()": { "returns": { "fundDeployer_": "The `FUND_DEPLOYER` variable value" } }, "getLastPaidForVault(address)": { "params": { "_vaultProxy": "The VaultProxy" }, "returns": { "lastPaid_": "The lastPaid value" } }, "getOwner()": { "details": "Ownership is deferred to the owner of the FundDeployer contract", "returns": { "owner_": "The owner" } }, "initializeForVault(address)": { "details": "Does not validate whether _vaultProxy is already initialized, as FundDeployer will only do this once", "params": { "_vaultProxy": "The VaultProxy" } }, "payFee()": { "details": "This trusts the VaultProxy to mint the correct sharesDue_. There is no need to validate that the VaultProxy is still on this release.", "returns": { "sharesDue_": "The amount of shares to be minted for payment" } }, "setFeeBpsDefault(uint256)": { "params": { "_nextFeeBpsDefault": "The default protocol fee rate (in bps) to set" } }, "setFeeBpsOverrideForVault(address,uint256)": { "params": { "_nextFeeBpsOverride": "The protocol fee rate (in bps) to set", "_vaultProxy": "The VaultProxy" } }, "setLastPaidForVault(address,uint256)": { "params": { "_nextTimestamp": "The lastPaid timestamp to set", "_vaultProxy": "The VaultProxy" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "getFeeBpsDefault()": { "notice": "Gets the `feeBpsDefault` variable value" }, "getFeeBpsForVault(address)": { "notice": "Gets the protocol fee rate (in bps) for a given VaultProxy" }, "getFeeBpsOverrideForVault(address)": { "notice": "Gets the feeBpsOverride value for the given VaultProxy" }, "getFundDeployer()": { "notice": "Gets the `FUND_DEPLOYER` variable" }, "getLastPaidForVault(address)": { "notice": "Gets the lastPaid value for the given VaultProxy" }, "getOwner()": { "notice": "Gets the owner of this contract" }, "initializeForVault(address)": { "notice": "Initializes protocol fee tracking for a given VaultProxy" }, "payFee()": { "notice": "Marks the protocol fee as paid for the sender, and gets the amount of shares that should be minted for payment" }, "setFeeBpsDefault(uint256)": { "notice": "Sets the default protocol fee rate (in bps)" }, "setFeeBpsOverrideForVault(address,uint256)": { "notice": "Sets a specified protocol fee rate (in bps) for a particular VaultProxy" }, "setLastPaidForVault(address,uint256)": { "notice": "Sets the lastPaid timestamp for a specified VaultProxy" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/infrastructure/protocol-fees/ProtocolFeeTracker.sol": "ProtocolFeeTracker" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/core/fund-deployer/IFundDeployer.sol": { "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", "urls": [ "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/protocol-fees/IProtocolFeeTracker.sol": { "keccak256": "0x232b347f83457439064add7369bfe1930c7cb56f15930bb87d640e909c15e447", "urls": [ "bzz-raw://24f9af5eebdd373b1d7a598c096eb6def31b2640d54416d7d5a7226e1cef17e6", "dweb:/ipfs/QmStq9ByGuSYdKwTmZf52L1X6sZVJUfXTnoVbnjLLiUcHG" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/protocol-fees/ProtocolFeeTracker.sol": { "keccak256": "0x57be8ee480bab83f94de3c621463ae8762a1ba11c3fc91bf9d07ffb25fb35cbd", "urls": [ "bzz-raw://f43ed4412fa2f3025d5418e27dd5f69ac3384c8b8cf00fedee6757f549b82b00", "dweb:/ipfs/QmZQYAgYqoQeZooE2gwoxBPiSncMktCyTPyaD3yqrRA2FA" ], "license": "GPL-3.0" }, "contracts/release/utils/FundDeployerOwnerMixin.sol": { "keccak256": "0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934", "urls": [ "bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927", "dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" } }, "version": 1 }, "id": 257 } diff --git a/eth_defi/abi/enzyme/ProxiableGlobalConfigLib.json b/eth_defi/abi/enzyme/ProxiableGlobalConfigLib.json index b8b804c1..f999f213 100644 --- a/eth_defi/abi/enzyme/ProxiableGlobalConfigLib.json +++ b/eth_defi/abi/enzyme/ProxiableGlobalConfigLib.json @@ -1,126 +1 @@ -{ - "abi": [ - { - "inputs": [], - "name": "proxiableUUID", - "outputs": [ - { - "internalType": "bytes32", - "name": "uuid_", - "type": "bytes32" - } - ], - "stateMutability": "pure", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "proxiableUUID()": "52d1902d" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"uuid_\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"The recommended implementation of the target of a proxy according to EIP-1822 and EIP-1967 See: https://eips.ethereum.org/EIPS/eip-1822 See: https://eips.ethereum.org/EIPS/eip-1967\",\"kind\":\"dev\",\"methods\":{\"proxiableUUID()\":{\"returns\":{\"uuid_\":\"The bytes32 hash representing the UUID\"}}},\"title\":\"ProxiableGlobalConfigLib Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"proxiableUUID()\":{\"notice\":\"Returns a unique bytes32 hash for GlobalConfigLib instances\"}},\"notice\":\"A contract that defines the upgrade behavior for GlobalConfigLib instances\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/global-config/utils/ProxiableGlobalConfigLib.sol\":\"ProxiableGlobalConfigLib\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/global-config/utils/GlobalConfigProxyConstants.sol\":{\"keccak256\":\"0xb11c84a6cb9c26eb96abc7d38c57adb374415834daba8122d92264f9e19b5eb3\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6ad1cc0ba02e40b990408389d73c13ec69ac0cecd5447bb1826b505bcf671925\",\"dweb:/ipfs/QmP96nzpGLvY7eBqK4ictUAtnNq822rJuwbezSqC2BDsev\"]},\"contracts/persistent/global-config/utils/ProxiableGlobalConfigLib.sol\":{\"keccak256\":\"0x41386d6e4b676c73f461c12bef0bb01267a44b28bf8d8591269589c9a763daeb\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://578fbe03f5e56b06fca2485fafadb2a87da8703b93145e17325b131e224acb34\",\"dweb:/ipfs/QmY6Y8ZhfBZhfVD6ATj5jyFRSQfw7woRA9robZfzh1ev1G\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [], - "stateMutability": "pure", - "type": "function", - "name": "proxiableUUID", - "outputs": [ - { - "internalType": "bytes32", - "name": "uuid_", - "type": "bytes32" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "proxiableUUID()": { - "returns": { - "uuid_": "The bytes32 hash representing the UUID" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "proxiableUUID()": { - "notice": "Returns a unique bytes32 hash for GlobalConfigLib instances" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/persistent/global-config/utils/ProxiableGlobalConfigLib.sol": "ProxiableGlobalConfigLib" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/global-config/utils/GlobalConfigProxyConstants.sol": { - "keccak256": "0xb11c84a6cb9c26eb96abc7d38c57adb374415834daba8122d92264f9e19b5eb3", - "urls": [ - "bzz-raw://6ad1cc0ba02e40b990408389d73c13ec69ac0cecd5447bb1826b505bcf671925", - "dweb:/ipfs/QmP96nzpGLvY7eBqK4ictUAtnNq822rJuwbezSqC2BDsev" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/global-config/utils/ProxiableGlobalConfigLib.sol": { - "keccak256": "0x41386d6e4b676c73f461c12bef0bb01267a44b28bf8d8591269589c9a763daeb", - "urls": [ - "bzz-raw://578fbe03f5e56b06fca2485fafadb2a87da8703b93145e17325b131e224acb34", - "dweb:/ipfs/QmY6Y8ZhfBZhfVD6ATj5jyFRSQfw7woRA9robZfzh1ev1G" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 47 -} +{ "abi": [ { "type": "function", "name": "proxiableUUID", "inputs": [], "outputs": [ { "name": "uuid_", "type": "bytes32", "internalType": "bytes32" } ], "stateMutability": "pure" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "proxiableUUID()": "52d1902d" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"uuid_\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"The recommended implementation of the target of a proxy according to EIP-1822 and EIP-1967 See: https://eips.ethereum.org/EIPS/eip-1822 See: https://eips.ethereum.org/EIPS/eip-1967\",\"kind\":\"dev\",\"methods\":{\"proxiableUUID()\":{\"returns\":{\"uuid_\":\"The bytes32 hash representing the UUID\"}}},\"title\":\"ProxiableGlobalConfigLib Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"proxiableUUID()\":{\"notice\":\"Returns a unique bytes32 hash for GlobalConfigLib instances\"}},\"notice\":\"A contract that defines the upgrade behavior for GlobalConfigLib instances\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/global-config/utils/ProxiableGlobalConfigLib.sol\":\"ProxiableGlobalConfigLib\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/global-config/utils/GlobalConfigProxyConstants.sol\":{\"keccak256\":\"0xb11c84a6cb9c26eb96abc7d38c57adb374415834daba8122d92264f9e19b5eb3\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6ad1cc0ba02e40b990408389d73c13ec69ac0cecd5447bb1826b505bcf671925\",\"dweb:/ipfs/QmP96nzpGLvY7eBqK4ictUAtnNq822rJuwbezSqC2BDsev\"]},\"contracts/persistent/global-config/utils/ProxiableGlobalConfigLib.sol\":{\"keccak256\":\"0x41386d6e4b676c73f461c12bef0bb01267a44b28bf8d8591269589c9a763daeb\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://578fbe03f5e56b06fca2485fafadb2a87da8703b93145e17325b131e224acb34\",\"dweb:/ipfs/QmY6Y8ZhfBZhfVD6ATj5jyFRSQfw7woRA9robZfzh1ev1G\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [], "stateMutability": "pure", "type": "function", "name": "proxiableUUID", "outputs": [ { "internalType": "bytes32", "name": "uuid_", "type": "bytes32" } ] } ], "devdoc": { "kind": "dev", "methods": { "proxiableUUID()": { "returns": { "uuid_": "The bytes32 hash representing the UUID" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "proxiableUUID()": { "notice": "Returns a unique bytes32 hash for GlobalConfigLib instances" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/persistent/global-config/utils/ProxiableGlobalConfigLib.sol": "ProxiableGlobalConfigLib" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/global-config/utils/GlobalConfigProxyConstants.sol": { "keccak256": "0xb11c84a6cb9c26eb96abc7d38c57adb374415834daba8122d92264f9e19b5eb3", "urls": [ "bzz-raw://6ad1cc0ba02e40b990408389d73c13ec69ac0cecd5447bb1826b505bcf671925", "dweb:/ipfs/QmP96nzpGLvY7eBqK4ictUAtnNq822rJuwbezSqC2BDsev" ], "license": "GPL-3.0" }, "contracts/persistent/global-config/utils/ProxiableGlobalConfigLib.sol": { "keccak256": "0x41386d6e4b676c73f461c12bef0bb01267a44b28bf8d8591269589c9a763daeb", "urls": [ "bzz-raw://578fbe03f5e56b06fca2485fafadb2a87da8703b93145e17325b131e224acb34", "dweb:/ipfs/QmY6Y8ZhfBZhfVD6ATj5jyFRSQfw7woRA9robZfzh1ev1G" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 47 } diff --git a/eth_defi/abi/enzyme/ProxiableProtocolFeeReserveLib.json b/eth_defi/abi/enzyme/ProxiableProtocolFeeReserveLib.json index 292c9405..13b3dfdf 100644 --- a/eth_defi/abi/enzyme/ProxiableProtocolFeeReserveLib.json +++ b/eth_defi/abi/enzyme/ProxiableProtocolFeeReserveLib.json @@ -1,126 +1 @@ -{ - "abi": [ - { - "inputs": [], - "name": "proxiableUUID", - "outputs": [ - { - "internalType": "bytes32", - "name": "uuid_", - "type": "bytes32" - } - ], - "stateMutability": "pure", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "proxiableUUID()": "52d1902d" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"uuid_\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"The recommended implementation of the target of a proxy according to EIP-1822 and EIP-1967 See: https://eips.ethereum.org/EIPS/eip-1822 See: https://eips.ethereum.org/EIPS/eip-1967\",\"kind\":\"dev\",\"methods\":{\"proxiableUUID()\":{\"returns\":{\"uuid_\":\"The bytes32 hash representing the UUID\"}}},\"title\":\"ProxiableProtocolFeeReserveLib Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"proxiableUUID()\":{\"notice\":\"Returns a unique bytes32 hash for ProtocolFeeReserveLib instances\"}},\"notice\":\"A contract that defines the upgrade behavior for ProtocolFeeReserveLib instances\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/protocol-fee-reserve/utils/ProxiableProtocolFeeReserveLib.sol\":\"ProxiableProtocolFeeReserveLib\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/protocol-fee-reserve/utils/ProtocolFeeProxyConstants.sol\":{\"keccak256\":\"0x2ae2574c42812a6c7dedc69f37176132d7f55c36ca22672a56b3240a164de7ea\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1debdcb650ec03dff95ca515206e4850b5fcdb5bb9151cc88019135fee8651f8\",\"dweb:/ipfs/Qmea7QFovEcXGPVSZp8NcAkEzWo94ejUkcwxT7Z9ybWFPe\"]},\"contracts/persistent/protocol-fee-reserve/utils/ProxiableProtocolFeeReserveLib.sol\":{\"keccak256\":\"0xefc9befd638e13010c556c2d691949a3ce51171de8007e2daa536b368ad78868\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://fb6d3f317ec683b1e6b31984bbf65d6d727e7b3f9057917b9f3b5c03f90eb7fd\",\"dweb:/ipfs/QmWmQKoMgavRRMbMEGhX5qGvxfpDkLfwEgUEqYsnAxTt6T\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [], - "stateMutability": "pure", - "type": "function", - "name": "proxiableUUID", - "outputs": [ - { - "internalType": "bytes32", - "name": "uuid_", - "type": "bytes32" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "proxiableUUID()": { - "returns": { - "uuid_": "The bytes32 hash representing the UUID" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "proxiableUUID()": { - "notice": "Returns a unique bytes32 hash for ProtocolFeeReserveLib instances" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/persistent/protocol-fee-reserve/utils/ProxiableProtocolFeeReserveLib.sol": "ProxiableProtocolFeeReserveLib" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/protocol-fee-reserve/utils/ProtocolFeeProxyConstants.sol": { - "keccak256": "0x2ae2574c42812a6c7dedc69f37176132d7f55c36ca22672a56b3240a164de7ea", - "urls": [ - "bzz-raw://1debdcb650ec03dff95ca515206e4850b5fcdb5bb9151cc88019135fee8651f8", - "dweb:/ipfs/Qmea7QFovEcXGPVSZp8NcAkEzWo94ejUkcwxT7Z9ybWFPe" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/protocol-fee-reserve/utils/ProxiableProtocolFeeReserveLib.sol": { - "keccak256": "0xefc9befd638e13010c556c2d691949a3ce51171de8007e2daa536b368ad78868", - "urls": [ - "bzz-raw://fb6d3f317ec683b1e6b31984bbf65d6d727e7b3f9057917b9f3b5c03f90eb7fd", - "dweb:/ipfs/QmWmQKoMgavRRMbMEGhX5qGvxfpDkLfwEgUEqYsnAxTt6T" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 57 -} +{ "abi": [ { "type": "function", "name": "proxiableUUID", "inputs": [], "outputs": [ { "name": "uuid_", "type": "bytes32", "internalType": "bytes32" } ], "stateMutability": "pure" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "proxiableUUID()": "52d1902d" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"uuid_\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"The recommended implementation of the target of a proxy according to EIP-1822 and EIP-1967 See: https://eips.ethereum.org/EIPS/eip-1822 See: https://eips.ethereum.org/EIPS/eip-1967\",\"kind\":\"dev\",\"methods\":{\"proxiableUUID()\":{\"returns\":{\"uuid_\":\"The bytes32 hash representing the UUID\"}}},\"title\":\"ProxiableProtocolFeeReserveLib Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"proxiableUUID()\":{\"notice\":\"Returns a unique bytes32 hash for ProtocolFeeReserveLib instances\"}},\"notice\":\"A contract that defines the upgrade behavior for ProtocolFeeReserveLib instances\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/protocol-fee-reserve/utils/ProxiableProtocolFeeReserveLib.sol\":\"ProxiableProtocolFeeReserveLib\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/protocol-fee-reserve/utils/ProtocolFeeProxyConstants.sol\":{\"keccak256\":\"0x2ae2574c42812a6c7dedc69f37176132d7f55c36ca22672a56b3240a164de7ea\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1debdcb650ec03dff95ca515206e4850b5fcdb5bb9151cc88019135fee8651f8\",\"dweb:/ipfs/Qmea7QFovEcXGPVSZp8NcAkEzWo94ejUkcwxT7Z9ybWFPe\"]},\"contracts/persistent/protocol-fee-reserve/utils/ProxiableProtocolFeeReserveLib.sol\":{\"keccak256\":\"0xefc9befd638e13010c556c2d691949a3ce51171de8007e2daa536b368ad78868\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://fb6d3f317ec683b1e6b31984bbf65d6d727e7b3f9057917b9f3b5c03f90eb7fd\",\"dweb:/ipfs/QmWmQKoMgavRRMbMEGhX5qGvxfpDkLfwEgUEqYsnAxTt6T\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [], "stateMutability": "pure", "type": "function", "name": "proxiableUUID", "outputs": [ { "internalType": "bytes32", "name": "uuid_", "type": "bytes32" } ] } ], "devdoc": { "kind": "dev", "methods": { "proxiableUUID()": { "returns": { "uuid_": "The bytes32 hash representing the UUID" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "proxiableUUID()": { "notice": "Returns a unique bytes32 hash for ProtocolFeeReserveLib instances" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/persistent/protocol-fee-reserve/utils/ProxiableProtocolFeeReserveLib.sol": "ProxiableProtocolFeeReserveLib" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/protocol-fee-reserve/utils/ProtocolFeeProxyConstants.sol": { "keccak256": "0x2ae2574c42812a6c7dedc69f37176132d7f55c36ca22672a56b3240a164de7ea", "urls": [ "bzz-raw://1debdcb650ec03dff95ca515206e4850b5fcdb5bb9151cc88019135fee8651f8", "dweb:/ipfs/Qmea7QFovEcXGPVSZp8NcAkEzWo94ejUkcwxT7Z9ybWFPe" ], "license": "GPL-3.0" }, "contracts/persistent/protocol-fee-reserve/utils/ProxiableProtocolFeeReserveLib.sol": { "keccak256": "0xefc9befd638e13010c556c2d691949a3ce51171de8007e2daa536b368ad78868", "urls": [ "bzz-raw://fb6d3f317ec683b1e6b31984bbf65d6d727e7b3f9057917b9f3b5c03f90eb7fd", "dweb:/ipfs/QmWmQKoMgavRRMbMEGhX5qGvxfpDkLfwEgUEqYsnAxTt6T" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 57 } diff --git a/eth_defi/abi/enzyme/ProxiableVaultLib.json b/eth_defi/abi/enzyme/ProxiableVaultLib.json index f501661a..00197823 100644 --- a/eth_defi/abi/enzyme/ProxiableVaultLib.json +++ b/eth_defi/abi/enzyme/ProxiableVaultLib.json @@ -1,119 +1 @@ -{ - "abi": [ - { - "inputs": [], - "name": "proxiableUUID", - "outputs": [ - { - "internalType": "bytes32", - "name": "uuid_", - "type": "bytes32" - } - ], - "stateMutability": "pure", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "proxiableUUID()": "52d1902d" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"uuid_\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"The recommended implementation of the target of a proxy according to EIP-1822 and EIP-1967 Code position in storage is `bytes32(uint256(keccak256('eip1967.proxy.implementation')) - 1)`, which is \\\"0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc\\\".\",\"kind\":\"dev\",\"methods\":{\"proxiableUUID()\":{\"details\":\"The UUID is `bytes32(keccak256('mln.proxiable.vaultlib'))`\",\"returns\":{\"uuid_\":\"The bytes32 hash representing the UUID\"}}},\"title\":\"ProxiableVaultLib Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"proxiableUUID()\":{\"notice\":\"Returns a unique bytes32 hash for VaultLib instances\"}},\"notice\":\"A contract that defines the upgrade behavior for VaultLib instances\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/vault/utils/ProxiableVaultLib.sol\":\"ProxiableVaultLib\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/vault/utils/ProxiableVaultLib.sol\":{\"keccak256\":\"0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44\",\"dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [], - "stateMutability": "pure", - "type": "function", - "name": "proxiableUUID", - "outputs": [ - { - "internalType": "bytes32", - "name": "uuid_", - "type": "bytes32" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "proxiableUUID()": { - "details": "The UUID is `bytes32(keccak256('mln.proxiable.vaultlib'))`", - "returns": { - "uuid_": "The bytes32 hash representing the UUID" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "proxiableUUID()": { - "notice": "Returns a unique bytes32 hash for VaultLib instances" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/persistent/vault/utils/ProxiableVaultLib.sol": "ProxiableVaultLib" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/vault/utils/ProxiableVaultLib.sol": { - "keccak256": "0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76", - "urls": [ - "bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44", - "dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 74 -} +{ "abi": [ { "type": "function", "name": "proxiableUUID", "inputs": [], "outputs": [ { "name": "uuid_", "type": "bytes32", "internalType": "bytes32" } ], "stateMutability": "pure" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "proxiableUUID()": "52d1902d" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"uuid_\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"The recommended implementation of the target of a proxy according to EIP-1822 and EIP-1967 Code position in storage is `bytes32(uint256(keccak256('eip1967.proxy.implementation')) - 1)`, which is \\\"0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc\\\".\",\"kind\":\"dev\",\"methods\":{\"proxiableUUID()\":{\"details\":\"The UUID is `bytes32(keccak256('mln.proxiable.vaultlib'))`\",\"returns\":{\"uuid_\":\"The bytes32 hash representing the UUID\"}}},\"title\":\"ProxiableVaultLib Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"proxiableUUID()\":{\"notice\":\"Returns a unique bytes32 hash for VaultLib instances\"}},\"notice\":\"A contract that defines the upgrade behavior for VaultLib instances\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/vault/utils/ProxiableVaultLib.sol\":\"ProxiableVaultLib\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/vault/utils/ProxiableVaultLib.sol\":{\"keccak256\":\"0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44\",\"dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [], "stateMutability": "pure", "type": "function", "name": "proxiableUUID", "outputs": [ { "internalType": "bytes32", "name": "uuid_", "type": "bytes32" } ] } ], "devdoc": { "kind": "dev", "methods": { "proxiableUUID()": { "details": "The UUID is `bytes32(keccak256('mln.proxiable.vaultlib'))`", "returns": { "uuid_": "The bytes32 hash representing the UUID" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "proxiableUUID()": { "notice": "Returns a unique bytes32 hash for VaultLib instances" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/persistent/vault/utils/ProxiableVaultLib.sol": "ProxiableVaultLib" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/vault/utils/ProxiableVaultLib.sol": { "keccak256": "0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76", "urls": [ "bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44", "dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 74 } diff --git a/eth_defi/abi/enzyme/Proxy.json b/eth_defi/abi/enzyme/Proxy.json index 97ea3f44..6d3c57b5 100644 --- a/eth_defi/abi/enzyme/Proxy.json +++ b/eth_defi/abi/enzyme/Proxy.json @@ -1,98 +1 @@ -{ - "abi": [ - { - "stateMutability": "payable", - "type": "fallback" - }, - { - "stateMutability": "payable", - "type": "receive" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": {}, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"details\":\"This abstract contract provides a fallback function that delegates all calls to another contract using the EVM instruction `delegatecall`. We refer to the second contract as the _implementation_ behind the proxy, and it has to be specified by overriding the virtual {_implementation} function. Additionally, delegation to the implementation can be triggered manually through the {_fallback} function, or to a different contract through the {_delegate} function. The success and return data of the delegated call will be returned back to the caller of the proxy.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@openzeppelin/contracts/proxy/Proxy.sol\":\"Proxy\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"node_modules/@openzeppelin/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0x0414d54056b3d8f9102ae1142264e9361408397878148203ab7a25cbf6248f08\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ebdc01639f69030c754dc3462d5f437c4644164465066187e320f524579fbede\",\"dweb:/ipfs/QmZZhoPYagwu4MoJMAg26Y6Nfj4d9HJzUnvrMNsbo9ZorM\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [], - "stateMutability": "payable", - "type": "fallback" - }, - { - "inputs": [], - "stateMutability": "payable", - "type": "receive" - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "node_modules/@openzeppelin/contracts/proxy/Proxy.sol": "Proxy" - }, - "libraries": {} - }, - "sources": { - "node_modules/@openzeppelin/contracts/proxy/Proxy.sol": { - "keccak256": "0x0414d54056b3d8f9102ae1142264e9361408397878148203ab7a25cbf6248f08", - "urls": [ - "bzz-raw://ebdc01639f69030c754dc3462d5f437c4644164465066187e320f524579fbede", - "dweb:/ipfs/QmZZhoPYagwu4MoJMAg26Y6Nfj4d9HJzUnvrMNsbo9ZorM" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 446 -} +{ "abi": [ { "type": "fallback", "stateMutability": "payable" }, { "type": "receive", "stateMutability": "payable" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": {}, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"details\":\"This abstract contract provides a fallback function that delegates all calls to another contract using the EVM instruction `delegatecall`. We refer to the second contract as the _implementation_ behind the proxy, and it has to be specified by overriding the virtual {_implementation} function. Additionally, delegation to the implementation can be triggered manually through the {_fallback} function, or to a different contract through the {_delegate} function. The success and return data of the delegated call will be returned back to the caller of the proxy.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@openzeppelin/contracts/proxy/Proxy.sol\":\"Proxy\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"node_modules/@openzeppelin/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0x0414d54056b3d8f9102ae1142264e9361408397878148203ab7a25cbf6248f08\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ebdc01639f69030c754dc3462d5f437c4644164465066187e320f524579fbede\",\"dweb:/ipfs/QmZZhoPYagwu4MoJMAg26Y6Nfj4d9HJzUnvrMNsbo9ZorM\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [], "stateMutability": "payable", "type": "fallback" }, { "inputs": [], "stateMutability": "payable", "type": "receive" } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "node_modules/@openzeppelin/contracts/proxy/Proxy.sol": "Proxy" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "node_modules/@openzeppelin/contracts/proxy/Proxy.sol": { "keccak256": "0x0414d54056b3d8f9102ae1142264e9361408397878148203ab7a25cbf6248f08", "urls": [ "bzz-raw://ebdc01639f69030c754dc3462d5f437c4644164465066187e320f524579fbede", "dweb:/ipfs/QmZZhoPYagwu4MoJMAg26Y6Nfj4d9HJzUnvrMNsbo9ZorM" ], "license": "MIT" } }, "version": 1 }, "id": 446 } diff --git a/eth_defi/abi/enzyme/Reenterer.json b/eth_defi/abi/enzyme/Reenterer.json index f5623c7a..3f26a01f 100644 --- a/eth_defi/abi/enzyme/Reenterer.json +++ b/eth_defi/abi/enzyme/Reenterer.json @@ -1,244 +1 @@ -{ - "abi": [ - { - "inputs": [], - "name": "receiveReentrantContract", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "receiveReentrantData", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "receiveReentrantReturnData", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "receiveReentrantValue", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_contract", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "_value", - "type": "uint256" - } - ], - "name": "setReceiveReentrantPayload", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "stateMutability": "payable", - "type": "receive" - } - ], - "bytecode": { - "object": "0x608060405234801561001057600080fd5b5061051c806100206000396000f3fe60806040526004361061004e5760003560e01c806364257ffc1461015d578063aaea33f7146101e7578063affb459114610218578063b5bd51db1461023f578063d054fef51461025457610158565b36610158576000546001600160a01b03161561015657600019600254141561007557476002555b606060008054906101000a90046001600160a01b03166001600160a01b0316600254600160405180828054600181600116156101000203166002900480156100f45780601f106100d25761010080835404028352918201916100f4565b820191906000526020600020905b8154815290600101906020018083116100e0575b505091505060006040518083038185875af1925050503d8060008114610136576040519150601f19603f3d011682016040523d82523d6000602084013e61013b565b606091505b5080519092506101539150600390602084019061040e565b50505b005b600080fd5b34801561016957600080fd5b506101726102e1565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101ac578181015183820152602001610194565b50505050905090810190601f1680156101d95780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101f357600080fd5b506101fc61036f565b604080516001600160a01b039092168252519081900360200190f35b34801561022457600080fd5b5061022d61037e565b60408051918252519081900360200190f35b34801561024b57600080fd5b50610172610384565b34801561026057600080fd5b506101566004803603606081101561027757600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156102a257600080fd5b8201836020820111156102b457600080fd5b803590602001918460018302840111640100000000831117156102d657600080fd5b9193509150356103de565b6003805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156103675780601f1061033c57610100808354040283529160200191610367565b820191906000526020600020905b81548152906001019060200180831161034a57829003601f168201915b505050505081565b6000546001600160a01b031681565b60025481565b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156103675780601f1061033c57610100808354040283529160200191610367565b600080546001600160a01b0319166001600160a01b0386161790556104056001848461048c565b50600255505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061044f57805160ff191683800117855561047c565b8280016001018555821561047c579182015b8281111561047c578251825591602001919060010190610461565b506104889291506104fa565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106104cd5782800160ff1982351617855561047c565b8280016001018555821561047c579182015b8281111561047c5782358255916020019190600101906104df565b5b8082111561048857600081556001016104fb56fea164736f6c634300060c000a", - "sourceMap": "437:1051:368:-:0;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x60806040526004361061004e5760003560e01c806364257ffc1461015d578063aaea33f7146101e7578063affb459114610218578063b5bd51db1461023f578063d054fef51461025457610158565b36610158576000546001600160a01b03161561015657600019600254141561007557476002555b606060008054906101000a90046001600160a01b03166001600160a01b0316600254600160405180828054600181600116156101000203166002900480156100f45780601f106100d25761010080835404028352918201916100f4565b820191906000526020600020905b8154815290600101906020018083116100e0575b505091505060006040518083038185875af1925050503d8060008114610136576040519150601f19603f3d011682016040523d82523d6000602084013e61013b565b606091505b5080519092506101539150600390602084019061040e565b50505b005b600080fd5b34801561016957600080fd5b506101726102e1565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101ac578181015183820152602001610194565b50505050905090810190601f1680156101d95780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101f357600080fd5b506101fc61036f565b604080516001600160a01b039092168252519081900360200190f35b34801561022457600080fd5b5061022d61037e565b60408051918252519081900360200190f35b34801561024b57600080fd5b50610172610384565b34801561026057600080fd5b506101566004803603606081101561027757600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156102a257600080fd5b8201836020820111156102b457600080fd5b803590602001918460018302840111640100000000831117156102d657600080fd5b9193509150356103de565b6003805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156103675780601f1061033c57610100808354040283529160200191610367565b820191906000526020600020905b81548152906001019060200180831161034a57829003601f168201915b505050505081565b6000546001600160a01b031681565b60025481565b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156103675780601f1061033c57610100808354040283529160200191610367565b600080546001600160a01b0319166001600160a01b0386161790556104056001848461048c565b50600255505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061044f57805160ff191683800117855561047c565b8280016001018555821561047c579182015b8281111561047c578251825591602001919060010190610461565b506104889291506104fa565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106104cd5782800160ff1982351617855561047c565b8280016001018555821561047c579182015b8281111561047c5782358255916020019190600101906104df565b5b8082111561048857600081556001016104fb56fea164736f6c634300060c000a", - "sourceMap": "437:1051:368:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;711:1;675:24;-1:-1:-1;;;;;675:24:368;:38;671:540;;-1:-1:-1;;733:21:368;;:42;729:126;;;819:21;795;:45;729:126;872:23;899:24;;;;;;;;-1:-1:-1;;;;;899:24:368;-1:-1:-1;;;;;899:29:368;953:21;;989:20;899:111;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1161:39:368;;869:141;;-1:-1:-1;1161:39:368;;-1:-1:-1;1161:26:368;;:39;;;;;:::i;:::-;;671:540;;437:1051;;;;;588:39;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;462;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;462:39:368;;;;;;;;;;;;;;546:36;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;507:33;;;;;;;;;;;;;:::i;1223:263::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1223:263:368;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1223:263:368;-1:-1:-1;1223:263:368;;:::i;588:39::-;;;;;;;;;;;;;;;-1:-1:-1;;588:39:368;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;462:::-;;;-1:-1:-1;;;;;462:39:368;;:::o;546:36::-;;;;:::o;507:33::-;;;;;;;;;;;;;;;-1:-1:-1;;507:33:368;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1223:263;1365:24;:36;;-1:-1:-1;;;;;;1365:36:368;-1:-1:-1;;;;;1365:36:368;;;;;1411:28;-1:-1:-1;1434:5:368;;1411:28;:::i;:::-;-1:-1:-1;1449:21:368;:30;-1:-1:-1;;;1223:263:368:o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "methodIdentifiers": { - "receiveReentrantContract()": "aaea33f7", - "receiveReentrantData()": "b5bd51db", - "receiveReentrantReturnData()": "64257ffc", - "receiveReentrantValue()": "affb4591", - "setReceiveReentrantPayload(address,bytes,uint256)": "d054fef5" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"receiveReentrantContract\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"receiveReentrantData\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"receiveReentrantReturnData\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"receiveReentrantValue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contract\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"setReceiveReentrantPayload\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"Reenterer Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"A test contract that can perform callbacks to test reentrance\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/Reenterer.sol\":\"Reenterer\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/test/Reenterer.sol\":{\"keccak256\":\"0x5811c82b25823cf412900c1b7cec1c3dd7e2a502fcc15df270d130aea4c4bed9\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://331bdfef47dfa064019aed9014b6909aa8a9ea27213d9c341aabdba84eae76e8\",\"dweb:/ipfs/Qmdg52rY8c1pdASnbPvN113Hprc1qU9vPG4WvxuHsue9aU\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "receiveReentrantContract", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "receiveReentrantData", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "receiveReentrantReturnData", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "receiveReentrantValue", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_contract", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_data", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "_value", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setReceiveReentrantPayload" - }, - { - "inputs": [], - "stateMutability": "payable", - "type": "receive" - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/test/Reenterer.sol": "Reenterer" - }, - "libraries": {} - }, - "sources": { - "contracts/test/Reenterer.sol": { - "keccak256": "0x5811c82b25823cf412900c1b7cec1c3dd7e2a502fcc15df270d130aea4c4bed9", - "urls": [ - "bzz-raw://331bdfef47dfa064019aed9014b6909aa8a9ea27213d9c341aabdba84eae76e8", - "dweb:/ipfs/Qmdg52rY8c1pdASnbPvN113Hprc1qU9vPG4WvxuHsue9aU" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 368 -} +{ "abi": [ { "type": "receive", "stateMutability": "payable" }, { "type": "function", "name": "receiveReentrantContract", "inputs": [], "outputs": [ { "name": "", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "receiveReentrantData", "inputs": [], "outputs": [ { "name": "", "type": "bytes", "internalType": "bytes" } ], "stateMutability": "view" }, { "type": "function", "name": "receiveReentrantReturnData", "inputs": [], "outputs": [ { "name": "", "type": "bytes", "internalType": "bytes" } ], "stateMutability": "view" }, { "type": "function", "name": "receiveReentrantValue", "inputs": [], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "setReceiveReentrantPayload", "inputs": [ { "name": "_contract", "type": "address", "internalType": "address" }, { "name": "_data", "type": "bytes", "internalType": "bytes" }, { "name": "_value", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x608060405234801561001057600080fd5b5061051c806100206000396000f3fe60806040526004361061004e5760003560e01c806364257ffc1461015d578063aaea33f7146101e7578063affb459114610218578063b5bd51db1461023f578063d054fef51461025457610158565b36610158576000546001600160a01b03161561015657600019600254141561007557476002555b606060008054906101000a90046001600160a01b03166001600160a01b0316600254600160405180828054600181600116156101000203166002900480156100f45780601f106100d25761010080835404028352918201916100f4565b820191906000526020600020905b8154815290600101906020018083116100e0575b505091505060006040518083038185875af1925050503d8060008114610136576040519150601f19603f3d011682016040523d82523d6000602084013e61013b565b606091505b5080519092506101539150600390602084019061040e565b50505b005b600080fd5b34801561016957600080fd5b506101726102e1565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101ac578181015183820152602001610194565b50505050905090810190601f1680156101d95780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101f357600080fd5b506101fc61036f565b604080516001600160a01b039092168252519081900360200190f35b34801561022457600080fd5b5061022d61037e565b60408051918252519081900360200190f35b34801561024b57600080fd5b50610172610384565b34801561026057600080fd5b506101566004803603606081101561027757600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156102a257600080fd5b8201836020820111156102b457600080fd5b803590602001918460018302840111640100000000831117156102d657600080fd5b9193509150356103de565b6003805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156103675780601f1061033c57610100808354040283529160200191610367565b820191906000526020600020905b81548152906001019060200180831161034a57829003601f168201915b505050505081565b6000546001600160a01b031681565b60025481565b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156103675780601f1061033c57610100808354040283529160200191610367565b600080546001600160a01b0319166001600160a01b0386161790556104056001848461048c565b50600255505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061044f57805160ff191683800117855561047c565b8280016001018555821561047c579182015b8281111561047c578251825591602001919060010190610461565b506104889291506104fa565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106104cd5782800160ff1982351617855561047c565b8280016001018555821561047c579182015b8281111561047c5782358255916020019190600101906104df565b5b8082111561048857600081556001016104fb56fea164736f6c634300060c000a", "sourceMap": "437:1051:368:-:0;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x60806040526004361061004e5760003560e01c806364257ffc1461015d578063aaea33f7146101e7578063affb459114610218578063b5bd51db1461023f578063d054fef51461025457610158565b36610158576000546001600160a01b03161561015657600019600254141561007557476002555b606060008054906101000a90046001600160a01b03166001600160a01b0316600254600160405180828054600181600116156101000203166002900480156100f45780601f106100d25761010080835404028352918201916100f4565b820191906000526020600020905b8154815290600101906020018083116100e0575b505091505060006040518083038185875af1925050503d8060008114610136576040519150601f19603f3d011682016040523d82523d6000602084013e61013b565b606091505b5080519092506101539150600390602084019061040e565b50505b005b600080fd5b34801561016957600080fd5b506101726102e1565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101ac578181015183820152602001610194565b50505050905090810190601f1680156101d95780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101f357600080fd5b506101fc61036f565b604080516001600160a01b039092168252519081900360200190f35b34801561022457600080fd5b5061022d61037e565b60408051918252519081900360200190f35b34801561024b57600080fd5b50610172610384565b34801561026057600080fd5b506101566004803603606081101561027757600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156102a257600080fd5b8201836020820111156102b457600080fd5b803590602001918460018302840111640100000000831117156102d657600080fd5b9193509150356103de565b6003805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156103675780601f1061033c57610100808354040283529160200191610367565b820191906000526020600020905b81548152906001019060200180831161034a57829003601f168201915b505050505081565b6000546001600160a01b031681565b60025481565b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156103675780601f1061033c57610100808354040283529160200191610367565b600080546001600160a01b0319166001600160a01b0386161790556104056001848461048c565b50600255505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061044f57805160ff191683800117855561047c565b8280016001018555821561047c579182015b8281111561047c578251825591602001919060010190610461565b506104889291506104fa565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106104cd5782800160ff1982351617855561047c565b8280016001018555821561047c579182015b8281111561047c5782358255916020019190600101906104df565b5b8082111561048857600081556001016104fb56fea164736f6c634300060c000a", "sourceMap": "437:1051:368:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;711:1;675:24;-1:-1:-1;;;;;675:24:368;:38;671:540;;-1:-1:-1;;733:21:368;;:42;729:126;;;819:21;795;:45;729:126;872:23;899:24;;;;;;;;-1:-1:-1;;;;;899:24:368;-1:-1:-1;;;;;899:29:368;953:21;;989:20;899:111;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1161:39:368;;869:141;;-1:-1:-1;1161:39:368;;-1:-1:-1;1161:26:368;;:39;;;;;:::i;:::-;;671:540;;437:1051;;;;;588:39;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;462;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;462:39:368;;;;;;;;;;;;;;546:36;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;507:33;;;;;;;;;;;;;:::i;1223:263::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1223:263:368;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1223:263:368;-1:-1:-1;1223:263:368;;:::i;588:39::-;;;;;;;;;;;;;;;-1:-1:-1;;588:39:368;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;462:::-;;;-1:-1:-1;;;;;462:39:368;;:::o;546:36::-;;;;:::o;507:33::-;;;;;;;;;;;;;;;-1:-1:-1;;507:33:368;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1223:263;1365:24;:36;;-1:-1:-1;;;;;;1365:36:368;-1:-1:-1;;;;;1365:36:368;;;;;1411:28;-1:-1:-1;1434:5:368;;1411:28;:::i;:::-;-1:-1:-1;1449:21:368;:30;-1:-1:-1;;;1223:263:368:o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "methodIdentifiers": { "receiveReentrantContract()": "aaea33f7", "receiveReentrantData()": "b5bd51db", "receiveReentrantReturnData()": "64257ffc", "receiveReentrantValue()": "affb4591", "setReceiveReentrantPayload(address,bytes,uint256)": "d054fef5" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"receiveReentrantContract\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"receiveReentrantData\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"receiveReentrantReturnData\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"receiveReentrantValue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contract\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"setReceiveReentrantPayload\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"Reenterer Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"A test contract that can perform callbacks to test reentrance\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/Reenterer.sol\":\"Reenterer\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/test/Reenterer.sol\":{\"keccak256\":\"0x5811c82b25823cf412900c1b7cec1c3dd7e2a502fcc15df270d130aea4c4bed9\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://331bdfef47dfa064019aed9014b6909aa8a9ea27213d9c341aabdba84eae76e8\",\"dweb:/ipfs/Qmdg52rY8c1pdASnbPvN113Hprc1qU9vPG4WvxuHsue9aU\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [], "stateMutability": "view", "type": "function", "name": "receiveReentrantContract", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "receiveReentrantData", "outputs": [ { "internalType": "bytes", "name": "", "type": "bytes" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "receiveReentrantReturnData", "outputs": [ { "internalType": "bytes", "name": "", "type": "bytes" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "receiveReentrantValue", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "_contract", "type": "address" }, { "internalType": "bytes", "name": "_data", "type": "bytes" }, { "internalType": "uint256", "name": "_value", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "setReceiveReentrantPayload" }, { "inputs": [], "stateMutability": "payable", "type": "receive" } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/test/Reenterer.sol": "Reenterer" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/test/Reenterer.sol": { "keccak256": "0x5811c82b25823cf412900c1b7cec1c3dd7e2a502fcc15df270d130aea4c4bed9", "urls": [ "bzz-raw://331bdfef47dfa064019aed9014b6909aa8a9ea27213d9c341aabdba84eae76e8", "dweb:/ipfs/Qmdg52rY8c1pdASnbPvN113Hprc1qU9vPG4WvxuHsue9aU" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 368 } diff --git a/eth_defi/abi/enzyme/ReentrancyGuard.json b/eth_defi/abi/enzyme/ReentrancyGuard.json index ae1c9f46..a30e957e 100644 --- a/eth_defi/abi/enzyme/ReentrancyGuard.json +++ b/eth_defi/abi/enzyme/ReentrancyGuard.json @@ -1,78 +1 @@ -{ - "abi": [], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": {}, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"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\":{\"node_modules/@openzeppelin/contracts/utils/ReentrancyGuard.sol\":\"ReentrancyGuard\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"node_modules/@openzeppelin/contracts/utils/ReentrancyGuard.sol\":{\"keccak256\":\"0x8bbbc2f5c10065ee272592ae0a7a6ceb23de2fbd81564ee0bb015ecf404d5f61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b95e56c1640d0ef789fc5c16269e141e992f6c8ac97cc6d377bd3825e9cab182\",\"dweb:/ipfs/QmVzaxJZY51EhagrcNnkxoU6Uq17RhATe7aHvtkC6wUkgK\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "node_modules/@openzeppelin/contracts/utils/ReentrancyGuard.sol": "ReentrancyGuard" - }, - "libraries": {} - }, - "sources": { - "node_modules/@openzeppelin/contracts/utils/ReentrancyGuard.sol": { - "keccak256": "0x8bbbc2f5c10065ee272592ae0a7a6ceb23de2fbd81564ee0bb015ecf404d5f61", - "urls": [ - "bzz-raw://b95e56c1640d0ef789fc5c16269e141e992f6c8ac97cc6d377bd3825e9cab182", - "dweb:/ipfs/QmVzaxJZY51EhagrcNnkxoU6Uq17RhATe7aHvtkC6wUkgK" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 453 -} +{ "abi": [], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": {}, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"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\":{\"node_modules/@openzeppelin/contracts/utils/ReentrancyGuard.sol\":\"ReentrancyGuard\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"node_modules/@openzeppelin/contracts/utils/ReentrancyGuard.sol\":{\"keccak256\":\"0x8bbbc2f5c10065ee272592ae0a7a6ceb23de2fbd81564ee0bb015ecf404d5f61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b95e56c1640d0ef789fc5c16269e141e992f6c8ac97cc6d377bd3825e9cab182\",\"dweb:/ipfs/QmVzaxJZY51EhagrcNnkxoU6Uq17RhATe7aHvtkC6wUkgK\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "node_modules/@openzeppelin/contracts/utils/ReentrancyGuard.sol": "ReentrancyGuard" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "node_modules/@openzeppelin/contracts/utils/ReentrancyGuard.sol": { "keccak256": "0x8bbbc2f5c10065ee272592ae0a7a6ceb23de2fbd81564ee0bb015ecf404d5f61", "urls": [ "bzz-raw://b95e56c1640d0ef789fc5c16269e141e992f6c8ac97cc6d377bd3825e9cab182", "dweb:/ipfs/QmVzaxJZY51EhagrcNnkxoU6Uq17RhATe7aHvtkC6wUkgK" ], "license": "MIT" } }, "version": 1 }, "id": 453 } diff --git a/eth_defi/abi/enzyme/RemoveNominatedOwnerTest.json b/eth_defi/abi/enzyme/RemoveNominatedOwnerTest.json index 59c04020..516ad627 100644 --- a/eth_defi/abi/enzyme/RemoveNominatedOwnerTest.json +++ b/eth_defi/abi/enzyme/RemoveNominatedOwnerTest.json @@ -1,1152 +1 @@ -{ - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "nominatedOwner", - "type": "address" - } - ], - "name": "NominatedOwnerRemoved", - "type": "event" - }, - { - "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_SCRIPT", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "IS_TEST", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "_name", - "type": "string" - } - ], - "name": "addr", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "failed", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "setUp", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "testAnonCannotRemove", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "testHappyPath", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "vm", - "outputs": [ - { - "internalType": "contract Vm", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x60806040526000805462ff00001960ff19909116600117166201000017905534801561002a57600080fd5b506135518061003a6000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063ba414fa61161005b578063ba414fa614610169578063cd8591bb14610185578063f8ccbf471461018d578063fa7626d41461019557610088565b80630a9254e41461008d5780633a76846314610097578063511b1df9146100bb5780636e4ac65c14610161575b600080fd5b61009561019d565b005b61009f6101e8565b604080516001600160a01b039092168252519081900360200190f35b61009f600480360360208110156100d157600080fd5b8101906020810181356401000000008111156100ec57600080fd5b8201836020820111156100fe57600080fd5b8035906020019184600183028401116401000000008311171561012057600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610200945050505050565b610095610214565b6101716103d2565b604080519115158252519081900360200190f35b610095610598565b610171610798565b6101716107a7565b6040516101a990610a90565b604051809103906000f0801580156101c5573d6000803e3d6000fd5b50600880546001600160a01b0319166001600160a01b0392909216919091179055565b737109709ecfa91a80626ff3989d68f67f5b1dd12d81565b80516020909101206001600160a01b031690565b6008546040805163039470bd60e51b8152610539600482015290516001600160a01b039092169163728e17a09160248082019260009290919082900301818387803b15801561026257600080fd5b505af1158015610276573d6000803e3d6000fd5b50506040805163ca669fa760e01b815261053960048201529051737109709ecfa91a80626ff3989d68f67f5b1dd12d935063ca669fa79250602480830192600092919082900301818387803b1580156102ce57600080fd5b505af11580156102e2573d6000803e3d6000fd5b505060405163f28dceb360e01b8152602060048201908152602e60248301819052737109709ecfa91a80626ff3989d68f67f5b1dd12d945063f28dceb39350909182916044909101906134f28239604001915050600060405180830381600087803b15801561035057600080fd5b505af1158015610364573d6000803e3d6000fd5b50505050600860009054906101000a90046001600160a01b03166001600160a01b0316638156eecf6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156103b857600080fd5b505af11580156103cc573d6000803e3d6000fd5b50505050565b60008054610100900460ff16156103f45750600054610100900460ff16610595565b60006103fe6107b0565b156105925760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d60208083018290526519985a5b195960d21b838501528351808403850181526060848101909552630667f9d760e41b60808501908152815193947f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc494929391926084909101918401908083835b602083106104a85780518252601f199092019160209182019101610489565b6001836020036101000a038019825116818451168082178552505050505050905001925050506040516020818303038152906040526040518082805190602001908083835b6020831061050c5780518252601f1990920191602091820191016104ed565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811461056e576040519150601f19603f3d011682016040523d82523d6000602084013e610573565b606091505b5091505080806020019051602081101561058c57600080fd5b50519150505b90505b90565b6008546040805163039470bd60e51b8152610539600482015290516001600160a01b039092169163728e17a09160248082019260009290919082900301818387803b1580156105e657600080fd5b505af11580156105fa573d6000803e3d6000fd5b50506040805163248e63e160e11b8152600160048201819052602482018190526044820181905260648201529051737109709ecfa91a80626ff3989d68f67f5b1dd12d935063491cc7c29250608480830192600092919082900301818387803b15801561066657600080fd5b505af115801561067a573d6000803e3d6000fd5b505060405161053992507fe4136584a5e8bb85d66301f3ce8b11cc2e5a8bea3979f10ea2451353849acc479150600090a2600860009054906101000a90046001600160a01b03166001600160a01b0316638156eecf6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156106fb57600080fd5b505af115801561070f573d6000803e3d6000fd5b5050505061079630600860009054906101000a90046001600160a01b03166001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561076557600080fd5b505afa158015610779573d6000803e3d6000fd5b505050506040513d602081101561078f57600080fd5b50516107cb565b565b60005462010000900460ff1681565b60005460ff1681565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b151590565b806001600160a01b0316826001600160a01b0316146108ed577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f506040518080602001828103825260258152602001806135206025913960400191505060405180910390a1604080516001600160a01b0383166020820152818152600a81830152690808115e1c1958dd195960b21b606082015290517f9c4e8541ca8f0dc1c413f9108f66d82d3cecb1bddbce437a61caa3175c4cc96f9181900360800190a1604080516001600160a01b0384166020820152818152600a8183015269080808081058dd1d585b60b21b606082015290517f9c4e8541ca8f0dc1c413f9108f66d82d3cecb1bddbce437a61caa3175c4cc96f9181900360800190a16108ed6108f1565b5050565b6108f96107b0565b15610a7f5760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d60208083018290526519985a5b195960d21b83850152600160608481019190915284518085039091018152608084019094526370ca10bb60e01b60a08401908152845160009593947f70ca10bbd0dbfd9020a9f4b13402c16cb120705e0d1c0aeab10fa353ae586fc4949360a490910191908401908083835b602083106109af5780518252601f199092019160209182019101610990565b6001836020036101000a038019825116818451168082178552505050505050905001925050506040516020818303038152906040526040518082805190602001908083835b60208310610a135780518252601f1990920191602091820191016109f4565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610a75576040519150601f19603f3d011682016040523d82523d6000602084013e610a7a565b606091505b505050505b6000805461ff001916610100179055565b612a5480610a9e8339019056fe60806040523480156200001157600080fd5b506202a300600355600280546001600160a01b031916331790556040805180820190915260048082526322a72d2360e11b60209092019182526200005691816200005d565b50620000f9565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620000a057805160ff1916838001178555620000d0565b82800160010185558215620000d0579182015b82811115620000d0578251825591602001919060010190620000b3565b50620000de929150620000e2565b5090565b5b80821115620000de5760008155600101620000e3565b61294b80620001096000396000f3fe60806040523480156200001157600080fd5b5060043610620001485760003560e01c806377a8c62411620000bd57806397af7050116200007b57806397af7050146200042d5780639c9d48da1462000456578063b47b06001462000487578063d0449d3d1462000509578063d15f9b9c14620005325762000148565b806377a8c62414620003885780637c77b2ed14620003b15780637dad9fc814620003bb5780638156eecf1462000419578063893d20e814620004235762000148565b80633d7c74f8116200010b5780633d7c74f814620002795780634e71e0c814620002a257806366231cea14620002ac578063728e17a014620002e9578063757bc0dd14620003125762000148565b80631df419f7146200014d57806322a0c08b146200016f578063288b6a3614620002225780632fa0c161146200022c57806338b3eb1b1462000248575b600080fd5b6200016d600480360360208110156200016557600080fd5b503562000573565b005b62000206600480360360808110156200018757600080fd5b6001600160a01b0382358116926020810135821692604082013590921691810190608081016060820135640100000000811115620001c457600080fd5b820183602082011115620001d757600080fd5b80359060200191846001830284011164010000000083111715620001fa57600080fd5b50909250905062000646565b604080516001600160a01b039092168252519081900360200190f35b62000206620008df565b62000236620008ee565b60408051918252519081900360200190f35b6200016d600480360360408110156200026057600080fd5b506001600160a01b0381351690602001351515620008f4565b62000206600480360360208110156200029157600080fd5b50356001600160a01b031662000c46565b6200016d62000c67565b620002d560048036036020811015620002c457600080fd5b50356001600160a01b031662000d10565b604080519115158252519081900360200190f35b6200016d600480360360208110156200030157600080fd5b50356001600160a01b031662000d43565b6200016d600480360360208110156200032a57600080fd5b8101906020810181356401000000008111156200034657600080fd5b8201836020820111156200035957600080fd5b803590602001918460018302840111640100000000831117156200037c57600080fd5b50909250905062000ebd565b6200023660048036036020811015620003a057600080fd5b50356001600160a01b031662000f7b565b6200020662000fc4565b620003e460048036036020811015620003d357600080fd5b50356001600160a01b031662000fd3565b604080516001600160a01b03958616815293851660208501529190931682820152606082019290925290519081900360800190f35b6200016d6200106b565b6200020662001147565b6200016d600480360360208110156200044557600080fd5b50356001600160a01b031662001156565b6200016d600480360360408110156200046e57600080fd5b506001600160a01b0381351690602001351515620012e1565b620004916200152a565b6040805160208082528351818301528351919283929083019185019080838360005b83811015620004cd578181015183820152602001620004b3565b50505050905090810190601f168015620004fb5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b620002d5600480360360208110156200052157600080fd5b50356001600160a01b0316620015c4565b6200016d600480360360808110156200054a57600080fd5b506001600160a01b038135811691602081013582169160408201351690606001351515620015e4565b6002546001600160a01b03163314620005be5760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b60035481811415620006025760405162461bcd60e51b815260040180806020018281038252603b81526020018062002904603b913960400191505060405180910390fd5b6003829055604080518281526020810184905281517f481ce28a1145a5d9b59e2d1d7eba33bc3350124def8fdc91032238d343ad5361929181900390910190a15050565b600080546001600160a01b03163314620006925760405162461bcd60e51b8152600401808060200182810382526034815260200180620024b66034913960400191505060405180910390fd5b6200069d8462001832565b620006da5760405162461bcd60e51b815260040180806020018281038252602d8152602001806200269b602d913960400191505060405180910390fd5b6060635c9a6d3760e01b8686868660405160240180856001600160a01b03168152602001846001600160a01b0316815260200180602001828103825284848281815260200192508082843760008382015260408051601f909201601f1990811690940182810390940182529283526020810180516001600160e01b03166001600160e01b0319909b169a909a17909952505196975087968e965062000786955093506200204c92505050565b8080602001836001600160a01b03168152602001828103825284818151815260200191508051906020019080838360005b83811015620007d1578181015183820152602001620007b7565b50505050905090810190601f168015620007ff5780820380516001836020036101000a031916815260200191505b509350505050604051809103906000f08015801562000822573d6000803e3d6000fd5b506001600160a01b0380821660008181526005602090815260409182902080546001600160a01b0319163390811790915582519384528a85169184019190915260609183018281529183018890529395508a8316928a169184917fa50560b448ad796ef60adfeffe1c19ed34daf94c2aa6905d0e209017dbc19f589188918c918c918c919060808201848480828437600083820152604051601f909101601f191690920182900397509095505050505050a4505095945050505050565b6001546001600160a01b031690565b60035490565b620008fe6200205a565b506001600160a01b038083166000908152600660209081526040918290208251608081018452815485168082526001830154861693820193909352600282015490941692840192909252600390910154606083015280620009915760405162461bcd60e51b815260040180806020018281038252603d815260200180620028c7603d913960400191505060405180910390fd5b336001600160a01b03821614620009da5760405162461bcd60e51b81526004018080602001828103825260458152602001806200279c6045913960600191505060405180910390fd5b6000546001600160a01b0382811691161462000a285760405162461bcd60e51b815260040180806020018281038252604f815260200180620025ed604f913960600191505060405180910390fd5b60608201514281111562000a6e5760405162461bcd60e51b8152600401808060200182810382526038815260200180620027296038913960400191505060405180910390fd5b6001600160a01b0380861660009081526005602090815260409182902054908601519186015192169162000aa9600289858886868d62001838565b876001600160a01b0316634140d607826040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050600060405180830381600087803b15801562000af957600080fd5b505af115801562000b0e573d6000803e3d6000fd5b50505050876001600160a01b031663ab9253ac836040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050600060405180830381600087803b15801562000b6257600080fd5b505af115801562000b77573d6000803e3d6000fd5b5050506001600160a01b03808a1660009081526005602090815260408083208054948b166001600160a01b0319958616179055600690915281208054831681556001810180548416905560028101805490931690925560039182015562000be5915089858886868d62001838565b604080516001600160a01b038481168252838116602083015281830187905291518288169286811692908c16917fad6fb3d36e2cda148dfd43203c1a40c0da9a9baa662ae9d6c3b0c3e4a9d6a6359181900360600190a45050505050505050565b6001600160a01b03808216600090815260056020526040902054165b919050565b6001546001600160a01b031633811462000cb35760405162461bcd60e51b815260040180806020018281038252603e8152602001806200281c603e913960400191505060405180910390fd5b600180546001600160a01b0319908116909155600280546001600160a01b0384811693821684179092556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038116600090815260066020526040812060030154801580159062000d3c5750804210155b9392505050565b6002546001600160a01b0316331462000d8e5760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b6001600160a01b03811662000dd55760405162461bcd60e51b8152600401808060200182810382526036815260200180620026c86036913960400191505060405180910390fd5b6002546001600160a01b038281169116141562000e245760405162461bcd60e51b815260040180806020018281038252603b81526020018062002761603b913960400191505060405180910390fd5b6001546001600160a01b038281169116141562000e735760405162461bcd60e51b815260040180806020018281038252603b815260200180620027e1603b913960400191505060405180910390fd5b600180546001600160a01b0319166001600160a01b0383169081179091556040517f132c19de901bb4ed8403c34734b6c841d5dc57745824da452a52433519ea5abf90600090a250565b6002546001600160a01b0316331462000f085760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b62000f166004838362002081565b507ff0115712c23b609855a28d7b8963c6d16d732ae388b11e5d4ec6d5eae4ad8698828260405180806020018281038252848482818152602001925080828437600083820152604051601f909101601f19169092018290039550909350505050a15050565b6001600160a01b0381166000908152600660205260408120600301548062000fa857600091505062000c62565b80421062000fbb57600091505062000c62565b42900392915050565b6000546001600160a01b031690565b60008060008062000fe36200205a565b506001600160a01b038086166000908152600660209081526040918290208251608081018452815485168152600182015485169281019290925260028101549093169181019190915260039091015460608201819052156200106257806000015181602001518260400151836060015194509450945094505062001064565b505b9193509193565b6002546001600160a01b03163314620010b65760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b6001546001600160a01b031680620011005760405162461bcd60e51b81526004018080602001828103825260318152602001806200266a6031913960400191505060405180910390fd5b600180546001600160a01b03191690556040516001600160a01b038216907fe4136584a5e8bb85d66301f3ce8b11cc2e5a8bea3979f10ea2451353849acc4790600090a250565b6002546001600160a01b031690565b6002546001600160a01b03163314620011a15760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b6001600160a01b038116620011e85760405162461bcd60e51b81526004018080602001828103825260398152602001806200258e6039913960400191505060405180910390fd5b620011f38162001832565b620012305760405162461bcd60e51b8152600401808060200182810382526036815260200180620028916036913960400191505060405180910390fd5b6000546001600160a01b03908116908216811415620012815760405162461bcd60e51b81526004018080602001828103825260488152602001806200251a6048913960600191505060405180910390fd5b600080546001600160a01b0319166001600160a01b03848116918217909255604080519284168352602083019190915280517f44cf34a26ccbaa8a20e6098a1278e28682572ec9921eb43d8dab274a503e92f59281900390910190a15050565b620012eb6200205a565b506001600160a01b0380831660009081526006602090815260409182902082516080810184528154851680825260018301548616938201939093526002820154909416928401929092526003909101546060830152806200137e5760405162461bcd60e51b815260040180806020018281038252602c81526020018062002562602c913960400191505060405180910390fd5b336001600160a01b038216148062001407575060408051633ef03e7560e11b815233600482015290516001600160a01b03861691637de07cea916024808301926020929190829003018186803b158015620013d857600080fd5b505afa158015620013ed573d6000803e3d6000fd5b505050506040513d60208110156200140457600080fd5b50515b620014445760405162461bcd60e51b8152600401808060200182810382526026815260200180620025c76026913960400191505060405180910390fd5b6001600160a01b0380851660009081526005602090815260408083205486830151878301516060890151600690955292852080546001600160a01b03199081168255600182018054821690556002820180549091169055600301949094559093169290620014b9600489868887878d62001838565b620014c988858786868c62001bd1565b604080516001600160a01b038581168252848116602083015281830184905291518288169287811692908c16917f9851a8f232c380eb2c1065756776e37d85d4fe0c8cb4005b0d72c749bfef923e9181900360600190a45050505050505050565b60048054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815260609390929091830182828015620015ba5780601f106200158e57610100808354040283529160200191620015ba565b820191906000526020600020905b8154815290600101906020018083116200159c57829003601f168201915b5050505050905090565b6001600160a01b0316600090815260066020526040902060030154151590565b6000546001600160a01b031633146200162f5760405162461bcd60e51b8152600401808060200182810382526034815260200180620024b66034913960400191505060405180910390fd5b6200163a8362001832565b620016775760405162461bcd60e51b8152600401808060200182810382526030815260200180620024ea6030913960400191505060405180910390fd5b6001600160a01b038085166000908152600560205260409020541680620016d05760405162461bcd60e51b815260040180806020018281038252602b815260200180620026fe602b913960400191505060405180910390fd5b336001600160a01b0382168114156200171b5760405162461bcd60e51b81526004018080602001828103825260378152602001806200285a6037913960400191505060405180910390fd5b6200172d600087848489898962001838565b60038054604080516080810182526001600160a01b03808616825289811660208084019182528a831684860190815242909601606085018181528e85166000908152600690935295909120935184549084166001600160a01b0319918216178555915160018086018054928616928516929092179091559551600285018054919094169216919091179091559151930192909255620017d2908885858a8a8a62001838565b604080516001600160a01b038881168252878116602083015281830184905291518285169286811692908b16917fb519c42fdb88f83f098814813f2ebff14fbf14f3e68b054e5a98834c69d54bfb9181900360600190a450505050505050565b3b151590565b60006060866001600160a01b0316633f84c12c60e01b8a8a898989604051602401808660048111156200186757fe5b8152602001856001600160a01b03168152602001846001600160a01b03168152602001836001600160a01b03168152602001826001600160a01b0316815260200195505050505050604051602081830303815290604052906001600160e01b0319166020820180516001600160e01b0383818316178352505050506040518082805190602001908083835b60208310620019135780518252601f199092019160209182019101620018f2565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811462001977576040519150601f19603f3d011682016040523d82523d6000602084013e6200197c565b606091505b50915091508162001bc65782620019938a62001ea1565b826040516020018083805190602001908083835b60208310620019c85780518252601f199092019160209182019101620019a7565b51815160209384036101000a600019018019909216911617905285519190930192850191508083835b6020831062001a125780518252601f199092019160209182019101620019f1565b6001836020036101000a038019825116818451168082178552505050505050905001925050506040516020818303038152906040529062001ad45760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101562001a9857818101518382015260200162001a7e565b50505050905090810190601f16801562001ac65780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50856001600160a01b0316876001600160a01b0316896001600160a01b03167fbf0ae6830883bd89855f2e7b17a2924b5de0b2b3d4a8834d7c2c0d5dc53447db848d8a8a604051808060200185600481111562001b2d57fe5b8152602001846001600160a01b03168152602001836001600160a01b03168152602001828103825286818151815260200191508051906020019080838360005b8381101562001b8757818101518382015260200162001b6d565b50505050905090810190601f16801562001bb55780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a45b505050505050505050565b604080516001600160a01b038881166024830152878116604483015285811660648301528481166084808401919091528351808403909101815260a490920183526020820180516001600160e01b031663df369ba760e01b17815292518251600094606094938a169392918291908083835b6020831062001c645780518252601f19909201916020918201910162001c43565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811462001cc8576040519150601f19603f3d011682016040523d82523d6000602084013e62001ccd565b606091505b50915091508162001e9757828160405160200180807f4d6967726174696f6e4f757443616e63656c486f6f6b3a20000000000000000081525060180182805190602001908083835b6020831062001d365780518252601f19909201916020918201910162001d15565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040516020818303038152906040529062001db95760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831562001a9857818101518382015260200162001a7e565b50856001600160a01b0316876001600160a01b0316896001600160a01b03167f7c79070aa51adb676fb9c8d0f7a1f841ff9cf514444b37c95297ed1c52547b328489896040518080602001846001600160a01b03168152602001836001600160a01b03168152602001828103825285818151815260200191508051906020019080838360005b8381101562001e5957818101518382015260200162001e3f565b50505050905090810190601f16801562001e875780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a45b5050505050505050565b6060600082600481111562001eb257fe5b141562001ef4575060408051808201909152601c81527f4d6967726174696f6e4f7574486f6f6b2e5072655369676e616c3a2000000000602082015262000c62565b600182600481111562001f0357fe5b141562001f45575060408051808201909152601d81527f4d6967726174696f6e4f7574486f6f6b2e506f73745369676e616c3a20000000602082015262000c62565b600282600481111562001f5457fe5b141562001f96575060408051808201909152601d81527f4d6967726174696f6e4f7574486f6f6b2e5072654d6967726174653a20000000602082015262000c62565b600382600481111562001fa557fe5b141562001fe7575060408051808201909152601e81527f4d6967726174696f6e4f7574486f6f6b2e506f73744d6967726174653a200000602082015262000c62565b600482600481111562001ff657fe5b141562002038575060408051808201909152601d81527f4d6967726174696f6e4f7574486f6f6b2e506f737443616e63656c3a20000000602082015262000c62565b505060408051602081019091526000815290565b610398806200211e83390190565b60408051608081018252600080825260208201819052918101829052606081019190915290565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620020c45782800160ff19823516178555620020f4565b82800160010185558215620020f4579182015b82811115620020f4578235825591602001919060010190620020d7565b506200210292915062002106565b5090565b5b808211156200210257600081556001016200210756fe608060405234801561001057600080fd5b506040516103983803806103988339818101604052604081101561003357600080fd5b810190808051604051939291908464010000000082111561005357600080fd5b90830190602082018581111561006857600080fd5b825164010000000081118282018810171561008257600080fd5b82525081516020918201929091019080838360005b838110156100af578181015183820152602001610097565b50505050905090810190601f1680156100dc5780820380516001836020036101000a031916815260200191505b5060408181526020928301516352d1902d60e01b835290519094506001600160a01b03851693506352d1902d92600480840193919291829003018186803b15801561012657600080fd5b505afa15801561013a573d6000803e3d6000fd5b505050506040513d602081101561015057600080fd5b50517f027b9570e9fedc1a80b937ae9a06861e5faef3992491af30b684a64b3fbec7a5146101af5760405162461bcd60e51b81526004018080602001828103825260258152602001806103736025913960400191505060405180910390fd5b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5560006060826001600160a01b0316846040518082805190602001908083835b602083106102105780518252601f1990920191602091820191016101f1565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610270576040519150601f19603f3d011682016040523d82523d6000602084013e610275565b606091505b50915091508181906103055760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156102ca5781810151838201526020016102b2565b50505050905090810190601f1680156102f75780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5050505050605b806103186000396000f3fe60806040527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc543660008037600080366000846127105a03f43d806000803e818015604957816000f35b816000fdfea164736f6c634300060c000a636f6e7374727563746f723a205f7661756c744c6962206e6f7420636f6d70617469626c654f6e6c79207468652063757272656e742046756e644465706c6f7965722063616e2063616c6c20746869732066756e6374696f6e7369676e616c4d6967726174696f6e3a204e6f6e2d636f6e7472616374205f6e6578745661756c744163636573736f7273657443757272656e7446756e644465706c6f7965723a205f6e65787446756e644465706c6f79657220697320616c72656164792063757272656e7446756e644465706c6f79657263616e63656c4d6967726174696f6e3a204e6f206d6967726174696f6e20726571756573742065786973747373657443757272656e7446756e644465706c6f7965723a205f6e65787446756e644465706c6f7965722063616e6e6f7420626520656d70747963616e63656c4d6967726174696f6e3a204e6f7420616e20616c6c6f7765642063616c6c6572657865637574654d6967726174696f6e3a20546865207461726765742046756e644465706c6f796572206973206e6f206c6f6e676572207468652063757272656e742046756e644465706c6f7965724f6e6c792074686520636f6e7472616374206f776e65722063616e2063616c6c20746869732066756e6374696f6e72656d6f76654e6f6d696e617465644f776e65723a205468657265206973206e6f206e6f6d696e61746564206f776e65726465706c6f795661756c7450726f78793a204e6f6e2d636f6e7472616374205f7661756c744163636573736f727365744e6f6d696e617465644f776e65723a205f6e6578744e6f6d696e617465644f776e65722063616e6e6f7420626520656d7074797369676e616c4d6967726174696f6e3a205f7661756c7450726f787920646f6573206e6f74206578697374657865637574654d6967726174696f6e3a20546865206d6967726174696f6e2074696d656c6f636b20686173206e6f7420656c61707365647365744e6f6d696e617465644f776e65723a205f6e6578744e6f6d696e617465644f776e657220697320616c726561647920746865206f776e6572657865637574654d6967726174696f6e3a204f6e6c7920746865207461726765742046756e644465706c6f7965722063616e2063616c6c20746869732066756e6374696f6e7365744e6f6d696e617465644f776e65723a205f6e6578744e6f6d696e617465644f776e657220697320616c7265616479206e6f6d696e61746564636c61696d4f776e6572736869703a204f6e6c7920746865206e6f6d696e617465644f776e65722063616e2063616c6c20746869732066756e6374696f6e7369676e616c4d6967726174696f6e3a2043616e206f6e6c79206d69677261746520746f2061206e65772046756e644465706c6f79657273657443757272656e7446756e644465706c6f7965723a204e6f6e2d636f6e7472616374205f6e65787446756e644465706c6f796572657865637574654d6967726174696f6e3a204e6f206d6967726174696f6e20726571756573742065786973747320666f72205f7661756c7450726f78797365744d6967726174696f6e54696d656c6f636b3a205f6e65787454696d656c6f636b206973207468652063757272656e742074696d656c6f636ba164736f6c634300060c000a4f6e6c792074686520636f6e7472616374206f776e65722063616e2063616c6c20746869732066756e6374696f6e4572726f723a2061203d3d2062206e6f7420736174697366696564205b616464726573735da164736f6c634300060c000a", - "sourceMap": "2483:674:456:-:0;;;1572:26:435;;;-1:-1:-1;;;;1572:26:435;;;1594:4;1572:26;165:28:436;;;;;2483:674:456;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106100885760003560e01c8063ba414fa61161005b578063ba414fa614610169578063cd8591bb14610185578063f8ccbf471461018d578063fa7626d41461019557610088565b80630a9254e41461008d5780633a76846314610097578063511b1df9146100bb5780636e4ac65c14610161575b600080fd5b61009561019d565b005b61009f6101e8565b604080516001600160a01b039092168252519081900360200190f35b61009f600480360360208110156100d157600080fd5b8101906020810181356401000000008111156100ec57600080fd5b8201836020820111156100fe57600080fd5b8035906020019184600183028401116401000000008311171561012057600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610200945050505050565b610095610214565b6101716103d2565b604080519115158252519081900360200190f35b610095610598565b610171610798565b6101716107a7565b6040516101a990610a90565b604051809103906000f0801580156101c5573d6000803e3d6000fd5b50600880546001600160a01b0319166001600160a01b0392909216919091179055565b737109709ecfa91a80626ff3989d68f67f5b1dd12d81565b80516020909101206001600160a01b031690565b6008546040805163039470bd60e51b8152610539600482015290516001600160a01b039092169163728e17a09160248082019260009290919082900301818387803b15801561026257600080fd5b505af1158015610276573d6000803e3d6000fd5b50506040805163ca669fa760e01b815261053960048201529051737109709ecfa91a80626ff3989d68f67f5b1dd12d935063ca669fa79250602480830192600092919082900301818387803b1580156102ce57600080fd5b505af11580156102e2573d6000803e3d6000fd5b505060405163f28dceb360e01b8152602060048201908152602e60248301819052737109709ecfa91a80626ff3989d68f67f5b1dd12d945063f28dceb39350909182916044909101906134f28239604001915050600060405180830381600087803b15801561035057600080fd5b505af1158015610364573d6000803e3d6000fd5b50505050600860009054906101000a90046001600160a01b03166001600160a01b0316638156eecf6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156103b857600080fd5b505af11580156103cc573d6000803e3d6000fd5b50505050565b60008054610100900460ff16156103f45750600054610100900460ff16610595565b60006103fe6107b0565b156105925760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d60208083018290526519985a5b195960d21b838501528351808403850181526060848101909552630667f9d760e41b60808501908152815193947f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc494929391926084909101918401908083835b602083106104a85780518252601f199092019160209182019101610489565b6001836020036101000a038019825116818451168082178552505050505050905001925050506040516020818303038152906040526040518082805190602001908083835b6020831061050c5780518252601f1990920191602091820191016104ed565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811461056e576040519150601f19603f3d011682016040523d82523d6000602084013e610573565b606091505b5091505080806020019051602081101561058c57600080fd5b50519150505b90505b90565b6008546040805163039470bd60e51b8152610539600482015290516001600160a01b039092169163728e17a09160248082019260009290919082900301818387803b1580156105e657600080fd5b505af11580156105fa573d6000803e3d6000fd5b50506040805163248e63e160e11b8152600160048201819052602482018190526044820181905260648201529051737109709ecfa91a80626ff3989d68f67f5b1dd12d935063491cc7c29250608480830192600092919082900301818387803b15801561066657600080fd5b505af115801561067a573d6000803e3d6000fd5b505060405161053992507fe4136584a5e8bb85d66301f3ce8b11cc2e5a8bea3979f10ea2451353849acc479150600090a2600860009054906101000a90046001600160a01b03166001600160a01b0316638156eecf6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156106fb57600080fd5b505af115801561070f573d6000803e3d6000fd5b5050505061079630600860009054906101000a90046001600160a01b03166001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561076557600080fd5b505afa158015610779573d6000803e3d6000fd5b505050506040513d602081101561078f57600080fd5b50516107cb565b565b60005462010000900460ff1681565b60005460ff1681565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b151590565b806001600160a01b0316826001600160a01b0316146108ed577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f506040518080602001828103825260258152602001806135206025913960400191505060405180910390a1604080516001600160a01b0383166020820152818152600a81830152690808115e1c1958dd195960b21b606082015290517f9c4e8541ca8f0dc1c413f9108f66d82d3cecb1bddbce437a61caa3175c4cc96f9181900360800190a1604080516001600160a01b0384166020820152818152600a8183015269080808081058dd1d585b60b21b606082015290517f9c4e8541ca8f0dc1c413f9108f66d82d3cecb1bddbce437a61caa3175c4cc96f9181900360800190a16108ed6108f1565b5050565b6108f96107b0565b15610a7f5760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d60208083018290526519985a5b195960d21b83850152600160608481019190915284518085039091018152608084019094526370ca10bb60e01b60a08401908152845160009593947f70ca10bbd0dbfd9020a9f4b13402c16cb120705e0d1c0aeab10fa353ae586fc4949360a490910191908401908083835b602083106109af5780518252601f199092019160209182019101610990565b6001836020036101000a038019825116818451168082178552505050505050905001925050506040516020818303038152906040526040518082805190602001908083835b60208310610a135780518252601f1990920191602091820191016109f4565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610a75576040519150601f19603f3d011682016040523d82523d6000602084013e610a7a565b606091505b505050505b6000805461ff001916610100179055565b612a5480610a9e8339019056fe60806040523480156200001157600080fd5b506202a300600355600280546001600160a01b031916331790556040805180820190915260048082526322a72d2360e11b60209092019182526200005691816200005d565b50620000f9565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620000a057805160ff1916838001178555620000d0565b82800160010185558215620000d0579182015b82811115620000d0578251825591602001919060010190620000b3565b50620000de929150620000e2565b5090565b5b80821115620000de5760008155600101620000e3565b61294b80620001096000396000f3fe60806040523480156200001157600080fd5b5060043610620001485760003560e01c806377a8c62411620000bd57806397af7050116200007b57806397af7050146200042d5780639c9d48da1462000456578063b47b06001462000487578063d0449d3d1462000509578063d15f9b9c14620005325762000148565b806377a8c62414620003885780637c77b2ed14620003b15780637dad9fc814620003bb5780638156eecf1462000419578063893d20e814620004235762000148565b80633d7c74f8116200010b5780633d7c74f814620002795780634e71e0c814620002a257806366231cea14620002ac578063728e17a014620002e9578063757bc0dd14620003125762000148565b80631df419f7146200014d57806322a0c08b146200016f578063288b6a3614620002225780632fa0c161146200022c57806338b3eb1b1462000248575b600080fd5b6200016d600480360360208110156200016557600080fd5b503562000573565b005b62000206600480360360808110156200018757600080fd5b6001600160a01b0382358116926020810135821692604082013590921691810190608081016060820135640100000000811115620001c457600080fd5b820183602082011115620001d757600080fd5b80359060200191846001830284011164010000000083111715620001fa57600080fd5b50909250905062000646565b604080516001600160a01b039092168252519081900360200190f35b62000206620008df565b62000236620008ee565b60408051918252519081900360200190f35b6200016d600480360360408110156200026057600080fd5b506001600160a01b0381351690602001351515620008f4565b62000206600480360360208110156200029157600080fd5b50356001600160a01b031662000c46565b6200016d62000c67565b620002d560048036036020811015620002c457600080fd5b50356001600160a01b031662000d10565b604080519115158252519081900360200190f35b6200016d600480360360208110156200030157600080fd5b50356001600160a01b031662000d43565b6200016d600480360360208110156200032a57600080fd5b8101906020810181356401000000008111156200034657600080fd5b8201836020820111156200035957600080fd5b803590602001918460018302840111640100000000831117156200037c57600080fd5b50909250905062000ebd565b6200023660048036036020811015620003a057600080fd5b50356001600160a01b031662000f7b565b6200020662000fc4565b620003e460048036036020811015620003d357600080fd5b50356001600160a01b031662000fd3565b604080516001600160a01b03958616815293851660208501529190931682820152606082019290925290519081900360800190f35b6200016d6200106b565b6200020662001147565b6200016d600480360360208110156200044557600080fd5b50356001600160a01b031662001156565b6200016d600480360360408110156200046e57600080fd5b506001600160a01b0381351690602001351515620012e1565b620004916200152a565b6040805160208082528351818301528351919283929083019185019080838360005b83811015620004cd578181015183820152602001620004b3565b50505050905090810190601f168015620004fb5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b620002d5600480360360208110156200052157600080fd5b50356001600160a01b0316620015c4565b6200016d600480360360808110156200054a57600080fd5b506001600160a01b038135811691602081013582169160408201351690606001351515620015e4565b6002546001600160a01b03163314620005be5760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b60035481811415620006025760405162461bcd60e51b815260040180806020018281038252603b81526020018062002904603b913960400191505060405180910390fd5b6003829055604080518281526020810184905281517f481ce28a1145a5d9b59e2d1d7eba33bc3350124def8fdc91032238d343ad5361929181900390910190a15050565b600080546001600160a01b03163314620006925760405162461bcd60e51b8152600401808060200182810382526034815260200180620024b66034913960400191505060405180910390fd5b6200069d8462001832565b620006da5760405162461bcd60e51b815260040180806020018281038252602d8152602001806200269b602d913960400191505060405180910390fd5b6060635c9a6d3760e01b8686868660405160240180856001600160a01b03168152602001846001600160a01b0316815260200180602001828103825284848281815260200192508082843760008382015260408051601f909201601f1990811690940182810390940182529283526020810180516001600160e01b03166001600160e01b0319909b169a909a17909952505196975087968e965062000786955093506200204c92505050565b8080602001836001600160a01b03168152602001828103825284818151815260200191508051906020019080838360005b83811015620007d1578181015183820152602001620007b7565b50505050905090810190601f168015620007ff5780820380516001836020036101000a031916815260200191505b509350505050604051809103906000f08015801562000822573d6000803e3d6000fd5b506001600160a01b0380821660008181526005602090815260409182902080546001600160a01b0319163390811790915582519384528a85169184019190915260609183018281529183018890529395508a8316928a169184917fa50560b448ad796ef60adfeffe1c19ed34daf94c2aa6905d0e209017dbc19f589188918c918c918c919060808201848480828437600083820152604051601f909101601f191690920182900397509095505050505050a4505095945050505050565b6001546001600160a01b031690565b60035490565b620008fe6200205a565b506001600160a01b038083166000908152600660209081526040918290208251608081018452815485168082526001830154861693820193909352600282015490941692840192909252600390910154606083015280620009915760405162461bcd60e51b815260040180806020018281038252603d815260200180620028c7603d913960400191505060405180910390fd5b336001600160a01b03821614620009da5760405162461bcd60e51b81526004018080602001828103825260458152602001806200279c6045913960600191505060405180910390fd5b6000546001600160a01b0382811691161462000a285760405162461bcd60e51b815260040180806020018281038252604f815260200180620025ed604f913960600191505060405180910390fd5b60608201514281111562000a6e5760405162461bcd60e51b8152600401808060200182810382526038815260200180620027296038913960400191505060405180910390fd5b6001600160a01b0380861660009081526005602090815260409182902054908601519186015192169162000aa9600289858886868d62001838565b876001600160a01b0316634140d607826040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050600060405180830381600087803b15801562000af957600080fd5b505af115801562000b0e573d6000803e3d6000fd5b50505050876001600160a01b031663ab9253ac836040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050600060405180830381600087803b15801562000b6257600080fd5b505af115801562000b77573d6000803e3d6000fd5b5050506001600160a01b03808a1660009081526005602090815260408083208054948b166001600160a01b0319958616179055600690915281208054831681556001810180548416905560028101805490931690925560039182015562000be5915089858886868d62001838565b604080516001600160a01b038481168252838116602083015281830187905291518288169286811692908c16917fad6fb3d36e2cda148dfd43203c1a40c0da9a9baa662ae9d6c3b0c3e4a9d6a6359181900360600190a45050505050505050565b6001600160a01b03808216600090815260056020526040902054165b919050565b6001546001600160a01b031633811462000cb35760405162461bcd60e51b815260040180806020018281038252603e8152602001806200281c603e913960400191505060405180910390fd5b600180546001600160a01b0319908116909155600280546001600160a01b0384811693821684179092556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038116600090815260066020526040812060030154801580159062000d3c5750804210155b9392505050565b6002546001600160a01b0316331462000d8e5760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b6001600160a01b03811662000dd55760405162461bcd60e51b8152600401808060200182810382526036815260200180620026c86036913960400191505060405180910390fd5b6002546001600160a01b038281169116141562000e245760405162461bcd60e51b815260040180806020018281038252603b81526020018062002761603b913960400191505060405180910390fd5b6001546001600160a01b038281169116141562000e735760405162461bcd60e51b815260040180806020018281038252603b815260200180620027e1603b913960400191505060405180910390fd5b600180546001600160a01b0319166001600160a01b0383169081179091556040517f132c19de901bb4ed8403c34734b6c841d5dc57745824da452a52433519ea5abf90600090a250565b6002546001600160a01b0316331462000f085760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b62000f166004838362002081565b507ff0115712c23b609855a28d7b8963c6d16d732ae388b11e5d4ec6d5eae4ad8698828260405180806020018281038252848482818152602001925080828437600083820152604051601f909101601f19169092018290039550909350505050a15050565b6001600160a01b0381166000908152600660205260408120600301548062000fa857600091505062000c62565b80421062000fbb57600091505062000c62565b42900392915050565b6000546001600160a01b031690565b60008060008062000fe36200205a565b506001600160a01b038086166000908152600660209081526040918290208251608081018452815485168152600182015485169281019290925260028101549093169181019190915260039091015460608201819052156200106257806000015181602001518260400151836060015194509450945094505062001064565b505b9193509193565b6002546001600160a01b03163314620010b65760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b6001546001600160a01b031680620011005760405162461bcd60e51b81526004018080602001828103825260318152602001806200266a6031913960400191505060405180910390fd5b600180546001600160a01b03191690556040516001600160a01b038216907fe4136584a5e8bb85d66301f3ce8b11cc2e5a8bea3979f10ea2451353849acc4790600090a250565b6002546001600160a01b031690565b6002546001600160a01b03163314620011a15760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b6001600160a01b038116620011e85760405162461bcd60e51b81526004018080602001828103825260398152602001806200258e6039913960400191505060405180910390fd5b620011f38162001832565b620012305760405162461bcd60e51b8152600401808060200182810382526036815260200180620028916036913960400191505060405180910390fd5b6000546001600160a01b03908116908216811415620012815760405162461bcd60e51b81526004018080602001828103825260488152602001806200251a6048913960600191505060405180910390fd5b600080546001600160a01b0319166001600160a01b03848116918217909255604080519284168352602083019190915280517f44cf34a26ccbaa8a20e6098a1278e28682572ec9921eb43d8dab274a503e92f59281900390910190a15050565b620012eb6200205a565b506001600160a01b0380831660009081526006602090815260409182902082516080810184528154851680825260018301548616938201939093526002820154909416928401929092526003909101546060830152806200137e5760405162461bcd60e51b815260040180806020018281038252602c81526020018062002562602c913960400191505060405180910390fd5b336001600160a01b038216148062001407575060408051633ef03e7560e11b815233600482015290516001600160a01b03861691637de07cea916024808301926020929190829003018186803b158015620013d857600080fd5b505afa158015620013ed573d6000803e3d6000fd5b505050506040513d60208110156200140457600080fd5b50515b620014445760405162461bcd60e51b8152600401808060200182810382526026815260200180620025c76026913960400191505060405180910390fd5b6001600160a01b0380851660009081526005602090815260408083205486830151878301516060890151600690955292852080546001600160a01b03199081168255600182018054821690556002820180549091169055600301949094559093169290620014b9600489868887878d62001838565b620014c988858786868c62001bd1565b604080516001600160a01b038581168252848116602083015281830184905291518288169287811692908c16917f9851a8f232c380eb2c1065756776e37d85d4fe0c8cb4005b0d72c749bfef923e9181900360600190a45050505050505050565b60048054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815260609390929091830182828015620015ba5780601f106200158e57610100808354040283529160200191620015ba565b820191906000526020600020905b8154815290600101906020018083116200159c57829003601f168201915b5050505050905090565b6001600160a01b0316600090815260066020526040902060030154151590565b6000546001600160a01b031633146200162f5760405162461bcd60e51b8152600401808060200182810382526034815260200180620024b66034913960400191505060405180910390fd5b6200163a8362001832565b620016775760405162461bcd60e51b8152600401808060200182810382526030815260200180620024ea6030913960400191505060405180910390fd5b6001600160a01b038085166000908152600560205260409020541680620016d05760405162461bcd60e51b815260040180806020018281038252602b815260200180620026fe602b913960400191505060405180910390fd5b336001600160a01b0382168114156200171b5760405162461bcd60e51b81526004018080602001828103825260378152602001806200285a6037913960400191505060405180910390fd5b6200172d600087848489898962001838565b60038054604080516080810182526001600160a01b03808616825289811660208084019182528a831684860190815242909601606085018181528e85166000908152600690935295909120935184549084166001600160a01b0319918216178555915160018086018054928616928516929092179091559551600285018054919094169216919091179091559151930192909255620017d2908885858a8a8a62001838565b604080516001600160a01b038881168252878116602083015281830184905291518285169286811692908b16917fb519c42fdb88f83f098814813f2ebff14fbf14f3e68b054e5a98834c69d54bfb9181900360600190a450505050505050565b3b151590565b60006060866001600160a01b0316633f84c12c60e01b8a8a898989604051602401808660048111156200186757fe5b8152602001856001600160a01b03168152602001846001600160a01b03168152602001836001600160a01b03168152602001826001600160a01b0316815260200195505050505050604051602081830303815290604052906001600160e01b0319166020820180516001600160e01b0383818316178352505050506040518082805190602001908083835b60208310620019135780518252601f199092019160209182019101620018f2565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811462001977576040519150601f19603f3d011682016040523d82523d6000602084013e6200197c565b606091505b50915091508162001bc65782620019938a62001ea1565b826040516020018083805190602001908083835b60208310620019c85780518252601f199092019160209182019101620019a7565b51815160209384036101000a600019018019909216911617905285519190930192850191508083835b6020831062001a125780518252601f199092019160209182019101620019f1565b6001836020036101000a038019825116818451168082178552505050505050905001925050506040516020818303038152906040529062001ad45760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101562001a9857818101518382015260200162001a7e565b50505050905090810190601f16801562001ac65780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50856001600160a01b0316876001600160a01b0316896001600160a01b03167fbf0ae6830883bd89855f2e7b17a2924b5de0b2b3d4a8834d7c2c0d5dc53447db848d8a8a604051808060200185600481111562001b2d57fe5b8152602001846001600160a01b03168152602001836001600160a01b03168152602001828103825286818151815260200191508051906020019080838360005b8381101562001b8757818101518382015260200162001b6d565b50505050905090810190601f16801562001bb55780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a45b505050505050505050565b604080516001600160a01b038881166024830152878116604483015285811660648301528481166084808401919091528351808403909101815260a490920183526020820180516001600160e01b031663df369ba760e01b17815292518251600094606094938a169392918291908083835b6020831062001c645780518252601f19909201916020918201910162001c43565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811462001cc8576040519150601f19603f3d011682016040523d82523d6000602084013e62001ccd565b606091505b50915091508162001e9757828160405160200180807f4d6967726174696f6e4f757443616e63656c486f6f6b3a20000000000000000081525060180182805190602001908083835b6020831062001d365780518252601f19909201916020918201910162001d15565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040516020818303038152906040529062001db95760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831562001a9857818101518382015260200162001a7e565b50856001600160a01b0316876001600160a01b0316896001600160a01b03167f7c79070aa51adb676fb9c8d0f7a1f841ff9cf514444b37c95297ed1c52547b328489896040518080602001846001600160a01b03168152602001836001600160a01b03168152602001828103825285818151815260200191508051906020019080838360005b8381101562001e5957818101518382015260200162001e3f565b50505050905090810190601f16801562001e875780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a45b5050505050505050565b6060600082600481111562001eb257fe5b141562001ef4575060408051808201909152601c81527f4d6967726174696f6e4f7574486f6f6b2e5072655369676e616c3a2000000000602082015262000c62565b600182600481111562001f0357fe5b141562001f45575060408051808201909152601d81527f4d6967726174696f6e4f7574486f6f6b2e506f73745369676e616c3a20000000602082015262000c62565b600282600481111562001f5457fe5b141562001f96575060408051808201909152601d81527f4d6967726174696f6e4f7574486f6f6b2e5072654d6967726174653a20000000602082015262000c62565b600382600481111562001fa557fe5b141562001fe7575060408051808201909152601e81527f4d6967726174696f6e4f7574486f6f6b2e506f73744d6967726174653a200000602082015262000c62565b600482600481111562001ff657fe5b141562002038575060408051808201909152601d81527f4d6967726174696f6e4f7574486f6f6b2e506f737443616e63656c3a20000000602082015262000c62565b505060408051602081019091526000815290565b610398806200211e83390190565b60408051608081018252600080825260208201819052918101829052606081019190915290565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620020c45782800160ff19823516178555620020f4565b82800160010185558215620020f4579182015b82811115620020f4578235825591602001919060010190620020d7565b506200210292915062002106565b5090565b5b808211156200210257600081556001016200210756fe608060405234801561001057600080fd5b506040516103983803806103988339818101604052604081101561003357600080fd5b810190808051604051939291908464010000000082111561005357600080fd5b90830190602082018581111561006857600080fd5b825164010000000081118282018810171561008257600080fd5b82525081516020918201929091019080838360005b838110156100af578181015183820152602001610097565b50505050905090810190601f1680156100dc5780820380516001836020036101000a031916815260200191505b5060408181526020928301516352d1902d60e01b835290519094506001600160a01b03851693506352d1902d92600480840193919291829003018186803b15801561012657600080fd5b505afa15801561013a573d6000803e3d6000fd5b505050506040513d602081101561015057600080fd5b50517f027b9570e9fedc1a80b937ae9a06861e5faef3992491af30b684a64b3fbec7a5146101af5760405162461bcd60e51b81526004018080602001828103825260258152602001806103736025913960400191505060405180910390fd5b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5560006060826001600160a01b0316846040518082805190602001908083835b602083106102105780518252601f1990920191602091820191016101f1565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610270576040519150601f19603f3d011682016040523d82523d6000602084013e610275565b606091505b50915091508181906103055760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156102ca5781810151838201526020016102b2565b50505050905090810190601f1680156102f75780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5050505050605b806103186000396000f3fe60806040527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc543660008037600080366000846127105a03f43d806000803e818015604957816000f35b816000fdfea164736f6c634300060c000a636f6e7374727563746f723a205f7661756c744c6962206e6f7420636f6d70617469626c654f6e6c79207468652063757272656e742046756e644465706c6f7965722063616e2063616c6c20746869732066756e6374696f6e7369676e616c4d6967726174696f6e3a204e6f6e2d636f6e7472616374205f6e6578745661756c744163636573736f7273657443757272656e7446756e644465706c6f7965723a205f6e65787446756e644465706c6f79657220697320616c72656164792063757272656e7446756e644465706c6f79657263616e63656c4d6967726174696f6e3a204e6f206d6967726174696f6e20726571756573742065786973747373657443757272656e7446756e644465706c6f7965723a205f6e65787446756e644465706c6f7965722063616e6e6f7420626520656d70747963616e63656c4d6967726174696f6e3a204e6f7420616e20616c6c6f7765642063616c6c6572657865637574654d6967726174696f6e3a20546865207461726765742046756e644465706c6f796572206973206e6f206c6f6e676572207468652063757272656e742046756e644465706c6f7965724f6e6c792074686520636f6e7472616374206f776e65722063616e2063616c6c20746869732066756e6374696f6e72656d6f76654e6f6d696e617465644f776e65723a205468657265206973206e6f206e6f6d696e61746564206f776e65726465706c6f795661756c7450726f78793a204e6f6e2d636f6e7472616374205f7661756c744163636573736f727365744e6f6d696e617465644f776e65723a205f6e6578744e6f6d696e617465644f776e65722063616e6e6f7420626520656d7074797369676e616c4d6967726174696f6e3a205f7661756c7450726f787920646f6573206e6f74206578697374657865637574654d6967726174696f6e3a20546865206d6967726174696f6e2074696d656c6f636b20686173206e6f7420656c61707365647365744e6f6d696e617465644f776e65723a205f6e6578744e6f6d696e617465644f776e657220697320616c726561647920746865206f776e6572657865637574654d6967726174696f6e3a204f6e6c7920746865207461726765742046756e644465706c6f7965722063616e2063616c6c20746869732066756e6374696f6e7365744e6f6d696e617465644f776e65723a205f6e6578744e6f6d696e617465644f776e657220697320616c7265616479206e6f6d696e61746564636c61696d4f776e6572736869703a204f6e6c7920746865206e6f6d696e617465644f776e65722063616e2063616c6c20746869732066756e6374696f6e7369676e616c4d6967726174696f6e3a2043616e206f6e6c79206d69677261746520746f2061206e65772046756e644465706c6f79657273657443757272656e7446756e644465706c6f7965723a204e6f6e2d636f6e7472616374205f6e65787446756e644465706c6f796572657865637574654d6967726174696f6e3a204e6f206d6967726174696f6e20726571756573742065786973747320666f72205f7661756c7450726f78797365744d6967726174696f6e54696d656c6f636b3a205f6e65787454696d656c6f636b206973207468652063757272656e742074696d656c6f636ba164736f6c634300060c000a4f6e6c792074686520636f6e7472616374206f776e65722063616e2063616c6c20746869732066756e6374696f6e4572726f723a2061203d3d2062206e6f7420736174697366696564205b616464726573735da164736f6c634300060c000a", - "sourceMap": "2483:674:456:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;823:78;;;:::i;:::-;;316:38:436;;;:::i;:::-;;;;-1:-1:-1;;;;;316:38:436;;;;;;;;;;;;;;669:148:456;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;669:148:456;;-1:-1:-1;669:148:456;;-1:-1:-1;;;;;669:148:456:i;2904:251::-;;;:::i;1819:584:435:-;;;:::i;:::-;;;;;;;;;;;;;;;;;;2607:291:456;;;:::i;165:28:436:-;;;:::i;1572:26:435:-;;;:::i;823:78:456:-;878:16;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;865:10:456;:29;;-1:-1:-1;;;;;;865:29:456;-1:-1:-1;;;;;865:29:456;;;;;;;;;;823:78::o;316:38:436:-;245:64;316:38;:::o;669:148:456:-;783:23;;;;;;;-1:-1:-1;;;;;751:59:456;;669:148::o;2904:251::-;2953:10;;:43;;;-1:-1:-1;;;2953:43:456;;2990:4;2953:43;;;;;;-1:-1:-1;;;;;2953:10:456;;;;:28;;:43;;;;;:10;;:43;;;;;;;;:10;;:43;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3007:23:456;;;-1:-1:-1;;;3007:23:456;;3024:4;3007:23;;;;;;245:64:436;;-1:-1:-1;3007:8:456;;-1:-1:-1;3007:23:456;;;;;269:37:436;;3007:23:456;;;;;;;269:37:436;245:64;3007:23:456;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3040:65:456;;-1:-1:-1;;;3040:65:456;;;;;;;;;;;;;;;;245:64:436;;-1:-1:-1;3040:15:456;;-1:-1:-1;3040:65:456;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3115:10;;;;;;;;;-1:-1:-1;;;;;3115:10:456;-1:-1:-1;;;;;3115:31:456;;:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2904:251::o;1819:584:435:-;1853:4;1873:7;;;;;;;1869:528;;;-1:-1:-1;1903:7:435;;;;;;;1896:14;;1869:528;1941:17;1984:16;:14;:16::i;:::-;1980:374;;;2196:43;;;1671:64;2196:43;;;;;;;-1:-1:-1;;;2196:43:435;;;;;;;;;;;;;2023:20;2196:43;;;;;;-1:-1:-1;;;2086:175:435;;;;;;;;1671:64;;2135:34;;2196:43;;2086:175;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2086:175:435;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2047:232;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2047:232:435;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2020:259;;;2323:7;2312:27;;;;;;;;;;;;;;;-1:-1:-1;2312:27:435;;-1:-1:-1;;1980:374:435;2374:12;-1:-1:-1;1869:528:435;1819:584;:::o;2607:291:456:-;2649:10;;:43;;;-1:-1:-1;;;2649:43:456;;2686:4;2649:43;;;;;;-1:-1:-1;;;;;2649:10:456;;;;:28;;:43;;;;;:10;;:43;;;;;;;;:10;;:43;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2703:37:456;;;-1:-1:-1;;;2703:37:456;;2717:4;2703:37;;;;;;;;;;;;;;;;;;;;;;;;245:64:436;;-1:-1:-1;2703:13:456;;-1:-1:-1;2703:37:456;;;;;269::436;;2703::456;;;;;;;269::436;245:64;2703:37:456;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2755:36:456;;2785:4;;-1:-1:-1;2755:36:456;;-1:-1:-1;2755:36:456;;;2802:10;;;;;;;;;-1:-1:-1;;;;;2802:10:456;-1:-1:-1;;;;;2802:31:456;;:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2845:46;2862:4;2869:10;;;;;;;;;-1:-1:-1;;;;;2869:10:456;-1:-1:-1;;;;;2869:19:456;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2869:21:456;2845:8;:46::i;:::-;2607:291::o;165:28:436:-;;;;;;;;;:::o;1572:26:435:-;;;;;;:::o;2840:242::-;2990:42;2978:55;3059:16;;2840:242;:::o;3615:277::-;3683:1;-1:-1:-1;;;;;3678:6:435;:1;-1:-1:-1;;;;;3678:6:435;;3674:212;;3705:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3768:34;;;-1:-1:-1;;;;;3768:34:435;;;;;;;;;;;;;;-1:-1:-1;;;3768:34:435;;;;;;;;;;;;;;;3821;;;-1:-1:-1;;;;;3821:34:435;;;;;;;;;;;;;;-1:-1:-1;;;3821:34:435;;;;;;;;;;;;;;;3869:6;:4;:6::i;:::-;3615:277;;:::o;2410:424::-;2449:16;:14;:16::i;:::-;2445:359;;;2645:67;;;1671:64;2645:67;;;;;;;-1:-1:-1;;;2645:67:435;;;;2705:4;1679:55;2645:67;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2534:196:435;;;;;;;;2482:11;;1671:64;;2579:43;;2645:67;2534:196;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2534:196:435;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2499:245;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2499:245:435;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;2445:359:435;2813:7;:14;;-1:-1:-1;;2813:14:435;;;;;2410:424::o;-1:-1:-1:-;;;;;;;;:::o", - "linkReferences": {} - }, - "methodIdentifiers": { - "IS_SCRIPT()": "f8ccbf47", - "IS_TEST()": "fa7626d4", - "addr(string)": "511b1df9", - "failed()": "ba414fa6", - "setUp()": "0a9254e4", - "testAnonCannotRemove()": "6e4ac65c", - "testHappyPath()": "cd8591bb", - "vm()": "3a768463" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"nominatedOwner\",\"type\":\"address\"}],\"name\":\"NominatedOwnerRemoved\",\"type\":\"event\"},{\"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_SCRIPT\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"}],\"name\":\"addr\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"setUp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testAnonCannotRemove\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testHappyPath\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"vm\",\"outputs\":[{\"internalType\":\"contract Vm\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"tests/persistent/Dispatcher.t.sol\":\"RemoveNominatedOwnerTest\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/mocks/MockVaultLib.sol\":{\"keccak256\":\"0x14d298c9cd4411cc6260fe50b93a1da572c5ddee7bfca377dd35403741c4e3b6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://e51c048dc4e2c9117fff0ecd4ab94d09701b9cd89247db8608c1a491c7374635\",\"dweb:/ipfs/QmYkH9dXQp1EEMfrcGPUTc3ey4o2UtvG91vDxjgQzwUuHE\"]},\"contracts/persistent/dispatcher/Dispatcher.sol\":{\"keccak256\":\"0x0590285e72005e40573fcc93e95aa75a5963bdcf5b02a627c73d8bc982f9d850\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://e9f2190a9ba01ec1f03b5159387c3864b9700337f3d7b07ec0758bbde52d32e2\",\"dweb:/ipfs/QmX5gevftdWC5xzSVcmVn14aFhKgweCXAhndZ8ZECN92fj\"]},\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/dispatcher/IMigrationHookHandler.sol\":{\"keccak256\":\"0x4cec61ef58c1d2e7693ee954c3582b1a04ff836a569e216edb7526c7e56a5632\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://0acae6d91e3e20e6ebd46cbeff926967a2d64f3d8eb2e3cdff20366917a77879\",\"dweb:/ipfs/Qmd44oJngTNRnwXdDwtNd9o4UvTgxAmBGikz3QMPKf4NWy\"]},\"contracts/persistent/vault/VaultLibBaseCore.sol\":{\"keccak256\":\"0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd\",\"dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz\"]},\"contracts/persistent/vault/VaultProxy.sol\":{\"keccak256\":\"0x08ff12cb7955ab80cf35f98a5abae23a92f655916669986d1580cb394f6b6bb3\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://320fcccd67d3390d6762bdef41f7d5e679e61b3244b1d945fc33402ea684bc3a\",\"dweb:/ipfs/Qmaaxqgm4EzF1r4n52pkjs7bA5quKhVwrh356rTFXDj86L\"]},\"contracts/persistent/vault/interfaces/IMigratableVault.sol\":{\"keccak256\":\"0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6\",\"dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs\"]},\"contracts/persistent/vault/utils/ProxiableVaultLib.sol\":{\"keccak256\":\"0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44\",\"dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4\"]},\"contracts/persistent/vault/utils/SharesTokenBase.sol\":{\"keccak256\":\"0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8\",\"dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4\"]},\"contracts/persistent/vault/utils/VaultLibSafeMath.sol\":{\"keccak256\":\"0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02\",\"dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG\"]},\"lib/forge-std/lib/ds-test/src/test.sol\":{\"keccak256\":\"0xb39cd1d5220cb474947b131e15a4538334b7e886af244b440ae5c9c6bba96a54\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://3101520221449ac0070bda3881311a71d9aa87e5210765e875246922cb5cb5f5\",\"dweb:/ipfs/Qmbg6kAHNoG7ox9N9Xqd9Ere2H2XixMFWFqvyPwFCzB3Gr\"]},\"lib/forge-std/src/Script.sol\":{\"keccak256\":\"0x4424dbcb8f5b741475445726f87408fcd89951fad973bec2ca442ee157f910e7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5b0b9f6dfb69245d8f888558ae82bf1d2cdeace46201444fe4b2e6a5283f944a\",\"dweb:/ipfs/QmWFSKeFEZngNcwNn7A84EF7pASo5qe6r5oK24r9Kwca7Z\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0xa85dee62f7a3d7d3b26051f28d08bbfaa6d76888b8e64395583c35f11070372b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f3ecace3d6120731c4520f651c36658940df958755a2c86d6bf0ec895320a915\",\"dweb:/ipfs/QmVGbUYLtMsAYF3C27qHKs3VHRuRNDypuDfs4XGK47kqUT\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x63fc2487cf3a6650d933e18bcb61766f15f74c327192381806ea00f8f6446f66\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aad99f7b2ed3b11ff6c17b84b4196c562898640a80cabc2c28c87c116099a00f\",\"dweb:/ipfs/QmQNNbxHabRycegyXwJWBDutrdcScAP2SU5zEvorWEaFpx\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0xbeb823fcdb356244a83aaccdf828ad019ecc1ffaa3dff18e624fc6d5714ea671\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4cbe9400340e5f9ec55e2aff3bad1c15fa3afbbe37e80800e6f3fed2ad26854f\",\"dweb:/ipfs/QmdJBABsuXkvWxVzEyGXsTE3vyfBPXDdw5xvvtUz3JeoYW\"]},\"tests/persistent/Dispatcher.t.sol\":{\"keccak256\":\"0x9f19e0376c4d2fa61f4c50089a46d54b7a1d464b31413aeb4147da02b44cd298\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://e9f733c425d149594c2044229dd51e543d330cfb11b7825dfd59631a3aabd71d\",\"dweb:/ipfs/QmY3c9daKiMH2W9qbq94TekosaySFV44ZUXsGuBfigo832\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "nominatedOwner", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "NominatedOwnerRemoved", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "", - "type": "string", - "indexed": false - } - ], - "type": "event", - "name": "log", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "log_address", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "uint256[]", - "name": "val", - "type": "uint256[]", - "indexed": false - } - ], - "type": "event", - "name": "log_array", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "int256[]", - "name": "val", - "type": "int256[]", - "indexed": false - } - ], - "type": "event", - "name": "log_array", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "val", - "type": "address[]", - "indexed": false - } - ], - "type": "event", - "name": "log_array", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes", - "indexed": false - } - ], - "type": "event", - "name": "log_bytes", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32", - "indexed": false - } - ], - "type": "event", - "name": "log_bytes32", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "int256", - "name": "", - "type": "int256", - "indexed": false - } - ], - "type": "event", - "name": "log_int", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "key", - "type": "string", - "indexed": false - }, - { - "internalType": "address", - "name": "val", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "log_named_address", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "key", - "type": "string", - "indexed": false - }, - { - "internalType": "uint256[]", - "name": "val", - "type": "uint256[]", - "indexed": false - } - ], - "type": "event", - "name": "log_named_array", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "key", - "type": "string", - "indexed": false - }, - { - "internalType": "int256[]", - "name": "val", - "type": "int256[]", - "indexed": false - } - ], - "type": "event", - "name": "log_named_array", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "key", - "type": "string", - "indexed": false - }, - { - "internalType": "address[]", - "name": "val", - "type": "address[]", - "indexed": false - } - ], - "type": "event", - "name": "log_named_array", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "key", - "type": "string", - "indexed": false - }, - { - "internalType": "bytes", - "name": "val", - "type": "bytes", - "indexed": false - } - ], - "type": "event", - "name": "log_named_bytes", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "key", - "type": "string", - "indexed": false - }, - { - "internalType": "bytes32", - "name": "val", - "type": "bytes32", - "indexed": false - } - ], - "type": "event", - "name": "log_named_bytes32", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "key", - "type": "string", - "indexed": false - }, - { - "internalType": "int256", - "name": "val", - "type": "int256", - "indexed": false - }, - { - "internalType": "uint256", - "name": "decimals", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "log_named_decimal_int", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "key", - "type": "string", - "indexed": false - }, - { - "internalType": "uint256", - "name": "val", - "type": "uint256", - "indexed": false - }, - { - "internalType": "uint256", - "name": "decimals", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "log_named_decimal_uint", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "key", - "type": "string", - "indexed": false - }, - { - "internalType": "int256", - "name": "val", - "type": "int256", - "indexed": false - } - ], - "type": "event", - "name": "log_named_int", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "key", - "type": "string", - "indexed": false - }, - { - "internalType": "string", - "name": "val", - "type": "string", - "indexed": false - } - ], - "type": "event", - "name": "log_named_string", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "key", - "type": "string", - "indexed": false - }, - { - "internalType": "uint256", - "name": "val", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "log_named_uint", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "", - "type": "string", - "indexed": false - } - ], - "type": "event", - "name": "log_string", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "log_uint", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes", - "indexed": false - } - ], - "type": "event", - "name": "logs", - "anonymous": false - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "IS_SCRIPT", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "IS_TEST", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "string", - "name": "_name", - "type": "string" - } - ], - "stateMutability": "pure", - "type": "function", - "name": "addr", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "failed", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "setUp" - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "testAnonCannotRemove" - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "testHappyPath" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "vm", - "outputs": [ - { - "internalType": "contract Vm", - "name": "", - "type": "address" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "tests/persistent/Dispatcher.t.sol": "RemoveNominatedOwnerTest" - }, - "libraries": {} - }, - "sources": { - "contracts/mocks/MockVaultLib.sol": { - "keccak256": "0x14d298c9cd4411cc6260fe50b93a1da572c5ddee7bfca377dd35403741c4e3b6", - "urls": [ - "bzz-raw://e51c048dc4e2c9117fff0ecd4ab94d09701b9cd89247db8608c1a491c7374635", - "dweb:/ipfs/QmYkH9dXQp1EEMfrcGPUTc3ey4o2UtvG91vDxjgQzwUuHE" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/dispatcher/Dispatcher.sol": { - "keccak256": "0x0590285e72005e40573fcc93e95aa75a5963bdcf5b02a627c73d8bc982f9d850", - "urls": [ - "bzz-raw://e9f2190a9ba01ec1f03b5159387c3864b9700337f3d7b07ec0758bbde52d32e2", - "dweb:/ipfs/QmX5gevftdWC5xzSVcmVn14aFhKgweCXAhndZ8ZECN92fj" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/dispatcher/IDispatcher.sol": { - "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", - "urls": [ - "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", - "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/dispatcher/IMigrationHookHandler.sol": { - "keccak256": "0x4cec61ef58c1d2e7693ee954c3582b1a04ff836a569e216edb7526c7e56a5632", - "urls": [ - "bzz-raw://0acae6d91e3e20e6ebd46cbeff926967a2d64f3d8eb2e3cdff20366917a77879", - "dweb:/ipfs/Qmd44oJngTNRnwXdDwtNd9o4UvTgxAmBGikz3QMPKf4NWy" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/VaultLibBaseCore.sol": { - "keccak256": "0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074", - "urls": [ - "bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd", - "dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/VaultProxy.sol": { - "keccak256": "0x08ff12cb7955ab80cf35f98a5abae23a92f655916669986d1580cb394f6b6bb3", - "urls": [ - "bzz-raw://320fcccd67d3390d6762bdef41f7d5e679e61b3244b1d945fc33402ea684bc3a", - "dweb:/ipfs/Qmaaxqgm4EzF1r4n52pkjs7bA5quKhVwrh356rTFXDj86L" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IMigratableVault.sol": { - "keccak256": "0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238", - "urls": [ - "bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6", - "dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/utils/ProxiableVaultLib.sol": { - "keccak256": "0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76", - "urls": [ - "bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44", - "dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/utils/SharesTokenBase.sol": { - "keccak256": "0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113", - "urls": [ - "bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8", - "dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/utils/VaultLibSafeMath.sol": { - "keccak256": "0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d", - "urls": [ - "bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02", - "dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG" - ], - "license": "GPL-3.0" - }, - "lib/forge-std/lib/ds-test/src/test.sol": { - "keccak256": "0xb39cd1d5220cb474947b131e15a4538334b7e886af244b440ae5c9c6bba96a54", - "urls": [ - "bzz-raw://3101520221449ac0070bda3881311a71d9aa87e5210765e875246922cb5cb5f5", - "dweb:/ipfs/Qmbg6kAHNoG7ox9N9Xqd9Ere2H2XixMFWFqvyPwFCzB3Gr" - ], - "license": "GPL-3.0-or-later" - }, - "lib/forge-std/src/Script.sol": { - "keccak256": "0x4424dbcb8f5b741475445726f87408fcd89951fad973bec2ca442ee157f910e7", - "urls": [ - "bzz-raw://5b0b9f6dfb69245d8f888558ae82bf1d2cdeace46201444fe4b2e6a5283f944a", - "dweb:/ipfs/QmWFSKeFEZngNcwNn7A84EF7pASo5qe6r5oK24r9Kwca7Z" - ], - "license": "MIT" - }, - "lib/forge-std/src/Test.sol": { - "keccak256": "0xa85dee62f7a3d7d3b26051f28d08bbfaa6d76888b8e64395583c35f11070372b", - "urls": [ - "bzz-raw://f3ecace3d6120731c4520f651c36658940df958755a2c86d6bf0ec895320a915", - "dweb:/ipfs/QmVGbUYLtMsAYF3C27qHKs3VHRuRNDypuDfs4XGK47kqUT" - ], - "license": "MIT" - }, - "lib/forge-std/src/Vm.sol": { - "keccak256": "0x63fc2487cf3a6650d933e18bcb61766f15f74c327192381806ea00f8f6446f66", - "urls": [ - "bzz-raw://aad99f7b2ed3b11ff6c17b84b4196c562898640a80cabc2c28c87c116099a00f", - "dweb:/ipfs/QmQNNbxHabRycegyXwJWBDutrdcScAP2SU5zEvorWEaFpx" - ], - "license": "MIT" - }, - "lib/forge-std/src/console.sol": { - "keccak256": "0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba", - "urls": [ - "bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70", - "dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec" - ], - "license": "MIT" - }, - "lib/forge-std/src/console2.sol": { - "keccak256": "0xbeb823fcdb356244a83aaccdf828ad019ecc1ffaa3dff18e624fc6d5714ea671", - "urls": [ - "bzz-raw://4cbe9400340e5f9ec55e2aff3bad1c15fa3afbbe37e80800e6f3fed2ad26854f", - "dweb:/ipfs/QmdJBABsuXkvWxVzEyGXsTE3vyfBPXDdw5xvvtUz3JeoYW" - ], - "license": "MIT" - }, - "tests/persistent/Dispatcher.t.sol": { - "keccak256": "0x9f19e0376c4d2fa61f4c50089a46d54b7a1d464b31413aeb4147da02b44cd298", - "urls": [ - "bzz-raw://e9f733c425d149594c2044229dd51e543d330cfb11b7825dfd59631a3aabd71d", - "dweb:/ipfs/QmY3c9daKiMH2W9qbq94TekosaySFV44ZUXsGuBfigo832" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 456 -} +{ "abi": [ { "type": "function", "name": "IS_SCRIPT", "inputs": [], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "IS_TEST", "inputs": [], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "addr", "inputs": [ { "name": "_name", "type": "string", "internalType": "string" } ], "outputs": [ { "name": "", "type": "address", "internalType": "address" } ], "stateMutability": "pure" }, { "type": "function", "name": "failed", "inputs": [], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "setUp", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "testAnonCannotRemove", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "testHappyPath", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "vm", "inputs": [], "outputs": [ { "name": "", "type": "address", "internalType": "contract Vm" } ], "stateMutability": "view" }, { "type": "event", "name": "NominatedOwnerRemoved", "inputs": [ { "name": "nominatedOwner", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "log", "inputs": [ { "name": "", "type": "string", "indexed": false, "internalType": "string" } ], "anonymous": false }, { "type": "event", "name": "log_address", "inputs": [ { "name": "", "type": "address", "indexed": false, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "log_array", "inputs": [ { "name": "val", "type": "uint256[]", "indexed": false, "internalType": "uint256[]" } ], "anonymous": false }, { "type": "event", "name": "log_array", "inputs": [ { "name": "val", "type": "int256[]", "indexed": false, "internalType": "int256[]" } ], "anonymous": false }, { "type": "event", "name": "log_array", "inputs": [ { "name": "val", "type": "address[]", "indexed": false, "internalType": "address[]" } ], "anonymous": false }, { "type": "event", "name": "log_bytes", "inputs": [ { "name": "", "type": "bytes", "indexed": false, "internalType": "bytes" } ], "anonymous": false }, { "type": "event", "name": "log_bytes32", "inputs": [ { "name": "", "type": "bytes32", "indexed": false, "internalType": "bytes32" } ], "anonymous": false }, { "type": "event", "name": "log_int", "inputs": [ { "name": "", "type": "int256", "indexed": false, "internalType": "int256" } ], "anonymous": false }, { "type": "event", "name": "log_named_address", "inputs": [ { "name": "key", "type": "string", "indexed": false, "internalType": "string" }, { "name": "val", "type": "address", "indexed": false, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "log_named_array", "inputs": [ { "name": "key", "type": "string", "indexed": false, "internalType": "string" }, { "name": "val", "type": "uint256[]", "indexed": false, "internalType": "uint256[]" } ], "anonymous": false }, { "type": "event", "name": "log_named_array", "inputs": [ { "name": "key", "type": "string", "indexed": false, "internalType": "string" }, { "name": "val", "type": "int256[]", "indexed": false, "internalType": "int256[]" } ], "anonymous": false }, { "type": "event", "name": "log_named_array", "inputs": [ { "name": "key", "type": "string", "indexed": false, "internalType": "string" }, { "name": "val", "type": "address[]", "indexed": false, "internalType": "address[]" } ], "anonymous": false }, { "type": "event", "name": "log_named_bytes", "inputs": [ { "name": "key", "type": "string", "indexed": false, "internalType": "string" }, { "name": "val", "type": "bytes", "indexed": false, "internalType": "bytes" } ], "anonymous": false }, { "type": "event", "name": "log_named_bytes32", "inputs": [ { "name": "key", "type": "string", "indexed": false, "internalType": "string" }, { "name": "val", "type": "bytes32", "indexed": false, "internalType": "bytes32" } ], "anonymous": false }, { "type": "event", "name": "log_named_decimal_int", "inputs": [ { "name": "key", "type": "string", "indexed": false, "internalType": "string" }, { "name": "val", "type": "int256", "indexed": false, "internalType": "int256" }, { "name": "decimals", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "log_named_decimal_uint", "inputs": [ { "name": "key", "type": "string", "indexed": false, "internalType": "string" }, { "name": "val", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "decimals", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "log_named_int", "inputs": [ { "name": "key", "type": "string", "indexed": false, "internalType": "string" }, { "name": "val", "type": "int256", "indexed": false, "internalType": "int256" } ], "anonymous": false }, { "type": "event", "name": "log_named_string", "inputs": [ { "name": "key", "type": "string", "indexed": false, "internalType": "string" }, { "name": "val", "type": "string", "indexed": false, "internalType": "string" } ], "anonymous": false }, { "type": "event", "name": "log_named_uint", "inputs": [ { "name": "key", "type": "string", "indexed": false, "internalType": "string" }, { "name": "val", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "log_string", "inputs": [ { "name": "", "type": "string", "indexed": false, "internalType": "string" } ], "anonymous": false }, { "type": "event", "name": "log_uint", "inputs": [ { "name": "", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "logs", "inputs": [ { "name": "", "type": "bytes", "indexed": false, "internalType": "bytes" } ], "anonymous": false } ], "bytecode": { "object": "0x60806040526000805462ff00001960ff19909116600117166201000017905534801561002a57600080fd5b506135518061003a6000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063ba414fa61161005b578063ba414fa614610169578063cd8591bb14610185578063f8ccbf471461018d578063fa7626d41461019557610088565b80630a9254e41461008d5780633a76846314610097578063511b1df9146100bb5780636e4ac65c14610161575b600080fd5b61009561019d565b005b61009f6101e8565b604080516001600160a01b039092168252519081900360200190f35b61009f600480360360208110156100d157600080fd5b8101906020810181356401000000008111156100ec57600080fd5b8201836020820111156100fe57600080fd5b8035906020019184600183028401116401000000008311171561012057600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610200945050505050565b610095610214565b6101716103d2565b604080519115158252519081900360200190f35b610095610598565b610171610798565b6101716107a7565b6040516101a990610a90565b604051809103906000f0801580156101c5573d6000803e3d6000fd5b50600880546001600160a01b0319166001600160a01b0392909216919091179055565b737109709ecfa91a80626ff3989d68f67f5b1dd12d81565b80516020909101206001600160a01b031690565b6008546040805163039470bd60e51b8152610539600482015290516001600160a01b039092169163728e17a09160248082019260009290919082900301818387803b15801561026257600080fd5b505af1158015610276573d6000803e3d6000fd5b50506040805163ca669fa760e01b815261053960048201529051737109709ecfa91a80626ff3989d68f67f5b1dd12d935063ca669fa79250602480830192600092919082900301818387803b1580156102ce57600080fd5b505af11580156102e2573d6000803e3d6000fd5b505060405163f28dceb360e01b8152602060048201908152602e60248301819052737109709ecfa91a80626ff3989d68f67f5b1dd12d945063f28dceb39350909182916044909101906134f28239604001915050600060405180830381600087803b15801561035057600080fd5b505af1158015610364573d6000803e3d6000fd5b50505050600860009054906101000a90046001600160a01b03166001600160a01b0316638156eecf6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156103b857600080fd5b505af11580156103cc573d6000803e3d6000fd5b50505050565b60008054610100900460ff16156103f45750600054610100900460ff16610595565b60006103fe6107b0565b156105925760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d60208083018290526519985a5b195960d21b838501528351808403850181526060848101909552630667f9d760e41b60808501908152815193947f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc494929391926084909101918401908083835b602083106104a85780518252601f199092019160209182019101610489565b6001836020036101000a038019825116818451168082178552505050505050905001925050506040516020818303038152906040526040518082805190602001908083835b6020831061050c5780518252601f1990920191602091820191016104ed565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811461056e576040519150601f19603f3d011682016040523d82523d6000602084013e610573565b606091505b5091505080806020019051602081101561058c57600080fd5b50519150505b90505b90565b6008546040805163039470bd60e51b8152610539600482015290516001600160a01b039092169163728e17a09160248082019260009290919082900301818387803b1580156105e657600080fd5b505af11580156105fa573d6000803e3d6000fd5b50506040805163248e63e160e11b8152600160048201819052602482018190526044820181905260648201529051737109709ecfa91a80626ff3989d68f67f5b1dd12d935063491cc7c29250608480830192600092919082900301818387803b15801561066657600080fd5b505af115801561067a573d6000803e3d6000fd5b505060405161053992507fe4136584a5e8bb85d66301f3ce8b11cc2e5a8bea3979f10ea2451353849acc479150600090a2600860009054906101000a90046001600160a01b03166001600160a01b0316638156eecf6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156106fb57600080fd5b505af115801561070f573d6000803e3d6000fd5b5050505061079630600860009054906101000a90046001600160a01b03166001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561076557600080fd5b505afa158015610779573d6000803e3d6000fd5b505050506040513d602081101561078f57600080fd5b50516107cb565b565b60005462010000900460ff1681565b60005460ff1681565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b151590565b806001600160a01b0316826001600160a01b0316146108ed577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f506040518080602001828103825260258152602001806135206025913960400191505060405180910390a1604080516001600160a01b0383166020820152818152600a81830152690808115e1c1958dd195960b21b606082015290517f9c4e8541ca8f0dc1c413f9108f66d82d3cecb1bddbce437a61caa3175c4cc96f9181900360800190a1604080516001600160a01b0384166020820152818152600a8183015269080808081058dd1d585b60b21b606082015290517f9c4e8541ca8f0dc1c413f9108f66d82d3cecb1bddbce437a61caa3175c4cc96f9181900360800190a16108ed6108f1565b5050565b6108f96107b0565b15610a7f5760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d60208083018290526519985a5b195960d21b83850152600160608481019190915284518085039091018152608084019094526370ca10bb60e01b60a08401908152845160009593947f70ca10bbd0dbfd9020a9f4b13402c16cb120705e0d1c0aeab10fa353ae586fc4949360a490910191908401908083835b602083106109af5780518252601f199092019160209182019101610990565b6001836020036101000a038019825116818451168082178552505050505050905001925050506040516020818303038152906040526040518082805190602001908083835b60208310610a135780518252601f1990920191602091820191016109f4565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610a75576040519150601f19603f3d011682016040523d82523d6000602084013e610a7a565b606091505b505050505b6000805461ff001916610100179055565b612a5480610a9e8339019056fe60806040523480156200001157600080fd5b506202a300600355600280546001600160a01b031916331790556040805180820190915260048082526322a72d2360e11b60209092019182526200005691816200005d565b50620000f9565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620000a057805160ff1916838001178555620000d0565b82800160010185558215620000d0579182015b82811115620000d0578251825591602001919060010190620000b3565b50620000de929150620000e2565b5090565b5b80821115620000de5760008155600101620000e3565b61294b80620001096000396000f3fe60806040523480156200001157600080fd5b5060043610620001485760003560e01c806377a8c62411620000bd57806397af7050116200007b57806397af7050146200042d5780639c9d48da1462000456578063b47b06001462000487578063d0449d3d1462000509578063d15f9b9c14620005325762000148565b806377a8c62414620003885780637c77b2ed14620003b15780637dad9fc814620003bb5780638156eecf1462000419578063893d20e814620004235762000148565b80633d7c74f8116200010b5780633d7c74f814620002795780634e71e0c814620002a257806366231cea14620002ac578063728e17a014620002e9578063757bc0dd14620003125762000148565b80631df419f7146200014d57806322a0c08b146200016f578063288b6a3614620002225780632fa0c161146200022c57806338b3eb1b1462000248575b600080fd5b6200016d600480360360208110156200016557600080fd5b503562000573565b005b62000206600480360360808110156200018757600080fd5b6001600160a01b0382358116926020810135821692604082013590921691810190608081016060820135640100000000811115620001c457600080fd5b820183602082011115620001d757600080fd5b80359060200191846001830284011164010000000083111715620001fa57600080fd5b50909250905062000646565b604080516001600160a01b039092168252519081900360200190f35b62000206620008df565b62000236620008ee565b60408051918252519081900360200190f35b6200016d600480360360408110156200026057600080fd5b506001600160a01b0381351690602001351515620008f4565b62000206600480360360208110156200029157600080fd5b50356001600160a01b031662000c46565b6200016d62000c67565b620002d560048036036020811015620002c457600080fd5b50356001600160a01b031662000d10565b604080519115158252519081900360200190f35b6200016d600480360360208110156200030157600080fd5b50356001600160a01b031662000d43565b6200016d600480360360208110156200032a57600080fd5b8101906020810181356401000000008111156200034657600080fd5b8201836020820111156200035957600080fd5b803590602001918460018302840111640100000000831117156200037c57600080fd5b50909250905062000ebd565b6200023660048036036020811015620003a057600080fd5b50356001600160a01b031662000f7b565b6200020662000fc4565b620003e460048036036020811015620003d357600080fd5b50356001600160a01b031662000fd3565b604080516001600160a01b03958616815293851660208501529190931682820152606082019290925290519081900360800190f35b6200016d6200106b565b6200020662001147565b6200016d600480360360208110156200044557600080fd5b50356001600160a01b031662001156565b6200016d600480360360408110156200046e57600080fd5b506001600160a01b0381351690602001351515620012e1565b620004916200152a565b6040805160208082528351818301528351919283929083019185019080838360005b83811015620004cd578181015183820152602001620004b3565b50505050905090810190601f168015620004fb5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b620002d5600480360360208110156200052157600080fd5b50356001600160a01b0316620015c4565b6200016d600480360360808110156200054a57600080fd5b506001600160a01b038135811691602081013582169160408201351690606001351515620015e4565b6002546001600160a01b03163314620005be5760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b60035481811415620006025760405162461bcd60e51b815260040180806020018281038252603b81526020018062002904603b913960400191505060405180910390fd5b6003829055604080518281526020810184905281517f481ce28a1145a5d9b59e2d1d7eba33bc3350124def8fdc91032238d343ad5361929181900390910190a15050565b600080546001600160a01b03163314620006925760405162461bcd60e51b8152600401808060200182810382526034815260200180620024b66034913960400191505060405180910390fd5b6200069d8462001832565b620006da5760405162461bcd60e51b815260040180806020018281038252602d8152602001806200269b602d913960400191505060405180910390fd5b6060635c9a6d3760e01b8686868660405160240180856001600160a01b03168152602001846001600160a01b0316815260200180602001828103825284848281815260200192508082843760008382015260408051601f909201601f1990811690940182810390940182529283526020810180516001600160e01b03166001600160e01b0319909b169a909a17909952505196975087968e965062000786955093506200204c92505050565b8080602001836001600160a01b03168152602001828103825284818151815260200191508051906020019080838360005b83811015620007d1578181015183820152602001620007b7565b50505050905090810190601f168015620007ff5780820380516001836020036101000a031916815260200191505b509350505050604051809103906000f08015801562000822573d6000803e3d6000fd5b506001600160a01b0380821660008181526005602090815260409182902080546001600160a01b0319163390811790915582519384528a85169184019190915260609183018281529183018890529395508a8316928a169184917fa50560b448ad796ef60adfeffe1c19ed34daf94c2aa6905d0e209017dbc19f589188918c918c918c919060808201848480828437600083820152604051601f909101601f191690920182900397509095505050505050a4505095945050505050565b6001546001600160a01b031690565b60035490565b620008fe6200205a565b506001600160a01b038083166000908152600660209081526040918290208251608081018452815485168082526001830154861693820193909352600282015490941692840192909252600390910154606083015280620009915760405162461bcd60e51b815260040180806020018281038252603d815260200180620028c7603d913960400191505060405180910390fd5b336001600160a01b03821614620009da5760405162461bcd60e51b81526004018080602001828103825260458152602001806200279c6045913960600191505060405180910390fd5b6000546001600160a01b0382811691161462000a285760405162461bcd60e51b815260040180806020018281038252604f815260200180620025ed604f913960600191505060405180910390fd5b60608201514281111562000a6e5760405162461bcd60e51b8152600401808060200182810382526038815260200180620027296038913960400191505060405180910390fd5b6001600160a01b0380861660009081526005602090815260409182902054908601519186015192169162000aa9600289858886868d62001838565b876001600160a01b0316634140d607826040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050600060405180830381600087803b15801562000af957600080fd5b505af115801562000b0e573d6000803e3d6000fd5b50505050876001600160a01b031663ab9253ac836040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050600060405180830381600087803b15801562000b6257600080fd5b505af115801562000b77573d6000803e3d6000fd5b5050506001600160a01b03808a1660009081526005602090815260408083208054948b166001600160a01b0319958616179055600690915281208054831681556001810180548416905560028101805490931690925560039182015562000be5915089858886868d62001838565b604080516001600160a01b038481168252838116602083015281830187905291518288169286811692908c16917fad6fb3d36e2cda148dfd43203c1a40c0da9a9baa662ae9d6c3b0c3e4a9d6a6359181900360600190a45050505050505050565b6001600160a01b03808216600090815260056020526040902054165b919050565b6001546001600160a01b031633811462000cb35760405162461bcd60e51b815260040180806020018281038252603e8152602001806200281c603e913960400191505060405180910390fd5b600180546001600160a01b0319908116909155600280546001600160a01b0384811693821684179092556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038116600090815260066020526040812060030154801580159062000d3c5750804210155b9392505050565b6002546001600160a01b0316331462000d8e5760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b6001600160a01b03811662000dd55760405162461bcd60e51b8152600401808060200182810382526036815260200180620026c86036913960400191505060405180910390fd5b6002546001600160a01b038281169116141562000e245760405162461bcd60e51b815260040180806020018281038252603b81526020018062002761603b913960400191505060405180910390fd5b6001546001600160a01b038281169116141562000e735760405162461bcd60e51b815260040180806020018281038252603b815260200180620027e1603b913960400191505060405180910390fd5b600180546001600160a01b0319166001600160a01b0383169081179091556040517f132c19de901bb4ed8403c34734b6c841d5dc57745824da452a52433519ea5abf90600090a250565b6002546001600160a01b0316331462000f085760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b62000f166004838362002081565b507ff0115712c23b609855a28d7b8963c6d16d732ae388b11e5d4ec6d5eae4ad8698828260405180806020018281038252848482818152602001925080828437600083820152604051601f909101601f19169092018290039550909350505050a15050565b6001600160a01b0381166000908152600660205260408120600301548062000fa857600091505062000c62565b80421062000fbb57600091505062000c62565b42900392915050565b6000546001600160a01b031690565b60008060008062000fe36200205a565b506001600160a01b038086166000908152600660209081526040918290208251608081018452815485168152600182015485169281019290925260028101549093169181019190915260039091015460608201819052156200106257806000015181602001518260400151836060015194509450945094505062001064565b505b9193509193565b6002546001600160a01b03163314620010b65760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b6001546001600160a01b031680620011005760405162461bcd60e51b81526004018080602001828103825260318152602001806200266a6031913960400191505060405180910390fd5b600180546001600160a01b03191690556040516001600160a01b038216907fe4136584a5e8bb85d66301f3ce8b11cc2e5a8bea3979f10ea2451353849acc4790600090a250565b6002546001600160a01b031690565b6002546001600160a01b03163314620011a15760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b6001600160a01b038116620011e85760405162461bcd60e51b81526004018080602001828103825260398152602001806200258e6039913960400191505060405180910390fd5b620011f38162001832565b620012305760405162461bcd60e51b8152600401808060200182810382526036815260200180620028916036913960400191505060405180910390fd5b6000546001600160a01b03908116908216811415620012815760405162461bcd60e51b81526004018080602001828103825260488152602001806200251a6048913960600191505060405180910390fd5b600080546001600160a01b0319166001600160a01b03848116918217909255604080519284168352602083019190915280517f44cf34a26ccbaa8a20e6098a1278e28682572ec9921eb43d8dab274a503e92f59281900390910190a15050565b620012eb6200205a565b506001600160a01b0380831660009081526006602090815260409182902082516080810184528154851680825260018301548616938201939093526002820154909416928401929092526003909101546060830152806200137e5760405162461bcd60e51b815260040180806020018281038252602c81526020018062002562602c913960400191505060405180910390fd5b336001600160a01b038216148062001407575060408051633ef03e7560e11b815233600482015290516001600160a01b03861691637de07cea916024808301926020929190829003018186803b158015620013d857600080fd5b505afa158015620013ed573d6000803e3d6000fd5b505050506040513d60208110156200140457600080fd5b50515b620014445760405162461bcd60e51b8152600401808060200182810382526026815260200180620025c76026913960400191505060405180910390fd5b6001600160a01b0380851660009081526005602090815260408083205486830151878301516060890151600690955292852080546001600160a01b03199081168255600182018054821690556002820180549091169055600301949094559093169290620014b9600489868887878d62001838565b620014c988858786868c62001bd1565b604080516001600160a01b038581168252848116602083015281830184905291518288169287811692908c16917f9851a8f232c380eb2c1065756776e37d85d4fe0c8cb4005b0d72c749bfef923e9181900360600190a45050505050505050565b60048054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815260609390929091830182828015620015ba5780601f106200158e57610100808354040283529160200191620015ba565b820191906000526020600020905b8154815290600101906020018083116200159c57829003601f168201915b5050505050905090565b6001600160a01b0316600090815260066020526040902060030154151590565b6000546001600160a01b031633146200162f5760405162461bcd60e51b8152600401808060200182810382526034815260200180620024b66034913960400191505060405180910390fd5b6200163a8362001832565b620016775760405162461bcd60e51b8152600401808060200182810382526030815260200180620024ea6030913960400191505060405180910390fd5b6001600160a01b038085166000908152600560205260409020541680620016d05760405162461bcd60e51b815260040180806020018281038252602b815260200180620026fe602b913960400191505060405180910390fd5b336001600160a01b0382168114156200171b5760405162461bcd60e51b81526004018080602001828103825260378152602001806200285a6037913960400191505060405180910390fd5b6200172d600087848489898962001838565b60038054604080516080810182526001600160a01b03808616825289811660208084019182528a831684860190815242909601606085018181528e85166000908152600690935295909120935184549084166001600160a01b0319918216178555915160018086018054928616928516929092179091559551600285018054919094169216919091179091559151930192909255620017d2908885858a8a8a62001838565b604080516001600160a01b038881168252878116602083015281830184905291518285169286811692908b16917fb519c42fdb88f83f098814813f2ebff14fbf14f3e68b054e5a98834c69d54bfb9181900360600190a450505050505050565b3b151590565b60006060866001600160a01b0316633f84c12c60e01b8a8a898989604051602401808660048111156200186757fe5b8152602001856001600160a01b03168152602001846001600160a01b03168152602001836001600160a01b03168152602001826001600160a01b0316815260200195505050505050604051602081830303815290604052906001600160e01b0319166020820180516001600160e01b0383818316178352505050506040518082805190602001908083835b60208310620019135780518252601f199092019160209182019101620018f2565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811462001977576040519150601f19603f3d011682016040523d82523d6000602084013e6200197c565b606091505b50915091508162001bc65782620019938a62001ea1565b826040516020018083805190602001908083835b60208310620019c85780518252601f199092019160209182019101620019a7565b51815160209384036101000a600019018019909216911617905285519190930192850191508083835b6020831062001a125780518252601f199092019160209182019101620019f1565b6001836020036101000a038019825116818451168082178552505050505050905001925050506040516020818303038152906040529062001ad45760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101562001a9857818101518382015260200162001a7e565b50505050905090810190601f16801562001ac65780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50856001600160a01b0316876001600160a01b0316896001600160a01b03167fbf0ae6830883bd89855f2e7b17a2924b5de0b2b3d4a8834d7c2c0d5dc53447db848d8a8a604051808060200185600481111562001b2d57fe5b8152602001846001600160a01b03168152602001836001600160a01b03168152602001828103825286818151815260200191508051906020019080838360005b8381101562001b8757818101518382015260200162001b6d565b50505050905090810190601f16801562001bb55780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a45b505050505050505050565b604080516001600160a01b038881166024830152878116604483015285811660648301528481166084808401919091528351808403909101815260a490920183526020820180516001600160e01b031663df369ba760e01b17815292518251600094606094938a169392918291908083835b6020831062001c645780518252601f19909201916020918201910162001c43565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811462001cc8576040519150601f19603f3d011682016040523d82523d6000602084013e62001ccd565b606091505b50915091508162001e9757828160405160200180807f4d6967726174696f6e4f757443616e63656c486f6f6b3a20000000000000000081525060180182805190602001908083835b6020831062001d365780518252601f19909201916020918201910162001d15565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040516020818303038152906040529062001db95760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831562001a9857818101518382015260200162001a7e565b50856001600160a01b0316876001600160a01b0316896001600160a01b03167f7c79070aa51adb676fb9c8d0f7a1f841ff9cf514444b37c95297ed1c52547b328489896040518080602001846001600160a01b03168152602001836001600160a01b03168152602001828103825285818151815260200191508051906020019080838360005b8381101562001e5957818101518382015260200162001e3f565b50505050905090810190601f16801562001e875780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a45b5050505050505050565b6060600082600481111562001eb257fe5b141562001ef4575060408051808201909152601c81527f4d6967726174696f6e4f7574486f6f6b2e5072655369676e616c3a2000000000602082015262000c62565b600182600481111562001f0357fe5b141562001f45575060408051808201909152601d81527f4d6967726174696f6e4f7574486f6f6b2e506f73745369676e616c3a20000000602082015262000c62565b600282600481111562001f5457fe5b141562001f96575060408051808201909152601d81527f4d6967726174696f6e4f7574486f6f6b2e5072654d6967726174653a20000000602082015262000c62565b600382600481111562001fa557fe5b141562001fe7575060408051808201909152601e81527f4d6967726174696f6e4f7574486f6f6b2e506f73744d6967726174653a200000602082015262000c62565b600482600481111562001ff657fe5b141562002038575060408051808201909152601d81527f4d6967726174696f6e4f7574486f6f6b2e506f737443616e63656c3a20000000602082015262000c62565b505060408051602081019091526000815290565b610398806200211e83390190565b60408051608081018252600080825260208201819052918101829052606081019190915290565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620020c45782800160ff19823516178555620020f4565b82800160010185558215620020f4579182015b82811115620020f4578235825591602001919060010190620020d7565b506200210292915062002106565b5090565b5b808211156200210257600081556001016200210756fe608060405234801561001057600080fd5b506040516103983803806103988339818101604052604081101561003357600080fd5b810190808051604051939291908464010000000082111561005357600080fd5b90830190602082018581111561006857600080fd5b825164010000000081118282018810171561008257600080fd5b82525081516020918201929091019080838360005b838110156100af578181015183820152602001610097565b50505050905090810190601f1680156100dc5780820380516001836020036101000a031916815260200191505b5060408181526020928301516352d1902d60e01b835290519094506001600160a01b03851693506352d1902d92600480840193919291829003018186803b15801561012657600080fd5b505afa15801561013a573d6000803e3d6000fd5b505050506040513d602081101561015057600080fd5b50517f027b9570e9fedc1a80b937ae9a06861e5faef3992491af30b684a64b3fbec7a5146101af5760405162461bcd60e51b81526004018080602001828103825260258152602001806103736025913960400191505060405180910390fd5b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5560006060826001600160a01b0316846040518082805190602001908083835b602083106102105780518252601f1990920191602091820191016101f1565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610270576040519150601f19603f3d011682016040523d82523d6000602084013e610275565b606091505b50915091508181906103055760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156102ca5781810151838201526020016102b2565b50505050905090810190601f1680156102f75780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5050505050605b806103186000396000f3fe60806040527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc543660008037600080366000846127105a03f43d806000803e818015604957816000f35b816000fdfea164736f6c634300060c000a636f6e7374727563746f723a205f7661756c744c6962206e6f7420636f6d70617469626c654f6e6c79207468652063757272656e742046756e644465706c6f7965722063616e2063616c6c20746869732066756e6374696f6e7369676e616c4d6967726174696f6e3a204e6f6e2d636f6e7472616374205f6e6578745661756c744163636573736f7273657443757272656e7446756e644465706c6f7965723a205f6e65787446756e644465706c6f79657220697320616c72656164792063757272656e7446756e644465706c6f79657263616e63656c4d6967726174696f6e3a204e6f206d6967726174696f6e20726571756573742065786973747373657443757272656e7446756e644465706c6f7965723a205f6e65787446756e644465706c6f7965722063616e6e6f7420626520656d70747963616e63656c4d6967726174696f6e3a204e6f7420616e20616c6c6f7765642063616c6c6572657865637574654d6967726174696f6e3a20546865207461726765742046756e644465706c6f796572206973206e6f206c6f6e676572207468652063757272656e742046756e644465706c6f7965724f6e6c792074686520636f6e7472616374206f776e65722063616e2063616c6c20746869732066756e6374696f6e72656d6f76654e6f6d696e617465644f776e65723a205468657265206973206e6f206e6f6d696e61746564206f776e65726465706c6f795661756c7450726f78793a204e6f6e2d636f6e7472616374205f7661756c744163636573736f727365744e6f6d696e617465644f776e65723a205f6e6578744e6f6d696e617465644f776e65722063616e6e6f7420626520656d7074797369676e616c4d6967726174696f6e3a205f7661756c7450726f787920646f6573206e6f74206578697374657865637574654d6967726174696f6e3a20546865206d6967726174696f6e2074696d656c6f636b20686173206e6f7420656c61707365647365744e6f6d696e617465644f776e65723a205f6e6578744e6f6d696e617465644f776e657220697320616c726561647920746865206f776e6572657865637574654d6967726174696f6e3a204f6e6c7920746865207461726765742046756e644465706c6f7965722063616e2063616c6c20746869732066756e6374696f6e7365744e6f6d696e617465644f776e65723a205f6e6578744e6f6d696e617465644f776e657220697320616c7265616479206e6f6d696e61746564636c61696d4f776e6572736869703a204f6e6c7920746865206e6f6d696e617465644f776e65722063616e2063616c6c20746869732066756e6374696f6e7369676e616c4d6967726174696f6e3a2043616e206f6e6c79206d69677261746520746f2061206e65772046756e644465706c6f79657273657443757272656e7446756e644465706c6f7965723a204e6f6e2d636f6e7472616374205f6e65787446756e644465706c6f796572657865637574654d6967726174696f6e3a204e6f206d6967726174696f6e20726571756573742065786973747320666f72205f7661756c7450726f78797365744d6967726174696f6e54696d656c6f636b3a205f6e65787454696d656c6f636b206973207468652063757272656e742074696d656c6f636ba164736f6c634300060c000a4f6e6c792074686520636f6e7472616374206f776e65722063616e2063616c6c20746869732066756e6374696f6e4572726f723a2061203d3d2062206e6f7420736174697366696564205b616464726573735da164736f6c634300060c000a", "sourceMap": "2483:674:456:-:0;;;1572:26:435;;;-1:-1:-1;;;;1572:26:435;;;1594:4;1572:26;165:28:436;;;;;2483:674:456;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106100885760003560e01c8063ba414fa61161005b578063ba414fa614610169578063cd8591bb14610185578063f8ccbf471461018d578063fa7626d41461019557610088565b80630a9254e41461008d5780633a76846314610097578063511b1df9146100bb5780636e4ac65c14610161575b600080fd5b61009561019d565b005b61009f6101e8565b604080516001600160a01b039092168252519081900360200190f35b61009f600480360360208110156100d157600080fd5b8101906020810181356401000000008111156100ec57600080fd5b8201836020820111156100fe57600080fd5b8035906020019184600183028401116401000000008311171561012057600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610200945050505050565b610095610214565b6101716103d2565b604080519115158252519081900360200190f35b610095610598565b610171610798565b6101716107a7565b6040516101a990610a90565b604051809103906000f0801580156101c5573d6000803e3d6000fd5b50600880546001600160a01b0319166001600160a01b0392909216919091179055565b737109709ecfa91a80626ff3989d68f67f5b1dd12d81565b80516020909101206001600160a01b031690565b6008546040805163039470bd60e51b8152610539600482015290516001600160a01b039092169163728e17a09160248082019260009290919082900301818387803b15801561026257600080fd5b505af1158015610276573d6000803e3d6000fd5b50506040805163ca669fa760e01b815261053960048201529051737109709ecfa91a80626ff3989d68f67f5b1dd12d935063ca669fa79250602480830192600092919082900301818387803b1580156102ce57600080fd5b505af11580156102e2573d6000803e3d6000fd5b505060405163f28dceb360e01b8152602060048201908152602e60248301819052737109709ecfa91a80626ff3989d68f67f5b1dd12d945063f28dceb39350909182916044909101906134f28239604001915050600060405180830381600087803b15801561035057600080fd5b505af1158015610364573d6000803e3d6000fd5b50505050600860009054906101000a90046001600160a01b03166001600160a01b0316638156eecf6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156103b857600080fd5b505af11580156103cc573d6000803e3d6000fd5b50505050565b60008054610100900460ff16156103f45750600054610100900460ff16610595565b60006103fe6107b0565b156105925760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d60208083018290526519985a5b195960d21b838501528351808403850181526060848101909552630667f9d760e41b60808501908152815193947f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc494929391926084909101918401908083835b602083106104a85780518252601f199092019160209182019101610489565b6001836020036101000a038019825116818451168082178552505050505050905001925050506040516020818303038152906040526040518082805190602001908083835b6020831061050c5780518252601f1990920191602091820191016104ed565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811461056e576040519150601f19603f3d011682016040523d82523d6000602084013e610573565b606091505b5091505080806020019051602081101561058c57600080fd5b50519150505b90505b90565b6008546040805163039470bd60e51b8152610539600482015290516001600160a01b039092169163728e17a09160248082019260009290919082900301818387803b1580156105e657600080fd5b505af11580156105fa573d6000803e3d6000fd5b50506040805163248e63e160e11b8152600160048201819052602482018190526044820181905260648201529051737109709ecfa91a80626ff3989d68f67f5b1dd12d935063491cc7c29250608480830192600092919082900301818387803b15801561066657600080fd5b505af115801561067a573d6000803e3d6000fd5b505060405161053992507fe4136584a5e8bb85d66301f3ce8b11cc2e5a8bea3979f10ea2451353849acc479150600090a2600860009054906101000a90046001600160a01b03166001600160a01b0316638156eecf6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156106fb57600080fd5b505af115801561070f573d6000803e3d6000fd5b5050505061079630600860009054906101000a90046001600160a01b03166001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561076557600080fd5b505afa158015610779573d6000803e3d6000fd5b505050506040513d602081101561078f57600080fd5b50516107cb565b565b60005462010000900460ff1681565b60005460ff1681565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b151590565b806001600160a01b0316826001600160a01b0316146108ed577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f506040518080602001828103825260258152602001806135206025913960400191505060405180910390a1604080516001600160a01b0383166020820152818152600a81830152690808115e1c1958dd195960b21b606082015290517f9c4e8541ca8f0dc1c413f9108f66d82d3cecb1bddbce437a61caa3175c4cc96f9181900360800190a1604080516001600160a01b0384166020820152818152600a8183015269080808081058dd1d585b60b21b606082015290517f9c4e8541ca8f0dc1c413f9108f66d82d3cecb1bddbce437a61caa3175c4cc96f9181900360800190a16108ed6108f1565b5050565b6108f96107b0565b15610a7f5760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d60208083018290526519985a5b195960d21b83850152600160608481019190915284518085039091018152608084019094526370ca10bb60e01b60a08401908152845160009593947f70ca10bbd0dbfd9020a9f4b13402c16cb120705e0d1c0aeab10fa353ae586fc4949360a490910191908401908083835b602083106109af5780518252601f199092019160209182019101610990565b6001836020036101000a038019825116818451168082178552505050505050905001925050506040516020818303038152906040526040518082805190602001908083835b60208310610a135780518252601f1990920191602091820191016109f4565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610a75576040519150601f19603f3d011682016040523d82523d6000602084013e610a7a565b606091505b505050505b6000805461ff001916610100179055565b612a5480610a9e8339019056fe60806040523480156200001157600080fd5b506202a300600355600280546001600160a01b031916331790556040805180820190915260048082526322a72d2360e11b60209092019182526200005691816200005d565b50620000f9565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620000a057805160ff1916838001178555620000d0565b82800160010185558215620000d0579182015b82811115620000d0578251825591602001919060010190620000b3565b50620000de929150620000e2565b5090565b5b80821115620000de5760008155600101620000e3565b61294b80620001096000396000f3fe60806040523480156200001157600080fd5b5060043610620001485760003560e01c806377a8c62411620000bd57806397af7050116200007b57806397af7050146200042d5780639c9d48da1462000456578063b47b06001462000487578063d0449d3d1462000509578063d15f9b9c14620005325762000148565b806377a8c62414620003885780637c77b2ed14620003b15780637dad9fc814620003bb5780638156eecf1462000419578063893d20e814620004235762000148565b80633d7c74f8116200010b5780633d7c74f814620002795780634e71e0c814620002a257806366231cea14620002ac578063728e17a014620002e9578063757bc0dd14620003125762000148565b80631df419f7146200014d57806322a0c08b146200016f578063288b6a3614620002225780632fa0c161146200022c57806338b3eb1b1462000248575b600080fd5b6200016d600480360360208110156200016557600080fd5b503562000573565b005b62000206600480360360808110156200018757600080fd5b6001600160a01b0382358116926020810135821692604082013590921691810190608081016060820135640100000000811115620001c457600080fd5b820183602082011115620001d757600080fd5b80359060200191846001830284011164010000000083111715620001fa57600080fd5b50909250905062000646565b604080516001600160a01b039092168252519081900360200190f35b62000206620008df565b62000236620008ee565b60408051918252519081900360200190f35b6200016d600480360360408110156200026057600080fd5b506001600160a01b0381351690602001351515620008f4565b62000206600480360360208110156200029157600080fd5b50356001600160a01b031662000c46565b6200016d62000c67565b620002d560048036036020811015620002c457600080fd5b50356001600160a01b031662000d10565b604080519115158252519081900360200190f35b6200016d600480360360208110156200030157600080fd5b50356001600160a01b031662000d43565b6200016d600480360360208110156200032a57600080fd5b8101906020810181356401000000008111156200034657600080fd5b8201836020820111156200035957600080fd5b803590602001918460018302840111640100000000831117156200037c57600080fd5b50909250905062000ebd565b6200023660048036036020811015620003a057600080fd5b50356001600160a01b031662000f7b565b6200020662000fc4565b620003e460048036036020811015620003d357600080fd5b50356001600160a01b031662000fd3565b604080516001600160a01b03958616815293851660208501529190931682820152606082019290925290519081900360800190f35b6200016d6200106b565b6200020662001147565b6200016d600480360360208110156200044557600080fd5b50356001600160a01b031662001156565b6200016d600480360360408110156200046e57600080fd5b506001600160a01b0381351690602001351515620012e1565b620004916200152a565b6040805160208082528351818301528351919283929083019185019080838360005b83811015620004cd578181015183820152602001620004b3565b50505050905090810190601f168015620004fb5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b620002d5600480360360208110156200052157600080fd5b50356001600160a01b0316620015c4565b6200016d600480360360808110156200054a57600080fd5b506001600160a01b038135811691602081013582169160408201351690606001351515620015e4565b6002546001600160a01b03163314620005be5760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b60035481811415620006025760405162461bcd60e51b815260040180806020018281038252603b81526020018062002904603b913960400191505060405180910390fd5b6003829055604080518281526020810184905281517f481ce28a1145a5d9b59e2d1d7eba33bc3350124def8fdc91032238d343ad5361929181900390910190a15050565b600080546001600160a01b03163314620006925760405162461bcd60e51b8152600401808060200182810382526034815260200180620024b66034913960400191505060405180910390fd5b6200069d8462001832565b620006da5760405162461bcd60e51b815260040180806020018281038252602d8152602001806200269b602d913960400191505060405180910390fd5b6060635c9a6d3760e01b8686868660405160240180856001600160a01b03168152602001846001600160a01b0316815260200180602001828103825284848281815260200192508082843760008382015260408051601f909201601f1990811690940182810390940182529283526020810180516001600160e01b03166001600160e01b0319909b169a909a17909952505196975087968e965062000786955093506200204c92505050565b8080602001836001600160a01b03168152602001828103825284818151815260200191508051906020019080838360005b83811015620007d1578181015183820152602001620007b7565b50505050905090810190601f168015620007ff5780820380516001836020036101000a031916815260200191505b509350505050604051809103906000f08015801562000822573d6000803e3d6000fd5b506001600160a01b0380821660008181526005602090815260409182902080546001600160a01b0319163390811790915582519384528a85169184019190915260609183018281529183018890529395508a8316928a169184917fa50560b448ad796ef60adfeffe1c19ed34daf94c2aa6905d0e209017dbc19f589188918c918c918c919060808201848480828437600083820152604051601f909101601f191690920182900397509095505050505050a4505095945050505050565b6001546001600160a01b031690565b60035490565b620008fe6200205a565b506001600160a01b038083166000908152600660209081526040918290208251608081018452815485168082526001830154861693820193909352600282015490941692840192909252600390910154606083015280620009915760405162461bcd60e51b815260040180806020018281038252603d815260200180620028c7603d913960400191505060405180910390fd5b336001600160a01b03821614620009da5760405162461bcd60e51b81526004018080602001828103825260458152602001806200279c6045913960600191505060405180910390fd5b6000546001600160a01b0382811691161462000a285760405162461bcd60e51b815260040180806020018281038252604f815260200180620025ed604f913960600191505060405180910390fd5b60608201514281111562000a6e5760405162461bcd60e51b8152600401808060200182810382526038815260200180620027296038913960400191505060405180910390fd5b6001600160a01b0380861660009081526005602090815260409182902054908601519186015192169162000aa9600289858886868d62001838565b876001600160a01b0316634140d607826040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050600060405180830381600087803b15801562000af957600080fd5b505af115801562000b0e573d6000803e3d6000fd5b50505050876001600160a01b031663ab9253ac836040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050600060405180830381600087803b15801562000b6257600080fd5b505af115801562000b77573d6000803e3d6000fd5b5050506001600160a01b03808a1660009081526005602090815260408083208054948b166001600160a01b0319958616179055600690915281208054831681556001810180548416905560028101805490931690925560039182015562000be5915089858886868d62001838565b604080516001600160a01b038481168252838116602083015281830187905291518288169286811692908c16917fad6fb3d36e2cda148dfd43203c1a40c0da9a9baa662ae9d6c3b0c3e4a9d6a6359181900360600190a45050505050505050565b6001600160a01b03808216600090815260056020526040902054165b919050565b6001546001600160a01b031633811462000cb35760405162461bcd60e51b815260040180806020018281038252603e8152602001806200281c603e913960400191505060405180910390fd5b600180546001600160a01b0319908116909155600280546001600160a01b0384811693821684179092556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038116600090815260066020526040812060030154801580159062000d3c5750804210155b9392505050565b6002546001600160a01b0316331462000d8e5760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b6001600160a01b03811662000dd55760405162461bcd60e51b8152600401808060200182810382526036815260200180620026c86036913960400191505060405180910390fd5b6002546001600160a01b038281169116141562000e245760405162461bcd60e51b815260040180806020018281038252603b81526020018062002761603b913960400191505060405180910390fd5b6001546001600160a01b038281169116141562000e735760405162461bcd60e51b815260040180806020018281038252603b815260200180620027e1603b913960400191505060405180910390fd5b600180546001600160a01b0319166001600160a01b0383169081179091556040517f132c19de901bb4ed8403c34734b6c841d5dc57745824da452a52433519ea5abf90600090a250565b6002546001600160a01b0316331462000f085760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b62000f166004838362002081565b507ff0115712c23b609855a28d7b8963c6d16d732ae388b11e5d4ec6d5eae4ad8698828260405180806020018281038252848482818152602001925080828437600083820152604051601f909101601f19169092018290039550909350505050a15050565b6001600160a01b0381166000908152600660205260408120600301548062000fa857600091505062000c62565b80421062000fbb57600091505062000c62565b42900392915050565b6000546001600160a01b031690565b60008060008062000fe36200205a565b506001600160a01b038086166000908152600660209081526040918290208251608081018452815485168152600182015485169281019290925260028101549093169181019190915260039091015460608201819052156200106257806000015181602001518260400151836060015194509450945094505062001064565b505b9193509193565b6002546001600160a01b03163314620010b65760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b6001546001600160a01b031680620011005760405162461bcd60e51b81526004018080602001828103825260318152602001806200266a6031913960400191505060405180910390fd5b600180546001600160a01b03191690556040516001600160a01b038216907fe4136584a5e8bb85d66301f3ce8b11cc2e5a8bea3979f10ea2451353849acc4790600090a250565b6002546001600160a01b031690565b6002546001600160a01b03163314620011a15760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b6001600160a01b038116620011e85760405162461bcd60e51b81526004018080602001828103825260398152602001806200258e6039913960400191505060405180910390fd5b620011f38162001832565b620012305760405162461bcd60e51b8152600401808060200182810382526036815260200180620028916036913960400191505060405180910390fd5b6000546001600160a01b03908116908216811415620012815760405162461bcd60e51b81526004018080602001828103825260488152602001806200251a6048913960600191505060405180910390fd5b600080546001600160a01b0319166001600160a01b03848116918217909255604080519284168352602083019190915280517f44cf34a26ccbaa8a20e6098a1278e28682572ec9921eb43d8dab274a503e92f59281900390910190a15050565b620012eb6200205a565b506001600160a01b0380831660009081526006602090815260409182902082516080810184528154851680825260018301548616938201939093526002820154909416928401929092526003909101546060830152806200137e5760405162461bcd60e51b815260040180806020018281038252602c81526020018062002562602c913960400191505060405180910390fd5b336001600160a01b038216148062001407575060408051633ef03e7560e11b815233600482015290516001600160a01b03861691637de07cea916024808301926020929190829003018186803b158015620013d857600080fd5b505afa158015620013ed573d6000803e3d6000fd5b505050506040513d60208110156200140457600080fd5b50515b620014445760405162461bcd60e51b8152600401808060200182810382526026815260200180620025c76026913960400191505060405180910390fd5b6001600160a01b0380851660009081526005602090815260408083205486830151878301516060890151600690955292852080546001600160a01b03199081168255600182018054821690556002820180549091169055600301949094559093169290620014b9600489868887878d62001838565b620014c988858786868c62001bd1565b604080516001600160a01b038581168252848116602083015281830184905291518288169287811692908c16917f9851a8f232c380eb2c1065756776e37d85d4fe0c8cb4005b0d72c749bfef923e9181900360600190a45050505050505050565b60048054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815260609390929091830182828015620015ba5780601f106200158e57610100808354040283529160200191620015ba565b820191906000526020600020905b8154815290600101906020018083116200159c57829003601f168201915b5050505050905090565b6001600160a01b0316600090815260066020526040902060030154151590565b6000546001600160a01b031633146200162f5760405162461bcd60e51b8152600401808060200182810382526034815260200180620024b66034913960400191505060405180910390fd5b6200163a8362001832565b620016775760405162461bcd60e51b8152600401808060200182810382526030815260200180620024ea6030913960400191505060405180910390fd5b6001600160a01b038085166000908152600560205260409020541680620016d05760405162461bcd60e51b815260040180806020018281038252602b815260200180620026fe602b913960400191505060405180910390fd5b336001600160a01b0382168114156200171b5760405162461bcd60e51b81526004018080602001828103825260378152602001806200285a6037913960400191505060405180910390fd5b6200172d600087848489898962001838565b60038054604080516080810182526001600160a01b03808616825289811660208084019182528a831684860190815242909601606085018181528e85166000908152600690935295909120935184549084166001600160a01b0319918216178555915160018086018054928616928516929092179091559551600285018054919094169216919091179091559151930192909255620017d2908885858a8a8a62001838565b604080516001600160a01b038881168252878116602083015281830184905291518285169286811692908b16917fb519c42fdb88f83f098814813f2ebff14fbf14f3e68b054e5a98834c69d54bfb9181900360600190a450505050505050565b3b151590565b60006060866001600160a01b0316633f84c12c60e01b8a8a898989604051602401808660048111156200186757fe5b8152602001856001600160a01b03168152602001846001600160a01b03168152602001836001600160a01b03168152602001826001600160a01b0316815260200195505050505050604051602081830303815290604052906001600160e01b0319166020820180516001600160e01b0383818316178352505050506040518082805190602001908083835b60208310620019135780518252601f199092019160209182019101620018f2565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811462001977576040519150601f19603f3d011682016040523d82523d6000602084013e6200197c565b606091505b50915091508162001bc65782620019938a62001ea1565b826040516020018083805190602001908083835b60208310620019c85780518252601f199092019160209182019101620019a7565b51815160209384036101000a600019018019909216911617905285519190930192850191508083835b6020831062001a125780518252601f199092019160209182019101620019f1565b6001836020036101000a038019825116818451168082178552505050505050905001925050506040516020818303038152906040529062001ad45760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101562001a9857818101518382015260200162001a7e565b50505050905090810190601f16801562001ac65780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50856001600160a01b0316876001600160a01b0316896001600160a01b03167fbf0ae6830883bd89855f2e7b17a2924b5de0b2b3d4a8834d7c2c0d5dc53447db848d8a8a604051808060200185600481111562001b2d57fe5b8152602001846001600160a01b03168152602001836001600160a01b03168152602001828103825286818151815260200191508051906020019080838360005b8381101562001b8757818101518382015260200162001b6d565b50505050905090810190601f16801562001bb55780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a45b505050505050505050565b604080516001600160a01b038881166024830152878116604483015285811660648301528481166084808401919091528351808403909101815260a490920183526020820180516001600160e01b031663df369ba760e01b17815292518251600094606094938a169392918291908083835b6020831062001c645780518252601f19909201916020918201910162001c43565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811462001cc8576040519150601f19603f3d011682016040523d82523d6000602084013e62001ccd565b606091505b50915091508162001e9757828160405160200180807f4d6967726174696f6e4f757443616e63656c486f6f6b3a20000000000000000081525060180182805190602001908083835b6020831062001d365780518252601f19909201916020918201910162001d15565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040516020818303038152906040529062001db95760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831562001a9857818101518382015260200162001a7e565b50856001600160a01b0316876001600160a01b0316896001600160a01b03167f7c79070aa51adb676fb9c8d0f7a1f841ff9cf514444b37c95297ed1c52547b328489896040518080602001846001600160a01b03168152602001836001600160a01b03168152602001828103825285818151815260200191508051906020019080838360005b8381101562001e5957818101518382015260200162001e3f565b50505050905090810190601f16801562001e875780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a45b5050505050505050565b6060600082600481111562001eb257fe5b141562001ef4575060408051808201909152601c81527f4d6967726174696f6e4f7574486f6f6b2e5072655369676e616c3a2000000000602082015262000c62565b600182600481111562001f0357fe5b141562001f45575060408051808201909152601d81527f4d6967726174696f6e4f7574486f6f6b2e506f73745369676e616c3a20000000602082015262000c62565b600282600481111562001f5457fe5b141562001f96575060408051808201909152601d81527f4d6967726174696f6e4f7574486f6f6b2e5072654d6967726174653a20000000602082015262000c62565b600382600481111562001fa557fe5b141562001fe7575060408051808201909152601e81527f4d6967726174696f6e4f7574486f6f6b2e506f73744d6967726174653a200000602082015262000c62565b600482600481111562001ff657fe5b141562002038575060408051808201909152601d81527f4d6967726174696f6e4f7574486f6f6b2e506f737443616e63656c3a20000000602082015262000c62565b505060408051602081019091526000815290565b610398806200211e83390190565b60408051608081018252600080825260208201819052918101829052606081019190915290565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620020c45782800160ff19823516178555620020f4565b82800160010185558215620020f4579182015b82811115620020f4578235825591602001919060010190620020d7565b506200210292915062002106565b5090565b5b808211156200210257600081556001016200210756fe608060405234801561001057600080fd5b506040516103983803806103988339818101604052604081101561003357600080fd5b810190808051604051939291908464010000000082111561005357600080fd5b90830190602082018581111561006857600080fd5b825164010000000081118282018810171561008257600080fd5b82525081516020918201929091019080838360005b838110156100af578181015183820152602001610097565b50505050905090810190601f1680156100dc5780820380516001836020036101000a031916815260200191505b5060408181526020928301516352d1902d60e01b835290519094506001600160a01b03851693506352d1902d92600480840193919291829003018186803b15801561012657600080fd5b505afa15801561013a573d6000803e3d6000fd5b505050506040513d602081101561015057600080fd5b50517f027b9570e9fedc1a80b937ae9a06861e5faef3992491af30b684a64b3fbec7a5146101af5760405162461bcd60e51b81526004018080602001828103825260258152602001806103736025913960400191505060405180910390fd5b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5560006060826001600160a01b0316846040518082805190602001908083835b602083106102105780518252601f1990920191602091820191016101f1565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610270576040519150601f19603f3d011682016040523d82523d6000602084013e610275565b606091505b50915091508181906103055760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156102ca5781810151838201526020016102b2565b50505050905090810190601f1680156102f75780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5050505050605b806103186000396000f3fe60806040527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc543660008037600080366000846127105a03f43d806000803e818015604957816000f35b816000fdfea164736f6c634300060c000a636f6e7374727563746f723a205f7661756c744c6962206e6f7420636f6d70617469626c654f6e6c79207468652063757272656e742046756e644465706c6f7965722063616e2063616c6c20746869732066756e6374696f6e7369676e616c4d6967726174696f6e3a204e6f6e2d636f6e7472616374205f6e6578745661756c744163636573736f7273657443757272656e7446756e644465706c6f7965723a205f6e65787446756e644465706c6f79657220697320616c72656164792063757272656e7446756e644465706c6f79657263616e63656c4d6967726174696f6e3a204e6f206d6967726174696f6e20726571756573742065786973747373657443757272656e7446756e644465706c6f7965723a205f6e65787446756e644465706c6f7965722063616e6e6f7420626520656d70747963616e63656c4d6967726174696f6e3a204e6f7420616e20616c6c6f7765642063616c6c6572657865637574654d6967726174696f6e3a20546865207461726765742046756e644465706c6f796572206973206e6f206c6f6e676572207468652063757272656e742046756e644465706c6f7965724f6e6c792074686520636f6e7472616374206f776e65722063616e2063616c6c20746869732066756e6374696f6e72656d6f76654e6f6d696e617465644f776e65723a205468657265206973206e6f206e6f6d696e61746564206f776e65726465706c6f795661756c7450726f78793a204e6f6e2d636f6e7472616374205f7661756c744163636573736f727365744e6f6d696e617465644f776e65723a205f6e6578744e6f6d696e617465644f776e65722063616e6e6f7420626520656d7074797369676e616c4d6967726174696f6e3a205f7661756c7450726f787920646f6573206e6f74206578697374657865637574654d6967726174696f6e3a20546865206d6967726174696f6e2074696d656c6f636b20686173206e6f7420656c61707365647365744e6f6d696e617465644f776e65723a205f6e6578744e6f6d696e617465644f776e657220697320616c726561647920746865206f776e6572657865637574654d6967726174696f6e3a204f6e6c7920746865207461726765742046756e644465706c6f7965722063616e2063616c6c20746869732066756e6374696f6e7365744e6f6d696e617465644f776e65723a205f6e6578744e6f6d696e617465644f776e657220697320616c7265616479206e6f6d696e61746564636c61696d4f776e6572736869703a204f6e6c7920746865206e6f6d696e617465644f776e65722063616e2063616c6c20746869732066756e6374696f6e7369676e616c4d6967726174696f6e3a2043616e206f6e6c79206d69677261746520746f2061206e65772046756e644465706c6f79657273657443757272656e7446756e644465706c6f7965723a204e6f6e2d636f6e7472616374205f6e65787446756e644465706c6f796572657865637574654d6967726174696f6e3a204e6f206d6967726174696f6e20726571756573742065786973747320666f72205f7661756c7450726f78797365744d6967726174696f6e54696d656c6f636b3a205f6e65787454696d656c6f636b206973207468652063757272656e742074696d656c6f636ba164736f6c634300060c000a4f6e6c792074686520636f6e7472616374206f776e65722063616e2063616c6c20746869732066756e6374696f6e4572726f723a2061203d3d2062206e6f7420736174697366696564205b616464726573735da164736f6c634300060c000a", "sourceMap": "2483:674:456:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;823:78;;;:::i;:::-;;316:38:436;;;:::i;:::-;;;;-1:-1:-1;;;;;316:38:436;;;;;;;;;;;;;;669:148:456;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;669:148:456;;-1:-1:-1;669:148:456;;-1:-1:-1;;;;;669:148:456:i;2904:251::-;;;:::i;1819:584:435:-;;;:::i;:::-;;;;;;;;;;;;;;;;;;2607:291:456;;;:::i;165:28:436:-;;;:::i;1572:26:435:-;;;:::i;823:78:456:-;878:16;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;865:10:456;:29;;-1:-1:-1;;;;;;865:29:456;-1:-1:-1;;;;;865:29:456;;;;;;;;;;823:78::o;316:38:436:-;245:64;316:38;:::o;669:148:456:-;783:23;;;;;;;-1:-1:-1;;;;;751:59:456;;669:148::o;2904:251::-;2953:10;;:43;;;-1:-1:-1;;;2953:43:456;;2990:4;2953:43;;;;;;-1:-1:-1;;;;;2953:10:456;;;;:28;;:43;;;;;:10;;:43;;;;;;;;:10;;:43;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3007:23:456;;;-1:-1:-1;;;3007:23:456;;3024:4;3007:23;;;;;;245:64:436;;-1:-1:-1;3007:8:456;;-1:-1:-1;3007:23:456;;;;;269:37:436;;3007:23:456;;;;;;;269:37:436;245:64;3007:23:456;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3040:65:456;;-1:-1:-1;;;3040:65:456;;;;;;;;;;;;;;;;245:64:436;;-1:-1:-1;3040:15:456;;-1:-1:-1;3040:65:456;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3115:10;;;;;;;;;-1:-1:-1;;;;;3115:10:456;-1:-1:-1;;;;;3115:31:456;;:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2904:251::o;1819:584:435:-;1853:4;1873:7;;;;;;;1869:528;;;-1:-1:-1;1903:7:435;;;;;;;1896:14;;1869:528;1941:17;1984:16;:14;:16::i;:::-;1980:374;;;2196:43;;;1671:64;2196:43;;;;;;;-1:-1:-1;;;2196:43:435;;;;;;;;;;;;;2023:20;2196:43;;;;;;-1:-1:-1;;;2086:175:435;;;;;;;;1671:64;;2135:34;;2196:43;;2086:175;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2086:175:435;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2047:232;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2047:232:435;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2020:259;;;2323:7;2312:27;;;;;;;;;;;;;;;-1:-1:-1;2312:27:435;;-1:-1:-1;;1980:374:435;2374:12;-1:-1:-1;1869:528:435;1819:584;:::o;2607:291:456:-;2649:10;;:43;;;-1:-1:-1;;;2649:43:456;;2686:4;2649:43;;;;;;-1:-1:-1;;;;;2649:10:456;;;;:28;;:43;;;;;:10;;:43;;;;;;;;:10;;:43;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2703:37:456;;;-1:-1:-1;;;2703:37:456;;2717:4;2703:37;;;;;;;;;;;;;;;;;;;;;;;;245:64:436;;-1:-1:-1;2703:13:456;;-1:-1:-1;2703:37:456;;;;;269::436;;2703::456;;;;;;;269::436;245:64;2703:37:456;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2755:36:456;;2785:4;;-1:-1:-1;2755:36:456;;-1:-1:-1;2755:36:456;;;2802:10;;;;;;;;;-1:-1:-1;;;;;2802:10:456;-1:-1:-1;;;;;2802:31:456;;:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2845:46;2862:4;2869:10;;;;;;;;;-1:-1:-1;;;;;2869:10:456;-1:-1:-1;;;;;2869:19:456;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2869:21:456;2845:8;:46::i;:::-;2607:291::o;165:28:436:-;;;;;;;;;:::o;1572:26:435:-;;;;;;:::o;2840:242::-;2990:42;2978:55;3059:16;;2840:242;:::o;3615:277::-;3683:1;-1:-1:-1;;;;;3678:6:435;:1;-1:-1:-1;;;;;3678:6:435;;3674:212;;3705:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3768:34;;;-1:-1:-1;;;;;3768:34:435;;;;;;;;;;;;;;-1:-1:-1;;;3768:34:435;;;;;;;;;;;;;;;3821;;;-1:-1:-1;;;;;3821:34:435;;;;;;;;;;;;;;-1:-1:-1;;;3821:34:435;;;;;;;;;;;;;;;3869:6;:4;:6::i;:::-;3615:277;;:::o;2410:424::-;2449:16;:14;:16::i;:::-;2445:359;;;2645:67;;;1671:64;2645:67;;;;;;;-1:-1:-1;;;2645:67:435;;;;2705:4;1679:55;2645:67;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2534:196:435;;;;;;;;2482:11;;1671:64;;2579:43;;2645:67;2534:196;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2534:196:435;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2499:245;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2499:245:435;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;2445:359:435;2813:7;:14;;-1:-1:-1;;2813:14:435;;;;;2410:424::o;-1:-1:-1:-;;;;;;;;:::o", "linkReferences": {} }, "methodIdentifiers": { "IS_SCRIPT()": "f8ccbf47", "IS_TEST()": "fa7626d4", "addr(string)": "511b1df9", "failed()": "ba414fa6", "setUp()": "0a9254e4", "testAnonCannotRemove()": "6e4ac65c", "testHappyPath()": "cd8591bb", "vm()": "3a768463" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"nominatedOwner\",\"type\":\"address\"}],\"name\":\"NominatedOwnerRemoved\",\"type\":\"event\"},{\"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_SCRIPT\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"}],\"name\":\"addr\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"setUp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testAnonCannotRemove\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testHappyPath\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"vm\",\"outputs\":[{\"internalType\":\"contract Vm\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"tests/persistent/Dispatcher.t.sol\":\"RemoveNominatedOwnerTest\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/mocks/MockVaultLib.sol\":{\"keccak256\":\"0x14d298c9cd4411cc6260fe50b93a1da572c5ddee7bfca377dd35403741c4e3b6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://e51c048dc4e2c9117fff0ecd4ab94d09701b9cd89247db8608c1a491c7374635\",\"dweb:/ipfs/QmYkH9dXQp1EEMfrcGPUTc3ey4o2UtvG91vDxjgQzwUuHE\"]},\"contracts/persistent/dispatcher/Dispatcher.sol\":{\"keccak256\":\"0x0590285e72005e40573fcc93e95aa75a5963bdcf5b02a627c73d8bc982f9d850\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://e9f2190a9ba01ec1f03b5159387c3864b9700337f3d7b07ec0758bbde52d32e2\",\"dweb:/ipfs/QmX5gevftdWC5xzSVcmVn14aFhKgweCXAhndZ8ZECN92fj\"]},\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/dispatcher/IMigrationHookHandler.sol\":{\"keccak256\":\"0x4cec61ef58c1d2e7693ee954c3582b1a04ff836a569e216edb7526c7e56a5632\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://0acae6d91e3e20e6ebd46cbeff926967a2d64f3d8eb2e3cdff20366917a77879\",\"dweb:/ipfs/Qmd44oJngTNRnwXdDwtNd9o4UvTgxAmBGikz3QMPKf4NWy\"]},\"contracts/persistent/vault/VaultLibBaseCore.sol\":{\"keccak256\":\"0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd\",\"dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz\"]},\"contracts/persistent/vault/VaultProxy.sol\":{\"keccak256\":\"0x08ff12cb7955ab80cf35f98a5abae23a92f655916669986d1580cb394f6b6bb3\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://320fcccd67d3390d6762bdef41f7d5e679e61b3244b1d945fc33402ea684bc3a\",\"dweb:/ipfs/Qmaaxqgm4EzF1r4n52pkjs7bA5quKhVwrh356rTFXDj86L\"]},\"contracts/persistent/vault/interfaces/IMigratableVault.sol\":{\"keccak256\":\"0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6\",\"dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs\"]},\"contracts/persistent/vault/utils/ProxiableVaultLib.sol\":{\"keccak256\":\"0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44\",\"dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4\"]},\"contracts/persistent/vault/utils/SharesTokenBase.sol\":{\"keccak256\":\"0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8\",\"dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4\"]},\"contracts/persistent/vault/utils/VaultLibSafeMath.sol\":{\"keccak256\":\"0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02\",\"dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG\"]},\"lib/forge-std/lib/ds-test/src/test.sol\":{\"keccak256\":\"0xb39cd1d5220cb474947b131e15a4538334b7e886af244b440ae5c9c6bba96a54\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://3101520221449ac0070bda3881311a71d9aa87e5210765e875246922cb5cb5f5\",\"dweb:/ipfs/Qmbg6kAHNoG7ox9N9Xqd9Ere2H2XixMFWFqvyPwFCzB3Gr\"]},\"lib/forge-std/src/Script.sol\":{\"keccak256\":\"0x4424dbcb8f5b741475445726f87408fcd89951fad973bec2ca442ee157f910e7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5b0b9f6dfb69245d8f888558ae82bf1d2cdeace46201444fe4b2e6a5283f944a\",\"dweb:/ipfs/QmWFSKeFEZngNcwNn7A84EF7pASo5qe6r5oK24r9Kwca7Z\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0xa85dee62f7a3d7d3b26051f28d08bbfaa6d76888b8e64395583c35f11070372b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f3ecace3d6120731c4520f651c36658940df958755a2c86d6bf0ec895320a915\",\"dweb:/ipfs/QmVGbUYLtMsAYF3C27qHKs3VHRuRNDypuDfs4XGK47kqUT\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x63fc2487cf3a6650d933e18bcb61766f15f74c327192381806ea00f8f6446f66\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aad99f7b2ed3b11ff6c17b84b4196c562898640a80cabc2c28c87c116099a00f\",\"dweb:/ipfs/QmQNNbxHabRycegyXwJWBDutrdcScAP2SU5zEvorWEaFpx\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0xbeb823fcdb356244a83aaccdf828ad019ecc1ffaa3dff18e624fc6d5714ea671\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4cbe9400340e5f9ec55e2aff3bad1c15fa3afbbe37e80800e6f3fed2ad26854f\",\"dweb:/ipfs/QmdJBABsuXkvWxVzEyGXsTE3vyfBPXDdw5xvvtUz3JeoYW\"]},\"tests/persistent/Dispatcher.t.sol\":{\"keccak256\":\"0x9f19e0376c4d2fa61f4c50089a46d54b7a1d464b31413aeb4147da02b44cd298\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://e9f733c425d149594c2044229dd51e543d330cfb11b7825dfd59631a3aabd71d\",\"dweb:/ipfs/QmY3c9daKiMH2W9qbq94TekosaySFV44ZUXsGuBfigo832\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "nominatedOwner", "type": "address", "indexed": true } ], "type": "event", "name": "NominatedOwnerRemoved", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "", "type": "string", "indexed": false } ], "type": "event", "name": "log", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "", "type": "address", "indexed": false } ], "type": "event", "name": "log_address", "anonymous": false }, { "inputs": [ { "internalType": "uint256[]", "name": "val", "type": "uint256[]", "indexed": false } ], "type": "event", "name": "log_array", "anonymous": false }, { "inputs": [ { "internalType": "int256[]", "name": "val", "type": "int256[]", "indexed": false } ], "type": "event", "name": "log_array", "anonymous": false }, { "inputs": [ { "internalType": "address[]", "name": "val", "type": "address[]", "indexed": false } ], "type": "event", "name": "log_array", "anonymous": false }, { "inputs": [ { "internalType": "bytes", "name": "", "type": "bytes", "indexed": false } ], "type": "event", "name": "log_bytes", "anonymous": false }, { "inputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32", "indexed": false } ], "type": "event", "name": "log_bytes32", "anonymous": false }, { "inputs": [ { "internalType": "int256", "name": "", "type": "int256", "indexed": false } ], "type": "event", "name": "log_int", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "key", "type": "string", "indexed": false }, { "internalType": "address", "name": "val", "type": "address", "indexed": false } ], "type": "event", "name": "log_named_address", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "key", "type": "string", "indexed": false }, { "internalType": "uint256[]", "name": "val", "type": "uint256[]", "indexed": false } ], "type": "event", "name": "log_named_array", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "key", "type": "string", "indexed": false }, { "internalType": "int256[]", "name": "val", "type": "int256[]", "indexed": false } ], "type": "event", "name": "log_named_array", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "key", "type": "string", "indexed": false }, { "internalType": "address[]", "name": "val", "type": "address[]", "indexed": false } ], "type": "event", "name": "log_named_array", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "key", "type": "string", "indexed": false }, { "internalType": "bytes", "name": "val", "type": "bytes", "indexed": false } ], "type": "event", "name": "log_named_bytes", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "key", "type": "string", "indexed": false }, { "internalType": "bytes32", "name": "val", "type": "bytes32", "indexed": false } ], "type": "event", "name": "log_named_bytes32", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "key", "type": "string", "indexed": false }, { "internalType": "int256", "name": "val", "type": "int256", "indexed": false }, { "internalType": "uint256", "name": "decimals", "type": "uint256", "indexed": false } ], "type": "event", "name": "log_named_decimal_int", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "key", "type": "string", "indexed": false }, { "internalType": "uint256", "name": "val", "type": "uint256", "indexed": false }, { "internalType": "uint256", "name": "decimals", "type": "uint256", "indexed": false } ], "type": "event", "name": "log_named_decimal_uint", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "key", "type": "string", "indexed": false }, { "internalType": "int256", "name": "val", "type": "int256", "indexed": false } ], "type": "event", "name": "log_named_int", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "key", "type": "string", "indexed": false }, { "internalType": "string", "name": "val", "type": "string", "indexed": false } ], "type": "event", "name": "log_named_string", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "key", "type": "string", "indexed": false }, { "internalType": "uint256", "name": "val", "type": "uint256", "indexed": false } ], "type": "event", "name": "log_named_uint", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "", "type": "string", "indexed": false } ], "type": "event", "name": "log_string", "anonymous": false }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256", "indexed": false } ], "type": "event", "name": "log_uint", "anonymous": false }, { "inputs": [ { "internalType": "bytes", "name": "", "type": "bytes", "indexed": false } ], "type": "event", "name": "logs", "anonymous": false }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "IS_SCRIPT", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "IS_TEST", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [ { "internalType": "string", "name": "_name", "type": "string" } ], "stateMutability": "pure", "type": "function", "name": "addr", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ] }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "failed", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "setUp" }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "testAnonCannotRemove" }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "testHappyPath" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "vm", "outputs": [ { "internalType": "contract Vm", "name": "", "type": "address" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "tests/persistent/Dispatcher.t.sol": "RemoveNominatedOwnerTest" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/mocks/MockVaultLib.sol": { "keccak256": "0x14d298c9cd4411cc6260fe50b93a1da572c5ddee7bfca377dd35403741c4e3b6", "urls": [ "bzz-raw://e51c048dc4e2c9117fff0ecd4ab94d09701b9cd89247db8608c1a491c7374635", "dweb:/ipfs/QmYkH9dXQp1EEMfrcGPUTc3ey4o2UtvG91vDxjgQzwUuHE" ], "license": "GPL-3.0" }, "contracts/persistent/dispatcher/Dispatcher.sol": { "keccak256": "0x0590285e72005e40573fcc93e95aa75a5963bdcf5b02a627c73d8bc982f9d850", "urls": [ "bzz-raw://e9f2190a9ba01ec1f03b5159387c3864b9700337f3d7b07ec0758bbde52d32e2", "dweb:/ipfs/QmX5gevftdWC5xzSVcmVn14aFhKgweCXAhndZ8ZECN92fj" ], "license": "GPL-3.0" }, "contracts/persistent/dispatcher/IDispatcher.sol": { "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", "urls": [ "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" ], "license": "GPL-3.0" }, "contracts/persistent/dispatcher/IMigrationHookHandler.sol": { "keccak256": "0x4cec61ef58c1d2e7693ee954c3582b1a04ff836a569e216edb7526c7e56a5632", "urls": [ "bzz-raw://0acae6d91e3e20e6ebd46cbeff926967a2d64f3d8eb2e3cdff20366917a77879", "dweb:/ipfs/Qmd44oJngTNRnwXdDwtNd9o4UvTgxAmBGikz3QMPKf4NWy" ], "license": "GPL-3.0" }, "contracts/persistent/vault/VaultLibBaseCore.sol": { "keccak256": "0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074", "urls": [ "bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd", "dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz" ], "license": "GPL-3.0" }, "contracts/persistent/vault/VaultProxy.sol": { "keccak256": "0x08ff12cb7955ab80cf35f98a5abae23a92f655916669986d1580cb394f6b6bb3", "urls": [ "bzz-raw://320fcccd67d3390d6762bdef41f7d5e679e61b3244b1d945fc33402ea684bc3a", "dweb:/ipfs/Qmaaxqgm4EzF1r4n52pkjs7bA5quKhVwrh356rTFXDj86L" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IMigratableVault.sol": { "keccak256": "0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238", "urls": [ "bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6", "dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs" ], "license": "GPL-3.0" }, "contracts/persistent/vault/utils/ProxiableVaultLib.sol": { "keccak256": "0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76", "urls": [ "bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44", "dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4" ], "license": "GPL-3.0" }, "contracts/persistent/vault/utils/SharesTokenBase.sol": { "keccak256": "0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113", "urls": [ "bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8", "dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4" ], "license": "GPL-3.0" }, "contracts/persistent/vault/utils/VaultLibSafeMath.sol": { "keccak256": "0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d", "urls": [ "bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02", "dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG" ], "license": "GPL-3.0" }, "lib/forge-std/lib/ds-test/src/test.sol": { "keccak256": "0xb39cd1d5220cb474947b131e15a4538334b7e886af244b440ae5c9c6bba96a54", "urls": [ "bzz-raw://3101520221449ac0070bda3881311a71d9aa87e5210765e875246922cb5cb5f5", "dweb:/ipfs/Qmbg6kAHNoG7ox9N9Xqd9Ere2H2XixMFWFqvyPwFCzB3Gr" ], "license": "GPL-3.0-or-later" }, "lib/forge-std/src/Script.sol": { "keccak256": "0x4424dbcb8f5b741475445726f87408fcd89951fad973bec2ca442ee157f910e7", "urls": [ "bzz-raw://5b0b9f6dfb69245d8f888558ae82bf1d2cdeace46201444fe4b2e6a5283f944a", "dweb:/ipfs/QmWFSKeFEZngNcwNn7A84EF7pASo5qe6r5oK24r9Kwca7Z" ], "license": "MIT" }, "lib/forge-std/src/Test.sol": { "keccak256": "0xa85dee62f7a3d7d3b26051f28d08bbfaa6d76888b8e64395583c35f11070372b", "urls": [ "bzz-raw://f3ecace3d6120731c4520f651c36658940df958755a2c86d6bf0ec895320a915", "dweb:/ipfs/QmVGbUYLtMsAYF3C27qHKs3VHRuRNDypuDfs4XGK47kqUT" ], "license": "MIT" }, "lib/forge-std/src/Vm.sol": { "keccak256": "0x63fc2487cf3a6650d933e18bcb61766f15f74c327192381806ea00f8f6446f66", "urls": [ "bzz-raw://aad99f7b2ed3b11ff6c17b84b4196c562898640a80cabc2c28c87c116099a00f", "dweb:/ipfs/QmQNNbxHabRycegyXwJWBDutrdcScAP2SU5zEvorWEaFpx" ], "license": "MIT" }, "lib/forge-std/src/console.sol": { "keccak256": "0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba", "urls": [ "bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70", "dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec" ], "license": "MIT" }, "lib/forge-std/src/console2.sol": { "keccak256": "0xbeb823fcdb356244a83aaccdf828ad019ecc1ffaa3dff18e624fc6d5714ea671", "urls": [ "bzz-raw://4cbe9400340e5f9ec55e2aff3bad1c15fa3afbbe37e80800e6f3fed2ad26854f", "dweb:/ipfs/QmdJBABsuXkvWxVzEyGXsTE3vyfBPXDdw5xvvtUz3JeoYW" ], "license": "MIT" }, "tests/persistent/Dispatcher.t.sol": { "keccak256": "0x9f19e0376c4d2fa61f4c50089a46d54b7a1d464b31413aeb4147da02b44cd298", "urls": [ "bzz-raw://e9f733c425d149594c2044229dd51e543d330cfb11b7825dfd59631a3aabd71d", "dweb:/ipfs/QmY3c9daKiMH2W9qbq94TekosaySFV44ZUXsGuBfigo832" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 456 } diff --git a/eth_defi/abi/enzyme/RevertingPriceFeed.json b/eth_defi/abi/enzyme/RevertingPriceFeed.json index 891e3d08..fb9cb4d3 100644 --- a/eth_defi/abi/enzyme/RevertingPriceFeed.json +++ b/eth_defi/abi/enzyme/RevertingPriceFeed.json @@ -1,200 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "calcUnderlyingValues", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "isSupportedAsset", - "outputs": [ - { - "internalType": "bool", - "name": "isSupported_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x608060405234801561001057600080fd5b506101af806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063727212f61461003b5780639be918e614610100575b600080fd5b6100676004803603604081101561005157600080fd5b506001600160a01b03813516906020013561013a565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156100ab578181015183820152602001610093565b50505050905001838103825284818151815260200191508051906020019060200280838360005b838110156100ea5781810151838201526020016100d2565b5050505090500194505050505060405180910390f35b6101266004803603602081101561011657600080fd5b50356001600160a01b0316610174565b604080519115158252519081900360200190f35b60608060405162461bcd60e51b815260040180806020018281038252602881526020018061017b6028913960400191505060405180910390fd5b5060019056fe63616c63556e6465726c79696e6756616c7565733a20526576657274696e67507269636546656564a164736f6c634300060c000a", - "sourceMap": "640:626:246:-:0;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c8063727212f61461003b5780639be918e614610100575b600080fd5b6100676004803603604081101561005157600080fd5b506001600160a01b03813516906020013561013a565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156100ab578181015183820152602001610093565b50505050905001838103825284818151815260200191508051906020019060200280838360005b838110156100ea5781810151838201526020016100d2565b5050505090500194505050505060405180910390f35b6101266004803603602081101561011657600080fd5b50356001600160a01b0316610174565b604080519115158252519081900360200190f35b60608060405162461bcd60e51b815260040180806020018281038252602881526020018061017b6028913960400191505060405180910390fd5b5060019056fe63616c63556e6465726c79696e6756616c7565733a20526576657274696e67507269636546656564a164736f6c634300060c000a", - "sourceMap": "640:626:246:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;785:206;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;785:206:246;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1152:112;;;;;;;;;;;;;;;;-1:-1:-1;1152:112:246;-1:-1:-1;;;;;1152:112:246;;:::i;:::-;;;;;;;;;;;;;;;;;;785:206;884:16;902;934:50;;-1:-1:-1;;;934:50:246;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1152:112;-1:-1:-1;1253:4:246;;1152:112::o", - "linkReferences": {} - }, - "methodIdentifiers": { - "calcUnderlyingValues(address,uint256)": "727212f6", - "isSupportedAsset(address)": "9be918e6" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"calcUnderlyingValues\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"isSupportedAsset\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isSupported_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"Used purely for extraordinary circumstances where we want to prevent value calculations, while allowing an asset to continue to be in the asset universe\",\"kind\":\"dev\",\"methods\":{\"isSupportedAsset(address)\":{\"returns\":{\"isSupported_\":\"True if the asset is a supported primitive\"}}},\"title\":\"RevertingPriceFeed Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"calcUnderlyingValues(address,uint256)\":{\"notice\":\"Converts a given amount of a derivative to its underlying asset values\"},\"isSupportedAsset(address)\":{\"notice\":\"Checks whether an asset is a supported primitive of the price feed\"}},\"notice\":\"Price feed that always reverts on value conversion\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/infrastructure/price-feeds/derivatives/feeds/RevertingPriceFeed.sol\":\"RevertingPriceFeed\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol\":{\"keccak256\":\"0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e\",\"dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK\"]},\"contracts/release/infrastructure/price-feeds/derivatives/feeds/RevertingPriceFeed.sol\":{\"keccak256\":\"0xf01ca67283fcb55a67353883c92e3a920adb798338227e3e15df44446d667a63\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://fe351e219dbe0be184bb3098d4d1432fce026727986b9bb9f37a0c395e155297\",\"dweb:/ipfs/QmYE2zV9fQVXUeBR6RwKGANSov3cf2NzqqxVx4P8oUXeLf\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "calcUnderlyingValues", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "isSupportedAsset", - "outputs": [ - { - "internalType": "bool", - "name": "isSupported_", - "type": "bool" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "isSupportedAsset(address)": { - "returns": { - "isSupported_": "True if the asset is a supported primitive" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "calcUnderlyingValues(address,uint256)": { - "notice": "Converts a given amount of a derivative to its underlying asset values" - }, - "isSupportedAsset(address)": { - "notice": "Checks whether an asset is a supported primitive of the price feed" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/infrastructure/price-feeds/derivatives/feeds/RevertingPriceFeed.sol": "RevertingPriceFeed" - }, - "libraries": {} - }, - "sources": { - "contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol": { - "keccak256": "0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332", - "urls": [ - "bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e", - "dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/price-feeds/derivatives/feeds/RevertingPriceFeed.sol": { - "keccak256": "0xf01ca67283fcb55a67353883c92e3a920adb798338227e3e15df44446d667a63", - "urls": [ - "bzz-raw://fe351e219dbe0be184bb3098d4d1432fce026727986b9bb9f37a0c395e155297", - "dweb:/ipfs/QmYE2zV9fQVXUeBR6RwKGANSov3cf2NzqqxVx4P8oUXeLf" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 246 -} +{ "abi": [ { "type": "function", "name": "calcUnderlyingValues", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "address[]", "internalType": "address[]" }, { "name": "", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "isSupportedAsset", "inputs": [ { "name": "", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "isSupported_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" } ], "bytecode": { "object": "0x608060405234801561001057600080fd5b506101af806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063727212f61461003b5780639be918e614610100575b600080fd5b6100676004803603604081101561005157600080fd5b506001600160a01b03813516906020013561013a565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156100ab578181015183820152602001610093565b50505050905001838103825284818151815260200191508051906020019060200280838360005b838110156100ea5781810151838201526020016100d2565b5050505090500194505050505060405180910390f35b6101266004803603602081101561011657600080fd5b50356001600160a01b0316610174565b604080519115158252519081900360200190f35b60608060405162461bcd60e51b815260040180806020018281038252602881526020018061017b6028913960400191505060405180910390fd5b5060019056fe63616c63556e6465726c79696e6756616c7565733a20526576657274696e67507269636546656564a164736f6c634300060c000a", "sourceMap": "640:626:246:-:0;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c8063727212f61461003b5780639be918e614610100575b600080fd5b6100676004803603604081101561005157600080fd5b506001600160a01b03813516906020013561013a565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156100ab578181015183820152602001610093565b50505050905001838103825284818151815260200191508051906020019060200280838360005b838110156100ea5781810151838201526020016100d2565b5050505090500194505050505060405180910390f35b6101266004803603602081101561011657600080fd5b50356001600160a01b0316610174565b604080519115158252519081900360200190f35b60608060405162461bcd60e51b815260040180806020018281038252602881526020018061017b6028913960400191505060405180910390fd5b5060019056fe63616c63556e6465726c79696e6756616c7565733a20526576657274696e67507269636546656564a164736f6c634300060c000a", "sourceMap": "640:626:246:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;785:206;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;785:206:246;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1152:112;;;;;;;;;;;;;;;;-1:-1:-1;1152:112:246;-1:-1:-1;;;;;1152:112:246;;:::i;:::-;;;;;;;;;;;;;;;;;;785:206;884:16;902;934:50;;-1:-1:-1;;;934:50:246;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1152:112;-1:-1:-1;1253:4:246;;1152:112::o", "linkReferences": {} }, "methodIdentifiers": { "calcUnderlyingValues(address,uint256)": "727212f6", "isSupportedAsset(address)": "9be918e6" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"calcUnderlyingValues\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"isSupportedAsset\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isSupported_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"Used purely for extraordinary circumstances where we want to prevent value calculations, while allowing an asset to continue to be in the asset universe\",\"kind\":\"dev\",\"methods\":{\"isSupportedAsset(address)\":{\"returns\":{\"isSupported_\":\"True if the asset is a supported primitive\"}}},\"title\":\"RevertingPriceFeed Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"calcUnderlyingValues(address,uint256)\":{\"notice\":\"Converts a given amount of a derivative to its underlying asset values\"},\"isSupportedAsset(address)\":{\"notice\":\"Checks whether an asset is a supported primitive of the price feed\"}},\"notice\":\"Price feed that always reverts on value conversion\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/infrastructure/price-feeds/derivatives/feeds/RevertingPriceFeed.sol\":\"RevertingPriceFeed\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol\":{\"keccak256\":\"0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e\",\"dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK\"]},\"contracts/release/infrastructure/price-feeds/derivatives/feeds/RevertingPriceFeed.sol\":{\"keccak256\":\"0xf01ca67283fcb55a67353883c92e3a920adb798338227e3e15df44446d667a63\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://fe351e219dbe0be184bb3098d4d1432fce026727986b9bb9f37a0c395e155297\",\"dweb:/ipfs/QmYE2zV9fQVXUeBR6RwKGANSov3cf2NzqqxVx4P8oUXeLf\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "calcUnderlyingValues", "outputs": [ { "internalType": "address[]", "name": "", "type": "address[]" }, { "internalType": "uint256[]", "name": "", "type": "uint256[]" } ] }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "isSupportedAsset", "outputs": [ { "internalType": "bool", "name": "isSupported_", "type": "bool" } ] } ], "devdoc": { "kind": "dev", "methods": { "isSupportedAsset(address)": { "returns": { "isSupported_": "True if the asset is a supported primitive" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "calcUnderlyingValues(address,uint256)": { "notice": "Converts a given amount of a derivative to its underlying asset values" }, "isSupportedAsset(address)": { "notice": "Checks whether an asset is a supported primitive of the price feed" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/infrastructure/price-feeds/derivatives/feeds/RevertingPriceFeed.sol": "RevertingPriceFeed" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol": { "keccak256": "0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332", "urls": [ "bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e", "dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/price-feeds/derivatives/feeds/RevertingPriceFeed.sol": { "keccak256": "0xf01ca67283fcb55a67353883c92e3a920adb798338227e3e15df44446d667a63", "urls": [ "bzz-raw://fe351e219dbe0be184bb3098d4d1432fce026727986b9bb9f37a0c395e155297", "dweb:/ipfs/QmYE2zV9fQVXUeBR6RwKGANSov3cf2NzqqxVx4P8oUXeLf" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 246 } diff --git a/eth_defi/abi/enzyme/SafeCast.json b/eth_defi/abi/enzyme/SafeCast.json index e1e21943..e3c8549c 100644 --- a/eth_defi/abi/enzyme/SafeCast.json +++ b/eth_defi/abi/enzyme/SafeCast.json @@ -1,78 +1 @@ -{ - "abi": [], - "bytecode": { - "object": "0x602d6023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c634300060c000a", - "sourceMap": "777:5765:454:-:0;;;;;;;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c634300060c000a", - "sourceMap": "777:5765:454:-:0;;;;;;;;", - "linkReferences": {} - }, - "methodIdentifiers": {}, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Wrappers over Solidity's uintXX/intXX casting operators with added overflow checks. Downcasting from uint256/int256 in Solidity does not revert on overflow. This can easily result in undesired exploitation or bugs, since developers usually assume that overflows raise errors. `SafeCast` restores this intuition by reverting the transaction when such an operation overflows. Using this library instead of the unchecked operations eliminates an entire class of bugs, so it's recommended to use it always. Can be combined with {SafeMath} and {SignedSafeMath} to extend it to smaller types, by performing all math on `uint256` and `int256` and then downcasting.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@openzeppelin/contracts/utils/SafeCast.sol\":\"SafeCast\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"node_modules/@openzeppelin/contracts/utils/SafeCast.sol\":{\"keccak256\":\"0x7b2b8baa20fd60ab4a328c8e34c64a353651b80ba4b5b157cbb61813f6f85d55\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://125b7f9efa390e663d630c62b97ae4e0707f31623bea989ef94c97ca9d777dd2\",\"dweb:/ipfs/QmaaLSuwvqK7wqcgyS3utHgfmB7RntcvP7eJSuvQod8Z9P\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "node_modules/@openzeppelin/contracts/utils/SafeCast.sol": "SafeCast" - }, - "libraries": {} - }, - "sources": { - "node_modules/@openzeppelin/contracts/utils/SafeCast.sol": { - "keccak256": "0x7b2b8baa20fd60ab4a328c8e34c64a353651b80ba4b5b157cbb61813f6f85d55", - "urls": [ - "bzz-raw://125b7f9efa390e663d630c62b97ae4e0707f31623bea989ef94c97ca9d777dd2", - "dweb:/ipfs/QmaaLSuwvqK7wqcgyS3utHgfmB7RntcvP7eJSuvQod8Z9P" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 454 -} +{ "abi": [], "bytecode": { "object": "0x602d6023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c634300060c000a", "sourceMap": "777:5765:454:-:0;;;;;;;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c634300060c000a", "sourceMap": "777:5765:454:-:0;;;;;;;;", "linkReferences": {} }, "methodIdentifiers": {}, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Wrappers over Solidity's uintXX/intXX casting operators with added overflow checks. Downcasting from uint256/int256 in Solidity does not revert on overflow. This can easily result in undesired exploitation or bugs, since developers usually assume that overflows raise errors. `SafeCast` restores this intuition by reverting the transaction when such an operation overflows. Using this library instead of the unchecked operations eliminates an entire class of bugs, so it's recommended to use it always. Can be combined with {SafeMath} and {SignedSafeMath} to extend it to smaller types, by performing all math on `uint256` and `int256` and then downcasting.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@openzeppelin/contracts/utils/SafeCast.sol\":\"SafeCast\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"node_modules/@openzeppelin/contracts/utils/SafeCast.sol\":{\"keccak256\":\"0x7b2b8baa20fd60ab4a328c8e34c64a353651b80ba4b5b157cbb61813f6f85d55\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://125b7f9efa390e663d630c62b97ae4e0707f31623bea989ef94c97ca9d777dd2\",\"dweb:/ipfs/QmaaLSuwvqK7wqcgyS3utHgfmB7RntcvP7eJSuvQod8Z9P\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "node_modules/@openzeppelin/contracts/utils/SafeCast.sol": "SafeCast" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "node_modules/@openzeppelin/contracts/utils/SafeCast.sol": { "keccak256": "0x7b2b8baa20fd60ab4a328c8e34c64a353651b80ba4b5b157cbb61813f6f85d55", "urls": [ "bzz-raw://125b7f9efa390e663d630c62b97ae4e0707f31623bea989ef94c97ca9d777dd2", "dweb:/ipfs/QmaaLSuwvqK7wqcgyS3utHgfmB7RntcvP7eJSuvQod8Z9P" ], "license": "MIT" } }, "version": 1 }, "id": 454 } diff --git a/eth_defi/abi/enzyme/SafeERC20.json b/eth_defi/abi/enzyme/SafeERC20.json index 2ca0b890..956cef76 100644 --- a/eth_defi/abi/enzyme/SafeERC20.json +++ b/eth_defi/abi/enzyme/SafeERC20.json @@ -1,102 +1 @@ -{ - "abi": [], - "bytecode": { - "object": "0x602d6023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c6343000706000a", - "sourceMap": "608:3104:13:-:0;;;;;;;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c6343000706000a", - "sourceMap": "608:3104:13:-:0;;;;;;;;", - "linkReferences": {} - }, - "methodIdentifiers": {}, - "rawMetadata": "{\"compiler\":{\"version\":\"0.7.6+commit.7338295f\"},\"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\":{\"node_modules/@openzeppelin-solc-0.7/contracts/token/ERC20/SafeERC20.sol\":\"SafeERC20\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"node_modules/@openzeppelin-solc-0.7/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xe22a1fc7400ae196eba2ad1562d0386462b00a6363b742d55a2fd2021a58586f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4a635cec58fb4141a16cfd408f1a21ac944c335a3beaba541c35d2e95c04536f\",\"dweb:/ipfs/QmXWcz73UenN1ji8jiWMbzxHjjfLbNQwLVKTEB5zNFE34K\"]},\"node_modules/@openzeppelin-solc-0.7/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xbd74f587ab9b9711801baf667db1426e4a03fd2d7f15af33e0e0d0394e7cef76\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2d0913dfbfce90d170df0d496ad7596c0778518e5fa7aba6c32562522546f66b\",\"dweb:/ipfs/QmR6B8nLj2PJf5e1JWD9Nk7ErkAwkqUwadCnvE82FJr1RU\"]},\"node_modules/@openzeppelin-solc-0.7/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xc77dd6233a82c7c6e3dc49da8f3456baa00ecd3ea4dfa9222002a9aebf155dcd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8e5f78a5b3e707177aa47371e008a54b83dbd28a52055d1746534502b010c21b\",\"dweb:/ipfs/Qmeqfky5DvkMZZY3RtP6kYhFD5bZrPAMVPbqkwWhoUjZ3u\"]},\"node_modules/@openzeppelin-solc-0.7/contracts/utils/Address.sol\":{\"keccak256\":\"0xf89f005a3d98f7768cdee2583707db0ac725cf567d455751af32ee68132f3db3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f963d438177764b5f43f637c02311c951c0f0025d12fe1ac7e62e295bf416c41\",\"dweb:/ipfs/QmcfVb9JsWrYeTwFUJsKVHpKB7EaWBKydAH9S4sKg2pzcK\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.7.6+commit.7338295f" - }, - "language": "Solidity", - "output": { - "abi": [], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "node_modules/@openzeppelin-solc-0.7/contracts/token/ERC20/SafeERC20.sol": "SafeERC20" - }, - "libraries": {} - }, - "sources": { - "node_modules/@openzeppelin-solc-0.7/contracts/math/SafeMath.sol": { - "keccak256": "0xe22a1fc7400ae196eba2ad1562d0386462b00a6363b742d55a2fd2021a58586f", - "urls": [ - "bzz-raw://4a635cec58fb4141a16cfd408f1a21ac944c335a3beaba541c35d2e95c04536f", - "dweb:/ipfs/QmXWcz73UenN1ji8jiWMbzxHjjfLbNQwLVKTEB5zNFE34K" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin-solc-0.7/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0xbd74f587ab9b9711801baf667db1426e4a03fd2d7f15af33e0e0d0394e7cef76", - "urls": [ - "bzz-raw://2d0913dfbfce90d170df0d496ad7596c0778518e5fa7aba6c32562522546f66b", - "dweb:/ipfs/QmR6B8nLj2PJf5e1JWD9Nk7ErkAwkqUwadCnvE82FJr1RU" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin-solc-0.7/contracts/token/ERC20/SafeERC20.sol": { - "keccak256": "0xc77dd6233a82c7c6e3dc49da8f3456baa00ecd3ea4dfa9222002a9aebf155dcd", - "urls": [ - "bzz-raw://8e5f78a5b3e707177aa47371e008a54b83dbd28a52055d1746534502b010c21b", - "dweb:/ipfs/Qmeqfky5DvkMZZY3RtP6kYhFD5bZrPAMVPbqkwWhoUjZ3u" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin-solc-0.7/contracts/utils/Address.sol": { - "keccak256": "0xf89f005a3d98f7768cdee2583707db0ac725cf567d455751af32ee68132f3db3", - "urls": [ - "bzz-raw://f963d438177764b5f43f637c02311c951c0f0025d12fe1ac7e62e295bf416c41", - "dweb:/ipfs/QmcfVb9JsWrYeTwFUJsKVHpKB7EaWBKydAH9S4sKg2pzcK" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 13 -} +{ "abi": [], "bytecode": { "object": "0x602d6023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c6343000706000a", "sourceMap": "608:3104:13:-:0;;;;;;;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c6343000706000a", "sourceMap": "608:3104:13:-:0;;;;;;;;", "linkReferences": {} }, "methodIdentifiers": {}, "rawMetadata": "{\"compiler\":{\"version\":\"0.7.6+commit.7338295f\"},\"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\":{\"node_modules/@openzeppelin-solc-0.7/contracts/token/ERC20/SafeERC20.sol\":\"SafeERC20\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"node_modules/@openzeppelin-solc-0.7/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xe22a1fc7400ae196eba2ad1562d0386462b00a6363b742d55a2fd2021a58586f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4a635cec58fb4141a16cfd408f1a21ac944c335a3beaba541c35d2e95c04536f\",\"dweb:/ipfs/QmXWcz73UenN1ji8jiWMbzxHjjfLbNQwLVKTEB5zNFE34K\"]},\"node_modules/@openzeppelin-solc-0.7/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xbd74f587ab9b9711801baf667db1426e4a03fd2d7f15af33e0e0d0394e7cef76\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2d0913dfbfce90d170df0d496ad7596c0778518e5fa7aba6c32562522546f66b\",\"dweb:/ipfs/QmR6B8nLj2PJf5e1JWD9Nk7ErkAwkqUwadCnvE82FJr1RU\"]},\"node_modules/@openzeppelin-solc-0.7/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xc77dd6233a82c7c6e3dc49da8f3456baa00ecd3ea4dfa9222002a9aebf155dcd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8e5f78a5b3e707177aa47371e008a54b83dbd28a52055d1746534502b010c21b\",\"dweb:/ipfs/Qmeqfky5DvkMZZY3RtP6kYhFD5bZrPAMVPbqkwWhoUjZ3u\"]},\"node_modules/@openzeppelin-solc-0.7/contracts/utils/Address.sol\":{\"keccak256\":\"0xf89f005a3d98f7768cdee2583707db0ac725cf567d455751af32ee68132f3db3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f963d438177764b5f43f637c02311c951c0f0025d12fe1ac7e62e295bf416c41\",\"dweb:/ipfs/QmcfVb9JsWrYeTwFUJsKVHpKB7EaWBKydAH9S4sKg2pzcK\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.7.6+commit.7338295f" }, "language": "Solidity", "output": { "abi": [], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "node_modules/@openzeppelin-solc-0.7/contracts/token/ERC20/SafeERC20.sol": "SafeERC20" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "node_modules/@openzeppelin-solc-0.7/contracts/math/SafeMath.sol": { "keccak256": "0xe22a1fc7400ae196eba2ad1562d0386462b00a6363b742d55a2fd2021a58586f", "urls": [ "bzz-raw://4a635cec58fb4141a16cfd408f1a21ac944c335a3beaba541c35d2e95c04536f", "dweb:/ipfs/QmXWcz73UenN1ji8jiWMbzxHjjfLbNQwLVKTEB5zNFE34K" ], "license": "MIT" }, "node_modules/@openzeppelin-solc-0.7/contracts/token/ERC20/IERC20.sol": { "keccak256": "0xbd74f587ab9b9711801baf667db1426e4a03fd2d7f15af33e0e0d0394e7cef76", "urls": [ "bzz-raw://2d0913dfbfce90d170df0d496ad7596c0778518e5fa7aba6c32562522546f66b", "dweb:/ipfs/QmR6B8nLj2PJf5e1JWD9Nk7ErkAwkqUwadCnvE82FJr1RU" ], "license": "MIT" }, "node_modules/@openzeppelin-solc-0.7/contracts/token/ERC20/SafeERC20.sol": { "keccak256": "0xc77dd6233a82c7c6e3dc49da8f3456baa00ecd3ea4dfa9222002a9aebf155dcd", "urls": [ "bzz-raw://8e5f78a5b3e707177aa47371e008a54b83dbd28a52055d1746534502b010c21b", "dweb:/ipfs/Qmeqfky5DvkMZZY3RtP6kYhFD5bZrPAMVPbqkwWhoUjZ3u" ], "license": "MIT" }, "node_modules/@openzeppelin-solc-0.7/contracts/utils/Address.sol": { "keccak256": "0xf89f005a3d98f7768cdee2583707db0ac725cf567d455751af32ee68132f3db3", "urls": [ "bzz-raw://f963d438177764b5f43f637c02311c951c0f0025d12fe1ac7e62e295bf416c41", "dweb:/ipfs/QmcfVb9JsWrYeTwFUJsKVHpKB7EaWBKydAH9S4sKg2pzcK" ], "license": "MIT" } }, "version": 1 }, "id": 13 } diff --git a/eth_defi/abi/enzyme/SafeMath.json b/eth_defi/abi/enzyme/SafeMath.json index 79014fbf..e0263cc1 100644 --- a/eth_defi/abi/enzyme/SafeMath.json +++ b/eth_defi/abi/enzyme/SafeMath.json @@ -1,78 +1 @@ -{ - "abi": [], - "bytecode": { - "object": "0x602d6023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c6343000706000a", - "sourceMap": "622:6594:10:-:0;;;;;;;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c6343000706000a", - "sourceMap": "622:6594:10:-:0;;;;;;;;", - "linkReferences": {} - }, - "methodIdentifiers": {}, - "rawMetadata": "{\"compiler\":{\"version\":\"0.7.6+commit.7338295f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Wrappers over Solidity's arithmetic operations with added overflow checks. Arithmetic operations in Solidity wrap on overflow. This can easily result in bugs, because programmers usually assume that an overflow raises an error, which is the standard behavior in high level programming languages. `SafeMath` restores this intuition by reverting the transaction when an operation overflows. Using this library instead of the unchecked operations eliminates an entire class of bugs, so it's recommended to use it always.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@openzeppelin-solc-0.7/contracts/math/SafeMath.sol\":\"SafeMath\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"node_modules/@openzeppelin-solc-0.7/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xe22a1fc7400ae196eba2ad1562d0386462b00a6363b742d55a2fd2021a58586f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4a635cec58fb4141a16cfd408f1a21ac944c335a3beaba541c35d2e95c04536f\",\"dweb:/ipfs/QmXWcz73UenN1ji8jiWMbzxHjjfLbNQwLVKTEB5zNFE34K\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.7.6+commit.7338295f" - }, - "language": "Solidity", - "output": { - "abi": [], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "node_modules/@openzeppelin-solc-0.7/contracts/math/SafeMath.sol": "SafeMath" - }, - "libraries": {} - }, - "sources": { - "node_modules/@openzeppelin-solc-0.7/contracts/math/SafeMath.sol": { - "keccak256": "0xe22a1fc7400ae196eba2ad1562d0386462b00a6363b742d55a2fd2021a58586f", - "urls": [ - "bzz-raw://4a635cec58fb4141a16cfd408f1a21ac944c335a3beaba541c35d2e95c04536f", - "dweb:/ipfs/QmXWcz73UenN1ji8jiWMbzxHjjfLbNQwLVKTEB5zNFE34K" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 10 -} +{ "abi": [], "bytecode": { "object": "0x602d6023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c6343000706000a", "sourceMap": "622:6594:10:-:0;;;;;;;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c6343000706000a", "sourceMap": "622:6594:10:-:0;;;;;;;;", "linkReferences": {} }, "methodIdentifiers": {}, "rawMetadata": "{\"compiler\":{\"version\":\"0.7.6+commit.7338295f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Wrappers over Solidity's arithmetic operations with added overflow checks. Arithmetic operations in Solidity wrap on overflow. This can easily result in bugs, because programmers usually assume that an overflow raises an error, which is the standard behavior in high level programming languages. `SafeMath` restores this intuition by reverting the transaction when an operation overflows. Using this library instead of the unchecked operations eliminates an entire class of bugs, so it's recommended to use it always.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@openzeppelin-solc-0.7/contracts/math/SafeMath.sol\":\"SafeMath\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"node_modules/@openzeppelin-solc-0.7/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xe22a1fc7400ae196eba2ad1562d0386462b00a6363b742d55a2fd2021a58586f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4a635cec58fb4141a16cfd408f1a21ac944c335a3beaba541c35d2e95c04536f\",\"dweb:/ipfs/QmXWcz73UenN1ji8jiWMbzxHjjfLbNQwLVKTEB5zNFE34K\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.7.6+commit.7338295f" }, "language": "Solidity", "output": { "abi": [], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "node_modules/@openzeppelin-solc-0.7/contracts/math/SafeMath.sol": "SafeMath" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "node_modules/@openzeppelin-solc-0.7/contracts/math/SafeMath.sol": { "keccak256": "0xe22a1fc7400ae196eba2ad1562d0386462b00a6363b742d55a2fd2021a58586f", "urls": [ "bzz-raw://4a635cec58fb4141a16cfd408f1a21ac944c335a3beaba541c35d2e95c04536f", "dweb:/ipfs/QmXWcz73UenN1ji8jiWMbzxHjjfLbNQwLVKTEB5zNFE34K" ], "license": "MIT" } }, "version": 1 }, "id": 10 } diff --git a/eth_defi/abi/enzyme/Script.json b/eth_defi/abi/enzyme/Script.json index 05411f59..2f7d85ed 100644 --- a/eth_defi/abi/enzyme/Script.json +++ b/eth_defi/abi/enzyme/Script.json @@ -1,159 +1 @@ -{ - "abi": [ - { - "inputs": [], - "name": "IS_SCRIPT", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "vm", - "outputs": [ - { - "internalType": "contract Vm", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "IS_SCRIPT()": "f8ccbf47", - "vm()": "3a768463" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"IS_SCRIPT\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"vm\",\"outputs\":[{\"internalType\":\"contract Vm\",\"name\":\"\",\"type\":\"address\"}],\"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\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"lib/forge-std/src/Script.sol\":{\"keccak256\":\"0x4424dbcb8f5b741475445726f87408fcd89951fad973bec2ca442ee157f910e7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5b0b9f6dfb69245d8f888558ae82bf1d2cdeace46201444fe4b2e6a5283f944a\",\"dweb:/ipfs/QmWFSKeFEZngNcwNn7A84EF7pASo5qe6r5oK24r9Kwca7Z\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x63fc2487cf3a6650d933e18bcb61766f15f74c327192381806ea00f8f6446f66\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aad99f7b2ed3b11ff6c17b84b4196c562898640a80cabc2c28c87c116099a00f\",\"dweb:/ipfs/QmQNNbxHabRycegyXwJWBDutrdcScAP2SU5zEvorWEaFpx\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0xbeb823fcdb356244a83aaccdf828ad019ecc1ffaa3dff18e624fc6d5714ea671\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4cbe9400340e5f9ec55e2aff3bad1c15fa3afbbe37e80800e6f3fed2ad26854f\",\"dweb:/ipfs/QmdJBABsuXkvWxVzEyGXsTE3vyfBPXDdw5xvvtUz3JeoYW\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "IS_SCRIPT", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "vm", - "outputs": [ - { - "internalType": "contract Vm", - "name": "", - "type": "address" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "lib/forge-std/src/Script.sol": "Script" - }, - "libraries": {} - }, - "sources": { - "lib/forge-std/src/Script.sol": { - "keccak256": "0x4424dbcb8f5b741475445726f87408fcd89951fad973bec2ca442ee157f910e7", - "urls": [ - "bzz-raw://5b0b9f6dfb69245d8f888558ae82bf1d2cdeace46201444fe4b2e6a5283f944a", - "dweb:/ipfs/QmWFSKeFEZngNcwNn7A84EF7pASo5qe6r5oK24r9Kwca7Z" - ], - "license": "MIT" - }, - "lib/forge-std/src/Vm.sol": { - "keccak256": "0x63fc2487cf3a6650d933e18bcb61766f15f74c327192381806ea00f8f6446f66", - "urls": [ - "bzz-raw://aad99f7b2ed3b11ff6c17b84b4196c562898640a80cabc2c28c87c116099a00f", - "dweb:/ipfs/QmQNNbxHabRycegyXwJWBDutrdcScAP2SU5zEvorWEaFpx" - ], - "license": "MIT" - }, - "lib/forge-std/src/console.sol": { - "keccak256": "0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba", - "urls": [ - "bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70", - "dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec" - ], - "license": "MIT" - }, - "lib/forge-std/src/console2.sol": { - "keccak256": "0xbeb823fcdb356244a83aaccdf828ad019ecc1ffaa3dff18e624fc6d5714ea671", - "urls": [ - "bzz-raw://4cbe9400340e5f9ec55e2aff3bad1c15fa3afbbe37e80800e6f3fed2ad26854f", - "dweb:/ipfs/QmdJBABsuXkvWxVzEyGXsTE3vyfBPXDdw5xvvtUz3JeoYW" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 436 -} +{ "abi": [ { "type": "function", "name": "IS_SCRIPT", "inputs": [], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "vm", "inputs": [], "outputs": [ { "name": "", "type": "address", "internalType": "contract Vm" } ], "stateMutability": "view" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "IS_SCRIPT()": "f8ccbf47", "vm()": "3a768463" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"IS_SCRIPT\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"vm\",\"outputs\":[{\"internalType\":\"contract Vm\",\"name\":\"\",\"type\":\"address\"}],\"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\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"lib/forge-std/src/Script.sol\":{\"keccak256\":\"0x4424dbcb8f5b741475445726f87408fcd89951fad973bec2ca442ee157f910e7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5b0b9f6dfb69245d8f888558ae82bf1d2cdeace46201444fe4b2e6a5283f944a\",\"dweb:/ipfs/QmWFSKeFEZngNcwNn7A84EF7pASo5qe6r5oK24r9Kwca7Z\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x63fc2487cf3a6650d933e18bcb61766f15f74c327192381806ea00f8f6446f66\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aad99f7b2ed3b11ff6c17b84b4196c562898640a80cabc2c28c87c116099a00f\",\"dweb:/ipfs/QmQNNbxHabRycegyXwJWBDutrdcScAP2SU5zEvorWEaFpx\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0xbeb823fcdb356244a83aaccdf828ad019ecc1ffaa3dff18e624fc6d5714ea671\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4cbe9400340e5f9ec55e2aff3bad1c15fa3afbbe37e80800e6f3fed2ad26854f\",\"dweb:/ipfs/QmdJBABsuXkvWxVzEyGXsTE3vyfBPXDdw5xvvtUz3JeoYW\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [], "stateMutability": "view", "type": "function", "name": "IS_SCRIPT", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "vm", "outputs": [ { "internalType": "contract Vm", "name": "", "type": "address" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "lib/forge-std/src/Script.sol": "Script" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "lib/forge-std/src/Script.sol": { "keccak256": "0x4424dbcb8f5b741475445726f87408fcd89951fad973bec2ca442ee157f910e7", "urls": [ "bzz-raw://5b0b9f6dfb69245d8f888558ae82bf1d2cdeace46201444fe4b2e6a5283f944a", "dweb:/ipfs/QmWFSKeFEZngNcwNn7A84EF7pASo5qe6r5oK24r9Kwca7Z" ], "license": "MIT" }, "lib/forge-std/src/Vm.sol": { "keccak256": "0x63fc2487cf3a6650d933e18bcb61766f15f74c327192381806ea00f8f6446f66", "urls": [ "bzz-raw://aad99f7b2ed3b11ff6c17b84b4196c562898640a80cabc2c28c87c116099a00f", "dweb:/ipfs/QmQNNbxHabRycegyXwJWBDutrdcScAP2SU5zEvorWEaFpx" ], "license": "MIT" }, "lib/forge-std/src/console.sol": { "keccak256": "0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba", "urls": [ "bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70", "dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec" ], "license": "MIT" }, "lib/forge-std/src/console2.sol": { "keccak256": "0xbeb823fcdb356244a83aaccdf828ad019ecc1ffaa3dff18e624fc6d5714ea671", "urls": [ "bzz-raw://4cbe9400340e5f9ec55e2aff3bad1c15fa3afbbe37e80800e6f3fed2ad26854f", "dweb:/ipfs/QmdJBABsuXkvWxVzEyGXsTE3vyfBPXDdw5xvvtUz3JeoYW" ], "license": "MIT" } }, "version": 1 }, "id": 436 } diff --git a/eth_defi/abi/enzyme/SelfDestructEthPayer.json b/eth_defi/abi/enzyme/SelfDestructEthPayer.json index f19ef30f..e6b20494 100644 --- a/eth_defi/abi/enzyme/SelfDestructEthPayer.json +++ b/eth_defi/abi/enzyme/SelfDestructEthPayer.json @@ -1,115 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address payable", - "name": "_recipient", - "type": "address" - } - ], - "name": "destructTo", - "outputs": [], - "stateMutability": "payable", - "type": "function" - } - ], - "bytecode": { - "object": "0x6080604052348015600f57600080fd5b50605f8061001e6000396000f3fe608060405260043610601c5760003560e01c806337a55f77146021575b600080fd5b604460048036036020811015603557600080fd5b50356001600160a01b03166046565b005b806001600160a01b0316fffea164736f6c634300060c000a", - "sourceMap": "495:144:369:-:0;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405260043610601c5760003560e01c806337a55f77146021575b600080fd5b604460048036036020811015603557600080fd5b50356001600160a01b03166046565b005b806001600160a01b0316fffea164736f6c634300060c000a", - "sourceMap": "495:144:369:-:0;;;;;;;;;;;;;;;;;;;;;531:106;;;;;;;;;;;;;;;;-1:-1:-1;531:106:369;-1:-1:-1;;;;;531:106:369;;:::i;:::-;;;619:10;-1:-1:-1;;;;;606:24:369;", - "linkReferences": {} - }, - "methodIdentifiers": { - "destructTo(address)": "37a55f77" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"_recipient\",\"type\":\"address\"}],\"name\":\"destructTo\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"SelfDestructEthPayer Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"A test contract to send ETH to a contract via selfdestruct()\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/SelfDestructEthPayer.sol\":\"SelfDestructEthPayer\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/test/SelfDestructEthPayer.sol\":{\"keccak256\":\"0x35a129ce4afe20022f162510f4fa0593d4ba25dc81cfba80ea5b20473476d76c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://973ebc2ca5077a2c5457450668da6721c1966813d2464d90ecc01ff9a5b7dc1c\",\"dweb:/ipfs/QmWhYvvMRkTDojdzJbJ3cEEMmrEqBHqbaiQHWvSe6cunX8\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address payable", - "name": "_recipient", - "type": "address" - } - ], - "stateMutability": "payable", - "type": "function", - "name": "destructTo" - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/test/SelfDestructEthPayer.sol": "SelfDestructEthPayer" - }, - "libraries": {} - }, - "sources": { - "contracts/release/utils/AddressArrayLib.sol": { - "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", - "urls": [ - "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", - "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" - ], - "license": "GPL-3.0" - }, - "contracts/test/SelfDestructEthPayer.sol": { - "keccak256": "0x35a129ce4afe20022f162510f4fa0593d4ba25dc81cfba80ea5b20473476d76c", - "urls": [ - "bzz-raw://973ebc2ca5077a2c5457450668da6721c1966813d2464d90ecc01ff9a5b7dc1c", - "dweb:/ipfs/QmWhYvvMRkTDojdzJbJ3cEEMmrEqBHqbaiQHWvSe6cunX8" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 369 -} +{ "abi": [ { "type": "function", "name": "destructTo", "inputs": [ { "name": "_recipient", "type": "address", "internalType": "address payable" } ], "outputs": [], "stateMutability": "payable" } ], "bytecode": { "object": "0x6080604052348015600f57600080fd5b50605f8061001e6000396000f3fe608060405260043610601c5760003560e01c806337a55f77146021575b600080fd5b604460048036036020811015603557600080fd5b50356001600160a01b03166046565b005b806001600160a01b0316fffea164736f6c634300060c000a", "sourceMap": "495:144:369:-:0;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405260043610601c5760003560e01c806337a55f77146021575b600080fd5b604460048036036020811015603557600080fd5b50356001600160a01b03166046565b005b806001600160a01b0316fffea164736f6c634300060c000a", "sourceMap": "495:144:369:-:0;;;;;;;;;;;;;;;;;;;;;531:106;;;;;;;;;;;;;;;;-1:-1:-1;531:106:369;-1:-1:-1;;;;;531:106:369;;:::i;:::-;;;619:10;-1:-1:-1;;;;;606:24:369;", "linkReferences": {} }, "methodIdentifiers": { "destructTo(address)": "37a55f77" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address payable\",\"name\":\"_recipient\",\"type\":\"address\"}],\"name\":\"destructTo\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"SelfDestructEthPayer Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"A test contract to send ETH to a contract via selfdestruct()\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/SelfDestructEthPayer.sol\":\"SelfDestructEthPayer\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/test/SelfDestructEthPayer.sol\":{\"keccak256\":\"0x35a129ce4afe20022f162510f4fa0593d4ba25dc81cfba80ea5b20473476d76c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://973ebc2ca5077a2c5457450668da6721c1966813d2464d90ecc01ff9a5b7dc1c\",\"dweb:/ipfs/QmWhYvvMRkTDojdzJbJ3cEEMmrEqBHqbaiQHWvSe6cunX8\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address payable", "name": "_recipient", "type": "address" } ], "stateMutability": "payable", "type": "function", "name": "destructTo" } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/test/SelfDestructEthPayer.sol": "SelfDestructEthPayer" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/utils/AddressArrayLib.sol": { "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", "urls": [ "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" ], "license": "GPL-3.0" }, "contracts/test/SelfDestructEthPayer.sol": { "keccak256": "0x35a129ce4afe20022f162510f4fa0593d4ba25dc81cfba80ea5b20473476d76c", "urls": [ "bzz-raw://973ebc2ca5077a2c5457450668da6721c1966813d2464d90ecc01ff9a5b7dc1c", "dweb:/ipfs/QmWhYvvMRkTDojdzJbJ3cEEMmrEqBHqbaiQHWvSe6cunX8" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 369 } diff --git a/eth_defi/abi/enzyme/SetNominatedOwnerTest.json b/eth_defi/abi/enzyme/SetNominatedOwnerTest.json index 568c9762..a03506ca 100644 --- a/eth_defi/abi/enzyme/SetNominatedOwnerTest.json +++ b/eth_defi/abi/enzyme/SetNominatedOwnerTest.json @@ -1,1194 +1 @@ -{ - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "nominatedOwner", - "type": "address" - } - ], - "name": "NominatedOwnerSet", - "type": "event" - }, - { - "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_SCRIPT", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "IS_TEST", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "_name", - "type": "string" - } - ], - "name": "addr", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "failed", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "setUp", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "testAnonCannotSet", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "testDoesNotAllowEmptyNextOwner", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "testDoesNotAllowIdenticalNextOwner", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "testDoesNotAllowRepeatedNomination", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "testHappyPath", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "vm", - "outputs": [ - { - "internalType": "contract Vm", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x60806040526000805462ff00001960ff19909116600117166201000017905534801561002a57600080fd5b506138718061003a6000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c8063c58fc2c311610071578063c58fc2c3146101a6578063cd8591bb146101ae578063f0344008146101b6578063f8ccbf47146101be578063fa7626d4146101c6578063ff5d31f1146101ce576100a9565b80630a9254e4146100ae5780633a768463146100b8578063511b1df9146100dc578063a140ff8714610182578063ba414fa61461018a575b600080fd5b6100b66101d6565b005b6100c0610221565b604080516001600160a01b039092168252519081900360200190f35b6100c0600480360360208110156100f257600080fd5b81019060208101813564010000000081111561010d57600080fd5b82018360208201111561011f57600080fd5b8035906020019184600183028401116401000000008311171561014157600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610239945050505050565b6100b661024d565b610192610332565b604080519115158252519081900360200190f35b6100b66104f8565b6100b66105c1565b6100b6610800565b610192610936565b610192610945565b6100b661094e565b6040516101e290610d04565b604051809103906000f0801580156101fe573d6000803e3d6000fd5b50600880546001600160a01b0319166001600160a01b0392909216919091179055565b737109709ecfa91a80626ff3989d68f67f5b1dd12d81565b80516020909101206001600160a01b031690565b60405163f28dceb360e01b8152602060048201908152603b60248301819052737109709ecfa91a80626ff3989d68f67f5b1dd12d9263f28dceb392918291604401906137ef8239604001915050600060405180830381600087803b1580156102b457600080fd5b505af11580156102c8573d6000803e3d6000fd5b50506008546040805163039470bd60e51b815230600482015290516001600160a01b03909216935063728e17a0925060248082019260009290919082900301818387803b15801561031857600080fd5b505af115801561032c573d6000803e3d6000fd5b50505050565b60008054610100900460ff16156103545750600054610100900460ff166104f5565b600061035e610a24565b156104f25760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d60208083018290526519985a5b195960d21b838501528351808403850181526060848101909552630667f9d760e41b60808501908152815193947f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc494929391926084909101918401908083835b602083106104085780518252601f1990920191602091820191016103e9565b6001836020036101000a038019825116818451168082178552505050505050905001925050506040516020818303038152906040526040518082805190602001908083835b6020831061046c5780518252601f19909201916020918201910161044d565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146104ce576040519150601f19603f3d011682016040523d82523d6000602084013e6104d3565b606091505b509150508080602001905160208110156104ec57600080fd5b50519150505b90505b90565b60405163f28dceb360e01b8152602060048201908152603660248301819052737109709ecfa91a80626ff3989d68f67f5b1dd12d9263f28dceb392918291604401906137948239604001915050600060405180830381600087803b15801561055f57600080fd5b505af1158015610573573d6000803e3d6000fd5b50506008546040805163039470bd60e51b815260006004820181905291516001600160a01b03909316945063728e17a093506024808201939182900301818387803b15801561031857600080fd5b6106456000600860009054906101000a90046001600160a01b03166001600160a01b031663288b6a366040518163ffffffff1660e01b815260040160206040518083038186803b15801561061457600080fd5b505afa158015610628573d6000803e3d6000fd5b505050506040513d602081101561063e57600080fd5b5051610a3f565b6040805163248e63e160e11b8152600160048201819052602482018190526044820181905260648201529051737109709ecfa91a80626ff3989d68f67f5b1dd12d9163491cc7c291608480830192600092919082900301818387803b1580156106ad57600080fd5b505af11580156106c1573d6000803e3d6000fd5b505060405161053992507f132c19de901bb4ed8403c34734b6c841d5dc57745824da452a52433519ea5abf9150600090a26008546040805163039470bd60e51b8152610539600482015290516001600160a01b039092169163728e17a09160248082019260009290919082900301818387803b15801561074057600080fd5b505af1158015610754573d6000803e3d6000fd5b505050506107ac610539600860009054906101000a90046001600160a01b03166001600160a01b031663288b6a366040518163ffffffff1660e01b815260040160206040518083038186803b15801561061457600080fd5b6107fe30600860009054906101000a90046001600160a01b03166001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561061457600080fd5b565b6008546040805163039470bd60e51b8152610539600482015290516001600160a01b039092169163728e17a09160248082019260009290919082900301818387803b15801561084e57600080fd5b505af1158015610862573d6000803e3d6000fd5b505060405163f28dceb360e01b8152602060048201908152603b60248301819052737109709ecfa91a80626ff3989d68f67f5b1dd12d945063f28dceb393509091829160449091019061382a8239604001915050600060405180830381600087803b1580156108d057600080fd5b505af11580156108e4573d6000803e3d6000fd5b50506008546040805163039470bd60e51b8152610539600482015290516001600160a01b03909216935063728e17a0925060248082019260009290919082900301818387803b15801561031857600080fd5b60005462010000900460ff1681565b60005460ff1681565b6040805163ca669fa760e01b815261053960048201529051737109709ecfa91a80626ff3989d68f67f5b1dd12d9163ca669fa791602480830192600092919082900301818387803b1580156109a257600080fd5b505af11580156109b6573d6000803e3d6000fd5b505060405163f28dceb360e01b8152602060048201908152602e60248301819052737109709ecfa91a80626ff3989d68f67f5b1dd12d945063f28dceb39350909182916044909101906137668239604001915050600060405180830381600087803b1580156108d057600080fd5b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b151590565b806001600160a01b0316826001600160a01b031614610b61577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f506040518080602001828103825260258152602001806137ca6025913960400191505060405180910390a1604080516001600160a01b0383166020820152818152600a81830152690808115e1c1958dd195960b21b606082015290517f9c4e8541ca8f0dc1c413f9108f66d82d3cecb1bddbce437a61caa3175c4cc96f9181900360800190a1604080516001600160a01b0384166020820152818152600a8183015269080808081058dd1d585b60b21b606082015290517f9c4e8541ca8f0dc1c413f9108f66d82d3cecb1bddbce437a61caa3175c4cc96f9181900360800190a1610b61610b65565b5050565b610b6d610a24565b15610cf35760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d60208083018290526519985a5b195960d21b83850152600160608481019190915284518085039091018152608084019094526370ca10bb60e01b60a08401908152845160009593947f70ca10bbd0dbfd9020a9f4b13402c16cb120705e0d1c0aeab10fa353ae586fc4949360a490910191908401908083835b60208310610c235780518252601f199092019160209182019101610c04565b6001836020036101000a038019825116818451168082178552505050505050905001925050506040516020818303038152906040526040518082805190602001908083835b60208310610c875780518252601f199092019160209182019101610c68565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610ce9576040519150601f19603f3d011682016040523d82523d6000602084013e610cee565b606091505b505050505b6000805461ff001916610100179055565b612a5480610d128339019056fe60806040523480156200001157600080fd5b506202a300600355600280546001600160a01b031916331790556040805180820190915260048082526322a72d2360e11b60209092019182526200005691816200005d565b50620000f9565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620000a057805160ff1916838001178555620000d0565b82800160010185558215620000d0579182015b82811115620000d0578251825591602001919060010190620000b3565b50620000de929150620000e2565b5090565b5b80821115620000de5760008155600101620000e3565b61294b80620001096000396000f3fe60806040523480156200001157600080fd5b5060043610620001485760003560e01c806377a8c62411620000bd57806397af7050116200007b57806397af7050146200042d5780639c9d48da1462000456578063b47b06001462000487578063d0449d3d1462000509578063d15f9b9c14620005325762000148565b806377a8c62414620003885780637c77b2ed14620003b15780637dad9fc814620003bb5780638156eecf1462000419578063893d20e814620004235762000148565b80633d7c74f8116200010b5780633d7c74f814620002795780634e71e0c814620002a257806366231cea14620002ac578063728e17a014620002e9578063757bc0dd14620003125762000148565b80631df419f7146200014d57806322a0c08b146200016f578063288b6a3614620002225780632fa0c161146200022c57806338b3eb1b1462000248575b600080fd5b6200016d600480360360208110156200016557600080fd5b503562000573565b005b62000206600480360360808110156200018757600080fd5b6001600160a01b0382358116926020810135821692604082013590921691810190608081016060820135640100000000811115620001c457600080fd5b820183602082011115620001d757600080fd5b80359060200191846001830284011164010000000083111715620001fa57600080fd5b50909250905062000646565b604080516001600160a01b039092168252519081900360200190f35b62000206620008df565b62000236620008ee565b60408051918252519081900360200190f35b6200016d600480360360408110156200026057600080fd5b506001600160a01b0381351690602001351515620008f4565b62000206600480360360208110156200029157600080fd5b50356001600160a01b031662000c46565b6200016d62000c67565b620002d560048036036020811015620002c457600080fd5b50356001600160a01b031662000d10565b604080519115158252519081900360200190f35b6200016d600480360360208110156200030157600080fd5b50356001600160a01b031662000d43565b6200016d600480360360208110156200032a57600080fd5b8101906020810181356401000000008111156200034657600080fd5b8201836020820111156200035957600080fd5b803590602001918460018302840111640100000000831117156200037c57600080fd5b50909250905062000ebd565b6200023660048036036020811015620003a057600080fd5b50356001600160a01b031662000f7b565b6200020662000fc4565b620003e460048036036020811015620003d357600080fd5b50356001600160a01b031662000fd3565b604080516001600160a01b03958616815293851660208501529190931682820152606082019290925290519081900360800190f35b6200016d6200106b565b6200020662001147565b6200016d600480360360208110156200044557600080fd5b50356001600160a01b031662001156565b6200016d600480360360408110156200046e57600080fd5b506001600160a01b0381351690602001351515620012e1565b620004916200152a565b6040805160208082528351818301528351919283929083019185019080838360005b83811015620004cd578181015183820152602001620004b3565b50505050905090810190601f168015620004fb5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b620002d5600480360360208110156200052157600080fd5b50356001600160a01b0316620015c4565b6200016d600480360360808110156200054a57600080fd5b506001600160a01b038135811691602081013582169160408201351690606001351515620015e4565b6002546001600160a01b03163314620005be5760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b60035481811415620006025760405162461bcd60e51b815260040180806020018281038252603b81526020018062002904603b913960400191505060405180910390fd5b6003829055604080518281526020810184905281517f481ce28a1145a5d9b59e2d1d7eba33bc3350124def8fdc91032238d343ad5361929181900390910190a15050565b600080546001600160a01b03163314620006925760405162461bcd60e51b8152600401808060200182810382526034815260200180620024b66034913960400191505060405180910390fd5b6200069d8462001832565b620006da5760405162461bcd60e51b815260040180806020018281038252602d8152602001806200269b602d913960400191505060405180910390fd5b6060635c9a6d3760e01b8686868660405160240180856001600160a01b03168152602001846001600160a01b0316815260200180602001828103825284848281815260200192508082843760008382015260408051601f909201601f1990811690940182810390940182529283526020810180516001600160e01b03166001600160e01b0319909b169a909a17909952505196975087968e965062000786955093506200204c92505050565b8080602001836001600160a01b03168152602001828103825284818151815260200191508051906020019080838360005b83811015620007d1578181015183820152602001620007b7565b50505050905090810190601f168015620007ff5780820380516001836020036101000a031916815260200191505b509350505050604051809103906000f08015801562000822573d6000803e3d6000fd5b506001600160a01b0380821660008181526005602090815260409182902080546001600160a01b0319163390811790915582519384528a85169184019190915260609183018281529183018890529395508a8316928a169184917fa50560b448ad796ef60adfeffe1c19ed34daf94c2aa6905d0e209017dbc19f589188918c918c918c919060808201848480828437600083820152604051601f909101601f191690920182900397509095505050505050a4505095945050505050565b6001546001600160a01b031690565b60035490565b620008fe6200205a565b506001600160a01b038083166000908152600660209081526040918290208251608081018452815485168082526001830154861693820193909352600282015490941692840192909252600390910154606083015280620009915760405162461bcd60e51b815260040180806020018281038252603d815260200180620028c7603d913960400191505060405180910390fd5b336001600160a01b03821614620009da5760405162461bcd60e51b81526004018080602001828103825260458152602001806200279c6045913960600191505060405180910390fd5b6000546001600160a01b0382811691161462000a285760405162461bcd60e51b815260040180806020018281038252604f815260200180620025ed604f913960600191505060405180910390fd5b60608201514281111562000a6e5760405162461bcd60e51b8152600401808060200182810382526038815260200180620027296038913960400191505060405180910390fd5b6001600160a01b0380861660009081526005602090815260409182902054908601519186015192169162000aa9600289858886868d62001838565b876001600160a01b0316634140d607826040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050600060405180830381600087803b15801562000af957600080fd5b505af115801562000b0e573d6000803e3d6000fd5b50505050876001600160a01b031663ab9253ac836040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050600060405180830381600087803b15801562000b6257600080fd5b505af115801562000b77573d6000803e3d6000fd5b5050506001600160a01b03808a1660009081526005602090815260408083208054948b166001600160a01b0319958616179055600690915281208054831681556001810180548416905560028101805490931690925560039182015562000be5915089858886868d62001838565b604080516001600160a01b038481168252838116602083015281830187905291518288169286811692908c16917fad6fb3d36e2cda148dfd43203c1a40c0da9a9baa662ae9d6c3b0c3e4a9d6a6359181900360600190a45050505050505050565b6001600160a01b03808216600090815260056020526040902054165b919050565b6001546001600160a01b031633811462000cb35760405162461bcd60e51b815260040180806020018281038252603e8152602001806200281c603e913960400191505060405180910390fd5b600180546001600160a01b0319908116909155600280546001600160a01b0384811693821684179092556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038116600090815260066020526040812060030154801580159062000d3c5750804210155b9392505050565b6002546001600160a01b0316331462000d8e5760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b6001600160a01b03811662000dd55760405162461bcd60e51b8152600401808060200182810382526036815260200180620026c86036913960400191505060405180910390fd5b6002546001600160a01b038281169116141562000e245760405162461bcd60e51b815260040180806020018281038252603b81526020018062002761603b913960400191505060405180910390fd5b6001546001600160a01b038281169116141562000e735760405162461bcd60e51b815260040180806020018281038252603b815260200180620027e1603b913960400191505060405180910390fd5b600180546001600160a01b0319166001600160a01b0383169081179091556040517f132c19de901bb4ed8403c34734b6c841d5dc57745824da452a52433519ea5abf90600090a250565b6002546001600160a01b0316331462000f085760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b62000f166004838362002081565b507ff0115712c23b609855a28d7b8963c6d16d732ae388b11e5d4ec6d5eae4ad8698828260405180806020018281038252848482818152602001925080828437600083820152604051601f909101601f19169092018290039550909350505050a15050565b6001600160a01b0381166000908152600660205260408120600301548062000fa857600091505062000c62565b80421062000fbb57600091505062000c62565b42900392915050565b6000546001600160a01b031690565b60008060008062000fe36200205a565b506001600160a01b038086166000908152600660209081526040918290208251608081018452815485168152600182015485169281019290925260028101549093169181019190915260039091015460608201819052156200106257806000015181602001518260400151836060015194509450945094505062001064565b505b9193509193565b6002546001600160a01b03163314620010b65760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b6001546001600160a01b031680620011005760405162461bcd60e51b81526004018080602001828103825260318152602001806200266a6031913960400191505060405180910390fd5b600180546001600160a01b03191690556040516001600160a01b038216907fe4136584a5e8bb85d66301f3ce8b11cc2e5a8bea3979f10ea2451353849acc4790600090a250565b6002546001600160a01b031690565b6002546001600160a01b03163314620011a15760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b6001600160a01b038116620011e85760405162461bcd60e51b81526004018080602001828103825260398152602001806200258e6039913960400191505060405180910390fd5b620011f38162001832565b620012305760405162461bcd60e51b8152600401808060200182810382526036815260200180620028916036913960400191505060405180910390fd5b6000546001600160a01b03908116908216811415620012815760405162461bcd60e51b81526004018080602001828103825260488152602001806200251a6048913960600191505060405180910390fd5b600080546001600160a01b0319166001600160a01b03848116918217909255604080519284168352602083019190915280517f44cf34a26ccbaa8a20e6098a1278e28682572ec9921eb43d8dab274a503e92f59281900390910190a15050565b620012eb6200205a565b506001600160a01b0380831660009081526006602090815260409182902082516080810184528154851680825260018301548616938201939093526002820154909416928401929092526003909101546060830152806200137e5760405162461bcd60e51b815260040180806020018281038252602c81526020018062002562602c913960400191505060405180910390fd5b336001600160a01b038216148062001407575060408051633ef03e7560e11b815233600482015290516001600160a01b03861691637de07cea916024808301926020929190829003018186803b158015620013d857600080fd5b505afa158015620013ed573d6000803e3d6000fd5b505050506040513d60208110156200140457600080fd5b50515b620014445760405162461bcd60e51b8152600401808060200182810382526026815260200180620025c76026913960400191505060405180910390fd5b6001600160a01b0380851660009081526005602090815260408083205486830151878301516060890151600690955292852080546001600160a01b03199081168255600182018054821690556002820180549091169055600301949094559093169290620014b9600489868887878d62001838565b620014c988858786868c62001bd1565b604080516001600160a01b038581168252848116602083015281830184905291518288169287811692908c16917f9851a8f232c380eb2c1065756776e37d85d4fe0c8cb4005b0d72c749bfef923e9181900360600190a45050505050505050565b60048054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815260609390929091830182828015620015ba5780601f106200158e57610100808354040283529160200191620015ba565b820191906000526020600020905b8154815290600101906020018083116200159c57829003601f168201915b5050505050905090565b6001600160a01b0316600090815260066020526040902060030154151590565b6000546001600160a01b031633146200162f5760405162461bcd60e51b8152600401808060200182810382526034815260200180620024b66034913960400191505060405180910390fd5b6200163a8362001832565b620016775760405162461bcd60e51b8152600401808060200182810382526030815260200180620024ea6030913960400191505060405180910390fd5b6001600160a01b038085166000908152600560205260409020541680620016d05760405162461bcd60e51b815260040180806020018281038252602b815260200180620026fe602b913960400191505060405180910390fd5b336001600160a01b0382168114156200171b5760405162461bcd60e51b81526004018080602001828103825260378152602001806200285a6037913960400191505060405180910390fd5b6200172d600087848489898962001838565b60038054604080516080810182526001600160a01b03808616825289811660208084019182528a831684860190815242909601606085018181528e85166000908152600690935295909120935184549084166001600160a01b0319918216178555915160018086018054928616928516929092179091559551600285018054919094169216919091179091559151930192909255620017d2908885858a8a8a62001838565b604080516001600160a01b038881168252878116602083015281830184905291518285169286811692908b16917fb519c42fdb88f83f098814813f2ebff14fbf14f3e68b054e5a98834c69d54bfb9181900360600190a450505050505050565b3b151590565b60006060866001600160a01b0316633f84c12c60e01b8a8a898989604051602401808660048111156200186757fe5b8152602001856001600160a01b03168152602001846001600160a01b03168152602001836001600160a01b03168152602001826001600160a01b0316815260200195505050505050604051602081830303815290604052906001600160e01b0319166020820180516001600160e01b0383818316178352505050506040518082805190602001908083835b60208310620019135780518252601f199092019160209182019101620018f2565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811462001977576040519150601f19603f3d011682016040523d82523d6000602084013e6200197c565b606091505b50915091508162001bc65782620019938a62001ea1565b826040516020018083805190602001908083835b60208310620019c85780518252601f199092019160209182019101620019a7565b51815160209384036101000a600019018019909216911617905285519190930192850191508083835b6020831062001a125780518252601f199092019160209182019101620019f1565b6001836020036101000a038019825116818451168082178552505050505050905001925050506040516020818303038152906040529062001ad45760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101562001a9857818101518382015260200162001a7e565b50505050905090810190601f16801562001ac65780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50856001600160a01b0316876001600160a01b0316896001600160a01b03167fbf0ae6830883bd89855f2e7b17a2924b5de0b2b3d4a8834d7c2c0d5dc53447db848d8a8a604051808060200185600481111562001b2d57fe5b8152602001846001600160a01b03168152602001836001600160a01b03168152602001828103825286818151815260200191508051906020019080838360005b8381101562001b8757818101518382015260200162001b6d565b50505050905090810190601f16801562001bb55780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a45b505050505050505050565b604080516001600160a01b038881166024830152878116604483015285811660648301528481166084808401919091528351808403909101815260a490920183526020820180516001600160e01b031663df369ba760e01b17815292518251600094606094938a169392918291908083835b6020831062001c645780518252601f19909201916020918201910162001c43565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811462001cc8576040519150601f19603f3d011682016040523d82523d6000602084013e62001ccd565b606091505b50915091508162001e9757828160405160200180807f4d6967726174696f6e4f757443616e63656c486f6f6b3a20000000000000000081525060180182805190602001908083835b6020831062001d365780518252601f19909201916020918201910162001d15565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040516020818303038152906040529062001db95760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831562001a9857818101518382015260200162001a7e565b50856001600160a01b0316876001600160a01b0316896001600160a01b03167f7c79070aa51adb676fb9c8d0f7a1f841ff9cf514444b37c95297ed1c52547b328489896040518080602001846001600160a01b03168152602001836001600160a01b03168152602001828103825285818151815260200191508051906020019080838360005b8381101562001e5957818101518382015260200162001e3f565b50505050905090810190601f16801562001e875780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a45b5050505050505050565b6060600082600481111562001eb257fe5b141562001ef4575060408051808201909152601c81527f4d6967726174696f6e4f7574486f6f6b2e5072655369676e616c3a2000000000602082015262000c62565b600182600481111562001f0357fe5b141562001f45575060408051808201909152601d81527f4d6967726174696f6e4f7574486f6f6b2e506f73745369676e616c3a20000000602082015262000c62565b600282600481111562001f5457fe5b141562001f96575060408051808201909152601d81527f4d6967726174696f6e4f7574486f6f6b2e5072654d6967726174653a20000000602082015262000c62565b600382600481111562001fa557fe5b141562001fe7575060408051808201909152601e81527f4d6967726174696f6e4f7574486f6f6b2e506f73744d6967726174653a200000602082015262000c62565b600482600481111562001ff657fe5b141562002038575060408051808201909152601d81527f4d6967726174696f6e4f7574486f6f6b2e506f737443616e63656c3a20000000602082015262000c62565b505060408051602081019091526000815290565b610398806200211e83390190565b60408051608081018252600080825260208201819052918101829052606081019190915290565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620020c45782800160ff19823516178555620020f4565b82800160010185558215620020f4579182015b82811115620020f4578235825591602001919060010190620020d7565b506200210292915062002106565b5090565b5b808211156200210257600081556001016200210756fe608060405234801561001057600080fd5b506040516103983803806103988339818101604052604081101561003357600080fd5b810190808051604051939291908464010000000082111561005357600080fd5b90830190602082018581111561006857600080fd5b825164010000000081118282018810171561008257600080fd5b82525081516020918201929091019080838360005b838110156100af578181015183820152602001610097565b50505050905090810190601f1680156100dc5780820380516001836020036101000a031916815260200191505b5060408181526020928301516352d1902d60e01b835290519094506001600160a01b03851693506352d1902d92600480840193919291829003018186803b15801561012657600080fd5b505afa15801561013a573d6000803e3d6000fd5b505050506040513d602081101561015057600080fd5b50517f027b9570e9fedc1a80b937ae9a06861e5faef3992491af30b684a64b3fbec7a5146101af5760405162461bcd60e51b81526004018080602001828103825260258152602001806103736025913960400191505060405180910390fd5b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5560006060826001600160a01b0316846040518082805190602001908083835b602083106102105780518252601f1990920191602091820191016101f1565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610270576040519150601f19603f3d011682016040523d82523d6000602084013e610275565b606091505b50915091508181906103055760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156102ca5781810151838201526020016102b2565b50505050905090810190601f1680156102f75780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5050505050605b806103186000396000f3fe60806040527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc543660008037600080366000846127105a03f43d806000803e818015604957816000f35b816000fdfea164736f6c634300060c000a636f6e7374727563746f723a205f7661756c744c6962206e6f7420636f6d70617469626c654f6e6c79207468652063757272656e742046756e644465706c6f7965722063616e2063616c6c20746869732066756e6374696f6e7369676e616c4d6967726174696f6e3a204e6f6e2d636f6e7472616374205f6e6578745661756c744163636573736f7273657443757272656e7446756e644465706c6f7965723a205f6e65787446756e644465706c6f79657220697320616c72656164792063757272656e7446756e644465706c6f79657263616e63656c4d6967726174696f6e3a204e6f206d6967726174696f6e20726571756573742065786973747373657443757272656e7446756e644465706c6f7965723a205f6e65787446756e644465706c6f7965722063616e6e6f7420626520656d70747963616e63656c4d6967726174696f6e3a204e6f7420616e20616c6c6f7765642063616c6c6572657865637574654d6967726174696f6e3a20546865207461726765742046756e644465706c6f796572206973206e6f206c6f6e676572207468652063757272656e742046756e644465706c6f7965724f6e6c792074686520636f6e7472616374206f776e65722063616e2063616c6c20746869732066756e6374696f6e72656d6f76654e6f6d696e617465644f776e65723a205468657265206973206e6f206e6f6d696e61746564206f776e65726465706c6f795661756c7450726f78793a204e6f6e2d636f6e7472616374205f7661756c744163636573736f727365744e6f6d696e617465644f776e65723a205f6e6578744e6f6d696e617465644f776e65722063616e6e6f7420626520656d7074797369676e616c4d6967726174696f6e3a205f7661756c7450726f787920646f6573206e6f74206578697374657865637574654d6967726174696f6e3a20546865206d6967726174696f6e2074696d656c6f636b20686173206e6f7420656c61707365647365744e6f6d696e617465644f776e65723a205f6e6578744e6f6d696e617465644f776e657220697320616c726561647920746865206f776e6572657865637574654d6967726174696f6e3a204f6e6c7920746865207461726765742046756e644465706c6f7965722063616e2063616c6c20746869732066756e6374696f6e7365744e6f6d696e617465644f776e65723a205f6e6578744e6f6d696e617465644f776e657220697320616c7265616479206e6f6d696e61746564636c61696d4f776e6572736869703a204f6e6c7920746865206e6f6d696e617465644f776e65722063616e2063616c6c20746869732066756e6374696f6e7369676e616c4d6967726174696f6e3a2043616e206f6e6c79206d69677261746520746f2061206e65772046756e644465706c6f79657273657443757272656e7446756e644465706c6f7965723a204e6f6e2d636f6e7472616374205f6e65787446756e644465706c6f796572657865637574654d6967726174696f6e3a204e6f206d6967726174696f6e20726571756573742065786973747320666f72205f7661756c7450726f78797365744d6967726174696f6e54696d656c6f636b3a205f6e65787454696d656c6f636b206973207468652063757272656e742074696d656c6f636ba164736f6c634300060c000a4f6e6c792074686520636f6e7472616374206f776e65722063616e2063616c6c20746869732066756e6374696f6e7365744e6f6d696e617465644f776e65723a205f6e6578744e6f6d696e617465644f776e65722063616e6e6f7420626520656d7074794572726f723a2061203d3d2062206e6f7420736174697366696564205b616464726573735d7365744e6f6d696e617465644f776e65723a205f6e6578744e6f6d696e617465644f776e657220697320616c726561647920746865206f776e65727365744e6f6d696e617465644f776e65723a205f6e6578744e6f6d696e617465644f776e657220697320616c7265616479206e6f6d696e61746564a164736f6c634300060c000a", - "sourceMap": "1118:1363:456:-:0;;;1572:26:435;;;-1:-1:-1;;;;1572:26:435;;;1594:4;1572:26;165:28:436;;;;;1118:1363:456;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106100a95760003560e01c8063c58fc2c311610071578063c58fc2c3146101a6578063cd8591bb146101ae578063f0344008146101b6578063f8ccbf47146101be578063fa7626d4146101c6578063ff5d31f1146101ce576100a9565b80630a9254e4146100ae5780633a768463146100b8578063511b1df9146100dc578063a140ff8714610182578063ba414fa61461018a575b600080fd5b6100b66101d6565b005b6100c0610221565b604080516001600160a01b039092168252519081900360200190f35b6100c0600480360360208110156100f257600080fd5b81019060208101813564010000000081111561010d57600080fd5b82018360208201111561011f57600080fd5b8035906020019184600183028401116401000000008311171561014157600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610239945050505050565b6100b661024d565b610192610332565b604080519115158252519081900360200190f35b6100b66104f8565b6100b66105c1565b6100b6610800565b610192610936565b610192610945565b6100b661094e565b6040516101e290610d04565b604051809103906000f0801580156101fe573d6000803e3d6000fd5b50600880546001600160a01b0319166001600160a01b0392909216919091179055565b737109709ecfa91a80626ff3989d68f67f5b1dd12d81565b80516020909101206001600160a01b031690565b60405163f28dceb360e01b8152602060048201908152603b60248301819052737109709ecfa91a80626ff3989d68f67f5b1dd12d9263f28dceb392918291604401906137ef8239604001915050600060405180830381600087803b1580156102b457600080fd5b505af11580156102c8573d6000803e3d6000fd5b50506008546040805163039470bd60e51b815230600482015290516001600160a01b03909216935063728e17a0925060248082019260009290919082900301818387803b15801561031857600080fd5b505af115801561032c573d6000803e3d6000fd5b50505050565b60008054610100900460ff16156103545750600054610100900460ff166104f5565b600061035e610a24565b156104f25760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d60208083018290526519985a5b195960d21b838501528351808403850181526060848101909552630667f9d760e41b60808501908152815193947f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc494929391926084909101918401908083835b602083106104085780518252601f1990920191602091820191016103e9565b6001836020036101000a038019825116818451168082178552505050505050905001925050506040516020818303038152906040526040518082805190602001908083835b6020831061046c5780518252601f19909201916020918201910161044d565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146104ce576040519150601f19603f3d011682016040523d82523d6000602084013e6104d3565b606091505b509150508080602001905160208110156104ec57600080fd5b50519150505b90505b90565b60405163f28dceb360e01b8152602060048201908152603660248301819052737109709ecfa91a80626ff3989d68f67f5b1dd12d9263f28dceb392918291604401906137948239604001915050600060405180830381600087803b15801561055f57600080fd5b505af1158015610573573d6000803e3d6000fd5b50506008546040805163039470bd60e51b815260006004820181905291516001600160a01b03909316945063728e17a093506024808201939182900301818387803b15801561031857600080fd5b6106456000600860009054906101000a90046001600160a01b03166001600160a01b031663288b6a366040518163ffffffff1660e01b815260040160206040518083038186803b15801561061457600080fd5b505afa158015610628573d6000803e3d6000fd5b505050506040513d602081101561063e57600080fd5b5051610a3f565b6040805163248e63e160e11b8152600160048201819052602482018190526044820181905260648201529051737109709ecfa91a80626ff3989d68f67f5b1dd12d9163491cc7c291608480830192600092919082900301818387803b1580156106ad57600080fd5b505af11580156106c1573d6000803e3d6000fd5b505060405161053992507f132c19de901bb4ed8403c34734b6c841d5dc57745824da452a52433519ea5abf9150600090a26008546040805163039470bd60e51b8152610539600482015290516001600160a01b039092169163728e17a09160248082019260009290919082900301818387803b15801561074057600080fd5b505af1158015610754573d6000803e3d6000fd5b505050506107ac610539600860009054906101000a90046001600160a01b03166001600160a01b031663288b6a366040518163ffffffff1660e01b815260040160206040518083038186803b15801561061457600080fd5b6107fe30600860009054906101000a90046001600160a01b03166001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561061457600080fd5b565b6008546040805163039470bd60e51b8152610539600482015290516001600160a01b039092169163728e17a09160248082019260009290919082900301818387803b15801561084e57600080fd5b505af1158015610862573d6000803e3d6000fd5b505060405163f28dceb360e01b8152602060048201908152603b60248301819052737109709ecfa91a80626ff3989d68f67f5b1dd12d945063f28dceb393509091829160449091019061382a8239604001915050600060405180830381600087803b1580156108d057600080fd5b505af11580156108e4573d6000803e3d6000fd5b50506008546040805163039470bd60e51b8152610539600482015290516001600160a01b03909216935063728e17a0925060248082019260009290919082900301818387803b15801561031857600080fd5b60005462010000900460ff1681565b60005460ff1681565b6040805163ca669fa760e01b815261053960048201529051737109709ecfa91a80626ff3989d68f67f5b1dd12d9163ca669fa791602480830192600092919082900301818387803b1580156109a257600080fd5b505af11580156109b6573d6000803e3d6000fd5b505060405163f28dceb360e01b8152602060048201908152602e60248301819052737109709ecfa91a80626ff3989d68f67f5b1dd12d945063f28dceb39350909182916044909101906137668239604001915050600060405180830381600087803b1580156108d057600080fd5b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b151590565b806001600160a01b0316826001600160a01b031614610b61577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f506040518080602001828103825260258152602001806137ca6025913960400191505060405180910390a1604080516001600160a01b0383166020820152818152600a81830152690808115e1c1958dd195960b21b606082015290517f9c4e8541ca8f0dc1c413f9108f66d82d3cecb1bddbce437a61caa3175c4cc96f9181900360800190a1604080516001600160a01b0384166020820152818152600a8183015269080808081058dd1d585b60b21b606082015290517f9c4e8541ca8f0dc1c413f9108f66d82d3cecb1bddbce437a61caa3175c4cc96f9181900360800190a1610b61610b65565b5050565b610b6d610a24565b15610cf35760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d60208083018290526519985a5b195960d21b83850152600160608481019190915284518085039091018152608084019094526370ca10bb60e01b60a08401908152845160009593947f70ca10bbd0dbfd9020a9f4b13402c16cb120705e0d1c0aeab10fa353ae586fc4949360a490910191908401908083835b60208310610c235780518252601f199092019160209182019101610c04565b6001836020036101000a038019825116818451168082178552505050505050905001925050506040516020818303038152906040526040518082805190602001908083835b60208310610c875780518252601f199092019160209182019101610c68565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610ce9576040519150601f19603f3d011682016040523d82523d6000602084013e610cee565b606091505b505050505b6000805461ff001916610100179055565b612a5480610d128339019056fe60806040523480156200001157600080fd5b506202a300600355600280546001600160a01b031916331790556040805180820190915260048082526322a72d2360e11b60209092019182526200005691816200005d565b50620000f9565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620000a057805160ff1916838001178555620000d0565b82800160010185558215620000d0579182015b82811115620000d0578251825591602001919060010190620000b3565b50620000de929150620000e2565b5090565b5b80821115620000de5760008155600101620000e3565b61294b80620001096000396000f3fe60806040523480156200001157600080fd5b5060043610620001485760003560e01c806377a8c62411620000bd57806397af7050116200007b57806397af7050146200042d5780639c9d48da1462000456578063b47b06001462000487578063d0449d3d1462000509578063d15f9b9c14620005325762000148565b806377a8c62414620003885780637c77b2ed14620003b15780637dad9fc814620003bb5780638156eecf1462000419578063893d20e814620004235762000148565b80633d7c74f8116200010b5780633d7c74f814620002795780634e71e0c814620002a257806366231cea14620002ac578063728e17a014620002e9578063757bc0dd14620003125762000148565b80631df419f7146200014d57806322a0c08b146200016f578063288b6a3614620002225780632fa0c161146200022c57806338b3eb1b1462000248575b600080fd5b6200016d600480360360208110156200016557600080fd5b503562000573565b005b62000206600480360360808110156200018757600080fd5b6001600160a01b0382358116926020810135821692604082013590921691810190608081016060820135640100000000811115620001c457600080fd5b820183602082011115620001d757600080fd5b80359060200191846001830284011164010000000083111715620001fa57600080fd5b50909250905062000646565b604080516001600160a01b039092168252519081900360200190f35b62000206620008df565b62000236620008ee565b60408051918252519081900360200190f35b6200016d600480360360408110156200026057600080fd5b506001600160a01b0381351690602001351515620008f4565b62000206600480360360208110156200029157600080fd5b50356001600160a01b031662000c46565b6200016d62000c67565b620002d560048036036020811015620002c457600080fd5b50356001600160a01b031662000d10565b604080519115158252519081900360200190f35b6200016d600480360360208110156200030157600080fd5b50356001600160a01b031662000d43565b6200016d600480360360208110156200032a57600080fd5b8101906020810181356401000000008111156200034657600080fd5b8201836020820111156200035957600080fd5b803590602001918460018302840111640100000000831117156200037c57600080fd5b50909250905062000ebd565b6200023660048036036020811015620003a057600080fd5b50356001600160a01b031662000f7b565b6200020662000fc4565b620003e460048036036020811015620003d357600080fd5b50356001600160a01b031662000fd3565b604080516001600160a01b03958616815293851660208501529190931682820152606082019290925290519081900360800190f35b6200016d6200106b565b6200020662001147565b6200016d600480360360208110156200044557600080fd5b50356001600160a01b031662001156565b6200016d600480360360408110156200046e57600080fd5b506001600160a01b0381351690602001351515620012e1565b620004916200152a565b6040805160208082528351818301528351919283929083019185019080838360005b83811015620004cd578181015183820152602001620004b3565b50505050905090810190601f168015620004fb5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b620002d5600480360360208110156200052157600080fd5b50356001600160a01b0316620015c4565b6200016d600480360360808110156200054a57600080fd5b506001600160a01b038135811691602081013582169160408201351690606001351515620015e4565b6002546001600160a01b03163314620005be5760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b60035481811415620006025760405162461bcd60e51b815260040180806020018281038252603b81526020018062002904603b913960400191505060405180910390fd5b6003829055604080518281526020810184905281517f481ce28a1145a5d9b59e2d1d7eba33bc3350124def8fdc91032238d343ad5361929181900390910190a15050565b600080546001600160a01b03163314620006925760405162461bcd60e51b8152600401808060200182810382526034815260200180620024b66034913960400191505060405180910390fd5b6200069d8462001832565b620006da5760405162461bcd60e51b815260040180806020018281038252602d8152602001806200269b602d913960400191505060405180910390fd5b6060635c9a6d3760e01b8686868660405160240180856001600160a01b03168152602001846001600160a01b0316815260200180602001828103825284848281815260200192508082843760008382015260408051601f909201601f1990811690940182810390940182529283526020810180516001600160e01b03166001600160e01b0319909b169a909a17909952505196975087968e965062000786955093506200204c92505050565b8080602001836001600160a01b03168152602001828103825284818151815260200191508051906020019080838360005b83811015620007d1578181015183820152602001620007b7565b50505050905090810190601f168015620007ff5780820380516001836020036101000a031916815260200191505b509350505050604051809103906000f08015801562000822573d6000803e3d6000fd5b506001600160a01b0380821660008181526005602090815260409182902080546001600160a01b0319163390811790915582519384528a85169184019190915260609183018281529183018890529395508a8316928a169184917fa50560b448ad796ef60adfeffe1c19ed34daf94c2aa6905d0e209017dbc19f589188918c918c918c919060808201848480828437600083820152604051601f909101601f191690920182900397509095505050505050a4505095945050505050565b6001546001600160a01b031690565b60035490565b620008fe6200205a565b506001600160a01b038083166000908152600660209081526040918290208251608081018452815485168082526001830154861693820193909352600282015490941692840192909252600390910154606083015280620009915760405162461bcd60e51b815260040180806020018281038252603d815260200180620028c7603d913960400191505060405180910390fd5b336001600160a01b03821614620009da5760405162461bcd60e51b81526004018080602001828103825260458152602001806200279c6045913960600191505060405180910390fd5b6000546001600160a01b0382811691161462000a285760405162461bcd60e51b815260040180806020018281038252604f815260200180620025ed604f913960600191505060405180910390fd5b60608201514281111562000a6e5760405162461bcd60e51b8152600401808060200182810382526038815260200180620027296038913960400191505060405180910390fd5b6001600160a01b0380861660009081526005602090815260409182902054908601519186015192169162000aa9600289858886868d62001838565b876001600160a01b0316634140d607826040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050600060405180830381600087803b15801562000af957600080fd5b505af115801562000b0e573d6000803e3d6000fd5b50505050876001600160a01b031663ab9253ac836040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050600060405180830381600087803b15801562000b6257600080fd5b505af115801562000b77573d6000803e3d6000fd5b5050506001600160a01b03808a1660009081526005602090815260408083208054948b166001600160a01b0319958616179055600690915281208054831681556001810180548416905560028101805490931690925560039182015562000be5915089858886868d62001838565b604080516001600160a01b038481168252838116602083015281830187905291518288169286811692908c16917fad6fb3d36e2cda148dfd43203c1a40c0da9a9baa662ae9d6c3b0c3e4a9d6a6359181900360600190a45050505050505050565b6001600160a01b03808216600090815260056020526040902054165b919050565b6001546001600160a01b031633811462000cb35760405162461bcd60e51b815260040180806020018281038252603e8152602001806200281c603e913960400191505060405180910390fd5b600180546001600160a01b0319908116909155600280546001600160a01b0384811693821684179092556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038116600090815260066020526040812060030154801580159062000d3c5750804210155b9392505050565b6002546001600160a01b0316331462000d8e5760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b6001600160a01b03811662000dd55760405162461bcd60e51b8152600401808060200182810382526036815260200180620026c86036913960400191505060405180910390fd5b6002546001600160a01b038281169116141562000e245760405162461bcd60e51b815260040180806020018281038252603b81526020018062002761603b913960400191505060405180910390fd5b6001546001600160a01b038281169116141562000e735760405162461bcd60e51b815260040180806020018281038252603b815260200180620027e1603b913960400191505060405180910390fd5b600180546001600160a01b0319166001600160a01b0383169081179091556040517f132c19de901bb4ed8403c34734b6c841d5dc57745824da452a52433519ea5abf90600090a250565b6002546001600160a01b0316331462000f085760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b62000f166004838362002081565b507ff0115712c23b609855a28d7b8963c6d16d732ae388b11e5d4ec6d5eae4ad8698828260405180806020018281038252848482818152602001925080828437600083820152604051601f909101601f19169092018290039550909350505050a15050565b6001600160a01b0381166000908152600660205260408120600301548062000fa857600091505062000c62565b80421062000fbb57600091505062000c62565b42900392915050565b6000546001600160a01b031690565b60008060008062000fe36200205a565b506001600160a01b038086166000908152600660209081526040918290208251608081018452815485168152600182015485169281019290925260028101549093169181019190915260039091015460608201819052156200106257806000015181602001518260400151836060015194509450945094505062001064565b505b9193509193565b6002546001600160a01b03163314620010b65760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b6001546001600160a01b031680620011005760405162461bcd60e51b81526004018080602001828103825260318152602001806200266a6031913960400191505060405180910390fd5b600180546001600160a01b03191690556040516001600160a01b038216907fe4136584a5e8bb85d66301f3ce8b11cc2e5a8bea3979f10ea2451353849acc4790600090a250565b6002546001600160a01b031690565b6002546001600160a01b03163314620011a15760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b6001600160a01b038116620011e85760405162461bcd60e51b81526004018080602001828103825260398152602001806200258e6039913960400191505060405180910390fd5b620011f38162001832565b620012305760405162461bcd60e51b8152600401808060200182810382526036815260200180620028916036913960400191505060405180910390fd5b6000546001600160a01b03908116908216811415620012815760405162461bcd60e51b81526004018080602001828103825260488152602001806200251a6048913960600191505060405180910390fd5b600080546001600160a01b0319166001600160a01b03848116918217909255604080519284168352602083019190915280517f44cf34a26ccbaa8a20e6098a1278e28682572ec9921eb43d8dab274a503e92f59281900390910190a15050565b620012eb6200205a565b506001600160a01b0380831660009081526006602090815260409182902082516080810184528154851680825260018301548616938201939093526002820154909416928401929092526003909101546060830152806200137e5760405162461bcd60e51b815260040180806020018281038252602c81526020018062002562602c913960400191505060405180910390fd5b336001600160a01b038216148062001407575060408051633ef03e7560e11b815233600482015290516001600160a01b03861691637de07cea916024808301926020929190829003018186803b158015620013d857600080fd5b505afa158015620013ed573d6000803e3d6000fd5b505050506040513d60208110156200140457600080fd5b50515b620014445760405162461bcd60e51b8152600401808060200182810382526026815260200180620025c76026913960400191505060405180910390fd5b6001600160a01b0380851660009081526005602090815260408083205486830151878301516060890151600690955292852080546001600160a01b03199081168255600182018054821690556002820180549091169055600301949094559093169290620014b9600489868887878d62001838565b620014c988858786868c62001bd1565b604080516001600160a01b038581168252848116602083015281830184905291518288169287811692908c16917f9851a8f232c380eb2c1065756776e37d85d4fe0c8cb4005b0d72c749bfef923e9181900360600190a45050505050505050565b60048054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815260609390929091830182828015620015ba5780601f106200158e57610100808354040283529160200191620015ba565b820191906000526020600020905b8154815290600101906020018083116200159c57829003601f168201915b5050505050905090565b6001600160a01b0316600090815260066020526040902060030154151590565b6000546001600160a01b031633146200162f5760405162461bcd60e51b8152600401808060200182810382526034815260200180620024b66034913960400191505060405180910390fd5b6200163a8362001832565b620016775760405162461bcd60e51b8152600401808060200182810382526030815260200180620024ea6030913960400191505060405180910390fd5b6001600160a01b038085166000908152600560205260409020541680620016d05760405162461bcd60e51b815260040180806020018281038252602b815260200180620026fe602b913960400191505060405180910390fd5b336001600160a01b0382168114156200171b5760405162461bcd60e51b81526004018080602001828103825260378152602001806200285a6037913960400191505060405180910390fd5b6200172d600087848489898962001838565b60038054604080516080810182526001600160a01b03808616825289811660208084019182528a831684860190815242909601606085018181528e85166000908152600690935295909120935184549084166001600160a01b0319918216178555915160018086018054928616928516929092179091559551600285018054919094169216919091179091559151930192909255620017d2908885858a8a8a62001838565b604080516001600160a01b038881168252878116602083015281830184905291518285169286811692908b16917fb519c42fdb88f83f098814813f2ebff14fbf14f3e68b054e5a98834c69d54bfb9181900360600190a450505050505050565b3b151590565b60006060866001600160a01b0316633f84c12c60e01b8a8a898989604051602401808660048111156200186757fe5b8152602001856001600160a01b03168152602001846001600160a01b03168152602001836001600160a01b03168152602001826001600160a01b0316815260200195505050505050604051602081830303815290604052906001600160e01b0319166020820180516001600160e01b0383818316178352505050506040518082805190602001908083835b60208310620019135780518252601f199092019160209182019101620018f2565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811462001977576040519150601f19603f3d011682016040523d82523d6000602084013e6200197c565b606091505b50915091508162001bc65782620019938a62001ea1565b826040516020018083805190602001908083835b60208310620019c85780518252601f199092019160209182019101620019a7565b51815160209384036101000a600019018019909216911617905285519190930192850191508083835b6020831062001a125780518252601f199092019160209182019101620019f1565b6001836020036101000a038019825116818451168082178552505050505050905001925050506040516020818303038152906040529062001ad45760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101562001a9857818101518382015260200162001a7e565b50505050905090810190601f16801562001ac65780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50856001600160a01b0316876001600160a01b0316896001600160a01b03167fbf0ae6830883bd89855f2e7b17a2924b5de0b2b3d4a8834d7c2c0d5dc53447db848d8a8a604051808060200185600481111562001b2d57fe5b8152602001846001600160a01b03168152602001836001600160a01b03168152602001828103825286818151815260200191508051906020019080838360005b8381101562001b8757818101518382015260200162001b6d565b50505050905090810190601f16801562001bb55780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a45b505050505050505050565b604080516001600160a01b038881166024830152878116604483015285811660648301528481166084808401919091528351808403909101815260a490920183526020820180516001600160e01b031663df369ba760e01b17815292518251600094606094938a169392918291908083835b6020831062001c645780518252601f19909201916020918201910162001c43565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811462001cc8576040519150601f19603f3d011682016040523d82523d6000602084013e62001ccd565b606091505b50915091508162001e9757828160405160200180807f4d6967726174696f6e4f757443616e63656c486f6f6b3a20000000000000000081525060180182805190602001908083835b6020831062001d365780518252601f19909201916020918201910162001d15565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040516020818303038152906040529062001db95760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831562001a9857818101518382015260200162001a7e565b50856001600160a01b0316876001600160a01b0316896001600160a01b03167f7c79070aa51adb676fb9c8d0f7a1f841ff9cf514444b37c95297ed1c52547b328489896040518080602001846001600160a01b03168152602001836001600160a01b03168152602001828103825285818151815260200191508051906020019080838360005b8381101562001e5957818101518382015260200162001e3f565b50505050905090810190601f16801562001e875780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a45b5050505050505050565b6060600082600481111562001eb257fe5b141562001ef4575060408051808201909152601c81527f4d6967726174696f6e4f7574486f6f6b2e5072655369676e616c3a2000000000602082015262000c62565b600182600481111562001f0357fe5b141562001f45575060408051808201909152601d81527f4d6967726174696f6e4f7574486f6f6b2e506f73745369676e616c3a20000000602082015262000c62565b600282600481111562001f5457fe5b141562001f96575060408051808201909152601d81527f4d6967726174696f6e4f7574486f6f6b2e5072654d6967726174653a20000000602082015262000c62565b600382600481111562001fa557fe5b141562001fe7575060408051808201909152601e81527f4d6967726174696f6e4f7574486f6f6b2e506f73744d6967726174653a200000602082015262000c62565b600482600481111562001ff657fe5b141562002038575060408051808201909152601d81527f4d6967726174696f6e4f7574486f6f6b2e506f737443616e63656c3a20000000602082015262000c62565b505060408051602081019091526000815290565b610398806200211e83390190565b60408051608081018252600080825260208201819052918101829052606081019190915290565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620020c45782800160ff19823516178555620020f4565b82800160010185558215620020f4579182015b82811115620020f4578235825591602001919060010190620020d7565b506200210292915062002106565b5090565b5b808211156200210257600081556001016200210756fe608060405234801561001057600080fd5b506040516103983803806103988339818101604052604081101561003357600080fd5b810190808051604051939291908464010000000082111561005357600080fd5b90830190602082018581111561006857600080fd5b825164010000000081118282018810171561008257600080fd5b82525081516020918201929091019080838360005b838110156100af578181015183820152602001610097565b50505050905090810190601f1680156100dc5780820380516001836020036101000a031916815260200191505b5060408181526020928301516352d1902d60e01b835290519094506001600160a01b03851693506352d1902d92600480840193919291829003018186803b15801561012657600080fd5b505afa15801561013a573d6000803e3d6000fd5b505050506040513d602081101561015057600080fd5b50517f027b9570e9fedc1a80b937ae9a06861e5faef3992491af30b684a64b3fbec7a5146101af5760405162461bcd60e51b81526004018080602001828103825260258152602001806103736025913960400191505060405180910390fd5b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5560006060826001600160a01b0316846040518082805190602001908083835b602083106102105780518252601f1990920191602091820191016101f1565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610270576040519150601f19603f3d011682016040523d82523d6000602084013e610275565b606091505b50915091508181906103055760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156102ca5781810151838201526020016102b2565b50505050905090810190601f1680156102f75780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5050505050605b806103186000396000f3fe60806040527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc543660008037600080366000846127105a03f43d806000803e818015604957816000f35b816000fdfea164736f6c634300060c000a636f6e7374727563746f723a205f7661756c744c6962206e6f7420636f6d70617469626c654f6e6c79207468652063757272656e742046756e644465706c6f7965722063616e2063616c6c20746869732066756e6374696f6e7369676e616c4d6967726174696f6e3a204e6f6e2d636f6e7472616374205f6e6578745661756c744163636573736f7273657443757272656e7446756e644465706c6f7965723a205f6e65787446756e644465706c6f79657220697320616c72656164792063757272656e7446756e644465706c6f79657263616e63656c4d6967726174696f6e3a204e6f206d6967726174696f6e20726571756573742065786973747373657443757272656e7446756e644465706c6f7965723a205f6e65787446756e644465706c6f7965722063616e6e6f7420626520656d70747963616e63656c4d6967726174696f6e3a204e6f7420616e20616c6c6f7765642063616c6c6572657865637574654d6967726174696f6e3a20546865207461726765742046756e644465706c6f796572206973206e6f206c6f6e676572207468652063757272656e742046756e644465706c6f7965724f6e6c792074686520636f6e7472616374206f776e65722063616e2063616c6c20746869732066756e6374696f6e72656d6f76654e6f6d696e617465644f776e65723a205468657265206973206e6f206e6f6d696e61746564206f776e65726465706c6f795661756c7450726f78793a204e6f6e2d636f6e7472616374205f7661756c744163636573736f727365744e6f6d696e617465644f776e65723a205f6e6578744e6f6d696e617465644f776e65722063616e6e6f7420626520656d7074797369676e616c4d6967726174696f6e3a205f7661756c7450726f787920646f6573206e6f74206578697374657865637574654d6967726174696f6e3a20546865206d6967726174696f6e2074696d656c6f636b20686173206e6f7420656c61707365647365744e6f6d696e617465644f776e65723a205f6e6578744e6f6d696e617465644f776e657220697320616c726561647920746865206f776e6572657865637574654d6967726174696f6e3a204f6e6c7920746865207461726765742046756e644465706c6f7965722063616e2063616c6c20746869732066756e6374696f6e7365744e6f6d696e617465644f776e65723a205f6e6578744e6f6d696e617465644f776e657220697320616c7265616479206e6f6d696e61746564636c61696d4f776e6572736869703a204f6e6c7920746865206e6f6d696e617465644f776e65722063616e2063616c6c20746869732066756e6374696f6e7369676e616c4d6967726174696f6e3a2043616e206f6e6c79206d69677261746520746f2061206e65772046756e644465706c6f79657273657443757272656e7446756e644465706c6f7965723a204e6f6e2d636f6e7472616374205f6e65787446756e644465706c6f796572657865637574654d6967726174696f6e3a204e6f206d6967726174696f6e20726571756573742065786973747320666f72205f7661756c7450726f78797365744d6967726174696f6e54696d656c6f636b3a205f6e65787454696d656c6f636b206973207468652063757272656e742074696d656c6f636ba164736f6c634300060c000a4f6e6c792074686520636f6e7472616374206f776e65722063616e2063616c6c20746869732066756e6374696f6e7365744e6f6d696e617465644f776e65723a205f6e6578744e6f6d696e617465644f776e65722063616e6e6f7420626520656d7074794572726f723a2061203d3d2062206e6f7420736174697366696564205b616464726573735d7365744e6f6d696e617465644f776e65723a205f6e6578744e6f6d696e617465644f776e657220697320616c726561647920746865206f776e65727365744e6f6d696e617465644f776e65723a205f6e6578744e6f6d696e617465644f776e657220697320616c7265616479206e6f6d696e61746564a164736f6c634300060c000a", - "sourceMap": "1118:1363:456:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;823:78;;;:::i;:::-;;316:38:436;;;:::i;:::-;;;;-1:-1:-1;;;;;316:38:436;;;;;;;;;;;;;;669:148:456;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;669:148:456;;-1:-1:-1;669:148:456;;-1:-1:-1;;;;;669:148:456:i;2017:201::-;;;:::i;1819:584:435:-;;;:::i;:::-;;;;;;;;;;;;;;;;;;1822:189:456;;;:::i;1235:371::-;;;:::i;2224:255::-;;;:::i;165:28:436:-;;;:::i;1572:26:435:-;;;:::i;1612:204:456:-;;;:::i;823:78::-;878:16;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;865:10:456;:29;;-1:-1:-1;;;;;;865:29:456;-1:-1:-1;;;;;865:29:456;;;;;;;;;;823:78::o;316:38:436:-;245:64;316:38;:::o;669:148:456:-;783:23;;;;;;;-1:-1:-1;;;;;751:59:456;;669:148::o;2017:201::-;2080:78;;-1:-1:-1;;;2080:78:456;;;;;;;;;;;;;;;;245:64:436;;2080:15:456;;:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2168:10:456;;:43;;;-1:-1:-1;;;2168:43:456;;2205:4;2168:43;;;;;;-1:-1:-1;;;;;2168:10:456;;;;-1:-1:-1;2168:28:456;;-1:-1:-1;2168:43:456;;;;;:10;;:43;;;;;;;;:10;;:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2017:201::o;1819:584:435:-;1853:4;1873:7;;;;;;;1869:528;;;-1:-1:-1;1903:7:435;;;;;;;1896:14;;1869:528;1941:17;1984:16;:14;:16::i;:::-;1980:374;;;2196:43;;;1671:64;2196:43;;;;;;;-1:-1:-1;;;2196:43:435;;;;;;;;;;;;;2023:20;2196:43;;;;;;-1:-1:-1;;;2086:175:435;;;;;;;;1671:64;;2135:34;;2196:43;;2086:175;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2086:175:435;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2047:232;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2047:232:435;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2020:259;;;2323:7;2312:27;;;;;;;;;;;;;;;-1:-1:-1;2312:27:435;;-1:-1:-1;;1980:374:435;2374:12;-1:-1:-1;1869:528:435;1819:584;:::o;1822:189:456:-;1881:73;;-1:-1:-1;;;1881:73:456;;;;;;;;;;;;;;;;245:64:436;;1881:15:456;;:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1964:10:456;;:40;;;-1:-1:-1;;;1964:40:456;;:10;:40;;;;;;;;-1:-1:-1;;;;;1964:10:456;;;;-1:-1:-1;1964:28:456;;-1:-1:-1;1964:40:456;;;;;;;;;;;:10;;:40;;;;;;;;;;1235:371;1277:52;1294:1;1298:10;;;;;;;;;-1:-1:-1;;;;;1298:10:456;-1:-1:-1;;;;;1298:28:456;;:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1298:30:456;1277:8;:52::i;:::-;1340:37;;;-1:-1:-1;;;1340:37:456;;1354:4;1340:37;;;;;;;;;;;;;;;;;;;;;;;;245:64:436;;1340:13:456;;:37;;;;;269::436;;1340::456;;;;;;;269::436;245:64;1340:37:456;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1392:32:456;;1418:4;;-1:-1:-1;1392:32:456;;-1:-1:-1;1392:32:456;;;1435:10;;:43;;;-1:-1:-1;;;1435:43:456;;1472:4;1435:43;;;;;;-1:-1:-1;;;;;1435:10:456;;;;:28;;:43;;;;;:10;;:43;;;;;;;;:10;;:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1488:55;1505:4;1512:10;;;;;;;;;-1:-1:-1;;;;;1512:10:456;-1:-1:-1;;;;;1512:28:456;;:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1488:55;1553:46;1570:4;1577:10;;;;;;;;;-1:-1:-1;;;;;1577:10:456;-1:-1:-1;;;;;1577:19:456;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1553:46;1235:371::o;2224:255::-;2287:10;;:43;;;-1:-1:-1;;;2287:43:456;;2324:4;2287:43;;;;;;-1:-1:-1;;;;;2287:10:456;;;;:28;;:43;;;;;:10;;:43;;;;;;;;:10;;:43;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2341:78:456;;-1:-1:-1;;;2341:78:456;;;;;;;;;;;;;;;;245:64:436;;-1:-1:-1;2341:15:456;;-1:-1:-1;2341:78:456;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2429:10:456;;:43;;;-1:-1:-1;;;2429:43:456;;2466:4;2429:43;;;;;;-1:-1:-1;;;;;2429:10:456;;;;-1:-1:-1;2429:28:456;;-1:-1:-1;2429:43:456;;;;;:10;;:43;;;;;;;;:10;;:43;;;;;;;;;;165:28:436;;;;;;;;;:::o;1572:26:435:-;;;;;;:::o;1612:204:456:-;1658:23;;;-1:-1:-1;;;1658:23:456;;1675:4;1658:23;;;;;;245:64:436;;1658:8:456;;:23;;;;;269:37:436;;1658:23:456;;;;;;;269:37:436;245:64;1658:23:456;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1691:65:456;;-1:-1:-1;;;1691:65:456;;;;;;;;;;;;;;;;245:64:436;;-1:-1:-1;1691:15:456;;-1:-1:-1;1691:65:456;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2840:242:435;2990:42;2978:55;3059:16;;2840:242;:::o;3615:277::-;3683:1;-1:-1:-1;;;;;3678:6:435;:1;-1:-1:-1;;;;;3678:6:435;;3674:212;;3705:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3768:34;;;-1:-1:-1;;;;;3768:34:435;;;;;;;;;;;;;;-1:-1:-1;;;3768:34:435;;;;;;;;;;;;;;;3821;;;-1:-1:-1;;;;;3821:34:435;;;;;;;;;;;;;;-1:-1:-1;;;3821:34:435;;;;;;;;;;;;;;;3869:6;:4;:6::i;:::-;3615:277;;:::o;2410:424::-;2449:16;:14;:16::i;:::-;2445:359;;;2645:67;;;1671:64;2645:67;;;;;;;-1:-1:-1;;;2645:67:435;;;;2705:4;1679:55;2645:67;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2534:196:435;;;;;;;;2482:11;;1671:64;;2579:43;;2645:67;2534:196;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2534:196:435;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2499:245;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2499:245:435;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;2445:359:435;2813:7;:14;;-1:-1:-1;;2813:14:435;;;;;2410:424::o;-1:-1:-1:-;;;;;;;;:::o", - "linkReferences": {} - }, - "methodIdentifiers": { - "IS_SCRIPT()": "f8ccbf47", - "IS_TEST()": "fa7626d4", - "addr(string)": "511b1df9", - "failed()": "ba414fa6", - "setUp()": "0a9254e4", - "testAnonCannotSet()": "ff5d31f1", - "testDoesNotAllowEmptyNextOwner()": "c58fc2c3", - "testDoesNotAllowIdenticalNextOwner()": "a140ff87", - "testDoesNotAllowRepeatedNomination()": "f0344008", - "testHappyPath()": "cd8591bb", - "vm()": "3a768463" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"nominatedOwner\",\"type\":\"address\"}],\"name\":\"NominatedOwnerSet\",\"type\":\"event\"},{\"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_SCRIPT\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"}],\"name\":\"addr\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"setUp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testAnonCannotSet\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testDoesNotAllowEmptyNextOwner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testDoesNotAllowIdenticalNextOwner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testDoesNotAllowRepeatedNomination\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testHappyPath\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"vm\",\"outputs\":[{\"internalType\":\"contract Vm\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"tests/persistent/Dispatcher.t.sol\":\"SetNominatedOwnerTest\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/mocks/MockVaultLib.sol\":{\"keccak256\":\"0x14d298c9cd4411cc6260fe50b93a1da572c5ddee7bfca377dd35403741c4e3b6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://e51c048dc4e2c9117fff0ecd4ab94d09701b9cd89247db8608c1a491c7374635\",\"dweb:/ipfs/QmYkH9dXQp1EEMfrcGPUTc3ey4o2UtvG91vDxjgQzwUuHE\"]},\"contracts/persistent/dispatcher/Dispatcher.sol\":{\"keccak256\":\"0x0590285e72005e40573fcc93e95aa75a5963bdcf5b02a627c73d8bc982f9d850\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://e9f2190a9ba01ec1f03b5159387c3864b9700337f3d7b07ec0758bbde52d32e2\",\"dweb:/ipfs/QmX5gevftdWC5xzSVcmVn14aFhKgweCXAhndZ8ZECN92fj\"]},\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/dispatcher/IMigrationHookHandler.sol\":{\"keccak256\":\"0x4cec61ef58c1d2e7693ee954c3582b1a04ff836a569e216edb7526c7e56a5632\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://0acae6d91e3e20e6ebd46cbeff926967a2d64f3d8eb2e3cdff20366917a77879\",\"dweb:/ipfs/Qmd44oJngTNRnwXdDwtNd9o4UvTgxAmBGikz3QMPKf4NWy\"]},\"contracts/persistent/vault/VaultLibBaseCore.sol\":{\"keccak256\":\"0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd\",\"dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz\"]},\"contracts/persistent/vault/VaultProxy.sol\":{\"keccak256\":\"0x08ff12cb7955ab80cf35f98a5abae23a92f655916669986d1580cb394f6b6bb3\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://320fcccd67d3390d6762bdef41f7d5e679e61b3244b1d945fc33402ea684bc3a\",\"dweb:/ipfs/Qmaaxqgm4EzF1r4n52pkjs7bA5quKhVwrh356rTFXDj86L\"]},\"contracts/persistent/vault/interfaces/IMigratableVault.sol\":{\"keccak256\":\"0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6\",\"dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs\"]},\"contracts/persistent/vault/utils/ProxiableVaultLib.sol\":{\"keccak256\":\"0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44\",\"dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4\"]},\"contracts/persistent/vault/utils/SharesTokenBase.sol\":{\"keccak256\":\"0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8\",\"dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4\"]},\"contracts/persistent/vault/utils/VaultLibSafeMath.sol\":{\"keccak256\":\"0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02\",\"dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG\"]},\"lib/forge-std/lib/ds-test/src/test.sol\":{\"keccak256\":\"0xb39cd1d5220cb474947b131e15a4538334b7e886af244b440ae5c9c6bba96a54\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://3101520221449ac0070bda3881311a71d9aa87e5210765e875246922cb5cb5f5\",\"dweb:/ipfs/Qmbg6kAHNoG7ox9N9Xqd9Ere2H2XixMFWFqvyPwFCzB3Gr\"]},\"lib/forge-std/src/Script.sol\":{\"keccak256\":\"0x4424dbcb8f5b741475445726f87408fcd89951fad973bec2ca442ee157f910e7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5b0b9f6dfb69245d8f888558ae82bf1d2cdeace46201444fe4b2e6a5283f944a\",\"dweb:/ipfs/QmWFSKeFEZngNcwNn7A84EF7pASo5qe6r5oK24r9Kwca7Z\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0xa85dee62f7a3d7d3b26051f28d08bbfaa6d76888b8e64395583c35f11070372b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f3ecace3d6120731c4520f651c36658940df958755a2c86d6bf0ec895320a915\",\"dweb:/ipfs/QmVGbUYLtMsAYF3C27qHKs3VHRuRNDypuDfs4XGK47kqUT\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x63fc2487cf3a6650d933e18bcb61766f15f74c327192381806ea00f8f6446f66\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aad99f7b2ed3b11ff6c17b84b4196c562898640a80cabc2c28c87c116099a00f\",\"dweb:/ipfs/QmQNNbxHabRycegyXwJWBDutrdcScAP2SU5zEvorWEaFpx\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0xbeb823fcdb356244a83aaccdf828ad019ecc1ffaa3dff18e624fc6d5714ea671\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4cbe9400340e5f9ec55e2aff3bad1c15fa3afbbe37e80800e6f3fed2ad26854f\",\"dweb:/ipfs/QmdJBABsuXkvWxVzEyGXsTE3vyfBPXDdw5xvvtUz3JeoYW\"]},\"tests/persistent/Dispatcher.t.sol\":{\"keccak256\":\"0x9f19e0376c4d2fa61f4c50089a46d54b7a1d464b31413aeb4147da02b44cd298\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://e9f733c425d149594c2044229dd51e543d330cfb11b7825dfd59631a3aabd71d\",\"dweb:/ipfs/QmY3c9daKiMH2W9qbq94TekosaySFV44ZUXsGuBfigo832\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "nominatedOwner", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "NominatedOwnerSet", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "", - "type": "string", - "indexed": false - } - ], - "type": "event", - "name": "log", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "log_address", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "uint256[]", - "name": "val", - "type": "uint256[]", - "indexed": false - } - ], - "type": "event", - "name": "log_array", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "int256[]", - "name": "val", - "type": "int256[]", - "indexed": false - } - ], - "type": "event", - "name": "log_array", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "val", - "type": "address[]", - "indexed": false - } - ], - "type": "event", - "name": "log_array", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes", - "indexed": false - } - ], - "type": "event", - "name": "log_bytes", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32", - "indexed": false - } - ], - "type": "event", - "name": "log_bytes32", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "int256", - "name": "", - "type": "int256", - "indexed": false - } - ], - "type": "event", - "name": "log_int", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "key", - "type": "string", - "indexed": false - }, - { - "internalType": "address", - "name": "val", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "log_named_address", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "key", - "type": "string", - "indexed": false - }, - { - "internalType": "uint256[]", - "name": "val", - "type": "uint256[]", - "indexed": false - } - ], - "type": "event", - "name": "log_named_array", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "key", - "type": "string", - "indexed": false - }, - { - "internalType": "int256[]", - "name": "val", - "type": "int256[]", - "indexed": false - } - ], - "type": "event", - "name": "log_named_array", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "key", - "type": "string", - "indexed": false - }, - { - "internalType": "address[]", - "name": "val", - "type": "address[]", - "indexed": false - } - ], - "type": "event", - "name": "log_named_array", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "key", - "type": "string", - "indexed": false - }, - { - "internalType": "bytes", - "name": "val", - "type": "bytes", - "indexed": false - } - ], - "type": "event", - "name": "log_named_bytes", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "key", - "type": "string", - "indexed": false - }, - { - "internalType": "bytes32", - "name": "val", - "type": "bytes32", - "indexed": false - } - ], - "type": "event", - "name": "log_named_bytes32", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "key", - "type": "string", - "indexed": false - }, - { - "internalType": "int256", - "name": "val", - "type": "int256", - "indexed": false - }, - { - "internalType": "uint256", - "name": "decimals", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "log_named_decimal_int", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "key", - "type": "string", - "indexed": false - }, - { - "internalType": "uint256", - "name": "val", - "type": "uint256", - "indexed": false - }, - { - "internalType": "uint256", - "name": "decimals", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "log_named_decimal_uint", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "key", - "type": "string", - "indexed": false - }, - { - "internalType": "int256", - "name": "val", - "type": "int256", - "indexed": false - } - ], - "type": "event", - "name": "log_named_int", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "key", - "type": "string", - "indexed": false - }, - { - "internalType": "string", - "name": "val", - "type": "string", - "indexed": false - } - ], - "type": "event", - "name": "log_named_string", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "key", - "type": "string", - "indexed": false - }, - { - "internalType": "uint256", - "name": "val", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "log_named_uint", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "", - "type": "string", - "indexed": false - } - ], - "type": "event", - "name": "log_string", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "log_uint", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes", - "indexed": false - } - ], - "type": "event", - "name": "logs", - "anonymous": false - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "IS_SCRIPT", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "IS_TEST", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "string", - "name": "_name", - "type": "string" - } - ], - "stateMutability": "pure", - "type": "function", - "name": "addr", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "failed", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "setUp" - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "testAnonCannotSet" - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "testDoesNotAllowEmptyNextOwner" - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "testDoesNotAllowIdenticalNextOwner" - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "testDoesNotAllowRepeatedNomination" - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "testHappyPath" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "vm", - "outputs": [ - { - "internalType": "contract Vm", - "name": "", - "type": "address" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "tests/persistent/Dispatcher.t.sol": "SetNominatedOwnerTest" - }, - "libraries": {} - }, - "sources": { - "contracts/mocks/MockVaultLib.sol": { - "keccak256": "0x14d298c9cd4411cc6260fe50b93a1da572c5ddee7bfca377dd35403741c4e3b6", - "urls": [ - "bzz-raw://e51c048dc4e2c9117fff0ecd4ab94d09701b9cd89247db8608c1a491c7374635", - "dweb:/ipfs/QmYkH9dXQp1EEMfrcGPUTc3ey4o2UtvG91vDxjgQzwUuHE" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/dispatcher/Dispatcher.sol": { - "keccak256": "0x0590285e72005e40573fcc93e95aa75a5963bdcf5b02a627c73d8bc982f9d850", - "urls": [ - "bzz-raw://e9f2190a9ba01ec1f03b5159387c3864b9700337f3d7b07ec0758bbde52d32e2", - "dweb:/ipfs/QmX5gevftdWC5xzSVcmVn14aFhKgweCXAhndZ8ZECN92fj" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/dispatcher/IDispatcher.sol": { - "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", - "urls": [ - "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", - "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/dispatcher/IMigrationHookHandler.sol": { - "keccak256": "0x4cec61ef58c1d2e7693ee954c3582b1a04ff836a569e216edb7526c7e56a5632", - "urls": [ - "bzz-raw://0acae6d91e3e20e6ebd46cbeff926967a2d64f3d8eb2e3cdff20366917a77879", - "dweb:/ipfs/Qmd44oJngTNRnwXdDwtNd9o4UvTgxAmBGikz3QMPKf4NWy" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/VaultLibBaseCore.sol": { - "keccak256": "0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074", - "urls": [ - "bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd", - "dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/VaultProxy.sol": { - "keccak256": "0x08ff12cb7955ab80cf35f98a5abae23a92f655916669986d1580cb394f6b6bb3", - "urls": [ - "bzz-raw://320fcccd67d3390d6762bdef41f7d5e679e61b3244b1d945fc33402ea684bc3a", - "dweb:/ipfs/Qmaaxqgm4EzF1r4n52pkjs7bA5quKhVwrh356rTFXDj86L" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IMigratableVault.sol": { - "keccak256": "0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238", - "urls": [ - "bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6", - "dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/utils/ProxiableVaultLib.sol": { - "keccak256": "0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76", - "urls": [ - "bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44", - "dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/utils/SharesTokenBase.sol": { - "keccak256": "0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113", - "urls": [ - "bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8", - "dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/utils/VaultLibSafeMath.sol": { - "keccak256": "0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d", - "urls": [ - "bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02", - "dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG" - ], - "license": "GPL-3.0" - }, - "lib/forge-std/lib/ds-test/src/test.sol": { - "keccak256": "0xb39cd1d5220cb474947b131e15a4538334b7e886af244b440ae5c9c6bba96a54", - "urls": [ - "bzz-raw://3101520221449ac0070bda3881311a71d9aa87e5210765e875246922cb5cb5f5", - "dweb:/ipfs/Qmbg6kAHNoG7ox9N9Xqd9Ere2H2XixMFWFqvyPwFCzB3Gr" - ], - "license": "GPL-3.0-or-later" - }, - "lib/forge-std/src/Script.sol": { - "keccak256": "0x4424dbcb8f5b741475445726f87408fcd89951fad973bec2ca442ee157f910e7", - "urls": [ - "bzz-raw://5b0b9f6dfb69245d8f888558ae82bf1d2cdeace46201444fe4b2e6a5283f944a", - "dweb:/ipfs/QmWFSKeFEZngNcwNn7A84EF7pASo5qe6r5oK24r9Kwca7Z" - ], - "license": "MIT" - }, - "lib/forge-std/src/Test.sol": { - "keccak256": "0xa85dee62f7a3d7d3b26051f28d08bbfaa6d76888b8e64395583c35f11070372b", - "urls": [ - "bzz-raw://f3ecace3d6120731c4520f651c36658940df958755a2c86d6bf0ec895320a915", - "dweb:/ipfs/QmVGbUYLtMsAYF3C27qHKs3VHRuRNDypuDfs4XGK47kqUT" - ], - "license": "MIT" - }, - "lib/forge-std/src/Vm.sol": { - "keccak256": "0x63fc2487cf3a6650d933e18bcb61766f15f74c327192381806ea00f8f6446f66", - "urls": [ - "bzz-raw://aad99f7b2ed3b11ff6c17b84b4196c562898640a80cabc2c28c87c116099a00f", - "dweb:/ipfs/QmQNNbxHabRycegyXwJWBDutrdcScAP2SU5zEvorWEaFpx" - ], - "license": "MIT" - }, - "lib/forge-std/src/console.sol": { - "keccak256": "0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba", - "urls": [ - "bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70", - "dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec" - ], - "license": "MIT" - }, - "lib/forge-std/src/console2.sol": { - "keccak256": "0xbeb823fcdb356244a83aaccdf828ad019ecc1ffaa3dff18e624fc6d5714ea671", - "urls": [ - "bzz-raw://4cbe9400340e5f9ec55e2aff3bad1c15fa3afbbe37e80800e6f3fed2ad26854f", - "dweb:/ipfs/QmdJBABsuXkvWxVzEyGXsTE3vyfBPXDdw5xvvtUz3JeoYW" - ], - "license": "MIT" - }, - "tests/persistent/Dispatcher.t.sol": { - "keccak256": "0x9f19e0376c4d2fa61f4c50089a46d54b7a1d464b31413aeb4147da02b44cd298", - "urls": [ - "bzz-raw://e9f733c425d149594c2044229dd51e543d330cfb11b7825dfd59631a3aabd71d", - "dweb:/ipfs/QmY3c9daKiMH2W9qbq94TekosaySFV44ZUXsGuBfigo832" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 456 -} +{ "abi": [ { "type": "function", "name": "IS_SCRIPT", "inputs": [], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "IS_TEST", "inputs": [], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "addr", "inputs": [ { "name": "_name", "type": "string", "internalType": "string" } ], "outputs": [ { "name": "", "type": "address", "internalType": "address" } ], "stateMutability": "pure" }, { "type": "function", "name": "failed", "inputs": [], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "setUp", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "testAnonCannotSet", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "testDoesNotAllowEmptyNextOwner", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "testDoesNotAllowIdenticalNextOwner", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "testDoesNotAllowRepeatedNomination", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "testHappyPath", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "vm", "inputs": [], "outputs": [ { "name": "", "type": "address", "internalType": "contract Vm" } ], "stateMutability": "view" }, { "type": "event", "name": "NominatedOwnerSet", "inputs": [ { "name": "nominatedOwner", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "log", "inputs": [ { "name": "", "type": "string", "indexed": false, "internalType": "string" } ], "anonymous": false }, { "type": "event", "name": "log_address", "inputs": [ { "name": "", "type": "address", "indexed": false, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "log_array", "inputs": [ { "name": "val", "type": "uint256[]", "indexed": false, "internalType": "uint256[]" } ], "anonymous": false }, { "type": "event", "name": "log_array", "inputs": [ { "name": "val", "type": "int256[]", "indexed": false, "internalType": "int256[]" } ], "anonymous": false }, { "type": "event", "name": "log_array", "inputs": [ { "name": "val", "type": "address[]", "indexed": false, "internalType": "address[]" } ], "anonymous": false }, { "type": "event", "name": "log_bytes", "inputs": [ { "name": "", "type": "bytes", "indexed": false, "internalType": "bytes" } ], "anonymous": false }, { "type": "event", "name": "log_bytes32", "inputs": [ { "name": "", "type": "bytes32", "indexed": false, "internalType": "bytes32" } ], "anonymous": false }, { "type": "event", "name": "log_int", "inputs": [ { "name": "", "type": "int256", "indexed": false, "internalType": "int256" } ], "anonymous": false }, { "type": "event", "name": "log_named_address", "inputs": [ { "name": "key", "type": "string", "indexed": false, "internalType": "string" }, { "name": "val", "type": "address", "indexed": false, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "log_named_array", "inputs": [ { "name": "key", "type": "string", "indexed": false, "internalType": "string" }, { "name": "val", "type": "uint256[]", "indexed": false, "internalType": "uint256[]" } ], "anonymous": false }, { "type": "event", "name": "log_named_array", "inputs": [ { "name": "key", "type": "string", "indexed": false, "internalType": "string" }, { "name": "val", "type": "int256[]", "indexed": false, "internalType": "int256[]" } ], "anonymous": false }, { "type": "event", "name": "log_named_array", "inputs": [ { "name": "key", "type": "string", "indexed": false, "internalType": "string" }, { "name": "val", "type": "address[]", "indexed": false, "internalType": "address[]" } ], "anonymous": false }, { "type": "event", "name": "log_named_bytes", "inputs": [ { "name": "key", "type": "string", "indexed": false, "internalType": "string" }, { "name": "val", "type": "bytes", "indexed": false, "internalType": "bytes" } ], "anonymous": false }, { "type": "event", "name": "log_named_bytes32", "inputs": [ { "name": "key", "type": "string", "indexed": false, "internalType": "string" }, { "name": "val", "type": "bytes32", "indexed": false, "internalType": "bytes32" } ], "anonymous": false }, { "type": "event", "name": "log_named_decimal_int", "inputs": [ { "name": "key", "type": "string", "indexed": false, "internalType": "string" }, { "name": "val", "type": "int256", "indexed": false, "internalType": "int256" }, { "name": "decimals", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "log_named_decimal_uint", "inputs": [ { "name": "key", "type": "string", "indexed": false, "internalType": "string" }, { "name": "val", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "decimals", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "log_named_int", "inputs": [ { "name": "key", "type": "string", "indexed": false, "internalType": "string" }, { "name": "val", "type": "int256", "indexed": false, "internalType": "int256" } ], "anonymous": false }, { "type": "event", "name": "log_named_string", "inputs": [ { "name": "key", "type": "string", "indexed": false, "internalType": "string" }, { "name": "val", "type": "string", "indexed": false, "internalType": "string" } ], "anonymous": false }, { "type": "event", "name": "log_named_uint", "inputs": [ { "name": "key", "type": "string", "indexed": false, "internalType": "string" }, { "name": "val", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "log_string", "inputs": [ { "name": "", "type": "string", "indexed": false, "internalType": "string" } ], "anonymous": false }, { "type": "event", "name": "log_uint", "inputs": [ { "name": "", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "logs", "inputs": [ { "name": "", "type": "bytes", "indexed": false, "internalType": "bytes" } ], "anonymous": false } ], "bytecode": { "object": "0x60806040526000805462ff00001960ff19909116600117166201000017905534801561002a57600080fd5b506138718061003a6000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c8063c58fc2c311610071578063c58fc2c3146101a6578063cd8591bb146101ae578063f0344008146101b6578063f8ccbf47146101be578063fa7626d4146101c6578063ff5d31f1146101ce576100a9565b80630a9254e4146100ae5780633a768463146100b8578063511b1df9146100dc578063a140ff8714610182578063ba414fa61461018a575b600080fd5b6100b66101d6565b005b6100c0610221565b604080516001600160a01b039092168252519081900360200190f35b6100c0600480360360208110156100f257600080fd5b81019060208101813564010000000081111561010d57600080fd5b82018360208201111561011f57600080fd5b8035906020019184600183028401116401000000008311171561014157600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610239945050505050565b6100b661024d565b610192610332565b604080519115158252519081900360200190f35b6100b66104f8565b6100b66105c1565b6100b6610800565b610192610936565b610192610945565b6100b661094e565b6040516101e290610d04565b604051809103906000f0801580156101fe573d6000803e3d6000fd5b50600880546001600160a01b0319166001600160a01b0392909216919091179055565b737109709ecfa91a80626ff3989d68f67f5b1dd12d81565b80516020909101206001600160a01b031690565b60405163f28dceb360e01b8152602060048201908152603b60248301819052737109709ecfa91a80626ff3989d68f67f5b1dd12d9263f28dceb392918291604401906137ef8239604001915050600060405180830381600087803b1580156102b457600080fd5b505af11580156102c8573d6000803e3d6000fd5b50506008546040805163039470bd60e51b815230600482015290516001600160a01b03909216935063728e17a0925060248082019260009290919082900301818387803b15801561031857600080fd5b505af115801561032c573d6000803e3d6000fd5b50505050565b60008054610100900460ff16156103545750600054610100900460ff166104f5565b600061035e610a24565b156104f25760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d60208083018290526519985a5b195960d21b838501528351808403850181526060848101909552630667f9d760e41b60808501908152815193947f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc494929391926084909101918401908083835b602083106104085780518252601f1990920191602091820191016103e9565b6001836020036101000a038019825116818451168082178552505050505050905001925050506040516020818303038152906040526040518082805190602001908083835b6020831061046c5780518252601f19909201916020918201910161044d565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146104ce576040519150601f19603f3d011682016040523d82523d6000602084013e6104d3565b606091505b509150508080602001905160208110156104ec57600080fd5b50519150505b90505b90565b60405163f28dceb360e01b8152602060048201908152603660248301819052737109709ecfa91a80626ff3989d68f67f5b1dd12d9263f28dceb392918291604401906137948239604001915050600060405180830381600087803b15801561055f57600080fd5b505af1158015610573573d6000803e3d6000fd5b50506008546040805163039470bd60e51b815260006004820181905291516001600160a01b03909316945063728e17a093506024808201939182900301818387803b15801561031857600080fd5b6106456000600860009054906101000a90046001600160a01b03166001600160a01b031663288b6a366040518163ffffffff1660e01b815260040160206040518083038186803b15801561061457600080fd5b505afa158015610628573d6000803e3d6000fd5b505050506040513d602081101561063e57600080fd5b5051610a3f565b6040805163248e63e160e11b8152600160048201819052602482018190526044820181905260648201529051737109709ecfa91a80626ff3989d68f67f5b1dd12d9163491cc7c291608480830192600092919082900301818387803b1580156106ad57600080fd5b505af11580156106c1573d6000803e3d6000fd5b505060405161053992507f132c19de901bb4ed8403c34734b6c841d5dc57745824da452a52433519ea5abf9150600090a26008546040805163039470bd60e51b8152610539600482015290516001600160a01b039092169163728e17a09160248082019260009290919082900301818387803b15801561074057600080fd5b505af1158015610754573d6000803e3d6000fd5b505050506107ac610539600860009054906101000a90046001600160a01b03166001600160a01b031663288b6a366040518163ffffffff1660e01b815260040160206040518083038186803b15801561061457600080fd5b6107fe30600860009054906101000a90046001600160a01b03166001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561061457600080fd5b565b6008546040805163039470bd60e51b8152610539600482015290516001600160a01b039092169163728e17a09160248082019260009290919082900301818387803b15801561084e57600080fd5b505af1158015610862573d6000803e3d6000fd5b505060405163f28dceb360e01b8152602060048201908152603b60248301819052737109709ecfa91a80626ff3989d68f67f5b1dd12d945063f28dceb393509091829160449091019061382a8239604001915050600060405180830381600087803b1580156108d057600080fd5b505af11580156108e4573d6000803e3d6000fd5b50506008546040805163039470bd60e51b8152610539600482015290516001600160a01b03909216935063728e17a0925060248082019260009290919082900301818387803b15801561031857600080fd5b60005462010000900460ff1681565b60005460ff1681565b6040805163ca669fa760e01b815261053960048201529051737109709ecfa91a80626ff3989d68f67f5b1dd12d9163ca669fa791602480830192600092919082900301818387803b1580156109a257600080fd5b505af11580156109b6573d6000803e3d6000fd5b505060405163f28dceb360e01b8152602060048201908152602e60248301819052737109709ecfa91a80626ff3989d68f67f5b1dd12d945063f28dceb39350909182916044909101906137668239604001915050600060405180830381600087803b1580156108d057600080fd5b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b151590565b806001600160a01b0316826001600160a01b031614610b61577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f506040518080602001828103825260258152602001806137ca6025913960400191505060405180910390a1604080516001600160a01b0383166020820152818152600a81830152690808115e1c1958dd195960b21b606082015290517f9c4e8541ca8f0dc1c413f9108f66d82d3cecb1bddbce437a61caa3175c4cc96f9181900360800190a1604080516001600160a01b0384166020820152818152600a8183015269080808081058dd1d585b60b21b606082015290517f9c4e8541ca8f0dc1c413f9108f66d82d3cecb1bddbce437a61caa3175c4cc96f9181900360800190a1610b61610b65565b5050565b610b6d610a24565b15610cf35760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d60208083018290526519985a5b195960d21b83850152600160608481019190915284518085039091018152608084019094526370ca10bb60e01b60a08401908152845160009593947f70ca10bbd0dbfd9020a9f4b13402c16cb120705e0d1c0aeab10fa353ae586fc4949360a490910191908401908083835b60208310610c235780518252601f199092019160209182019101610c04565b6001836020036101000a038019825116818451168082178552505050505050905001925050506040516020818303038152906040526040518082805190602001908083835b60208310610c875780518252601f199092019160209182019101610c68565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610ce9576040519150601f19603f3d011682016040523d82523d6000602084013e610cee565b606091505b505050505b6000805461ff001916610100179055565b612a5480610d128339019056fe60806040523480156200001157600080fd5b506202a300600355600280546001600160a01b031916331790556040805180820190915260048082526322a72d2360e11b60209092019182526200005691816200005d565b50620000f9565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620000a057805160ff1916838001178555620000d0565b82800160010185558215620000d0579182015b82811115620000d0578251825591602001919060010190620000b3565b50620000de929150620000e2565b5090565b5b80821115620000de5760008155600101620000e3565b61294b80620001096000396000f3fe60806040523480156200001157600080fd5b5060043610620001485760003560e01c806377a8c62411620000bd57806397af7050116200007b57806397af7050146200042d5780639c9d48da1462000456578063b47b06001462000487578063d0449d3d1462000509578063d15f9b9c14620005325762000148565b806377a8c62414620003885780637c77b2ed14620003b15780637dad9fc814620003bb5780638156eecf1462000419578063893d20e814620004235762000148565b80633d7c74f8116200010b5780633d7c74f814620002795780634e71e0c814620002a257806366231cea14620002ac578063728e17a014620002e9578063757bc0dd14620003125762000148565b80631df419f7146200014d57806322a0c08b146200016f578063288b6a3614620002225780632fa0c161146200022c57806338b3eb1b1462000248575b600080fd5b6200016d600480360360208110156200016557600080fd5b503562000573565b005b62000206600480360360808110156200018757600080fd5b6001600160a01b0382358116926020810135821692604082013590921691810190608081016060820135640100000000811115620001c457600080fd5b820183602082011115620001d757600080fd5b80359060200191846001830284011164010000000083111715620001fa57600080fd5b50909250905062000646565b604080516001600160a01b039092168252519081900360200190f35b62000206620008df565b62000236620008ee565b60408051918252519081900360200190f35b6200016d600480360360408110156200026057600080fd5b506001600160a01b0381351690602001351515620008f4565b62000206600480360360208110156200029157600080fd5b50356001600160a01b031662000c46565b6200016d62000c67565b620002d560048036036020811015620002c457600080fd5b50356001600160a01b031662000d10565b604080519115158252519081900360200190f35b6200016d600480360360208110156200030157600080fd5b50356001600160a01b031662000d43565b6200016d600480360360208110156200032a57600080fd5b8101906020810181356401000000008111156200034657600080fd5b8201836020820111156200035957600080fd5b803590602001918460018302840111640100000000831117156200037c57600080fd5b50909250905062000ebd565b6200023660048036036020811015620003a057600080fd5b50356001600160a01b031662000f7b565b6200020662000fc4565b620003e460048036036020811015620003d357600080fd5b50356001600160a01b031662000fd3565b604080516001600160a01b03958616815293851660208501529190931682820152606082019290925290519081900360800190f35b6200016d6200106b565b6200020662001147565b6200016d600480360360208110156200044557600080fd5b50356001600160a01b031662001156565b6200016d600480360360408110156200046e57600080fd5b506001600160a01b0381351690602001351515620012e1565b620004916200152a565b6040805160208082528351818301528351919283929083019185019080838360005b83811015620004cd578181015183820152602001620004b3565b50505050905090810190601f168015620004fb5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b620002d5600480360360208110156200052157600080fd5b50356001600160a01b0316620015c4565b6200016d600480360360808110156200054a57600080fd5b506001600160a01b038135811691602081013582169160408201351690606001351515620015e4565b6002546001600160a01b03163314620005be5760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b60035481811415620006025760405162461bcd60e51b815260040180806020018281038252603b81526020018062002904603b913960400191505060405180910390fd5b6003829055604080518281526020810184905281517f481ce28a1145a5d9b59e2d1d7eba33bc3350124def8fdc91032238d343ad5361929181900390910190a15050565b600080546001600160a01b03163314620006925760405162461bcd60e51b8152600401808060200182810382526034815260200180620024b66034913960400191505060405180910390fd5b6200069d8462001832565b620006da5760405162461bcd60e51b815260040180806020018281038252602d8152602001806200269b602d913960400191505060405180910390fd5b6060635c9a6d3760e01b8686868660405160240180856001600160a01b03168152602001846001600160a01b0316815260200180602001828103825284848281815260200192508082843760008382015260408051601f909201601f1990811690940182810390940182529283526020810180516001600160e01b03166001600160e01b0319909b169a909a17909952505196975087968e965062000786955093506200204c92505050565b8080602001836001600160a01b03168152602001828103825284818151815260200191508051906020019080838360005b83811015620007d1578181015183820152602001620007b7565b50505050905090810190601f168015620007ff5780820380516001836020036101000a031916815260200191505b509350505050604051809103906000f08015801562000822573d6000803e3d6000fd5b506001600160a01b0380821660008181526005602090815260409182902080546001600160a01b0319163390811790915582519384528a85169184019190915260609183018281529183018890529395508a8316928a169184917fa50560b448ad796ef60adfeffe1c19ed34daf94c2aa6905d0e209017dbc19f589188918c918c918c919060808201848480828437600083820152604051601f909101601f191690920182900397509095505050505050a4505095945050505050565b6001546001600160a01b031690565b60035490565b620008fe6200205a565b506001600160a01b038083166000908152600660209081526040918290208251608081018452815485168082526001830154861693820193909352600282015490941692840192909252600390910154606083015280620009915760405162461bcd60e51b815260040180806020018281038252603d815260200180620028c7603d913960400191505060405180910390fd5b336001600160a01b03821614620009da5760405162461bcd60e51b81526004018080602001828103825260458152602001806200279c6045913960600191505060405180910390fd5b6000546001600160a01b0382811691161462000a285760405162461bcd60e51b815260040180806020018281038252604f815260200180620025ed604f913960600191505060405180910390fd5b60608201514281111562000a6e5760405162461bcd60e51b8152600401808060200182810382526038815260200180620027296038913960400191505060405180910390fd5b6001600160a01b0380861660009081526005602090815260409182902054908601519186015192169162000aa9600289858886868d62001838565b876001600160a01b0316634140d607826040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050600060405180830381600087803b15801562000af957600080fd5b505af115801562000b0e573d6000803e3d6000fd5b50505050876001600160a01b031663ab9253ac836040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050600060405180830381600087803b15801562000b6257600080fd5b505af115801562000b77573d6000803e3d6000fd5b5050506001600160a01b03808a1660009081526005602090815260408083208054948b166001600160a01b0319958616179055600690915281208054831681556001810180548416905560028101805490931690925560039182015562000be5915089858886868d62001838565b604080516001600160a01b038481168252838116602083015281830187905291518288169286811692908c16917fad6fb3d36e2cda148dfd43203c1a40c0da9a9baa662ae9d6c3b0c3e4a9d6a6359181900360600190a45050505050505050565b6001600160a01b03808216600090815260056020526040902054165b919050565b6001546001600160a01b031633811462000cb35760405162461bcd60e51b815260040180806020018281038252603e8152602001806200281c603e913960400191505060405180910390fd5b600180546001600160a01b0319908116909155600280546001600160a01b0384811693821684179092556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038116600090815260066020526040812060030154801580159062000d3c5750804210155b9392505050565b6002546001600160a01b0316331462000d8e5760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b6001600160a01b03811662000dd55760405162461bcd60e51b8152600401808060200182810382526036815260200180620026c86036913960400191505060405180910390fd5b6002546001600160a01b038281169116141562000e245760405162461bcd60e51b815260040180806020018281038252603b81526020018062002761603b913960400191505060405180910390fd5b6001546001600160a01b038281169116141562000e735760405162461bcd60e51b815260040180806020018281038252603b815260200180620027e1603b913960400191505060405180910390fd5b600180546001600160a01b0319166001600160a01b0383169081179091556040517f132c19de901bb4ed8403c34734b6c841d5dc57745824da452a52433519ea5abf90600090a250565b6002546001600160a01b0316331462000f085760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b62000f166004838362002081565b507ff0115712c23b609855a28d7b8963c6d16d732ae388b11e5d4ec6d5eae4ad8698828260405180806020018281038252848482818152602001925080828437600083820152604051601f909101601f19169092018290039550909350505050a15050565b6001600160a01b0381166000908152600660205260408120600301548062000fa857600091505062000c62565b80421062000fbb57600091505062000c62565b42900392915050565b6000546001600160a01b031690565b60008060008062000fe36200205a565b506001600160a01b038086166000908152600660209081526040918290208251608081018452815485168152600182015485169281019290925260028101549093169181019190915260039091015460608201819052156200106257806000015181602001518260400151836060015194509450945094505062001064565b505b9193509193565b6002546001600160a01b03163314620010b65760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b6001546001600160a01b031680620011005760405162461bcd60e51b81526004018080602001828103825260318152602001806200266a6031913960400191505060405180910390fd5b600180546001600160a01b03191690556040516001600160a01b038216907fe4136584a5e8bb85d66301f3ce8b11cc2e5a8bea3979f10ea2451353849acc4790600090a250565b6002546001600160a01b031690565b6002546001600160a01b03163314620011a15760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b6001600160a01b038116620011e85760405162461bcd60e51b81526004018080602001828103825260398152602001806200258e6039913960400191505060405180910390fd5b620011f38162001832565b620012305760405162461bcd60e51b8152600401808060200182810382526036815260200180620028916036913960400191505060405180910390fd5b6000546001600160a01b03908116908216811415620012815760405162461bcd60e51b81526004018080602001828103825260488152602001806200251a6048913960600191505060405180910390fd5b600080546001600160a01b0319166001600160a01b03848116918217909255604080519284168352602083019190915280517f44cf34a26ccbaa8a20e6098a1278e28682572ec9921eb43d8dab274a503e92f59281900390910190a15050565b620012eb6200205a565b506001600160a01b0380831660009081526006602090815260409182902082516080810184528154851680825260018301548616938201939093526002820154909416928401929092526003909101546060830152806200137e5760405162461bcd60e51b815260040180806020018281038252602c81526020018062002562602c913960400191505060405180910390fd5b336001600160a01b038216148062001407575060408051633ef03e7560e11b815233600482015290516001600160a01b03861691637de07cea916024808301926020929190829003018186803b158015620013d857600080fd5b505afa158015620013ed573d6000803e3d6000fd5b505050506040513d60208110156200140457600080fd5b50515b620014445760405162461bcd60e51b8152600401808060200182810382526026815260200180620025c76026913960400191505060405180910390fd5b6001600160a01b0380851660009081526005602090815260408083205486830151878301516060890151600690955292852080546001600160a01b03199081168255600182018054821690556002820180549091169055600301949094559093169290620014b9600489868887878d62001838565b620014c988858786868c62001bd1565b604080516001600160a01b038581168252848116602083015281830184905291518288169287811692908c16917f9851a8f232c380eb2c1065756776e37d85d4fe0c8cb4005b0d72c749bfef923e9181900360600190a45050505050505050565b60048054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815260609390929091830182828015620015ba5780601f106200158e57610100808354040283529160200191620015ba565b820191906000526020600020905b8154815290600101906020018083116200159c57829003601f168201915b5050505050905090565b6001600160a01b0316600090815260066020526040902060030154151590565b6000546001600160a01b031633146200162f5760405162461bcd60e51b8152600401808060200182810382526034815260200180620024b66034913960400191505060405180910390fd5b6200163a8362001832565b620016775760405162461bcd60e51b8152600401808060200182810382526030815260200180620024ea6030913960400191505060405180910390fd5b6001600160a01b038085166000908152600560205260409020541680620016d05760405162461bcd60e51b815260040180806020018281038252602b815260200180620026fe602b913960400191505060405180910390fd5b336001600160a01b0382168114156200171b5760405162461bcd60e51b81526004018080602001828103825260378152602001806200285a6037913960400191505060405180910390fd5b6200172d600087848489898962001838565b60038054604080516080810182526001600160a01b03808616825289811660208084019182528a831684860190815242909601606085018181528e85166000908152600690935295909120935184549084166001600160a01b0319918216178555915160018086018054928616928516929092179091559551600285018054919094169216919091179091559151930192909255620017d2908885858a8a8a62001838565b604080516001600160a01b038881168252878116602083015281830184905291518285169286811692908b16917fb519c42fdb88f83f098814813f2ebff14fbf14f3e68b054e5a98834c69d54bfb9181900360600190a450505050505050565b3b151590565b60006060866001600160a01b0316633f84c12c60e01b8a8a898989604051602401808660048111156200186757fe5b8152602001856001600160a01b03168152602001846001600160a01b03168152602001836001600160a01b03168152602001826001600160a01b0316815260200195505050505050604051602081830303815290604052906001600160e01b0319166020820180516001600160e01b0383818316178352505050506040518082805190602001908083835b60208310620019135780518252601f199092019160209182019101620018f2565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811462001977576040519150601f19603f3d011682016040523d82523d6000602084013e6200197c565b606091505b50915091508162001bc65782620019938a62001ea1565b826040516020018083805190602001908083835b60208310620019c85780518252601f199092019160209182019101620019a7565b51815160209384036101000a600019018019909216911617905285519190930192850191508083835b6020831062001a125780518252601f199092019160209182019101620019f1565b6001836020036101000a038019825116818451168082178552505050505050905001925050506040516020818303038152906040529062001ad45760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101562001a9857818101518382015260200162001a7e565b50505050905090810190601f16801562001ac65780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50856001600160a01b0316876001600160a01b0316896001600160a01b03167fbf0ae6830883bd89855f2e7b17a2924b5de0b2b3d4a8834d7c2c0d5dc53447db848d8a8a604051808060200185600481111562001b2d57fe5b8152602001846001600160a01b03168152602001836001600160a01b03168152602001828103825286818151815260200191508051906020019080838360005b8381101562001b8757818101518382015260200162001b6d565b50505050905090810190601f16801562001bb55780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a45b505050505050505050565b604080516001600160a01b038881166024830152878116604483015285811660648301528481166084808401919091528351808403909101815260a490920183526020820180516001600160e01b031663df369ba760e01b17815292518251600094606094938a169392918291908083835b6020831062001c645780518252601f19909201916020918201910162001c43565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811462001cc8576040519150601f19603f3d011682016040523d82523d6000602084013e62001ccd565b606091505b50915091508162001e9757828160405160200180807f4d6967726174696f6e4f757443616e63656c486f6f6b3a20000000000000000081525060180182805190602001908083835b6020831062001d365780518252601f19909201916020918201910162001d15565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040516020818303038152906040529062001db95760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831562001a9857818101518382015260200162001a7e565b50856001600160a01b0316876001600160a01b0316896001600160a01b03167f7c79070aa51adb676fb9c8d0f7a1f841ff9cf514444b37c95297ed1c52547b328489896040518080602001846001600160a01b03168152602001836001600160a01b03168152602001828103825285818151815260200191508051906020019080838360005b8381101562001e5957818101518382015260200162001e3f565b50505050905090810190601f16801562001e875780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a45b5050505050505050565b6060600082600481111562001eb257fe5b141562001ef4575060408051808201909152601c81527f4d6967726174696f6e4f7574486f6f6b2e5072655369676e616c3a2000000000602082015262000c62565b600182600481111562001f0357fe5b141562001f45575060408051808201909152601d81527f4d6967726174696f6e4f7574486f6f6b2e506f73745369676e616c3a20000000602082015262000c62565b600282600481111562001f5457fe5b141562001f96575060408051808201909152601d81527f4d6967726174696f6e4f7574486f6f6b2e5072654d6967726174653a20000000602082015262000c62565b600382600481111562001fa557fe5b141562001fe7575060408051808201909152601e81527f4d6967726174696f6e4f7574486f6f6b2e506f73744d6967726174653a200000602082015262000c62565b600482600481111562001ff657fe5b141562002038575060408051808201909152601d81527f4d6967726174696f6e4f7574486f6f6b2e506f737443616e63656c3a20000000602082015262000c62565b505060408051602081019091526000815290565b610398806200211e83390190565b60408051608081018252600080825260208201819052918101829052606081019190915290565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620020c45782800160ff19823516178555620020f4565b82800160010185558215620020f4579182015b82811115620020f4578235825591602001919060010190620020d7565b506200210292915062002106565b5090565b5b808211156200210257600081556001016200210756fe608060405234801561001057600080fd5b506040516103983803806103988339818101604052604081101561003357600080fd5b810190808051604051939291908464010000000082111561005357600080fd5b90830190602082018581111561006857600080fd5b825164010000000081118282018810171561008257600080fd5b82525081516020918201929091019080838360005b838110156100af578181015183820152602001610097565b50505050905090810190601f1680156100dc5780820380516001836020036101000a031916815260200191505b5060408181526020928301516352d1902d60e01b835290519094506001600160a01b03851693506352d1902d92600480840193919291829003018186803b15801561012657600080fd5b505afa15801561013a573d6000803e3d6000fd5b505050506040513d602081101561015057600080fd5b50517f027b9570e9fedc1a80b937ae9a06861e5faef3992491af30b684a64b3fbec7a5146101af5760405162461bcd60e51b81526004018080602001828103825260258152602001806103736025913960400191505060405180910390fd5b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5560006060826001600160a01b0316846040518082805190602001908083835b602083106102105780518252601f1990920191602091820191016101f1565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610270576040519150601f19603f3d011682016040523d82523d6000602084013e610275565b606091505b50915091508181906103055760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156102ca5781810151838201526020016102b2565b50505050905090810190601f1680156102f75780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5050505050605b806103186000396000f3fe60806040527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc543660008037600080366000846127105a03f43d806000803e818015604957816000f35b816000fdfea164736f6c634300060c000a636f6e7374727563746f723a205f7661756c744c6962206e6f7420636f6d70617469626c654f6e6c79207468652063757272656e742046756e644465706c6f7965722063616e2063616c6c20746869732066756e6374696f6e7369676e616c4d6967726174696f6e3a204e6f6e2d636f6e7472616374205f6e6578745661756c744163636573736f7273657443757272656e7446756e644465706c6f7965723a205f6e65787446756e644465706c6f79657220697320616c72656164792063757272656e7446756e644465706c6f79657263616e63656c4d6967726174696f6e3a204e6f206d6967726174696f6e20726571756573742065786973747373657443757272656e7446756e644465706c6f7965723a205f6e65787446756e644465706c6f7965722063616e6e6f7420626520656d70747963616e63656c4d6967726174696f6e3a204e6f7420616e20616c6c6f7765642063616c6c6572657865637574654d6967726174696f6e3a20546865207461726765742046756e644465706c6f796572206973206e6f206c6f6e676572207468652063757272656e742046756e644465706c6f7965724f6e6c792074686520636f6e7472616374206f776e65722063616e2063616c6c20746869732066756e6374696f6e72656d6f76654e6f6d696e617465644f776e65723a205468657265206973206e6f206e6f6d696e61746564206f776e65726465706c6f795661756c7450726f78793a204e6f6e2d636f6e7472616374205f7661756c744163636573736f727365744e6f6d696e617465644f776e65723a205f6e6578744e6f6d696e617465644f776e65722063616e6e6f7420626520656d7074797369676e616c4d6967726174696f6e3a205f7661756c7450726f787920646f6573206e6f74206578697374657865637574654d6967726174696f6e3a20546865206d6967726174696f6e2074696d656c6f636b20686173206e6f7420656c61707365647365744e6f6d696e617465644f776e65723a205f6e6578744e6f6d696e617465644f776e657220697320616c726561647920746865206f776e6572657865637574654d6967726174696f6e3a204f6e6c7920746865207461726765742046756e644465706c6f7965722063616e2063616c6c20746869732066756e6374696f6e7365744e6f6d696e617465644f776e65723a205f6e6578744e6f6d696e617465644f776e657220697320616c7265616479206e6f6d696e61746564636c61696d4f776e6572736869703a204f6e6c7920746865206e6f6d696e617465644f776e65722063616e2063616c6c20746869732066756e6374696f6e7369676e616c4d6967726174696f6e3a2043616e206f6e6c79206d69677261746520746f2061206e65772046756e644465706c6f79657273657443757272656e7446756e644465706c6f7965723a204e6f6e2d636f6e7472616374205f6e65787446756e644465706c6f796572657865637574654d6967726174696f6e3a204e6f206d6967726174696f6e20726571756573742065786973747320666f72205f7661756c7450726f78797365744d6967726174696f6e54696d656c6f636b3a205f6e65787454696d656c6f636b206973207468652063757272656e742074696d656c6f636ba164736f6c634300060c000a4f6e6c792074686520636f6e7472616374206f776e65722063616e2063616c6c20746869732066756e6374696f6e7365744e6f6d696e617465644f776e65723a205f6e6578744e6f6d696e617465644f776e65722063616e6e6f7420626520656d7074794572726f723a2061203d3d2062206e6f7420736174697366696564205b616464726573735d7365744e6f6d696e617465644f776e65723a205f6e6578744e6f6d696e617465644f776e657220697320616c726561647920746865206f776e65727365744e6f6d696e617465644f776e65723a205f6e6578744e6f6d696e617465644f776e657220697320616c7265616479206e6f6d696e61746564a164736f6c634300060c000a", "sourceMap": "1118:1363:456:-:0;;;1572:26:435;;;-1:-1:-1;;;;1572:26:435;;;1594:4;1572:26;165:28:436;;;;;1118:1363:456;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106100a95760003560e01c8063c58fc2c311610071578063c58fc2c3146101a6578063cd8591bb146101ae578063f0344008146101b6578063f8ccbf47146101be578063fa7626d4146101c6578063ff5d31f1146101ce576100a9565b80630a9254e4146100ae5780633a768463146100b8578063511b1df9146100dc578063a140ff8714610182578063ba414fa61461018a575b600080fd5b6100b66101d6565b005b6100c0610221565b604080516001600160a01b039092168252519081900360200190f35b6100c0600480360360208110156100f257600080fd5b81019060208101813564010000000081111561010d57600080fd5b82018360208201111561011f57600080fd5b8035906020019184600183028401116401000000008311171561014157600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610239945050505050565b6100b661024d565b610192610332565b604080519115158252519081900360200190f35b6100b66104f8565b6100b66105c1565b6100b6610800565b610192610936565b610192610945565b6100b661094e565b6040516101e290610d04565b604051809103906000f0801580156101fe573d6000803e3d6000fd5b50600880546001600160a01b0319166001600160a01b0392909216919091179055565b737109709ecfa91a80626ff3989d68f67f5b1dd12d81565b80516020909101206001600160a01b031690565b60405163f28dceb360e01b8152602060048201908152603b60248301819052737109709ecfa91a80626ff3989d68f67f5b1dd12d9263f28dceb392918291604401906137ef8239604001915050600060405180830381600087803b1580156102b457600080fd5b505af11580156102c8573d6000803e3d6000fd5b50506008546040805163039470bd60e51b815230600482015290516001600160a01b03909216935063728e17a0925060248082019260009290919082900301818387803b15801561031857600080fd5b505af115801561032c573d6000803e3d6000fd5b50505050565b60008054610100900460ff16156103545750600054610100900460ff166104f5565b600061035e610a24565b156104f25760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d60208083018290526519985a5b195960d21b838501528351808403850181526060848101909552630667f9d760e41b60808501908152815193947f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc494929391926084909101918401908083835b602083106104085780518252601f1990920191602091820191016103e9565b6001836020036101000a038019825116818451168082178552505050505050905001925050506040516020818303038152906040526040518082805190602001908083835b6020831061046c5780518252601f19909201916020918201910161044d565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146104ce576040519150601f19603f3d011682016040523d82523d6000602084013e6104d3565b606091505b509150508080602001905160208110156104ec57600080fd5b50519150505b90505b90565b60405163f28dceb360e01b8152602060048201908152603660248301819052737109709ecfa91a80626ff3989d68f67f5b1dd12d9263f28dceb392918291604401906137948239604001915050600060405180830381600087803b15801561055f57600080fd5b505af1158015610573573d6000803e3d6000fd5b50506008546040805163039470bd60e51b815260006004820181905291516001600160a01b03909316945063728e17a093506024808201939182900301818387803b15801561031857600080fd5b6106456000600860009054906101000a90046001600160a01b03166001600160a01b031663288b6a366040518163ffffffff1660e01b815260040160206040518083038186803b15801561061457600080fd5b505afa158015610628573d6000803e3d6000fd5b505050506040513d602081101561063e57600080fd5b5051610a3f565b6040805163248e63e160e11b8152600160048201819052602482018190526044820181905260648201529051737109709ecfa91a80626ff3989d68f67f5b1dd12d9163491cc7c291608480830192600092919082900301818387803b1580156106ad57600080fd5b505af11580156106c1573d6000803e3d6000fd5b505060405161053992507f132c19de901bb4ed8403c34734b6c841d5dc57745824da452a52433519ea5abf9150600090a26008546040805163039470bd60e51b8152610539600482015290516001600160a01b039092169163728e17a09160248082019260009290919082900301818387803b15801561074057600080fd5b505af1158015610754573d6000803e3d6000fd5b505050506107ac610539600860009054906101000a90046001600160a01b03166001600160a01b031663288b6a366040518163ffffffff1660e01b815260040160206040518083038186803b15801561061457600080fd5b6107fe30600860009054906101000a90046001600160a01b03166001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561061457600080fd5b565b6008546040805163039470bd60e51b8152610539600482015290516001600160a01b039092169163728e17a09160248082019260009290919082900301818387803b15801561084e57600080fd5b505af1158015610862573d6000803e3d6000fd5b505060405163f28dceb360e01b8152602060048201908152603b60248301819052737109709ecfa91a80626ff3989d68f67f5b1dd12d945063f28dceb393509091829160449091019061382a8239604001915050600060405180830381600087803b1580156108d057600080fd5b505af11580156108e4573d6000803e3d6000fd5b50506008546040805163039470bd60e51b8152610539600482015290516001600160a01b03909216935063728e17a0925060248082019260009290919082900301818387803b15801561031857600080fd5b60005462010000900460ff1681565b60005460ff1681565b6040805163ca669fa760e01b815261053960048201529051737109709ecfa91a80626ff3989d68f67f5b1dd12d9163ca669fa791602480830192600092919082900301818387803b1580156109a257600080fd5b505af11580156109b6573d6000803e3d6000fd5b505060405163f28dceb360e01b8152602060048201908152602e60248301819052737109709ecfa91a80626ff3989d68f67f5b1dd12d945063f28dceb39350909182916044909101906137668239604001915050600060405180830381600087803b1580156108d057600080fd5b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b151590565b806001600160a01b0316826001600160a01b031614610b61577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f506040518080602001828103825260258152602001806137ca6025913960400191505060405180910390a1604080516001600160a01b0383166020820152818152600a81830152690808115e1c1958dd195960b21b606082015290517f9c4e8541ca8f0dc1c413f9108f66d82d3cecb1bddbce437a61caa3175c4cc96f9181900360800190a1604080516001600160a01b0384166020820152818152600a8183015269080808081058dd1d585b60b21b606082015290517f9c4e8541ca8f0dc1c413f9108f66d82d3cecb1bddbce437a61caa3175c4cc96f9181900360800190a1610b61610b65565b5050565b610b6d610a24565b15610cf35760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d60208083018290526519985a5b195960d21b83850152600160608481019190915284518085039091018152608084019094526370ca10bb60e01b60a08401908152845160009593947f70ca10bbd0dbfd9020a9f4b13402c16cb120705e0d1c0aeab10fa353ae586fc4949360a490910191908401908083835b60208310610c235780518252601f199092019160209182019101610c04565b6001836020036101000a038019825116818451168082178552505050505050905001925050506040516020818303038152906040526040518082805190602001908083835b60208310610c875780518252601f199092019160209182019101610c68565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610ce9576040519150601f19603f3d011682016040523d82523d6000602084013e610cee565b606091505b505050505b6000805461ff001916610100179055565b612a5480610d128339019056fe60806040523480156200001157600080fd5b506202a300600355600280546001600160a01b031916331790556040805180820190915260048082526322a72d2360e11b60209092019182526200005691816200005d565b50620000f9565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620000a057805160ff1916838001178555620000d0565b82800160010185558215620000d0579182015b82811115620000d0578251825591602001919060010190620000b3565b50620000de929150620000e2565b5090565b5b80821115620000de5760008155600101620000e3565b61294b80620001096000396000f3fe60806040523480156200001157600080fd5b5060043610620001485760003560e01c806377a8c62411620000bd57806397af7050116200007b57806397af7050146200042d5780639c9d48da1462000456578063b47b06001462000487578063d0449d3d1462000509578063d15f9b9c14620005325762000148565b806377a8c62414620003885780637c77b2ed14620003b15780637dad9fc814620003bb5780638156eecf1462000419578063893d20e814620004235762000148565b80633d7c74f8116200010b5780633d7c74f814620002795780634e71e0c814620002a257806366231cea14620002ac578063728e17a014620002e9578063757bc0dd14620003125762000148565b80631df419f7146200014d57806322a0c08b146200016f578063288b6a3614620002225780632fa0c161146200022c57806338b3eb1b1462000248575b600080fd5b6200016d600480360360208110156200016557600080fd5b503562000573565b005b62000206600480360360808110156200018757600080fd5b6001600160a01b0382358116926020810135821692604082013590921691810190608081016060820135640100000000811115620001c457600080fd5b820183602082011115620001d757600080fd5b80359060200191846001830284011164010000000083111715620001fa57600080fd5b50909250905062000646565b604080516001600160a01b039092168252519081900360200190f35b62000206620008df565b62000236620008ee565b60408051918252519081900360200190f35b6200016d600480360360408110156200026057600080fd5b506001600160a01b0381351690602001351515620008f4565b62000206600480360360208110156200029157600080fd5b50356001600160a01b031662000c46565b6200016d62000c67565b620002d560048036036020811015620002c457600080fd5b50356001600160a01b031662000d10565b604080519115158252519081900360200190f35b6200016d600480360360208110156200030157600080fd5b50356001600160a01b031662000d43565b6200016d600480360360208110156200032a57600080fd5b8101906020810181356401000000008111156200034657600080fd5b8201836020820111156200035957600080fd5b803590602001918460018302840111640100000000831117156200037c57600080fd5b50909250905062000ebd565b6200023660048036036020811015620003a057600080fd5b50356001600160a01b031662000f7b565b6200020662000fc4565b620003e460048036036020811015620003d357600080fd5b50356001600160a01b031662000fd3565b604080516001600160a01b03958616815293851660208501529190931682820152606082019290925290519081900360800190f35b6200016d6200106b565b6200020662001147565b6200016d600480360360208110156200044557600080fd5b50356001600160a01b031662001156565b6200016d600480360360408110156200046e57600080fd5b506001600160a01b0381351690602001351515620012e1565b620004916200152a565b6040805160208082528351818301528351919283929083019185019080838360005b83811015620004cd578181015183820152602001620004b3565b50505050905090810190601f168015620004fb5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b620002d5600480360360208110156200052157600080fd5b50356001600160a01b0316620015c4565b6200016d600480360360808110156200054a57600080fd5b506001600160a01b038135811691602081013582169160408201351690606001351515620015e4565b6002546001600160a01b03163314620005be5760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b60035481811415620006025760405162461bcd60e51b815260040180806020018281038252603b81526020018062002904603b913960400191505060405180910390fd5b6003829055604080518281526020810184905281517f481ce28a1145a5d9b59e2d1d7eba33bc3350124def8fdc91032238d343ad5361929181900390910190a15050565b600080546001600160a01b03163314620006925760405162461bcd60e51b8152600401808060200182810382526034815260200180620024b66034913960400191505060405180910390fd5b6200069d8462001832565b620006da5760405162461bcd60e51b815260040180806020018281038252602d8152602001806200269b602d913960400191505060405180910390fd5b6060635c9a6d3760e01b8686868660405160240180856001600160a01b03168152602001846001600160a01b0316815260200180602001828103825284848281815260200192508082843760008382015260408051601f909201601f1990811690940182810390940182529283526020810180516001600160e01b03166001600160e01b0319909b169a909a17909952505196975087968e965062000786955093506200204c92505050565b8080602001836001600160a01b03168152602001828103825284818151815260200191508051906020019080838360005b83811015620007d1578181015183820152602001620007b7565b50505050905090810190601f168015620007ff5780820380516001836020036101000a031916815260200191505b509350505050604051809103906000f08015801562000822573d6000803e3d6000fd5b506001600160a01b0380821660008181526005602090815260409182902080546001600160a01b0319163390811790915582519384528a85169184019190915260609183018281529183018890529395508a8316928a169184917fa50560b448ad796ef60adfeffe1c19ed34daf94c2aa6905d0e209017dbc19f589188918c918c918c919060808201848480828437600083820152604051601f909101601f191690920182900397509095505050505050a4505095945050505050565b6001546001600160a01b031690565b60035490565b620008fe6200205a565b506001600160a01b038083166000908152600660209081526040918290208251608081018452815485168082526001830154861693820193909352600282015490941692840192909252600390910154606083015280620009915760405162461bcd60e51b815260040180806020018281038252603d815260200180620028c7603d913960400191505060405180910390fd5b336001600160a01b03821614620009da5760405162461bcd60e51b81526004018080602001828103825260458152602001806200279c6045913960600191505060405180910390fd5b6000546001600160a01b0382811691161462000a285760405162461bcd60e51b815260040180806020018281038252604f815260200180620025ed604f913960600191505060405180910390fd5b60608201514281111562000a6e5760405162461bcd60e51b8152600401808060200182810382526038815260200180620027296038913960400191505060405180910390fd5b6001600160a01b0380861660009081526005602090815260409182902054908601519186015192169162000aa9600289858886868d62001838565b876001600160a01b0316634140d607826040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050600060405180830381600087803b15801562000af957600080fd5b505af115801562000b0e573d6000803e3d6000fd5b50505050876001600160a01b031663ab9253ac836040518263ffffffff1660e01b815260040180826001600160a01b03168152602001915050600060405180830381600087803b15801562000b6257600080fd5b505af115801562000b77573d6000803e3d6000fd5b5050506001600160a01b03808a1660009081526005602090815260408083208054948b166001600160a01b0319958616179055600690915281208054831681556001810180548416905560028101805490931690925560039182015562000be5915089858886868d62001838565b604080516001600160a01b038481168252838116602083015281830187905291518288169286811692908c16917fad6fb3d36e2cda148dfd43203c1a40c0da9a9baa662ae9d6c3b0c3e4a9d6a6359181900360600190a45050505050505050565b6001600160a01b03808216600090815260056020526040902054165b919050565b6001546001600160a01b031633811462000cb35760405162461bcd60e51b815260040180806020018281038252603e8152602001806200281c603e913960400191505060405180910390fd5b600180546001600160a01b0319908116909155600280546001600160a01b0384811693821684179092556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038116600090815260066020526040812060030154801580159062000d3c5750804210155b9392505050565b6002546001600160a01b0316331462000d8e5760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b6001600160a01b03811662000dd55760405162461bcd60e51b8152600401808060200182810382526036815260200180620026c86036913960400191505060405180910390fd5b6002546001600160a01b038281169116141562000e245760405162461bcd60e51b815260040180806020018281038252603b81526020018062002761603b913960400191505060405180910390fd5b6001546001600160a01b038281169116141562000e735760405162461bcd60e51b815260040180806020018281038252603b815260200180620027e1603b913960400191505060405180910390fd5b600180546001600160a01b0319166001600160a01b0383169081179091556040517f132c19de901bb4ed8403c34734b6c841d5dc57745824da452a52433519ea5abf90600090a250565b6002546001600160a01b0316331462000f085760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b62000f166004838362002081565b507ff0115712c23b609855a28d7b8963c6d16d732ae388b11e5d4ec6d5eae4ad8698828260405180806020018281038252848482818152602001925080828437600083820152604051601f909101601f19169092018290039550909350505050a15050565b6001600160a01b0381166000908152600660205260408120600301548062000fa857600091505062000c62565b80421062000fbb57600091505062000c62565b42900392915050565b6000546001600160a01b031690565b60008060008062000fe36200205a565b506001600160a01b038086166000908152600660209081526040918290208251608081018452815485168152600182015485169281019290925260028101549093169181019190915260039091015460608201819052156200106257806000015181602001518260400151836060015194509450945094505062001064565b505b9193509193565b6002546001600160a01b03163314620010b65760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b6001546001600160a01b031680620011005760405162461bcd60e51b81526004018080602001828103825260318152602001806200266a6031913960400191505060405180910390fd5b600180546001600160a01b03191690556040516001600160a01b038216907fe4136584a5e8bb85d66301f3ce8b11cc2e5a8bea3979f10ea2451353849acc4790600090a250565b6002546001600160a01b031690565b6002546001600160a01b03163314620011a15760405162461bcd60e51b815260040180806020018281038252602e8152602001806200263c602e913960400191505060405180910390fd5b6001600160a01b038116620011e85760405162461bcd60e51b81526004018080602001828103825260398152602001806200258e6039913960400191505060405180910390fd5b620011f38162001832565b620012305760405162461bcd60e51b8152600401808060200182810382526036815260200180620028916036913960400191505060405180910390fd5b6000546001600160a01b03908116908216811415620012815760405162461bcd60e51b81526004018080602001828103825260488152602001806200251a6048913960600191505060405180910390fd5b600080546001600160a01b0319166001600160a01b03848116918217909255604080519284168352602083019190915280517f44cf34a26ccbaa8a20e6098a1278e28682572ec9921eb43d8dab274a503e92f59281900390910190a15050565b620012eb6200205a565b506001600160a01b0380831660009081526006602090815260409182902082516080810184528154851680825260018301548616938201939093526002820154909416928401929092526003909101546060830152806200137e5760405162461bcd60e51b815260040180806020018281038252602c81526020018062002562602c913960400191505060405180910390fd5b336001600160a01b038216148062001407575060408051633ef03e7560e11b815233600482015290516001600160a01b03861691637de07cea916024808301926020929190829003018186803b158015620013d857600080fd5b505afa158015620013ed573d6000803e3d6000fd5b505050506040513d60208110156200140457600080fd5b50515b620014445760405162461bcd60e51b8152600401808060200182810382526026815260200180620025c76026913960400191505060405180910390fd5b6001600160a01b0380851660009081526005602090815260408083205486830151878301516060890151600690955292852080546001600160a01b03199081168255600182018054821690556002820180549091169055600301949094559093169290620014b9600489868887878d62001838565b620014c988858786868c62001bd1565b604080516001600160a01b038581168252848116602083015281830184905291518288169287811692908c16917f9851a8f232c380eb2c1065756776e37d85d4fe0c8cb4005b0d72c749bfef923e9181900360600190a45050505050505050565b60048054604080516020601f6002600019610100600188161502019095169490940493840181900481028201810190925282815260609390929091830182828015620015ba5780601f106200158e57610100808354040283529160200191620015ba565b820191906000526020600020905b8154815290600101906020018083116200159c57829003601f168201915b5050505050905090565b6001600160a01b0316600090815260066020526040902060030154151590565b6000546001600160a01b031633146200162f5760405162461bcd60e51b8152600401808060200182810382526034815260200180620024b66034913960400191505060405180910390fd5b6200163a8362001832565b620016775760405162461bcd60e51b8152600401808060200182810382526030815260200180620024ea6030913960400191505060405180910390fd5b6001600160a01b038085166000908152600560205260409020541680620016d05760405162461bcd60e51b815260040180806020018281038252602b815260200180620026fe602b913960400191505060405180910390fd5b336001600160a01b0382168114156200171b5760405162461bcd60e51b81526004018080602001828103825260378152602001806200285a6037913960400191505060405180910390fd5b6200172d600087848489898962001838565b60038054604080516080810182526001600160a01b03808616825289811660208084019182528a831684860190815242909601606085018181528e85166000908152600690935295909120935184549084166001600160a01b0319918216178555915160018086018054928616928516929092179091559551600285018054919094169216919091179091559151930192909255620017d2908885858a8a8a62001838565b604080516001600160a01b038881168252878116602083015281830184905291518285169286811692908b16917fb519c42fdb88f83f098814813f2ebff14fbf14f3e68b054e5a98834c69d54bfb9181900360600190a450505050505050565b3b151590565b60006060866001600160a01b0316633f84c12c60e01b8a8a898989604051602401808660048111156200186757fe5b8152602001856001600160a01b03168152602001846001600160a01b03168152602001836001600160a01b03168152602001826001600160a01b0316815260200195505050505050604051602081830303815290604052906001600160e01b0319166020820180516001600160e01b0383818316178352505050506040518082805190602001908083835b60208310620019135780518252601f199092019160209182019101620018f2565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811462001977576040519150601f19603f3d011682016040523d82523d6000602084013e6200197c565b606091505b50915091508162001bc65782620019938a62001ea1565b826040516020018083805190602001908083835b60208310620019c85780518252601f199092019160209182019101620019a7565b51815160209384036101000a600019018019909216911617905285519190930192850191508083835b6020831062001a125780518252601f199092019160209182019101620019f1565b6001836020036101000a038019825116818451168082178552505050505050905001925050506040516020818303038152906040529062001ad45760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101562001a9857818101518382015260200162001a7e565b50505050905090810190601f16801562001ac65780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50856001600160a01b0316876001600160a01b0316896001600160a01b03167fbf0ae6830883bd89855f2e7b17a2924b5de0b2b3d4a8834d7c2c0d5dc53447db848d8a8a604051808060200185600481111562001b2d57fe5b8152602001846001600160a01b03168152602001836001600160a01b03168152602001828103825286818151815260200191508051906020019080838360005b8381101562001b8757818101518382015260200162001b6d565b50505050905090810190601f16801562001bb55780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a45b505050505050505050565b604080516001600160a01b038881166024830152878116604483015285811660648301528481166084808401919091528351808403909101815260a490920183526020820180516001600160e01b031663df369ba760e01b17815292518251600094606094938a169392918291908083835b6020831062001c645780518252601f19909201916020918201910162001c43565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811462001cc8576040519150601f19603f3d011682016040523d82523d6000602084013e62001ccd565b606091505b50915091508162001e9757828160405160200180807f4d6967726174696f6e4f757443616e63656c486f6f6b3a20000000000000000081525060180182805190602001908083835b6020831062001d365780518252601f19909201916020918201910162001d15565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040516020818303038152906040529062001db95760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831562001a9857818101518382015260200162001a7e565b50856001600160a01b0316876001600160a01b0316896001600160a01b03167f7c79070aa51adb676fb9c8d0f7a1f841ff9cf514444b37c95297ed1c52547b328489896040518080602001846001600160a01b03168152602001836001600160a01b03168152602001828103825285818151815260200191508051906020019080838360005b8381101562001e5957818101518382015260200162001e3f565b50505050905090810190601f16801562001e875780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a45b5050505050505050565b6060600082600481111562001eb257fe5b141562001ef4575060408051808201909152601c81527f4d6967726174696f6e4f7574486f6f6b2e5072655369676e616c3a2000000000602082015262000c62565b600182600481111562001f0357fe5b141562001f45575060408051808201909152601d81527f4d6967726174696f6e4f7574486f6f6b2e506f73745369676e616c3a20000000602082015262000c62565b600282600481111562001f5457fe5b141562001f96575060408051808201909152601d81527f4d6967726174696f6e4f7574486f6f6b2e5072654d6967726174653a20000000602082015262000c62565b600382600481111562001fa557fe5b141562001fe7575060408051808201909152601e81527f4d6967726174696f6e4f7574486f6f6b2e506f73744d6967726174653a200000602082015262000c62565b600482600481111562001ff657fe5b141562002038575060408051808201909152601d81527f4d6967726174696f6e4f7574486f6f6b2e506f737443616e63656c3a20000000602082015262000c62565b505060408051602081019091526000815290565b610398806200211e83390190565b60408051608081018252600080825260208201819052918101829052606081019190915290565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620020c45782800160ff19823516178555620020f4565b82800160010185558215620020f4579182015b82811115620020f4578235825591602001919060010190620020d7565b506200210292915062002106565b5090565b5b808211156200210257600081556001016200210756fe608060405234801561001057600080fd5b506040516103983803806103988339818101604052604081101561003357600080fd5b810190808051604051939291908464010000000082111561005357600080fd5b90830190602082018581111561006857600080fd5b825164010000000081118282018810171561008257600080fd5b82525081516020918201929091019080838360005b838110156100af578181015183820152602001610097565b50505050905090810190601f1680156100dc5780820380516001836020036101000a031916815260200191505b5060408181526020928301516352d1902d60e01b835290519094506001600160a01b03851693506352d1902d92600480840193919291829003018186803b15801561012657600080fd5b505afa15801561013a573d6000803e3d6000fd5b505050506040513d602081101561015057600080fd5b50517f027b9570e9fedc1a80b937ae9a06861e5faef3992491af30b684a64b3fbec7a5146101af5760405162461bcd60e51b81526004018080602001828103825260258152602001806103736025913960400191505060405180910390fd5b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5560006060826001600160a01b0316846040518082805190602001908083835b602083106102105780518252601f1990920191602091820191016101f1565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610270576040519150601f19603f3d011682016040523d82523d6000602084013e610275565b606091505b50915091508181906103055760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156102ca5781810151838201526020016102b2565b50505050905090810190601f1680156102f75780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5050505050605b806103186000396000f3fe60806040527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc543660008037600080366000846127105a03f43d806000803e818015604957816000f35b816000fdfea164736f6c634300060c000a636f6e7374727563746f723a205f7661756c744c6962206e6f7420636f6d70617469626c654f6e6c79207468652063757272656e742046756e644465706c6f7965722063616e2063616c6c20746869732066756e6374696f6e7369676e616c4d6967726174696f6e3a204e6f6e2d636f6e7472616374205f6e6578745661756c744163636573736f7273657443757272656e7446756e644465706c6f7965723a205f6e65787446756e644465706c6f79657220697320616c72656164792063757272656e7446756e644465706c6f79657263616e63656c4d6967726174696f6e3a204e6f206d6967726174696f6e20726571756573742065786973747373657443757272656e7446756e644465706c6f7965723a205f6e65787446756e644465706c6f7965722063616e6e6f7420626520656d70747963616e63656c4d6967726174696f6e3a204e6f7420616e20616c6c6f7765642063616c6c6572657865637574654d6967726174696f6e3a20546865207461726765742046756e644465706c6f796572206973206e6f206c6f6e676572207468652063757272656e742046756e644465706c6f7965724f6e6c792074686520636f6e7472616374206f776e65722063616e2063616c6c20746869732066756e6374696f6e72656d6f76654e6f6d696e617465644f776e65723a205468657265206973206e6f206e6f6d696e61746564206f776e65726465706c6f795661756c7450726f78793a204e6f6e2d636f6e7472616374205f7661756c744163636573736f727365744e6f6d696e617465644f776e65723a205f6e6578744e6f6d696e617465644f776e65722063616e6e6f7420626520656d7074797369676e616c4d6967726174696f6e3a205f7661756c7450726f787920646f6573206e6f74206578697374657865637574654d6967726174696f6e3a20546865206d6967726174696f6e2074696d656c6f636b20686173206e6f7420656c61707365647365744e6f6d696e617465644f776e65723a205f6e6578744e6f6d696e617465644f776e657220697320616c726561647920746865206f776e6572657865637574654d6967726174696f6e3a204f6e6c7920746865207461726765742046756e644465706c6f7965722063616e2063616c6c20746869732066756e6374696f6e7365744e6f6d696e617465644f776e65723a205f6e6578744e6f6d696e617465644f776e657220697320616c7265616479206e6f6d696e61746564636c61696d4f776e6572736869703a204f6e6c7920746865206e6f6d696e617465644f776e65722063616e2063616c6c20746869732066756e6374696f6e7369676e616c4d6967726174696f6e3a2043616e206f6e6c79206d69677261746520746f2061206e65772046756e644465706c6f79657273657443757272656e7446756e644465706c6f7965723a204e6f6e2d636f6e7472616374205f6e65787446756e644465706c6f796572657865637574654d6967726174696f6e3a204e6f206d6967726174696f6e20726571756573742065786973747320666f72205f7661756c7450726f78797365744d6967726174696f6e54696d656c6f636b3a205f6e65787454696d656c6f636b206973207468652063757272656e742074696d656c6f636ba164736f6c634300060c000a4f6e6c792074686520636f6e7472616374206f776e65722063616e2063616c6c20746869732066756e6374696f6e7365744e6f6d696e617465644f776e65723a205f6e6578744e6f6d696e617465644f776e65722063616e6e6f7420626520656d7074794572726f723a2061203d3d2062206e6f7420736174697366696564205b616464726573735d7365744e6f6d696e617465644f776e65723a205f6e6578744e6f6d696e617465644f776e657220697320616c726561647920746865206f776e65727365744e6f6d696e617465644f776e65723a205f6e6578744e6f6d696e617465644f776e657220697320616c7265616479206e6f6d696e61746564a164736f6c634300060c000a", "sourceMap": "1118:1363:456:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;823:78;;;:::i;:::-;;316:38:436;;;:::i;:::-;;;;-1:-1:-1;;;;;316:38:436;;;;;;;;;;;;;;669:148:456;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;669:148:456;;-1:-1:-1;669:148:456;;-1:-1:-1;;;;;669:148:456:i;2017:201::-;;;:::i;1819:584:435:-;;;:::i;:::-;;;;;;;;;;;;;;;;;;1822:189:456;;;:::i;1235:371::-;;;:::i;2224:255::-;;;:::i;165:28:436:-;;;:::i;1572:26:435:-;;;:::i;1612:204:456:-;;;:::i;823:78::-;878:16;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;865:10:456;:29;;-1:-1:-1;;;;;;865:29:456;-1:-1:-1;;;;;865:29:456;;;;;;;;;;823:78::o;316:38:436:-;245:64;316:38;:::o;669:148:456:-;783:23;;;;;;;-1:-1:-1;;;;;751:59:456;;669:148::o;2017:201::-;2080:78;;-1:-1:-1;;;2080:78:456;;;;;;;;;;;;;;;;245:64:436;;2080:15:456;;:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2168:10:456;;:43;;;-1:-1:-1;;;2168:43:456;;2205:4;2168:43;;;;;;-1:-1:-1;;;;;2168:10:456;;;;-1:-1:-1;2168:28:456;;-1:-1:-1;2168:43:456;;;;;:10;;:43;;;;;;;;:10;;:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2017:201::o;1819:584:435:-;1853:4;1873:7;;;;;;;1869:528;;;-1:-1:-1;1903:7:435;;;;;;;1896:14;;1869:528;1941:17;1984:16;:14;:16::i;:::-;1980:374;;;2196:43;;;1671:64;2196:43;;;;;;;-1:-1:-1;;;2196:43:435;;;;;;;;;;;;;2023:20;2196:43;;;;;;-1:-1:-1;;;2086:175:435;;;;;;;;1671:64;;2135:34;;2196:43;;2086:175;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2086:175:435;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2047:232;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2047:232:435;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2020:259;;;2323:7;2312:27;;;;;;;;;;;;;;;-1:-1:-1;2312:27:435;;-1:-1:-1;;1980:374:435;2374:12;-1:-1:-1;1869:528:435;1819:584;:::o;1822:189:456:-;1881:73;;-1:-1:-1;;;1881:73:456;;;;;;;;;;;;;;;;245:64:436;;1881:15:456;;:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1964:10:456;;:40;;;-1:-1:-1;;;1964:40:456;;:10;:40;;;;;;;;-1:-1:-1;;;;;1964:10:456;;;;-1:-1:-1;1964:28:456;;-1:-1:-1;1964:40:456;;;;;;;;;;;:10;;:40;;;;;;;;;;1235:371;1277:52;1294:1;1298:10;;;;;;;;;-1:-1:-1;;;;;1298:10:456;-1:-1:-1;;;;;1298:28:456;;:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1298:30:456;1277:8;:52::i;:::-;1340:37;;;-1:-1:-1;;;1340:37:456;;1354:4;1340:37;;;;;;;;;;;;;;;;;;;;;;;;245:64:436;;1340:13:456;;:37;;;;;269::436;;1340::456;;;;;;;269::436;245:64;1340:37:456;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1392:32:456;;1418:4;;-1:-1:-1;1392:32:456;;-1:-1:-1;1392:32:456;;;1435:10;;:43;;;-1:-1:-1;;;1435:43:456;;1472:4;1435:43;;;;;;-1:-1:-1;;;;;1435:10:456;;;;:28;;:43;;;;;:10;;:43;;;;;;;;:10;;:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1488:55;1505:4;1512:10;;;;;;;;;-1:-1:-1;;;;;1512:10:456;-1:-1:-1;;;;;1512:28:456;;:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1488:55;1553:46;1570:4;1577:10;;;;;;;;;-1:-1:-1;;;;;1577:10:456;-1:-1:-1;;;;;1577:19:456;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1553:46;1235:371::o;2224:255::-;2287:10;;:43;;;-1:-1:-1;;;2287:43:456;;2324:4;2287:43;;;;;;-1:-1:-1;;;;;2287:10:456;;;;:28;;:43;;;;;:10;;:43;;;;;;;;:10;;:43;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2341:78:456;;-1:-1:-1;;;2341:78:456;;;;;;;;;;;;;;;;245:64:436;;-1:-1:-1;2341:15:456;;-1:-1:-1;2341:78:456;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2429:10:456;;:43;;;-1:-1:-1;;;2429:43:456;;2466:4;2429:43;;;;;;-1:-1:-1;;;;;2429:10:456;;;;-1:-1:-1;2429:28:456;;-1:-1:-1;2429:43:456;;;;;:10;;:43;;;;;;;;:10;;:43;;;;;;;;;;165:28:436;;;;;;;;;:::o;1572:26:435:-;;;;;;:::o;1612:204:456:-;1658:23;;;-1:-1:-1;;;1658:23:456;;1675:4;1658:23;;;;;;245:64:436;;1658:8:456;;:23;;;;;269:37:436;;1658:23:456;;;;;;;269:37:436;245:64;1658:23:456;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1691:65:456;;-1:-1:-1;;;1691:65:456;;;;;;;;;;;;;;;;245:64:436;;-1:-1:-1;1691:15:456;;-1:-1:-1;1691:65:456;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2840:242:435;2990:42;2978:55;3059:16;;2840:242;:::o;3615:277::-;3683:1;-1:-1:-1;;;;;3678:6:435;:1;-1:-1:-1;;;;;3678:6:435;;3674:212;;3705:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3768:34;;;-1:-1:-1;;;;;3768:34:435;;;;;;;;;;;;;;-1:-1:-1;;;3768:34:435;;;;;;;;;;;;;;;3821;;;-1:-1:-1;;;;;3821:34:435;;;;;;;;;;;;;;-1:-1:-1;;;3821:34:435;;;;;;;;;;;;;;;3869:6;:4;:6::i;:::-;3615:277;;:::o;2410:424::-;2449:16;:14;:16::i;:::-;2445:359;;;2645:67;;;1671:64;2645:67;;;;;;;-1:-1:-1;;;2645:67:435;;;;2705:4;1679:55;2645:67;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2534:196:435;;;;;;;;2482:11;;1671:64;;2579:43;;2645:67;2534:196;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2534:196:435;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2499:245;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2499:245:435;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;2445:359:435;2813:7;:14;;-1:-1:-1;;2813:14:435;;;;;2410:424::o;-1:-1:-1:-;;;;;;;;:::o", "linkReferences": {} }, "methodIdentifiers": { "IS_SCRIPT()": "f8ccbf47", "IS_TEST()": "fa7626d4", "addr(string)": "511b1df9", "failed()": "ba414fa6", "setUp()": "0a9254e4", "testAnonCannotSet()": "ff5d31f1", "testDoesNotAllowEmptyNextOwner()": "c58fc2c3", "testDoesNotAllowIdenticalNextOwner()": "a140ff87", "testDoesNotAllowRepeatedNomination()": "f0344008", "testHappyPath()": "cd8591bb", "vm()": "3a768463" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"nominatedOwner\",\"type\":\"address\"}],\"name\":\"NominatedOwnerSet\",\"type\":\"event\"},{\"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_SCRIPT\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_name\",\"type\":\"string\"}],\"name\":\"addr\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"setUp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testAnonCannotSet\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testDoesNotAllowEmptyNextOwner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testDoesNotAllowIdenticalNextOwner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testDoesNotAllowRepeatedNomination\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testHappyPath\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"vm\",\"outputs\":[{\"internalType\":\"contract Vm\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"tests/persistent/Dispatcher.t.sol\":\"SetNominatedOwnerTest\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/mocks/MockVaultLib.sol\":{\"keccak256\":\"0x14d298c9cd4411cc6260fe50b93a1da572c5ddee7bfca377dd35403741c4e3b6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://e51c048dc4e2c9117fff0ecd4ab94d09701b9cd89247db8608c1a491c7374635\",\"dweb:/ipfs/QmYkH9dXQp1EEMfrcGPUTc3ey4o2UtvG91vDxjgQzwUuHE\"]},\"contracts/persistent/dispatcher/Dispatcher.sol\":{\"keccak256\":\"0x0590285e72005e40573fcc93e95aa75a5963bdcf5b02a627c73d8bc982f9d850\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://e9f2190a9ba01ec1f03b5159387c3864b9700337f3d7b07ec0758bbde52d32e2\",\"dweb:/ipfs/QmX5gevftdWC5xzSVcmVn14aFhKgweCXAhndZ8ZECN92fj\"]},\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/dispatcher/IMigrationHookHandler.sol\":{\"keccak256\":\"0x4cec61ef58c1d2e7693ee954c3582b1a04ff836a569e216edb7526c7e56a5632\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://0acae6d91e3e20e6ebd46cbeff926967a2d64f3d8eb2e3cdff20366917a77879\",\"dweb:/ipfs/Qmd44oJngTNRnwXdDwtNd9o4UvTgxAmBGikz3QMPKf4NWy\"]},\"contracts/persistent/vault/VaultLibBaseCore.sol\":{\"keccak256\":\"0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd\",\"dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz\"]},\"contracts/persistent/vault/VaultProxy.sol\":{\"keccak256\":\"0x08ff12cb7955ab80cf35f98a5abae23a92f655916669986d1580cb394f6b6bb3\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://320fcccd67d3390d6762bdef41f7d5e679e61b3244b1d945fc33402ea684bc3a\",\"dweb:/ipfs/Qmaaxqgm4EzF1r4n52pkjs7bA5quKhVwrh356rTFXDj86L\"]},\"contracts/persistent/vault/interfaces/IMigratableVault.sol\":{\"keccak256\":\"0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6\",\"dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs\"]},\"contracts/persistent/vault/utils/ProxiableVaultLib.sol\":{\"keccak256\":\"0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44\",\"dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4\"]},\"contracts/persistent/vault/utils/SharesTokenBase.sol\":{\"keccak256\":\"0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8\",\"dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4\"]},\"contracts/persistent/vault/utils/VaultLibSafeMath.sol\":{\"keccak256\":\"0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02\",\"dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG\"]},\"lib/forge-std/lib/ds-test/src/test.sol\":{\"keccak256\":\"0xb39cd1d5220cb474947b131e15a4538334b7e886af244b440ae5c9c6bba96a54\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://3101520221449ac0070bda3881311a71d9aa87e5210765e875246922cb5cb5f5\",\"dweb:/ipfs/Qmbg6kAHNoG7ox9N9Xqd9Ere2H2XixMFWFqvyPwFCzB3Gr\"]},\"lib/forge-std/src/Script.sol\":{\"keccak256\":\"0x4424dbcb8f5b741475445726f87408fcd89951fad973bec2ca442ee157f910e7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5b0b9f6dfb69245d8f888558ae82bf1d2cdeace46201444fe4b2e6a5283f944a\",\"dweb:/ipfs/QmWFSKeFEZngNcwNn7A84EF7pASo5qe6r5oK24r9Kwca7Z\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0xa85dee62f7a3d7d3b26051f28d08bbfaa6d76888b8e64395583c35f11070372b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f3ecace3d6120731c4520f651c36658940df958755a2c86d6bf0ec895320a915\",\"dweb:/ipfs/QmVGbUYLtMsAYF3C27qHKs3VHRuRNDypuDfs4XGK47kqUT\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x63fc2487cf3a6650d933e18bcb61766f15f74c327192381806ea00f8f6446f66\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aad99f7b2ed3b11ff6c17b84b4196c562898640a80cabc2c28c87c116099a00f\",\"dweb:/ipfs/QmQNNbxHabRycegyXwJWBDutrdcScAP2SU5zEvorWEaFpx\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0xbeb823fcdb356244a83aaccdf828ad019ecc1ffaa3dff18e624fc6d5714ea671\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4cbe9400340e5f9ec55e2aff3bad1c15fa3afbbe37e80800e6f3fed2ad26854f\",\"dweb:/ipfs/QmdJBABsuXkvWxVzEyGXsTE3vyfBPXDdw5xvvtUz3JeoYW\"]},\"tests/persistent/Dispatcher.t.sol\":{\"keccak256\":\"0x9f19e0376c4d2fa61f4c50089a46d54b7a1d464b31413aeb4147da02b44cd298\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://e9f733c425d149594c2044229dd51e543d330cfb11b7825dfd59631a3aabd71d\",\"dweb:/ipfs/QmY3c9daKiMH2W9qbq94TekosaySFV44ZUXsGuBfigo832\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "nominatedOwner", "type": "address", "indexed": true } ], "type": "event", "name": "NominatedOwnerSet", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "", "type": "string", "indexed": false } ], "type": "event", "name": "log", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "", "type": "address", "indexed": false } ], "type": "event", "name": "log_address", "anonymous": false }, { "inputs": [ { "internalType": "uint256[]", "name": "val", "type": "uint256[]", "indexed": false } ], "type": "event", "name": "log_array", "anonymous": false }, { "inputs": [ { "internalType": "int256[]", "name": "val", "type": "int256[]", "indexed": false } ], "type": "event", "name": "log_array", "anonymous": false }, { "inputs": [ { "internalType": "address[]", "name": "val", "type": "address[]", "indexed": false } ], "type": "event", "name": "log_array", "anonymous": false }, { "inputs": [ { "internalType": "bytes", "name": "", "type": "bytes", "indexed": false } ], "type": "event", "name": "log_bytes", "anonymous": false }, { "inputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32", "indexed": false } ], "type": "event", "name": "log_bytes32", "anonymous": false }, { "inputs": [ { "internalType": "int256", "name": "", "type": "int256", "indexed": false } ], "type": "event", "name": "log_int", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "key", "type": "string", "indexed": false }, { "internalType": "address", "name": "val", "type": "address", "indexed": false } ], "type": "event", "name": "log_named_address", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "key", "type": "string", "indexed": false }, { "internalType": "uint256[]", "name": "val", "type": "uint256[]", "indexed": false } ], "type": "event", "name": "log_named_array", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "key", "type": "string", "indexed": false }, { "internalType": "int256[]", "name": "val", "type": "int256[]", "indexed": false } ], "type": "event", "name": "log_named_array", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "key", "type": "string", "indexed": false }, { "internalType": "address[]", "name": "val", "type": "address[]", "indexed": false } ], "type": "event", "name": "log_named_array", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "key", "type": "string", "indexed": false }, { "internalType": "bytes", "name": "val", "type": "bytes", "indexed": false } ], "type": "event", "name": "log_named_bytes", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "key", "type": "string", "indexed": false }, { "internalType": "bytes32", "name": "val", "type": "bytes32", "indexed": false } ], "type": "event", "name": "log_named_bytes32", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "key", "type": "string", "indexed": false }, { "internalType": "int256", "name": "val", "type": "int256", "indexed": false }, { "internalType": "uint256", "name": "decimals", "type": "uint256", "indexed": false } ], "type": "event", "name": "log_named_decimal_int", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "key", "type": "string", "indexed": false }, { "internalType": "uint256", "name": "val", "type": "uint256", "indexed": false }, { "internalType": "uint256", "name": "decimals", "type": "uint256", "indexed": false } ], "type": "event", "name": "log_named_decimal_uint", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "key", "type": "string", "indexed": false }, { "internalType": "int256", "name": "val", "type": "int256", "indexed": false } ], "type": "event", "name": "log_named_int", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "key", "type": "string", "indexed": false }, { "internalType": "string", "name": "val", "type": "string", "indexed": false } ], "type": "event", "name": "log_named_string", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "key", "type": "string", "indexed": false }, { "internalType": "uint256", "name": "val", "type": "uint256", "indexed": false } ], "type": "event", "name": "log_named_uint", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "", "type": "string", "indexed": false } ], "type": "event", "name": "log_string", "anonymous": false }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256", "indexed": false } ], "type": "event", "name": "log_uint", "anonymous": false }, { "inputs": [ { "internalType": "bytes", "name": "", "type": "bytes", "indexed": false } ], "type": "event", "name": "logs", "anonymous": false }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "IS_SCRIPT", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "IS_TEST", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [ { "internalType": "string", "name": "_name", "type": "string" } ], "stateMutability": "pure", "type": "function", "name": "addr", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ] }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "failed", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "setUp" }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "testAnonCannotSet" }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "testDoesNotAllowEmptyNextOwner" }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "testDoesNotAllowIdenticalNextOwner" }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "testDoesNotAllowRepeatedNomination" }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "testHappyPath" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "vm", "outputs": [ { "internalType": "contract Vm", "name": "", "type": "address" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "tests/persistent/Dispatcher.t.sol": "SetNominatedOwnerTest" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/mocks/MockVaultLib.sol": { "keccak256": "0x14d298c9cd4411cc6260fe50b93a1da572c5ddee7bfca377dd35403741c4e3b6", "urls": [ "bzz-raw://e51c048dc4e2c9117fff0ecd4ab94d09701b9cd89247db8608c1a491c7374635", "dweb:/ipfs/QmYkH9dXQp1EEMfrcGPUTc3ey4o2UtvG91vDxjgQzwUuHE" ], "license": "GPL-3.0" }, "contracts/persistent/dispatcher/Dispatcher.sol": { "keccak256": "0x0590285e72005e40573fcc93e95aa75a5963bdcf5b02a627c73d8bc982f9d850", "urls": [ "bzz-raw://e9f2190a9ba01ec1f03b5159387c3864b9700337f3d7b07ec0758bbde52d32e2", "dweb:/ipfs/QmX5gevftdWC5xzSVcmVn14aFhKgweCXAhndZ8ZECN92fj" ], "license": "GPL-3.0" }, "contracts/persistent/dispatcher/IDispatcher.sol": { "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", "urls": [ "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" ], "license": "GPL-3.0" }, "contracts/persistent/dispatcher/IMigrationHookHandler.sol": { "keccak256": "0x4cec61ef58c1d2e7693ee954c3582b1a04ff836a569e216edb7526c7e56a5632", "urls": [ "bzz-raw://0acae6d91e3e20e6ebd46cbeff926967a2d64f3d8eb2e3cdff20366917a77879", "dweb:/ipfs/Qmd44oJngTNRnwXdDwtNd9o4UvTgxAmBGikz3QMPKf4NWy" ], "license": "GPL-3.0" }, "contracts/persistent/vault/VaultLibBaseCore.sol": { "keccak256": "0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074", "urls": [ "bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd", "dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz" ], "license": "GPL-3.0" }, "contracts/persistent/vault/VaultProxy.sol": { "keccak256": "0x08ff12cb7955ab80cf35f98a5abae23a92f655916669986d1580cb394f6b6bb3", "urls": [ "bzz-raw://320fcccd67d3390d6762bdef41f7d5e679e61b3244b1d945fc33402ea684bc3a", "dweb:/ipfs/Qmaaxqgm4EzF1r4n52pkjs7bA5quKhVwrh356rTFXDj86L" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IMigratableVault.sol": { "keccak256": "0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238", "urls": [ "bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6", "dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs" ], "license": "GPL-3.0" }, "contracts/persistent/vault/utils/ProxiableVaultLib.sol": { "keccak256": "0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76", "urls": [ "bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44", "dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4" ], "license": "GPL-3.0" }, "contracts/persistent/vault/utils/SharesTokenBase.sol": { "keccak256": "0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113", "urls": [ "bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8", "dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4" ], "license": "GPL-3.0" }, "contracts/persistent/vault/utils/VaultLibSafeMath.sol": { "keccak256": "0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d", "urls": [ "bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02", "dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG" ], "license": "GPL-3.0" }, "lib/forge-std/lib/ds-test/src/test.sol": { "keccak256": "0xb39cd1d5220cb474947b131e15a4538334b7e886af244b440ae5c9c6bba96a54", "urls": [ "bzz-raw://3101520221449ac0070bda3881311a71d9aa87e5210765e875246922cb5cb5f5", "dweb:/ipfs/Qmbg6kAHNoG7ox9N9Xqd9Ere2H2XixMFWFqvyPwFCzB3Gr" ], "license": "GPL-3.0-or-later" }, "lib/forge-std/src/Script.sol": { "keccak256": "0x4424dbcb8f5b741475445726f87408fcd89951fad973bec2ca442ee157f910e7", "urls": [ "bzz-raw://5b0b9f6dfb69245d8f888558ae82bf1d2cdeace46201444fe4b2e6a5283f944a", "dweb:/ipfs/QmWFSKeFEZngNcwNn7A84EF7pASo5qe6r5oK24r9Kwca7Z" ], "license": "MIT" }, "lib/forge-std/src/Test.sol": { "keccak256": "0xa85dee62f7a3d7d3b26051f28d08bbfaa6d76888b8e64395583c35f11070372b", "urls": [ "bzz-raw://f3ecace3d6120731c4520f651c36658940df958755a2c86d6bf0ec895320a915", "dweb:/ipfs/QmVGbUYLtMsAYF3C27qHKs3VHRuRNDypuDfs4XGK47kqUT" ], "license": "MIT" }, "lib/forge-std/src/Vm.sol": { "keccak256": "0x63fc2487cf3a6650d933e18bcb61766f15f74c327192381806ea00f8f6446f66", "urls": [ "bzz-raw://aad99f7b2ed3b11ff6c17b84b4196c562898640a80cabc2c28c87c116099a00f", "dweb:/ipfs/QmQNNbxHabRycegyXwJWBDutrdcScAP2SU5zEvorWEaFpx" ], "license": "MIT" }, "lib/forge-std/src/console.sol": { "keccak256": "0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba", "urls": [ "bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70", "dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec" ], "license": "MIT" }, "lib/forge-std/src/console2.sol": { "keccak256": "0xbeb823fcdb356244a83aaccdf828ad019ecc1ffaa3dff18e624fc6d5714ea671", "urls": [ "bzz-raw://4cbe9400340e5f9ec55e2aff3bad1c15fa3afbbe37e80800e6f3fed2ad26854f", "dweb:/ipfs/QmdJBABsuXkvWxVzEyGXsTE3vyfBPXDdw5xvvtUz3JeoYW" ], "license": "MIT" }, "tests/persistent/Dispatcher.t.sol": { "keccak256": "0x9f19e0376c4d2fa61f4c50089a46d54b7a1d464b31413aeb4147da02b44cd298", "urls": [ "bzz-raw://e9f733c425d149594c2044229dd51e543d330cfb11b7825dfd59631a3aabd71d", "dweb:/ipfs/QmY3c9daKiMH2W9qbq94TekosaySFV44ZUXsGuBfigo832" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 456 } diff --git a/eth_defi/abi/enzyme/SettableFeeRecipientBase.json b/eth_defi/abi/enzyme/SettableFeeRecipientBase.json index 7564c7b8..6d6cbab6 100644 --- a/eth_defi/abi/enzyme/SettableFeeRecipientBase.json +++ b/eth_defi/abi/enzyme/SettableFeeRecipientBase.json @@ -1,172 +1 @@ -{ - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "comptrollerProxy", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "recipient", - "type": "address" - } - ], - "name": "RecipientSetForFund", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - } - ], - "name": "getRecipientForFund", - "outputs": [ - { - "internalType": "address", - "name": "recipient_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "getRecipientForFund(address)": "62780b3c" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"}],\"name\":\"RecipientSetForFund\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"}],\"name\":\"getRecipientForFund\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"recipient_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"getRecipientForFund(address)\":{\"details\":\"address(0) signifies the VaultProxy owner\",\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy contract for the fund\"},\"returns\":{\"recipient_\":\"The recipient\"}}},\"title\":\"SettableFeeRecipientBase Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getRecipientForFund(address)\":{\"notice\":\"Gets the recipient of the fee for a given fund\"}},\"notice\":\"A base contract to set and get a fee recipient for the inheriting fee\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/fee-manager/fees/utils/SettableFeeRecipientBase.sol\":\"SettableFeeRecipientBase\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/fee-manager/fees/utils/SettableFeeRecipientBase.sol\":{\"keccak256\":\"0xb3b4b3cd13141871c912310ce1dace2e94f89eee7a52b95d4df9e4642a958f4d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b120324be26eddebb2fd5d15ecdbef4bfc5a5bbd05bd60796677157480842aa1\",\"dweb:/ipfs/Qmab9XnYHvG3zWtQaTee24qU7VK94MMLySPkrZqDBbB5NN\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "comptrollerProxy", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "recipient", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "RecipientSetForFund", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getRecipientForFund", - "outputs": [ - { - "internalType": "address", - "name": "recipient_", - "type": "address" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "getRecipientForFund(address)": { - "details": "address(0) signifies the VaultProxy owner", - "params": { - "_comptrollerProxy": "The ComptrollerProxy contract for the fund" - }, - "returns": { - "recipient_": "The recipient" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "getRecipientForFund(address)": { - "notice": "Gets the recipient of the fee for a given fund" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/fee-manager/fees/utils/SettableFeeRecipientBase.sol": "SettableFeeRecipientBase" - }, - "libraries": {} - }, - "sources": { - "contracts/release/extensions/fee-manager/fees/utils/SettableFeeRecipientBase.sol": { - "keccak256": "0xb3b4b3cd13141871c912310ce1dace2e94f89eee7a52b95d4df9e4642a958f4d", - "urls": [ - "bzz-raw://b120324be26eddebb2fd5d15ecdbef4bfc5a5bbd05bd60796677157480842aa1", - "dweb:/ipfs/Qmab9XnYHvG3zWtQaTee24qU7VK94MMLySPkrZqDBbB5NN" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 155 -} +{ "abi": [ { "type": "function", "name": "getRecipientForFund", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "recipient_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "event", "name": "RecipientSetForFund", "inputs": [ { "name": "comptrollerProxy", "type": "address", "indexed": true, "internalType": "address" }, { "name": "recipient", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "getRecipientForFund(address)": "62780b3c" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"}],\"name\":\"RecipientSetForFund\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"}],\"name\":\"getRecipientForFund\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"recipient_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"getRecipientForFund(address)\":{\"details\":\"address(0) signifies the VaultProxy owner\",\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy contract for the fund\"},\"returns\":{\"recipient_\":\"The recipient\"}}},\"title\":\"SettableFeeRecipientBase Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getRecipientForFund(address)\":{\"notice\":\"Gets the recipient of the fee for a given fund\"}},\"notice\":\"A base contract to set and get a fee recipient for the inheriting fee\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/fee-manager/fees/utils/SettableFeeRecipientBase.sol\":\"SettableFeeRecipientBase\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/fee-manager/fees/utils/SettableFeeRecipientBase.sol\":{\"keccak256\":\"0xb3b4b3cd13141871c912310ce1dace2e94f89eee7a52b95d4df9e4642a958f4d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b120324be26eddebb2fd5d15ecdbef4bfc5a5bbd05bd60796677157480842aa1\",\"dweb:/ipfs/Qmab9XnYHvG3zWtQaTee24qU7VK94MMLySPkrZqDBbB5NN\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "comptrollerProxy", "type": "address", "indexed": true }, { "internalType": "address", "name": "recipient", "type": "address", "indexed": true } ], "type": "event", "name": "RecipientSetForFund", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getRecipientForFund", "outputs": [ { "internalType": "address", "name": "recipient_", "type": "address" } ] } ], "devdoc": { "kind": "dev", "methods": { "getRecipientForFund(address)": { "details": "address(0) signifies the VaultProxy owner", "params": { "_comptrollerProxy": "The ComptrollerProxy contract for the fund" }, "returns": { "recipient_": "The recipient" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "getRecipientForFund(address)": { "notice": "Gets the recipient of the fee for a given fund" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/fee-manager/fees/utils/SettableFeeRecipientBase.sol": "SettableFeeRecipientBase" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/extensions/fee-manager/fees/utils/SettableFeeRecipientBase.sol": { "keccak256": "0xb3b4b3cd13141871c912310ce1dace2e94f89eee7a52b95d4df9e4642a958f4d", "urls": [ "bzz-raw://b120324be26eddebb2fd5d15ecdbef4bfc5a5bbd05bd60796677157480842aa1", "dweb:/ipfs/Qmab9XnYHvG3zWtQaTee24qU7VK94MMLySPkrZqDBbB5NN" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 155 } diff --git a/eth_defi/abi/enzyme/SharesSplitterFactory.json b/eth_defi/abi/enzyme/SharesSplitterFactory.json index 7441119f..582c760c 100644 --- a/eth_defi/abi/enzyme/SharesSplitterFactory.json +++ b/eth_defi/abi/enzyme/SharesSplitterFactory.json @@ -1,308 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_globalConfigProxy", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "caller", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "proxy", - "type": "address" - } - ], - "name": "ProxyDeployed", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_users", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "_splitPercentages", - "type": "uint256[]" - } - ], - "name": "deploy", - "outputs": [ - { - "internalType": "address", - "name": "sharesSplitter_", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x60a060405234801561001057600080fd5b506040516118b13803806118b18339818101604052602081101561003357600080fd5b5051604051819030906100459061008f565b6001600160a01b03928316815291166020820152604080519182900301906000f080158015610078573d6000803e3d6000fd5b5060601b6001600160601b0319166080525061009c565b6111e3806106ce83390190565b60805160601c6106156100b96000398061020652506106156000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c80634f62f4d114610030575b600080fd5b6100f26004803603604081101561004657600080fd5b81019060208101813564010000000081111561006157600080fd5b82018360208201111561007357600080fd5b8035906020019184602083028401116401000000008311171561009557600080fd5b9193909290916020810190356401000000008111156100b357600080fd5b8201836020820111156100c557600080fd5b803590602001918460208302840111640100000000831117156100e757600080fd5b50909250905061010e565b604080516001600160a01b039092168252519081900360200190f35b600083821461015d576040805162461bcd60e51b81526020600482015260166024820152756465706c6f793a20556e657175616c2061727261797360501b604482015290519081900360640190fd5b606063371aa15860e01b868686866040516024018080602001806020018381038352878782818152602001925060200280828437600083820152601f01601f1916909101848103835285815260209081019150869086028082843760008382015260408051601f909201601f1990811690940182810390940182529283526020810180516001600160e01b03166001600160e01b0319909c169b909b17909a52505197985088977f000000000000000000000000000000000000000000000000000000000000000097506102389650945061031b9350505050565b8080602001836001600160a01b03168152602001828103825284818151815260200191508051906020019080838360005b83811015610281578181015183820152602001610269565b50505050905090810190601f1680156102ae5780820380516001836020036101000a031916815260200191505b509350505050604051809103906000f0801580156102d0573d6000803e3d6000fd5b50604080516001600160a01b0383168152905191935033917f3d2489efb661e8b1c3679865db649ca1de61d76a71184a1234de2e55786a6aad9181900360200190a250949350505050565b6102e0806103298339019056fe60a060405234801561001057600080fd5b506040516102e03803806102e08339818101604052604081101561003357600080fd5b810190808051604051939291908464010000000082111561005357600080fd5b90830190602082018581111561006857600080fd5b825164010000000081118282018810171561008257600080fd5b82525081516020918201929091019080838360005b838110156100af578181015183820152602001610097565b50505050905090810190601f1680156100dc5780820380516001836020036101000a031916815260200191505b50604052602001805190602001909291905050508181806001600160a01b03166080816001600160a01b031660601b81525050807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5560006060826001600160a01b0316846040518082805190602001908083835b602083106101705780518252601f199092019160209182019101610151565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d80600081146101d0576040519150601f19603f3d011682016040523d82523d6000602084013e6101d5565b606091505b50915091508181906102655760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561022a578181015183820152602001610212565b50505050905090810190601f1680156102575780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5050505050505060805160601c605a6102866000398060065250605a6000f3fe60806040527f00000000000000000000000000000000000000000000000000000000000000003660008037600080366000846127105a03f43d806000803e818015604857816000f35b816000fdfea164736f6c634300060c000aa164736f6c634300060c000a60c060405234801561001057600080fd5b506040516111e33803806111e38339818101604052604081101561003357600080fd5b5080516020909101516001600160601b0319606092831b8116608052911b1660a05260805160601c60a05160601c61116561007e6000398061035b5250806104e152506111656000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063418981821161005b57806341898182146101e55780638a3503fa14610213578063c91995a314610239578063cb482df6146102d957610088565b80630cffb1851461008d5780630f0ee54c146100c557806332f289cf146100fb578063371aa15814610121575b600080fd5b6100b3600480360360208110156100a357600080fd5b50356001600160a01b0316610307565b60408051918252519081900360200190f35b6100b3600480360360608110156100db57600080fd5b506001600160a01b03813581169160208101359160409091013516610322565b6100b36004803603602081101561011157600080fd5b50356001600160a01b031661033a565b6101e36004803603604081101561013757600080fd5b81019060208101813564010000000081111561015257600080fd5b82018360208201111561016457600080fd5b8035906020019184602083028401116401000000008311171561018657600080fd5b9193909290916020810190356401000000008111156101a457600080fd5b8201836020820111156101b657600080fd5b803590602001918460208302840111640100000000831117156101d857600080fd5b509092509050610350565b005b6100b3600480360360408110156101fb57600080fd5b506001600160a01b0381358116916020013516610435565b6100b36004803603602081101561022957600080fd5b50356001600160a01b0316610460565b6100b3600480360360a081101561024f57600080fd5b6001600160a01b0382358116926020810135926040820135909216916001600160e01b0319606083013516919081019060a08101608082013564010000000081111561029a57600080fd5b8201836020820111156102ac57600080fd5b803590602001918460018302840111640100000000831117156102ce57600080fd5b50909250905061047b565b6100b3600480360360408110156102ef57600080fd5b506001600160a01b03813581169160200135166107a1565b6001600160a01b031660009081526020819052604090205490565b600061033033858585610849565b90505b9392505050565b600061034a338360001933610849565b92915050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146103c2576040805162461bcd60e51b81526020600482015260126024820152711a5b9a5d0e88155b985d5d1a1bdc9a5e995960721b604482015290519081900360640190fd5b61042f8484808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152505060408051602080880282810182019093528782529093508792508691829185019084908082843760009201919091525061087492505050565b50505050565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b6001600160a01b031660009081526001602052604090205490565b6000610488338888610ae3565b9050600081116104df576040805162461bcd60e51b815260206004820152601f60248201527f72656465656d5368617265733a204e6f2073686172657320636c61696d656400604482015290519081900360640190fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635d4755dc8861aaaa84898989896040518863ffffffff1660e01b815260040180886001600160a01b03168152602001876001600160a01b03168152602001868152602001856001600160a01b03168152602001846001600160e01b0319168152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509850505050505050505060206040518083038186803b1580156105be57600080fd5b505afa1580156105d2573d6000803e3d6000fd5b505050506040513d60208110156105e857600080fd5b50516106255760405162461bcd60e51b81526004018080602001828103825260218152602001806110c86021913960400191505060405180910390fd5b60006060866001600160a01b031686868660405160200180846001600160e01b03191681526004018383808284378083019250505093505050506040516020818303038152906040526040518082805190602001908083835b6020831061069d5780518252601f19909201916020918201910161067e565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146106ff576040519150601f19603f3d011682016040523d82523d6000602084013e610704565b606091505b50915091508181906107945760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610759578181015183820152602001610741565b50505050905090810190601f1680156107865780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5050509695505050505050565b60006103336107af84610460565b6107b98585610435565b610844856001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561080957600080fd5b505afa15801561081d573d6000803e3d6000fd5b505050506040513d602081101561083357600080fd5b505161083e87610307565b90610c8d565b610ce7565b6000610856858585610ae3565b905061086c6001600160a01b0385168383610d15565b949350505050565b6000805b8351811015610a875760006001600160a01b031684828151811061089857fe5b60200260200101516001600160a01b031614156108fc576040805162461bcd60e51b815260206004820152601b60248201527f5f5f73657453706c6974526174696f3a20456d70747920757365720000000000604482015290519081900360640190fd5b600181015b845181101561099f5784818151811061091657fe5b60200260200101516001600160a01b031685838151811061093357fe5b60200260200101516001600160a01b03161415610997576040805162461bcd60e51b815260206004820152601f60248201527f5f5f73657453706c6974526174696f3a204475706c6963617465207573657200604482015290519081900360640190fd5b600101610901565b508281815181106109ac57fe5b6020026020010151600160008684815181106109c457fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002081905550610a168382815181106109ff57fe5b602002602001015183610c8d90919063ffffffff16565b9150838181518110610a2457fe5b60200260200101516001600160a01b03167f531137a286e6d7db4298ad238c8007a3e9f4d5c41c4550d1f22c1b6965103ecd848381518110610a6257fe5b60200260200101516040518082815260200191505060405180910390a2600101610878565b506127108114610ade576040805162461bcd60e51b815260206004820152601f60248201527f5f5f73657453706c6974526174696f3a2053706c6974206e6f74203130302500604482015290519081900360640190fd5b505050565b600080610aef84610307565b90506000610afd8686610435565b90506000610b84866001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610b5157600080fd5b505afa158015610b65573d6000803e3d6000fd5b505050506040513d6020811015610b7b57600080fd5b50518490610c8d565b90506000610b9b610b9489610460565b8484610ce7565b9050600019861415610baf57809450610bf2565b80861115610bee5760405162461bcd60e51b81526004018080602001828103825260258152602001806111346025913960400191505060405180910390fd5b8594505b610bfc8486610c8d565b6001600160a01b038816600090815260208190526040902055610c1f8386610c8d565b6001600160a01b03808a166000818152600260209081526040808320948d16808452948252918290209490945580518981529051929391927f4831bdd9dcf3048a28319ce81d3cab7a15366bcf449bc7803a539107440809cc929181900390910190a3505050509392505050565b600082820183811015610333576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600080610d00612710610cfa8588610d67565b90610dc0565b9050610d0c8185610e27565b95945050505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610ade908490610e84565b600082610d765750600061034a565b82820282848281610d8357fe5b04146103335760405162461bcd60e51b81526004018080602001828103825260218152602001806110e96021913960400191505060405180910390fd5b6000808211610e16576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b818381610e1f57fe5b049392505050565b600082821115610e7e576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6060610ed9826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610f359092919063ffffffff16565b805190915015610ade57808060200190516020811015610ef857600080fd5b5051610ade5760405162461bcd60e51b815260040180806020018281038252602a81526020018061110a602a913960400191505060405180910390fd5b6060610330848460008585610f498561105b565b610f9a576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b60208310610fd95780518252601f199092019160209182019101610fba565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d806000811461103b576040519150601f19603f3d011682016040523d82523d6000602084013e611040565b606091505b5091509150611050828286611061565b979650505050505050565b3b151590565b60608315611070575081610333565b8251156110805782518084602001fd5b60405162461bcd60e51b815260206004820181815284516024840152845185939192839260440191908501908083836000831561075957818101518382015260200161074156fe72656465656d5368617265733a20496e76616c69642072656465656d2063616c6c536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564636c61696d546f6b656e3a205f616d6f756e74206578636565647320636c61696d61626c65a164736f6c634300060c000a", - "sourceMap": "509:1168:58:-:0;;;659:147;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;659:147:58;742:56;;659:147;;792:4;;742:56;;;:::i;:::-;-1:-1:-1;;;;;742:56:58;;;;;;;;;;;;;;;;;;;;-1:-1:-1;742:56:58;;;;;;;;;;;;;;;-1:-1:-1;716:83:58;;-1:-1:-1;;;;;;716:83:58;;;-1:-1:-1;509:1168:58;;;;;;;;;;:::o;:::-;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c80634f62f4d114610030575b600080fd5b6100f26004803603604081101561004657600080fd5b81019060208101813564010000000081111561006157600080fd5b82018360208201111561007357600080fd5b8035906020019184602083028401116401000000008311171561009557600080fd5b9193909290916020810190356401000000008111156100b357600080fd5b8201836020820111156100c557600080fd5b803590602001918460208302840111640100000000831117156100e757600080fd5b50909250905061010e565b604080516001600160a01b039092168252519081900360200190f35b600083821461015d576040805162461bcd60e51b81526020600482015260166024820152756465706c6f793a20556e657175616c2061727261797360501b604482015290519081900360640190fd5b606063371aa15860e01b868686866040516024018080602001806020018381038352878782818152602001925060200280828437600083820152601f01601f1916909101848103835285815260209081019150869086028082843760008382015260408051601f909201601f1990811690940182810390940182529283526020810180516001600160e01b03166001600160e01b0319909c169b909b17909a52505197985088977f000000000000000000000000000000000000000000000000000000000000000097506102389650945061031b9350505050565b8080602001836001600160a01b03168152602001828103825284818151815260200191508051906020019080838360005b83811015610281578181015183820152602001610269565b50505050905090810190601f1680156102ae5780820380516001836020036101000a031916815260200191505b509350505050604051809103906000f0801580156102d0573d6000803e3d6000fd5b50604080516001600160a01b0383168152905191935033917f3d2489efb661e8b1c3679865db649ca1de61d76a71184a1234de2e55786a6aad9181900360200190a250949350505050565b6102e0806103298339019056fe60a060405234801561001057600080fd5b506040516102e03803806102e08339818101604052604081101561003357600080fd5b810190808051604051939291908464010000000082111561005357600080fd5b90830190602082018581111561006857600080fd5b825164010000000081118282018810171561008257600080fd5b82525081516020918201929091019080838360005b838110156100af578181015183820152602001610097565b50505050905090810190601f1680156100dc5780820380516001836020036101000a031916815260200191505b50604052602001805190602001909291905050508181806001600160a01b03166080816001600160a01b031660601b81525050807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5560006060826001600160a01b0316846040518082805190602001908083835b602083106101705780518252601f199092019160209182019101610151565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d80600081146101d0576040519150601f19603f3d011682016040523d82523d6000602084013e6101d5565b606091505b50915091508181906102655760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561022a578181015183820152602001610212565b50505050905090810190601f1680156102575780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5050505050505060805160601c605a6102866000398060065250605a6000f3fe60806040527f00000000000000000000000000000000000000000000000000000000000000003660008037600080366000846127105a03f43d806000803e818015604857816000f35b816000fdfea164736f6c634300060c000aa164736f6c634300060c000a", - "sourceMap": "509:1168:58:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1086:589;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1086:589:58;;-1:-1:-1;1086:589:58;-1:-1:-1;1086:589:58;:::i;:::-;;;;-1:-1:-1;;;;;1086:589:58;;;;;;;;;;;;;;;1201:23;1248:41;;;1240:76;;;;;-1:-1:-1;;;1240:76:58;;;;;;;;;;;;-1:-1:-1;;;1240:76:58;;;;;;;;;;;;;;;1327:26;1392:31;;;1437:6;;1457:17;;1356:128;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1356:128:58;;;;;;;;;;;;;;;;;-1:-1:-1;1356:128:58;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1356:128:58;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1356:128:58;-1:-1:-1;;;;;;1356:128:58;;;;;;;;;;-1:-1:-1;1521:55:58;1356:128;;-1:-1:-1;1356:128:58;;1560:15;;-1:-1:-1;1521:55:58;;-1:-1:-1;1521:55:58;-1:-1:-1;1521:55:58;;-1:-1:-1;;;;1521:55:58:i;:::-;;;;;;-1:-1:-1;;;;;1521:55:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1593:42:58;;;-1:-1:-1;;;;;1593:42:58;;;;;;1495:82;;-1:-1:-1;1607:10:58;;1593:42;;;;;;;;;1646:22;1086:589;;;;;;:::o;-1:-1:-1:-;;;;;;;;:::o", - "linkReferences": {}, - "immutableReferences": { - "7434": [ - { - "start": 518, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "deploy(address[],uint256[])": "4f62f4d1" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_globalConfigProxy\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"proxy\",\"type\":\"address\"}],\"name\":\"ProxyDeployed\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_users\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"_splitPercentages\",\"type\":\"uint256[]\"}],\"name\":\"deploy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"sharesSplitter_\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"deploy(address[],uint256[])\":{\"params\":{\"_splitPercentages\":\"The ordered split percentages corresponding to _users\",\"_users\":\"The users to give a split percentage\"},\"returns\":{\"sharesSplitter_\":\"The deployed SharesSplitterProxy address\"}}},\"title\":\"SharesSplitterFactory Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"deploy(address[],uint256[])\":{\"notice\":\"Deploys a SharesSplitterProxy instance\"}},\"notice\":\"A contract factory for SharesSplitterProxy instances\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/shares-splitter/SharesSplitterFactory.sol\":\"SharesSplitterFactory\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/global-config/interfaces/IGlobalConfig1.sol\":{\"keccak256\":\"0x7b643513fd8e1a3aadc476536785a925fb7c032c21e385e69e562abff531a646\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://682cce7a4c7316ab7aa39361dff84646ba8c89ad26f2c706a4b2940f8ab27205\",\"dweb:/ipfs/QmTtyfPn3M8ErCs8zuhT4NrZiL4CAUyv37os37HebYuGA8\"]},\"contracts/persistent/shares-splitter/SharesSplitterFactory.sol\":{\"keccak256\":\"0x74a6752e7cf26c090687c229f55e95ea6a4c23108d4bed7f7b124ca66f84d33b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://22275279ad8309fca0a06e2fca01a0251094ab5700dd45d77620fd890fbb2cfa\",\"dweb:/ipfs/QmPp3R9GTH2AP5tuJEjo4G4TzUgKJSKuDThTePaWeE2jTR\"]},\"contracts/persistent/shares-splitter/SharesSplitterLib.sol\":{\"keccak256\":\"0x63fb4f6dc3427ee8968a29fff54e07efa36ee10d9cd286bd1aeb1658aa3cbedd\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a818f483fe67b9f5718b56e4f7ec65f239fa5f0a7fd7b8305b2a899bfc507252\",\"dweb:/ipfs/QmamfKKLetAmQZvFWjgVqRrRmkTDMnXwjDuYoRTD62NsNw\"]},\"contracts/persistent/shares-splitter/SharesSplitterProxy.sol\":{\"keccak256\":\"0xc24322890ac52cb524bcc629c003a19eff8925c9416d9ae20a5d8723fa95018f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2c398c4ab1a57b8a23ad22459099c6813672e756710c74c79acb0afa95d3f394\",\"dweb:/ipfs/QmawnvMvJt11hADMmmZVWXAE7S6STYby25v2JuzHviwMYC\"]},\"contracts/persistent/shares-splitter/TreasurySplitterMixin.sol\":{\"keccak256\":\"0x5884f1ae25251dc7727e7f019760b69a1e851c4d681bf91492af521bf4f74057\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3694db028974441238d79f22e85f69f89a8efa0906d30e7b4a34aad8a21f7790\",\"dweb:/ipfs/QmQPhjhosPL4S2E8tvq6ZKbp267DXLAyE145J7WVHGJhKa\"]},\"contracts/release/utils/NonUpgradableProxy.sol\":{\"keccak256\":\"0x7d70145a2a0ff8c36318b23ac6ca662f133584dd823933230c66143b89e2d53d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b05ea625a428fdf3f908db3e97a358a4117d4998abde806ba3839c7fad821bca\",\"dweb:/ipfs/QmSLzFT1ktLTZ7rAKYjcg6dBRuxVMzrGXjGJSsH5nSVx2G\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_globalConfigProxy", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "caller", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "proxy", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "ProxyDeployed", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_users", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "_splitPercentages", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "deploy", - "outputs": [ - { - "internalType": "address", - "name": "sharesSplitter_", - "type": "address" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "deploy(address[],uint256[])": { - "params": { - "_splitPercentages": "The ordered split percentages corresponding to _users", - "_users": "The users to give a split percentage" - }, - "returns": { - "sharesSplitter_": "The deployed SharesSplitterProxy address" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "deploy(address[],uint256[])": { - "notice": "Deploys a SharesSplitterProxy instance" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/persistent/shares-splitter/SharesSplitterFactory.sol": "SharesSplitterFactory" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/dispatcher/IDispatcher.sol": { - "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", - "urls": [ - "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", - "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/global-config/interfaces/IGlobalConfig1.sol": { - "keccak256": "0x7b643513fd8e1a3aadc476536785a925fb7c032c21e385e69e562abff531a646", - "urls": [ - "bzz-raw://682cce7a4c7316ab7aa39361dff84646ba8c89ad26f2c706a4b2940f8ab27205", - "dweb:/ipfs/QmTtyfPn3M8ErCs8zuhT4NrZiL4CAUyv37os37HebYuGA8" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/shares-splitter/SharesSplitterFactory.sol": { - "keccak256": "0x74a6752e7cf26c090687c229f55e95ea6a4c23108d4bed7f7b124ca66f84d33b", - "urls": [ - "bzz-raw://22275279ad8309fca0a06e2fca01a0251094ab5700dd45d77620fd890fbb2cfa", - "dweb:/ipfs/QmPp3R9GTH2AP5tuJEjo4G4TzUgKJSKuDThTePaWeE2jTR" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/shares-splitter/SharesSplitterLib.sol": { - "keccak256": "0x63fb4f6dc3427ee8968a29fff54e07efa36ee10d9cd286bd1aeb1658aa3cbedd", - "urls": [ - "bzz-raw://a818f483fe67b9f5718b56e4f7ec65f239fa5f0a7fd7b8305b2a899bfc507252", - "dweb:/ipfs/QmamfKKLetAmQZvFWjgVqRrRmkTDMnXwjDuYoRTD62NsNw" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/shares-splitter/SharesSplitterProxy.sol": { - "keccak256": "0xc24322890ac52cb524bcc629c003a19eff8925c9416d9ae20a5d8723fa95018f", - "urls": [ - "bzz-raw://2c398c4ab1a57b8a23ad22459099c6813672e756710c74c79acb0afa95d3f394", - "dweb:/ipfs/QmawnvMvJt11hADMmmZVWXAE7S6STYby25v2JuzHviwMYC" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/shares-splitter/TreasurySplitterMixin.sol": { - "keccak256": "0x5884f1ae25251dc7727e7f019760b69a1e851c4d681bf91492af521bf4f74057", - "urls": [ - "bzz-raw://3694db028974441238d79f22e85f69f89a8efa0906d30e7b4a34aad8a21f7790", - "dweb:/ipfs/QmQPhjhosPL4S2E8tvq6ZKbp267DXLAyE145J7WVHGJhKa" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/NonUpgradableProxy.sol": { - "keccak256": "0x7d70145a2a0ff8c36318b23ac6ca662f133584dd823933230c66143b89e2d53d", - "urls": [ - "bzz-raw://b05ea625a428fdf3f908db3e97a358a4117d4998abde806ba3839c7fad821bca", - "dweb:/ipfs/QmSLzFT1ktLTZ7rAKYjcg6dBRuxVMzrGXjGJSsH5nSVx2G" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { - "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", - "urls": [ - "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", - "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Address.sol": { - "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", - "urls": [ - "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", - "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 58 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_globalConfigProxy", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "deploy", "inputs": [ { "name": "_users", "type": "address[]", "internalType": "address[]" }, { "name": "_splitPercentages", "type": "uint256[]", "internalType": "uint256[]" } ], "outputs": [ { "name": "sharesSplitter_", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "event", "name": "ProxyDeployed", "inputs": [ { "name": "caller", "type": "address", "indexed": true, "internalType": "address" }, { "name": "proxy", "type": "address", "indexed": false, "internalType": "address" } ], "anonymous": false } ], "bytecode": { "object": "0x60a060405234801561001057600080fd5b506040516118b13803806118b18339818101604052602081101561003357600080fd5b5051604051819030906100459061008f565b6001600160a01b03928316815291166020820152604080519182900301906000f080158015610078573d6000803e3d6000fd5b5060601b6001600160601b0319166080525061009c565b6111e3806106ce83390190565b60805160601c6106156100b96000398061020652506106156000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c80634f62f4d114610030575b600080fd5b6100f26004803603604081101561004657600080fd5b81019060208101813564010000000081111561006157600080fd5b82018360208201111561007357600080fd5b8035906020019184602083028401116401000000008311171561009557600080fd5b9193909290916020810190356401000000008111156100b357600080fd5b8201836020820111156100c557600080fd5b803590602001918460208302840111640100000000831117156100e757600080fd5b50909250905061010e565b604080516001600160a01b039092168252519081900360200190f35b600083821461015d576040805162461bcd60e51b81526020600482015260166024820152756465706c6f793a20556e657175616c2061727261797360501b604482015290519081900360640190fd5b606063371aa15860e01b868686866040516024018080602001806020018381038352878782818152602001925060200280828437600083820152601f01601f1916909101848103835285815260209081019150869086028082843760008382015260408051601f909201601f1990811690940182810390940182529283526020810180516001600160e01b03166001600160e01b0319909c169b909b17909a52505197985088977f000000000000000000000000000000000000000000000000000000000000000097506102389650945061031b9350505050565b8080602001836001600160a01b03168152602001828103825284818151815260200191508051906020019080838360005b83811015610281578181015183820152602001610269565b50505050905090810190601f1680156102ae5780820380516001836020036101000a031916815260200191505b509350505050604051809103906000f0801580156102d0573d6000803e3d6000fd5b50604080516001600160a01b0383168152905191935033917f3d2489efb661e8b1c3679865db649ca1de61d76a71184a1234de2e55786a6aad9181900360200190a250949350505050565b6102e0806103298339019056fe60a060405234801561001057600080fd5b506040516102e03803806102e08339818101604052604081101561003357600080fd5b810190808051604051939291908464010000000082111561005357600080fd5b90830190602082018581111561006857600080fd5b825164010000000081118282018810171561008257600080fd5b82525081516020918201929091019080838360005b838110156100af578181015183820152602001610097565b50505050905090810190601f1680156100dc5780820380516001836020036101000a031916815260200191505b50604052602001805190602001909291905050508181806001600160a01b03166080816001600160a01b031660601b81525050807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5560006060826001600160a01b0316846040518082805190602001908083835b602083106101705780518252601f199092019160209182019101610151565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d80600081146101d0576040519150601f19603f3d011682016040523d82523d6000602084013e6101d5565b606091505b50915091508181906102655760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561022a578181015183820152602001610212565b50505050905090810190601f1680156102575780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5050505050505060805160601c605a6102866000398060065250605a6000f3fe60806040527f00000000000000000000000000000000000000000000000000000000000000003660008037600080366000846127105a03f43d806000803e818015604857816000f35b816000fdfea164736f6c634300060c000aa164736f6c634300060c000a60c060405234801561001057600080fd5b506040516111e33803806111e38339818101604052604081101561003357600080fd5b5080516020909101516001600160601b0319606092831b8116608052911b1660a05260805160601c60a05160601c61116561007e6000398061035b5250806104e152506111656000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063418981821161005b57806341898182146101e55780638a3503fa14610213578063c91995a314610239578063cb482df6146102d957610088565b80630cffb1851461008d5780630f0ee54c146100c557806332f289cf146100fb578063371aa15814610121575b600080fd5b6100b3600480360360208110156100a357600080fd5b50356001600160a01b0316610307565b60408051918252519081900360200190f35b6100b3600480360360608110156100db57600080fd5b506001600160a01b03813581169160208101359160409091013516610322565b6100b36004803603602081101561011157600080fd5b50356001600160a01b031661033a565b6101e36004803603604081101561013757600080fd5b81019060208101813564010000000081111561015257600080fd5b82018360208201111561016457600080fd5b8035906020019184602083028401116401000000008311171561018657600080fd5b9193909290916020810190356401000000008111156101a457600080fd5b8201836020820111156101b657600080fd5b803590602001918460208302840111640100000000831117156101d857600080fd5b509092509050610350565b005b6100b3600480360360408110156101fb57600080fd5b506001600160a01b0381358116916020013516610435565b6100b36004803603602081101561022957600080fd5b50356001600160a01b0316610460565b6100b3600480360360a081101561024f57600080fd5b6001600160a01b0382358116926020810135926040820135909216916001600160e01b0319606083013516919081019060a08101608082013564010000000081111561029a57600080fd5b8201836020820111156102ac57600080fd5b803590602001918460018302840111640100000000831117156102ce57600080fd5b50909250905061047b565b6100b3600480360360408110156102ef57600080fd5b506001600160a01b03813581169160200135166107a1565b6001600160a01b031660009081526020819052604090205490565b600061033033858585610849565b90505b9392505050565b600061034a338360001933610849565b92915050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146103c2576040805162461bcd60e51b81526020600482015260126024820152711a5b9a5d0e88155b985d5d1a1bdc9a5e995960721b604482015290519081900360640190fd5b61042f8484808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152505060408051602080880282810182019093528782529093508792508691829185019084908082843760009201919091525061087492505050565b50505050565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b6001600160a01b031660009081526001602052604090205490565b6000610488338888610ae3565b9050600081116104df576040805162461bcd60e51b815260206004820152601f60248201527f72656465656d5368617265733a204e6f2073686172657320636c61696d656400604482015290519081900360640190fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635d4755dc8861aaaa84898989896040518863ffffffff1660e01b815260040180886001600160a01b03168152602001876001600160a01b03168152602001868152602001856001600160a01b03168152602001846001600160e01b0319168152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509850505050505050505060206040518083038186803b1580156105be57600080fd5b505afa1580156105d2573d6000803e3d6000fd5b505050506040513d60208110156105e857600080fd5b50516106255760405162461bcd60e51b81526004018080602001828103825260218152602001806110c86021913960400191505060405180910390fd5b60006060866001600160a01b031686868660405160200180846001600160e01b03191681526004018383808284378083019250505093505050506040516020818303038152906040526040518082805190602001908083835b6020831061069d5780518252601f19909201916020918201910161067e565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146106ff576040519150601f19603f3d011682016040523d82523d6000602084013e610704565b606091505b50915091508181906107945760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610759578181015183820152602001610741565b50505050905090810190601f1680156107865780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5050509695505050505050565b60006103336107af84610460565b6107b98585610435565b610844856001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561080957600080fd5b505afa15801561081d573d6000803e3d6000fd5b505050506040513d602081101561083357600080fd5b505161083e87610307565b90610c8d565b610ce7565b6000610856858585610ae3565b905061086c6001600160a01b0385168383610d15565b949350505050565b6000805b8351811015610a875760006001600160a01b031684828151811061089857fe5b60200260200101516001600160a01b031614156108fc576040805162461bcd60e51b815260206004820152601b60248201527f5f5f73657453706c6974526174696f3a20456d70747920757365720000000000604482015290519081900360640190fd5b600181015b845181101561099f5784818151811061091657fe5b60200260200101516001600160a01b031685838151811061093357fe5b60200260200101516001600160a01b03161415610997576040805162461bcd60e51b815260206004820152601f60248201527f5f5f73657453706c6974526174696f3a204475706c6963617465207573657200604482015290519081900360640190fd5b600101610901565b508281815181106109ac57fe5b6020026020010151600160008684815181106109c457fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002081905550610a168382815181106109ff57fe5b602002602001015183610c8d90919063ffffffff16565b9150838181518110610a2457fe5b60200260200101516001600160a01b03167f531137a286e6d7db4298ad238c8007a3e9f4d5c41c4550d1f22c1b6965103ecd848381518110610a6257fe5b60200260200101516040518082815260200191505060405180910390a2600101610878565b506127108114610ade576040805162461bcd60e51b815260206004820152601f60248201527f5f5f73657453706c6974526174696f3a2053706c6974206e6f74203130302500604482015290519081900360640190fd5b505050565b600080610aef84610307565b90506000610afd8686610435565b90506000610b84866001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610b5157600080fd5b505afa158015610b65573d6000803e3d6000fd5b505050506040513d6020811015610b7b57600080fd5b50518490610c8d565b90506000610b9b610b9489610460565b8484610ce7565b9050600019861415610baf57809450610bf2565b80861115610bee5760405162461bcd60e51b81526004018080602001828103825260258152602001806111346025913960400191505060405180910390fd5b8594505b610bfc8486610c8d565b6001600160a01b038816600090815260208190526040902055610c1f8386610c8d565b6001600160a01b03808a166000818152600260209081526040808320948d16808452948252918290209490945580518981529051929391927f4831bdd9dcf3048a28319ce81d3cab7a15366bcf449bc7803a539107440809cc929181900390910190a3505050509392505050565b600082820183811015610333576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600080610d00612710610cfa8588610d67565b90610dc0565b9050610d0c8185610e27565b95945050505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610ade908490610e84565b600082610d765750600061034a565b82820282848281610d8357fe5b04146103335760405162461bcd60e51b81526004018080602001828103825260218152602001806110e96021913960400191505060405180910390fd5b6000808211610e16576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b818381610e1f57fe5b049392505050565b600082821115610e7e576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6060610ed9826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610f359092919063ffffffff16565b805190915015610ade57808060200190516020811015610ef857600080fd5b5051610ade5760405162461bcd60e51b815260040180806020018281038252602a81526020018061110a602a913960400191505060405180910390fd5b6060610330848460008585610f498561105b565b610f9a576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b60208310610fd95780518252601f199092019160209182019101610fba565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d806000811461103b576040519150601f19603f3d011682016040523d82523d6000602084013e611040565b606091505b5091509150611050828286611061565b979650505050505050565b3b151590565b60608315611070575081610333565b8251156110805782518084602001fd5b60405162461bcd60e51b815260206004820181815284516024840152845185939192839260440191908501908083836000831561075957818101518382015260200161074156fe72656465656d5368617265733a20496e76616c69642072656465656d2063616c6c536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564636c61696d546f6b656e3a205f616d6f756e74206578636565647320636c61696d61626c65a164736f6c634300060c000a", "sourceMap": "509:1168:58:-:0;;;659:147;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;659:147:58;742:56;;659:147;;792:4;;742:56;;;:::i;:::-;-1:-1:-1;;;;;742:56:58;;;;;;;;;;;;;;;;;;;;-1:-1:-1;742:56:58;;;;;;;;;;;;;;;-1:-1:-1;716:83:58;;-1:-1:-1;;;;;;716:83:58;;;-1:-1:-1;509:1168:58;;;;;;;;;;:::o;:::-;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c80634f62f4d114610030575b600080fd5b6100f26004803603604081101561004657600080fd5b81019060208101813564010000000081111561006157600080fd5b82018360208201111561007357600080fd5b8035906020019184602083028401116401000000008311171561009557600080fd5b9193909290916020810190356401000000008111156100b357600080fd5b8201836020820111156100c557600080fd5b803590602001918460208302840111640100000000831117156100e757600080fd5b50909250905061010e565b604080516001600160a01b039092168252519081900360200190f35b600083821461015d576040805162461bcd60e51b81526020600482015260166024820152756465706c6f793a20556e657175616c2061727261797360501b604482015290519081900360640190fd5b606063371aa15860e01b868686866040516024018080602001806020018381038352878782818152602001925060200280828437600083820152601f01601f1916909101848103835285815260209081019150869086028082843760008382015260408051601f909201601f1990811690940182810390940182529283526020810180516001600160e01b03166001600160e01b0319909c169b909b17909a52505197985088977f000000000000000000000000000000000000000000000000000000000000000097506102389650945061031b9350505050565b8080602001836001600160a01b03168152602001828103825284818151815260200191508051906020019080838360005b83811015610281578181015183820152602001610269565b50505050905090810190601f1680156102ae5780820380516001836020036101000a031916815260200191505b509350505050604051809103906000f0801580156102d0573d6000803e3d6000fd5b50604080516001600160a01b0383168152905191935033917f3d2489efb661e8b1c3679865db649ca1de61d76a71184a1234de2e55786a6aad9181900360200190a250949350505050565b6102e0806103298339019056fe60a060405234801561001057600080fd5b506040516102e03803806102e08339818101604052604081101561003357600080fd5b810190808051604051939291908464010000000082111561005357600080fd5b90830190602082018581111561006857600080fd5b825164010000000081118282018810171561008257600080fd5b82525081516020918201929091019080838360005b838110156100af578181015183820152602001610097565b50505050905090810190601f1680156100dc5780820380516001836020036101000a031916815260200191505b50604052602001805190602001909291905050508181806001600160a01b03166080816001600160a01b031660601b81525050807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5560006060826001600160a01b0316846040518082805190602001908083835b602083106101705780518252601f199092019160209182019101610151565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d80600081146101d0576040519150601f19603f3d011682016040523d82523d6000602084013e6101d5565b606091505b50915091508181906102655760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561022a578181015183820152602001610212565b50505050905090810190601f1680156102575780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5050505050505060805160601c605a6102866000398060065250605a6000f3fe60806040527f00000000000000000000000000000000000000000000000000000000000000003660008037600080366000846127105a03f43d806000803e818015604857816000f35b816000fdfea164736f6c634300060c000aa164736f6c634300060c000a", "sourceMap": "509:1168:58:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1086:589;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1086:589:58;;-1:-1:-1;1086:589:58;-1:-1:-1;1086:589:58;:::i;:::-;;;;-1:-1:-1;;;;;1086:589:58;;;;;;;;;;;;;;;1201:23;1248:41;;;1240:76;;;;;-1:-1:-1;;;1240:76:58;;;;;;;;;;;;-1:-1:-1;;;1240:76:58;;;;;;;;;;;;;;;1327:26;1392:31;;;1437:6;;1457:17;;1356:128;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1356:128:58;;;;;;;;;;;;;;;;;-1:-1:-1;1356:128:58;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1356:128:58;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1356:128:58;-1:-1:-1;;;;;;1356:128:58;;;;;;;;;;-1:-1:-1;1521:55:58;1356:128;;-1:-1:-1;1356:128:58;;1560:15;;-1:-1:-1;1521:55:58;;-1:-1:-1;1521:55:58;-1:-1:-1;1521:55:58;;-1:-1:-1;;;;1521:55:58:i;:::-;;;;;;-1:-1:-1;;;;;1521:55:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1593:42:58;;;-1:-1:-1;;;;;1593:42:58;;;;;;1495:82;;-1:-1:-1;1607:10:58;;1593:42;;;;;;;;;1646:22;1086:589;;;;;;:::o;-1:-1:-1:-;;;;;;;;:::o", "linkReferences": {}, "immutableReferences": { "7434": [ { "start": 518, "length": 32 } ] } }, "methodIdentifiers": { "deploy(address[],uint256[])": "4f62f4d1" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_globalConfigProxy\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"proxy\",\"type\":\"address\"}],\"name\":\"ProxyDeployed\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_users\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"_splitPercentages\",\"type\":\"uint256[]\"}],\"name\":\"deploy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"sharesSplitter_\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"deploy(address[],uint256[])\":{\"params\":{\"_splitPercentages\":\"The ordered split percentages corresponding to _users\",\"_users\":\"The users to give a split percentage\"},\"returns\":{\"sharesSplitter_\":\"The deployed SharesSplitterProxy address\"}}},\"title\":\"SharesSplitterFactory Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"deploy(address[],uint256[])\":{\"notice\":\"Deploys a SharesSplitterProxy instance\"}},\"notice\":\"A contract factory for SharesSplitterProxy instances\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/shares-splitter/SharesSplitterFactory.sol\":\"SharesSplitterFactory\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/global-config/interfaces/IGlobalConfig1.sol\":{\"keccak256\":\"0x7b643513fd8e1a3aadc476536785a925fb7c032c21e385e69e562abff531a646\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://682cce7a4c7316ab7aa39361dff84646ba8c89ad26f2c706a4b2940f8ab27205\",\"dweb:/ipfs/QmTtyfPn3M8ErCs8zuhT4NrZiL4CAUyv37os37HebYuGA8\"]},\"contracts/persistent/shares-splitter/SharesSplitterFactory.sol\":{\"keccak256\":\"0x74a6752e7cf26c090687c229f55e95ea6a4c23108d4bed7f7b124ca66f84d33b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://22275279ad8309fca0a06e2fca01a0251094ab5700dd45d77620fd890fbb2cfa\",\"dweb:/ipfs/QmPp3R9GTH2AP5tuJEjo4G4TzUgKJSKuDThTePaWeE2jTR\"]},\"contracts/persistent/shares-splitter/SharesSplitterLib.sol\":{\"keccak256\":\"0x63fb4f6dc3427ee8968a29fff54e07efa36ee10d9cd286bd1aeb1658aa3cbedd\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a818f483fe67b9f5718b56e4f7ec65f239fa5f0a7fd7b8305b2a899bfc507252\",\"dweb:/ipfs/QmamfKKLetAmQZvFWjgVqRrRmkTDMnXwjDuYoRTD62NsNw\"]},\"contracts/persistent/shares-splitter/SharesSplitterProxy.sol\":{\"keccak256\":\"0xc24322890ac52cb524bcc629c003a19eff8925c9416d9ae20a5d8723fa95018f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2c398c4ab1a57b8a23ad22459099c6813672e756710c74c79acb0afa95d3f394\",\"dweb:/ipfs/QmawnvMvJt11hADMmmZVWXAE7S6STYby25v2JuzHviwMYC\"]},\"contracts/persistent/shares-splitter/TreasurySplitterMixin.sol\":{\"keccak256\":\"0x5884f1ae25251dc7727e7f019760b69a1e851c4d681bf91492af521bf4f74057\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3694db028974441238d79f22e85f69f89a8efa0906d30e7b4a34aad8a21f7790\",\"dweb:/ipfs/QmQPhjhosPL4S2E8tvq6ZKbp267DXLAyE145J7WVHGJhKa\"]},\"contracts/release/utils/NonUpgradableProxy.sol\":{\"keccak256\":\"0x7d70145a2a0ff8c36318b23ac6ca662f133584dd823933230c66143b89e2d53d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b05ea625a428fdf3f908db3e97a358a4117d4998abde806ba3839c7fad821bca\",\"dweb:/ipfs/QmSLzFT1ktLTZ7rAKYjcg6dBRuxVMzrGXjGJSsH5nSVx2G\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_globalConfigProxy", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "caller", "type": "address", "indexed": true }, { "internalType": "address", "name": "proxy", "type": "address", "indexed": false } ], "type": "event", "name": "ProxyDeployed", "anonymous": false }, { "inputs": [ { "internalType": "address[]", "name": "_users", "type": "address[]" }, { "internalType": "uint256[]", "name": "_splitPercentages", "type": "uint256[]" } ], "stateMutability": "nonpayable", "type": "function", "name": "deploy", "outputs": [ { "internalType": "address", "name": "sharesSplitter_", "type": "address" } ] } ], "devdoc": { "kind": "dev", "methods": { "deploy(address[],uint256[])": { "params": { "_splitPercentages": "The ordered split percentages corresponding to _users", "_users": "The users to give a split percentage" }, "returns": { "sharesSplitter_": "The deployed SharesSplitterProxy address" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "deploy(address[],uint256[])": { "notice": "Deploys a SharesSplitterProxy instance" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/persistent/shares-splitter/SharesSplitterFactory.sol": "SharesSplitterFactory" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/dispatcher/IDispatcher.sol": { "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", "urls": [ "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" ], "license": "GPL-3.0" }, "contracts/persistent/global-config/interfaces/IGlobalConfig1.sol": { "keccak256": "0x7b643513fd8e1a3aadc476536785a925fb7c032c21e385e69e562abff531a646", "urls": [ "bzz-raw://682cce7a4c7316ab7aa39361dff84646ba8c89ad26f2c706a4b2940f8ab27205", "dweb:/ipfs/QmTtyfPn3M8ErCs8zuhT4NrZiL4CAUyv37os37HebYuGA8" ], "license": "GPL-3.0" }, "contracts/persistent/shares-splitter/SharesSplitterFactory.sol": { "keccak256": "0x74a6752e7cf26c090687c229f55e95ea6a4c23108d4bed7f7b124ca66f84d33b", "urls": [ "bzz-raw://22275279ad8309fca0a06e2fca01a0251094ab5700dd45d77620fd890fbb2cfa", "dweb:/ipfs/QmPp3R9GTH2AP5tuJEjo4G4TzUgKJSKuDThTePaWeE2jTR" ], "license": "GPL-3.0" }, "contracts/persistent/shares-splitter/SharesSplitterLib.sol": { "keccak256": "0x63fb4f6dc3427ee8968a29fff54e07efa36ee10d9cd286bd1aeb1658aa3cbedd", "urls": [ "bzz-raw://a818f483fe67b9f5718b56e4f7ec65f239fa5f0a7fd7b8305b2a899bfc507252", "dweb:/ipfs/QmamfKKLetAmQZvFWjgVqRrRmkTDMnXwjDuYoRTD62NsNw" ], "license": "GPL-3.0" }, "contracts/persistent/shares-splitter/SharesSplitterProxy.sol": { "keccak256": "0xc24322890ac52cb524bcc629c003a19eff8925c9416d9ae20a5d8723fa95018f", "urls": [ "bzz-raw://2c398c4ab1a57b8a23ad22459099c6813672e756710c74c79acb0afa95d3f394", "dweb:/ipfs/QmawnvMvJt11hADMmmZVWXAE7S6STYby25v2JuzHviwMYC" ], "license": "GPL-3.0" }, "contracts/persistent/shares-splitter/TreasurySplitterMixin.sol": { "keccak256": "0x5884f1ae25251dc7727e7f019760b69a1e851c4d681bf91492af521bf4f74057", "urls": [ "bzz-raw://3694db028974441238d79f22e85f69f89a8efa0906d30e7b4a34aad8a21f7790", "dweb:/ipfs/QmQPhjhosPL4S2E8tvq6ZKbp267DXLAyE145J7WVHGJhKa" ], "license": "GPL-3.0" }, "contracts/release/utils/NonUpgradableProxy.sol": { "keccak256": "0x7d70145a2a0ff8c36318b23ac6ca662f133584dd823933230c66143b89e2d53d", "urls": [ "bzz-raw://b05ea625a428fdf3f908db3e97a358a4117d4998abde806ba3839c7fad821bca", "dweb:/ipfs/QmSLzFT1ktLTZ7rAKYjcg6dBRuxVMzrGXjGJSsH5nSVx2G" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", "urls": [ "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Address.sol": { "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", "urls": [ "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" } }, "version": 1 }, "id": 58 } diff --git a/eth_defi/abi/enzyme/SharesSplitterLib.json b/eth_defi/abi/enzyme/SharesSplitterLib.json index 55b7f94f..62713023 100644 --- a/eth_defi/abi/enzyme/SharesSplitterLib.json +++ b/eth_defi/abi/enzyme/SharesSplitterLib.json @@ -1,773 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_globalConfigProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_initializer", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "percentage", - "type": "uint256" - } - ], - "name": "SplitPercentageSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "TokenClaimed", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "claimToken", - "outputs": [ - { - "internalType": "uint256", - "name": "claimedAmount_", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_to", - "type": "address" - } - ], - "name": "claimTokenAmountTo", - "outputs": [ - { - "internalType": "uint256", - "name": "claimedAmount_", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_user", - "type": "address" - } - ], - "name": "getSplitPercentageForUser", - "outputs": [ - { - "internalType": "uint256", - "name": "splitPercentage_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_user", - "type": "address" - }, - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "getTokenBalClaimableForUser", - "outputs": [ - { - "internalType": "uint256", - "name": "balClaimable_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_user", - "type": "address" - }, - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "getTokenBalClaimedForUser", - "outputs": [ - { - "internalType": "uint256", - "name": "balClaimed_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "getTotalTokenBalClaimed", - "outputs": [ - { - "internalType": "uint256", - "name": "totalBalClaimed_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_users", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "_splitPercentages", - "type": "uint256[]" - } - ], - "name": "init", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_redeemContract", - "type": "address" - }, - { - "internalType": "bytes4", - "name": "_redeemSelector", - "type": "bytes4" - }, - { - "internalType": "bytes", - "name": "_redeemData", - "type": "bytes" - } - ], - "name": "redeemShares", - "outputs": [ - { - "internalType": "uint256", - "name": "sharesRedeemed_", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x60c060405234801561001057600080fd5b506040516111e33803806111e38339818101604052604081101561003357600080fd5b5080516020909101516001600160601b0319606092831b8116608052911b1660a05260805160601c60a05160601c61116561007e6000398061035b5250806104e152506111656000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063418981821161005b57806341898182146101e55780638a3503fa14610213578063c91995a314610239578063cb482df6146102d957610088565b80630cffb1851461008d5780630f0ee54c146100c557806332f289cf146100fb578063371aa15814610121575b600080fd5b6100b3600480360360208110156100a357600080fd5b50356001600160a01b0316610307565b60408051918252519081900360200190f35b6100b3600480360360608110156100db57600080fd5b506001600160a01b03813581169160208101359160409091013516610322565b6100b36004803603602081101561011157600080fd5b50356001600160a01b031661033a565b6101e36004803603604081101561013757600080fd5b81019060208101813564010000000081111561015257600080fd5b82018360208201111561016457600080fd5b8035906020019184602083028401116401000000008311171561018657600080fd5b9193909290916020810190356401000000008111156101a457600080fd5b8201836020820111156101b657600080fd5b803590602001918460208302840111640100000000831117156101d857600080fd5b509092509050610350565b005b6100b3600480360360408110156101fb57600080fd5b506001600160a01b0381358116916020013516610435565b6100b36004803603602081101561022957600080fd5b50356001600160a01b0316610460565b6100b3600480360360a081101561024f57600080fd5b6001600160a01b0382358116926020810135926040820135909216916001600160e01b0319606083013516919081019060a08101608082013564010000000081111561029a57600080fd5b8201836020820111156102ac57600080fd5b803590602001918460018302840111640100000000831117156102ce57600080fd5b50909250905061047b565b6100b3600480360360408110156102ef57600080fd5b506001600160a01b03813581169160200135166107a1565b6001600160a01b031660009081526020819052604090205490565b600061033033858585610849565b90505b9392505050565b600061034a338360001933610849565b92915050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146103c2576040805162461bcd60e51b81526020600482015260126024820152711a5b9a5d0e88155b985d5d1a1bdc9a5e995960721b604482015290519081900360640190fd5b61042f8484808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152505060408051602080880282810182019093528782529093508792508691829185019084908082843760009201919091525061087492505050565b50505050565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b6001600160a01b031660009081526001602052604090205490565b6000610488338888610ae3565b9050600081116104df576040805162461bcd60e51b815260206004820152601f60248201527f72656465656d5368617265733a204e6f2073686172657320636c61696d656400604482015290519081900360640190fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635d4755dc8861aaaa84898989896040518863ffffffff1660e01b815260040180886001600160a01b03168152602001876001600160a01b03168152602001868152602001856001600160a01b03168152602001846001600160e01b0319168152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509850505050505050505060206040518083038186803b1580156105be57600080fd5b505afa1580156105d2573d6000803e3d6000fd5b505050506040513d60208110156105e857600080fd5b50516106255760405162461bcd60e51b81526004018080602001828103825260218152602001806110c86021913960400191505060405180910390fd5b60006060866001600160a01b031686868660405160200180846001600160e01b03191681526004018383808284378083019250505093505050506040516020818303038152906040526040518082805190602001908083835b6020831061069d5780518252601f19909201916020918201910161067e565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146106ff576040519150601f19603f3d011682016040523d82523d6000602084013e610704565b606091505b50915091508181906107945760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610759578181015183820152602001610741565b50505050905090810190601f1680156107865780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5050509695505050505050565b60006103336107af84610460565b6107b98585610435565b610844856001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561080957600080fd5b505afa15801561081d573d6000803e3d6000fd5b505050506040513d602081101561083357600080fd5b505161083e87610307565b90610c8d565b610ce7565b6000610856858585610ae3565b905061086c6001600160a01b0385168383610d15565b949350505050565b6000805b8351811015610a875760006001600160a01b031684828151811061089857fe5b60200260200101516001600160a01b031614156108fc576040805162461bcd60e51b815260206004820152601b60248201527f5f5f73657453706c6974526174696f3a20456d70747920757365720000000000604482015290519081900360640190fd5b600181015b845181101561099f5784818151811061091657fe5b60200260200101516001600160a01b031685838151811061093357fe5b60200260200101516001600160a01b03161415610997576040805162461bcd60e51b815260206004820152601f60248201527f5f5f73657453706c6974526174696f3a204475706c6963617465207573657200604482015290519081900360640190fd5b600101610901565b508281815181106109ac57fe5b6020026020010151600160008684815181106109c457fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002081905550610a168382815181106109ff57fe5b602002602001015183610c8d90919063ffffffff16565b9150838181518110610a2457fe5b60200260200101516001600160a01b03167f531137a286e6d7db4298ad238c8007a3e9f4d5c41c4550d1f22c1b6965103ecd848381518110610a6257fe5b60200260200101516040518082815260200191505060405180910390a2600101610878565b506127108114610ade576040805162461bcd60e51b815260206004820152601f60248201527f5f5f73657453706c6974526174696f3a2053706c6974206e6f74203130302500604482015290519081900360640190fd5b505050565b600080610aef84610307565b90506000610afd8686610435565b90506000610b84866001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610b5157600080fd5b505afa158015610b65573d6000803e3d6000fd5b505050506040513d6020811015610b7b57600080fd5b50518490610c8d565b90506000610b9b610b9489610460565b8484610ce7565b9050600019861415610baf57809450610bf2565b80861115610bee5760405162461bcd60e51b81526004018080602001828103825260258152602001806111346025913960400191505060405180910390fd5b8594505b610bfc8486610c8d565b6001600160a01b038816600090815260208190526040902055610c1f8386610c8d565b6001600160a01b03808a166000818152600260209081526040808320948d16808452948252918290209490945580518981529051929391927f4831bdd9dcf3048a28319ce81d3cab7a15366bcf449bc7803a539107440809cc929181900390910190a3505050509392505050565b600082820183811015610333576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600080610d00612710610cfa8588610d67565b90610dc0565b9050610d0c8185610e27565b95945050505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610ade908490610e84565b600082610d765750600061034a565b82820282848281610d8357fe5b04146103335760405162461bcd60e51b81526004018080602001828103825260218152602001806110e96021913960400191505060405180910390fd5b6000808211610e16576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b818381610e1f57fe5b049392505050565b600082821115610e7e576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6060610ed9826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610f359092919063ffffffff16565b805190915015610ade57808060200190516020811015610ef857600080fd5b5051610ade5760405162461bcd60e51b815260040180806020018281038252602a81526020018061110a602a913960400191505060405180910390fd5b6060610330848460008585610f498561105b565b610f9a576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b60208310610fd95780518252601f199092019160209182019101610fba565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d806000811461103b576040519150601f19603f3d011682016040523d82523d6000602084013e611040565b606091505b5091509150611050828286611061565b979650505050505050565b3b151590565b60608315611070575081610333565b8251156110805782518084602001fd5b60405162461bcd60e51b815260206004820181815284516024840152845185939192839260440191908501908083836000831561075957818101518382015260200161074156fe72656465656d5368617265733a20496e76616c69642072656465656d2063616c6c536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564636c61696d546f6b656e3a205f616d6f756e74206578636565647320636c61696d61626c65a164736f6c634300060c000a", - "sourceMap": "557:2804:59:-:0;;;833:181;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;833:181:59;;;;;;;-1:-1:-1;;;912:59:59;;;;;;;981:26;;;;;;-1:-1:-1;;;;;557:2804:59;;;;;-1:-1:-1;557:2804:59;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106100885760003560e01c8063418981821161005b57806341898182146101e55780638a3503fa14610213578063c91995a314610239578063cb482df6146102d957610088565b80630cffb1851461008d5780630f0ee54c146100c557806332f289cf146100fb578063371aa15814610121575b600080fd5b6100b3600480360360208110156100a357600080fd5b50356001600160a01b0316610307565b60408051918252519081900360200190f35b6100b3600480360360608110156100db57600080fd5b506001600160a01b03813581169160208101359160409091013516610322565b6100b36004803603602081101561011157600080fd5b50356001600160a01b031661033a565b6101e36004803603604081101561013757600080fd5b81019060208101813564010000000081111561015257600080fd5b82018360208201111561016457600080fd5b8035906020019184602083028401116401000000008311171561018657600080fd5b9193909290916020810190356401000000008111156101a457600080fd5b8201836020820111156101b657600080fd5b803590602001918460208302840111640100000000831117156101d857600080fd5b509092509050610350565b005b6100b3600480360360408110156101fb57600080fd5b506001600160a01b0381358116916020013516610435565b6100b36004803603602081101561022957600080fd5b50356001600160a01b0316610460565b6100b3600480360360a081101561024f57600080fd5b6001600160a01b0382358116926020810135926040820135909216916001600160e01b0319606083013516919081019060a08101608082013564010000000081111561029a57600080fd5b8201836020820111156102ac57600080fd5b803590602001918460018302840111640100000000831117156102ce57600080fd5b50909250905061047b565b6100b3600480360360408110156102ef57600080fd5b506001600160a01b03813581169160200135166107a1565b6001600160a01b031660009081526020819052604090205490565b600061033033858585610849565b90505b9392505050565b600061034a338360001933610849565b92915050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146103c2576040805162461bcd60e51b81526020600482015260126024820152711a5b9a5d0e88155b985d5d1a1bdc9a5e995960721b604482015290519081900360640190fd5b61042f8484808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152505060408051602080880282810182019093528782529093508792508691829185019084908082843760009201919091525061087492505050565b50505050565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b6001600160a01b031660009081526001602052604090205490565b6000610488338888610ae3565b9050600081116104df576040805162461bcd60e51b815260206004820152601f60248201527f72656465656d5368617265733a204e6f2073686172657320636c61696d656400604482015290519081900360640190fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635d4755dc8861aaaa84898989896040518863ffffffff1660e01b815260040180886001600160a01b03168152602001876001600160a01b03168152602001868152602001856001600160a01b03168152602001846001600160e01b0319168152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509850505050505050505060206040518083038186803b1580156105be57600080fd5b505afa1580156105d2573d6000803e3d6000fd5b505050506040513d60208110156105e857600080fd5b50516106255760405162461bcd60e51b81526004018080602001828103825260218152602001806110c86021913960400191505060405180910390fd5b60006060866001600160a01b031686868660405160200180846001600160e01b03191681526004018383808284378083019250505093505050506040516020818303038152906040526040518082805190602001908083835b6020831061069d5780518252601f19909201916020918201910161067e565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146106ff576040519150601f19603f3d011682016040523d82523d6000602084013e610704565b606091505b50915091508181906107945760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610759578181015183820152602001610741565b50505050905090810190601f1680156107865780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5050509695505050505050565b60006103336107af84610460565b6107b98585610435565b610844856001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561080957600080fd5b505afa15801561081d573d6000803e3d6000fd5b505050506040513d602081101561083357600080fd5b505161083e87610307565b90610c8d565b610ce7565b6000610856858585610ae3565b905061086c6001600160a01b0385168383610d15565b949350505050565b6000805b8351811015610a875760006001600160a01b031684828151811061089857fe5b60200260200101516001600160a01b031614156108fc576040805162461bcd60e51b815260206004820152601b60248201527f5f5f73657453706c6974526174696f3a20456d70747920757365720000000000604482015290519081900360640190fd5b600181015b845181101561099f5784818151811061091657fe5b60200260200101516001600160a01b031685838151811061093357fe5b60200260200101516001600160a01b03161415610997576040805162461bcd60e51b815260206004820152601f60248201527f5f5f73657453706c6974526174696f3a204475706c6963617465207573657200604482015290519081900360640190fd5b600101610901565b508281815181106109ac57fe5b6020026020010151600160008684815181106109c457fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002081905550610a168382815181106109ff57fe5b602002602001015183610c8d90919063ffffffff16565b9150838181518110610a2457fe5b60200260200101516001600160a01b03167f531137a286e6d7db4298ad238c8007a3e9f4d5c41c4550d1f22c1b6965103ecd848381518110610a6257fe5b60200260200101516040518082815260200191505060405180910390a2600101610878565b506127108114610ade576040805162461bcd60e51b815260206004820152601f60248201527f5f5f73657453706c6974526174696f3a2053706c6974206e6f74203130302500604482015290519081900360640190fd5b505050565b600080610aef84610307565b90506000610afd8686610435565b90506000610b84866001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610b5157600080fd5b505afa158015610b65573d6000803e3d6000fd5b505050506040513d6020811015610b7b57600080fd5b50518490610c8d565b90506000610b9b610b9489610460565b8484610ce7565b9050600019861415610baf57809450610bf2565b80861115610bee5760405162461bcd60e51b81526004018080602001828103825260258152602001806111346025913960400191505060405180910390fd5b8594505b610bfc8486610c8d565b6001600160a01b038816600090815260208190526040902055610c1f8386610c8d565b6001600160a01b03808a166000818152600260209081526040808320948d16808452948252918290209490945580518981529051929391927f4831bdd9dcf3048a28319ce81d3cab7a15366bcf449bc7803a539107440809cc929181900390910190a3505050509392505050565b600082820183811015610333576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600080610d00612710610cfa8588610d67565b90610dc0565b9050610d0c8185610e27565b95945050505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610ade908490610e84565b600082610d765750600061034a565b82820282848281610d8357fe5b04146103335760405162461bcd60e51b81526004018080602001828103825260218152602001806110e96021913960400191505060405180910390fd5b6000808211610e16576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b818381610e1f57fe5b049392505050565b600082821115610e7e576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6060610ed9826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610f359092919063ffffffff16565b805190915015610ade57808060200190516020811015610ef857600080fd5b5051610ade5760405162461bcd60e51b815260040180806020018281038252602a81526020018061110a602a913960400191505060405180910390fd5b6060610330848460008585610f498561105b565b610f9a576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b60208310610fd95780518252601f199092019160209182019101610fba565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d806000811461103b576040519150601f19603f3d011682016040523d82523d6000602084013e611040565b606091505b5091509150611050828286611061565b979650505050505050565b3b151590565b60608315611070575081610333565b8251156110805782518084602001fd5b60405162461bcd60e51b815260206004820181815284516024840152845185939192839260440191908501908083836000831561075957818101518382015260200161074156fe72656465656d5368617265733a20496e76616c69642072656465656d2063616c6c536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564636c61696d546f6b656e3a205f616d6f756e74206578636565647320636c61696d61626c65a164736f6c634300060c000a", - "sourceMap": "557:2804:59:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6920:178:61;;;;;;;;;;;;;;;;-1:-1:-1;6920:178:61;-1:-1:-1;;;;;6920:178:61;;:::i;:::-;;;;;;;;;;;;;;;;1931:224;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1931:224:61;;;;;;;;;;;;;;;;;:::i;1487:173::-;;;;;;;;;;;;;;;;-1:-1:-1;1487:173:61;-1:-1:-1;;;;;1487:173:61;;:::i;1371:214:59:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1371:214:59;;-1:-1:-1;1371:214:59;-1:-1:-1;1371:214:59;:::i;:::-;;6564:198:61;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;6564:198:61;;;;;;;;;;:::i;6199:177::-;;;;;;;;;;;;;;;;-1:-1:-1;6199:177:61;-1:-1:-1;;;;;6199:177:61;;:::i;2051:1308:59:-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2051:1308:59;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;2051:1308:59;;;;;;;;;;-1:-1:-1;2051:1308:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2051:1308:59;;-1:-1:-1;2051:1308:59;-1:-1:-1;2051:1308:59;:::i;2376:414:61:-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;2376:414:61;;;;;;;;;;:::i;6920:178::-;-1:-1:-1;;;;;7061:30:61;7014:24;7061:30;;;;;;;;;;;;6920:178::o;1931:224::-;2061:22;2102:46;2115:10;2127:6;2135:7;2144:3;2102:12;:46::i;:::-;2095:53;;1931:224;;;;;;:::o;1487:173::-;1549:22;1590:63;1603:10;1615:6;-1:-1:-1;;1603:10:61;1590:12;:63::i;:::-;1583:70;1487:173;-1:-1:-1;;1487:173:61:o;1371:214:59:-;1491:11;-1:-1:-1;;;;;1477:25:59;:10;:25;1469:56;;;;;-1:-1:-1;;;1469:56:59;;;;;;;;;;;;-1:-1:-1;;;1469:56:59;;;;;;;;;;;;;;;1536:42;1552:6;;1536:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1536:42:59;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1560:17:59;;-1:-1:-1;1560:17:59;;;;1536:42;;;1560:17;;1536:42;1560:17;1536:42;;;;;;;;;-1:-1:-1;1536:15:59;;-1:-1:-1;;;1536:42:59:i;:::-;1371:214;;;;:::o;6564:198:61:-;-1:-1:-1;;;;;6717:30:61;;;6675:19;6717:30;;;:23;:30;;;;;;;;:38;;;;;;;;;;;;;6564:198::o;6199:177::-;-1:-1:-1;;;;;6341:28:61;6294:24;6341:28;;;-1:-1:-1;6341:28:61;;;;;;;6199:177::o;2051:1308:59:-;2252:23;2356:61;2384:10;2396:11;2409:7;2356:27;:61::i;:::-;2338:79;;2453:1;2435:15;:19;2427:63;;;;;-1:-1:-1;;;2427:63:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;2764:262;;-1:-1:-1;;;2764:262:59;;-1:-1:-1;;;;;2764:262:59;;;;;;;;;679:42;2764:262;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;2764:262:59;;;;;;;;;;;;;;;;;;;:22;:46;;;;;;:262;;;;;;;;3001:11;;2764:262;;;;;3001:11;2764:262;;3001:11;2764:262;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2764:262:59;2743:342;;;;-1:-1:-1;;;2743:342:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3217:46;;-1:-1:-1;;;;;;3217:46:59;;;;;;;;3142:12;;3156:23;;-1:-1:-1;;;;;3183:20:59;;;3234:15;;3251:11;;;;3217:46;;;3251:11;;;;3217:46;;;;;;;;;;;;;;;;;;;;;;;;;;3183:90;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3183:90:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3141:132;;;;3291:7;3307:10;3283:36;;;;;-1:-1:-1;;;3283:36:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3330:22;;2051:1308;;;;;;;;:::o;2376:414:61:-;2489:21;2545:238;2586:32;2612:5;2586:25;:32::i;:::-;2636:40;2662:5;2669:6;2636:25;:40::i;:::-;2730:38;;;-1:-1:-1;;;2730:38:61;;2762:4;2730:38;;;;;;2694:75;;-1:-1:-1;;;;;2730:23:61;;;;;:38;;;;;;;;;;;;;;;:23;:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2730:38:61;2694:31;2718:6;2694:23;:31::i;:::-;:35;;:75::i;:::-;2545:23;:238::i;3352:337::-;3491:22;3542:51;3570:5;3577:6;3585:7;3542:27;:51::i;:::-;3525:68;-1:-1:-1;3603:47:61;-1:-1:-1;;;;;3603:26:61;;3630:3;3525:68;3603:26;:47::i;:::-;3352:337;;;;;;:::o;5139:832::-;5256:28;5299:9;5294:574;5314:6;:13;5310:1;:17;5294:574;;;5418:9;;5439:1;;5418:6;;5425:1;;5418:9;;;;;;;;;;;;-1:-1:-1;;;;;5418:23:61;;;5410:63;;;;;-1:-1:-1;;;5410:63:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;5508:1;5504:5;;5487:147;5515:6;:13;5511:1;:17;5487:147;;;5574:6;5581:1;5574:9;;;;;;;;;;;;;;-1:-1:-1;;;;;5561:22:61;:6;5568:1;5561:9;;;;;;;;;;;;;;-1:-1:-1;;;;;5561:22:61;;;5553:66;;;;;-1:-1:-1;;;5553:66:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;5530:3;;5487:147;;;;5683:17;5701:1;5683:20;;;;;;;;;;;;;;5648:21;:32;5670:6;5677:1;5670:9;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5648:32:61;;;;;;;;;;;-1:-1:-1;5648:32:61;:55;5765:20;;5740:46;;5765:17;;5783:1;;5765:20;;;;;;;;;;;;5740;:24;;:46;;;;:::i;:::-;5717:69;;5825:6;5832:1;5825:9;;;;;;;;;;;;;;-1:-1:-1;;;;;5806:51:61;;5836:17;5854:1;5836:20;;;;;;;;;;;;;;5806:51;;;;;;;;;;;;;;;;;;5329:3;;5294:574;;;;1046:5;5885:20;:43;5877:87;;;;;-1:-1:-1;;;5877:87:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;5139:832;;;:::o;3788:1150::-;3921:22;3955:23;3981:31;4005:6;3981:23;:31::i;:::-;3955:57;;4022:25;4050:40;4076:5;4083:6;4050:25;:40::i;:::-;4150:38;;;-1:-1:-1;;;4150:38:61;;4182:4;4150:38;;;;;;4022:68;;-1:-1:-1;4101:26:61;;4130:59;;-1:-1:-1;;;;;4150:23:61;;;;;:38;;;;;;;;;;;;;;;:23;:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4150:38:61;4130:15;;:19;:59::i;:::-;4101:88;;4199:27;4229:142;4266:32;4292:5;4266:25;:32::i;:::-;4312:17;4343:18;4229:23;:142::i;:::-;4199:172;-1:-1:-1;;;4386:28:61;;4382:245;;;4447:19;4430:36;;4382:245;;;4516:19;4505:7;:30;;4497:80;;;;-1:-1:-1;;;4497:80:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4609:7;4592:24;;4382:245;4717:35;:15;4737:14;4717:19;:35::i;:::-;-1:-1:-1;;;;;4684:30:61;;:22;:30;;;;;;;;;;:68;4803:37;:17;4825:14;4803:21;:37::i;:::-;-1:-1:-1;;;;;4762:30:61;;;;;;;:23;:30;;;;;;;;:38;;;;;;;;;;;;;:78;;;;4856:43;;;;;;;4762:38;;:30;;4856:43;;;;;;;;;;;4910:21;;;;3788:1150;;;;;:::o;2690:175:442:-;2748:7;2779:5;;;2802:6;;;;2794:46;;;;;-1:-1:-1;;;2794:46:442;;;;;;;;;;;;;;;;;;;;;;;;;;;2882:428:61;3058:21;;3132:99;1046:5;3132:61;:19;3169:23;3132:36;:61::i;:::-;:78;;:99::i;:::-;3091:140;-1:-1:-1;3249:54:61;3091:140;3284:18;3249:34;:54::i;:::-;3242:61;2882:428;-1:-1:-1;;;;;2882:428:61:o;704:175:450:-;813:58;;;-1:-1:-1;;;;;813:58:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;813:58:450;-1:-1:-1;;;813:58:450;;;786:86;;806:5;;786:19;:86::i;3538:215:442:-;3596:7;3619:6;3615:20;;-1:-1:-1;3634:1:442;3627:8;;3615:20;3657:5;;;3661:1;3657;:5;:1;3680:5;;;;;:10;3672:56;;;;-1:-1:-1;;;3672:56:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4217:150;4275:7;4306:1;4302;:5;4294:44;;;;;-1:-1:-1;;;4294:44:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;4359:1;4355;:5;;;;;;;4217:150;-1:-1:-1;;;4217:150:442:o;3136:155::-;3194:7;3226:1;3221;:6;;3213:49;;;;;-1:-1:-1;;;3213:49:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3279:5:442;;;3136:155::o;2967:751:450:-;3412:69;;;;;;;;;;;;;;;;;;3386:23;;3412:69;;-1:-1:-1;;;;;3412:27:450;;;3440:4;;3412:27;:69::i;:::-;3495:17;;3386:95;;-1:-1:-1;3495:21:450;3491:221;;3635:10;3624:30;;;;;;;;;;;;;;;-1:-1:-1;3624:30:450;3616:85;;;;-1:-1:-1;;;3616:85:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3581:193:451;3684:12;3715:52;3737:6;3745:4;3751:1;3754:12;3684;4858:18;4869:6;4858:10;:18::i;:::-;4850:60;;;;;-1:-1:-1;;;4850:60:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;4981:12;4995:23;5022:6;-1:-1:-1;;;;;5022:11:451;5042:5;5050:4;5022:33;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5022:33:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4980:75;;;;5072:52;5090:7;5099:10;5111:12;5072:17;:52::i;:::-;5065:59;4608:523;-1:-1:-1;;;;;;;4608:523:451:o;726:413::-;1086:20;1124:8;;;726:413::o;7091:725::-;7206:12;7234:7;7230:580;;;-1:-1:-1;7264:10:451;7257:17;;7230:580;7375:17;;:21;7371:429;;7633:10;7627:17;7693:15;7680:10;7676:2;7672:19;7665:44;7582:145;7765:20;;-1:-1:-1;;;7765:20:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7765:20:451;;;;;;;;;;;;;;;", - "linkReferences": {}, - "immutableReferences": { - "7520": [ - { - "start": 1249, - "length": 32 - } - ], - "7522": [ - { - "start": 859, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "claimToken(address)": "32f289cf", - "claimTokenAmountTo(address,uint256,address)": "0f0ee54c", - "getSplitPercentageForUser(address)": "8a3503fa", - "getTokenBalClaimableForUser(address,address)": "cb482df6", - "getTokenBalClaimedForUser(address,address)": "41898182", - "getTotalTokenBalClaimed(address)": "0cffb185", - "init(address[],uint256[])": "371aa158", - "redeemShares(address,uint256,address,bytes4,bytes)": "c91995a3" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_globalConfigProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_initializer\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"percentage\",\"type\":\"uint256\"}],\"name\":\"SplitPercentageSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"TokenClaimed\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"}],\"name\":\"claimToken\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"claimedAmount_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"}],\"name\":\"claimTokenAmountTo\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"claimedAmount_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"getSplitPercentageForUser\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"splitPercentage_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"}],\"name\":\"getTokenBalClaimableForUser\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balClaimable_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"}],\"name\":\"getTokenBalClaimedForUser\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balClaimed_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"}],\"name\":\"getTotalTokenBalClaimed\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"totalBalClaimed_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_users\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"_splitPercentages\",\"type\":\"uint256[]\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_redeemContract\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"_redeemSelector\",\"type\":\"bytes4\"},{\"internalType\":\"bytes\",\"name\":\"_redeemData\",\"type\":\"bytes\"}],\"name\":\"redeemShares\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"sharesRedeemed_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"claimToken(address)\":{\"params\":{\"_token\":\"The token to claim\"},\"returns\":{\"claimedAmount_\":\"The token amount claimed\"}},\"claimTokenAmountTo(address,uint256,address)\":{\"params\":{\"_amount\":\"The amount to claim\",\"_to\":\"The recipient of the claimed token\",\"_token\":\"The token to claim\"},\"returns\":{\"claimedAmount_\":\"The token amount claimed\"}},\"getSplitPercentageForUser(address)\":{\"params\":{\"_user\":\"The user\"},\"returns\":{\"splitPercentage_\":\"The split percentage\"}},\"getTokenBalClaimableForUser(address,address)\":{\"params\":{\"_token\":\"The token\",\"_user\":\"The user\"},\"returns\":{\"balClaimable_\":\"The claimable token balance\"}},\"getTokenBalClaimedForUser(address,address)\":{\"params\":{\"_token\":\"The token\",\"_user\":\"The user\"},\"returns\":{\"balClaimed_\":\"The balance claimed\"}},\"getTotalTokenBalClaimed(address)\":{\"params\":{\"_token\":\"The token\"},\"returns\":{\"totalBalClaimed_\":\"The total balance claimed\"}},\"init(address[],uint256[])\":{\"details\":\"Validating via INITIALIZER makes deployments cheaper than storing `bool initialized`, but INITIALIZER must be trusted to not call more than once.\",\"params\":{\"_splitPercentages\":\"The ordered split percentages corresponding to _users\",\"_users\":\"The users to give a split percentage\"}},\"redeemShares(address,uint256,address,bytes4,bytes)\":{\"params\":{\"_amount\":\"The desired amount of shares to claim and redeem\",\"_redeemContract\":\"The contract to call to redeem\",\"_redeemData\":\"The encoded params with which to call _redeemSelector\",\"_redeemSelector\":\"The selector to call on _redeemContract\",\"_vaultProxy\":\"The VaultProxy (shares token)\"},\"returns\":{\"sharesRedeemed_\":\"The number of shares redeemed\"}}},\"title\":\"SharesSplitterLib Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"claimToken(address)\":{\"notice\":\"Claims the full amount of a specified token\"},\"claimTokenAmountTo(address,uint256,address)\":{\"notice\":\"Claims a specified token amount to a specified address\"},\"getSplitPercentageForUser(address)\":{\"notice\":\"Gets the split ratio percentage for a given user\"},\"getTokenBalClaimableForUser(address,address)\":{\"notice\":\"Gets the token balance claimable for a specified user\"},\"getTokenBalClaimedForUser(address,address)\":{\"notice\":\"Gets the token balance already claimed for a given user\"},\"getTotalTokenBalClaimed(address)\":{\"notice\":\"Gets the total token balance already claimed\"},\"init(address[],uint256[])\":{\"notice\":\"Initializes the proxy\"},\"redeemShares(address,uint256,address,bytes4,bytes)\":{\"notice\":\"Claims and redeems shares as specified\"}},\"notice\":\"Library contract for a SharesSplitter\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/shares-splitter/SharesSplitterLib.sol\":\"SharesSplitterLib\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/global-config/interfaces/IGlobalConfig1.sol\":{\"keccak256\":\"0x7b643513fd8e1a3aadc476536785a925fb7c032c21e385e69e562abff531a646\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://682cce7a4c7316ab7aa39361dff84646ba8c89ad26f2c706a4b2940f8ab27205\",\"dweb:/ipfs/QmTtyfPn3M8ErCs8zuhT4NrZiL4CAUyv37os37HebYuGA8\"]},\"contracts/persistent/shares-splitter/SharesSplitterLib.sol\":{\"keccak256\":\"0x63fb4f6dc3427ee8968a29fff54e07efa36ee10d9cd286bd1aeb1658aa3cbedd\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a818f483fe67b9f5718b56e4f7ec65f239fa5f0a7fd7b8305b2a899bfc507252\",\"dweb:/ipfs/QmamfKKLetAmQZvFWjgVqRrRmkTDMnXwjDuYoRTD62NsNw\"]},\"contracts/persistent/shares-splitter/TreasurySplitterMixin.sol\":{\"keccak256\":\"0x5884f1ae25251dc7727e7f019760b69a1e851c4d681bf91492af521bf4f74057\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3694db028974441238d79f22e85f69f89a8efa0906d30e7b4a34aad8a21f7790\",\"dweb:/ipfs/QmQPhjhosPL4S2E8tvq6ZKbp267DXLAyE145J7WVHGJhKa\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_globalConfigProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_initializer", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "user", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "percentage", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "SplitPercentageSet", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "user", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "token", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "TokenClaimed", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "claimToken", - "outputs": [ - { - "internalType": "uint256", - "name": "claimedAmount_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_to", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "claimTokenAmountTo", - "outputs": [ - { - "internalType": "uint256", - "name": "claimedAmount_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_user", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getSplitPercentageForUser", - "outputs": [ - { - "internalType": "uint256", - "name": "splitPercentage_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_user", - "type": "address" - }, - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getTokenBalClaimableForUser", - "outputs": [ - { - "internalType": "uint256", - "name": "balClaimable_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_user", - "type": "address" - }, - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getTokenBalClaimedForUser", - "outputs": [ - { - "internalType": "uint256", - "name": "balClaimed_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getTotalTokenBalClaimed", - "outputs": [ - { - "internalType": "uint256", - "name": "totalBalClaimed_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_users", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "_splitPercentages", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "init" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_redeemContract", - "type": "address" - }, - { - "internalType": "bytes4", - "name": "_redeemSelector", - "type": "bytes4" - }, - { - "internalType": "bytes", - "name": "_redeemData", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "redeemShares", - "outputs": [ - { - "internalType": "uint256", - "name": "sharesRedeemed_", - "type": "uint256" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "claimToken(address)": { - "params": { - "_token": "The token to claim" - }, - "returns": { - "claimedAmount_": "The token amount claimed" - } - }, - "claimTokenAmountTo(address,uint256,address)": { - "params": { - "_amount": "The amount to claim", - "_to": "The recipient of the claimed token", - "_token": "The token to claim" - }, - "returns": { - "claimedAmount_": "The token amount claimed" - } - }, - "getSplitPercentageForUser(address)": { - "params": { - "_user": "The user" - }, - "returns": { - "splitPercentage_": "The split percentage" - } - }, - "getTokenBalClaimableForUser(address,address)": { - "params": { - "_token": "The token", - "_user": "The user" - }, - "returns": { - "balClaimable_": "The claimable token balance" - } - }, - "getTokenBalClaimedForUser(address,address)": { - "params": { - "_token": "The token", - "_user": "The user" - }, - "returns": { - "balClaimed_": "The balance claimed" - } - }, - "getTotalTokenBalClaimed(address)": { - "params": { - "_token": "The token" - }, - "returns": { - "totalBalClaimed_": "The total balance claimed" - } - }, - "init(address[],uint256[])": { - "details": "Validating via INITIALIZER makes deployments cheaper than storing `bool initialized`, but INITIALIZER must be trusted to not call more than once.", - "params": { - "_splitPercentages": "The ordered split percentages corresponding to _users", - "_users": "The users to give a split percentage" - } - }, - "redeemShares(address,uint256,address,bytes4,bytes)": { - "params": { - "_amount": "The desired amount of shares to claim and redeem", - "_redeemContract": "The contract to call to redeem", - "_redeemData": "The encoded params with which to call _redeemSelector", - "_redeemSelector": "The selector to call on _redeemContract", - "_vaultProxy": "The VaultProxy (shares token)" - }, - "returns": { - "sharesRedeemed_": "The number of shares redeemed" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "claimToken(address)": { - "notice": "Claims the full amount of a specified token" - }, - "claimTokenAmountTo(address,uint256,address)": { - "notice": "Claims a specified token amount to a specified address" - }, - "getSplitPercentageForUser(address)": { - "notice": "Gets the split ratio percentage for a given user" - }, - "getTokenBalClaimableForUser(address,address)": { - "notice": "Gets the token balance claimable for a specified user" - }, - "getTokenBalClaimedForUser(address,address)": { - "notice": "Gets the token balance already claimed for a given user" - }, - "getTotalTokenBalClaimed(address)": { - "notice": "Gets the total token balance already claimed" - }, - "init(address[],uint256[])": { - "notice": "Initializes the proxy" - }, - "redeemShares(address,uint256,address,bytes4,bytes)": { - "notice": "Claims and redeems shares as specified" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/persistent/shares-splitter/SharesSplitterLib.sol": "SharesSplitterLib" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/dispatcher/IDispatcher.sol": { - "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", - "urls": [ - "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", - "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/global-config/interfaces/IGlobalConfig1.sol": { - "keccak256": "0x7b643513fd8e1a3aadc476536785a925fb7c032c21e385e69e562abff531a646", - "urls": [ - "bzz-raw://682cce7a4c7316ab7aa39361dff84646ba8c89ad26f2c706a4b2940f8ab27205", - "dweb:/ipfs/QmTtyfPn3M8ErCs8zuhT4NrZiL4CAUyv37os37HebYuGA8" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/shares-splitter/SharesSplitterLib.sol": { - "keccak256": "0x63fb4f6dc3427ee8968a29fff54e07efa36ee10d9cd286bd1aeb1658aa3cbedd", - "urls": [ - "bzz-raw://a818f483fe67b9f5718b56e4f7ec65f239fa5f0a7fd7b8305b2a899bfc507252", - "dweb:/ipfs/QmamfKKLetAmQZvFWjgVqRrRmkTDMnXwjDuYoRTD62NsNw" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/shares-splitter/TreasurySplitterMixin.sol": { - "keccak256": "0x5884f1ae25251dc7727e7f019760b69a1e851c4d681bf91492af521bf4f74057", - "urls": [ - "bzz-raw://3694db028974441238d79f22e85f69f89a8efa0906d30e7b4a34aad8a21f7790", - "dweb:/ipfs/QmQPhjhosPL4S2E8tvq6ZKbp267DXLAyE145J7WVHGJhKa" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { - "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", - "urls": [ - "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", - "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Address.sol": { - "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", - "urls": [ - "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", - "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 59 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_globalConfigProxy", "type": "address", "internalType": "address" }, { "name": "_initializer", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "claimToken", "inputs": [ { "name": "_token", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "claimedAmount_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "claimTokenAmountTo", "inputs": [ { "name": "_token", "type": "address", "internalType": "address" }, { "name": "_amount", "type": "uint256", "internalType": "uint256" }, { "name": "_to", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "claimedAmount_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "getSplitPercentageForUser", "inputs": [ { "name": "_user", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "splitPercentage_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "getTokenBalClaimableForUser", "inputs": [ { "name": "_user", "type": "address", "internalType": "address" }, { "name": "_token", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "balClaimable_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "getTokenBalClaimedForUser", "inputs": [ { "name": "_user", "type": "address", "internalType": "address" }, { "name": "_token", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "balClaimed_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "getTotalTokenBalClaimed", "inputs": [ { "name": "_token", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "totalBalClaimed_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "init", "inputs": [ { "name": "_users", "type": "address[]", "internalType": "address[]" }, { "name": "_splitPercentages", "type": "uint256[]", "internalType": "uint256[]" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "redeemShares", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_amount", "type": "uint256", "internalType": "uint256" }, { "name": "_redeemContract", "type": "address", "internalType": "address" }, { "name": "_redeemSelector", "type": "bytes4", "internalType": "bytes4" }, { "name": "_redeemData", "type": "bytes", "internalType": "bytes" } ], "outputs": [ { "name": "sharesRedeemed_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "event", "name": "SplitPercentageSet", "inputs": [ { "name": "user", "type": "address", "indexed": true, "internalType": "address" }, { "name": "percentage", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "TokenClaimed", "inputs": [ { "name": "user", "type": "address", "indexed": true, "internalType": "address" }, { "name": "token", "type": "address", "indexed": true, "internalType": "address" }, { "name": "amount", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false } ], "bytecode": { "object": "0x60c060405234801561001057600080fd5b506040516111e33803806111e38339818101604052604081101561003357600080fd5b5080516020909101516001600160601b0319606092831b8116608052911b1660a05260805160601c60a05160601c61116561007e6000398061035b5250806104e152506111656000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063418981821161005b57806341898182146101e55780638a3503fa14610213578063c91995a314610239578063cb482df6146102d957610088565b80630cffb1851461008d5780630f0ee54c146100c557806332f289cf146100fb578063371aa15814610121575b600080fd5b6100b3600480360360208110156100a357600080fd5b50356001600160a01b0316610307565b60408051918252519081900360200190f35b6100b3600480360360608110156100db57600080fd5b506001600160a01b03813581169160208101359160409091013516610322565b6100b36004803603602081101561011157600080fd5b50356001600160a01b031661033a565b6101e36004803603604081101561013757600080fd5b81019060208101813564010000000081111561015257600080fd5b82018360208201111561016457600080fd5b8035906020019184602083028401116401000000008311171561018657600080fd5b9193909290916020810190356401000000008111156101a457600080fd5b8201836020820111156101b657600080fd5b803590602001918460208302840111640100000000831117156101d857600080fd5b509092509050610350565b005b6100b3600480360360408110156101fb57600080fd5b506001600160a01b0381358116916020013516610435565b6100b36004803603602081101561022957600080fd5b50356001600160a01b0316610460565b6100b3600480360360a081101561024f57600080fd5b6001600160a01b0382358116926020810135926040820135909216916001600160e01b0319606083013516919081019060a08101608082013564010000000081111561029a57600080fd5b8201836020820111156102ac57600080fd5b803590602001918460018302840111640100000000831117156102ce57600080fd5b50909250905061047b565b6100b3600480360360408110156102ef57600080fd5b506001600160a01b03813581169160200135166107a1565b6001600160a01b031660009081526020819052604090205490565b600061033033858585610849565b90505b9392505050565b600061034a338360001933610849565b92915050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146103c2576040805162461bcd60e51b81526020600482015260126024820152711a5b9a5d0e88155b985d5d1a1bdc9a5e995960721b604482015290519081900360640190fd5b61042f8484808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152505060408051602080880282810182019093528782529093508792508691829185019084908082843760009201919091525061087492505050565b50505050565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b6001600160a01b031660009081526001602052604090205490565b6000610488338888610ae3565b9050600081116104df576040805162461bcd60e51b815260206004820152601f60248201527f72656465656d5368617265733a204e6f2073686172657320636c61696d656400604482015290519081900360640190fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635d4755dc8861aaaa84898989896040518863ffffffff1660e01b815260040180886001600160a01b03168152602001876001600160a01b03168152602001868152602001856001600160a01b03168152602001846001600160e01b0319168152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509850505050505050505060206040518083038186803b1580156105be57600080fd5b505afa1580156105d2573d6000803e3d6000fd5b505050506040513d60208110156105e857600080fd5b50516106255760405162461bcd60e51b81526004018080602001828103825260218152602001806110c86021913960400191505060405180910390fd5b60006060866001600160a01b031686868660405160200180846001600160e01b03191681526004018383808284378083019250505093505050506040516020818303038152906040526040518082805190602001908083835b6020831061069d5780518252601f19909201916020918201910161067e565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146106ff576040519150601f19603f3d011682016040523d82523d6000602084013e610704565b606091505b50915091508181906107945760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610759578181015183820152602001610741565b50505050905090810190601f1680156107865780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5050509695505050505050565b60006103336107af84610460565b6107b98585610435565b610844856001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561080957600080fd5b505afa15801561081d573d6000803e3d6000fd5b505050506040513d602081101561083357600080fd5b505161083e87610307565b90610c8d565b610ce7565b6000610856858585610ae3565b905061086c6001600160a01b0385168383610d15565b949350505050565b6000805b8351811015610a875760006001600160a01b031684828151811061089857fe5b60200260200101516001600160a01b031614156108fc576040805162461bcd60e51b815260206004820152601b60248201527f5f5f73657453706c6974526174696f3a20456d70747920757365720000000000604482015290519081900360640190fd5b600181015b845181101561099f5784818151811061091657fe5b60200260200101516001600160a01b031685838151811061093357fe5b60200260200101516001600160a01b03161415610997576040805162461bcd60e51b815260206004820152601f60248201527f5f5f73657453706c6974526174696f3a204475706c6963617465207573657200604482015290519081900360640190fd5b600101610901565b508281815181106109ac57fe5b6020026020010151600160008684815181106109c457fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002081905550610a168382815181106109ff57fe5b602002602001015183610c8d90919063ffffffff16565b9150838181518110610a2457fe5b60200260200101516001600160a01b03167f531137a286e6d7db4298ad238c8007a3e9f4d5c41c4550d1f22c1b6965103ecd848381518110610a6257fe5b60200260200101516040518082815260200191505060405180910390a2600101610878565b506127108114610ade576040805162461bcd60e51b815260206004820152601f60248201527f5f5f73657453706c6974526174696f3a2053706c6974206e6f74203130302500604482015290519081900360640190fd5b505050565b600080610aef84610307565b90506000610afd8686610435565b90506000610b84866001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610b5157600080fd5b505afa158015610b65573d6000803e3d6000fd5b505050506040513d6020811015610b7b57600080fd5b50518490610c8d565b90506000610b9b610b9489610460565b8484610ce7565b9050600019861415610baf57809450610bf2565b80861115610bee5760405162461bcd60e51b81526004018080602001828103825260258152602001806111346025913960400191505060405180910390fd5b8594505b610bfc8486610c8d565b6001600160a01b038816600090815260208190526040902055610c1f8386610c8d565b6001600160a01b03808a166000818152600260209081526040808320948d16808452948252918290209490945580518981529051929391927f4831bdd9dcf3048a28319ce81d3cab7a15366bcf449bc7803a539107440809cc929181900390910190a3505050509392505050565b600082820183811015610333576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600080610d00612710610cfa8588610d67565b90610dc0565b9050610d0c8185610e27565b95945050505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610ade908490610e84565b600082610d765750600061034a565b82820282848281610d8357fe5b04146103335760405162461bcd60e51b81526004018080602001828103825260218152602001806110e96021913960400191505060405180910390fd5b6000808211610e16576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b818381610e1f57fe5b049392505050565b600082821115610e7e576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6060610ed9826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610f359092919063ffffffff16565b805190915015610ade57808060200190516020811015610ef857600080fd5b5051610ade5760405162461bcd60e51b815260040180806020018281038252602a81526020018061110a602a913960400191505060405180910390fd5b6060610330848460008585610f498561105b565b610f9a576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b60208310610fd95780518252601f199092019160209182019101610fba565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d806000811461103b576040519150601f19603f3d011682016040523d82523d6000602084013e611040565b606091505b5091509150611050828286611061565b979650505050505050565b3b151590565b60608315611070575081610333565b8251156110805782518084602001fd5b60405162461bcd60e51b815260206004820181815284516024840152845185939192839260440191908501908083836000831561075957818101518382015260200161074156fe72656465656d5368617265733a20496e76616c69642072656465656d2063616c6c536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564636c61696d546f6b656e3a205f616d6f756e74206578636565647320636c61696d61626c65a164736f6c634300060c000a", "sourceMap": "557:2804:59:-:0;;;833:181;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;833:181:59;;;;;;;-1:-1:-1;;;912:59:59;;;;;;;981:26;;;;;;-1:-1:-1;;;;;557:2804:59;;;;;-1:-1:-1;557:2804:59;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106100885760003560e01c8063418981821161005b57806341898182146101e55780638a3503fa14610213578063c91995a314610239578063cb482df6146102d957610088565b80630cffb1851461008d5780630f0ee54c146100c557806332f289cf146100fb578063371aa15814610121575b600080fd5b6100b3600480360360208110156100a357600080fd5b50356001600160a01b0316610307565b60408051918252519081900360200190f35b6100b3600480360360608110156100db57600080fd5b506001600160a01b03813581169160208101359160409091013516610322565b6100b36004803603602081101561011157600080fd5b50356001600160a01b031661033a565b6101e36004803603604081101561013757600080fd5b81019060208101813564010000000081111561015257600080fd5b82018360208201111561016457600080fd5b8035906020019184602083028401116401000000008311171561018657600080fd5b9193909290916020810190356401000000008111156101a457600080fd5b8201836020820111156101b657600080fd5b803590602001918460208302840111640100000000831117156101d857600080fd5b509092509050610350565b005b6100b3600480360360408110156101fb57600080fd5b506001600160a01b0381358116916020013516610435565b6100b36004803603602081101561022957600080fd5b50356001600160a01b0316610460565b6100b3600480360360a081101561024f57600080fd5b6001600160a01b0382358116926020810135926040820135909216916001600160e01b0319606083013516919081019060a08101608082013564010000000081111561029a57600080fd5b8201836020820111156102ac57600080fd5b803590602001918460018302840111640100000000831117156102ce57600080fd5b50909250905061047b565b6100b3600480360360408110156102ef57600080fd5b506001600160a01b03813581169160200135166107a1565b6001600160a01b031660009081526020819052604090205490565b600061033033858585610849565b90505b9392505050565b600061034a338360001933610849565b92915050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146103c2576040805162461bcd60e51b81526020600482015260126024820152711a5b9a5d0e88155b985d5d1a1bdc9a5e995960721b604482015290519081900360640190fd5b61042f8484808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152505060408051602080880282810182019093528782529093508792508691829185019084908082843760009201919091525061087492505050565b50505050565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b6001600160a01b031660009081526001602052604090205490565b6000610488338888610ae3565b9050600081116104df576040805162461bcd60e51b815260206004820152601f60248201527f72656465656d5368617265733a204e6f2073686172657320636c61696d656400604482015290519081900360640190fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635d4755dc8861aaaa84898989896040518863ffffffff1660e01b815260040180886001600160a01b03168152602001876001600160a01b03168152602001868152602001856001600160a01b03168152602001846001600160e01b0319168152602001806020018281038252848482818152602001925080828437600081840152601f19601f8201169050808301925050509850505050505050505060206040518083038186803b1580156105be57600080fd5b505afa1580156105d2573d6000803e3d6000fd5b505050506040513d60208110156105e857600080fd5b50516106255760405162461bcd60e51b81526004018080602001828103825260218152602001806110c86021913960400191505060405180910390fd5b60006060866001600160a01b031686868660405160200180846001600160e01b03191681526004018383808284378083019250505093505050506040516020818303038152906040526040518082805190602001908083835b6020831061069d5780518252601f19909201916020918201910161067e565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146106ff576040519150601f19603f3d011682016040523d82523d6000602084013e610704565b606091505b50915091508181906107945760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610759578181015183820152602001610741565b50505050905090810190601f1680156107865780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5050509695505050505050565b60006103336107af84610460565b6107b98585610435565b610844856001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561080957600080fd5b505afa15801561081d573d6000803e3d6000fd5b505050506040513d602081101561083357600080fd5b505161083e87610307565b90610c8d565b610ce7565b6000610856858585610ae3565b905061086c6001600160a01b0385168383610d15565b949350505050565b6000805b8351811015610a875760006001600160a01b031684828151811061089857fe5b60200260200101516001600160a01b031614156108fc576040805162461bcd60e51b815260206004820152601b60248201527f5f5f73657453706c6974526174696f3a20456d70747920757365720000000000604482015290519081900360640190fd5b600181015b845181101561099f5784818151811061091657fe5b60200260200101516001600160a01b031685838151811061093357fe5b60200260200101516001600160a01b03161415610997576040805162461bcd60e51b815260206004820152601f60248201527f5f5f73657453706c6974526174696f3a204475706c6963617465207573657200604482015290519081900360640190fd5b600101610901565b508281815181106109ac57fe5b6020026020010151600160008684815181106109c457fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002081905550610a168382815181106109ff57fe5b602002602001015183610c8d90919063ffffffff16565b9150838181518110610a2457fe5b60200260200101516001600160a01b03167f531137a286e6d7db4298ad238c8007a3e9f4d5c41c4550d1f22c1b6965103ecd848381518110610a6257fe5b60200260200101516040518082815260200191505060405180910390a2600101610878565b506127108114610ade576040805162461bcd60e51b815260206004820152601f60248201527f5f5f73657453706c6974526174696f3a2053706c6974206e6f74203130302500604482015290519081900360640190fd5b505050565b600080610aef84610307565b90506000610afd8686610435565b90506000610b84866001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610b5157600080fd5b505afa158015610b65573d6000803e3d6000fd5b505050506040513d6020811015610b7b57600080fd5b50518490610c8d565b90506000610b9b610b9489610460565b8484610ce7565b9050600019861415610baf57809450610bf2565b80861115610bee5760405162461bcd60e51b81526004018080602001828103825260258152602001806111346025913960400191505060405180910390fd5b8594505b610bfc8486610c8d565b6001600160a01b038816600090815260208190526040902055610c1f8386610c8d565b6001600160a01b03808a166000818152600260209081526040808320948d16808452948252918290209490945580518981529051929391927f4831bdd9dcf3048a28319ce81d3cab7a15366bcf449bc7803a539107440809cc929181900390910190a3505050509392505050565b600082820183811015610333576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600080610d00612710610cfa8588610d67565b90610dc0565b9050610d0c8185610e27565b95945050505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610ade908490610e84565b600082610d765750600061034a565b82820282848281610d8357fe5b04146103335760405162461bcd60e51b81526004018080602001828103825260218152602001806110e96021913960400191505060405180910390fd5b6000808211610e16576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b818381610e1f57fe5b049392505050565b600082821115610e7e576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6060610ed9826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610f359092919063ffffffff16565b805190915015610ade57808060200190516020811015610ef857600080fd5b5051610ade5760405162461bcd60e51b815260040180806020018281038252602a81526020018061110a602a913960400191505060405180910390fd5b6060610330848460008585610f498561105b565b610f9a576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b60208310610fd95780518252601f199092019160209182019101610fba565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d806000811461103b576040519150601f19603f3d011682016040523d82523d6000602084013e611040565b606091505b5091509150611050828286611061565b979650505050505050565b3b151590565b60608315611070575081610333565b8251156110805782518084602001fd5b60405162461bcd60e51b815260206004820181815284516024840152845185939192839260440191908501908083836000831561075957818101518382015260200161074156fe72656465656d5368617265733a20496e76616c69642072656465656d2063616c6c536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564636c61696d546f6b656e3a205f616d6f756e74206578636565647320636c61696d61626c65a164736f6c634300060c000a", "sourceMap": "557:2804:59:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6920:178:61;;;;;;;;;;;;;;;;-1:-1:-1;6920:178:61;-1:-1:-1;;;;;6920:178:61;;:::i;:::-;;;;;;;;;;;;;;;;1931:224;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1931:224:61;;;;;;;;;;;;;;;;;:::i;1487:173::-;;;;;;;;;;;;;;;;-1:-1:-1;1487:173:61;-1:-1:-1;;;;;1487:173:61;;:::i;1371:214:59:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1371:214:59;;-1:-1:-1;1371:214:59;-1:-1:-1;1371:214:59;:::i;:::-;;6564:198:61;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;6564:198:61;;;;;;;;;;:::i;6199:177::-;;;;;;;;;;;;;;;;-1:-1:-1;6199:177:61;-1:-1:-1;;;;;6199:177:61;;:::i;2051:1308:59:-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2051:1308:59;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;2051:1308:59;;;;;;;;;;-1:-1:-1;2051:1308:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2051:1308:59;;-1:-1:-1;2051:1308:59;-1:-1:-1;2051:1308:59;:::i;2376:414:61:-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;2376:414:61;;;;;;;;;;:::i;6920:178::-;-1:-1:-1;;;;;7061:30:61;7014:24;7061:30;;;;;;;;;;;;6920:178::o;1931:224::-;2061:22;2102:46;2115:10;2127:6;2135:7;2144:3;2102:12;:46::i;:::-;2095:53;;1931:224;;;;;;:::o;1487:173::-;1549:22;1590:63;1603:10;1615:6;-1:-1:-1;;1603:10:61;1590:12;:63::i;:::-;1583:70;1487:173;-1:-1:-1;;1487:173:61:o;1371:214:59:-;1491:11;-1:-1:-1;;;;;1477:25:59;:10;:25;1469:56;;;;;-1:-1:-1;;;1469:56:59;;;;;;;;;;;;-1:-1:-1;;;1469:56:59;;;;;;;;;;;;;;;1536:42;1552:6;;1536:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1536:42:59;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1560:17:59;;-1:-1:-1;1560:17:59;;;;1536:42;;;1560:17;;1536:42;1560:17;1536:42;;;;;;;;;-1:-1:-1;1536:15:59;;-1:-1:-1;;;1536:42:59:i;:::-;1371:214;;;;:::o;6564:198:61:-;-1:-1:-1;;;;;6717:30:61;;;6675:19;6717:30;;;:23;:30;;;;;;;;:38;;;;;;;;;;;;;6564:198::o;6199:177::-;-1:-1:-1;;;;;6341:28:61;6294:24;6341:28;;;-1:-1:-1;6341:28:61;;;;;;;6199:177::o;2051:1308:59:-;2252:23;2356:61;2384:10;2396:11;2409:7;2356:27;:61::i;:::-;2338:79;;2453:1;2435:15;:19;2427:63;;;;;-1:-1:-1;;;2427:63:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;2764:262;;-1:-1:-1;;;2764:262:59;;-1:-1:-1;;;;;2764:262:59;;;;;;;;;679:42;2764:262;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;2764:262:59;;;;;;;;;;;;;;;;;;;:22;:46;;;;;;:262;;;;;;;;3001:11;;2764:262;;;;;3001:11;2764:262;;3001:11;2764:262;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2764:262:59;2743:342;;;;-1:-1:-1;;;2743:342:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3217:46;;-1:-1:-1;;;;;;3217:46:59;;;;;;;;3142:12;;3156:23;;-1:-1:-1;;;;;3183:20:59;;;3234:15;;3251:11;;;;3217:46;;;3251:11;;;;3217:46;;;;;;;;;;;;;;;;;;;;;;;;;;3183:90;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3183:90:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3141:132;;;;3291:7;3307:10;3283:36;;;;;-1:-1:-1;;;3283:36:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3330:22;;2051:1308;;;;;;;;:::o;2376:414:61:-;2489:21;2545:238;2586:32;2612:5;2586:25;:32::i;:::-;2636:40;2662:5;2669:6;2636:25;:40::i;:::-;2730:38;;;-1:-1:-1;;;2730:38:61;;2762:4;2730:38;;;;;;2694:75;;-1:-1:-1;;;;;2730:23:61;;;;;:38;;;;;;;;;;;;;;;:23;:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2730:38:61;2694:31;2718:6;2694:23;:31::i;:::-;:35;;:75::i;:::-;2545:23;:238::i;3352:337::-;3491:22;3542:51;3570:5;3577:6;3585:7;3542:27;:51::i;:::-;3525:68;-1:-1:-1;3603:47:61;-1:-1:-1;;;;;3603:26:61;;3630:3;3525:68;3603:26;:47::i;:::-;3352:337;;;;;;:::o;5139:832::-;5256:28;5299:9;5294:574;5314:6;:13;5310:1;:17;5294:574;;;5418:9;;5439:1;;5418:6;;5425:1;;5418:9;;;;;;;;;;;;-1:-1:-1;;;;;5418:23:61;;;5410:63;;;;;-1:-1:-1;;;5410:63:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;5508:1;5504:5;;5487:147;5515:6;:13;5511:1;:17;5487:147;;;5574:6;5581:1;5574:9;;;;;;;;;;;;;;-1:-1:-1;;;;;5561:22:61;:6;5568:1;5561:9;;;;;;;;;;;;;;-1:-1:-1;;;;;5561:22:61;;;5553:66;;;;;-1:-1:-1;;;5553:66:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;5530:3;;5487:147;;;;5683:17;5701:1;5683:20;;;;;;;;;;;;;;5648:21;:32;5670:6;5677:1;5670:9;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5648:32:61;;;;;;;;;;;-1:-1:-1;5648:32:61;:55;5765:20;;5740:46;;5765:17;;5783:1;;5765:20;;;;;;;;;;;;5740;:24;;:46;;;;:::i;:::-;5717:69;;5825:6;5832:1;5825:9;;;;;;;;;;;;;;-1:-1:-1;;;;;5806:51:61;;5836:17;5854:1;5836:20;;;;;;;;;;;;;;5806:51;;;;;;;;;;;;;;;;;;5329:3;;5294:574;;;;1046:5;5885:20;:43;5877:87;;;;;-1:-1:-1;;;5877:87:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;5139:832;;;:::o;3788:1150::-;3921:22;3955:23;3981:31;4005:6;3981:23;:31::i;:::-;3955:57;;4022:25;4050:40;4076:5;4083:6;4050:25;:40::i;:::-;4150:38;;;-1:-1:-1;;;4150:38:61;;4182:4;4150:38;;;;;;4022:68;;-1:-1:-1;4101:26:61;;4130:59;;-1:-1:-1;;;;;4150:23:61;;;;;:38;;;;;;;;;;;;;;;:23;:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4150:38:61;4130:15;;:19;:59::i;:::-;4101:88;;4199:27;4229:142;4266:32;4292:5;4266:25;:32::i;:::-;4312:17;4343:18;4229:23;:142::i;:::-;4199:172;-1:-1:-1;;;4386:28:61;;4382:245;;;4447:19;4430:36;;4382:245;;;4516:19;4505:7;:30;;4497:80;;;;-1:-1:-1;;;4497:80:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4609:7;4592:24;;4382:245;4717:35;:15;4737:14;4717:19;:35::i;:::-;-1:-1:-1;;;;;4684:30:61;;:22;:30;;;;;;;;;;:68;4803:37;:17;4825:14;4803:21;:37::i;:::-;-1:-1:-1;;;;;4762:30:61;;;;;;;:23;:30;;;;;;;;:38;;;;;;;;;;;;;:78;;;;4856:43;;;;;;;4762:38;;:30;;4856:43;;;;;;;;;;;4910:21;;;;3788:1150;;;;;:::o;2690:175:442:-;2748:7;2779:5;;;2802:6;;;;2794:46;;;;;-1:-1:-1;;;2794:46:442;;;;;;;;;;;;;;;;;;;;;;;;;;;2882:428:61;3058:21;;3132:99;1046:5;3132:61;:19;3169:23;3132:36;:61::i;:::-;:78;;:99::i;:::-;3091:140;-1:-1:-1;3249:54:61;3091:140;3284:18;3249:34;:54::i;:::-;3242:61;2882:428;-1:-1:-1;;;;;2882:428:61:o;704:175:450:-;813:58;;;-1:-1:-1;;;;;813:58:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;813:58:450;-1:-1:-1;;;813:58:450;;;786:86;;806:5;;786:19;:86::i;3538:215:442:-;3596:7;3619:6;3615:20;;-1:-1:-1;3634:1:442;3627:8;;3615:20;3657:5;;;3661:1;3657;:5;:1;3680:5;;;;;:10;3672:56;;;;-1:-1:-1;;;3672:56:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4217:150;4275:7;4306:1;4302;:5;4294:44;;;;;-1:-1:-1;;;4294:44:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;4359:1;4355;:5;;;;;;;4217:150;-1:-1:-1;;;4217:150:442:o;3136:155::-;3194:7;3226:1;3221;:6;;3213:49;;;;;-1:-1:-1;;;3213:49:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3279:5:442;;;3136:155::o;2967:751:450:-;3412:69;;;;;;;;;;;;;;;;;;3386:23;;3412:69;;-1:-1:-1;;;;;3412:27:450;;;3440:4;;3412:27;:69::i;:::-;3495:17;;3386:95;;-1:-1:-1;3495:21:450;3491:221;;3635:10;3624:30;;;;;;;;;;;;;;;-1:-1:-1;3624:30:450;3616:85;;;;-1:-1:-1;;;3616:85:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3581:193:451;3684:12;3715:52;3737:6;3745:4;3751:1;3754:12;3684;4858:18;4869:6;4858:10;:18::i;:::-;4850:60;;;;;-1:-1:-1;;;4850:60:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;4981:12;4995:23;5022:6;-1:-1:-1;;;;;5022:11:451;5042:5;5050:4;5022:33;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5022:33:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4980:75;;;;5072:52;5090:7;5099:10;5111:12;5072:17;:52::i;:::-;5065:59;4608:523;-1:-1:-1;;;;;;;4608:523:451:o;726:413::-;1086:20;1124:8;;;726:413::o;7091:725::-;7206:12;7234:7;7230:580;;;-1:-1:-1;7264:10:451;7257:17;;7230:580;7375:17;;:21;7371:429;;7633:10;7627:17;7693:15;7680:10;7676:2;7672:19;7665:44;7582:145;7765:20;;-1:-1:-1;;;7765:20:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7765:20:451;;;;;;;;;;;;;;;", "linkReferences": {}, "immutableReferences": { "7520": [ { "start": 1249, "length": 32 } ], "7522": [ { "start": 859, "length": 32 } ] } }, "methodIdentifiers": { "claimToken(address)": "32f289cf", "claimTokenAmountTo(address,uint256,address)": "0f0ee54c", "getSplitPercentageForUser(address)": "8a3503fa", "getTokenBalClaimableForUser(address,address)": "cb482df6", "getTokenBalClaimedForUser(address,address)": "41898182", "getTotalTokenBalClaimed(address)": "0cffb185", "init(address[],uint256[])": "371aa158", "redeemShares(address,uint256,address,bytes4,bytes)": "c91995a3" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_globalConfigProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_initializer\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"percentage\",\"type\":\"uint256\"}],\"name\":\"SplitPercentageSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"TokenClaimed\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"}],\"name\":\"claimToken\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"claimedAmount_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"}],\"name\":\"claimTokenAmountTo\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"claimedAmount_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"getSplitPercentageForUser\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"splitPercentage_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"}],\"name\":\"getTokenBalClaimableForUser\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balClaimable_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"}],\"name\":\"getTokenBalClaimedForUser\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balClaimed_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"}],\"name\":\"getTotalTokenBalClaimed\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"totalBalClaimed_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_users\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"_splitPercentages\",\"type\":\"uint256[]\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_redeemContract\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"_redeemSelector\",\"type\":\"bytes4\"},{\"internalType\":\"bytes\",\"name\":\"_redeemData\",\"type\":\"bytes\"}],\"name\":\"redeemShares\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"sharesRedeemed_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"claimToken(address)\":{\"params\":{\"_token\":\"The token to claim\"},\"returns\":{\"claimedAmount_\":\"The token amount claimed\"}},\"claimTokenAmountTo(address,uint256,address)\":{\"params\":{\"_amount\":\"The amount to claim\",\"_to\":\"The recipient of the claimed token\",\"_token\":\"The token to claim\"},\"returns\":{\"claimedAmount_\":\"The token amount claimed\"}},\"getSplitPercentageForUser(address)\":{\"params\":{\"_user\":\"The user\"},\"returns\":{\"splitPercentage_\":\"The split percentage\"}},\"getTokenBalClaimableForUser(address,address)\":{\"params\":{\"_token\":\"The token\",\"_user\":\"The user\"},\"returns\":{\"balClaimable_\":\"The claimable token balance\"}},\"getTokenBalClaimedForUser(address,address)\":{\"params\":{\"_token\":\"The token\",\"_user\":\"The user\"},\"returns\":{\"balClaimed_\":\"The balance claimed\"}},\"getTotalTokenBalClaimed(address)\":{\"params\":{\"_token\":\"The token\"},\"returns\":{\"totalBalClaimed_\":\"The total balance claimed\"}},\"init(address[],uint256[])\":{\"details\":\"Validating via INITIALIZER makes deployments cheaper than storing `bool initialized`, but INITIALIZER must be trusted to not call more than once.\",\"params\":{\"_splitPercentages\":\"The ordered split percentages corresponding to _users\",\"_users\":\"The users to give a split percentage\"}},\"redeemShares(address,uint256,address,bytes4,bytes)\":{\"params\":{\"_amount\":\"The desired amount of shares to claim and redeem\",\"_redeemContract\":\"The contract to call to redeem\",\"_redeemData\":\"The encoded params with which to call _redeemSelector\",\"_redeemSelector\":\"The selector to call on _redeemContract\",\"_vaultProxy\":\"The VaultProxy (shares token)\"},\"returns\":{\"sharesRedeemed_\":\"The number of shares redeemed\"}}},\"title\":\"SharesSplitterLib Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"claimToken(address)\":{\"notice\":\"Claims the full amount of a specified token\"},\"claimTokenAmountTo(address,uint256,address)\":{\"notice\":\"Claims a specified token amount to a specified address\"},\"getSplitPercentageForUser(address)\":{\"notice\":\"Gets the split ratio percentage for a given user\"},\"getTokenBalClaimableForUser(address,address)\":{\"notice\":\"Gets the token balance claimable for a specified user\"},\"getTokenBalClaimedForUser(address,address)\":{\"notice\":\"Gets the token balance already claimed for a given user\"},\"getTotalTokenBalClaimed(address)\":{\"notice\":\"Gets the total token balance already claimed\"},\"init(address[],uint256[])\":{\"notice\":\"Initializes the proxy\"},\"redeemShares(address,uint256,address,bytes4,bytes)\":{\"notice\":\"Claims and redeems shares as specified\"}},\"notice\":\"Library contract for a SharesSplitter\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/shares-splitter/SharesSplitterLib.sol\":\"SharesSplitterLib\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/global-config/interfaces/IGlobalConfig1.sol\":{\"keccak256\":\"0x7b643513fd8e1a3aadc476536785a925fb7c032c21e385e69e562abff531a646\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://682cce7a4c7316ab7aa39361dff84646ba8c89ad26f2c706a4b2940f8ab27205\",\"dweb:/ipfs/QmTtyfPn3M8ErCs8zuhT4NrZiL4CAUyv37os37HebYuGA8\"]},\"contracts/persistent/shares-splitter/SharesSplitterLib.sol\":{\"keccak256\":\"0x63fb4f6dc3427ee8968a29fff54e07efa36ee10d9cd286bd1aeb1658aa3cbedd\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a818f483fe67b9f5718b56e4f7ec65f239fa5f0a7fd7b8305b2a899bfc507252\",\"dweb:/ipfs/QmamfKKLetAmQZvFWjgVqRrRmkTDMnXwjDuYoRTD62NsNw\"]},\"contracts/persistent/shares-splitter/TreasurySplitterMixin.sol\":{\"keccak256\":\"0x5884f1ae25251dc7727e7f019760b69a1e851c4d681bf91492af521bf4f74057\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3694db028974441238d79f22e85f69f89a8efa0906d30e7b4a34aad8a21f7790\",\"dweb:/ipfs/QmQPhjhosPL4S2E8tvq6ZKbp267DXLAyE145J7WVHGJhKa\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_globalConfigProxy", "type": "address" }, { "internalType": "address", "name": "_initializer", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "user", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "percentage", "type": "uint256", "indexed": false } ], "type": "event", "name": "SplitPercentageSet", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "user", "type": "address", "indexed": true }, { "internalType": "address", "name": "token", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "amount", "type": "uint256", "indexed": false } ], "type": "event", "name": "TokenClaimed", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "_token", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "claimToken", "outputs": [ { "internalType": "uint256", "name": "claimedAmount_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "_token", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" }, { "internalType": "address", "name": "_to", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "claimTokenAmountTo", "outputs": [ { "internalType": "uint256", "name": "claimedAmount_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "_user", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getSplitPercentageForUser", "outputs": [ { "internalType": "uint256", "name": "splitPercentage_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "_user", "type": "address" }, { "internalType": "address", "name": "_token", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getTokenBalClaimableForUser", "outputs": [ { "internalType": "uint256", "name": "balClaimable_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "_user", "type": "address" }, { "internalType": "address", "name": "_token", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getTokenBalClaimedForUser", "outputs": [ { "internalType": "uint256", "name": "balClaimed_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "_token", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getTotalTokenBalClaimed", "outputs": [ { "internalType": "uint256", "name": "totalBalClaimed_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address[]", "name": "_users", "type": "address[]" }, { "internalType": "uint256[]", "name": "_splitPercentages", "type": "uint256[]" } ], "stateMutability": "nonpayable", "type": "function", "name": "init" }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" }, { "internalType": "address", "name": "_redeemContract", "type": "address" }, { "internalType": "bytes4", "name": "_redeemSelector", "type": "bytes4" }, { "internalType": "bytes", "name": "_redeemData", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "redeemShares", "outputs": [ { "internalType": "uint256", "name": "sharesRedeemed_", "type": "uint256" } ] } ], "devdoc": { "kind": "dev", "methods": { "claimToken(address)": { "params": { "_token": "The token to claim" }, "returns": { "claimedAmount_": "The token amount claimed" } }, "claimTokenAmountTo(address,uint256,address)": { "params": { "_amount": "The amount to claim", "_to": "The recipient of the claimed token", "_token": "The token to claim" }, "returns": { "claimedAmount_": "The token amount claimed" } }, "getSplitPercentageForUser(address)": { "params": { "_user": "The user" }, "returns": { "splitPercentage_": "The split percentage" } }, "getTokenBalClaimableForUser(address,address)": { "params": { "_token": "The token", "_user": "The user" }, "returns": { "balClaimable_": "The claimable token balance" } }, "getTokenBalClaimedForUser(address,address)": { "params": { "_token": "The token", "_user": "The user" }, "returns": { "balClaimed_": "The balance claimed" } }, "getTotalTokenBalClaimed(address)": { "params": { "_token": "The token" }, "returns": { "totalBalClaimed_": "The total balance claimed" } }, "init(address[],uint256[])": { "details": "Validating via INITIALIZER makes deployments cheaper than storing `bool initialized`, but INITIALIZER must be trusted to not call more than once.", "params": { "_splitPercentages": "The ordered split percentages corresponding to _users", "_users": "The users to give a split percentage" } }, "redeemShares(address,uint256,address,bytes4,bytes)": { "params": { "_amount": "The desired amount of shares to claim and redeem", "_redeemContract": "The contract to call to redeem", "_redeemData": "The encoded params with which to call _redeemSelector", "_redeemSelector": "The selector to call on _redeemContract", "_vaultProxy": "The VaultProxy (shares token)" }, "returns": { "sharesRedeemed_": "The number of shares redeemed" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "claimToken(address)": { "notice": "Claims the full amount of a specified token" }, "claimTokenAmountTo(address,uint256,address)": { "notice": "Claims a specified token amount to a specified address" }, "getSplitPercentageForUser(address)": { "notice": "Gets the split ratio percentage for a given user" }, "getTokenBalClaimableForUser(address,address)": { "notice": "Gets the token balance claimable for a specified user" }, "getTokenBalClaimedForUser(address,address)": { "notice": "Gets the token balance already claimed for a given user" }, "getTotalTokenBalClaimed(address)": { "notice": "Gets the total token balance already claimed" }, "init(address[],uint256[])": { "notice": "Initializes the proxy" }, "redeemShares(address,uint256,address,bytes4,bytes)": { "notice": "Claims and redeems shares as specified" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/persistent/shares-splitter/SharesSplitterLib.sol": "SharesSplitterLib" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/dispatcher/IDispatcher.sol": { "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", "urls": [ "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" ], "license": "GPL-3.0" }, "contracts/persistent/global-config/interfaces/IGlobalConfig1.sol": { "keccak256": "0x7b643513fd8e1a3aadc476536785a925fb7c032c21e385e69e562abff531a646", "urls": [ "bzz-raw://682cce7a4c7316ab7aa39361dff84646ba8c89ad26f2c706a4b2940f8ab27205", "dweb:/ipfs/QmTtyfPn3M8ErCs8zuhT4NrZiL4CAUyv37os37HebYuGA8" ], "license": "GPL-3.0" }, "contracts/persistent/shares-splitter/SharesSplitterLib.sol": { "keccak256": "0x63fb4f6dc3427ee8968a29fff54e07efa36ee10d9cd286bd1aeb1658aa3cbedd", "urls": [ "bzz-raw://a818f483fe67b9f5718b56e4f7ec65f239fa5f0a7fd7b8305b2a899bfc507252", "dweb:/ipfs/QmamfKKLetAmQZvFWjgVqRrRmkTDMnXwjDuYoRTD62NsNw" ], "license": "GPL-3.0" }, "contracts/persistent/shares-splitter/TreasurySplitterMixin.sol": { "keccak256": "0x5884f1ae25251dc7727e7f019760b69a1e851c4d681bf91492af521bf4f74057", "urls": [ "bzz-raw://3694db028974441238d79f22e85f69f89a8efa0906d30e7b4a34aad8a21f7790", "dweb:/ipfs/QmQPhjhosPL4S2E8tvq6ZKbp267DXLAyE145J7WVHGJhKa" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", "urls": [ "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Address.sol": { "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", "urls": [ "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" } }, "version": 1 }, "id": 59 } diff --git a/eth_defi/abi/enzyme/SharesSplitterProxy.json b/eth_defi/abi/enzyme/SharesSplitterProxy.json index b1bbd03a..5166c0e9 100644 --- a/eth_defi/abi/enzyme/SharesSplitterProxy.json +++ b/eth_defi/abi/enzyme/SharesSplitterProxy.json @@ -1,137 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "bytes", - "name": "_constructData", - "type": "bytes" - }, - { - "internalType": "address", - "name": "_sharesSplitterLib", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "stateMutability": "payable", - "type": "fallback" - } - ], - "bytecode": { - "object": "0x60a060405234801561001057600080fd5b506040516102e03803806102e08339818101604052604081101561003357600080fd5b810190808051604051939291908464010000000082111561005357600080fd5b90830190602082018581111561006857600080fd5b825164010000000081118282018810171561008257600080fd5b82525081516020918201929091019080838360005b838110156100af578181015183820152602001610097565b50505050905090810190601f1680156100dc5780820380516001836020036101000a031916815260200191505b50604052602001805190602001909291905050508181806001600160a01b03166080816001600160a01b031660601b81525050807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5560006060826001600160a01b0316846040518082805190602001908083835b602083106101705780518252601f199092019160209182019101610151565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d80600081146101d0576040519150601f19603f3d011682016040523d82523d6000602084013e6101d5565b606091505b50915091508181906102655760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561022a578181015183820152602001610212565b50505050905090810190601f1680156102575780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5050505050505060805160601c605a6102866000398060065250605a6000f3fe60806040527f00000000000000000000000000000000000000000000000000000000000000003660008037600080366000846127105a03f43d806000803e818015604857816000f35b816000fdfea164736f6c634300060c000a", - "sourceMap": "494:212:60:-:0;;;551:153;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;551:153:60;;;;;;;;;;-1:-1:-1;551:153:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;551:153:60;;;;;;;;;925:31:362;;;;-1:-1:-1;;925:31:362;;;1110:66;1086:136;;;1283:43;;551:153:60;;-1:-1:-1;1283:43:362;;-1:-1:-1;551:153:60;;1242:12:362;;925:31;;-1:-1:-1;;;;;925:31:362;;;1283:43;;551:153:60;;;;1283:43:362;;;;551:153:60;1283:43:362;;;;;;;;;;;-1:-1:-1;;1283:43:362;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1241:85;;;;1344:7;1360:10;1336:36;;;;;-1:-1:-1;;;1336:36:362;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;843:536;;;;551:153:60;;494:212;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x60806040527f00000000000000000000000000000000000000000000000000000000000000003660008037600080366000846127105a03f43d806000803e818015604857816000f35b816000fdfea164736f6c634300060c000a", - "sourceMap": "494:212:60:-:0;;;1500:14:362;1571;1476:21;;1548:38;1782:1;1763;1731:14;1710:3;1679:13;1655:5;1648;1644:17;1614:183;1823:16;1873:5;1870:1;1867;1852:27;1899:7;1919:55;;;;2023:5;2020:1;2013:16;1919:55;1954:5;1951:1;1944:16", - "linkReferences": {}, - "immutableReferences": { - "78944": [ - { - "start": 6, - "length": 32 - } - ] - } - }, - "methodIdentifiers": {}, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_constructData\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"_sharesSplitterLib\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"stateMutability\":\"payable\",\"type\":\"fallback\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"SharesSplitterProxy Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"A proxy contract for all SharesSplitterProxy instances\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/shares-splitter/SharesSplitterProxy.sol\":\"SharesSplitterProxy\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/shares-splitter/SharesSplitterProxy.sol\":{\"keccak256\":\"0xc24322890ac52cb524bcc629c003a19eff8925c9416d9ae20a5d8723fa95018f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2c398c4ab1a57b8a23ad22459099c6813672e756710c74c79acb0afa95d3f394\",\"dweb:/ipfs/QmawnvMvJt11hADMmmZVWXAE7S6STYby25v2JuzHviwMYC\"]},\"contracts/release/utils/NonUpgradableProxy.sol\":{\"keccak256\":\"0x7d70145a2a0ff8c36318b23ac6ca662f133584dd823933230c66143b89e2d53d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b05ea625a428fdf3f908db3e97a358a4117d4998abde806ba3839c7fad821bca\",\"dweb:/ipfs/QmSLzFT1ktLTZ7rAKYjcg6dBRuxVMzrGXjGJSsH5nSVx2G\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "bytes", - "name": "_constructData", - "type": "bytes" - }, - { - "internalType": "address", - "name": "_sharesSplitterLib", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "stateMutability": "payable", - "type": "fallback" - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/persistent/shares-splitter/SharesSplitterProxy.sol": "SharesSplitterProxy" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/shares-splitter/SharesSplitterProxy.sol": { - "keccak256": "0xc24322890ac52cb524bcc629c003a19eff8925c9416d9ae20a5d8723fa95018f", - "urls": [ - "bzz-raw://2c398c4ab1a57b8a23ad22459099c6813672e756710c74c79acb0afa95d3f394", - "dweb:/ipfs/QmawnvMvJt11hADMmmZVWXAE7S6STYby25v2JuzHviwMYC" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/NonUpgradableProxy.sol": { - "keccak256": "0x7d70145a2a0ff8c36318b23ac6ca662f133584dd823933230c66143b89e2d53d", - "urls": [ - "bzz-raw://b05ea625a428fdf3f908db3e97a358a4117d4998abde806ba3839c7fad821bca", - "dweb:/ipfs/QmSLzFT1ktLTZ7rAKYjcg6dBRuxVMzrGXjGJSsH5nSVx2G" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 60 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_constructData", "type": "bytes", "internalType": "bytes" }, { "name": "_sharesSplitterLib", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "fallback", "stateMutability": "payable" } ], "bytecode": { "object": "0x60a060405234801561001057600080fd5b506040516102e03803806102e08339818101604052604081101561003357600080fd5b810190808051604051939291908464010000000082111561005357600080fd5b90830190602082018581111561006857600080fd5b825164010000000081118282018810171561008257600080fd5b82525081516020918201929091019080838360005b838110156100af578181015183820152602001610097565b50505050905090810190601f1680156100dc5780820380516001836020036101000a031916815260200191505b50604052602001805190602001909291905050508181806001600160a01b03166080816001600160a01b031660601b81525050807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5560006060826001600160a01b0316846040518082805190602001908083835b602083106101705780518252601f199092019160209182019101610151565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d80600081146101d0576040519150601f19603f3d011682016040523d82523d6000602084013e6101d5565b606091505b50915091508181906102655760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561022a578181015183820152602001610212565b50505050905090810190601f1680156102575780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5050505050505060805160601c605a6102866000398060065250605a6000f3fe60806040527f00000000000000000000000000000000000000000000000000000000000000003660008037600080366000846127105a03f43d806000803e818015604857816000f35b816000fdfea164736f6c634300060c000a", "sourceMap": "494:212:60:-:0;;;551:153;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;551:153:60;;;;;;;;;;-1:-1:-1;551:153:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;551:153:60;;;;;;;;;925:31:362;;;;-1:-1:-1;;925:31:362;;;1110:66;1086:136;;;1283:43;;551:153:60;;-1:-1:-1;1283:43:362;;-1:-1:-1;551:153:60;;1242:12:362;;925:31;;-1:-1:-1;;;;;925:31:362;;;1283:43;;551:153:60;;;;1283:43:362;;;;551:153:60;1283:43:362;;;;;;;;;;;-1:-1:-1;;1283:43:362;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1241:85;;;;1344:7;1360:10;1336:36;;;;;-1:-1:-1;;;1336:36:362;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;843:536;;;;551:153:60;;494:212;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x60806040527f00000000000000000000000000000000000000000000000000000000000000003660008037600080366000846127105a03f43d806000803e818015604857816000f35b816000fdfea164736f6c634300060c000a", "sourceMap": "494:212:60:-:0;;;1500:14:362;1571;1476:21;;1548:38;1782:1;1763;1731:14;1710:3;1679:13;1655:5;1648;1644:17;1614:183;1823:16;1873:5;1870:1;1867;1852:27;1899:7;1919:55;;;;2023:5;2020:1;2013:16;1919:55;1954:5;1951:1;1944:16", "linkReferences": {}, "immutableReferences": { "78944": [ { "start": 6, "length": 32 } ] } }, "methodIdentifiers": {}, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_constructData\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"_sharesSplitterLib\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"stateMutability\":\"payable\",\"type\":\"fallback\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"SharesSplitterProxy Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"A proxy contract for all SharesSplitterProxy instances\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/shares-splitter/SharesSplitterProxy.sol\":\"SharesSplitterProxy\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/shares-splitter/SharesSplitterProxy.sol\":{\"keccak256\":\"0xc24322890ac52cb524bcc629c003a19eff8925c9416d9ae20a5d8723fa95018f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2c398c4ab1a57b8a23ad22459099c6813672e756710c74c79acb0afa95d3f394\",\"dweb:/ipfs/QmawnvMvJt11hADMmmZVWXAE7S6STYby25v2JuzHviwMYC\"]},\"contracts/release/utils/NonUpgradableProxy.sol\":{\"keccak256\":\"0x7d70145a2a0ff8c36318b23ac6ca662f133584dd823933230c66143b89e2d53d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b05ea625a428fdf3f908db3e97a358a4117d4998abde806ba3839c7fad821bca\",\"dweb:/ipfs/QmSLzFT1ktLTZ7rAKYjcg6dBRuxVMzrGXjGJSsH5nSVx2G\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "bytes", "name": "_constructData", "type": "bytes" }, { "internalType": "address", "name": "_sharesSplitterLib", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "stateMutability": "payable", "type": "fallback" } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/persistent/shares-splitter/SharesSplitterProxy.sol": "SharesSplitterProxy" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/shares-splitter/SharesSplitterProxy.sol": { "keccak256": "0xc24322890ac52cb524bcc629c003a19eff8925c9416d9ae20a5d8723fa95018f", "urls": [ "bzz-raw://2c398c4ab1a57b8a23ad22459099c6813672e756710c74c79acb0afa95d3f394", "dweb:/ipfs/QmawnvMvJt11hADMmmZVWXAE7S6STYby25v2JuzHviwMYC" ], "license": "GPL-3.0" }, "contracts/release/utils/NonUpgradableProxy.sol": { "keccak256": "0x7d70145a2a0ff8c36318b23ac6ca662f133584dd823933230c66143b89e2d53d", "urls": [ "bzz-raw://b05ea625a428fdf3f908db3e97a358a4117d4998abde806ba3839c7fad821bca", "dweb:/ipfs/QmSLzFT1ktLTZ7rAKYjcg6dBRuxVMzrGXjGJSsH5nSVx2G" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 60 } diff --git a/eth_defi/abi/enzyme/SharesTokenBase.json b/eth_defi/abi/enzyme/SharesTokenBase.json index c34ccdec..24f676d4 100644 --- a/eth_defi/abi/enzyme/SharesTokenBase.json +++ b/eth_defi/abi/enzyme/SharesTokenBase.json @@ -1,570 +1 @@ -{ - "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": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "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": "_recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_sender", - "type": "address" - }, - { - "internalType": "address", - "name": "_recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "allowance(address,address)": "dd62ed3e", - "approve(address,uint256)": "095ea7b3", - "balanceOf(address)": "70a08231", - "decimals()": "313ce567", - "name()": "06fdde03", - "symbol()": "95d89b41", - "totalSupply()": "18160ddd", - "transfer(address,uint256)": "a9059cbb", - "transferFrom(address,address,uint256)": "23b872dd" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"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\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"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\":\"_recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"The logic can be overridden by VaultLib implementations. Adapted from OpenZeppelin 3.2.0. DO NOT EDIT THIS CONTRACT.\",\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"Standard implementation of ERC20's allowance(). Can be overridden.\"},\"approve(address,uint256)\":{\"details\":\"Standard implementation of ERC20's approve(). Can be overridden.\"},\"balanceOf(address)\":{\"details\":\"Standard implementation of ERC20's balanceOf(). Can be overridden.\"},\"decimals()\":{\"details\":\"Standard implementation of ERC20's decimals(). Can not be overridden.\"},\"name()\":{\"details\":\"Standard implementation of ERC20's name(). Can be overridden.\"},\"symbol()\":{\"details\":\"Standard implementation of ERC20's symbol(). Can be overridden.\"},\"totalSupply()\":{\"details\":\"Standard implementation of ERC20's totalSupply(). Can be overridden.\"},\"transfer(address,uint256)\":{\"details\":\"Standard implementation of ERC20's transfer(). Can be overridden.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Standard implementation of ERC20's transferFrom(). Can be overridden.\"}},\"title\":\"StandardERC20 Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Contains the storage, events, and default logic of an ERC20-compliant contract.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/vault/utils/SharesTokenBase.sol\":\"SharesTokenBase\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/vault/utils/SharesTokenBase.sol\":{\"keccak256\":\"0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8\",\"dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4\"]},\"contracts/persistent/vault/utils/VaultLibSafeMath.sol\":{\"keccak256\":\"0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02\",\"dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "spender", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "Approval", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "to", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "Transfer", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - }, - { - "internalType": "address", - "name": "_spender", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_account", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "pure", - "type": "function", - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_sender", - "type": "address" - }, - { - "internalType": "address", - "name": "_recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "allowance(address,address)": { - "details": "Standard implementation of ERC20's allowance(). Can be overridden." - }, - "approve(address,uint256)": { - "details": "Standard implementation of ERC20's approve(). Can be overridden." - }, - "balanceOf(address)": { - "details": "Standard implementation of ERC20's balanceOf(). Can be overridden." - }, - "decimals()": { - "details": "Standard implementation of ERC20's decimals(). Can not be overridden." - }, - "name()": { - "details": "Standard implementation of ERC20's name(). Can be overridden." - }, - "symbol()": { - "details": "Standard implementation of ERC20's symbol(). Can be overridden." - }, - "totalSupply()": { - "details": "Standard implementation of ERC20's totalSupply(). Can be overridden." - }, - "transfer(address,uint256)": { - "details": "Standard implementation of ERC20's transfer(). Can be overridden." - }, - "transferFrom(address,address,uint256)": { - "details": "Standard implementation of ERC20's transferFrom(). Can be overridden." - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/persistent/vault/utils/SharesTokenBase.sol": "SharesTokenBase" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/vault/utils/SharesTokenBase.sol": { - "keccak256": "0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113", - "urls": [ - "bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8", - "dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/utils/VaultLibSafeMath.sol": { - "keccak256": "0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d", - "urls": [ - "bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02", - "dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 75 -} +{ "abi": [ { "type": "function", "name": "allowance", "inputs": [ { "name": "_owner", "type": "address", "internalType": "address" }, { "name": "_spender", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "approve", "inputs": [ { "name": "_spender", "type": "address", "internalType": "address" }, { "name": "_amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "balanceOf", "inputs": [ { "name": "_account", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "decimals", "inputs": [], "outputs": [ { "name": "", "type": "uint8", "internalType": "uint8" } ], "stateMutability": "pure" }, { "type": "function", "name": "name", "inputs": [], "outputs": [ { "name": "", "type": "string", "internalType": "string" } ], "stateMutability": "view" }, { "type": "function", "name": "symbol", "inputs": [], "outputs": [ { "name": "", "type": "string", "internalType": "string" } ], "stateMutability": "view" }, { "type": "function", "name": "totalSupply", "inputs": [], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "transfer", "inputs": [ { "name": "_recipient", "type": "address", "internalType": "address" }, { "name": "_amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "transferFrom", "inputs": [ { "name": "_sender", "type": "address", "internalType": "address" }, { "name": "_recipient", "type": "address", "internalType": "address" }, { "name": "_amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "event", "name": "Approval", "inputs": [ { "name": "owner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "spender", "type": "address", "indexed": true, "internalType": "address" }, { "name": "value", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "Transfer", "inputs": [ { "name": "from", "type": "address", "indexed": true, "internalType": "address" }, { "name": "to", "type": "address", "indexed": true, "internalType": "address" }, { "name": "value", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "allowance(address,address)": "dd62ed3e", "approve(address,uint256)": "095ea7b3", "balanceOf(address)": "70a08231", "decimals()": "313ce567", "name()": "06fdde03", "symbol()": "95d89b41", "totalSupply()": "18160ddd", "transfer(address,uint256)": "a9059cbb", "transferFrom(address,address,uint256)": "23b872dd" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"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\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"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\":\"_recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"The logic can be overridden by VaultLib implementations. Adapted from OpenZeppelin 3.2.0. DO NOT EDIT THIS CONTRACT.\",\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"Standard implementation of ERC20's allowance(). Can be overridden.\"},\"approve(address,uint256)\":{\"details\":\"Standard implementation of ERC20's approve(). Can be overridden.\"},\"balanceOf(address)\":{\"details\":\"Standard implementation of ERC20's balanceOf(). Can be overridden.\"},\"decimals()\":{\"details\":\"Standard implementation of ERC20's decimals(). Can not be overridden.\"},\"name()\":{\"details\":\"Standard implementation of ERC20's name(). Can be overridden.\"},\"symbol()\":{\"details\":\"Standard implementation of ERC20's symbol(). Can be overridden.\"},\"totalSupply()\":{\"details\":\"Standard implementation of ERC20's totalSupply(). Can be overridden.\"},\"transfer(address,uint256)\":{\"details\":\"Standard implementation of ERC20's transfer(). Can be overridden.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Standard implementation of ERC20's transferFrom(). Can be overridden.\"}},\"title\":\"StandardERC20 Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Contains the storage, events, and default logic of an ERC20-compliant contract.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/vault/utils/SharesTokenBase.sol\":\"SharesTokenBase\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/vault/utils/SharesTokenBase.sol\":{\"keccak256\":\"0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8\",\"dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4\"]},\"contracts/persistent/vault/utils/VaultLibSafeMath.sol\":{\"keccak256\":\"0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02\",\"dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "owner", "type": "address", "indexed": true }, { "internalType": "address", "name": "spender", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "value", "type": "uint256", "indexed": false } ], "type": "event", "name": "Approval", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address", "indexed": true }, { "internalType": "address", "name": "to", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "value", "type": "uint256", "indexed": false } ], "type": "event", "name": "Transfer", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "_owner", "type": "address" }, { "internalType": "address", "name": "_spender", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "_spender", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "_account", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "pure", "type": "function", "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "_recipient", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "_sender", "type": "address" }, { "internalType": "address", "name": "_recipient", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] } ], "devdoc": { "kind": "dev", "methods": { "allowance(address,address)": { "details": "Standard implementation of ERC20's allowance(). Can be overridden." }, "approve(address,uint256)": { "details": "Standard implementation of ERC20's approve(). Can be overridden." }, "balanceOf(address)": { "details": "Standard implementation of ERC20's balanceOf(). Can be overridden." }, "decimals()": { "details": "Standard implementation of ERC20's decimals(). Can not be overridden." }, "name()": { "details": "Standard implementation of ERC20's name(). Can be overridden." }, "symbol()": { "details": "Standard implementation of ERC20's symbol(). Can be overridden." }, "totalSupply()": { "details": "Standard implementation of ERC20's totalSupply(). Can be overridden." }, "transfer(address,uint256)": { "details": "Standard implementation of ERC20's transfer(). Can be overridden." }, "transferFrom(address,address,uint256)": { "details": "Standard implementation of ERC20's transferFrom(). Can be overridden." } }, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/persistent/vault/utils/SharesTokenBase.sol": "SharesTokenBase" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/vault/utils/SharesTokenBase.sol": { "keccak256": "0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113", "urls": [ "bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8", "dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4" ], "license": "GPL-3.0" }, "contracts/persistent/vault/utils/VaultLibSafeMath.sol": { "keccak256": "0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d", "urls": [ "bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02", "dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 75 } diff --git a/eth_defi/abi/enzyme/SignedSafeMath.json b/eth_defi/abi/enzyme/SignedSafeMath.json index f32295de..5f97fc5a 100644 --- a/eth_defi/abi/enzyme/SignedSafeMath.json +++ b/eth_defi/abi/enzyme/SignedSafeMath.json @@ -1,78 +1 @@ -{ - "abi": [], - "bytecode": { - "object": "0x602d6023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c634300060c000a", - "sourceMap": "171:2495:443:-:0;;;;;;;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c634300060c000a", - "sourceMap": "171:2495:443:-:0;;;;;;;;", - "linkReferences": {} - }, - "methodIdentifiers": {}, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Signed math operations with safety checks that revert on error.\",\"kind\":\"dev\",\"methods\":{},\"title\":\"SignedSafeMath\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@openzeppelin/contracts/math/SignedSafeMath.sol\":\"SignedSafeMath\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"node_modules/@openzeppelin/contracts/math/SignedSafeMath.sol\":{\"keccak256\":\"0xd17ac7e1d8f83d20d80e652adfed83da122f3a3c7b69fefa2985d85aebf0a3e9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://64e13936e5e7382737f9c12918f5365fd9e68bf96e83d66f3323f47b1d7162c7\",\"dweb:/ipfs/Qmd2qkUCFdpAXJ6NNTkPxmkKaPzYYmeBhDey8N8XN39wqw\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "node_modules/@openzeppelin/contracts/math/SignedSafeMath.sol": "SignedSafeMath" - }, - "libraries": {} - }, - "sources": { - "node_modules/@openzeppelin/contracts/math/SignedSafeMath.sol": { - "keccak256": "0xd17ac7e1d8f83d20d80e652adfed83da122f3a3c7b69fefa2985d85aebf0a3e9", - "urls": [ - "bzz-raw://64e13936e5e7382737f9c12918f5365fd9e68bf96e83d66f3323f47b1d7162c7", - "dweb:/ipfs/Qmd2qkUCFdpAXJ6NNTkPxmkKaPzYYmeBhDey8N8XN39wqw" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 443 -} +{ "abi": [], "bytecode": { "object": "0x602d6023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c634300060c000a", "sourceMap": "171:2495:443:-:0;;;;;;;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c634300060c000a", "sourceMap": "171:2495:443:-:0;;;;;;;;", "linkReferences": {} }, "methodIdentifiers": {}, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Signed math operations with safety checks that revert on error.\",\"kind\":\"dev\",\"methods\":{},\"title\":\"SignedSafeMath\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@openzeppelin/contracts/math/SignedSafeMath.sol\":\"SignedSafeMath\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"node_modules/@openzeppelin/contracts/math/SignedSafeMath.sol\":{\"keccak256\":\"0xd17ac7e1d8f83d20d80e652adfed83da122f3a3c7b69fefa2985d85aebf0a3e9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://64e13936e5e7382737f9c12918f5365fd9e68bf96e83d66f3323f47b1d7162c7\",\"dweb:/ipfs/Qmd2qkUCFdpAXJ6NNTkPxmkKaPzYYmeBhDey8N8XN39wqw\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "node_modules/@openzeppelin/contracts/math/SignedSafeMath.sol": "SignedSafeMath" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "node_modules/@openzeppelin/contracts/math/SignedSafeMath.sol": { "keccak256": "0xd17ac7e1d8f83d20d80e652adfed83da122f3a3c7b69fefa2985d85aebf0a3e9", "urls": [ "bzz-raw://64e13936e5e7382737f9c12918f5365fd9e68bf96e83d66f3323f47b1d7162c7", "dweb:/ipfs/Qmd2qkUCFdpAXJ6NNTkPxmkKaPzYYmeBhDey8N8XN39wqw" ], "license": "MIT" } }, "version": 1 }, "id": 443 } diff --git a/eth_defi/abi/enzyme/SinglePeggedDerivativePriceFeedBase.json b/eth_defi/abi/enzyme/SinglePeggedDerivativePriceFeedBase.json index ff543cdd..810a419e 100644 --- a/eth_defi/abi/enzyme/SinglePeggedDerivativePriceFeedBase.json +++ b/eth_defi/abi/enzyme/SinglePeggedDerivativePriceFeedBase.json @@ -1,347 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_derivative", - "type": "address" - }, - { - "internalType": "address", - "name": "_underlying", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_derivative", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_derivativeAmount", - "type": "uint256" - } - ], - "name": "calcUnderlyingValues", - "outputs": [ - { - "internalType": "address[]", - "name": "underlyings_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "underlyingAmounts_", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getDerivative", - "outputs": [ - { - "internalType": "address", - "name": "derivative_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getUnderlying", - "outputs": [ - { - "internalType": "address", - "name": "underlying_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_asset", - "type": "address" - } - ], - "name": "isSupportedAsset", - "outputs": [ - { - "internalType": "bool", - "name": "isSupported_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "calcUnderlyingValues(address,uint256)": "727212f6", - "getDerivative()": "6d4a681a", - "getUnderlying()": "9816f473", - "isSupportedAsset(address)": "9be918e6" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_derivative\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_underlying\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_derivative\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_derivativeAmount\",\"type\":\"uint256\"}],\"name\":\"calcUnderlyingValues\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"underlyings_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"underlyingAmounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDerivative\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"derivative_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getUnderlying\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"underlying_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"}],\"name\":\"isSupportedAsset\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isSupported_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"calcUnderlyingValues(address,uint256)\":{\"params\":{\"_derivative\":\"The derivative to convert\",\"_derivativeAmount\":\"The amount of the derivative to convert\"},\"returns\":{\"underlyingAmounts_\":\"The amount of each underlying asset for the equivalent derivative amount\",\"underlyings_\":\"The underlying assets for the _derivative\"}},\"getDerivative()\":{\"returns\":{\"derivative_\":\"The `DERIVATIVE` variable value\"}},\"getUnderlying()\":{\"returns\":{\"underlying_\":\"The `UNDERLYING` variable value\"}},\"isSupportedAsset(address)\":{\"params\":{\"_asset\":\"The asset to check\"},\"returns\":{\"isSupported_\":\"True if the asset is supported\"}}},\"title\":\"SinglePeggedDerivativePriceFeedBase Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"calcUnderlyingValues(address,uint256)\":{\"notice\":\"Converts a given amount of a derivative to its underlying asset values\"},\"getDerivative()\":{\"notice\":\"Gets the `DERIVATIVE` variable value\"},\"getUnderlying()\":{\"notice\":\"Gets the `UNDERLYING` variable value\"},\"isSupportedAsset(address)\":{\"notice\":\"Checks if an asset is supported by the price feed\"}},\"notice\":\"Price feed base for any single derivative that is pegged 1:1 to its underlying\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/infrastructure/price-feeds/derivatives/feeds/utils/SinglePeggedDerivativePriceFeedBase.sol\":\"SinglePeggedDerivativePriceFeedBase\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol\":{\"keccak256\":\"0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e\",\"dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK\"]},\"contracts/release/infrastructure/price-feeds/derivatives/feeds/utils/SinglePeggedDerivativePriceFeedBase.sol\":{\"keccak256\":\"0xcbcb93a3c4ad003660705d351aa9741174add393ca99fe2cf9346d6d4a055479\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://cb3e7a9d4972928ff1ba55de58285e910a88563ce0be81a7813c5c9bc9966dd9\",\"dweb:/ipfs/QmSWntaSEGdhgmBsFRbRLrpfbt4Fs5gZ2rFMEQ7eBNdjq9\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_derivative", - "type": "address" - }, - { - "internalType": "address", - "name": "_underlying", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_derivative", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_derivativeAmount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "calcUnderlyingValues", - "outputs": [ - { - "internalType": "address[]", - "name": "underlyings_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "underlyingAmounts_", - "type": "uint256[]" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getDerivative", - "outputs": [ - { - "internalType": "address", - "name": "derivative_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getUnderlying", - "outputs": [ - { - "internalType": "address", - "name": "underlying_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_asset", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "isSupportedAsset", - "outputs": [ - { - "internalType": "bool", - "name": "isSupported_", - "type": "bool" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "calcUnderlyingValues(address,uint256)": { - "params": { - "_derivative": "The derivative to convert", - "_derivativeAmount": "The amount of the derivative to convert" - }, - "returns": { - "underlyingAmounts_": "The amount of each underlying asset for the equivalent derivative amount", - "underlyings_": "The underlying assets for the _derivative" - } - }, - "getDerivative()": { - "returns": { - "derivative_": "The `DERIVATIVE` variable value" - } - }, - "getUnderlying()": { - "returns": { - "underlying_": "The `UNDERLYING` variable value" - } - }, - "isSupportedAsset(address)": { - "params": { - "_asset": "The asset to check" - }, - "returns": { - "isSupported_": "True if the asset is supported" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "calcUnderlyingValues(address,uint256)": { - "notice": "Converts a given amount of a derivative to its underlying asset values" - }, - "getDerivative()": { - "notice": "Gets the `DERIVATIVE` variable value" - }, - "getUnderlying()": { - "notice": "Gets the `UNDERLYING` variable value" - }, - "isSupportedAsset(address)": { - "notice": "Checks if an asset is supported by the price feed" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/infrastructure/price-feeds/derivatives/feeds/utils/SinglePeggedDerivativePriceFeedBase.sol": "SinglePeggedDerivativePriceFeedBase" - }, - "libraries": {} - }, - "sources": { - "contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol": { - "keccak256": "0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332", - "urls": [ - "bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e", - "dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/price-feeds/derivatives/feeds/utils/SinglePeggedDerivativePriceFeedBase.sol": { - "keccak256": "0xcbcb93a3c4ad003660705d351aa9741174add393ca99fe2cf9346d6d4a055479", - "urls": [ - "bzz-raw://cb3e7a9d4972928ff1ba55de58285e910a88563ce0be81a7813c5c9bc9966dd9", - "dweb:/ipfs/QmSWntaSEGdhgmBsFRbRLrpfbt4Fs5gZ2rFMEQ7eBNdjq9" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 251 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_derivative", "type": "address", "internalType": "address" }, { "name": "_underlying", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "calcUnderlyingValues", "inputs": [ { "name": "_derivative", "type": "address", "internalType": "address" }, { "name": "_derivativeAmount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "underlyings_", "type": "address[]", "internalType": "address[]" }, { "name": "underlyingAmounts_", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "getDerivative", "inputs": [], "outputs": [ { "name": "derivative_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getUnderlying", "inputs": [], "outputs": [ { "name": "underlying_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "isSupportedAsset", "inputs": [ { "name": "_asset", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "isSupported_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "calcUnderlyingValues(address,uint256)": "727212f6", "getDerivative()": "6d4a681a", "getUnderlying()": "9816f473", "isSupportedAsset(address)": "9be918e6" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_derivative\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_underlying\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_derivative\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_derivativeAmount\",\"type\":\"uint256\"}],\"name\":\"calcUnderlyingValues\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"underlyings_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"underlyingAmounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDerivative\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"derivative_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getUnderlying\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"underlying_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"}],\"name\":\"isSupportedAsset\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isSupported_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"calcUnderlyingValues(address,uint256)\":{\"params\":{\"_derivative\":\"The derivative to convert\",\"_derivativeAmount\":\"The amount of the derivative to convert\"},\"returns\":{\"underlyingAmounts_\":\"The amount of each underlying asset for the equivalent derivative amount\",\"underlyings_\":\"The underlying assets for the _derivative\"}},\"getDerivative()\":{\"returns\":{\"derivative_\":\"The `DERIVATIVE` variable value\"}},\"getUnderlying()\":{\"returns\":{\"underlying_\":\"The `UNDERLYING` variable value\"}},\"isSupportedAsset(address)\":{\"params\":{\"_asset\":\"The asset to check\"},\"returns\":{\"isSupported_\":\"True if the asset is supported\"}}},\"title\":\"SinglePeggedDerivativePriceFeedBase Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"calcUnderlyingValues(address,uint256)\":{\"notice\":\"Converts a given amount of a derivative to its underlying asset values\"},\"getDerivative()\":{\"notice\":\"Gets the `DERIVATIVE` variable value\"},\"getUnderlying()\":{\"notice\":\"Gets the `UNDERLYING` variable value\"},\"isSupportedAsset(address)\":{\"notice\":\"Checks if an asset is supported by the price feed\"}},\"notice\":\"Price feed base for any single derivative that is pegged 1:1 to its underlying\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/infrastructure/price-feeds/derivatives/feeds/utils/SinglePeggedDerivativePriceFeedBase.sol\":\"SinglePeggedDerivativePriceFeedBase\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol\":{\"keccak256\":\"0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e\",\"dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK\"]},\"contracts/release/infrastructure/price-feeds/derivatives/feeds/utils/SinglePeggedDerivativePriceFeedBase.sol\":{\"keccak256\":\"0xcbcb93a3c4ad003660705d351aa9741174add393ca99fe2cf9346d6d4a055479\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://cb3e7a9d4972928ff1ba55de58285e910a88563ce0be81a7813c5c9bc9966dd9\",\"dweb:/ipfs/QmSWntaSEGdhgmBsFRbRLrpfbt4Fs5gZ2rFMEQ7eBNdjq9\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_derivative", "type": "address" }, { "internalType": "address", "name": "_underlying", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "_derivative", "type": "address" }, { "internalType": "uint256", "name": "_derivativeAmount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "calcUnderlyingValues", "outputs": [ { "internalType": "address[]", "name": "underlyings_", "type": "address[]" }, { "internalType": "uint256[]", "name": "underlyingAmounts_", "type": "uint256[]" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getDerivative", "outputs": [ { "internalType": "address", "name": "derivative_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getUnderlying", "outputs": [ { "internalType": "address", "name": "underlying_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_asset", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "isSupportedAsset", "outputs": [ { "internalType": "bool", "name": "isSupported_", "type": "bool" } ] } ], "devdoc": { "kind": "dev", "methods": { "calcUnderlyingValues(address,uint256)": { "params": { "_derivative": "The derivative to convert", "_derivativeAmount": "The amount of the derivative to convert" }, "returns": { "underlyingAmounts_": "The amount of each underlying asset for the equivalent derivative amount", "underlyings_": "The underlying assets for the _derivative" } }, "getDerivative()": { "returns": { "derivative_": "The `DERIVATIVE` variable value" } }, "getUnderlying()": { "returns": { "underlying_": "The `UNDERLYING` variable value" } }, "isSupportedAsset(address)": { "params": { "_asset": "The asset to check" }, "returns": { "isSupported_": "True if the asset is supported" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "calcUnderlyingValues(address,uint256)": { "notice": "Converts a given amount of a derivative to its underlying asset values" }, "getDerivative()": { "notice": "Gets the `DERIVATIVE` variable value" }, "getUnderlying()": { "notice": "Gets the `UNDERLYING` variable value" }, "isSupportedAsset(address)": { "notice": "Checks if an asset is supported by the price feed" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/infrastructure/price-feeds/derivatives/feeds/utils/SinglePeggedDerivativePriceFeedBase.sol": "SinglePeggedDerivativePriceFeedBase" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol": { "keccak256": "0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332", "urls": [ "bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e", "dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/price-feeds/derivatives/feeds/utils/SinglePeggedDerivativePriceFeedBase.sol": { "keccak256": "0xcbcb93a3c4ad003660705d351aa9741174add393ca99fe2cf9346d6d4a055479", "urls": [ "bzz-raw://cb3e7a9d4972928ff1ba55de58285e910a88563ce0be81a7813c5c9bc9966dd9", "dweb:/ipfs/QmSWntaSEGdhgmBsFRbRLrpfbt4Fs5gZ2rFMEQ7eBNdjq9" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" } }, "version": 1 }, "id": 251 } diff --git a/eth_defi/abi/enzyme/SingleUnderlyingDerivativeRegistryMixin.json b/eth_defi/abi/enzyme/SingleUnderlyingDerivativeRegistryMixin.json index 21dffcc5..a817fc12 100644 --- a/eth_defi/abi/enzyme/SingleUnderlyingDerivativeRegistryMixin.json +++ b/eth_defi/abi/enzyme/SingleUnderlyingDerivativeRegistryMixin.json @@ -1,385 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_fundDeployer", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "derivative", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "underlying", - "type": "address" - } - ], - "name": "DerivativeAdded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "derivative", - "type": "address" - } - ], - "name": "DerivativeRemoved", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_derivatives", - "type": "address[]" - }, - { - "internalType": "address[]", - "name": "_underlyings", - "type": "address[]" - } - ], - "name": "addDerivatives", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getFundDeployer", - "outputs": [ - { - "internalType": "address", - "name": "fundDeployer_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "owner_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_derivative", - "type": "address" - } - ], - "name": "getUnderlyingForDerivative", - "outputs": [ - { - "internalType": "address", - "name": "underlying_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_derivatives", - "type": "address[]" - } - ], - "name": "removeDerivatives", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "addDerivatives(address[],address[])": "39cbb63c", - "getFundDeployer()": "97c0ac87", - "getOwner()": "893d20e8", - "getUnderlyingForDerivative(address)": "66adb867", - "removeDerivatives(address[])": "8f72b136" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_fundDeployer\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"derivative\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"underlying\",\"type\":\"address\"}],\"name\":\"DerivativeAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"derivative\",\"type\":\"address\"}],\"name\":\"DerivativeRemoved\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_derivatives\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"_underlyings\",\"type\":\"address[]\"}],\"name\":\"addDerivatives\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFundDeployer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"fundDeployer_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_derivative\",\"type\":\"address\"}],\"name\":\"getUnderlyingForDerivative\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"underlying_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_derivatives\",\"type\":\"address[]\"}],\"name\":\"removeDerivatives\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"addDerivatives(address[],address[])\":{\"params\":{\"_derivatives\":\"The derivatives to add\",\"_underlyings\":\"The corresponding underlyings to add\"}},\"getFundDeployer()\":{\"returns\":{\"fundDeployer_\":\"The `FUND_DEPLOYER` variable value\"}},\"getOwner()\":{\"details\":\"Ownership is deferred to the owner of the FundDeployer contract\",\"returns\":{\"owner_\":\"The owner\"}},\"getUnderlyingForDerivative(address)\":{\"params\":{\"_derivative\":\"The derivative for which to get the underlying asset\"},\"returns\":{\"underlying_\":\"The underlying asset\"}},\"removeDerivatives(address[])\":{\"params\":{\"_derivatives\":\"The derivatives to remove\"}}},\"title\":\"SingleUnderlyingDerivativeRegistryMixin Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"addDerivatives(address[],address[])\":{\"notice\":\"Adds derivatives with corresponding underlyings to the price feed\"},\"getFundDeployer()\":{\"notice\":\"Gets the `FUND_DEPLOYER` variable\"},\"getOwner()\":{\"notice\":\"Gets the owner of this contract\"},\"getUnderlyingForDerivative(address)\":{\"notice\":\"Gets the underlying asset for a given derivative\"},\"removeDerivatives(address[])\":{\"notice\":\"Removes derivatives from the price feed\"}},\"notice\":\"Mixin for derivative price feeds that handle multiple derivatives that each have a single underlying asset\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/infrastructure/price-feeds/derivatives/feeds/utils/SingleUnderlyingDerivativeRegistryMixin.sol\":\"SingleUnderlyingDerivativeRegistryMixin\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/infrastructure/price-feeds/derivatives/feeds/utils/SingleUnderlyingDerivativeRegistryMixin.sol\":{\"keccak256\":\"0xeb2aab819af80382ad562d5a80863484a42caa7888f811817eb283894a1852e7\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8846bfa874ede75fbcd3053d45a1647cad0aabbb26e4189998e8c517961c2bb6\",\"dweb:/ipfs/QmV4Bgx9VfX6kaoyZuaBDf2xyTY4ZmjniZTX8TrEmhU4Pv\"]},\"contracts/release/utils/FundDeployerOwnerMixin.sol\":{\"keccak256\":\"0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927\",\"dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_fundDeployer", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "derivative", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "underlying", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "DerivativeAdded", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "derivative", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "DerivativeRemoved", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_derivatives", - "type": "address[]" - }, - { - "internalType": "address[]", - "name": "_underlyings", - "type": "address[]" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "addDerivatives" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getFundDeployer", - "outputs": [ - { - "internalType": "address", - "name": "fundDeployer_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "owner_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_derivative", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getUnderlyingForDerivative", - "outputs": [ - { - "internalType": "address", - "name": "underlying_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_derivatives", - "type": "address[]" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "removeDerivatives" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "addDerivatives(address[],address[])": { - "params": { - "_derivatives": "The derivatives to add", - "_underlyings": "The corresponding underlyings to add" - } - }, - "getFundDeployer()": { - "returns": { - "fundDeployer_": "The `FUND_DEPLOYER` variable value" - } - }, - "getOwner()": { - "details": "Ownership is deferred to the owner of the FundDeployer contract", - "returns": { - "owner_": "The owner" - } - }, - "getUnderlyingForDerivative(address)": { - "params": { - "_derivative": "The derivative for which to get the underlying asset" - }, - "returns": { - "underlying_": "The underlying asset" - } - }, - "removeDerivatives(address[])": { - "params": { - "_derivatives": "The derivatives to remove" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "addDerivatives(address[],address[])": { - "notice": "Adds derivatives with corresponding underlyings to the price feed" - }, - "getFundDeployer()": { - "notice": "Gets the `FUND_DEPLOYER` variable" - }, - "getOwner()": { - "notice": "Gets the owner of this contract" - }, - "getUnderlyingForDerivative(address)": { - "notice": "Gets the underlying asset for a given derivative" - }, - "removeDerivatives(address[])": { - "notice": "Removes derivatives from the price feed" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/infrastructure/price-feeds/derivatives/feeds/utils/SingleUnderlyingDerivativeRegistryMixin.sol": "SingleUnderlyingDerivativeRegistryMixin" - }, - "libraries": {} - }, - "sources": { - "contracts/release/core/fund-deployer/IFundDeployer.sol": { - "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", - "urls": [ - "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", - "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/price-feeds/derivatives/feeds/utils/SingleUnderlyingDerivativeRegistryMixin.sol": { - "keccak256": "0xeb2aab819af80382ad562d5a80863484a42caa7888f811817eb283894a1852e7", - "urls": [ - "bzz-raw://8846bfa874ede75fbcd3053d45a1647cad0aabbb26e4189998e8c517961c2bb6", - "dweb:/ipfs/QmV4Bgx9VfX6kaoyZuaBDf2xyTY4ZmjniZTX8TrEmhU4Pv" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/FundDeployerOwnerMixin.sol": { - "keccak256": "0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934", - "urls": [ - "bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927", - "dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 252 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_fundDeployer", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "addDerivatives", "inputs": [ { "name": "_derivatives", "type": "address[]", "internalType": "address[]" }, { "name": "_underlyings", "type": "address[]", "internalType": "address[]" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "getFundDeployer", "inputs": [], "outputs": [ { "name": "fundDeployer_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getOwner", "inputs": [], "outputs": [ { "name": "owner_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getUnderlyingForDerivative", "inputs": [ { "name": "_derivative", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "underlying_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "removeDerivatives", "inputs": [ { "name": "_derivatives", "type": "address[]", "internalType": "address[]" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "event", "name": "DerivativeAdded", "inputs": [ { "name": "derivative", "type": "address", "indexed": true, "internalType": "address" }, { "name": "underlying", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "DerivativeRemoved", "inputs": [ { "name": "derivative", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "addDerivatives(address[],address[])": "39cbb63c", "getFundDeployer()": "97c0ac87", "getOwner()": "893d20e8", "getUnderlyingForDerivative(address)": "66adb867", "removeDerivatives(address[])": "8f72b136" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_fundDeployer\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"derivative\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"underlying\",\"type\":\"address\"}],\"name\":\"DerivativeAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"derivative\",\"type\":\"address\"}],\"name\":\"DerivativeRemoved\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_derivatives\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"_underlyings\",\"type\":\"address[]\"}],\"name\":\"addDerivatives\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFundDeployer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"fundDeployer_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_derivative\",\"type\":\"address\"}],\"name\":\"getUnderlyingForDerivative\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"underlying_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_derivatives\",\"type\":\"address[]\"}],\"name\":\"removeDerivatives\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"addDerivatives(address[],address[])\":{\"params\":{\"_derivatives\":\"The derivatives to add\",\"_underlyings\":\"The corresponding underlyings to add\"}},\"getFundDeployer()\":{\"returns\":{\"fundDeployer_\":\"The `FUND_DEPLOYER` variable value\"}},\"getOwner()\":{\"details\":\"Ownership is deferred to the owner of the FundDeployer contract\",\"returns\":{\"owner_\":\"The owner\"}},\"getUnderlyingForDerivative(address)\":{\"params\":{\"_derivative\":\"The derivative for which to get the underlying asset\"},\"returns\":{\"underlying_\":\"The underlying asset\"}},\"removeDerivatives(address[])\":{\"params\":{\"_derivatives\":\"The derivatives to remove\"}}},\"title\":\"SingleUnderlyingDerivativeRegistryMixin Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"addDerivatives(address[],address[])\":{\"notice\":\"Adds derivatives with corresponding underlyings to the price feed\"},\"getFundDeployer()\":{\"notice\":\"Gets the `FUND_DEPLOYER` variable\"},\"getOwner()\":{\"notice\":\"Gets the owner of this contract\"},\"getUnderlyingForDerivative(address)\":{\"notice\":\"Gets the underlying asset for a given derivative\"},\"removeDerivatives(address[])\":{\"notice\":\"Removes derivatives from the price feed\"}},\"notice\":\"Mixin for derivative price feeds that handle multiple derivatives that each have a single underlying asset\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/infrastructure/price-feeds/derivatives/feeds/utils/SingleUnderlyingDerivativeRegistryMixin.sol\":\"SingleUnderlyingDerivativeRegistryMixin\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/infrastructure/price-feeds/derivatives/feeds/utils/SingleUnderlyingDerivativeRegistryMixin.sol\":{\"keccak256\":\"0xeb2aab819af80382ad562d5a80863484a42caa7888f811817eb283894a1852e7\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8846bfa874ede75fbcd3053d45a1647cad0aabbb26e4189998e8c517961c2bb6\",\"dweb:/ipfs/QmV4Bgx9VfX6kaoyZuaBDf2xyTY4ZmjniZTX8TrEmhU4Pv\"]},\"contracts/release/utils/FundDeployerOwnerMixin.sol\":{\"keccak256\":\"0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927\",\"dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_fundDeployer", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "derivative", "type": "address", "indexed": true }, { "internalType": "address", "name": "underlying", "type": "address", "indexed": true } ], "type": "event", "name": "DerivativeAdded", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "derivative", "type": "address", "indexed": true } ], "type": "event", "name": "DerivativeRemoved", "anonymous": false }, { "inputs": [ { "internalType": "address[]", "name": "_derivatives", "type": "address[]" }, { "internalType": "address[]", "name": "_underlyings", "type": "address[]" } ], "stateMutability": "nonpayable", "type": "function", "name": "addDerivatives" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getFundDeployer", "outputs": [ { "internalType": "address", "name": "fundDeployer_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getOwner", "outputs": [ { "internalType": "address", "name": "owner_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_derivative", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getUnderlyingForDerivative", "outputs": [ { "internalType": "address", "name": "underlying_", "type": "address" } ] }, { "inputs": [ { "internalType": "address[]", "name": "_derivatives", "type": "address[]" } ], "stateMutability": "nonpayable", "type": "function", "name": "removeDerivatives" } ], "devdoc": { "kind": "dev", "methods": { "addDerivatives(address[],address[])": { "params": { "_derivatives": "The derivatives to add", "_underlyings": "The corresponding underlyings to add" } }, "getFundDeployer()": { "returns": { "fundDeployer_": "The `FUND_DEPLOYER` variable value" } }, "getOwner()": { "details": "Ownership is deferred to the owner of the FundDeployer contract", "returns": { "owner_": "The owner" } }, "getUnderlyingForDerivative(address)": { "params": { "_derivative": "The derivative for which to get the underlying asset" }, "returns": { "underlying_": "The underlying asset" } }, "removeDerivatives(address[])": { "params": { "_derivatives": "The derivatives to remove" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "addDerivatives(address[],address[])": { "notice": "Adds derivatives with corresponding underlyings to the price feed" }, "getFundDeployer()": { "notice": "Gets the `FUND_DEPLOYER` variable" }, "getOwner()": { "notice": "Gets the owner of this contract" }, "getUnderlyingForDerivative(address)": { "notice": "Gets the underlying asset for a given derivative" }, "removeDerivatives(address[])": { "notice": "Removes derivatives from the price feed" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/infrastructure/price-feeds/derivatives/feeds/utils/SingleUnderlyingDerivativeRegistryMixin.sol": "SingleUnderlyingDerivativeRegistryMixin" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/core/fund-deployer/IFundDeployer.sol": { "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", "urls": [ "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/price-feeds/derivatives/feeds/utils/SingleUnderlyingDerivativeRegistryMixin.sol": { "keccak256": "0xeb2aab819af80382ad562d5a80863484a42caa7888f811817eb283894a1852e7", "urls": [ "bzz-raw://8846bfa874ede75fbcd3053d45a1647cad0aabbb26e4189998e8c517961c2bb6", "dweb:/ipfs/QmV4Bgx9VfX6kaoyZuaBDf2xyTY4ZmjniZTX8TrEmhU4Pv" ], "license": "GPL-3.0" }, "contracts/release/utils/FundDeployerOwnerMixin.sol": { "keccak256": "0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934", "urls": [ "bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927", "dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 252 } diff --git a/eth_defi/abi/enzyme/SolvV2BondBuyerPositionDataDecoder.json b/eth_defi/abi/enzyme/SolvV2BondBuyerPositionDataDecoder.json index 19fed709..3fd2d150 100644 --- a/eth_defi/abi/enzyme/SolvV2BondBuyerPositionDataDecoder.json +++ b/eth_defi/abi/enzyme/SolvV2BondBuyerPositionDataDecoder.json @@ -1,78 +1 @@ -{ - "abi": [], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": {}, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"SolvV2BondBuyerPositionDataDecoder Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Abstract contract containing data decodings for SolvV2BondBuyerPosition payloads\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/solv-v2-bond-buyer/SolvV2BondBuyerPositionDataDecoder.sol\":\"SolvV2BondBuyerPositionDataDecoder\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/external-position-manager/external-positions/solv-v2-bond-buyer/SolvV2BondBuyerPositionDataDecoder.sol\":{\"keccak256\":\"0x32f9808c23956dde6c830c570d3ebc240ab47eaedde6911c55fe90b0d68cd48a\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3366c99c9cc5cdcd6ad7e74265ed27d9e981f9aeda7ea4e4dd137bebe8bbde35\",\"dweb:/ipfs/QmedhvZ9BAeuBDnQPdFWTZ8u6FkXFiV3gm1TvVu898pM5s\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/external-position-manager/external-positions/solv-v2-bond-buyer/SolvV2BondBuyerPositionDataDecoder.sol": "SolvV2BondBuyerPositionDataDecoder" - }, - "libraries": {} - }, - "sources": { - "contracts/release/extensions/external-position-manager/external-positions/solv-v2-bond-buyer/SolvV2BondBuyerPositionDataDecoder.sol": { - "keccak256": "0x32f9808c23956dde6c830c570d3ebc240ab47eaedde6911c55fe90b0d68cd48a", - "urls": [ - "bzz-raw://3366c99c9cc5cdcd6ad7e74265ed27d9e981f9aeda7ea4e4dd137bebe8bbde35", - "dweb:/ipfs/QmedhvZ9BAeuBDnQPdFWTZ8u6FkXFiV3gm1TvVu898pM5s" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 123 -} +{ "abi": [], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": {}, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"SolvV2BondBuyerPositionDataDecoder Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Abstract contract containing data decodings for SolvV2BondBuyerPosition payloads\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/solv-v2-bond-buyer/SolvV2BondBuyerPositionDataDecoder.sol\":\"SolvV2BondBuyerPositionDataDecoder\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/external-position-manager/external-positions/solv-v2-bond-buyer/SolvV2BondBuyerPositionDataDecoder.sol\":{\"keccak256\":\"0x32f9808c23956dde6c830c570d3ebc240ab47eaedde6911c55fe90b0d68cd48a\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3366c99c9cc5cdcd6ad7e74265ed27d9e981f9aeda7ea4e4dd137bebe8bbde35\",\"dweb:/ipfs/QmedhvZ9BAeuBDnQPdFWTZ8u6FkXFiV3gm1TvVu898pM5s\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/external-position-manager/external-positions/solv-v2-bond-buyer/SolvV2BondBuyerPositionDataDecoder.sol": "SolvV2BondBuyerPositionDataDecoder" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/extensions/external-position-manager/external-positions/solv-v2-bond-buyer/SolvV2BondBuyerPositionDataDecoder.sol": { "keccak256": "0x32f9808c23956dde6c830c570d3ebc240ab47eaedde6911c55fe90b0d68cd48a", "urls": [ "bzz-raw://3366c99c9cc5cdcd6ad7e74265ed27d9e981f9aeda7ea4e4dd137bebe8bbde35", "dweb:/ipfs/QmedhvZ9BAeuBDnQPdFWTZ8u6FkXFiV3gm1TvVu898pM5s" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 123 } diff --git a/eth_defi/abi/enzyme/SolvV2BondBuyerPositionLib.json b/eth_defi/abi/enzyme/SolvV2BondBuyerPositionLib.json index ef58d59c..d388961d 100644 --- a/eth_defi/abi/enzyme/SolvV2BondBuyerPositionLib.json +++ b/eth_defi/abi/enzyme/SolvV2BondBuyerPositionLib.json @@ -1,634 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_initialBondOfferingMarket", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "voucher", - "type": "address" - }, - { - "indexed": true, - "internalType": "uint32", - "name": "tokenId", - "type": "uint32" - } - ], - "name": "VoucherTokenIdAdded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "voucher", - "type": "address" - }, - { - "indexed": true, - "internalType": "uint32", - "name": "tokenId", - "type": "uint32" - } - ], - "name": "VoucherTokenIdRemoved", - "type": "event" - }, - { - "inputs": [], - "name": "getDebtAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "assets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "amounts_", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getManagedAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "assets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "amounts_", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getVoucherTokenIds", - "outputs": [ - { - "components": [ - { - "internalType": "address", - "name": "voucher", - "type": "address" - }, - { - "internalType": "uint32", - "name": "tokenId", - "type": "uint32" - } - ], - "internalType": "struct SolvV2BondBuyerPositionLibBase1.VoucherTokenId[]", - "name": "voucherTokenIds_", - "type": "tuple[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "init", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "onVNFTReceived", - "outputs": [ - { - "internalType": "bytes4", - "name": "selector_", - "type": "bytes4" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - } - ], - "name": "receiveCallFromVault", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x60a06040523480156200001157600080fd5b50604051620026893803806200268983398101604081905262000034916200005d565b60601b6001600160601b031916608052620000b2565b8051620000578162000098565b92915050565b6000602082840312156200007057600080fd5b60006200007e84846200004a565b949350505050565b60006001600160a01b03821662000057565b620000a38162000086565b8114620000af57600080fd5b50565b60805160601c6125aa620000df60003980610da15280610ebe5280610efc5280610f9652506125aa6000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c80634ddf47d41461006757806380daddb81461007c578063b382cdcd1461009b578063e5c23a97146100bb578063ecd658b4146100ce578063f4c1032a146100d6575b600080fd5b61007a610075366004611c9d565b6100eb565b005b6100846100ee565b6040516100929291906122bc565b60405180910390f35b6100ae6100a9366004611bef565b6101cb565b60405161009291906122f2565b61007a6100c9366004611c9d565b6101f6565b61008461025e565b6100de610264565b60405161009291906122e1565b50565b60608060606100fb610264565b805190915060005b818110156101b657610113611720565b83828151811061011f57fe5b6020026020010151905060608061013e836000015184602001516102dd565b9150915060005b82518110156101a65761017483828151811061015d57fe5b60200260200101518a6109ba90919063ffffffff16565b985061019c82828151811061018557fe5b602002602001015189610a8690919063ffffffff16565b9750600101610145565b5050600190920191506101039050565b506101c18484610b30565b9350935050509091565b7fb382cdcdbd920ddd5cea8c35269cf1a93503df07a561581b76664c03c351b58b9695505050505050565b600060608280602001905181019061020e9190611d86565b9092509050816102265761022181610d72565b610259565b60018214156102385761022181610fd4565b60405162461bcd60e51b815260040161025090612341565b60405180910390fd5b505050565b60608091565b60606000805480602002602001604051908101604052809291908181526020016000905b828210156102d457600084815260209081902060408051808201909152908401546001600160a01b0381168252600160a01b900463ffffffff1681830152825260019092019101610288565b50505050905090565b60608060008490506000816001600160a01b0316634118ca7d6040518163ffffffff1660e01b815260040160206040518083038186803b15801561032057600080fd5b505afa158015610334573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103589190611b84565b90506000826001600160a01b031663bde4c3cb876040518263ffffffff1660e01b815260040161038891906123e6565b602060405180830381600087803b1580156103a257600080fd5b505af11580156103b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103da9190611d68565b90506000826001600160a01b031663fb7056b7836040518263ffffffff1660e01b815260040161040a91906123ca565b60206040518083038186803b15801561042257600080fd5b505afa158015610436573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061045a9190611d10565b90506000816001600160801b0316116104855760405162461bcd60e51b815260040161025090612361565b61048d611737565b60405163d3ceafb960e01b81526001600160a01b0386169063d3ceafb9906104b99086906004016123ca565b6101a06040518083038186803b1580156104d257600080fd5b505afa1580156104e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061050a9190611cf1565b90506000856001600160a01b031663becef6078a6040518263ffffffff1660e01b815260040161053a91906123e6565b60206040518083038186803b15801561055257600080fd5b505afa158015610566573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061058a9190611d68565b9050600080836101200151156106fc5761069f876001600160a01b0316633e7e86696040518163ffffffff1660e01b815260040160206040518083038186803b1580156105d657600080fd5b505afa1580156105ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061060e9190611e0b565b60ff16600a0a61069986602001516001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561065457600080fd5b505afa158015610668573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061068c9190611e0b565b869060ff16600a0a61115d565b9061119e565b915083608001516001600160801b0316856001600160801b031611156106f7576106f46106d5846001600160801b03881661119e565b60808601516106ee9086906001600160801b031661119e565b906111d0565b90505b610762565b83606001516001600160801b0316856001600160801b03161015610726578360600151945061074c565b83608001516001600160801b0316856001600160801b0316111561074c57836080015194505b61075f836001600160801b03871661119e565b90505b811561081b57602084015160405163e55ced3160e01b81526000916001600160a01b038a169163e55ced319161079d918b91906004016123d8565b60206040518083038186803b1580156107b557600080fd5b505afa1580156107c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ed9190611d68565b9050808311156107fb578092505b602085015161080b908c906109ba565b9a506108178a84610a86565b9950505b80156109aa576000876001600160a01b031663e55ced31888b6001600160a01b0316636f307dc36040518163ffffffff1660e01b815260040160206040518083038186803b15801561086c57600080fd5b505afa158015610880573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108a49190611b84565b6040518363ffffffff1660e01b81526004016108c19291906123d8565b60206040518083038186803b1580156108d957600080fd5b505afa1580156108ed573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109119190611d68565b90508082111561091f578091505b61099a896001600160a01b0316636f307dc36040518163ffffffff1660e01b815260040160206040518083038186803b15801561095b57600080fd5b505afa15801561096f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109939190611b84565b8c906109ba565b9a506109a68a83610a86565b9950505b50505050505050505b9250929050565b6060825160010167ffffffffffffffff811180156109d757600080fd5b50604051908082528060200260200182016040528015610a01578160200160208202803683370190505b50905060005b8351811015610a5057838181518110610a1c57fe5b6020026020010151828281518110610a3057fe5b6001600160a01b0390921660209283029190910190910152600101610a07565b508181845181518110610a5f57fe5b60200260200101906001600160a01b031690816001600160a01b0316815250505b92915050565b6060825160010167ffffffffffffffff81118015610aa357600080fd5b50604051908082528060200260200182016040528015610acd578160200160208202803683370190505b50905060005b8351811015610b0f57838181518110610ae857fe5b6020026020010151828281518110610afc57fe5b6020908102919091010152600101610ad3565b508181845181518110610b1e57fe5b60200260200101818152505092915050565b606080835160001415610b42576109b3565b6001805b8551811015610bc2576000805b82811015610bac57878181518110610b6757fe5b60200260200101516001600160a01b0316888481518110610b8457fe5b60200260200101516001600160a01b03161415610ba45760019150610bac565b600101610b53565b5080610bb9576001909201915b50600101610b46565b508067ffffffffffffffff81118015610bda57600080fd5b50604051908082528060200260200182016040528015610c04578160200160208202803683370190505b5092508067ffffffffffffffff81118015610c1e57600080fd5b50604051908082528060200260200182016040528015610c48578160200160208202803683370190505b5091506000805b8651811015610d68576000805b83811015610ce757868181518110610c7057fe5b60200260200101516001600160a01b0316898481518110610c8d57fe5b60200260200101516001600160a01b03161415610cdf5760019150878381518110610cb457fe5b6020026020010151868281518110610cc857fe5b602002602001018181510191508181525050610ce7565b600101610c5c565b5080610d5f57878281518110610cf957fe5b6020026020010151868481518110610d0d57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050868281518110610d3957fe5b6020026020010151858481518110610d4d57fe5b60209081029190910101526001909201915b50600101610c4f565b5050509250929050565b600080610d7e836111f8565b91509150610d8a6117a0565b6040516309cfb2ab60e41b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690639cfb2ab090610dd69086906004016123a1565b6101a06040518083038186803b158015610def57600080fd5b505afa158015610e03573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e279190611cd2565b9050600081610100015190506000816001600160a01b03166375794a3c6040518163ffffffff1660e01b815260040160206040518083038186803b158015610e6e57600080fd5b505afa158015610e82573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ea69190611ded565b610120840151909150610ee56001600160a01b0382167f0000000000000000000000000000000000000000000000000000000000000000600019611218565b6040516341ec4ef360e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906341ec4ef390610f3390899089906004016123af565b6040805180830381600087803b158015610f4c57600080fd5b505af1158015610f60573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f849190611dce565b50610fbc90506001600160a01b0382167f00000000000000000000000000000000000000000000000000000000000000006000611218565b610fcb84610100015183611312565b50505050505050565b6000806000610fe2846113ca565b60405163becef60760e01b8152929550909350915083906000906001600160a01b0383169063becef6079061101b9087906004016123e6565b60206040518083038186803b15801561103357600080fd5b505afa158015611047573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061106b9190611d68565b905060001983148061107c57508083145b156110f257604051637e2985f360e01b81526001600160a01b03831690637e2985f3906110b1908790339086906004016123f4565b600060405180830381600087803b1580156110cb57600080fd5b505af11580156110df573d6000803e3d6000fd5b505050506110ed85856113f0565b611155565b604051637e2985f360e01b81526001600160a01b03831690637e2985f390611122908790339088906004016123f4565b600060405180830381600087803b15801561113c57600080fd5b505af1158015611150573d6000803e3d6000fd5b505050505b505050505050565b60008261116c57506000610a80565b8282028284828161117957fe5b04146111975760405162461bcd60e51b815260040161025090612351565b9392505050565b60008082116111bf5760405162461bcd60e51b815260040161025090612331565b8183816111c857fe5b049392505050565b6000828211156111f25760405162461bcd60e51b815260040161025090612311565b50900390565b6000808280602001905181019061120f9190611d2e565b91509150915091565b8015806112a05750604051636eb1769f60e11b81526001600160a01b0384169063dd62ed3e9061124e9030908690600401612286565b60206040518083038186803b15801561126657600080fd5b505afa15801561127a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061129e9190611d68565b155b6112bc5760405162461bcd60e51b815260040161025090612391565b6102598363095ea7b360e01b84846040516024016112db9291906122a1565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915261157a565b6040805180820182526001600160a01b0384811680835263ffffffff858116602085018181526000805460018101825581805296517f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563909701805492516001600160a01b0319909316979096169690961763ffffffff60a01b1916600160a01b91909316029190911790925592519092917f9064e110f4af8c3afc5cb815841bb7b2d7b4324b194a740015a249c929d3d0c791a35050565b6000806000838060200190518101906113e39190611ba2565b9250925092509193909250565b60008054905b8181101561157457611406611720565b6000828154811061141357fe5b6000918252602091829020604080518082019091529101546001600160a01b038116825263ffffffff600160a01b909104811692820183905290925085161480156114735750846001600160a01b031681600001516001600160a01b0316145b1561156b57600183038210156114fb576000600184038154811061149357fe5b90600052602060002001600083815481106114aa57fe5b600091825260209091208254910180546001600160a01b0319166001600160a01b0390921691909117808255915463ffffffff600160a01b91829004160263ffffffff60a01b199092169190911790555b600080548061150657fe5b600082815260208120820160001990810180546001600160c01b031916905590910190915560405163ffffffff8616916001600160a01b038816917f0d5bcf97415af39ded48a8e8b4386016db43ed02862eefbd9e5b466c4329ad959190a350611574565b506001016113f6565b50505050565b60606115cf826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166116099092919063ffffffff16565b80519091501561025957808060200190518101906115ed9190611c7f565b6102595760405162461bcd60e51b815260040161025090612381565b60606116188484600085611620565b949350505050565b6060824710156116425760405162461bcd60e51b815260040161025090612321565b61164b856116e1565b6116675760405162461bcd60e51b815260040161025090612371565b60006060866001600160a01b03168587604051611684919061227a565b60006040518083038185875af1925050503d80600081146116c1576040519150601f19603f3d011682016040523d82523d6000602084013e6116c6565b606091505b50915091506116d68282866116e7565b979650505050505050565b3b151590565b606083156116f6575081611197565b8251156117065782518084602001fd5b8160405162461bcd60e51b81526004016102509190612300565b604080518082019091526000808252602082015290565b604080516101a081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052906101008201908152600060208201819052604082018190526060820181905260809091015290565b604080516101a081018252600080825260208201819052918101829052906060820190815260006020820181905260408201819052606082018190526080820181905260a0820181905260c0820181905260e0820181905261010082018190526101209091015290565b8035610a808161253d565b8051610a808161253d565b8051610a8081612551565b60008083601f84011261183d57600080fd5b50813567ffffffffffffffff81111561185557600080fd5b6020830191508360018202830111156109b357600080fd5b600082601f83011261187e57600080fd5b813561189161188c82612443565b61241c565b915080825260208301602083018583830111156118ad57600080fd5b6118b88382846124fb565b50505092915050565b600082601f8301126118d257600080fd5b81516118e061188c82612443565b915080825260208301602083018583830111156118fc57600080fd5b6118b8838284612507565b8051610a808161255a565b60006101a0828403121561192557600080fd5b6119306101a061241c565b9050600061193e8484611b42565b825250602061194f84848301611b63565b602083015250604061196384828501611b63565b604083015250606061197784828501611907565b606083015250608061198b84828501611b37565b60808301525060a061199f84828501611b37565b60a08301525060c06119b384828501611b37565b60c08301525060e06119c784828501611b37565b60e0830152506101006119dc84828501611815565b610100830152506101206119f284828501611815565b61012083015250610140611a0884828501611815565b61014083015250610160611a1e84828501611820565b61016083015250610180611a3484828501611820565b6101808301525092915050565b60006101a08284031215611a5457600080fd5b611a5f6101a061241c565b90506000611a6d8484611815565b8252506020611a7e84848301611815565b6020830152506040611a9284828501611b58565b6040830152506060611aa684828501611b37565b6060830152506080611aba84828501611b37565b60808301525060a0611ace84828501611b37565b60a08301525060c0611ae284828501611b6e565b60c08301525060e0611af684828501611b6e565b60e083015250610100611b0b84828501611907565b61010083015250610120611b2184828501611820565b61012083015250610140611a0884828501611820565b8051610a8081612567565b8051610a8081612570565b8035610a8081612579565b8051610a8081612579565b8051610a8081612582565b8051610a808161258b565b8051610a8081612594565b600060208284031215611b9657600080fd5b60006116188484611815565b600080600060608486031215611bb757600080fd5b6000611bc38686611815565b9350506020611bd486828701611b63565b9250506040611be586828701611b58565b9150509250925092565b60008060008060008060a08789031215611c0857600080fd5b6000611c14898961180a565b9650506020611c2589828a0161180a565b9550506040611c3689828a01611b4d565b9450506060611c4789828a01611b4d565b935050608087013567ffffffffffffffff811115611c6457600080fd5b611c7089828a0161182b565b92509250509295509295509295565b600060208284031215611c9157600080fd5b60006116188484611820565b600060208284031215611caf57600080fd5b813567ffffffffffffffff811115611cc657600080fd5b6116188482850161186d565b60006101a08284031215611ce557600080fd5b60006116188484611912565b60006101a08284031215611d0457600080fd5b60006116188484611a41565b600060208284031215611d2257600080fd5b60006116188484611b37565b60008060408385031215611d4157600080fd5b6000611d4d8585611b42565b9250506020611d5e85828601611b37565b9150509250929050565b600060208284031215611d7a57600080fd5b60006116188484611b58565b60008060408385031215611d9957600080fd5b6000611da58585611b58565b925050602083015167ffffffffffffffff811115611dc257600080fd5b611d5e858286016118c1565b60008060408385031215611de157600080fd5b6000611d4d8585611b58565b600060208284031215611dff57600080fd5b60006116188484611b63565b600060208284031215611e1d57600080fd5b60006116188484611b79565b6000611e358383611e6c565b505060200190565b6000611e498383612229565b505060400190565b6000611e35838361225f565b611e66816124df565b82525050565b611e6681612483565b6000611e8082612471565b611e8a8185612475565b9350611e958361246b565b8060005b83811015611ec3578151611ead8882611e29565b9750611eb88361246b565b925050600101611e99565b509495945050505050565b6000611ed982612471565b611ee38185612475565b9350611eee8361246b565b8060005b83811015611ec3578151611f068882611e3d565b9750611f118361246b565b925050600101611ef2565b6000611f2782612471565b611f318185612475565b9350611f3c8361246b565b8060005b83811015611ec3578151611f548882611e51565b9750611f5f8361246b565b925050600101611f40565b611e6681612493565b6000611f7e82612471565b611f88818561247e565b9350611f98818560208601612507565b9290920192915050565b6000611fad82612471565b611fb78185612475565b9350611fc7818560208601612507565b611fd081612533565b9093019392505050565b6000611fe7601e83612475565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000612020602683612475565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f8152651c8818d85b1b60d21b602082015260400192915050565b6000612068601a83612475565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b60006120a1602683612475565b7f7265636569766543616c6c46726f6d5661756c743a20496e76616c69642061638152651d1a5bdb925960d21b602082015260400192915050565b60006120e9602183612475565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b600061212c601183612475565b70141c9a58d9481b9bdd081cd95d1d1b1959607a1b815260200192915050565b6000612159601d83612475565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000815260200192915050565b6000612192602a83612475565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e8152691bdd081cdd58d8d9595960b21b602082015260400192915050565b60006121de603683612475565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f81527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b602082015260400192915050565b8051604083019061223a8482611e6c565b5060208201516115746020850182612271565b611e66816124a0565b611e66816124b8565b611e66816124c0565b611e66816124f0565b611e66816124c3565b60006111978284611f73565b604081016122948285611e6c565b6111976020830184611e6c565b604081016122af8285611e6c565b611197602083018461225f565b604080825281016122cd8185611e75565b905081810360208301526116188184611f1c565b602080825281016111978184611ece565b60208101610a808284611f6a565b602080825281016111978184611fa2565b60208082528101610a8081611fda565b60208082528101610a8081612013565b60208082528101610a808161205b565b60208082528101610a8081612094565b60208082528101610a80816120dc565b60208082528101610a808161211f565b60208082528101610a808161214c565b60208082528101610a8081612185565b60208082528101610a80816121d1565b60208101610a808284612256565b604081016123bd8285612256565b611197602083018461224d565b60208101610a80828461225f565b60408101612294828561225f565b60208101610a808284612268565b606081016124028286612268565b61240f6020830185611e5d565b611618604083018461225f565b60405181810167ffffffffffffffff8111828210171561243b57600080fd5b604052919050565b600067ffffffffffffffff82111561245a57600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b919050565b6000610a80826124ac565b151590565b6001600160e01b03191690565b6001600160801b031690565b6001600160a01b031690565b62ffffff1690565b90565b63ffffffff1690565b67ffffffffffffffff1690565b60ff1690565b6000610a80826000610a8082612483565b6000610a80826124c3565b82818337506000910152565b60005b8381101561252257818101518382015260200161250a565b838111156115745750506000910152565b601f01601f191690565b61254681612483565b81146100eb57600080fd5b6125468161248e565b600281106100eb57600080fd5b612546816124a0565b612546816124b8565b612546816124c0565b612546816124c3565b612546816124cc565b612546816124d956fea164736f6c634300060c000a", - "sourceMap": "1119:9400:124:-:0;;;1544:201;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1609:129;;-1:-1:-1;;;;;;1609:129:124;;;1119:9400;;5:134:-1;83:13;;101:33;83:13;101:33;:::i;:::-;68:71;;;;:::o;146:263::-;;261:2;249:9;240:7;236:23;232:32;229:2;;;277:1;274;267:12;229:2;312:1;329:64;385:7;365:9;329:64;:::i;:::-;319:74;223:186;-1:-1;;;;223:186::o;416:91::-;;-1:-1;;;;;576:54;;478:24;559:76::o;642:117::-;711:24;729:5;711:24;:::i;:::-;704:5;701:35;691:2;;750:1;747;740:12;691:2;685:74;:::o;:::-;1119:9400:124;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106100625760003560e01c80634ddf47d41461006757806380daddb81461007c578063b382cdcd1461009b578063e5c23a97146100bb578063ecd658b4146100ce578063f4c1032a146100d6575b600080fd5b61007a610075366004611c9d565b6100eb565b005b6100846100ee565b6040516100929291906122bc565b60405180910390f35b6100ae6100a9366004611bef565b6101cb565b60405161009291906122f2565b61007a6100c9366004611c9d565b6101f6565b61008461025e565b6100de610264565b60405161009291906122e1565b50565b60608060606100fb610264565b805190915060005b818110156101b657610113611720565b83828151811061011f57fe5b6020026020010151905060608061013e836000015184602001516102dd565b9150915060005b82518110156101a65761017483828151811061015d57fe5b60200260200101518a6109ba90919063ffffffff16565b985061019c82828151811061018557fe5b602002602001015189610a8690919063ffffffff16565b9750600101610145565b5050600190920191506101039050565b506101c18484610b30565b9350935050509091565b7fb382cdcdbd920ddd5cea8c35269cf1a93503df07a561581b76664c03c351b58b9695505050505050565b600060608280602001905181019061020e9190611d86565b9092509050816102265761022181610d72565b610259565b60018214156102385761022181610fd4565b60405162461bcd60e51b815260040161025090612341565b60405180910390fd5b505050565b60608091565b60606000805480602002602001604051908101604052809291908181526020016000905b828210156102d457600084815260209081902060408051808201909152908401546001600160a01b0381168252600160a01b900463ffffffff1681830152825260019092019101610288565b50505050905090565b60608060008490506000816001600160a01b0316634118ca7d6040518163ffffffff1660e01b815260040160206040518083038186803b15801561032057600080fd5b505afa158015610334573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103589190611b84565b90506000826001600160a01b031663bde4c3cb876040518263ffffffff1660e01b815260040161038891906123e6565b602060405180830381600087803b1580156103a257600080fd5b505af11580156103b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103da9190611d68565b90506000826001600160a01b031663fb7056b7836040518263ffffffff1660e01b815260040161040a91906123ca565b60206040518083038186803b15801561042257600080fd5b505afa158015610436573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061045a9190611d10565b90506000816001600160801b0316116104855760405162461bcd60e51b815260040161025090612361565b61048d611737565b60405163d3ceafb960e01b81526001600160a01b0386169063d3ceafb9906104b99086906004016123ca565b6101a06040518083038186803b1580156104d257600080fd5b505afa1580156104e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061050a9190611cf1565b90506000856001600160a01b031663becef6078a6040518263ffffffff1660e01b815260040161053a91906123e6565b60206040518083038186803b15801561055257600080fd5b505afa158015610566573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061058a9190611d68565b9050600080836101200151156106fc5761069f876001600160a01b0316633e7e86696040518163ffffffff1660e01b815260040160206040518083038186803b1580156105d657600080fd5b505afa1580156105ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061060e9190611e0b565b60ff16600a0a61069986602001516001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561065457600080fd5b505afa158015610668573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061068c9190611e0b565b869060ff16600a0a61115d565b9061119e565b915083608001516001600160801b0316856001600160801b031611156106f7576106f46106d5846001600160801b03881661119e565b60808601516106ee9086906001600160801b031661119e565b906111d0565b90505b610762565b83606001516001600160801b0316856001600160801b03161015610726578360600151945061074c565b83608001516001600160801b0316856001600160801b0316111561074c57836080015194505b61075f836001600160801b03871661119e565b90505b811561081b57602084015160405163e55ced3160e01b81526000916001600160a01b038a169163e55ced319161079d918b91906004016123d8565b60206040518083038186803b1580156107b557600080fd5b505afa1580156107c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ed9190611d68565b9050808311156107fb578092505b602085015161080b908c906109ba565b9a506108178a84610a86565b9950505b80156109aa576000876001600160a01b031663e55ced31888b6001600160a01b0316636f307dc36040518163ffffffff1660e01b815260040160206040518083038186803b15801561086c57600080fd5b505afa158015610880573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108a49190611b84565b6040518363ffffffff1660e01b81526004016108c19291906123d8565b60206040518083038186803b1580156108d957600080fd5b505afa1580156108ed573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109119190611d68565b90508082111561091f578091505b61099a896001600160a01b0316636f307dc36040518163ffffffff1660e01b815260040160206040518083038186803b15801561095b57600080fd5b505afa15801561096f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109939190611b84565b8c906109ba565b9a506109a68a83610a86565b9950505b50505050505050505b9250929050565b6060825160010167ffffffffffffffff811180156109d757600080fd5b50604051908082528060200260200182016040528015610a01578160200160208202803683370190505b50905060005b8351811015610a5057838181518110610a1c57fe5b6020026020010151828281518110610a3057fe5b6001600160a01b0390921660209283029190910190910152600101610a07565b508181845181518110610a5f57fe5b60200260200101906001600160a01b031690816001600160a01b0316815250505b92915050565b6060825160010167ffffffffffffffff81118015610aa357600080fd5b50604051908082528060200260200182016040528015610acd578160200160208202803683370190505b50905060005b8351811015610b0f57838181518110610ae857fe5b6020026020010151828281518110610afc57fe5b6020908102919091010152600101610ad3565b508181845181518110610b1e57fe5b60200260200101818152505092915050565b606080835160001415610b42576109b3565b6001805b8551811015610bc2576000805b82811015610bac57878181518110610b6757fe5b60200260200101516001600160a01b0316888481518110610b8457fe5b60200260200101516001600160a01b03161415610ba45760019150610bac565b600101610b53565b5080610bb9576001909201915b50600101610b46565b508067ffffffffffffffff81118015610bda57600080fd5b50604051908082528060200260200182016040528015610c04578160200160208202803683370190505b5092508067ffffffffffffffff81118015610c1e57600080fd5b50604051908082528060200260200182016040528015610c48578160200160208202803683370190505b5091506000805b8651811015610d68576000805b83811015610ce757868181518110610c7057fe5b60200260200101516001600160a01b0316898481518110610c8d57fe5b60200260200101516001600160a01b03161415610cdf5760019150878381518110610cb457fe5b6020026020010151868281518110610cc857fe5b602002602001018181510191508181525050610ce7565b600101610c5c565b5080610d5f57878281518110610cf957fe5b6020026020010151868481518110610d0d57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050868281518110610d3957fe5b6020026020010151858481518110610d4d57fe5b60209081029190910101526001909201915b50600101610c4f565b5050509250929050565b600080610d7e836111f8565b91509150610d8a6117a0565b6040516309cfb2ab60e41b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690639cfb2ab090610dd69086906004016123a1565b6101a06040518083038186803b158015610def57600080fd5b505afa158015610e03573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e279190611cd2565b9050600081610100015190506000816001600160a01b03166375794a3c6040518163ffffffff1660e01b815260040160206040518083038186803b158015610e6e57600080fd5b505afa158015610e82573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ea69190611ded565b610120840151909150610ee56001600160a01b0382167f0000000000000000000000000000000000000000000000000000000000000000600019611218565b6040516341ec4ef360e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906341ec4ef390610f3390899089906004016123af565b6040805180830381600087803b158015610f4c57600080fd5b505af1158015610f60573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f849190611dce565b50610fbc90506001600160a01b0382167f00000000000000000000000000000000000000000000000000000000000000006000611218565b610fcb84610100015183611312565b50505050505050565b6000806000610fe2846113ca565b60405163becef60760e01b8152929550909350915083906000906001600160a01b0383169063becef6079061101b9087906004016123e6565b60206040518083038186803b15801561103357600080fd5b505afa158015611047573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061106b9190611d68565b905060001983148061107c57508083145b156110f257604051637e2985f360e01b81526001600160a01b03831690637e2985f3906110b1908790339086906004016123f4565b600060405180830381600087803b1580156110cb57600080fd5b505af11580156110df573d6000803e3d6000fd5b505050506110ed85856113f0565b611155565b604051637e2985f360e01b81526001600160a01b03831690637e2985f390611122908790339088906004016123f4565b600060405180830381600087803b15801561113c57600080fd5b505af1158015611150573d6000803e3d6000fd5b505050505b505050505050565b60008261116c57506000610a80565b8282028284828161117957fe5b04146111975760405162461bcd60e51b815260040161025090612351565b9392505050565b60008082116111bf5760405162461bcd60e51b815260040161025090612331565b8183816111c857fe5b049392505050565b6000828211156111f25760405162461bcd60e51b815260040161025090612311565b50900390565b6000808280602001905181019061120f9190611d2e565b91509150915091565b8015806112a05750604051636eb1769f60e11b81526001600160a01b0384169063dd62ed3e9061124e9030908690600401612286565b60206040518083038186803b15801561126657600080fd5b505afa15801561127a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061129e9190611d68565b155b6112bc5760405162461bcd60e51b815260040161025090612391565b6102598363095ea7b360e01b84846040516024016112db9291906122a1565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915261157a565b6040805180820182526001600160a01b0384811680835263ffffffff858116602085018181526000805460018101825581805296517f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563909701805492516001600160a01b0319909316979096169690961763ffffffff60a01b1916600160a01b91909316029190911790925592519092917f9064e110f4af8c3afc5cb815841bb7b2d7b4324b194a740015a249c929d3d0c791a35050565b6000806000838060200190518101906113e39190611ba2565b9250925092509193909250565b60008054905b8181101561157457611406611720565b6000828154811061141357fe5b6000918252602091829020604080518082019091529101546001600160a01b038116825263ffffffff600160a01b909104811692820183905290925085161480156114735750846001600160a01b031681600001516001600160a01b0316145b1561156b57600183038210156114fb576000600184038154811061149357fe5b90600052602060002001600083815481106114aa57fe5b600091825260209091208254910180546001600160a01b0319166001600160a01b0390921691909117808255915463ffffffff600160a01b91829004160263ffffffff60a01b199092169190911790555b600080548061150657fe5b600082815260208120820160001990810180546001600160c01b031916905590910190915560405163ffffffff8616916001600160a01b038816917f0d5bcf97415af39ded48a8e8b4386016db43ed02862eefbd9e5b466c4329ad959190a350611574565b506001016113f6565b50505050565b60606115cf826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166116099092919063ffffffff16565b80519091501561025957808060200190518101906115ed9190611c7f565b6102595760405162461bcd60e51b815260040161025090612381565b60606116188484600085611620565b949350505050565b6060824710156116425760405162461bcd60e51b815260040161025090612321565b61164b856116e1565b6116675760405162461bcd60e51b815260040161025090612371565b60006060866001600160a01b03168587604051611684919061227a565b60006040518083038185875af1925050503d80600081146116c1576040519150601f19603f3d011682016040523d82523d6000602084013e6116c6565b606091505b50915091506116d68282866116e7565b979650505050505050565b3b151590565b606083156116f6575081611197565b8251156117065782518084602001fd5b8160405162461bcd60e51b81526004016102509190612300565b604080518082019091526000808252602082015290565b604080516101a081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052906101008201908152600060208201819052604082018190526060820181905260809091015290565b604080516101a081018252600080825260208201819052918101829052906060820190815260006020820181905260408201819052606082018190526080820181905260a0820181905260c0820181905260e0820181905261010082018190526101209091015290565b8035610a808161253d565b8051610a808161253d565b8051610a8081612551565b60008083601f84011261183d57600080fd5b50813567ffffffffffffffff81111561185557600080fd5b6020830191508360018202830111156109b357600080fd5b600082601f83011261187e57600080fd5b813561189161188c82612443565b61241c565b915080825260208301602083018583830111156118ad57600080fd5b6118b88382846124fb565b50505092915050565b600082601f8301126118d257600080fd5b81516118e061188c82612443565b915080825260208301602083018583830111156118fc57600080fd5b6118b8838284612507565b8051610a808161255a565b60006101a0828403121561192557600080fd5b6119306101a061241c565b9050600061193e8484611b42565b825250602061194f84848301611b63565b602083015250604061196384828501611b63565b604083015250606061197784828501611907565b606083015250608061198b84828501611b37565b60808301525060a061199f84828501611b37565b60a08301525060c06119b384828501611b37565b60c08301525060e06119c784828501611b37565b60e0830152506101006119dc84828501611815565b610100830152506101206119f284828501611815565b61012083015250610140611a0884828501611815565b61014083015250610160611a1e84828501611820565b61016083015250610180611a3484828501611820565b6101808301525092915050565b60006101a08284031215611a5457600080fd5b611a5f6101a061241c565b90506000611a6d8484611815565b8252506020611a7e84848301611815565b6020830152506040611a9284828501611b58565b6040830152506060611aa684828501611b37565b6060830152506080611aba84828501611b37565b60808301525060a0611ace84828501611b37565b60a08301525060c0611ae284828501611b6e565b60c08301525060e0611af684828501611b6e565b60e083015250610100611b0b84828501611907565b61010083015250610120611b2184828501611820565b61012083015250610140611a0884828501611820565b8051610a8081612567565b8051610a8081612570565b8035610a8081612579565b8051610a8081612579565b8051610a8081612582565b8051610a808161258b565b8051610a8081612594565b600060208284031215611b9657600080fd5b60006116188484611815565b600080600060608486031215611bb757600080fd5b6000611bc38686611815565b9350506020611bd486828701611b63565b9250506040611be586828701611b58565b9150509250925092565b60008060008060008060a08789031215611c0857600080fd5b6000611c14898961180a565b9650506020611c2589828a0161180a565b9550506040611c3689828a01611b4d565b9450506060611c4789828a01611b4d565b935050608087013567ffffffffffffffff811115611c6457600080fd5b611c7089828a0161182b565b92509250509295509295509295565b600060208284031215611c9157600080fd5b60006116188484611820565b600060208284031215611caf57600080fd5b813567ffffffffffffffff811115611cc657600080fd5b6116188482850161186d565b60006101a08284031215611ce557600080fd5b60006116188484611912565b60006101a08284031215611d0457600080fd5b60006116188484611a41565b600060208284031215611d2257600080fd5b60006116188484611b37565b60008060408385031215611d4157600080fd5b6000611d4d8585611b42565b9250506020611d5e85828601611b37565b9150509250929050565b600060208284031215611d7a57600080fd5b60006116188484611b58565b60008060408385031215611d9957600080fd5b6000611da58585611b58565b925050602083015167ffffffffffffffff811115611dc257600080fd5b611d5e858286016118c1565b60008060408385031215611de157600080fd5b6000611d4d8585611b58565b600060208284031215611dff57600080fd5b60006116188484611b63565b600060208284031215611e1d57600080fd5b60006116188484611b79565b6000611e358383611e6c565b505060200190565b6000611e498383612229565b505060400190565b6000611e35838361225f565b611e66816124df565b82525050565b611e6681612483565b6000611e8082612471565b611e8a8185612475565b9350611e958361246b565b8060005b83811015611ec3578151611ead8882611e29565b9750611eb88361246b565b925050600101611e99565b509495945050505050565b6000611ed982612471565b611ee38185612475565b9350611eee8361246b565b8060005b83811015611ec3578151611f068882611e3d565b9750611f118361246b565b925050600101611ef2565b6000611f2782612471565b611f318185612475565b9350611f3c8361246b565b8060005b83811015611ec3578151611f548882611e51565b9750611f5f8361246b565b925050600101611f40565b611e6681612493565b6000611f7e82612471565b611f88818561247e565b9350611f98818560208601612507565b9290920192915050565b6000611fad82612471565b611fb78185612475565b9350611fc7818560208601612507565b611fd081612533565b9093019392505050565b6000611fe7601e83612475565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000612020602683612475565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f8152651c8818d85b1b60d21b602082015260400192915050565b6000612068601a83612475565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b60006120a1602683612475565b7f7265636569766543616c6c46726f6d5661756c743a20496e76616c69642061638152651d1a5bdb925960d21b602082015260400192915050565b60006120e9602183612475565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b600061212c601183612475565b70141c9a58d9481b9bdd081cd95d1d1b1959607a1b815260200192915050565b6000612159601d83612475565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000815260200192915050565b6000612192602a83612475565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e8152691bdd081cdd58d8d9595960b21b602082015260400192915050565b60006121de603683612475565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f81527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b602082015260400192915050565b8051604083019061223a8482611e6c565b5060208201516115746020850182612271565b611e66816124a0565b611e66816124b8565b611e66816124c0565b611e66816124f0565b611e66816124c3565b60006111978284611f73565b604081016122948285611e6c565b6111976020830184611e6c565b604081016122af8285611e6c565b611197602083018461225f565b604080825281016122cd8185611e75565b905081810360208301526116188184611f1c565b602080825281016111978184611ece565b60208101610a808284611f6a565b602080825281016111978184611fa2565b60208082528101610a8081611fda565b60208082528101610a8081612013565b60208082528101610a808161205b565b60208082528101610a8081612094565b60208082528101610a80816120dc565b60208082528101610a808161211f565b60208082528101610a808161214c565b60208082528101610a8081612185565b60208082528101610a80816121d1565b60208101610a808284612256565b604081016123bd8285612256565b611197602083018461224d565b60208101610a80828461225f565b60408101612294828561225f565b60208101610a808284612268565b606081016124028286612268565b61240f6020830185611e5d565b611618604083018461225f565b60405181810167ffffffffffffffff8111828210171561243b57600080fd5b604052919050565b600067ffffffffffffffff82111561245a57600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b919050565b6000610a80826124ac565b151590565b6001600160e01b03191690565b6001600160801b031690565b6001600160a01b031690565b62ffffff1690565b90565b63ffffffff1690565b67ffffffffffffffff1690565b60ff1690565b6000610a80826000610a8082612483565b6000610a80826124c3565b82818337506000910152565b60005b8381101561252257818101518382015260200161250a565b838111156115745750506000910152565b601f01601f191690565b61254681612483565b81146100eb57600080fd5b6125468161248e565b600281106100eb57600080fd5b612546816124a0565b612546816124b8565b612546816124c0565b612546816124c3565b612546816124cc565b612546816124d956fea164736f6c634300060c000a", - "sourceMap": "1119:9400:124:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1854:48;;;;;;:::i;:::-;;:::i;:::-;;5801:853;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;10258:259;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;2030:465::-;;;;;;:::i;:::-;;:::i;5446:176::-;;;:::i;9685:132::-;;;:::i;:::-;;;;;;;:::i;1854:48::-;;:::o;5801:853::-;5880:24;5906:25;5972:39;6014:20;:18;:20::i;:::-;6069:22;;5972:62;;-1:-1:-1;6044:22:124;6101:487;6121:14;6117:1;:18;6101:487;;;6156:36;;:::i;:::-;6195:15;6211:1;6195:18;;;;;;;;;;;;;;6156:57;;6229:23;6254:24;6282:115;6321:14;:22;;;6361:14;:22;;;6282:21;:115::i;:::-;6228:169;;;;6417:9;6412:166;6432:6;:13;6428:1;:17;6412:166;;;6480:26;6496:6;6503:1;6496:9;;;;;;;;;;;;;;6480:7;:15;;:26;;;;:::i;:::-;6470:36;;6535:28;6552:7;6560:1;6552:10;;;;;;;;;;;;;;6535:8;:16;;:28;;;;:::i;:::-;6524:39;-1:-1:-1;6447:3:124;;6412:166;;;-1:-1:-1;;6137:3:124;;;;;-1:-1:-1;6101:487:124;;-1:-1:-1;6101:487:124;;;6605:42;6629:7;6638:8;6605:23;:42::i;:::-;6598:49;;;;;;5801:853;;:::o;10258:259::-;10443:66;10258:259;;;;;;;;:::o;2030:465::-;2115:16;2133:23;2171:11;2160:41;;;;;;;;;;;;:::i;:::-;2114:87;;-1:-1:-1;2114:87:124;-1:-1:-1;2216:40:124;2212:277;;2272:31;2292:10;2272:19;:31::i;:::-;2212:277;;;2344:13;2324:8;:34;2320:169;;;2374:25;2388:10;2374:13;:25::i;2320:169::-;2430:48;;-1:-1:-1;;;2430:48:124;;;;;;;:::i;:::-;;;;;;;;2320:169;2030:465;;;:::o;5446:176::-;5522:24;5548:25;5446:176;:::o;9685:132::-;9736:40;9795:15;9788:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9788:22:124;;;;-1:-1:-1;;;9788:22:124;;;;;;;;;;;;;;;;;;;;;;;;;9685:132;:::o;6996:2506::-;7095:24;7121:25;7162:34;7218:8;7162:65;;7237:28;7284:15;-1:-1:-1;;;;;7284:24:124;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7237:74;;7321:14;7338:15;-1:-1:-1;;;;;7338:34:124;;7373:8;7338:44;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7321:61;;7392:19;7414:12;-1:-1:-1;;;;;7414:27:124;;7442:6;7414:35;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7392:57;;7482:1;7468:11;-1:-1:-1;;;;;7468:15:124;;7460:45;;;;-1:-1:-1;;;7460:45:124;;;;;;;:::i;:::-;7516:44;;:::i;:::-;7563:37;;-1:-1:-1;;;7563:37:124;;-1:-1:-1;;;;;7563:29:124;;;;;:37;;7593:6;;7563:37;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7516:84;;7610:20;7633:15;-1:-1:-1;;;;;7633:28:124;;7662:8;7633:38;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7610:61;;7682:27;7719:24;7758:10;:27;;;7754:778;;;7823:153;7946:12;-1:-1:-1;;;;;7946:26:124;;:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7938:37;;7934:2;:41;7823:89;7875:10;:23;;;-1:-1:-1;;;;;7869:39:124;;:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7823:12;;7861:50;;7857:2;:54;7823:33;:89::i;:::-;:110;;:153::i;:::-;7801:175;;8009:10;:23;;;-1:-1:-1;;;;;7995:37:124;:11;-1:-1:-1;;;;;7995:37:124;;7991:209;;;8071:114;8138:29;:12;-1:-1:-1;;;;;8138:29:124;;:16;:29::i;:::-;8088:23;;;;8071:41;;:12;;-1:-1:-1;;;;;8071:41:124;:16;:41::i;:::-;:45;;:114::i;:::-;8052:133;;7991:209;7754:778;;;8248:10;:22;;;-1:-1:-1;;;;;8234:36:124;:11;-1:-1:-1;;;;;8234:36:124;;8230:230;;;8304:10;:22;;;8290:36;;8230:230;;;8365:10;:23;;;-1:-1:-1;;;;;8351:37:124;:11;-1:-1:-1;;;;;8351:37:124;;8347:113;;;8422:10;:23;;;8408:37;;8347:113;8492:29;:12;-1:-1:-1;;;;;8492:29:124;;:16;:29::i;:::-;8473:48;;7754:778;8546:23;;8542:459;;8685:23;;;;8618:104;;-1:-1:-1;;;8618:104:124;;8585:30;;-1:-1:-1;;;;;8618:25:124;;;;;:104;;8661:6;;8685:23;8618:104;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8585:137;;8763:22;8741:19;:44;8737:127;;;8827:22;8805:44;;8737:127;8904:23;;;;8888:40;;:7;;:15;:40::i;:::-;8878:50;-1:-1:-1;8953:37:124;:8;8970:19;8953:16;:37::i;:::-;8942:48;;8542:459;;9015:20;;9011:448;;9051:27;9081:12;-1:-1:-1;;;;;9081:25:124;;9124:6;9148:15;-1:-1:-1;;;;;9148:26:124;;:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9081:109;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9051:139;;9228:19;9209:16;:38;9205:115;;;9286:19;9267:38;;9205:115;9344:45;9360:15;-1:-1:-1;;;;;9360:26:124;;:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9344:7;;:15;:45::i;:::-;9334:55;-1:-1:-1;9414:34:124;:8;9431:16;9414;:34::i;:::-;9403:45;;9011:448;;9469:26;;;;;;;;6996:2506;;;;;;:::o;1668:374:354:-;1776:27;1846:5;:12;1861:1;1846:16;1832:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1832:31:354;;1819:44;;1878:9;1873:88;1893:5;:12;1889:1;:16;1873:88;;;1942:5;1948:1;1942:8;;;;;;;;;;;;;;1926:10;1937:1;1926:13;;;;;;;;-1:-1:-1;;;;;1926:24:354;;;:13;;;;;;;;;;;:24;1907:3;;1873:88;;;;1997:10;1970;1981:5;:12;1970:24;;;;;;;;;;;;;:37;-1:-1:-1;;;;;1970:37:354;;;-1:-1:-1;;;;;1970:37:354;;;;;1668:374;;;;;:::o;::363:-;1776:27;1846:5;:12;1861:1;1846:16;1832:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1832:31:363;;1819:44;;1878:9;1873:88;1893:5;:12;1889:1;:16;1873:88;;;1942:5;1948:1;1942:8;;;;;;;;;;;;;;1926:10;1937:1;1926:13;;;;;;;;;;;;;;;;;:24;1907:3;;1873:88;;;;1997:10;1970;1981:5;:12;1970:24;;;;;;;;;;;;;:37;;;;;1668:374;;;;:::o;749:1574:355:-;888:34;924:35;979:10;:17;1000:1;979:22;975:99;;;1017:46;;975:99;1115:1;;1126:361;1150:10;:17;1146:1;:21;1126:361;;;1188:13;1220:9;1215:179;1235:1;1231;:5;1215:179;;;1282:10;1293:1;1282:13;;;;;;;;;;;;;;-1:-1:-1;;;;;1265:30:355;:10;1276:1;1265:13;;;;;;;;;;;;;;-1:-1:-1;;;;;1265:30:355;;1261:119;;;1330:4;1319:15;;1356:5;;1261:119;1238:3;;1215:179;;;;1412:8;1407:70;;1440:22;;;;;1407:70;-1:-1:-1;1169:3:355;;1126:361;;;;1531:20;1517:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1517:35:355;;1497:55;;1597:20;1583:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1583:35:355;;1562:56;;1628:28;1671:9;1666:594;1686:10;:17;1682:1;:21;1666:594;;;1724:13;1756:9;1751:268;1771:20;1767:1;:24;1751:268;;;1837:17;1855:1;1837:20;;;;;;;;;;;;;;-1:-1:-1;;;;;1820:37:355;:10;1831:1;1820:13;;;;;;;;;;;;;;-1:-1:-1;;;;;1820:37:355;;1816:189;;;1892:4;1881:15;;1944:11;1956:1;1944:14;;;;;;;;;;;;;;1919:18;1938:1;1919:21;;;;;;;;;;;;;:39;;;;;;;;;;;1981:5;;1816:189;1793:3;;1751:268;;;;2037:8;2032:218;;2107:10;2118:1;2107:13;;;;;;;;;;;;;;2065:17;2083:20;2065:39;;;;;;;;;;;;;:55;-1:-1:-1;;;;;2065:55:355;;;-1:-1:-1;;;;;2065:55:355;;;;;2181:11;2193:1;2181:14;;;;;;;;;;;;;;2138:18;2157:20;2138:40;;;;;;;;;;;;;;;;;:57;2213:22;;;;;2032:218;-1:-1:-1;1705:3:355;;1666:594;;;;2270:46;;749:1574;;;;;:::o;2580:897:124:-;2654:14;2670:13;2687:42;2717:11;2687:29;:42::i;:::-;2653:76;;;;2740;;:::i;:::-;2819:56;;-1:-1:-1;;;2819:56:124;;-1:-1:-1;;;;;2819:37:124;:47;;;;:56;;2867:7;;2819:56;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2740:135;;2886:34;2942:8;:16;;;2886:73;;2969:18;2990:15;-1:-1:-1;;;;;2990:27:124;;:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3058:17;;;;2969:50;;-1:-1:-1;3086:126:124;-1:-1:-1;;;;;3086:25:124;;3133:37;-1:-1:-1;;3086:25:124;:126::i;:::-;3223:57;;-1:-1:-1;;;3223:57:124;;-1:-1:-1;;;;;3223:37:124;:41;;;;:57;;3265:7;;3274:5;;3223:57;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;3333:76:124;;-1:-1:-1;;;;;;3333:25:124;;3367:37;3407:1;3333:25;:76::i;:::-;3420:50;3440:8;:16;;;3458:11;3420:19;:50::i;:::-;2580:897;;;;;;;:::o;3536:593::-;3604:15;3621:14;3637:13;3654:36;3678:11;3654:23;:36::i;:::-;3798:37;;-1:-1:-1;;;3798:37:124;;3603:87;;-1:-1:-1;3603:87:124;;-1:-1:-1;3603:87:124;-1:-1:-1;3603:87:124;;3701:34;;-1:-1:-1;;;;;3798:28:124;;;;;:37;;3603:87;;3798:37;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3775:60;;-1:-1:-1;;3850:5:124;:26;:51;;;;3889:12;3880:5;:21;3850:51;3846:277;;;3917:58;;-1:-1:-1;;;3917:58:124;;-1:-1:-1;;;;;3917:23:124;;;;;:58;;3941:7;;3950:10;;3962:12;;3917:58;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3990:40;4013:7;4022;3990:22;:40::i;:::-;3846:277;;;4061:51;;-1:-1:-1;;;4061:51:124;;-1:-1:-1;;;;;4061:23:124;;;;;:51;;4085:7;;4094:10;;4106:5;;4061:51;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3846:277;3536:593;;;;;;:::o;3538:215:442:-;3596:7;3619:6;3615:20;;-1:-1:-1;3634:1:442;3627:8;;3615:20;3657:5;;;3661:1;3657;:5;:1;3680:5;;;;;:10;3672:56;;;;-1:-1:-1;;;3672:56:442;;;;;;;:::i;:::-;3745:1;3538:215;-1:-1:-1;;;3538:215:442:o;4217:150::-;4275:7;4306:1;4302;:5;4294:44;;;;-1:-1:-1;;;4294:44:442;;;;;;;:::i;:::-;4359:1;4355;:5;;;;;;;4217:150;-1:-1:-1;;;4217:150:442:o;3136:155::-;3194:7;3226:1;3221;:6;;3213:49;;;;-1:-1:-1;;;3213:49:442;;;;;;;:::i;:::-;-1:-1:-1;3279:5:442;;;3136:155::o;608:218:123:-;720:18;740:14;788:11;777:42;;;;;;;;;;;;:::i;:::-;770:49;;;;608:218;;;:::o;1348:613:450:-;1713:10;;;1712:62;;-1:-1:-1;1729:39:450;;-1:-1:-1;;;1729:39:450;;-1:-1:-1;;;;;1729:15:450;;;;;:39;;1753:4;;1760:7;;1729:39;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:44;1712:62;1704:150;;;;-1:-1:-1;;;1704:150:450;;;;;;;:::i;:::-;1864:90;1884:5;1914:22;;;1938:7;1947:5;1891:62;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;1891:62:450;;;;;;;;;;;;;;-1:-1:-1;;;;;1891:62:450;-1:-1:-1;;;;;;1891:62:450;;;;;;;;;;1864:19;:90::i;4215:219:124:-;4318:54;;;;;;;;-1:-1:-1;;;;;4318:54:124;;;;;;;;;;;;;;;;-1:-1:-1;4297:76:124;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;4297:76:124;;;;;;;;;;;-1:-1:-1;;;;4297:76:124;-1:-1:-1;;;4297:76:124;;;;;;;;;;;;4388:39;;4318:54;;;4388:39;;;4215:219;;:::o;896:282:123:-;1015:16;1045:15;1074:14;1131:11;1120:51;;;;;;;;;;;;:::i;:::-;1113:58;;;;;;896:282;;;;;:::o;4527:673:124:-;4612:29;4644:22;;;4676:518;4696:21;4692:1;:25;4676:518;;;4738:36;;:::i;:::-;4777:15;4793:1;4777:18;;;;;;;;;;;;;;;;;4738:57;;;;;;;;;4777:18;;4738:57;-1:-1:-1;;;;;4738:57:124;;;;;-1:-1:-1;;;4738:57:124;;;;;;;;;;;;;-1:-1:-1;4813:34:124;;;:72;;;;;4877:8;-1:-1:-1;;;;;4851:34:124;:14;:22;;;-1:-1:-1;;;;;4851:34:124;;4813:72;4809:375;;;4937:1;4913:21;:25;4909:1;:29;4905:139;;;4983:15;5023:1;4999:21;:25;4983:42;;;;;;;;;;;;;;;4962:15;4978:1;4962:18;;;;;;;;;;;;;;;;:63;;:18;;:63;;-1:-1:-1;;;;;;4962:63:124;-1:-1:-1;;;;;4962:63:124;;;;;;;;;;;;;-1:-1:-1;;;4962:63:124;;;;;;-1:-1:-1;;;;4962:63:124;;;;;;;;;4905:139;5061:15;:21;;;;;;;;;;;;;;;;-1:-1:-1;;5061:21:124;;;;;-1:-1:-1;;;;;;5061:21:124;;;;;;;;;5105:41;;5061:21;5105:41;;;-1:-1:-1;;;;;5105:41:124;;;;;5061:21;5105:41;5164:5;;;4809:375;-1:-1:-1;4719:3:124;;4676:518;;;;4527:673;;;:::o;2967:751:450:-;3386:23;3412:69;3440:4;3412:69;;;;;;;;;;;;;;;;;3420:5;-1:-1:-1;;;;;3412:27:450;;;:69;;;;;:::i;:::-;3495:17;;3386:95;;-1:-1:-1;3495:21:450;3491:221;;3635:10;3624:30;;;;;;;;;;;;:::i;:::-;3616:85;;;;-1:-1:-1;;;3616:85:450;;;;;;;:::i;3581:193:451:-;3684:12;3715:52;3737:6;3745:4;3751:1;3754:12;3715:21;:52::i;:::-;3708:59;3581:193;-1:-1:-1;;;;3581:193:451:o;4608:523::-;4735:12;4792:5;4767:21;:30;;4759:81;;;;-1:-1:-1;;;4759:81:451;;;;;;;:::i;:::-;4858:18;4869:6;4858:10;:18::i;:::-;4850:60;;;;-1:-1:-1;;;4850:60:451;;;;;;;:::i;:::-;4981:12;4995:23;5022:6;-1:-1:-1;;;;;5022:11:451;5042:5;5050:4;5022:33;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4980:75;;;;5072:52;5090:7;5099:10;5111:12;5072:17;:52::i;:::-;5065:59;4608:523;-1:-1:-1;;;;;;;4608:523:451:o;726:413::-;1086:20;1124:8;;;726:413::o;7091:725::-;7206:12;7234:7;7230:580;;;-1:-1:-1;7264:10:451;7257:17;;7230:580;7375:17;;:21;7371:429;;7633:10;7627:17;7693:15;7680:10;7676:2;7672:19;7665:44;7582:145;7772:12;7765:20;;-1:-1:-1;;;7765:20:451;;;;;;;;:::i;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5:130::-;72:20;;97:33;72:20;97:33;:::i;142:134::-;220:13;;238:33;220:13;238:33;:::i;440:128::-;515:13;;533:30;515:13;533:30;:::i;589:336::-;;;703:3;696:4;688:6;684:17;680:27;670:2;;721:1;718;711:12;670:2;-1:-1;741:20;;781:18;770:30;;767:2;;;813:1;810;803:12;767:2;847:4;839:6;835:17;823:29;;898:3;890:4;882:6;878:17;868:8;864:32;861:41;858:2;;;915:1;912;905:12;934:440;;1035:3;1028:4;1020:6;1016:17;1012:27;1002:2;;1053:1;1050;1043:12;1002:2;1090:6;1077:20;1112:64;1127:48;1168:6;1127:48;:::i;:::-;1112:64;:::i;:::-;1103:73;;1196:6;1189:5;1182:21;1232:4;1224:6;1220:17;1265:4;1258:5;1254:16;1300:3;1291:6;1286:3;1282:16;1279:25;1276:2;;;1317:1;1314;1307:12;1276:2;1327:41;1361:6;1356:3;1351;1327:41;:::i;:::-;995:379;;;;;;;:::o;1383:442::-;;1495:3;1488:4;1480:6;1476:17;1472:27;1462:2;;1513:1;1510;1503:12;1462:2;1543:6;1537:13;1565:64;1580:48;1621:6;1580:48;:::i;1565:64::-;1556:73;;1649:6;1642:5;1635:21;1685:4;1677:6;1673:17;1718:4;1711:5;1707:16;1753:3;1744:6;1739:3;1735:16;1732:25;1729:2;;;1770:1;1767;1760:12;1729:2;1780:39;1812:6;1807:3;1802;1780:39;:::i;1833:174::-;1931:13;;1949:53;1931:13;1949:53;:::i;2247:2280::-;;2374:6;2362:9;2357:3;2353:19;2349:32;2346:2;;;2394:1;2391;2384:12;2346:2;2412:22;2427:6;2412:22;:::i;:::-;2403:31;-1:-1;2490:1;2522:59;2577:3;2557:9;2522:59;:::i;:::-;2497:85;;-1:-1;2648:2;2681:59;2736:3;2712:22;;;2681:59;:::i;:::-;2674:4;2667:5;2663:16;2656:85;2603:149;2805:2;2838:59;2893:3;2884:6;2873:9;2869:22;2838:59;:::i;:::-;2831:4;2824:5;2820:16;2813:85;2762:147;2964:2;2997:75;3068:3;3059:6;3048:9;3044:22;2997:75;:::i;:::-;2990:4;2983:5;2979:16;2972:101;2919:165;3140:3;3174:60;3230:3;3221:6;3210:9;3206:22;3174:60;:::i;:::-;3167:4;3160:5;3156:16;3149:86;3094:152;3297:3;3331:60;3387:3;3378:6;3367:9;3363:22;3331:60;:::i;:::-;3324:4;3317:5;3313:16;3306:86;3256:147;3452:3;3486:60;3542:3;3533:6;3522:9;3518:22;3486:60;:::i;:::-;3479:4;3472:5;3468:16;3461:86;3413:145;3607:3;3641:60;3697:3;3688:6;3677:9;3673:22;3641:60;:::i;:::-;3634:4;3627:5;3623:16;3616:86;3568:145;3766:3;3802:60;3858:3;3849:6;3838:9;3834:22;3802:60;:::i;:::-;3793:6;3786:5;3782:18;3775:88;3723:151;3928:3;3964:60;4020:3;4011:6;4000:9;3996:22;3964:60;:::i;:::-;3955:6;3948:5;3944:18;3937:88;3884:152;4088:3;4124:60;4180:3;4171:6;4160:9;4156:22;4124:60;:::i;:::-;4115:6;4108:5;4104:18;4097:88;4046:150;4254:3;4290:57;4343:3;4334:6;4323:9;4319:22;4290:57;:::i;:::-;4281:6;4274:5;4270:18;4263:85;4206:153;4412:3;4448:57;4501:3;4492:6;4481:9;4477:22;4448:57;:::i;:::-;4439:6;4432:5;4428:18;4421:85;4369:148;2340:2187;;;;:::o;4574:2332::-;;4703:6;4691:9;4686:3;4682:19;4678:32;4675:2;;;4723:1;4720;4713:12;4675:2;4741:22;4756:6;4741:22;:::i;:::-;4732:31;-1:-1;4815:1;4847:60;4903:3;4883:9;4847:60;:::i;:::-;4822:86;;-1:-1;4977:2;5010:60;5066:3;5042:22;;;5010:60;:::i;:::-;5003:4;4996:5;4992:16;4985:86;4929:153;5138:2;5171:60;5227:3;5218:6;5207:9;5203:22;5171:60;:::i;:::-;5164:4;5157:5;5153:16;5146:86;5092:151;5300:2;5333:60;5389:3;5380:6;5369:9;5365:22;5333:60;:::i;:::-;5326:4;5319:5;5315:16;5308:86;5253:152;5463:3;5497:60;5553:3;5544:6;5533:9;5529:22;5497:60;:::i;:::-;5490:4;5483:5;5479:16;5472:86;5415:154;5626:3;5660:60;5716:3;5707:6;5696:9;5692:22;5660:60;:::i;:::-;5653:4;5646:5;5642:16;5635:86;5579:153;5791:3;5825:59;5880:3;5871:6;5860:9;5856:22;5825:59;:::i;:::-;5818:4;5811:5;5807:16;5800:85;5742:154;5950:3;5984:59;6039:3;6030:6;6019:9;6015:22;5984:59;:::i;:::-;5977:4;5970:5;5966:16;5959:85;5906:149;6115:3;6151:80;6227:3;6218:6;6207:9;6203:22;6151:80;:::i;:::-;6142:6;6135:5;6131:18;6124:108;6065:178;6305:3;6341:57;6394:3;6385:6;6374:9;6370:22;6341:57;:::i;:::-;6332:6;6325:5;6321:18;6314:85;6253:157;6473:3;6509:57;6562:3;6553:6;6542:9;6538:22;6509:57;:::i;6913:134::-;6991:13;;7009:33;6991:13;7009:33;:::i;7054:132::-;7131:13;;7149:32;7131:13;7149:32;:::i;7193:130::-;7260:20;;7285:33;7260:20;7285:33;:::i;7330:134::-;7408:13;;7426:33;7408:13;7426:33;:::i;7471:132::-;7548:13;;7566:32;7548:13;7566:32;:::i;7610:132::-;7687:13;;7705:32;7687:13;7705:32;:::i;7749:130::-;7825:13;;7843:31;7825:13;7843:31;:::i;7886:263::-;;8001:2;7989:9;7980:7;7976:23;7972:32;7969:2;;;8017:1;8014;8007:12;7969:2;8052:1;8069:64;8125:7;8105:9;8069:64;:::i;8156:549::-;;;;8312:2;8300:9;8291:7;8287:23;8283:32;8280:2;;;8328:1;8325;8318:12;8280:2;8363:1;8380:72;8444:7;8424:9;8380:72;:::i;:::-;8370:82;;8342:116;8489:2;8507:63;8562:7;8553:6;8542:9;8538:22;8507:63;:::i;:::-;8497:73;;8468:108;8607:2;8625:64;8681:7;8672:6;8661:9;8657:22;8625:64;:::i;:::-;8615:74;;8586:109;8274:431;;;;;:::o;8712:867::-;;;;;;;8903:3;8891:9;8882:7;8878:23;8874:33;8871:2;;;8920:1;8917;8910:12;8871:2;8955:1;8972:53;9017:7;8997:9;8972:53;:::i;:::-;8962:63;;8934:97;9062:2;9080:53;9125:7;9116:6;9105:9;9101:22;9080:53;:::i;:::-;9070:63;;9041:98;9170:2;9188:53;9233:7;9224:6;9213:9;9209:22;9188:53;:::i;:::-;9178:63;;9149:98;9278:2;9296:53;9341:7;9332:6;9321:9;9317:22;9296:53;:::i;:::-;9286:63;;9257:98;9414:3;9403:9;9399:19;9386:33;9439:18;9431:6;9428:30;9425:2;;;9471:1;9468;9461:12;9425:2;9499:64;9555:7;9546:6;9535:9;9531:22;9499:64;:::i;:::-;9481:82;;;;9365:204;8865:714;;;;;;;;:::o;9586:257::-;;9698:2;9686:9;9677:7;9673:23;9669:32;9666:2;;;9714:1;9711;9704:12;9666:2;9749:1;9766:61;9819:7;9799:9;9766:61;:::i;9850:345::-;;9963:2;9951:9;9942:7;9938:23;9934:32;9931:2;;;9979:1;9976;9969:12;9931:2;10014:31;;10065:18;10054:30;;10051:2;;;10097:1;10094;10087:12;10051:2;10117:62;10171:7;10162:6;10151:9;10147:22;10117:62;:::i;10202:318::-;;10344:3;10332:9;10323:7;10319:23;10315:33;10312:2;;;10361:1;10358;10351:12;10312:2;10396:1;10413:91;10496:7;10476:9;10413:91;:::i;10527:322::-;;10671:3;10659:9;10650:7;10646:23;10642:33;10639:2;;;10688:1;10685;10678:12;10639:2;10723:1;10740:93;10825:7;10805:9;10740:93;:::i;10856:263::-;;10971:2;10959:9;10950:7;10946:23;10942:32;10939:2;;;10987:1;10984;10977:12;10939:2;11022:1;11039:64;11095:7;11075:9;11039:64;:::i;11126:397::-;;;11257:2;11245:9;11236:7;11232:23;11228:32;11225:2;;;11273:1;11270;11263:12;11225:2;11308:1;11325:63;11380:7;11360:9;11325:63;:::i;:::-;11315:73;;11287:107;11425:2;11443:64;11499:7;11490:6;11479:9;11475:22;11443:64;:::i;:::-;11433:74;;11404:109;11219:304;;;;;:::o;11530:263::-;;11645:2;11633:9;11624:7;11620:23;11616:32;11613:2;;;11661:1;11658;11651:12;11613:2;11696:1;11713:64;11769:7;11749:9;11713:64;:::i;11800:496::-;;;11941:2;11929:9;11920:7;11916:23;11912:32;11909:2;;;11957:1;11954;11947:12;11909:2;11992:1;12009:64;12065:7;12045:9;12009:64;:::i;:::-;11999:74;;11971:108;12131:2;12120:9;12116:18;12110:25;12155:18;12147:6;12144:30;12141:2;;;12187:1;12184;12177:12;12141:2;12207:73;12272:7;12263:6;12252:9;12248:22;12207:73;:::i;12303:399::-;;;12435:2;12423:9;12414:7;12410:23;12406:32;12403:2;;;12451:1;12448;12441:12;12403:2;12486:1;12503:64;12559:7;12539:9;12503:64;:::i;12709:261::-;;12823:2;12811:9;12802:7;12798:23;12794:32;12791:2;;;12839:1;12836;12829:12;12791:2;12874:1;12891:63;12946:7;12926:9;12891:63;:::i;12977:259::-;;13090:2;13078:9;13069:7;13065:23;13061:32;13058:2;;;13106:1;13103;13096:12;13058:2;13141:1;13158:62;13212:7;13192:9;13158:62;:::i;13244:173::-;;13331:46;13373:3;13365:6;13331:46;:::i;:::-;-1:-1;;13406:4;13397:14;;13324:93::o;13426:301::-;;13577:110;13683:3;13675:6;13577:110;:::i;:::-;-1:-1;;13716:4;13707:14;;13570:157::o;13736:173::-;;13823:46;13865:3;13857:6;13823:46;:::i;13917:142::-;14008:45;14047:5;14008:45;:::i;:::-;14003:3;13996:58;13990:69;;:::o;14066:103::-;14139:24;14157:5;14139:24;:::i;14327:690::-;;14472:54;14520:5;14472:54;:::i;:::-;14539:86;14618:6;14613:3;14539:86;:::i;:::-;14532:93;;14646:56;14696:5;14646:56;:::i;:::-;14722:7;14750:1;14735:260;14760:6;14757:1;14754:13;14735:260;;;14827:6;14821:13;14848:63;14907:3;14892:13;14848:63;:::i;:::-;14841:70;;14928:60;14981:6;14928:60;:::i;:::-;14918:70;-1:-1;;14782:1;14775:9;14735:260;;;-1:-1;15008:3;;14451:566;-1:-1;;;;;14451:566::o;15148:946::-;;15357:86;15437:5;15357:86;:::i;:::-;15456:118;15567:6;15562:3;15456:118;:::i;:::-;15449:125;;15595:88;15677:5;15595:88;:::i;:::-;15703:7;15731:1;15716:356;15741:6;15738:1;15735:13;15716:356;;;15808:6;15802:13;15829:127;15952:3;15937:13;15829:127;:::i;:::-;15822:134;;15973:92;16058:6;15973:92;:::i;:::-;15963:102;-1:-1;;15763:1;15756:9;15716:356;;16133:690;;16278:54;16326:5;16278:54;:::i;:::-;16345:86;16424:6;16419:3;16345:86;:::i;:::-;16338:93;;16452:56;16502:5;16452:56;:::i;:::-;16528:7;16556:1;16541:260;16566:6;16563:1;16560:13;16541:260;;;16633:6;16627:13;16654:63;16713:3;16698:13;16654:63;:::i;:::-;16647:70;;16734:60;16787:6;16734:60;:::i;:::-;16724:70;-1:-1;;16588:1;16581:9;16541:260;;16831:110;16912:23;16929:5;16912:23;:::i;16948:356::-;;17076:38;17108:5;17076:38;:::i;:::-;17126:88;17207:6;17202:3;17126:88;:::i;:::-;17119:95;;17219:52;17264:6;17259:3;17252:4;17245:5;17241:16;17219:52;:::i;:::-;17283:16;;;;;17056:248;-1:-1;;17056:248::o;17311:347::-;;17423:39;17456:5;17423:39;:::i;:::-;17474:71;17538:6;17533:3;17474:71;:::i;:::-;17467:78;;17550:52;17595:6;17590:3;17583:4;17576:5;17572:16;17550:52;:::i;:::-;17623:29;17645:6;17623:29;:::i;:::-;17614:39;;;;17403:255;-1:-1;;;17403:255::o;17666:330::-;;17826:67;17890:2;17885:3;17826:67;:::i;:::-;17926:32;17906:53;;17987:2;17978:12;;17812:184;-1:-1;;17812:184::o;18005:375::-;;18165:67;18229:2;18224:3;18165:67;:::i;:::-;18265:34;18245:55;;-1:-1;;;18329:2;18320:12;;18313:30;18371:2;18362:12;;18151:229;-1:-1;;18151:229::o;18389:326::-;;18549:67;18613:2;18608:3;18549:67;:::i;:::-;18649:28;18629:49;;18706:2;18697:12;;18535:180;-1:-1;;18535:180::o;18724:375::-;;18884:67;18948:2;18943:3;18884:67;:::i;:::-;18984:34;18964:55;;-1:-1;;;19048:2;19039:12;;19032:30;19090:2;19081:12;;18870:229;-1:-1;;18870:229::o;19108:370::-;;19268:67;19332:2;19327:3;19268:67;:::i;:::-;19368:34;19348:55;;-1:-1;;;19432:2;19423:12;;19416:25;19469:2;19460:12;;19254:224;-1:-1;;19254:224::o;19487:317::-;;19647:67;19711:2;19706:3;19647:67;:::i;:::-;-1:-1;;;19727:40;;19795:2;19786:12;;19633:171;-1:-1;;19633:171::o;19813:329::-;;19973:67;20037:2;20032:3;19973:67;:::i;:::-;20073:31;20053:52;;20133:2;20124:12;;19959:183;-1:-1;;19959:183::o;20151:379::-;;20311:67;20375:2;20370:3;20311:67;:::i;:::-;20411:34;20391:55;;-1:-1;;;20475:2;20466:12;;20459:34;20521:2;20512:12;;20297:233;-1:-1;;20297:233::o;20539:391::-;;20699:67;20763:2;20758:3;20699:67;:::i;:::-;20799:34;20779:55;;-1:-1;;;20863:2;20854:12;;20847:46;20921:2;20912:12;;20685:245;-1:-1;;20685:245::o;21055:484::-;21271:23;;21202:4;21193:14;;;21300:63;21197:3;21271:23;21300:63;:::i;:::-;21222:147;21445:4;21438:5;21434:16;21428:23;21457:61;21512:4;21507:3;21503:14;21489:12;21457:61;:::i;21546:113::-;21629:24;21647:5;21629:24;:::i;21666:110::-;21747:23;21764:5;21747:23;:::i;21783:103::-;21856:24;21874:5;21856:24;:::i;22013:124::-;22095:36;22125:5;22095:36;:::i;22144:100::-;22215:23;22232:5;22215:23;:::i;22251:271::-;;22404:93;22493:3;22484:6;22404:93;:::i;22529:333::-;22684:2;22669:18;;22698:71;22673:9;22742:6;22698:71;:::i;:::-;22780:72;22848:2;22837:9;22833:18;22824:6;22780:72;:::i;22869:333::-;23024:2;23009:18;;23038:71;23013:9;23082:6;23038:71;:::i;:::-;23120:72;23188:2;23177:9;23173:18;23164:6;23120:72;:::i;23209:629::-;23464:2;23478:47;;;23449:18;;23539:108;23449:18;23633:6;23539:108;:::i;:::-;23531:116;;23695:9;23689:4;23685:20;23680:2;23669:9;23665:18;23658:48;23720:108;23823:4;23814:6;23720:108;:::i;23845:498::-;24086:2;24100:47;;;24071:18;;24161:172;24071:18;24319:6;24161:172;:::i;24350:218::-;24475:2;24460:18;;24489:69;24464:9;24531:6;24489:69;:::i;24575:310::-;24722:2;24736:47;;;24707:18;;24797:78;24707:18;24861:6;24797:78;:::i;24892:416::-;25092:2;25106:47;;;25077:18;;25167:131;25077:18;25167:131;:::i;25315:416::-;25515:2;25529:47;;;25500:18;;25590:131;25500:18;25590:131;:::i;25738:416::-;25938:2;25952:47;;;25923:18;;26013:131;25923:18;26013:131;:::i;26161:416::-;26361:2;26375:47;;;26346:18;;26436:131;26346:18;26436:131;:::i;26584:416::-;26784:2;26798:47;;;26769:18;;26859:131;26769:18;26859:131;:::i;27007:416::-;27207:2;27221:47;;;27192:18;;27282:131;27192:18;27282:131;:::i;27430:416::-;27630:2;27644:47;;;27615:18;;27705:131;27615:18;27705:131;:::i;27853:416::-;28053:2;28067:47;;;28038:18;;28128:131;28038:18;28128:131;:::i;28276:416::-;28476:2;28490:47;;;28461:18;;28551:131;28461:18;28551:131;:::i;28699:218::-;28824:2;28809:18;;28838:69;28813:9;28880:6;28838:69;:::i;28924:329::-;29077:2;29062:18;;29091:69;29066:9;29133:6;29091:69;:::i;:::-;29171:72;29239:2;29228:9;29224:18;29215:6;29171:72;:::i;29260:222::-;29387:2;29372:18;;29401:71;29376:9;29445:6;29401:71;:::i;29489:333::-;29644:2;29629:18;;29658:71;29633:9;29702:6;29658:71;:::i;29829:220::-;29955:2;29940:18;;29969:70;29944:9;30012:6;29969:70;:::i;30056:458::-;30246:2;30231:18;;30260:70;30235:9;30303:6;30260:70;:::i;:::-;30341:80;30417:2;30406:9;30402:18;30393:6;30341:80;:::i;:::-;30432:72;30500:2;30489:9;30485:18;30476:6;30432:72;:::i;30521:256::-;30583:2;30577:9;30609:17;;;30684:18;30669:34;;30705:22;;;30666:62;30663:2;;;30741:1;30738;30731:12;30663:2;30757;30750:22;30561:216;;-1:-1;30561:216::o;30784:321::-;;30927:18;30919:6;30916:30;30913:2;;;30959:1;30956;30949:12;30913:2;-1:-1;31090:4;31026;31003:17;;;;-1:-1;;30999:33;31080:15;;30850:255::o;31112:151::-;31236:4;31227:14;;31184:79::o;31618:137::-;31721:12;;31692:63::o;32717:178::-;32835:19;;;32884:4;32875:14;;32828:67::o;33310:144::-;33445:3;33423:31;-1:-1;33423:31::o;33634:91::-;;33696:24;33714:5;33696:24;:::i;33838:85::-;33904:13;33897:21;;33880:43::o;33930:144::-;-1:-1;;;;;;33991:78;;33974:100::o;34081:113::-;-1:-1;;;;;34143:46;;34126:68::o;34201:121::-;-1:-1;;;;;34263:54;;34246:76::o;34329:86::-;34401:8;34390:20;;34373:42::o;34422:72::-;34484:5;34467:27::o;34501:88::-;34573:10;34562:22;;34545:44::o;34596:96::-;34668:18;34657:30;;34640:52::o;34699:81::-;34770:4;34759:16;;34742:38::o;34787:129::-;;34874:37;34905:5;34923:121;35002:37;35033:5;35002:37;:::i;35166:106::-;;35244:23;35261:5;35244:23;:::i;35280:145::-;35361:6;35356:3;35351;35338:30;-1:-1;35417:1;35399:16;;35392:27;35331:94::o;35434:268::-;35499:1;35506:101;35520:6;35517:1;35514:13;35506:101;;;35587:11;;;35581:18;35568:11;;;35561:39;35542:2;35535:10;35506:101;;;35622:6;35619:1;35616:13;35613:2;;;-1:-1;;35687:1;35669:16;;35662:27;35483:219::o;35710:97::-;35798:2;35778:14;-1:-1;;35774:28;;35758:49::o;35815:117::-;35884:24;35902:5;35884:24;:::i;:::-;35877:5;35874:35;35864:2;;35923:1;35920;35913:12;36079:111;36145:21;36160:5;36145:21;:::i;36197:114::-;36286:1;36279:5;36276:12;36266:2;;36302:1;36299;36292:12;36434:117;36503:24;36521:5;36503:24;:::i;36558:115::-;36626:23;36643:5;36626:23;:::i;36680:117::-;36749:24;36767:5;36749:24;:::i;36804:115::-;36872:23;36889:5;36872:23;:::i;36926:115::-;36994:23;37011:5;36994:23;:::i;37048:113::-;37115:22;37131:5;37115:22;:::i", - "linkReferences": {}, - "immutableReferences": { - "30189": [ - { - "start": 3489, - "length": 32 - }, - { - "start": 3774, - "length": 32 - }, - { - "start": 3836, - "length": 32 - }, - { - "start": 3990, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "getDebtAssets()": "ecd658b4", - "getManagedAssets()": "80daddb8", - "getVoucherTokenIds()": "f4c1032a", - "init(bytes)": "4ddf47d4", - "onVNFTReceived(address,address,uint256,uint256,bytes)": "b382cdcd", - "receiveCallFromVault(bytes)": "e5c23a97" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_initialBondOfferingMarket\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voucher\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint32\",\"name\":\"tokenId\",\"type\":\"uint32\"}],\"name\":\"VoucherTokenIdAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voucher\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint32\",\"name\":\"tokenId\",\"type\":\"uint32\"}],\"name\":\"VoucherTokenIdRemoved\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"getDebtAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"assets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getManagedAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"assets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getVoucherTokenIds\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"voucher\",\"type\":\"address\"},{\"internalType\":\"uint32\",\"name\":\"tokenId\",\"type\":\"uint32\"}],\"internalType\":\"struct SolvV2BondBuyerPositionLibBase1.VoucherTokenId[]\",\"name\":\"voucherTokenIds_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onVNFTReceived\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"selector_\",\"type\":\"bytes4\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"}],\"name\":\"receiveCallFromVault\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"getDebtAssets()\":{\"returns\":{\"amounts_\":\"Debt asset amounts\",\"assets_\":\"Debt assets\"}},\"getManagedAssets()\":{\"returns\":{\"amounts_\":\"Managed asset amounts\",\"assets_\":\"Managed assets\"}},\"getVoucherTokenIds()\":{\"returns\":{\"voucherTokenIds_\":\"The VoucherTokenId[] var\"}},\"init(bytes)\":{\"details\":\"Nothing to initialize for this contract\"},\"onVNFTReceived(address,address,uint256,uint256,bytes)\":{\"details\":\"ERC-3525 spec: https://eips.ethereum.org/EIPS/eip-3525#erc-3525-token-receiverImplementation for vouchers: https://github.com/solv-finance/solv-v2-ivo/blob/main/vouchers/vnft-core/contracts/VNFTCoreV2.sol#L318\",\"returns\":{\"selector_\":\"`b382cdcd = onVNFTReceived(address,address,uint256,uint256,bytes)`\"}},\"receiveCallFromVault(bytes)\":{\"params\":{\"_actionData\":\"Encoded data to execute the action\"}}},\"title\":\"SolvV2BondBuyerPositionLib Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getDebtAssets()\":{\"notice\":\"Retrieves the debt assets (negative value) of the external position\"},\"getManagedAssets()\":{\"notice\":\"Retrieves the managed assets (positive value) of the external position\"},\"getVoucherTokenIds()\":{\"notice\":\"Gets the VoucherTokenId[] var\"},\"init(bytes)\":{\"notice\":\"Initializes the external position\"},\"onVNFTReceived(address,address,uint256,uint256,bytes)\":{\"notice\":\"Handles the receipt of a VNFT token type.\"},\"receiveCallFromVault(bytes)\":{\"notice\":\"Receives and executes a call from the Vault\"}},\"notice\":\"Library contract for Solv V2 Bond Buyer positions\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/solv-v2-bond-buyer/SolvV2BondBuyerPositionLib.sol\":\"SolvV2BondBuyerPositionLib\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/persistent/external-positions/solv-v2-bond-buyer/SolvV2BondBuyerPositionLibBase1.sol\":{\"keccak256\":\"0xcbe012490822c4a7f60663d2947429293c8b9e9be6102bfd2ac05283ec699e6c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5789ae1ab7f2e1b4cfd3e53800ed46625bfef7cc1dfb30d86888219a80d9be7a\",\"dweb:/ipfs/Qme26MQji6HuoPF4Q54CdqVp8FRMFmhtsyuMVGRFiiAdhZ\"]},\"contracts/release/extensions/external-position-manager/external-positions/solv-v2-bond-buyer/ISolvV2BondBuyerPosition.sol\":{\"keccak256\":\"0xf1cae957d4373d3e3546b61e208e4171820cc653030c68af469073132c141ea9\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d9e7df5e4efcaa1b3873d64bdea24b21d14652293b58ea2fd15633780e1e0716\",\"dweb:/ipfs/QmdBhmfCEnvGVLYvXXe17j7iHpM53rGu2fmoUZQCEeGEAX\"]},\"contracts/release/extensions/external-position-manager/external-positions/solv-v2-bond-buyer/SolvV2BondBuyerPositionDataDecoder.sol\":{\"keccak256\":\"0x32f9808c23956dde6c830c570d3ebc240ab47eaedde6911c55fe90b0d68cd48a\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3366c99c9cc5cdcd6ad7e74265ed27d9e981f9aeda7ea4e4dd137bebe8bbde35\",\"dweb:/ipfs/QmedhvZ9BAeuBDnQPdFWTZ8u6FkXFiV3gm1TvVu898pM5s\"]},\"contracts/release/extensions/external-position-manager/external-positions/solv-v2-bond-buyer/SolvV2BondBuyerPositionLib.sol\":{\"keccak256\":\"0x33cedcfa24b02222bb9335fb8e9fd7f22248302cb03a63e49a8f87e2620c7166\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://526d1f48a8957b90f2a58d29b14ed7056eda0adaaae0df398a786c583318ee36\",\"dweb:/ipfs/QmRggBHksFBUv6KxbUjgFtbhDi3mttDDpchWr7PeEq1PWX\"]},\"contracts/release/interfaces/ISolvV2BondPool.sol\":{\"keccak256\":\"0xa68c7f87782e4da88c0e98a8096d3f758b1c5aa914ddb6bc99ada422195019f5\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://cb64f9feca3ef65e6e2a18729aeb1300698cfba3eb99f08025debc795282b73d\",\"dweb:/ipfs/QmVr5qraYJpKNMtJZfgvkMZsk1Nerxc36HSjhtvh8YgG1G\"]},\"contracts/release/interfaces/ISolvV2BondVoucher.sol\":{\"keccak256\":\"0xf76389995de79cdc0f4a690a9ce76a094d4697d51e397abf68b4be24ef8b554f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ed36c534756035df374381fabff0b010f0fe700caeeddffb99f347efee1f0cdd\",\"dweb:/ipfs/QmY5dm7b78TkoW3WSqKKZSCKdZmumTCMLxf3rpxzVM6qpm\"]},\"contracts/release/interfaces/ISolvV2InitialConvertibleOfferingMarket.sol\":{\"keccak256\":\"0xe34205d54ec639e2e3f8e0e2871984a6796424d903259857f1f11de260cf8abe\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://908f8d334df9ae2191787a8e53c78b1847bd936f2ce9d04115f5e9339c3e3934\",\"dweb:/ipfs/QmZzxE748Hb2Vosu7cwPmkb4EVpoqvS4RgHogLrvDgsnD3\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"contracts/release/utils/Uint256ArrayLib.sol\":{\"keccak256\":\"0x1627d0d32692b86c5dd3e74ebb8305fbf99a3c41d4b90e736077762cc80c1a31\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://54ff92ccd4bd685dda44c2520e3f52478168e909b400c3cc4076d37f5c2704ef\",\"dweb:/ipfs/QmYUxeaKfPwnUtP35i6JJ3ptsaDFEV6SD2o4VV8d5vBUZD\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_initialBondOfferingMarket", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "voucher", - "type": "address", - "indexed": true - }, - { - "internalType": "uint32", - "name": "tokenId", - "type": "uint32", - "indexed": true - } - ], - "type": "event", - "name": "VoucherTokenIdAdded", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "voucher", - "type": "address", - "indexed": true - }, - { - "internalType": "uint32", - "name": "tokenId", - "type": "uint32", - "indexed": true - } - ], - "type": "event", - "name": "VoucherTokenIdRemoved", - "anonymous": false - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "getDebtAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "assets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "amounts_", - "type": "uint256[]" - } - ] - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "getManagedAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "assets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "amounts_", - "type": "uint256[]" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getVoucherTokenIds", - "outputs": [ - { - "internalType": "struct SolvV2BondBuyerPositionLibBase1.VoucherTokenId[]", - "name": "voucherTokenIds_", - "type": "tuple[]", - "components": [ - { - "internalType": "address", - "name": "voucher", - "type": "address" - }, - { - "internalType": "uint32", - "name": "tokenId", - "type": "uint32" - } - ] - } - ] - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "init" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "pure", - "type": "function", - "name": "onVNFTReceived", - "outputs": [ - { - "internalType": "bytes4", - "name": "selector_", - "type": "bytes4" - } - ] - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "receiveCallFromVault" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "getDebtAssets()": { - "returns": { - "amounts_": "Debt asset amounts", - "assets_": "Debt assets" - } - }, - "getManagedAssets()": { - "returns": { - "amounts_": "Managed asset amounts", - "assets_": "Managed assets" - } - }, - "getVoucherTokenIds()": { - "returns": { - "voucherTokenIds_": "The VoucherTokenId[] var" - } - }, - "init(bytes)": { - "details": "Nothing to initialize for this contract" - }, - "onVNFTReceived(address,address,uint256,uint256,bytes)": { - "details": "ERC-3525 spec: https://eips.ethereum.org/EIPS/eip-3525#erc-3525-token-receiverImplementation for vouchers: https://github.com/solv-finance/solv-v2-ivo/blob/main/vouchers/vnft-core/contracts/VNFTCoreV2.sol#L318", - "returns": { - "selector_": "`b382cdcd = onVNFTReceived(address,address,uint256,uint256,bytes)`" - } - }, - "receiveCallFromVault(bytes)": { - "params": { - "_actionData": "Encoded data to execute the action" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "getDebtAssets()": { - "notice": "Retrieves the debt assets (negative value) of the external position" - }, - "getManagedAssets()": { - "notice": "Retrieves the managed assets (positive value) of the external position" - }, - "getVoucherTokenIds()": { - "notice": "Gets the VoucherTokenId[] var" - }, - "init(bytes)": { - "notice": "Initializes the external position" - }, - "onVNFTReceived(address,address,uint256,uint256,bytes)": { - "notice": "Handles the receipt of a VNFT token type." - }, - "receiveCallFromVault(bytes)": { - "notice": "Receives and executes a call from the Vault" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/external-position-manager/external-positions/solv-v2-bond-buyer/SolvV2BondBuyerPositionLib.sol": "SolvV2BondBuyerPositionLib" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/external-positions/IExternalPosition.sol": { - "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", - "urls": [ - "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", - "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/external-positions/solv-v2-bond-buyer/SolvV2BondBuyerPositionLibBase1.sol": { - "keccak256": "0xcbe012490822c4a7f60663d2947429293c8b9e9be6102bfd2ac05283ec699e6c", - "urls": [ - "bzz-raw://5789ae1ab7f2e1b4cfd3e53800ed46625bfef7cc1dfb30d86888219a80d9be7a", - "dweb:/ipfs/Qme26MQji6HuoPF4Q54CdqVp8FRMFmhtsyuMVGRFiiAdhZ" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/solv-v2-bond-buyer/ISolvV2BondBuyerPosition.sol": { - "keccak256": "0xf1cae957d4373d3e3546b61e208e4171820cc653030c68af469073132c141ea9", - "urls": [ - "bzz-raw://d9e7df5e4efcaa1b3873d64bdea24b21d14652293b58ea2fd15633780e1e0716", - "dweb:/ipfs/QmdBhmfCEnvGVLYvXXe17j7iHpM53rGu2fmoUZQCEeGEAX" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/solv-v2-bond-buyer/SolvV2BondBuyerPositionDataDecoder.sol": { - "keccak256": "0x32f9808c23956dde6c830c570d3ebc240ab47eaedde6911c55fe90b0d68cd48a", - "urls": [ - "bzz-raw://3366c99c9cc5cdcd6ad7e74265ed27d9e981f9aeda7ea4e4dd137bebe8bbde35", - "dweb:/ipfs/QmedhvZ9BAeuBDnQPdFWTZ8u6FkXFiV3gm1TvVu898pM5s" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/solv-v2-bond-buyer/SolvV2BondBuyerPositionLib.sol": { - "keccak256": "0x33cedcfa24b02222bb9335fb8e9fd7f22248302cb03a63e49a8f87e2620c7166", - "urls": [ - "bzz-raw://526d1f48a8957b90f2a58d29b14ed7056eda0adaaae0df398a786c583318ee36", - "dweb:/ipfs/QmRggBHksFBUv6KxbUjgFtbhDi3mttDDpchWr7PeEq1PWX" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/ISolvV2BondPool.sol": { - "keccak256": "0xa68c7f87782e4da88c0e98a8096d3f758b1c5aa914ddb6bc99ada422195019f5", - "urls": [ - "bzz-raw://cb64f9feca3ef65e6e2a18729aeb1300698cfba3eb99f08025debc795282b73d", - "dweb:/ipfs/QmVr5qraYJpKNMtJZfgvkMZsk1Nerxc36HSjhtvh8YgG1G" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/ISolvV2BondVoucher.sol": { - "keccak256": "0xf76389995de79cdc0f4a690a9ce76a094d4697d51e397abf68b4be24ef8b554f", - "urls": [ - "bzz-raw://ed36c534756035df374381fabff0b010f0fe700caeeddffb99f347efee1f0cdd", - "dweb:/ipfs/QmY5dm7b78TkoW3WSqKKZSCKdZmumTCMLxf3rpxzVM6qpm" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/ISolvV2InitialConvertibleOfferingMarket.sol": { - "keccak256": "0xe34205d54ec639e2e3f8e0e2871984a6796424d903259857f1f11de260cf8abe", - "urls": [ - "bzz-raw://908f8d334df9ae2191787a8e53c78b1847bd936f2ce9d04115f5e9339c3e3934", - "dweb:/ipfs/QmZzxE748Hb2Vosu7cwPmkb4EVpoqvS4RgHogLrvDgsnD3" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AddressArrayLib.sol": { - "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", - "urls": [ - "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", - "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AssetHelpers.sol": { - "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", - "urls": [ - "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", - "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/Uint256ArrayLib.sol": { - "keccak256": "0x1627d0d32692b86c5dd3e74ebb8305fbf99a3c41d4b90e736077762cc80c1a31", - "urls": [ - "bzz-raw://54ff92ccd4bd685dda44c2520e3f52478168e909b400c3cc4076d37f5c2704ef", - "dweb:/ipfs/QmYUxeaKfPwnUtP35i6JJ3ptsaDFEV6SD2o4VV8d5vBUZD" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { - "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", - "urls": [ - "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", - "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Address.sol": { - "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", - "urls": [ - "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", - "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 124 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_initialBondOfferingMarket", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "getDebtAssets", "inputs": [], "outputs": [ { "name": "assets_", "type": "address[]", "internalType": "address[]" }, { "name": "amounts_", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "getManagedAssets", "inputs": [], "outputs": [ { "name": "assets_", "type": "address[]", "internalType": "address[]" }, { "name": "amounts_", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "getVoucherTokenIds", "inputs": [], "outputs": [ { "name": "voucherTokenIds_", "type": "tuple[]", "internalType": "struct SolvV2BondBuyerPositionLibBase1.VoucherTokenId[]", "components": [ { "name": "voucher", "type": "address", "internalType": "address" }, { "name": "tokenId", "type": "uint32", "internalType": "uint32" } ] } ], "stateMutability": "view" }, { "type": "function", "name": "init", "inputs": [ { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "onVNFTReceived", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [ { "name": "selector_", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "pure" }, { "type": "function", "name": "receiveCallFromVault", "inputs": [ { "name": "_actionData", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "event", "name": "VoucherTokenIdAdded", "inputs": [ { "name": "voucher", "type": "address", "indexed": true, "internalType": "address" }, { "name": "tokenId", "type": "uint32", "indexed": true, "internalType": "uint32" } ], "anonymous": false }, { "type": "event", "name": "VoucherTokenIdRemoved", "inputs": [ { "name": "voucher", "type": "address", "indexed": true, "internalType": "address" }, { "name": "tokenId", "type": "uint32", "indexed": true, "internalType": "uint32" } ], "anonymous": false } ], "bytecode": { "object": "0x60a06040523480156200001157600080fd5b50604051620026893803806200268983398101604081905262000034916200005d565b60601b6001600160601b031916608052620000b2565b8051620000578162000098565b92915050565b6000602082840312156200007057600080fd5b60006200007e84846200004a565b949350505050565b60006001600160a01b03821662000057565b620000a38162000086565b8114620000af57600080fd5b50565b60805160601c6125aa620000df60003980610da15280610ebe5280610efc5280610f9652506125aa6000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c80634ddf47d41461006757806380daddb81461007c578063b382cdcd1461009b578063e5c23a97146100bb578063ecd658b4146100ce578063f4c1032a146100d6575b600080fd5b61007a610075366004611c9d565b6100eb565b005b6100846100ee565b6040516100929291906122bc565b60405180910390f35b6100ae6100a9366004611bef565b6101cb565b60405161009291906122f2565b61007a6100c9366004611c9d565b6101f6565b61008461025e565b6100de610264565b60405161009291906122e1565b50565b60608060606100fb610264565b805190915060005b818110156101b657610113611720565b83828151811061011f57fe5b6020026020010151905060608061013e836000015184602001516102dd565b9150915060005b82518110156101a65761017483828151811061015d57fe5b60200260200101518a6109ba90919063ffffffff16565b985061019c82828151811061018557fe5b602002602001015189610a8690919063ffffffff16565b9750600101610145565b5050600190920191506101039050565b506101c18484610b30565b9350935050509091565b7fb382cdcdbd920ddd5cea8c35269cf1a93503df07a561581b76664c03c351b58b9695505050505050565b600060608280602001905181019061020e9190611d86565b9092509050816102265761022181610d72565b610259565b60018214156102385761022181610fd4565b60405162461bcd60e51b815260040161025090612341565b60405180910390fd5b505050565b60608091565b60606000805480602002602001604051908101604052809291908181526020016000905b828210156102d457600084815260209081902060408051808201909152908401546001600160a01b0381168252600160a01b900463ffffffff1681830152825260019092019101610288565b50505050905090565b60608060008490506000816001600160a01b0316634118ca7d6040518163ffffffff1660e01b815260040160206040518083038186803b15801561032057600080fd5b505afa158015610334573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103589190611b84565b90506000826001600160a01b031663bde4c3cb876040518263ffffffff1660e01b815260040161038891906123e6565b602060405180830381600087803b1580156103a257600080fd5b505af11580156103b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103da9190611d68565b90506000826001600160a01b031663fb7056b7836040518263ffffffff1660e01b815260040161040a91906123ca565b60206040518083038186803b15801561042257600080fd5b505afa158015610436573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061045a9190611d10565b90506000816001600160801b0316116104855760405162461bcd60e51b815260040161025090612361565b61048d611737565b60405163d3ceafb960e01b81526001600160a01b0386169063d3ceafb9906104b99086906004016123ca565b6101a06040518083038186803b1580156104d257600080fd5b505afa1580156104e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061050a9190611cf1565b90506000856001600160a01b031663becef6078a6040518263ffffffff1660e01b815260040161053a91906123e6565b60206040518083038186803b15801561055257600080fd5b505afa158015610566573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061058a9190611d68565b9050600080836101200151156106fc5761069f876001600160a01b0316633e7e86696040518163ffffffff1660e01b815260040160206040518083038186803b1580156105d657600080fd5b505afa1580156105ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061060e9190611e0b565b60ff16600a0a61069986602001516001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561065457600080fd5b505afa158015610668573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061068c9190611e0b565b869060ff16600a0a61115d565b9061119e565b915083608001516001600160801b0316856001600160801b031611156106f7576106f46106d5846001600160801b03881661119e565b60808601516106ee9086906001600160801b031661119e565b906111d0565b90505b610762565b83606001516001600160801b0316856001600160801b03161015610726578360600151945061074c565b83608001516001600160801b0316856001600160801b0316111561074c57836080015194505b61075f836001600160801b03871661119e565b90505b811561081b57602084015160405163e55ced3160e01b81526000916001600160a01b038a169163e55ced319161079d918b91906004016123d8565b60206040518083038186803b1580156107b557600080fd5b505afa1580156107c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ed9190611d68565b9050808311156107fb578092505b602085015161080b908c906109ba565b9a506108178a84610a86565b9950505b80156109aa576000876001600160a01b031663e55ced31888b6001600160a01b0316636f307dc36040518163ffffffff1660e01b815260040160206040518083038186803b15801561086c57600080fd5b505afa158015610880573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108a49190611b84565b6040518363ffffffff1660e01b81526004016108c19291906123d8565b60206040518083038186803b1580156108d957600080fd5b505afa1580156108ed573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109119190611d68565b90508082111561091f578091505b61099a896001600160a01b0316636f307dc36040518163ffffffff1660e01b815260040160206040518083038186803b15801561095b57600080fd5b505afa15801561096f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109939190611b84565b8c906109ba565b9a506109a68a83610a86565b9950505b50505050505050505b9250929050565b6060825160010167ffffffffffffffff811180156109d757600080fd5b50604051908082528060200260200182016040528015610a01578160200160208202803683370190505b50905060005b8351811015610a5057838181518110610a1c57fe5b6020026020010151828281518110610a3057fe5b6001600160a01b0390921660209283029190910190910152600101610a07565b508181845181518110610a5f57fe5b60200260200101906001600160a01b031690816001600160a01b0316815250505b92915050565b6060825160010167ffffffffffffffff81118015610aa357600080fd5b50604051908082528060200260200182016040528015610acd578160200160208202803683370190505b50905060005b8351811015610b0f57838181518110610ae857fe5b6020026020010151828281518110610afc57fe5b6020908102919091010152600101610ad3565b508181845181518110610b1e57fe5b60200260200101818152505092915050565b606080835160001415610b42576109b3565b6001805b8551811015610bc2576000805b82811015610bac57878181518110610b6757fe5b60200260200101516001600160a01b0316888481518110610b8457fe5b60200260200101516001600160a01b03161415610ba45760019150610bac565b600101610b53565b5080610bb9576001909201915b50600101610b46565b508067ffffffffffffffff81118015610bda57600080fd5b50604051908082528060200260200182016040528015610c04578160200160208202803683370190505b5092508067ffffffffffffffff81118015610c1e57600080fd5b50604051908082528060200260200182016040528015610c48578160200160208202803683370190505b5091506000805b8651811015610d68576000805b83811015610ce757868181518110610c7057fe5b60200260200101516001600160a01b0316898481518110610c8d57fe5b60200260200101516001600160a01b03161415610cdf5760019150878381518110610cb457fe5b6020026020010151868281518110610cc857fe5b602002602001018181510191508181525050610ce7565b600101610c5c565b5080610d5f57878281518110610cf957fe5b6020026020010151868481518110610d0d57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050868281518110610d3957fe5b6020026020010151858481518110610d4d57fe5b60209081029190910101526001909201915b50600101610c4f565b5050509250929050565b600080610d7e836111f8565b91509150610d8a6117a0565b6040516309cfb2ab60e41b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690639cfb2ab090610dd69086906004016123a1565b6101a06040518083038186803b158015610def57600080fd5b505afa158015610e03573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e279190611cd2565b9050600081610100015190506000816001600160a01b03166375794a3c6040518163ffffffff1660e01b815260040160206040518083038186803b158015610e6e57600080fd5b505afa158015610e82573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ea69190611ded565b610120840151909150610ee56001600160a01b0382167f0000000000000000000000000000000000000000000000000000000000000000600019611218565b6040516341ec4ef360e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906341ec4ef390610f3390899089906004016123af565b6040805180830381600087803b158015610f4c57600080fd5b505af1158015610f60573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f849190611dce565b50610fbc90506001600160a01b0382167f00000000000000000000000000000000000000000000000000000000000000006000611218565b610fcb84610100015183611312565b50505050505050565b6000806000610fe2846113ca565b60405163becef60760e01b8152929550909350915083906000906001600160a01b0383169063becef6079061101b9087906004016123e6565b60206040518083038186803b15801561103357600080fd5b505afa158015611047573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061106b9190611d68565b905060001983148061107c57508083145b156110f257604051637e2985f360e01b81526001600160a01b03831690637e2985f3906110b1908790339086906004016123f4565b600060405180830381600087803b1580156110cb57600080fd5b505af11580156110df573d6000803e3d6000fd5b505050506110ed85856113f0565b611155565b604051637e2985f360e01b81526001600160a01b03831690637e2985f390611122908790339088906004016123f4565b600060405180830381600087803b15801561113c57600080fd5b505af1158015611150573d6000803e3d6000fd5b505050505b505050505050565b60008261116c57506000610a80565b8282028284828161117957fe5b04146111975760405162461bcd60e51b815260040161025090612351565b9392505050565b60008082116111bf5760405162461bcd60e51b815260040161025090612331565b8183816111c857fe5b049392505050565b6000828211156111f25760405162461bcd60e51b815260040161025090612311565b50900390565b6000808280602001905181019061120f9190611d2e565b91509150915091565b8015806112a05750604051636eb1769f60e11b81526001600160a01b0384169063dd62ed3e9061124e9030908690600401612286565b60206040518083038186803b15801561126657600080fd5b505afa15801561127a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061129e9190611d68565b155b6112bc5760405162461bcd60e51b815260040161025090612391565b6102598363095ea7b360e01b84846040516024016112db9291906122a1565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915261157a565b6040805180820182526001600160a01b0384811680835263ffffffff858116602085018181526000805460018101825581805296517f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563909701805492516001600160a01b0319909316979096169690961763ffffffff60a01b1916600160a01b91909316029190911790925592519092917f9064e110f4af8c3afc5cb815841bb7b2d7b4324b194a740015a249c929d3d0c791a35050565b6000806000838060200190518101906113e39190611ba2565b9250925092509193909250565b60008054905b8181101561157457611406611720565b6000828154811061141357fe5b6000918252602091829020604080518082019091529101546001600160a01b038116825263ffffffff600160a01b909104811692820183905290925085161480156114735750846001600160a01b031681600001516001600160a01b0316145b1561156b57600183038210156114fb576000600184038154811061149357fe5b90600052602060002001600083815481106114aa57fe5b600091825260209091208254910180546001600160a01b0319166001600160a01b0390921691909117808255915463ffffffff600160a01b91829004160263ffffffff60a01b199092169190911790555b600080548061150657fe5b600082815260208120820160001990810180546001600160c01b031916905590910190915560405163ffffffff8616916001600160a01b038816917f0d5bcf97415af39ded48a8e8b4386016db43ed02862eefbd9e5b466c4329ad959190a350611574565b506001016113f6565b50505050565b60606115cf826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166116099092919063ffffffff16565b80519091501561025957808060200190518101906115ed9190611c7f565b6102595760405162461bcd60e51b815260040161025090612381565b60606116188484600085611620565b949350505050565b6060824710156116425760405162461bcd60e51b815260040161025090612321565b61164b856116e1565b6116675760405162461bcd60e51b815260040161025090612371565b60006060866001600160a01b03168587604051611684919061227a565b60006040518083038185875af1925050503d80600081146116c1576040519150601f19603f3d011682016040523d82523d6000602084013e6116c6565b606091505b50915091506116d68282866116e7565b979650505050505050565b3b151590565b606083156116f6575081611197565b8251156117065782518084602001fd5b8160405162461bcd60e51b81526004016102509190612300565b604080518082019091526000808252602082015290565b604080516101a081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052906101008201908152600060208201819052604082018190526060820181905260809091015290565b604080516101a081018252600080825260208201819052918101829052906060820190815260006020820181905260408201819052606082018190526080820181905260a0820181905260c0820181905260e0820181905261010082018190526101209091015290565b8035610a808161253d565b8051610a808161253d565b8051610a8081612551565b60008083601f84011261183d57600080fd5b50813567ffffffffffffffff81111561185557600080fd5b6020830191508360018202830111156109b357600080fd5b600082601f83011261187e57600080fd5b813561189161188c82612443565b61241c565b915080825260208301602083018583830111156118ad57600080fd5b6118b88382846124fb565b50505092915050565b600082601f8301126118d257600080fd5b81516118e061188c82612443565b915080825260208301602083018583830111156118fc57600080fd5b6118b8838284612507565b8051610a808161255a565b60006101a0828403121561192557600080fd5b6119306101a061241c565b9050600061193e8484611b42565b825250602061194f84848301611b63565b602083015250604061196384828501611b63565b604083015250606061197784828501611907565b606083015250608061198b84828501611b37565b60808301525060a061199f84828501611b37565b60a08301525060c06119b384828501611b37565b60c08301525060e06119c784828501611b37565b60e0830152506101006119dc84828501611815565b610100830152506101206119f284828501611815565b61012083015250610140611a0884828501611815565b61014083015250610160611a1e84828501611820565b61016083015250610180611a3484828501611820565b6101808301525092915050565b60006101a08284031215611a5457600080fd5b611a5f6101a061241c565b90506000611a6d8484611815565b8252506020611a7e84848301611815565b6020830152506040611a9284828501611b58565b6040830152506060611aa684828501611b37565b6060830152506080611aba84828501611b37565b60808301525060a0611ace84828501611b37565b60a08301525060c0611ae284828501611b6e565b60c08301525060e0611af684828501611b6e565b60e083015250610100611b0b84828501611907565b61010083015250610120611b2184828501611820565b61012083015250610140611a0884828501611820565b8051610a8081612567565b8051610a8081612570565b8035610a8081612579565b8051610a8081612579565b8051610a8081612582565b8051610a808161258b565b8051610a8081612594565b600060208284031215611b9657600080fd5b60006116188484611815565b600080600060608486031215611bb757600080fd5b6000611bc38686611815565b9350506020611bd486828701611b63565b9250506040611be586828701611b58565b9150509250925092565b60008060008060008060a08789031215611c0857600080fd5b6000611c14898961180a565b9650506020611c2589828a0161180a565b9550506040611c3689828a01611b4d565b9450506060611c4789828a01611b4d565b935050608087013567ffffffffffffffff811115611c6457600080fd5b611c7089828a0161182b565b92509250509295509295509295565b600060208284031215611c9157600080fd5b60006116188484611820565b600060208284031215611caf57600080fd5b813567ffffffffffffffff811115611cc657600080fd5b6116188482850161186d565b60006101a08284031215611ce557600080fd5b60006116188484611912565b60006101a08284031215611d0457600080fd5b60006116188484611a41565b600060208284031215611d2257600080fd5b60006116188484611b37565b60008060408385031215611d4157600080fd5b6000611d4d8585611b42565b9250506020611d5e85828601611b37565b9150509250929050565b600060208284031215611d7a57600080fd5b60006116188484611b58565b60008060408385031215611d9957600080fd5b6000611da58585611b58565b925050602083015167ffffffffffffffff811115611dc257600080fd5b611d5e858286016118c1565b60008060408385031215611de157600080fd5b6000611d4d8585611b58565b600060208284031215611dff57600080fd5b60006116188484611b63565b600060208284031215611e1d57600080fd5b60006116188484611b79565b6000611e358383611e6c565b505060200190565b6000611e498383612229565b505060400190565b6000611e35838361225f565b611e66816124df565b82525050565b611e6681612483565b6000611e8082612471565b611e8a8185612475565b9350611e958361246b565b8060005b83811015611ec3578151611ead8882611e29565b9750611eb88361246b565b925050600101611e99565b509495945050505050565b6000611ed982612471565b611ee38185612475565b9350611eee8361246b565b8060005b83811015611ec3578151611f068882611e3d565b9750611f118361246b565b925050600101611ef2565b6000611f2782612471565b611f318185612475565b9350611f3c8361246b565b8060005b83811015611ec3578151611f548882611e51565b9750611f5f8361246b565b925050600101611f40565b611e6681612493565b6000611f7e82612471565b611f88818561247e565b9350611f98818560208601612507565b9290920192915050565b6000611fad82612471565b611fb78185612475565b9350611fc7818560208601612507565b611fd081612533565b9093019392505050565b6000611fe7601e83612475565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000612020602683612475565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f8152651c8818d85b1b60d21b602082015260400192915050565b6000612068601a83612475565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b60006120a1602683612475565b7f7265636569766543616c6c46726f6d5661756c743a20496e76616c69642061638152651d1a5bdb925960d21b602082015260400192915050565b60006120e9602183612475565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b600061212c601183612475565b70141c9a58d9481b9bdd081cd95d1d1b1959607a1b815260200192915050565b6000612159601d83612475565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000815260200192915050565b6000612192602a83612475565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e8152691bdd081cdd58d8d9595960b21b602082015260400192915050565b60006121de603683612475565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f81527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b602082015260400192915050565b8051604083019061223a8482611e6c565b5060208201516115746020850182612271565b611e66816124a0565b611e66816124b8565b611e66816124c0565b611e66816124f0565b611e66816124c3565b60006111978284611f73565b604081016122948285611e6c565b6111976020830184611e6c565b604081016122af8285611e6c565b611197602083018461225f565b604080825281016122cd8185611e75565b905081810360208301526116188184611f1c565b602080825281016111978184611ece565b60208101610a808284611f6a565b602080825281016111978184611fa2565b60208082528101610a8081611fda565b60208082528101610a8081612013565b60208082528101610a808161205b565b60208082528101610a8081612094565b60208082528101610a80816120dc565b60208082528101610a808161211f565b60208082528101610a808161214c565b60208082528101610a8081612185565b60208082528101610a80816121d1565b60208101610a808284612256565b604081016123bd8285612256565b611197602083018461224d565b60208101610a80828461225f565b60408101612294828561225f565b60208101610a808284612268565b606081016124028286612268565b61240f6020830185611e5d565b611618604083018461225f565b60405181810167ffffffffffffffff8111828210171561243b57600080fd5b604052919050565b600067ffffffffffffffff82111561245a57600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b919050565b6000610a80826124ac565b151590565b6001600160e01b03191690565b6001600160801b031690565b6001600160a01b031690565b62ffffff1690565b90565b63ffffffff1690565b67ffffffffffffffff1690565b60ff1690565b6000610a80826000610a8082612483565b6000610a80826124c3565b82818337506000910152565b60005b8381101561252257818101518382015260200161250a565b838111156115745750506000910152565b601f01601f191690565b61254681612483565b81146100eb57600080fd5b6125468161248e565b600281106100eb57600080fd5b612546816124a0565b612546816124b8565b612546816124c0565b612546816124c3565b612546816124cc565b612546816124d956fea164736f6c634300060c000a", "sourceMap": "1119:9400:124:-:0;;;1544:201;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1609:129;;-1:-1:-1;;;;;;1609:129:124;;;1119:9400;;5:134:-1;83:13;;101:33;83:13;101:33;:::i;:::-;68:71;;;;:::o;146:263::-;;261:2;249:9;240:7;236:23;232:32;229:2;;;277:1;274;267:12;229:2;312:1;329:64;385:7;365:9;329:64;:::i;:::-;319:74;223:186;-1:-1;;;;223:186::o;416:91::-;;-1:-1;;;;;576:54;;478:24;559:76::o;642:117::-;711:24;729:5;711:24;:::i;:::-;704:5;701:35;691:2;;750:1;747;740:12;691:2;685:74;:::o;:::-;1119:9400:124;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106100625760003560e01c80634ddf47d41461006757806380daddb81461007c578063b382cdcd1461009b578063e5c23a97146100bb578063ecd658b4146100ce578063f4c1032a146100d6575b600080fd5b61007a610075366004611c9d565b6100eb565b005b6100846100ee565b6040516100929291906122bc565b60405180910390f35b6100ae6100a9366004611bef565b6101cb565b60405161009291906122f2565b61007a6100c9366004611c9d565b6101f6565b61008461025e565b6100de610264565b60405161009291906122e1565b50565b60608060606100fb610264565b805190915060005b818110156101b657610113611720565b83828151811061011f57fe5b6020026020010151905060608061013e836000015184602001516102dd565b9150915060005b82518110156101a65761017483828151811061015d57fe5b60200260200101518a6109ba90919063ffffffff16565b985061019c82828151811061018557fe5b602002602001015189610a8690919063ffffffff16565b9750600101610145565b5050600190920191506101039050565b506101c18484610b30565b9350935050509091565b7fb382cdcdbd920ddd5cea8c35269cf1a93503df07a561581b76664c03c351b58b9695505050505050565b600060608280602001905181019061020e9190611d86565b9092509050816102265761022181610d72565b610259565b60018214156102385761022181610fd4565b60405162461bcd60e51b815260040161025090612341565b60405180910390fd5b505050565b60608091565b60606000805480602002602001604051908101604052809291908181526020016000905b828210156102d457600084815260209081902060408051808201909152908401546001600160a01b0381168252600160a01b900463ffffffff1681830152825260019092019101610288565b50505050905090565b60608060008490506000816001600160a01b0316634118ca7d6040518163ffffffff1660e01b815260040160206040518083038186803b15801561032057600080fd5b505afa158015610334573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103589190611b84565b90506000826001600160a01b031663bde4c3cb876040518263ffffffff1660e01b815260040161038891906123e6565b602060405180830381600087803b1580156103a257600080fd5b505af11580156103b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103da9190611d68565b90506000826001600160a01b031663fb7056b7836040518263ffffffff1660e01b815260040161040a91906123ca565b60206040518083038186803b15801561042257600080fd5b505afa158015610436573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061045a9190611d10565b90506000816001600160801b0316116104855760405162461bcd60e51b815260040161025090612361565b61048d611737565b60405163d3ceafb960e01b81526001600160a01b0386169063d3ceafb9906104b99086906004016123ca565b6101a06040518083038186803b1580156104d257600080fd5b505afa1580156104e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061050a9190611cf1565b90506000856001600160a01b031663becef6078a6040518263ffffffff1660e01b815260040161053a91906123e6565b60206040518083038186803b15801561055257600080fd5b505afa158015610566573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061058a9190611d68565b9050600080836101200151156106fc5761069f876001600160a01b0316633e7e86696040518163ffffffff1660e01b815260040160206040518083038186803b1580156105d657600080fd5b505afa1580156105ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061060e9190611e0b565b60ff16600a0a61069986602001516001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561065457600080fd5b505afa158015610668573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061068c9190611e0b565b869060ff16600a0a61115d565b9061119e565b915083608001516001600160801b0316856001600160801b031611156106f7576106f46106d5846001600160801b03881661119e565b60808601516106ee9086906001600160801b031661119e565b906111d0565b90505b610762565b83606001516001600160801b0316856001600160801b03161015610726578360600151945061074c565b83608001516001600160801b0316856001600160801b0316111561074c57836080015194505b61075f836001600160801b03871661119e565b90505b811561081b57602084015160405163e55ced3160e01b81526000916001600160a01b038a169163e55ced319161079d918b91906004016123d8565b60206040518083038186803b1580156107b557600080fd5b505afa1580156107c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ed9190611d68565b9050808311156107fb578092505b602085015161080b908c906109ba565b9a506108178a84610a86565b9950505b80156109aa576000876001600160a01b031663e55ced31888b6001600160a01b0316636f307dc36040518163ffffffff1660e01b815260040160206040518083038186803b15801561086c57600080fd5b505afa158015610880573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108a49190611b84565b6040518363ffffffff1660e01b81526004016108c19291906123d8565b60206040518083038186803b1580156108d957600080fd5b505afa1580156108ed573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109119190611d68565b90508082111561091f578091505b61099a896001600160a01b0316636f307dc36040518163ffffffff1660e01b815260040160206040518083038186803b15801561095b57600080fd5b505afa15801561096f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109939190611b84565b8c906109ba565b9a506109a68a83610a86565b9950505b50505050505050505b9250929050565b6060825160010167ffffffffffffffff811180156109d757600080fd5b50604051908082528060200260200182016040528015610a01578160200160208202803683370190505b50905060005b8351811015610a5057838181518110610a1c57fe5b6020026020010151828281518110610a3057fe5b6001600160a01b0390921660209283029190910190910152600101610a07565b508181845181518110610a5f57fe5b60200260200101906001600160a01b031690816001600160a01b0316815250505b92915050565b6060825160010167ffffffffffffffff81118015610aa357600080fd5b50604051908082528060200260200182016040528015610acd578160200160208202803683370190505b50905060005b8351811015610b0f57838181518110610ae857fe5b6020026020010151828281518110610afc57fe5b6020908102919091010152600101610ad3565b508181845181518110610b1e57fe5b60200260200101818152505092915050565b606080835160001415610b42576109b3565b6001805b8551811015610bc2576000805b82811015610bac57878181518110610b6757fe5b60200260200101516001600160a01b0316888481518110610b8457fe5b60200260200101516001600160a01b03161415610ba45760019150610bac565b600101610b53565b5080610bb9576001909201915b50600101610b46565b508067ffffffffffffffff81118015610bda57600080fd5b50604051908082528060200260200182016040528015610c04578160200160208202803683370190505b5092508067ffffffffffffffff81118015610c1e57600080fd5b50604051908082528060200260200182016040528015610c48578160200160208202803683370190505b5091506000805b8651811015610d68576000805b83811015610ce757868181518110610c7057fe5b60200260200101516001600160a01b0316898481518110610c8d57fe5b60200260200101516001600160a01b03161415610cdf5760019150878381518110610cb457fe5b6020026020010151868281518110610cc857fe5b602002602001018181510191508181525050610ce7565b600101610c5c565b5080610d5f57878281518110610cf957fe5b6020026020010151868481518110610d0d57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050868281518110610d3957fe5b6020026020010151858481518110610d4d57fe5b60209081029190910101526001909201915b50600101610c4f565b5050509250929050565b600080610d7e836111f8565b91509150610d8a6117a0565b6040516309cfb2ab60e41b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690639cfb2ab090610dd69086906004016123a1565b6101a06040518083038186803b158015610def57600080fd5b505afa158015610e03573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e279190611cd2565b9050600081610100015190506000816001600160a01b03166375794a3c6040518163ffffffff1660e01b815260040160206040518083038186803b158015610e6e57600080fd5b505afa158015610e82573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ea69190611ded565b610120840151909150610ee56001600160a01b0382167f0000000000000000000000000000000000000000000000000000000000000000600019611218565b6040516341ec4ef360e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906341ec4ef390610f3390899089906004016123af565b6040805180830381600087803b158015610f4c57600080fd5b505af1158015610f60573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f849190611dce565b50610fbc90506001600160a01b0382167f00000000000000000000000000000000000000000000000000000000000000006000611218565b610fcb84610100015183611312565b50505050505050565b6000806000610fe2846113ca565b60405163becef60760e01b8152929550909350915083906000906001600160a01b0383169063becef6079061101b9087906004016123e6565b60206040518083038186803b15801561103357600080fd5b505afa158015611047573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061106b9190611d68565b905060001983148061107c57508083145b156110f257604051637e2985f360e01b81526001600160a01b03831690637e2985f3906110b1908790339086906004016123f4565b600060405180830381600087803b1580156110cb57600080fd5b505af11580156110df573d6000803e3d6000fd5b505050506110ed85856113f0565b611155565b604051637e2985f360e01b81526001600160a01b03831690637e2985f390611122908790339088906004016123f4565b600060405180830381600087803b15801561113c57600080fd5b505af1158015611150573d6000803e3d6000fd5b505050505b505050505050565b60008261116c57506000610a80565b8282028284828161117957fe5b04146111975760405162461bcd60e51b815260040161025090612351565b9392505050565b60008082116111bf5760405162461bcd60e51b815260040161025090612331565b8183816111c857fe5b049392505050565b6000828211156111f25760405162461bcd60e51b815260040161025090612311565b50900390565b6000808280602001905181019061120f9190611d2e565b91509150915091565b8015806112a05750604051636eb1769f60e11b81526001600160a01b0384169063dd62ed3e9061124e9030908690600401612286565b60206040518083038186803b15801561126657600080fd5b505afa15801561127a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061129e9190611d68565b155b6112bc5760405162461bcd60e51b815260040161025090612391565b6102598363095ea7b360e01b84846040516024016112db9291906122a1565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915261157a565b6040805180820182526001600160a01b0384811680835263ffffffff858116602085018181526000805460018101825581805296517f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e563909701805492516001600160a01b0319909316979096169690961763ffffffff60a01b1916600160a01b91909316029190911790925592519092917f9064e110f4af8c3afc5cb815841bb7b2d7b4324b194a740015a249c929d3d0c791a35050565b6000806000838060200190518101906113e39190611ba2565b9250925092509193909250565b60008054905b8181101561157457611406611720565b6000828154811061141357fe5b6000918252602091829020604080518082019091529101546001600160a01b038116825263ffffffff600160a01b909104811692820183905290925085161480156114735750846001600160a01b031681600001516001600160a01b0316145b1561156b57600183038210156114fb576000600184038154811061149357fe5b90600052602060002001600083815481106114aa57fe5b600091825260209091208254910180546001600160a01b0319166001600160a01b0390921691909117808255915463ffffffff600160a01b91829004160263ffffffff60a01b199092169190911790555b600080548061150657fe5b600082815260208120820160001990810180546001600160c01b031916905590910190915560405163ffffffff8616916001600160a01b038816917f0d5bcf97415af39ded48a8e8b4386016db43ed02862eefbd9e5b466c4329ad959190a350611574565b506001016113f6565b50505050565b60606115cf826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166116099092919063ffffffff16565b80519091501561025957808060200190518101906115ed9190611c7f565b6102595760405162461bcd60e51b815260040161025090612381565b60606116188484600085611620565b949350505050565b6060824710156116425760405162461bcd60e51b815260040161025090612321565b61164b856116e1565b6116675760405162461bcd60e51b815260040161025090612371565b60006060866001600160a01b03168587604051611684919061227a565b60006040518083038185875af1925050503d80600081146116c1576040519150601f19603f3d011682016040523d82523d6000602084013e6116c6565b606091505b50915091506116d68282866116e7565b979650505050505050565b3b151590565b606083156116f6575081611197565b8251156117065782518084602001fd5b8160405162461bcd60e51b81526004016102509190612300565b604080518082019091526000808252602082015290565b604080516101a081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052906101008201908152600060208201819052604082018190526060820181905260809091015290565b604080516101a081018252600080825260208201819052918101829052906060820190815260006020820181905260408201819052606082018190526080820181905260a0820181905260c0820181905260e0820181905261010082018190526101209091015290565b8035610a808161253d565b8051610a808161253d565b8051610a8081612551565b60008083601f84011261183d57600080fd5b50813567ffffffffffffffff81111561185557600080fd5b6020830191508360018202830111156109b357600080fd5b600082601f83011261187e57600080fd5b813561189161188c82612443565b61241c565b915080825260208301602083018583830111156118ad57600080fd5b6118b88382846124fb565b50505092915050565b600082601f8301126118d257600080fd5b81516118e061188c82612443565b915080825260208301602083018583830111156118fc57600080fd5b6118b8838284612507565b8051610a808161255a565b60006101a0828403121561192557600080fd5b6119306101a061241c565b9050600061193e8484611b42565b825250602061194f84848301611b63565b602083015250604061196384828501611b63565b604083015250606061197784828501611907565b606083015250608061198b84828501611b37565b60808301525060a061199f84828501611b37565b60a08301525060c06119b384828501611b37565b60c08301525060e06119c784828501611b37565b60e0830152506101006119dc84828501611815565b610100830152506101206119f284828501611815565b61012083015250610140611a0884828501611815565b61014083015250610160611a1e84828501611820565b61016083015250610180611a3484828501611820565b6101808301525092915050565b60006101a08284031215611a5457600080fd5b611a5f6101a061241c565b90506000611a6d8484611815565b8252506020611a7e84848301611815565b6020830152506040611a9284828501611b58565b6040830152506060611aa684828501611b37565b6060830152506080611aba84828501611b37565b60808301525060a0611ace84828501611b37565b60a08301525060c0611ae284828501611b6e565b60c08301525060e0611af684828501611b6e565b60e083015250610100611b0b84828501611907565b61010083015250610120611b2184828501611820565b61012083015250610140611a0884828501611820565b8051610a8081612567565b8051610a8081612570565b8035610a8081612579565b8051610a8081612579565b8051610a8081612582565b8051610a808161258b565b8051610a8081612594565b600060208284031215611b9657600080fd5b60006116188484611815565b600080600060608486031215611bb757600080fd5b6000611bc38686611815565b9350506020611bd486828701611b63565b9250506040611be586828701611b58565b9150509250925092565b60008060008060008060a08789031215611c0857600080fd5b6000611c14898961180a565b9650506020611c2589828a0161180a565b9550506040611c3689828a01611b4d565b9450506060611c4789828a01611b4d565b935050608087013567ffffffffffffffff811115611c6457600080fd5b611c7089828a0161182b565b92509250509295509295509295565b600060208284031215611c9157600080fd5b60006116188484611820565b600060208284031215611caf57600080fd5b813567ffffffffffffffff811115611cc657600080fd5b6116188482850161186d565b60006101a08284031215611ce557600080fd5b60006116188484611912565b60006101a08284031215611d0457600080fd5b60006116188484611a41565b600060208284031215611d2257600080fd5b60006116188484611b37565b60008060408385031215611d4157600080fd5b6000611d4d8585611b42565b9250506020611d5e85828601611b37565b9150509250929050565b600060208284031215611d7a57600080fd5b60006116188484611b58565b60008060408385031215611d9957600080fd5b6000611da58585611b58565b925050602083015167ffffffffffffffff811115611dc257600080fd5b611d5e858286016118c1565b60008060408385031215611de157600080fd5b6000611d4d8585611b58565b600060208284031215611dff57600080fd5b60006116188484611b63565b600060208284031215611e1d57600080fd5b60006116188484611b79565b6000611e358383611e6c565b505060200190565b6000611e498383612229565b505060400190565b6000611e35838361225f565b611e66816124df565b82525050565b611e6681612483565b6000611e8082612471565b611e8a8185612475565b9350611e958361246b565b8060005b83811015611ec3578151611ead8882611e29565b9750611eb88361246b565b925050600101611e99565b509495945050505050565b6000611ed982612471565b611ee38185612475565b9350611eee8361246b565b8060005b83811015611ec3578151611f068882611e3d565b9750611f118361246b565b925050600101611ef2565b6000611f2782612471565b611f318185612475565b9350611f3c8361246b565b8060005b83811015611ec3578151611f548882611e51565b9750611f5f8361246b565b925050600101611f40565b611e6681612493565b6000611f7e82612471565b611f88818561247e565b9350611f98818560208601612507565b9290920192915050565b6000611fad82612471565b611fb78185612475565b9350611fc7818560208601612507565b611fd081612533565b9093019392505050565b6000611fe7601e83612475565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000612020602683612475565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f8152651c8818d85b1b60d21b602082015260400192915050565b6000612068601a83612475565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b60006120a1602683612475565b7f7265636569766543616c6c46726f6d5661756c743a20496e76616c69642061638152651d1a5bdb925960d21b602082015260400192915050565b60006120e9602183612475565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b600061212c601183612475565b70141c9a58d9481b9bdd081cd95d1d1b1959607a1b815260200192915050565b6000612159601d83612475565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000815260200192915050565b6000612192602a83612475565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e8152691bdd081cdd58d8d9595960b21b602082015260400192915050565b60006121de603683612475565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f81527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b602082015260400192915050565b8051604083019061223a8482611e6c565b5060208201516115746020850182612271565b611e66816124a0565b611e66816124b8565b611e66816124c0565b611e66816124f0565b611e66816124c3565b60006111978284611f73565b604081016122948285611e6c565b6111976020830184611e6c565b604081016122af8285611e6c565b611197602083018461225f565b604080825281016122cd8185611e75565b905081810360208301526116188184611f1c565b602080825281016111978184611ece565b60208101610a808284611f6a565b602080825281016111978184611fa2565b60208082528101610a8081611fda565b60208082528101610a8081612013565b60208082528101610a808161205b565b60208082528101610a8081612094565b60208082528101610a80816120dc565b60208082528101610a808161211f565b60208082528101610a808161214c565b60208082528101610a8081612185565b60208082528101610a80816121d1565b60208101610a808284612256565b604081016123bd8285612256565b611197602083018461224d565b60208101610a80828461225f565b60408101612294828561225f565b60208101610a808284612268565b606081016124028286612268565b61240f6020830185611e5d565b611618604083018461225f565b60405181810167ffffffffffffffff8111828210171561243b57600080fd5b604052919050565b600067ffffffffffffffff82111561245a57600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b919050565b6000610a80826124ac565b151590565b6001600160e01b03191690565b6001600160801b031690565b6001600160a01b031690565b62ffffff1690565b90565b63ffffffff1690565b67ffffffffffffffff1690565b60ff1690565b6000610a80826000610a8082612483565b6000610a80826124c3565b82818337506000910152565b60005b8381101561252257818101518382015260200161250a565b838111156115745750506000910152565b601f01601f191690565b61254681612483565b81146100eb57600080fd5b6125468161248e565b600281106100eb57600080fd5b612546816124a0565b612546816124b8565b612546816124c0565b612546816124c3565b612546816124cc565b612546816124d956fea164736f6c634300060c000a", "sourceMap": "1119:9400:124:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1854:48;;;;;;:::i;:::-;;:::i;:::-;;5801:853;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;10258:259;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;2030:465::-;;;;;;:::i;:::-;;:::i;5446:176::-;;;:::i;9685:132::-;;;:::i;:::-;;;;;;;:::i;1854:48::-;;:::o;5801:853::-;5880:24;5906:25;5972:39;6014:20;:18;:20::i;:::-;6069:22;;5972:62;;-1:-1:-1;6044:22:124;6101:487;6121:14;6117:1;:18;6101:487;;;6156:36;;:::i;:::-;6195:15;6211:1;6195:18;;;;;;;;;;;;;;6156:57;;6229:23;6254:24;6282:115;6321:14;:22;;;6361:14;:22;;;6282:21;:115::i;:::-;6228:169;;;;6417:9;6412:166;6432:6;:13;6428:1;:17;6412:166;;;6480:26;6496:6;6503:1;6496:9;;;;;;;;;;;;;;6480:7;:15;;:26;;;;:::i;:::-;6470:36;;6535:28;6552:7;6560:1;6552:10;;;;;;;;;;;;;;6535:8;:16;;:28;;;;:::i;:::-;6524:39;-1:-1:-1;6447:3:124;;6412:166;;;-1:-1:-1;;6137:3:124;;;;;-1:-1:-1;6101:487:124;;-1:-1:-1;6101:487:124;;;6605:42;6629:7;6638:8;6605:23;:42::i;:::-;6598:49;;;;;;5801:853;;:::o;10258:259::-;10443:66;10258:259;;;;;;;;:::o;2030:465::-;2115:16;2133:23;2171:11;2160:41;;;;;;;;;;;;:::i;:::-;2114:87;;-1:-1:-1;2114:87:124;-1:-1:-1;2216:40:124;2212:277;;2272:31;2292:10;2272:19;:31::i;:::-;2212:277;;;2344:13;2324:8;:34;2320:169;;;2374:25;2388:10;2374:13;:25::i;2320:169::-;2430:48;;-1:-1:-1;;;2430:48:124;;;;;;;:::i;:::-;;;;;;;;2320:169;2030:465;;;:::o;5446:176::-;5522:24;5548:25;5446:176;:::o;9685:132::-;9736:40;9795:15;9788:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9788:22:124;;;;-1:-1:-1;;;9788:22:124;;;;;;;;;;;;;;;;;;;;;;;;;9685:132;:::o;6996:2506::-;7095:24;7121:25;7162:34;7218:8;7162:65;;7237:28;7284:15;-1:-1:-1;;;;;7284:24:124;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7237:74;;7321:14;7338:15;-1:-1:-1;;;;;7338:34:124;;7373:8;7338:44;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7321:61;;7392:19;7414:12;-1:-1:-1;;;;;7414:27:124;;7442:6;7414:35;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7392:57;;7482:1;7468:11;-1:-1:-1;;;;;7468:15:124;;7460:45;;;;-1:-1:-1;;;7460:45:124;;;;;;;:::i;:::-;7516:44;;:::i;:::-;7563:37;;-1:-1:-1;;;7563:37:124;;-1:-1:-1;;;;;7563:29:124;;;;;:37;;7593:6;;7563:37;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7516:84;;7610:20;7633:15;-1:-1:-1;;;;;7633:28:124;;7662:8;7633:38;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7610:61;;7682:27;7719:24;7758:10;:27;;;7754:778;;;7823:153;7946:12;-1:-1:-1;;;;;7946:26:124;;:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7938:37;;7934:2;:41;7823:89;7875:10;:23;;;-1:-1:-1;;;;;7869:39:124;;:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7823:12;;7861:50;;7857:2;:54;7823:33;:89::i;:::-;:110;;:153::i;:::-;7801:175;;8009:10;:23;;;-1:-1:-1;;;;;7995:37:124;:11;-1:-1:-1;;;;;7995:37:124;;7991:209;;;8071:114;8138:29;:12;-1:-1:-1;;;;;8138:29:124;;:16;:29::i;:::-;8088:23;;;;8071:41;;:12;;-1:-1:-1;;;;;8071:41:124;:16;:41::i;:::-;:45;;:114::i;:::-;8052:133;;7991:209;7754:778;;;8248:10;:22;;;-1:-1:-1;;;;;8234:36:124;:11;-1:-1:-1;;;;;8234:36:124;;8230:230;;;8304:10;:22;;;8290:36;;8230:230;;;8365:10;:23;;;-1:-1:-1;;;;;8351:37:124;:11;-1:-1:-1;;;;;8351:37:124;;8347:113;;;8422:10;:23;;;8408:37;;8347:113;8492:29;:12;-1:-1:-1;;;;;8492:29:124;;:16;:29::i;:::-;8473:48;;7754:778;8546:23;;8542:459;;8685:23;;;;8618:104;;-1:-1:-1;;;8618:104:124;;8585:30;;-1:-1:-1;;;;;8618:25:124;;;;;:104;;8661:6;;8685:23;8618:104;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8585:137;;8763:22;8741:19;:44;8737:127;;;8827:22;8805:44;;8737:127;8904:23;;;;8888:40;;:7;;:15;:40::i;:::-;8878:50;-1:-1:-1;8953:37:124;:8;8970:19;8953:16;:37::i;:::-;8942:48;;8542:459;;9015:20;;9011:448;;9051:27;9081:12;-1:-1:-1;;;;;9081:25:124;;9124:6;9148:15;-1:-1:-1;;;;;9148:26:124;;:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9081:109;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9051:139;;9228:19;9209:16;:38;9205:115;;;9286:19;9267:38;;9205:115;9344:45;9360:15;-1:-1:-1;;;;;9360:26:124;;:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9344:7;;:15;:45::i;:::-;9334:55;-1:-1:-1;9414:34:124;:8;9431:16;9414;:34::i;:::-;9403:45;;9011:448;;9469:26;;;;;;;;6996:2506;;;;;;:::o;1668:374:354:-;1776:27;1846:5;:12;1861:1;1846:16;1832:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1832:31:354;;1819:44;;1878:9;1873:88;1893:5;:12;1889:1;:16;1873:88;;;1942:5;1948:1;1942:8;;;;;;;;;;;;;;1926:10;1937:1;1926:13;;;;;;;;-1:-1:-1;;;;;1926:24:354;;;:13;;;;;;;;;;;:24;1907:3;;1873:88;;;;1997:10;1970;1981:5;:12;1970:24;;;;;;;;;;;;;:37;-1:-1:-1;;;;;1970:37:354;;;-1:-1:-1;;;;;1970:37:354;;;;;1668:374;;;;;:::o;::363:-;1776:27;1846:5;:12;1861:1;1846:16;1832:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1832:31:363;;1819:44;;1878:9;1873:88;1893:5;:12;1889:1;:16;1873:88;;;1942:5;1948:1;1942:8;;;;;;;;;;;;;;1926:10;1937:1;1926:13;;;;;;;;;;;;;;;;;:24;1907:3;;1873:88;;;;1997:10;1970;1981:5;:12;1970:24;;;;;;;;;;;;;:37;;;;;1668:374;;;;:::o;749:1574:355:-;888:34;924:35;979:10;:17;1000:1;979:22;975:99;;;1017:46;;975:99;1115:1;;1126:361;1150:10;:17;1146:1;:21;1126:361;;;1188:13;1220:9;1215:179;1235:1;1231;:5;1215:179;;;1282:10;1293:1;1282:13;;;;;;;;;;;;;;-1:-1:-1;;;;;1265:30:355;:10;1276:1;1265:13;;;;;;;;;;;;;;-1:-1:-1;;;;;1265:30:355;;1261:119;;;1330:4;1319:15;;1356:5;;1261:119;1238:3;;1215:179;;;;1412:8;1407:70;;1440:22;;;;;1407:70;-1:-1:-1;1169:3:355;;1126:361;;;;1531:20;1517:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1517:35:355;;1497:55;;1597:20;1583:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1583:35:355;;1562:56;;1628:28;1671:9;1666:594;1686:10;:17;1682:1;:21;1666:594;;;1724:13;1756:9;1751:268;1771:20;1767:1;:24;1751:268;;;1837:17;1855:1;1837:20;;;;;;;;;;;;;;-1:-1:-1;;;;;1820:37:355;:10;1831:1;1820:13;;;;;;;;;;;;;;-1:-1:-1;;;;;1820:37:355;;1816:189;;;1892:4;1881:15;;1944:11;1956:1;1944:14;;;;;;;;;;;;;;1919:18;1938:1;1919:21;;;;;;;;;;;;;:39;;;;;;;;;;;1981:5;;1816:189;1793:3;;1751:268;;;;2037:8;2032:218;;2107:10;2118:1;2107:13;;;;;;;;;;;;;;2065:17;2083:20;2065:39;;;;;;;;;;;;;:55;-1:-1:-1;;;;;2065:55:355;;;-1:-1:-1;;;;;2065:55:355;;;;;2181:11;2193:1;2181:14;;;;;;;;;;;;;;2138:18;2157:20;2138:40;;;;;;;;;;;;;;;;;:57;2213:22;;;;;2032:218;-1:-1:-1;1705:3:355;;1666:594;;;;2270:46;;749:1574;;;;;:::o;2580:897:124:-;2654:14;2670:13;2687:42;2717:11;2687:29;:42::i;:::-;2653:76;;;;2740;;:::i;:::-;2819:56;;-1:-1:-1;;;2819:56:124;;-1:-1:-1;;;;;2819:37:124;:47;;;;:56;;2867:7;;2819:56;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2740:135;;2886:34;2942:8;:16;;;2886:73;;2969:18;2990:15;-1:-1:-1;;;;;2990:27:124;;:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3058:17;;;;2969:50;;-1:-1:-1;3086:126:124;-1:-1:-1;;;;;3086:25:124;;3133:37;-1:-1:-1;;3086:25:124;:126::i;:::-;3223:57;;-1:-1:-1;;;3223:57:124;;-1:-1:-1;;;;;3223:37:124;:41;;;;:57;;3265:7;;3274:5;;3223:57;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;3333:76:124;;-1:-1:-1;;;;;;3333:25:124;;3367:37;3407:1;3333:25;:76::i;:::-;3420:50;3440:8;:16;;;3458:11;3420:19;:50::i;:::-;2580:897;;;;;;;:::o;3536:593::-;3604:15;3621:14;3637:13;3654:36;3678:11;3654:23;:36::i;:::-;3798:37;;-1:-1:-1;;;3798:37:124;;3603:87;;-1:-1:-1;3603:87:124;;-1:-1:-1;3603:87:124;-1:-1:-1;3603:87:124;;3701:34;;-1:-1:-1;;;;;3798:28:124;;;;;:37;;3603:87;;3798:37;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3775:60;;-1:-1:-1;;3850:5:124;:26;:51;;;;3889:12;3880:5;:21;3850:51;3846:277;;;3917:58;;-1:-1:-1;;;3917:58:124;;-1:-1:-1;;;;;3917:23:124;;;;;:58;;3941:7;;3950:10;;3962:12;;3917:58;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3990:40;4013:7;4022;3990:22;:40::i;:::-;3846:277;;;4061:51;;-1:-1:-1;;;4061:51:124;;-1:-1:-1;;;;;4061:23:124;;;;;:51;;4085:7;;4094:10;;4106:5;;4061:51;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3846:277;3536:593;;;;;;:::o;3538:215:442:-;3596:7;3619:6;3615:20;;-1:-1:-1;3634:1:442;3627:8;;3615:20;3657:5;;;3661:1;3657;:5;:1;3680:5;;;;;:10;3672:56;;;;-1:-1:-1;;;3672:56:442;;;;;;;:::i;:::-;3745:1;3538:215;-1:-1:-1;;;3538:215:442:o;4217:150::-;4275:7;4306:1;4302;:5;4294:44;;;;-1:-1:-1;;;4294:44:442;;;;;;;:::i;:::-;4359:1;4355;:5;;;;;;;4217:150;-1:-1:-1;;;4217:150:442:o;3136:155::-;3194:7;3226:1;3221;:6;;3213:49;;;;-1:-1:-1;;;3213:49:442;;;;;;;:::i;:::-;-1:-1:-1;3279:5:442;;;3136:155::o;608:218:123:-;720:18;740:14;788:11;777:42;;;;;;;;;;;;:::i;:::-;770:49;;;;608:218;;;:::o;1348:613:450:-;1713:10;;;1712:62;;-1:-1:-1;1729:39:450;;-1:-1:-1;;;1729:39:450;;-1:-1:-1;;;;;1729:15:450;;;;;:39;;1753:4;;1760:7;;1729:39;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:44;1712:62;1704:150;;;;-1:-1:-1;;;1704:150:450;;;;;;;:::i;:::-;1864:90;1884:5;1914:22;;;1938:7;1947:5;1891:62;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;1891:62:450;;;;;;;;;;;;;;-1:-1:-1;;;;;1891:62:450;-1:-1:-1;;;;;;1891:62:450;;;;;;;;;;1864:19;:90::i;4215:219:124:-;4318:54;;;;;;;;-1:-1:-1;;;;;4318:54:124;;;;;;;;;;;;;;;;-1:-1:-1;4297:76:124;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;4297:76:124;;;;;;;;;;;-1:-1:-1;;;;4297:76:124;-1:-1:-1;;;4297:76:124;;;;;;;;;;;;4388:39;;4318:54;;;4388:39;;;4215:219;;:::o;896:282:123:-;1015:16;1045:15;1074:14;1131:11;1120:51;;;;;;;;;;;;:::i;:::-;1113:58;;;;;;896:282;;;;;:::o;4527:673:124:-;4612:29;4644:22;;;4676:518;4696:21;4692:1;:25;4676:518;;;4738:36;;:::i;:::-;4777:15;4793:1;4777:18;;;;;;;;;;;;;;;;;4738:57;;;;;;;;;4777:18;;4738:57;-1:-1:-1;;;;;4738:57:124;;;;;-1:-1:-1;;;4738:57:124;;;;;;;;;;;;;-1:-1:-1;4813:34:124;;;:72;;;;;4877:8;-1:-1:-1;;;;;4851:34:124;:14;:22;;;-1:-1:-1;;;;;4851:34:124;;4813:72;4809:375;;;4937:1;4913:21;:25;4909:1;:29;4905:139;;;4983:15;5023:1;4999:21;:25;4983:42;;;;;;;;;;;;;;;4962:15;4978:1;4962:18;;;;;;;;;;;;;;;;:63;;:18;;:63;;-1:-1:-1;;;;;;4962:63:124;-1:-1:-1;;;;;4962:63:124;;;;;;;;;;;;;-1:-1:-1;;;4962:63:124;;;;;;-1:-1:-1;;;;4962:63:124;;;;;;;;;4905:139;5061:15;:21;;;;;;;;;;;;;;;;-1:-1:-1;;5061:21:124;;;;;-1:-1:-1;;;;;;5061:21:124;;;;;;;;;5105:41;;5061:21;5105:41;;;-1:-1:-1;;;;;5105:41:124;;;;;5061:21;5105:41;5164:5;;;4809:375;-1:-1:-1;4719:3:124;;4676:518;;;;4527:673;;;:::o;2967:751:450:-;3386:23;3412:69;3440:4;3412:69;;;;;;;;;;;;;;;;;3420:5;-1:-1:-1;;;;;3412:27:450;;;:69;;;;;:::i;:::-;3495:17;;3386:95;;-1:-1:-1;3495:21:450;3491:221;;3635:10;3624:30;;;;;;;;;;;;:::i;:::-;3616:85;;;;-1:-1:-1;;;3616:85:450;;;;;;;:::i;3581:193:451:-;3684:12;3715:52;3737:6;3745:4;3751:1;3754:12;3715:21;:52::i;:::-;3708:59;3581:193;-1:-1:-1;;;;3581:193:451:o;4608:523::-;4735:12;4792:5;4767:21;:30;;4759:81;;;;-1:-1:-1;;;4759:81:451;;;;;;;:::i;:::-;4858:18;4869:6;4858:10;:18::i;:::-;4850:60;;;;-1:-1:-1;;;4850:60:451;;;;;;;:::i;:::-;4981:12;4995:23;5022:6;-1:-1:-1;;;;;5022:11:451;5042:5;5050:4;5022:33;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4980:75;;;;5072:52;5090:7;5099:10;5111:12;5072:17;:52::i;:::-;5065:59;4608:523;-1:-1:-1;;;;;;;4608:523:451:o;726:413::-;1086:20;1124:8;;;726:413::o;7091:725::-;7206:12;7234:7;7230:580;;;-1:-1:-1;7264:10:451;7257:17;;7230:580;7375:17;;:21;7371:429;;7633:10;7627:17;7693:15;7680:10;7676:2;7672:19;7665:44;7582:145;7772:12;7765:20;;-1:-1:-1;;;7765:20:451;;;;;;;;:::i;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5:130::-;72:20;;97:33;72:20;97:33;:::i;142:134::-;220:13;;238:33;220:13;238:33;:::i;440:128::-;515:13;;533:30;515:13;533:30;:::i;589:336::-;;;703:3;696:4;688:6;684:17;680:27;670:2;;721:1;718;711:12;670:2;-1:-1;741:20;;781:18;770:30;;767:2;;;813:1;810;803:12;767:2;847:4;839:6;835:17;823:29;;898:3;890:4;882:6;878:17;868:8;864:32;861:41;858:2;;;915:1;912;905:12;934:440;;1035:3;1028:4;1020:6;1016:17;1012:27;1002:2;;1053:1;1050;1043:12;1002:2;1090:6;1077:20;1112:64;1127:48;1168:6;1127:48;:::i;:::-;1112:64;:::i;:::-;1103:73;;1196:6;1189:5;1182:21;1232:4;1224:6;1220:17;1265:4;1258:5;1254:16;1300:3;1291:6;1286:3;1282:16;1279:25;1276:2;;;1317:1;1314;1307:12;1276:2;1327:41;1361:6;1356:3;1351;1327:41;:::i;:::-;995:379;;;;;;;:::o;1383:442::-;;1495:3;1488:4;1480:6;1476:17;1472:27;1462:2;;1513:1;1510;1503:12;1462:2;1543:6;1537:13;1565:64;1580:48;1621:6;1580:48;:::i;1565:64::-;1556:73;;1649:6;1642:5;1635:21;1685:4;1677:6;1673:17;1718:4;1711:5;1707:16;1753:3;1744:6;1739:3;1735:16;1732:25;1729:2;;;1770:1;1767;1760:12;1729:2;1780:39;1812:6;1807:3;1802;1780:39;:::i;1833:174::-;1931:13;;1949:53;1931:13;1949:53;:::i;2247:2280::-;;2374:6;2362:9;2357:3;2353:19;2349:32;2346:2;;;2394:1;2391;2384:12;2346:2;2412:22;2427:6;2412:22;:::i;:::-;2403:31;-1:-1;2490:1;2522:59;2577:3;2557:9;2522:59;:::i;:::-;2497:85;;-1:-1;2648:2;2681:59;2736:3;2712:22;;;2681:59;:::i;:::-;2674:4;2667:5;2663:16;2656:85;2603:149;2805:2;2838:59;2893:3;2884:6;2873:9;2869:22;2838:59;:::i;:::-;2831:4;2824:5;2820:16;2813:85;2762:147;2964:2;2997:75;3068:3;3059:6;3048:9;3044:22;2997:75;:::i;:::-;2990:4;2983:5;2979:16;2972:101;2919:165;3140:3;3174:60;3230:3;3221:6;3210:9;3206:22;3174:60;:::i;:::-;3167:4;3160:5;3156:16;3149:86;3094:152;3297:3;3331:60;3387:3;3378:6;3367:9;3363:22;3331:60;:::i;:::-;3324:4;3317:5;3313:16;3306:86;3256:147;3452:3;3486:60;3542:3;3533:6;3522:9;3518:22;3486:60;:::i;:::-;3479:4;3472:5;3468:16;3461:86;3413:145;3607:3;3641:60;3697:3;3688:6;3677:9;3673:22;3641:60;:::i;:::-;3634:4;3627:5;3623:16;3616:86;3568:145;3766:3;3802:60;3858:3;3849:6;3838:9;3834:22;3802:60;:::i;:::-;3793:6;3786:5;3782:18;3775:88;3723:151;3928:3;3964:60;4020:3;4011:6;4000:9;3996:22;3964:60;:::i;:::-;3955:6;3948:5;3944:18;3937:88;3884:152;4088:3;4124:60;4180:3;4171:6;4160:9;4156:22;4124:60;:::i;:::-;4115:6;4108:5;4104:18;4097:88;4046:150;4254:3;4290:57;4343:3;4334:6;4323:9;4319:22;4290:57;:::i;:::-;4281:6;4274:5;4270:18;4263:85;4206:153;4412:3;4448:57;4501:3;4492:6;4481:9;4477:22;4448:57;:::i;:::-;4439:6;4432:5;4428:18;4421:85;4369:148;2340:2187;;;;:::o;4574:2332::-;;4703:6;4691:9;4686:3;4682:19;4678:32;4675:2;;;4723:1;4720;4713:12;4675:2;4741:22;4756:6;4741:22;:::i;:::-;4732:31;-1:-1;4815:1;4847:60;4903:3;4883:9;4847:60;:::i;:::-;4822:86;;-1:-1;4977:2;5010:60;5066:3;5042:22;;;5010:60;:::i;:::-;5003:4;4996:5;4992:16;4985:86;4929:153;5138:2;5171:60;5227:3;5218:6;5207:9;5203:22;5171:60;:::i;:::-;5164:4;5157:5;5153:16;5146:86;5092:151;5300:2;5333:60;5389:3;5380:6;5369:9;5365:22;5333:60;:::i;:::-;5326:4;5319:5;5315:16;5308:86;5253:152;5463:3;5497:60;5553:3;5544:6;5533:9;5529:22;5497:60;:::i;:::-;5490:4;5483:5;5479:16;5472:86;5415:154;5626:3;5660:60;5716:3;5707:6;5696:9;5692:22;5660:60;:::i;:::-;5653:4;5646:5;5642:16;5635:86;5579:153;5791:3;5825:59;5880:3;5871:6;5860:9;5856:22;5825:59;:::i;:::-;5818:4;5811:5;5807:16;5800:85;5742:154;5950:3;5984:59;6039:3;6030:6;6019:9;6015:22;5984:59;:::i;:::-;5977:4;5970:5;5966:16;5959:85;5906:149;6115:3;6151:80;6227:3;6218:6;6207:9;6203:22;6151:80;:::i;:::-;6142:6;6135:5;6131:18;6124:108;6065:178;6305:3;6341:57;6394:3;6385:6;6374:9;6370:22;6341:57;:::i;:::-;6332:6;6325:5;6321:18;6314:85;6253:157;6473:3;6509:57;6562:3;6553:6;6542:9;6538:22;6509:57;:::i;6913:134::-;6991:13;;7009:33;6991:13;7009:33;:::i;7054:132::-;7131:13;;7149:32;7131:13;7149:32;:::i;7193:130::-;7260:20;;7285:33;7260:20;7285:33;:::i;7330:134::-;7408:13;;7426:33;7408:13;7426:33;:::i;7471:132::-;7548:13;;7566:32;7548:13;7566:32;:::i;7610:132::-;7687:13;;7705:32;7687:13;7705:32;:::i;7749:130::-;7825:13;;7843:31;7825:13;7843:31;:::i;7886:263::-;;8001:2;7989:9;7980:7;7976:23;7972:32;7969:2;;;8017:1;8014;8007:12;7969:2;8052:1;8069:64;8125:7;8105:9;8069:64;:::i;8156:549::-;;;;8312:2;8300:9;8291:7;8287:23;8283:32;8280:2;;;8328:1;8325;8318:12;8280:2;8363:1;8380:72;8444:7;8424:9;8380:72;:::i;:::-;8370:82;;8342:116;8489:2;8507:63;8562:7;8553:6;8542:9;8538:22;8507:63;:::i;:::-;8497:73;;8468:108;8607:2;8625:64;8681:7;8672:6;8661:9;8657:22;8625:64;:::i;:::-;8615:74;;8586:109;8274:431;;;;;:::o;8712:867::-;;;;;;;8903:3;8891:9;8882:7;8878:23;8874:33;8871:2;;;8920:1;8917;8910:12;8871:2;8955:1;8972:53;9017:7;8997:9;8972:53;:::i;:::-;8962:63;;8934:97;9062:2;9080:53;9125:7;9116:6;9105:9;9101:22;9080:53;:::i;:::-;9070:63;;9041:98;9170:2;9188:53;9233:7;9224:6;9213:9;9209:22;9188:53;:::i;:::-;9178:63;;9149:98;9278:2;9296:53;9341:7;9332:6;9321:9;9317:22;9296:53;:::i;:::-;9286:63;;9257:98;9414:3;9403:9;9399:19;9386:33;9439:18;9431:6;9428:30;9425:2;;;9471:1;9468;9461:12;9425:2;9499:64;9555:7;9546:6;9535:9;9531:22;9499:64;:::i;:::-;9481:82;;;;9365:204;8865:714;;;;;;;;:::o;9586:257::-;;9698:2;9686:9;9677:7;9673:23;9669:32;9666:2;;;9714:1;9711;9704:12;9666:2;9749:1;9766:61;9819:7;9799:9;9766:61;:::i;9850:345::-;;9963:2;9951:9;9942:7;9938:23;9934:32;9931:2;;;9979:1;9976;9969:12;9931:2;10014:31;;10065:18;10054:30;;10051:2;;;10097:1;10094;10087:12;10051:2;10117:62;10171:7;10162:6;10151:9;10147:22;10117:62;:::i;10202:318::-;;10344:3;10332:9;10323:7;10319:23;10315:33;10312:2;;;10361:1;10358;10351:12;10312:2;10396:1;10413:91;10496:7;10476:9;10413:91;:::i;10527:322::-;;10671:3;10659:9;10650:7;10646:23;10642:33;10639:2;;;10688:1;10685;10678:12;10639:2;10723:1;10740:93;10825:7;10805:9;10740:93;:::i;10856:263::-;;10971:2;10959:9;10950:7;10946:23;10942:32;10939:2;;;10987:1;10984;10977:12;10939:2;11022:1;11039:64;11095:7;11075:9;11039:64;:::i;11126:397::-;;;11257:2;11245:9;11236:7;11232:23;11228:32;11225:2;;;11273:1;11270;11263:12;11225:2;11308:1;11325:63;11380:7;11360:9;11325:63;:::i;:::-;11315:73;;11287:107;11425:2;11443:64;11499:7;11490:6;11479:9;11475:22;11443:64;:::i;:::-;11433:74;;11404:109;11219:304;;;;;:::o;11530:263::-;;11645:2;11633:9;11624:7;11620:23;11616:32;11613:2;;;11661:1;11658;11651:12;11613:2;11696:1;11713:64;11769:7;11749:9;11713:64;:::i;11800:496::-;;;11941:2;11929:9;11920:7;11916:23;11912:32;11909:2;;;11957:1;11954;11947:12;11909:2;11992:1;12009:64;12065:7;12045:9;12009:64;:::i;:::-;11999:74;;11971:108;12131:2;12120:9;12116:18;12110:25;12155:18;12147:6;12144:30;12141:2;;;12187:1;12184;12177:12;12141:2;12207:73;12272:7;12263:6;12252:9;12248:22;12207:73;:::i;12303:399::-;;;12435:2;12423:9;12414:7;12410:23;12406:32;12403:2;;;12451:1;12448;12441:12;12403:2;12486:1;12503:64;12559:7;12539:9;12503:64;:::i;12709:261::-;;12823:2;12811:9;12802:7;12798:23;12794:32;12791:2;;;12839:1;12836;12829:12;12791:2;12874:1;12891:63;12946:7;12926:9;12891:63;:::i;12977:259::-;;13090:2;13078:9;13069:7;13065:23;13061:32;13058:2;;;13106:1;13103;13096:12;13058:2;13141:1;13158:62;13212:7;13192:9;13158:62;:::i;13244:173::-;;13331:46;13373:3;13365:6;13331:46;:::i;:::-;-1:-1;;13406:4;13397:14;;13324:93::o;13426:301::-;;13577:110;13683:3;13675:6;13577:110;:::i;:::-;-1:-1;;13716:4;13707:14;;13570:157::o;13736:173::-;;13823:46;13865:3;13857:6;13823:46;:::i;13917:142::-;14008:45;14047:5;14008:45;:::i;:::-;14003:3;13996:58;13990:69;;:::o;14066:103::-;14139:24;14157:5;14139:24;:::i;14327:690::-;;14472:54;14520:5;14472:54;:::i;:::-;14539:86;14618:6;14613:3;14539:86;:::i;:::-;14532:93;;14646:56;14696:5;14646:56;:::i;:::-;14722:7;14750:1;14735:260;14760:6;14757:1;14754:13;14735:260;;;14827:6;14821:13;14848:63;14907:3;14892:13;14848:63;:::i;:::-;14841:70;;14928:60;14981:6;14928:60;:::i;:::-;14918:70;-1:-1;;14782:1;14775:9;14735:260;;;-1:-1;15008:3;;14451:566;-1:-1;;;;;14451:566::o;15148:946::-;;15357:86;15437:5;15357:86;:::i;:::-;15456:118;15567:6;15562:3;15456:118;:::i;:::-;15449:125;;15595:88;15677:5;15595:88;:::i;:::-;15703:7;15731:1;15716:356;15741:6;15738:1;15735:13;15716:356;;;15808:6;15802:13;15829:127;15952:3;15937:13;15829:127;:::i;:::-;15822:134;;15973:92;16058:6;15973:92;:::i;:::-;15963:102;-1:-1;;15763:1;15756:9;15716:356;;16133:690;;16278:54;16326:5;16278:54;:::i;:::-;16345:86;16424:6;16419:3;16345:86;:::i;:::-;16338:93;;16452:56;16502:5;16452:56;:::i;:::-;16528:7;16556:1;16541:260;16566:6;16563:1;16560:13;16541:260;;;16633:6;16627:13;16654:63;16713:3;16698:13;16654:63;:::i;:::-;16647:70;;16734:60;16787:6;16734:60;:::i;:::-;16724:70;-1:-1;;16588:1;16581:9;16541:260;;16831:110;16912:23;16929:5;16912:23;:::i;16948:356::-;;17076:38;17108:5;17076:38;:::i;:::-;17126:88;17207:6;17202:3;17126:88;:::i;:::-;17119:95;;17219:52;17264:6;17259:3;17252:4;17245:5;17241:16;17219:52;:::i;:::-;17283:16;;;;;17056:248;-1:-1;;17056:248::o;17311:347::-;;17423:39;17456:5;17423:39;:::i;:::-;17474:71;17538:6;17533:3;17474:71;:::i;:::-;17467:78;;17550:52;17595:6;17590:3;17583:4;17576:5;17572:16;17550:52;:::i;:::-;17623:29;17645:6;17623:29;:::i;:::-;17614:39;;;;17403:255;-1:-1;;;17403:255::o;17666:330::-;;17826:67;17890:2;17885:3;17826:67;:::i;:::-;17926:32;17906:53;;17987:2;17978:12;;17812:184;-1:-1;;17812:184::o;18005:375::-;;18165:67;18229:2;18224:3;18165:67;:::i;:::-;18265:34;18245:55;;-1:-1;;;18329:2;18320:12;;18313:30;18371:2;18362:12;;18151:229;-1:-1;;18151:229::o;18389:326::-;;18549:67;18613:2;18608:3;18549:67;:::i;:::-;18649:28;18629:49;;18706:2;18697:12;;18535:180;-1:-1;;18535:180::o;18724:375::-;;18884:67;18948:2;18943:3;18884:67;:::i;:::-;18984:34;18964:55;;-1:-1;;;19048:2;19039:12;;19032:30;19090:2;19081:12;;18870:229;-1:-1;;18870:229::o;19108:370::-;;19268:67;19332:2;19327:3;19268:67;:::i;:::-;19368:34;19348:55;;-1:-1;;;19432:2;19423:12;;19416:25;19469:2;19460:12;;19254:224;-1:-1;;19254:224::o;19487:317::-;;19647:67;19711:2;19706:3;19647:67;:::i;:::-;-1:-1;;;19727:40;;19795:2;19786:12;;19633:171;-1:-1;;19633:171::o;19813:329::-;;19973:67;20037:2;20032:3;19973:67;:::i;:::-;20073:31;20053:52;;20133:2;20124:12;;19959:183;-1:-1;;19959:183::o;20151:379::-;;20311:67;20375:2;20370:3;20311:67;:::i;:::-;20411:34;20391:55;;-1:-1;;;20475:2;20466:12;;20459:34;20521:2;20512:12;;20297:233;-1:-1;;20297:233::o;20539:391::-;;20699:67;20763:2;20758:3;20699:67;:::i;:::-;20799:34;20779:55;;-1:-1;;;20863:2;20854:12;;20847:46;20921:2;20912:12;;20685:245;-1:-1;;20685:245::o;21055:484::-;21271:23;;21202:4;21193:14;;;21300:63;21197:3;21271:23;21300:63;:::i;:::-;21222:147;21445:4;21438:5;21434:16;21428:23;21457:61;21512:4;21507:3;21503:14;21489:12;21457:61;:::i;21546:113::-;21629:24;21647:5;21629:24;:::i;21666:110::-;21747:23;21764:5;21747:23;:::i;21783:103::-;21856:24;21874:5;21856:24;:::i;22013:124::-;22095:36;22125:5;22095:36;:::i;22144:100::-;22215:23;22232:5;22215:23;:::i;22251:271::-;;22404:93;22493:3;22484:6;22404:93;:::i;22529:333::-;22684:2;22669:18;;22698:71;22673:9;22742:6;22698:71;:::i;:::-;22780:72;22848:2;22837:9;22833:18;22824:6;22780:72;:::i;22869:333::-;23024:2;23009:18;;23038:71;23013:9;23082:6;23038:71;:::i;:::-;23120:72;23188:2;23177:9;23173:18;23164:6;23120:72;:::i;23209:629::-;23464:2;23478:47;;;23449:18;;23539:108;23449:18;23633:6;23539:108;:::i;:::-;23531:116;;23695:9;23689:4;23685:20;23680:2;23669:9;23665:18;23658:48;23720:108;23823:4;23814:6;23720:108;:::i;23845:498::-;24086:2;24100:47;;;24071:18;;24161:172;24071:18;24319:6;24161:172;:::i;24350:218::-;24475:2;24460:18;;24489:69;24464:9;24531:6;24489:69;:::i;24575:310::-;24722:2;24736:47;;;24707:18;;24797:78;24707:18;24861:6;24797:78;:::i;24892:416::-;25092:2;25106:47;;;25077:18;;25167:131;25077:18;25167:131;:::i;25315:416::-;25515:2;25529:47;;;25500:18;;25590:131;25500:18;25590:131;:::i;25738:416::-;25938:2;25952:47;;;25923:18;;26013:131;25923:18;26013:131;:::i;26161:416::-;26361:2;26375:47;;;26346:18;;26436:131;26346:18;26436:131;:::i;26584:416::-;26784:2;26798:47;;;26769:18;;26859:131;26769:18;26859:131;:::i;27007:416::-;27207:2;27221:47;;;27192:18;;27282:131;27192:18;27282:131;:::i;27430:416::-;27630:2;27644:47;;;27615:18;;27705:131;27615:18;27705:131;:::i;27853:416::-;28053:2;28067:47;;;28038:18;;28128:131;28038:18;28128:131;:::i;28276:416::-;28476:2;28490:47;;;28461:18;;28551:131;28461:18;28551:131;:::i;28699:218::-;28824:2;28809:18;;28838:69;28813:9;28880:6;28838:69;:::i;28924:329::-;29077:2;29062:18;;29091:69;29066:9;29133:6;29091:69;:::i;:::-;29171:72;29239:2;29228:9;29224:18;29215:6;29171:72;:::i;29260:222::-;29387:2;29372:18;;29401:71;29376:9;29445:6;29401:71;:::i;29489:333::-;29644:2;29629:18;;29658:71;29633:9;29702:6;29658:71;:::i;29829:220::-;29955:2;29940:18;;29969:70;29944:9;30012:6;29969:70;:::i;30056:458::-;30246:2;30231:18;;30260:70;30235:9;30303:6;30260:70;:::i;:::-;30341:80;30417:2;30406:9;30402:18;30393:6;30341:80;:::i;:::-;30432:72;30500:2;30489:9;30485:18;30476:6;30432:72;:::i;30521:256::-;30583:2;30577:9;30609:17;;;30684:18;30669:34;;30705:22;;;30666:62;30663:2;;;30741:1;30738;30731:12;30663:2;30757;30750:22;30561:216;;-1:-1;30561:216::o;30784:321::-;;30927:18;30919:6;30916:30;30913:2;;;30959:1;30956;30949:12;30913:2;-1:-1;31090:4;31026;31003:17;;;;-1:-1;;30999:33;31080:15;;30850:255::o;31112:151::-;31236:4;31227:14;;31184:79::o;31618:137::-;31721:12;;31692:63::o;32717:178::-;32835:19;;;32884:4;32875:14;;32828:67::o;33310:144::-;33445:3;33423:31;-1:-1;33423:31::o;33634:91::-;;33696:24;33714:5;33696:24;:::i;33838:85::-;33904:13;33897:21;;33880:43::o;33930:144::-;-1:-1;;;;;;33991:78;;33974:100::o;34081:113::-;-1:-1;;;;;34143:46;;34126:68::o;34201:121::-;-1:-1;;;;;34263:54;;34246:76::o;34329:86::-;34401:8;34390:20;;34373:42::o;34422:72::-;34484:5;34467:27::o;34501:88::-;34573:10;34562:22;;34545:44::o;34596:96::-;34668:18;34657:30;;34640:52::o;34699:81::-;34770:4;34759:16;;34742:38::o;34787:129::-;;34874:37;34905:5;34923:121;35002:37;35033:5;35002:37;:::i;35166:106::-;;35244:23;35261:5;35244:23;:::i;35280:145::-;35361:6;35356:3;35351;35338:30;-1:-1;35417:1;35399:16;;35392:27;35331:94::o;35434:268::-;35499:1;35506:101;35520:6;35517:1;35514:13;35506:101;;;35587:11;;;35581:18;35568:11;;;35561:39;35542:2;35535:10;35506:101;;;35622:6;35619:1;35616:13;35613:2;;;-1:-1;;35687:1;35669:16;;35662:27;35483:219::o;35710:97::-;35798:2;35778:14;-1:-1;;35774:28;;35758:49::o;35815:117::-;35884:24;35902:5;35884:24;:::i;:::-;35877:5;35874:35;35864:2;;35923:1;35920;35913:12;36079:111;36145:21;36160:5;36145:21;:::i;36197:114::-;36286:1;36279:5;36276:12;36266:2;;36302:1;36299;36292:12;36434:117;36503:24;36521:5;36503:24;:::i;36558:115::-;36626:23;36643:5;36626:23;:::i;36680:117::-;36749:24;36767:5;36749:24;:::i;36804:115::-;36872:23;36889:5;36872:23;:::i;36926:115::-;36994:23;37011:5;36994:23;:::i;37048:113::-;37115:22;37131:5;37115:22;:::i", "linkReferences": {}, "immutableReferences": { "30189": [ { "start": 3489, "length": 32 }, { "start": 3774, "length": 32 }, { "start": 3836, "length": 32 }, { "start": 3990, "length": 32 } ] } }, "methodIdentifiers": { "getDebtAssets()": "ecd658b4", "getManagedAssets()": "80daddb8", "getVoucherTokenIds()": "f4c1032a", "init(bytes)": "4ddf47d4", "onVNFTReceived(address,address,uint256,uint256,bytes)": "b382cdcd", "receiveCallFromVault(bytes)": "e5c23a97" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_initialBondOfferingMarket\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voucher\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint32\",\"name\":\"tokenId\",\"type\":\"uint32\"}],\"name\":\"VoucherTokenIdAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voucher\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint32\",\"name\":\"tokenId\",\"type\":\"uint32\"}],\"name\":\"VoucherTokenIdRemoved\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"getDebtAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"assets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getManagedAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"assets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getVoucherTokenIds\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"voucher\",\"type\":\"address\"},{\"internalType\":\"uint32\",\"name\":\"tokenId\",\"type\":\"uint32\"}],\"internalType\":\"struct SolvV2BondBuyerPositionLibBase1.VoucherTokenId[]\",\"name\":\"voucherTokenIds_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onVNFTReceived\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"selector_\",\"type\":\"bytes4\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"}],\"name\":\"receiveCallFromVault\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"getDebtAssets()\":{\"returns\":{\"amounts_\":\"Debt asset amounts\",\"assets_\":\"Debt assets\"}},\"getManagedAssets()\":{\"returns\":{\"amounts_\":\"Managed asset amounts\",\"assets_\":\"Managed assets\"}},\"getVoucherTokenIds()\":{\"returns\":{\"voucherTokenIds_\":\"The VoucherTokenId[] var\"}},\"init(bytes)\":{\"details\":\"Nothing to initialize for this contract\"},\"onVNFTReceived(address,address,uint256,uint256,bytes)\":{\"details\":\"ERC-3525 spec: https://eips.ethereum.org/EIPS/eip-3525#erc-3525-token-receiverImplementation for vouchers: https://github.com/solv-finance/solv-v2-ivo/blob/main/vouchers/vnft-core/contracts/VNFTCoreV2.sol#L318\",\"returns\":{\"selector_\":\"`b382cdcd = onVNFTReceived(address,address,uint256,uint256,bytes)`\"}},\"receiveCallFromVault(bytes)\":{\"params\":{\"_actionData\":\"Encoded data to execute the action\"}}},\"title\":\"SolvV2BondBuyerPositionLib Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getDebtAssets()\":{\"notice\":\"Retrieves the debt assets (negative value) of the external position\"},\"getManagedAssets()\":{\"notice\":\"Retrieves the managed assets (positive value) of the external position\"},\"getVoucherTokenIds()\":{\"notice\":\"Gets the VoucherTokenId[] var\"},\"init(bytes)\":{\"notice\":\"Initializes the external position\"},\"onVNFTReceived(address,address,uint256,uint256,bytes)\":{\"notice\":\"Handles the receipt of a VNFT token type.\"},\"receiveCallFromVault(bytes)\":{\"notice\":\"Receives and executes a call from the Vault\"}},\"notice\":\"Library contract for Solv V2 Bond Buyer positions\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/solv-v2-bond-buyer/SolvV2BondBuyerPositionLib.sol\":\"SolvV2BondBuyerPositionLib\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/persistent/external-positions/solv-v2-bond-buyer/SolvV2BondBuyerPositionLibBase1.sol\":{\"keccak256\":\"0xcbe012490822c4a7f60663d2947429293c8b9e9be6102bfd2ac05283ec699e6c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5789ae1ab7f2e1b4cfd3e53800ed46625bfef7cc1dfb30d86888219a80d9be7a\",\"dweb:/ipfs/Qme26MQji6HuoPF4Q54CdqVp8FRMFmhtsyuMVGRFiiAdhZ\"]},\"contracts/release/extensions/external-position-manager/external-positions/solv-v2-bond-buyer/ISolvV2BondBuyerPosition.sol\":{\"keccak256\":\"0xf1cae957d4373d3e3546b61e208e4171820cc653030c68af469073132c141ea9\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d9e7df5e4efcaa1b3873d64bdea24b21d14652293b58ea2fd15633780e1e0716\",\"dweb:/ipfs/QmdBhmfCEnvGVLYvXXe17j7iHpM53rGu2fmoUZQCEeGEAX\"]},\"contracts/release/extensions/external-position-manager/external-positions/solv-v2-bond-buyer/SolvV2BondBuyerPositionDataDecoder.sol\":{\"keccak256\":\"0x32f9808c23956dde6c830c570d3ebc240ab47eaedde6911c55fe90b0d68cd48a\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3366c99c9cc5cdcd6ad7e74265ed27d9e981f9aeda7ea4e4dd137bebe8bbde35\",\"dweb:/ipfs/QmedhvZ9BAeuBDnQPdFWTZ8u6FkXFiV3gm1TvVu898pM5s\"]},\"contracts/release/extensions/external-position-manager/external-positions/solv-v2-bond-buyer/SolvV2BondBuyerPositionLib.sol\":{\"keccak256\":\"0x33cedcfa24b02222bb9335fb8e9fd7f22248302cb03a63e49a8f87e2620c7166\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://526d1f48a8957b90f2a58d29b14ed7056eda0adaaae0df398a786c583318ee36\",\"dweb:/ipfs/QmRggBHksFBUv6KxbUjgFtbhDi3mttDDpchWr7PeEq1PWX\"]},\"contracts/release/interfaces/ISolvV2BondPool.sol\":{\"keccak256\":\"0xa68c7f87782e4da88c0e98a8096d3f758b1c5aa914ddb6bc99ada422195019f5\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://cb64f9feca3ef65e6e2a18729aeb1300698cfba3eb99f08025debc795282b73d\",\"dweb:/ipfs/QmVr5qraYJpKNMtJZfgvkMZsk1Nerxc36HSjhtvh8YgG1G\"]},\"contracts/release/interfaces/ISolvV2BondVoucher.sol\":{\"keccak256\":\"0xf76389995de79cdc0f4a690a9ce76a094d4697d51e397abf68b4be24ef8b554f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ed36c534756035df374381fabff0b010f0fe700caeeddffb99f347efee1f0cdd\",\"dweb:/ipfs/QmY5dm7b78TkoW3WSqKKZSCKdZmumTCMLxf3rpxzVM6qpm\"]},\"contracts/release/interfaces/ISolvV2InitialConvertibleOfferingMarket.sol\":{\"keccak256\":\"0xe34205d54ec639e2e3f8e0e2871984a6796424d903259857f1f11de260cf8abe\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://908f8d334df9ae2191787a8e53c78b1847bd936f2ce9d04115f5e9339c3e3934\",\"dweb:/ipfs/QmZzxE748Hb2Vosu7cwPmkb4EVpoqvS4RgHogLrvDgsnD3\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"contracts/release/utils/Uint256ArrayLib.sol\":{\"keccak256\":\"0x1627d0d32692b86c5dd3e74ebb8305fbf99a3c41d4b90e736077762cc80c1a31\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://54ff92ccd4bd685dda44c2520e3f52478168e909b400c3cc4076d37f5c2704ef\",\"dweb:/ipfs/QmYUxeaKfPwnUtP35i6JJ3ptsaDFEV6SD2o4VV8d5vBUZD\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_initialBondOfferingMarket", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "voucher", "type": "address", "indexed": true }, { "internalType": "uint32", "name": "tokenId", "type": "uint32", "indexed": true } ], "type": "event", "name": "VoucherTokenIdAdded", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "voucher", "type": "address", "indexed": true }, { "internalType": "uint32", "name": "tokenId", "type": "uint32", "indexed": true } ], "type": "event", "name": "VoucherTokenIdRemoved", "anonymous": false }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "getDebtAssets", "outputs": [ { "internalType": "address[]", "name": "assets_", "type": "address[]" }, { "internalType": "uint256[]", "name": "amounts_", "type": "uint256[]" } ] }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "getManagedAssets", "outputs": [ { "internalType": "address[]", "name": "assets_", "type": "address[]" }, { "internalType": "uint256[]", "name": "amounts_", "type": "uint256[]" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getVoucherTokenIds", "outputs": [ { "internalType": "struct SolvV2BondBuyerPositionLibBase1.VoucherTokenId[]", "name": "voucherTokenIds_", "type": "tuple[]", "components": [ { "internalType": "address", "name": "voucher", "type": "address" }, { "internalType": "uint32", "name": "tokenId", "type": "uint32" } ] } ] }, { "inputs": [ { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "init" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "address", "name": "", "type": "address" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "pure", "type": "function", "name": "onVNFTReceived", "outputs": [ { "internalType": "bytes4", "name": "selector_", "type": "bytes4" } ] }, { "inputs": [ { "internalType": "bytes", "name": "_actionData", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "receiveCallFromVault" } ], "devdoc": { "kind": "dev", "methods": { "getDebtAssets()": { "returns": { "amounts_": "Debt asset amounts", "assets_": "Debt assets" } }, "getManagedAssets()": { "returns": { "amounts_": "Managed asset amounts", "assets_": "Managed assets" } }, "getVoucherTokenIds()": { "returns": { "voucherTokenIds_": "The VoucherTokenId[] var" } }, "init(bytes)": { "details": "Nothing to initialize for this contract" }, "onVNFTReceived(address,address,uint256,uint256,bytes)": { "details": "ERC-3525 spec: https://eips.ethereum.org/EIPS/eip-3525#erc-3525-token-receiverImplementation for vouchers: https://github.com/solv-finance/solv-v2-ivo/blob/main/vouchers/vnft-core/contracts/VNFTCoreV2.sol#L318", "returns": { "selector_": "`b382cdcd = onVNFTReceived(address,address,uint256,uint256,bytes)`" } }, "receiveCallFromVault(bytes)": { "params": { "_actionData": "Encoded data to execute the action" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "getDebtAssets()": { "notice": "Retrieves the debt assets (negative value) of the external position" }, "getManagedAssets()": { "notice": "Retrieves the managed assets (positive value) of the external position" }, "getVoucherTokenIds()": { "notice": "Gets the VoucherTokenId[] var" }, "init(bytes)": { "notice": "Initializes the external position" }, "onVNFTReceived(address,address,uint256,uint256,bytes)": { "notice": "Handles the receipt of a VNFT token type." }, "receiveCallFromVault(bytes)": { "notice": "Receives and executes a call from the Vault" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/external-position-manager/external-positions/solv-v2-bond-buyer/SolvV2BondBuyerPositionLib.sol": "SolvV2BondBuyerPositionLib" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/external-positions/IExternalPosition.sol": { "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", "urls": [ "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" ], "license": "GPL-3.0" }, "contracts/persistent/external-positions/solv-v2-bond-buyer/SolvV2BondBuyerPositionLibBase1.sol": { "keccak256": "0xcbe012490822c4a7f60663d2947429293c8b9e9be6102bfd2ac05283ec699e6c", "urls": [ "bzz-raw://5789ae1ab7f2e1b4cfd3e53800ed46625bfef7cc1dfb30d86888219a80d9be7a", "dweb:/ipfs/Qme26MQji6HuoPF4Q54CdqVp8FRMFmhtsyuMVGRFiiAdhZ" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/solv-v2-bond-buyer/ISolvV2BondBuyerPosition.sol": { "keccak256": "0xf1cae957d4373d3e3546b61e208e4171820cc653030c68af469073132c141ea9", "urls": [ "bzz-raw://d9e7df5e4efcaa1b3873d64bdea24b21d14652293b58ea2fd15633780e1e0716", "dweb:/ipfs/QmdBhmfCEnvGVLYvXXe17j7iHpM53rGu2fmoUZQCEeGEAX" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/solv-v2-bond-buyer/SolvV2BondBuyerPositionDataDecoder.sol": { "keccak256": "0x32f9808c23956dde6c830c570d3ebc240ab47eaedde6911c55fe90b0d68cd48a", "urls": [ "bzz-raw://3366c99c9cc5cdcd6ad7e74265ed27d9e981f9aeda7ea4e4dd137bebe8bbde35", "dweb:/ipfs/QmedhvZ9BAeuBDnQPdFWTZ8u6FkXFiV3gm1TvVu898pM5s" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/solv-v2-bond-buyer/SolvV2BondBuyerPositionLib.sol": { "keccak256": "0x33cedcfa24b02222bb9335fb8e9fd7f22248302cb03a63e49a8f87e2620c7166", "urls": [ "bzz-raw://526d1f48a8957b90f2a58d29b14ed7056eda0adaaae0df398a786c583318ee36", "dweb:/ipfs/QmRggBHksFBUv6KxbUjgFtbhDi3mttDDpchWr7PeEq1PWX" ], "license": "GPL-3.0" }, "contracts/release/interfaces/ISolvV2BondPool.sol": { "keccak256": "0xa68c7f87782e4da88c0e98a8096d3f758b1c5aa914ddb6bc99ada422195019f5", "urls": [ "bzz-raw://cb64f9feca3ef65e6e2a18729aeb1300698cfba3eb99f08025debc795282b73d", "dweb:/ipfs/QmVr5qraYJpKNMtJZfgvkMZsk1Nerxc36HSjhtvh8YgG1G" ], "license": "GPL-3.0" }, "contracts/release/interfaces/ISolvV2BondVoucher.sol": { "keccak256": "0xf76389995de79cdc0f4a690a9ce76a094d4697d51e397abf68b4be24ef8b554f", "urls": [ "bzz-raw://ed36c534756035df374381fabff0b010f0fe700caeeddffb99f347efee1f0cdd", "dweb:/ipfs/QmY5dm7b78TkoW3WSqKKZSCKdZmumTCMLxf3rpxzVM6qpm" ], "license": "GPL-3.0" }, "contracts/release/interfaces/ISolvV2InitialConvertibleOfferingMarket.sol": { "keccak256": "0xe34205d54ec639e2e3f8e0e2871984a6796424d903259857f1f11de260cf8abe", "urls": [ "bzz-raw://908f8d334df9ae2191787a8e53c78b1847bd936f2ce9d04115f5e9339c3e3934", "dweb:/ipfs/QmZzxE748Hb2Vosu7cwPmkb4EVpoqvS4RgHogLrvDgsnD3" ], "license": "GPL-3.0" }, "contracts/release/utils/AddressArrayLib.sol": { "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", "urls": [ "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" ], "license": "GPL-3.0" }, "contracts/release/utils/AssetHelpers.sol": { "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", "urls": [ "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" ], "license": "GPL-3.0" }, "contracts/release/utils/Uint256ArrayLib.sol": { "keccak256": "0x1627d0d32692b86c5dd3e74ebb8305fbf99a3c41d4b90e736077762cc80c1a31", "urls": [ "bzz-raw://54ff92ccd4bd685dda44c2520e3f52478168e909b400c3cc4076d37f5c2704ef", "dweb:/ipfs/QmYUxeaKfPwnUtP35i6JJ3ptsaDFEV6SD2o4VV8d5vBUZD" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", "urls": [ "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Address.sol": { "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", "urls": [ "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" } }, "version": 1 }, "id": 124 } diff --git a/eth_defi/abi/enzyme/SolvV2BondBuyerPositionLibBase1.json b/eth_defi/abi/enzyme/SolvV2BondBuyerPositionLibBase1.json index 03cc4f79..3cd152fa 100644 --- a/eth_defi/abi/enzyme/SolvV2BondBuyerPositionLibBase1.json +++ b/eth_defi/abi/enzyme/SolvV2BondBuyerPositionLibBase1.json @@ -1,156 +1 @@ -{ - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "voucher", - "type": "address" - }, - { - "indexed": true, - "internalType": "uint32", - "name": "tokenId", - "type": "uint32" - } - ], - "name": "VoucherTokenIdAdded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "voucher", - "type": "address" - }, - { - "indexed": true, - "internalType": "uint32", - "name": "tokenId", - "type": "uint32" - } - ], - "name": "VoucherTokenIdRemoved", - "type": "event" - } - ], - "bytecode": { - "object": "0x6080604052348015600f57600080fd5b50601680601d6000396000f3fe6080604052600080fdfea164736f6c634300060c000a", - "sourceMap": "792:339:34:-:0;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x6080604052600080fdfea164736f6c634300060c000a", - "sourceMap": "792:339:34:-:0;;;;;", - "linkReferences": {} - }, - "methodIdentifiers": {}, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voucher\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint32\",\"name\":\"tokenId\",\"type\":\"uint32\"}],\"name\":\"VoucherTokenIdAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voucher\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint32\",\"name\":\"tokenId\",\"type\":\"uint32\"}],\"name\":\"VoucherTokenIdRemoved\",\"type\":\"event\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"DO NOT EDIT CONTRACT. If new events or storage are necessary, they should be added to a numbered SolvV2BondBuyerPositionLibBaseXXX that inherits the previous base. e.g., `SolvV2BondBuyerPositionLibBase2 is SolvV2BondBuyerPositionLibBase1`\",\"kind\":\"dev\",\"methods\":{},\"title\":\"SolvV2BondBuyerPositionLibBase1 Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"A persistent contract containing all required storage variables and required functions for a SolvV2BondBuyerPositionLib implementation\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/external-positions/solv-v2-bond-buyer/SolvV2BondBuyerPositionLibBase1.sol\":\"SolvV2BondBuyerPositionLibBase1\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/external-positions/solv-v2-bond-buyer/SolvV2BondBuyerPositionLibBase1.sol\":{\"keccak256\":\"0xcbe012490822c4a7f60663d2947429293c8b9e9be6102bfd2ac05283ec699e6c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5789ae1ab7f2e1b4cfd3e53800ed46625bfef7cc1dfb30d86888219a80d9be7a\",\"dweb:/ipfs/Qme26MQji6HuoPF4Q54CdqVp8FRMFmhtsyuMVGRFiiAdhZ\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "voucher", - "type": "address", - "indexed": true - }, - { - "internalType": "uint32", - "name": "tokenId", - "type": "uint32", - "indexed": true - } - ], - "type": "event", - "name": "VoucherTokenIdAdded", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "voucher", - "type": "address", - "indexed": true - }, - { - "internalType": "uint32", - "name": "tokenId", - "type": "uint32", - "indexed": true - } - ], - "type": "event", - "name": "VoucherTokenIdRemoved", - "anonymous": false - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/persistent/external-positions/solv-v2-bond-buyer/SolvV2BondBuyerPositionLibBase1.sol": "SolvV2BondBuyerPositionLibBase1" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/external-positions/solv-v2-bond-buyer/SolvV2BondBuyerPositionLibBase1.sol": { - "keccak256": "0xcbe012490822c4a7f60663d2947429293c8b9e9be6102bfd2ac05283ec699e6c", - "urls": [ - "bzz-raw://5789ae1ab7f2e1b4cfd3e53800ed46625bfef7cc1dfb30d86888219a80d9be7a", - "dweb:/ipfs/Qme26MQji6HuoPF4Q54CdqVp8FRMFmhtsyuMVGRFiiAdhZ" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 34 -} +{ "abi": [ { "type": "event", "name": "VoucherTokenIdAdded", "inputs": [ { "name": "voucher", "type": "address", "indexed": true, "internalType": "address" }, { "name": "tokenId", "type": "uint32", "indexed": true, "internalType": "uint32" } ], "anonymous": false }, { "type": "event", "name": "VoucherTokenIdRemoved", "inputs": [ { "name": "voucher", "type": "address", "indexed": true, "internalType": "address" }, { "name": "tokenId", "type": "uint32", "indexed": true, "internalType": "uint32" } ], "anonymous": false } ], "bytecode": { "object": "0x6080604052348015600f57600080fd5b50601680601d6000396000f3fe6080604052600080fdfea164736f6c634300060c000a", "sourceMap": "792:339:34:-:0;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x6080604052600080fdfea164736f6c634300060c000a", "sourceMap": "792:339:34:-:0;;;;;", "linkReferences": {} }, "methodIdentifiers": {}, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voucher\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint32\",\"name\":\"tokenId\",\"type\":\"uint32\"}],\"name\":\"VoucherTokenIdAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voucher\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint32\",\"name\":\"tokenId\",\"type\":\"uint32\"}],\"name\":\"VoucherTokenIdRemoved\",\"type\":\"event\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"DO NOT EDIT CONTRACT. If new events or storage are necessary, they should be added to a numbered SolvV2BondBuyerPositionLibBaseXXX that inherits the previous base. e.g., `SolvV2BondBuyerPositionLibBase2 is SolvV2BondBuyerPositionLibBase1`\",\"kind\":\"dev\",\"methods\":{},\"title\":\"SolvV2BondBuyerPositionLibBase1 Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"A persistent contract containing all required storage variables and required functions for a SolvV2BondBuyerPositionLib implementation\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/external-positions/solv-v2-bond-buyer/SolvV2BondBuyerPositionLibBase1.sol\":\"SolvV2BondBuyerPositionLibBase1\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/external-positions/solv-v2-bond-buyer/SolvV2BondBuyerPositionLibBase1.sol\":{\"keccak256\":\"0xcbe012490822c4a7f60663d2947429293c8b9e9be6102bfd2ac05283ec699e6c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5789ae1ab7f2e1b4cfd3e53800ed46625bfef7cc1dfb30d86888219a80d9be7a\",\"dweb:/ipfs/Qme26MQji6HuoPF4Q54CdqVp8FRMFmhtsyuMVGRFiiAdhZ\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "voucher", "type": "address", "indexed": true }, { "internalType": "uint32", "name": "tokenId", "type": "uint32", "indexed": true } ], "type": "event", "name": "VoucherTokenIdAdded", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "voucher", "type": "address", "indexed": true }, { "internalType": "uint32", "name": "tokenId", "type": "uint32", "indexed": true } ], "type": "event", "name": "VoucherTokenIdRemoved", "anonymous": false } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/persistent/external-positions/solv-v2-bond-buyer/SolvV2BondBuyerPositionLibBase1.sol": "SolvV2BondBuyerPositionLibBase1" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/external-positions/solv-v2-bond-buyer/SolvV2BondBuyerPositionLibBase1.sol": { "keccak256": "0xcbe012490822c4a7f60663d2947429293c8b9e9be6102bfd2ac05283ec699e6c", "urls": [ "bzz-raw://5789ae1ab7f2e1b4cfd3e53800ed46625bfef7cc1dfb30d86888219a80d9be7a", "dweb:/ipfs/Qme26MQji6HuoPF4Q54CdqVp8FRMFmhtsyuMVGRFiiAdhZ" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 34 } diff --git a/eth_defi/abi/enzyme/SolvV2BondBuyerPositionParser.json b/eth_defi/abi/enzyme/SolvV2BondBuyerPositionParser.json index 4049027a..0bd37ebd 100644 --- a/eth_defi/abi/enzyme/SolvV2BondBuyerPositionParser.json +++ b/eth_defi/abi/enzyme/SolvV2BondBuyerPositionParser.json @@ -1,333 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_initialBondOfferingMarket", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_actionId", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_encodedActionArgs", - "type": "bytes" - } - ], - "name": "parseAssetsForAction", - "outputs": [ - { - "internalType": "address[]", - "name": "assetsToTransfer_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "amountsToTransfer_", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "assetsToReceive_", - "type": "address[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "parseInitArgs", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x60a060405234801561001057600080fd5b5060405161116738038061116783398101604081905261002f91610055565b60601b6001600160601b0319166080526100a3565b805161004f8161008c565b92915050565b60006020828403121561006757600080fd5b60006100738484610044565b949350505050565b60006001600160a01b03821661004f565b6100958161007b565b81146100a057600080fd5b50565b60805160601c61109e6100c96000398060be528061014a528061020b525061109e6000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063bbd2d6461461003b578063db16c72e14610066575b600080fd5b61004e610049366004610bd5565b610086565b60405161005d93929190610e84565b60405180910390f35b610079610074366004610b83565b610580565b60405161005d9190610ec6565b60608080846103535760008061009b86610588565b915091506100a761064c565b6040516309cfb2ab60e41b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690639cfb2ab0906100f3908690600401610efe565b6101a06040518083038186803b15801561010c57600080fd5b505afa158015610120573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101449190610c4e565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663423dd0dd856040518263ffffffff1660e01b81526004016101949190610efe565b60206040518083038186803b1580156101ac57600080fd5b505afa1580156101c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101e49190610cbc565b90506101ee6106b6565b610100830151604051638e8f294b60e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691638e8f294b9161023f9190600401610e76565b60e06040518083038186803b15801561025757600080fd5b505afa15801561026b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061028f9190610c30565b905060006102c3826060015160ff16600a0a6102bd85886001600160801b03166105a890919063ffffffff16565b906105f4565b60408051600180825281830190925291925060208083019080368337019050509850836101200151896000815181106102f857fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509750808860008151811061033c57fe5b602002602001018181525050505050505050610577565b60018514156105775760008061036886610626565b5060405163bde4c3cb60e01b815291935063ffffffff16915082906000906001600160a01b0383169063bde4c3cb906103a5908690600401610f0c565b602060405180830381600087803b1580156103bf57600080fd5b505af11580156103d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103f79190610cbc565b90506104016106f4565b60405163d3ceafb960e01b81526001600160a01b0384169063d3ceafb99061042d908590600401610f0c565b6101a06040518083038186803b15801561044657600080fd5b505afa15801561045a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061047e9190610c6d565b6040805160028082526060820183529293509190602083019080368337019050509550826001600160a01b0316636f307dc36040518163ffffffff1660e01b815260040160206040518083038186803b1580156104da57600080fd5b505afa1580156104ee573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105129190610b10565b8660008151811061051f57fe5b60200260200101906001600160a01b031690816001600160a01b03168152505080602001518660018151811061055157fe5b60200260200101906001600160a01b031690816001600160a01b03168152505050505050505b93509350939050565b606092915050565b6000808280602001905181019061059f9190610c8c565b91509150915091565b6000826105b7575060006105ee565b828202828482816105c457fe5b04146105eb5760405162461bcd60e51b81526004016105e290610eee565b60405180910390fd5b90505b92915050565b60008082116106155760405162461bcd60e51b81526004016105e290610ede565b81838161061e57fe5b049392505050565b60008060008380602001905181019061063f9190610b36565b9250925092509193909250565b604080516101a081018252600080825260208201819052918101829052906060820190815260006020820181905260408201819052606082018190526080820181905260a0820181905260c0820181905260e0820181905261010082018190526101209091015290565b6040805160e08101909152806000815260006020820181905260408201819052606082018190526080820181905260a0820181905260c09091015290565b604080516101a081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052906101008201908152600060208201819052604082018190526060820181905260809091015290565b80356105ee81611018565b80516105ee81611018565b80516105ee8161102f565b600082601f83011261078f57600080fd5b81356107a261079d82610f41565b610f1a565b915080825260208301602083018583830111156107be57600080fd5b6107c9838284610fd2565b50505092915050565b80516105ee81611038565b80516105ee81611045565b600060e082840312156107fa57600080fd5b61080460e0610f1a565b9050600061081284846107dd565b825250602061082384848301610768565b602083015250604061083784828501610768565b604083015250606061084b84828501610b05565b606083015250608061085f84828501610ac3565b60808301525060a061087384828501610773565b60a08301525060c061088784828501610773565b60c08301525092915050565b60006101a082840312156108a657600080fd5b6108b16101a0610f1a565b905060006108bf8484610ace565b82525060206108d084848301610aef565b60208301525060406108e484828501610aef565b60408301525060606108f8848285016107d2565b606083015250608061090c84828501610ab8565b60808301525060a061092084828501610ab8565b60a08301525060c061093484828501610ab8565b60c08301525060e061094884828501610ab8565b60e08301525061010061095d84828501610768565b6101008301525061012061097384828501610768565b6101208301525061014061098984828501610768565b6101408301525061016061099f84828501610773565b610160830152506101806109b584828501610773565b6101808301525092915050565b60006101a082840312156109d557600080fd5b6109e06101a0610f1a565b905060006109ee8484610768565b82525060206109ff84848301610768565b6020830152506040610a1384828501610ae4565b6040830152506060610a2784828501610ab8565b6060830152506080610a3b84828501610ab8565b60808301525060a0610a4f84828501610ab8565b60a08301525060c0610a6384828501610afa565b60c08301525060e0610a7784828501610afa565b60e083015250610100610a8c848285016107d2565b61010083015250610120610aa284828501610773565b6101208301525061014061098984828501610773565b80516105ee81611052565b80516105ee8161105b565b80516105ee81611064565b80356105ee8161106d565b80516105ee8161106d565b80516105ee81611076565b80516105ee8161107f565b80516105ee81611088565b600060208284031215610b2257600080fd5b6000610b2e8484610768565b949350505050565b600080600060608486031215610b4b57600080fd5b6000610b578686610768565b9350506020610b6886828701610aef565b9250506040610b7986828701610ae4565b9150509250925092565b60008060408385031215610b9657600080fd5b6000610ba2858561075d565b925050602083013567ffffffffffffffff811115610bbf57600080fd5b610bcb8582860161077e565b9150509250929050565b600080600060608486031215610bea57600080fd5b6000610bf6868661075d565b9350506020610c0786828701610ad9565b925050604084013567ffffffffffffffff811115610c2457600080fd5b610b798682870161077e565b600060e08284031215610c4257600080fd5b6000610b2e84846107e8565b60006101a08284031215610c6157600080fd5b6000610b2e8484610893565b60006101a08284031215610c8057600080fd5b6000610b2e84846109c2565b60008060408385031215610c9f57600080fd5b6000610cab8585610ace565b9250506020610bcb85828601610ab8565b600060208284031215610cce57600080fd5b6000610b2e8484610ae4565b6000610ce68383610cfa565b505060200190565b6000610ce68383610e6d565b610d0381610f7c565b82525050565b6000610d1482610f6f565b610d1e8185610f73565b9350610d2983610f69565b8060005b83811015610d57578151610d418882610cda565b9750610d4c83610f69565b925050600101610d2d565b509495945050505050565b6000610d6d82610f6f565b610d778185610f73565b9350610d8283610f69565b8060005b83811015610d57578151610d9a8882610cee565b9750610da583610f69565b925050600101610d86565b6000610dbb82610f6f565b610dc58185610f73565b9350610dd5818560208601610fde565b610dde8161100e565b9093019392505050565b6000610df5601a83610f73565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b6000610e2e602183610f73565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b610d0381610fab565b610d0381610fb3565b602081016105ee8284610cfa565b60608082528101610e958186610d09565b90508181036020830152610ea98185610d62565b90508181036040830152610ebd8184610d09565b95945050505050565b60208082528101610ed78184610db0565b9392505050565b602080825281016105ee81610de8565b602080825281016105ee81610e21565b602081016105ee8284610e64565b602081016105ee8284610e6d565b60405181810167ffffffffffffffff81118282101715610f3957600080fd5b604052919050565b600067ffffffffffffffff821115610f5857600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b60006105ee82610f9f565b151590565b6001600160801b031690565b61ffff1690565b6001600160a01b031690565b62ffffff1690565b90565b63ffffffff1690565b67ffffffffffffffff1690565b60ff1690565b82818337506000910152565b60005b83811015610ff9578181015183820152602001610fe1565b83811115611008576000848401525b50505050565b601f01601f191690565b61102181610f7c565b811461102c57600080fd5b50565b61102181610f87565b6002811061102c57600080fd5b6003811061102c57600080fd5b61102181610f8c565b61102181610f98565b61102181610fab565b61102181610fb3565b61102181610fb6565b61102181610fbf565b61102181610fcc56fea164736f6c634300060c000a", - "sourceMap": "827:3112:125:-:0;;;1086:201;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1151:129;;-1:-1:-1;;;;;;1151:129:125;;;827:3112;;5:134:-1;83:13;;101:33;83:13;101:33;:::i;:::-;68:71;;;;:::o;146:263::-;;261:2;249:9;240:7;236:23;232:32;229:2;;;277:1;274;267:12;229:2;312:1;329:64;385:7;365:9;329:64;:::i;:::-;319:74;223:186;-1:-1;;;;223:186::o;416:91::-;;-1:-1;;;;;576:54;;478:24;559:76::o;642:117::-;711:24;729:5;711:24;:::i;:::-;704:5;701:35;691:2;;750:1;747;740:12;691:2;685:74;:::o;:::-;827:3112:125;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c8063bbd2d6461461003b578063db16c72e14610066575b600080fd5b61004e610049366004610bd5565b610086565b60405161005d93929190610e84565b60405180910390f35b610079610074366004610b83565b610580565b60405161005d9190610ec6565b60608080846103535760008061009b86610588565b915091506100a761064c565b6040516309cfb2ab60e41b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690639cfb2ab0906100f3908690600401610efe565b6101a06040518083038186803b15801561010c57600080fd5b505afa158015610120573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101449190610c4e565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663423dd0dd856040518263ffffffff1660e01b81526004016101949190610efe565b60206040518083038186803b1580156101ac57600080fd5b505afa1580156101c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101e49190610cbc565b90506101ee6106b6565b610100830151604051638e8f294b60e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691638e8f294b9161023f9190600401610e76565b60e06040518083038186803b15801561025757600080fd5b505afa15801561026b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061028f9190610c30565b905060006102c3826060015160ff16600a0a6102bd85886001600160801b03166105a890919063ffffffff16565b906105f4565b60408051600180825281830190925291925060208083019080368337019050509850836101200151896000815181106102f857fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509750808860008151811061033c57fe5b602002602001018181525050505050505050610577565b60018514156105775760008061036886610626565b5060405163bde4c3cb60e01b815291935063ffffffff16915082906000906001600160a01b0383169063bde4c3cb906103a5908690600401610f0c565b602060405180830381600087803b1580156103bf57600080fd5b505af11580156103d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103f79190610cbc565b90506104016106f4565b60405163d3ceafb960e01b81526001600160a01b0384169063d3ceafb99061042d908590600401610f0c565b6101a06040518083038186803b15801561044657600080fd5b505afa15801561045a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061047e9190610c6d565b6040805160028082526060820183529293509190602083019080368337019050509550826001600160a01b0316636f307dc36040518163ffffffff1660e01b815260040160206040518083038186803b1580156104da57600080fd5b505afa1580156104ee573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105129190610b10565b8660008151811061051f57fe5b60200260200101906001600160a01b031690816001600160a01b03168152505080602001518660018151811061055157fe5b60200260200101906001600160a01b031690816001600160a01b03168152505050505050505b93509350939050565b606092915050565b6000808280602001905181019061059f9190610c8c565b91509150915091565b6000826105b7575060006105ee565b828202828482816105c457fe5b04146105eb5760405162461bcd60e51b81526004016105e290610eee565b60405180910390fd5b90505b92915050565b60008082116106155760405162461bcd60e51b81526004016105e290610ede565b81838161061e57fe5b049392505050565b60008060008380602001905181019061063f9190610b36565b9250925092509193909250565b604080516101a081018252600080825260208201819052918101829052906060820190815260006020820181905260408201819052606082018190526080820181905260a0820181905260c0820181905260e0820181905261010082018190526101209091015290565b6040805160e08101909152806000815260006020820181905260408201819052606082018190526080820181905260a0820181905260c09091015290565b604080516101a081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052906101008201908152600060208201819052604082018190526060820181905260809091015290565b80356105ee81611018565b80516105ee81611018565b80516105ee8161102f565b600082601f83011261078f57600080fd5b81356107a261079d82610f41565b610f1a565b915080825260208301602083018583830111156107be57600080fd5b6107c9838284610fd2565b50505092915050565b80516105ee81611038565b80516105ee81611045565b600060e082840312156107fa57600080fd5b61080460e0610f1a565b9050600061081284846107dd565b825250602061082384848301610768565b602083015250604061083784828501610768565b604083015250606061084b84828501610b05565b606083015250608061085f84828501610ac3565b60808301525060a061087384828501610773565b60a08301525060c061088784828501610773565b60c08301525092915050565b60006101a082840312156108a657600080fd5b6108b16101a0610f1a565b905060006108bf8484610ace565b82525060206108d084848301610aef565b60208301525060406108e484828501610aef565b60408301525060606108f8848285016107d2565b606083015250608061090c84828501610ab8565b60808301525060a061092084828501610ab8565b60a08301525060c061093484828501610ab8565b60c08301525060e061094884828501610ab8565b60e08301525061010061095d84828501610768565b6101008301525061012061097384828501610768565b6101208301525061014061098984828501610768565b6101408301525061016061099f84828501610773565b610160830152506101806109b584828501610773565b6101808301525092915050565b60006101a082840312156109d557600080fd5b6109e06101a0610f1a565b905060006109ee8484610768565b82525060206109ff84848301610768565b6020830152506040610a1384828501610ae4565b6040830152506060610a2784828501610ab8565b6060830152506080610a3b84828501610ab8565b60808301525060a0610a4f84828501610ab8565b60a08301525060c0610a6384828501610afa565b60c08301525060e0610a7784828501610afa565b60e083015250610100610a8c848285016107d2565b61010083015250610120610aa284828501610773565b6101208301525061014061098984828501610773565b80516105ee81611052565b80516105ee8161105b565b80516105ee81611064565b80356105ee8161106d565b80516105ee8161106d565b80516105ee81611076565b80516105ee8161107f565b80516105ee81611088565b600060208284031215610b2257600080fd5b6000610b2e8484610768565b949350505050565b600080600060608486031215610b4b57600080fd5b6000610b578686610768565b9350506020610b6886828701610aef565b9250506040610b7986828701610ae4565b9150509250925092565b60008060408385031215610b9657600080fd5b6000610ba2858561075d565b925050602083013567ffffffffffffffff811115610bbf57600080fd5b610bcb8582860161077e565b9150509250929050565b600080600060608486031215610bea57600080fd5b6000610bf6868661075d565b9350506020610c0786828701610ad9565b925050604084013567ffffffffffffffff811115610c2457600080fd5b610b798682870161077e565b600060e08284031215610c4257600080fd5b6000610b2e84846107e8565b60006101a08284031215610c6157600080fd5b6000610b2e8484610893565b60006101a08284031215610c8057600080fd5b6000610b2e84846109c2565b60008060408385031215610c9f57600080fd5b6000610cab8585610ace565b9250506020610bcb85828601610ab8565b600060208284031215610cce57600080fd5b6000610b2e8484610ae4565b6000610ce68383610cfa565b505060200190565b6000610ce68383610e6d565b610d0381610f7c565b82525050565b6000610d1482610f6f565b610d1e8185610f73565b9350610d2983610f69565b8060005b83811015610d57578151610d418882610cda565b9750610d4c83610f69565b925050600101610d2d565b509495945050505050565b6000610d6d82610f6f565b610d778185610f73565b9350610d8283610f69565b8060005b83811015610d57578151610d9a8882610cee565b9750610da583610f69565b925050600101610d86565b6000610dbb82610f6f565b610dc58185610f73565b9350610dd5818560208601610fde565b610dde8161100e565b9093019392505050565b6000610df5601a83610f73565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b6000610e2e602183610f73565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b610d0381610fab565b610d0381610fb3565b602081016105ee8284610cfa565b60608082528101610e958186610d09565b90508181036020830152610ea98185610d62565b90508181036040830152610ebd8184610d09565b95945050505050565b60208082528101610ed78184610db0565b9392505050565b602080825281016105ee81610de8565b602080825281016105ee81610e21565b602081016105ee8284610e64565b602081016105ee8284610e6d565b60405181810167ffffffffffffffff81118282101715610f3957600080fd5b604052919050565b600067ffffffffffffffff821115610f5857600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b60006105ee82610f9f565b151590565b6001600160801b031690565b61ffff1690565b6001600160a01b031690565b62ffffff1690565b90565b63ffffffff1690565b67ffffffffffffffff1690565b60ff1690565b82818337506000910152565b60005b83811015610ff9578181015183820152602001610fe1565b83811115611008576000848401525b50505050565b601f01601f191690565b61102181610f7c565b811461102c57600080fd5b50565b61102181610f87565b6002811061102c57600080fd5b6003811061102c57600080fd5b61102181610f8c565b61102181610f98565b61102181610fab565b61102181610fb3565b61102181610fb6565b61102181610fbf565b61102181610fcc56fea164736f6c634300060c000a", - "sourceMap": "827:3112:125:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1766:1906;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;3848:89;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1766:1906::-;1951:34;;;2110:66;2106:1485;;2193:14;2209:13;2226:49;2256:18;2226:29;:49::i;:::-;2192:83;;;;2290:80;;:::i;:::-;2373:56;;-1:-1:-1;;;2373:56:125;;-1:-1:-1;;;;;2373:37:125;:47;;;;:56;;2421:7;;2373:56;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2290:139;;2444:20;2467:37;-1:-1:-1;;;;;2467:46:125;;2514:7;2467:55;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2444:78;;2537:76;;:::i;:::-;2662:16;;;;2616:63;;-1:-1:-1;;;2616:63:125;;-1:-1:-1;;;;;2616:37:125;:45;;;;:63;;2662:16;2616:63;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2537:142;;2693:14;2710:66;2759:6;:15;;;2751:24;;2747:2;:28;2710:32;2729:12;2718:5;-1:-1:-1;;;;;2710:14:125;:18;;:32;;;;:::i;:::-;:36;;:66::i;:::-;2811:16;;;2825:1;2811:16;;;;;;;;;2693:83;;-1:-1:-1;2811:16:125;;;;;;;;;;;-1:-1:-1;2811:16:125;2791:36;;2864:8;:17;;;2841;2859:1;2841:20;;;;;;;;-1:-1:-1;;;;;2841:40:125;;;;:20;;;;;;;;;;:40;2916:16;;;2930:1;2916:16;;;;;;;;;;;;;;2841:20;2916:16;;;;;-1:-1:-1;2916:16:125;2895:37;;2970:6;2946:18;2965:1;2946:21;;;;;;;;;;;;;:30;;;;;2106:1485;;;;;;;;;3018:38;2997:9;:60;2993:598;;;3074:15;3091;3112:43;3136:18;3112:23;:43::i;:::-;-1:-1:-1;3266:43:125;;-1:-1:-1;;;3266:43:125;;3073:82;;-1:-1:-1;3073:82:125;;;-1:-1:-1;3073:82:125;;3170:34;;-1:-1:-1;;;;;3266:34:125;;;;;:43;;3073:82;;3266:43;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3249:60;;3323:44;;:::i;:::-;3370:37;;-1:-1:-1;;;3370:37:125;;-1:-1:-1;;;;;3370:29:125;;;;;:37;;3400:6;;3370:37;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3441:16;;;3455:1;3441:16;;;;;;;;3323:84;;-1:-1:-1;3441:16:125;3455:1;3441:16;;;;;;;;;;-1:-1:-1;3441:16:125;3422:35;;3493:15;-1:-1:-1;;;;;3493:26:125;;:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3471:16;3488:1;3471:19;;;;;;;;;;;;;:50;-1:-1:-1;;;;;3471:50:125;;;-1:-1:-1;;;;;3471:50:125;;;;;3557:10;:23;;;3535:16;3552:1;3535:19;;;;;;;;;;;;;:45;-1:-1:-1;;;;;3535:45:125;;;-1:-1:-1;;;;;3535:45:125;;;;;2993:598;;;;;;1766:1906;;;;;;;:::o;3848:89::-;3921:12;3848:89;;;;:::o;608:218:123:-;720:18;740:14;788:11;777:42;;;;;;;;;;;;:::i;:::-;770:49;;;;608:218;;;:::o;3538:215:442:-;3596:7;3619:6;3615:20;;-1:-1:-1;3634:1:442;3627:8;;3615:20;3657:5;;;3661:1;3657;:5;:1;3680:5;;;;;:10;3672:56;;;;-1:-1:-1;;;3672:56:442;;;;;;;:::i;:::-;;;;;;;;;3745:1;-1:-1:-1;3538:215:442;;;;;:::o;4217:150::-;4275:7;4306:1;4302;:5;4294:44;;;;-1:-1:-1;;;4294:44:442;;;;;;;:::i;:::-;4359:1;4355;:5;;;;;;;4217:150;-1:-1:-1;;;4217:150:442:o;896:282:123:-;1015:16;1045:15;1074:14;1131:11;1120:51;;;;;;;;;;;;:::i;:::-;1113:58;;;;;;896:282;;;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5:130::-;72:20;;97:33;72:20;97:33;:::i;142:134::-;220:13;;238:33;220:13;238:33;:::i;440:128::-;515:13;;533:30;515:13;533:30;:::i;576:440::-;;677:3;670:4;662:6;658:17;654:27;644:2;;695:1;692;685:12;644:2;732:6;719:20;754:64;769:48;810:6;769:48;:::i;:::-;754:64;:::i;:::-;745:73;;838:6;831:5;824:21;874:4;866:6;862:17;907:4;900:5;896:16;942:3;933:6;928:3;924:16;921:25;918:2;;;959:1;956;949:12;918:2;969:41;1003:6;998:3;993;969:41;:::i;:::-;637:379;;;;;;;:::o;1024:174::-;1122:13;;1140:53;1122:13;1140:53;:::i;1376:168::-;1471:13;;1489:50;1471:13;1489:50;:::i;1611:1324::-;;1736:4;1724:9;1719:3;1715:19;1711:30;1708:2;;;1754:1;1751;1744:12;1708:2;1772:20;1787:4;1772:20;:::i;:::-;1763:29;-1:-1;1849:1;1881:77;1954:3;1934:9;1881:77;:::i;:::-;1856:103;;-1:-1;2027:2;2060:60;2116:3;2092:22;;;2060:60;:::i;:::-;2053:4;2046:5;2042:16;2035:86;1980:152;2183:2;2216:60;2272:3;2263:6;2252:9;2248:22;2216:60;:::i;:::-;2209:4;2202:5;2198:16;2191:86;2142:146;2342:2;2375:58;2429:3;2420:6;2409:9;2405:22;2375:58;:::i;:::-;2368:4;2361:5;2357:16;2350:84;2298:147;2498:3;2532:59;2587:3;2578:6;2567:9;2563:22;2532:59;:::i;:::-;2525:4;2518:5;2514:16;2507:85;2455:148;2666:3;2700:57;2753:3;2744:6;2733:9;2729:22;2700:57;:::i;:::-;2693:4;2686:5;2682:16;2675:83;2613:156;2822:3;2856:57;2909:3;2900:6;2889:9;2885:22;2856:57;:::i;:::-;2849:4;2842:5;2838:16;2831:83;2779:146;1702:1233;;;;:::o;3004:2280::-;;3131:6;3119:9;3114:3;3110:19;3106:32;3103:2;;;3151:1;3148;3141:12;3103:2;3169:22;3184:6;3169:22;:::i;:::-;3160:31;-1:-1;3247:1;3279:59;3334:3;3314:9;3279:59;:::i;:::-;3254:85;;-1:-1;3405:2;3438:59;3493:3;3469:22;;;3438:59;:::i;:::-;3431:4;3424:5;3420:16;3413:85;3360:149;3562:2;3595:59;3650:3;3641:6;3630:9;3626:22;3595:59;:::i;:::-;3588:4;3581:5;3577:16;3570:85;3519:147;3721:2;3754:75;3825:3;3816:6;3805:9;3801:22;3754:75;:::i;:::-;3747:4;3740:5;3736:16;3729:101;3676:165;3897:3;3931:60;3987:3;3978:6;3967:9;3963:22;3931:60;:::i;:::-;3924:4;3917:5;3913:16;3906:86;3851:152;4054:3;4088:60;4144:3;4135:6;4124:9;4120:22;4088:60;:::i;:::-;4081:4;4074:5;4070:16;4063:86;4013:147;4209:3;4243:60;4299:3;4290:6;4279:9;4275:22;4243:60;:::i;:::-;4236:4;4229:5;4225:16;4218:86;4170:145;4364:3;4398:60;4454:3;4445:6;4434:9;4430:22;4398:60;:::i;:::-;4391:4;4384:5;4380:16;4373:86;4325:145;4523:3;4559:60;4615:3;4606:6;4595:9;4591:22;4559:60;:::i;:::-;4550:6;4543:5;4539:18;4532:88;4480:151;4685:3;4721:60;4777:3;4768:6;4757:9;4753:22;4721:60;:::i;:::-;4712:6;4705:5;4701:18;4694:88;4641:152;4845:3;4881:60;4937:3;4928:6;4917:9;4913:22;4881:60;:::i;:::-;4872:6;4865:5;4861:18;4854:88;4803:150;5011:3;5047:57;5100:3;5091:6;5080:9;5076:22;5047:57;:::i;:::-;5038:6;5031:5;5027:18;5020:85;4963:153;5169:3;5205:57;5258:3;5249:6;5238:9;5234:22;5205:57;:::i;:::-;5196:6;5189:5;5185:18;5178:85;5126:148;3097:2187;;;;:::o;5331:2332::-;;5460:6;5448:9;5443:3;5439:19;5435:32;5432:2;;;5480:1;5477;5470:12;5432:2;5498:22;5513:6;5498:22;:::i;:::-;5489:31;-1:-1;5572:1;5604:60;5660:3;5640:9;5604:60;:::i;:::-;5579:86;;-1:-1;5734:2;5767:60;5823:3;5799:22;;;5767:60;:::i;:::-;5760:4;5753:5;5749:16;5742:86;5686:153;5895:2;5928:60;5984:3;5975:6;5964:9;5960:22;5928:60;:::i;:::-;5921:4;5914:5;5910:16;5903:86;5849:151;6057:2;6090:60;6146:3;6137:6;6126:9;6122:22;6090:60;:::i;:::-;6083:4;6076:5;6072:16;6065:86;6010:152;6220:3;6254:60;6310:3;6301:6;6290:9;6286:22;6254:60;:::i;:::-;6247:4;6240:5;6236:16;6229:86;6172:154;6383:3;6417:60;6473:3;6464:6;6453:9;6449:22;6417:60;:::i;:::-;6410:4;6403:5;6399:16;6392:86;6336:153;6548:3;6582:59;6637:3;6628:6;6617:9;6613:22;6582:59;:::i;:::-;6575:4;6568:5;6564:16;6557:85;6499:154;6707:3;6741:59;6796:3;6787:6;6776:9;6772:22;6741:59;:::i;:::-;6734:4;6727:5;6723:16;6716:85;6663:149;6872:3;6908:80;6984:3;6975:6;6964:9;6960:22;6908:80;:::i;:::-;6899:6;6892:5;6888:18;6881:108;6822:178;7062:3;7098:57;7151:3;7142:6;7131:9;7127:22;7098:57;:::i;:::-;7089:6;7082:5;7078:18;7071:85;7010:157;7230:3;7266:57;7319:3;7310:6;7299:9;7295:22;7266:57;:::i;7670:134::-;7748:13;;7766:33;7748:13;7766:33;:::i;7811:132::-;7888:13;;7906:32;7888:13;7906:32;:::i;7950:132::-;8027:13;;8045:32;8027:13;8045:32;:::i;8089:130::-;8156:20;;8181:33;8156:20;8181:33;:::i;8226:134::-;8304:13;;8322:33;8304:13;8322:33;:::i;8367:132::-;8444:13;;8462:32;8444:13;8462:32;:::i;8506:132::-;8583:13;;8601:32;8583:13;8601:32;:::i;8645:130::-;8721:13;;8739:31;8721:13;8739:31;:::i;8782:263::-;;8897:2;8885:9;8876:7;8872:23;8868:32;8865:2;;;8913:1;8910;8903:12;8865:2;8948:1;8965:64;9021:7;9001:9;8965:64;:::i;:::-;8955:74;8859:186;-1:-1;;;;8859:186::o;9052:549::-;;;;9208:2;9196:9;9187:7;9183:23;9179:32;9176:2;;;9224:1;9221;9214:12;9176:2;9259:1;9276:72;9340:7;9320:9;9276:72;:::i;:::-;9266:82;;9238:116;9385:2;9403:63;9458:7;9449:6;9438:9;9434:22;9403:63;:::i;:::-;9393:73;;9364:108;9503:2;9521:64;9577:7;9568:6;9557:9;9553:22;9521:64;:::i;:::-;9511:74;;9482:109;9170:431;;;;;:::o;9608:470::-;;;9738:2;9726:9;9717:7;9713:23;9709:32;9706:2;;;9754:1;9751;9744:12;9706:2;9789:1;9806:53;9851:7;9831:9;9806:53;:::i;:::-;9796:63;;9768:97;9924:2;9913:9;9909:18;9896:32;9948:18;9940:6;9937:30;9934:2;;;9980:1;9977;9970:12;9934:2;10000:62;10054:7;10045:6;10034:9;10030:22;10000:62;:::i;:::-;9990:72;;9875:193;9700:378;;;;;:::o;10085:595::-;;;;10232:2;10220:9;10211:7;10207:23;10203:32;10200:2;;;10248:1;10245;10238:12;10200:2;10283:1;10300:53;10345:7;10325:9;10300:53;:::i;:::-;10290:63;;10262:97;10390:2;10408:53;10453:7;10444:6;10433:9;10429:22;10408:53;:::i;:::-;10398:63;;10369:98;10526:2;10515:9;10511:18;10498:32;10550:18;10542:6;10539:30;10536:2;;;10582:1;10579;10572:12;10536:2;10602:62;10656:7;10647:6;10636:9;10632:22;10602:62;:::i;10687:314::-;;10827:3;10815:9;10806:7;10802:23;10798:33;10795:2;;;10844:1;10841;10834:12;10795:2;10879:1;10896:89;10977:7;10957:9;10896:89;:::i;11008:318::-;;11150:3;11138:9;11129:7;11125:23;11121:33;11118:2;;;11167:1;11164;11157:12;11118:2;11202:1;11219:91;11302:7;11282:9;11219:91;:::i;11333:322::-;;11477:3;11465:9;11456:7;11452:23;11448:33;11445:2;;;11494:1;11491;11484:12;11445:2;11529:1;11546:93;11631:7;11611:9;11546:93;:::i;11662:397::-;;;11793:2;11781:9;11772:7;11768:23;11764:32;11761:2;;;11809:1;11806;11799:12;11761:2;11844:1;11861:63;11916:7;11896:9;11861:63;:::i;:::-;11851:73;;11823:107;11961:2;11979:64;12035:7;12026:6;12015:9;12011:22;11979:64;:::i;12066:263::-;;12181:2;12169:9;12160:7;12156:23;12152:32;12149:2;;;12197:1;12194;12187:12;12149:2;12232:1;12249:64;12305:7;12285:9;12249:64;:::i;12337:173::-;;12424:46;12466:3;12458:6;12424:46;:::i;:::-;-1:-1;;12499:4;12490:14;;12417:93::o;12519:173::-;;12606:46;12648:3;12640:6;12606:46;:::i;12700:103::-;12773:24;12791:5;12773:24;:::i;:::-;12768:3;12761:37;12755:48;;:::o;12961:690::-;;13106:54;13154:5;13106:54;:::i;:::-;13173:86;13252:6;13247:3;13173:86;:::i;:::-;13166:93;;13280:56;13330:5;13280:56;:::i;:::-;13356:7;13384:1;13369:260;13394:6;13391:1;13388:13;13369:260;;;13461:6;13455:13;13482:63;13541:3;13526:13;13482:63;:::i;:::-;13475:70;;13562:60;13615:6;13562:60;:::i;:::-;13552:70;-1:-1;;13416:1;13409:9;13369:260;;;-1:-1;13642:3;;13085:566;-1:-1;;;;;13085:566::o;13690:690::-;;13835:54;13883:5;13835:54;:::i;:::-;13902:86;13981:6;13976:3;13902:86;:::i;:::-;13895:93;;14009:56;14059:5;14009:56;:::i;:::-;14085:7;14113:1;14098:260;14123:6;14120:1;14117:13;14098:260;;;14190:6;14184:13;14211:63;14270:3;14255:13;14211:63;:::i;:::-;14204:70;;14291:60;14344:6;14291:60;:::i;:::-;14281:70;-1:-1;;14145:1;14138:9;14098:260;;14388:343;;14498:38;14530:5;14498:38;:::i;:::-;14548:70;14611:6;14606:3;14548:70;:::i;:::-;14541:77;;14623:52;14668:6;14663:3;14656:4;14649:5;14645:16;14623:52;:::i;:::-;14696:29;14718:6;14696:29;:::i;:::-;14687:39;;;;14478:253;-1:-1;;;14478:253::o;14739:326::-;;14899:67;14963:2;14958:3;14899:67;:::i;:::-;14999:28;14979:49;;15056:2;15047:12;;14885:180;-1:-1;;14885:180::o;15074:370::-;;15234:67;15298:2;15293:3;15234:67;:::i;:::-;15334:34;15314:55;;-1:-1;;;15398:2;15389:12;;15382:25;15435:2;15426:12;;15220:224;-1:-1;;15220:224::o;15452:110::-;15533:23;15550:5;15533:23;:::i;15569:103::-;15642:24;15660:5;15642:24;:::i;15799:222::-;15926:2;15911:18;;15940:71;15915:9;15984:6;15940:71;:::i;16028:888::-;16361:2;16375:47;;;16346:18;;16436:108;16346:18;16530:6;16436:108;:::i;:::-;16428:116;;16592:9;16586:4;16582:20;16577:2;16566:9;16562:18;16555:48;16617:108;16720:4;16711:6;16617:108;:::i;:::-;16609:116;;16773:9;16767:4;16763:20;16758:2;16747:9;16743:18;16736:48;16798:108;16901:4;16892:6;16798:108;:::i;:::-;16790:116;16332:584;-1:-1;;;;;16332:584::o;16923:306::-;17068:2;17082:47;;;17053:18;;17143:76;17053:18;17205:6;17143:76;:::i;:::-;17135:84;17039:190;-1:-1;;;17039:190::o;17236:416::-;17436:2;17450:47;;;17421:18;;17511:131;17421:18;17511:131;:::i;17659:416::-;17859:2;17873:47;;;17844:18;;17934:131;17844:18;17934:131;:::i;18082:218::-;18207:2;18192:18;;18221:69;18196:9;18263:6;18221:69;:::i;18307:222::-;18434:2;18419:18;;18448:71;18423:9;18492:6;18448:71;:::i;18536:256::-;18598:2;18592:9;18624:17;;;18699:18;18684:34;;18720:22;;;18681:62;18678:2;;;18756:1;18753;18746:12;18678:2;18772;18765:22;18576:216;;-1:-1;18576:216::o;18799:321::-;;18942:18;18934:6;18931:30;18928:2;;;18974:1;18971;18964:12;18928:2;-1:-1;19105:4;19041;19018:17;;;;-1:-1;;19014:33;19095:15;;18865:255::o;19127:151::-;19251:4;19242:14;;19199:79::o;19443:137::-;19546:12;;19517:63::o;20090:178::-;20208:19;;;20257:4;20248:14;;20201:67::o;20806:91::-;;20868:24;20886:5;20868:24;:::i;21010:85::-;21076:13;21069:21;;21052:43::o;21102:113::-;-1:-1;;;;;21164:46;;21147:68::o;21222:84::-;21294:6;21283:18;;21266:40::o;21313:121::-;-1:-1;;;;;21375:54;;21358:76::o;21441:86::-;21513:8;21502:20;;21485:42::o;21534:72::-;21596:5;21579:27::o;21613:88::-;21685:10;21674:22;;21657:44::o;21708:96::-;21780:18;21769:30;;21752:52::o;21811:81::-;21882:4;21871:16;;21854:38::o;21900:145::-;21981:6;21976:3;21971;21958:30;-1:-1;22037:1;22019:16;;22012:27;21951:94::o;22054:268::-;22119:1;22126:101;22140:6;22137:1;22134:13;22126:101;;;22207:11;;;22201:18;22188:11;;;22181:39;22162:2;22155:10;22126:101;;;22242:6;22239:1;22236:13;22233:2;;;22307:1;22298:6;22293:3;22289:16;22282:27;22233:2;22103:219;;;;:::o;22330:97::-;22418:2;22398:14;-1:-1;;22394:28;;22378:49::o;22435:117::-;22504:24;22522:5;22504:24;:::i;:::-;22497:5;22494:35;22484:2;;22543:1;22540;22533:12;22484:2;22478:74;:::o;22699:111::-;22765:21;22780:5;22765:21;:::i;22817:114::-;22906:1;22899:5;22896:12;22886:2;;22922:1;22919;22912:12;23054:111;23140:1;23133:5;23130:12;23120:2;;23156:1;23153;23146:12;23172:117;23241:24;23259:5;23241:24;:::i;23296:115::-;23364:23;23381:5;23364:23;:::i;23418:115::-;23486:23;23503:5;23486:23;:::i;23540:117::-;23609:24;23627:5;23609:24;:::i;23664:115::-;23732:23;23749:5;23732:23;:::i;23786:115::-;23854:23;23871:5;23854:23;:::i;23908:113::-;23975:22;23991:5;23975:22;:::i", - "linkReferences": {}, - "immutableReferences": { - "30900": [ - { - "start": 190, - "length": 32 - }, - { - "start": 330, - "length": 32 - }, - { - "start": 523, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "parseAssetsForAction(address,uint256,bytes)": "bbd2d646", - "parseInitArgs(address,bytes)": "db16c72e" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_initialBondOfferingMarket\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_actionId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_encodedActionArgs\",\"type\":\"bytes\"}],\"name\":\"parseAssetsForAction\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"assetsToTransfer_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amountsToTransfer_\",\"type\":\"uint256[]\"},{\"internalType\":\"address[]\",\"name\":\"assetsToReceive_\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"parseInitArgs\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"parseAssetsForAction(address,uint256,bytes)\":{\"params\":{\"_actionId\":\"The _actionId for the callOnExternalPosition\",\"_encodedActionArgs\":\"The encoded parameters for the callOnExternalPosition\"},\"returns\":{\"amountsToTransfer_\":\"The amounts to be transferred from the Vault\",\"assetsToReceive_\":\"The assets to be received at the Vault\",\"assetsToTransfer_\":\"The assets to be transferred from the Vault\"}},\"parseInitArgs(address,bytes)\":{\"details\":\"Empty for this external position type\"}},\"title\":\"SolvV2BondBuyerPositionParser\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"parseAssetsForAction(address,uint256,bytes)\":{\"notice\":\"Parses the assets to send and receive for the callOnExternalPosition\"},\"parseInitArgs(address,bytes)\":{\"notice\":\"Parse and validate input arguments to be used when initializing a newly-deployed ExternalPositionProxy\"}},\"notice\":\"Parser for Solv Bond Buyer positions\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/solv-v2-bond-buyer/SolvV2BondBuyerPositionParser.sol\":\"SolvV2BondBuyerPositionParser\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/release/extensions/external-position-manager/external-positions/IExternalPositionParser.sol\":{\"keccak256\":\"0x1662fbd65841ee5e9cf8d5329b9d04c264b24ef68ae1e0484e59a8969b0d2c46\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://580569b0f875e0344db83fae1e72dcc6c0767a049b2a6cc3e4f3c411d2284b27\",\"dweb:/ipfs/QmXFmF9QbcVsPHaBo1iq8sZHYhDkwfkMZpHmLTuJJ37NvZ\"]},\"contracts/release/extensions/external-position-manager/external-positions/solv-v2-bond-buyer/ISolvV2BondBuyerPosition.sol\":{\"keccak256\":\"0xf1cae957d4373d3e3546b61e208e4171820cc653030c68af469073132c141ea9\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d9e7df5e4efcaa1b3873d64bdea24b21d14652293b58ea2fd15633780e1e0716\",\"dweb:/ipfs/QmdBhmfCEnvGVLYvXXe17j7iHpM53rGu2fmoUZQCEeGEAX\"]},\"contracts/release/extensions/external-position-manager/external-positions/solv-v2-bond-buyer/SolvV2BondBuyerPositionDataDecoder.sol\":{\"keccak256\":\"0x32f9808c23956dde6c830c570d3ebc240ab47eaedde6911c55fe90b0d68cd48a\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3366c99c9cc5cdcd6ad7e74265ed27d9e981f9aeda7ea4e4dd137bebe8bbde35\",\"dweb:/ipfs/QmedhvZ9BAeuBDnQPdFWTZ8u6FkXFiV3gm1TvVu898pM5s\"]},\"contracts/release/extensions/external-position-manager/external-positions/solv-v2-bond-buyer/SolvV2BondBuyerPositionParser.sol\":{\"keccak256\":\"0xf60ef2849e3a7c1ed3dd396ff5bfaa4444601335a03e5d1c812c7a69c14573c4\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1783636bc2e401f178a900fb081d9406630136fe2b0c187869088a0b08230b6b\",\"dweb:/ipfs/QmRfY5XbAdsPnu7vtJrTntYUHFMRenHARgnKwjPL75yL9a\"]},\"contracts/release/interfaces/ISolvV2BondPool.sol\":{\"keccak256\":\"0xa68c7f87782e4da88c0e98a8096d3f758b1c5aa914ddb6bc99ada422195019f5\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://cb64f9feca3ef65e6e2a18729aeb1300698cfba3eb99f08025debc795282b73d\",\"dweb:/ipfs/QmVr5qraYJpKNMtJZfgvkMZsk1Nerxc36HSjhtvh8YgG1G\"]},\"contracts/release/interfaces/ISolvV2BondVoucher.sol\":{\"keccak256\":\"0xf76389995de79cdc0f4a690a9ce76a094d4697d51e397abf68b4be24ef8b554f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ed36c534756035df374381fabff0b010f0fe700caeeddffb99f347efee1f0cdd\",\"dweb:/ipfs/QmY5dm7b78TkoW3WSqKKZSCKdZmumTCMLxf3rpxzVM6qpm\"]},\"contracts/release/interfaces/ISolvV2InitialConvertibleOfferingMarket.sol\":{\"keccak256\":\"0xe34205d54ec639e2e3f8e0e2871984a6796424d903259857f1f11de260cf8abe\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://908f8d334df9ae2191787a8e53c78b1847bd936f2ce9d04115f5e9339c3e3934\",\"dweb:/ipfs/QmZzxE748Hb2Vosu7cwPmkb4EVpoqvS4RgHogLrvDgsnD3\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_initialBondOfferingMarket", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_actionId", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_encodedActionArgs", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "parseAssetsForAction", - "outputs": [ - { - "internalType": "address[]", - "name": "assetsToTransfer_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "amountsToTransfer_", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "assetsToReceive_", - "type": "address[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "parseInitArgs", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "parseAssetsForAction(address,uint256,bytes)": { - "params": { - "_actionId": "The _actionId for the callOnExternalPosition", - "_encodedActionArgs": "The encoded parameters for the callOnExternalPosition" - }, - "returns": { - "amountsToTransfer_": "The amounts to be transferred from the Vault", - "assetsToReceive_": "The assets to be received at the Vault", - "assetsToTransfer_": "The assets to be transferred from the Vault" - } - }, - "parseInitArgs(address,bytes)": { - "details": "Empty for this external position type" - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "parseAssetsForAction(address,uint256,bytes)": { - "notice": "Parses the assets to send and receive for the callOnExternalPosition" - }, - "parseInitArgs(address,bytes)": { - "notice": "Parse and validate input arguments to be used when initializing a newly-deployed ExternalPositionProxy" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/external-position-manager/external-positions/solv-v2-bond-buyer/SolvV2BondBuyerPositionParser.sol": "SolvV2BondBuyerPositionParser" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/external-positions/IExternalPosition.sol": { - "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", - "urls": [ - "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", - "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/IExternalPositionParser.sol": { - "keccak256": "0x1662fbd65841ee5e9cf8d5329b9d04c264b24ef68ae1e0484e59a8969b0d2c46", - "urls": [ - "bzz-raw://580569b0f875e0344db83fae1e72dcc6c0767a049b2a6cc3e4f3c411d2284b27", - "dweb:/ipfs/QmXFmF9QbcVsPHaBo1iq8sZHYhDkwfkMZpHmLTuJJ37NvZ" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/solv-v2-bond-buyer/ISolvV2BondBuyerPosition.sol": { - "keccak256": "0xf1cae957d4373d3e3546b61e208e4171820cc653030c68af469073132c141ea9", - "urls": [ - "bzz-raw://d9e7df5e4efcaa1b3873d64bdea24b21d14652293b58ea2fd15633780e1e0716", - "dweb:/ipfs/QmdBhmfCEnvGVLYvXXe17j7iHpM53rGu2fmoUZQCEeGEAX" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/solv-v2-bond-buyer/SolvV2BondBuyerPositionDataDecoder.sol": { - "keccak256": "0x32f9808c23956dde6c830c570d3ebc240ab47eaedde6911c55fe90b0d68cd48a", - "urls": [ - "bzz-raw://3366c99c9cc5cdcd6ad7e74265ed27d9e981f9aeda7ea4e4dd137bebe8bbde35", - "dweb:/ipfs/QmedhvZ9BAeuBDnQPdFWTZ8u6FkXFiV3gm1TvVu898pM5s" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/solv-v2-bond-buyer/SolvV2BondBuyerPositionParser.sol": { - "keccak256": "0xf60ef2849e3a7c1ed3dd396ff5bfaa4444601335a03e5d1c812c7a69c14573c4", - "urls": [ - "bzz-raw://1783636bc2e401f178a900fb081d9406630136fe2b0c187869088a0b08230b6b", - "dweb:/ipfs/QmRfY5XbAdsPnu7vtJrTntYUHFMRenHARgnKwjPL75yL9a" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/ISolvV2BondPool.sol": { - "keccak256": "0xa68c7f87782e4da88c0e98a8096d3f758b1c5aa914ddb6bc99ada422195019f5", - "urls": [ - "bzz-raw://cb64f9feca3ef65e6e2a18729aeb1300698cfba3eb99f08025debc795282b73d", - "dweb:/ipfs/QmVr5qraYJpKNMtJZfgvkMZsk1Nerxc36HSjhtvh8YgG1G" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/ISolvV2BondVoucher.sol": { - "keccak256": "0xf76389995de79cdc0f4a690a9ce76a094d4697d51e397abf68b4be24ef8b554f", - "urls": [ - "bzz-raw://ed36c534756035df374381fabff0b010f0fe700caeeddffb99f347efee1f0cdd", - "dweb:/ipfs/QmY5dm7b78TkoW3WSqKKZSCKdZmumTCMLxf3rpxzVM6qpm" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/ISolvV2InitialConvertibleOfferingMarket.sol": { - "keccak256": "0xe34205d54ec639e2e3f8e0e2871984a6796424d903259857f1f11de260cf8abe", - "urls": [ - "bzz-raw://908f8d334df9ae2191787a8e53c78b1847bd936f2ce9d04115f5e9339c3e3934", - "dweb:/ipfs/QmZzxE748Hb2Vosu7cwPmkb4EVpoqvS4RgHogLrvDgsnD3" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 125 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_initialBondOfferingMarket", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "parseAssetsForAction", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "_actionId", "type": "uint256", "internalType": "uint256" }, { "name": "_encodedActionArgs", "type": "bytes", "internalType": "bytes" } ], "outputs": [ { "name": "assetsToTransfer_", "type": "address[]", "internalType": "address[]" }, { "name": "amountsToTransfer_", "type": "uint256[]", "internalType": "uint256[]" }, { "name": "assetsToReceive_", "type": "address[]", "internalType": "address[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "parseInitArgs", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [ { "name": "", "type": "bytes", "internalType": "bytes" } ], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x60a060405234801561001057600080fd5b5060405161116738038061116783398101604081905261002f91610055565b60601b6001600160601b0319166080526100a3565b805161004f8161008c565b92915050565b60006020828403121561006757600080fd5b60006100738484610044565b949350505050565b60006001600160a01b03821661004f565b6100958161007b565b81146100a057600080fd5b50565b60805160601c61109e6100c96000398060be528061014a528061020b525061109e6000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063bbd2d6461461003b578063db16c72e14610066575b600080fd5b61004e610049366004610bd5565b610086565b60405161005d93929190610e84565b60405180910390f35b610079610074366004610b83565b610580565b60405161005d9190610ec6565b60608080846103535760008061009b86610588565b915091506100a761064c565b6040516309cfb2ab60e41b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690639cfb2ab0906100f3908690600401610efe565b6101a06040518083038186803b15801561010c57600080fd5b505afa158015610120573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101449190610c4e565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663423dd0dd856040518263ffffffff1660e01b81526004016101949190610efe565b60206040518083038186803b1580156101ac57600080fd5b505afa1580156101c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101e49190610cbc565b90506101ee6106b6565b610100830151604051638e8f294b60e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691638e8f294b9161023f9190600401610e76565b60e06040518083038186803b15801561025757600080fd5b505afa15801561026b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061028f9190610c30565b905060006102c3826060015160ff16600a0a6102bd85886001600160801b03166105a890919063ffffffff16565b906105f4565b60408051600180825281830190925291925060208083019080368337019050509850836101200151896000815181106102f857fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509750808860008151811061033c57fe5b602002602001018181525050505050505050610577565b60018514156105775760008061036886610626565b5060405163bde4c3cb60e01b815291935063ffffffff16915082906000906001600160a01b0383169063bde4c3cb906103a5908690600401610f0c565b602060405180830381600087803b1580156103bf57600080fd5b505af11580156103d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103f79190610cbc565b90506104016106f4565b60405163d3ceafb960e01b81526001600160a01b0384169063d3ceafb99061042d908590600401610f0c565b6101a06040518083038186803b15801561044657600080fd5b505afa15801561045a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061047e9190610c6d565b6040805160028082526060820183529293509190602083019080368337019050509550826001600160a01b0316636f307dc36040518163ffffffff1660e01b815260040160206040518083038186803b1580156104da57600080fd5b505afa1580156104ee573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105129190610b10565b8660008151811061051f57fe5b60200260200101906001600160a01b031690816001600160a01b03168152505080602001518660018151811061055157fe5b60200260200101906001600160a01b031690816001600160a01b03168152505050505050505b93509350939050565b606092915050565b6000808280602001905181019061059f9190610c8c565b91509150915091565b6000826105b7575060006105ee565b828202828482816105c457fe5b04146105eb5760405162461bcd60e51b81526004016105e290610eee565b60405180910390fd5b90505b92915050565b60008082116106155760405162461bcd60e51b81526004016105e290610ede565b81838161061e57fe5b049392505050565b60008060008380602001905181019061063f9190610b36565b9250925092509193909250565b604080516101a081018252600080825260208201819052918101829052906060820190815260006020820181905260408201819052606082018190526080820181905260a0820181905260c0820181905260e0820181905261010082018190526101209091015290565b6040805160e08101909152806000815260006020820181905260408201819052606082018190526080820181905260a0820181905260c09091015290565b604080516101a081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052906101008201908152600060208201819052604082018190526060820181905260809091015290565b80356105ee81611018565b80516105ee81611018565b80516105ee8161102f565b600082601f83011261078f57600080fd5b81356107a261079d82610f41565b610f1a565b915080825260208301602083018583830111156107be57600080fd5b6107c9838284610fd2565b50505092915050565b80516105ee81611038565b80516105ee81611045565b600060e082840312156107fa57600080fd5b61080460e0610f1a565b9050600061081284846107dd565b825250602061082384848301610768565b602083015250604061083784828501610768565b604083015250606061084b84828501610b05565b606083015250608061085f84828501610ac3565b60808301525060a061087384828501610773565b60a08301525060c061088784828501610773565b60c08301525092915050565b60006101a082840312156108a657600080fd5b6108b16101a0610f1a565b905060006108bf8484610ace565b82525060206108d084848301610aef565b60208301525060406108e484828501610aef565b60408301525060606108f8848285016107d2565b606083015250608061090c84828501610ab8565b60808301525060a061092084828501610ab8565b60a08301525060c061093484828501610ab8565b60c08301525060e061094884828501610ab8565b60e08301525061010061095d84828501610768565b6101008301525061012061097384828501610768565b6101208301525061014061098984828501610768565b6101408301525061016061099f84828501610773565b610160830152506101806109b584828501610773565b6101808301525092915050565b60006101a082840312156109d557600080fd5b6109e06101a0610f1a565b905060006109ee8484610768565b82525060206109ff84848301610768565b6020830152506040610a1384828501610ae4565b6040830152506060610a2784828501610ab8565b6060830152506080610a3b84828501610ab8565b60808301525060a0610a4f84828501610ab8565b60a08301525060c0610a6384828501610afa565b60c08301525060e0610a7784828501610afa565b60e083015250610100610a8c848285016107d2565b61010083015250610120610aa284828501610773565b6101208301525061014061098984828501610773565b80516105ee81611052565b80516105ee8161105b565b80516105ee81611064565b80356105ee8161106d565b80516105ee8161106d565b80516105ee81611076565b80516105ee8161107f565b80516105ee81611088565b600060208284031215610b2257600080fd5b6000610b2e8484610768565b949350505050565b600080600060608486031215610b4b57600080fd5b6000610b578686610768565b9350506020610b6886828701610aef565b9250506040610b7986828701610ae4565b9150509250925092565b60008060408385031215610b9657600080fd5b6000610ba2858561075d565b925050602083013567ffffffffffffffff811115610bbf57600080fd5b610bcb8582860161077e565b9150509250929050565b600080600060608486031215610bea57600080fd5b6000610bf6868661075d565b9350506020610c0786828701610ad9565b925050604084013567ffffffffffffffff811115610c2457600080fd5b610b798682870161077e565b600060e08284031215610c4257600080fd5b6000610b2e84846107e8565b60006101a08284031215610c6157600080fd5b6000610b2e8484610893565b60006101a08284031215610c8057600080fd5b6000610b2e84846109c2565b60008060408385031215610c9f57600080fd5b6000610cab8585610ace565b9250506020610bcb85828601610ab8565b600060208284031215610cce57600080fd5b6000610b2e8484610ae4565b6000610ce68383610cfa565b505060200190565b6000610ce68383610e6d565b610d0381610f7c565b82525050565b6000610d1482610f6f565b610d1e8185610f73565b9350610d2983610f69565b8060005b83811015610d57578151610d418882610cda565b9750610d4c83610f69565b925050600101610d2d565b509495945050505050565b6000610d6d82610f6f565b610d778185610f73565b9350610d8283610f69565b8060005b83811015610d57578151610d9a8882610cee565b9750610da583610f69565b925050600101610d86565b6000610dbb82610f6f565b610dc58185610f73565b9350610dd5818560208601610fde565b610dde8161100e565b9093019392505050565b6000610df5601a83610f73565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b6000610e2e602183610f73565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b610d0381610fab565b610d0381610fb3565b602081016105ee8284610cfa565b60608082528101610e958186610d09565b90508181036020830152610ea98185610d62565b90508181036040830152610ebd8184610d09565b95945050505050565b60208082528101610ed78184610db0565b9392505050565b602080825281016105ee81610de8565b602080825281016105ee81610e21565b602081016105ee8284610e64565b602081016105ee8284610e6d565b60405181810167ffffffffffffffff81118282101715610f3957600080fd5b604052919050565b600067ffffffffffffffff821115610f5857600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b60006105ee82610f9f565b151590565b6001600160801b031690565b61ffff1690565b6001600160a01b031690565b62ffffff1690565b90565b63ffffffff1690565b67ffffffffffffffff1690565b60ff1690565b82818337506000910152565b60005b83811015610ff9578181015183820152602001610fe1565b83811115611008576000848401525b50505050565b601f01601f191690565b61102181610f7c565b811461102c57600080fd5b50565b61102181610f87565b6002811061102c57600080fd5b6003811061102c57600080fd5b61102181610f8c565b61102181610f98565b61102181610fab565b61102181610fb3565b61102181610fb6565b61102181610fbf565b61102181610fcc56fea164736f6c634300060c000a", "sourceMap": "827:3112:125:-:0;;;1086:201;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1151:129;;-1:-1:-1;;;;;;1151:129:125;;;827:3112;;5:134:-1;83:13;;101:33;83:13;101:33;:::i;:::-;68:71;;;;:::o;146:263::-;;261:2;249:9;240:7;236:23;232:32;229:2;;;277:1;274;267:12;229:2;312:1;329:64;385:7;365:9;329:64;:::i;:::-;319:74;223:186;-1:-1;;;;223:186::o;416:91::-;;-1:-1;;;;;576:54;;478:24;559:76::o;642:117::-;711:24;729:5;711:24;:::i;:::-;704:5;701:35;691:2;;750:1;747;740:12;691:2;685:74;:::o;:::-;827:3112:125;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c8063bbd2d6461461003b578063db16c72e14610066575b600080fd5b61004e610049366004610bd5565b610086565b60405161005d93929190610e84565b60405180910390f35b610079610074366004610b83565b610580565b60405161005d9190610ec6565b60608080846103535760008061009b86610588565b915091506100a761064c565b6040516309cfb2ab60e41b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690639cfb2ab0906100f3908690600401610efe565b6101a06040518083038186803b15801561010c57600080fd5b505afa158015610120573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101449190610c4e565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663423dd0dd856040518263ffffffff1660e01b81526004016101949190610efe565b60206040518083038186803b1580156101ac57600080fd5b505afa1580156101c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101e49190610cbc565b90506101ee6106b6565b610100830151604051638e8f294b60e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691638e8f294b9161023f9190600401610e76565b60e06040518083038186803b15801561025757600080fd5b505afa15801561026b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061028f9190610c30565b905060006102c3826060015160ff16600a0a6102bd85886001600160801b03166105a890919063ffffffff16565b906105f4565b60408051600180825281830190925291925060208083019080368337019050509850836101200151896000815181106102f857fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509750808860008151811061033c57fe5b602002602001018181525050505050505050610577565b60018514156105775760008061036886610626565b5060405163bde4c3cb60e01b815291935063ffffffff16915082906000906001600160a01b0383169063bde4c3cb906103a5908690600401610f0c565b602060405180830381600087803b1580156103bf57600080fd5b505af11580156103d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103f79190610cbc565b90506104016106f4565b60405163d3ceafb960e01b81526001600160a01b0384169063d3ceafb99061042d908590600401610f0c565b6101a06040518083038186803b15801561044657600080fd5b505afa15801561045a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061047e9190610c6d565b6040805160028082526060820183529293509190602083019080368337019050509550826001600160a01b0316636f307dc36040518163ffffffff1660e01b815260040160206040518083038186803b1580156104da57600080fd5b505afa1580156104ee573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105129190610b10565b8660008151811061051f57fe5b60200260200101906001600160a01b031690816001600160a01b03168152505080602001518660018151811061055157fe5b60200260200101906001600160a01b031690816001600160a01b03168152505050505050505b93509350939050565b606092915050565b6000808280602001905181019061059f9190610c8c565b91509150915091565b6000826105b7575060006105ee565b828202828482816105c457fe5b04146105eb5760405162461bcd60e51b81526004016105e290610eee565b60405180910390fd5b90505b92915050565b60008082116106155760405162461bcd60e51b81526004016105e290610ede565b81838161061e57fe5b049392505050565b60008060008380602001905181019061063f9190610b36565b9250925092509193909250565b604080516101a081018252600080825260208201819052918101829052906060820190815260006020820181905260408201819052606082018190526080820181905260a0820181905260c0820181905260e0820181905261010082018190526101209091015290565b6040805160e08101909152806000815260006020820181905260408201819052606082018190526080820181905260a0820181905260c09091015290565b604080516101a081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052906101008201908152600060208201819052604082018190526060820181905260809091015290565b80356105ee81611018565b80516105ee81611018565b80516105ee8161102f565b600082601f83011261078f57600080fd5b81356107a261079d82610f41565b610f1a565b915080825260208301602083018583830111156107be57600080fd5b6107c9838284610fd2565b50505092915050565b80516105ee81611038565b80516105ee81611045565b600060e082840312156107fa57600080fd5b61080460e0610f1a565b9050600061081284846107dd565b825250602061082384848301610768565b602083015250604061083784828501610768565b604083015250606061084b84828501610b05565b606083015250608061085f84828501610ac3565b60808301525060a061087384828501610773565b60a08301525060c061088784828501610773565b60c08301525092915050565b60006101a082840312156108a657600080fd5b6108b16101a0610f1a565b905060006108bf8484610ace565b82525060206108d084848301610aef565b60208301525060406108e484828501610aef565b60408301525060606108f8848285016107d2565b606083015250608061090c84828501610ab8565b60808301525060a061092084828501610ab8565b60a08301525060c061093484828501610ab8565b60c08301525060e061094884828501610ab8565b60e08301525061010061095d84828501610768565b6101008301525061012061097384828501610768565b6101208301525061014061098984828501610768565b6101408301525061016061099f84828501610773565b610160830152506101806109b584828501610773565b6101808301525092915050565b60006101a082840312156109d557600080fd5b6109e06101a0610f1a565b905060006109ee8484610768565b82525060206109ff84848301610768565b6020830152506040610a1384828501610ae4565b6040830152506060610a2784828501610ab8565b6060830152506080610a3b84828501610ab8565b60808301525060a0610a4f84828501610ab8565b60a08301525060c0610a6384828501610afa565b60c08301525060e0610a7784828501610afa565b60e083015250610100610a8c848285016107d2565b61010083015250610120610aa284828501610773565b6101208301525061014061098984828501610773565b80516105ee81611052565b80516105ee8161105b565b80516105ee81611064565b80356105ee8161106d565b80516105ee8161106d565b80516105ee81611076565b80516105ee8161107f565b80516105ee81611088565b600060208284031215610b2257600080fd5b6000610b2e8484610768565b949350505050565b600080600060608486031215610b4b57600080fd5b6000610b578686610768565b9350506020610b6886828701610aef565b9250506040610b7986828701610ae4565b9150509250925092565b60008060408385031215610b9657600080fd5b6000610ba2858561075d565b925050602083013567ffffffffffffffff811115610bbf57600080fd5b610bcb8582860161077e565b9150509250929050565b600080600060608486031215610bea57600080fd5b6000610bf6868661075d565b9350506020610c0786828701610ad9565b925050604084013567ffffffffffffffff811115610c2457600080fd5b610b798682870161077e565b600060e08284031215610c4257600080fd5b6000610b2e84846107e8565b60006101a08284031215610c6157600080fd5b6000610b2e8484610893565b60006101a08284031215610c8057600080fd5b6000610b2e84846109c2565b60008060408385031215610c9f57600080fd5b6000610cab8585610ace565b9250506020610bcb85828601610ab8565b600060208284031215610cce57600080fd5b6000610b2e8484610ae4565b6000610ce68383610cfa565b505060200190565b6000610ce68383610e6d565b610d0381610f7c565b82525050565b6000610d1482610f6f565b610d1e8185610f73565b9350610d2983610f69565b8060005b83811015610d57578151610d418882610cda565b9750610d4c83610f69565b925050600101610d2d565b509495945050505050565b6000610d6d82610f6f565b610d778185610f73565b9350610d8283610f69565b8060005b83811015610d57578151610d9a8882610cee565b9750610da583610f69565b925050600101610d86565b6000610dbb82610f6f565b610dc58185610f73565b9350610dd5818560208601610fde565b610dde8161100e565b9093019392505050565b6000610df5601a83610f73565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b6000610e2e602183610f73565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b610d0381610fab565b610d0381610fb3565b602081016105ee8284610cfa565b60608082528101610e958186610d09565b90508181036020830152610ea98185610d62565b90508181036040830152610ebd8184610d09565b95945050505050565b60208082528101610ed78184610db0565b9392505050565b602080825281016105ee81610de8565b602080825281016105ee81610e21565b602081016105ee8284610e64565b602081016105ee8284610e6d565b60405181810167ffffffffffffffff81118282101715610f3957600080fd5b604052919050565b600067ffffffffffffffff821115610f5857600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b60006105ee82610f9f565b151590565b6001600160801b031690565b61ffff1690565b6001600160a01b031690565b62ffffff1690565b90565b63ffffffff1690565b67ffffffffffffffff1690565b60ff1690565b82818337506000910152565b60005b83811015610ff9578181015183820152602001610fe1565b83811115611008576000848401525b50505050565b601f01601f191690565b61102181610f7c565b811461102c57600080fd5b50565b61102181610f87565b6002811061102c57600080fd5b6003811061102c57600080fd5b61102181610f8c565b61102181610f98565b61102181610fab565b61102181610fb3565b61102181610fb6565b61102181610fbf565b61102181610fcc56fea164736f6c634300060c000a", "sourceMap": "827:3112:125:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1766:1906;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;3848:89;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1766:1906::-;1951:34;;;2110:66;2106:1485;;2193:14;2209:13;2226:49;2256:18;2226:29;:49::i;:::-;2192:83;;;;2290:80;;:::i;:::-;2373:56;;-1:-1:-1;;;2373:56:125;;-1:-1:-1;;;;;2373:37:125;:47;;;;:56;;2421:7;;2373:56;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2290:139;;2444:20;2467:37;-1:-1:-1;;;;;2467:46:125;;2514:7;2467:55;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2444:78;;2537:76;;:::i;:::-;2662:16;;;;2616:63;;-1:-1:-1;;;2616:63:125;;-1:-1:-1;;;;;2616:37:125;:45;;;;:63;;2662:16;2616:63;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2537:142;;2693:14;2710:66;2759:6;:15;;;2751:24;;2747:2;:28;2710:32;2729:12;2718:5;-1:-1:-1;;;;;2710:14:125;:18;;:32;;;;:::i;:::-;:36;;:66::i;:::-;2811:16;;;2825:1;2811:16;;;;;;;;;2693:83;;-1:-1:-1;2811:16:125;;;;;;;;;;;-1:-1:-1;2811:16:125;2791:36;;2864:8;:17;;;2841;2859:1;2841:20;;;;;;;;-1:-1:-1;;;;;2841:40:125;;;;:20;;;;;;;;;;:40;2916:16;;;2930:1;2916:16;;;;;;;;;;;;;;2841:20;2916:16;;;;;-1:-1:-1;2916:16:125;2895:37;;2970:6;2946:18;2965:1;2946:21;;;;;;;;;;;;;:30;;;;;2106:1485;;;;;;;;;3018:38;2997:9;:60;2993:598;;;3074:15;3091;3112:43;3136:18;3112:23;:43::i;:::-;-1:-1:-1;3266:43:125;;-1:-1:-1;;;3266:43:125;;3073:82;;-1:-1:-1;3073:82:125;;;-1:-1:-1;3073:82:125;;3170:34;;-1:-1:-1;;;;;3266:34:125;;;;;:43;;3073:82;;3266:43;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3249:60;;3323:44;;:::i;:::-;3370:37;;-1:-1:-1;;;3370:37:125;;-1:-1:-1;;;;;3370:29:125;;;;;:37;;3400:6;;3370:37;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3441:16;;;3455:1;3441:16;;;;;;;;3323:84;;-1:-1:-1;3441:16:125;3455:1;3441:16;;;;;;;;;;-1:-1:-1;3441:16:125;3422:35;;3493:15;-1:-1:-1;;;;;3493:26:125;;:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3471:16;3488:1;3471:19;;;;;;;;;;;;;:50;-1:-1:-1;;;;;3471:50:125;;;-1:-1:-1;;;;;3471:50:125;;;;;3557:10;:23;;;3535:16;3552:1;3535:19;;;;;;;;;;;;;:45;-1:-1:-1;;;;;3535:45:125;;;-1:-1:-1;;;;;3535:45:125;;;;;2993:598;;;;;;1766:1906;;;;;;;:::o;3848:89::-;3921:12;3848:89;;;;:::o;608:218:123:-;720:18;740:14;788:11;777:42;;;;;;;;;;;;:::i;:::-;770:49;;;;608:218;;;:::o;3538:215:442:-;3596:7;3619:6;3615:20;;-1:-1:-1;3634:1:442;3627:8;;3615:20;3657:5;;;3661:1;3657;:5;:1;3680:5;;;;;:10;3672:56;;;;-1:-1:-1;;;3672:56:442;;;;;;;:::i;:::-;;;;;;;;;3745:1;-1:-1:-1;3538:215:442;;;;;:::o;4217:150::-;4275:7;4306:1;4302;:5;4294:44;;;;-1:-1:-1;;;4294:44:442;;;;;;;:::i;:::-;4359:1;4355;:5;;;;;;;4217:150;-1:-1:-1;;;4217:150:442:o;896:282:123:-;1015:16;1045:15;1074:14;1131:11;1120:51;;;;;;;;;;;;:::i;:::-;1113:58;;;;;;896:282;;;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5:130::-;72:20;;97:33;72:20;97:33;:::i;142:134::-;220:13;;238:33;220:13;238:33;:::i;440:128::-;515:13;;533:30;515:13;533:30;:::i;576:440::-;;677:3;670:4;662:6;658:17;654:27;644:2;;695:1;692;685:12;644:2;732:6;719:20;754:64;769:48;810:6;769:48;:::i;:::-;754:64;:::i;:::-;745:73;;838:6;831:5;824:21;874:4;866:6;862:17;907:4;900:5;896:16;942:3;933:6;928:3;924:16;921:25;918:2;;;959:1;956;949:12;918:2;969:41;1003:6;998:3;993;969:41;:::i;:::-;637:379;;;;;;;:::o;1024:174::-;1122:13;;1140:53;1122:13;1140:53;:::i;1376:168::-;1471:13;;1489:50;1471:13;1489:50;:::i;1611:1324::-;;1736:4;1724:9;1719:3;1715:19;1711:30;1708:2;;;1754:1;1751;1744:12;1708:2;1772:20;1787:4;1772:20;:::i;:::-;1763:29;-1:-1;1849:1;1881:77;1954:3;1934:9;1881:77;:::i;:::-;1856:103;;-1:-1;2027:2;2060:60;2116:3;2092:22;;;2060:60;:::i;:::-;2053:4;2046:5;2042:16;2035:86;1980:152;2183:2;2216:60;2272:3;2263:6;2252:9;2248:22;2216:60;:::i;:::-;2209:4;2202:5;2198:16;2191:86;2142:146;2342:2;2375:58;2429:3;2420:6;2409:9;2405:22;2375:58;:::i;:::-;2368:4;2361:5;2357:16;2350:84;2298:147;2498:3;2532:59;2587:3;2578:6;2567:9;2563:22;2532:59;:::i;:::-;2525:4;2518:5;2514:16;2507:85;2455:148;2666:3;2700:57;2753:3;2744:6;2733:9;2729:22;2700:57;:::i;:::-;2693:4;2686:5;2682:16;2675:83;2613:156;2822:3;2856:57;2909:3;2900:6;2889:9;2885:22;2856:57;:::i;:::-;2849:4;2842:5;2838:16;2831:83;2779:146;1702:1233;;;;:::o;3004:2280::-;;3131:6;3119:9;3114:3;3110:19;3106:32;3103:2;;;3151:1;3148;3141:12;3103:2;3169:22;3184:6;3169:22;:::i;:::-;3160:31;-1:-1;3247:1;3279:59;3334:3;3314:9;3279:59;:::i;:::-;3254:85;;-1:-1;3405:2;3438:59;3493:3;3469:22;;;3438:59;:::i;:::-;3431:4;3424:5;3420:16;3413:85;3360:149;3562:2;3595:59;3650:3;3641:6;3630:9;3626:22;3595:59;:::i;:::-;3588:4;3581:5;3577:16;3570:85;3519:147;3721:2;3754:75;3825:3;3816:6;3805:9;3801:22;3754:75;:::i;:::-;3747:4;3740:5;3736:16;3729:101;3676:165;3897:3;3931:60;3987:3;3978:6;3967:9;3963:22;3931:60;:::i;:::-;3924:4;3917:5;3913:16;3906:86;3851:152;4054:3;4088:60;4144:3;4135:6;4124:9;4120:22;4088:60;:::i;:::-;4081:4;4074:5;4070:16;4063:86;4013:147;4209:3;4243:60;4299:3;4290:6;4279:9;4275:22;4243:60;:::i;:::-;4236:4;4229:5;4225:16;4218:86;4170:145;4364:3;4398:60;4454:3;4445:6;4434:9;4430:22;4398:60;:::i;:::-;4391:4;4384:5;4380:16;4373:86;4325:145;4523:3;4559:60;4615:3;4606:6;4595:9;4591:22;4559:60;:::i;:::-;4550:6;4543:5;4539:18;4532:88;4480:151;4685:3;4721:60;4777:3;4768:6;4757:9;4753:22;4721:60;:::i;:::-;4712:6;4705:5;4701:18;4694:88;4641:152;4845:3;4881:60;4937:3;4928:6;4917:9;4913:22;4881:60;:::i;:::-;4872:6;4865:5;4861:18;4854:88;4803:150;5011:3;5047:57;5100:3;5091:6;5080:9;5076:22;5047:57;:::i;:::-;5038:6;5031:5;5027:18;5020:85;4963:153;5169:3;5205:57;5258:3;5249:6;5238:9;5234:22;5205:57;:::i;:::-;5196:6;5189:5;5185:18;5178:85;5126:148;3097:2187;;;;:::o;5331:2332::-;;5460:6;5448:9;5443:3;5439:19;5435:32;5432:2;;;5480:1;5477;5470:12;5432:2;5498:22;5513:6;5498:22;:::i;:::-;5489:31;-1:-1;5572:1;5604:60;5660:3;5640:9;5604:60;:::i;:::-;5579:86;;-1:-1;5734:2;5767:60;5823:3;5799:22;;;5767:60;:::i;:::-;5760:4;5753:5;5749:16;5742:86;5686:153;5895:2;5928:60;5984:3;5975:6;5964:9;5960:22;5928:60;:::i;:::-;5921:4;5914:5;5910:16;5903:86;5849:151;6057:2;6090:60;6146:3;6137:6;6126:9;6122:22;6090:60;:::i;:::-;6083:4;6076:5;6072:16;6065:86;6010:152;6220:3;6254:60;6310:3;6301:6;6290:9;6286:22;6254:60;:::i;:::-;6247:4;6240:5;6236:16;6229:86;6172:154;6383:3;6417:60;6473:3;6464:6;6453:9;6449:22;6417:60;:::i;:::-;6410:4;6403:5;6399:16;6392:86;6336:153;6548:3;6582:59;6637:3;6628:6;6617:9;6613:22;6582:59;:::i;:::-;6575:4;6568:5;6564:16;6557:85;6499:154;6707:3;6741:59;6796:3;6787:6;6776:9;6772:22;6741:59;:::i;:::-;6734:4;6727:5;6723:16;6716:85;6663:149;6872:3;6908:80;6984:3;6975:6;6964:9;6960:22;6908:80;:::i;:::-;6899:6;6892:5;6888:18;6881:108;6822:178;7062:3;7098:57;7151:3;7142:6;7131:9;7127:22;7098:57;:::i;:::-;7089:6;7082:5;7078:18;7071:85;7010:157;7230:3;7266:57;7319:3;7310:6;7299:9;7295:22;7266:57;:::i;7670:134::-;7748:13;;7766:33;7748:13;7766:33;:::i;7811:132::-;7888:13;;7906:32;7888:13;7906:32;:::i;7950:132::-;8027:13;;8045:32;8027:13;8045:32;:::i;8089:130::-;8156:20;;8181:33;8156:20;8181:33;:::i;8226:134::-;8304:13;;8322:33;8304:13;8322:33;:::i;8367:132::-;8444:13;;8462:32;8444:13;8462:32;:::i;8506:132::-;8583:13;;8601:32;8583:13;8601:32;:::i;8645:130::-;8721:13;;8739:31;8721:13;8739:31;:::i;8782:263::-;;8897:2;8885:9;8876:7;8872:23;8868:32;8865:2;;;8913:1;8910;8903:12;8865:2;8948:1;8965:64;9021:7;9001:9;8965:64;:::i;:::-;8955:74;8859:186;-1:-1;;;;8859:186::o;9052:549::-;;;;9208:2;9196:9;9187:7;9183:23;9179:32;9176:2;;;9224:1;9221;9214:12;9176:2;9259:1;9276:72;9340:7;9320:9;9276:72;:::i;:::-;9266:82;;9238:116;9385:2;9403:63;9458:7;9449:6;9438:9;9434:22;9403:63;:::i;:::-;9393:73;;9364:108;9503:2;9521:64;9577:7;9568:6;9557:9;9553:22;9521:64;:::i;:::-;9511:74;;9482:109;9170:431;;;;;:::o;9608:470::-;;;9738:2;9726:9;9717:7;9713:23;9709:32;9706:2;;;9754:1;9751;9744:12;9706:2;9789:1;9806:53;9851:7;9831:9;9806:53;:::i;:::-;9796:63;;9768:97;9924:2;9913:9;9909:18;9896:32;9948:18;9940:6;9937:30;9934:2;;;9980:1;9977;9970:12;9934:2;10000:62;10054:7;10045:6;10034:9;10030:22;10000:62;:::i;:::-;9990:72;;9875:193;9700:378;;;;;:::o;10085:595::-;;;;10232:2;10220:9;10211:7;10207:23;10203:32;10200:2;;;10248:1;10245;10238:12;10200:2;10283:1;10300:53;10345:7;10325:9;10300:53;:::i;:::-;10290:63;;10262:97;10390:2;10408:53;10453:7;10444:6;10433:9;10429:22;10408:53;:::i;:::-;10398:63;;10369:98;10526:2;10515:9;10511:18;10498:32;10550:18;10542:6;10539:30;10536:2;;;10582:1;10579;10572:12;10536:2;10602:62;10656:7;10647:6;10636:9;10632:22;10602:62;:::i;10687:314::-;;10827:3;10815:9;10806:7;10802:23;10798:33;10795:2;;;10844:1;10841;10834:12;10795:2;10879:1;10896:89;10977:7;10957:9;10896:89;:::i;11008:318::-;;11150:3;11138:9;11129:7;11125:23;11121:33;11118:2;;;11167:1;11164;11157:12;11118:2;11202:1;11219:91;11302:7;11282:9;11219:91;:::i;11333:322::-;;11477:3;11465:9;11456:7;11452:23;11448:33;11445:2;;;11494:1;11491;11484:12;11445:2;11529:1;11546:93;11631:7;11611:9;11546:93;:::i;11662:397::-;;;11793:2;11781:9;11772:7;11768:23;11764:32;11761:2;;;11809:1;11806;11799:12;11761:2;11844:1;11861:63;11916:7;11896:9;11861:63;:::i;:::-;11851:73;;11823:107;11961:2;11979:64;12035:7;12026:6;12015:9;12011:22;11979:64;:::i;12066:263::-;;12181:2;12169:9;12160:7;12156:23;12152:32;12149:2;;;12197:1;12194;12187:12;12149:2;12232:1;12249:64;12305:7;12285:9;12249:64;:::i;12337:173::-;;12424:46;12466:3;12458:6;12424:46;:::i;:::-;-1:-1;;12499:4;12490:14;;12417:93::o;12519:173::-;;12606:46;12648:3;12640:6;12606:46;:::i;12700:103::-;12773:24;12791:5;12773:24;:::i;:::-;12768:3;12761:37;12755:48;;:::o;12961:690::-;;13106:54;13154:5;13106:54;:::i;:::-;13173:86;13252:6;13247:3;13173:86;:::i;:::-;13166:93;;13280:56;13330:5;13280:56;:::i;:::-;13356:7;13384:1;13369:260;13394:6;13391:1;13388:13;13369:260;;;13461:6;13455:13;13482:63;13541:3;13526:13;13482:63;:::i;:::-;13475:70;;13562:60;13615:6;13562:60;:::i;:::-;13552:70;-1:-1;;13416:1;13409:9;13369:260;;;-1:-1;13642:3;;13085:566;-1:-1;;;;;13085:566::o;13690:690::-;;13835:54;13883:5;13835:54;:::i;:::-;13902:86;13981:6;13976:3;13902:86;:::i;:::-;13895:93;;14009:56;14059:5;14009:56;:::i;:::-;14085:7;14113:1;14098:260;14123:6;14120:1;14117:13;14098:260;;;14190:6;14184:13;14211:63;14270:3;14255:13;14211:63;:::i;:::-;14204:70;;14291:60;14344:6;14291:60;:::i;:::-;14281:70;-1:-1;;14145:1;14138:9;14098:260;;14388:343;;14498:38;14530:5;14498:38;:::i;:::-;14548:70;14611:6;14606:3;14548:70;:::i;:::-;14541:77;;14623:52;14668:6;14663:3;14656:4;14649:5;14645:16;14623:52;:::i;:::-;14696:29;14718:6;14696:29;:::i;:::-;14687:39;;;;14478:253;-1:-1;;;14478:253::o;14739:326::-;;14899:67;14963:2;14958:3;14899:67;:::i;:::-;14999:28;14979:49;;15056:2;15047:12;;14885:180;-1:-1;;14885:180::o;15074:370::-;;15234:67;15298:2;15293:3;15234:67;:::i;:::-;15334:34;15314:55;;-1:-1;;;15398:2;15389:12;;15382:25;15435:2;15426:12;;15220:224;-1:-1;;15220:224::o;15452:110::-;15533:23;15550:5;15533:23;:::i;15569:103::-;15642:24;15660:5;15642:24;:::i;15799:222::-;15926:2;15911:18;;15940:71;15915:9;15984:6;15940:71;:::i;16028:888::-;16361:2;16375:47;;;16346:18;;16436:108;16346:18;16530:6;16436:108;:::i;:::-;16428:116;;16592:9;16586:4;16582:20;16577:2;16566:9;16562:18;16555:48;16617:108;16720:4;16711:6;16617:108;:::i;:::-;16609:116;;16773:9;16767:4;16763:20;16758:2;16747:9;16743:18;16736:48;16798:108;16901:4;16892:6;16798:108;:::i;:::-;16790:116;16332:584;-1:-1;;;;;16332:584::o;16923:306::-;17068:2;17082:47;;;17053:18;;17143:76;17053:18;17205:6;17143:76;:::i;:::-;17135:84;17039:190;-1:-1;;;17039:190::o;17236:416::-;17436:2;17450:47;;;17421:18;;17511:131;17421:18;17511:131;:::i;17659:416::-;17859:2;17873:47;;;17844:18;;17934:131;17844:18;17934:131;:::i;18082:218::-;18207:2;18192:18;;18221:69;18196:9;18263:6;18221:69;:::i;18307:222::-;18434:2;18419:18;;18448:71;18423:9;18492:6;18448:71;:::i;18536:256::-;18598:2;18592:9;18624:17;;;18699:18;18684:34;;18720:22;;;18681:62;18678:2;;;18756:1;18753;18746:12;18678:2;18772;18765:22;18576:216;;-1:-1;18576:216::o;18799:321::-;;18942:18;18934:6;18931:30;18928:2;;;18974:1;18971;18964:12;18928:2;-1:-1;19105:4;19041;19018:17;;;;-1:-1;;19014:33;19095:15;;18865:255::o;19127:151::-;19251:4;19242:14;;19199:79::o;19443:137::-;19546:12;;19517:63::o;20090:178::-;20208:19;;;20257:4;20248:14;;20201:67::o;20806:91::-;;20868:24;20886:5;20868:24;:::i;21010:85::-;21076:13;21069:21;;21052:43::o;21102:113::-;-1:-1;;;;;21164:46;;21147:68::o;21222:84::-;21294:6;21283:18;;21266:40::o;21313:121::-;-1:-1;;;;;21375:54;;21358:76::o;21441:86::-;21513:8;21502:20;;21485:42::o;21534:72::-;21596:5;21579:27::o;21613:88::-;21685:10;21674:22;;21657:44::o;21708:96::-;21780:18;21769:30;;21752:52::o;21811:81::-;21882:4;21871:16;;21854:38::o;21900:145::-;21981:6;21976:3;21971;21958:30;-1:-1;22037:1;22019:16;;22012:27;21951:94::o;22054:268::-;22119:1;22126:101;22140:6;22137:1;22134:13;22126:101;;;22207:11;;;22201:18;22188:11;;;22181:39;22162:2;22155:10;22126:101;;;22242:6;22239:1;22236:13;22233:2;;;22307:1;22298:6;22293:3;22289:16;22282:27;22233:2;22103:219;;;;:::o;22330:97::-;22418:2;22398:14;-1:-1;;22394:28;;22378:49::o;22435:117::-;22504:24;22522:5;22504:24;:::i;:::-;22497:5;22494:35;22484:2;;22543:1;22540;22533:12;22484:2;22478:74;:::o;22699:111::-;22765:21;22780:5;22765:21;:::i;22817:114::-;22906:1;22899:5;22896:12;22886:2;;22922:1;22919;22912:12;23054:111;23140:1;23133:5;23130:12;23120:2;;23156:1;23153;23146:12;23172:117;23241:24;23259:5;23241:24;:::i;23296:115::-;23364:23;23381:5;23364:23;:::i;23418:115::-;23486:23;23503:5;23486:23;:::i;23540:117::-;23609:24;23627:5;23609:24;:::i;23664:115::-;23732:23;23749:5;23732:23;:::i;23786:115::-;23854:23;23871:5;23854:23;:::i;23908:113::-;23975:22;23991:5;23975:22;:::i", "linkReferences": {}, "immutableReferences": { "30900": [ { "start": 190, "length": 32 }, { "start": 330, "length": 32 }, { "start": 523, "length": 32 } ] } }, "methodIdentifiers": { "parseAssetsForAction(address,uint256,bytes)": "bbd2d646", "parseInitArgs(address,bytes)": "db16c72e" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_initialBondOfferingMarket\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_actionId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_encodedActionArgs\",\"type\":\"bytes\"}],\"name\":\"parseAssetsForAction\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"assetsToTransfer_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amountsToTransfer_\",\"type\":\"uint256[]\"},{\"internalType\":\"address[]\",\"name\":\"assetsToReceive_\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"parseInitArgs\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"parseAssetsForAction(address,uint256,bytes)\":{\"params\":{\"_actionId\":\"The _actionId for the callOnExternalPosition\",\"_encodedActionArgs\":\"The encoded parameters for the callOnExternalPosition\"},\"returns\":{\"amountsToTransfer_\":\"The amounts to be transferred from the Vault\",\"assetsToReceive_\":\"The assets to be received at the Vault\",\"assetsToTransfer_\":\"The assets to be transferred from the Vault\"}},\"parseInitArgs(address,bytes)\":{\"details\":\"Empty for this external position type\"}},\"title\":\"SolvV2BondBuyerPositionParser\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"parseAssetsForAction(address,uint256,bytes)\":{\"notice\":\"Parses the assets to send and receive for the callOnExternalPosition\"},\"parseInitArgs(address,bytes)\":{\"notice\":\"Parse and validate input arguments to be used when initializing a newly-deployed ExternalPositionProxy\"}},\"notice\":\"Parser for Solv Bond Buyer positions\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/solv-v2-bond-buyer/SolvV2BondBuyerPositionParser.sol\":\"SolvV2BondBuyerPositionParser\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/release/extensions/external-position-manager/external-positions/IExternalPositionParser.sol\":{\"keccak256\":\"0x1662fbd65841ee5e9cf8d5329b9d04c264b24ef68ae1e0484e59a8969b0d2c46\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://580569b0f875e0344db83fae1e72dcc6c0767a049b2a6cc3e4f3c411d2284b27\",\"dweb:/ipfs/QmXFmF9QbcVsPHaBo1iq8sZHYhDkwfkMZpHmLTuJJ37NvZ\"]},\"contracts/release/extensions/external-position-manager/external-positions/solv-v2-bond-buyer/ISolvV2BondBuyerPosition.sol\":{\"keccak256\":\"0xf1cae957d4373d3e3546b61e208e4171820cc653030c68af469073132c141ea9\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d9e7df5e4efcaa1b3873d64bdea24b21d14652293b58ea2fd15633780e1e0716\",\"dweb:/ipfs/QmdBhmfCEnvGVLYvXXe17j7iHpM53rGu2fmoUZQCEeGEAX\"]},\"contracts/release/extensions/external-position-manager/external-positions/solv-v2-bond-buyer/SolvV2BondBuyerPositionDataDecoder.sol\":{\"keccak256\":\"0x32f9808c23956dde6c830c570d3ebc240ab47eaedde6911c55fe90b0d68cd48a\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3366c99c9cc5cdcd6ad7e74265ed27d9e981f9aeda7ea4e4dd137bebe8bbde35\",\"dweb:/ipfs/QmedhvZ9BAeuBDnQPdFWTZ8u6FkXFiV3gm1TvVu898pM5s\"]},\"contracts/release/extensions/external-position-manager/external-positions/solv-v2-bond-buyer/SolvV2BondBuyerPositionParser.sol\":{\"keccak256\":\"0xf60ef2849e3a7c1ed3dd396ff5bfaa4444601335a03e5d1c812c7a69c14573c4\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1783636bc2e401f178a900fb081d9406630136fe2b0c187869088a0b08230b6b\",\"dweb:/ipfs/QmRfY5XbAdsPnu7vtJrTntYUHFMRenHARgnKwjPL75yL9a\"]},\"contracts/release/interfaces/ISolvV2BondPool.sol\":{\"keccak256\":\"0xa68c7f87782e4da88c0e98a8096d3f758b1c5aa914ddb6bc99ada422195019f5\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://cb64f9feca3ef65e6e2a18729aeb1300698cfba3eb99f08025debc795282b73d\",\"dweb:/ipfs/QmVr5qraYJpKNMtJZfgvkMZsk1Nerxc36HSjhtvh8YgG1G\"]},\"contracts/release/interfaces/ISolvV2BondVoucher.sol\":{\"keccak256\":\"0xf76389995de79cdc0f4a690a9ce76a094d4697d51e397abf68b4be24ef8b554f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ed36c534756035df374381fabff0b010f0fe700caeeddffb99f347efee1f0cdd\",\"dweb:/ipfs/QmY5dm7b78TkoW3WSqKKZSCKdZmumTCMLxf3rpxzVM6qpm\"]},\"contracts/release/interfaces/ISolvV2InitialConvertibleOfferingMarket.sol\":{\"keccak256\":\"0xe34205d54ec639e2e3f8e0e2871984a6796424d903259857f1f11de260cf8abe\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://908f8d334df9ae2191787a8e53c78b1847bd936f2ce9d04115f5e9339c3e3934\",\"dweb:/ipfs/QmZzxE748Hb2Vosu7cwPmkb4EVpoqvS4RgHogLrvDgsnD3\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_initialBondOfferingMarket", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "uint256", "name": "_actionId", "type": "uint256" }, { "internalType": "bytes", "name": "_encodedActionArgs", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "parseAssetsForAction", "outputs": [ { "internalType": "address[]", "name": "assetsToTransfer_", "type": "address[]" }, { "internalType": "uint256[]", "name": "amountsToTransfer_", "type": "uint256[]" }, { "internalType": "address[]", "name": "assetsToReceive_", "type": "address[]" } ] }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "parseInitArgs", "outputs": [ { "internalType": "bytes", "name": "", "type": "bytes" } ] } ], "devdoc": { "kind": "dev", "methods": { "parseAssetsForAction(address,uint256,bytes)": { "params": { "_actionId": "The _actionId for the callOnExternalPosition", "_encodedActionArgs": "The encoded parameters for the callOnExternalPosition" }, "returns": { "amountsToTransfer_": "The amounts to be transferred from the Vault", "assetsToReceive_": "The assets to be received at the Vault", "assetsToTransfer_": "The assets to be transferred from the Vault" } }, "parseInitArgs(address,bytes)": { "details": "Empty for this external position type" } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "parseAssetsForAction(address,uint256,bytes)": { "notice": "Parses the assets to send and receive for the callOnExternalPosition" }, "parseInitArgs(address,bytes)": { "notice": "Parse and validate input arguments to be used when initializing a newly-deployed ExternalPositionProxy" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/external-position-manager/external-positions/solv-v2-bond-buyer/SolvV2BondBuyerPositionParser.sol": "SolvV2BondBuyerPositionParser" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/external-positions/IExternalPosition.sol": { "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", "urls": [ "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/IExternalPositionParser.sol": { "keccak256": "0x1662fbd65841ee5e9cf8d5329b9d04c264b24ef68ae1e0484e59a8969b0d2c46", "urls": [ "bzz-raw://580569b0f875e0344db83fae1e72dcc6c0767a049b2a6cc3e4f3c411d2284b27", "dweb:/ipfs/QmXFmF9QbcVsPHaBo1iq8sZHYhDkwfkMZpHmLTuJJ37NvZ" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/solv-v2-bond-buyer/ISolvV2BondBuyerPosition.sol": { "keccak256": "0xf1cae957d4373d3e3546b61e208e4171820cc653030c68af469073132c141ea9", "urls": [ "bzz-raw://d9e7df5e4efcaa1b3873d64bdea24b21d14652293b58ea2fd15633780e1e0716", "dweb:/ipfs/QmdBhmfCEnvGVLYvXXe17j7iHpM53rGu2fmoUZQCEeGEAX" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/solv-v2-bond-buyer/SolvV2BondBuyerPositionDataDecoder.sol": { "keccak256": "0x32f9808c23956dde6c830c570d3ebc240ab47eaedde6911c55fe90b0d68cd48a", "urls": [ "bzz-raw://3366c99c9cc5cdcd6ad7e74265ed27d9e981f9aeda7ea4e4dd137bebe8bbde35", "dweb:/ipfs/QmedhvZ9BAeuBDnQPdFWTZ8u6FkXFiV3gm1TvVu898pM5s" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/solv-v2-bond-buyer/SolvV2BondBuyerPositionParser.sol": { "keccak256": "0xf60ef2849e3a7c1ed3dd396ff5bfaa4444601335a03e5d1c812c7a69c14573c4", "urls": [ "bzz-raw://1783636bc2e401f178a900fb081d9406630136fe2b0c187869088a0b08230b6b", "dweb:/ipfs/QmRfY5XbAdsPnu7vtJrTntYUHFMRenHARgnKwjPL75yL9a" ], "license": "GPL-3.0" }, "contracts/release/interfaces/ISolvV2BondPool.sol": { "keccak256": "0xa68c7f87782e4da88c0e98a8096d3f758b1c5aa914ddb6bc99ada422195019f5", "urls": [ "bzz-raw://cb64f9feca3ef65e6e2a18729aeb1300698cfba3eb99f08025debc795282b73d", "dweb:/ipfs/QmVr5qraYJpKNMtJZfgvkMZsk1Nerxc36HSjhtvh8YgG1G" ], "license": "GPL-3.0" }, "contracts/release/interfaces/ISolvV2BondVoucher.sol": { "keccak256": "0xf76389995de79cdc0f4a690a9ce76a094d4697d51e397abf68b4be24ef8b554f", "urls": [ "bzz-raw://ed36c534756035df374381fabff0b010f0fe700caeeddffb99f347efee1f0cdd", "dweb:/ipfs/QmY5dm7b78TkoW3WSqKKZSCKdZmumTCMLxf3rpxzVM6qpm" ], "license": "GPL-3.0" }, "contracts/release/interfaces/ISolvV2InitialConvertibleOfferingMarket.sol": { "keccak256": "0xe34205d54ec639e2e3f8e0e2871984a6796424d903259857f1f11de260cf8abe", "urls": [ "bzz-raw://908f8d334df9ae2191787a8e53c78b1847bd936f2ce9d04115f5e9339c3e3934", "dweb:/ipfs/QmZzxE748Hb2Vosu7cwPmkb4EVpoqvS4RgHogLrvDgsnD3" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" } }, "version": 1 }, "id": 125 } diff --git a/eth_defi/abi/enzyme/SolvV2BondIssuerPositionDataDecoder.json b/eth_defi/abi/enzyme/SolvV2BondIssuerPositionDataDecoder.json index 4415b96d..bc52bfbe 100644 --- a/eth_defi/abi/enzyme/SolvV2BondIssuerPositionDataDecoder.json +++ b/eth_defi/abi/enzyme/SolvV2BondIssuerPositionDataDecoder.json @@ -1,86 +1 @@ -{ - "abi": [], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": {}, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"SolvV2BondIssuerPositionDataDecoder Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Abstract contract containing data decodings for SolvV2BondIssuerPosition payloads\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/solv-v2-bond-issuer/SolvV2BondIssuerPositionDataDecoder.sol\":\"SolvV2BondIssuerPositionDataDecoder\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/external-position-manager/external-positions/solv-v2-bond-issuer/SolvV2BondIssuerPositionDataDecoder.sol\":{\"keccak256\":\"0xdc757cfbb836b813539ce641f764d5aac2535a472565e84b4e098a2560d9323d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9b24f934d31730aeabaea742b0de10c0cad1448788d0c9a22e281097acb3ff76\",\"dweb:/ipfs/QmQ8QU46pBi9Sb5DxvgboLYugnFodMzo4iUKXxyh9yPQyA\"]},\"contracts/release/interfaces/ISolvV2InitialConvertibleOfferingMarket.sol\":{\"keccak256\":\"0xe34205d54ec639e2e3f8e0e2871984a6796424d903259857f1f11de260cf8abe\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://908f8d334df9ae2191787a8e53c78b1847bd936f2ce9d04115f5e9339c3e3934\",\"dweb:/ipfs/QmZzxE748Hb2Vosu7cwPmkb4EVpoqvS4RgHogLrvDgsnD3\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/external-position-manager/external-positions/solv-v2-bond-issuer/SolvV2BondIssuerPositionDataDecoder.sol": "SolvV2BondIssuerPositionDataDecoder" - }, - "libraries": {} - }, - "sources": { - "contracts/release/extensions/external-position-manager/external-positions/solv-v2-bond-issuer/SolvV2BondIssuerPositionDataDecoder.sol": { - "keccak256": "0xdc757cfbb836b813539ce641f764d5aac2535a472565e84b4e098a2560d9323d", - "urls": [ - "bzz-raw://9b24f934d31730aeabaea742b0de10c0cad1448788d0c9a22e281097acb3ff76", - "dweb:/ipfs/QmQ8QU46pBi9Sb5DxvgboLYugnFodMzo4iUKXxyh9yPQyA" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/ISolvV2InitialConvertibleOfferingMarket.sol": { - "keccak256": "0xe34205d54ec639e2e3f8e0e2871984a6796424d903259857f1f11de260cf8abe", - "urls": [ - "bzz-raw://908f8d334df9ae2191787a8e53c78b1847bd936f2ce9d04115f5e9339c3e3934", - "dweb:/ipfs/QmZzxE748Hb2Vosu7cwPmkb4EVpoqvS4RgHogLrvDgsnD3" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 127 -} +{ "abi": [], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": {}, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"SolvV2BondIssuerPositionDataDecoder Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Abstract contract containing data decodings for SolvV2BondIssuerPosition payloads\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/solv-v2-bond-issuer/SolvV2BondIssuerPositionDataDecoder.sol\":\"SolvV2BondIssuerPositionDataDecoder\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/external-position-manager/external-positions/solv-v2-bond-issuer/SolvV2BondIssuerPositionDataDecoder.sol\":{\"keccak256\":\"0xdc757cfbb836b813539ce641f764d5aac2535a472565e84b4e098a2560d9323d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9b24f934d31730aeabaea742b0de10c0cad1448788d0c9a22e281097acb3ff76\",\"dweb:/ipfs/QmQ8QU46pBi9Sb5DxvgboLYugnFodMzo4iUKXxyh9yPQyA\"]},\"contracts/release/interfaces/ISolvV2InitialConvertibleOfferingMarket.sol\":{\"keccak256\":\"0xe34205d54ec639e2e3f8e0e2871984a6796424d903259857f1f11de260cf8abe\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://908f8d334df9ae2191787a8e53c78b1847bd936f2ce9d04115f5e9339c3e3934\",\"dweb:/ipfs/QmZzxE748Hb2Vosu7cwPmkb4EVpoqvS4RgHogLrvDgsnD3\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/external-position-manager/external-positions/solv-v2-bond-issuer/SolvV2BondIssuerPositionDataDecoder.sol": "SolvV2BondIssuerPositionDataDecoder" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/extensions/external-position-manager/external-positions/solv-v2-bond-issuer/SolvV2BondIssuerPositionDataDecoder.sol": { "keccak256": "0xdc757cfbb836b813539ce641f764d5aac2535a472565e84b4e098a2560d9323d", "urls": [ "bzz-raw://9b24f934d31730aeabaea742b0de10c0cad1448788d0c9a22e281097acb3ff76", "dweb:/ipfs/QmQ8QU46pBi9Sb5DxvgboLYugnFodMzo4iUKXxyh9yPQyA" ], "license": "GPL-3.0" }, "contracts/release/interfaces/ISolvV2InitialConvertibleOfferingMarket.sol": { "keccak256": "0xe34205d54ec639e2e3f8e0e2871984a6796424d903259857f1f11de260cf8abe", "urls": [ "bzz-raw://908f8d334df9ae2191787a8e53c78b1847bd936f2ce9d04115f5e9339c3e3934", "dweb:/ipfs/QmZzxE748Hb2Vosu7cwPmkb4EVpoqvS4RgHogLrvDgsnD3" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 127 } diff --git a/eth_defi/abi/enzyme/SolvV2BondIssuerPositionLib.json b/eth_defi/abi/enzyme/SolvV2BondIssuerPositionLib.json index f77acabd..52d12986 100644 --- a/eth_defi/abi/enzyme/SolvV2BondIssuerPositionLib.json +++ b/eth_defi/abi/enzyme/SolvV2BondIssuerPositionLib.json @@ -1,602 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_initialBondOfferingMarket", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "voucher", - "type": "address" - } - ], - "name": "IssuedVoucherAdded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "voucher", - "type": "address" - } - ], - "name": "IssuedVoucherRemoved", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint24", - "name": "offerId", - "type": "uint24" - } - ], - "name": "OfferAdded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint24", - "name": "offerId", - "type": "uint24" - } - ], - "name": "OfferRemoved", - "type": "event" - }, - { - "inputs": [], - "name": "getDebtAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "assets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "amounts_", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getIssuedVouchers", - "outputs": [ - { - "internalType": "address[]", - "name": "vouchers_", - "type": "address[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getManagedAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "assets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "amounts_", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getOffers", - "outputs": [ - { - "internalType": "uint24[]", - "name": "offers_", - "type": "uint24[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "init", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - } - ], - "name": "receiveCallFromVault", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x60a06040523480156200001157600080fd5b50604051620032ef380380620032ef83398101604081905262000034916200005d565b60601b6001600160601b031916608052620000b2565b8051620000578162000098565b92915050565b6000602082840312156200007057600080fd5b60006200007e84846200004a565b949350505050565b60006001600160a01b03821662000057565b620000a38162000086565b8114620000af57600080fd5b50565b60805160601c6131fc620000f36000398061082a52806108e45280610c1a528061100852806110d0528061129f5280611544528061166852506131fc6000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c80630f081d50146100675780633ee992ee146100855780634ddf47d41461009a57806380daddb8146100af578063e5c23a97146100c5578063ecd658b4146100d8575b600080fd5b61006f6100e0565b60405161007c9190612f7b565b60405180910390f35b61008d610142565b60405161007c9190612fb1565b6100ad6100a83660046128e5565b6101c3565b005b6100b76101c6565b60405161007c929190612f8c565b6100ad6100d33660046128e5565b6102e9565b6100b7610386565b6060600080548060200260200160405190810160405280929190818152602001828054801561013857602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161011a575b5050505050905090565b6060600180548060200260200160405190810160405280929190818152602001828054801561013857602002820191906000526020600020906000905b82829054906101000a900462ffffff1662ffffff168152602001906003019060208260020104928301926001038202915080841161017f5790505050505050905090565b50565b60608060606101d3610142565b90506101dd61038c565b90935091506060806101ee83610788565b8151919350915060005b818110156102585761022684828151811061020f57fe5b602002602001015188610a9090919063ffffffff16565b965061024e83828151811061023757fe5b602002602001015187610b5b90919063ffffffff16565b95506001016101f8565b5060608061026586610c04565b8151919350915060005b818110156102cf5761029d84828151811061028657fe5b60200260200101518b610a9090919063ffffffff16565b99506102c58382815181106102ae57fe5b60200260200101518a610b5b90919063ffffffff16565b985060010161026f565b506102da8989610d8f565b98509850505050505050509091565b600060608280602001905181019061030191906129b1565b9092509050816103195761031481610fd0565b610381565b600182141561032a5761031461127d565b600282141561033c5761031481611374565b600382141561034e5761031481611518565b6004821415610360576103148161195a565b60405162461bcd60e51b815260040161037890613003565b60405180910390fd5b505050565b60608091565b60608060606103996100e0565b805190915060005b818110156107815760008551905060008483815181106103bd57fe5b60200260200101516001600160a01b0316634118ca7d6040518163ffffffff1660e01b815260040160206040518083038186803b1580156103fd57600080fd5b505afa158015610411573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610435919061274b565b90506060816001600160a01b031663ecaf82a5306040518263ffffffff1660e01b81526004016104659190612e9b565b60006040518083038186803b15801561047d57600080fd5b505afa158015610491573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526104b99190810190612893565b90506000805b8251811015610652576104d0612236565b8887815181106104dc57fe5b60200260200101516001600160a01b031663d3ceafb98584815181106104fe57fe5b60200260200101516040518263ffffffff1660e01b81526004016105229190613061565b6101a06040518083038186803b15801561053b57600080fd5b505afa15801561054f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105739190612956565b90508060e001516001600160401b03164210156105a25760405162461bcd60e51b815260040161037890613023565b6000856001600160a01b031663875f43848685815181106105bf57fe5b60200260200101516040518263ffffffff1660e01b81526004016105e39190613061565b60206040518083038186803b1580156105fb57600080fd5b505afa15801561060f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106339190612993565b90508015610648576106458482611b6d565b93505b50506001016104bf565b5080156106f6576106e787868151811061066857fe5b60200260200101516001600160a01b0316636f307dc36040518163ffffffff1660e01b815260040160206040518083038186803b1580156106a857600080fd5b505afa1580156106bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106e0919061274b565b8a90610a90565b98506106f38882610b5b565b97505b83895114156107715761072687868151811061070e57fe5b60200260200101516000611b9990919063ffffffff16565b5086858151811061073357fe5b60200260200101516001600160a01b03167ffd92edd176a06585677580bb1800864a64631aef521abcba2722708c7084c2e460405160405180910390a25b5050600190920191506103a19050565b5050509091565b80516060908190806001600160401b03811180156107a557600080fd5b506040519080825280602002602001820160405280156107cf578160200160208202803683370190505b509250806001600160401b03811180156107e857600080fd5b50604051908082528060200260200182016040528015610812578160200160208202803683370190505b50915060005b81811015610a895761082861229f565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316639cfb2ab087848151811061086357fe5b60200260200101516040518263ffffffff1660e01b81526004016108879190613053565b6101a06040518083038186803b1580156108a057600080fd5b505afa1580156108b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108d89190612937565b90506108e2612309565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c39333ab88858151811061091d57fe5b60200260200101516040518263ffffffff1660e01b81526004016109419190613053565b60a06040518083038186803b15801561095957600080fd5b505afa15801561096d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109919190612919565b905060006109c282600001516001600160801b03168460a001516001600160801b0316611c9190919063ffffffff16565b90508261010001516001600160a01b0316636f307dc36040518163ffffffff1660e01b815260040160206040518083038186803b158015610a0257600080fd5b505afa158015610a16573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a3a919061274b565b878581518110610a4657fe5b60200260200101906001600160a01b031690816001600160a01b03168152505080868581518110610a7357fe5b6020908102919091010152505050600101610818565b5050915091565b606082516001016001600160401b0381118015610aac57600080fd5b50604051908082528060200260200182016040528015610ad6578160200160208202803683370190505b50905060005b8351811015610b2557838181518110610af157fe5b6020026020010151828281518110610b0557fe5b6001600160a01b0390921660209283029190910190910152600101610adc565b508181845181518110610b3457fe5b60200260200101906001600160a01b031690816001600160a01b0316815250505b92915050565b606082516001016001600160401b0381118015610b7757600080fd5b50604051908082528060200260200182016040528015610ba1578160200160208202803683370190505b50905060005b8351811015610be357838181518110610bbc57fe5b6020026020010151828281518110610bd057fe5b6020908102919091010152600101610ba7565b508181845181518110610bf257fe5b60200260200101818152505092915050565b8051606090819060005b81811015610a895760007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316639cfb2ab0878481518110610c5357fe5b60200260200101516040518263ffffffff1660e01b8152600401610c779190613053565b6101a06040518083038186803b158015610c9057600080fd5b505afa158015610ca4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cc89190612937565b61012001519050610cd98582611cc3565b15610ce45750610d87565b6040516370a0823160e01b81526000906001600160a01b038316906370a0823190610d13903090600401612e9b565b60206040518083038186803b158015610d2b57600080fd5b505afa158015610d3f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d639190612993565b90508015610d8457610d758683610a90565b9550610d818582610b5b565b94505b50505b600101610c0e565b606080835160001415610da157610fc9565b6001805b8551811015610e21576000805b82811015610e0b57878181518110610dc657fe5b60200260200101516001600160a01b0316888481518110610de357fe5b60200260200101516001600160a01b03161415610e035760019150610e0b565b600101610db2565b5080610e18576001909201915b50600101610da5565b50806001600160401b0381118015610e3857600080fd5b50604051908082528060200260200182016040528015610e62578160200160208202803683370190505b509250806001600160401b0381118015610e7b57600080fd5b50604051908082528060200260200182016040528015610ea5578160200160208202803683370190505b5091506000805b8651811015610fc5576000805b83811015610f4457868181518110610ecd57fe5b60200260200101516001600160a01b0316898481518110610eea57fe5b60200260200101516001600160a01b03161415610f3c5760019150878381518110610f1157fe5b6020026020010151868281518110610f2557fe5b602002602001018181510191508181525050610f44565b600101610eb9565b5080610fbc57878281518110610f5657fe5b6020026020010151868481518110610f6a57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050868281518110610f9657fe5b6020026020010151858481518110610faa57fe5b60209081029190910101526001909201915b50600101610eac565b5050505b9250929050565b6000806000806000806000806060610fe6612309565b610fef8b611d19565b99509950995099509950995099509950995099506110b67f000000000000000000000000000000000000000000000000000000000000000082604001516001600160801b03168c6001600160a01b0316636f307dc36040518163ffffffff1660e01b815260040160206040518083038186803b15801561106e57600080fd5b505afa158015611082573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110a6919061274b565b6001600160a01b03169190611d64565b60405163113c22ab60e11b81526000906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690632278455690611117908e908e908e908e908e908e908e908e908e908e90600401612ec4565b602060405180830381600087803b15801561113157600080fd5b505af1158015611145573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111699190612975565b905061117660008c611e5e565b6111ee57600080546001810182558180527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630180546001600160a01b0319166001600160a01b038e1690811790915560405190917f6b3e0dcc57df05fef7e2c63274ec9b334d9fad324cedda20d168b66e6f487b4c91a25b6001805480820182556000918252600a8082047fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf601805462ffffff808716600394909506939093026101000a8481029302191691909117905560405190917f27652f622b1c2e924c22bbcd9793267e09bd9469ff3e1d1aef7baa7bb542727791a2505050505050505050505050565b6060611287610142565b805190915060609060005b81811015611363576113597f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316639cfb2ab08684815181106112d857fe5b60200260200101516040518263ffffffff1660e01b81526004016112fc9190613053565b6101a06040518083038186803b15801561131557600080fd5b505afa158015611329573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061134d9190612937565b61012001518490611eb6565b9250600101611292565b5061136e3383611ed8565b50505050565b60008061138083612033565b915091506000826001600160a01b0316634118ca7d6040518163ffffffff1660e01b815260040160206040518083038186803b1580156113bf57600080fd5b505afa1580156113d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113f7919061274b565b9050611401612236565b60405163d3ceafb960e01b81526001600160a01b0383169063d3ceafb99061142d908690600401613061565b6101a06040518083038186803b15801561144657600080fd5b505afa15801561145a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061147e9190612956565b602081015190915061149c6001600160a01b03821684600019611d64565b60405163278ecde160e01b81526001600160a01b0384169063278ecde1906114c8908790600401613061565b600060405180830381600087803b1580156114e257600080fd5b505af11580156114f6573d6000803e3d6000fd5b50611510925050506001600160a01b038216846000611d64565b505050505050565b600061152382612053565b905061152d61229f565b6040516309cfb2ab60e41b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690639cfb2ab090611579908590600401613053565b6101a06040518083038186803b15801561159257600080fd5b505afa1580156115a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115ca9190612937565b90506000816101200151905060008261010001516001600160a01b0316636f307dc36040518163ffffffff1660e01b815260040160206040518083038186803b15801561161657600080fd5b505afa15801561162a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061164e919061274b565b6040516362b4d47960e11b81529091506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c569a8f29061169d908790600401613053565b600060405180830381600087803b1580156116b757600080fd5b505af11580156116cb573d6000803e3d6000fd5b50506001549150600090505b81811015611951578562ffffff16600182815481106116f257fe5b90600052602060002090600a91828204019190066003029054906101000a900462ffffff1662ffffff161415611949576040516370a0823160e01b81526000906001600160a01b038616906370a0823190611751903090600401612e9b565b60206040518083038186803b15801561176957600080fd5b505afa15801561177d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117a19190612993565b905080156117bd576117bd6001600160a01b0386163383612071565b6040516370a0823160e01b81526000906001600160a01b038616906370a08231906117ec903090600401612e9b565b60206040518083038186803b15801561180457600080fd5b505afa158015611818573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061183c9190612993565b90508015611858576118586001600160a01b0386163383612071565b600184038310156118d65760018085038154811061187257fe5b90600052602060002090600a91828204019190066003029054906101000a900462ffffff16600184815481106118a457fe5b90600052602060002090600a91828204019190066003026101000a81548162ffffff021916908362ffffff1602179055505b60018054806118e157fe5b60019003818190600052602060002090600a91828204019190066003026101000a81549062ffffff021916905590558762ffffff167f5117ada9c4efa32749567ede1058300f17ca6204e7a5a68bac0dd615667af42660405160405180910390a25050611951565b6001016116d7565b50505050505050565b60008061196683612033565b915091506000829050806001600160a01b0316634118ca7d6040518163ffffffff1660e01b815260040160206040518083038186803b1580156119a857600080fd5b505afa1580156119bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119e0919061274b565b6001600160a01b0316632e1a7d4d836040518263ffffffff1660e01b8152600401611a0b9190613061565b602060405180830381600087803b158015611a2557600080fd5b505af1158015611a39573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a5d9190612993565b506000816001600160a01b0316636f307dc36040518163ffffffff1660e01b815260040160206040518083038186803b158015611a9957600080fd5b505afa158015611aad573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ad1919061274b565b90506000816001600160a01b03166370a08231306040518263ffffffff1660e01b8152600401611b019190612e9b565b60206040518083038186803b158015611b1957600080fd5b505afa158015611b2d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b519190612993565b90508015611510576115106001600160a01b0383163383612071565b600082820183811015611b925760405162461bcd60e51b815260040161037890612fd3565b9392505050565b8154600090815b81811015611c8957836001600160a01b0316858281548110611bbe57fe5b6000918252602090912001546001600160a01b03161415611c815760018203811015611c4c57846001830381548110611bf357fe5b9060005260206000200160009054906101000a90046001600160a01b0316858281548110611c1d57fe5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055505b84805480611c5657fe5b600082815260209020810160001990810180546001600160a01b031916905501905560019250611c89565b600101611ba0565b505092915050565b6000808211611cb25760405162461bcd60e51b815260040161037890612ff3565b818381611cbb57fe5b049392505050565b6000805b8351811015611d0f57838181518110611cdc57fe5b60200260200101516001600160a01b0316836001600160a01b03161415611d07576001915050610b55565b600101611cc7565b5060009392505050565b6000806000806000806000806060611d2f612309565b8a806020019051810190611d439190612769565b99509950995099509950995099509950995099509193959799509193959799565b801580611dec5750604051636eb1769f60e11b81526001600160a01b0384169063dd62ed3e90611d9a9030908690600401612ea9565b60206040518083038186803b158015611db257600080fd5b505afa158015611dc6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611dea9190612993565b155b611e085760405162461bcd60e51b815260040161037890613043565b6103818363095ea7b360e01b8484604051602401611e27929190612f60565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152612090565b8154600090815b81811015611eab57848181548110611e7957fe5b6000918252602090912001546001600160a01b0385811691161415611ea357600192505050610b55565b600101611e65565b506000949350505050565b6060611ec28383611cc3565b15611ece575081610b55565b611b928383610a90565b606081516001600160401b0381118015611ef157600080fd5b50604051908082528060200260200182016040528015611f1b578160200160208202803683370190505b50905060005b825181101561202c576000838281518110611f3857fe5b60200260200101519050806001600160a01b03166370a08231306040518263ffffffff1660e01b8152600401611f6e9190612e9b565b60206040518083038186803b158015611f8657600080fd5b505afa158015611f9a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fbe9190612993565b838381518110611fca57fe5b6020026020010181815250506000838381518110611fe457fe5b60200260200101511115612023576120238584848151811061200257fe5b6020026020010151836001600160a01b03166120719092919063ffffffff16565b50600101611f21565b5092915050565b6000808280602001905181019061204a9190612859565b91509150915091565b6000818060200190518101906120699190612975565b90505b919050565b6103818363a9059cbb60e01b8484604051602401611e27929190612f60565b60606120e5826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031661211f9092919063ffffffff16565b805190915015610381578080602001905181019061210391906128c7565b6103815760405162461bcd60e51b815260040161037890613033565b606061212e8484600085612136565b949350505050565b6060824710156121585760405162461bcd60e51b815260040161037890612fe3565b612161856121f7565b61217d5760405162461bcd60e51b815260040161037890613013565b60006060866001600160a01b0316858760405161219a9190612e8f565b60006040518083038185875af1925050503d80600081146121d7576040519150601f19603f3d011682016040523d82523d6000602084013e6121dc565b606091505b50915091506121ec8282866121fd565b979650505050505050565b3b151590565b6060831561220c575081611b92565b82511561221c5782518084602001fd5b8160405162461bcd60e51b81526004016103789190612fc2565b604080516101a081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052906101008201908152600060208201819052604082018190526060820181905260809091015290565b604080516101a081018252600080825260208201819052918101829052906060820190815260006020820181905260408201819052606082018190526080820181905260a0820181905260c0820181905260e0820181905261010082018190526101209091015290565b6040805160a08101825260008082526020820181905291810182905260608101829052608081019190915290565b8051610b5581613198565b600082601f83011261235357600080fd5b815161236661236182613095565b61306f565b9150818183526020840193506020810190508385602084028201111561238b57600080fd5b60005b838110156123b757816123a1888261272a565b845250602092830192919091019060010161238e565b5050505092915050565b8051610b55816131ac565b600082601f8301126123dd57600080fd5b81356123eb612361826130b5565b9150808252602083016020830185838301111561240757600080fd5b61241283828461314c565b50505092915050565b600082601f83011261242c57600080fd5b815161243a612361826130b5565b9150808252602083016020830185838301111561245657600080fd5b612412838284613158565b8051610b55816131b5565b600060a0828403121561247e57600080fd5b61248860a061306f565b905060006124968484612714565b82525060206124a784848301612714565b60208301525060406124bb84828501612714565b60408301525060606124cf84828501612740565b60608301525060806124e384828501612740565b60808301525092915050565b60006101a0828403121561250257600080fd5b61250d6101a061306f565b9050600061251b848461271f565b825250602061252c84848301612735565b602083015250604061254084828501612735565b604083015250606061255484828501612461565b606083015250608061256884828501612714565b60808301525060a061257c84828501612714565b60a08301525060c061259084828501612714565b60c08301525060e06125a484828501612714565b60e0830152506101006125b984828501612337565b610100830152506101206125cf84828501612337565b610120830152506101406125e584828501612337565b610140830152506101606125fb848285016123c1565b61016083015250610180612611848285016123c1565b6101808301525092915050565b60006101a0828403121561263157600080fd5b61263c6101a061306f565b9050600061264a8484612337565b825250602061265b84848301612337565b602083015250604061266f8482850161272a565b604083015250606061268384828501612714565b606083015250608061269784828501612714565b60808301525060a06126ab84828501612714565b60a08301525060c06126bf84828501612740565b60c08301525060e06126d384828501612740565b60e0830152506101006126e884828501612461565b610100830152506101206126fe848285016123c1565b610120830152506101406125e5848285016123c1565b8051610b55816131c2565b8051610b55816131cb565b8051610b55816131d4565b8051610b55816131dd565b8051610b55816131e6565b60006020828403121561275d57600080fd5b600061212e8484612337565b6000806000806000806000806000806101c08b8d03121561278957600080fd5b60006127958d8d612337565b9a505060206127a68d828e01612337565b99505060406127b78d828e01612714565b98505060606127c88d828e01612714565b97505060806127d98d828e01612735565b96505060a06127ea8d828e01612735565b95505060c06127fb8d828e016123c1565b94505060e061280c8d828e01612461565b9350506101008b01516001600160401b0381111561282957600080fd5b6128358d828e0161241b565b9250506101206128478d828e0161246c565b9150509295989b9194979a5092959850565b6000806040838503121561286c57600080fd5b60006128788585612337565b92505060206128898582860161272a565b9150509250929050565b6000602082840312156128a557600080fd5b81516001600160401b038111156128bb57600080fd5b61212e84828501612342565b6000602082840312156128d957600080fd5b600061212e84846123c1565b6000602082840312156128f757600080fd5b81356001600160401b0381111561290d57600080fd5b61212e848285016123cc565b600060a0828403121561292b57600080fd5b600061212e848461246c565b60006101a0828403121561294a57600080fd5b600061212e84846124ef565b60006101a0828403121561296957600080fd5b600061212e848461261e565b60006020828403121561298757600080fd5b600061212e848461271f565b6000602082840312156129a557600080fd5b600061212e848461272a565b600080604083850312156129c457600080fd5b60006129d0858561272a565b92505060208301516001600160401b038111156129ec57600080fd5b6128898582860161241b565b6000612a048383612a24565b505060200190565b6000612a048383612e6b565b6000612a048383612e74565b612a2d816130ef565b82525050565b6000612a3e826130e2565b612a4881856130e6565b9350612a53836130dc565b8060005b83811015612a81578151612a6b88826129f8565b9750612a76836130dc565b925050600101612a57565b509495945050505050565b6000612a97826130e2565b612aa181856130e6565b9350612aac836130dc565b8060005b83811015612a81578151612ac48882612a0c565b9750612acf836130dc565b925050600101612ab0565b6000612ae5826130e2565b612aef81856130e6565b9350612afa836130dc565b8060005b83811015612a81578151612b128882612a18565b9750612b1d836130dc565b925050600101612afe565b612a2d816130fa565b6000612b3c826130e2565b612b4681856130e6565b9350612b56818560208601613158565b612b5f81613184565b9093019392505050565b6000612b74826130e2565b612b7e818561206c565b9350612b8e818560208601613158565b9290920192915050565b612a2d81613141565b6000612bae601b836130e6565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000612be76026836130e6565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f8152651c8818d85b1b60d21b602082015260400192915050565b6000612c2f601a836130e6565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b6000612c686026836130e6565b7f7265636569766543616c6c46726f6d5661756c743a20496e76616c69642061638152651d1a5bdb925960d21b602082015260400192915050565b6000612cb0601d836130e6565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000815260200192915050565b6000612ce96057836130e6565b7f5f5f676574576974686472617761626c654173736574416d6f756e7473416e6481527f52656d6f766557697468647261776e566f7563686572733a207072652d6d617460208201527f7572652069737375656420766f756368657220736c6f74000000000000000000604082015260600192915050565b6000612d6e602a836130e6565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e8152691bdd081cdd58d8d9595960b21b602082015260400192915050565b6000612dba6036836130e6565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f81527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b602082015260400192915050565b805160a0830190612e168482612e62565b506020820151612e296020850182612e62565b506040820151612e3c6040850182612e62565b506060820151612e4f6060850182612e86565b50608082015161136e6080850182612e86565b612a2d81613109565b612a2d81613121565b612a2d81613129565b612a2d8161312c565b612a2d81613135565b6000611b928284612b69565b60208101610b558284612a24565b60408101612eb78285612a24565b611b926020830184612a24565b6101c08101612ed3828d612a24565b612ee0602083018c612a24565b612eed604083018b612e62565b612efa606083018a612e62565b612f076080830189612e7d565b612f1460a0830188612e7d565b612f2160c0830187612b28565b612f2e60e0830186612b98565b818103610100830152612f418185612b31565b9050612f51610120830184612e05565b9b9a5050505050505050505050565b60408101612f6e8285612a24565b611b926020830184612e74565b60208082528101611b928184612a33565b60408082528101612f9d8185612a33565b9050818103602083015261212e8184612ada565b60208082528101611b928184612a8c565b60208082528101611b928184612b31565b6020808252810161206981612ba1565b6020808252810161206981612bda565b6020808252810161206981612c22565b6020808252810161206981612c5b565b6020808252810161206981612ca3565b6020808252810161206981612cdc565b6020808252810161206981612d61565b6020808252810161206981612dad565b60208101610b558284612e6b565b60208101610b558284612e74565b6040518181016001600160401b038111828210171561308d57600080fd5b604052919050565b60006001600160401b038211156130ab57600080fd5b5060209081020190565b60006001600160401b038211156130cb57600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b600061206982613115565b151590565b8061206c8161318e565b6001600160801b031690565b6001600160a01b031690565b62ffffff1690565b90565b63ffffffff1690565b6001600160401b031690565b6000612069826130ff565b82818337506000910152565b60005b8381101561317357818101518382015260200161315b565b8381111561136e5750506000910152565b601f01601f191690565b600281106101c357fe5b6131a1816130ef565b81146101c357600080fd5b6131a1816130fa565b600281106101c357600080fd5b6131a181613109565b6131a181613121565b6131a181613129565b6131a18161312c565b6131a18161313556fea164736f6c634300060c000a", - "sourceMap": "1178:13902:128:-:0;;;1607:201;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1672:129;;-1:-1:-1;;;;;;1672:129:128;;;1178:13902;;5:134:-1;83:13;;101:33;83:13;101:33;:::i;:::-;68:71;;;;:::o;146:263::-;;261:2;249:9;240:7;236:23;232:32;229:2;;;277:1;274;267:12;229:2;312:1;329:64;385:7;365:9;329:64;:::i;:::-;319:74;223:186;-1:-1;;;;223:186::o;416:91::-;;-1:-1;;;;;576:54;;478:24;559:76::o;642:117::-;711:24;729:5;711:24;:::i;:::-;704:5;701:35;691:2;;750:1;747;740:12;691:2;685:74;:::o;:::-;1178:13902:128;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106100625760003560e01c80630f081d50146100675780633ee992ee146100855780634ddf47d41461009a57806380daddb8146100af578063e5c23a97146100c5578063ecd658b4146100d8575b600080fd5b61006f6100e0565b60405161007c9190612f7b565b60405180910390f35b61008d610142565b60405161007c9190612fb1565b6100ad6100a83660046128e5565b6101c3565b005b6100b76101c6565b60405161007c929190612f8c565b6100ad6100d33660046128e5565b6102e9565b6100b7610386565b6060600080548060200260200160405190810160405280929190818152602001828054801561013857602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161011a575b5050505050905090565b6060600180548060200260200160405190810160405280929190818152602001828054801561013857602002820191906000526020600020906000905b82829054906101000a900462ffffff1662ffffff168152602001906003019060208260020104928301926001038202915080841161017f5790505050505050905090565b50565b60608060606101d3610142565b90506101dd61038c565b90935091506060806101ee83610788565b8151919350915060005b818110156102585761022684828151811061020f57fe5b602002602001015188610a9090919063ffffffff16565b965061024e83828151811061023757fe5b602002602001015187610b5b90919063ffffffff16565b95506001016101f8565b5060608061026586610c04565b8151919350915060005b818110156102cf5761029d84828151811061028657fe5b60200260200101518b610a9090919063ffffffff16565b99506102c58382815181106102ae57fe5b60200260200101518a610b5b90919063ffffffff16565b985060010161026f565b506102da8989610d8f565b98509850505050505050509091565b600060608280602001905181019061030191906129b1565b9092509050816103195761031481610fd0565b610381565b600182141561032a5761031461127d565b600282141561033c5761031481611374565b600382141561034e5761031481611518565b6004821415610360576103148161195a565b60405162461bcd60e51b815260040161037890613003565b60405180910390fd5b505050565b60608091565b60608060606103996100e0565b805190915060005b818110156107815760008551905060008483815181106103bd57fe5b60200260200101516001600160a01b0316634118ca7d6040518163ffffffff1660e01b815260040160206040518083038186803b1580156103fd57600080fd5b505afa158015610411573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610435919061274b565b90506060816001600160a01b031663ecaf82a5306040518263ffffffff1660e01b81526004016104659190612e9b565b60006040518083038186803b15801561047d57600080fd5b505afa158015610491573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526104b99190810190612893565b90506000805b8251811015610652576104d0612236565b8887815181106104dc57fe5b60200260200101516001600160a01b031663d3ceafb98584815181106104fe57fe5b60200260200101516040518263ffffffff1660e01b81526004016105229190613061565b6101a06040518083038186803b15801561053b57600080fd5b505afa15801561054f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105739190612956565b90508060e001516001600160401b03164210156105a25760405162461bcd60e51b815260040161037890613023565b6000856001600160a01b031663875f43848685815181106105bf57fe5b60200260200101516040518263ffffffff1660e01b81526004016105e39190613061565b60206040518083038186803b1580156105fb57600080fd5b505afa15801561060f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106339190612993565b90508015610648576106458482611b6d565b93505b50506001016104bf565b5080156106f6576106e787868151811061066857fe5b60200260200101516001600160a01b0316636f307dc36040518163ffffffff1660e01b815260040160206040518083038186803b1580156106a857600080fd5b505afa1580156106bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106e0919061274b565b8a90610a90565b98506106f38882610b5b565b97505b83895114156107715761072687868151811061070e57fe5b60200260200101516000611b9990919063ffffffff16565b5086858151811061073357fe5b60200260200101516001600160a01b03167ffd92edd176a06585677580bb1800864a64631aef521abcba2722708c7084c2e460405160405180910390a25b5050600190920191506103a19050565b5050509091565b80516060908190806001600160401b03811180156107a557600080fd5b506040519080825280602002602001820160405280156107cf578160200160208202803683370190505b509250806001600160401b03811180156107e857600080fd5b50604051908082528060200260200182016040528015610812578160200160208202803683370190505b50915060005b81811015610a895761082861229f565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316639cfb2ab087848151811061086357fe5b60200260200101516040518263ffffffff1660e01b81526004016108879190613053565b6101a06040518083038186803b1580156108a057600080fd5b505afa1580156108b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108d89190612937565b90506108e2612309565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c39333ab88858151811061091d57fe5b60200260200101516040518263ffffffff1660e01b81526004016109419190613053565b60a06040518083038186803b15801561095957600080fd5b505afa15801561096d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109919190612919565b905060006109c282600001516001600160801b03168460a001516001600160801b0316611c9190919063ffffffff16565b90508261010001516001600160a01b0316636f307dc36040518163ffffffff1660e01b815260040160206040518083038186803b158015610a0257600080fd5b505afa158015610a16573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a3a919061274b565b878581518110610a4657fe5b60200260200101906001600160a01b031690816001600160a01b03168152505080868581518110610a7357fe5b6020908102919091010152505050600101610818565b5050915091565b606082516001016001600160401b0381118015610aac57600080fd5b50604051908082528060200260200182016040528015610ad6578160200160208202803683370190505b50905060005b8351811015610b2557838181518110610af157fe5b6020026020010151828281518110610b0557fe5b6001600160a01b0390921660209283029190910190910152600101610adc565b508181845181518110610b3457fe5b60200260200101906001600160a01b031690816001600160a01b0316815250505b92915050565b606082516001016001600160401b0381118015610b7757600080fd5b50604051908082528060200260200182016040528015610ba1578160200160208202803683370190505b50905060005b8351811015610be357838181518110610bbc57fe5b6020026020010151828281518110610bd057fe5b6020908102919091010152600101610ba7565b508181845181518110610bf257fe5b60200260200101818152505092915050565b8051606090819060005b81811015610a895760007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316639cfb2ab0878481518110610c5357fe5b60200260200101516040518263ffffffff1660e01b8152600401610c779190613053565b6101a06040518083038186803b158015610c9057600080fd5b505afa158015610ca4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cc89190612937565b61012001519050610cd98582611cc3565b15610ce45750610d87565b6040516370a0823160e01b81526000906001600160a01b038316906370a0823190610d13903090600401612e9b565b60206040518083038186803b158015610d2b57600080fd5b505afa158015610d3f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d639190612993565b90508015610d8457610d758683610a90565b9550610d818582610b5b565b94505b50505b600101610c0e565b606080835160001415610da157610fc9565b6001805b8551811015610e21576000805b82811015610e0b57878181518110610dc657fe5b60200260200101516001600160a01b0316888481518110610de357fe5b60200260200101516001600160a01b03161415610e035760019150610e0b565b600101610db2565b5080610e18576001909201915b50600101610da5565b50806001600160401b0381118015610e3857600080fd5b50604051908082528060200260200182016040528015610e62578160200160208202803683370190505b509250806001600160401b0381118015610e7b57600080fd5b50604051908082528060200260200182016040528015610ea5578160200160208202803683370190505b5091506000805b8651811015610fc5576000805b83811015610f4457868181518110610ecd57fe5b60200260200101516001600160a01b0316898481518110610eea57fe5b60200260200101516001600160a01b03161415610f3c5760019150878381518110610f1157fe5b6020026020010151868281518110610f2557fe5b602002602001018181510191508181525050610f44565b600101610eb9565b5080610fbc57878281518110610f5657fe5b6020026020010151868481518110610f6a57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050868281518110610f9657fe5b6020026020010151858481518110610faa57fe5b60209081029190910101526001909201915b50600101610eac565b5050505b9250929050565b6000806000806000806000806060610fe6612309565b610fef8b611d19565b99509950995099509950995099509950995099506110b67f000000000000000000000000000000000000000000000000000000000000000082604001516001600160801b03168c6001600160a01b0316636f307dc36040518163ffffffff1660e01b815260040160206040518083038186803b15801561106e57600080fd5b505afa158015611082573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110a6919061274b565b6001600160a01b03169190611d64565b60405163113c22ab60e11b81526000906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690632278455690611117908e908e908e908e908e908e908e908e908e908e90600401612ec4565b602060405180830381600087803b15801561113157600080fd5b505af1158015611145573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111699190612975565b905061117660008c611e5e565b6111ee57600080546001810182558180527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630180546001600160a01b0319166001600160a01b038e1690811790915560405190917f6b3e0dcc57df05fef7e2c63274ec9b334d9fad324cedda20d168b66e6f487b4c91a25b6001805480820182556000918252600a8082047fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf601805462ffffff808716600394909506939093026101000a8481029302191691909117905560405190917f27652f622b1c2e924c22bbcd9793267e09bd9469ff3e1d1aef7baa7bb542727791a2505050505050505050505050565b6060611287610142565b805190915060609060005b81811015611363576113597f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316639cfb2ab08684815181106112d857fe5b60200260200101516040518263ffffffff1660e01b81526004016112fc9190613053565b6101a06040518083038186803b15801561131557600080fd5b505afa158015611329573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061134d9190612937565b61012001518490611eb6565b9250600101611292565b5061136e3383611ed8565b50505050565b60008061138083612033565b915091506000826001600160a01b0316634118ca7d6040518163ffffffff1660e01b815260040160206040518083038186803b1580156113bf57600080fd5b505afa1580156113d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113f7919061274b565b9050611401612236565b60405163d3ceafb960e01b81526001600160a01b0383169063d3ceafb99061142d908690600401613061565b6101a06040518083038186803b15801561144657600080fd5b505afa15801561145a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061147e9190612956565b602081015190915061149c6001600160a01b03821684600019611d64565b60405163278ecde160e01b81526001600160a01b0384169063278ecde1906114c8908790600401613061565b600060405180830381600087803b1580156114e257600080fd5b505af11580156114f6573d6000803e3d6000fd5b50611510925050506001600160a01b038216846000611d64565b505050505050565b600061152382612053565b905061152d61229f565b6040516309cfb2ab60e41b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690639cfb2ab090611579908590600401613053565b6101a06040518083038186803b15801561159257600080fd5b505afa1580156115a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115ca9190612937565b90506000816101200151905060008261010001516001600160a01b0316636f307dc36040518163ffffffff1660e01b815260040160206040518083038186803b15801561161657600080fd5b505afa15801561162a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061164e919061274b565b6040516362b4d47960e11b81529091506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c569a8f29061169d908790600401613053565b600060405180830381600087803b1580156116b757600080fd5b505af11580156116cb573d6000803e3d6000fd5b50506001549150600090505b81811015611951578562ffffff16600182815481106116f257fe5b90600052602060002090600a91828204019190066003029054906101000a900462ffffff1662ffffff161415611949576040516370a0823160e01b81526000906001600160a01b038616906370a0823190611751903090600401612e9b565b60206040518083038186803b15801561176957600080fd5b505afa15801561177d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117a19190612993565b905080156117bd576117bd6001600160a01b0386163383612071565b6040516370a0823160e01b81526000906001600160a01b038616906370a08231906117ec903090600401612e9b565b60206040518083038186803b15801561180457600080fd5b505afa158015611818573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061183c9190612993565b90508015611858576118586001600160a01b0386163383612071565b600184038310156118d65760018085038154811061187257fe5b90600052602060002090600a91828204019190066003029054906101000a900462ffffff16600184815481106118a457fe5b90600052602060002090600a91828204019190066003026101000a81548162ffffff021916908362ffffff1602179055505b60018054806118e157fe5b60019003818190600052602060002090600a91828204019190066003026101000a81549062ffffff021916905590558762ffffff167f5117ada9c4efa32749567ede1058300f17ca6204e7a5a68bac0dd615667af42660405160405180910390a25050611951565b6001016116d7565b50505050505050565b60008061196683612033565b915091506000829050806001600160a01b0316634118ca7d6040518163ffffffff1660e01b815260040160206040518083038186803b1580156119a857600080fd5b505afa1580156119bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119e0919061274b565b6001600160a01b0316632e1a7d4d836040518263ffffffff1660e01b8152600401611a0b9190613061565b602060405180830381600087803b158015611a2557600080fd5b505af1158015611a39573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a5d9190612993565b506000816001600160a01b0316636f307dc36040518163ffffffff1660e01b815260040160206040518083038186803b158015611a9957600080fd5b505afa158015611aad573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ad1919061274b565b90506000816001600160a01b03166370a08231306040518263ffffffff1660e01b8152600401611b019190612e9b565b60206040518083038186803b158015611b1957600080fd5b505afa158015611b2d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b519190612993565b90508015611510576115106001600160a01b0383163383612071565b600082820183811015611b925760405162461bcd60e51b815260040161037890612fd3565b9392505050565b8154600090815b81811015611c8957836001600160a01b0316858281548110611bbe57fe5b6000918252602090912001546001600160a01b03161415611c815760018203811015611c4c57846001830381548110611bf357fe5b9060005260206000200160009054906101000a90046001600160a01b0316858281548110611c1d57fe5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055505b84805480611c5657fe5b600082815260209020810160001990810180546001600160a01b031916905501905560019250611c89565b600101611ba0565b505092915050565b6000808211611cb25760405162461bcd60e51b815260040161037890612ff3565b818381611cbb57fe5b049392505050565b6000805b8351811015611d0f57838181518110611cdc57fe5b60200260200101516001600160a01b0316836001600160a01b03161415611d07576001915050610b55565b600101611cc7565b5060009392505050565b6000806000806000806000806060611d2f612309565b8a806020019051810190611d439190612769565b99509950995099509950995099509950995099509193959799509193959799565b801580611dec5750604051636eb1769f60e11b81526001600160a01b0384169063dd62ed3e90611d9a9030908690600401612ea9565b60206040518083038186803b158015611db257600080fd5b505afa158015611dc6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611dea9190612993565b155b611e085760405162461bcd60e51b815260040161037890613043565b6103818363095ea7b360e01b8484604051602401611e27929190612f60565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152612090565b8154600090815b81811015611eab57848181548110611e7957fe5b6000918252602090912001546001600160a01b0385811691161415611ea357600192505050610b55565b600101611e65565b506000949350505050565b6060611ec28383611cc3565b15611ece575081610b55565b611b928383610a90565b606081516001600160401b0381118015611ef157600080fd5b50604051908082528060200260200182016040528015611f1b578160200160208202803683370190505b50905060005b825181101561202c576000838281518110611f3857fe5b60200260200101519050806001600160a01b03166370a08231306040518263ffffffff1660e01b8152600401611f6e9190612e9b565b60206040518083038186803b158015611f8657600080fd5b505afa158015611f9a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fbe9190612993565b838381518110611fca57fe5b6020026020010181815250506000838381518110611fe457fe5b60200260200101511115612023576120238584848151811061200257fe5b6020026020010151836001600160a01b03166120719092919063ffffffff16565b50600101611f21565b5092915050565b6000808280602001905181019061204a9190612859565b91509150915091565b6000818060200190518101906120699190612975565b90505b919050565b6103818363a9059cbb60e01b8484604051602401611e27929190612f60565b60606120e5826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031661211f9092919063ffffffff16565b805190915015610381578080602001905181019061210391906128c7565b6103815760405162461bcd60e51b815260040161037890613033565b606061212e8484600085612136565b949350505050565b6060824710156121585760405162461bcd60e51b815260040161037890612fe3565b612161856121f7565b61217d5760405162461bcd60e51b815260040161037890613013565b60006060866001600160a01b0316858760405161219a9190612e8f565b60006040518083038185875af1925050503d80600081146121d7576040519150601f19603f3d011682016040523d82523d6000602084013e6121dc565b606091505b50915091506121ec8282866121fd565b979650505050505050565b3b151590565b6060831561220c575081611b92565b82511561221c5782518084602001fd5b8160405162461bcd60e51b81526004016103789190612fc2565b604080516101a081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052906101008201908152600060208201819052604082018190526060820181905260809091015290565b604080516101a081018252600080825260208201819052918101829052906060820190815260006020820181905260408201819052606082018190526080820181905260a0820181905260c0820181905260e0820181905261010082018190526101209091015290565b6040805160a08101825260008082526020820181905291810182905260608101829052608081019190915290565b8051610b5581613198565b600082601f83011261235357600080fd5b815161236661236182613095565b61306f565b9150818183526020840193506020810190508385602084028201111561238b57600080fd5b60005b838110156123b757816123a1888261272a565b845250602092830192919091019060010161238e565b5050505092915050565b8051610b55816131ac565b600082601f8301126123dd57600080fd5b81356123eb612361826130b5565b9150808252602083016020830185838301111561240757600080fd5b61241283828461314c565b50505092915050565b600082601f83011261242c57600080fd5b815161243a612361826130b5565b9150808252602083016020830185838301111561245657600080fd5b612412838284613158565b8051610b55816131b5565b600060a0828403121561247e57600080fd5b61248860a061306f565b905060006124968484612714565b82525060206124a784848301612714565b60208301525060406124bb84828501612714565b60408301525060606124cf84828501612740565b60608301525060806124e384828501612740565b60808301525092915050565b60006101a0828403121561250257600080fd5b61250d6101a061306f565b9050600061251b848461271f565b825250602061252c84848301612735565b602083015250604061254084828501612735565b604083015250606061255484828501612461565b606083015250608061256884828501612714565b60808301525060a061257c84828501612714565b60a08301525060c061259084828501612714565b60c08301525060e06125a484828501612714565b60e0830152506101006125b984828501612337565b610100830152506101206125cf84828501612337565b610120830152506101406125e584828501612337565b610140830152506101606125fb848285016123c1565b61016083015250610180612611848285016123c1565b6101808301525092915050565b60006101a0828403121561263157600080fd5b61263c6101a061306f565b9050600061264a8484612337565b825250602061265b84848301612337565b602083015250604061266f8482850161272a565b604083015250606061268384828501612714565b606083015250608061269784828501612714565b60808301525060a06126ab84828501612714565b60a08301525060c06126bf84828501612740565b60c08301525060e06126d384828501612740565b60e0830152506101006126e884828501612461565b610100830152506101206126fe848285016123c1565b610120830152506101406125e5848285016123c1565b8051610b55816131c2565b8051610b55816131cb565b8051610b55816131d4565b8051610b55816131dd565b8051610b55816131e6565b60006020828403121561275d57600080fd5b600061212e8484612337565b6000806000806000806000806000806101c08b8d03121561278957600080fd5b60006127958d8d612337565b9a505060206127a68d828e01612337565b99505060406127b78d828e01612714565b98505060606127c88d828e01612714565b97505060806127d98d828e01612735565b96505060a06127ea8d828e01612735565b95505060c06127fb8d828e016123c1565b94505060e061280c8d828e01612461565b9350506101008b01516001600160401b0381111561282957600080fd5b6128358d828e0161241b565b9250506101206128478d828e0161246c565b9150509295989b9194979a5092959850565b6000806040838503121561286c57600080fd5b60006128788585612337565b92505060206128898582860161272a565b9150509250929050565b6000602082840312156128a557600080fd5b81516001600160401b038111156128bb57600080fd5b61212e84828501612342565b6000602082840312156128d957600080fd5b600061212e84846123c1565b6000602082840312156128f757600080fd5b81356001600160401b0381111561290d57600080fd5b61212e848285016123cc565b600060a0828403121561292b57600080fd5b600061212e848461246c565b60006101a0828403121561294a57600080fd5b600061212e84846124ef565b60006101a0828403121561296957600080fd5b600061212e848461261e565b60006020828403121561298757600080fd5b600061212e848461271f565b6000602082840312156129a557600080fd5b600061212e848461272a565b600080604083850312156129c457600080fd5b60006129d0858561272a565b92505060208301516001600160401b038111156129ec57600080fd5b6128898582860161241b565b6000612a048383612a24565b505060200190565b6000612a048383612e6b565b6000612a048383612e74565b612a2d816130ef565b82525050565b6000612a3e826130e2565b612a4881856130e6565b9350612a53836130dc565b8060005b83811015612a81578151612a6b88826129f8565b9750612a76836130dc565b925050600101612a57565b509495945050505050565b6000612a97826130e2565b612aa181856130e6565b9350612aac836130dc565b8060005b83811015612a81578151612ac48882612a0c565b9750612acf836130dc565b925050600101612ab0565b6000612ae5826130e2565b612aef81856130e6565b9350612afa836130dc565b8060005b83811015612a81578151612b128882612a18565b9750612b1d836130dc565b925050600101612afe565b612a2d816130fa565b6000612b3c826130e2565b612b4681856130e6565b9350612b56818560208601613158565b612b5f81613184565b9093019392505050565b6000612b74826130e2565b612b7e818561206c565b9350612b8e818560208601613158565b9290920192915050565b612a2d81613141565b6000612bae601b836130e6565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000612be76026836130e6565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f8152651c8818d85b1b60d21b602082015260400192915050565b6000612c2f601a836130e6565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b6000612c686026836130e6565b7f7265636569766543616c6c46726f6d5661756c743a20496e76616c69642061638152651d1a5bdb925960d21b602082015260400192915050565b6000612cb0601d836130e6565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000815260200192915050565b6000612ce96057836130e6565b7f5f5f676574576974686472617761626c654173736574416d6f756e7473416e6481527f52656d6f766557697468647261776e566f7563686572733a207072652d6d617460208201527f7572652069737375656420766f756368657220736c6f74000000000000000000604082015260600192915050565b6000612d6e602a836130e6565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e8152691bdd081cdd58d8d9595960b21b602082015260400192915050565b6000612dba6036836130e6565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f81527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b602082015260400192915050565b805160a0830190612e168482612e62565b506020820151612e296020850182612e62565b506040820151612e3c6040850182612e62565b506060820151612e4f6060850182612e86565b50608082015161136e6080850182612e86565b612a2d81613109565b612a2d81613121565b612a2d81613129565b612a2d8161312c565b612a2d81613135565b6000611b928284612b69565b60208101610b558284612a24565b60408101612eb78285612a24565b611b926020830184612a24565b6101c08101612ed3828d612a24565b612ee0602083018c612a24565b612eed604083018b612e62565b612efa606083018a612e62565b612f076080830189612e7d565b612f1460a0830188612e7d565b612f2160c0830187612b28565b612f2e60e0830186612b98565b818103610100830152612f418185612b31565b9050612f51610120830184612e05565b9b9a5050505050505050505050565b60408101612f6e8285612a24565b611b926020830184612e74565b60208082528101611b928184612a33565b60408082528101612f9d8185612a33565b9050818103602083015261212e8184612ada565b60208082528101611b928184612a8c565b60208082528101611b928184612b31565b6020808252810161206981612ba1565b6020808252810161206981612bda565b6020808252810161206981612c22565b6020808252810161206981612c5b565b6020808252810161206981612ca3565b6020808252810161206981612cdc565b6020808252810161206981612d61565b6020808252810161206981612dad565b60208101610b558284612e6b565b60208101610b558284612e74565b6040518181016001600160401b038111828210171561308d57600080fd5b604052919050565b60006001600160401b038211156130ab57600080fd5b5060209081020190565b60006001600160401b038211156130cb57600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b600061206982613115565b151590565b8061206c8161318e565b6001600160801b031690565b6001600160a01b031690565b62ffffff1690565b90565b63ffffffff1690565b6001600160401b031690565b6000612069826130ff565b82818337506000910152565b60005b8381101561317357818101518382015260200161315b565b8381111561136e5750506000910152565b601f01601f191690565b600281106101c357fe5b6131a1816130ef565b81146101c357600080fd5b6131a1816130fa565b600281106101c357600080fd5b6131a181613109565b6131a181613121565b6131a181613129565b6131a18161312c565b6131a18161313556fea164736f6c634300060c000a", - "sourceMap": "1178:13902:128:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14755:116;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14972:106;;;:::i;:::-;;;;;;;:::i;1917:48::-;;;;;;:::i;:::-;;:::i;:::-;;8726:1378;;;:::i;:::-;;;;;;;;:::i;2093:771::-;;;;;;:::i;:::-;;:::i;8051:176::-;;;:::i;14755:116::-;14805:26;14850:14;14843:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;14843:21:128;;;;;;;;;;;;;;;;;;;;;;;14755:116;:::o;14972:106::-;15023:23;15065:6;15058:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14972:106;:::o;1917:48::-;;:::o;8726:1378::-;8805:24;8831:25;8872;8900:11;:9;:11::i;:::-;8872:39;;9032:57;:55;:57::i;:::-;9010:79;;-1:-1:-1;9010:79:128;-1:-1:-1;9181:33:128;;9275:39;9304:9;9275:28;:39::i;:::-;9357:23;;9167:147;;-1:-1:-1;9167:147:128;-1:-1:-1;9324:30:128;9390:183;9410:22;9406:1;:26;9390:183;;;9463:36;9479:16;9496:1;9479:19;;;;;;;;;;;;;;9463:7;:15;;:36;;;;:::i;:::-;9453:46;;9524:38;9541:17;9559:1;9541:20;;;;;;;;;;;;;;9524:8;:16;;:38;;;;:::i;:::-;9513:49;-1:-1:-1;9434:3:128;;9390:183;;;;9674:27;9715:33;9761:42;9793:9;9761:31;:42::i;:::-;9841:17;;9660:143;;-1:-1:-1;9660:143:128;-1:-1:-1;9814:24:128;9868:170;9888:16;9884:1;:20;9868:170;;;9935:30;9951:10;9962:1;9951:13;;;;;;;;;;;;;;9935:7;:15;;:30;;;;:::i;:::-;9925:40;;9990:37;10007:16;10024:1;10007:19;;;;;;;;;;;;;;9990:8;:16;;:37;;;;:::i;:::-;9979:48;-1:-1:-1;9906:3:128;;9868:170;;;;10055:42;10079:7;10088:8;10055:23;:42::i;:::-;10048:49;;;;;;;;;;;8726:1378;;:::o;2093:771::-;2178:16;2196:23;2234:11;2223:41;;;;;;;;;;;;:::i;:::-;2177:87;;-1:-1:-1;2177:87:128;-1:-1:-1;2279:40:128;2275:583;;2335:31;2355:10;2335:19;:31::i;:::-;2275:583;;;2407:17;2387:8;:38;2383:475;;;2441:19;:17;:19::i;2383:475::-;2501:14;2481:8;:35;2477:381;;;2532:26;2547:10;2532:14;:26::i;2477:381::-;2599:19;2579:8;:40;2575:283;;;2635:31;2655:10;2635:19;:31::i;2575:283::-;2707:16;2687:8;:37;2683:175;;;2740:28;2757:10;2740:16;:28::i;2683:175::-;2799:48;;-1:-1:-1;;;2799:48:128;;;;;;;:::i;:::-;;;;;;;;2683:175;2093:771;;;:::o;8051:176::-;8127:24;8153:25;8051:176;:::o;12417:2154::-;12517:24;12543:25;12584:28;12615:19;:17;:19::i;:::-;12669:18;;12584:50;;-1:-1:-1;12644:22:128;12698:1831;12718:14;12714:1;:18;12698:1831;;;12753:23;12779:7;:14;12753:40;;12808:35;12898:11;12910:1;12898:14;;;;;;;;;;;;;;-1:-1:-1;;;;;12879:43:128;;:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12808:130;;12952:22;12977:19;-1:-1:-1;;;;;12977:34:128;;13020:4;12977:49;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;12977:49:128;;;;;;;;;;;;:::i;:::-;12952:74;;13041:30;13091:9;13086:774;13106:5;:12;13102:1;:16;13086:774;;;13143:44;;:::i;:::-;13209:11;13221:1;13209:14;;;;;;;;;;;;;;-1:-1:-1;;;;;13190:69:128;;13260:5;13266:1;13260:8;;;;;;;;;;;;;;13190:79;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13143:126;;13438:10;:19;;;-1:-1:-1;;;;;13419:38:128;:15;:38;;13390:196;;;;-1:-1:-1;;;13390:196:128;;;;;;;:::i;:::-;13604:27;13634:19;-1:-1:-1;;;;;13634:41:128;;13676:5;13682:1;13676:8;;;;;;;;;;;;;;13634:51;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13604:81;-1:-1:-1;13708:23:128;;13704:142;;13780:47;:22;13807:19;13780:26;:47::i;:::-;13755:72;;13704:142;-1:-1:-1;;13120:3:128;;13086:774;;;-1:-1:-1;13878:26:128;;13874:208;;13934:64;13969:11;13981:1;13969:14;;;;;;;;;;;;;;-1:-1:-1;;;;;13950:45:128;;:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13934:7;;:15;:64::i;:::-;13924:74;-1:-1:-1;14027:40:128;:8;14044:22;14027:16;:40::i;:::-;14016:51;;13874:208;14299:15;14281:7;:14;:33;14277:242;;;14396:48;14429:11;14441:1;14429:14;;;;;;;;;;;;;;14396;:32;;:48;;;;:::i;:::-;;14489:11;14501:1;14489:14;;;;;;;;;;;;;;-1:-1:-1;;;;;14468:36:128;;;;;;;;;;;14277:242;-1:-1:-1;;12734:3:128;;;;;-1:-1:-1;12698:1831:128;;-1:-1:-1;12698:1831:128;;;14538:26;;12417:2154;;:::o;10198:1010::-;10402:14;;10307:29;;;;10402:14;-1:-1:-1;;;;;10442:27:128;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10442:27:128;;10427:42;;10504:12;-1:-1:-1;;;;;10490:27:128;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10490:27:128;;10479:38;;10533:9;10528:632;10548:12;10544:1;:16;10528:632;;;10581:80;;:::i;:::-;10664:37;-1:-1:-1;;;;;10664:47:128;;10712:7;10720:1;10712:10;;;;;;;;;;;;;;10664:59;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10581:142;;10738:91;;:::i;:::-;10832:37;-1:-1:-1;;;;;10832:52:128;;10906:7;10914:1;10906:10;;;;;;;;;;;;;;10832:102;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10738:196;;10949:20;10972:55;11000:14;:26;;;-1:-1:-1;;;;;10972:55:128;10980:8;:14;;;-1:-1:-1;;;;;10972:23:128;:27;;:55;;;;:::i;:::-;10949:78;;11079:8;:16;;;-1:-1:-1;;;;;11060:47:128;;:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11042:12;11055:1;11042:15;;;;;;;;;;;;;:67;-1:-1:-1;;;;;11042:67:128;;;-1:-1:-1;;;;;11042:67:128;;;;;11137:12;11123:8;11132:1;11123:11;;;;;;;;;;;;;;;;;:26;-1:-1:-1;;;10562:3:128;;10528:632;;;;11170:31;10198:1010;;;:::o;1668:374:354:-;1776:27;1846:5;:12;1861:1;1846:16;-1:-1:-1;;;;;1832:31:354;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1832:31:354;;1819:44;;1878:9;1873:88;1893:5;:12;1889:1;:16;1873:88;;;1942:5;1948:1;1942:8;;;;;;;;;;;;;;1926:10;1937:1;1926:13;;;;;;;;-1:-1:-1;;;;;1926:24:354;;;:13;;;;;;;;;;;:24;1907:3;;1873:88;;;;1997:10;1970;1981:5;:12;1970:24;;;;;;;;;;;;;:37;-1:-1:-1;;;;;1970:37:354;;;-1:-1:-1;;;;;1970:37:354;;;;;1668:374;;;;;:::o;::363:-;1776:27;1846:5;:12;1861:1;1846:16;-1:-1:-1;;;;;1832:31:363;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1832:31:363;;1819:44;;1878:9;1873:88;1893:5;:12;1889:1;:16;1873:88;;;1942:5;1948:1;1942:8;;;;;;;;;;;;;;1926:10;1937:1;1926:13;;;;;;;;;;;;;;;;;:24;1907:3;;1873:88;;;;1997:10;1970;1981:5;:12;1970:24;;;;;;;;;;;;;:37;;;;;1668:374;;;;:::o;11323:857:128:-;11530:14;;11435:28;;;;11507:20;11555:577;11575:12;11571:1;:16;11555:577;;;11608:16;11627:37;-1:-1:-1;;;;;11627:64:128;;11692:7;11700:1;11692:10;;;;;;;;;;;;;;11627:76;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:102;;;;-1:-1:-1;11815:30:128;:11;11627:102;11815:20;:30::i;:::-;11811:77;;;11865:8;;;11811:77;11919:40;;-1:-1:-1;;;11919:40:128;;11901:15;;-1:-1:-1;;;;;11919:25:128;;;;;:40;;11953:4;;11919:40;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11901:58;-1:-1:-1;11977:11:128;;11973:149;;12022:29;:11;12042:8;12022:19;:29::i;:::-;12008:43;-1:-1:-1;12081:26:128;:9;12099:7;12081:17;:26::i;:::-;12069:38;;11973:149;11555:577;;;11589:3;;11555:577;;749:1574:355;888:34;924:35;979:10;:17;1000:1;979:22;975:99;;;1017:46;;975:99;1115:1;;1126:361;1150:10;:17;1146:1;:21;1126:361;;;1188:13;1220:9;1215:179;1235:1;1231;:5;1215:179;;;1282:10;1293:1;1282:13;;;;;;;;;;;;;;-1:-1:-1;;;;;1265:30:355;:10;1276:1;1265:13;;;;;;;;;;;;;;-1:-1:-1;;;;;1265:30:355;;1261:119;;;1330:4;1319:15;;1356:5;;1261:119;1238:3;;1215:179;;;;1412:8;1407:70;;1440:22;;;;;1407:70;-1:-1:-1;1169:3:355;;1126:361;;;;1531:20;-1:-1:-1;;;;;1517:35:355;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1517:35:355;;1497:55;;1597:20;-1:-1:-1;;;;;1583:35:355;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1583:35:355;;1562:56;;1628:28;1671:9;1666:594;1686:10;:17;1682:1;:21;1666:594;;;1724:13;1756:9;1751:268;1771:20;1767:1;:24;1751:268;;;1837:17;1855:1;1837:20;;;;;;;;;;;;;;-1:-1:-1;;;;;1820:37:355;:10;1831:1;1820:13;;;;;;;;;;;;;;-1:-1:-1;;;;;1820:37:355;;1816:189;;;1892:4;1881:15;;1944:11;1956:1;1944:14;;;;;;;;;;;;;;1919:18;1938:1;1919:21;;;;;;;;;;;;;:39;;;;;;;;;;;1981:5;;1816:189;1793:3;;1751:268;;;;2037:8;2032:218;;2107:10;2118:1;2107:13;;;;;;;;;;;;;;2065:17;2083:20;2065:39;;;;;;;;;;;;;:55;-1:-1:-1;;;;;2065:55:355;;;-1:-1:-1;;;;;2065:55:355;;;;;2181:11;2193:1;2181:14;;;;;;;;;;;;;;2138:18;2157:20;2138:40;;;;;;;;;;;;;;;;;:57;2213:22;;;;;2032:218;-1:-1:-1;1705:3:355;;1666:594;;;;2270:46;;749:1574;;;;;;:::o;2928:1237:128:-;3015:15;3044:16;3074:11;3099;3124:16;3154:14;3182:17;3213:59;3286:22;3322:74;;:::i;:::-;3409:42;3439:11;3409:29;:42::i;:::-;3001:450;;;;;;;;;;;;;;;;;;;;3462:170;3543:37;3595:13;:27;;;-1:-1:-1;;;;;3462:170:128;3487:7;-1:-1:-1;;;;;3468:38:128;;:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;3462:59:128;;:170;:59;:170::i;:::-;3660:273;;-1:-1:-1;;;3660:273:128;;3643:14;;-1:-1:-1;;;;;3660:37:128;:43;;;;:273;;3717:7;;3738:8;;3760:3;;3777;;3794:9;;3817:7;;3838:12;;3864:9;;3887;;3910:13;;3660:273;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3643:290;-1:-1:-1;3949:44:128;:14;3985:7;3949:35;:44::i;:::-;3944:150;;4009:14;:28;;;;;;;;;;;;;;-1:-1:-1;;;;;;4009:28:128;-1:-1:-1;;;;;4009:28:128;;;;;;;;4056:27;;4009:28;;4056:27;;;3944:150;4104:6;:20;;;;;;;-1:-1:-1;4104:20:128;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4139:19;;4104:20;;4139:19;;;2928:1237;;;;;;;;;;;;:::o;4226:567::-;4273:25;4301:11;:9;:11::i;:::-;4470:16;;4273:39;;-1:-1:-1;4400:37:128;;4447:20;4496:223;4516:12;4512:1;:16;4496:223;;;4572:136;4624:37;-1:-1:-1;;;;;4624:47:128;;4672:9;4682:1;4672:12;;;;;;;;;;;;;;4624:61;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:70;;;4572:20;;:34;:136::i;:::-;4549:159;-1:-1:-1;4530:3:128;;4496:223;;;;4729:57;4753:10;4765:20;4729:23;:57::i;:::-;;4226:567;;;:::o;4844:632::-;4913:15;4930:14;4948:37;4973:11;4948:24;:37::i;:::-;4912:73;;;;4995:35;5081:7;-1:-1:-1;;;;;5062:36:128;;:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4995:115;;5121:44;;:::i;:::-;5168:41;;-1:-1:-1;;;5168:41:128;;-1:-1:-1;;;;;5168:33:128;;;;;:41;;5202:6;;5168:41;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5248:23;;;;5121:88;;-1:-1:-1;5283:74:128;-1:-1:-1;;;;;5283:25:128;;5317:19;-1:-1:-1;;5283:25:128;:74::i;:::-;5367:34;;-1:-1:-1;;;5367:34:128;;-1:-1:-1;;;;;5367:26:128;;;;;:34;;5394:6;;5367:34;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5411:58:128;;-1:-1:-1;;;;;;;;5411:25:128;;5445:19;5467:1;5411:25;:58::i;:::-;4844:632;;;;;;:::o;5519:1623::-;5592:14;5609:42;5639:11;5609:29;:42::i;:::-;5592:59;;5712:73;;:::i;:::-;5788:56;;-1:-1:-1;;;5788:56:128;;-1:-1:-1;;;;;5788:37:128;:47;;;;:56;;5836:7;;5788:56;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5712:132;;5855:19;5883:5;:14;;;5855:43;;5908:21;5957:5;:13;;;-1:-1:-1;;;;;5938:44:128;;:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5996:53;;-1:-1:-1;;;5996:53:128;;5908:77;;-1:-1:-1;;;;;;5996:37:128;:44;;;;:53;;6041:7;;5996:53;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6083:6:128;:13;;-1:-1:-1;6060:20:128;;-1:-1:-1;6159:977:128;6179:12;6175:1;:16;6159:977;;;6229:7;6216:20;;:6;6223:1;6216:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:20;;;6212:914;;;6360:38;;-1:-1:-1;;;6360:38:128;;6334:23;;-1:-1:-1;;;;;6360:23:128;;;;;:38;;6392:4;;6360:38;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6334:64;-1:-1:-1;6420:19:128;;6416:121;;6463:55;-1:-1:-1;;;;;6463:26:128;;6490:10;6502:15;6463:26;:55::i;:::-;6662:40;;-1:-1:-1;;;6662:40:128;;6634:25;;-1:-1:-1;;;;;6662:25:128;;;;;:40;;6696:4;;6662:40;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6634:68;-1:-1:-1;6724:21:128;;6720:127;;6769:59;-1:-1:-1;;;;;6769:28:128;;6798:10;6810:17;6769:28;:59::i;:::-;6933:1;6918:12;:16;6914:1;:20;6910:103;;;6970:6;6992:1;6977:12;:16;6970:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6958:6;6965:1;6958:9;;;;;;;;;;;;;;;;;;;;;;;;;;:36;;;;;;;;;;;;;;;;;;6910:103;7030:6;:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7079:7;7066:21;;;;;;;;;;;;7106:5;;;;6212:914;6193:3;;6159:977;;;;5519:1623;;;;;;:::o;7239:566::-;7310:15;7327:14;7345:39;7372:11;7345:26;:39::i;:::-;7309:75;;;;7395:34;7451:7;7395:64;;7485:15;-1:-1:-1;;;;;7485:24:128;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;7469:52:128;;7522:6;7469:60;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;7540:21;7570:15;-1:-1:-1;;;;;7570:26:128;;:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7540:59;;7609:25;7637:15;-1:-1:-1;;;;;7637:25:128;;7671:4;7637:40;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7609:68;-1:-1:-1;7692:21:128;;7688:111;;7729:59;-1:-1:-1;;;;;7729:28:128;;7758:10;7770:17;7729:28;:59::i;2690:175:442:-;2748:7;2779:5;;;2802:6;;;;2794:46;;;;-1:-1:-1;;;2794:46:442;;;;;;;:::i;:::-;2857:1;2690:175;-1:-1:-1;;;2690:175:442:o;569:515:354:-;727:12;;678:13;;;749:303;769:9;765:1;:13;749:303;;;815:13;-1:-1:-1;;;;;803:25:354;:5;809:1;803:8;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;803:8:354;:25;799:243;;;868:1;856:9;:13;852:1;:17;848:95;;;904:5;922:1;910:9;:13;904:20;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;904:20:354;893:5;899:1;893:8;;;;;;;;;;;;;;;;:31;;;;;-1:-1:-1;;;;;893:31:354;;;;;-1:-1:-1;;;;;893:31:354;;;;;;848:95;960:5;:11;;;;;;;;;;;;;;;;-1:-1:-1;;960:11:354;;;;;-1:-1:-1;;;;;;960:11:354;;;;;;;;-1:-1:-1;1022:5:354;;799:243;780:3;;749:303;;;;1062:15;569:515;;;;:::o;4217:150:442:-;4275:7;4306:1;4302;:5;4294:44;;;;-1:-1:-1;;;4294:44:442;;;;;;;:::i;:::-;4359:1;4355;:5;;;;;;;4217:150;-1:-1:-1;;;4217:150:442:o;2489:299:354:-;2595:17;2633:9;2628:132;2648:5;:12;2644:1;:16;2628:132;;;2696:5;2702:1;2696:8;;;;;;;;;;;;;;-1:-1:-1;;;;;2685:19:354;:7;-1:-1:-1;;;;;2685:19:354;;2681:69;;;2731:4;2724:11;;;;;2681:69;2662:3;;2628:132;;;-1:-1:-1;2776:5:354;;2489:299;-1:-1:-1;;;2489:299:354:o;723:1038:127:-;848:16;878:17;909:12;935;961:17;992:15;1021:18;1053:60;1127:22;1163:75;;:::i;:::-;1312:11;1284:460;;;;;;;;;;;;:::i;:::-;1263:491;;;;;;;;;;;;;;;;;;;;723:1038;;;;;;;;;;;:::o;1348:613:450:-;1713:10;;;1712:62;;-1:-1:-1;1729:39:450;;-1:-1:-1;;;1729:39:450;;-1:-1:-1;;;;;1729:15:450;;;;;:39;;1753:4;;1760:7;;1729:39;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:44;1712:62;1704:150;;;;-1:-1:-1;;;1704:150:450;;;;;;;:::i;:::-;1864:90;1884:5;1914:22;;;1938:7;1947:5;1891:62;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;1891:62:450;;;;;;;;;;;;;;-1:-1:-1;;;;;1891:62:450;-1:-1:-1;;;;;;1891:62:450;;;;;;;;;;1864:19;:90::i;1167:351:354:-;1339:12;;1286:17;;;1361:129;1381:9;1377:1;:13;1361:129;;;1426:5;1432:1;1426:8;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1415:19:354;;;1426:8;;1415:19;1411:69;;;1461:4;1454:11;;;;;;1411:69;1392:3;;1361:129;;;-1:-1:-1;1506:5:354;;1167:351;-1:-1:-1;;;;1167:351:354:o;2136:277::-;2250:27;2297;2306:5;2313:10;2297:8;:27::i;:::-;2293:70;;;-1:-1:-1;2347:5:354;2340:12;;2293:70;2380:26;2388:5;2395:10;2380:7;:26::i;3539:585:355:-;3649:36;3737:7;:14;-1:-1:-1;;;;;3723:29:355;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3723:29:355;;3701:51;;3767:9;3762:319;3782:7;:14;3778:1;:18;3762:319;;;3817:19;3845:7;3853:1;3845:10;;;;;;;;;;;;;;3817:39;;3895:13;-1:-1:-1;;;;;3895:23:355;;3927:4;3895:38;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3870:19;3890:1;3870:22;;;;;;;;;;;;;:63;;;;;3976:1;3951:19;3971:1;3951:22;;;;;;;;;;;;;;:26;3947:124;;;3997:59;4024:7;4033:19;4053:1;4033:22;;;;;;;;;;;;;;3997:13;-1:-1:-1;;;;;3997:26:355;;;:59;;;;;:::i;:::-;-1:-1:-1;3798:3:355;;3762:319;;;;3539:585;;;;:::o;1832:215:127:-;1939:16;1957:15;2007:11;1996:43;;;;;;;;;;;;:::i;:::-;1988:52;;;;1832:215;;;:::o;2123:192::-;2235:15;2285:11;2274:33;;;;;;;;;;;;:::i;:::-;2266:42;;2123:192;;;;:::o;704:175:450:-;786:86;806:5;836:23;;;861:2;865:5;813:58;;;;;;;;;:::i;2967:751::-;3386:23;3412:69;3440:4;3412:69;;;;;;;;;;;;;;;;;3420:5;-1:-1:-1;;;;;3412:27:450;;;:69;;;;;:::i;:::-;3495:17;;3386:95;;-1:-1:-1;3495:21:450;3491:221;;3635:10;3624:30;;;;;;;;;;;;:::i;:::-;3616:85;;;;-1:-1:-1;;;3616:85:450;;;;;;;:::i;3581:193:451:-;3684:12;3715:52;3737:6;3745:4;3751:1;3754:12;3715:21;:52::i;:::-;3708:59;3581:193;-1:-1:-1;;;;3581:193:451:o;4608:523::-;4735:12;4792:5;4767:21;:30;;4759:81;;;;-1:-1:-1;;;4759:81:451;;;;;;;:::i;:::-;4858:18;4869:6;4858:10;:18::i;:::-;4850:60;;;;-1:-1:-1;;;4850:60:451;;;;;;;:::i;:::-;4981:12;4995:23;5022:6;-1:-1:-1;;;;;5022:11:451;5042:5;5050:4;5022:33;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4980:75;;;;5072:52;5090:7;5099:10;5111:12;5072:17;:52::i;:::-;5065:59;4608:523;-1:-1:-1;;;;;;;4608:523:451:o;726:413::-;1086:20;1124:8;;;726:413::o;7091:725::-;7206:12;7234:7;7230:580;;;-1:-1:-1;7264:10:451;7257:17;;7230:580;7375:17;;:21;7371:429;;7633:10;7627:17;7693:15;7680:10;7676:2;7672:19;7665:44;7582:145;7772:12;7765:20;;-1:-1:-1;;;7765:20:451;;;;;;;;:::i;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5:134::-;83:13;;101:33;83:13;101:33;:::i;321:722::-;;449:3;442:4;434:6;430:17;426:27;416:2;;467:1;464;457:12;416:2;497:6;491:13;519:80;534:64;591:6;534:64;:::i;:::-;519:80;:::i;:::-;510:89;;616:5;641:6;634:5;627:21;671:4;663:6;659:17;649:27;;693:4;688:3;684:14;677:21;;746:6;793:3;785:4;777:6;773:17;768:3;764:27;761:36;758:2;;;810:1;807;800:12;758:2;835:1;820:217;845:6;842:1;839:13;820:217;;;903:3;925:48;969:3;957:10;925:48;:::i;:::-;913:61;;-1:-1;997:4;988:14;;;;1016;;;;;867:1;860:9;820:217;;;824:14;409:634;;;;;;;:::o;1051:128::-;1126:13;;1144:30;1126:13;1144:30;:::i;1187:440::-;;1288:3;1281:4;1273:6;1269:17;1265:27;1255:2;;1306:1;1303;1296:12;1255:2;1343:6;1330:20;1365:64;1380:48;1421:6;1380:48;:::i;1365:64::-;1356:73;;1449:6;1442:5;1435:21;1485:4;1477:6;1473:17;1518:4;1511:5;1507:16;1553:3;1544:6;1539:3;1535:16;1532:25;1529:2;;;1570:1;1567;1560:12;1529:2;1580:41;1614:6;1609:3;1604;1580:41;:::i;:::-;1248:379;;;;;;;:::o;1636:442::-;;1748:3;1741:4;1733:6;1729:17;1725:27;1715:2;;1766:1;1763;1756:12;1715:2;1796:6;1790:13;1818:64;1833:48;1874:6;1833:48;:::i;1818:64::-;1809:73;;1902:6;1895:5;1888:21;1938:4;1930:6;1926:17;1971:4;1964:5;1960:16;2006:3;1997:6;1992:3;1988:16;1985:25;1982:2;;;2023:1;2020;2013:12;1982:2;2033:39;2065:6;2060:3;2055;2033:39;:::i;2086:174::-;2184:13;;2202:53;2184:13;2202:53;:::i;2505:1008::-;;2637:4;2625:9;2620:3;2616:19;2612:30;2609:2;;;2655:1;2652;2645:12;2609:2;2673:20;2688:4;2673:20;:::i;:::-;2664:29;-1:-1;2750:1;2782:60;2838:3;2818:9;2782:60;:::i;:::-;2757:86;;-1:-1;2912:2;2945:60;3001:3;2977:22;;;2945:60;:::i;:::-;2938:4;2931:5;2927:16;2920:86;2864:153;3076:2;3109:60;3165:3;3156:6;3145:9;3141:22;3109:60;:::i;:::-;3102:4;3095:5;3091:16;3084:86;3027:154;3240:2;3273:59;3328:3;3319:6;3308:9;3304:22;3273:59;:::i;:::-;3266:4;3259:5;3255:16;3248:85;3191:153;3398:3;3432:59;3487:3;3478:6;3467:9;3463:22;3432:59;:::i;:::-;3425:4;3418:5;3414:16;3407:85;3354:149;2603:910;;;;:::o;3582:2280::-;;3709:6;3697:9;3692:3;3688:19;3684:32;3681:2;;;3729:1;3726;3719:12;3681:2;3747:22;3762:6;3747:22;:::i;:::-;3738:31;-1:-1;3825:1;3857:59;3912:3;3892:9;3857:59;:::i;:::-;3832:85;;-1:-1;3983:2;4016:59;4071:3;4047:22;;;4016:59;:::i;:::-;4009:4;4002:5;3998:16;3991:85;3938:149;4140:2;4173:59;4228:3;4219:6;4208:9;4204:22;4173:59;:::i;:::-;4166:4;4159:5;4155:16;4148:85;4097:147;4299:2;4332:75;4403:3;4394:6;4383:9;4379:22;4332:75;:::i;:::-;4325:4;4318:5;4314:16;4307:101;4254:165;4475:3;4509:60;4565:3;4556:6;4545:9;4541:22;4509:60;:::i;:::-;4502:4;4495:5;4491:16;4484:86;4429:152;4632:3;4666:60;4722:3;4713:6;4702:9;4698:22;4666:60;:::i;:::-;4659:4;4652:5;4648:16;4641:86;4591:147;4787:3;4821:60;4877:3;4868:6;4857:9;4853:22;4821:60;:::i;:::-;4814:4;4807:5;4803:16;4796:86;4748:145;4942:3;4976:60;5032:3;5023:6;5012:9;5008:22;4976:60;:::i;:::-;4969:4;4962:5;4958:16;4951:86;4903:145;5101:3;5137:60;5193:3;5184:6;5173:9;5169:22;5137:60;:::i;:::-;5128:6;5121:5;5117:18;5110:88;5058:151;5263:3;5299:60;5355:3;5346:6;5335:9;5331:22;5299:60;:::i;:::-;5290:6;5283:5;5279:18;5272:88;5219:152;5423:3;5459:60;5515:3;5506:6;5495:9;5491:22;5459:60;:::i;:::-;5450:6;5443:5;5439:18;5432:88;5381:150;5589:3;5625:57;5678:3;5669:6;5658:9;5654:22;5625:57;:::i;:::-;5616:6;5609:5;5605:18;5598:85;5541:153;5747:3;5783:57;5836:3;5827:6;5816:9;5812:22;5783:57;:::i;:::-;5774:6;5767:5;5763:18;5756:85;5704:148;3675:2187;;;;:::o;5909:2332::-;;6038:6;6026:9;6021:3;6017:19;6013:32;6010:2;;;6058:1;6055;6048:12;6010:2;6076:22;6091:6;6076:22;:::i;:::-;6067:31;-1:-1;6150:1;6182:60;6238:3;6218:9;6182:60;:::i;:::-;6157:86;;-1:-1;6312:2;6345:60;6401:3;6377:22;;;6345:60;:::i;:::-;6338:4;6331:5;6327:16;6320:86;6264:153;6473:2;6506:60;6562:3;6553:6;6542:9;6538:22;6506:60;:::i;:::-;6499:4;6492:5;6488:16;6481:86;6427:151;6635:2;6668:60;6724:3;6715:6;6704:9;6700:22;6668:60;:::i;:::-;6661:4;6654:5;6650:16;6643:86;6588:152;6798:3;6832:60;6888:3;6879:6;6868:9;6864:22;6832:60;:::i;:::-;6825:4;6818:5;6814:16;6807:86;6750:154;6961:3;6995:60;7051:3;7042:6;7031:9;7027:22;6995:60;:::i;:::-;6988:4;6981:5;6977:16;6970:86;6914:153;7126:3;7160:59;7215:3;7206:6;7195:9;7191:22;7160:59;:::i;:::-;7153:4;7146:5;7142:16;7135:85;7077:154;7285:3;7319:59;7374:3;7365:6;7354:9;7350:22;7319:59;:::i;:::-;7312:4;7305:5;7301:16;7294:85;7241:149;7450:3;7486:80;7562:3;7553:6;7542:9;7538:22;7486:80;:::i;:::-;7477:6;7470:5;7466:18;7459:108;7400:178;7640:3;7676:57;7729:3;7720:6;7709:9;7705:22;7676:57;:::i;:::-;7667:6;7660:5;7656:18;7649:85;7588:157;7808:3;7844:57;7897:3;7888:6;7877:9;7873:22;7844:57;:::i;8248:134::-;8326:13;;8344:33;8326:13;8344:33;:::i;8389:132::-;8466:13;;8484:32;8466:13;8484:32;:::i;8528:134::-;8606:13;;8624:33;8606:13;8624:33;:::i;8669:132::-;8746:13;;8764:32;8746:13;8764:32;:::i;8808:132::-;8885:13;;8903:32;8885:13;8903:32;:::i;8947:263::-;;9062:2;9050:9;9041:7;9037:23;9033:32;9030:2;;;9078:1;9075;9068:12;9030:2;9113:1;9130:64;9186:7;9166:9;9130:64;:::i;9217:1707::-;;;;;;;;;;;9552:3;9540:9;9531:7;9527:23;9523:33;9520:2;;;9569:1;9566;9559:12;9520:2;9604:1;9621:72;9685:7;9665:9;9621:72;:::i;:::-;9611:82;;9583:116;9730:2;9748:72;9812:7;9803:6;9792:9;9788:22;9748:72;:::i;:::-;9738:82;;9709:117;9857:2;9875:64;9931:7;9922:6;9911:9;9907:22;9875:64;:::i;:::-;9865:74;;9836:109;9976:2;9994:64;10050:7;10041:6;10030:9;10026:22;9994:64;:::i;:::-;9984:74;;9955:109;10095:3;10114:63;10169:7;10160:6;10149:9;10145:22;10114:63;:::i;:::-;10104:73;;10074:109;10214:3;10233:63;10288:7;10279:6;10268:9;10264:22;10233:63;:::i;:::-;10223:73;;10193:109;10333:3;10352:61;10405:7;10396:6;10385:9;10381:22;10352:61;:::i;:::-;10342:71;;10312:107;10450:3;10469:79;10540:7;10531:6;10520:9;10516:22;10469:79;:::i;:::-;10459:89;;10429:125;10606:3;10595:9;10591:19;10585:26;-1:-1;;;;;10623:6;10620:30;10617:2;;;10663:1;10660;10653:12;10617:2;10683:73;10748:7;10739:6;10728:9;10724:22;10683:73;:::i;:::-;10673:83;;10564:198;10793:3;10812:96;10900:7;10891:6;10880:9;10876:22;10812:96;:::i;:::-;10802:106;;10772:142;9514:1410;;;;;;;;;;;;;:::o;10931:415::-;;;11071:2;11059:9;11050:7;11046:23;11042:32;11039:2;;;11087:1;11084;11077:12;11039:2;11122:1;11139:72;11203:7;11183:9;11139:72;:::i;:::-;11129:82;;11101:116;11248:2;11266:64;11322:7;11313:6;11302:9;11298:22;11266:64;:::i;:::-;11256:74;;11227:109;11033:313;;;;;:::o;11353:392::-;;11493:2;11481:9;11472:7;11468:23;11464:32;11461:2;;;11509:1;11506;11499:12;11461:2;11544:24;;-1:-1;;;;;11577:30;;11574:2;;;11620:1;11617;11610:12;11574:2;11640:89;11721:7;11712:6;11701:9;11697:22;11640:89;:::i;11752:257::-;;11864:2;11852:9;11843:7;11839:23;11835:32;11832:2;;;11880:1;11877;11870:12;11832:2;11915:1;11932:61;11985:7;11965:9;11932:61;:::i;12016:345::-;;12129:2;12117:9;12108:7;12104:23;12100:32;12097:2;;;12145:1;12142;12135:12;12097:2;12180:31;;-1:-1;;;;;12220:30;;12217:2;;;12263:1;12260;12253:12;12217:2;12283:62;12337:7;12328:6;12317:9;12313:22;12283:62;:::i;12368:328::-;;12515:3;12503:9;12494:7;12490:23;12486:33;12483:2;;;12532:1;12529;12522:12;12483:2;12567:1;12584:96;12672:7;12652:9;12584:96;:::i;12703:318::-;;12845:3;12833:9;12824:7;12820:23;12816:33;12813:2;;;12862:1;12859;12852:12;12813:2;12897:1;12914:91;12997:7;12977:9;12914:91;:::i;13028:322::-;;13172:3;13160:9;13151:7;13147:23;13143:33;13140:2;;;13189:1;13186;13179:12;13140:2;13224:1;13241:93;13326:7;13306:9;13241:93;:::i;13357:261::-;;13471:2;13459:9;13450:7;13446:23;13442:32;13439:2;;;13487:1;13484;13477:12;13439:2;13522:1;13539:63;13594:7;13574:9;13539:63;:::i;13625:263::-;;13740:2;13728:9;13719:7;13715:23;13711:32;13708:2;;;13756:1;13753;13746:12;13708:2;13791:1;13808:64;13864:7;13844:9;13808:64;:::i;13895:496::-;;;14036:2;14024:9;14015:7;14011:23;14007:32;14004:2;;;14052:1;14049;14042:12;14004:2;14087:1;14104:64;14160:7;14140:9;14104:64;:::i;:::-;14094:74;;14066:108;14226:2;14215:9;14211:18;14205:25;-1:-1;;;;;14242:6;14239:30;14236:2;;;14282:1;14279;14272:12;14236:2;14302:73;14367:7;14358:6;14347:9;14343:22;14302:73;:::i;14399:173::-;;14486:46;14528:3;14520:6;14486:46;:::i;:::-;-1:-1;;14561:4;14552:14;;14479:93::o;14581:169::-;;14666:44;14706:3;14698:6;14666:44;:::i;14759:173::-;;14846:46;14888:3;14880:6;14846:46;:::i;14940:103::-;15013:24;15031:5;15013:24;:::i;:::-;15008:3;15001:37;14995:48;;:::o;15201:690::-;;15346:54;15394:5;15346:54;:::i;:::-;15413:86;15492:6;15487:3;15413:86;:::i;:::-;15406:93;;15520:56;15570:5;15520:56;:::i;:::-;15596:7;15624:1;15609:260;15634:6;15631:1;15628:13;15609:260;;;15701:6;15695:13;15722:63;15781:3;15766:13;15722:63;:::i;:::-;15715:70;;15802:60;15855:6;15802:60;:::i;:::-;15792:70;-1:-1;;15656:1;15649:9;15609:260;;;-1:-1;15882:3;;15325:566;-1:-1;;;;;15325:566::o;15928:682::-;;16071:53;16118:5;16071:53;:::i;:::-;16137:85;16215:6;16210:3;16137:85;:::i;:::-;16130:92;;16243:55;16292:5;16243:55;:::i;:::-;16318:7;16346:1;16331:257;16356:6;16353:1;16350:13;16331:257;;;16423:6;16417:13;16444:61;16501:3;16486:13;16444:61;:::i;:::-;16437:68;;16522:59;16574:6;16522:59;:::i;:::-;16512:69;-1:-1;;16378:1;16371:9;16331:257;;16649:690;;16794:54;16842:5;16794:54;:::i;:::-;16861:86;16940:6;16935:3;16861:86;:::i;:::-;16854:93;;16968:56;17018:5;16968:56;:::i;:::-;17044:7;17072:1;17057:260;17082:6;17079:1;17076:13;17057:260;;;17149:6;17143:13;17170:63;17229:3;17214:13;17170:63;:::i;:::-;17163:70;;17250:60;17303:6;17250:60;:::i;:::-;17240:70;-1:-1;;17104:1;17097:9;17057:260;;17347:104;17424:21;17439:5;17424:21;:::i;17458:343::-;;17568:38;17600:5;17568:38;:::i;:::-;17618:70;17681:6;17676:3;17618:70;:::i;:::-;17611:77;;17693:52;17738:6;17733:3;17726:4;17719:5;17715:16;17693:52;:::i;:::-;17766:29;17788:6;17766:29;:::i;:::-;17757:39;;;;17548:253;-1:-1;;;17548:253::o;17808:356::-;;17936:38;17968:5;17936:38;:::i;:::-;17986:88;18067:6;18062:3;17986:88;:::i;:::-;17979:95;;18079:52;18124:6;18119:3;18112:4;18105:5;18101:16;18079:52;:::i;:::-;18143:16;;;;;17916:248;-1:-1;;17916:248::o;18171:152::-;18267:50;18311:5;18267:50;:::i;18685:327::-;;18845:67;18909:2;18904:3;18845:67;:::i;:::-;18945:29;18925:50;;19003:2;18994:12;;18831:181;-1:-1;;18831:181::o;19021:375::-;;19181:67;19245:2;19240:3;19181:67;:::i;:::-;19281:34;19261:55;;-1:-1;;;19345:2;19336:12;;19329:30;19387:2;19378:12;;19167:229;-1:-1;;19167:229::o;19405:326::-;;19565:67;19629:2;19624:3;19565:67;:::i;:::-;19665:28;19645:49;;19722:2;19713:12;;19551:180;-1:-1;;19551:180::o;19740:375::-;;19900:67;19964:2;19959:3;19900:67;:::i;:::-;20000:34;19980:55;;-1:-1;;;20064:2;20055:12;;20048:30;20106:2;20097:12;;19886:229;-1:-1;;19886:229::o;20124:329::-;;20284:67;20348:2;20343:3;20284:67;:::i;:::-;20384:31;20364:52;;20444:2;20435:12;;20270:183;-1:-1;;20270:183::o;20462:461::-;;20622:67;20686:2;20681:3;20622:67;:::i;:::-;20722:34;20702:55;;20791:34;20786:2;20777:12;;20770:56;20860:25;20855:2;20846:12;;20839:47;20914:2;20905:12;;20608:315;-1:-1;;20608:315::o;20932:379::-;;21092:67;21156:2;21151:3;21092:67;:::i;:::-;21192:34;21172:55;;-1:-1;;;21256:2;21247:12;;21240:34;21302:2;21293:12;;21078:233;-1:-1;;21078:233::o;21320:391::-;;21480:67;21544:2;21539:3;21480:67;:::i;:::-;21580:34;21560:55;;-1:-1;;;21644:2;21635:12;;21628:46;21702:2;21693:12;;21466:245;-1:-1;;21466:245::o;21850:985::-;22080:23;;22007:4;21998:14;;;22109:63;22002:3;22080:23;22109:63;:::i;:::-;22027:151;22259:4;22252:5;22248:16;22242:23;22271:63;22328:4;22323:3;22319:14;22305:12;22271:63;:::i;:::-;22188:152;22422:4;22415:5;22411:16;22405:23;22434:63;22491:4;22486:3;22482:14;22468:12;22434:63;:::i;:::-;22350:153;22585:4;22578:5;22574:16;22568:23;22597:61;22652:4;22647:3;22643:14;22629:12;22597:61;:::i;:::-;22513:151;22741:4;22734:5;22730:16;22724:23;22753:61;22808:4;22803:3;22799:14;22785:12;22753:61;:::i;22842:103::-;22915:24;22933:5;22915:24;:::i;23072:100::-;23143:23;23160:5;23143:23;:::i;23296:103::-;23369:24;23387:5;23369:24;:::i;23526:110::-;23607:23;23624:5;23607:23;:::i;23643:100::-;23714:23;23731:5;23714:23;:::i;23750:271::-;;23903:93;23992:3;23983:6;23903:93;:::i;24028:222::-;24155:2;24140:18;;24169:71;24144:9;24213:6;24169:71;:::i;24257:333::-;24412:2;24397:18;;24426:71;24401:9;24470:6;24426:71;:::i;:::-;24508:72;24576:2;24565:9;24561:18;24552:6;24508:72;:::i;24597:1446::-;25061:3;25046:19;;25076:71;25050:9;25120:6;25076:71;:::i;:::-;25158:72;25226:2;25215:9;25211:18;25202:6;25158:72;:::i;:::-;25241;25309:2;25298:9;25294:18;25285:6;25241:72;:::i;:::-;25324;25392:2;25381:9;25377:18;25368:6;25324:72;:::i;:::-;25407:71;25473:3;25462:9;25458:19;25449:6;25407:71;:::i;:::-;25489;25555:3;25544:9;25540:19;25531:6;25489:71;:::i;:::-;25571:67;25633:3;25622:9;25618:19;25609:6;25571:67;:::i;:::-;25649:86;25730:3;25719:9;25715:19;25706:6;25649:86;:::i;:::-;25784:9;25778:4;25774:20;25768:3;25757:9;25753:19;25746:49;25809:76;25880:4;25871:6;25809:76;:::i;:::-;25801:84;;25896:137;26028:3;26017:9;26013:19;26004:6;25896:137;:::i;:::-;25032:1011;;;;;;;;;;;;;:::o;26050:333::-;26205:2;26190:18;;26219:71;26194:9;26263:6;26219:71;:::i;:::-;26301:72;26369:2;26358:9;26354:18;26345:6;26301:72;:::i;26390:370::-;26567:2;26581:47;;;26552:18;;26642:108;26552:18;26736:6;26642:108;:::i;26767:629::-;27022:2;27036:47;;;27007:18;;27097:108;27007:18;27191:6;27097:108;:::i;:::-;27089:116;;27253:9;27247:4;27243:20;27238:2;27227:9;27223:18;27216:48;27278:108;27381:4;27372:6;27278:108;:::i;27403:366::-;27578:2;27592:47;;;27563:18;;27653:106;27563:18;27745:6;27653:106;:::i;27776:310::-;27923:2;27937:47;;;27908:18;;27998:78;27908:18;28062:6;27998:78;:::i;28093:416::-;28293:2;28307:47;;;28278:18;;28368:131;28278:18;28368:131;:::i;28516:416::-;28716:2;28730:47;;;28701:18;;28791:131;28701:18;28791:131;:::i;28939:416::-;29139:2;29153:47;;;29124:18;;29214:131;29124:18;29214:131;:::i;29362:416::-;29562:2;29576:47;;;29547:18;;29637:131;29547:18;29637:131;:::i;29785:416::-;29985:2;29999:47;;;29970:18;;30060:131;29970:18;30060:131;:::i;30208:416::-;30408:2;30422:47;;;30393:18;;30483:131;30393:18;30483:131;:::i;30631:416::-;30831:2;30845:47;;;30816:18;;30906:131;30816:18;30906:131;:::i;31054:416::-;31254:2;31268:47;;;31239:18;;31329:131;31239:18;31329:131;:::i;31477:218::-;31602:2;31587:18;;31616:69;31591:9;31658:6;31616:69;:::i;31702:222::-;31829:2;31814:18;;31843:71;31818:9;31887:6;31843:71;:::i;31931:256::-;31993:2;31987:9;32019:17;;;-1:-1;;;;;32079:34;;32115:22;;;32076:62;32073:2;;;32151:1;32148;32141:12;32073:2;32167;32160:22;31971:216;;-1:-1;31971:216::o;32194:304::-;;-1:-1;;;;;32345:6;32342:30;32339:2;;;32385:1;32382;32375:12;32339:2;-1:-1;32420:4;32408:17;;;32473:15;;32276:222::o;32505:321::-;;-1:-1;;;;;32640:6;32637:30;32634:2;;;32680:1;32677;32670:12;32634:2;-1:-1;32811:4;32747;32724:17;;;;-1:-1;;32720:33;32801:15;;32571:255::o;32833:151::-;32957:4;32948:14;;32905:79::o;33306:137::-;33409:12;;33380:63::o;34339:178::-;34457:19;;;34506:4;34497:14;;34450:67::o;35394:91::-;;35456:24;35474:5;35456:24;:::i;35598:85::-;35664:13;35657:21;;35640:43::o;35690:136::-;35767:5;35773:48;35767:5;35773:48;:::i;35833:113::-;-1:-1;;;;;35895:46;;35878:68::o;35953:121::-;-1:-1;;;;;36015:54;;35998:76::o;36081:86::-;36153:8;36142:20;;36125:42::o;36174:72::-;36236:5;36219:27::o;36253:88::-;36325:10;36314:22;;36297:44::o;36348:96::-;-1:-1;;;;;36409:30;;36392:52::o;36451:136::-;;36543:39;36576:5;36543:39;:::i;36595:145::-;36676:6;36671:3;36666;36653:30;-1:-1;36732:1;36714:16;;36707:27;36646:94::o;36749:268::-;36814:1;36821:101;36835:6;36832:1;36829:13;36821:101;;;36902:11;;;36896:18;36883:11;;;36876:39;36857:2;36850:10;36821:101;;;36937:6;36934:1;36931:13;36928:2;;;-1:-1;;37002:1;36984:16;;36977:27;36798:219::o;37025:97::-;37113:2;37093:14;-1:-1;;37089:28;;37073:49::o;37130:106::-;37214:1;37207:5;37204:12;37194:2;;37220:9;37243:117;37312:24;37330:5;37312:24;:::i;:::-;37305:5;37302:35;37292:2;;37351:1;37348;37341:12;37507:111;37573:21;37588:5;37573:21;:::i;37625:114::-;37714:1;37707:5;37704:12;37694:2;;37730:1;37727;37720:12;37862:117;37931:24;37949:5;37931:24;:::i;37986:115::-;38054:23;38071:5;38054:23;:::i;38108:117::-;38177:24;38195:5;38177:24;:::i;38232:115::-;38300:23;38317:5;38300:23;:::i;38354:115::-;38422:23;38439:5;38422:23;:::i", - "linkReferences": {}, - "immutableReferences": { - "31288": [ - { - "start": 2090, - "length": 32 - }, - { - "start": 2276, - "length": 32 - }, - { - "start": 3098, - "length": 32 - }, - { - "start": 4104, - "length": 32 - }, - { - "start": 4304, - "length": 32 - }, - { - "start": 4767, - "length": 32 - }, - { - "start": 5444, - "length": 32 - }, - { - "start": 5736, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "getDebtAssets()": "ecd658b4", - "getIssuedVouchers()": "0f081d50", - "getManagedAssets()": "80daddb8", - "getOffers()": "3ee992ee", - "init(bytes)": "4ddf47d4", - "receiveCallFromVault(bytes)": "e5c23a97" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_initialBondOfferingMarket\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voucher\",\"type\":\"address\"}],\"name\":\"IssuedVoucherAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voucher\",\"type\":\"address\"}],\"name\":\"IssuedVoucherRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint24\",\"name\":\"offerId\",\"type\":\"uint24\"}],\"name\":\"OfferAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint24\",\"name\":\"offerId\",\"type\":\"uint24\"}],\"name\":\"OfferRemoved\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"getDebtAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"assets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getIssuedVouchers\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"vouchers_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getManagedAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"assets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOffers\",\"outputs\":[{\"internalType\":\"uint24[]\",\"name\":\"offers_\",\"type\":\"uint24[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"}],\"name\":\"receiveCallFromVault\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"getDebtAssets()\":{\"returns\":{\"amounts_\":\"Debt asset amounts\",\"assets_\":\"Debt assets\"}},\"getIssuedVouchers()\":{\"returns\":{\"vouchers_\":\"The array of issued voucher addresses\"}},\"getManagedAssets()\":{\"details\":\"There are 3 types of assets that contribute value to this position: 1. Underlying balance outstanding in IVO offers (collateral not yet used for minting) 2. Unreconciled assets received for an IVO sale 3. Outstanding assets that are withdrawable from issued vouchers (post-maturity)\",\"returns\":{\"amounts_\":\"Managed asset amounts\",\"assets_\":\"Managed assets\"}},\"getOffers()\":{\"returns\":{\"offers_\":\"The array of created offer ids\"}},\"init(bytes)\":{\"details\":\"Nothing to initialize for this contract\"},\"receiveCallFromVault(bytes)\":{\"params\":{\"_actionData\":\"Encoded data to execute the action\"}}},\"title\":\"SolvV2BondIssuerPositionLib Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getDebtAssets()\":{\"notice\":\"Retrieves the debt assets (negative value) of the external position\"},\"getIssuedVouchers()\":{\"notice\":\"Gets the issued vouchers\"},\"getManagedAssets()\":{\"notice\":\"Retrieves the managed assets (positive value) of the external position\"},\"getOffers()\":{\"notice\":\"Gets the created offers\"},\"init(bytes)\":{\"notice\":\"Initializes the external position\"},\"receiveCallFromVault(bytes)\":{\"notice\":\"Receives and executes a call from the Vault\"}},\"notice\":\"Library contract for Solv V2 Bond Issuer Positions\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/solv-v2-bond-issuer/SolvV2BondIssuerPositionLib.sol\":\"SolvV2BondIssuerPositionLib\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/persistent/external-positions/solv-v2-bond-issuer/SolvV2BondIssuerPositionLibBase1.sol\":{\"keccak256\":\"0xb8c45493039fe2b240fafcec7d26ddd689336d9aaad00cfcab4ffdf468aa2a34\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://75324a615930ad565f88d5319695ce1c2202d68465a3999d2cfb0a6b8c398644\",\"dweb:/ipfs/QmWwoKUNYNWmw3HVQjenFaJsJPKv6yaonu3gJDNQkQGQ13\"]},\"contracts/release/extensions/external-position-manager/external-positions/solv-v2-bond-issuer/ISolvV2BondIssuerPosition.sol\":{\"keccak256\":\"0x4b4269ed0c69d21e9a98b8dda03794e46ee75b443913d55f33a4b6f5ca15297b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5b339a793698c60986ef981da4e705723f98b9950a7cb0f5d9a9278907c91788\",\"dweb:/ipfs/QmbRx6gSPaUtx6cXWrdEa6vdSNM8PLNgKN9PARxPbjfBe4\"]},\"contracts/release/extensions/external-position-manager/external-positions/solv-v2-bond-issuer/SolvV2BondIssuerPositionDataDecoder.sol\":{\"keccak256\":\"0xdc757cfbb836b813539ce641f764d5aac2535a472565e84b4e098a2560d9323d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9b24f934d31730aeabaea742b0de10c0cad1448788d0c9a22e281097acb3ff76\",\"dweb:/ipfs/QmQ8QU46pBi9Sb5DxvgboLYugnFodMzo4iUKXxyh9yPQyA\"]},\"contracts/release/extensions/external-position-manager/external-positions/solv-v2-bond-issuer/SolvV2BondIssuerPositionLib.sol\":{\"keccak256\":\"0x5d60dfa8163f97874775b6cb888458289b7a587e500539e78ae44db2d5bd8cad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2c699d553b0a3a8b4fa47d79cb961e25cd0434f999af90829434efea4e5a3176\",\"dweb:/ipfs/QmaRFKo54kn5Mo9Hd2Fs3rWKV4oRgViGVhA44yPJ5umc5u\"]},\"contracts/release/interfaces/ISolvV2BondPool.sol\":{\"keccak256\":\"0xa68c7f87782e4da88c0e98a8096d3f758b1c5aa914ddb6bc99ada422195019f5\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://cb64f9feca3ef65e6e2a18729aeb1300698cfba3eb99f08025debc795282b73d\",\"dweb:/ipfs/QmVr5qraYJpKNMtJZfgvkMZsk1Nerxc36HSjhtvh8YgG1G\"]},\"contracts/release/interfaces/ISolvV2BondVoucher.sol\":{\"keccak256\":\"0xf76389995de79cdc0f4a690a9ce76a094d4697d51e397abf68b4be24ef8b554f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ed36c534756035df374381fabff0b010f0fe700caeeddffb99f347efee1f0cdd\",\"dweb:/ipfs/QmY5dm7b78TkoW3WSqKKZSCKdZmumTCMLxf3rpxzVM6qpm\"]},\"contracts/release/interfaces/ISolvV2InitialConvertibleOfferingMarket.sol\":{\"keccak256\":\"0xe34205d54ec639e2e3f8e0e2871984a6796424d903259857f1f11de260cf8abe\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://908f8d334df9ae2191787a8e53c78b1847bd936f2ce9d04115f5e9339c3e3934\",\"dweb:/ipfs/QmZzxE748Hb2Vosu7cwPmkb4EVpoqvS4RgHogLrvDgsnD3\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"contracts/release/utils/Uint256ArrayLib.sol\":{\"keccak256\":\"0x1627d0d32692b86c5dd3e74ebb8305fbf99a3c41d4b90e736077762cc80c1a31\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://54ff92ccd4bd685dda44c2520e3f52478168e909b400c3cc4076d37f5c2704ef\",\"dweb:/ipfs/QmYUxeaKfPwnUtP35i6JJ3ptsaDFEV6SD2o4VV8d5vBUZD\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_initialBondOfferingMarket", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "voucher", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "IssuedVoucherAdded", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "voucher", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "IssuedVoucherRemoved", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "uint24", - "name": "offerId", - "type": "uint24", - "indexed": true - } - ], - "type": "event", - "name": "OfferAdded", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "uint24", - "name": "offerId", - "type": "uint24", - "indexed": true - } - ], - "type": "event", - "name": "OfferRemoved", - "anonymous": false - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "getDebtAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "assets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "amounts_", - "type": "uint256[]" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getIssuedVouchers", - "outputs": [ - { - "internalType": "address[]", - "name": "vouchers_", - "type": "address[]" - } - ] - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "getManagedAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "assets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "amounts_", - "type": "uint256[]" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getOffers", - "outputs": [ - { - "internalType": "uint24[]", - "name": "offers_", - "type": "uint24[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "init" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "receiveCallFromVault" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "getDebtAssets()": { - "returns": { - "amounts_": "Debt asset amounts", - "assets_": "Debt assets" - } - }, - "getIssuedVouchers()": { - "returns": { - "vouchers_": "The array of issued voucher addresses" - } - }, - "getManagedAssets()": { - "details": "There are 3 types of assets that contribute value to this position: 1. Underlying balance outstanding in IVO offers (collateral not yet used for minting) 2. Unreconciled assets received for an IVO sale 3. Outstanding assets that are withdrawable from issued vouchers (post-maturity)", - "returns": { - "amounts_": "Managed asset amounts", - "assets_": "Managed assets" - } - }, - "getOffers()": { - "returns": { - "offers_": "The array of created offer ids" - } - }, - "init(bytes)": { - "details": "Nothing to initialize for this contract" - }, - "receiveCallFromVault(bytes)": { - "params": { - "_actionData": "Encoded data to execute the action" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "getDebtAssets()": { - "notice": "Retrieves the debt assets (negative value) of the external position" - }, - "getIssuedVouchers()": { - "notice": "Gets the issued vouchers" - }, - "getManagedAssets()": { - "notice": "Retrieves the managed assets (positive value) of the external position" - }, - "getOffers()": { - "notice": "Gets the created offers" - }, - "init(bytes)": { - "notice": "Initializes the external position" - }, - "receiveCallFromVault(bytes)": { - "notice": "Receives and executes a call from the Vault" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/external-position-manager/external-positions/solv-v2-bond-issuer/SolvV2BondIssuerPositionLib.sol": "SolvV2BondIssuerPositionLib" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/external-positions/IExternalPosition.sol": { - "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", - "urls": [ - "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", - "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/external-positions/solv-v2-bond-issuer/SolvV2BondIssuerPositionLibBase1.sol": { - "keccak256": "0xb8c45493039fe2b240fafcec7d26ddd689336d9aaad00cfcab4ffdf468aa2a34", - "urls": [ - "bzz-raw://75324a615930ad565f88d5319695ce1c2202d68465a3999d2cfb0a6b8c398644", - "dweb:/ipfs/QmWwoKUNYNWmw3HVQjenFaJsJPKv6yaonu3gJDNQkQGQ13" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/solv-v2-bond-issuer/ISolvV2BondIssuerPosition.sol": { - "keccak256": "0x4b4269ed0c69d21e9a98b8dda03794e46ee75b443913d55f33a4b6f5ca15297b", - "urls": [ - "bzz-raw://5b339a793698c60986ef981da4e705723f98b9950a7cb0f5d9a9278907c91788", - "dweb:/ipfs/QmbRx6gSPaUtx6cXWrdEa6vdSNM8PLNgKN9PARxPbjfBe4" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/solv-v2-bond-issuer/SolvV2BondIssuerPositionDataDecoder.sol": { - "keccak256": "0xdc757cfbb836b813539ce641f764d5aac2535a472565e84b4e098a2560d9323d", - "urls": [ - "bzz-raw://9b24f934d31730aeabaea742b0de10c0cad1448788d0c9a22e281097acb3ff76", - "dweb:/ipfs/QmQ8QU46pBi9Sb5DxvgboLYugnFodMzo4iUKXxyh9yPQyA" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/solv-v2-bond-issuer/SolvV2BondIssuerPositionLib.sol": { - "keccak256": "0x5d60dfa8163f97874775b6cb888458289b7a587e500539e78ae44db2d5bd8cad", - "urls": [ - "bzz-raw://2c699d553b0a3a8b4fa47d79cb961e25cd0434f999af90829434efea4e5a3176", - "dweb:/ipfs/QmaRFKo54kn5Mo9Hd2Fs3rWKV4oRgViGVhA44yPJ5umc5u" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/ISolvV2BondPool.sol": { - "keccak256": "0xa68c7f87782e4da88c0e98a8096d3f758b1c5aa914ddb6bc99ada422195019f5", - "urls": [ - "bzz-raw://cb64f9feca3ef65e6e2a18729aeb1300698cfba3eb99f08025debc795282b73d", - "dweb:/ipfs/QmVr5qraYJpKNMtJZfgvkMZsk1Nerxc36HSjhtvh8YgG1G" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/ISolvV2BondVoucher.sol": { - "keccak256": "0xf76389995de79cdc0f4a690a9ce76a094d4697d51e397abf68b4be24ef8b554f", - "urls": [ - "bzz-raw://ed36c534756035df374381fabff0b010f0fe700caeeddffb99f347efee1f0cdd", - "dweb:/ipfs/QmY5dm7b78TkoW3WSqKKZSCKdZmumTCMLxf3rpxzVM6qpm" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/ISolvV2InitialConvertibleOfferingMarket.sol": { - "keccak256": "0xe34205d54ec639e2e3f8e0e2871984a6796424d903259857f1f11de260cf8abe", - "urls": [ - "bzz-raw://908f8d334df9ae2191787a8e53c78b1847bd936f2ce9d04115f5e9339c3e3934", - "dweb:/ipfs/QmZzxE748Hb2Vosu7cwPmkb4EVpoqvS4RgHogLrvDgsnD3" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AddressArrayLib.sol": { - "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", - "urls": [ - "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", - "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AssetHelpers.sol": { - "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", - "urls": [ - "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", - "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/Uint256ArrayLib.sol": { - "keccak256": "0x1627d0d32692b86c5dd3e74ebb8305fbf99a3c41d4b90e736077762cc80c1a31", - "urls": [ - "bzz-raw://54ff92ccd4bd685dda44c2520e3f52478168e909b400c3cc4076d37f5c2704ef", - "dweb:/ipfs/QmYUxeaKfPwnUtP35i6JJ3ptsaDFEV6SD2o4VV8d5vBUZD" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { - "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", - "urls": [ - "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", - "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Address.sol": { - "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", - "urls": [ - "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", - "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 128 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_initialBondOfferingMarket", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "getDebtAssets", "inputs": [], "outputs": [ { "name": "assets_", "type": "address[]", "internalType": "address[]" }, { "name": "amounts_", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "getIssuedVouchers", "inputs": [], "outputs": [ { "name": "vouchers_", "type": "address[]", "internalType": "address[]" } ], "stateMutability": "view" }, { "type": "function", "name": "getManagedAssets", "inputs": [], "outputs": [ { "name": "assets_", "type": "address[]", "internalType": "address[]" }, { "name": "amounts_", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "getOffers", "inputs": [], "outputs": [ { "name": "offers_", "type": "uint24[]", "internalType": "uint24[]" } ], "stateMutability": "view" }, { "type": "function", "name": "init", "inputs": [ { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "receiveCallFromVault", "inputs": [ { "name": "_actionData", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "event", "name": "IssuedVoucherAdded", "inputs": [ { "name": "voucher", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "IssuedVoucherRemoved", "inputs": [ { "name": "voucher", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "OfferAdded", "inputs": [ { "name": "offerId", "type": "uint24", "indexed": true, "internalType": "uint24" } ], "anonymous": false }, { "type": "event", "name": "OfferRemoved", "inputs": [ { "name": "offerId", "type": "uint24", "indexed": true, "internalType": "uint24" } ], "anonymous": false } ], "bytecode": { "object": "0x60a06040523480156200001157600080fd5b50604051620032ef380380620032ef83398101604081905262000034916200005d565b60601b6001600160601b031916608052620000b2565b8051620000578162000098565b92915050565b6000602082840312156200007057600080fd5b60006200007e84846200004a565b949350505050565b60006001600160a01b03821662000057565b620000a38162000086565b8114620000af57600080fd5b50565b60805160601c6131fc620000f36000398061082a52806108e45280610c1a528061100852806110d0528061129f5280611544528061166852506131fc6000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c80630f081d50146100675780633ee992ee146100855780634ddf47d41461009a57806380daddb8146100af578063e5c23a97146100c5578063ecd658b4146100d8575b600080fd5b61006f6100e0565b60405161007c9190612f7b565b60405180910390f35b61008d610142565b60405161007c9190612fb1565b6100ad6100a83660046128e5565b6101c3565b005b6100b76101c6565b60405161007c929190612f8c565b6100ad6100d33660046128e5565b6102e9565b6100b7610386565b6060600080548060200260200160405190810160405280929190818152602001828054801561013857602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161011a575b5050505050905090565b6060600180548060200260200160405190810160405280929190818152602001828054801561013857602002820191906000526020600020906000905b82829054906101000a900462ffffff1662ffffff168152602001906003019060208260020104928301926001038202915080841161017f5790505050505050905090565b50565b60608060606101d3610142565b90506101dd61038c565b90935091506060806101ee83610788565b8151919350915060005b818110156102585761022684828151811061020f57fe5b602002602001015188610a9090919063ffffffff16565b965061024e83828151811061023757fe5b602002602001015187610b5b90919063ffffffff16565b95506001016101f8565b5060608061026586610c04565b8151919350915060005b818110156102cf5761029d84828151811061028657fe5b60200260200101518b610a9090919063ffffffff16565b99506102c58382815181106102ae57fe5b60200260200101518a610b5b90919063ffffffff16565b985060010161026f565b506102da8989610d8f565b98509850505050505050509091565b600060608280602001905181019061030191906129b1565b9092509050816103195761031481610fd0565b610381565b600182141561032a5761031461127d565b600282141561033c5761031481611374565b600382141561034e5761031481611518565b6004821415610360576103148161195a565b60405162461bcd60e51b815260040161037890613003565b60405180910390fd5b505050565b60608091565b60608060606103996100e0565b805190915060005b818110156107815760008551905060008483815181106103bd57fe5b60200260200101516001600160a01b0316634118ca7d6040518163ffffffff1660e01b815260040160206040518083038186803b1580156103fd57600080fd5b505afa158015610411573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610435919061274b565b90506060816001600160a01b031663ecaf82a5306040518263ffffffff1660e01b81526004016104659190612e9b565b60006040518083038186803b15801561047d57600080fd5b505afa158015610491573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526104b99190810190612893565b90506000805b8251811015610652576104d0612236565b8887815181106104dc57fe5b60200260200101516001600160a01b031663d3ceafb98584815181106104fe57fe5b60200260200101516040518263ffffffff1660e01b81526004016105229190613061565b6101a06040518083038186803b15801561053b57600080fd5b505afa15801561054f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105739190612956565b90508060e001516001600160401b03164210156105a25760405162461bcd60e51b815260040161037890613023565b6000856001600160a01b031663875f43848685815181106105bf57fe5b60200260200101516040518263ffffffff1660e01b81526004016105e39190613061565b60206040518083038186803b1580156105fb57600080fd5b505afa15801561060f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106339190612993565b90508015610648576106458482611b6d565b93505b50506001016104bf565b5080156106f6576106e787868151811061066857fe5b60200260200101516001600160a01b0316636f307dc36040518163ffffffff1660e01b815260040160206040518083038186803b1580156106a857600080fd5b505afa1580156106bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106e0919061274b565b8a90610a90565b98506106f38882610b5b565b97505b83895114156107715761072687868151811061070e57fe5b60200260200101516000611b9990919063ffffffff16565b5086858151811061073357fe5b60200260200101516001600160a01b03167ffd92edd176a06585677580bb1800864a64631aef521abcba2722708c7084c2e460405160405180910390a25b5050600190920191506103a19050565b5050509091565b80516060908190806001600160401b03811180156107a557600080fd5b506040519080825280602002602001820160405280156107cf578160200160208202803683370190505b509250806001600160401b03811180156107e857600080fd5b50604051908082528060200260200182016040528015610812578160200160208202803683370190505b50915060005b81811015610a895761082861229f565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316639cfb2ab087848151811061086357fe5b60200260200101516040518263ffffffff1660e01b81526004016108879190613053565b6101a06040518083038186803b1580156108a057600080fd5b505afa1580156108b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108d89190612937565b90506108e2612309565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c39333ab88858151811061091d57fe5b60200260200101516040518263ffffffff1660e01b81526004016109419190613053565b60a06040518083038186803b15801561095957600080fd5b505afa15801561096d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109919190612919565b905060006109c282600001516001600160801b03168460a001516001600160801b0316611c9190919063ffffffff16565b90508261010001516001600160a01b0316636f307dc36040518163ffffffff1660e01b815260040160206040518083038186803b158015610a0257600080fd5b505afa158015610a16573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a3a919061274b565b878581518110610a4657fe5b60200260200101906001600160a01b031690816001600160a01b03168152505080868581518110610a7357fe5b6020908102919091010152505050600101610818565b5050915091565b606082516001016001600160401b0381118015610aac57600080fd5b50604051908082528060200260200182016040528015610ad6578160200160208202803683370190505b50905060005b8351811015610b2557838181518110610af157fe5b6020026020010151828281518110610b0557fe5b6001600160a01b0390921660209283029190910190910152600101610adc565b508181845181518110610b3457fe5b60200260200101906001600160a01b031690816001600160a01b0316815250505b92915050565b606082516001016001600160401b0381118015610b7757600080fd5b50604051908082528060200260200182016040528015610ba1578160200160208202803683370190505b50905060005b8351811015610be357838181518110610bbc57fe5b6020026020010151828281518110610bd057fe5b6020908102919091010152600101610ba7565b508181845181518110610bf257fe5b60200260200101818152505092915050565b8051606090819060005b81811015610a895760007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316639cfb2ab0878481518110610c5357fe5b60200260200101516040518263ffffffff1660e01b8152600401610c779190613053565b6101a06040518083038186803b158015610c9057600080fd5b505afa158015610ca4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cc89190612937565b61012001519050610cd98582611cc3565b15610ce45750610d87565b6040516370a0823160e01b81526000906001600160a01b038316906370a0823190610d13903090600401612e9b565b60206040518083038186803b158015610d2b57600080fd5b505afa158015610d3f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d639190612993565b90508015610d8457610d758683610a90565b9550610d818582610b5b565b94505b50505b600101610c0e565b606080835160001415610da157610fc9565b6001805b8551811015610e21576000805b82811015610e0b57878181518110610dc657fe5b60200260200101516001600160a01b0316888481518110610de357fe5b60200260200101516001600160a01b03161415610e035760019150610e0b565b600101610db2565b5080610e18576001909201915b50600101610da5565b50806001600160401b0381118015610e3857600080fd5b50604051908082528060200260200182016040528015610e62578160200160208202803683370190505b509250806001600160401b0381118015610e7b57600080fd5b50604051908082528060200260200182016040528015610ea5578160200160208202803683370190505b5091506000805b8651811015610fc5576000805b83811015610f4457868181518110610ecd57fe5b60200260200101516001600160a01b0316898481518110610eea57fe5b60200260200101516001600160a01b03161415610f3c5760019150878381518110610f1157fe5b6020026020010151868281518110610f2557fe5b602002602001018181510191508181525050610f44565b600101610eb9565b5080610fbc57878281518110610f5657fe5b6020026020010151868481518110610f6a57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050868281518110610f9657fe5b6020026020010151858481518110610faa57fe5b60209081029190910101526001909201915b50600101610eac565b5050505b9250929050565b6000806000806000806000806060610fe6612309565b610fef8b611d19565b99509950995099509950995099509950995099506110b67f000000000000000000000000000000000000000000000000000000000000000082604001516001600160801b03168c6001600160a01b0316636f307dc36040518163ffffffff1660e01b815260040160206040518083038186803b15801561106e57600080fd5b505afa158015611082573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110a6919061274b565b6001600160a01b03169190611d64565b60405163113c22ab60e11b81526000906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690632278455690611117908e908e908e908e908e908e908e908e908e908e90600401612ec4565b602060405180830381600087803b15801561113157600080fd5b505af1158015611145573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111699190612975565b905061117660008c611e5e565b6111ee57600080546001810182558180527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630180546001600160a01b0319166001600160a01b038e1690811790915560405190917f6b3e0dcc57df05fef7e2c63274ec9b334d9fad324cedda20d168b66e6f487b4c91a25b6001805480820182556000918252600a8082047fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf601805462ffffff808716600394909506939093026101000a8481029302191691909117905560405190917f27652f622b1c2e924c22bbcd9793267e09bd9469ff3e1d1aef7baa7bb542727791a2505050505050505050505050565b6060611287610142565b805190915060609060005b81811015611363576113597f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316639cfb2ab08684815181106112d857fe5b60200260200101516040518263ffffffff1660e01b81526004016112fc9190613053565b6101a06040518083038186803b15801561131557600080fd5b505afa158015611329573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061134d9190612937565b61012001518490611eb6565b9250600101611292565b5061136e3383611ed8565b50505050565b60008061138083612033565b915091506000826001600160a01b0316634118ca7d6040518163ffffffff1660e01b815260040160206040518083038186803b1580156113bf57600080fd5b505afa1580156113d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113f7919061274b565b9050611401612236565b60405163d3ceafb960e01b81526001600160a01b0383169063d3ceafb99061142d908690600401613061565b6101a06040518083038186803b15801561144657600080fd5b505afa15801561145a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061147e9190612956565b602081015190915061149c6001600160a01b03821684600019611d64565b60405163278ecde160e01b81526001600160a01b0384169063278ecde1906114c8908790600401613061565b600060405180830381600087803b1580156114e257600080fd5b505af11580156114f6573d6000803e3d6000fd5b50611510925050506001600160a01b038216846000611d64565b505050505050565b600061152382612053565b905061152d61229f565b6040516309cfb2ab60e41b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690639cfb2ab090611579908590600401613053565b6101a06040518083038186803b15801561159257600080fd5b505afa1580156115a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115ca9190612937565b90506000816101200151905060008261010001516001600160a01b0316636f307dc36040518163ffffffff1660e01b815260040160206040518083038186803b15801561161657600080fd5b505afa15801561162a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061164e919061274b565b6040516362b4d47960e11b81529091506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c569a8f29061169d908790600401613053565b600060405180830381600087803b1580156116b757600080fd5b505af11580156116cb573d6000803e3d6000fd5b50506001549150600090505b81811015611951578562ffffff16600182815481106116f257fe5b90600052602060002090600a91828204019190066003029054906101000a900462ffffff1662ffffff161415611949576040516370a0823160e01b81526000906001600160a01b038616906370a0823190611751903090600401612e9b565b60206040518083038186803b15801561176957600080fd5b505afa15801561177d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117a19190612993565b905080156117bd576117bd6001600160a01b0386163383612071565b6040516370a0823160e01b81526000906001600160a01b038616906370a08231906117ec903090600401612e9b565b60206040518083038186803b15801561180457600080fd5b505afa158015611818573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061183c9190612993565b90508015611858576118586001600160a01b0386163383612071565b600184038310156118d65760018085038154811061187257fe5b90600052602060002090600a91828204019190066003029054906101000a900462ffffff16600184815481106118a457fe5b90600052602060002090600a91828204019190066003026101000a81548162ffffff021916908362ffffff1602179055505b60018054806118e157fe5b60019003818190600052602060002090600a91828204019190066003026101000a81549062ffffff021916905590558762ffffff167f5117ada9c4efa32749567ede1058300f17ca6204e7a5a68bac0dd615667af42660405160405180910390a25050611951565b6001016116d7565b50505050505050565b60008061196683612033565b915091506000829050806001600160a01b0316634118ca7d6040518163ffffffff1660e01b815260040160206040518083038186803b1580156119a857600080fd5b505afa1580156119bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119e0919061274b565b6001600160a01b0316632e1a7d4d836040518263ffffffff1660e01b8152600401611a0b9190613061565b602060405180830381600087803b158015611a2557600080fd5b505af1158015611a39573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a5d9190612993565b506000816001600160a01b0316636f307dc36040518163ffffffff1660e01b815260040160206040518083038186803b158015611a9957600080fd5b505afa158015611aad573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ad1919061274b565b90506000816001600160a01b03166370a08231306040518263ffffffff1660e01b8152600401611b019190612e9b565b60206040518083038186803b158015611b1957600080fd5b505afa158015611b2d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b519190612993565b90508015611510576115106001600160a01b0383163383612071565b600082820183811015611b925760405162461bcd60e51b815260040161037890612fd3565b9392505050565b8154600090815b81811015611c8957836001600160a01b0316858281548110611bbe57fe5b6000918252602090912001546001600160a01b03161415611c815760018203811015611c4c57846001830381548110611bf357fe5b9060005260206000200160009054906101000a90046001600160a01b0316858281548110611c1d57fe5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055505b84805480611c5657fe5b600082815260209020810160001990810180546001600160a01b031916905501905560019250611c89565b600101611ba0565b505092915050565b6000808211611cb25760405162461bcd60e51b815260040161037890612ff3565b818381611cbb57fe5b049392505050565b6000805b8351811015611d0f57838181518110611cdc57fe5b60200260200101516001600160a01b0316836001600160a01b03161415611d07576001915050610b55565b600101611cc7565b5060009392505050565b6000806000806000806000806060611d2f612309565b8a806020019051810190611d439190612769565b99509950995099509950995099509950995099509193959799509193959799565b801580611dec5750604051636eb1769f60e11b81526001600160a01b0384169063dd62ed3e90611d9a9030908690600401612ea9565b60206040518083038186803b158015611db257600080fd5b505afa158015611dc6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611dea9190612993565b155b611e085760405162461bcd60e51b815260040161037890613043565b6103818363095ea7b360e01b8484604051602401611e27929190612f60565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152612090565b8154600090815b81811015611eab57848181548110611e7957fe5b6000918252602090912001546001600160a01b0385811691161415611ea357600192505050610b55565b600101611e65565b506000949350505050565b6060611ec28383611cc3565b15611ece575081610b55565b611b928383610a90565b606081516001600160401b0381118015611ef157600080fd5b50604051908082528060200260200182016040528015611f1b578160200160208202803683370190505b50905060005b825181101561202c576000838281518110611f3857fe5b60200260200101519050806001600160a01b03166370a08231306040518263ffffffff1660e01b8152600401611f6e9190612e9b565b60206040518083038186803b158015611f8657600080fd5b505afa158015611f9a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fbe9190612993565b838381518110611fca57fe5b6020026020010181815250506000838381518110611fe457fe5b60200260200101511115612023576120238584848151811061200257fe5b6020026020010151836001600160a01b03166120719092919063ffffffff16565b50600101611f21565b5092915050565b6000808280602001905181019061204a9190612859565b91509150915091565b6000818060200190518101906120699190612975565b90505b919050565b6103818363a9059cbb60e01b8484604051602401611e27929190612f60565b60606120e5826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031661211f9092919063ffffffff16565b805190915015610381578080602001905181019061210391906128c7565b6103815760405162461bcd60e51b815260040161037890613033565b606061212e8484600085612136565b949350505050565b6060824710156121585760405162461bcd60e51b815260040161037890612fe3565b612161856121f7565b61217d5760405162461bcd60e51b815260040161037890613013565b60006060866001600160a01b0316858760405161219a9190612e8f565b60006040518083038185875af1925050503d80600081146121d7576040519150601f19603f3d011682016040523d82523d6000602084013e6121dc565b606091505b50915091506121ec8282866121fd565b979650505050505050565b3b151590565b6060831561220c575081611b92565b82511561221c5782518084602001fd5b8160405162461bcd60e51b81526004016103789190612fc2565b604080516101a081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052906101008201908152600060208201819052604082018190526060820181905260809091015290565b604080516101a081018252600080825260208201819052918101829052906060820190815260006020820181905260408201819052606082018190526080820181905260a0820181905260c0820181905260e0820181905261010082018190526101209091015290565b6040805160a08101825260008082526020820181905291810182905260608101829052608081019190915290565b8051610b5581613198565b600082601f83011261235357600080fd5b815161236661236182613095565b61306f565b9150818183526020840193506020810190508385602084028201111561238b57600080fd5b60005b838110156123b757816123a1888261272a565b845250602092830192919091019060010161238e565b5050505092915050565b8051610b55816131ac565b600082601f8301126123dd57600080fd5b81356123eb612361826130b5565b9150808252602083016020830185838301111561240757600080fd5b61241283828461314c565b50505092915050565b600082601f83011261242c57600080fd5b815161243a612361826130b5565b9150808252602083016020830185838301111561245657600080fd5b612412838284613158565b8051610b55816131b5565b600060a0828403121561247e57600080fd5b61248860a061306f565b905060006124968484612714565b82525060206124a784848301612714565b60208301525060406124bb84828501612714565b60408301525060606124cf84828501612740565b60608301525060806124e384828501612740565b60808301525092915050565b60006101a0828403121561250257600080fd5b61250d6101a061306f565b9050600061251b848461271f565b825250602061252c84848301612735565b602083015250604061254084828501612735565b604083015250606061255484828501612461565b606083015250608061256884828501612714565b60808301525060a061257c84828501612714565b60a08301525060c061259084828501612714565b60c08301525060e06125a484828501612714565b60e0830152506101006125b984828501612337565b610100830152506101206125cf84828501612337565b610120830152506101406125e584828501612337565b610140830152506101606125fb848285016123c1565b61016083015250610180612611848285016123c1565b6101808301525092915050565b60006101a0828403121561263157600080fd5b61263c6101a061306f565b9050600061264a8484612337565b825250602061265b84848301612337565b602083015250604061266f8482850161272a565b604083015250606061268384828501612714565b606083015250608061269784828501612714565b60808301525060a06126ab84828501612714565b60a08301525060c06126bf84828501612740565b60c08301525060e06126d384828501612740565b60e0830152506101006126e884828501612461565b610100830152506101206126fe848285016123c1565b610120830152506101406125e5848285016123c1565b8051610b55816131c2565b8051610b55816131cb565b8051610b55816131d4565b8051610b55816131dd565b8051610b55816131e6565b60006020828403121561275d57600080fd5b600061212e8484612337565b6000806000806000806000806000806101c08b8d03121561278957600080fd5b60006127958d8d612337565b9a505060206127a68d828e01612337565b99505060406127b78d828e01612714565b98505060606127c88d828e01612714565b97505060806127d98d828e01612735565b96505060a06127ea8d828e01612735565b95505060c06127fb8d828e016123c1565b94505060e061280c8d828e01612461565b9350506101008b01516001600160401b0381111561282957600080fd5b6128358d828e0161241b565b9250506101206128478d828e0161246c565b9150509295989b9194979a5092959850565b6000806040838503121561286c57600080fd5b60006128788585612337565b92505060206128898582860161272a565b9150509250929050565b6000602082840312156128a557600080fd5b81516001600160401b038111156128bb57600080fd5b61212e84828501612342565b6000602082840312156128d957600080fd5b600061212e84846123c1565b6000602082840312156128f757600080fd5b81356001600160401b0381111561290d57600080fd5b61212e848285016123cc565b600060a0828403121561292b57600080fd5b600061212e848461246c565b60006101a0828403121561294a57600080fd5b600061212e84846124ef565b60006101a0828403121561296957600080fd5b600061212e848461261e565b60006020828403121561298757600080fd5b600061212e848461271f565b6000602082840312156129a557600080fd5b600061212e848461272a565b600080604083850312156129c457600080fd5b60006129d0858561272a565b92505060208301516001600160401b038111156129ec57600080fd5b6128898582860161241b565b6000612a048383612a24565b505060200190565b6000612a048383612e6b565b6000612a048383612e74565b612a2d816130ef565b82525050565b6000612a3e826130e2565b612a4881856130e6565b9350612a53836130dc565b8060005b83811015612a81578151612a6b88826129f8565b9750612a76836130dc565b925050600101612a57565b509495945050505050565b6000612a97826130e2565b612aa181856130e6565b9350612aac836130dc565b8060005b83811015612a81578151612ac48882612a0c565b9750612acf836130dc565b925050600101612ab0565b6000612ae5826130e2565b612aef81856130e6565b9350612afa836130dc565b8060005b83811015612a81578151612b128882612a18565b9750612b1d836130dc565b925050600101612afe565b612a2d816130fa565b6000612b3c826130e2565b612b4681856130e6565b9350612b56818560208601613158565b612b5f81613184565b9093019392505050565b6000612b74826130e2565b612b7e818561206c565b9350612b8e818560208601613158565b9290920192915050565b612a2d81613141565b6000612bae601b836130e6565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000612be76026836130e6565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f8152651c8818d85b1b60d21b602082015260400192915050565b6000612c2f601a836130e6565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b6000612c686026836130e6565b7f7265636569766543616c6c46726f6d5661756c743a20496e76616c69642061638152651d1a5bdb925960d21b602082015260400192915050565b6000612cb0601d836130e6565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000815260200192915050565b6000612ce96057836130e6565b7f5f5f676574576974686472617761626c654173736574416d6f756e7473416e6481527f52656d6f766557697468647261776e566f7563686572733a207072652d6d617460208201527f7572652069737375656420766f756368657220736c6f74000000000000000000604082015260600192915050565b6000612d6e602a836130e6565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e8152691bdd081cdd58d8d9595960b21b602082015260400192915050565b6000612dba6036836130e6565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f81527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b602082015260400192915050565b805160a0830190612e168482612e62565b506020820151612e296020850182612e62565b506040820151612e3c6040850182612e62565b506060820151612e4f6060850182612e86565b50608082015161136e6080850182612e86565b612a2d81613109565b612a2d81613121565b612a2d81613129565b612a2d8161312c565b612a2d81613135565b6000611b928284612b69565b60208101610b558284612a24565b60408101612eb78285612a24565b611b926020830184612a24565b6101c08101612ed3828d612a24565b612ee0602083018c612a24565b612eed604083018b612e62565b612efa606083018a612e62565b612f076080830189612e7d565b612f1460a0830188612e7d565b612f2160c0830187612b28565b612f2e60e0830186612b98565b818103610100830152612f418185612b31565b9050612f51610120830184612e05565b9b9a5050505050505050505050565b60408101612f6e8285612a24565b611b926020830184612e74565b60208082528101611b928184612a33565b60408082528101612f9d8185612a33565b9050818103602083015261212e8184612ada565b60208082528101611b928184612a8c565b60208082528101611b928184612b31565b6020808252810161206981612ba1565b6020808252810161206981612bda565b6020808252810161206981612c22565b6020808252810161206981612c5b565b6020808252810161206981612ca3565b6020808252810161206981612cdc565b6020808252810161206981612d61565b6020808252810161206981612dad565b60208101610b558284612e6b565b60208101610b558284612e74565b6040518181016001600160401b038111828210171561308d57600080fd5b604052919050565b60006001600160401b038211156130ab57600080fd5b5060209081020190565b60006001600160401b038211156130cb57600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b600061206982613115565b151590565b8061206c8161318e565b6001600160801b031690565b6001600160a01b031690565b62ffffff1690565b90565b63ffffffff1690565b6001600160401b031690565b6000612069826130ff565b82818337506000910152565b60005b8381101561317357818101518382015260200161315b565b8381111561136e5750506000910152565b601f01601f191690565b600281106101c357fe5b6131a1816130ef565b81146101c357600080fd5b6131a1816130fa565b600281106101c357600080fd5b6131a181613109565b6131a181613121565b6131a181613129565b6131a18161312c565b6131a18161313556fea164736f6c634300060c000a", "sourceMap": "1178:13902:128:-:0;;;1607:201;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1672:129;;-1:-1:-1;;;;;;1672:129:128;;;1178:13902;;5:134:-1;83:13;;101:33;83:13;101:33;:::i;:::-;68:71;;;;:::o;146:263::-;;261:2;249:9;240:7;236:23;232:32;229:2;;;277:1;274;267:12;229:2;312:1;329:64;385:7;365:9;329:64;:::i;:::-;319:74;223:186;-1:-1;;;;223:186::o;416:91::-;;-1:-1;;;;;576:54;;478:24;559:76::o;642:117::-;711:24;729:5;711:24;:::i;:::-;704:5;701:35;691:2;;750:1;747;740:12;691:2;685:74;:::o;:::-;1178:13902:128;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106100625760003560e01c80630f081d50146100675780633ee992ee146100855780634ddf47d41461009a57806380daddb8146100af578063e5c23a97146100c5578063ecd658b4146100d8575b600080fd5b61006f6100e0565b60405161007c9190612f7b565b60405180910390f35b61008d610142565b60405161007c9190612fb1565b6100ad6100a83660046128e5565b6101c3565b005b6100b76101c6565b60405161007c929190612f8c565b6100ad6100d33660046128e5565b6102e9565b6100b7610386565b6060600080548060200260200160405190810160405280929190818152602001828054801561013857602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161011a575b5050505050905090565b6060600180548060200260200160405190810160405280929190818152602001828054801561013857602002820191906000526020600020906000905b82829054906101000a900462ffffff1662ffffff168152602001906003019060208260020104928301926001038202915080841161017f5790505050505050905090565b50565b60608060606101d3610142565b90506101dd61038c565b90935091506060806101ee83610788565b8151919350915060005b818110156102585761022684828151811061020f57fe5b602002602001015188610a9090919063ffffffff16565b965061024e83828151811061023757fe5b602002602001015187610b5b90919063ffffffff16565b95506001016101f8565b5060608061026586610c04565b8151919350915060005b818110156102cf5761029d84828151811061028657fe5b60200260200101518b610a9090919063ffffffff16565b99506102c58382815181106102ae57fe5b60200260200101518a610b5b90919063ffffffff16565b985060010161026f565b506102da8989610d8f565b98509850505050505050509091565b600060608280602001905181019061030191906129b1565b9092509050816103195761031481610fd0565b610381565b600182141561032a5761031461127d565b600282141561033c5761031481611374565b600382141561034e5761031481611518565b6004821415610360576103148161195a565b60405162461bcd60e51b815260040161037890613003565b60405180910390fd5b505050565b60608091565b60608060606103996100e0565b805190915060005b818110156107815760008551905060008483815181106103bd57fe5b60200260200101516001600160a01b0316634118ca7d6040518163ffffffff1660e01b815260040160206040518083038186803b1580156103fd57600080fd5b505afa158015610411573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610435919061274b565b90506060816001600160a01b031663ecaf82a5306040518263ffffffff1660e01b81526004016104659190612e9b565b60006040518083038186803b15801561047d57600080fd5b505afa158015610491573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526104b99190810190612893565b90506000805b8251811015610652576104d0612236565b8887815181106104dc57fe5b60200260200101516001600160a01b031663d3ceafb98584815181106104fe57fe5b60200260200101516040518263ffffffff1660e01b81526004016105229190613061565b6101a06040518083038186803b15801561053b57600080fd5b505afa15801561054f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105739190612956565b90508060e001516001600160401b03164210156105a25760405162461bcd60e51b815260040161037890613023565b6000856001600160a01b031663875f43848685815181106105bf57fe5b60200260200101516040518263ffffffff1660e01b81526004016105e39190613061565b60206040518083038186803b1580156105fb57600080fd5b505afa15801561060f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106339190612993565b90508015610648576106458482611b6d565b93505b50506001016104bf565b5080156106f6576106e787868151811061066857fe5b60200260200101516001600160a01b0316636f307dc36040518163ffffffff1660e01b815260040160206040518083038186803b1580156106a857600080fd5b505afa1580156106bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106e0919061274b565b8a90610a90565b98506106f38882610b5b565b97505b83895114156107715761072687868151811061070e57fe5b60200260200101516000611b9990919063ffffffff16565b5086858151811061073357fe5b60200260200101516001600160a01b03167ffd92edd176a06585677580bb1800864a64631aef521abcba2722708c7084c2e460405160405180910390a25b5050600190920191506103a19050565b5050509091565b80516060908190806001600160401b03811180156107a557600080fd5b506040519080825280602002602001820160405280156107cf578160200160208202803683370190505b509250806001600160401b03811180156107e857600080fd5b50604051908082528060200260200182016040528015610812578160200160208202803683370190505b50915060005b81811015610a895761082861229f565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316639cfb2ab087848151811061086357fe5b60200260200101516040518263ffffffff1660e01b81526004016108879190613053565b6101a06040518083038186803b1580156108a057600080fd5b505afa1580156108b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108d89190612937565b90506108e2612309565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c39333ab88858151811061091d57fe5b60200260200101516040518263ffffffff1660e01b81526004016109419190613053565b60a06040518083038186803b15801561095957600080fd5b505afa15801561096d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109919190612919565b905060006109c282600001516001600160801b03168460a001516001600160801b0316611c9190919063ffffffff16565b90508261010001516001600160a01b0316636f307dc36040518163ffffffff1660e01b815260040160206040518083038186803b158015610a0257600080fd5b505afa158015610a16573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a3a919061274b565b878581518110610a4657fe5b60200260200101906001600160a01b031690816001600160a01b03168152505080868581518110610a7357fe5b6020908102919091010152505050600101610818565b5050915091565b606082516001016001600160401b0381118015610aac57600080fd5b50604051908082528060200260200182016040528015610ad6578160200160208202803683370190505b50905060005b8351811015610b2557838181518110610af157fe5b6020026020010151828281518110610b0557fe5b6001600160a01b0390921660209283029190910190910152600101610adc565b508181845181518110610b3457fe5b60200260200101906001600160a01b031690816001600160a01b0316815250505b92915050565b606082516001016001600160401b0381118015610b7757600080fd5b50604051908082528060200260200182016040528015610ba1578160200160208202803683370190505b50905060005b8351811015610be357838181518110610bbc57fe5b6020026020010151828281518110610bd057fe5b6020908102919091010152600101610ba7565b508181845181518110610bf257fe5b60200260200101818152505092915050565b8051606090819060005b81811015610a895760007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316639cfb2ab0878481518110610c5357fe5b60200260200101516040518263ffffffff1660e01b8152600401610c779190613053565b6101a06040518083038186803b158015610c9057600080fd5b505afa158015610ca4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cc89190612937565b61012001519050610cd98582611cc3565b15610ce45750610d87565b6040516370a0823160e01b81526000906001600160a01b038316906370a0823190610d13903090600401612e9b565b60206040518083038186803b158015610d2b57600080fd5b505afa158015610d3f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d639190612993565b90508015610d8457610d758683610a90565b9550610d818582610b5b565b94505b50505b600101610c0e565b606080835160001415610da157610fc9565b6001805b8551811015610e21576000805b82811015610e0b57878181518110610dc657fe5b60200260200101516001600160a01b0316888481518110610de357fe5b60200260200101516001600160a01b03161415610e035760019150610e0b565b600101610db2565b5080610e18576001909201915b50600101610da5565b50806001600160401b0381118015610e3857600080fd5b50604051908082528060200260200182016040528015610e62578160200160208202803683370190505b509250806001600160401b0381118015610e7b57600080fd5b50604051908082528060200260200182016040528015610ea5578160200160208202803683370190505b5091506000805b8651811015610fc5576000805b83811015610f4457868181518110610ecd57fe5b60200260200101516001600160a01b0316898481518110610eea57fe5b60200260200101516001600160a01b03161415610f3c5760019150878381518110610f1157fe5b6020026020010151868281518110610f2557fe5b602002602001018181510191508181525050610f44565b600101610eb9565b5080610fbc57878281518110610f5657fe5b6020026020010151868481518110610f6a57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050868281518110610f9657fe5b6020026020010151858481518110610faa57fe5b60209081029190910101526001909201915b50600101610eac565b5050505b9250929050565b6000806000806000806000806060610fe6612309565b610fef8b611d19565b99509950995099509950995099509950995099506110b67f000000000000000000000000000000000000000000000000000000000000000082604001516001600160801b03168c6001600160a01b0316636f307dc36040518163ffffffff1660e01b815260040160206040518083038186803b15801561106e57600080fd5b505afa158015611082573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110a6919061274b565b6001600160a01b03169190611d64565b60405163113c22ab60e11b81526000906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690632278455690611117908e908e908e908e908e908e908e908e908e908e90600401612ec4565b602060405180830381600087803b15801561113157600080fd5b505af1158015611145573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111699190612975565b905061117660008c611e5e565b6111ee57600080546001810182558180527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630180546001600160a01b0319166001600160a01b038e1690811790915560405190917f6b3e0dcc57df05fef7e2c63274ec9b334d9fad324cedda20d168b66e6f487b4c91a25b6001805480820182556000918252600a8082047fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf601805462ffffff808716600394909506939093026101000a8481029302191691909117905560405190917f27652f622b1c2e924c22bbcd9793267e09bd9469ff3e1d1aef7baa7bb542727791a2505050505050505050505050565b6060611287610142565b805190915060609060005b81811015611363576113597f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316639cfb2ab08684815181106112d857fe5b60200260200101516040518263ffffffff1660e01b81526004016112fc9190613053565b6101a06040518083038186803b15801561131557600080fd5b505afa158015611329573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061134d9190612937565b61012001518490611eb6565b9250600101611292565b5061136e3383611ed8565b50505050565b60008061138083612033565b915091506000826001600160a01b0316634118ca7d6040518163ffffffff1660e01b815260040160206040518083038186803b1580156113bf57600080fd5b505afa1580156113d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113f7919061274b565b9050611401612236565b60405163d3ceafb960e01b81526001600160a01b0383169063d3ceafb99061142d908690600401613061565b6101a06040518083038186803b15801561144657600080fd5b505afa15801561145a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061147e9190612956565b602081015190915061149c6001600160a01b03821684600019611d64565b60405163278ecde160e01b81526001600160a01b0384169063278ecde1906114c8908790600401613061565b600060405180830381600087803b1580156114e257600080fd5b505af11580156114f6573d6000803e3d6000fd5b50611510925050506001600160a01b038216846000611d64565b505050505050565b600061152382612053565b905061152d61229f565b6040516309cfb2ab60e41b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690639cfb2ab090611579908590600401613053565b6101a06040518083038186803b15801561159257600080fd5b505afa1580156115a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115ca9190612937565b90506000816101200151905060008261010001516001600160a01b0316636f307dc36040518163ffffffff1660e01b815260040160206040518083038186803b15801561161657600080fd5b505afa15801561162a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061164e919061274b565b6040516362b4d47960e11b81529091506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c569a8f29061169d908790600401613053565b600060405180830381600087803b1580156116b757600080fd5b505af11580156116cb573d6000803e3d6000fd5b50506001549150600090505b81811015611951578562ffffff16600182815481106116f257fe5b90600052602060002090600a91828204019190066003029054906101000a900462ffffff1662ffffff161415611949576040516370a0823160e01b81526000906001600160a01b038616906370a0823190611751903090600401612e9b565b60206040518083038186803b15801561176957600080fd5b505afa15801561177d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117a19190612993565b905080156117bd576117bd6001600160a01b0386163383612071565b6040516370a0823160e01b81526000906001600160a01b038616906370a08231906117ec903090600401612e9b565b60206040518083038186803b15801561180457600080fd5b505afa158015611818573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061183c9190612993565b90508015611858576118586001600160a01b0386163383612071565b600184038310156118d65760018085038154811061187257fe5b90600052602060002090600a91828204019190066003029054906101000a900462ffffff16600184815481106118a457fe5b90600052602060002090600a91828204019190066003026101000a81548162ffffff021916908362ffffff1602179055505b60018054806118e157fe5b60019003818190600052602060002090600a91828204019190066003026101000a81549062ffffff021916905590558762ffffff167f5117ada9c4efa32749567ede1058300f17ca6204e7a5a68bac0dd615667af42660405160405180910390a25050611951565b6001016116d7565b50505050505050565b60008061196683612033565b915091506000829050806001600160a01b0316634118ca7d6040518163ffffffff1660e01b815260040160206040518083038186803b1580156119a857600080fd5b505afa1580156119bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119e0919061274b565b6001600160a01b0316632e1a7d4d836040518263ffffffff1660e01b8152600401611a0b9190613061565b602060405180830381600087803b158015611a2557600080fd5b505af1158015611a39573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a5d9190612993565b506000816001600160a01b0316636f307dc36040518163ffffffff1660e01b815260040160206040518083038186803b158015611a9957600080fd5b505afa158015611aad573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ad1919061274b565b90506000816001600160a01b03166370a08231306040518263ffffffff1660e01b8152600401611b019190612e9b565b60206040518083038186803b158015611b1957600080fd5b505afa158015611b2d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b519190612993565b90508015611510576115106001600160a01b0383163383612071565b600082820183811015611b925760405162461bcd60e51b815260040161037890612fd3565b9392505050565b8154600090815b81811015611c8957836001600160a01b0316858281548110611bbe57fe5b6000918252602090912001546001600160a01b03161415611c815760018203811015611c4c57846001830381548110611bf357fe5b9060005260206000200160009054906101000a90046001600160a01b0316858281548110611c1d57fe5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055505b84805480611c5657fe5b600082815260209020810160001990810180546001600160a01b031916905501905560019250611c89565b600101611ba0565b505092915050565b6000808211611cb25760405162461bcd60e51b815260040161037890612ff3565b818381611cbb57fe5b049392505050565b6000805b8351811015611d0f57838181518110611cdc57fe5b60200260200101516001600160a01b0316836001600160a01b03161415611d07576001915050610b55565b600101611cc7565b5060009392505050565b6000806000806000806000806060611d2f612309565b8a806020019051810190611d439190612769565b99509950995099509950995099509950995099509193959799509193959799565b801580611dec5750604051636eb1769f60e11b81526001600160a01b0384169063dd62ed3e90611d9a9030908690600401612ea9565b60206040518083038186803b158015611db257600080fd5b505afa158015611dc6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611dea9190612993565b155b611e085760405162461bcd60e51b815260040161037890613043565b6103818363095ea7b360e01b8484604051602401611e27929190612f60565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152612090565b8154600090815b81811015611eab57848181548110611e7957fe5b6000918252602090912001546001600160a01b0385811691161415611ea357600192505050610b55565b600101611e65565b506000949350505050565b6060611ec28383611cc3565b15611ece575081610b55565b611b928383610a90565b606081516001600160401b0381118015611ef157600080fd5b50604051908082528060200260200182016040528015611f1b578160200160208202803683370190505b50905060005b825181101561202c576000838281518110611f3857fe5b60200260200101519050806001600160a01b03166370a08231306040518263ffffffff1660e01b8152600401611f6e9190612e9b565b60206040518083038186803b158015611f8657600080fd5b505afa158015611f9a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fbe9190612993565b838381518110611fca57fe5b6020026020010181815250506000838381518110611fe457fe5b60200260200101511115612023576120238584848151811061200257fe5b6020026020010151836001600160a01b03166120719092919063ffffffff16565b50600101611f21565b5092915050565b6000808280602001905181019061204a9190612859565b91509150915091565b6000818060200190518101906120699190612975565b90505b919050565b6103818363a9059cbb60e01b8484604051602401611e27929190612f60565b60606120e5826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031661211f9092919063ffffffff16565b805190915015610381578080602001905181019061210391906128c7565b6103815760405162461bcd60e51b815260040161037890613033565b606061212e8484600085612136565b949350505050565b6060824710156121585760405162461bcd60e51b815260040161037890612fe3565b612161856121f7565b61217d5760405162461bcd60e51b815260040161037890613013565b60006060866001600160a01b0316858760405161219a9190612e8f565b60006040518083038185875af1925050503d80600081146121d7576040519150601f19603f3d011682016040523d82523d6000602084013e6121dc565b606091505b50915091506121ec8282866121fd565b979650505050505050565b3b151590565b6060831561220c575081611b92565b82511561221c5782518084602001fd5b8160405162461bcd60e51b81526004016103789190612fc2565b604080516101a081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052906101008201908152600060208201819052604082018190526060820181905260809091015290565b604080516101a081018252600080825260208201819052918101829052906060820190815260006020820181905260408201819052606082018190526080820181905260a0820181905260c0820181905260e0820181905261010082018190526101209091015290565b6040805160a08101825260008082526020820181905291810182905260608101829052608081019190915290565b8051610b5581613198565b600082601f83011261235357600080fd5b815161236661236182613095565b61306f565b9150818183526020840193506020810190508385602084028201111561238b57600080fd5b60005b838110156123b757816123a1888261272a565b845250602092830192919091019060010161238e565b5050505092915050565b8051610b55816131ac565b600082601f8301126123dd57600080fd5b81356123eb612361826130b5565b9150808252602083016020830185838301111561240757600080fd5b61241283828461314c565b50505092915050565b600082601f83011261242c57600080fd5b815161243a612361826130b5565b9150808252602083016020830185838301111561245657600080fd5b612412838284613158565b8051610b55816131b5565b600060a0828403121561247e57600080fd5b61248860a061306f565b905060006124968484612714565b82525060206124a784848301612714565b60208301525060406124bb84828501612714565b60408301525060606124cf84828501612740565b60608301525060806124e384828501612740565b60808301525092915050565b60006101a0828403121561250257600080fd5b61250d6101a061306f565b9050600061251b848461271f565b825250602061252c84848301612735565b602083015250604061254084828501612735565b604083015250606061255484828501612461565b606083015250608061256884828501612714565b60808301525060a061257c84828501612714565b60a08301525060c061259084828501612714565b60c08301525060e06125a484828501612714565b60e0830152506101006125b984828501612337565b610100830152506101206125cf84828501612337565b610120830152506101406125e584828501612337565b610140830152506101606125fb848285016123c1565b61016083015250610180612611848285016123c1565b6101808301525092915050565b60006101a0828403121561263157600080fd5b61263c6101a061306f565b9050600061264a8484612337565b825250602061265b84848301612337565b602083015250604061266f8482850161272a565b604083015250606061268384828501612714565b606083015250608061269784828501612714565b60808301525060a06126ab84828501612714565b60a08301525060c06126bf84828501612740565b60c08301525060e06126d384828501612740565b60e0830152506101006126e884828501612461565b610100830152506101206126fe848285016123c1565b610120830152506101406125e5848285016123c1565b8051610b55816131c2565b8051610b55816131cb565b8051610b55816131d4565b8051610b55816131dd565b8051610b55816131e6565b60006020828403121561275d57600080fd5b600061212e8484612337565b6000806000806000806000806000806101c08b8d03121561278957600080fd5b60006127958d8d612337565b9a505060206127a68d828e01612337565b99505060406127b78d828e01612714565b98505060606127c88d828e01612714565b97505060806127d98d828e01612735565b96505060a06127ea8d828e01612735565b95505060c06127fb8d828e016123c1565b94505060e061280c8d828e01612461565b9350506101008b01516001600160401b0381111561282957600080fd5b6128358d828e0161241b565b9250506101206128478d828e0161246c565b9150509295989b9194979a5092959850565b6000806040838503121561286c57600080fd5b60006128788585612337565b92505060206128898582860161272a565b9150509250929050565b6000602082840312156128a557600080fd5b81516001600160401b038111156128bb57600080fd5b61212e84828501612342565b6000602082840312156128d957600080fd5b600061212e84846123c1565b6000602082840312156128f757600080fd5b81356001600160401b0381111561290d57600080fd5b61212e848285016123cc565b600060a0828403121561292b57600080fd5b600061212e848461246c565b60006101a0828403121561294a57600080fd5b600061212e84846124ef565b60006101a0828403121561296957600080fd5b600061212e848461261e565b60006020828403121561298757600080fd5b600061212e848461271f565b6000602082840312156129a557600080fd5b600061212e848461272a565b600080604083850312156129c457600080fd5b60006129d0858561272a565b92505060208301516001600160401b038111156129ec57600080fd5b6128898582860161241b565b6000612a048383612a24565b505060200190565b6000612a048383612e6b565b6000612a048383612e74565b612a2d816130ef565b82525050565b6000612a3e826130e2565b612a4881856130e6565b9350612a53836130dc565b8060005b83811015612a81578151612a6b88826129f8565b9750612a76836130dc565b925050600101612a57565b509495945050505050565b6000612a97826130e2565b612aa181856130e6565b9350612aac836130dc565b8060005b83811015612a81578151612ac48882612a0c565b9750612acf836130dc565b925050600101612ab0565b6000612ae5826130e2565b612aef81856130e6565b9350612afa836130dc565b8060005b83811015612a81578151612b128882612a18565b9750612b1d836130dc565b925050600101612afe565b612a2d816130fa565b6000612b3c826130e2565b612b4681856130e6565b9350612b56818560208601613158565b612b5f81613184565b9093019392505050565b6000612b74826130e2565b612b7e818561206c565b9350612b8e818560208601613158565b9290920192915050565b612a2d81613141565b6000612bae601b836130e6565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000612be76026836130e6565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f8152651c8818d85b1b60d21b602082015260400192915050565b6000612c2f601a836130e6565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b6000612c686026836130e6565b7f7265636569766543616c6c46726f6d5661756c743a20496e76616c69642061638152651d1a5bdb925960d21b602082015260400192915050565b6000612cb0601d836130e6565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000815260200192915050565b6000612ce96057836130e6565b7f5f5f676574576974686472617761626c654173736574416d6f756e7473416e6481527f52656d6f766557697468647261776e566f7563686572733a207072652d6d617460208201527f7572652069737375656420766f756368657220736c6f74000000000000000000604082015260600192915050565b6000612d6e602a836130e6565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e8152691bdd081cdd58d8d9595960b21b602082015260400192915050565b6000612dba6036836130e6565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f81527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b602082015260400192915050565b805160a0830190612e168482612e62565b506020820151612e296020850182612e62565b506040820151612e3c6040850182612e62565b506060820151612e4f6060850182612e86565b50608082015161136e6080850182612e86565b612a2d81613109565b612a2d81613121565b612a2d81613129565b612a2d8161312c565b612a2d81613135565b6000611b928284612b69565b60208101610b558284612a24565b60408101612eb78285612a24565b611b926020830184612a24565b6101c08101612ed3828d612a24565b612ee0602083018c612a24565b612eed604083018b612e62565b612efa606083018a612e62565b612f076080830189612e7d565b612f1460a0830188612e7d565b612f2160c0830187612b28565b612f2e60e0830186612b98565b818103610100830152612f418185612b31565b9050612f51610120830184612e05565b9b9a5050505050505050505050565b60408101612f6e8285612a24565b611b926020830184612e74565b60208082528101611b928184612a33565b60408082528101612f9d8185612a33565b9050818103602083015261212e8184612ada565b60208082528101611b928184612a8c565b60208082528101611b928184612b31565b6020808252810161206981612ba1565b6020808252810161206981612bda565b6020808252810161206981612c22565b6020808252810161206981612c5b565b6020808252810161206981612ca3565b6020808252810161206981612cdc565b6020808252810161206981612d61565b6020808252810161206981612dad565b60208101610b558284612e6b565b60208101610b558284612e74565b6040518181016001600160401b038111828210171561308d57600080fd5b604052919050565b60006001600160401b038211156130ab57600080fd5b5060209081020190565b60006001600160401b038211156130cb57600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b600061206982613115565b151590565b8061206c8161318e565b6001600160801b031690565b6001600160a01b031690565b62ffffff1690565b90565b63ffffffff1690565b6001600160401b031690565b6000612069826130ff565b82818337506000910152565b60005b8381101561317357818101518382015260200161315b565b8381111561136e5750506000910152565b601f01601f191690565b600281106101c357fe5b6131a1816130ef565b81146101c357600080fd5b6131a1816130fa565b600281106101c357600080fd5b6131a181613109565b6131a181613121565b6131a181613129565b6131a18161312c565b6131a18161313556fea164736f6c634300060c000a", "sourceMap": "1178:13902:128:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14755:116;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14972:106;;;:::i;:::-;;;;;;;:::i;1917:48::-;;;;;;:::i;:::-;;:::i;:::-;;8726:1378;;;:::i;:::-;;;;;;;;:::i;2093:771::-;;;;;;:::i;:::-;;:::i;8051:176::-;;;:::i;14755:116::-;14805:26;14850:14;14843:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;14843:21:128;;;;;;;;;;;;;;;;;;;;;;;14755:116;:::o;14972:106::-;15023:23;15065:6;15058:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14972:106;:::o;1917:48::-;;:::o;8726:1378::-;8805:24;8831:25;8872;8900:11;:9;:11::i;:::-;8872:39;;9032:57;:55;:57::i;:::-;9010:79;;-1:-1:-1;9010:79:128;-1:-1:-1;9181:33:128;;9275:39;9304:9;9275:28;:39::i;:::-;9357:23;;9167:147;;-1:-1:-1;9167:147:128;-1:-1:-1;9324:30:128;9390:183;9410:22;9406:1;:26;9390:183;;;9463:36;9479:16;9496:1;9479:19;;;;;;;;;;;;;;9463:7;:15;;:36;;;;:::i;:::-;9453:46;;9524:38;9541:17;9559:1;9541:20;;;;;;;;;;;;;;9524:8;:16;;:38;;;;:::i;:::-;9513:49;-1:-1:-1;9434:3:128;;9390:183;;;;9674:27;9715:33;9761:42;9793:9;9761:31;:42::i;:::-;9841:17;;9660:143;;-1:-1:-1;9660:143:128;-1:-1:-1;9814:24:128;9868:170;9888:16;9884:1;:20;9868:170;;;9935:30;9951:10;9962:1;9951:13;;;;;;;;;;;;;;9935:7;:15;;:30;;;;:::i;:::-;9925:40;;9990:37;10007:16;10024:1;10007:19;;;;;;;;;;;;;;9990:8;:16;;:37;;;;:::i;:::-;9979:48;-1:-1:-1;9906:3:128;;9868:170;;;;10055:42;10079:7;10088:8;10055:23;:42::i;:::-;10048:49;;;;;;;;;;;8726:1378;;:::o;2093:771::-;2178:16;2196:23;2234:11;2223:41;;;;;;;;;;;;:::i;:::-;2177:87;;-1:-1:-1;2177:87:128;-1:-1:-1;2279:40:128;2275:583;;2335:31;2355:10;2335:19;:31::i;:::-;2275:583;;;2407:17;2387:8;:38;2383:475;;;2441:19;:17;:19::i;2383:475::-;2501:14;2481:8;:35;2477:381;;;2532:26;2547:10;2532:14;:26::i;2477:381::-;2599:19;2579:8;:40;2575:283;;;2635:31;2655:10;2635:19;:31::i;2575:283::-;2707:16;2687:8;:37;2683:175;;;2740:28;2757:10;2740:16;:28::i;2683:175::-;2799:48;;-1:-1:-1;;;2799:48:128;;;;;;;:::i;:::-;;;;;;;;2683:175;2093:771;;;:::o;8051:176::-;8127:24;8153:25;8051:176;:::o;12417:2154::-;12517:24;12543:25;12584:28;12615:19;:17;:19::i;:::-;12669:18;;12584:50;;-1:-1:-1;12644:22:128;12698:1831;12718:14;12714:1;:18;12698:1831;;;12753:23;12779:7;:14;12753:40;;12808:35;12898:11;12910:1;12898:14;;;;;;;;;;;;;;-1:-1:-1;;;;;12879:43:128;;:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12808:130;;12952:22;12977:19;-1:-1:-1;;;;;12977:34:128;;13020:4;12977:49;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;12977:49:128;;;;;;;;;;;;:::i;:::-;12952:74;;13041:30;13091:9;13086:774;13106:5;:12;13102:1;:16;13086:774;;;13143:44;;:::i;:::-;13209:11;13221:1;13209:14;;;;;;;;;;;;;;-1:-1:-1;;;;;13190:69:128;;13260:5;13266:1;13260:8;;;;;;;;;;;;;;13190:79;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13143:126;;13438:10;:19;;;-1:-1:-1;;;;;13419:38:128;:15;:38;;13390:196;;;;-1:-1:-1;;;13390:196:128;;;;;;;:::i;:::-;13604:27;13634:19;-1:-1:-1;;;;;13634:41:128;;13676:5;13682:1;13676:8;;;;;;;;;;;;;;13634:51;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13604:81;-1:-1:-1;13708:23:128;;13704:142;;13780:47;:22;13807:19;13780:26;:47::i;:::-;13755:72;;13704:142;-1:-1:-1;;13120:3:128;;13086:774;;;-1:-1:-1;13878:26:128;;13874:208;;13934:64;13969:11;13981:1;13969:14;;;;;;;;;;;;;;-1:-1:-1;;;;;13950:45:128;;:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13934:7;;:15;:64::i;:::-;13924:74;-1:-1:-1;14027:40:128;:8;14044:22;14027:16;:40::i;:::-;14016:51;;13874:208;14299:15;14281:7;:14;:33;14277:242;;;14396:48;14429:11;14441:1;14429:14;;;;;;;;;;;;;;14396;:32;;:48;;;;:::i;:::-;;14489:11;14501:1;14489:14;;;;;;;;;;;;;;-1:-1:-1;;;;;14468:36:128;;;;;;;;;;;14277:242;-1:-1:-1;;12734:3:128;;;;;-1:-1:-1;12698:1831:128;;-1:-1:-1;12698:1831:128;;;14538:26;;12417:2154;;:::o;10198:1010::-;10402:14;;10307:29;;;;10402:14;-1:-1:-1;;;;;10442:27:128;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10442:27:128;;10427:42;;10504:12;-1:-1:-1;;;;;10490:27:128;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10490:27:128;;10479:38;;10533:9;10528:632;10548:12;10544:1;:16;10528:632;;;10581:80;;:::i;:::-;10664:37;-1:-1:-1;;;;;10664:47:128;;10712:7;10720:1;10712:10;;;;;;;;;;;;;;10664:59;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10581:142;;10738:91;;:::i;:::-;10832:37;-1:-1:-1;;;;;10832:52:128;;10906:7;10914:1;10906:10;;;;;;;;;;;;;;10832:102;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10738:196;;10949:20;10972:55;11000:14;:26;;;-1:-1:-1;;;;;10972:55:128;10980:8;:14;;;-1:-1:-1;;;;;10972:23:128;:27;;:55;;;;:::i;:::-;10949:78;;11079:8;:16;;;-1:-1:-1;;;;;11060:47:128;;:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11042:12;11055:1;11042:15;;;;;;;;;;;;;:67;-1:-1:-1;;;;;11042:67:128;;;-1:-1:-1;;;;;11042:67:128;;;;;11137:12;11123:8;11132:1;11123:11;;;;;;;;;;;;;;;;;:26;-1:-1:-1;;;10562:3:128;;10528:632;;;;11170:31;10198:1010;;;:::o;1668:374:354:-;1776:27;1846:5;:12;1861:1;1846:16;-1:-1:-1;;;;;1832:31:354;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1832:31:354;;1819:44;;1878:9;1873:88;1893:5;:12;1889:1;:16;1873:88;;;1942:5;1948:1;1942:8;;;;;;;;;;;;;;1926:10;1937:1;1926:13;;;;;;;;-1:-1:-1;;;;;1926:24:354;;;:13;;;;;;;;;;;:24;1907:3;;1873:88;;;;1997:10;1970;1981:5;:12;1970:24;;;;;;;;;;;;;:37;-1:-1:-1;;;;;1970:37:354;;;-1:-1:-1;;;;;1970:37:354;;;;;1668:374;;;;;:::o;::363:-;1776:27;1846:5;:12;1861:1;1846:16;-1:-1:-1;;;;;1832:31:363;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1832:31:363;;1819:44;;1878:9;1873:88;1893:5;:12;1889:1;:16;1873:88;;;1942:5;1948:1;1942:8;;;;;;;;;;;;;;1926:10;1937:1;1926:13;;;;;;;;;;;;;;;;;:24;1907:3;;1873:88;;;;1997:10;1970;1981:5;:12;1970:24;;;;;;;;;;;;;:37;;;;;1668:374;;;;:::o;11323:857:128:-;11530:14;;11435:28;;;;11507:20;11555:577;11575:12;11571:1;:16;11555:577;;;11608:16;11627:37;-1:-1:-1;;;;;11627:64:128;;11692:7;11700:1;11692:10;;;;;;;;;;;;;;11627:76;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:102;;;;-1:-1:-1;11815:30:128;:11;11627:102;11815:20;:30::i;:::-;11811:77;;;11865:8;;;11811:77;11919:40;;-1:-1:-1;;;11919:40:128;;11901:15;;-1:-1:-1;;;;;11919:25:128;;;;;:40;;11953:4;;11919:40;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11901:58;-1:-1:-1;11977:11:128;;11973:149;;12022:29;:11;12042:8;12022:19;:29::i;:::-;12008:43;-1:-1:-1;12081:26:128;:9;12099:7;12081:17;:26::i;:::-;12069:38;;11973:149;11555:577;;;11589:3;;11555:577;;749:1574:355;888:34;924:35;979:10;:17;1000:1;979:22;975:99;;;1017:46;;975:99;1115:1;;1126:361;1150:10;:17;1146:1;:21;1126:361;;;1188:13;1220:9;1215:179;1235:1;1231;:5;1215:179;;;1282:10;1293:1;1282:13;;;;;;;;;;;;;;-1:-1:-1;;;;;1265:30:355;:10;1276:1;1265:13;;;;;;;;;;;;;;-1:-1:-1;;;;;1265:30:355;;1261:119;;;1330:4;1319:15;;1356:5;;1261:119;1238:3;;1215:179;;;;1412:8;1407:70;;1440:22;;;;;1407:70;-1:-1:-1;1169:3:355;;1126:361;;;;1531:20;-1:-1:-1;;;;;1517:35:355;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1517:35:355;;1497:55;;1597:20;-1:-1:-1;;;;;1583:35:355;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1583:35:355;;1562:56;;1628:28;1671:9;1666:594;1686:10;:17;1682:1;:21;1666:594;;;1724:13;1756:9;1751:268;1771:20;1767:1;:24;1751:268;;;1837:17;1855:1;1837:20;;;;;;;;;;;;;;-1:-1:-1;;;;;1820:37:355;:10;1831:1;1820:13;;;;;;;;;;;;;;-1:-1:-1;;;;;1820:37:355;;1816:189;;;1892:4;1881:15;;1944:11;1956:1;1944:14;;;;;;;;;;;;;;1919:18;1938:1;1919:21;;;;;;;;;;;;;:39;;;;;;;;;;;1981:5;;1816:189;1793:3;;1751:268;;;;2037:8;2032:218;;2107:10;2118:1;2107:13;;;;;;;;;;;;;;2065:17;2083:20;2065:39;;;;;;;;;;;;;:55;-1:-1:-1;;;;;2065:55:355;;;-1:-1:-1;;;;;2065:55:355;;;;;2181:11;2193:1;2181:14;;;;;;;;;;;;;;2138:18;2157:20;2138:40;;;;;;;;;;;;;;;;;:57;2213:22;;;;;2032:218;-1:-1:-1;1705:3:355;;1666:594;;;;2270:46;;749:1574;;;;;;:::o;2928:1237:128:-;3015:15;3044:16;3074:11;3099;3124:16;3154:14;3182:17;3213:59;3286:22;3322:74;;:::i;:::-;3409:42;3439:11;3409:29;:42::i;:::-;3001:450;;;;;;;;;;;;;;;;;;;;3462:170;3543:37;3595:13;:27;;;-1:-1:-1;;;;;3462:170:128;3487:7;-1:-1:-1;;;;;3468:38:128;;:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;3462:59:128;;:170;:59;:170::i;:::-;3660:273;;-1:-1:-1;;;3660:273:128;;3643:14;;-1:-1:-1;;;;;3660:37:128;:43;;;;:273;;3717:7;;3738:8;;3760:3;;3777;;3794:9;;3817:7;;3838:12;;3864:9;;3887;;3910:13;;3660:273;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3643:290;-1:-1:-1;3949:44:128;:14;3985:7;3949:35;:44::i;:::-;3944:150;;4009:14;:28;;;;;;;;;;;;;;-1:-1:-1;;;;;;4009:28:128;-1:-1:-1;;;;;4009:28:128;;;;;;;;4056:27;;4009:28;;4056:27;;;3944:150;4104:6;:20;;;;;;;-1:-1:-1;4104:20:128;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4139:19;;4104:20;;4139:19;;;2928:1237;;;;;;;;;;;;:::o;4226:567::-;4273:25;4301:11;:9;:11::i;:::-;4470:16;;4273:39;;-1:-1:-1;4400:37:128;;4447:20;4496:223;4516:12;4512:1;:16;4496:223;;;4572:136;4624:37;-1:-1:-1;;;;;4624:47:128;;4672:9;4682:1;4672:12;;;;;;;;;;;;;;4624:61;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:70;;;4572:20;;:34;:136::i;:::-;4549:159;-1:-1:-1;4530:3:128;;4496:223;;;;4729:57;4753:10;4765:20;4729:23;:57::i;:::-;;4226:567;;;:::o;4844:632::-;4913:15;4930:14;4948:37;4973:11;4948:24;:37::i;:::-;4912:73;;;;4995:35;5081:7;-1:-1:-1;;;;;5062:36:128;;:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4995:115;;5121:44;;:::i;:::-;5168:41;;-1:-1:-1;;;5168:41:128;;-1:-1:-1;;;;;5168:33:128;;;;;:41;;5202:6;;5168:41;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5248:23;;;;5121:88;;-1:-1:-1;5283:74:128;-1:-1:-1;;;;;5283:25:128;;5317:19;-1:-1:-1;;5283:25:128;:74::i;:::-;5367:34;;-1:-1:-1;;;5367:34:128;;-1:-1:-1;;;;;5367:26:128;;;;;:34;;5394:6;;5367:34;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5411:58:128;;-1:-1:-1;;;;;;;;5411:25:128;;5445:19;5467:1;5411:25;:58::i;:::-;4844:632;;;;;;:::o;5519:1623::-;5592:14;5609:42;5639:11;5609:29;:42::i;:::-;5592:59;;5712:73;;:::i;:::-;5788:56;;-1:-1:-1;;;5788:56:128;;-1:-1:-1;;;;;5788:37:128;:47;;;;:56;;5836:7;;5788:56;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5712:132;;5855:19;5883:5;:14;;;5855:43;;5908:21;5957:5;:13;;;-1:-1:-1;;;;;5938:44:128;;:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5996:53;;-1:-1:-1;;;5996:53:128;;5908:77;;-1:-1:-1;;;;;;5996:37:128;:44;;;;:53;;6041:7;;5996:53;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6083:6:128;:13;;-1:-1:-1;6060:20:128;;-1:-1:-1;6159:977:128;6179:12;6175:1;:16;6159:977;;;6229:7;6216:20;;:6;6223:1;6216:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:20;;;6212:914;;;6360:38;;-1:-1:-1;;;6360:38:128;;6334:23;;-1:-1:-1;;;;;6360:23:128;;;;;:38;;6392:4;;6360:38;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6334:64;-1:-1:-1;6420:19:128;;6416:121;;6463:55;-1:-1:-1;;;;;6463:26:128;;6490:10;6502:15;6463:26;:55::i;:::-;6662:40;;-1:-1:-1;;;6662:40:128;;6634:25;;-1:-1:-1;;;;;6662:25:128;;;;;:40;;6696:4;;6662:40;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6634:68;-1:-1:-1;6724:21:128;;6720:127;;6769:59;-1:-1:-1;;;;;6769:28:128;;6798:10;6810:17;6769:28;:59::i;:::-;6933:1;6918:12;:16;6914:1;:20;6910:103;;;6970:6;6992:1;6977:12;:16;6970:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6958:6;6965:1;6958:9;;;;;;;;;;;;;;;;;;;;;;;;;;:36;;;;;;;;;;;;;;;;;;6910:103;7030:6;:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7079:7;7066:21;;;;;;;;;;;;7106:5;;;;6212:914;6193:3;;6159:977;;;;5519:1623;;;;;;:::o;7239:566::-;7310:15;7327:14;7345:39;7372:11;7345:26;:39::i;:::-;7309:75;;;;7395:34;7451:7;7395:64;;7485:15;-1:-1:-1;;;;;7485:24:128;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;7469:52:128;;7522:6;7469:60;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;7540:21;7570:15;-1:-1:-1;;;;;7570:26:128;;:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7540:59;;7609:25;7637:15;-1:-1:-1;;;;;7637:25:128;;7671:4;7637:40;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7609:68;-1:-1:-1;7692:21:128;;7688:111;;7729:59;-1:-1:-1;;;;;7729:28:128;;7758:10;7770:17;7729:28;:59::i;2690:175:442:-;2748:7;2779:5;;;2802:6;;;;2794:46;;;;-1:-1:-1;;;2794:46:442;;;;;;;:::i;:::-;2857:1;2690:175;-1:-1:-1;;;2690:175:442:o;569:515:354:-;727:12;;678:13;;;749:303;769:9;765:1;:13;749:303;;;815:13;-1:-1:-1;;;;;803:25:354;:5;809:1;803:8;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;803:8:354;:25;799:243;;;868:1;856:9;:13;852:1;:17;848:95;;;904:5;922:1;910:9;:13;904:20;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;904:20:354;893:5;899:1;893:8;;;;;;;;;;;;;;;;:31;;;;;-1:-1:-1;;;;;893:31:354;;;;;-1:-1:-1;;;;;893:31:354;;;;;;848:95;960:5;:11;;;;;;;;;;;;;;;;-1:-1:-1;;960:11:354;;;;;-1:-1:-1;;;;;;960:11:354;;;;;;;;-1:-1:-1;1022:5:354;;799:243;780:3;;749:303;;;;1062:15;569:515;;;;:::o;4217:150:442:-;4275:7;4306:1;4302;:5;4294:44;;;;-1:-1:-1;;;4294:44:442;;;;;;;:::i;:::-;4359:1;4355;:5;;;;;;;4217:150;-1:-1:-1;;;4217:150:442:o;2489:299:354:-;2595:17;2633:9;2628:132;2648:5;:12;2644:1;:16;2628:132;;;2696:5;2702:1;2696:8;;;;;;;;;;;;;;-1:-1:-1;;;;;2685:19:354;:7;-1:-1:-1;;;;;2685:19:354;;2681:69;;;2731:4;2724:11;;;;;2681:69;2662:3;;2628:132;;;-1:-1:-1;2776:5:354;;2489:299;-1:-1:-1;;;2489:299:354:o;723:1038:127:-;848:16;878:17;909:12;935;961:17;992:15;1021:18;1053:60;1127:22;1163:75;;:::i;:::-;1312:11;1284:460;;;;;;;;;;;;:::i;:::-;1263:491;;;;;;;;;;;;;;;;;;;;723:1038;;;;;;;;;;;:::o;1348:613:450:-;1713:10;;;1712:62;;-1:-1:-1;1729:39:450;;-1:-1:-1;;;1729:39:450;;-1:-1:-1;;;;;1729:15:450;;;;;:39;;1753:4;;1760:7;;1729:39;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:44;1712:62;1704:150;;;;-1:-1:-1;;;1704:150:450;;;;;;;:::i;:::-;1864:90;1884:5;1914:22;;;1938:7;1947:5;1891:62;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;1891:62:450;;;;;;;;;;;;;;-1:-1:-1;;;;;1891:62:450;-1:-1:-1;;;;;;1891:62:450;;;;;;;;;;1864:19;:90::i;1167:351:354:-;1339:12;;1286:17;;;1361:129;1381:9;1377:1;:13;1361:129;;;1426:5;1432:1;1426:8;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1415:19:354;;;1426:8;;1415:19;1411:69;;;1461:4;1454:11;;;;;;1411:69;1392:3;;1361:129;;;-1:-1:-1;1506:5:354;;1167:351;-1:-1:-1;;;;1167:351:354:o;2136:277::-;2250:27;2297;2306:5;2313:10;2297:8;:27::i;:::-;2293:70;;;-1:-1:-1;2347:5:354;2340:12;;2293:70;2380:26;2388:5;2395:10;2380:7;:26::i;3539:585:355:-;3649:36;3737:7;:14;-1:-1:-1;;;;;3723:29:355;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3723:29:355;;3701:51;;3767:9;3762:319;3782:7;:14;3778:1;:18;3762:319;;;3817:19;3845:7;3853:1;3845:10;;;;;;;;;;;;;;3817:39;;3895:13;-1:-1:-1;;;;;3895:23:355;;3927:4;3895:38;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3870:19;3890:1;3870:22;;;;;;;;;;;;;:63;;;;;3976:1;3951:19;3971:1;3951:22;;;;;;;;;;;;;;:26;3947:124;;;3997:59;4024:7;4033:19;4053:1;4033:22;;;;;;;;;;;;;;3997:13;-1:-1:-1;;;;;3997:26:355;;;:59;;;;;:::i;:::-;-1:-1:-1;3798:3:355;;3762:319;;;;3539:585;;;;:::o;1832:215:127:-;1939:16;1957:15;2007:11;1996:43;;;;;;;;;;;;:::i;:::-;1988:52;;;;1832:215;;;:::o;2123:192::-;2235:15;2285:11;2274:33;;;;;;;;;;;;:::i;:::-;2266:42;;2123:192;;;;:::o;704:175:450:-;786:86;806:5;836:23;;;861:2;865:5;813:58;;;;;;;;;:::i;2967:751::-;3386:23;3412:69;3440:4;3412:69;;;;;;;;;;;;;;;;;3420:5;-1:-1:-1;;;;;3412:27:450;;;:69;;;;;:::i;:::-;3495:17;;3386:95;;-1:-1:-1;3495:21:450;3491:221;;3635:10;3624:30;;;;;;;;;;;;:::i;:::-;3616:85;;;;-1:-1:-1;;;3616:85:450;;;;;;;:::i;3581:193:451:-;3684:12;3715:52;3737:6;3745:4;3751:1;3754:12;3715:21;:52::i;:::-;3708:59;3581:193;-1:-1:-1;;;;3581:193:451:o;4608:523::-;4735:12;4792:5;4767:21;:30;;4759:81;;;;-1:-1:-1;;;4759:81:451;;;;;;;:::i;:::-;4858:18;4869:6;4858:10;:18::i;:::-;4850:60;;;;-1:-1:-1;;;4850:60:451;;;;;;;:::i;:::-;4981:12;4995:23;5022:6;-1:-1:-1;;;;;5022:11:451;5042:5;5050:4;5022:33;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4980:75;;;;5072:52;5090:7;5099:10;5111:12;5072:17;:52::i;:::-;5065:59;4608:523;-1:-1:-1;;;;;;;4608:523:451:o;726:413::-;1086:20;1124:8;;;726:413::o;7091:725::-;7206:12;7234:7;7230:580;;;-1:-1:-1;7264:10:451;7257:17;;7230:580;7375:17;;:21;7371:429;;7633:10;7627:17;7693:15;7680:10;7676:2;7672:19;7665:44;7582:145;7772:12;7765:20;;-1:-1:-1;;;7765:20:451;;;;;;;;:::i;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5:134::-;83:13;;101:33;83:13;101:33;:::i;321:722::-;;449:3;442:4;434:6;430:17;426:27;416:2;;467:1;464;457:12;416:2;497:6;491:13;519:80;534:64;591:6;534:64;:::i;:::-;519:80;:::i;:::-;510:89;;616:5;641:6;634:5;627:21;671:4;663:6;659:17;649:27;;693:4;688:3;684:14;677:21;;746:6;793:3;785:4;777:6;773:17;768:3;764:27;761:36;758:2;;;810:1;807;800:12;758:2;835:1;820:217;845:6;842:1;839:13;820:217;;;903:3;925:48;969:3;957:10;925:48;:::i;:::-;913:61;;-1:-1;997:4;988:14;;;;1016;;;;;867:1;860:9;820:217;;;824:14;409:634;;;;;;;:::o;1051:128::-;1126:13;;1144:30;1126:13;1144:30;:::i;1187:440::-;;1288:3;1281:4;1273:6;1269:17;1265:27;1255:2;;1306:1;1303;1296:12;1255:2;1343:6;1330:20;1365:64;1380:48;1421:6;1380:48;:::i;1365:64::-;1356:73;;1449:6;1442:5;1435:21;1485:4;1477:6;1473:17;1518:4;1511:5;1507:16;1553:3;1544:6;1539:3;1535:16;1532:25;1529:2;;;1570:1;1567;1560:12;1529:2;1580:41;1614:6;1609:3;1604;1580:41;:::i;:::-;1248:379;;;;;;;:::o;1636:442::-;;1748:3;1741:4;1733:6;1729:17;1725:27;1715:2;;1766:1;1763;1756:12;1715:2;1796:6;1790:13;1818:64;1833:48;1874:6;1833:48;:::i;1818:64::-;1809:73;;1902:6;1895:5;1888:21;1938:4;1930:6;1926:17;1971:4;1964:5;1960:16;2006:3;1997:6;1992:3;1988:16;1985:25;1982:2;;;2023:1;2020;2013:12;1982:2;2033:39;2065:6;2060:3;2055;2033:39;:::i;2086:174::-;2184:13;;2202:53;2184:13;2202:53;:::i;2505:1008::-;;2637:4;2625:9;2620:3;2616:19;2612:30;2609:2;;;2655:1;2652;2645:12;2609:2;2673:20;2688:4;2673:20;:::i;:::-;2664:29;-1:-1;2750:1;2782:60;2838:3;2818:9;2782:60;:::i;:::-;2757:86;;-1:-1;2912:2;2945:60;3001:3;2977:22;;;2945:60;:::i;:::-;2938:4;2931:5;2927:16;2920:86;2864:153;3076:2;3109:60;3165:3;3156:6;3145:9;3141:22;3109:60;:::i;:::-;3102:4;3095:5;3091:16;3084:86;3027:154;3240:2;3273:59;3328:3;3319:6;3308:9;3304:22;3273:59;:::i;:::-;3266:4;3259:5;3255:16;3248:85;3191:153;3398:3;3432:59;3487:3;3478:6;3467:9;3463:22;3432:59;:::i;:::-;3425:4;3418:5;3414:16;3407:85;3354:149;2603:910;;;;:::o;3582:2280::-;;3709:6;3697:9;3692:3;3688:19;3684:32;3681:2;;;3729:1;3726;3719:12;3681:2;3747:22;3762:6;3747:22;:::i;:::-;3738:31;-1:-1;3825:1;3857:59;3912:3;3892:9;3857:59;:::i;:::-;3832:85;;-1:-1;3983:2;4016:59;4071:3;4047:22;;;4016:59;:::i;:::-;4009:4;4002:5;3998:16;3991:85;3938:149;4140:2;4173:59;4228:3;4219:6;4208:9;4204:22;4173:59;:::i;:::-;4166:4;4159:5;4155:16;4148:85;4097:147;4299:2;4332:75;4403:3;4394:6;4383:9;4379:22;4332:75;:::i;:::-;4325:4;4318:5;4314:16;4307:101;4254:165;4475:3;4509:60;4565:3;4556:6;4545:9;4541:22;4509:60;:::i;:::-;4502:4;4495:5;4491:16;4484:86;4429:152;4632:3;4666:60;4722:3;4713:6;4702:9;4698:22;4666:60;:::i;:::-;4659:4;4652:5;4648:16;4641:86;4591:147;4787:3;4821:60;4877:3;4868:6;4857:9;4853:22;4821:60;:::i;:::-;4814:4;4807:5;4803:16;4796:86;4748:145;4942:3;4976:60;5032:3;5023:6;5012:9;5008:22;4976:60;:::i;:::-;4969:4;4962:5;4958:16;4951:86;4903:145;5101:3;5137:60;5193:3;5184:6;5173:9;5169:22;5137:60;:::i;:::-;5128:6;5121:5;5117:18;5110:88;5058:151;5263:3;5299:60;5355:3;5346:6;5335:9;5331:22;5299:60;:::i;:::-;5290:6;5283:5;5279:18;5272:88;5219:152;5423:3;5459:60;5515:3;5506:6;5495:9;5491:22;5459:60;:::i;:::-;5450:6;5443:5;5439:18;5432:88;5381:150;5589:3;5625:57;5678:3;5669:6;5658:9;5654:22;5625:57;:::i;:::-;5616:6;5609:5;5605:18;5598:85;5541:153;5747:3;5783:57;5836:3;5827:6;5816:9;5812:22;5783:57;:::i;:::-;5774:6;5767:5;5763:18;5756:85;5704:148;3675:2187;;;;:::o;5909:2332::-;;6038:6;6026:9;6021:3;6017:19;6013:32;6010:2;;;6058:1;6055;6048:12;6010:2;6076:22;6091:6;6076:22;:::i;:::-;6067:31;-1:-1;6150:1;6182:60;6238:3;6218:9;6182:60;:::i;:::-;6157:86;;-1:-1;6312:2;6345:60;6401:3;6377:22;;;6345:60;:::i;:::-;6338:4;6331:5;6327:16;6320:86;6264:153;6473:2;6506:60;6562:3;6553:6;6542:9;6538:22;6506:60;:::i;:::-;6499:4;6492:5;6488:16;6481:86;6427:151;6635:2;6668:60;6724:3;6715:6;6704:9;6700:22;6668:60;:::i;:::-;6661:4;6654:5;6650:16;6643:86;6588:152;6798:3;6832:60;6888:3;6879:6;6868:9;6864:22;6832:60;:::i;:::-;6825:4;6818:5;6814:16;6807:86;6750:154;6961:3;6995:60;7051:3;7042:6;7031:9;7027:22;6995:60;:::i;:::-;6988:4;6981:5;6977:16;6970:86;6914:153;7126:3;7160:59;7215:3;7206:6;7195:9;7191:22;7160:59;:::i;:::-;7153:4;7146:5;7142:16;7135:85;7077:154;7285:3;7319:59;7374:3;7365:6;7354:9;7350:22;7319:59;:::i;:::-;7312:4;7305:5;7301:16;7294:85;7241:149;7450:3;7486:80;7562:3;7553:6;7542:9;7538:22;7486:80;:::i;:::-;7477:6;7470:5;7466:18;7459:108;7400:178;7640:3;7676:57;7729:3;7720:6;7709:9;7705:22;7676:57;:::i;:::-;7667:6;7660:5;7656:18;7649:85;7588:157;7808:3;7844:57;7897:3;7888:6;7877:9;7873:22;7844:57;:::i;8248:134::-;8326:13;;8344:33;8326:13;8344:33;:::i;8389:132::-;8466:13;;8484:32;8466:13;8484:32;:::i;8528:134::-;8606:13;;8624:33;8606:13;8624:33;:::i;8669:132::-;8746:13;;8764:32;8746:13;8764:32;:::i;8808:132::-;8885:13;;8903:32;8885:13;8903:32;:::i;8947:263::-;;9062:2;9050:9;9041:7;9037:23;9033:32;9030:2;;;9078:1;9075;9068:12;9030:2;9113:1;9130:64;9186:7;9166:9;9130:64;:::i;9217:1707::-;;;;;;;;;;;9552:3;9540:9;9531:7;9527:23;9523:33;9520:2;;;9569:1;9566;9559:12;9520:2;9604:1;9621:72;9685:7;9665:9;9621:72;:::i;:::-;9611:82;;9583:116;9730:2;9748:72;9812:7;9803:6;9792:9;9788:22;9748:72;:::i;:::-;9738:82;;9709:117;9857:2;9875:64;9931:7;9922:6;9911:9;9907:22;9875:64;:::i;:::-;9865:74;;9836:109;9976:2;9994:64;10050:7;10041:6;10030:9;10026:22;9994:64;:::i;:::-;9984:74;;9955:109;10095:3;10114:63;10169:7;10160:6;10149:9;10145:22;10114:63;:::i;:::-;10104:73;;10074:109;10214:3;10233:63;10288:7;10279:6;10268:9;10264:22;10233:63;:::i;:::-;10223:73;;10193:109;10333:3;10352:61;10405:7;10396:6;10385:9;10381:22;10352:61;:::i;:::-;10342:71;;10312:107;10450:3;10469:79;10540:7;10531:6;10520:9;10516:22;10469:79;:::i;:::-;10459:89;;10429:125;10606:3;10595:9;10591:19;10585:26;-1:-1;;;;;10623:6;10620:30;10617:2;;;10663:1;10660;10653:12;10617:2;10683:73;10748:7;10739:6;10728:9;10724:22;10683:73;:::i;:::-;10673:83;;10564:198;10793:3;10812:96;10900:7;10891:6;10880:9;10876:22;10812:96;:::i;:::-;10802:106;;10772:142;9514:1410;;;;;;;;;;;;;:::o;10931:415::-;;;11071:2;11059:9;11050:7;11046:23;11042:32;11039:2;;;11087:1;11084;11077:12;11039:2;11122:1;11139:72;11203:7;11183:9;11139:72;:::i;:::-;11129:82;;11101:116;11248:2;11266:64;11322:7;11313:6;11302:9;11298:22;11266:64;:::i;:::-;11256:74;;11227:109;11033:313;;;;;:::o;11353:392::-;;11493:2;11481:9;11472:7;11468:23;11464:32;11461:2;;;11509:1;11506;11499:12;11461:2;11544:24;;-1:-1;;;;;11577:30;;11574:2;;;11620:1;11617;11610:12;11574:2;11640:89;11721:7;11712:6;11701:9;11697:22;11640:89;:::i;11752:257::-;;11864:2;11852:9;11843:7;11839:23;11835:32;11832:2;;;11880:1;11877;11870:12;11832:2;11915:1;11932:61;11985:7;11965:9;11932:61;:::i;12016:345::-;;12129:2;12117:9;12108:7;12104:23;12100:32;12097:2;;;12145:1;12142;12135:12;12097:2;12180:31;;-1:-1;;;;;12220:30;;12217:2;;;12263:1;12260;12253:12;12217:2;12283:62;12337:7;12328:6;12317:9;12313:22;12283:62;:::i;12368:328::-;;12515:3;12503:9;12494:7;12490:23;12486:33;12483:2;;;12532:1;12529;12522:12;12483:2;12567:1;12584:96;12672:7;12652:9;12584:96;:::i;12703:318::-;;12845:3;12833:9;12824:7;12820:23;12816:33;12813:2;;;12862:1;12859;12852:12;12813:2;12897:1;12914:91;12997:7;12977:9;12914:91;:::i;13028:322::-;;13172:3;13160:9;13151:7;13147:23;13143:33;13140:2;;;13189:1;13186;13179:12;13140:2;13224:1;13241:93;13326:7;13306:9;13241:93;:::i;13357:261::-;;13471:2;13459:9;13450:7;13446:23;13442:32;13439:2;;;13487:1;13484;13477:12;13439:2;13522:1;13539:63;13594:7;13574:9;13539:63;:::i;13625:263::-;;13740:2;13728:9;13719:7;13715:23;13711:32;13708:2;;;13756:1;13753;13746:12;13708:2;13791:1;13808:64;13864:7;13844:9;13808:64;:::i;13895:496::-;;;14036:2;14024:9;14015:7;14011:23;14007:32;14004:2;;;14052:1;14049;14042:12;14004:2;14087:1;14104:64;14160:7;14140:9;14104:64;:::i;:::-;14094:74;;14066:108;14226:2;14215:9;14211:18;14205:25;-1:-1;;;;;14242:6;14239:30;14236:2;;;14282:1;14279;14272:12;14236:2;14302:73;14367:7;14358:6;14347:9;14343:22;14302:73;:::i;14399:173::-;;14486:46;14528:3;14520:6;14486:46;:::i;:::-;-1:-1;;14561:4;14552:14;;14479:93::o;14581:169::-;;14666:44;14706:3;14698:6;14666:44;:::i;14759:173::-;;14846:46;14888:3;14880:6;14846:46;:::i;14940:103::-;15013:24;15031:5;15013:24;:::i;:::-;15008:3;15001:37;14995:48;;:::o;15201:690::-;;15346:54;15394:5;15346:54;:::i;:::-;15413:86;15492:6;15487:3;15413:86;:::i;:::-;15406:93;;15520:56;15570:5;15520:56;:::i;:::-;15596:7;15624:1;15609:260;15634:6;15631:1;15628:13;15609:260;;;15701:6;15695:13;15722:63;15781:3;15766:13;15722:63;:::i;:::-;15715:70;;15802:60;15855:6;15802:60;:::i;:::-;15792:70;-1:-1;;15656:1;15649:9;15609:260;;;-1:-1;15882:3;;15325:566;-1:-1;;;;;15325:566::o;15928:682::-;;16071:53;16118:5;16071:53;:::i;:::-;16137:85;16215:6;16210:3;16137:85;:::i;:::-;16130:92;;16243:55;16292:5;16243:55;:::i;:::-;16318:7;16346:1;16331:257;16356:6;16353:1;16350:13;16331:257;;;16423:6;16417:13;16444:61;16501:3;16486:13;16444:61;:::i;:::-;16437:68;;16522:59;16574:6;16522:59;:::i;:::-;16512:69;-1:-1;;16378:1;16371:9;16331:257;;16649:690;;16794:54;16842:5;16794:54;:::i;:::-;16861:86;16940:6;16935:3;16861:86;:::i;:::-;16854:93;;16968:56;17018:5;16968:56;:::i;:::-;17044:7;17072:1;17057:260;17082:6;17079:1;17076:13;17057:260;;;17149:6;17143:13;17170:63;17229:3;17214:13;17170:63;:::i;:::-;17163:70;;17250:60;17303:6;17250:60;:::i;:::-;17240:70;-1:-1;;17104:1;17097:9;17057:260;;17347:104;17424:21;17439:5;17424:21;:::i;17458:343::-;;17568:38;17600:5;17568:38;:::i;:::-;17618:70;17681:6;17676:3;17618:70;:::i;:::-;17611:77;;17693:52;17738:6;17733:3;17726:4;17719:5;17715:16;17693:52;:::i;:::-;17766:29;17788:6;17766:29;:::i;:::-;17757:39;;;;17548:253;-1:-1;;;17548:253::o;17808:356::-;;17936:38;17968:5;17936:38;:::i;:::-;17986:88;18067:6;18062:3;17986:88;:::i;:::-;17979:95;;18079:52;18124:6;18119:3;18112:4;18105:5;18101:16;18079:52;:::i;:::-;18143:16;;;;;17916:248;-1:-1;;17916:248::o;18171:152::-;18267:50;18311:5;18267:50;:::i;18685:327::-;;18845:67;18909:2;18904:3;18845:67;:::i;:::-;18945:29;18925:50;;19003:2;18994:12;;18831:181;-1:-1;;18831:181::o;19021:375::-;;19181:67;19245:2;19240:3;19181:67;:::i;:::-;19281:34;19261:55;;-1:-1;;;19345:2;19336:12;;19329:30;19387:2;19378:12;;19167:229;-1:-1;;19167:229::o;19405:326::-;;19565:67;19629:2;19624:3;19565:67;:::i;:::-;19665:28;19645:49;;19722:2;19713:12;;19551:180;-1:-1;;19551:180::o;19740:375::-;;19900:67;19964:2;19959:3;19900:67;:::i;:::-;20000:34;19980:55;;-1:-1;;;20064:2;20055:12;;20048:30;20106:2;20097:12;;19886:229;-1:-1;;19886:229::o;20124:329::-;;20284:67;20348:2;20343:3;20284:67;:::i;:::-;20384:31;20364:52;;20444:2;20435:12;;20270:183;-1:-1;;20270:183::o;20462:461::-;;20622:67;20686:2;20681:3;20622:67;:::i;:::-;20722:34;20702:55;;20791:34;20786:2;20777:12;;20770:56;20860:25;20855:2;20846:12;;20839:47;20914:2;20905:12;;20608:315;-1:-1;;20608:315::o;20932:379::-;;21092:67;21156:2;21151:3;21092:67;:::i;:::-;21192:34;21172:55;;-1:-1;;;21256:2;21247:12;;21240:34;21302:2;21293:12;;21078:233;-1:-1;;21078:233::o;21320:391::-;;21480:67;21544:2;21539:3;21480:67;:::i;:::-;21580:34;21560:55;;-1:-1;;;21644:2;21635:12;;21628:46;21702:2;21693:12;;21466:245;-1:-1;;21466:245::o;21850:985::-;22080:23;;22007:4;21998:14;;;22109:63;22002:3;22080:23;22109:63;:::i;:::-;22027:151;22259:4;22252:5;22248:16;22242:23;22271:63;22328:4;22323:3;22319:14;22305:12;22271:63;:::i;:::-;22188:152;22422:4;22415:5;22411:16;22405:23;22434:63;22491:4;22486:3;22482:14;22468:12;22434:63;:::i;:::-;22350:153;22585:4;22578:5;22574:16;22568:23;22597:61;22652:4;22647:3;22643:14;22629:12;22597:61;:::i;:::-;22513:151;22741:4;22734:5;22730:16;22724:23;22753:61;22808:4;22803:3;22799:14;22785:12;22753:61;:::i;22842:103::-;22915:24;22933:5;22915:24;:::i;23072:100::-;23143:23;23160:5;23143:23;:::i;23296:103::-;23369:24;23387:5;23369:24;:::i;23526:110::-;23607:23;23624:5;23607:23;:::i;23643:100::-;23714:23;23731:5;23714:23;:::i;23750:271::-;;23903:93;23992:3;23983:6;23903:93;:::i;24028:222::-;24155:2;24140:18;;24169:71;24144:9;24213:6;24169:71;:::i;24257:333::-;24412:2;24397:18;;24426:71;24401:9;24470:6;24426:71;:::i;:::-;24508:72;24576:2;24565:9;24561:18;24552:6;24508:72;:::i;24597:1446::-;25061:3;25046:19;;25076:71;25050:9;25120:6;25076:71;:::i;:::-;25158:72;25226:2;25215:9;25211:18;25202:6;25158:72;:::i;:::-;25241;25309:2;25298:9;25294:18;25285:6;25241:72;:::i;:::-;25324;25392:2;25381:9;25377:18;25368:6;25324:72;:::i;:::-;25407:71;25473:3;25462:9;25458:19;25449:6;25407:71;:::i;:::-;25489;25555:3;25544:9;25540:19;25531:6;25489:71;:::i;:::-;25571:67;25633:3;25622:9;25618:19;25609:6;25571:67;:::i;:::-;25649:86;25730:3;25719:9;25715:19;25706:6;25649:86;:::i;:::-;25784:9;25778:4;25774:20;25768:3;25757:9;25753:19;25746:49;25809:76;25880:4;25871:6;25809:76;:::i;:::-;25801:84;;25896:137;26028:3;26017:9;26013:19;26004:6;25896:137;:::i;:::-;25032:1011;;;;;;;;;;;;;:::o;26050:333::-;26205:2;26190:18;;26219:71;26194:9;26263:6;26219:71;:::i;:::-;26301:72;26369:2;26358:9;26354:18;26345:6;26301:72;:::i;26390:370::-;26567:2;26581:47;;;26552:18;;26642:108;26552:18;26736:6;26642:108;:::i;26767:629::-;27022:2;27036:47;;;27007:18;;27097:108;27007:18;27191:6;27097:108;:::i;:::-;27089:116;;27253:9;27247:4;27243:20;27238:2;27227:9;27223:18;27216:48;27278:108;27381:4;27372:6;27278:108;:::i;27403:366::-;27578:2;27592:47;;;27563:18;;27653:106;27563:18;27745:6;27653:106;:::i;27776:310::-;27923:2;27937:47;;;27908:18;;27998:78;27908:18;28062:6;27998:78;:::i;28093:416::-;28293:2;28307:47;;;28278:18;;28368:131;28278:18;28368:131;:::i;28516:416::-;28716:2;28730:47;;;28701:18;;28791:131;28701:18;28791:131;:::i;28939:416::-;29139:2;29153:47;;;29124:18;;29214:131;29124:18;29214:131;:::i;29362:416::-;29562:2;29576:47;;;29547:18;;29637:131;29547:18;29637:131;:::i;29785:416::-;29985:2;29999:47;;;29970:18;;30060:131;29970:18;30060:131;:::i;30208:416::-;30408:2;30422:47;;;30393:18;;30483:131;30393:18;30483:131;:::i;30631:416::-;30831:2;30845:47;;;30816:18;;30906:131;30816:18;30906:131;:::i;31054:416::-;31254:2;31268:47;;;31239:18;;31329:131;31239:18;31329:131;:::i;31477:218::-;31602:2;31587:18;;31616:69;31591:9;31658:6;31616:69;:::i;31702:222::-;31829:2;31814:18;;31843:71;31818:9;31887:6;31843:71;:::i;31931:256::-;31993:2;31987:9;32019:17;;;-1:-1;;;;;32079:34;;32115:22;;;32076:62;32073:2;;;32151:1;32148;32141:12;32073:2;32167;32160:22;31971:216;;-1:-1;31971:216::o;32194:304::-;;-1:-1;;;;;32345:6;32342:30;32339:2;;;32385:1;32382;32375:12;32339:2;-1:-1;32420:4;32408:17;;;32473:15;;32276:222::o;32505:321::-;;-1:-1;;;;;32640:6;32637:30;32634:2;;;32680:1;32677;32670:12;32634:2;-1:-1;32811:4;32747;32724:17;;;;-1:-1;;32720:33;32801:15;;32571:255::o;32833:151::-;32957:4;32948:14;;32905:79::o;33306:137::-;33409:12;;33380:63::o;34339:178::-;34457:19;;;34506:4;34497:14;;34450:67::o;35394:91::-;;35456:24;35474:5;35456:24;:::i;35598:85::-;35664:13;35657:21;;35640:43::o;35690:136::-;35767:5;35773:48;35767:5;35773:48;:::i;35833:113::-;-1:-1;;;;;35895:46;;35878:68::o;35953:121::-;-1:-1;;;;;36015:54;;35998:76::o;36081:86::-;36153:8;36142:20;;36125:42::o;36174:72::-;36236:5;36219:27::o;36253:88::-;36325:10;36314:22;;36297:44::o;36348:96::-;-1:-1;;;;;36409:30;;36392:52::o;36451:136::-;;36543:39;36576:5;36543:39;:::i;36595:145::-;36676:6;36671:3;36666;36653:30;-1:-1;36732:1;36714:16;;36707:27;36646:94::o;36749:268::-;36814:1;36821:101;36835:6;36832:1;36829:13;36821:101;;;36902:11;;;36896:18;36883:11;;;36876:39;36857:2;36850:10;36821:101;;;36937:6;36934:1;36931:13;36928:2;;;-1:-1;;37002:1;36984:16;;36977:27;36798:219::o;37025:97::-;37113:2;37093:14;-1:-1;;37089:28;;37073:49::o;37130:106::-;37214:1;37207:5;37204:12;37194:2;;37220:9;37243:117;37312:24;37330:5;37312:24;:::i;:::-;37305:5;37302:35;37292:2;;37351:1;37348;37341:12;37507:111;37573:21;37588:5;37573:21;:::i;37625:114::-;37714:1;37707:5;37704:12;37694:2;;37730:1;37727;37720:12;37862:117;37931:24;37949:5;37931:24;:::i;37986:115::-;38054:23;38071:5;38054:23;:::i;38108:117::-;38177:24;38195:5;38177:24;:::i;38232:115::-;38300:23;38317:5;38300:23;:::i;38354:115::-;38422:23;38439:5;38422:23;:::i", "linkReferences": {}, "immutableReferences": { "31288": [ { "start": 2090, "length": 32 }, { "start": 2276, "length": 32 }, { "start": 3098, "length": 32 }, { "start": 4104, "length": 32 }, { "start": 4304, "length": 32 }, { "start": 4767, "length": 32 }, { "start": 5444, "length": 32 }, { "start": 5736, "length": 32 } ] } }, "methodIdentifiers": { "getDebtAssets()": "ecd658b4", "getIssuedVouchers()": "0f081d50", "getManagedAssets()": "80daddb8", "getOffers()": "3ee992ee", "init(bytes)": "4ddf47d4", "receiveCallFromVault(bytes)": "e5c23a97" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_initialBondOfferingMarket\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voucher\",\"type\":\"address\"}],\"name\":\"IssuedVoucherAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voucher\",\"type\":\"address\"}],\"name\":\"IssuedVoucherRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint24\",\"name\":\"offerId\",\"type\":\"uint24\"}],\"name\":\"OfferAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint24\",\"name\":\"offerId\",\"type\":\"uint24\"}],\"name\":\"OfferRemoved\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"getDebtAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"assets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getIssuedVouchers\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"vouchers_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getManagedAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"assets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOffers\",\"outputs\":[{\"internalType\":\"uint24[]\",\"name\":\"offers_\",\"type\":\"uint24[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"}],\"name\":\"receiveCallFromVault\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"getDebtAssets()\":{\"returns\":{\"amounts_\":\"Debt asset amounts\",\"assets_\":\"Debt assets\"}},\"getIssuedVouchers()\":{\"returns\":{\"vouchers_\":\"The array of issued voucher addresses\"}},\"getManagedAssets()\":{\"details\":\"There are 3 types of assets that contribute value to this position: 1. Underlying balance outstanding in IVO offers (collateral not yet used for minting) 2. Unreconciled assets received for an IVO sale 3. Outstanding assets that are withdrawable from issued vouchers (post-maturity)\",\"returns\":{\"amounts_\":\"Managed asset amounts\",\"assets_\":\"Managed assets\"}},\"getOffers()\":{\"returns\":{\"offers_\":\"The array of created offer ids\"}},\"init(bytes)\":{\"details\":\"Nothing to initialize for this contract\"},\"receiveCallFromVault(bytes)\":{\"params\":{\"_actionData\":\"Encoded data to execute the action\"}}},\"title\":\"SolvV2BondIssuerPositionLib Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getDebtAssets()\":{\"notice\":\"Retrieves the debt assets (negative value) of the external position\"},\"getIssuedVouchers()\":{\"notice\":\"Gets the issued vouchers\"},\"getManagedAssets()\":{\"notice\":\"Retrieves the managed assets (positive value) of the external position\"},\"getOffers()\":{\"notice\":\"Gets the created offers\"},\"init(bytes)\":{\"notice\":\"Initializes the external position\"},\"receiveCallFromVault(bytes)\":{\"notice\":\"Receives and executes a call from the Vault\"}},\"notice\":\"Library contract for Solv V2 Bond Issuer Positions\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/solv-v2-bond-issuer/SolvV2BondIssuerPositionLib.sol\":\"SolvV2BondIssuerPositionLib\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/persistent/external-positions/solv-v2-bond-issuer/SolvV2BondIssuerPositionLibBase1.sol\":{\"keccak256\":\"0xb8c45493039fe2b240fafcec7d26ddd689336d9aaad00cfcab4ffdf468aa2a34\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://75324a615930ad565f88d5319695ce1c2202d68465a3999d2cfb0a6b8c398644\",\"dweb:/ipfs/QmWwoKUNYNWmw3HVQjenFaJsJPKv6yaonu3gJDNQkQGQ13\"]},\"contracts/release/extensions/external-position-manager/external-positions/solv-v2-bond-issuer/ISolvV2BondIssuerPosition.sol\":{\"keccak256\":\"0x4b4269ed0c69d21e9a98b8dda03794e46ee75b443913d55f33a4b6f5ca15297b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5b339a793698c60986ef981da4e705723f98b9950a7cb0f5d9a9278907c91788\",\"dweb:/ipfs/QmbRx6gSPaUtx6cXWrdEa6vdSNM8PLNgKN9PARxPbjfBe4\"]},\"contracts/release/extensions/external-position-manager/external-positions/solv-v2-bond-issuer/SolvV2BondIssuerPositionDataDecoder.sol\":{\"keccak256\":\"0xdc757cfbb836b813539ce641f764d5aac2535a472565e84b4e098a2560d9323d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9b24f934d31730aeabaea742b0de10c0cad1448788d0c9a22e281097acb3ff76\",\"dweb:/ipfs/QmQ8QU46pBi9Sb5DxvgboLYugnFodMzo4iUKXxyh9yPQyA\"]},\"contracts/release/extensions/external-position-manager/external-positions/solv-v2-bond-issuer/SolvV2BondIssuerPositionLib.sol\":{\"keccak256\":\"0x5d60dfa8163f97874775b6cb888458289b7a587e500539e78ae44db2d5bd8cad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2c699d553b0a3a8b4fa47d79cb961e25cd0434f999af90829434efea4e5a3176\",\"dweb:/ipfs/QmaRFKo54kn5Mo9Hd2Fs3rWKV4oRgViGVhA44yPJ5umc5u\"]},\"contracts/release/interfaces/ISolvV2BondPool.sol\":{\"keccak256\":\"0xa68c7f87782e4da88c0e98a8096d3f758b1c5aa914ddb6bc99ada422195019f5\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://cb64f9feca3ef65e6e2a18729aeb1300698cfba3eb99f08025debc795282b73d\",\"dweb:/ipfs/QmVr5qraYJpKNMtJZfgvkMZsk1Nerxc36HSjhtvh8YgG1G\"]},\"contracts/release/interfaces/ISolvV2BondVoucher.sol\":{\"keccak256\":\"0xf76389995de79cdc0f4a690a9ce76a094d4697d51e397abf68b4be24ef8b554f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ed36c534756035df374381fabff0b010f0fe700caeeddffb99f347efee1f0cdd\",\"dweb:/ipfs/QmY5dm7b78TkoW3WSqKKZSCKdZmumTCMLxf3rpxzVM6qpm\"]},\"contracts/release/interfaces/ISolvV2InitialConvertibleOfferingMarket.sol\":{\"keccak256\":\"0xe34205d54ec639e2e3f8e0e2871984a6796424d903259857f1f11de260cf8abe\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://908f8d334df9ae2191787a8e53c78b1847bd936f2ce9d04115f5e9339c3e3934\",\"dweb:/ipfs/QmZzxE748Hb2Vosu7cwPmkb4EVpoqvS4RgHogLrvDgsnD3\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"contracts/release/utils/Uint256ArrayLib.sol\":{\"keccak256\":\"0x1627d0d32692b86c5dd3e74ebb8305fbf99a3c41d4b90e736077762cc80c1a31\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://54ff92ccd4bd685dda44c2520e3f52478168e909b400c3cc4076d37f5c2704ef\",\"dweb:/ipfs/QmYUxeaKfPwnUtP35i6JJ3ptsaDFEV6SD2o4VV8d5vBUZD\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_initialBondOfferingMarket", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "voucher", "type": "address", "indexed": true } ], "type": "event", "name": "IssuedVoucherAdded", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "voucher", "type": "address", "indexed": true } ], "type": "event", "name": "IssuedVoucherRemoved", "anonymous": false }, { "inputs": [ { "internalType": "uint24", "name": "offerId", "type": "uint24", "indexed": true } ], "type": "event", "name": "OfferAdded", "anonymous": false }, { "inputs": [ { "internalType": "uint24", "name": "offerId", "type": "uint24", "indexed": true } ], "type": "event", "name": "OfferRemoved", "anonymous": false }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "getDebtAssets", "outputs": [ { "internalType": "address[]", "name": "assets_", "type": "address[]" }, { "internalType": "uint256[]", "name": "amounts_", "type": "uint256[]" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getIssuedVouchers", "outputs": [ { "internalType": "address[]", "name": "vouchers_", "type": "address[]" } ] }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "getManagedAssets", "outputs": [ { "internalType": "address[]", "name": "assets_", "type": "address[]" }, { "internalType": "uint256[]", "name": "amounts_", "type": "uint256[]" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getOffers", "outputs": [ { "internalType": "uint24[]", "name": "offers_", "type": "uint24[]" } ] }, { "inputs": [ { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "init" }, { "inputs": [ { "internalType": "bytes", "name": "_actionData", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "receiveCallFromVault" } ], "devdoc": { "kind": "dev", "methods": { "getDebtAssets()": { "returns": { "amounts_": "Debt asset amounts", "assets_": "Debt assets" } }, "getIssuedVouchers()": { "returns": { "vouchers_": "The array of issued voucher addresses" } }, "getManagedAssets()": { "details": "There are 3 types of assets that contribute value to this position: 1. Underlying balance outstanding in IVO offers (collateral not yet used for minting) 2. Unreconciled assets received for an IVO sale 3. Outstanding assets that are withdrawable from issued vouchers (post-maturity)", "returns": { "amounts_": "Managed asset amounts", "assets_": "Managed assets" } }, "getOffers()": { "returns": { "offers_": "The array of created offer ids" } }, "init(bytes)": { "details": "Nothing to initialize for this contract" }, "receiveCallFromVault(bytes)": { "params": { "_actionData": "Encoded data to execute the action" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "getDebtAssets()": { "notice": "Retrieves the debt assets (negative value) of the external position" }, "getIssuedVouchers()": { "notice": "Gets the issued vouchers" }, "getManagedAssets()": { "notice": "Retrieves the managed assets (positive value) of the external position" }, "getOffers()": { "notice": "Gets the created offers" }, "init(bytes)": { "notice": "Initializes the external position" }, "receiveCallFromVault(bytes)": { "notice": "Receives and executes a call from the Vault" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/external-position-manager/external-positions/solv-v2-bond-issuer/SolvV2BondIssuerPositionLib.sol": "SolvV2BondIssuerPositionLib" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/external-positions/IExternalPosition.sol": { "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", "urls": [ "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" ], "license": "GPL-3.0" }, "contracts/persistent/external-positions/solv-v2-bond-issuer/SolvV2BondIssuerPositionLibBase1.sol": { "keccak256": "0xb8c45493039fe2b240fafcec7d26ddd689336d9aaad00cfcab4ffdf468aa2a34", "urls": [ "bzz-raw://75324a615930ad565f88d5319695ce1c2202d68465a3999d2cfb0a6b8c398644", "dweb:/ipfs/QmWwoKUNYNWmw3HVQjenFaJsJPKv6yaonu3gJDNQkQGQ13" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/solv-v2-bond-issuer/ISolvV2BondIssuerPosition.sol": { "keccak256": "0x4b4269ed0c69d21e9a98b8dda03794e46ee75b443913d55f33a4b6f5ca15297b", "urls": [ "bzz-raw://5b339a793698c60986ef981da4e705723f98b9950a7cb0f5d9a9278907c91788", "dweb:/ipfs/QmbRx6gSPaUtx6cXWrdEa6vdSNM8PLNgKN9PARxPbjfBe4" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/solv-v2-bond-issuer/SolvV2BondIssuerPositionDataDecoder.sol": { "keccak256": "0xdc757cfbb836b813539ce641f764d5aac2535a472565e84b4e098a2560d9323d", "urls": [ "bzz-raw://9b24f934d31730aeabaea742b0de10c0cad1448788d0c9a22e281097acb3ff76", "dweb:/ipfs/QmQ8QU46pBi9Sb5DxvgboLYugnFodMzo4iUKXxyh9yPQyA" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/solv-v2-bond-issuer/SolvV2BondIssuerPositionLib.sol": { "keccak256": "0x5d60dfa8163f97874775b6cb888458289b7a587e500539e78ae44db2d5bd8cad", "urls": [ "bzz-raw://2c699d553b0a3a8b4fa47d79cb961e25cd0434f999af90829434efea4e5a3176", "dweb:/ipfs/QmaRFKo54kn5Mo9Hd2Fs3rWKV4oRgViGVhA44yPJ5umc5u" ], "license": "GPL-3.0" }, "contracts/release/interfaces/ISolvV2BondPool.sol": { "keccak256": "0xa68c7f87782e4da88c0e98a8096d3f758b1c5aa914ddb6bc99ada422195019f5", "urls": [ "bzz-raw://cb64f9feca3ef65e6e2a18729aeb1300698cfba3eb99f08025debc795282b73d", "dweb:/ipfs/QmVr5qraYJpKNMtJZfgvkMZsk1Nerxc36HSjhtvh8YgG1G" ], "license": "GPL-3.0" }, "contracts/release/interfaces/ISolvV2BondVoucher.sol": { "keccak256": "0xf76389995de79cdc0f4a690a9ce76a094d4697d51e397abf68b4be24ef8b554f", "urls": [ "bzz-raw://ed36c534756035df374381fabff0b010f0fe700caeeddffb99f347efee1f0cdd", "dweb:/ipfs/QmY5dm7b78TkoW3WSqKKZSCKdZmumTCMLxf3rpxzVM6qpm" ], "license": "GPL-3.0" }, "contracts/release/interfaces/ISolvV2InitialConvertibleOfferingMarket.sol": { "keccak256": "0xe34205d54ec639e2e3f8e0e2871984a6796424d903259857f1f11de260cf8abe", "urls": [ "bzz-raw://908f8d334df9ae2191787a8e53c78b1847bd936f2ce9d04115f5e9339c3e3934", "dweb:/ipfs/QmZzxE748Hb2Vosu7cwPmkb4EVpoqvS4RgHogLrvDgsnD3" ], "license": "GPL-3.0" }, "contracts/release/utils/AddressArrayLib.sol": { "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", "urls": [ "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" ], "license": "GPL-3.0" }, "contracts/release/utils/AssetHelpers.sol": { "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", "urls": [ "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" ], "license": "GPL-3.0" }, "contracts/release/utils/Uint256ArrayLib.sol": { "keccak256": "0x1627d0d32692b86c5dd3e74ebb8305fbf99a3c41d4b90e736077762cc80c1a31", "urls": [ "bzz-raw://54ff92ccd4bd685dda44c2520e3f52478168e909b400c3cc4076d37f5c2704ef", "dweb:/ipfs/QmYUxeaKfPwnUtP35i6JJ3ptsaDFEV6SD2o4VV8d5vBUZD" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", "urls": [ "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Address.sol": { "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", "urls": [ "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" } }, "version": 1 }, "id": 128 } diff --git a/eth_defi/abi/enzyme/SolvV2BondIssuerPositionLibBase1.json b/eth_defi/abi/enzyme/SolvV2BondIssuerPositionLibBase1.json index b565c7e7..0daac66a 100644 --- a/eth_defi/abi/enzyme/SolvV2BondIssuerPositionLibBase1.json +++ b/eth_defi/abi/enzyme/SolvV2BondIssuerPositionLibBase1.json @@ -1,184 +1 @@ -{ - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "voucher", - "type": "address" - } - ], - "name": "IssuedVoucherAdded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "voucher", - "type": "address" - } - ], - "name": "IssuedVoucherRemoved", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint24", - "name": "offerId", - "type": "uint24" - } - ], - "name": "OfferAdded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint24", - "name": "offerId", - "type": "uint24" - } - ], - "name": "OfferRemoved", - "type": "event" - } - ], - "bytecode": { - "object": "0x6080604052348015600f57600080fd5b50601680601d6000396000f3fe6080604052600080fdfea164736f6c634300060c000a", - "sourceMap": "797:370:35:-:0;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x6080604052600080fdfea164736f6c634300060c000a", - "sourceMap": "797:370:35:-:0;;;;;", - "linkReferences": {} - }, - "methodIdentifiers": {}, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voucher\",\"type\":\"address\"}],\"name\":\"IssuedVoucherAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voucher\",\"type\":\"address\"}],\"name\":\"IssuedVoucherRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint24\",\"name\":\"offerId\",\"type\":\"uint24\"}],\"name\":\"OfferAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint24\",\"name\":\"offerId\",\"type\":\"uint24\"}],\"name\":\"OfferRemoved\",\"type\":\"event\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"DO NOT EDIT CONTRACT. If new events or storage are necessary, they should be added to a numbered SolvV2BondIssuerPositionLibBaseXXX that inherits the previous base. e.g., `SolvV2BondIssuerPositionLibBase2 is SolvV2BondIssuerPositionLibBase1`\",\"kind\":\"dev\",\"methods\":{},\"title\":\"SolvV2BondIssuerPositionLibBase1 Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"A persistent contract containing all required storage variables and required functions for a SolvV2BondIssuerPositionLib implementation\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/external-positions/solv-v2-bond-issuer/SolvV2BondIssuerPositionLibBase1.sol\":\"SolvV2BondIssuerPositionLibBase1\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/external-positions/solv-v2-bond-issuer/SolvV2BondIssuerPositionLibBase1.sol\":{\"keccak256\":\"0xb8c45493039fe2b240fafcec7d26ddd689336d9aaad00cfcab4ffdf468aa2a34\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://75324a615930ad565f88d5319695ce1c2202d68465a3999d2cfb0a6b8c398644\",\"dweb:/ipfs/QmWwoKUNYNWmw3HVQjenFaJsJPKv6yaonu3gJDNQkQGQ13\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "voucher", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "IssuedVoucherAdded", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "voucher", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "IssuedVoucherRemoved", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "uint24", - "name": "offerId", - "type": "uint24", - "indexed": true - } - ], - "type": "event", - "name": "OfferAdded", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "uint24", - "name": "offerId", - "type": "uint24", - "indexed": true - } - ], - "type": "event", - "name": "OfferRemoved", - "anonymous": false - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/persistent/external-positions/solv-v2-bond-issuer/SolvV2BondIssuerPositionLibBase1.sol": "SolvV2BondIssuerPositionLibBase1" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/external-positions/solv-v2-bond-issuer/SolvV2BondIssuerPositionLibBase1.sol": { - "keccak256": "0xb8c45493039fe2b240fafcec7d26ddd689336d9aaad00cfcab4ffdf468aa2a34", - "urls": [ - "bzz-raw://75324a615930ad565f88d5319695ce1c2202d68465a3999d2cfb0a6b8c398644", - "dweb:/ipfs/QmWwoKUNYNWmw3HVQjenFaJsJPKv6yaonu3gJDNQkQGQ13" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 35 -} +{ "abi": [ { "type": "event", "name": "IssuedVoucherAdded", "inputs": [ { "name": "voucher", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "IssuedVoucherRemoved", "inputs": [ { "name": "voucher", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "OfferAdded", "inputs": [ { "name": "offerId", "type": "uint24", "indexed": true, "internalType": "uint24" } ], "anonymous": false }, { "type": "event", "name": "OfferRemoved", "inputs": [ { "name": "offerId", "type": "uint24", "indexed": true, "internalType": "uint24" } ], "anonymous": false } ], "bytecode": { "object": "0x6080604052348015600f57600080fd5b50601680601d6000396000f3fe6080604052600080fdfea164736f6c634300060c000a", "sourceMap": "797:370:35:-:0;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x6080604052600080fdfea164736f6c634300060c000a", "sourceMap": "797:370:35:-:0;;;;;", "linkReferences": {} }, "methodIdentifiers": {}, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voucher\",\"type\":\"address\"}],\"name\":\"IssuedVoucherAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voucher\",\"type\":\"address\"}],\"name\":\"IssuedVoucherRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint24\",\"name\":\"offerId\",\"type\":\"uint24\"}],\"name\":\"OfferAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint24\",\"name\":\"offerId\",\"type\":\"uint24\"}],\"name\":\"OfferRemoved\",\"type\":\"event\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"DO NOT EDIT CONTRACT. If new events or storage are necessary, they should be added to a numbered SolvV2BondIssuerPositionLibBaseXXX that inherits the previous base. e.g., `SolvV2BondIssuerPositionLibBase2 is SolvV2BondIssuerPositionLibBase1`\",\"kind\":\"dev\",\"methods\":{},\"title\":\"SolvV2BondIssuerPositionLibBase1 Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"A persistent contract containing all required storage variables and required functions for a SolvV2BondIssuerPositionLib implementation\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/external-positions/solv-v2-bond-issuer/SolvV2BondIssuerPositionLibBase1.sol\":\"SolvV2BondIssuerPositionLibBase1\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/external-positions/solv-v2-bond-issuer/SolvV2BondIssuerPositionLibBase1.sol\":{\"keccak256\":\"0xb8c45493039fe2b240fafcec7d26ddd689336d9aaad00cfcab4ffdf468aa2a34\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://75324a615930ad565f88d5319695ce1c2202d68465a3999d2cfb0a6b8c398644\",\"dweb:/ipfs/QmWwoKUNYNWmw3HVQjenFaJsJPKv6yaonu3gJDNQkQGQ13\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "voucher", "type": "address", "indexed": true } ], "type": "event", "name": "IssuedVoucherAdded", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "voucher", "type": "address", "indexed": true } ], "type": "event", "name": "IssuedVoucherRemoved", "anonymous": false }, { "inputs": [ { "internalType": "uint24", "name": "offerId", "type": "uint24", "indexed": true } ], "type": "event", "name": "OfferAdded", "anonymous": false }, { "inputs": [ { "internalType": "uint24", "name": "offerId", "type": "uint24", "indexed": true } ], "type": "event", "name": "OfferRemoved", "anonymous": false } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/persistent/external-positions/solv-v2-bond-issuer/SolvV2BondIssuerPositionLibBase1.sol": "SolvV2BondIssuerPositionLibBase1" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/external-positions/solv-v2-bond-issuer/SolvV2BondIssuerPositionLibBase1.sol": { "keccak256": "0xb8c45493039fe2b240fafcec7d26ddd689336d9aaad00cfcab4ffdf468aa2a34", "urls": [ "bzz-raw://75324a615930ad565f88d5319695ce1c2202d68465a3999d2cfb0a6b8c398644", "dweb:/ipfs/QmWwoKUNYNWmw3HVQjenFaJsJPKv6yaonu3gJDNQkQGQ13" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 35 } diff --git a/eth_defi/abi/enzyme/SolvV2BondIssuerPositionParser.json b/eth_defi/abi/enzyme/SolvV2BondIssuerPositionParser.json index f1afaa5f..8cfa1ed0 100644 --- a/eth_defi/abi/enzyme/SolvV2BondIssuerPositionParser.json +++ b/eth_defi/abi/enzyme/SolvV2BondIssuerPositionParser.json @@ -1,410 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_initialBondOfferingMarket", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_externalPosition", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_actionId", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_encodedActionArgs", - "type": "bytes" - } - ], - "name": "parseAssetsForAction", - "outputs": [ - { - "internalType": "address[]", - "name": "assetsToTransfer_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "amountsToTransfer_", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "assetsToReceive_", - "type": "address[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "parseInitArgs", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x60a06040523480156200001157600080fd5b50604051620018f4380380620018f483398101604081905262000034916200005d565b60601b6001600160601b031916608052620000b2565b8051620000578162000098565b92915050565b6000602082840312156200007057600080fd5b60006200007e84846200004a565b949350505050565b60006001600160a01b03821662000057565b620000a38162000086565b8114620000af57600080fd5b50565b60805160601c61181f620000d560003980610250528061068a525061181f6000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063bbd2d6461461003b578063db16c72e14610066575b600080fd5b61004e6100493660046112c8565b610086565b60405161005d939291906115fb565b60405180910390f35b610079610074366004611280565b61096f565b60405161005d919061163d565b60608080846101bc5760008061009a610bf9565b6100a387610977565b995050505050505050925092506100b9826109c2565b6040805160018082528183019092529060208083019080368337019050509550826001600160a01b0316636f307dc36040518163ffffffff1660e01b815260040160206040518083038186803b15801561011257600080fd5b505afa158015610126573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061014a919061112f565b8660008151811061015757fe5b6001600160a01b039290921660209283029190910182015260408051600180825281830190925291828101908036833701905050945080604001516001600160801b0316856000815181106101a857fe5b602002602001018181525050505050610966565b60018514156103a7576060866001600160a01b0316633ee992ee6040518163ffffffff1660e01b815260040160006040518083038186803b15801561020057600080fd5b505afa158015610214573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261023c919081019061132d565b805190915060005b8181101561039f5760007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316639cfb2ab085848151811061028957fe5b60200260200101516040518263ffffffff1660e01b81526004016102ad919061167e565b6101a06040518083038186803b1580156102c657600080fd5b505afa1580156102da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102fe9190611362565b610120015190506000816001600160a01b03166370a082318c6040518263ffffffff1660e01b815260040161033391906115ed565b60206040518083038186803b15801561034b57600080fd5b505afa15801561035f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061038391906113be565b1115610396576103938582610a0b565b94505b50600101610244565b505050610966565b6002851415610655576000806103bc86610a36565b915091506000826001600160a01b0316634118ca7d6040518163ffffffff1660e01b815260040160206040518083038186803b1580156103fb57600080fd5b505afa15801561040f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610433919061112f565b905061043d610c27565b60405163d3ceafb960e01b81526001600160a01b0383169063d3ceafb99061046990869060040161168c565b6101a06040518083038186803b15801561048257600080fd5b505afa158015610496573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ba9190611381565b905060006105c7836001600160a01b0316633e7e86696040518163ffffffff1660e01b815260040160206040518083038186803b1580156104fa57600080fd5b505afa15801561050e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061053291906113dc565b60ff16600a0a6105c184602001516001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561057857600080fd5b505afa15801561058c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105b091906113dc565b60408601519060ff16600a0a610a56565b90610a90565b604080516001808252818301909252919250602080830190803683370190505097508160200151886000815181106105fb57fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509650808760008151811061063f57fe5b6020026020010181815250505050505050610966565b600385141561088f57600061066985610ac2565b9050610673610c90565b6040516309cfb2ab60e41b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690639cfb2ab0906106bf90859060040161167e565b6101a06040518083038186803b1580156106d857600080fd5b505afa1580156106ec573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107109190611362565b60a08101519091506001600160801b0316156107ea5760408051600180825281830190925290602080830190803683370190505092508061010001516001600160a01b0316636f307dc36040518163ffffffff1660e01b815260040160206040518083038186803b15801561078457600080fd5b505afa158015610798573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107bc919061112f565b836000815181106107c957fe5b60200260200101906001600160a01b031690816001600160a01b0316815250505b6101208101516040516370a0823160e01b81526000916001600160a01b0316906370a082319061081e908c906004016115ed565b60206040518083038186803b15801561083657600080fd5b505afa15801561084a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061086e91906113be565b111561088857610120810151610885908490610ad8565b92505b5050610966565b60048514156109665760006108a385610a36565b5060408051600180825281830190925291925060208083019080368337019050509150806001600160a01b0316636f307dc36040518163ffffffff1660e01b815260040160206040518083038186803b1580156108ff57600080fd5b505afa158015610913573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610937919061112f565b8260008151811061094457fe5b60200260200101906001600160a01b031690816001600160a01b031681525050505b93509350939050565b606092915050565b600080600080600080600080606061098d610bf9565b8a8060200190518101906109a19190611155565b99509950995099509950995099509950995099509193959799509193959799565b6001600160a01b03811673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1415610a085760405162461bcd60e51b81526004016109ff9061166e565b60405180910390fd5b50565b6060610a178383610ba3565b15610a23575081610a30565b610a2d8383610ad8565b90505b92915050565b60008082806020019051810190610a4d9190611246565b91509150915091565b600082610a6557506000610a30565b82820282848281610a7257fe5b0414610a2d5760405162461bcd60e51b81526004016109ff9061165e565b6000808211610ab15760405162461bcd60e51b81526004016109ff9061164e565b818381610aba57fe5b049392505050565b600081806020019051810190610a3091906113a0565b6060825160010167ffffffffffffffff81118015610af557600080fd5b50604051908082528060200260200182016040528015610b1f578160200160208202803683370190505b50905060005b8351811015610b6e57838181518110610b3a57fe5b6020026020010151828281518110610b4e57fe5b6001600160a01b0390921660209283029190910190910152600101610b25565b508181845181518110610b7d57fe5b60200260200101906001600160a01b031690816001600160a01b03168152505092915050565b6000805b8351811015610bef57838181518110610bbc57fe5b60200260200101516001600160a01b0316836001600160a01b03161415610be7576001915050610a30565b600101610ba7565b5060009392505050565b6040805160a08101825260008082526020820181905291810182905260608101829052608081019190915290565b604080516101a081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052906101008201908152600060208201819052604082018190526060820181905260809091015290565b604080516101a081018252600080825260208201819052918101829052906060820190815260006020820181905260408201819052606082018190526080820181905260a0820181905260c0820181905260e0820181905261010082018190526101209091015290565b8035610a30816117b2565b8051610a30816117b2565b600082601f830112610d2157600080fd5b8151610d34610d2f826116c1565b61169a565b91508181835260208401935060208101905083856020840282011115610d5957600080fd5b60005b83811015610d855781610d6f88826110ed565b8452506020928301929190910190600101610d5c565b5050505092915050565b8051610a30816117c6565b600082601f830112610dab57600080fd5b8135610db9610d2f826116e2565b91508082526020830160208301858383011115610dd557600080fd5b610de083828461176c565b50505092915050565b600082601f830112610dfa57600080fd5b8151610e08610d2f826116e2565b91508082526020830160208301858383011115610e2457600080fd5b610de0838284611778565b8051610a30816117cf565b600060a08284031215610e4c57600080fd5b610e5660a061169a565b90506000610e6484846110e2565b8252506020610e75848483016110e2565b6020830152506040610e89848285016110e2565b6040830152506060610e9d84828501611119565b6060830152506080610eb184828501611119565b60808301525092915050565b60006101a08284031215610ed057600080fd5b610edb6101a061169a565b90506000610ee984846110ed565b8252506020610efa8484830161110e565b6020830152506040610f0e8482850161110e565b6040830152506060610f2284828501610e2f565b6060830152506080610f36848285016110e2565b60808301525060a0610f4a848285016110e2565b60a08301525060c0610f5e848285016110e2565b60c08301525060e0610f72848285016110e2565b60e083015250610100610f8784828501610d05565b61010083015250610120610f9d84828501610d05565b61012083015250610140610fb384828501610d05565b61014083015250610160610fc984828501610d8f565b61016083015250610180610fdf84828501610d8f565b6101808301525092915050565b60006101a08284031215610fff57600080fd5b61100a6101a061169a565b905060006110188484610d05565b825250602061102984848301610d05565b602083015250604061103d84828501611103565b6040830152506060611051848285016110e2565b6060830152506080611065848285016110e2565b60808301525060a0611079848285016110e2565b60a08301525060c061108d84828501611119565b60c08301525060e06110a184828501611119565b60e0830152506101006110b684828501610e2f565b610100830152506101206110cc84828501610d8f565b61012083015250610140610fb384828501610d8f565b8051610a30816117dc565b8051610a30816117e5565b8035610a30816117ee565b8051610a30816117ee565b8051610a30816117f7565b8051610a3081611800565b8051610a3081611809565b60006020828403121561114157600080fd5b600061114d8484610d05565b949350505050565b6000806000806000806000806000806101c08b8d03121561117557600080fd5b60006111818d8d610d05565b9a505060206111928d828e01610d05565b99505060406111a38d828e016110e2565b98505060606111b48d828e016110e2565b97505060806111c58d828e0161110e565b96505060a06111d68d828e0161110e565b95505060c06111e78d828e01610d8f565b94505060e06111f88d828e01610e2f565b9350506101008b015167ffffffffffffffff81111561121657600080fd5b6112228d828e01610de9565b9250506101206112348d828e01610e3a565b9150509295989b9194979a5092959850565b6000806040838503121561125957600080fd5b60006112658585610d05565b925050602061127685828601611103565b9150509250929050565b6000806040838503121561129357600080fd5b600061129f8585610cfa565b925050602083013567ffffffffffffffff8111156112bc57600080fd5b61127685828601610d9a565b6000806000606084860312156112dd57600080fd5b60006112e98686610cfa565b93505060206112fa868287016110f8565b925050604084013567ffffffffffffffff81111561131757600080fd5b61132386828701610d9a565b9150509250925092565b60006020828403121561133f57600080fd5b815167ffffffffffffffff81111561135657600080fd5b61114d84828501610d10565b60006101a0828403121561137557600080fd5b600061114d8484610ebd565b60006101a0828403121561139457600080fd5b600061114d8484610fec565b6000602082840312156113b257600080fd5b600061114d84846110ed565b6000602082840312156113d057600080fd5b600061114d8484611103565b6000602082840312156113ee57600080fd5b600061114d8484611124565b6000611406838361141a565b505060200190565b600061140683836115e4565b6114238161171d565b82525050565b600061143482611710565b61143e8185611714565b93506114498361170a565b8060005b8381101561147757815161146188826113fa565b975061146c8361170a565b92505060010161144d565b509495945050505050565b600061148d82611710565b6114978185611714565b93506114a28361170a565b8060005b838110156114775781516114ba888261140e565b97506114c58361170a565b9250506001016114a6565b60006114db82611710565b6114e58185611714565b93506114f5818560208601611778565b6114fe816117a8565b9093019392505050565b6000611515601a83611714565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b600061154e602183611714565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000611591603583611714565b7f5f5f76616c69646174654e6f744e6174697665546f6b656e3a204e617469766581527408185cdcd95d081a5cc81d5b9cdd5c1c1bdc9d1959605a1b602082015260400192915050565b61142381611745565b6114238161174d565b60208101610a30828461141a565b6060808252810161160c8186611429565b905081810360208301526116208185611482565b905081810360408301526116348184611429565b95945050505050565b60208082528101610a2d81846114d0565b60208082528101610a3081611508565b60208082528101610a3081611541565b60208082528101610a3081611584565b60208101610a3082846115db565b60208101610a3082846115e4565b60405181810167ffffffffffffffff811182821017156116b957600080fd5b604052919050565b600067ffffffffffffffff8211156116d857600080fd5b5060209081020190565b600067ffffffffffffffff8211156116f957600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b6000610a3082611739565b151590565b6001600160801b031690565b6001600160a01b031690565b62ffffff1690565b90565b63ffffffff1690565b67ffffffffffffffff1690565b60ff1690565b82818337506000910152565b60005b8381101561179357818101518382015260200161177b565b838111156117a2576000848401525b50505050565b601f01601f191690565b6117bb8161171d565b8114610a0857600080fd5b6117bb81611728565b60028110610a0857600080fd5b6117bb8161172d565b6117bb81611745565b6117bb8161174d565b6117bb81611750565b6117bb81611759565b6117bb8161176656fea164736f6c634300060c000a", - "sourceMap": "874:5481:129:-:0;;;1273:201;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1338:129;;-1:-1:-1;;;;;;1338:129:129;;;874:5481;;5:134:-1;83:13;;101:33;83:13;101:33;:::i;:::-;68:71;;;;:::o;146:263::-;;261:2;249:9;240:7;236:23;232:32;229:2;;;277:1;274;267:12;229:2;312:1;329:64;385:7;365:9;329:64;:::i;:::-;319:74;223:186;-1:-1;;;;223:186::o;416:91::-;;-1:-1;;;;;576:54;;478:24;559:76::o;642:117::-;711:24;729:5;711:24;:::i;:::-;704:5;701:35;691:2;;750:1;747;740:12;691:2;685:74;:::o;:::-;874:5481:129;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c8063bbd2d6461461003b578063db16c72e14610066575b600080fd5b61004e6100493660046112c8565b610086565b60405161005d939291906115fb565b60405180910390f35b610079610074366004611280565b61096f565b60405161005d919061163d565b60608080846101bc5760008061009a610bf9565b6100a387610977565b995050505050505050925092506100b9826109c2565b6040805160018082528183019092529060208083019080368337019050509550826001600160a01b0316636f307dc36040518163ffffffff1660e01b815260040160206040518083038186803b15801561011257600080fd5b505afa158015610126573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061014a919061112f565b8660008151811061015757fe5b6001600160a01b039290921660209283029190910182015260408051600180825281830190925291828101908036833701905050945080604001516001600160801b0316856000815181106101a857fe5b602002602001018181525050505050610966565b60018514156103a7576060866001600160a01b0316633ee992ee6040518163ffffffff1660e01b815260040160006040518083038186803b15801561020057600080fd5b505afa158015610214573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261023c919081019061132d565b805190915060005b8181101561039f5760007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316639cfb2ab085848151811061028957fe5b60200260200101516040518263ffffffff1660e01b81526004016102ad919061167e565b6101a06040518083038186803b1580156102c657600080fd5b505afa1580156102da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102fe9190611362565b610120015190506000816001600160a01b03166370a082318c6040518263ffffffff1660e01b815260040161033391906115ed565b60206040518083038186803b15801561034b57600080fd5b505afa15801561035f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061038391906113be565b1115610396576103938582610a0b565b94505b50600101610244565b505050610966565b6002851415610655576000806103bc86610a36565b915091506000826001600160a01b0316634118ca7d6040518163ffffffff1660e01b815260040160206040518083038186803b1580156103fb57600080fd5b505afa15801561040f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610433919061112f565b905061043d610c27565b60405163d3ceafb960e01b81526001600160a01b0383169063d3ceafb99061046990869060040161168c565b6101a06040518083038186803b15801561048257600080fd5b505afa158015610496573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ba9190611381565b905060006105c7836001600160a01b0316633e7e86696040518163ffffffff1660e01b815260040160206040518083038186803b1580156104fa57600080fd5b505afa15801561050e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061053291906113dc565b60ff16600a0a6105c184602001516001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561057857600080fd5b505afa15801561058c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105b091906113dc565b60408601519060ff16600a0a610a56565b90610a90565b604080516001808252818301909252919250602080830190803683370190505097508160200151886000815181106105fb57fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509650808760008151811061063f57fe5b6020026020010181815250505050505050610966565b600385141561088f57600061066985610ac2565b9050610673610c90565b6040516309cfb2ab60e41b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690639cfb2ab0906106bf90859060040161167e565b6101a06040518083038186803b1580156106d857600080fd5b505afa1580156106ec573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107109190611362565b60a08101519091506001600160801b0316156107ea5760408051600180825281830190925290602080830190803683370190505092508061010001516001600160a01b0316636f307dc36040518163ffffffff1660e01b815260040160206040518083038186803b15801561078457600080fd5b505afa158015610798573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107bc919061112f565b836000815181106107c957fe5b60200260200101906001600160a01b031690816001600160a01b0316815250505b6101208101516040516370a0823160e01b81526000916001600160a01b0316906370a082319061081e908c906004016115ed565b60206040518083038186803b15801561083657600080fd5b505afa15801561084a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061086e91906113be565b111561088857610120810151610885908490610ad8565b92505b5050610966565b60048514156109665760006108a385610a36565b5060408051600180825281830190925291925060208083019080368337019050509150806001600160a01b0316636f307dc36040518163ffffffff1660e01b815260040160206040518083038186803b1580156108ff57600080fd5b505afa158015610913573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610937919061112f565b8260008151811061094457fe5b60200260200101906001600160a01b031690816001600160a01b031681525050505b93509350939050565b606092915050565b600080600080600080600080606061098d610bf9565b8a8060200190518101906109a19190611155565b99509950995099509950995099509950995099509193959799509193959799565b6001600160a01b03811673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1415610a085760405162461bcd60e51b81526004016109ff9061166e565b60405180910390fd5b50565b6060610a178383610ba3565b15610a23575081610a30565b610a2d8383610ad8565b90505b92915050565b60008082806020019051810190610a4d9190611246565b91509150915091565b600082610a6557506000610a30565b82820282848281610a7257fe5b0414610a2d5760405162461bcd60e51b81526004016109ff9061165e565b6000808211610ab15760405162461bcd60e51b81526004016109ff9061164e565b818381610aba57fe5b049392505050565b600081806020019051810190610a3091906113a0565b6060825160010167ffffffffffffffff81118015610af557600080fd5b50604051908082528060200260200182016040528015610b1f578160200160208202803683370190505b50905060005b8351811015610b6e57838181518110610b3a57fe5b6020026020010151828281518110610b4e57fe5b6001600160a01b0390921660209283029190910190910152600101610b25565b508181845181518110610b7d57fe5b60200260200101906001600160a01b031690816001600160a01b03168152505092915050565b6000805b8351811015610bef57838181518110610bbc57fe5b60200260200101516001600160a01b0316836001600160a01b03161415610be7576001915050610a30565b600101610ba7565b5060009392505050565b6040805160a08101825260008082526020820181905291810182905260608101829052608081019190915290565b604080516101a081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052906101008201908152600060208201819052604082018190526060820181905260809091015290565b604080516101a081018252600080825260208201819052918101829052906060820190815260006020820181905260408201819052606082018190526080820181905260a0820181905260c0820181905260e0820181905261010082018190526101209091015290565b8035610a30816117b2565b8051610a30816117b2565b600082601f830112610d2157600080fd5b8151610d34610d2f826116c1565b61169a565b91508181835260208401935060208101905083856020840282011115610d5957600080fd5b60005b83811015610d855781610d6f88826110ed565b8452506020928301929190910190600101610d5c565b5050505092915050565b8051610a30816117c6565b600082601f830112610dab57600080fd5b8135610db9610d2f826116e2565b91508082526020830160208301858383011115610dd557600080fd5b610de083828461176c565b50505092915050565b600082601f830112610dfa57600080fd5b8151610e08610d2f826116e2565b91508082526020830160208301858383011115610e2457600080fd5b610de0838284611778565b8051610a30816117cf565b600060a08284031215610e4c57600080fd5b610e5660a061169a565b90506000610e6484846110e2565b8252506020610e75848483016110e2565b6020830152506040610e89848285016110e2565b6040830152506060610e9d84828501611119565b6060830152506080610eb184828501611119565b60808301525092915050565b60006101a08284031215610ed057600080fd5b610edb6101a061169a565b90506000610ee984846110ed565b8252506020610efa8484830161110e565b6020830152506040610f0e8482850161110e565b6040830152506060610f2284828501610e2f565b6060830152506080610f36848285016110e2565b60808301525060a0610f4a848285016110e2565b60a08301525060c0610f5e848285016110e2565b60c08301525060e0610f72848285016110e2565b60e083015250610100610f8784828501610d05565b61010083015250610120610f9d84828501610d05565b61012083015250610140610fb384828501610d05565b61014083015250610160610fc984828501610d8f565b61016083015250610180610fdf84828501610d8f565b6101808301525092915050565b60006101a08284031215610fff57600080fd5b61100a6101a061169a565b905060006110188484610d05565b825250602061102984848301610d05565b602083015250604061103d84828501611103565b6040830152506060611051848285016110e2565b6060830152506080611065848285016110e2565b60808301525060a0611079848285016110e2565b60a08301525060c061108d84828501611119565b60c08301525060e06110a184828501611119565b60e0830152506101006110b684828501610e2f565b610100830152506101206110cc84828501610d8f565b61012083015250610140610fb384828501610d8f565b8051610a30816117dc565b8051610a30816117e5565b8035610a30816117ee565b8051610a30816117ee565b8051610a30816117f7565b8051610a3081611800565b8051610a3081611809565b60006020828403121561114157600080fd5b600061114d8484610d05565b949350505050565b6000806000806000806000806000806101c08b8d03121561117557600080fd5b60006111818d8d610d05565b9a505060206111928d828e01610d05565b99505060406111a38d828e016110e2565b98505060606111b48d828e016110e2565b97505060806111c58d828e0161110e565b96505060a06111d68d828e0161110e565b95505060c06111e78d828e01610d8f565b94505060e06111f88d828e01610e2f565b9350506101008b015167ffffffffffffffff81111561121657600080fd5b6112228d828e01610de9565b9250506101206112348d828e01610e3a565b9150509295989b9194979a5092959850565b6000806040838503121561125957600080fd5b60006112658585610d05565b925050602061127685828601611103565b9150509250929050565b6000806040838503121561129357600080fd5b600061129f8585610cfa565b925050602083013567ffffffffffffffff8111156112bc57600080fd5b61127685828601610d9a565b6000806000606084860312156112dd57600080fd5b60006112e98686610cfa565b93505060206112fa868287016110f8565b925050604084013567ffffffffffffffff81111561131757600080fd5b61132386828701610d9a565b9150509250925092565b60006020828403121561133f57600080fd5b815167ffffffffffffffff81111561135657600080fd5b61114d84828501610d10565b60006101a0828403121561137557600080fd5b600061114d8484610ebd565b60006101a0828403121561139457600080fd5b600061114d8484610fec565b6000602082840312156113b257600080fd5b600061114d84846110ed565b6000602082840312156113d057600080fd5b600061114d8484611103565b6000602082840312156113ee57600080fd5b600061114d8484611124565b6000611406838361141a565b505060200190565b600061140683836115e4565b6114238161171d565b82525050565b600061143482611710565b61143e8185611714565b93506114498361170a565b8060005b8381101561147757815161146188826113fa565b975061146c8361170a565b92505060010161144d565b509495945050505050565b600061148d82611710565b6114978185611714565b93506114a28361170a565b8060005b838110156114775781516114ba888261140e565b97506114c58361170a565b9250506001016114a6565b60006114db82611710565b6114e58185611714565b93506114f5818560208601611778565b6114fe816117a8565b9093019392505050565b6000611515601a83611714565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b600061154e602183611714565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000611591603583611714565b7f5f5f76616c69646174654e6f744e6174697665546f6b656e3a204e617469766581527408185cdcd95d081a5cc81d5b9cdd5c1c1bdc9d1959605a1b602082015260400192915050565b61142381611745565b6114238161174d565b60208101610a30828461141a565b6060808252810161160c8186611429565b905081810360208301526116208185611482565b905081810360408301526116348184611429565b95945050505050565b60208082528101610a2d81846114d0565b60208082528101610a3081611508565b60208082528101610a3081611541565b60208082528101610a3081611584565b60208101610a3082846115db565b60208101610a3082846115e4565b60405181810167ffffffffffffffff811182821017156116b957600080fd5b604052919050565b600067ffffffffffffffff8211156116d857600080fd5b5060209081020190565b600067ffffffffffffffff8211156116f957600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b6000610a3082611739565b151590565b6001600160801b031690565b6001600160a01b031690565b62ffffff1690565b90565b63ffffffff1690565b67ffffffffffffffff1690565b60ff1690565b82818337506000910152565b60005b8381101561179357818101518382015260200161177b565b838111156117a2576000848401525b50505050565b601f01601f191690565b6117bb8161171d565b8114610a0857600080fd5b6117bb81611728565b60028110610a0857600080fd5b6117bb8161172d565b6117bb81611745565b6117bb8161174d565b6117bb81611750565b6117bb81611759565b6117bb8161176656fea164736f6c634300060c000a", - "sourceMap": "874:5481:129:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2021:3748;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;5945:89;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;2021:3748::-;2224:34;;;2383:67;2379:3309;;2484:15;2517:16;2677:74;;:::i;:::-;2768:49;2798:18;2768:29;:49::i;:::-;2466:351;;;;;;;;;;;;;2832:34;2857:8;2832:24;:34::i;:::-;2901:16;;;2915:1;2901:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2901:16:129;2881:36;;2973:7;-1:-1:-1;;;;;2954:38:129;;:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2931:17;2949:1;2931:20;;;;;;;;-1:-1:-1;;;;;2931:63:129;;;;:20;;;;;;;;;;:63;3029:16;;;3043:1;3029:16;;;;;;;;;;;;;;2931:20;3029:16;;;;;-1:-1:-1;3029:16:129;3008:37;;3083:13;:27;;;-1:-1:-1;;;;;3059:51:129;:18;3078:1;3059:21;;;;;;;;;;;;;:51;;;;;2379:3309;;;;;;3152:43;3131:9;:65;3127:2561;;;3212:25;3266:17;-1:-1:-1;;;;;3240:54:129;;:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3240:56:129;;;;;;;;;;;;:::i;:::-;3333:16;;3212:84;;-1:-1:-1;3310:20:129;3363:374;3383:12;3379:1;:16;3363:374;;;3420:16;3439:37;-1:-1:-1;;;;;3439:68:129;;3508:9;3518:1;3508:12;;;;;;;;;;;;;;3439:82;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:112;;;3420:131;;3620:1;3579:8;-1:-1:-1;;;;;3573:25:129;;3599:17;3573:44;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:48;3569:154;;;3664:40;:16;3695:8;3664:30;:40::i;:::-;3645:59;;3569:154;-1:-1:-1;3397:3:129;;3363:374;;;;3127:2561;;;;;3778:40;3757:9;:62;3753:1935;;;3836:15;3853:14;3871:44;3896:18;3871:24;:44::i;:::-;3835:80;;;;3930:35;4020:7;-1:-1:-1;;;;;4001:36:129;;:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3930:123;;4068:44;;:::i;:::-;4115:71;;-1:-1:-1;;;4115:71:129;;-1:-1:-1;;;;;4115:33:129;;;;;:71;;4166:6;;4115:71;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4068:118;;4201:22;4226:186;4375:19;-1:-1:-1;;;;;4375:33:129;;:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4367:44;;4363:2;:48;4226:115;4304:10;:23;;;-1:-1:-1;;;;;4298:39:129;;:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4226:38;;;;;4290:50;;4286:2;:54;4226:59;:115::i;:::-;:136;;:186::i;:::-;4447:16;;;4461:1;4447:16;;;;;;;;;4201:211;;-1:-1:-1;4447:16:129;;;;;;;;;;;-1:-1:-1;4447:16:129;4427:36;;4500:10;:23;;;4477:17;4495:1;4477:20;;;;;;;;-1:-1:-1;;;;;4477:46:129;;;;:20;;;;;;;;;;:46;4558:16;;;4572:1;4558:16;;;;;;;;;;;;;;4477:20;4558:16;;;;;-1:-1:-1;4558:16:129;4537:37;;4612:14;4588:18;4607:1;4588:21;;;;;;;;;;;;;:38;;;;;3753:1935;;;;;;;;4668:45;4647:9;:67;4643:1045;;;4730:14;4747:49;4777:18;4747:29;:49::i;:::-;4730:66;;4811:77;;:::i;:::-;4891:56;;-1:-1:-1;;;4891:56:129;;-1:-1:-1;;;;;4891:37:129;:47;;;;:56;;4939:7;;4891:56;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5046:11;;;;4811:136;;-1:-1:-1;;;;;;5046:15:129;;5042:175;;5100:16;;;5114:1;5100:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5100:16:129;5081:35;;5175:5;:13;;;-1:-1:-1;;;;;5156:44:129;;:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5134:16;5151:1;5134:19;;;;;;;;;;;;;:68;-1:-1:-1;;;;;5134:68:129;;;-1:-1:-1;;;;;5134:68:129;;;;;5042:175;5241:14;;;;5235:50;;-1:-1:-1;;;5235:50:129;;5288:1;;-1:-1:-1;;;;;5235:31:129;;;;:50;;5267:17;;5235:50;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:54;5231:152;;;5353:14;;;;5328:40;;:16;;:24;:40::i;:::-;5309:59;;5231:152;4643:1045;;;;;5424:42;5403:9;:64;5399:289;;;5484:15;5505:46;5532:18;5505:26;:46::i;:::-;-1:-1:-1;5585:16:129;;;5599:1;5585:16;;;;;;;;;5483:68;;-1:-1:-1;5585:16:129;;;;;;;;;;;-1:-1:-1;5585:16:129;5566:35;;5656:7;-1:-1:-1;;;;;5637:38:129;;:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5615:16;5632:1;5615:19;;;;;;;;;;;;;:62;-1:-1:-1;;;;;5615:62:129;;;-1:-1:-1;;;;;5615:62:129;;;;;5399:289;;2021:3748;;;;;;;:::o;5945:89::-;6018:12;5945:89;;;;:::o;723:1038:127:-;848:16;878:17;909:12;935;961:17;992:15;1021:18;1053:60;1127:22;1163:75;;:::i;:::-;1312:11;1284:460;;;;;;;;;;;;:::i;:::-;1263:491;;;;;;;;;;;;;;;;;;;;723:1038;;;;;;;;;;;:::o;6143:210:129:-;-1:-1:-1;;;;;6237:30:129;;1114:42;6237:30;;6216:130;;;;-1:-1:-1;;;6216:130:129;;;;;;;:::i;:::-;;;;;;;;;6143:210;:::o;2136:277:354:-;2250:27;2297;2306:5;2313:10;2297:8;:27::i;:::-;2293:70;;;-1:-1:-1;2347:5:354;2340:12;;2293:70;2380:26;2388:5;2395:10;2380:7;:26::i;:::-;2373:33;;2136:277;;;;;:::o;1832:215:127:-;1939:16;1957:15;2007:11;1996:43;;;;;;;;;;;;:::i;:::-;1988:52;;;;1832:215;;;:::o;3538::442:-;3596:7;3619:6;3615:20;;-1:-1:-1;3634:1:442;3627:8;;3615:20;3657:5;;;3661:1;3657;:5;:1;3680:5;;;;;:10;3672:56;;;;-1:-1:-1;;;3672:56:442;;;;;;;:::i;4217:150::-;4275:7;4306:1;4302;:5;4294:44;;;;-1:-1:-1;;;4294:44:442;;;;;;;:::i;:::-;4359:1;4355;:5;;;;;;;4217:150;-1:-1:-1;;;4217:150:442:o;2123:192:127:-;2235:15;2285:11;2274:33;;;;;;;;;;;;:::i;1668:374:354:-;1776:27;1846:5;:12;1861:1;1846:16;1832:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1832:31:354;;1819:44;;1878:9;1873:88;1893:5;:12;1889:1;:16;1873:88;;;1942:5;1948:1;1942:8;;;;;;;;;;;;;;1926:10;1937:1;1926:13;;;;;;;;-1:-1:-1;;;;;1926:24:354;;;:13;;;;;;;;;;;:24;1907:3;;1873:88;;;;1997:10;1970;1981:5;:12;1970:24;;;;;;;;;;;;;:37;-1:-1:-1;;;;;1970:37:354;;;-1:-1:-1;;;;;1970:37:354;;;;;1668:374;;;;:::o;2489:299::-;2595:17;2633:9;2628:132;2648:5;:12;2644:1;:16;2628:132;;;2696:5;2702:1;2696:8;;;;;;;;;;;;;;-1:-1:-1;;;;;2685:19:354;:7;-1:-1:-1;;;;;2685:19:354;;2681:69;;;2731:4;2724:11;;;;;2681:69;2662:3;;2628:132;;;-1:-1:-1;2776:5:354;;2489:299;-1:-1:-1;;;2489:299:354:o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5:130::-;72:20;;97:33;72:20;97:33;:::i;142:134::-;220:13;;238:33;220:13;238:33;:::i;457:719::-;;584:3;577:4;569:6;565:17;561:27;551:2;;602:1;599;592:12;551:2;632:6;626:13;654:79;669:63;725:6;669:63;:::i;:::-;654:79;:::i;:::-;645:88;;750:5;775:6;768:5;761:21;805:4;797:6;793:17;783:27;;827:4;822:3;818:14;811:21;;880:6;927:3;919:4;911:6;907:17;902:3;898:27;895:36;892:2;;;944:1;941;934:12;892:2;969:1;954:216;979:6;976:1;973:13;954:216;;;1037:3;1059:47;1102:3;1090:10;1059:47;:::i;:::-;1047:60;;-1:-1;1130:4;1121:14;;;;1149;;;;;1001:1;994:9;954:216;;;958:14;544:632;;;;;;;:::o;1184:128::-;1259:13;;1277:30;1259:13;1277:30;:::i;1320:440::-;;1421:3;1414:4;1406:6;1402:17;1398:27;1388:2;;1439:1;1436;1429:12;1388:2;1476:6;1463:20;1498:64;1513:48;1554:6;1513:48;:::i;1498:64::-;1489:73;;1582:6;1575:5;1568:21;1618:4;1610:6;1606:17;1651:4;1644:5;1640:16;1686:3;1677:6;1672:3;1668:16;1665:25;1662:2;;;1703:1;1700;1693:12;1662:2;1713:41;1747:6;1742:3;1737;1713:41;:::i;:::-;1381:379;;;;;;;:::o;1769:442::-;;1881:3;1874:4;1866:6;1862:17;1858:27;1848:2;;1899:1;1896;1889:12;1848:2;1929:6;1923:13;1951:64;1966:48;2007:6;1966:48;:::i;1951:64::-;1942:73;;2035:6;2028:5;2021:21;2071:4;2063:6;2059:17;2104:4;2097:5;2093:16;2139:3;2130:6;2125:3;2121:16;2118:25;2115:2;;;2156:1;2153;2146:12;2115:2;2166:39;2198:6;2193:3;2188;2166:39;:::i;2219:174::-;2317:13;;2335:53;2317:13;2335:53;:::i;2638:1008::-;;2770:4;2758:9;2753:3;2749:19;2745:30;2742:2;;;2788:1;2785;2778:12;2742:2;2806:20;2821:4;2806:20;:::i;:::-;2797:29;-1:-1;2883:1;2915:60;2971:3;2951:9;2915:60;:::i;:::-;2890:86;;-1:-1;3045:2;3078:60;3134:3;3110:22;;;3078:60;:::i;:::-;3071:4;3064:5;3060:16;3053:86;2997:153;3209:2;3242:60;3298:3;3289:6;3278:9;3274:22;3242:60;:::i;:::-;3235:4;3228:5;3224:16;3217:86;3160:154;3373:2;3406:59;3461:3;3452:6;3441:9;3437:22;3406:59;:::i;:::-;3399:4;3392:5;3388:16;3381:85;3324:153;3531:3;3565:59;3620:3;3611:6;3600:9;3596:22;3565:59;:::i;:::-;3558:4;3551:5;3547:16;3540:85;3487:149;2736:910;;;;:::o;3715:2280::-;;3842:6;3830:9;3825:3;3821:19;3817:32;3814:2;;;3862:1;3859;3852:12;3814:2;3880:22;3895:6;3880:22;:::i;:::-;3871:31;-1:-1;3958:1;3990:59;4045:3;4025:9;3990:59;:::i;:::-;3965:85;;-1:-1;4116:2;4149:59;4204:3;4180:22;;;4149:59;:::i;:::-;4142:4;4135:5;4131:16;4124:85;4071:149;4273:2;4306:59;4361:3;4352:6;4341:9;4337:22;4306:59;:::i;:::-;4299:4;4292:5;4288:16;4281:85;4230:147;4432:2;4465:75;4536:3;4527:6;4516:9;4512:22;4465:75;:::i;:::-;4458:4;4451:5;4447:16;4440:101;4387:165;4608:3;4642:60;4698:3;4689:6;4678:9;4674:22;4642:60;:::i;:::-;4635:4;4628:5;4624:16;4617:86;4562:152;4765:3;4799:60;4855:3;4846:6;4835:9;4831:22;4799:60;:::i;:::-;4792:4;4785:5;4781:16;4774:86;4724:147;4920:3;4954:60;5010:3;5001:6;4990:9;4986:22;4954:60;:::i;:::-;4947:4;4940:5;4936:16;4929:86;4881:145;5075:3;5109:60;5165:3;5156:6;5145:9;5141:22;5109:60;:::i;:::-;5102:4;5095:5;5091:16;5084:86;5036:145;5234:3;5270:60;5326:3;5317:6;5306:9;5302:22;5270:60;:::i;:::-;5261:6;5254:5;5250:18;5243:88;5191:151;5396:3;5432:60;5488:3;5479:6;5468:9;5464:22;5432:60;:::i;:::-;5423:6;5416:5;5412:18;5405:88;5352:152;5556:3;5592:60;5648:3;5639:6;5628:9;5624:22;5592:60;:::i;:::-;5583:6;5576:5;5572:18;5565:88;5514:150;5722:3;5758:57;5811:3;5802:6;5791:9;5787:22;5758:57;:::i;:::-;5749:6;5742:5;5738:18;5731:85;5674:153;5880:3;5916:57;5969:3;5960:6;5949:9;5945:22;5916:57;:::i;:::-;5907:6;5900:5;5896:18;5889:85;5837:148;3808:2187;;;;:::o;6042:2332::-;;6171:6;6159:9;6154:3;6150:19;6146:32;6143:2;;;6191:1;6188;6181:12;6143:2;6209:22;6224:6;6209:22;:::i;:::-;6200:31;-1:-1;6283:1;6315:60;6371:3;6351:9;6315:60;:::i;:::-;6290:86;;-1:-1;6445:2;6478:60;6534:3;6510:22;;;6478:60;:::i;:::-;6471:4;6464:5;6460:16;6453:86;6397:153;6606:2;6639:60;6695:3;6686:6;6675:9;6671:22;6639:60;:::i;:::-;6632:4;6625:5;6621:16;6614:86;6560:151;6768:2;6801:60;6857:3;6848:6;6837:9;6833:22;6801:60;:::i;:::-;6794:4;6787:5;6783:16;6776:86;6721:152;6931:3;6965:60;7021:3;7012:6;7001:9;6997:22;6965:60;:::i;:::-;6958:4;6951:5;6947:16;6940:86;6883:154;7094:3;7128:60;7184:3;7175:6;7164:9;7160:22;7128:60;:::i;:::-;7121:4;7114:5;7110:16;7103:86;7047:153;7259:3;7293:59;7348:3;7339:6;7328:9;7324:22;7293:59;:::i;:::-;7286:4;7279:5;7275:16;7268:85;7210:154;7418:3;7452:59;7507:3;7498:6;7487:9;7483:22;7452:59;:::i;:::-;7445:4;7438:5;7434:16;7427:85;7374:149;7583:3;7619:80;7695:3;7686:6;7675:9;7671:22;7619:80;:::i;:::-;7610:6;7603:5;7599:18;7592:108;7533:178;7773:3;7809:57;7862:3;7853:6;7842:9;7838:22;7809:57;:::i;:::-;7800:6;7793:5;7789:18;7782:85;7721:157;7941:3;7977:57;8030:3;8021:6;8010:9;8006:22;7977:57;:::i;8381:134::-;8459:13;;8477:33;8459:13;8477:33;:::i;8522:132::-;8599:13;;8617:32;8599:13;8617:32;:::i;8661:130::-;8728:20;;8753:33;8728:20;8753:33;:::i;8798:134::-;8876:13;;8894:33;8876:13;8894:33;:::i;8939:132::-;9016:13;;9034:32;9016:13;9034:32;:::i;9078:132::-;9155:13;;9173:32;9155:13;9173:32;:::i;9217:130::-;9293:13;;9311:31;9293:13;9311:31;:::i;9354:263::-;;9469:2;9457:9;9448:7;9444:23;9440:32;9437:2;;;9485:1;9482;9475:12;9437:2;9520:1;9537:64;9593:7;9573:9;9537:64;:::i;:::-;9527:74;9431:186;-1:-1;;;;9431:186::o;9624:1707::-;;;;;;;;;;;9959:3;9947:9;9938:7;9934:23;9930:33;9927:2;;;9976:1;9973;9966:12;9927:2;10011:1;10028:72;10092:7;10072:9;10028:72;:::i;:::-;10018:82;;9990:116;10137:2;10155:72;10219:7;10210:6;10199:9;10195:22;10155:72;:::i;:::-;10145:82;;10116:117;10264:2;10282:64;10338:7;10329:6;10318:9;10314:22;10282:64;:::i;:::-;10272:74;;10243:109;10383:2;10401:64;10457:7;10448:6;10437:9;10433:22;10401:64;:::i;:::-;10391:74;;10362:109;10502:3;10521:63;10576:7;10567:6;10556:9;10552:22;10521:63;:::i;:::-;10511:73;;10481:109;10621:3;10640:63;10695:7;10686:6;10675:9;10671:22;10640:63;:::i;:::-;10630:73;;10600:109;10740:3;10759:61;10812:7;10803:6;10792:9;10788:22;10759:61;:::i;:::-;10749:71;;10719:107;10857:3;10876:79;10947:7;10938:6;10927:9;10923:22;10876:79;:::i;:::-;10866:89;;10836:125;11013:3;11002:9;10998:19;10992:26;11038:18;11030:6;11027:30;11024:2;;;11070:1;11067;11060:12;11024:2;11090:73;11155:7;11146:6;11135:9;11131:22;11090:73;:::i;:::-;11080:83;;10971:198;11200:3;11219:96;11307:7;11298:6;11287:9;11283:22;11219:96;:::i;:::-;11209:106;;11179:142;9921:1410;;;;;;;;;;;;;:::o;11338:415::-;;;11478:2;11466:9;11457:7;11453:23;11449:32;11446:2;;;11494:1;11491;11484:12;11446:2;11529:1;11546:72;11610:7;11590:9;11546:72;:::i;:::-;11536:82;;11508:116;11655:2;11673:64;11729:7;11720:6;11709:9;11705:22;11673:64;:::i;:::-;11663:74;;11634:109;11440:313;;;;;:::o;11760:470::-;;;11890:2;11878:9;11869:7;11865:23;11861:32;11858:2;;;11906:1;11903;11896:12;11858:2;11941:1;11958:53;12003:7;11983:9;11958:53;:::i;:::-;11948:63;;11920:97;12076:2;12065:9;12061:18;12048:32;12100:18;12092:6;12089:30;12086:2;;;12132:1;12129;12122:12;12086:2;12152:62;12206:7;12197:6;12186:9;12182:22;12152:62;:::i;12237:595::-;;;;12384:2;12372:9;12363:7;12359:23;12355:32;12352:2;;;12400:1;12397;12390:12;12352:2;12435:1;12452:53;12497:7;12477:9;12452:53;:::i;:::-;12442:63;;12414:97;12542:2;12560:53;12605:7;12596:6;12585:9;12581:22;12560:53;:::i;:::-;12550:63;;12521:98;12678:2;12667:9;12663:18;12650:32;12702:18;12694:6;12691:30;12688:2;;;12734:1;12731;12724:12;12688:2;12754:62;12808:7;12799:6;12788:9;12784:22;12754:62;:::i;:::-;12744:72;;12629:193;12346:486;;;;;:::o;12839:390::-;;12978:2;12966:9;12957:7;12953:23;12949:32;12946:2;;;12994:1;12991;12984:12;12946:2;13029:24;;13073:18;13062:30;;13059:2;;;13105:1;13102;13095:12;13059:2;13125:88;13205:7;13196:6;13185:9;13181:22;13125:88;:::i;13236:318::-;;13378:3;13366:9;13357:7;13353:23;13349:33;13346:2;;;13395:1;13392;13385:12;13346:2;13430:1;13447:91;13530:7;13510:9;13447:91;:::i;13561:322::-;;13705:3;13693:9;13684:7;13680:23;13676:33;13673:2;;;13722:1;13719;13712:12;13673:2;13757:1;13774:93;13859:7;13839:9;13774:93;:::i;13890:261::-;;14004:2;13992:9;13983:7;13979:23;13975:32;13972:2;;;14020:1;14017;14010:12;13972:2;14055:1;14072:63;14127:7;14107:9;14072:63;:::i;14158:263::-;;14273:2;14261:9;14252:7;14248:23;14244:32;14241:2;;;14289:1;14286;14279:12;14241:2;14324:1;14341:64;14397:7;14377:9;14341:64;:::i;14428:259::-;;14541:2;14529:9;14520:7;14516:23;14512:32;14509:2;;;14557:1;14554;14547:12;14509:2;14592:1;14609:62;14663:7;14643:9;14609:62;:::i;14695:173::-;;14782:46;14824:3;14816:6;14782:46;:::i;:::-;-1:-1;;14857:4;14848:14;;14775:93::o;14877:173::-;;14964:46;15006:3;14998:6;14964:46;:::i;15058:103::-;15131:24;15149:5;15131:24;:::i;:::-;15126:3;15119:37;15113:48;;:::o;15319:690::-;;15464:54;15512:5;15464:54;:::i;:::-;15531:86;15610:6;15605:3;15531:86;:::i;:::-;15524:93;;15638:56;15688:5;15638:56;:::i;:::-;15714:7;15742:1;15727:260;15752:6;15749:1;15746:13;15727:260;;;15819:6;15813:13;15840:63;15899:3;15884:13;15840:63;:::i;:::-;15833:70;;15920:60;15973:6;15920:60;:::i;:::-;15910:70;-1:-1;;15774:1;15767:9;15727:260;;;-1:-1;16000:3;;15443:566;-1:-1;;;;;15443:566::o;16048:690::-;;16193:54;16241:5;16193:54;:::i;:::-;16260:86;16339:6;16334:3;16260:86;:::i;:::-;16253:93;;16367:56;16417:5;16367:56;:::i;:::-;16443:7;16471:1;16456:260;16481:6;16478:1;16475:13;16456:260;;;16548:6;16542:13;16569:63;16628:3;16613:13;16569:63;:::i;:::-;16562:70;;16649:60;16702:6;16649:60;:::i;:::-;16639:70;-1:-1;;16503:1;16496:9;16456:260;;16746:343;;16856:38;16888:5;16856:38;:::i;:::-;16906:70;16969:6;16964:3;16906:70;:::i;:::-;16899:77;;16981:52;17026:6;17021:3;17014:4;17007:5;17003:16;16981:52;:::i;:::-;17054:29;17076:6;17054:29;:::i;:::-;17045:39;;;;16836:253;-1:-1;;;16836:253::o;17097:326::-;;17257:67;17321:2;17316:3;17257:67;:::i;:::-;17357:28;17337:49;;17414:2;17405:12;;17243:180;-1:-1;;17243:180::o;17432:370::-;;17592:67;17656:2;17651:3;17592:67;:::i;:::-;17692:34;17672:55;;-1:-1;;;17756:2;17747:12;;17740:25;17793:2;17784:12;;17578:224;-1:-1;;17578:224::o;17811:390::-;;17971:67;18035:2;18030:3;17971:67;:::i;:::-;18071:34;18051:55;;-1:-1;;;18135:2;18126:12;;18119:45;18192:2;18183:12;;17957:244;-1:-1;;17957:244::o;18209:110::-;18290:23;18307:5;18290:23;:::i;18326:103::-;18399:24;18417:5;18399:24;:::i;18556:222::-;18683:2;18668:18;;18697:71;18672:9;18741:6;18697:71;:::i;18785:888::-;19118:2;19132:47;;;19103:18;;19193:108;19103:18;19287:6;19193:108;:::i;:::-;19185:116;;19349:9;19343:4;19339:20;19334:2;19323:9;19319:18;19312:48;19374:108;19477:4;19468:6;19374:108;:::i;:::-;19366:116;;19530:9;19524:4;19520:20;19515:2;19504:9;19500:18;19493:48;19555:108;19658:4;19649:6;19555:108;:::i;:::-;19547:116;19089:584;-1:-1;;;;;19089:584::o;19680:306::-;19825:2;19839:47;;;19810:18;;19900:76;19810:18;19962:6;19900:76;:::i;19993:416::-;20193:2;20207:47;;;20178:18;;20268:131;20178:18;20268:131;:::i;20416:416::-;20616:2;20630:47;;;20601:18;;20691:131;20601:18;20691:131;:::i;20839:416::-;21039:2;21053:47;;;21024:18;;21114:131;21024:18;21114:131;:::i;21262:218::-;21387:2;21372:18;;21401:69;21376:9;21443:6;21401:69;:::i;21487:222::-;21614:2;21599:18;;21628:71;21603:9;21672:6;21628:71;:::i;21716:256::-;21778:2;21772:9;21804:17;;;21879:18;21864:34;;21900:22;;;21861:62;21858:2;;;21936:1;21933;21926:12;21858:2;21952;21945:22;21756:216;;-1:-1;21756:216::o;21979:303::-;;22137:18;22129:6;22126:30;22123:2;;;22169:1;22166;22159:12;22123:2;-1:-1;22204:4;22192:17;;;22257:15;;22060:222::o;22289:321::-;;22432:18;22424:6;22421:30;22418:2;;;22464:1;22461;22454:12;22418:2;-1:-1;22595:4;22531;22508:17;;;;-1:-1;;22504:33;22585:15;;22355:255::o;22617:151::-;22741:4;22732:14;;22689:79::o;22933:137::-;23036:12;;23007:63::o;23580:178::-;23698:19;;;23747:4;23738:14;;23691:67::o;24296:91::-;;24358:24;24376:5;24358:24;:::i;24500:85::-;24566:13;24559:21;;24542:43::o;24592:113::-;-1:-1;;;;;24654:46;;24637:68::o;24712:121::-;-1:-1;;;;;24774:54;;24757:76::o;24840:86::-;24912:8;24901:20;;24884:42::o;24933:72::-;24995:5;24978:27::o;25012:88::-;25084:10;25073:22;;25056:44::o;25107:96::-;25179:18;25168:30;;25151:52::o;25210:81::-;25281:4;25270:16;;25253:38::o;25299:145::-;25380:6;25375:3;25370;25357:30;-1:-1;25436:1;25418:16;;25411:27;25350:94::o;25453:268::-;25518:1;25525:101;25539:6;25536:1;25533:13;25525:101;;;25606:11;;;25600:18;25587:11;;;25580:39;25561:2;25554:10;25525:101;;;25641:6;25638:1;25635:13;25632:2;;;25706:1;25697:6;25692:3;25688:16;25681:27;25632:2;25502:219;;;;:::o;25729:97::-;25817:2;25797:14;-1:-1;;25793:28;;25777:49::o;25834:117::-;25903:24;25921:5;25903:24;:::i;:::-;25896:5;25893:35;25883:2;;25942:1;25939;25932:12;26098:111;26164:21;26179:5;26164:21;:::i;26216:114::-;26305:1;26298:5;26295:12;26285:2;;26321:1;26318;26311:12;26453:117;26522:24;26540:5;26522:24;:::i;26577:115::-;26645:23;26662:5;26645:23;:::i;26699:117::-;26768:24;26786:5;26768:24;:::i;26823:115::-;26891:23;26908:5;26891:23;:::i;26945:115::-;27013:23;27030:5;27013:23;:::i;27067:113::-;27134:22;27150:5;27134:22;:::i", - "linkReferences": {}, - "immutableReferences": { - "32364": [ - { - "start": 592, - "length": 32 - }, - { - "start": 1674, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "parseAssetsForAction(address,uint256,bytes)": "bbd2d646", - "parseInitArgs(address,bytes)": "db16c72e" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_initialBondOfferingMarket\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_externalPosition\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_actionId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_encodedActionArgs\",\"type\":\"bytes\"}],\"name\":\"parseAssetsForAction\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"assetsToTransfer_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amountsToTransfer_\",\"type\":\"uint256[]\"},{\"internalType\":\"address[]\",\"name\":\"assetsToReceive_\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"parseInitArgs\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"parseAssetsForAction(address,uint256,bytes)\":{\"params\":{\"_actionId\":\"The _actionId for the callOnExternalPosition\",\"_encodedActionArgs\":\"The encoded parameters for the callOnExternalPosition\",\"_externalPosition\":\"The _externalPosition to be called\"},\"returns\":{\"amountsToTransfer_\":\"The amounts to be transferred from the Vault\",\"assetsToReceive_\":\"The assets to be received at the Vault\",\"assetsToTransfer_\":\"The assets to be transferred from the Vault\"}},\"parseInitArgs(address,bytes)\":{\"details\":\"Empty for this external position type\"}},\"title\":\"SolvV2BondIssuerPositionParser\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"parseAssetsForAction(address,uint256,bytes)\":{\"notice\":\"Parses the assets to send and receive for the callOnExternalPosition\"},\"parseInitArgs(address,bytes)\":{\"notice\":\"Parse and validate input arguments to be used when initializing a newly-deployed ExternalPositionProxy\"}},\"notice\":\"Parser for Solv V2 Bond Issuer positions\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/solv-v2-bond-issuer/SolvV2BondIssuerPositionParser.sol\":\"SolvV2BondIssuerPositionParser\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/persistent/external-positions/solv-v2-bond-issuer/SolvV2BondIssuerPositionLibBase1.sol\":{\"keccak256\":\"0xb8c45493039fe2b240fafcec7d26ddd689336d9aaad00cfcab4ffdf468aa2a34\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://75324a615930ad565f88d5319695ce1c2202d68465a3999d2cfb0a6b8c398644\",\"dweb:/ipfs/QmWwoKUNYNWmw3HVQjenFaJsJPKv6yaonu3gJDNQkQGQ13\"]},\"contracts/release/extensions/external-position-manager/external-positions/IExternalPositionParser.sol\":{\"keccak256\":\"0x1662fbd65841ee5e9cf8d5329b9d04c264b24ef68ae1e0484e59a8969b0d2c46\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://580569b0f875e0344db83fae1e72dcc6c0767a049b2a6cc3e4f3c411d2284b27\",\"dweb:/ipfs/QmXFmF9QbcVsPHaBo1iq8sZHYhDkwfkMZpHmLTuJJ37NvZ\"]},\"contracts/release/extensions/external-position-manager/external-positions/solv-v2-bond-issuer/ISolvV2BondIssuerPosition.sol\":{\"keccak256\":\"0x4b4269ed0c69d21e9a98b8dda03794e46ee75b443913d55f33a4b6f5ca15297b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5b339a793698c60986ef981da4e705723f98b9950a7cb0f5d9a9278907c91788\",\"dweb:/ipfs/QmbRx6gSPaUtx6cXWrdEa6vdSNM8PLNgKN9PARxPbjfBe4\"]},\"contracts/release/extensions/external-position-manager/external-positions/solv-v2-bond-issuer/SolvV2BondIssuerPositionDataDecoder.sol\":{\"keccak256\":\"0xdc757cfbb836b813539ce641f764d5aac2535a472565e84b4e098a2560d9323d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9b24f934d31730aeabaea742b0de10c0cad1448788d0c9a22e281097acb3ff76\",\"dweb:/ipfs/QmQ8QU46pBi9Sb5DxvgboLYugnFodMzo4iUKXxyh9yPQyA\"]},\"contracts/release/extensions/external-position-manager/external-positions/solv-v2-bond-issuer/SolvV2BondIssuerPositionLib.sol\":{\"keccak256\":\"0x5d60dfa8163f97874775b6cb888458289b7a587e500539e78ae44db2d5bd8cad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2c699d553b0a3a8b4fa47d79cb961e25cd0434f999af90829434efea4e5a3176\",\"dweb:/ipfs/QmaRFKo54kn5Mo9Hd2Fs3rWKV4oRgViGVhA44yPJ5umc5u\"]},\"contracts/release/extensions/external-position-manager/external-positions/solv-v2-bond-issuer/SolvV2BondIssuerPositionParser.sol\":{\"keccak256\":\"0xc274b36f2a8065898cbaa4f4dca3d1a59916c9ecbe6b2efd915e2a6ddfbe5d42\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8037845c2e2d393806e36312e95819c04cf02fd52bd09db53d52b93a89489610\",\"dweb:/ipfs/Qmc1VNWCEJpeFqW6y8ohEpF4n1eFXCP4E8Api5mpvKVxpH\"]},\"contracts/release/interfaces/ISolvV2BondPool.sol\":{\"keccak256\":\"0xa68c7f87782e4da88c0e98a8096d3f758b1c5aa914ddb6bc99ada422195019f5\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://cb64f9feca3ef65e6e2a18729aeb1300698cfba3eb99f08025debc795282b73d\",\"dweb:/ipfs/QmVr5qraYJpKNMtJZfgvkMZsk1Nerxc36HSjhtvh8YgG1G\"]},\"contracts/release/interfaces/ISolvV2BondVoucher.sol\":{\"keccak256\":\"0xf76389995de79cdc0f4a690a9ce76a094d4697d51e397abf68b4be24ef8b554f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ed36c534756035df374381fabff0b010f0fe700caeeddffb99f347efee1f0cdd\",\"dweb:/ipfs/QmY5dm7b78TkoW3WSqKKZSCKdZmumTCMLxf3rpxzVM6qpm\"]},\"contracts/release/interfaces/ISolvV2InitialConvertibleOfferingMarket.sol\":{\"keccak256\":\"0xe34205d54ec639e2e3f8e0e2871984a6796424d903259857f1f11de260cf8abe\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://908f8d334df9ae2191787a8e53c78b1847bd936f2ce9d04115f5e9339c3e3934\",\"dweb:/ipfs/QmZzxE748Hb2Vosu7cwPmkb4EVpoqvS4RgHogLrvDgsnD3\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"contracts/release/utils/Uint256ArrayLib.sol\":{\"keccak256\":\"0x1627d0d32692b86c5dd3e74ebb8305fbf99a3c41d4b90e736077762cc80c1a31\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://54ff92ccd4bd685dda44c2520e3f52478168e909b400c3cc4076d37f5c2704ef\",\"dweb:/ipfs/QmYUxeaKfPwnUtP35i6JJ3ptsaDFEV6SD2o4VV8d5vBUZD\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_initialBondOfferingMarket", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_externalPosition", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_actionId", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_encodedActionArgs", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "parseAssetsForAction", - "outputs": [ - { - "internalType": "address[]", - "name": "assetsToTransfer_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "amountsToTransfer_", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "assetsToReceive_", - "type": "address[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "parseInitArgs", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "parseAssetsForAction(address,uint256,bytes)": { - "params": { - "_actionId": "The _actionId for the callOnExternalPosition", - "_encodedActionArgs": "The encoded parameters for the callOnExternalPosition", - "_externalPosition": "The _externalPosition to be called" - }, - "returns": { - "amountsToTransfer_": "The amounts to be transferred from the Vault", - "assetsToReceive_": "The assets to be received at the Vault", - "assetsToTransfer_": "The assets to be transferred from the Vault" - } - }, - "parseInitArgs(address,bytes)": { - "details": "Empty for this external position type" - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "parseAssetsForAction(address,uint256,bytes)": { - "notice": "Parses the assets to send and receive for the callOnExternalPosition" - }, - "parseInitArgs(address,bytes)": { - "notice": "Parse and validate input arguments to be used when initializing a newly-deployed ExternalPositionProxy" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/external-position-manager/external-positions/solv-v2-bond-issuer/SolvV2BondIssuerPositionParser.sol": "SolvV2BondIssuerPositionParser" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/external-positions/IExternalPosition.sol": { - "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", - "urls": [ - "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", - "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/external-positions/solv-v2-bond-issuer/SolvV2BondIssuerPositionLibBase1.sol": { - "keccak256": "0xb8c45493039fe2b240fafcec7d26ddd689336d9aaad00cfcab4ffdf468aa2a34", - "urls": [ - "bzz-raw://75324a615930ad565f88d5319695ce1c2202d68465a3999d2cfb0a6b8c398644", - "dweb:/ipfs/QmWwoKUNYNWmw3HVQjenFaJsJPKv6yaonu3gJDNQkQGQ13" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/IExternalPositionParser.sol": { - "keccak256": "0x1662fbd65841ee5e9cf8d5329b9d04c264b24ef68ae1e0484e59a8969b0d2c46", - "urls": [ - "bzz-raw://580569b0f875e0344db83fae1e72dcc6c0767a049b2a6cc3e4f3c411d2284b27", - "dweb:/ipfs/QmXFmF9QbcVsPHaBo1iq8sZHYhDkwfkMZpHmLTuJJ37NvZ" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/solv-v2-bond-issuer/ISolvV2BondIssuerPosition.sol": { - "keccak256": "0x4b4269ed0c69d21e9a98b8dda03794e46ee75b443913d55f33a4b6f5ca15297b", - "urls": [ - "bzz-raw://5b339a793698c60986ef981da4e705723f98b9950a7cb0f5d9a9278907c91788", - "dweb:/ipfs/QmbRx6gSPaUtx6cXWrdEa6vdSNM8PLNgKN9PARxPbjfBe4" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/solv-v2-bond-issuer/SolvV2BondIssuerPositionDataDecoder.sol": { - "keccak256": "0xdc757cfbb836b813539ce641f764d5aac2535a472565e84b4e098a2560d9323d", - "urls": [ - "bzz-raw://9b24f934d31730aeabaea742b0de10c0cad1448788d0c9a22e281097acb3ff76", - "dweb:/ipfs/QmQ8QU46pBi9Sb5DxvgboLYugnFodMzo4iUKXxyh9yPQyA" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/solv-v2-bond-issuer/SolvV2BondIssuerPositionLib.sol": { - "keccak256": "0x5d60dfa8163f97874775b6cb888458289b7a587e500539e78ae44db2d5bd8cad", - "urls": [ - "bzz-raw://2c699d553b0a3a8b4fa47d79cb961e25cd0434f999af90829434efea4e5a3176", - "dweb:/ipfs/QmaRFKo54kn5Mo9Hd2Fs3rWKV4oRgViGVhA44yPJ5umc5u" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/solv-v2-bond-issuer/SolvV2BondIssuerPositionParser.sol": { - "keccak256": "0xc274b36f2a8065898cbaa4f4dca3d1a59916c9ecbe6b2efd915e2a6ddfbe5d42", - "urls": [ - "bzz-raw://8037845c2e2d393806e36312e95819c04cf02fd52bd09db53d52b93a89489610", - "dweb:/ipfs/Qmc1VNWCEJpeFqW6y8ohEpF4n1eFXCP4E8Api5mpvKVxpH" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/ISolvV2BondPool.sol": { - "keccak256": "0xa68c7f87782e4da88c0e98a8096d3f758b1c5aa914ddb6bc99ada422195019f5", - "urls": [ - "bzz-raw://cb64f9feca3ef65e6e2a18729aeb1300698cfba3eb99f08025debc795282b73d", - "dweb:/ipfs/QmVr5qraYJpKNMtJZfgvkMZsk1Nerxc36HSjhtvh8YgG1G" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/ISolvV2BondVoucher.sol": { - "keccak256": "0xf76389995de79cdc0f4a690a9ce76a094d4697d51e397abf68b4be24ef8b554f", - "urls": [ - "bzz-raw://ed36c534756035df374381fabff0b010f0fe700caeeddffb99f347efee1f0cdd", - "dweb:/ipfs/QmY5dm7b78TkoW3WSqKKZSCKdZmumTCMLxf3rpxzVM6qpm" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/ISolvV2InitialConvertibleOfferingMarket.sol": { - "keccak256": "0xe34205d54ec639e2e3f8e0e2871984a6796424d903259857f1f11de260cf8abe", - "urls": [ - "bzz-raw://908f8d334df9ae2191787a8e53c78b1847bd936f2ce9d04115f5e9339c3e3934", - "dweb:/ipfs/QmZzxE748Hb2Vosu7cwPmkb4EVpoqvS4RgHogLrvDgsnD3" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AddressArrayLib.sol": { - "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", - "urls": [ - "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", - "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AssetHelpers.sol": { - "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", - "urls": [ - "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", - "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/Uint256ArrayLib.sol": { - "keccak256": "0x1627d0d32692b86c5dd3e74ebb8305fbf99a3c41d4b90e736077762cc80c1a31", - "urls": [ - "bzz-raw://54ff92ccd4bd685dda44c2520e3f52478168e909b400c3cc4076d37f5c2704ef", - "dweb:/ipfs/QmYUxeaKfPwnUtP35i6JJ3ptsaDFEV6SD2o4VV8d5vBUZD" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { - "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", - "urls": [ - "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", - "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Address.sol": { - "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", - "urls": [ - "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", - "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 129 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_initialBondOfferingMarket", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "parseAssetsForAction", "inputs": [ { "name": "_externalPosition", "type": "address", "internalType": "address" }, { "name": "_actionId", "type": "uint256", "internalType": "uint256" }, { "name": "_encodedActionArgs", "type": "bytes", "internalType": "bytes" } ], "outputs": [ { "name": "assetsToTransfer_", "type": "address[]", "internalType": "address[]" }, { "name": "amountsToTransfer_", "type": "uint256[]", "internalType": "uint256[]" }, { "name": "assetsToReceive_", "type": "address[]", "internalType": "address[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "parseInitArgs", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [ { "name": "", "type": "bytes", "internalType": "bytes" } ], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x60a06040523480156200001157600080fd5b50604051620018f4380380620018f483398101604081905262000034916200005d565b60601b6001600160601b031916608052620000b2565b8051620000578162000098565b92915050565b6000602082840312156200007057600080fd5b60006200007e84846200004a565b949350505050565b60006001600160a01b03821662000057565b620000a38162000086565b8114620000af57600080fd5b50565b60805160601c61181f620000d560003980610250528061068a525061181f6000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063bbd2d6461461003b578063db16c72e14610066575b600080fd5b61004e6100493660046112c8565b610086565b60405161005d939291906115fb565b60405180910390f35b610079610074366004611280565b61096f565b60405161005d919061163d565b60608080846101bc5760008061009a610bf9565b6100a387610977565b995050505050505050925092506100b9826109c2565b6040805160018082528183019092529060208083019080368337019050509550826001600160a01b0316636f307dc36040518163ffffffff1660e01b815260040160206040518083038186803b15801561011257600080fd5b505afa158015610126573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061014a919061112f565b8660008151811061015757fe5b6001600160a01b039290921660209283029190910182015260408051600180825281830190925291828101908036833701905050945080604001516001600160801b0316856000815181106101a857fe5b602002602001018181525050505050610966565b60018514156103a7576060866001600160a01b0316633ee992ee6040518163ffffffff1660e01b815260040160006040518083038186803b15801561020057600080fd5b505afa158015610214573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261023c919081019061132d565b805190915060005b8181101561039f5760007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316639cfb2ab085848151811061028957fe5b60200260200101516040518263ffffffff1660e01b81526004016102ad919061167e565b6101a06040518083038186803b1580156102c657600080fd5b505afa1580156102da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102fe9190611362565b610120015190506000816001600160a01b03166370a082318c6040518263ffffffff1660e01b815260040161033391906115ed565b60206040518083038186803b15801561034b57600080fd5b505afa15801561035f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061038391906113be565b1115610396576103938582610a0b565b94505b50600101610244565b505050610966565b6002851415610655576000806103bc86610a36565b915091506000826001600160a01b0316634118ca7d6040518163ffffffff1660e01b815260040160206040518083038186803b1580156103fb57600080fd5b505afa15801561040f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610433919061112f565b905061043d610c27565b60405163d3ceafb960e01b81526001600160a01b0383169063d3ceafb99061046990869060040161168c565b6101a06040518083038186803b15801561048257600080fd5b505afa158015610496573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ba9190611381565b905060006105c7836001600160a01b0316633e7e86696040518163ffffffff1660e01b815260040160206040518083038186803b1580156104fa57600080fd5b505afa15801561050e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061053291906113dc565b60ff16600a0a6105c184602001516001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561057857600080fd5b505afa15801561058c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105b091906113dc565b60408601519060ff16600a0a610a56565b90610a90565b604080516001808252818301909252919250602080830190803683370190505097508160200151886000815181106105fb57fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509650808760008151811061063f57fe5b6020026020010181815250505050505050610966565b600385141561088f57600061066985610ac2565b9050610673610c90565b6040516309cfb2ab60e41b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690639cfb2ab0906106bf90859060040161167e565b6101a06040518083038186803b1580156106d857600080fd5b505afa1580156106ec573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107109190611362565b60a08101519091506001600160801b0316156107ea5760408051600180825281830190925290602080830190803683370190505092508061010001516001600160a01b0316636f307dc36040518163ffffffff1660e01b815260040160206040518083038186803b15801561078457600080fd5b505afa158015610798573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107bc919061112f565b836000815181106107c957fe5b60200260200101906001600160a01b031690816001600160a01b0316815250505b6101208101516040516370a0823160e01b81526000916001600160a01b0316906370a082319061081e908c906004016115ed565b60206040518083038186803b15801561083657600080fd5b505afa15801561084a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061086e91906113be565b111561088857610120810151610885908490610ad8565b92505b5050610966565b60048514156109665760006108a385610a36565b5060408051600180825281830190925291925060208083019080368337019050509150806001600160a01b0316636f307dc36040518163ffffffff1660e01b815260040160206040518083038186803b1580156108ff57600080fd5b505afa158015610913573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610937919061112f565b8260008151811061094457fe5b60200260200101906001600160a01b031690816001600160a01b031681525050505b93509350939050565b606092915050565b600080600080600080600080606061098d610bf9565b8a8060200190518101906109a19190611155565b99509950995099509950995099509950995099509193959799509193959799565b6001600160a01b03811673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1415610a085760405162461bcd60e51b81526004016109ff9061166e565b60405180910390fd5b50565b6060610a178383610ba3565b15610a23575081610a30565b610a2d8383610ad8565b90505b92915050565b60008082806020019051810190610a4d9190611246565b91509150915091565b600082610a6557506000610a30565b82820282848281610a7257fe5b0414610a2d5760405162461bcd60e51b81526004016109ff9061165e565b6000808211610ab15760405162461bcd60e51b81526004016109ff9061164e565b818381610aba57fe5b049392505050565b600081806020019051810190610a3091906113a0565b6060825160010167ffffffffffffffff81118015610af557600080fd5b50604051908082528060200260200182016040528015610b1f578160200160208202803683370190505b50905060005b8351811015610b6e57838181518110610b3a57fe5b6020026020010151828281518110610b4e57fe5b6001600160a01b0390921660209283029190910190910152600101610b25565b508181845181518110610b7d57fe5b60200260200101906001600160a01b031690816001600160a01b03168152505092915050565b6000805b8351811015610bef57838181518110610bbc57fe5b60200260200101516001600160a01b0316836001600160a01b03161415610be7576001915050610a30565b600101610ba7565b5060009392505050565b6040805160a08101825260008082526020820181905291810182905260608101829052608081019190915290565b604080516101a081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052906101008201908152600060208201819052604082018190526060820181905260809091015290565b604080516101a081018252600080825260208201819052918101829052906060820190815260006020820181905260408201819052606082018190526080820181905260a0820181905260c0820181905260e0820181905261010082018190526101209091015290565b8035610a30816117b2565b8051610a30816117b2565b600082601f830112610d2157600080fd5b8151610d34610d2f826116c1565b61169a565b91508181835260208401935060208101905083856020840282011115610d5957600080fd5b60005b83811015610d855781610d6f88826110ed565b8452506020928301929190910190600101610d5c565b5050505092915050565b8051610a30816117c6565b600082601f830112610dab57600080fd5b8135610db9610d2f826116e2565b91508082526020830160208301858383011115610dd557600080fd5b610de083828461176c565b50505092915050565b600082601f830112610dfa57600080fd5b8151610e08610d2f826116e2565b91508082526020830160208301858383011115610e2457600080fd5b610de0838284611778565b8051610a30816117cf565b600060a08284031215610e4c57600080fd5b610e5660a061169a565b90506000610e6484846110e2565b8252506020610e75848483016110e2565b6020830152506040610e89848285016110e2565b6040830152506060610e9d84828501611119565b6060830152506080610eb184828501611119565b60808301525092915050565b60006101a08284031215610ed057600080fd5b610edb6101a061169a565b90506000610ee984846110ed565b8252506020610efa8484830161110e565b6020830152506040610f0e8482850161110e565b6040830152506060610f2284828501610e2f565b6060830152506080610f36848285016110e2565b60808301525060a0610f4a848285016110e2565b60a08301525060c0610f5e848285016110e2565b60c08301525060e0610f72848285016110e2565b60e083015250610100610f8784828501610d05565b61010083015250610120610f9d84828501610d05565b61012083015250610140610fb384828501610d05565b61014083015250610160610fc984828501610d8f565b61016083015250610180610fdf84828501610d8f565b6101808301525092915050565b60006101a08284031215610fff57600080fd5b61100a6101a061169a565b905060006110188484610d05565b825250602061102984848301610d05565b602083015250604061103d84828501611103565b6040830152506060611051848285016110e2565b6060830152506080611065848285016110e2565b60808301525060a0611079848285016110e2565b60a08301525060c061108d84828501611119565b60c08301525060e06110a184828501611119565b60e0830152506101006110b684828501610e2f565b610100830152506101206110cc84828501610d8f565b61012083015250610140610fb384828501610d8f565b8051610a30816117dc565b8051610a30816117e5565b8035610a30816117ee565b8051610a30816117ee565b8051610a30816117f7565b8051610a3081611800565b8051610a3081611809565b60006020828403121561114157600080fd5b600061114d8484610d05565b949350505050565b6000806000806000806000806000806101c08b8d03121561117557600080fd5b60006111818d8d610d05565b9a505060206111928d828e01610d05565b99505060406111a38d828e016110e2565b98505060606111b48d828e016110e2565b97505060806111c58d828e0161110e565b96505060a06111d68d828e0161110e565b95505060c06111e78d828e01610d8f565b94505060e06111f88d828e01610e2f565b9350506101008b015167ffffffffffffffff81111561121657600080fd5b6112228d828e01610de9565b9250506101206112348d828e01610e3a565b9150509295989b9194979a5092959850565b6000806040838503121561125957600080fd5b60006112658585610d05565b925050602061127685828601611103565b9150509250929050565b6000806040838503121561129357600080fd5b600061129f8585610cfa565b925050602083013567ffffffffffffffff8111156112bc57600080fd5b61127685828601610d9a565b6000806000606084860312156112dd57600080fd5b60006112e98686610cfa565b93505060206112fa868287016110f8565b925050604084013567ffffffffffffffff81111561131757600080fd5b61132386828701610d9a565b9150509250925092565b60006020828403121561133f57600080fd5b815167ffffffffffffffff81111561135657600080fd5b61114d84828501610d10565b60006101a0828403121561137557600080fd5b600061114d8484610ebd565b60006101a0828403121561139457600080fd5b600061114d8484610fec565b6000602082840312156113b257600080fd5b600061114d84846110ed565b6000602082840312156113d057600080fd5b600061114d8484611103565b6000602082840312156113ee57600080fd5b600061114d8484611124565b6000611406838361141a565b505060200190565b600061140683836115e4565b6114238161171d565b82525050565b600061143482611710565b61143e8185611714565b93506114498361170a565b8060005b8381101561147757815161146188826113fa565b975061146c8361170a565b92505060010161144d565b509495945050505050565b600061148d82611710565b6114978185611714565b93506114a28361170a565b8060005b838110156114775781516114ba888261140e565b97506114c58361170a565b9250506001016114a6565b60006114db82611710565b6114e58185611714565b93506114f5818560208601611778565b6114fe816117a8565b9093019392505050565b6000611515601a83611714565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b600061154e602183611714565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000611591603583611714565b7f5f5f76616c69646174654e6f744e6174697665546f6b656e3a204e617469766581527408185cdcd95d081a5cc81d5b9cdd5c1c1bdc9d1959605a1b602082015260400192915050565b61142381611745565b6114238161174d565b60208101610a30828461141a565b6060808252810161160c8186611429565b905081810360208301526116208185611482565b905081810360408301526116348184611429565b95945050505050565b60208082528101610a2d81846114d0565b60208082528101610a3081611508565b60208082528101610a3081611541565b60208082528101610a3081611584565b60208101610a3082846115db565b60208101610a3082846115e4565b60405181810167ffffffffffffffff811182821017156116b957600080fd5b604052919050565b600067ffffffffffffffff8211156116d857600080fd5b5060209081020190565b600067ffffffffffffffff8211156116f957600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b6000610a3082611739565b151590565b6001600160801b031690565b6001600160a01b031690565b62ffffff1690565b90565b63ffffffff1690565b67ffffffffffffffff1690565b60ff1690565b82818337506000910152565b60005b8381101561179357818101518382015260200161177b565b838111156117a2576000848401525b50505050565b601f01601f191690565b6117bb8161171d565b8114610a0857600080fd5b6117bb81611728565b60028110610a0857600080fd5b6117bb8161172d565b6117bb81611745565b6117bb8161174d565b6117bb81611750565b6117bb81611759565b6117bb8161176656fea164736f6c634300060c000a", "sourceMap": "874:5481:129:-:0;;;1273:201;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1338:129;;-1:-1:-1;;;;;;1338:129:129;;;874:5481;;5:134:-1;83:13;;101:33;83:13;101:33;:::i;:::-;68:71;;;;:::o;146:263::-;;261:2;249:9;240:7;236:23;232:32;229:2;;;277:1;274;267:12;229:2;312:1;329:64;385:7;365:9;329:64;:::i;:::-;319:74;223:186;-1:-1;;;;223:186::o;416:91::-;;-1:-1;;;;;576:54;;478:24;559:76::o;642:117::-;711:24;729:5;711:24;:::i;:::-;704:5;701:35;691:2;;750:1;747;740:12;691:2;685:74;:::o;:::-;874:5481:129;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c8063bbd2d6461461003b578063db16c72e14610066575b600080fd5b61004e6100493660046112c8565b610086565b60405161005d939291906115fb565b60405180910390f35b610079610074366004611280565b61096f565b60405161005d919061163d565b60608080846101bc5760008061009a610bf9565b6100a387610977565b995050505050505050925092506100b9826109c2565b6040805160018082528183019092529060208083019080368337019050509550826001600160a01b0316636f307dc36040518163ffffffff1660e01b815260040160206040518083038186803b15801561011257600080fd5b505afa158015610126573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061014a919061112f565b8660008151811061015757fe5b6001600160a01b039290921660209283029190910182015260408051600180825281830190925291828101908036833701905050945080604001516001600160801b0316856000815181106101a857fe5b602002602001018181525050505050610966565b60018514156103a7576060866001600160a01b0316633ee992ee6040518163ffffffff1660e01b815260040160006040518083038186803b15801561020057600080fd5b505afa158015610214573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261023c919081019061132d565b805190915060005b8181101561039f5760007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316639cfb2ab085848151811061028957fe5b60200260200101516040518263ffffffff1660e01b81526004016102ad919061167e565b6101a06040518083038186803b1580156102c657600080fd5b505afa1580156102da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102fe9190611362565b610120015190506000816001600160a01b03166370a082318c6040518263ffffffff1660e01b815260040161033391906115ed565b60206040518083038186803b15801561034b57600080fd5b505afa15801561035f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061038391906113be565b1115610396576103938582610a0b565b94505b50600101610244565b505050610966565b6002851415610655576000806103bc86610a36565b915091506000826001600160a01b0316634118ca7d6040518163ffffffff1660e01b815260040160206040518083038186803b1580156103fb57600080fd5b505afa15801561040f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610433919061112f565b905061043d610c27565b60405163d3ceafb960e01b81526001600160a01b0383169063d3ceafb99061046990869060040161168c565b6101a06040518083038186803b15801561048257600080fd5b505afa158015610496573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ba9190611381565b905060006105c7836001600160a01b0316633e7e86696040518163ffffffff1660e01b815260040160206040518083038186803b1580156104fa57600080fd5b505afa15801561050e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061053291906113dc565b60ff16600a0a6105c184602001516001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561057857600080fd5b505afa15801561058c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105b091906113dc565b60408601519060ff16600a0a610a56565b90610a90565b604080516001808252818301909252919250602080830190803683370190505097508160200151886000815181106105fb57fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509650808760008151811061063f57fe5b6020026020010181815250505050505050610966565b600385141561088f57600061066985610ac2565b9050610673610c90565b6040516309cfb2ab60e41b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690639cfb2ab0906106bf90859060040161167e565b6101a06040518083038186803b1580156106d857600080fd5b505afa1580156106ec573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107109190611362565b60a08101519091506001600160801b0316156107ea5760408051600180825281830190925290602080830190803683370190505092508061010001516001600160a01b0316636f307dc36040518163ffffffff1660e01b815260040160206040518083038186803b15801561078457600080fd5b505afa158015610798573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107bc919061112f565b836000815181106107c957fe5b60200260200101906001600160a01b031690816001600160a01b0316815250505b6101208101516040516370a0823160e01b81526000916001600160a01b0316906370a082319061081e908c906004016115ed565b60206040518083038186803b15801561083657600080fd5b505afa15801561084a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061086e91906113be565b111561088857610120810151610885908490610ad8565b92505b5050610966565b60048514156109665760006108a385610a36565b5060408051600180825281830190925291925060208083019080368337019050509150806001600160a01b0316636f307dc36040518163ffffffff1660e01b815260040160206040518083038186803b1580156108ff57600080fd5b505afa158015610913573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610937919061112f565b8260008151811061094457fe5b60200260200101906001600160a01b031690816001600160a01b031681525050505b93509350939050565b606092915050565b600080600080600080600080606061098d610bf9565b8a8060200190518101906109a19190611155565b99509950995099509950995099509950995099509193959799509193959799565b6001600160a01b03811673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1415610a085760405162461bcd60e51b81526004016109ff9061166e565b60405180910390fd5b50565b6060610a178383610ba3565b15610a23575081610a30565b610a2d8383610ad8565b90505b92915050565b60008082806020019051810190610a4d9190611246565b91509150915091565b600082610a6557506000610a30565b82820282848281610a7257fe5b0414610a2d5760405162461bcd60e51b81526004016109ff9061165e565b6000808211610ab15760405162461bcd60e51b81526004016109ff9061164e565b818381610aba57fe5b049392505050565b600081806020019051810190610a3091906113a0565b6060825160010167ffffffffffffffff81118015610af557600080fd5b50604051908082528060200260200182016040528015610b1f578160200160208202803683370190505b50905060005b8351811015610b6e57838181518110610b3a57fe5b6020026020010151828281518110610b4e57fe5b6001600160a01b0390921660209283029190910190910152600101610b25565b508181845181518110610b7d57fe5b60200260200101906001600160a01b031690816001600160a01b03168152505092915050565b6000805b8351811015610bef57838181518110610bbc57fe5b60200260200101516001600160a01b0316836001600160a01b03161415610be7576001915050610a30565b600101610ba7565b5060009392505050565b6040805160a08101825260008082526020820181905291810182905260608101829052608081019190915290565b604080516101a081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052906101008201908152600060208201819052604082018190526060820181905260809091015290565b604080516101a081018252600080825260208201819052918101829052906060820190815260006020820181905260408201819052606082018190526080820181905260a0820181905260c0820181905260e0820181905261010082018190526101209091015290565b8035610a30816117b2565b8051610a30816117b2565b600082601f830112610d2157600080fd5b8151610d34610d2f826116c1565b61169a565b91508181835260208401935060208101905083856020840282011115610d5957600080fd5b60005b83811015610d855781610d6f88826110ed565b8452506020928301929190910190600101610d5c565b5050505092915050565b8051610a30816117c6565b600082601f830112610dab57600080fd5b8135610db9610d2f826116e2565b91508082526020830160208301858383011115610dd557600080fd5b610de083828461176c565b50505092915050565b600082601f830112610dfa57600080fd5b8151610e08610d2f826116e2565b91508082526020830160208301858383011115610e2457600080fd5b610de0838284611778565b8051610a30816117cf565b600060a08284031215610e4c57600080fd5b610e5660a061169a565b90506000610e6484846110e2565b8252506020610e75848483016110e2565b6020830152506040610e89848285016110e2565b6040830152506060610e9d84828501611119565b6060830152506080610eb184828501611119565b60808301525092915050565b60006101a08284031215610ed057600080fd5b610edb6101a061169a565b90506000610ee984846110ed565b8252506020610efa8484830161110e565b6020830152506040610f0e8482850161110e565b6040830152506060610f2284828501610e2f565b6060830152506080610f36848285016110e2565b60808301525060a0610f4a848285016110e2565b60a08301525060c0610f5e848285016110e2565b60c08301525060e0610f72848285016110e2565b60e083015250610100610f8784828501610d05565b61010083015250610120610f9d84828501610d05565b61012083015250610140610fb384828501610d05565b61014083015250610160610fc984828501610d8f565b61016083015250610180610fdf84828501610d8f565b6101808301525092915050565b60006101a08284031215610fff57600080fd5b61100a6101a061169a565b905060006110188484610d05565b825250602061102984848301610d05565b602083015250604061103d84828501611103565b6040830152506060611051848285016110e2565b6060830152506080611065848285016110e2565b60808301525060a0611079848285016110e2565b60a08301525060c061108d84828501611119565b60c08301525060e06110a184828501611119565b60e0830152506101006110b684828501610e2f565b610100830152506101206110cc84828501610d8f565b61012083015250610140610fb384828501610d8f565b8051610a30816117dc565b8051610a30816117e5565b8035610a30816117ee565b8051610a30816117ee565b8051610a30816117f7565b8051610a3081611800565b8051610a3081611809565b60006020828403121561114157600080fd5b600061114d8484610d05565b949350505050565b6000806000806000806000806000806101c08b8d03121561117557600080fd5b60006111818d8d610d05565b9a505060206111928d828e01610d05565b99505060406111a38d828e016110e2565b98505060606111b48d828e016110e2565b97505060806111c58d828e0161110e565b96505060a06111d68d828e0161110e565b95505060c06111e78d828e01610d8f565b94505060e06111f88d828e01610e2f565b9350506101008b015167ffffffffffffffff81111561121657600080fd5b6112228d828e01610de9565b9250506101206112348d828e01610e3a565b9150509295989b9194979a5092959850565b6000806040838503121561125957600080fd5b60006112658585610d05565b925050602061127685828601611103565b9150509250929050565b6000806040838503121561129357600080fd5b600061129f8585610cfa565b925050602083013567ffffffffffffffff8111156112bc57600080fd5b61127685828601610d9a565b6000806000606084860312156112dd57600080fd5b60006112e98686610cfa565b93505060206112fa868287016110f8565b925050604084013567ffffffffffffffff81111561131757600080fd5b61132386828701610d9a565b9150509250925092565b60006020828403121561133f57600080fd5b815167ffffffffffffffff81111561135657600080fd5b61114d84828501610d10565b60006101a0828403121561137557600080fd5b600061114d8484610ebd565b60006101a0828403121561139457600080fd5b600061114d8484610fec565b6000602082840312156113b257600080fd5b600061114d84846110ed565b6000602082840312156113d057600080fd5b600061114d8484611103565b6000602082840312156113ee57600080fd5b600061114d8484611124565b6000611406838361141a565b505060200190565b600061140683836115e4565b6114238161171d565b82525050565b600061143482611710565b61143e8185611714565b93506114498361170a565b8060005b8381101561147757815161146188826113fa565b975061146c8361170a565b92505060010161144d565b509495945050505050565b600061148d82611710565b6114978185611714565b93506114a28361170a565b8060005b838110156114775781516114ba888261140e565b97506114c58361170a565b9250506001016114a6565b60006114db82611710565b6114e58185611714565b93506114f5818560208601611778565b6114fe816117a8565b9093019392505050565b6000611515601a83611714565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b600061154e602183611714565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000611591603583611714565b7f5f5f76616c69646174654e6f744e6174697665546f6b656e3a204e617469766581527408185cdcd95d081a5cc81d5b9cdd5c1c1bdc9d1959605a1b602082015260400192915050565b61142381611745565b6114238161174d565b60208101610a30828461141a565b6060808252810161160c8186611429565b905081810360208301526116208185611482565b905081810360408301526116348184611429565b95945050505050565b60208082528101610a2d81846114d0565b60208082528101610a3081611508565b60208082528101610a3081611541565b60208082528101610a3081611584565b60208101610a3082846115db565b60208101610a3082846115e4565b60405181810167ffffffffffffffff811182821017156116b957600080fd5b604052919050565b600067ffffffffffffffff8211156116d857600080fd5b5060209081020190565b600067ffffffffffffffff8211156116f957600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b6000610a3082611739565b151590565b6001600160801b031690565b6001600160a01b031690565b62ffffff1690565b90565b63ffffffff1690565b67ffffffffffffffff1690565b60ff1690565b82818337506000910152565b60005b8381101561179357818101518382015260200161177b565b838111156117a2576000848401525b50505050565b601f01601f191690565b6117bb8161171d565b8114610a0857600080fd5b6117bb81611728565b60028110610a0857600080fd5b6117bb8161172d565b6117bb81611745565b6117bb8161174d565b6117bb81611750565b6117bb81611759565b6117bb8161176656fea164736f6c634300060c000a", "sourceMap": "874:5481:129:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2021:3748;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;5945:89;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;2021:3748::-;2224:34;;;2383:67;2379:3309;;2484:15;2517:16;2677:74;;:::i;:::-;2768:49;2798:18;2768:29;:49::i;:::-;2466:351;;;;;;;;;;;;;2832:34;2857:8;2832:24;:34::i;:::-;2901:16;;;2915:1;2901:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2901:16:129;2881:36;;2973:7;-1:-1:-1;;;;;2954:38:129;;:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2931:17;2949:1;2931:20;;;;;;;;-1:-1:-1;;;;;2931:63:129;;;;:20;;;;;;;;;;:63;3029:16;;;3043:1;3029:16;;;;;;;;;;;;;;2931:20;3029:16;;;;;-1:-1:-1;3029:16:129;3008:37;;3083:13;:27;;;-1:-1:-1;;;;;3059:51:129;:18;3078:1;3059:21;;;;;;;;;;;;;:51;;;;;2379:3309;;;;;;3152:43;3131:9;:65;3127:2561;;;3212:25;3266:17;-1:-1:-1;;;;;3240:54:129;;:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3240:56:129;;;;;;;;;;;;:::i;:::-;3333:16;;3212:84;;-1:-1:-1;3310:20:129;3363:374;3383:12;3379:1;:16;3363:374;;;3420:16;3439:37;-1:-1:-1;;;;;3439:68:129;;3508:9;3518:1;3508:12;;;;;;;;;;;;;;3439:82;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:112;;;3420:131;;3620:1;3579:8;-1:-1:-1;;;;;3573:25:129;;3599:17;3573:44;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:48;3569:154;;;3664:40;:16;3695:8;3664:30;:40::i;:::-;3645:59;;3569:154;-1:-1:-1;3397:3:129;;3363:374;;;;3127:2561;;;;;3778:40;3757:9;:62;3753:1935;;;3836:15;3853:14;3871:44;3896:18;3871:24;:44::i;:::-;3835:80;;;;3930:35;4020:7;-1:-1:-1;;;;;4001:36:129;;:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3930:123;;4068:44;;:::i;:::-;4115:71;;-1:-1:-1;;;4115:71:129;;-1:-1:-1;;;;;4115:33:129;;;;;:71;;4166:6;;4115:71;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4068:118;;4201:22;4226:186;4375:19;-1:-1:-1;;;;;4375:33:129;;:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4367:44;;4363:2;:48;4226:115;4304:10;:23;;;-1:-1:-1;;;;;4298:39:129;;:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4226:38;;;;;4290:50;;4286:2;:54;4226:59;:115::i;:::-;:136;;:186::i;:::-;4447:16;;;4461:1;4447:16;;;;;;;;;4201:211;;-1:-1:-1;4447:16:129;;;;;;;;;;;-1:-1:-1;4447:16:129;4427:36;;4500:10;:23;;;4477:17;4495:1;4477:20;;;;;;;;-1:-1:-1;;;;;4477:46:129;;;;:20;;;;;;;;;;:46;4558:16;;;4572:1;4558:16;;;;;;;;;;;;;;4477:20;4558:16;;;;;-1:-1:-1;4558:16:129;4537:37;;4612:14;4588:18;4607:1;4588:21;;;;;;;;;;;;;:38;;;;;3753:1935;;;;;;;;4668:45;4647:9;:67;4643:1045;;;4730:14;4747:49;4777:18;4747:29;:49::i;:::-;4730:66;;4811:77;;:::i;:::-;4891:56;;-1:-1:-1;;;4891:56:129;;-1:-1:-1;;;;;4891:37:129;:47;;;;:56;;4939:7;;4891:56;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5046:11;;;;4811:136;;-1:-1:-1;;;;;;5046:15:129;;5042:175;;5100:16;;;5114:1;5100:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5100:16:129;5081:35;;5175:5;:13;;;-1:-1:-1;;;;;5156:44:129;;:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5134:16;5151:1;5134:19;;;;;;;;;;;;;:68;-1:-1:-1;;;;;5134:68:129;;;-1:-1:-1;;;;;5134:68:129;;;;;5042:175;5241:14;;;;5235:50;;-1:-1:-1;;;5235:50:129;;5288:1;;-1:-1:-1;;;;;5235:31:129;;;;:50;;5267:17;;5235:50;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:54;5231:152;;;5353:14;;;;5328:40;;:16;;:24;:40::i;:::-;5309:59;;5231:152;4643:1045;;;;;5424:42;5403:9;:64;5399:289;;;5484:15;5505:46;5532:18;5505:26;:46::i;:::-;-1:-1:-1;5585:16:129;;;5599:1;5585:16;;;;;;;;;5483:68;;-1:-1:-1;5585:16:129;;;;;;;;;;;-1:-1:-1;5585:16:129;5566:35;;5656:7;-1:-1:-1;;;;;5637:38:129;;:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5615:16;5632:1;5615:19;;;;;;;;;;;;;:62;-1:-1:-1;;;;;5615:62:129;;;-1:-1:-1;;;;;5615:62:129;;;;;5399:289;;2021:3748;;;;;;;:::o;5945:89::-;6018:12;5945:89;;;;:::o;723:1038:127:-;848:16;878:17;909:12;935;961:17;992:15;1021:18;1053:60;1127:22;1163:75;;:::i;:::-;1312:11;1284:460;;;;;;;;;;;;:::i;:::-;1263:491;;;;;;;;;;;;;;;;;;;;723:1038;;;;;;;;;;;:::o;6143:210:129:-;-1:-1:-1;;;;;6237:30:129;;1114:42;6237:30;;6216:130;;;;-1:-1:-1;;;6216:130:129;;;;;;;:::i;:::-;;;;;;;;;6143:210;:::o;2136:277:354:-;2250:27;2297;2306:5;2313:10;2297:8;:27::i;:::-;2293:70;;;-1:-1:-1;2347:5:354;2340:12;;2293:70;2380:26;2388:5;2395:10;2380:7;:26::i;:::-;2373:33;;2136:277;;;;;:::o;1832:215:127:-;1939:16;1957:15;2007:11;1996:43;;;;;;;;;;;;:::i;:::-;1988:52;;;;1832:215;;;:::o;3538::442:-;3596:7;3619:6;3615:20;;-1:-1:-1;3634:1:442;3627:8;;3615:20;3657:5;;;3661:1;3657;:5;:1;3680:5;;;;;:10;3672:56;;;;-1:-1:-1;;;3672:56:442;;;;;;;:::i;4217:150::-;4275:7;4306:1;4302;:5;4294:44;;;;-1:-1:-1;;;4294:44:442;;;;;;;:::i;:::-;4359:1;4355;:5;;;;;;;4217:150;-1:-1:-1;;;4217:150:442:o;2123:192:127:-;2235:15;2285:11;2274:33;;;;;;;;;;;;:::i;1668:374:354:-;1776:27;1846:5;:12;1861:1;1846:16;1832:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1832:31:354;;1819:44;;1878:9;1873:88;1893:5;:12;1889:1;:16;1873:88;;;1942:5;1948:1;1942:8;;;;;;;;;;;;;;1926:10;1937:1;1926:13;;;;;;;;-1:-1:-1;;;;;1926:24:354;;;:13;;;;;;;;;;;:24;1907:3;;1873:88;;;;1997:10;1970;1981:5;:12;1970:24;;;;;;;;;;;;;:37;-1:-1:-1;;;;;1970:37:354;;;-1:-1:-1;;;;;1970:37:354;;;;;1668:374;;;;:::o;2489:299::-;2595:17;2633:9;2628:132;2648:5;:12;2644:1;:16;2628:132;;;2696:5;2702:1;2696:8;;;;;;;;;;;;;;-1:-1:-1;;;;;2685:19:354;:7;-1:-1:-1;;;;;2685:19:354;;2681:69;;;2731:4;2724:11;;;;;2681:69;2662:3;;2628:132;;;-1:-1:-1;2776:5:354;;2489:299;-1:-1:-1;;;2489:299:354:o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5:130::-;72:20;;97:33;72:20;97:33;:::i;142:134::-;220:13;;238:33;220:13;238:33;:::i;457:719::-;;584:3;577:4;569:6;565:17;561:27;551:2;;602:1;599;592:12;551:2;632:6;626:13;654:79;669:63;725:6;669:63;:::i;:::-;654:79;:::i;:::-;645:88;;750:5;775:6;768:5;761:21;805:4;797:6;793:17;783:27;;827:4;822:3;818:14;811:21;;880:6;927:3;919:4;911:6;907:17;902:3;898:27;895:36;892:2;;;944:1;941;934:12;892:2;969:1;954:216;979:6;976:1;973:13;954:216;;;1037:3;1059:47;1102:3;1090:10;1059:47;:::i;:::-;1047:60;;-1:-1;1130:4;1121:14;;;;1149;;;;;1001:1;994:9;954:216;;;958:14;544:632;;;;;;;:::o;1184:128::-;1259:13;;1277:30;1259:13;1277:30;:::i;1320:440::-;;1421:3;1414:4;1406:6;1402:17;1398:27;1388:2;;1439:1;1436;1429:12;1388:2;1476:6;1463:20;1498:64;1513:48;1554:6;1513:48;:::i;1498:64::-;1489:73;;1582:6;1575:5;1568:21;1618:4;1610:6;1606:17;1651:4;1644:5;1640:16;1686:3;1677:6;1672:3;1668:16;1665:25;1662:2;;;1703:1;1700;1693:12;1662:2;1713:41;1747:6;1742:3;1737;1713:41;:::i;:::-;1381:379;;;;;;;:::o;1769:442::-;;1881:3;1874:4;1866:6;1862:17;1858:27;1848:2;;1899:1;1896;1889:12;1848:2;1929:6;1923:13;1951:64;1966:48;2007:6;1966:48;:::i;1951:64::-;1942:73;;2035:6;2028:5;2021:21;2071:4;2063:6;2059:17;2104:4;2097:5;2093:16;2139:3;2130:6;2125:3;2121:16;2118:25;2115:2;;;2156:1;2153;2146:12;2115:2;2166:39;2198:6;2193:3;2188;2166:39;:::i;2219:174::-;2317:13;;2335:53;2317:13;2335:53;:::i;2638:1008::-;;2770:4;2758:9;2753:3;2749:19;2745:30;2742:2;;;2788:1;2785;2778:12;2742:2;2806:20;2821:4;2806:20;:::i;:::-;2797:29;-1:-1;2883:1;2915:60;2971:3;2951:9;2915:60;:::i;:::-;2890:86;;-1:-1;3045:2;3078:60;3134:3;3110:22;;;3078:60;:::i;:::-;3071:4;3064:5;3060:16;3053:86;2997:153;3209:2;3242:60;3298:3;3289:6;3278:9;3274:22;3242:60;:::i;:::-;3235:4;3228:5;3224:16;3217:86;3160:154;3373:2;3406:59;3461:3;3452:6;3441:9;3437:22;3406:59;:::i;:::-;3399:4;3392:5;3388:16;3381:85;3324:153;3531:3;3565:59;3620:3;3611:6;3600:9;3596:22;3565:59;:::i;:::-;3558:4;3551:5;3547:16;3540:85;3487:149;2736:910;;;;:::o;3715:2280::-;;3842:6;3830:9;3825:3;3821:19;3817:32;3814:2;;;3862:1;3859;3852:12;3814:2;3880:22;3895:6;3880:22;:::i;:::-;3871:31;-1:-1;3958:1;3990:59;4045:3;4025:9;3990:59;:::i;:::-;3965:85;;-1:-1;4116:2;4149:59;4204:3;4180:22;;;4149:59;:::i;:::-;4142:4;4135:5;4131:16;4124:85;4071:149;4273:2;4306:59;4361:3;4352:6;4341:9;4337:22;4306:59;:::i;:::-;4299:4;4292:5;4288:16;4281:85;4230:147;4432:2;4465:75;4536:3;4527:6;4516:9;4512:22;4465:75;:::i;:::-;4458:4;4451:5;4447:16;4440:101;4387:165;4608:3;4642:60;4698:3;4689:6;4678:9;4674:22;4642:60;:::i;:::-;4635:4;4628:5;4624:16;4617:86;4562:152;4765:3;4799:60;4855:3;4846:6;4835:9;4831:22;4799:60;:::i;:::-;4792:4;4785:5;4781:16;4774:86;4724:147;4920:3;4954:60;5010:3;5001:6;4990:9;4986:22;4954:60;:::i;:::-;4947:4;4940:5;4936:16;4929:86;4881:145;5075:3;5109:60;5165:3;5156:6;5145:9;5141:22;5109:60;:::i;:::-;5102:4;5095:5;5091:16;5084:86;5036:145;5234:3;5270:60;5326:3;5317:6;5306:9;5302:22;5270:60;:::i;:::-;5261:6;5254:5;5250:18;5243:88;5191:151;5396:3;5432:60;5488:3;5479:6;5468:9;5464:22;5432:60;:::i;:::-;5423:6;5416:5;5412:18;5405:88;5352:152;5556:3;5592:60;5648:3;5639:6;5628:9;5624:22;5592:60;:::i;:::-;5583:6;5576:5;5572:18;5565:88;5514:150;5722:3;5758:57;5811:3;5802:6;5791:9;5787:22;5758:57;:::i;:::-;5749:6;5742:5;5738:18;5731:85;5674:153;5880:3;5916:57;5969:3;5960:6;5949:9;5945:22;5916:57;:::i;:::-;5907:6;5900:5;5896:18;5889:85;5837:148;3808:2187;;;;:::o;6042:2332::-;;6171:6;6159:9;6154:3;6150:19;6146:32;6143:2;;;6191:1;6188;6181:12;6143:2;6209:22;6224:6;6209:22;:::i;:::-;6200:31;-1:-1;6283:1;6315:60;6371:3;6351:9;6315:60;:::i;:::-;6290:86;;-1:-1;6445:2;6478:60;6534:3;6510:22;;;6478:60;:::i;:::-;6471:4;6464:5;6460:16;6453:86;6397:153;6606:2;6639:60;6695:3;6686:6;6675:9;6671:22;6639:60;:::i;:::-;6632:4;6625:5;6621:16;6614:86;6560:151;6768:2;6801:60;6857:3;6848:6;6837:9;6833:22;6801:60;:::i;:::-;6794:4;6787:5;6783:16;6776:86;6721:152;6931:3;6965:60;7021:3;7012:6;7001:9;6997:22;6965:60;:::i;:::-;6958:4;6951:5;6947:16;6940:86;6883:154;7094:3;7128:60;7184:3;7175:6;7164:9;7160:22;7128:60;:::i;:::-;7121:4;7114:5;7110:16;7103:86;7047:153;7259:3;7293:59;7348:3;7339:6;7328:9;7324:22;7293:59;:::i;:::-;7286:4;7279:5;7275:16;7268:85;7210:154;7418:3;7452:59;7507:3;7498:6;7487:9;7483:22;7452:59;:::i;:::-;7445:4;7438:5;7434:16;7427:85;7374:149;7583:3;7619:80;7695:3;7686:6;7675:9;7671:22;7619:80;:::i;:::-;7610:6;7603:5;7599:18;7592:108;7533:178;7773:3;7809:57;7862:3;7853:6;7842:9;7838:22;7809:57;:::i;:::-;7800:6;7793:5;7789:18;7782:85;7721:157;7941:3;7977:57;8030:3;8021:6;8010:9;8006:22;7977:57;:::i;8381:134::-;8459:13;;8477:33;8459:13;8477:33;:::i;8522:132::-;8599:13;;8617:32;8599:13;8617:32;:::i;8661:130::-;8728:20;;8753:33;8728:20;8753:33;:::i;8798:134::-;8876:13;;8894:33;8876:13;8894:33;:::i;8939:132::-;9016:13;;9034:32;9016:13;9034:32;:::i;9078:132::-;9155:13;;9173:32;9155:13;9173:32;:::i;9217:130::-;9293:13;;9311:31;9293:13;9311:31;:::i;9354:263::-;;9469:2;9457:9;9448:7;9444:23;9440:32;9437:2;;;9485:1;9482;9475:12;9437:2;9520:1;9537:64;9593:7;9573:9;9537:64;:::i;:::-;9527:74;9431:186;-1:-1;;;;9431:186::o;9624:1707::-;;;;;;;;;;;9959:3;9947:9;9938:7;9934:23;9930:33;9927:2;;;9976:1;9973;9966:12;9927:2;10011:1;10028:72;10092:7;10072:9;10028:72;:::i;:::-;10018:82;;9990:116;10137:2;10155:72;10219:7;10210:6;10199:9;10195:22;10155:72;:::i;:::-;10145:82;;10116:117;10264:2;10282:64;10338:7;10329:6;10318:9;10314:22;10282:64;:::i;:::-;10272:74;;10243:109;10383:2;10401:64;10457:7;10448:6;10437:9;10433:22;10401:64;:::i;:::-;10391:74;;10362:109;10502:3;10521:63;10576:7;10567:6;10556:9;10552:22;10521:63;:::i;:::-;10511:73;;10481:109;10621:3;10640:63;10695:7;10686:6;10675:9;10671:22;10640:63;:::i;:::-;10630:73;;10600:109;10740:3;10759:61;10812:7;10803:6;10792:9;10788:22;10759:61;:::i;:::-;10749:71;;10719:107;10857:3;10876:79;10947:7;10938:6;10927:9;10923:22;10876:79;:::i;:::-;10866:89;;10836:125;11013:3;11002:9;10998:19;10992:26;11038:18;11030:6;11027:30;11024:2;;;11070:1;11067;11060:12;11024:2;11090:73;11155:7;11146:6;11135:9;11131:22;11090:73;:::i;:::-;11080:83;;10971:198;11200:3;11219:96;11307:7;11298:6;11287:9;11283:22;11219:96;:::i;:::-;11209:106;;11179:142;9921:1410;;;;;;;;;;;;;:::o;11338:415::-;;;11478:2;11466:9;11457:7;11453:23;11449:32;11446:2;;;11494:1;11491;11484:12;11446:2;11529:1;11546:72;11610:7;11590:9;11546:72;:::i;:::-;11536:82;;11508:116;11655:2;11673:64;11729:7;11720:6;11709:9;11705:22;11673:64;:::i;:::-;11663:74;;11634:109;11440:313;;;;;:::o;11760:470::-;;;11890:2;11878:9;11869:7;11865:23;11861:32;11858:2;;;11906:1;11903;11896:12;11858:2;11941:1;11958:53;12003:7;11983:9;11958:53;:::i;:::-;11948:63;;11920:97;12076:2;12065:9;12061:18;12048:32;12100:18;12092:6;12089:30;12086:2;;;12132:1;12129;12122:12;12086:2;12152:62;12206:7;12197:6;12186:9;12182:22;12152:62;:::i;12237:595::-;;;;12384:2;12372:9;12363:7;12359:23;12355:32;12352:2;;;12400:1;12397;12390:12;12352:2;12435:1;12452:53;12497:7;12477:9;12452:53;:::i;:::-;12442:63;;12414:97;12542:2;12560:53;12605:7;12596:6;12585:9;12581:22;12560:53;:::i;:::-;12550:63;;12521:98;12678:2;12667:9;12663:18;12650:32;12702:18;12694:6;12691:30;12688:2;;;12734:1;12731;12724:12;12688:2;12754:62;12808:7;12799:6;12788:9;12784:22;12754:62;:::i;:::-;12744:72;;12629:193;12346:486;;;;;:::o;12839:390::-;;12978:2;12966:9;12957:7;12953:23;12949:32;12946:2;;;12994:1;12991;12984:12;12946:2;13029:24;;13073:18;13062:30;;13059:2;;;13105:1;13102;13095:12;13059:2;13125:88;13205:7;13196:6;13185:9;13181:22;13125:88;:::i;13236:318::-;;13378:3;13366:9;13357:7;13353:23;13349:33;13346:2;;;13395:1;13392;13385:12;13346:2;13430:1;13447:91;13530:7;13510:9;13447:91;:::i;13561:322::-;;13705:3;13693:9;13684:7;13680:23;13676:33;13673:2;;;13722:1;13719;13712:12;13673:2;13757:1;13774:93;13859:7;13839:9;13774:93;:::i;13890:261::-;;14004:2;13992:9;13983:7;13979:23;13975:32;13972:2;;;14020:1;14017;14010:12;13972:2;14055:1;14072:63;14127:7;14107:9;14072:63;:::i;14158:263::-;;14273:2;14261:9;14252:7;14248:23;14244:32;14241:2;;;14289:1;14286;14279:12;14241:2;14324:1;14341:64;14397:7;14377:9;14341:64;:::i;14428:259::-;;14541:2;14529:9;14520:7;14516:23;14512:32;14509:2;;;14557:1;14554;14547:12;14509:2;14592:1;14609:62;14663:7;14643:9;14609:62;:::i;14695:173::-;;14782:46;14824:3;14816:6;14782:46;:::i;:::-;-1:-1;;14857:4;14848:14;;14775:93::o;14877:173::-;;14964:46;15006:3;14998:6;14964:46;:::i;15058:103::-;15131:24;15149:5;15131:24;:::i;:::-;15126:3;15119:37;15113:48;;:::o;15319:690::-;;15464:54;15512:5;15464:54;:::i;:::-;15531:86;15610:6;15605:3;15531:86;:::i;:::-;15524:93;;15638:56;15688:5;15638:56;:::i;:::-;15714:7;15742:1;15727:260;15752:6;15749:1;15746:13;15727:260;;;15819:6;15813:13;15840:63;15899:3;15884:13;15840:63;:::i;:::-;15833:70;;15920:60;15973:6;15920:60;:::i;:::-;15910:70;-1:-1;;15774:1;15767:9;15727:260;;;-1:-1;16000:3;;15443:566;-1:-1;;;;;15443:566::o;16048:690::-;;16193:54;16241:5;16193:54;:::i;:::-;16260:86;16339:6;16334:3;16260:86;:::i;:::-;16253:93;;16367:56;16417:5;16367:56;:::i;:::-;16443:7;16471:1;16456:260;16481:6;16478:1;16475:13;16456:260;;;16548:6;16542:13;16569:63;16628:3;16613:13;16569:63;:::i;:::-;16562:70;;16649:60;16702:6;16649:60;:::i;:::-;16639:70;-1:-1;;16503:1;16496:9;16456:260;;16746:343;;16856:38;16888:5;16856:38;:::i;:::-;16906:70;16969:6;16964:3;16906:70;:::i;:::-;16899:77;;16981:52;17026:6;17021:3;17014:4;17007:5;17003:16;16981:52;:::i;:::-;17054:29;17076:6;17054:29;:::i;:::-;17045:39;;;;16836:253;-1:-1;;;16836:253::o;17097:326::-;;17257:67;17321:2;17316:3;17257:67;:::i;:::-;17357:28;17337:49;;17414:2;17405:12;;17243:180;-1:-1;;17243:180::o;17432:370::-;;17592:67;17656:2;17651:3;17592:67;:::i;:::-;17692:34;17672:55;;-1:-1;;;17756:2;17747:12;;17740:25;17793:2;17784:12;;17578:224;-1:-1;;17578:224::o;17811:390::-;;17971:67;18035:2;18030:3;17971:67;:::i;:::-;18071:34;18051:55;;-1:-1;;;18135:2;18126:12;;18119:45;18192:2;18183:12;;17957:244;-1:-1;;17957:244::o;18209:110::-;18290:23;18307:5;18290:23;:::i;18326:103::-;18399:24;18417:5;18399:24;:::i;18556:222::-;18683:2;18668:18;;18697:71;18672:9;18741:6;18697:71;:::i;18785:888::-;19118:2;19132:47;;;19103:18;;19193:108;19103:18;19287:6;19193:108;:::i;:::-;19185:116;;19349:9;19343:4;19339:20;19334:2;19323:9;19319:18;19312:48;19374:108;19477:4;19468:6;19374:108;:::i;:::-;19366:116;;19530:9;19524:4;19520:20;19515:2;19504:9;19500:18;19493:48;19555:108;19658:4;19649:6;19555:108;:::i;:::-;19547:116;19089:584;-1:-1;;;;;19089:584::o;19680:306::-;19825:2;19839:47;;;19810:18;;19900:76;19810:18;19962:6;19900:76;:::i;19993:416::-;20193:2;20207:47;;;20178:18;;20268:131;20178:18;20268:131;:::i;20416:416::-;20616:2;20630:47;;;20601:18;;20691:131;20601:18;20691:131;:::i;20839:416::-;21039:2;21053:47;;;21024:18;;21114:131;21024:18;21114:131;:::i;21262:218::-;21387:2;21372:18;;21401:69;21376:9;21443:6;21401:69;:::i;21487:222::-;21614:2;21599:18;;21628:71;21603:9;21672:6;21628:71;:::i;21716:256::-;21778:2;21772:9;21804:17;;;21879:18;21864:34;;21900:22;;;21861:62;21858:2;;;21936:1;21933;21926:12;21858:2;21952;21945:22;21756:216;;-1:-1;21756:216::o;21979:303::-;;22137:18;22129:6;22126:30;22123:2;;;22169:1;22166;22159:12;22123:2;-1:-1;22204:4;22192:17;;;22257:15;;22060:222::o;22289:321::-;;22432:18;22424:6;22421:30;22418:2;;;22464:1;22461;22454:12;22418:2;-1:-1;22595:4;22531;22508:17;;;;-1:-1;;22504:33;22585:15;;22355:255::o;22617:151::-;22741:4;22732:14;;22689:79::o;22933:137::-;23036:12;;23007:63::o;23580:178::-;23698:19;;;23747:4;23738:14;;23691:67::o;24296:91::-;;24358:24;24376:5;24358:24;:::i;24500:85::-;24566:13;24559:21;;24542:43::o;24592:113::-;-1:-1;;;;;24654:46;;24637:68::o;24712:121::-;-1:-1;;;;;24774:54;;24757:76::o;24840:86::-;24912:8;24901:20;;24884:42::o;24933:72::-;24995:5;24978:27::o;25012:88::-;25084:10;25073:22;;25056:44::o;25107:96::-;25179:18;25168:30;;25151:52::o;25210:81::-;25281:4;25270:16;;25253:38::o;25299:145::-;25380:6;25375:3;25370;25357:30;-1:-1;25436:1;25418:16;;25411:27;25350:94::o;25453:268::-;25518:1;25525:101;25539:6;25536:1;25533:13;25525:101;;;25606:11;;;25600:18;25587:11;;;25580:39;25561:2;25554:10;25525:101;;;25641:6;25638:1;25635:13;25632:2;;;25706:1;25697:6;25692:3;25688:16;25681:27;25632:2;25502:219;;;;:::o;25729:97::-;25817:2;25797:14;-1:-1;;25793:28;;25777:49::o;25834:117::-;25903:24;25921:5;25903:24;:::i;:::-;25896:5;25893:35;25883:2;;25942:1;25939;25932:12;26098:111;26164:21;26179:5;26164:21;:::i;26216:114::-;26305:1;26298:5;26295:12;26285:2;;26321:1;26318;26311:12;26453:117;26522:24;26540:5;26522:24;:::i;26577:115::-;26645:23;26662:5;26645:23;:::i;26699:117::-;26768:24;26786:5;26768:24;:::i;26823:115::-;26891:23;26908:5;26891:23;:::i;26945:115::-;27013:23;27030:5;27013:23;:::i;27067:113::-;27134:22;27150:5;27134:22;:::i", "linkReferences": {}, "immutableReferences": { "32364": [ { "start": 592, "length": 32 }, { "start": 1674, "length": 32 } ] } }, "methodIdentifiers": { "parseAssetsForAction(address,uint256,bytes)": "bbd2d646", "parseInitArgs(address,bytes)": "db16c72e" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_initialBondOfferingMarket\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_externalPosition\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_actionId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_encodedActionArgs\",\"type\":\"bytes\"}],\"name\":\"parseAssetsForAction\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"assetsToTransfer_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amountsToTransfer_\",\"type\":\"uint256[]\"},{\"internalType\":\"address[]\",\"name\":\"assetsToReceive_\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"parseInitArgs\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"parseAssetsForAction(address,uint256,bytes)\":{\"params\":{\"_actionId\":\"The _actionId for the callOnExternalPosition\",\"_encodedActionArgs\":\"The encoded parameters for the callOnExternalPosition\",\"_externalPosition\":\"The _externalPosition to be called\"},\"returns\":{\"amountsToTransfer_\":\"The amounts to be transferred from the Vault\",\"assetsToReceive_\":\"The assets to be received at the Vault\",\"assetsToTransfer_\":\"The assets to be transferred from the Vault\"}},\"parseInitArgs(address,bytes)\":{\"details\":\"Empty for this external position type\"}},\"title\":\"SolvV2BondIssuerPositionParser\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"parseAssetsForAction(address,uint256,bytes)\":{\"notice\":\"Parses the assets to send and receive for the callOnExternalPosition\"},\"parseInitArgs(address,bytes)\":{\"notice\":\"Parse and validate input arguments to be used when initializing a newly-deployed ExternalPositionProxy\"}},\"notice\":\"Parser for Solv V2 Bond Issuer positions\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/solv-v2-bond-issuer/SolvV2BondIssuerPositionParser.sol\":\"SolvV2BondIssuerPositionParser\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/persistent/external-positions/solv-v2-bond-issuer/SolvV2BondIssuerPositionLibBase1.sol\":{\"keccak256\":\"0xb8c45493039fe2b240fafcec7d26ddd689336d9aaad00cfcab4ffdf468aa2a34\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://75324a615930ad565f88d5319695ce1c2202d68465a3999d2cfb0a6b8c398644\",\"dweb:/ipfs/QmWwoKUNYNWmw3HVQjenFaJsJPKv6yaonu3gJDNQkQGQ13\"]},\"contracts/release/extensions/external-position-manager/external-positions/IExternalPositionParser.sol\":{\"keccak256\":\"0x1662fbd65841ee5e9cf8d5329b9d04c264b24ef68ae1e0484e59a8969b0d2c46\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://580569b0f875e0344db83fae1e72dcc6c0767a049b2a6cc3e4f3c411d2284b27\",\"dweb:/ipfs/QmXFmF9QbcVsPHaBo1iq8sZHYhDkwfkMZpHmLTuJJ37NvZ\"]},\"contracts/release/extensions/external-position-manager/external-positions/solv-v2-bond-issuer/ISolvV2BondIssuerPosition.sol\":{\"keccak256\":\"0x4b4269ed0c69d21e9a98b8dda03794e46ee75b443913d55f33a4b6f5ca15297b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5b339a793698c60986ef981da4e705723f98b9950a7cb0f5d9a9278907c91788\",\"dweb:/ipfs/QmbRx6gSPaUtx6cXWrdEa6vdSNM8PLNgKN9PARxPbjfBe4\"]},\"contracts/release/extensions/external-position-manager/external-positions/solv-v2-bond-issuer/SolvV2BondIssuerPositionDataDecoder.sol\":{\"keccak256\":\"0xdc757cfbb836b813539ce641f764d5aac2535a472565e84b4e098a2560d9323d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9b24f934d31730aeabaea742b0de10c0cad1448788d0c9a22e281097acb3ff76\",\"dweb:/ipfs/QmQ8QU46pBi9Sb5DxvgboLYugnFodMzo4iUKXxyh9yPQyA\"]},\"contracts/release/extensions/external-position-manager/external-positions/solv-v2-bond-issuer/SolvV2BondIssuerPositionLib.sol\":{\"keccak256\":\"0x5d60dfa8163f97874775b6cb888458289b7a587e500539e78ae44db2d5bd8cad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2c699d553b0a3a8b4fa47d79cb961e25cd0434f999af90829434efea4e5a3176\",\"dweb:/ipfs/QmaRFKo54kn5Mo9Hd2Fs3rWKV4oRgViGVhA44yPJ5umc5u\"]},\"contracts/release/extensions/external-position-manager/external-positions/solv-v2-bond-issuer/SolvV2BondIssuerPositionParser.sol\":{\"keccak256\":\"0xc274b36f2a8065898cbaa4f4dca3d1a59916c9ecbe6b2efd915e2a6ddfbe5d42\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8037845c2e2d393806e36312e95819c04cf02fd52bd09db53d52b93a89489610\",\"dweb:/ipfs/Qmc1VNWCEJpeFqW6y8ohEpF4n1eFXCP4E8Api5mpvKVxpH\"]},\"contracts/release/interfaces/ISolvV2BondPool.sol\":{\"keccak256\":\"0xa68c7f87782e4da88c0e98a8096d3f758b1c5aa914ddb6bc99ada422195019f5\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://cb64f9feca3ef65e6e2a18729aeb1300698cfba3eb99f08025debc795282b73d\",\"dweb:/ipfs/QmVr5qraYJpKNMtJZfgvkMZsk1Nerxc36HSjhtvh8YgG1G\"]},\"contracts/release/interfaces/ISolvV2BondVoucher.sol\":{\"keccak256\":\"0xf76389995de79cdc0f4a690a9ce76a094d4697d51e397abf68b4be24ef8b554f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ed36c534756035df374381fabff0b010f0fe700caeeddffb99f347efee1f0cdd\",\"dweb:/ipfs/QmY5dm7b78TkoW3WSqKKZSCKdZmumTCMLxf3rpxzVM6qpm\"]},\"contracts/release/interfaces/ISolvV2InitialConvertibleOfferingMarket.sol\":{\"keccak256\":\"0xe34205d54ec639e2e3f8e0e2871984a6796424d903259857f1f11de260cf8abe\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://908f8d334df9ae2191787a8e53c78b1847bd936f2ce9d04115f5e9339c3e3934\",\"dweb:/ipfs/QmZzxE748Hb2Vosu7cwPmkb4EVpoqvS4RgHogLrvDgsnD3\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"contracts/release/utils/Uint256ArrayLib.sol\":{\"keccak256\":\"0x1627d0d32692b86c5dd3e74ebb8305fbf99a3c41d4b90e736077762cc80c1a31\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://54ff92ccd4bd685dda44c2520e3f52478168e909b400c3cc4076d37f5c2704ef\",\"dweb:/ipfs/QmYUxeaKfPwnUtP35i6JJ3ptsaDFEV6SD2o4VV8d5vBUZD\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_initialBondOfferingMarket", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "_externalPosition", "type": "address" }, { "internalType": "uint256", "name": "_actionId", "type": "uint256" }, { "internalType": "bytes", "name": "_encodedActionArgs", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "parseAssetsForAction", "outputs": [ { "internalType": "address[]", "name": "assetsToTransfer_", "type": "address[]" }, { "internalType": "uint256[]", "name": "amountsToTransfer_", "type": "uint256[]" }, { "internalType": "address[]", "name": "assetsToReceive_", "type": "address[]" } ] }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "parseInitArgs", "outputs": [ { "internalType": "bytes", "name": "", "type": "bytes" } ] } ], "devdoc": { "kind": "dev", "methods": { "parseAssetsForAction(address,uint256,bytes)": { "params": { "_actionId": "The _actionId for the callOnExternalPosition", "_encodedActionArgs": "The encoded parameters for the callOnExternalPosition", "_externalPosition": "The _externalPosition to be called" }, "returns": { "amountsToTransfer_": "The amounts to be transferred from the Vault", "assetsToReceive_": "The assets to be received at the Vault", "assetsToTransfer_": "The assets to be transferred from the Vault" } }, "parseInitArgs(address,bytes)": { "details": "Empty for this external position type" } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "parseAssetsForAction(address,uint256,bytes)": { "notice": "Parses the assets to send and receive for the callOnExternalPosition" }, "parseInitArgs(address,bytes)": { "notice": "Parse and validate input arguments to be used when initializing a newly-deployed ExternalPositionProxy" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/external-position-manager/external-positions/solv-v2-bond-issuer/SolvV2BondIssuerPositionParser.sol": "SolvV2BondIssuerPositionParser" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/external-positions/IExternalPosition.sol": { "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", "urls": [ "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" ], "license": "GPL-3.0" }, "contracts/persistent/external-positions/solv-v2-bond-issuer/SolvV2BondIssuerPositionLibBase1.sol": { "keccak256": "0xb8c45493039fe2b240fafcec7d26ddd689336d9aaad00cfcab4ffdf468aa2a34", "urls": [ "bzz-raw://75324a615930ad565f88d5319695ce1c2202d68465a3999d2cfb0a6b8c398644", "dweb:/ipfs/QmWwoKUNYNWmw3HVQjenFaJsJPKv6yaonu3gJDNQkQGQ13" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/IExternalPositionParser.sol": { "keccak256": "0x1662fbd65841ee5e9cf8d5329b9d04c264b24ef68ae1e0484e59a8969b0d2c46", "urls": [ "bzz-raw://580569b0f875e0344db83fae1e72dcc6c0767a049b2a6cc3e4f3c411d2284b27", "dweb:/ipfs/QmXFmF9QbcVsPHaBo1iq8sZHYhDkwfkMZpHmLTuJJ37NvZ" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/solv-v2-bond-issuer/ISolvV2BondIssuerPosition.sol": { "keccak256": "0x4b4269ed0c69d21e9a98b8dda03794e46ee75b443913d55f33a4b6f5ca15297b", "urls": [ "bzz-raw://5b339a793698c60986ef981da4e705723f98b9950a7cb0f5d9a9278907c91788", "dweb:/ipfs/QmbRx6gSPaUtx6cXWrdEa6vdSNM8PLNgKN9PARxPbjfBe4" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/solv-v2-bond-issuer/SolvV2BondIssuerPositionDataDecoder.sol": { "keccak256": "0xdc757cfbb836b813539ce641f764d5aac2535a472565e84b4e098a2560d9323d", "urls": [ "bzz-raw://9b24f934d31730aeabaea742b0de10c0cad1448788d0c9a22e281097acb3ff76", "dweb:/ipfs/QmQ8QU46pBi9Sb5DxvgboLYugnFodMzo4iUKXxyh9yPQyA" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/solv-v2-bond-issuer/SolvV2BondIssuerPositionLib.sol": { "keccak256": "0x5d60dfa8163f97874775b6cb888458289b7a587e500539e78ae44db2d5bd8cad", "urls": [ "bzz-raw://2c699d553b0a3a8b4fa47d79cb961e25cd0434f999af90829434efea4e5a3176", "dweb:/ipfs/QmaRFKo54kn5Mo9Hd2Fs3rWKV4oRgViGVhA44yPJ5umc5u" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/solv-v2-bond-issuer/SolvV2BondIssuerPositionParser.sol": { "keccak256": "0xc274b36f2a8065898cbaa4f4dca3d1a59916c9ecbe6b2efd915e2a6ddfbe5d42", "urls": [ "bzz-raw://8037845c2e2d393806e36312e95819c04cf02fd52bd09db53d52b93a89489610", "dweb:/ipfs/Qmc1VNWCEJpeFqW6y8ohEpF4n1eFXCP4E8Api5mpvKVxpH" ], "license": "GPL-3.0" }, "contracts/release/interfaces/ISolvV2BondPool.sol": { "keccak256": "0xa68c7f87782e4da88c0e98a8096d3f758b1c5aa914ddb6bc99ada422195019f5", "urls": [ "bzz-raw://cb64f9feca3ef65e6e2a18729aeb1300698cfba3eb99f08025debc795282b73d", "dweb:/ipfs/QmVr5qraYJpKNMtJZfgvkMZsk1Nerxc36HSjhtvh8YgG1G" ], "license": "GPL-3.0" }, "contracts/release/interfaces/ISolvV2BondVoucher.sol": { "keccak256": "0xf76389995de79cdc0f4a690a9ce76a094d4697d51e397abf68b4be24ef8b554f", "urls": [ "bzz-raw://ed36c534756035df374381fabff0b010f0fe700caeeddffb99f347efee1f0cdd", "dweb:/ipfs/QmY5dm7b78TkoW3WSqKKZSCKdZmumTCMLxf3rpxzVM6qpm" ], "license": "GPL-3.0" }, "contracts/release/interfaces/ISolvV2InitialConvertibleOfferingMarket.sol": { "keccak256": "0xe34205d54ec639e2e3f8e0e2871984a6796424d903259857f1f11de260cf8abe", "urls": [ "bzz-raw://908f8d334df9ae2191787a8e53c78b1847bd936f2ce9d04115f5e9339c3e3934", "dweb:/ipfs/QmZzxE748Hb2Vosu7cwPmkb4EVpoqvS4RgHogLrvDgsnD3" ], "license": "GPL-3.0" }, "contracts/release/utils/AddressArrayLib.sol": { "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", "urls": [ "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" ], "license": "GPL-3.0" }, "contracts/release/utils/AssetHelpers.sol": { "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", "urls": [ "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" ], "license": "GPL-3.0" }, "contracts/release/utils/Uint256ArrayLib.sol": { "keccak256": "0x1627d0d32692b86c5dd3e74ebb8305fbf99a3c41d4b90e736077762cc80c1a31", "urls": [ "bzz-raw://54ff92ccd4bd685dda44c2520e3f52478168e909b400c3cc4076d37f5c2704ef", "dweb:/ipfs/QmYUxeaKfPwnUtP35i6JJ3ptsaDFEV6SD2o4VV8d5vBUZD" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", "urls": [ "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Address.sol": { "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", "urls": [ "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" } }, "version": 1 }, "id": 129 } diff --git a/eth_defi/abi/enzyme/SolvV2ConvertibleBuyerPositionDataDecoder.json b/eth_defi/abi/enzyme/SolvV2ConvertibleBuyerPositionDataDecoder.json index b9f9e791..b8769cae 100644 --- a/eth_defi/abi/enzyme/SolvV2ConvertibleBuyerPositionDataDecoder.json +++ b/eth_defi/abi/enzyme/SolvV2ConvertibleBuyerPositionDataDecoder.json @@ -1,78 +1 @@ -{ - "abi": [], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": {}, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"SolvV2ConvertibleBuyerPositionDataDecoder Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Abstract contract containing data decodings for SolvV2ConvertibleBuyerPosition payloads\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/solv-v2-convertible-buyer/SolvV2ConvertibleBuyerPositionDataDecoder.sol\":\"SolvV2ConvertibleBuyerPositionDataDecoder\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/external-position-manager/external-positions/solv-v2-convertible-buyer/SolvV2ConvertibleBuyerPositionDataDecoder.sol\":{\"keccak256\":\"0x04f15c6a705477a8176e220c9b877804975238a7f8259f967bbb83dc6bb4a682\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://da054a8d3d8103cc35a91a5be4d8c06018184fb0d5941ea61f4502671fc7e21c\",\"dweb:/ipfs/QmVGkG5jbs2jsjbVcyqMyL3CNGUswMTJPCaNHojjMc8iQ3\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/external-position-manager/external-positions/solv-v2-convertible-buyer/SolvV2ConvertibleBuyerPositionDataDecoder.sol": "SolvV2ConvertibleBuyerPositionDataDecoder" - }, - "libraries": {} - }, - "sources": { - "contracts/release/extensions/external-position-manager/external-positions/solv-v2-convertible-buyer/SolvV2ConvertibleBuyerPositionDataDecoder.sol": { - "keccak256": "0x04f15c6a705477a8176e220c9b877804975238a7f8259f967bbb83dc6bb4a682", - "urls": [ - "bzz-raw://da054a8d3d8103cc35a91a5be4d8c06018184fb0d5941ea61f4502671fc7e21c", - "dweb:/ipfs/QmVGkG5jbs2jsjbVcyqMyL3CNGUswMTJPCaNHojjMc8iQ3" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 131 -} +{ "abi": [], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": {}, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"SolvV2ConvertibleBuyerPositionDataDecoder Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Abstract contract containing data decodings for SolvV2ConvertibleBuyerPosition payloads\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/solv-v2-convertible-buyer/SolvV2ConvertibleBuyerPositionDataDecoder.sol\":\"SolvV2ConvertibleBuyerPositionDataDecoder\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/external-position-manager/external-positions/solv-v2-convertible-buyer/SolvV2ConvertibleBuyerPositionDataDecoder.sol\":{\"keccak256\":\"0x04f15c6a705477a8176e220c9b877804975238a7f8259f967bbb83dc6bb4a682\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://da054a8d3d8103cc35a91a5be4d8c06018184fb0d5941ea61f4502671fc7e21c\",\"dweb:/ipfs/QmVGkG5jbs2jsjbVcyqMyL3CNGUswMTJPCaNHojjMc8iQ3\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/external-position-manager/external-positions/solv-v2-convertible-buyer/SolvV2ConvertibleBuyerPositionDataDecoder.sol": "SolvV2ConvertibleBuyerPositionDataDecoder" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/extensions/external-position-manager/external-positions/solv-v2-convertible-buyer/SolvV2ConvertibleBuyerPositionDataDecoder.sol": { "keccak256": "0x04f15c6a705477a8176e220c9b877804975238a7f8259f967bbb83dc6bb4a682", "urls": [ "bzz-raw://da054a8d3d8103cc35a91a5be4d8c06018184fb0d5941ea61f4502671fc7e21c", "dweb:/ipfs/QmVGkG5jbs2jsjbVcyqMyL3CNGUswMTJPCaNHojjMc8iQ3" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 131 } diff --git a/eth_defi/abi/enzyme/SolvV2ConvertibleBuyerPositionLib.json b/eth_defi/abi/enzyme/SolvV2ConvertibleBuyerPositionLib.json index 3fdf758c..77034f52 100644 --- a/eth_defi/abi/enzyme/SolvV2ConvertibleBuyerPositionLib.json +++ b/eth_defi/abi/enzyme/SolvV2ConvertibleBuyerPositionLib.json @@ -1,842 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_convertibleMarketcontract", - "type": "address" - }, - { - "internalType": "address", - "name": "_initialConvertibleOfferingMarket", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint24", - "name": "saleId", - "type": "uint24" - }, - { - "indexed": true, - "internalType": "address", - "name": "currency", - "type": "address" - } - ], - "name": "SaleAdded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint24", - "name": "saleId", - "type": "uint24" - }, - { - "indexed": true, - "internalType": "address", - "name": "currency", - "type": "address" - } - ], - "name": "SaleRemoved", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "voucher", - "type": "address" - }, - { - "indexed": true, - "internalType": "uint32", - "name": "tokenId", - "type": "uint32" - } - ], - "name": "VoucherTokenIdAdded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "voucher", - "type": "address" - }, - { - "indexed": true, - "internalType": "uint32", - "name": "tokenId", - "type": "uint32" - } - ], - "name": "VoucherTokenIdRemoved", - "type": "event" - }, - { - "inputs": [], - "name": "getDebtAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "assets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "amounts_", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getManagedAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "assets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "amounts_", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getSales", - "outputs": [ - { - "components": [ - { - "internalType": "uint24", - "name": "saleId", - "type": "uint24" - }, - { - "internalType": "address", - "name": "currency", - "type": "address" - } - ], - "internalType": "struct SolvV2ConvertibleBuyerPositionLibBase1.Sale[]", - "name": "sales_", - "type": "tuple[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getVoucherTokenIds", - "outputs": [ - { - "components": [ - { - "internalType": "address", - "name": "voucher", - "type": "address" - }, - { - "internalType": "uint32", - "name": "tokenId", - "type": "uint32" - } - ], - "internalType": "struct SolvV2ConvertibleBuyerPositionLibBase1.VoucherTokenId[]", - "name": "voucherTokenIds_", - "type": "tuple[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "init", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "onVNFTReceived", - "outputs": [ - { - "internalType": "bytes4", - "name": "selector_", - "type": "bytes4" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - } - ], - "name": "receiveCallFromVault", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x60c06040523480156200001157600080fd5b5060405162003cda38038062003cda833981016040819052620000349162000066565b6001600160601b0319606092831b8116608052911b1660a052620000d1565b80516200006081620000b7565b92915050565b600080604083850312156200007a57600080fd5b600062000088858562000053565b92505060206200009b8582860162000053565b9150509250929050565b60006001600160a01b03821662000060565b620000c281620000a5565b8114620000ce57600080fd5b50565b60805160601c60a05160601c613b9462000146600039806110ba52806111d7528061121552806112af5250806102d9528061131c52806113ba52806113f652806114cd528061156b52806115a95280611648528061186352806119645280611a8f5280611b39528061236c5250613b946000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c8063b382cdcd1161005b578063b382cdcd146100cb578063e5c23a97146100eb578063ecd658b4146100fe578063f4c1032a146101065761007d565b80630d83304c146100825780634ddf47d4146100a057806380daddb8146100b5575b600080fd5b61008a61011b565b60405161009791906138b4565b60405180910390f35b6100b36100ae36600461306a565b610193565b005b6100bd610196565b60405161009792919061388f565b6100de6100d9366004612fbd565b61050f565b60405161009791906138d6565b6100b36100f936600461306a565b61053a565b6100bd61060d565b61010e610613565b60405161009791906138c5565b60606000805480602002602001604051908101604052809291908181526020016000905b8282101561018a576000848152602090819020604080518082019091529084015462ffffff81168252630100000090046001600160a01b03168183015282526001909201910161013f565b50505050905090565b50565b60608060606101a3610613565b8051909150806001600160401b03811180156101be57600080fd5b506040519080825280602002602001820160405280156101e8578160200160208202803683370190505b509350806001600160401b038111801561020157600080fd5b5060405190808252806020026020018201604052801561022b578160200160208202803683370190505b50925060005b818110156102c05761024161281e565b83828151811061024d57fe5b6020026020010151905060008061026c83600001518460200151610683565b915091508188858151811061027d57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050808785815181106102aa57fe5b6020908102919091010152505050600101610231565b5060008054905b818110156103f3576102d7612835565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663782f5cb36000848154811061031357fe5b6000918252602090912001546040516001600160e01b031960e084901b1681526103459162ffffff1690600401613975565b6101a06040518083038186803b15801561035e57600080fd5b505afa158015610372573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061039691906130bd565b90508061018001516103a857506103eb565b6000806103c3836101200151846020015162ffffff16610683565b909250905080156103e7576103d88983610c81565b98506103e48882610d4c565b97505b5050505b6001016102c7565b50606060005b828110156104f857600080828154811061040f57fe5b600091825260209091200154630100000090046001600160a01b031690506104378382610df5565b1561044257506104f0565b61044c8382610c81565b92506000816001600160a01b03166370a08231306040518263ffffffff1660e01b815260040161047c9190613715565b60206040518083038186803b15801561049457600080fd5b505afa1580156104a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104cc91906131a1565b905080156104ed576104de8983610c81565b98506104ea8882610d4c565b97505b50505b6001016103f9565b506105038686610e4b565b95509550505050509091565b7fb382cdcdbd920ddd5cea8c35269cf1a93503df07a561581b76664c03c351b58b9695505050505050565b600060608280602001905181019061055291906131bf565b90925090508161056a576105658161108b565b610608565b600182141561057c57610565816112ed565b600282141561058e576105658161149e565b60038214156105a05761056581611686565b60048214156105b2576105658161180f565b60058214156105c4576105658161191b565b60068214156105d557610565611a07565b60078214156105e75761056581611a63565b60405162461bcd60e51b81526004016105ff90613915565b60405180910390fd5b505050565b60608091565b60606001805480602002602001604051908101604052809291908181526020016000905b8282101561018a57600084815260209081902060408051808201909152908401546001600160a01b0381168252600160a01b900463ffffffff1681830152825260019092019101610637565b60008060008490506000816001600160a01b031663360454c56040518163ffffffff1660e01b815260040160206040518083038186803b1580156106c657600080fd5b505afa1580156106da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106fe9190612db4565b90506000826001600160a01b031663bde4c3cb876040518263ffffffff1660e01b815260040161072e91906139c8565b602060405180830381600087803b15801561074857600080fd5b505af115801561075c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061078091906131a1565b90506000826001600160a01b031663fb7056b7836040518263ffffffff1660e01b81526004016107b091906139ac565b60206040518083038186803b1580156107c857600080fd5b505afa1580156107dc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061080091906130fb565b90506000816001600160801b03161161082b5760405162461bcd60e51b81526004016105ff90613935565b61083361289e565b60405163d3ceafb960e01b81526001600160a01b0386169063d3ceafb99061085f9086906004016139ac565b6101a06040518083038186803b15801561087857600080fd5b505afa15801561088c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108b091906130dc565b90506000856001600160a01b031663becef6078a6040518263ffffffff1660e01b81526004016108e091906139c8565b60206040518083038186803b1580156108f857600080fd5b505afa15801561090c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061093091906131a1565b905081608001516001600160801b0316836001600160801b03161115801561095a57508161012001515b15610b0c57602082015160405163e55ced3160e01b81526000916001600160a01b0388169163e55ced3191610994918991906004016139ba565b60206040518083038186803b1580156109ac57600080fd5b505afa1580156109c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109e491906131a1565b905082602001519850610af2866001600160a01b0316633e7e86696040518163ffffffff1660e01b815260040160206040518083038186803b158015610a2957600080fd5b505afa158015610a3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a619190613243565b60ff16600a0a610aec85602001516001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015610aa757600080fd5b505afa158015610abb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610adf9190613243565b859060ff16600a0a611ddd565b90611e1e565b975080881115610b00578097505b50505050505050610c7a565b81606001516001600160801b0316836001600160801b03161015610b365781606001519250610b5c565b81608001516001600160801b0316836001600160801b03161115610b5c57816080015192505b856001600160a01b0316636f307dc36040518163ffffffff1660e01b815260040160206040518083038186803b158015610b9557600080fd5b505afa158015610ba9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bcd9190612db4565b97506000856001600160a01b031663e55ced31868b6040518363ffffffff1660e01b8152600401610bff9291906139ba565b60206040518083038186803b158015610c1757600080fd5b505afa158015610c2b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c4f91906131a1565b9050610c64826001600160801b038616611e1e565b975080881115610c72578097505b505050505050505b9250929050565b606082516001016001600160401b0381118015610c9d57600080fd5b50604051908082528060200260200182016040528015610cc7578160200160208202803683370190505b50905060005b8351811015610d1657838181518110610ce257fe5b6020026020010151828281518110610cf657fe5b6001600160a01b0390921660209283029190910190910152600101610ccd565b508181845181518110610d2557fe5b60200260200101906001600160a01b031690816001600160a01b0316815250505b92915050565b606082516001016001600160401b0381118015610d6857600080fd5b50604051908082528060200260200182016040528015610d92578160200160208202803683370190505b50905060005b8351811015610dd457838181518110610dad57fe5b6020026020010151828281518110610dc157fe5b6020908102919091010152600101610d98565b508181845181518110610de357fe5b60200260200101818152505092915050565b6000805b8351811015610e4157838181518110610e0e57fe5b60200260200101516001600160a01b0316836001600160a01b03161415610e39576001915050610d46565b600101610df9565b5060009392505050565b606080835160001415610e5d57610c7a565b6001805b8551811015610edd576000805b82811015610ec757878181518110610e8257fe5b60200260200101516001600160a01b0316888481518110610e9f57fe5b60200260200101516001600160a01b03161415610ebf5760019150610ec7565b600101610e6e565b5080610ed4576001909201915b50600101610e61565b50806001600160401b0381118015610ef457600080fd5b50604051908082528060200260200182016040528015610f1e578160200160208202803683370190505b509250806001600160401b0381118015610f3757600080fd5b50604051908082528060200260200182016040528015610f61578160200160208202803683370190505b5091506000805b8651811015611081576000805b8381101561100057868181518110610f8957fe5b60200260200101516001600160a01b0316898481518110610fa657fe5b60200260200101516001600160a01b03161415610ff85760019150878381518110610fcd57fe5b6020026020010151868281518110610fe157fe5b602002602001018181510191508181525050611000565b600101610f75565b50806110785787828151811061101257fe5b602002602001015186848151811061102657fe5b60200260200101906001600160a01b031690816001600160a01b03168152505086828151811061105257fe5b602002602001015185848151811061106657fe5b60209081029190910101526001909201915b50600101610f68565b5050509250929050565b60008061109783611e50565b915091506110a3612907565b6040516309cfb2ab60e41b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690639cfb2ab0906110ef908690600401613975565b6101a06040518083038186803b15801561110857600080fd5b505afa15801561111c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611140919061309e565b9050600081610100015190506000816001600160a01b03166375794a3c6040518163ffffffff1660e01b815260040160206040518083038186803b15801561118757600080fd5b505afa15801561119b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111bf9190613225565b6101208401519091506111fe6001600160a01b0382167f0000000000000000000000000000000000000000000000000000000000000000600019611e70565b6040516341ec4ef360e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906341ec4ef39061124c9089908990600401613983565b6040805180830381600087803b15801561126557600080fd5b505af1158015611279573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061129d9190613206565b506112d590506001600160a01b0382167f00000000000000000000000000000000000000000000000000000000000000006000611e70565b6112e484610100015183611f6a565b50505050505050565b6000806112f983612023565b91509150611305612835565b60405163782f5cb360e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063782f5cb390611351908690600401613975565b6101a06040518083038186803b15801561136a57600080fd5b505afa15801561137e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113a291906130bd565b6101408101519091506113df906001600160a01b03167f000000000000000000000000000000000000000000000000000000000000000084611e70565b60405163679a0be760e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063679a0be79061142d908690869060040161399e565b602060405180830381600087803b15801561144757600080fd5b505af115801561145b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061147f91906130fb565b50611498816101200151826020015162ffffff1661203a565b50505050565b6000806114aa83611e50565b915091506114b6612835565b60405163782f5cb360e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063782f5cb390611502908690600401613975565b6101a06040518083038186803b15801561151b57600080fd5b505afa15801561152f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061155391906130bd565b610140810151909150611592906001600160a01b03167f0000000000000000000000000000000000000000000000000000000000000000600019611e70565b604051639bb3db7160e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690639bb3db71906115e09086908690600401613983565b6040805180830381600087803b1580156115f957600080fd5b505af115801561160d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116319190613206565b505061014081015161166e906001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006000611e70565b611498816101200151826020015162ffffff1661203a565b600080600061169484612155565b60405163becef60760e01b8152929550909350915083906000906001600160a01b0383169063becef607906116cd9087906004016139c8565b60206040518083038186803b1580156116e557600080fd5b505afa1580156116f9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061171d91906131a1565b905060001983148061172e57508083145b156117a457604051637e2985f360e01b81526001600160a01b03831690637e2985f390611763908790339086906004016139d6565b600060405180830381600087803b15801561177d57600080fd5b505af1158015611791573d6000803e3d6000fd5b5050505061179f858561217b565b611807565b604051637e2985f360e01b81526001600160a01b03831690637e2985f3906117d4908790339088906004016139d6565b600060405180830381600087803b1580156117ee57600080fd5b505af1158015611802573d6000803e3d6000fd5b505050505b505050505050565b60008060008060008060008060008060006118298c6122fe565b9a509a509a509a509a509a509a509a509a509a509a506118498a8c612348565b6040516373947eb560e11b81526000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063e728fd6a906118ac908f908f908f908f908f908f908f908f908f908f908f906004016137d0565b602060405180830381600087803b1580156118c657600080fd5b505af11580156118da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118fe9190613119565b905061190c818b8e8e6123c4565b50505050505050505050505050565b6000806000806000806000806119308961248b565b9750975097509750975097509750975061194a8789612348565b6040516316da404760e11b81526000906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690632db4808e906119a7908c908c908c908c908c908c908c908c90600401613759565b602060405180830381600087803b1580156119c157600080fd5b505af11580156119d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119f99190613119565b905061180281888b8b6123c4565b6060611a1161011b565b805190915060609060005b81811015611a5857611a4e848281518110611a3357fe5b602002602001015160200151846124c690919063ffffffff16565b9250600101611a1c565b5061149833836124e8565b6000611a6e82612643565b9050611a78612835565b60405163782f5cb360e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063782f5cb390611ac4908590600401613975565b6101a06040518083038186803b158015611add57600080fd5b505afa158015611af1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b1591906130bd565b905080610180015115611bb8576040516362b4d47960e11b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c569a8f290611b6e908590600401613975565b600060405180830381600087803b158015611b8857600080fd5b505af1158015611b9c573d6000803e3d6000fd5b50505050611bb8816101200151826020015162ffffff16611f6a565b60008054905b81811015611dd6578362ffffff1660008281548110611bd957fe5b60009182526020909120015462ffffff161415611dce576000808281548110611bfe57fe5b9060005260206000200160000160039054906101000a90046001600160a01b031690506000808381548110611c2f57fe5b60009182526020822001546040516370a0823160e01b815263010000009091046001600160a01b0316925082906370a0823190611c70903090600401613715565b60206040518083038186803b158015611c8857600080fd5b505afa158015611c9c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cc091906131a1565b90508015611cdc57611cdc6001600160a01b0383163383612659565b60018503841015611d5d5760006001860381548110611cf757fe5b9060005260206000200160008581548110611d0e57fe5b6000918252602090912082549101805462ffffff191662ffffff9092169190911780825591546001600160a01b0363010000009182900416026301000000600160b81b03199092169190911790555b6000805480611d6857fe5b600082815260208120820160001990810180546001600160b81b03191690559091019091556040516001600160a01b0385169162ffffff8a16917f4b6290a4d500a7ab09c8b2deb76da47cc0f23e5940ed2f4fc482616d9ffad33a9190a3505050611dd6565b600101611bbe565b5050505050565b600082611dec57506000610d46565b82820282848281611df957fe5b0414611e175760405162461bcd60e51b81526004016105ff90613925565b9392505050565b6000808211611e3f5760405162461bcd60e51b81526004016105ff90613905565b818381611e4857fe5b049392505050565b60008082806020019051810190611e679190613137565b91509150915091565b801580611ef85750604051636eb1769f60e11b81526001600160a01b0384169063dd62ed3e90611ea69030908690600401613723565b60206040518083038186803b158015611ebe57600080fd5b505afa158015611ed2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ef691906131a1565b155b611f145760405162461bcd60e51b81526004016105ff90613965565b6106088363095ea7b360e01b8484604051602401611f33929190613874565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152612678565b6040805180820182526001600160a01b0384811680835263ffffffff85811660208501818152600180548082018255600091825296517fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6909701805492516001600160a01b0319909316979096169690961763ffffffff60a01b1916600160a01b91909316029190911790925592519092917f9064e110f4af8c3afc5cb815841bb7b2d7b4324b194a740015a249c929d3d0c791a35050565b60008082806020019051810190611e679190613171565b6040516331a9108f60e11b8152829030906001600160a01b03831690636352211e9061206a9086906004016139c8565b60206040518083038186803b15801561208257600080fd5b505afa158015612096573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120ba9190612db4565b6001600160a01b031614156120d3576105658383611f6a565b60006001826001600160a01b03166375794a3c6040518163ffffffff1660e01b815260040160206040518083038186803b15801561211057600080fd5b505afa158015612124573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121489190613225565b0390506114988482611f6a565b60008060008380602001905181019061216e9190612f70565b9250925092509193909250565b60015460005b818110156114985761219161281e565b6001828154811061219e57fe5b6000918252602091829020604080518082019091529101546001600160a01b038116825263ffffffff600160a01b909104811692820183905290925085161480156121fe5750846001600160a01b031681600001516001600160a01b0316145b156122f557600183038210156122855760018084038154811061221d57fe5b906000526020600020016001838154811061223457fe5b600091825260209091208254910180546001600160a01b0319166001600160a01b0390921691909117808255915463ffffffff600160a01b91829004160263ffffffff60a01b199092169190911790555b600180548061229057fe5b600082815260208120820160001990810180546001600160c01b031916905590910190915560405163ffffffff8616916001600160a01b038816917f0d5bcf97415af39ded48a8e8b4386016db43ed02862eefbd9e5b466c4329ad959190a350611498565b50600101612181565b60008060008060008060008060008060008b8060200190518101906123239190612e82565b9a509a509a509a509a509a509a509a509a509a509a5091939597999b90929496989a50565b60405163095ea7b360e01b81526001600160a01b0382169063095ea7b390612396907f000000000000000000000000000000000000000000000000000000000000000090869060040161373e565b600060405180830381600087803b1580156123b057600080fd5b505af1158015611807573d6000803e3d6000fd5b6123d3828262ffffff1661217b565b60408051808201825262ffffff8681168083526001600160a01b03878116602085018181526000805460018101825581805296517f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5639097018054925162ffffff1990931697909616969096176301000000600160b81b031916630100000091909316029190911790925592519092917f5bda283959296af86b20c8f512b98b871cd5499f4f8482eda1ce584662cb709a91a350505050565b600080600080600080600080888060200190518101906124ab9190612dd2565b97509750975097509750975097509750919395975091939597565b60606124d28383610df5565b156124de575081610d46565b611e178383610c81565b606081516001600160401b038111801561250157600080fd5b5060405190808252806020026020018201604052801561252b578160200160208202803683370190505b50905060005b825181101561263c57600083828151811061254857fe5b60200260200101519050806001600160a01b03166370a08231306040518263ffffffff1660e01b815260040161257e9190613715565b60206040518083038186803b15801561259657600080fd5b505afa1580156125aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125ce91906131a1565b8383815181106125da57fe5b60200260200101818152505060008383815181106125f457fe5b60200260200101511115612633576126338584848151811061261257fe5b6020026020010151836001600160a01b03166126599092919063ffffffff16565b50600101612531565b5092915050565b600081806020019051810190610d469190613119565b6106088363a9059cbb60e01b8484604051602401611f33929190613874565b60606126cd826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166127079092919063ffffffff16565b80519091501561060857808060200190518101906126eb919061304c565b6106085760405162461bcd60e51b81526004016105ff90613955565b6060612716848460008561271e565b949350505050565b6060824710156127405760405162461bcd60e51b81526004016105ff906138f5565b612749856127df565b6127655760405162461bcd60e51b81526004016105ff90613945565b60006060866001600160a01b031685876040516127829190613709565b60006040518083038185875af1925050503d80600081146127bf576040519150601f19603f3d011682016040523d82523d6000602084013e6127c4565b606091505b50915091506127d48282866127e5565b979650505050505050565b3b151590565b606083156127f4575081611e17565b8251156128045782518084602001fd5b8160405162461bcd60e51b81526004016105ff91906138e4565b604080518082019091526000808252602082015290565b604080516101a08101825260008082526020820181905291810182905260608101829052906080820190815260006020820181905260408201819052606082018190526080820181905260a0820181905260c0820181905260e082018190526101009091015290565b604080516101a081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052906101008201908152600060208201819052604082018190526060820181905260809091015290565b604080516101a081018252600080825260208201819052918101829052906060820190815260006020820181905260408201819052606082018190526080820181905260a0820181905260c0820181905260e0820181905261010082018190526101209091015290565b8035610d4681613b27565b8051610d4681613b27565b8051610d4681613b3b565b60008083601f8401126129a457600080fd5b5081356001600160401b038111156129bb57600080fd5b602083019150836001820283011115610c7a57600080fd5b600082601f8301126129e457600080fd5b81356129f76129f282613a24565b6139fe565b91508082526020830160208301858383011115612a1357600080fd5b612a1e838284613ae5565b50505092915050565b600082601f830112612a3857600080fd5b8151612a466129f282613a24565b91508082526020830160208301858383011115612a6257600080fd5b612a1e838284613af1565b8051610d4681613b44565b60006101a08284031215612a8b57600080fd5b612a966101a06139fe565b90506000612aa48484612d72565b8252506020612ab584848301612d93565b6020830152506040612ac984828501612d93565b6040830152506060612add84828501612a6d565b6060830152506080612af184828501612d67565b60808301525060a0612b0584828501612d67565b60a08301525060c0612b1984828501612d67565b60c08301525060e0612b2d84828501612d67565b60e083015250610100612b428482850161297c565b61010083015250610120612b588482850161297c565b61012083015250610140612b6e8482850161297c565b61014083015250610160612b8484828501612987565b61016083015250610180612b9a84828501612987565b6101808301525092915050565b60006101a08284031215612bba57600080fd5b612bc56101a06139fe565b90506000612bd38484612d72565b8252506020612be484848301612d72565b6020830152506040612bf884828501612d93565b6040830152506060612c0c8482850161297c565b6060830152506080612c2084828501612a6d565b60808301525060a0612c3484828501612d67565b60a08301525060c0612c4884828501612d67565b60c08301525060e0612c5c84828501612d67565b60e083015250610100612b4284828501612d67565b60006101a08284031215612c8457600080fd5b612c8f6101a06139fe565b90506000612c9d848461297c565b8252506020612cae8484830161297c565b6020830152506040612cc284828501612d88565b6040830152506060612cd684828501612d67565b6060830152506080612cea84828501612d67565b60808301525060a0612cfe84828501612d67565b60a08301525060c0612d1284828501612d9e565b60c08301525060e0612d2684828501612d9e565b60e083015250610100612d3b84828501612a6d565b61010083015250610120612d5184828501612987565b61012083015250610140612b6e84828501612987565b8051610d4681613b51565b8051610d4681613b5a565b8035610d4681613b63565b8051610d4681613b63565b8051610d4681613b6c565b8051610d4681613b75565b8051610d4681613b7e565b600060208284031215612dc657600080fd5b6000612716848461297c565b600080600080600080600080610100898b031215612def57600080fd5b6000612dfb8b8b61297c565b9850506020612e0c8b828c01612d72565b9750506040612e1d8b828c0161297c565b9650506060612e2e8b828c01612d67565b9550506080612e3f8b828c01612d67565b94505060a0612e508b828c01612d93565b93505060c0612e618b828c01612987565b92505060e0612e728b828c01612d67565b9150509295985092959890939650565b60008060008060008060008060008060006101608c8e031215612ea457600080fd5b6000612eb08e8e61297c565b9b50506020612ec18e828f01612d72565b9a50506040612ed28e828f0161297c565b9950506060612ee38e828f01612d67565b9850506080612ef48e828f01612d67565b97505060a0612f058e828f01612d93565b96505060c0612f168e828f01612987565b95505060e0612f278e828f01612d67565b945050610100612f398e828f01612d67565b935050610120612f4b8e828f01612d93565b925050610140612f5d8e828f01612d93565b9150509295989b509295989b9093969950565b600080600060608486031215612f8557600080fd5b6000612f91868661297c565b9350506020612fa286828701612d93565b9250506040612fb386828701612d88565b9150509250925092565b60008060008060008060a08789031215612fd657600080fd5b6000612fe28989612971565b9650506020612ff389828a01612971565b955050604061300489828a01612d7d565b945050606061301589828a01612d7d565b93505060808701356001600160401b0381111561303157600080fd5b61303d89828a01612992565b92509250509295509295509295565b60006020828403121561305e57600080fd5b60006127168484612987565b60006020828403121561307c57600080fd5b81356001600160401b0381111561309257600080fd5b612716848285016129d3565b60006101a082840312156130b157600080fd5b60006127168484612a78565b60006101a082840312156130d057600080fd5b60006127168484612ba7565b60006101a082840312156130ef57600080fd5b60006127168484612c71565b60006020828403121561310d57600080fd5b60006127168484612d67565b60006020828403121561312b57600080fd5b60006127168484612d72565b6000806040838503121561314a57600080fd5b60006131568585612d72565b925050602061316785828601612d67565b9150509250929050565b6000806040838503121561318457600080fd5b60006131908585612d72565b925050602061316785828601612d88565b6000602082840312156131b357600080fd5b60006127168484612d88565b600080604083850312156131d257600080fd5b60006131de8585612d88565b92505060208301516001600160401b038111156131fa57600080fd5b61316785828601612a27565b6000806040838503121561321957600080fd5b60006131568585612d88565b60006020828403121561323757600080fd5b60006127168484612d93565b60006020828403121561325557600080fd5b60006127168484612da9565b600061326d83836132b0565b505060200190565b6000613281838361368b565b505060400190565b600061328183836136af565b600061326d83836136ee565b6132aa81613abe565b82525050565b6132aa81613a63565b60006132c482613a51565b6132ce8185613a55565b93506132d983613a4b565b8060005b838110156133075781516132f18882613261565b97506132fc83613a4b565b9250506001016132dd565b509495945050505050565b600061331d82613a51565b6133278185613a55565b935061333283613a4b565b8060005b8381101561330757815161334a8882613275565b975061335583613a4b565b925050600101613336565b600061336b82613a51565b6133758185613a55565b935061338083613a4b565b8060005b838110156133075781516133988882613289565b97506133a383613a4b565b925050600101613384565b60006133b982613a51565b6133c38185613a55565b93506133ce83613a4b565b8060005b838110156133075781516133e68882613295565b97506133f183613a4b565b9250506001016133d2565b6132aa81613a6e565b6132aa81613a73565b600061341982613a51565b6134238185613a5e565b9350613433818560208601613af1565b9290920192915050565b600061344882613a51565b6134528185613a55565b9350613462818560208601613af1565b61346b81613b1d565b9093019392505050565b6000613482602683613a55565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f8152651c8818d85b1b60d21b602082015260400192915050565b60006134ca601a83613a55565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b6000613503602683613a55565b7f7265636569766543616c6c46726f6d5661756c743a20496e76616c69642061638152651d1a5bdb925960d21b602082015260400192915050565b600061354b602183613a55565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b600061358e601183613a55565b70141c9a58d9481b9bdd081cd95d1d1b1959607a1b815260200192915050565b60006135bb601d83613a55565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000815260200192915050565b60006135f4602a83613a55565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e8152691bdd081cdd58d8d9595960b21b602082015260400192915050565b6000613640603683613a55565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f81527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b602082015260400192915050565b8051604083019061369c84826136dc565b50602082015161149860208501826132b0565b805160408301906136c084826132b0565b5060208201516114986020850182613700565b6132aa81613a80565b6132aa81613a98565b6132aa81613acf565b6132aa81613aa0565b6132aa81613ada565b6132aa81613aa3565b6000611e17828461340e565b60208101610d4682846132b0565b6040810161373182856132b0565b611e1760208301846132b0565b6040810161374c82856132b0565b611e1760208301846136e5565b6101008101613768828b6132b0565b613775602083018a6136dc565b61378260408301896132b0565b61378f60608301886136d3565b61379c60808301876136d3565b6137a960a0830186613700565b6137b660c08301856133fc565b6137c360e08301846136d3565b9998505050505050505050565b61016081016137df828e6132b0565b6137ec602083018d6136dc565b6137f9604083018c6132b0565b613806606083018b6136d3565b613813608083018a6136d3565b61382060a0830189613700565b61382d60c08301886133fc565b61383a60e08301876136d3565b6138486101008301866136d3565b613856610120830185613700565b613864610140830184613700565b9c9b505050505050505050505050565b6040810161388282856132b0565b611e1760208301846136ee565b604080825281016138a081856132b9565b9050818103602083015261271681846133ae565b60208082528101611e178184613312565b60208082528101611e178184613360565b60208101610d468284613405565b60208082528101611e17818461343d565b60208082528101610d4681613475565b60208082528101610d46816134bd565b60208082528101610d46816134f6565b60208082528101610d468161353e565b60208082528101610d4681613581565b60208082528101610d46816135ae565b60208082528101610d46816135e7565b60208082528101610d4681613633565b60208101610d4682846136dc565b6040810161399182856136dc565b611e1760208301846136d3565b6040810161388282856136dc565b60208101610d4682846136ee565b6040810161373182856136ee565b60208101610d4682846136f7565b606081016139e482866136f7565b6139f160208301856132a1565b61271660408301846136ee565b6040518181016001600160401b0381118282101715613a1c57600080fd5b604052919050565b60006001600160401b03821115613a3a57600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b919050565b6000610d4682613a8c565b151590565b6001600160e01b03191690565b6001600160801b031690565b6001600160a01b031690565b62ffffff1690565b90565b63ffffffff1690565b6001600160401b031690565b60ff1690565b6000610d46826000610d4682613a63565b6000610d4682613a98565b6000610d4682613aa3565b82818337506000910152565b60005b83811015613b0c578181015183820152602001613af4565b838111156114985750506000910152565b601f01601f191690565b613b3081613a63565b811461019357600080fd5b613b3081613a6e565b6002811061019357600080fd5b613b3081613a80565b613b3081613a98565b613b3081613aa0565b613b3081613aa3565b613b3081613aac565b613b3081613ab856fea164736f6c634300060c000a", - "sourceMap": "1230:18396:132:-:0;;;1766:362;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;1886:82:132;;;;;;;;1978:143;;;;;1230:18396;;5:134:-1;83:13;;101:33;83:13;101:33;:::i;:::-;68:71;;;;:::o;146:399::-;;;278:2;266:9;257:7;253:23;249:32;246:2;;;294:1;291;284:12;246:2;329:1;346:64;402:7;382:9;346:64;:::i;:::-;336:74;;308:108;447:2;465:64;521:7;512:6;501:9;497:22;465:64;:::i;:::-;455:74;;426:109;240:305;;;;;:::o;552:91::-;;-1:-1;;;;;712:54;;614:24;695:76::o;778:117::-;847:24;865:5;847:24;:::i;:::-;840:5;837:35;827:2;;886:1;883;876:12;827:2;821:74;:::o;:::-;1230:18396:132;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b506004361061007d5760003560e01c8063b382cdcd1161005b578063b382cdcd146100cb578063e5c23a97146100eb578063ecd658b4146100fe578063f4c1032a146101065761007d565b80630d83304c146100825780634ddf47d4146100a057806380daddb8146100b5575b600080fd5b61008a61011b565b60405161009791906138b4565b60405180910390f35b6100b36100ae36600461306a565b610193565b005b6100bd610196565b60405161009792919061388f565b6100de6100d9366004612fbd565b61050f565b60405161009791906138d6565b6100b36100f936600461306a565b61053a565b6100bd61060d565b61010e610613565b60405161009791906138c5565b60606000805480602002602001604051908101604052809291908181526020016000905b8282101561018a576000848152602090819020604080518082019091529084015462ffffff81168252630100000090046001600160a01b03168183015282526001909201910161013f565b50505050905090565b50565b60608060606101a3610613565b8051909150806001600160401b03811180156101be57600080fd5b506040519080825280602002602001820160405280156101e8578160200160208202803683370190505b509350806001600160401b038111801561020157600080fd5b5060405190808252806020026020018201604052801561022b578160200160208202803683370190505b50925060005b818110156102c05761024161281e565b83828151811061024d57fe5b6020026020010151905060008061026c83600001518460200151610683565b915091508188858151811061027d57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050808785815181106102aa57fe5b6020908102919091010152505050600101610231565b5060008054905b818110156103f3576102d7612835565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663782f5cb36000848154811061031357fe5b6000918252602090912001546040516001600160e01b031960e084901b1681526103459162ffffff1690600401613975565b6101a06040518083038186803b15801561035e57600080fd5b505afa158015610372573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061039691906130bd565b90508061018001516103a857506103eb565b6000806103c3836101200151846020015162ffffff16610683565b909250905080156103e7576103d88983610c81565b98506103e48882610d4c565b97505b5050505b6001016102c7565b50606060005b828110156104f857600080828154811061040f57fe5b600091825260209091200154630100000090046001600160a01b031690506104378382610df5565b1561044257506104f0565b61044c8382610c81565b92506000816001600160a01b03166370a08231306040518263ffffffff1660e01b815260040161047c9190613715565b60206040518083038186803b15801561049457600080fd5b505afa1580156104a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104cc91906131a1565b905080156104ed576104de8983610c81565b98506104ea8882610d4c565b97505b50505b6001016103f9565b506105038686610e4b565b95509550505050509091565b7fb382cdcdbd920ddd5cea8c35269cf1a93503df07a561581b76664c03c351b58b9695505050505050565b600060608280602001905181019061055291906131bf565b90925090508161056a576105658161108b565b610608565b600182141561057c57610565816112ed565b600282141561058e576105658161149e565b60038214156105a05761056581611686565b60048214156105b2576105658161180f565b60058214156105c4576105658161191b565b60068214156105d557610565611a07565b60078214156105e75761056581611a63565b60405162461bcd60e51b81526004016105ff90613915565b60405180910390fd5b505050565b60608091565b60606001805480602002602001604051908101604052809291908181526020016000905b8282101561018a57600084815260209081902060408051808201909152908401546001600160a01b0381168252600160a01b900463ffffffff1681830152825260019092019101610637565b60008060008490506000816001600160a01b031663360454c56040518163ffffffff1660e01b815260040160206040518083038186803b1580156106c657600080fd5b505afa1580156106da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106fe9190612db4565b90506000826001600160a01b031663bde4c3cb876040518263ffffffff1660e01b815260040161072e91906139c8565b602060405180830381600087803b15801561074857600080fd5b505af115801561075c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061078091906131a1565b90506000826001600160a01b031663fb7056b7836040518263ffffffff1660e01b81526004016107b091906139ac565b60206040518083038186803b1580156107c857600080fd5b505afa1580156107dc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061080091906130fb565b90506000816001600160801b03161161082b5760405162461bcd60e51b81526004016105ff90613935565b61083361289e565b60405163d3ceafb960e01b81526001600160a01b0386169063d3ceafb99061085f9086906004016139ac565b6101a06040518083038186803b15801561087857600080fd5b505afa15801561088c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108b091906130dc565b90506000856001600160a01b031663becef6078a6040518263ffffffff1660e01b81526004016108e091906139c8565b60206040518083038186803b1580156108f857600080fd5b505afa15801561090c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061093091906131a1565b905081608001516001600160801b0316836001600160801b03161115801561095a57508161012001515b15610b0c57602082015160405163e55ced3160e01b81526000916001600160a01b0388169163e55ced3191610994918991906004016139ba565b60206040518083038186803b1580156109ac57600080fd5b505afa1580156109c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109e491906131a1565b905082602001519850610af2866001600160a01b0316633e7e86696040518163ffffffff1660e01b815260040160206040518083038186803b158015610a2957600080fd5b505afa158015610a3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a619190613243565b60ff16600a0a610aec85602001516001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015610aa757600080fd5b505afa158015610abb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610adf9190613243565b859060ff16600a0a611ddd565b90611e1e565b975080881115610b00578097505b50505050505050610c7a565b81606001516001600160801b0316836001600160801b03161015610b365781606001519250610b5c565b81608001516001600160801b0316836001600160801b03161115610b5c57816080015192505b856001600160a01b0316636f307dc36040518163ffffffff1660e01b815260040160206040518083038186803b158015610b9557600080fd5b505afa158015610ba9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bcd9190612db4565b97506000856001600160a01b031663e55ced31868b6040518363ffffffff1660e01b8152600401610bff9291906139ba565b60206040518083038186803b158015610c1757600080fd5b505afa158015610c2b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c4f91906131a1565b9050610c64826001600160801b038616611e1e565b975080881115610c72578097505b505050505050505b9250929050565b606082516001016001600160401b0381118015610c9d57600080fd5b50604051908082528060200260200182016040528015610cc7578160200160208202803683370190505b50905060005b8351811015610d1657838181518110610ce257fe5b6020026020010151828281518110610cf657fe5b6001600160a01b0390921660209283029190910190910152600101610ccd565b508181845181518110610d2557fe5b60200260200101906001600160a01b031690816001600160a01b0316815250505b92915050565b606082516001016001600160401b0381118015610d6857600080fd5b50604051908082528060200260200182016040528015610d92578160200160208202803683370190505b50905060005b8351811015610dd457838181518110610dad57fe5b6020026020010151828281518110610dc157fe5b6020908102919091010152600101610d98565b508181845181518110610de357fe5b60200260200101818152505092915050565b6000805b8351811015610e4157838181518110610e0e57fe5b60200260200101516001600160a01b0316836001600160a01b03161415610e39576001915050610d46565b600101610df9565b5060009392505050565b606080835160001415610e5d57610c7a565b6001805b8551811015610edd576000805b82811015610ec757878181518110610e8257fe5b60200260200101516001600160a01b0316888481518110610e9f57fe5b60200260200101516001600160a01b03161415610ebf5760019150610ec7565b600101610e6e565b5080610ed4576001909201915b50600101610e61565b50806001600160401b0381118015610ef457600080fd5b50604051908082528060200260200182016040528015610f1e578160200160208202803683370190505b509250806001600160401b0381118015610f3757600080fd5b50604051908082528060200260200182016040528015610f61578160200160208202803683370190505b5091506000805b8651811015611081576000805b8381101561100057868181518110610f8957fe5b60200260200101516001600160a01b0316898481518110610fa657fe5b60200260200101516001600160a01b03161415610ff85760019150878381518110610fcd57fe5b6020026020010151868281518110610fe157fe5b602002602001018181510191508181525050611000565b600101610f75565b50806110785787828151811061101257fe5b602002602001015186848151811061102657fe5b60200260200101906001600160a01b031690816001600160a01b03168152505086828151811061105257fe5b602002602001015185848151811061106657fe5b60209081029190910101526001909201915b50600101610f68565b5050509250929050565b60008061109783611e50565b915091506110a3612907565b6040516309cfb2ab60e41b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690639cfb2ab0906110ef908690600401613975565b6101a06040518083038186803b15801561110857600080fd5b505afa15801561111c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611140919061309e565b9050600081610100015190506000816001600160a01b03166375794a3c6040518163ffffffff1660e01b815260040160206040518083038186803b15801561118757600080fd5b505afa15801561119b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111bf9190613225565b6101208401519091506111fe6001600160a01b0382167f0000000000000000000000000000000000000000000000000000000000000000600019611e70565b6040516341ec4ef360e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906341ec4ef39061124c9089908990600401613983565b6040805180830381600087803b15801561126557600080fd5b505af1158015611279573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061129d9190613206565b506112d590506001600160a01b0382167f00000000000000000000000000000000000000000000000000000000000000006000611e70565b6112e484610100015183611f6a565b50505050505050565b6000806112f983612023565b91509150611305612835565b60405163782f5cb360e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063782f5cb390611351908690600401613975565b6101a06040518083038186803b15801561136a57600080fd5b505afa15801561137e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113a291906130bd565b6101408101519091506113df906001600160a01b03167f000000000000000000000000000000000000000000000000000000000000000084611e70565b60405163679a0be760e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063679a0be79061142d908690869060040161399e565b602060405180830381600087803b15801561144757600080fd5b505af115801561145b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061147f91906130fb565b50611498816101200151826020015162ffffff1661203a565b50505050565b6000806114aa83611e50565b915091506114b6612835565b60405163782f5cb360e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063782f5cb390611502908690600401613975565b6101a06040518083038186803b15801561151b57600080fd5b505afa15801561152f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061155391906130bd565b610140810151909150611592906001600160a01b03167f0000000000000000000000000000000000000000000000000000000000000000600019611e70565b604051639bb3db7160e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690639bb3db71906115e09086908690600401613983565b6040805180830381600087803b1580156115f957600080fd5b505af115801561160d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116319190613206565b505061014081015161166e906001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006000611e70565b611498816101200151826020015162ffffff1661203a565b600080600061169484612155565b60405163becef60760e01b8152929550909350915083906000906001600160a01b0383169063becef607906116cd9087906004016139c8565b60206040518083038186803b1580156116e557600080fd5b505afa1580156116f9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061171d91906131a1565b905060001983148061172e57508083145b156117a457604051637e2985f360e01b81526001600160a01b03831690637e2985f390611763908790339086906004016139d6565b600060405180830381600087803b15801561177d57600080fd5b505af1158015611791573d6000803e3d6000fd5b5050505061179f858561217b565b611807565b604051637e2985f360e01b81526001600160a01b03831690637e2985f3906117d4908790339088906004016139d6565b600060405180830381600087803b1580156117ee57600080fd5b505af1158015611802573d6000803e3d6000fd5b505050505b505050505050565b60008060008060008060008060008060006118298c6122fe565b9a509a509a509a509a509a509a509a509a509a509a506118498a8c612348565b6040516373947eb560e11b81526000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063e728fd6a906118ac908f908f908f908f908f908f908f908f908f908f908f906004016137d0565b602060405180830381600087803b1580156118c657600080fd5b505af11580156118da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118fe9190613119565b905061190c818b8e8e6123c4565b50505050505050505050505050565b6000806000806000806000806119308961248b565b9750975097509750975097509750975061194a8789612348565b6040516316da404760e11b81526000906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690632db4808e906119a7908c908c908c908c908c908c908c908c90600401613759565b602060405180830381600087803b1580156119c157600080fd5b505af11580156119d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119f99190613119565b905061180281888b8b6123c4565b6060611a1161011b565b805190915060609060005b81811015611a5857611a4e848281518110611a3357fe5b602002602001015160200151846124c690919063ffffffff16565b9250600101611a1c565b5061149833836124e8565b6000611a6e82612643565b9050611a78612835565b60405163782f5cb360e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063782f5cb390611ac4908590600401613975565b6101a06040518083038186803b158015611add57600080fd5b505afa158015611af1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b1591906130bd565b905080610180015115611bb8576040516362b4d47960e11b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c569a8f290611b6e908590600401613975565b600060405180830381600087803b158015611b8857600080fd5b505af1158015611b9c573d6000803e3d6000fd5b50505050611bb8816101200151826020015162ffffff16611f6a565b60008054905b81811015611dd6578362ffffff1660008281548110611bd957fe5b60009182526020909120015462ffffff161415611dce576000808281548110611bfe57fe5b9060005260206000200160000160039054906101000a90046001600160a01b031690506000808381548110611c2f57fe5b60009182526020822001546040516370a0823160e01b815263010000009091046001600160a01b0316925082906370a0823190611c70903090600401613715565b60206040518083038186803b158015611c8857600080fd5b505afa158015611c9c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cc091906131a1565b90508015611cdc57611cdc6001600160a01b0383163383612659565b60018503841015611d5d5760006001860381548110611cf757fe5b9060005260206000200160008581548110611d0e57fe5b6000918252602090912082549101805462ffffff191662ffffff9092169190911780825591546001600160a01b0363010000009182900416026301000000600160b81b03199092169190911790555b6000805480611d6857fe5b600082815260208120820160001990810180546001600160b81b03191690559091019091556040516001600160a01b0385169162ffffff8a16917f4b6290a4d500a7ab09c8b2deb76da47cc0f23e5940ed2f4fc482616d9ffad33a9190a3505050611dd6565b600101611bbe565b5050505050565b600082611dec57506000610d46565b82820282848281611df957fe5b0414611e175760405162461bcd60e51b81526004016105ff90613925565b9392505050565b6000808211611e3f5760405162461bcd60e51b81526004016105ff90613905565b818381611e4857fe5b049392505050565b60008082806020019051810190611e679190613137565b91509150915091565b801580611ef85750604051636eb1769f60e11b81526001600160a01b0384169063dd62ed3e90611ea69030908690600401613723565b60206040518083038186803b158015611ebe57600080fd5b505afa158015611ed2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ef691906131a1565b155b611f145760405162461bcd60e51b81526004016105ff90613965565b6106088363095ea7b360e01b8484604051602401611f33929190613874565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152612678565b6040805180820182526001600160a01b0384811680835263ffffffff85811660208501818152600180548082018255600091825296517fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6909701805492516001600160a01b0319909316979096169690961763ffffffff60a01b1916600160a01b91909316029190911790925592519092917f9064e110f4af8c3afc5cb815841bb7b2d7b4324b194a740015a249c929d3d0c791a35050565b60008082806020019051810190611e679190613171565b6040516331a9108f60e11b8152829030906001600160a01b03831690636352211e9061206a9086906004016139c8565b60206040518083038186803b15801561208257600080fd5b505afa158015612096573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120ba9190612db4565b6001600160a01b031614156120d3576105658383611f6a565b60006001826001600160a01b03166375794a3c6040518163ffffffff1660e01b815260040160206040518083038186803b15801561211057600080fd5b505afa158015612124573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121489190613225565b0390506114988482611f6a565b60008060008380602001905181019061216e9190612f70565b9250925092509193909250565b60015460005b818110156114985761219161281e565b6001828154811061219e57fe5b6000918252602091829020604080518082019091529101546001600160a01b038116825263ffffffff600160a01b909104811692820183905290925085161480156121fe5750846001600160a01b031681600001516001600160a01b0316145b156122f557600183038210156122855760018084038154811061221d57fe5b906000526020600020016001838154811061223457fe5b600091825260209091208254910180546001600160a01b0319166001600160a01b0390921691909117808255915463ffffffff600160a01b91829004160263ffffffff60a01b199092169190911790555b600180548061229057fe5b600082815260208120820160001990810180546001600160c01b031916905590910190915560405163ffffffff8616916001600160a01b038816917f0d5bcf97415af39ded48a8e8b4386016db43ed02862eefbd9e5b466c4329ad959190a350611498565b50600101612181565b60008060008060008060008060008060008b8060200190518101906123239190612e82565b9a509a509a509a509a509a509a509a509a509a509a5091939597999b90929496989a50565b60405163095ea7b360e01b81526001600160a01b0382169063095ea7b390612396907f000000000000000000000000000000000000000000000000000000000000000090869060040161373e565b600060405180830381600087803b1580156123b057600080fd5b505af1158015611807573d6000803e3d6000fd5b6123d3828262ffffff1661217b565b60408051808201825262ffffff8681168083526001600160a01b03878116602085018181526000805460018101825581805296517f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5639097018054925162ffffff1990931697909616969096176301000000600160b81b031916630100000091909316029190911790925592519092917f5bda283959296af86b20c8f512b98b871cd5499f4f8482eda1ce584662cb709a91a350505050565b600080600080600080600080888060200190518101906124ab9190612dd2565b97509750975097509750975097509750919395975091939597565b60606124d28383610df5565b156124de575081610d46565b611e178383610c81565b606081516001600160401b038111801561250157600080fd5b5060405190808252806020026020018201604052801561252b578160200160208202803683370190505b50905060005b825181101561263c57600083828151811061254857fe5b60200260200101519050806001600160a01b03166370a08231306040518263ffffffff1660e01b815260040161257e9190613715565b60206040518083038186803b15801561259657600080fd5b505afa1580156125aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125ce91906131a1565b8383815181106125da57fe5b60200260200101818152505060008383815181106125f457fe5b60200260200101511115612633576126338584848151811061261257fe5b6020026020010151836001600160a01b03166126599092919063ffffffff16565b50600101612531565b5092915050565b600081806020019051810190610d469190613119565b6106088363a9059cbb60e01b8484604051602401611f33929190613874565b60606126cd826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166127079092919063ffffffff16565b80519091501561060857808060200190518101906126eb919061304c565b6106085760405162461bcd60e51b81526004016105ff90613955565b6060612716848460008561271e565b949350505050565b6060824710156127405760405162461bcd60e51b81526004016105ff906138f5565b612749856127df565b6127655760405162461bcd60e51b81526004016105ff90613945565b60006060866001600160a01b031685876040516127829190613709565b60006040518083038185875af1925050503d80600081146127bf576040519150601f19603f3d011682016040523d82523d6000602084013e6127c4565b606091505b50915091506127d48282866127e5565b979650505050505050565b3b151590565b606083156127f4575081611e17565b8251156128045782518084602001fd5b8160405162461bcd60e51b81526004016105ff91906138e4565b604080518082019091526000808252602082015290565b604080516101a08101825260008082526020820181905291810182905260608101829052906080820190815260006020820181905260408201819052606082018190526080820181905260a0820181905260c0820181905260e082018190526101009091015290565b604080516101a081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052906101008201908152600060208201819052604082018190526060820181905260809091015290565b604080516101a081018252600080825260208201819052918101829052906060820190815260006020820181905260408201819052606082018190526080820181905260a0820181905260c0820181905260e0820181905261010082018190526101209091015290565b8035610d4681613b27565b8051610d4681613b27565b8051610d4681613b3b565b60008083601f8401126129a457600080fd5b5081356001600160401b038111156129bb57600080fd5b602083019150836001820283011115610c7a57600080fd5b600082601f8301126129e457600080fd5b81356129f76129f282613a24565b6139fe565b91508082526020830160208301858383011115612a1357600080fd5b612a1e838284613ae5565b50505092915050565b600082601f830112612a3857600080fd5b8151612a466129f282613a24565b91508082526020830160208301858383011115612a6257600080fd5b612a1e838284613af1565b8051610d4681613b44565b60006101a08284031215612a8b57600080fd5b612a966101a06139fe565b90506000612aa48484612d72565b8252506020612ab584848301612d93565b6020830152506040612ac984828501612d93565b6040830152506060612add84828501612a6d565b6060830152506080612af184828501612d67565b60808301525060a0612b0584828501612d67565b60a08301525060c0612b1984828501612d67565b60c08301525060e0612b2d84828501612d67565b60e083015250610100612b428482850161297c565b61010083015250610120612b588482850161297c565b61012083015250610140612b6e8482850161297c565b61014083015250610160612b8484828501612987565b61016083015250610180612b9a84828501612987565b6101808301525092915050565b60006101a08284031215612bba57600080fd5b612bc56101a06139fe565b90506000612bd38484612d72565b8252506020612be484848301612d72565b6020830152506040612bf884828501612d93565b6040830152506060612c0c8482850161297c565b6060830152506080612c2084828501612a6d565b60808301525060a0612c3484828501612d67565b60a08301525060c0612c4884828501612d67565b60c08301525060e0612c5c84828501612d67565b60e083015250610100612b4284828501612d67565b60006101a08284031215612c8457600080fd5b612c8f6101a06139fe565b90506000612c9d848461297c565b8252506020612cae8484830161297c565b6020830152506040612cc284828501612d88565b6040830152506060612cd684828501612d67565b6060830152506080612cea84828501612d67565b60808301525060a0612cfe84828501612d67565b60a08301525060c0612d1284828501612d9e565b60c08301525060e0612d2684828501612d9e565b60e083015250610100612d3b84828501612a6d565b61010083015250610120612d5184828501612987565b61012083015250610140612b6e84828501612987565b8051610d4681613b51565b8051610d4681613b5a565b8035610d4681613b63565b8051610d4681613b63565b8051610d4681613b6c565b8051610d4681613b75565b8051610d4681613b7e565b600060208284031215612dc657600080fd5b6000612716848461297c565b600080600080600080600080610100898b031215612def57600080fd5b6000612dfb8b8b61297c565b9850506020612e0c8b828c01612d72565b9750506040612e1d8b828c0161297c565b9650506060612e2e8b828c01612d67565b9550506080612e3f8b828c01612d67565b94505060a0612e508b828c01612d93565b93505060c0612e618b828c01612987565b92505060e0612e728b828c01612d67565b9150509295985092959890939650565b60008060008060008060008060008060006101608c8e031215612ea457600080fd5b6000612eb08e8e61297c565b9b50506020612ec18e828f01612d72565b9a50506040612ed28e828f0161297c565b9950506060612ee38e828f01612d67565b9850506080612ef48e828f01612d67565b97505060a0612f058e828f01612d93565b96505060c0612f168e828f01612987565b95505060e0612f278e828f01612d67565b945050610100612f398e828f01612d67565b935050610120612f4b8e828f01612d93565b925050610140612f5d8e828f01612d93565b9150509295989b509295989b9093969950565b600080600060608486031215612f8557600080fd5b6000612f91868661297c565b9350506020612fa286828701612d93565b9250506040612fb386828701612d88565b9150509250925092565b60008060008060008060a08789031215612fd657600080fd5b6000612fe28989612971565b9650506020612ff389828a01612971565b955050604061300489828a01612d7d565b945050606061301589828a01612d7d565b93505060808701356001600160401b0381111561303157600080fd5b61303d89828a01612992565b92509250509295509295509295565b60006020828403121561305e57600080fd5b60006127168484612987565b60006020828403121561307c57600080fd5b81356001600160401b0381111561309257600080fd5b612716848285016129d3565b60006101a082840312156130b157600080fd5b60006127168484612a78565b60006101a082840312156130d057600080fd5b60006127168484612ba7565b60006101a082840312156130ef57600080fd5b60006127168484612c71565b60006020828403121561310d57600080fd5b60006127168484612d67565b60006020828403121561312b57600080fd5b60006127168484612d72565b6000806040838503121561314a57600080fd5b60006131568585612d72565b925050602061316785828601612d67565b9150509250929050565b6000806040838503121561318457600080fd5b60006131908585612d72565b925050602061316785828601612d88565b6000602082840312156131b357600080fd5b60006127168484612d88565b600080604083850312156131d257600080fd5b60006131de8585612d88565b92505060208301516001600160401b038111156131fa57600080fd5b61316785828601612a27565b6000806040838503121561321957600080fd5b60006131568585612d88565b60006020828403121561323757600080fd5b60006127168484612d93565b60006020828403121561325557600080fd5b60006127168484612da9565b600061326d83836132b0565b505060200190565b6000613281838361368b565b505060400190565b600061328183836136af565b600061326d83836136ee565b6132aa81613abe565b82525050565b6132aa81613a63565b60006132c482613a51565b6132ce8185613a55565b93506132d983613a4b565b8060005b838110156133075781516132f18882613261565b97506132fc83613a4b565b9250506001016132dd565b509495945050505050565b600061331d82613a51565b6133278185613a55565b935061333283613a4b565b8060005b8381101561330757815161334a8882613275565b975061335583613a4b565b925050600101613336565b600061336b82613a51565b6133758185613a55565b935061338083613a4b565b8060005b838110156133075781516133988882613289565b97506133a383613a4b565b925050600101613384565b60006133b982613a51565b6133c38185613a55565b93506133ce83613a4b565b8060005b838110156133075781516133e68882613295565b97506133f183613a4b565b9250506001016133d2565b6132aa81613a6e565b6132aa81613a73565b600061341982613a51565b6134238185613a5e565b9350613433818560208601613af1565b9290920192915050565b600061344882613a51565b6134528185613a55565b9350613462818560208601613af1565b61346b81613b1d565b9093019392505050565b6000613482602683613a55565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f8152651c8818d85b1b60d21b602082015260400192915050565b60006134ca601a83613a55565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b6000613503602683613a55565b7f7265636569766543616c6c46726f6d5661756c743a20496e76616c69642061638152651d1a5bdb925960d21b602082015260400192915050565b600061354b602183613a55565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b600061358e601183613a55565b70141c9a58d9481b9bdd081cd95d1d1b1959607a1b815260200192915050565b60006135bb601d83613a55565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000815260200192915050565b60006135f4602a83613a55565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e8152691bdd081cdd58d8d9595960b21b602082015260400192915050565b6000613640603683613a55565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f81527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b602082015260400192915050565b8051604083019061369c84826136dc565b50602082015161149860208501826132b0565b805160408301906136c084826132b0565b5060208201516114986020850182613700565b6132aa81613a80565b6132aa81613a98565b6132aa81613acf565b6132aa81613aa0565b6132aa81613ada565b6132aa81613aa3565b6000611e17828461340e565b60208101610d4682846132b0565b6040810161373182856132b0565b611e1760208301846132b0565b6040810161374c82856132b0565b611e1760208301846136e5565b6101008101613768828b6132b0565b613775602083018a6136dc565b61378260408301896132b0565b61378f60608301886136d3565b61379c60808301876136d3565b6137a960a0830186613700565b6137b660c08301856133fc565b6137c360e08301846136d3565b9998505050505050505050565b61016081016137df828e6132b0565b6137ec602083018d6136dc565b6137f9604083018c6132b0565b613806606083018b6136d3565b613813608083018a6136d3565b61382060a0830189613700565b61382d60c08301886133fc565b61383a60e08301876136d3565b6138486101008301866136d3565b613856610120830185613700565b613864610140830184613700565b9c9b505050505050505050505050565b6040810161388282856132b0565b611e1760208301846136ee565b604080825281016138a081856132b9565b9050818103602083015261271681846133ae565b60208082528101611e178184613312565b60208082528101611e178184613360565b60208101610d468284613405565b60208082528101611e17818461343d565b60208082528101610d4681613475565b60208082528101610d46816134bd565b60208082528101610d46816134f6565b60208082528101610d468161353e565b60208082528101610d4681613581565b60208082528101610d46816135ae565b60208082528101610d46816135e7565b60208082528101610d4681613633565b60208101610d4682846136dc565b6040810161399182856136dc565b611e1760208301846136d3565b6040810161388282856136dc565b60208101610d4682846136ee565b6040810161373182856136ee565b60208101610d4682846136f7565b606081016139e482866136f7565b6139f160208301856132a1565b61271660408301846136ee565b6040518181016001600160401b0381118282101715613a1c57600080fd5b604052919050565b60006001600160401b03821115613a3a57600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b919050565b6000610d4682613a8c565b151590565b6001600160e01b03191690565b6001600160801b031690565b6001600160a01b031690565b62ffffff1690565b90565b63ffffffff1690565b6001600160401b031690565b60ff1690565b6000610d46826000610d4682613a63565b6000610d4682613a98565b6000610d4682613aa3565b82818337506000910152565b60005b83811015613b0c578181015183820152602001613af4565b838111156114985750506000910152565b601f01601f191690565b613b3081613a63565b811461019357600080fd5b613b3081613a6e565b6002811061019357600080fd5b613b3081613a80565b613b3081613a98565b613b3081613aa0565b613b3081613aa3565b613b3081613aac565b613b3081613ab856fea164736f6c634300060c000a", - "sourceMap": "1230:18396:132:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18581:101;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2237:48;;;;;;:::i;:::-;;:::i;:::-;;13627:2358;;;:::i;:::-;;;;;;;;:::i;19365:259::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;2413:1155::-;;;;;;:::i;:::-;;:::i;13032:176::-;;;:::i;18792:132::-;;;:::i;:::-;;;;;;;:::i;18581:101::-;18631:20;18670:5;18663:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;18663:12:132;;;;;;;;;;;;;;;;;;;;;;18581:101;:::o;2237:48::-;;:::o;13627:2358::-;13706:24;13732:25;13798:39;13840:20;:18;:20::i;:::-;13895:22;;13798:62;;-1:-1:-1;13895:22:132;-1:-1:-1;;;;;13937:29:132;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13937:29:132;;13927:39;;14001:14;-1:-1:-1;;;;;13987:29:132;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13987:29:132;;13976:40;;14031:9;14026:389;14046:14;14042:1;:18;14026:389;;;14081:36;;:::i;:::-;14120:15;14136:1;14120:18;;;;;;;;;;;;;;14081:57;;14154:22;14178:23;14205:114;14243:14;:22;;;14283:14;:22;;;14205:20;:114::i;:::-;14153:166;;;;14347:14;14334:7;14342:1;14334:10;;;;;;;;;;;;;:27;-1:-1:-1;;;;;14334:27:132;;;-1:-1:-1;;;;;14334:27:132;;;;;14389:15;14375:8;14384:1;14375:11;;;;;;;;;;;;;;;;;:29;-1:-1:-1;;;14062:3:132;;14026:389;;;-1:-1:-1;14449:19:132;14471:12;;;14493:670;14513:11;14509:1;:15;14493:670;;;14545:41;;:::i;:::-;14589:27;-1:-1:-1;;;;;14589:33:132;;14640:5;14646:1;14640:8;;;;;;;;;;;;;;;;;:15;14589:80;;-1:-1:-1;;;;;;14589:80:132;;;;;;;;;14640:15;;;14589:80;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14545:124;;14762:4;:12;;;14757:60;;14794:8;;;14757:60;14832:22;14856:23;14883:94;14921:4;:12;;;14951:4;:12;;;14883:94;;:20;:94::i;:::-;14831:146;;-1:-1:-1;14831:146:132;-1:-1:-1;14996:19:132;;14992:161;;15045:31;:7;15061:14;15045:15;:31::i;:::-;15035:41;-1:-1:-1;15105:33:132;:8;15122:15;15105:16;:33::i;:::-;15094:44;;14992:161;14493:670;;;;14526:3;;14493:670;;;;15224:37;15276:9;15271:648;15291:11;15287:1;:15;15271:648;;;15323:16;15342:5;15348:1;15342:8;;;;;;;;;;;;;;;;;:17;;;;-1:-1:-1;;;;;15342:17:132;;-1:-1:-1;15445:39:132;:20;15342:17;15445:29;:39::i;:::-;15441:86;;;15504:8;;;15441:86;15644:38;:20;15673:8;15644:28;:38::i;:::-;15621:61;;15697:15;15721:8;-1:-1:-1;;;;;15715:25:132;;15749:4;15715:40;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15697:58;-1:-1:-1;15774:11:132;;15770:139;;15815:25;:7;15831:8;15815:15;:25::i;:::-;15805:35;-1:-1:-1;15869:25:132;:8;15886:7;15869:16;:25::i;:::-;15858:36;;15770:139;15271:648;;;15304:3;;15271:648;;;;15936:42;15960:7;15969:8;15936:23;:42::i;:::-;15929:49;;;;;;;;13627:2358;;:::o;19365:259::-;19550:66;19365:259;;;;;;;;:::o;2413:1155::-;2498:16;2516:23;2554:11;2543:41;;;;;;;;;;;;:::i;:::-;2497:87;;-1:-1:-1;2497:87:132;-1:-1:-1;2599:40:132;2595:967;;2655:31;2675:10;2655:19;:31::i;:::-;2595:967;;;2727:23;2707:8;:44;2703:859;;;2767:35;2791:10;2767:23;:35::i;2703:859::-;2843:22;2823:8;:43;2819:743;;;2882:34;2905:10;2882:22;:34::i;2819:743::-;2957:13;2937:8;:34;2933:629;;;2987:25;3001:10;2987:13;:25::i;2933:629::-;3053:32;3033:8;:53;3029:533;;;3102:44;3135:10;3102:32;:44::i;3029:533::-;3187:28;3167:8;:49;3163:399;;;3232:40;3261:10;3232:28;:40::i;3163:399::-;3313:17;3293:8;:38;3289:273;;;3347:19;:17;:19::i;3289:273::-;3407:18;3387:8;:39;3383:179;;;3442:30;3461:10;3442:18;:30::i;3383:179::-;3503:48;;-1:-1:-1;;;3503:48:132;;;;;;;:::i;:::-;;;;;;;;3383:179;2413:1155;;;:::o;13032:176::-;13108:24;13134:25;13032:176;:::o;18792:132::-;18843:40;18902:15;18895:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;18895:22:132;;;;-1:-1:-1;;;18895:22:132;;;;;;;;;;;;;;;;;;16304:2124;16402:14;16418:15;16449:41;16519:8;16449:79;;16538:35;16612:15;-1:-1:-1;;;;;16612:31:132;;:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16538:117;;16665:14;16682:15;-1:-1:-1;;;;;16682:34:132;;16717:8;16682:44;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16665:61;;16736:19;16758:12;-1:-1:-1;;;;;16758:27:132;;16786:6;16758:35;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16736:57;;16826:1;16812:11;-1:-1:-1;;;;;16812:15:132;;16804:45;;;;-1:-1:-1;;;16804:45:132;;;;;;;:::i;:::-;16860:51;;:::i;:::-;16914:59;;-1:-1:-1;;;16914:59:132;;-1:-1:-1;;;;;16914:29:132;;;;;:59;;16957:6;;16914:59;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16860:113;;16983:20;17006:15;-1:-1:-1;;;;;17006:28:132;;17035:8;17006:38;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16983:61;;17176:10;:23;;;-1:-1:-1;;;;;17161:38:132;:11;-1:-1:-1;;;;;17161:38:132;;;:69;;;;;17203:10;:27;;;17161:69;17157:622;;;17346:23;;;;17279:104;;-1:-1:-1;;;17279:104:132;;17246:30;;-1:-1:-1;;;;;17279:25:132;;;;;:104;;17322:6;;17346:23;17279:104;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17246:137;;17407:10;:23;;;17398:32;;17455:157;17565:12;-1:-1:-1;;;;;17565:26:132;;:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17557:37;;17553:2;:41;17455:72;17490:10;:23;;;-1:-1:-1;;;;;17484:39:132;;:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17455:12;;17476:50;;17472:2;:54;17455:16;:72::i;:::-;:76;;:157::i;:::-;17445:167;;17641:22;17631:7;:32;17627:103;;;17693:22;17683:32;;17627:103;17744:24;;;;;;;;;17157:622;17914:10;:22;;;-1:-1:-1;;;;;17900:36:132;:11;-1:-1:-1;;;;;17900:36:132;;17896:214;;;17966:10;:22;;;17952:36;;17896:214;;;18023:10;:23;;;-1:-1:-1;;;;;18009:37:132;:11;-1:-1:-1;;;;;18009:37:132;;18005:105;;;18076:10;:23;;;18062:37;;18005:105;18129:15;-1:-1:-1;;;;;18129:26:132;;:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18120:37;;18167:27;18197:12;-1:-1:-1;;;;;18197:25:132;;18223:6;18231;18197:41;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18167:71;-1:-1:-1;18258:29:132;:12;-1:-1:-1;;;;;18258:29:132;;:16;:29::i;:::-;18248:39;;18312:19;18302:7;:29;18298:89;;;18357:19;18347:29;;18298:89;18397:24;;;;;;;16304:2124;;;;;;:::o;1668:374:354:-;1776:27;1846:5;:12;1861:1;1846:16;-1:-1:-1;;;;;1832:31:354;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1832:31:354;;1819:44;;1878:9;1873:88;1893:5;:12;1889:1;:16;1873:88;;;1942:5;1948:1;1942:8;;;;;;;;;;;;;;1926:10;1937:1;1926:13;;;;;;;;-1:-1:-1;;;;;1926:24:354;;;:13;;;;;;;;;;;:24;1907:3;;1873:88;;;;1997:10;1970;1981:5;:12;1970:24;;;;;;;;;;;;;:37;-1:-1:-1;;;;;1970:37:354;;;-1:-1:-1;;;;;1970:37:354;;;;;1668:374;;;;;:::o;::363:-;1776:27;1846:5;:12;1861:1;1846:16;-1:-1:-1;;;;;1832:31:363;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1832:31:363;;1819:44;;1878:9;1873:88;1893:5;:12;1889:1;:16;1873:88;;;1942:5;1948:1;1942:8;;;;;;;;;;;;;;1926:10;1937:1;1926:13;;;;;;;;;;;;;;;;;:24;1907:3;;1873:88;;;;1997:10;1970;1981:5;:12;1970:24;;;;;;;;;;;;;:37;;;;;1668:374;;;;:::o;2489:299:354:-;2595:17;2633:9;2628:132;2648:5;:12;2644:1;:16;2628:132;;;2696:5;2702:1;2696:8;;;;;;;;;;;;;;-1:-1:-1;;;;;2685:19:354;:7;-1:-1:-1;;;;;2685:19:354;;2681:69;;;2731:4;2724:11;;;;;2681:69;2662:3;;2628:132;;;-1:-1:-1;2776:5:354;;2489:299;-1:-1:-1;;;2489:299:354:o;749:1574:355:-;888:34;924:35;979:10;:17;1000:1;979:22;975:99;;;1017:46;;975:99;1115:1;;1126:361;1150:10;:17;1146:1;:21;1126:361;;;1188:13;1220:9;1215:179;1235:1;1231;:5;1215:179;;;1282:10;1293:1;1282:13;;;;;;;;;;;;;;-1:-1:-1;;;;;1265:30:355;:10;1276:1;1265:13;;;;;;;;;;;;;;-1:-1:-1;;;;;1265:30:355;;1261:119;;;1330:4;1319:15;;1356:5;;1261:119;1238:3;;1215:179;;;;1412:8;1407:70;;1440:22;;;;;1407:70;-1:-1:-1;1169:3:355;;1126:361;;;;1531:20;-1:-1:-1;;;;;1517:35:355;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1517:35:355;;1497:55;;1597:20;-1:-1:-1;;;;;1583:35:355;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1583:35:355;;1562:56;;1628:28;1671:9;1666:594;1686:10;:17;1682:1;:21;1666:594;;;1724:13;1756:9;1751:268;1771:20;1767:1;:24;1751:268;;;1837:17;1855:1;1837:20;;;;;;;;;;;;;;-1:-1:-1;;;;;1820:37:355;:10;1831:1;1820:13;;;;;;;;;;;;;;-1:-1:-1;;;;;1820:37:355;;1816:189;;;1892:4;1881:15;;1944:11;1956:1;1944:14;;;;;;;;;;;;;;1919:18;1938:1;1919:21;;;;;;;;;;;;;:39;;;;;;;;;;;1981:5;;1816:189;1793:3;;1751:268;;;;2037:8;2032:218;;2107:10;2118:1;2107:13;;;;;;;;;;;;;;2065:17;2083:20;2065:39;;;;;;;;;;;;;:55;-1:-1:-1;;;;;2065:55:355;;;-1:-1:-1;;;;;2065:55:355;;;;;2181:11;2193:1;2181:14;;;;;;;;;;;;;;2138:18;2157:20;2138:40;;;;;;;;;;;;;;;;;:57;2213:22;;;;;2032:218;-1:-1:-1;1705:3:355;;1666:594;;;;2270:46;;749:1574;;;;;:::o;3653:939:132:-;3727:14;3743:13;3760:42;3790:11;3760:29;:42::i;:::-;3726:76;;;;3813;;:::i;:::-;3892:63;;-1:-1:-1;;;3892:63:132;;-1:-1:-1;;;;;3892:44:132;:54;;;;:63;;3947:7;;3892:63;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3813:142;;3966:41;4036:8;:16;;;3966:87;;4063:18;4084:15;-1:-1:-1;;;;;4084:27:132;;:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4152:17;;;;4063:50;;-1:-1:-1;4180:133:132;-1:-1:-1;;;;;4180:25:132;;4227:44;-1:-1:-1;;4180:25:132;:133::i;:::-;4324:64;;-1:-1:-1;;;4324:64:132;;-1:-1:-1;;;;;4324:44:132;:48;;;;:64;;4373:7;;4382:5;;4324:64;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;4441:83:132;;-1:-1:-1;;;;;;4441:25:132;;4475:44;4522:1;4441:25;:83::i;:::-;4535:50;4555:8;:16;;;4573:11;4535:19;:50::i;:::-;3653:939;;;;;;;:::o;4694:467::-;4772:13;4787:14;4805:46;4839:11;4805:33;:46::i;:::-;4771:80;;;;4862:41;;:::i;:::-;4906;;-1:-1:-1;;;4906:41:132;;-1:-1:-1;;;;;4906:27:132;:33;;;;:41;;4940:6;;4906:41;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4964:13;;;;4862:85;;-1:-1:-1;4958:78:132;;-1:-1:-1;;;;;4958:32:132;4999:27;5029:6;4958:32;:78::i;:::-;5047:55;;-1:-1:-1;;;5047:55:132;;-1:-1:-1;;;;;5047:27:132;:39;;;;:55;;5087:6;;5095;;5047:55;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;5113:41;5127:4;:12;;;5141:4;:12;;;5113:41;;:13;:41::i;:::-;4694:467;;;;:::o;5242:557::-;5319:13;5334;5351:45;5384:11;5351:32;:45::i;:::-;5318:78;;;;5407:41;;:::i;:::-;5451;;-1:-1:-1;;;5451:41:132;;-1:-1:-1;;;;;5451:27:132;:33;;;;:41;;5485:6;;5451:41;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5509:13;;;;5407:85;;-1:-1:-1;5503:89:132;;-1:-1:-1;;;;;5503:32:132;5544:27;-1:-1:-1;;5503:32:132;:89::i;:::-;5603:53;;-1:-1:-1;;;5603:53:132;;-1:-1:-1;;;;;5603:27:132;:38;;;;:53;;5642:6;;5650:5;;5603:53;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;5673:13:132;;;;5667:73;;-1:-1:-1;;;;;5667:32:132;5708:27;5738:1;5667:32;:73::i;:::-;5751:41;5765:4;:12;;;5779:4;:12;;;5751:41;;:13;:41::i;5858:607::-;5926:15;5943:14;5959:13;5976:36;6000:11;5976:23;:36::i;:::-;6134:37;;-1:-1:-1;;;6134:37:132;;5925:87;;-1:-1:-1;5925:87:132;;-1:-1:-1;5925:87:132;-1:-1:-1;5925:87:132;;6023:41;;-1:-1:-1;;;;;6134:28:132;;;;;:37;;5925:87;;6134:37;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6111:60;;-1:-1:-1;;6186:5:132;:26;:51;;;;6225:12;6216:5;:21;6186:51;6182:277;;;6253:58;;-1:-1:-1;;;6253:58:132;;-1:-1:-1;;;;;6253:23:132;;;;;:58;;6277:7;;6286:10;;6298:12;;6253:58;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6326:40;6349:7;6358;6326:22;:40::i;:::-;6182:277;;;6397:51;;-1:-1:-1;;;6397:51:132;;-1:-1:-1;;;;;6397:23:132;;;;;:51;;6421:7;;6430:10;;6442:5;;6397:51;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6182:277;5858:607;;;;;;:::o;6536:899::-;6636:15;6665:14;6693:16;6723:11;6748;6773:16;6803:17;6834:15;6863:14;6891:15;6920;6948:55;6991:11;6948:42;:55::i;:::-;6622:381;;;;;;;;;;;;;;;;;;;;;;7014:33;7030:7;7039;7014:15;:33::i;:::-;7074:291;;-1:-1:-1;;;7074:291:132;;7058:13;;-1:-1:-1;;;;;7074:27:132;:49;;;;:291;;7137:7;;7158;;7179:8;;7201:3;;7218;;7235:9;;7258:12;;7284:7;;7305:6;;7325:8;;7347;;7074:291;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7058:307;;7376:52;7393:6;7401:8;7411:7;7420;7376:16;:52::i;:::-;6536:899;;;;;;;;;;;;;:::o;7502:733::-;7598:15;7627:14;7655:16;7685:11;7710;7735:16;7765:17;7796:13;7822:51;7861:11;7822:38;:51::i;:::-;7584:289;;;;;;;;;;;;;;;;7884:33;7900:7;7909;7884:15;:33::i;:::-;7944:221;;-1:-1:-1;;;7944:221:132;;7928:13;;-1:-1:-1;;;;;7944:27:132;:45;;;;:221;;8003:7;;8024;;8045:8;;8067:3;;8084;;8101:9;;8124:12;;8150:5;;7944:221;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7928:237;;8176:52;8193:6;8201:8;8211:7;8220;8176:16;:52::i;8300:471::-;8347:19;8369:10;:8;:10::i;:::-;8536:12;;8347:32;;-1:-1:-1;8467:37:132;;8514:19;8558:139;8578:11;8574:1;:15;8558:139;;;8633:53;8668:5;8674:1;8668:8;;;;;;;;;;;;;;:17;;;8633:20;:34;;:53;;;;:::i;:::-;8610:76;-1:-1:-1;8591:3:132;;8558:139;;;;8707:57;8731:10;8743:20;8707:23;:57::i;8826:1330::-;8898:13;8914:41;8943:11;8914:28;:41::i;:::-;8898:57;;8966:41;;:::i;:::-;9010;;-1:-1:-1;;;9010:41:132;;-1:-1:-1;;;;;9010:27:132;:33;;;;:41;;9044:6;;9010:41;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8966:85;;9141:4;:12;;;9137:221;;;9169:42;;-1:-1:-1;;;9169:42:132;;-1:-1:-1;;;;;9169:27:132;:34;;;;:42;;9204:6;;9169:42;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9300:47;9320:4;:12;;;9334:4;:12;;;9300:47;;:19;:47::i;:::-;9368:19;9390:12;;;9412:738;9432:11;9428:1;:15;9412:738;;;9487:6;9468:25;;:5;9474:1;9468:8;;;;;;;;;;;;;;;;;:15;;;:25;9464:676;;;9590:20;9613:5;9619:1;9613:8;;;;;;;;;;;;;;;:17;;;;;;;;;;-1:-1:-1;;;;;9613:17:132;9590:40;;9649:22;9680:5;9686:1;9680:8;;;;;;;;;;;;;;;;:17;9734:41;;-1:-1:-1;;;9734:41:132;;9680:17;;;;-1:-1:-1;;;;;9680:17:132;;-1:-1:-1;9680:17:132;;9734:26;;:41;;9769:4;;9734:41;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9716:59;-1:-1:-1;9797:11:132;;9793:108;;9832:50;-1:-1:-1;;;;;9832:29:132;;9862:10;9874:7;9832:29;:50::i;:::-;9941:1;9927:11;:15;9923:1;:19;9919:99;;;9977:5;9997:1;9983:11;:15;9977:22;;;;;;;;;;;;;;;9966:5;9972:1;9966:8;;;;;;;;;;;;;;;;:33;;:8;;:33;;-1:-1:-1;;9966:33:132;;;;;;;;;;;;;;-1:-1:-1;;;;;9966:33:132;;;;;;;-1:-1:-1;;;;;;9966:33:132;;;;;;;;;9919:99;10035:5;:11;;;;;;;;;;;;;;;;-1:-1:-1;;10035:11:132;;;;;-1:-1:-1;;;;;;10035:11:132;;;;;;;;;10069:33;;-1:-1:-1;;;;;10069:33:132;;;10035:11;10069:33;;;;;10035:11;10069:33;10120:5;;;;;9464:676;9445:3;;9412:738;;;;8826:1330;;;;:::o;3538:215:442:-;3596:7;3619:6;3615:20;;-1:-1:-1;3634:1:442;3627:8;;3615:20;3657:5;;;3661:1;3657;:5;:1;3680:5;;;;;:10;3672:56;;;;-1:-1:-1;;;3672:56:442;;;;;;;:::i;:::-;3745:1;3538:215;-1:-1:-1;;;3538:215:442:o;4217:150::-;4275:7;4306:1;4302;:5;4294:44;;;;-1:-1:-1;;;4294:44:442;;;;;;;:::i;:::-;4359:1;4355;:5;;;;;;;4217:150;-1:-1:-1;;;4217:150:442:o;629:218:131:-;741:18;761:14;809:11;798:42;;;;;;;;;;;;:::i;:::-;791:49;;;;629:218;;;:::o;1348:613:450:-;1713:10;;;1712:62;;-1:-1:-1;1729:39:450;;-1:-1:-1;;;1729:39:450;;-1:-1:-1;;;;;1729:15:450;;;;;:39;;1753:4;;1760:7;;1729:39;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:44;1712:62;1704:150;;;;-1:-1:-1;;;1704:150:450;;;;;;;:::i;:::-;1864:90;1884:5;1914:22;;;1938:7;1947:5;1891:62;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;1891:62:450;;;;;;;;;;;;;;-1:-1:-1;;;;;1891:62:450;-1:-1:-1;;;;;;1891:62:450;;;;;;;;;;1864:19;:90::i;10242:219:132:-;10345:54;;;;;;;;-1:-1:-1;;;;;10345:54:132;;;;;;;;;;;;;;;;10324:15;:76;;;;;;;-1:-1:-1;10324:76:132;;;;;;;;;;;;;-1:-1:-1;;;;;;10324:76:132;;;;;;;;;;;-1:-1:-1;;;;10324:76:132;-1:-1:-1;;;10324:76:132;;;;;;;;;;;;10415:39;;10345:54;;;10415:39;;;10242:219;;:::o;927::131:-;1043:14;1059:15;1108:11;1097:42;;;;;;;;;;;;:::i;11413:590:132:-;11665:37;;-1:-1:-1;;;11665:37:132;;11563:8;;11714:4;;-1:-1:-1;;;;;11665:23:132;;;;;:37;;11689:12;;11665:37;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;11665:54:132;;11661:336;;;11735:43;11755:8;11765:12;11735:19;:43::i;11661:336::-;11884:14;11933:1;11901:15;-1:-1:-1;;;;;11901:27:132;;:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:33;11884:50;;11948:38;11968:8;11978:7;11948:19;:38::i;1512:282:131:-;1631:16;1661:15;1690:14;1747:11;1736:51;;;;;;;;;;;;:::i;:::-;1729:58;;;;;;1512:282;;;;;:::o;10554:673:132:-;10671:15;:22;10639:29;10703:518;10723:21;10719:1;:25;10703:518;;;10765:36;;:::i;:::-;10804:15;10820:1;10804:18;;;;;;;;;;;;;;;;;10765:57;;;;;;;;;10804:18;;10765:57;-1:-1:-1;;;;;10765:57:132;;;;;-1:-1:-1;;;10765:57:132;;;;;;;;;;;;;-1:-1:-1;10840:34:132;;;:72;;;;;10904:8;-1:-1:-1;;;;;10878:34:132;:14;:22;;;-1:-1:-1;;;;;10878:34:132;;10840:72;10836:375;;;10964:1;10940:21;:25;10936:1;:29;10932:139;;;11010:15;11050:1;11026:21;:25;11010:42;;;;;;;;;;;;;;;10989:15;11005:1;10989:18;;;;;;;;;;;;;;;;:63;;:18;;:63;;-1:-1:-1;;;;;;10989:63:132;-1:-1:-1;;;;;10989:63:132;;;;;;;;;;;;;-1:-1:-1;;;10989:63:132;;;;;;-1:-1:-1;;;;10989:63:132;;;;;;;;;10932:139;11088:15;:21;;;;;;;;;;;;;;;;-1:-1:-1;;11088:21:132;;;;;-1:-1:-1;;;;;;11088:21:132;;;;;;;;;11132:41;;11088:21;11132:41;;;-1:-1:-1;;;;;11132:41:132;;;;;11088:21;11132:41;11191:5;;;10836:375;-1:-1:-1;10746:3:132;;10703:518;;1883:900:131;2021:16;2051:15;2080:17;2111:12;2137;2163:17;2194:18;2226:16;2256:15;2285:16;2315;2403:11;2375:401;;;;;;;;;;;;:::i;:::-;2356:420;;;;;;;;;;;;;;;;;;;;;;1883:900;;;;;;;;;;;;;:::o;12576:210:132:-;12654:125;;-1:-1:-1;;;12654:125:132;;-1:-1:-1;;;;;12654:43:132;;;;;:125;;12719:27;;12761:8;;12654:125;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12084:313;12236:42;12259:8;12269;12236:42;;:22;:42::i;:::-;12300:44;;;;;;;;;;;;;;;-1:-1:-1;;;;;12300:44:132;;;;;;;;;-1:-1:-1;12289:56:132;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;12289:56:132;;;;;;;;;;;-1:-1:-1;;;;;;12289:56:132;;;;;;;;;;;;;;12361:29;;12300:44;;;12361:29;;;12084:313;;;;:::o;2868:542:131:-;3002:16;3032:15;3061:17;3092:12;3118;3144:17;3175:18;3207:14;3293:11;3265:138;;;;;;;;;;;;:::i;:::-;3246:157;;;;;;;;;;;;;;;;2868:542;;;;;;;;;:::o;2136:277:354:-;2250:27;2297;2306:5;2313:10;2297:8;:27::i;:::-;2293:70;;;-1:-1:-1;2347:5:354;2340:12;;2293:70;2380:26;2388:5;2395:10;2380:7;:26::i;3539:585:355:-;3649:36;3737:7;:14;-1:-1:-1;;;;;3723:29:355;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3723:29:355;;3701:51;;3767:9;3762:319;3782:7;:14;3778:1;:18;3762:319;;;3817:19;3845:7;3853:1;3845:10;;;;;;;;;;;;;;3817:39;;3895:13;-1:-1:-1;;;;;3895:23:355;;3927:4;3895:38;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3870:19;3890:1;3870:22;;;;;;;;;;;;;:63;;;;;3976:1;3951:19;3971:1;3951:22;;;;;;;;;;;;;;:26;3947:124;;;3997:59;4024:7;4033:19;4053:1;4033:22;;;;;;;;;;;;;;3997:13;-1:-1:-1;;;;;3997:26:355;;;:59;;;;;:::i;:::-;-1:-1:-1;3798:3:355;;3762:319;;;;3539:585;;;;:::o;3485:188:131:-;3596:14;3644:11;3633:33;;;;;;;;;;;;:::i;704:175:450:-;786:86;806:5;836:23;;;861:2;865:5;813:58;;;;;;;;;:::i;2967:751::-;3386:23;3412:69;3440:4;3412:69;;;;;;;;;;;;;;;;;3420:5;-1:-1:-1;;;;;3412:27:450;;;:69;;;;;:::i;:::-;3495:17;;3386:95;;-1:-1:-1;3495:21:450;3491:221;;3635:10;3624:30;;;;;;;;;;;;:::i;:::-;3616:85;;;;-1:-1:-1;;;3616:85:450;;;;;;;:::i;3581:193:451:-;3684:12;3715:52;3737:6;3745:4;3751:1;3754:12;3715:21;:52::i;:::-;3708:59;3581:193;-1:-1:-1;;;;3581:193:451:o;4608:523::-;4735:12;4792:5;4767:21;:30;;4759:81;;;;-1:-1:-1;;;4759:81:451;;;;;;;:::i;:::-;4858:18;4869:6;4858:10;:18::i;:::-;4850:60;;;;-1:-1:-1;;;4850:60:451;;;;;;;:::i;:::-;4981:12;4995:23;5022:6;-1:-1:-1;;;;;5022:11:451;5042:5;5050:4;5022:33;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4980:75;;;;5072:52;5090:7;5099:10;5111:12;5072:17;:52::i;:::-;5065:59;4608:523;-1:-1:-1;;;;;;;4608:523:451:o;726:413::-;1086:20;1124:8;;;726:413::o;7091:725::-;7206:12;7234:7;7230:580;;;-1:-1:-1;7264:10:451;7257:17;;7230:580;7375:17;;:21;7371:429;;7633:10;7627:17;7693:15;7680:10;7676:2;7672:19;7665:44;7582:145;7772:12;7765:20;;-1:-1:-1;;;7765:20:451;;;;;;;;:::i;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5:130::-;72:20;;97:33;72:20;97:33;:::i;142:134::-;220:13;;238:33;220:13;238:33;:::i;440:128::-;515:13;;533:30;515:13;533:30;:::i;589:336::-;;;703:3;696:4;688:6;684:17;680:27;670:2;;721:1;718;711:12;670:2;-1:-1;741:20;;-1:-1;;;;;770:30;;767:2;;;813:1;810;803:12;767:2;847:4;839:6;835:17;823:29;;898:3;890:4;882:6;878:17;868:8;864:32;861:41;858:2;;;915:1;912;905:12;934:440;;1035:3;1028:4;1020:6;1016:17;1012:27;1002:2;;1053:1;1050;1043:12;1002:2;1090:6;1077:20;1112:64;1127:48;1168:6;1127:48;:::i;:::-;1112:64;:::i;:::-;1103:73;;1196:6;1189:5;1182:21;1232:4;1224:6;1220:17;1265:4;1258:5;1254:16;1300:3;1291:6;1286:3;1282:16;1279:25;1276:2;;;1317:1;1314;1307:12;1276:2;1327:41;1361:6;1356:3;1351;1327:41;:::i;:::-;995:379;;;;;;;:::o;1383:442::-;;1495:3;1488:4;1480:6;1476:17;1472:27;1462:2;;1513:1;1510;1503:12;1462:2;1543:6;1537:13;1565:64;1580:48;1621:6;1580:48;:::i;1565:64::-;1556:73;;1649:6;1642:5;1635:21;1685:4;1677:6;1673:17;1718:4;1711:5;1707:16;1753:3;1744:6;1739:3;1735:16;1732:25;1729:2;;;1770:1;1767;1760:12;1729:2;1780:39;1812:6;1807:3;1802;1780:39;:::i;1833:174::-;1931:13;;1949:53;1931:13;1949:53;:::i;2418:2280::-;;2545:6;2533:9;2528:3;2524:19;2520:32;2517:2;;;2565:1;2562;2555:12;2517:2;2583:22;2598:6;2583:22;:::i;:::-;2574:31;-1:-1;2661:1;2693:59;2748:3;2728:9;2693:59;:::i;:::-;2668:85;;-1:-1;2819:2;2852:59;2907:3;2883:22;;;2852:59;:::i;:::-;2845:4;2838:5;2834:16;2827:85;2774:149;2976:2;3009:59;3064:3;3055:6;3044:9;3040:22;3009:59;:::i;:::-;3002:4;2995:5;2991:16;2984:85;2933:147;3135:2;3168:75;3239:3;3230:6;3219:9;3215:22;3168:75;:::i;:::-;3161:4;3154:5;3150:16;3143:101;3090:165;3311:3;3345:60;3401:3;3392:6;3381:9;3377:22;3345:60;:::i;:::-;3338:4;3331:5;3327:16;3320:86;3265:152;3468:3;3502:60;3558:3;3549:6;3538:9;3534:22;3502:60;:::i;:::-;3495:4;3488:5;3484:16;3477:86;3427:147;3623:3;3657:60;3713:3;3704:6;3693:9;3689:22;3657:60;:::i;:::-;3650:4;3643:5;3639:16;3632:86;3584:145;3778:3;3812:60;3868:3;3859:6;3848:9;3844:22;3812:60;:::i;:::-;3805:4;3798:5;3794:16;3787:86;3739:145;3937:3;3973:60;4029:3;4020:6;4009:9;4005:22;3973:60;:::i;:::-;3964:6;3957:5;3953:18;3946:88;3894:151;4099:3;4135:60;4191:3;4182:6;4171:9;4167:22;4135:60;:::i;:::-;4126:6;4119:5;4115:18;4108:88;4055:152;4259:3;4295:60;4351:3;4342:6;4331:9;4327:22;4295:60;:::i;:::-;4286:6;4279:5;4275:18;4268:88;4217:150;4425:3;4461:57;4514:3;4505:6;4494:9;4490:22;4461:57;:::i;:::-;4452:6;4445:5;4441:18;4434:85;4377:153;4583:3;4619:57;4672:3;4663:6;4652:9;4648:22;4619:57;:::i;:::-;4610:6;4603:5;4599:18;4592:85;4540:148;2511:2187;;;;:::o;4748:2267::-;;4871:6;4859:9;4854:3;4850:19;4846:32;4843:2;;;4891:1;4888;4881:12;4843:2;4909:22;4924:6;4909:22;:::i;:::-;4900:31;-1:-1;4983:1;5015:59;5070:3;5050:9;5015:59;:::i;:::-;4990:85;;-1:-1;5139:2;5172:59;5227:3;5203:22;;;5172:59;:::i;:::-;5165:4;5158:5;5154:16;5147:85;5096:147;5298:2;5331:59;5386:3;5377:6;5366:9;5362:22;5331:59;:::i;:::-;5324:4;5317:5;5313:16;5306:85;5253:149;5454:2;5487:60;5543:3;5534:6;5523:9;5519:22;5487:60;:::i;:::-;5480:4;5473:5;5469:16;5462:86;5412:147;5614:3;5648:75;5719:3;5710:6;5699:9;5695:22;5648:75;:::i;:::-;5641:4;5634:5;5630:16;5623:101;5569:166;5786:3;5820:60;5876:3;5867:6;5856:9;5852:22;5820:60;:::i;:::-;5813:4;5806:5;5802:16;5795:86;5745:147;5943:3;5977:60;6033:3;6024:6;6013:9;6009:22;5977:60;:::i;:::-;5970:4;5963:5;5959:16;5952:86;5902:147;6098:3;6132:60;6188:3;6179:6;6168:9;6164:22;6132:60;:::i;:::-;6125:4;6118:5;6114:16;6107:86;6059:145;6253:3;6289:60;6345:3;6336:6;6325:9;6321:22;6289:60;:::i;7069:2332::-;;7198:6;7186:9;7181:3;7177:19;7173:32;7170:2;;;7218:1;7215;7208:12;7170:2;7236:22;7251:6;7236:22;:::i;:::-;7227:31;-1:-1;7310:1;7342:60;7398:3;7378:9;7342:60;:::i;:::-;7317:86;;-1:-1;7472:2;7505:60;7561:3;7537:22;;;7505:60;:::i;:::-;7498:4;7491:5;7487:16;7480:86;7424:153;7633:2;7666:60;7722:3;7713:6;7702:9;7698:22;7666:60;:::i;:::-;7659:4;7652:5;7648:16;7641:86;7587:151;7795:2;7828:60;7884:3;7875:6;7864:9;7860:22;7828:60;:::i;:::-;7821:4;7814:5;7810:16;7803:86;7748:152;7958:3;7992:60;8048:3;8039:6;8028:9;8024:22;7992:60;:::i;:::-;7985:4;7978:5;7974:16;7967:86;7910:154;8121:3;8155:60;8211:3;8202:6;8191:9;8187:22;8155:60;:::i;:::-;8148:4;8141:5;8137:16;8130:86;8074:153;8286:3;8320:59;8375:3;8366:6;8355:9;8351:22;8320:59;:::i;:::-;8313:4;8306:5;8302:16;8295:85;8237:154;8445:3;8479:59;8534:3;8525:6;8514:9;8510:22;8479:59;:::i;:::-;8472:4;8465:5;8461:16;8454:85;8401:149;8610:3;8646:80;8722:3;8713:6;8702:9;8698:22;8646:80;:::i;:::-;8637:6;8630:5;8626:18;8619:108;8560:178;8800:3;8836:57;8889:3;8880:6;8869:9;8865:22;8836:57;:::i;:::-;8827:6;8820:5;8816:18;8809:85;8748:157;8968:3;9004:57;9057:3;9048:6;9037:9;9033:22;9004:57;:::i;9408:134::-;9486:13;;9504:33;9486:13;9504:33;:::i;9549:132::-;9626:13;;9644:32;9626:13;9644:32;:::i;9688:130::-;9755:20;;9780:33;9755:20;9780:33;:::i;9825:134::-;9903:13;;9921:33;9903:13;9921:33;:::i;9966:132::-;10043:13;;10061:32;10043:13;10061:32;:::i;10105:132::-;10182:13;;10200:32;10182:13;10200:32;:::i;10244:130::-;10320:13;;10338:31;10320:13;10338:31;:::i;10381:263::-;;10496:2;10484:9;10475:7;10471:23;10467:32;10464:2;;;10512:1;10509;10502:12;10464:2;10547:1;10564:64;10620:7;10600:9;10564:64;:::i;10651:1242::-;;;;;;;;;10896:3;10884:9;10875:7;10871:23;10867:33;10864:2;;;10913:1;10910;10903:12;10864:2;10948:1;10965:72;11029:7;11009:9;10965:72;:::i;:::-;10955:82;;10927:116;11074:2;11092:63;11147:7;11138:6;11127:9;11123:22;11092:63;:::i;:::-;11082:73;;11053:108;11192:2;11210:72;11274:7;11265:6;11254:9;11250:22;11210:72;:::i;:::-;11200:82;;11171:117;11319:2;11337:64;11393:7;11384:6;11373:9;11369:22;11337:64;:::i;:::-;11327:74;;11298:109;11438:3;11457:64;11513:7;11504:6;11493:9;11489:22;11457:64;:::i;:::-;11447:74;;11417:110;11558:3;11577:63;11632:7;11623:6;11612:9;11608:22;11577:63;:::i;:::-;11567:73;;11537:109;11677:3;11696:61;11749:7;11740:6;11729:9;11725:22;11696:61;:::i;:::-;11686:71;;11656:107;11794:3;11813:64;11869:7;11860:6;11849:9;11845:22;11813:64;:::i;:::-;11803:74;;11773:110;10858:1035;;;;;;;;;;;:::o;11900:1651::-;;;;;;;;;;;;12195:3;12183:9;12174:7;12170:23;12166:33;12163:2;;;12212:1;12209;12202:12;12163:2;12247:1;12264:72;12328:7;12308:9;12264:72;:::i;:::-;12254:82;;12226:116;12373:2;12391:63;12446:7;12437:6;12426:9;12422:22;12391:63;:::i;:::-;12381:73;;12352:108;12491:2;12509:72;12573:7;12564:6;12553:9;12549:22;12509:72;:::i;:::-;12499:82;;12470:117;12618:2;12636:64;12692:7;12683:6;12672:9;12668:22;12636:64;:::i;:::-;12626:74;;12597:109;12737:3;12756:64;12812:7;12803:6;12792:9;12788:22;12756:64;:::i;:::-;12746:74;;12716:110;12857:3;12876:63;12931:7;12922:6;12911:9;12907:22;12876:63;:::i;:::-;12866:73;;12836:109;12976:3;12995:61;13048:7;13039:6;13028:9;13024:22;12995:61;:::i;:::-;12985:71;;12955:107;13093:3;13112:64;13168:7;13159:6;13148:9;13144:22;13112:64;:::i;:::-;13102:74;;13072:110;13213:3;13232:64;13288:7;13279:6;13268:9;13264:22;13232:64;:::i;:::-;13222:74;;13192:110;13333:3;13352:63;13407:7;13398:6;13387:9;13383:22;13352:63;:::i;:::-;13342:73;;13312:109;13452:3;13472:63;13527:7;13518:6;13507:9;13503:22;13472:63;:::i;:::-;13461:74;;13431:110;12157:1394;;;;;;;;;;;;;;:::o;13558:549::-;;;;13714:2;13702:9;13693:7;13689:23;13685:32;13682:2;;;13730:1;13727;13720:12;13682:2;13765:1;13782:72;13846:7;13826:9;13782:72;:::i;:::-;13772:82;;13744:116;13891:2;13909:63;13964:7;13955:6;13944:9;13940:22;13909:63;:::i;:::-;13899:73;;13870:108;14009:2;14027:64;14083:7;14074:6;14063:9;14059:22;14027:64;:::i;:::-;14017:74;;13988:109;13676:431;;;;;:::o;14114:867::-;;;;;;;14305:3;14293:9;14284:7;14280:23;14276:33;14273:2;;;14322:1;14319;14312:12;14273:2;14357:1;14374:53;14419:7;14399:9;14374:53;:::i;:::-;14364:63;;14336:97;14464:2;14482:53;14527:7;14518:6;14507:9;14503:22;14482:53;:::i;:::-;14472:63;;14443:98;14572:2;14590:53;14635:7;14626:6;14615:9;14611:22;14590:53;:::i;:::-;14580:63;;14551:98;14680:2;14698:53;14743:7;14734:6;14723:9;14719:22;14698:53;:::i;:::-;14688:63;;14659:98;14816:3;14805:9;14801:19;14788:33;-1:-1;;;;;14833:6;14830:30;14827:2;;;14873:1;14870;14863:12;14827:2;14901:64;14957:7;14948:6;14937:9;14933:22;14901:64;:::i;:::-;14883:82;;;;14767:204;14267:714;;;;;;;;:::o;14988:257::-;;15100:2;15088:9;15079:7;15075:23;15071:32;15068:2;;;15116:1;15113;15106:12;15068:2;15151:1;15168:61;15221:7;15201:9;15168:61;:::i;15252:345::-;;15365:2;15353:9;15344:7;15340:23;15336:32;15333:2;;;15381:1;15378;15371:12;15333:2;15416:31;;-1:-1;;;;;15456:30;;15453:2;;;15499:1;15496;15489:12;15453:2;15519:62;15573:7;15564:6;15553:9;15549:22;15519:62;:::i;15604:318::-;;15746:3;15734:9;15725:7;15721:23;15717:33;15714:2;;;15763:1;15760;15753:12;15714:2;15798:1;15815:91;15898:7;15878:9;15815:91;:::i;15929:310::-;;16067:3;16055:9;16046:7;16042:23;16038:33;16035:2;;;16084:1;16081;16074:12;16035:2;16119:1;16136:87;16215:7;16195:9;16136:87;:::i;16246:322::-;;16390:3;16378:9;16369:7;16365:23;16361:33;16358:2;;;16407:1;16404;16397:12;16358:2;16442:1;16459:93;16544:7;16524:9;16459:93;:::i;16575:263::-;;16690:2;16678:9;16669:7;16665:23;16661:32;16658:2;;;16706:1;16703;16696:12;16658:2;16741:1;16758:64;16814:7;16794:9;16758:64;:::i;16845:261::-;;16959:2;16947:9;16938:7;16934:23;16930:32;16927:2;;;16975:1;16972;16965:12;16927:2;17010:1;17027:63;17082:7;17062:9;17027:63;:::i;17113:397::-;;;17244:2;17232:9;17223:7;17219:23;17215:32;17212:2;;;17260:1;17257;17250:12;17212:2;17295:1;17312:63;17367:7;17347:9;17312:63;:::i;:::-;17302:73;;17274:107;17412:2;17430:64;17486:7;17477:6;17466:9;17462:22;17430:64;:::i;:::-;17420:74;;17391:109;17206:304;;;;;:::o;17517:397::-;;;17648:2;17636:9;17627:7;17623:23;17619:32;17616:2;;;17664:1;17661;17654:12;17616:2;17699:1;17716:63;17771:7;17751:9;17716:63;:::i;:::-;17706:73;;17678:107;17816:2;17834:64;17890:7;17881:6;17870:9;17866:22;17834:64;:::i;17921:263::-;;18036:2;18024:9;18015:7;18011:23;18007:32;18004:2;;;18052:1;18049;18042:12;18004:2;18087:1;18104:64;18160:7;18140:9;18104:64;:::i;18191:496::-;;;18332:2;18320:9;18311:7;18307:23;18303:32;18300:2;;;18348:1;18345;18338:12;18300:2;18383:1;18400:64;18456:7;18436:9;18400:64;:::i;:::-;18390:74;;18362:108;18522:2;18511:9;18507:18;18501:25;-1:-1;;;;;18538:6;18535:30;18532:2;;;18578:1;18575;18568:12;18532:2;18598:73;18663:7;18654:6;18643:9;18639:22;18598:73;:::i;18694:399::-;;;18826:2;18814:9;18805:7;18801:23;18797:32;18794:2;;;18842:1;18839;18832:12;18794:2;18877:1;18894:64;18950:7;18930:9;18894:64;:::i;19100:261::-;;19214:2;19202:9;19193:7;19189:23;19185:32;19182:2;;;19230:1;19227;19220:12;19182:2;19265:1;19282:63;19337:7;19317:9;19282:63;:::i;19368:259::-;;19481:2;19469:9;19460:7;19456:23;19452:32;19449:2;;;19497:1;19494;19487:12;19449:2;19532:1;19549:62;19603:7;19583:9;19549:62;:::i;19635:173::-;;19722:46;19764:3;19756:6;19722:46;:::i;:::-;-1:-1;;19797:4;19788:14;;19715:93::o;19817:261::-;;19948:90;20034:3;20026:6;19948:90;:::i;:::-;-1:-1;;20067:4;20058:14;;19941:137::o;20087:301::-;;20238:110;20344:3;20336:6;20238:110;:::i;20397:173::-;;20484:46;20526:3;20518:6;20484:46;:::i;20578:142::-;20669:45;20708:5;20669:45;:::i;:::-;20664:3;20657:58;20651:69;;:::o;20727:103::-;20800:24;20818:5;20800:24;:::i;20988:690::-;;21133:54;21181:5;21133:54;:::i;:::-;21200:86;21279:6;21274:3;21200:86;:::i;:::-;21193:93;;21307:56;21357:5;21307:56;:::i;:::-;21383:7;21411:1;21396:260;21421:6;21418:1;21415:13;21396:260;;;21488:6;21482:13;21509:63;21568:3;21553:13;21509:63;:::i;:::-;21502:70;;21589:60;21642:6;21589:60;:::i;:::-;21579:70;-1:-1;;21443:1;21436:9;21396:260;;;-1:-1;21669:3;;21112:566;-1:-1;;;;;21112:566::o;21803:866::-;;21992:76;22062:5;21992:76;:::i;:::-;22081:108;22182:6;22177:3;22081:108;:::i;:::-;22074:115;;22210:78;22282:5;22210:78;:::i;:::-;22308:7;22336:1;22321:326;22346:6;22343:1;22340:13;22321:326;;;22413:6;22407:13;22434:107;22537:3;22522:13;22434:107;:::i;:::-;22427:114;;22558:82;22633:6;22558:82;:::i;:::-;22548:92;-1:-1;;22368:1;22361:9;22321:326;;22814:946;;23023:86;23103:5;23023:86;:::i;:::-;23122:118;23233:6;23228:3;23122:118;:::i;:::-;23115:125;;23261:88;23343:5;23261:88;:::i;:::-;23369:7;23397:1;23382:356;23407:6;23404:1;23401:13;23382:356;;;23474:6;23468:13;23495:127;23618:3;23603:13;23495:127;:::i;:::-;23488:134;;23639:92;23724:6;23639:92;:::i;:::-;23629:102;-1:-1;;23429:1;23422:9;23382:356;;23799:690;;23944:54;23992:5;23944:54;:::i;:::-;24011:86;24090:6;24085:3;24011:86;:::i;:::-;24004:93;;24118:56;24168:5;24118:56;:::i;:::-;24194:7;24222:1;24207:260;24232:6;24229:1;24226:13;24207:260;;;24299:6;24293:13;24320:63;24379:3;24364:13;24320:63;:::i;:::-;24313:70;;24400:60;24453:6;24400:60;:::i;:::-;24390:70;-1:-1;;24254:1;24247:9;24207:260;;24497:104;24574:21;24589:5;24574:21;:::i;24608:110::-;24689:23;24706:5;24689:23;:::i;24725:356::-;;24853:38;24885:5;24853:38;:::i;:::-;24903:88;24984:6;24979:3;24903:88;:::i;:::-;24896:95;;24996:52;25041:6;25036:3;25029:4;25022:5;25018:16;24996:52;:::i;:::-;25060:16;;;;;24833:248;-1:-1;;24833:248::o;25088:347::-;;25200:39;25233:5;25200:39;:::i;:::-;25251:71;25315:6;25310:3;25251:71;:::i;:::-;25244:78;;25327:52;25372:6;25367:3;25360:4;25353:5;25349:16;25327:52;:::i;:::-;25400:29;25422:6;25400:29;:::i;:::-;25391:39;;;;25180:255;-1:-1;;;25180:255::o;25443:375::-;;25603:67;25667:2;25662:3;25603:67;:::i;:::-;25703:34;25683:55;;-1:-1;;;25767:2;25758:12;;25751:30;25809:2;25800:12;;25589:229;-1:-1;;25589:229::o;25827:326::-;;25987:67;26051:2;26046:3;25987:67;:::i;:::-;26087:28;26067:49;;26144:2;26135:12;;25973:180;-1:-1;;25973:180::o;26162:375::-;;26322:67;26386:2;26381:3;26322:67;:::i;:::-;26422:34;26402:55;;-1:-1;;;26486:2;26477:12;;26470:30;26528:2;26519:12;;26308:229;-1:-1;;26308:229::o;26546:370::-;;26706:67;26770:2;26765:3;26706:67;:::i;:::-;26806:34;26786:55;;-1:-1;;;26870:2;26861:12;;26854:25;26907:2;26898:12;;26692:224;-1:-1;;26692:224::o;26925:317::-;;27085:67;27149:2;27144:3;27085:67;:::i;:::-;-1:-1;;;27165:40;;27233:2;27224:12;;27071:171;-1:-1;;27071:171::o;27251:329::-;;27411:67;27475:2;27470:3;27411:67;:::i;:::-;27511:31;27491:52;;27571:2;27562:12;;27397:183;-1:-1;;27397:183::o;27589:379::-;;27749:67;27813:2;27808:3;27749:67;:::i;:::-;27849:34;27829:55;;-1:-1;;;27913:2;27904:12;;27897:34;27959:2;27950:12;;27735:233;-1:-1;;27735:233::o;27977:391::-;;28137:67;28201:2;28196:3;28137:67;:::i;:::-;28237:34;28217:55;;-1:-1;;;28301:2;28292:12;;28285:46;28359:2;28350:12;;28123:245;-1:-1;;28123:245::o;28487:464::-;28682:23;;28614:4;28605:14;;;28711:61;28609:3;28682:23;28711:61;:::i;:::-;28634:144;28855:4;28848:5;28844:16;28838:23;28867:63;28924:4;28919:3;28915:14;28901:12;28867:63;:::i;29089:484::-;29305:23;;29236:4;29227:14;;;29334:63;29231:3;29305:23;29334:63;:::i;:::-;29256:147;29479:4;29472:5;29468:16;29462:23;29491:61;29546:4;29541:3;29537:14;29523:12;29491:61;:::i;29580:113::-;29663:24;29681:5;29663:24;:::i;29700:100::-;29771:23;29788:5;29771:23;:::i;29924:124::-;30006:36;30036:5;30006:36;:::i;30055:103::-;30128:24;30146:5;30128:24;:::i;30285:124::-;30367:36;30397:5;30367:36;:::i;30416:100::-;30487:23;30504:5;30487:23;:::i;30640:271::-;;30793:93;30882:3;30873:6;30793:93;:::i;30918:222::-;31045:2;31030:18;;31059:71;31034:9;31103:6;31059:71;:::i;31147:333::-;31302:2;31287:18;;31316:71;31291:9;31360:6;31316:71;:::i;:::-;31398:72;31466:2;31455:9;31451:18;31442:6;31398:72;:::i;31487:331::-;31641:2;31626:18;;31655:71;31630:9;31699:6;31655:71;:::i;:::-;31737;31804:2;31793:9;31789:18;31780:6;31737:71;:::i;31825:984::-;32138:3;32123:19;;32153:71;32127:9;32197:6;32153:71;:::i;:::-;32235:70;32301:2;32290:9;32286:18;32277:6;32235:70;:::i;:::-;32316:72;32384:2;32373:9;32369:18;32360:6;32316:72;:::i;:::-;32399;32467:2;32456:9;32452:18;32443:6;32399:72;:::i;:::-;32482:73;32550:3;32539:9;32535:19;32526:6;32482:73;:::i;:::-;32566:71;32632:3;32621:9;32617:19;32608:6;32566:71;:::i;:::-;32648:67;32710:3;32699:9;32695:19;32686:6;32648:67;:::i;:::-;32726:73;32794:3;32783:9;32779:19;32770:6;32726:73;:::i;:::-;32109:700;;;;;;;;;;;:::o;32816:1314::-;33210:3;33195:19;;33225:71;33199:9;33269:6;33225:71;:::i;:::-;33307:70;33373:2;33362:9;33358:18;33349:6;33307:70;:::i;:::-;33388:72;33456:2;33445:9;33441:18;33432:6;33388:72;:::i;:::-;33471;33539:2;33528:9;33524:18;33515:6;33471:72;:::i;:::-;33554:73;33622:3;33611:9;33607:19;33598:6;33554:73;:::i;:::-;33638:71;33704:3;33693:9;33689:19;33680:6;33638:71;:::i;:::-;33720:67;33782:3;33771:9;33767:19;33758:6;33720:67;:::i;:::-;33798:73;33866:3;33855:9;33851:19;33842:6;33798:73;:::i;:::-;33882;33950:3;33939:9;33935:19;33926:6;33882:73;:::i;:::-;33966:71;34032:3;34021:9;34017:19;34008:6;33966:71;:::i;:::-;34048:72;34115:3;34104:9;34100:19;34090:7;34048:72;:::i;:::-;33181:949;;;;;;;;;;;;;;:::o;34137:333::-;34292:2;34277:18;;34306:71;34281:9;34350:6;34306:71;:::i;:::-;34388:72;34456:2;34445:9;34441:18;34432:6;34388:72;:::i;34477:629::-;34732:2;34746:47;;;34717:18;;34807:108;34717:18;34901:6;34807:108;:::i;:::-;34799:116;;34963:9;34957:4;34953:20;34948:2;34937:9;34933:18;34926:48;34988:108;35091:4;35082:6;34988:108;:::i;35113:458::-;35334:2;35348:47;;;35319:18;;35409:152;35319:18;35547:6;35409:152;:::i;35578:498::-;35819:2;35833:47;;;35804:18;;35894:172;35804:18;36052:6;35894:172;:::i;36083:218::-;36208:2;36193:18;;36222:69;36197:9;36264:6;36222:69;:::i;36308:310::-;36455:2;36469:47;;;36440:18;;36530:78;36440:18;36594:6;36530:78;:::i;36625:416::-;36825:2;36839:47;;;36810:18;;36900:131;36810:18;36900:131;:::i;37048:416::-;37248:2;37262:47;;;37233:18;;37323:131;37233:18;37323:131;:::i;37471:416::-;37671:2;37685:47;;;37656:18;;37746:131;37656:18;37746:131;:::i;37894:416::-;38094:2;38108:47;;;38079:18;;38169:131;38079:18;38169:131;:::i;38317:416::-;38517:2;38531:47;;;38502:18;;38592:131;38502:18;38592:131;:::i;38740:416::-;38940:2;38954:47;;;38925:18;;39015:131;38925:18;39015:131;:::i;39163:416::-;39363:2;39377:47;;;39348:18;;39438:131;39348:18;39438:131;:::i;39586:416::-;39786:2;39800:47;;;39771:18;;39861:131;39771:18;39861:131;:::i;40009:218::-;40134:2;40119:18;;40148:69;40123:9;40190:6;40148:69;:::i;40234:329::-;40387:2;40372:18;;40401:69;40376:9;40443:6;40401:69;:::i;:::-;40481:72;40549:2;40538:9;40534:18;40525:6;40481:72;:::i;40570:329::-;40723:2;40708:18;;40737:69;40712:9;40779:6;40737:69;:::i;40906:222::-;41033:2;41018:18;;41047:71;41022:9;41091:6;41047:71;:::i;41135:333::-;41290:2;41275:18;;41304:71;41279:9;41348:6;41304:71;:::i;41475:220::-;41601:2;41586:18;;41615:70;41590:9;41658:6;41615:70;:::i;41702:458::-;41892:2;41877:18;;41906:70;41881:9;41949:6;41906:70;:::i;:::-;41987:80;42063:2;42052:9;42048:18;42039:6;41987:80;:::i;:::-;42078:72;42146:2;42135:9;42131:18;42122:6;42078:72;:::i;42167:256::-;42229:2;42223:9;42255:17;;;-1:-1;;;;;42315:34;;42351:22;;;42312:62;42309:2;;;42387:1;42384;42377:12;42309:2;42403;42396:22;42207:216;;-1:-1;42207:216::o;42430:321::-;;-1:-1;;;;;42565:6;42562:30;42559:2;;;42605:1;42602;42595:12;42559:2;-1:-1;42736:4;42672;42649:17;;;;-1:-1;;42645:33;42726:15;;42496:255::o;42758:151::-;42882:4;42873:14;;42830:79::o;43444:137::-;43547:12;;43518:63::o;44846:178::-;44964:19;;;45013:4;45004:14;;44957:67::o;45648:144::-;45783:3;45761:31;-1:-1;45761:31::o;45972:91::-;;46034:24;46052:5;46034:24;:::i;46176:85::-;46242:13;46235:21;;46218:43::o;46268:144::-;-1:-1;;;;;;46329:78;;46312:100::o;46419:113::-;-1:-1;;;;;46481:46;;46464:68::o;46539:121::-;-1:-1;;;;;46601:54;;46584:76::o;46667:86::-;46739:8;46728:20;;46711:42::o;46760:72::-;46822:5;46805:27::o;46839:88::-;46911:10;46900:22;;46883:44::o;46934:96::-;-1:-1;;;;;46995:30;;46978:52::o;47037:81::-;47108:4;47097:16;;47080:38::o;47125:129::-;;47212:37;47243:5;47261:121;47340:37;47371:5;47340:37;:::i;47504:106::-;;47582:23;47599:5;47582:23;:::i;47617:106::-;;47695:23;47712:5;47695:23;:::i;47731:145::-;47812:6;47807:3;47802;47789:30;-1:-1;47868:1;47850:16;;47843:27;47782:94::o;47885:268::-;47950:1;47957:101;47971:6;47968:1;47965:13;47957:101;;;48038:11;;;48032:18;48019:11;;;48012:39;47993:2;47986:10;47957:101;;;48073:6;48070:1;48067:13;48064:2;;;-1:-1;;48138:1;48120:16;;48113:27;47934:219::o;48161:97::-;48249:2;48229:14;-1:-1;;48225:28;;48209:49::o;48266:117::-;48335:24;48353:5;48335:24;:::i;:::-;48328:5;48325:35;48315:2;;48374:1;48371;48364:12;48530:111;48596:21;48611:5;48596:21;:::i;48648:114::-;48737:1;48730:5;48727:12;48717:2;;48753:1;48750;48743:12;49001:117;49070:24;49088:5;49070:24;:::i;49125:115::-;49193:23;49210:5;49193:23;:::i;49247:117::-;49316:24;49334:5;49316:24;:::i;49371:115::-;49439:23;49456:5;49439:23;:::i;49493:115::-;49561:23;49578:5;49561:23;:::i;49615:113::-;49682:22;49698:5;49682:22;:::i", - "linkReferences": {}, - "immutableReferences": { - "33022": [ - { - "start": 729, - "length": 32 - }, - { - "start": 4892, - "length": 32 - }, - { - "start": 5050, - "length": 32 - }, - { - "start": 5110, - "length": 32 - }, - { - "start": 5325, - "length": 32 - }, - { - "start": 5483, - "length": 32 - }, - { - "start": 5545, - "length": 32 - }, - { - "start": 5704, - "length": 32 - }, - { - "start": 6243, - "length": 32 - }, - { - "start": 6500, - "length": 32 - }, - { - "start": 6799, - "length": 32 - }, - { - "start": 6969, - "length": 32 - }, - { - "start": 9068, - "length": 32 - } - ], - "33024": [ - { - "start": 4282, - "length": 32 - }, - { - "start": 4567, - "length": 32 - }, - { - "start": 4629, - "length": 32 - }, - { - "start": 4783, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "getDebtAssets()": "ecd658b4", - "getManagedAssets()": "80daddb8", - "getSales()": "0d83304c", - "getVoucherTokenIds()": "f4c1032a", - "init(bytes)": "4ddf47d4", - "onVNFTReceived(address,address,uint256,uint256,bytes)": "b382cdcd", - "receiveCallFromVault(bytes)": "e5c23a97" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_convertibleMarketcontract\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_initialConvertibleOfferingMarket\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint24\",\"name\":\"saleId\",\"type\":\"uint24\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"}],\"name\":\"SaleAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint24\",\"name\":\"saleId\",\"type\":\"uint24\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"}],\"name\":\"SaleRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voucher\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint32\",\"name\":\"tokenId\",\"type\":\"uint32\"}],\"name\":\"VoucherTokenIdAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voucher\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint32\",\"name\":\"tokenId\",\"type\":\"uint32\"}],\"name\":\"VoucherTokenIdRemoved\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"getDebtAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"assets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getManagedAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"assets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getSales\",\"outputs\":[{\"components\":[{\"internalType\":\"uint24\",\"name\":\"saleId\",\"type\":\"uint24\"},{\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"}],\"internalType\":\"struct SolvV2ConvertibleBuyerPositionLibBase1.Sale[]\",\"name\":\"sales_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getVoucherTokenIds\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"voucher\",\"type\":\"address\"},{\"internalType\":\"uint32\",\"name\":\"tokenId\",\"type\":\"uint32\"}],\"internalType\":\"struct SolvV2ConvertibleBuyerPositionLibBase1.VoucherTokenId[]\",\"name\":\"voucherTokenIds_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onVNFTReceived\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"selector_\",\"type\":\"bytes4\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"}],\"name\":\"receiveCallFromVault\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"getDebtAssets()\":{\"returns\":{\"amounts_\":\"Debt asset amounts\",\"assets_\":\"Debt assets\"}},\"getManagedAssets()\":{\"details\":\"There are 3 types of assets that contribute value to this position: 1. Held vouchers 2. Owned vouchers that are for sale on the marketplace 3. Unreconciled assets received from a sale on the marketplace\",\"returns\":{\"amounts_\":\"Managed asset amounts\",\"assets_\":\"Managed assets\"}},\"getSales()\":{\"returns\":{\"sales_\":\"The Sale[] var\"}},\"getVoucherTokenIds()\":{\"returns\":{\"voucherTokenIds_\":\"The VoucherTokenId[] var\"}},\"init(bytes)\":{\"details\":\"Nothing to initialize for this contract\"},\"onVNFTReceived(address,address,uint256,uint256,bytes)\":{\"details\":\"ERC-3525 spec: https://eips.ethereum.org/EIPS/eip-3525#erc-3525-token-receiverImplementation for vouchers: https://github.com/solv-finance/solv-v2-ivo/blob/main/vouchers/vnft-core/contracts/VNFTCoreV2.sol#L318\",\"returns\":{\"selector_\":\"`b382cdcd = onVNFTReceived(address,address,uint256,uint256,bytes)`\"}},\"receiveCallFromVault(bytes)\":{\"params\":{\"_actionData\":\"Encoded data to execute the action\"}}},\"title\":\"SolvV2ConvertibleBuyerPositionLib Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getDebtAssets()\":{\"notice\":\"Retrieves the debt assets (negative value) of the external position\"},\"getManagedAssets()\":{\"notice\":\"Retrieves the managed assets (positive value) of the external position\"},\"getSales()\":{\"notice\":\"Gets the Sale[] var\"},\"getVoucherTokenIds()\":{\"notice\":\"Gets the VoucherTokenId[] var\"},\"init(bytes)\":{\"notice\":\"Initializes the external position\"},\"onVNFTReceived(address,address,uint256,uint256,bytes)\":{\"notice\":\"Handles the receipt of a VNFT token type.\"},\"receiveCallFromVault(bytes)\":{\"notice\":\"Receives and executes a call from the Vault\"}},\"notice\":\"Library contract for Solv V2 Convertible Buyer positions\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/solv-v2-convertible-buyer/SolvV2ConvertibleBuyerPositionLib.sol\":\"SolvV2ConvertibleBuyerPositionLib\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/persistent/external-positions/solv-v2-convertible-buyer/SolvV2ConvertibleBuyerPositionLibBase1.sol\":{\"keccak256\":\"0x8f2209f92d7ed63f0c3759bc32f7dac32c7fe166e6a06d57ee10c9e955f554d3\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b21a997433ad99e503ba71dc5d5c8e619a2f384b080a5edc78185f3136064e48\",\"dweb:/ipfs/QmeaQgAVoU7SvcLAEaxB6b8op2s7AETzwXcd3YU41PpaAD\"]},\"contracts/release/extensions/external-position-manager/external-positions/solv-v2-convertible-buyer/ISolvV2ConvertibleBuyerPosition.sol\":{\"keccak256\":\"0xa37e1da2db28f16cdfe58b38ea90ce6a3dd23bdfd79f77742ab701f50539e2d3\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://0ab2ce7a04bbcbf20feb464168109040f450bfb8755dec1841f211aca5466af4\",\"dweb:/ipfs/QmeFN2ZoP6SNWCjeJWSuyscyKMPbkmXPhUK2J4RC8S93TJ\"]},\"contracts/release/extensions/external-position-manager/external-positions/solv-v2-convertible-buyer/SolvV2ConvertibleBuyerPositionDataDecoder.sol\":{\"keccak256\":\"0x04f15c6a705477a8176e220c9b877804975238a7f8259f967bbb83dc6bb4a682\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://da054a8d3d8103cc35a91a5be4d8c06018184fb0d5941ea61f4502671fc7e21c\",\"dweb:/ipfs/QmVGkG5jbs2jsjbVcyqMyL3CNGUswMTJPCaNHojjMc8iQ3\"]},\"contracts/release/extensions/external-position-manager/external-positions/solv-v2-convertible-buyer/SolvV2ConvertibleBuyerPositionLib.sol\":{\"keccak256\":\"0xb75e9004c83ec88a81d5cf9b87bccbf90aefe34876404d565ed8652596dd7384\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1c4676f6879f2f875373a124c60c97906efa459626606d42a7579f0ad9fc60bb\",\"dweb:/ipfs/QmZPRcndzJ5KLK3xEzYccNEpQTg27DYKNtFf7ueg7yvYC2\"]},\"contracts/release/interfaces/ISolvV2ConvertibleMarket.sol\":{\"keccak256\":\"0x946325023e36bdf0236bd290cecb41b561608f94070f94e112545ef6158057ea\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2825cb13b8339701c4bbf4ec10d4b5f3213a01887afe4e0a44962515fb1720f1\",\"dweb:/ipfs/QmPL6o3GbYr76hm3u1NZM5oJDDob8BPLDXWCTqbBBvTKSU\"]},\"contracts/release/interfaces/ISolvV2ConvertiblePool.sol\":{\"keccak256\":\"0x1943f59f09537f176ae398ae51184c9c69e8c366e74f2e7d2f02326c35e6fde7\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://cc239c228406fa50ec4f40a44af9438efdeb63338846a65d5864c61a643e037b\",\"dweb:/ipfs/QmZhYZoKUAPtksVygGhetvP6Yvu4UAsCpiHAqbPWLtpVJC\"]},\"contracts/release/interfaces/ISolvV2ConvertibleVoucher.sol\":{\"keccak256\":\"0xebec2ad1a5024a1958a558378dfde09cebe998609caa718f13b0088a0347a630\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://fa18447e3accb03306a9904d2d2247c8cadca34a9bc87ca585e6b0646f0814d7\",\"dweb:/ipfs/QmNyrXdUZqbYyDyEu6RyQXttD4mpETd6fFS1UiL2PVDnXf\"]},\"contracts/release/interfaces/ISolvV2InitialConvertibleOfferingMarket.sol\":{\"keccak256\":\"0xe34205d54ec639e2e3f8e0e2871984a6796424d903259857f1f11de260cf8abe\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://908f8d334df9ae2191787a8e53c78b1847bd936f2ce9d04115f5e9339c3e3934\",\"dweb:/ipfs/QmZzxE748Hb2Vosu7cwPmkb4EVpoqvS4RgHogLrvDgsnD3\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"contracts/release/utils/Uint256ArrayLib.sol\":{\"keccak256\":\"0x1627d0d32692b86c5dd3e74ebb8305fbf99a3c41d4b90e736077762cc80c1a31\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://54ff92ccd4bd685dda44c2520e3f52478168e909b400c3cc4076d37f5c2704ef\",\"dweb:/ipfs/QmYUxeaKfPwnUtP35i6JJ3ptsaDFEV6SD2o4VV8d5vBUZD\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_convertibleMarketcontract", - "type": "address" - }, - { - "internalType": "address", - "name": "_initialConvertibleOfferingMarket", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "uint24", - "name": "saleId", - "type": "uint24", - "indexed": true - }, - { - "internalType": "address", - "name": "currency", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "SaleAdded", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "uint24", - "name": "saleId", - "type": "uint24", - "indexed": true - }, - { - "internalType": "address", - "name": "currency", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "SaleRemoved", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "voucher", - "type": "address", - "indexed": true - }, - { - "internalType": "uint32", - "name": "tokenId", - "type": "uint32", - "indexed": true - } - ], - "type": "event", - "name": "VoucherTokenIdAdded", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "voucher", - "type": "address", - "indexed": true - }, - { - "internalType": "uint32", - "name": "tokenId", - "type": "uint32", - "indexed": true - } - ], - "type": "event", - "name": "VoucherTokenIdRemoved", - "anonymous": false - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "getDebtAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "assets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "amounts_", - "type": "uint256[]" - } - ] - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "getManagedAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "assets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "amounts_", - "type": "uint256[]" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getSales", - "outputs": [ - { - "internalType": "struct SolvV2ConvertibleBuyerPositionLibBase1.Sale[]", - "name": "sales_", - "type": "tuple[]", - "components": [ - { - "internalType": "uint24", - "name": "saleId", - "type": "uint24" - }, - { - "internalType": "address", - "name": "currency", - "type": "address" - } - ] - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getVoucherTokenIds", - "outputs": [ - { - "internalType": "struct SolvV2ConvertibleBuyerPositionLibBase1.VoucherTokenId[]", - "name": "voucherTokenIds_", - "type": "tuple[]", - "components": [ - { - "internalType": "address", - "name": "voucher", - "type": "address" - }, - { - "internalType": "uint32", - "name": "tokenId", - "type": "uint32" - } - ] - } - ] - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "init" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "pure", - "type": "function", - "name": "onVNFTReceived", - "outputs": [ - { - "internalType": "bytes4", - "name": "selector_", - "type": "bytes4" - } - ] - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "receiveCallFromVault" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "getDebtAssets()": { - "returns": { - "amounts_": "Debt asset amounts", - "assets_": "Debt assets" - } - }, - "getManagedAssets()": { - "details": "There are 3 types of assets that contribute value to this position: 1. Held vouchers 2. Owned vouchers that are for sale on the marketplace 3. Unreconciled assets received from a sale on the marketplace", - "returns": { - "amounts_": "Managed asset amounts", - "assets_": "Managed assets" - } - }, - "getSales()": { - "returns": { - "sales_": "The Sale[] var" - } - }, - "getVoucherTokenIds()": { - "returns": { - "voucherTokenIds_": "The VoucherTokenId[] var" - } - }, - "init(bytes)": { - "details": "Nothing to initialize for this contract" - }, - "onVNFTReceived(address,address,uint256,uint256,bytes)": { - "details": "ERC-3525 spec: https://eips.ethereum.org/EIPS/eip-3525#erc-3525-token-receiverImplementation for vouchers: https://github.com/solv-finance/solv-v2-ivo/blob/main/vouchers/vnft-core/contracts/VNFTCoreV2.sol#L318", - "returns": { - "selector_": "`b382cdcd = onVNFTReceived(address,address,uint256,uint256,bytes)`" - } - }, - "receiveCallFromVault(bytes)": { - "params": { - "_actionData": "Encoded data to execute the action" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "getDebtAssets()": { - "notice": "Retrieves the debt assets (negative value) of the external position" - }, - "getManagedAssets()": { - "notice": "Retrieves the managed assets (positive value) of the external position" - }, - "getSales()": { - "notice": "Gets the Sale[] var" - }, - "getVoucherTokenIds()": { - "notice": "Gets the VoucherTokenId[] var" - }, - "init(bytes)": { - "notice": "Initializes the external position" - }, - "onVNFTReceived(address,address,uint256,uint256,bytes)": { - "notice": "Handles the receipt of a VNFT token type." - }, - "receiveCallFromVault(bytes)": { - "notice": "Receives and executes a call from the Vault" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/external-position-manager/external-positions/solv-v2-convertible-buyer/SolvV2ConvertibleBuyerPositionLib.sol": "SolvV2ConvertibleBuyerPositionLib" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/external-positions/IExternalPosition.sol": { - "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", - "urls": [ - "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", - "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/external-positions/solv-v2-convertible-buyer/SolvV2ConvertibleBuyerPositionLibBase1.sol": { - "keccak256": "0x8f2209f92d7ed63f0c3759bc32f7dac32c7fe166e6a06d57ee10c9e955f554d3", - "urls": [ - "bzz-raw://b21a997433ad99e503ba71dc5d5c8e619a2f384b080a5edc78185f3136064e48", - "dweb:/ipfs/QmeaQgAVoU7SvcLAEaxB6b8op2s7AETzwXcd3YU41PpaAD" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/solv-v2-convertible-buyer/ISolvV2ConvertibleBuyerPosition.sol": { - "keccak256": "0xa37e1da2db28f16cdfe58b38ea90ce6a3dd23bdfd79f77742ab701f50539e2d3", - "urls": [ - "bzz-raw://0ab2ce7a04bbcbf20feb464168109040f450bfb8755dec1841f211aca5466af4", - "dweb:/ipfs/QmeFN2ZoP6SNWCjeJWSuyscyKMPbkmXPhUK2J4RC8S93TJ" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/solv-v2-convertible-buyer/SolvV2ConvertibleBuyerPositionDataDecoder.sol": { - "keccak256": "0x04f15c6a705477a8176e220c9b877804975238a7f8259f967bbb83dc6bb4a682", - "urls": [ - "bzz-raw://da054a8d3d8103cc35a91a5be4d8c06018184fb0d5941ea61f4502671fc7e21c", - "dweb:/ipfs/QmVGkG5jbs2jsjbVcyqMyL3CNGUswMTJPCaNHojjMc8iQ3" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/solv-v2-convertible-buyer/SolvV2ConvertibleBuyerPositionLib.sol": { - "keccak256": "0xb75e9004c83ec88a81d5cf9b87bccbf90aefe34876404d565ed8652596dd7384", - "urls": [ - "bzz-raw://1c4676f6879f2f875373a124c60c97906efa459626606d42a7579f0ad9fc60bb", - "dweb:/ipfs/QmZPRcndzJ5KLK3xEzYccNEpQTg27DYKNtFf7ueg7yvYC2" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/ISolvV2ConvertibleMarket.sol": { - "keccak256": "0x946325023e36bdf0236bd290cecb41b561608f94070f94e112545ef6158057ea", - "urls": [ - "bzz-raw://2825cb13b8339701c4bbf4ec10d4b5f3213a01887afe4e0a44962515fb1720f1", - "dweb:/ipfs/QmPL6o3GbYr76hm3u1NZM5oJDDob8BPLDXWCTqbBBvTKSU" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/ISolvV2ConvertiblePool.sol": { - "keccak256": "0x1943f59f09537f176ae398ae51184c9c69e8c366e74f2e7d2f02326c35e6fde7", - "urls": [ - "bzz-raw://cc239c228406fa50ec4f40a44af9438efdeb63338846a65d5864c61a643e037b", - "dweb:/ipfs/QmZhYZoKUAPtksVygGhetvP6Yvu4UAsCpiHAqbPWLtpVJC" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/ISolvV2ConvertibleVoucher.sol": { - "keccak256": "0xebec2ad1a5024a1958a558378dfde09cebe998609caa718f13b0088a0347a630", - "urls": [ - "bzz-raw://fa18447e3accb03306a9904d2d2247c8cadca34a9bc87ca585e6b0646f0814d7", - "dweb:/ipfs/QmNyrXdUZqbYyDyEu6RyQXttD4mpETd6fFS1UiL2PVDnXf" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/ISolvV2InitialConvertibleOfferingMarket.sol": { - "keccak256": "0xe34205d54ec639e2e3f8e0e2871984a6796424d903259857f1f11de260cf8abe", - "urls": [ - "bzz-raw://908f8d334df9ae2191787a8e53c78b1847bd936f2ce9d04115f5e9339c3e3934", - "dweb:/ipfs/QmZzxE748Hb2Vosu7cwPmkb4EVpoqvS4RgHogLrvDgsnD3" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AddressArrayLib.sol": { - "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", - "urls": [ - "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", - "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AssetHelpers.sol": { - "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", - "urls": [ - "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", - "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/Uint256ArrayLib.sol": { - "keccak256": "0x1627d0d32692b86c5dd3e74ebb8305fbf99a3c41d4b90e736077762cc80c1a31", - "urls": [ - "bzz-raw://54ff92ccd4bd685dda44c2520e3f52478168e909b400c3cc4076d37f5c2704ef", - "dweb:/ipfs/QmYUxeaKfPwnUtP35i6JJ3ptsaDFEV6SD2o4VV8d5vBUZD" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { - "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", - "urls": [ - "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", - "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Address.sol": { - "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", - "urls": [ - "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", - "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 132 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_convertibleMarketcontract", "type": "address", "internalType": "address" }, { "name": "_initialConvertibleOfferingMarket", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "getDebtAssets", "inputs": [], "outputs": [ { "name": "assets_", "type": "address[]", "internalType": "address[]" }, { "name": "amounts_", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "getManagedAssets", "inputs": [], "outputs": [ { "name": "assets_", "type": "address[]", "internalType": "address[]" }, { "name": "amounts_", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "getSales", "inputs": [], "outputs": [ { "name": "sales_", "type": "tuple[]", "internalType": "struct SolvV2ConvertibleBuyerPositionLibBase1.Sale[]", "components": [ { "name": "saleId", "type": "uint24", "internalType": "uint24" }, { "name": "currency", "type": "address", "internalType": "address" } ] } ], "stateMutability": "view" }, { "type": "function", "name": "getVoucherTokenIds", "inputs": [], "outputs": [ { "name": "voucherTokenIds_", "type": "tuple[]", "internalType": "struct SolvV2ConvertibleBuyerPositionLibBase1.VoucherTokenId[]", "components": [ { "name": "voucher", "type": "address", "internalType": "address" }, { "name": "tokenId", "type": "uint32", "internalType": "uint32" } ] } ], "stateMutability": "view" }, { "type": "function", "name": "init", "inputs": [ { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "onVNFTReceived", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [ { "name": "selector_", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "pure" }, { "type": "function", "name": "receiveCallFromVault", "inputs": [ { "name": "_actionData", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "event", "name": "SaleAdded", "inputs": [ { "name": "saleId", "type": "uint24", "indexed": true, "internalType": "uint24" }, { "name": "currency", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "SaleRemoved", "inputs": [ { "name": "saleId", "type": "uint24", "indexed": true, "internalType": "uint24" }, { "name": "currency", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "VoucherTokenIdAdded", "inputs": [ { "name": "voucher", "type": "address", "indexed": true, "internalType": "address" }, { "name": "tokenId", "type": "uint32", "indexed": true, "internalType": "uint32" } ], "anonymous": false }, { "type": "event", "name": "VoucherTokenIdRemoved", "inputs": [ { "name": "voucher", "type": "address", "indexed": true, "internalType": "address" }, { "name": "tokenId", "type": "uint32", "indexed": true, "internalType": "uint32" } ], "anonymous": false } ], "bytecode": { "object": "0x60c06040523480156200001157600080fd5b5060405162003cda38038062003cda833981016040819052620000349162000066565b6001600160601b0319606092831b8116608052911b1660a052620000d1565b80516200006081620000b7565b92915050565b600080604083850312156200007a57600080fd5b600062000088858562000053565b92505060206200009b8582860162000053565b9150509250929050565b60006001600160a01b03821662000060565b620000c281620000a5565b8114620000ce57600080fd5b50565b60805160601c60a05160601c613b9462000146600039806110ba52806111d7528061121552806112af5250806102d9528061131c52806113ba52806113f652806114cd528061156b52806115a95280611648528061186352806119645280611a8f5280611b39528061236c5250613b946000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c8063b382cdcd1161005b578063b382cdcd146100cb578063e5c23a97146100eb578063ecd658b4146100fe578063f4c1032a146101065761007d565b80630d83304c146100825780634ddf47d4146100a057806380daddb8146100b5575b600080fd5b61008a61011b565b60405161009791906138b4565b60405180910390f35b6100b36100ae36600461306a565b610193565b005b6100bd610196565b60405161009792919061388f565b6100de6100d9366004612fbd565b61050f565b60405161009791906138d6565b6100b36100f936600461306a565b61053a565b6100bd61060d565b61010e610613565b60405161009791906138c5565b60606000805480602002602001604051908101604052809291908181526020016000905b8282101561018a576000848152602090819020604080518082019091529084015462ffffff81168252630100000090046001600160a01b03168183015282526001909201910161013f565b50505050905090565b50565b60608060606101a3610613565b8051909150806001600160401b03811180156101be57600080fd5b506040519080825280602002602001820160405280156101e8578160200160208202803683370190505b509350806001600160401b038111801561020157600080fd5b5060405190808252806020026020018201604052801561022b578160200160208202803683370190505b50925060005b818110156102c05761024161281e565b83828151811061024d57fe5b6020026020010151905060008061026c83600001518460200151610683565b915091508188858151811061027d57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050808785815181106102aa57fe5b6020908102919091010152505050600101610231565b5060008054905b818110156103f3576102d7612835565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663782f5cb36000848154811061031357fe5b6000918252602090912001546040516001600160e01b031960e084901b1681526103459162ffffff1690600401613975565b6101a06040518083038186803b15801561035e57600080fd5b505afa158015610372573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061039691906130bd565b90508061018001516103a857506103eb565b6000806103c3836101200151846020015162ffffff16610683565b909250905080156103e7576103d88983610c81565b98506103e48882610d4c565b97505b5050505b6001016102c7565b50606060005b828110156104f857600080828154811061040f57fe5b600091825260209091200154630100000090046001600160a01b031690506104378382610df5565b1561044257506104f0565b61044c8382610c81565b92506000816001600160a01b03166370a08231306040518263ffffffff1660e01b815260040161047c9190613715565b60206040518083038186803b15801561049457600080fd5b505afa1580156104a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104cc91906131a1565b905080156104ed576104de8983610c81565b98506104ea8882610d4c565b97505b50505b6001016103f9565b506105038686610e4b565b95509550505050509091565b7fb382cdcdbd920ddd5cea8c35269cf1a93503df07a561581b76664c03c351b58b9695505050505050565b600060608280602001905181019061055291906131bf565b90925090508161056a576105658161108b565b610608565b600182141561057c57610565816112ed565b600282141561058e576105658161149e565b60038214156105a05761056581611686565b60048214156105b2576105658161180f565b60058214156105c4576105658161191b565b60068214156105d557610565611a07565b60078214156105e75761056581611a63565b60405162461bcd60e51b81526004016105ff90613915565b60405180910390fd5b505050565b60608091565b60606001805480602002602001604051908101604052809291908181526020016000905b8282101561018a57600084815260209081902060408051808201909152908401546001600160a01b0381168252600160a01b900463ffffffff1681830152825260019092019101610637565b60008060008490506000816001600160a01b031663360454c56040518163ffffffff1660e01b815260040160206040518083038186803b1580156106c657600080fd5b505afa1580156106da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106fe9190612db4565b90506000826001600160a01b031663bde4c3cb876040518263ffffffff1660e01b815260040161072e91906139c8565b602060405180830381600087803b15801561074857600080fd5b505af115801561075c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061078091906131a1565b90506000826001600160a01b031663fb7056b7836040518263ffffffff1660e01b81526004016107b091906139ac565b60206040518083038186803b1580156107c857600080fd5b505afa1580156107dc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061080091906130fb565b90506000816001600160801b03161161082b5760405162461bcd60e51b81526004016105ff90613935565b61083361289e565b60405163d3ceafb960e01b81526001600160a01b0386169063d3ceafb99061085f9086906004016139ac565b6101a06040518083038186803b15801561087857600080fd5b505afa15801561088c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108b091906130dc565b90506000856001600160a01b031663becef6078a6040518263ffffffff1660e01b81526004016108e091906139c8565b60206040518083038186803b1580156108f857600080fd5b505afa15801561090c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061093091906131a1565b905081608001516001600160801b0316836001600160801b03161115801561095a57508161012001515b15610b0c57602082015160405163e55ced3160e01b81526000916001600160a01b0388169163e55ced3191610994918991906004016139ba565b60206040518083038186803b1580156109ac57600080fd5b505afa1580156109c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109e491906131a1565b905082602001519850610af2866001600160a01b0316633e7e86696040518163ffffffff1660e01b815260040160206040518083038186803b158015610a2957600080fd5b505afa158015610a3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a619190613243565b60ff16600a0a610aec85602001516001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015610aa757600080fd5b505afa158015610abb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610adf9190613243565b859060ff16600a0a611ddd565b90611e1e565b975080881115610b00578097505b50505050505050610c7a565b81606001516001600160801b0316836001600160801b03161015610b365781606001519250610b5c565b81608001516001600160801b0316836001600160801b03161115610b5c57816080015192505b856001600160a01b0316636f307dc36040518163ffffffff1660e01b815260040160206040518083038186803b158015610b9557600080fd5b505afa158015610ba9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bcd9190612db4565b97506000856001600160a01b031663e55ced31868b6040518363ffffffff1660e01b8152600401610bff9291906139ba565b60206040518083038186803b158015610c1757600080fd5b505afa158015610c2b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c4f91906131a1565b9050610c64826001600160801b038616611e1e565b975080881115610c72578097505b505050505050505b9250929050565b606082516001016001600160401b0381118015610c9d57600080fd5b50604051908082528060200260200182016040528015610cc7578160200160208202803683370190505b50905060005b8351811015610d1657838181518110610ce257fe5b6020026020010151828281518110610cf657fe5b6001600160a01b0390921660209283029190910190910152600101610ccd565b508181845181518110610d2557fe5b60200260200101906001600160a01b031690816001600160a01b0316815250505b92915050565b606082516001016001600160401b0381118015610d6857600080fd5b50604051908082528060200260200182016040528015610d92578160200160208202803683370190505b50905060005b8351811015610dd457838181518110610dad57fe5b6020026020010151828281518110610dc157fe5b6020908102919091010152600101610d98565b508181845181518110610de357fe5b60200260200101818152505092915050565b6000805b8351811015610e4157838181518110610e0e57fe5b60200260200101516001600160a01b0316836001600160a01b03161415610e39576001915050610d46565b600101610df9565b5060009392505050565b606080835160001415610e5d57610c7a565b6001805b8551811015610edd576000805b82811015610ec757878181518110610e8257fe5b60200260200101516001600160a01b0316888481518110610e9f57fe5b60200260200101516001600160a01b03161415610ebf5760019150610ec7565b600101610e6e565b5080610ed4576001909201915b50600101610e61565b50806001600160401b0381118015610ef457600080fd5b50604051908082528060200260200182016040528015610f1e578160200160208202803683370190505b509250806001600160401b0381118015610f3757600080fd5b50604051908082528060200260200182016040528015610f61578160200160208202803683370190505b5091506000805b8651811015611081576000805b8381101561100057868181518110610f8957fe5b60200260200101516001600160a01b0316898481518110610fa657fe5b60200260200101516001600160a01b03161415610ff85760019150878381518110610fcd57fe5b6020026020010151868281518110610fe157fe5b602002602001018181510191508181525050611000565b600101610f75565b50806110785787828151811061101257fe5b602002602001015186848151811061102657fe5b60200260200101906001600160a01b031690816001600160a01b03168152505086828151811061105257fe5b602002602001015185848151811061106657fe5b60209081029190910101526001909201915b50600101610f68565b5050509250929050565b60008061109783611e50565b915091506110a3612907565b6040516309cfb2ab60e41b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690639cfb2ab0906110ef908690600401613975565b6101a06040518083038186803b15801561110857600080fd5b505afa15801561111c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611140919061309e565b9050600081610100015190506000816001600160a01b03166375794a3c6040518163ffffffff1660e01b815260040160206040518083038186803b15801561118757600080fd5b505afa15801561119b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111bf9190613225565b6101208401519091506111fe6001600160a01b0382167f0000000000000000000000000000000000000000000000000000000000000000600019611e70565b6040516341ec4ef360e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906341ec4ef39061124c9089908990600401613983565b6040805180830381600087803b15801561126557600080fd5b505af1158015611279573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061129d9190613206565b506112d590506001600160a01b0382167f00000000000000000000000000000000000000000000000000000000000000006000611e70565b6112e484610100015183611f6a565b50505050505050565b6000806112f983612023565b91509150611305612835565b60405163782f5cb360e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063782f5cb390611351908690600401613975565b6101a06040518083038186803b15801561136a57600080fd5b505afa15801561137e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113a291906130bd565b6101408101519091506113df906001600160a01b03167f000000000000000000000000000000000000000000000000000000000000000084611e70565b60405163679a0be760e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063679a0be79061142d908690869060040161399e565b602060405180830381600087803b15801561144757600080fd5b505af115801561145b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061147f91906130fb565b50611498816101200151826020015162ffffff1661203a565b50505050565b6000806114aa83611e50565b915091506114b6612835565b60405163782f5cb360e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063782f5cb390611502908690600401613975565b6101a06040518083038186803b15801561151b57600080fd5b505afa15801561152f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061155391906130bd565b610140810151909150611592906001600160a01b03167f0000000000000000000000000000000000000000000000000000000000000000600019611e70565b604051639bb3db7160e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690639bb3db71906115e09086908690600401613983565b6040805180830381600087803b1580156115f957600080fd5b505af115801561160d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116319190613206565b505061014081015161166e906001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006000611e70565b611498816101200151826020015162ffffff1661203a565b600080600061169484612155565b60405163becef60760e01b8152929550909350915083906000906001600160a01b0383169063becef607906116cd9087906004016139c8565b60206040518083038186803b1580156116e557600080fd5b505afa1580156116f9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061171d91906131a1565b905060001983148061172e57508083145b156117a457604051637e2985f360e01b81526001600160a01b03831690637e2985f390611763908790339086906004016139d6565b600060405180830381600087803b15801561177d57600080fd5b505af1158015611791573d6000803e3d6000fd5b5050505061179f858561217b565b611807565b604051637e2985f360e01b81526001600160a01b03831690637e2985f3906117d4908790339088906004016139d6565b600060405180830381600087803b1580156117ee57600080fd5b505af1158015611802573d6000803e3d6000fd5b505050505b505050505050565b60008060008060008060008060008060006118298c6122fe565b9a509a509a509a509a509a509a509a509a509a509a506118498a8c612348565b6040516373947eb560e11b81526000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063e728fd6a906118ac908f908f908f908f908f908f908f908f908f908f908f906004016137d0565b602060405180830381600087803b1580156118c657600080fd5b505af11580156118da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118fe9190613119565b905061190c818b8e8e6123c4565b50505050505050505050505050565b6000806000806000806000806119308961248b565b9750975097509750975097509750975061194a8789612348565b6040516316da404760e11b81526000906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690632db4808e906119a7908c908c908c908c908c908c908c908c90600401613759565b602060405180830381600087803b1580156119c157600080fd5b505af11580156119d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119f99190613119565b905061180281888b8b6123c4565b6060611a1161011b565b805190915060609060005b81811015611a5857611a4e848281518110611a3357fe5b602002602001015160200151846124c690919063ffffffff16565b9250600101611a1c565b5061149833836124e8565b6000611a6e82612643565b9050611a78612835565b60405163782f5cb360e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063782f5cb390611ac4908590600401613975565b6101a06040518083038186803b158015611add57600080fd5b505afa158015611af1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b1591906130bd565b905080610180015115611bb8576040516362b4d47960e11b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c569a8f290611b6e908590600401613975565b600060405180830381600087803b158015611b8857600080fd5b505af1158015611b9c573d6000803e3d6000fd5b50505050611bb8816101200151826020015162ffffff16611f6a565b60008054905b81811015611dd6578362ffffff1660008281548110611bd957fe5b60009182526020909120015462ffffff161415611dce576000808281548110611bfe57fe5b9060005260206000200160000160039054906101000a90046001600160a01b031690506000808381548110611c2f57fe5b60009182526020822001546040516370a0823160e01b815263010000009091046001600160a01b0316925082906370a0823190611c70903090600401613715565b60206040518083038186803b158015611c8857600080fd5b505afa158015611c9c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cc091906131a1565b90508015611cdc57611cdc6001600160a01b0383163383612659565b60018503841015611d5d5760006001860381548110611cf757fe5b9060005260206000200160008581548110611d0e57fe5b6000918252602090912082549101805462ffffff191662ffffff9092169190911780825591546001600160a01b0363010000009182900416026301000000600160b81b03199092169190911790555b6000805480611d6857fe5b600082815260208120820160001990810180546001600160b81b03191690559091019091556040516001600160a01b0385169162ffffff8a16917f4b6290a4d500a7ab09c8b2deb76da47cc0f23e5940ed2f4fc482616d9ffad33a9190a3505050611dd6565b600101611bbe565b5050505050565b600082611dec57506000610d46565b82820282848281611df957fe5b0414611e175760405162461bcd60e51b81526004016105ff90613925565b9392505050565b6000808211611e3f5760405162461bcd60e51b81526004016105ff90613905565b818381611e4857fe5b049392505050565b60008082806020019051810190611e679190613137565b91509150915091565b801580611ef85750604051636eb1769f60e11b81526001600160a01b0384169063dd62ed3e90611ea69030908690600401613723565b60206040518083038186803b158015611ebe57600080fd5b505afa158015611ed2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ef691906131a1565b155b611f145760405162461bcd60e51b81526004016105ff90613965565b6106088363095ea7b360e01b8484604051602401611f33929190613874565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152612678565b6040805180820182526001600160a01b0384811680835263ffffffff85811660208501818152600180548082018255600091825296517fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6909701805492516001600160a01b0319909316979096169690961763ffffffff60a01b1916600160a01b91909316029190911790925592519092917f9064e110f4af8c3afc5cb815841bb7b2d7b4324b194a740015a249c929d3d0c791a35050565b60008082806020019051810190611e679190613171565b6040516331a9108f60e11b8152829030906001600160a01b03831690636352211e9061206a9086906004016139c8565b60206040518083038186803b15801561208257600080fd5b505afa158015612096573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120ba9190612db4565b6001600160a01b031614156120d3576105658383611f6a565b60006001826001600160a01b03166375794a3c6040518163ffffffff1660e01b815260040160206040518083038186803b15801561211057600080fd5b505afa158015612124573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121489190613225565b0390506114988482611f6a565b60008060008380602001905181019061216e9190612f70565b9250925092509193909250565b60015460005b818110156114985761219161281e565b6001828154811061219e57fe5b6000918252602091829020604080518082019091529101546001600160a01b038116825263ffffffff600160a01b909104811692820183905290925085161480156121fe5750846001600160a01b031681600001516001600160a01b0316145b156122f557600183038210156122855760018084038154811061221d57fe5b906000526020600020016001838154811061223457fe5b600091825260209091208254910180546001600160a01b0319166001600160a01b0390921691909117808255915463ffffffff600160a01b91829004160263ffffffff60a01b199092169190911790555b600180548061229057fe5b600082815260208120820160001990810180546001600160c01b031916905590910190915560405163ffffffff8616916001600160a01b038816917f0d5bcf97415af39ded48a8e8b4386016db43ed02862eefbd9e5b466c4329ad959190a350611498565b50600101612181565b60008060008060008060008060008060008b8060200190518101906123239190612e82565b9a509a509a509a509a509a509a509a509a509a509a5091939597999b90929496989a50565b60405163095ea7b360e01b81526001600160a01b0382169063095ea7b390612396907f000000000000000000000000000000000000000000000000000000000000000090869060040161373e565b600060405180830381600087803b1580156123b057600080fd5b505af1158015611807573d6000803e3d6000fd5b6123d3828262ffffff1661217b565b60408051808201825262ffffff8681168083526001600160a01b03878116602085018181526000805460018101825581805296517f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5639097018054925162ffffff1990931697909616969096176301000000600160b81b031916630100000091909316029190911790925592519092917f5bda283959296af86b20c8f512b98b871cd5499f4f8482eda1ce584662cb709a91a350505050565b600080600080600080600080888060200190518101906124ab9190612dd2565b97509750975097509750975097509750919395975091939597565b60606124d28383610df5565b156124de575081610d46565b611e178383610c81565b606081516001600160401b038111801561250157600080fd5b5060405190808252806020026020018201604052801561252b578160200160208202803683370190505b50905060005b825181101561263c57600083828151811061254857fe5b60200260200101519050806001600160a01b03166370a08231306040518263ffffffff1660e01b815260040161257e9190613715565b60206040518083038186803b15801561259657600080fd5b505afa1580156125aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125ce91906131a1565b8383815181106125da57fe5b60200260200101818152505060008383815181106125f457fe5b60200260200101511115612633576126338584848151811061261257fe5b6020026020010151836001600160a01b03166126599092919063ffffffff16565b50600101612531565b5092915050565b600081806020019051810190610d469190613119565b6106088363a9059cbb60e01b8484604051602401611f33929190613874565b60606126cd826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166127079092919063ffffffff16565b80519091501561060857808060200190518101906126eb919061304c565b6106085760405162461bcd60e51b81526004016105ff90613955565b6060612716848460008561271e565b949350505050565b6060824710156127405760405162461bcd60e51b81526004016105ff906138f5565b612749856127df565b6127655760405162461bcd60e51b81526004016105ff90613945565b60006060866001600160a01b031685876040516127829190613709565b60006040518083038185875af1925050503d80600081146127bf576040519150601f19603f3d011682016040523d82523d6000602084013e6127c4565b606091505b50915091506127d48282866127e5565b979650505050505050565b3b151590565b606083156127f4575081611e17565b8251156128045782518084602001fd5b8160405162461bcd60e51b81526004016105ff91906138e4565b604080518082019091526000808252602082015290565b604080516101a08101825260008082526020820181905291810182905260608101829052906080820190815260006020820181905260408201819052606082018190526080820181905260a0820181905260c0820181905260e082018190526101009091015290565b604080516101a081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052906101008201908152600060208201819052604082018190526060820181905260809091015290565b604080516101a081018252600080825260208201819052918101829052906060820190815260006020820181905260408201819052606082018190526080820181905260a0820181905260c0820181905260e0820181905261010082018190526101209091015290565b8035610d4681613b27565b8051610d4681613b27565b8051610d4681613b3b565b60008083601f8401126129a457600080fd5b5081356001600160401b038111156129bb57600080fd5b602083019150836001820283011115610c7a57600080fd5b600082601f8301126129e457600080fd5b81356129f76129f282613a24565b6139fe565b91508082526020830160208301858383011115612a1357600080fd5b612a1e838284613ae5565b50505092915050565b600082601f830112612a3857600080fd5b8151612a466129f282613a24565b91508082526020830160208301858383011115612a6257600080fd5b612a1e838284613af1565b8051610d4681613b44565b60006101a08284031215612a8b57600080fd5b612a966101a06139fe565b90506000612aa48484612d72565b8252506020612ab584848301612d93565b6020830152506040612ac984828501612d93565b6040830152506060612add84828501612a6d565b6060830152506080612af184828501612d67565b60808301525060a0612b0584828501612d67565b60a08301525060c0612b1984828501612d67565b60c08301525060e0612b2d84828501612d67565b60e083015250610100612b428482850161297c565b61010083015250610120612b588482850161297c565b61012083015250610140612b6e8482850161297c565b61014083015250610160612b8484828501612987565b61016083015250610180612b9a84828501612987565b6101808301525092915050565b60006101a08284031215612bba57600080fd5b612bc56101a06139fe565b90506000612bd38484612d72565b8252506020612be484848301612d72565b6020830152506040612bf884828501612d93565b6040830152506060612c0c8482850161297c565b6060830152506080612c2084828501612a6d565b60808301525060a0612c3484828501612d67565b60a08301525060c0612c4884828501612d67565b60c08301525060e0612c5c84828501612d67565b60e083015250610100612b4284828501612d67565b60006101a08284031215612c8457600080fd5b612c8f6101a06139fe565b90506000612c9d848461297c565b8252506020612cae8484830161297c565b6020830152506040612cc284828501612d88565b6040830152506060612cd684828501612d67565b6060830152506080612cea84828501612d67565b60808301525060a0612cfe84828501612d67565b60a08301525060c0612d1284828501612d9e565b60c08301525060e0612d2684828501612d9e565b60e083015250610100612d3b84828501612a6d565b61010083015250610120612d5184828501612987565b61012083015250610140612b6e84828501612987565b8051610d4681613b51565b8051610d4681613b5a565b8035610d4681613b63565b8051610d4681613b63565b8051610d4681613b6c565b8051610d4681613b75565b8051610d4681613b7e565b600060208284031215612dc657600080fd5b6000612716848461297c565b600080600080600080600080610100898b031215612def57600080fd5b6000612dfb8b8b61297c565b9850506020612e0c8b828c01612d72565b9750506040612e1d8b828c0161297c565b9650506060612e2e8b828c01612d67565b9550506080612e3f8b828c01612d67565b94505060a0612e508b828c01612d93565b93505060c0612e618b828c01612987565b92505060e0612e728b828c01612d67565b9150509295985092959890939650565b60008060008060008060008060008060006101608c8e031215612ea457600080fd5b6000612eb08e8e61297c565b9b50506020612ec18e828f01612d72565b9a50506040612ed28e828f0161297c565b9950506060612ee38e828f01612d67565b9850506080612ef48e828f01612d67565b97505060a0612f058e828f01612d93565b96505060c0612f168e828f01612987565b95505060e0612f278e828f01612d67565b945050610100612f398e828f01612d67565b935050610120612f4b8e828f01612d93565b925050610140612f5d8e828f01612d93565b9150509295989b509295989b9093969950565b600080600060608486031215612f8557600080fd5b6000612f91868661297c565b9350506020612fa286828701612d93565b9250506040612fb386828701612d88565b9150509250925092565b60008060008060008060a08789031215612fd657600080fd5b6000612fe28989612971565b9650506020612ff389828a01612971565b955050604061300489828a01612d7d565b945050606061301589828a01612d7d565b93505060808701356001600160401b0381111561303157600080fd5b61303d89828a01612992565b92509250509295509295509295565b60006020828403121561305e57600080fd5b60006127168484612987565b60006020828403121561307c57600080fd5b81356001600160401b0381111561309257600080fd5b612716848285016129d3565b60006101a082840312156130b157600080fd5b60006127168484612a78565b60006101a082840312156130d057600080fd5b60006127168484612ba7565b60006101a082840312156130ef57600080fd5b60006127168484612c71565b60006020828403121561310d57600080fd5b60006127168484612d67565b60006020828403121561312b57600080fd5b60006127168484612d72565b6000806040838503121561314a57600080fd5b60006131568585612d72565b925050602061316785828601612d67565b9150509250929050565b6000806040838503121561318457600080fd5b60006131908585612d72565b925050602061316785828601612d88565b6000602082840312156131b357600080fd5b60006127168484612d88565b600080604083850312156131d257600080fd5b60006131de8585612d88565b92505060208301516001600160401b038111156131fa57600080fd5b61316785828601612a27565b6000806040838503121561321957600080fd5b60006131568585612d88565b60006020828403121561323757600080fd5b60006127168484612d93565b60006020828403121561325557600080fd5b60006127168484612da9565b600061326d83836132b0565b505060200190565b6000613281838361368b565b505060400190565b600061328183836136af565b600061326d83836136ee565b6132aa81613abe565b82525050565b6132aa81613a63565b60006132c482613a51565b6132ce8185613a55565b93506132d983613a4b565b8060005b838110156133075781516132f18882613261565b97506132fc83613a4b565b9250506001016132dd565b509495945050505050565b600061331d82613a51565b6133278185613a55565b935061333283613a4b565b8060005b8381101561330757815161334a8882613275565b975061335583613a4b565b925050600101613336565b600061336b82613a51565b6133758185613a55565b935061338083613a4b565b8060005b838110156133075781516133988882613289565b97506133a383613a4b565b925050600101613384565b60006133b982613a51565b6133c38185613a55565b93506133ce83613a4b565b8060005b838110156133075781516133e68882613295565b97506133f183613a4b565b9250506001016133d2565b6132aa81613a6e565b6132aa81613a73565b600061341982613a51565b6134238185613a5e565b9350613433818560208601613af1565b9290920192915050565b600061344882613a51565b6134528185613a55565b9350613462818560208601613af1565b61346b81613b1d565b9093019392505050565b6000613482602683613a55565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f8152651c8818d85b1b60d21b602082015260400192915050565b60006134ca601a83613a55565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b6000613503602683613a55565b7f7265636569766543616c6c46726f6d5661756c743a20496e76616c69642061638152651d1a5bdb925960d21b602082015260400192915050565b600061354b602183613a55565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b600061358e601183613a55565b70141c9a58d9481b9bdd081cd95d1d1b1959607a1b815260200192915050565b60006135bb601d83613a55565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000815260200192915050565b60006135f4602a83613a55565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e8152691bdd081cdd58d8d9595960b21b602082015260400192915050565b6000613640603683613a55565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f81527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b602082015260400192915050565b8051604083019061369c84826136dc565b50602082015161149860208501826132b0565b805160408301906136c084826132b0565b5060208201516114986020850182613700565b6132aa81613a80565b6132aa81613a98565b6132aa81613acf565b6132aa81613aa0565b6132aa81613ada565b6132aa81613aa3565b6000611e17828461340e565b60208101610d4682846132b0565b6040810161373182856132b0565b611e1760208301846132b0565b6040810161374c82856132b0565b611e1760208301846136e5565b6101008101613768828b6132b0565b613775602083018a6136dc565b61378260408301896132b0565b61378f60608301886136d3565b61379c60808301876136d3565b6137a960a0830186613700565b6137b660c08301856133fc565b6137c360e08301846136d3565b9998505050505050505050565b61016081016137df828e6132b0565b6137ec602083018d6136dc565b6137f9604083018c6132b0565b613806606083018b6136d3565b613813608083018a6136d3565b61382060a0830189613700565b61382d60c08301886133fc565b61383a60e08301876136d3565b6138486101008301866136d3565b613856610120830185613700565b613864610140830184613700565b9c9b505050505050505050505050565b6040810161388282856132b0565b611e1760208301846136ee565b604080825281016138a081856132b9565b9050818103602083015261271681846133ae565b60208082528101611e178184613312565b60208082528101611e178184613360565b60208101610d468284613405565b60208082528101611e17818461343d565b60208082528101610d4681613475565b60208082528101610d46816134bd565b60208082528101610d46816134f6565b60208082528101610d468161353e565b60208082528101610d4681613581565b60208082528101610d46816135ae565b60208082528101610d46816135e7565b60208082528101610d4681613633565b60208101610d4682846136dc565b6040810161399182856136dc565b611e1760208301846136d3565b6040810161388282856136dc565b60208101610d4682846136ee565b6040810161373182856136ee565b60208101610d4682846136f7565b606081016139e482866136f7565b6139f160208301856132a1565b61271660408301846136ee565b6040518181016001600160401b0381118282101715613a1c57600080fd5b604052919050565b60006001600160401b03821115613a3a57600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b919050565b6000610d4682613a8c565b151590565b6001600160e01b03191690565b6001600160801b031690565b6001600160a01b031690565b62ffffff1690565b90565b63ffffffff1690565b6001600160401b031690565b60ff1690565b6000610d46826000610d4682613a63565b6000610d4682613a98565b6000610d4682613aa3565b82818337506000910152565b60005b83811015613b0c578181015183820152602001613af4565b838111156114985750506000910152565b601f01601f191690565b613b3081613a63565b811461019357600080fd5b613b3081613a6e565b6002811061019357600080fd5b613b3081613a80565b613b3081613a98565b613b3081613aa0565b613b3081613aa3565b613b3081613aac565b613b3081613ab856fea164736f6c634300060c000a", "sourceMap": "1230:18396:132:-:0;;;1766:362;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;1886:82:132;;;;;;;;1978:143;;;;;1230:18396;;5:134:-1;83:13;;101:33;83:13;101:33;:::i;:::-;68:71;;;;:::o;146:399::-;;;278:2;266:9;257:7;253:23;249:32;246:2;;;294:1;291;284:12;246:2;329:1;346:64;402:7;382:9;346:64;:::i;:::-;336:74;;308:108;447:2;465:64;521:7;512:6;501:9;497:22;465:64;:::i;:::-;455:74;;426:109;240:305;;;;;:::o;552:91::-;;-1:-1;;;;;712:54;;614:24;695:76::o;778:117::-;847:24;865:5;847:24;:::i;:::-;840:5;837:35;827:2;;886:1;883;876:12;827:2;821:74;:::o;:::-;1230:18396:132;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b506004361061007d5760003560e01c8063b382cdcd1161005b578063b382cdcd146100cb578063e5c23a97146100eb578063ecd658b4146100fe578063f4c1032a146101065761007d565b80630d83304c146100825780634ddf47d4146100a057806380daddb8146100b5575b600080fd5b61008a61011b565b60405161009791906138b4565b60405180910390f35b6100b36100ae36600461306a565b610193565b005b6100bd610196565b60405161009792919061388f565b6100de6100d9366004612fbd565b61050f565b60405161009791906138d6565b6100b36100f936600461306a565b61053a565b6100bd61060d565b61010e610613565b60405161009791906138c5565b60606000805480602002602001604051908101604052809291908181526020016000905b8282101561018a576000848152602090819020604080518082019091529084015462ffffff81168252630100000090046001600160a01b03168183015282526001909201910161013f565b50505050905090565b50565b60608060606101a3610613565b8051909150806001600160401b03811180156101be57600080fd5b506040519080825280602002602001820160405280156101e8578160200160208202803683370190505b509350806001600160401b038111801561020157600080fd5b5060405190808252806020026020018201604052801561022b578160200160208202803683370190505b50925060005b818110156102c05761024161281e565b83828151811061024d57fe5b6020026020010151905060008061026c83600001518460200151610683565b915091508188858151811061027d57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050808785815181106102aa57fe5b6020908102919091010152505050600101610231565b5060008054905b818110156103f3576102d7612835565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663782f5cb36000848154811061031357fe5b6000918252602090912001546040516001600160e01b031960e084901b1681526103459162ffffff1690600401613975565b6101a06040518083038186803b15801561035e57600080fd5b505afa158015610372573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061039691906130bd565b90508061018001516103a857506103eb565b6000806103c3836101200151846020015162ffffff16610683565b909250905080156103e7576103d88983610c81565b98506103e48882610d4c565b97505b5050505b6001016102c7565b50606060005b828110156104f857600080828154811061040f57fe5b600091825260209091200154630100000090046001600160a01b031690506104378382610df5565b1561044257506104f0565b61044c8382610c81565b92506000816001600160a01b03166370a08231306040518263ffffffff1660e01b815260040161047c9190613715565b60206040518083038186803b15801561049457600080fd5b505afa1580156104a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104cc91906131a1565b905080156104ed576104de8983610c81565b98506104ea8882610d4c565b97505b50505b6001016103f9565b506105038686610e4b565b95509550505050509091565b7fb382cdcdbd920ddd5cea8c35269cf1a93503df07a561581b76664c03c351b58b9695505050505050565b600060608280602001905181019061055291906131bf565b90925090508161056a576105658161108b565b610608565b600182141561057c57610565816112ed565b600282141561058e576105658161149e565b60038214156105a05761056581611686565b60048214156105b2576105658161180f565b60058214156105c4576105658161191b565b60068214156105d557610565611a07565b60078214156105e75761056581611a63565b60405162461bcd60e51b81526004016105ff90613915565b60405180910390fd5b505050565b60608091565b60606001805480602002602001604051908101604052809291908181526020016000905b8282101561018a57600084815260209081902060408051808201909152908401546001600160a01b0381168252600160a01b900463ffffffff1681830152825260019092019101610637565b60008060008490506000816001600160a01b031663360454c56040518163ffffffff1660e01b815260040160206040518083038186803b1580156106c657600080fd5b505afa1580156106da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106fe9190612db4565b90506000826001600160a01b031663bde4c3cb876040518263ffffffff1660e01b815260040161072e91906139c8565b602060405180830381600087803b15801561074857600080fd5b505af115801561075c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061078091906131a1565b90506000826001600160a01b031663fb7056b7836040518263ffffffff1660e01b81526004016107b091906139ac565b60206040518083038186803b1580156107c857600080fd5b505afa1580156107dc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061080091906130fb565b90506000816001600160801b03161161082b5760405162461bcd60e51b81526004016105ff90613935565b61083361289e565b60405163d3ceafb960e01b81526001600160a01b0386169063d3ceafb99061085f9086906004016139ac565b6101a06040518083038186803b15801561087857600080fd5b505afa15801561088c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108b091906130dc565b90506000856001600160a01b031663becef6078a6040518263ffffffff1660e01b81526004016108e091906139c8565b60206040518083038186803b1580156108f857600080fd5b505afa15801561090c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061093091906131a1565b905081608001516001600160801b0316836001600160801b03161115801561095a57508161012001515b15610b0c57602082015160405163e55ced3160e01b81526000916001600160a01b0388169163e55ced3191610994918991906004016139ba565b60206040518083038186803b1580156109ac57600080fd5b505afa1580156109c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109e491906131a1565b905082602001519850610af2866001600160a01b0316633e7e86696040518163ffffffff1660e01b815260040160206040518083038186803b158015610a2957600080fd5b505afa158015610a3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a619190613243565b60ff16600a0a610aec85602001516001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015610aa757600080fd5b505afa158015610abb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610adf9190613243565b859060ff16600a0a611ddd565b90611e1e565b975080881115610b00578097505b50505050505050610c7a565b81606001516001600160801b0316836001600160801b03161015610b365781606001519250610b5c565b81608001516001600160801b0316836001600160801b03161115610b5c57816080015192505b856001600160a01b0316636f307dc36040518163ffffffff1660e01b815260040160206040518083038186803b158015610b9557600080fd5b505afa158015610ba9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bcd9190612db4565b97506000856001600160a01b031663e55ced31868b6040518363ffffffff1660e01b8152600401610bff9291906139ba565b60206040518083038186803b158015610c1757600080fd5b505afa158015610c2b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c4f91906131a1565b9050610c64826001600160801b038616611e1e565b975080881115610c72578097505b505050505050505b9250929050565b606082516001016001600160401b0381118015610c9d57600080fd5b50604051908082528060200260200182016040528015610cc7578160200160208202803683370190505b50905060005b8351811015610d1657838181518110610ce257fe5b6020026020010151828281518110610cf657fe5b6001600160a01b0390921660209283029190910190910152600101610ccd565b508181845181518110610d2557fe5b60200260200101906001600160a01b031690816001600160a01b0316815250505b92915050565b606082516001016001600160401b0381118015610d6857600080fd5b50604051908082528060200260200182016040528015610d92578160200160208202803683370190505b50905060005b8351811015610dd457838181518110610dad57fe5b6020026020010151828281518110610dc157fe5b6020908102919091010152600101610d98565b508181845181518110610de357fe5b60200260200101818152505092915050565b6000805b8351811015610e4157838181518110610e0e57fe5b60200260200101516001600160a01b0316836001600160a01b03161415610e39576001915050610d46565b600101610df9565b5060009392505050565b606080835160001415610e5d57610c7a565b6001805b8551811015610edd576000805b82811015610ec757878181518110610e8257fe5b60200260200101516001600160a01b0316888481518110610e9f57fe5b60200260200101516001600160a01b03161415610ebf5760019150610ec7565b600101610e6e565b5080610ed4576001909201915b50600101610e61565b50806001600160401b0381118015610ef457600080fd5b50604051908082528060200260200182016040528015610f1e578160200160208202803683370190505b509250806001600160401b0381118015610f3757600080fd5b50604051908082528060200260200182016040528015610f61578160200160208202803683370190505b5091506000805b8651811015611081576000805b8381101561100057868181518110610f8957fe5b60200260200101516001600160a01b0316898481518110610fa657fe5b60200260200101516001600160a01b03161415610ff85760019150878381518110610fcd57fe5b6020026020010151868281518110610fe157fe5b602002602001018181510191508181525050611000565b600101610f75565b50806110785787828151811061101257fe5b602002602001015186848151811061102657fe5b60200260200101906001600160a01b031690816001600160a01b03168152505086828151811061105257fe5b602002602001015185848151811061106657fe5b60209081029190910101526001909201915b50600101610f68565b5050509250929050565b60008061109783611e50565b915091506110a3612907565b6040516309cfb2ab60e41b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690639cfb2ab0906110ef908690600401613975565b6101a06040518083038186803b15801561110857600080fd5b505afa15801561111c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611140919061309e565b9050600081610100015190506000816001600160a01b03166375794a3c6040518163ffffffff1660e01b815260040160206040518083038186803b15801561118757600080fd5b505afa15801561119b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111bf9190613225565b6101208401519091506111fe6001600160a01b0382167f0000000000000000000000000000000000000000000000000000000000000000600019611e70565b6040516341ec4ef360e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906341ec4ef39061124c9089908990600401613983565b6040805180830381600087803b15801561126557600080fd5b505af1158015611279573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061129d9190613206565b506112d590506001600160a01b0382167f00000000000000000000000000000000000000000000000000000000000000006000611e70565b6112e484610100015183611f6a565b50505050505050565b6000806112f983612023565b91509150611305612835565b60405163782f5cb360e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063782f5cb390611351908690600401613975565b6101a06040518083038186803b15801561136a57600080fd5b505afa15801561137e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113a291906130bd565b6101408101519091506113df906001600160a01b03167f000000000000000000000000000000000000000000000000000000000000000084611e70565b60405163679a0be760e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063679a0be79061142d908690869060040161399e565b602060405180830381600087803b15801561144757600080fd5b505af115801561145b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061147f91906130fb565b50611498816101200151826020015162ffffff1661203a565b50505050565b6000806114aa83611e50565b915091506114b6612835565b60405163782f5cb360e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063782f5cb390611502908690600401613975565b6101a06040518083038186803b15801561151b57600080fd5b505afa15801561152f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061155391906130bd565b610140810151909150611592906001600160a01b03167f0000000000000000000000000000000000000000000000000000000000000000600019611e70565b604051639bb3db7160e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690639bb3db71906115e09086908690600401613983565b6040805180830381600087803b1580156115f957600080fd5b505af115801561160d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116319190613206565b505061014081015161166e906001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006000611e70565b611498816101200151826020015162ffffff1661203a565b600080600061169484612155565b60405163becef60760e01b8152929550909350915083906000906001600160a01b0383169063becef607906116cd9087906004016139c8565b60206040518083038186803b1580156116e557600080fd5b505afa1580156116f9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061171d91906131a1565b905060001983148061172e57508083145b156117a457604051637e2985f360e01b81526001600160a01b03831690637e2985f390611763908790339086906004016139d6565b600060405180830381600087803b15801561177d57600080fd5b505af1158015611791573d6000803e3d6000fd5b5050505061179f858561217b565b611807565b604051637e2985f360e01b81526001600160a01b03831690637e2985f3906117d4908790339088906004016139d6565b600060405180830381600087803b1580156117ee57600080fd5b505af1158015611802573d6000803e3d6000fd5b505050505b505050505050565b60008060008060008060008060008060006118298c6122fe565b9a509a509a509a509a509a509a509a509a509a509a506118498a8c612348565b6040516373947eb560e11b81526000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063e728fd6a906118ac908f908f908f908f908f908f908f908f908f908f908f906004016137d0565b602060405180830381600087803b1580156118c657600080fd5b505af11580156118da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118fe9190613119565b905061190c818b8e8e6123c4565b50505050505050505050505050565b6000806000806000806000806119308961248b565b9750975097509750975097509750975061194a8789612348565b6040516316da404760e11b81526000906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690632db4808e906119a7908c908c908c908c908c908c908c908c90600401613759565b602060405180830381600087803b1580156119c157600080fd5b505af11580156119d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119f99190613119565b905061180281888b8b6123c4565b6060611a1161011b565b805190915060609060005b81811015611a5857611a4e848281518110611a3357fe5b602002602001015160200151846124c690919063ffffffff16565b9250600101611a1c565b5061149833836124e8565b6000611a6e82612643565b9050611a78612835565b60405163782f5cb360e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063782f5cb390611ac4908590600401613975565b6101a06040518083038186803b158015611add57600080fd5b505afa158015611af1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b1591906130bd565b905080610180015115611bb8576040516362b4d47960e11b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c569a8f290611b6e908590600401613975565b600060405180830381600087803b158015611b8857600080fd5b505af1158015611b9c573d6000803e3d6000fd5b50505050611bb8816101200151826020015162ffffff16611f6a565b60008054905b81811015611dd6578362ffffff1660008281548110611bd957fe5b60009182526020909120015462ffffff161415611dce576000808281548110611bfe57fe5b9060005260206000200160000160039054906101000a90046001600160a01b031690506000808381548110611c2f57fe5b60009182526020822001546040516370a0823160e01b815263010000009091046001600160a01b0316925082906370a0823190611c70903090600401613715565b60206040518083038186803b158015611c8857600080fd5b505afa158015611c9c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cc091906131a1565b90508015611cdc57611cdc6001600160a01b0383163383612659565b60018503841015611d5d5760006001860381548110611cf757fe5b9060005260206000200160008581548110611d0e57fe5b6000918252602090912082549101805462ffffff191662ffffff9092169190911780825591546001600160a01b0363010000009182900416026301000000600160b81b03199092169190911790555b6000805480611d6857fe5b600082815260208120820160001990810180546001600160b81b03191690559091019091556040516001600160a01b0385169162ffffff8a16917f4b6290a4d500a7ab09c8b2deb76da47cc0f23e5940ed2f4fc482616d9ffad33a9190a3505050611dd6565b600101611bbe565b5050505050565b600082611dec57506000610d46565b82820282848281611df957fe5b0414611e175760405162461bcd60e51b81526004016105ff90613925565b9392505050565b6000808211611e3f5760405162461bcd60e51b81526004016105ff90613905565b818381611e4857fe5b049392505050565b60008082806020019051810190611e679190613137565b91509150915091565b801580611ef85750604051636eb1769f60e11b81526001600160a01b0384169063dd62ed3e90611ea69030908690600401613723565b60206040518083038186803b158015611ebe57600080fd5b505afa158015611ed2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ef691906131a1565b155b611f145760405162461bcd60e51b81526004016105ff90613965565b6106088363095ea7b360e01b8484604051602401611f33929190613874565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152612678565b6040805180820182526001600160a01b0384811680835263ffffffff85811660208501818152600180548082018255600091825296517fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf6909701805492516001600160a01b0319909316979096169690961763ffffffff60a01b1916600160a01b91909316029190911790925592519092917f9064e110f4af8c3afc5cb815841bb7b2d7b4324b194a740015a249c929d3d0c791a35050565b60008082806020019051810190611e679190613171565b6040516331a9108f60e11b8152829030906001600160a01b03831690636352211e9061206a9086906004016139c8565b60206040518083038186803b15801561208257600080fd5b505afa158015612096573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120ba9190612db4565b6001600160a01b031614156120d3576105658383611f6a565b60006001826001600160a01b03166375794a3c6040518163ffffffff1660e01b815260040160206040518083038186803b15801561211057600080fd5b505afa158015612124573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121489190613225565b0390506114988482611f6a565b60008060008380602001905181019061216e9190612f70565b9250925092509193909250565b60015460005b818110156114985761219161281e565b6001828154811061219e57fe5b6000918252602091829020604080518082019091529101546001600160a01b038116825263ffffffff600160a01b909104811692820183905290925085161480156121fe5750846001600160a01b031681600001516001600160a01b0316145b156122f557600183038210156122855760018084038154811061221d57fe5b906000526020600020016001838154811061223457fe5b600091825260209091208254910180546001600160a01b0319166001600160a01b0390921691909117808255915463ffffffff600160a01b91829004160263ffffffff60a01b199092169190911790555b600180548061229057fe5b600082815260208120820160001990810180546001600160c01b031916905590910190915560405163ffffffff8616916001600160a01b038816917f0d5bcf97415af39ded48a8e8b4386016db43ed02862eefbd9e5b466c4329ad959190a350611498565b50600101612181565b60008060008060008060008060008060008b8060200190518101906123239190612e82565b9a509a509a509a509a509a509a509a509a509a509a5091939597999b90929496989a50565b60405163095ea7b360e01b81526001600160a01b0382169063095ea7b390612396907f000000000000000000000000000000000000000000000000000000000000000090869060040161373e565b600060405180830381600087803b1580156123b057600080fd5b505af1158015611807573d6000803e3d6000fd5b6123d3828262ffffff1661217b565b60408051808201825262ffffff8681168083526001600160a01b03878116602085018181526000805460018101825581805296517f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5639097018054925162ffffff1990931697909616969096176301000000600160b81b031916630100000091909316029190911790925592519092917f5bda283959296af86b20c8f512b98b871cd5499f4f8482eda1ce584662cb709a91a350505050565b600080600080600080600080888060200190518101906124ab9190612dd2565b97509750975097509750975097509750919395975091939597565b60606124d28383610df5565b156124de575081610d46565b611e178383610c81565b606081516001600160401b038111801561250157600080fd5b5060405190808252806020026020018201604052801561252b578160200160208202803683370190505b50905060005b825181101561263c57600083828151811061254857fe5b60200260200101519050806001600160a01b03166370a08231306040518263ffffffff1660e01b815260040161257e9190613715565b60206040518083038186803b15801561259657600080fd5b505afa1580156125aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125ce91906131a1565b8383815181106125da57fe5b60200260200101818152505060008383815181106125f457fe5b60200260200101511115612633576126338584848151811061261257fe5b6020026020010151836001600160a01b03166126599092919063ffffffff16565b50600101612531565b5092915050565b600081806020019051810190610d469190613119565b6106088363a9059cbb60e01b8484604051602401611f33929190613874565b60606126cd826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166127079092919063ffffffff16565b80519091501561060857808060200190518101906126eb919061304c565b6106085760405162461bcd60e51b81526004016105ff90613955565b6060612716848460008561271e565b949350505050565b6060824710156127405760405162461bcd60e51b81526004016105ff906138f5565b612749856127df565b6127655760405162461bcd60e51b81526004016105ff90613945565b60006060866001600160a01b031685876040516127829190613709565b60006040518083038185875af1925050503d80600081146127bf576040519150601f19603f3d011682016040523d82523d6000602084013e6127c4565b606091505b50915091506127d48282866127e5565b979650505050505050565b3b151590565b606083156127f4575081611e17565b8251156128045782518084602001fd5b8160405162461bcd60e51b81526004016105ff91906138e4565b604080518082019091526000808252602082015290565b604080516101a08101825260008082526020820181905291810182905260608101829052906080820190815260006020820181905260408201819052606082018190526080820181905260a0820181905260c0820181905260e082018190526101009091015290565b604080516101a081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052906101008201908152600060208201819052604082018190526060820181905260809091015290565b604080516101a081018252600080825260208201819052918101829052906060820190815260006020820181905260408201819052606082018190526080820181905260a0820181905260c0820181905260e0820181905261010082018190526101209091015290565b8035610d4681613b27565b8051610d4681613b27565b8051610d4681613b3b565b60008083601f8401126129a457600080fd5b5081356001600160401b038111156129bb57600080fd5b602083019150836001820283011115610c7a57600080fd5b600082601f8301126129e457600080fd5b81356129f76129f282613a24565b6139fe565b91508082526020830160208301858383011115612a1357600080fd5b612a1e838284613ae5565b50505092915050565b600082601f830112612a3857600080fd5b8151612a466129f282613a24565b91508082526020830160208301858383011115612a6257600080fd5b612a1e838284613af1565b8051610d4681613b44565b60006101a08284031215612a8b57600080fd5b612a966101a06139fe565b90506000612aa48484612d72565b8252506020612ab584848301612d93565b6020830152506040612ac984828501612d93565b6040830152506060612add84828501612a6d565b6060830152506080612af184828501612d67565b60808301525060a0612b0584828501612d67565b60a08301525060c0612b1984828501612d67565b60c08301525060e0612b2d84828501612d67565b60e083015250610100612b428482850161297c565b61010083015250610120612b588482850161297c565b61012083015250610140612b6e8482850161297c565b61014083015250610160612b8484828501612987565b61016083015250610180612b9a84828501612987565b6101808301525092915050565b60006101a08284031215612bba57600080fd5b612bc56101a06139fe565b90506000612bd38484612d72565b8252506020612be484848301612d72565b6020830152506040612bf884828501612d93565b6040830152506060612c0c8482850161297c565b6060830152506080612c2084828501612a6d565b60808301525060a0612c3484828501612d67565b60a08301525060c0612c4884828501612d67565b60c08301525060e0612c5c84828501612d67565b60e083015250610100612b4284828501612d67565b60006101a08284031215612c8457600080fd5b612c8f6101a06139fe565b90506000612c9d848461297c565b8252506020612cae8484830161297c565b6020830152506040612cc284828501612d88565b6040830152506060612cd684828501612d67565b6060830152506080612cea84828501612d67565b60808301525060a0612cfe84828501612d67565b60a08301525060c0612d1284828501612d9e565b60c08301525060e0612d2684828501612d9e565b60e083015250610100612d3b84828501612a6d565b61010083015250610120612d5184828501612987565b61012083015250610140612b6e84828501612987565b8051610d4681613b51565b8051610d4681613b5a565b8035610d4681613b63565b8051610d4681613b63565b8051610d4681613b6c565b8051610d4681613b75565b8051610d4681613b7e565b600060208284031215612dc657600080fd5b6000612716848461297c565b600080600080600080600080610100898b031215612def57600080fd5b6000612dfb8b8b61297c565b9850506020612e0c8b828c01612d72565b9750506040612e1d8b828c0161297c565b9650506060612e2e8b828c01612d67565b9550506080612e3f8b828c01612d67565b94505060a0612e508b828c01612d93565b93505060c0612e618b828c01612987565b92505060e0612e728b828c01612d67565b9150509295985092959890939650565b60008060008060008060008060008060006101608c8e031215612ea457600080fd5b6000612eb08e8e61297c565b9b50506020612ec18e828f01612d72565b9a50506040612ed28e828f0161297c565b9950506060612ee38e828f01612d67565b9850506080612ef48e828f01612d67565b97505060a0612f058e828f01612d93565b96505060c0612f168e828f01612987565b95505060e0612f278e828f01612d67565b945050610100612f398e828f01612d67565b935050610120612f4b8e828f01612d93565b925050610140612f5d8e828f01612d93565b9150509295989b509295989b9093969950565b600080600060608486031215612f8557600080fd5b6000612f91868661297c565b9350506020612fa286828701612d93565b9250506040612fb386828701612d88565b9150509250925092565b60008060008060008060a08789031215612fd657600080fd5b6000612fe28989612971565b9650506020612ff389828a01612971565b955050604061300489828a01612d7d565b945050606061301589828a01612d7d565b93505060808701356001600160401b0381111561303157600080fd5b61303d89828a01612992565b92509250509295509295509295565b60006020828403121561305e57600080fd5b60006127168484612987565b60006020828403121561307c57600080fd5b81356001600160401b0381111561309257600080fd5b612716848285016129d3565b60006101a082840312156130b157600080fd5b60006127168484612a78565b60006101a082840312156130d057600080fd5b60006127168484612ba7565b60006101a082840312156130ef57600080fd5b60006127168484612c71565b60006020828403121561310d57600080fd5b60006127168484612d67565b60006020828403121561312b57600080fd5b60006127168484612d72565b6000806040838503121561314a57600080fd5b60006131568585612d72565b925050602061316785828601612d67565b9150509250929050565b6000806040838503121561318457600080fd5b60006131908585612d72565b925050602061316785828601612d88565b6000602082840312156131b357600080fd5b60006127168484612d88565b600080604083850312156131d257600080fd5b60006131de8585612d88565b92505060208301516001600160401b038111156131fa57600080fd5b61316785828601612a27565b6000806040838503121561321957600080fd5b60006131568585612d88565b60006020828403121561323757600080fd5b60006127168484612d93565b60006020828403121561325557600080fd5b60006127168484612da9565b600061326d83836132b0565b505060200190565b6000613281838361368b565b505060400190565b600061328183836136af565b600061326d83836136ee565b6132aa81613abe565b82525050565b6132aa81613a63565b60006132c482613a51565b6132ce8185613a55565b93506132d983613a4b565b8060005b838110156133075781516132f18882613261565b97506132fc83613a4b565b9250506001016132dd565b509495945050505050565b600061331d82613a51565b6133278185613a55565b935061333283613a4b565b8060005b8381101561330757815161334a8882613275565b975061335583613a4b565b925050600101613336565b600061336b82613a51565b6133758185613a55565b935061338083613a4b565b8060005b838110156133075781516133988882613289565b97506133a383613a4b565b925050600101613384565b60006133b982613a51565b6133c38185613a55565b93506133ce83613a4b565b8060005b838110156133075781516133e68882613295565b97506133f183613a4b565b9250506001016133d2565b6132aa81613a6e565b6132aa81613a73565b600061341982613a51565b6134238185613a5e565b9350613433818560208601613af1565b9290920192915050565b600061344882613a51565b6134528185613a55565b9350613462818560208601613af1565b61346b81613b1d565b9093019392505050565b6000613482602683613a55565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f8152651c8818d85b1b60d21b602082015260400192915050565b60006134ca601a83613a55565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b6000613503602683613a55565b7f7265636569766543616c6c46726f6d5661756c743a20496e76616c69642061638152651d1a5bdb925960d21b602082015260400192915050565b600061354b602183613a55565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b600061358e601183613a55565b70141c9a58d9481b9bdd081cd95d1d1b1959607a1b815260200192915050565b60006135bb601d83613a55565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000815260200192915050565b60006135f4602a83613a55565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e8152691bdd081cdd58d8d9595960b21b602082015260400192915050565b6000613640603683613a55565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f81527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b602082015260400192915050565b8051604083019061369c84826136dc565b50602082015161149860208501826132b0565b805160408301906136c084826132b0565b5060208201516114986020850182613700565b6132aa81613a80565b6132aa81613a98565b6132aa81613acf565b6132aa81613aa0565b6132aa81613ada565b6132aa81613aa3565b6000611e17828461340e565b60208101610d4682846132b0565b6040810161373182856132b0565b611e1760208301846132b0565b6040810161374c82856132b0565b611e1760208301846136e5565b6101008101613768828b6132b0565b613775602083018a6136dc565b61378260408301896132b0565b61378f60608301886136d3565b61379c60808301876136d3565b6137a960a0830186613700565b6137b660c08301856133fc565b6137c360e08301846136d3565b9998505050505050505050565b61016081016137df828e6132b0565b6137ec602083018d6136dc565b6137f9604083018c6132b0565b613806606083018b6136d3565b613813608083018a6136d3565b61382060a0830189613700565b61382d60c08301886133fc565b61383a60e08301876136d3565b6138486101008301866136d3565b613856610120830185613700565b613864610140830184613700565b9c9b505050505050505050505050565b6040810161388282856132b0565b611e1760208301846136ee565b604080825281016138a081856132b9565b9050818103602083015261271681846133ae565b60208082528101611e178184613312565b60208082528101611e178184613360565b60208101610d468284613405565b60208082528101611e17818461343d565b60208082528101610d4681613475565b60208082528101610d46816134bd565b60208082528101610d46816134f6565b60208082528101610d468161353e565b60208082528101610d4681613581565b60208082528101610d46816135ae565b60208082528101610d46816135e7565b60208082528101610d4681613633565b60208101610d4682846136dc565b6040810161399182856136dc565b611e1760208301846136d3565b6040810161388282856136dc565b60208101610d4682846136ee565b6040810161373182856136ee565b60208101610d4682846136f7565b606081016139e482866136f7565b6139f160208301856132a1565b61271660408301846136ee565b6040518181016001600160401b0381118282101715613a1c57600080fd5b604052919050565b60006001600160401b03821115613a3a57600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b919050565b6000610d4682613a8c565b151590565b6001600160e01b03191690565b6001600160801b031690565b6001600160a01b031690565b62ffffff1690565b90565b63ffffffff1690565b6001600160401b031690565b60ff1690565b6000610d46826000610d4682613a63565b6000610d4682613a98565b6000610d4682613aa3565b82818337506000910152565b60005b83811015613b0c578181015183820152602001613af4565b838111156114985750506000910152565b601f01601f191690565b613b3081613a63565b811461019357600080fd5b613b3081613a6e565b6002811061019357600080fd5b613b3081613a80565b613b3081613a98565b613b3081613aa0565b613b3081613aa3565b613b3081613aac565b613b3081613ab856fea164736f6c634300060c000a", "sourceMap": "1230:18396:132:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18581:101;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2237:48;;;;;;:::i;:::-;;:::i;:::-;;13627:2358;;;:::i;:::-;;;;;;;;:::i;19365:259::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;2413:1155::-;;;;;;:::i;:::-;;:::i;13032:176::-;;;:::i;18792:132::-;;;:::i;:::-;;;;;;;:::i;18581:101::-;18631:20;18670:5;18663:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;18663:12:132;;;;;;;;;;;;;;;;;;;;;;18581:101;:::o;2237:48::-;;:::o;13627:2358::-;13706:24;13732:25;13798:39;13840:20;:18;:20::i;:::-;13895:22;;13798:62;;-1:-1:-1;13895:22:132;-1:-1:-1;;;;;13937:29:132;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13937:29:132;;13927:39;;14001:14;-1:-1:-1;;;;;13987:29:132;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13987:29:132;;13976:40;;14031:9;14026:389;14046:14;14042:1;:18;14026:389;;;14081:36;;:::i;:::-;14120:15;14136:1;14120:18;;;;;;;;;;;;;;14081:57;;14154:22;14178:23;14205:114;14243:14;:22;;;14283:14;:22;;;14205:20;:114::i;:::-;14153:166;;;;14347:14;14334:7;14342:1;14334:10;;;;;;;;;;;;;:27;-1:-1:-1;;;;;14334:27:132;;;-1:-1:-1;;;;;14334:27:132;;;;;14389:15;14375:8;14384:1;14375:11;;;;;;;;;;;;;;;;;:29;-1:-1:-1;;;14062:3:132;;14026:389;;;-1:-1:-1;14449:19:132;14471:12;;;14493:670;14513:11;14509:1;:15;14493:670;;;14545:41;;:::i;:::-;14589:27;-1:-1:-1;;;;;14589:33:132;;14640:5;14646:1;14640:8;;;;;;;;;;;;;;;;;:15;14589:80;;-1:-1:-1;;;;;;14589:80:132;;;;;;;;;14640:15;;;14589:80;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14545:124;;14762:4;:12;;;14757:60;;14794:8;;;14757:60;14832:22;14856:23;14883:94;14921:4;:12;;;14951:4;:12;;;14883:94;;:20;:94::i;:::-;14831:146;;-1:-1:-1;14831:146:132;-1:-1:-1;14996:19:132;;14992:161;;15045:31;:7;15061:14;15045:15;:31::i;:::-;15035:41;-1:-1:-1;15105:33:132;:8;15122:15;15105:16;:33::i;:::-;15094:44;;14992:161;14493:670;;;;14526:3;;14493:670;;;;15224:37;15276:9;15271:648;15291:11;15287:1;:15;15271:648;;;15323:16;15342:5;15348:1;15342:8;;;;;;;;;;;;;;;;;:17;;;;-1:-1:-1;;;;;15342:17:132;;-1:-1:-1;15445:39:132;:20;15342:17;15445:29;:39::i;:::-;15441:86;;;15504:8;;;15441:86;15644:38;:20;15673:8;15644:28;:38::i;:::-;15621:61;;15697:15;15721:8;-1:-1:-1;;;;;15715:25:132;;15749:4;15715:40;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;15697:58;-1:-1:-1;15774:11:132;;15770:139;;15815:25;:7;15831:8;15815:15;:25::i;:::-;15805:35;-1:-1:-1;15869:25:132;:8;15886:7;15869:16;:25::i;:::-;15858:36;;15770:139;15271:648;;;15304:3;;15271:648;;;;15936:42;15960:7;15969:8;15936:23;:42::i;:::-;15929:49;;;;;;;;13627:2358;;:::o;19365:259::-;19550:66;19365:259;;;;;;;;:::o;2413:1155::-;2498:16;2516:23;2554:11;2543:41;;;;;;;;;;;;:::i;:::-;2497:87;;-1:-1:-1;2497:87:132;-1:-1:-1;2599:40:132;2595:967;;2655:31;2675:10;2655:19;:31::i;:::-;2595:967;;;2727:23;2707:8;:44;2703:859;;;2767:35;2791:10;2767:23;:35::i;2703:859::-;2843:22;2823:8;:43;2819:743;;;2882:34;2905:10;2882:22;:34::i;2819:743::-;2957:13;2937:8;:34;2933:629;;;2987:25;3001:10;2987:13;:25::i;2933:629::-;3053:32;3033:8;:53;3029:533;;;3102:44;3135:10;3102:32;:44::i;3029:533::-;3187:28;3167:8;:49;3163:399;;;3232:40;3261:10;3232:28;:40::i;3163:399::-;3313:17;3293:8;:38;3289:273;;;3347:19;:17;:19::i;3289:273::-;3407:18;3387:8;:39;3383:179;;;3442:30;3461:10;3442:18;:30::i;3383:179::-;3503:48;;-1:-1:-1;;;3503:48:132;;;;;;;:::i;:::-;;;;;;;;3383:179;2413:1155;;;:::o;13032:176::-;13108:24;13134:25;13032:176;:::o;18792:132::-;18843:40;18902:15;18895:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;18895:22:132;;;;-1:-1:-1;;;18895:22:132;;;;;;;;;;;;;;;;;;16304:2124;16402:14;16418:15;16449:41;16519:8;16449:79;;16538:35;16612:15;-1:-1:-1;;;;;16612:31:132;;:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16538:117;;16665:14;16682:15;-1:-1:-1;;;;;16682:34:132;;16717:8;16682:44;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16665:61;;16736:19;16758:12;-1:-1:-1;;;;;16758:27:132;;16786:6;16758:35;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16736:57;;16826:1;16812:11;-1:-1:-1;;;;;16812:15:132;;16804:45;;;;-1:-1:-1;;;16804:45:132;;;;;;;:::i;:::-;16860:51;;:::i;:::-;16914:59;;-1:-1:-1;;;16914:59:132;;-1:-1:-1;;;;;16914:29:132;;;;;:59;;16957:6;;16914:59;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16860:113;;16983:20;17006:15;-1:-1:-1;;;;;17006:28:132;;17035:8;17006:38;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16983:61;;17176:10;:23;;;-1:-1:-1;;;;;17161:38:132;:11;-1:-1:-1;;;;;17161:38:132;;;:69;;;;;17203:10;:27;;;17161:69;17157:622;;;17346:23;;;;17279:104;;-1:-1:-1;;;17279:104:132;;17246:30;;-1:-1:-1;;;;;17279:25:132;;;;;:104;;17322:6;;17346:23;17279:104;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17246:137;;17407:10;:23;;;17398:32;;17455:157;17565:12;-1:-1:-1;;;;;17565:26:132;;:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17557:37;;17553:2;:41;17455:72;17490:10;:23;;;-1:-1:-1;;;;;17484:39:132;;:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17455:12;;17476:50;;17472:2;:54;17455:16;:72::i;:::-;:76;;:157::i;:::-;17445:167;;17641:22;17631:7;:32;17627:103;;;17693:22;17683:32;;17627:103;17744:24;;;;;;;;;17157:622;17914:10;:22;;;-1:-1:-1;;;;;17900:36:132;:11;-1:-1:-1;;;;;17900:36:132;;17896:214;;;17966:10;:22;;;17952:36;;17896:214;;;18023:10;:23;;;-1:-1:-1;;;;;18009:37:132;:11;-1:-1:-1;;;;;18009:37:132;;18005:105;;;18076:10;:23;;;18062:37;;18005:105;18129:15;-1:-1:-1;;;;;18129:26:132;;:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18120:37;;18167:27;18197:12;-1:-1:-1;;;;;18197:25:132;;18223:6;18231;18197:41;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;18167:71;-1:-1:-1;18258:29:132;:12;-1:-1:-1;;;;;18258:29:132;;:16;:29::i;:::-;18248:39;;18312:19;18302:7;:29;18298:89;;;18357:19;18347:29;;18298:89;18397:24;;;;;;;16304:2124;;;;;;:::o;1668:374:354:-;1776:27;1846:5;:12;1861:1;1846:16;-1:-1:-1;;;;;1832:31:354;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1832:31:354;;1819:44;;1878:9;1873:88;1893:5;:12;1889:1;:16;1873:88;;;1942:5;1948:1;1942:8;;;;;;;;;;;;;;1926:10;1937:1;1926:13;;;;;;;;-1:-1:-1;;;;;1926:24:354;;;:13;;;;;;;;;;;:24;1907:3;;1873:88;;;;1997:10;1970;1981:5;:12;1970:24;;;;;;;;;;;;;:37;-1:-1:-1;;;;;1970:37:354;;;-1:-1:-1;;;;;1970:37:354;;;;;1668:374;;;;;:::o;::363:-;1776:27;1846:5;:12;1861:1;1846:16;-1:-1:-1;;;;;1832:31:363;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1832:31:363;;1819:44;;1878:9;1873:88;1893:5;:12;1889:1;:16;1873:88;;;1942:5;1948:1;1942:8;;;;;;;;;;;;;;1926:10;1937:1;1926:13;;;;;;;;;;;;;;;;;:24;1907:3;;1873:88;;;;1997:10;1970;1981:5;:12;1970:24;;;;;;;;;;;;;:37;;;;;1668:374;;;;:::o;2489:299:354:-;2595:17;2633:9;2628:132;2648:5;:12;2644:1;:16;2628:132;;;2696:5;2702:1;2696:8;;;;;;;;;;;;;;-1:-1:-1;;;;;2685:19:354;:7;-1:-1:-1;;;;;2685:19:354;;2681:69;;;2731:4;2724:11;;;;;2681:69;2662:3;;2628:132;;;-1:-1:-1;2776:5:354;;2489:299;-1:-1:-1;;;2489:299:354:o;749:1574:355:-;888:34;924:35;979:10;:17;1000:1;979:22;975:99;;;1017:46;;975:99;1115:1;;1126:361;1150:10;:17;1146:1;:21;1126:361;;;1188:13;1220:9;1215:179;1235:1;1231;:5;1215:179;;;1282:10;1293:1;1282:13;;;;;;;;;;;;;;-1:-1:-1;;;;;1265:30:355;:10;1276:1;1265:13;;;;;;;;;;;;;;-1:-1:-1;;;;;1265:30:355;;1261:119;;;1330:4;1319:15;;1356:5;;1261:119;1238:3;;1215:179;;;;1412:8;1407:70;;1440:22;;;;;1407:70;-1:-1:-1;1169:3:355;;1126:361;;;;1531:20;-1:-1:-1;;;;;1517:35:355;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1517:35:355;;1497:55;;1597:20;-1:-1:-1;;;;;1583:35:355;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1583:35:355;;1562:56;;1628:28;1671:9;1666:594;1686:10;:17;1682:1;:21;1666:594;;;1724:13;1756:9;1751:268;1771:20;1767:1;:24;1751:268;;;1837:17;1855:1;1837:20;;;;;;;;;;;;;;-1:-1:-1;;;;;1820:37:355;:10;1831:1;1820:13;;;;;;;;;;;;;;-1:-1:-1;;;;;1820:37:355;;1816:189;;;1892:4;1881:15;;1944:11;1956:1;1944:14;;;;;;;;;;;;;;1919:18;1938:1;1919:21;;;;;;;;;;;;;:39;;;;;;;;;;;1981:5;;1816:189;1793:3;;1751:268;;;;2037:8;2032:218;;2107:10;2118:1;2107:13;;;;;;;;;;;;;;2065:17;2083:20;2065:39;;;;;;;;;;;;;:55;-1:-1:-1;;;;;2065:55:355;;;-1:-1:-1;;;;;2065:55:355;;;;;2181:11;2193:1;2181:14;;;;;;;;;;;;;;2138:18;2157:20;2138:40;;;;;;;;;;;;;;;;;:57;2213:22;;;;;2032:218;-1:-1:-1;1705:3:355;;1666:594;;;;2270:46;;749:1574;;;;;:::o;3653:939:132:-;3727:14;3743:13;3760:42;3790:11;3760:29;:42::i;:::-;3726:76;;;;3813;;:::i;:::-;3892:63;;-1:-1:-1;;;3892:63:132;;-1:-1:-1;;;;;3892:44:132;:54;;;;:63;;3947:7;;3892:63;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3813:142;;3966:41;4036:8;:16;;;3966:87;;4063:18;4084:15;-1:-1:-1;;;;;4084:27:132;;:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4152:17;;;;4063:50;;-1:-1:-1;4180:133:132;-1:-1:-1;;;;;4180:25:132;;4227:44;-1:-1:-1;;4180:25:132;:133::i;:::-;4324:64;;-1:-1:-1;;;4324:64:132;;-1:-1:-1;;;;;4324:44:132;:48;;;;:64;;4373:7;;4382:5;;4324:64;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;4441:83:132;;-1:-1:-1;;;;;;4441:25:132;;4475:44;4522:1;4441:25;:83::i;:::-;4535:50;4555:8;:16;;;4573:11;4535:19;:50::i;:::-;3653:939;;;;;;;:::o;4694:467::-;4772:13;4787:14;4805:46;4839:11;4805:33;:46::i;:::-;4771:80;;;;4862:41;;:::i;:::-;4906;;-1:-1:-1;;;4906:41:132;;-1:-1:-1;;;;;4906:27:132;:33;;;;:41;;4940:6;;4906:41;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4964:13;;;;4862:85;;-1:-1:-1;4958:78:132;;-1:-1:-1;;;;;4958:32:132;4999:27;5029:6;4958:32;:78::i;:::-;5047:55;;-1:-1:-1;;;5047:55:132;;-1:-1:-1;;;;;5047:27:132;:39;;;;:55;;5087:6;;5095;;5047:55;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;5113:41;5127:4;:12;;;5141:4;:12;;;5113:41;;:13;:41::i;:::-;4694:467;;;;:::o;5242:557::-;5319:13;5334;5351:45;5384:11;5351:32;:45::i;:::-;5318:78;;;;5407:41;;:::i;:::-;5451;;-1:-1:-1;;;5451:41:132;;-1:-1:-1;;;;;5451:27:132;:33;;;;:41;;5485:6;;5451:41;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5509:13;;;;5407:85;;-1:-1:-1;5503:89:132;;-1:-1:-1;;;;;5503:32:132;5544:27;-1:-1:-1;;5503:32:132;:89::i;:::-;5603:53;;-1:-1:-1;;;5603:53:132;;-1:-1:-1;;;;;5603:27:132;:38;;;;:53;;5642:6;;5650:5;;5603:53;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;5673:13:132;;;;5667:73;;-1:-1:-1;;;;;5667:32:132;5708:27;5738:1;5667:32;:73::i;:::-;5751:41;5765:4;:12;;;5779:4;:12;;;5751:41;;:13;:41::i;5858:607::-;5926:15;5943:14;5959:13;5976:36;6000:11;5976:23;:36::i;:::-;6134:37;;-1:-1:-1;;;6134:37:132;;5925:87;;-1:-1:-1;5925:87:132;;-1:-1:-1;5925:87:132;-1:-1:-1;5925:87:132;;6023:41;;-1:-1:-1;;;;;6134:28:132;;;;;:37;;5925:87;;6134:37;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6111:60;;-1:-1:-1;;6186:5:132;:26;:51;;;;6225:12;6216:5;:21;6186:51;6182:277;;;6253:58;;-1:-1:-1;;;6253:58:132;;-1:-1:-1;;;;;6253:23:132;;;;;:58;;6277:7;;6286:10;;6298:12;;6253:58;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6326:40;6349:7;6358;6326:22;:40::i;:::-;6182:277;;;6397:51;;-1:-1:-1;;;6397:51:132;;-1:-1:-1;;;;;6397:23:132;;;;;:51;;6421:7;;6430:10;;6442:5;;6397:51;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6182:277;5858:607;;;;;;:::o;6536:899::-;6636:15;6665:14;6693:16;6723:11;6748;6773:16;6803:17;6834:15;6863:14;6891:15;6920;6948:55;6991:11;6948:42;:55::i;:::-;6622:381;;;;;;;;;;;;;;;;;;;;;;7014:33;7030:7;7039;7014:15;:33::i;:::-;7074:291;;-1:-1:-1;;;7074:291:132;;7058:13;;-1:-1:-1;;;;;7074:27:132;:49;;;;:291;;7137:7;;7158;;7179:8;;7201:3;;7218;;7235:9;;7258:12;;7284:7;;7305:6;;7325:8;;7347;;7074:291;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7058:307;;7376:52;7393:6;7401:8;7411:7;7420;7376:16;:52::i;:::-;6536:899;;;;;;;;;;;;;:::o;7502:733::-;7598:15;7627:14;7655:16;7685:11;7710;7735:16;7765:17;7796:13;7822:51;7861:11;7822:38;:51::i;:::-;7584:289;;;;;;;;;;;;;;;;7884:33;7900:7;7909;7884:15;:33::i;:::-;7944:221;;-1:-1:-1;;;7944:221:132;;7928:13;;-1:-1:-1;;;;;7944:27:132;:45;;;;:221;;8003:7;;8024;;8045:8;;8067:3;;8084;;8101:9;;8124:12;;8150:5;;7944:221;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7928:237;;8176:52;8193:6;8201:8;8211:7;8220;8176:16;:52::i;8300:471::-;8347:19;8369:10;:8;:10::i;:::-;8536:12;;8347:32;;-1:-1:-1;8467:37:132;;8514:19;8558:139;8578:11;8574:1;:15;8558:139;;;8633:53;8668:5;8674:1;8668:8;;;;;;;;;;;;;;:17;;;8633:20;:34;;:53;;;;:::i;:::-;8610:76;-1:-1:-1;8591:3:132;;8558:139;;;;8707:57;8731:10;8743:20;8707:23;:57::i;8826:1330::-;8898:13;8914:41;8943:11;8914:28;:41::i;:::-;8898:57;;8966:41;;:::i;:::-;9010;;-1:-1:-1;;;9010:41:132;;-1:-1:-1;;;;;9010:27:132;:33;;;;:41;;9044:6;;9010:41;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8966:85;;9141:4;:12;;;9137:221;;;9169:42;;-1:-1:-1;;;9169:42:132;;-1:-1:-1;;;;;9169:27:132;:34;;;;:42;;9204:6;;9169:42;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9300:47;9320:4;:12;;;9334:4;:12;;;9300:47;;:19;:47::i;:::-;9368:19;9390:12;;;9412:738;9432:11;9428:1;:15;9412:738;;;9487:6;9468:25;;:5;9474:1;9468:8;;;;;;;;;;;;;;;;;:15;;;:25;9464:676;;;9590:20;9613:5;9619:1;9613:8;;;;;;;;;;;;;;;:17;;;;;;;;;;-1:-1:-1;;;;;9613:17:132;9590:40;;9649:22;9680:5;9686:1;9680:8;;;;;;;;;;;;;;;;:17;9734:41;;-1:-1:-1;;;9734:41:132;;9680:17;;;;-1:-1:-1;;;;;9680:17:132;;-1:-1:-1;9680:17:132;;9734:26;;:41;;9769:4;;9734:41;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9716:59;-1:-1:-1;9797:11:132;;9793:108;;9832:50;-1:-1:-1;;;;;9832:29:132;;9862:10;9874:7;9832:29;:50::i;:::-;9941:1;9927:11;:15;9923:1;:19;9919:99;;;9977:5;9997:1;9983:11;:15;9977:22;;;;;;;;;;;;;;;9966:5;9972:1;9966:8;;;;;;;;;;;;;;;;:33;;:8;;:33;;-1:-1:-1;;9966:33:132;;;;;;;;;;;;;;-1:-1:-1;;;;;9966:33:132;;;;;;;-1:-1:-1;;;;;;9966:33:132;;;;;;;;;9919:99;10035:5;:11;;;;;;;;;;;;;;;;-1:-1:-1;;10035:11:132;;;;;-1:-1:-1;;;;;;10035:11:132;;;;;;;;;10069:33;;-1:-1:-1;;;;;10069:33:132;;;10035:11;10069:33;;;;;10035:11;10069:33;10120:5;;;;;9464:676;9445:3;;9412:738;;;;8826:1330;;;;:::o;3538:215:442:-;3596:7;3619:6;3615:20;;-1:-1:-1;3634:1:442;3627:8;;3615:20;3657:5;;;3661:1;3657;:5;:1;3680:5;;;;;:10;3672:56;;;;-1:-1:-1;;;3672:56:442;;;;;;;:::i;:::-;3745:1;3538:215;-1:-1:-1;;;3538:215:442:o;4217:150::-;4275:7;4306:1;4302;:5;4294:44;;;;-1:-1:-1;;;4294:44:442;;;;;;;:::i;:::-;4359:1;4355;:5;;;;;;;4217:150;-1:-1:-1;;;4217:150:442:o;629:218:131:-;741:18;761:14;809:11;798:42;;;;;;;;;;;;:::i;:::-;791:49;;;;629:218;;;:::o;1348:613:450:-;1713:10;;;1712:62;;-1:-1:-1;1729:39:450;;-1:-1:-1;;;1729:39:450;;-1:-1:-1;;;;;1729:15:450;;;;;:39;;1753:4;;1760:7;;1729:39;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:44;1712:62;1704:150;;;;-1:-1:-1;;;1704:150:450;;;;;;;:::i;:::-;1864:90;1884:5;1914:22;;;1938:7;1947:5;1891:62;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;1891:62:450;;;;;;;;;;;;;;-1:-1:-1;;;;;1891:62:450;-1:-1:-1;;;;;;1891:62:450;;;;;;;;;;1864:19;:90::i;10242:219:132:-;10345:54;;;;;;;;-1:-1:-1;;;;;10345:54:132;;;;;;;;;;;;;;;;10324:15;:76;;;;;;;-1:-1:-1;10324:76:132;;;;;;;;;;;;;-1:-1:-1;;;;;;10324:76:132;;;;;;;;;;;-1:-1:-1;;;;10324:76:132;-1:-1:-1;;;10324:76:132;;;;;;;;;;;;10415:39;;10345:54;;;10415:39;;;10242:219;;:::o;927::131:-;1043:14;1059:15;1108:11;1097:42;;;;;;;;;;;;:::i;11413:590:132:-;11665:37;;-1:-1:-1;;;11665:37:132;;11563:8;;11714:4;;-1:-1:-1;;;;;11665:23:132;;;;;:37;;11689:12;;11665:37;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;11665:54:132;;11661:336;;;11735:43;11755:8;11765:12;11735:19;:43::i;11661:336::-;11884:14;11933:1;11901:15;-1:-1:-1;;;;;11901:27:132;;:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:33;11884:50;;11948:38;11968:8;11978:7;11948:19;:38::i;1512:282:131:-;1631:16;1661:15;1690:14;1747:11;1736:51;;;;;;;;;;;;:::i;:::-;1729:58;;;;;;1512:282;;;;;:::o;10554:673:132:-;10671:15;:22;10639:29;10703:518;10723:21;10719:1;:25;10703:518;;;10765:36;;:::i;:::-;10804:15;10820:1;10804:18;;;;;;;;;;;;;;;;;10765:57;;;;;;;;;10804:18;;10765:57;-1:-1:-1;;;;;10765:57:132;;;;;-1:-1:-1;;;10765:57:132;;;;;;;;;;;;;-1:-1:-1;10840:34:132;;;:72;;;;;10904:8;-1:-1:-1;;;;;10878:34:132;:14;:22;;;-1:-1:-1;;;;;10878:34:132;;10840:72;10836:375;;;10964:1;10940:21;:25;10936:1;:29;10932:139;;;11010:15;11050:1;11026:21;:25;11010:42;;;;;;;;;;;;;;;10989:15;11005:1;10989:18;;;;;;;;;;;;;;;;:63;;:18;;:63;;-1:-1:-1;;;;;;10989:63:132;-1:-1:-1;;;;;10989:63:132;;;;;;;;;;;;;-1:-1:-1;;;10989:63:132;;;;;;-1:-1:-1;;;;10989:63:132;;;;;;;;;10932:139;11088:15;:21;;;;;;;;;;;;;;;;-1:-1:-1;;11088:21:132;;;;;-1:-1:-1;;;;;;11088:21:132;;;;;;;;;11132:41;;11088:21;11132:41;;;-1:-1:-1;;;;;11132:41:132;;;;;11088:21;11132:41;11191:5;;;10836:375;-1:-1:-1;10746:3:132;;10703:518;;1883:900:131;2021:16;2051:15;2080:17;2111:12;2137;2163:17;2194:18;2226:16;2256:15;2285:16;2315;2403:11;2375:401;;;;;;;;;;;;:::i;:::-;2356:420;;;;;;;;;;;;;;;;;;;;;;1883:900;;;;;;;;;;;;;:::o;12576:210:132:-;12654:125;;-1:-1:-1;;;12654:125:132;;-1:-1:-1;;;;;12654:43:132;;;;;:125;;12719:27;;12761:8;;12654:125;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12084:313;12236:42;12259:8;12269;12236:42;;:22;:42::i;:::-;12300:44;;;;;;;;;;;;;;;-1:-1:-1;;;;;12300:44:132;;;;;;;;;-1:-1:-1;12289:56:132;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;12289:56:132;;;;;;;;;;;-1:-1:-1;;;;;;12289:56:132;;;;;;;;;;;;;;12361:29;;12300:44;;;12361:29;;;12084:313;;;;:::o;2868:542:131:-;3002:16;3032:15;3061:17;3092:12;3118;3144:17;3175:18;3207:14;3293:11;3265:138;;;;;;;;;;;;:::i;:::-;3246:157;;;;;;;;;;;;;;;;2868:542;;;;;;;;;:::o;2136:277:354:-;2250:27;2297;2306:5;2313:10;2297:8;:27::i;:::-;2293:70;;;-1:-1:-1;2347:5:354;2340:12;;2293:70;2380:26;2388:5;2395:10;2380:7;:26::i;3539:585:355:-;3649:36;3737:7;:14;-1:-1:-1;;;;;3723:29:355;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3723:29:355;;3701:51;;3767:9;3762:319;3782:7;:14;3778:1;:18;3762:319;;;3817:19;3845:7;3853:1;3845:10;;;;;;;;;;;;;;3817:39;;3895:13;-1:-1:-1;;;;;3895:23:355;;3927:4;3895:38;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3870:19;3890:1;3870:22;;;;;;;;;;;;;:63;;;;;3976:1;3951:19;3971:1;3951:22;;;;;;;;;;;;;;:26;3947:124;;;3997:59;4024:7;4033:19;4053:1;4033:22;;;;;;;;;;;;;;3997:13;-1:-1:-1;;;;;3997:26:355;;;:59;;;;;:::i;:::-;-1:-1:-1;3798:3:355;;3762:319;;;;3539:585;;;;:::o;3485:188:131:-;3596:14;3644:11;3633:33;;;;;;;;;;;;:::i;704:175:450:-;786:86;806:5;836:23;;;861:2;865:5;813:58;;;;;;;;;:::i;2967:751::-;3386:23;3412:69;3440:4;3412:69;;;;;;;;;;;;;;;;;3420:5;-1:-1:-1;;;;;3412:27:450;;;:69;;;;;:::i;:::-;3495:17;;3386:95;;-1:-1:-1;3495:21:450;3491:221;;3635:10;3624:30;;;;;;;;;;;;:::i;:::-;3616:85;;;;-1:-1:-1;;;3616:85:450;;;;;;;:::i;3581:193:451:-;3684:12;3715:52;3737:6;3745:4;3751:1;3754:12;3715:21;:52::i;:::-;3708:59;3581:193;-1:-1:-1;;;;3581:193:451:o;4608:523::-;4735:12;4792:5;4767:21;:30;;4759:81;;;;-1:-1:-1;;;4759:81:451;;;;;;;:::i;:::-;4858:18;4869:6;4858:10;:18::i;:::-;4850:60;;;;-1:-1:-1;;;4850:60:451;;;;;;;:::i;:::-;4981:12;4995:23;5022:6;-1:-1:-1;;;;;5022:11:451;5042:5;5050:4;5022:33;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4980:75;;;;5072:52;5090:7;5099:10;5111:12;5072:17;:52::i;:::-;5065:59;4608:523;-1:-1:-1;;;;;;;4608:523:451:o;726:413::-;1086:20;1124:8;;;726:413::o;7091:725::-;7206:12;7234:7;7230:580;;;-1:-1:-1;7264:10:451;7257:17;;7230:580;7375:17;;:21;7371:429;;7633:10;7627:17;7693:15;7680:10;7676:2;7672:19;7665:44;7582:145;7772:12;7765:20;;-1:-1:-1;;;7765:20:451;;;;;;;;:::i;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5:130::-;72:20;;97:33;72:20;97:33;:::i;142:134::-;220:13;;238:33;220:13;238:33;:::i;440:128::-;515:13;;533:30;515:13;533:30;:::i;589:336::-;;;703:3;696:4;688:6;684:17;680:27;670:2;;721:1;718;711:12;670:2;-1:-1;741:20;;-1:-1;;;;;770:30;;767:2;;;813:1;810;803:12;767:2;847:4;839:6;835:17;823:29;;898:3;890:4;882:6;878:17;868:8;864:32;861:41;858:2;;;915:1;912;905:12;934:440;;1035:3;1028:4;1020:6;1016:17;1012:27;1002:2;;1053:1;1050;1043:12;1002:2;1090:6;1077:20;1112:64;1127:48;1168:6;1127:48;:::i;:::-;1112:64;:::i;:::-;1103:73;;1196:6;1189:5;1182:21;1232:4;1224:6;1220:17;1265:4;1258:5;1254:16;1300:3;1291:6;1286:3;1282:16;1279:25;1276:2;;;1317:1;1314;1307:12;1276:2;1327:41;1361:6;1356:3;1351;1327:41;:::i;:::-;995:379;;;;;;;:::o;1383:442::-;;1495:3;1488:4;1480:6;1476:17;1472:27;1462:2;;1513:1;1510;1503:12;1462:2;1543:6;1537:13;1565:64;1580:48;1621:6;1580:48;:::i;1565:64::-;1556:73;;1649:6;1642:5;1635:21;1685:4;1677:6;1673:17;1718:4;1711:5;1707:16;1753:3;1744:6;1739:3;1735:16;1732:25;1729:2;;;1770:1;1767;1760:12;1729:2;1780:39;1812:6;1807:3;1802;1780:39;:::i;1833:174::-;1931:13;;1949:53;1931:13;1949:53;:::i;2418:2280::-;;2545:6;2533:9;2528:3;2524:19;2520:32;2517:2;;;2565:1;2562;2555:12;2517:2;2583:22;2598:6;2583:22;:::i;:::-;2574:31;-1:-1;2661:1;2693:59;2748:3;2728:9;2693:59;:::i;:::-;2668:85;;-1:-1;2819:2;2852:59;2907:3;2883:22;;;2852:59;:::i;:::-;2845:4;2838:5;2834:16;2827:85;2774:149;2976:2;3009:59;3064:3;3055:6;3044:9;3040:22;3009:59;:::i;:::-;3002:4;2995:5;2991:16;2984:85;2933:147;3135:2;3168:75;3239:3;3230:6;3219:9;3215:22;3168:75;:::i;:::-;3161:4;3154:5;3150:16;3143:101;3090:165;3311:3;3345:60;3401:3;3392:6;3381:9;3377:22;3345:60;:::i;:::-;3338:4;3331:5;3327:16;3320:86;3265:152;3468:3;3502:60;3558:3;3549:6;3538:9;3534:22;3502:60;:::i;:::-;3495:4;3488:5;3484:16;3477:86;3427:147;3623:3;3657:60;3713:3;3704:6;3693:9;3689:22;3657:60;:::i;:::-;3650:4;3643:5;3639:16;3632:86;3584:145;3778:3;3812:60;3868:3;3859:6;3848:9;3844:22;3812:60;:::i;:::-;3805:4;3798:5;3794:16;3787:86;3739:145;3937:3;3973:60;4029:3;4020:6;4009:9;4005:22;3973:60;:::i;:::-;3964:6;3957:5;3953:18;3946:88;3894:151;4099:3;4135:60;4191:3;4182:6;4171:9;4167:22;4135:60;:::i;:::-;4126:6;4119:5;4115:18;4108:88;4055:152;4259:3;4295:60;4351:3;4342:6;4331:9;4327:22;4295:60;:::i;:::-;4286:6;4279:5;4275:18;4268:88;4217:150;4425:3;4461:57;4514:3;4505:6;4494:9;4490:22;4461:57;:::i;:::-;4452:6;4445:5;4441:18;4434:85;4377:153;4583:3;4619:57;4672:3;4663:6;4652:9;4648:22;4619:57;:::i;:::-;4610:6;4603:5;4599:18;4592:85;4540:148;2511:2187;;;;:::o;4748:2267::-;;4871:6;4859:9;4854:3;4850:19;4846:32;4843:2;;;4891:1;4888;4881:12;4843:2;4909:22;4924:6;4909:22;:::i;:::-;4900:31;-1:-1;4983:1;5015:59;5070:3;5050:9;5015:59;:::i;:::-;4990:85;;-1:-1;5139:2;5172:59;5227:3;5203:22;;;5172:59;:::i;:::-;5165:4;5158:5;5154:16;5147:85;5096:147;5298:2;5331:59;5386:3;5377:6;5366:9;5362:22;5331:59;:::i;:::-;5324:4;5317:5;5313:16;5306:85;5253:149;5454:2;5487:60;5543:3;5534:6;5523:9;5519:22;5487:60;:::i;:::-;5480:4;5473:5;5469:16;5462:86;5412:147;5614:3;5648:75;5719:3;5710:6;5699:9;5695:22;5648:75;:::i;:::-;5641:4;5634:5;5630:16;5623:101;5569:166;5786:3;5820:60;5876:3;5867:6;5856:9;5852:22;5820:60;:::i;:::-;5813:4;5806:5;5802:16;5795:86;5745:147;5943:3;5977:60;6033:3;6024:6;6013:9;6009:22;5977:60;:::i;:::-;5970:4;5963:5;5959:16;5952:86;5902:147;6098:3;6132:60;6188:3;6179:6;6168:9;6164:22;6132:60;:::i;:::-;6125:4;6118:5;6114:16;6107:86;6059:145;6253:3;6289:60;6345:3;6336:6;6325:9;6321:22;6289:60;:::i;7069:2332::-;;7198:6;7186:9;7181:3;7177:19;7173:32;7170:2;;;7218:1;7215;7208:12;7170:2;7236:22;7251:6;7236:22;:::i;:::-;7227:31;-1:-1;7310:1;7342:60;7398:3;7378:9;7342:60;:::i;:::-;7317:86;;-1:-1;7472:2;7505:60;7561:3;7537:22;;;7505:60;:::i;:::-;7498:4;7491:5;7487:16;7480:86;7424:153;7633:2;7666:60;7722:3;7713:6;7702:9;7698:22;7666:60;:::i;:::-;7659:4;7652:5;7648:16;7641:86;7587:151;7795:2;7828:60;7884:3;7875:6;7864:9;7860:22;7828:60;:::i;:::-;7821:4;7814:5;7810:16;7803:86;7748:152;7958:3;7992:60;8048:3;8039:6;8028:9;8024:22;7992:60;:::i;:::-;7985:4;7978:5;7974:16;7967:86;7910:154;8121:3;8155:60;8211:3;8202:6;8191:9;8187:22;8155:60;:::i;:::-;8148:4;8141:5;8137:16;8130:86;8074:153;8286:3;8320:59;8375:3;8366:6;8355:9;8351:22;8320:59;:::i;:::-;8313:4;8306:5;8302:16;8295:85;8237:154;8445:3;8479:59;8534:3;8525:6;8514:9;8510:22;8479:59;:::i;:::-;8472:4;8465:5;8461:16;8454:85;8401:149;8610:3;8646:80;8722:3;8713:6;8702:9;8698:22;8646:80;:::i;:::-;8637:6;8630:5;8626:18;8619:108;8560:178;8800:3;8836:57;8889:3;8880:6;8869:9;8865:22;8836:57;:::i;:::-;8827:6;8820:5;8816:18;8809:85;8748:157;8968:3;9004:57;9057:3;9048:6;9037:9;9033:22;9004:57;:::i;9408:134::-;9486:13;;9504:33;9486:13;9504:33;:::i;9549:132::-;9626:13;;9644:32;9626:13;9644:32;:::i;9688:130::-;9755:20;;9780:33;9755:20;9780:33;:::i;9825:134::-;9903:13;;9921:33;9903:13;9921:33;:::i;9966:132::-;10043:13;;10061:32;10043:13;10061:32;:::i;10105:132::-;10182:13;;10200:32;10182:13;10200:32;:::i;10244:130::-;10320:13;;10338:31;10320:13;10338:31;:::i;10381:263::-;;10496:2;10484:9;10475:7;10471:23;10467:32;10464:2;;;10512:1;10509;10502:12;10464:2;10547:1;10564:64;10620:7;10600:9;10564:64;:::i;10651:1242::-;;;;;;;;;10896:3;10884:9;10875:7;10871:23;10867:33;10864:2;;;10913:1;10910;10903:12;10864:2;10948:1;10965:72;11029:7;11009:9;10965:72;:::i;:::-;10955:82;;10927:116;11074:2;11092:63;11147:7;11138:6;11127:9;11123:22;11092:63;:::i;:::-;11082:73;;11053:108;11192:2;11210:72;11274:7;11265:6;11254:9;11250:22;11210:72;:::i;:::-;11200:82;;11171:117;11319:2;11337:64;11393:7;11384:6;11373:9;11369:22;11337:64;:::i;:::-;11327:74;;11298:109;11438:3;11457:64;11513:7;11504:6;11493:9;11489:22;11457:64;:::i;:::-;11447:74;;11417:110;11558:3;11577:63;11632:7;11623:6;11612:9;11608:22;11577:63;:::i;:::-;11567:73;;11537:109;11677:3;11696:61;11749:7;11740:6;11729:9;11725:22;11696:61;:::i;:::-;11686:71;;11656:107;11794:3;11813:64;11869:7;11860:6;11849:9;11845:22;11813:64;:::i;:::-;11803:74;;11773:110;10858:1035;;;;;;;;;;;:::o;11900:1651::-;;;;;;;;;;;;12195:3;12183:9;12174:7;12170:23;12166:33;12163:2;;;12212:1;12209;12202:12;12163:2;12247:1;12264:72;12328:7;12308:9;12264:72;:::i;:::-;12254:82;;12226:116;12373:2;12391:63;12446:7;12437:6;12426:9;12422:22;12391:63;:::i;:::-;12381:73;;12352:108;12491:2;12509:72;12573:7;12564:6;12553:9;12549:22;12509:72;:::i;:::-;12499:82;;12470:117;12618:2;12636:64;12692:7;12683:6;12672:9;12668:22;12636:64;:::i;:::-;12626:74;;12597:109;12737:3;12756:64;12812:7;12803:6;12792:9;12788:22;12756:64;:::i;:::-;12746:74;;12716:110;12857:3;12876:63;12931:7;12922:6;12911:9;12907:22;12876:63;:::i;:::-;12866:73;;12836:109;12976:3;12995:61;13048:7;13039:6;13028:9;13024:22;12995:61;:::i;:::-;12985:71;;12955:107;13093:3;13112:64;13168:7;13159:6;13148:9;13144:22;13112:64;:::i;:::-;13102:74;;13072:110;13213:3;13232:64;13288:7;13279:6;13268:9;13264:22;13232:64;:::i;:::-;13222:74;;13192:110;13333:3;13352:63;13407:7;13398:6;13387:9;13383:22;13352:63;:::i;:::-;13342:73;;13312:109;13452:3;13472:63;13527:7;13518:6;13507:9;13503:22;13472:63;:::i;:::-;13461:74;;13431:110;12157:1394;;;;;;;;;;;;;;:::o;13558:549::-;;;;13714:2;13702:9;13693:7;13689:23;13685:32;13682:2;;;13730:1;13727;13720:12;13682:2;13765:1;13782:72;13846:7;13826:9;13782:72;:::i;:::-;13772:82;;13744:116;13891:2;13909:63;13964:7;13955:6;13944:9;13940:22;13909:63;:::i;:::-;13899:73;;13870:108;14009:2;14027:64;14083:7;14074:6;14063:9;14059:22;14027:64;:::i;:::-;14017:74;;13988:109;13676:431;;;;;:::o;14114:867::-;;;;;;;14305:3;14293:9;14284:7;14280:23;14276:33;14273:2;;;14322:1;14319;14312:12;14273:2;14357:1;14374:53;14419:7;14399:9;14374:53;:::i;:::-;14364:63;;14336:97;14464:2;14482:53;14527:7;14518:6;14507:9;14503:22;14482:53;:::i;:::-;14472:63;;14443:98;14572:2;14590:53;14635:7;14626:6;14615:9;14611:22;14590:53;:::i;:::-;14580:63;;14551:98;14680:2;14698:53;14743:7;14734:6;14723:9;14719:22;14698:53;:::i;:::-;14688:63;;14659:98;14816:3;14805:9;14801:19;14788:33;-1:-1;;;;;14833:6;14830:30;14827:2;;;14873:1;14870;14863:12;14827:2;14901:64;14957:7;14948:6;14937:9;14933:22;14901:64;:::i;:::-;14883:82;;;;14767:204;14267:714;;;;;;;;:::o;14988:257::-;;15100:2;15088:9;15079:7;15075:23;15071:32;15068:2;;;15116:1;15113;15106:12;15068:2;15151:1;15168:61;15221:7;15201:9;15168:61;:::i;15252:345::-;;15365:2;15353:9;15344:7;15340:23;15336:32;15333:2;;;15381:1;15378;15371:12;15333:2;15416:31;;-1:-1;;;;;15456:30;;15453:2;;;15499:1;15496;15489:12;15453:2;15519:62;15573:7;15564:6;15553:9;15549:22;15519:62;:::i;15604:318::-;;15746:3;15734:9;15725:7;15721:23;15717:33;15714:2;;;15763:1;15760;15753:12;15714:2;15798:1;15815:91;15898:7;15878:9;15815:91;:::i;15929:310::-;;16067:3;16055:9;16046:7;16042:23;16038:33;16035:2;;;16084:1;16081;16074:12;16035:2;16119:1;16136:87;16215:7;16195:9;16136:87;:::i;16246:322::-;;16390:3;16378:9;16369:7;16365:23;16361:33;16358:2;;;16407:1;16404;16397:12;16358:2;16442:1;16459:93;16544:7;16524:9;16459:93;:::i;16575:263::-;;16690:2;16678:9;16669:7;16665:23;16661:32;16658:2;;;16706:1;16703;16696:12;16658:2;16741:1;16758:64;16814:7;16794:9;16758:64;:::i;16845:261::-;;16959:2;16947:9;16938:7;16934:23;16930:32;16927:2;;;16975:1;16972;16965:12;16927:2;17010:1;17027:63;17082:7;17062:9;17027:63;:::i;17113:397::-;;;17244:2;17232:9;17223:7;17219:23;17215:32;17212:2;;;17260:1;17257;17250:12;17212:2;17295:1;17312:63;17367:7;17347:9;17312:63;:::i;:::-;17302:73;;17274:107;17412:2;17430:64;17486:7;17477:6;17466:9;17462:22;17430:64;:::i;:::-;17420:74;;17391:109;17206:304;;;;;:::o;17517:397::-;;;17648:2;17636:9;17627:7;17623:23;17619:32;17616:2;;;17664:1;17661;17654:12;17616:2;17699:1;17716:63;17771:7;17751:9;17716:63;:::i;:::-;17706:73;;17678:107;17816:2;17834:64;17890:7;17881:6;17870:9;17866:22;17834:64;:::i;17921:263::-;;18036:2;18024:9;18015:7;18011:23;18007:32;18004:2;;;18052:1;18049;18042:12;18004:2;18087:1;18104:64;18160:7;18140:9;18104:64;:::i;18191:496::-;;;18332:2;18320:9;18311:7;18307:23;18303:32;18300:2;;;18348:1;18345;18338:12;18300:2;18383:1;18400:64;18456:7;18436:9;18400:64;:::i;:::-;18390:74;;18362:108;18522:2;18511:9;18507:18;18501:25;-1:-1;;;;;18538:6;18535:30;18532:2;;;18578:1;18575;18568:12;18532:2;18598:73;18663:7;18654:6;18643:9;18639:22;18598:73;:::i;18694:399::-;;;18826:2;18814:9;18805:7;18801:23;18797:32;18794:2;;;18842:1;18839;18832:12;18794:2;18877:1;18894:64;18950:7;18930:9;18894:64;:::i;19100:261::-;;19214:2;19202:9;19193:7;19189:23;19185:32;19182:2;;;19230:1;19227;19220:12;19182:2;19265:1;19282:63;19337:7;19317:9;19282:63;:::i;19368:259::-;;19481:2;19469:9;19460:7;19456:23;19452:32;19449:2;;;19497:1;19494;19487:12;19449:2;19532:1;19549:62;19603:7;19583:9;19549:62;:::i;19635:173::-;;19722:46;19764:3;19756:6;19722:46;:::i;:::-;-1:-1;;19797:4;19788:14;;19715:93::o;19817:261::-;;19948:90;20034:3;20026:6;19948:90;:::i;:::-;-1:-1;;20067:4;20058:14;;19941:137::o;20087:301::-;;20238:110;20344:3;20336:6;20238:110;:::i;20397:173::-;;20484:46;20526:3;20518:6;20484:46;:::i;20578:142::-;20669:45;20708:5;20669:45;:::i;:::-;20664:3;20657:58;20651:69;;:::o;20727:103::-;20800:24;20818:5;20800:24;:::i;20988:690::-;;21133:54;21181:5;21133:54;:::i;:::-;21200:86;21279:6;21274:3;21200:86;:::i;:::-;21193:93;;21307:56;21357:5;21307:56;:::i;:::-;21383:7;21411:1;21396:260;21421:6;21418:1;21415:13;21396:260;;;21488:6;21482:13;21509:63;21568:3;21553:13;21509:63;:::i;:::-;21502:70;;21589:60;21642:6;21589:60;:::i;:::-;21579:70;-1:-1;;21443:1;21436:9;21396:260;;;-1:-1;21669:3;;21112:566;-1:-1;;;;;21112:566::o;21803:866::-;;21992:76;22062:5;21992:76;:::i;:::-;22081:108;22182:6;22177:3;22081:108;:::i;:::-;22074:115;;22210:78;22282:5;22210:78;:::i;:::-;22308:7;22336:1;22321:326;22346:6;22343:1;22340:13;22321:326;;;22413:6;22407:13;22434:107;22537:3;22522:13;22434:107;:::i;:::-;22427:114;;22558:82;22633:6;22558:82;:::i;:::-;22548:92;-1:-1;;22368:1;22361:9;22321:326;;22814:946;;23023:86;23103:5;23023:86;:::i;:::-;23122:118;23233:6;23228:3;23122:118;:::i;:::-;23115:125;;23261:88;23343:5;23261:88;:::i;:::-;23369:7;23397:1;23382:356;23407:6;23404:1;23401:13;23382:356;;;23474:6;23468:13;23495:127;23618:3;23603:13;23495:127;:::i;:::-;23488:134;;23639:92;23724:6;23639:92;:::i;:::-;23629:102;-1:-1;;23429:1;23422:9;23382:356;;23799:690;;23944:54;23992:5;23944:54;:::i;:::-;24011:86;24090:6;24085:3;24011:86;:::i;:::-;24004:93;;24118:56;24168:5;24118:56;:::i;:::-;24194:7;24222:1;24207:260;24232:6;24229:1;24226:13;24207:260;;;24299:6;24293:13;24320:63;24379:3;24364:13;24320:63;:::i;:::-;24313:70;;24400:60;24453:6;24400:60;:::i;:::-;24390:70;-1:-1;;24254:1;24247:9;24207:260;;24497:104;24574:21;24589:5;24574:21;:::i;24608:110::-;24689:23;24706:5;24689:23;:::i;24725:356::-;;24853:38;24885:5;24853:38;:::i;:::-;24903:88;24984:6;24979:3;24903:88;:::i;:::-;24896:95;;24996:52;25041:6;25036:3;25029:4;25022:5;25018:16;24996:52;:::i;:::-;25060:16;;;;;24833:248;-1:-1;;24833:248::o;25088:347::-;;25200:39;25233:5;25200:39;:::i;:::-;25251:71;25315:6;25310:3;25251:71;:::i;:::-;25244:78;;25327:52;25372:6;25367:3;25360:4;25353:5;25349:16;25327:52;:::i;:::-;25400:29;25422:6;25400:29;:::i;:::-;25391:39;;;;25180:255;-1:-1;;;25180:255::o;25443:375::-;;25603:67;25667:2;25662:3;25603:67;:::i;:::-;25703:34;25683:55;;-1:-1;;;25767:2;25758:12;;25751:30;25809:2;25800:12;;25589:229;-1:-1;;25589:229::o;25827:326::-;;25987:67;26051:2;26046:3;25987:67;:::i;:::-;26087:28;26067:49;;26144:2;26135:12;;25973:180;-1:-1;;25973:180::o;26162:375::-;;26322:67;26386:2;26381:3;26322:67;:::i;:::-;26422:34;26402:55;;-1:-1;;;26486:2;26477:12;;26470:30;26528:2;26519:12;;26308:229;-1:-1;;26308:229::o;26546:370::-;;26706:67;26770:2;26765:3;26706:67;:::i;:::-;26806:34;26786:55;;-1:-1;;;26870:2;26861:12;;26854:25;26907:2;26898:12;;26692:224;-1:-1;;26692:224::o;26925:317::-;;27085:67;27149:2;27144:3;27085:67;:::i;:::-;-1:-1;;;27165:40;;27233:2;27224:12;;27071:171;-1:-1;;27071:171::o;27251:329::-;;27411:67;27475:2;27470:3;27411:67;:::i;:::-;27511:31;27491:52;;27571:2;27562:12;;27397:183;-1:-1;;27397:183::o;27589:379::-;;27749:67;27813:2;27808:3;27749:67;:::i;:::-;27849:34;27829:55;;-1:-1;;;27913:2;27904:12;;27897:34;27959:2;27950:12;;27735:233;-1:-1;;27735:233::o;27977:391::-;;28137:67;28201:2;28196:3;28137:67;:::i;:::-;28237:34;28217:55;;-1:-1;;;28301:2;28292:12;;28285:46;28359:2;28350:12;;28123:245;-1:-1;;28123:245::o;28487:464::-;28682:23;;28614:4;28605:14;;;28711:61;28609:3;28682:23;28711:61;:::i;:::-;28634:144;28855:4;28848:5;28844:16;28838:23;28867:63;28924:4;28919:3;28915:14;28901:12;28867:63;:::i;29089:484::-;29305:23;;29236:4;29227:14;;;29334:63;29231:3;29305:23;29334:63;:::i;:::-;29256:147;29479:4;29472:5;29468:16;29462:23;29491:61;29546:4;29541:3;29537:14;29523:12;29491:61;:::i;29580:113::-;29663:24;29681:5;29663:24;:::i;29700:100::-;29771:23;29788:5;29771:23;:::i;29924:124::-;30006:36;30036:5;30006:36;:::i;30055:103::-;30128:24;30146:5;30128:24;:::i;30285:124::-;30367:36;30397:5;30367:36;:::i;30416:100::-;30487:23;30504:5;30487:23;:::i;30640:271::-;;30793:93;30882:3;30873:6;30793:93;:::i;30918:222::-;31045:2;31030:18;;31059:71;31034:9;31103:6;31059:71;:::i;31147:333::-;31302:2;31287:18;;31316:71;31291:9;31360:6;31316:71;:::i;:::-;31398:72;31466:2;31455:9;31451:18;31442:6;31398:72;:::i;31487:331::-;31641:2;31626:18;;31655:71;31630:9;31699:6;31655:71;:::i;:::-;31737;31804:2;31793:9;31789:18;31780:6;31737:71;:::i;31825:984::-;32138:3;32123:19;;32153:71;32127:9;32197:6;32153:71;:::i;:::-;32235:70;32301:2;32290:9;32286:18;32277:6;32235:70;:::i;:::-;32316:72;32384:2;32373:9;32369:18;32360:6;32316:72;:::i;:::-;32399;32467:2;32456:9;32452:18;32443:6;32399:72;:::i;:::-;32482:73;32550:3;32539:9;32535:19;32526:6;32482:73;:::i;:::-;32566:71;32632:3;32621:9;32617:19;32608:6;32566:71;:::i;:::-;32648:67;32710:3;32699:9;32695:19;32686:6;32648:67;:::i;:::-;32726:73;32794:3;32783:9;32779:19;32770:6;32726:73;:::i;:::-;32109:700;;;;;;;;;;;:::o;32816:1314::-;33210:3;33195:19;;33225:71;33199:9;33269:6;33225:71;:::i;:::-;33307:70;33373:2;33362:9;33358:18;33349:6;33307:70;:::i;:::-;33388:72;33456:2;33445:9;33441:18;33432:6;33388:72;:::i;:::-;33471;33539:2;33528:9;33524:18;33515:6;33471:72;:::i;:::-;33554:73;33622:3;33611:9;33607:19;33598:6;33554:73;:::i;:::-;33638:71;33704:3;33693:9;33689:19;33680:6;33638:71;:::i;:::-;33720:67;33782:3;33771:9;33767:19;33758:6;33720:67;:::i;:::-;33798:73;33866:3;33855:9;33851:19;33842:6;33798:73;:::i;:::-;33882;33950:3;33939:9;33935:19;33926:6;33882:73;:::i;:::-;33966:71;34032:3;34021:9;34017:19;34008:6;33966:71;:::i;:::-;34048:72;34115:3;34104:9;34100:19;34090:7;34048:72;:::i;:::-;33181:949;;;;;;;;;;;;;;:::o;34137:333::-;34292:2;34277:18;;34306:71;34281:9;34350:6;34306:71;:::i;:::-;34388:72;34456:2;34445:9;34441:18;34432:6;34388:72;:::i;34477:629::-;34732:2;34746:47;;;34717:18;;34807:108;34717:18;34901:6;34807:108;:::i;:::-;34799:116;;34963:9;34957:4;34953:20;34948:2;34937:9;34933:18;34926:48;34988:108;35091:4;35082:6;34988:108;:::i;35113:458::-;35334:2;35348:47;;;35319:18;;35409:152;35319:18;35547:6;35409:152;:::i;35578:498::-;35819:2;35833:47;;;35804:18;;35894:172;35804:18;36052:6;35894:172;:::i;36083:218::-;36208:2;36193:18;;36222:69;36197:9;36264:6;36222:69;:::i;36308:310::-;36455:2;36469:47;;;36440:18;;36530:78;36440:18;36594:6;36530:78;:::i;36625:416::-;36825:2;36839:47;;;36810:18;;36900:131;36810:18;36900:131;:::i;37048:416::-;37248:2;37262:47;;;37233:18;;37323:131;37233:18;37323:131;:::i;37471:416::-;37671:2;37685:47;;;37656:18;;37746:131;37656:18;37746:131;:::i;37894:416::-;38094:2;38108:47;;;38079:18;;38169:131;38079:18;38169:131;:::i;38317:416::-;38517:2;38531:47;;;38502:18;;38592:131;38502:18;38592:131;:::i;38740:416::-;38940:2;38954:47;;;38925:18;;39015:131;38925:18;39015:131;:::i;39163:416::-;39363:2;39377:47;;;39348:18;;39438:131;39348:18;39438:131;:::i;39586:416::-;39786:2;39800:47;;;39771:18;;39861:131;39771:18;39861:131;:::i;40009:218::-;40134:2;40119:18;;40148:69;40123:9;40190:6;40148:69;:::i;40234:329::-;40387:2;40372:18;;40401:69;40376:9;40443:6;40401:69;:::i;:::-;40481:72;40549:2;40538:9;40534:18;40525:6;40481:72;:::i;40570:329::-;40723:2;40708:18;;40737:69;40712:9;40779:6;40737:69;:::i;40906:222::-;41033:2;41018:18;;41047:71;41022:9;41091:6;41047:71;:::i;41135:333::-;41290:2;41275:18;;41304:71;41279:9;41348:6;41304:71;:::i;41475:220::-;41601:2;41586:18;;41615:70;41590:9;41658:6;41615:70;:::i;41702:458::-;41892:2;41877:18;;41906:70;41881:9;41949:6;41906:70;:::i;:::-;41987:80;42063:2;42052:9;42048:18;42039:6;41987:80;:::i;:::-;42078:72;42146:2;42135:9;42131:18;42122:6;42078:72;:::i;42167:256::-;42229:2;42223:9;42255:17;;;-1:-1;;;;;42315:34;;42351:22;;;42312:62;42309:2;;;42387:1;42384;42377:12;42309:2;42403;42396:22;42207:216;;-1:-1;42207:216::o;42430:321::-;;-1:-1;;;;;42565:6;42562:30;42559:2;;;42605:1;42602;42595:12;42559:2;-1:-1;42736:4;42672;42649:17;;;;-1:-1;;42645:33;42726:15;;42496:255::o;42758:151::-;42882:4;42873:14;;42830:79::o;43444:137::-;43547:12;;43518:63::o;44846:178::-;44964:19;;;45013:4;45004:14;;44957:67::o;45648:144::-;45783:3;45761:31;-1:-1;45761:31::o;45972:91::-;;46034:24;46052:5;46034:24;:::i;46176:85::-;46242:13;46235:21;;46218:43::o;46268:144::-;-1:-1;;;;;;46329:78;;46312:100::o;46419:113::-;-1:-1;;;;;46481:46;;46464:68::o;46539:121::-;-1:-1;;;;;46601:54;;46584:76::o;46667:86::-;46739:8;46728:20;;46711:42::o;46760:72::-;46822:5;46805:27::o;46839:88::-;46911:10;46900:22;;46883:44::o;46934:96::-;-1:-1;;;;;46995:30;;46978:52::o;47037:81::-;47108:4;47097:16;;47080:38::o;47125:129::-;;47212:37;47243:5;47261:121;47340:37;47371:5;47340:37;:::i;47504:106::-;;47582:23;47599:5;47582:23;:::i;47617:106::-;;47695:23;47712:5;47695:23;:::i;47731:145::-;47812:6;47807:3;47802;47789:30;-1:-1;47868:1;47850:16;;47843:27;47782:94::o;47885:268::-;47950:1;47957:101;47971:6;47968:1;47965:13;47957:101;;;48038:11;;;48032:18;48019:11;;;48012:39;47993:2;47986:10;47957:101;;;48073:6;48070:1;48067:13;48064:2;;;-1:-1;;48138:1;48120:16;;48113:27;47934:219::o;48161:97::-;48249:2;48229:14;-1:-1;;48225:28;;48209:49::o;48266:117::-;48335:24;48353:5;48335:24;:::i;:::-;48328:5;48325:35;48315:2;;48374:1;48371;48364:12;48530:111;48596:21;48611:5;48596:21;:::i;48648:114::-;48737:1;48730:5;48727:12;48717:2;;48753:1;48750;48743:12;49001:117;49070:24;49088:5;49070:24;:::i;49125:115::-;49193:23;49210:5;49193:23;:::i;49247:117::-;49316:24;49334:5;49316:24;:::i;49371:115::-;49439:23;49456:5;49439:23;:::i;49493:115::-;49561:23;49578:5;49561:23;:::i;49615:113::-;49682:22;49698:5;49682:22;:::i", "linkReferences": {}, "immutableReferences": { "33022": [ { "start": 729, "length": 32 }, { "start": 4892, "length": 32 }, { "start": 5050, "length": 32 }, { "start": 5110, "length": 32 }, { "start": 5325, "length": 32 }, { "start": 5483, "length": 32 }, { "start": 5545, "length": 32 }, { "start": 5704, "length": 32 }, { "start": 6243, "length": 32 }, { "start": 6500, "length": 32 }, { "start": 6799, "length": 32 }, { "start": 6969, "length": 32 }, { "start": 9068, "length": 32 } ], "33024": [ { "start": 4282, "length": 32 }, { "start": 4567, "length": 32 }, { "start": 4629, "length": 32 }, { "start": 4783, "length": 32 } ] } }, "methodIdentifiers": { "getDebtAssets()": "ecd658b4", "getManagedAssets()": "80daddb8", "getSales()": "0d83304c", "getVoucherTokenIds()": "f4c1032a", "init(bytes)": "4ddf47d4", "onVNFTReceived(address,address,uint256,uint256,bytes)": "b382cdcd", "receiveCallFromVault(bytes)": "e5c23a97" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_convertibleMarketcontract\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_initialConvertibleOfferingMarket\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint24\",\"name\":\"saleId\",\"type\":\"uint24\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"}],\"name\":\"SaleAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint24\",\"name\":\"saleId\",\"type\":\"uint24\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"}],\"name\":\"SaleRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voucher\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint32\",\"name\":\"tokenId\",\"type\":\"uint32\"}],\"name\":\"VoucherTokenIdAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voucher\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint32\",\"name\":\"tokenId\",\"type\":\"uint32\"}],\"name\":\"VoucherTokenIdRemoved\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"getDebtAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"assets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getManagedAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"assets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getSales\",\"outputs\":[{\"components\":[{\"internalType\":\"uint24\",\"name\":\"saleId\",\"type\":\"uint24\"},{\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"}],\"internalType\":\"struct SolvV2ConvertibleBuyerPositionLibBase1.Sale[]\",\"name\":\"sales_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getVoucherTokenIds\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"voucher\",\"type\":\"address\"},{\"internalType\":\"uint32\",\"name\":\"tokenId\",\"type\":\"uint32\"}],\"internalType\":\"struct SolvV2ConvertibleBuyerPositionLibBase1.VoucherTokenId[]\",\"name\":\"voucherTokenIds_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onVNFTReceived\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"selector_\",\"type\":\"bytes4\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"}],\"name\":\"receiveCallFromVault\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"getDebtAssets()\":{\"returns\":{\"amounts_\":\"Debt asset amounts\",\"assets_\":\"Debt assets\"}},\"getManagedAssets()\":{\"details\":\"There are 3 types of assets that contribute value to this position: 1. Held vouchers 2. Owned vouchers that are for sale on the marketplace 3. Unreconciled assets received from a sale on the marketplace\",\"returns\":{\"amounts_\":\"Managed asset amounts\",\"assets_\":\"Managed assets\"}},\"getSales()\":{\"returns\":{\"sales_\":\"The Sale[] var\"}},\"getVoucherTokenIds()\":{\"returns\":{\"voucherTokenIds_\":\"The VoucherTokenId[] var\"}},\"init(bytes)\":{\"details\":\"Nothing to initialize for this contract\"},\"onVNFTReceived(address,address,uint256,uint256,bytes)\":{\"details\":\"ERC-3525 spec: https://eips.ethereum.org/EIPS/eip-3525#erc-3525-token-receiverImplementation for vouchers: https://github.com/solv-finance/solv-v2-ivo/blob/main/vouchers/vnft-core/contracts/VNFTCoreV2.sol#L318\",\"returns\":{\"selector_\":\"`b382cdcd = onVNFTReceived(address,address,uint256,uint256,bytes)`\"}},\"receiveCallFromVault(bytes)\":{\"params\":{\"_actionData\":\"Encoded data to execute the action\"}}},\"title\":\"SolvV2ConvertibleBuyerPositionLib Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getDebtAssets()\":{\"notice\":\"Retrieves the debt assets (negative value) of the external position\"},\"getManagedAssets()\":{\"notice\":\"Retrieves the managed assets (positive value) of the external position\"},\"getSales()\":{\"notice\":\"Gets the Sale[] var\"},\"getVoucherTokenIds()\":{\"notice\":\"Gets the VoucherTokenId[] var\"},\"init(bytes)\":{\"notice\":\"Initializes the external position\"},\"onVNFTReceived(address,address,uint256,uint256,bytes)\":{\"notice\":\"Handles the receipt of a VNFT token type.\"},\"receiveCallFromVault(bytes)\":{\"notice\":\"Receives and executes a call from the Vault\"}},\"notice\":\"Library contract for Solv V2 Convertible Buyer positions\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/solv-v2-convertible-buyer/SolvV2ConvertibleBuyerPositionLib.sol\":\"SolvV2ConvertibleBuyerPositionLib\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/persistent/external-positions/solv-v2-convertible-buyer/SolvV2ConvertibleBuyerPositionLibBase1.sol\":{\"keccak256\":\"0x8f2209f92d7ed63f0c3759bc32f7dac32c7fe166e6a06d57ee10c9e955f554d3\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b21a997433ad99e503ba71dc5d5c8e619a2f384b080a5edc78185f3136064e48\",\"dweb:/ipfs/QmeaQgAVoU7SvcLAEaxB6b8op2s7AETzwXcd3YU41PpaAD\"]},\"contracts/release/extensions/external-position-manager/external-positions/solv-v2-convertible-buyer/ISolvV2ConvertibleBuyerPosition.sol\":{\"keccak256\":\"0xa37e1da2db28f16cdfe58b38ea90ce6a3dd23bdfd79f77742ab701f50539e2d3\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://0ab2ce7a04bbcbf20feb464168109040f450bfb8755dec1841f211aca5466af4\",\"dweb:/ipfs/QmeFN2ZoP6SNWCjeJWSuyscyKMPbkmXPhUK2J4RC8S93TJ\"]},\"contracts/release/extensions/external-position-manager/external-positions/solv-v2-convertible-buyer/SolvV2ConvertibleBuyerPositionDataDecoder.sol\":{\"keccak256\":\"0x04f15c6a705477a8176e220c9b877804975238a7f8259f967bbb83dc6bb4a682\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://da054a8d3d8103cc35a91a5be4d8c06018184fb0d5941ea61f4502671fc7e21c\",\"dweb:/ipfs/QmVGkG5jbs2jsjbVcyqMyL3CNGUswMTJPCaNHojjMc8iQ3\"]},\"contracts/release/extensions/external-position-manager/external-positions/solv-v2-convertible-buyer/SolvV2ConvertibleBuyerPositionLib.sol\":{\"keccak256\":\"0xb75e9004c83ec88a81d5cf9b87bccbf90aefe34876404d565ed8652596dd7384\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1c4676f6879f2f875373a124c60c97906efa459626606d42a7579f0ad9fc60bb\",\"dweb:/ipfs/QmZPRcndzJ5KLK3xEzYccNEpQTg27DYKNtFf7ueg7yvYC2\"]},\"contracts/release/interfaces/ISolvV2ConvertibleMarket.sol\":{\"keccak256\":\"0x946325023e36bdf0236bd290cecb41b561608f94070f94e112545ef6158057ea\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2825cb13b8339701c4bbf4ec10d4b5f3213a01887afe4e0a44962515fb1720f1\",\"dweb:/ipfs/QmPL6o3GbYr76hm3u1NZM5oJDDob8BPLDXWCTqbBBvTKSU\"]},\"contracts/release/interfaces/ISolvV2ConvertiblePool.sol\":{\"keccak256\":\"0x1943f59f09537f176ae398ae51184c9c69e8c366e74f2e7d2f02326c35e6fde7\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://cc239c228406fa50ec4f40a44af9438efdeb63338846a65d5864c61a643e037b\",\"dweb:/ipfs/QmZhYZoKUAPtksVygGhetvP6Yvu4UAsCpiHAqbPWLtpVJC\"]},\"contracts/release/interfaces/ISolvV2ConvertibleVoucher.sol\":{\"keccak256\":\"0xebec2ad1a5024a1958a558378dfde09cebe998609caa718f13b0088a0347a630\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://fa18447e3accb03306a9904d2d2247c8cadca34a9bc87ca585e6b0646f0814d7\",\"dweb:/ipfs/QmNyrXdUZqbYyDyEu6RyQXttD4mpETd6fFS1UiL2PVDnXf\"]},\"contracts/release/interfaces/ISolvV2InitialConvertibleOfferingMarket.sol\":{\"keccak256\":\"0xe34205d54ec639e2e3f8e0e2871984a6796424d903259857f1f11de260cf8abe\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://908f8d334df9ae2191787a8e53c78b1847bd936f2ce9d04115f5e9339c3e3934\",\"dweb:/ipfs/QmZzxE748Hb2Vosu7cwPmkb4EVpoqvS4RgHogLrvDgsnD3\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"contracts/release/utils/Uint256ArrayLib.sol\":{\"keccak256\":\"0x1627d0d32692b86c5dd3e74ebb8305fbf99a3c41d4b90e736077762cc80c1a31\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://54ff92ccd4bd685dda44c2520e3f52478168e909b400c3cc4076d37f5c2704ef\",\"dweb:/ipfs/QmYUxeaKfPwnUtP35i6JJ3ptsaDFEV6SD2o4VV8d5vBUZD\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_convertibleMarketcontract", "type": "address" }, { "internalType": "address", "name": "_initialConvertibleOfferingMarket", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "uint24", "name": "saleId", "type": "uint24", "indexed": true }, { "internalType": "address", "name": "currency", "type": "address", "indexed": true } ], "type": "event", "name": "SaleAdded", "anonymous": false }, { "inputs": [ { "internalType": "uint24", "name": "saleId", "type": "uint24", "indexed": true }, { "internalType": "address", "name": "currency", "type": "address", "indexed": true } ], "type": "event", "name": "SaleRemoved", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "voucher", "type": "address", "indexed": true }, { "internalType": "uint32", "name": "tokenId", "type": "uint32", "indexed": true } ], "type": "event", "name": "VoucherTokenIdAdded", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "voucher", "type": "address", "indexed": true }, { "internalType": "uint32", "name": "tokenId", "type": "uint32", "indexed": true } ], "type": "event", "name": "VoucherTokenIdRemoved", "anonymous": false }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "getDebtAssets", "outputs": [ { "internalType": "address[]", "name": "assets_", "type": "address[]" }, { "internalType": "uint256[]", "name": "amounts_", "type": "uint256[]" } ] }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "getManagedAssets", "outputs": [ { "internalType": "address[]", "name": "assets_", "type": "address[]" }, { "internalType": "uint256[]", "name": "amounts_", "type": "uint256[]" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getSales", "outputs": [ { "internalType": "struct SolvV2ConvertibleBuyerPositionLibBase1.Sale[]", "name": "sales_", "type": "tuple[]", "components": [ { "internalType": "uint24", "name": "saleId", "type": "uint24" }, { "internalType": "address", "name": "currency", "type": "address" } ] } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getVoucherTokenIds", "outputs": [ { "internalType": "struct SolvV2ConvertibleBuyerPositionLibBase1.VoucherTokenId[]", "name": "voucherTokenIds_", "type": "tuple[]", "components": [ { "internalType": "address", "name": "voucher", "type": "address" }, { "internalType": "uint32", "name": "tokenId", "type": "uint32" } ] } ] }, { "inputs": [ { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "init" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "address", "name": "", "type": "address" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "pure", "type": "function", "name": "onVNFTReceived", "outputs": [ { "internalType": "bytes4", "name": "selector_", "type": "bytes4" } ] }, { "inputs": [ { "internalType": "bytes", "name": "_actionData", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "receiveCallFromVault" } ], "devdoc": { "kind": "dev", "methods": { "getDebtAssets()": { "returns": { "amounts_": "Debt asset amounts", "assets_": "Debt assets" } }, "getManagedAssets()": { "details": "There are 3 types of assets that contribute value to this position: 1. Held vouchers 2. Owned vouchers that are for sale on the marketplace 3. Unreconciled assets received from a sale on the marketplace", "returns": { "amounts_": "Managed asset amounts", "assets_": "Managed assets" } }, "getSales()": { "returns": { "sales_": "The Sale[] var" } }, "getVoucherTokenIds()": { "returns": { "voucherTokenIds_": "The VoucherTokenId[] var" } }, "init(bytes)": { "details": "Nothing to initialize for this contract" }, "onVNFTReceived(address,address,uint256,uint256,bytes)": { "details": "ERC-3525 spec: https://eips.ethereum.org/EIPS/eip-3525#erc-3525-token-receiverImplementation for vouchers: https://github.com/solv-finance/solv-v2-ivo/blob/main/vouchers/vnft-core/contracts/VNFTCoreV2.sol#L318", "returns": { "selector_": "`b382cdcd = onVNFTReceived(address,address,uint256,uint256,bytes)`" } }, "receiveCallFromVault(bytes)": { "params": { "_actionData": "Encoded data to execute the action" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "getDebtAssets()": { "notice": "Retrieves the debt assets (negative value) of the external position" }, "getManagedAssets()": { "notice": "Retrieves the managed assets (positive value) of the external position" }, "getSales()": { "notice": "Gets the Sale[] var" }, "getVoucherTokenIds()": { "notice": "Gets the VoucherTokenId[] var" }, "init(bytes)": { "notice": "Initializes the external position" }, "onVNFTReceived(address,address,uint256,uint256,bytes)": { "notice": "Handles the receipt of a VNFT token type." }, "receiveCallFromVault(bytes)": { "notice": "Receives and executes a call from the Vault" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/external-position-manager/external-positions/solv-v2-convertible-buyer/SolvV2ConvertibleBuyerPositionLib.sol": "SolvV2ConvertibleBuyerPositionLib" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/external-positions/IExternalPosition.sol": { "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", "urls": [ "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" ], "license": "GPL-3.0" }, "contracts/persistent/external-positions/solv-v2-convertible-buyer/SolvV2ConvertibleBuyerPositionLibBase1.sol": { "keccak256": "0x8f2209f92d7ed63f0c3759bc32f7dac32c7fe166e6a06d57ee10c9e955f554d3", "urls": [ "bzz-raw://b21a997433ad99e503ba71dc5d5c8e619a2f384b080a5edc78185f3136064e48", "dweb:/ipfs/QmeaQgAVoU7SvcLAEaxB6b8op2s7AETzwXcd3YU41PpaAD" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/solv-v2-convertible-buyer/ISolvV2ConvertibleBuyerPosition.sol": { "keccak256": "0xa37e1da2db28f16cdfe58b38ea90ce6a3dd23bdfd79f77742ab701f50539e2d3", "urls": [ "bzz-raw://0ab2ce7a04bbcbf20feb464168109040f450bfb8755dec1841f211aca5466af4", "dweb:/ipfs/QmeFN2ZoP6SNWCjeJWSuyscyKMPbkmXPhUK2J4RC8S93TJ" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/solv-v2-convertible-buyer/SolvV2ConvertibleBuyerPositionDataDecoder.sol": { "keccak256": "0x04f15c6a705477a8176e220c9b877804975238a7f8259f967bbb83dc6bb4a682", "urls": [ "bzz-raw://da054a8d3d8103cc35a91a5be4d8c06018184fb0d5941ea61f4502671fc7e21c", "dweb:/ipfs/QmVGkG5jbs2jsjbVcyqMyL3CNGUswMTJPCaNHojjMc8iQ3" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/solv-v2-convertible-buyer/SolvV2ConvertibleBuyerPositionLib.sol": { "keccak256": "0xb75e9004c83ec88a81d5cf9b87bccbf90aefe34876404d565ed8652596dd7384", "urls": [ "bzz-raw://1c4676f6879f2f875373a124c60c97906efa459626606d42a7579f0ad9fc60bb", "dweb:/ipfs/QmZPRcndzJ5KLK3xEzYccNEpQTg27DYKNtFf7ueg7yvYC2" ], "license": "GPL-3.0" }, "contracts/release/interfaces/ISolvV2ConvertibleMarket.sol": { "keccak256": "0x946325023e36bdf0236bd290cecb41b561608f94070f94e112545ef6158057ea", "urls": [ "bzz-raw://2825cb13b8339701c4bbf4ec10d4b5f3213a01887afe4e0a44962515fb1720f1", "dweb:/ipfs/QmPL6o3GbYr76hm3u1NZM5oJDDob8BPLDXWCTqbBBvTKSU" ], "license": "GPL-3.0" }, "contracts/release/interfaces/ISolvV2ConvertiblePool.sol": { "keccak256": "0x1943f59f09537f176ae398ae51184c9c69e8c366e74f2e7d2f02326c35e6fde7", "urls": [ "bzz-raw://cc239c228406fa50ec4f40a44af9438efdeb63338846a65d5864c61a643e037b", "dweb:/ipfs/QmZhYZoKUAPtksVygGhetvP6Yvu4UAsCpiHAqbPWLtpVJC" ], "license": "GPL-3.0" }, "contracts/release/interfaces/ISolvV2ConvertibleVoucher.sol": { "keccak256": "0xebec2ad1a5024a1958a558378dfde09cebe998609caa718f13b0088a0347a630", "urls": [ "bzz-raw://fa18447e3accb03306a9904d2d2247c8cadca34a9bc87ca585e6b0646f0814d7", "dweb:/ipfs/QmNyrXdUZqbYyDyEu6RyQXttD4mpETd6fFS1UiL2PVDnXf" ], "license": "GPL-3.0" }, "contracts/release/interfaces/ISolvV2InitialConvertibleOfferingMarket.sol": { "keccak256": "0xe34205d54ec639e2e3f8e0e2871984a6796424d903259857f1f11de260cf8abe", "urls": [ "bzz-raw://908f8d334df9ae2191787a8e53c78b1847bd936f2ce9d04115f5e9339c3e3934", "dweb:/ipfs/QmZzxE748Hb2Vosu7cwPmkb4EVpoqvS4RgHogLrvDgsnD3" ], "license": "GPL-3.0" }, "contracts/release/utils/AddressArrayLib.sol": { "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", "urls": [ "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" ], "license": "GPL-3.0" }, "contracts/release/utils/AssetHelpers.sol": { "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", "urls": [ "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" ], "license": "GPL-3.0" }, "contracts/release/utils/Uint256ArrayLib.sol": { "keccak256": "0x1627d0d32692b86c5dd3e74ebb8305fbf99a3c41d4b90e736077762cc80c1a31", "urls": [ "bzz-raw://54ff92ccd4bd685dda44c2520e3f52478168e909b400c3cc4076d37f5c2704ef", "dweb:/ipfs/QmYUxeaKfPwnUtP35i6JJ3ptsaDFEV6SD2o4VV8d5vBUZD" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", "urls": [ "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Address.sol": { "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", "urls": [ "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" } }, "version": 1 }, "id": 132 } diff --git a/eth_defi/abi/enzyme/SolvV2ConvertibleBuyerPositionLibBase1.json b/eth_defi/abi/enzyme/SolvV2ConvertibleBuyerPositionLibBase1.json index d48ae141..573c92a5 100644 --- a/eth_defi/abi/enzyme/SolvV2ConvertibleBuyerPositionLibBase1.json +++ b/eth_defi/abi/enzyme/SolvV2ConvertibleBuyerPositionLibBase1.json @@ -1,232 +1 @@ -{ - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint24", - "name": "saleId", - "type": "uint24" - }, - { - "indexed": true, - "internalType": "address", - "name": "currency", - "type": "address" - } - ], - "name": "SaleAdded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint24", - "name": "saleId", - "type": "uint24" - }, - { - "indexed": true, - "internalType": "address", - "name": "currency", - "type": "address" - } - ], - "name": "SaleRemoved", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "voucher", - "type": "address" - }, - { - "indexed": true, - "internalType": "uint32", - "name": "tokenId", - "type": "uint32" - } - ], - "name": "VoucherTokenIdAdded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "voucher", - "type": "address" - }, - { - "indexed": true, - "internalType": "uint32", - "name": "tokenId", - "type": "uint32" - } - ], - "name": "VoucherTokenIdRemoved", - "type": "event" - } - ], - "bytecode": { - "object": "0x6080604052348015600f57600080fd5b50601680601d6000396000f3fe6080604052600080fdfea164736f6c634300060c000a", - "sourceMap": "827:592:36:-:0;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x6080604052600080fdfea164736f6c634300060c000a", - "sourceMap": "827:592:36:-:0;;;;;", - "linkReferences": {} - }, - "methodIdentifiers": {}, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint24\",\"name\":\"saleId\",\"type\":\"uint24\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"}],\"name\":\"SaleAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint24\",\"name\":\"saleId\",\"type\":\"uint24\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"}],\"name\":\"SaleRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voucher\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint32\",\"name\":\"tokenId\",\"type\":\"uint32\"}],\"name\":\"VoucherTokenIdAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voucher\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint32\",\"name\":\"tokenId\",\"type\":\"uint32\"}],\"name\":\"VoucherTokenIdRemoved\",\"type\":\"event\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"DO NOT EDIT CONTRACT. If new events or storage are necessary, they should be added to a numbered SolvV2ConvertibleBuyerPositionLibBaseXXX that inherits the previous base. e.g., `SolvV2ConvertibleBuyerPositionLibBase2 is SolvV2ConvertibleBuyerPositionLibBase1`\",\"kind\":\"dev\",\"methods\":{},\"title\":\"SolvV2ConvertibleBuyerPositionLibBase1 Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"A persistent contract containing all required storage variables and required functions for a SolvV2ConvertibleBuyerPositionLib implementation\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/external-positions/solv-v2-convertible-buyer/SolvV2ConvertibleBuyerPositionLibBase1.sol\":\"SolvV2ConvertibleBuyerPositionLibBase1\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/external-positions/solv-v2-convertible-buyer/SolvV2ConvertibleBuyerPositionLibBase1.sol\":{\"keccak256\":\"0x8f2209f92d7ed63f0c3759bc32f7dac32c7fe166e6a06d57ee10c9e955f554d3\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b21a997433ad99e503ba71dc5d5c8e619a2f384b080a5edc78185f3136064e48\",\"dweb:/ipfs/QmeaQgAVoU7SvcLAEaxB6b8op2s7AETzwXcd3YU41PpaAD\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "uint24", - "name": "saleId", - "type": "uint24", - "indexed": true - }, - { - "internalType": "address", - "name": "currency", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "SaleAdded", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "uint24", - "name": "saleId", - "type": "uint24", - "indexed": true - }, - { - "internalType": "address", - "name": "currency", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "SaleRemoved", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "voucher", - "type": "address", - "indexed": true - }, - { - "internalType": "uint32", - "name": "tokenId", - "type": "uint32", - "indexed": true - } - ], - "type": "event", - "name": "VoucherTokenIdAdded", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "voucher", - "type": "address", - "indexed": true - }, - { - "internalType": "uint32", - "name": "tokenId", - "type": "uint32", - "indexed": true - } - ], - "type": "event", - "name": "VoucherTokenIdRemoved", - "anonymous": false - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/persistent/external-positions/solv-v2-convertible-buyer/SolvV2ConvertibleBuyerPositionLibBase1.sol": "SolvV2ConvertibleBuyerPositionLibBase1" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/external-positions/solv-v2-convertible-buyer/SolvV2ConvertibleBuyerPositionLibBase1.sol": { - "keccak256": "0x8f2209f92d7ed63f0c3759bc32f7dac32c7fe166e6a06d57ee10c9e955f554d3", - "urls": [ - "bzz-raw://b21a997433ad99e503ba71dc5d5c8e619a2f384b080a5edc78185f3136064e48", - "dweb:/ipfs/QmeaQgAVoU7SvcLAEaxB6b8op2s7AETzwXcd3YU41PpaAD" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 36 -} +{ "abi": [ { "type": "event", "name": "SaleAdded", "inputs": [ { "name": "saleId", "type": "uint24", "indexed": true, "internalType": "uint24" }, { "name": "currency", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "SaleRemoved", "inputs": [ { "name": "saleId", "type": "uint24", "indexed": true, "internalType": "uint24" }, { "name": "currency", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "VoucherTokenIdAdded", "inputs": [ { "name": "voucher", "type": "address", "indexed": true, "internalType": "address" }, { "name": "tokenId", "type": "uint32", "indexed": true, "internalType": "uint32" } ], "anonymous": false }, { "type": "event", "name": "VoucherTokenIdRemoved", "inputs": [ { "name": "voucher", "type": "address", "indexed": true, "internalType": "address" }, { "name": "tokenId", "type": "uint32", "indexed": true, "internalType": "uint32" } ], "anonymous": false } ], "bytecode": { "object": "0x6080604052348015600f57600080fd5b50601680601d6000396000f3fe6080604052600080fdfea164736f6c634300060c000a", "sourceMap": "827:592:36:-:0;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x6080604052600080fdfea164736f6c634300060c000a", "sourceMap": "827:592:36:-:0;;;;;", "linkReferences": {} }, "methodIdentifiers": {}, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint24\",\"name\":\"saleId\",\"type\":\"uint24\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"}],\"name\":\"SaleAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint24\",\"name\":\"saleId\",\"type\":\"uint24\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"}],\"name\":\"SaleRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voucher\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint32\",\"name\":\"tokenId\",\"type\":\"uint32\"}],\"name\":\"VoucherTokenIdAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voucher\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint32\",\"name\":\"tokenId\",\"type\":\"uint32\"}],\"name\":\"VoucherTokenIdRemoved\",\"type\":\"event\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"DO NOT EDIT CONTRACT. If new events or storage are necessary, they should be added to a numbered SolvV2ConvertibleBuyerPositionLibBaseXXX that inherits the previous base. e.g., `SolvV2ConvertibleBuyerPositionLibBase2 is SolvV2ConvertibleBuyerPositionLibBase1`\",\"kind\":\"dev\",\"methods\":{},\"title\":\"SolvV2ConvertibleBuyerPositionLibBase1 Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"A persistent contract containing all required storage variables and required functions for a SolvV2ConvertibleBuyerPositionLib implementation\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/external-positions/solv-v2-convertible-buyer/SolvV2ConvertibleBuyerPositionLibBase1.sol\":\"SolvV2ConvertibleBuyerPositionLibBase1\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/external-positions/solv-v2-convertible-buyer/SolvV2ConvertibleBuyerPositionLibBase1.sol\":{\"keccak256\":\"0x8f2209f92d7ed63f0c3759bc32f7dac32c7fe166e6a06d57ee10c9e955f554d3\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b21a997433ad99e503ba71dc5d5c8e619a2f384b080a5edc78185f3136064e48\",\"dweb:/ipfs/QmeaQgAVoU7SvcLAEaxB6b8op2s7AETzwXcd3YU41PpaAD\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "uint24", "name": "saleId", "type": "uint24", "indexed": true }, { "internalType": "address", "name": "currency", "type": "address", "indexed": true } ], "type": "event", "name": "SaleAdded", "anonymous": false }, { "inputs": [ { "internalType": "uint24", "name": "saleId", "type": "uint24", "indexed": true }, { "internalType": "address", "name": "currency", "type": "address", "indexed": true } ], "type": "event", "name": "SaleRemoved", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "voucher", "type": "address", "indexed": true }, { "internalType": "uint32", "name": "tokenId", "type": "uint32", "indexed": true } ], "type": "event", "name": "VoucherTokenIdAdded", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "voucher", "type": "address", "indexed": true }, { "internalType": "uint32", "name": "tokenId", "type": "uint32", "indexed": true } ], "type": "event", "name": "VoucherTokenIdRemoved", "anonymous": false } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/persistent/external-positions/solv-v2-convertible-buyer/SolvV2ConvertibleBuyerPositionLibBase1.sol": "SolvV2ConvertibleBuyerPositionLibBase1" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/external-positions/solv-v2-convertible-buyer/SolvV2ConvertibleBuyerPositionLibBase1.sol": { "keccak256": "0x8f2209f92d7ed63f0c3759bc32f7dac32c7fe166e6a06d57ee10c9e955f554d3", "urls": [ "bzz-raw://b21a997433ad99e503ba71dc5d5c8e619a2f384b080a5edc78185f3136064e48", "dweb:/ipfs/QmeaQgAVoU7SvcLAEaxB6b8op2s7AETzwXcd3YU41PpaAD" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 36 } diff --git a/eth_defi/abi/enzyme/SolvV2ConvertibleBuyerPositionParser.json b/eth_defi/abi/enzyme/SolvV2ConvertibleBuyerPositionParser.json index 08431284..4e7df056 100644 --- a/eth_defi/abi/enzyme/SolvV2ConvertibleBuyerPositionParser.json +++ b/eth_defi/abi/enzyme/SolvV2ConvertibleBuyerPositionParser.json @@ -1,462 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_convertibleMarket", - "type": "address" - }, - { - "internalType": "address", - "name": "_initialConvertibleOfferingMarket", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_externalPosition", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_actionId", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_encodedActionArgs", - "type": "bytes" - } - ], - "name": "parseAssetsForAction", - "outputs": [ - { - "internalType": "address[]", - "name": "assetsToTransfer_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "amountsToTransfer_", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "assetsToReceive_", - "type": "address[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "parseInitArgs", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x60c06040523480156200001157600080fd5b506040516200253438038062002534833981016040819052620000349162000066565b6001600160601b0319606092831b8116608052911b1660a052620000d1565b80516200006081620000b7565b92915050565b600080604083850312156200007a57600080fd5b600062000088858562000053565b92505060206200009b8582860162000053565b9150509250929050565b60006001600160a01b03821662000060565b620000c281620000a5565b8114620000ce57600080fd5b50565b60805160601c60a05160601c61241c620001186000398060be528061014a528061020b52508061038b52806104f652806105be5280610648528061073d525061241c6000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063bbd2d6461461003b578063db16c72e14610066575b600080fd5b61004e610049366004611d0f565b610086565b60405161005d939291906121a4565b60405180910390f35b610079610074366004611cbd565b610e87565b60405161005d91906121e6565b60608080846103535760008061009b86610e8f565b915091506100a7611325565b6040516309cfb2ab60e41b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690639cfb2ab0906100f390869060040161225e565b6101a06040518083038186803b15801561010c57600080fd5b505afa158015610120573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101449190611ddb565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663423dd0dd856040518263ffffffff1660e01b8152600401610194919061225e565b60206040518083038186803b1580156101ac57600080fd5b505afa1580156101c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101e49190611ed4565b90506101ee61138f565b610100830151604051638e8f294b60e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691638e8f294b9161023f9190600401612196565b60e06040518083038186803b15801561025757600080fd5b505afa15801561026b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061028f9190611dbd565b905060006102c3826060015160ff16600a0a6102bd85886001600160801b0316610eaf90919063ffffffff16565b90610ef2565b60408051600180825281830190925291925060208083019080368337019050509850836101200151896000815181106102f857fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509750808860008151811061033c57fe5b602002602001018181525050505050505050610e7e565b60018514156104be5760008061036886610f24565b915091506103746113cd565b60405163782f5cb360e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063782f5cb3906103c090869060040161225e565b6101a06040518083038186803b1580156103d957600080fd5b505afa1580156103ed573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104119190611dfa565b905061043361042e826101200151836020015162ffffff16610f3b565b6110b5565b60408051600180825281830190925290602080830190803683370190505095508061014001518660008151811061046657fe5b6001600160a01b039290921660209283029190910182015260408051600180825281830190925291828101908036833701905050945081856000815181106104aa57fe5b602002602001018181525050505050610e7e565b60028514156108ae576000806104d386610e8f565b915091506104df6113cd565b60405163782f5cb360e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063782f5cb39061052b90869060040161225e565b6101a06040518083038186803b15801561054457600080fd5b505afa158015610558573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061057c9190611dfa565b905061059961042e826101200151836020015162ffffff16610f3b565b6105a1611436565b610120820151604051638e8f294b60e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691638e8f294b916105f29190600401612196565b60c06040518083038186803b15801561060a57600080fd5b505afa15801561061e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106429190611d9f565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663423dd0dd866040518263ffffffff1660e01b8152600401610692919061225e565b60206040518083038186803b1580156106aa57600080fd5b505afa1580156106be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106e29190611e38565b9050600061071c83602001516001600160801b03166102bd846001600160801b0316886001600160801b0316610eaf90919063ffffffff16565b90506001610120850151604051638e8f294b60e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691638e8f294b916107719190600401612196565b60c06040518083038186803b15801561078957600080fd5b505afa15801561079d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107c19190611d9f565b6060015160018111156107d057fe5b141561087b5760006001846040015160018111156107ea57fe5b14156107fb57506080830151610864565b60008460400151600181111561080d57fe5b14156108435761083c6108376127106102bd8760a0015161ffff1686610eaf90919063ffffffff16565b6110f5565b9050610864565b60405162461bcd60e51b815260040161085b9061224e565b60405180910390fd5b610877826001600160801b03831661111e565b9150505b6040805160018082528183019092529060208083019080368337019050509850836101400151896000815181106102f857fe5b6003851415610ad6576000806108c386611143565b5060405163bde4c3cb60e01b815291935063ffffffff16915082906000906001600160a01b0383169063bde4c3cb9061090090869060040161226c565b602060405180830381600087803b15801561091a57600080fd5b505af115801561092e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109529190611ed4565b905061095c61146c565b60405163d3ceafb960e01b81526001600160a01b0384169063d3ceafb99061098890859060040161226c565b6101a06040518083038186803b1580156109a157600080fd5b505afa1580156109b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109d99190611e19565b6040805160028082526060820183529293509190602083019080368337019050509550826001600160a01b0316636f307dc36040518163ffffffff1660e01b815260040160206040518083038186803b158015610a3557600080fd5b505afa158015610a49573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a6d9190611aac565b86600081518110610a7a57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050806020015186600181518110610aac57fe5b60200260200101906001600160a01b031690816001600160a01b0316815250505050505050610e7e565b6006851415610c4a5760008690506060816001600160a01b0316630d83304c6040518163ffffffff1660e01b815260040160006040518083038186803b158015610b1f57600080fd5b505afa158015610b33573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610b5b9190810190611d6a565b805190915060005b81811015610c41576000838281518110610b7957fe5b6020026020010151602001519050610b90816110b5565b610b9a8682611169565b15610ba55750610c39565b6040516370a0823160e01b81526000906001600160a01b038316906370a0823190610bd4908f90600401612196565b60206040518083038186803b158015610bec57600080fd5b505afa158015610c00573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c249190611ed4565b1115610c3757610c3486826111bf565b95505b505b600101610b63565b50505050610e7e565b6004851415610c79576000610c5e8561128a565b505050505050505092505050610c73816110b5565b50610e7e565b6005851415610c9f576000610c8d856112d4565b505050505092505050610c73816110b5565b6007851415610e7e576000610cb38561130f565b905060008790506060816001600160a01b0316630d83304c6040518163ffffffff1660e01b815260040160006040518083038186803b158015610cf557600080fd5b505afa158015610d09573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610d319190810190611d6a565b805190915060005b81811015610e78578462ffffff16838281518110610d5357fe5b60200260200101516000015162ffffff161415610e70576000838281518110610d7857fe5b6020026020010151602001516001600160a01b03166370a082318d6040518263ffffffff1660e01b8152600401610daf9190612196565b60206040518083038186803b158015610dc757600080fd5b505afa158015610ddb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dff9190611ed4565b1115610e6b576040805160018082528183019092529060208083019080368337019050509550828181518110610e3157fe5b60200260200101516020015186600081518110610e4a57fe5b60200260200101906001600160a01b031690816001600160a01b0316815250505b610e78565b600101610d39565b50505050505b93509350939050565b606092915050565b60008082806020019051810190610ea69190611e74565b91509150915091565b600082610ebe57506000610eec565b82820282848281610ecb57fe5b0414610ee95760405162461bcd60e51b815260040161085b9061222e565b90505b92915050565b6000808211610f135760405162461bcd60e51b815260040161085b9061221e565b818381610f1c57fe5b049392505050565b60008082806020019051810190610ea69190611ea4565b600080839050806001600160a01b031663360454c56040518163ffffffff1660e01b815260040160206040518083038186803b158015610f7a57600080fd5b505afa158015610f8e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fb29190611aac565b6001600160a01b031663d3ceafb9826001600160a01b031663263f3e7e866040518263ffffffff1660e01b8152600401610fec919061226c565b60206040518083038186803b15801561100457600080fd5b505afa158015611018573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061103c9190611ed4565b6040518263ffffffff1660e01b8152600401611058919061226c565b6101a06040518083038186803b15801561107157600080fd5b505afa158015611085573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110a99190611e19565b60200151949350505050565b6001600160a01b03811673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14156110f25760405162461bcd60e51b815260040161085b9061223e565b50565b6000600160801b821061111a5760405162461bcd60e51b815260040161085b9061220e565b5090565b600082820183811015610ee95760405162461bcd60e51b815260040161085b906121fe565b60008060008380602001905181019061115c9190611c70565b9250925092509193909250565b6000805b83518110156111b55783818151811061118257fe5b60200260200101516001600160a01b0316836001600160a01b031614156111ad576001915050610eec565b60010161116d565b5060009392505050565b6060825160010167ffffffffffffffff811180156111dc57600080fd5b50604051908082528060200260200182016040528015611206578160200160208202803683370190505b50905060005b83518110156112555783818151811061122157fe5b602002602001015182828151811061123557fe5b6001600160a01b039092166020928302919091019091015260010161120c565b50818184518151811061126457fe5b60200260200101906001600160a01b031690816001600160a01b03168152505092915050565b60008060008060008060008060008060008b8060200190518101906112af9190611b82565b9a509a509a509a509a509a509a509a509a509a509a5091939597999b90929496989a50565b600080600080600080600080888060200190518101906112f49190611ad2565b97509750975097509750975097509750919395975091939597565b600081806020019051810190610eec9190611e56565b604080516101a081018252600080825260208201819052918101829052906060820190815260006020820181905260408201819052606082018190526080820181905260a0820181905260c0820181905260e0820181905261010082018190526101209091015290565b6040805160e08101909152806000815260006020820181905260408201819052606082018190526080820181905260a0820181905260c09091015290565b604080516101a08101825260008082526020820181905291810182905260608101829052906080820190815260006020820181905260408201819052606082018190526080820181905260a0820181905260c0820181905260e082018190526101009091015290565b6040805160c081018252600080825260208201819052909182019081526020016000815260006020820181905260409091015290565b604080516101a081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052906101008201908152600060208201819052604082018190526060820181905260809091015290565b8035610eec81612399565b8051610eec81612399565b600082601f8301126114fc57600080fd5b815161150f61150a826122a1565b61227a565b9150818183526020840193506020810190508385604084028201111561153457600080fd5b60005b83811015611562578161154a888261184d565b84525060209092019160409190910190600101611537565b5050505092915050565b8051610eec816123ad565b600082601f83011261158857600080fd5b813561159661150a826122c2565b915080825260208301602083018583830111156115b257600080fd5b6115bd838284612353565b50505092915050565b8051610eec816123b6565b8051610eec816123c3565b600060c082840312156115ee57600080fd5b6115f860c061227a565b90506000611606848461156c565b825250602061161784848301611a54565b602083015250604061162b848285016115c6565b604083015250606061163f848285016115c6565b606083015250608061165384828501611a54565b60808301525060a061166784828501611a5f565b60a08301525092915050565b600060e0828403121561168557600080fd5b61168f60e061227a565b9050600061169d84846115d1565b82525060206116ae848483016114e0565b60208301525060406116c2848285016114e0565b60408301525060606116d684828501611aa1565b60608301525060806116ea84828501611a5f565b60808301525060a06116fe8482850161156c565b60a08301525060c06117128482850161156c565b60c08301525092915050565b60006101a0828403121561173157600080fd5b61173c6101a061227a565b9050600061174a8484611a6a565b825250602061175b84848301611a8b565b602083015250604061176f84828501611a8b565b6040830152506060611783848285016115c6565b606083015250608061179784828501611a54565b60808301525060a06117ab84828501611a54565b60a08301525060c06117bf84828501611a54565b60c08301525060e06117d384828501611a54565b60e0830152506101006117e8848285016114e0565b610100830152506101206117fe848285016114e0565b61012083015250610140611814848285016114e0565b6101408301525061016061182a8482850161156c565b610160830152506101806118408482850161156c565b6101808301525092915050565b60006040828403121561185f57600080fd5b611869604061227a565b905060006118778484611a6a565b8252506020611888848483016114e0565b60208301525092915050565b60006101a082840312156118a757600080fd5b6118b26101a061227a565b905060006118c08484611a6a565b82525060206118d184848301611a6a565b60208301525060406118e584828501611a8b565b60408301525060606118f9848285016114e0565b606083015250608061190d848285016115c6565b60808301525060a061192184828501611a54565b60a08301525060c061193584828501611a54565b60c08301525060e061194984828501611a54565b60e0830152506101006117e884828501611a54565b60006101a0828403121561197157600080fd5b61197c6101a061227a565b9050600061198a84846114e0565b825250602061199b848483016114e0565b60208301525060406119af84828501611a80565b60408301525060606119c384828501611a54565b60608301525060806119d784828501611a54565b60808301525060a06119eb84828501611a54565b60a08301525060c06119ff84828501611a96565b60c08301525060e0611a1384828501611a96565b60e083015250610100611a28848285016115c6565b61010083015250610120611a3e8482850161156c565b610120830152506101406118148482850161156c565b8051610eec816123d0565b8051610eec816123d9565b8051610eec816123e2565b8035610eec816123eb565b8051610eec816123eb565b8051610eec816123f4565b8051610eec816123fd565b8051610eec81612406565b600060208284031215611abe57600080fd5b6000611aca84846114e0565b949350505050565b600080600080600080600080610100898b031215611aef57600080fd5b6000611afb8b8b6114e0565b9850506020611b0c8b828c01611a6a565b9750506040611b1d8b828c016114e0565b9650506060611b2e8b828c01611a54565b9550506080611b3f8b828c01611a54565b94505060a0611b508b828c01611a8b565b93505060c0611b618b828c0161156c565b92505060e0611b728b828c01611a54565b9150509295985092959890939650565b60008060008060008060008060008060006101608c8e031215611ba457600080fd5b6000611bb08e8e6114e0565b9b50506020611bc18e828f01611a6a565b9a50506040611bd28e828f016114e0565b9950506060611be38e828f01611a54565b9850506080611bf48e828f01611a54565b97505060a0611c058e828f01611a8b565b96505060c0611c168e828f0161156c565b95505060e0611c278e828f01611a54565b945050610100611c398e828f01611a54565b935050610120611c4b8e828f01611a8b565b925050610140611c5d8e828f01611a8b565b9150509295989b509295989b9093969950565b600080600060608486031215611c8557600080fd5b6000611c9186866114e0565b9350506020611ca286828701611a8b565b9250506040611cb386828701611a80565b9150509250925092565b60008060408385031215611cd057600080fd5b6000611cdc85856114d5565b925050602083013567ffffffffffffffff811115611cf957600080fd5b611d0585828601611577565b9150509250929050565b600080600060608486031215611d2457600080fd5b6000611d3086866114d5565b9350506020611d4186828701611a75565b925050604084013567ffffffffffffffff811115611d5e57600080fd5b611cb386828701611577565b600060208284031215611d7c57600080fd5b815167ffffffffffffffff811115611d9357600080fd5b611aca848285016114eb565b600060c08284031215611db157600080fd5b6000611aca84846115dc565b600060e08284031215611dcf57600080fd5b6000611aca8484611673565b60006101a08284031215611dee57600080fd5b6000611aca848461171e565b60006101a08284031215611e0d57600080fd5b6000611aca8484611894565b60006101a08284031215611e2c57600080fd5b6000611aca848461195e565b600060208284031215611e4a57600080fd5b6000611aca8484611a54565b600060208284031215611e6857600080fd5b6000611aca8484611a6a565b60008060408385031215611e8757600080fd5b6000611e938585611a6a565b9250506020611d0585828601611a54565b60008060408385031215611eb757600080fd5b6000611ec38585611a6a565b9250506020611d0585828601611a80565b600060208284031215611ee657600080fd5b6000611aca8484611a80565b6000611efe8383611f12565b505060200190565b6000611efe838361218d565b611f1b816122fd565b82525050565b6000611f2c826122f0565b611f3681856122f4565b9350611f41836122ea565b8060005b83811015611f6f578151611f598882611ef2565b9750611f64836122ea565b925050600101611f45565b509495945050505050565b6000611f85826122f0565b611f8f81856122f4565b9350611f9a836122ea565b8060005b83811015611f6f578151611fb28882611f06565b9750611fbd836122ea565b925050600101611f9e565b6000611fd3826122f0565b611fdd81856122f4565b9350611fed81856020860161235f565b611ff68161238f565b9093019392505050565b600061200d601b836122f4565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b60006120466027836122f4565b7f53616665436173743a2076616c756520646f65736e27742066697420696e20318152663238206269747360c81b602082015260400192915050565b600061208f601a836122f4565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b60006120c86021836122f4565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b600061210b6035836122f4565b7f5f5f76616c69646174654e6f744e6174697665546f6b656e3a204e617469766581527408185cdcd95d081a5cc81d5b9cdd5c1c1bdc9d1959605a1b602082015260400192915050565b60006121626013836122f4565b72756e737570706f72746564206665655479706560681b815260200192915050565b611f1b8161232c565b611f1b81612334565b60208101610eec8284611f12565b606080825281016121b58186611f21565b905081810360208301526121c98185611f7a565b905081810360408301526121dd8184611f21565b95945050505050565b602080825281016121f78184611fc8565b9392505050565b60208082528101610eec81612000565b60208082528101610eec81612039565b60208082528101610eec81612082565b60208082528101610eec816120bb565b60208082528101610eec816120fe565b60208082528101610eec81612155565b60208101610eec8284612184565b60208101610eec828461218d565b60405181810167ffffffffffffffff8111828210171561229957600080fd5b604052919050565b600067ffffffffffffffff8211156122b857600080fd5b5060209081020190565b600067ffffffffffffffff8211156122d957600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b6000610eec82612320565b151590565b6001600160801b031690565b61ffff1690565b6001600160a01b031690565b62ffffff1690565b90565b63ffffffff1690565b67ffffffffffffffff1690565b60ff1690565b82818337506000910152565b60005b8381101561237a578181015183820152602001612362565b83811115612389576000848401525b50505050565b601f01601f191690565b6123a2816122fd565b81146110f257600080fd5b6123a281612308565b600281106110f257600080fd5b600381106110f257600080fd5b6123a28161230d565b6123a281612319565b6123a28161232c565b6123a281612334565b6123a281612337565b6123a281612340565b6123a28161234d56fea164736f6c634300060c000a", - "sourceMap": "1138:9416:133:-:0;;;1725:334;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;1825:74:133;;;;;;;;1909:143;;;;;1138:9416;;5:134:-1;83:13;;101:33;83:13;101:33;:::i;:::-;68:71;;;;:::o;146:399::-;;;278:2;266:9;257:7;253:23;249:32;246:2;;;294:1;291;284:12;246:2;329:1;346:64;402:7;382:9;346:64;:::i;:::-;336:74;;308:108;447:2;465:64;521:7;512:6;501:9;497:22;465:64;:::i;:::-;455:74;;426:109;240:305;;;;;:::o;552:91::-;;-1:-1;;;;;712:54;;614:24;695:76::o;778:117::-;847:24;865:5;847:24;:::i;:::-;840:5;837:35;827:2;;886:1;883;876:12;827:2;821:74;:::o;:::-;1138:9416:133;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c8063bbd2d6461461003b578063db16c72e14610066575b600080fd5b61004e610049366004611d0f565b610086565b60405161005d939291906121a4565b60405180910390f35b610079610074366004611cbd565b610e87565b60405161005d91906121e6565b60608080846103535760008061009b86610e8f565b915091506100a7611325565b6040516309cfb2ab60e41b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690639cfb2ab0906100f390869060040161225e565b6101a06040518083038186803b15801561010c57600080fd5b505afa158015610120573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101449190611ddb565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663423dd0dd856040518263ffffffff1660e01b8152600401610194919061225e565b60206040518083038186803b1580156101ac57600080fd5b505afa1580156101c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101e49190611ed4565b90506101ee61138f565b610100830151604051638e8f294b60e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691638e8f294b9161023f9190600401612196565b60e06040518083038186803b15801561025757600080fd5b505afa15801561026b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061028f9190611dbd565b905060006102c3826060015160ff16600a0a6102bd85886001600160801b0316610eaf90919063ffffffff16565b90610ef2565b60408051600180825281830190925291925060208083019080368337019050509850836101200151896000815181106102f857fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509750808860008151811061033c57fe5b602002602001018181525050505050505050610e7e565b60018514156104be5760008061036886610f24565b915091506103746113cd565b60405163782f5cb360e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063782f5cb3906103c090869060040161225e565b6101a06040518083038186803b1580156103d957600080fd5b505afa1580156103ed573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104119190611dfa565b905061043361042e826101200151836020015162ffffff16610f3b565b6110b5565b60408051600180825281830190925290602080830190803683370190505095508061014001518660008151811061046657fe5b6001600160a01b039290921660209283029190910182015260408051600180825281830190925291828101908036833701905050945081856000815181106104aa57fe5b602002602001018181525050505050610e7e565b60028514156108ae576000806104d386610e8f565b915091506104df6113cd565b60405163782f5cb360e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063782f5cb39061052b90869060040161225e565b6101a06040518083038186803b15801561054457600080fd5b505afa158015610558573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061057c9190611dfa565b905061059961042e826101200151836020015162ffffff16610f3b565b6105a1611436565b610120820151604051638e8f294b60e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691638e8f294b916105f29190600401612196565b60c06040518083038186803b15801561060a57600080fd5b505afa15801561061e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106429190611d9f565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663423dd0dd866040518263ffffffff1660e01b8152600401610692919061225e565b60206040518083038186803b1580156106aa57600080fd5b505afa1580156106be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106e29190611e38565b9050600061071c83602001516001600160801b03166102bd846001600160801b0316886001600160801b0316610eaf90919063ffffffff16565b90506001610120850151604051638e8f294b60e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691638e8f294b916107719190600401612196565b60c06040518083038186803b15801561078957600080fd5b505afa15801561079d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107c19190611d9f565b6060015160018111156107d057fe5b141561087b5760006001846040015160018111156107ea57fe5b14156107fb57506080830151610864565b60008460400151600181111561080d57fe5b14156108435761083c6108376127106102bd8760a0015161ffff1686610eaf90919063ffffffff16565b6110f5565b9050610864565b60405162461bcd60e51b815260040161085b9061224e565b60405180910390fd5b610877826001600160801b03831661111e565b9150505b6040805160018082528183019092529060208083019080368337019050509850836101400151896000815181106102f857fe5b6003851415610ad6576000806108c386611143565b5060405163bde4c3cb60e01b815291935063ffffffff16915082906000906001600160a01b0383169063bde4c3cb9061090090869060040161226c565b602060405180830381600087803b15801561091a57600080fd5b505af115801561092e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109529190611ed4565b905061095c61146c565b60405163d3ceafb960e01b81526001600160a01b0384169063d3ceafb99061098890859060040161226c565b6101a06040518083038186803b1580156109a157600080fd5b505afa1580156109b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109d99190611e19565b6040805160028082526060820183529293509190602083019080368337019050509550826001600160a01b0316636f307dc36040518163ffffffff1660e01b815260040160206040518083038186803b158015610a3557600080fd5b505afa158015610a49573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a6d9190611aac565b86600081518110610a7a57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050806020015186600181518110610aac57fe5b60200260200101906001600160a01b031690816001600160a01b0316815250505050505050610e7e565b6006851415610c4a5760008690506060816001600160a01b0316630d83304c6040518163ffffffff1660e01b815260040160006040518083038186803b158015610b1f57600080fd5b505afa158015610b33573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610b5b9190810190611d6a565b805190915060005b81811015610c41576000838281518110610b7957fe5b6020026020010151602001519050610b90816110b5565b610b9a8682611169565b15610ba55750610c39565b6040516370a0823160e01b81526000906001600160a01b038316906370a0823190610bd4908f90600401612196565b60206040518083038186803b158015610bec57600080fd5b505afa158015610c00573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c249190611ed4565b1115610c3757610c3486826111bf565b95505b505b600101610b63565b50505050610e7e565b6004851415610c79576000610c5e8561128a565b505050505050505092505050610c73816110b5565b50610e7e565b6005851415610c9f576000610c8d856112d4565b505050505092505050610c73816110b5565b6007851415610e7e576000610cb38561130f565b905060008790506060816001600160a01b0316630d83304c6040518163ffffffff1660e01b815260040160006040518083038186803b158015610cf557600080fd5b505afa158015610d09573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610d319190810190611d6a565b805190915060005b81811015610e78578462ffffff16838281518110610d5357fe5b60200260200101516000015162ffffff161415610e70576000838281518110610d7857fe5b6020026020010151602001516001600160a01b03166370a082318d6040518263ffffffff1660e01b8152600401610daf9190612196565b60206040518083038186803b158015610dc757600080fd5b505afa158015610ddb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dff9190611ed4565b1115610e6b576040805160018082528183019092529060208083019080368337019050509550828181518110610e3157fe5b60200260200101516020015186600081518110610e4a57fe5b60200260200101906001600160a01b031690816001600160a01b0316815250505b610e78565b600101610d39565b50505050505b93509350939050565b606092915050565b60008082806020019051810190610ea69190611e74565b91509150915091565b600082610ebe57506000610eec565b82820282848281610ecb57fe5b0414610ee95760405162461bcd60e51b815260040161085b9061222e565b90505b92915050565b6000808211610f135760405162461bcd60e51b815260040161085b9061221e565b818381610f1c57fe5b049392505050565b60008082806020019051810190610ea69190611ea4565b600080839050806001600160a01b031663360454c56040518163ffffffff1660e01b815260040160206040518083038186803b158015610f7a57600080fd5b505afa158015610f8e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fb29190611aac565b6001600160a01b031663d3ceafb9826001600160a01b031663263f3e7e866040518263ffffffff1660e01b8152600401610fec919061226c565b60206040518083038186803b15801561100457600080fd5b505afa158015611018573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061103c9190611ed4565b6040518263ffffffff1660e01b8152600401611058919061226c565b6101a06040518083038186803b15801561107157600080fd5b505afa158015611085573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110a99190611e19565b60200151949350505050565b6001600160a01b03811673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14156110f25760405162461bcd60e51b815260040161085b9061223e565b50565b6000600160801b821061111a5760405162461bcd60e51b815260040161085b9061220e565b5090565b600082820183811015610ee95760405162461bcd60e51b815260040161085b906121fe565b60008060008380602001905181019061115c9190611c70565b9250925092509193909250565b6000805b83518110156111b55783818151811061118257fe5b60200260200101516001600160a01b0316836001600160a01b031614156111ad576001915050610eec565b60010161116d565b5060009392505050565b6060825160010167ffffffffffffffff811180156111dc57600080fd5b50604051908082528060200260200182016040528015611206578160200160208202803683370190505b50905060005b83518110156112555783818151811061122157fe5b602002602001015182828151811061123557fe5b6001600160a01b039092166020928302919091019091015260010161120c565b50818184518151811061126457fe5b60200260200101906001600160a01b031690816001600160a01b03168152505092915050565b60008060008060008060008060008060008b8060200190518101906112af9190611b82565b9a509a509a509a509a509a509a509a509a509a509a5091939597999b90929496989a50565b600080600080600080600080888060200190518101906112f49190611ad2565b97509750975097509750975097509750919395975091939597565b600081806020019051810190610eec9190611e56565b604080516101a081018252600080825260208201819052918101829052906060820190815260006020820181905260408201819052606082018190526080820181905260a0820181905260c0820181905260e0820181905261010082018190526101209091015290565b6040805160e08101909152806000815260006020820181905260408201819052606082018190526080820181905260a0820181905260c09091015290565b604080516101a08101825260008082526020820181905291810182905260608101829052906080820190815260006020820181905260408201819052606082018190526080820181905260a0820181905260c0820181905260e082018190526101009091015290565b6040805160c081018252600080825260208201819052909182019081526020016000815260006020820181905260409091015290565b604080516101a081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052906101008201908152600060208201819052604082018190526060820181905260809091015290565b8035610eec81612399565b8051610eec81612399565b600082601f8301126114fc57600080fd5b815161150f61150a826122a1565b61227a565b9150818183526020840193506020810190508385604084028201111561153457600080fd5b60005b83811015611562578161154a888261184d565b84525060209092019160409190910190600101611537565b5050505092915050565b8051610eec816123ad565b600082601f83011261158857600080fd5b813561159661150a826122c2565b915080825260208301602083018583830111156115b257600080fd5b6115bd838284612353565b50505092915050565b8051610eec816123b6565b8051610eec816123c3565b600060c082840312156115ee57600080fd5b6115f860c061227a565b90506000611606848461156c565b825250602061161784848301611a54565b602083015250604061162b848285016115c6565b604083015250606061163f848285016115c6565b606083015250608061165384828501611a54565b60808301525060a061166784828501611a5f565b60a08301525092915050565b600060e0828403121561168557600080fd5b61168f60e061227a565b9050600061169d84846115d1565b82525060206116ae848483016114e0565b60208301525060406116c2848285016114e0565b60408301525060606116d684828501611aa1565b60608301525060806116ea84828501611a5f565b60808301525060a06116fe8482850161156c565b60a08301525060c06117128482850161156c565b60c08301525092915050565b60006101a0828403121561173157600080fd5b61173c6101a061227a565b9050600061174a8484611a6a565b825250602061175b84848301611a8b565b602083015250604061176f84828501611a8b565b6040830152506060611783848285016115c6565b606083015250608061179784828501611a54565b60808301525060a06117ab84828501611a54565b60a08301525060c06117bf84828501611a54565b60c08301525060e06117d384828501611a54565b60e0830152506101006117e8848285016114e0565b610100830152506101206117fe848285016114e0565b61012083015250610140611814848285016114e0565b6101408301525061016061182a8482850161156c565b610160830152506101806118408482850161156c565b6101808301525092915050565b60006040828403121561185f57600080fd5b611869604061227a565b905060006118778484611a6a565b8252506020611888848483016114e0565b60208301525092915050565b60006101a082840312156118a757600080fd5b6118b26101a061227a565b905060006118c08484611a6a565b82525060206118d184848301611a6a565b60208301525060406118e584828501611a8b565b60408301525060606118f9848285016114e0565b606083015250608061190d848285016115c6565b60808301525060a061192184828501611a54565b60a08301525060c061193584828501611a54565b60c08301525060e061194984828501611a54565b60e0830152506101006117e884828501611a54565b60006101a0828403121561197157600080fd5b61197c6101a061227a565b9050600061198a84846114e0565b825250602061199b848483016114e0565b60208301525060406119af84828501611a80565b60408301525060606119c384828501611a54565b60608301525060806119d784828501611a54565b60808301525060a06119eb84828501611a54565b60a08301525060c06119ff84828501611a96565b60c08301525060e0611a1384828501611a96565b60e083015250610100611a28848285016115c6565b61010083015250610120611a3e8482850161156c565b610120830152506101406118148482850161156c565b8051610eec816123d0565b8051610eec816123d9565b8051610eec816123e2565b8035610eec816123eb565b8051610eec816123eb565b8051610eec816123f4565b8051610eec816123fd565b8051610eec81612406565b600060208284031215611abe57600080fd5b6000611aca84846114e0565b949350505050565b600080600080600080600080610100898b031215611aef57600080fd5b6000611afb8b8b6114e0565b9850506020611b0c8b828c01611a6a565b9750506040611b1d8b828c016114e0565b9650506060611b2e8b828c01611a54565b9550506080611b3f8b828c01611a54565b94505060a0611b508b828c01611a8b565b93505060c0611b618b828c0161156c565b92505060e0611b728b828c01611a54565b9150509295985092959890939650565b60008060008060008060008060008060006101608c8e031215611ba457600080fd5b6000611bb08e8e6114e0565b9b50506020611bc18e828f01611a6a565b9a50506040611bd28e828f016114e0565b9950506060611be38e828f01611a54565b9850506080611bf48e828f01611a54565b97505060a0611c058e828f01611a8b565b96505060c0611c168e828f0161156c565b95505060e0611c278e828f01611a54565b945050610100611c398e828f01611a54565b935050610120611c4b8e828f01611a8b565b925050610140611c5d8e828f01611a8b565b9150509295989b509295989b9093969950565b600080600060608486031215611c8557600080fd5b6000611c9186866114e0565b9350506020611ca286828701611a8b565b9250506040611cb386828701611a80565b9150509250925092565b60008060408385031215611cd057600080fd5b6000611cdc85856114d5565b925050602083013567ffffffffffffffff811115611cf957600080fd5b611d0585828601611577565b9150509250929050565b600080600060608486031215611d2457600080fd5b6000611d3086866114d5565b9350506020611d4186828701611a75565b925050604084013567ffffffffffffffff811115611d5e57600080fd5b611cb386828701611577565b600060208284031215611d7c57600080fd5b815167ffffffffffffffff811115611d9357600080fd5b611aca848285016114eb565b600060c08284031215611db157600080fd5b6000611aca84846115dc565b600060e08284031215611dcf57600080fd5b6000611aca8484611673565b60006101a08284031215611dee57600080fd5b6000611aca848461171e565b60006101a08284031215611e0d57600080fd5b6000611aca8484611894565b60006101a08284031215611e2c57600080fd5b6000611aca848461195e565b600060208284031215611e4a57600080fd5b6000611aca8484611a54565b600060208284031215611e6857600080fd5b6000611aca8484611a6a565b60008060408385031215611e8757600080fd5b6000611e938585611a6a565b9250506020611d0585828601611a54565b60008060408385031215611eb757600080fd5b6000611ec38585611a6a565b9250506020611d0585828601611a80565b600060208284031215611ee657600080fd5b6000611aca8484611a80565b6000611efe8383611f12565b505060200190565b6000611efe838361218d565b611f1b816122fd565b82525050565b6000611f2c826122f0565b611f3681856122f4565b9350611f41836122ea565b8060005b83811015611f6f578151611f598882611ef2565b9750611f64836122ea565b925050600101611f45565b509495945050505050565b6000611f85826122f0565b611f8f81856122f4565b9350611f9a836122ea565b8060005b83811015611f6f578151611fb28882611f06565b9750611fbd836122ea565b925050600101611f9e565b6000611fd3826122f0565b611fdd81856122f4565b9350611fed81856020860161235f565b611ff68161238f565b9093019392505050565b600061200d601b836122f4565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b60006120466027836122f4565b7f53616665436173743a2076616c756520646f65736e27742066697420696e20318152663238206269747360c81b602082015260400192915050565b600061208f601a836122f4565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b60006120c86021836122f4565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b600061210b6035836122f4565b7f5f5f76616c69646174654e6f744e6174697665546f6b656e3a204e617469766581527408185cdcd95d081a5cc81d5b9cdd5c1c1bdc9d1959605a1b602082015260400192915050565b60006121626013836122f4565b72756e737570706f72746564206665655479706560681b815260200192915050565b611f1b8161232c565b611f1b81612334565b60208101610eec8284611f12565b606080825281016121b58186611f21565b905081810360208301526121c98185611f7a565b905081810360408301526121dd8184611f21565b95945050505050565b602080825281016121f78184611fc8565b9392505050565b60208082528101610eec81612000565b60208082528101610eec81612039565b60208082528101610eec81612082565b60208082528101610eec816120bb565b60208082528101610eec816120fe565b60208082528101610eec81612155565b60208101610eec8284612184565b60208101610eec828461218d565b60405181810167ffffffffffffffff8111828210171561229957600080fd5b604052919050565b600067ffffffffffffffff8211156122b857600080fd5b5060209081020190565b600067ffffffffffffffff8211156122d957600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b6000610eec82612320565b151590565b6001600160801b031690565b61ffff1690565b6001600160a01b031690565b62ffffff1690565b90565b63ffffffff1690565b67ffffffffffffffff1690565b60ff1690565b82818337506000910152565b60005b8381101561237a578181015183820152602001612362565b83811115612389576000848401525b50505050565b601f01601f191690565b6123a2816122fd565b81146110f257600080fd5b6123a281612308565b600281106110f257600080fd5b600381106110f257600080fd5b6123a28161230d565b6123a281612319565b6123a28161232c565b6123a281612334565b6123a281612337565b6123a281612340565b6123a28161234d56fea164736f6c634300060c000a", - "sourceMap": "1138:9416:133:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2606:6932;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;9714:89;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;2606:6932::-;2809:34;;;2968:73;2964:6493;;3058:14;3074:13;3091:49;3121:18;3091:29;:49::i;:::-;3057:83;;;;3155:80;;:::i;:::-;3238:63;;-1:-1:-1;;;3238:63:133;;-1:-1:-1;;;;;3238:44:133;:54;;;;:63;;3293:7;;3238:63;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3155:146;;3316:20;3339:44;-1:-1:-1;;;;;3339:53:133;;3393:7;3339:62;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3316:85;;3416:76;;:::i;:::-;3569:16;;;;3495:108;;-1:-1:-1;;;3495:108:133;;-1:-1:-1;;;;;3495:44:133;:52;;;;:108;;3569:16;3495:108;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3416:187;;3617:14;3634:66;3683:6;:15;;;3675:24;;3671:2;:28;3634:32;3653:12;3642:5;-1:-1:-1;;;;;3634:14:133;:18;;:32;;;;:::i;:::-;:36;;:66::i;:::-;3735:16;;;3749:1;3735:16;;;;;;;;;3617:83;;-1:-1:-1;3735:16:133;;;;;;;;;;;-1:-1:-1;3735:16:133;3715:36;;3788:8;:17;;;3765;3783:1;3765:20;;;;;;;;-1:-1:-1;;;;;3765:40:133;;;;:20;;;;;;;;;;:40;3840:16;;;3854:1;3840:16;;;;;;;;;;;;;;3765:20;3840:16;;;;;-1:-1:-1;3840:16:133;3819:37;;3894:6;3870:18;3889:1;3870:21;;;;;;;;;;;;;:30;;;;;2964:6493;;;;;;;;;3942:55;3921:9;:77;3917:5540;;;4015:13;4030:14;4048:83;4099:18;4048:33;:83::i;:::-;4014:117;;;;4146:41;;:::i;:::-;4190;;-1:-1:-1;;;4190:41:133;;-1:-1:-1;;;;;4190:27:133;:33;;;;:41;;4224:6;;4190:41;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4146:85;;4246;4271:59;4303:4;:12;;;4317:4;:12;;;4271:59;;:31;:59::i;:::-;4246:24;:85::i;:::-;4366:16;;;4380:1;4366:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4366:16:133;4346:36;;4419:4;:13;;;4396:17;4414:1;4396:20;;;;;;;;-1:-1:-1;;;;;4396:36:133;;;;:20;;;;;;;;;;:36;4467:16;;;4481:1;4467:16;;;;;;;;;;;;;;4396:20;4467:16;;;;;-1:-1:-1;4467:16:133;4446:37;;4521:6;4497:18;4516:1;4497:21;;;;;;;;;;;;;:30;;;;;3917:5540;;;;;;4569:54;4548:9;:76;4544:4913;;;4641:13;4656;4673:52;4706:18;4673:32;:52::i;:::-;4640:85;;;;4740:41;;:::i;:::-;4784;;-1:-1:-1;;;4784:41:133;;-1:-1:-1;;;;;4784:27:133;:33;;;;:41;;4818:6;;4784:41;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4740:85;;4840;4865:59;4897:4;:12;;;4911:4;:12;;;4865:59;;:31;:59::i;4840:85::-;4940:45;;:::i;:::-;5041:12;;;;4988:79;;-1:-1:-1;;;4988:79:133;;-1:-1:-1;;;;;4988:27:133;:35;;;;:79;;5041:12;4988:79;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4940:127;;5081:13;5097:27;-1:-1:-1;;;;;5097:36:133;;5134:6;5097:44;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5081:60;;5155:14;5172:65;5219:6;:16;;;-1:-1:-1;;;;;5211:25:133;5172:34;5199:5;-1:-1:-1;;;;;5191:14:133;5180:5;-1:-1:-1;;;;;5172:14:133;:18;;:34;;;;:::i;:65::-;5155:82;-1:-1:-1;5445:45:133;5401:12;;;;5365:49;;-1:-1:-1;;;5365:49:133;;-1:-1:-1;;;;;5365:27:133;:35;;;;:49;;5401:12;5365:49;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:60;;;:125;;;;;;;;;5344:813;;;5523:11;5574:38;5556:6;:14;;;:56;;;;;;;;;5552:469;;;-1:-1:-1;5642:16:133;;;;5552:469;;;5705:42;5687:6;:14;;;:60;;;;;;;;;5683:338;;;5777:149;:112;1520:5;5777:60;5821:6;:14;;;5813:23;;5777:6;:35;;:60;;;;:::i;:112::-;:147;:149::i;:::-;5771:155;;5683:338;;;5973:29;;-1:-1:-1;;;5973:29:133;;;;;;;:::i;:::-;;;;;;;;5683:338;6127:15;:6;-1:-1:-1;;;;;6127:15:133;;:10;:15::i;:::-;6118:24;;5344:813;;6191:16;;;6205:1;6191:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6191:16:133;6171:36;;6244:4;:13;;;6221:17;6239:1;6221:20;;;;;;;4544:4913;6394:45;6373:9;:67;6369:3088;;;6457:15;6474;6495:43;6519:18;6495:23;:43::i;:::-;-1:-1:-1;6663:43:133;;-1:-1:-1;;;6663:43:133;;6456:82;;-1:-1:-1;6456:82:133;;;-1:-1:-1;6456:82:133;;6553:41;;-1:-1:-1;;;;;6663:34:133;;;;;:43;;6456:82;;6663:43;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6646:60;;6720:51;;:::i;:::-;6774:67;;-1:-1:-1;;;6774:67:133;;-1:-1:-1;;;;;6774:29:133;;;;;:67;;6821:6;;6774:67;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6875:16;;;6889:1;6875:16;;;;;;;;6720:121;;-1:-1:-1;6875:16:133;6889:1;6875:16;;;;;;;;;;-1:-1:-1;6875:16:133;6856:35;;6927:15;-1:-1:-1;;;;;6927:26:133;;:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6905:16;6922:1;6905:19;;;;;;;;;;;;;:50;-1:-1:-1;;;;;6905:50:133;;;-1:-1:-1;;;;;6905:50:133;;;;;6991:10;:23;;;6969:16;6986:1;6969:19;;;;;;;;;;;;;:45;-1:-1:-1;;;;;6969:45:133;;;-1:-1:-1;;;;;6969:45:133;;;;;6369:3088;;;;;;;;7056:49;7035:9;:71;7031:2426;;;7122:56;7234:17;7122:147;;7284:53;7340:24;-1:-1:-1;;;;;7340:50:133;;:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7340:52:133;;;;;;;;;;;;:::i;:::-;7429:12;;7284:108;;-1:-1:-1;7407:19:133;7455:453;7475:11;7471:1;:15;7455:453;;;7511:20;7534:5;7540:1;7534:8;;;;;;;;;;;;;;:17;;;7511:40;;7569:38;7594:12;7569:24;:38::i;:::-;7630:39;:16;7656:12;7630:25;:39::i;:::-;7626:94;;;7693:8;;;7626:94;7742:48;;-1:-1:-1;;;7742:48:133;;7793:1;;-1:-1:-1;;;;;7742:29:133;;;;;:48;;7772:17;;7742:48;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:52;7738:156;;;7837:38;:16;7862:12;7837:24;:38::i;:::-;7818:57;;7738:156;7455:453;;7488:3;;7455:453;;;;7031:2426;;;;;;7962:64;7941:9;:86;7924:1533;;;8057:16;8093:92;8153:18;8093:42;:92::i;:::-;8052:133;;;;;;;;;;;;8199:34;8224:8;8199:24;:34::i;:::-;7924:1533;;;;8288:60;8267:9;:82;8250:1207;;;8379:16;8409:88;8465:18;8409:38;:88::i;:::-;8374:123;;;;;;;;;8511:34;8536:8;8511:24;:34::i;8250:1207::-;8587:50;8566:9;:72;8562:895;;;8654:13;8670:48;8699:18;8670:28;:48::i;:::-;8654:64;;8733:56;8845:17;8733:147;;8895:53;8951:24;-1:-1:-1;;;;;8951:50:133;;:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8951:52:133;;;;;;;;;;;;:::i;:::-;9040:12;;8895:108;;-1:-1:-1;9018:19:133;9067:380;9087:11;9083:1;:15;9067:380;;;9146:6;9127:25;;:5;9133:1;9127:8;;;;;;;;;;;;;;:15;;;:25;;;9123:310;;;9236:1;9186:5;9192:1;9186:8;;;;;;;;;;;;;;:17;;;-1:-1:-1;;;;;9180:34:133;;9215:17;9180:53;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:57;9176:212;;;9284:16;;;9298:1;9284:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9284:16:133;9265:35;;9348:5;9354:1;9348:8;;;;;;;;;;;;;;:17;;;9326:16;9343:1;9326:19;;;;;;;;;;;;;:39;-1:-1:-1;;;;;9326:39:133;;;-1:-1:-1;;;;;9326:39:133;;;;;9176:212;9409:5;;9123:310;9100:3;;9067:380;;;;8562:895;;;;;2606:6932;;;;;;;:::o;9714:89::-;9787:12;9714:89;;;;:::o;629:218:131:-;741:18;761:14;809:11;798:42;;;;;;;;;;;;:::i;:::-;791:49;;;;629:218;;;:::o;3538:215:442:-;3596:7;3619:6;3615:20;;-1:-1:-1;3634:1:442;3627:8;;3615:20;3657:5;;;3661:1;3657;:5;:1;3680:5;;;;;:10;3672:56;;;;-1:-1:-1;;;3672:56:442;;;;;;;:::i;:::-;3745:1;-1:-1:-1;3538:215:442;;;;;:::o;4217:150::-;4275:7;4306:1;4302;:5;4294:44;;;;-1:-1:-1;;;4294:44:442;;;;;;;:::i;:::-;4359:1;4355;:5;;;;;;;4217:150;-1:-1:-1;;;4217:150:442:o;927:219:131:-;1043:14;1059:15;1108:11;1097:42;;;;;;;;;;;;:::i;9835:424:133:-;9958:17;9991:41;10061:8;9991:79;;10123:15;-1:-1:-1;;;;;10123:31:133;;:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;10100:88:133;;10189:15;-1:-1:-1;;;;;10189:22:133;;10212:8;10189:32;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10100:122;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:152;;;;9835:424;-1:-1:-1;;;;9835:424:133:o;10342:210::-;-1:-1:-1;;;;;10436:30:133;;1422:42;10436:30;;10415:130;;;;-1:-1:-1;;;10415:130:133;;;;;;;:::i;:::-;10342:210;:::o;1086:181:454:-;1143:7;-1:-1:-1;;;1170:5:454;:14;1162:67;;;;-1:-1:-1;;;1162:67:454;;;;;;;:::i;:::-;-1:-1:-1;1254:5:454;1086:181::o;2690:175:442:-;2748:7;2779:5;;;2802:6;;;;2794:46;;;;-1:-1:-1;;;2794:46:442;;;;;;;:::i;1512:282:131:-;1631:16;1661:15;1690:14;1747:11;1736:51;;;;;;;;;;;;:::i;:::-;1729:58;;;;;;1512:282;;;;;:::o;2489:299:354:-;2595:17;2633:9;2628:132;2648:5;:12;2644:1;:16;2628:132;;;2696:5;2702:1;2696:8;;;;;;;;;;;;;;-1:-1:-1;;;;;2685:19:354;:7;-1:-1:-1;;;;;2685:19:354;;2681:69;;;2731:4;2724:11;;;;;2681:69;2662:3;;2628:132;;;-1:-1:-1;2776:5:354;;2489:299;-1:-1:-1;;;2489:299:354:o;1668:374::-;1776:27;1846:5;:12;1861:1;1846:16;1832:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1832:31:354;;1819:44;;1878:9;1873:88;1893:5;:12;1889:1;:16;1873:88;;;1942:5;1948:1;1942:8;;;;;;;;;;;;;;1926:10;1937:1;1926:13;;;;;;;;-1:-1:-1;;;;;1926:24:354;;;:13;;;;;;;;;;;:24;1907:3;;1873:88;;;;1997:10;1970;1981:5;:12;1970:24;;;;;;;;;;;;;:37;-1:-1:-1;;;;;1970:37:354;;;-1:-1:-1;;;;;1970:37:354;;;;;1668:374;;;;:::o;1883:900:131:-;2021:16;2051:15;2080:17;2111:12;2137;2163:17;2194:18;2226:16;2256:15;2285:16;2315;2403:11;2375:401;;;;;;;;;;;;:::i;:::-;2356:420;;;;;;;;;;;;;;;;;;;;;;1883:900;;;;;;;;;;;;;:::o;2868:542::-;3002:16;3032:15;3061:17;3092:12;3118;3144:17;3175:18;3207:14;3293:11;3265:138;;;;;;;;;;;;:::i;:::-;3246:157;;;;;;;;;;;;;;;;2868:542;;;;;;;;;:::o;3485:188::-;3596:14;3644:11;3633:33;;;;;;;;;;;;:::i;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5:130::-;72:20;;97:33;72:20;97:33;:::i;142:134::-;220:13;;238:33;220:13;238:33;:::i;501:788::-;;651:3;644:4;636:6;632:17;628:27;618:2;;669:1;666;659:12;618:2;699:6;693:13;721:102;736:86;815:6;736:86;:::i;:::-;721:102;:::i;:::-;712:111;;840:5;865:6;858:5;851:21;895:4;887:6;883:17;873:27;;917:4;912:3;908:14;901:21;;970:6;1017:3;1009:4;1001:6;997:17;992:3;988:27;985:36;982:2;;;1034:1;1031;1024:12;982:2;1059:1;1044:239;1069:6;1066:1;1063:13;1044:239;;;1127:3;1149:70;1215:3;1203:10;1149:70;:::i;:::-;1137:83;;-1:-1;1243:4;1234:14;;;;1271:4;1262:14;;;;;1091:1;1084:9;1044:239;;;1048:14;611:678;;;;;;;:::o;1297:128::-;1372:13;;1390:30;1372:13;1390:30;:::i;1433:440::-;;1534:3;1527:4;1519:6;1515:17;1511:27;1501:2;;1552:1;1549;1542:12;1501:2;1589:6;1576:20;1611:64;1626:48;1667:6;1626:48;:::i;1611:64::-;1602:73;;1695:6;1688:5;1681:21;1731:4;1723:6;1719:17;1764:4;1757:5;1753:16;1799:3;1790:6;1785:3;1781:16;1778:25;1775:2;;;1816:1;1813;1806:12;1775:2;1826:41;1860:6;1855:3;1850;1826:41;:::i;:::-;1494:379;;;;;;;:::o;1881:174::-;1979:13;;1997:53;1979:13;1997:53;:::i;2744:168::-;2839:13;;2857:50;2839:13;2857:50;:::i;2964:1172::-;;3089:4;3077:9;3072:3;3068:19;3064:30;3061:2;;;3107:1;3104;3097:12;3061:2;3125:20;3140:4;3125:20;:::i;:::-;3116:29;-1:-1;3198:1;3230:57;3283:3;3263:9;3230:57;:::i;:::-;3205:83;;-1:-1;3354:2;3387:60;3443:3;3419:22;;;3387:60;:::i;:::-;3380:4;3373:5;3369:16;3362:86;3309:150;3512:2;3545:73;3614:3;3605:6;3594:9;3590:22;3545:73;:::i;:::-;3538:4;3531:5;3527:16;3520:99;3469:161;3686:2;3719:76;3791:3;3782:6;3771:9;3767:22;3719:76;:::i;:::-;3712:4;3705:5;3701:16;3694:102;3640:167;3862:3;3896:60;3952:3;3943:6;3932:9;3928:22;3896:60;:::i;:::-;3889:4;3882:5;3878:16;3871:86;3817:151;4021:3;4055:59;4110:3;4101:6;4090:9;4086:22;4055:59;:::i;:::-;4048:4;4041:5;4037:16;4030:85;3978:148;3055:1081;;;;:::o;4203:1324::-;;4328:4;4316:9;4311:3;4307:19;4303:30;4300:2;;;4346:1;4343;4336:12;4300:2;4364:20;4379:4;4364:20;:::i;:::-;4355:29;-1:-1;4441:1;4473:77;4546:3;4526:9;4473:77;:::i;:::-;4448:103;;-1:-1;4619:2;4652:60;4708:3;4684:22;;;4652:60;:::i;:::-;4645:4;4638:5;4634:16;4627:86;4572:152;4775:2;4808:60;4864:3;4855:6;4844:9;4840:22;4808:60;:::i;:::-;4801:4;4794:5;4790:16;4783:86;4734:146;4934:2;4967:58;5021:3;5012:6;5001:9;4997:22;4967:58;:::i;:::-;4960:4;4953:5;4949:16;4942:84;4890:147;5090:3;5124:59;5179:3;5170:6;5159:9;5155:22;5124:59;:::i;:::-;5117:4;5110:5;5106:16;5099:85;5047:148;5258:3;5292:57;5345:3;5336:6;5325:9;5321:22;5292:57;:::i;:::-;5285:4;5278:5;5274:16;5267:83;5205:156;5414:3;5448:57;5501:3;5492:6;5481:9;5477:22;5448:57;:::i;:::-;5441:4;5434:5;5430:16;5423:83;5371:146;4294:1233;;;;:::o;5596:2280::-;;5723:6;5711:9;5706:3;5702:19;5698:32;5695:2;;;5743:1;5740;5733:12;5695:2;5761:22;5776:6;5761:22;:::i;:::-;5752:31;-1:-1;5839:1;5871:59;5926:3;5906:9;5871:59;:::i;:::-;5846:85;;-1:-1;5997:2;6030:59;6085:3;6061:22;;;6030:59;:::i;:::-;6023:4;6016:5;6012:16;6005:85;5952:149;6154:2;6187:59;6242:3;6233:6;6222:9;6218:22;6187:59;:::i;:::-;6180:4;6173:5;6169:16;6162:85;6111:147;6313:2;6346:75;6417:3;6408:6;6397:9;6393:22;6346:75;:::i;:::-;6339:4;6332:5;6328:16;6321:101;6268:165;6489:3;6523:60;6579:3;6570:6;6559:9;6555:22;6523:60;:::i;:::-;6516:4;6509:5;6505:16;6498:86;6443:152;6646:3;6680:60;6736:3;6727:6;6716:9;6712:22;6680:60;:::i;:::-;6673:4;6666:5;6662:16;6655:86;6605:147;6801:3;6835:60;6891:3;6882:6;6871:9;6867:22;6835:60;:::i;:::-;6828:4;6821:5;6817:16;6810:86;6762:145;6956:3;6990:60;7046:3;7037:6;7026:9;7022:22;6990:60;:::i;:::-;6983:4;6976:5;6972:16;6965:86;6917:145;7115:3;7151:60;7207:3;7198:6;7187:9;7183:22;7151:60;:::i;:::-;7142:6;7135:5;7131:18;7124:88;7072:151;7277:3;7313:60;7369:3;7360:6;7349:9;7345:22;7313:60;:::i;:::-;7304:6;7297:5;7293:18;7286:88;7233:152;7437:3;7473:60;7529:3;7520:6;7509:9;7505:22;7473:60;:::i;:::-;7464:6;7457:5;7453:18;7446:88;7395:150;7603:3;7639:57;7692:3;7683:6;7672:9;7668:22;7639:57;:::i;:::-;7630:6;7623:5;7619:18;7612:85;7555:153;7761:3;7797:57;7850:3;7841:6;7830:9;7826:22;7797:57;:::i;:::-;7788:6;7781:5;7777:18;7770:85;7718:148;5689:2187;;;;:::o;7940:502::-;;8062:4;8050:9;8045:3;8041:19;8037:30;8034:2;;;8080:1;8077;8070:12;8034:2;8098:20;8113:4;8098:20;:::i;:::-;8089:29;-1:-1;8170:1;8202:59;8257:3;8237:9;8202:59;:::i;:::-;8177:85;;-1:-1;8327:2;8360:60;8416:3;8392:22;;;8360:60;:::i;:::-;8353:4;8346:5;8342:16;8335:86;8283:149;8028:414;;;;:::o;8492:2267::-;;8615:6;8603:9;8598:3;8594:19;8590:32;8587:2;;;8635:1;8632;8625:12;8587:2;8653:22;8668:6;8653:22;:::i;:::-;8644:31;-1:-1;8727:1;8759:59;8814:3;8794:9;8759:59;:::i;:::-;8734:85;;-1:-1;8883:2;8916:59;8971:3;8947:22;;;8916:59;:::i;:::-;8909:4;8902:5;8898:16;8891:85;8840:147;9042:2;9075:59;9130:3;9121:6;9110:9;9106:22;9075:59;:::i;:::-;9068:4;9061:5;9057:16;9050:85;8997:149;9198:2;9231:60;9287:3;9278:6;9267:9;9263:22;9231:60;:::i;:::-;9224:4;9217:5;9213:16;9206:86;9156:147;9358:3;9392:75;9463:3;9454:6;9443:9;9439:22;9392:75;:::i;:::-;9385:4;9378:5;9374:16;9367:101;9313:166;9530:3;9564:60;9620:3;9611:6;9600:9;9596:22;9564:60;:::i;:::-;9557:4;9550:5;9546:16;9539:86;9489:147;9687:3;9721:60;9777:3;9768:6;9757:9;9753:22;9721:60;:::i;:::-;9714:4;9707:5;9703:16;9696:86;9646:147;9842:3;9876:60;9932:3;9923:6;9912:9;9908:22;9876:60;:::i;:::-;9869:4;9862:5;9858:16;9851:86;9803:145;9997:3;10033:60;10089:3;10080:6;10069:9;10065:22;10033:60;:::i;10813:2332::-;;10942:6;10930:9;10925:3;10921:19;10917:32;10914:2;;;10962:1;10959;10952:12;10914:2;10980:22;10995:6;10980:22;:::i;:::-;10971:31;-1:-1;11054:1;11086:60;11142:3;11122:9;11086:60;:::i;:::-;11061:86;;-1:-1;11216:2;11249:60;11305:3;11281:22;;;11249:60;:::i;:::-;11242:4;11235:5;11231:16;11224:86;11168:153;11377:2;11410:60;11466:3;11457:6;11446:9;11442:22;11410:60;:::i;:::-;11403:4;11396:5;11392:16;11385:86;11331:151;11539:2;11572:60;11628:3;11619:6;11608:9;11604:22;11572:60;:::i;:::-;11565:4;11558:5;11554:16;11547:86;11492:152;11702:3;11736:60;11792:3;11783:6;11772:9;11768:22;11736:60;:::i;:::-;11729:4;11722:5;11718:16;11711:86;11654:154;11865:3;11899:60;11955:3;11946:6;11935:9;11931:22;11899:60;:::i;:::-;11892:4;11885:5;11881:16;11874:86;11818:153;12030:3;12064:59;12119:3;12110:6;12099:9;12095:22;12064:59;:::i;:::-;12057:4;12050:5;12046:16;12039:85;11981:154;12189:3;12223:59;12278:3;12269:6;12258:9;12254:22;12223:59;:::i;:::-;12216:4;12209:5;12205:16;12198:85;12145:149;12354:3;12390:80;12466:3;12457:6;12446:9;12442:22;12390:80;:::i;:::-;12381:6;12374:5;12370:18;12363:108;12304:178;12544:3;12580:57;12633:3;12624:6;12613:9;12609:22;12580:57;:::i;:::-;12571:6;12564:5;12560:18;12553:85;12492:157;12712:3;12748:57;12801:3;12792:6;12781:9;12777:22;12748:57;:::i;13152:134::-;13230:13;;13248:33;13230:13;13248:33;:::i;13293:132::-;13370:13;;13388:32;13370:13;13388:32;:::i;13432:132::-;13509:13;;13527:32;13509:13;13527:32;:::i;13571:130::-;13638:20;;13663:33;13638:20;13663:33;:::i;13708:134::-;13786:13;;13804:33;13786:13;13804:33;:::i;13849:132::-;13926:13;;13944:32;13926:13;13944:32;:::i;13988:132::-;14065:13;;14083:32;14065:13;14083:32;:::i;14127:130::-;14203:13;;14221:31;14203:13;14221:31;:::i;14264:263::-;;14379:2;14367:9;14358:7;14354:23;14350:32;14347:2;;;14395:1;14392;14385:12;14347:2;14430:1;14447:64;14503:7;14483:9;14447:64;:::i;:::-;14437:74;14341:186;-1:-1;;;;14341:186::o;14534:1242::-;;;;;;;;;14779:3;14767:9;14758:7;14754:23;14750:33;14747:2;;;14796:1;14793;14786:12;14747:2;14831:1;14848:72;14912:7;14892:9;14848:72;:::i;:::-;14838:82;;14810:116;14957:2;14975:63;15030:7;15021:6;15010:9;15006:22;14975:63;:::i;:::-;14965:73;;14936:108;15075:2;15093:72;15157:7;15148:6;15137:9;15133:22;15093:72;:::i;:::-;15083:82;;15054:117;15202:2;15220:64;15276:7;15267:6;15256:9;15252:22;15220:64;:::i;:::-;15210:74;;15181:109;15321:3;15340:64;15396:7;15387:6;15376:9;15372:22;15340:64;:::i;:::-;15330:74;;15300:110;15441:3;15460:63;15515:7;15506:6;15495:9;15491:22;15460:63;:::i;:::-;15450:73;;15420:109;15560:3;15579:61;15632:7;15623:6;15612:9;15608:22;15579:61;:::i;:::-;15569:71;;15539:107;15677:3;15696:64;15752:7;15743:6;15732:9;15728:22;15696:64;:::i;:::-;15686:74;;15656:110;14741:1035;;;;;;;;;;;:::o;15783:1651::-;;;;;;;;;;;;16078:3;16066:9;16057:7;16053:23;16049:33;16046:2;;;16095:1;16092;16085:12;16046:2;16130:1;16147:72;16211:7;16191:9;16147:72;:::i;:::-;16137:82;;16109:116;16256:2;16274:63;16329:7;16320:6;16309:9;16305:22;16274:63;:::i;:::-;16264:73;;16235:108;16374:2;16392:72;16456:7;16447:6;16436:9;16432:22;16392:72;:::i;:::-;16382:82;;16353:117;16501:2;16519:64;16575:7;16566:6;16555:9;16551:22;16519:64;:::i;:::-;16509:74;;16480:109;16620:3;16639:64;16695:7;16686:6;16675:9;16671:22;16639:64;:::i;:::-;16629:74;;16599:110;16740:3;16759:63;16814:7;16805:6;16794:9;16790:22;16759:63;:::i;:::-;16749:73;;16719:109;16859:3;16878:61;16931:7;16922:6;16911:9;16907:22;16878:61;:::i;:::-;16868:71;;16838:107;16976:3;16995:64;17051:7;17042:6;17031:9;17027:22;16995:64;:::i;:::-;16985:74;;16955:110;17096:3;17115:64;17171:7;17162:6;17151:9;17147:22;17115:64;:::i;:::-;17105:74;;17075:110;17216:3;17235:63;17290:7;17281:6;17270:9;17266:22;17235:63;:::i;:::-;17225:73;;17195:109;17335:3;17355:63;17410:7;17401:6;17390:9;17386:22;17355:63;:::i;:::-;17344:74;;17314:110;16040:1394;;;;;;;;;;;;;;:::o;17441:549::-;;;;17597:2;17585:9;17576:7;17572:23;17568:32;17565:2;;;17613:1;17610;17603:12;17565:2;17648:1;17665:72;17729:7;17709:9;17665:72;:::i;:::-;17655:82;;17627:116;17774:2;17792:63;17847:7;17838:6;17827:9;17823:22;17792:63;:::i;:::-;17782:73;;17753:108;17892:2;17910:64;17966:7;17957:6;17946:9;17942:22;17910:64;:::i;:::-;17900:74;;17871:109;17559:431;;;;;:::o;17997:470::-;;;18127:2;18115:9;18106:7;18102:23;18098:32;18095:2;;;18143:1;18140;18133:12;18095:2;18178:1;18195:53;18240:7;18220:9;18195:53;:::i;:::-;18185:63;;18157:97;18313:2;18302:9;18298:18;18285:32;18337:18;18329:6;18326:30;18323:2;;;18369:1;18366;18359:12;18323:2;18389:62;18443:7;18434:6;18423:9;18419:22;18389:62;:::i;:::-;18379:72;;18264:193;18089:378;;;;;:::o;18474:595::-;;;;18621:2;18609:9;18600:7;18596:23;18592:32;18589:2;;;18637:1;18634;18627:12;18589:2;18672:1;18689:53;18734:7;18714:9;18689:53;:::i;:::-;18679:63;;18651:97;18779:2;18797:53;18842:7;18833:6;18822:9;18818:22;18797:53;:::i;:::-;18787:63;;18758:98;18915:2;18904:9;18900:18;18887:32;18939:18;18931:6;18928:30;18925:2;;;18971:1;18968;18961:12;18925:2;18991:62;19045:7;19036:6;19025:9;19021:22;18991:62;:::i;19076:436::-;;19238:2;19226:9;19217:7;19213:23;19209:32;19206:2;;;19254:1;19251;19244:12;19206:2;19289:24;;19333:18;19322:30;;19319:2;;;19365:1;19362;19355:12;19319:2;19385:111;19488:7;19479:6;19468:9;19464:22;19385:111;:::i;19519:314::-;;19659:3;19647:9;19638:7;19634:23;19630:33;19627:2;;;19676:1;19673;19666:12;19627:2;19711:1;19728:89;19809:7;19789:9;19728:89;:::i;19840:314::-;;19980:3;19968:9;19959:7;19955:23;19951:33;19948:2;;;19997:1;19994;19987:12;19948:2;20032:1;20049:89;20130:7;20110:9;20049:89;:::i;20161:318::-;;20303:3;20291:9;20282:7;20278:23;20274:33;20271:2;;;20320:1;20317;20310:12;20271:2;20355:1;20372:91;20455:7;20435:9;20372:91;:::i;20486:310::-;;20624:3;20612:9;20603:7;20599:23;20595:33;20592:2;;;20641:1;20638;20631:12;20592:2;20676:1;20693:87;20772:7;20752:9;20693:87;:::i;20803:322::-;;20947:3;20935:9;20926:7;20922:23;20918:33;20915:2;;;20964:1;20961;20954:12;20915:2;20999:1;21016:93;21101:7;21081:9;21016:93;:::i;21132:263::-;;21247:2;21235:9;21226:7;21222:23;21218:32;21215:2;;;21263:1;21260;21253:12;21215:2;21298:1;21315:64;21371:7;21351:9;21315:64;:::i;21402:261::-;;21516:2;21504:9;21495:7;21491:23;21487:32;21484:2;;;21532:1;21529;21522:12;21484:2;21567:1;21584:63;21639:7;21619:9;21584:63;:::i;21670:397::-;;;21801:2;21789:9;21780:7;21776:23;21772:32;21769:2;;;21817:1;21814;21807:12;21769:2;21852:1;21869:63;21924:7;21904:9;21869:63;:::i;:::-;21859:73;;21831:107;21969:2;21987:64;22043:7;22034:6;22023:9;22019:22;21987:64;:::i;22074:397::-;;;22205:2;22193:9;22184:7;22180:23;22176:32;22173:2;;;22221:1;22218;22211:12;22173:2;22256:1;22273:63;22328:7;22308:9;22273:63;:::i;:::-;22263:73;;22235:107;22373:2;22391:64;22447:7;22438:6;22427:9;22423:22;22391:64;:::i;22478:263::-;;22593:2;22581:9;22572:7;22568:23;22564:32;22561:2;;;22609:1;22606;22599:12;22561:2;22644:1;22661:64;22717:7;22697:9;22661:64;:::i;22749:173::-;;22836:46;22878:3;22870:6;22836:46;:::i;:::-;-1:-1;;22911:4;22902:14;;22829:93::o;22931:173::-;;23018:46;23060:3;23052:6;23018:46;:::i;23112:103::-;23185:24;23203:5;23185:24;:::i;:::-;23180:3;23173:37;23167:48;;:::o;23373:690::-;;23518:54;23566:5;23518:54;:::i;:::-;23585:86;23664:6;23659:3;23585:86;:::i;:::-;23578:93;;23692:56;23742:5;23692:56;:::i;:::-;23768:7;23796:1;23781:260;23806:6;23803:1;23800:13;23781:260;;;23873:6;23867:13;23894:63;23953:3;23938:13;23894:63;:::i;:::-;23887:70;;23974:60;24027:6;23974:60;:::i;:::-;23964:70;-1:-1;;23828:1;23821:9;23781:260;;;-1:-1;24054:3;;23497:566;-1:-1;;;;;23497:566::o;24102:690::-;;24247:54;24295:5;24247:54;:::i;:::-;24314:86;24393:6;24388:3;24314:86;:::i;:::-;24307:93;;24421:56;24471:5;24421:56;:::i;:::-;24497:7;24525:1;24510:260;24535:6;24532:1;24529:13;24510:260;;;24602:6;24596:13;24623:63;24682:3;24667:13;24623:63;:::i;:::-;24616:70;;24703:60;24756:6;24703:60;:::i;:::-;24693:70;-1:-1;;24557:1;24550:9;24510:260;;24800:343;;24910:38;24942:5;24910:38;:::i;:::-;24960:70;25023:6;25018:3;24960:70;:::i;:::-;24953:77;;25035:52;25080:6;25075:3;25068:4;25061:5;25057:16;25035:52;:::i;:::-;25108:29;25130:6;25108:29;:::i;:::-;25099:39;;;;24890:253;-1:-1;;;24890:253::o;25151:327::-;;25311:67;25375:2;25370:3;25311:67;:::i;:::-;25411:29;25391:50;;25469:2;25460:12;;25297:181;-1:-1;;25297:181::o;25487:376::-;;25647:67;25711:2;25706:3;25647:67;:::i;:::-;25747:34;25727:55;;-1:-1;;;25811:2;25802:12;;25795:31;25854:2;25845:12;;25633:230;-1:-1;;25633:230::o;25872:326::-;;26032:67;26096:2;26091:3;26032:67;:::i;:::-;26132:28;26112:49;;26189:2;26180:12;;26018:180;-1:-1;;26018:180::o;26207:370::-;;26367:67;26431:2;26426:3;26367:67;:::i;:::-;26467:34;26447:55;;-1:-1;;;26531:2;26522:12;;26515:25;26568:2;26559:12;;26353:224;-1:-1;;26353:224::o;26586:390::-;;26746:67;26810:2;26805:3;26746:67;:::i;:::-;26846:34;26826:55;;-1:-1;;;26910:2;26901:12;;26894:45;26967:2;26958:12;;26732:244;-1:-1;;26732:244::o;26985:319::-;;27145:67;27209:2;27204:3;27145:67;:::i;:::-;-1:-1;;;27225:42;;27295:2;27286:12;;27131:173;-1:-1;;27131:173::o;27312:110::-;27393:23;27410:5;27393:23;:::i;27429:103::-;27502:24;27520:5;27502:24;:::i;27659:222::-;27786:2;27771:18;;27800:71;27775:9;27844:6;27800:71;:::i;27888:888::-;28221:2;28235:47;;;28206:18;;28296:108;28206:18;28390:6;28296:108;:::i;:::-;28288:116;;28452:9;28446:4;28442:20;28437:2;28426:9;28422:18;28415:48;28477:108;28580:4;28571:6;28477:108;:::i;:::-;28469:116;;28633:9;28627:4;28623:20;28618:2;28607:9;28603:18;28596:48;28658:108;28761:4;28752:6;28658:108;:::i;:::-;28650:116;28192:584;-1:-1;;;;;28192:584::o;28783:306::-;28928:2;28942:47;;;28913:18;;29003:76;28913:18;29065:6;29003:76;:::i;:::-;28995:84;28899:190;-1:-1;;;28899:190::o;29096:416::-;29296:2;29310:47;;;29281:18;;29371:131;29281:18;29371:131;:::i;29519:416::-;29719:2;29733:47;;;29704:18;;29794:131;29704:18;29794:131;:::i;29942:416::-;30142:2;30156:47;;;30127:18;;30217:131;30127:18;30217:131;:::i;30365:416::-;30565:2;30579:47;;;30550:18;;30640:131;30550:18;30640:131;:::i;30788:416::-;30988:2;31002:47;;;30973:18;;31063:131;30973:18;31063:131;:::i;31211:416::-;31411:2;31425:47;;;31396:18;;31486:131;31396:18;31486:131;:::i;31634:218::-;31759:2;31744:18;;31773:69;31748:9;31815:6;31773:69;:::i;31859:222::-;31986:2;31971:18;;32000:71;31975:9;32044:6;32000:71;:::i;32088:256::-;32150:2;32144:9;32176:17;;;32251:18;32236:34;;32272:22;;;32233:62;32230:2;;;32308:1;32305;32298:12;32230:2;32324;32317:22;32128:216;;-1:-1;32128:216::o;32351:326::-;;32532:18;32524:6;32521:30;32518:2;;;32564:1;32561;32554:12;32518:2;-1:-1;32599:4;32587:17;;;32652:15;;32455:222::o;32684:321::-;;32827:18;32819:6;32816:30;32813:2;;;32859:1;32856;32849:12;32813:2;-1:-1;32990:4;32926;32903:17;;;;-1:-1;;32899:33;32980:15;;32750:255::o;33012:151::-;33136:4;33127:14;;33084:79::o;33328:137::-;33431:12;;33402:63::o;33975:178::-;34093:19;;;34142:4;34133:14;;34086:67::o;34691:91::-;;34753:24;34771:5;34753:24;:::i;34895:85::-;34961:13;34954:21;;34937:43::o;34987:113::-;-1:-1;;;;;35049:46;;35032:68::o;35107:84::-;35179:6;35168:18;;35151:40::o;35198:121::-;-1:-1;;;;;35260:54;;35243:76::o;35326:86::-;35398:8;35387:20;;35370:42::o;35419:72::-;35481:5;35464:27::o;35498:88::-;35570:10;35559:22;;35542:44::o;35593:96::-;35665:18;35654:30;;35637:52::o;35696:81::-;35767:4;35756:16;;35739:38::o;35785:145::-;35866:6;35861:3;35856;35843:30;-1:-1;35922:1;35904:16;;35897:27;35836:94::o;35939:268::-;36004:1;36011:101;36025:6;36022:1;36019:13;36011:101;;;36092:11;;;36086:18;36073:11;;;36066:39;36047:2;36040:10;36011:101;;;36127:6;36124:1;36121:13;36118:2;;;36192:1;36183:6;36178:3;36174:16;36167:27;36118:2;35988:219;;;;:::o;36215:97::-;36303:2;36283:14;-1:-1;;36279:28;;36263:49::o;36320:117::-;36389:24;36407:5;36389:24;:::i;:::-;36382:5;36379:35;36369:2;;36428:1;36425;36418:12;36584:111;36650:21;36665:5;36650:21;:::i;36702:114::-;36791:1;36784:5;36781:12;36771:2;;36807:1;36804;36797:12;37286:111;37372:1;37365:5;37362:12;37352:2;;37388:1;37385;37378:12;37404:117;37473:24;37491:5;37473:24;:::i;37528:115::-;37596:23;37613:5;37596:23;:::i;37650:115::-;37718:23;37735:5;37718:23;:::i;37772:117::-;37841:24;37859:5;37841:24;:::i;37896:115::-;37964:23;37981:5;37964:23;:::i;38018:115::-;38086:23;38103:5;38086:23;:::i;38140:113::-;38207:22;38223:5;38207:22;:::i", - "linkReferences": {}, - "immutableReferences": { - "34432": [ - { - "start": 907, - "length": 32 - }, - { - "start": 1270, - "length": 32 - }, - { - "start": 1470, - "length": 32 - }, - { - "start": 1608, - "length": 32 - }, - { - "start": 1853, - "length": 32 - } - ], - "34434": [ - { - "start": 190, - "length": 32 - }, - { - "start": 330, - "length": 32 - }, - { - "start": 523, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "parseAssetsForAction(address,uint256,bytes)": "bbd2d646", - "parseInitArgs(address,bytes)": "db16c72e" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_convertibleMarket\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_initialConvertibleOfferingMarket\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_externalPosition\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_actionId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_encodedActionArgs\",\"type\":\"bytes\"}],\"name\":\"parseAssetsForAction\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"assetsToTransfer_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amountsToTransfer_\",\"type\":\"uint256[]\"},{\"internalType\":\"address[]\",\"name\":\"assetsToReceive_\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"parseInitArgs\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"parseAssetsForAction(address,uint256,bytes)\":{\"params\":{\"_actionId\":\"The _actionId for the callOnExternalPosition\",\"_encodedActionArgs\":\"The encoded parameters for the callOnExternalPosition\",\"_externalPosition\":\"The _externalPosition to be called\"},\"returns\":{\"amountsToTransfer_\":\"The amounts to be transferred from the Vault\",\"assetsToReceive_\":\"The assets to be received at the Vault\",\"assetsToTransfer_\":\"The assets to be transferred from the Vault\"}},\"parseInitArgs(address,bytes)\":{\"details\":\"Empty for this external position type\"}},\"title\":\"SolvV2ConvertibleBuyerPositionParser\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"parseAssetsForAction(address,uint256,bytes)\":{\"notice\":\"Parses the assets to send and receive for the callOnExternalPosition\"},\"parseInitArgs(address,bytes)\":{\"notice\":\"Parse and validate input arguments to be used when initializing a newly-deployed ExternalPositionProxy\"}},\"notice\":\"Parser for Solv Convertible Buyer positions\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/solv-v2-convertible-buyer/SolvV2ConvertibleBuyerPositionParser.sol\":\"SolvV2ConvertibleBuyerPositionParser\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/persistent/external-positions/solv-v2-convertible-buyer/SolvV2ConvertibleBuyerPositionLibBase1.sol\":{\"keccak256\":\"0x8f2209f92d7ed63f0c3759bc32f7dac32c7fe166e6a06d57ee10c9e955f554d3\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b21a997433ad99e503ba71dc5d5c8e619a2f384b080a5edc78185f3136064e48\",\"dweb:/ipfs/QmeaQgAVoU7SvcLAEaxB6b8op2s7AETzwXcd3YU41PpaAD\"]},\"contracts/release/extensions/external-position-manager/external-positions/IExternalPositionParser.sol\":{\"keccak256\":\"0x1662fbd65841ee5e9cf8d5329b9d04c264b24ef68ae1e0484e59a8969b0d2c46\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://580569b0f875e0344db83fae1e72dcc6c0767a049b2a6cc3e4f3c411d2284b27\",\"dweb:/ipfs/QmXFmF9QbcVsPHaBo1iq8sZHYhDkwfkMZpHmLTuJJ37NvZ\"]},\"contracts/release/extensions/external-position-manager/external-positions/solv-v2-convertible-buyer/ISolvV2ConvertibleBuyerPosition.sol\":{\"keccak256\":\"0xa37e1da2db28f16cdfe58b38ea90ce6a3dd23bdfd79f77742ab701f50539e2d3\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://0ab2ce7a04bbcbf20feb464168109040f450bfb8755dec1841f211aca5466af4\",\"dweb:/ipfs/QmeFN2ZoP6SNWCjeJWSuyscyKMPbkmXPhUK2J4RC8S93TJ\"]},\"contracts/release/extensions/external-position-manager/external-positions/solv-v2-convertible-buyer/SolvV2ConvertibleBuyerPositionDataDecoder.sol\":{\"keccak256\":\"0x04f15c6a705477a8176e220c9b877804975238a7f8259f967bbb83dc6bb4a682\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://da054a8d3d8103cc35a91a5be4d8c06018184fb0d5941ea61f4502671fc7e21c\",\"dweb:/ipfs/QmVGkG5jbs2jsjbVcyqMyL3CNGUswMTJPCaNHojjMc8iQ3\"]},\"contracts/release/extensions/external-position-manager/external-positions/solv-v2-convertible-buyer/SolvV2ConvertibleBuyerPositionLib.sol\":{\"keccak256\":\"0xb75e9004c83ec88a81d5cf9b87bccbf90aefe34876404d565ed8652596dd7384\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1c4676f6879f2f875373a124c60c97906efa459626606d42a7579f0ad9fc60bb\",\"dweb:/ipfs/QmZPRcndzJ5KLK3xEzYccNEpQTg27DYKNtFf7ueg7yvYC2\"]},\"contracts/release/extensions/external-position-manager/external-positions/solv-v2-convertible-buyer/SolvV2ConvertibleBuyerPositionParser.sol\":{\"keccak256\":\"0x477bc01144ac72062423b4a5a34eefa3a79b9b911a8355dae80ad510c3dc9094\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c2d357890b47ea015a62921606bc4fce9f710fb8e19ecefc42a25a8c02593777\",\"dweb:/ipfs/QmS5jEkz5gUgZdgfxW5VCKDHSLghhC29XRQkkwdpTKvAAk\"]},\"contracts/release/interfaces/ISolvV2ConvertibleMarket.sol\":{\"keccak256\":\"0x946325023e36bdf0236bd290cecb41b561608f94070f94e112545ef6158057ea\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2825cb13b8339701c4bbf4ec10d4b5f3213a01887afe4e0a44962515fb1720f1\",\"dweb:/ipfs/QmPL6o3GbYr76hm3u1NZM5oJDDob8BPLDXWCTqbBBvTKSU\"]},\"contracts/release/interfaces/ISolvV2ConvertiblePool.sol\":{\"keccak256\":\"0x1943f59f09537f176ae398ae51184c9c69e8c366e74f2e7d2f02326c35e6fde7\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://cc239c228406fa50ec4f40a44af9438efdeb63338846a65d5864c61a643e037b\",\"dweb:/ipfs/QmZhYZoKUAPtksVygGhetvP6Yvu4UAsCpiHAqbPWLtpVJC\"]},\"contracts/release/interfaces/ISolvV2ConvertibleVoucher.sol\":{\"keccak256\":\"0xebec2ad1a5024a1958a558378dfde09cebe998609caa718f13b0088a0347a630\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://fa18447e3accb03306a9904d2d2247c8cadca34a9bc87ca585e6b0646f0814d7\",\"dweb:/ipfs/QmNyrXdUZqbYyDyEu6RyQXttD4mpETd6fFS1UiL2PVDnXf\"]},\"contracts/release/interfaces/ISolvV2InitialConvertibleOfferingMarket.sol\":{\"keccak256\":\"0xe34205d54ec639e2e3f8e0e2871984a6796424d903259857f1f11de260cf8abe\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://908f8d334df9ae2191787a8e53c78b1847bd936f2ce9d04115f5e9339c3e3934\",\"dweb:/ipfs/QmZzxE748Hb2Vosu7cwPmkb4EVpoqvS4RgHogLrvDgsnD3\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"contracts/release/utils/Uint256ArrayLib.sol\":{\"keccak256\":\"0x1627d0d32692b86c5dd3e74ebb8305fbf99a3c41d4b90e736077762cc80c1a31\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://54ff92ccd4bd685dda44c2520e3f52478168e909b400c3cc4076d37f5c2704ef\",\"dweb:/ipfs/QmYUxeaKfPwnUtP35i6JJ3ptsaDFEV6SD2o4VV8d5vBUZD\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]},\"node_modules/@openzeppelin/contracts/utils/SafeCast.sol\":{\"keccak256\":\"0x7b2b8baa20fd60ab4a328c8e34c64a353651b80ba4b5b157cbb61813f6f85d55\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://125b7f9efa390e663d630c62b97ae4e0707f31623bea989ef94c97ca9d777dd2\",\"dweb:/ipfs/QmaaLSuwvqK7wqcgyS3utHgfmB7RntcvP7eJSuvQod8Z9P\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_convertibleMarket", - "type": "address" - }, - { - "internalType": "address", - "name": "_initialConvertibleOfferingMarket", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_externalPosition", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_actionId", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_encodedActionArgs", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "parseAssetsForAction", - "outputs": [ - { - "internalType": "address[]", - "name": "assetsToTransfer_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "amountsToTransfer_", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "assetsToReceive_", - "type": "address[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "parseInitArgs", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "parseAssetsForAction(address,uint256,bytes)": { - "params": { - "_actionId": "The _actionId for the callOnExternalPosition", - "_encodedActionArgs": "The encoded parameters for the callOnExternalPosition", - "_externalPosition": "The _externalPosition to be called" - }, - "returns": { - "amountsToTransfer_": "The amounts to be transferred from the Vault", - "assetsToReceive_": "The assets to be received at the Vault", - "assetsToTransfer_": "The assets to be transferred from the Vault" - } - }, - "parseInitArgs(address,bytes)": { - "details": "Empty for this external position type" - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "parseAssetsForAction(address,uint256,bytes)": { - "notice": "Parses the assets to send and receive for the callOnExternalPosition" - }, - "parseInitArgs(address,bytes)": { - "notice": "Parse and validate input arguments to be used when initializing a newly-deployed ExternalPositionProxy" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/external-position-manager/external-positions/solv-v2-convertible-buyer/SolvV2ConvertibleBuyerPositionParser.sol": "SolvV2ConvertibleBuyerPositionParser" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/external-positions/IExternalPosition.sol": { - "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", - "urls": [ - "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", - "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/external-positions/solv-v2-convertible-buyer/SolvV2ConvertibleBuyerPositionLibBase1.sol": { - "keccak256": "0x8f2209f92d7ed63f0c3759bc32f7dac32c7fe166e6a06d57ee10c9e955f554d3", - "urls": [ - "bzz-raw://b21a997433ad99e503ba71dc5d5c8e619a2f384b080a5edc78185f3136064e48", - "dweb:/ipfs/QmeaQgAVoU7SvcLAEaxB6b8op2s7AETzwXcd3YU41PpaAD" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/IExternalPositionParser.sol": { - "keccak256": "0x1662fbd65841ee5e9cf8d5329b9d04c264b24ef68ae1e0484e59a8969b0d2c46", - "urls": [ - "bzz-raw://580569b0f875e0344db83fae1e72dcc6c0767a049b2a6cc3e4f3c411d2284b27", - "dweb:/ipfs/QmXFmF9QbcVsPHaBo1iq8sZHYhDkwfkMZpHmLTuJJ37NvZ" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/solv-v2-convertible-buyer/ISolvV2ConvertibleBuyerPosition.sol": { - "keccak256": "0xa37e1da2db28f16cdfe58b38ea90ce6a3dd23bdfd79f77742ab701f50539e2d3", - "urls": [ - "bzz-raw://0ab2ce7a04bbcbf20feb464168109040f450bfb8755dec1841f211aca5466af4", - "dweb:/ipfs/QmeFN2ZoP6SNWCjeJWSuyscyKMPbkmXPhUK2J4RC8S93TJ" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/solv-v2-convertible-buyer/SolvV2ConvertibleBuyerPositionDataDecoder.sol": { - "keccak256": "0x04f15c6a705477a8176e220c9b877804975238a7f8259f967bbb83dc6bb4a682", - "urls": [ - "bzz-raw://da054a8d3d8103cc35a91a5be4d8c06018184fb0d5941ea61f4502671fc7e21c", - "dweb:/ipfs/QmVGkG5jbs2jsjbVcyqMyL3CNGUswMTJPCaNHojjMc8iQ3" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/solv-v2-convertible-buyer/SolvV2ConvertibleBuyerPositionLib.sol": { - "keccak256": "0xb75e9004c83ec88a81d5cf9b87bccbf90aefe34876404d565ed8652596dd7384", - "urls": [ - "bzz-raw://1c4676f6879f2f875373a124c60c97906efa459626606d42a7579f0ad9fc60bb", - "dweb:/ipfs/QmZPRcndzJ5KLK3xEzYccNEpQTg27DYKNtFf7ueg7yvYC2" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/solv-v2-convertible-buyer/SolvV2ConvertibleBuyerPositionParser.sol": { - "keccak256": "0x477bc01144ac72062423b4a5a34eefa3a79b9b911a8355dae80ad510c3dc9094", - "urls": [ - "bzz-raw://c2d357890b47ea015a62921606bc4fce9f710fb8e19ecefc42a25a8c02593777", - "dweb:/ipfs/QmS5jEkz5gUgZdgfxW5VCKDHSLghhC29XRQkkwdpTKvAAk" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/ISolvV2ConvertibleMarket.sol": { - "keccak256": "0x946325023e36bdf0236bd290cecb41b561608f94070f94e112545ef6158057ea", - "urls": [ - "bzz-raw://2825cb13b8339701c4bbf4ec10d4b5f3213a01887afe4e0a44962515fb1720f1", - "dweb:/ipfs/QmPL6o3GbYr76hm3u1NZM5oJDDob8BPLDXWCTqbBBvTKSU" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/ISolvV2ConvertiblePool.sol": { - "keccak256": "0x1943f59f09537f176ae398ae51184c9c69e8c366e74f2e7d2f02326c35e6fde7", - "urls": [ - "bzz-raw://cc239c228406fa50ec4f40a44af9438efdeb63338846a65d5864c61a643e037b", - "dweb:/ipfs/QmZhYZoKUAPtksVygGhetvP6Yvu4UAsCpiHAqbPWLtpVJC" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/ISolvV2ConvertibleVoucher.sol": { - "keccak256": "0xebec2ad1a5024a1958a558378dfde09cebe998609caa718f13b0088a0347a630", - "urls": [ - "bzz-raw://fa18447e3accb03306a9904d2d2247c8cadca34a9bc87ca585e6b0646f0814d7", - "dweb:/ipfs/QmNyrXdUZqbYyDyEu6RyQXttD4mpETd6fFS1UiL2PVDnXf" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/ISolvV2InitialConvertibleOfferingMarket.sol": { - "keccak256": "0xe34205d54ec639e2e3f8e0e2871984a6796424d903259857f1f11de260cf8abe", - "urls": [ - "bzz-raw://908f8d334df9ae2191787a8e53c78b1847bd936f2ce9d04115f5e9339c3e3934", - "dweb:/ipfs/QmZzxE748Hb2Vosu7cwPmkb4EVpoqvS4RgHogLrvDgsnD3" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AddressArrayLib.sol": { - "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", - "urls": [ - "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", - "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AssetHelpers.sol": { - "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", - "urls": [ - "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", - "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/Uint256ArrayLib.sol": { - "keccak256": "0x1627d0d32692b86c5dd3e74ebb8305fbf99a3c41d4b90e736077762cc80c1a31", - "urls": [ - "bzz-raw://54ff92ccd4bd685dda44c2520e3f52478168e909b400c3cc4076d37f5c2704ef", - "dweb:/ipfs/QmYUxeaKfPwnUtP35i6JJ3ptsaDFEV6SD2o4VV8d5vBUZD" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { - "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", - "urls": [ - "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", - "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Address.sol": { - "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", - "urls": [ - "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", - "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/SafeCast.sol": { - "keccak256": "0x7b2b8baa20fd60ab4a328c8e34c64a353651b80ba4b5b157cbb61813f6f85d55", - "urls": [ - "bzz-raw://125b7f9efa390e663d630c62b97ae4e0707f31623bea989ef94c97ca9d777dd2", - "dweb:/ipfs/QmaaLSuwvqK7wqcgyS3utHgfmB7RntcvP7eJSuvQod8Z9P" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 133 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_convertibleMarket", "type": "address", "internalType": "address" }, { "name": "_initialConvertibleOfferingMarket", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "parseAssetsForAction", "inputs": [ { "name": "_externalPosition", "type": "address", "internalType": "address" }, { "name": "_actionId", "type": "uint256", "internalType": "uint256" }, { "name": "_encodedActionArgs", "type": "bytes", "internalType": "bytes" } ], "outputs": [ { "name": "assetsToTransfer_", "type": "address[]", "internalType": "address[]" }, { "name": "amountsToTransfer_", "type": "uint256[]", "internalType": "uint256[]" }, { "name": "assetsToReceive_", "type": "address[]", "internalType": "address[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "parseInitArgs", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [ { "name": "", "type": "bytes", "internalType": "bytes" } ], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x60c06040523480156200001157600080fd5b506040516200253438038062002534833981016040819052620000349162000066565b6001600160601b0319606092831b8116608052911b1660a052620000d1565b80516200006081620000b7565b92915050565b600080604083850312156200007a57600080fd5b600062000088858562000053565b92505060206200009b8582860162000053565b9150509250929050565b60006001600160a01b03821662000060565b620000c281620000a5565b8114620000ce57600080fd5b50565b60805160601c60a05160601c61241c620001186000398060be528061014a528061020b52508061038b52806104f652806105be5280610648528061073d525061241c6000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063bbd2d6461461003b578063db16c72e14610066575b600080fd5b61004e610049366004611d0f565b610086565b60405161005d939291906121a4565b60405180910390f35b610079610074366004611cbd565b610e87565b60405161005d91906121e6565b60608080846103535760008061009b86610e8f565b915091506100a7611325565b6040516309cfb2ab60e41b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690639cfb2ab0906100f390869060040161225e565b6101a06040518083038186803b15801561010c57600080fd5b505afa158015610120573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101449190611ddb565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663423dd0dd856040518263ffffffff1660e01b8152600401610194919061225e565b60206040518083038186803b1580156101ac57600080fd5b505afa1580156101c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101e49190611ed4565b90506101ee61138f565b610100830151604051638e8f294b60e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691638e8f294b9161023f9190600401612196565b60e06040518083038186803b15801561025757600080fd5b505afa15801561026b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061028f9190611dbd565b905060006102c3826060015160ff16600a0a6102bd85886001600160801b0316610eaf90919063ffffffff16565b90610ef2565b60408051600180825281830190925291925060208083019080368337019050509850836101200151896000815181106102f857fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509750808860008151811061033c57fe5b602002602001018181525050505050505050610e7e565b60018514156104be5760008061036886610f24565b915091506103746113cd565b60405163782f5cb360e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063782f5cb3906103c090869060040161225e565b6101a06040518083038186803b1580156103d957600080fd5b505afa1580156103ed573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104119190611dfa565b905061043361042e826101200151836020015162ffffff16610f3b565b6110b5565b60408051600180825281830190925290602080830190803683370190505095508061014001518660008151811061046657fe5b6001600160a01b039290921660209283029190910182015260408051600180825281830190925291828101908036833701905050945081856000815181106104aa57fe5b602002602001018181525050505050610e7e565b60028514156108ae576000806104d386610e8f565b915091506104df6113cd565b60405163782f5cb360e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063782f5cb39061052b90869060040161225e565b6101a06040518083038186803b15801561054457600080fd5b505afa158015610558573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061057c9190611dfa565b905061059961042e826101200151836020015162ffffff16610f3b565b6105a1611436565b610120820151604051638e8f294b60e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691638e8f294b916105f29190600401612196565b60c06040518083038186803b15801561060a57600080fd5b505afa15801561061e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106429190611d9f565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663423dd0dd866040518263ffffffff1660e01b8152600401610692919061225e565b60206040518083038186803b1580156106aa57600080fd5b505afa1580156106be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106e29190611e38565b9050600061071c83602001516001600160801b03166102bd846001600160801b0316886001600160801b0316610eaf90919063ffffffff16565b90506001610120850151604051638e8f294b60e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691638e8f294b916107719190600401612196565b60c06040518083038186803b15801561078957600080fd5b505afa15801561079d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107c19190611d9f565b6060015160018111156107d057fe5b141561087b5760006001846040015160018111156107ea57fe5b14156107fb57506080830151610864565b60008460400151600181111561080d57fe5b14156108435761083c6108376127106102bd8760a0015161ffff1686610eaf90919063ffffffff16565b6110f5565b9050610864565b60405162461bcd60e51b815260040161085b9061224e565b60405180910390fd5b610877826001600160801b03831661111e565b9150505b6040805160018082528183019092529060208083019080368337019050509850836101400151896000815181106102f857fe5b6003851415610ad6576000806108c386611143565b5060405163bde4c3cb60e01b815291935063ffffffff16915082906000906001600160a01b0383169063bde4c3cb9061090090869060040161226c565b602060405180830381600087803b15801561091a57600080fd5b505af115801561092e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109529190611ed4565b905061095c61146c565b60405163d3ceafb960e01b81526001600160a01b0384169063d3ceafb99061098890859060040161226c565b6101a06040518083038186803b1580156109a157600080fd5b505afa1580156109b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109d99190611e19565b6040805160028082526060820183529293509190602083019080368337019050509550826001600160a01b0316636f307dc36040518163ffffffff1660e01b815260040160206040518083038186803b158015610a3557600080fd5b505afa158015610a49573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a6d9190611aac565b86600081518110610a7a57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050806020015186600181518110610aac57fe5b60200260200101906001600160a01b031690816001600160a01b0316815250505050505050610e7e565b6006851415610c4a5760008690506060816001600160a01b0316630d83304c6040518163ffffffff1660e01b815260040160006040518083038186803b158015610b1f57600080fd5b505afa158015610b33573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610b5b9190810190611d6a565b805190915060005b81811015610c41576000838281518110610b7957fe5b6020026020010151602001519050610b90816110b5565b610b9a8682611169565b15610ba55750610c39565b6040516370a0823160e01b81526000906001600160a01b038316906370a0823190610bd4908f90600401612196565b60206040518083038186803b158015610bec57600080fd5b505afa158015610c00573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c249190611ed4565b1115610c3757610c3486826111bf565b95505b505b600101610b63565b50505050610e7e565b6004851415610c79576000610c5e8561128a565b505050505050505092505050610c73816110b5565b50610e7e565b6005851415610c9f576000610c8d856112d4565b505050505092505050610c73816110b5565b6007851415610e7e576000610cb38561130f565b905060008790506060816001600160a01b0316630d83304c6040518163ffffffff1660e01b815260040160006040518083038186803b158015610cf557600080fd5b505afa158015610d09573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610d319190810190611d6a565b805190915060005b81811015610e78578462ffffff16838281518110610d5357fe5b60200260200101516000015162ffffff161415610e70576000838281518110610d7857fe5b6020026020010151602001516001600160a01b03166370a082318d6040518263ffffffff1660e01b8152600401610daf9190612196565b60206040518083038186803b158015610dc757600080fd5b505afa158015610ddb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dff9190611ed4565b1115610e6b576040805160018082528183019092529060208083019080368337019050509550828181518110610e3157fe5b60200260200101516020015186600081518110610e4a57fe5b60200260200101906001600160a01b031690816001600160a01b0316815250505b610e78565b600101610d39565b50505050505b93509350939050565b606092915050565b60008082806020019051810190610ea69190611e74565b91509150915091565b600082610ebe57506000610eec565b82820282848281610ecb57fe5b0414610ee95760405162461bcd60e51b815260040161085b9061222e565b90505b92915050565b6000808211610f135760405162461bcd60e51b815260040161085b9061221e565b818381610f1c57fe5b049392505050565b60008082806020019051810190610ea69190611ea4565b600080839050806001600160a01b031663360454c56040518163ffffffff1660e01b815260040160206040518083038186803b158015610f7a57600080fd5b505afa158015610f8e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fb29190611aac565b6001600160a01b031663d3ceafb9826001600160a01b031663263f3e7e866040518263ffffffff1660e01b8152600401610fec919061226c565b60206040518083038186803b15801561100457600080fd5b505afa158015611018573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061103c9190611ed4565b6040518263ffffffff1660e01b8152600401611058919061226c565b6101a06040518083038186803b15801561107157600080fd5b505afa158015611085573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110a99190611e19565b60200151949350505050565b6001600160a01b03811673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14156110f25760405162461bcd60e51b815260040161085b9061223e565b50565b6000600160801b821061111a5760405162461bcd60e51b815260040161085b9061220e565b5090565b600082820183811015610ee95760405162461bcd60e51b815260040161085b906121fe565b60008060008380602001905181019061115c9190611c70565b9250925092509193909250565b6000805b83518110156111b55783818151811061118257fe5b60200260200101516001600160a01b0316836001600160a01b031614156111ad576001915050610eec565b60010161116d565b5060009392505050565b6060825160010167ffffffffffffffff811180156111dc57600080fd5b50604051908082528060200260200182016040528015611206578160200160208202803683370190505b50905060005b83518110156112555783818151811061122157fe5b602002602001015182828151811061123557fe5b6001600160a01b039092166020928302919091019091015260010161120c565b50818184518151811061126457fe5b60200260200101906001600160a01b031690816001600160a01b03168152505092915050565b60008060008060008060008060008060008b8060200190518101906112af9190611b82565b9a509a509a509a509a509a509a509a509a509a509a5091939597999b90929496989a50565b600080600080600080600080888060200190518101906112f49190611ad2565b97509750975097509750975097509750919395975091939597565b600081806020019051810190610eec9190611e56565b604080516101a081018252600080825260208201819052918101829052906060820190815260006020820181905260408201819052606082018190526080820181905260a0820181905260c0820181905260e0820181905261010082018190526101209091015290565b6040805160e08101909152806000815260006020820181905260408201819052606082018190526080820181905260a0820181905260c09091015290565b604080516101a08101825260008082526020820181905291810182905260608101829052906080820190815260006020820181905260408201819052606082018190526080820181905260a0820181905260c0820181905260e082018190526101009091015290565b6040805160c081018252600080825260208201819052909182019081526020016000815260006020820181905260409091015290565b604080516101a081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052906101008201908152600060208201819052604082018190526060820181905260809091015290565b8035610eec81612399565b8051610eec81612399565b600082601f8301126114fc57600080fd5b815161150f61150a826122a1565b61227a565b9150818183526020840193506020810190508385604084028201111561153457600080fd5b60005b83811015611562578161154a888261184d565b84525060209092019160409190910190600101611537565b5050505092915050565b8051610eec816123ad565b600082601f83011261158857600080fd5b813561159661150a826122c2565b915080825260208301602083018583830111156115b257600080fd5b6115bd838284612353565b50505092915050565b8051610eec816123b6565b8051610eec816123c3565b600060c082840312156115ee57600080fd5b6115f860c061227a565b90506000611606848461156c565b825250602061161784848301611a54565b602083015250604061162b848285016115c6565b604083015250606061163f848285016115c6565b606083015250608061165384828501611a54565b60808301525060a061166784828501611a5f565b60a08301525092915050565b600060e0828403121561168557600080fd5b61168f60e061227a565b9050600061169d84846115d1565b82525060206116ae848483016114e0565b60208301525060406116c2848285016114e0565b60408301525060606116d684828501611aa1565b60608301525060806116ea84828501611a5f565b60808301525060a06116fe8482850161156c565b60a08301525060c06117128482850161156c565b60c08301525092915050565b60006101a0828403121561173157600080fd5b61173c6101a061227a565b9050600061174a8484611a6a565b825250602061175b84848301611a8b565b602083015250604061176f84828501611a8b565b6040830152506060611783848285016115c6565b606083015250608061179784828501611a54565b60808301525060a06117ab84828501611a54565b60a08301525060c06117bf84828501611a54565b60c08301525060e06117d384828501611a54565b60e0830152506101006117e8848285016114e0565b610100830152506101206117fe848285016114e0565b61012083015250610140611814848285016114e0565b6101408301525061016061182a8482850161156c565b610160830152506101806118408482850161156c565b6101808301525092915050565b60006040828403121561185f57600080fd5b611869604061227a565b905060006118778484611a6a565b8252506020611888848483016114e0565b60208301525092915050565b60006101a082840312156118a757600080fd5b6118b26101a061227a565b905060006118c08484611a6a565b82525060206118d184848301611a6a565b60208301525060406118e584828501611a8b565b60408301525060606118f9848285016114e0565b606083015250608061190d848285016115c6565b60808301525060a061192184828501611a54565b60a08301525060c061193584828501611a54565b60c08301525060e061194984828501611a54565b60e0830152506101006117e884828501611a54565b60006101a0828403121561197157600080fd5b61197c6101a061227a565b9050600061198a84846114e0565b825250602061199b848483016114e0565b60208301525060406119af84828501611a80565b60408301525060606119c384828501611a54565b60608301525060806119d784828501611a54565b60808301525060a06119eb84828501611a54565b60a08301525060c06119ff84828501611a96565b60c08301525060e0611a1384828501611a96565b60e083015250610100611a28848285016115c6565b61010083015250610120611a3e8482850161156c565b610120830152506101406118148482850161156c565b8051610eec816123d0565b8051610eec816123d9565b8051610eec816123e2565b8035610eec816123eb565b8051610eec816123eb565b8051610eec816123f4565b8051610eec816123fd565b8051610eec81612406565b600060208284031215611abe57600080fd5b6000611aca84846114e0565b949350505050565b600080600080600080600080610100898b031215611aef57600080fd5b6000611afb8b8b6114e0565b9850506020611b0c8b828c01611a6a565b9750506040611b1d8b828c016114e0565b9650506060611b2e8b828c01611a54565b9550506080611b3f8b828c01611a54565b94505060a0611b508b828c01611a8b565b93505060c0611b618b828c0161156c565b92505060e0611b728b828c01611a54565b9150509295985092959890939650565b60008060008060008060008060008060006101608c8e031215611ba457600080fd5b6000611bb08e8e6114e0565b9b50506020611bc18e828f01611a6a565b9a50506040611bd28e828f016114e0565b9950506060611be38e828f01611a54565b9850506080611bf48e828f01611a54565b97505060a0611c058e828f01611a8b565b96505060c0611c168e828f0161156c565b95505060e0611c278e828f01611a54565b945050610100611c398e828f01611a54565b935050610120611c4b8e828f01611a8b565b925050610140611c5d8e828f01611a8b565b9150509295989b509295989b9093969950565b600080600060608486031215611c8557600080fd5b6000611c9186866114e0565b9350506020611ca286828701611a8b565b9250506040611cb386828701611a80565b9150509250925092565b60008060408385031215611cd057600080fd5b6000611cdc85856114d5565b925050602083013567ffffffffffffffff811115611cf957600080fd5b611d0585828601611577565b9150509250929050565b600080600060608486031215611d2457600080fd5b6000611d3086866114d5565b9350506020611d4186828701611a75565b925050604084013567ffffffffffffffff811115611d5e57600080fd5b611cb386828701611577565b600060208284031215611d7c57600080fd5b815167ffffffffffffffff811115611d9357600080fd5b611aca848285016114eb565b600060c08284031215611db157600080fd5b6000611aca84846115dc565b600060e08284031215611dcf57600080fd5b6000611aca8484611673565b60006101a08284031215611dee57600080fd5b6000611aca848461171e565b60006101a08284031215611e0d57600080fd5b6000611aca8484611894565b60006101a08284031215611e2c57600080fd5b6000611aca848461195e565b600060208284031215611e4a57600080fd5b6000611aca8484611a54565b600060208284031215611e6857600080fd5b6000611aca8484611a6a565b60008060408385031215611e8757600080fd5b6000611e938585611a6a565b9250506020611d0585828601611a54565b60008060408385031215611eb757600080fd5b6000611ec38585611a6a565b9250506020611d0585828601611a80565b600060208284031215611ee657600080fd5b6000611aca8484611a80565b6000611efe8383611f12565b505060200190565b6000611efe838361218d565b611f1b816122fd565b82525050565b6000611f2c826122f0565b611f3681856122f4565b9350611f41836122ea565b8060005b83811015611f6f578151611f598882611ef2565b9750611f64836122ea565b925050600101611f45565b509495945050505050565b6000611f85826122f0565b611f8f81856122f4565b9350611f9a836122ea565b8060005b83811015611f6f578151611fb28882611f06565b9750611fbd836122ea565b925050600101611f9e565b6000611fd3826122f0565b611fdd81856122f4565b9350611fed81856020860161235f565b611ff68161238f565b9093019392505050565b600061200d601b836122f4565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b60006120466027836122f4565b7f53616665436173743a2076616c756520646f65736e27742066697420696e20318152663238206269747360c81b602082015260400192915050565b600061208f601a836122f4565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b60006120c86021836122f4565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b600061210b6035836122f4565b7f5f5f76616c69646174654e6f744e6174697665546f6b656e3a204e617469766581527408185cdcd95d081a5cc81d5b9cdd5c1c1bdc9d1959605a1b602082015260400192915050565b60006121626013836122f4565b72756e737570706f72746564206665655479706560681b815260200192915050565b611f1b8161232c565b611f1b81612334565b60208101610eec8284611f12565b606080825281016121b58186611f21565b905081810360208301526121c98185611f7a565b905081810360408301526121dd8184611f21565b95945050505050565b602080825281016121f78184611fc8565b9392505050565b60208082528101610eec81612000565b60208082528101610eec81612039565b60208082528101610eec81612082565b60208082528101610eec816120bb565b60208082528101610eec816120fe565b60208082528101610eec81612155565b60208101610eec8284612184565b60208101610eec828461218d565b60405181810167ffffffffffffffff8111828210171561229957600080fd5b604052919050565b600067ffffffffffffffff8211156122b857600080fd5b5060209081020190565b600067ffffffffffffffff8211156122d957600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b6000610eec82612320565b151590565b6001600160801b031690565b61ffff1690565b6001600160a01b031690565b62ffffff1690565b90565b63ffffffff1690565b67ffffffffffffffff1690565b60ff1690565b82818337506000910152565b60005b8381101561237a578181015183820152602001612362565b83811115612389576000848401525b50505050565b601f01601f191690565b6123a2816122fd565b81146110f257600080fd5b6123a281612308565b600281106110f257600080fd5b600381106110f257600080fd5b6123a28161230d565b6123a281612319565b6123a28161232c565b6123a281612334565b6123a281612337565b6123a281612340565b6123a28161234d56fea164736f6c634300060c000a", "sourceMap": "1138:9416:133:-:0;;;1725:334;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;1825:74:133;;;;;;;;1909:143;;;;;1138:9416;;5:134:-1;83:13;;101:33;83:13;101:33;:::i;:::-;68:71;;;;:::o;146:399::-;;;278:2;266:9;257:7;253:23;249:32;246:2;;;294:1;291;284:12;246:2;329:1;346:64;402:7;382:9;346:64;:::i;:::-;336:74;;308:108;447:2;465:64;521:7;512:6;501:9;497:22;465:64;:::i;:::-;455:74;;426:109;240:305;;;;;:::o;552:91::-;;-1:-1;;;;;712:54;;614:24;695:76::o;778:117::-;847:24;865:5;847:24;:::i;:::-;840:5;837:35;827:2;;886:1;883;876:12;827:2;821:74;:::o;:::-;1138:9416:133;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c8063bbd2d6461461003b578063db16c72e14610066575b600080fd5b61004e610049366004611d0f565b610086565b60405161005d939291906121a4565b60405180910390f35b610079610074366004611cbd565b610e87565b60405161005d91906121e6565b60608080846103535760008061009b86610e8f565b915091506100a7611325565b6040516309cfb2ab60e41b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690639cfb2ab0906100f390869060040161225e565b6101a06040518083038186803b15801561010c57600080fd5b505afa158015610120573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101449190611ddb565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663423dd0dd856040518263ffffffff1660e01b8152600401610194919061225e565b60206040518083038186803b1580156101ac57600080fd5b505afa1580156101c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101e49190611ed4565b90506101ee61138f565b610100830151604051638e8f294b60e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691638e8f294b9161023f9190600401612196565b60e06040518083038186803b15801561025757600080fd5b505afa15801561026b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061028f9190611dbd565b905060006102c3826060015160ff16600a0a6102bd85886001600160801b0316610eaf90919063ffffffff16565b90610ef2565b60408051600180825281830190925291925060208083019080368337019050509850836101200151896000815181106102f857fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509750808860008151811061033c57fe5b602002602001018181525050505050505050610e7e565b60018514156104be5760008061036886610f24565b915091506103746113cd565b60405163782f5cb360e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063782f5cb3906103c090869060040161225e565b6101a06040518083038186803b1580156103d957600080fd5b505afa1580156103ed573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104119190611dfa565b905061043361042e826101200151836020015162ffffff16610f3b565b6110b5565b60408051600180825281830190925290602080830190803683370190505095508061014001518660008151811061046657fe5b6001600160a01b039290921660209283029190910182015260408051600180825281830190925291828101908036833701905050945081856000815181106104aa57fe5b602002602001018181525050505050610e7e565b60028514156108ae576000806104d386610e8f565b915091506104df6113cd565b60405163782f5cb360e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063782f5cb39061052b90869060040161225e565b6101a06040518083038186803b15801561054457600080fd5b505afa158015610558573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061057c9190611dfa565b905061059961042e826101200151836020015162ffffff16610f3b565b6105a1611436565b610120820151604051638e8f294b60e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691638e8f294b916105f29190600401612196565b60c06040518083038186803b15801561060a57600080fd5b505afa15801561061e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106429190611d9f565b905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663423dd0dd866040518263ffffffff1660e01b8152600401610692919061225e565b60206040518083038186803b1580156106aa57600080fd5b505afa1580156106be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106e29190611e38565b9050600061071c83602001516001600160801b03166102bd846001600160801b0316886001600160801b0316610eaf90919063ffffffff16565b90506001610120850151604051638e8f294b60e01b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001691638e8f294b916107719190600401612196565b60c06040518083038186803b15801561078957600080fd5b505afa15801561079d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107c19190611d9f565b6060015160018111156107d057fe5b141561087b5760006001846040015160018111156107ea57fe5b14156107fb57506080830151610864565b60008460400151600181111561080d57fe5b14156108435761083c6108376127106102bd8760a0015161ffff1686610eaf90919063ffffffff16565b6110f5565b9050610864565b60405162461bcd60e51b815260040161085b9061224e565b60405180910390fd5b610877826001600160801b03831661111e565b9150505b6040805160018082528183019092529060208083019080368337019050509850836101400151896000815181106102f857fe5b6003851415610ad6576000806108c386611143565b5060405163bde4c3cb60e01b815291935063ffffffff16915082906000906001600160a01b0383169063bde4c3cb9061090090869060040161226c565b602060405180830381600087803b15801561091a57600080fd5b505af115801561092e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109529190611ed4565b905061095c61146c565b60405163d3ceafb960e01b81526001600160a01b0384169063d3ceafb99061098890859060040161226c565b6101a06040518083038186803b1580156109a157600080fd5b505afa1580156109b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109d99190611e19565b6040805160028082526060820183529293509190602083019080368337019050509550826001600160a01b0316636f307dc36040518163ffffffff1660e01b815260040160206040518083038186803b158015610a3557600080fd5b505afa158015610a49573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a6d9190611aac565b86600081518110610a7a57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050806020015186600181518110610aac57fe5b60200260200101906001600160a01b031690816001600160a01b0316815250505050505050610e7e565b6006851415610c4a5760008690506060816001600160a01b0316630d83304c6040518163ffffffff1660e01b815260040160006040518083038186803b158015610b1f57600080fd5b505afa158015610b33573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610b5b9190810190611d6a565b805190915060005b81811015610c41576000838281518110610b7957fe5b6020026020010151602001519050610b90816110b5565b610b9a8682611169565b15610ba55750610c39565b6040516370a0823160e01b81526000906001600160a01b038316906370a0823190610bd4908f90600401612196565b60206040518083038186803b158015610bec57600080fd5b505afa158015610c00573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c249190611ed4565b1115610c3757610c3486826111bf565b95505b505b600101610b63565b50505050610e7e565b6004851415610c79576000610c5e8561128a565b505050505050505092505050610c73816110b5565b50610e7e565b6005851415610c9f576000610c8d856112d4565b505050505092505050610c73816110b5565b6007851415610e7e576000610cb38561130f565b905060008790506060816001600160a01b0316630d83304c6040518163ffffffff1660e01b815260040160006040518083038186803b158015610cf557600080fd5b505afa158015610d09573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610d319190810190611d6a565b805190915060005b81811015610e78578462ffffff16838281518110610d5357fe5b60200260200101516000015162ffffff161415610e70576000838281518110610d7857fe5b6020026020010151602001516001600160a01b03166370a082318d6040518263ffffffff1660e01b8152600401610daf9190612196565b60206040518083038186803b158015610dc757600080fd5b505afa158015610ddb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dff9190611ed4565b1115610e6b576040805160018082528183019092529060208083019080368337019050509550828181518110610e3157fe5b60200260200101516020015186600081518110610e4a57fe5b60200260200101906001600160a01b031690816001600160a01b0316815250505b610e78565b600101610d39565b50505050505b93509350939050565b606092915050565b60008082806020019051810190610ea69190611e74565b91509150915091565b600082610ebe57506000610eec565b82820282848281610ecb57fe5b0414610ee95760405162461bcd60e51b815260040161085b9061222e565b90505b92915050565b6000808211610f135760405162461bcd60e51b815260040161085b9061221e565b818381610f1c57fe5b049392505050565b60008082806020019051810190610ea69190611ea4565b600080839050806001600160a01b031663360454c56040518163ffffffff1660e01b815260040160206040518083038186803b158015610f7a57600080fd5b505afa158015610f8e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fb29190611aac565b6001600160a01b031663d3ceafb9826001600160a01b031663263f3e7e866040518263ffffffff1660e01b8152600401610fec919061226c565b60206040518083038186803b15801561100457600080fd5b505afa158015611018573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061103c9190611ed4565b6040518263ffffffff1660e01b8152600401611058919061226c565b6101a06040518083038186803b15801561107157600080fd5b505afa158015611085573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110a99190611e19565b60200151949350505050565b6001600160a01b03811673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee14156110f25760405162461bcd60e51b815260040161085b9061223e565b50565b6000600160801b821061111a5760405162461bcd60e51b815260040161085b9061220e565b5090565b600082820183811015610ee95760405162461bcd60e51b815260040161085b906121fe565b60008060008380602001905181019061115c9190611c70565b9250925092509193909250565b6000805b83518110156111b55783818151811061118257fe5b60200260200101516001600160a01b0316836001600160a01b031614156111ad576001915050610eec565b60010161116d565b5060009392505050565b6060825160010167ffffffffffffffff811180156111dc57600080fd5b50604051908082528060200260200182016040528015611206578160200160208202803683370190505b50905060005b83518110156112555783818151811061122157fe5b602002602001015182828151811061123557fe5b6001600160a01b039092166020928302919091019091015260010161120c565b50818184518151811061126457fe5b60200260200101906001600160a01b031690816001600160a01b03168152505092915050565b60008060008060008060008060008060008b8060200190518101906112af9190611b82565b9a509a509a509a509a509a509a509a509a509a509a5091939597999b90929496989a50565b600080600080600080600080888060200190518101906112f49190611ad2565b97509750975097509750975097509750919395975091939597565b600081806020019051810190610eec9190611e56565b604080516101a081018252600080825260208201819052918101829052906060820190815260006020820181905260408201819052606082018190526080820181905260a0820181905260c0820181905260e0820181905261010082018190526101209091015290565b6040805160e08101909152806000815260006020820181905260408201819052606082018190526080820181905260a0820181905260c09091015290565b604080516101a08101825260008082526020820181905291810182905260608101829052906080820190815260006020820181905260408201819052606082018190526080820181905260a0820181905260c0820181905260e082018190526101009091015290565b6040805160c081018252600080825260208201819052909182019081526020016000815260006020820181905260409091015290565b604080516101a081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052906101008201908152600060208201819052604082018190526060820181905260809091015290565b8035610eec81612399565b8051610eec81612399565b600082601f8301126114fc57600080fd5b815161150f61150a826122a1565b61227a565b9150818183526020840193506020810190508385604084028201111561153457600080fd5b60005b83811015611562578161154a888261184d565b84525060209092019160409190910190600101611537565b5050505092915050565b8051610eec816123ad565b600082601f83011261158857600080fd5b813561159661150a826122c2565b915080825260208301602083018583830111156115b257600080fd5b6115bd838284612353565b50505092915050565b8051610eec816123b6565b8051610eec816123c3565b600060c082840312156115ee57600080fd5b6115f860c061227a565b90506000611606848461156c565b825250602061161784848301611a54565b602083015250604061162b848285016115c6565b604083015250606061163f848285016115c6565b606083015250608061165384828501611a54565b60808301525060a061166784828501611a5f565b60a08301525092915050565b600060e0828403121561168557600080fd5b61168f60e061227a565b9050600061169d84846115d1565b82525060206116ae848483016114e0565b60208301525060406116c2848285016114e0565b60408301525060606116d684828501611aa1565b60608301525060806116ea84828501611a5f565b60808301525060a06116fe8482850161156c565b60a08301525060c06117128482850161156c565b60c08301525092915050565b60006101a0828403121561173157600080fd5b61173c6101a061227a565b9050600061174a8484611a6a565b825250602061175b84848301611a8b565b602083015250604061176f84828501611a8b565b6040830152506060611783848285016115c6565b606083015250608061179784828501611a54565b60808301525060a06117ab84828501611a54565b60a08301525060c06117bf84828501611a54565b60c08301525060e06117d384828501611a54565b60e0830152506101006117e8848285016114e0565b610100830152506101206117fe848285016114e0565b61012083015250610140611814848285016114e0565b6101408301525061016061182a8482850161156c565b610160830152506101806118408482850161156c565b6101808301525092915050565b60006040828403121561185f57600080fd5b611869604061227a565b905060006118778484611a6a565b8252506020611888848483016114e0565b60208301525092915050565b60006101a082840312156118a757600080fd5b6118b26101a061227a565b905060006118c08484611a6a565b82525060206118d184848301611a6a565b60208301525060406118e584828501611a8b565b60408301525060606118f9848285016114e0565b606083015250608061190d848285016115c6565b60808301525060a061192184828501611a54565b60a08301525060c061193584828501611a54565b60c08301525060e061194984828501611a54565b60e0830152506101006117e884828501611a54565b60006101a0828403121561197157600080fd5b61197c6101a061227a565b9050600061198a84846114e0565b825250602061199b848483016114e0565b60208301525060406119af84828501611a80565b60408301525060606119c384828501611a54565b60608301525060806119d784828501611a54565b60808301525060a06119eb84828501611a54565b60a08301525060c06119ff84828501611a96565b60c08301525060e0611a1384828501611a96565b60e083015250610100611a28848285016115c6565b61010083015250610120611a3e8482850161156c565b610120830152506101406118148482850161156c565b8051610eec816123d0565b8051610eec816123d9565b8051610eec816123e2565b8035610eec816123eb565b8051610eec816123eb565b8051610eec816123f4565b8051610eec816123fd565b8051610eec81612406565b600060208284031215611abe57600080fd5b6000611aca84846114e0565b949350505050565b600080600080600080600080610100898b031215611aef57600080fd5b6000611afb8b8b6114e0565b9850506020611b0c8b828c01611a6a565b9750506040611b1d8b828c016114e0565b9650506060611b2e8b828c01611a54565b9550506080611b3f8b828c01611a54565b94505060a0611b508b828c01611a8b565b93505060c0611b618b828c0161156c565b92505060e0611b728b828c01611a54565b9150509295985092959890939650565b60008060008060008060008060008060006101608c8e031215611ba457600080fd5b6000611bb08e8e6114e0565b9b50506020611bc18e828f01611a6a565b9a50506040611bd28e828f016114e0565b9950506060611be38e828f01611a54565b9850506080611bf48e828f01611a54565b97505060a0611c058e828f01611a8b565b96505060c0611c168e828f0161156c565b95505060e0611c278e828f01611a54565b945050610100611c398e828f01611a54565b935050610120611c4b8e828f01611a8b565b925050610140611c5d8e828f01611a8b565b9150509295989b509295989b9093969950565b600080600060608486031215611c8557600080fd5b6000611c9186866114e0565b9350506020611ca286828701611a8b565b9250506040611cb386828701611a80565b9150509250925092565b60008060408385031215611cd057600080fd5b6000611cdc85856114d5565b925050602083013567ffffffffffffffff811115611cf957600080fd5b611d0585828601611577565b9150509250929050565b600080600060608486031215611d2457600080fd5b6000611d3086866114d5565b9350506020611d4186828701611a75565b925050604084013567ffffffffffffffff811115611d5e57600080fd5b611cb386828701611577565b600060208284031215611d7c57600080fd5b815167ffffffffffffffff811115611d9357600080fd5b611aca848285016114eb565b600060c08284031215611db157600080fd5b6000611aca84846115dc565b600060e08284031215611dcf57600080fd5b6000611aca8484611673565b60006101a08284031215611dee57600080fd5b6000611aca848461171e565b60006101a08284031215611e0d57600080fd5b6000611aca8484611894565b60006101a08284031215611e2c57600080fd5b6000611aca848461195e565b600060208284031215611e4a57600080fd5b6000611aca8484611a54565b600060208284031215611e6857600080fd5b6000611aca8484611a6a565b60008060408385031215611e8757600080fd5b6000611e938585611a6a565b9250506020611d0585828601611a54565b60008060408385031215611eb757600080fd5b6000611ec38585611a6a565b9250506020611d0585828601611a80565b600060208284031215611ee657600080fd5b6000611aca8484611a80565b6000611efe8383611f12565b505060200190565b6000611efe838361218d565b611f1b816122fd565b82525050565b6000611f2c826122f0565b611f3681856122f4565b9350611f41836122ea565b8060005b83811015611f6f578151611f598882611ef2565b9750611f64836122ea565b925050600101611f45565b509495945050505050565b6000611f85826122f0565b611f8f81856122f4565b9350611f9a836122ea565b8060005b83811015611f6f578151611fb28882611f06565b9750611fbd836122ea565b925050600101611f9e565b6000611fd3826122f0565b611fdd81856122f4565b9350611fed81856020860161235f565b611ff68161238f565b9093019392505050565b600061200d601b836122f4565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b60006120466027836122f4565b7f53616665436173743a2076616c756520646f65736e27742066697420696e20318152663238206269747360c81b602082015260400192915050565b600061208f601a836122f4565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b60006120c86021836122f4565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b600061210b6035836122f4565b7f5f5f76616c69646174654e6f744e6174697665546f6b656e3a204e617469766581527408185cdcd95d081a5cc81d5b9cdd5c1c1bdc9d1959605a1b602082015260400192915050565b60006121626013836122f4565b72756e737570706f72746564206665655479706560681b815260200192915050565b611f1b8161232c565b611f1b81612334565b60208101610eec8284611f12565b606080825281016121b58186611f21565b905081810360208301526121c98185611f7a565b905081810360408301526121dd8184611f21565b95945050505050565b602080825281016121f78184611fc8565b9392505050565b60208082528101610eec81612000565b60208082528101610eec81612039565b60208082528101610eec81612082565b60208082528101610eec816120bb565b60208082528101610eec816120fe565b60208082528101610eec81612155565b60208101610eec8284612184565b60208101610eec828461218d565b60405181810167ffffffffffffffff8111828210171561229957600080fd5b604052919050565b600067ffffffffffffffff8211156122b857600080fd5b5060209081020190565b600067ffffffffffffffff8211156122d957600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b6000610eec82612320565b151590565b6001600160801b031690565b61ffff1690565b6001600160a01b031690565b62ffffff1690565b90565b63ffffffff1690565b67ffffffffffffffff1690565b60ff1690565b82818337506000910152565b60005b8381101561237a578181015183820152602001612362565b83811115612389576000848401525b50505050565b601f01601f191690565b6123a2816122fd565b81146110f257600080fd5b6123a281612308565b600281106110f257600080fd5b600381106110f257600080fd5b6123a28161230d565b6123a281612319565b6123a28161232c565b6123a281612334565b6123a281612337565b6123a281612340565b6123a28161234d56fea164736f6c634300060c000a", "sourceMap": "1138:9416:133:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2606:6932;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;9714:89;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;2606:6932::-;2809:34;;;2968:73;2964:6493;;3058:14;3074:13;3091:49;3121:18;3091:29;:49::i;:::-;3057:83;;;;3155:80;;:::i;:::-;3238:63;;-1:-1:-1;;;3238:63:133;;-1:-1:-1;;;;;3238:44:133;:54;;;;:63;;3293:7;;3238:63;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3155:146;;3316:20;3339:44;-1:-1:-1;;;;;3339:53:133;;3393:7;3339:62;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3316:85;;3416:76;;:::i;:::-;3569:16;;;;3495:108;;-1:-1:-1;;;3495:108:133;;-1:-1:-1;;;;;3495:44:133;:52;;;;:108;;3569:16;3495:108;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3416:187;;3617:14;3634:66;3683:6;:15;;;3675:24;;3671:2;:28;3634:32;3653:12;3642:5;-1:-1:-1;;;;;3634:14:133;:18;;:32;;;;:::i;:::-;:36;;:66::i;:::-;3735:16;;;3749:1;3735:16;;;;;;;;;3617:83;;-1:-1:-1;3735:16:133;;;;;;;;;;;-1:-1:-1;3735:16:133;3715:36;;3788:8;:17;;;3765;3783:1;3765:20;;;;;;;;-1:-1:-1;;;;;3765:40:133;;;;:20;;;;;;;;;;:40;3840:16;;;3854:1;3840:16;;;;;;;;;;;;;;3765:20;3840:16;;;;;-1:-1:-1;3840:16:133;3819:37;;3894:6;3870:18;3889:1;3870:21;;;;;;;;;;;;;:30;;;;;2964:6493;;;;;;;;;3942:55;3921:9;:77;3917:5540;;;4015:13;4030:14;4048:83;4099:18;4048:33;:83::i;:::-;4014:117;;;;4146:41;;:::i;:::-;4190;;-1:-1:-1;;;4190:41:133;;-1:-1:-1;;;;;4190:27:133;:33;;;;:41;;4224:6;;4190:41;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4146:85;;4246;4271:59;4303:4;:12;;;4317:4;:12;;;4271:59;;:31;:59::i;:::-;4246:24;:85::i;:::-;4366:16;;;4380:1;4366:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4366:16:133;4346:36;;4419:4;:13;;;4396:17;4414:1;4396:20;;;;;;;;-1:-1:-1;;;;;4396:36:133;;;;:20;;;;;;;;;;:36;4467:16;;;4481:1;4467:16;;;;;;;;;;;;;;4396:20;4467:16;;;;;-1:-1:-1;4467:16:133;4446:37;;4521:6;4497:18;4516:1;4497:21;;;;;;;;;;;;;:30;;;;;3917:5540;;;;;;4569:54;4548:9;:76;4544:4913;;;4641:13;4656;4673:52;4706:18;4673:32;:52::i;:::-;4640:85;;;;4740:41;;:::i;:::-;4784;;-1:-1:-1;;;4784:41:133;;-1:-1:-1;;;;;4784:27:133;:33;;;;:41;;4818:6;;4784:41;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4740:85;;4840;4865:59;4897:4;:12;;;4911:4;:12;;;4865:59;;:31;:59::i;4840:85::-;4940:45;;:::i;:::-;5041:12;;;;4988:79;;-1:-1:-1;;;4988:79:133;;-1:-1:-1;;;;;4988:27:133;:35;;;;:79;;5041:12;4988:79;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4940:127;;5081:13;5097:27;-1:-1:-1;;;;;5097:36:133;;5134:6;5097:44;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5081:60;;5155:14;5172:65;5219:6;:16;;;-1:-1:-1;;;;;5211:25:133;5172:34;5199:5;-1:-1:-1;;;;;5191:14:133;5180:5;-1:-1:-1;;;;;5172:14:133;:18;;:34;;;;:::i;:65::-;5155:82;-1:-1:-1;5445:45:133;5401:12;;;;5365:49;;-1:-1:-1;;;5365:49:133;;-1:-1:-1;;;;;5365:27:133;:35;;;;:49;;5401:12;5365:49;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:60;;;:125;;;;;;;;;5344:813;;;5523:11;5574:38;5556:6;:14;;;:56;;;;;;;;;5552:469;;;-1:-1:-1;5642:16:133;;;;5552:469;;;5705:42;5687:6;:14;;;:60;;;;;;;;;5683:338;;;5777:149;:112;1520:5;5777:60;5821:6;:14;;;5813:23;;5777:6;:35;;:60;;;;:::i;:112::-;:147;:149::i;:::-;5771:155;;5683:338;;;5973:29;;-1:-1:-1;;;5973:29:133;;;;;;;:::i;:::-;;;;;;;;5683:338;6127:15;:6;-1:-1:-1;;;;;6127:15:133;;:10;:15::i;:::-;6118:24;;5344:813;;6191:16;;;6205:1;6191:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6191:16:133;6171:36;;6244:4;:13;;;6221:17;6239:1;6221:20;;;;;;;4544:4913;6394:45;6373:9;:67;6369:3088;;;6457:15;6474;6495:43;6519:18;6495:23;:43::i;:::-;-1:-1:-1;6663:43:133;;-1:-1:-1;;;6663:43:133;;6456:82;;-1:-1:-1;6456:82:133;;;-1:-1:-1;6456:82:133;;6553:41;;-1:-1:-1;;;;;6663:34:133;;;;;:43;;6456:82;;6663:43;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6646:60;;6720:51;;:::i;:::-;6774:67;;-1:-1:-1;;;6774:67:133;;-1:-1:-1;;;;;6774:29:133;;;;;:67;;6821:6;;6774:67;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6875:16;;;6889:1;6875:16;;;;;;;;6720:121;;-1:-1:-1;6875:16:133;6889:1;6875:16;;;;;;;;;;-1:-1:-1;6875:16:133;6856:35;;6927:15;-1:-1:-1;;;;;6927:26:133;;:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6905:16;6922:1;6905:19;;;;;;;;;;;;;:50;-1:-1:-1;;;;;6905:50:133;;;-1:-1:-1;;;;;6905:50:133;;;;;6991:10;:23;;;6969:16;6986:1;6969:19;;;;;;;;;;;;;:45;-1:-1:-1;;;;;6969:45:133;;;-1:-1:-1;;;;;6969:45:133;;;;;6369:3088;;;;;;;;7056:49;7035:9;:71;7031:2426;;;7122:56;7234:17;7122:147;;7284:53;7340:24;-1:-1:-1;;;;;7340:50:133;;:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7340:52:133;;;;;;;;;;;;:::i;:::-;7429:12;;7284:108;;-1:-1:-1;7407:19:133;7455:453;7475:11;7471:1;:15;7455:453;;;7511:20;7534:5;7540:1;7534:8;;;;;;;;;;;;;;:17;;;7511:40;;7569:38;7594:12;7569:24;:38::i;:::-;7630:39;:16;7656:12;7630:25;:39::i;:::-;7626:94;;;7693:8;;;7626:94;7742:48;;-1:-1:-1;;;7742:48:133;;7793:1;;-1:-1:-1;;;;;7742:29:133;;;;;:48;;7772:17;;7742:48;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:52;7738:156;;;7837:38;:16;7862:12;7837:24;:38::i;:::-;7818:57;;7738:156;7455:453;;7488:3;;7455:453;;;;7031:2426;;;;;;7962:64;7941:9;:86;7924:1533;;;8057:16;8093:92;8153:18;8093:42;:92::i;:::-;8052:133;;;;;;;;;;;;8199:34;8224:8;8199:24;:34::i;:::-;7924:1533;;;;8288:60;8267:9;:82;8250:1207;;;8379:16;8409:88;8465:18;8409:38;:88::i;:::-;8374:123;;;;;;;;;8511:34;8536:8;8511:24;:34::i;8250:1207::-;8587:50;8566:9;:72;8562:895;;;8654:13;8670:48;8699:18;8670:28;:48::i;:::-;8654:64;;8733:56;8845:17;8733:147;;8895:53;8951:24;-1:-1:-1;;;;;8951:50:133;;:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8951:52:133;;;;;;;;;;;;:::i;:::-;9040:12;;8895:108;;-1:-1:-1;9018:19:133;9067:380;9087:11;9083:1;:15;9067:380;;;9146:6;9127:25;;:5;9133:1;9127:8;;;;;;;;;;;;;;:15;;;:25;;;9123:310;;;9236:1;9186:5;9192:1;9186:8;;;;;;;;;;;;;;:17;;;-1:-1:-1;;;;;9180:34:133;;9215:17;9180:53;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:57;9176:212;;;9284:16;;;9298:1;9284:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9284:16:133;9265:35;;9348:5;9354:1;9348:8;;;;;;;;;;;;;;:17;;;9326:16;9343:1;9326:19;;;;;;;;;;;;;:39;-1:-1:-1;;;;;9326:39:133;;;-1:-1:-1;;;;;9326:39:133;;;;;9176:212;9409:5;;9123:310;9100:3;;9067:380;;;;8562:895;;;;;2606:6932;;;;;;;:::o;9714:89::-;9787:12;9714:89;;;;:::o;629:218:131:-;741:18;761:14;809:11;798:42;;;;;;;;;;;;:::i;:::-;791:49;;;;629:218;;;:::o;3538:215:442:-;3596:7;3619:6;3615:20;;-1:-1:-1;3634:1:442;3627:8;;3615:20;3657:5;;;3661:1;3657;:5;:1;3680:5;;;;;:10;3672:56;;;;-1:-1:-1;;;3672:56:442;;;;;;;:::i;:::-;3745:1;-1:-1:-1;3538:215:442;;;;;:::o;4217:150::-;4275:7;4306:1;4302;:5;4294:44;;;;-1:-1:-1;;;4294:44:442;;;;;;;:::i;:::-;4359:1;4355;:5;;;;;;;4217:150;-1:-1:-1;;;4217:150:442:o;927:219:131:-;1043:14;1059:15;1108:11;1097:42;;;;;;;;;;;;:::i;9835:424:133:-;9958:17;9991:41;10061:8;9991:79;;10123:15;-1:-1:-1;;;;;10123:31:133;;:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;10100:88:133;;10189:15;-1:-1:-1;;;;;10189:22:133;;10212:8;10189:32;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10100:122;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:152;;;;9835:424;-1:-1:-1;;;;9835:424:133:o;10342:210::-;-1:-1:-1;;;;;10436:30:133;;1422:42;10436:30;;10415:130;;;;-1:-1:-1;;;10415:130:133;;;;;;;:::i;:::-;10342:210;:::o;1086:181:454:-;1143:7;-1:-1:-1;;;1170:5:454;:14;1162:67;;;;-1:-1:-1;;;1162:67:454;;;;;;;:::i;:::-;-1:-1:-1;1254:5:454;1086:181::o;2690:175:442:-;2748:7;2779:5;;;2802:6;;;;2794:46;;;;-1:-1:-1;;;2794:46:442;;;;;;;:::i;1512:282:131:-;1631:16;1661:15;1690:14;1747:11;1736:51;;;;;;;;;;;;:::i;:::-;1729:58;;;;;;1512:282;;;;;:::o;2489:299:354:-;2595:17;2633:9;2628:132;2648:5;:12;2644:1;:16;2628:132;;;2696:5;2702:1;2696:8;;;;;;;;;;;;;;-1:-1:-1;;;;;2685:19:354;:7;-1:-1:-1;;;;;2685:19:354;;2681:69;;;2731:4;2724:11;;;;;2681:69;2662:3;;2628:132;;;-1:-1:-1;2776:5:354;;2489:299;-1:-1:-1;;;2489:299:354:o;1668:374::-;1776:27;1846:5;:12;1861:1;1846:16;1832:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1832:31:354;;1819:44;;1878:9;1873:88;1893:5;:12;1889:1;:16;1873:88;;;1942:5;1948:1;1942:8;;;;;;;;;;;;;;1926:10;1937:1;1926:13;;;;;;;;-1:-1:-1;;;;;1926:24:354;;;:13;;;;;;;;;;;:24;1907:3;;1873:88;;;;1997:10;1970;1981:5;:12;1970:24;;;;;;;;;;;;;:37;-1:-1:-1;;;;;1970:37:354;;;-1:-1:-1;;;;;1970:37:354;;;;;1668:374;;;;:::o;1883:900:131:-;2021:16;2051:15;2080:17;2111:12;2137;2163:17;2194:18;2226:16;2256:15;2285:16;2315;2403:11;2375:401;;;;;;;;;;;;:::i;:::-;2356:420;;;;;;;;;;;;;;;;;;;;;;1883:900;;;;;;;;;;;;;:::o;2868:542::-;3002:16;3032:15;3061:17;3092:12;3118;3144:17;3175:18;3207:14;3293:11;3265:138;;;;;;;;;;;;:::i;:::-;3246:157;;;;;;;;;;;;;;;;2868:542;;;;;;;;;:::o;3485:188::-;3596:14;3644:11;3633:33;;;;;;;;;;;;:::i;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5:130::-;72:20;;97:33;72:20;97:33;:::i;142:134::-;220:13;;238:33;220:13;238:33;:::i;501:788::-;;651:3;644:4;636:6;632:17;628:27;618:2;;669:1;666;659:12;618:2;699:6;693:13;721:102;736:86;815:6;736:86;:::i;:::-;721:102;:::i;:::-;712:111;;840:5;865:6;858:5;851:21;895:4;887:6;883:17;873:27;;917:4;912:3;908:14;901:21;;970:6;1017:3;1009:4;1001:6;997:17;992:3;988:27;985:36;982:2;;;1034:1;1031;1024:12;982:2;1059:1;1044:239;1069:6;1066:1;1063:13;1044:239;;;1127:3;1149:70;1215:3;1203:10;1149:70;:::i;:::-;1137:83;;-1:-1;1243:4;1234:14;;;;1271:4;1262:14;;;;;1091:1;1084:9;1044:239;;;1048:14;611:678;;;;;;;:::o;1297:128::-;1372:13;;1390:30;1372:13;1390:30;:::i;1433:440::-;;1534:3;1527:4;1519:6;1515:17;1511:27;1501:2;;1552:1;1549;1542:12;1501:2;1589:6;1576:20;1611:64;1626:48;1667:6;1626:48;:::i;1611:64::-;1602:73;;1695:6;1688:5;1681:21;1731:4;1723:6;1719:17;1764:4;1757:5;1753:16;1799:3;1790:6;1785:3;1781:16;1778:25;1775:2;;;1816:1;1813;1806:12;1775:2;1826:41;1860:6;1855:3;1850;1826:41;:::i;:::-;1494:379;;;;;;;:::o;1881:174::-;1979:13;;1997:53;1979:13;1997:53;:::i;2744:168::-;2839:13;;2857:50;2839:13;2857:50;:::i;2964:1172::-;;3089:4;3077:9;3072:3;3068:19;3064:30;3061:2;;;3107:1;3104;3097:12;3061:2;3125:20;3140:4;3125:20;:::i;:::-;3116:29;-1:-1;3198:1;3230:57;3283:3;3263:9;3230:57;:::i;:::-;3205:83;;-1:-1;3354:2;3387:60;3443:3;3419:22;;;3387:60;:::i;:::-;3380:4;3373:5;3369:16;3362:86;3309:150;3512:2;3545:73;3614:3;3605:6;3594:9;3590:22;3545:73;:::i;:::-;3538:4;3531:5;3527:16;3520:99;3469:161;3686:2;3719:76;3791:3;3782:6;3771:9;3767:22;3719:76;:::i;:::-;3712:4;3705:5;3701:16;3694:102;3640:167;3862:3;3896:60;3952:3;3943:6;3932:9;3928:22;3896:60;:::i;:::-;3889:4;3882:5;3878:16;3871:86;3817:151;4021:3;4055:59;4110:3;4101:6;4090:9;4086:22;4055:59;:::i;:::-;4048:4;4041:5;4037:16;4030:85;3978:148;3055:1081;;;;:::o;4203:1324::-;;4328:4;4316:9;4311:3;4307:19;4303:30;4300:2;;;4346:1;4343;4336:12;4300:2;4364:20;4379:4;4364:20;:::i;:::-;4355:29;-1:-1;4441:1;4473:77;4546:3;4526:9;4473:77;:::i;:::-;4448:103;;-1:-1;4619:2;4652:60;4708:3;4684:22;;;4652:60;:::i;:::-;4645:4;4638:5;4634:16;4627:86;4572:152;4775:2;4808:60;4864:3;4855:6;4844:9;4840:22;4808:60;:::i;:::-;4801:4;4794:5;4790:16;4783:86;4734:146;4934:2;4967:58;5021:3;5012:6;5001:9;4997:22;4967:58;:::i;:::-;4960:4;4953:5;4949:16;4942:84;4890:147;5090:3;5124:59;5179:3;5170:6;5159:9;5155:22;5124:59;:::i;:::-;5117:4;5110:5;5106:16;5099:85;5047:148;5258:3;5292:57;5345:3;5336:6;5325:9;5321:22;5292:57;:::i;:::-;5285:4;5278:5;5274:16;5267:83;5205:156;5414:3;5448:57;5501:3;5492:6;5481:9;5477:22;5448:57;:::i;:::-;5441:4;5434:5;5430:16;5423:83;5371:146;4294:1233;;;;:::o;5596:2280::-;;5723:6;5711:9;5706:3;5702:19;5698:32;5695:2;;;5743:1;5740;5733:12;5695:2;5761:22;5776:6;5761:22;:::i;:::-;5752:31;-1:-1;5839:1;5871:59;5926:3;5906:9;5871:59;:::i;:::-;5846:85;;-1:-1;5997:2;6030:59;6085:3;6061:22;;;6030:59;:::i;:::-;6023:4;6016:5;6012:16;6005:85;5952:149;6154:2;6187:59;6242:3;6233:6;6222:9;6218:22;6187:59;:::i;:::-;6180:4;6173:5;6169:16;6162:85;6111:147;6313:2;6346:75;6417:3;6408:6;6397:9;6393:22;6346:75;:::i;:::-;6339:4;6332:5;6328:16;6321:101;6268:165;6489:3;6523:60;6579:3;6570:6;6559:9;6555:22;6523:60;:::i;:::-;6516:4;6509:5;6505:16;6498:86;6443:152;6646:3;6680:60;6736:3;6727:6;6716:9;6712:22;6680:60;:::i;:::-;6673:4;6666:5;6662:16;6655:86;6605:147;6801:3;6835:60;6891:3;6882:6;6871:9;6867:22;6835:60;:::i;:::-;6828:4;6821:5;6817:16;6810:86;6762:145;6956:3;6990:60;7046:3;7037:6;7026:9;7022:22;6990:60;:::i;:::-;6983:4;6976:5;6972:16;6965:86;6917:145;7115:3;7151:60;7207:3;7198:6;7187:9;7183:22;7151:60;:::i;:::-;7142:6;7135:5;7131:18;7124:88;7072:151;7277:3;7313:60;7369:3;7360:6;7349:9;7345:22;7313:60;:::i;:::-;7304:6;7297:5;7293:18;7286:88;7233:152;7437:3;7473:60;7529:3;7520:6;7509:9;7505:22;7473:60;:::i;:::-;7464:6;7457:5;7453:18;7446:88;7395:150;7603:3;7639:57;7692:3;7683:6;7672:9;7668:22;7639:57;:::i;:::-;7630:6;7623:5;7619:18;7612:85;7555:153;7761:3;7797:57;7850:3;7841:6;7830:9;7826:22;7797:57;:::i;:::-;7788:6;7781:5;7777:18;7770:85;7718:148;5689:2187;;;;:::o;7940:502::-;;8062:4;8050:9;8045:3;8041:19;8037:30;8034:2;;;8080:1;8077;8070:12;8034:2;8098:20;8113:4;8098:20;:::i;:::-;8089:29;-1:-1;8170:1;8202:59;8257:3;8237:9;8202:59;:::i;:::-;8177:85;;-1:-1;8327:2;8360:60;8416:3;8392:22;;;8360:60;:::i;:::-;8353:4;8346:5;8342:16;8335:86;8283:149;8028:414;;;;:::o;8492:2267::-;;8615:6;8603:9;8598:3;8594:19;8590:32;8587:2;;;8635:1;8632;8625:12;8587:2;8653:22;8668:6;8653:22;:::i;:::-;8644:31;-1:-1;8727:1;8759:59;8814:3;8794:9;8759:59;:::i;:::-;8734:85;;-1:-1;8883:2;8916:59;8971:3;8947:22;;;8916:59;:::i;:::-;8909:4;8902:5;8898:16;8891:85;8840:147;9042:2;9075:59;9130:3;9121:6;9110:9;9106:22;9075:59;:::i;:::-;9068:4;9061:5;9057:16;9050:85;8997:149;9198:2;9231:60;9287:3;9278:6;9267:9;9263:22;9231:60;:::i;:::-;9224:4;9217:5;9213:16;9206:86;9156:147;9358:3;9392:75;9463:3;9454:6;9443:9;9439:22;9392:75;:::i;:::-;9385:4;9378:5;9374:16;9367:101;9313:166;9530:3;9564:60;9620:3;9611:6;9600:9;9596:22;9564:60;:::i;:::-;9557:4;9550:5;9546:16;9539:86;9489:147;9687:3;9721:60;9777:3;9768:6;9757:9;9753:22;9721:60;:::i;:::-;9714:4;9707:5;9703:16;9696:86;9646:147;9842:3;9876:60;9932:3;9923:6;9912:9;9908:22;9876:60;:::i;:::-;9869:4;9862:5;9858:16;9851:86;9803:145;9997:3;10033:60;10089:3;10080:6;10069:9;10065:22;10033:60;:::i;10813:2332::-;;10942:6;10930:9;10925:3;10921:19;10917:32;10914:2;;;10962:1;10959;10952:12;10914:2;10980:22;10995:6;10980:22;:::i;:::-;10971:31;-1:-1;11054:1;11086:60;11142:3;11122:9;11086:60;:::i;:::-;11061:86;;-1:-1;11216:2;11249:60;11305:3;11281:22;;;11249:60;:::i;:::-;11242:4;11235:5;11231:16;11224:86;11168:153;11377:2;11410:60;11466:3;11457:6;11446:9;11442:22;11410:60;:::i;:::-;11403:4;11396:5;11392:16;11385:86;11331:151;11539:2;11572:60;11628:3;11619:6;11608:9;11604:22;11572:60;:::i;:::-;11565:4;11558:5;11554:16;11547:86;11492:152;11702:3;11736:60;11792:3;11783:6;11772:9;11768:22;11736:60;:::i;:::-;11729:4;11722:5;11718:16;11711:86;11654:154;11865:3;11899:60;11955:3;11946:6;11935:9;11931:22;11899:60;:::i;:::-;11892:4;11885:5;11881:16;11874:86;11818:153;12030:3;12064:59;12119:3;12110:6;12099:9;12095:22;12064:59;:::i;:::-;12057:4;12050:5;12046:16;12039:85;11981:154;12189:3;12223:59;12278:3;12269:6;12258:9;12254:22;12223:59;:::i;:::-;12216:4;12209:5;12205:16;12198:85;12145:149;12354:3;12390:80;12466:3;12457:6;12446:9;12442:22;12390:80;:::i;:::-;12381:6;12374:5;12370:18;12363:108;12304:178;12544:3;12580:57;12633:3;12624:6;12613:9;12609:22;12580:57;:::i;:::-;12571:6;12564:5;12560:18;12553:85;12492:157;12712:3;12748:57;12801:3;12792:6;12781:9;12777:22;12748:57;:::i;13152:134::-;13230:13;;13248:33;13230:13;13248:33;:::i;13293:132::-;13370:13;;13388:32;13370:13;13388:32;:::i;13432:132::-;13509:13;;13527:32;13509:13;13527:32;:::i;13571:130::-;13638:20;;13663:33;13638:20;13663:33;:::i;13708:134::-;13786:13;;13804:33;13786:13;13804:33;:::i;13849:132::-;13926:13;;13944:32;13926:13;13944:32;:::i;13988:132::-;14065:13;;14083:32;14065:13;14083:32;:::i;14127:130::-;14203:13;;14221:31;14203:13;14221:31;:::i;14264:263::-;;14379:2;14367:9;14358:7;14354:23;14350:32;14347:2;;;14395:1;14392;14385:12;14347:2;14430:1;14447:64;14503:7;14483:9;14447:64;:::i;:::-;14437:74;14341:186;-1:-1;;;;14341:186::o;14534:1242::-;;;;;;;;;14779:3;14767:9;14758:7;14754:23;14750:33;14747:2;;;14796:1;14793;14786:12;14747:2;14831:1;14848:72;14912:7;14892:9;14848:72;:::i;:::-;14838:82;;14810:116;14957:2;14975:63;15030:7;15021:6;15010:9;15006:22;14975:63;:::i;:::-;14965:73;;14936:108;15075:2;15093:72;15157:7;15148:6;15137:9;15133:22;15093:72;:::i;:::-;15083:82;;15054:117;15202:2;15220:64;15276:7;15267:6;15256:9;15252:22;15220:64;:::i;:::-;15210:74;;15181:109;15321:3;15340:64;15396:7;15387:6;15376:9;15372:22;15340:64;:::i;:::-;15330:74;;15300:110;15441:3;15460:63;15515:7;15506:6;15495:9;15491:22;15460:63;:::i;:::-;15450:73;;15420:109;15560:3;15579:61;15632:7;15623:6;15612:9;15608:22;15579:61;:::i;:::-;15569:71;;15539:107;15677:3;15696:64;15752:7;15743:6;15732:9;15728:22;15696:64;:::i;:::-;15686:74;;15656:110;14741:1035;;;;;;;;;;;:::o;15783:1651::-;;;;;;;;;;;;16078:3;16066:9;16057:7;16053:23;16049:33;16046:2;;;16095:1;16092;16085:12;16046:2;16130:1;16147:72;16211:7;16191:9;16147:72;:::i;:::-;16137:82;;16109:116;16256:2;16274:63;16329:7;16320:6;16309:9;16305:22;16274:63;:::i;:::-;16264:73;;16235:108;16374:2;16392:72;16456:7;16447:6;16436:9;16432:22;16392:72;:::i;:::-;16382:82;;16353:117;16501:2;16519:64;16575:7;16566:6;16555:9;16551:22;16519:64;:::i;:::-;16509:74;;16480:109;16620:3;16639:64;16695:7;16686:6;16675:9;16671:22;16639:64;:::i;:::-;16629:74;;16599:110;16740:3;16759:63;16814:7;16805:6;16794:9;16790:22;16759:63;:::i;:::-;16749:73;;16719:109;16859:3;16878:61;16931:7;16922:6;16911:9;16907:22;16878:61;:::i;:::-;16868:71;;16838:107;16976:3;16995:64;17051:7;17042:6;17031:9;17027:22;16995:64;:::i;:::-;16985:74;;16955:110;17096:3;17115:64;17171:7;17162:6;17151:9;17147:22;17115:64;:::i;:::-;17105:74;;17075:110;17216:3;17235:63;17290:7;17281:6;17270:9;17266:22;17235:63;:::i;:::-;17225:73;;17195:109;17335:3;17355:63;17410:7;17401:6;17390:9;17386:22;17355:63;:::i;:::-;17344:74;;17314:110;16040:1394;;;;;;;;;;;;;;:::o;17441:549::-;;;;17597:2;17585:9;17576:7;17572:23;17568:32;17565:2;;;17613:1;17610;17603:12;17565:2;17648:1;17665:72;17729:7;17709:9;17665:72;:::i;:::-;17655:82;;17627:116;17774:2;17792:63;17847:7;17838:6;17827:9;17823:22;17792:63;:::i;:::-;17782:73;;17753:108;17892:2;17910:64;17966:7;17957:6;17946:9;17942:22;17910:64;:::i;:::-;17900:74;;17871:109;17559:431;;;;;:::o;17997:470::-;;;18127:2;18115:9;18106:7;18102:23;18098:32;18095:2;;;18143:1;18140;18133:12;18095:2;18178:1;18195:53;18240:7;18220:9;18195:53;:::i;:::-;18185:63;;18157:97;18313:2;18302:9;18298:18;18285:32;18337:18;18329:6;18326:30;18323:2;;;18369:1;18366;18359:12;18323:2;18389:62;18443:7;18434:6;18423:9;18419:22;18389:62;:::i;:::-;18379:72;;18264:193;18089:378;;;;;:::o;18474:595::-;;;;18621:2;18609:9;18600:7;18596:23;18592:32;18589:2;;;18637:1;18634;18627:12;18589:2;18672:1;18689:53;18734:7;18714:9;18689:53;:::i;:::-;18679:63;;18651:97;18779:2;18797:53;18842:7;18833:6;18822:9;18818:22;18797:53;:::i;:::-;18787:63;;18758:98;18915:2;18904:9;18900:18;18887:32;18939:18;18931:6;18928:30;18925:2;;;18971:1;18968;18961:12;18925:2;18991:62;19045:7;19036:6;19025:9;19021:22;18991:62;:::i;19076:436::-;;19238:2;19226:9;19217:7;19213:23;19209:32;19206:2;;;19254:1;19251;19244:12;19206:2;19289:24;;19333:18;19322:30;;19319:2;;;19365:1;19362;19355:12;19319:2;19385:111;19488:7;19479:6;19468:9;19464:22;19385:111;:::i;19519:314::-;;19659:3;19647:9;19638:7;19634:23;19630:33;19627:2;;;19676:1;19673;19666:12;19627:2;19711:1;19728:89;19809:7;19789:9;19728:89;:::i;19840:314::-;;19980:3;19968:9;19959:7;19955:23;19951:33;19948:2;;;19997:1;19994;19987:12;19948:2;20032:1;20049:89;20130:7;20110:9;20049:89;:::i;20161:318::-;;20303:3;20291:9;20282:7;20278:23;20274:33;20271:2;;;20320:1;20317;20310:12;20271:2;20355:1;20372:91;20455:7;20435:9;20372:91;:::i;20486:310::-;;20624:3;20612:9;20603:7;20599:23;20595:33;20592:2;;;20641:1;20638;20631:12;20592:2;20676:1;20693:87;20772:7;20752:9;20693:87;:::i;20803:322::-;;20947:3;20935:9;20926:7;20922:23;20918:33;20915:2;;;20964:1;20961;20954:12;20915:2;20999:1;21016:93;21101:7;21081:9;21016:93;:::i;21132:263::-;;21247:2;21235:9;21226:7;21222:23;21218:32;21215:2;;;21263:1;21260;21253:12;21215:2;21298:1;21315:64;21371:7;21351:9;21315:64;:::i;21402:261::-;;21516:2;21504:9;21495:7;21491:23;21487:32;21484:2;;;21532:1;21529;21522:12;21484:2;21567:1;21584:63;21639:7;21619:9;21584:63;:::i;21670:397::-;;;21801:2;21789:9;21780:7;21776:23;21772:32;21769:2;;;21817:1;21814;21807:12;21769:2;21852:1;21869:63;21924:7;21904:9;21869:63;:::i;:::-;21859:73;;21831:107;21969:2;21987:64;22043:7;22034:6;22023:9;22019:22;21987:64;:::i;22074:397::-;;;22205:2;22193:9;22184:7;22180:23;22176:32;22173:2;;;22221:1;22218;22211:12;22173:2;22256:1;22273:63;22328:7;22308:9;22273:63;:::i;:::-;22263:73;;22235:107;22373:2;22391:64;22447:7;22438:6;22427:9;22423:22;22391:64;:::i;22478:263::-;;22593:2;22581:9;22572:7;22568:23;22564:32;22561:2;;;22609:1;22606;22599:12;22561:2;22644:1;22661:64;22717:7;22697:9;22661:64;:::i;22749:173::-;;22836:46;22878:3;22870:6;22836:46;:::i;:::-;-1:-1;;22911:4;22902:14;;22829:93::o;22931:173::-;;23018:46;23060:3;23052:6;23018:46;:::i;23112:103::-;23185:24;23203:5;23185:24;:::i;:::-;23180:3;23173:37;23167:48;;:::o;23373:690::-;;23518:54;23566:5;23518:54;:::i;:::-;23585:86;23664:6;23659:3;23585:86;:::i;:::-;23578:93;;23692:56;23742:5;23692:56;:::i;:::-;23768:7;23796:1;23781:260;23806:6;23803:1;23800:13;23781:260;;;23873:6;23867:13;23894:63;23953:3;23938:13;23894:63;:::i;:::-;23887:70;;23974:60;24027:6;23974:60;:::i;:::-;23964:70;-1:-1;;23828:1;23821:9;23781:260;;;-1:-1;24054:3;;23497:566;-1:-1;;;;;23497:566::o;24102:690::-;;24247:54;24295:5;24247:54;:::i;:::-;24314:86;24393:6;24388:3;24314:86;:::i;:::-;24307:93;;24421:56;24471:5;24421:56;:::i;:::-;24497:7;24525:1;24510:260;24535:6;24532:1;24529:13;24510:260;;;24602:6;24596:13;24623:63;24682:3;24667:13;24623:63;:::i;:::-;24616:70;;24703:60;24756:6;24703:60;:::i;:::-;24693:70;-1:-1;;24557:1;24550:9;24510:260;;24800:343;;24910:38;24942:5;24910:38;:::i;:::-;24960:70;25023:6;25018:3;24960:70;:::i;:::-;24953:77;;25035:52;25080:6;25075:3;25068:4;25061:5;25057:16;25035:52;:::i;:::-;25108:29;25130:6;25108:29;:::i;:::-;25099:39;;;;24890:253;-1:-1;;;24890:253::o;25151:327::-;;25311:67;25375:2;25370:3;25311:67;:::i;:::-;25411:29;25391:50;;25469:2;25460:12;;25297:181;-1:-1;;25297:181::o;25487:376::-;;25647:67;25711:2;25706:3;25647:67;:::i;:::-;25747:34;25727:55;;-1:-1;;;25811:2;25802:12;;25795:31;25854:2;25845:12;;25633:230;-1:-1;;25633:230::o;25872:326::-;;26032:67;26096:2;26091:3;26032:67;:::i;:::-;26132:28;26112:49;;26189:2;26180:12;;26018:180;-1:-1;;26018:180::o;26207:370::-;;26367:67;26431:2;26426:3;26367:67;:::i;:::-;26467:34;26447:55;;-1:-1;;;26531:2;26522:12;;26515:25;26568:2;26559:12;;26353:224;-1:-1;;26353:224::o;26586:390::-;;26746:67;26810:2;26805:3;26746:67;:::i;:::-;26846:34;26826:55;;-1:-1;;;26910:2;26901:12;;26894:45;26967:2;26958:12;;26732:244;-1:-1;;26732:244::o;26985:319::-;;27145:67;27209:2;27204:3;27145:67;:::i;:::-;-1:-1;;;27225:42;;27295:2;27286:12;;27131:173;-1:-1;;27131:173::o;27312:110::-;27393:23;27410:5;27393:23;:::i;27429:103::-;27502:24;27520:5;27502:24;:::i;27659:222::-;27786:2;27771:18;;27800:71;27775:9;27844:6;27800:71;:::i;27888:888::-;28221:2;28235:47;;;28206:18;;28296:108;28206:18;28390:6;28296:108;:::i;:::-;28288:116;;28452:9;28446:4;28442:20;28437:2;28426:9;28422:18;28415:48;28477:108;28580:4;28571:6;28477:108;:::i;:::-;28469:116;;28633:9;28627:4;28623:20;28618:2;28607:9;28603:18;28596:48;28658:108;28761:4;28752:6;28658:108;:::i;:::-;28650:116;28192:584;-1:-1;;;;;28192:584::o;28783:306::-;28928:2;28942:47;;;28913:18;;29003:76;28913:18;29065:6;29003:76;:::i;:::-;28995:84;28899:190;-1:-1;;;28899:190::o;29096:416::-;29296:2;29310:47;;;29281:18;;29371:131;29281:18;29371:131;:::i;29519:416::-;29719:2;29733:47;;;29704:18;;29794:131;29704:18;29794:131;:::i;29942:416::-;30142:2;30156:47;;;30127:18;;30217:131;30127:18;30217:131;:::i;30365:416::-;30565:2;30579:47;;;30550:18;;30640:131;30550:18;30640:131;:::i;30788:416::-;30988:2;31002:47;;;30973:18;;31063:131;30973:18;31063:131;:::i;31211:416::-;31411:2;31425:47;;;31396:18;;31486:131;31396:18;31486:131;:::i;31634:218::-;31759:2;31744:18;;31773:69;31748:9;31815:6;31773:69;:::i;31859:222::-;31986:2;31971:18;;32000:71;31975:9;32044:6;32000:71;:::i;32088:256::-;32150:2;32144:9;32176:17;;;32251:18;32236:34;;32272:22;;;32233:62;32230:2;;;32308:1;32305;32298:12;32230:2;32324;32317:22;32128:216;;-1:-1;32128:216::o;32351:326::-;;32532:18;32524:6;32521:30;32518:2;;;32564:1;32561;32554:12;32518:2;-1:-1;32599:4;32587:17;;;32652:15;;32455:222::o;32684:321::-;;32827:18;32819:6;32816:30;32813:2;;;32859:1;32856;32849:12;32813:2;-1:-1;32990:4;32926;32903:17;;;;-1:-1;;32899:33;32980:15;;32750:255::o;33012:151::-;33136:4;33127:14;;33084:79::o;33328:137::-;33431:12;;33402:63::o;33975:178::-;34093:19;;;34142:4;34133:14;;34086:67::o;34691:91::-;;34753:24;34771:5;34753:24;:::i;34895:85::-;34961:13;34954:21;;34937:43::o;34987:113::-;-1:-1;;;;;35049:46;;35032:68::o;35107:84::-;35179:6;35168:18;;35151:40::o;35198:121::-;-1:-1;;;;;35260:54;;35243:76::o;35326:86::-;35398:8;35387:20;;35370:42::o;35419:72::-;35481:5;35464:27::o;35498:88::-;35570:10;35559:22;;35542:44::o;35593:96::-;35665:18;35654:30;;35637:52::o;35696:81::-;35767:4;35756:16;;35739:38::o;35785:145::-;35866:6;35861:3;35856;35843:30;-1:-1;35922:1;35904:16;;35897:27;35836:94::o;35939:268::-;36004:1;36011:101;36025:6;36022:1;36019:13;36011:101;;;36092:11;;;36086:18;36073:11;;;36066:39;36047:2;36040:10;36011:101;;;36127:6;36124:1;36121:13;36118:2;;;36192:1;36183:6;36178:3;36174:16;36167:27;36118:2;35988:219;;;;:::o;36215:97::-;36303:2;36283:14;-1:-1;;36279:28;;36263:49::o;36320:117::-;36389:24;36407:5;36389:24;:::i;:::-;36382:5;36379:35;36369:2;;36428:1;36425;36418:12;36584:111;36650:21;36665:5;36650:21;:::i;36702:114::-;36791:1;36784:5;36781:12;36771:2;;36807:1;36804;36797:12;37286:111;37372:1;37365:5;37362:12;37352:2;;37388:1;37385;37378:12;37404:117;37473:24;37491:5;37473:24;:::i;37528:115::-;37596:23;37613:5;37596:23;:::i;37650:115::-;37718:23;37735:5;37718:23;:::i;37772:117::-;37841:24;37859:5;37841:24;:::i;37896:115::-;37964:23;37981:5;37964:23;:::i;38018:115::-;38086:23;38103:5;38086:23;:::i;38140:113::-;38207:22;38223:5;38207:22;:::i", "linkReferences": {}, "immutableReferences": { "34432": [ { "start": 907, "length": 32 }, { "start": 1270, "length": 32 }, { "start": 1470, "length": 32 }, { "start": 1608, "length": 32 }, { "start": 1853, "length": 32 } ], "34434": [ { "start": 190, "length": 32 }, { "start": 330, "length": 32 }, { "start": 523, "length": 32 } ] } }, "methodIdentifiers": { "parseAssetsForAction(address,uint256,bytes)": "bbd2d646", "parseInitArgs(address,bytes)": "db16c72e" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_convertibleMarket\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_initialConvertibleOfferingMarket\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_externalPosition\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_actionId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_encodedActionArgs\",\"type\":\"bytes\"}],\"name\":\"parseAssetsForAction\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"assetsToTransfer_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amountsToTransfer_\",\"type\":\"uint256[]\"},{\"internalType\":\"address[]\",\"name\":\"assetsToReceive_\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"parseInitArgs\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"parseAssetsForAction(address,uint256,bytes)\":{\"params\":{\"_actionId\":\"The _actionId for the callOnExternalPosition\",\"_encodedActionArgs\":\"The encoded parameters for the callOnExternalPosition\",\"_externalPosition\":\"The _externalPosition to be called\"},\"returns\":{\"amountsToTransfer_\":\"The amounts to be transferred from the Vault\",\"assetsToReceive_\":\"The assets to be received at the Vault\",\"assetsToTransfer_\":\"The assets to be transferred from the Vault\"}},\"parseInitArgs(address,bytes)\":{\"details\":\"Empty for this external position type\"}},\"title\":\"SolvV2ConvertibleBuyerPositionParser\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"parseAssetsForAction(address,uint256,bytes)\":{\"notice\":\"Parses the assets to send and receive for the callOnExternalPosition\"},\"parseInitArgs(address,bytes)\":{\"notice\":\"Parse and validate input arguments to be used when initializing a newly-deployed ExternalPositionProxy\"}},\"notice\":\"Parser for Solv Convertible Buyer positions\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/solv-v2-convertible-buyer/SolvV2ConvertibleBuyerPositionParser.sol\":\"SolvV2ConvertibleBuyerPositionParser\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/persistent/external-positions/solv-v2-convertible-buyer/SolvV2ConvertibleBuyerPositionLibBase1.sol\":{\"keccak256\":\"0x8f2209f92d7ed63f0c3759bc32f7dac32c7fe166e6a06d57ee10c9e955f554d3\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b21a997433ad99e503ba71dc5d5c8e619a2f384b080a5edc78185f3136064e48\",\"dweb:/ipfs/QmeaQgAVoU7SvcLAEaxB6b8op2s7AETzwXcd3YU41PpaAD\"]},\"contracts/release/extensions/external-position-manager/external-positions/IExternalPositionParser.sol\":{\"keccak256\":\"0x1662fbd65841ee5e9cf8d5329b9d04c264b24ef68ae1e0484e59a8969b0d2c46\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://580569b0f875e0344db83fae1e72dcc6c0767a049b2a6cc3e4f3c411d2284b27\",\"dweb:/ipfs/QmXFmF9QbcVsPHaBo1iq8sZHYhDkwfkMZpHmLTuJJ37NvZ\"]},\"contracts/release/extensions/external-position-manager/external-positions/solv-v2-convertible-buyer/ISolvV2ConvertibleBuyerPosition.sol\":{\"keccak256\":\"0xa37e1da2db28f16cdfe58b38ea90ce6a3dd23bdfd79f77742ab701f50539e2d3\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://0ab2ce7a04bbcbf20feb464168109040f450bfb8755dec1841f211aca5466af4\",\"dweb:/ipfs/QmeFN2ZoP6SNWCjeJWSuyscyKMPbkmXPhUK2J4RC8S93TJ\"]},\"contracts/release/extensions/external-position-manager/external-positions/solv-v2-convertible-buyer/SolvV2ConvertibleBuyerPositionDataDecoder.sol\":{\"keccak256\":\"0x04f15c6a705477a8176e220c9b877804975238a7f8259f967bbb83dc6bb4a682\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://da054a8d3d8103cc35a91a5be4d8c06018184fb0d5941ea61f4502671fc7e21c\",\"dweb:/ipfs/QmVGkG5jbs2jsjbVcyqMyL3CNGUswMTJPCaNHojjMc8iQ3\"]},\"contracts/release/extensions/external-position-manager/external-positions/solv-v2-convertible-buyer/SolvV2ConvertibleBuyerPositionLib.sol\":{\"keccak256\":\"0xb75e9004c83ec88a81d5cf9b87bccbf90aefe34876404d565ed8652596dd7384\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1c4676f6879f2f875373a124c60c97906efa459626606d42a7579f0ad9fc60bb\",\"dweb:/ipfs/QmZPRcndzJ5KLK3xEzYccNEpQTg27DYKNtFf7ueg7yvYC2\"]},\"contracts/release/extensions/external-position-manager/external-positions/solv-v2-convertible-buyer/SolvV2ConvertibleBuyerPositionParser.sol\":{\"keccak256\":\"0x477bc01144ac72062423b4a5a34eefa3a79b9b911a8355dae80ad510c3dc9094\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c2d357890b47ea015a62921606bc4fce9f710fb8e19ecefc42a25a8c02593777\",\"dweb:/ipfs/QmS5jEkz5gUgZdgfxW5VCKDHSLghhC29XRQkkwdpTKvAAk\"]},\"contracts/release/interfaces/ISolvV2ConvertibleMarket.sol\":{\"keccak256\":\"0x946325023e36bdf0236bd290cecb41b561608f94070f94e112545ef6158057ea\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2825cb13b8339701c4bbf4ec10d4b5f3213a01887afe4e0a44962515fb1720f1\",\"dweb:/ipfs/QmPL6o3GbYr76hm3u1NZM5oJDDob8BPLDXWCTqbBBvTKSU\"]},\"contracts/release/interfaces/ISolvV2ConvertiblePool.sol\":{\"keccak256\":\"0x1943f59f09537f176ae398ae51184c9c69e8c366e74f2e7d2f02326c35e6fde7\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://cc239c228406fa50ec4f40a44af9438efdeb63338846a65d5864c61a643e037b\",\"dweb:/ipfs/QmZhYZoKUAPtksVygGhetvP6Yvu4UAsCpiHAqbPWLtpVJC\"]},\"contracts/release/interfaces/ISolvV2ConvertibleVoucher.sol\":{\"keccak256\":\"0xebec2ad1a5024a1958a558378dfde09cebe998609caa718f13b0088a0347a630\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://fa18447e3accb03306a9904d2d2247c8cadca34a9bc87ca585e6b0646f0814d7\",\"dweb:/ipfs/QmNyrXdUZqbYyDyEu6RyQXttD4mpETd6fFS1UiL2PVDnXf\"]},\"contracts/release/interfaces/ISolvV2InitialConvertibleOfferingMarket.sol\":{\"keccak256\":\"0xe34205d54ec639e2e3f8e0e2871984a6796424d903259857f1f11de260cf8abe\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://908f8d334df9ae2191787a8e53c78b1847bd936f2ce9d04115f5e9339c3e3934\",\"dweb:/ipfs/QmZzxE748Hb2Vosu7cwPmkb4EVpoqvS4RgHogLrvDgsnD3\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"contracts/release/utils/Uint256ArrayLib.sol\":{\"keccak256\":\"0x1627d0d32692b86c5dd3e74ebb8305fbf99a3c41d4b90e736077762cc80c1a31\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://54ff92ccd4bd685dda44c2520e3f52478168e909b400c3cc4076d37f5c2704ef\",\"dweb:/ipfs/QmYUxeaKfPwnUtP35i6JJ3ptsaDFEV6SD2o4VV8d5vBUZD\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]},\"node_modules/@openzeppelin/contracts/utils/SafeCast.sol\":{\"keccak256\":\"0x7b2b8baa20fd60ab4a328c8e34c64a353651b80ba4b5b157cbb61813f6f85d55\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://125b7f9efa390e663d630c62b97ae4e0707f31623bea989ef94c97ca9d777dd2\",\"dweb:/ipfs/QmaaLSuwvqK7wqcgyS3utHgfmB7RntcvP7eJSuvQod8Z9P\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_convertibleMarket", "type": "address" }, { "internalType": "address", "name": "_initialConvertibleOfferingMarket", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "_externalPosition", "type": "address" }, { "internalType": "uint256", "name": "_actionId", "type": "uint256" }, { "internalType": "bytes", "name": "_encodedActionArgs", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "parseAssetsForAction", "outputs": [ { "internalType": "address[]", "name": "assetsToTransfer_", "type": "address[]" }, { "internalType": "uint256[]", "name": "amountsToTransfer_", "type": "uint256[]" }, { "internalType": "address[]", "name": "assetsToReceive_", "type": "address[]" } ] }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "parseInitArgs", "outputs": [ { "internalType": "bytes", "name": "", "type": "bytes" } ] } ], "devdoc": { "kind": "dev", "methods": { "parseAssetsForAction(address,uint256,bytes)": { "params": { "_actionId": "The _actionId for the callOnExternalPosition", "_encodedActionArgs": "The encoded parameters for the callOnExternalPosition", "_externalPosition": "The _externalPosition to be called" }, "returns": { "amountsToTransfer_": "The amounts to be transferred from the Vault", "assetsToReceive_": "The assets to be received at the Vault", "assetsToTransfer_": "The assets to be transferred from the Vault" } }, "parseInitArgs(address,bytes)": { "details": "Empty for this external position type" } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "parseAssetsForAction(address,uint256,bytes)": { "notice": "Parses the assets to send and receive for the callOnExternalPosition" }, "parseInitArgs(address,bytes)": { "notice": "Parse and validate input arguments to be used when initializing a newly-deployed ExternalPositionProxy" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/external-position-manager/external-positions/solv-v2-convertible-buyer/SolvV2ConvertibleBuyerPositionParser.sol": "SolvV2ConvertibleBuyerPositionParser" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/external-positions/IExternalPosition.sol": { "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", "urls": [ "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" ], "license": "GPL-3.0" }, "contracts/persistent/external-positions/solv-v2-convertible-buyer/SolvV2ConvertibleBuyerPositionLibBase1.sol": { "keccak256": "0x8f2209f92d7ed63f0c3759bc32f7dac32c7fe166e6a06d57ee10c9e955f554d3", "urls": [ "bzz-raw://b21a997433ad99e503ba71dc5d5c8e619a2f384b080a5edc78185f3136064e48", "dweb:/ipfs/QmeaQgAVoU7SvcLAEaxB6b8op2s7AETzwXcd3YU41PpaAD" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/IExternalPositionParser.sol": { "keccak256": "0x1662fbd65841ee5e9cf8d5329b9d04c264b24ef68ae1e0484e59a8969b0d2c46", "urls": [ "bzz-raw://580569b0f875e0344db83fae1e72dcc6c0767a049b2a6cc3e4f3c411d2284b27", "dweb:/ipfs/QmXFmF9QbcVsPHaBo1iq8sZHYhDkwfkMZpHmLTuJJ37NvZ" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/solv-v2-convertible-buyer/ISolvV2ConvertibleBuyerPosition.sol": { "keccak256": "0xa37e1da2db28f16cdfe58b38ea90ce6a3dd23bdfd79f77742ab701f50539e2d3", "urls": [ "bzz-raw://0ab2ce7a04bbcbf20feb464168109040f450bfb8755dec1841f211aca5466af4", "dweb:/ipfs/QmeFN2ZoP6SNWCjeJWSuyscyKMPbkmXPhUK2J4RC8S93TJ" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/solv-v2-convertible-buyer/SolvV2ConvertibleBuyerPositionDataDecoder.sol": { "keccak256": "0x04f15c6a705477a8176e220c9b877804975238a7f8259f967bbb83dc6bb4a682", "urls": [ "bzz-raw://da054a8d3d8103cc35a91a5be4d8c06018184fb0d5941ea61f4502671fc7e21c", "dweb:/ipfs/QmVGkG5jbs2jsjbVcyqMyL3CNGUswMTJPCaNHojjMc8iQ3" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/solv-v2-convertible-buyer/SolvV2ConvertibleBuyerPositionLib.sol": { "keccak256": "0xb75e9004c83ec88a81d5cf9b87bccbf90aefe34876404d565ed8652596dd7384", "urls": [ "bzz-raw://1c4676f6879f2f875373a124c60c97906efa459626606d42a7579f0ad9fc60bb", "dweb:/ipfs/QmZPRcndzJ5KLK3xEzYccNEpQTg27DYKNtFf7ueg7yvYC2" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/solv-v2-convertible-buyer/SolvV2ConvertibleBuyerPositionParser.sol": { "keccak256": "0x477bc01144ac72062423b4a5a34eefa3a79b9b911a8355dae80ad510c3dc9094", "urls": [ "bzz-raw://c2d357890b47ea015a62921606bc4fce9f710fb8e19ecefc42a25a8c02593777", "dweb:/ipfs/QmS5jEkz5gUgZdgfxW5VCKDHSLghhC29XRQkkwdpTKvAAk" ], "license": "GPL-3.0" }, "contracts/release/interfaces/ISolvV2ConvertibleMarket.sol": { "keccak256": "0x946325023e36bdf0236bd290cecb41b561608f94070f94e112545ef6158057ea", "urls": [ "bzz-raw://2825cb13b8339701c4bbf4ec10d4b5f3213a01887afe4e0a44962515fb1720f1", "dweb:/ipfs/QmPL6o3GbYr76hm3u1NZM5oJDDob8BPLDXWCTqbBBvTKSU" ], "license": "GPL-3.0" }, "contracts/release/interfaces/ISolvV2ConvertiblePool.sol": { "keccak256": "0x1943f59f09537f176ae398ae51184c9c69e8c366e74f2e7d2f02326c35e6fde7", "urls": [ "bzz-raw://cc239c228406fa50ec4f40a44af9438efdeb63338846a65d5864c61a643e037b", "dweb:/ipfs/QmZhYZoKUAPtksVygGhetvP6Yvu4UAsCpiHAqbPWLtpVJC" ], "license": "GPL-3.0" }, "contracts/release/interfaces/ISolvV2ConvertibleVoucher.sol": { "keccak256": "0xebec2ad1a5024a1958a558378dfde09cebe998609caa718f13b0088a0347a630", "urls": [ "bzz-raw://fa18447e3accb03306a9904d2d2247c8cadca34a9bc87ca585e6b0646f0814d7", "dweb:/ipfs/QmNyrXdUZqbYyDyEu6RyQXttD4mpETd6fFS1UiL2PVDnXf" ], "license": "GPL-3.0" }, "contracts/release/interfaces/ISolvV2InitialConvertibleOfferingMarket.sol": { "keccak256": "0xe34205d54ec639e2e3f8e0e2871984a6796424d903259857f1f11de260cf8abe", "urls": [ "bzz-raw://908f8d334df9ae2191787a8e53c78b1847bd936f2ce9d04115f5e9339c3e3934", "dweb:/ipfs/QmZzxE748Hb2Vosu7cwPmkb4EVpoqvS4RgHogLrvDgsnD3" ], "license": "GPL-3.0" }, "contracts/release/utils/AddressArrayLib.sol": { "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", "urls": [ "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" ], "license": "GPL-3.0" }, "contracts/release/utils/AssetHelpers.sol": { "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", "urls": [ "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" ], "license": "GPL-3.0" }, "contracts/release/utils/Uint256ArrayLib.sol": { "keccak256": "0x1627d0d32692b86c5dd3e74ebb8305fbf99a3c41d4b90e736077762cc80c1a31", "urls": [ "bzz-raw://54ff92ccd4bd685dda44c2520e3f52478168e909b400c3cc4076d37f5c2704ef", "dweb:/ipfs/QmYUxeaKfPwnUtP35i6JJ3ptsaDFEV6SD2o4VV8d5vBUZD" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", "urls": [ "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Address.sol": { "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", "urls": [ "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/SafeCast.sol": { "keccak256": "0x7b2b8baa20fd60ab4a328c8e34c64a353651b80ba4b5b157cbb61813f6f85d55", "urls": [ "bzz-raw://125b7f9efa390e663d630c62b97ae4e0707f31623bea989ef94c97ca9d777dd2", "dweb:/ipfs/QmaaLSuwvqK7wqcgyS3utHgfmB7RntcvP7eJSuvQod8Z9P" ], "license": "MIT" } }, "version": 1 }, "id": 133 } diff --git a/eth_defi/abi/enzyme/SolvV2ConvertibleIssuerPositionDataDecoder.json b/eth_defi/abi/enzyme/SolvV2ConvertibleIssuerPositionDataDecoder.json index a904fddc..14546c19 100644 --- a/eth_defi/abi/enzyme/SolvV2ConvertibleIssuerPositionDataDecoder.json +++ b/eth_defi/abi/enzyme/SolvV2ConvertibleIssuerPositionDataDecoder.json @@ -1,86 +1 @@ -{ - "abi": [], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": {}, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"SolvV2ConvertibleIssuerPositionDataDecoder Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Abstract contract containing data decodings for SolvV2ConvertibleIssuerPosition payloads\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/solv-v2-convertible-issuer/SolvV2ConvertibleIssuerPositionDataDecoder.sol\":\"SolvV2ConvertibleIssuerPositionDataDecoder\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/external-position-manager/external-positions/solv-v2-convertible-issuer/SolvV2ConvertibleIssuerPositionDataDecoder.sol\":{\"keccak256\":\"0xa08ecd4d412419fb3fc0057ffe373508d95e0e83bbcccf0cb5e51cf623ebaeac\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c0bf53474024ecad55dd4a4ba17eec58c96b4543c9b6a1f6a33235b1e4199e4d\",\"dweb:/ipfs/QmQXd6ety32NitagfkKCTkqCcUee5vj9jrV4cJjot5iY1v\"]},\"contracts/release/interfaces/ISolvV2InitialConvertibleOfferingMarket.sol\":{\"keccak256\":\"0xe34205d54ec639e2e3f8e0e2871984a6796424d903259857f1f11de260cf8abe\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://908f8d334df9ae2191787a8e53c78b1847bd936f2ce9d04115f5e9339c3e3934\",\"dweb:/ipfs/QmZzxE748Hb2Vosu7cwPmkb4EVpoqvS4RgHogLrvDgsnD3\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/external-position-manager/external-positions/solv-v2-convertible-issuer/SolvV2ConvertibleIssuerPositionDataDecoder.sol": "SolvV2ConvertibleIssuerPositionDataDecoder" - }, - "libraries": {} - }, - "sources": { - "contracts/release/extensions/external-position-manager/external-positions/solv-v2-convertible-issuer/SolvV2ConvertibleIssuerPositionDataDecoder.sol": { - "keccak256": "0xa08ecd4d412419fb3fc0057ffe373508d95e0e83bbcccf0cb5e51cf623ebaeac", - "urls": [ - "bzz-raw://c0bf53474024ecad55dd4a4ba17eec58c96b4543c9b6a1f6a33235b1e4199e4d", - "dweb:/ipfs/QmQXd6ety32NitagfkKCTkqCcUee5vj9jrV4cJjot5iY1v" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/ISolvV2InitialConvertibleOfferingMarket.sol": { - "keccak256": "0xe34205d54ec639e2e3f8e0e2871984a6796424d903259857f1f11de260cf8abe", - "urls": [ - "bzz-raw://908f8d334df9ae2191787a8e53c78b1847bd936f2ce9d04115f5e9339c3e3934", - "dweb:/ipfs/QmZzxE748Hb2Vosu7cwPmkb4EVpoqvS4RgHogLrvDgsnD3" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 135 -} +{ "abi": [], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": {}, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"SolvV2ConvertibleIssuerPositionDataDecoder Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Abstract contract containing data decodings for SolvV2ConvertibleIssuerPosition payloads\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/solv-v2-convertible-issuer/SolvV2ConvertibleIssuerPositionDataDecoder.sol\":\"SolvV2ConvertibleIssuerPositionDataDecoder\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/external-position-manager/external-positions/solv-v2-convertible-issuer/SolvV2ConvertibleIssuerPositionDataDecoder.sol\":{\"keccak256\":\"0xa08ecd4d412419fb3fc0057ffe373508d95e0e83bbcccf0cb5e51cf623ebaeac\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c0bf53474024ecad55dd4a4ba17eec58c96b4543c9b6a1f6a33235b1e4199e4d\",\"dweb:/ipfs/QmQXd6ety32NitagfkKCTkqCcUee5vj9jrV4cJjot5iY1v\"]},\"contracts/release/interfaces/ISolvV2InitialConvertibleOfferingMarket.sol\":{\"keccak256\":\"0xe34205d54ec639e2e3f8e0e2871984a6796424d903259857f1f11de260cf8abe\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://908f8d334df9ae2191787a8e53c78b1847bd936f2ce9d04115f5e9339c3e3934\",\"dweb:/ipfs/QmZzxE748Hb2Vosu7cwPmkb4EVpoqvS4RgHogLrvDgsnD3\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/external-position-manager/external-positions/solv-v2-convertible-issuer/SolvV2ConvertibleIssuerPositionDataDecoder.sol": "SolvV2ConvertibleIssuerPositionDataDecoder" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/extensions/external-position-manager/external-positions/solv-v2-convertible-issuer/SolvV2ConvertibleIssuerPositionDataDecoder.sol": { "keccak256": "0xa08ecd4d412419fb3fc0057ffe373508d95e0e83bbcccf0cb5e51cf623ebaeac", "urls": [ "bzz-raw://c0bf53474024ecad55dd4a4ba17eec58c96b4543c9b6a1f6a33235b1e4199e4d", "dweb:/ipfs/QmQXd6ety32NitagfkKCTkqCcUee5vj9jrV4cJjot5iY1v" ], "license": "GPL-3.0" }, "contracts/release/interfaces/ISolvV2InitialConvertibleOfferingMarket.sol": { "keccak256": "0xe34205d54ec639e2e3f8e0e2871984a6796424d903259857f1f11de260cf8abe", "urls": [ "bzz-raw://908f8d334df9ae2191787a8e53c78b1847bd936f2ce9d04115f5e9339c3e3934", "dweb:/ipfs/QmZzxE748Hb2Vosu7cwPmkb4EVpoqvS4RgHogLrvDgsnD3" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 135 } diff --git a/eth_defi/abi/enzyme/SolvV2ConvertibleIssuerPositionLib.json b/eth_defi/abi/enzyme/SolvV2ConvertibleIssuerPositionLib.json index 2c09d786..93348962 100644 --- a/eth_defi/abi/enzyme/SolvV2ConvertibleIssuerPositionLib.json +++ b/eth_defi/abi/enzyme/SolvV2ConvertibleIssuerPositionLib.json @@ -1,602 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_initialConvertibleOfferingMarket", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "voucher", - "type": "address" - } - ], - "name": "IssuedVoucherAdded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "voucher", - "type": "address" - } - ], - "name": "IssuedVoucherRemoved", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint24", - "name": "offerId", - "type": "uint24" - } - ], - "name": "OfferAdded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint24", - "name": "offerId", - "type": "uint24" - } - ], - "name": "OfferRemoved", - "type": "event" - }, - { - "inputs": [], - "name": "getDebtAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "assets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "amounts_", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getIssuedVouchers", - "outputs": [ - { - "internalType": "address[]", - "name": "vouchers_", - "type": "address[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getManagedAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "assets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "amounts_", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getOffers", - "outputs": [ - { - "internalType": "uint24[]", - "name": "offers_", - "type": "uint24[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "init", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - } - ], - "name": "receiveCallFromVault", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x60a06040523480156200001157600080fd5b50604051620033a9380380620033a983398101604081905262000034916200005d565b60601b6001600160601b031916608052620000b2565b8051620000578162000098565b92915050565b6000602082840312156200007057600080fd5b60006200007e84846200004a565b949350505050565b60006001600160a01b03821662000057565b620000a38162000086565b8114620000af57600080fd5b50565b60805160601c6132b6620000f36000398061085652806109105280610c46528061103452806110fc52806112cb5280611570528061169452506132b66000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c80630f081d50146100675780633ee992ee146100855780634ddf47d41461009a57806380daddb8146100af578063e5c23a97146100c5578063ecd658b4146100d8575b600080fd5b61006f6100e0565b60405161007c9190613035565b60405180910390f35b61008d610142565b60405161007c919061306b565b6100ad6100a8366004612980565b6101c3565b005b6100b76101c6565b60405161007c929190613046565b6100ad6100d3366004612980565b6102e9565b6100b7610386565b6060600080548060200260200160405190810160405280929190818152602001828054801561013857602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161011a575b5050505050905090565b6060600180548060200260200160405190810160405280929190818152602001828054801561013857602002820191906000526020600020906000905b82829054906101000a900462ffffff1662ffffff168152602001906003019060208260020104928301926001038202915080841161017f5790505050505050905090565b50565b60608060606101d3610142565b90506101dd61038c565b90935091506060806101ee836107b4565b8151919350915060005b818110156102585761022684828151811061020f57fe5b602002602001015188610abc90919063ffffffff16565b965061024e83828151811061023757fe5b602002602001015187610b8790919063ffffffff16565b95506001016101f8565b5060608061026586610c30565b8151919350915060005b818110156102cf5761029d84828151811061028657fe5b60200260200101518b610abc90919063ffffffff16565b99506102c58382815181106102ae57fe5b60200260200101518a610b8790919063ffffffff16565b985060010161026f565b506102da8989610dbb565b98509850505050505050509091565b60006060828060200190518101906103019190612a4c565b9092509050816103195761031481610ffc565b610381565b600182141561032a576103146112a9565b600282141561033c57610314816113a0565b600382141561034e5761031481611544565b60048214156103605761031481611986565b60405162461bcd60e51b8152600401610378906130bd565b60405180910390fd5b505050565b60608091565b60608060606103996100e0565b805190915060005b818110156107ad5760008551905060008483815181106103bd57fe5b60200260200101516001600160a01b031663360454c56040518163ffffffff1660e01b815260040160206040518083038186803b1580156103fd57600080fd5b505afa158015610411573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061043591906127e6565b90506060816001600160a01b031663ecaf82a5306040518263ffffffff1660e01b81526004016104659190612f55565b60006040518083038186803b15801561047d57600080fd5b505afa158015610491573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526104b9919081019061292e565b80519091506000805b8281101561067d576104d26122d1565b8988815181106104de57fe5b60200260200101516001600160a01b031663d3ceafb986848151811061050057fe5b60200260200101516040518263ffffffff1660e01b8152600401610524919061311b565b6101a06040518083038186803b15801561053d57600080fd5b505afa158015610551573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061057591906129f1565b90508060e001516001600160401b03164210156105a45760405162461bcd60e51b8152600401610378906130dd565b600080876001600160a01b031663875f43848886815181106105c257fe5b60200260200101516040518263ffffffff1660e01b81526004016105e6919061311b565b604080518083038186803b1580156105fd57600080fd5b505afa158015610611573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106359190612a93565b9092509050811561065f576020830151610650908f90610abc565b9d5061065c8d83610b87565b9c505b80156106725761066f8582611c08565b94505b5050506001016104c2565b5080156107215761071288878151811061069357fe5b60200260200101516001600160a01b0316636f307dc36040518163ffffffff1660e01b815260040160206040518083038186803b1580156106d357600080fd5b505afa1580156106e7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061070b91906127e6565b8b90610abc565b995061071e8982610b87565b98505b848a51141561079c5761075188878151811061073957fe5b60200260200101516000611c3490919063ffffffff16565b5087868151811061075e57fe5b60200260200101516001600160a01b03167ffd92edd176a06585677580bb1800864a64631aef521abcba2722708c7084c2e460405160405180910390a25b5050600190930192506103a1915050565b5050509091565b80516060908190806001600160401b03811180156107d157600080fd5b506040519080825280602002602001820160405280156107fb578160200160208202803683370190505b509250806001600160401b038111801561081457600080fd5b5060405190808252806020026020018201604052801561083e578160200160208202803683370190505b50915060005b81811015610ab55761085461233a565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316639cfb2ab087848151811061088f57fe5b60200260200101516040518263ffffffff1660e01b81526004016108b3919061310d565b6101a06040518083038186803b1580156108cc57600080fd5b505afa1580156108e0573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061090491906129d2565b905061090e6123a4565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c39333ab88858151811061094957fe5b60200260200101516040518263ffffffff1660e01b815260040161096d919061310d565b60a06040518083038186803b15801561098557600080fd5b505afa158015610999573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109bd91906129b4565b905060006109ee82600001516001600160801b03168460a001516001600160801b0316611d2c90919063ffffffff16565b90508261010001516001600160a01b0316636f307dc36040518163ffffffff1660e01b815260040160206040518083038186803b158015610a2e57600080fd5b505afa158015610a42573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a6691906127e6565b878581518110610a7257fe5b60200260200101906001600160a01b031690816001600160a01b03168152505080868581518110610a9f57fe5b6020908102919091010152505050600101610844565b5050915091565b606082516001016001600160401b0381118015610ad857600080fd5b50604051908082528060200260200182016040528015610b02578160200160208202803683370190505b50905060005b8351811015610b5157838181518110610b1d57fe5b6020026020010151828281518110610b3157fe5b6001600160a01b0390921660209283029190910190910152600101610b08565b508181845181518110610b6057fe5b60200260200101906001600160a01b031690816001600160a01b0316815250505b92915050565b606082516001016001600160401b0381118015610ba357600080fd5b50604051908082528060200260200182016040528015610bcd578160200160208202803683370190505b50905060005b8351811015610c0f57838181518110610be857fe5b6020026020010151828281518110610bfc57fe5b6020908102919091010152600101610bd3565b508181845181518110610c1e57fe5b60200260200101818152505092915050565b8051606090819060005b81811015610ab55760007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316639cfb2ab0878481518110610c7f57fe5b60200260200101516040518263ffffffff1660e01b8152600401610ca3919061310d565b6101a06040518083038186803b158015610cbc57600080fd5b505afa158015610cd0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cf491906129d2565b61012001519050610d058582611d5e565b15610d105750610db3565b6040516370a0823160e01b81526000906001600160a01b038316906370a0823190610d3f903090600401612f55565b60206040518083038186803b158015610d5757600080fd5b505afa158015610d6b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d8f9190612a2e565b90508015610db057610da18683610abc565b9550610dad8582610b87565b94505b50505b600101610c3a565b606080835160001415610dcd57610ff5565b6001805b8551811015610e4d576000805b82811015610e3757878181518110610df257fe5b60200260200101516001600160a01b0316888481518110610e0f57fe5b60200260200101516001600160a01b03161415610e2f5760019150610e37565b600101610dde565b5080610e44576001909201915b50600101610dd1565b50806001600160401b0381118015610e6457600080fd5b50604051908082528060200260200182016040528015610e8e578160200160208202803683370190505b509250806001600160401b0381118015610ea757600080fd5b50604051908082528060200260200182016040528015610ed1578160200160208202803683370190505b5091506000805b8651811015610ff1576000805b83811015610f7057868181518110610ef957fe5b60200260200101516001600160a01b0316898481518110610f1657fe5b60200260200101516001600160a01b03161415610f685760019150878381518110610f3d57fe5b6020026020010151868281518110610f5157fe5b602002602001018181510191508181525050610f70565b600101610ee5565b5080610fe857878281518110610f8257fe5b6020026020010151868481518110610f9657fe5b60200260200101906001600160a01b031690816001600160a01b031681525050868281518110610fc257fe5b6020026020010151858481518110610fd657fe5b60209081029190910101526001909201915b50600101610ed8565b5050505b9250929050565b60008060008060008060008060606110126123a4565b61101b8b611db4565b99509950995099509950995099509950995099506110e27f000000000000000000000000000000000000000000000000000000000000000082604001516001600160801b03168c6001600160a01b0316636f307dc36040518163ffffffff1660e01b815260040160206040518083038186803b15801561109a57600080fd5b505afa1580156110ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110d291906127e6565b6001600160a01b03169190611dff565b60405163113c22ab60e11b81526000906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690632278455690611143908e908e908e908e908e908e908e908e908e908e90600401612f7e565b602060405180830381600087803b15801561115d57600080fd5b505af1158015611171573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111959190612a10565b90506111a260008c611ef9565b61121a57600080546001810182558180527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630180546001600160a01b0319166001600160a01b038e1690811790915560405190917f6b3e0dcc57df05fef7e2c63274ec9b334d9fad324cedda20d168b66e6f487b4c91a25b6001805480820182556000918252600a8082047fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf601805462ffffff808716600394909506939093026101000a8481029302191691909117905560405190917f27652f622b1c2e924c22bbcd9793267e09bd9469ff3e1d1aef7baa7bb542727791a2505050505050505050505050565b60606112b3610142565b805190915060609060005b8181101561138f576113857f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316639cfb2ab086848151811061130457fe5b60200260200101516040518263ffffffff1660e01b8152600401611328919061310d565b6101a06040518083038186803b15801561134157600080fd5b505afa158015611355573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061137991906129d2565b61012001518490611f51565b92506001016112be565b5061139a3383611f73565b50505050565b6000806113ac836120ce565b915091506000826001600160a01b031663360454c56040518163ffffffff1660e01b815260040160206040518083038186803b1580156113eb57600080fd5b505afa1580156113ff573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061142391906127e6565b905061142d6122d1565b60405163d3ceafb960e01b81526001600160a01b0383169063d3ceafb99061145990869060040161311b565b6101a06040518083038186803b15801561147257600080fd5b505afa158015611486573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114aa91906129f1565b60208101519091506114c86001600160a01b03821684600019611dff565b60405163278ecde160e01b81526001600160a01b0384169063278ecde1906114f490879060040161311b565b600060405180830381600087803b15801561150e57600080fd5b505af1158015611522573d6000803e3d6000fd5b5061153c925050506001600160a01b038216846000611dff565b505050505050565b600061154f826120ee565b905061155961233a565b6040516309cfb2ab60e41b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690639cfb2ab0906115a590859060040161310d565b6101a06040518083038186803b1580156115be57600080fd5b505afa1580156115d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115f691906129d2565b90506000816101200151905060008261010001516001600160a01b0316636f307dc36040518163ffffffff1660e01b815260040160206040518083038186803b15801561164257600080fd5b505afa158015611656573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061167a91906127e6565b6040516362b4d47960e11b81529091506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c569a8f2906116c990879060040161310d565b600060405180830381600087803b1580156116e357600080fd5b505af11580156116f7573d6000803e3d6000fd5b50506001549150600090505b8181101561197d578562ffffff166001828154811061171e57fe5b90600052602060002090600a91828204019190066003029054906101000a900462ffffff1662ffffff161415611975576040516370a0823160e01b81526000906001600160a01b038616906370a082319061177d903090600401612f55565b60206040518083038186803b15801561179557600080fd5b505afa1580156117a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117cd9190612a2e565b905080156117e9576117e96001600160a01b038616338361210c565b6040516370a0823160e01b81526000906001600160a01b038616906370a0823190611818903090600401612f55565b60206040518083038186803b15801561183057600080fd5b505afa158015611844573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118689190612a2e565b90508015611884576118846001600160a01b038616338361210c565b600184038310156119025760018085038154811061189e57fe5b90600052602060002090600a91828204019190066003029054906101000a900462ffffff16600184815481106118d057fe5b90600052602060002090600a91828204019190066003026101000a81548162ffffff021916908362ffffff1602179055505b600180548061190d57fe5b60019003818190600052602060002090600a91828204019190066003026101000a81549062ffffff021916905590558762ffffff167f5117ada9c4efa32749567ede1058300f17ca6204e7a5a68bac0dd615667af42660405160405180910390a2505061197d565b600101611703565b50505050505050565b600080611992836120ce565b9092509050816119a06122d1565b60405163d3ceafb960e01b81526001600160a01b0383169063d3ceafb9906119cc90869060040161311b565b6101a06040518083038186803b1580156119e557600080fd5b505afa1580156119f9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a1d91906129f1565b9050816001600160a01b031663360454c56040518163ffffffff1660e01b815260040160206040518083038186803b158015611a5857600080fd5b505afa158015611a6c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a9091906127e6565b6001600160a01b0316632e1a7d4d846040518263ffffffff1660e01b8152600401611abb919061311b565b6040805180830381600087803b158015611ad457600080fd5b505af1158015611ae8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b0c9190612a93565b50506040805160028082526060808301845292602083019080368337019050509050826001600160a01b0316636f307dc36040518163ffffffff1660e01b815260040160206040518083038186803b158015611b6757600080fd5b505afa158015611b7b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b9f91906127e6565b81600081518110611bac57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050816020015181600181518110611bde57fe5b60200260200101906001600160a01b031690816001600160a01b03168152505061197d3382611f73565b600082820183811015611c2d5760405162461bcd60e51b81526004016103789061308d565b9392505050565b8154600090815b81811015611d2457836001600160a01b0316858281548110611c5957fe5b6000918252602090912001546001600160a01b03161415611d1c5760018203811015611ce757846001830381548110611c8e57fe5b9060005260206000200160009054906101000a90046001600160a01b0316858281548110611cb857fe5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055505b84805480611cf157fe5b600082815260209020810160001990810180546001600160a01b031916905501905560019250611d24565b600101611c3b565b505092915050565b6000808211611d4d5760405162461bcd60e51b8152600401610378906130ad565b818381611d5657fe5b049392505050565b6000805b8351811015611daa57838181518110611d7757fe5b60200260200101516001600160a01b0316836001600160a01b03161415611da2576001915050610b81565b600101611d62565b5060009392505050565b6000806000806000806000806060611dca6123a4565b8a806020019051810190611dde9190612804565b99509950995099509950995099509950995099509193959799509193959799565b801580611e875750604051636eb1769f60e11b81526001600160a01b0384169063dd62ed3e90611e359030908690600401612f63565b60206040518083038186803b158015611e4d57600080fd5b505afa158015611e61573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e859190612a2e565b155b611ea35760405162461bcd60e51b8152600401610378906130fd565b6103818363095ea7b360e01b8484604051602401611ec292919061301a565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915261212b565b8154600090815b81811015611f4657848181548110611f1457fe5b6000918252602090912001546001600160a01b0385811691161415611f3e57600192505050610b81565b600101611f00565b506000949350505050565b6060611f5d8383611d5e565b15611f69575081610b81565b611c2d8383610abc565b606081516001600160401b0381118015611f8c57600080fd5b50604051908082528060200260200182016040528015611fb6578160200160208202803683370190505b50905060005b82518110156120c7576000838281518110611fd357fe5b60200260200101519050806001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016120099190612f55565b60206040518083038186803b15801561202157600080fd5b505afa158015612035573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120599190612a2e565b83838151811061206557fe5b602002602001018181525050600083838151811061207f57fe5b602002602001015111156120be576120be8584848151811061209d57fe5b6020026020010151836001600160a01b031661210c9092919063ffffffff16565b50600101611fbc565b5092915050565b600080828060200190518101906120e591906128f4565b91509150915091565b6000818060200190518101906121049190612a10565b90505b919050565b6103818363a9059cbb60e01b8484604051602401611ec292919061301a565b6060612180826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166121ba9092919063ffffffff16565b805190915015610381578080602001905181019061219e9190612962565b6103815760405162461bcd60e51b8152600401610378906130ed565b60606121c984846000856121d1565b949350505050565b6060824710156121f35760405162461bcd60e51b81526004016103789061309d565b6121fc85612292565b6122185760405162461bcd60e51b8152600401610378906130cd565b60006060866001600160a01b031685876040516122359190612f49565b60006040518083038185875af1925050503d8060008114612272576040519150601f19603f3d011682016040523d82523d6000602084013e612277565b606091505b5091509150612287828286612298565b979650505050505050565b3b151590565b606083156122a7575081611c2d565b8251156122b75782518084602001fd5b8160405162461bcd60e51b8152600401610378919061307c565b604080516101a081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052906101008201908152600060208201819052604082018190526060820181905260809091015290565b604080516101a081018252600080825260208201819052918101829052906060820190815260006020820181905260408201819052606082018190526080820181905260a0820181905260c0820181905260e0820181905261010082018190526101209091015290565b6040805160a08101825260008082526020820181905291810182905260608101829052608081019190915290565b8051610b8181613252565b600082601f8301126123ee57600080fd5b81516124016123fc8261314f565b613129565b9150818183526020840193506020810190508385602084028201111561242657600080fd5b60005b83811015612452578161243c88826127c5565b8452506020928301929190910190600101612429565b5050505092915050565b8051610b8181613266565b600082601f83011261247857600080fd5b81356124866123fc8261316f565b915080825260208301602083018583830111156124a257600080fd5b6124ad838284613206565b50505092915050565b600082601f8301126124c757600080fd5b81516124d56123fc8261316f565b915080825260208301602083018583830111156124f157600080fd5b6124ad838284613212565b8051610b818161326f565b600060a0828403121561251957600080fd5b61252360a0613129565b9050600061253184846127af565b8252506020612542848483016127af565b6020830152506040612556848285016127af565b604083015250606061256a848285016127db565b606083015250608061257e848285016127db565b60808301525092915050565b60006101a0828403121561259d57600080fd5b6125a86101a0613129565b905060006125b684846127ba565b82525060206125c7848483016127d0565b60208301525060406125db848285016127d0565b60408301525060606125ef848285016124fc565b6060830152506080612603848285016127af565b60808301525060a0612617848285016127af565b60a08301525060c061262b848285016127af565b60c08301525060e061263f848285016127af565b60e083015250610100612654848285016123d2565b6101008301525061012061266a848285016123d2565b61012083015250610140612680848285016123d2565b610140830152506101606126968482850161245c565b610160830152506101806126ac8482850161245c565b6101808301525092915050565b60006101a082840312156126cc57600080fd5b6126d76101a0613129565b905060006126e584846123d2565b82525060206126f6848483016123d2565b602083015250604061270a848285016127c5565b604083015250606061271e848285016127af565b6060830152506080612732848285016127af565b60808301525060a0612746848285016127af565b60a08301525060c061275a848285016127db565b60c08301525060e061276e848285016127db565b60e083015250610100612783848285016124fc565b610100830152506101206127998482850161245c565b610120830152506101406126808482850161245c565b8051610b818161327c565b8051610b8181613285565b8051610b818161328e565b8051610b8181613297565b8051610b81816132a0565b6000602082840312156127f857600080fd5b60006121c984846123d2565b6000806000806000806000806000806101c08b8d03121561282457600080fd5b60006128308d8d6123d2565b9a505060206128418d828e016123d2565b99505060406128528d828e016127af565b98505060606128638d828e016127af565b97505060806128748d828e016127d0565b96505060a06128858d828e016127d0565b95505060c06128968d828e0161245c565b94505060e06128a78d828e016124fc565b9350506101008b01516001600160401b038111156128c457600080fd5b6128d08d828e016124b6565b9250506101206128e28d828e01612507565b9150509295989b9194979a5092959850565b6000806040838503121561290757600080fd5b600061291385856123d2565b9250506020612924858286016127c5565b9150509250929050565b60006020828403121561294057600080fd5b81516001600160401b0381111561295657600080fd5b6121c9848285016123dd565b60006020828403121561297457600080fd5b60006121c9848461245c565b60006020828403121561299257600080fd5b81356001600160401b038111156129a857600080fd5b6121c984828501612467565b600060a082840312156129c657600080fd5b60006121c98484612507565b60006101a082840312156129e557600080fd5b60006121c9848461258a565b60006101a08284031215612a0457600080fd5b60006121c984846126b9565b600060208284031215612a2257600080fd5b60006121c984846127ba565b600060208284031215612a4057600080fd5b60006121c984846127c5565b60008060408385031215612a5f57600080fd5b6000612a6b85856127c5565b92505060208301516001600160401b03811115612a8757600080fd5b612924858286016124b6565b60008060408385031215612aa657600080fd5b600061291385856127c5565b6000612abe8383612ade565b505060200190565b6000612abe8383612f25565b6000612abe8383612f2e565b612ae7816131a9565b82525050565b6000612af88261319c565b612b0281856131a0565b9350612b0d83613196565b8060005b83811015612b3b578151612b258882612ab2565b9750612b3083613196565b925050600101612b11565b509495945050505050565b6000612b518261319c565b612b5b81856131a0565b9350612b6683613196565b8060005b83811015612b3b578151612b7e8882612ac6565b9750612b8983613196565b925050600101612b6a565b6000612b9f8261319c565b612ba981856131a0565b9350612bb483613196565b8060005b83811015612b3b578151612bcc8882612ad2565b9750612bd783613196565b925050600101612bb8565b612ae7816131b4565b6000612bf68261319c565b612c0081856131a0565b9350612c10818560208601613212565b612c198161323e565b9093019392505050565b6000612c2e8261319c565b612c388185612107565b9350612c48818560208601613212565b9290920192915050565b612ae7816131fb565b6000612c68601b836131a0565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000612ca16026836131a0565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f8152651c8818d85b1b60d21b602082015260400192915050565b6000612ce9601a836131a0565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b6000612d226026836131a0565b7f7265636569766543616c6c46726f6d5661756c743a20496e76616c69642061638152651d1a5bdb925960d21b602082015260400192915050565b6000612d6a601d836131a0565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000815260200192915050565b6000612da36057836131a0565b7f5f5f676574576974686472617761626c654173736574416d6f756e7473416e6481527f52656d6f766557697468647261776e566f7563686572733a207072652d6d617460208201527f7572652069737375656420766f756368657220736c6f74000000000000000000604082015260600192915050565b6000612e28602a836131a0565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e8152691bdd081cdd58d8d9595960b21b602082015260400192915050565b6000612e746036836131a0565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f81527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b602082015260400192915050565b805160a0830190612ed08482612f1c565b506020820151612ee36020850182612f1c565b506040820151612ef66040850182612f1c565b506060820151612f096060850182612f40565b50608082015161139a6080850182612f40565b612ae7816131c3565b612ae7816131db565b612ae7816131e3565b612ae7816131e6565b612ae7816131ef565b6000611c2d8284612c23565b60208101610b818284612ade565b60408101612f718285612ade565b611c2d6020830184612ade565b6101c08101612f8d828d612ade565b612f9a602083018c612ade565b612fa7604083018b612f1c565b612fb4606083018a612f1c565b612fc16080830189612f37565b612fce60a0830188612f37565b612fdb60c0830187612be2565b612fe860e0830186612c52565b818103610100830152612ffb8185612beb565b905061300b610120830184612ebf565b9b9a5050505050505050505050565b604081016130288285612ade565b611c2d6020830184612f2e565b60208082528101611c2d8184612aed565b604080825281016130578185612aed565b905081810360208301526121c98184612b94565b60208082528101611c2d8184612b46565b60208082528101611c2d8184612beb565b6020808252810161210481612c5b565b6020808252810161210481612c94565b6020808252810161210481612cdc565b6020808252810161210481612d15565b6020808252810161210481612d5d565b6020808252810161210481612d96565b6020808252810161210481612e1b565b6020808252810161210481612e67565b60208101610b818284612f25565b60208101610b818284612f2e565b6040518181016001600160401b038111828210171561314757600080fd5b604052919050565b60006001600160401b0382111561316557600080fd5b5060209081020190565b60006001600160401b0382111561318557600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b6000612104826131cf565b151590565b8061210781613248565b6001600160801b031690565b6001600160a01b031690565b62ffffff1690565b90565b63ffffffff1690565b6001600160401b031690565b6000612104826131b9565b82818337506000910152565b60005b8381101561322d578181015183820152602001613215565b8381111561139a5750506000910152565b601f01601f191690565b600281106101c357fe5b61325b816131a9565b81146101c357600080fd5b61325b816131b4565b600281106101c357600080fd5b61325b816131c3565b61325b816131db565b61325b816131e3565b61325b816131e6565b61325b816131ef56fea164736f6c634300060c000a", - "sourceMap": "1234:14575:136:-:0;;;1698:222;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1770:143;;-1:-1:-1;;;;;;1770:143:136;;;1234:14575;;5:134:-1;83:13;;101:33;83:13;101:33;:::i;:::-;68:71;;;;:::o;146:263::-;;261:2;249:9;240:7;236:23;232:32;229:2;;;277:1;274;267:12;229:2;312:1;329:64;385:7;365:9;329:64;:::i;:::-;319:74;223:186;-1:-1;;;;223:186::o;416:91::-;;-1:-1;;;;;576:54;;478:24;559:76::o;642:117::-;711:24;729:5;711:24;:::i;:::-;704:5;701:35;691:2;;750:1;747;740:12;691:2;685:74;:::o;:::-;1234:14575:136;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106100625760003560e01c80630f081d50146100675780633ee992ee146100855780634ddf47d41461009a57806380daddb8146100af578063e5c23a97146100c5578063ecd658b4146100d8575b600080fd5b61006f6100e0565b60405161007c9190613035565b60405180910390f35b61008d610142565b60405161007c919061306b565b6100ad6100a8366004612980565b6101c3565b005b6100b76101c6565b60405161007c929190613046565b6100ad6100d3366004612980565b6102e9565b6100b7610386565b6060600080548060200260200160405190810160405280929190818152602001828054801561013857602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161011a575b5050505050905090565b6060600180548060200260200160405190810160405280929190818152602001828054801561013857602002820191906000526020600020906000905b82829054906101000a900462ffffff1662ffffff168152602001906003019060208260020104928301926001038202915080841161017f5790505050505050905090565b50565b60608060606101d3610142565b90506101dd61038c565b90935091506060806101ee836107b4565b8151919350915060005b818110156102585761022684828151811061020f57fe5b602002602001015188610abc90919063ffffffff16565b965061024e83828151811061023757fe5b602002602001015187610b8790919063ffffffff16565b95506001016101f8565b5060608061026586610c30565b8151919350915060005b818110156102cf5761029d84828151811061028657fe5b60200260200101518b610abc90919063ffffffff16565b99506102c58382815181106102ae57fe5b60200260200101518a610b8790919063ffffffff16565b985060010161026f565b506102da8989610dbb565b98509850505050505050509091565b60006060828060200190518101906103019190612a4c565b9092509050816103195761031481610ffc565b610381565b600182141561032a576103146112a9565b600282141561033c57610314816113a0565b600382141561034e5761031481611544565b60048214156103605761031481611986565b60405162461bcd60e51b8152600401610378906130bd565b60405180910390fd5b505050565b60608091565b60608060606103996100e0565b805190915060005b818110156107ad5760008551905060008483815181106103bd57fe5b60200260200101516001600160a01b031663360454c56040518163ffffffff1660e01b815260040160206040518083038186803b1580156103fd57600080fd5b505afa158015610411573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061043591906127e6565b90506060816001600160a01b031663ecaf82a5306040518263ffffffff1660e01b81526004016104659190612f55565b60006040518083038186803b15801561047d57600080fd5b505afa158015610491573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526104b9919081019061292e565b80519091506000805b8281101561067d576104d26122d1565b8988815181106104de57fe5b60200260200101516001600160a01b031663d3ceafb986848151811061050057fe5b60200260200101516040518263ffffffff1660e01b8152600401610524919061311b565b6101a06040518083038186803b15801561053d57600080fd5b505afa158015610551573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061057591906129f1565b90508060e001516001600160401b03164210156105a45760405162461bcd60e51b8152600401610378906130dd565b600080876001600160a01b031663875f43848886815181106105c257fe5b60200260200101516040518263ffffffff1660e01b81526004016105e6919061311b565b604080518083038186803b1580156105fd57600080fd5b505afa158015610611573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106359190612a93565b9092509050811561065f576020830151610650908f90610abc565b9d5061065c8d83610b87565b9c505b80156106725761066f8582611c08565b94505b5050506001016104c2565b5080156107215761071288878151811061069357fe5b60200260200101516001600160a01b0316636f307dc36040518163ffffffff1660e01b815260040160206040518083038186803b1580156106d357600080fd5b505afa1580156106e7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061070b91906127e6565b8b90610abc565b995061071e8982610b87565b98505b848a51141561079c5761075188878151811061073957fe5b60200260200101516000611c3490919063ffffffff16565b5087868151811061075e57fe5b60200260200101516001600160a01b03167ffd92edd176a06585677580bb1800864a64631aef521abcba2722708c7084c2e460405160405180910390a25b5050600190930192506103a1915050565b5050509091565b80516060908190806001600160401b03811180156107d157600080fd5b506040519080825280602002602001820160405280156107fb578160200160208202803683370190505b509250806001600160401b038111801561081457600080fd5b5060405190808252806020026020018201604052801561083e578160200160208202803683370190505b50915060005b81811015610ab55761085461233a565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316639cfb2ab087848151811061088f57fe5b60200260200101516040518263ffffffff1660e01b81526004016108b3919061310d565b6101a06040518083038186803b1580156108cc57600080fd5b505afa1580156108e0573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061090491906129d2565b905061090e6123a4565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c39333ab88858151811061094957fe5b60200260200101516040518263ffffffff1660e01b815260040161096d919061310d565b60a06040518083038186803b15801561098557600080fd5b505afa158015610999573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109bd91906129b4565b905060006109ee82600001516001600160801b03168460a001516001600160801b0316611d2c90919063ffffffff16565b90508261010001516001600160a01b0316636f307dc36040518163ffffffff1660e01b815260040160206040518083038186803b158015610a2e57600080fd5b505afa158015610a42573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a6691906127e6565b878581518110610a7257fe5b60200260200101906001600160a01b031690816001600160a01b03168152505080868581518110610a9f57fe5b6020908102919091010152505050600101610844565b5050915091565b606082516001016001600160401b0381118015610ad857600080fd5b50604051908082528060200260200182016040528015610b02578160200160208202803683370190505b50905060005b8351811015610b5157838181518110610b1d57fe5b6020026020010151828281518110610b3157fe5b6001600160a01b0390921660209283029190910190910152600101610b08565b508181845181518110610b6057fe5b60200260200101906001600160a01b031690816001600160a01b0316815250505b92915050565b606082516001016001600160401b0381118015610ba357600080fd5b50604051908082528060200260200182016040528015610bcd578160200160208202803683370190505b50905060005b8351811015610c0f57838181518110610be857fe5b6020026020010151828281518110610bfc57fe5b6020908102919091010152600101610bd3565b508181845181518110610c1e57fe5b60200260200101818152505092915050565b8051606090819060005b81811015610ab55760007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316639cfb2ab0878481518110610c7f57fe5b60200260200101516040518263ffffffff1660e01b8152600401610ca3919061310d565b6101a06040518083038186803b158015610cbc57600080fd5b505afa158015610cd0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cf491906129d2565b61012001519050610d058582611d5e565b15610d105750610db3565b6040516370a0823160e01b81526000906001600160a01b038316906370a0823190610d3f903090600401612f55565b60206040518083038186803b158015610d5757600080fd5b505afa158015610d6b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d8f9190612a2e565b90508015610db057610da18683610abc565b9550610dad8582610b87565b94505b50505b600101610c3a565b606080835160001415610dcd57610ff5565b6001805b8551811015610e4d576000805b82811015610e3757878181518110610df257fe5b60200260200101516001600160a01b0316888481518110610e0f57fe5b60200260200101516001600160a01b03161415610e2f5760019150610e37565b600101610dde565b5080610e44576001909201915b50600101610dd1565b50806001600160401b0381118015610e6457600080fd5b50604051908082528060200260200182016040528015610e8e578160200160208202803683370190505b509250806001600160401b0381118015610ea757600080fd5b50604051908082528060200260200182016040528015610ed1578160200160208202803683370190505b5091506000805b8651811015610ff1576000805b83811015610f7057868181518110610ef957fe5b60200260200101516001600160a01b0316898481518110610f1657fe5b60200260200101516001600160a01b03161415610f685760019150878381518110610f3d57fe5b6020026020010151868281518110610f5157fe5b602002602001018181510191508181525050610f70565b600101610ee5565b5080610fe857878281518110610f8257fe5b6020026020010151868481518110610f9657fe5b60200260200101906001600160a01b031690816001600160a01b031681525050868281518110610fc257fe5b6020026020010151858481518110610fd657fe5b60209081029190910101526001909201915b50600101610ed8565b5050505b9250929050565b60008060008060008060008060606110126123a4565b61101b8b611db4565b99509950995099509950995099509950995099506110e27f000000000000000000000000000000000000000000000000000000000000000082604001516001600160801b03168c6001600160a01b0316636f307dc36040518163ffffffff1660e01b815260040160206040518083038186803b15801561109a57600080fd5b505afa1580156110ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110d291906127e6565b6001600160a01b03169190611dff565b60405163113c22ab60e11b81526000906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690632278455690611143908e908e908e908e908e908e908e908e908e908e90600401612f7e565b602060405180830381600087803b15801561115d57600080fd5b505af1158015611171573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111959190612a10565b90506111a260008c611ef9565b61121a57600080546001810182558180527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630180546001600160a01b0319166001600160a01b038e1690811790915560405190917f6b3e0dcc57df05fef7e2c63274ec9b334d9fad324cedda20d168b66e6f487b4c91a25b6001805480820182556000918252600a8082047fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf601805462ffffff808716600394909506939093026101000a8481029302191691909117905560405190917f27652f622b1c2e924c22bbcd9793267e09bd9469ff3e1d1aef7baa7bb542727791a2505050505050505050505050565b60606112b3610142565b805190915060609060005b8181101561138f576113857f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316639cfb2ab086848151811061130457fe5b60200260200101516040518263ffffffff1660e01b8152600401611328919061310d565b6101a06040518083038186803b15801561134157600080fd5b505afa158015611355573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061137991906129d2565b61012001518490611f51565b92506001016112be565b5061139a3383611f73565b50505050565b6000806113ac836120ce565b915091506000826001600160a01b031663360454c56040518163ffffffff1660e01b815260040160206040518083038186803b1580156113eb57600080fd5b505afa1580156113ff573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061142391906127e6565b905061142d6122d1565b60405163d3ceafb960e01b81526001600160a01b0383169063d3ceafb99061145990869060040161311b565b6101a06040518083038186803b15801561147257600080fd5b505afa158015611486573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114aa91906129f1565b60208101519091506114c86001600160a01b03821684600019611dff565b60405163278ecde160e01b81526001600160a01b0384169063278ecde1906114f490879060040161311b565b600060405180830381600087803b15801561150e57600080fd5b505af1158015611522573d6000803e3d6000fd5b5061153c925050506001600160a01b038216846000611dff565b505050505050565b600061154f826120ee565b905061155961233a565b6040516309cfb2ab60e41b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690639cfb2ab0906115a590859060040161310d565b6101a06040518083038186803b1580156115be57600080fd5b505afa1580156115d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115f691906129d2565b90506000816101200151905060008261010001516001600160a01b0316636f307dc36040518163ffffffff1660e01b815260040160206040518083038186803b15801561164257600080fd5b505afa158015611656573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061167a91906127e6565b6040516362b4d47960e11b81529091506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c569a8f2906116c990879060040161310d565b600060405180830381600087803b1580156116e357600080fd5b505af11580156116f7573d6000803e3d6000fd5b50506001549150600090505b8181101561197d578562ffffff166001828154811061171e57fe5b90600052602060002090600a91828204019190066003029054906101000a900462ffffff1662ffffff161415611975576040516370a0823160e01b81526000906001600160a01b038616906370a082319061177d903090600401612f55565b60206040518083038186803b15801561179557600080fd5b505afa1580156117a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117cd9190612a2e565b905080156117e9576117e96001600160a01b038616338361210c565b6040516370a0823160e01b81526000906001600160a01b038616906370a0823190611818903090600401612f55565b60206040518083038186803b15801561183057600080fd5b505afa158015611844573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118689190612a2e565b90508015611884576118846001600160a01b038616338361210c565b600184038310156119025760018085038154811061189e57fe5b90600052602060002090600a91828204019190066003029054906101000a900462ffffff16600184815481106118d057fe5b90600052602060002090600a91828204019190066003026101000a81548162ffffff021916908362ffffff1602179055505b600180548061190d57fe5b60019003818190600052602060002090600a91828204019190066003026101000a81549062ffffff021916905590558762ffffff167f5117ada9c4efa32749567ede1058300f17ca6204e7a5a68bac0dd615667af42660405160405180910390a2505061197d565b600101611703565b50505050505050565b600080611992836120ce565b9092509050816119a06122d1565b60405163d3ceafb960e01b81526001600160a01b0383169063d3ceafb9906119cc90869060040161311b565b6101a06040518083038186803b1580156119e557600080fd5b505afa1580156119f9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a1d91906129f1565b9050816001600160a01b031663360454c56040518163ffffffff1660e01b815260040160206040518083038186803b158015611a5857600080fd5b505afa158015611a6c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a9091906127e6565b6001600160a01b0316632e1a7d4d846040518263ffffffff1660e01b8152600401611abb919061311b565b6040805180830381600087803b158015611ad457600080fd5b505af1158015611ae8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b0c9190612a93565b50506040805160028082526060808301845292602083019080368337019050509050826001600160a01b0316636f307dc36040518163ffffffff1660e01b815260040160206040518083038186803b158015611b6757600080fd5b505afa158015611b7b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b9f91906127e6565b81600081518110611bac57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050816020015181600181518110611bde57fe5b60200260200101906001600160a01b031690816001600160a01b03168152505061197d3382611f73565b600082820183811015611c2d5760405162461bcd60e51b81526004016103789061308d565b9392505050565b8154600090815b81811015611d2457836001600160a01b0316858281548110611c5957fe5b6000918252602090912001546001600160a01b03161415611d1c5760018203811015611ce757846001830381548110611c8e57fe5b9060005260206000200160009054906101000a90046001600160a01b0316858281548110611cb857fe5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055505b84805480611cf157fe5b600082815260209020810160001990810180546001600160a01b031916905501905560019250611d24565b600101611c3b565b505092915050565b6000808211611d4d5760405162461bcd60e51b8152600401610378906130ad565b818381611d5657fe5b049392505050565b6000805b8351811015611daa57838181518110611d7757fe5b60200260200101516001600160a01b0316836001600160a01b03161415611da2576001915050610b81565b600101611d62565b5060009392505050565b6000806000806000806000806060611dca6123a4565b8a806020019051810190611dde9190612804565b99509950995099509950995099509950995099509193959799509193959799565b801580611e875750604051636eb1769f60e11b81526001600160a01b0384169063dd62ed3e90611e359030908690600401612f63565b60206040518083038186803b158015611e4d57600080fd5b505afa158015611e61573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e859190612a2e565b155b611ea35760405162461bcd60e51b8152600401610378906130fd565b6103818363095ea7b360e01b8484604051602401611ec292919061301a565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915261212b565b8154600090815b81811015611f4657848181548110611f1457fe5b6000918252602090912001546001600160a01b0385811691161415611f3e57600192505050610b81565b600101611f00565b506000949350505050565b6060611f5d8383611d5e565b15611f69575081610b81565b611c2d8383610abc565b606081516001600160401b0381118015611f8c57600080fd5b50604051908082528060200260200182016040528015611fb6578160200160208202803683370190505b50905060005b82518110156120c7576000838281518110611fd357fe5b60200260200101519050806001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016120099190612f55565b60206040518083038186803b15801561202157600080fd5b505afa158015612035573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120599190612a2e565b83838151811061206557fe5b602002602001018181525050600083838151811061207f57fe5b602002602001015111156120be576120be8584848151811061209d57fe5b6020026020010151836001600160a01b031661210c9092919063ffffffff16565b50600101611fbc565b5092915050565b600080828060200190518101906120e591906128f4565b91509150915091565b6000818060200190518101906121049190612a10565b90505b919050565b6103818363a9059cbb60e01b8484604051602401611ec292919061301a565b6060612180826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166121ba9092919063ffffffff16565b805190915015610381578080602001905181019061219e9190612962565b6103815760405162461bcd60e51b8152600401610378906130ed565b60606121c984846000856121d1565b949350505050565b6060824710156121f35760405162461bcd60e51b81526004016103789061309d565b6121fc85612292565b6122185760405162461bcd60e51b8152600401610378906130cd565b60006060866001600160a01b031685876040516122359190612f49565b60006040518083038185875af1925050503d8060008114612272576040519150601f19603f3d011682016040523d82523d6000602084013e612277565b606091505b5091509150612287828286612298565b979650505050505050565b3b151590565b606083156122a7575081611c2d565b8251156122b75782518084602001fd5b8160405162461bcd60e51b8152600401610378919061307c565b604080516101a081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052906101008201908152600060208201819052604082018190526060820181905260809091015290565b604080516101a081018252600080825260208201819052918101829052906060820190815260006020820181905260408201819052606082018190526080820181905260a0820181905260c0820181905260e0820181905261010082018190526101209091015290565b6040805160a08101825260008082526020820181905291810182905260608101829052608081019190915290565b8051610b8181613252565b600082601f8301126123ee57600080fd5b81516124016123fc8261314f565b613129565b9150818183526020840193506020810190508385602084028201111561242657600080fd5b60005b83811015612452578161243c88826127c5565b8452506020928301929190910190600101612429565b5050505092915050565b8051610b8181613266565b600082601f83011261247857600080fd5b81356124866123fc8261316f565b915080825260208301602083018583830111156124a257600080fd5b6124ad838284613206565b50505092915050565b600082601f8301126124c757600080fd5b81516124d56123fc8261316f565b915080825260208301602083018583830111156124f157600080fd5b6124ad838284613212565b8051610b818161326f565b600060a0828403121561251957600080fd5b61252360a0613129565b9050600061253184846127af565b8252506020612542848483016127af565b6020830152506040612556848285016127af565b604083015250606061256a848285016127db565b606083015250608061257e848285016127db565b60808301525092915050565b60006101a0828403121561259d57600080fd5b6125a86101a0613129565b905060006125b684846127ba565b82525060206125c7848483016127d0565b60208301525060406125db848285016127d0565b60408301525060606125ef848285016124fc565b6060830152506080612603848285016127af565b60808301525060a0612617848285016127af565b60a08301525060c061262b848285016127af565b60c08301525060e061263f848285016127af565b60e083015250610100612654848285016123d2565b6101008301525061012061266a848285016123d2565b61012083015250610140612680848285016123d2565b610140830152506101606126968482850161245c565b610160830152506101806126ac8482850161245c565b6101808301525092915050565b60006101a082840312156126cc57600080fd5b6126d76101a0613129565b905060006126e584846123d2565b82525060206126f6848483016123d2565b602083015250604061270a848285016127c5565b604083015250606061271e848285016127af565b6060830152506080612732848285016127af565b60808301525060a0612746848285016127af565b60a08301525060c061275a848285016127db565b60c08301525060e061276e848285016127db565b60e083015250610100612783848285016124fc565b610100830152506101206127998482850161245c565b610120830152506101406126808482850161245c565b8051610b818161327c565b8051610b8181613285565b8051610b818161328e565b8051610b8181613297565b8051610b81816132a0565b6000602082840312156127f857600080fd5b60006121c984846123d2565b6000806000806000806000806000806101c08b8d03121561282457600080fd5b60006128308d8d6123d2565b9a505060206128418d828e016123d2565b99505060406128528d828e016127af565b98505060606128638d828e016127af565b97505060806128748d828e016127d0565b96505060a06128858d828e016127d0565b95505060c06128968d828e0161245c565b94505060e06128a78d828e016124fc565b9350506101008b01516001600160401b038111156128c457600080fd5b6128d08d828e016124b6565b9250506101206128e28d828e01612507565b9150509295989b9194979a5092959850565b6000806040838503121561290757600080fd5b600061291385856123d2565b9250506020612924858286016127c5565b9150509250929050565b60006020828403121561294057600080fd5b81516001600160401b0381111561295657600080fd5b6121c9848285016123dd565b60006020828403121561297457600080fd5b60006121c9848461245c565b60006020828403121561299257600080fd5b81356001600160401b038111156129a857600080fd5b6121c984828501612467565b600060a082840312156129c657600080fd5b60006121c98484612507565b60006101a082840312156129e557600080fd5b60006121c9848461258a565b60006101a08284031215612a0457600080fd5b60006121c984846126b9565b600060208284031215612a2257600080fd5b60006121c984846127ba565b600060208284031215612a4057600080fd5b60006121c984846127c5565b60008060408385031215612a5f57600080fd5b6000612a6b85856127c5565b92505060208301516001600160401b03811115612a8757600080fd5b612924858286016124b6565b60008060408385031215612aa657600080fd5b600061291385856127c5565b6000612abe8383612ade565b505060200190565b6000612abe8383612f25565b6000612abe8383612f2e565b612ae7816131a9565b82525050565b6000612af88261319c565b612b0281856131a0565b9350612b0d83613196565b8060005b83811015612b3b578151612b258882612ab2565b9750612b3083613196565b925050600101612b11565b509495945050505050565b6000612b518261319c565b612b5b81856131a0565b9350612b6683613196565b8060005b83811015612b3b578151612b7e8882612ac6565b9750612b8983613196565b925050600101612b6a565b6000612b9f8261319c565b612ba981856131a0565b9350612bb483613196565b8060005b83811015612b3b578151612bcc8882612ad2565b9750612bd783613196565b925050600101612bb8565b612ae7816131b4565b6000612bf68261319c565b612c0081856131a0565b9350612c10818560208601613212565b612c198161323e565b9093019392505050565b6000612c2e8261319c565b612c388185612107565b9350612c48818560208601613212565b9290920192915050565b612ae7816131fb565b6000612c68601b836131a0565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000612ca16026836131a0565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f8152651c8818d85b1b60d21b602082015260400192915050565b6000612ce9601a836131a0565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b6000612d226026836131a0565b7f7265636569766543616c6c46726f6d5661756c743a20496e76616c69642061638152651d1a5bdb925960d21b602082015260400192915050565b6000612d6a601d836131a0565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000815260200192915050565b6000612da36057836131a0565b7f5f5f676574576974686472617761626c654173736574416d6f756e7473416e6481527f52656d6f766557697468647261776e566f7563686572733a207072652d6d617460208201527f7572652069737375656420766f756368657220736c6f74000000000000000000604082015260600192915050565b6000612e28602a836131a0565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e8152691bdd081cdd58d8d9595960b21b602082015260400192915050565b6000612e746036836131a0565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f81527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b602082015260400192915050565b805160a0830190612ed08482612f1c565b506020820151612ee36020850182612f1c565b506040820151612ef66040850182612f1c565b506060820151612f096060850182612f40565b50608082015161139a6080850182612f40565b612ae7816131c3565b612ae7816131db565b612ae7816131e3565b612ae7816131e6565b612ae7816131ef565b6000611c2d8284612c23565b60208101610b818284612ade565b60408101612f718285612ade565b611c2d6020830184612ade565b6101c08101612f8d828d612ade565b612f9a602083018c612ade565b612fa7604083018b612f1c565b612fb4606083018a612f1c565b612fc16080830189612f37565b612fce60a0830188612f37565b612fdb60c0830187612be2565b612fe860e0830186612c52565b818103610100830152612ffb8185612beb565b905061300b610120830184612ebf565b9b9a5050505050505050505050565b604081016130288285612ade565b611c2d6020830184612f2e565b60208082528101611c2d8184612aed565b604080825281016130578185612aed565b905081810360208301526121c98184612b94565b60208082528101611c2d8184612b46565b60208082528101611c2d8184612beb565b6020808252810161210481612c5b565b6020808252810161210481612c94565b6020808252810161210481612cdc565b6020808252810161210481612d15565b6020808252810161210481612d5d565b6020808252810161210481612d96565b6020808252810161210481612e1b565b6020808252810161210481612e67565b60208101610b818284612f25565b60208101610b818284612f2e565b6040518181016001600160401b038111828210171561314757600080fd5b604052919050565b60006001600160401b0382111561316557600080fd5b5060209081020190565b60006001600160401b0382111561318557600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b6000612104826131cf565b151590565b8061210781613248565b6001600160801b031690565b6001600160a01b031690565b62ffffff1690565b90565b63ffffffff1690565b6001600160401b031690565b6000612104826131b9565b82818337506000910152565b60005b8381101561322d578181015183820152602001613215565b8381111561139a5750506000910152565b601f01601f191690565b600281106101c357fe5b61325b816131a9565b81146101c357600080fd5b61325b816131b4565b600281106101c357600080fd5b61325b816131c3565b61325b816131db565b61325b816131e3565b61325b816131e6565b61325b816131ef56fea164736f6c634300060c000a", - "sourceMap": "1234:14575:136:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15484:116;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15701:106;;;:::i;:::-;;;;;;;:::i;2029:48::-;;;;;;:::i;:::-;;:::i;:::-;;9024:1378;;;:::i;:::-;;;;;;;;:::i;2205:771::-;;;;;;:::i;:::-;;:::i;8349:176::-;;;:::i;15484:116::-;15534:26;15579:14;15572:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15572:21:136;;;;;;;;;;;;;;;;;;;;;;;15484:116;:::o;15701:106::-;15752:23;15794:6;15787:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15701:106;:::o;2029:48::-;;:::o;9024:1378::-;9103:24;9129:25;9170;9198:11;:9;:11::i;:::-;9170:39;;9330:57;:55;:57::i;:::-;9308:79;;-1:-1:-1;9308:79:136;-1:-1:-1;9479:33:136;;9573:39;9602:9;9573:28;:39::i;:::-;9655:23;;9465:147;;-1:-1:-1;9465:147:136;-1:-1:-1;9622:30:136;9688:183;9708:22;9704:1;:26;9688:183;;;9761:36;9777:16;9794:1;9777:19;;;;;;;;;;;;;;9761:7;:15;;:36;;;;:::i;:::-;9751:46;;9822:38;9839:17;9857:1;9839:20;;;;;;;;;;;;;;9822:8;:16;;:38;;;;:::i;:::-;9811:49;-1:-1:-1;9732:3:136;;9688:183;;;;9972:27;10013:33;10059:42;10091:9;10059:31;:42::i;:::-;10139:17;;9958:143;;-1:-1:-1;9958:143:136;-1:-1:-1;10112:24:136;10166:170;10186:16;10182:1;:20;10166:170;;;10233:30;10249:10;10260:1;10249:13;;;;;;;;;;;;;;10233:7;:15;;:30;;;;:::i;:::-;10223:40;;10288:37;10305:16;10322:1;10305:19;;;;;;;;;;;;;;10288:8;:16;;:37;;;;:::i;:::-;10277:48;-1:-1:-1;10204:3:136;;10166:170;;;;10353:42;10377:7;10386:8;10353:23;:42::i;:::-;10346:49;;;;;;;;;;;9024:1378;;:::o;2205:771::-;2290:16;2308:23;2346:11;2335:41;;;;;;;;;;;;:::i;:::-;2289:87;;-1:-1:-1;2289:87:136;-1:-1:-1;2391:40:136;2387:583;;2447:31;2467:10;2447:19;:31::i;:::-;2387:583;;;2519:17;2499:8;:38;2495:475;;;2553:19;:17;:19::i;2495:475::-;2613:14;2593:8;:35;2589:381;;;2644:26;2659:10;2644:14;:26::i;2589:381::-;2711:19;2691:8;:40;2687:283;;;2747:31;2767:10;2747:19;:31::i;2687:283::-;2819:16;2799:8;:37;2795:175;;;2852:28;2869:10;2852:16;:28::i;2795:175::-;2911:48;;-1:-1:-1;;;2911:48:136;;;;;;;:::i;:::-;;;;;;;;2795:175;2205:771;;;:::o;8349:176::-;8425:24;8451:25;8349:176;:::o;12764:2536::-;12864:24;12890:25;12931:28;12962:19;:17;:19::i;:::-;13016:18;;12931:50;;-1:-1:-1;12991:22:136;13045:2213;13065:14;13061:1;:18;13045:2213;;;13100:23;13126:7;:14;13100:40;;13155:42;13266:11;13278:1;13266:14;;;;;;;;;;;;;;-1:-1:-1;;;;;13240:57:136;;:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13155:158;;13327:22;13352:19;-1:-1:-1;;;;;13352:34:136;;13395:4;13352:49;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;13352:49:136;;;;;;;;;;;;:::i;:::-;13437:12;;13327:74;;-1:-1:-1;13415:19:136;;13509:1073;13529:11;13525:1;:15;13509:1073;;;13565:51;;:::i;:::-;13666:11;13678:1;13666:14;;;;;;;;;;;;;;-1:-1:-1;;;;;13619:93:136;;13713:5;13719:1;13713:8;;;;;;;;;;;;;;13619:103;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13565:157;;13891:10;:19;;;-1:-1:-1;;;;;13872:38:136;:15;:38;;13843:196;;;;-1:-1:-1;;;13843:196:136;;;;;;;:::i;:::-;14058:30;14090:27;14121:19;-1:-1:-1;;;;;14121:62:136;;14184:5;14190:1;14184:8;;;;;;;;;;;;;;14121:72;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14057:136;;-1:-1:-1;14057:136:136;-1:-1:-1;14216:26:136;;14212:196;;14292:23;;;;14276:40;;:7;;:15;:40::i;:::-;14266:50;-1:-1:-1;14349:40:136;:8;14366:22;14349:16;:40::i;:::-;14338:51;;14212:196;14430:23;;14426:142;;14502:47;:22;14529:19;14502:26;:47::i;:::-;14477:72;;14426:142;-1:-1:-1;;;13542:3:136;;13509:1073;;;-1:-1:-1;14600:26:136;;14596:215;;14656:71;14698:11;14710:1;14698:14;;;;;;;;;;;;;;-1:-1:-1;;;;;14672:52:136;;:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14656:7;;:15;:71::i;:::-;14646:81;-1:-1:-1;14756:40:136;:8;14773:22;14756:16;:40::i;:::-;14745:51;;14596:215;15028:15;15010:7;:14;:33;15006:242;;;15125:48;15158:11;15170:1;15158:14;;;;;;;;;;;;;;15125;:32;;:48;;;;:::i;:::-;;15218:11;15230:1;15218:14;;;;;;;;;;;;;;-1:-1:-1;;;;;15197:36:136;;;;;;;;;;;15006:242;-1:-1:-1;;13081:3:136;;;;;-1:-1:-1;13045:2213:136;;-1:-1:-1;;13045:2213:136;;;15267:26;;12764:2536;;:::o;10496:1052::-;10700:14;;10605:29;;;;10700:14;-1:-1:-1;;;;;10740:27:136;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10740:27:136;;10725:42;;10802:12;-1:-1:-1;;;;;10788:27:136;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10788:27:136;;10777:38;;10831:9;10826:674;10846:12;10842:1;:16;10826:674;;;10879:80;;:::i;:::-;10962:44;-1:-1:-1;;;;;10962:54:136;;11038:7;11046:1;11038:10;;;;;;;;;;;;;;10962:104;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10879:187;;11081:91;;:::i;:::-;11175:44;-1:-1:-1;;;;;11175:80:136;;11256:7;11264:1;11256:10;;;;;;;;;;;;;;11175:92;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11081:186;;11282:20;11305:55;11333:14;:26;;;-1:-1:-1;;;;;11305:55:136;11313:8;:14;;;-1:-1:-1;;;;;11305:23:136;:27;;:55;;;;:::i;:::-;11282:78;;11419:8;:16;;;-1:-1:-1;;;;;11393:54:136;;:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11375:12;11388:1;11375:15;;;;;;;;;;;;;:74;-1:-1:-1;;;;;11375:74:136;;;-1:-1:-1;;;;;11375:74:136;;;;;11477:12;11463:8;11472:1;11463:11;;;;;;;;;;;;;;;;;:26;-1:-1:-1;;;10860:3:136;;10826:674;;;;11510:31;10496:1052;;;:::o;1668:374:354:-;1776:27;1846:5;:12;1861:1;1846:16;-1:-1:-1;;;;;1832:31:354;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1832:31:354;;1819:44;;1878:9;1873:88;1893:5;:12;1889:1;:16;1873:88;;;1942:5;1948:1;1942:8;;;;;;;;;;;;;;1926:10;1937:1;1926:13;;;;;;;;-1:-1:-1;;;;;1926:24:354;;;:13;;;;;;;;;;;:24;1907:3;;1873:88;;;;1997:10;1970;1981:5;:12;1970:24;;;;;;;;;;;;;:37;-1:-1:-1;;;;;1970:37:354;;;-1:-1:-1;;;;;1970:37:354;;;;;1668:374;;;;;:::o;::363:-;1776:27;1846:5;:12;1861:1;1846:16;-1:-1:-1;;;;;1832:31:363;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1832:31:363;;1819:44;;1878:9;1873:88;1893:5;:12;1889:1;:16;1873:88;;;1942:5;1948:1;1942:8;;;;;;;;;;;;;;1926:10;1937:1;1926:13;;;;;;;;;;;;;;;;;:24;1907:3;;1873:88;;;;1997:10;1970;1981:5;:12;1970:24;;;;;;;;;;;;;:37;;;;;1668:374;;;;:::o;11663:864:136:-;11870:14;;11775:28;;;;11847:20;11895:584;11915:12;11911:1;:16;11895:584;;;11948:16;11967:44;-1:-1:-1;;;;;11967:71:136;;12039:7;12047:1;12039:10;;;;;;;;;;;;;;11967:83;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:109;;;;-1:-1:-1;12162:30:136;:11;11967:109;12162:20;:30::i;:::-;12158:77;;;12212:8;;;12158:77;12266:40;;-1:-1:-1;;;12266:40:136;;12248:15;;-1:-1:-1;;;;;12266:25:136;;;;;:40;;12300:4;;12266:40;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12248:58;-1:-1:-1;12324:11:136;;12320:149;;12369:29;:11;12389:8;12369:19;:29::i;:::-;12355:43;-1:-1:-1;12428:26:136;:9;12446:7;12428:17;:26::i;:::-;12416:38;;12320:149;11895:584;;;11929:3;;11895:584;;749:1574:355;888:34;924:35;979:10;:17;1000:1;979:22;975:99;;;1017:46;;975:99;1115:1;;1126:361;1150:10;:17;1146:1;:21;1126:361;;;1188:13;1220:9;1215:179;1235:1;1231;:5;1215:179;;;1282:10;1293:1;1282:13;;;;;;;;;;;;;;-1:-1:-1;;;;;1265:30:355;:10;1276:1;1265:13;;;;;;;;;;;;;;-1:-1:-1;;;;;1265:30:355;;1261:119;;;1330:4;1319:15;;1356:5;;1261:119;1238:3;;1215:179;;;;1412:8;1407:70;;1440:22;;;;;1407:70;-1:-1:-1;1169:3:355;;1126:361;;;;1531:20;-1:-1:-1;;;;;1517:35:355;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1517:35:355;;1497:55;;1597:20;-1:-1:-1;;;;;1583:35:355;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1583:35:355;;1562:56;;1628:28;1671:9;1666:594;1686:10;:17;1682:1;:21;1666:594;;;1724:13;1756:9;1751:268;1771:20;1767:1;:24;1751:268;;;1837:17;1855:1;1837:20;;;;;;;;;;;;;;-1:-1:-1;;;;;1820:37:355;:10;1831:1;1820:13;;;;;;;;;;;;;;-1:-1:-1;;;;;1820:37:355;;1816:189;;;1892:4;1881:15;;1944:11;1956:1;1944:14;;;;;;;;;;;;;;1919:18;1938:1;1919:21;;;;;;;;;;;;;:39;;;;;;;;;;;1981:5;;1816:189;1793:3;;1751:268;;;;2037:8;2032:218;;2107:10;2118:1;2107:13;;;;;;;;;;;;;;2065:17;2083:20;2065:39;;;;;;;;;;;;;:55;-1:-1:-1;;;;;2065:55:355;;;-1:-1:-1;;;;;2065:55:355;;;;;2181:11;2193:1;2181:14;;;;;;;;;;;;;;2138:18;2157:20;2138:40;;;;;;;;;;;;;;;;;:57;2213:22;;;;;2032:218;-1:-1:-1;1705:3:355;;1666:594;;;;2270:46;;749:1574;;;;;;:::o;3040:1258:136:-;3127:15;3156:16;3186:11;3211;3236:16;3266:14;3294:17;3325:59;3398:22;3434:74;;:::i;:::-;3521:42;3551:11;3521:29;:42::i;:::-;3113:450;;;;;;;;;;;;;;;;;;;;3574:184;3662:44;3721:13;:27;;;-1:-1:-1;;;;;3574:184:136;3606:7;-1:-1:-1;;;;;3580:45:136;;:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;3574:66:136;;:184;:66;:184::i;:::-;3786:280;;-1:-1:-1;;;3786:280:136;;3769:14;;-1:-1:-1;;;;;3786:44:136;:50;;;;:280;;3850:7;;3871:8;;3893:3;;3910;;3927:9;;3950:7;;3971:12;;3997:9;;4020;;4043:13;;3786:280;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3769:297;-1:-1:-1;4082:44:136;:14;4118:7;4082:35;:44::i;:::-;4077:150;;4142:14;:28;;;;;;;;;;;;;;-1:-1:-1;;;;;;4142:28:136;-1:-1:-1;;;;;4142:28:136;;;;;;;;4189:27;;4142:28;;4189:27;;;4077:150;4237:6;:20;;;;;;;-1:-1:-1;4237:20:136;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4272:19;;4237:20;;4272:19;;;3040:1258;;;;;;;;;;;;:::o;4359:574::-;4406:25;4434:11;:9;:11::i;:::-;4603:16;;4406:39;;-1:-1:-1;4533:37:136;;4580:20;4629:230;4649:12;4645:1;:16;4629:230;;;4705:143;4757:44;-1:-1:-1;;;;;4757:54:136;;4812:9;4822:1;4812:12;;;;;;;;;;;;;;4757:68;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:77;;;4705:20;;:34;:143::i;:::-;4682:166;-1:-1:-1;4663:3:136;;4629:230;;;;4869:57;4893:10;4905:20;4869:23;:57::i;:::-;;4359:574;;;:::o;4984:689::-;5053:15;5070:14;5088:37;5113:11;5088:24;:37::i;:::-;5052:73;;;;5135:42;5242:7;-1:-1:-1;;;;;5216:50:136;;:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5135:143;;5289:51;;:::i;:::-;5343:63;;-1:-1:-1;;;5343:63:136;;-1:-1:-1;;;;;5343:33:136;;;;;:63;;5390:6;;5343:63;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5445:23;;;;5289:117;;-1:-1:-1;5480:74:136;-1:-1:-1;;;;;5480:25:136;;5514:19;-1:-1:-1;;5480:25:136;:74::i;:::-;5564:34;;-1:-1:-1;;;5564:34:136;;-1:-1:-1;;;;;5564:26:136;;;;;:34;;5591:6;;5564:34;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5608:58:136;;-1:-1:-1;;;;;;;;5608:25:136;;5642:19;5664:1;5608:25;:58::i;:::-;4984:689;;;;;;:::o;5716:1644::-;5789:14;5806:42;5836:11;5806:29;:42::i;:::-;5789:59;;5909:73;;:::i;:::-;5985:63;;-1:-1:-1;;;5985:63:136;;-1:-1:-1;;;;;5985:44:136;:54;;;;:63;;6040:7;;5985:63;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5909:139;;6059:19;6087:5;:14;;;6059:43;;6112:21;6168:5;:13;;;-1:-1:-1;;;;;6142:51:136;;:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6207:60;;-1:-1:-1;;;6207:60:136;;6112:84;;-1:-1:-1;;;;;;6207:44:136;:51;;;;:60;;6259:7;;6207:60;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6301:6:136;:13;;-1:-1:-1;6278:20:136;;-1:-1:-1;6377:977:136;6397:12;6393:1;:16;6377:977;;;6447:7;6434:20;;:6;6441:1;6434:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:20;;;6430:914;;;6578:38;;-1:-1:-1;;;6578:38:136;;6552:23;;-1:-1:-1;;;;;6578:23:136;;;;;:38;;6610:4;;6578:38;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6552:64;-1:-1:-1;6638:19:136;;6634:121;;6681:55;-1:-1:-1;;;;;6681:26:136;;6708:10;6720:15;6681:26;:55::i;:::-;6880:40;;-1:-1:-1;;;6880:40:136;;6852:25;;-1:-1:-1;;;;;6880:25:136;;;;;:40;;6914:4;;6880:40;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6852:68;-1:-1:-1;6942:21:136;;6938:127;;6987:59;-1:-1:-1;;;;;6987:28:136;;7016:10;7028:17;6987:28;:59::i;:::-;7151:1;7136:12;:16;7132:1;:20;7128:103;;;7188:6;7210:1;7195:12;:16;7188:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7176:6;7183:1;7176:9;;;;;;;;;;;;;;;;;;;;;;;;;;:36;;;;;;;;;;;;;;;;;;7128:103;7248:6;:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7297:7;7284:21;;;;;;;;;;;;7324:5;;;;6430:914;6411:3;;6377:977;;;;5716:1644;;;;;;:::o;7453:650::-;7524:15;7541:14;7559:39;7586:11;7559:26;:39::i;:::-;7523:75;;-1:-1:-1;7523:75:136;-1:-1:-1;7523:75:136;7697:51;;:::i;:::-;7751:59;;-1:-1:-1;;;7751:59:136;;-1:-1:-1;;;;;7751:29:136;;;;;:59;;7794:6;;7751:59;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7697:113;;7843:15;-1:-1:-1;;;;;7843:31:136;;:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;7820:66:136;;7887:6;7820:74;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;7931:16:136;;;7945:1;7931:16;;;7905:23;7931:16;;;;;7905:23;7931:16;;;;;;;;;;-1:-1:-1;7931:16:136;7905:42;;7969:15;-1:-1:-1;;;;;7969:26:136;;:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7957:6;7964:1;7957:9;;;;;;;;;;;;;:40;-1:-1:-1;;;;;7957:40:136;;;-1:-1:-1;;;;;7957:40:136;;;;;8019:10;:23;;;8007:6;8014:1;8007:9;;;;;;;;;;;;;:35;-1:-1:-1;;;;;8007:35:136;;;-1:-1:-1;;;;;8007:35:136;;;;;8053:43;8077:10;8089:6;8053:23;:43::i;2690:175:442:-;2748:7;2779:5;;;2802:6;;;;2794:46;;;;-1:-1:-1;;;2794:46:442;;;;;;;:::i;:::-;2857:1;2690:175;-1:-1:-1;;;2690:175:442:o;569:515:354:-;727:12;;678:13;;;749:303;769:9;765:1;:13;749:303;;;815:13;-1:-1:-1;;;;;803:25:354;:5;809:1;803:8;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;803:8:354;:25;799:243;;;868:1;856:9;:13;852:1;:17;848:95;;;904:5;922:1;910:9;:13;904:20;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;904:20:354;893:5;899:1;893:8;;;;;;;;;;;;;;;;:31;;;;;-1:-1:-1;;;;;893:31:354;;;;;-1:-1:-1;;;;;893:31:354;;;;;;848:95;960:5;:11;;;;;;;;;;;;;;;;-1:-1:-1;;960:11:354;;;;;-1:-1:-1;;;;;;960:11:354;;;;;;;;-1:-1:-1;1022:5:354;;799:243;780:3;;749:303;;;;1062:15;569:515;;;;:::o;4217:150:442:-;4275:7;4306:1;4302;:5;4294:44;;;;-1:-1:-1;;;4294:44:442;;;;;;;:::i;:::-;4359:1;4355;:5;;;;;;;4217:150;-1:-1:-1;;;4217:150:442:o;2489:299:354:-;2595:17;2633:9;2628:132;2648:5;:12;2644:1;:16;2628:132;;;2696:5;2702:1;2696:8;;;;;;;;;;;;;;-1:-1:-1;;;;;2685:19:354;:7;-1:-1:-1;;;;;2685:19:354;;2681:69;;;2731:4;2724:11;;;;;2681:69;2662:3;;2628:132;;;-1:-1:-1;2776:5:354;;2489:299;-1:-1:-1;;;2489:299:354:o;744:1038:135:-;869:16;899:17;930:12;956;982:17;1013:15;1042:18;1074:60;1148:22;1184:75;;:::i;:::-;1333:11;1305:460;;;;;;;;;;;;:::i;:::-;1284:491;;;;;;;;;;;;;;;;;;;;744:1038;;;;;;;;;;;:::o;1348:613:450:-;1713:10;;;1712:62;;-1:-1:-1;1729:39:450;;-1:-1:-1;;;1729:39:450;;-1:-1:-1;;;;;1729:15:450;;;;;:39;;1753:4;;1760:7;;1729:39;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:44;1712:62;1704:150;;;;-1:-1:-1;;;1704:150:450;;;;;;;:::i;:::-;1864:90;1884:5;1914:22;;;1938:7;1947:5;1891:62;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;1891:62:450;;;;;;;;;;;;;;-1:-1:-1;;;;;1891:62:450;-1:-1:-1;;;;;;1891:62:450;;;;;;;;;;1864:19;:90::i;1167:351:354:-;1339:12;;1286:17;;;1361:129;1381:9;1377:1;:13;1361:129;;;1426:5;1432:1;1426:8;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1415:19:354;;;1426:8;;1415:19;1411:69;;;1461:4;1454:11;;;;;;1411:69;1392:3;;1361:129;;;-1:-1:-1;1506:5:354;;1167:351;-1:-1:-1;;;;1167:351:354:o;2136:277::-;2250:27;2297;2306:5;2313:10;2297:8;:27::i;:::-;2293:70;;;-1:-1:-1;2347:5:354;2340:12;;2293:70;2380:26;2388:5;2395:10;2380:7;:26::i;3539:585:355:-;3649:36;3737:7;:14;-1:-1:-1;;;;;3723:29:355;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3723:29:355;;3701:51;;3767:9;3762:319;3782:7;:14;3778:1;:18;3762:319;;;3817:19;3845:7;3853:1;3845:10;;;;;;;;;;;;;;3817:39;;3895:13;-1:-1:-1;;;;;3895:23:355;;3927:4;3895:38;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3870:19;3890:1;3870:22;;;;;;;;;;;;;:63;;;;;3976:1;3951:19;3971:1;3951:22;;;;;;;;;;;;;;:26;3947:124;;;3997:59;4024:7;4033:19;4053:1;4033:22;;;;;;;;;;;;;;3997:13;-1:-1:-1;;;;;3997:26:355;;;:59;;;;;:::i;:::-;-1:-1:-1;3798:3:355;;3762:319;;;;3539:585;;;;:::o;1853:215:135:-;1960:16;1978:15;2028:11;2017:43;;;;;;;;;;;;:::i;:::-;2009:52;;;;1853:215;;;:::o;2144:192::-;2256:15;2306:11;2295:33;;;;;;;;;;;;:::i;:::-;2287:42;;2144:192;;;;:::o;704:175:450:-;786:86;806:5;836:23;;;861:2;865:5;813:58;;;;;;;;;:::i;2967:751::-;3386:23;3412:69;3440:4;3412:69;;;;;;;;;;;;;;;;;3420:5;-1:-1:-1;;;;;3412:27:450;;;:69;;;;;:::i;:::-;3495:17;;3386:95;;-1:-1:-1;3495:21:450;3491:221;;3635:10;3624:30;;;;;;;;;;;;:::i;:::-;3616:85;;;;-1:-1:-1;;;3616:85:450;;;;;;;:::i;3581:193:451:-;3684:12;3715:52;3737:6;3745:4;3751:1;3754:12;3715:21;:52::i;:::-;3708:59;3581:193;-1:-1:-1;;;;3581:193:451:o;4608:523::-;4735:12;4792:5;4767:21;:30;;4759:81;;;;-1:-1:-1;;;4759:81:451;;;;;;;:::i;:::-;4858:18;4869:6;4858:10;:18::i;:::-;4850:60;;;;-1:-1:-1;;;4850:60:451;;;;;;;:::i;:::-;4981:12;4995:23;5022:6;-1:-1:-1;;;;;5022:11:451;5042:5;5050:4;5022:33;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4980:75;;;;5072:52;5090:7;5099:10;5111:12;5072:17;:52::i;:::-;5065:59;4608:523;-1:-1:-1;;;;;;;4608:523:451:o;726:413::-;1086:20;1124:8;;;726:413::o;7091:725::-;7206:12;7234:7;7230:580;;;-1:-1:-1;7264:10:451;7257:17;;7230:580;7375:17;;:21;7371:429;;7633:10;7627:17;7693:15;7680:10;7676:2;7672:19;7665:44;7582:145;7772:12;7765:20;;-1:-1:-1;;;7765:20:451;;;;;;;;:::i;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5:134::-;83:13;;101:33;83:13;101:33;:::i;321:722::-;;449:3;442:4;434:6;430:17;426:27;416:2;;467:1;464;457:12;416:2;497:6;491:13;519:80;534:64;591:6;534:64;:::i;:::-;519:80;:::i;:::-;510:89;;616:5;641:6;634:5;627:21;671:4;663:6;659:17;649:27;;693:4;688:3;684:14;677:21;;746:6;793:3;785:4;777:6;773:17;768:3;764:27;761:36;758:2;;;810:1;807;800:12;758:2;835:1;820:217;845:6;842:1;839:13;820:217;;;903:3;925:48;969:3;957:10;925:48;:::i;:::-;913:61;;-1:-1;997:4;988:14;;;;1016;;;;;867:1;860:9;820:217;;;824:14;409:634;;;;;;;:::o;1051:128::-;1126:13;;1144:30;1126:13;1144:30;:::i;1187:440::-;;1288:3;1281:4;1273:6;1269:17;1265:27;1255:2;;1306:1;1303;1296:12;1255:2;1343:6;1330:20;1365:64;1380:48;1421:6;1380:48;:::i;1365:64::-;1356:73;;1449:6;1442:5;1435:21;1485:4;1477:6;1473:17;1518:4;1511:5;1507:16;1553:3;1544:6;1539:3;1535:16;1532:25;1529:2;;;1570:1;1567;1560:12;1529:2;1580:41;1614:6;1609:3;1604;1580:41;:::i;:::-;1248:379;;;;;;;:::o;1636:442::-;;1748:3;1741:4;1733:6;1729:17;1725:27;1715:2;;1766:1;1763;1756:12;1715:2;1796:6;1790:13;1818:64;1833:48;1874:6;1833:48;:::i;1818:64::-;1809:73;;1902:6;1895:5;1888:21;1938:4;1930:6;1926:17;1971:4;1964:5;1960:16;2006:3;1997:6;1992:3;1988:16;1985:25;1982:2;;;2023:1;2020;2013:12;1982:2;2033:39;2065:6;2060:3;2055;2033:39;:::i;2086:174::-;2184:13;;2202:53;2184:13;2202:53;:::i;2505:1008::-;;2637:4;2625:9;2620:3;2616:19;2612:30;2609:2;;;2655:1;2652;2645:12;2609:2;2673:20;2688:4;2673:20;:::i;:::-;2664:29;-1:-1;2750:1;2782:60;2838:3;2818:9;2782:60;:::i;:::-;2757:86;;-1:-1;2912:2;2945:60;3001:3;2977:22;;;2945:60;:::i;:::-;2938:4;2931:5;2927:16;2920:86;2864:153;3076:2;3109:60;3165:3;3156:6;3145:9;3141:22;3109:60;:::i;:::-;3102:4;3095:5;3091:16;3084:86;3027:154;3240:2;3273:59;3328:3;3319:6;3308:9;3304:22;3273:59;:::i;:::-;3266:4;3259:5;3255:16;3248:85;3191:153;3398:3;3432:59;3487:3;3478:6;3467:9;3463:22;3432:59;:::i;:::-;3425:4;3418:5;3414:16;3407:85;3354:149;2603:910;;;;:::o;3582:2280::-;;3709:6;3697:9;3692:3;3688:19;3684:32;3681:2;;;3729:1;3726;3719:12;3681:2;3747:22;3762:6;3747:22;:::i;:::-;3738:31;-1:-1;3825:1;3857:59;3912:3;3892:9;3857:59;:::i;:::-;3832:85;;-1:-1;3983:2;4016:59;4071:3;4047:22;;;4016:59;:::i;:::-;4009:4;4002:5;3998:16;3991:85;3938:149;4140:2;4173:59;4228:3;4219:6;4208:9;4204:22;4173:59;:::i;:::-;4166:4;4159:5;4155:16;4148:85;4097:147;4299:2;4332:75;4403:3;4394:6;4383:9;4379:22;4332:75;:::i;:::-;4325:4;4318:5;4314:16;4307:101;4254:165;4475:3;4509:60;4565:3;4556:6;4545:9;4541:22;4509:60;:::i;:::-;4502:4;4495:5;4491:16;4484:86;4429:152;4632:3;4666:60;4722:3;4713:6;4702:9;4698:22;4666:60;:::i;:::-;4659:4;4652:5;4648:16;4641:86;4591:147;4787:3;4821:60;4877:3;4868:6;4857:9;4853:22;4821:60;:::i;:::-;4814:4;4807:5;4803:16;4796:86;4748:145;4942:3;4976:60;5032:3;5023:6;5012:9;5008:22;4976:60;:::i;:::-;4969:4;4962:5;4958:16;4951:86;4903:145;5101:3;5137:60;5193:3;5184:6;5173:9;5169:22;5137:60;:::i;:::-;5128:6;5121:5;5117:18;5110:88;5058:151;5263:3;5299:60;5355:3;5346:6;5335:9;5331:22;5299:60;:::i;:::-;5290:6;5283:5;5279:18;5272:88;5219:152;5423:3;5459:60;5515:3;5506:6;5495:9;5491:22;5459:60;:::i;:::-;5450:6;5443:5;5439:18;5432:88;5381:150;5589:3;5625:57;5678:3;5669:6;5658:9;5654:22;5625:57;:::i;:::-;5616:6;5609:5;5605:18;5598:85;5541:153;5747:3;5783:57;5836:3;5827:6;5816:9;5812:22;5783:57;:::i;:::-;5774:6;5767:5;5763:18;5756:85;5704:148;3675:2187;;;;:::o;5916:2332::-;;6045:6;6033:9;6028:3;6024:19;6020:32;6017:2;;;6065:1;6062;6055:12;6017:2;6083:22;6098:6;6083:22;:::i;:::-;6074:31;-1:-1;6157:1;6189:60;6245:3;6225:9;6189:60;:::i;:::-;6164:86;;-1:-1;6319:2;6352:60;6408:3;6384:22;;;6352:60;:::i;:::-;6345:4;6338:5;6334:16;6327:86;6271:153;6480:2;6513:60;6569:3;6560:6;6549:9;6545:22;6513:60;:::i;:::-;6506:4;6499:5;6495:16;6488:86;6434:151;6642:2;6675:60;6731:3;6722:6;6711:9;6707:22;6675:60;:::i;:::-;6668:4;6661:5;6657:16;6650:86;6595:152;6805:3;6839:60;6895:3;6886:6;6875:9;6871:22;6839:60;:::i;:::-;6832:4;6825:5;6821:16;6814:86;6757:154;6968:3;7002:60;7058:3;7049:6;7038:9;7034:22;7002:60;:::i;:::-;6995:4;6988:5;6984:16;6977:86;6921:153;7133:3;7167:59;7222:3;7213:6;7202:9;7198:22;7167:59;:::i;:::-;7160:4;7153:5;7149:16;7142:85;7084:154;7292:3;7326:59;7381:3;7372:6;7361:9;7357:22;7326:59;:::i;:::-;7319:4;7312:5;7308:16;7301:85;7248:149;7457:3;7493:80;7569:3;7560:6;7549:9;7545:22;7493:80;:::i;:::-;7484:6;7477:5;7473:18;7466:108;7407:178;7647:3;7683:57;7736:3;7727:6;7716:9;7712:22;7683:57;:::i;:::-;7674:6;7667:5;7663:18;7656:85;7595:157;7815:3;7851:57;7904:3;7895:6;7884:9;7880:22;7851:57;:::i;8255:134::-;8333:13;;8351:33;8333:13;8351:33;:::i;8396:132::-;8473:13;;8491:32;8473:13;8491:32;:::i;8535:134::-;8613:13;;8631:33;8613:13;8631:33;:::i;8676:132::-;8753:13;;8771:32;8753:13;8771:32;:::i;8815:132::-;8892:13;;8910:32;8892:13;8910:32;:::i;8954:263::-;;9069:2;9057:9;9048:7;9044:23;9040:32;9037:2;;;9085:1;9082;9075:12;9037:2;9120:1;9137:64;9193:7;9173:9;9137:64;:::i;9224:1707::-;;;;;;;;;;;9559:3;9547:9;9538:7;9534:23;9530:33;9527:2;;;9576:1;9573;9566:12;9527:2;9611:1;9628:72;9692:7;9672:9;9628:72;:::i;:::-;9618:82;;9590:116;9737:2;9755:72;9819:7;9810:6;9799:9;9795:22;9755:72;:::i;:::-;9745:82;;9716:117;9864:2;9882:64;9938:7;9929:6;9918:9;9914:22;9882:64;:::i;:::-;9872:74;;9843:109;9983:2;10001:64;10057:7;10048:6;10037:9;10033:22;10001:64;:::i;:::-;9991:74;;9962:109;10102:3;10121:63;10176:7;10167:6;10156:9;10152:22;10121:63;:::i;:::-;10111:73;;10081:109;10221:3;10240:63;10295:7;10286:6;10275:9;10271:22;10240:63;:::i;:::-;10230:73;;10200:109;10340:3;10359:61;10412:7;10403:6;10392:9;10388:22;10359:61;:::i;:::-;10349:71;;10319:107;10457:3;10476:79;10547:7;10538:6;10527:9;10523:22;10476:79;:::i;:::-;10466:89;;10436:125;10613:3;10602:9;10598:19;10592:26;-1:-1;;;;;10630:6;10627:30;10624:2;;;10670:1;10667;10660:12;10624:2;10690:73;10755:7;10746:6;10735:9;10731:22;10690:73;:::i;:::-;10680:83;;10571:198;10800:3;10819:96;10907:7;10898:6;10887:9;10883:22;10819:96;:::i;:::-;10809:106;;10779:142;9521:1410;;;;;;;;;;;;;:::o;10938:415::-;;;11078:2;11066:9;11057:7;11053:23;11049:32;11046:2;;;11094:1;11091;11084:12;11046:2;11129:1;11146:72;11210:7;11190:9;11146:72;:::i;:::-;11136:82;;11108:116;11255:2;11273:64;11329:7;11320:6;11309:9;11305:22;11273:64;:::i;:::-;11263:74;;11234:109;11040:313;;;;;:::o;11360:392::-;;11500:2;11488:9;11479:7;11475:23;11471:32;11468:2;;;11516:1;11513;11506:12;11468:2;11551:24;;-1:-1;;;;;11584:30;;11581:2;;;11627:1;11624;11617:12;11581:2;11647:89;11728:7;11719:6;11708:9;11704:22;11647:89;:::i;11759:257::-;;11871:2;11859:9;11850:7;11846:23;11842:32;11839:2;;;11887:1;11884;11877:12;11839:2;11922:1;11939:61;11992:7;11972:9;11939:61;:::i;12023:345::-;;12136:2;12124:9;12115:7;12111:23;12107:32;12104:2;;;12152:1;12149;12142:12;12104:2;12187:31;;-1:-1;;;;;12227:30;;12224:2;;;12270:1;12267;12260:12;12224:2;12290:62;12344:7;12335:6;12324:9;12320:22;12290:62;:::i;12375:328::-;;12522:3;12510:9;12501:7;12497:23;12493:33;12490:2;;;12539:1;12536;12529:12;12490:2;12574:1;12591:96;12679:7;12659:9;12591:96;:::i;12710:318::-;;12852:3;12840:9;12831:7;12827:23;12823:33;12820:2;;;12869:1;12866;12859:12;12820:2;12904:1;12921:91;13004:7;12984:9;12921:91;:::i;13035:322::-;;13179:3;13167:9;13158:7;13154:23;13150:33;13147:2;;;13196:1;13193;13186:12;13147:2;13231:1;13248:93;13333:7;13313:9;13248:93;:::i;13364:261::-;;13478:2;13466:9;13457:7;13453:23;13449:32;13446:2;;;13494:1;13491;13484:12;13446:2;13529:1;13546:63;13601:7;13581:9;13546:63;:::i;13632:263::-;;13747:2;13735:9;13726:7;13722:23;13718:32;13715:2;;;13763:1;13760;13753:12;13715:2;13798:1;13815:64;13871:7;13851:9;13815:64;:::i;13902:496::-;;;14043:2;14031:9;14022:7;14018:23;14014:32;14011:2;;;14059:1;14056;14049:12;14011:2;14094:1;14111:64;14167:7;14147:9;14111:64;:::i;:::-;14101:74;;14073:108;14233:2;14222:9;14218:18;14212:25;-1:-1;;;;;14249:6;14246:30;14243:2;;;14289:1;14286;14279:12;14243:2;14309:73;14374:7;14365:6;14354:9;14350:22;14309:73;:::i;14405:399::-;;;14537:2;14525:9;14516:7;14512:23;14508:32;14505:2;;;14553:1;14550;14543:12;14505:2;14588:1;14605:64;14661:7;14641:9;14605:64;:::i;14812:173::-;;14899:46;14941:3;14933:6;14899:46;:::i;:::-;-1:-1;;14974:4;14965:14;;14892:93::o;14994:169::-;;15079:44;15119:3;15111:6;15079:44;:::i;15172:173::-;;15259:46;15301:3;15293:6;15259:46;:::i;15353:103::-;15426:24;15444:5;15426:24;:::i;:::-;15421:3;15414:37;15408:48;;:::o;15614:690::-;;15759:54;15807:5;15759:54;:::i;:::-;15826:86;15905:6;15900:3;15826:86;:::i;:::-;15819:93;;15933:56;15983:5;15933:56;:::i;:::-;16009:7;16037:1;16022:260;16047:6;16044:1;16041:13;16022:260;;;16114:6;16108:13;16135:63;16194:3;16179:13;16135:63;:::i;:::-;16128:70;;16215:60;16268:6;16215:60;:::i;:::-;16205:70;-1:-1;;16069:1;16062:9;16022:260;;;-1:-1;16295:3;;15738:566;-1:-1;;;;;15738:566::o;16341:682::-;;16484:53;16531:5;16484:53;:::i;:::-;16550:85;16628:6;16623:3;16550:85;:::i;:::-;16543:92;;16656:55;16705:5;16656:55;:::i;:::-;16731:7;16759:1;16744:257;16769:6;16766:1;16763:13;16744:257;;;16836:6;16830:13;16857:61;16914:3;16899:13;16857:61;:::i;:::-;16850:68;;16935:59;16987:6;16935:59;:::i;:::-;16925:69;-1:-1;;16791:1;16784:9;16744:257;;17062:690;;17207:54;17255:5;17207:54;:::i;:::-;17274:86;17353:6;17348:3;17274:86;:::i;:::-;17267:93;;17381:56;17431:5;17381:56;:::i;:::-;17457:7;17485:1;17470:260;17495:6;17492:1;17489:13;17470:260;;;17562:6;17556:13;17583:63;17642:3;17627:13;17583:63;:::i;:::-;17576:70;;17663:60;17716:6;17663:60;:::i;:::-;17653:70;-1:-1;;17517:1;17510:9;17470:260;;17760:104;17837:21;17852:5;17837:21;:::i;17871:343::-;;17981:38;18013:5;17981:38;:::i;:::-;18031:70;18094:6;18089:3;18031:70;:::i;:::-;18024:77;;18106:52;18151:6;18146:3;18139:4;18132:5;18128:16;18106:52;:::i;:::-;18179:29;18201:6;18179:29;:::i;:::-;18170:39;;;;17961:253;-1:-1;;;17961:253::o;18221:356::-;;18349:38;18381:5;18349:38;:::i;:::-;18399:88;18480:6;18475:3;18399:88;:::i;:::-;18392:95;;18492:52;18537:6;18532:3;18525:4;18518:5;18514:16;18492:52;:::i;:::-;18556:16;;;;;18329:248;-1:-1;;18329:248::o;18584:152::-;18680:50;18724:5;18680:50;:::i;19098:327::-;;19258:67;19322:2;19317:3;19258:67;:::i;:::-;19358:29;19338:50;;19416:2;19407:12;;19244:181;-1:-1;;19244:181::o;19434:375::-;;19594:67;19658:2;19653:3;19594:67;:::i;:::-;19694:34;19674:55;;-1:-1;;;19758:2;19749:12;;19742:30;19800:2;19791:12;;19580:229;-1:-1;;19580:229::o;19818:326::-;;19978:67;20042:2;20037:3;19978:67;:::i;:::-;20078:28;20058:49;;20135:2;20126:12;;19964:180;-1:-1;;19964:180::o;20153:375::-;;20313:67;20377:2;20372:3;20313:67;:::i;:::-;20413:34;20393:55;;-1:-1;;;20477:2;20468:12;;20461:30;20519:2;20510:12;;20299:229;-1:-1;;20299:229::o;20537:329::-;;20697:67;20761:2;20756:3;20697:67;:::i;:::-;20797:31;20777:52;;20857:2;20848:12;;20683:183;-1:-1;;20683:183::o;20875:461::-;;21035:67;21099:2;21094:3;21035:67;:::i;:::-;21135:34;21115:55;;21204:34;21199:2;21190:12;;21183:56;21273:25;21268:2;21259:12;;21252:47;21327:2;21318:12;;21021:315;-1:-1;;21021:315::o;21345:379::-;;21505:67;21569:2;21564:3;21505:67;:::i;:::-;21605:34;21585:55;;-1:-1;;;21669:2;21660:12;;21653:34;21715:2;21706:12;;21491:233;-1:-1;;21491:233::o;21733:391::-;;21893:67;21957:2;21952:3;21893:67;:::i;:::-;21993:34;21973:55;;-1:-1;;;22057:2;22048:12;;22041:46;22115:2;22106:12;;21879:245;-1:-1;;21879:245::o;22263:985::-;22493:23;;22420:4;22411:14;;;22522:63;22415:3;22493:23;22522:63;:::i;:::-;22440:151;22672:4;22665:5;22661:16;22655:23;22684:63;22741:4;22736:3;22732:14;22718:12;22684:63;:::i;:::-;22601:152;22835:4;22828:5;22824:16;22818:23;22847:63;22904:4;22899:3;22895:14;22881:12;22847:63;:::i;:::-;22763:153;22998:4;22991:5;22987:16;22981:23;23010:61;23065:4;23060:3;23056:14;23042:12;23010:61;:::i;:::-;22926:151;23154:4;23147:5;23143:16;23137:23;23166:61;23221:4;23216:3;23212:14;23198:12;23166:61;:::i;23255:103::-;23328:24;23346:5;23328:24;:::i;23485:100::-;23556:23;23573:5;23556:23;:::i;23709:103::-;23782:24;23800:5;23782:24;:::i;23939:110::-;24020:23;24037:5;24020:23;:::i;24056:100::-;24127:23;24144:5;24127:23;:::i;24163:271::-;;24316:93;24405:3;24396:6;24316:93;:::i;24441:222::-;24568:2;24553:18;;24582:71;24557:9;24626:6;24582:71;:::i;24670:333::-;24825:2;24810:18;;24839:71;24814:9;24883:6;24839:71;:::i;:::-;24921:72;24989:2;24978:9;24974:18;24965:6;24921:72;:::i;25010:1446::-;25474:3;25459:19;;25489:71;25463:9;25533:6;25489:71;:::i;:::-;25571:72;25639:2;25628:9;25624:18;25615:6;25571:72;:::i;:::-;25654;25722:2;25711:9;25707:18;25698:6;25654:72;:::i;:::-;25737;25805:2;25794:9;25790:18;25781:6;25737:72;:::i;:::-;25820:71;25886:3;25875:9;25871:19;25862:6;25820:71;:::i;:::-;25902;25968:3;25957:9;25953:19;25944:6;25902:71;:::i;:::-;25984:67;26046:3;26035:9;26031:19;26022:6;25984:67;:::i;:::-;26062:86;26143:3;26132:9;26128:19;26119:6;26062:86;:::i;:::-;26197:9;26191:4;26187:20;26181:3;26170:9;26166:19;26159:49;26222:76;26293:4;26284:6;26222:76;:::i;:::-;26214:84;;26309:137;26441:3;26430:9;26426:19;26417:6;26309:137;:::i;:::-;25445:1011;;;;;;;;;;;;;:::o;26463:333::-;26618:2;26603:18;;26632:71;26607:9;26676:6;26632:71;:::i;:::-;26714:72;26782:2;26771:9;26767:18;26758:6;26714:72;:::i;26803:370::-;26980:2;26994:47;;;26965:18;;27055:108;26965:18;27149:6;27055:108;:::i;27180:629::-;27435:2;27449:47;;;27420:18;;27510:108;27420:18;27604:6;27510:108;:::i;:::-;27502:116;;27666:9;27660:4;27656:20;27651:2;27640:9;27636:18;27629:48;27691:108;27794:4;27785:6;27691:108;:::i;27816:366::-;27991:2;28005:47;;;27976:18;;28066:106;27976:18;28158:6;28066:106;:::i;28189:310::-;28336:2;28350:47;;;28321:18;;28411:78;28321:18;28475:6;28411:78;:::i;28506:416::-;28706:2;28720:47;;;28691:18;;28781:131;28691:18;28781:131;:::i;28929:416::-;29129:2;29143:47;;;29114:18;;29204:131;29114:18;29204:131;:::i;29352:416::-;29552:2;29566:47;;;29537:18;;29627:131;29537:18;29627:131;:::i;29775:416::-;29975:2;29989:47;;;29960:18;;30050:131;29960:18;30050:131;:::i;30198:416::-;30398:2;30412:47;;;30383:18;;30473:131;30383:18;30473:131;:::i;30621:416::-;30821:2;30835:47;;;30806:18;;30896:131;30806:18;30896:131;:::i;31044:416::-;31244:2;31258:47;;;31229:18;;31319:131;31229:18;31319:131;:::i;31467:416::-;31667:2;31681:47;;;31652:18;;31742:131;31652:18;31742:131;:::i;31890:218::-;32015:2;32000:18;;32029:69;32004:9;32071:6;32029:69;:::i;32115:222::-;32242:2;32227:18;;32256:71;32231:9;32300:6;32256:71;:::i;32344:256::-;32406:2;32400:9;32432:17;;;-1:-1;;;;;32492:34;;32528:22;;;32489:62;32486:2;;;32564:1;32561;32554:12;32486:2;32580;32573:22;32384:216;;-1:-1;32384:216::o;32607:304::-;;-1:-1;;;;;32758:6;32755:30;32752:2;;;32798:1;32795;32788:12;32752:2;-1:-1;32833:4;32821:17;;;32886:15;;32689:222::o;32918:321::-;;-1:-1;;;;;33053:6;33050:30;33047:2;;;33093:1;33090;33083:12;33047:2;-1:-1;33224:4;33160;33137:17;;;;-1:-1;;33133:33;33214:15;;32984:255::o;33246:151::-;33370:4;33361:14;;33318:79::o;33719:137::-;33822:12;;33793:63::o;34752:178::-;34870:19;;;34919:4;34910:14;;34863:67::o;35807:91::-;;35869:24;35887:5;35869:24;:::i;36011:85::-;36077:13;36070:21;;36053:43::o;36103:136::-;36180:5;36186:48;36180:5;36186:48;:::i;36246:113::-;-1:-1;;;;;36308:46;;36291:68::o;36366:121::-;-1:-1;;;;;36428:54;;36411:76::o;36494:86::-;36566:8;36555:20;;36538:42::o;36587:72::-;36649:5;36632:27::o;36666:88::-;36738:10;36727:22;;36710:44::o;36761:96::-;-1:-1;;;;;36822:30;;36805:52::o;36864:136::-;;36956:39;36989:5;36956:39;:::i;37008:145::-;37089:6;37084:3;37079;37066:30;-1:-1;37145:1;37127:16;;37120:27;37059:94::o;37162:268::-;37227:1;37234:101;37248:6;37245:1;37242:13;37234:101;;;37315:11;;;37309:18;37296:11;;;37289:39;37270:2;37263:10;37234:101;;;37350:6;37347:1;37344:13;37341:2;;;-1:-1;;37415:1;37397:16;;37390:27;37211:219::o;37438:97::-;37526:2;37506:14;-1:-1;;37502:28;;37486:49::o;37543:106::-;37627:1;37620:5;37617:12;37607:2;;37633:9;37656:117;37725:24;37743:5;37725:24;:::i;:::-;37718:5;37715:35;37705:2;;37764:1;37761;37754:12;37920:111;37986:21;38001:5;37986:21;:::i;38038:114::-;38127:1;38120:5;38117:12;38107:2;;38143:1;38140;38133:12;38275:117;38344:24;38362:5;38344:24;:::i;38399:115::-;38467:23;38484:5;38467:23;:::i;38521:117::-;38590:24;38608:5;38590:24;:::i;38645:115::-;38713:23;38730:5;38713:23;:::i;38767:115::-;38835:23;38852:5;38835:23;:::i", - "linkReferences": {}, - "immutableReferences": { - "35306": [ - { - "start": 2134, - "length": 32 - }, - { - "start": 2320, - "length": 32 - }, - { - "start": 3142, - "length": 32 - }, - { - "start": 4148, - "length": 32 - }, - { - "start": 4348, - "length": 32 - }, - { - "start": 4811, - "length": 32 - }, - { - "start": 5488, - "length": 32 - }, - { - "start": 5780, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "getDebtAssets()": "ecd658b4", - "getIssuedVouchers()": "0f081d50", - "getManagedAssets()": "80daddb8", - "getOffers()": "3ee992ee", - "init(bytes)": "4ddf47d4", - "receiveCallFromVault(bytes)": "e5c23a97" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_initialConvertibleOfferingMarket\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voucher\",\"type\":\"address\"}],\"name\":\"IssuedVoucherAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voucher\",\"type\":\"address\"}],\"name\":\"IssuedVoucherRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint24\",\"name\":\"offerId\",\"type\":\"uint24\"}],\"name\":\"OfferAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint24\",\"name\":\"offerId\",\"type\":\"uint24\"}],\"name\":\"OfferRemoved\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"getDebtAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"assets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getIssuedVouchers\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"vouchers_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getManagedAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"assets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOffers\",\"outputs\":[{\"internalType\":\"uint24[]\",\"name\":\"offers_\",\"type\":\"uint24[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"}],\"name\":\"receiveCallFromVault\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"getDebtAssets()\":{\"returns\":{\"amounts_\":\"Debt asset amounts\",\"assets_\":\"Debt assets\"}},\"getIssuedVouchers()\":{\"returns\":{\"vouchers_\":\"The array of issued voucher addresses\"}},\"getManagedAssets()\":{\"details\":\"There are 3 types of assets that contribute value to this position: 1. Underlying balance outstanding in IVO offers (collateral not yet used for minting) 2. Unreconciled assets received for an IVO sale 3. Outstanding assets that are withdrawable from issued vouchers (post-maturity)\",\"returns\":{\"amounts_\":\"Managed asset amounts\",\"assets_\":\"Managed assets\"}},\"getOffers()\":{\"returns\":{\"offers_\":\"The array of created offer ids\"}},\"init(bytes)\":{\"details\":\"Nothing to initialize for this contract\"},\"receiveCallFromVault(bytes)\":{\"params\":{\"_actionData\":\"Encoded data to execute the action\"}}},\"title\":\"SolvV2ConvertibleIssuerPositionLib Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getDebtAssets()\":{\"notice\":\"Retrieves the debt assets (negative value) of the external position\"},\"getIssuedVouchers()\":{\"notice\":\"Gets the issued vouchers\"},\"getManagedAssets()\":{\"notice\":\"Retrieves the managed assets (positive value) of the external position\"},\"getOffers()\":{\"notice\":\"Gets the created offers\"},\"init(bytes)\":{\"notice\":\"Initializes the external position\"},\"receiveCallFromVault(bytes)\":{\"notice\":\"Receives and executes a call from the Vault\"}},\"notice\":\"Library contract for Solv V2 Convertible Issuer Positions\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/solv-v2-convertible-issuer/SolvV2ConvertibleIssuerPositionLib.sol\":\"SolvV2ConvertibleIssuerPositionLib\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/persistent/external-positions/solv-v2-convertible-issuer/SolvV2ConvertibleIssuerPositionLibBase1.sol\":{\"keccak256\":\"0x35fe67bf530be402aa73b3d23747e07d00ba5d36d30a9ca7e3d9f910f95b5528\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d75931a5213dd4a7a1d24f85b3568c6c1188985215964606a7757f1961ac99bb\",\"dweb:/ipfs/QmWd2ESTAF7HuHmCqYScD1yDG66f8kkRCGy11Bm44wadDH\"]},\"contracts/release/extensions/external-position-manager/external-positions/solv-v2-convertible-issuer/ISolvV2ConvertibleIssuerPosition.sol\":{\"keccak256\":\"0x728f83194c387f423d6d150da01cc276299e4553d58e60a8417b704204f9284b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://77a1628aad46e788f606150955940aecf91d002adb80a62255366e3f35d40843\",\"dweb:/ipfs/QmUtxTYmmtZ93euxWW87aSBsQEFPLSJ55X9BR6WgRuUr6h\"]},\"contracts/release/extensions/external-position-manager/external-positions/solv-v2-convertible-issuer/SolvV2ConvertibleIssuerPositionDataDecoder.sol\":{\"keccak256\":\"0xa08ecd4d412419fb3fc0057ffe373508d95e0e83bbcccf0cb5e51cf623ebaeac\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c0bf53474024ecad55dd4a4ba17eec58c96b4543c9b6a1f6a33235b1e4199e4d\",\"dweb:/ipfs/QmQXd6ety32NitagfkKCTkqCcUee5vj9jrV4cJjot5iY1v\"]},\"contracts/release/extensions/external-position-manager/external-positions/solv-v2-convertible-issuer/SolvV2ConvertibleIssuerPositionLib.sol\":{\"keccak256\":\"0x3d0cda1b3b08e497ee150e93de248bbb58daa61e83ed92e5480f1e7568684c84\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://7669f6a053dac613e472da60943b65e3981a98b613c0e4e05d0f5923d0509af2\",\"dweb:/ipfs/QmXQtKpc28FMWVFwmVV3RFEbCiXxM8XKvpqqxjqSgDuueq\"]},\"contracts/release/interfaces/ISolvV2ConvertiblePool.sol\":{\"keccak256\":\"0x1943f59f09537f176ae398ae51184c9c69e8c366e74f2e7d2f02326c35e6fde7\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://cc239c228406fa50ec4f40a44af9438efdeb63338846a65d5864c61a643e037b\",\"dweb:/ipfs/QmZhYZoKUAPtksVygGhetvP6Yvu4UAsCpiHAqbPWLtpVJC\"]},\"contracts/release/interfaces/ISolvV2ConvertibleVoucher.sol\":{\"keccak256\":\"0xebec2ad1a5024a1958a558378dfde09cebe998609caa718f13b0088a0347a630\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://fa18447e3accb03306a9904d2d2247c8cadca34a9bc87ca585e6b0646f0814d7\",\"dweb:/ipfs/QmNyrXdUZqbYyDyEu6RyQXttD4mpETd6fFS1UiL2PVDnXf\"]},\"contracts/release/interfaces/ISolvV2InitialConvertibleOfferingMarket.sol\":{\"keccak256\":\"0xe34205d54ec639e2e3f8e0e2871984a6796424d903259857f1f11de260cf8abe\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://908f8d334df9ae2191787a8e53c78b1847bd936f2ce9d04115f5e9339c3e3934\",\"dweb:/ipfs/QmZzxE748Hb2Vosu7cwPmkb4EVpoqvS4RgHogLrvDgsnD3\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"contracts/release/utils/Uint256ArrayLib.sol\":{\"keccak256\":\"0x1627d0d32692b86c5dd3e74ebb8305fbf99a3c41d4b90e736077762cc80c1a31\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://54ff92ccd4bd685dda44c2520e3f52478168e909b400c3cc4076d37f5c2704ef\",\"dweb:/ipfs/QmYUxeaKfPwnUtP35i6JJ3ptsaDFEV6SD2o4VV8d5vBUZD\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_initialConvertibleOfferingMarket", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "voucher", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "IssuedVoucherAdded", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "voucher", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "IssuedVoucherRemoved", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "uint24", - "name": "offerId", - "type": "uint24", - "indexed": true - } - ], - "type": "event", - "name": "OfferAdded", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "uint24", - "name": "offerId", - "type": "uint24", - "indexed": true - } - ], - "type": "event", - "name": "OfferRemoved", - "anonymous": false - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "getDebtAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "assets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "amounts_", - "type": "uint256[]" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getIssuedVouchers", - "outputs": [ - { - "internalType": "address[]", - "name": "vouchers_", - "type": "address[]" - } - ] - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "getManagedAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "assets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "amounts_", - "type": "uint256[]" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getOffers", - "outputs": [ - { - "internalType": "uint24[]", - "name": "offers_", - "type": "uint24[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "init" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "receiveCallFromVault" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "getDebtAssets()": { - "returns": { - "amounts_": "Debt asset amounts", - "assets_": "Debt assets" - } - }, - "getIssuedVouchers()": { - "returns": { - "vouchers_": "The array of issued voucher addresses" - } - }, - "getManagedAssets()": { - "details": "There are 3 types of assets that contribute value to this position: 1. Underlying balance outstanding in IVO offers (collateral not yet used for minting) 2. Unreconciled assets received for an IVO sale 3. Outstanding assets that are withdrawable from issued vouchers (post-maturity)", - "returns": { - "amounts_": "Managed asset amounts", - "assets_": "Managed assets" - } - }, - "getOffers()": { - "returns": { - "offers_": "The array of created offer ids" - } - }, - "init(bytes)": { - "details": "Nothing to initialize for this contract" - }, - "receiveCallFromVault(bytes)": { - "params": { - "_actionData": "Encoded data to execute the action" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "getDebtAssets()": { - "notice": "Retrieves the debt assets (negative value) of the external position" - }, - "getIssuedVouchers()": { - "notice": "Gets the issued vouchers" - }, - "getManagedAssets()": { - "notice": "Retrieves the managed assets (positive value) of the external position" - }, - "getOffers()": { - "notice": "Gets the created offers" - }, - "init(bytes)": { - "notice": "Initializes the external position" - }, - "receiveCallFromVault(bytes)": { - "notice": "Receives and executes a call from the Vault" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/external-position-manager/external-positions/solv-v2-convertible-issuer/SolvV2ConvertibleIssuerPositionLib.sol": "SolvV2ConvertibleIssuerPositionLib" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/external-positions/IExternalPosition.sol": { - "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", - "urls": [ - "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", - "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/external-positions/solv-v2-convertible-issuer/SolvV2ConvertibleIssuerPositionLibBase1.sol": { - "keccak256": "0x35fe67bf530be402aa73b3d23747e07d00ba5d36d30a9ca7e3d9f910f95b5528", - "urls": [ - "bzz-raw://d75931a5213dd4a7a1d24f85b3568c6c1188985215964606a7757f1961ac99bb", - "dweb:/ipfs/QmWd2ESTAF7HuHmCqYScD1yDG66f8kkRCGy11Bm44wadDH" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/solv-v2-convertible-issuer/ISolvV2ConvertibleIssuerPosition.sol": { - "keccak256": "0x728f83194c387f423d6d150da01cc276299e4553d58e60a8417b704204f9284b", - "urls": [ - "bzz-raw://77a1628aad46e788f606150955940aecf91d002adb80a62255366e3f35d40843", - "dweb:/ipfs/QmUtxTYmmtZ93euxWW87aSBsQEFPLSJ55X9BR6WgRuUr6h" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/solv-v2-convertible-issuer/SolvV2ConvertibleIssuerPositionDataDecoder.sol": { - "keccak256": "0xa08ecd4d412419fb3fc0057ffe373508d95e0e83bbcccf0cb5e51cf623ebaeac", - "urls": [ - "bzz-raw://c0bf53474024ecad55dd4a4ba17eec58c96b4543c9b6a1f6a33235b1e4199e4d", - "dweb:/ipfs/QmQXd6ety32NitagfkKCTkqCcUee5vj9jrV4cJjot5iY1v" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/solv-v2-convertible-issuer/SolvV2ConvertibleIssuerPositionLib.sol": { - "keccak256": "0x3d0cda1b3b08e497ee150e93de248bbb58daa61e83ed92e5480f1e7568684c84", - "urls": [ - "bzz-raw://7669f6a053dac613e472da60943b65e3981a98b613c0e4e05d0f5923d0509af2", - "dweb:/ipfs/QmXQtKpc28FMWVFwmVV3RFEbCiXxM8XKvpqqxjqSgDuueq" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/ISolvV2ConvertiblePool.sol": { - "keccak256": "0x1943f59f09537f176ae398ae51184c9c69e8c366e74f2e7d2f02326c35e6fde7", - "urls": [ - "bzz-raw://cc239c228406fa50ec4f40a44af9438efdeb63338846a65d5864c61a643e037b", - "dweb:/ipfs/QmZhYZoKUAPtksVygGhetvP6Yvu4UAsCpiHAqbPWLtpVJC" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/ISolvV2ConvertibleVoucher.sol": { - "keccak256": "0xebec2ad1a5024a1958a558378dfde09cebe998609caa718f13b0088a0347a630", - "urls": [ - "bzz-raw://fa18447e3accb03306a9904d2d2247c8cadca34a9bc87ca585e6b0646f0814d7", - "dweb:/ipfs/QmNyrXdUZqbYyDyEu6RyQXttD4mpETd6fFS1UiL2PVDnXf" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/ISolvV2InitialConvertibleOfferingMarket.sol": { - "keccak256": "0xe34205d54ec639e2e3f8e0e2871984a6796424d903259857f1f11de260cf8abe", - "urls": [ - "bzz-raw://908f8d334df9ae2191787a8e53c78b1847bd936f2ce9d04115f5e9339c3e3934", - "dweb:/ipfs/QmZzxE748Hb2Vosu7cwPmkb4EVpoqvS4RgHogLrvDgsnD3" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AddressArrayLib.sol": { - "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", - "urls": [ - "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", - "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AssetHelpers.sol": { - "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", - "urls": [ - "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", - "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/Uint256ArrayLib.sol": { - "keccak256": "0x1627d0d32692b86c5dd3e74ebb8305fbf99a3c41d4b90e736077762cc80c1a31", - "urls": [ - "bzz-raw://54ff92ccd4bd685dda44c2520e3f52478168e909b400c3cc4076d37f5c2704ef", - "dweb:/ipfs/QmYUxeaKfPwnUtP35i6JJ3ptsaDFEV6SD2o4VV8d5vBUZD" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { - "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", - "urls": [ - "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", - "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Address.sol": { - "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", - "urls": [ - "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", - "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 136 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_initialConvertibleOfferingMarket", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "getDebtAssets", "inputs": [], "outputs": [ { "name": "assets_", "type": "address[]", "internalType": "address[]" }, { "name": "amounts_", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "getIssuedVouchers", "inputs": [], "outputs": [ { "name": "vouchers_", "type": "address[]", "internalType": "address[]" } ], "stateMutability": "view" }, { "type": "function", "name": "getManagedAssets", "inputs": [], "outputs": [ { "name": "assets_", "type": "address[]", "internalType": "address[]" }, { "name": "amounts_", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "getOffers", "inputs": [], "outputs": [ { "name": "offers_", "type": "uint24[]", "internalType": "uint24[]" } ], "stateMutability": "view" }, { "type": "function", "name": "init", "inputs": [ { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "receiveCallFromVault", "inputs": [ { "name": "_actionData", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "event", "name": "IssuedVoucherAdded", "inputs": [ { "name": "voucher", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "IssuedVoucherRemoved", "inputs": [ { "name": "voucher", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "OfferAdded", "inputs": [ { "name": "offerId", "type": "uint24", "indexed": true, "internalType": "uint24" } ], "anonymous": false }, { "type": "event", "name": "OfferRemoved", "inputs": [ { "name": "offerId", "type": "uint24", "indexed": true, "internalType": "uint24" } ], "anonymous": false } ], "bytecode": { "object": "0x60a06040523480156200001157600080fd5b50604051620033a9380380620033a983398101604081905262000034916200005d565b60601b6001600160601b031916608052620000b2565b8051620000578162000098565b92915050565b6000602082840312156200007057600080fd5b60006200007e84846200004a565b949350505050565b60006001600160a01b03821662000057565b620000a38162000086565b8114620000af57600080fd5b50565b60805160601c6132b6620000f36000398061085652806109105280610c46528061103452806110fc52806112cb5280611570528061169452506132b66000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c80630f081d50146100675780633ee992ee146100855780634ddf47d41461009a57806380daddb8146100af578063e5c23a97146100c5578063ecd658b4146100d8575b600080fd5b61006f6100e0565b60405161007c9190613035565b60405180910390f35b61008d610142565b60405161007c919061306b565b6100ad6100a8366004612980565b6101c3565b005b6100b76101c6565b60405161007c929190613046565b6100ad6100d3366004612980565b6102e9565b6100b7610386565b6060600080548060200260200160405190810160405280929190818152602001828054801561013857602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161011a575b5050505050905090565b6060600180548060200260200160405190810160405280929190818152602001828054801561013857602002820191906000526020600020906000905b82829054906101000a900462ffffff1662ffffff168152602001906003019060208260020104928301926001038202915080841161017f5790505050505050905090565b50565b60608060606101d3610142565b90506101dd61038c565b90935091506060806101ee836107b4565b8151919350915060005b818110156102585761022684828151811061020f57fe5b602002602001015188610abc90919063ffffffff16565b965061024e83828151811061023757fe5b602002602001015187610b8790919063ffffffff16565b95506001016101f8565b5060608061026586610c30565b8151919350915060005b818110156102cf5761029d84828151811061028657fe5b60200260200101518b610abc90919063ffffffff16565b99506102c58382815181106102ae57fe5b60200260200101518a610b8790919063ffffffff16565b985060010161026f565b506102da8989610dbb565b98509850505050505050509091565b60006060828060200190518101906103019190612a4c565b9092509050816103195761031481610ffc565b610381565b600182141561032a576103146112a9565b600282141561033c57610314816113a0565b600382141561034e5761031481611544565b60048214156103605761031481611986565b60405162461bcd60e51b8152600401610378906130bd565b60405180910390fd5b505050565b60608091565b60608060606103996100e0565b805190915060005b818110156107ad5760008551905060008483815181106103bd57fe5b60200260200101516001600160a01b031663360454c56040518163ffffffff1660e01b815260040160206040518083038186803b1580156103fd57600080fd5b505afa158015610411573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061043591906127e6565b90506060816001600160a01b031663ecaf82a5306040518263ffffffff1660e01b81526004016104659190612f55565b60006040518083038186803b15801561047d57600080fd5b505afa158015610491573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526104b9919081019061292e565b80519091506000805b8281101561067d576104d26122d1565b8988815181106104de57fe5b60200260200101516001600160a01b031663d3ceafb986848151811061050057fe5b60200260200101516040518263ffffffff1660e01b8152600401610524919061311b565b6101a06040518083038186803b15801561053d57600080fd5b505afa158015610551573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061057591906129f1565b90508060e001516001600160401b03164210156105a45760405162461bcd60e51b8152600401610378906130dd565b600080876001600160a01b031663875f43848886815181106105c257fe5b60200260200101516040518263ffffffff1660e01b81526004016105e6919061311b565b604080518083038186803b1580156105fd57600080fd5b505afa158015610611573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106359190612a93565b9092509050811561065f576020830151610650908f90610abc565b9d5061065c8d83610b87565b9c505b80156106725761066f8582611c08565b94505b5050506001016104c2565b5080156107215761071288878151811061069357fe5b60200260200101516001600160a01b0316636f307dc36040518163ffffffff1660e01b815260040160206040518083038186803b1580156106d357600080fd5b505afa1580156106e7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061070b91906127e6565b8b90610abc565b995061071e8982610b87565b98505b848a51141561079c5761075188878151811061073957fe5b60200260200101516000611c3490919063ffffffff16565b5087868151811061075e57fe5b60200260200101516001600160a01b03167ffd92edd176a06585677580bb1800864a64631aef521abcba2722708c7084c2e460405160405180910390a25b5050600190930192506103a1915050565b5050509091565b80516060908190806001600160401b03811180156107d157600080fd5b506040519080825280602002602001820160405280156107fb578160200160208202803683370190505b509250806001600160401b038111801561081457600080fd5b5060405190808252806020026020018201604052801561083e578160200160208202803683370190505b50915060005b81811015610ab55761085461233a565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316639cfb2ab087848151811061088f57fe5b60200260200101516040518263ffffffff1660e01b81526004016108b3919061310d565b6101a06040518083038186803b1580156108cc57600080fd5b505afa1580156108e0573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061090491906129d2565b905061090e6123a4565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c39333ab88858151811061094957fe5b60200260200101516040518263ffffffff1660e01b815260040161096d919061310d565b60a06040518083038186803b15801561098557600080fd5b505afa158015610999573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109bd91906129b4565b905060006109ee82600001516001600160801b03168460a001516001600160801b0316611d2c90919063ffffffff16565b90508261010001516001600160a01b0316636f307dc36040518163ffffffff1660e01b815260040160206040518083038186803b158015610a2e57600080fd5b505afa158015610a42573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a6691906127e6565b878581518110610a7257fe5b60200260200101906001600160a01b031690816001600160a01b03168152505080868581518110610a9f57fe5b6020908102919091010152505050600101610844565b5050915091565b606082516001016001600160401b0381118015610ad857600080fd5b50604051908082528060200260200182016040528015610b02578160200160208202803683370190505b50905060005b8351811015610b5157838181518110610b1d57fe5b6020026020010151828281518110610b3157fe5b6001600160a01b0390921660209283029190910190910152600101610b08565b508181845181518110610b6057fe5b60200260200101906001600160a01b031690816001600160a01b0316815250505b92915050565b606082516001016001600160401b0381118015610ba357600080fd5b50604051908082528060200260200182016040528015610bcd578160200160208202803683370190505b50905060005b8351811015610c0f57838181518110610be857fe5b6020026020010151828281518110610bfc57fe5b6020908102919091010152600101610bd3565b508181845181518110610c1e57fe5b60200260200101818152505092915050565b8051606090819060005b81811015610ab55760007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316639cfb2ab0878481518110610c7f57fe5b60200260200101516040518263ffffffff1660e01b8152600401610ca3919061310d565b6101a06040518083038186803b158015610cbc57600080fd5b505afa158015610cd0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cf491906129d2565b61012001519050610d058582611d5e565b15610d105750610db3565b6040516370a0823160e01b81526000906001600160a01b038316906370a0823190610d3f903090600401612f55565b60206040518083038186803b158015610d5757600080fd5b505afa158015610d6b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d8f9190612a2e565b90508015610db057610da18683610abc565b9550610dad8582610b87565b94505b50505b600101610c3a565b606080835160001415610dcd57610ff5565b6001805b8551811015610e4d576000805b82811015610e3757878181518110610df257fe5b60200260200101516001600160a01b0316888481518110610e0f57fe5b60200260200101516001600160a01b03161415610e2f5760019150610e37565b600101610dde565b5080610e44576001909201915b50600101610dd1565b50806001600160401b0381118015610e6457600080fd5b50604051908082528060200260200182016040528015610e8e578160200160208202803683370190505b509250806001600160401b0381118015610ea757600080fd5b50604051908082528060200260200182016040528015610ed1578160200160208202803683370190505b5091506000805b8651811015610ff1576000805b83811015610f7057868181518110610ef957fe5b60200260200101516001600160a01b0316898481518110610f1657fe5b60200260200101516001600160a01b03161415610f685760019150878381518110610f3d57fe5b6020026020010151868281518110610f5157fe5b602002602001018181510191508181525050610f70565b600101610ee5565b5080610fe857878281518110610f8257fe5b6020026020010151868481518110610f9657fe5b60200260200101906001600160a01b031690816001600160a01b031681525050868281518110610fc257fe5b6020026020010151858481518110610fd657fe5b60209081029190910101526001909201915b50600101610ed8565b5050505b9250929050565b60008060008060008060008060606110126123a4565b61101b8b611db4565b99509950995099509950995099509950995099506110e27f000000000000000000000000000000000000000000000000000000000000000082604001516001600160801b03168c6001600160a01b0316636f307dc36040518163ffffffff1660e01b815260040160206040518083038186803b15801561109a57600080fd5b505afa1580156110ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110d291906127e6565b6001600160a01b03169190611dff565b60405163113c22ab60e11b81526000906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690632278455690611143908e908e908e908e908e908e908e908e908e908e90600401612f7e565b602060405180830381600087803b15801561115d57600080fd5b505af1158015611171573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111959190612a10565b90506111a260008c611ef9565b61121a57600080546001810182558180527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630180546001600160a01b0319166001600160a01b038e1690811790915560405190917f6b3e0dcc57df05fef7e2c63274ec9b334d9fad324cedda20d168b66e6f487b4c91a25b6001805480820182556000918252600a8082047fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf601805462ffffff808716600394909506939093026101000a8481029302191691909117905560405190917f27652f622b1c2e924c22bbcd9793267e09bd9469ff3e1d1aef7baa7bb542727791a2505050505050505050505050565b60606112b3610142565b805190915060609060005b8181101561138f576113857f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316639cfb2ab086848151811061130457fe5b60200260200101516040518263ffffffff1660e01b8152600401611328919061310d565b6101a06040518083038186803b15801561134157600080fd5b505afa158015611355573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061137991906129d2565b61012001518490611f51565b92506001016112be565b5061139a3383611f73565b50505050565b6000806113ac836120ce565b915091506000826001600160a01b031663360454c56040518163ffffffff1660e01b815260040160206040518083038186803b1580156113eb57600080fd5b505afa1580156113ff573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061142391906127e6565b905061142d6122d1565b60405163d3ceafb960e01b81526001600160a01b0383169063d3ceafb99061145990869060040161311b565b6101a06040518083038186803b15801561147257600080fd5b505afa158015611486573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114aa91906129f1565b60208101519091506114c86001600160a01b03821684600019611dff565b60405163278ecde160e01b81526001600160a01b0384169063278ecde1906114f490879060040161311b565b600060405180830381600087803b15801561150e57600080fd5b505af1158015611522573d6000803e3d6000fd5b5061153c925050506001600160a01b038216846000611dff565b505050505050565b600061154f826120ee565b905061155961233a565b6040516309cfb2ab60e41b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690639cfb2ab0906115a590859060040161310d565b6101a06040518083038186803b1580156115be57600080fd5b505afa1580156115d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115f691906129d2565b90506000816101200151905060008261010001516001600160a01b0316636f307dc36040518163ffffffff1660e01b815260040160206040518083038186803b15801561164257600080fd5b505afa158015611656573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061167a91906127e6565b6040516362b4d47960e11b81529091506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c569a8f2906116c990879060040161310d565b600060405180830381600087803b1580156116e357600080fd5b505af11580156116f7573d6000803e3d6000fd5b50506001549150600090505b8181101561197d578562ffffff166001828154811061171e57fe5b90600052602060002090600a91828204019190066003029054906101000a900462ffffff1662ffffff161415611975576040516370a0823160e01b81526000906001600160a01b038616906370a082319061177d903090600401612f55565b60206040518083038186803b15801561179557600080fd5b505afa1580156117a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117cd9190612a2e565b905080156117e9576117e96001600160a01b038616338361210c565b6040516370a0823160e01b81526000906001600160a01b038616906370a0823190611818903090600401612f55565b60206040518083038186803b15801561183057600080fd5b505afa158015611844573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118689190612a2e565b90508015611884576118846001600160a01b038616338361210c565b600184038310156119025760018085038154811061189e57fe5b90600052602060002090600a91828204019190066003029054906101000a900462ffffff16600184815481106118d057fe5b90600052602060002090600a91828204019190066003026101000a81548162ffffff021916908362ffffff1602179055505b600180548061190d57fe5b60019003818190600052602060002090600a91828204019190066003026101000a81549062ffffff021916905590558762ffffff167f5117ada9c4efa32749567ede1058300f17ca6204e7a5a68bac0dd615667af42660405160405180910390a2505061197d565b600101611703565b50505050505050565b600080611992836120ce565b9092509050816119a06122d1565b60405163d3ceafb960e01b81526001600160a01b0383169063d3ceafb9906119cc90869060040161311b565b6101a06040518083038186803b1580156119e557600080fd5b505afa1580156119f9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a1d91906129f1565b9050816001600160a01b031663360454c56040518163ffffffff1660e01b815260040160206040518083038186803b158015611a5857600080fd5b505afa158015611a6c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a9091906127e6565b6001600160a01b0316632e1a7d4d846040518263ffffffff1660e01b8152600401611abb919061311b565b6040805180830381600087803b158015611ad457600080fd5b505af1158015611ae8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b0c9190612a93565b50506040805160028082526060808301845292602083019080368337019050509050826001600160a01b0316636f307dc36040518163ffffffff1660e01b815260040160206040518083038186803b158015611b6757600080fd5b505afa158015611b7b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b9f91906127e6565b81600081518110611bac57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050816020015181600181518110611bde57fe5b60200260200101906001600160a01b031690816001600160a01b03168152505061197d3382611f73565b600082820183811015611c2d5760405162461bcd60e51b81526004016103789061308d565b9392505050565b8154600090815b81811015611d2457836001600160a01b0316858281548110611c5957fe5b6000918252602090912001546001600160a01b03161415611d1c5760018203811015611ce757846001830381548110611c8e57fe5b9060005260206000200160009054906101000a90046001600160a01b0316858281548110611cb857fe5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055505b84805480611cf157fe5b600082815260209020810160001990810180546001600160a01b031916905501905560019250611d24565b600101611c3b565b505092915050565b6000808211611d4d5760405162461bcd60e51b8152600401610378906130ad565b818381611d5657fe5b049392505050565b6000805b8351811015611daa57838181518110611d7757fe5b60200260200101516001600160a01b0316836001600160a01b03161415611da2576001915050610b81565b600101611d62565b5060009392505050565b6000806000806000806000806060611dca6123a4565b8a806020019051810190611dde9190612804565b99509950995099509950995099509950995099509193959799509193959799565b801580611e875750604051636eb1769f60e11b81526001600160a01b0384169063dd62ed3e90611e359030908690600401612f63565b60206040518083038186803b158015611e4d57600080fd5b505afa158015611e61573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e859190612a2e565b155b611ea35760405162461bcd60e51b8152600401610378906130fd565b6103818363095ea7b360e01b8484604051602401611ec292919061301a565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915261212b565b8154600090815b81811015611f4657848181548110611f1457fe5b6000918252602090912001546001600160a01b0385811691161415611f3e57600192505050610b81565b600101611f00565b506000949350505050565b6060611f5d8383611d5e565b15611f69575081610b81565b611c2d8383610abc565b606081516001600160401b0381118015611f8c57600080fd5b50604051908082528060200260200182016040528015611fb6578160200160208202803683370190505b50905060005b82518110156120c7576000838281518110611fd357fe5b60200260200101519050806001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016120099190612f55565b60206040518083038186803b15801561202157600080fd5b505afa158015612035573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120599190612a2e565b83838151811061206557fe5b602002602001018181525050600083838151811061207f57fe5b602002602001015111156120be576120be8584848151811061209d57fe5b6020026020010151836001600160a01b031661210c9092919063ffffffff16565b50600101611fbc565b5092915050565b600080828060200190518101906120e591906128f4565b91509150915091565b6000818060200190518101906121049190612a10565b90505b919050565b6103818363a9059cbb60e01b8484604051602401611ec292919061301a565b6060612180826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166121ba9092919063ffffffff16565b805190915015610381578080602001905181019061219e9190612962565b6103815760405162461bcd60e51b8152600401610378906130ed565b60606121c984846000856121d1565b949350505050565b6060824710156121f35760405162461bcd60e51b81526004016103789061309d565b6121fc85612292565b6122185760405162461bcd60e51b8152600401610378906130cd565b60006060866001600160a01b031685876040516122359190612f49565b60006040518083038185875af1925050503d8060008114612272576040519150601f19603f3d011682016040523d82523d6000602084013e612277565b606091505b5091509150612287828286612298565b979650505050505050565b3b151590565b606083156122a7575081611c2d565b8251156122b75782518084602001fd5b8160405162461bcd60e51b8152600401610378919061307c565b604080516101a081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052906101008201908152600060208201819052604082018190526060820181905260809091015290565b604080516101a081018252600080825260208201819052918101829052906060820190815260006020820181905260408201819052606082018190526080820181905260a0820181905260c0820181905260e0820181905261010082018190526101209091015290565b6040805160a08101825260008082526020820181905291810182905260608101829052608081019190915290565b8051610b8181613252565b600082601f8301126123ee57600080fd5b81516124016123fc8261314f565b613129565b9150818183526020840193506020810190508385602084028201111561242657600080fd5b60005b83811015612452578161243c88826127c5565b8452506020928301929190910190600101612429565b5050505092915050565b8051610b8181613266565b600082601f83011261247857600080fd5b81356124866123fc8261316f565b915080825260208301602083018583830111156124a257600080fd5b6124ad838284613206565b50505092915050565b600082601f8301126124c757600080fd5b81516124d56123fc8261316f565b915080825260208301602083018583830111156124f157600080fd5b6124ad838284613212565b8051610b818161326f565b600060a0828403121561251957600080fd5b61252360a0613129565b9050600061253184846127af565b8252506020612542848483016127af565b6020830152506040612556848285016127af565b604083015250606061256a848285016127db565b606083015250608061257e848285016127db565b60808301525092915050565b60006101a0828403121561259d57600080fd5b6125a86101a0613129565b905060006125b684846127ba565b82525060206125c7848483016127d0565b60208301525060406125db848285016127d0565b60408301525060606125ef848285016124fc565b6060830152506080612603848285016127af565b60808301525060a0612617848285016127af565b60a08301525060c061262b848285016127af565b60c08301525060e061263f848285016127af565b60e083015250610100612654848285016123d2565b6101008301525061012061266a848285016123d2565b61012083015250610140612680848285016123d2565b610140830152506101606126968482850161245c565b610160830152506101806126ac8482850161245c565b6101808301525092915050565b60006101a082840312156126cc57600080fd5b6126d76101a0613129565b905060006126e584846123d2565b82525060206126f6848483016123d2565b602083015250604061270a848285016127c5565b604083015250606061271e848285016127af565b6060830152506080612732848285016127af565b60808301525060a0612746848285016127af565b60a08301525060c061275a848285016127db565b60c08301525060e061276e848285016127db565b60e083015250610100612783848285016124fc565b610100830152506101206127998482850161245c565b610120830152506101406126808482850161245c565b8051610b818161327c565b8051610b8181613285565b8051610b818161328e565b8051610b8181613297565b8051610b81816132a0565b6000602082840312156127f857600080fd5b60006121c984846123d2565b6000806000806000806000806000806101c08b8d03121561282457600080fd5b60006128308d8d6123d2565b9a505060206128418d828e016123d2565b99505060406128528d828e016127af565b98505060606128638d828e016127af565b97505060806128748d828e016127d0565b96505060a06128858d828e016127d0565b95505060c06128968d828e0161245c565b94505060e06128a78d828e016124fc565b9350506101008b01516001600160401b038111156128c457600080fd5b6128d08d828e016124b6565b9250506101206128e28d828e01612507565b9150509295989b9194979a5092959850565b6000806040838503121561290757600080fd5b600061291385856123d2565b9250506020612924858286016127c5565b9150509250929050565b60006020828403121561294057600080fd5b81516001600160401b0381111561295657600080fd5b6121c9848285016123dd565b60006020828403121561297457600080fd5b60006121c9848461245c565b60006020828403121561299257600080fd5b81356001600160401b038111156129a857600080fd5b6121c984828501612467565b600060a082840312156129c657600080fd5b60006121c98484612507565b60006101a082840312156129e557600080fd5b60006121c9848461258a565b60006101a08284031215612a0457600080fd5b60006121c984846126b9565b600060208284031215612a2257600080fd5b60006121c984846127ba565b600060208284031215612a4057600080fd5b60006121c984846127c5565b60008060408385031215612a5f57600080fd5b6000612a6b85856127c5565b92505060208301516001600160401b03811115612a8757600080fd5b612924858286016124b6565b60008060408385031215612aa657600080fd5b600061291385856127c5565b6000612abe8383612ade565b505060200190565b6000612abe8383612f25565b6000612abe8383612f2e565b612ae7816131a9565b82525050565b6000612af88261319c565b612b0281856131a0565b9350612b0d83613196565b8060005b83811015612b3b578151612b258882612ab2565b9750612b3083613196565b925050600101612b11565b509495945050505050565b6000612b518261319c565b612b5b81856131a0565b9350612b6683613196565b8060005b83811015612b3b578151612b7e8882612ac6565b9750612b8983613196565b925050600101612b6a565b6000612b9f8261319c565b612ba981856131a0565b9350612bb483613196565b8060005b83811015612b3b578151612bcc8882612ad2565b9750612bd783613196565b925050600101612bb8565b612ae7816131b4565b6000612bf68261319c565b612c0081856131a0565b9350612c10818560208601613212565b612c198161323e565b9093019392505050565b6000612c2e8261319c565b612c388185612107565b9350612c48818560208601613212565b9290920192915050565b612ae7816131fb565b6000612c68601b836131a0565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000612ca16026836131a0565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f8152651c8818d85b1b60d21b602082015260400192915050565b6000612ce9601a836131a0565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b6000612d226026836131a0565b7f7265636569766543616c6c46726f6d5661756c743a20496e76616c69642061638152651d1a5bdb925960d21b602082015260400192915050565b6000612d6a601d836131a0565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000815260200192915050565b6000612da36057836131a0565b7f5f5f676574576974686472617761626c654173736574416d6f756e7473416e6481527f52656d6f766557697468647261776e566f7563686572733a207072652d6d617460208201527f7572652069737375656420766f756368657220736c6f74000000000000000000604082015260600192915050565b6000612e28602a836131a0565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e8152691bdd081cdd58d8d9595960b21b602082015260400192915050565b6000612e746036836131a0565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f81527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b602082015260400192915050565b805160a0830190612ed08482612f1c565b506020820151612ee36020850182612f1c565b506040820151612ef66040850182612f1c565b506060820151612f096060850182612f40565b50608082015161139a6080850182612f40565b612ae7816131c3565b612ae7816131db565b612ae7816131e3565b612ae7816131e6565b612ae7816131ef565b6000611c2d8284612c23565b60208101610b818284612ade565b60408101612f718285612ade565b611c2d6020830184612ade565b6101c08101612f8d828d612ade565b612f9a602083018c612ade565b612fa7604083018b612f1c565b612fb4606083018a612f1c565b612fc16080830189612f37565b612fce60a0830188612f37565b612fdb60c0830187612be2565b612fe860e0830186612c52565b818103610100830152612ffb8185612beb565b905061300b610120830184612ebf565b9b9a5050505050505050505050565b604081016130288285612ade565b611c2d6020830184612f2e565b60208082528101611c2d8184612aed565b604080825281016130578185612aed565b905081810360208301526121c98184612b94565b60208082528101611c2d8184612b46565b60208082528101611c2d8184612beb565b6020808252810161210481612c5b565b6020808252810161210481612c94565b6020808252810161210481612cdc565b6020808252810161210481612d15565b6020808252810161210481612d5d565b6020808252810161210481612d96565b6020808252810161210481612e1b565b6020808252810161210481612e67565b60208101610b818284612f25565b60208101610b818284612f2e565b6040518181016001600160401b038111828210171561314757600080fd5b604052919050565b60006001600160401b0382111561316557600080fd5b5060209081020190565b60006001600160401b0382111561318557600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b6000612104826131cf565b151590565b8061210781613248565b6001600160801b031690565b6001600160a01b031690565b62ffffff1690565b90565b63ffffffff1690565b6001600160401b031690565b6000612104826131b9565b82818337506000910152565b60005b8381101561322d578181015183820152602001613215565b8381111561139a5750506000910152565b601f01601f191690565b600281106101c357fe5b61325b816131a9565b81146101c357600080fd5b61325b816131b4565b600281106101c357600080fd5b61325b816131c3565b61325b816131db565b61325b816131e3565b61325b816131e6565b61325b816131ef56fea164736f6c634300060c000a", "sourceMap": "1234:14575:136:-:0;;;1698:222;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1770:143;;-1:-1:-1;;;;;;1770:143:136;;;1234:14575;;5:134:-1;83:13;;101:33;83:13;101:33;:::i;:::-;68:71;;;;:::o;146:263::-;;261:2;249:9;240:7;236:23;232:32;229:2;;;277:1;274;267:12;229:2;312:1;329:64;385:7;365:9;329:64;:::i;:::-;319:74;223:186;-1:-1;;;;223:186::o;416:91::-;;-1:-1;;;;;576:54;;478:24;559:76::o;642:117::-;711:24;729:5;711:24;:::i;:::-;704:5;701:35;691:2;;750:1;747;740:12;691:2;685:74;:::o;:::-;1234:14575:136;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106100625760003560e01c80630f081d50146100675780633ee992ee146100855780634ddf47d41461009a57806380daddb8146100af578063e5c23a97146100c5578063ecd658b4146100d8575b600080fd5b61006f6100e0565b60405161007c9190613035565b60405180910390f35b61008d610142565b60405161007c919061306b565b6100ad6100a8366004612980565b6101c3565b005b6100b76101c6565b60405161007c929190613046565b6100ad6100d3366004612980565b6102e9565b6100b7610386565b6060600080548060200260200160405190810160405280929190818152602001828054801561013857602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161011a575b5050505050905090565b6060600180548060200260200160405190810160405280929190818152602001828054801561013857602002820191906000526020600020906000905b82829054906101000a900462ffffff1662ffffff168152602001906003019060208260020104928301926001038202915080841161017f5790505050505050905090565b50565b60608060606101d3610142565b90506101dd61038c565b90935091506060806101ee836107b4565b8151919350915060005b818110156102585761022684828151811061020f57fe5b602002602001015188610abc90919063ffffffff16565b965061024e83828151811061023757fe5b602002602001015187610b8790919063ffffffff16565b95506001016101f8565b5060608061026586610c30565b8151919350915060005b818110156102cf5761029d84828151811061028657fe5b60200260200101518b610abc90919063ffffffff16565b99506102c58382815181106102ae57fe5b60200260200101518a610b8790919063ffffffff16565b985060010161026f565b506102da8989610dbb565b98509850505050505050509091565b60006060828060200190518101906103019190612a4c565b9092509050816103195761031481610ffc565b610381565b600182141561032a576103146112a9565b600282141561033c57610314816113a0565b600382141561034e5761031481611544565b60048214156103605761031481611986565b60405162461bcd60e51b8152600401610378906130bd565b60405180910390fd5b505050565b60608091565b60608060606103996100e0565b805190915060005b818110156107ad5760008551905060008483815181106103bd57fe5b60200260200101516001600160a01b031663360454c56040518163ffffffff1660e01b815260040160206040518083038186803b1580156103fd57600080fd5b505afa158015610411573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061043591906127e6565b90506060816001600160a01b031663ecaf82a5306040518263ffffffff1660e01b81526004016104659190612f55565b60006040518083038186803b15801561047d57600080fd5b505afa158015610491573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526104b9919081019061292e565b80519091506000805b8281101561067d576104d26122d1565b8988815181106104de57fe5b60200260200101516001600160a01b031663d3ceafb986848151811061050057fe5b60200260200101516040518263ffffffff1660e01b8152600401610524919061311b565b6101a06040518083038186803b15801561053d57600080fd5b505afa158015610551573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061057591906129f1565b90508060e001516001600160401b03164210156105a45760405162461bcd60e51b8152600401610378906130dd565b600080876001600160a01b031663875f43848886815181106105c257fe5b60200260200101516040518263ffffffff1660e01b81526004016105e6919061311b565b604080518083038186803b1580156105fd57600080fd5b505afa158015610611573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106359190612a93565b9092509050811561065f576020830151610650908f90610abc565b9d5061065c8d83610b87565b9c505b80156106725761066f8582611c08565b94505b5050506001016104c2565b5080156107215761071288878151811061069357fe5b60200260200101516001600160a01b0316636f307dc36040518163ffffffff1660e01b815260040160206040518083038186803b1580156106d357600080fd5b505afa1580156106e7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061070b91906127e6565b8b90610abc565b995061071e8982610b87565b98505b848a51141561079c5761075188878151811061073957fe5b60200260200101516000611c3490919063ffffffff16565b5087868151811061075e57fe5b60200260200101516001600160a01b03167ffd92edd176a06585677580bb1800864a64631aef521abcba2722708c7084c2e460405160405180910390a25b5050600190930192506103a1915050565b5050509091565b80516060908190806001600160401b03811180156107d157600080fd5b506040519080825280602002602001820160405280156107fb578160200160208202803683370190505b509250806001600160401b038111801561081457600080fd5b5060405190808252806020026020018201604052801561083e578160200160208202803683370190505b50915060005b81811015610ab55761085461233a565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316639cfb2ab087848151811061088f57fe5b60200260200101516040518263ffffffff1660e01b81526004016108b3919061310d565b6101a06040518083038186803b1580156108cc57600080fd5b505afa1580156108e0573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061090491906129d2565b905061090e6123a4565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c39333ab88858151811061094957fe5b60200260200101516040518263ffffffff1660e01b815260040161096d919061310d565b60a06040518083038186803b15801561098557600080fd5b505afa158015610999573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109bd91906129b4565b905060006109ee82600001516001600160801b03168460a001516001600160801b0316611d2c90919063ffffffff16565b90508261010001516001600160a01b0316636f307dc36040518163ffffffff1660e01b815260040160206040518083038186803b158015610a2e57600080fd5b505afa158015610a42573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a6691906127e6565b878581518110610a7257fe5b60200260200101906001600160a01b031690816001600160a01b03168152505080868581518110610a9f57fe5b6020908102919091010152505050600101610844565b5050915091565b606082516001016001600160401b0381118015610ad857600080fd5b50604051908082528060200260200182016040528015610b02578160200160208202803683370190505b50905060005b8351811015610b5157838181518110610b1d57fe5b6020026020010151828281518110610b3157fe5b6001600160a01b0390921660209283029190910190910152600101610b08565b508181845181518110610b6057fe5b60200260200101906001600160a01b031690816001600160a01b0316815250505b92915050565b606082516001016001600160401b0381118015610ba357600080fd5b50604051908082528060200260200182016040528015610bcd578160200160208202803683370190505b50905060005b8351811015610c0f57838181518110610be857fe5b6020026020010151828281518110610bfc57fe5b6020908102919091010152600101610bd3565b508181845181518110610c1e57fe5b60200260200101818152505092915050565b8051606090819060005b81811015610ab55760007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316639cfb2ab0878481518110610c7f57fe5b60200260200101516040518263ffffffff1660e01b8152600401610ca3919061310d565b6101a06040518083038186803b158015610cbc57600080fd5b505afa158015610cd0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cf491906129d2565b61012001519050610d058582611d5e565b15610d105750610db3565b6040516370a0823160e01b81526000906001600160a01b038316906370a0823190610d3f903090600401612f55565b60206040518083038186803b158015610d5757600080fd5b505afa158015610d6b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d8f9190612a2e565b90508015610db057610da18683610abc565b9550610dad8582610b87565b94505b50505b600101610c3a565b606080835160001415610dcd57610ff5565b6001805b8551811015610e4d576000805b82811015610e3757878181518110610df257fe5b60200260200101516001600160a01b0316888481518110610e0f57fe5b60200260200101516001600160a01b03161415610e2f5760019150610e37565b600101610dde565b5080610e44576001909201915b50600101610dd1565b50806001600160401b0381118015610e6457600080fd5b50604051908082528060200260200182016040528015610e8e578160200160208202803683370190505b509250806001600160401b0381118015610ea757600080fd5b50604051908082528060200260200182016040528015610ed1578160200160208202803683370190505b5091506000805b8651811015610ff1576000805b83811015610f7057868181518110610ef957fe5b60200260200101516001600160a01b0316898481518110610f1657fe5b60200260200101516001600160a01b03161415610f685760019150878381518110610f3d57fe5b6020026020010151868281518110610f5157fe5b602002602001018181510191508181525050610f70565b600101610ee5565b5080610fe857878281518110610f8257fe5b6020026020010151868481518110610f9657fe5b60200260200101906001600160a01b031690816001600160a01b031681525050868281518110610fc257fe5b6020026020010151858481518110610fd657fe5b60209081029190910101526001909201915b50600101610ed8565b5050505b9250929050565b60008060008060008060008060606110126123a4565b61101b8b611db4565b99509950995099509950995099509950995099506110e27f000000000000000000000000000000000000000000000000000000000000000082604001516001600160801b03168c6001600160a01b0316636f307dc36040518163ffffffff1660e01b815260040160206040518083038186803b15801561109a57600080fd5b505afa1580156110ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110d291906127e6565b6001600160a01b03169190611dff565b60405163113c22ab60e11b81526000906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690632278455690611143908e908e908e908e908e908e908e908e908e908e90600401612f7e565b602060405180830381600087803b15801561115d57600080fd5b505af1158015611171573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111959190612a10565b90506111a260008c611ef9565b61121a57600080546001810182558180527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630180546001600160a01b0319166001600160a01b038e1690811790915560405190917f6b3e0dcc57df05fef7e2c63274ec9b334d9fad324cedda20d168b66e6f487b4c91a25b6001805480820182556000918252600a8082047fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf601805462ffffff808716600394909506939093026101000a8481029302191691909117905560405190917f27652f622b1c2e924c22bbcd9793267e09bd9469ff3e1d1aef7baa7bb542727791a2505050505050505050505050565b60606112b3610142565b805190915060609060005b8181101561138f576113857f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316639cfb2ab086848151811061130457fe5b60200260200101516040518263ffffffff1660e01b8152600401611328919061310d565b6101a06040518083038186803b15801561134157600080fd5b505afa158015611355573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061137991906129d2565b61012001518490611f51565b92506001016112be565b5061139a3383611f73565b50505050565b6000806113ac836120ce565b915091506000826001600160a01b031663360454c56040518163ffffffff1660e01b815260040160206040518083038186803b1580156113eb57600080fd5b505afa1580156113ff573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061142391906127e6565b905061142d6122d1565b60405163d3ceafb960e01b81526001600160a01b0383169063d3ceafb99061145990869060040161311b565b6101a06040518083038186803b15801561147257600080fd5b505afa158015611486573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114aa91906129f1565b60208101519091506114c86001600160a01b03821684600019611dff565b60405163278ecde160e01b81526001600160a01b0384169063278ecde1906114f490879060040161311b565b600060405180830381600087803b15801561150e57600080fd5b505af1158015611522573d6000803e3d6000fd5b5061153c925050506001600160a01b038216846000611dff565b505050505050565b600061154f826120ee565b905061155961233a565b6040516309cfb2ab60e41b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690639cfb2ab0906115a590859060040161310d565b6101a06040518083038186803b1580156115be57600080fd5b505afa1580156115d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115f691906129d2565b90506000816101200151905060008261010001516001600160a01b0316636f307dc36040518163ffffffff1660e01b815260040160206040518083038186803b15801561164257600080fd5b505afa158015611656573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061167a91906127e6565b6040516362b4d47960e11b81529091506001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063c569a8f2906116c990879060040161310d565b600060405180830381600087803b1580156116e357600080fd5b505af11580156116f7573d6000803e3d6000fd5b50506001549150600090505b8181101561197d578562ffffff166001828154811061171e57fe5b90600052602060002090600a91828204019190066003029054906101000a900462ffffff1662ffffff161415611975576040516370a0823160e01b81526000906001600160a01b038616906370a082319061177d903090600401612f55565b60206040518083038186803b15801561179557600080fd5b505afa1580156117a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117cd9190612a2e565b905080156117e9576117e96001600160a01b038616338361210c565b6040516370a0823160e01b81526000906001600160a01b038616906370a0823190611818903090600401612f55565b60206040518083038186803b15801561183057600080fd5b505afa158015611844573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118689190612a2e565b90508015611884576118846001600160a01b038616338361210c565b600184038310156119025760018085038154811061189e57fe5b90600052602060002090600a91828204019190066003029054906101000a900462ffffff16600184815481106118d057fe5b90600052602060002090600a91828204019190066003026101000a81548162ffffff021916908362ffffff1602179055505b600180548061190d57fe5b60019003818190600052602060002090600a91828204019190066003026101000a81549062ffffff021916905590558762ffffff167f5117ada9c4efa32749567ede1058300f17ca6204e7a5a68bac0dd615667af42660405160405180910390a2505061197d565b600101611703565b50505050505050565b600080611992836120ce565b9092509050816119a06122d1565b60405163d3ceafb960e01b81526001600160a01b0383169063d3ceafb9906119cc90869060040161311b565b6101a06040518083038186803b1580156119e557600080fd5b505afa1580156119f9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a1d91906129f1565b9050816001600160a01b031663360454c56040518163ffffffff1660e01b815260040160206040518083038186803b158015611a5857600080fd5b505afa158015611a6c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a9091906127e6565b6001600160a01b0316632e1a7d4d846040518263ffffffff1660e01b8152600401611abb919061311b565b6040805180830381600087803b158015611ad457600080fd5b505af1158015611ae8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b0c9190612a93565b50506040805160028082526060808301845292602083019080368337019050509050826001600160a01b0316636f307dc36040518163ffffffff1660e01b815260040160206040518083038186803b158015611b6757600080fd5b505afa158015611b7b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b9f91906127e6565b81600081518110611bac57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050816020015181600181518110611bde57fe5b60200260200101906001600160a01b031690816001600160a01b03168152505061197d3382611f73565b600082820183811015611c2d5760405162461bcd60e51b81526004016103789061308d565b9392505050565b8154600090815b81811015611d2457836001600160a01b0316858281548110611c5957fe5b6000918252602090912001546001600160a01b03161415611d1c5760018203811015611ce757846001830381548110611c8e57fe5b9060005260206000200160009054906101000a90046001600160a01b0316858281548110611cb857fe5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055505b84805480611cf157fe5b600082815260209020810160001990810180546001600160a01b031916905501905560019250611d24565b600101611c3b565b505092915050565b6000808211611d4d5760405162461bcd60e51b8152600401610378906130ad565b818381611d5657fe5b049392505050565b6000805b8351811015611daa57838181518110611d7757fe5b60200260200101516001600160a01b0316836001600160a01b03161415611da2576001915050610b81565b600101611d62565b5060009392505050565b6000806000806000806000806060611dca6123a4565b8a806020019051810190611dde9190612804565b99509950995099509950995099509950995099509193959799509193959799565b801580611e875750604051636eb1769f60e11b81526001600160a01b0384169063dd62ed3e90611e359030908690600401612f63565b60206040518083038186803b158015611e4d57600080fd5b505afa158015611e61573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e859190612a2e565b155b611ea35760405162461bcd60e51b8152600401610378906130fd565b6103818363095ea7b360e01b8484604051602401611ec292919061301a565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915261212b565b8154600090815b81811015611f4657848181548110611f1457fe5b6000918252602090912001546001600160a01b0385811691161415611f3e57600192505050610b81565b600101611f00565b506000949350505050565b6060611f5d8383611d5e565b15611f69575081610b81565b611c2d8383610abc565b606081516001600160401b0381118015611f8c57600080fd5b50604051908082528060200260200182016040528015611fb6578160200160208202803683370190505b50905060005b82518110156120c7576000838281518110611fd357fe5b60200260200101519050806001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016120099190612f55565b60206040518083038186803b15801561202157600080fd5b505afa158015612035573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120599190612a2e565b83838151811061206557fe5b602002602001018181525050600083838151811061207f57fe5b602002602001015111156120be576120be8584848151811061209d57fe5b6020026020010151836001600160a01b031661210c9092919063ffffffff16565b50600101611fbc565b5092915050565b600080828060200190518101906120e591906128f4565b91509150915091565b6000818060200190518101906121049190612a10565b90505b919050565b6103818363a9059cbb60e01b8484604051602401611ec292919061301a565b6060612180826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166121ba9092919063ffffffff16565b805190915015610381578080602001905181019061219e9190612962565b6103815760405162461bcd60e51b8152600401610378906130ed565b60606121c984846000856121d1565b949350505050565b6060824710156121f35760405162461bcd60e51b81526004016103789061309d565b6121fc85612292565b6122185760405162461bcd60e51b8152600401610378906130cd565b60006060866001600160a01b031685876040516122359190612f49565b60006040518083038185875af1925050503d8060008114612272576040519150601f19603f3d011682016040523d82523d6000602084013e612277565b606091505b5091509150612287828286612298565b979650505050505050565b3b151590565b606083156122a7575081611c2d565b8251156122b75782518084602001fd5b8160405162461bcd60e51b8152600401610378919061307c565b604080516101a081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052906101008201908152600060208201819052604082018190526060820181905260809091015290565b604080516101a081018252600080825260208201819052918101829052906060820190815260006020820181905260408201819052606082018190526080820181905260a0820181905260c0820181905260e0820181905261010082018190526101209091015290565b6040805160a08101825260008082526020820181905291810182905260608101829052608081019190915290565b8051610b8181613252565b600082601f8301126123ee57600080fd5b81516124016123fc8261314f565b613129565b9150818183526020840193506020810190508385602084028201111561242657600080fd5b60005b83811015612452578161243c88826127c5565b8452506020928301929190910190600101612429565b5050505092915050565b8051610b8181613266565b600082601f83011261247857600080fd5b81356124866123fc8261316f565b915080825260208301602083018583830111156124a257600080fd5b6124ad838284613206565b50505092915050565b600082601f8301126124c757600080fd5b81516124d56123fc8261316f565b915080825260208301602083018583830111156124f157600080fd5b6124ad838284613212565b8051610b818161326f565b600060a0828403121561251957600080fd5b61252360a0613129565b9050600061253184846127af565b8252506020612542848483016127af565b6020830152506040612556848285016127af565b604083015250606061256a848285016127db565b606083015250608061257e848285016127db565b60808301525092915050565b60006101a0828403121561259d57600080fd5b6125a86101a0613129565b905060006125b684846127ba565b82525060206125c7848483016127d0565b60208301525060406125db848285016127d0565b60408301525060606125ef848285016124fc565b6060830152506080612603848285016127af565b60808301525060a0612617848285016127af565b60a08301525060c061262b848285016127af565b60c08301525060e061263f848285016127af565b60e083015250610100612654848285016123d2565b6101008301525061012061266a848285016123d2565b61012083015250610140612680848285016123d2565b610140830152506101606126968482850161245c565b610160830152506101806126ac8482850161245c565b6101808301525092915050565b60006101a082840312156126cc57600080fd5b6126d76101a0613129565b905060006126e584846123d2565b82525060206126f6848483016123d2565b602083015250604061270a848285016127c5565b604083015250606061271e848285016127af565b6060830152506080612732848285016127af565b60808301525060a0612746848285016127af565b60a08301525060c061275a848285016127db565b60c08301525060e061276e848285016127db565b60e083015250610100612783848285016124fc565b610100830152506101206127998482850161245c565b610120830152506101406126808482850161245c565b8051610b818161327c565b8051610b8181613285565b8051610b818161328e565b8051610b8181613297565b8051610b81816132a0565b6000602082840312156127f857600080fd5b60006121c984846123d2565b6000806000806000806000806000806101c08b8d03121561282457600080fd5b60006128308d8d6123d2565b9a505060206128418d828e016123d2565b99505060406128528d828e016127af565b98505060606128638d828e016127af565b97505060806128748d828e016127d0565b96505060a06128858d828e016127d0565b95505060c06128968d828e0161245c565b94505060e06128a78d828e016124fc565b9350506101008b01516001600160401b038111156128c457600080fd5b6128d08d828e016124b6565b9250506101206128e28d828e01612507565b9150509295989b9194979a5092959850565b6000806040838503121561290757600080fd5b600061291385856123d2565b9250506020612924858286016127c5565b9150509250929050565b60006020828403121561294057600080fd5b81516001600160401b0381111561295657600080fd5b6121c9848285016123dd565b60006020828403121561297457600080fd5b60006121c9848461245c565b60006020828403121561299257600080fd5b81356001600160401b038111156129a857600080fd5b6121c984828501612467565b600060a082840312156129c657600080fd5b60006121c98484612507565b60006101a082840312156129e557600080fd5b60006121c9848461258a565b60006101a08284031215612a0457600080fd5b60006121c984846126b9565b600060208284031215612a2257600080fd5b60006121c984846127ba565b600060208284031215612a4057600080fd5b60006121c984846127c5565b60008060408385031215612a5f57600080fd5b6000612a6b85856127c5565b92505060208301516001600160401b03811115612a8757600080fd5b612924858286016124b6565b60008060408385031215612aa657600080fd5b600061291385856127c5565b6000612abe8383612ade565b505060200190565b6000612abe8383612f25565b6000612abe8383612f2e565b612ae7816131a9565b82525050565b6000612af88261319c565b612b0281856131a0565b9350612b0d83613196565b8060005b83811015612b3b578151612b258882612ab2565b9750612b3083613196565b925050600101612b11565b509495945050505050565b6000612b518261319c565b612b5b81856131a0565b9350612b6683613196565b8060005b83811015612b3b578151612b7e8882612ac6565b9750612b8983613196565b925050600101612b6a565b6000612b9f8261319c565b612ba981856131a0565b9350612bb483613196565b8060005b83811015612b3b578151612bcc8882612ad2565b9750612bd783613196565b925050600101612bb8565b612ae7816131b4565b6000612bf68261319c565b612c0081856131a0565b9350612c10818560208601613212565b612c198161323e565b9093019392505050565b6000612c2e8261319c565b612c388185612107565b9350612c48818560208601613212565b9290920192915050565b612ae7816131fb565b6000612c68601b836131a0565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000612ca16026836131a0565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f8152651c8818d85b1b60d21b602082015260400192915050565b6000612ce9601a836131a0565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b6000612d226026836131a0565b7f7265636569766543616c6c46726f6d5661756c743a20496e76616c69642061638152651d1a5bdb925960d21b602082015260400192915050565b6000612d6a601d836131a0565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000815260200192915050565b6000612da36057836131a0565b7f5f5f676574576974686472617761626c654173736574416d6f756e7473416e6481527f52656d6f766557697468647261776e566f7563686572733a207072652d6d617460208201527f7572652069737375656420766f756368657220736c6f74000000000000000000604082015260600192915050565b6000612e28602a836131a0565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e8152691bdd081cdd58d8d9595960b21b602082015260400192915050565b6000612e746036836131a0565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f81527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b602082015260400192915050565b805160a0830190612ed08482612f1c565b506020820151612ee36020850182612f1c565b506040820151612ef66040850182612f1c565b506060820151612f096060850182612f40565b50608082015161139a6080850182612f40565b612ae7816131c3565b612ae7816131db565b612ae7816131e3565b612ae7816131e6565b612ae7816131ef565b6000611c2d8284612c23565b60208101610b818284612ade565b60408101612f718285612ade565b611c2d6020830184612ade565b6101c08101612f8d828d612ade565b612f9a602083018c612ade565b612fa7604083018b612f1c565b612fb4606083018a612f1c565b612fc16080830189612f37565b612fce60a0830188612f37565b612fdb60c0830187612be2565b612fe860e0830186612c52565b818103610100830152612ffb8185612beb565b905061300b610120830184612ebf565b9b9a5050505050505050505050565b604081016130288285612ade565b611c2d6020830184612f2e565b60208082528101611c2d8184612aed565b604080825281016130578185612aed565b905081810360208301526121c98184612b94565b60208082528101611c2d8184612b46565b60208082528101611c2d8184612beb565b6020808252810161210481612c5b565b6020808252810161210481612c94565b6020808252810161210481612cdc565b6020808252810161210481612d15565b6020808252810161210481612d5d565b6020808252810161210481612d96565b6020808252810161210481612e1b565b6020808252810161210481612e67565b60208101610b818284612f25565b60208101610b818284612f2e565b6040518181016001600160401b038111828210171561314757600080fd5b604052919050565b60006001600160401b0382111561316557600080fd5b5060209081020190565b60006001600160401b0382111561318557600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b6000612104826131cf565b151590565b8061210781613248565b6001600160801b031690565b6001600160a01b031690565b62ffffff1690565b90565b63ffffffff1690565b6001600160401b031690565b6000612104826131b9565b82818337506000910152565b60005b8381101561322d578181015183820152602001613215565b8381111561139a5750506000910152565b601f01601f191690565b600281106101c357fe5b61325b816131a9565b81146101c357600080fd5b61325b816131b4565b600281106101c357600080fd5b61325b816131c3565b61325b816131db565b61325b816131e3565b61325b816131e6565b61325b816131ef56fea164736f6c634300060c000a", "sourceMap": "1234:14575:136:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15484:116;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;15701:106;;;:::i;:::-;;;;;;;:::i;2029:48::-;;;;;;:::i;:::-;;:::i;:::-;;9024:1378;;;:::i;:::-;;;;;;;;:::i;2205:771::-;;;;;;:::i;:::-;;:::i;8349:176::-;;;:::i;15484:116::-;15534:26;15579:14;15572:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15572:21:136;;;;;;;;;;;;;;;;;;;;;;;15484:116;:::o;15701:106::-;15752:23;15794:6;15787:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15701:106;:::o;2029:48::-;;:::o;9024:1378::-;9103:24;9129:25;9170;9198:11;:9;:11::i;:::-;9170:39;;9330:57;:55;:57::i;:::-;9308:79;;-1:-1:-1;9308:79:136;-1:-1:-1;9479:33:136;;9573:39;9602:9;9573:28;:39::i;:::-;9655:23;;9465:147;;-1:-1:-1;9465:147:136;-1:-1:-1;9622:30:136;9688:183;9708:22;9704:1;:26;9688:183;;;9761:36;9777:16;9794:1;9777:19;;;;;;;;;;;;;;9761:7;:15;;:36;;;;:::i;:::-;9751:46;;9822:38;9839:17;9857:1;9839:20;;;;;;;;;;;;;;9822:8;:16;;:38;;;;:::i;:::-;9811:49;-1:-1:-1;9732:3:136;;9688:183;;;;9972:27;10013:33;10059:42;10091:9;10059:31;:42::i;:::-;10139:17;;9958:143;;-1:-1:-1;9958:143:136;-1:-1:-1;10112:24:136;10166:170;10186:16;10182:1;:20;10166:170;;;10233:30;10249:10;10260:1;10249:13;;;;;;;;;;;;;;10233:7;:15;;:30;;;;:::i;:::-;10223:40;;10288:37;10305:16;10322:1;10305:19;;;;;;;;;;;;;;10288:8;:16;;:37;;;;:::i;:::-;10277:48;-1:-1:-1;10204:3:136;;10166:170;;;;10353:42;10377:7;10386:8;10353:23;:42::i;:::-;10346:49;;;;;;;;;;;9024:1378;;:::o;2205:771::-;2290:16;2308:23;2346:11;2335:41;;;;;;;;;;;;:::i;:::-;2289:87;;-1:-1:-1;2289:87:136;-1:-1:-1;2391:40:136;2387:583;;2447:31;2467:10;2447:19;:31::i;:::-;2387:583;;;2519:17;2499:8;:38;2495:475;;;2553:19;:17;:19::i;2495:475::-;2613:14;2593:8;:35;2589:381;;;2644:26;2659:10;2644:14;:26::i;2589:381::-;2711:19;2691:8;:40;2687:283;;;2747:31;2767:10;2747:19;:31::i;2687:283::-;2819:16;2799:8;:37;2795:175;;;2852:28;2869:10;2852:16;:28::i;2795:175::-;2911:48;;-1:-1:-1;;;2911:48:136;;;;;;;:::i;:::-;;;;;;;;2795:175;2205:771;;;:::o;8349:176::-;8425:24;8451:25;8349:176;:::o;12764:2536::-;12864:24;12890:25;12931:28;12962:19;:17;:19::i;:::-;13016:18;;12931:50;;-1:-1:-1;12991:22:136;13045:2213;13065:14;13061:1;:18;13045:2213;;;13100:23;13126:7;:14;13100:40;;13155:42;13266:11;13278:1;13266:14;;;;;;;;;;;;;;-1:-1:-1;;;;;13240:57:136;;:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13155:158;;13327:22;13352:19;-1:-1:-1;;;;;13352:34:136;;13395:4;13352:49;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;13352:49:136;;;;;;;;;;;;:::i;:::-;13437:12;;13327:74;;-1:-1:-1;13415:19:136;;13509:1073;13529:11;13525:1;:15;13509:1073;;;13565:51;;:::i;:::-;13666:11;13678:1;13666:14;;;;;;;;;;;;;;-1:-1:-1;;;;;13619:93:136;;13713:5;13719:1;13713:8;;;;;;;;;;;;;;13619:103;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13565:157;;13891:10;:19;;;-1:-1:-1;;;;;13872:38:136;:15;:38;;13843:196;;;;-1:-1:-1;;;13843:196:136;;;;;;;:::i;:::-;14058:30;14090:27;14121:19;-1:-1:-1;;;;;14121:62:136;;14184:5;14190:1;14184:8;;;;;;;;;;;;;;14121:72;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14057:136;;-1:-1:-1;14057:136:136;-1:-1:-1;14216:26:136;;14212:196;;14292:23;;;;14276:40;;:7;;:15;:40::i;:::-;14266:50;-1:-1:-1;14349:40:136;:8;14366:22;14349:16;:40::i;:::-;14338:51;;14212:196;14430:23;;14426:142;;14502:47;:22;14529:19;14502:26;:47::i;:::-;14477:72;;14426:142;-1:-1:-1;;;13542:3:136;;13509:1073;;;-1:-1:-1;14600:26:136;;14596:215;;14656:71;14698:11;14710:1;14698:14;;;;;;;;;;;;;;-1:-1:-1;;;;;14672:52:136;;:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14656:7;;:15;:71::i;:::-;14646:81;-1:-1:-1;14756:40:136;:8;14773:22;14756:16;:40::i;:::-;14745:51;;14596:215;15028:15;15010:7;:14;:33;15006:242;;;15125:48;15158:11;15170:1;15158:14;;;;;;;;;;;;;;15125;:32;;:48;;;;:::i;:::-;;15218:11;15230:1;15218:14;;;;;;;;;;;;;;-1:-1:-1;;;;;15197:36:136;;;;;;;;;;;15006:242;-1:-1:-1;;13081:3:136;;;;;-1:-1:-1;13045:2213:136;;-1:-1:-1;;13045:2213:136;;;15267:26;;12764:2536;;:::o;10496:1052::-;10700:14;;10605:29;;;;10700:14;-1:-1:-1;;;;;10740:27:136;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10740:27:136;;10725:42;;10802:12;-1:-1:-1;;;;;10788:27:136;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10788:27:136;;10777:38;;10831:9;10826:674;10846:12;10842:1;:16;10826:674;;;10879:80;;:::i;:::-;10962:44;-1:-1:-1;;;;;10962:54:136;;11038:7;11046:1;11038:10;;;;;;;;;;;;;;10962:104;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10879:187;;11081:91;;:::i;:::-;11175:44;-1:-1:-1;;;;;11175:80:136;;11256:7;11264:1;11256:10;;;;;;;;;;;;;;11175:92;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11081:186;;11282:20;11305:55;11333:14;:26;;;-1:-1:-1;;;;;11305:55:136;11313:8;:14;;;-1:-1:-1;;;;;11305:23:136;:27;;:55;;;;:::i;:::-;11282:78;;11419:8;:16;;;-1:-1:-1;;;;;11393:54:136;;:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11375:12;11388:1;11375:15;;;;;;;;;;;;;:74;-1:-1:-1;;;;;11375:74:136;;;-1:-1:-1;;;;;11375:74:136;;;;;11477:12;11463:8;11472:1;11463:11;;;;;;;;;;;;;;;;;:26;-1:-1:-1;;;10860:3:136;;10826:674;;;;11510:31;10496:1052;;;:::o;1668:374:354:-;1776:27;1846:5;:12;1861:1;1846:16;-1:-1:-1;;;;;1832:31:354;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1832:31:354;;1819:44;;1878:9;1873:88;1893:5;:12;1889:1;:16;1873:88;;;1942:5;1948:1;1942:8;;;;;;;;;;;;;;1926:10;1937:1;1926:13;;;;;;;;-1:-1:-1;;;;;1926:24:354;;;:13;;;;;;;;;;;:24;1907:3;;1873:88;;;;1997:10;1970;1981:5;:12;1970:24;;;;;;;;;;;;;:37;-1:-1:-1;;;;;1970:37:354;;;-1:-1:-1;;;;;1970:37:354;;;;;1668:374;;;;;:::o;::363:-;1776:27;1846:5;:12;1861:1;1846:16;-1:-1:-1;;;;;1832:31:363;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1832:31:363;;1819:44;;1878:9;1873:88;1893:5;:12;1889:1;:16;1873:88;;;1942:5;1948:1;1942:8;;;;;;;;;;;;;;1926:10;1937:1;1926:13;;;;;;;;;;;;;;;;;:24;1907:3;;1873:88;;;;1997:10;1970;1981:5;:12;1970:24;;;;;;;;;;;;;:37;;;;;1668:374;;;;:::o;11663:864:136:-;11870:14;;11775:28;;;;11847:20;11895:584;11915:12;11911:1;:16;11895:584;;;11948:16;11967:44;-1:-1:-1;;;;;11967:71:136;;12039:7;12047:1;12039:10;;;;;;;;;;;;;;11967:83;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:109;;;;-1:-1:-1;12162:30:136;:11;11967:109;12162:20;:30::i;:::-;12158:77;;;12212:8;;;12158:77;12266:40;;-1:-1:-1;;;12266:40:136;;12248:15;;-1:-1:-1;;;;;12266:25:136;;;;;:40;;12300:4;;12266:40;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12248:58;-1:-1:-1;12324:11:136;;12320:149;;12369:29;:11;12389:8;12369:19;:29::i;:::-;12355:43;-1:-1:-1;12428:26:136;:9;12446:7;12428:17;:26::i;:::-;12416:38;;12320:149;11895:584;;;11929:3;;11895:584;;749:1574:355;888:34;924:35;979:10;:17;1000:1;979:22;975:99;;;1017:46;;975:99;1115:1;;1126:361;1150:10;:17;1146:1;:21;1126:361;;;1188:13;1220:9;1215:179;1235:1;1231;:5;1215:179;;;1282:10;1293:1;1282:13;;;;;;;;;;;;;;-1:-1:-1;;;;;1265:30:355;:10;1276:1;1265:13;;;;;;;;;;;;;;-1:-1:-1;;;;;1265:30:355;;1261:119;;;1330:4;1319:15;;1356:5;;1261:119;1238:3;;1215:179;;;;1412:8;1407:70;;1440:22;;;;;1407:70;-1:-1:-1;1169:3:355;;1126:361;;;;1531:20;-1:-1:-1;;;;;1517:35:355;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1517:35:355;;1497:55;;1597:20;-1:-1:-1;;;;;1583:35:355;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1583:35:355;;1562:56;;1628:28;1671:9;1666:594;1686:10;:17;1682:1;:21;1666:594;;;1724:13;1756:9;1751:268;1771:20;1767:1;:24;1751:268;;;1837:17;1855:1;1837:20;;;;;;;;;;;;;;-1:-1:-1;;;;;1820:37:355;:10;1831:1;1820:13;;;;;;;;;;;;;;-1:-1:-1;;;;;1820:37:355;;1816:189;;;1892:4;1881:15;;1944:11;1956:1;1944:14;;;;;;;;;;;;;;1919:18;1938:1;1919:21;;;;;;;;;;;;;:39;;;;;;;;;;;1981:5;;1816:189;1793:3;;1751:268;;;;2037:8;2032:218;;2107:10;2118:1;2107:13;;;;;;;;;;;;;;2065:17;2083:20;2065:39;;;;;;;;;;;;;:55;-1:-1:-1;;;;;2065:55:355;;;-1:-1:-1;;;;;2065:55:355;;;;;2181:11;2193:1;2181:14;;;;;;;;;;;;;;2138:18;2157:20;2138:40;;;;;;;;;;;;;;;;;:57;2213:22;;;;;2032:218;-1:-1:-1;1705:3:355;;1666:594;;;;2270:46;;749:1574;;;;;;:::o;3040:1258:136:-;3127:15;3156:16;3186:11;3211;3236:16;3266:14;3294:17;3325:59;3398:22;3434:74;;:::i;:::-;3521:42;3551:11;3521:29;:42::i;:::-;3113:450;;;;;;;;;;;;;;;;;;;;3574:184;3662:44;3721:13;:27;;;-1:-1:-1;;;;;3574:184:136;3606:7;-1:-1:-1;;;;;3580:45:136;;:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;3574:66:136;;:184;:66;:184::i;:::-;3786:280;;-1:-1:-1;;;3786:280:136;;3769:14;;-1:-1:-1;;;;;3786:44:136;:50;;;;:280;;3850:7;;3871:8;;3893:3;;3910;;3927:9;;3950:7;;3971:12;;3997:9;;4020;;4043:13;;3786:280;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3769:297;-1:-1:-1;4082:44:136;:14;4118:7;4082:35;:44::i;:::-;4077:150;;4142:14;:28;;;;;;;;;;;;;;-1:-1:-1;;;;;;4142:28:136;-1:-1:-1;;;;;4142:28:136;;;;;;;;4189:27;;4142:28;;4189:27;;;4077:150;4237:6;:20;;;;;;;-1:-1:-1;4237:20:136;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4272:19;;4237:20;;4272:19;;;3040:1258;;;;;;;;;;;;:::o;4359:574::-;4406:25;4434:11;:9;:11::i;:::-;4603:16;;4406:39;;-1:-1:-1;4533:37:136;;4580:20;4629:230;4649:12;4645:1;:16;4629:230;;;4705:143;4757:44;-1:-1:-1;;;;;4757:54:136;;4812:9;4822:1;4812:12;;;;;;;;;;;;;;4757:68;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:77;;;4705:20;;:34;:143::i;:::-;4682:166;-1:-1:-1;4663:3:136;;4629:230;;;;4869:57;4893:10;4905:20;4869:23;:57::i;:::-;;4359:574;;;:::o;4984:689::-;5053:15;5070:14;5088:37;5113:11;5088:24;:37::i;:::-;5052:73;;;;5135:42;5242:7;-1:-1:-1;;;;;5216:50:136;;:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5135:143;;5289:51;;:::i;:::-;5343:63;;-1:-1:-1;;;5343:63:136;;-1:-1:-1;;;;;5343:33:136;;;;;:63;;5390:6;;5343:63;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5445:23;;;;5289:117;;-1:-1:-1;5480:74:136;-1:-1:-1;;;;;5480:25:136;;5514:19;-1:-1:-1;;5480:25:136;:74::i;:::-;5564:34;;-1:-1:-1;;;5564:34:136;;-1:-1:-1;;;;;5564:26:136;;;;;:34;;5591:6;;5564:34;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5608:58:136;;-1:-1:-1;;;;;;;;5608:25:136;;5642:19;5664:1;5608:25;:58::i;:::-;4984:689;;;;;;:::o;5716:1644::-;5789:14;5806:42;5836:11;5806:29;:42::i;:::-;5789:59;;5909:73;;:::i;:::-;5985:63;;-1:-1:-1;;;5985:63:136;;-1:-1:-1;;;;;5985:44:136;:54;;;;:63;;6040:7;;5985:63;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5909:139;;6059:19;6087:5;:14;;;6059:43;;6112:21;6168:5;:13;;;-1:-1:-1;;;;;6142:51:136;;:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6207:60;;-1:-1:-1;;;6207:60:136;;6112:84;;-1:-1:-1;;;;;;6207:44:136;:51;;;;:60;;6259:7;;6207:60;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6301:6:136;:13;;-1:-1:-1;6278:20:136;;-1:-1:-1;6377:977:136;6397:12;6393:1;:16;6377:977;;;6447:7;6434:20;;:6;6441:1;6434:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:20;;;6430:914;;;6578:38;;-1:-1:-1;;;6578:38:136;;6552:23;;-1:-1:-1;;;;;6578:23:136;;;;;:38;;6610:4;;6578:38;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6552:64;-1:-1:-1;6638:19:136;;6634:121;;6681:55;-1:-1:-1;;;;;6681:26:136;;6708:10;6720:15;6681:26;:55::i;:::-;6880:40;;-1:-1:-1;;;6880:40:136;;6852:25;;-1:-1:-1;;;;;6880:25:136;;;;;:40;;6914:4;;6880:40;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6852:68;-1:-1:-1;6942:21:136;;6938:127;;6987:59;-1:-1:-1;;;;;6987:28:136;;7016:10;7028:17;6987:28;:59::i;:::-;7151:1;7136:12;:16;7132:1;:20;7128:103;;;7188:6;7210:1;7195:12;:16;7188:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7176:6;7183:1;7176:9;;;;;;;;;;;;;;;;;;;;;;;;;;:36;;;;;;;;;;;;;;;;;;7128:103;7248:6;:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7297:7;7284:21;;;;;;;;;;;;7324:5;;;;6430:914;6411:3;;6377:977;;;;5716:1644;;;;;;:::o;7453:650::-;7524:15;7541:14;7559:39;7586:11;7559:26;:39::i;:::-;7523:75;;-1:-1:-1;7523:75:136;-1:-1:-1;7523:75:136;7697:51;;:::i;:::-;7751:59;;-1:-1:-1;;;7751:59:136;;-1:-1:-1;;;;;7751:29:136;;;;;:59;;7794:6;;7751:59;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7697:113;;7843:15;-1:-1:-1;;;;;7843:31:136;;:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;7820:66:136;;7887:6;7820:74;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;7931:16:136;;;7945:1;7931:16;;;7905:23;7931:16;;;;;7905:23;7931:16;;;;;;;;;;-1:-1:-1;7931:16:136;7905:42;;7969:15;-1:-1:-1;;;;;7969:26:136;;:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7957:6;7964:1;7957:9;;;;;;;;;;;;;:40;-1:-1:-1;;;;;7957:40:136;;;-1:-1:-1;;;;;7957:40:136;;;;;8019:10;:23;;;8007:6;8014:1;8007:9;;;;;;;;;;;;;:35;-1:-1:-1;;;;;8007:35:136;;;-1:-1:-1;;;;;8007:35:136;;;;;8053:43;8077:10;8089:6;8053:23;:43::i;2690:175:442:-;2748:7;2779:5;;;2802:6;;;;2794:46;;;;-1:-1:-1;;;2794:46:442;;;;;;;:::i;:::-;2857:1;2690:175;-1:-1:-1;;;2690:175:442:o;569:515:354:-;727:12;;678:13;;;749:303;769:9;765:1;:13;749:303;;;815:13;-1:-1:-1;;;;;803:25:354;:5;809:1;803:8;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;803:8:354;:25;799:243;;;868:1;856:9;:13;852:1;:17;848:95;;;904:5;922:1;910:9;:13;904:20;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;904:20:354;893:5;899:1;893:8;;;;;;;;;;;;;;;;:31;;;;;-1:-1:-1;;;;;893:31:354;;;;;-1:-1:-1;;;;;893:31:354;;;;;;848:95;960:5;:11;;;;;;;;;;;;;;;;-1:-1:-1;;960:11:354;;;;;-1:-1:-1;;;;;;960:11:354;;;;;;;;-1:-1:-1;1022:5:354;;799:243;780:3;;749:303;;;;1062:15;569:515;;;;:::o;4217:150:442:-;4275:7;4306:1;4302;:5;4294:44;;;;-1:-1:-1;;;4294:44:442;;;;;;;:::i;:::-;4359:1;4355;:5;;;;;;;4217:150;-1:-1:-1;;;4217:150:442:o;2489:299:354:-;2595:17;2633:9;2628:132;2648:5;:12;2644:1;:16;2628:132;;;2696:5;2702:1;2696:8;;;;;;;;;;;;;;-1:-1:-1;;;;;2685:19:354;:7;-1:-1:-1;;;;;2685:19:354;;2681:69;;;2731:4;2724:11;;;;;2681:69;2662:3;;2628:132;;;-1:-1:-1;2776:5:354;;2489:299;-1:-1:-1;;;2489:299:354:o;744:1038:135:-;869:16;899:17;930:12;956;982:17;1013:15;1042:18;1074:60;1148:22;1184:75;;:::i;:::-;1333:11;1305:460;;;;;;;;;;;;:::i;:::-;1284:491;;;;;;;;;;;;;;;;;;;;744:1038;;;;;;;;;;;:::o;1348:613:450:-;1713:10;;;1712:62;;-1:-1:-1;1729:39:450;;-1:-1:-1;;;1729:39:450;;-1:-1:-1;;;;;1729:15:450;;;;;:39;;1753:4;;1760:7;;1729:39;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:44;1712:62;1704:150;;;;-1:-1:-1;;;1704:150:450;;;;;;;:::i;:::-;1864:90;1884:5;1914:22;;;1938:7;1947:5;1891:62;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;1891:62:450;;;;;;;;;;;;;;-1:-1:-1;;;;;1891:62:450;-1:-1:-1;;;;;;1891:62:450;;;;;;;;;;1864:19;:90::i;1167:351:354:-;1339:12;;1286:17;;;1361:129;1381:9;1377:1;:13;1361:129;;;1426:5;1432:1;1426:8;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1415:19:354;;;1426:8;;1415:19;1411:69;;;1461:4;1454:11;;;;;;1411:69;1392:3;;1361:129;;;-1:-1:-1;1506:5:354;;1167:351;-1:-1:-1;;;;1167:351:354:o;2136:277::-;2250:27;2297;2306:5;2313:10;2297:8;:27::i;:::-;2293:70;;;-1:-1:-1;2347:5:354;2340:12;;2293:70;2380:26;2388:5;2395:10;2380:7;:26::i;3539:585:355:-;3649:36;3737:7;:14;-1:-1:-1;;;;;3723:29:355;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3723:29:355;;3701:51;;3767:9;3762:319;3782:7;:14;3778:1;:18;3762:319;;;3817:19;3845:7;3853:1;3845:10;;;;;;;;;;;;;;3817:39;;3895:13;-1:-1:-1;;;;;3895:23:355;;3927:4;3895:38;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3870:19;3890:1;3870:22;;;;;;;;;;;;;:63;;;;;3976:1;3951:19;3971:1;3951:22;;;;;;;;;;;;;;:26;3947:124;;;3997:59;4024:7;4033:19;4053:1;4033:22;;;;;;;;;;;;;;3997:13;-1:-1:-1;;;;;3997:26:355;;;:59;;;;;:::i;:::-;-1:-1:-1;3798:3:355;;3762:319;;;;3539:585;;;;:::o;1853:215:135:-;1960:16;1978:15;2028:11;2017:43;;;;;;;;;;;;:::i;:::-;2009:52;;;;1853:215;;;:::o;2144:192::-;2256:15;2306:11;2295:33;;;;;;;;;;;;:::i;:::-;2287:42;;2144:192;;;;:::o;704:175:450:-;786:86;806:5;836:23;;;861:2;865:5;813:58;;;;;;;;;:::i;2967:751::-;3386:23;3412:69;3440:4;3412:69;;;;;;;;;;;;;;;;;3420:5;-1:-1:-1;;;;;3412:27:450;;;:69;;;;;:::i;:::-;3495:17;;3386:95;;-1:-1:-1;3495:21:450;3491:221;;3635:10;3624:30;;;;;;;;;;;;:::i;:::-;3616:85;;;;-1:-1:-1;;;3616:85:450;;;;;;;:::i;3581:193:451:-;3684:12;3715:52;3737:6;3745:4;3751:1;3754:12;3715:21;:52::i;:::-;3708:59;3581:193;-1:-1:-1;;;;3581:193:451:o;4608:523::-;4735:12;4792:5;4767:21;:30;;4759:81;;;;-1:-1:-1;;;4759:81:451;;;;;;;:::i;:::-;4858:18;4869:6;4858:10;:18::i;:::-;4850:60;;;;-1:-1:-1;;;4850:60:451;;;;;;;:::i;:::-;4981:12;4995:23;5022:6;-1:-1:-1;;;;;5022:11:451;5042:5;5050:4;5022:33;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4980:75;;;;5072:52;5090:7;5099:10;5111:12;5072:17;:52::i;:::-;5065:59;4608:523;-1:-1:-1;;;;;;;4608:523:451:o;726:413::-;1086:20;1124:8;;;726:413::o;7091:725::-;7206:12;7234:7;7230:580;;;-1:-1:-1;7264:10:451;7257:17;;7230:580;7375:17;;:21;7371:429;;7633:10;7627:17;7693:15;7680:10;7676:2;7672:19;7665:44;7582:145;7772:12;7765:20;;-1:-1:-1;;;7765:20:451;;;;;;;;:::i;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5:134::-;83:13;;101:33;83:13;101:33;:::i;321:722::-;;449:3;442:4;434:6;430:17;426:27;416:2;;467:1;464;457:12;416:2;497:6;491:13;519:80;534:64;591:6;534:64;:::i;:::-;519:80;:::i;:::-;510:89;;616:5;641:6;634:5;627:21;671:4;663:6;659:17;649:27;;693:4;688:3;684:14;677:21;;746:6;793:3;785:4;777:6;773:17;768:3;764:27;761:36;758:2;;;810:1;807;800:12;758:2;835:1;820:217;845:6;842:1;839:13;820:217;;;903:3;925:48;969:3;957:10;925:48;:::i;:::-;913:61;;-1:-1;997:4;988:14;;;;1016;;;;;867:1;860:9;820:217;;;824:14;409:634;;;;;;;:::o;1051:128::-;1126:13;;1144:30;1126:13;1144:30;:::i;1187:440::-;;1288:3;1281:4;1273:6;1269:17;1265:27;1255:2;;1306:1;1303;1296:12;1255:2;1343:6;1330:20;1365:64;1380:48;1421:6;1380:48;:::i;1365:64::-;1356:73;;1449:6;1442:5;1435:21;1485:4;1477:6;1473:17;1518:4;1511:5;1507:16;1553:3;1544:6;1539:3;1535:16;1532:25;1529:2;;;1570:1;1567;1560:12;1529:2;1580:41;1614:6;1609:3;1604;1580:41;:::i;:::-;1248:379;;;;;;;:::o;1636:442::-;;1748:3;1741:4;1733:6;1729:17;1725:27;1715:2;;1766:1;1763;1756:12;1715:2;1796:6;1790:13;1818:64;1833:48;1874:6;1833:48;:::i;1818:64::-;1809:73;;1902:6;1895:5;1888:21;1938:4;1930:6;1926:17;1971:4;1964:5;1960:16;2006:3;1997:6;1992:3;1988:16;1985:25;1982:2;;;2023:1;2020;2013:12;1982:2;2033:39;2065:6;2060:3;2055;2033:39;:::i;2086:174::-;2184:13;;2202:53;2184:13;2202:53;:::i;2505:1008::-;;2637:4;2625:9;2620:3;2616:19;2612:30;2609:2;;;2655:1;2652;2645:12;2609:2;2673:20;2688:4;2673:20;:::i;:::-;2664:29;-1:-1;2750:1;2782:60;2838:3;2818:9;2782:60;:::i;:::-;2757:86;;-1:-1;2912:2;2945:60;3001:3;2977:22;;;2945:60;:::i;:::-;2938:4;2931:5;2927:16;2920:86;2864:153;3076:2;3109:60;3165:3;3156:6;3145:9;3141:22;3109:60;:::i;:::-;3102:4;3095:5;3091:16;3084:86;3027:154;3240:2;3273:59;3328:3;3319:6;3308:9;3304:22;3273:59;:::i;:::-;3266:4;3259:5;3255:16;3248:85;3191:153;3398:3;3432:59;3487:3;3478:6;3467:9;3463:22;3432:59;:::i;:::-;3425:4;3418:5;3414:16;3407:85;3354:149;2603:910;;;;:::o;3582:2280::-;;3709:6;3697:9;3692:3;3688:19;3684:32;3681:2;;;3729:1;3726;3719:12;3681:2;3747:22;3762:6;3747:22;:::i;:::-;3738:31;-1:-1;3825:1;3857:59;3912:3;3892:9;3857:59;:::i;:::-;3832:85;;-1:-1;3983:2;4016:59;4071:3;4047:22;;;4016:59;:::i;:::-;4009:4;4002:5;3998:16;3991:85;3938:149;4140:2;4173:59;4228:3;4219:6;4208:9;4204:22;4173:59;:::i;:::-;4166:4;4159:5;4155:16;4148:85;4097:147;4299:2;4332:75;4403:3;4394:6;4383:9;4379:22;4332:75;:::i;:::-;4325:4;4318:5;4314:16;4307:101;4254:165;4475:3;4509:60;4565:3;4556:6;4545:9;4541:22;4509:60;:::i;:::-;4502:4;4495:5;4491:16;4484:86;4429:152;4632:3;4666:60;4722:3;4713:6;4702:9;4698:22;4666:60;:::i;:::-;4659:4;4652:5;4648:16;4641:86;4591:147;4787:3;4821:60;4877:3;4868:6;4857:9;4853:22;4821:60;:::i;:::-;4814:4;4807:5;4803:16;4796:86;4748:145;4942:3;4976:60;5032:3;5023:6;5012:9;5008:22;4976:60;:::i;:::-;4969:4;4962:5;4958:16;4951:86;4903:145;5101:3;5137:60;5193:3;5184:6;5173:9;5169:22;5137:60;:::i;:::-;5128:6;5121:5;5117:18;5110:88;5058:151;5263:3;5299:60;5355:3;5346:6;5335:9;5331:22;5299:60;:::i;:::-;5290:6;5283:5;5279:18;5272:88;5219:152;5423:3;5459:60;5515:3;5506:6;5495:9;5491:22;5459:60;:::i;:::-;5450:6;5443:5;5439:18;5432:88;5381:150;5589:3;5625:57;5678:3;5669:6;5658:9;5654:22;5625:57;:::i;:::-;5616:6;5609:5;5605:18;5598:85;5541:153;5747:3;5783:57;5836:3;5827:6;5816:9;5812:22;5783:57;:::i;:::-;5774:6;5767:5;5763:18;5756:85;5704:148;3675:2187;;;;:::o;5916:2332::-;;6045:6;6033:9;6028:3;6024:19;6020:32;6017:2;;;6065:1;6062;6055:12;6017:2;6083:22;6098:6;6083:22;:::i;:::-;6074:31;-1:-1;6157:1;6189:60;6245:3;6225:9;6189:60;:::i;:::-;6164:86;;-1:-1;6319:2;6352:60;6408:3;6384:22;;;6352:60;:::i;:::-;6345:4;6338:5;6334:16;6327:86;6271:153;6480:2;6513:60;6569:3;6560:6;6549:9;6545:22;6513:60;:::i;:::-;6506:4;6499:5;6495:16;6488:86;6434:151;6642:2;6675:60;6731:3;6722:6;6711:9;6707:22;6675:60;:::i;:::-;6668:4;6661:5;6657:16;6650:86;6595:152;6805:3;6839:60;6895:3;6886:6;6875:9;6871:22;6839:60;:::i;:::-;6832:4;6825:5;6821:16;6814:86;6757:154;6968:3;7002:60;7058:3;7049:6;7038:9;7034:22;7002:60;:::i;:::-;6995:4;6988:5;6984:16;6977:86;6921:153;7133:3;7167:59;7222:3;7213:6;7202:9;7198:22;7167:59;:::i;:::-;7160:4;7153:5;7149:16;7142:85;7084:154;7292:3;7326:59;7381:3;7372:6;7361:9;7357:22;7326:59;:::i;:::-;7319:4;7312:5;7308:16;7301:85;7248:149;7457:3;7493:80;7569:3;7560:6;7549:9;7545:22;7493:80;:::i;:::-;7484:6;7477:5;7473:18;7466:108;7407:178;7647:3;7683:57;7736:3;7727:6;7716:9;7712:22;7683:57;:::i;:::-;7674:6;7667:5;7663:18;7656:85;7595:157;7815:3;7851:57;7904:3;7895:6;7884:9;7880:22;7851:57;:::i;8255:134::-;8333:13;;8351:33;8333:13;8351:33;:::i;8396:132::-;8473:13;;8491:32;8473:13;8491:32;:::i;8535:134::-;8613:13;;8631:33;8613:13;8631:33;:::i;8676:132::-;8753:13;;8771:32;8753:13;8771:32;:::i;8815:132::-;8892:13;;8910:32;8892:13;8910:32;:::i;8954:263::-;;9069:2;9057:9;9048:7;9044:23;9040:32;9037:2;;;9085:1;9082;9075:12;9037:2;9120:1;9137:64;9193:7;9173:9;9137:64;:::i;9224:1707::-;;;;;;;;;;;9559:3;9547:9;9538:7;9534:23;9530:33;9527:2;;;9576:1;9573;9566:12;9527:2;9611:1;9628:72;9692:7;9672:9;9628:72;:::i;:::-;9618:82;;9590:116;9737:2;9755:72;9819:7;9810:6;9799:9;9795:22;9755:72;:::i;:::-;9745:82;;9716:117;9864:2;9882:64;9938:7;9929:6;9918:9;9914:22;9882:64;:::i;:::-;9872:74;;9843:109;9983:2;10001:64;10057:7;10048:6;10037:9;10033:22;10001:64;:::i;:::-;9991:74;;9962:109;10102:3;10121:63;10176:7;10167:6;10156:9;10152:22;10121:63;:::i;:::-;10111:73;;10081:109;10221:3;10240:63;10295:7;10286:6;10275:9;10271:22;10240:63;:::i;:::-;10230:73;;10200:109;10340:3;10359:61;10412:7;10403:6;10392:9;10388:22;10359:61;:::i;:::-;10349:71;;10319:107;10457:3;10476:79;10547:7;10538:6;10527:9;10523:22;10476:79;:::i;:::-;10466:89;;10436:125;10613:3;10602:9;10598:19;10592:26;-1:-1;;;;;10630:6;10627:30;10624:2;;;10670:1;10667;10660:12;10624:2;10690:73;10755:7;10746:6;10735:9;10731:22;10690:73;:::i;:::-;10680:83;;10571:198;10800:3;10819:96;10907:7;10898:6;10887:9;10883:22;10819:96;:::i;:::-;10809:106;;10779:142;9521:1410;;;;;;;;;;;;;:::o;10938:415::-;;;11078:2;11066:9;11057:7;11053:23;11049:32;11046:2;;;11094:1;11091;11084:12;11046:2;11129:1;11146:72;11210:7;11190:9;11146:72;:::i;:::-;11136:82;;11108:116;11255:2;11273:64;11329:7;11320:6;11309:9;11305:22;11273:64;:::i;:::-;11263:74;;11234:109;11040:313;;;;;:::o;11360:392::-;;11500:2;11488:9;11479:7;11475:23;11471:32;11468:2;;;11516:1;11513;11506:12;11468:2;11551:24;;-1:-1;;;;;11584:30;;11581:2;;;11627:1;11624;11617:12;11581:2;11647:89;11728:7;11719:6;11708:9;11704:22;11647:89;:::i;11759:257::-;;11871:2;11859:9;11850:7;11846:23;11842:32;11839:2;;;11887:1;11884;11877:12;11839:2;11922:1;11939:61;11992:7;11972:9;11939:61;:::i;12023:345::-;;12136:2;12124:9;12115:7;12111:23;12107:32;12104:2;;;12152:1;12149;12142:12;12104:2;12187:31;;-1:-1;;;;;12227:30;;12224:2;;;12270:1;12267;12260:12;12224:2;12290:62;12344:7;12335:6;12324:9;12320:22;12290:62;:::i;12375:328::-;;12522:3;12510:9;12501:7;12497:23;12493:33;12490:2;;;12539:1;12536;12529:12;12490:2;12574:1;12591:96;12679:7;12659:9;12591:96;:::i;12710:318::-;;12852:3;12840:9;12831:7;12827:23;12823:33;12820:2;;;12869:1;12866;12859:12;12820:2;12904:1;12921:91;13004:7;12984:9;12921:91;:::i;13035:322::-;;13179:3;13167:9;13158:7;13154:23;13150:33;13147:2;;;13196:1;13193;13186:12;13147:2;13231:1;13248:93;13333:7;13313:9;13248:93;:::i;13364:261::-;;13478:2;13466:9;13457:7;13453:23;13449:32;13446:2;;;13494:1;13491;13484:12;13446:2;13529:1;13546:63;13601:7;13581:9;13546:63;:::i;13632:263::-;;13747:2;13735:9;13726:7;13722:23;13718:32;13715:2;;;13763:1;13760;13753:12;13715:2;13798:1;13815:64;13871:7;13851:9;13815:64;:::i;13902:496::-;;;14043:2;14031:9;14022:7;14018:23;14014:32;14011:2;;;14059:1;14056;14049:12;14011:2;14094:1;14111:64;14167:7;14147:9;14111:64;:::i;:::-;14101:74;;14073:108;14233:2;14222:9;14218:18;14212:25;-1:-1;;;;;14249:6;14246:30;14243:2;;;14289:1;14286;14279:12;14243:2;14309:73;14374:7;14365:6;14354:9;14350:22;14309:73;:::i;14405:399::-;;;14537:2;14525:9;14516:7;14512:23;14508:32;14505:2;;;14553:1;14550;14543:12;14505:2;14588:1;14605:64;14661:7;14641:9;14605:64;:::i;14812:173::-;;14899:46;14941:3;14933:6;14899:46;:::i;:::-;-1:-1;;14974:4;14965:14;;14892:93::o;14994:169::-;;15079:44;15119:3;15111:6;15079:44;:::i;15172:173::-;;15259:46;15301:3;15293:6;15259:46;:::i;15353:103::-;15426:24;15444:5;15426:24;:::i;:::-;15421:3;15414:37;15408:48;;:::o;15614:690::-;;15759:54;15807:5;15759:54;:::i;:::-;15826:86;15905:6;15900:3;15826:86;:::i;:::-;15819:93;;15933:56;15983:5;15933:56;:::i;:::-;16009:7;16037:1;16022:260;16047:6;16044:1;16041:13;16022:260;;;16114:6;16108:13;16135:63;16194:3;16179:13;16135:63;:::i;:::-;16128:70;;16215:60;16268:6;16215:60;:::i;:::-;16205:70;-1:-1;;16069:1;16062:9;16022:260;;;-1:-1;16295:3;;15738:566;-1:-1;;;;;15738:566::o;16341:682::-;;16484:53;16531:5;16484:53;:::i;:::-;16550:85;16628:6;16623:3;16550:85;:::i;:::-;16543:92;;16656:55;16705:5;16656:55;:::i;:::-;16731:7;16759:1;16744:257;16769:6;16766:1;16763:13;16744:257;;;16836:6;16830:13;16857:61;16914:3;16899:13;16857:61;:::i;:::-;16850:68;;16935:59;16987:6;16935:59;:::i;:::-;16925:69;-1:-1;;16791:1;16784:9;16744:257;;17062:690;;17207:54;17255:5;17207:54;:::i;:::-;17274:86;17353:6;17348:3;17274:86;:::i;:::-;17267:93;;17381:56;17431:5;17381:56;:::i;:::-;17457:7;17485:1;17470:260;17495:6;17492:1;17489:13;17470:260;;;17562:6;17556:13;17583:63;17642:3;17627:13;17583:63;:::i;:::-;17576:70;;17663:60;17716:6;17663:60;:::i;:::-;17653:70;-1:-1;;17517:1;17510:9;17470:260;;17760:104;17837:21;17852:5;17837:21;:::i;17871:343::-;;17981:38;18013:5;17981:38;:::i;:::-;18031:70;18094:6;18089:3;18031:70;:::i;:::-;18024:77;;18106:52;18151:6;18146:3;18139:4;18132:5;18128:16;18106:52;:::i;:::-;18179:29;18201:6;18179:29;:::i;:::-;18170:39;;;;17961:253;-1:-1;;;17961:253::o;18221:356::-;;18349:38;18381:5;18349:38;:::i;:::-;18399:88;18480:6;18475:3;18399:88;:::i;:::-;18392:95;;18492:52;18537:6;18532:3;18525:4;18518:5;18514:16;18492:52;:::i;:::-;18556:16;;;;;18329:248;-1:-1;;18329:248::o;18584:152::-;18680:50;18724:5;18680:50;:::i;19098:327::-;;19258:67;19322:2;19317:3;19258:67;:::i;:::-;19358:29;19338:50;;19416:2;19407:12;;19244:181;-1:-1;;19244:181::o;19434:375::-;;19594:67;19658:2;19653:3;19594:67;:::i;:::-;19694:34;19674:55;;-1:-1;;;19758:2;19749:12;;19742:30;19800:2;19791:12;;19580:229;-1:-1;;19580:229::o;19818:326::-;;19978:67;20042:2;20037:3;19978:67;:::i;:::-;20078:28;20058:49;;20135:2;20126:12;;19964:180;-1:-1;;19964:180::o;20153:375::-;;20313:67;20377:2;20372:3;20313:67;:::i;:::-;20413:34;20393:55;;-1:-1;;;20477:2;20468:12;;20461:30;20519:2;20510:12;;20299:229;-1:-1;;20299:229::o;20537:329::-;;20697:67;20761:2;20756:3;20697:67;:::i;:::-;20797:31;20777:52;;20857:2;20848:12;;20683:183;-1:-1;;20683:183::o;20875:461::-;;21035:67;21099:2;21094:3;21035:67;:::i;:::-;21135:34;21115:55;;21204:34;21199:2;21190:12;;21183:56;21273:25;21268:2;21259:12;;21252:47;21327:2;21318:12;;21021:315;-1:-1;;21021:315::o;21345:379::-;;21505:67;21569:2;21564:3;21505:67;:::i;:::-;21605:34;21585:55;;-1:-1;;;21669:2;21660:12;;21653:34;21715:2;21706:12;;21491:233;-1:-1;;21491:233::o;21733:391::-;;21893:67;21957:2;21952:3;21893:67;:::i;:::-;21993:34;21973:55;;-1:-1;;;22057:2;22048:12;;22041:46;22115:2;22106:12;;21879:245;-1:-1;;21879:245::o;22263:985::-;22493:23;;22420:4;22411:14;;;22522:63;22415:3;22493:23;22522:63;:::i;:::-;22440:151;22672:4;22665:5;22661:16;22655:23;22684:63;22741:4;22736:3;22732:14;22718:12;22684:63;:::i;:::-;22601:152;22835:4;22828:5;22824:16;22818:23;22847:63;22904:4;22899:3;22895:14;22881:12;22847:63;:::i;:::-;22763:153;22998:4;22991:5;22987:16;22981:23;23010:61;23065:4;23060:3;23056:14;23042:12;23010:61;:::i;:::-;22926:151;23154:4;23147:5;23143:16;23137:23;23166:61;23221:4;23216:3;23212:14;23198:12;23166:61;:::i;23255:103::-;23328:24;23346:5;23328:24;:::i;23485:100::-;23556:23;23573:5;23556:23;:::i;23709:103::-;23782:24;23800:5;23782:24;:::i;23939:110::-;24020:23;24037:5;24020:23;:::i;24056:100::-;24127:23;24144:5;24127:23;:::i;24163:271::-;;24316:93;24405:3;24396:6;24316:93;:::i;24441:222::-;24568:2;24553:18;;24582:71;24557:9;24626:6;24582:71;:::i;24670:333::-;24825:2;24810:18;;24839:71;24814:9;24883:6;24839:71;:::i;:::-;24921:72;24989:2;24978:9;24974:18;24965:6;24921:72;:::i;25010:1446::-;25474:3;25459:19;;25489:71;25463:9;25533:6;25489:71;:::i;:::-;25571:72;25639:2;25628:9;25624:18;25615:6;25571:72;:::i;:::-;25654;25722:2;25711:9;25707:18;25698:6;25654:72;:::i;:::-;25737;25805:2;25794:9;25790:18;25781:6;25737:72;:::i;:::-;25820:71;25886:3;25875:9;25871:19;25862:6;25820:71;:::i;:::-;25902;25968:3;25957:9;25953:19;25944:6;25902:71;:::i;:::-;25984:67;26046:3;26035:9;26031:19;26022:6;25984:67;:::i;:::-;26062:86;26143:3;26132:9;26128:19;26119:6;26062:86;:::i;:::-;26197:9;26191:4;26187:20;26181:3;26170:9;26166:19;26159:49;26222:76;26293:4;26284:6;26222:76;:::i;:::-;26214:84;;26309:137;26441:3;26430:9;26426:19;26417:6;26309:137;:::i;:::-;25445:1011;;;;;;;;;;;;;:::o;26463:333::-;26618:2;26603:18;;26632:71;26607:9;26676:6;26632:71;:::i;:::-;26714:72;26782:2;26771:9;26767:18;26758:6;26714:72;:::i;26803:370::-;26980:2;26994:47;;;26965:18;;27055:108;26965:18;27149:6;27055:108;:::i;27180:629::-;27435:2;27449:47;;;27420:18;;27510:108;27420:18;27604:6;27510:108;:::i;:::-;27502:116;;27666:9;27660:4;27656:20;27651:2;27640:9;27636:18;27629:48;27691:108;27794:4;27785:6;27691:108;:::i;27816:366::-;27991:2;28005:47;;;27976:18;;28066:106;27976:18;28158:6;28066:106;:::i;28189:310::-;28336:2;28350:47;;;28321:18;;28411:78;28321:18;28475:6;28411:78;:::i;28506:416::-;28706:2;28720:47;;;28691:18;;28781:131;28691:18;28781:131;:::i;28929:416::-;29129:2;29143:47;;;29114:18;;29204:131;29114:18;29204:131;:::i;29352:416::-;29552:2;29566:47;;;29537:18;;29627:131;29537:18;29627:131;:::i;29775:416::-;29975:2;29989:47;;;29960:18;;30050:131;29960:18;30050:131;:::i;30198:416::-;30398:2;30412:47;;;30383:18;;30473:131;30383:18;30473:131;:::i;30621:416::-;30821:2;30835:47;;;30806:18;;30896:131;30806:18;30896:131;:::i;31044:416::-;31244:2;31258:47;;;31229:18;;31319:131;31229:18;31319:131;:::i;31467:416::-;31667:2;31681:47;;;31652:18;;31742:131;31652:18;31742:131;:::i;31890:218::-;32015:2;32000:18;;32029:69;32004:9;32071:6;32029:69;:::i;32115:222::-;32242:2;32227:18;;32256:71;32231:9;32300:6;32256:71;:::i;32344:256::-;32406:2;32400:9;32432:17;;;-1:-1;;;;;32492:34;;32528:22;;;32489:62;32486:2;;;32564:1;32561;32554:12;32486:2;32580;32573:22;32384:216;;-1:-1;32384:216::o;32607:304::-;;-1:-1;;;;;32758:6;32755:30;32752:2;;;32798:1;32795;32788:12;32752:2;-1:-1;32833:4;32821:17;;;32886:15;;32689:222::o;32918:321::-;;-1:-1;;;;;33053:6;33050:30;33047:2;;;33093:1;33090;33083:12;33047:2;-1:-1;33224:4;33160;33137:17;;;;-1:-1;;33133:33;33214:15;;32984:255::o;33246:151::-;33370:4;33361:14;;33318:79::o;33719:137::-;33822:12;;33793:63::o;34752:178::-;34870:19;;;34919:4;34910:14;;34863:67::o;35807:91::-;;35869:24;35887:5;35869:24;:::i;36011:85::-;36077:13;36070:21;;36053:43::o;36103:136::-;36180:5;36186:48;36180:5;36186:48;:::i;36246:113::-;-1:-1;;;;;36308:46;;36291:68::o;36366:121::-;-1:-1;;;;;36428:54;;36411:76::o;36494:86::-;36566:8;36555:20;;36538:42::o;36587:72::-;36649:5;36632:27::o;36666:88::-;36738:10;36727:22;;36710:44::o;36761:96::-;-1:-1;;;;;36822:30;;36805:52::o;36864:136::-;;36956:39;36989:5;36956:39;:::i;37008:145::-;37089:6;37084:3;37079;37066:30;-1:-1;37145:1;37127:16;;37120:27;37059:94::o;37162:268::-;37227:1;37234:101;37248:6;37245:1;37242:13;37234:101;;;37315:11;;;37309:18;37296:11;;;37289:39;37270:2;37263:10;37234:101;;;37350:6;37347:1;37344:13;37341:2;;;-1:-1;;37415:1;37397:16;;37390:27;37211:219::o;37438:97::-;37526:2;37506:14;-1:-1;;37502:28;;37486:49::o;37543:106::-;37627:1;37620:5;37617:12;37607:2;;37633:9;37656:117;37725:24;37743:5;37725:24;:::i;:::-;37718:5;37715:35;37705:2;;37764:1;37761;37754:12;37920:111;37986:21;38001:5;37986:21;:::i;38038:114::-;38127:1;38120:5;38117:12;38107:2;;38143:1;38140;38133:12;38275:117;38344:24;38362:5;38344:24;:::i;38399:115::-;38467:23;38484:5;38467:23;:::i;38521:117::-;38590:24;38608:5;38590:24;:::i;38645:115::-;38713:23;38730:5;38713:23;:::i;38767:115::-;38835:23;38852:5;38835:23;:::i", "linkReferences": {}, "immutableReferences": { "35306": [ { "start": 2134, "length": 32 }, { "start": 2320, "length": 32 }, { "start": 3142, "length": 32 }, { "start": 4148, "length": 32 }, { "start": 4348, "length": 32 }, { "start": 4811, "length": 32 }, { "start": 5488, "length": 32 }, { "start": 5780, "length": 32 } ] } }, "methodIdentifiers": { "getDebtAssets()": "ecd658b4", "getIssuedVouchers()": "0f081d50", "getManagedAssets()": "80daddb8", "getOffers()": "3ee992ee", "init(bytes)": "4ddf47d4", "receiveCallFromVault(bytes)": "e5c23a97" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_initialConvertibleOfferingMarket\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voucher\",\"type\":\"address\"}],\"name\":\"IssuedVoucherAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voucher\",\"type\":\"address\"}],\"name\":\"IssuedVoucherRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint24\",\"name\":\"offerId\",\"type\":\"uint24\"}],\"name\":\"OfferAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint24\",\"name\":\"offerId\",\"type\":\"uint24\"}],\"name\":\"OfferRemoved\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"getDebtAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"assets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getIssuedVouchers\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"vouchers_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getManagedAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"assets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOffers\",\"outputs\":[{\"internalType\":\"uint24[]\",\"name\":\"offers_\",\"type\":\"uint24[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"}],\"name\":\"receiveCallFromVault\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"getDebtAssets()\":{\"returns\":{\"amounts_\":\"Debt asset amounts\",\"assets_\":\"Debt assets\"}},\"getIssuedVouchers()\":{\"returns\":{\"vouchers_\":\"The array of issued voucher addresses\"}},\"getManagedAssets()\":{\"details\":\"There are 3 types of assets that contribute value to this position: 1. Underlying balance outstanding in IVO offers (collateral not yet used for minting) 2. Unreconciled assets received for an IVO sale 3. Outstanding assets that are withdrawable from issued vouchers (post-maturity)\",\"returns\":{\"amounts_\":\"Managed asset amounts\",\"assets_\":\"Managed assets\"}},\"getOffers()\":{\"returns\":{\"offers_\":\"The array of created offer ids\"}},\"init(bytes)\":{\"details\":\"Nothing to initialize for this contract\"},\"receiveCallFromVault(bytes)\":{\"params\":{\"_actionData\":\"Encoded data to execute the action\"}}},\"title\":\"SolvV2ConvertibleIssuerPositionLib Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getDebtAssets()\":{\"notice\":\"Retrieves the debt assets (negative value) of the external position\"},\"getIssuedVouchers()\":{\"notice\":\"Gets the issued vouchers\"},\"getManagedAssets()\":{\"notice\":\"Retrieves the managed assets (positive value) of the external position\"},\"getOffers()\":{\"notice\":\"Gets the created offers\"},\"init(bytes)\":{\"notice\":\"Initializes the external position\"},\"receiveCallFromVault(bytes)\":{\"notice\":\"Receives and executes a call from the Vault\"}},\"notice\":\"Library contract for Solv V2 Convertible Issuer Positions\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/solv-v2-convertible-issuer/SolvV2ConvertibleIssuerPositionLib.sol\":\"SolvV2ConvertibleIssuerPositionLib\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/persistent/external-positions/solv-v2-convertible-issuer/SolvV2ConvertibleIssuerPositionLibBase1.sol\":{\"keccak256\":\"0x35fe67bf530be402aa73b3d23747e07d00ba5d36d30a9ca7e3d9f910f95b5528\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d75931a5213dd4a7a1d24f85b3568c6c1188985215964606a7757f1961ac99bb\",\"dweb:/ipfs/QmWd2ESTAF7HuHmCqYScD1yDG66f8kkRCGy11Bm44wadDH\"]},\"contracts/release/extensions/external-position-manager/external-positions/solv-v2-convertible-issuer/ISolvV2ConvertibleIssuerPosition.sol\":{\"keccak256\":\"0x728f83194c387f423d6d150da01cc276299e4553d58e60a8417b704204f9284b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://77a1628aad46e788f606150955940aecf91d002adb80a62255366e3f35d40843\",\"dweb:/ipfs/QmUtxTYmmtZ93euxWW87aSBsQEFPLSJ55X9BR6WgRuUr6h\"]},\"contracts/release/extensions/external-position-manager/external-positions/solv-v2-convertible-issuer/SolvV2ConvertibleIssuerPositionDataDecoder.sol\":{\"keccak256\":\"0xa08ecd4d412419fb3fc0057ffe373508d95e0e83bbcccf0cb5e51cf623ebaeac\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c0bf53474024ecad55dd4a4ba17eec58c96b4543c9b6a1f6a33235b1e4199e4d\",\"dweb:/ipfs/QmQXd6ety32NitagfkKCTkqCcUee5vj9jrV4cJjot5iY1v\"]},\"contracts/release/extensions/external-position-manager/external-positions/solv-v2-convertible-issuer/SolvV2ConvertibleIssuerPositionLib.sol\":{\"keccak256\":\"0x3d0cda1b3b08e497ee150e93de248bbb58daa61e83ed92e5480f1e7568684c84\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://7669f6a053dac613e472da60943b65e3981a98b613c0e4e05d0f5923d0509af2\",\"dweb:/ipfs/QmXQtKpc28FMWVFwmVV3RFEbCiXxM8XKvpqqxjqSgDuueq\"]},\"contracts/release/interfaces/ISolvV2ConvertiblePool.sol\":{\"keccak256\":\"0x1943f59f09537f176ae398ae51184c9c69e8c366e74f2e7d2f02326c35e6fde7\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://cc239c228406fa50ec4f40a44af9438efdeb63338846a65d5864c61a643e037b\",\"dweb:/ipfs/QmZhYZoKUAPtksVygGhetvP6Yvu4UAsCpiHAqbPWLtpVJC\"]},\"contracts/release/interfaces/ISolvV2ConvertibleVoucher.sol\":{\"keccak256\":\"0xebec2ad1a5024a1958a558378dfde09cebe998609caa718f13b0088a0347a630\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://fa18447e3accb03306a9904d2d2247c8cadca34a9bc87ca585e6b0646f0814d7\",\"dweb:/ipfs/QmNyrXdUZqbYyDyEu6RyQXttD4mpETd6fFS1UiL2PVDnXf\"]},\"contracts/release/interfaces/ISolvV2InitialConvertibleOfferingMarket.sol\":{\"keccak256\":\"0xe34205d54ec639e2e3f8e0e2871984a6796424d903259857f1f11de260cf8abe\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://908f8d334df9ae2191787a8e53c78b1847bd936f2ce9d04115f5e9339c3e3934\",\"dweb:/ipfs/QmZzxE748Hb2Vosu7cwPmkb4EVpoqvS4RgHogLrvDgsnD3\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"contracts/release/utils/Uint256ArrayLib.sol\":{\"keccak256\":\"0x1627d0d32692b86c5dd3e74ebb8305fbf99a3c41d4b90e736077762cc80c1a31\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://54ff92ccd4bd685dda44c2520e3f52478168e909b400c3cc4076d37f5c2704ef\",\"dweb:/ipfs/QmYUxeaKfPwnUtP35i6JJ3ptsaDFEV6SD2o4VV8d5vBUZD\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_initialConvertibleOfferingMarket", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "voucher", "type": "address", "indexed": true } ], "type": "event", "name": "IssuedVoucherAdded", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "voucher", "type": "address", "indexed": true } ], "type": "event", "name": "IssuedVoucherRemoved", "anonymous": false }, { "inputs": [ { "internalType": "uint24", "name": "offerId", "type": "uint24", "indexed": true } ], "type": "event", "name": "OfferAdded", "anonymous": false }, { "inputs": [ { "internalType": "uint24", "name": "offerId", "type": "uint24", "indexed": true } ], "type": "event", "name": "OfferRemoved", "anonymous": false }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "getDebtAssets", "outputs": [ { "internalType": "address[]", "name": "assets_", "type": "address[]" }, { "internalType": "uint256[]", "name": "amounts_", "type": "uint256[]" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getIssuedVouchers", "outputs": [ { "internalType": "address[]", "name": "vouchers_", "type": "address[]" } ] }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "getManagedAssets", "outputs": [ { "internalType": "address[]", "name": "assets_", "type": "address[]" }, { "internalType": "uint256[]", "name": "amounts_", "type": "uint256[]" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getOffers", "outputs": [ { "internalType": "uint24[]", "name": "offers_", "type": "uint24[]" } ] }, { "inputs": [ { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "init" }, { "inputs": [ { "internalType": "bytes", "name": "_actionData", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "receiveCallFromVault" } ], "devdoc": { "kind": "dev", "methods": { "getDebtAssets()": { "returns": { "amounts_": "Debt asset amounts", "assets_": "Debt assets" } }, "getIssuedVouchers()": { "returns": { "vouchers_": "The array of issued voucher addresses" } }, "getManagedAssets()": { "details": "There are 3 types of assets that contribute value to this position: 1. Underlying balance outstanding in IVO offers (collateral not yet used for minting) 2. Unreconciled assets received for an IVO sale 3. Outstanding assets that are withdrawable from issued vouchers (post-maturity)", "returns": { "amounts_": "Managed asset amounts", "assets_": "Managed assets" } }, "getOffers()": { "returns": { "offers_": "The array of created offer ids" } }, "init(bytes)": { "details": "Nothing to initialize for this contract" }, "receiveCallFromVault(bytes)": { "params": { "_actionData": "Encoded data to execute the action" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "getDebtAssets()": { "notice": "Retrieves the debt assets (negative value) of the external position" }, "getIssuedVouchers()": { "notice": "Gets the issued vouchers" }, "getManagedAssets()": { "notice": "Retrieves the managed assets (positive value) of the external position" }, "getOffers()": { "notice": "Gets the created offers" }, "init(bytes)": { "notice": "Initializes the external position" }, "receiveCallFromVault(bytes)": { "notice": "Receives and executes a call from the Vault" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/external-position-manager/external-positions/solv-v2-convertible-issuer/SolvV2ConvertibleIssuerPositionLib.sol": "SolvV2ConvertibleIssuerPositionLib" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/external-positions/IExternalPosition.sol": { "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", "urls": [ "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" ], "license": "GPL-3.0" }, "contracts/persistent/external-positions/solv-v2-convertible-issuer/SolvV2ConvertibleIssuerPositionLibBase1.sol": { "keccak256": "0x35fe67bf530be402aa73b3d23747e07d00ba5d36d30a9ca7e3d9f910f95b5528", "urls": [ "bzz-raw://d75931a5213dd4a7a1d24f85b3568c6c1188985215964606a7757f1961ac99bb", "dweb:/ipfs/QmWd2ESTAF7HuHmCqYScD1yDG66f8kkRCGy11Bm44wadDH" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/solv-v2-convertible-issuer/ISolvV2ConvertibleIssuerPosition.sol": { "keccak256": "0x728f83194c387f423d6d150da01cc276299e4553d58e60a8417b704204f9284b", "urls": [ "bzz-raw://77a1628aad46e788f606150955940aecf91d002adb80a62255366e3f35d40843", "dweb:/ipfs/QmUtxTYmmtZ93euxWW87aSBsQEFPLSJ55X9BR6WgRuUr6h" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/solv-v2-convertible-issuer/SolvV2ConvertibleIssuerPositionDataDecoder.sol": { "keccak256": "0xa08ecd4d412419fb3fc0057ffe373508d95e0e83bbcccf0cb5e51cf623ebaeac", "urls": [ "bzz-raw://c0bf53474024ecad55dd4a4ba17eec58c96b4543c9b6a1f6a33235b1e4199e4d", "dweb:/ipfs/QmQXd6ety32NitagfkKCTkqCcUee5vj9jrV4cJjot5iY1v" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/solv-v2-convertible-issuer/SolvV2ConvertibleIssuerPositionLib.sol": { "keccak256": "0x3d0cda1b3b08e497ee150e93de248bbb58daa61e83ed92e5480f1e7568684c84", "urls": [ "bzz-raw://7669f6a053dac613e472da60943b65e3981a98b613c0e4e05d0f5923d0509af2", "dweb:/ipfs/QmXQtKpc28FMWVFwmVV3RFEbCiXxM8XKvpqqxjqSgDuueq" ], "license": "GPL-3.0" }, "contracts/release/interfaces/ISolvV2ConvertiblePool.sol": { "keccak256": "0x1943f59f09537f176ae398ae51184c9c69e8c366e74f2e7d2f02326c35e6fde7", "urls": [ "bzz-raw://cc239c228406fa50ec4f40a44af9438efdeb63338846a65d5864c61a643e037b", "dweb:/ipfs/QmZhYZoKUAPtksVygGhetvP6Yvu4UAsCpiHAqbPWLtpVJC" ], "license": "GPL-3.0" }, "contracts/release/interfaces/ISolvV2ConvertibleVoucher.sol": { "keccak256": "0xebec2ad1a5024a1958a558378dfde09cebe998609caa718f13b0088a0347a630", "urls": [ "bzz-raw://fa18447e3accb03306a9904d2d2247c8cadca34a9bc87ca585e6b0646f0814d7", "dweb:/ipfs/QmNyrXdUZqbYyDyEu6RyQXttD4mpETd6fFS1UiL2PVDnXf" ], "license": "GPL-3.0" }, "contracts/release/interfaces/ISolvV2InitialConvertibleOfferingMarket.sol": { "keccak256": "0xe34205d54ec639e2e3f8e0e2871984a6796424d903259857f1f11de260cf8abe", "urls": [ "bzz-raw://908f8d334df9ae2191787a8e53c78b1847bd936f2ce9d04115f5e9339c3e3934", "dweb:/ipfs/QmZzxE748Hb2Vosu7cwPmkb4EVpoqvS4RgHogLrvDgsnD3" ], "license": "GPL-3.0" }, "contracts/release/utils/AddressArrayLib.sol": { "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", "urls": [ "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" ], "license": "GPL-3.0" }, "contracts/release/utils/AssetHelpers.sol": { "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", "urls": [ "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" ], "license": "GPL-3.0" }, "contracts/release/utils/Uint256ArrayLib.sol": { "keccak256": "0x1627d0d32692b86c5dd3e74ebb8305fbf99a3c41d4b90e736077762cc80c1a31", "urls": [ "bzz-raw://54ff92ccd4bd685dda44c2520e3f52478168e909b400c3cc4076d37f5c2704ef", "dweb:/ipfs/QmYUxeaKfPwnUtP35i6JJ3ptsaDFEV6SD2o4VV8d5vBUZD" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", "urls": [ "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Address.sol": { "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", "urls": [ "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" } }, "version": 1 }, "id": 136 } diff --git a/eth_defi/abi/enzyme/SolvV2ConvertibleIssuerPositionLibBase1.json b/eth_defi/abi/enzyme/SolvV2ConvertibleIssuerPositionLibBase1.json index 94659074..0171715f 100644 --- a/eth_defi/abi/enzyme/SolvV2ConvertibleIssuerPositionLibBase1.json +++ b/eth_defi/abi/enzyme/SolvV2ConvertibleIssuerPositionLibBase1.json @@ -1,200 +1 @@ -{ - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "voucher", - "type": "address" - } - ], - "name": "IssuedVoucherAdded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "voucher", - "type": "address" - } - ], - "name": "IssuedVoucherRemoved", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint24", - "name": "offerId", - "type": "uint24" - } - ], - "name": "OfferAdded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint24", - "name": "offerId", - "type": "uint24" - } - ], - "name": "OfferRemoved", - "type": "event" - } - ], - "bytecode": { - "object": "0x6080604052348015600f57600080fd5b50601680601d6000396000f3fe6080604052600080fdfea164736f6c634300060c000a", - "sourceMap": "966:377:37:-:0;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x6080604052600080fdfea164736f6c634300060c000a", - "sourceMap": "966:377:37:-:0;;;;;", - "linkReferences": {} - }, - "methodIdentifiers": {}, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voucher\",\"type\":\"address\"}],\"name\":\"IssuedVoucherAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voucher\",\"type\":\"address\"}],\"name\":\"IssuedVoucherRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint24\",\"name\":\"offerId\",\"type\":\"uint24\"}],\"name\":\"OfferAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint24\",\"name\":\"offerId\",\"type\":\"uint24\"}],\"name\":\"OfferRemoved\",\"type\":\"event\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"DO NOT EDIT CONTRACT. If new events or storage are necessary, they should be added to a numbered SolvV2ConvertibleIssuerPositionLibBaseXXX that inherits the previous base. e.g., `SolvV2ConvertibleIssuerPositionLibBase2 is SolvV2ConvertibleIssuerPositionLibBase1`\",\"kind\":\"dev\",\"methods\":{},\"title\":\"SolvV2ConvertibleIssuerPositionLibBase1 Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"A persistent contract containing all required storage variables and required functions for a SolvV2ConvertibleIssuerPositionLib implementation\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/external-positions/solv-v2-convertible-issuer/SolvV2ConvertibleIssuerPositionLibBase1.sol\":\"SolvV2ConvertibleIssuerPositionLibBase1\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/external-positions/solv-v2-convertible-issuer/SolvV2ConvertibleIssuerPositionLibBase1.sol\":{\"keccak256\":\"0x35fe67bf530be402aa73b3d23747e07d00ba5d36d30a9ca7e3d9f910f95b5528\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d75931a5213dd4a7a1d24f85b3568c6c1188985215964606a7757f1961ac99bb\",\"dweb:/ipfs/QmWd2ESTAF7HuHmCqYScD1yDG66f8kkRCGy11Bm44wadDH\"]},\"contracts/release/interfaces/ISolvV2ConvertiblePool.sol\":{\"keccak256\":\"0x1943f59f09537f176ae398ae51184c9c69e8c366e74f2e7d2f02326c35e6fde7\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://cc239c228406fa50ec4f40a44af9438efdeb63338846a65d5864c61a643e037b\",\"dweb:/ipfs/QmZhYZoKUAPtksVygGhetvP6Yvu4UAsCpiHAqbPWLtpVJC\"]},\"contracts/release/interfaces/ISolvV2ConvertibleVoucher.sol\":{\"keccak256\":\"0xebec2ad1a5024a1958a558378dfde09cebe998609caa718f13b0088a0347a630\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://fa18447e3accb03306a9904d2d2247c8cadca34a9bc87ca585e6b0646f0814d7\",\"dweb:/ipfs/QmNyrXdUZqbYyDyEu6RyQXttD4mpETd6fFS1UiL2PVDnXf\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "voucher", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "IssuedVoucherAdded", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "voucher", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "IssuedVoucherRemoved", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "uint24", - "name": "offerId", - "type": "uint24", - "indexed": true - } - ], - "type": "event", - "name": "OfferAdded", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "uint24", - "name": "offerId", - "type": "uint24", - "indexed": true - } - ], - "type": "event", - "name": "OfferRemoved", - "anonymous": false - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/persistent/external-positions/solv-v2-convertible-issuer/SolvV2ConvertibleIssuerPositionLibBase1.sol": "SolvV2ConvertibleIssuerPositionLibBase1" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/external-positions/solv-v2-convertible-issuer/SolvV2ConvertibleIssuerPositionLibBase1.sol": { - "keccak256": "0x35fe67bf530be402aa73b3d23747e07d00ba5d36d30a9ca7e3d9f910f95b5528", - "urls": [ - "bzz-raw://d75931a5213dd4a7a1d24f85b3568c6c1188985215964606a7757f1961ac99bb", - "dweb:/ipfs/QmWd2ESTAF7HuHmCqYScD1yDG66f8kkRCGy11Bm44wadDH" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/ISolvV2ConvertiblePool.sol": { - "keccak256": "0x1943f59f09537f176ae398ae51184c9c69e8c366e74f2e7d2f02326c35e6fde7", - "urls": [ - "bzz-raw://cc239c228406fa50ec4f40a44af9438efdeb63338846a65d5864c61a643e037b", - "dweb:/ipfs/QmZhYZoKUAPtksVygGhetvP6Yvu4UAsCpiHAqbPWLtpVJC" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/ISolvV2ConvertibleVoucher.sol": { - "keccak256": "0xebec2ad1a5024a1958a558378dfde09cebe998609caa718f13b0088a0347a630", - "urls": [ - "bzz-raw://fa18447e3accb03306a9904d2d2247c8cadca34a9bc87ca585e6b0646f0814d7", - "dweb:/ipfs/QmNyrXdUZqbYyDyEu6RyQXttD4mpETd6fFS1UiL2PVDnXf" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 37 -} +{ "abi": [ { "type": "event", "name": "IssuedVoucherAdded", "inputs": [ { "name": "voucher", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "IssuedVoucherRemoved", "inputs": [ { "name": "voucher", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "OfferAdded", "inputs": [ { "name": "offerId", "type": "uint24", "indexed": true, "internalType": "uint24" } ], "anonymous": false }, { "type": "event", "name": "OfferRemoved", "inputs": [ { "name": "offerId", "type": "uint24", "indexed": true, "internalType": "uint24" } ], "anonymous": false } ], "bytecode": { "object": "0x6080604052348015600f57600080fd5b50601680601d6000396000f3fe6080604052600080fdfea164736f6c634300060c000a", "sourceMap": "966:377:37:-:0;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x6080604052600080fdfea164736f6c634300060c000a", "sourceMap": "966:377:37:-:0;;;;;", "linkReferences": {} }, "methodIdentifiers": {}, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voucher\",\"type\":\"address\"}],\"name\":\"IssuedVoucherAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"voucher\",\"type\":\"address\"}],\"name\":\"IssuedVoucherRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint24\",\"name\":\"offerId\",\"type\":\"uint24\"}],\"name\":\"OfferAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint24\",\"name\":\"offerId\",\"type\":\"uint24\"}],\"name\":\"OfferRemoved\",\"type\":\"event\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"DO NOT EDIT CONTRACT. If new events or storage are necessary, they should be added to a numbered SolvV2ConvertibleIssuerPositionLibBaseXXX that inherits the previous base. e.g., `SolvV2ConvertibleIssuerPositionLibBase2 is SolvV2ConvertibleIssuerPositionLibBase1`\",\"kind\":\"dev\",\"methods\":{},\"title\":\"SolvV2ConvertibleIssuerPositionLibBase1 Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"A persistent contract containing all required storage variables and required functions for a SolvV2ConvertibleIssuerPositionLib implementation\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/external-positions/solv-v2-convertible-issuer/SolvV2ConvertibleIssuerPositionLibBase1.sol\":\"SolvV2ConvertibleIssuerPositionLibBase1\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/external-positions/solv-v2-convertible-issuer/SolvV2ConvertibleIssuerPositionLibBase1.sol\":{\"keccak256\":\"0x35fe67bf530be402aa73b3d23747e07d00ba5d36d30a9ca7e3d9f910f95b5528\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d75931a5213dd4a7a1d24f85b3568c6c1188985215964606a7757f1961ac99bb\",\"dweb:/ipfs/QmWd2ESTAF7HuHmCqYScD1yDG66f8kkRCGy11Bm44wadDH\"]},\"contracts/release/interfaces/ISolvV2ConvertiblePool.sol\":{\"keccak256\":\"0x1943f59f09537f176ae398ae51184c9c69e8c366e74f2e7d2f02326c35e6fde7\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://cc239c228406fa50ec4f40a44af9438efdeb63338846a65d5864c61a643e037b\",\"dweb:/ipfs/QmZhYZoKUAPtksVygGhetvP6Yvu4UAsCpiHAqbPWLtpVJC\"]},\"contracts/release/interfaces/ISolvV2ConvertibleVoucher.sol\":{\"keccak256\":\"0xebec2ad1a5024a1958a558378dfde09cebe998609caa718f13b0088a0347a630\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://fa18447e3accb03306a9904d2d2247c8cadca34a9bc87ca585e6b0646f0814d7\",\"dweb:/ipfs/QmNyrXdUZqbYyDyEu6RyQXttD4mpETd6fFS1UiL2PVDnXf\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "voucher", "type": "address", "indexed": true } ], "type": "event", "name": "IssuedVoucherAdded", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "voucher", "type": "address", "indexed": true } ], "type": "event", "name": "IssuedVoucherRemoved", "anonymous": false }, { "inputs": [ { "internalType": "uint24", "name": "offerId", "type": "uint24", "indexed": true } ], "type": "event", "name": "OfferAdded", "anonymous": false }, { "inputs": [ { "internalType": "uint24", "name": "offerId", "type": "uint24", "indexed": true } ], "type": "event", "name": "OfferRemoved", "anonymous": false } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/persistent/external-positions/solv-v2-convertible-issuer/SolvV2ConvertibleIssuerPositionLibBase1.sol": "SolvV2ConvertibleIssuerPositionLibBase1" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/external-positions/solv-v2-convertible-issuer/SolvV2ConvertibleIssuerPositionLibBase1.sol": { "keccak256": "0x35fe67bf530be402aa73b3d23747e07d00ba5d36d30a9ca7e3d9f910f95b5528", "urls": [ "bzz-raw://d75931a5213dd4a7a1d24f85b3568c6c1188985215964606a7757f1961ac99bb", "dweb:/ipfs/QmWd2ESTAF7HuHmCqYScD1yDG66f8kkRCGy11Bm44wadDH" ], "license": "GPL-3.0" }, "contracts/release/interfaces/ISolvV2ConvertiblePool.sol": { "keccak256": "0x1943f59f09537f176ae398ae51184c9c69e8c366e74f2e7d2f02326c35e6fde7", "urls": [ "bzz-raw://cc239c228406fa50ec4f40a44af9438efdeb63338846a65d5864c61a643e037b", "dweb:/ipfs/QmZhYZoKUAPtksVygGhetvP6Yvu4UAsCpiHAqbPWLtpVJC" ], "license": "GPL-3.0" }, "contracts/release/interfaces/ISolvV2ConvertibleVoucher.sol": { "keccak256": "0xebec2ad1a5024a1958a558378dfde09cebe998609caa718f13b0088a0347a630", "urls": [ "bzz-raw://fa18447e3accb03306a9904d2d2247c8cadca34a9bc87ca585e6b0646f0814d7", "dweb:/ipfs/QmNyrXdUZqbYyDyEu6RyQXttD4mpETd6fFS1UiL2PVDnXf" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 37 } diff --git a/eth_defi/abi/enzyme/SolvV2ConvertibleIssuerPositionParser.json b/eth_defi/abi/enzyme/SolvV2ConvertibleIssuerPositionParser.json index 37516b12..ff3fd994 100644 --- a/eth_defi/abi/enzyme/SolvV2ConvertibleIssuerPositionParser.json +++ b/eth_defi/abi/enzyme/SolvV2ConvertibleIssuerPositionParser.json @@ -1,410 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_initialConvertibleOfferingMarket", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_externalPosition", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_actionId", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_encodedActionArgs", - "type": "bytes" - } - ], - "name": "parseAssetsForAction", - "outputs": [ - { - "internalType": "address[]", - "name": "assetsToTransfer_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "amountsToTransfer_", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "assetsToReceive_", - "type": "address[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "parseInitArgs", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x60a06040523480156200001157600080fd5b5060405162001ab238038062001ab283398101604081905262000034916200005d565b60601b6001600160601b031916608052620000b2565b8051620000578162000098565b92915050565b6000602082840312156200007057600080fd5b60006200007e84846200004a565b949350505050565b60006001600160a01b03821662000057565b620000a38162000086565b8114620000af57600080fd5b50565b60805160601c6119dd620000d560003980610250528061068a52506119dd6000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063bbd2d6461461003b578063db16c72e14610066575b600080fd5b61004e610049366004611467565b610086565b60405161005d939291906117b9565b60405180910390f35b61007961007436600461141f565b610b0e565b60405161005d91906117fb565b60608080846101bc5760008061009a610d98565b6100a387610b16565b995050505050505050925092506100b982610b61565b6040805160018082528183019092529060208083019080368337019050509550826001600160a01b0316636f307dc36040518163ffffffff1660e01b815260040160206040518083038186803b15801561011257600080fd5b505afa158015610126573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061014a91906112ce565b8660008151811061015757fe5b6001600160a01b039290921660209283029190910182015260408051600180825281830190925291828101908036833701905050945080604001516001600160801b0316856000815181106101a857fe5b602002602001018181525050505050610b05565b60018514156103a7576060866001600160a01b0316633ee992ee6040518163ffffffff1660e01b815260040160006040518083038186803b15801561020057600080fd5b505afa158015610214573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261023c91908101906114cc565b805190915060005b8181101561039f5760007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316639cfb2ab085848151811061028957fe5b60200260200101516040518263ffffffff1660e01b81526004016102ad919061183c565b6101a06040518083038186803b1580156102c657600080fd5b505afa1580156102da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102fe9190611501565b610120015190506000816001600160a01b03166370a082318c6040518263ffffffff1660e01b815260040161033391906117ab565b60206040518083038186803b15801561034b57600080fd5b505afa15801561035f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610383919061155d565b1115610396576103938582610baa565b94505b50600101610244565b505050610b05565b6002851415610655576000806103bc86610bd5565b915091506000826001600160a01b031663360454c56040518163ffffffff1660e01b815260040160206040518083038186803b1580156103fb57600080fd5b505afa15801561040f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061043391906112ce565b905061043d610dc6565b60405163d3ceafb960e01b81526001600160a01b0383169063d3ceafb99061046990869060040161184a565b6101a06040518083038186803b15801561048257600080fd5b505afa158015610496573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ba9190611520565b905060006105c7836001600160a01b0316633e7e86696040518163ffffffff1660e01b815260040160206040518083038186803b1580156104fa57600080fd5b505afa15801561050e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610532919061159a565b60ff16600a0a6105c184602001516001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561057857600080fd5b505afa15801561058c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105b0919061159a565b60408601519060ff16600a0a610bf5565b90610c2f565b604080516001808252818301909252919250602080830190803683370190505097508160200151886000815181106105fb57fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509650808760008151811061063f57fe5b6020026020010181815250505050505050610b05565b600385141561088f57600061066985610c61565b9050610673610e2f565b6040516309cfb2ab60e41b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690639cfb2ab0906106bf90859060040161183c565b6101a06040518083038186803b1580156106d857600080fd5b505afa1580156106ec573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107109190611501565b60a08101519091506001600160801b0316156107ea5760408051600180825281830190925290602080830190803683370190505092508061010001516001600160a01b0316636f307dc36040518163ffffffff1660e01b815260040160206040518083038186803b15801561078457600080fd5b505afa158015610798573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107bc91906112ce565b836000815181106107c957fe5b60200260200101906001600160a01b031690816001600160a01b0316815250505b6101208101516040516370a0823160e01b81526000916001600160a01b0316906370a082319061081e908c906004016117ab565b60206040518083038186803b15801561083657600080fd5b505afa15801561084a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061086e919061155d565b111561088857610120810151610885908490610c77565b92505b5050610b05565b6004851415610b05576000806108a486610bd5565b9150915060008290506000816001600160a01b031663360454c56040518163ffffffff1660e01b815260040160206040518083038186803b1580156108e857600080fd5b505afa1580156108fc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061092091906112ce565b9050600080826001600160a01b031663875f4384866040518263ffffffff1660e01b8152600401610951919061184a565b604080518083038186803b15801561096857600080fd5b505afa15801561097c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109a0919061157b565b90925090508115610a7a576040805160018082528183019092529060208083019080368337505060405163d3ceafb960e01b8152919850506001600160a01b0385169063d3ceafb9906109f790889060040161184a565b6101a06040518083038186803b158015610a1057600080fd5b505afa158015610a24573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a489190611520565b6020015187600081518110610a5957fe5b60200260200101906001600160a01b031690816001600160a01b0316815250505b8015610afe57610afb846001600160a01b0316636f307dc36040518163ffffffff1660e01b815260040160206040518083038186803b158015610abc57600080fd5b505afa158015610ad0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610af491906112ce565b8890610c77565b96505b5050505050505b93509350939050565b606092915050565b6000806000806000806000806060610b2c610d98565b8a806020019051810190610b4091906112f4565b99509950995099509950995099509950995099509193959799509193959799565b6001600160a01b03811673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1415610ba75760405162461bcd60e51b8152600401610b9e9061182c565b60405180910390fd5b50565b6060610bb68383610d42565b15610bc2575081610bcf565b610bcc8383610c77565b90505b92915050565b60008082806020019051810190610bec91906113e5565b91509150915091565b600082610c0457506000610bcf565b82820282848281610c1157fe5b0414610bcc5760405162461bcd60e51b8152600401610b9e9061181c565b6000808211610c505760405162461bcd60e51b8152600401610b9e9061180c565b818381610c5957fe5b049392505050565b600081806020019051810190610bcf919061153f565b6060825160010167ffffffffffffffff81118015610c9457600080fd5b50604051908082528060200260200182016040528015610cbe578160200160208202803683370190505b50905060005b8351811015610d0d57838181518110610cd957fe5b6020026020010151828281518110610ced57fe5b6001600160a01b0390921660209283029190910190910152600101610cc4565b508181845181518110610d1c57fe5b60200260200101906001600160a01b031690816001600160a01b03168152505092915050565b6000805b8351811015610d8e57838181518110610d5b57fe5b60200260200101516001600160a01b0316836001600160a01b03161415610d86576001915050610bcf565b600101610d46565b5060009392505050565b6040805160a08101825260008082526020820181905291810182905260608101829052608081019190915290565b604080516101a081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052906101008201908152600060208201819052604082018190526060820181905260809091015290565b604080516101a081018252600080825260208201819052918101829052906060820190815260006020820181905260408201819052606082018190526080820181905260a0820181905260c0820181905260e0820181905261010082018190526101209091015290565b8035610bcf81611970565b8051610bcf81611970565b600082601f830112610ec057600080fd5b8151610ed3610ece8261187f565b611858565b91508181835260208401935060208101905083856020840282011115610ef857600080fd5b60005b83811015610f245781610f0e888261128c565b8452506020928301929190910190600101610efb565b5050505092915050565b8051610bcf81611984565b600082601f830112610f4a57600080fd5b8135610f58610ece826118a0565b91508082526020830160208301858383011115610f7457600080fd5b610f7f83828461192a565b50505092915050565b600082601f830112610f9957600080fd5b8151610fa7610ece826118a0565b91508082526020830160208301858383011115610fc357600080fd5b610f7f838284611936565b8051610bcf8161198d565b600060a08284031215610feb57600080fd5b610ff560a0611858565b905060006110038484611281565b825250602061101484848301611281565b602083015250604061102884828501611281565b604083015250606061103c848285016112b8565b6060830152506080611050848285016112b8565b60808301525092915050565b60006101a0828403121561106f57600080fd5b61107a6101a0611858565b90506000611088848461128c565b8252506020611099848483016112ad565b60208301525060406110ad848285016112ad565b60408301525060606110c184828501610fce565b60608301525060806110d584828501611281565b60808301525060a06110e984828501611281565b60a08301525060c06110fd84828501611281565b60c08301525060e061111184828501611281565b60e08301525061010061112684828501610ea4565b6101008301525061012061113c84828501610ea4565b6101208301525061014061115284828501610ea4565b6101408301525061016061116884828501610f2e565b6101608301525061018061117e84828501610f2e565b6101808301525092915050565b60006101a0828403121561119e57600080fd5b6111a96101a0611858565b905060006111b78484610ea4565b82525060206111c884848301610ea4565b60208301525060406111dc848285016112a2565b60408301525060606111f084828501611281565b606083015250608061120484828501611281565b60808301525060a061121884828501611281565b60a08301525060c061122c848285016112b8565b60c08301525060e0611240848285016112b8565b60e08301525061010061125584828501610fce565b6101008301525061012061126b84828501610f2e565b6101208301525061014061115284828501610f2e565b8051610bcf8161199a565b8051610bcf816119a3565b8035610bcf816119ac565b8051610bcf816119ac565b8051610bcf816119b5565b8051610bcf816119be565b8051610bcf816119c7565b6000602082840312156112e057600080fd5b60006112ec8484610ea4565b949350505050565b6000806000806000806000806000806101c08b8d03121561131457600080fd5b60006113208d8d610ea4565b9a505060206113318d828e01610ea4565b99505060406113428d828e01611281565b98505060606113538d828e01611281565b97505060806113648d828e016112ad565b96505060a06113758d828e016112ad565b95505060c06113868d828e01610f2e565b94505060e06113978d828e01610fce565b9350506101008b015167ffffffffffffffff8111156113b557600080fd5b6113c18d828e01610f88565b9250506101206113d38d828e01610fd9565b9150509295989b9194979a5092959850565b600080604083850312156113f857600080fd5b60006114048585610ea4565b9250506020611415858286016112a2565b9150509250929050565b6000806040838503121561143257600080fd5b600061143e8585610e99565b925050602083013567ffffffffffffffff81111561145b57600080fd5b61141585828601610f39565b60008060006060848603121561147c57600080fd5b60006114888686610e99565b935050602061149986828701611297565b925050604084013567ffffffffffffffff8111156114b657600080fd5b6114c286828701610f39565b9150509250925092565b6000602082840312156114de57600080fd5b815167ffffffffffffffff8111156114f557600080fd5b6112ec84828501610eaf565b60006101a0828403121561151457600080fd5b60006112ec848461105c565b60006101a0828403121561153357600080fd5b60006112ec848461118b565b60006020828403121561155157600080fd5b60006112ec848461128c565b60006020828403121561156f57600080fd5b60006112ec84846112a2565b6000806040838503121561158e57600080fd5b600061140485856112a2565b6000602082840312156115ac57600080fd5b60006112ec84846112c3565b60006115c483836115d8565b505060200190565b60006115c483836117a2565b6115e1816118db565b82525050565b60006115f2826118ce565b6115fc81856118d2565b9350611607836118c8565b8060005b8381101561163557815161161f88826115b8565b975061162a836118c8565b92505060010161160b565b509495945050505050565b600061164b826118ce565b61165581856118d2565b9350611660836118c8565b8060005b8381101561163557815161167888826115cc565b9750611683836118c8565b925050600101611664565b6000611699826118ce565b6116a381856118d2565b93506116b3818560208601611936565b6116bc81611966565b9093019392505050565b60006116d3601a836118d2565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b600061170c6021836118d2565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b600061174f6035836118d2565b7f5f5f76616c69646174654e6f744e6174697665546f6b656e3a204e617469766581527408185cdcd95d081a5cc81d5b9cdd5c1c1bdc9d1959605a1b602082015260400192915050565b6115e181611903565b6115e18161190b565b60208101610bcf82846115d8565b606080825281016117ca81866115e7565b905081810360208301526117de8185611640565b905081810360408301526117f281846115e7565b95945050505050565b60208082528101610bcc818461168e565b60208082528101610bcf816116c6565b60208082528101610bcf816116ff565b60208082528101610bcf81611742565b60208101610bcf8284611799565b60208101610bcf82846117a2565b60405181810167ffffffffffffffff8111828210171561187757600080fd5b604052919050565b600067ffffffffffffffff82111561189657600080fd5b5060209081020190565b600067ffffffffffffffff8211156118b757600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b6000610bcf826118f7565b151590565b6001600160801b031690565b6001600160a01b031690565b62ffffff1690565b90565b63ffffffff1690565b67ffffffffffffffff1690565b60ff1690565b82818337506000910152565b60005b83811015611951578181015183820152602001611939565b83811115611960576000848401525b50505050565b601f01601f191690565b611979816118db565b8114610ba757600080fd5b611979816118e6565b60028110610ba757600080fd5b611979816118eb565b61197981611903565b6119798161190b565b6119798161190e565b61197981611917565b6119798161192456fea164736f6c634300060c000a", - "sourceMap": "902:6257:137:-:0;;;1322:222;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1394:143;;-1:-1:-1;;;;;;1394:143:137;;;902:6257;;5:134:-1;83:13;;101:33;83:13;101:33;:::i;:::-;68:71;;;;:::o;146:263::-;;261:2;249:9;240:7;236:23;232:32;229:2;;;277:1;274;267:12;229:2;312:1;329:64;385:7;365:9;329:64;:::i;:::-;319:74;223:186;-1:-1;;;;223:186::o;416:91::-;;-1:-1;;;;;576:54;;478:24;559:76::o;642:117::-;711:24;729:5;711:24;:::i;:::-;704:5;701:35;691:2;;750:1;747;740:12;691:2;685:74;:::o;:::-;902:6257:137;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c8063bbd2d6461461003b578063db16c72e14610066575b600080fd5b61004e610049366004611467565b610086565b60405161005d939291906117b9565b60405180910390f35b61007961007436600461141f565b610b0e565b60405161005d91906117fb565b60608080846101bc5760008061009a610d98565b6100a387610b16565b995050505050505050925092506100b982610b61565b6040805160018082528183019092529060208083019080368337019050509550826001600160a01b0316636f307dc36040518163ffffffff1660e01b815260040160206040518083038186803b15801561011257600080fd5b505afa158015610126573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061014a91906112ce565b8660008151811061015757fe5b6001600160a01b039290921660209283029190910182015260408051600180825281830190925291828101908036833701905050945080604001516001600160801b0316856000815181106101a857fe5b602002602001018181525050505050610b05565b60018514156103a7576060866001600160a01b0316633ee992ee6040518163ffffffff1660e01b815260040160006040518083038186803b15801561020057600080fd5b505afa158015610214573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261023c91908101906114cc565b805190915060005b8181101561039f5760007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316639cfb2ab085848151811061028957fe5b60200260200101516040518263ffffffff1660e01b81526004016102ad919061183c565b6101a06040518083038186803b1580156102c657600080fd5b505afa1580156102da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102fe9190611501565b610120015190506000816001600160a01b03166370a082318c6040518263ffffffff1660e01b815260040161033391906117ab565b60206040518083038186803b15801561034b57600080fd5b505afa15801561035f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610383919061155d565b1115610396576103938582610baa565b94505b50600101610244565b505050610b05565b6002851415610655576000806103bc86610bd5565b915091506000826001600160a01b031663360454c56040518163ffffffff1660e01b815260040160206040518083038186803b1580156103fb57600080fd5b505afa15801561040f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061043391906112ce565b905061043d610dc6565b60405163d3ceafb960e01b81526001600160a01b0383169063d3ceafb99061046990869060040161184a565b6101a06040518083038186803b15801561048257600080fd5b505afa158015610496573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ba9190611520565b905060006105c7836001600160a01b0316633e7e86696040518163ffffffff1660e01b815260040160206040518083038186803b1580156104fa57600080fd5b505afa15801561050e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610532919061159a565b60ff16600a0a6105c184602001516001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561057857600080fd5b505afa15801561058c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105b0919061159a565b60408601519060ff16600a0a610bf5565b90610c2f565b604080516001808252818301909252919250602080830190803683370190505097508160200151886000815181106105fb57fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509650808760008151811061063f57fe5b6020026020010181815250505050505050610b05565b600385141561088f57600061066985610c61565b9050610673610e2f565b6040516309cfb2ab60e41b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690639cfb2ab0906106bf90859060040161183c565b6101a06040518083038186803b1580156106d857600080fd5b505afa1580156106ec573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107109190611501565b60a08101519091506001600160801b0316156107ea5760408051600180825281830190925290602080830190803683370190505092508061010001516001600160a01b0316636f307dc36040518163ffffffff1660e01b815260040160206040518083038186803b15801561078457600080fd5b505afa158015610798573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107bc91906112ce565b836000815181106107c957fe5b60200260200101906001600160a01b031690816001600160a01b0316815250505b6101208101516040516370a0823160e01b81526000916001600160a01b0316906370a082319061081e908c906004016117ab565b60206040518083038186803b15801561083657600080fd5b505afa15801561084a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061086e919061155d565b111561088857610120810151610885908490610c77565b92505b5050610b05565b6004851415610b05576000806108a486610bd5565b9150915060008290506000816001600160a01b031663360454c56040518163ffffffff1660e01b815260040160206040518083038186803b1580156108e857600080fd5b505afa1580156108fc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061092091906112ce565b9050600080826001600160a01b031663875f4384866040518263ffffffff1660e01b8152600401610951919061184a565b604080518083038186803b15801561096857600080fd5b505afa15801561097c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109a0919061157b565b90925090508115610a7a576040805160018082528183019092529060208083019080368337505060405163d3ceafb960e01b8152919850506001600160a01b0385169063d3ceafb9906109f790889060040161184a565b6101a06040518083038186803b158015610a1057600080fd5b505afa158015610a24573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a489190611520565b6020015187600081518110610a5957fe5b60200260200101906001600160a01b031690816001600160a01b0316815250505b8015610afe57610afb846001600160a01b0316636f307dc36040518163ffffffff1660e01b815260040160206040518083038186803b158015610abc57600080fd5b505afa158015610ad0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610af491906112ce565b8890610c77565b96505b5050505050505b93509350939050565b606092915050565b6000806000806000806000806060610b2c610d98565b8a806020019051810190610b4091906112f4565b99509950995099509950995099509950995099509193959799509193959799565b6001600160a01b03811673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1415610ba75760405162461bcd60e51b8152600401610b9e9061182c565b60405180910390fd5b50565b6060610bb68383610d42565b15610bc2575081610bcf565b610bcc8383610c77565b90505b92915050565b60008082806020019051810190610bec91906113e5565b91509150915091565b600082610c0457506000610bcf565b82820282848281610c1157fe5b0414610bcc5760405162461bcd60e51b8152600401610b9e9061181c565b6000808211610c505760405162461bcd60e51b8152600401610b9e9061180c565b818381610c5957fe5b049392505050565b600081806020019051810190610bcf919061153f565b6060825160010167ffffffffffffffff81118015610c9457600080fd5b50604051908082528060200260200182016040528015610cbe578160200160208202803683370190505b50905060005b8351811015610d0d57838181518110610cd957fe5b6020026020010151828281518110610ced57fe5b6001600160a01b0390921660209283029190910190910152600101610cc4565b508181845181518110610d1c57fe5b60200260200101906001600160a01b031690816001600160a01b03168152505092915050565b6000805b8351811015610d8e57838181518110610d5b57fe5b60200260200101516001600160a01b0316836001600160a01b03161415610d86576001915050610bcf565b600101610d46565b5060009392505050565b6040805160a08101825260008082526020820181905291810182905260608101829052608081019190915290565b604080516101a081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052906101008201908152600060208201819052604082018190526060820181905260809091015290565b604080516101a081018252600080825260208201819052918101829052906060820190815260006020820181905260408201819052606082018190526080820181905260a0820181905260c0820181905260e0820181905261010082018190526101209091015290565b8035610bcf81611970565b8051610bcf81611970565b600082601f830112610ec057600080fd5b8151610ed3610ece8261187f565b611858565b91508181835260208401935060208101905083856020840282011115610ef857600080fd5b60005b83811015610f245781610f0e888261128c565b8452506020928301929190910190600101610efb565b5050505092915050565b8051610bcf81611984565b600082601f830112610f4a57600080fd5b8135610f58610ece826118a0565b91508082526020830160208301858383011115610f7457600080fd5b610f7f83828461192a565b50505092915050565b600082601f830112610f9957600080fd5b8151610fa7610ece826118a0565b91508082526020830160208301858383011115610fc357600080fd5b610f7f838284611936565b8051610bcf8161198d565b600060a08284031215610feb57600080fd5b610ff560a0611858565b905060006110038484611281565b825250602061101484848301611281565b602083015250604061102884828501611281565b604083015250606061103c848285016112b8565b6060830152506080611050848285016112b8565b60808301525092915050565b60006101a0828403121561106f57600080fd5b61107a6101a0611858565b90506000611088848461128c565b8252506020611099848483016112ad565b60208301525060406110ad848285016112ad565b60408301525060606110c184828501610fce565b60608301525060806110d584828501611281565b60808301525060a06110e984828501611281565b60a08301525060c06110fd84828501611281565b60c08301525060e061111184828501611281565b60e08301525061010061112684828501610ea4565b6101008301525061012061113c84828501610ea4565b6101208301525061014061115284828501610ea4565b6101408301525061016061116884828501610f2e565b6101608301525061018061117e84828501610f2e565b6101808301525092915050565b60006101a0828403121561119e57600080fd5b6111a96101a0611858565b905060006111b78484610ea4565b82525060206111c884848301610ea4565b60208301525060406111dc848285016112a2565b60408301525060606111f084828501611281565b606083015250608061120484828501611281565b60808301525060a061121884828501611281565b60a08301525060c061122c848285016112b8565b60c08301525060e0611240848285016112b8565b60e08301525061010061125584828501610fce565b6101008301525061012061126b84828501610f2e565b6101208301525061014061115284828501610f2e565b8051610bcf8161199a565b8051610bcf816119a3565b8035610bcf816119ac565b8051610bcf816119ac565b8051610bcf816119b5565b8051610bcf816119be565b8051610bcf816119c7565b6000602082840312156112e057600080fd5b60006112ec8484610ea4565b949350505050565b6000806000806000806000806000806101c08b8d03121561131457600080fd5b60006113208d8d610ea4565b9a505060206113318d828e01610ea4565b99505060406113428d828e01611281565b98505060606113538d828e01611281565b97505060806113648d828e016112ad565b96505060a06113758d828e016112ad565b95505060c06113868d828e01610f2e565b94505060e06113978d828e01610fce565b9350506101008b015167ffffffffffffffff8111156113b557600080fd5b6113c18d828e01610f88565b9250506101206113d38d828e01610fd9565b9150509295989b9194979a5092959850565b600080604083850312156113f857600080fd5b60006114048585610ea4565b9250506020611415858286016112a2565b9150509250929050565b6000806040838503121561143257600080fd5b600061143e8585610e99565b925050602083013567ffffffffffffffff81111561145b57600080fd5b61141585828601610f39565b60008060006060848603121561147c57600080fd5b60006114888686610e99565b935050602061149986828701611297565b925050604084013567ffffffffffffffff8111156114b657600080fd5b6114c286828701610f39565b9150509250925092565b6000602082840312156114de57600080fd5b815167ffffffffffffffff8111156114f557600080fd5b6112ec84828501610eaf565b60006101a0828403121561151457600080fd5b60006112ec848461105c565b60006101a0828403121561153357600080fd5b60006112ec848461118b565b60006020828403121561155157600080fd5b60006112ec848461128c565b60006020828403121561156f57600080fd5b60006112ec84846112a2565b6000806040838503121561158e57600080fd5b600061140485856112a2565b6000602082840312156115ac57600080fd5b60006112ec84846112c3565b60006115c483836115d8565b505060200190565b60006115c483836117a2565b6115e1816118db565b82525050565b60006115f2826118ce565b6115fc81856118d2565b9350611607836118c8565b8060005b8381101561163557815161161f88826115b8565b975061162a836118c8565b92505060010161160b565b509495945050505050565b600061164b826118ce565b61165581856118d2565b9350611660836118c8565b8060005b8381101561163557815161167888826115cc565b9750611683836118c8565b925050600101611664565b6000611699826118ce565b6116a381856118d2565b93506116b3818560208601611936565b6116bc81611966565b9093019392505050565b60006116d3601a836118d2565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b600061170c6021836118d2565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b600061174f6035836118d2565b7f5f5f76616c69646174654e6f744e6174697665546f6b656e3a204e617469766581527408185cdcd95d081a5cc81d5b9cdd5c1c1bdc9d1959605a1b602082015260400192915050565b6115e181611903565b6115e18161190b565b60208101610bcf82846115d8565b606080825281016117ca81866115e7565b905081810360208301526117de8185611640565b905081810360408301526117f281846115e7565b95945050505050565b60208082528101610bcc818461168e565b60208082528101610bcf816116c6565b60208082528101610bcf816116ff565b60208082528101610bcf81611742565b60208101610bcf8284611799565b60208101610bcf82846117a2565b60405181810167ffffffffffffffff8111828210171561187757600080fd5b604052919050565b600067ffffffffffffffff82111561189657600080fd5b5060209081020190565b600067ffffffffffffffff8211156118b757600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b6000610bcf826118f7565b151590565b6001600160801b031690565b6001600160a01b031690565b62ffffff1690565b90565b63ffffffff1690565b67ffffffffffffffff1690565b60ff1690565b82818337506000910152565b60005b83811015611951578181015183820152602001611939565b83811115611960576000848401525b50505050565b601f01601f191690565b611979816118db565b8114610ba757600080fd5b611979816118e6565b60028110610ba757600080fd5b611979816118eb565b61197981611903565b6119798161190b565b6119798161190e565b61197981611917565b6119798161192456fea164736f6c634300060c000a", - "sourceMap": "902:6257:137:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2091:4482;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;6749:89;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;2091:4482::-;2294:34;;;2453:74;2449:4043;;2561:15;2594:16;2754:74;;:::i;:::-;2845:49;2875:18;2845:29;:49::i;:::-;2543:351;;;;;;;;;;;;;2909:34;2934:8;2909:24;:34::i;:::-;2978:16;;;2992:1;2978:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2978:16:137;2958:36;;3057:7;-1:-1:-1;;;;;3031:45:137;;:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3008:17;3026:1;3008:20;;;;;;;;-1:-1:-1;;;;;3008:70:137;;;;:20;;;;;;;;;;:70;3113:16;;;3127:1;3113:16;;;;;;;;;;;;;;3008:20;3113:16;;;;;-1:-1:-1;3113:16:137;3092:37;;3167:13;:27;;;-1:-1:-1;;;;;3143:51:137;:18;3162:1;3143:21;;;;;;;;;;;;;:51;;;;;2449:4043;;;;;;3236:50;3215:9;:72;3211:3281;;;3303:25;3364:17;-1:-1:-1;;;;;3331:78:137;;:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3331:80:137;;;;;;;;;;;;:::i;:::-;3448:16;;3303:108;;-1:-1:-1;3425:20:137;3478:381;3498:12;3494:1;:16;3478:381;;;3535:16;3554:44;-1:-1:-1;;;;;3554:75:137;;3630:9;3640:1;3630:12;;;;;;;;;;;;;;3554:89;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:119;;;3535:138;;3742:1;3701:8;-1:-1:-1;;;;;3695:25:137;;3721:17;3695:44;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:48;3691:154;;;3786:40;:16;3817:8;3786:30;:40::i;:::-;3767:59;;3691:154;-1:-1:-1;3512:3:137;;3478:381;;;;3211:3281;;;;;3900:47;3879:9;:69;3875:2617;;;3965:15;3982:14;4000:44;4025:18;4000:24;:44::i;:::-;3964:80;;;;4059:42;4170:7;-1:-1:-1;;;;;4144:50:137;;:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4059:151;;4225:51;;:::i;:::-;4279:58;;-1:-1:-1;;;4279:58:137;;-1:-1:-1;;;;;4279:50:137;;;;;:58;;4330:6;;4279:58;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4225:112;;4352:22;4377:186;4526:19;-1:-1:-1;;;;;4526:33:137;;:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4518:44;;4514:2;:48;4377:115;4455:10;:23;;;-1:-1:-1;;;;;4449:39:137;;:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4377:38;;;;;4441:50;;4437:2;:54;4377:59;:115::i;:::-;:136;;:186::i;:::-;4598:16;;;4612:1;4598:16;;;;;;;;;4352:211;;-1:-1:-1;4598:16:137;;;;;;;;;;;-1:-1:-1;4598:16:137;4578:36;;4651:10;:23;;;4628:17;4646:1;4628:20;;;;;;;;-1:-1:-1;;;;;4628:46:137;;;;:20;;;;;;;;;;:46;4709:16;;;4723:1;4709:16;;;;;;;;;;;;;;4628:20;4709:16;;;;;-1:-1:-1;4709:16:137;4688:37;;4763:14;4739:18;4758:1;4739:21;;;;;;;;;;;;;:38;;;;;3875:2617;;;;;;;;4819:52;4798:9;:74;4794:1698;;;4888:14;4905:49;4935:18;4905:29;:49::i;:::-;4888:66;;4969:77;;:::i;:::-;5049:63;;-1:-1:-1;;;5049:63:137;;-1:-1:-1;;;;;5049:44:137;:54;;;;:63;;5104:7;;5049:63;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5211:11;;;;4969:143;;-1:-1:-1;;;;;;5211:15:137;;5207:182;;5265:16;;;5279:1;5265:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5265:16:137;5246:35;;5347:5;:13;;;-1:-1:-1;;;;;5321:51:137;;:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5299:16;5316:1;5299:19;;;;;;;;;;;;;:75;-1:-1:-1;;;;;5299:75:137;;;-1:-1:-1;;;;;5299:75:137;;;;;5207:182;5413:14;;;;5407:50;;-1:-1:-1;;;5407:50:137;;5460:1;;-1:-1:-1;;;;;5407:31:137;;;;:50;;5439:17;;5407:50;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:54;5403:152;;;5525:14;;;;5500:40;;:16;;:24;:40::i;:::-;5481:59;;5403:152;4794:1698;;;;;5596:49;5575:9;:71;5571:921;;;5663:15;5680:14;5698:46;5725:18;5698:26;:46::i;:::-;5662:82;;;;5759:41;5829:7;5759:78;;5851:42;5936:15;-1:-1:-1;;;;;5936:31:137;;:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5851:132;;5999:30;6031:27;6062:19;-1:-1:-1;;;;;6062:58:137;;6121:6;6062:66;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5998:130;;-1:-1:-1;5998:130:137;-1:-1:-1;6147:26:137;;6143:190;;6212:16;;;6226:1;6212:16;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6268:37:137;;-1:-1:-1;;;6268:37:137;;6193:35;;-1:-1:-1;;;;;;;6268:29:137;;;;;:37;;6298:6;;6268:37;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:50;;;6246:16;6263:1;6246:19;;;;;;;;;;;;;:72;-1:-1:-1;;;;;6246:72:137;;;-1:-1:-1;;;;;6246:72:137;;;;;6143:190;6351:23;;6347:135;;6413:54;6438:15;-1:-1:-1;;;;;6438:26:137;;:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6413:16;;:24;:54::i;:::-;6394:73;;6347:135;5571:921;;;;;;;2091:4482;;;;;;;:::o;6749:89::-;6822:12;6749:89;;;;:::o;744:1038:135:-;869:16;899:17;930:12;956;982:17;1013:15;1042:18;1074:60;1148:22;1184:75;;:::i;:::-;1333:11;1305:460;;;;;;;;;;;;:::i;:::-;1284:491;;;;;;;;;;;;;;;;;;;;744:1038;;;;;;;;;;;:::o;6947:210:137:-;-1:-1:-1;;;;;7041:30:137;;1156:42;7041:30;;7020:130;;;;-1:-1:-1;;;7020:130:137;;;;;;;:::i;:::-;;;;;;;;;6947:210;:::o;2136:277:354:-;2250:27;2297;2306:5;2313:10;2297:8;:27::i;:::-;2293:70;;;-1:-1:-1;2347:5:354;2340:12;;2293:70;2380:26;2388:5;2395:10;2380:7;:26::i;:::-;2373:33;;2136:277;;;;;:::o;1853:215:135:-;1960:16;1978:15;2028:11;2017:43;;;;;;;;;;;;:::i;:::-;2009:52;;;;1853:215;;;:::o;3538::442:-;3596:7;3619:6;3615:20;;-1:-1:-1;3634:1:442;3627:8;;3615:20;3657:5;;;3661:1;3657;:5;:1;3680:5;;;;;:10;3672:56;;;;-1:-1:-1;;;3672:56:442;;;;;;;:::i;4217:150::-;4275:7;4306:1;4302;:5;4294:44;;;;-1:-1:-1;;;4294:44:442;;;;;;;:::i;:::-;4359:1;4355;:5;;;;;;;4217:150;-1:-1:-1;;;4217:150:442:o;2144:192:135:-;2256:15;2306:11;2295:33;;;;;;;;;;;;:::i;1668:374:354:-;1776:27;1846:5;:12;1861:1;1846:16;1832:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1832:31:354;;1819:44;;1878:9;1873:88;1893:5;:12;1889:1;:16;1873:88;;;1942:5;1948:1;1942:8;;;;;;;;;;;;;;1926:10;1937:1;1926:13;;;;;;;;-1:-1:-1;;;;;1926:24:354;;;:13;;;;;;;;;;;:24;1907:3;;1873:88;;;;1997:10;1970;1981:5;:12;1970:24;;;;;;;;;;;;;:37;-1:-1:-1;;;;;1970:37:354;;;-1:-1:-1;;;;;1970:37:354;;;;;1668:374;;;;:::o;2489:299::-;2595:17;2633:9;2628:132;2648:5;:12;2644:1;:16;2628:132;;;2696:5;2702:1;2696:8;;;;;;;;;;;;;;-1:-1:-1;;;;;2685:19:354;:7;-1:-1:-1;;;;;2685:19:354;;2681:69;;;2731:4;2724:11;;;;;2681:69;2662:3;;2628:132;;;-1:-1:-1;2776:5:354;;2489:299;-1:-1:-1;;;2489:299:354:o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5:130::-;72:20;;97:33;72:20;97:33;:::i;142:134::-;220:13;;238:33;220:13;238:33;:::i;457:719::-;;584:3;577:4;569:6;565:17;561:27;551:2;;602:1;599;592:12;551:2;632:6;626:13;654:79;669:63;725:6;669:63;:::i;:::-;654:79;:::i;:::-;645:88;;750:5;775:6;768:5;761:21;805:4;797:6;793:17;783:27;;827:4;822:3;818:14;811:21;;880:6;927:3;919:4;911:6;907:17;902:3;898:27;895:36;892:2;;;944:1;941;934:12;892:2;969:1;954:216;979:6;976:1;973:13;954:216;;;1037:3;1059:47;1102:3;1090:10;1059:47;:::i;:::-;1047:60;;-1:-1;1130:4;1121:14;;;;1149;;;;;1001:1;994:9;954:216;;;958:14;544:632;;;;;;;:::o;1184:128::-;1259:13;;1277:30;1259:13;1277:30;:::i;1320:440::-;;1421:3;1414:4;1406:6;1402:17;1398:27;1388:2;;1439:1;1436;1429:12;1388:2;1476:6;1463:20;1498:64;1513:48;1554:6;1513:48;:::i;1498:64::-;1489:73;;1582:6;1575:5;1568:21;1618:4;1610:6;1606:17;1651:4;1644:5;1640:16;1686:3;1677:6;1672:3;1668:16;1665:25;1662:2;;;1703:1;1700;1693:12;1662:2;1713:41;1747:6;1742:3;1737;1713:41;:::i;:::-;1381:379;;;;;;;:::o;1769:442::-;;1881:3;1874:4;1866:6;1862:17;1858:27;1848:2;;1899:1;1896;1889:12;1848:2;1929:6;1923:13;1951:64;1966:48;2007:6;1966:48;:::i;1951:64::-;1942:73;;2035:6;2028:5;2021:21;2071:4;2063:6;2059:17;2104:4;2097:5;2093:16;2139:3;2130:6;2125:3;2121:16;2118:25;2115:2;;;2156:1;2153;2146:12;2115:2;2166:39;2198:6;2193:3;2188;2166:39;:::i;2219:174::-;2317:13;;2335:53;2317:13;2335:53;:::i;2638:1008::-;;2770:4;2758:9;2753:3;2749:19;2745:30;2742:2;;;2788:1;2785;2778:12;2742:2;2806:20;2821:4;2806:20;:::i;:::-;2797:29;-1:-1;2883:1;2915:60;2971:3;2951:9;2915:60;:::i;:::-;2890:86;;-1:-1;3045:2;3078:60;3134:3;3110:22;;;3078:60;:::i;:::-;3071:4;3064:5;3060:16;3053:86;2997:153;3209:2;3242:60;3298:3;3289:6;3278:9;3274:22;3242:60;:::i;:::-;3235:4;3228:5;3224:16;3217:86;3160:154;3373:2;3406:59;3461:3;3452:6;3441:9;3437:22;3406:59;:::i;:::-;3399:4;3392:5;3388:16;3381:85;3324:153;3531:3;3565:59;3620:3;3611:6;3600:9;3596:22;3565:59;:::i;:::-;3558:4;3551:5;3547:16;3540:85;3487:149;2736:910;;;;:::o;3715:2280::-;;3842:6;3830:9;3825:3;3821:19;3817:32;3814:2;;;3862:1;3859;3852:12;3814:2;3880:22;3895:6;3880:22;:::i;:::-;3871:31;-1:-1;3958:1;3990:59;4045:3;4025:9;3990:59;:::i;:::-;3965:85;;-1:-1;4116:2;4149:59;4204:3;4180:22;;;4149:59;:::i;:::-;4142:4;4135:5;4131:16;4124:85;4071:149;4273:2;4306:59;4361:3;4352:6;4341:9;4337:22;4306:59;:::i;:::-;4299:4;4292:5;4288:16;4281:85;4230:147;4432:2;4465:75;4536:3;4527:6;4516:9;4512:22;4465:75;:::i;:::-;4458:4;4451:5;4447:16;4440:101;4387:165;4608:3;4642:60;4698:3;4689:6;4678:9;4674:22;4642:60;:::i;:::-;4635:4;4628:5;4624:16;4617:86;4562:152;4765:3;4799:60;4855:3;4846:6;4835:9;4831:22;4799:60;:::i;:::-;4792:4;4785:5;4781:16;4774:86;4724:147;4920:3;4954:60;5010:3;5001:6;4990:9;4986:22;4954:60;:::i;:::-;4947:4;4940:5;4936:16;4929:86;4881:145;5075:3;5109:60;5165:3;5156:6;5145:9;5141:22;5109:60;:::i;:::-;5102:4;5095:5;5091:16;5084:86;5036:145;5234:3;5270:60;5326:3;5317:6;5306:9;5302:22;5270:60;:::i;:::-;5261:6;5254:5;5250:18;5243:88;5191:151;5396:3;5432:60;5488:3;5479:6;5468:9;5464:22;5432:60;:::i;:::-;5423:6;5416:5;5412:18;5405:88;5352:152;5556:3;5592:60;5648:3;5639:6;5628:9;5624:22;5592:60;:::i;:::-;5583:6;5576:5;5572:18;5565:88;5514:150;5722:3;5758:57;5811:3;5802:6;5791:9;5787:22;5758:57;:::i;:::-;5749:6;5742:5;5738:18;5731:85;5674:153;5880:3;5916:57;5969:3;5960:6;5949:9;5945:22;5916:57;:::i;:::-;5907:6;5900:5;5896:18;5889:85;5837:148;3808:2187;;;;:::o;6049:2332::-;;6178:6;6166:9;6161:3;6157:19;6153:32;6150:2;;;6198:1;6195;6188:12;6150:2;6216:22;6231:6;6216:22;:::i;:::-;6207:31;-1:-1;6290:1;6322:60;6378:3;6358:9;6322:60;:::i;:::-;6297:86;;-1:-1;6452:2;6485:60;6541:3;6517:22;;;6485:60;:::i;:::-;6478:4;6471:5;6467:16;6460:86;6404:153;6613:2;6646:60;6702:3;6693:6;6682:9;6678:22;6646:60;:::i;:::-;6639:4;6632:5;6628:16;6621:86;6567:151;6775:2;6808:60;6864:3;6855:6;6844:9;6840:22;6808:60;:::i;:::-;6801:4;6794:5;6790:16;6783:86;6728:152;6938:3;6972:60;7028:3;7019:6;7008:9;7004:22;6972:60;:::i;:::-;6965:4;6958:5;6954:16;6947:86;6890:154;7101:3;7135:60;7191:3;7182:6;7171:9;7167:22;7135:60;:::i;:::-;7128:4;7121:5;7117:16;7110:86;7054:153;7266:3;7300:59;7355:3;7346:6;7335:9;7331:22;7300:59;:::i;:::-;7293:4;7286:5;7282:16;7275:85;7217:154;7425:3;7459:59;7514:3;7505:6;7494:9;7490:22;7459:59;:::i;:::-;7452:4;7445:5;7441:16;7434:85;7381:149;7590:3;7626:80;7702:3;7693:6;7682:9;7678:22;7626:80;:::i;:::-;7617:6;7610:5;7606:18;7599:108;7540:178;7780:3;7816:57;7869:3;7860:6;7849:9;7845:22;7816:57;:::i;:::-;7807:6;7800:5;7796:18;7789:85;7728:157;7948:3;7984:57;8037:3;8028:6;8017:9;8013:22;7984:57;:::i;8388:134::-;8466:13;;8484:33;8466:13;8484:33;:::i;8529:132::-;8606:13;;8624:32;8606:13;8624:32;:::i;8668:130::-;8735:20;;8760:33;8735:20;8760:33;:::i;8805:134::-;8883:13;;8901:33;8883:13;8901:33;:::i;8946:132::-;9023:13;;9041:32;9023:13;9041:32;:::i;9085:132::-;9162:13;;9180:32;9162:13;9180:32;:::i;9224:130::-;9300:13;;9318:31;9300:13;9318:31;:::i;9361:263::-;;9476:2;9464:9;9455:7;9451:23;9447:32;9444:2;;;9492:1;9489;9482:12;9444:2;9527:1;9544:64;9600:7;9580:9;9544:64;:::i;:::-;9534:74;9438:186;-1:-1;;;;9438:186::o;9631:1707::-;;;;;;;;;;;9966:3;9954:9;9945:7;9941:23;9937:33;9934:2;;;9983:1;9980;9973:12;9934:2;10018:1;10035:72;10099:7;10079:9;10035:72;:::i;:::-;10025:82;;9997:116;10144:2;10162:72;10226:7;10217:6;10206:9;10202:22;10162:72;:::i;:::-;10152:82;;10123:117;10271:2;10289:64;10345:7;10336:6;10325:9;10321:22;10289:64;:::i;:::-;10279:74;;10250:109;10390:2;10408:64;10464:7;10455:6;10444:9;10440:22;10408:64;:::i;:::-;10398:74;;10369:109;10509:3;10528:63;10583:7;10574:6;10563:9;10559:22;10528:63;:::i;:::-;10518:73;;10488:109;10628:3;10647:63;10702:7;10693:6;10682:9;10678:22;10647:63;:::i;:::-;10637:73;;10607:109;10747:3;10766:61;10819:7;10810:6;10799:9;10795:22;10766:61;:::i;:::-;10756:71;;10726:107;10864:3;10883:79;10954:7;10945:6;10934:9;10930:22;10883:79;:::i;:::-;10873:89;;10843:125;11020:3;11009:9;11005:19;10999:26;11045:18;11037:6;11034:30;11031:2;;;11077:1;11074;11067:12;11031:2;11097:73;11162:7;11153:6;11142:9;11138:22;11097:73;:::i;:::-;11087:83;;10978:198;11207:3;11226:96;11314:7;11305:6;11294:9;11290:22;11226:96;:::i;:::-;11216:106;;11186:142;9928:1410;;;;;;;;;;;;;:::o;11345:415::-;;;11485:2;11473:9;11464:7;11460:23;11456:32;11453:2;;;11501:1;11498;11491:12;11453:2;11536:1;11553:72;11617:7;11597:9;11553:72;:::i;:::-;11543:82;;11515:116;11662:2;11680:64;11736:7;11727:6;11716:9;11712:22;11680:64;:::i;:::-;11670:74;;11641:109;11447:313;;;;;:::o;11767:470::-;;;11897:2;11885:9;11876:7;11872:23;11868:32;11865:2;;;11913:1;11910;11903:12;11865:2;11948:1;11965:53;12010:7;11990:9;11965:53;:::i;:::-;11955:63;;11927:97;12083:2;12072:9;12068:18;12055:32;12107:18;12099:6;12096:30;12093:2;;;12139:1;12136;12129:12;12093:2;12159:62;12213:7;12204:6;12193:9;12189:22;12159:62;:::i;12244:595::-;;;;12391:2;12379:9;12370:7;12366:23;12362:32;12359:2;;;12407:1;12404;12397:12;12359:2;12442:1;12459:53;12504:7;12484:9;12459:53;:::i;:::-;12449:63;;12421:97;12549:2;12567:53;12612:7;12603:6;12592:9;12588:22;12567:53;:::i;:::-;12557:63;;12528:98;12685:2;12674:9;12670:18;12657:32;12709:18;12701:6;12698:30;12695:2;;;12741:1;12738;12731:12;12695:2;12761:62;12815:7;12806:6;12795:9;12791:22;12761:62;:::i;:::-;12751:72;;12636:193;12353:486;;;;;:::o;12846:390::-;;12985:2;12973:9;12964:7;12960:23;12956:32;12953:2;;;13001:1;12998;12991:12;12953:2;13036:24;;13080:18;13069:30;;13066:2;;;13112:1;13109;13102:12;13066:2;13132:88;13212:7;13203:6;13192:9;13188:22;13132:88;:::i;13243:318::-;;13385:3;13373:9;13364:7;13360:23;13356:33;13353:2;;;13402:1;13399;13392:12;13353:2;13437:1;13454:91;13537:7;13517:9;13454:91;:::i;13568:322::-;;13712:3;13700:9;13691:7;13687:23;13683:33;13680:2;;;13729:1;13726;13719:12;13680:2;13764:1;13781:93;13866:7;13846:9;13781:93;:::i;13897:261::-;;14011:2;13999:9;13990:7;13986:23;13982:32;13979:2;;;14027:1;14024;14017:12;13979:2;14062:1;14079:63;14134:7;14114:9;14079:63;:::i;14165:263::-;;14280:2;14268:9;14259:7;14255:23;14251:32;14248:2;;;14296:1;14293;14286:12;14248:2;14331:1;14348:64;14404:7;14384:9;14348:64;:::i;14435:399::-;;;14567:2;14555:9;14546:7;14542:23;14538:32;14535:2;;;14583:1;14580;14573:12;14535:2;14618:1;14635:64;14691:7;14671:9;14635:64;:::i;14841:259::-;;14954:2;14942:9;14933:7;14929:23;14925:32;14922:2;;;14970:1;14967;14960:12;14922:2;15005:1;15022:62;15076:7;15056:9;15022:62;:::i;15108:173::-;;15195:46;15237:3;15229:6;15195:46;:::i;:::-;-1:-1;;15270:4;15261:14;;15188:93::o;15290:173::-;;15377:46;15419:3;15411:6;15377:46;:::i;15471:103::-;15544:24;15562:5;15544:24;:::i;:::-;15539:3;15532:37;15526:48;;:::o;15732:690::-;;15877:54;15925:5;15877:54;:::i;:::-;15944:86;16023:6;16018:3;15944:86;:::i;:::-;15937:93;;16051:56;16101:5;16051:56;:::i;:::-;16127:7;16155:1;16140:260;16165:6;16162:1;16159:13;16140:260;;;16232:6;16226:13;16253:63;16312:3;16297:13;16253:63;:::i;:::-;16246:70;;16333:60;16386:6;16333:60;:::i;:::-;16323:70;-1:-1;;16187:1;16180:9;16140:260;;;-1:-1;16413:3;;15856:566;-1:-1;;;;;15856:566::o;16461:690::-;;16606:54;16654:5;16606:54;:::i;:::-;16673:86;16752:6;16747:3;16673:86;:::i;:::-;16666:93;;16780:56;16830:5;16780:56;:::i;:::-;16856:7;16884:1;16869:260;16894:6;16891:1;16888:13;16869:260;;;16961:6;16955:13;16982:63;17041:3;17026:13;16982:63;:::i;:::-;16975:70;;17062:60;17115:6;17062:60;:::i;:::-;17052:70;-1:-1;;16916:1;16909:9;16869:260;;17159:343;;17269:38;17301:5;17269:38;:::i;:::-;17319:70;17382:6;17377:3;17319:70;:::i;:::-;17312:77;;17394:52;17439:6;17434:3;17427:4;17420:5;17416:16;17394:52;:::i;:::-;17467:29;17489:6;17467:29;:::i;:::-;17458:39;;;;17249:253;-1:-1;;;17249:253::o;17510:326::-;;17670:67;17734:2;17729:3;17670:67;:::i;:::-;17770:28;17750:49;;17827:2;17818:12;;17656:180;-1:-1;;17656:180::o;17845:370::-;;18005:67;18069:2;18064:3;18005:67;:::i;:::-;18105:34;18085:55;;-1:-1;;;18169:2;18160:12;;18153:25;18206:2;18197:12;;17991:224;-1:-1;;17991:224::o;18224:390::-;;18384:67;18448:2;18443:3;18384:67;:::i;:::-;18484:34;18464:55;;-1:-1;;;18548:2;18539:12;;18532:45;18605:2;18596:12;;18370:244;-1:-1;;18370:244::o;18622:110::-;18703:23;18720:5;18703:23;:::i;18739:103::-;18812:24;18830:5;18812:24;:::i;18969:222::-;19096:2;19081:18;;19110:71;19085:9;19154:6;19110:71;:::i;19198:888::-;19531:2;19545:47;;;19516:18;;19606:108;19516:18;19700:6;19606:108;:::i;:::-;19598:116;;19762:9;19756:4;19752:20;19747:2;19736:9;19732:18;19725:48;19787:108;19890:4;19881:6;19787:108;:::i;:::-;19779:116;;19943:9;19937:4;19933:20;19928:2;19917:9;19913:18;19906:48;19968:108;20071:4;20062:6;19968:108;:::i;:::-;19960:116;19502:584;-1:-1;;;;;19502:584::o;20093:306::-;20238:2;20252:47;;;20223:18;;20313:76;20223:18;20375:6;20313:76;:::i;20406:416::-;20606:2;20620:47;;;20591:18;;20681:131;20591:18;20681:131;:::i;20829:416::-;21029:2;21043:47;;;21014:18;;21104:131;21014:18;21104:131;:::i;21252:416::-;21452:2;21466:47;;;21437:18;;21527:131;21437:18;21527:131;:::i;21675:218::-;21800:2;21785:18;;21814:69;21789:9;21856:6;21814:69;:::i;21900:222::-;22027:2;22012:18;;22041:71;22016:9;22085:6;22041:71;:::i;22129:256::-;22191:2;22185:9;22217:17;;;22292:18;22277:34;;22313:22;;;22274:62;22271:2;;;22349:1;22346;22339:12;22271:2;22365;22358:22;22169:216;;-1:-1;22169:216::o;22392:303::-;;22550:18;22542:6;22539:30;22536:2;;;22582:1;22579;22572:12;22536:2;-1:-1;22617:4;22605:17;;;22670:15;;22473:222::o;22702:321::-;;22845:18;22837:6;22834:30;22831:2;;;22877:1;22874;22867:12;22831:2;-1:-1;23008:4;22944;22921:17;;;;-1:-1;;22917:33;22998:15;;22768:255::o;23030:151::-;23154:4;23145:14;;23102:79::o;23346:137::-;23449:12;;23420:63::o;23993:178::-;24111:19;;;24160:4;24151:14;;24104:67::o;24709:91::-;;24771:24;24789:5;24771:24;:::i;24913:85::-;24979:13;24972:21;;24955:43::o;25005:113::-;-1:-1;;;;;25067:46;;25050:68::o;25125:121::-;-1:-1;;;;;25187:54;;25170:76::o;25253:86::-;25325:8;25314:20;;25297:42::o;25346:72::-;25408:5;25391:27::o;25425:88::-;25497:10;25486:22;;25469:44::o;25520:96::-;25592:18;25581:30;;25564:52::o;25623:81::-;25694:4;25683:16;;25666:38::o;25712:145::-;25793:6;25788:3;25783;25770:30;-1:-1;25849:1;25831:16;;25824:27;25763:94::o;25866:268::-;25931:1;25938:101;25952:6;25949:1;25946:13;25938:101;;;26019:11;;;26013:18;26000:11;;;25993:39;25974:2;25967:10;25938:101;;;26054:6;26051:1;26048:13;26045:2;;;26119:1;26110:6;26105:3;26101:16;26094:27;26045:2;25915:219;;;;:::o;26142:97::-;26230:2;26210:14;-1:-1;;26206:28;;26190:49::o;26247:117::-;26316:24;26334:5;26316:24;:::i;:::-;26309:5;26306:35;26296:2;;26355:1;26352;26345:12;26511:111;26577:21;26592:5;26577:21;:::i;26629:114::-;26718:1;26711:5;26708:12;26698:2;;26734:1;26731;26724:12;26866:117;26935:24;26953:5;26935:24;:::i;26990:115::-;27058:23;27075:5;27058:23;:::i;27112:117::-;27181:24;27199:5;27181:24;:::i;27236:115::-;27304:23;27321:5;27304:23;:::i;27358:115::-;27426:23;27443:5;27426:23;:::i;27480:113::-;27547:22;27563:5;27547:22;:::i", - "linkReferences": {}, - "immutableReferences": { - "36418": [ - { - "start": 592, - "length": 32 - }, - { - "start": 1674, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "parseAssetsForAction(address,uint256,bytes)": "bbd2d646", - "parseInitArgs(address,bytes)": "db16c72e" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_initialConvertibleOfferingMarket\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_externalPosition\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_actionId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_encodedActionArgs\",\"type\":\"bytes\"}],\"name\":\"parseAssetsForAction\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"assetsToTransfer_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amountsToTransfer_\",\"type\":\"uint256[]\"},{\"internalType\":\"address[]\",\"name\":\"assetsToReceive_\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"parseInitArgs\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"parseAssetsForAction(address,uint256,bytes)\":{\"params\":{\"_actionId\":\"The _actionId for the callOnExternalPosition\",\"_encodedActionArgs\":\"The encoded parameters for the callOnExternalPosition\",\"_externalPosition\":\"The _externalPosition to be called\"},\"returns\":{\"amountsToTransfer_\":\"The amounts to be transferred from the Vault\",\"assetsToReceive_\":\"The assets to be received at the Vault\",\"assetsToTransfer_\":\"The assets to be transferred from the Vault\"}},\"parseInitArgs(address,bytes)\":{\"details\":\"Empty for this external position type\"}},\"title\":\"SolvV2ConvertibleIssuerPositionParser\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"parseAssetsForAction(address,uint256,bytes)\":{\"notice\":\"Parses the assets to send and receive for the callOnExternalPosition\"},\"parseInitArgs(address,bytes)\":{\"notice\":\"Parse and validate input arguments to be used when initializing a newly-deployed ExternalPositionProxy\"}},\"notice\":\"Parser for Solv V2 Convertible Issuer positions\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/solv-v2-convertible-issuer/SolvV2ConvertibleIssuerPositionParser.sol\":\"SolvV2ConvertibleIssuerPositionParser\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/persistent/external-positions/solv-v2-convertible-issuer/SolvV2ConvertibleIssuerPositionLibBase1.sol\":{\"keccak256\":\"0x35fe67bf530be402aa73b3d23747e07d00ba5d36d30a9ca7e3d9f910f95b5528\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d75931a5213dd4a7a1d24f85b3568c6c1188985215964606a7757f1961ac99bb\",\"dweb:/ipfs/QmWd2ESTAF7HuHmCqYScD1yDG66f8kkRCGy11Bm44wadDH\"]},\"contracts/release/extensions/external-position-manager/external-positions/IExternalPositionParser.sol\":{\"keccak256\":\"0x1662fbd65841ee5e9cf8d5329b9d04c264b24ef68ae1e0484e59a8969b0d2c46\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://580569b0f875e0344db83fae1e72dcc6c0767a049b2a6cc3e4f3c411d2284b27\",\"dweb:/ipfs/QmXFmF9QbcVsPHaBo1iq8sZHYhDkwfkMZpHmLTuJJ37NvZ\"]},\"contracts/release/extensions/external-position-manager/external-positions/solv-v2-convertible-issuer/ISolvV2ConvertibleIssuerPosition.sol\":{\"keccak256\":\"0x728f83194c387f423d6d150da01cc276299e4553d58e60a8417b704204f9284b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://77a1628aad46e788f606150955940aecf91d002adb80a62255366e3f35d40843\",\"dweb:/ipfs/QmUtxTYmmtZ93euxWW87aSBsQEFPLSJ55X9BR6WgRuUr6h\"]},\"contracts/release/extensions/external-position-manager/external-positions/solv-v2-convertible-issuer/SolvV2ConvertibleIssuerPositionDataDecoder.sol\":{\"keccak256\":\"0xa08ecd4d412419fb3fc0057ffe373508d95e0e83bbcccf0cb5e51cf623ebaeac\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c0bf53474024ecad55dd4a4ba17eec58c96b4543c9b6a1f6a33235b1e4199e4d\",\"dweb:/ipfs/QmQXd6ety32NitagfkKCTkqCcUee5vj9jrV4cJjot5iY1v\"]},\"contracts/release/extensions/external-position-manager/external-positions/solv-v2-convertible-issuer/SolvV2ConvertibleIssuerPositionLib.sol\":{\"keccak256\":\"0x3d0cda1b3b08e497ee150e93de248bbb58daa61e83ed92e5480f1e7568684c84\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://7669f6a053dac613e472da60943b65e3981a98b613c0e4e05d0f5923d0509af2\",\"dweb:/ipfs/QmXQtKpc28FMWVFwmVV3RFEbCiXxM8XKvpqqxjqSgDuueq\"]},\"contracts/release/extensions/external-position-manager/external-positions/solv-v2-convertible-issuer/SolvV2ConvertibleIssuerPositionParser.sol\":{\"keccak256\":\"0x334779d26a85941324148e7be6a616ebe3b1c76aef8780b9aba2b10910678d87\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://76af3b2512d31d814489ddcac3321259b32dbe1ba482898bda7fd8082e59b1a1\",\"dweb:/ipfs/QmcPGqgCRdDYspdS6jDXBwSx6DaKQN4KDFZv5j2hsDPYNj\"]},\"contracts/release/interfaces/ISolvV2ConvertiblePool.sol\":{\"keccak256\":\"0x1943f59f09537f176ae398ae51184c9c69e8c366e74f2e7d2f02326c35e6fde7\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://cc239c228406fa50ec4f40a44af9438efdeb63338846a65d5864c61a643e037b\",\"dweb:/ipfs/QmZhYZoKUAPtksVygGhetvP6Yvu4UAsCpiHAqbPWLtpVJC\"]},\"contracts/release/interfaces/ISolvV2ConvertibleVoucher.sol\":{\"keccak256\":\"0xebec2ad1a5024a1958a558378dfde09cebe998609caa718f13b0088a0347a630\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://fa18447e3accb03306a9904d2d2247c8cadca34a9bc87ca585e6b0646f0814d7\",\"dweb:/ipfs/QmNyrXdUZqbYyDyEu6RyQXttD4mpETd6fFS1UiL2PVDnXf\"]},\"contracts/release/interfaces/ISolvV2InitialConvertibleOfferingMarket.sol\":{\"keccak256\":\"0xe34205d54ec639e2e3f8e0e2871984a6796424d903259857f1f11de260cf8abe\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://908f8d334df9ae2191787a8e53c78b1847bd936f2ce9d04115f5e9339c3e3934\",\"dweb:/ipfs/QmZzxE748Hb2Vosu7cwPmkb4EVpoqvS4RgHogLrvDgsnD3\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"contracts/release/utils/Uint256ArrayLib.sol\":{\"keccak256\":\"0x1627d0d32692b86c5dd3e74ebb8305fbf99a3c41d4b90e736077762cc80c1a31\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://54ff92ccd4bd685dda44c2520e3f52478168e909b400c3cc4076d37f5c2704ef\",\"dweb:/ipfs/QmYUxeaKfPwnUtP35i6JJ3ptsaDFEV6SD2o4VV8d5vBUZD\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_initialConvertibleOfferingMarket", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_externalPosition", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_actionId", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_encodedActionArgs", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "parseAssetsForAction", - "outputs": [ - { - "internalType": "address[]", - "name": "assetsToTransfer_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "amountsToTransfer_", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "assetsToReceive_", - "type": "address[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "parseInitArgs", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "parseAssetsForAction(address,uint256,bytes)": { - "params": { - "_actionId": "The _actionId for the callOnExternalPosition", - "_encodedActionArgs": "The encoded parameters for the callOnExternalPosition", - "_externalPosition": "The _externalPosition to be called" - }, - "returns": { - "amountsToTransfer_": "The amounts to be transferred from the Vault", - "assetsToReceive_": "The assets to be received at the Vault", - "assetsToTransfer_": "The assets to be transferred from the Vault" - } - }, - "parseInitArgs(address,bytes)": { - "details": "Empty for this external position type" - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "parseAssetsForAction(address,uint256,bytes)": { - "notice": "Parses the assets to send and receive for the callOnExternalPosition" - }, - "parseInitArgs(address,bytes)": { - "notice": "Parse and validate input arguments to be used when initializing a newly-deployed ExternalPositionProxy" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/external-position-manager/external-positions/solv-v2-convertible-issuer/SolvV2ConvertibleIssuerPositionParser.sol": "SolvV2ConvertibleIssuerPositionParser" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/external-positions/IExternalPosition.sol": { - "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", - "urls": [ - "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", - "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/external-positions/solv-v2-convertible-issuer/SolvV2ConvertibleIssuerPositionLibBase1.sol": { - "keccak256": "0x35fe67bf530be402aa73b3d23747e07d00ba5d36d30a9ca7e3d9f910f95b5528", - "urls": [ - "bzz-raw://d75931a5213dd4a7a1d24f85b3568c6c1188985215964606a7757f1961ac99bb", - "dweb:/ipfs/QmWd2ESTAF7HuHmCqYScD1yDG66f8kkRCGy11Bm44wadDH" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/IExternalPositionParser.sol": { - "keccak256": "0x1662fbd65841ee5e9cf8d5329b9d04c264b24ef68ae1e0484e59a8969b0d2c46", - "urls": [ - "bzz-raw://580569b0f875e0344db83fae1e72dcc6c0767a049b2a6cc3e4f3c411d2284b27", - "dweb:/ipfs/QmXFmF9QbcVsPHaBo1iq8sZHYhDkwfkMZpHmLTuJJ37NvZ" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/solv-v2-convertible-issuer/ISolvV2ConvertibleIssuerPosition.sol": { - "keccak256": "0x728f83194c387f423d6d150da01cc276299e4553d58e60a8417b704204f9284b", - "urls": [ - "bzz-raw://77a1628aad46e788f606150955940aecf91d002adb80a62255366e3f35d40843", - "dweb:/ipfs/QmUtxTYmmtZ93euxWW87aSBsQEFPLSJ55X9BR6WgRuUr6h" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/solv-v2-convertible-issuer/SolvV2ConvertibleIssuerPositionDataDecoder.sol": { - "keccak256": "0xa08ecd4d412419fb3fc0057ffe373508d95e0e83bbcccf0cb5e51cf623ebaeac", - "urls": [ - "bzz-raw://c0bf53474024ecad55dd4a4ba17eec58c96b4543c9b6a1f6a33235b1e4199e4d", - "dweb:/ipfs/QmQXd6ety32NitagfkKCTkqCcUee5vj9jrV4cJjot5iY1v" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/solv-v2-convertible-issuer/SolvV2ConvertibleIssuerPositionLib.sol": { - "keccak256": "0x3d0cda1b3b08e497ee150e93de248bbb58daa61e83ed92e5480f1e7568684c84", - "urls": [ - "bzz-raw://7669f6a053dac613e472da60943b65e3981a98b613c0e4e05d0f5923d0509af2", - "dweb:/ipfs/QmXQtKpc28FMWVFwmVV3RFEbCiXxM8XKvpqqxjqSgDuueq" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/solv-v2-convertible-issuer/SolvV2ConvertibleIssuerPositionParser.sol": { - "keccak256": "0x334779d26a85941324148e7be6a616ebe3b1c76aef8780b9aba2b10910678d87", - "urls": [ - "bzz-raw://76af3b2512d31d814489ddcac3321259b32dbe1ba482898bda7fd8082e59b1a1", - "dweb:/ipfs/QmcPGqgCRdDYspdS6jDXBwSx6DaKQN4KDFZv5j2hsDPYNj" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/ISolvV2ConvertiblePool.sol": { - "keccak256": "0x1943f59f09537f176ae398ae51184c9c69e8c366e74f2e7d2f02326c35e6fde7", - "urls": [ - "bzz-raw://cc239c228406fa50ec4f40a44af9438efdeb63338846a65d5864c61a643e037b", - "dweb:/ipfs/QmZhYZoKUAPtksVygGhetvP6Yvu4UAsCpiHAqbPWLtpVJC" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/ISolvV2ConvertibleVoucher.sol": { - "keccak256": "0xebec2ad1a5024a1958a558378dfde09cebe998609caa718f13b0088a0347a630", - "urls": [ - "bzz-raw://fa18447e3accb03306a9904d2d2247c8cadca34a9bc87ca585e6b0646f0814d7", - "dweb:/ipfs/QmNyrXdUZqbYyDyEu6RyQXttD4mpETd6fFS1UiL2PVDnXf" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/ISolvV2InitialConvertibleOfferingMarket.sol": { - "keccak256": "0xe34205d54ec639e2e3f8e0e2871984a6796424d903259857f1f11de260cf8abe", - "urls": [ - "bzz-raw://908f8d334df9ae2191787a8e53c78b1847bd936f2ce9d04115f5e9339c3e3934", - "dweb:/ipfs/QmZzxE748Hb2Vosu7cwPmkb4EVpoqvS4RgHogLrvDgsnD3" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AddressArrayLib.sol": { - "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", - "urls": [ - "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", - "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AssetHelpers.sol": { - "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", - "urls": [ - "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", - "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/Uint256ArrayLib.sol": { - "keccak256": "0x1627d0d32692b86c5dd3e74ebb8305fbf99a3c41d4b90e736077762cc80c1a31", - "urls": [ - "bzz-raw://54ff92ccd4bd685dda44c2520e3f52478168e909b400c3cc4076d37f5c2704ef", - "dweb:/ipfs/QmYUxeaKfPwnUtP35i6JJ3ptsaDFEV6SD2o4VV8d5vBUZD" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { - "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", - "urls": [ - "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", - "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Address.sol": { - "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", - "urls": [ - "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", - "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 137 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_initialConvertibleOfferingMarket", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "parseAssetsForAction", "inputs": [ { "name": "_externalPosition", "type": "address", "internalType": "address" }, { "name": "_actionId", "type": "uint256", "internalType": "uint256" }, { "name": "_encodedActionArgs", "type": "bytes", "internalType": "bytes" } ], "outputs": [ { "name": "assetsToTransfer_", "type": "address[]", "internalType": "address[]" }, { "name": "amountsToTransfer_", "type": "uint256[]", "internalType": "uint256[]" }, { "name": "assetsToReceive_", "type": "address[]", "internalType": "address[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "parseInitArgs", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [ { "name": "", "type": "bytes", "internalType": "bytes" } ], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x60a06040523480156200001157600080fd5b5060405162001ab238038062001ab283398101604081905262000034916200005d565b60601b6001600160601b031916608052620000b2565b8051620000578162000098565b92915050565b6000602082840312156200007057600080fd5b60006200007e84846200004a565b949350505050565b60006001600160a01b03821662000057565b620000a38162000086565b8114620000af57600080fd5b50565b60805160601c6119dd620000d560003980610250528061068a52506119dd6000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063bbd2d6461461003b578063db16c72e14610066575b600080fd5b61004e610049366004611467565b610086565b60405161005d939291906117b9565b60405180910390f35b61007961007436600461141f565b610b0e565b60405161005d91906117fb565b60608080846101bc5760008061009a610d98565b6100a387610b16565b995050505050505050925092506100b982610b61565b6040805160018082528183019092529060208083019080368337019050509550826001600160a01b0316636f307dc36040518163ffffffff1660e01b815260040160206040518083038186803b15801561011257600080fd5b505afa158015610126573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061014a91906112ce565b8660008151811061015757fe5b6001600160a01b039290921660209283029190910182015260408051600180825281830190925291828101908036833701905050945080604001516001600160801b0316856000815181106101a857fe5b602002602001018181525050505050610b05565b60018514156103a7576060866001600160a01b0316633ee992ee6040518163ffffffff1660e01b815260040160006040518083038186803b15801561020057600080fd5b505afa158015610214573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261023c91908101906114cc565b805190915060005b8181101561039f5760007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316639cfb2ab085848151811061028957fe5b60200260200101516040518263ffffffff1660e01b81526004016102ad919061183c565b6101a06040518083038186803b1580156102c657600080fd5b505afa1580156102da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102fe9190611501565b610120015190506000816001600160a01b03166370a082318c6040518263ffffffff1660e01b815260040161033391906117ab565b60206040518083038186803b15801561034b57600080fd5b505afa15801561035f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610383919061155d565b1115610396576103938582610baa565b94505b50600101610244565b505050610b05565b6002851415610655576000806103bc86610bd5565b915091506000826001600160a01b031663360454c56040518163ffffffff1660e01b815260040160206040518083038186803b1580156103fb57600080fd5b505afa15801561040f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061043391906112ce565b905061043d610dc6565b60405163d3ceafb960e01b81526001600160a01b0383169063d3ceafb99061046990869060040161184a565b6101a06040518083038186803b15801561048257600080fd5b505afa158015610496573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ba9190611520565b905060006105c7836001600160a01b0316633e7e86696040518163ffffffff1660e01b815260040160206040518083038186803b1580156104fa57600080fd5b505afa15801561050e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610532919061159a565b60ff16600a0a6105c184602001516001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561057857600080fd5b505afa15801561058c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105b0919061159a565b60408601519060ff16600a0a610bf5565b90610c2f565b604080516001808252818301909252919250602080830190803683370190505097508160200151886000815181106105fb57fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509650808760008151811061063f57fe5b6020026020010181815250505050505050610b05565b600385141561088f57600061066985610c61565b9050610673610e2f565b6040516309cfb2ab60e41b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690639cfb2ab0906106bf90859060040161183c565b6101a06040518083038186803b1580156106d857600080fd5b505afa1580156106ec573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107109190611501565b60a08101519091506001600160801b0316156107ea5760408051600180825281830190925290602080830190803683370190505092508061010001516001600160a01b0316636f307dc36040518163ffffffff1660e01b815260040160206040518083038186803b15801561078457600080fd5b505afa158015610798573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107bc91906112ce565b836000815181106107c957fe5b60200260200101906001600160a01b031690816001600160a01b0316815250505b6101208101516040516370a0823160e01b81526000916001600160a01b0316906370a082319061081e908c906004016117ab565b60206040518083038186803b15801561083657600080fd5b505afa15801561084a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061086e919061155d565b111561088857610120810151610885908490610c77565b92505b5050610b05565b6004851415610b05576000806108a486610bd5565b9150915060008290506000816001600160a01b031663360454c56040518163ffffffff1660e01b815260040160206040518083038186803b1580156108e857600080fd5b505afa1580156108fc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061092091906112ce565b9050600080826001600160a01b031663875f4384866040518263ffffffff1660e01b8152600401610951919061184a565b604080518083038186803b15801561096857600080fd5b505afa15801561097c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109a0919061157b565b90925090508115610a7a576040805160018082528183019092529060208083019080368337505060405163d3ceafb960e01b8152919850506001600160a01b0385169063d3ceafb9906109f790889060040161184a565b6101a06040518083038186803b158015610a1057600080fd5b505afa158015610a24573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a489190611520565b6020015187600081518110610a5957fe5b60200260200101906001600160a01b031690816001600160a01b0316815250505b8015610afe57610afb846001600160a01b0316636f307dc36040518163ffffffff1660e01b815260040160206040518083038186803b158015610abc57600080fd5b505afa158015610ad0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610af491906112ce565b8890610c77565b96505b5050505050505b93509350939050565b606092915050565b6000806000806000806000806060610b2c610d98565b8a806020019051810190610b4091906112f4565b99509950995099509950995099509950995099509193959799509193959799565b6001600160a01b03811673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1415610ba75760405162461bcd60e51b8152600401610b9e9061182c565b60405180910390fd5b50565b6060610bb68383610d42565b15610bc2575081610bcf565b610bcc8383610c77565b90505b92915050565b60008082806020019051810190610bec91906113e5565b91509150915091565b600082610c0457506000610bcf565b82820282848281610c1157fe5b0414610bcc5760405162461bcd60e51b8152600401610b9e9061181c565b6000808211610c505760405162461bcd60e51b8152600401610b9e9061180c565b818381610c5957fe5b049392505050565b600081806020019051810190610bcf919061153f565b6060825160010167ffffffffffffffff81118015610c9457600080fd5b50604051908082528060200260200182016040528015610cbe578160200160208202803683370190505b50905060005b8351811015610d0d57838181518110610cd957fe5b6020026020010151828281518110610ced57fe5b6001600160a01b0390921660209283029190910190910152600101610cc4565b508181845181518110610d1c57fe5b60200260200101906001600160a01b031690816001600160a01b03168152505092915050565b6000805b8351811015610d8e57838181518110610d5b57fe5b60200260200101516001600160a01b0316836001600160a01b03161415610d86576001915050610bcf565b600101610d46565b5060009392505050565b6040805160a08101825260008082526020820181905291810182905260608101829052608081019190915290565b604080516101a081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052906101008201908152600060208201819052604082018190526060820181905260809091015290565b604080516101a081018252600080825260208201819052918101829052906060820190815260006020820181905260408201819052606082018190526080820181905260a0820181905260c0820181905260e0820181905261010082018190526101209091015290565b8035610bcf81611970565b8051610bcf81611970565b600082601f830112610ec057600080fd5b8151610ed3610ece8261187f565b611858565b91508181835260208401935060208101905083856020840282011115610ef857600080fd5b60005b83811015610f245781610f0e888261128c565b8452506020928301929190910190600101610efb565b5050505092915050565b8051610bcf81611984565b600082601f830112610f4a57600080fd5b8135610f58610ece826118a0565b91508082526020830160208301858383011115610f7457600080fd5b610f7f83828461192a565b50505092915050565b600082601f830112610f9957600080fd5b8151610fa7610ece826118a0565b91508082526020830160208301858383011115610fc357600080fd5b610f7f838284611936565b8051610bcf8161198d565b600060a08284031215610feb57600080fd5b610ff560a0611858565b905060006110038484611281565b825250602061101484848301611281565b602083015250604061102884828501611281565b604083015250606061103c848285016112b8565b6060830152506080611050848285016112b8565b60808301525092915050565b60006101a0828403121561106f57600080fd5b61107a6101a0611858565b90506000611088848461128c565b8252506020611099848483016112ad565b60208301525060406110ad848285016112ad565b60408301525060606110c184828501610fce565b60608301525060806110d584828501611281565b60808301525060a06110e984828501611281565b60a08301525060c06110fd84828501611281565b60c08301525060e061111184828501611281565b60e08301525061010061112684828501610ea4565b6101008301525061012061113c84828501610ea4565b6101208301525061014061115284828501610ea4565b6101408301525061016061116884828501610f2e565b6101608301525061018061117e84828501610f2e565b6101808301525092915050565b60006101a0828403121561119e57600080fd5b6111a96101a0611858565b905060006111b78484610ea4565b82525060206111c884848301610ea4565b60208301525060406111dc848285016112a2565b60408301525060606111f084828501611281565b606083015250608061120484828501611281565b60808301525060a061121884828501611281565b60a08301525060c061122c848285016112b8565b60c08301525060e0611240848285016112b8565b60e08301525061010061125584828501610fce565b6101008301525061012061126b84828501610f2e565b6101208301525061014061115284828501610f2e565b8051610bcf8161199a565b8051610bcf816119a3565b8035610bcf816119ac565b8051610bcf816119ac565b8051610bcf816119b5565b8051610bcf816119be565b8051610bcf816119c7565b6000602082840312156112e057600080fd5b60006112ec8484610ea4565b949350505050565b6000806000806000806000806000806101c08b8d03121561131457600080fd5b60006113208d8d610ea4565b9a505060206113318d828e01610ea4565b99505060406113428d828e01611281565b98505060606113538d828e01611281565b97505060806113648d828e016112ad565b96505060a06113758d828e016112ad565b95505060c06113868d828e01610f2e565b94505060e06113978d828e01610fce565b9350506101008b015167ffffffffffffffff8111156113b557600080fd5b6113c18d828e01610f88565b9250506101206113d38d828e01610fd9565b9150509295989b9194979a5092959850565b600080604083850312156113f857600080fd5b60006114048585610ea4565b9250506020611415858286016112a2565b9150509250929050565b6000806040838503121561143257600080fd5b600061143e8585610e99565b925050602083013567ffffffffffffffff81111561145b57600080fd5b61141585828601610f39565b60008060006060848603121561147c57600080fd5b60006114888686610e99565b935050602061149986828701611297565b925050604084013567ffffffffffffffff8111156114b657600080fd5b6114c286828701610f39565b9150509250925092565b6000602082840312156114de57600080fd5b815167ffffffffffffffff8111156114f557600080fd5b6112ec84828501610eaf565b60006101a0828403121561151457600080fd5b60006112ec848461105c565b60006101a0828403121561153357600080fd5b60006112ec848461118b565b60006020828403121561155157600080fd5b60006112ec848461128c565b60006020828403121561156f57600080fd5b60006112ec84846112a2565b6000806040838503121561158e57600080fd5b600061140485856112a2565b6000602082840312156115ac57600080fd5b60006112ec84846112c3565b60006115c483836115d8565b505060200190565b60006115c483836117a2565b6115e1816118db565b82525050565b60006115f2826118ce565b6115fc81856118d2565b9350611607836118c8565b8060005b8381101561163557815161161f88826115b8565b975061162a836118c8565b92505060010161160b565b509495945050505050565b600061164b826118ce565b61165581856118d2565b9350611660836118c8565b8060005b8381101561163557815161167888826115cc565b9750611683836118c8565b925050600101611664565b6000611699826118ce565b6116a381856118d2565b93506116b3818560208601611936565b6116bc81611966565b9093019392505050565b60006116d3601a836118d2565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b600061170c6021836118d2565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b600061174f6035836118d2565b7f5f5f76616c69646174654e6f744e6174697665546f6b656e3a204e617469766581527408185cdcd95d081a5cc81d5b9cdd5c1c1bdc9d1959605a1b602082015260400192915050565b6115e181611903565b6115e18161190b565b60208101610bcf82846115d8565b606080825281016117ca81866115e7565b905081810360208301526117de8185611640565b905081810360408301526117f281846115e7565b95945050505050565b60208082528101610bcc818461168e565b60208082528101610bcf816116c6565b60208082528101610bcf816116ff565b60208082528101610bcf81611742565b60208101610bcf8284611799565b60208101610bcf82846117a2565b60405181810167ffffffffffffffff8111828210171561187757600080fd5b604052919050565b600067ffffffffffffffff82111561189657600080fd5b5060209081020190565b600067ffffffffffffffff8211156118b757600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b6000610bcf826118f7565b151590565b6001600160801b031690565b6001600160a01b031690565b62ffffff1690565b90565b63ffffffff1690565b67ffffffffffffffff1690565b60ff1690565b82818337506000910152565b60005b83811015611951578181015183820152602001611939565b83811115611960576000848401525b50505050565b601f01601f191690565b611979816118db565b8114610ba757600080fd5b611979816118e6565b60028110610ba757600080fd5b611979816118eb565b61197981611903565b6119798161190b565b6119798161190e565b61197981611917565b6119798161192456fea164736f6c634300060c000a", "sourceMap": "902:6257:137:-:0;;;1322:222;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1394:143;;-1:-1:-1;;;;;;1394:143:137;;;902:6257;;5:134:-1;83:13;;101:33;83:13;101:33;:::i;:::-;68:71;;;;:::o;146:263::-;;261:2;249:9;240:7;236:23;232:32;229:2;;;277:1;274;267:12;229:2;312:1;329:64;385:7;365:9;329:64;:::i;:::-;319:74;223:186;-1:-1;;;;223:186::o;416:91::-;;-1:-1;;;;;576:54;;478:24;559:76::o;642:117::-;711:24;729:5;711:24;:::i;:::-;704:5;701:35;691:2;;750:1;747;740:12;691:2;685:74;:::o;:::-;902:6257:137;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c8063bbd2d6461461003b578063db16c72e14610066575b600080fd5b61004e610049366004611467565b610086565b60405161005d939291906117b9565b60405180910390f35b61007961007436600461141f565b610b0e565b60405161005d91906117fb565b60608080846101bc5760008061009a610d98565b6100a387610b16565b995050505050505050925092506100b982610b61565b6040805160018082528183019092529060208083019080368337019050509550826001600160a01b0316636f307dc36040518163ffffffff1660e01b815260040160206040518083038186803b15801561011257600080fd5b505afa158015610126573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061014a91906112ce565b8660008151811061015757fe5b6001600160a01b039290921660209283029190910182015260408051600180825281830190925291828101908036833701905050945080604001516001600160801b0316856000815181106101a857fe5b602002602001018181525050505050610b05565b60018514156103a7576060866001600160a01b0316633ee992ee6040518163ffffffff1660e01b815260040160006040518083038186803b15801561020057600080fd5b505afa158015610214573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261023c91908101906114cc565b805190915060005b8181101561039f5760007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316639cfb2ab085848151811061028957fe5b60200260200101516040518263ffffffff1660e01b81526004016102ad919061183c565b6101a06040518083038186803b1580156102c657600080fd5b505afa1580156102da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102fe9190611501565b610120015190506000816001600160a01b03166370a082318c6040518263ffffffff1660e01b815260040161033391906117ab565b60206040518083038186803b15801561034b57600080fd5b505afa15801561035f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610383919061155d565b1115610396576103938582610baa565b94505b50600101610244565b505050610b05565b6002851415610655576000806103bc86610bd5565b915091506000826001600160a01b031663360454c56040518163ffffffff1660e01b815260040160206040518083038186803b1580156103fb57600080fd5b505afa15801561040f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061043391906112ce565b905061043d610dc6565b60405163d3ceafb960e01b81526001600160a01b0383169063d3ceafb99061046990869060040161184a565b6101a06040518083038186803b15801561048257600080fd5b505afa158015610496573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ba9190611520565b905060006105c7836001600160a01b0316633e7e86696040518163ffffffff1660e01b815260040160206040518083038186803b1580156104fa57600080fd5b505afa15801561050e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610532919061159a565b60ff16600a0a6105c184602001516001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561057857600080fd5b505afa15801561058c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105b0919061159a565b60408601519060ff16600a0a610bf5565b90610c2f565b604080516001808252818301909252919250602080830190803683370190505097508160200151886000815181106105fb57fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509650808760008151811061063f57fe5b6020026020010181815250505050505050610b05565b600385141561088f57600061066985610c61565b9050610673610e2f565b6040516309cfb2ab60e41b81526001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690639cfb2ab0906106bf90859060040161183c565b6101a06040518083038186803b1580156106d857600080fd5b505afa1580156106ec573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107109190611501565b60a08101519091506001600160801b0316156107ea5760408051600180825281830190925290602080830190803683370190505092508061010001516001600160a01b0316636f307dc36040518163ffffffff1660e01b815260040160206040518083038186803b15801561078457600080fd5b505afa158015610798573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107bc91906112ce565b836000815181106107c957fe5b60200260200101906001600160a01b031690816001600160a01b0316815250505b6101208101516040516370a0823160e01b81526000916001600160a01b0316906370a082319061081e908c906004016117ab565b60206040518083038186803b15801561083657600080fd5b505afa15801561084a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061086e919061155d565b111561088857610120810151610885908490610c77565b92505b5050610b05565b6004851415610b05576000806108a486610bd5565b9150915060008290506000816001600160a01b031663360454c56040518163ffffffff1660e01b815260040160206040518083038186803b1580156108e857600080fd5b505afa1580156108fc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061092091906112ce565b9050600080826001600160a01b031663875f4384866040518263ffffffff1660e01b8152600401610951919061184a565b604080518083038186803b15801561096857600080fd5b505afa15801561097c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109a0919061157b565b90925090508115610a7a576040805160018082528183019092529060208083019080368337505060405163d3ceafb960e01b8152919850506001600160a01b0385169063d3ceafb9906109f790889060040161184a565b6101a06040518083038186803b158015610a1057600080fd5b505afa158015610a24573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a489190611520565b6020015187600081518110610a5957fe5b60200260200101906001600160a01b031690816001600160a01b0316815250505b8015610afe57610afb846001600160a01b0316636f307dc36040518163ffffffff1660e01b815260040160206040518083038186803b158015610abc57600080fd5b505afa158015610ad0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610af491906112ce565b8890610c77565b96505b5050505050505b93509350939050565b606092915050565b6000806000806000806000806060610b2c610d98565b8a806020019051810190610b4091906112f4565b99509950995099509950995099509950995099509193959799509193959799565b6001600160a01b03811673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1415610ba75760405162461bcd60e51b8152600401610b9e9061182c565b60405180910390fd5b50565b6060610bb68383610d42565b15610bc2575081610bcf565b610bcc8383610c77565b90505b92915050565b60008082806020019051810190610bec91906113e5565b91509150915091565b600082610c0457506000610bcf565b82820282848281610c1157fe5b0414610bcc5760405162461bcd60e51b8152600401610b9e9061181c565b6000808211610c505760405162461bcd60e51b8152600401610b9e9061180c565b818381610c5957fe5b049392505050565b600081806020019051810190610bcf919061153f565b6060825160010167ffffffffffffffff81118015610c9457600080fd5b50604051908082528060200260200182016040528015610cbe578160200160208202803683370190505b50905060005b8351811015610d0d57838181518110610cd957fe5b6020026020010151828281518110610ced57fe5b6001600160a01b0390921660209283029190910190910152600101610cc4565b508181845181518110610d1c57fe5b60200260200101906001600160a01b031690816001600160a01b03168152505092915050565b6000805b8351811015610d8e57838181518110610d5b57fe5b60200260200101516001600160a01b0316836001600160a01b03161415610d86576001915050610bcf565b600101610d46565b5060009392505050565b6040805160a08101825260008082526020820181905291810182905260608101829052608081019190915290565b604080516101a081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052906101008201908152600060208201819052604082018190526060820181905260809091015290565b604080516101a081018252600080825260208201819052918101829052906060820190815260006020820181905260408201819052606082018190526080820181905260a0820181905260c0820181905260e0820181905261010082018190526101209091015290565b8035610bcf81611970565b8051610bcf81611970565b600082601f830112610ec057600080fd5b8151610ed3610ece8261187f565b611858565b91508181835260208401935060208101905083856020840282011115610ef857600080fd5b60005b83811015610f245781610f0e888261128c565b8452506020928301929190910190600101610efb565b5050505092915050565b8051610bcf81611984565b600082601f830112610f4a57600080fd5b8135610f58610ece826118a0565b91508082526020830160208301858383011115610f7457600080fd5b610f7f83828461192a565b50505092915050565b600082601f830112610f9957600080fd5b8151610fa7610ece826118a0565b91508082526020830160208301858383011115610fc357600080fd5b610f7f838284611936565b8051610bcf8161198d565b600060a08284031215610feb57600080fd5b610ff560a0611858565b905060006110038484611281565b825250602061101484848301611281565b602083015250604061102884828501611281565b604083015250606061103c848285016112b8565b6060830152506080611050848285016112b8565b60808301525092915050565b60006101a0828403121561106f57600080fd5b61107a6101a0611858565b90506000611088848461128c565b8252506020611099848483016112ad565b60208301525060406110ad848285016112ad565b60408301525060606110c184828501610fce565b60608301525060806110d584828501611281565b60808301525060a06110e984828501611281565b60a08301525060c06110fd84828501611281565b60c08301525060e061111184828501611281565b60e08301525061010061112684828501610ea4565b6101008301525061012061113c84828501610ea4565b6101208301525061014061115284828501610ea4565b6101408301525061016061116884828501610f2e565b6101608301525061018061117e84828501610f2e565b6101808301525092915050565b60006101a0828403121561119e57600080fd5b6111a96101a0611858565b905060006111b78484610ea4565b82525060206111c884848301610ea4565b60208301525060406111dc848285016112a2565b60408301525060606111f084828501611281565b606083015250608061120484828501611281565b60808301525060a061121884828501611281565b60a08301525060c061122c848285016112b8565b60c08301525060e0611240848285016112b8565b60e08301525061010061125584828501610fce565b6101008301525061012061126b84828501610f2e565b6101208301525061014061115284828501610f2e565b8051610bcf8161199a565b8051610bcf816119a3565b8035610bcf816119ac565b8051610bcf816119ac565b8051610bcf816119b5565b8051610bcf816119be565b8051610bcf816119c7565b6000602082840312156112e057600080fd5b60006112ec8484610ea4565b949350505050565b6000806000806000806000806000806101c08b8d03121561131457600080fd5b60006113208d8d610ea4565b9a505060206113318d828e01610ea4565b99505060406113428d828e01611281565b98505060606113538d828e01611281565b97505060806113648d828e016112ad565b96505060a06113758d828e016112ad565b95505060c06113868d828e01610f2e565b94505060e06113978d828e01610fce565b9350506101008b015167ffffffffffffffff8111156113b557600080fd5b6113c18d828e01610f88565b9250506101206113d38d828e01610fd9565b9150509295989b9194979a5092959850565b600080604083850312156113f857600080fd5b60006114048585610ea4565b9250506020611415858286016112a2565b9150509250929050565b6000806040838503121561143257600080fd5b600061143e8585610e99565b925050602083013567ffffffffffffffff81111561145b57600080fd5b61141585828601610f39565b60008060006060848603121561147c57600080fd5b60006114888686610e99565b935050602061149986828701611297565b925050604084013567ffffffffffffffff8111156114b657600080fd5b6114c286828701610f39565b9150509250925092565b6000602082840312156114de57600080fd5b815167ffffffffffffffff8111156114f557600080fd5b6112ec84828501610eaf565b60006101a0828403121561151457600080fd5b60006112ec848461105c565b60006101a0828403121561153357600080fd5b60006112ec848461118b565b60006020828403121561155157600080fd5b60006112ec848461128c565b60006020828403121561156f57600080fd5b60006112ec84846112a2565b6000806040838503121561158e57600080fd5b600061140485856112a2565b6000602082840312156115ac57600080fd5b60006112ec84846112c3565b60006115c483836115d8565b505060200190565b60006115c483836117a2565b6115e1816118db565b82525050565b60006115f2826118ce565b6115fc81856118d2565b9350611607836118c8565b8060005b8381101561163557815161161f88826115b8565b975061162a836118c8565b92505060010161160b565b509495945050505050565b600061164b826118ce565b61165581856118d2565b9350611660836118c8565b8060005b8381101561163557815161167888826115cc565b9750611683836118c8565b925050600101611664565b6000611699826118ce565b6116a381856118d2565b93506116b3818560208601611936565b6116bc81611966565b9093019392505050565b60006116d3601a836118d2565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b600061170c6021836118d2565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b600061174f6035836118d2565b7f5f5f76616c69646174654e6f744e6174697665546f6b656e3a204e617469766581527408185cdcd95d081a5cc81d5b9cdd5c1c1bdc9d1959605a1b602082015260400192915050565b6115e181611903565b6115e18161190b565b60208101610bcf82846115d8565b606080825281016117ca81866115e7565b905081810360208301526117de8185611640565b905081810360408301526117f281846115e7565b95945050505050565b60208082528101610bcc818461168e565b60208082528101610bcf816116c6565b60208082528101610bcf816116ff565b60208082528101610bcf81611742565b60208101610bcf8284611799565b60208101610bcf82846117a2565b60405181810167ffffffffffffffff8111828210171561187757600080fd5b604052919050565b600067ffffffffffffffff82111561189657600080fd5b5060209081020190565b600067ffffffffffffffff8211156118b757600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b6000610bcf826118f7565b151590565b6001600160801b031690565b6001600160a01b031690565b62ffffff1690565b90565b63ffffffff1690565b67ffffffffffffffff1690565b60ff1690565b82818337506000910152565b60005b83811015611951578181015183820152602001611939565b83811115611960576000848401525b50505050565b601f01601f191690565b611979816118db565b8114610ba757600080fd5b611979816118e6565b60028110610ba757600080fd5b611979816118eb565b61197981611903565b6119798161190b565b6119798161190e565b61197981611917565b6119798161192456fea164736f6c634300060c000a", "sourceMap": "902:6257:137:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2091:4482;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;6749:89;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;2091:4482::-;2294:34;;;2453:74;2449:4043;;2561:15;2594:16;2754:74;;:::i;:::-;2845:49;2875:18;2845:29;:49::i;:::-;2543:351;;;;;;;;;;;;;2909:34;2934:8;2909:24;:34::i;:::-;2978:16;;;2992:1;2978:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2978:16:137;2958:36;;3057:7;-1:-1:-1;;;;;3031:45:137;;:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3008:17;3026:1;3008:20;;;;;;;;-1:-1:-1;;;;;3008:70:137;;;;:20;;;;;;;;;;:70;3113:16;;;3127:1;3113:16;;;;;;;;;;;;;;3008:20;3113:16;;;;;-1:-1:-1;3113:16:137;3092:37;;3167:13;:27;;;-1:-1:-1;;;;;3143:51:137;:18;3162:1;3143:21;;;;;;;;;;;;;:51;;;;;2449:4043;;;;;;3236:50;3215:9;:72;3211:3281;;;3303:25;3364:17;-1:-1:-1;;;;;3331:78:137;;:80;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3331:80:137;;;;;;;;;;;;:::i;:::-;3448:16;;3303:108;;-1:-1:-1;3425:20:137;3478:381;3498:12;3494:1;:16;3478:381;;;3535:16;3554:44;-1:-1:-1;;;;;3554:75:137;;3630:9;3640:1;3630:12;;;;;;;;;;;;;;3554:89;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:119;;;3535:138;;3742:1;3701:8;-1:-1:-1;;;;;3695:25:137;;3721:17;3695:44;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:48;3691:154;;;3786:40;:16;3817:8;3786:30;:40::i;:::-;3767:59;;3691:154;-1:-1:-1;3512:3:137;;3478:381;;;;3211:3281;;;;;3900:47;3879:9;:69;3875:2617;;;3965:15;3982:14;4000:44;4025:18;4000:24;:44::i;:::-;3964:80;;;;4059:42;4170:7;-1:-1:-1;;;;;4144:50:137;;:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4059:151;;4225:51;;:::i;:::-;4279:58;;-1:-1:-1;;;4279:58:137;;-1:-1:-1;;;;;4279:50:137;;;;;:58;;4330:6;;4279:58;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4225:112;;4352:22;4377:186;4526:19;-1:-1:-1;;;;;4526:33:137;;:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4518:44;;4514:2;:48;4377:115;4455:10;:23;;;-1:-1:-1;;;;;4449:39:137;;:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4377:38;;;;;4441:50;;4437:2;:54;4377:59;:115::i;:::-;:136;;:186::i;:::-;4598:16;;;4612:1;4598:16;;;;;;;;;4352:211;;-1:-1:-1;4598:16:137;;;;;;;;;;;-1:-1:-1;4598:16:137;4578:36;;4651:10;:23;;;4628:17;4646:1;4628:20;;;;;;;;-1:-1:-1;;;;;4628:46:137;;;;:20;;;;;;;;;;:46;4709:16;;;4723:1;4709:16;;;;;;;;;;;;;;4628:20;4709:16;;;;;-1:-1:-1;4709:16:137;4688:37;;4763:14;4739:18;4758:1;4739:21;;;;;;;;;;;;;:38;;;;;3875:2617;;;;;;;;4819:52;4798:9;:74;4794:1698;;;4888:14;4905:49;4935:18;4905:29;:49::i;:::-;4888:66;;4969:77;;:::i;:::-;5049:63;;-1:-1:-1;;;5049:63:137;;-1:-1:-1;;;;;5049:44:137;:54;;;;:63;;5104:7;;5049:63;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5211:11;;;;4969:143;;-1:-1:-1;;;;;;5211:15:137;;5207:182;;5265:16;;;5279:1;5265:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5265:16:137;5246:35;;5347:5;:13;;;-1:-1:-1;;;;;5321:51:137;;:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5299:16;5316:1;5299:19;;;;;;;;;;;;;:75;-1:-1:-1;;;;;5299:75:137;;;-1:-1:-1;;;;;5299:75:137;;;;;5207:182;5413:14;;;;5407:50;;-1:-1:-1;;;5407:50:137;;5460:1;;-1:-1:-1;;;;;5407:31:137;;;;:50;;5439:17;;5407:50;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:54;5403:152;;;5525:14;;;;5500:40;;:16;;:24;:40::i;:::-;5481:59;;5403:152;4794:1698;;;;;5596:49;5575:9;:71;5571:921;;;5663:15;5680:14;5698:46;5725:18;5698:26;:46::i;:::-;5662:82;;;;5759:41;5829:7;5759:78;;5851:42;5936:15;-1:-1:-1;;;;;5936:31:137;;:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5851:132;;5999:30;6031:27;6062:19;-1:-1:-1;;;;;6062:58:137;;6121:6;6062:66;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5998:130;;-1:-1:-1;5998:130:137;-1:-1:-1;6147:26:137;;6143:190;;6212:16;;;6226:1;6212:16;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6268:37:137;;-1:-1:-1;;;6268:37:137;;6193:35;;-1:-1:-1;;;;;;;6268:29:137;;;;;:37;;6298:6;;6268:37;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:50;;;6246:16;6263:1;6246:19;;;;;;;;;;;;;:72;-1:-1:-1;;;;;6246:72:137;;;-1:-1:-1;;;;;6246:72:137;;;;;6143:190;6351:23;;6347:135;;6413:54;6438:15;-1:-1:-1;;;;;6438:26:137;;:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6413:16;;:24;:54::i;:::-;6394:73;;6347:135;5571:921;;;;;;;2091:4482;;;;;;;:::o;6749:89::-;6822:12;6749:89;;;;:::o;744:1038:135:-;869:16;899:17;930:12;956;982:17;1013:15;1042:18;1074:60;1148:22;1184:75;;:::i;:::-;1333:11;1305:460;;;;;;;;;;;;:::i;:::-;1284:491;;;;;;;;;;;;;;;;;;;;744:1038;;;;;;;;;;;:::o;6947:210:137:-;-1:-1:-1;;;;;7041:30:137;;1156:42;7041:30;;7020:130;;;;-1:-1:-1;;;7020:130:137;;;;;;;:::i;:::-;;;;;;;;;6947:210;:::o;2136:277:354:-;2250:27;2297;2306:5;2313:10;2297:8;:27::i;:::-;2293:70;;;-1:-1:-1;2347:5:354;2340:12;;2293:70;2380:26;2388:5;2395:10;2380:7;:26::i;:::-;2373:33;;2136:277;;;;;:::o;1853:215:135:-;1960:16;1978:15;2028:11;2017:43;;;;;;;;;;;;:::i;:::-;2009:52;;;;1853:215;;;:::o;3538::442:-;3596:7;3619:6;3615:20;;-1:-1:-1;3634:1:442;3627:8;;3615:20;3657:5;;;3661:1;3657;:5;:1;3680:5;;;;;:10;3672:56;;;;-1:-1:-1;;;3672:56:442;;;;;;;:::i;4217:150::-;4275:7;4306:1;4302;:5;4294:44;;;;-1:-1:-1;;;4294:44:442;;;;;;;:::i;:::-;4359:1;4355;:5;;;;;;;4217:150;-1:-1:-1;;;4217:150:442:o;2144:192:135:-;2256:15;2306:11;2295:33;;;;;;;;;;;;:::i;1668:374:354:-;1776:27;1846:5;:12;1861:1;1846:16;1832:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1832:31:354;;1819:44;;1878:9;1873:88;1893:5;:12;1889:1;:16;1873:88;;;1942:5;1948:1;1942:8;;;;;;;;;;;;;;1926:10;1937:1;1926:13;;;;;;;;-1:-1:-1;;;;;1926:24:354;;;:13;;;;;;;;;;;:24;1907:3;;1873:88;;;;1997:10;1970;1981:5;:12;1970:24;;;;;;;;;;;;;:37;-1:-1:-1;;;;;1970:37:354;;;-1:-1:-1;;;;;1970:37:354;;;;;1668:374;;;;:::o;2489:299::-;2595:17;2633:9;2628:132;2648:5;:12;2644:1;:16;2628:132;;;2696:5;2702:1;2696:8;;;;;;;;;;;;;;-1:-1:-1;;;;;2685:19:354;:7;-1:-1:-1;;;;;2685:19:354;;2681:69;;;2731:4;2724:11;;;;;2681:69;2662:3;;2628:132;;;-1:-1:-1;2776:5:354;;2489:299;-1:-1:-1;;;2489:299:354:o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5:130::-;72:20;;97:33;72:20;97:33;:::i;142:134::-;220:13;;238:33;220:13;238:33;:::i;457:719::-;;584:3;577:4;569:6;565:17;561:27;551:2;;602:1;599;592:12;551:2;632:6;626:13;654:79;669:63;725:6;669:63;:::i;:::-;654:79;:::i;:::-;645:88;;750:5;775:6;768:5;761:21;805:4;797:6;793:17;783:27;;827:4;822:3;818:14;811:21;;880:6;927:3;919:4;911:6;907:17;902:3;898:27;895:36;892:2;;;944:1;941;934:12;892:2;969:1;954:216;979:6;976:1;973:13;954:216;;;1037:3;1059:47;1102:3;1090:10;1059:47;:::i;:::-;1047:60;;-1:-1;1130:4;1121:14;;;;1149;;;;;1001:1;994:9;954:216;;;958:14;544:632;;;;;;;:::o;1184:128::-;1259:13;;1277:30;1259:13;1277:30;:::i;1320:440::-;;1421:3;1414:4;1406:6;1402:17;1398:27;1388:2;;1439:1;1436;1429:12;1388:2;1476:6;1463:20;1498:64;1513:48;1554:6;1513:48;:::i;1498:64::-;1489:73;;1582:6;1575:5;1568:21;1618:4;1610:6;1606:17;1651:4;1644:5;1640:16;1686:3;1677:6;1672:3;1668:16;1665:25;1662:2;;;1703:1;1700;1693:12;1662:2;1713:41;1747:6;1742:3;1737;1713:41;:::i;:::-;1381:379;;;;;;;:::o;1769:442::-;;1881:3;1874:4;1866:6;1862:17;1858:27;1848:2;;1899:1;1896;1889:12;1848:2;1929:6;1923:13;1951:64;1966:48;2007:6;1966:48;:::i;1951:64::-;1942:73;;2035:6;2028:5;2021:21;2071:4;2063:6;2059:17;2104:4;2097:5;2093:16;2139:3;2130:6;2125:3;2121:16;2118:25;2115:2;;;2156:1;2153;2146:12;2115:2;2166:39;2198:6;2193:3;2188;2166:39;:::i;2219:174::-;2317:13;;2335:53;2317:13;2335:53;:::i;2638:1008::-;;2770:4;2758:9;2753:3;2749:19;2745:30;2742:2;;;2788:1;2785;2778:12;2742:2;2806:20;2821:4;2806:20;:::i;:::-;2797:29;-1:-1;2883:1;2915:60;2971:3;2951:9;2915:60;:::i;:::-;2890:86;;-1:-1;3045:2;3078:60;3134:3;3110:22;;;3078:60;:::i;:::-;3071:4;3064:5;3060:16;3053:86;2997:153;3209:2;3242:60;3298:3;3289:6;3278:9;3274:22;3242:60;:::i;:::-;3235:4;3228:5;3224:16;3217:86;3160:154;3373:2;3406:59;3461:3;3452:6;3441:9;3437:22;3406:59;:::i;:::-;3399:4;3392:5;3388:16;3381:85;3324:153;3531:3;3565:59;3620:3;3611:6;3600:9;3596:22;3565:59;:::i;:::-;3558:4;3551:5;3547:16;3540:85;3487:149;2736:910;;;;:::o;3715:2280::-;;3842:6;3830:9;3825:3;3821:19;3817:32;3814:2;;;3862:1;3859;3852:12;3814:2;3880:22;3895:6;3880:22;:::i;:::-;3871:31;-1:-1;3958:1;3990:59;4045:3;4025:9;3990:59;:::i;:::-;3965:85;;-1:-1;4116:2;4149:59;4204:3;4180:22;;;4149:59;:::i;:::-;4142:4;4135:5;4131:16;4124:85;4071:149;4273:2;4306:59;4361:3;4352:6;4341:9;4337:22;4306:59;:::i;:::-;4299:4;4292:5;4288:16;4281:85;4230:147;4432:2;4465:75;4536:3;4527:6;4516:9;4512:22;4465:75;:::i;:::-;4458:4;4451:5;4447:16;4440:101;4387:165;4608:3;4642:60;4698:3;4689:6;4678:9;4674:22;4642:60;:::i;:::-;4635:4;4628:5;4624:16;4617:86;4562:152;4765:3;4799:60;4855:3;4846:6;4835:9;4831:22;4799:60;:::i;:::-;4792:4;4785:5;4781:16;4774:86;4724:147;4920:3;4954:60;5010:3;5001:6;4990:9;4986:22;4954:60;:::i;:::-;4947:4;4940:5;4936:16;4929:86;4881:145;5075:3;5109:60;5165:3;5156:6;5145:9;5141:22;5109:60;:::i;:::-;5102:4;5095:5;5091:16;5084:86;5036:145;5234:3;5270:60;5326:3;5317:6;5306:9;5302:22;5270:60;:::i;:::-;5261:6;5254:5;5250:18;5243:88;5191:151;5396:3;5432:60;5488:3;5479:6;5468:9;5464:22;5432:60;:::i;:::-;5423:6;5416:5;5412:18;5405:88;5352:152;5556:3;5592:60;5648:3;5639:6;5628:9;5624:22;5592:60;:::i;:::-;5583:6;5576:5;5572:18;5565:88;5514:150;5722:3;5758:57;5811:3;5802:6;5791:9;5787:22;5758:57;:::i;:::-;5749:6;5742:5;5738:18;5731:85;5674:153;5880:3;5916:57;5969:3;5960:6;5949:9;5945:22;5916:57;:::i;:::-;5907:6;5900:5;5896:18;5889:85;5837:148;3808:2187;;;;:::o;6049:2332::-;;6178:6;6166:9;6161:3;6157:19;6153:32;6150:2;;;6198:1;6195;6188:12;6150:2;6216:22;6231:6;6216:22;:::i;:::-;6207:31;-1:-1;6290:1;6322:60;6378:3;6358:9;6322:60;:::i;:::-;6297:86;;-1:-1;6452:2;6485:60;6541:3;6517:22;;;6485:60;:::i;:::-;6478:4;6471:5;6467:16;6460:86;6404:153;6613:2;6646:60;6702:3;6693:6;6682:9;6678:22;6646:60;:::i;:::-;6639:4;6632:5;6628:16;6621:86;6567:151;6775:2;6808:60;6864:3;6855:6;6844:9;6840:22;6808:60;:::i;:::-;6801:4;6794:5;6790:16;6783:86;6728:152;6938:3;6972:60;7028:3;7019:6;7008:9;7004:22;6972:60;:::i;:::-;6965:4;6958:5;6954:16;6947:86;6890:154;7101:3;7135:60;7191:3;7182:6;7171:9;7167:22;7135:60;:::i;:::-;7128:4;7121:5;7117:16;7110:86;7054:153;7266:3;7300:59;7355:3;7346:6;7335:9;7331:22;7300:59;:::i;:::-;7293:4;7286:5;7282:16;7275:85;7217:154;7425:3;7459:59;7514:3;7505:6;7494:9;7490:22;7459:59;:::i;:::-;7452:4;7445:5;7441:16;7434:85;7381:149;7590:3;7626:80;7702:3;7693:6;7682:9;7678:22;7626:80;:::i;:::-;7617:6;7610:5;7606:18;7599:108;7540:178;7780:3;7816:57;7869:3;7860:6;7849:9;7845:22;7816:57;:::i;:::-;7807:6;7800:5;7796:18;7789:85;7728:157;7948:3;7984:57;8037:3;8028:6;8017:9;8013:22;7984:57;:::i;8388:134::-;8466:13;;8484:33;8466:13;8484:33;:::i;8529:132::-;8606:13;;8624:32;8606:13;8624:32;:::i;8668:130::-;8735:20;;8760:33;8735:20;8760:33;:::i;8805:134::-;8883:13;;8901:33;8883:13;8901:33;:::i;8946:132::-;9023:13;;9041:32;9023:13;9041:32;:::i;9085:132::-;9162:13;;9180:32;9162:13;9180:32;:::i;9224:130::-;9300:13;;9318:31;9300:13;9318:31;:::i;9361:263::-;;9476:2;9464:9;9455:7;9451:23;9447:32;9444:2;;;9492:1;9489;9482:12;9444:2;9527:1;9544:64;9600:7;9580:9;9544:64;:::i;:::-;9534:74;9438:186;-1:-1;;;;9438:186::o;9631:1707::-;;;;;;;;;;;9966:3;9954:9;9945:7;9941:23;9937:33;9934:2;;;9983:1;9980;9973:12;9934:2;10018:1;10035:72;10099:7;10079:9;10035:72;:::i;:::-;10025:82;;9997:116;10144:2;10162:72;10226:7;10217:6;10206:9;10202:22;10162:72;:::i;:::-;10152:82;;10123:117;10271:2;10289:64;10345:7;10336:6;10325:9;10321:22;10289:64;:::i;:::-;10279:74;;10250:109;10390:2;10408:64;10464:7;10455:6;10444:9;10440:22;10408:64;:::i;:::-;10398:74;;10369:109;10509:3;10528:63;10583:7;10574:6;10563:9;10559:22;10528:63;:::i;:::-;10518:73;;10488:109;10628:3;10647:63;10702:7;10693:6;10682:9;10678:22;10647:63;:::i;:::-;10637:73;;10607:109;10747:3;10766:61;10819:7;10810:6;10799:9;10795:22;10766:61;:::i;:::-;10756:71;;10726:107;10864:3;10883:79;10954:7;10945:6;10934:9;10930:22;10883:79;:::i;:::-;10873:89;;10843:125;11020:3;11009:9;11005:19;10999:26;11045:18;11037:6;11034:30;11031:2;;;11077:1;11074;11067:12;11031:2;11097:73;11162:7;11153:6;11142:9;11138:22;11097:73;:::i;:::-;11087:83;;10978:198;11207:3;11226:96;11314:7;11305:6;11294:9;11290:22;11226:96;:::i;:::-;11216:106;;11186:142;9928:1410;;;;;;;;;;;;;:::o;11345:415::-;;;11485:2;11473:9;11464:7;11460:23;11456:32;11453:2;;;11501:1;11498;11491:12;11453:2;11536:1;11553:72;11617:7;11597:9;11553:72;:::i;:::-;11543:82;;11515:116;11662:2;11680:64;11736:7;11727:6;11716:9;11712:22;11680:64;:::i;:::-;11670:74;;11641:109;11447:313;;;;;:::o;11767:470::-;;;11897:2;11885:9;11876:7;11872:23;11868:32;11865:2;;;11913:1;11910;11903:12;11865:2;11948:1;11965:53;12010:7;11990:9;11965:53;:::i;:::-;11955:63;;11927:97;12083:2;12072:9;12068:18;12055:32;12107:18;12099:6;12096:30;12093:2;;;12139:1;12136;12129:12;12093:2;12159:62;12213:7;12204:6;12193:9;12189:22;12159:62;:::i;12244:595::-;;;;12391:2;12379:9;12370:7;12366:23;12362:32;12359:2;;;12407:1;12404;12397:12;12359:2;12442:1;12459:53;12504:7;12484:9;12459:53;:::i;:::-;12449:63;;12421:97;12549:2;12567:53;12612:7;12603:6;12592:9;12588:22;12567:53;:::i;:::-;12557:63;;12528:98;12685:2;12674:9;12670:18;12657:32;12709:18;12701:6;12698:30;12695:2;;;12741:1;12738;12731:12;12695:2;12761:62;12815:7;12806:6;12795:9;12791:22;12761:62;:::i;:::-;12751:72;;12636:193;12353:486;;;;;:::o;12846:390::-;;12985:2;12973:9;12964:7;12960:23;12956:32;12953:2;;;13001:1;12998;12991:12;12953:2;13036:24;;13080:18;13069:30;;13066:2;;;13112:1;13109;13102:12;13066:2;13132:88;13212:7;13203:6;13192:9;13188:22;13132:88;:::i;13243:318::-;;13385:3;13373:9;13364:7;13360:23;13356:33;13353:2;;;13402:1;13399;13392:12;13353:2;13437:1;13454:91;13537:7;13517:9;13454:91;:::i;13568:322::-;;13712:3;13700:9;13691:7;13687:23;13683:33;13680:2;;;13729:1;13726;13719:12;13680:2;13764:1;13781:93;13866:7;13846:9;13781:93;:::i;13897:261::-;;14011:2;13999:9;13990:7;13986:23;13982:32;13979:2;;;14027:1;14024;14017:12;13979:2;14062:1;14079:63;14134:7;14114:9;14079:63;:::i;14165:263::-;;14280:2;14268:9;14259:7;14255:23;14251:32;14248:2;;;14296:1;14293;14286:12;14248:2;14331:1;14348:64;14404:7;14384:9;14348:64;:::i;14435:399::-;;;14567:2;14555:9;14546:7;14542:23;14538:32;14535:2;;;14583:1;14580;14573:12;14535:2;14618:1;14635:64;14691:7;14671:9;14635:64;:::i;14841:259::-;;14954:2;14942:9;14933:7;14929:23;14925:32;14922:2;;;14970:1;14967;14960:12;14922:2;15005:1;15022:62;15076:7;15056:9;15022:62;:::i;15108:173::-;;15195:46;15237:3;15229:6;15195:46;:::i;:::-;-1:-1;;15270:4;15261:14;;15188:93::o;15290:173::-;;15377:46;15419:3;15411:6;15377:46;:::i;15471:103::-;15544:24;15562:5;15544:24;:::i;:::-;15539:3;15532:37;15526:48;;:::o;15732:690::-;;15877:54;15925:5;15877:54;:::i;:::-;15944:86;16023:6;16018:3;15944:86;:::i;:::-;15937:93;;16051:56;16101:5;16051:56;:::i;:::-;16127:7;16155:1;16140:260;16165:6;16162:1;16159:13;16140:260;;;16232:6;16226:13;16253:63;16312:3;16297:13;16253:63;:::i;:::-;16246:70;;16333:60;16386:6;16333:60;:::i;:::-;16323:70;-1:-1;;16187:1;16180:9;16140:260;;;-1:-1;16413:3;;15856:566;-1:-1;;;;;15856:566::o;16461:690::-;;16606:54;16654:5;16606:54;:::i;:::-;16673:86;16752:6;16747:3;16673:86;:::i;:::-;16666:93;;16780:56;16830:5;16780:56;:::i;:::-;16856:7;16884:1;16869:260;16894:6;16891:1;16888:13;16869:260;;;16961:6;16955:13;16982:63;17041:3;17026:13;16982:63;:::i;:::-;16975:70;;17062:60;17115:6;17062:60;:::i;:::-;17052:70;-1:-1;;16916:1;16909:9;16869:260;;17159:343;;17269:38;17301:5;17269:38;:::i;:::-;17319:70;17382:6;17377:3;17319:70;:::i;:::-;17312:77;;17394:52;17439:6;17434:3;17427:4;17420:5;17416:16;17394:52;:::i;:::-;17467:29;17489:6;17467:29;:::i;:::-;17458:39;;;;17249:253;-1:-1;;;17249:253::o;17510:326::-;;17670:67;17734:2;17729:3;17670:67;:::i;:::-;17770:28;17750:49;;17827:2;17818:12;;17656:180;-1:-1;;17656:180::o;17845:370::-;;18005:67;18069:2;18064:3;18005:67;:::i;:::-;18105:34;18085:55;;-1:-1;;;18169:2;18160:12;;18153:25;18206:2;18197:12;;17991:224;-1:-1;;17991:224::o;18224:390::-;;18384:67;18448:2;18443:3;18384:67;:::i;:::-;18484:34;18464:55;;-1:-1;;;18548:2;18539:12;;18532:45;18605:2;18596:12;;18370:244;-1:-1;;18370:244::o;18622:110::-;18703:23;18720:5;18703:23;:::i;18739:103::-;18812:24;18830:5;18812:24;:::i;18969:222::-;19096:2;19081:18;;19110:71;19085:9;19154:6;19110:71;:::i;19198:888::-;19531:2;19545:47;;;19516:18;;19606:108;19516:18;19700:6;19606:108;:::i;:::-;19598:116;;19762:9;19756:4;19752:20;19747:2;19736:9;19732:18;19725:48;19787:108;19890:4;19881:6;19787:108;:::i;:::-;19779:116;;19943:9;19937:4;19933:20;19928:2;19917:9;19913:18;19906:48;19968:108;20071:4;20062:6;19968:108;:::i;:::-;19960:116;19502:584;-1:-1;;;;;19502:584::o;20093:306::-;20238:2;20252:47;;;20223:18;;20313:76;20223:18;20375:6;20313:76;:::i;20406:416::-;20606:2;20620:47;;;20591:18;;20681:131;20591:18;20681:131;:::i;20829:416::-;21029:2;21043:47;;;21014:18;;21104:131;21014:18;21104:131;:::i;21252:416::-;21452:2;21466:47;;;21437:18;;21527:131;21437:18;21527:131;:::i;21675:218::-;21800:2;21785:18;;21814:69;21789:9;21856:6;21814:69;:::i;21900:222::-;22027:2;22012:18;;22041:71;22016:9;22085:6;22041:71;:::i;22129:256::-;22191:2;22185:9;22217:17;;;22292:18;22277:34;;22313:22;;;22274:62;22271:2;;;22349:1;22346;22339:12;22271:2;22365;22358:22;22169:216;;-1:-1;22169:216::o;22392:303::-;;22550:18;22542:6;22539:30;22536:2;;;22582:1;22579;22572:12;22536:2;-1:-1;22617:4;22605:17;;;22670:15;;22473:222::o;22702:321::-;;22845:18;22837:6;22834:30;22831:2;;;22877:1;22874;22867:12;22831:2;-1:-1;23008:4;22944;22921:17;;;;-1:-1;;22917:33;22998:15;;22768:255::o;23030:151::-;23154:4;23145:14;;23102:79::o;23346:137::-;23449:12;;23420:63::o;23993:178::-;24111:19;;;24160:4;24151:14;;24104:67::o;24709:91::-;;24771:24;24789:5;24771:24;:::i;24913:85::-;24979:13;24972:21;;24955:43::o;25005:113::-;-1:-1;;;;;25067:46;;25050:68::o;25125:121::-;-1:-1;;;;;25187:54;;25170:76::o;25253:86::-;25325:8;25314:20;;25297:42::o;25346:72::-;25408:5;25391:27::o;25425:88::-;25497:10;25486:22;;25469:44::o;25520:96::-;25592:18;25581:30;;25564:52::o;25623:81::-;25694:4;25683:16;;25666:38::o;25712:145::-;25793:6;25788:3;25783;25770:30;-1:-1;25849:1;25831:16;;25824:27;25763:94::o;25866:268::-;25931:1;25938:101;25952:6;25949:1;25946:13;25938:101;;;26019:11;;;26013:18;26000:11;;;25993:39;25974:2;25967:10;25938:101;;;26054:6;26051:1;26048:13;26045:2;;;26119:1;26110:6;26105:3;26101:16;26094:27;26045:2;25915:219;;;;:::o;26142:97::-;26230:2;26210:14;-1:-1;;26206:28;;26190:49::o;26247:117::-;26316:24;26334:5;26316:24;:::i;:::-;26309:5;26306:35;26296:2;;26355:1;26352;26345:12;26511:111;26577:21;26592:5;26577:21;:::i;26629:114::-;26718:1;26711:5;26708:12;26698:2;;26734:1;26731;26724:12;26866:117;26935:24;26953:5;26935:24;:::i;26990:115::-;27058:23;27075:5;27058:23;:::i;27112:117::-;27181:24;27199:5;27181:24;:::i;27236:115::-;27304:23;27321:5;27304:23;:::i;27358:115::-;27426:23;27443:5;27426:23;:::i;27480:113::-;27547:22;27563:5;27547:22;:::i", "linkReferences": {}, "immutableReferences": { "36418": [ { "start": 592, "length": 32 }, { "start": 1674, "length": 32 } ] } }, "methodIdentifiers": { "parseAssetsForAction(address,uint256,bytes)": "bbd2d646", "parseInitArgs(address,bytes)": "db16c72e" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_initialConvertibleOfferingMarket\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_externalPosition\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_actionId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_encodedActionArgs\",\"type\":\"bytes\"}],\"name\":\"parseAssetsForAction\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"assetsToTransfer_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amountsToTransfer_\",\"type\":\"uint256[]\"},{\"internalType\":\"address[]\",\"name\":\"assetsToReceive_\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"parseInitArgs\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"parseAssetsForAction(address,uint256,bytes)\":{\"params\":{\"_actionId\":\"The _actionId for the callOnExternalPosition\",\"_encodedActionArgs\":\"The encoded parameters for the callOnExternalPosition\",\"_externalPosition\":\"The _externalPosition to be called\"},\"returns\":{\"amountsToTransfer_\":\"The amounts to be transferred from the Vault\",\"assetsToReceive_\":\"The assets to be received at the Vault\",\"assetsToTransfer_\":\"The assets to be transferred from the Vault\"}},\"parseInitArgs(address,bytes)\":{\"details\":\"Empty for this external position type\"}},\"title\":\"SolvV2ConvertibleIssuerPositionParser\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"parseAssetsForAction(address,uint256,bytes)\":{\"notice\":\"Parses the assets to send and receive for the callOnExternalPosition\"},\"parseInitArgs(address,bytes)\":{\"notice\":\"Parse and validate input arguments to be used when initializing a newly-deployed ExternalPositionProxy\"}},\"notice\":\"Parser for Solv V2 Convertible Issuer positions\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/solv-v2-convertible-issuer/SolvV2ConvertibleIssuerPositionParser.sol\":\"SolvV2ConvertibleIssuerPositionParser\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/persistent/external-positions/solv-v2-convertible-issuer/SolvV2ConvertibleIssuerPositionLibBase1.sol\":{\"keccak256\":\"0x35fe67bf530be402aa73b3d23747e07d00ba5d36d30a9ca7e3d9f910f95b5528\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d75931a5213dd4a7a1d24f85b3568c6c1188985215964606a7757f1961ac99bb\",\"dweb:/ipfs/QmWd2ESTAF7HuHmCqYScD1yDG66f8kkRCGy11Bm44wadDH\"]},\"contracts/release/extensions/external-position-manager/external-positions/IExternalPositionParser.sol\":{\"keccak256\":\"0x1662fbd65841ee5e9cf8d5329b9d04c264b24ef68ae1e0484e59a8969b0d2c46\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://580569b0f875e0344db83fae1e72dcc6c0767a049b2a6cc3e4f3c411d2284b27\",\"dweb:/ipfs/QmXFmF9QbcVsPHaBo1iq8sZHYhDkwfkMZpHmLTuJJ37NvZ\"]},\"contracts/release/extensions/external-position-manager/external-positions/solv-v2-convertible-issuer/ISolvV2ConvertibleIssuerPosition.sol\":{\"keccak256\":\"0x728f83194c387f423d6d150da01cc276299e4553d58e60a8417b704204f9284b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://77a1628aad46e788f606150955940aecf91d002adb80a62255366e3f35d40843\",\"dweb:/ipfs/QmUtxTYmmtZ93euxWW87aSBsQEFPLSJ55X9BR6WgRuUr6h\"]},\"contracts/release/extensions/external-position-manager/external-positions/solv-v2-convertible-issuer/SolvV2ConvertibleIssuerPositionDataDecoder.sol\":{\"keccak256\":\"0xa08ecd4d412419fb3fc0057ffe373508d95e0e83bbcccf0cb5e51cf623ebaeac\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c0bf53474024ecad55dd4a4ba17eec58c96b4543c9b6a1f6a33235b1e4199e4d\",\"dweb:/ipfs/QmQXd6ety32NitagfkKCTkqCcUee5vj9jrV4cJjot5iY1v\"]},\"contracts/release/extensions/external-position-manager/external-positions/solv-v2-convertible-issuer/SolvV2ConvertibleIssuerPositionLib.sol\":{\"keccak256\":\"0x3d0cda1b3b08e497ee150e93de248bbb58daa61e83ed92e5480f1e7568684c84\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://7669f6a053dac613e472da60943b65e3981a98b613c0e4e05d0f5923d0509af2\",\"dweb:/ipfs/QmXQtKpc28FMWVFwmVV3RFEbCiXxM8XKvpqqxjqSgDuueq\"]},\"contracts/release/extensions/external-position-manager/external-positions/solv-v2-convertible-issuer/SolvV2ConvertibleIssuerPositionParser.sol\":{\"keccak256\":\"0x334779d26a85941324148e7be6a616ebe3b1c76aef8780b9aba2b10910678d87\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://76af3b2512d31d814489ddcac3321259b32dbe1ba482898bda7fd8082e59b1a1\",\"dweb:/ipfs/QmcPGqgCRdDYspdS6jDXBwSx6DaKQN4KDFZv5j2hsDPYNj\"]},\"contracts/release/interfaces/ISolvV2ConvertiblePool.sol\":{\"keccak256\":\"0x1943f59f09537f176ae398ae51184c9c69e8c366e74f2e7d2f02326c35e6fde7\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://cc239c228406fa50ec4f40a44af9438efdeb63338846a65d5864c61a643e037b\",\"dweb:/ipfs/QmZhYZoKUAPtksVygGhetvP6Yvu4UAsCpiHAqbPWLtpVJC\"]},\"contracts/release/interfaces/ISolvV2ConvertibleVoucher.sol\":{\"keccak256\":\"0xebec2ad1a5024a1958a558378dfde09cebe998609caa718f13b0088a0347a630\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://fa18447e3accb03306a9904d2d2247c8cadca34a9bc87ca585e6b0646f0814d7\",\"dweb:/ipfs/QmNyrXdUZqbYyDyEu6RyQXttD4mpETd6fFS1UiL2PVDnXf\"]},\"contracts/release/interfaces/ISolvV2InitialConvertibleOfferingMarket.sol\":{\"keccak256\":\"0xe34205d54ec639e2e3f8e0e2871984a6796424d903259857f1f11de260cf8abe\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://908f8d334df9ae2191787a8e53c78b1847bd936f2ce9d04115f5e9339c3e3934\",\"dweb:/ipfs/QmZzxE748Hb2Vosu7cwPmkb4EVpoqvS4RgHogLrvDgsnD3\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"contracts/release/utils/Uint256ArrayLib.sol\":{\"keccak256\":\"0x1627d0d32692b86c5dd3e74ebb8305fbf99a3c41d4b90e736077762cc80c1a31\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://54ff92ccd4bd685dda44c2520e3f52478168e909b400c3cc4076d37f5c2704ef\",\"dweb:/ipfs/QmYUxeaKfPwnUtP35i6JJ3ptsaDFEV6SD2o4VV8d5vBUZD\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_initialConvertibleOfferingMarket", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "_externalPosition", "type": "address" }, { "internalType": "uint256", "name": "_actionId", "type": "uint256" }, { "internalType": "bytes", "name": "_encodedActionArgs", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "parseAssetsForAction", "outputs": [ { "internalType": "address[]", "name": "assetsToTransfer_", "type": "address[]" }, { "internalType": "uint256[]", "name": "amountsToTransfer_", "type": "uint256[]" }, { "internalType": "address[]", "name": "assetsToReceive_", "type": "address[]" } ] }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "parseInitArgs", "outputs": [ { "internalType": "bytes", "name": "", "type": "bytes" } ] } ], "devdoc": { "kind": "dev", "methods": { "parseAssetsForAction(address,uint256,bytes)": { "params": { "_actionId": "The _actionId for the callOnExternalPosition", "_encodedActionArgs": "The encoded parameters for the callOnExternalPosition", "_externalPosition": "The _externalPosition to be called" }, "returns": { "amountsToTransfer_": "The amounts to be transferred from the Vault", "assetsToReceive_": "The assets to be received at the Vault", "assetsToTransfer_": "The assets to be transferred from the Vault" } }, "parseInitArgs(address,bytes)": { "details": "Empty for this external position type" } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "parseAssetsForAction(address,uint256,bytes)": { "notice": "Parses the assets to send and receive for the callOnExternalPosition" }, "parseInitArgs(address,bytes)": { "notice": "Parse and validate input arguments to be used when initializing a newly-deployed ExternalPositionProxy" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/external-position-manager/external-positions/solv-v2-convertible-issuer/SolvV2ConvertibleIssuerPositionParser.sol": "SolvV2ConvertibleIssuerPositionParser" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/external-positions/IExternalPosition.sol": { "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", "urls": [ "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" ], "license": "GPL-3.0" }, "contracts/persistent/external-positions/solv-v2-convertible-issuer/SolvV2ConvertibleIssuerPositionLibBase1.sol": { "keccak256": "0x35fe67bf530be402aa73b3d23747e07d00ba5d36d30a9ca7e3d9f910f95b5528", "urls": [ "bzz-raw://d75931a5213dd4a7a1d24f85b3568c6c1188985215964606a7757f1961ac99bb", "dweb:/ipfs/QmWd2ESTAF7HuHmCqYScD1yDG66f8kkRCGy11Bm44wadDH" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/IExternalPositionParser.sol": { "keccak256": "0x1662fbd65841ee5e9cf8d5329b9d04c264b24ef68ae1e0484e59a8969b0d2c46", "urls": [ "bzz-raw://580569b0f875e0344db83fae1e72dcc6c0767a049b2a6cc3e4f3c411d2284b27", "dweb:/ipfs/QmXFmF9QbcVsPHaBo1iq8sZHYhDkwfkMZpHmLTuJJ37NvZ" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/solv-v2-convertible-issuer/ISolvV2ConvertibleIssuerPosition.sol": { "keccak256": "0x728f83194c387f423d6d150da01cc276299e4553d58e60a8417b704204f9284b", "urls": [ "bzz-raw://77a1628aad46e788f606150955940aecf91d002adb80a62255366e3f35d40843", "dweb:/ipfs/QmUtxTYmmtZ93euxWW87aSBsQEFPLSJ55X9BR6WgRuUr6h" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/solv-v2-convertible-issuer/SolvV2ConvertibleIssuerPositionDataDecoder.sol": { "keccak256": "0xa08ecd4d412419fb3fc0057ffe373508d95e0e83bbcccf0cb5e51cf623ebaeac", "urls": [ "bzz-raw://c0bf53474024ecad55dd4a4ba17eec58c96b4543c9b6a1f6a33235b1e4199e4d", "dweb:/ipfs/QmQXd6ety32NitagfkKCTkqCcUee5vj9jrV4cJjot5iY1v" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/solv-v2-convertible-issuer/SolvV2ConvertibleIssuerPositionLib.sol": { "keccak256": "0x3d0cda1b3b08e497ee150e93de248bbb58daa61e83ed92e5480f1e7568684c84", "urls": [ "bzz-raw://7669f6a053dac613e472da60943b65e3981a98b613c0e4e05d0f5923d0509af2", "dweb:/ipfs/QmXQtKpc28FMWVFwmVV3RFEbCiXxM8XKvpqqxjqSgDuueq" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/solv-v2-convertible-issuer/SolvV2ConvertibleIssuerPositionParser.sol": { "keccak256": "0x334779d26a85941324148e7be6a616ebe3b1c76aef8780b9aba2b10910678d87", "urls": [ "bzz-raw://76af3b2512d31d814489ddcac3321259b32dbe1ba482898bda7fd8082e59b1a1", "dweb:/ipfs/QmcPGqgCRdDYspdS6jDXBwSx6DaKQN4KDFZv5j2hsDPYNj" ], "license": "GPL-3.0" }, "contracts/release/interfaces/ISolvV2ConvertiblePool.sol": { "keccak256": "0x1943f59f09537f176ae398ae51184c9c69e8c366e74f2e7d2f02326c35e6fde7", "urls": [ "bzz-raw://cc239c228406fa50ec4f40a44af9438efdeb63338846a65d5864c61a643e037b", "dweb:/ipfs/QmZhYZoKUAPtksVygGhetvP6Yvu4UAsCpiHAqbPWLtpVJC" ], "license": "GPL-3.0" }, "contracts/release/interfaces/ISolvV2ConvertibleVoucher.sol": { "keccak256": "0xebec2ad1a5024a1958a558378dfde09cebe998609caa718f13b0088a0347a630", "urls": [ "bzz-raw://fa18447e3accb03306a9904d2d2247c8cadca34a9bc87ca585e6b0646f0814d7", "dweb:/ipfs/QmNyrXdUZqbYyDyEu6RyQXttD4mpETd6fFS1UiL2PVDnXf" ], "license": "GPL-3.0" }, "contracts/release/interfaces/ISolvV2InitialConvertibleOfferingMarket.sol": { "keccak256": "0xe34205d54ec639e2e3f8e0e2871984a6796424d903259857f1f11de260cf8abe", "urls": [ "bzz-raw://908f8d334df9ae2191787a8e53c78b1847bd936f2ce9d04115f5e9339c3e3934", "dweb:/ipfs/QmZzxE748Hb2Vosu7cwPmkb4EVpoqvS4RgHogLrvDgsnD3" ], "license": "GPL-3.0" }, "contracts/release/utils/AddressArrayLib.sol": { "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", "urls": [ "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" ], "license": "GPL-3.0" }, "contracts/release/utils/AssetHelpers.sol": { "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", "urls": [ "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" ], "license": "GPL-3.0" }, "contracts/release/utils/Uint256ArrayLib.sol": { "keccak256": "0x1627d0d32692b86c5dd3e74ebb8305fbf99a3c41d4b90e736077762cc80c1a31", "urls": [ "bzz-raw://54ff92ccd4bd685dda44c2520e3f52478168e909b400c3cc4076d37f5c2704ef", "dweb:/ipfs/QmYUxeaKfPwnUtP35i6JJ3ptsaDFEV6SD2o4VV8d5vBUZD" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", "urls": [ "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Address.sol": { "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", "urls": [ "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" } }, "version": 1 }, "id": 137 } diff --git a/eth_defi/abi/enzyme/StakingWrapperActionsMixin.json b/eth_defi/abi/enzyme/StakingWrapperActionsMixin.json index 05853a87..89458ccf 100644 --- a/eth_defi/abi/enzyme/StakingWrapperActionsMixin.json +++ b/eth_defi/abi/enzyme/StakingWrapperActionsMixin.json @@ -1,142 +1 @@ -{ - "abi": [], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": {}, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"StakingWrapperActionsMixin Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Mixin contract for interacting with IStakingWrapper implementations\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/integration-manager/integrations/utils/actions/StakingWrapperActionsMixin.sol\":\"StakingWrapperActionsMixin\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/integration-manager/integrations/utils/actions/StakingWrapperActionsMixin.sol\":{\"keccak256\":\"0x3b3cf5217bfdb046eb76336fbdb95e0bc389dee5964b1067f0239338acccea08\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://7ee1ece29be26ef9d16370487950bbbe2e8371642dd3f5c661423f59bf6d7072\",\"dweb:/ipfs/QmfXvVKe78qCysfTLb8WQzUCnKmBPpgFhF6aK13ZsEUoRK\"]},\"contracts/release/infrastructure/staking-wrappers/IStakingWrapper.sol\":{\"keccak256\":\"0xaeb9aba4e74eb3243a85090fded7b157969cf83e1f4159b1da2f662a3e7b15be\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://92346911c044a54808d2d425fe58c6dc9594dfafb8d83496f6599e3bc23803d0\",\"dweb:/ipfs/QmYWf7yx9ZfUnP81K1hjvApthqNhpXzUhGuFBm4gX1aDRB\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/integration-manager/integrations/utils/actions/StakingWrapperActionsMixin.sol": "StakingWrapperActionsMixin" - }, - "libraries": {} - }, - "sources": { - "contracts/release/extensions/integration-manager/integrations/utils/actions/StakingWrapperActionsMixin.sol": { - "keccak256": "0x3b3cf5217bfdb046eb76336fbdb95e0bc389dee5964b1067f0239338acccea08", - "urls": [ - "bzz-raw://7ee1ece29be26ef9d16370487950bbbe2e8371642dd3f5c661423f59bf6d7072", - "dweb:/ipfs/QmfXvVKe78qCysfTLb8WQzUCnKmBPpgFhF6aK13ZsEUoRK" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/staking-wrappers/IStakingWrapper.sol": { - "keccak256": "0xaeb9aba4e74eb3243a85090fded7b157969cf83e1f4159b1da2f662a3e7b15be", - "urls": [ - "bzz-raw://92346911c044a54808d2d425fe58c6dc9594dfafb8d83496f6599e3bc23803d0", - "dweb:/ipfs/QmYWf7yx9ZfUnP81K1hjvApthqNhpXzUhGuFBm4gX1aDRB" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AssetHelpers.sol": { - "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", - "urls": [ - "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", - "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { - "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", - "urls": [ - "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", - "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Address.sol": { - "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", - "urls": [ - "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", - "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 194 -} +{ "abi": [], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": {}, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"StakingWrapperActionsMixin Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Mixin contract for interacting with IStakingWrapper implementations\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/integration-manager/integrations/utils/actions/StakingWrapperActionsMixin.sol\":\"StakingWrapperActionsMixin\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/integration-manager/integrations/utils/actions/StakingWrapperActionsMixin.sol\":{\"keccak256\":\"0x3b3cf5217bfdb046eb76336fbdb95e0bc389dee5964b1067f0239338acccea08\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://7ee1ece29be26ef9d16370487950bbbe2e8371642dd3f5c661423f59bf6d7072\",\"dweb:/ipfs/QmfXvVKe78qCysfTLb8WQzUCnKmBPpgFhF6aK13ZsEUoRK\"]},\"contracts/release/infrastructure/staking-wrappers/IStakingWrapper.sol\":{\"keccak256\":\"0xaeb9aba4e74eb3243a85090fded7b157969cf83e1f4159b1da2f662a3e7b15be\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://92346911c044a54808d2d425fe58c6dc9594dfafb8d83496f6599e3bc23803d0\",\"dweb:/ipfs/QmYWf7yx9ZfUnP81K1hjvApthqNhpXzUhGuFBm4gX1aDRB\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/integration-manager/integrations/utils/actions/StakingWrapperActionsMixin.sol": "StakingWrapperActionsMixin" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/extensions/integration-manager/integrations/utils/actions/StakingWrapperActionsMixin.sol": { "keccak256": "0x3b3cf5217bfdb046eb76336fbdb95e0bc389dee5964b1067f0239338acccea08", "urls": [ "bzz-raw://7ee1ece29be26ef9d16370487950bbbe2e8371642dd3f5c661423f59bf6d7072", "dweb:/ipfs/QmfXvVKe78qCysfTLb8WQzUCnKmBPpgFhF6aK13ZsEUoRK" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/staking-wrappers/IStakingWrapper.sol": { "keccak256": "0xaeb9aba4e74eb3243a85090fded7b157969cf83e1f4159b1da2f662a3e7b15be", "urls": [ "bzz-raw://92346911c044a54808d2d425fe58c6dc9594dfafb8d83496f6599e3bc23803d0", "dweb:/ipfs/QmYWf7yx9ZfUnP81K1hjvApthqNhpXzUhGuFBm4gX1aDRB" ], "license": "GPL-3.0" }, "contracts/release/utils/AssetHelpers.sol": { "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", "urls": [ "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", "urls": [ "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Address.sol": { "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", "urls": [ "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" } }, "version": 1 }, "id": 194 } diff --git a/eth_defi/abi/enzyme/StakingWrapperBase.json b/eth_defi/abi/enzyme/StakingWrapperBase.json index ba63d699..42ac5aa0 100644 --- a/eth_defi/abi/enzyme/StakingWrapperBase.json +++ b/eth_defi/abi/enzyme/StakingWrapperBase.json @@ -1,1832 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - }, - { - "internalType": "string", - "name": "_tokenName", - "type": "string" - }, - { - "internalType": "string", - "name": "_tokenSymbol", - "type": "string" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "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": "amount", - "type": "uint256" - } - ], - "name": "Deposited", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bool", - "name": "isPaused", - "type": "bool" - } - ], - "name": "PauseToggled", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "token", - "type": "address" - } - ], - "name": "RewardTokenAdded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "caller", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "indexed": false, - "internalType": "address[]", - "name": "rewardTokens", - "type": "address[]" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "claimedAmounts", - "type": "uint256[]" - } - ], - "name": "RewardsClaimed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "rewardToken", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "integral", - "type": "uint256" - } - ], - "name": "TotalHarvestIntegralUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "rewardToken", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "lastCheckpointBalance", - "type": "uint256" - } - ], - "name": "TotalHarvestLastCheckpointBalanceUpdated", - "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" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "rewardToken", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "integral", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "claimableReward", - "type": "uint256" - } - ], - "name": "UserHarvestUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "caller", - "type": "address" - }, - { - "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": "Withdrawn", - "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": [ - { - "internalType": "address", - "name": "_for", - "type": "address" - } - ], - "name": "claimRewardsFor", - "outputs": [ - { - "internalType": "address[]", - "name": "rewardTokens_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "claimedAmounts_", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "decimals_", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "subtractedValue", - "type": "uint256" - } - ], - "name": "decreaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "deposit", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "depositTo", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_index", - "type": "uint256" - } - ], - "name": "getRewardTokenAtIndex", - "outputs": [ - { - "internalType": "address", - "name": "rewardToken_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getRewardTokenCount", - "outputs": [ - { - "internalType": "uint256", - "name": "count_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getRewardTokens", - "outputs": [ - { - "internalType": "address[]", - "name": "rewardTokens_", - "type": "address[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_rewardToken", - "type": "address" - } - ], - "name": "getTotalHarvestDataForRewardToken", - "outputs": [ - { - "components": [ - { - "internalType": "uint128", - "name": "integral", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "lastCheckpointBalance", - "type": "uint128" - } - ], - "internalType": "struct IStakingWrapper.TotalHarvestData", - "name": "totalHarvestData_", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_user", - "type": "address" - }, - { - "internalType": "address", - "name": "_rewardToken", - "type": "address" - } - ], - "name": "getUserHarvestDataForRewardToken", - "outputs": [ - { - "components": [ - { - "internalType": "uint128", - "name": "integral", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "claimableReward", - "type": "uint128" - } - ], - "internalType": "struct IStakingWrapper.UserHarvestData", - "name": "userHarvestData_", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "addedValue", - "type": "uint256" - } - ], - "name": "increaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "isPaused", - "outputs": [ - { - "internalType": "bool", - "name": "isPaused_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bool", - "name": "_isPaused", - "type": "bool" - } - ], - "name": "togglePause", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "_claimRewards", - "type": "bool" - } - ], - "name": "withdraw", - "outputs": [ - { - "internalType": "address[]", - "name": "rewardTokens_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "claimedAmounts_", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "_claimRewardsToHolder", - "type": "bool" - } - ], - "name": "withdrawTo", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_onBehalf", - "type": "address" - }, - { - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "_claimRewardsToHolder", - "type": "bool" - } - ], - "name": "withdrawToOnBehalf", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "allowance(address,address)": "dd62ed3e", - "approve(address,uint256)": "095ea7b3", - "balanceOf(address)": "70a08231", - "claimRewardsFor(address)": "1ac6d19d", - "decimals()": "313ce567", - "decreaseAllowance(address,uint256)": "a457c2d7", - "deposit(uint256)": "b6b55f25", - "depositTo(address,uint256)": "ffaad6a5", - "getRewardTokenAtIndex(uint256)": "a7d2793f", - "getRewardTokenCount()": "82e5d073", - "getRewardTokens()": "c4f59f9b", - "getTotalHarvestDataForRewardToken(address)": "9655dd61", - "getUserHarvestDataForRewardToken(address,address)": "093f6365", - "increaseAllowance(address,uint256)": "39509351", - "isPaused()": "b187bd26", - "name()": "06fdde03", - "symbol()": "95d89b41", - "togglePause(bool)": "57d159c6", - "totalSupply()": "18160ddd", - "transfer(address,uint256)": "a9059cbb", - "transferFrom(address,address,uint256)": "23b872dd", - "withdraw(uint256,bool)": "38d07436", - "withdrawTo(address,uint256,bool)": "73e2290c", - "withdrawToOnBehalf(address,address,uint256,bool)": "2cfafabe" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_tokenName\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_tokenSymbol\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"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\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Deposited\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"isPaused\",\"type\":\"bool\"}],\"name\":\"PauseToggled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"RewardTokenAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"rewardTokens\",\"type\":\"address[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"claimedAmounts\",\"type\":\"uint256[]\"}],\"name\":\"RewardsClaimed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"rewardToken\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"integral\",\"type\":\"uint256\"}],\"name\":\"TotalHarvestIntegralUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"rewardToken\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"lastCheckpointBalance\",\"type\":\"uint256\"}],\"name\":\"TotalHarvestLastCheckpointBalanceUpdated\",\"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\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"rewardToken\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"integral\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"claimableReward\",\"type\":\"uint256\"}],\"name\":\"UserHarvestUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"},{\"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\":\"Withdrawn\",\"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\":[{\"internalType\":\"address\",\"name\":\"_for\",\"type\":\"address\"}],\"name\":\"claimRewardsFor\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"rewardTokens_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"claimedAmounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"decimals_\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"deposit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"depositTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_index\",\"type\":\"uint256\"}],\"name\":\"getRewardTokenAtIndex\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"rewardToken_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRewardTokenCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"count_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRewardTokens\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"rewardTokens_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_rewardToken\",\"type\":\"address\"}],\"name\":\"getTotalHarvestDataForRewardToken\",\"outputs\":[{\"components\":[{\"internalType\":\"uint128\",\"name\":\"integral\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"lastCheckpointBalance\",\"type\":\"uint128\"}],\"internalType\":\"struct IStakingWrapper.TotalHarvestData\",\"name\":\"totalHarvestData_\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_rewardToken\",\"type\":\"address\"}],\"name\":\"getUserHarvestDataForRewardToken\",\"outputs\":[{\"components\":[{\"internalType\":\"uint128\",\"name\":\"integral\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"claimableReward\",\"type\":\"uint128\"}],\"internalType\":\"struct IStakingWrapper.UserHarvestData\",\"name\":\"userHarvestData_\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isPaused\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isPaused_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"_isPaused\",\"type\":\"bool\"}],\"name\":\"togglePause\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"_claimRewards\",\"type\":\"bool\"}],\"name\":\"withdraw\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"rewardTokens_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"claimedAmounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"_claimRewardsToHolder\",\"type\":\"bool\"}],\"name\":\"withdrawTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_onBehalf\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"_claimRewardsToHolder\",\"type\":\"bool\"}],\"name\":\"withdrawToOnBehalf\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"Can be used as a base for both standard deployments and proxy targets. Draws on Convex's ConvexStakingWrapper implementation (https://github.com/convex-eth/platform/blob/main/contracts/contracts/wrappers/ConvexStakingWrapper.sol), which is based on Curve.fi gauge wrappers (https://github.com/curvefi/curve-dao-contracts/tree/master/contracts/gauges/wrappers)\",\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"claimRewardsFor(address)\":{\"details\":\"Can be called off-chain to simulate the total harvestable rewards for a particular user\",\"params\":{\"_for\":\"The account for which to claim rewards\"},\"returns\":{\"claimedAmounts_\":\"The reward token amounts claimed\",\"rewardTokens_\":\"The reward tokens\"}},\"decimals()\":{\"details\":\"Implementing contracts should override to set different decimals\",\"returns\":{\"decimals_\":\"The token decimals\"}},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.\"},\"deposit(uint256)\":{\"params\":{\"_amount\":\"The amount of tokens to deposit\"}},\"depositTo(address,uint256)\":{\"params\":{\"_amount\":\"The amount of tokens to deposit\",\"_to\":\"The account to receive staking tokens\"}},\"getRewardTokenAtIndex(uint256)\":{\"returns\":{\"rewardToken_\":\"The reward token address\"}},\"getRewardTokenCount()\":{\"returns\":{\"count_\":\"The count\"}},\"getRewardTokens()\":{\"returns\":{\"rewardTokens_\":\"The reward tokens\"}},\"getTotalHarvestDataForRewardToken(address)\":{\"params\":{\"_rewardToken\":\"The reward token\"},\"returns\":{\"totalHarvestData_\":\"The TotalHarvestData\"}},\"getUserHarvestDataForRewardToken(address,address)\":{\"params\":{\"_rewardToken\":\"The reward token\",\"_user\":\"The account\"},\"returns\":{\"userHarvestData_\":\"The UserHarvestData\"}},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address.\"},\"isPaused()\":{\"returns\":{\"isPaused_\":\"True if paused\"}},\"name()\":{\"details\":\"Returns the name of the token.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"togglePause(bool)\":{\"params\":{\"_isPaused\":\"True if next state is paused, false if unpaused\"}},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `recipient` cannot be the zero address. - the caller must have a balance of at least `amount`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. Requirements: - `sender` and `recipient` cannot be the zero address. - `sender` must have a balance of at least `amount`. - the caller must have allowance for ``sender``'s tokens of at least `amount`.\"},\"withdraw(uint256,bool)\":{\"details\":\"Setting `_claimRewards` to true will save gas over separate calls to withdraw + claim\",\"params\":{\"_amount\":\"The amount of tokens to withdraw\",\"_claimRewards\":\"True if accrued rewards should be claimed\"},\"returns\":{\"claimedAmounts_\":\"The reward token amounts claimed\",\"rewardTokens_\":\"The reward tokens\"}},\"withdrawTo(address,uint256,bool)\":{\"params\":{\"_amount\":\"The amount of tokens to withdraw\",\"_to\":\"The account to receive tokens\"}},\"withdrawToOnBehalf(address,address,uint256,bool)\":{\"details\":\"The caller must have an adequate ERC20.allowance() for _onBehalf\",\"params\":{\"_amount\":\"The amount of tokens to withdraw\",\"_onBehalf\":\"The account on behalf to withdraw\",\"_to\":\"The account to receive tokens\"}}},\"title\":\"StakingWrapperBase Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"claimRewardsFor(address)\":{\"notice\":\"Claims all rewards for a given account\"},\"decimals()\":{\"notice\":\"Gets the token decimals\"},\"deposit(uint256)\":{\"notice\":\"Deposits tokens to be staked, minting staking token to sender\"},\"depositTo(address,uint256)\":{\"notice\":\"Deposits tokens to be staked, minting staking token to a specified account\"},\"getRewardTokenAtIndex(uint256)\":{\"notice\":\"Gets the reward token at a particular index\"},\"getRewardTokenCount()\":{\"notice\":\"Gets the count of reward tokens being harvested\"},\"getRewardTokens()\":{\"notice\":\"Gets all reward tokens being harvested\"},\"getTotalHarvestDataForRewardToken(address)\":{\"notice\":\"Gets the TotalHarvestData for a specified reward token\"},\"getUserHarvestDataForRewardToken(address,address)\":{\"notice\":\"Gets the UserHarvestData for a specified account and reward token\"},\"isPaused()\":{\"notice\":\"Checks if deposits and new reward harvesting are paused\"},\"togglePause(bool)\":{\"notice\":\"Toggles pause for deposit and harvesting new rewards\"},\"withdraw(uint256,bool)\":{\"notice\":\"Withdraws staked tokens, returning tokens to the sender, and optionally claiming rewards\"},\"withdrawTo(address,uint256,bool)\":{\"notice\":\"Withdraws staked tokens, returning tokens to a specified account, and optionally claims rewards to the staked token holder\"},\"withdrawToOnBehalf(address,address,uint256,bool)\":{\"notice\":\"Withdraws staked tokens on behalf of AccountA, returning tokens to a specified AccountB, and optionally claims rewards to the staked token holder\"}},\"notice\":\"A base contract for staking wrappers\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/infrastructure/staking-wrappers/StakingWrapperBase.sol\":\"StakingWrapperBase\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/infrastructure/staking-wrappers/IStakingWrapper.sol\":{\"keccak256\":\"0xaeb9aba4e74eb3243a85090fded7b157969cf83e1f4159b1da2f662a3e7b15be\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://92346911c044a54808d2d425fe58c6dc9594dfafb8d83496f6599e3bc23803d0\",\"dweb:/ipfs/QmYWf7yx9ZfUnP81K1hjvApthqNhpXzUhGuFBm4gX1aDRB\"]},\"contracts/release/infrastructure/staking-wrappers/StakingWrapperBase.sol\":{\"keccak256\":\"0x3e28050fbe625f1469701b231772ce321e719ddbce4f84b6caa1d8d634a4234a\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f0871b7d6b595e444e598f68751225a596d969267c289a465462fdeb67530fc8\",\"dweb:/ipfs/QmX2z5QGP3kpKx9ruGnZHYH5bDCD9sjRGTRhg9SRiowctg\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]},\"node_modules/@openzeppelin/contracts/utils/ReentrancyGuard.sol\":{\"keccak256\":\"0x8bbbc2f5c10065ee272592ae0a7a6ceb23de2fbd81564ee0bb015ecf404d5f61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b95e56c1640d0ef789fc5c16269e141e992f6c8ac97cc6d377bd3825e9cab182\",\"dweb:/ipfs/QmVzaxJZY51EhagrcNnkxoU6Uq17RhATe7aHvtkC6wUkgK\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - }, - { - "internalType": "string", - "name": "_tokenName", - "type": "string" - }, - { - "internalType": "string", - "name": "_tokenSymbol", - "type": "string" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "spender", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "Approval", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "to", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "Deposited", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "bool", - "name": "isPaused", - "type": "bool", - "indexed": false - } - ], - "type": "event", - "name": "PauseToggled", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "token", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "RewardTokenAdded", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "caller", - "type": "address", - "indexed": false - }, - { - "internalType": "address", - "name": "user", - "type": "address", - "indexed": true - }, - { - "internalType": "address[]", - "name": "rewardTokens", - "type": "address[]", - "indexed": false - }, - { - "internalType": "uint256[]", - "name": "claimedAmounts", - "type": "uint256[]", - "indexed": false - } - ], - "type": "event", - "name": "RewardsClaimed", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "rewardToken", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "integral", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "TotalHarvestIntegralUpdated", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "rewardToken", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "lastCheckpointBalance", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "TotalHarvestLastCheckpointBalanceUpdated", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "to", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "Transfer", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "user", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "rewardToken", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "integral", - "type": "uint256", - "indexed": false - }, - { - "internalType": "uint256", - "name": "claimableReward", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "UserHarvestUpdated", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "caller", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "from", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "to", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "Withdrawn", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_for", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "claimRewardsFor", - "outputs": [ - { - "internalType": "address[]", - "name": "rewardTokens_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "claimedAmounts_", - "type": "uint256[]" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "decimals_", - "type": "uint8" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "subtractedValue", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "decreaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "deposit" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "depositTo" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_index", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getRewardTokenAtIndex", - "outputs": [ - { - "internalType": "address", - "name": "rewardToken_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getRewardTokenCount", - "outputs": [ - { - "internalType": "uint256", - "name": "count_", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getRewardTokens", - "outputs": [ - { - "internalType": "address[]", - "name": "rewardTokens_", - "type": "address[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_rewardToken", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getTotalHarvestDataForRewardToken", - "outputs": [ - { - "internalType": "struct IStakingWrapper.TotalHarvestData", - "name": "totalHarvestData_", - "type": "tuple", - "components": [ - { - "internalType": "uint128", - "name": "integral", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "lastCheckpointBalance", - "type": "uint128" - } - ] - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_user", - "type": "address" - }, - { - "internalType": "address", - "name": "_rewardToken", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getUserHarvestDataForRewardToken", - "outputs": [ - { - "internalType": "struct IStakingWrapper.UserHarvestData", - "name": "userHarvestData_", - "type": "tuple", - "components": [ - { - "internalType": "uint128", - "name": "integral", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "claimableReward", - "type": "uint128" - } - ] - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "addedValue", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "increaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "isPaused", - "outputs": [ - { - "internalType": "bool", - "name": "isPaused_", - "type": "bool" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ] - }, - { - "inputs": [ - { - "internalType": "bool", - "name": "_isPaused", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "togglePause" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "_claimRewards", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "withdraw", - "outputs": [ - { - "internalType": "address[]", - "name": "rewardTokens_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "claimedAmounts_", - "type": "uint256[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "_claimRewardsToHolder", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "withdrawTo" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_onBehalf", - "type": "address" - }, - { - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "_claimRewardsToHolder", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "withdrawToOnBehalf" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "allowance(address,address)": { - "details": "See {IERC20-allowance}." - }, - "approve(address,uint256)": { - "details": "See {IERC20-approve}. Requirements: - `spender` cannot be the zero address." - }, - "balanceOf(address)": { - "details": "See {IERC20-balanceOf}." - }, - "claimRewardsFor(address)": { - "details": "Can be called off-chain to simulate the total harvestable rewards for a particular user", - "params": { - "_for": "The account for which to claim rewards" - }, - "returns": { - "claimedAmounts_": "The reward token amounts claimed", - "rewardTokens_": "The reward tokens" - } - }, - "decimals()": { - "details": "Implementing contracts should override to set different decimals", - "returns": { - "decimals_": "The token decimals" - } - }, - "decreaseAllowance(address,uint256)": { - "details": "Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`." - }, - "deposit(uint256)": { - "params": { - "_amount": "The amount of tokens to deposit" - } - }, - "depositTo(address,uint256)": { - "params": { - "_amount": "The amount of tokens to deposit", - "_to": "The account to receive staking tokens" - } - }, - "getRewardTokenAtIndex(uint256)": { - "returns": { - "rewardToken_": "The reward token address" - } - }, - "getRewardTokenCount()": { - "returns": { - "count_": "The count" - } - }, - "getRewardTokens()": { - "returns": { - "rewardTokens_": "The reward tokens" - } - }, - "getTotalHarvestDataForRewardToken(address)": { - "params": { - "_rewardToken": "The reward token" - }, - "returns": { - "totalHarvestData_": "The TotalHarvestData" - } - }, - "getUserHarvestDataForRewardToken(address,address)": { - "params": { - "_rewardToken": "The reward token", - "_user": "The account" - }, - "returns": { - "userHarvestData_": "The UserHarvestData" - } - }, - "increaseAllowance(address,uint256)": { - "details": "Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address." - }, - "isPaused()": { - "returns": { - "isPaused_": "True if paused" - } - }, - "name()": { - "details": "Returns the name of the token." - }, - "symbol()": { - "details": "Returns the symbol of the token, usually a shorter version of the name." - }, - "togglePause(bool)": { - "params": { - "_isPaused": "True if next state is paused, false if unpaused" - } - }, - "totalSupply()": { - "details": "See {IERC20-totalSupply}." - }, - "transfer(address,uint256)": { - "details": "See {IERC20-transfer}. Requirements: - `recipient` cannot be the zero address. - the caller must have a balance of at least `amount`." - }, - "transferFrom(address,address,uint256)": { - "details": "See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. Requirements: - `sender` and `recipient` cannot be the zero address. - `sender` must have a balance of at least `amount`. - the caller must have allowance for ``sender``'s tokens of at least `amount`." - }, - "withdraw(uint256,bool)": { - "details": "Setting `_claimRewards` to true will save gas over separate calls to withdraw + claim", - "params": { - "_amount": "The amount of tokens to withdraw", - "_claimRewards": "True if accrued rewards should be claimed" - }, - "returns": { - "claimedAmounts_": "The reward token amounts claimed", - "rewardTokens_": "The reward tokens" - } - }, - "withdrawTo(address,uint256,bool)": { - "params": { - "_amount": "The amount of tokens to withdraw", - "_to": "The account to receive tokens" - } - }, - "withdrawToOnBehalf(address,address,uint256,bool)": { - "details": "The caller must have an adequate ERC20.allowance() for _onBehalf", - "params": { - "_amount": "The amount of tokens to withdraw", - "_onBehalf": "The account on behalf to withdraw", - "_to": "The account to receive tokens" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "claimRewardsFor(address)": { - "notice": "Claims all rewards for a given account" - }, - "decimals()": { - "notice": "Gets the token decimals" - }, - "deposit(uint256)": { - "notice": "Deposits tokens to be staked, minting staking token to sender" - }, - "depositTo(address,uint256)": { - "notice": "Deposits tokens to be staked, minting staking token to a specified account" - }, - "getRewardTokenAtIndex(uint256)": { - "notice": "Gets the reward token at a particular index" - }, - "getRewardTokenCount()": { - "notice": "Gets the count of reward tokens being harvested" - }, - "getRewardTokens()": { - "notice": "Gets all reward tokens being harvested" - }, - "getTotalHarvestDataForRewardToken(address)": { - "notice": "Gets the TotalHarvestData for a specified reward token" - }, - "getUserHarvestDataForRewardToken(address,address)": { - "notice": "Gets the UserHarvestData for a specified account and reward token" - }, - "isPaused()": { - "notice": "Checks if deposits and new reward harvesting are paused" - }, - "togglePause(bool)": { - "notice": "Toggles pause for deposit and harvesting new rewards" - }, - "withdraw(uint256,bool)": { - "notice": "Withdraws staked tokens, returning tokens to the sender, and optionally claiming rewards" - }, - "withdrawTo(address,uint256,bool)": { - "notice": "Withdraws staked tokens, returning tokens to a specified account, and optionally claims rewards to the staked token holder" - }, - "withdrawToOnBehalf(address,address,uint256,bool)": { - "notice": "Withdraws staked tokens on behalf of AccountA, returning tokens to a specified AccountB, and optionally claims rewards to the staked token holder" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/infrastructure/staking-wrappers/StakingWrapperBase.sol": "StakingWrapperBase" - }, - "libraries": {} - }, - "sources": { - "contracts/release/infrastructure/staking-wrappers/IStakingWrapper.sol": { - "keccak256": "0xaeb9aba4e74eb3243a85090fded7b157969cf83e1f4159b1da2f662a3e7b15be", - "urls": [ - "bzz-raw://92346911c044a54808d2d425fe58c6dc9594dfafb8d83496f6599e3bc23803d0", - "dweb:/ipfs/QmYWf7yx9ZfUnP81K1hjvApthqNhpXzUhGuFBm4gX1aDRB" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/staking-wrappers/StakingWrapperBase.sol": { - "keccak256": "0x3e28050fbe625f1469701b231772ce321e719ddbce4f84b6caa1d8d634a4234a", - "urls": [ - "bzz-raw://f0871b7d6b595e444e598f68751225a596d969267c289a465462fdeb67530fc8", - "dweb:/ipfs/QmX2z5QGP3kpKx9ruGnZHYH5bDCD9sjRGTRhg9SRiowctg" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AddressArrayLib.sol": { - "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", - "urls": [ - "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", - "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { - "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", - "urls": [ - "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", - "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Address.sol": { - "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", - "urls": [ - "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", - "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/ReentrancyGuard.sol": { - "keccak256": "0x8bbbc2f5c10065ee272592ae0a7a6ceb23de2fbd81564ee0bb015ecf404d5f61", - "urls": [ - "bzz-raw://b95e56c1640d0ef789fc5c16269e141e992f6c8ac97cc6d377bd3825e9cab182", - "dweb:/ipfs/QmVzaxJZY51EhagrcNnkxoU6Uq17RhATe7aHvtkC6wUkgK" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 259 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_owner", "type": "address", "internalType": "address" }, { "name": "_tokenName", "type": "string", "internalType": "string" }, { "name": "_tokenSymbol", "type": "string", "internalType": "string" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "allowance", "inputs": [ { "name": "owner", "type": "address", "internalType": "address" }, { "name": "spender", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "approve", "inputs": [ { "name": "spender", "type": "address", "internalType": "address" }, { "name": "amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "balanceOf", "inputs": [ { "name": "account", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "claimRewardsFor", "inputs": [ { "name": "_for", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "rewardTokens_", "type": "address[]", "internalType": "address[]" }, { "name": "claimedAmounts_", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "decimals", "inputs": [], "outputs": [ { "name": "decimals_", "type": "uint8", "internalType": "uint8" } ], "stateMutability": "view" }, { "type": "function", "name": "decreaseAllowance", "inputs": [ { "name": "spender", "type": "address", "internalType": "address" }, { "name": "subtractedValue", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "deposit", "inputs": [ { "name": "_amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "depositTo", "inputs": [ { "name": "_to", "type": "address", "internalType": "address" }, { "name": "_amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "getRewardTokenAtIndex", "inputs": [ { "name": "_index", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "rewardToken_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getRewardTokenCount", "inputs": [], "outputs": [ { "name": "count_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "getRewardTokens", "inputs": [], "outputs": [ { "name": "rewardTokens_", "type": "address[]", "internalType": "address[]" } ], "stateMutability": "view" }, { "type": "function", "name": "getTotalHarvestDataForRewardToken", "inputs": [ { "name": "_rewardToken", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "totalHarvestData_", "type": "tuple", "internalType": "struct IStakingWrapper.TotalHarvestData", "components": [ { "name": "integral", "type": "uint128", "internalType": "uint128" }, { "name": "lastCheckpointBalance", "type": "uint128", "internalType": "uint128" } ] } ], "stateMutability": "view" }, { "type": "function", "name": "getUserHarvestDataForRewardToken", "inputs": [ { "name": "_user", "type": "address", "internalType": "address" }, { "name": "_rewardToken", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "userHarvestData_", "type": "tuple", "internalType": "struct IStakingWrapper.UserHarvestData", "components": [ { "name": "integral", "type": "uint128", "internalType": "uint128" }, { "name": "claimableReward", "type": "uint128", "internalType": "uint128" } ] } ], "stateMutability": "view" }, { "type": "function", "name": "increaseAllowance", "inputs": [ { "name": "spender", "type": "address", "internalType": "address" }, { "name": "addedValue", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "isPaused", "inputs": [], "outputs": [ { "name": "isPaused_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "name", "inputs": [], "outputs": [ { "name": "", "type": "string", "internalType": "string" } ], "stateMutability": "view" }, { "type": "function", "name": "symbol", "inputs": [], "outputs": [ { "name": "", "type": "string", "internalType": "string" } ], "stateMutability": "view" }, { "type": "function", "name": "togglePause", "inputs": [ { "name": "_isPaused", "type": "bool", "internalType": "bool" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "totalSupply", "inputs": [], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "transfer", "inputs": [ { "name": "recipient", "type": "address", "internalType": "address" }, { "name": "amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "transferFrom", "inputs": [ { "name": "sender", "type": "address", "internalType": "address" }, { "name": "recipient", "type": "address", "internalType": "address" }, { "name": "amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "withdraw", "inputs": [ { "name": "_amount", "type": "uint256", "internalType": "uint256" }, { "name": "_claimRewards", "type": "bool", "internalType": "bool" } ], "outputs": [ { "name": "rewardTokens_", "type": "address[]", "internalType": "address[]" }, { "name": "claimedAmounts_", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "withdrawTo", "inputs": [ { "name": "_to", "type": "address", "internalType": "address" }, { "name": "_amount", "type": "uint256", "internalType": "uint256" }, { "name": "_claimRewardsToHolder", "type": "bool", "internalType": "bool" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "withdrawToOnBehalf", "inputs": [ { "name": "_onBehalf", "type": "address", "internalType": "address" }, { "name": "_to", "type": "address", "internalType": "address" }, { "name": "_amount", "type": "uint256", "internalType": "uint256" }, { "name": "_claimRewardsToHolder", "type": "bool", "internalType": "bool" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "event", "name": "Approval", "inputs": [ { "name": "owner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "spender", "type": "address", "indexed": true, "internalType": "address" }, { "name": "value", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "Deposited", "inputs": [ { "name": "from", "type": "address", "indexed": true, "internalType": "address" }, { "name": "to", "type": "address", "indexed": true, "internalType": "address" }, { "name": "amount", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "PauseToggled", "inputs": [ { "name": "isPaused", "type": "bool", "indexed": false, "internalType": "bool" } ], "anonymous": false }, { "type": "event", "name": "RewardTokenAdded", "inputs": [ { "name": "token", "type": "address", "indexed": false, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "RewardsClaimed", "inputs": [ { "name": "caller", "type": "address", "indexed": false, "internalType": "address" }, { "name": "user", "type": "address", "indexed": true, "internalType": "address" }, { "name": "rewardTokens", "type": "address[]", "indexed": false, "internalType": "address[]" }, { "name": "claimedAmounts", "type": "uint256[]", "indexed": false, "internalType": "uint256[]" } ], "anonymous": false }, { "type": "event", "name": "TotalHarvestIntegralUpdated", "inputs": [ { "name": "rewardToken", "type": "address", "indexed": true, "internalType": "address" }, { "name": "integral", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "TotalHarvestLastCheckpointBalanceUpdated", "inputs": [ { "name": "rewardToken", "type": "address", "indexed": true, "internalType": "address" }, { "name": "lastCheckpointBalance", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "Transfer", "inputs": [ { "name": "from", "type": "address", "indexed": true, "internalType": "address" }, { "name": "to", "type": "address", "indexed": true, "internalType": "address" }, { "name": "value", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "UserHarvestUpdated", "inputs": [ { "name": "user", "type": "address", "indexed": true, "internalType": "address" }, { "name": "rewardToken", "type": "address", "indexed": true, "internalType": "address" }, { "name": "integral", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "claimableReward", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "Withdrawn", "inputs": [ { "name": "caller", "type": "address", "indexed": true, "internalType": "address" }, { "name": "from", "type": "address", "indexed": true, "internalType": "address" }, { "name": "to", "type": "address", "indexed": true, "internalType": "address" }, { "name": "amount", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "allowance(address,address)": "dd62ed3e", "approve(address,uint256)": "095ea7b3", "balanceOf(address)": "70a08231", "claimRewardsFor(address)": "1ac6d19d", "decimals()": "313ce567", "decreaseAllowance(address,uint256)": "a457c2d7", "deposit(uint256)": "b6b55f25", "depositTo(address,uint256)": "ffaad6a5", "getRewardTokenAtIndex(uint256)": "a7d2793f", "getRewardTokenCount()": "82e5d073", "getRewardTokens()": "c4f59f9b", "getTotalHarvestDataForRewardToken(address)": "9655dd61", "getUserHarvestDataForRewardToken(address,address)": "093f6365", "increaseAllowance(address,uint256)": "39509351", "isPaused()": "b187bd26", "name()": "06fdde03", "symbol()": "95d89b41", "togglePause(bool)": "57d159c6", "totalSupply()": "18160ddd", "transfer(address,uint256)": "a9059cbb", "transferFrom(address,address,uint256)": "23b872dd", "withdraw(uint256,bool)": "38d07436", "withdrawTo(address,uint256,bool)": "73e2290c", "withdrawToOnBehalf(address,address,uint256,bool)": "2cfafabe" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_tokenName\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"_tokenSymbol\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"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\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Deposited\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"isPaused\",\"type\":\"bool\"}],\"name\":\"PauseToggled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"RewardTokenAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"rewardTokens\",\"type\":\"address[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"claimedAmounts\",\"type\":\"uint256[]\"}],\"name\":\"RewardsClaimed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"rewardToken\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"integral\",\"type\":\"uint256\"}],\"name\":\"TotalHarvestIntegralUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"rewardToken\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"lastCheckpointBalance\",\"type\":\"uint256\"}],\"name\":\"TotalHarvestLastCheckpointBalanceUpdated\",\"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\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"rewardToken\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"integral\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"claimableReward\",\"type\":\"uint256\"}],\"name\":\"UserHarvestUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"},{\"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\":\"Withdrawn\",\"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\":[{\"internalType\":\"address\",\"name\":\"_for\",\"type\":\"address\"}],\"name\":\"claimRewardsFor\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"rewardTokens_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"claimedAmounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"decimals_\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"deposit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"depositTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_index\",\"type\":\"uint256\"}],\"name\":\"getRewardTokenAtIndex\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"rewardToken_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRewardTokenCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"count_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRewardTokens\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"rewardTokens_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_rewardToken\",\"type\":\"address\"}],\"name\":\"getTotalHarvestDataForRewardToken\",\"outputs\":[{\"components\":[{\"internalType\":\"uint128\",\"name\":\"integral\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"lastCheckpointBalance\",\"type\":\"uint128\"}],\"internalType\":\"struct IStakingWrapper.TotalHarvestData\",\"name\":\"totalHarvestData_\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_rewardToken\",\"type\":\"address\"}],\"name\":\"getUserHarvestDataForRewardToken\",\"outputs\":[{\"components\":[{\"internalType\":\"uint128\",\"name\":\"integral\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"claimableReward\",\"type\":\"uint128\"}],\"internalType\":\"struct IStakingWrapper.UserHarvestData\",\"name\":\"userHarvestData_\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isPaused\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isPaused_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"_isPaused\",\"type\":\"bool\"}],\"name\":\"togglePause\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"_claimRewards\",\"type\":\"bool\"}],\"name\":\"withdraw\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"rewardTokens_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"claimedAmounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"_claimRewardsToHolder\",\"type\":\"bool\"}],\"name\":\"withdrawTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_onBehalf\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"_claimRewardsToHolder\",\"type\":\"bool\"}],\"name\":\"withdrawToOnBehalf\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"Can be used as a base for both standard deployments and proxy targets. Draws on Convex's ConvexStakingWrapper implementation (https://github.com/convex-eth/platform/blob/main/contracts/contracts/wrappers/ConvexStakingWrapper.sol), which is based on Curve.fi gauge wrappers (https://github.com/curvefi/curve-dao-contracts/tree/master/contracts/gauges/wrappers)\",\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"claimRewardsFor(address)\":{\"details\":\"Can be called off-chain to simulate the total harvestable rewards for a particular user\",\"params\":{\"_for\":\"The account for which to claim rewards\"},\"returns\":{\"claimedAmounts_\":\"The reward token amounts claimed\",\"rewardTokens_\":\"The reward tokens\"}},\"decimals()\":{\"details\":\"Implementing contracts should override to set different decimals\",\"returns\":{\"decimals_\":\"The token decimals\"}},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.\"},\"deposit(uint256)\":{\"params\":{\"_amount\":\"The amount of tokens to deposit\"}},\"depositTo(address,uint256)\":{\"params\":{\"_amount\":\"The amount of tokens to deposit\",\"_to\":\"The account to receive staking tokens\"}},\"getRewardTokenAtIndex(uint256)\":{\"returns\":{\"rewardToken_\":\"The reward token address\"}},\"getRewardTokenCount()\":{\"returns\":{\"count_\":\"The count\"}},\"getRewardTokens()\":{\"returns\":{\"rewardTokens_\":\"The reward tokens\"}},\"getTotalHarvestDataForRewardToken(address)\":{\"params\":{\"_rewardToken\":\"The reward token\"},\"returns\":{\"totalHarvestData_\":\"The TotalHarvestData\"}},\"getUserHarvestDataForRewardToken(address,address)\":{\"params\":{\"_rewardToken\":\"The reward token\",\"_user\":\"The account\"},\"returns\":{\"userHarvestData_\":\"The UserHarvestData\"}},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address.\"},\"isPaused()\":{\"returns\":{\"isPaused_\":\"True if paused\"}},\"name()\":{\"details\":\"Returns the name of the token.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"togglePause(bool)\":{\"params\":{\"_isPaused\":\"True if next state is paused, false if unpaused\"}},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `recipient` cannot be the zero address. - the caller must have a balance of at least `amount`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. Requirements: - `sender` and `recipient` cannot be the zero address. - `sender` must have a balance of at least `amount`. - the caller must have allowance for ``sender``'s tokens of at least `amount`.\"},\"withdraw(uint256,bool)\":{\"details\":\"Setting `_claimRewards` to true will save gas over separate calls to withdraw + claim\",\"params\":{\"_amount\":\"The amount of tokens to withdraw\",\"_claimRewards\":\"True if accrued rewards should be claimed\"},\"returns\":{\"claimedAmounts_\":\"The reward token amounts claimed\",\"rewardTokens_\":\"The reward tokens\"}},\"withdrawTo(address,uint256,bool)\":{\"params\":{\"_amount\":\"The amount of tokens to withdraw\",\"_to\":\"The account to receive tokens\"}},\"withdrawToOnBehalf(address,address,uint256,bool)\":{\"details\":\"The caller must have an adequate ERC20.allowance() for _onBehalf\",\"params\":{\"_amount\":\"The amount of tokens to withdraw\",\"_onBehalf\":\"The account on behalf to withdraw\",\"_to\":\"The account to receive tokens\"}}},\"title\":\"StakingWrapperBase Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"claimRewardsFor(address)\":{\"notice\":\"Claims all rewards for a given account\"},\"decimals()\":{\"notice\":\"Gets the token decimals\"},\"deposit(uint256)\":{\"notice\":\"Deposits tokens to be staked, minting staking token to sender\"},\"depositTo(address,uint256)\":{\"notice\":\"Deposits tokens to be staked, minting staking token to a specified account\"},\"getRewardTokenAtIndex(uint256)\":{\"notice\":\"Gets the reward token at a particular index\"},\"getRewardTokenCount()\":{\"notice\":\"Gets the count of reward tokens being harvested\"},\"getRewardTokens()\":{\"notice\":\"Gets all reward tokens being harvested\"},\"getTotalHarvestDataForRewardToken(address)\":{\"notice\":\"Gets the TotalHarvestData for a specified reward token\"},\"getUserHarvestDataForRewardToken(address,address)\":{\"notice\":\"Gets the UserHarvestData for a specified account and reward token\"},\"isPaused()\":{\"notice\":\"Checks if deposits and new reward harvesting are paused\"},\"togglePause(bool)\":{\"notice\":\"Toggles pause for deposit and harvesting new rewards\"},\"withdraw(uint256,bool)\":{\"notice\":\"Withdraws staked tokens, returning tokens to the sender, and optionally claiming rewards\"},\"withdrawTo(address,uint256,bool)\":{\"notice\":\"Withdraws staked tokens, returning tokens to a specified account, and optionally claims rewards to the staked token holder\"},\"withdrawToOnBehalf(address,address,uint256,bool)\":{\"notice\":\"Withdraws staked tokens on behalf of AccountA, returning tokens to a specified AccountB, and optionally claims rewards to the staked token holder\"}},\"notice\":\"A base contract for staking wrappers\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/infrastructure/staking-wrappers/StakingWrapperBase.sol\":\"StakingWrapperBase\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/infrastructure/staking-wrappers/IStakingWrapper.sol\":{\"keccak256\":\"0xaeb9aba4e74eb3243a85090fded7b157969cf83e1f4159b1da2f662a3e7b15be\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://92346911c044a54808d2d425fe58c6dc9594dfafb8d83496f6599e3bc23803d0\",\"dweb:/ipfs/QmYWf7yx9ZfUnP81K1hjvApthqNhpXzUhGuFBm4gX1aDRB\"]},\"contracts/release/infrastructure/staking-wrappers/StakingWrapperBase.sol\":{\"keccak256\":\"0x3e28050fbe625f1469701b231772ce321e719ddbce4f84b6caa1d8d634a4234a\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f0871b7d6b595e444e598f68751225a596d969267c289a465462fdeb67530fc8\",\"dweb:/ipfs/QmX2z5QGP3kpKx9ruGnZHYH5bDCD9sjRGTRhg9SRiowctg\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]},\"node_modules/@openzeppelin/contracts/utils/ReentrancyGuard.sol\":{\"keccak256\":\"0x8bbbc2f5c10065ee272592ae0a7a6ceb23de2fbd81564ee0bb015ecf404d5f61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b95e56c1640d0ef789fc5c16269e141e992f6c8ac97cc6d377bd3825e9cab182\",\"dweb:/ipfs/QmVzaxJZY51EhagrcNnkxoU6Uq17RhATe7aHvtkC6wUkgK\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_owner", "type": "address" }, { "internalType": "string", "name": "_tokenName", "type": "string" }, { "internalType": "string", "name": "_tokenSymbol", "type": "string" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address", "indexed": true }, { "internalType": "address", "name": "spender", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "value", "type": "uint256", "indexed": false } ], "type": "event", "name": "Approval", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address", "indexed": true }, { "internalType": "address", "name": "to", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "amount", "type": "uint256", "indexed": false } ], "type": "event", "name": "Deposited", "anonymous": false }, { "inputs": [ { "internalType": "bool", "name": "isPaused", "type": "bool", "indexed": false } ], "type": "event", "name": "PauseToggled", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "token", "type": "address", "indexed": false } ], "type": "event", "name": "RewardTokenAdded", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "caller", "type": "address", "indexed": false }, { "internalType": "address", "name": "user", "type": "address", "indexed": true }, { "internalType": "address[]", "name": "rewardTokens", "type": "address[]", "indexed": false }, { "internalType": "uint256[]", "name": "claimedAmounts", "type": "uint256[]", "indexed": false } ], "type": "event", "name": "RewardsClaimed", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "rewardToken", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "integral", "type": "uint256", "indexed": false } ], "type": "event", "name": "TotalHarvestIntegralUpdated", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "rewardToken", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "lastCheckpointBalance", "type": "uint256", "indexed": false } ], "type": "event", "name": "TotalHarvestLastCheckpointBalanceUpdated", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address", "indexed": true }, { "internalType": "address", "name": "to", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "value", "type": "uint256", "indexed": false } ], "type": "event", "name": "Transfer", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "user", "type": "address", "indexed": true }, { "internalType": "address", "name": "rewardToken", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "integral", "type": "uint256", "indexed": false }, { "internalType": "uint256", "name": "claimableReward", "type": "uint256", "indexed": false } ], "type": "event", "name": "UserHarvestUpdated", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "caller", "type": "address", "indexed": true }, { "internalType": "address", "name": "from", "type": "address", "indexed": true }, { "internalType": "address", "name": "to", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "amount", "type": "uint256", "indexed": false } ], "type": "event", "name": "Withdrawn", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "_for", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "claimRewardsFor", "outputs": [ { "internalType": "address[]", "name": "rewardTokens_", "type": "address[]" }, { "internalType": "uint256[]", "name": "claimedAmounts_", "type": "uint256[]" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "decimals_", "type": "uint8" } ] }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "subtractedValue", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "decreaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "deposit" }, { "inputs": [ { "internalType": "address", "name": "_to", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "depositTo" }, { "inputs": [ { "internalType": "uint256", "name": "_index", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "getRewardTokenAtIndex", "outputs": [ { "internalType": "address", "name": "rewardToken_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getRewardTokenCount", "outputs": [ { "internalType": "uint256", "name": "count_", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getRewardTokens", "outputs": [ { "internalType": "address[]", "name": "rewardTokens_", "type": "address[]" } ] }, { "inputs": [ { "internalType": "address", "name": "_rewardToken", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getTotalHarvestDataForRewardToken", "outputs": [ { "internalType": "struct IStakingWrapper.TotalHarvestData", "name": "totalHarvestData_", "type": "tuple", "components": [ { "internalType": "uint128", "name": "integral", "type": "uint128" }, { "internalType": "uint128", "name": "lastCheckpointBalance", "type": "uint128" } ] } ] }, { "inputs": [ { "internalType": "address", "name": "_user", "type": "address" }, { "internalType": "address", "name": "_rewardToken", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getUserHarvestDataForRewardToken", "outputs": [ { "internalType": "struct IStakingWrapper.UserHarvestData", "name": "userHarvestData_", "type": "tuple", "components": [ { "internalType": "uint128", "name": "integral", "type": "uint128" }, { "internalType": "uint128", "name": "claimableReward", "type": "uint128" } ] } ] }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "addedValue", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "increaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "isPaused", "outputs": [ { "internalType": "bool", "name": "isPaused_", "type": "bool" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ] }, { "inputs": [ { "internalType": "bool", "name": "_isPaused", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function", "name": "togglePause" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_amount", "type": "uint256" }, { "internalType": "bool", "name": "_claimRewards", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function", "name": "withdraw", "outputs": [ { "internalType": "address[]", "name": "rewardTokens_", "type": "address[]" }, { "internalType": "uint256[]", "name": "claimedAmounts_", "type": "uint256[]" } ] }, { "inputs": [ { "internalType": "address", "name": "_to", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" }, { "internalType": "bool", "name": "_claimRewardsToHolder", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function", "name": "withdrawTo" }, { "inputs": [ { "internalType": "address", "name": "_onBehalf", "type": "address" }, { "internalType": "address", "name": "_to", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" }, { "internalType": "bool", "name": "_claimRewardsToHolder", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function", "name": "withdrawToOnBehalf" } ], "devdoc": { "kind": "dev", "methods": { "allowance(address,address)": { "details": "See {IERC20-allowance}." }, "approve(address,uint256)": { "details": "See {IERC20-approve}. Requirements: - `spender` cannot be the zero address." }, "balanceOf(address)": { "details": "See {IERC20-balanceOf}." }, "claimRewardsFor(address)": { "details": "Can be called off-chain to simulate the total harvestable rewards for a particular user", "params": { "_for": "The account for which to claim rewards" }, "returns": { "claimedAmounts_": "The reward token amounts claimed", "rewardTokens_": "The reward tokens" } }, "decimals()": { "details": "Implementing contracts should override to set different decimals", "returns": { "decimals_": "The token decimals" } }, "decreaseAllowance(address,uint256)": { "details": "Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`." }, "deposit(uint256)": { "params": { "_amount": "The amount of tokens to deposit" } }, "depositTo(address,uint256)": { "params": { "_amount": "The amount of tokens to deposit", "_to": "The account to receive staking tokens" } }, "getRewardTokenAtIndex(uint256)": { "returns": { "rewardToken_": "The reward token address" } }, "getRewardTokenCount()": { "returns": { "count_": "The count" } }, "getRewardTokens()": { "returns": { "rewardTokens_": "The reward tokens" } }, "getTotalHarvestDataForRewardToken(address)": { "params": { "_rewardToken": "The reward token" }, "returns": { "totalHarvestData_": "The TotalHarvestData" } }, "getUserHarvestDataForRewardToken(address,address)": { "params": { "_rewardToken": "The reward token", "_user": "The account" }, "returns": { "userHarvestData_": "The UserHarvestData" } }, "increaseAllowance(address,uint256)": { "details": "Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address." }, "isPaused()": { "returns": { "isPaused_": "True if paused" } }, "name()": { "details": "Returns the name of the token." }, "symbol()": { "details": "Returns the symbol of the token, usually a shorter version of the name." }, "togglePause(bool)": { "params": { "_isPaused": "True if next state is paused, false if unpaused" } }, "totalSupply()": { "details": "See {IERC20-totalSupply}." }, "transfer(address,uint256)": { "details": "See {IERC20-transfer}. Requirements: - `recipient` cannot be the zero address. - the caller must have a balance of at least `amount`." }, "transferFrom(address,address,uint256)": { "details": "See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. Requirements: - `sender` and `recipient` cannot be the zero address. - `sender` must have a balance of at least `amount`. - the caller must have allowance for ``sender``'s tokens of at least `amount`." }, "withdraw(uint256,bool)": { "details": "Setting `_claimRewards` to true will save gas over separate calls to withdraw + claim", "params": { "_amount": "The amount of tokens to withdraw", "_claimRewards": "True if accrued rewards should be claimed" }, "returns": { "claimedAmounts_": "The reward token amounts claimed", "rewardTokens_": "The reward tokens" } }, "withdrawTo(address,uint256,bool)": { "params": { "_amount": "The amount of tokens to withdraw", "_to": "The account to receive tokens" } }, "withdrawToOnBehalf(address,address,uint256,bool)": { "details": "The caller must have an adequate ERC20.allowance() for _onBehalf", "params": { "_amount": "The amount of tokens to withdraw", "_onBehalf": "The account on behalf to withdraw", "_to": "The account to receive tokens" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "claimRewardsFor(address)": { "notice": "Claims all rewards for a given account" }, "decimals()": { "notice": "Gets the token decimals" }, "deposit(uint256)": { "notice": "Deposits tokens to be staked, minting staking token to sender" }, "depositTo(address,uint256)": { "notice": "Deposits tokens to be staked, minting staking token to a specified account" }, "getRewardTokenAtIndex(uint256)": { "notice": "Gets the reward token at a particular index" }, "getRewardTokenCount()": { "notice": "Gets the count of reward tokens being harvested" }, "getRewardTokens()": { "notice": "Gets all reward tokens being harvested" }, "getTotalHarvestDataForRewardToken(address)": { "notice": "Gets the TotalHarvestData for a specified reward token" }, "getUserHarvestDataForRewardToken(address,address)": { "notice": "Gets the UserHarvestData for a specified account and reward token" }, "isPaused()": { "notice": "Checks if deposits and new reward harvesting are paused" }, "togglePause(bool)": { "notice": "Toggles pause for deposit and harvesting new rewards" }, "withdraw(uint256,bool)": { "notice": "Withdraws staked tokens, returning tokens to the sender, and optionally claiming rewards" }, "withdrawTo(address,uint256,bool)": { "notice": "Withdraws staked tokens, returning tokens to a specified account, and optionally claims rewards to the staked token holder" }, "withdrawToOnBehalf(address,address,uint256,bool)": { "notice": "Withdraws staked tokens on behalf of AccountA, returning tokens to a specified AccountB, and optionally claims rewards to the staked token holder" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/infrastructure/staking-wrappers/StakingWrapperBase.sol": "StakingWrapperBase" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/infrastructure/staking-wrappers/IStakingWrapper.sol": { "keccak256": "0xaeb9aba4e74eb3243a85090fded7b157969cf83e1f4159b1da2f662a3e7b15be", "urls": [ "bzz-raw://92346911c044a54808d2d425fe58c6dc9594dfafb8d83496f6599e3bc23803d0", "dweb:/ipfs/QmYWf7yx9ZfUnP81K1hjvApthqNhpXzUhGuFBm4gX1aDRB" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/staking-wrappers/StakingWrapperBase.sol": { "keccak256": "0x3e28050fbe625f1469701b231772ce321e719ddbce4f84b6caa1d8d634a4234a", "urls": [ "bzz-raw://f0871b7d6b595e444e598f68751225a596d969267c289a465462fdeb67530fc8", "dweb:/ipfs/QmX2z5QGP3kpKx9ruGnZHYH5bDCD9sjRGTRhg9SRiowctg" ], "license": "GPL-3.0" }, "contracts/release/utils/AddressArrayLib.sol": { "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", "urls": [ "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", "urls": [ "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Address.sol": { "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", "urls": [ "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/ReentrancyGuard.sol": { "keccak256": "0x8bbbc2f5c10065ee272592ae0a7a6ceb23de2fbd81564ee0bb015ecf404d5f61", "urls": [ "bzz-raw://b95e56c1640d0ef789fc5c16269e141e992f6c8ac97cc6d377bd3825e9cab182", "dweb:/ipfs/QmVzaxJZY51EhagrcNnkxoU6Uq17RhATe7aHvtkC6wUkgK" ], "license": "MIT" } }, "version": 1 }, "id": 259 } diff --git a/eth_defi/abi/enzyme/StakingWrapperLibBase.json b/eth_defi/abi/enzyme/StakingWrapperLibBase.json index a1f508f4..d9b5105a 100644 --- a/eth_defi/abi/enzyme/StakingWrapperLibBase.json +++ b/eth_defi/abi/enzyme/StakingWrapperLibBase.json @@ -1,1862 +1 @@ -{ - "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": "amount", - "type": "uint256" - } - ], - "name": "Deposited", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "bool", - "name": "isPaused", - "type": "bool" - } - ], - "name": "PauseToggled", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "token", - "type": "address" - } - ], - "name": "RewardTokenAdded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "caller", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "indexed": false, - "internalType": "address[]", - "name": "rewardTokens", - "type": "address[]" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "claimedAmounts", - "type": "uint256[]" - } - ], - "name": "RewardsClaimed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "string", - "name": "name", - "type": "string" - } - ], - "name": "TokenNameSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "string", - "name": "symbol", - "type": "string" - } - ], - "name": "TokenSymbolSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "rewardToken", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "integral", - "type": "uint256" - } - ], - "name": "TotalHarvestIntegralUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "rewardToken", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "lastCheckpointBalance", - "type": "uint256" - } - ], - "name": "TotalHarvestLastCheckpointBalanceUpdated", - "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" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "rewardToken", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "integral", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "claimableReward", - "type": "uint256" - } - ], - "name": "UserHarvestUpdated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "caller", - "type": "address" - }, - { - "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": "Withdrawn", - "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": [ - { - "internalType": "address", - "name": "_for", - "type": "address" - } - ], - "name": "claimRewardsFor", - "outputs": [ - { - "internalType": "address[]", - "name": "rewardTokens_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "claimedAmounts_", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "decimals_", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "subtractedValue", - "type": "uint256" - } - ], - "name": "decreaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "deposit", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "depositTo", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_index", - "type": "uint256" - } - ], - "name": "getRewardTokenAtIndex", - "outputs": [ - { - "internalType": "address", - "name": "rewardToken_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getRewardTokenCount", - "outputs": [ - { - "internalType": "uint256", - "name": "count_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getRewardTokens", - "outputs": [ - { - "internalType": "address[]", - "name": "rewardTokens_", - "type": "address[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_rewardToken", - "type": "address" - } - ], - "name": "getTotalHarvestDataForRewardToken", - "outputs": [ - { - "components": [ - { - "internalType": "uint128", - "name": "integral", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "lastCheckpointBalance", - "type": "uint128" - } - ], - "internalType": "struct IStakingWrapper.TotalHarvestData", - "name": "totalHarvestData_", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_user", - "type": "address" - }, - { - "internalType": "address", - "name": "_rewardToken", - "type": "address" - } - ], - "name": "getUserHarvestDataForRewardToken", - "outputs": [ - { - "components": [ - { - "internalType": "uint128", - "name": "integral", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "claimableReward", - "type": "uint128" - } - ], - "internalType": "struct IStakingWrapper.UserHarvestData", - "name": "userHarvestData_", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "addedValue", - "type": "uint256" - } - ], - "name": "increaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "isPaused", - "outputs": [ - { - "internalType": "bool", - "name": "isPaused_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "name_", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "symbol_", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bool", - "name": "_isPaused", - "type": "bool" - } - ], - "name": "togglePause", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "_claimRewards", - "type": "bool" - } - ], - "name": "withdraw", - "outputs": [ - { - "internalType": "address[]", - "name": "rewardTokens_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "claimedAmounts_", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "_claimRewardsToHolder", - "type": "bool" - } - ], - "name": "withdrawTo", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_onBehalf", - "type": "address" - }, - { - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "_claimRewardsToHolder", - "type": "bool" - } - ], - "name": "withdrawToOnBehalf", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "allowance(address,address)": "dd62ed3e", - "approve(address,uint256)": "095ea7b3", - "balanceOf(address)": "70a08231", - "claimRewardsFor(address)": "1ac6d19d", - "decimals()": "313ce567", - "decreaseAllowance(address,uint256)": "a457c2d7", - "deposit(uint256)": "b6b55f25", - "depositTo(address,uint256)": "ffaad6a5", - "getRewardTokenAtIndex(uint256)": "a7d2793f", - "getRewardTokenCount()": "82e5d073", - "getRewardTokens()": "c4f59f9b", - "getTotalHarvestDataForRewardToken(address)": "9655dd61", - "getUserHarvestDataForRewardToken(address,address)": "093f6365", - "increaseAllowance(address,uint256)": "39509351", - "isPaused()": "b187bd26", - "name()": "06fdde03", - "symbol()": "95d89b41", - "togglePause(bool)": "57d159c6", - "totalSupply()": "18160ddd", - "transfer(address,uint256)": "a9059cbb", - "transferFrom(address,address,uint256)": "23b872dd", - "withdraw(uint256,bool)": "38d07436", - "withdrawTo(address,uint256,bool)": "73e2290c", - "withdrawToOnBehalf(address,address,uint256,bool)": "2cfafabe" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"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\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Deposited\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"isPaused\",\"type\":\"bool\"}],\"name\":\"PauseToggled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"RewardTokenAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"rewardTokens\",\"type\":\"address[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"claimedAmounts\",\"type\":\"uint256[]\"}],\"name\":\"RewardsClaimed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"TokenNameSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"}],\"name\":\"TokenSymbolSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"rewardToken\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"integral\",\"type\":\"uint256\"}],\"name\":\"TotalHarvestIntegralUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"rewardToken\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"lastCheckpointBalance\",\"type\":\"uint256\"}],\"name\":\"TotalHarvestLastCheckpointBalanceUpdated\",\"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\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"rewardToken\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"integral\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"claimableReward\",\"type\":\"uint256\"}],\"name\":\"UserHarvestUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"},{\"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\":\"Withdrawn\",\"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\":[{\"internalType\":\"address\",\"name\":\"_for\",\"type\":\"address\"}],\"name\":\"claimRewardsFor\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"rewardTokens_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"claimedAmounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"decimals_\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"deposit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"depositTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_index\",\"type\":\"uint256\"}],\"name\":\"getRewardTokenAtIndex\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"rewardToken_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRewardTokenCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"count_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRewardTokens\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"rewardTokens_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_rewardToken\",\"type\":\"address\"}],\"name\":\"getTotalHarvestDataForRewardToken\",\"outputs\":[{\"components\":[{\"internalType\":\"uint128\",\"name\":\"integral\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"lastCheckpointBalance\",\"type\":\"uint128\"}],\"internalType\":\"struct IStakingWrapper.TotalHarvestData\",\"name\":\"totalHarvestData_\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_rewardToken\",\"type\":\"address\"}],\"name\":\"getUserHarvestDataForRewardToken\",\"outputs\":[{\"components\":[{\"internalType\":\"uint128\",\"name\":\"integral\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"claimableReward\",\"type\":\"uint128\"}],\"internalType\":\"struct IStakingWrapper.UserHarvestData\",\"name\":\"userHarvestData_\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isPaused\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isPaused_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"name_\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"symbol_\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"_isPaused\",\"type\":\"bool\"}],\"name\":\"togglePause\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"_claimRewards\",\"type\":\"bool\"}],\"name\":\"withdraw\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"rewardTokens_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"claimedAmounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"_claimRewardsToHolder\",\"type\":\"bool\"}],\"name\":\"withdrawTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_onBehalf\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"_claimRewardsToHolder\",\"type\":\"bool\"}],\"name\":\"withdrawToOnBehalf\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"claimRewardsFor(address)\":{\"details\":\"Can be called off-chain to simulate the total harvestable rewards for a particular user\",\"params\":{\"_for\":\"The account for which to claim rewards\"},\"returns\":{\"claimedAmounts_\":\"The reward token amounts claimed\",\"rewardTokens_\":\"The reward tokens\"}},\"decimals()\":{\"details\":\"Implementing contracts should override to set different decimals\",\"returns\":{\"decimals_\":\"The token decimals\"}},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.\"},\"deposit(uint256)\":{\"params\":{\"_amount\":\"The amount of tokens to deposit\"}},\"depositTo(address,uint256)\":{\"params\":{\"_amount\":\"The amount of tokens to deposit\",\"_to\":\"The account to receive staking tokens\"}},\"getRewardTokenAtIndex(uint256)\":{\"returns\":{\"rewardToken_\":\"The reward token address\"}},\"getRewardTokenCount()\":{\"returns\":{\"count_\":\"The count\"}},\"getRewardTokens()\":{\"returns\":{\"rewardTokens_\":\"The reward tokens\"}},\"getTotalHarvestDataForRewardToken(address)\":{\"params\":{\"_rewardToken\":\"The reward token\"},\"returns\":{\"totalHarvestData_\":\"The TotalHarvestData\"}},\"getUserHarvestDataForRewardToken(address,address)\":{\"params\":{\"_rewardToken\":\"The reward token\",\"_user\":\"The account\"},\"returns\":{\"userHarvestData_\":\"The UserHarvestData\"}},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address.\"},\"isPaused()\":{\"returns\":{\"isPaused_\":\"True if paused\"}},\"name()\":{\"details\":\"Overrides the constructor-set storage for use in proxies\",\"returns\":{\"name_\":\"The token name\"}},\"symbol()\":{\"details\":\"Overrides the constructor-set storage for use in proxies\",\"returns\":{\"symbol_\":\"The token symbol\"}},\"togglePause(bool)\":{\"params\":{\"_isPaused\":\"True if next state is paused, false if unpaused\"}},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `recipient` cannot be the zero address. - the caller must have a balance of at least `amount`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. Requirements: - `sender` and `recipient` cannot be the zero address. - `sender` must have a balance of at least `amount`. - the caller must have allowance for ``sender``'s tokens of at least `amount`.\"},\"withdraw(uint256,bool)\":{\"details\":\"Setting `_claimRewards` to true will save gas over separate calls to withdraw + claim\",\"params\":{\"_amount\":\"The amount of tokens to withdraw\",\"_claimRewards\":\"True if accrued rewards should be claimed\"},\"returns\":{\"claimedAmounts_\":\"The reward token amounts claimed\",\"rewardTokens_\":\"The reward tokens\"}},\"withdrawTo(address,uint256,bool)\":{\"params\":{\"_amount\":\"The amount of tokens to withdraw\",\"_to\":\"The account to receive tokens\"}},\"withdrawToOnBehalf(address,address,uint256,bool)\":{\"details\":\"The caller must have an adequate ERC20.allowance() for _onBehalf\",\"params\":{\"_amount\":\"The amount of tokens to withdraw\",\"_onBehalf\":\"The account on behalf to withdraw\",\"_to\":\"The account to receive tokens\"}}},\"title\":\"StakingWrapperLibBase Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"claimRewardsFor(address)\":{\"notice\":\"Claims all rewards for a given account\"},\"decimals()\":{\"notice\":\"Gets the token decimals\"},\"deposit(uint256)\":{\"notice\":\"Deposits tokens to be staked, minting staking token to sender\"},\"depositTo(address,uint256)\":{\"notice\":\"Deposits tokens to be staked, minting staking token to a specified account\"},\"getRewardTokenAtIndex(uint256)\":{\"notice\":\"Gets the reward token at a particular index\"},\"getRewardTokenCount()\":{\"notice\":\"Gets the count of reward tokens being harvested\"},\"getRewardTokens()\":{\"notice\":\"Gets all reward tokens being harvested\"},\"getTotalHarvestDataForRewardToken(address)\":{\"notice\":\"Gets the TotalHarvestData for a specified reward token\"},\"getUserHarvestDataForRewardToken(address,address)\":{\"notice\":\"Gets the UserHarvestData for a specified account and reward token\"},\"isPaused()\":{\"notice\":\"Checks if deposits and new reward harvesting are paused\"},\"name()\":{\"notice\":\"Gets the token name\"},\"symbol()\":{\"notice\":\"Gets the token symbol\"},\"togglePause(bool)\":{\"notice\":\"Toggles pause for deposit and harvesting new rewards\"},\"withdraw(uint256,bool)\":{\"notice\":\"Withdraws staked tokens, returning tokens to the sender, and optionally claiming rewards\"},\"withdrawTo(address,uint256,bool)\":{\"notice\":\"Withdraws staked tokens, returning tokens to a specified account, and optionally claims rewards to the staked token holder\"},\"withdrawToOnBehalf(address,address,uint256,bool)\":{\"notice\":\"Withdraws staked tokens on behalf of AccountA, returning tokens to a specified AccountB, and optionally claims rewards to the staked token holder\"}},\"notice\":\"A staking wrapper base for proxy targets, extending StakingWrapperBase\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/infrastructure/staking-wrappers/StakingWrapperLibBase.sol\":\"StakingWrapperLibBase\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/infrastructure/staking-wrappers/IStakingWrapper.sol\":{\"keccak256\":\"0xaeb9aba4e74eb3243a85090fded7b157969cf83e1f4159b1da2f662a3e7b15be\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://92346911c044a54808d2d425fe58c6dc9594dfafb8d83496f6599e3bc23803d0\",\"dweb:/ipfs/QmYWf7yx9ZfUnP81K1hjvApthqNhpXzUhGuFBm4gX1aDRB\"]},\"contracts/release/infrastructure/staking-wrappers/StakingWrapperBase.sol\":{\"keccak256\":\"0x3e28050fbe625f1469701b231772ce321e719ddbce4f84b6caa1d8d634a4234a\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f0871b7d6b595e444e598f68751225a596d969267c289a465462fdeb67530fc8\",\"dweb:/ipfs/QmX2z5QGP3kpKx9ruGnZHYH5bDCD9sjRGTRhg9SRiowctg\"]},\"contracts/release/infrastructure/staking-wrappers/StakingWrapperLibBase.sol\":{\"keccak256\":\"0x94d4057419743d9354d77774e1e5279a5ed2fc70012ef28115357f9921bfb5be\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d1e461f460a0339cada6cdfb0107bde47d236b336fec0ed470235ce7928666bb\",\"dweb:/ipfs/QmcMzSrcWTKyqgBAACVCidd2dpMfbeUtcQYu4D1ASiyFzk\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]},\"node_modules/@openzeppelin/contracts/utils/ReentrancyGuard.sol\":{\"keccak256\":\"0x8bbbc2f5c10065ee272592ae0a7a6ceb23de2fbd81564ee0bb015ecf404d5f61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b95e56c1640d0ef789fc5c16269e141e992f6c8ac97cc6d377bd3825e9cab182\",\"dweb:/ipfs/QmVzaxJZY51EhagrcNnkxoU6Uq17RhATe7aHvtkC6wUkgK\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "spender", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "Approval", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "to", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "Deposited", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "bool", - "name": "isPaused", - "type": "bool", - "indexed": false - } - ], - "type": "event", - "name": "PauseToggled", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "token", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "RewardTokenAdded", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "caller", - "type": "address", - "indexed": false - }, - { - "internalType": "address", - "name": "user", - "type": "address", - "indexed": true - }, - { - "internalType": "address[]", - "name": "rewardTokens", - "type": "address[]", - "indexed": false - }, - { - "internalType": "uint256[]", - "name": "claimedAmounts", - "type": "uint256[]", - "indexed": false - } - ], - "type": "event", - "name": "RewardsClaimed", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "name", - "type": "string", - "indexed": false - } - ], - "type": "event", - "name": "TokenNameSet", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "symbol", - "type": "string", - "indexed": false - } - ], - "type": "event", - "name": "TokenSymbolSet", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "rewardToken", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "integral", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "TotalHarvestIntegralUpdated", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "rewardToken", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "lastCheckpointBalance", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "TotalHarvestLastCheckpointBalanceUpdated", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "to", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "Transfer", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "user", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "rewardToken", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "integral", - "type": "uint256", - "indexed": false - }, - { - "internalType": "uint256", - "name": "claimableReward", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "UserHarvestUpdated", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "caller", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "from", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "to", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "Withdrawn", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "internalType": "address", - "name": "spender", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_for", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "claimRewardsFor", - "outputs": [ - { - "internalType": "address[]", - "name": "rewardTokens_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "claimedAmounts_", - "type": "uint256[]" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "decimals_", - "type": "uint8" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "subtractedValue", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "decreaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "deposit" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "depositTo" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_index", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getRewardTokenAtIndex", - "outputs": [ - { - "internalType": "address", - "name": "rewardToken_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getRewardTokenCount", - "outputs": [ - { - "internalType": "uint256", - "name": "count_", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getRewardTokens", - "outputs": [ - { - "internalType": "address[]", - "name": "rewardTokens_", - "type": "address[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_rewardToken", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getTotalHarvestDataForRewardToken", - "outputs": [ - { - "internalType": "struct IStakingWrapper.TotalHarvestData", - "name": "totalHarvestData_", - "type": "tuple", - "components": [ - { - "internalType": "uint128", - "name": "integral", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "lastCheckpointBalance", - "type": "uint128" - } - ] - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_user", - "type": "address" - }, - { - "internalType": "address", - "name": "_rewardToken", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getUserHarvestDataForRewardToken", - "outputs": [ - { - "internalType": "struct IStakingWrapper.UserHarvestData", - "name": "userHarvestData_", - "type": "tuple", - "components": [ - { - "internalType": "uint128", - "name": "integral", - "type": "uint128" - }, - { - "internalType": "uint128", - "name": "claimableReward", - "type": "uint128" - } - ] - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "addedValue", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "increaseAllowance", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "isPaused", - "outputs": [ - { - "internalType": "bool", - "name": "isPaused_", - "type": "bool" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "name_", - "type": "string" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "symbol_", - "type": "string" - } - ] - }, - { - "inputs": [ - { - "internalType": "bool", - "name": "_isPaused", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "togglePause" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "_claimRewards", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "withdraw", - "outputs": [ - { - "internalType": "address[]", - "name": "rewardTokens_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "claimedAmounts_", - "type": "uint256[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "_claimRewardsToHolder", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "withdrawTo" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_onBehalf", - "type": "address" - }, - { - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "_claimRewardsToHolder", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "withdrawToOnBehalf" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "allowance(address,address)": { - "details": "See {IERC20-allowance}." - }, - "approve(address,uint256)": { - "details": "See {IERC20-approve}. Requirements: - `spender` cannot be the zero address." - }, - "balanceOf(address)": { - "details": "See {IERC20-balanceOf}." - }, - "claimRewardsFor(address)": { - "details": "Can be called off-chain to simulate the total harvestable rewards for a particular user", - "params": { - "_for": "The account for which to claim rewards" - }, - "returns": { - "claimedAmounts_": "The reward token amounts claimed", - "rewardTokens_": "The reward tokens" - } - }, - "decimals()": { - "details": "Implementing contracts should override to set different decimals", - "returns": { - "decimals_": "The token decimals" - } - }, - "decreaseAllowance(address,uint256)": { - "details": "Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`." - }, - "deposit(uint256)": { - "params": { - "_amount": "The amount of tokens to deposit" - } - }, - "depositTo(address,uint256)": { - "params": { - "_amount": "The amount of tokens to deposit", - "_to": "The account to receive staking tokens" - } - }, - "getRewardTokenAtIndex(uint256)": { - "returns": { - "rewardToken_": "The reward token address" - } - }, - "getRewardTokenCount()": { - "returns": { - "count_": "The count" - } - }, - "getRewardTokens()": { - "returns": { - "rewardTokens_": "The reward tokens" - } - }, - "getTotalHarvestDataForRewardToken(address)": { - "params": { - "_rewardToken": "The reward token" - }, - "returns": { - "totalHarvestData_": "The TotalHarvestData" - } - }, - "getUserHarvestDataForRewardToken(address,address)": { - "params": { - "_rewardToken": "The reward token", - "_user": "The account" - }, - "returns": { - "userHarvestData_": "The UserHarvestData" - } - }, - "increaseAllowance(address,uint256)": { - "details": "Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address." - }, - "isPaused()": { - "returns": { - "isPaused_": "True if paused" - } - }, - "name()": { - "details": "Overrides the constructor-set storage for use in proxies", - "returns": { - "name_": "The token name" - } - }, - "symbol()": { - "details": "Overrides the constructor-set storage for use in proxies", - "returns": { - "symbol_": "The token symbol" - } - }, - "togglePause(bool)": { - "params": { - "_isPaused": "True if next state is paused, false if unpaused" - } - }, - "totalSupply()": { - "details": "See {IERC20-totalSupply}." - }, - "transfer(address,uint256)": { - "details": "See {IERC20-transfer}. Requirements: - `recipient` cannot be the zero address. - the caller must have a balance of at least `amount`." - }, - "transferFrom(address,address,uint256)": { - "details": "See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. Requirements: - `sender` and `recipient` cannot be the zero address. - `sender` must have a balance of at least `amount`. - the caller must have allowance for ``sender``'s tokens of at least `amount`." - }, - "withdraw(uint256,bool)": { - "details": "Setting `_claimRewards` to true will save gas over separate calls to withdraw + claim", - "params": { - "_amount": "The amount of tokens to withdraw", - "_claimRewards": "True if accrued rewards should be claimed" - }, - "returns": { - "claimedAmounts_": "The reward token amounts claimed", - "rewardTokens_": "The reward tokens" - } - }, - "withdrawTo(address,uint256,bool)": { - "params": { - "_amount": "The amount of tokens to withdraw", - "_to": "The account to receive tokens" - } - }, - "withdrawToOnBehalf(address,address,uint256,bool)": { - "details": "The caller must have an adequate ERC20.allowance() for _onBehalf", - "params": { - "_amount": "The amount of tokens to withdraw", - "_onBehalf": "The account on behalf to withdraw", - "_to": "The account to receive tokens" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "claimRewardsFor(address)": { - "notice": "Claims all rewards for a given account" - }, - "decimals()": { - "notice": "Gets the token decimals" - }, - "deposit(uint256)": { - "notice": "Deposits tokens to be staked, minting staking token to sender" - }, - "depositTo(address,uint256)": { - "notice": "Deposits tokens to be staked, minting staking token to a specified account" - }, - "getRewardTokenAtIndex(uint256)": { - "notice": "Gets the reward token at a particular index" - }, - "getRewardTokenCount()": { - "notice": "Gets the count of reward tokens being harvested" - }, - "getRewardTokens()": { - "notice": "Gets all reward tokens being harvested" - }, - "getTotalHarvestDataForRewardToken(address)": { - "notice": "Gets the TotalHarvestData for a specified reward token" - }, - "getUserHarvestDataForRewardToken(address,address)": { - "notice": "Gets the UserHarvestData for a specified account and reward token" - }, - "isPaused()": { - "notice": "Checks if deposits and new reward harvesting are paused" - }, - "name()": { - "notice": "Gets the token name" - }, - "symbol()": { - "notice": "Gets the token symbol" - }, - "togglePause(bool)": { - "notice": "Toggles pause for deposit and harvesting new rewards" - }, - "withdraw(uint256,bool)": { - "notice": "Withdraws staked tokens, returning tokens to the sender, and optionally claiming rewards" - }, - "withdrawTo(address,uint256,bool)": { - "notice": "Withdraws staked tokens, returning tokens to a specified account, and optionally claims rewards to the staked token holder" - }, - "withdrawToOnBehalf(address,address,uint256,bool)": { - "notice": "Withdraws staked tokens on behalf of AccountA, returning tokens to a specified AccountB, and optionally claims rewards to the staked token holder" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/infrastructure/staking-wrappers/StakingWrapperLibBase.sol": "StakingWrapperLibBase" - }, - "libraries": {} - }, - "sources": { - "contracts/release/infrastructure/staking-wrappers/IStakingWrapper.sol": { - "keccak256": "0xaeb9aba4e74eb3243a85090fded7b157969cf83e1f4159b1da2f662a3e7b15be", - "urls": [ - "bzz-raw://92346911c044a54808d2d425fe58c6dc9594dfafb8d83496f6599e3bc23803d0", - "dweb:/ipfs/QmYWf7yx9ZfUnP81K1hjvApthqNhpXzUhGuFBm4gX1aDRB" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/staking-wrappers/StakingWrapperBase.sol": { - "keccak256": "0x3e28050fbe625f1469701b231772ce321e719ddbce4f84b6caa1d8d634a4234a", - "urls": [ - "bzz-raw://f0871b7d6b595e444e598f68751225a596d969267c289a465462fdeb67530fc8", - "dweb:/ipfs/QmX2z5QGP3kpKx9ruGnZHYH5bDCD9sjRGTRhg9SRiowctg" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/staking-wrappers/StakingWrapperLibBase.sol": { - "keccak256": "0x94d4057419743d9354d77774e1e5279a5ed2fc70012ef28115357f9921bfb5be", - "urls": [ - "bzz-raw://d1e461f460a0339cada6cdfb0107bde47d236b336fec0ed470235ce7928666bb", - "dweb:/ipfs/QmcMzSrcWTKyqgBAACVCidd2dpMfbeUtcQYu4D1ASiyFzk" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AddressArrayLib.sol": { - "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", - "urls": [ - "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", - "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { - "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", - "urls": [ - "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", - "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Address.sol": { - "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", - "urls": [ - "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", - "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/ReentrancyGuard.sol": { - "keccak256": "0x8bbbc2f5c10065ee272592ae0a7a6ceb23de2fbd81564ee0bb015ecf404d5f61", - "urls": [ - "bzz-raw://b95e56c1640d0ef789fc5c16269e141e992f6c8ac97cc6d377bd3825e9cab182", - "dweb:/ipfs/QmVzaxJZY51EhagrcNnkxoU6Uq17RhATe7aHvtkC6wUkgK" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 260 -} +{ "abi": [ { "type": "function", "name": "allowance", "inputs": [ { "name": "owner", "type": "address", "internalType": "address" }, { "name": "spender", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "approve", "inputs": [ { "name": "spender", "type": "address", "internalType": "address" }, { "name": "amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "balanceOf", "inputs": [ { "name": "account", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "claimRewardsFor", "inputs": [ { "name": "_for", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "rewardTokens_", "type": "address[]", "internalType": "address[]" }, { "name": "claimedAmounts_", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "decimals", "inputs": [], "outputs": [ { "name": "decimals_", "type": "uint8", "internalType": "uint8" } ], "stateMutability": "view" }, { "type": "function", "name": "decreaseAllowance", "inputs": [ { "name": "spender", "type": "address", "internalType": "address" }, { "name": "subtractedValue", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "deposit", "inputs": [ { "name": "_amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "depositTo", "inputs": [ { "name": "_to", "type": "address", "internalType": "address" }, { "name": "_amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "getRewardTokenAtIndex", "inputs": [ { "name": "_index", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "rewardToken_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getRewardTokenCount", "inputs": [], "outputs": [ { "name": "count_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "getRewardTokens", "inputs": [], "outputs": [ { "name": "rewardTokens_", "type": "address[]", "internalType": "address[]" } ], "stateMutability": "view" }, { "type": "function", "name": "getTotalHarvestDataForRewardToken", "inputs": [ { "name": "_rewardToken", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "totalHarvestData_", "type": "tuple", "internalType": "struct IStakingWrapper.TotalHarvestData", "components": [ { "name": "integral", "type": "uint128", "internalType": "uint128" }, { "name": "lastCheckpointBalance", "type": "uint128", "internalType": "uint128" } ] } ], "stateMutability": "view" }, { "type": "function", "name": "getUserHarvestDataForRewardToken", "inputs": [ { "name": "_user", "type": "address", "internalType": "address" }, { "name": "_rewardToken", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "userHarvestData_", "type": "tuple", "internalType": "struct IStakingWrapper.UserHarvestData", "components": [ { "name": "integral", "type": "uint128", "internalType": "uint128" }, { "name": "claimableReward", "type": "uint128", "internalType": "uint128" } ] } ], "stateMutability": "view" }, { "type": "function", "name": "increaseAllowance", "inputs": [ { "name": "spender", "type": "address", "internalType": "address" }, { "name": "addedValue", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "isPaused", "inputs": [], "outputs": [ { "name": "isPaused_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "name", "inputs": [], "outputs": [ { "name": "name_", "type": "string", "internalType": "string" } ], "stateMutability": "view" }, { "type": "function", "name": "symbol", "inputs": [], "outputs": [ { "name": "symbol_", "type": "string", "internalType": "string" } ], "stateMutability": "view" }, { "type": "function", "name": "togglePause", "inputs": [ { "name": "_isPaused", "type": "bool", "internalType": "bool" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "totalSupply", "inputs": [], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "transfer", "inputs": [ { "name": "recipient", "type": "address", "internalType": "address" }, { "name": "amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "transferFrom", "inputs": [ { "name": "sender", "type": "address", "internalType": "address" }, { "name": "recipient", "type": "address", "internalType": "address" }, { "name": "amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "withdraw", "inputs": [ { "name": "_amount", "type": "uint256", "internalType": "uint256" }, { "name": "_claimRewards", "type": "bool", "internalType": "bool" } ], "outputs": [ { "name": "rewardTokens_", "type": "address[]", "internalType": "address[]" }, { "name": "claimedAmounts_", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "withdrawTo", "inputs": [ { "name": "_to", "type": "address", "internalType": "address" }, { "name": "_amount", "type": "uint256", "internalType": "uint256" }, { "name": "_claimRewardsToHolder", "type": "bool", "internalType": "bool" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "withdrawToOnBehalf", "inputs": [ { "name": "_onBehalf", "type": "address", "internalType": "address" }, { "name": "_to", "type": "address", "internalType": "address" }, { "name": "_amount", "type": "uint256", "internalType": "uint256" }, { "name": "_claimRewardsToHolder", "type": "bool", "internalType": "bool" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "event", "name": "Approval", "inputs": [ { "name": "owner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "spender", "type": "address", "indexed": true, "internalType": "address" }, { "name": "value", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "Deposited", "inputs": [ { "name": "from", "type": "address", "indexed": true, "internalType": "address" }, { "name": "to", "type": "address", "indexed": true, "internalType": "address" }, { "name": "amount", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "PauseToggled", "inputs": [ { "name": "isPaused", "type": "bool", "indexed": false, "internalType": "bool" } ], "anonymous": false }, { "type": "event", "name": "RewardTokenAdded", "inputs": [ { "name": "token", "type": "address", "indexed": false, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "RewardsClaimed", "inputs": [ { "name": "caller", "type": "address", "indexed": false, "internalType": "address" }, { "name": "user", "type": "address", "indexed": true, "internalType": "address" }, { "name": "rewardTokens", "type": "address[]", "indexed": false, "internalType": "address[]" }, { "name": "claimedAmounts", "type": "uint256[]", "indexed": false, "internalType": "uint256[]" } ], "anonymous": false }, { "type": "event", "name": "TokenNameSet", "inputs": [ { "name": "name", "type": "string", "indexed": false, "internalType": "string" } ], "anonymous": false }, { "type": "event", "name": "TokenSymbolSet", "inputs": [ { "name": "symbol", "type": "string", "indexed": false, "internalType": "string" } ], "anonymous": false }, { "type": "event", "name": "TotalHarvestIntegralUpdated", "inputs": [ { "name": "rewardToken", "type": "address", "indexed": true, "internalType": "address" }, { "name": "integral", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "TotalHarvestLastCheckpointBalanceUpdated", "inputs": [ { "name": "rewardToken", "type": "address", "indexed": true, "internalType": "address" }, { "name": "lastCheckpointBalance", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "Transfer", "inputs": [ { "name": "from", "type": "address", "indexed": true, "internalType": "address" }, { "name": "to", "type": "address", "indexed": true, "internalType": "address" }, { "name": "value", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "UserHarvestUpdated", "inputs": [ { "name": "user", "type": "address", "indexed": true, "internalType": "address" }, { "name": "rewardToken", "type": "address", "indexed": true, "internalType": "address" }, { "name": "integral", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "claimableReward", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "Withdrawn", "inputs": [ { "name": "caller", "type": "address", "indexed": true, "internalType": "address" }, { "name": "from", "type": "address", "indexed": true, "internalType": "address" }, { "name": "to", "type": "address", "indexed": true, "internalType": "address" }, { "name": "amount", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "allowance(address,address)": "dd62ed3e", "approve(address,uint256)": "095ea7b3", "balanceOf(address)": "70a08231", "claimRewardsFor(address)": "1ac6d19d", "decimals()": "313ce567", "decreaseAllowance(address,uint256)": "a457c2d7", "deposit(uint256)": "b6b55f25", "depositTo(address,uint256)": "ffaad6a5", "getRewardTokenAtIndex(uint256)": "a7d2793f", "getRewardTokenCount()": "82e5d073", "getRewardTokens()": "c4f59f9b", "getTotalHarvestDataForRewardToken(address)": "9655dd61", "getUserHarvestDataForRewardToken(address,address)": "093f6365", "increaseAllowance(address,uint256)": "39509351", "isPaused()": "b187bd26", "name()": "06fdde03", "symbol()": "95d89b41", "togglePause(bool)": "57d159c6", "totalSupply()": "18160ddd", "transfer(address,uint256)": "a9059cbb", "transferFrom(address,address,uint256)": "23b872dd", "withdraw(uint256,bool)": "38d07436", "withdrawTo(address,uint256,bool)": "73e2290c", "withdrawToOnBehalf(address,address,uint256,bool)": "2cfafabe" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"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\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Deposited\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"isPaused\",\"type\":\"bool\"}],\"name\":\"PauseToggled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"RewardTokenAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"rewardTokens\",\"type\":\"address[]\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"claimedAmounts\",\"type\":\"uint256[]\"}],\"name\":\"RewardsClaimed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"TokenNameSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"}],\"name\":\"TokenSymbolSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"rewardToken\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"integral\",\"type\":\"uint256\"}],\"name\":\"TotalHarvestIntegralUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"rewardToken\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"lastCheckpointBalance\",\"type\":\"uint256\"}],\"name\":\"TotalHarvestLastCheckpointBalanceUpdated\",\"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\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"rewardToken\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"integral\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"claimableReward\",\"type\":\"uint256\"}],\"name\":\"UserHarvestUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"},{\"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\":\"Withdrawn\",\"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\":[{\"internalType\":\"address\",\"name\":\"_for\",\"type\":\"address\"}],\"name\":\"claimRewardsFor\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"rewardTokens_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"claimedAmounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"decimals_\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"deposit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"depositTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_index\",\"type\":\"uint256\"}],\"name\":\"getRewardTokenAtIndex\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"rewardToken_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRewardTokenCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"count_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRewardTokens\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"rewardTokens_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_rewardToken\",\"type\":\"address\"}],\"name\":\"getTotalHarvestDataForRewardToken\",\"outputs\":[{\"components\":[{\"internalType\":\"uint128\",\"name\":\"integral\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"lastCheckpointBalance\",\"type\":\"uint128\"}],\"internalType\":\"struct IStakingWrapper.TotalHarvestData\",\"name\":\"totalHarvestData_\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_rewardToken\",\"type\":\"address\"}],\"name\":\"getUserHarvestDataForRewardToken\",\"outputs\":[{\"components\":[{\"internalType\":\"uint128\",\"name\":\"integral\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"claimableReward\",\"type\":\"uint128\"}],\"internalType\":\"struct IStakingWrapper.UserHarvestData\",\"name\":\"userHarvestData_\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isPaused\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isPaused_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"name_\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"symbol_\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"_isPaused\",\"type\":\"bool\"}],\"name\":\"togglePause\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"_claimRewards\",\"type\":\"bool\"}],\"name\":\"withdraw\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"rewardTokens_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"claimedAmounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"_claimRewardsToHolder\",\"type\":\"bool\"}],\"name\":\"withdrawTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_onBehalf\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"_claimRewardsToHolder\",\"type\":\"bool\"}],\"name\":\"withdrawToOnBehalf\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"claimRewardsFor(address)\":{\"details\":\"Can be called off-chain to simulate the total harvestable rewards for a particular user\",\"params\":{\"_for\":\"The account for which to claim rewards\"},\"returns\":{\"claimedAmounts_\":\"The reward token amounts claimed\",\"rewardTokens_\":\"The reward tokens\"}},\"decimals()\":{\"details\":\"Implementing contracts should override to set different decimals\",\"returns\":{\"decimals_\":\"The token decimals\"}},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.\"},\"deposit(uint256)\":{\"params\":{\"_amount\":\"The amount of tokens to deposit\"}},\"depositTo(address,uint256)\":{\"params\":{\"_amount\":\"The amount of tokens to deposit\",\"_to\":\"The account to receive staking tokens\"}},\"getRewardTokenAtIndex(uint256)\":{\"returns\":{\"rewardToken_\":\"The reward token address\"}},\"getRewardTokenCount()\":{\"returns\":{\"count_\":\"The count\"}},\"getRewardTokens()\":{\"returns\":{\"rewardTokens_\":\"The reward tokens\"}},\"getTotalHarvestDataForRewardToken(address)\":{\"params\":{\"_rewardToken\":\"The reward token\"},\"returns\":{\"totalHarvestData_\":\"The TotalHarvestData\"}},\"getUserHarvestDataForRewardToken(address,address)\":{\"params\":{\"_rewardToken\":\"The reward token\",\"_user\":\"The account\"},\"returns\":{\"userHarvestData_\":\"The UserHarvestData\"}},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address.\"},\"isPaused()\":{\"returns\":{\"isPaused_\":\"True if paused\"}},\"name()\":{\"details\":\"Overrides the constructor-set storage for use in proxies\",\"returns\":{\"name_\":\"The token name\"}},\"symbol()\":{\"details\":\"Overrides the constructor-set storage for use in proxies\",\"returns\":{\"symbol_\":\"The token symbol\"}},\"togglePause(bool)\":{\"params\":{\"_isPaused\":\"True if next state is paused, false if unpaused\"}},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `recipient` cannot be the zero address. - the caller must have a balance of at least `amount`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. Requirements: - `sender` and `recipient` cannot be the zero address. - `sender` must have a balance of at least `amount`. - the caller must have allowance for ``sender``'s tokens of at least `amount`.\"},\"withdraw(uint256,bool)\":{\"details\":\"Setting `_claimRewards` to true will save gas over separate calls to withdraw + claim\",\"params\":{\"_amount\":\"The amount of tokens to withdraw\",\"_claimRewards\":\"True if accrued rewards should be claimed\"},\"returns\":{\"claimedAmounts_\":\"The reward token amounts claimed\",\"rewardTokens_\":\"The reward tokens\"}},\"withdrawTo(address,uint256,bool)\":{\"params\":{\"_amount\":\"The amount of tokens to withdraw\",\"_to\":\"The account to receive tokens\"}},\"withdrawToOnBehalf(address,address,uint256,bool)\":{\"details\":\"The caller must have an adequate ERC20.allowance() for _onBehalf\",\"params\":{\"_amount\":\"The amount of tokens to withdraw\",\"_onBehalf\":\"The account on behalf to withdraw\",\"_to\":\"The account to receive tokens\"}}},\"title\":\"StakingWrapperLibBase Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"claimRewardsFor(address)\":{\"notice\":\"Claims all rewards for a given account\"},\"decimals()\":{\"notice\":\"Gets the token decimals\"},\"deposit(uint256)\":{\"notice\":\"Deposits tokens to be staked, minting staking token to sender\"},\"depositTo(address,uint256)\":{\"notice\":\"Deposits tokens to be staked, minting staking token to a specified account\"},\"getRewardTokenAtIndex(uint256)\":{\"notice\":\"Gets the reward token at a particular index\"},\"getRewardTokenCount()\":{\"notice\":\"Gets the count of reward tokens being harvested\"},\"getRewardTokens()\":{\"notice\":\"Gets all reward tokens being harvested\"},\"getTotalHarvestDataForRewardToken(address)\":{\"notice\":\"Gets the TotalHarvestData for a specified reward token\"},\"getUserHarvestDataForRewardToken(address,address)\":{\"notice\":\"Gets the UserHarvestData for a specified account and reward token\"},\"isPaused()\":{\"notice\":\"Checks if deposits and new reward harvesting are paused\"},\"name()\":{\"notice\":\"Gets the token name\"},\"symbol()\":{\"notice\":\"Gets the token symbol\"},\"togglePause(bool)\":{\"notice\":\"Toggles pause for deposit and harvesting new rewards\"},\"withdraw(uint256,bool)\":{\"notice\":\"Withdraws staked tokens, returning tokens to the sender, and optionally claiming rewards\"},\"withdrawTo(address,uint256,bool)\":{\"notice\":\"Withdraws staked tokens, returning tokens to a specified account, and optionally claims rewards to the staked token holder\"},\"withdrawToOnBehalf(address,address,uint256,bool)\":{\"notice\":\"Withdraws staked tokens on behalf of AccountA, returning tokens to a specified AccountB, and optionally claims rewards to the staked token holder\"}},\"notice\":\"A staking wrapper base for proxy targets, extending StakingWrapperBase\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/infrastructure/staking-wrappers/StakingWrapperLibBase.sol\":\"StakingWrapperLibBase\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/infrastructure/staking-wrappers/IStakingWrapper.sol\":{\"keccak256\":\"0xaeb9aba4e74eb3243a85090fded7b157969cf83e1f4159b1da2f662a3e7b15be\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://92346911c044a54808d2d425fe58c6dc9594dfafb8d83496f6599e3bc23803d0\",\"dweb:/ipfs/QmYWf7yx9ZfUnP81K1hjvApthqNhpXzUhGuFBm4gX1aDRB\"]},\"contracts/release/infrastructure/staking-wrappers/StakingWrapperBase.sol\":{\"keccak256\":\"0x3e28050fbe625f1469701b231772ce321e719ddbce4f84b6caa1d8d634a4234a\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f0871b7d6b595e444e598f68751225a596d969267c289a465462fdeb67530fc8\",\"dweb:/ipfs/QmX2z5QGP3kpKx9ruGnZHYH5bDCD9sjRGTRhg9SRiowctg\"]},\"contracts/release/infrastructure/staking-wrappers/StakingWrapperLibBase.sol\":{\"keccak256\":\"0x94d4057419743d9354d77774e1e5279a5ed2fc70012ef28115357f9921bfb5be\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d1e461f460a0339cada6cdfb0107bde47d236b336fec0ed470235ce7928666bb\",\"dweb:/ipfs/QmcMzSrcWTKyqgBAACVCidd2dpMfbeUtcQYu4D1ASiyFzk\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]},\"node_modules/@openzeppelin/contracts/utils/ReentrancyGuard.sol\":{\"keccak256\":\"0x8bbbc2f5c10065ee272592ae0a7a6ceb23de2fbd81564ee0bb015ecf404d5f61\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b95e56c1640d0ef789fc5c16269e141e992f6c8ac97cc6d377bd3825e9cab182\",\"dweb:/ipfs/QmVzaxJZY51EhagrcNnkxoU6Uq17RhATe7aHvtkC6wUkgK\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "owner", "type": "address", "indexed": true }, { "internalType": "address", "name": "spender", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "value", "type": "uint256", "indexed": false } ], "type": "event", "name": "Approval", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address", "indexed": true }, { "internalType": "address", "name": "to", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "amount", "type": "uint256", "indexed": false } ], "type": "event", "name": "Deposited", "anonymous": false }, { "inputs": [ { "internalType": "bool", "name": "isPaused", "type": "bool", "indexed": false } ], "type": "event", "name": "PauseToggled", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "token", "type": "address", "indexed": false } ], "type": "event", "name": "RewardTokenAdded", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "caller", "type": "address", "indexed": false }, { "internalType": "address", "name": "user", "type": "address", "indexed": true }, { "internalType": "address[]", "name": "rewardTokens", "type": "address[]", "indexed": false }, { "internalType": "uint256[]", "name": "claimedAmounts", "type": "uint256[]", "indexed": false } ], "type": "event", "name": "RewardsClaimed", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "name", "type": "string", "indexed": false } ], "type": "event", "name": "TokenNameSet", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "symbol", "type": "string", "indexed": false } ], "type": "event", "name": "TokenSymbolSet", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "rewardToken", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "integral", "type": "uint256", "indexed": false } ], "type": "event", "name": "TotalHarvestIntegralUpdated", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "rewardToken", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "lastCheckpointBalance", "type": "uint256", "indexed": false } ], "type": "event", "name": "TotalHarvestLastCheckpointBalanceUpdated", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address", "indexed": true }, { "internalType": "address", "name": "to", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "value", "type": "uint256", "indexed": false } ], "type": "event", "name": "Transfer", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "user", "type": "address", "indexed": true }, { "internalType": "address", "name": "rewardToken", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "integral", "type": "uint256", "indexed": false }, { "internalType": "uint256", "name": "claimableReward", "type": "uint256", "indexed": false } ], "type": "event", "name": "UserHarvestUpdated", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "caller", "type": "address", "indexed": true }, { "internalType": "address", "name": "from", "type": "address", "indexed": true }, { "internalType": "address", "name": "to", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "amount", "type": "uint256", "indexed": false } ], "type": "event", "name": "Withdrawn", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "_for", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "claimRewardsFor", "outputs": [ { "internalType": "address[]", "name": "rewardTokens_", "type": "address[]" }, { "internalType": "uint256[]", "name": "claimedAmounts_", "type": "uint256[]" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "decimals_", "type": "uint8" } ] }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "subtractedValue", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "decreaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "deposit" }, { "inputs": [ { "internalType": "address", "name": "_to", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "depositTo" }, { "inputs": [ { "internalType": "uint256", "name": "_index", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "getRewardTokenAtIndex", "outputs": [ { "internalType": "address", "name": "rewardToken_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getRewardTokenCount", "outputs": [ { "internalType": "uint256", "name": "count_", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getRewardTokens", "outputs": [ { "internalType": "address[]", "name": "rewardTokens_", "type": "address[]" } ] }, { "inputs": [ { "internalType": "address", "name": "_rewardToken", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getTotalHarvestDataForRewardToken", "outputs": [ { "internalType": "struct IStakingWrapper.TotalHarvestData", "name": "totalHarvestData_", "type": "tuple", "components": [ { "internalType": "uint128", "name": "integral", "type": "uint128" }, { "internalType": "uint128", "name": "lastCheckpointBalance", "type": "uint128" } ] } ] }, { "inputs": [ { "internalType": "address", "name": "_user", "type": "address" }, { "internalType": "address", "name": "_rewardToken", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getUserHarvestDataForRewardToken", "outputs": [ { "internalType": "struct IStakingWrapper.UserHarvestData", "name": "userHarvestData_", "type": "tuple", "components": [ { "internalType": "uint128", "name": "integral", "type": "uint128" }, { "internalType": "uint128", "name": "claimableReward", "type": "uint128" } ] } ] }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "addedValue", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "increaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "isPaused", "outputs": [ { "internalType": "bool", "name": "isPaused_", "type": "bool" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "name", "outputs": [ { "internalType": "string", "name": "name_", "type": "string" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "symbol", "outputs": [ { "internalType": "string", "name": "symbol_", "type": "string" } ] }, { "inputs": [ { "internalType": "bool", "name": "_isPaused", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function", "name": "togglePause" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_amount", "type": "uint256" }, { "internalType": "bool", "name": "_claimRewards", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function", "name": "withdraw", "outputs": [ { "internalType": "address[]", "name": "rewardTokens_", "type": "address[]" }, { "internalType": "uint256[]", "name": "claimedAmounts_", "type": "uint256[]" } ] }, { "inputs": [ { "internalType": "address", "name": "_to", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" }, { "internalType": "bool", "name": "_claimRewardsToHolder", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function", "name": "withdrawTo" }, { "inputs": [ { "internalType": "address", "name": "_onBehalf", "type": "address" }, { "internalType": "address", "name": "_to", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" }, { "internalType": "bool", "name": "_claimRewardsToHolder", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function", "name": "withdrawToOnBehalf" } ], "devdoc": { "kind": "dev", "methods": { "allowance(address,address)": { "details": "See {IERC20-allowance}." }, "approve(address,uint256)": { "details": "See {IERC20-approve}. Requirements: - `spender` cannot be the zero address." }, "balanceOf(address)": { "details": "See {IERC20-balanceOf}." }, "claimRewardsFor(address)": { "details": "Can be called off-chain to simulate the total harvestable rewards for a particular user", "params": { "_for": "The account for which to claim rewards" }, "returns": { "claimedAmounts_": "The reward token amounts claimed", "rewardTokens_": "The reward tokens" } }, "decimals()": { "details": "Implementing contracts should override to set different decimals", "returns": { "decimals_": "The token decimals" } }, "decreaseAllowance(address,uint256)": { "details": "Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`." }, "deposit(uint256)": { "params": { "_amount": "The amount of tokens to deposit" } }, "depositTo(address,uint256)": { "params": { "_amount": "The amount of tokens to deposit", "_to": "The account to receive staking tokens" } }, "getRewardTokenAtIndex(uint256)": { "returns": { "rewardToken_": "The reward token address" } }, "getRewardTokenCount()": { "returns": { "count_": "The count" } }, "getRewardTokens()": { "returns": { "rewardTokens_": "The reward tokens" } }, "getTotalHarvestDataForRewardToken(address)": { "params": { "_rewardToken": "The reward token" }, "returns": { "totalHarvestData_": "The TotalHarvestData" } }, "getUserHarvestDataForRewardToken(address,address)": { "params": { "_rewardToken": "The reward token", "_user": "The account" }, "returns": { "userHarvestData_": "The UserHarvestData" } }, "increaseAllowance(address,uint256)": { "details": "Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address." }, "isPaused()": { "returns": { "isPaused_": "True if paused" } }, "name()": { "details": "Overrides the constructor-set storage for use in proxies", "returns": { "name_": "The token name" } }, "symbol()": { "details": "Overrides the constructor-set storage for use in proxies", "returns": { "symbol_": "The token symbol" } }, "togglePause(bool)": { "params": { "_isPaused": "True if next state is paused, false if unpaused" } }, "totalSupply()": { "details": "See {IERC20-totalSupply}." }, "transfer(address,uint256)": { "details": "See {IERC20-transfer}. Requirements: - `recipient` cannot be the zero address. - the caller must have a balance of at least `amount`." }, "transferFrom(address,address,uint256)": { "details": "See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. Requirements: - `sender` and `recipient` cannot be the zero address. - `sender` must have a balance of at least `amount`. - the caller must have allowance for ``sender``'s tokens of at least `amount`." }, "withdraw(uint256,bool)": { "details": "Setting `_claimRewards` to true will save gas over separate calls to withdraw + claim", "params": { "_amount": "The amount of tokens to withdraw", "_claimRewards": "True if accrued rewards should be claimed" }, "returns": { "claimedAmounts_": "The reward token amounts claimed", "rewardTokens_": "The reward tokens" } }, "withdrawTo(address,uint256,bool)": { "params": { "_amount": "The amount of tokens to withdraw", "_to": "The account to receive tokens" } }, "withdrawToOnBehalf(address,address,uint256,bool)": { "details": "The caller must have an adequate ERC20.allowance() for _onBehalf", "params": { "_amount": "The amount of tokens to withdraw", "_onBehalf": "The account on behalf to withdraw", "_to": "The account to receive tokens" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "claimRewardsFor(address)": { "notice": "Claims all rewards for a given account" }, "decimals()": { "notice": "Gets the token decimals" }, "deposit(uint256)": { "notice": "Deposits tokens to be staked, minting staking token to sender" }, "depositTo(address,uint256)": { "notice": "Deposits tokens to be staked, minting staking token to a specified account" }, "getRewardTokenAtIndex(uint256)": { "notice": "Gets the reward token at a particular index" }, "getRewardTokenCount()": { "notice": "Gets the count of reward tokens being harvested" }, "getRewardTokens()": { "notice": "Gets all reward tokens being harvested" }, "getTotalHarvestDataForRewardToken(address)": { "notice": "Gets the TotalHarvestData for a specified reward token" }, "getUserHarvestDataForRewardToken(address,address)": { "notice": "Gets the UserHarvestData for a specified account and reward token" }, "isPaused()": { "notice": "Checks if deposits and new reward harvesting are paused" }, "name()": { "notice": "Gets the token name" }, "symbol()": { "notice": "Gets the token symbol" }, "togglePause(bool)": { "notice": "Toggles pause for deposit and harvesting new rewards" }, "withdraw(uint256,bool)": { "notice": "Withdraws staked tokens, returning tokens to the sender, and optionally claiming rewards" }, "withdrawTo(address,uint256,bool)": { "notice": "Withdraws staked tokens, returning tokens to a specified account, and optionally claims rewards to the staked token holder" }, "withdrawToOnBehalf(address,address,uint256,bool)": { "notice": "Withdraws staked tokens on behalf of AccountA, returning tokens to a specified AccountB, and optionally claims rewards to the staked token holder" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/infrastructure/staking-wrappers/StakingWrapperLibBase.sol": "StakingWrapperLibBase" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/infrastructure/staking-wrappers/IStakingWrapper.sol": { "keccak256": "0xaeb9aba4e74eb3243a85090fded7b157969cf83e1f4159b1da2f662a3e7b15be", "urls": [ "bzz-raw://92346911c044a54808d2d425fe58c6dc9594dfafb8d83496f6599e3bc23803d0", "dweb:/ipfs/QmYWf7yx9ZfUnP81K1hjvApthqNhpXzUhGuFBm4gX1aDRB" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/staking-wrappers/StakingWrapperBase.sol": { "keccak256": "0x3e28050fbe625f1469701b231772ce321e719ddbce4f84b6caa1d8d634a4234a", "urls": [ "bzz-raw://f0871b7d6b595e444e598f68751225a596d969267c289a465462fdeb67530fc8", "dweb:/ipfs/QmX2z5QGP3kpKx9ruGnZHYH5bDCD9sjRGTRhg9SRiowctg" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/staking-wrappers/StakingWrapperLibBase.sol": { "keccak256": "0x94d4057419743d9354d77774e1e5279a5ed2fc70012ef28115357f9921bfb5be", "urls": [ "bzz-raw://d1e461f460a0339cada6cdfb0107bde47d236b336fec0ed470235ce7928666bb", "dweb:/ipfs/QmcMzSrcWTKyqgBAACVCidd2dpMfbeUtcQYu4D1ASiyFzk" ], "license": "GPL-3.0" }, "contracts/release/utils/AddressArrayLib.sol": { "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", "urls": [ "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", "urls": [ "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Address.sol": { "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", "urls": [ "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/ReentrancyGuard.sol": { "keccak256": "0x8bbbc2f5c10065ee272592ae0a7a6ceb23de2fbd81564ee0bb015ecf404d5f61", "urls": [ "bzz-raw://b95e56c1640d0ef789fc5c16269e141e992f6c8ac97cc6d377bd3825e9cab182", "dweb:/ipfs/QmVzaxJZY51EhagrcNnkxoU6Uq17RhATe7aHvtkC6wUkgK" ], "license": "MIT" } }, "version": 1 }, "id": 260 } diff --git a/eth_defi/abi/enzyme/Strings.json b/eth_defi/abi/enzyme/Strings.json index 89c60c60..6e6e02fd 100644 --- a/eth_defi/abi/enzyme/Strings.json +++ b/eth_defi/abi/enzyme/Strings.json @@ -1,78 +1 @@ -{ - "abi": [], - "bytecode": { - "object": "0x602d6023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c6343000706000a", - "sourceMap": "93:836:23:-:0;;;;;;;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c6343000706000a", - "sourceMap": "93:836:23:-:0;;;;;;;;", - "linkReferences": {} - }, - "methodIdentifiers": {}, - "rawMetadata": "{\"compiler\":{\"version\":\"0.7.6+commit.7338295f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"String operations.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@openzeppelin-solc-0.7/contracts/utils/Strings.sol\":\"Strings\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"node_modules/@openzeppelin-solc-0.7/contracts/utils/Strings.sol\":{\"keccak256\":\"0x08e38e034333372aea8cb1b8846085b7fbab42c6b77a0af464d2c6827827c4f0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://22746e9348187309fb4fbd3f79f6ad88787103eac10f24bd18f67257fafdd8ad\",\"dweb:/ipfs/QmSLXfXg8b27Xstq58DFGvCpqgtTqpfrGbLMq19PtEKQJS\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.7.6+commit.7338295f" - }, - "language": "Solidity", - "output": { - "abi": [], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "node_modules/@openzeppelin-solc-0.7/contracts/utils/Strings.sol": "Strings" - }, - "libraries": {} - }, - "sources": { - "node_modules/@openzeppelin-solc-0.7/contracts/utils/Strings.sol": { - "keccak256": "0x08e38e034333372aea8cb1b8846085b7fbab42c6b77a0af464d2c6827827c4f0", - "urls": [ - "bzz-raw://22746e9348187309fb4fbd3f79f6ad88787103eac10f24bd18f67257fafdd8ad", - "dweb:/ipfs/QmSLXfXg8b27Xstq58DFGvCpqgtTqpfrGbLMq19PtEKQJS" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 23 -} +{ "abi": [], "bytecode": { "object": "0x602d6023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c6343000706000a", "sourceMap": "93:836:23:-:0;;;;;;;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c6343000706000a", "sourceMap": "93:836:23:-:0;;;;;;;;", "linkReferences": {} }, "methodIdentifiers": {}, "rawMetadata": "{\"compiler\":{\"version\":\"0.7.6+commit.7338295f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"String operations.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@openzeppelin-solc-0.7/contracts/utils/Strings.sol\":\"Strings\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"node_modules/@openzeppelin-solc-0.7/contracts/utils/Strings.sol\":{\"keccak256\":\"0x08e38e034333372aea8cb1b8846085b7fbab42c6b77a0af464d2c6827827c4f0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://22746e9348187309fb4fbd3f79f6ad88787103eac10f24bd18f67257fafdd8ad\",\"dweb:/ipfs/QmSLXfXg8b27Xstq58DFGvCpqgtTqpfrGbLMq19PtEKQJS\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.7.6+commit.7338295f" }, "language": "Solidity", "output": { "abi": [], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "node_modules/@openzeppelin-solc-0.7/contracts/utils/Strings.sol": "Strings" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "node_modules/@openzeppelin-solc-0.7/contracts/utils/Strings.sol": { "keccak256": "0x08e38e034333372aea8cb1b8846085b7fbab42c6b77a0af464d2c6827827c4f0", "urls": [ "bzz-raw://22746e9348187309fb4fbd3f79f6ad88787103eac10f24bd18f67257fafdd8ad", "dweb:/ipfs/QmSLXfXg8b27Xstq58DFGvCpqgtTqpfrGbLMq19PtEKQJS" ], "license": "MIT" } }, "version": 1 }, "id": 23 } diff --git a/eth_defi/abi/enzyme/SwapperBase.json b/eth_defi/abi/enzyme/SwapperBase.json index 1bd9f472..0018037c 100644 --- a/eth_defi/abi/enzyme/SwapperBase.json +++ b/eth_defi/abi/enzyme/SwapperBase.json @@ -1,173 +1 @@ -{ - "abi": [ - { - "inputs": [], - "name": "ETH_ADDRESS", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "stateMutability": "payable", - "type": "receive" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "ETH_ADDRESS()": "a734f06e" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"ETH_ADDRESS\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/mocks/utils/SwapperBase.sol\":\"SwapperBase\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/mocks/utils/EthConstantMixin.sol\":{\"keccak256\":\"0x3970888dcaec9b20f4fe5910225221dbea5582cff9908f391ff7bf30f3e8c27b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1e99ecbe6188f2ec0a650634fa22e93e41786d55c67083a5672e71f755fb7018\",\"dweb:/ipfs/QmXbBTuMQMED2u97L8wZbNZuJ1hTmhFWbDUusuBNYVTh3o\"]},\"contracts/mocks/utils/SwapperBase.sol\":{\"keccak256\":\"0xa330eeda8fa3df9dfbfd56cb712dd7bf2046c22219bca5353c948ab53658b55c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f5781710434f9d8ecc997ecc98ac78a7995a9ecbf5f9be64a0fd39b771cf4323\",\"dweb:/ipfs/QmXZStbD7eurfnGfZ3jAJAdSwDoE4o3Uyy2b7dgmY2wB3Z\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "ETH_ADDRESS", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "payable", - "type": "receive" - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/mocks/utils/SwapperBase.sol": "SwapperBase" - }, - "libraries": {} - }, - "sources": { - "contracts/mocks/utils/EthConstantMixin.sol": { - "keccak256": "0x3970888dcaec9b20f4fe5910225221dbea5582cff9908f391ff7bf30f3e8c27b", - "urls": [ - "bzz-raw://1e99ecbe6188f2ec0a650634fa22e93e41786d55c67083a5672e71f755fb7018", - "dweb:/ipfs/QmXbBTuMQMED2u97L8wZbNZuJ1hTmhFWbDUusuBNYVTh3o" - ], - "license": "GPL-3.0" - }, - "contracts/mocks/utils/SwapperBase.sol": { - "keccak256": "0xa330eeda8fa3df9dfbfd56cb712dd7bf2046c22219bca5353c948ab53658b55c", - "urls": [ - "bzz-raw://f5781710434f9d8ecc997ecc98ac78a7995a9ecbf5f9be64a0fd39b771cf4323", - "dweb:/ipfs/QmXZStbD7eurfnGfZ3jAJAdSwDoE4o3Uyy2b7dgmY2wB3Z" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { - "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", - "urls": [ - "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", - "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Address.sol": { - "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", - "urls": [ - "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", - "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 9 -} +{ "abi": [ { "type": "receive", "stateMutability": "payable" }, { "type": "function", "name": "ETH_ADDRESS", "inputs": [], "outputs": [ { "name": "", "type": "address", "internalType": "address" } ], "stateMutability": "view" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "ETH_ADDRESS()": "a734f06e" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"ETH_ADDRESS\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/mocks/utils/SwapperBase.sol\":\"SwapperBase\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/mocks/utils/EthConstantMixin.sol\":{\"keccak256\":\"0x3970888dcaec9b20f4fe5910225221dbea5582cff9908f391ff7bf30f3e8c27b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1e99ecbe6188f2ec0a650634fa22e93e41786d55c67083a5672e71f755fb7018\",\"dweb:/ipfs/QmXbBTuMQMED2u97L8wZbNZuJ1hTmhFWbDUusuBNYVTh3o\"]},\"contracts/mocks/utils/SwapperBase.sol\":{\"keccak256\":\"0xa330eeda8fa3df9dfbfd56cb712dd7bf2046c22219bca5353c948ab53658b55c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f5781710434f9d8ecc997ecc98ac78a7995a9ecbf5f9be64a0fd39b771cf4323\",\"dweb:/ipfs/QmXZStbD7eurfnGfZ3jAJAdSwDoE4o3Uyy2b7dgmY2wB3Z\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [], "stateMutability": "view", "type": "function", "name": "ETH_ADDRESS", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ] }, { "inputs": [], "stateMutability": "payable", "type": "receive" } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/mocks/utils/SwapperBase.sol": "SwapperBase" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/mocks/utils/EthConstantMixin.sol": { "keccak256": "0x3970888dcaec9b20f4fe5910225221dbea5582cff9908f391ff7bf30f3e8c27b", "urls": [ "bzz-raw://1e99ecbe6188f2ec0a650634fa22e93e41786d55c67083a5672e71f755fb7018", "dweb:/ipfs/QmXbBTuMQMED2u97L8wZbNZuJ1hTmhFWbDUusuBNYVTh3o" ], "license": "GPL-3.0" }, "contracts/mocks/utils/SwapperBase.sol": { "keccak256": "0xa330eeda8fa3df9dfbfd56cb712dd7bf2046c22219bca5353c948ab53658b55c", "urls": [ "bzz-raw://f5781710434f9d8ecc997ecc98ac78a7995a9ecbf5f9be64a0fd39b771cf4323", "dweb:/ipfs/QmXZStbD7eurfnGfZ3jAJAdSwDoE4o3Uyy2b7dgmY2wB3Z" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", "urls": [ "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Address.sol": { "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", "urls": [ "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" } }, "version": 1 }, "id": 9 } diff --git a/eth_defi/abi/enzyme/SynthetixActionsMixin.json b/eth_defi/abi/enzyme/SynthetixActionsMixin.json index 4f9463cc..7dddeffe 100644 --- a/eth_defi/abi/enzyme/SynthetixActionsMixin.json +++ b/eth_defi/abi/enzyme/SynthetixActionsMixin.json @@ -1,363 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_originator", - "type": "address" - }, - { - "internalType": "address", - "name": "_redeemer", - "type": "address" - }, - { - "internalType": "address", - "name": "_synthetix", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "_trackingCode", - "type": "bytes32" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "name": "getSynthetix", - "outputs": [ - { - "internalType": "address", - "name": "synthetix_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getSynthetixOriginator", - "outputs": [ - { - "internalType": "address", - "name": "synthetixOriginator_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getSynthetixRedeemer", - "outputs": [ - { - "internalType": "address", - "name": "synthetixRedeemer_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getSynthetixTrackingCode", - "outputs": [ - { - "internalType": "bytes32", - "name": "synthetixTrackingCode_", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "getSynthetix()": "90956d99", - "getSynthetixOriginator()": "f3863b97", - "getSynthetixRedeemer()": "71dca19b", - "getSynthetixTrackingCode()": "7b0f0a57" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_redeemer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_synthetix\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"_trackingCode\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"getSynthetix\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"synthetix_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getSynthetixOriginator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"synthetixOriginator_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getSynthetixRedeemer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"synthetixRedeemer_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getSynthetixTrackingCode\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"synthetixTrackingCode_\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"getSynthetix()\":{\"returns\":{\"synthetix_\":\"The `SYNTHETIX` variable value\"}},\"getSynthetixOriginator()\":{\"returns\":{\"synthetixOriginator_\":\"The `SYNTHETIX_ORIGINATOR` variable value\"}},\"getSynthetixRedeemer()\":{\"returns\":{\"synthetixRedeemer_\":\"The `SYNTHETIX_REDEEMER` variable value\"}},\"getSynthetixTrackingCode()\":{\"returns\":{\"synthetixTrackingCode_\":\"The `SYNTHETIX_TRACKING_CODE` variable value\"}}},\"title\":\"SynthetixActionsMixin Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getSynthetix()\":{\"notice\":\"Gets the `SYNTHETIX` variable\"},\"getSynthetixOriginator()\":{\"notice\":\"Gets the `SYNTHETIX_ORIGINATOR` variable\"},\"getSynthetixRedeemer()\":{\"notice\":\"Gets the `SYNTHETIX_REDEEMER` variable\"},\"getSynthetixTrackingCode()\":{\"notice\":\"Gets the `SYNTHETIX_TRACKING_CODE` variable\"}},\"notice\":\"Mixin contract for interacting with the Synthetix exchange functions\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/integration-manager/integrations/utils/actions/SynthetixActionsMixin.sol\":\"SynthetixActionsMixin\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/integration-manager/integrations/utils/actions/SynthetixActionsMixin.sol\":{\"keccak256\":\"0xcb463c92ee424cdf16a0e841968939274a39fcdeab1a0b119232e2540ea3ea0c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://fc93e10d71b31eb06527fbcc7e9cc5cc7bc1f6bffa17833c58e1ed693fcc38f6\",\"dweb:/ipfs/Qmegov8rbwu9hVdooJrBFzxGmKSLiSJHb9Toxy8b4amVdU\"]},\"contracts/release/interfaces/ISynthetix.sol\":{\"keccak256\":\"0x6e90f409738433ba404b21e7593efb37786cceea8740113ab608da9fd53c6db8\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://16212cd905d2b1552d64b9bb223195c99142d3d89108a0f0e22016e4521ca7db\",\"dweb:/ipfs/QmbbHnYkquBT2z8JWexZxjDxCJQK6ogsT5pdyZXxwoWsoK\"]},\"contracts/release/interfaces/ISynthetixProxyERC20.sol\":{\"keccak256\":\"0x32714bb006e6861aece8fe1a5e3862e0b5562bd7a482ab80f0330f2c0bbc5da6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://18cec76d589d9d1057d77fd111100c56f53118b41d9cfa861f61a746abbd7b60\",\"dweb:/ipfs/QmXt67NWo88Qt4aHTtxZcTLStchwsVoTeuf3tqPwK5jjn7\"]},\"contracts/release/interfaces/ISynthetixRedeemer.sol\":{\"keccak256\":\"0xd2da4586a6de782c91bdf602f5f2cc408c080e42ad5023b5cc42f04eedb43238\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://22625ee876bf58a980ff7fd5a974d7c3ac2608d652ad044b05cf0799cb902817\",\"dweb:/ipfs/QmSAL2Q8wEXmA8B7Pxof8LUtbnXWiBpuVz5kFuFqdMeQvR\"]},\"contracts/release/interfaces/ISynthetixSynth.sol\":{\"keccak256\":\"0xfad43b0fead48317fd90bfc3874d1511dc0de094764981467fa4cded78b39108\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://15edd80eee695ea75a22bdc7b2d8478d2f80bf7efacebaf113981c7787ea4717\",\"dweb:/ipfs/QmcRZWGhbM3UTwAEvHxBz1e9MPXcsDXUQRUYzpEecGTBwM\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_originator", - "type": "address" - }, - { - "internalType": "address", - "name": "_redeemer", - "type": "address" - }, - { - "internalType": "address", - "name": "_synthetix", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "_trackingCode", - "type": "bytes32" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getSynthetix", - "outputs": [ - { - "internalType": "address", - "name": "synthetix_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getSynthetixOriginator", - "outputs": [ - { - "internalType": "address", - "name": "synthetixOriginator_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getSynthetixRedeemer", - "outputs": [ - { - "internalType": "address", - "name": "synthetixRedeemer_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getSynthetixTrackingCode", - "outputs": [ - { - "internalType": "bytes32", - "name": "synthetixTrackingCode_", - "type": "bytes32" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "getSynthetix()": { - "returns": { - "synthetix_": "The `SYNTHETIX` variable value" - } - }, - "getSynthetixOriginator()": { - "returns": { - "synthetixOriginator_": "The `SYNTHETIX_ORIGINATOR` variable value" - } - }, - "getSynthetixRedeemer()": { - "returns": { - "synthetixRedeemer_": "The `SYNTHETIX_REDEEMER` variable value" - } - }, - "getSynthetixTrackingCode()": { - "returns": { - "synthetixTrackingCode_": "The `SYNTHETIX_TRACKING_CODE` variable value" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "getSynthetix()": { - "notice": "Gets the `SYNTHETIX` variable" - }, - "getSynthetixOriginator()": { - "notice": "Gets the `SYNTHETIX_ORIGINATOR` variable" - }, - "getSynthetixRedeemer()": { - "notice": "Gets the `SYNTHETIX_REDEEMER` variable" - }, - "getSynthetixTrackingCode()": { - "notice": "Gets the `SYNTHETIX_TRACKING_CODE` variable" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/integration-manager/integrations/utils/actions/SynthetixActionsMixin.sol": "SynthetixActionsMixin" - }, - "libraries": {} - }, - "sources": { - "contracts/release/extensions/integration-manager/integrations/utils/actions/SynthetixActionsMixin.sol": { - "keccak256": "0xcb463c92ee424cdf16a0e841968939274a39fcdeab1a0b119232e2540ea3ea0c", - "urls": [ - "bzz-raw://fc93e10d71b31eb06527fbcc7e9cc5cc7bc1f6bffa17833c58e1ed693fcc38f6", - "dweb:/ipfs/Qmegov8rbwu9hVdooJrBFzxGmKSLiSJHb9Toxy8b4amVdU" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/ISynthetix.sol": { - "keccak256": "0x6e90f409738433ba404b21e7593efb37786cceea8740113ab608da9fd53c6db8", - "urls": [ - "bzz-raw://16212cd905d2b1552d64b9bb223195c99142d3d89108a0f0e22016e4521ca7db", - "dweb:/ipfs/QmbbHnYkquBT2z8JWexZxjDxCJQK6ogsT5pdyZXxwoWsoK" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/ISynthetixProxyERC20.sol": { - "keccak256": "0x32714bb006e6861aece8fe1a5e3862e0b5562bd7a482ab80f0330f2c0bbc5da6", - "urls": [ - "bzz-raw://18cec76d589d9d1057d77fd111100c56f53118b41d9cfa861f61a746abbd7b60", - "dweb:/ipfs/QmXt67NWo88Qt4aHTtxZcTLStchwsVoTeuf3tqPwK5jjn7" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/ISynthetixRedeemer.sol": { - "keccak256": "0xd2da4586a6de782c91bdf602f5f2cc408c080e42ad5023b5cc42f04eedb43238", - "urls": [ - "bzz-raw://22625ee876bf58a980ff7fd5a974d7c3ac2608d652ad044b05cf0799cb902817", - "dweb:/ipfs/QmSAL2Q8wEXmA8B7Pxof8LUtbnXWiBpuVz5kFuFqdMeQvR" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/ISynthetixSynth.sol": { - "keccak256": "0xfad43b0fead48317fd90bfc3874d1511dc0de094764981467fa4cded78b39108", - "urls": [ - "bzz-raw://15edd80eee695ea75a22bdc7b2d8478d2f80bf7efacebaf113981c7787ea4717", - "dweb:/ipfs/QmcRZWGhbM3UTwAEvHxBz1e9MPXcsDXUQRUYzpEecGTBwM" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AssetHelpers.sol": { - "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", - "urls": [ - "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", - "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { - "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", - "urls": [ - "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", - "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Address.sol": { - "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", - "urls": [ - "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", - "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 195 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_originator", "type": "address", "internalType": "address" }, { "name": "_redeemer", "type": "address", "internalType": "address" }, { "name": "_synthetix", "type": "address", "internalType": "address" }, { "name": "_trackingCode", "type": "bytes32", "internalType": "bytes32" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "getSynthetix", "inputs": [], "outputs": [ { "name": "synthetix_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getSynthetixOriginator", "inputs": [], "outputs": [ { "name": "synthetixOriginator_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getSynthetixRedeemer", "inputs": [], "outputs": [ { "name": "synthetixRedeemer_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getSynthetixTrackingCode", "inputs": [], "outputs": [ { "name": "synthetixTrackingCode_", "type": "bytes32", "internalType": "bytes32" } ], "stateMutability": "view" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "getSynthetix()": "90956d99", "getSynthetixOriginator()": "f3863b97", "getSynthetixRedeemer()": "71dca19b", "getSynthetixTrackingCode()": "7b0f0a57" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_originator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_redeemer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_synthetix\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"_trackingCode\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"getSynthetix\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"synthetix_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getSynthetixOriginator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"synthetixOriginator_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getSynthetixRedeemer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"synthetixRedeemer_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getSynthetixTrackingCode\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"synthetixTrackingCode_\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"getSynthetix()\":{\"returns\":{\"synthetix_\":\"The `SYNTHETIX` variable value\"}},\"getSynthetixOriginator()\":{\"returns\":{\"synthetixOriginator_\":\"The `SYNTHETIX_ORIGINATOR` variable value\"}},\"getSynthetixRedeemer()\":{\"returns\":{\"synthetixRedeemer_\":\"The `SYNTHETIX_REDEEMER` variable value\"}},\"getSynthetixTrackingCode()\":{\"returns\":{\"synthetixTrackingCode_\":\"The `SYNTHETIX_TRACKING_CODE` variable value\"}}},\"title\":\"SynthetixActionsMixin Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getSynthetix()\":{\"notice\":\"Gets the `SYNTHETIX` variable\"},\"getSynthetixOriginator()\":{\"notice\":\"Gets the `SYNTHETIX_ORIGINATOR` variable\"},\"getSynthetixRedeemer()\":{\"notice\":\"Gets the `SYNTHETIX_REDEEMER` variable\"},\"getSynthetixTrackingCode()\":{\"notice\":\"Gets the `SYNTHETIX_TRACKING_CODE` variable\"}},\"notice\":\"Mixin contract for interacting with the Synthetix exchange functions\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/integration-manager/integrations/utils/actions/SynthetixActionsMixin.sol\":\"SynthetixActionsMixin\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/integration-manager/integrations/utils/actions/SynthetixActionsMixin.sol\":{\"keccak256\":\"0xcb463c92ee424cdf16a0e841968939274a39fcdeab1a0b119232e2540ea3ea0c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://fc93e10d71b31eb06527fbcc7e9cc5cc7bc1f6bffa17833c58e1ed693fcc38f6\",\"dweb:/ipfs/Qmegov8rbwu9hVdooJrBFzxGmKSLiSJHb9Toxy8b4amVdU\"]},\"contracts/release/interfaces/ISynthetix.sol\":{\"keccak256\":\"0x6e90f409738433ba404b21e7593efb37786cceea8740113ab608da9fd53c6db8\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://16212cd905d2b1552d64b9bb223195c99142d3d89108a0f0e22016e4521ca7db\",\"dweb:/ipfs/QmbbHnYkquBT2z8JWexZxjDxCJQK6ogsT5pdyZXxwoWsoK\"]},\"contracts/release/interfaces/ISynthetixProxyERC20.sol\":{\"keccak256\":\"0x32714bb006e6861aece8fe1a5e3862e0b5562bd7a482ab80f0330f2c0bbc5da6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://18cec76d589d9d1057d77fd111100c56f53118b41d9cfa861f61a746abbd7b60\",\"dweb:/ipfs/QmXt67NWo88Qt4aHTtxZcTLStchwsVoTeuf3tqPwK5jjn7\"]},\"contracts/release/interfaces/ISynthetixRedeemer.sol\":{\"keccak256\":\"0xd2da4586a6de782c91bdf602f5f2cc408c080e42ad5023b5cc42f04eedb43238\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://22625ee876bf58a980ff7fd5a974d7c3ac2608d652ad044b05cf0799cb902817\",\"dweb:/ipfs/QmSAL2Q8wEXmA8B7Pxof8LUtbnXWiBpuVz5kFuFqdMeQvR\"]},\"contracts/release/interfaces/ISynthetixSynth.sol\":{\"keccak256\":\"0xfad43b0fead48317fd90bfc3874d1511dc0de094764981467fa4cded78b39108\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://15edd80eee695ea75a22bdc7b2d8478d2f80bf7efacebaf113981c7787ea4717\",\"dweb:/ipfs/QmcRZWGhbM3UTwAEvHxBz1e9MPXcsDXUQRUYzpEecGTBwM\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_originator", "type": "address" }, { "internalType": "address", "name": "_redeemer", "type": "address" }, { "internalType": "address", "name": "_synthetix", "type": "address" }, { "internalType": "bytes32", "name": "_trackingCode", "type": "bytes32" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getSynthetix", "outputs": [ { "internalType": "address", "name": "synthetix_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getSynthetixOriginator", "outputs": [ { "internalType": "address", "name": "synthetixOriginator_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getSynthetixRedeemer", "outputs": [ { "internalType": "address", "name": "synthetixRedeemer_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getSynthetixTrackingCode", "outputs": [ { "internalType": "bytes32", "name": "synthetixTrackingCode_", "type": "bytes32" } ] } ], "devdoc": { "kind": "dev", "methods": { "getSynthetix()": { "returns": { "synthetix_": "The `SYNTHETIX` variable value" } }, "getSynthetixOriginator()": { "returns": { "synthetixOriginator_": "The `SYNTHETIX_ORIGINATOR` variable value" } }, "getSynthetixRedeemer()": { "returns": { "synthetixRedeemer_": "The `SYNTHETIX_REDEEMER` variable value" } }, "getSynthetixTrackingCode()": { "returns": { "synthetixTrackingCode_": "The `SYNTHETIX_TRACKING_CODE` variable value" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "getSynthetix()": { "notice": "Gets the `SYNTHETIX` variable" }, "getSynthetixOriginator()": { "notice": "Gets the `SYNTHETIX_ORIGINATOR` variable" }, "getSynthetixRedeemer()": { "notice": "Gets the `SYNTHETIX_REDEEMER` variable" }, "getSynthetixTrackingCode()": { "notice": "Gets the `SYNTHETIX_TRACKING_CODE` variable" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/integration-manager/integrations/utils/actions/SynthetixActionsMixin.sol": "SynthetixActionsMixin" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/extensions/integration-manager/integrations/utils/actions/SynthetixActionsMixin.sol": { "keccak256": "0xcb463c92ee424cdf16a0e841968939274a39fcdeab1a0b119232e2540ea3ea0c", "urls": [ "bzz-raw://fc93e10d71b31eb06527fbcc7e9cc5cc7bc1f6bffa17833c58e1ed693fcc38f6", "dweb:/ipfs/Qmegov8rbwu9hVdooJrBFzxGmKSLiSJHb9Toxy8b4amVdU" ], "license": "GPL-3.0" }, "contracts/release/interfaces/ISynthetix.sol": { "keccak256": "0x6e90f409738433ba404b21e7593efb37786cceea8740113ab608da9fd53c6db8", "urls": [ "bzz-raw://16212cd905d2b1552d64b9bb223195c99142d3d89108a0f0e22016e4521ca7db", "dweb:/ipfs/QmbbHnYkquBT2z8JWexZxjDxCJQK6ogsT5pdyZXxwoWsoK" ], "license": "GPL-3.0" }, "contracts/release/interfaces/ISynthetixProxyERC20.sol": { "keccak256": "0x32714bb006e6861aece8fe1a5e3862e0b5562bd7a482ab80f0330f2c0bbc5da6", "urls": [ "bzz-raw://18cec76d589d9d1057d77fd111100c56f53118b41d9cfa861f61a746abbd7b60", "dweb:/ipfs/QmXt67NWo88Qt4aHTtxZcTLStchwsVoTeuf3tqPwK5jjn7" ], "license": "GPL-3.0" }, "contracts/release/interfaces/ISynthetixRedeemer.sol": { "keccak256": "0xd2da4586a6de782c91bdf602f5f2cc408c080e42ad5023b5cc42f04eedb43238", "urls": [ "bzz-raw://22625ee876bf58a980ff7fd5a974d7c3ac2608d652ad044b05cf0799cb902817", "dweb:/ipfs/QmSAL2Q8wEXmA8B7Pxof8LUtbnXWiBpuVz5kFuFqdMeQvR" ], "license": "GPL-3.0" }, "contracts/release/interfaces/ISynthetixSynth.sol": { "keccak256": "0xfad43b0fead48317fd90bfc3874d1511dc0de094764981467fa4cded78b39108", "urls": [ "bzz-raw://15edd80eee695ea75a22bdc7b2d8478d2f80bf7efacebaf113981c7787ea4717", "dweb:/ipfs/QmcRZWGhbM3UTwAEvHxBz1e9MPXcsDXUQRUYzpEecGTBwM" ], "license": "GPL-3.0" }, "contracts/release/utils/AssetHelpers.sol": { "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", "urls": [ "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", "urls": [ "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Address.sol": { "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", "urls": [ "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" } }, "version": 1 }, "id": 195 } diff --git a/eth_defi/abi/enzyme/SynthetixAdapter.json b/eth_defi/abi/enzyme/SynthetixAdapter.json index f83a0079..e085818f 100644 --- a/eth_defi/abi/enzyme/SynthetixAdapter.json +++ b/eth_defi/abi/enzyme/SynthetixAdapter.json @@ -1,1085 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_integrationManager", - "type": "address" - }, - { - "internalType": "address", - "name": "_valueInterpreter", - "type": "address" - }, - { - "internalType": "address", - "name": "_originator", - "type": "address" - }, - { - "internalType": "address", - "name": "_synthetixRedeemer", - "type": "address" - }, - { - "internalType": "address", - "name": "_synthetix", - "type": "address" - }, - { - "internalType": "address", - "name": "_susd", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "_trackingCode", - "type": "bytes32" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "name": "CLAIM_REWARDS_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "LEND_AND_STAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "LEND_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "REDEEM_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "STAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "TAKE_MULTIPLE_ORDERS_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "TAKE_ORDER_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "UNSTAKE_AND_REDEEM_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "UNSTAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getIntegrationManager", - "outputs": [ - { - "internalType": "address", - "name": "integrationManager_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getSynthetix", - "outputs": [ - { - "internalType": "address", - "name": "synthetix_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getSynthetixOriginator", - "outputs": [ - { - "internalType": "address", - "name": "synthetixOriginator_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getSynthetixRedeemer", - "outputs": [ - { - "internalType": "address", - "name": "synthetixRedeemer_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getSynthetixTrackingCode", - "outputs": [ - { - "internalType": "bytes32", - "name": "synthetixTrackingCode_", - "type": "bytes32" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes4", - "name": "_selector", - "type": "bytes4" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - } - ], - "name": "parseAssetsForAction", - "outputs": [ - { - "internalType": "enum IIntegrationManager.SpendAssetsHandleType", - "name": "spendAssetsHandleType_", - "type": "uint8" - }, - { - "internalType": "address[]", - "name": "spendAssets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "spendAssetAmounts_", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "incomingAssets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "minIncomingAssetAmounts_", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "_assetData", - "type": "bytes" - } - ], - "name": "redeem", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "takeOrder", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x61016060405234801561001157600080fd5b50604051611995380380611995833981810160405260e081101561003457600080fd5b5080516020820151604083015160608085015160808087015160a08089015160c0998a01516001600160601b031999871b8a1690945295851b881690985291831b861660e05290821b851690955261010094909452831b82166101205290911b166101405260805160601c60a05160601c60c05160601c60e05160601c610100516101205160601c6101405160601c61186f610126600039806109155250806105e15280610a895280610c8c5250806106e85280610e5a5250806106c45280610fe7525080610d7a5280610e395250806107305280610df652508061053652806107815280610d56525061186f6000f3fe608060405234801561001057600080fd5b506004361061010b5760003560e01c8063863e5ad0116100a2578063c32990a211610071578063c32990a214610349578063c54efee514610351578063e7c4569014610513578063f3863b971461051b578063f7d882b5146105235761010b565b8063863e5ad01461026357806390956d991461026b578063b23228cf14610273578063c29fa9dd1461027b5761010b565b80633ffc1591116100de5780633ffc15911461021557806340da225d1461021d57806371dca19b146102255780637b0f0a57146102495761010b565b806303e38a2b14610110578063080456c1146101e0578063131461c014610205578063257cb1a31461020d575b600080fd5b6101de6004803603606081101561012657600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561015057600080fd5b82018360208201111561016257600080fd5b803590602001918460018302840111600160201b8311171561018357600080fd5b919390929091602081019035600160201b8111156101a057600080fd5b8201836020820111156101b257600080fd5b803590602001918460018302840111600160201b831117156101d357600080fd5b50909250905061052b565b005b6101e861060e565b604080516001600160e01b03199092168252519081900360200190f35b6101e8610632565b6101e8610656565b6101e861067a565b6101e861069e565b61022d6106c2565b604080516001600160a01b039092168252519081900360200190f35b6102516106e6565b60408051918252519081900360200190f35b6101e861070a565b61022d61072e565b6101e8610752565b6101de6004803603606081101561029157600080fd5b6001600160a01b038235169190810190604081016020820135600160201b8111156102bb57600080fd5b8201836020820111156102cd57600080fd5b803590602001918460018302840111600160201b831117156102ee57600080fd5b919390929091602081019035600160201b81111561030b57600080fd5b82018360208201111561031d57600080fd5b803590602001918460018302840111600160201b8311171561033e57600080fd5b509092509050610776565b6101e8610885565b6103de6004803603606081101561036757600080fd5b6001600160a01b03823516916001600160e01b031960208201351691810190606081016040820135600160201b8111156103a057600080fd5b8201836020820111156103b257600080fd5b803590602001918460018302840111600160201b831117156103d357600080fd5b5090925090506108a9565b604051808660028111156103ee57fe5b815260200180602001806020018060200180602001858103855289818151815260200191508051906020019060200280838360005b8381101561043b578181015183820152602001610423565b50505050905001858103845288818151815260200191508051906020019060200280838360005b8381101561047a578181015183820152602001610462565b50505050905001858103835287818151815260200191508051906020019060200280838360005b838110156104b95781810151838201526020016104a1565b50505050905001858103825286818151815260200191508051906020019060200280838360005b838110156104f85781810151838201526020016104e0565b50505050905001995050505050505050505060405180910390f35b61022d610d54565b61022d610d78565b6101e8610d9c565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105925760405162461bcd60e51b81526004018080602001828103825260328152602001806117bb6032913960400191505060405180910390fd5b6000806105d486868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610dc092505050565b92509250506106058783837f0000000000000000000000000000000000000000000000000000000000000000610df4565b50505050505050565b7f8334eb99be0145865eba9889fca2ee920288090caefff4cc776038e20ad9259a81565b7f29fa046e79524c3c5ac4c01df692c35e217802b2b13b21121b76cf0ef02b138c81565b7f099f75155f0e997bf83a7993a71d5e7e7540bd386fe1e84643a09ce6b412521981565b7ffa7dd04da627f433da73c4355ead9c75682a67a8fc84d3f6170ef0922f402d2481565b7fb9dfbaccbe5cd2a84fdcf1d15f23ef25d23086f5afbaa99516065ed4a5bbc7a381565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f03e38a2bd7063d45c897edeafc330e71657502dd86434d3c37a489caf116af6981565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f68e30677f607df46e87da13e15b637784cfa62374b653f35ab43d10361a2f83081565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146107dd5760405162461bcd60e51b81526004018080602001828103825260328152602001806117bb6032913960400191505060405180910390fd5b8482828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8a01819004810282018101909252888152606093506108559250908990899081908401838280828437600092019190915250610f1692505050565b905061086081610fbe565b50606061086c8261107a565b9250505061087a8382611237565b505050505050505050565b7f0e7f692dad5b88fdee426250d6eae91207e56a2e8112b7364579bed1790e5bf481565b600060608080806001600160e01b031988166303e38a2b60e01b1415610b1157600080600061090d8a8a8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610dc092505050565b9250925092507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316639be918e6836040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561098057600080fd5b505afa158015610994573d6000803e3d6000fd5b505050506040513d60208110156109aa57600080fd5b5051156109e85760405162461bcd60e51b81526004018080602001828103825260258152602001806117ed6025913960400191505060405180910390fd5b60408051600180825281830190925290602080830190803683370190505096508187600081518110610a1657fe5b6001600160a01b03929092166020928302919091018201526040805160018082528183019092529182810190803683370190505095508086600081518110610a5a57fe5b6020908102919091010152604080516001808252818301909252908160200160208202803683370190505094507f000000000000000000000000000000000000000000000000000000000000000085600081518110610ab557fe5b6001600160a01b03929092166020928302919091018201526040805160018082528183019092529182810190803683370190505093508284600081518110610af957fe5b60200260200101818152505060009750505050610d49565b6001600160e01b0319881663c29fa9dd60e01b1415610d1257610b6987878080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610f1692505050565b9350835167ffffffffffffffff81118015610b8357600080fd5b50604051908082528060200260200182016040528015610bad578160200160208202803683370190505b50925060005b8451811015610c6957848181518110610bc857fe5b60200260200101516001600160a01b03166370a082318b6040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610c1c57600080fd5b505afa158015610c30573d6000803e3d6000fd5b505050506040513d6020811015610c4657600080fd5b50518451859083908110610c5657fe5b6020908102919091010152600101610bb3565b5060408051600180825281830190925290602080830190803683370190505091507f000000000000000000000000000000000000000000000000000000000000000082600081518110610cb857fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509050600181600081518110610cfd57fe5b60200260200101818152505060029450610d49565b60405162461bcd60e51b815260040180806020018281038252602781526020018061183c6027913960400191505060405180910390fd5b945094509450945094565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b7fc29fa9dde84204c2908778afd0613d802d31cf046179b88f6d2b4a4e507ea2d581565b6000806000838060200190516060811015610dda57600080fd5b508051602082015160409092015190969195509350915050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166391e56b6885610e2d86611392565b85610e3786611392565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006040518763ffffffff1660e01b815260040180876001600160a01b03168152602001868152602001858152602001848152602001836001600160a01b031681526020018281526020019650505050505050602060405180830381600087803b158015610ee457600080fd5b505af1158015610ef8573d6000803e3d6000fd5b505050506040513d6020811015610f0e57600080fd5b505050505050565b6060818060200190516020811015610f2d57600080fd5b8101908080516040519392919084600160201b821115610f4c57600080fd5b908301906020820185811115610f6157600080fd5b82518660208202830111600160201b82111715610f7d57600080fd5b82525081516020918201928201910280838360005b83811015610faa578181015183820152602001610f92565b505050509050016040525050509050919050565b60405163d6232e8960e01b81526020600482018181528351602484015283516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169363d6232e8993869392839260440191808601910280838360005b8381101561103a578181015183820152602001611022565b5050505090500192505050600060405180830381600087803b15801561105f57600080fd5b505af1158015611073573d6000803e3d6000fd5b5050505050565b606080606083806020019051606081101561109457600080fd5b8101908080516040519392919084600160201b8211156110b357600080fd5b9083019060208201858111156110c857600080fd5b82518660208202830111600160201b821117156110e457600080fd5b82525081516020918201928201910280838360005b838110156111115781810151838201526020016110f9565b5050505090500160405260200180516040519392919084600160201b82111561113957600080fd5b90830190602082018581111561114e57600080fd5b82518660208202830111600160201b8211171561116a57600080fd5b82525081516020918201928201910280838360005b8381101561119757818101518382015260200161117f565b5050505090500160405260200180516040519392919084600160201b8211156111bf57600080fd5b9083019060208201858111156111d457600080fd5b82518660208202830111600160201b821117156111f057600080fd5b82525081516020918201928201910280838360005b8381101561121d578181015183820152602001611205565b505050509050016040525050509250925092509193909250565b6060815167ffffffffffffffff8111801561125157600080fd5b5060405190808252806020026020018201604052801561127b578160200160208202803683370190505b50905060005b825181101561138b57600083828151811061129857fe5b60200260200101519050806001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156112ef57600080fd5b505afa158015611303573d6000803e3d6000fd5b505050506040513d602081101561131957600080fd5b5051835184908490811061132957fe5b602002602001018181525050600083838151811061134357fe5b60200260200101511115611382576113828584848151811061136157fe5b6020026020010151836001600160a01b031661146d9092919063ffffffff16565b50600101611281565b5092915050565b6000816001600160a01b031663d4b839926040518163ffffffff1660e01b815260040160206040518083038186803b1580156113cd57600080fd5b505afa1580156113e1573d6000803e3d6000fd5b505050506040513d60208110156113f757600080fd5b50516040805163dbd06c8560e01b815290516001600160a01b039092169163dbd06c8591600480820192602092909190829003018186803b15801561143b57600080fd5b505afa15801561144f573d6000803e3d6000fd5b505050506040513d602081101561146557600080fd5b505192915050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526114bf9084906114c4565b505050565b6060611519826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166115759092919063ffffffff16565b8051909150156114bf5780806020019051602081101561153857600080fd5b50516114bf5760405162461bcd60e51b815260040180806020018281038252602a815260200180611812602a913960400191505060405180910390fd5b6060611584848460008561158e565b90505b9392505050565b6060824710156115cf5760405162461bcd60e51b81526004018080602001828103825260268152602001806117956026913960400191505060405180910390fd5b6115d8856116ea565b611629576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b602083106116685780518252601f199092019160209182019101611649565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146116ca576040519150601f19603f3d011682016040523d82523d6000602084013e6116cf565b606091505b50915091506116df8282866116f0565b979650505050505050565b3b151590565b606083156116ff575081611587565b82511561170f5782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611759578181015183820152602001611741565b50505050905090810190601f1680156117865780820380516001836020036101000a031916815260200191505b509250505060405180910390fdfe416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c4f6e6c792074686520496e746567726174696f6e4d616e616765722063616e2063616c6c20746869732066756e6374696f6e7061727365417373657473466f72416374696f6e3a20556e616c6c6f7765642073796e74685361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565647061727365417373657473466f72416374696f6e3a205f73656c6563746f7220696e76616c6964a164736f6c634300060c000a", - "sourceMap": "696:5888:173:-:0;;;876:496;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;876:496:173;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1938:41:179;;;;;;;;1143:34:195;;;;;;;;1187:30;;;;;876:496:173;1187:30:195;1227:22;;;;;;;;1259:39;;;;;1273:18:173;;;;::::2;::::0;1301:64;;;;::::2;::::0;696:5888;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b506004361061010b5760003560e01c8063863e5ad0116100a2578063c32990a211610071578063c32990a214610349578063c54efee514610351578063e7c4569014610513578063f3863b971461051b578063f7d882b5146105235761010b565b8063863e5ad01461026357806390956d991461026b578063b23228cf14610273578063c29fa9dd1461027b5761010b565b80633ffc1591116100de5780633ffc15911461021557806340da225d1461021d57806371dca19b146102255780637b0f0a57146102495761010b565b806303e38a2b14610110578063080456c1146101e0578063131461c014610205578063257cb1a31461020d575b600080fd5b6101de6004803603606081101561012657600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561015057600080fd5b82018360208201111561016257600080fd5b803590602001918460018302840111600160201b8311171561018357600080fd5b919390929091602081019035600160201b8111156101a057600080fd5b8201836020820111156101b257600080fd5b803590602001918460018302840111600160201b831117156101d357600080fd5b50909250905061052b565b005b6101e861060e565b604080516001600160e01b03199092168252519081900360200190f35b6101e8610632565b6101e8610656565b6101e861067a565b6101e861069e565b61022d6106c2565b604080516001600160a01b039092168252519081900360200190f35b6102516106e6565b60408051918252519081900360200190f35b6101e861070a565b61022d61072e565b6101e8610752565b6101de6004803603606081101561029157600080fd5b6001600160a01b038235169190810190604081016020820135600160201b8111156102bb57600080fd5b8201836020820111156102cd57600080fd5b803590602001918460018302840111600160201b831117156102ee57600080fd5b919390929091602081019035600160201b81111561030b57600080fd5b82018360208201111561031d57600080fd5b803590602001918460018302840111600160201b8311171561033e57600080fd5b509092509050610776565b6101e8610885565b6103de6004803603606081101561036757600080fd5b6001600160a01b03823516916001600160e01b031960208201351691810190606081016040820135600160201b8111156103a057600080fd5b8201836020820111156103b257600080fd5b803590602001918460018302840111600160201b831117156103d357600080fd5b5090925090506108a9565b604051808660028111156103ee57fe5b815260200180602001806020018060200180602001858103855289818151815260200191508051906020019060200280838360005b8381101561043b578181015183820152602001610423565b50505050905001858103845288818151815260200191508051906020019060200280838360005b8381101561047a578181015183820152602001610462565b50505050905001858103835287818151815260200191508051906020019060200280838360005b838110156104b95781810151838201526020016104a1565b50505050905001858103825286818151815260200191508051906020019060200280838360005b838110156104f85781810151838201526020016104e0565b50505050905001995050505050505050505060405180910390f35b61022d610d54565b61022d610d78565b6101e8610d9c565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105925760405162461bcd60e51b81526004018080602001828103825260328152602001806117bb6032913960400191505060405180910390fd5b6000806105d486868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610dc092505050565b92509250506106058783837f0000000000000000000000000000000000000000000000000000000000000000610df4565b50505050505050565b7f8334eb99be0145865eba9889fca2ee920288090caefff4cc776038e20ad9259a81565b7f29fa046e79524c3c5ac4c01df692c35e217802b2b13b21121b76cf0ef02b138c81565b7f099f75155f0e997bf83a7993a71d5e7e7540bd386fe1e84643a09ce6b412521981565b7ffa7dd04da627f433da73c4355ead9c75682a67a8fc84d3f6170ef0922f402d2481565b7fb9dfbaccbe5cd2a84fdcf1d15f23ef25d23086f5afbaa99516065ed4a5bbc7a381565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f03e38a2bd7063d45c897edeafc330e71657502dd86434d3c37a489caf116af6981565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f68e30677f607df46e87da13e15b637784cfa62374b653f35ab43d10361a2f83081565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146107dd5760405162461bcd60e51b81526004018080602001828103825260328152602001806117bb6032913960400191505060405180910390fd5b8482828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8a01819004810282018101909252888152606093506108559250908990899081908401838280828437600092019190915250610f1692505050565b905061086081610fbe565b50606061086c8261107a565b9250505061087a8382611237565b505050505050505050565b7f0e7f692dad5b88fdee426250d6eae91207e56a2e8112b7364579bed1790e5bf481565b600060608080806001600160e01b031988166303e38a2b60e01b1415610b1157600080600061090d8a8a8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610dc092505050565b9250925092507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316639be918e6836040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561098057600080fd5b505afa158015610994573d6000803e3d6000fd5b505050506040513d60208110156109aa57600080fd5b5051156109e85760405162461bcd60e51b81526004018080602001828103825260258152602001806117ed6025913960400191505060405180910390fd5b60408051600180825281830190925290602080830190803683370190505096508187600081518110610a1657fe5b6001600160a01b03929092166020928302919091018201526040805160018082528183019092529182810190803683370190505095508086600081518110610a5a57fe5b6020908102919091010152604080516001808252818301909252908160200160208202803683370190505094507f000000000000000000000000000000000000000000000000000000000000000085600081518110610ab557fe5b6001600160a01b03929092166020928302919091018201526040805160018082528183019092529182810190803683370190505093508284600081518110610af957fe5b60200260200101818152505060009750505050610d49565b6001600160e01b0319881663c29fa9dd60e01b1415610d1257610b6987878080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610f1692505050565b9350835167ffffffffffffffff81118015610b8357600080fd5b50604051908082528060200260200182016040528015610bad578160200160208202803683370190505b50925060005b8451811015610c6957848181518110610bc857fe5b60200260200101516001600160a01b03166370a082318b6040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610c1c57600080fd5b505afa158015610c30573d6000803e3d6000fd5b505050506040513d6020811015610c4657600080fd5b50518451859083908110610c5657fe5b6020908102919091010152600101610bb3565b5060408051600180825281830190925290602080830190803683370190505091507f000000000000000000000000000000000000000000000000000000000000000082600081518110610cb857fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509050600181600081518110610cfd57fe5b60200260200101818152505060029450610d49565b60405162461bcd60e51b815260040180806020018281038252602781526020018061183c6027913960400191505060405180910390fd5b945094509450945094565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b7fc29fa9dde84204c2908778afd0613d802d31cf046179b88f6d2b4a4e507ea2d581565b6000806000838060200190516060811015610dda57600080fd5b508051602082015160409092015190969195509350915050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166391e56b6885610e2d86611392565b85610e3786611392565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006040518763ffffffff1660e01b815260040180876001600160a01b03168152602001868152602001858152602001848152602001836001600160a01b031681526020018281526020019650505050505050602060405180830381600087803b158015610ee457600080fd5b505af1158015610ef8573d6000803e3d6000fd5b505050506040513d6020811015610f0e57600080fd5b505050505050565b6060818060200190516020811015610f2d57600080fd5b8101908080516040519392919084600160201b821115610f4c57600080fd5b908301906020820185811115610f6157600080fd5b82518660208202830111600160201b82111715610f7d57600080fd5b82525081516020918201928201910280838360005b83811015610faa578181015183820152602001610f92565b505050509050016040525050509050919050565b60405163d6232e8960e01b81526020600482018181528351602484015283516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169363d6232e8993869392839260440191808601910280838360005b8381101561103a578181015183820152602001611022565b5050505090500192505050600060405180830381600087803b15801561105f57600080fd5b505af1158015611073573d6000803e3d6000fd5b5050505050565b606080606083806020019051606081101561109457600080fd5b8101908080516040519392919084600160201b8211156110b357600080fd5b9083019060208201858111156110c857600080fd5b82518660208202830111600160201b821117156110e457600080fd5b82525081516020918201928201910280838360005b838110156111115781810151838201526020016110f9565b5050505090500160405260200180516040519392919084600160201b82111561113957600080fd5b90830190602082018581111561114e57600080fd5b82518660208202830111600160201b8211171561116a57600080fd5b82525081516020918201928201910280838360005b8381101561119757818101518382015260200161117f565b5050505090500160405260200180516040519392919084600160201b8211156111bf57600080fd5b9083019060208201858111156111d457600080fd5b82518660208202830111600160201b821117156111f057600080fd5b82525081516020918201928201910280838360005b8381101561121d578181015183820152602001611205565b505050509050016040525050509250925092509193909250565b6060815167ffffffffffffffff8111801561125157600080fd5b5060405190808252806020026020018201604052801561127b578160200160208202803683370190505b50905060005b825181101561138b57600083828151811061129857fe5b60200260200101519050806001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156112ef57600080fd5b505afa158015611303573d6000803e3d6000fd5b505050506040513d602081101561131957600080fd5b5051835184908490811061132957fe5b602002602001018181525050600083838151811061134357fe5b60200260200101511115611382576113828584848151811061136157fe5b6020026020010151836001600160a01b031661146d9092919063ffffffff16565b50600101611281565b5092915050565b6000816001600160a01b031663d4b839926040518163ffffffff1660e01b815260040160206040518083038186803b1580156113cd57600080fd5b505afa1580156113e1573d6000803e3d6000fd5b505050506040513d60208110156113f757600080fd5b50516040805163dbd06c8560e01b815290516001600160a01b039092169163dbd06c8591600480820192602092909190829003018186803b15801561143b57600080fd5b505afa15801561144f573d6000803e3d6000fd5b505050506040513d602081101561146557600080fd5b505192915050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526114bf9084906114c4565b505050565b6060611519826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166115759092919063ffffffff16565b8051909150156114bf5780806020019051602081101561153857600080fd5b50516114bf5760405162461bcd60e51b815260040180806020018281038252602a815260200180611812602a913960400191505060405180910390fd5b6060611584848460008561158e565b90505b9392505050565b6060824710156115cf5760405162461bcd60e51b81526004018080602001828103825260268152602001806117956026913960400191505060405180910390fd5b6115d8856116ea565b611629576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b602083106116685780518252601f199092019160209182019101611649565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146116ca576040519150601f19603f3d011682016040523d82523d6000602084013e6116cf565b606091505b50915091506116df8282866116f0565b979650505050505050565b3b151590565b606083156116ff575081611587565b82511561170f5782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611759578181015183820152602001611741565b50505050905090810190601f1680156117865780820380516001836020036101000a031916815260200191505b509250505060405180910390fdfe416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c4f6e6c792074686520496e746567726174696f6e4d616e616765722063616e2063616c6c20746869732066756e6374696f6e7061727365417373657473466f72416374696f6e3a20556e616c6c6f7765642073796e74685361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565647061727365417373657473466f72416374696f6e3a205f73656c6563746f7220696e76616c6964a164736f6c634300060c000a", - "sourceMap": "696:5888:173:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2164:368;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2164:368:173;;;;;;;;;;;;;;;-1:-1:-1;;;2164:368:173;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2164:368:173;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2164:368:173;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2164:368:173;;;;;;;;;;-1:-1:-1;2164:368:173;;-1:-1:-1;2164:368:173;-1:-1:-1;2164:368:173;:::i;:::-;;1490:119:180;;;:::i;:::-;;;;-1:-1:-1;;;;;;1490:119:180;;;;;;;;;;;;;;1373:111;;;:::i;832:85::-;;;:::i;1034:87::-;;;:::i;1240:110::-;;;:::i;2999:123:195:-;;;:::i;:::-;;;;-1:-1:-1;;;;;2999:123:195;;;;;;;;;;;;;;3272:136;;;:::i;:::-;;;;;;;;;;;;;;;;706:104:180;;;:::i;2494:98:195:-;;;:::i;1127:91:180:-;;;:::i;1613:357:173:-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1613:357:173;;;;;;;;;;;;;;;-1:-1:-1;;;1613:357:173;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1613:357:173;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1613:357:173;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1613:357:173;;;;;;;;;;-1:-1:-1;1613:357:173;;-1:-1:-1;1613:357:173;-1:-1:-1;1613:357:173;:::i;577:123:180:-;;;:::i;3335:2583:173:-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3335:2583:173;;;;-1:-1:-1;;;;;;3335:2583:173;;;;;;;;;;;;;;;;-1:-1:-1;;;3335:2583:173;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3335:2583:173;;;;;;;;;;-1:-1:-1;3335:2583:173;;-1:-1:-1;3335:2583:173;-1:-1:-1;3335:2583:173;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2637:128:179;;;:::i;2734:129:195:-;;;:::i;923:89:180:-;;;:::i;2164:368:173:-;1747:10:179;-1:-1:-1;;;;;1761:19:179;1747:33;;1726:130;;;;-1:-1:-1;;;1726:130:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2323:21:173::1;2346:27:::0;2377:56:::1;2412:11;;2377:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;2377:21:173::1;::::0;-1:-1:-1;;;2377:56:173:i:1;:::-;2320:113;;;;;2444:81;2465:11;2478:13;2493:19;2514:10;2444:20;:81::i;:::-;1866:1:179;;2164:368:173::0;;;;;:::o;1490:119:180:-;1558:50;1490:119;:::o;1373:111::-;1437:46;1373:111;:::o;832:85::-;878:38;832:85;:::o;1034:87::-;1081:39;1034:87;:::o;1240:110::-;1303:46;1240:110;:::o;2999:123:195:-;3097:18;2999:123;:::o;3272:136::-;3378:23;3272:136;:::o;706:104:180:-;766:43;706:104;:::o;2494:98:195:-;2576:9;2494:98;:::o;1127:91:180:-;1176:41;1127:91;:::o;1613:357:173:-;1747:10:179;-1:-1:-1;;;;;1761:19:179;1747:33;;1726:130;;;;-1:-1:-1;;;1726:130:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1831:11:173::1;1844:10;;987:278:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;;1896:31:173::2;::::0;;::::2;987:278:179::1;1896:31:173::0;::::2;::::0;;::::2;::::0;::::2;::::0;;;;;;;;;;1870:23:::2;::::0;-1:-1:-1;1896:31:173::2;::::0;-1:-1:-1;1896:31:173;1915:11;;;;;;1896:31;::::2;1915:11:::0;;;;1896:31;::::2;;::::0;::::2;::::0;;;;-1:-1:-1;1896:18:173::2;::::0;-1:-1:-1;;;1896:31:173:i:2;:::-;1870:57;;1938:25;1956:6;1938:17;:25::i;:::-;1114:1:179;1131:31:::1;1166:29;1184:10;1166:17;:29::i;:::-;1126:69;;;;1206:52;1230:11;1243:14;1206:23;:52::i;:::-;;1866:1;;;1613:357:173::0;;;;;:::o;577:123:180:-;647:52;577:123;:::o;3335:2583:173:-;3539:64;3617:29;;;;-1:-1:-1;;;;;;3825:32:173;;-1:-1:-1;;;3825:32:173;3821:2031;;;3891:29;3938:21;3977:27;4021:34;4043:11;;4021:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4021:21:173;;-1:-1:-1;;;4021:34:173:i;:::-;3873:182;;;;;;4273:26;-1:-1:-1;;;;;4273:43:173;;4317:13;4273:58;;;;;;;;;;;;;-1:-1:-1;;;;;4273:58:173;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4273:58:173;4272:59;4247:155;;;;-1:-1:-1;;;4247:155:173;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4432:16;;;4446:1;4432:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4432:16:173;4417:31;;4480:13;4462:12;4475:1;4462:15;;;;;;;;-1:-1:-1;;;;;4462:31:173;;;;:15;;;;;;;;;;:31;4528:16;;;4542:1;4528:16;;;;;;;;;;;;;;4462:15;4528:16;;;;;-1:-1:-1;4528:16:173;4507:37;;4582:19;4558:18;4577:1;4558:21;;;;;;;;;;;;;;;;;:43;4634:16;;;4648:1;4634:16;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4634:16:173;4616:34;;4685:10;4664:15;4680:1;4664:18;;;;;;;;-1:-1:-1;;;;;4664:31:173;;;;:18;;;;;;;;;;:31;4736:16;;;4750:1;4736:16;;;;;;;;;;;;;;4664:18;4736:16;;;;;-1:-1:-1;4736:16:173;4709:43;;4796:21;4766:24;4791:1;4766:27;;;;;;;;;;;;;:51;;;;;4857:46;4832:226;;;;;;;3821:2031;-1:-1:-1;;;;;;5079:28:173;;-1:-1:-1;;;5079:28:173;5075:777;;;5138:31;5157:11;;5138:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5138:18:173;;-1:-1:-1;;;5138:31:173:i;:::-;5123:46;;5218:12;:19;5204:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5204:34:173;;5183:55;;5258:9;5253:148;5273:12;:19;5269:1;:23;5253:148;;;5347:12;5360:1;5347:15;;;;;;;;;;;;;;-1:-1:-1;;;;;5341:32:173;;5374:11;5341:45;;;;;;;;;;;;;-1:-1:-1;;;;;5341:45:173;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5341:45:173;5317:21;;:18;;5336:1;;5317:21;;;;;;;;;;;;;;;:69;5294:3;;5253:148;;;-1:-1:-1;5433:16:173;;;5447:1;5433:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5433:16:173;5415:34;;5484:10;5463:15;5479:1;5463:18;;;;;;;;-1:-1:-1;;;;;5463:31:173;;;;:18;;;;;;;;;;:31;5535:16;;;5549:1;5535:16;;;;;;;;;;;;;;5463:18;5535:16;;;;;-1:-1:-1;5535:16:173;5508:43;;5595:1;5565:24;5590:1;5565:27;;;;;;;;;;;;;:31;;;;;5636:50;5611:230;;;;5075:777;5862:49;;-1:-1:-1;;;5862:49:173;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3335:2583;;;;;;;;;;:::o;2637:128:179:-;2739:19;2637:128;:::o;2734:129:195:-;2836:20;2734:129;:::o;923:89:180:-;971:40;923:89;:::o;6267:315:173:-;6383:30;6427:22;6463:28;6534:11;6523:52;;;;;;;;;;;;;;;-1:-1:-1;6523:52:173;;;;;;;;;;;;;;;-1:-1:-1;6523:52:173;-1:-1:-1;6267:315:173;-1:-1:-1;;6267:315:173:o;1640:491:195:-;1836:9;-1:-1:-1;;;;;1825:50:195;;1889:10;1913:41;1939:14;1913:25;:41::i;:::-;1968:20;2002:41;2028:14;2002:25;:41::i;:::-;2057:20;2091:23;1825:299;;;;;;;;;;;;;-1:-1:-1;;;;;1825:299:195;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1825:299:195;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1640:491:195:o;6009:190:173:-;6109:24;6167:11;6156:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;6156:36:173;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;6156:36:173;;;;;;;;;;;;-1:-1:-1;6156:36:173;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6149:43;;6009:190;;;:::o;2175:136:195:-;2247:57;;-1:-1:-1;;;2247:57:195;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2266:18:195;2247:48;;;;2296:7;;2247:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2175:136;:::o;2093:332:179:-;2205:29;2248:35;2297:32;2372:10;2361:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;-1:-1:-1;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;-1:-1:-1;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;-1:-1:-1;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2354:64;;;;;;2093:332;;;;;:::o;3539:585:355:-;3649:36;3737:7;:14;3723:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3723:29:355;;3701:51;;3767:9;3762:319;3782:7;:14;3778:1;:18;3762:319;;;3817:19;3845:7;3853:1;3845:10;;;;;;;;;;;;;;3817:39;;3895:13;-1:-1:-1;;;;;3895:23:355;;3927:4;3895:38;;;;;;;;;;;;;-1:-1:-1;;;;;3895:38:355;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3895:38:355;3870:22;;:19;;3890:1;;3870:22;;;;;;;;;;;:63;;;;;3976:1;3951:19;3971:1;3951:22;;;;;;;;;;;;;;:26;3947:124;;;3997:59;4024:7;4033:19;4053:1;4033:22;;;;;;;;;;;;;;3997:13;-1:-1:-1;;;;;3997:26:355;;;:59;;;;;:::i;:::-;-1:-1:-1;3798:3:355;;3762:319;;;;3539:585;;;;:::o;1377:216:195:-;1475:20;1555:6;-1:-1:-1;;;;;1534:35:195;;:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1534:37:195;1518:68;;;-1:-1:-1;;;1518:68:195;;;;-1:-1:-1;;;;;1518:66:195;;;;;;:68;;;;;1534:37;;1518:68;;;;;;;;:66;:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1518:68:195;;1377:216;-1:-1:-1;;1377:216:195:o;704:175:450:-;813:58;;;-1:-1:-1;;;;;813:58:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;813:58:450;-1:-1:-1;;;813:58:450;;;786:86;;806:5;;786:19;:86::i;:::-;704:175;;;:::o;2967:751::-;3386:23;3412:69;3440:4;3412:69;;;;;;;;;;;;;;;;;3420:5;-1:-1:-1;;;;;3412:27:450;;;:69;;;;;:::i;:::-;3495:17;;3386:95;;-1:-1:-1;3495:21:450;3491:221;;3635:10;3624:30;;;;;;;;;;;;;;;-1:-1:-1;3624:30:450;3616:85;;;;-1:-1:-1;;;3616:85:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3581:193:451;3684:12;3715:52;3737:6;3745:4;3751:1;3754:12;3715:21;:52::i;:::-;3708:59;;3581:193;;;;;;:::o;4608:523::-;4735:12;4792:5;4767:21;:30;;4759:81;;;;-1:-1:-1;;;4759:81:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4858:18;4869:6;4858:10;:18::i;:::-;4850:60;;;;;-1:-1:-1;;;4850:60:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;4981:12;4995:23;5022:6;-1:-1:-1;;;;;5022:11:451;5042:5;5050:4;5022:33;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5022:33:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4980:75;;;;5072:52;5090:7;5099:10;5111:12;5072:17;:52::i;:::-;5065:59;4608:523;-1:-1:-1;;;;;;;4608:523:451:o;726:413::-;1086:20;1124:8;;;726:413::o;7091:725::-;7206:12;7234:7;7230:580;;;-1:-1:-1;7264:10:451;7257:17;;7230:580;7375:17;;:21;7371:429;;7633:10;7627:17;7693:15;7680:10;7676:2;7672:19;7665:44;7582:145;7772:12;7765:20;;-1:-1:-1;;;7765:20:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;", - "linkReferences": {}, - "immutableReferences": { - "47284": [ - { - "start": 1505, - "length": 32 - }, - { - "start": 2697, - "length": 32 - }, - { - "start": 3212, - "length": 32 - } - ], - "47286": [ - { - "start": 2325, - "length": 32 - } - ], - "49791": [ - { - "start": 1334, - "length": 32 - }, - { - "start": 1921, - "length": 32 - }, - { - "start": 3414, - "length": 32 - } - ], - "51819": [ - { - "start": 1840, - "length": 32 - }, - { - "start": 3574, - "length": 32 - } - ], - "51821": [ - { - "start": 3450, - "length": 32 - }, - { - "start": 3641, - "length": 32 - } - ], - "51823": [ - { - "start": 1732, - "length": 32 - }, - { - "start": 4071, - "length": 32 - } - ], - "51825": [ - { - "start": 1768, - "length": 32 - }, - { - "start": 3674, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "CLAIM_REWARDS_SELECTOR()": "40da225d", - "LEND_AND_STAKE_SELECTOR()": "131461c0", - "LEND_SELECTOR()": "257cb1a3", - "REDEEM_SELECTOR()": "f7d882b5", - "STAKE_SELECTOR()": "3ffc1591", - "TAKE_MULTIPLE_ORDERS_SELECTOR()": "c32990a2", - "TAKE_ORDER_SELECTOR()": "863e5ad0", - "UNSTAKE_AND_REDEEM_SELECTOR()": "080456c1", - "UNSTAKE_SELECTOR()": "b23228cf", - "getIntegrationManager()": "e7c45690", - "getSynthetix()": "90956d99", - "getSynthetixOriginator()": "f3863b97", - "getSynthetixRedeemer()": "71dca19b", - "getSynthetixTrackingCode()": "7b0f0a57", - "parseAssetsForAction(address,bytes4,bytes)": "c54efee5", - "redeem(address,bytes,bytes)": "c29fa9dd", - "takeOrder(address,bytes,bytes)": "03e38a2b" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_integrationManager\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_valueInterpreter\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_originator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_synthetixRedeemer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_synthetix\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_susd\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"_trackingCode\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"CLAIM_REWARDS_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LEND_AND_STAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LEND_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"REDEEM_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"STAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TAKE_MULTIPLE_ORDERS_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TAKE_ORDER_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UNSTAKE_AND_REDEEM_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UNSTAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getIntegrationManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"integrationManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getSynthetix\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"synthetix_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getSynthetixOriginator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"synthetixOriginator_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getSynthetixRedeemer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"synthetixRedeemer_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getSynthetixTrackingCode\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"synthetixTrackingCode_\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"_selector\",\"type\":\"bytes4\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"}],\"name\":\"parseAssetsForAction\",\"outputs\":[{\"internalType\":\"enum IIntegrationManager.SpendAssetsHandleType\",\"name\":\"spendAssetsHandleType_\",\"type\":\"uint8\"},{\"internalType\":\"address[]\",\"name\":\"spendAssets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"spendAssetAmounts_\",\"type\":\"uint256[]\"},{\"internalType\":\"address[]\",\"name\":\"incomingAssets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"minIncomingAssetAmounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"_assetData\",\"type\":\"bytes\"}],\"name\":\"redeem\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"takeOrder\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"This adapter currently only provides mechanisms for exiting an already-held synth position into sUSD\",\"kind\":\"dev\",\"methods\":{\"getIntegrationManager()\":{\"returns\":{\"integrationManager_\":\"The `INTEGRATION_MANAGER` variable value\"}},\"getSynthetix()\":{\"returns\":{\"synthetix_\":\"The `SYNTHETIX` variable value\"}},\"getSynthetixOriginator()\":{\"returns\":{\"synthetixOriginator_\":\"The `SYNTHETIX_ORIGINATOR` variable value\"}},\"getSynthetixRedeemer()\":{\"returns\":{\"synthetixRedeemer_\":\"The `SYNTHETIX_REDEEMER` variable value\"}},\"getSynthetixTrackingCode()\":{\"returns\":{\"synthetixTrackingCode_\":\"The `SYNTHETIX_TRACKING_CODE` variable value\"}},\"parseAssetsForAction(address,bytes4,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_selector\":\"The function selector for the callOnIntegration\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"},\"returns\":{\"incomingAssets_\":\"The assets to receive in the call\",\"minIncomingAssetAmounts_\":\"The min asset amounts to receive in the call\",\"spendAssetAmounts_\":\"The max asset amounts to spend in the call\",\"spendAssetsHandleType_\":\"A type that dictates how to handle granting the adapter access to spend assets (`None` by default)\",\"spendAssets_\":\"The assets to spend in the call\"}},\"redeem(address,bytes,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_assetData\":\"Parsed spend assets and incoming assets data for this action\"}},\"takeOrder(address,bytes,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}}},\"title\":\"SynthetixAdapter Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getIntegrationManager()\":{\"notice\":\"Gets the `INTEGRATION_MANAGER` variable\"},\"getSynthetix()\":{\"notice\":\"Gets the `SYNTHETIX` variable\"},\"getSynthetixOriginator()\":{\"notice\":\"Gets the `SYNTHETIX_ORIGINATOR` variable\"},\"getSynthetixRedeemer()\":{\"notice\":\"Gets the `SYNTHETIX_REDEEMER` variable\"},\"getSynthetixTrackingCode()\":{\"notice\":\"Gets the `SYNTHETIX_TRACKING_CODE` variable\"},\"parseAssetsForAction(address,bytes4,bytes)\":{\"notice\":\"Parses the expected assets in a particular action\"},\"redeem(address,bytes,bytes)\":{\"notice\":\"Redeems an array of deprecated synths for their last underlying sUSD values\"},\"takeOrder(address,bytes,bytes)\":{\"notice\":\"Trades assets on Synthetix\"}},\"notice\":\"Adapter for interacting with Synthetix\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/integration-manager/integrations/adapters/SynthetixAdapter.sol\":\"SynthetixAdapter\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/extensions/integration-manager/IIntegrationManager.sol\":{\"keccak256\":\"0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23\",\"dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk\"]},\"contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol\":{\"keccak256\":\"0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336\",\"dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS\"]},\"contracts/release/extensions/integration-manager/integrations/adapters/SynthetixAdapter.sol\":{\"keccak256\":\"0x22bd7f7ca2f819c05e8c96b77085414b49d65fc3e58a88f6a78c2efeb98b29a1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f8af422a26c2608fc5113233727701b2094a39665581ae6517dfafdef5ea8506\",\"dweb:/ipfs/QmP6LQAj5r4985GUMqfiHrgLEv9gwt63WAeTzHLmF7ekUe\"]},\"contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol\":{\"keccak256\":\"0x067e49bf0d3c1655ab41a413c65ccf61d4e593308132e1ffc484a0fadfbbaf26\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://387f425017e18e89cc1893521101fa99df595314847d0b3d9a1162369f714fcf\",\"dweb:/ipfs/Qmco3jCvuWAyfCpBYpGzHrQjiFJG63w1RJKcakoTEbxRQm\"]},\"contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol\":{\"keccak256\":\"0xfd34c7ca8231c6935e25dede32ca2b3121738e624d0fc896f7b895a731edcf88\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d492c061963d36d07718446db191d4c5a340c0d847f6cd209f027bd99f7cb176\",\"dweb:/ipfs/QmfCvRZt56ftDdrEh6LepHXFJ4fVtcfpQGvEyY8k4zxG1A\"]},\"contracts/release/extensions/integration-manager/integrations/utils/actions/SynthetixActionsMixin.sol\":{\"keccak256\":\"0xcb463c92ee424cdf16a0e841968939274a39fcdeab1a0b119232e2540ea3ea0c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://fc93e10d71b31eb06527fbcc7e9cc5cc7bc1f6bffa17833c58e1ed693fcc38f6\",\"dweb:/ipfs/Qmegov8rbwu9hVdooJrBFzxGmKSLiSJHb9Toxy8b4amVdU\"]},\"contracts/release/infrastructure/price-feeds/derivatives/AggregatedDerivativePriceFeedMixin.sol\":{\"keccak256\":\"0x85d2ac39834dae7feb04f0e37317a38b8abeb0f950692fbc9d29078c52cd8d52\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://7bf8f1ce064d85a2812a944fc93068955b233924097f7f45898be3db826579d5\",\"dweb:/ipfs/Qme7f6AhxLVn32prM8fHaCvxtVi86A9KqFMqPA1s88kVYR\"]},\"contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol\":{\"keccak256\":\"0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e\",\"dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK\"]},\"contracts/release/infrastructure/price-feeds/primitives/ChainlinkPriceFeedMixin.sol\":{\"keccak256\":\"0x7fb0078e7387f07ff09958fe4e4e7b317e72c23884f61e8c133776cad522f8bb\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://e973f29ed0c3bf03e20154ab4b0cfc68c3a4372a52ec746f9d9f86697b30e977\",\"dweb:/ipfs/QmfMb7H1zNnj2hzmUr6742HmCTiNVuQ2PFjeR8q2M4Liyu\"]},\"contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol\":{\"keccak256\":\"0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965\",\"dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ\"]},\"contracts/release/infrastructure/value-interpreter/ValueInterpreter.sol\":{\"keccak256\":\"0x64565011785d0d29a75021cda34687cfbc0641094d6f2faf4d9c78c8cd9f0d1d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://03ea9b29a332436d18ca1a4df7e5cdf231d5142dfb916a39cb3a721342d54e0e\",\"dweb:/ipfs/QmcB8Z7A7QELAxg2FfJpD26k2bUhMNUT4wACMVKxuge3QS\"]},\"contracts/release/interfaces/IChainlinkAggregator.sol\":{\"keccak256\":\"0x8104db68d4edc00c86b29b366f4397cdbe7bd95bb9dc90f54140af4bae963788\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://4664240be22fe76bd4e84d1cbaace3998dbc96759a14345819a889f0c288d22e\",\"dweb:/ipfs/QmQ8fbA4tvXeCeaAFeS2JrLEQUPFeYrePAKoUywRtcicgA\"]},\"contracts/release/interfaces/ISynthetix.sol\":{\"keccak256\":\"0x6e90f409738433ba404b21e7593efb37786cceea8740113ab608da9fd53c6db8\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://16212cd905d2b1552d64b9bb223195c99142d3d89108a0f0e22016e4521ca7db\",\"dweb:/ipfs/QmbbHnYkquBT2z8JWexZxjDxCJQK6ogsT5pdyZXxwoWsoK\"]},\"contracts/release/interfaces/ISynthetixProxyERC20.sol\":{\"keccak256\":\"0x32714bb006e6861aece8fe1a5e3862e0b5562bd7a482ab80f0330f2c0bbc5da6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://18cec76d589d9d1057d77fd111100c56f53118b41d9cfa861f61a746abbd7b60\",\"dweb:/ipfs/QmXt67NWo88Qt4aHTtxZcTLStchwsVoTeuf3tqPwK5jjn7\"]},\"contracts/release/interfaces/ISynthetixRedeemer.sol\":{\"keccak256\":\"0xd2da4586a6de782c91bdf602f5f2cc408c080e42ad5023b5cc42f04eedb43238\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://22625ee876bf58a980ff7fd5a974d7c3ac2608d652ad044b05cf0799cb902817\",\"dweb:/ipfs/QmSAL2Q8wEXmA8B7Pxof8LUtbnXWiBpuVz5kFuFqdMeQvR\"]},\"contracts/release/interfaces/ISynthetixSynth.sol\":{\"keccak256\":\"0xfad43b0fead48317fd90bfc3874d1511dc0de094764981467fa4cded78b39108\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://15edd80eee695ea75a22bdc7b2d8478d2f80bf7efacebaf113981c7787ea4717\",\"dweb:/ipfs/QmcRZWGhbM3UTwAEvHxBz1e9MPXcsDXUQRUYzpEecGTBwM\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"contracts/release/utils/FundDeployerOwnerMixin.sol\":{\"keccak256\":\"0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927\",\"dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM\"]},\"contracts/release/utils/MathHelpers.sol\":{\"keccak256\":\"0x8aef498ae98bfb40cd1df8c9ed652b4c092fbbe62d5a1fad522c53654523248e\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ed62789f6a8d5ca30a40c591f244b915e4711493a9e4b1b4d40ea2bc97b02a95\",\"dweb:/ipfs/QmWyXJ55arURtx9VMkUQokdsjk8tbgM2cC8rENFUMyz5D3\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_integrationManager", - "type": "address" - }, - { - "internalType": "address", - "name": "_valueInterpreter", - "type": "address" - }, - { - "internalType": "address", - "name": "_originator", - "type": "address" - }, - { - "internalType": "address", - "name": "_synthetixRedeemer", - "type": "address" - }, - { - "internalType": "address", - "name": "_synthetix", - "type": "address" - }, - { - "internalType": "address", - "name": "_susd", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "_trackingCode", - "type": "bytes32" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "CLAIM_REWARDS_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "LEND_AND_STAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "LEND_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "REDEEM_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "STAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "TAKE_MULTIPLE_ORDERS_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "TAKE_ORDER_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "UNSTAKE_AND_REDEEM_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "UNSTAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getIntegrationManager", - "outputs": [ - { - "internalType": "address", - "name": "integrationManager_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getSynthetix", - "outputs": [ - { - "internalType": "address", - "name": "synthetix_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getSynthetixOriginator", - "outputs": [ - { - "internalType": "address", - "name": "synthetixOriginator_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getSynthetixRedeemer", - "outputs": [ - { - "internalType": "address", - "name": "synthetixRedeemer_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getSynthetixTrackingCode", - "outputs": [ - { - "internalType": "bytes32", - "name": "synthetixTrackingCode_", - "type": "bytes32" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes4", - "name": "_selector", - "type": "bytes4" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - } - ], - "stateMutability": "view", - "type": "function", - "name": "parseAssetsForAction", - "outputs": [ - { - "internalType": "enum IIntegrationManager.SpendAssetsHandleType", - "name": "spendAssetsHandleType_", - "type": "uint8" - }, - { - "internalType": "address[]", - "name": "spendAssets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "spendAssetAmounts_", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "incomingAssets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "minIncomingAssetAmounts_", - "type": "uint256[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "_assetData", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "redeem" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "takeOrder" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "getIntegrationManager()": { - "returns": { - "integrationManager_": "The `INTEGRATION_MANAGER` variable value" - } - }, - "getSynthetix()": { - "returns": { - "synthetix_": "The `SYNTHETIX` variable value" - } - }, - "getSynthetixOriginator()": { - "returns": { - "synthetixOriginator_": "The `SYNTHETIX_ORIGINATOR` variable value" - } - }, - "getSynthetixRedeemer()": { - "returns": { - "synthetixRedeemer_": "The `SYNTHETIX_REDEEMER` variable value" - } - }, - "getSynthetixTrackingCode()": { - "returns": { - "synthetixTrackingCode_": "The `SYNTHETIX_TRACKING_CODE` variable value" - } - }, - "parseAssetsForAction(address,bytes4,bytes)": { - "params": { - "_actionData": "Data specific to this action", - "_selector": "The function selector for the callOnIntegration", - "_vaultProxy": "The VaultProxy of the calling fund" - }, - "returns": { - "incomingAssets_": "The assets to receive in the call", - "minIncomingAssetAmounts_": "The min asset amounts to receive in the call", - "spendAssetAmounts_": "The max asset amounts to spend in the call", - "spendAssetsHandleType_": "A type that dictates how to handle granting the adapter access to spend assets (`None` by default)", - "spendAssets_": "The assets to spend in the call" - } - }, - "redeem(address,bytes,bytes)": { - "params": { - "_actionData": "Data specific to this action", - "_assetData": "Parsed spend assets and incoming assets data for this action" - } - }, - "takeOrder(address,bytes,bytes)": { - "params": { - "_actionData": "Data specific to this action", - "_vaultProxy": "The VaultProxy of the calling fund" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "getIntegrationManager()": { - "notice": "Gets the `INTEGRATION_MANAGER` variable" - }, - "getSynthetix()": { - "notice": "Gets the `SYNTHETIX` variable" - }, - "getSynthetixOriginator()": { - "notice": "Gets the `SYNTHETIX_ORIGINATOR` variable" - }, - "getSynthetixRedeemer()": { - "notice": "Gets the `SYNTHETIX_REDEEMER` variable" - }, - "getSynthetixTrackingCode()": { - "notice": "Gets the `SYNTHETIX_TRACKING_CODE` variable" - }, - "parseAssetsForAction(address,bytes4,bytes)": { - "notice": "Parses the expected assets in a particular action" - }, - "redeem(address,bytes,bytes)": { - "notice": "Redeems an array of deprecated synths for their last underlying sUSD values" - }, - "takeOrder(address,bytes,bytes)": { - "notice": "Trades assets on Synthetix" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/integration-manager/integrations/adapters/SynthetixAdapter.sol": "SynthetixAdapter" - }, - "libraries": {} - }, - "sources": { - "contracts/release/core/fund-deployer/IFundDeployer.sol": { - "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", - "urls": [ - "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", - "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/IIntegrationManager.sol": { - "keccak256": "0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef", - "urls": [ - "bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23", - "dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol": { - "keccak256": "0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1", - "urls": [ - "bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336", - "dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/adapters/SynthetixAdapter.sol": { - "keccak256": "0x22bd7f7ca2f819c05e8c96b77085414b49d65fc3e58a88f6a78c2efeb98b29a1", - "urls": [ - "bzz-raw://f8af422a26c2608fc5113233727701b2094a39665581ae6517dfafdef5ea8506", - "dweb:/ipfs/QmP6LQAj5r4985GUMqfiHrgLEv9gwt63WAeTzHLmF7ekUe" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol": { - "keccak256": "0x067e49bf0d3c1655ab41a413c65ccf61d4e593308132e1ffc484a0fadfbbaf26", - "urls": [ - "bzz-raw://387f425017e18e89cc1893521101fa99df595314847d0b3d9a1162369f714fcf", - "dweb:/ipfs/Qmco3jCvuWAyfCpBYpGzHrQjiFJG63w1RJKcakoTEbxRQm" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol": { - "keccak256": "0xfd34c7ca8231c6935e25dede32ca2b3121738e624d0fc896f7b895a731edcf88", - "urls": [ - "bzz-raw://d492c061963d36d07718446db191d4c5a340c0d847f6cd209f027bd99f7cb176", - "dweb:/ipfs/QmfCvRZt56ftDdrEh6LepHXFJ4fVtcfpQGvEyY8k4zxG1A" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/utils/actions/SynthetixActionsMixin.sol": { - "keccak256": "0xcb463c92ee424cdf16a0e841968939274a39fcdeab1a0b119232e2540ea3ea0c", - "urls": [ - "bzz-raw://fc93e10d71b31eb06527fbcc7e9cc5cc7bc1f6bffa17833c58e1ed693fcc38f6", - "dweb:/ipfs/Qmegov8rbwu9hVdooJrBFzxGmKSLiSJHb9Toxy8b4amVdU" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/price-feeds/derivatives/AggregatedDerivativePriceFeedMixin.sol": { - "keccak256": "0x85d2ac39834dae7feb04f0e37317a38b8abeb0f950692fbc9d29078c52cd8d52", - "urls": [ - "bzz-raw://7bf8f1ce064d85a2812a944fc93068955b233924097f7f45898be3db826579d5", - "dweb:/ipfs/Qme7f6AhxLVn32prM8fHaCvxtVi86A9KqFMqPA1s88kVYR" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol": { - "keccak256": "0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332", - "urls": [ - "bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e", - "dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/price-feeds/primitives/ChainlinkPriceFeedMixin.sol": { - "keccak256": "0x7fb0078e7387f07ff09958fe4e4e7b317e72c23884f61e8c133776cad522f8bb", - "urls": [ - "bzz-raw://e973f29ed0c3bf03e20154ab4b0cfc68c3a4372a52ec746f9d9f86697b30e977", - "dweb:/ipfs/QmfMb7H1zNnj2hzmUr6742HmCTiNVuQ2PFjeR8q2M4Liyu" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol": { - "keccak256": "0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794", - "urls": [ - "bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965", - "dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/value-interpreter/ValueInterpreter.sol": { - "keccak256": "0x64565011785d0d29a75021cda34687cfbc0641094d6f2faf4d9c78c8cd9f0d1d", - "urls": [ - "bzz-raw://03ea9b29a332436d18ca1a4df7e5cdf231d5142dfb916a39cb3a721342d54e0e", - "dweb:/ipfs/QmcB8Z7A7QELAxg2FfJpD26k2bUhMNUT4wACMVKxuge3QS" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IChainlinkAggregator.sol": { - "keccak256": "0x8104db68d4edc00c86b29b366f4397cdbe7bd95bb9dc90f54140af4bae963788", - "urls": [ - "bzz-raw://4664240be22fe76bd4e84d1cbaace3998dbc96759a14345819a889f0c288d22e", - "dweb:/ipfs/QmQ8fbA4tvXeCeaAFeS2JrLEQUPFeYrePAKoUywRtcicgA" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/ISynthetix.sol": { - "keccak256": "0x6e90f409738433ba404b21e7593efb37786cceea8740113ab608da9fd53c6db8", - "urls": [ - "bzz-raw://16212cd905d2b1552d64b9bb223195c99142d3d89108a0f0e22016e4521ca7db", - "dweb:/ipfs/QmbbHnYkquBT2z8JWexZxjDxCJQK6ogsT5pdyZXxwoWsoK" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/ISynthetixProxyERC20.sol": { - "keccak256": "0x32714bb006e6861aece8fe1a5e3862e0b5562bd7a482ab80f0330f2c0bbc5da6", - "urls": [ - "bzz-raw://18cec76d589d9d1057d77fd111100c56f53118b41d9cfa861f61a746abbd7b60", - "dweb:/ipfs/QmXt67NWo88Qt4aHTtxZcTLStchwsVoTeuf3tqPwK5jjn7" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/ISynthetixRedeemer.sol": { - "keccak256": "0xd2da4586a6de782c91bdf602f5f2cc408c080e42ad5023b5cc42f04eedb43238", - "urls": [ - "bzz-raw://22625ee876bf58a980ff7fd5a974d7c3ac2608d652ad044b05cf0799cb902817", - "dweb:/ipfs/QmSAL2Q8wEXmA8B7Pxof8LUtbnXWiBpuVz5kFuFqdMeQvR" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/ISynthetixSynth.sol": { - "keccak256": "0xfad43b0fead48317fd90bfc3874d1511dc0de094764981467fa4cded78b39108", - "urls": [ - "bzz-raw://15edd80eee695ea75a22bdc7b2d8478d2f80bf7efacebaf113981c7787ea4717", - "dweb:/ipfs/QmcRZWGhbM3UTwAEvHxBz1e9MPXcsDXUQRUYzpEecGTBwM" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AssetHelpers.sol": { - "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", - "urls": [ - "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", - "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/FundDeployerOwnerMixin.sol": { - "keccak256": "0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934", - "urls": [ - "bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927", - "dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/MathHelpers.sol": { - "keccak256": "0x8aef498ae98bfb40cd1df8c9ed652b4c092fbbe62d5a1fad522c53654523248e", - "urls": [ - "bzz-raw://ed62789f6a8d5ca30a40c591f244b915e4711493a9e4b1b4d40ea2bc97b02a95", - "dweb:/ipfs/QmWyXJ55arURtx9VMkUQokdsjk8tbgM2cC8rENFUMyz5D3" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { - "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", - "urls": [ - "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", - "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Address.sol": { - "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", - "urls": [ - "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", - "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 173 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_integrationManager", "type": "address", "internalType": "address" }, { "name": "_valueInterpreter", "type": "address", "internalType": "address" }, { "name": "_originator", "type": "address", "internalType": "address" }, { "name": "_synthetixRedeemer", "type": "address", "internalType": "address" }, { "name": "_synthetix", "type": "address", "internalType": "address" }, { "name": "_susd", "type": "address", "internalType": "address" }, { "name": "_trackingCode", "type": "bytes32", "internalType": "bytes32" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "CLAIM_REWARDS_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "LEND_AND_STAKE_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "LEND_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "REDEEM_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "STAKE_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "TAKE_MULTIPLE_ORDERS_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "TAKE_ORDER_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "UNSTAKE_AND_REDEEM_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "UNSTAKE_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "getIntegrationManager", "inputs": [], "outputs": [ { "name": "integrationManager_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getSynthetix", "inputs": [], "outputs": [ { "name": "synthetix_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getSynthetixOriginator", "inputs": [], "outputs": [ { "name": "synthetixOriginator_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getSynthetixRedeemer", "inputs": [], "outputs": [ { "name": "synthetixRedeemer_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getSynthetixTrackingCode", "inputs": [], "outputs": [ { "name": "synthetixTrackingCode_", "type": "bytes32", "internalType": "bytes32" } ], "stateMutability": "view" }, { "type": "function", "name": "parseAssetsForAction", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_selector", "type": "bytes4", "internalType": "bytes4" }, { "name": "_actionData", "type": "bytes", "internalType": "bytes" } ], "outputs": [ { "name": "spendAssetsHandleType_", "type": "uint8", "internalType": "enum IIntegrationManager.SpendAssetsHandleType" }, { "name": "spendAssets_", "type": "address[]", "internalType": "address[]" }, { "name": "spendAssetAmounts_", "type": "uint256[]", "internalType": "uint256[]" }, { "name": "incomingAssets_", "type": "address[]", "internalType": "address[]" }, { "name": "minIncomingAssetAmounts_", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "view" }, { "type": "function", "name": "redeem", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_actionData", "type": "bytes", "internalType": "bytes" }, { "name": "_assetData", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "takeOrder", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_actionData", "type": "bytes", "internalType": "bytes" }, { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x61016060405234801561001157600080fd5b50604051611995380380611995833981810160405260e081101561003457600080fd5b5080516020820151604083015160608085015160808087015160a08089015160c0998a01516001600160601b031999871b8a1690945295851b881690985291831b861660e05290821b851690955261010094909452831b82166101205290911b166101405260805160601c60a05160601c60c05160601c60e05160601c610100516101205160601c6101405160601c61186f610126600039806109155250806105e15280610a895280610c8c5250806106e85280610e5a5250806106c45280610fe7525080610d7a5280610e395250806107305280610df652508061053652806107815280610d56525061186f6000f3fe608060405234801561001057600080fd5b506004361061010b5760003560e01c8063863e5ad0116100a2578063c32990a211610071578063c32990a214610349578063c54efee514610351578063e7c4569014610513578063f3863b971461051b578063f7d882b5146105235761010b565b8063863e5ad01461026357806390956d991461026b578063b23228cf14610273578063c29fa9dd1461027b5761010b565b80633ffc1591116100de5780633ffc15911461021557806340da225d1461021d57806371dca19b146102255780637b0f0a57146102495761010b565b806303e38a2b14610110578063080456c1146101e0578063131461c014610205578063257cb1a31461020d575b600080fd5b6101de6004803603606081101561012657600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561015057600080fd5b82018360208201111561016257600080fd5b803590602001918460018302840111600160201b8311171561018357600080fd5b919390929091602081019035600160201b8111156101a057600080fd5b8201836020820111156101b257600080fd5b803590602001918460018302840111600160201b831117156101d357600080fd5b50909250905061052b565b005b6101e861060e565b604080516001600160e01b03199092168252519081900360200190f35b6101e8610632565b6101e8610656565b6101e861067a565b6101e861069e565b61022d6106c2565b604080516001600160a01b039092168252519081900360200190f35b6102516106e6565b60408051918252519081900360200190f35b6101e861070a565b61022d61072e565b6101e8610752565b6101de6004803603606081101561029157600080fd5b6001600160a01b038235169190810190604081016020820135600160201b8111156102bb57600080fd5b8201836020820111156102cd57600080fd5b803590602001918460018302840111600160201b831117156102ee57600080fd5b919390929091602081019035600160201b81111561030b57600080fd5b82018360208201111561031d57600080fd5b803590602001918460018302840111600160201b8311171561033e57600080fd5b509092509050610776565b6101e8610885565b6103de6004803603606081101561036757600080fd5b6001600160a01b03823516916001600160e01b031960208201351691810190606081016040820135600160201b8111156103a057600080fd5b8201836020820111156103b257600080fd5b803590602001918460018302840111600160201b831117156103d357600080fd5b5090925090506108a9565b604051808660028111156103ee57fe5b815260200180602001806020018060200180602001858103855289818151815260200191508051906020019060200280838360005b8381101561043b578181015183820152602001610423565b50505050905001858103845288818151815260200191508051906020019060200280838360005b8381101561047a578181015183820152602001610462565b50505050905001858103835287818151815260200191508051906020019060200280838360005b838110156104b95781810151838201526020016104a1565b50505050905001858103825286818151815260200191508051906020019060200280838360005b838110156104f85781810151838201526020016104e0565b50505050905001995050505050505050505060405180910390f35b61022d610d54565b61022d610d78565b6101e8610d9c565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105925760405162461bcd60e51b81526004018080602001828103825260328152602001806117bb6032913960400191505060405180910390fd5b6000806105d486868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610dc092505050565b92509250506106058783837f0000000000000000000000000000000000000000000000000000000000000000610df4565b50505050505050565b7f8334eb99be0145865eba9889fca2ee920288090caefff4cc776038e20ad9259a81565b7f29fa046e79524c3c5ac4c01df692c35e217802b2b13b21121b76cf0ef02b138c81565b7f099f75155f0e997bf83a7993a71d5e7e7540bd386fe1e84643a09ce6b412521981565b7ffa7dd04da627f433da73c4355ead9c75682a67a8fc84d3f6170ef0922f402d2481565b7fb9dfbaccbe5cd2a84fdcf1d15f23ef25d23086f5afbaa99516065ed4a5bbc7a381565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f03e38a2bd7063d45c897edeafc330e71657502dd86434d3c37a489caf116af6981565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f68e30677f607df46e87da13e15b637784cfa62374b653f35ab43d10361a2f83081565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146107dd5760405162461bcd60e51b81526004018080602001828103825260328152602001806117bb6032913960400191505060405180910390fd5b8482828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8a01819004810282018101909252888152606093506108559250908990899081908401838280828437600092019190915250610f1692505050565b905061086081610fbe565b50606061086c8261107a565b9250505061087a8382611237565b505050505050505050565b7f0e7f692dad5b88fdee426250d6eae91207e56a2e8112b7364579bed1790e5bf481565b600060608080806001600160e01b031988166303e38a2b60e01b1415610b1157600080600061090d8a8a8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610dc092505050565b9250925092507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316639be918e6836040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561098057600080fd5b505afa158015610994573d6000803e3d6000fd5b505050506040513d60208110156109aa57600080fd5b5051156109e85760405162461bcd60e51b81526004018080602001828103825260258152602001806117ed6025913960400191505060405180910390fd5b60408051600180825281830190925290602080830190803683370190505096508187600081518110610a1657fe5b6001600160a01b03929092166020928302919091018201526040805160018082528183019092529182810190803683370190505095508086600081518110610a5a57fe5b6020908102919091010152604080516001808252818301909252908160200160208202803683370190505094507f000000000000000000000000000000000000000000000000000000000000000085600081518110610ab557fe5b6001600160a01b03929092166020928302919091018201526040805160018082528183019092529182810190803683370190505093508284600081518110610af957fe5b60200260200101818152505060009750505050610d49565b6001600160e01b0319881663c29fa9dd60e01b1415610d1257610b6987878080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610f1692505050565b9350835167ffffffffffffffff81118015610b8357600080fd5b50604051908082528060200260200182016040528015610bad578160200160208202803683370190505b50925060005b8451811015610c6957848181518110610bc857fe5b60200260200101516001600160a01b03166370a082318b6040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610c1c57600080fd5b505afa158015610c30573d6000803e3d6000fd5b505050506040513d6020811015610c4657600080fd5b50518451859083908110610c5657fe5b6020908102919091010152600101610bb3565b5060408051600180825281830190925290602080830190803683370190505091507f000000000000000000000000000000000000000000000000000000000000000082600081518110610cb857fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509050600181600081518110610cfd57fe5b60200260200101818152505060029450610d49565b60405162461bcd60e51b815260040180806020018281038252602781526020018061183c6027913960400191505060405180910390fd5b945094509450945094565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b7fc29fa9dde84204c2908778afd0613d802d31cf046179b88f6d2b4a4e507ea2d581565b6000806000838060200190516060811015610dda57600080fd5b508051602082015160409092015190969195509350915050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166391e56b6885610e2d86611392565b85610e3786611392565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006040518763ffffffff1660e01b815260040180876001600160a01b03168152602001868152602001858152602001848152602001836001600160a01b031681526020018281526020019650505050505050602060405180830381600087803b158015610ee457600080fd5b505af1158015610ef8573d6000803e3d6000fd5b505050506040513d6020811015610f0e57600080fd5b505050505050565b6060818060200190516020811015610f2d57600080fd5b8101908080516040519392919084600160201b821115610f4c57600080fd5b908301906020820185811115610f6157600080fd5b82518660208202830111600160201b82111715610f7d57600080fd5b82525081516020918201928201910280838360005b83811015610faa578181015183820152602001610f92565b505050509050016040525050509050919050565b60405163d6232e8960e01b81526020600482018181528351602484015283516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169363d6232e8993869392839260440191808601910280838360005b8381101561103a578181015183820152602001611022565b5050505090500192505050600060405180830381600087803b15801561105f57600080fd5b505af1158015611073573d6000803e3d6000fd5b5050505050565b606080606083806020019051606081101561109457600080fd5b8101908080516040519392919084600160201b8211156110b357600080fd5b9083019060208201858111156110c857600080fd5b82518660208202830111600160201b821117156110e457600080fd5b82525081516020918201928201910280838360005b838110156111115781810151838201526020016110f9565b5050505090500160405260200180516040519392919084600160201b82111561113957600080fd5b90830190602082018581111561114e57600080fd5b82518660208202830111600160201b8211171561116a57600080fd5b82525081516020918201928201910280838360005b8381101561119757818101518382015260200161117f565b5050505090500160405260200180516040519392919084600160201b8211156111bf57600080fd5b9083019060208201858111156111d457600080fd5b82518660208202830111600160201b821117156111f057600080fd5b82525081516020918201928201910280838360005b8381101561121d578181015183820152602001611205565b505050509050016040525050509250925092509193909250565b6060815167ffffffffffffffff8111801561125157600080fd5b5060405190808252806020026020018201604052801561127b578160200160208202803683370190505b50905060005b825181101561138b57600083828151811061129857fe5b60200260200101519050806001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156112ef57600080fd5b505afa158015611303573d6000803e3d6000fd5b505050506040513d602081101561131957600080fd5b5051835184908490811061132957fe5b602002602001018181525050600083838151811061134357fe5b60200260200101511115611382576113828584848151811061136157fe5b6020026020010151836001600160a01b031661146d9092919063ffffffff16565b50600101611281565b5092915050565b6000816001600160a01b031663d4b839926040518163ffffffff1660e01b815260040160206040518083038186803b1580156113cd57600080fd5b505afa1580156113e1573d6000803e3d6000fd5b505050506040513d60208110156113f757600080fd5b50516040805163dbd06c8560e01b815290516001600160a01b039092169163dbd06c8591600480820192602092909190829003018186803b15801561143b57600080fd5b505afa15801561144f573d6000803e3d6000fd5b505050506040513d602081101561146557600080fd5b505192915050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526114bf9084906114c4565b505050565b6060611519826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166115759092919063ffffffff16565b8051909150156114bf5780806020019051602081101561153857600080fd5b50516114bf5760405162461bcd60e51b815260040180806020018281038252602a815260200180611812602a913960400191505060405180910390fd5b6060611584848460008561158e565b90505b9392505050565b6060824710156115cf5760405162461bcd60e51b81526004018080602001828103825260268152602001806117956026913960400191505060405180910390fd5b6115d8856116ea565b611629576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b602083106116685780518252601f199092019160209182019101611649565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146116ca576040519150601f19603f3d011682016040523d82523d6000602084013e6116cf565b606091505b50915091506116df8282866116f0565b979650505050505050565b3b151590565b606083156116ff575081611587565b82511561170f5782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611759578181015183820152602001611741565b50505050905090810190601f1680156117865780820380516001836020036101000a031916815260200191505b509250505060405180910390fdfe416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c4f6e6c792074686520496e746567726174696f6e4d616e616765722063616e2063616c6c20746869732066756e6374696f6e7061727365417373657473466f72416374696f6e3a20556e616c6c6f7765642073796e74685361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565647061727365417373657473466f72416374696f6e3a205f73656c6563746f7220696e76616c6964a164736f6c634300060c000a", "sourceMap": "696:5888:173:-:0;;;876:496;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;876:496:173;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1938:41:179;;;;;;;;1143:34:195;;;;;;;;1187:30;;;;;876:496:173;1187:30:195;1227:22;;;;;;;;1259:39;;;;;1273:18:173;;;;::::2;::::0;1301:64;;;;::::2;::::0;696:5888;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b506004361061010b5760003560e01c8063863e5ad0116100a2578063c32990a211610071578063c32990a214610349578063c54efee514610351578063e7c4569014610513578063f3863b971461051b578063f7d882b5146105235761010b565b8063863e5ad01461026357806390956d991461026b578063b23228cf14610273578063c29fa9dd1461027b5761010b565b80633ffc1591116100de5780633ffc15911461021557806340da225d1461021d57806371dca19b146102255780637b0f0a57146102495761010b565b806303e38a2b14610110578063080456c1146101e0578063131461c014610205578063257cb1a31461020d575b600080fd5b6101de6004803603606081101561012657600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561015057600080fd5b82018360208201111561016257600080fd5b803590602001918460018302840111600160201b8311171561018357600080fd5b919390929091602081019035600160201b8111156101a057600080fd5b8201836020820111156101b257600080fd5b803590602001918460018302840111600160201b831117156101d357600080fd5b50909250905061052b565b005b6101e861060e565b604080516001600160e01b03199092168252519081900360200190f35b6101e8610632565b6101e8610656565b6101e861067a565b6101e861069e565b61022d6106c2565b604080516001600160a01b039092168252519081900360200190f35b6102516106e6565b60408051918252519081900360200190f35b6101e861070a565b61022d61072e565b6101e8610752565b6101de6004803603606081101561029157600080fd5b6001600160a01b038235169190810190604081016020820135600160201b8111156102bb57600080fd5b8201836020820111156102cd57600080fd5b803590602001918460018302840111600160201b831117156102ee57600080fd5b919390929091602081019035600160201b81111561030b57600080fd5b82018360208201111561031d57600080fd5b803590602001918460018302840111600160201b8311171561033e57600080fd5b509092509050610776565b6101e8610885565b6103de6004803603606081101561036757600080fd5b6001600160a01b03823516916001600160e01b031960208201351691810190606081016040820135600160201b8111156103a057600080fd5b8201836020820111156103b257600080fd5b803590602001918460018302840111600160201b831117156103d357600080fd5b5090925090506108a9565b604051808660028111156103ee57fe5b815260200180602001806020018060200180602001858103855289818151815260200191508051906020019060200280838360005b8381101561043b578181015183820152602001610423565b50505050905001858103845288818151815260200191508051906020019060200280838360005b8381101561047a578181015183820152602001610462565b50505050905001858103835287818151815260200191508051906020019060200280838360005b838110156104b95781810151838201526020016104a1565b50505050905001858103825286818151815260200191508051906020019060200280838360005b838110156104f85781810151838201526020016104e0565b50505050905001995050505050505050505060405180910390f35b61022d610d54565b61022d610d78565b6101e8610d9c565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105925760405162461bcd60e51b81526004018080602001828103825260328152602001806117bb6032913960400191505060405180910390fd5b6000806105d486868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610dc092505050565b92509250506106058783837f0000000000000000000000000000000000000000000000000000000000000000610df4565b50505050505050565b7f8334eb99be0145865eba9889fca2ee920288090caefff4cc776038e20ad9259a81565b7f29fa046e79524c3c5ac4c01df692c35e217802b2b13b21121b76cf0ef02b138c81565b7f099f75155f0e997bf83a7993a71d5e7e7540bd386fe1e84643a09ce6b412521981565b7ffa7dd04da627f433da73c4355ead9c75682a67a8fc84d3f6170ef0922f402d2481565b7fb9dfbaccbe5cd2a84fdcf1d15f23ef25d23086f5afbaa99516065ed4a5bbc7a381565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f03e38a2bd7063d45c897edeafc330e71657502dd86434d3c37a489caf116af6981565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f68e30677f607df46e87da13e15b637784cfa62374b653f35ab43d10361a2f83081565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146107dd5760405162461bcd60e51b81526004018080602001828103825260328152602001806117bb6032913960400191505060405180910390fd5b8482828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8a01819004810282018101909252888152606093506108559250908990899081908401838280828437600092019190915250610f1692505050565b905061086081610fbe565b50606061086c8261107a565b9250505061087a8382611237565b505050505050505050565b7f0e7f692dad5b88fdee426250d6eae91207e56a2e8112b7364579bed1790e5bf481565b600060608080806001600160e01b031988166303e38a2b60e01b1415610b1157600080600061090d8a8a8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610dc092505050565b9250925092507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316639be918e6836040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561098057600080fd5b505afa158015610994573d6000803e3d6000fd5b505050506040513d60208110156109aa57600080fd5b5051156109e85760405162461bcd60e51b81526004018080602001828103825260258152602001806117ed6025913960400191505060405180910390fd5b60408051600180825281830190925290602080830190803683370190505096508187600081518110610a1657fe5b6001600160a01b03929092166020928302919091018201526040805160018082528183019092529182810190803683370190505095508086600081518110610a5a57fe5b6020908102919091010152604080516001808252818301909252908160200160208202803683370190505094507f000000000000000000000000000000000000000000000000000000000000000085600081518110610ab557fe5b6001600160a01b03929092166020928302919091018201526040805160018082528183019092529182810190803683370190505093508284600081518110610af957fe5b60200260200101818152505060009750505050610d49565b6001600160e01b0319881663c29fa9dd60e01b1415610d1257610b6987878080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610f1692505050565b9350835167ffffffffffffffff81118015610b8357600080fd5b50604051908082528060200260200182016040528015610bad578160200160208202803683370190505b50925060005b8451811015610c6957848181518110610bc857fe5b60200260200101516001600160a01b03166370a082318b6040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610c1c57600080fd5b505afa158015610c30573d6000803e3d6000fd5b505050506040513d6020811015610c4657600080fd5b50518451859083908110610c5657fe5b6020908102919091010152600101610bb3565b5060408051600180825281830190925290602080830190803683370190505091507f000000000000000000000000000000000000000000000000000000000000000082600081518110610cb857fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509050600181600081518110610cfd57fe5b60200260200101818152505060029450610d49565b60405162461bcd60e51b815260040180806020018281038252602781526020018061183c6027913960400191505060405180910390fd5b945094509450945094565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b7fc29fa9dde84204c2908778afd0613d802d31cf046179b88f6d2b4a4e507ea2d581565b6000806000838060200190516060811015610dda57600080fd5b508051602082015160409092015190969195509350915050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166391e56b6885610e2d86611392565b85610e3786611392565b7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006040518763ffffffff1660e01b815260040180876001600160a01b03168152602001868152602001858152602001848152602001836001600160a01b031681526020018281526020019650505050505050602060405180830381600087803b158015610ee457600080fd5b505af1158015610ef8573d6000803e3d6000fd5b505050506040513d6020811015610f0e57600080fd5b505050505050565b6060818060200190516020811015610f2d57600080fd5b8101908080516040519392919084600160201b821115610f4c57600080fd5b908301906020820185811115610f6157600080fd5b82518660208202830111600160201b82111715610f7d57600080fd5b82525081516020918201928201910280838360005b83811015610faa578181015183820152602001610f92565b505050509050016040525050509050919050565b60405163d6232e8960e01b81526020600482018181528351602484015283516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169363d6232e8993869392839260440191808601910280838360005b8381101561103a578181015183820152602001611022565b5050505090500192505050600060405180830381600087803b15801561105f57600080fd5b505af1158015611073573d6000803e3d6000fd5b5050505050565b606080606083806020019051606081101561109457600080fd5b8101908080516040519392919084600160201b8211156110b357600080fd5b9083019060208201858111156110c857600080fd5b82518660208202830111600160201b821117156110e457600080fd5b82525081516020918201928201910280838360005b838110156111115781810151838201526020016110f9565b5050505090500160405260200180516040519392919084600160201b82111561113957600080fd5b90830190602082018581111561114e57600080fd5b82518660208202830111600160201b8211171561116a57600080fd5b82525081516020918201928201910280838360005b8381101561119757818101518382015260200161117f565b5050505090500160405260200180516040519392919084600160201b8211156111bf57600080fd5b9083019060208201858111156111d457600080fd5b82518660208202830111600160201b821117156111f057600080fd5b82525081516020918201928201910280838360005b8381101561121d578181015183820152602001611205565b505050509050016040525050509250925092509193909250565b6060815167ffffffffffffffff8111801561125157600080fd5b5060405190808252806020026020018201604052801561127b578160200160208202803683370190505b50905060005b825181101561138b57600083828151811061129857fe5b60200260200101519050806001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156112ef57600080fd5b505afa158015611303573d6000803e3d6000fd5b505050506040513d602081101561131957600080fd5b5051835184908490811061132957fe5b602002602001018181525050600083838151811061134357fe5b60200260200101511115611382576113828584848151811061136157fe5b6020026020010151836001600160a01b031661146d9092919063ffffffff16565b50600101611281565b5092915050565b6000816001600160a01b031663d4b839926040518163ffffffff1660e01b815260040160206040518083038186803b1580156113cd57600080fd5b505afa1580156113e1573d6000803e3d6000fd5b505050506040513d60208110156113f757600080fd5b50516040805163dbd06c8560e01b815290516001600160a01b039092169163dbd06c8591600480820192602092909190829003018186803b15801561143b57600080fd5b505afa15801561144f573d6000803e3d6000fd5b505050506040513d602081101561146557600080fd5b505192915050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526114bf9084906114c4565b505050565b6060611519826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166115759092919063ffffffff16565b8051909150156114bf5780806020019051602081101561153857600080fd5b50516114bf5760405162461bcd60e51b815260040180806020018281038252602a815260200180611812602a913960400191505060405180910390fd5b6060611584848460008561158e565b90505b9392505050565b6060824710156115cf5760405162461bcd60e51b81526004018080602001828103825260268152602001806117956026913960400191505060405180910390fd5b6115d8856116ea565b611629576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b602083106116685780518252601f199092019160209182019101611649565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146116ca576040519150601f19603f3d011682016040523d82523d6000602084013e6116cf565b606091505b50915091506116df8282866116f0565b979650505050505050565b3b151590565b606083156116ff575081611587565b82511561170f5782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611759578181015183820152602001611741565b50505050905090810190601f1680156117865780820380516001836020036101000a031916815260200191505b509250505060405180910390fdfe416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c4f6e6c792074686520496e746567726174696f6e4d616e616765722063616e2063616c6c20746869732066756e6374696f6e7061727365417373657473466f72416374696f6e3a20556e616c6c6f7765642073796e74685361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565647061727365417373657473466f72416374696f6e3a205f73656c6563746f7220696e76616c6964a164736f6c634300060c000a", "sourceMap": "696:5888:173:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2164:368;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2164:368:173;;;;;;;;;;;;;;;-1:-1:-1;;;2164:368:173;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2164:368:173;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2164:368:173;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2164:368:173;;;;;;;;;;-1:-1:-1;2164:368:173;;-1:-1:-1;2164:368:173;-1:-1:-1;2164:368:173;:::i;:::-;;1490:119:180;;;:::i;:::-;;;;-1:-1:-1;;;;;;1490:119:180;;;;;;;;;;;;;;1373:111;;;:::i;832:85::-;;;:::i;1034:87::-;;;:::i;1240:110::-;;;:::i;2999:123:195:-;;;:::i;:::-;;;;-1:-1:-1;;;;;2999:123:195;;;;;;;;;;;;;;3272:136;;;:::i;:::-;;;;;;;;;;;;;;;;706:104:180;;;:::i;2494:98:195:-;;;:::i;1127:91:180:-;;;:::i;1613:357:173:-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1613:357:173;;;;;;;;;;;;;;;-1:-1:-1;;;1613:357:173;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1613:357:173;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1613:357:173;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1613:357:173;;;;;;;;;;-1:-1:-1;1613:357:173;;-1:-1:-1;1613:357:173;-1:-1:-1;1613:357:173;:::i;577:123:180:-;;;:::i;3335:2583:173:-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3335:2583:173;;;;-1:-1:-1;;;;;;3335:2583:173;;;;;;;;;;;;;;;;-1:-1:-1;;;3335:2583:173;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3335:2583:173;;;;;;;;;;-1:-1:-1;3335:2583:173;;-1:-1:-1;3335:2583:173;-1:-1:-1;3335:2583:173;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2637:128:179;;;:::i;2734:129:195:-;;;:::i;923:89:180:-;;;:::i;2164:368:173:-;1747:10:179;-1:-1:-1;;;;;1761:19:179;1747:33;;1726:130;;;;-1:-1:-1;;;1726:130:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2323:21:173::1;2346:27:::0;2377:56:::1;2412:11;;2377:56;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;2377:21:173::1;::::0;-1:-1:-1;;;2377:56:173:i:1;:::-;2320:113;;;;;2444:81;2465:11;2478:13;2493:19;2514:10;2444:20;:81::i;:::-;1866:1:179;;2164:368:173::0;;;;;:::o;1490:119:180:-;1558:50;1490:119;:::o;1373:111::-;1437:46;1373:111;:::o;832:85::-;878:38;832:85;:::o;1034:87::-;1081:39;1034:87;:::o;1240:110::-;1303:46;1240:110;:::o;2999:123:195:-;3097:18;2999:123;:::o;3272:136::-;3378:23;3272:136;:::o;706:104:180:-;766:43;706:104;:::o;2494:98:195:-;2576:9;2494:98;:::o;1127:91:180:-;1176:41;1127:91;:::o;1613:357:173:-;1747:10:179;-1:-1:-1;;;;;1761:19:179;1747:33;;1726:130;;;;-1:-1:-1;;;1726:130:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1831:11:173::1;1844:10;;987:278:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;;1896:31:173::2;::::0;;::::2;987:278:179::1;1896:31:173::0;::::2;::::0;;::::2;::::0;::::2;::::0;;;;;;;;;;1870:23:::2;::::0;-1:-1:-1;1896:31:173::2;::::0;-1:-1:-1;1896:31:173;1915:11;;;;;;1896:31;::::2;1915:11:::0;;;;1896:31;::::2;;::::0;::::2;::::0;;;;-1:-1:-1;1896:18:173::2;::::0;-1:-1:-1;;;1896:31:173:i:2;:::-;1870:57;;1938:25;1956:6;1938:17;:25::i;:::-;1114:1:179;1131:31:::1;1166:29;1184:10;1166:17;:29::i;:::-;1126:69;;;;1206:52;1230:11;1243:14;1206:23;:52::i;:::-;;1866:1;;;1613:357:173::0;;;;;:::o;577:123:180:-;647:52;577:123;:::o;3335:2583:173:-;3539:64;3617:29;;;;-1:-1:-1;;;;;;3825:32:173;;-1:-1:-1;;;3825:32:173;3821:2031;;;3891:29;3938:21;3977:27;4021:34;4043:11;;4021:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4021:21:173;;-1:-1:-1;;;4021:34:173:i;:::-;3873:182;;;;;;4273:26;-1:-1:-1;;;;;4273:43:173;;4317:13;4273:58;;;;;;;;;;;;;-1:-1:-1;;;;;4273:58:173;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4273:58:173;4272:59;4247:155;;;;-1:-1:-1;;;4247:155:173;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4432:16;;;4446:1;4432:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4432:16:173;4417:31;;4480:13;4462:12;4475:1;4462:15;;;;;;;;-1:-1:-1;;;;;4462:31:173;;;;:15;;;;;;;;;;:31;4528:16;;;4542:1;4528:16;;;;;;;;;;;;;;4462:15;4528:16;;;;;-1:-1:-1;4528:16:173;4507:37;;4582:19;4558:18;4577:1;4558:21;;;;;;;;;;;;;;;;;:43;4634:16;;;4648:1;4634:16;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4634:16:173;4616:34;;4685:10;4664:15;4680:1;4664:18;;;;;;;;-1:-1:-1;;;;;4664:31:173;;;;:18;;;;;;;;;;:31;4736:16;;;4750:1;4736:16;;;;;;;;;;;;;;4664:18;4736:16;;;;;-1:-1:-1;4736:16:173;4709:43;;4796:21;4766:24;4791:1;4766:27;;;;;;;;;;;;;:51;;;;;4857:46;4832:226;;;;;;;3821:2031;-1:-1:-1;;;;;;5079:28:173;;-1:-1:-1;;;5079:28:173;5075:777;;;5138:31;5157:11;;5138:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5138:18:173;;-1:-1:-1;;;5138:31:173:i;:::-;5123:46;;5218:12;:19;5204:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5204:34:173;;5183:55;;5258:9;5253:148;5273:12;:19;5269:1;:23;5253:148;;;5347:12;5360:1;5347:15;;;;;;;;;;;;;;-1:-1:-1;;;;;5341:32:173;;5374:11;5341:45;;;;;;;;;;;;;-1:-1:-1;;;;;5341:45:173;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5341:45:173;5317:21;;:18;;5336:1;;5317:21;;;;;;;;;;;;;;;:69;5294:3;;5253:148;;;-1:-1:-1;5433:16:173;;;5447:1;5433:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5433:16:173;5415:34;;5484:10;5463:15;5479:1;5463:18;;;;;;;;-1:-1:-1;;;;;5463:31:173;;;;:18;;;;;;;;;;:31;5535:16;;;5549:1;5535:16;;;;;;;;;;;;;;5463:18;5535:16;;;;;-1:-1:-1;5535:16:173;5508:43;;5595:1;5565:24;5590:1;5565:27;;;;;;;;;;;;;:31;;;;;5636:50;5611:230;;;;5075:777;5862:49;;-1:-1:-1;;;5862:49:173;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3335:2583;;;;;;;;;;:::o;2637:128:179:-;2739:19;2637:128;:::o;2734:129:195:-;2836:20;2734:129;:::o;923:89:180:-;971:40;923:89;:::o;6267:315:173:-;6383:30;6427:22;6463:28;6534:11;6523:52;;;;;;;;;;;;;;;-1:-1:-1;6523:52:173;;;;;;;;;;;;;;;-1:-1:-1;6523:52:173;-1:-1:-1;6267:315:173;-1:-1:-1;;6267:315:173:o;1640:491:195:-;1836:9;-1:-1:-1;;;;;1825:50:195;;1889:10;1913:41;1939:14;1913:25;:41::i;:::-;1968:20;2002:41;2028:14;2002:25;:41::i;:::-;2057:20;2091:23;1825:299;;;;;;;;;;;;;-1:-1:-1;;;;;1825:299:195;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1825:299:195;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1640:491:195:o;6009:190:173:-;6109:24;6167:11;6156:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;6156:36:173;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;6156:36:173;;;;;;;;;;;;-1:-1:-1;6156:36:173;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6149:43;;6009:190;;;:::o;2175:136:195:-;2247:57;;-1:-1:-1;;;2247:57:195;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2266:18:195;2247:48;;;;2296:7;;2247:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2175:136;:::o;2093:332:179:-;2205:29;2248:35;2297:32;2372:10;2361:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;-1:-1:-1;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;-1:-1:-1;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;-1:-1:-1;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2354:64;;;;;;2093:332;;;;;:::o;3539:585:355:-;3649:36;3737:7;:14;3723:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3723:29:355;;3701:51;;3767:9;3762:319;3782:7;:14;3778:1;:18;3762:319;;;3817:19;3845:7;3853:1;3845:10;;;;;;;;;;;;;;3817:39;;3895:13;-1:-1:-1;;;;;3895:23:355;;3927:4;3895:38;;;;;;;;;;;;;-1:-1:-1;;;;;3895:38:355;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3895:38:355;3870:22;;:19;;3890:1;;3870:22;;;;;;;;;;;:63;;;;;3976:1;3951:19;3971:1;3951:22;;;;;;;;;;;;;;:26;3947:124;;;3997:59;4024:7;4033:19;4053:1;4033:22;;;;;;;;;;;;;;3997:13;-1:-1:-1;;;;;3997:26:355;;;:59;;;;;:::i;:::-;-1:-1:-1;3798:3:355;;3762:319;;;;3539:585;;;;:::o;1377:216:195:-;1475:20;1555:6;-1:-1:-1;;;;;1534:35:195;;:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1534:37:195;1518:68;;;-1:-1:-1;;;1518:68:195;;;;-1:-1:-1;;;;;1518:66:195;;;;;;:68;;;;;1534:37;;1518:68;;;;;;;;:66;:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1518:68:195;;1377:216;-1:-1:-1;;1377:216:195:o;704:175:450:-;813:58;;;-1:-1:-1;;;;;813:58:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;813:58:450;-1:-1:-1;;;813:58:450;;;786:86;;806:5;;786:19;:86::i;:::-;704:175;;;:::o;2967:751::-;3386:23;3412:69;3440:4;3412:69;;;;;;;;;;;;;;;;;3420:5;-1:-1:-1;;;;;3412:27:450;;;:69;;;;;:::i;:::-;3495:17;;3386:95;;-1:-1:-1;3495:21:450;3491:221;;3635:10;3624:30;;;;;;;;;;;;;;;-1:-1:-1;3624:30:450;3616:85;;;;-1:-1:-1;;;3616:85:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3581:193:451;3684:12;3715:52;3737:6;3745:4;3751:1;3754:12;3715:21;:52::i;:::-;3708:59;;3581:193;;;;;;:::o;4608:523::-;4735:12;4792:5;4767:21;:30;;4759:81;;;;-1:-1:-1;;;4759:81:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4858:18;4869:6;4858:10;:18::i;:::-;4850:60;;;;;-1:-1:-1;;;4850:60:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;4981:12;4995:23;5022:6;-1:-1:-1;;;;;5022:11:451;5042:5;5050:4;5022:33;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5022:33:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4980:75;;;;5072:52;5090:7;5099:10;5111:12;5072:17;:52::i;:::-;5065:59;4608:523;-1:-1:-1;;;;;;;4608:523:451:o;726:413::-;1086:20;1124:8;;;726:413::o;7091:725::-;7206:12;7234:7;7230:580;;;-1:-1:-1;7264:10:451;7257:17;;7230:580;7375:17;;:21;7371:429;;7633:10;7627:17;7693:15;7680:10;7676:2;7672:19;7665:44;7582:145;7772:12;7765:20;;-1:-1:-1;;;7765:20:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;", "linkReferences": {}, "immutableReferences": { "47284": [ { "start": 1505, "length": 32 }, { "start": 2697, "length": 32 }, { "start": 3212, "length": 32 } ], "47286": [ { "start": 2325, "length": 32 } ], "49791": [ { "start": 1334, "length": 32 }, { "start": 1921, "length": 32 }, { "start": 3414, "length": 32 } ], "51819": [ { "start": 1840, "length": 32 }, { "start": 3574, "length": 32 } ], "51821": [ { "start": 3450, "length": 32 }, { "start": 3641, "length": 32 } ], "51823": [ { "start": 1732, "length": 32 }, { "start": 4071, "length": 32 } ], "51825": [ { "start": 1768, "length": 32 }, { "start": 3674, "length": 32 } ] } }, "methodIdentifiers": { "CLAIM_REWARDS_SELECTOR()": "40da225d", "LEND_AND_STAKE_SELECTOR()": "131461c0", "LEND_SELECTOR()": "257cb1a3", "REDEEM_SELECTOR()": "f7d882b5", "STAKE_SELECTOR()": "3ffc1591", "TAKE_MULTIPLE_ORDERS_SELECTOR()": "c32990a2", "TAKE_ORDER_SELECTOR()": "863e5ad0", "UNSTAKE_AND_REDEEM_SELECTOR()": "080456c1", "UNSTAKE_SELECTOR()": "b23228cf", "getIntegrationManager()": "e7c45690", "getSynthetix()": "90956d99", "getSynthetixOriginator()": "f3863b97", "getSynthetixRedeemer()": "71dca19b", "getSynthetixTrackingCode()": "7b0f0a57", "parseAssetsForAction(address,bytes4,bytes)": "c54efee5", "redeem(address,bytes,bytes)": "c29fa9dd", "takeOrder(address,bytes,bytes)": "03e38a2b" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_integrationManager\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_valueInterpreter\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_originator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_synthetixRedeemer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_synthetix\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_susd\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"_trackingCode\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"CLAIM_REWARDS_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LEND_AND_STAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LEND_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"REDEEM_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"STAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TAKE_MULTIPLE_ORDERS_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TAKE_ORDER_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UNSTAKE_AND_REDEEM_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UNSTAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getIntegrationManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"integrationManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getSynthetix\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"synthetix_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getSynthetixOriginator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"synthetixOriginator_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getSynthetixRedeemer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"synthetixRedeemer_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getSynthetixTrackingCode\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"synthetixTrackingCode_\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"_selector\",\"type\":\"bytes4\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"}],\"name\":\"parseAssetsForAction\",\"outputs\":[{\"internalType\":\"enum IIntegrationManager.SpendAssetsHandleType\",\"name\":\"spendAssetsHandleType_\",\"type\":\"uint8\"},{\"internalType\":\"address[]\",\"name\":\"spendAssets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"spendAssetAmounts_\",\"type\":\"uint256[]\"},{\"internalType\":\"address[]\",\"name\":\"incomingAssets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"minIncomingAssetAmounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"_assetData\",\"type\":\"bytes\"}],\"name\":\"redeem\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"takeOrder\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"This adapter currently only provides mechanisms for exiting an already-held synth position into sUSD\",\"kind\":\"dev\",\"methods\":{\"getIntegrationManager()\":{\"returns\":{\"integrationManager_\":\"The `INTEGRATION_MANAGER` variable value\"}},\"getSynthetix()\":{\"returns\":{\"synthetix_\":\"The `SYNTHETIX` variable value\"}},\"getSynthetixOriginator()\":{\"returns\":{\"synthetixOriginator_\":\"The `SYNTHETIX_ORIGINATOR` variable value\"}},\"getSynthetixRedeemer()\":{\"returns\":{\"synthetixRedeemer_\":\"The `SYNTHETIX_REDEEMER` variable value\"}},\"getSynthetixTrackingCode()\":{\"returns\":{\"synthetixTrackingCode_\":\"The `SYNTHETIX_TRACKING_CODE` variable value\"}},\"parseAssetsForAction(address,bytes4,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_selector\":\"The function selector for the callOnIntegration\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"},\"returns\":{\"incomingAssets_\":\"The assets to receive in the call\",\"minIncomingAssetAmounts_\":\"The min asset amounts to receive in the call\",\"spendAssetAmounts_\":\"The max asset amounts to spend in the call\",\"spendAssetsHandleType_\":\"A type that dictates how to handle granting the adapter access to spend assets (`None` by default)\",\"spendAssets_\":\"The assets to spend in the call\"}},\"redeem(address,bytes,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_assetData\":\"Parsed spend assets and incoming assets data for this action\"}},\"takeOrder(address,bytes,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}}},\"title\":\"SynthetixAdapter Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getIntegrationManager()\":{\"notice\":\"Gets the `INTEGRATION_MANAGER` variable\"},\"getSynthetix()\":{\"notice\":\"Gets the `SYNTHETIX` variable\"},\"getSynthetixOriginator()\":{\"notice\":\"Gets the `SYNTHETIX_ORIGINATOR` variable\"},\"getSynthetixRedeemer()\":{\"notice\":\"Gets the `SYNTHETIX_REDEEMER` variable\"},\"getSynthetixTrackingCode()\":{\"notice\":\"Gets the `SYNTHETIX_TRACKING_CODE` variable\"},\"parseAssetsForAction(address,bytes4,bytes)\":{\"notice\":\"Parses the expected assets in a particular action\"},\"redeem(address,bytes,bytes)\":{\"notice\":\"Redeems an array of deprecated synths for their last underlying sUSD values\"},\"takeOrder(address,bytes,bytes)\":{\"notice\":\"Trades assets on Synthetix\"}},\"notice\":\"Adapter for interacting with Synthetix\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/integration-manager/integrations/adapters/SynthetixAdapter.sol\":\"SynthetixAdapter\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/extensions/integration-manager/IIntegrationManager.sol\":{\"keccak256\":\"0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23\",\"dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk\"]},\"contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol\":{\"keccak256\":\"0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336\",\"dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS\"]},\"contracts/release/extensions/integration-manager/integrations/adapters/SynthetixAdapter.sol\":{\"keccak256\":\"0x22bd7f7ca2f819c05e8c96b77085414b49d65fc3e58a88f6a78c2efeb98b29a1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f8af422a26c2608fc5113233727701b2094a39665581ae6517dfafdef5ea8506\",\"dweb:/ipfs/QmP6LQAj5r4985GUMqfiHrgLEv9gwt63WAeTzHLmF7ekUe\"]},\"contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol\":{\"keccak256\":\"0x067e49bf0d3c1655ab41a413c65ccf61d4e593308132e1ffc484a0fadfbbaf26\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://387f425017e18e89cc1893521101fa99df595314847d0b3d9a1162369f714fcf\",\"dweb:/ipfs/Qmco3jCvuWAyfCpBYpGzHrQjiFJG63w1RJKcakoTEbxRQm\"]},\"contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol\":{\"keccak256\":\"0xfd34c7ca8231c6935e25dede32ca2b3121738e624d0fc896f7b895a731edcf88\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d492c061963d36d07718446db191d4c5a340c0d847f6cd209f027bd99f7cb176\",\"dweb:/ipfs/QmfCvRZt56ftDdrEh6LepHXFJ4fVtcfpQGvEyY8k4zxG1A\"]},\"contracts/release/extensions/integration-manager/integrations/utils/actions/SynthetixActionsMixin.sol\":{\"keccak256\":\"0xcb463c92ee424cdf16a0e841968939274a39fcdeab1a0b119232e2540ea3ea0c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://fc93e10d71b31eb06527fbcc7e9cc5cc7bc1f6bffa17833c58e1ed693fcc38f6\",\"dweb:/ipfs/Qmegov8rbwu9hVdooJrBFzxGmKSLiSJHb9Toxy8b4amVdU\"]},\"contracts/release/infrastructure/price-feeds/derivatives/AggregatedDerivativePriceFeedMixin.sol\":{\"keccak256\":\"0x85d2ac39834dae7feb04f0e37317a38b8abeb0f950692fbc9d29078c52cd8d52\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://7bf8f1ce064d85a2812a944fc93068955b233924097f7f45898be3db826579d5\",\"dweb:/ipfs/Qme7f6AhxLVn32prM8fHaCvxtVi86A9KqFMqPA1s88kVYR\"]},\"contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol\":{\"keccak256\":\"0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e\",\"dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK\"]},\"contracts/release/infrastructure/price-feeds/primitives/ChainlinkPriceFeedMixin.sol\":{\"keccak256\":\"0x7fb0078e7387f07ff09958fe4e4e7b317e72c23884f61e8c133776cad522f8bb\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://e973f29ed0c3bf03e20154ab4b0cfc68c3a4372a52ec746f9d9f86697b30e977\",\"dweb:/ipfs/QmfMb7H1zNnj2hzmUr6742HmCTiNVuQ2PFjeR8q2M4Liyu\"]},\"contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol\":{\"keccak256\":\"0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965\",\"dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ\"]},\"contracts/release/infrastructure/value-interpreter/ValueInterpreter.sol\":{\"keccak256\":\"0x64565011785d0d29a75021cda34687cfbc0641094d6f2faf4d9c78c8cd9f0d1d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://03ea9b29a332436d18ca1a4df7e5cdf231d5142dfb916a39cb3a721342d54e0e\",\"dweb:/ipfs/QmcB8Z7A7QELAxg2FfJpD26k2bUhMNUT4wACMVKxuge3QS\"]},\"contracts/release/interfaces/IChainlinkAggregator.sol\":{\"keccak256\":\"0x8104db68d4edc00c86b29b366f4397cdbe7bd95bb9dc90f54140af4bae963788\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://4664240be22fe76bd4e84d1cbaace3998dbc96759a14345819a889f0c288d22e\",\"dweb:/ipfs/QmQ8fbA4tvXeCeaAFeS2JrLEQUPFeYrePAKoUywRtcicgA\"]},\"contracts/release/interfaces/ISynthetix.sol\":{\"keccak256\":\"0x6e90f409738433ba404b21e7593efb37786cceea8740113ab608da9fd53c6db8\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://16212cd905d2b1552d64b9bb223195c99142d3d89108a0f0e22016e4521ca7db\",\"dweb:/ipfs/QmbbHnYkquBT2z8JWexZxjDxCJQK6ogsT5pdyZXxwoWsoK\"]},\"contracts/release/interfaces/ISynthetixProxyERC20.sol\":{\"keccak256\":\"0x32714bb006e6861aece8fe1a5e3862e0b5562bd7a482ab80f0330f2c0bbc5da6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://18cec76d589d9d1057d77fd111100c56f53118b41d9cfa861f61a746abbd7b60\",\"dweb:/ipfs/QmXt67NWo88Qt4aHTtxZcTLStchwsVoTeuf3tqPwK5jjn7\"]},\"contracts/release/interfaces/ISynthetixRedeemer.sol\":{\"keccak256\":\"0xd2da4586a6de782c91bdf602f5f2cc408c080e42ad5023b5cc42f04eedb43238\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://22625ee876bf58a980ff7fd5a974d7c3ac2608d652ad044b05cf0799cb902817\",\"dweb:/ipfs/QmSAL2Q8wEXmA8B7Pxof8LUtbnXWiBpuVz5kFuFqdMeQvR\"]},\"contracts/release/interfaces/ISynthetixSynth.sol\":{\"keccak256\":\"0xfad43b0fead48317fd90bfc3874d1511dc0de094764981467fa4cded78b39108\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://15edd80eee695ea75a22bdc7b2d8478d2f80bf7efacebaf113981c7787ea4717\",\"dweb:/ipfs/QmcRZWGhbM3UTwAEvHxBz1e9MPXcsDXUQRUYzpEecGTBwM\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"contracts/release/utils/FundDeployerOwnerMixin.sol\":{\"keccak256\":\"0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927\",\"dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM\"]},\"contracts/release/utils/MathHelpers.sol\":{\"keccak256\":\"0x8aef498ae98bfb40cd1df8c9ed652b4c092fbbe62d5a1fad522c53654523248e\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ed62789f6a8d5ca30a40c591f244b915e4711493a9e4b1b4d40ea2bc97b02a95\",\"dweb:/ipfs/QmWyXJ55arURtx9VMkUQokdsjk8tbgM2cC8rENFUMyz5D3\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_integrationManager", "type": "address" }, { "internalType": "address", "name": "_valueInterpreter", "type": "address" }, { "internalType": "address", "name": "_originator", "type": "address" }, { "internalType": "address", "name": "_synthetixRedeemer", "type": "address" }, { "internalType": "address", "name": "_synthetix", "type": "address" }, { "internalType": "address", "name": "_susd", "type": "address" }, { "internalType": "bytes32", "name": "_trackingCode", "type": "bytes32" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "CLAIM_REWARDS_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "LEND_AND_STAKE_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "LEND_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "REDEEM_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "STAKE_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "TAKE_MULTIPLE_ORDERS_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "TAKE_ORDER_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "UNSTAKE_AND_REDEEM_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "UNSTAKE_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getIntegrationManager", "outputs": [ { "internalType": "address", "name": "integrationManager_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getSynthetix", "outputs": [ { "internalType": "address", "name": "synthetix_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getSynthetixOriginator", "outputs": [ { "internalType": "address", "name": "synthetixOriginator_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getSynthetixRedeemer", "outputs": [ { "internalType": "address", "name": "synthetixRedeemer_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getSynthetixTrackingCode", "outputs": [ { "internalType": "bytes32", "name": "synthetixTrackingCode_", "type": "bytes32" } ] }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "bytes4", "name": "_selector", "type": "bytes4" }, { "internalType": "bytes", "name": "_actionData", "type": "bytes" } ], "stateMutability": "view", "type": "function", "name": "parseAssetsForAction", "outputs": [ { "internalType": "enum IIntegrationManager.SpendAssetsHandleType", "name": "spendAssetsHandleType_", "type": "uint8" }, { "internalType": "address[]", "name": "spendAssets_", "type": "address[]" }, { "internalType": "uint256[]", "name": "spendAssetAmounts_", "type": "uint256[]" }, { "internalType": "address[]", "name": "incomingAssets_", "type": "address[]" }, { "internalType": "uint256[]", "name": "minIncomingAssetAmounts_", "type": "uint256[]" } ] }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "bytes", "name": "_actionData", "type": "bytes" }, { "internalType": "bytes", "name": "_assetData", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "redeem" }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "bytes", "name": "_actionData", "type": "bytes" }, { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "takeOrder" } ], "devdoc": { "kind": "dev", "methods": { "getIntegrationManager()": { "returns": { "integrationManager_": "The `INTEGRATION_MANAGER` variable value" } }, "getSynthetix()": { "returns": { "synthetix_": "The `SYNTHETIX` variable value" } }, "getSynthetixOriginator()": { "returns": { "synthetixOriginator_": "The `SYNTHETIX_ORIGINATOR` variable value" } }, "getSynthetixRedeemer()": { "returns": { "synthetixRedeemer_": "The `SYNTHETIX_REDEEMER` variable value" } }, "getSynthetixTrackingCode()": { "returns": { "synthetixTrackingCode_": "The `SYNTHETIX_TRACKING_CODE` variable value" } }, "parseAssetsForAction(address,bytes4,bytes)": { "params": { "_actionData": "Data specific to this action", "_selector": "The function selector for the callOnIntegration", "_vaultProxy": "The VaultProxy of the calling fund" }, "returns": { "incomingAssets_": "The assets to receive in the call", "minIncomingAssetAmounts_": "The min asset amounts to receive in the call", "spendAssetAmounts_": "The max asset amounts to spend in the call", "spendAssetsHandleType_": "A type that dictates how to handle granting the adapter access to spend assets (`None` by default)", "spendAssets_": "The assets to spend in the call" } }, "redeem(address,bytes,bytes)": { "params": { "_actionData": "Data specific to this action", "_assetData": "Parsed spend assets and incoming assets data for this action" } }, "takeOrder(address,bytes,bytes)": { "params": { "_actionData": "Data specific to this action", "_vaultProxy": "The VaultProxy of the calling fund" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "getIntegrationManager()": { "notice": "Gets the `INTEGRATION_MANAGER` variable" }, "getSynthetix()": { "notice": "Gets the `SYNTHETIX` variable" }, "getSynthetixOriginator()": { "notice": "Gets the `SYNTHETIX_ORIGINATOR` variable" }, "getSynthetixRedeemer()": { "notice": "Gets the `SYNTHETIX_REDEEMER` variable" }, "getSynthetixTrackingCode()": { "notice": "Gets the `SYNTHETIX_TRACKING_CODE` variable" }, "parseAssetsForAction(address,bytes4,bytes)": { "notice": "Parses the expected assets in a particular action" }, "redeem(address,bytes,bytes)": { "notice": "Redeems an array of deprecated synths for their last underlying sUSD values" }, "takeOrder(address,bytes,bytes)": { "notice": "Trades assets on Synthetix" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/integration-manager/integrations/adapters/SynthetixAdapter.sol": "SynthetixAdapter" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/core/fund-deployer/IFundDeployer.sol": { "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", "urls": [ "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/IIntegrationManager.sol": { "keccak256": "0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef", "urls": [ "bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23", "dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol": { "keccak256": "0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1", "urls": [ "bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336", "dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/adapters/SynthetixAdapter.sol": { "keccak256": "0x22bd7f7ca2f819c05e8c96b77085414b49d65fc3e58a88f6a78c2efeb98b29a1", "urls": [ "bzz-raw://f8af422a26c2608fc5113233727701b2094a39665581ae6517dfafdef5ea8506", "dweb:/ipfs/QmP6LQAj5r4985GUMqfiHrgLEv9gwt63WAeTzHLmF7ekUe" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol": { "keccak256": "0x067e49bf0d3c1655ab41a413c65ccf61d4e593308132e1ffc484a0fadfbbaf26", "urls": [ "bzz-raw://387f425017e18e89cc1893521101fa99df595314847d0b3d9a1162369f714fcf", "dweb:/ipfs/Qmco3jCvuWAyfCpBYpGzHrQjiFJG63w1RJKcakoTEbxRQm" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol": { "keccak256": "0xfd34c7ca8231c6935e25dede32ca2b3121738e624d0fc896f7b895a731edcf88", "urls": [ "bzz-raw://d492c061963d36d07718446db191d4c5a340c0d847f6cd209f027bd99f7cb176", "dweb:/ipfs/QmfCvRZt56ftDdrEh6LepHXFJ4fVtcfpQGvEyY8k4zxG1A" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/utils/actions/SynthetixActionsMixin.sol": { "keccak256": "0xcb463c92ee424cdf16a0e841968939274a39fcdeab1a0b119232e2540ea3ea0c", "urls": [ "bzz-raw://fc93e10d71b31eb06527fbcc7e9cc5cc7bc1f6bffa17833c58e1ed693fcc38f6", "dweb:/ipfs/Qmegov8rbwu9hVdooJrBFzxGmKSLiSJHb9Toxy8b4amVdU" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/price-feeds/derivatives/AggregatedDerivativePriceFeedMixin.sol": { "keccak256": "0x85d2ac39834dae7feb04f0e37317a38b8abeb0f950692fbc9d29078c52cd8d52", "urls": [ "bzz-raw://7bf8f1ce064d85a2812a944fc93068955b233924097f7f45898be3db826579d5", "dweb:/ipfs/Qme7f6AhxLVn32prM8fHaCvxtVi86A9KqFMqPA1s88kVYR" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol": { "keccak256": "0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332", "urls": [ "bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e", "dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/price-feeds/primitives/ChainlinkPriceFeedMixin.sol": { "keccak256": "0x7fb0078e7387f07ff09958fe4e4e7b317e72c23884f61e8c133776cad522f8bb", "urls": [ "bzz-raw://e973f29ed0c3bf03e20154ab4b0cfc68c3a4372a52ec746f9d9f86697b30e977", "dweb:/ipfs/QmfMb7H1zNnj2hzmUr6742HmCTiNVuQ2PFjeR8q2M4Liyu" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol": { "keccak256": "0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794", "urls": [ "bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965", "dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/value-interpreter/ValueInterpreter.sol": { "keccak256": "0x64565011785d0d29a75021cda34687cfbc0641094d6f2faf4d9c78c8cd9f0d1d", "urls": [ "bzz-raw://03ea9b29a332436d18ca1a4df7e5cdf231d5142dfb916a39cb3a721342d54e0e", "dweb:/ipfs/QmcB8Z7A7QELAxg2FfJpD26k2bUhMNUT4wACMVKxuge3QS" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IChainlinkAggregator.sol": { "keccak256": "0x8104db68d4edc00c86b29b366f4397cdbe7bd95bb9dc90f54140af4bae963788", "urls": [ "bzz-raw://4664240be22fe76bd4e84d1cbaace3998dbc96759a14345819a889f0c288d22e", "dweb:/ipfs/QmQ8fbA4tvXeCeaAFeS2JrLEQUPFeYrePAKoUywRtcicgA" ], "license": "GPL-3.0" }, "contracts/release/interfaces/ISynthetix.sol": { "keccak256": "0x6e90f409738433ba404b21e7593efb37786cceea8740113ab608da9fd53c6db8", "urls": [ "bzz-raw://16212cd905d2b1552d64b9bb223195c99142d3d89108a0f0e22016e4521ca7db", "dweb:/ipfs/QmbbHnYkquBT2z8JWexZxjDxCJQK6ogsT5pdyZXxwoWsoK" ], "license": "GPL-3.0" }, "contracts/release/interfaces/ISynthetixProxyERC20.sol": { "keccak256": "0x32714bb006e6861aece8fe1a5e3862e0b5562bd7a482ab80f0330f2c0bbc5da6", "urls": [ "bzz-raw://18cec76d589d9d1057d77fd111100c56f53118b41d9cfa861f61a746abbd7b60", "dweb:/ipfs/QmXt67NWo88Qt4aHTtxZcTLStchwsVoTeuf3tqPwK5jjn7" ], "license": "GPL-3.0" }, "contracts/release/interfaces/ISynthetixRedeemer.sol": { "keccak256": "0xd2da4586a6de782c91bdf602f5f2cc408c080e42ad5023b5cc42f04eedb43238", "urls": [ "bzz-raw://22625ee876bf58a980ff7fd5a974d7c3ac2608d652ad044b05cf0799cb902817", "dweb:/ipfs/QmSAL2Q8wEXmA8B7Pxof8LUtbnXWiBpuVz5kFuFqdMeQvR" ], "license": "GPL-3.0" }, "contracts/release/interfaces/ISynthetixSynth.sol": { "keccak256": "0xfad43b0fead48317fd90bfc3874d1511dc0de094764981467fa4cded78b39108", "urls": [ "bzz-raw://15edd80eee695ea75a22bdc7b2d8478d2f80bf7efacebaf113981c7787ea4717", "dweb:/ipfs/QmcRZWGhbM3UTwAEvHxBz1e9MPXcsDXUQRUYzpEecGTBwM" ], "license": "GPL-3.0" }, "contracts/release/utils/AssetHelpers.sol": { "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", "urls": [ "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" ], "license": "GPL-3.0" }, "contracts/release/utils/FundDeployerOwnerMixin.sol": { "keccak256": "0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934", "urls": [ "bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927", "dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM" ], "license": "GPL-3.0" }, "contracts/release/utils/MathHelpers.sol": { "keccak256": "0x8aef498ae98bfb40cd1df8c9ed652b4c092fbbe62d5a1fad522c53654523248e", "urls": [ "bzz-raw://ed62789f6a8d5ca30a40c591f244b915e4711493a9e4b1b4d40ea2bc97b02a95", "dweb:/ipfs/QmWyXJ55arURtx9VMkUQokdsjk8tbgM2cC8rENFUMyz5D3" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", "urls": [ "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Address.sol": { "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", "urls": [ "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" } }, "version": 1 }, "id": 173 } diff --git a/eth_defi/abi/enzyme/Test.json b/eth_defi/abi/enzyme/Test.json index 9c73f1c7..de70c73b 100644 --- a/eth_defi/abi/enzyme/Test.json +++ b/eth_defi/abi/enzyme/Test.json @@ -1,957 +1 @@ -{ - "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_SCRIPT", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "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" - }, - { - "inputs": [], - "name": "vm", - "outputs": [ - { - "internalType": "contract Vm", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "IS_SCRIPT()": "f8ccbf47", - "IS_TEST()": "fa7626d4", - "failed()": "ba414fa6", - "vm()": "3a768463" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"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_SCRIPT\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"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\"},{\"inputs\":[],\"name\":\"vm\",\"outputs\":[{\"internalType\":\"contract Vm\",\"name\":\"\",\"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\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"lib/forge-std/lib/ds-test/src/test.sol\":{\"keccak256\":\"0xb39cd1d5220cb474947b131e15a4538334b7e886af244b440ae5c9c6bba96a54\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://3101520221449ac0070bda3881311a71d9aa87e5210765e875246922cb5cb5f5\",\"dweb:/ipfs/Qmbg6kAHNoG7ox9N9Xqd9Ere2H2XixMFWFqvyPwFCzB3Gr\"]},\"lib/forge-std/src/Script.sol\":{\"keccak256\":\"0x4424dbcb8f5b741475445726f87408fcd89951fad973bec2ca442ee157f910e7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5b0b9f6dfb69245d8f888558ae82bf1d2cdeace46201444fe4b2e6a5283f944a\",\"dweb:/ipfs/QmWFSKeFEZngNcwNn7A84EF7pASo5qe6r5oK24r9Kwca7Z\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0xa85dee62f7a3d7d3b26051f28d08bbfaa6d76888b8e64395583c35f11070372b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f3ecace3d6120731c4520f651c36658940df958755a2c86d6bf0ec895320a915\",\"dweb:/ipfs/QmVGbUYLtMsAYF3C27qHKs3VHRuRNDypuDfs4XGK47kqUT\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x63fc2487cf3a6650d933e18bcb61766f15f74c327192381806ea00f8f6446f66\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aad99f7b2ed3b11ff6c17b84b4196c562898640a80cabc2c28c87c116099a00f\",\"dweb:/ipfs/QmQNNbxHabRycegyXwJWBDutrdcScAP2SU5zEvorWEaFpx\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0xbeb823fcdb356244a83aaccdf828ad019ecc1ffaa3dff18e624fc6d5714ea671\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4cbe9400340e5f9ec55e2aff3bad1c15fa3afbbe37e80800e6f3fed2ad26854f\",\"dweb:/ipfs/QmdJBABsuXkvWxVzEyGXsTE3vyfBPXDdw5xvvtUz3JeoYW\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "string", - "name": "", - "type": "string", - "indexed": false - } - ], - "type": "event", - "name": "log", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "log_address", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "uint256[]", - "name": "val", - "type": "uint256[]", - "indexed": false - } - ], - "type": "event", - "name": "log_array", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "int256[]", - "name": "val", - "type": "int256[]", - "indexed": false - } - ], - "type": "event", - "name": "log_array", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "val", - "type": "address[]", - "indexed": false - } - ], - "type": "event", - "name": "log_array", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes", - "indexed": false - } - ], - "type": "event", - "name": "log_bytes", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32", - "indexed": false - } - ], - "type": "event", - "name": "log_bytes32", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "int256", - "name": "", - "type": "int256", - "indexed": false - } - ], - "type": "event", - "name": "log_int", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "key", - "type": "string", - "indexed": false - }, - { - "internalType": "address", - "name": "val", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "log_named_address", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "key", - "type": "string", - "indexed": false - }, - { - "internalType": "uint256[]", - "name": "val", - "type": "uint256[]", - "indexed": false - } - ], - "type": "event", - "name": "log_named_array", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "key", - "type": "string", - "indexed": false - }, - { - "internalType": "int256[]", - "name": "val", - "type": "int256[]", - "indexed": false - } - ], - "type": "event", - "name": "log_named_array", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "key", - "type": "string", - "indexed": false - }, - { - "internalType": "address[]", - "name": "val", - "type": "address[]", - "indexed": false - } - ], - "type": "event", - "name": "log_named_array", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "key", - "type": "string", - "indexed": false - }, - { - "internalType": "bytes", - "name": "val", - "type": "bytes", - "indexed": false - } - ], - "type": "event", - "name": "log_named_bytes", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "key", - "type": "string", - "indexed": false - }, - { - "internalType": "bytes32", - "name": "val", - "type": "bytes32", - "indexed": false - } - ], - "type": "event", - "name": "log_named_bytes32", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "key", - "type": "string", - "indexed": false - }, - { - "internalType": "int256", - "name": "val", - "type": "int256", - "indexed": false - }, - { - "internalType": "uint256", - "name": "decimals", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "log_named_decimal_int", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "key", - "type": "string", - "indexed": false - }, - { - "internalType": "uint256", - "name": "val", - "type": "uint256", - "indexed": false - }, - { - "internalType": "uint256", - "name": "decimals", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "log_named_decimal_uint", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "key", - "type": "string", - "indexed": false - }, - { - "internalType": "int256", - "name": "val", - "type": "int256", - "indexed": false - } - ], - "type": "event", - "name": "log_named_int", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "key", - "type": "string", - "indexed": false - }, - { - "internalType": "string", - "name": "val", - "type": "string", - "indexed": false - } - ], - "type": "event", - "name": "log_named_string", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "key", - "type": "string", - "indexed": false - }, - { - "internalType": "uint256", - "name": "val", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "log_named_uint", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "", - "type": "string", - "indexed": false - } - ], - "type": "event", - "name": "log_string", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "log_uint", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes", - "indexed": false - } - ], - "type": "event", - "name": "logs", - "anonymous": false - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "IS_SCRIPT", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "IS_TEST", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "failed", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "vm", - "outputs": [ - { - "internalType": "contract Vm", - "name": "", - "type": "address" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "lib/forge-std/src/Test.sol": "Test" - }, - "libraries": {} - }, - "sources": { - "lib/forge-std/lib/ds-test/src/test.sol": { - "keccak256": "0xb39cd1d5220cb474947b131e15a4538334b7e886af244b440ae5c9c6bba96a54", - "urls": [ - "bzz-raw://3101520221449ac0070bda3881311a71d9aa87e5210765e875246922cb5cb5f5", - "dweb:/ipfs/Qmbg6kAHNoG7ox9N9Xqd9Ere2H2XixMFWFqvyPwFCzB3Gr" - ], - "license": "GPL-3.0-or-later" - }, - "lib/forge-std/src/Script.sol": { - "keccak256": "0x4424dbcb8f5b741475445726f87408fcd89951fad973bec2ca442ee157f910e7", - "urls": [ - "bzz-raw://5b0b9f6dfb69245d8f888558ae82bf1d2cdeace46201444fe4b2e6a5283f944a", - "dweb:/ipfs/QmWFSKeFEZngNcwNn7A84EF7pASo5qe6r5oK24r9Kwca7Z" - ], - "license": "MIT" - }, - "lib/forge-std/src/Test.sol": { - "keccak256": "0xa85dee62f7a3d7d3b26051f28d08bbfaa6d76888b8e64395583c35f11070372b", - "urls": [ - "bzz-raw://f3ecace3d6120731c4520f651c36658940df958755a2c86d6bf0ec895320a915", - "dweb:/ipfs/QmVGbUYLtMsAYF3C27qHKs3VHRuRNDypuDfs4XGK47kqUT" - ], - "license": "MIT" - }, - "lib/forge-std/src/Vm.sol": { - "keccak256": "0x63fc2487cf3a6650d933e18bcb61766f15f74c327192381806ea00f8f6446f66", - "urls": [ - "bzz-raw://aad99f7b2ed3b11ff6c17b84b4196c562898640a80cabc2c28c87c116099a00f", - "dweb:/ipfs/QmQNNbxHabRycegyXwJWBDutrdcScAP2SU5zEvorWEaFpx" - ], - "license": "MIT" - }, - "lib/forge-std/src/console.sol": { - "keccak256": "0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba", - "urls": [ - "bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70", - "dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec" - ], - "license": "MIT" - }, - "lib/forge-std/src/console2.sol": { - "keccak256": "0xbeb823fcdb356244a83aaccdf828ad019ecc1ffaa3dff18e624fc6d5714ea671", - "urls": [ - "bzz-raw://4cbe9400340e5f9ec55e2aff3bad1c15fa3afbbe37e80800e6f3fed2ad26854f", - "dweb:/ipfs/QmdJBABsuXkvWxVzEyGXsTE3vyfBPXDdw5xvvtUz3JeoYW" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 437 -} +{ "abi": [ { "type": "function", "name": "IS_SCRIPT", "inputs": [], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "IS_TEST", "inputs": [], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "failed", "inputs": [], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "vm", "inputs": [], "outputs": [ { "name": "", "type": "address", "internalType": "contract Vm" } ], "stateMutability": "view" }, { "type": "event", "name": "log", "inputs": [ { "name": "", "type": "string", "indexed": false, "internalType": "string" } ], "anonymous": false }, { "type": "event", "name": "log_address", "inputs": [ { "name": "", "type": "address", "indexed": false, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "log_array", "inputs": [ { "name": "val", "type": "uint256[]", "indexed": false, "internalType": "uint256[]" } ], "anonymous": false }, { "type": "event", "name": "log_array", "inputs": [ { "name": "val", "type": "int256[]", "indexed": false, "internalType": "int256[]" } ], "anonymous": false }, { "type": "event", "name": "log_array", "inputs": [ { "name": "val", "type": "address[]", "indexed": false, "internalType": "address[]" } ], "anonymous": false }, { "type": "event", "name": "log_bytes", "inputs": [ { "name": "", "type": "bytes", "indexed": false, "internalType": "bytes" } ], "anonymous": false }, { "type": "event", "name": "log_bytes32", "inputs": [ { "name": "", "type": "bytes32", "indexed": false, "internalType": "bytes32" } ], "anonymous": false }, { "type": "event", "name": "log_int", "inputs": [ { "name": "", "type": "int256", "indexed": false, "internalType": "int256" } ], "anonymous": false }, { "type": "event", "name": "log_named_address", "inputs": [ { "name": "key", "type": "string", "indexed": false, "internalType": "string" }, { "name": "val", "type": "address", "indexed": false, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "log_named_array", "inputs": [ { "name": "key", "type": "string", "indexed": false, "internalType": "string" }, { "name": "val", "type": "uint256[]", "indexed": false, "internalType": "uint256[]" } ], "anonymous": false }, { "type": "event", "name": "log_named_array", "inputs": [ { "name": "key", "type": "string", "indexed": false, "internalType": "string" }, { "name": "val", "type": "int256[]", "indexed": false, "internalType": "int256[]" } ], "anonymous": false }, { "type": "event", "name": "log_named_array", "inputs": [ { "name": "key", "type": "string", "indexed": false, "internalType": "string" }, { "name": "val", "type": "address[]", "indexed": false, "internalType": "address[]" } ], "anonymous": false }, { "type": "event", "name": "log_named_bytes", "inputs": [ { "name": "key", "type": "string", "indexed": false, "internalType": "string" }, { "name": "val", "type": "bytes", "indexed": false, "internalType": "bytes" } ], "anonymous": false }, { "type": "event", "name": "log_named_bytes32", "inputs": [ { "name": "key", "type": "string", "indexed": false, "internalType": "string" }, { "name": "val", "type": "bytes32", "indexed": false, "internalType": "bytes32" } ], "anonymous": false }, { "type": "event", "name": "log_named_decimal_int", "inputs": [ { "name": "key", "type": "string", "indexed": false, "internalType": "string" }, { "name": "val", "type": "int256", "indexed": false, "internalType": "int256" }, { "name": "decimals", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "log_named_decimal_uint", "inputs": [ { "name": "key", "type": "string", "indexed": false, "internalType": "string" }, { "name": "val", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "decimals", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "log_named_int", "inputs": [ { "name": "key", "type": "string", "indexed": false, "internalType": "string" }, { "name": "val", "type": "int256", "indexed": false, "internalType": "int256" } ], "anonymous": false }, { "type": "event", "name": "log_named_string", "inputs": [ { "name": "key", "type": "string", "indexed": false, "internalType": "string" }, { "name": "val", "type": "string", "indexed": false, "internalType": "string" } ], "anonymous": false }, { "type": "event", "name": "log_named_uint", "inputs": [ { "name": "key", "type": "string", "indexed": false, "internalType": "string" }, { "name": "val", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "log_string", "inputs": [ { "name": "", "type": "string", "indexed": false, "internalType": "string" } ], "anonymous": false }, { "type": "event", "name": "log_uint", "inputs": [ { "name": "", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "logs", "inputs": [ { "name": "", "type": "bytes", "indexed": false, "internalType": "bytes" } ], "anonymous": false } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "IS_SCRIPT()": "f8ccbf47", "IS_TEST()": "fa7626d4", "failed()": "ba414fa6", "vm()": "3a768463" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"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_SCRIPT\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"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\"},{\"inputs\":[],\"name\":\"vm\",\"outputs\":[{\"internalType\":\"contract Vm\",\"name\":\"\",\"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\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"lib/forge-std/lib/ds-test/src/test.sol\":{\"keccak256\":\"0xb39cd1d5220cb474947b131e15a4538334b7e886af244b440ae5c9c6bba96a54\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://3101520221449ac0070bda3881311a71d9aa87e5210765e875246922cb5cb5f5\",\"dweb:/ipfs/Qmbg6kAHNoG7ox9N9Xqd9Ere2H2XixMFWFqvyPwFCzB3Gr\"]},\"lib/forge-std/src/Script.sol\":{\"keccak256\":\"0x4424dbcb8f5b741475445726f87408fcd89951fad973bec2ca442ee157f910e7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5b0b9f6dfb69245d8f888558ae82bf1d2cdeace46201444fe4b2e6a5283f944a\",\"dweb:/ipfs/QmWFSKeFEZngNcwNn7A84EF7pASo5qe6r5oK24r9Kwca7Z\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0xa85dee62f7a3d7d3b26051f28d08bbfaa6d76888b8e64395583c35f11070372b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f3ecace3d6120731c4520f651c36658940df958755a2c86d6bf0ec895320a915\",\"dweb:/ipfs/QmVGbUYLtMsAYF3C27qHKs3VHRuRNDypuDfs4XGK47kqUT\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x63fc2487cf3a6650d933e18bcb61766f15f74c327192381806ea00f8f6446f66\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aad99f7b2ed3b11ff6c17b84b4196c562898640a80cabc2c28c87c116099a00f\",\"dweb:/ipfs/QmQNNbxHabRycegyXwJWBDutrdcScAP2SU5zEvorWEaFpx\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0xbeb823fcdb356244a83aaccdf828ad019ecc1ffaa3dff18e624fc6d5714ea671\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4cbe9400340e5f9ec55e2aff3bad1c15fa3afbbe37e80800e6f3fed2ad26854f\",\"dweb:/ipfs/QmdJBABsuXkvWxVzEyGXsTE3vyfBPXDdw5xvvtUz3JeoYW\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "string", "name": "", "type": "string", "indexed": false } ], "type": "event", "name": "log", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "", "type": "address", "indexed": false } ], "type": "event", "name": "log_address", "anonymous": false }, { "inputs": [ { "internalType": "uint256[]", "name": "val", "type": "uint256[]", "indexed": false } ], "type": "event", "name": "log_array", "anonymous": false }, { "inputs": [ { "internalType": "int256[]", "name": "val", "type": "int256[]", "indexed": false } ], "type": "event", "name": "log_array", "anonymous": false }, { "inputs": [ { "internalType": "address[]", "name": "val", "type": "address[]", "indexed": false } ], "type": "event", "name": "log_array", "anonymous": false }, { "inputs": [ { "internalType": "bytes", "name": "", "type": "bytes", "indexed": false } ], "type": "event", "name": "log_bytes", "anonymous": false }, { "inputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32", "indexed": false } ], "type": "event", "name": "log_bytes32", "anonymous": false }, { "inputs": [ { "internalType": "int256", "name": "", "type": "int256", "indexed": false } ], "type": "event", "name": "log_int", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "key", "type": "string", "indexed": false }, { "internalType": "address", "name": "val", "type": "address", "indexed": false } ], "type": "event", "name": "log_named_address", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "key", "type": "string", "indexed": false }, { "internalType": "uint256[]", "name": "val", "type": "uint256[]", "indexed": false } ], "type": "event", "name": "log_named_array", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "key", "type": "string", "indexed": false }, { "internalType": "int256[]", "name": "val", "type": "int256[]", "indexed": false } ], "type": "event", "name": "log_named_array", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "key", "type": "string", "indexed": false }, { "internalType": "address[]", "name": "val", "type": "address[]", "indexed": false } ], "type": "event", "name": "log_named_array", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "key", "type": "string", "indexed": false }, { "internalType": "bytes", "name": "val", "type": "bytes", "indexed": false } ], "type": "event", "name": "log_named_bytes", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "key", "type": "string", "indexed": false }, { "internalType": "bytes32", "name": "val", "type": "bytes32", "indexed": false } ], "type": "event", "name": "log_named_bytes32", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "key", "type": "string", "indexed": false }, { "internalType": "int256", "name": "val", "type": "int256", "indexed": false }, { "internalType": "uint256", "name": "decimals", "type": "uint256", "indexed": false } ], "type": "event", "name": "log_named_decimal_int", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "key", "type": "string", "indexed": false }, { "internalType": "uint256", "name": "val", "type": "uint256", "indexed": false }, { "internalType": "uint256", "name": "decimals", "type": "uint256", "indexed": false } ], "type": "event", "name": "log_named_decimal_uint", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "key", "type": "string", "indexed": false }, { "internalType": "int256", "name": "val", "type": "int256", "indexed": false } ], "type": "event", "name": "log_named_int", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "key", "type": "string", "indexed": false }, { "internalType": "string", "name": "val", "type": "string", "indexed": false } ], "type": "event", "name": "log_named_string", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "key", "type": "string", "indexed": false }, { "internalType": "uint256", "name": "val", "type": "uint256", "indexed": false } ], "type": "event", "name": "log_named_uint", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "", "type": "string", "indexed": false } ], "type": "event", "name": "log_string", "anonymous": false }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256", "indexed": false } ], "type": "event", "name": "log_uint", "anonymous": false }, { "inputs": [ { "internalType": "bytes", "name": "", "type": "bytes", "indexed": false } ], "type": "event", "name": "logs", "anonymous": false }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "IS_SCRIPT", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "IS_TEST", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "failed", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "vm", "outputs": [ { "internalType": "contract Vm", "name": "", "type": "address" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "lib/forge-std/src/Test.sol": "Test" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "lib/forge-std/lib/ds-test/src/test.sol": { "keccak256": "0xb39cd1d5220cb474947b131e15a4538334b7e886af244b440ae5c9c6bba96a54", "urls": [ "bzz-raw://3101520221449ac0070bda3881311a71d9aa87e5210765e875246922cb5cb5f5", "dweb:/ipfs/Qmbg6kAHNoG7ox9N9Xqd9Ere2H2XixMFWFqvyPwFCzB3Gr" ], "license": "GPL-3.0-or-later" }, "lib/forge-std/src/Script.sol": { "keccak256": "0x4424dbcb8f5b741475445726f87408fcd89951fad973bec2ca442ee157f910e7", "urls": [ "bzz-raw://5b0b9f6dfb69245d8f888558ae82bf1d2cdeace46201444fe4b2e6a5283f944a", "dweb:/ipfs/QmWFSKeFEZngNcwNn7A84EF7pASo5qe6r5oK24r9Kwca7Z" ], "license": "MIT" }, "lib/forge-std/src/Test.sol": { "keccak256": "0xa85dee62f7a3d7d3b26051f28d08bbfaa6d76888b8e64395583c35f11070372b", "urls": [ "bzz-raw://f3ecace3d6120731c4520f651c36658940df958755a2c86d6bf0ec895320a915", "dweb:/ipfs/QmVGbUYLtMsAYF3C27qHKs3VHRuRNDypuDfs4XGK47kqUT" ], "license": "MIT" }, "lib/forge-std/src/Vm.sol": { "keccak256": "0x63fc2487cf3a6650d933e18bcb61766f15f74c327192381806ea00f8f6446f66", "urls": [ "bzz-raw://aad99f7b2ed3b11ff6c17b84b4196c562898640a80cabc2c28c87c116099a00f", "dweb:/ipfs/QmQNNbxHabRycegyXwJWBDutrdcScAP2SU5zEvorWEaFpx" ], "license": "MIT" }, "lib/forge-std/src/console.sol": { "keccak256": "0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba", "urls": [ "bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70", "dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec" ], "license": "MIT" }, "lib/forge-std/src/console2.sol": { "keccak256": "0xbeb823fcdb356244a83aaccdf828ad019ecc1ffaa3dff18e624fc6d5714ea671", "urls": [ "bzz-raw://4cbe9400340e5f9ec55e2aff3bad1c15fa3afbbe37e80800e6f3fed2ad26854f", "dweb:/ipfs/QmdJBABsuXkvWxVzEyGXsTE3vyfBPXDdw5xvvtUz3JeoYW" ], "license": "MIT" } }, "version": 1 }, "id": 437 } diff --git a/eth_defi/abi/enzyme/TestAddressArrayLib.json b/eth_defi/abi/enzyme/TestAddressArrayLib.json index a6ef4c4f..bcae73e1 100644 --- a/eth_defi/abi/enzyme/TestAddressArrayLib.json +++ b/eth_defi/abi/enzyme/TestAddressArrayLib.json @@ -1,138 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address[]", - "name": "_array", - "type": "address[]" - }, - { - "internalType": "address[]", - "name": "_arrayToMerge", - "type": "address[]" - } - ], - "name": "mergeArray", - "outputs": [ - { - "internalType": "address[]", - "name": "nextArray_", - "type": "address[]" - } - ], - "stateMutability": "pure", - "type": "function" - } - ], - "bytecode": { - "object": "0x608060405234801561001057600080fd5b50610373806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c806308a4fce014610030575b600080fd5b6101576004803603604081101561004657600080fd5b81019060208101813564010000000081111561006157600080fd5b82018360208201111561007357600080fd5b8035906020019184602083028401116401000000008311171561009557600080fd5b91908080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525092959493602081019350359150506401000000008111156100e557600080fd5b8201836020820111156100f757600080fd5b8035906020019184602083028401116401000000008311171561011957600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295506101a7945050505050565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561019357818101518382015260200161017b565b505050509050019250505060405180910390f35b60606101b383836101bc565b90505b92915050565b60606000805b83518110156101fb576101e8858583815181106101db57fe5b6020026020010151610310565b6101f3576001909101905b6001016101c2565b508061020a57839150506101b6565b8084510167ffffffffffffffff8111801561022457600080fd5b5060405190808252806020026020018201604052801561024e578160200160208202803683370190505b50915060005b845181101561029d5784818151811061026957fe5b602002602001015183828151811061027d57fe5b6001600160a01b0390921660209283029190910190910152600101610254565b50835160005b8451811015610307576102bc868683815181106101db57fe5b6102ff578481815181106102cc57fe5b60200260200101518483815181106102e057fe5b6001600160a01b03909216602092830291909101909101526001909101905b6001016102a3565b50505092915050565b6000805b835181101561035c5783818151811061032957fe5b60200260200101516001600160a01b0316836001600160a01b031614156103545760019150506101b6565b600101610314565b506000939250505056fea164736f6c634300060c000a", - "sourceMap": "474:292:370:-:0;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c806308a4fce014610030575b600080fd5b6101576004803603604081101561004657600080fd5b81019060208101813564010000000081111561006157600080fd5b82018360208201111561007357600080fd5b8035906020019184602083028401116401000000008311171561009557600080fd5b91908080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525092959493602081019350359150506401000000008111156100e557600080fd5b8201836020820111156100f757600080fd5b8035906020019184602083028401116401000000008311171561011957600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295506101a7945050505050565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561019357818101518382015260200161017b565b505050509050019250505060405180910390f35b60606101b383836101bc565b90505b92915050565b60606000805b83518110156101fb576101e8858583815181106101db57fe5b6020026020010151610310565b6101f3576001909101905b6001016101c2565b508061020a57839150506101b6565b8084510167ffffffffffffffff8111801561022457600080fd5b5060405190808252806020026020018201604052801561024e578160200160208202803683370190505b50915060005b845181101561029d5784818151811061026957fe5b602002602001015183828151811061027d57fe5b6001600160a01b0390921660209283029190910190910152600101610254565b50835160005b8451811015610307576102bc868683815181106101db57fe5b6102ff578481815181106102cc57fe5b60200260200101518483815181106102e057fe5b6001600160a01b03909216602092830291909101909101526001909101905b6001016102a3565b50505092915050565b6000805b835181101561035c5783818151811061032957fe5b60200260200101516001600160a01b0316836001600160a01b031614156103545760019150506101b6565b600101610314565b506000939250505056fea164736f6c634300060c000a", - "sourceMap": "474:292:370:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;551:213;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;551:213:370;;;;;;;;-1:-1:-1;551:213:370;;-1:-1:-1;;551:213:370;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;551:213:370;;-1:-1:-1;551:213:370;;-1:-1:-1;;;;;551:213:370:i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;675:27;725:32;:6;743:13;725:17;:32::i;:::-;718:39;;551:213;;;;;:::o;2967:924:354:-;3090:27;3133:26;3174:9;3169:164;3189:13;:20;3185:1;:24;3169:164;;;3235:33;3244:5;3251:13;3265:1;3251:16;;;;;;;;;;;;;;3235:8;:33::i;:::-;3230:93;;3288:20;;;;;3230:93;3211:3;;3169:164;;;-1:-1:-1;3347:23:354;3343:66;;3393:5;3386:12;;;;;3343:66;3461:18;3446:5;:12;:33;3432:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3432:48:354;;3419:61;;3495:9;3490:88;3510:5;:12;3506:1;:16;3490:88;;;3559:5;3565:1;3559:8;;;;;;;;;;;;;;3543:10;3554:1;3543:13;;;;;;;;-1:-1:-1;;;;;3543:24:354;;;:13;;;;;;;;;;;:24;3524:3;;3490:88;;;-1:-1:-1;3612:12:354;;3587:22;3634:223;3654:13;:20;3650:1;:24;3634:223;;;3700:33;3709:5;3716:13;3730:1;3716:16;;;;;;;3700:33;3695:152;;3782:13;3796:1;3782:16;;;;;;;;;;;;;;3753:10;3764:14;3753:26;;;;;;;;-1:-1:-1;;;;;3753:45:354;;;:26;;;;;;;;;;;:45;3816:16;;;;;3695:152;3676:3;;3634:223;;;;3867:17;;2967:924;;;;:::o;2489:299::-;2595:17;2633:9;2628:132;2648:5;:12;2644:1;:16;2628:132;;;2696:5;2702:1;2696:8;;;;;;;;;;;;;;-1:-1:-1;;;;;2685:19:354;:7;-1:-1:-1;;;;;2685:19:354;;2681:69;;;2731:4;2724:11;;;;;2681:69;2662:3;;2628:132;;;-1:-1:-1;2776:5:354;;2489:299;-1:-1:-1;;;2489:299:354:o", - "linkReferences": {} - }, - "methodIdentifiers": { - "mergeArray(address[],address[])": "08a4fce0" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_array\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"_arrayToMerge\",\"type\":\"address[]\"}],\"name\":\"mergeArray\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"nextArray_\",\"type\":\"address[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"TestAddressArrayLib Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"A test implementation of AddressArrayLib\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/TestAddressArrayLib.sol\":\"TestAddressArrayLib\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/test/TestAddressArrayLib.sol\":{\"keccak256\":\"0xe3c3d9a23be5b3ef78f3c0b51b2f5b0ac4227bcc7f435b569cb27d66ee76bb4d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://65a727bb11e4e774c115e0d1ddbed8fa77c30f79b084846319768f87a28a8aa7\",\"dweb:/ipfs/QmRjZb1wQ1GKW5mYxH3ighXy1tgh79S2ZDaC7n1SJjUzK6\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address[]", - "name": "_array", - "type": "address[]" - }, - { - "internalType": "address[]", - "name": "_arrayToMerge", - "type": "address[]" - } - ], - "stateMutability": "pure", - "type": "function", - "name": "mergeArray", - "outputs": [ - { - "internalType": "address[]", - "name": "nextArray_", - "type": "address[]" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/test/TestAddressArrayLib.sol": "TestAddressArrayLib" - }, - "libraries": {} - }, - "sources": { - "contracts/release/utils/AddressArrayLib.sol": { - "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", - "urls": [ - "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", - "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" - ], - "license": "GPL-3.0" - }, - "contracts/test/TestAddressArrayLib.sol": { - "keccak256": "0xe3c3d9a23be5b3ef78f3c0b51b2f5b0ac4227bcc7f435b569cb27d66ee76bb4d", - "urls": [ - "bzz-raw://65a727bb11e4e774c115e0d1ddbed8fa77c30f79b084846319768f87a28a8aa7", - "dweb:/ipfs/QmRjZb1wQ1GKW5mYxH3ighXy1tgh79S2ZDaC7n1SJjUzK6" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 370 -} +{ "abi": [ { "type": "function", "name": "mergeArray", "inputs": [ { "name": "_array", "type": "address[]", "internalType": "address[]" }, { "name": "_arrayToMerge", "type": "address[]", "internalType": "address[]" } ], "outputs": [ { "name": "nextArray_", "type": "address[]", "internalType": "address[]" } ], "stateMutability": "pure" } ], "bytecode": { "object": "0x608060405234801561001057600080fd5b50610373806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c806308a4fce014610030575b600080fd5b6101576004803603604081101561004657600080fd5b81019060208101813564010000000081111561006157600080fd5b82018360208201111561007357600080fd5b8035906020019184602083028401116401000000008311171561009557600080fd5b91908080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525092959493602081019350359150506401000000008111156100e557600080fd5b8201836020820111156100f757600080fd5b8035906020019184602083028401116401000000008311171561011957600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295506101a7945050505050565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561019357818101518382015260200161017b565b505050509050019250505060405180910390f35b60606101b383836101bc565b90505b92915050565b60606000805b83518110156101fb576101e8858583815181106101db57fe5b6020026020010151610310565b6101f3576001909101905b6001016101c2565b508061020a57839150506101b6565b8084510167ffffffffffffffff8111801561022457600080fd5b5060405190808252806020026020018201604052801561024e578160200160208202803683370190505b50915060005b845181101561029d5784818151811061026957fe5b602002602001015183828151811061027d57fe5b6001600160a01b0390921660209283029190910190910152600101610254565b50835160005b8451811015610307576102bc868683815181106101db57fe5b6102ff578481815181106102cc57fe5b60200260200101518483815181106102e057fe5b6001600160a01b03909216602092830291909101909101526001909101905b6001016102a3565b50505092915050565b6000805b835181101561035c5783818151811061032957fe5b60200260200101516001600160a01b0316836001600160a01b031614156103545760019150506101b6565b600101610314565b506000939250505056fea164736f6c634300060c000a", "sourceMap": "474:292:370:-:0;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c806308a4fce014610030575b600080fd5b6101576004803603604081101561004657600080fd5b81019060208101813564010000000081111561006157600080fd5b82018360208201111561007357600080fd5b8035906020019184602083028401116401000000008311171561009557600080fd5b91908080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525092959493602081019350359150506401000000008111156100e557600080fd5b8201836020820111156100f757600080fd5b8035906020019184602083028401116401000000008311171561011957600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295506101a7945050505050565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561019357818101518382015260200161017b565b505050509050019250505060405180910390f35b60606101b383836101bc565b90505b92915050565b60606000805b83518110156101fb576101e8858583815181106101db57fe5b6020026020010151610310565b6101f3576001909101905b6001016101c2565b508061020a57839150506101b6565b8084510167ffffffffffffffff8111801561022457600080fd5b5060405190808252806020026020018201604052801561024e578160200160208202803683370190505b50915060005b845181101561029d5784818151811061026957fe5b602002602001015183828151811061027d57fe5b6001600160a01b0390921660209283029190910190910152600101610254565b50835160005b8451811015610307576102bc868683815181106101db57fe5b6102ff578481815181106102cc57fe5b60200260200101518483815181106102e057fe5b6001600160a01b03909216602092830291909101909101526001909101905b6001016102a3565b50505092915050565b6000805b835181101561035c5783818151811061032957fe5b60200260200101516001600160a01b0316836001600160a01b031614156103545760019150506101b6565b600101610314565b506000939250505056fea164736f6c634300060c000a", "sourceMap": "474:292:370:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;551:213;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;551:213:370;;;;;;;;-1:-1:-1;551:213:370;;-1:-1:-1;;551:213:370;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;551:213:370;;-1:-1:-1;551:213:370;;-1:-1:-1;;;;;551:213:370:i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;675:27;725:32;:6;743:13;725:17;:32::i;:::-;718:39;;551:213;;;;;:::o;2967:924:354:-;3090:27;3133:26;3174:9;3169:164;3189:13;:20;3185:1;:24;3169:164;;;3235:33;3244:5;3251:13;3265:1;3251:16;;;;;;;;;;;;;;3235:8;:33::i;:::-;3230:93;;3288:20;;;;;3230:93;3211:3;;3169:164;;;-1:-1:-1;3347:23:354;3343:66;;3393:5;3386:12;;;;;3343:66;3461:18;3446:5;:12;:33;3432:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3432:48:354;;3419:61;;3495:9;3490:88;3510:5;:12;3506:1;:16;3490:88;;;3559:5;3565:1;3559:8;;;;;;;;;;;;;;3543:10;3554:1;3543:13;;;;;;;;-1:-1:-1;;;;;3543:24:354;;;:13;;;;;;;;;;;:24;3524:3;;3490:88;;;-1:-1:-1;3612:12:354;;3587:22;3634:223;3654:13;:20;3650:1;:24;3634:223;;;3700:33;3709:5;3716:13;3730:1;3716:16;;;;;;;3700:33;3695:152;;3782:13;3796:1;3782:16;;;;;;;;;;;;;;3753:10;3764:14;3753:26;;;;;;;;-1:-1:-1;;;;;3753:45:354;;;:26;;;;;;;;;;;:45;3816:16;;;;;3695:152;3676:3;;3634:223;;;;3867:17;;2967:924;;;;:::o;2489:299::-;2595:17;2633:9;2628:132;2648:5;:12;2644:1;:16;2628:132;;;2696:5;2702:1;2696:8;;;;;;;;;;;;;;-1:-1:-1;;;;;2685:19:354;:7;-1:-1:-1;;;;;2685:19:354;;2681:69;;;2731:4;2724:11;;;;;2681:69;2662:3;;2628:132;;;-1:-1:-1;2776:5:354;;2489:299;-1:-1:-1;;;2489:299:354:o", "linkReferences": {} }, "methodIdentifiers": { "mergeArray(address[],address[])": "08a4fce0" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_array\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"_arrayToMerge\",\"type\":\"address[]\"}],\"name\":\"mergeArray\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"nextArray_\",\"type\":\"address[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"TestAddressArrayLib Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"A test implementation of AddressArrayLib\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/TestAddressArrayLib.sol\":\"TestAddressArrayLib\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/test/TestAddressArrayLib.sol\":{\"keccak256\":\"0xe3c3d9a23be5b3ef78f3c0b51b2f5b0ac4227bcc7f435b569cb27d66ee76bb4d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://65a727bb11e4e774c115e0d1ddbed8fa77c30f79b084846319768f87a28a8aa7\",\"dweb:/ipfs/QmRjZb1wQ1GKW5mYxH3ighXy1tgh79S2ZDaC7n1SJjUzK6\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address[]", "name": "_array", "type": "address[]" }, { "internalType": "address[]", "name": "_arrayToMerge", "type": "address[]" } ], "stateMutability": "pure", "type": "function", "name": "mergeArray", "outputs": [ { "internalType": "address[]", "name": "nextArray_", "type": "address[]" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/test/TestAddressArrayLib.sol": "TestAddressArrayLib" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/utils/AddressArrayLib.sol": { "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", "urls": [ "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" ], "license": "GPL-3.0" }, "contracts/test/TestAddressArrayLib.sol": { "keccak256": "0xe3c3d9a23be5b3ef78f3c0b51b2f5b0ac4227bcc7f435b569cb27d66ee76bb4d", "urls": [ "bzz-raw://65a727bb11e4e774c115e0d1ddbed8fa77c30f79b084846319768f87a28a8aa7", "dweb:/ipfs/QmRjZb1wQ1GKW5mYxH3ighXy1tgh79S2ZDaC7n1SJjUzK6" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 370 } diff --git a/eth_defi/abi/enzyme/TestNominatedOwnerMixin.json b/eth_defi/abi/enzyme/TestNominatedOwnerMixin.json index b15aa7c9..852188e4 100644 --- a/eth_defi/abi/enzyme/TestNominatedOwnerMixin.json +++ b/eth_defi/abi/enzyme/TestNominatedOwnerMixin.json @@ -1,293 +1 @@ -{ - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "nominatedOwner", - "type": "address" - } - ], - "name": "NominatedOwnerSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "owner", - "type": "address" - } - ], - "name": "OwnerSet", - "type": "event" - }, - { - "inputs": [], - "name": "claimOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getNominatedOwner", - "outputs": [ - { - "internalType": "address", - "name": "nominatedOwner_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "owner_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_nextNominatedOwner", - "type": "address" - } - ], - "name": "setNominatedOwner", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_nextOwner", - "type": "address" - } - ], - "name": "setOwner", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x608060405234801561001057600080fd5b506102ac806100206000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c806313af40351461005c578063288b6a36146100845780634e71e0c8146100a8578063728e17a0146100b0578063893d20e8146100d6575b600080fd5b6100826004803603602081101561007257600080fd5b50356001600160a01b03166100de565b005b61008c6100ea565b604080516001600160a01b039092168252519081900360200190f35b6100826100f9565b610082600480360360208110156100c657600080fd5b50356001600160a01b031661017e565b61008c6101f4565b6100e781610203565b50565b6000546001600160a01b031690565b60006101036100ea565b9050336001600160a01b03821614610162576040805162461bcd60e51b815260206004820152601c60248201527f636c61696d4f776e6572736869703a20556e617574686f72697a656400000000604482015290519081900360640190fd5b61016b81610203565b50600080546001600160a01b0319169055565b6101866101f4565b6001600160a01b0316336001600160a01b0316146101eb576040805162461bcd60e51b815260206004820152601760248201527f6f6e6c794f776e65723a20556e617574686f72697a6564000000000000000000604482015290519081900360640190fd5b6100e781610257565b6001546001600160a01b031690565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f50146d0e3c60aa1d17a70635b05494f864e86144a2201275021014fbf08bafe29181900360200190a150565b600080546001600160a01b0319166001600160a01b038316908117825560405190917f132c19de901bb4ed8403c34734b6c841d5dc57745824da452a52433519ea5abf91a25056fea164736f6c634300060c000a", - "sourceMap": "486:157:371:-:0;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106100575760003560e01c806313af40351461005c578063288b6a36146100845780634e71e0c8146100a8578063728e17a0146100b0578063893d20e8146100d6575b600080fd5b6100826004803603602081101561007257600080fd5b50356001600160a01b03166100de565b005b61008c6100ea565b604080516001600160a01b039092168252519081900360200190f35b6100826100f9565b610082600480360360208110156100c657600080fd5b50356001600160a01b031661017e565b61008c6101f4565b6100e781610203565b50565b6000546001600160a01b031690565b60006101036100ea565b9050336001600160a01b03821614610162576040805162461bcd60e51b815260206004820152601c60248201527f636c61696d4f776e6572736869703a20556e617574686f72697a656400000000604482015290519081900360640190fd5b61016b81610203565b50600080546001600160a01b0319169055565b6101866101f4565b6001600160a01b0316336001600160a01b0316146101eb576040805162461bcd60e51b815260206004820152601760248201527f6f6e6c794f776e65723a20556e617574686f72697a6564000000000000000000604482015290519081900360640190fd5b6100e781610257565b6001546001600160a01b031690565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f50146d0e3c60aa1d17a70635b05494f864e86144a2201275021014fbf08bafe29181900360200190a150565b600080546001600160a01b0319166001600160a01b038316908117825560405190917f132c19de901bb4ed8403c34734b6c841d5dc57745824da452a52433519ea5abf91a25056fea164736f6c634300060c000a", - "sourceMap": "486:157:371:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;548:93;;;;;;;;;;;;;;;;-1:-1:-1;548:93:371;-1:-1:-1;;;;;548:93:371;;:::i;:::-;;2263:113:361;;;:::i;:::-;;;;-1:-1:-1;;;;;2263:113:361;;;;;;;;;;;;;;991:229;;;:::i;1331:132::-;;;;;;;;;;;;;;;;-1:-1:-1;1331:132:361;-1:-1:-1;;;;;1331:132:361;;:::i;2472:86::-;;;:::i;548:93:371:-;612:22;623:10;612;:22::i;:::-;548:93;:::o;2263:113:361:-;2313:23;2355:14;-1:-1:-1;;;;;2355:14:361;2263:113;:::o;991:229::-;1036:17;1056:19;:17;:19::i;:::-;1036:39;-1:-1:-1;1093:10:361;-1:-1:-1;;;;;1093:23:361;;;1085:64;;;;;-1:-1:-1;;;1085:64:361;;;;;;;;;;;;;;;;;;;;;;;;;;;;1160:21;1171:9;1160:10;:21::i;:::-;-1:-1:-1;1199:14:361;1192:21;;-1:-1:-1;;;;;;1192:21:361;;;991:229::o;1331:132::-;786:10;:8;:10::i;:::-;-1:-1:-1;;;;;772:24:361;:10;-1:-1:-1;;;;;772:24:361;;764:60;;;;;-1:-1:-1;;;764:60:361;;;;;;;;;;;;;;;;;;;;;;;;;;;;1416:40:::1;1436:19;1416;:40::i;2472:86::-:0;2546:5;;-1:-1:-1;;;;;2546:5:361;2472:86;:::o;1919:120::-;1978:5;:18;;-1:-1:-1;;;;;1978:18:361;;-1:-1:-1;;;;;;1978:18:361;;;;;;;;2012:20;;;;;;;;;;;;;;;;1919:120;:::o;1543:174::-;1620:14;:36;;-1:-1:-1;;;;;;1620:36:361;-1:-1:-1;;;;;1620:36:361;;;;;;;1672:38;;1620:36;;1672:38;;;1543:174;:::o", - "linkReferences": {} - }, - "methodIdentifiers": { - "claimOwnership()": "4e71e0c8", - "getNominatedOwner()": "288b6a36", - "getOwner()": "893d20e8", - "setNominatedOwner(address)": "728e17a0", - "setOwner(address)": "13af4035" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"nominatedOwner\",\"type\":\"address\"}],\"name\":\"NominatedOwnerSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"OwnerSet\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"claimOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getNominatedOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"nominatedOwner_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nextNominatedOwner\",\"type\":\"address\"}],\"name\":\"setNominatedOwner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nextOwner\",\"type\":\"address\"}],\"name\":\"setOwner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"claimOwnership()\":{\"details\":\"Note that this claims process means that `owner` can never be reset to address(0)\"},\"getNominatedOwner()\":{\"returns\":{\"nominatedOwner_\":\"The next contract owner nominee\"}},\"getOwner()\":{\"returns\":{\"owner_\":\"The contract owner\"}},\"setNominatedOwner(address)\":{\"params\":{\"_nextNominatedOwner\":\"The account to nominate\"}}},\"title\":\"TestNominatedOwnerMixin Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"claimOwnership()\":{\"notice\":\"Claim ownership of the contract\"},\"getNominatedOwner()\":{\"notice\":\"Gets the account that is nominated to be the next contract owner\"},\"getOwner()\":{\"notice\":\"Gets the owner of this contract\"},\"setNominatedOwner(address)\":{\"notice\":\"Nominate a new contract owner\"}},\"notice\":\"A test implementation of NominatedOwnerMixin\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/TestNominatedOwnerMixin.sol\":\"TestNominatedOwnerMixin\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/utils/NominatedOwnerMixin.sol\":{\"keccak256\":\"0xb8d1c6eba0b342bbbf49af872925fc8febbef1e0958fdb8d4664501001d73761\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://4c0679beb263fb2e4f04bf39e65db051d7af7984e8357bbe1f0901cd986e538d\",\"dweb:/ipfs/QmTooY2TQEh5ax2XhMvJoa7pzFrb3WLegXjQ9EMzCPVpQe\"]},\"contracts/test/TestNominatedOwnerMixin.sol\":{\"keccak256\":\"0xe8c9a07ad496124c0f449ee9d19675e3fb935cfbd1ea35f438f3f93aa15374a6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1c8414062a412fe20b98d2636d7ea773105b3b8b1a1e977f61f11ab8781b0a88\",\"dweb:/ipfs/QmP4wsEbKoCQDjXRdaGFCkgVQe1wxzUgYKE7u1ZxnN9mQc\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "nominatedOwner", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "NominatedOwnerSet", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "OwnerSet", - "anonymous": false - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "claimOwnership" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getNominatedOwner", - "outputs": [ - { - "internalType": "address", - "name": "nominatedOwner_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "owner_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_nextNominatedOwner", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setNominatedOwner" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_nextOwner", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setOwner" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "claimOwnership()": { - "details": "Note that this claims process means that `owner` can never be reset to address(0)" - }, - "getNominatedOwner()": { - "returns": { - "nominatedOwner_": "The next contract owner nominee" - } - }, - "getOwner()": { - "returns": { - "owner_": "The contract owner" - } - }, - "setNominatedOwner(address)": { - "params": { - "_nextNominatedOwner": "The account to nominate" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "claimOwnership()": { - "notice": "Claim ownership of the contract" - }, - "getNominatedOwner()": { - "notice": "Gets the account that is nominated to be the next contract owner" - }, - "getOwner()": { - "notice": "Gets the owner of this contract" - }, - "setNominatedOwner(address)": { - "notice": "Nominate a new contract owner" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/test/TestNominatedOwnerMixin.sol": "TestNominatedOwnerMixin" - }, - "libraries": {} - }, - "sources": { - "contracts/release/utils/NominatedOwnerMixin.sol": { - "keccak256": "0xb8d1c6eba0b342bbbf49af872925fc8febbef1e0958fdb8d4664501001d73761", - "urls": [ - "bzz-raw://4c0679beb263fb2e4f04bf39e65db051d7af7984e8357bbe1f0901cd986e538d", - "dweb:/ipfs/QmTooY2TQEh5ax2XhMvJoa7pzFrb3WLegXjQ9EMzCPVpQe" - ], - "license": "GPL-3.0" - }, - "contracts/test/TestNominatedOwnerMixin.sol": { - "keccak256": "0xe8c9a07ad496124c0f449ee9d19675e3fb935cfbd1ea35f438f3f93aa15374a6", - "urls": [ - "bzz-raw://1c8414062a412fe20b98d2636d7ea773105b3b8b1a1e977f61f11ab8781b0a88", - "dweb:/ipfs/QmP4wsEbKoCQDjXRdaGFCkgVQe1wxzUgYKE7u1ZxnN9mQc" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 371 -} +{ "abi": [ { "type": "function", "name": "claimOwnership", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "getNominatedOwner", "inputs": [], "outputs": [ { "name": "nominatedOwner_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getOwner", "inputs": [], "outputs": [ { "name": "owner_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "setNominatedOwner", "inputs": [ { "name": "_nextNominatedOwner", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setOwner", "inputs": [ { "name": "_nextOwner", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "event", "name": "NominatedOwnerSet", "inputs": [ { "name": "nominatedOwner", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "OwnerSet", "inputs": [ { "name": "owner", "type": "address", "indexed": false, "internalType": "address" } ], "anonymous": false } ], "bytecode": { "object": "0x608060405234801561001057600080fd5b506102ac806100206000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c806313af40351461005c578063288b6a36146100845780634e71e0c8146100a8578063728e17a0146100b0578063893d20e8146100d6575b600080fd5b6100826004803603602081101561007257600080fd5b50356001600160a01b03166100de565b005b61008c6100ea565b604080516001600160a01b039092168252519081900360200190f35b6100826100f9565b610082600480360360208110156100c657600080fd5b50356001600160a01b031661017e565b61008c6101f4565b6100e781610203565b50565b6000546001600160a01b031690565b60006101036100ea565b9050336001600160a01b03821614610162576040805162461bcd60e51b815260206004820152601c60248201527f636c61696d4f776e6572736869703a20556e617574686f72697a656400000000604482015290519081900360640190fd5b61016b81610203565b50600080546001600160a01b0319169055565b6101866101f4565b6001600160a01b0316336001600160a01b0316146101eb576040805162461bcd60e51b815260206004820152601760248201527f6f6e6c794f776e65723a20556e617574686f72697a6564000000000000000000604482015290519081900360640190fd5b6100e781610257565b6001546001600160a01b031690565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f50146d0e3c60aa1d17a70635b05494f864e86144a2201275021014fbf08bafe29181900360200190a150565b600080546001600160a01b0319166001600160a01b038316908117825560405190917f132c19de901bb4ed8403c34734b6c841d5dc57745824da452a52433519ea5abf91a25056fea164736f6c634300060c000a", "sourceMap": "486:157:371:-:0;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106100575760003560e01c806313af40351461005c578063288b6a36146100845780634e71e0c8146100a8578063728e17a0146100b0578063893d20e8146100d6575b600080fd5b6100826004803603602081101561007257600080fd5b50356001600160a01b03166100de565b005b61008c6100ea565b604080516001600160a01b039092168252519081900360200190f35b6100826100f9565b610082600480360360208110156100c657600080fd5b50356001600160a01b031661017e565b61008c6101f4565b6100e781610203565b50565b6000546001600160a01b031690565b60006101036100ea565b9050336001600160a01b03821614610162576040805162461bcd60e51b815260206004820152601c60248201527f636c61696d4f776e6572736869703a20556e617574686f72697a656400000000604482015290519081900360640190fd5b61016b81610203565b50600080546001600160a01b0319169055565b6101866101f4565b6001600160a01b0316336001600160a01b0316146101eb576040805162461bcd60e51b815260206004820152601760248201527f6f6e6c794f776e65723a20556e617574686f72697a6564000000000000000000604482015290519081900360640190fd5b6100e781610257565b6001546001600160a01b031690565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f50146d0e3c60aa1d17a70635b05494f864e86144a2201275021014fbf08bafe29181900360200190a150565b600080546001600160a01b0319166001600160a01b038316908117825560405190917f132c19de901bb4ed8403c34734b6c841d5dc57745824da452a52433519ea5abf91a25056fea164736f6c634300060c000a", "sourceMap": "486:157:371:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;548:93;;;;;;;;;;;;;;;;-1:-1:-1;548:93:371;-1:-1:-1;;;;;548:93:371;;:::i;:::-;;2263:113:361;;;:::i;:::-;;;;-1:-1:-1;;;;;2263:113:361;;;;;;;;;;;;;;991:229;;;:::i;1331:132::-;;;;;;;;;;;;;;;;-1:-1:-1;1331:132:361;-1:-1:-1;;;;;1331:132:361;;:::i;2472:86::-;;;:::i;548:93:371:-;612:22;623:10;612;:22::i;:::-;548:93;:::o;2263:113:361:-;2313:23;2355:14;-1:-1:-1;;;;;2355:14:361;2263:113;:::o;991:229::-;1036:17;1056:19;:17;:19::i;:::-;1036:39;-1:-1:-1;1093:10:361;-1:-1:-1;;;;;1093:23:361;;;1085:64;;;;;-1:-1:-1;;;1085:64:361;;;;;;;;;;;;;;;;;;;;;;;;;;;;1160:21;1171:9;1160:10;:21::i;:::-;-1:-1:-1;1199:14:361;1192:21;;-1:-1:-1;;;;;;1192:21:361;;;991:229::o;1331:132::-;786:10;:8;:10::i;:::-;-1:-1:-1;;;;;772:24:361;:10;-1:-1:-1;;;;;772:24:361;;764:60;;;;;-1:-1:-1;;;764:60:361;;;;;;;;;;;;;;;;;;;;;;;;;;;;1416:40:::1;1436:19;1416;:40::i;2472:86::-:0;2546:5;;-1:-1:-1;;;;;2546:5:361;2472:86;:::o;1919:120::-;1978:5;:18;;-1:-1:-1;;;;;1978:18:361;;-1:-1:-1;;;;;;1978:18:361;;;;;;;;2012:20;;;;;;;;;;;;;;;;1919:120;:::o;1543:174::-;1620:14;:36;;-1:-1:-1;;;;;;1620:36:361;-1:-1:-1;;;;;1620:36:361;;;;;;;1672:38;;1620:36;;1672:38;;;1543:174;:::o", "linkReferences": {} }, "methodIdentifiers": { "claimOwnership()": "4e71e0c8", "getNominatedOwner()": "288b6a36", "getOwner()": "893d20e8", "setNominatedOwner(address)": "728e17a0", "setOwner(address)": "13af4035" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"nominatedOwner\",\"type\":\"address\"}],\"name\":\"NominatedOwnerSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"OwnerSet\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"claimOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getNominatedOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"nominatedOwner_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nextNominatedOwner\",\"type\":\"address\"}],\"name\":\"setNominatedOwner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nextOwner\",\"type\":\"address\"}],\"name\":\"setOwner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"claimOwnership()\":{\"details\":\"Note that this claims process means that `owner` can never be reset to address(0)\"},\"getNominatedOwner()\":{\"returns\":{\"nominatedOwner_\":\"The next contract owner nominee\"}},\"getOwner()\":{\"returns\":{\"owner_\":\"The contract owner\"}},\"setNominatedOwner(address)\":{\"params\":{\"_nextNominatedOwner\":\"The account to nominate\"}}},\"title\":\"TestNominatedOwnerMixin Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"claimOwnership()\":{\"notice\":\"Claim ownership of the contract\"},\"getNominatedOwner()\":{\"notice\":\"Gets the account that is nominated to be the next contract owner\"},\"getOwner()\":{\"notice\":\"Gets the owner of this contract\"},\"setNominatedOwner(address)\":{\"notice\":\"Nominate a new contract owner\"}},\"notice\":\"A test implementation of NominatedOwnerMixin\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/TestNominatedOwnerMixin.sol\":\"TestNominatedOwnerMixin\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/utils/NominatedOwnerMixin.sol\":{\"keccak256\":\"0xb8d1c6eba0b342bbbf49af872925fc8febbef1e0958fdb8d4664501001d73761\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://4c0679beb263fb2e4f04bf39e65db051d7af7984e8357bbe1f0901cd986e538d\",\"dweb:/ipfs/QmTooY2TQEh5ax2XhMvJoa7pzFrb3WLegXjQ9EMzCPVpQe\"]},\"contracts/test/TestNominatedOwnerMixin.sol\":{\"keccak256\":\"0xe8c9a07ad496124c0f449ee9d19675e3fb935cfbd1ea35f438f3f93aa15374a6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1c8414062a412fe20b98d2636d7ea773105b3b8b1a1e977f61f11ab8781b0a88\",\"dweb:/ipfs/QmP4wsEbKoCQDjXRdaGFCkgVQe1wxzUgYKE7u1ZxnN9mQc\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "nominatedOwner", "type": "address", "indexed": true } ], "type": "event", "name": "NominatedOwnerSet", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address", "indexed": false } ], "type": "event", "name": "OwnerSet", "anonymous": false }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "claimOwnership" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getNominatedOwner", "outputs": [ { "internalType": "address", "name": "nominatedOwner_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getOwner", "outputs": [ { "internalType": "address", "name": "owner_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_nextNominatedOwner", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "setNominatedOwner" }, { "inputs": [ { "internalType": "address", "name": "_nextOwner", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "setOwner" } ], "devdoc": { "kind": "dev", "methods": { "claimOwnership()": { "details": "Note that this claims process means that `owner` can never be reset to address(0)" }, "getNominatedOwner()": { "returns": { "nominatedOwner_": "The next contract owner nominee" } }, "getOwner()": { "returns": { "owner_": "The contract owner" } }, "setNominatedOwner(address)": { "params": { "_nextNominatedOwner": "The account to nominate" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "claimOwnership()": { "notice": "Claim ownership of the contract" }, "getNominatedOwner()": { "notice": "Gets the account that is nominated to be the next contract owner" }, "getOwner()": { "notice": "Gets the owner of this contract" }, "setNominatedOwner(address)": { "notice": "Nominate a new contract owner" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/test/TestNominatedOwnerMixin.sol": "TestNominatedOwnerMixin" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/utils/NominatedOwnerMixin.sol": { "keccak256": "0xb8d1c6eba0b342bbbf49af872925fc8febbef1e0958fdb8d4664501001d73761", "urls": [ "bzz-raw://4c0679beb263fb2e4f04bf39e65db051d7af7984e8357bbe1f0901cd986e538d", "dweb:/ipfs/QmTooY2TQEh5ax2XhMvJoa7pzFrb3WLegXjQ9EMzCPVpQe" ], "license": "GPL-3.0" }, "contracts/test/TestNominatedOwnerMixin.sol": { "keccak256": "0xe8c9a07ad496124c0f449ee9d19675e3fb935cfbd1ea35f438f3f93aa15374a6", "urls": [ "bzz-raw://1c8414062a412fe20b98d2636d7ea773105b3b8b1a1e977f61f11ab8781b0a88", "dweb:/ipfs/QmP4wsEbKoCQDjXRdaGFCkgVQe1wxzUgYKE7u1ZxnN9mQc" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 371 } diff --git a/eth_defi/abi/enzyme/TestPeggedDerivativesPriceFeed.json b/eth_defi/abi/enzyme/TestPeggedDerivativesPriceFeed.json index 2329b4a0..019518da 100644 --- a/eth_defi/abi/enzyme/TestPeggedDerivativesPriceFeed.json +++ b/eth_defi/abi/enzyme/TestPeggedDerivativesPriceFeed.json @@ -1,575 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_dispatcher", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "derivative", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "underlying", - "type": "address" - } - ], - "name": "DerivativeAdded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "derivative", - "type": "address" - } - ], - "name": "DerivativeRemoved", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_derivatives", - "type": "address[]" - }, - { - "internalType": "address[]", - "name": "_underlyings", - "type": "address[]" - } - ], - "name": "addDerivatives", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_derivative", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_derivativeAmount", - "type": "uint256" - } - ], - "name": "calcUnderlyingValues", - "outputs": [ - { - "internalType": "address[]", - "name": "underlyings_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "underlyingAmounts_", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getFundDeployer", - "outputs": [ - { - "internalType": "address", - "name": "fundDeployer_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "owner_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_derivative", - "type": "address" - } - ], - "name": "getUnderlyingForDerivative", - "outputs": [ - { - "internalType": "address", - "name": "underlying_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_asset", - "type": "address" - } - ], - "name": "isSupportedAsset", - "outputs": [ - { - "internalType": "bool", - "name": "isSupported_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_derivatives", - "type": "address[]" - } - ], - "name": "removeDerivatives", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x60a060405234801561001057600080fd5b50604051610d23380380610d238339818101604052602081101561003357600080fd5b5051606081901b6001600160601b0319166080526001600160a01b0316610cb761006c600039806108095280610a4e5250610cb76000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c8063893d20e81161005b578063893d20e8146102b25780638f72b136146102ba57806397c0ac871461035d5780639be918e6146103655761007d565b806339cbb63c1461008257806366adb867146101ab578063727212f6146101ed575b600080fd5b6101a96004803603604081101561009857600080fd5b8101906020810181356401000000008111156100b357600080fd5b8201836020820111156100c557600080fd5b803590602001918460208302840111640100000000831117156100e757600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929594936020810193503591505064010000000081111561013757600080fd5b82018360208201111561014957600080fd5b8035906020019184602083028401116401000000008311171561016b57600080fd5b91908080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525092955061039f945050505050565b005b6101d1600480360360208110156101c157600080fd5b50356001600160a01b031661070c565b604080516001600160a01b039092168252519081900360200190f35b6102196004803603604081101561020357600080fd5b506001600160a01b03813516906020013561072a565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b8381101561025d578181015183820152602001610245565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561029c578181015183820152602001610284565b5050505090500194505050505060405180910390f35b6101d1610805565b6101a9600480360360208110156102d057600080fd5b8101906020810181356401000000008111156102eb57600080fd5b8201836020820111156102fd57600080fd5b8035906020019184602083028401116401000000008311171561031f57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610891945050505050565b6101d1610a4c565b61038b6004803603602081101561037b57600080fd5b50356001600160a01b0316610a70565b604080519115158252519081900360200190f35b6103a7610805565b6001600160a01b0316336001600160a01b0316146103f65760405162461bcd60e51b8152600401808060200182810382526049815260200180610bc96049913960600191505060405180910390fd5b60008251116104365760405162461bcd60e51b8152600401808060200182810382526022815260200180610c636022913960400191505060405180910390fd5b805182511461048c576040805162461bcd60e51b815260206004820152601e60248201527f61646444657269766174697665733a20556e657175616c206172726179730000604482015290519081900360640190fd5b60005b82518110156107075760006001600160a01b03168382815181106104af57fe5b60200260200101516001600160a01b03161415610513576040805162461bcd60e51b815260206004820181905260248201527f61646444657269766174697665733a20456d7074792064657269766174697665604482015290519081900360640190fd5b60006001600160a01b031682828151811061052a57fe5b60200260200101516001600160a01b0316141561058e576040805162461bcd60e51b815260206004820181905260248201527f61646444657269766174697665733a20456d70747920756e6465726c79696e67604482015290519081900360640190fd5b60006001600160a01b03166105b58483815181106105a857fe5b602002602001015161070c565b6001600160a01b0316146105fa5760405162461bcd60e51b8152600401808060200182810382526021815260200180610c126021913960400191505060405180910390fd5b61062a83828151811061060957fe5b602002602001015183838151811061061d57fe5b6020026020010151610a8d565b81818151811061063657fe5b602002602001015160008085848151811061064d57fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b031602179055508181815181106106a557fe5b60200260200101516001600160a01b03168382815181106106c257fe5b60200260200101516001600160a01b03167faa4ae250fb435bb4b31ed0b95822bc179fc6c5dd0c727c3ffe08d444025efd9860405160405180910390a360010161048f565b505050565b6001600160a01b039081166000908152602081905260409020541690565b60608060006107388561070c565b90506001600160a01b03811661077f5760405162461bcd60e51b8152600401808060200182810382526030815260200180610c336030913960400191505060405180910390fd5b604080516001808252818301909252906020808301908036833701905050925080836000815181106107ad57fe5b6001600160a01b039290921660209283029190910182015260408051600180825281830190925291828101908036833701905050915083826000815181106107f157fe5b602002602001018181525050509250929050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561086057600080fd5b505afa158015610874573d6000803e3d6000fd5b505050506040513d602081101561088a57600080fd5b5051905090565b610899610805565b6001600160a01b0316336001600160a01b0316146108e85760405162461bcd60e51b8152600401808060200182810382526049815260200180610bc96049913960600191505060405180910390fd5b60008151116109285760405162461bcd60e51b8152600401808060200182810382526025815260200180610ba46025913960400191505060405180910390fd5b60005b8151811015610a485760006001600160a01b031661094e8383815181106105a857fe5b6001600160a01b031614156109aa576040805162461bcd60e51b815260206004820181905260248201527f72656d6f766544657269766174697665733a2056616c7565206e6f7420736574604482015290519081900360640190fd5b6000808383815181106109b957fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154906001600160a01b030219169055818181518110610a0357fe5b60200260200101516001600160a01b03167fc15eb25d807b570f4567baf6e97c7b26d58a7d0512dc85e8db15375a056b860460405160405180910390a260010161092b565b5050565b7f000000000000000000000000000000000000000000000000000000000000000090565b600080610a7c8361070c565b6001600160a01b0316141592915050565b806001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015610ac657600080fd5b505afa158015610ada573d6000803e3d6000fd5b505050506040513d6020811015610af057600080fd5b50516040805163313ce56760e01b8152905160ff909216916001600160a01b0385169163313ce567916004808301926020929190829003018186803b158015610b3857600080fd5b505afa158015610b4c573d6000803e3d6000fd5b505050506040513d6020811015610b6257600080fd5b505160ff1614610a485760405162461bcd60e51b8152600401808060200182810382526026815260200180610c856026913960400191505060405180910390fdfe72656d6f766544657269766174697665733a20456d707479205f64657269766174697665736f6e6c7946756e644465706c6f7965724f776e65723a204f6e6c79207468652046756e644465706c6f796572206f776e65722063616e2063616c6c20746869732066756e6374696f6e61646444657269766174697665733a2056616c756520616c72656164792073657463616c63556e6465726c79696e6756616c7565733a204e6f74206120737570706f72746564206465726976617469766561646444657269766174697665733a20456d707479205f64657269766174697665735f5f76616c6964617465446572697661746976653a20556e657175616c20646563696d616c73a164736f6c634300060c000a", - "sourceMap": "568:168:372:-:0;;;648:86;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;648:86:372;864:29:358;;;;-1:-1:-1;;;;;;864:29:358;;;-1:-1:-1;;;;;568:168:372;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b506004361061007d5760003560e01c8063893d20e81161005b578063893d20e8146102b25780638f72b136146102ba57806397c0ac871461035d5780639be918e6146103655761007d565b806339cbb63c1461008257806366adb867146101ab578063727212f6146101ed575b600080fd5b6101a96004803603604081101561009857600080fd5b8101906020810181356401000000008111156100b357600080fd5b8201836020820111156100c557600080fd5b803590602001918460208302840111640100000000831117156100e757600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929594936020810193503591505064010000000081111561013757600080fd5b82018360208201111561014957600080fd5b8035906020019184602083028401116401000000008311171561016b57600080fd5b91908080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525092955061039f945050505050565b005b6101d1600480360360208110156101c157600080fd5b50356001600160a01b031661070c565b604080516001600160a01b039092168252519081900360200190f35b6102196004803603604081101561020357600080fd5b506001600160a01b03813516906020013561072a565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b8381101561025d578181015183820152602001610245565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561029c578181015183820152602001610284565b5050505090500194505050505060405180910390f35b6101d1610805565b6101a9600480360360208110156102d057600080fd5b8101906020810181356401000000008111156102eb57600080fd5b8201836020820111156102fd57600080fd5b8035906020019184602083028401116401000000008311171561031f57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610891945050505050565b6101d1610a4c565b61038b6004803603602081101561037b57600080fd5b50356001600160a01b0316610a70565b604080519115158252519081900360200190f35b6103a7610805565b6001600160a01b0316336001600160a01b0316146103f65760405162461bcd60e51b8152600401808060200182810382526049815260200180610bc96049913960600191505060405180910390fd5b60008251116104365760405162461bcd60e51b8152600401808060200182810382526022815260200180610c636022913960400191505060405180910390fd5b805182511461048c576040805162461bcd60e51b815260206004820152601e60248201527f61646444657269766174697665733a20556e657175616c206172726179730000604482015290519081900360640190fd5b60005b82518110156107075760006001600160a01b03168382815181106104af57fe5b60200260200101516001600160a01b03161415610513576040805162461bcd60e51b815260206004820181905260248201527f61646444657269766174697665733a20456d7074792064657269766174697665604482015290519081900360640190fd5b60006001600160a01b031682828151811061052a57fe5b60200260200101516001600160a01b0316141561058e576040805162461bcd60e51b815260206004820181905260248201527f61646444657269766174697665733a20456d70747920756e6465726c79696e67604482015290519081900360640190fd5b60006001600160a01b03166105b58483815181106105a857fe5b602002602001015161070c565b6001600160a01b0316146105fa5760405162461bcd60e51b8152600401808060200182810382526021815260200180610c126021913960400191505060405180910390fd5b61062a83828151811061060957fe5b602002602001015183838151811061061d57fe5b6020026020010151610a8d565b81818151811061063657fe5b602002602001015160008085848151811061064d57fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b031602179055508181815181106106a557fe5b60200260200101516001600160a01b03168382815181106106c257fe5b60200260200101516001600160a01b03167faa4ae250fb435bb4b31ed0b95822bc179fc6c5dd0c727c3ffe08d444025efd9860405160405180910390a360010161048f565b505050565b6001600160a01b039081166000908152602081905260409020541690565b60608060006107388561070c565b90506001600160a01b03811661077f5760405162461bcd60e51b8152600401808060200182810382526030815260200180610c336030913960400191505060405180910390fd5b604080516001808252818301909252906020808301908036833701905050925080836000815181106107ad57fe5b6001600160a01b039290921660209283029190910182015260408051600180825281830190925291828101908036833701905050915083826000815181106107f157fe5b602002602001018181525050509250929050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561086057600080fd5b505afa158015610874573d6000803e3d6000fd5b505050506040513d602081101561088a57600080fd5b5051905090565b610899610805565b6001600160a01b0316336001600160a01b0316146108e85760405162461bcd60e51b8152600401808060200182810382526049815260200180610bc96049913960600191505060405180910390fd5b60008151116109285760405162461bcd60e51b8152600401808060200182810382526025815260200180610ba46025913960400191505060405180910390fd5b60005b8151811015610a485760006001600160a01b031661094e8383815181106105a857fe5b6001600160a01b031614156109aa576040805162461bcd60e51b815260206004820181905260248201527f72656d6f766544657269766174697665733a2056616c7565206e6f7420736574604482015290519081900360640190fd5b6000808383815181106109b957fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154906001600160a01b030219169055818181518110610a0357fe5b60200260200101516001600160a01b03167fc15eb25d807b570f4567baf6e97c7b26d58a7d0512dc85e8db15375a056b860460405160405180910390a260010161092b565b5050565b7f000000000000000000000000000000000000000000000000000000000000000090565b600080610a7c8361070c565b6001600160a01b0316141592915050565b806001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015610ac657600080fd5b505afa158015610ada573d6000803e3d6000fd5b505050506040513d6020811015610af057600080fd5b50516040805163313ce56760e01b8152905160ff909216916001600160a01b0385169163313ce567916004808301926020929190829003018186803b158015610b3857600080fd5b505afa158015610b4c573d6000803e3d6000fd5b505050506040513d6020811015610b6257600080fd5b505160ff1614610a485760405162461bcd60e51b8152600401808060200182810382526026815260200180610c856026913960400191505060405180910390fdfe72656d6f766544657269766174697665733a20456d707479205f64657269766174697665736f6e6c7946756e644465706c6f7965724f776e65723a204f6e6c79207468652046756e644465706c6f796572206f776e65722063616e2063616c6c20746869732066756e6374696f6e61646444657269766174697665733a2056616c756520616c72656164792073657463616c63556e6465726c79696e6756616c7565733a204e6f74206120737570706f72746564206465726976617469766561646444657269766174697665733a20456d707479205f64657269766174697665735f5f76616c6964617465446572697661746976653a20556e657175616c20646563696d616c73a164736f6c634300060c000a", - "sourceMap": "568:168:372:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1158:951:252;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1158:951:252;;;;;;;;-1:-1:-1;1158:951:252;;-1:-1:-1;;1158:951:252;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1158:951:252;;-1:-1:-1;1158:951:252;;-1:-1:-1;;;;;1158:951:252:i;:::-;;3223:186;;;;;;;;;;;;;;;;-1:-1:-1;3223:186:252;-1:-1:-1;;;;;3223:186:252;;:::i;:::-;;;;-1:-1:-1;;;;;3223:186:252;;;;;;;;;;;;;;1329:604:250;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1329:604:250;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1064:120:358;;;:::i;2225:523:252:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2225:523:252;;-1:-1:-1;2225:523:252;;-1:-1:-1;;;;;2225:523:252:i;1378:108:358:-;;;:::i;2106:165:250:-;;;;;;;;;;;;;;;;-1:-1:-1;2106:165:250;-1:-1:-1;;;;;2106:165:250;;:::i;:::-;;;;;;;;;;;;;;;;;;1158:951:252;679:10:358;:8;:10::i;:::-;-1:-1:-1;;;;;665:24:358;:10;-1:-1:-1;;;;;665:24:358;;644:144;;;;-1:-1:-1;;;644:144:358;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1351:1:252::1;1329:12;:19;:23;1321:70;;;;-1:-1:-1::0;;;1321:70:252::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1432:12;:19;1409:12;:19;:42;1401:85;;;::::0;;-1:-1:-1;;;1401:85:252;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;1502:9;1497:606;1517:12;:19;1513:1;:23;1497:606;;;1592:1;-1:-1:-1::0;;;;;1565:29:252::1;:12;1578:1;1565:15;;;;;;;;;;;;;;-1:-1:-1::0;;;;;1565:29:252::1;;;1557:74;;;::::0;;-1:-1:-1;;;1557:74:252;;::::1;;::::0;::::1;::::0;;;;;;;::::1;::::0;;;;;;;;;;;;;::::1;;1680:1;-1:-1:-1::0;;;;;1653:29:252::1;:12;1666:1;1653:15;;;;;;;;;;;;;;-1:-1:-1::0;;;;;1653:29:252::1;;;1645:74;;;::::0;;-1:-1:-1;;;1645:74:252;;::::1;;::::0;::::1;::::0;;;;;;;::::1;::::0;;;;;;;;;;;;;::::1;;1813:1;-1:-1:-1::0;;;;;1758:57:252::1;:43;1785:12;1798:1;1785:15;;;;;;;;;;;;;;1758:26;:43::i;:::-;-1:-1:-1::0;;;;;1758:57:252::1;;1733:149;;;;-1:-1:-1::0;;;1733:149:252::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1897:54;1918:12;1931:1;1918:15;;;;;;;;;;;;;;1935:12;1948:1;1935:15;;;;;;;;;;;;;;1897:20;:54::i;:::-;2008:12;2021:1;2008:15;;;;;;;;;;;;;;1966:22;:39:::0;1989:12:::1;2002:1;1989:15;;;;;;;;;;;;;;-1:-1:-1::0;;;;;1966:39:252::1;-1:-1:-1::0;;;;;1966:39:252::1;;;;;;;;;;;;;:57;;;;;-1:-1:-1::0;;;;;1966:57:252::1;;;;;-1:-1:-1::0;;;;;1966:57:252::1;;;;;;2076:12;2089:1;2076:15;;;;;;;;;;;;;;-1:-1:-1::0;;;;;2043:49:252::1;2059:12;2072:1;2059:15;;;;;;;;;;;;;;-1:-1:-1::0;;;;;2043:49:252::1;;;;;;;;;;;1538:3;;1497:606;;;;1158:951:::0;;:::o;3223:186::-;-1:-1:-1;;;;;3367:35:252;;;3325:19;3367:35;;;;;;;;;;;;;3223:186::o;1329:604:250:-;1458:29;1489:35;1540:18;1561:39;1588:11;1561:26;:39::i;:::-;1540:60;-1:-1:-1;;;;;;1618:24:250;;1610:85;;;;-1:-1:-1;;;1610:85:250;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1721:16;;;1735:1;1721:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1721:16:250;1706:31;;1765:10;1747:12;1760:1;1747:15;;;;;;;;-1:-1:-1;;;;;1747:28:250;;;;:15;;;;;;;;;;:28;1807:16;;;1821:1;1807:16;;;;;;;;;;;;;;1747:15;1807:16;;;;;-1:-1:-1;1807:16:250;1786:37;;1857:17;1833:18;1852:1;1833:21;;;;;;;;;;;;;:41;;;;;1885;1329:604;;;;;:::o;1064:120:358:-;1105:14;1152:13;-1:-1:-1;;;;;1138:37:358;;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1138:39:358;;-1:-1:-1;1064:120:358;:::o;2225:523:252:-;679:10:358;:8;:10::i;:::-;-1:-1:-1;;;;;665:24:358;:10;-1:-1:-1;;;;;665:24:358;;644:144;;;;-1:-1:-1;;;644:144:358;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2354:1:252::1;2332:12;:19;:23;2324:73;;;;-1:-1:-1::0;;;2324:73:252::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2413:9;2408:334;2428:12;:19;2424:1;:23;2408:334;;;2548:1;-1:-1:-1::0;;;;;2493:57:252::1;:43;2520:12;2533:1;2520:15;;;;;;;2493:43;-1:-1:-1::0;;;;;2493:57:252::1;;;2468:148;;;::::0;;-1:-1:-1;;;2468:148:252;;::::1;;::::0;::::1;::::0;;;;;;;::::1;::::0;;;;;;;;;;;;;::::1;;2638:22;:39:::0;2661:12:::1;2674:1;2661:15;;;;;;;;;;;;;;-1:-1:-1::0;;;;;2638:39:252::1;-1:-1:-1::0;;;;;2638:39:252::1;;;;;;;;;;;;;2631:46;;;;;-1:-1:-1::0;;;;;2631:46:252::1;;;;;2715:12;2728:1;2715:15;;;;;;;;;;;;;;-1:-1:-1::0;;;;;2697:34:252::1;;;;;;;;;;;2449:3;;2408:334;;;;2225:523:::0;:::o;1378:108:358:-;1466:13;1378:108;:::o;2106:165:250:-;2180:17;;2216:34;2243:6;2216:26;:34::i;:::-;-1:-1:-1;;;;;2216:48:250;;;;2106:165;-1:-1:-1;;2106:165:250:o;2469:290::-;2665:11;-1:-1:-1;;;;;2659:27:250;;:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2659:29:250;2626;;;-1:-1:-1;;;2626:29:250;;;;:62;;;;;-1:-1:-1;;;;;2626:27:250;;;;;:29;;;;;2659;;2626;;;;;;;:27;:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2626:29:250;:62;;;2605:147;;;;-1:-1:-1;;;2605:147:250;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;", - "linkReferences": {}, - "immutableReferences": { - "78707": [ - { - "start": 2057, - "length": 32 - }, - { - "start": 2638, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "addDerivatives(address[],address[])": "39cbb63c", - "calcUnderlyingValues(address,uint256)": "727212f6", - "getFundDeployer()": "97c0ac87", - "getOwner()": "893d20e8", - "getUnderlyingForDerivative(address)": "66adb867", - "isSupportedAsset(address)": "9be918e6", - "removeDerivatives(address[])": "8f72b136" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_dispatcher\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"derivative\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"underlying\",\"type\":\"address\"}],\"name\":\"DerivativeAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"derivative\",\"type\":\"address\"}],\"name\":\"DerivativeRemoved\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_derivatives\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"_underlyings\",\"type\":\"address[]\"}],\"name\":\"addDerivatives\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_derivative\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_derivativeAmount\",\"type\":\"uint256\"}],\"name\":\"calcUnderlyingValues\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"underlyings_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"underlyingAmounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFundDeployer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"fundDeployer_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_derivative\",\"type\":\"address\"}],\"name\":\"getUnderlyingForDerivative\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"underlying_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"}],\"name\":\"isSupportedAsset\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isSupported_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_derivatives\",\"type\":\"address[]\"}],\"name\":\"removeDerivatives\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"addDerivatives(address[],address[])\":{\"params\":{\"_derivatives\":\"The derivatives to add\",\"_underlyings\":\"The corresponding underlyings to add\"}},\"calcUnderlyingValues(address,uint256)\":{\"params\":{\"_derivative\":\"The derivative to convert\",\"_derivativeAmount\":\"The amount of the derivative to convert\"},\"returns\":{\"underlyingAmounts_\":\"The amount of each underlying asset for the equivalent derivative amount\",\"underlyings_\":\"The underlying assets for the _derivative\"}},\"getFundDeployer()\":{\"returns\":{\"fundDeployer_\":\"The `FUND_DEPLOYER` variable value\"}},\"getOwner()\":{\"details\":\"Ownership is deferred to the owner of the FundDeployer contract\",\"returns\":{\"owner_\":\"The owner\"}},\"getUnderlyingForDerivative(address)\":{\"params\":{\"_derivative\":\"The derivative for which to get the underlying asset\"},\"returns\":{\"underlying_\":\"The underlying asset\"}},\"isSupportedAsset(address)\":{\"params\":{\"_asset\":\"The asset to check\"},\"returns\":{\"isSupported_\":\"True if the asset is supported\"}},\"removeDerivatives(address[])\":{\"params\":{\"_derivatives\":\"The derivatives to remove\"}}},\"title\":\"TestSingleUnderlyingDerivativeRegistry Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"addDerivatives(address[],address[])\":{\"notice\":\"Adds derivatives with corresponding underlyings to the price feed\"},\"calcUnderlyingValues(address,uint256)\":{\"notice\":\"Converts a given amount of a derivative to its underlying asset values\"},\"getFundDeployer()\":{\"notice\":\"Gets the `FUND_DEPLOYER` variable\"},\"getOwner()\":{\"notice\":\"Gets the owner of this contract\"},\"getUnderlyingForDerivative(address)\":{\"notice\":\"Gets the underlying asset for a given derivative\"},\"isSupportedAsset(address)\":{\"notice\":\"Checks if an asset is supported by the price feed\"},\"removeDerivatives(address[])\":{\"notice\":\"Removes derivatives from the price feed\"}},\"notice\":\"A test implementation of PeggedDerivativesPriceFeedBase\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/TestPeggedDerivativesPriceFeed.sol\":\"TestPeggedDerivativesPriceFeed\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol\":{\"keccak256\":\"0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e\",\"dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK\"]},\"contracts/release/infrastructure/price-feeds/derivatives/feeds/utils/PeggedDerivativesPriceFeedBase.sol\":{\"keccak256\":\"0x1bfcfa32fd2ff255d3b371367e733bc5dd616f1e6244d272da7468067479702d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://0fa04e528bb5fb52d2bdbaa0532f1d0ea710d75622992156dc788dedbb8553df\",\"dweb:/ipfs/Qmdpw5aquGqFDD1tpUX6Ax7X4jx52WcoTjfoHVJozRSWpG\"]},\"contracts/release/infrastructure/price-feeds/derivatives/feeds/utils/SingleUnderlyingDerivativeRegistryMixin.sol\":{\"keccak256\":\"0xeb2aab819af80382ad562d5a80863484a42caa7888f811817eb283894a1852e7\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8846bfa874ede75fbcd3053d45a1647cad0aabbb26e4189998e8c517961c2bb6\",\"dweb:/ipfs/QmV4Bgx9VfX6kaoyZuaBDf2xyTY4ZmjniZTX8TrEmhU4Pv\"]},\"contracts/release/utils/FundDeployerOwnerMixin.sol\":{\"keccak256\":\"0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927\",\"dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM\"]},\"contracts/test/TestPeggedDerivativesPriceFeed.sol\":{\"keccak256\":\"0x66af58124bbd896c4fd6bcd1639de37ac4b7ba5cc81a06b01c402d6ba4afe4c8\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1009e149a27adbb632303b14652187b9e504fb8d9a03f840c5b53b69233c884d\",\"dweb:/ipfs/QmRBHpUeTKeTFatRwtD9Lfv5bSDaRvBwP2fGvcM75buTm9\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_dispatcher", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "derivative", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "underlying", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "DerivativeAdded", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "derivative", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "DerivativeRemoved", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_derivatives", - "type": "address[]" - }, - { - "internalType": "address[]", - "name": "_underlyings", - "type": "address[]" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "addDerivatives" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_derivative", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_derivativeAmount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "calcUnderlyingValues", - "outputs": [ - { - "internalType": "address[]", - "name": "underlyings_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "underlyingAmounts_", - "type": "uint256[]" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getFundDeployer", - "outputs": [ - { - "internalType": "address", - "name": "fundDeployer_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "owner_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_derivative", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getUnderlyingForDerivative", - "outputs": [ - { - "internalType": "address", - "name": "underlying_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_asset", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "isSupportedAsset", - "outputs": [ - { - "internalType": "bool", - "name": "isSupported_", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_derivatives", - "type": "address[]" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "removeDerivatives" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "addDerivatives(address[],address[])": { - "params": { - "_derivatives": "The derivatives to add", - "_underlyings": "The corresponding underlyings to add" - } - }, - "calcUnderlyingValues(address,uint256)": { - "params": { - "_derivative": "The derivative to convert", - "_derivativeAmount": "The amount of the derivative to convert" - }, - "returns": { - "underlyingAmounts_": "The amount of each underlying asset for the equivalent derivative amount", - "underlyings_": "The underlying assets for the _derivative" - } - }, - "getFundDeployer()": { - "returns": { - "fundDeployer_": "The `FUND_DEPLOYER` variable value" - } - }, - "getOwner()": { - "details": "Ownership is deferred to the owner of the FundDeployer contract", - "returns": { - "owner_": "The owner" - } - }, - "getUnderlyingForDerivative(address)": { - "params": { - "_derivative": "The derivative for which to get the underlying asset" - }, - "returns": { - "underlying_": "The underlying asset" - } - }, - "isSupportedAsset(address)": { - "params": { - "_asset": "The asset to check" - }, - "returns": { - "isSupported_": "True if the asset is supported" - } - }, - "removeDerivatives(address[])": { - "params": { - "_derivatives": "The derivatives to remove" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "addDerivatives(address[],address[])": { - "notice": "Adds derivatives with corresponding underlyings to the price feed" - }, - "calcUnderlyingValues(address,uint256)": { - "notice": "Converts a given amount of a derivative to its underlying asset values" - }, - "getFundDeployer()": { - "notice": "Gets the `FUND_DEPLOYER` variable" - }, - "getOwner()": { - "notice": "Gets the owner of this contract" - }, - "getUnderlyingForDerivative(address)": { - "notice": "Gets the underlying asset for a given derivative" - }, - "isSupportedAsset(address)": { - "notice": "Checks if an asset is supported by the price feed" - }, - "removeDerivatives(address[])": { - "notice": "Removes derivatives from the price feed" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/test/TestPeggedDerivativesPriceFeed.sol": "TestPeggedDerivativesPriceFeed" - }, - "libraries": {} - }, - "sources": { - "contracts/release/core/fund-deployer/IFundDeployer.sol": { - "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", - "urls": [ - "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", - "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol": { - "keccak256": "0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332", - "urls": [ - "bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e", - "dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/price-feeds/derivatives/feeds/utils/PeggedDerivativesPriceFeedBase.sol": { - "keccak256": "0x1bfcfa32fd2ff255d3b371367e733bc5dd616f1e6244d272da7468067479702d", - "urls": [ - "bzz-raw://0fa04e528bb5fb52d2bdbaa0532f1d0ea710d75622992156dc788dedbb8553df", - "dweb:/ipfs/Qmdpw5aquGqFDD1tpUX6Ax7X4jx52WcoTjfoHVJozRSWpG" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/price-feeds/derivatives/feeds/utils/SingleUnderlyingDerivativeRegistryMixin.sol": { - "keccak256": "0xeb2aab819af80382ad562d5a80863484a42caa7888f811817eb283894a1852e7", - "urls": [ - "bzz-raw://8846bfa874ede75fbcd3053d45a1647cad0aabbb26e4189998e8c517961c2bb6", - "dweb:/ipfs/QmV4Bgx9VfX6kaoyZuaBDf2xyTY4ZmjniZTX8TrEmhU4Pv" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/FundDeployerOwnerMixin.sol": { - "keccak256": "0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934", - "urls": [ - "bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927", - "dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM" - ], - "license": "GPL-3.0" - }, - "contracts/test/TestPeggedDerivativesPriceFeed.sol": { - "keccak256": "0x66af58124bbd896c4fd6bcd1639de37ac4b7ba5cc81a06b01c402d6ba4afe4c8", - "urls": [ - "bzz-raw://1009e149a27adbb632303b14652187b9e504fb8d9a03f840c5b53b69233c884d", - "dweb:/ipfs/QmRBHpUeTKeTFatRwtD9Lfv5bSDaRvBwP2fGvcM75buTm9" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 372 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_dispatcher", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "addDerivatives", "inputs": [ { "name": "_derivatives", "type": "address[]", "internalType": "address[]" }, { "name": "_underlyings", "type": "address[]", "internalType": "address[]" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "calcUnderlyingValues", "inputs": [ { "name": "_derivative", "type": "address", "internalType": "address" }, { "name": "_derivativeAmount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "underlyings_", "type": "address[]", "internalType": "address[]" }, { "name": "underlyingAmounts_", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "getFundDeployer", "inputs": [], "outputs": [ { "name": "fundDeployer_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getOwner", "inputs": [], "outputs": [ { "name": "owner_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getUnderlyingForDerivative", "inputs": [ { "name": "_derivative", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "underlying_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "isSupportedAsset", "inputs": [ { "name": "_asset", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "isSupported_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "removeDerivatives", "inputs": [ { "name": "_derivatives", "type": "address[]", "internalType": "address[]" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "event", "name": "DerivativeAdded", "inputs": [ { "name": "derivative", "type": "address", "indexed": true, "internalType": "address" }, { "name": "underlying", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "DerivativeRemoved", "inputs": [ { "name": "derivative", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false } ], "bytecode": { "object": "0x60a060405234801561001057600080fd5b50604051610d23380380610d238339818101604052602081101561003357600080fd5b5051606081901b6001600160601b0319166080526001600160a01b0316610cb761006c600039806108095280610a4e5250610cb76000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c8063893d20e81161005b578063893d20e8146102b25780638f72b136146102ba57806397c0ac871461035d5780639be918e6146103655761007d565b806339cbb63c1461008257806366adb867146101ab578063727212f6146101ed575b600080fd5b6101a96004803603604081101561009857600080fd5b8101906020810181356401000000008111156100b357600080fd5b8201836020820111156100c557600080fd5b803590602001918460208302840111640100000000831117156100e757600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929594936020810193503591505064010000000081111561013757600080fd5b82018360208201111561014957600080fd5b8035906020019184602083028401116401000000008311171561016b57600080fd5b91908080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525092955061039f945050505050565b005b6101d1600480360360208110156101c157600080fd5b50356001600160a01b031661070c565b604080516001600160a01b039092168252519081900360200190f35b6102196004803603604081101561020357600080fd5b506001600160a01b03813516906020013561072a565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b8381101561025d578181015183820152602001610245565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561029c578181015183820152602001610284565b5050505090500194505050505060405180910390f35b6101d1610805565b6101a9600480360360208110156102d057600080fd5b8101906020810181356401000000008111156102eb57600080fd5b8201836020820111156102fd57600080fd5b8035906020019184602083028401116401000000008311171561031f57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610891945050505050565b6101d1610a4c565b61038b6004803603602081101561037b57600080fd5b50356001600160a01b0316610a70565b604080519115158252519081900360200190f35b6103a7610805565b6001600160a01b0316336001600160a01b0316146103f65760405162461bcd60e51b8152600401808060200182810382526049815260200180610bc96049913960600191505060405180910390fd5b60008251116104365760405162461bcd60e51b8152600401808060200182810382526022815260200180610c636022913960400191505060405180910390fd5b805182511461048c576040805162461bcd60e51b815260206004820152601e60248201527f61646444657269766174697665733a20556e657175616c206172726179730000604482015290519081900360640190fd5b60005b82518110156107075760006001600160a01b03168382815181106104af57fe5b60200260200101516001600160a01b03161415610513576040805162461bcd60e51b815260206004820181905260248201527f61646444657269766174697665733a20456d7074792064657269766174697665604482015290519081900360640190fd5b60006001600160a01b031682828151811061052a57fe5b60200260200101516001600160a01b0316141561058e576040805162461bcd60e51b815260206004820181905260248201527f61646444657269766174697665733a20456d70747920756e6465726c79696e67604482015290519081900360640190fd5b60006001600160a01b03166105b58483815181106105a857fe5b602002602001015161070c565b6001600160a01b0316146105fa5760405162461bcd60e51b8152600401808060200182810382526021815260200180610c126021913960400191505060405180910390fd5b61062a83828151811061060957fe5b602002602001015183838151811061061d57fe5b6020026020010151610a8d565b81818151811061063657fe5b602002602001015160008085848151811061064d57fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b031602179055508181815181106106a557fe5b60200260200101516001600160a01b03168382815181106106c257fe5b60200260200101516001600160a01b03167faa4ae250fb435bb4b31ed0b95822bc179fc6c5dd0c727c3ffe08d444025efd9860405160405180910390a360010161048f565b505050565b6001600160a01b039081166000908152602081905260409020541690565b60608060006107388561070c565b90506001600160a01b03811661077f5760405162461bcd60e51b8152600401808060200182810382526030815260200180610c336030913960400191505060405180910390fd5b604080516001808252818301909252906020808301908036833701905050925080836000815181106107ad57fe5b6001600160a01b039290921660209283029190910182015260408051600180825281830190925291828101908036833701905050915083826000815181106107f157fe5b602002602001018181525050509250929050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561086057600080fd5b505afa158015610874573d6000803e3d6000fd5b505050506040513d602081101561088a57600080fd5b5051905090565b610899610805565b6001600160a01b0316336001600160a01b0316146108e85760405162461bcd60e51b8152600401808060200182810382526049815260200180610bc96049913960600191505060405180910390fd5b60008151116109285760405162461bcd60e51b8152600401808060200182810382526025815260200180610ba46025913960400191505060405180910390fd5b60005b8151811015610a485760006001600160a01b031661094e8383815181106105a857fe5b6001600160a01b031614156109aa576040805162461bcd60e51b815260206004820181905260248201527f72656d6f766544657269766174697665733a2056616c7565206e6f7420736574604482015290519081900360640190fd5b6000808383815181106109b957fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154906001600160a01b030219169055818181518110610a0357fe5b60200260200101516001600160a01b03167fc15eb25d807b570f4567baf6e97c7b26d58a7d0512dc85e8db15375a056b860460405160405180910390a260010161092b565b5050565b7f000000000000000000000000000000000000000000000000000000000000000090565b600080610a7c8361070c565b6001600160a01b0316141592915050565b806001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015610ac657600080fd5b505afa158015610ada573d6000803e3d6000fd5b505050506040513d6020811015610af057600080fd5b50516040805163313ce56760e01b8152905160ff909216916001600160a01b0385169163313ce567916004808301926020929190829003018186803b158015610b3857600080fd5b505afa158015610b4c573d6000803e3d6000fd5b505050506040513d6020811015610b6257600080fd5b505160ff1614610a485760405162461bcd60e51b8152600401808060200182810382526026815260200180610c856026913960400191505060405180910390fdfe72656d6f766544657269766174697665733a20456d707479205f64657269766174697665736f6e6c7946756e644465706c6f7965724f776e65723a204f6e6c79207468652046756e644465706c6f796572206f776e65722063616e2063616c6c20746869732066756e6374696f6e61646444657269766174697665733a2056616c756520616c72656164792073657463616c63556e6465726c79696e6756616c7565733a204e6f74206120737570706f72746564206465726976617469766561646444657269766174697665733a20456d707479205f64657269766174697665735f5f76616c6964617465446572697661746976653a20556e657175616c20646563696d616c73a164736f6c634300060c000a", "sourceMap": "568:168:372:-:0;;;648:86;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;648:86:372;864:29:358;;;;-1:-1:-1;;;;;;864:29:358;;;-1:-1:-1;;;;;568:168:372;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b506004361061007d5760003560e01c8063893d20e81161005b578063893d20e8146102b25780638f72b136146102ba57806397c0ac871461035d5780639be918e6146103655761007d565b806339cbb63c1461008257806366adb867146101ab578063727212f6146101ed575b600080fd5b6101a96004803603604081101561009857600080fd5b8101906020810181356401000000008111156100b357600080fd5b8201836020820111156100c557600080fd5b803590602001918460208302840111640100000000831117156100e757600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929594936020810193503591505064010000000081111561013757600080fd5b82018360208201111561014957600080fd5b8035906020019184602083028401116401000000008311171561016b57600080fd5b91908080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525092955061039f945050505050565b005b6101d1600480360360208110156101c157600080fd5b50356001600160a01b031661070c565b604080516001600160a01b039092168252519081900360200190f35b6102196004803603604081101561020357600080fd5b506001600160a01b03813516906020013561072a565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b8381101561025d578181015183820152602001610245565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561029c578181015183820152602001610284565b5050505090500194505050505060405180910390f35b6101d1610805565b6101a9600480360360208110156102d057600080fd5b8101906020810181356401000000008111156102eb57600080fd5b8201836020820111156102fd57600080fd5b8035906020019184602083028401116401000000008311171561031f57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610891945050505050565b6101d1610a4c565b61038b6004803603602081101561037b57600080fd5b50356001600160a01b0316610a70565b604080519115158252519081900360200190f35b6103a7610805565b6001600160a01b0316336001600160a01b0316146103f65760405162461bcd60e51b8152600401808060200182810382526049815260200180610bc96049913960600191505060405180910390fd5b60008251116104365760405162461bcd60e51b8152600401808060200182810382526022815260200180610c636022913960400191505060405180910390fd5b805182511461048c576040805162461bcd60e51b815260206004820152601e60248201527f61646444657269766174697665733a20556e657175616c206172726179730000604482015290519081900360640190fd5b60005b82518110156107075760006001600160a01b03168382815181106104af57fe5b60200260200101516001600160a01b03161415610513576040805162461bcd60e51b815260206004820181905260248201527f61646444657269766174697665733a20456d7074792064657269766174697665604482015290519081900360640190fd5b60006001600160a01b031682828151811061052a57fe5b60200260200101516001600160a01b0316141561058e576040805162461bcd60e51b815260206004820181905260248201527f61646444657269766174697665733a20456d70747920756e6465726c79696e67604482015290519081900360640190fd5b60006001600160a01b03166105b58483815181106105a857fe5b602002602001015161070c565b6001600160a01b0316146105fa5760405162461bcd60e51b8152600401808060200182810382526021815260200180610c126021913960400191505060405180910390fd5b61062a83828151811061060957fe5b602002602001015183838151811061061d57fe5b6020026020010151610a8d565b81818151811061063657fe5b602002602001015160008085848151811061064d57fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b031602179055508181815181106106a557fe5b60200260200101516001600160a01b03168382815181106106c257fe5b60200260200101516001600160a01b03167faa4ae250fb435bb4b31ed0b95822bc179fc6c5dd0c727c3ffe08d444025efd9860405160405180910390a360010161048f565b505050565b6001600160a01b039081166000908152602081905260409020541690565b60608060006107388561070c565b90506001600160a01b03811661077f5760405162461bcd60e51b8152600401808060200182810382526030815260200180610c336030913960400191505060405180910390fd5b604080516001808252818301909252906020808301908036833701905050925080836000815181106107ad57fe5b6001600160a01b039290921660209283029190910182015260408051600180825281830190925291828101908036833701905050915083826000815181106107f157fe5b602002602001018181525050509250929050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561086057600080fd5b505afa158015610874573d6000803e3d6000fd5b505050506040513d602081101561088a57600080fd5b5051905090565b610899610805565b6001600160a01b0316336001600160a01b0316146108e85760405162461bcd60e51b8152600401808060200182810382526049815260200180610bc96049913960600191505060405180910390fd5b60008151116109285760405162461bcd60e51b8152600401808060200182810382526025815260200180610ba46025913960400191505060405180910390fd5b60005b8151811015610a485760006001600160a01b031661094e8383815181106105a857fe5b6001600160a01b031614156109aa576040805162461bcd60e51b815260206004820181905260248201527f72656d6f766544657269766174697665733a2056616c7565206e6f7420736574604482015290519081900360640190fd5b6000808383815181106109b957fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154906001600160a01b030219169055818181518110610a0357fe5b60200260200101516001600160a01b03167fc15eb25d807b570f4567baf6e97c7b26d58a7d0512dc85e8db15375a056b860460405160405180910390a260010161092b565b5050565b7f000000000000000000000000000000000000000000000000000000000000000090565b600080610a7c8361070c565b6001600160a01b0316141592915050565b806001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015610ac657600080fd5b505afa158015610ada573d6000803e3d6000fd5b505050506040513d6020811015610af057600080fd5b50516040805163313ce56760e01b8152905160ff909216916001600160a01b0385169163313ce567916004808301926020929190829003018186803b158015610b3857600080fd5b505afa158015610b4c573d6000803e3d6000fd5b505050506040513d6020811015610b6257600080fd5b505160ff1614610a485760405162461bcd60e51b8152600401808060200182810382526026815260200180610c856026913960400191505060405180910390fdfe72656d6f766544657269766174697665733a20456d707479205f64657269766174697665736f6e6c7946756e644465706c6f7965724f776e65723a204f6e6c79207468652046756e644465706c6f796572206f776e65722063616e2063616c6c20746869732066756e6374696f6e61646444657269766174697665733a2056616c756520616c72656164792073657463616c63556e6465726c79696e6756616c7565733a204e6f74206120737570706f72746564206465726976617469766561646444657269766174697665733a20456d707479205f64657269766174697665735f5f76616c6964617465446572697661746976653a20556e657175616c20646563696d616c73a164736f6c634300060c000a", "sourceMap": "568:168:372:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1158:951:252;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1158:951:252;;;;;;;;-1:-1:-1;1158:951:252;;-1:-1:-1;;1158:951:252;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1158:951:252;;-1:-1:-1;1158:951:252;;-1:-1:-1;;;;;1158:951:252:i;:::-;;3223:186;;;;;;;;;;;;;;;;-1:-1:-1;3223:186:252;-1:-1:-1;;;;;3223:186:252;;:::i;:::-;;;;-1:-1:-1;;;;;3223:186:252;;;;;;;;;;;;;;1329:604:250;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1329:604:250;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1064:120:358;;;:::i;2225:523:252:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2225:523:252;;-1:-1:-1;2225:523:252;;-1:-1:-1;;;;;2225:523:252:i;1378:108:358:-;;;:::i;2106:165:250:-;;;;;;;;;;;;;;;;-1:-1:-1;2106:165:250;-1:-1:-1;;;;;2106:165:250;;:::i;:::-;;;;;;;;;;;;;;;;;;1158:951:252;679:10:358;:8;:10::i;:::-;-1:-1:-1;;;;;665:24:358;:10;-1:-1:-1;;;;;665:24:358;;644:144;;;;-1:-1:-1;;;644:144:358;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1351:1:252::1;1329:12;:19;:23;1321:70;;;;-1:-1:-1::0;;;1321:70:252::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1432:12;:19;1409:12;:19;:42;1401:85;;;::::0;;-1:-1:-1;;;1401:85:252;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;1502:9;1497:606;1517:12;:19;1513:1;:23;1497:606;;;1592:1;-1:-1:-1::0;;;;;1565:29:252::1;:12;1578:1;1565:15;;;;;;;;;;;;;;-1:-1:-1::0;;;;;1565:29:252::1;;;1557:74;;;::::0;;-1:-1:-1;;;1557:74:252;;::::1;;::::0;::::1;::::0;;;;;;;::::1;::::0;;;;;;;;;;;;;::::1;;1680:1;-1:-1:-1::0;;;;;1653:29:252::1;:12;1666:1;1653:15;;;;;;;;;;;;;;-1:-1:-1::0;;;;;1653:29:252::1;;;1645:74;;;::::0;;-1:-1:-1;;;1645:74:252;;::::1;;::::0;::::1;::::0;;;;;;;::::1;::::0;;;;;;;;;;;;;::::1;;1813:1;-1:-1:-1::0;;;;;1758:57:252::1;:43;1785:12;1798:1;1785:15;;;;;;;;;;;;;;1758:26;:43::i;:::-;-1:-1:-1::0;;;;;1758:57:252::1;;1733:149;;;;-1:-1:-1::0;;;1733:149:252::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1897:54;1918:12;1931:1;1918:15;;;;;;;;;;;;;;1935:12;1948:1;1935:15;;;;;;;;;;;;;;1897:20;:54::i;:::-;2008:12;2021:1;2008:15;;;;;;;;;;;;;;1966:22;:39:::0;1989:12:::1;2002:1;1989:15;;;;;;;;;;;;;;-1:-1:-1::0;;;;;1966:39:252::1;-1:-1:-1::0;;;;;1966:39:252::1;;;;;;;;;;;;;:57;;;;;-1:-1:-1::0;;;;;1966:57:252::1;;;;;-1:-1:-1::0;;;;;1966:57:252::1;;;;;;2076:12;2089:1;2076:15;;;;;;;;;;;;;;-1:-1:-1::0;;;;;2043:49:252::1;2059:12;2072:1;2059:15;;;;;;;;;;;;;;-1:-1:-1::0;;;;;2043:49:252::1;;;;;;;;;;;1538:3;;1497:606;;;;1158:951:::0;;:::o;3223:186::-;-1:-1:-1;;;;;3367:35:252;;;3325:19;3367:35;;;;;;;;;;;;;3223:186::o;1329:604:250:-;1458:29;1489:35;1540:18;1561:39;1588:11;1561:26;:39::i;:::-;1540:60;-1:-1:-1;;;;;;1618:24:250;;1610:85;;;;-1:-1:-1;;;1610:85:250;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1721:16;;;1735:1;1721:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1721:16:250;1706:31;;1765:10;1747:12;1760:1;1747:15;;;;;;;;-1:-1:-1;;;;;1747:28:250;;;;:15;;;;;;;;;;:28;1807:16;;;1821:1;1807:16;;;;;;;;;;;;;;1747:15;1807:16;;;;;-1:-1:-1;1807:16:250;1786:37;;1857:17;1833:18;1852:1;1833:21;;;;;;;;;;;;;:41;;;;;1885;1329:604;;;;;:::o;1064:120:358:-;1105:14;1152:13;-1:-1:-1;;;;;1138:37:358;;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1138:39:358;;-1:-1:-1;1064:120:358;:::o;2225:523:252:-;679:10:358;:8;:10::i;:::-;-1:-1:-1;;;;;665:24:358;:10;-1:-1:-1;;;;;665:24:358;;644:144;;;;-1:-1:-1;;;644:144:358;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2354:1:252::1;2332:12;:19;:23;2324:73;;;;-1:-1:-1::0;;;2324:73:252::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2413:9;2408:334;2428:12;:19;2424:1;:23;2408:334;;;2548:1;-1:-1:-1::0;;;;;2493:57:252::1;:43;2520:12;2533:1;2520:15;;;;;;;2493:43;-1:-1:-1::0;;;;;2493:57:252::1;;;2468:148;;;::::0;;-1:-1:-1;;;2468:148:252;;::::1;;::::0;::::1;::::0;;;;;;;::::1;::::0;;;;;;;;;;;;;::::1;;2638:22;:39:::0;2661:12:::1;2674:1;2661:15;;;;;;;;;;;;;;-1:-1:-1::0;;;;;2638:39:252::1;-1:-1:-1::0;;;;;2638:39:252::1;;;;;;;;;;;;;2631:46;;;;;-1:-1:-1::0;;;;;2631:46:252::1;;;;;2715:12;2728:1;2715:15;;;;;;;;;;;;;;-1:-1:-1::0;;;;;2697:34:252::1;;;;;;;;;;;2449:3;;2408:334;;;;2225:523:::0;:::o;1378:108:358:-;1466:13;1378:108;:::o;2106:165:250:-;2180:17;;2216:34;2243:6;2216:26;:34::i;:::-;-1:-1:-1;;;;;2216:48:250;;;;2106:165;-1:-1:-1;;2106:165:250:o;2469:290::-;2665:11;-1:-1:-1;;;;;2659:27:250;;:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2659:29:250;2626;;;-1:-1:-1;;;2626:29:250;;;;:62;;;;;-1:-1:-1;;;;;2626:27:250;;;;;:29;;;;;2659;;2626;;;;;;;:27;:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2626:29:250;:62;;;2605:147;;;;-1:-1:-1;;;2605:147:250;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;", "linkReferences": {}, "immutableReferences": { "78707": [ { "start": 2057, "length": 32 }, { "start": 2638, "length": 32 } ] } }, "methodIdentifiers": { "addDerivatives(address[],address[])": "39cbb63c", "calcUnderlyingValues(address,uint256)": "727212f6", "getFundDeployer()": "97c0ac87", "getOwner()": "893d20e8", "getUnderlyingForDerivative(address)": "66adb867", "isSupportedAsset(address)": "9be918e6", "removeDerivatives(address[])": "8f72b136" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_dispatcher\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"derivative\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"underlying\",\"type\":\"address\"}],\"name\":\"DerivativeAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"derivative\",\"type\":\"address\"}],\"name\":\"DerivativeRemoved\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_derivatives\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"_underlyings\",\"type\":\"address[]\"}],\"name\":\"addDerivatives\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_derivative\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_derivativeAmount\",\"type\":\"uint256\"}],\"name\":\"calcUnderlyingValues\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"underlyings_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"underlyingAmounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFundDeployer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"fundDeployer_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_derivative\",\"type\":\"address\"}],\"name\":\"getUnderlyingForDerivative\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"underlying_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"}],\"name\":\"isSupportedAsset\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isSupported_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_derivatives\",\"type\":\"address[]\"}],\"name\":\"removeDerivatives\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"addDerivatives(address[],address[])\":{\"params\":{\"_derivatives\":\"The derivatives to add\",\"_underlyings\":\"The corresponding underlyings to add\"}},\"calcUnderlyingValues(address,uint256)\":{\"params\":{\"_derivative\":\"The derivative to convert\",\"_derivativeAmount\":\"The amount of the derivative to convert\"},\"returns\":{\"underlyingAmounts_\":\"The amount of each underlying asset for the equivalent derivative amount\",\"underlyings_\":\"The underlying assets for the _derivative\"}},\"getFundDeployer()\":{\"returns\":{\"fundDeployer_\":\"The `FUND_DEPLOYER` variable value\"}},\"getOwner()\":{\"details\":\"Ownership is deferred to the owner of the FundDeployer contract\",\"returns\":{\"owner_\":\"The owner\"}},\"getUnderlyingForDerivative(address)\":{\"params\":{\"_derivative\":\"The derivative for which to get the underlying asset\"},\"returns\":{\"underlying_\":\"The underlying asset\"}},\"isSupportedAsset(address)\":{\"params\":{\"_asset\":\"The asset to check\"},\"returns\":{\"isSupported_\":\"True if the asset is supported\"}},\"removeDerivatives(address[])\":{\"params\":{\"_derivatives\":\"The derivatives to remove\"}}},\"title\":\"TestSingleUnderlyingDerivativeRegistry Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"addDerivatives(address[],address[])\":{\"notice\":\"Adds derivatives with corresponding underlyings to the price feed\"},\"calcUnderlyingValues(address,uint256)\":{\"notice\":\"Converts a given amount of a derivative to its underlying asset values\"},\"getFundDeployer()\":{\"notice\":\"Gets the `FUND_DEPLOYER` variable\"},\"getOwner()\":{\"notice\":\"Gets the owner of this contract\"},\"getUnderlyingForDerivative(address)\":{\"notice\":\"Gets the underlying asset for a given derivative\"},\"isSupportedAsset(address)\":{\"notice\":\"Checks if an asset is supported by the price feed\"},\"removeDerivatives(address[])\":{\"notice\":\"Removes derivatives from the price feed\"}},\"notice\":\"A test implementation of PeggedDerivativesPriceFeedBase\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/TestPeggedDerivativesPriceFeed.sol\":\"TestPeggedDerivativesPriceFeed\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol\":{\"keccak256\":\"0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e\",\"dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK\"]},\"contracts/release/infrastructure/price-feeds/derivatives/feeds/utils/PeggedDerivativesPriceFeedBase.sol\":{\"keccak256\":\"0x1bfcfa32fd2ff255d3b371367e733bc5dd616f1e6244d272da7468067479702d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://0fa04e528bb5fb52d2bdbaa0532f1d0ea710d75622992156dc788dedbb8553df\",\"dweb:/ipfs/Qmdpw5aquGqFDD1tpUX6Ax7X4jx52WcoTjfoHVJozRSWpG\"]},\"contracts/release/infrastructure/price-feeds/derivatives/feeds/utils/SingleUnderlyingDerivativeRegistryMixin.sol\":{\"keccak256\":\"0xeb2aab819af80382ad562d5a80863484a42caa7888f811817eb283894a1852e7\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8846bfa874ede75fbcd3053d45a1647cad0aabbb26e4189998e8c517961c2bb6\",\"dweb:/ipfs/QmV4Bgx9VfX6kaoyZuaBDf2xyTY4ZmjniZTX8TrEmhU4Pv\"]},\"contracts/release/utils/FundDeployerOwnerMixin.sol\":{\"keccak256\":\"0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927\",\"dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM\"]},\"contracts/test/TestPeggedDerivativesPriceFeed.sol\":{\"keccak256\":\"0x66af58124bbd896c4fd6bcd1639de37ac4b7ba5cc81a06b01c402d6ba4afe4c8\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1009e149a27adbb632303b14652187b9e504fb8d9a03f840c5b53b69233c884d\",\"dweb:/ipfs/QmRBHpUeTKeTFatRwtD9Lfv5bSDaRvBwP2fGvcM75buTm9\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_dispatcher", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "derivative", "type": "address", "indexed": true }, { "internalType": "address", "name": "underlying", "type": "address", "indexed": true } ], "type": "event", "name": "DerivativeAdded", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "derivative", "type": "address", "indexed": true } ], "type": "event", "name": "DerivativeRemoved", "anonymous": false }, { "inputs": [ { "internalType": "address[]", "name": "_derivatives", "type": "address[]" }, { "internalType": "address[]", "name": "_underlyings", "type": "address[]" } ], "stateMutability": "nonpayable", "type": "function", "name": "addDerivatives" }, { "inputs": [ { "internalType": "address", "name": "_derivative", "type": "address" }, { "internalType": "uint256", "name": "_derivativeAmount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "calcUnderlyingValues", "outputs": [ { "internalType": "address[]", "name": "underlyings_", "type": "address[]" }, { "internalType": "uint256[]", "name": "underlyingAmounts_", "type": "uint256[]" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getFundDeployer", "outputs": [ { "internalType": "address", "name": "fundDeployer_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getOwner", "outputs": [ { "internalType": "address", "name": "owner_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_derivative", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getUnderlyingForDerivative", "outputs": [ { "internalType": "address", "name": "underlying_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_asset", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "isSupportedAsset", "outputs": [ { "internalType": "bool", "name": "isSupported_", "type": "bool" } ] }, { "inputs": [ { "internalType": "address[]", "name": "_derivatives", "type": "address[]" } ], "stateMutability": "nonpayable", "type": "function", "name": "removeDerivatives" } ], "devdoc": { "kind": "dev", "methods": { "addDerivatives(address[],address[])": { "params": { "_derivatives": "The derivatives to add", "_underlyings": "The corresponding underlyings to add" } }, "calcUnderlyingValues(address,uint256)": { "params": { "_derivative": "The derivative to convert", "_derivativeAmount": "The amount of the derivative to convert" }, "returns": { "underlyingAmounts_": "The amount of each underlying asset for the equivalent derivative amount", "underlyings_": "The underlying assets for the _derivative" } }, "getFundDeployer()": { "returns": { "fundDeployer_": "The `FUND_DEPLOYER` variable value" } }, "getOwner()": { "details": "Ownership is deferred to the owner of the FundDeployer contract", "returns": { "owner_": "The owner" } }, "getUnderlyingForDerivative(address)": { "params": { "_derivative": "The derivative for which to get the underlying asset" }, "returns": { "underlying_": "The underlying asset" } }, "isSupportedAsset(address)": { "params": { "_asset": "The asset to check" }, "returns": { "isSupported_": "True if the asset is supported" } }, "removeDerivatives(address[])": { "params": { "_derivatives": "The derivatives to remove" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "addDerivatives(address[],address[])": { "notice": "Adds derivatives with corresponding underlyings to the price feed" }, "calcUnderlyingValues(address,uint256)": { "notice": "Converts a given amount of a derivative to its underlying asset values" }, "getFundDeployer()": { "notice": "Gets the `FUND_DEPLOYER` variable" }, "getOwner()": { "notice": "Gets the owner of this contract" }, "getUnderlyingForDerivative(address)": { "notice": "Gets the underlying asset for a given derivative" }, "isSupportedAsset(address)": { "notice": "Checks if an asset is supported by the price feed" }, "removeDerivatives(address[])": { "notice": "Removes derivatives from the price feed" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/test/TestPeggedDerivativesPriceFeed.sol": "TestPeggedDerivativesPriceFeed" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/core/fund-deployer/IFundDeployer.sol": { "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", "urls": [ "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol": { "keccak256": "0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332", "urls": [ "bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e", "dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/price-feeds/derivatives/feeds/utils/PeggedDerivativesPriceFeedBase.sol": { "keccak256": "0x1bfcfa32fd2ff255d3b371367e733bc5dd616f1e6244d272da7468067479702d", "urls": [ "bzz-raw://0fa04e528bb5fb52d2bdbaa0532f1d0ea710d75622992156dc788dedbb8553df", "dweb:/ipfs/Qmdpw5aquGqFDD1tpUX6Ax7X4jx52WcoTjfoHVJozRSWpG" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/price-feeds/derivatives/feeds/utils/SingleUnderlyingDerivativeRegistryMixin.sol": { "keccak256": "0xeb2aab819af80382ad562d5a80863484a42caa7888f811817eb283894a1852e7", "urls": [ "bzz-raw://8846bfa874ede75fbcd3053d45a1647cad0aabbb26e4189998e8c517961c2bb6", "dweb:/ipfs/QmV4Bgx9VfX6kaoyZuaBDf2xyTY4ZmjniZTX8TrEmhU4Pv" ], "license": "GPL-3.0" }, "contracts/release/utils/FundDeployerOwnerMixin.sol": { "keccak256": "0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934", "urls": [ "bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927", "dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM" ], "license": "GPL-3.0" }, "contracts/test/TestPeggedDerivativesPriceFeed.sol": { "keccak256": "0x66af58124bbd896c4fd6bcd1639de37ac4b7ba5cc81a06b01c402d6ba4afe4c8", "urls": [ "bzz-raw://1009e149a27adbb632303b14652187b9e504fb8d9a03f840c5b53b69233c884d", "dweb:/ipfs/QmRBHpUeTKeTFatRwtD9Lfv5bSDaRvBwP2fGvcM75buTm9" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" } }, "version": 1 }, "id": 372 } diff --git a/eth_defi/abi/enzyme/TestPricelessAssetBypassMixin.json b/eth_defi/abi/enzyme/TestPricelessAssetBypassMixin.json index 7a95141b..97696384 100644 --- a/eth_defi/abi/enzyme/TestPricelessAssetBypassMixin.json +++ b/eth_defi/abi/enzyme/TestPricelessAssetBypassMixin.json @@ -1,1064 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_valueInterpreter", - "type": "address" - }, - { - "internalType": "address", - "name": "_wethToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_timelock", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_timeLimit", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "comptrollerProxy", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "asset", - "type": "address" - } - ], - "name": "PricelessAssetBypassed", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "comptrollerProxy", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "asset", - "type": "address" - } - ], - "name": "PricelessAssetTimelockStarted", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_asset", - "type": "address" - } - ], - "name": "assetIsBypassableForFund", - "outputs": [ - { - "internalType": "bool", - "name": "isBypassable_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "address[]", - "name": "_baseAssets", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "_baseAssetAmounts", - "type": "uint256[]" - }, - { - "internalType": "address", - "name": "_quoteAsset", - "type": "address" - } - ], - "name": "calcTotalValueExlcudingBypassablePricelessAssets", - "outputs": [ - { - "internalType": "uint256", - "name": "value_", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_baseAsset", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_baseAssetAmount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_quoteAsset", - "type": "address" - } - ], - "name": "calcValueExcludingBypassablePricelessAsset", - "outputs": [ - { - "internalType": "uint256", - "name": "value_", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_asset", - "type": "address" - } - ], - "name": "getAssetBypassWindowStartForFund", - "outputs": [ - { - "internalType": "uint256", - "name": "windowStart_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getPricelessAssetBypassTimeLimit", - "outputs": [ - { - "internalType": "uint256", - "name": "timeLimit_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getPricelessAssetBypassTimelock", - "outputs": [ - { - "internalType": "uint256", - "name": "timelock_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getPricelessAssetBypassValueInterpreter", - "outputs": [ - { - "internalType": "address", - "name": "valueInterpreter_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getPricelessAssetBypassWethToken", - "outputs": [ - { - "internalType": "address", - "name": "wethToken_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_asset", - "type": "address" - } - ], - "name": "startAssetBypassTimelock", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x61010060405234801561001157600080fd5b506040516109e13803806109e18339818101604052608081101561003457600080fd5b5080516020820151604083015160609384015160809190915260a0526001600160601b031991831b821660c05290911b1660e05260805160a05160c05160601c60e05160601c61093e6100a3600039806105875250806105635250806105f85250806105ab525061093e6000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c80635da4cdb2116100665780635da4cdb2146101065780637fe292681461013457806385d63ec91461013c578063d21e7a781461017e578063ecd09063146101ba57610093565b806307d2890e1461009857806314f8e615146100c0578063234dfb17146100e457806344105398146100ec575b600080fd5b6100be600480360360208110156100ae57600080fd5b50356001600160a01b03166102fc565b005b6100c8610561565b604080516001600160a01b039092168252519081900360200190f35b6100c8610585565b6100f46105a9565b60408051918252519081900360200190f35b6100f46004803603604081101561011c57600080fd5b506001600160a01b03813581169160200135166105cd565b6100f46105f6565b61016a6004803603604081101561015257600080fd5b506001600160a01b038135811691602001351661061a565b604080519115158252519081900360200190f35b6100f46004803603608081101561019457600080fd5b506001600160a01b03813581169160208101358216916040820135916060013516610652565b6100f4600480360360808110156101d057600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156101fb57600080fd5b82018360208201111561020d57600080fd5b8035906020019184602083028401116401000000008311171561022f57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929594936020810193503591505064010000000081111561027f57600080fd5b82018360208201111561029157600080fd5b803590602001918460208302840111640100000000831117156102b357600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550505090356001600160a01b031691506106699050565b6000336001600160a01b0316635a53e3486040518163ffffffff1660e01b815260040160206040518083038186803b15801561033757600080fd5b505afa15801561034b573d6000803e3d6000fd5b505050506040513d602081101561036157600080fd5b50516040805163c980918760e01b815290519192506001600160a01b0383169163c980918791600480820192602092909190829003018186803b1580156103a757600080fd5b505afa1580156103bb573d6000803e3d6000fd5b505050506040513d60208110156103d157600080fd5b50516001600160a01b031633146104195760405162461bcd60e51b81526004018080602001828103825260598152602001806108d96059913960600191505060405180910390fd5b610421610561565b6001600160a01b0316634c67e10683600161043a610585565b6040518463ffffffff1660e01b815260040180846001600160a01b03168152602001838152602001826001600160a01b031681526020019350505050602060405180830381600087803b15801561049057600080fd5b505af19250505080156104b557506040513d60208110156104b057600080fd5b505160015b610525576104cb6104c46105a9565b4290610677565b6001600160a01b0380831660008181526020818152604080832094881680845294909152808220949094559251919290917f76fadd0d061c0fa0e079ec4814cecf7f5f6f43e604f241551dd35b6c3c9a69809190a361055d565b5060405162461bcd60e51b815260040180806020018281038252602b815260200180610864602b913960400191505060405180910390fd5b5050565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b6001600160a01b0391821660009081526020818152604080832093909416825291909152205490565b7f000000000000000000000000000000000000000000000000000000000000000090565b60008061062784846105cd565b905042811115801561064a5750426106476106406105f6565b8390610677565b10155b949350505050565b6000610660858585856106d8565b95945050505050565b60006106608585858561080e565b6000828201838110156106d1576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b60006106e2610561565b6001600160a01b0316634c67e1068585856040518463ffffffff1660e01b815260040180846001600160a01b03168152602001838152602001826001600160a01b031681526020019350505050602060405180830381600087803b15801561074957600080fd5b505af192505050801561076e57506040513d602081101561076957600080fd5b505160015b6107fc5761077c858561061a565b6107b75760405162461bcd60e51b815260040180806020018281038252604a81526020018061088f604a913960600191505060405180910390fd5b836001600160a01b0316856001600160a01b03167fa2de3d3e85d58ec3c62bcbd0a67a60fac9f9002f6e70cfe768a49fa19d7dcf4660405160405180910390a3610803565b905061064a565b506000949350505050565b6000805b845181101561085a576108506106408787848151811061082e57fe5b602002602001015187858151811061084257fe5b6020026020010151876106d8565b9150600101610812565b5094935050505056fe7374617274417373657442797061737354696d656c6f636b3a2041737365742068617320612070726963655f5f63616c6356616c75654578636c7564696e6742797061737361626c6550726963656c65737341737365743a20496e76616c6964206173736574206e6f742062797061737361626c657374617274417373657442797061737354696d656c6f636b3a2053656e646572206973206e6f7420746865205661756c7450726f7879206f6620746865206173736f63696174656420436f6d7074726f6c6c657250726f7879a164736f6c634300060c000a", - "sourceMap": "539:1223:373:-:0;;;613:225;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;613:225:373;;;;;;;;;;;;;;;;1530:43:224;;;;1583:46;;-1:-1:-1;;;;;;1639:60:224;;;;;;;1709:46;;;;;;539:1223:373;;;;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106100935760003560e01c80635da4cdb2116100665780635da4cdb2146101065780637fe292681461013457806385d63ec91461013c578063d21e7a781461017e578063ecd09063146101ba57610093565b806307d2890e1461009857806314f8e615146100c0578063234dfb17146100e457806344105398146100ec575b600080fd5b6100be600480360360208110156100ae57600080fd5b50356001600160a01b03166102fc565b005b6100c8610561565b604080516001600160a01b039092168252519081900360200190f35b6100c8610585565b6100f46105a9565b60408051918252519081900360200190f35b6100f46004803603604081101561011c57600080fd5b506001600160a01b03813581169160200135166105cd565b6100f46105f6565b61016a6004803603604081101561015257600080fd5b506001600160a01b038135811691602001351661061a565b604080519115158252519081900360200190f35b6100f46004803603608081101561019457600080fd5b506001600160a01b03813581169160208101358216916040820135916060013516610652565b6100f4600480360360808110156101d057600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156101fb57600080fd5b82018360208201111561020d57600080fd5b8035906020019184602083028401116401000000008311171561022f57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929594936020810193503591505064010000000081111561027f57600080fd5b82018360208201111561029157600080fd5b803590602001918460208302840111640100000000831117156102b357600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550505090356001600160a01b031691506106699050565b6000336001600160a01b0316635a53e3486040518163ffffffff1660e01b815260040160206040518083038186803b15801561033757600080fd5b505afa15801561034b573d6000803e3d6000fd5b505050506040513d602081101561036157600080fd5b50516040805163c980918760e01b815290519192506001600160a01b0383169163c980918791600480820192602092909190829003018186803b1580156103a757600080fd5b505afa1580156103bb573d6000803e3d6000fd5b505050506040513d60208110156103d157600080fd5b50516001600160a01b031633146104195760405162461bcd60e51b81526004018080602001828103825260598152602001806108d96059913960600191505060405180910390fd5b610421610561565b6001600160a01b0316634c67e10683600161043a610585565b6040518463ffffffff1660e01b815260040180846001600160a01b03168152602001838152602001826001600160a01b031681526020019350505050602060405180830381600087803b15801561049057600080fd5b505af19250505080156104b557506040513d60208110156104b057600080fd5b505160015b610525576104cb6104c46105a9565b4290610677565b6001600160a01b0380831660008181526020818152604080832094881680845294909152808220949094559251919290917f76fadd0d061c0fa0e079ec4814cecf7f5f6f43e604f241551dd35b6c3c9a69809190a361055d565b5060405162461bcd60e51b815260040180806020018281038252602b815260200180610864602b913960400191505060405180910390fd5b5050565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b6001600160a01b0391821660009081526020818152604080832093909416825291909152205490565b7f000000000000000000000000000000000000000000000000000000000000000090565b60008061062784846105cd565b905042811115801561064a5750426106476106406105f6565b8390610677565b10155b949350505050565b6000610660858585856106d8565b95945050505050565b60006106608585858561080e565b6000828201838110156106d1576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b60006106e2610561565b6001600160a01b0316634c67e1068585856040518463ffffffff1660e01b815260040180846001600160a01b03168152602001838152602001826001600160a01b031681526020019350505050602060405180830381600087803b15801561074957600080fd5b505af192505050801561076e57506040513d602081101561076957600080fd5b505160015b6107fc5761077c858561061a565b6107b75760405162461bcd60e51b815260040180806020018281038252604a81526020018061088f604a913960600191505060405180910390fd5b836001600160a01b0316856001600160a01b03167fa2de3d3e85d58ec3c62bcbd0a67a60fac9f9002f6e70cfe768a49fa19d7dcf4660405160405180910390a3610803565b905061064a565b506000949350505050565b6000805b845181101561085a576108506106408787848151811061082e57fe5b602002602001015187858151811061084257fe5b6020026020010151876106d8565b9150600101610812565b5094935050505056fe7374617274417373657442797061737354696d656c6f636b3a2041737365742068617320612070726963655f5f63616c6356616c75654578636c7564696e6742797061737361626c6550726963656c65737341737365743a20496e76616c6964206173736574206e6f742062797061737361626c657374617274417373657442797061737354696d656c6f636b3a2053656e646572206973206e6f7420746865205661756c7450726f7879206f6620746865206173736f63696174656420436f6d7074726f6c6c657250726f7879a164736f6c634300060c000a", - "sourceMap": "539:1223:373:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2146:1068:224;;;;;;;;;;;;;;;;-1:-1:-1;2146:1068:224;-1:-1:-1;;;;;2146:1068:224;;:::i;:::-;;7057:191;;;:::i;:::-;;;;-1:-1:-1;;;;;7057:191:224;;;;;;;;;;;;;;7406:142;;;:::i;6740:138::-;;;:::i;:::-;;;;;;;;;;;;;;;;6038:249;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;6038:249:224;;;;;;;;;;:::i;6445:142::-;;;:::i;3548:390::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;3548:390:224;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;1322:438:373;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1322:438:373;;;;;;;;;;;;;;;;;;;;;;:::i;844:472::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;844:472:373;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;844:472:373;;;;;;;;-1:-1:-1;844:472:373;;-1:-1:-1;;844:472:373;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;844:472:373;;-1:-1:-1;;;844:472:373;;-1:-1:-1;;;;;844:472:373;;-1:-1:-1;844:472:373;;-1:-1:-1;844:472:373:i;2146:1068:224:-;2291:24;2327:10;-1:-1:-1;;;;;2318:32:224;;:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2318:34:224;2397:48;;;-1:-1:-1;;;2397:48:224;;;;2318:34;;-1:-1:-1;;;;;;2397:46:224;;;;;:48;;;;;2318:34;;2397:48;;;;;;;;:46;:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2397:48:224;-1:-1:-1;;;;;2383:62:224;:10;:62;2362:198;;;;-1:-1:-1;;;2362:198:224;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2604:41;:39;:41::i;:::-;-1:-1:-1;;;;;2587:83:224;;2688:6;2712:1;2779:34;:32;:34::i;:::-;2587:268;;;;;;;;;;;;;-1:-1:-1;;;;;2587:268:224;;;;;;;;;;;-1:-1:-1;;;;;2587:268:224;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2587:268:224;;;2571:637;;3034:88;3088:33;:31;:33::i;:::-;3034:32;;:53;:88::i;:::-;-1:-1:-1;;;;;2963:60:224;;;:42;:60;;;;;;;;;;;:68;;;;;;;;;;;;;:159;;;;3142:55;;2963:68;;:60;;3142:55;;2963:42;3142:55;2571:637;;;;2878:53;;-1:-1:-1;;;2878:53:224;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2571:637;2146:1068;;:::o;7057:191::-;7201:40;7057:191;:::o;7406:142::-;7508:33;7406:142;:::o;6740:138::-;6840:31;6740:138;:::o;6038:249::-;-1:-1:-1;;;;;6211:61:224;;;6168:20;6211:61;;;;;;;;;;;:69;;;;;;;;;;;;;6038:249::o;6445:142::-;6547:33;6445:142;:::o;3548:390::-;3670:18;3704:19;3726:59;3759:17;3778:6;3726:32;:59::i;:::-;3704:81;;3830:15;3815:11;:30;;:116;;;;;3916:15;3861:51;3877:34;:32;:34::i;:::-;3861:11;;:15;:51::i;:::-;:70;;3815:116;3796:135;3548:390;-1:-1:-1;;;;3548:390:224:o;1322:438:373:-;1524:14;1569:184;1631:17;1666:10;1694:16;1728:11;1569:44;:184::i;:::-;1550:203;1322:438;-1:-1:-1;;;;;1322:438:373:o;844:472::-;1072:14;1117:192;1185:17;1220:11;1249:17;1284:11;1117:50;:192::i;2690:175:442:-;2748:7;2779:5;;;2802:6;;;;2794:46;;;;;-1:-1:-1;;;2794:46:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;2857:1;2690:175;-1:-1:-1;;;2690:175:442:o;4879:824:224:-;5083:14;5142:41;:39;:41::i;:::-;-1:-1:-1;;;;;5125:83:224;;5226:10;5254:16;5288:11;5125:188;;;;;;;;;;;;;-1:-1:-1;;;;;5125:188:224;;;;;;;;;;;-1:-1:-1;;;;;5125:188:224;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5125:188:224;;;5109:569;;5431:55;5456:17;5475:10;5431:24;:55::i;:::-;5406:188;;;;-1:-1:-1;;;5406:188:224;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5656:10;-1:-1:-1;;;;;5614:53:224;5637:17;-1:-1:-1;;;;;5614:53:224;;;;;;;;;;;5109:569;;;5368:6;-1:-1:-1;5361:13:224;;5109:569;-1:-1:-1;5695:1:224;4879:824;;;;;;:::o;4084:595::-;4314:14;4345:9;4340:333;4360:11;:18;4356:1;:22;4340:333;;;4408:254;4436:212;4502:17;4541:11;4553:1;4541:14;;;;;;;;;;;;;;4577:17;4595:1;4577:20;;;;;;;;;;;;;;4619:11;4436:44;:212::i;4408:254::-;4399:263;-1:-1:-1;4380:3:224;;4340:333;;;;4084:595;;;;;;:::o", - "linkReferences": {}, - "immutableReferences": { - "60282": [ - { - "start": 1451, - "length": 32 - } - ], - "60284": [ - { - "start": 1528, - "length": 32 - } - ], - "60286": [ - { - "start": 1379, - "length": 32 - } - ], - "60288": [ - { - "start": 1415, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "assetIsBypassableForFund(address,address)": "85d63ec9", - "calcTotalValueExlcudingBypassablePricelessAssets(address,address[],uint256[],address)": "ecd09063", - "calcValueExcludingBypassablePricelessAsset(address,address,uint256,address)": "d21e7a78", - "getAssetBypassWindowStartForFund(address,address)": "5da4cdb2", - "getPricelessAssetBypassTimeLimit()": "7fe29268", - "getPricelessAssetBypassTimelock()": "44105398", - "getPricelessAssetBypassValueInterpreter()": "14f8e615", - "getPricelessAssetBypassWethToken()": "234dfb17", - "startAssetBypassTimelock(address)": "07d2890e" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_valueInterpreter\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_wethToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_timelock\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_timeLimit\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"asset\",\"type\":\"address\"}],\"name\":\"PricelessAssetBypassed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"asset\",\"type\":\"address\"}],\"name\":\"PricelessAssetTimelockStarted\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"}],\"name\":\"assetIsBypassableForFund\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isBypassable_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"address[]\",\"name\":\"_baseAssets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"_baseAssetAmounts\",\"type\":\"uint256[]\"},{\"internalType\":\"address\",\"name\":\"_quoteAsset\",\"type\":\"address\"}],\"name\":\"calcTotalValueExlcudingBypassablePricelessAssets\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"value_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_baseAsset\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_baseAssetAmount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_quoteAsset\",\"type\":\"address\"}],\"name\":\"calcValueExcludingBypassablePricelessAsset\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"value_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"}],\"name\":\"getAssetBypassWindowStartForFund\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"windowStart_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPricelessAssetBypassTimeLimit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"timeLimit_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPricelessAssetBypassTimelock\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"timelock_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPricelessAssetBypassValueInterpreter\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"valueInterpreter_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPricelessAssetBypassWethToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"wethToken_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"}],\"name\":\"startAssetBypassTimelock\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"assetIsBypassableForFund(address,address)\":{\"params\":{\"_asset\":\"The asset for which to check if it is bypassable\",\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\"},\"returns\":{\"isBypassable_\":\"True if the asset is bypassable\"}},\"getAssetBypassWindowStartForFund(address,address)\":{\"params\":{\"_asset\":\"The asset\",\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\"},\"returns\":{\"windowStart_\":\"The timestamp\"}},\"getPricelessAssetBypassTimeLimit()\":{\"returns\":{\"timeLimit_\":\"The `PRICELESS_ASSET_BYPASS_TIME_LIMIT` variable value\"}},\"getPricelessAssetBypassTimelock()\":{\"returns\":{\"timelock_\":\"The `PRICELESS_ASSET_BYPASS_TIMELOCK` variable value\"}},\"getPricelessAssetBypassValueInterpreter()\":{\"returns\":{\"valueInterpreter_\":\"The `PRICELESS_ASSET_BYPASS_VALUE_INTERPRETER` variable value\"}},\"getPricelessAssetBypassWethToken()\":{\"returns\":{\"wethToken_\":\"The `PRICELESS_ASSET_BYPASS_WETH_TOKEN` variable value\"}},\"startAssetBypassTimelock(address)\":{\"details\":\"This function must be called via ComptrollerProxy.vaultCallOnContract(). This allows the function to be gas relay-able. It also means that the originator must be the owner.\",\"params\":{\"_asset\":\"The asset for which to start the timelock period\"}}},\"title\":\"TestPricelessAssetBypassMixin Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"assetIsBypassableForFund(address,address)\":{\"notice\":\"Checks whether an asset is bypassable (if still without a valid price) for a given fund\"},\"getAssetBypassWindowStartForFund(address,address)\":{\"notice\":\"Gets the timestamp from which an asset without a valid price can be considered to be valued at `0`\"},\"getPricelessAssetBypassTimeLimit()\":{\"notice\":\"Gets the `PRICELESS_ASSET_BYPASS_TIME_LIMIT` variable\"},\"getPricelessAssetBypassTimelock()\":{\"notice\":\"Gets the `PRICELESS_ASSET_BYPASS_TIMELOCK` variable\"},\"getPricelessAssetBypassValueInterpreter()\":{\"notice\":\"Gets the `PRICELESS_ASSET_BYPASS_VALUE_INTERPRETER` variable\"},\"getPricelessAssetBypassWethToken()\":{\"notice\":\"Gets the `PRICELESS_ASSET_BYPASS_WETH_TOKEN` variable\"},\"startAssetBypassTimelock(address)\":{\"notice\":\"Starts the timelock period for an asset without a valid price\"}},\"notice\":\"A test implementation of PricelessAssetBypassMixin\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/TestPricelessAssetBypassMixin.sol\":\"TestPricelessAssetBypassMixin\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/persistent/protocol-fee-reserve/interfaces/IProtocolFeeReserve1.sol\":{\"keccak256\":\"0x2728878c423db523bc95189137e8c58d2d7db9f56bbd5c6b1f988c08b551fbab\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3b0df1d2eb74151265d03ab91a7c341f7beca475dd2f4d669052dbc4ee2c06ac\",\"dweb:/ipfs/QmVx1cgrxQNYfdK1Kn15pcgqf79Uw8bF3U6i7F2HG2rj6G\"]},\"contracts/persistent/vault/VaultLibBase1.sol\":{\"keccak256\":\"0xa4dac1e4cdb311a2ab187135355357d8790c505ef36dd912c057fe53743d30b5\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b66efe821016ab927c949263023260515e90f5d480dc8d94eefbfeec7bf7490b\",\"dweb:/ipfs/QmNY3xKnhL9EptAbxGvXHGAXfV9pj3dDPwsZnKrPs54ZHw\"]},\"contracts/persistent/vault/VaultLibBase2.sol\":{\"keccak256\":\"0xf7d31f2a9a47770ed3f444be2c4fe9262ddb55fef7f25e546b1f03c9afec4c09\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9353ddce7c9b8b3c13fed23fe8edec99ca610d791b0c5b204b3d01f1f08d07d2\",\"dweb:/ipfs/QmeVsEh3joCjv49BRXeHASevnZZ5xdZXpkctHT8BPf37N2\"]},\"contracts/persistent/vault/VaultLibBaseCore.sol\":{\"keccak256\":\"0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd\",\"dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz\"]},\"contracts/persistent/vault/interfaces/IExternalPositionVault.sol\":{\"keccak256\":\"0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d\",\"dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8\"]},\"contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol\":{\"keccak256\":\"0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb\",\"dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU\"]},\"contracts/persistent/vault/interfaces/IMigratableVault.sol\":{\"keccak256\":\"0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6\",\"dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs\"]},\"contracts/persistent/vault/interfaces/IVaultCore.sol\":{\"keccak256\":\"0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd\",\"dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr\"]},\"contracts/persistent/vault/utils/ProxiableVaultLib.sol\":{\"keccak256\":\"0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44\",\"dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4\"]},\"contracts/persistent/vault/utils/SharesTokenBase.sol\":{\"keccak256\":\"0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8\",\"dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4\"]},\"contracts/persistent/vault/utils/VaultLibSafeMath.sol\":{\"keccak256\":\"0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02\",\"dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG\"]},\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/core/fund/comptroller/ComptrollerLib.sol\":{\"keccak256\":\"0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579\",\"dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq\"]},\"contracts/release/core/fund/comptroller/IComptroller.sol\":{\"keccak256\":\"0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97\",\"dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L\"]},\"contracts/release/core/fund/vault/IVault.sol\":{\"keccak256\":\"0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599\",\"dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG\"]},\"contracts/release/core/fund/vault/VaultLib.sol\":{\"keccak256\":\"0x07e49445ab55c01e1b499a48baadc2a15d1eba621f1c6d3ccfdb84c87b976da8\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://56d882459248f73e137db2e097fc56b946147fb28ec21661b77431f88e856cb4\",\"dweb:/ipfs/QmRP6Ry7DCS5uoKxnnkTomHSzbaCze6cHqbR9aLdjoF6vK\"]},\"contracts/release/extensions/IExtension.sol\":{\"keccak256\":\"0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70\",\"dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t\"]},\"contracts/release/extensions/external-position-manager/IExternalPositionManager.sol\":{\"keccak256\":\"0x3af3f634e1f99fb97091b7825c0d2e2baaafc124d4e87d56cb0c17ff8554f6c6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://515470605afe5ef147f30fa75ce7818f0e00e3d321eb81a4d9bffcdefc294495\",\"dweb:/ipfs/QmPKsp99pfHoz9Tfo3ZxnkmqDqJtN9PxqacF2RmeVfxUJF\"]},\"contracts/release/extensions/fee-manager/IFeeManager.sol\":{\"keccak256\":\"0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22\",\"dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod\"]},\"contracts/release/extensions/policy-manager/IPolicyManager.sol\":{\"keccak256\":\"0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa\",\"dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb\"]},\"contracts/release/extensions/policy-manager/policies/utils/PricelessAssetBypassMixin.sol\":{\"keccak256\":\"0x5624f038f790b51ba9bd2207a6e80d188bc5d0b049807e0f06f123f6d00e3444\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://53782b55be373922df118f9970f897c1adfd4646dc4a95eec52e7c914944f68c\",\"dweb:/ipfs/QmTGPQRqzczosWALPZgAN6TKE4qdBuFwGBdCKy6GxtZBPe\"]},\"contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol\":{\"keccak256\":\"0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f\",\"dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol\":{\"keccak256\":\"0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0\",\"dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol\":{\"keccak256\":\"0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b\",\"dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3\"]},\"contracts/release/infrastructure/price-feeds/derivatives/AggregatedDerivativePriceFeedMixin.sol\":{\"keccak256\":\"0x85d2ac39834dae7feb04f0e37317a38b8abeb0f950692fbc9d29078c52cd8d52\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://7bf8f1ce064d85a2812a944fc93068955b233924097f7f45898be3db826579d5\",\"dweb:/ipfs/Qme7f6AhxLVn32prM8fHaCvxtVi86A9KqFMqPA1s88kVYR\"]},\"contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol\":{\"keccak256\":\"0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e\",\"dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK\"]},\"contracts/release/infrastructure/price-feeds/primitives/ChainlinkPriceFeedMixin.sol\":{\"keccak256\":\"0x7fb0078e7387f07ff09958fe4e4e7b317e72c23884f61e8c133776cad522f8bb\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://e973f29ed0c3bf03e20154ab4b0cfc68c3a4372a52ec746f9d9f86697b30e977\",\"dweb:/ipfs/QmfMb7H1zNnj2hzmUr6742HmCTiNVuQ2PFjeR8q2M4Liyu\"]},\"contracts/release/infrastructure/protocol-fees/IProtocolFeeTracker.sol\":{\"keccak256\":\"0x232b347f83457439064add7369bfe1930c7cb56f15930bb87d640e909c15e447\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://24f9af5eebdd373b1d7a598c096eb6def31b2640d54416d7d5a7226e1cef17e6\",\"dweb:/ipfs/QmStq9ByGuSYdKwTmZf52L1X6sZVJUfXTnoVbnjLLiUcHG\"]},\"contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol\":{\"keccak256\":\"0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965\",\"dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ\"]},\"contracts/release/infrastructure/value-interpreter/ValueInterpreter.sol\":{\"keccak256\":\"0x64565011785d0d29a75021cda34687cfbc0641094d6f2faf4d9c78c8cd9f0d1d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://03ea9b29a332436d18ca1a4df7e5cdf231d5142dfb916a39cb3a721342d54e0e\",\"dweb:/ipfs/QmcB8Z7A7QELAxg2FfJpD26k2bUhMNUT4wACMVKxuge3QS\"]},\"contracts/release/interfaces/IChainlinkAggregator.sol\":{\"keccak256\":\"0x8104db68d4edc00c86b29b366f4397cdbe7bd95bb9dc90f54140af4bae963788\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://4664240be22fe76bd4e84d1cbaace3998dbc96759a14345819a889f0c288d22e\",\"dweb:/ipfs/QmQ8fbA4tvXeCeaAFeS2JrLEQUPFeYrePAKoUywRtcicgA\"]},\"contracts/release/interfaces/IGsnForwarder.sol\":{\"keccak256\":\"0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29\",\"dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G\"]},\"contracts/release/interfaces/IGsnPaymaster.sol\":{\"keccak256\":\"0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4\",\"dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF\"]},\"contracts/release/interfaces/IGsnTypes.sol\":{\"keccak256\":\"0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7\",\"dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C\"]},\"contracts/release/interfaces/IWETH.sol\":{\"keccak256\":\"0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2\",\"dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/FundDeployerOwnerMixin.sol\":{\"keccak256\":\"0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927\",\"dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM\"]},\"contracts/release/utils/MathHelpers.sol\":{\"keccak256\":\"0x8aef498ae98bfb40cd1df8c9ed652b4c092fbbe62d5a1fad522c53654523248e\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ed62789f6a8d5ca30a40c591f244b915e4711493a9e4b1b4d40ea2bc97b02a95\",\"dweb:/ipfs/QmWyXJ55arURtx9VMkUQokdsjk8tbgM2cC8rENFUMyz5D3\"]},\"contracts/release/utils/beacon-proxy/IBeacon.sol\":{\"keccak256\":\"0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39\",\"dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V\"]},\"contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol\":{\"keccak256\":\"0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be\",\"dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG\"]},\"contracts/test/TestPricelessAssetBypassMixin.sol\":{\"keccak256\":\"0xdeb622d32222be185e7cc51ea570b35cf6df3adb0d9b59d8531c6c4d059d2d06\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3a4f3f1eee498ad98e52d42fa08d06dc8d81f8d8580350ddbf633e2a3720282d\",\"dweb:/ipfs/QmVdtTeGw5EN6tJC9zgUczr75g61RFGsxuZZVF2UbaJmjW\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20Burnable.sol\":{\"keccak256\":\"0x9c0eb3b0e11d2480d49991dc384f1e5f9c9b9967cc81944d50916a9b9c6c4984\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99e4033d778624992e86f0b6d801a4f6d7b5c0cd5c79c1296be90a051ad5f5af\",\"dweb:/ipfs/QmShYmkUqh6pDEeoWadZ24icmCr4C2Xys1uE5boivPmbwf\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_valueInterpreter", - "type": "address" - }, - { - "internalType": "address", - "name": "_wethToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_timelock", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_timeLimit", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "comptrollerProxy", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "asset", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "PricelessAssetBypassed", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "comptrollerProxy", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "asset", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "PricelessAssetTimelockStarted", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_asset", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "assetIsBypassableForFund", - "outputs": [ - { - "internalType": "bool", - "name": "isBypassable_", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "address[]", - "name": "_baseAssets", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "_baseAssetAmounts", - "type": "uint256[]" - }, - { - "internalType": "address", - "name": "_quoteAsset", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "calcTotalValueExlcudingBypassablePricelessAssets", - "outputs": [ - { - "internalType": "uint256", - "name": "value_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_baseAsset", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_baseAssetAmount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_quoteAsset", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "calcValueExcludingBypassablePricelessAsset", - "outputs": [ - { - "internalType": "uint256", - "name": "value_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_asset", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getAssetBypassWindowStartForFund", - "outputs": [ - { - "internalType": "uint256", - "name": "windowStart_", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getPricelessAssetBypassTimeLimit", - "outputs": [ - { - "internalType": "uint256", - "name": "timeLimit_", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getPricelessAssetBypassTimelock", - "outputs": [ - { - "internalType": "uint256", - "name": "timelock_", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getPricelessAssetBypassValueInterpreter", - "outputs": [ - { - "internalType": "address", - "name": "valueInterpreter_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getPricelessAssetBypassWethToken", - "outputs": [ - { - "internalType": "address", - "name": "wethToken_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_asset", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "startAssetBypassTimelock" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "assetIsBypassableForFund(address,address)": { - "params": { - "_asset": "The asset for which to check if it is bypassable", - "_comptrollerProxy": "The ComptrollerProxy of the fund" - }, - "returns": { - "isBypassable_": "True if the asset is bypassable" - } - }, - "getAssetBypassWindowStartForFund(address,address)": { - "params": { - "_asset": "The asset", - "_comptrollerProxy": "The ComptrollerProxy of the fund" - }, - "returns": { - "windowStart_": "The timestamp" - } - }, - "getPricelessAssetBypassTimeLimit()": { - "returns": { - "timeLimit_": "The `PRICELESS_ASSET_BYPASS_TIME_LIMIT` variable value" - } - }, - "getPricelessAssetBypassTimelock()": { - "returns": { - "timelock_": "The `PRICELESS_ASSET_BYPASS_TIMELOCK` variable value" - } - }, - "getPricelessAssetBypassValueInterpreter()": { - "returns": { - "valueInterpreter_": "The `PRICELESS_ASSET_BYPASS_VALUE_INTERPRETER` variable value" - } - }, - "getPricelessAssetBypassWethToken()": { - "returns": { - "wethToken_": "The `PRICELESS_ASSET_BYPASS_WETH_TOKEN` variable value" - } - }, - "startAssetBypassTimelock(address)": { - "details": "This function must be called via ComptrollerProxy.vaultCallOnContract(). This allows the function to be gas relay-able. It also means that the originator must be the owner.", - "params": { - "_asset": "The asset for which to start the timelock period" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "assetIsBypassableForFund(address,address)": { - "notice": "Checks whether an asset is bypassable (if still without a valid price) for a given fund" - }, - "getAssetBypassWindowStartForFund(address,address)": { - "notice": "Gets the timestamp from which an asset without a valid price can be considered to be valued at `0`" - }, - "getPricelessAssetBypassTimeLimit()": { - "notice": "Gets the `PRICELESS_ASSET_BYPASS_TIME_LIMIT` variable" - }, - "getPricelessAssetBypassTimelock()": { - "notice": "Gets the `PRICELESS_ASSET_BYPASS_TIMELOCK` variable" - }, - "getPricelessAssetBypassValueInterpreter()": { - "notice": "Gets the `PRICELESS_ASSET_BYPASS_VALUE_INTERPRETER` variable" - }, - "getPricelessAssetBypassWethToken()": { - "notice": "Gets the `PRICELESS_ASSET_BYPASS_WETH_TOKEN` variable" - }, - "startAssetBypassTimelock(address)": { - "notice": "Starts the timelock period for an asset without a valid price" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/test/TestPricelessAssetBypassMixin.sol": "TestPricelessAssetBypassMixin" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/dispatcher/IDispatcher.sol": { - "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", - "urls": [ - "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", - "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/external-positions/IExternalPosition.sol": { - "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", - "urls": [ - "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", - "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/protocol-fee-reserve/interfaces/IProtocolFeeReserve1.sol": { - "keccak256": "0x2728878c423db523bc95189137e8c58d2d7db9f56bbd5c6b1f988c08b551fbab", - "urls": [ - "bzz-raw://3b0df1d2eb74151265d03ab91a7c341f7beca475dd2f4d669052dbc4ee2c06ac", - "dweb:/ipfs/QmVx1cgrxQNYfdK1Kn15pcgqf79Uw8bF3U6i7F2HG2rj6G" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/VaultLibBase1.sol": { - "keccak256": "0xa4dac1e4cdb311a2ab187135355357d8790c505ef36dd912c057fe53743d30b5", - "urls": [ - "bzz-raw://b66efe821016ab927c949263023260515e90f5d480dc8d94eefbfeec7bf7490b", - "dweb:/ipfs/QmNY3xKnhL9EptAbxGvXHGAXfV9pj3dDPwsZnKrPs54ZHw" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/VaultLibBase2.sol": { - "keccak256": "0xf7d31f2a9a47770ed3f444be2c4fe9262ddb55fef7f25e546b1f03c9afec4c09", - "urls": [ - "bzz-raw://9353ddce7c9b8b3c13fed23fe8edec99ca610d791b0c5b204b3d01f1f08d07d2", - "dweb:/ipfs/QmeVsEh3joCjv49BRXeHASevnZZ5xdZXpkctHT8BPf37N2" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/VaultLibBaseCore.sol": { - "keccak256": "0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074", - "urls": [ - "bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd", - "dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IExternalPositionVault.sol": { - "keccak256": "0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6", - "urls": [ - "bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d", - "dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol": { - "keccak256": "0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0", - "urls": [ - "bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb", - "dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IMigratableVault.sol": { - "keccak256": "0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238", - "urls": [ - "bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6", - "dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IVaultCore.sol": { - "keccak256": "0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80", - "urls": [ - "bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd", - "dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/utils/ProxiableVaultLib.sol": { - "keccak256": "0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76", - "urls": [ - "bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44", - "dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/utils/SharesTokenBase.sol": { - "keccak256": "0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113", - "urls": [ - "bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8", - "dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/utils/VaultLibSafeMath.sol": { - "keccak256": "0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d", - "urls": [ - "bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02", - "dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund-deployer/IFundDeployer.sol": { - "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", - "urls": [ - "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", - "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/comptroller/ComptrollerLib.sol": { - "keccak256": "0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64", - "urls": [ - "bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579", - "dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/comptroller/IComptroller.sol": { - "keccak256": "0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f", - "urls": [ - "bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97", - "dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/vault/IVault.sol": { - "keccak256": "0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd", - "urls": [ - "bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599", - "dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/vault/VaultLib.sol": { - "keccak256": "0x07e49445ab55c01e1b499a48baadc2a15d1eba621f1c6d3ccfdb84c87b976da8", - "urls": [ - "bzz-raw://56d882459248f73e137db2e097fc56b946147fb28ec21661b77431f88e856cb4", - "dweb:/ipfs/QmRP6Ry7DCS5uoKxnnkTomHSzbaCze6cHqbR9aLdjoF6vK" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/IExtension.sol": { - "keccak256": "0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b", - "urls": [ - "bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70", - "dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/IExternalPositionManager.sol": { - "keccak256": "0x3af3f634e1f99fb97091b7825c0d2e2baaafc124d4e87d56cb0c17ff8554f6c6", - "urls": [ - "bzz-raw://515470605afe5ef147f30fa75ce7818f0e00e3d321eb81a4d9bffcdefc294495", - "dweb:/ipfs/QmPKsp99pfHoz9Tfo3ZxnkmqDqJtN9PxqacF2RmeVfxUJF" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/fee-manager/IFeeManager.sol": { - "keccak256": "0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51", - "urls": [ - "bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22", - "dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/policy-manager/IPolicyManager.sol": { - "keccak256": "0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32", - "urls": [ - "bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa", - "dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/policy-manager/policies/utils/PricelessAssetBypassMixin.sol": { - "keccak256": "0x5624f038f790b51ba9bd2207a6e80d188bc5d0b049807e0f06f123f6d00e3444", - "urls": [ - "bzz-raw://53782b55be373922df118f9970f897c1adfd4646dc4a95eec52e7c914944f68c", - "dweb:/ipfs/QmTGPQRqzczosWALPZgAN6TKE4qdBuFwGBdCKy6GxtZBPe" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol": { - "keccak256": "0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609", - "urls": [ - "bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f", - "dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol": { - "keccak256": "0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01", - "urls": [ - "bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0", - "dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol": { - "keccak256": "0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196", - "urls": [ - "bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b", - "dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/price-feeds/derivatives/AggregatedDerivativePriceFeedMixin.sol": { - "keccak256": "0x85d2ac39834dae7feb04f0e37317a38b8abeb0f950692fbc9d29078c52cd8d52", - "urls": [ - "bzz-raw://7bf8f1ce064d85a2812a944fc93068955b233924097f7f45898be3db826579d5", - "dweb:/ipfs/Qme7f6AhxLVn32prM8fHaCvxtVi86A9KqFMqPA1s88kVYR" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol": { - "keccak256": "0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332", - "urls": [ - "bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e", - "dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/price-feeds/primitives/ChainlinkPriceFeedMixin.sol": { - "keccak256": "0x7fb0078e7387f07ff09958fe4e4e7b317e72c23884f61e8c133776cad522f8bb", - "urls": [ - "bzz-raw://e973f29ed0c3bf03e20154ab4b0cfc68c3a4372a52ec746f9d9f86697b30e977", - "dweb:/ipfs/QmfMb7H1zNnj2hzmUr6742HmCTiNVuQ2PFjeR8q2M4Liyu" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/protocol-fees/IProtocolFeeTracker.sol": { - "keccak256": "0x232b347f83457439064add7369bfe1930c7cb56f15930bb87d640e909c15e447", - "urls": [ - "bzz-raw://24f9af5eebdd373b1d7a598c096eb6def31b2640d54416d7d5a7226e1cef17e6", - "dweb:/ipfs/QmStq9ByGuSYdKwTmZf52L1X6sZVJUfXTnoVbnjLLiUcHG" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol": { - "keccak256": "0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794", - "urls": [ - "bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965", - "dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/value-interpreter/ValueInterpreter.sol": { - "keccak256": "0x64565011785d0d29a75021cda34687cfbc0641094d6f2faf4d9c78c8cd9f0d1d", - "urls": [ - "bzz-raw://03ea9b29a332436d18ca1a4df7e5cdf231d5142dfb916a39cb3a721342d54e0e", - "dweb:/ipfs/QmcB8Z7A7QELAxg2FfJpD26k2bUhMNUT4wACMVKxuge3QS" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IChainlinkAggregator.sol": { - "keccak256": "0x8104db68d4edc00c86b29b366f4397cdbe7bd95bb9dc90f54140af4bae963788", - "urls": [ - "bzz-raw://4664240be22fe76bd4e84d1cbaace3998dbc96759a14345819a889f0c288d22e", - "dweb:/ipfs/QmQ8fbA4tvXeCeaAFeS2JrLEQUPFeYrePAKoUywRtcicgA" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IGsnForwarder.sol": { - "keccak256": "0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030", - "urls": [ - "bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29", - "dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IGsnPaymaster.sol": { - "keccak256": "0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c", - "urls": [ - "bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4", - "dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IGsnTypes.sol": { - "keccak256": "0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714", - "urls": [ - "bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7", - "dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IWETH.sol": { - "keccak256": "0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2", - "urls": [ - "bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2", - "dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AddressArrayLib.sol": { - "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", - "urls": [ - "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", - "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/FundDeployerOwnerMixin.sol": { - "keccak256": "0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934", - "urls": [ - "bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927", - "dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/MathHelpers.sol": { - "keccak256": "0x8aef498ae98bfb40cd1df8c9ed652b4c092fbbe62d5a1fad522c53654523248e", - "urls": [ - "bzz-raw://ed62789f6a8d5ca30a40c591f244b915e4711493a9e4b1b4d40ea2bc97b02a95", - "dweb:/ipfs/QmWyXJ55arURtx9VMkUQokdsjk8tbgM2cC8rENFUMyz5D3" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/beacon-proxy/IBeacon.sol": { - "keccak256": "0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2", - "urls": [ - "bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39", - "dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol": { - "keccak256": "0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc", - "urls": [ - "bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be", - "dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG" - ], - "license": "GPL-3.0" - }, - "contracts/test/TestPricelessAssetBypassMixin.sol": { - "keccak256": "0xdeb622d32222be185e7cc51ea570b35cf6df3adb0d9b59d8531c6c4d059d2d06", - "urls": [ - "bzz-raw://3a4f3f1eee498ad98e52d42fa08d06dc8d81f8d8580350ddbf633e2a3720282d", - "dweb:/ipfs/QmVdtTeGw5EN6tJC9zgUczr75g61RFGsxuZZVF2UbaJmjW" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20Burnable.sol": { - "keccak256": "0x9c0eb3b0e11d2480d49991dc384f1e5f9c9b9967cc81944d50916a9b9c6c4984", - "urls": [ - "bzz-raw://99e4033d778624992e86f0b6d801a4f6d7b5c0cd5c79c1296be90a051ad5f5af", - "dweb:/ipfs/QmShYmkUqh6pDEeoWadZ24icmCr4C2Xys1uE5boivPmbwf" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { - "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", - "urls": [ - "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", - "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Address.sol": { - "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", - "urls": [ - "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", - "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 373 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_valueInterpreter", "type": "address", "internalType": "address" }, { "name": "_wethToken", "type": "address", "internalType": "address" }, { "name": "_timelock", "type": "uint256", "internalType": "uint256" }, { "name": "_timeLimit", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "assetIsBypassableForFund", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" }, { "name": "_asset", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "isBypassable_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "calcTotalValueExlcudingBypassablePricelessAssets", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" }, { "name": "_baseAssets", "type": "address[]", "internalType": "address[]" }, { "name": "_baseAssetAmounts", "type": "uint256[]", "internalType": "uint256[]" }, { "name": "_quoteAsset", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "value_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "calcValueExcludingBypassablePricelessAsset", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" }, { "name": "_baseAsset", "type": "address", "internalType": "address" }, { "name": "_baseAssetAmount", "type": "uint256", "internalType": "uint256" }, { "name": "_quoteAsset", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "value_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "getAssetBypassWindowStartForFund", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" }, { "name": "_asset", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "windowStart_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "getPricelessAssetBypassTimeLimit", "inputs": [], "outputs": [ { "name": "timeLimit_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "getPricelessAssetBypassTimelock", "inputs": [], "outputs": [ { "name": "timelock_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "getPricelessAssetBypassValueInterpreter", "inputs": [], "outputs": [ { "name": "valueInterpreter_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getPricelessAssetBypassWethToken", "inputs": [], "outputs": [ { "name": "wethToken_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "startAssetBypassTimelock", "inputs": [ { "name": "_asset", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "event", "name": "PricelessAssetBypassed", "inputs": [ { "name": "comptrollerProxy", "type": "address", "indexed": true, "internalType": "address" }, { "name": "asset", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "PricelessAssetTimelockStarted", "inputs": [ { "name": "comptrollerProxy", "type": "address", "indexed": true, "internalType": "address" }, { "name": "asset", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false } ], "bytecode": { "object": "0x61010060405234801561001157600080fd5b506040516109e13803806109e18339818101604052608081101561003457600080fd5b5080516020820151604083015160609384015160809190915260a0526001600160601b031991831b821660c05290911b1660e05260805160a05160c05160601c60e05160601c61093e6100a3600039806105875250806105635250806105f85250806105ab525061093e6000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c80635da4cdb2116100665780635da4cdb2146101065780637fe292681461013457806385d63ec91461013c578063d21e7a781461017e578063ecd09063146101ba57610093565b806307d2890e1461009857806314f8e615146100c0578063234dfb17146100e457806344105398146100ec575b600080fd5b6100be600480360360208110156100ae57600080fd5b50356001600160a01b03166102fc565b005b6100c8610561565b604080516001600160a01b039092168252519081900360200190f35b6100c8610585565b6100f46105a9565b60408051918252519081900360200190f35b6100f46004803603604081101561011c57600080fd5b506001600160a01b03813581169160200135166105cd565b6100f46105f6565b61016a6004803603604081101561015257600080fd5b506001600160a01b038135811691602001351661061a565b604080519115158252519081900360200190f35b6100f46004803603608081101561019457600080fd5b506001600160a01b03813581169160208101358216916040820135916060013516610652565b6100f4600480360360808110156101d057600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156101fb57600080fd5b82018360208201111561020d57600080fd5b8035906020019184602083028401116401000000008311171561022f57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929594936020810193503591505064010000000081111561027f57600080fd5b82018360208201111561029157600080fd5b803590602001918460208302840111640100000000831117156102b357600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550505090356001600160a01b031691506106699050565b6000336001600160a01b0316635a53e3486040518163ffffffff1660e01b815260040160206040518083038186803b15801561033757600080fd5b505afa15801561034b573d6000803e3d6000fd5b505050506040513d602081101561036157600080fd5b50516040805163c980918760e01b815290519192506001600160a01b0383169163c980918791600480820192602092909190829003018186803b1580156103a757600080fd5b505afa1580156103bb573d6000803e3d6000fd5b505050506040513d60208110156103d157600080fd5b50516001600160a01b031633146104195760405162461bcd60e51b81526004018080602001828103825260598152602001806108d96059913960600191505060405180910390fd5b610421610561565b6001600160a01b0316634c67e10683600161043a610585565b6040518463ffffffff1660e01b815260040180846001600160a01b03168152602001838152602001826001600160a01b031681526020019350505050602060405180830381600087803b15801561049057600080fd5b505af19250505080156104b557506040513d60208110156104b057600080fd5b505160015b610525576104cb6104c46105a9565b4290610677565b6001600160a01b0380831660008181526020818152604080832094881680845294909152808220949094559251919290917f76fadd0d061c0fa0e079ec4814cecf7f5f6f43e604f241551dd35b6c3c9a69809190a361055d565b5060405162461bcd60e51b815260040180806020018281038252602b815260200180610864602b913960400191505060405180910390fd5b5050565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b6001600160a01b0391821660009081526020818152604080832093909416825291909152205490565b7f000000000000000000000000000000000000000000000000000000000000000090565b60008061062784846105cd565b905042811115801561064a5750426106476106406105f6565b8390610677565b10155b949350505050565b6000610660858585856106d8565b95945050505050565b60006106608585858561080e565b6000828201838110156106d1576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b60006106e2610561565b6001600160a01b0316634c67e1068585856040518463ffffffff1660e01b815260040180846001600160a01b03168152602001838152602001826001600160a01b031681526020019350505050602060405180830381600087803b15801561074957600080fd5b505af192505050801561076e57506040513d602081101561076957600080fd5b505160015b6107fc5761077c858561061a565b6107b75760405162461bcd60e51b815260040180806020018281038252604a81526020018061088f604a913960600191505060405180910390fd5b836001600160a01b0316856001600160a01b03167fa2de3d3e85d58ec3c62bcbd0a67a60fac9f9002f6e70cfe768a49fa19d7dcf4660405160405180910390a3610803565b905061064a565b506000949350505050565b6000805b845181101561085a576108506106408787848151811061082e57fe5b602002602001015187858151811061084257fe5b6020026020010151876106d8565b9150600101610812565b5094935050505056fe7374617274417373657442797061737354696d656c6f636b3a2041737365742068617320612070726963655f5f63616c6356616c75654578636c7564696e6742797061737361626c6550726963656c65737341737365743a20496e76616c6964206173736574206e6f742062797061737361626c657374617274417373657442797061737354696d656c6f636b3a2053656e646572206973206e6f7420746865205661756c7450726f7879206f6620746865206173736f63696174656420436f6d7074726f6c6c657250726f7879a164736f6c634300060c000a", "sourceMap": "539:1223:373:-:0;;;613:225;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;613:225:373;;;;;;;;;;;;;;;;1530:43:224;;;;1583:46;;-1:-1:-1;;;;;;1639:60:224;;;;;;;1709:46;;;;;;539:1223:373;;;;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106100935760003560e01c80635da4cdb2116100665780635da4cdb2146101065780637fe292681461013457806385d63ec91461013c578063d21e7a781461017e578063ecd09063146101ba57610093565b806307d2890e1461009857806314f8e615146100c0578063234dfb17146100e457806344105398146100ec575b600080fd5b6100be600480360360208110156100ae57600080fd5b50356001600160a01b03166102fc565b005b6100c8610561565b604080516001600160a01b039092168252519081900360200190f35b6100c8610585565b6100f46105a9565b60408051918252519081900360200190f35b6100f46004803603604081101561011c57600080fd5b506001600160a01b03813581169160200135166105cd565b6100f46105f6565b61016a6004803603604081101561015257600080fd5b506001600160a01b038135811691602001351661061a565b604080519115158252519081900360200190f35b6100f46004803603608081101561019457600080fd5b506001600160a01b03813581169160208101358216916040820135916060013516610652565b6100f4600480360360808110156101d057600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156101fb57600080fd5b82018360208201111561020d57600080fd5b8035906020019184602083028401116401000000008311171561022f57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929594936020810193503591505064010000000081111561027f57600080fd5b82018360208201111561029157600080fd5b803590602001918460208302840111640100000000831117156102b357600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550505090356001600160a01b031691506106699050565b6000336001600160a01b0316635a53e3486040518163ffffffff1660e01b815260040160206040518083038186803b15801561033757600080fd5b505afa15801561034b573d6000803e3d6000fd5b505050506040513d602081101561036157600080fd5b50516040805163c980918760e01b815290519192506001600160a01b0383169163c980918791600480820192602092909190829003018186803b1580156103a757600080fd5b505afa1580156103bb573d6000803e3d6000fd5b505050506040513d60208110156103d157600080fd5b50516001600160a01b031633146104195760405162461bcd60e51b81526004018080602001828103825260598152602001806108d96059913960600191505060405180910390fd5b610421610561565b6001600160a01b0316634c67e10683600161043a610585565b6040518463ffffffff1660e01b815260040180846001600160a01b03168152602001838152602001826001600160a01b031681526020019350505050602060405180830381600087803b15801561049057600080fd5b505af19250505080156104b557506040513d60208110156104b057600080fd5b505160015b610525576104cb6104c46105a9565b4290610677565b6001600160a01b0380831660008181526020818152604080832094881680845294909152808220949094559251919290917f76fadd0d061c0fa0e079ec4814cecf7f5f6f43e604f241551dd35b6c3c9a69809190a361055d565b5060405162461bcd60e51b815260040180806020018281038252602b815260200180610864602b913960400191505060405180910390fd5b5050565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b6001600160a01b0391821660009081526020818152604080832093909416825291909152205490565b7f000000000000000000000000000000000000000000000000000000000000000090565b60008061062784846105cd565b905042811115801561064a5750426106476106406105f6565b8390610677565b10155b949350505050565b6000610660858585856106d8565b95945050505050565b60006106608585858561080e565b6000828201838110156106d1576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b60006106e2610561565b6001600160a01b0316634c67e1068585856040518463ffffffff1660e01b815260040180846001600160a01b03168152602001838152602001826001600160a01b031681526020019350505050602060405180830381600087803b15801561074957600080fd5b505af192505050801561076e57506040513d602081101561076957600080fd5b505160015b6107fc5761077c858561061a565b6107b75760405162461bcd60e51b815260040180806020018281038252604a81526020018061088f604a913960600191505060405180910390fd5b836001600160a01b0316856001600160a01b03167fa2de3d3e85d58ec3c62bcbd0a67a60fac9f9002f6e70cfe768a49fa19d7dcf4660405160405180910390a3610803565b905061064a565b506000949350505050565b6000805b845181101561085a576108506106408787848151811061082e57fe5b602002602001015187858151811061084257fe5b6020026020010151876106d8565b9150600101610812565b5094935050505056fe7374617274417373657442797061737354696d656c6f636b3a2041737365742068617320612070726963655f5f63616c6356616c75654578636c7564696e6742797061737361626c6550726963656c65737341737365743a20496e76616c6964206173736574206e6f742062797061737361626c657374617274417373657442797061737354696d656c6f636b3a2053656e646572206973206e6f7420746865205661756c7450726f7879206f6620746865206173736f63696174656420436f6d7074726f6c6c657250726f7879a164736f6c634300060c000a", "sourceMap": "539:1223:373:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2146:1068:224;;;;;;;;;;;;;;;;-1:-1:-1;2146:1068:224;-1:-1:-1;;;;;2146:1068:224;;:::i;:::-;;7057:191;;;:::i;:::-;;;;-1:-1:-1;;;;;7057:191:224;;;;;;;;;;;;;;7406:142;;;:::i;6740:138::-;;;:::i;:::-;;;;;;;;;;;;;;;;6038:249;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;6038:249:224;;;;;;;;;;:::i;6445:142::-;;;:::i;3548:390::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;3548:390:224;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;1322:438:373;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1322:438:373;;;;;;;;;;;;;;;;;;;;;;:::i;844:472::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;844:472:373;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;844:472:373;;;;;;;;-1:-1:-1;844:472:373;;-1:-1:-1;;844:472:373;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;844:472:373;;-1:-1:-1;;;844:472:373;;-1:-1:-1;;;;;844:472:373;;-1:-1:-1;844:472:373;;-1:-1:-1;844:472:373:i;2146:1068:224:-;2291:24;2327:10;-1:-1:-1;;;;;2318:32:224;;:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2318:34:224;2397:48;;;-1:-1:-1;;;2397:48:224;;;;2318:34;;-1:-1:-1;;;;;;2397:46:224;;;;;:48;;;;;2318:34;;2397:48;;;;;;;;:46;:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2397:48:224;-1:-1:-1;;;;;2383:62:224;:10;:62;2362:198;;;;-1:-1:-1;;;2362:198:224;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2604:41;:39;:41::i;:::-;-1:-1:-1;;;;;2587:83:224;;2688:6;2712:1;2779:34;:32;:34::i;:::-;2587:268;;;;;;;;;;;;;-1:-1:-1;;;;;2587:268:224;;;;;;;;;;;-1:-1:-1;;;;;2587:268:224;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2587:268:224;;;2571:637;;3034:88;3088:33;:31;:33::i;:::-;3034:32;;:53;:88::i;:::-;-1:-1:-1;;;;;2963:60:224;;;:42;:60;;;;;;;;;;;:68;;;;;;;;;;;;;:159;;;;3142:55;;2963:68;;:60;;3142:55;;2963:42;3142:55;2571:637;;;;2878:53;;-1:-1:-1;;;2878:53:224;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2571:637;2146:1068;;:::o;7057:191::-;7201:40;7057:191;:::o;7406:142::-;7508:33;7406:142;:::o;6740:138::-;6840:31;6740:138;:::o;6038:249::-;-1:-1:-1;;;;;6211:61:224;;;6168:20;6211:61;;;;;;;;;;;:69;;;;;;;;;;;;;6038:249::o;6445:142::-;6547:33;6445:142;:::o;3548:390::-;3670:18;3704:19;3726:59;3759:17;3778:6;3726:32;:59::i;:::-;3704:81;;3830:15;3815:11;:30;;:116;;;;;3916:15;3861:51;3877:34;:32;:34::i;:::-;3861:11;;:15;:51::i;:::-;:70;;3815:116;3796:135;3548:390;-1:-1:-1;;;;3548:390:224:o;1322:438:373:-;1524:14;1569:184;1631:17;1666:10;1694:16;1728:11;1569:44;:184::i;:::-;1550:203;1322:438;-1:-1:-1;;;;;1322:438:373:o;844:472::-;1072:14;1117:192;1185:17;1220:11;1249:17;1284:11;1117:50;:192::i;2690:175:442:-;2748:7;2779:5;;;2802:6;;;;2794:46;;;;;-1:-1:-1;;;2794:46:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;2857:1;2690:175;-1:-1:-1;;;2690:175:442:o;4879:824:224:-;5083:14;5142:41;:39;:41::i;:::-;-1:-1:-1;;;;;5125:83:224;;5226:10;5254:16;5288:11;5125:188;;;;;;;;;;;;;-1:-1:-1;;;;;5125:188:224;;;;;;;;;;;-1:-1:-1;;;;;5125:188:224;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5125:188:224;;;5109:569;;5431:55;5456:17;5475:10;5431:24;:55::i;:::-;5406:188;;;;-1:-1:-1;;;5406:188:224;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5656:10;-1:-1:-1;;;;;5614:53:224;5637:17;-1:-1:-1;;;;;5614:53:224;;;;;;;;;;;5109:569;;;5368:6;-1:-1:-1;5361:13:224;;5109:569;-1:-1:-1;5695:1:224;4879:824;;;;;;:::o;4084:595::-;4314:14;4345:9;4340:333;4360:11;:18;4356:1;:22;4340:333;;;4408:254;4436:212;4502:17;4541:11;4553:1;4541:14;;;;;;;;;;;;;;4577:17;4595:1;4577:20;;;;;;;;;;;;;;4619:11;4436:44;:212::i;4408:254::-;4399:263;-1:-1:-1;4380:3:224;;4340:333;;;;4084:595;;;;;;:::o", "linkReferences": {}, "immutableReferences": { "60282": [ { "start": 1451, "length": 32 } ], "60284": [ { "start": 1528, "length": 32 } ], "60286": [ { "start": 1379, "length": 32 } ], "60288": [ { "start": 1415, "length": 32 } ] } }, "methodIdentifiers": { "assetIsBypassableForFund(address,address)": "85d63ec9", "calcTotalValueExlcudingBypassablePricelessAssets(address,address[],uint256[],address)": "ecd09063", "calcValueExcludingBypassablePricelessAsset(address,address,uint256,address)": "d21e7a78", "getAssetBypassWindowStartForFund(address,address)": "5da4cdb2", "getPricelessAssetBypassTimeLimit()": "7fe29268", "getPricelessAssetBypassTimelock()": "44105398", "getPricelessAssetBypassValueInterpreter()": "14f8e615", "getPricelessAssetBypassWethToken()": "234dfb17", "startAssetBypassTimelock(address)": "07d2890e" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_valueInterpreter\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_wethToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_timelock\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_timeLimit\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"asset\",\"type\":\"address\"}],\"name\":\"PricelessAssetBypassed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"asset\",\"type\":\"address\"}],\"name\":\"PricelessAssetTimelockStarted\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"}],\"name\":\"assetIsBypassableForFund\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isBypassable_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"address[]\",\"name\":\"_baseAssets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"_baseAssetAmounts\",\"type\":\"uint256[]\"},{\"internalType\":\"address\",\"name\":\"_quoteAsset\",\"type\":\"address\"}],\"name\":\"calcTotalValueExlcudingBypassablePricelessAssets\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"value_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_baseAsset\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_baseAssetAmount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_quoteAsset\",\"type\":\"address\"}],\"name\":\"calcValueExcludingBypassablePricelessAsset\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"value_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"}],\"name\":\"getAssetBypassWindowStartForFund\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"windowStart_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPricelessAssetBypassTimeLimit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"timeLimit_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPricelessAssetBypassTimelock\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"timelock_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPricelessAssetBypassValueInterpreter\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"valueInterpreter_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPricelessAssetBypassWethToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"wethToken_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"}],\"name\":\"startAssetBypassTimelock\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"assetIsBypassableForFund(address,address)\":{\"params\":{\"_asset\":\"The asset for which to check if it is bypassable\",\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\"},\"returns\":{\"isBypassable_\":\"True if the asset is bypassable\"}},\"getAssetBypassWindowStartForFund(address,address)\":{\"params\":{\"_asset\":\"The asset\",\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\"},\"returns\":{\"windowStart_\":\"The timestamp\"}},\"getPricelessAssetBypassTimeLimit()\":{\"returns\":{\"timeLimit_\":\"The `PRICELESS_ASSET_BYPASS_TIME_LIMIT` variable value\"}},\"getPricelessAssetBypassTimelock()\":{\"returns\":{\"timelock_\":\"The `PRICELESS_ASSET_BYPASS_TIMELOCK` variable value\"}},\"getPricelessAssetBypassValueInterpreter()\":{\"returns\":{\"valueInterpreter_\":\"The `PRICELESS_ASSET_BYPASS_VALUE_INTERPRETER` variable value\"}},\"getPricelessAssetBypassWethToken()\":{\"returns\":{\"wethToken_\":\"The `PRICELESS_ASSET_BYPASS_WETH_TOKEN` variable value\"}},\"startAssetBypassTimelock(address)\":{\"details\":\"This function must be called via ComptrollerProxy.vaultCallOnContract(). This allows the function to be gas relay-able. It also means that the originator must be the owner.\",\"params\":{\"_asset\":\"The asset for which to start the timelock period\"}}},\"title\":\"TestPricelessAssetBypassMixin Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"assetIsBypassableForFund(address,address)\":{\"notice\":\"Checks whether an asset is bypassable (if still without a valid price) for a given fund\"},\"getAssetBypassWindowStartForFund(address,address)\":{\"notice\":\"Gets the timestamp from which an asset without a valid price can be considered to be valued at `0`\"},\"getPricelessAssetBypassTimeLimit()\":{\"notice\":\"Gets the `PRICELESS_ASSET_BYPASS_TIME_LIMIT` variable\"},\"getPricelessAssetBypassTimelock()\":{\"notice\":\"Gets the `PRICELESS_ASSET_BYPASS_TIMELOCK` variable\"},\"getPricelessAssetBypassValueInterpreter()\":{\"notice\":\"Gets the `PRICELESS_ASSET_BYPASS_VALUE_INTERPRETER` variable\"},\"getPricelessAssetBypassWethToken()\":{\"notice\":\"Gets the `PRICELESS_ASSET_BYPASS_WETH_TOKEN` variable\"},\"startAssetBypassTimelock(address)\":{\"notice\":\"Starts the timelock period for an asset without a valid price\"}},\"notice\":\"A test implementation of PricelessAssetBypassMixin\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/TestPricelessAssetBypassMixin.sol\":\"TestPricelessAssetBypassMixin\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/persistent/protocol-fee-reserve/interfaces/IProtocolFeeReserve1.sol\":{\"keccak256\":\"0x2728878c423db523bc95189137e8c58d2d7db9f56bbd5c6b1f988c08b551fbab\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3b0df1d2eb74151265d03ab91a7c341f7beca475dd2f4d669052dbc4ee2c06ac\",\"dweb:/ipfs/QmVx1cgrxQNYfdK1Kn15pcgqf79Uw8bF3U6i7F2HG2rj6G\"]},\"contracts/persistent/vault/VaultLibBase1.sol\":{\"keccak256\":\"0xa4dac1e4cdb311a2ab187135355357d8790c505ef36dd912c057fe53743d30b5\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b66efe821016ab927c949263023260515e90f5d480dc8d94eefbfeec7bf7490b\",\"dweb:/ipfs/QmNY3xKnhL9EptAbxGvXHGAXfV9pj3dDPwsZnKrPs54ZHw\"]},\"contracts/persistent/vault/VaultLibBase2.sol\":{\"keccak256\":\"0xf7d31f2a9a47770ed3f444be2c4fe9262ddb55fef7f25e546b1f03c9afec4c09\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9353ddce7c9b8b3c13fed23fe8edec99ca610d791b0c5b204b3d01f1f08d07d2\",\"dweb:/ipfs/QmeVsEh3joCjv49BRXeHASevnZZ5xdZXpkctHT8BPf37N2\"]},\"contracts/persistent/vault/VaultLibBaseCore.sol\":{\"keccak256\":\"0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd\",\"dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz\"]},\"contracts/persistent/vault/interfaces/IExternalPositionVault.sol\":{\"keccak256\":\"0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d\",\"dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8\"]},\"contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol\":{\"keccak256\":\"0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb\",\"dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU\"]},\"contracts/persistent/vault/interfaces/IMigratableVault.sol\":{\"keccak256\":\"0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6\",\"dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs\"]},\"contracts/persistent/vault/interfaces/IVaultCore.sol\":{\"keccak256\":\"0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd\",\"dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr\"]},\"contracts/persistent/vault/utils/ProxiableVaultLib.sol\":{\"keccak256\":\"0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44\",\"dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4\"]},\"contracts/persistent/vault/utils/SharesTokenBase.sol\":{\"keccak256\":\"0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8\",\"dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4\"]},\"contracts/persistent/vault/utils/VaultLibSafeMath.sol\":{\"keccak256\":\"0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02\",\"dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG\"]},\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/core/fund/comptroller/ComptrollerLib.sol\":{\"keccak256\":\"0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579\",\"dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq\"]},\"contracts/release/core/fund/comptroller/IComptroller.sol\":{\"keccak256\":\"0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97\",\"dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L\"]},\"contracts/release/core/fund/vault/IVault.sol\":{\"keccak256\":\"0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599\",\"dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG\"]},\"contracts/release/core/fund/vault/VaultLib.sol\":{\"keccak256\":\"0x07e49445ab55c01e1b499a48baadc2a15d1eba621f1c6d3ccfdb84c87b976da8\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://56d882459248f73e137db2e097fc56b946147fb28ec21661b77431f88e856cb4\",\"dweb:/ipfs/QmRP6Ry7DCS5uoKxnnkTomHSzbaCze6cHqbR9aLdjoF6vK\"]},\"contracts/release/extensions/IExtension.sol\":{\"keccak256\":\"0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70\",\"dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t\"]},\"contracts/release/extensions/external-position-manager/IExternalPositionManager.sol\":{\"keccak256\":\"0x3af3f634e1f99fb97091b7825c0d2e2baaafc124d4e87d56cb0c17ff8554f6c6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://515470605afe5ef147f30fa75ce7818f0e00e3d321eb81a4d9bffcdefc294495\",\"dweb:/ipfs/QmPKsp99pfHoz9Tfo3ZxnkmqDqJtN9PxqacF2RmeVfxUJF\"]},\"contracts/release/extensions/fee-manager/IFeeManager.sol\":{\"keccak256\":\"0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22\",\"dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod\"]},\"contracts/release/extensions/policy-manager/IPolicyManager.sol\":{\"keccak256\":\"0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa\",\"dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb\"]},\"contracts/release/extensions/policy-manager/policies/utils/PricelessAssetBypassMixin.sol\":{\"keccak256\":\"0x5624f038f790b51ba9bd2207a6e80d188bc5d0b049807e0f06f123f6d00e3444\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://53782b55be373922df118f9970f897c1adfd4646dc4a95eec52e7c914944f68c\",\"dweb:/ipfs/QmTGPQRqzczosWALPZgAN6TKE4qdBuFwGBdCKy6GxtZBPe\"]},\"contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol\":{\"keccak256\":\"0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f\",\"dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol\":{\"keccak256\":\"0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0\",\"dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol\":{\"keccak256\":\"0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b\",\"dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3\"]},\"contracts/release/infrastructure/price-feeds/derivatives/AggregatedDerivativePriceFeedMixin.sol\":{\"keccak256\":\"0x85d2ac39834dae7feb04f0e37317a38b8abeb0f950692fbc9d29078c52cd8d52\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://7bf8f1ce064d85a2812a944fc93068955b233924097f7f45898be3db826579d5\",\"dweb:/ipfs/Qme7f6AhxLVn32prM8fHaCvxtVi86A9KqFMqPA1s88kVYR\"]},\"contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol\":{\"keccak256\":\"0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e\",\"dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK\"]},\"contracts/release/infrastructure/price-feeds/primitives/ChainlinkPriceFeedMixin.sol\":{\"keccak256\":\"0x7fb0078e7387f07ff09958fe4e4e7b317e72c23884f61e8c133776cad522f8bb\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://e973f29ed0c3bf03e20154ab4b0cfc68c3a4372a52ec746f9d9f86697b30e977\",\"dweb:/ipfs/QmfMb7H1zNnj2hzmUr6742HmCTiNVuQ2PFjeR8q2M4Liyu\"]},\"contracts/release/infrastructure/protocol-fees/IProtocolFeeTracker.sol\":{\"keccak256\":\"0x232b347f83457439064add7369bfe1930c7cb56f15930bb87d640e909c15e447\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://24f9af5eebdd373b1d7a598c096eb6def31b2640d54416d7d5a7226e1cef17e6\",\"dweb:/ipfs/QmStq9ByGuSYdKwTmZf52L1X6sZVJUfXTnoVbnjLLiUcHG\"]},\"contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol\":{\"keccak256\":\"0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965\",\"dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ\"]},\"contracts/release/infrastructure/value-interpreter/ValueInterpreter.sol\":{\"keccak256\":\"0x64565011785d0d29a75021cda34687cfbc0641094d6f2faf4d9c78c8cd9f0d1d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://03ea9b29a332436d18ca1a4df7e5cdf231d5142dfb916a39cb3a721342d54e0e\",\"dweb:/ipfs/QmcB8Z7A7QELAxg2FfJpD26k2bUhMNUT4wACMVKxuge3QS\"]},\"contracts/release/interfaces/IChainlinkAggregator.sol\":{\"keccak256\":\"0x8104db68d4edc00c86b29b366f4397cdbe7bd95bb9dc90f54140af4bae963788\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://4664240be22fe76bd4e84d1cbaace3998dbc96759a14345819a889f0c288d22e\",\"dweb:/ipfs/QmQ8fbA4tvXeCeaAFeS2JrLEQUPFeYrePAKoUywRtcicgA\"]},\"contracts/release/interfaces/IGsnForwarder.sol\":{\"keccak256\":\"0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29\",\"dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G\"]},\"contracts/release/interfaces/IGsnPaymaster.sol\":{\"keccak256\":\"0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4\",\"dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF\"]},\"contracts/release/interfaces/IGsnTypes.sol\":{\"keccak256\":\"0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7\",\"dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C\"]},\"contracts/release/interfaces/IWETH.sol\":{\"keccak256\":\"0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2\",\"dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/FundDeployerOwnerMixin.sol\":{\"keccak256\":\"0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927\",\"dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM\"]},\"contracts/release/utils/MathHelpers.sol\":{\"keccak256\":\"0x8aef498ae98bfb40cd1df8c9ed652b4c092fbbe62d5a1fad522c53654523248e\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ed62789f6a8d5ca30a40c591f244b915e4711493a9e4b1b4d40ea2bc97b02a95\",\"dweb:/ipfs/QmWyXJ55arURtx9VMkUQokdsjk8tbgM2cC8rENFUMyz5D3\"]},\"contracts/release/utils/beacon-proxy/IBeacon.sol\":{\"keccak256\":\"0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39\",\"dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V\"]},\"contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol\":{\"keccak256\":\"0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be\",\"dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG\"]},\"contracts/test/TestPricelessAssetBypassMixin.sol\":{\"keccak256\":\"0xdeb622d32222be185e7cc51ea570b35cf6df3adb0d9b59d8531c6c4d059d2d06\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3a4f3f1eee498ad98e52d42fa08d06dc8d81f8d8580350ddbf633e2a3720282d\",\"dweb:/ipfs/QmVdtTeGw5EN6tJC9zgUczr75g61RFGsxuZZVF2UbaJmjW\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20Burnable.sol\":{\"keccak256\":\"0x9c0eb3b0e11d2480d49991dc384f1e5f9c9b9967cc81944d50916a9b9c6c4984\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99e4033d778624992e86f0b6d801a4f6d7b5c0cd5c79c1296be90a051ad5f5af\",\"dweb:/ipfs/QmShYmkUqh6pDEeoWadZ24icmCr4C2Xys1uE5boivPmbwf\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_valueInterpreter", "type": "address" }, { "internalType": "address", "name": "_wethToken", "type": "address" }, { "internalType": "uint256", "name": "_timelock", "type": "uint256" }, { "internalType": "uint256", "name": "_timeLimit", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "comptrollerProxy", "type": "address", "indexed": true }, { "internalType": "address", "name": "asset", "type": "address", "indexed": true } ], "type": "event", "name": "PricelessAssetBypassed", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "comptrollerProxy", "type": "address", "indexed": true }, { "internalType": "address", "name": "asset", "type": "address", "indexed": true } ], "type": "event", "name": "PricelessAssetTimelockStarted", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" }, { "internalType": "address", "name": "_asset", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "assetIsBypassableForFund", "outputs": [ { "internalType": "bool", "name": "isBypassable_", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" }, { "internalType": "address[]", "name": "_baseAssets", "type": "address[]" }, { "internalType": "uint256[]", "name": "_baseAssetAmounts", "type": "uint256[]" }, { "internalType": "address", "name": "_quoteAsset", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "calcTotalValueExlcudingBypassablePricelessAssets", "outputs": [ { "internalType": "uint256", "name": "value_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" }, { "internalType": "address", "name": "_baseAsset", "type": "address" }, { "internalType": "uint256", "name": "_baseAssetAmount", "type": "uint256" }, { "internalType": "address", "name": "_quoteAsset", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "calcValueExcludingBypassablePricelessAsset", "outputs": [ { "internalType": "uint256", "name": "value_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" }, { "internalType": "address", "name": "_asset", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getAssetBypassWindowStartForFund", "outputs": [ { "internalType": "uint256", "name": "windowStart_", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getPricelessAssetBypassTimeLimit", "outputs": [ { "internalType": "uint256", "name": "timeLimit_", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getPricelessAssetBypassTimelock", "outputs": [ { "internalType": "uint256", "name": "timelock_", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getPricelessAssetBypassValueInterpreter", "outputs": [ { "internalType": "address", "name": "valueInterpreter_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getPricelessAssetBypassWethToken", "outputs": [ { "internalType": "address", "name": "wethToken_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_asset", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "startAssetBypassTimelock" } ], "devdoc": { "kind": "dev", "methods": { "assetIsBypassableForFund(address,address)": { "params": { "_asset": "The asset for which to check if it is bypassable", "_comptrollerProxy": "The ComptrollerProxy of the fund" }, "returns": { "isBypassable_": "True if the asset is bypassable" } }, "getAssetBypassWindowStartForFund(address,address)": { "params": { "_asset": "The asset", "_comptrollerProxy": "The ComptrollerProxy of the fund" }, "returns": { "windowStart_": "The timestamp" } }, "getPricelessAssetBypassTimeLimit()": { "returns": { "timeLimit_": "The `PRICELESS_ASSET_BYPASS_TIME_LIMIT` variable value" } }, "getPricelessAssetBypassTimelock()": { "returns": { "timelock_": "The `PRICELESS_ASSET_BYPASS_TIMELOCK` variable value" } }, "getPricelessAssetBypassValueInterpreter()": { "returns": { "valueInterpreter_": "The `PRICELESS_ASSET_BYPASS_VALUE_INTERPRETER` variable value" } }, "getPricelessAssetBypassWethToken()": { "returns": { "wethToken_": "The `PRICELESS_ASSET_BYPASS_WETH_TOKEN` variable value" } }, "startAssetBypassTimelock(address)": { "details": "This function must be called via ComptrollerProxy.vaultCallOnContract(). This allows the function to be gas relay-able. It also means that the originator must be the owner.", "params": { "_asset": "The asset for which to start the timelock period" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "assetIsBypassableForFund(address,address)": { "notice": "Checks whether an asset is bypassable (if still without a valid price) for a given fund" }, "getAssetBypassWindowStartForFund(address,address)": { "notice": "Gets the timestamp from which an asset without a valid price can be considered to be valued at `0`" }, "getPricelessAssetBypassTimeLimit()": { "notice": "Gets the `PRICELESS_ASSET_BYPASS_TIME_LIMIT` variable" }, "getPricelessAssetBypassTimelock()": { "notice": "Gets the `PRICELESS_ASSET_BYPASS_TIMELOCK` variable" }, "getPricelessAssetBypassValueInterpreter()": { "notice": "Gets the `PRICELESS_ASSET_BYPASS_VALUE_INTERPRETER` variable" }, "getPricelessAssetBypassWethToken()": { "notice": "Gets the `PRICELESS_ASSET_BYPASS_WETH_TOKEN` variable" }, "startAssetBypassTimelock(address)": { "notice": "Starts the timelock period for an asset without a valid price" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/test/TestPricelessAssetBypassMixin.sol": "TestPricelessAssetBypassMixin" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/dispatcher/IDispatcher.sol": { "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", "urls": [ "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" ], "license": "GPL-3.0" }, "contracts/persistent/external-positions/IExternalPosition.sol": { "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", "urls": [ "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" ], "license": "GPL-3.0" }, "contracts/persistent/protocol-fee-reserve/interfaces/IProtocolFeeReserve1.sol": { "keccak256": "0x2728878c423db523bc95189137e8c58d2d7db9f56bbd5c6b1f988c08b551fbab", "urls": [ "bzz-raw://3b0df1d2eb74151265d03ab91a7c341f7beca475dd2f4d669052dbc4ee2c06ac", "dweb:/ipfs/QmVx1cgrxQNYfdK1Kn15pcgqf79Uw8bF3U6i7F2HG2rj6G" ], "license": "GPL-3.0" }, "contracts/persistent/vault/VaultLibBase1.sol": { "keccak256": "0xa4dac1e4cdb311a2ab187135355357d8790c505ef36dd912c057fe53743d30b5", "urls": [ "bzz-raw://b66efe821016ab927c949263023260515e90f5d480dc8d94eefbfeec7bf7490b", "dweb:/ipfs/QmNY3xKnhL9EptAbxGvXHGAXfV9pj3dDPwsZnKrPs54ZHw" ], "license": "GPL-3.0" }, "contracts/persistent/vault/VaultLibBase2.sol": { "keccak256": "0xf7d31f2a9a47770ed3f444be2c4fe9262ddb55fef7f25e546b1f03c9afec4c09", "urls": [ "bzz-raw://9353ddce7c9b8b3c13fed23fe8edec99ca610d791b0c5b204b3d01f1f08d07d2", "dweb:/ipfs/QmeVsEh3joCjv49BRXeHASevnZZ5xdZXpkctHT8BPf37N2" ], "license": "GPL-3.0" }, "contracts/persistent/vault/VaultLibBaseCore.sol": { "keccak256": "0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074", "urls": [ "bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd", "dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IExternalPositionVault.sol": { "keccak256": "0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6", "urls": [ "bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d", "dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol": { "keccak256": "0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0", "urls": [ "bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb", "dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IMigratableVault.sol": { "keccak256": "0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238", "urls": [ "bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6", "dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IVaultCore.sol": { "keccak256": "0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80", "urls": [ "bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd", "dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr" ], "license": "GPL-3.0" }, "contracts/persistent/vault/utils/ProxiableVaultLib.sol": { "keccak256": "0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76", "urls": [ "bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44", "dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4" ], "license": "GPL-3.0" }, "contracts/persistent/vault/utils/SharesTokenBase.sol": { "keccak256": "0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113", "urls": [ "bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8", "dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4" ], "license": "GPL-3.0" }, "contracts/persistent/vault/utils/VaultLibSafeMath.sol": { "keccak256": "0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d", "urls": [ "bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02", "dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG" ], "license": "GPL-3.0" }, "contracts/release/core/fund-deployer/IFundDeployer.sol": { "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", "urls": [ "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" ], "license": "GPL-3.0" }, "contracts/release/core/fund/comptroller/ComptrollerLib.sol": { "keccak256": "0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64", "urls": [ "bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579", "dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq" ], "license": "GPL-3.0" }, "contracts/release/core/fund/comptroller/IComptroller.sol": { "keccak256": "0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f", "urls": [ "bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97", "dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L" ], "license": "GPL-3.0" }, "contracts/release/core/fund/vault/IVault.sol": { "keccak256": "0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd", "urls": [ "bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599", "dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG" ], "license": "GPL-3.0" }, "contracts/release/core/fund/vault/VaultLib.sol": { "keccak256": "0x07e49445ab55c01e1b499a48baadc2a15d1eba621f1c6d3ccfdb84c87b976da8", "urls": [ "bzz-raw://56d882459248f73e137db2e097fc56b946147fb28ec21661b77431f88e856cb4", "dweb:/ipfs/QmRP6Ry7DCS5uoKxnnkTomHSzbaCze6cHqbR9aLdjoF6vK" ], "license": "GPL-3.0" }, "contracts/release/extensions/IExtension.sol": { "keccak256": "0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b", "urls": [ "bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70", "dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/IExternalPositionManager.sol": { "keccak256": "0x3af3f634e1f99fb97091b7825c0d2e2baaafc124d4e87d56cb0c17ff8554f6c6", "urls": [ "bzz-raw://515470605afe5ef147f30fa75ce7818f0e00e3d321eb81a4d9bffcdefc294495", "dweb:/ipfs/QmPKsp99pfHoz9Tfo3ZxnkmqDqJtN9PxqacF2RmeVfxUJF" ], "license": "GPL-3.0" }, "contracts/release/extensions/fee-manager/IFeeManager.sol": { "keccak256": "0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51", "urls": [ "bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22", "dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod" ], "license": "GPL-3.0" }, "contracts/release/extensions/policy-manager/IPolicyManager.sol": { "keccak256": "0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32", "urls": [ "bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa", "dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb" ], "license": "GPL-3.0" }, "contracts/release/extensions/policy-manager/policies/utils/PricelessAssetBypassMixin.sol": { "keccak256": "0x5624f038f790b51ba9bd2207a6e80d188bc5d0b049807e0f06f123f6d00e3444", "urls": [ "bzz-raw://53782b55be373922df118f9970f897c1adfd4646dc4a95eec52e7c914944f68c", "dweb:/ipfs/QmTGPQRqzczosWALPZgAN6TKE4qdBuFwGBdCKy6GxtZBPe" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol": { "keccak256": "0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609", "urls": [ "bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f", "dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol": { "keccak256": "0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01", "urls": [ "bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0", "dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol": { "keccak256": "0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196", "urls": [ "bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b", "dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/price-feeds/derivatives/AggregatedDerivativePriceFeedMixin.sol": { "keccak256": "0x85d2ac39834dae7feb04f0e37317a38b8abeb0f950692fbc9d29078c52cd8d52", "urls": [ "bzz-raw://7bf8f1ce064d85a2812a944fc93068955b233924097f7f45898be3db826579d5", "dweb:/ipfs/Qme7f6AhxLVn32prM8fHaCvxtVi86A9KqFMqPA1s88kVYR" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol": { "keccak256": "0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332", "urls": [ "bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e", "dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/price-feeds/primitives/ChainlinkPriceFeedMixin.sol": { "keccak256": "0x7fb0078e7387f07ff09958fe4e4e7b317e72c23884f61e8c133776cad522f8bb", "urls": [ "bzz-raw://e973f29ed0c3bf03e20154ab4b0cfc68c3a4372a52ec746f9d9f86697b30e977", "dweb:/ipfs/QmfMb7H1zNnj2hzmUr6742HmCTiNVuQ2PFjeR8q2M4Liyu" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/protocol-fees/IProtocolFeeTracker.sol": { "keccak256": "0x232b347f83457439064add7369bfe1930c7cb56f15930bb87d640e909c15e447", "urls": [ "bzz-raw://24f9af5eebdd373b1d7a598c096eb6def31b2640d54416d7d5a7226e1cef17e6", "dweb:/ipfs/QmStq9ByGuSYdKwTmZf52L1X6sZVJUfXTnoVbnjLLiUcHG" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol": { "keccak256": "0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794", "urls": [ "bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965", "dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/value-interpreter/ValueInterpreter.sol": { "keccak256": "0x64565011785d0d29a75021cda34687cfbc0641094d6f2faf4d9c78c8cd9f0d1d", "urls": [ "bzz-raw://03ea9b29a332436d18ca1a4df7e5cdf231d5142dfb916a39cb3a721342d54e0e", "dweb:/ipfs/QmcB8Z7A7QELAxg2FfJpD26k2bUhMNUT4wACMVKxuge3QS" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IChainlinkAggregator.sol": { "keccak256": "0x8104db68d4edc00c86b29b366f4397cdbe7bd95bb9dc90f54140af4bae963788", "urls": [ "bzz-raw://4664240be22fe76bd4e84d1cbaace3998dbc96759a14345819a889f0c288d22e", "dweb:/ipfs/QmQ8fbA4tvXeCeaAFeS2JrLEQUPFeYrePAKoUywRtcicgA" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IGsnForwarder.sol": { "keccak256": "0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030", "urls": [ "bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29", "dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IGsnPaymaster.sol": { "keccak256": "0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c", "urls": [ "bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4", "dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IGsnTypes.sol": { "keccak256": "0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714", "urls": [ "bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7", "dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IWETH.sol": { "keccak256": "0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2", "urls": [ "bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2", "dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ" ], "license": "GPL-3.0" }, "contracts/release/utils/AddressArrayLib.sol": { "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", "urls": [ "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" ], "license": "GPL-3.0" }, "contracts/release/utils/FundDeployerOwnerMixin.sol": { "keccak256": "0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934", "urls": [ "bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927", "dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM" ], "license": "GPL-3.0" }, "contracts/release/utils/MathHelpers.sol": { "keccak256": "0x8aef498ae98bfb40cd1df8c9ed652b4c092fbbe62d5a1fad522c53654523248e", "urls": [ "bzz-raw://ed62789f6a8d5ca30a40c591f244b915e4711493a9e4b1b4d40ea2bc97b02a95", "dweb:/ipfs/QmWyXJ55arURtx9VMkUQokdsjk8tbgM2cC8rENFUMyz5D3" ], "license": "GPL-3.0" }, "contracts/release/utils/beacon-proxy/IBeacon.sol": { "keccak256": "0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2", "urls": [ "bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39", "dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V" ], "license": "GPL-3.0" }, "contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol": { "keccak256": "0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc", "urls": [ "bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be", "dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG" ], "license": "GPL-3.0" }, "contracts/test/TestPricelessAssetBypassMixin.sol": { "keccak256": "0xdeb622d32222be185e7cc51ea570b35cf6df3adb0d9b59d8531c6c4d059d2d06", "urls": [ "bzz-raw://3a4f3f1eee498ad98e52d42fa08d06dc8d81f8d8580350ddbf633e2a3720282d", "dweb:/ipfs/QmVdtTeGw5EN6tJC9zgUczr75g61RFGsxuZZVF2UbaJmjW" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20Burnable.sol": { "keccak256": "0x9c0eb3b0e11d2480d49991dc384f1e5f9c9b9967cc81944d50916a9b9c6c4984", "urls": [ "bzz-raw://99e4033d778624992e86f0b6d801a4f6d7b5c0cd5c79c1296be90a051ad5f5af", "dweb:/ipfs/QmShYmkUqh6pDEeoWadZ24icmCr4C2Xys1uE5boivPmbwf" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", "urls": [ "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Address.sol": { "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", "urls": [ "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" } }, "version": 1 }, "id": 373 } diff --git a/eth_defi/abi/enzyme/TestSinglePeggedDerivativePriceFeed.json b/eth_defi/abi/enzyme/TestSinglePeggedDerivativePriceFeed.json index 68075ed8..0baedec8 100644 --- a/eth_defi/abi/enzyme/TestSinglePeggedDerivativePriceFeed.json +++ b/eth_defi/abi/enzyme/TestSinglePeggedDerivativePriceFeed.json @@ -1,377 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_derivative", - "type": "address" - }, - { - "internalType": "address", - "name": "_underlying", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_derivative", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_derivativeAmount", - "type": "uint256" - } - ], - "name": "calcUnderlyingValues", - "outputs": [ - { - "internalType": "address[]", - "name": "underlyings_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "underlyingAmounts_", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getDerivative", - "outputs": [ - { - "internalType": "address", - "name": "derivative_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getUnderlying", - "outputs": [ - { - "internalType": "address", - "name": "underlying_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_asset", - "type": "address" - } - ], - "name": "isSupportedAsset", - "outputs": [ - { - "internalType": "bool", - "name": "isSupported_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x60c060405234801561001057600080fd5b506040516104e23803806104e28339818101604052604081101561003357600080fd5b5080516020918201516040805163313ce56760e01b8152905192939192849284926001600160a01b0384169263313ce56792600480840193919291829003018186803b15801561008257600080fd5b505afa158015610096573d6000803e3d6000fd5b505050506040513d60208110156100ac57600080fd5b50516040805163313ce56760e01b8152905160ff909216916001600160a01b0385169163313ce567916004808301926020929190829003018186803b1580156100f457600080fd5b505afa158015610108573d6000803e3d6000fd5b505050506040513d602081101561011e57600080fd5b505160ff1614610175576040805162461bcd60e51b815260206004820152601d60248201527f636f6e7374727563746f723a20556e657175616c20646563696d616c73000000604482015290519081900360640190fd5b6001600160601b0319606092831b8116608052911b1660a052505060805160601c60a05160601c61031f6101c360003980610209528061028e52508061017e52806102b2525061031f6000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80636d4a681a14610051578063727212f6146100755780639816f4731461013a5780639be918e614610142575b600080fd5b61005961017c565b604080516001600160a01b039092168252519081900360200190f35b6100a16004803603604081101561008b57600080fd5b506001600160a01b0381351690602001356101a0565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156100e55781810151838201526020016100cd565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561012457818101518382015260200161010c565b5050505090500194505050505060405180910390f35b61005961028c565b6101686004803603602081101561015857600080fd5b50356001600160a01b03166102b0565b604080519115158252519081900360200190f35b7f000000000000000000000000000000000000000000000000000000000000000090565b6060806101ac846102b0565b6101e75760405162461bcd60e51b81526004018080602001828103825260308152602001806102e36030913960400191505060405180910390fd5b60408051600180825281830190925290602080830190803683370190505091507f00000000000000000000000000000000000000000000000000000000000000008260008151811061023557fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509050828160008151811061027957fe5b6020026020010181815250509250929050565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b039081169116149056fe63616c63556e6465726c79696e6756616c7565733a204e6f74206120737570706f727465642064657269766174697665a164736f6c634300060c000a", - "sourceMap": "576:237:374:-:0;;;666:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;666:145:374;;;;;;;;872:29:251;;-1:-1:-1;;;872:29:251;;;;666:145:374;;;;;;;;-1:-1:-1;;;;;872:27:251;;;;;:29;;;;;666:145:374;;872:29:251;;;;;;:27;:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;872:29:251;839;;;-1:-1:-1;;;839:29:251;;;;:62;;;;;-1:-1:-1;;;;;839:27:251;;;;;:29;;;;;872;;839;;;;;;;:27;:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;839:29:251;:62;;;818:138;;;;;-1:-1:-1;;;818:138:251;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;967:24:251;;;;;;;;1001;;;;;-1:-1:-1;;576:237:374;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b506004361061004c5760003560e01c80636d4a681a14610051578063727212f6146100755780639816f4731461013a5780639be918e614610142575b600080fd5b61005961017c565b604080516001600160a01b039092168252519081900360200190f35b6100a16004803603604081101561008b57600080fd5b506001600160a01b0381351690602001356101a0565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156100e55781810151838201526020016100cd565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561012457818101518382015260200161010c565b5050505090500194505050505060405180910390f35b61005961028c565b6101686004803603602081101561015857600080fd5b50356001600160a01b03166102b0565b604080519115158252519081900360200190f35b7f000000000000000000000000000000000000000000000000000000000000000090565b6060806101ac846102b0565b6101e75760405162461bcd60e51b81526004018080602001828103825260308152602001806102e36030913960400191505060405180910390fd5b60408051600180825281830190925290602080830190803683370190505091507f00000000000000000000000000000000000000000000000000000000000000008260008151811061023557fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509050828160008151811061027957fe5b6020026020010181815250509250929050565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b039081169116149056fe63616c63556e6465726c79696e6756616c7565733a204e6f74206120737570706f727465642064657269766174697665a164736f6c634300060c000a", - "sourceMap": "576:237:374:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2468:103:251;;;:::i;:::-;;;;-1:-1:-1;;;;;2468:103:251;;;;;;;;;;;;;;1430:538;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1430:538:251;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2690:103;;;:::i;2141:135::-;;;;;;;;;;;;;;;;-1:-1:-1;2141:135:251;-1:-1:-1;;;;;2141:135:251;;:::i;:::-;;;;;;;;;;;;;;;;;;2468:103;2554:10;2468:103;:::o;1430:538::-;1559:29;1590:35;1649:29;1666:11;1649:16;:29::i;:::-;1641:90;;;;-1:-1:-1;;;1641:90:251;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1757:16;;;1771:1;1757:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1757:16:251;1742:31;;1801:10;1783:12;1796:1;1783:15;;;;;;;;-1:-1:-1;;;;;1783:28:251;;;;:15;;;;;;;;;;:28;1842:16;;;1856:1;1842:16;;;;;;;;;;;;;;1783:15;1842:16;;;;;-1:-1:-1;1842:16:251;1821:37;;1892:17;1868:18;1887:1;1868:21;;;;;;;;;;;;;:41;;;;;1430:538;;;;;:::o;2690:103::-;2776:10;2690:103;:::o;2141:135::-;2259:10;-1:-1:-1;;;;;2249:20:251;;;;;;;2141:135::o", - "linkReferences": {}, - "immutableReferences": { - "66246": [ - { - "start": 382, - "length": 32 - }, - { - "start": 690, - "length": 32 - } - ], - "66248": [ - { - "start": 521, - "length": 32 - }, - { - "start": 654, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "calcUnderlyingValues(address,uint256)": "727212f6", - "getDerivative()": "6d4a681a", - "getUnderlying()": "9816f473", - "isSupportedAsset(address)": "9be918e6" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_derivative\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_underlying\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_derivative\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_derivativeAmount\",\"type\":\"uint256\"}],\"name\":\"calcUnderlyingValues\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"underlyings_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"underlyingAmounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDerivative\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"derivative_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getUnderlying\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"underlying_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"}],\"name\":\"isSupportedAsset\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isSupported_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"calcUnderlyingValues(address,uint256)\":{\"params\":{\"_derivative\":\"The derivative to convert\",\"_derivativeAmount\":\"The amount of the derivative to convert\"},\"returns\":{\"underlyingAmounts_\":\"The amount of each underlying asset for the equivalent derivative amount\",\"underlyings_\":\"The underlying assets for the _derivative\"}},\"getDerivative()\":{\"returns\":{\"derivative_\":\"The `DERIVATIVE` variable value\"}},\"getUnderlying()\":{\"returns\":{\"underlying_\":\"The `UNDERLYING` variable value\"}},\"isSupportedAsset(address)\":{\"params\":{\"_asset\":\"The asset to check\"},\"returns\":{\"isSupported_\":\"True if the asset is supported\"}}},\"title\":\"TestSingleUnderlyingDerivativeRegistry Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"calcUnderlyingValues(address,uint256)\":{\"notice\":\"Converts a given amount of a derivative to its underlying asset values\"},\"getDerivative()\":{\"notice\":\"Gets the `DERIVATIVE` variable value\"},\"getUnderlying()\":{\"notice\":\"Gets the `UNDERLYING` variable value\"},\"isSupportedAsset(address)\":{\"notice\":\"Checks if an asset is supported by the price feed\"}},\"notice\":\"A test implementation of SinglePeggedDerivativePriceFeedBase\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/TestSinglePeggedDerivativePriceFeed.sol\":\"TestSinglePeggedDerivativePriceFeed\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol\":{\"keccak256\":\"0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e\",\"dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK\"]},\"contracts/release/infrastructure/price-feeds/derivatives/feeds/utils/SinglePeggedDerivativePriceFeedBase.sol\":{\"keccak256\":\"0xcbcb93a3c4ad003660705d351aa9741174add393ca99fe2cf9346d6d4a055479\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://cb3e7a9d4972928ff1ba55de58285e910a88563ce0be81a7813c5c9bc9966dd9\",\"dweb:/ipfs/QmSWntaSEGdhgmBsFRbRLrpfbt4Fs5gZ2rFMEQ7eBNdjq9\"]},\"contracts/test/TestSinglePeggedDerivativePriceFeed.sol\":{\"keccak256\":\"0x795e89e751321f4c5742a5c47400c4a081e111b66a628b8d81f98eac039c60e2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://0125c07ea3c2b45c0449bf0c4b3ff4476e1722dbd94ec4e403b221db34da8911\",\"dweb:/ipfs/QmczGyL8PAs1sD2GheYYvseLe1Xkwx2HU4iCPhjU8paLn9\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_derivative", - "type": "address" - }, - { - "internalType": "address", - "name": "_underlying", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_derivative", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_derivativeAmount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "calcUnderlyingValues", - "outputs": [ - { - "internalType": "address[]", - "name": "underlyings_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "underlyingAmounts_", - "type": "uint256[]" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getDerivative", - "outputs": [ - { - "internalType": "address", - "name": "derivative_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getUnderlying", - "outputs": [ - { - "internalType": "address", - "name": "underlying_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_asset", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "isSupportedAsset", - "outputs": [ - { - "internalType": "bool", - "name": "isSupported_", - "type": "bool" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "calcUnderlyingValues(address,uint256)": { - "params": { - "_derivative": "The derivative to convert", - "_derivativeAmount": "The amount of the derivative to convert" - }, - "returns": { - "underlyingAmounts_": "The amount of each underlying asset for the equivalent derivative amount", - "underlyings_": "The underlying assets for the _derivative" - } - }, - "getDerivative()": { - "returns": { - "derivative_": "The `DERIVATIVE` variable value" - } - }, - "getUnderlying()": { - "returns": { - "underlying_": "The `UNDERLYING` variable value" - } - }, - "isSupportedAsset(address)": { - "params": { - "_asset": "The asset to check" - }, - "returns": { - "isSupported_": "True if the asset is supported" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "calcUnderlyingValues(address,uint256)": { - "notice": "Converts a given amount of a derivative to its underlying asset values" - }, - "getDerivative()": { - "notice": "Gets the `DERIVATIVE` variable value" - }, - "getUnderlying()": { - "notice": "Gets the `UNDERLYING` variable value" - }, - "isSupportedAsset(address)": { - "notice": "Checks if an asset is supported by the price feed" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/test/TestSinglePeggedDerivativePriceFeed.sol": "TestSinglePeggedDerivativePriceFeed" - }, - "libraries": {} - }, - "sources": { - "contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol": { - "keccak256": "0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332", - "urls": [ - "bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e", - "dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/price-feeds/derivatives/feeds/utils/SinglePeggedDerivativePriceFeedBase.sol": { - "keccak256": "0xcbcb93a3c4ad003660705d351aa9741174add393ca99fe2cf9346d6d4a055479", - "urls": [ - "bzz-raw://cb3e7a9d4972928ff1ba55de58285e910a88563ce0be81a7813c5c9bc9966dd9", - "dweb:/ipfs/QmSWntaSEGdhgmBsFRbRLrpfbt4Fs5gZ2rFMEQ7eBNdjq9" - ], - "license": "GPL-3.0" - }, - "contracts/test/TestSinglePeggedDerivativePriceFeed.sol": { - "keccak256": "0x795e89e751321f4c5742a5c47400c4a081e111b66a628b8d81f98eac039c60e2", - "urls": [ - "bzz-raw://0125c07ea3c2b45c0449bf0c4b3ff4476e1722dbd94ec4e403b221db34da8911", - "dweb:/ipfs/QmczGyL8PAs1sD2GheYYvseLe1Xkwx2HU4iCPhjU8paLn9" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 374 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_derivative", "type": "address", "internalType": "address" }, { "name": "_underlying", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "calcUnderlyingValues", "inputs": [ { "name": "_derivative", "type": "address", "internalType": "address" }, { "name": "_derivativeAmount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "underlyings_", "type": "address[]", "internalType": "address[]" }, { "name": "underlyingAmounts_", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "getDerivative", "inputs": [], "outputs": [ { "name": "derivative_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getUnderlying", "inputs": [], "outputs": [ { "name": "underlying_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "isSupportedAsset", "inputs": [ { "name": "_asset", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "isSupported_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" } ], "bytecode": { "object": "0x60c060405234801561001057600080fd5b506040516104e23803806104e28339818101604052604081101561003357600080fd5b5080516020918201516040805163313ce56760e01b8152905192939192849284926001600160a01b0384169263313ce56792600480840193919291829003018186803b15801561008257600080fd5b505afa158015610096573d6000803e3d6000fd5b505050506040513d60208110156100ac57600080fd5b50516040805163313ce56760e01b8152905160ff909216916001600160a01b0385169163313ce567916004808301926020929190829003018186803b1580156100f457600080fd5b505afa158015610108573d6000803e3d6000fd5b505050506040513d602081101561011e57600080fd5b505160ff1614610175576040805162461bcd60e51b815260206004820152601d60248201527f636f6e7374727563746f723a20556e657175616c20646563696d616c73000000604482015290519081900360640190fd5b6001600160601b0319606092831b8116608052911b1660a052505060805160601c60a05160601c61031f6101c360003980610209528061028e52508061017e52806102b2525061031f6000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80636d4a681a14610051578063727212f6146100755780639816f4731461013a5780639be918e614610142575b600080fd5b61005961017c565b604080516001600160a01b039092168252519081900360200190f35b6100a16004803603604081101561008b57600080fd5b506001600160a01b0381351690602001356101a0565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156100e55781810151838201526020016100cd565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561012457818101518382015260200161010c565b5050505090500194505050505060405180910390f35b61005961028c565b6101686004803603602081101561015857600080fd5b50356001600160a01b03166102b0565b604080519115158252519081900360200190f35b7f000000000000000000000000000000000000000000000000000000000000000090565b6060806101ac846102b0565b6101e75760405162461bcd60e51b81526004018080602001828103825260308152602001806102e36030913960400191505060405180910390fd5b60408051600180825281830190925290602080830190803683370190505091507f00000000000000000000000000000000000000000000000000000000000000008260008151811061023557fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509050828160008151811061027957fe5b6020026020010181815250509250929050565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b039081169116149056fe63616c63556e6465726c79696e6756616c7565733a204e6f74206120737570706f727465642064657269766174697665a164736f6c634300060c000a", "sourceMap": "576:237:374:-:0;;;666:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;666:145:374;;;;;;;;872:29:251;;-1:-1:-1;;;872:29:251;;;;666:145:374;;;;;;;;-1:-1:-1;;;;;872:27:251;;;;;:29;;;;;666:145:374;;872:29:251;;;;;;:27;:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;872:29:251;839;;;-1:-1:-1;;;839:29:251;;;;:62;;;;;-1:-1:-1;;;;;839:27:251;;;;;:29;;;;;872;;839;;;;;;;:27;:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;839:29:251;:62;;;818:138;;;;;-1:-1:-1;;;818:138:251;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;967:24:251;;;;;;;;1001;;;;;-1:-1:-1;;576:237:374;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b506004361061004c5760003560e01c80636d4a681a14610051578063727212f6146100755780639816f4731461013a5780639be918e614610142575b600080fd5b61005961017c565b604080516001600160a01b039092168252519081900360200190f35b6100a16004803603604081101561008b57600080fd5b506001600160a01b0381351690602001356101a0565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156100e55781810151838201526020016100cd565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561012457818101518382015260200161010c565b5050505090500194505050505060405180910390f35b61005961028c565b6101686004803603602081101561015857600080fd5b50356001600160a01b03166102b0565b604080519115158252519081900360200190f35b7f000000000000000000000000000000000000000000000000000000000000000090565b6060806101ac846102b0565b6101e75760405162461bcd60e51b81526004018080602001828103825260308152602001806102e36030913960400191505060405180910390fd5b60408051600180825281830190925290602080830190803683370190505091507f00000000000000000000000000000000000000000000000000000000000000008260008151811061023557fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509050828160008151811061027957fe5b6020026020010181815250509250929050565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b039081169116149056fe63616c63556e6465726c79696e6756616c7565733a204e6f74206120737570706f727465642064657269766174697665a164736f6c634300060c000a", "sourceMap": "576:237:374:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2468:103:251;;;:::i;:::-;;;;-1:-1:-1;;;;;2468:103:251;;;;;;;;;;;;;;1430:538;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1430:538:251;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2690:103;;;:::i;2141:135::-;;;;;;;;;;;;;;;;-1:-1:-1;2141:135:251;-1:-1:-1;;;;;2141:135:251;;:::i;:::-;;;;;;;;;;;;;;;;;;2468:103;2554:10;2468:103;:::o;1430:538::-;1559:29;1590:35;1649:29;1666:11;1649:16;:29::i;:::-;1641:90;;;;-1:-1:-1;;;1641:90:251;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1757:16;;;1771:1;1757:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1757:16:251;1742:31;;1801:10;1783:12;1796:1;1783:15;;;;;;;;-1:-1:-1;;;;;1783:28:251;;;;:15;;;;;;;;;;:28;1842:16;;;1856:1;1842:16;;;;;;;;;;;;;;1783:15;1842:16;;;;;-1:-1:-1;1842:16:251;1821:37;;1892:17;1868:18;1887:1;1868:21;;;;;;;;;;;;;:41;;;;;1430:538;;;;;:::o;2690:103::-;2776:10;2690:103;:::o;2141:135::-;2259:10;-1:-1:-1;;;;;2249:20:251;;;;;;;2141:135::o", "linkReferences": {}, "immutableReferences": { "66246": [ { "start": 382, "length": 32 }, { "start": 690, "length": 32 } ], "66248": [ { "start": 521, "length": 32 }, { "start": 654, "length": 32 } ] } }, "methodIdentifiers": { "calcUnderlyingValues(address,uint256)": "727212f6", "getDerivative()": "6d4a681a", "getUnderlying()": "9816f473", "isSupportedAsset(address)": "9be918e6" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_derivative\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_underlying\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_derivative\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_derivativeAmount\",\"type\":\"uint256\"}],\"name\":\"calcUnderlyingValues\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"underlyings_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"underlyingAmounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDerivative\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"derivative_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getUnderlying\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"underlying_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"}],\"name\":\"isSupportedAsset\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isSupported_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"calcUnderlyingValues(address,uint256)\":{\"params\":{\"_derivative\":\"The derivative to convert\",\"_derivativeAmount\":\"The amount of the derivative to convert\"},\"returns\":{\"underlyingAmounts_\":\"The amount of each underlying asset for the equivalent derivative amount\",\"underlyings_\":\"The underlying assets for the _derivative\"}},\"getDerivative()\":{\"returns\":{\"derivative_\":\"The `DERIVATIVE` variable value\"}},\"getUnderlying()\":{\"returns\":{\"underlying_\":\"The `UNDERLYING` variable value\"}},\"isSupportedAsset(address)\":{\"params\":{\"_asset\":\"The asset to check\"},\"returns\":{\"isSupported_\":\"True if the asset is supported\"}}},\"title\":\"TestSingleUnderlyingDerivativeRegistry Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"calcUnderlyingValues(address,uint256)\":{\"notice\":\"Converts a given amount of a derivative to its underlying asset values\"},\"getDerivative()\":{\"notice\":\"Gets the `DERIVATIVE` variable value\"},\"getUnderlying()\":{\"notice\":\"Gets the `UNDERLYING` variable value\"},\"isSupportedAsset(address)\":{\"notice\":\"Checks if an asset is supported by the price feed\"}},\"notice\":\"A test implementation of SinglePeggedDerivativePriceFeedBase\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/TestSinglePeggedDerivativePriceFeed.sol\":\"TestSinglePeggedDerivativePriceFeed\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol\":{\"keccak256\":\"0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e\",\"dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK\"]},\"contracts/release/infrastructure/price-feeds/derivatives/feeds/utils/SinglePeggedDerivativePriceFeedBase.sol\":{\"keccak256\":\"0xcbcb93a3c4ad003660705d351aa9741174add393ca99fe2cf9346d6d4a055479\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://cb3e7a9d4972928ff1ba55de58285e910a88563ce0be81a7813c5c9bc9966dd9\",\"dweb:/ipfs/QmSWntaSEGdhgmBsFRbRLrpfbt4Fs5gZ2rFMEQ7eBNdjq9\"]},\"contracts/test/TestSinglePeggedDerivativePriceFeed.sol\":{\"keccak256\":\"0x795e89e751321f4c5742a5c47400c4a081e111b66a628b8d81f98eac039c60e2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://0125c07ea3c2b45c0449bf0c4b3ff4476e1722dbd94ec4e403b221db34da8911\",\"dweb:/ipfs/QmczGyL8PAs1sD2GheYYvseLe1Xkwx2HU4iCPhjU8paLn9\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_derivative", "type": "address" }, { "internalType": "address", "name": "_underlying", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "_derivative", "type": "address" }, { "internalType": "uint256", "name": "_derivativeAmount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "calcUnderlyingValues", "outputs": [ { "internalType": "address[]", "name": "underlyings_", "type": "address[]" }, { "internalType": "uint256[]", "name": "underlyingAmounts_", "type": "uint256[]" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getDerivative", "outputs": [ { "internalType": "address", "name": "derivative_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getUnderlying", "outputs": [ { "internalType": "address", "name": "underlying_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_asset", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "isSupportedAsset", "outputs": [ { "internalType": "bool", "name": "isSupported_", "type": "bool" } ] } ], "devdoc": { "kind": "dev", "methods": { "calcUnderlyingValues(address,uint256)": { "params": { "_derivative": "The derivative to convert", "_derivativeAmount": "The amount of the derivative to convert" }, "returns": { "underlyingAmounts_": "The amount of each underlying asset for the equivalent derivative amount", "underlyings_": "The underlying assets for the _derivative" } }, "getDerivative()": { "returns": { "derivative_": "The `DERIVATIVE` variable value" } }, "getUnderlying()": { "returns": { "underlying_": "The `UNDERLYING` variable value" } }, "isSupportedAsset(address)": { "params": { "_asset": "The asset to check" }, "returns": { "isSupported_": "True if the asset is supported" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "calcUnderlyingValues(address,uint256)": { "notice": "Converts a given amount of a derivative to its underlying asset values" }, "getDerivative()": { "notice": "Gets the `DERIVATIVE` variable value" }, "getUnderlying()": { "notice": "Gets the `UNDERLYING` variable value" }, "isSupportedAsset(address)": { "notice": "Checks if an asset is supported by the price feed" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/test/TestSinglePeggedDerivativePriceFeed.sol": "TestSinglePeggedDerivativePriceFeed" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol": { "keccak256": "0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332", "urls": [ "bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e", "dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/price-feeds/derivatives/feeds/utils/SinglePeggedDerivativePriceFeedBase.sol": { "keccak256": "0xcbcb93a3c4ad003660705d351aa9741174add393ca99fe2cf9346d6d4a055479", "urls": [ "bzz-raw://cb3e7a9d4972928ff1ba55de58285e910a88563ce0be81a7813c5c9bc9966dd9", "dweb:/ipfs/QmSWntaSEGdhgmBsFRbRLrpfbt4Fs5gZ2rFMEQ7eBNdjq9" ], "license": "GPL-3.0" }, "contracts/test/TestSinglePeggedDerivativePriceFeed.sol": { "keccak256": "0x795e89e751321f4c5742a5c47400c4a081e111b66a628b8d81f98eac039c60e2", "urls": [ "bzz-raw://0125c07ea3c2b45c0449bf0c4b3ff4476e1722dbd94ec4e403b221db34da8911", "dweb:/ipfs/QmczGyL8PAs1sD2GheYYvseLe1Xkwx2HU4iCPhjU8paLn9" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" } }, "version": 1 }, "id": 374 } diff --git a/eth_defi/abi/enzyme/TestSingleUnderlyingDerivativeRegistry.json b/eth_defi/abi/enzyme/TestSingleUnderlyingDerivativeRegistry.json index babbefb9..1f65f8f7 100644 --- a/eth_defi/abi/enzyme/TestSingleUnderlyingDerivativeRegistry.json +++ b/eth_defi/abi/enzyme/TestSingleUnderlyingDerivativeRegistry.json @@ -1,405 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_dispatcher", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "derivative", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "underlying", - "type": "address" - } - ], - "name": "DerivativeAdded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "derivative", - "type": "address" - } - ], - "name": "DerivativeRemoved", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_derivatives", - "type": "address[]" - }, - { - "internalType": "address[]", - "name": "_underlyings", - "type": "address[]" - } - ], - "name": "addDerivatives", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getFundDeployer", - "outputs": [ - { - "internalType": "address", - "name": "fundDeployer_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "owner_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_derivative", - "type": "address" - } - ], - "name": "getUnderlyingForDerivative", - "outputs": [ - { - "internalType": "address", - "name": "underlying_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_derivatives", - "type": "address[]" - } - ], - "name": "removeDerivatives", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x60a060405234801561001057600080fd5b5060405161099a38038061099a8339818101604052602081101561003357600080fd5b5051606081901b6001600160601b0319166080526001600160a01b031661092e61006c60003980610609528061084e525061092e6000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c806339cbb63c1461005c57806366adb86714610185578063893d20e8146101c75780638f72b136146101cf57806397c0ac8714610272575b600080fd5b6101836004803603604081101561007257600080fd5b81019060208101813564010000000081111561008d57600080fd5b82018360208201111561009f57600080fd5b803590602001918460208302840111640100000000831117156100c157600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929594936020810193503591505064010000000081111561011157600080fd5b82018360208201111561012357600080fd5b8035906020019184602083028401116401000000008311171561014557600080fd5b91908080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525092955061027a945050505050565b005b6101ab6004803603602081101561019b57600080fd5b50356001600160a01b03166105e7565b604080516001600160a01b039092168252519081900360200190f35b6101ab610605565b610183600480360360208110156101e557600080fd5b81019060208101813564010000000081111561020057600080fd5b82018360208201111561021257600080fd5b8035906020019184602083028401116401000000008311171561023457600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610691945050505050565b6101ab61084c565b610282610605565b6001600160a01b0316336001600160a01b0316146102d15760405162461bcd60e51b81526004018080602001828103825260498152602001806108966049913960600191505060405180910390fd5b60008251116103115760405162461bcd60e51b81526004018080602001828103825260228152602001806109006022913960400191505060405180910390fd5b8051825114610367576040805162461bcd60e51b815260206004820152601e60248201527f61646444657269766174697665733a20556e657175616c206172726179730000604482015290519081900360640190fd5b60005b82518110156105e25760006001600160a01b031683828151811061038a57fe5b60200260200101516001600160a01b031614156103ee576040805162461bcd60e51b815260206004820181905260248201527f61646444657269766174697665733a20456d7074792064657269766174697665604482015290519081900360640190fd5b60006001600160a01b031682828151811061040557fe5b60200260200101516001600160a01b03161415610469576040805162461bcd60e51b815260206004820181905260248201527f61646444657269766174697665733a20456d70747920756e6465726c79696e67604482015290519081900360640190fd5b60006001600160a01b031661049084838151811061048357fe5b60200260200101516105e7565b6001600160a01b0316146104d55760405162461bcd60e51b81526004018080602001828103825260218152602001806108df6021913960400191505060405180910390fd5b6105058382815181106104e457fe5b60200260200101518383815181106104f857fe5b6020026020010151610848565b81818151811061051157fe5b602002602001015160008085848151811061052857fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b0316021790555081818151811061058057fe5b60200260200101516001600160a01b031683828151811061059d57fe5b60200260200101516001600160a01b03167faa4ae250fb435bb4b31ed0b95822bc179fc6c5dd0c727c3ffe08d444025efd9860405160405180910390a360010161036a565b505050565b6001600160a01b039081166000908152602081905260409020541690565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561066057600080fd5b505afa158015610674573d6000803e3d6000fd5b505050506040513d602081101561068a57600080fd5b5051905090565b610699610605565b6001600160a01b0316336001600160a01b0316146106e85760405162461bcd60e51b81526004018080602001828103825260498152602001806108966049913960600191505060405180910390fd5b60008151116107285760405162461bcd60e51b81526004018080602001828103825260258152602001806108716025913960400191505060405180910390fd5b60005b81518110156108485760006001600160a01b031661074e83838151811061048357fe5b6001600160a01b031614156107aa576040805162461bcd60e51b815260206004820181905260248201527f72656d6f766544657269766174697665733a2056616c7565206e6f7420736574604482015290519081900360640190fd5b6000808383815181106107b957fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154906001600160a01b03021916905581818151811061080357fe5b60200260200101516001600160a01b03167fc15eb25d807b570f4567baf6e97c7b26d58a7d0512dc85e8db15375a056b860460405160405180910390a260010161072b565b5050565b7f00000000000000000000000000000000000000000000000000000000000000009056fe72656d6f766544657269766174697665733a20456d707479205f64657269766174697665736f6e6c7946756e644465706c6f7965724f776e65723a204f6e6c79207468652046756e644465706c6f796572206f776e65722063616e2063616c6c20746869732066756e6374696f6e61646444657269766174697665733a2056616c756520616c72656164792073657461646444657269766174697665733a20456d707479205f6465726976617469766573a164736f6c634300060c000a", - "sourceMap": "586:194:375:-:0;;;683:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;683:95:375;864:29:358;;;;-1:-1:-1;;;;;;864:29:358;;;-1:-1:-1;;;;;586:194:375;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106100575760003560e01c806339cbb63c1461005c57806366adb86714610185578063893d20e8146101c75780638f72b136146101cf57806397c0ac8714610272575b600080fd5b6101836004803603604081101561007257600080fd5b81019060208101813564010000000081111561008d57600080fd5b82018360208201111561009f57600080fd5b803590602001918460208302840111640100000000831117156100c157600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929594936020810193503591505064010000000081111561011157600080fd5b82018360208201111561012357600080fd5b8035906020019184602083028401116401000000008311171561014557600080fd5b91908080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525092955061027a945050505050565b005b6101ab6004803603602081101561019b57600080fd5b50356001600160a01b03166105e7565b604080516001600160a01b039092168252519081900360200190f35b6101ab610605565b610183600480360360208110156101e557600080fd5b81019060208101813564010000000081111561020057600080fd5b82018360208201111561021257600080fd5b8035906020019184602083028401116401000000008311171561023457600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610691945050505050565b6101ab61084c565b610282610605565b6001600160a01b0316336001600160a01b0316146102d15760405162461bcd60e51b81526004018080602001828103825260498152602001806108966049913960600191505060405180910390fd5b60008251116103115760405162461bcd60e51b81526004018080602001828103825260228152602001806109006022913960400191505060405180910390fd5b8051825114610367576040805162461bcd60e51b815260206004820152601e60248201527f61646444657269766174697665733a20556e657175616c206172726179730000604482015290519081900360640190fd5b60005b82518110156105e25760006001600160a01b031683828151811061038a57fe5b60200260200101516001600160a01b031614156103ee576040805162461bcd60e51b815260206004820181905260248201527f61646444657269766174697665733a20456d7074792064657269766174697665604482015290519081900360640190fd5b60006001600160a01b031682828151811061040557fe5b60200260200101516001600160a01b03161415610469576040805162461bcd60e51b815260206004820181905260248201527f61646444657269766174697665733a20456d70747920756e6465726c79696e67604482015290519081900360640190fd5b60006001600160a01b031661049084838151811061048357fe5b60200260200101516105e7565b6001600160a01b0316146104d55760405162461bcd60e51b81526004018080602001828103825260218152602001806108df6021913960400191505060405180910390fd5b6105058382815181106104e457fe5b60200260200101518383815181106104f857fe5b6020026020010151610848565b81818151811061051157fe5b602002602001015160008085848151811061052857fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b0316021790555081818151811061058057fe5b60200260200101516001600160a01b031683828151811061059d57fe5b60200260200101516001600160a01b03167faa4ae250fb435bb4b31ed0b95822bc179fc6c5dd0c727c3ffe08d444025efd9860405160405180910390a360010161036a565b505050565b6001600160a01b039081166000908152602081905260409020541690565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561066057600080fd5b505afa158015610674573d6000803e3d6000fd5b505050506040513d602081101561068a57600080fd5b5051905090565b610699610605565b6001600160a01b0316336001600160a01b0316146106e85760405162461bcd60e51b81526004018080602001828103825260498152602001806108966049913960600191505060405180910390fd5b60008151116107285760405162461bcd60e51b81526004018080602001828103825260258152602001806108716025913960400191505060405180910390fd5b60005b81518110156108485760006001600160a01b031661074e83838151811061048357fe5b6001600160a01b031614156107aa576040805162461bcd60e51b815260206004820181905260248201527f72656d6f766544657269766174697665733a2056616c7565206e6f7420736574604482015290519081900360640190fd5b6000808383815181106107b957fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154906001600160a01b03021916905581818151811061080357fe5b60200260200101516001600160a01b03167fc15eb25d807b570f4567baf6e97c7b26d58a7d0512dc85e8db15375a056b860460405160405180910390a260010161072b565b5050565b7f00000000000000000000000000000000000000000000000000000000000000009056fe72656d6f766544657269766174697665733a20456d707479205f64657269766174697665736f6e6c7946756e644465706c6f7965724f776e65723a204f6e6c79207468652046756e644465706c6f796572206f776e65722063616e2063616c6c20746869732066756e6374696f6e61646444657269766174697665733a2056616c756520616c72656164792073657461646444657269766174697665733a20456d707479205f6465726976617469766573a164736f6c634300060c000a", - "sourceMap": "586:194:375:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1158:951:252;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1158:951:252;;;;;;;;-1:-1:-1;1158:951:252;;-1:-1:-1;;1158:951:252;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1158:951:252;;-1:-1:-1;1158:951:252;;-1:-1:-1;;;;;1158:951:252:i;:::-;;3223:186;;;;;;;;;;;;;;;;-1:-1:-1;3223:186:252;-1:-1:-1;;;;;3223:186:252;;:::i;:::-;;;;-1:-1:-1;;;;;3223:186:252;;;;;;;;;;;;;;1064:120:358;;;:::i;2225:523:252:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2225:523:252;;-1:-1:-1;2225:523:252;;-1:-1:-1;;;;;2225:523:252:i;1378:108:358:-;;;:::i;1158:951:252:-;679:10:358;:8;:10::i;:::-;-1:-1:-1;;;;;665:24:358;:10;-1:-1:-1;;;;;665:24:358;;644:144;;;;-1:-1:-1;;;644:144:358;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1351:1:252::1;1329:12;:19;:23;1321:70;;;;-1:-1:-1::0;;;1321:70:252::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1432:12;:19;1409:12;:19;:42;1401:85;;;::::0;;-1:-1:-1;;;1401:85:252;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;1502:9;1497:606;1517:12;:19;1513:1;:23;1497:606;;;1592:1;-1:-1:-1::0;;;;;1565:29:252::1;:12;1578:1;1565:15;;;;;;;;;;;;;;-1:-1:-1::0;;;;;1565:29:252::1;;;1557:74;;;::::0;;-1:-1:-1;;;1557:74:252;;::::1;;::::0;::::1;::::0;;;;;;;::::1;::::0;;;;;;;;;;;;;::::1;;1680:1;-1:-1:-1::0;;;;;1653:29:252::1;:12;1666:1;1653:15;;;;;;;;;;;;;;-1:-1:-1::0;;;;;1653:29:252::1;;;1645:74;;;::::0;;-1:-1:-1;;;1645:74:252;;::::1;;::::0;::::1;::::0;;;;;;;::::1;::::0;;;;;;;;;;;;;::::1;;1813:1;-1:-1:-1::0;;;;;1758:57:252::1;:43;1785:12;1798:1;1785:15;;;;;;;;;;;;;;1758:26;:43::i;:::-;-1:-1:-1::0;;;;;1758:57:252::1;;1733:149;;;;-1:-1:-1::0;;;1733:149:252::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1897:54;1918:12;1931:1;1918:15;;;;;;;;;;;;;;1935:12;1948:1;1935:15;;;;;;;;;;;;;;1897:20;:54::i;:::-;2008:12;2021:1;2008:15;;;;;;;;;;;;;;1966:22;:39:::0;1989:12:::1;2002:1;1989:15;;;;;;;;;;;;;;-1:-1:-1::0;;;;;1966:39:252::1;-1:-1:-1::0;;;;;1966:39:252::1;;;;;;;;;;;;;:57;;;;;-1:-1:-1::0;;;;;1966:57:252::1;;;;;-1:-1:-1::0;;;;;1966:57:252::1;;;;;;2076:12;2089:1;2076:15;;;;;;;;;;;;;;-1:-1:-1::0;;;;;2043:49:252::1;2059:12;2072:1;2059:15;;;;;;;;;;;;;;-1:-1:-1::0;;;;;2043:49:252::1;;;;;;;;;;;1538:3;;1497:606;;;;1158:951:::0;;:::o;3223:186::-;-1:-1:-1;;;;;3367:35:252;;;3325:19;3367:35;;;;;;;;;;;;;3223:186::o;1064:120:358:-;1105:14;1152:13;-1:-1:-1;;;;;1138:37:358;;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1138:39:358;;-1:-1:-1;1064:120:358;:::o;2225:523:252:-;679:10:358;:8;:10::i;:::-;-1:-1:-1;;;;;665:24:358;:10;-1:-1:-1;;;;;665:24:358;;644:144;;;;-1:-1:-1;;;644:144:358;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2354:1:252::1;2332:12;:19;:23;2324:73;;;;-1:-1:-1::0;;;2324:73:252::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2413:9;2408:334;2428:12;:19;2424:1;:23;2408:334;;;2548:1;-1:-1:-1::0;;;;;2493:57:252::1;:43;2520:12;2533:1;2520:15;;;;;;;2493:43;-1:-1:-1::0;;;;;2493:57:252::1;;;2468:148;;;::::0;;-1:-1:-1;;;2468:148:252;;::::1;;::::0;::::1;::::0;;;;;;;::::1;::::0;;;;;;;;;;;;;::::1;;2638:22;:39:::0;2661:12:::1;2674:1;2661:15;;;;;;;;;;;;;;-1:-1:-1::0;;;;;2638:39:252::1;-1:-1:-1::0;;;;;2638:39:252::1;;;;;;;;;;;;;2631:46;;;;;-1:-1:-1::0;;;;;2631:46:252::1;;;;;2715:12;2728:1;2715:15;;;;;;;;;;;;;;-1:-1:-1::0;;;;;2697:34:252::1;;;;;;;;;;;2449:3;;2408:334;;;;2225:523:::0;:::o;1378:108:358:-;1466:13;1378:108;:::o", - "linkReferences": {}, - "immutableReferences": { - "78707": [ - { - "start": 1545, - "length": 32 - }, - { - "start": 2126, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "addDerivatives(address[],address[])": "39cbb63c", - "getFundDeployer()": "97c0ac87", - "getOwner()": "893d20e8", - "getUnderlyingForDerivative(address)": "66adb867", - "removeDerivatives(address[])": "8f72b136" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_dispatcher\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"derivative\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"underlying\",\"type\":\"address\"}],\"name\":\"DerivativeAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"derivative\",\"type\":\"address\"}],\"name\":\"DerivativeRemoved\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_derivatives\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"_underlyings\",\"type\":\"address[]\"}],\"name\":\"addDerivatives\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFundDeployer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"fundDeployer_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_derivative\",\"type\":\"address\"}],\"name\":\"getUnderlyingForDerivative\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"underlying_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_derivatives\",\"type\":\"address[]\"}],\"name\":\"removeDerivatives\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"addDerivatives(address[],address[])\":{\"params\":{\"_derivatives\":\"The derivatives to add\",\"_underlyings\":\"The corresponding underlyings to add\"}},\"getFundDeployer()\":{\"returns\":{\"fundDeployer_\":\"The `FUND_DEPLOYER` variable value\"}},\"getOwner()\":{\"details\":\"Ownership is deferred to the owner of the FundDeployer contract\",\"returns\":{\"owner_\":\"The owner\"}},\"getUnderlyingForDerivative(address)\":{\"params\":{\"_derivative\":\"The derivative for which to get the underlying asset\"},\"returns\":{\"underlying_\":\"The underlying asset\"}},\"removeDerivatives(address[])\":{\"params\":{\"_derivatives\":\"The derivatives to remove\"}}},\"title\":\"TestSingleUnderlyingDerivativeRegistry Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"addDerivatives(address[],address[])\":{\"notice\":\"Adds derivatives with corresponding underlyings to the price feed\"},\"getFundDeployer()\":{\"notice\":\"Gets the `FUND_DEPLOYER` variable\"},\"getOwner()\":{\"notice\":\"Gets the owner of this contract\"},\"getUnderlyingForDerivative(address)\":{\"notice\":\"Gets the underlying asset for a given derivative\"},\"removeDerivatives(address[])\":{\"notice\":\"Removes derivatives from the price feed\"}},\"notice\":\"A test implementation of SingleUnderlyingDerivativeRegistryMixin\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/TestSingleUnderlyingDerivativeRegistry.sol\":\"TestSingleUnderlyingDerivativeRegistry\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/infrastructure/price-feeds/derivatives/feeds/utils/SingleUnderlyingDerivativeRegistryMixin.sol\":{\"keccak256\":\"0xeb2aab819af80382ad562d5a80863484a42caa7888f811817eb283894a1852e7\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8846bfa874ede75fbcd3053d45a1647cad0aabbb26e4189998e8c517961c2bb6\",\"dweb:/ipfs/QmV4Bgx9VfX6kaoyZuaBDf2xyTY4ZmjniZTX8TrEmhU4Pv\"]},\"contracts/release/utils/FundDeployerOwnerMixin.sol\":{\"keccak256\":\"0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927\",\"dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM\"]},\"contracts/test/TestSingleUnderlyingDerivativeRegistry.sol\":{\"keccak256\":\"0x460f24f465d29b1d8e82f632dc7772650ddeb470e7f88ec13184a012525e8b70\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3a743617f8f7928280c7f72324114e88c1d7fa5b3398e49c45d95582ba48d349\",\"dweb:/ipfs/QmdwmhRstHzJyx9PeZhLMi78r4nMeAJommwHL2aT3qvbGS\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_dispatcher", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "derivative", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "underlying", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "DerivativeAdded", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "derivative", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "DerivativeRemoved", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_derivatives", - "type": "address[]" - }, - { - "internalType": "address[]", - "name": "_underlyings", - "type": "address[]" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "addDerivatives" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getFundDeployer", - "outputs": [ - { - "internalType": "address", - "name": "fundDeployer_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "owner_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_derivative", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getUnderlyingForDerivative", - "outputs": [ - { - "internalType": "address", - "name": "underlying_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_derivatives", - "type": "address[]" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "removeDerivatives" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "addDerivatives(address[],address[])": { - "params": { - "_derivatives": "The derivatives to add", - "_underlyings": "The corresponding underlyings to add" - } - }, - "getFundDeployer()": { - "returns": { - "fundDeployer_": "The `FUND_DEPLOYER` variable value" - } - }, - "getOwner()": { - "details": "Ownership is deferred to the owner of the FundDeployer contract", - "returns": { - "owner_": "The owner" - } - }, - "getUnderlyingForDerivative(address)": { - "params": { - "_derivative": "The derivative for which to get the underlying asset" - }, - "returns": { - "underlying_": "The underlying asset" - } - }, - "removeDerivatives(address[])": { - "params": { - "_derivatives": "The derivatives to remove" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "addDerivatives(address[],address[])": { - "notice": "Adds derivatives with corresponding underlyings to the price feed" - }, - "getFundDeployer()": { - "notice": "Gets the `FUND_DEPLOYER` variable" - }, - "getOwner()": { - "notice": "Gets the owner of this contract" - }, - "getUnderlyingForDerivative(address)": { - "notice": "Gets the underlying asset for a given derivative" - }, - "removeDerivatives(address[])": { - "notice": "Removes derivatives from the price feed" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/test/TestSingleUnderlyingDerivativeRegistry.sol": "TestSingleUnderlyingDerivativeRegistry" - }, - "libraries": {} - }, - "sources": { - "contracts/release/core/fund-deployer/IFundDeployer.sol": { - "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", - "urls": [ - "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", - "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/price-feeds/derivatives/feeds/utils/SingleUnderlyingDerivativeRegistryMixin.sol": { - "keccak256": "0xeb2aab819af80382ad562d5a80863484a42caa7888f811817eb283894a1852e7", - "urls": [ - "bzz-raw://8846bfa874ede75fbcd3053d45a1647cad0aabbb26e4189998e8c517961c2bb6", - "dweb:/ipfs/QmV4Bgx9VfX6kaoyZuaBDf2xyTY4ZmjniZTX8TrEmhU4Pv" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/FundDeployerOwnerMixin.sol": { - "keccak256": "0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934", - "urls": [ - "bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927", - "dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM" - ], - "license": "GPL-3.0" - }, - "contracts/test/TestSingleUnderlyingDerivativeRegistry.sol": { - "keccak256": "0x460f24f465d29b1d8e82f632dc7772650ddeb470e7f88ec13184a012525e8b70", - "urls": [ - "bzz-raw://3a743617f8f7928280c7f72324114e88c1d7fa5b3398e49c45d95582ba48d349", - "dweb:/ipfs/QmdwmhRstHzJyx9PeZhLMi78r4nMeAJommwHL2aT3qvbGS" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 375 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_dispatcher", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "addDerivatives", "inputs": [ { "name": "_derivatives", "type": "address[]", "internalType": "address[]" }, { "name": "_underlyings", "type": "address[]", "internalType": "address[]" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "getFundDeployer", "inputs": [], "outputs": [ { "name": "fundDeployer_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getOwner", "inputs": [], "outputs": [ { "name": "owner_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getUnderlyingForDerivative", "inputs": [ { "name": "_derivative", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "underlying_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "removeDerivatives", "inputs": [ { "name": "_derivatives", "type": "address[]", "internalType": "address[]" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "event", "name": "DerivativeAdded", "inputs": [ { "name": "derivative", "type": "address", "indexed": true, "internalType": "address" }, { "name": "underlying", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "DerivativeRemoved", "inputs": [ { "name": "derivative", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false } ], "bytecode": { "object": "0x60a060405234801561001057600080fd5b5060405161099a38038061099a8339818101604052602081101561003357600080fd5b5051606081901b6001600160601b0319166080526001600160a01b031661092e61006c60003980610609528061084e525061092e6000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c806339cbb63c1461005c57806366adb86714610185578063893d20e8146101c75780638f72b136146101cf57806397c0ac8714610272575b600080fd5b6101836004803603604081101561007257600080fd5b81019060208101813564010000000081111561008d57600080fd5b82018360208201111561009f57600080fd5b803590602001918460208302840111640100000000831117156100c157600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929594936020810193503591505064010000000081111561011157600080fd5b82018360208201111561012357600080fd5b8035906020019184602083028401116401000000008311171561014557600080fd5b91908080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525092955061027a945050505050565b005b6101ab6004803603602081101561019b57600080fd5b50356001600160a01b03166105e7565b604080516001600160a01b039092168252519081900360200190f35b6101ab610605565b610183600480360360208110156101e557600080fd5b81019060208101813564010000000081111561020057600080fd5b82018360208201111561021257600080fd5b8035906020019184602083028401116401000000008311171561023457600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610691945050505050565b6101ab61084c565b610282610605565b6001600160a01b0316336001600160a01b0316146102d15760405162461bcd60e51b81526004018080602001828103825260498152602001806108966049913960600191505060405180910390fd5b60008251116103115760405162461bcd60e51b81526004018080602001828103825260228152602001806109006022913960400191505060405180910390fd5b8051825114610367576040805162461bcd60e51b815260206004820152601e60248201527f61646444657269766174697665733a20556e657175616c206172726179730000604482015290519081900360640190fd5b60005b82518110156105e25760006001600160a01b031683828151811061038a57fe5b60200260200101516001600160a01b031614156103ee576040805162461bcd60e51b815260206004820181905260248201527f61646444657269766174697665733a20456d7074792064657269766174697665604482015290519081900360640190fd5b60006001600160a01b031682828151811061040557fe5b60200260200101516001600160a01b03161415610469576040805162461bcd60e51b815260206004820181905260248201527f61646444657269766174697665733a20456d70747920756e6465726c79696e67604482015290519081900360640190fd5b60006001600160a01b031661049084838151811061048357fe5b60200260200101516105e7565b6001600160a01b0316146104d55760405162461bcd60e51b81526004018080602001828103825260218152602001806108df6021913960400191505060405180910390fd5b6105058382815181106104e457fe5b60200260200101518383815181106104f857fe5b6020026020010151610848565b81818151811061051157fe5b602002602001015160008085848151811061052857fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b0316021790555081818151811061058057fe5b60200260200101516001600160a01b031683828151811061059d57fe5b60200260200101516001600160a01b03167faa4ae250fb435bb4b31ed0b95822bc179fc6c5dd0c727c3ffe08d444025efd9860405160405180910390a360010161036a565b505050565b6001600160a01b039081166000908152602081905260409020541690565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561066057600080fd5b505afa158015610674573d6000803e3d6000fd5b505050506040513d602081101561068a57600080fd5b5051905090565b610699610605565b6001600160a01b0316336001600160a01b0316146106e85760405162461bcd60e51b81526004018080602001828103825260498152602001806108966049913960600191505060405180910390fd5b60008151116107285760405162461bcd60e51b81526004018080602001828103825260258152602001806108716025913960400191505060405180910390fd5b60005b81518110156108485760006001600160a01b031661074e83838151811061048357fe5b6001600160a01b031614156107aa576040805162461bcd60e51b815260206004820181905260248201527f72656d6f766544657269766174697665733a2056616c7565206e6f7420736574604482015290519081900360640190fd5b6000808383815181106107b957fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154906001600160a01b03021916905581818151811061080357fe5b60200260200101516001600160a01b03167fc15eb25d807b570f4567baf6e97c7b26d58a7d0512dc85e8db15375a056b860460405160405180910390a260010161072b565b5050565b7f00000000000000000000000000000000000000000000000000000000000000009056fe72656d6f766544657269766174697665733a20456d707479205f64657269766174697665736f6e6c7946756e644465706c6f7965724f776e65723a204f6e6c79207468652046756e644465706c6f796572206f776e65722063616e2063616c6c20746869732066756e6374696f6e61646444657269766174697665733a2056616c756520616c72656164792073657461646444657269766174697665733a20456d707479205f6465726976617469766573a164736f6c634300060c000a", "sourceMap": "586:194:375:-:0;;;683:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;683:95:375;864:29:358;;;;-1:-1:-1;;;;;;864:29:358;;;-1:-1:-1;;;;;586:194:375;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106100575760003560e01c806339cbb63c1461005c57806366adb86714610185578063893d20e8146101c75780638f72b136146101cf57806397c0ac8714610272575b600080fd5b6101836004803603604081101561007257600080fd5b81019060208101813564010000000081111561008d57600080fd5b82018360208201111561009f57600080fd5b803590602001918460208302840111640100000000831117156100c157600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929594936020810193503591505064010000000081111561011157600080fd5b82018360208201111561012357600080fd5b8035906020019184602083028401116401000000008311171561014557600080fd5b91908080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525092955061027a945050505050565b005b6101ab6004803603602081101561019b57600080fd5b50356001600160a01b03166105e7565b604080516001600160a01b039092168252519081900360200190f35b6101ab610605565b610183600480360360208110156101e557600080fd5b81019060208101813564010000000081111561020057600080fd5b82018360208201111561021257600080fd5b8035906020019184602083028401116401000000008311171561023457600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610691945050505050565b6101ab61084c565b610282610605565b6001600160a01b0316336001600160a01b0316146102d15760405162461bcd60e51b81526004018080602001828103825260498152602001806108966049913960600191505060405180910390fd5b60008251116103115760405162461bcd60e51b81526004018080602001828103825260228152602001806109006022913960400191505060405180910390fd5b8051825114610367576040805162461bcd60e51b815260206004820152601e60248201527f61646444657269766174697665733a20556e657175616c206172726179730000604482015290519081900360640190fd5b60005b82518110156105e25760006001600160a01b031683828151811061038a57fe5b60200260200101516001600160a01b031614156103ee576040805162461bcd60e51b815260206004820181905260248201527f61646444657269766174697665733a20456d7074792064657269766174697665604482015290519081900360640190fd5b60006001600160a01b031682828151811061040557fe5b60200260200101516001600160a01b03161415610469576040805162461bcd60e51b815260206004820181905260248201527f61646444657269766174697665733a20456d70747920756e6465726c79696e67604482015290519081900360640190fd5b60006001600160a01b031661049084838151811061048357fe5b60200260200101516105e7565b6001600160a01b0316146104d55760405162461bcd60e51b81526004018080602001828103825260218152602001806108df6021913960400191505060405180910390fd5b6105058382815181106104e457fe5b60200260200101518383815181106104f857fe5b6020026020010151610848565b81818151811061051157fe5b602002602001015160008085848151811061052857fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b0316021790555081818151811061058057fe5b60200260200101516001600160a01b031683828151811061059d57fe5b60200260200101516001600160a01b03167faa4ae250fb435bb4b31ed0b95822bc179fc6c5dd0c727c3ffe08d444025efd9860405160405180910390a360010161036a565b505050565b6001600160a01b039081166000908152602081905260409020541690565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561066057600080fd5b505afa158015610674573d6000803e3d6000fd5b505050506040513d602081101561068a57600080fd5b5051905090565b610699610605565b6001600160a01b0316336001600160a01b0316146106e85760405162461bcd60e51b81526004018080602001828103825260498152602001806108966049913960600191505060405180910390fd5b60008151116107285760405162461bcd60e51b81526004018080602001828103825260258152602001806108716025913960400191505060405180910390fd5b60005b81518110156108485760006001600160a01b031661074e83838151811061048357fe5b6001600160a01b031614156107aa576040805162461bcd60e51b815260206004820181905260248201527f72656d6f766544657269766174697665733a2056616c7565206e6f7420736574604482015290519081900360640190fd5b6000808383815181106107b957fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154906001600160a01b03021916905581818151811061080357fe5b60200260200101516001600160a01b03167fc15eb25d807b570f4567baf6e97c7b26d58a7d0512dc85e8db15375a056b860460405160405180910390a260010161072b565b5050565b7f00000000000000000000000000000000000000000000000000000000000000009056fe72656d6f766544657269766174697665733a20456d707479205f64657269766174697665736f6e6c7946756e644465706c6f7965724f776e65723a204f6e6c79207468652046756e644465706c6f796572206f776e65722063616e2063616c6c20746869732066756e6374696f6e61646444657269766174697665733a2056616c756520616c72656164792073657461646444657269766174697665733a20456d707479205f6465726976617469766573a164736f6c634300060c000a", "sourceMap": "586:194:375:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1158:951:252;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1158:951:252;;;;;;;;-1:-1:-1;1158:951:252;;-1:-1:-1;;1158:951:252;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1158:951:252;;-1:-1:-1;1158:951:252;;-1:-1:-1;;;;;1158:951:252:i;:::-;;3223:186;;;;;;;;;;;;;;;;-1:-1:-1;3223:186:252;-1:-1:-1;;;;;3223:186:252;;:::i;:::-;;;;-1:-1:-1;;;;;3223:186:252;;;;;;;;;;;;;;1064:120:358;;;:::i;2225:523:252:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2225:523:252;;-1:-1:-1;2225:523:252;;-1:-1:-1;;;;;2225:523:252:i;1378:108:358:-;;;:::i;1158:951:252:-;679:10:358;:8;:10::i;:::-;-1:-1:-1;;;;;665:24:358;:10;-1:-1:-1;;;;;665:24:358;;644:144;;;;-1:-1:-1;;;644:144:358;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1351:1:252::1;1329:12;:19;:23;1321:70;;;;-1:-1:-1::0;;;1321:70:252::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1432:12;:19;1409:12;:19;:42;1401:85;;;::::0;;-1:-1:-1;;;1401:85:252;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;1502:9;1497:606;1517:12;:19;1513:1;:23;1497:606;;;1592:1;-1:-1:-1::0;;;;;1565:29:252::1;:12;1578:1;1565:15;;;;;;;;;;;;;;-1:-1:-1::0;;;;;1565:29:252::1;;;1557:74;;;::::0;;-1:-1:-1;;;1557:74:252;;::::1;;::::0;::::1;::::0;;;;;;;::::1;::::0;;;;;;;;;;;;;::::1;;1680:1;-1:-1:-1::0;;;;;1653:29:252::1;:12;1666:1;1653:15;;;;;;;;;;;;;;-1:-1:-1::0;;;;;1653:29:252::1;;;1645:74;;;::::0;;-1:-1:-1;;;1645:74:252;;::::1;;::::0;::::1;::::0;;;;;;;::::1;::::0;;;;;;;;;;;;;::::1;;1813:1;-1:-1:-1::0;;;;;1758:57:252::1;:43;1785:12;1798:1;1785:15;;;;;;;;;;;;;;1758:26;:43::i;:::-;-1:-1:-1::0;;;;;1758:57:252::1;;1733:149;;;;-1:-1:-1::0;;;1733:149:252::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1897:54;1918:12;1931:1;1918:15;;;;;;;;;;;;;;1935:12;1948:1;1935:15;;;;;;;;;;;;;;1897:20;:54::i;:::-;2008:12;2021:1;2008:15;;;;;;;;;;;;;;1966:22;:39:::0;1989:12:::1;2002:1;1989:15;;;;;;;;;;;;;;-1:-1:-1::0;;;;;1966:39:252::1;-1:-1:-1::0;;;;;1966:39:252::1;;;;;;;;;;;;;:57;;;;;-1:-1:-1::0;;;;;1966:57:252::1;;;;;-1:-1:-1::0;;;;;1966:57:252::1;;;;;;2076:12;2089:1;2076:15;;;;;;;;;;;;;;-1:-1:-1::0;;;;;2043:49:252::1;2059:12;2072:1;2059:15;;;;;;;;;;;;;;-1:-1:-1::0;;;;;2043:49:252::1;;;;;;;;;;;1538:3;;1497:606;;;;1158:951:::0;;:::o;3223:186::-;-1:-1:-1;;;;;3367:35:252;;;3325:19;3367:35;;;;;;;;;;;;;3223:186::o;1064:120:358:-;1105:14;1152:13;-1:-1:-1;;;;;1138:37:358;;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1138:39:358;;-1:-1:-1;1064:120:358;:::o;2225:523:252:-;679:10:358;:8;:10::i;:::-;-1:-1:-1;;;;;665:24:358;:10;-1:-1:-1;;;;;665:24:358;;644:144;;;;-1:-1:-1;;;644:144:358;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2354:1:252::1;2332:12;:19;:23;2324:73;;;;-1:-1:-1::0;;;2324:73:252::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2413:9;2408:334;2428:12;:19;2424:1;:23;2408:334;;;2548:1;-1:-1:-1::0;;;;;2493:57:252::1;:43;2520:12;2533:1;2520:15;;;;;;;2493:43;-1:-1:-1::0;;;;;2493:57:252::1;;;2468:148;;;::::0;;-1:-1:-1;;;2468:148:252;;::::1;;::::0;::::1;::::0;;;;;;;::::1;::::0;;;;;;;;;;;;;::::1;;2638:22;:39:::0;2661:12:::1;2674:1;2661:15;;;;;;;;;;;;;;-1:-1:-1::0;;;;;2638:39:252::1;-1:-1:-1::0;;;;;2638:39:252::1;;;;;;;;;;;;;2631:46;;;;;-1:-1:-1::0;;;;;2631:46:252::1;;;;;2715:12;2728:1;2715:15;;;;;;;;;;;;;;-1:-1:-1::0;;;;;2697:34:252::1;;;;;;;;;;;2449:3;;2408:334;;;;2225:523:::0;:::o;1378:108:358:-;1466:13;1378:108;:::o", "linkReferences": {}, "immutableReferences": { "78707": [ { "start": 1545, "length": 32 }, { "start": 2126, "length": 32 } ] } }, "methodIdentifiers": { "addDerivatives(address[],address[])": "39cbb63c", "getFundDeployer()": "97c0ac87", "getOwner()": "893d20e8", "getUnderlyingForDerivative(address)": "66adb867", "removeDerivatives(address[])": "8f72b136" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_dispatcher\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"derivative\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"underlying\",\"type\":\"address\"}],\"name\":\"DerivativeAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"derivative\",\"type\":\"address\"}],\"name\":\"DerivativeRemoved\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_derivatives\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"_underlyings\",\"type\":\"address[]\"}],\"name\":\"addDerivatives\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFundDeployer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"fundDeployer_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_derivative\",\"type\":\"address\"}],\"name\":\"getUnderlyingForDerivative\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"underlying_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_derivatives\",\"type\":\"address[]\"}],\"name\":\"removeDerivatives\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"addDerivatives(address[],address[])\":{\"params\":{\"_derivatives\":\"The derivatives to add\",\"_underlyings\":\"The corresponding underlyings to add\"}},\"getFundDeployer()\":{\"returns\":{\"fundDeployer_\":\"The `FUND_DEPLOYER` variable value\"}},\"getOwner()\":{\"details\":\"Ownership is deferred to the owner of the FundDeployer contract\",\"returns\":{\"owner_\":\"The owner\"}},\"getUnderlyingForDerivative(address)\":{\"params\":{\"_derivative\":\"The derivative for which to get the underlying asset\"},\"returns\":{\"underlying_\":\"The underlying asset\"}},\"removeDerivatives(address[])\":{\"params\":{\"_derivatives\":\"The derivatives to remove\"}}},\"title\":\"TestSingleUnderlyingDerivativeRegistry Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"addDerivatives(address[],address[])\":{\"notice\":\"Adds derivatives with corresponding underlyings to the price feed\"},\"getFundDeployer()\":{\"notice\":\"Gets the `FUND_DEPLOYER` variable\"},\"getOwner()\":{\"notice\":\"Gets the owner of this contract\"},\"getUnderlyingForDerivative(address)\":{\"notice\":\"Gets the underlying asset for a given derivative\"},\"removeDerivatives(address[])\":{\"notice\":\"Removes derivatives from the price feed\"}},\"notice\":\"A test implementation of SingleUnderlyingDerivativeRegistryMixin\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/TestSingleUnderlyingDerivativeRegistry.sol\":\"TestSingleUnderlyingDerivativeRegistry\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/infrastructure/price-feeds/derivatives/feeds/utils/SingleUnderlyingDerivativeRegistryMixin.sol\":{\"keccak256\":\"0xeb2aab819af80382ad562d5a80863484a42caa7888f811817eb283894a1852e7\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8846bfa874ede75fbcd3053d45a1647cad0aabbb26e4189998e8c517961c2bb6\",\"dweb:/ipfs/QmV4Bgx9VfX6kaoyZuaBDf2xyTY4ZmjniZTX8TrEmhU4Pv\"]},\"contracts/release/utils/FundDeployerOwnerMixin.sol\":{\"keccak256\":\"0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927\",\"dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM\"]},\"contracts/test/TestSingleUnderlyingDerivativeRegistry.sol\":{\"keccak256\":\"0x460f24f465d29b1d8e82f632dc7772650ddeb470e7f88ec13184a012525e8b70\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3a743617f8f7928280c7f72324114e88c1d7fa5b3398e49c45d95582ba48d349\",\"dweb:/ipfs/QmdwmhRstHzJyx9PeZhLMi78r4nMeAJommwHL2aT3qvbGS\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_dispatcher", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "derivative", "type": "address", "indexed": true }, { "internalType": "address", "name": "underlying", "type": "address", "indexed": true } ], "type": "event", "name": "DerivativeAdded", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "derivative", "type": "address", "indexed": true } ], "type": "event", "name": "DerivativeRemoved", "anonymous": false }, { "inputs": [ { "internalType": "address[]", "name": "_derivatives", "type": "address[]" }, { "internalType": "address[]", "name": "_underlyings", "type": "address[]" } ], "stateMutability": "nonpayable", "type": "function", "name": "addDerivatives" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getFundDeployer", "outputs": [ { "internalType": "address", "name": "fundDeployer_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getOwner", "outputs": [ { "internalType": "address", "name": "owner_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_derivative", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getUnderlyingForDerivative", "outputs": [ { "internalType": "address", "name": "underlying_", "type": "address" } ] }, { "inputs": [ { "internalType": "address[]", "name": "_derivatives", "type": "address[]" } ], "stateMutability": "nonpayable", "type": "function", "name": "removeDerivatives" } ], "devdoc": { "kind": "dev", "methods": { "addDerivatives(address[],address[])": { "params": { "_derivatives": "The derivatives to add", "_underlyings": "The corresponding underlyings to add" } }, "getFundDeployer()": { "returns": { "fundDeployer_": "The `FUND_DEPLOYER` variable value" } }, "getOwner()": { "details": "Ownership is deferred to the owner of the FundDeployer contract", "returns": { "owner_": "The owner" } }, "getUnderlyingForDerivative(address)": { "params": { "_derivative": "The derivative for which to get the underlying asset" }, "returns": { "underlying_": "The underlying asset" } }, "removeDerivatives(address[])": { "params": { "_derivatives": "The derivatives to remove" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "addDerivatives(address[],address[])": { "notice": "Adds derivatives with corresponding underlyings to the price feed" }, "getFundDeployer()": { "notice": "Gets the `FUND_DEPLOYER` variable" }, "getOwner()": { "notice": "Gets the owner of this contract" }, "getUnderlyingForDerivative(address)": { "notice": "Gets the underlying asset for a given derivative" }, "removeDerivatives(address[])": { "notice": "Removes derivatives from the price feed" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/test/TestSingleUnderlyingDerivativeRegistry.sol": "TestSingleUnderlyingDerivativeRegistry" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/core/fund-deployer/IFundDeployer.sol": { "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", "urls": [ "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/price-feeds/derivatives/feeds/utils/SingleUnderlyingDerivativeRegistryMixin.sol": { "keccak256": "0xeb2aab819af80382ad562d5a80863484a42caa7888f811817eb283894a1852e7", "urls": [ "bzz-raw://8846bfa874ede75fbcd3053d45a1647cad0aabbb26e4189998e8c517961c2bb6", "dweb:/ipfs/QmV4Bgx9VfX6kaoyZuaBDf2xyTY4ZmjniZTX8TrEmhU4Pv" ], "license": "GPL-3.0" }, "contracts/release/utils/FundDeployerOwnerMixin.sol": { "keccak256": "0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934", "urls": [ "bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927", "dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM" ], "license": "GPL-3.0" }, "contracts/test/TestSingleUnderlyingDerivativeRegistry.sol": { "keccak256": "0x460f24f465d29b1d8e82f632dc7772650ddeb470e7f88ec13184a012525e8b70", "urls": [ "bzz-raw://3a743617f8f7928280c7f72324114e88c1d7fa5b3398e49c45d95582ba48d349", "dweb:/ipfs/QmdwmhRstHzJyx9PeZhLMi78r4nMeAJommwHL2aT3qvbGS" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 375 } diff --git a/eth_defi/abi/enzyme/TestTreasurySplitterMixin.json b/eth_defi/abi/enzyme/TestTreasurySplitterMixin.json index 67e234b6..f7fdbe85 100644 --- a/eth_defi/abi/enzyme/TestTreasurySplitterMixin.json +++ b/eth_defi/abi/enzyme/TestTreasurySplitterMixin.json @@ -1,607 +1 @@ -{ - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "percentage", - "type": "uint256" - } - ], - "name": "SplitPercentageSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "TokenClaimed", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "claimToken", - "outputs": [ - { - "internalType": "uint256", - "name": "claimedAmount_", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_to", - "type": "address" - } - ], - "name": "claimTokenAmountTo", - "outputs": [ - { - "internalType": "uint256", - "name": "claimedAmount_", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_user", - "type": "address" - } - ], - "name": "getSplitPercentageForUser", - "outputs": [ - { - "internalType": "uint256", - "name": "splitPercentage_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_user", - "type": "address" - }, - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "getTokenBalClaimableForUser", - "outputs": [ - { - "internalType": "uint256", - "name": "balClaimable_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_user", - "type": "address" - }, - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "getTokenBalClaimedForUser", - "outputs": [ - { - "internalType": "uint256", - "name": "balClaimed_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "getTotalTokenBalClaimed", - "outputs": [ - { - "internalType": "uint256", - "name": "totalBalClaimed_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_users", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "_splitPercentages", - "type": "uint256[]" - } - ], - "name": "setSplitRatio", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x608060405234801561001057600080fd5b50610d3f806100206000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c8063418981821161005b57806341898182146101165780638a3503fa14610144578063cb482df61461016a578063f4fbdf11146101985761007d565b80630cffb185146100825780630f0ee54c146100ba57806332f289cf146100f0575b600080fd5b6100a86004803603602081101561009857600080fd5b50356001600160a01b03166102c1565b60408051918252519081900360200190f35b6100a8600480360360608110156100d057600080fd5b506001600160a01b038135811691602081013591604090910135166102dc565b6100a86004803603602081101561010657600080fd5b50356001600160a01b03166102f4565b6100a86004803603604081101561012c57600080fd5b506001600160a01b038135811691602001351661030a565b6100a86004803603602081101561015a57600080fd5b50356001600160a01b0316610335565b6100a86004803603604081101561018057600080fd5b506001600160a01b0381358116916020013516610350565b6102bf600480360360408110156101ae57600080fd5b8101906020810181356401000000008111156101c957600080fd5b8201836020820111156101db57600080fd5b803590602001918460208302840111640100000000831117156101fd57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929594936020810193503591505064010000000081111561024d57600080fd5b82018360208201111561025f57600080fd5b8035906020019184602083028401116401000000008311171561028157600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295506103f8945050505050565b005b6001600160a01b031660009081526020819052604090205490565b60006102ea33858585610406565b90505b9392505050565b6000610304338360001933610406565b92915050565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b6001600160a01b031660009081526001602052604090205490565b60006102ed61035e84610335565b610368858561030a565b6103f3856001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156103b857600080fd5b505afa1580156103cc573d6000803e3d6000fd5b505050506040513d60208110156103e257600080fd5b50516103ed876102c1565b90610431565b61048b565b61040282826104b9565b5050565b6000610413858585610728565b90506104296001600160a01b03851683836108d2565b949350505050565b6000828201838110156102ed576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000806104a461271061049e8588610924565b9061097d565b90506104b081856109e4565b95945050505050565b6000805b83518110156106cc5760006001600160a01b03168482815181106104dd57fe5b60200260200101516001600160a01b03161415610541576040805162461bcd60e51b815260206004820152601b60248201527f5f5f73657453706c6974526174696f3a20456d70747920757365720000000000604482015290519081900360640190fd5b600181015b84518110156105e45784818151811061055b57fe5b60200260200101516001600160a01b031685838151811061057857fe5b60200260200101516001600160a01b031614156105dc576040805162461bcd60e51b815260206004820152601f60248201527f5f5f73657453706c6974526174696f3a204475706c6963617465207573657200604482015290519081900360640190fd5b600101610546565b508281815181106105f157fe5b60200260200101516001600086848151811061060957fe5b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000208190555061065b83828151811061064457fe5b60200260200101518361043190919063ffffffff16565b915083818151811061066957fe5b60200260200101516001600160a01b03167f531137a286e6d7db4298ad238c8007a3e9f4d5c41c4550d1f22c1b6965103ecd8483815181106106a757fe5b60200260200101516040518082815260200191505060405180910390a26001016104bd565b506127108114610723576040805162461bcd60e51b815260206004820152601f60248201527f5f5f73657453706c6974526174696f3a2053706c6974206e6f74203130302500604482015290519081900360640190fd5b505050565b600080610734846102c1565b90506000610742868661030a565b905060006107c9866001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561079657600080fd5b505afa1580156107aa573d6000803e3d6000fd5b505050506040513d60208110156107c057600080fd5b50518490610431565b905060006107e06107d989610335565b848461048b565b90506000198614156107f457809450610837565b808611156108335760405162461bcd60e51b8152600401808060200182810382526025815260200180610d0e6025913960400191505060405180910390fd5b8594505b6108418486610431565b6001600160a01b0388166000908152602081905260409020556108648386610431565b6001600160a01b03808a166000818152600260209081526040808320948d16808452948252918290209490945580518981529051929391927f4831bdd9dcf3048a28319ce81d3cab7a15366bcf449bc7803a539107440809cc929181900390910190a3505050509392505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610723908490610a41565b60008261093357506000610304565b8282028284828161094057fe5b04146102ed5760405162461bcd60e51b8152600401808060200182810382526021815260200180610cc36021913960400191505060405180910390fd5b60008082116109d3576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b8183816109dc57fe5b049392505050565b600082821115610a3b576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6060610a96826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610af29092919063ffffffff16565b80519091501561072357808060200190516020811015610ab557600080fd5b50516107235760405162461bcd60e51b815260040180806020018281038252602a815260200180610ce4602a913960400191505060405180910390fd5b60606102ea848460008585610b0685610c18565b610b57576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b60208310610b965780518252601f199092019160209182019101610b77565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114610bf8576040519150601f19603f3d011682016040523d82523d6000602084013e610bfd565b606091505b5091509150610c0d828286610c1e565b979650505050505050565b3b151590565b60608315610c2d5750816102ed565b825115610c3d5782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610c87578181015183820152602001610c6f565b50505050905090810190601f168015610cb45780820380516001836020036101000a031916815260200191505b509250505060405180910390fdfe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564636c61696d546f6b656e3a205f616d6f756e74206578636565647320636c61696d61626c65a164736f6c634300060c000a", - "sourceMap": "503:220:376:-:0;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b506004361061007d5760003560e01c8063418981821161005b57806341898182146101165780638a3503fa14610144578063cb482df61461016a578063f4fbdf11146101985761007d565b80630cffb185146100825780630f0ee54c146100ba57806332f289cf146100f0575b600080fd5b6100a86004803603602081101561009857600080fd5b50356001600160a01b03166102c1565b60408051918252519081900360200190f35b6100a8600480360360608110156100d057600080fd5b506001600160a01b038135811691602081013591604090910135166102dc565b6100a86004803603602081101561010657600080fd5b50356001600160a01b03166102f4565b6100a86004803603604081101561012c57600080fd5b506001600160a01b038135811691602001351661030a565b6100a86004803603602081101561015a57600080fd5b50356001600160a01b0316610335565b6100a86004803603604081101561018057600080fd5b506001600160a01b0381358116916020013516610350565b6102bf600480360360408110156101ae57600080fd5b8101906020810181356401000000008111156101c957600080fd5b8201836020820111156101db57600080fd5b803590602001918460208302840111640100000000831117156101fd57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929594936020810193503591505064010000000081111561024d57600080fd5b82018360208201111561025f57600080fd5b8035906020019184602083028401116401000000008311171561028157600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295506103f8945050505050565b005b6001600160a01b031660009081526020819052604090205490565b60006102ea33858585610406565b90505b9392505050565b6000610304338360001933610406565b92915050565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b6001600160a01b031660009081526001602052604090205490565b60006102ed61035e84610335565b610368858561030a565b6103f3856001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156103b857600080fd5b505afa1580156103cc573d6000803e3d6000fd5b505050506040513d60208110156103e257600080fd5b50516103ed876102c1565b90610431565b61048b565b61040282826104b9565b5050565b6000610413858585610728565b90506104296001600160a01b03851683836108d2565b949350505050565b6000828201838110156102ed576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000806104a461271061049e8588610924565b9061097d565b90506104b081856109e4565b95945050505050565b6000805b83518110156106cc5760006001600160a01b03168482815181106104dd57fe5b60200260200101516001600160a01b03161415610541576040805162461bcd60e51b815260206004820152601b60248201527f5f5f73657453706c6974526174696f3a20456d70747920757365720000000000604482015290519081900360640190fd5b600181015b84518110156105e45784818151811061055b57fe5b60200260200101516001600160a01b031685838151811061057857fe5b60200260200101516001600160a01b031614156105dc576040805162461bcd60e51b815260206004820152601f60248201527f5f5f73657453706c6974526174696f3a204475706c6963617465207573657200604482015290519081900360640190fd5b600101610546565b508281815181106105f157fe5b60200260200101516001600086848151811061060957fe5b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000208190555061065b83828151811061064457fe5b60200260200101518361043190919063ffffffff16565b915083818151811061066957fe5b60200260200101516001600160a01b03167f531137a286e6d7db4298ad238c8007a3e9f4d5c41c4550d1f22c1b6965103ecd8483815181106106a757fe5b60200260200101516040518082815260200191505060405180910390a26001016104bd565b506127108114610723576040805162461bcd60e51b815260206004820152601f60248201527f5f5f73657453706c6974526174696f3a2053706c6974206e6f74203130302500604482015290519081900360640190fd5b505050565b600080610734846102c1565b90506000610742868661030a565b905060006107c9866001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561079657600080fd5b505afa1580156107aa573d6000803e3d6000fd5b505050506040513d60208110156107c057600080fd5b50518490610431565b905060006107e06107d989610335565b848461048b565b90506000198614156107f457809450610837565b808611156108335760405162461bcd60e51b8152600401808060200182810382526025815260200180610d0e6025913960400191505060405180910390fd5b8594505b6108418486610431565b6001600160a01b0388166000908152602081905260409020556108648386610431565b6001600160a01b03808a166000818152600260209081526040808320948d16808452948252918290209490945580518981529051929391927f4831bdd9dcf3048a28319ce81d3cab7a15366bcf449bc7803a539107440809cc929181900390910190a3505050509392505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610723908490610a41565b60008261093357506000610304565b8282028284828161094057fe5b04146102ed5760405162461bcd60e51b8152600401808060200182810382526021815260200180610cc36021913960400191505060405180910390fd5b60008082116109d3576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b8183816109dc57fe5b049392505050565b600082821115610a3b576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6060610a96826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610af29092919063ffffffff16565b80519091501561072357808060200190516020811015610ab557600080fd5b50516107235760405162461bcd60e51b815260040180806020018281038252602a815260200180610ce4602a913960400191505060405180910390fd5b60606102ea848460008585610b0685610c18565b610b57576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b60208310610b965780518252601f199092019160209182019101610b77565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114610bf8576040519150601f19603f3d011682016040523d82523d6000602084013e610bfd565b606091505b5091509150610c0d828286610c1e565b979650505050505050565b3b151590565b60608315610c2d5750816102ed565b825115610c3d5782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610c87578181015183820152602001610c6f565b50505050905090810190601f168015610cb45780820380516001836020036101000a031916815260200191505b509250505060405180910390fdfe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564636c61696d546f6b656e3a205f616d6f756e74206578636565647320636c61696d61626c65a164736f6c634300060c000a", - "sourceMap": "503:220:376:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6920:178:61;;;;;;;;;;;;;;;;-1:-1:-1;6920:178:61;-1:-1:-1;;;;;6920:178:61;;:::i;:::-;;;;;;;;;;;;;;;;1931:224;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1931:224:61;;;;;;;;;;;;;;;;;:::i;1487:173::-;;;;;;;;;;;;;;;;-1:-1:-1;1487:173:61;-1:-1:-1;;;;;1487:173:61;;:::i;6564:198::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;6564:198:61;;;;;;;;;;:::i;6199:177::-;;;;;;;;;;;;;;;;-1:-1:-1;6199:177:61;-1:-1:-1;;;;;6199:177:61;;:::i;2376:414::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;2376:414:61;;;;;;;;;;:::i;569:152:376:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;569:152:376;;;;;;;;-1:-1:-1;569:152:376;;-1:-1:-1;;569:152:376;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;569:152:376;;-1:-1:-1;569:152:376;;-1:-1:-1;;;;;569:152:376:i;:::-;;6920:178:61;-1:-1:-1;;;;;7061:30:61;7014:24;7061:30;;;;;;;;;;;;6920:178::o;1931:224::-;2061:22;2102:46;2115:10;2127:6;2135:7;2144:3;2102:12;:46::i;:::-;2095:53;;1931:224;;;;;;:::o;1487:173::-;1549:22;1590:63;1603:10;1615:6;-1:-1:-1;;1642:10:61;1590:12;:63::i;:::-;1583:70;1487:173;-1:-1:-1;;1487:173:61:o;6564:198::-;-1:-1:-1;;;;;6717:30:61;;;6675:19;6717:30;;;:23;:30;;;;;;;;:38;;;;;;;;;;;;;6564:198::o;6199:177::-;-1:-1:-1;;;;;6341:28:61;6294:24;6341:28;;;:21;:28;;;;;;;6199:177::o;2376:414::-;2489:21;2545:238;2586:32;2612:5;2586:25;:32::i;:::-;2636:40;2662:5;2669:6;2636:25;:40::i;:::-;2694:75;2736:6;-1:-1:-1;;;;;2730:23:61;;2762:4;2730:38;;;;;;;;;;;;;-1:-1:-1;;;;;2730:38:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2730:38:61;2694:31;2718:6;2694:23;:31::i;:::-;:35;;:75::i;:::-;2545:23;:238::i;569:152:376:-;672:42;688:6;696:17;672:15;:42::i;:::-;569:152;;:::o;3352:337:61:-;3491:22;3542:51;3570:5;3577:6;3585:7;3542:27;:51::i;:::-;3525:68;-1:-1:-1;3603:47:61;-1:-1:-1;;;;;3603:26:61;;3630:3;3525:68;3603:26;:47::i;:::-;3352:337;;;;;;:::o;2690:175:442:-;2748:7;2779:5;;;2802:6;;;;2794:46;;;;;-1:-1:-1;;;2794:46:442;;;;;;;;;;;;;;;;;;;;;;;;;;;2882:428:61;3058:21;;3132:99;1046:5;3132:61;:19;3169:23;3132:36;:61::i;:::-;:78;;:99::i;:::-;3091:140;-1:-1:-1;3249:54:61;3091:140;3284:18;3249:34;:54::i;:::-;3242:61;2882:428;-1:-1:-1;;;;;2882:428:61:o;5139:832::-;5256:28;5299:9;5294:574;5314:6;:13;5310:1;:17;5294:574;;;5439:1;-1:-1:-1;;;;;5418:23:61;:6;5425:1;5418:9;;;;;;;;;;;;;;-1:-1:-1;;;;;5418:23:61;;;5410:63;;;;;-1:-1:-1;;;5410:63:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;5508:1;5504:5;;5487:147;5515:6;:13;5511:1;:17;5487:147;;;5574:6;5581:1;5574:9;;;;;;;;;;;;;;-1:-1:-1;;;;;5561:22:61;:6;5568:1;5561:9;;;;;;;;;;;;;;-1:-1:-1;;;;;5561:22:61;;;5553:66;;;;;-1:-1:-1;;;5553:66:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;5530:3;;5487:147;;;;5683:17;5701:1;5683:20;;;;;;;;;;;;;;5648:21;:32;5670:6;5677:1;5670:9;;;;;;;;;;;;;;-1:-1:-1;;;;;5648:32:61;-1:-1:-1;;;;;5648:32:61;;;;;;;;;;;;:55;;;;5740:46;5765:17;5783:1;5765:20;;;;;;;;;;;;;;5740;:24;;:46;;;;:::i;:::-;5717:69;;5825:6;5832:1;5825:9;;;;;;;;;;;;;;-1:-1:-1;;;;;5806:51:61;;5836:17;5854:1;5836:20;;;;;;;;;;;;;;5806:51;;;;;;;;;;;;;;;;;;5329:3;;5294:574;;;;1046:5;5885:20;:43;5877:87;;;;;-1:-1:-1;;;5877:87:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;5139:832;;;:::o;3788:1150::-;3921:22;3955:23;3981:31;4005:6;3981:23;:31::i;:::-;3955:57;;4022:25;4050:40;4076:5;4083:6;4050:25;:40::i;:::-;4022:68;;4101:26;4130:59;4156:6;-1:-1:-1;;;;;4150:23:61;;4182:4;4150:38;;;;;;;;;;;;;-1:-1:-1;;;;;4150:38:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4150:38:61;4130:15;;:19;:59::i;:::-;4101:88;;4199:27;4229:142;4266:32;4292:5;4266:25;:32::i;:::-;4312:17;4343:18;4229:23;:142::i;:::-;4199:172;;-1:-1:-1;;4386:7:61;:28;4382:245;;;4447:19;4430:36;;4382:245;;;4516:19;4505:7;:30;;4497:80;;;;-1:-1:-1;;;4497:80:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4609:7;4592:24;;4382:245;4717:35;:15;4737:14;4717:19;:35::i;:::-;-1:-1:-1;;;;;4684:30:61;;:22;:30;;;;;;;;;;:68;4803:37;:17;4825:14;4803:21;:37::i;:::-;-1:-1:-1;;;;;4762:30:61;;;;;;;:23;:30;;;;;;;;:38;;;;;;;;;;;;;:78;;;;4856:43;;;;;;;4762:38;;:30;;4856:43;;;;;;;;;;;4910:21;;;;3788:1150;;;;;:::o;704:175:450:-;813:58;;;-1:-1:-1;;;;;813:58:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;813:58:450;-1:-1:-1;;;813:58:450;;;786:86;;806:5;;786:19;:86::i;3538:215:442:-;3596:7;3619:6;3615:20;;-1:-1:-1;3634:1:442;3627:8;;3615:20;3657:5;;;3661:1;3657;:5;:1;3680:5;;;;;:10;3672:56;;;;-1:-1:-1;;;3672:56:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4217:150;4275:7;4306:1;4302;:5;4294:44;;;;;-1:-1:-1;;;4294:44:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;4359:1;4355;:5;;;;;;;4217:150;-1:-1:-1;;;4217:150:442:o;3136:155::-;3194:7;3226:1;3221;:6;;3213:49;;;;;-1:-1:-1;;;3213:49:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3279:5:442;;;3136:155::o;2967:751:450:-;3386:23;3412:69;3440:4;3412:69;;;;;;;;;;;;;;;;;3420:5;-1:-1:-1;;;;;3412:27:450;;;:69;;;;;:::i;:::-;3495:17;;3386:95;;-1:-1:-1;3495:21:450;3491:221;;3635:10;3624:30;;;;;;;;;;;;;;;-1:-1:-1;3624:30:450;3616:85;;;;-1:-1:-1;;;3616:85:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3581:193:451;3684:12;3715:52;3737:6;3745:4;3751:1;3754:12;3684;4858:18;4869:6;4858:10;:18::i;:::-;4850:60;;;;;-1:-1:-1;;;4850:60:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;4981:12;4995:23;5022:6;-1:-1:-1;;;;;5022:11:451;5042:5;5050:4;5022:33;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5022:33:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4980:75;;;;5072:52;5090:7;5099:10;5111:12;5072:17;:52::i;:::-;5065:59;4608:523;-1:-1:-1;;;;;;;4608:523:451:o;726:413::-;1086:20;1124:8;;;726:413::o;7091:725::-;7206:12;7234:7;7230:580;;;-1:-1:-1;7264:10:451;7257:17;;7230:580;7375:17;;:21;7371:429;;7633:10;7627:17;7693:15;7680:10;7676:2;7672:19;7665:44;7582:145;7772:12;7765:20;;-1:-1:-1;;;7765:20:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "methodIdentifiers": { - "claimToken(address)": "32f289cf", - "claimTokenAmountTo(address,uint256,address)": "0f0ee54c", - "getSplitPercentageForUser(address)": "8a3503fa", - "getTokenBalClaimableForUser(address,address)": "cb482df6", - "getTokenBalClaimedForUser(address,address)": "41898182", - "getTotalTokenBalClaimed(address)": "0cffb185", - "setSplitRatio(address[],uint256[])": "f4fbdf11" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"percentage\",\"type\":\"uint256\"}],\"name\":\"SplitPercentageSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"TokenClaimed\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"}],\"name\":\"claimToken\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"claimedAmount_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"}],\"name\":\"claimTokenAmountTo\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"claimedAmount_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"getSplitPercentageForUser\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"splitPercentage_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"}],\"name\":\"getTokenBalClaimableForUser\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balClaimable_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"}],\"name\":\"getTokenBalClaimedForUser\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balClaimed_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"}],\"name\":\"getTotalTokenBalClaimed\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"totalBalClaimed_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_users\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"_splitPercentages\",\"type\":\"uint256[]\"}],\"name\":\"setSplitRatio\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"claimToken(address)\":{\"params\":{\"_token\":\"The token to claim\"},\"returns\":{\"claimedAmount_\":\"The token amount claimed\"}},\"claimTokenAmountTo(address,uint256,address)\":{\"params\":{\"_amount\":\"The amount to claim\",\"_to\":\"The recipient of the claimed token\",\"_token\":\"The token to claim\"},\"returns\":{\"claimedAmount_\":\"The token amount claimed\"}},\"getSplitPercentageForUser(address)\":{\"params\":{\"_user\":\"The user\"},\"returns\":{\"splitPercentage_\":\"The split percentage\"}},\"getTokenBalClaimableForUser(address,address)\":{\"params\":{\"_token\":\"The token\",\"_user\":\"The user\"},\"returns\":{\"balClaimable_\":\"The claimable token balance\"}},\"getTokenBalClaimedForUser(address,address)\":{\"params\":{\"_token\":\"The token\",\"_user\":\"The user\"},\"returns\":{\"balClaimed_\":\"The balance claimed\"}},\"getTotalTokenBalClaimed(address)\":{\"params\":{\"_token\":\"The token\"},\"returns\":{\"totalBalClaimed_\":\"The total balance claimed\"}}},\"title\":\"TestTreasurySplitterMixin Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"claimToken(address)\":{\"notice\":\"Claims the full amount of a specified token\"},\"claimTokenAmountTo(address,uint256,address)\":{\"notice\":\"Claims a specified token amount to a specified address\"},\"getSplitPercentageForUser(address)\":{\"notice\":\"Gets the split ratio percentage for a given user\"},\"getTokenBalClaimableForUser(address,address)\":{\"notice\":\"Gets the token balance claimable for a specified user\"},\"getTokenBalClaimedForUser(address,address)\":{\"notice\":\"Gets the token balance already claimed for a given user\"},\"getTotalTokenBalClaimed(address)\":{\"notice\":\"Gets the total token balance already claimed\"}},\"notice\":\"A test implementation of TreasurySplitterMixin\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/TestTreasurySplitterMixin.sol\":\"TestTreasurySplitterMixin\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/shares-splitter/TreasurySplitterMixin.sol\":{\"keccak256\":\"0x5884f1ae25251dc7727e7f019760b69a1e851c4d681bf91492af521bf4f74057\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3694db028974441238d79f22e85f69f89a8efa0906d30e7b4a34aad8a21f7790\",\"dweb:/ipfs/QmQPhjhosPL4S2E8tvq6ZKbp267DXLAyE145J7WVHGJhKa\"]},\"contracts/test/TestTreasurySplitterMixin.sol\":{\"keccak256\":\"0x69fc49b6fe26f085eb99cfda21af640b3f15ad90fc2157cf513a50610548fccb\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://00c04c765848526010683d61fa80d041670c8399cc97eadcbcf41953967ef767\",\"dweb:/ipfs/QmNMDMNuJGkN8r1ZbBiD7bH5UmDZfY4bDAQGLu8WVhdQFW\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "user", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "percentage", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "SplitPercentageSet", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "user", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "token", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "TokenClaimed", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "claimToken", - "outputs": [ - { - "internalType": "uint256", - "name": "claimedAmount_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_to", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "claimTokenAmountTo", - "outputs": [ - { - "internalType": "uint256", - "name": "claimedAmount_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_user", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getSplitPercentageForUser", - "outputs": [ - { - "internalType": "uint256", - "name": "splitPercentage_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_user", - "type": "address" - }, - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getTokenBalClaimableForUser", - "outputs": [ - { - "internalType": "uint256", - "name": "balClaimable_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_user", - "type": "address" - }, - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getTokenBalClaimedForUser", - "outputs": [ - { - "internalType": "uint256", - "name": "balClaimed_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getTotalTokenBalClaimed", - "outputs": [ - { - "internalType": "uint256", - "name": "totalBalClaimed_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_users", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "_splitPercentages", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setSplitRatio" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "claimToken(address)": { - "params": { - "_token": "The token to claim" - }, - "returns": { - "claimedAmount_": "The token amount claimed" - } - }, - "claimTokenAmountTo(address,uint256,address)": { - "params": { - "_amount": "The amount to claim", - "_to": "The recipient of the claimed token", - "_token": "The token to claim" - }, - "returns": { - "claimedAmount_": "The token amount claimed" - } - }, - "getSplitPercentageForUser(address)": { - "params": { - "_user": "The user" - }, - "returns": { - "splitPercentage_": "The split percentage" - } - }, - "getTokenBalClaimableForUser(address,address)": { - "params": { - "_token": "The token", - "_user": "The user" - }, - "returns": { - "balClaimable_": "The claimable token balance" - } - }, - "getTokenBalClaimedForUser(address,address)": { - "params": { - "_token": "The token", - "_user": "The user" - }, - "returns": { - "balClaimed_": "The balance claimed" - } - }, - "getTotalTokenBalClaimed(address)": { - "params": { - "_token": "The token" - }, - "returns": { - "totalBalClaimed_": "The total balance claimed" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "claimToken(address)": { - "notice": "Claims the full amount of a specified token" - }, - "claimTokenAmountTo(address,uint256,address)": { - "notice": "Claims a specified token amount to a specified address" - }, - "getSplitPercentageForUser(address)": { - "notice": "Gets the split ratio percentage for a given user" - }, - "getTokenBalClaimableForUser(address,address)": { - "notice": "Gets the token balance claimable for a specified user" - }, - "getTokenBalClaimedForUser(address,address)": { - "notice": "Gets the token balance already claimed for a given user" - }, - "getTotalTokenBalClaimed(address)": { - "notice": "Gets the total token balance already claimed" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/test/TestTreasurySplitterMixin.sol": "TestTreasurySplitterMixin" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/shares-splitter/TreasurySplitterMixin.sol": { - "keccak256": "0x5884f1ae25251dc7727e7f019760b69a1e851c4d681bf91492af521bf4f74057", - "urls": [ - "bzz-raw://3694db028974441238d79f22e85f69f89a8efa0906d30e7b4a34aad8a21f7790", - "dweb:/ipfs/QmQPhjhosPL4S2E8tvq6ZKbp267DXLAyE145J7WVHGJhKa" - ], - "license": "GPL-3.0" - }, - "contracts/test/TestTreasurySplitterMixin.sol": { - "keccak256": "0x69fc49b6fe26f085eb99cfda21af640b3f15ad90fc2157cf513a50610548fccb", - "urls": [ - "bzz-raw://00c04c765848526010683d61fa80d041670c8399cc97eadcbcf41953967ef767", - "dweb:/ipfs/QmNMDMNuJGkN8r1ZbBiD7bH5UmDZfY4bDAQGLu8WVhdQFW" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { - "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", - "urls": [ - "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", - "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Address.sol": { - "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", - "urls": [ - "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", - "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 376 -} +{ "abi": [ { "type": "function", "name": "claimToken", "inputs": [ { "name": "_token", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "claimedAmount_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "claimTokenAmountTo", "inputs": [ { "name": "_token", "type": "address", "internalType": "address" }, { "name": "_amount", "type": "uint256", "internalType": "uint256" }, { "name": "_to", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "claimedAmount_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "getSplitPercentageForUser", "inputs": [ { "name": "_user", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "splitPercentage_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "getTokenBalClaimableForUser", "inputs": [ { "name": "_user", "type": "address", "internalType": "address" }, { "name": "_token", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "balClaimable_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "getTokenBalClaimedForUser", "inputs": [ { "name": "_user", "type": "address", "internalType": "address" }, { "name": "_token", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "balClaimed_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "getTotalTokenBalClaimed", "inputs": [ { "name": "_token", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "totalBalClaimed_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "setSplitRatio", "inputs": [ { "name": "_users", "type": "address[]", "internalType": "address[]" }, { "name": "_splitPercentages", "type": "uint256[]", "internalType": "uint256[]" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "event", "name": "SplitPercentageSet", "inputs": [ { "name": "user", "type": "address", "indexed": true, "internalType": "address" }, { "name": "percentage", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "TokenClaimed", "inputs": [ { "name": "user", "type": "address", "indexed": true, "internalType": "address" }, { "name": "token", "type": "address", "indexed": true, "internalType": "address" }, { "name": "amount", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false } ], "bytecode": { "object": "0x608060405234801561001057600080fd5b50610d3f806100206000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c8063418981821161005b57806341898182146101165780638a3503fa14610144578063cb482df61461016a578063f4fbdf11146101985761007d565b80630cffb185146100825780630f0ee54c146100ba57806332f289cf146100f0575b600080fd5b6100a86004803603602081101561009857600080fd5b50356001600160a01b03166102c1565b60408051918252519081900360200190f35b6100a8600480360360608110156100d057600080fd5b506001600160a01b038135811691602081013591604090910135166102dc565b6100a86004803603602081101561010657600080fd5b50356001600160a01b03166102f4565b6100a86004803603604081101561012c57600080fd5b506001600160a01b038135811691602001351661030a565b6100a86004803603602081101561015a57600080fd5b50356001600160a01b0316610335565b6100a86004803603604081101561018057600080fd5b506001600160a01b0381358116916020013516610350565b6102bf600480360360408110156101ae57600080fd5b8101906020810181356401000000008111156101c957600080fd5b8201836020820111156101db57600080fd5b803590602001918460208302840111640100000000831117156101fd57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929594936020810193503591505064010000000081111561024d57600080fd5b82018360208201111561025f57600080fd5b8035906020019184602083028401116401000000008311171561028157600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295506103f8945050505050565b005b6001600160a01b031660009081526020819052604090205490565b60006102ea33858585610406565b90505b9392505050565b6000610304338360001933610406565b92915050565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b6001600160a01b031660009081526001602052604090205490565b60006102ed61035e84610335565b610368858561030a565b6103f3856001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156103b857600080fd5b505afa1580156103cc573d6000803e3d6000fd5b505050506040513d60208110156103e257600080fd5b50516103ed876102c1565b90610431565b61048b565b61040282826104b9565b5050565b6000610413858585610728565b90506104296001600160a01b03851683836108d2565b949350505050565b6000828201838110156102ed576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000806104a461271061049e8588610924565b9061097d565b90506104b081856109e4565b95945050505050565b6000805b83518110156106cc5760006001600160a01b03168482815181106104dd57fe5b60200260200101516001600160a01b03161415610541576040805162461bcd60e51b815260206004820152601b60248201527f5f5f73657453706c6974526174696f3a20456d70747920757365720000000000604482015290519081900360640190fd5b600181015b84518110156105e45784818151811061055b57fe5b60200260200101516001600160a01b031685838151811061057857fe5b60200260200101516001600160a01b031614156105dc576040805162461bcd60e51b815260206004820152601f60248201527f5f5f73657453706c6974526174696f3a204475706c6963617465207573657200604482015290519081900360640190fd5b600101610546565b508281815181106105f157fe5b60200260200101516001600086848151811061060957fe5b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000208190555061065b83828151811061064457fe5b60200260200101518361043190919063ffffffff16565b915083818151811061066957fe5b60200260200101516001600160a01b03167f531137a286e6d7db4298ad238c8007a3e9f4d5c41c4550d1f22c1b6965103ecd8483815181106106a757fe5b60200260200101516040518082815260200191505060405180910390a26001016104bd565b506127108114610723576040805162461bcd60e51b815260206004820152601f60248201527f5f5f73657453706c6974526174696f3a2053706c6974206e6f74203130302500604482015290519081900360640190fd5b505050565b600080610734846102c1565b90506000610742868661030a565b905060006107c9866001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561079657600080fd5b505afa1580156107aa573d6000803e3d6000fd5b505050506040513d60208110156107c057600080fd5b50518490610431565b905060006107e06107d989610335565b848461048b565b90506000198614156107f457809450610837565b808611156108335760405162461bcd60e51b8152600401808060200182810382526025815260200180610d0e6025913960400191505060405180910390fd5b8594505b6108418486610431565b6001600160a01b0388166000908152602081905260409020556108648386610431565b6001600160a01b03808a166000818152600260209081526040808320948d16808452948252918290209490945580518981529051929391927f4831bdd9dcf3048a28319ce81d3cab7a15366bcf449bc7803a539107440809cc929181900390910190a3505050509392505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610723908490610a41565b60008261093357506000610304565b8282028284828161094057fe5b04146102ed5760405162461bcd60e51b8152600401808060200182810382526021815260200180610cc36021913960400191505060405180910390fd5b60008082116109d3576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b8183816109dc57fe5b049392505050565b600082821115610a3b576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6060610a96826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610af29092919063ffffffff16565b80519091501561072357808060200190516020811015610ab557600080fd5b50516107235760405162461bcd60e51b815260040180806020018281038252602a815260200180610ce4602a913960400191505060405180910390fd5b60606102ea848460008585610b0685610c18565b610b57576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b60208310610b965780518252601f199092019160209182019101610b77565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114610bf8576040519150601f19603f3d011682016040523d82523d6000602084013e610bfd565b606091505b5091509150610c0d828286610c1e565b979650505050505050565b3b151590565b60608315610c2d5750816102ed565b825115610c3d5782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610c87578181015183820152602001610c6f565b50505050905090810190601f168015610cb45780820380516001836020036101000a031916815260200191505b509250505060405180910390fdfe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564636c61696d546f6b656e3a205f616d6f756e74206578636565647320636c61696d61626c65a164736f6c634300060c000a", "sourceMap": "503:220:376:-:0;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b506004361061007d5760003560e01c8063418981821161005b57806341898182146101165780638a3503fa14610144578063cb482df61461016a578063f4fbdf11146101985761007d565b80630cffb185146100825780630f0ee54c146100ba57806332f289cf146100f0575b600080fd5b6100a86004803603602081101561009857600080fd5b50356001600160a01b03166102c1565b60408051918252519081900360200190f35b6100a8600480360360608110156100d057600080fd5b506001600160a01b038135811691602081013591604090910135166102dc565b6100a86004803603602081101561010657600080fd5b50356001600160a01b03166102f4565b6100a86004803603604081101561012c57600080fd5b506001600160a01b038135811691602001351661030a565b6100a86004803603602081101561015a57600080fd5b50356001600160a01b0316610335565b6100a86004803603604081101561018057600080fd5b506001600160a01b0381358116916020013516610350565b6102bf600480360360408110156101ae57600080fd5b8101906020810181356401000000008111156101c957600080fd5b8201836020820111156101db57600080fd5b803590602001918460208302840111640100000000831117156101fd57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929594936020810193503591505064010000000081111561024d57600080fd5b82018360208201111561025f57600080fd5b8035906020019184602083028401116401000000008311171561028157600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295506103f8945050505050565b005b6001600160a01b031660009081526020819052604090205490565b60006102ea33858585610406565b90505b9392505050565b6000610304338360001933610406565b92915050565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b6001600160a01b031660009081526001602052604090205490565b60006102ed61035e84610335565b610368858561030a565b6103f3856001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156103b857600080fd5b505afa1580156103cc573d6000803e3d6000fd5b505050506040513d60208110156103e257600080fd5b50516103ed876102c1565b90610431565b61048b565b61040282826104b9565b5050565b6000610413858585610728565b90506104296001600160a01b03851683836108d2565b949350505050565b6000828201838110156102ed576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000806104a461271061049e8588610924565b9061097d565b90506104b081856109e4565b95945050505050565b6000805b83518110156106cc5760006001600160a01b03168482815181106104dd57fe5b60200260200101516001600160a01b03161415610541576040805162461bcd60e51b815260206004820152601b60248201527f5f5f73657453706c6974526174696f3a20456d70747920757365720000000000604482015290519081900360640190fd5b600181015b84518110156105e45784818151811061055b57fe5b60200260200101516001600160a01b031685838151811061057857fe5b60200260200101516001600160a01b031614156105dc576040805162461bcd60e51b815260206004820152601f60248201527f5f5f73657453706c6974526174696f3a204475706c6963617465207573657200604482015290519081900360640190fd5b600101610546565b508281815181106105f157fe5b60200260200101516001600086848151811061060957fe5b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000208190555061065b83828151811061064457fe5b60200260200101518361043190919063ffffffff16565b915083818151811061066957fe5b60200260200101516001600160a01b03167f531137a286e6d7db4298ad238c8007a3e9f4d5c41c4550d1f22c1b6965103ecd8483815181106106a757fe5b60200260200101516040518082815260200191505060405180910390a26001016104bd565b506127108114610723576040805162461bcd60e51b815260206004820152601f60248201527f5f5f73657453706c6974526174696f3a2053706c6974206e6f74203130302500604482015290519081900360640190fd5b505050565b600080610734846102c1565b90506000610742868661030a565b905060006107c9866001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561079657600080fd5b505afa1580156107aa573d6000803e3d6000fd5b505050506040513d60208110156107c057600080fd5b50518490610431565b905060006107e06107d989610335565b848461048b565b90506000198614156107f457809450610837565b808611156108335760405162461bcd60e51b8152600401808060200182810382526025815260200180610d0e6025913960400191505060405180910390fd5b8594505b6108418486610431565b6001600160a01b0388166000908152602081905260409020556108648386610431565b6001600160a01b03808a166000818152600260209081526040808320948d16808452948252918290209490945580518981529051929391927f4831bdd9dcf3048a28319ce81d3cab7a15366bcf449bc7803a539107440809cc929181900390910190a3505050509392505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610723908490610a41565b60008261093357506000610304565b8282028284828161094057fe5b04146102ed5760405162461bcd60e51b8152600401808060200182810382526021815260200180610cc36021913960400191505060405180910390fd5b60008082116109d3576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b8183816109dc57fe5b049392505050565b600082821115610a3b576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6060610a96826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610af29092919063ffffffff16565b80519091501561072357808060200190516020811015610ab557600080fd5b50516107235760405162461bcd60e51b815260040180806020018281038252602a815260200180610ce4602a913960400191505060405180910390fd5b60606102ea848460008585610b0685610c18565b610b57576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b60208310610b965780518252601f199092019160209182019101610b77565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114610bf8576040519150601f19603f3d011682016040523d82523d6000602084013e610bfd565b606091505b5091509150610c0d828286610c1e565b979650505050505050565b3b151590565b60608315610c2d5750816102ed565b825115610c3d5782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610c87578181015183820152602001610c6f565b50505050905090810190601f168015610cb45780820380516001836020036101000a031916815260200191505b509250505060405180910390fdfe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564636c61696d546f6b656e3a205f616d6f756e74206578636565647320636c61696d61626c65a164736f6c634300060c000a", "sourceMap": "503:220:376:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6920:178:61;;;;;;;;;;;;;;;;-1:-1:-1;6920:178:61;-1:-1:-1;;;;;6920:178:61;;:::i;:::-;;;;;;;;;;;;;;;;1931:224;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1931:224:61;;;;;;;;;;;;;;;;;:::i;1487:173::-;;;;;;;;;;;;;;;;-1:-1:-1;1487:173:61;-1:-1:-1;;;;;1487:173:61;;:::i;6564:198::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;6564:198:61;;;;;;;;;;:::i;6199:177::-;;;;;;;;;;;;;;;;-1:-1:-1;6199:177:61;-1:-1:-1;;;;;6199:177:61;;:::i;2376:414::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;2376:414:61;;;;;;;;;;:::i;569:152:376:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;569:152:376;;;;;;;;-1:-1:-1;569:152:376;;-1:-1:-1;;569:152:376;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;569:152:376;;-1:-1:-1;569:152:376;;-1:-1:-1;;;;;569:152:376:i;:::-;;6920:178:61;-1:-1:-1;;;;;7061:30:61;7014:24;7061:30;;;;;;;;;;;;6920:178::o;1931:224::-;2061:22;2102:46;2115:10;2127:6;2135:7;2144:3;2102:12;:46::i;:::-;2095:53;;1931:224;;;;;;:::o;1487:173::-;1549:22;1590:63;1603:10;1615:6;-1:-1:-1;;1642:10:61;1590:12;:63::i;:::-;1583:70;1487:173;-1:-1:-1;;1487:173:61:o;6564:198::-;-1:-1:-1;;;;;6717:30:61;;;6675:19;6717:30;;;:23;:30;;;;;;;;:38;;;;;;;;;;;;;6564:198::o;6199:177::-;-1:-1:-1;;;;;6341:28:61;6294:24;6341:28;;;:21;:28;;;;;;;6199:177::o;2376:414::-;2489:21;2545:238;2586:32;2612:5;2586:25;:32::i;:::-;2636:40;2662:5;2669:6;2636:25;:40::i;:::-;2694:75;2736:6;-1:-1:-1;;;;;2730:23:61;;2762:4;2730:38;;;;;;;;;;;;;-1:-1:-1;;;;;2730:38:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2730:38:61;2694:31;2718:6;2694:23;:31::i;:::-;:35;;:75::i;:::-;2545:23;:238::i;569:152:376:-;672:42;688:6;696:17;672:15;:42::i;:::-;569:152;;:::o;3352:337:61:-;3491:22;3542:51;3570:5;3577:6;3585:7;3542:27;:51::i;:::-;3525:68;-1:-1:-1;3603:47:61;-1:-1:-1;;;;;3603:26:61;;3630:3;3525:68;3603:26;:47::i;:::-;3352:337;;;;;;:::o;2690:175:442:-;2748:7;2779:5;;;2802:6;;;;2794:46;;;;;-1:-1:-1;;;2794:46:442;;;;;;;;;;;;;;;;;;;;;;;;;;;2882:428:61;3058:21;;3132:99;1046:5;3132:61;:19;3169:23;3132:36;:61::i;:::-;:78;;:99::i;:::-;3091:140;-1:-1:-1;3249:54:61;3091:140;3284:18;3249:34;:54::i;:::-;3242:61;2882:428;-1:-1:-1;;;;;2882:428:61:o;5139:832::-;5256:28;5299:9;5294:574;5314:6;:13;5310:1;:17;5294:574;;;5439:1;-1:-1:-1;;;;;5418:23:61;:6;5425:1;5418:9;;;;;;;;;;;;;;-1:-1:-1;;;;;5418:23:61;;;5410:63;;;;;-1:-1:-1;;;5410:63:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;5508:1;5504:5;;5487:147;5515:6;:13;5511:1;:17;5487:147;;;5574:6;5581:1;5574:9;;;;;;;;;;;;;;-1:-1:-1;;;;;5561:22:61;:6;5568:1;5561:9;;;;;;;;;;;;;;-1:-1:-1;;;;;5561:22:61;;;5553:66;;;;;-1:-1:-1;;;5553:66:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;5530:3;;5487:147;;;;5683:17;5701:1;5683:20;;;;;;;;;;;;;;5648:21;:32;5670:6;5677:1;5670:9;;;;;;;;;;;;;;-1:-1:-1;;;;;5648:32:61;-1:-1:-1;;;;;5648:32:61;;;;;;;;;;;;:55;;;;5740:46;5765:17;5783:1;5765:20;;;;;;;;;;;;;;5740;:24;;:46;;;;:::i;:::-;5717:69;;5825:6;5832:1;5825:9;;;;;;;;;;;;;;-1:-1:-1;;;;;5806:51:61;;5836:17;5854:1;5836:20;;;;;;;;;;;;;;5806:51;;;;;;;;;;;;;;;;;;5329:3;;5294:574;;;;1046:5;5885:20;:43;5877:87;;;;;-1:-1:-1;;;5877:87:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;5139:832;;;:::o;3788:1150::-;3921:22;3955:23;3981:31;4005:6;3981:23;:31::i;:::-;3955:57;;4022:25;4050:40;4076:5;4083:6;4050:25;:40::i;:::-;4022:68;;4101:26;4130:59;4156:6;-1:-1:-1;;;;;4150:23:61;;4182:4;4150:38;;;;;;;;;;;;;-1:-1:-1;;;;;4150:38:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4150:38:61;4130:15;;:19;:59::i;:::-;4101:88;;4199:27;4229:142;4266:32;4292:5;4266:25;:32::i;:::-;4312:17;4343:18;4229:23;:142::i;:::-;4199:172;;-1:-1:-1;;4386:7:61;:28;4382:245;;;4447:19;4430:36;;4382:245;;;4516:19;4505:7;:30;;4497:80;;;;-1:-1:-1;;;4497:80:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4609:7;4592:24;;4382:245;4717:35;:15;4737:14;4717:19;:35::i;:::-;-1:-1:-1;;;;;4684:30:61;;:22;:30;;;;;;;;;;:68;4803:37;:17;4825:14;4803:21;:37::i;:::-;-1:-1:-1;;;;;4762:30:61;;;;;;;:23;:30;;;;;;;;:38;;;;;;;;;;;;;:78;;;;4856:43;;;;;;;4762:38;;:30;;4856:43;;;;;;;;;;;4910:21;;;;3788:1150;;;;;:::o;704:175:450:-;813:58;;;-1:-1:-1;;;;;813:58:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;813:58:450;-1:-1:-1;;;813:58:450;;;786:86;;806:5;;786:19;:86::i;3538:215:442:-;3596:7;3619:6;3615:20;;-1:-1:-1;3634:1:442;3627:8;;3615:20;3657:5;;;3661:1;3657;:5;:1;3680:5;;;;;:10;3672:56;;;;-1:-1:-1;;;3672:56:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4217:150;4275:7;4306:1;4302;:5;4294:44;;;;;-1:-1:-1;;;4294:44:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;4359:1;4355;:5;;;;;;;4217:150;-1:-1:-1;;;4217:150:442:o;3136:155::-;3194:7;3226:1;3221;:6;;3213:49;;;;;-1:-1:-1;;;3213:49:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3279:5:442;;;3136:155::o;2967:751:450:-;3386:23;3412:69;3440:4;3412:69;;;;;;;;;;;;;;;;;3420:5;-1:-1:-1;;;;;3412:27:450;;;:69;;;;;:::i;:::-;3495:17;;3386:95;;-1:-1:-1;3495:21:450;3491:221;;3635:10;3624:30;;;;;;;;;;;;;;;-1:-1:-1;3624:30:450;3616:85;;;;-1:-1:-1;;;3616:85:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3581:193:451;3684:12;3715:52;3737:6;3745:4;3751:1;3754:12;3684;4858:18;4869:6;4858:10;:18::i;:::-;4850:60;;;;;-1:-1:-1;;;4850:60:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;4981:12;4995:23;5022:6;-1:-1:-1;;;;;5022:11:451;5042:5;5050:4;5022:33;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5022:33:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4980:75;;;;5072:52;5090:7;5099:10;5111:12;5072:17;:52::i;:::-;5065:59;4608:523;-1:-1:-1;;;;;;;4608:523:451:o;726:413::-;1086:20;1124:8;;;726:413::o;7091:725::-;7206:12;7234:7;7230:580;;;-1:-1:-1;7264:10:451;7257:17;;7230:580;7375:17;;:21;7371:429;;7633:10;7627:17;7693:15;7680:10;7676:2;7672:19;7665:44;7582:145;7772:12;7765:20;;-1:-1:-1;;;7765:20:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "methodIdentifiers": { "claimToken(address)": "32f289cf", "claimTokenAmountTo(address,uint256,address)": "0f0ee54c", "getSplitPercentageForUser(address)": "8a3503fa", "getTokenBalClaimableForUser(address,address)": "cb482df6", "getTokenBalClaimedForUser(address,address)": "41898182", "getTotalTokenBalClaimed(address)": "0cffb185", "setSplitRatio(address[],uint256[])": "f4fbdf11" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"percentage\",\"type\":\"uint256\"}],\"name\":\"SplitPercentageSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"TokenClaimed\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"}],\"name\":\"claimToken\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"claimedAmount_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"}],\"name\":\"claimTokenAmountTo\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"claimedAmount_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"getSplitPercentageForUser\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"splitPercentage_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"}],\"name\":\"getTokenBalClaimableForUser\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balClaimable_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"}],\"name\":\"getTokenBalClaimedForUser\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balClaimed_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"}],\"name\":\"getTotalTokenBalClaimed\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"totalBalClaimed_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_users\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"_splitPercentages\",\"type\":\"uint256[]\"}],\"name\":\"setSplitRatio\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"claimToken(address)\":{\"params\":{\"_token\":\"The token to claim\"},\"returns\":{\"claimedAmount_\":\"The token amount claimed\"}},\"claimTokenAmountTo(address,uint256,address)\":{\"params\":{\"_amount\":\"The amount to claim\",\"_to\":\"The recipient of the claimed token\",\"_token\":\"The token to claim\"},\"returns\":{\"claimedAmount_\":\"The token amount claimed\"}},\"getSplitPercentageForUser(address)\":{\"params\":{\"_user\":\"The user\"},\"returns\":{\"splitPercentage_\":\"The split percentage\"}},\"getTokenBalClaimableForUser(address,address)\":{\"params\":{\"_token\":\"The token\",\"_user\":\"The user\"},\"returns\":{\"balClaimable_\":\"The claimable token balance\"}},\"getTokenBalClaimedForUser(address,address)\":{\"params\":{\"_token\":\"The token\",\"_user\":\"The user\"},\"returns\":{\"balClaimed_\":\"The balance claimed\"}},\"getTotalTokenBalClaimed(address)\":{\"params\":{\"_token\":\"The token\"},\"returns\":{\"totalBalClaimed_\":\"The total balance claimed\"}}},\"title\":\"TestTreasurySplitterMixin Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"claimToken(address)\":{\"notice\":\"Claims the full amount of a specified token\"},\"claimTokenAmountTo(address,uint256,address)\":{\"notice\":\"Claims a specified token amount to a specified address\"},\"getSplitPercentageForUser(address)\":{\"notice\":\"Gets the split ratio percentage for a given user\"},\"getTokenBalClaimableForUser(address,address)\":{\"notice\":\"Gets the token balance claimable for a specified user\"},\"getTokenBalClaimedForUser(address,address)\":{\"notice\":\"Gets the token balance already claimed for a given user\"},\"getTotalTokenBalClaimed(address)\":{\"notice\":\"Gets the total token balance already claimed\"}},\"notice\":\"A test implementation of TreasurySplitterMixin\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/TestTreasurySplitterMixin.sol\":\"TestTreasurySplitterMixin\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/shares-splitter/TreasurySplitterMixin.sol\":{\"keccak256\":\"0x5884f1ae25251dc7727e7f019760b69a1e851c4d681bf91492af521bf4f74057\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3694db028974441238d79f22e85f69f89a8efa0906d30e7b4a34aad8a21f7790\",\"dweb:/ipfs/QmQPhjhosPL4S2E8tvq6ZKbp267DXLAyE145J7WVHGJhKa\"]},\"contracts/test/TestTreasurySplitterMixin.sol\":{\"keccak256\":\"0x69fc49b6fe26f085eb99cfda21af640b3f15ad90fc2157cf513a50610548fccb\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://00c04c765848526010683d61fa80d041670c8399cc97eadcbcf41953967ef767\",\"dweb:/ipfs/QmNMDMNuJGkN8r1ZbBiD7bH5UmDZfY4bDAQGLu8WVhdQFW\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "user", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "percentage", "type": "uint256", "indexed": false } ], "type": "event", "name": "SplitPercentageSet", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "user", "type": "address", "indexed": true }, { "internalType": "address", "name": "token", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "amount", "type": "uint256", "indexed": false } ], "type": "event", "name": "TokenClaimed", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "_token", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "claimToken", "outputs": [ { "internalType": "uint256", "name": "claimedAmount_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "_token", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" }, { "internalType": "address", "name": "_to", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "claimTokenAmountTo", "outputs": [ { "internalType": "uint256", "name": "claimedAmount_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "_user", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getSplitPercentageForUser", "outputs": [ { "internalType": "uint256", "name": "splitPercentage_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "_user", "type": "address" }, { "internalType": "address", "name": "_token", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getTokenBalClaimableForUser", "outputs": [ { "internalType": "uint256", "name": "balClaimable_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "_user", "type": "address" }, { "internalType": "address", "name": "_token", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getTokenBalClaimedForUser", "outputs": [ { "internalType": "uint256", "name": "balClaimed_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "_token", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getTotalTokenBalClaimed", "outputs": [ { "internalType": "uint256", "name": "totalBalClaimed_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address[]", "name": "_users", "type": "address[]" }, { "internalType": "uint256[]", "name": "_splitPercentages", "type": "uint256[]" } ], "stateMutability": "nonpayable", "type": "function", "name": "setSplitRatio" } ], "devdoc": { "kind": "dev", "methods": { "claimToken(address)": { "params": { "_token": "The token to claim" }, "returns": { "claimedAmount_": "The token amount claimed" } }, "claimTokenAmountTo(address,uint256,address)": { "params": { "_amount": "The amount to claim", "_to": "The recipient of the claimed token", "_token": "The token to claim" }, "returns": { "claimedAmount_": "The token amount claimed" } }, "getSplitPercentageForUser(address)": { "params": { "_user": "The user" }, "returns": { "splitPercentage_": "The split percentage" } }, "getTokenBalClaimableForUser(address,address)": { "params": { "_token": "The token", "_user": "The user" }, "returns": { "balClaimable_": "The claimable token balance" } }, "getTokenBalClaimedForUser(address,address)": { "params": { "_token": "The token", "_user": "The user" }, "returns": { "balClaimed_": "The balance claimed" } }, "getTotalTokenBalClaimed(address)": { "params": { "_token": "The token" }, "returns": { "totalBalClaimed_": "The total balance claimed" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "claimToken(address)": { "notice": "Claims the full amount of a specified token" }, "claimTokenAmountTo(address,uint256,address)": { "notice": "Claims a specified token amount to a specified address" }, "getSplitPercentageForUser(address)": { "notice": "Gets the split ratio percentage for a given user" }, "getTokenBalClaimableForUser(address,address)": { "notice": "Gets the token balance claimable for a specified user" }, "getTokenBalClaimedForUser(address,address)": { "notice": "Gets the token balance already claimed for a given user" }, "getTotalTokenBalClaimed(address)": { "notice": "Gets the total token balance already claimed" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/test/TestTreasurySplitterMixin.sol": "TestTreasurySplitterMixin" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/shares-splitter/TreasurySplitterMixin.sol": { "keccak256": "0x5884f1ae25251dc7727e7f019760b69a1e851c4d681bf91492af521bf4f74057", "urls": [ "bzz-raw://3694db028974441238d79f22e85f69f89a8efa0906d30e7b4a34aad8a21f7790", "dweb:/ipfs/QmQPhjhosPL4S2E8tvq6ZKbp267DXLAyE145J7WVHGJhKa" ], "license": "GPL-3.0" }, "contracts/test/TestTreasurySplitterMixin.sol": { "keccak256": "0x69fc49b6fe26f085eb99cfda21af640b3f15ad90fc2157cf513a50610548fccb", "urls": [ "bzz-raw://00c04c765848526010683d61fa80d041670c8399cc97eadcbcf41953967ef767", "dweb:/ipfs/QmNMDMNuJGkN8r1ZbBiD7bH5UmDZfY4bDAQGLu8WVhdQFW" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", "urls": [ "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Address.sol": { "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", "urls": [ "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" } }, "version": 1 }, "id": 376 } diff --git a/eth_defi/abi/enzyme/TestUpdatableFeeRecipientBase.json b/eth_defi/abi/enzyme/TestUpdatableFeeRecipientBase.json index 8ac6021e..1db40da7 100644 --- a/eth_defi/abi/enzyme/TestUpdatableFeeRecipientBase.json +++ b/eth_defi/abi/enzyme/TestUpdatableFeeRecipientBase.json @@ -1,561 +1 @@ -{ - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "comptrollerProxy", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "recipient", - "type": "address" - } - ], - "name": "RecipientSetForFund", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - } - ], - "name": "getRecipientForFund", - "outputs": [ - { - "internalType": "address", - "name": "recipient_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_recipient", - "type": "address" - } - ], - "name": "setRecipientForFund", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x608060405234801561001057600080fd5b50610286806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806362780b3c1461003b5780638c55f80f1461007d575b600080fd5b6100616004803603602081101561005157600080fd5b50356001600160a01b03166100ad565b604080516001600160a01b039092168252519081900360200190f35b6100ab6004803603604081101561009357600080fd5b506001600160a01b03813581169160200135166100cb565b005b6001600160a01b039081166000908152602081905260409020541690565b816001600160a01b031663c98091876040518163ffffffff1660e01b815260040160206040518083038186803b15801561010457600080fd5b505afa158015610118573d6000803e3d6000fd5b505050506040513d602081101561012e57600080fd5b505160408051631127a41d60e31b815290516001600160a01b039092169163893d20e891600480820192602092909190829003018186803b15801561017257600080fd5b505afa158015610186573d6000803e3d6000fd5b505050506040513d602081101561019c57600080fd5b50516001600160a01b031633146101e45760405162461bcd60e51b815260040180806020018281038252603081526020018061024a6030913960400191505060405180910390fd5b6101ee82826101f2565b5050565b6001600160a01b0382811660008181526020819052604080822080546001600160a01b0319169486169485179055517fa11fc98cfb391622348acc16de92f0efb77d55f71a6e9fa18bfef387ae8d19ce9190a3505056fe5f5f736574526563697069656e74466f7246756e643a204f6e6c79207661756c74206f776e65722063616c6c61626c65a164736f6c634300060c000a", - "sourceMap": "530:72:377:-:0;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c806362780b3c1461003b5780638c55f80f1461007d575b600080fd5b6100616004803603602081101561005157600080fd5b50356001600160a01b03166100ad565b604080516001600160a01b039092168252519081900360200190f35b6100ab6004803603604081101561009357600080fd5b506001600160a01b03813581169160200135166100cb565b005b6001600160a01b039081166000908152602081905260409020541690565b816001600160a01b031663c98091876040518163ffffffff1660e01b815260040160206040518083038186803b15801561010457600080fd5b505afa158015610118573d6000803e3d6000fd5b505050506040513d602081101561012e57600080fd5b505160408051631127a41d60e31b815290516001600160a01b039092169163893d20e891600480820192602092909190829003018186803b15801561017257600080fd5b505afa158015610186573d6000803e3d6000fd5b505050506040513d602081101561019c57600080fd5b50516001600160a01b031633146101e45760405162461bcd60e51b815260040180806020018281038252603081526020018061024a6030913960400191505060405180910390fd5b6101ee82826101f2565b5050565b6001600160a01b0382811660008181526020819052604080822080546001600160a01b0319169486169485179055517fa11fc98cfb391622348acc16de92f0efb77d55f71a6e9fa18bfef387ae8d19ce9190a3505056fe5f5f736574526563697069656e74466f7246756e643a204f6e6c79207661756c74206f776e65722063616c6c61626c65a164736f6c634300060c000a", - "sourceMap": "530:72:377:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1258:211:155;;;;;;;;;;;;;;;;-1:-1:-1;1258:211:155;-1:-1:-1;;;;;1258:211:155;;:::i;:::-;;;;-1:-1:-1;;;;;1258:211:155;;;;;;;;;;;;;;883:369:156;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;883:369:156;;;;;;;;;;:::i;:::-;;1258:211:155;-1:-1:-1;;;;;1416:46:155;;;1375:18;1416:46;;;;;;;;;;;;;1258:211::o;883:369:156:-;1061:17;-1:-1:-1;;;;;1046:47:156;;:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1046:49:156;1029:79;;;-1:-1:-1;;;1029:79:156;;;;-1:-1:-1;;;;;1029:77:156;;;;;;:79;;;;;1046:49;;1029:79;;;;;;;;:77;:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1029:79:156;-1:-1:-1;;;;;999:109:156;:10;:109;978:204;;;;-1:-1:-1;;;978:204:156;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1193:52;1215:17;1234:10;1193:21;:52::i;:::-;883:369;;:::o;715:229:155:-;-1:-1:-1;;;;;812:46:155;;;:27;:46;;;;;;;;;;;:59;;-1:-1:-1;;;;;;812:59:155;;;;;;;;;887:50;;;812:27;887:50;715:229;;:::o", - "linkReferences": {} - }, - "methodIdentifiers": { - "getRecipientForFund(address)": "62780b3c", - "setRecipientForFund(address,address)": "8c55f80f" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"}],\"name\":\"RecipientSetForFund\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"}],\"name\":\"getRecipientForFund\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"recipient_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_recipient\",\"type\":\"address\"}],\"name\":\"setRecipientForFund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"getRecipientForFund(address)\":{\"details\":\"address(0) signifies the VaultProxy owner\",\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy contract for the fund\"},\"returns\":{\"recipient_\":\"The recipient\"}},\"setRecipientForFund(address,address)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy contract for the fund\",\"_recipient\":\"The fee recipient\"}}},\"title\":\"TestUpdatableFeeRecipientBase Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getRecipientForFund(address)\":{\"notice\":\"Gets the recipient of the fee for a given fund\"},\"setRecipientForFund(address,address)\":{\"notice\":\"Sets the fee recipient for the given fund\"}},\"notice\":\"A test implementation of UpdatableFeeRecipientBase\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/TestUpdatableFeeRecipientBase.sol\":\"TestUpdatableFeeRecipientBase\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/persistent/protocol-fee-reserve/interfaces/IProtocolFeeReserve1.sol\":{\"keccak256\":\"0x2728878c423db523bc95189137e8c58d2d7db9f56bbd5c6b1f988c08b551fbab\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3b0df1d2eb74151265d03ab91a7c341f7beca475dd2f4d669052dbc4ee2c06ac\",\"dweb:/ipfs/QmVx1cgrxQNYfdK1Kn15pcgqf79Uw8bF3U6i7F2HG2rj6G\"]},\"contracts/persistent/vault/VaultLibBase1.sol\":{\"keccak256\":\"0xa4dac1e4cdb311a2ab187135355357d8790c505ef36dd912c057fe53743d30b5\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b66efe821016ab927c949263023260515e90f5d480dc8d94eefbfeec7bf7490b\",\"dweb:/ipfs/QmNY3xKnhL9EptAbxGvXHGAXfV9pj3dDPwsZnKrPs54ZHw\"]},\"contracts/persistent/vault/VaultLibBase2.sol\":{\"keccak256\":\"0xf7d31f2a9a47770ed3f444be2c4fe9262ddb55fef7f25e546b1f03c9afec4c09\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9353ddce7c9b8b3c13fed23fe8edec99ca610d791b0c5b204b3d01f1f08d07d2\",\"dweb:/ipfs/QmeVsEh3joCjv49BRXeHASevnZZ5xdZXpkctHT8BPf37N2\"]},\"contracts/persistent/vault/VaultLibBaseCore.sol\":{\"keccak256\":\"0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd\",\"dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz\"]},\"contracts/persistent/vault/interfaces/IExternalPositionVault.sol\":{\"keccak256\":\"0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d\",\"dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8\"]},\"contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol\":{\"keccak256\":\"0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb\",\"dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU\"]},\"contracts/persistent/vault/interfaces/IMigratableVault.sol\":{\"keccak256\":\"0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6\",\"dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs\"]},\"contracts/persistent/vault/interfaces/IVaultCore.sol\":{\"keccak256\":\"0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd\",\"dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr\"]},\"contracts/persistent/vault/utils/ProxiableVaultLib.sol\":{\"keccak256\":\"0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44\",\"dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4\"]},\"contracts/persistent/vault/utils/SharesTokenBase.sol\":{\"keccak256\":\"0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8\",\"dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4\"]},\"contracts/persistent/vault/utils/VaultLibSafeMath.sol\":{\"keccak256\":\"0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02\",\"dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG\"]},\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/core/fund/comptroller/ComptrollerLib.sol\":{\"keccak256\":\"0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579\",\"dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq\"]},\"contracts/release/core/fund/comptroller/IComptroller.sol\":{\"keccak256\":\"0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97\",\"dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L\"]},\"contracts/release/core/fund/vault/IVault.sol\":{\"keccak256\":\"0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599\",\"dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG\"]},\"contracts/release/core/fund/vault/VaultLib.sol\":{\"keccak256\":\"0x07e49445ab55c01e1b499a48baadc2a15d1eba621f1c6d3ccfdb84c87b976da8\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://56d882459248f73e137db2e097fc56b946147fb28ec21661b77431f88e856cb4\",\"dweb:/ipfs/QmRP6Ry7DCS5uoKxnnkTomHSzbaCze6cHqbR9aLdjoF6vK\"]},\"contracts/release/extensions/IExtension.sol\":{\"keccak256\":\"0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70\",\"dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t\"]},\"contracts/release/extensions/external-position-manager/IExternalPositionManager.sol\":{\"keccak256\":\"0x3af3f634e1f99fb97091b7825c0d2e2baaafc124d4e87d56cb0c17ff8554f6c6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://515470605afe5ef147f30fa75ce7818f0e00e3d321eb81a4d9bffcdefc294495\",\"dweb:/ipfs/QmPKsp99pfHoz9Tfo3ZxnkmqDqJtN9PxqacF2RmeVfxUJF\"]},\"contracts/release/extensions/fee-manager/IFeeManager.sol\":{\"keccak256\":\"0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22\",\"dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod\"]},\"contracts/release/extensions/fee-manager/fees/utils/SettableFeeRecipientBase.sol\":{\"keccak256\":\"0xb3b4b3cd13141871c912310ce1dace2e94f89eee7a52b95d4df9e4642a958f4d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b120324be26eddebb2fd5d15ecdbef4bfc5a5bbd05bd60796677157480842aa1\",\"dweb:/ipfs/Qmab9XnYHvG3zWtQaTee24qU7VK94MMLySPkrZqDBbB5NN\"]},\"contracts/release/extensions/fee-manager/fees/utils/UpdatableFeeRecipientBase.sol\":{\"keccak256\":\"0xac875e8923b29be8e697be04177b56d3f75d0ef4a56bc0cec2d2583efd802064\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://99d359ece6663298f925765b7558beb694bf3dbe3831fc60e016fd37b10d358c\",\"dweb:/ipfs/QmduCuit88g1HEb9HxF1aH82Ezx388M5CBLfUfLraKgcfA\"]},\"contracts/release/extensions/policy-manager/IPolicyManager.sol\":{\"keccak256\":\"0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa\",\"dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb\"]},\"contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol\":{\"keccak256\":\"0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f\",\"dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol\":{\"keccak256\":\"0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0\",\"dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol\":{\"keccak256\":\"0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b\",\"dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3\"]},\"contracts/release/infrastructure/protocol-fees/IProtocolFeeTracker.sol\":{\"keccak256\":\"0x232b347f83457439064add7369bfe1930c7cb56f15930bb87d640e909c15e447\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://24f9af5eebdd373b1d7a598c096eb6def31b2640d54416d7d5a7226e1cef17e6\",\"dweb:/ipfs/QmStq9ByGuSYdKwTmZf52L1X6sZVJUfXTnoVbnjLLiUcHG\"]},\"contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol\":{\"keccak256\":\"0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965\",\"dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ\"]},\"contracts/release/interfaces/IGsnForwarder.sol\":{\"keccak256\":\"0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29\",\"dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G\"]},\"contracts/release/interfaces/IGsnPaymaster.sol\":{\"keccak256\":\"0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4\",\"dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF\"]},\"contracts/release/interfaces/IGsnTypes.sol\":{\"keccak256\":\"0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7\",\"dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C\"]},\"contracts/release/interfaces/IWETH.sol\":{\"keccak256\":\"0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2\",\"dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/beacon-proxy/IBeacon.sol\":{\"keccak256\":\"0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39\",\"dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V\"]},\"contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol\":{\"keccak256\":\"0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be\",\"dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG\"]},\"contracts/test/TestUpdatableFeeRecipientBase.sol\":{\"keccak256\":\"0xaef46a442e5b188cbcdbdde5f0071f2e09ccd550eeac1247e46ca87098028022\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://0e7720fa0231aed48803151b15308e045d00ea01b4531d93972dec044925162f\",\"dweb:/ipfs/QmSpLi6oisAS8wvA9cQfsDKdoyreB422SJkp1M1aWnEogb\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20Burnable.sol\":{\"keccak256\":\"0x9c0eb3b0e11d2480d49991dc384f1e5f9c9b9967cc81944d50916a9b9c6c4984\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99e4033d778624992e86f0b6d801a4f6d7b5c0cd5c79c1296be90a051ad5f5af\",\"dweb:/ipfs/QmShYmkUqh6pDEeoWadZ24icmCr4C2Xys1uE5boivPmbwf\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "comptrollerProxy", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "recipient", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "RecipientSetForFund", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getRecipientForFund", - "outputs": [ - { - "internalType": "address", - "name": "recipient_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_recipient", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setRecipientForFund" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "getRecipientForFund(address)": { - "details": "address(0) signifies the VaultProxy owner", - "params": { - "_comptrollerProxy": "The ComptrollerProxy contract for the fund" - }, - "returns": { - "recipient_": "The recipient" - } - }, - "setRecipientForFund(address,address)": { - "params": { - "_comptrollerProxy": "The ComptrollerProxy contract for the fund", - "_recipient": "The fee recipient" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "getRecipientForFund(address)": { - "notice": "Gets the recipient of the fee for a given fund" - }, - "setRecipientForFund(address,address)": { - "notice": "Sets the fee recipient for the given fund" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/test/TestUpdatableFeeRecipientBase.sol": "TestUpdatableFeeRecipientBase" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/dispatcher/IDispatcher.sol": { - "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", - "urls": [ - "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", - "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/external-positions/IExternalPosition.sol": { - "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", - "urls": [ - "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", - "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/protocol-fee-reserve/interfaces/IProtocolFeeReserve1.sol": { - "keccak256": "0x2728878c423db523bc95189137e8c58d2d7db9f56bbd5c6b1f988c08b551fbab", - "urls": [ - "bzz-raw://3b0df1d2eb74151265d03ab91a7c341f7beca475dd2f4d669052dbc4ee2c06ac", - "dweb:/ipfs/QmVx1cgrxQNYfdK1Kn15pcgqf79Uw8bF3U6i7F2HG2rj6G" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/VaultLibBase1.sol": { - "keccak256": "0xa4dac1e4cdb311a2ab187135355357d8790c505ef36dd912c057fe53743d30b5", - "urls": [ - "bzz-raw://b66efe821016ab927c949263023260515e90f5d480dc8d94eefbfeec7bf7490b", - "dweb:/ipfs/QmNY3xKnhL9EptAbxGvXHGAXfV9pj3dDPwsZnKrPs54ZHw" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/VaultLibBase2.sol": { - "keccak256": "0xf7d31f2a9a47770ed3f444be2c4fe9262ddb55fef7f25e546b1f03c9afec4c09", - "urls": [ - "bzz-raw://9353ddce7c9b8b3c13fed23fe8edec99ca610d791b0c5b204b3d01f1f08d07d2", - "dweb:/ipfs/QmeVsEh3joCjv49BRXeHASevnZZ5xdZXpkctHT8BPf37N2" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/VaultLibBaseCore.sol": { - "keccak256": "0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074", - "urls": [ - "bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd", - "dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IExternalPositionVault.sol": { - "keccak256": "0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6", - "urls": [ - "bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d", - "dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol": { - "keccak256": "0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0", - "urls": [ - "bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb", - "dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IMigratableVault.sol": { - "keccak256": "0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238", - "urls": [ - "bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6", - "dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IVaultCore.sol": { - "keccak256": "0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80", - "urls": [ - "bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd", - "dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/utils/ProxiableVaultLib.sol": { - "keccak256": "0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76", - "urls": [ - "bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44", - "dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/utils/SharesTokenBase.sol": { - "keccak256": "0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113", - "urls": [ - "bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8", - "dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/utils/VaultLibSafeMath.sol": { - "keccak256": "0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d", - "urls": [ - "bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02", - "dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund-deployer/IFundDeployer.sol": { - "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", - "urls": [ - "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", - "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/comptroller/ComptrollerLib.sol": { - "keccak256": "0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64", - "urls": [ - "bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579", - "dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/comptroller/IComptroller.sol": { - "keccak256": "0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f", - "urls": [ - "bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97", - "dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/vault/IVault.sol": { - "keccak256": "0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd", - "urls": [ - "bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599", - "dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/vault/VaultLib.sol": { - "keccak256": "0x07e49445ab55c01e1b499a48baadc2a15d1eba621f1c6d3ccfdb84c87b976da8", - "urls": [ - "bzz-raw://56d882459248f73e137db2e097fc56b946147fb28ec21661b77431f88e856cb4", - "dweb:/ipfs/QmRP6Ry7DCS5uoKxnnkTomHSzbaCze6cHqbR9aLdjoF6vK" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/IExtension.sol": { - "keccak256": "0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b", - "urls": [ - "bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70", - "dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/IExternalPositionManager.sol": { - "keccak256": "0x3af3f634e1f99fb97091b7825c0d2e2baaafc124d4e87d56cb0c17ff8554f6c6", - "urls": [ - "bzz-raw://515470605afe5ef147f30fa75ce7818f0e00e3d321eb81a4d9bffcdefc294495", - "dweb:/ipfs/QmPKsp99pfHoz9Tfo3ZxnkmqDqJtN9PxqacF2RmeVfxUJF" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/fee-manager/IFeeManager.sol": { - "keccak256": "0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51", - "urls": [ - "bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22", - "dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/fee-manager/fees/utils/SettableFeeRecipientBase.sol": { - "keccak256": "0xb3b4b3cd13141871c912310ce1dace2e94f89eee7a52b95d4df9e4642a958f4d", - "urls": [ - "bzz-raw://b120324be26eddebb2fd5d15ecdbef4bfc5a5bbd05bd60796677157480842aa1", - "dweb:/ipfs/Qmab9XnYHvG3zWtQaTee24qU7VK94MMLySPkrZqDBbB5NN" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/fee-manager/fees/utils/UpdatableFeeRecipientBase.sol": { - "keccak256": "0xac875e8923b29be8e697be04177b56d3f75d0ef4a56bc0cec2d2583efd802064", - "urls": [ - "bzz-raw://99d359ece6663298f925765b7558beb694bf3dbe3831fc60e016fd37b10d358c", - "dweb:/ipfs/QmduCuit88g1HEb9HxF1aH82Ezx388M5CBLfUfLraKgcfA" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/policy-manager/IPolicyManager.sol": { - "keccak256": "0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32", - "urls": [ - "bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa", - "dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol": { - "keccak256": "0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609", - "urls": [ - "bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f", - "dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol": { - "keccak256": "0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01", - "urls": [ - "bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0", - "dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol": { - "keccak256": "0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196", - "urls": [ - "bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b", - "dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/protocol-fees/IProtocolFeeTracker.sol": { - "keccak256": "0x232b347f83457439064add7369bfe1930c7cb56f15930bb87d640e909c15e447", - "urls": [ - "bzz-raw://24f9af5eebdd373b1d7a598c096eb6def31b2640d54416d7d5a7226e1cef17e6", - "dweb:/ipfs/QmStq9ByGuSYdKwTmZf52L1X6sZVJUfXTnoVbnjLLiUcHG" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol": { - "keccak256": "0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794", - "urls": [ - "bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965", - "dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IGsnForwarder.sol": { - "keccak256": "0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030", - "urls": [ - "bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29", - "dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IGsnPaymaster.sol": { - "keccak256": "0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c", - "urls": [ - "bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4", - "dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IGsnTypes.sol": { - "keccak256": "0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714", - "urls": [ - "bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7", - "dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IWETH.sol": { - "keccak256": "0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2", - "urls": [ - "bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2", - "dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AddressArrayLib.sol": { - "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", - "urls": [ - "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", - "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/beacon-proxy/IBeacon.sol": { - "keccak256": "0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2", - "urls": [ - "bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39", - "dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol": { - "keccak256": "0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc", - "urls": [ - "bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be", - "dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG" - ], - "license": "GPL-3.0" - }, - "contracts/test/TestUpdatableFeeRecipientBase.sol": { - "keccak256": "0xaef46a442e5b188cbcdbdde5f0071f2e09ccd550eeac1247e46ca87098028022", - "urls": [ - "bzz-raw://0e7720fa0231aed48803151b15308e045d00ea01b4531d93972dec044925162f", - "dweb:/ipfs/QmSpLi6oisAS8wvA9cQfsDKdoyreB422SJkp1M1aWnEogb" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20Burnable.sol": { - "keccak256": "0x9c0eb3b0e11d2480d49991dc384f1e5f9c9b9967cc81944d50916a9b9c6c4984", - "urls": [ - "bzz-raw://99e4033d778624992e86f0b6d801a4f6d7b5c0cd5c79c1296be90a051ad5f5af", - "dweb:/ipfs/QmShYmkUqh6pDEeoWadZ24icmCr4C2Xys1uE5boivPmbwf" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { - "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", - "urls": [ - "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", - "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Address.sol": { - "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", - "urls": [ - "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", - "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 377 -} +{ "abi": [ { "type": "function", "name": "getRecipientForFund", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "recipient_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "setRecipientForFund", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" }, { "name": "_recipient", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "event", "name": "RecipientSetForFund", "inputs": [ { "name": "comptrollerProxy", "type": "address", "indexed": true, "internalType": "address" }, { "name": "recipient", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false } ], "bytecode": { "object": "0x608060405234801561001057600080fd5b50610286806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806362780b3c1461003b5780638c55f80f1461007d575b600080fd5b6100616004803603602081101561005157600080fd5b50356001600160a01b03166100ad565b604080516001600160a01b039092168252519081900360200190f35b6100ab6004803603604081101561009357600080fd5b506001600160a01b03813581169160200135166100cb565b005b6001600160a01b039081166000908152602081905260409020541690565b816001600160a01b031663c98091876040518163ffffffff1660e01b815260040160206040518083038186803b15801561010457600080fd5b505afa158015610118573d6000803e3d6000fd5b505050506040513d602081101561012e57600080fd5b505160408051631127a41d60e31b815290516001600160a01b039092169163893d20e891600480820192602092909190829003018186803b15801561017257600080fd5b505afa158015610186573d6000803e3d6000fd5b505050506040513d602081101561019c57600080fd5b50516001600160a01b031633146101e45760405162461bcd60e51b815260040180806020018281038252603081526020018061024a6030913960400191505060405180910390fd5b6101ee82826101f2565b5050565b6001600160a01b0382811660008181526020819052604080822080546001600160a01b0319169486169485179055517fa11fc98cfb391622348acc16de92f0efb77d55f71a6e9fa18bfef387ae8d19ce9190a3505056fe5f5f736574526563697069656e74466f7246756e643a204f6e6c79207661756c74206f776e65722063616c6c61626c65a164736f6c634300060c000a", "sourceMap": "530:72:377:-:0;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c806362780b3c1461003b5780638c55f80f1461007d575b600080fd5b6100616004803603602081101561005157600080fd5b50356001600160a01b03166100ad565b604080516001600160a01b039092168252519081900360200190f35b6100ab6004803603604081101561009357600080fd5b506001600160a01b03813581169160200135166100cb565b005b6001600160a01b039081166000908152602081905260409020541690565b816001600160a01b031663c98091876040518163ffffffff1660e01b815260040160206040518083038186803b15801561010457600080fd5b505afa158015610118573d6000803e3d6000fd5b505050506040513d602081101561012e57600080fd5b505160408051631127a41d60e31b815290516001600160a01b039092169163893d20e891600480820192602092909190829003018186803b15801561017257600080fd5b505afa158015610186573d6000803e3d6000fd5b505050506040513d602081101561019c57600080fd5b50516001600160a01b031633146101e45760405162461bcd60e51b815260040180806020018281038252603081526020018061024a6030913960400191505060405180910390fd5b6101ee82826101f2565b5050565b6001600160a01b0382811660008181526020819052604080822080546001600160a01b0319169486169485179055517fa11fc98cfb391622348acc16de92f0efb77d55f71a6e9fa18bfef387ae8d19ce9190a3505056fe5f5f736574526563697069656e74466f7246756e643a204f6e6c79207661756c74206f776e65722063616c6c61626c65a164736f6c634300060c000a", "sourceMap": "530:72:377:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1258:211:155;;;;;;;;;;;;;;;;-1:-1:-1;1258:211:155;-1:-1:-1;;;;;1258:211:155;;:::i;:::-;;;;-1:-1:-1;;;;;1258:211:155;;;;;;;;;;;;;;883:369:156;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;883:369:156;;;;;;;;;;:::i;:::-;;1258:211:155;-1:-1:-1;;;;;1416:46:155;;;1375:18;1416:46;;;;;;;;;;;;;1258:211::o;883:369:156:-;1061:17;-1:-1:-1;;;;;1046:47:156;;:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1046:49:156;1029:79;;;-1:-1:-1;;;1029:79:156;;;;-1:-1:-1;;;;;1029:77:156;;;;;;:79;;;;;1046:49;;1029:79;;;;;;;;:77;:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1029:79:156;-1:-1:-1;;;;;999:109:156;:10;:109;978:204;;;;-1:-1:-1;;;978:204:156;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1193:52;1215:17;1234:10;1193:21;:52::i;:::-;883:369;;:::o;715:229:155:-;-1:-1:-1;;;;;812:46:155;;;:27;:46;;;;;;;;;;;:59;;-1:-1:-1;;;;;;812:59:155;;;;;;;;;887:50;;;812:27;887:50;715:229;;:::o", "linkReferences": {} }, "methodIdentifiers": { "getRecipientForFund(address)": "62780b3c", "setRecipientForFund(address,address)": "8c55f80f" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"}],\"name\":\"RecipientSetForFund\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"}],\"name\":\"getRecipientForFund\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"recipient_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_recipient\",\"type\":\"address\"}],\"name\":\"setRecipientForFund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"getRecipientForFund(address)\":{\"details\":\"address(0) signifies the VaultProxy owner\",\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy contract for the fund\"},\"returns\":{\"recipient_\":\"The recipient\"}},\"setRecipientForFund(address,address)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy contract for the fund\",\"_recipient\":\"The fee recipient\"}}},\"title\":\"TestUpdatableFeeRecipientBase Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getRecipientForFund(address)\":{\"notice\":\"Gets the recipient of the fee for a given fund\"},\"setRecipientForFund(address,address)\":{\"notice\":\"Sets the fee recipient for the given fund\"}},\"notice\":\"A test implementation of UpdatableFeeRecipientBase\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/test/TestUpdatableFeeRecipientBase.sol\":\"TestUpdatableFeeRecipientBase\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/persistent/protocol-fee-reserve/interfaces/IProtocolFeeReserve1.sol\":{\"keccak256\":\"0x2728878c423db523bc95189137e8c58d2d7db9f56bbd5c6b1f988c08b551fbab\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3b0df1d2eb74151265d03ab91a7c341f7beca475dd2f4d669052dbc4ee2c06ac\",\"dweb:/ipfs/QmVx1cgrxQNYfdK1Kn15pcgqf79Uw8bF3U6i7F2HG2rj6G\"]},\"contracts/persistent/vault/VaultLibBase1.sol\":{\"keccak256\":\"0xa4dac1e4cdb311a2ab187135355357d8790c505ef36dd912c057fe53743d30b5\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b66efe821016ab927c949263023260515e90f5d480dc8d94eefbfeec7bf7490b\",\"dweb:/ipfs/QmNY3xKnhL9EptAbxGvXHGAXfV9pj3dDPwsZnKrPs54ZHw\"]},\"contracts/persistent/vault/VaultLibBase2.sol\":{\"keccak256\":\"0xf7d31f2a9a47770ed3f444be2c4fe9262ddb55fef7f25e546b1f03c9afec4c09\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9353ddce7c9b8b3c13fed23fe8edec99ca610d791b0c5b204b3d01f1f08d07d2\",\"dweb:/ipfs/QmeVsEh3joCjv49BRXeHASevnZZ5xdZXpkctHT8BPf37N2\"]},\"contracts/persistent/vault/VaultLibBaseCore.sol\":{\"keccak256\":\"0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd\",\"dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz\"]},\"contracts/persistent/vault/interfaces/IExternalPositionVault.sol\":{\"keccak256\":\"0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d\",\"dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8\"]},\"contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol\":{\"keccak256\":\"0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb\",\"dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU\"]},\"contracts/persistent/vault/interfaces/IMigratableVault.sol\":{\"keccak256\":\"0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6\",\"dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs\"]},\"contracts/persistent/vault/interfaces/IVaultCore.sol\":{\"keccak256\":\"0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd\",\"dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr\"]},\"contracts/persistent/vault/utils/ProxiableVaultLib.sol\":{\"keccak256\":\"0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44\",\"dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4\"]},\"contracts/persistent/vault/utils/SharesTokenBase.sol\":{\"keccak256\":\"0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8\",\"dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4\"]},\"contracts/persistent/vault/utils/VaultLibSafeMath.sol\":{\"keccak256\":\"0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02\",\"dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG\"]},\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/core/fund/comptroller/ComptrollerLib.sol\":{\"keccak256\":\"0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579\",\"dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq\"]},\"contracts/release/core/fund/comptroller/IComptroller.sol\":{\"keccak256\":\"0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97\",\"dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L\"]},\"contracts/release/core/fund/vault/IVault.sol\":{\"keccak256\":\"0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599\",\"dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG\"]},\"contracts/release/core/fund/vault/VaultLib.sol\":{\"keccak256\":\"0x07e49445ab55c01e1b499a48baadc2a15d1eba621f1c6d3ccfdb84c87b976da8\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://56d882459248f73e137db2e097fc56b946147fb28ec21661b77431f88e856cb4\",\"dweb:/ipfs/QmRP6Ry7DCS5uoKxnnkTomHSzbaCze6cHqbR9aLdjoF6vK\"]},\"contracts/release/extensions/IExtension.sol\":{\"keccak256\":\"0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70\",\"dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t\"]},\"contracts/release/extensions/external-position-manager/IExternalPositionManager.sol\":{\"keccak256\":\"0x3af3f634e1f99fb97091b7825c0d2e2baaafc124d4e87d56cb0c17ff8554f6c6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://515470605afe5ef147f30fa75ce7818f0e00e3d321eb81a4d9bffcdefc294495\",\"dweb:/ipfs/QmPKsp99pfHoz9Tfo3ZxnkmqDqJtN9PxqacF2RmeVfxUJF\"]},\"contracts/release/extensions/fee-manager/IFeeManager.sol\":{\"keccak256\":\"0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22\",\"dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod\"]},\"contracts/release/extensions/fee-manager/fees/utils/SettableFeeRecipientBase.sol\":{\"keccak256\":\"0xb3b4b3cd13141871c912310ce1dace2e94f89eee7a52b95d4df9e4642a958f4d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b120324be26eddebb2fd5d15ecdbef4bfc5a5bbd05bd60796677157480842aa1\",\"dweb:/ipfs/Qmab9XnYHvG3zWtQaTee24qU7VK94MMLySPkrZqDBbB5NN\"]},\"contracts/release/extensions/fee-manager/fees/utils/UpdatableFeeRecipientBase.sol\":{\"keccak256\":\"0xac875e8923b29be8e697be04177b56d3f75d0ef4a56bc0cec2d2583efd802064\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://99d359ece6663298f925765b7558beb694bf3dbe3831fc60e016fd37b10d358c\",\"dweb:/ipfs/QmduCuit88g1HEb9HxF1aH82Ezx388M5CBLfUfLraKgcfA\"]},\"contracts/release/extensions/policy-manager/IPolicyManager.sol\":{\"keccak256\":\"0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa\",\"dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb\"]},\"contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol\":{\"keccak256\":\"0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f\",\"dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol\":{\"keccak256\":\"0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0\",\"dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol\":{\"keccak256\":\"0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b\",\"dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3\"]},\"contracts/release/infrastructure/protocol-fees/IProtocolFeeTracker.sol\":{\"keccak256\":\"0x232b347f83457439064add7369bfe1930c7cb56f15930bb87d640e909c15e447\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://24f9af5eebdd373b1d7a598c096eb6def31b2640d54416d7d5a7226e1cef17e6\",\"dweb:/ipfs/QmStq9ByGuSYdKwTmZf52L1X6sZVJUfXTnoVbnjLLiUcHG\"]},\"contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol\":{\"keccak256\":\"0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965\",\"dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ\"]},\"contracts/release/interfaces/IGsnForwarder.sol\":{\"keccak256\":\"0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29\",\"dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G\"]},\"contracts/release/interfaces/IGsnPaymaster.sol\":{\"keccak256\":\"0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4\",\"dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF\"]},\"contracts/release/interfaces/IGsnTypes.sol\":{\"keccak256\":\"0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7\",\"dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C\"]},\"contracts/release/interfaces/IWETH.sol\":{\"keccak256\":\"0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2\",\"dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/beacon-proxy/IBeacon.sol\":{\"keccak256\":\"0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39\",\"dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V\"]},\"contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol\":{\"keccak256\":\"0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be\",\"dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG\"]},\"contracts/test/TestUpdatableFeeRecipientBase.sol\":{\"keccak256\":\"0xaef46a442e5b188cbcdbdde5f0071f2e09ccd550eeac1247e46ca87098028022\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://0e7720fa0231aed48803151b15308e045d00ea01b4531d93972dec044925162f\",\"dweb:/ipfs/QmSpLi6oisAS8wvA9cQfsDKdoyreB422SJkp1M1aWnEogb\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20Burnable.sol\":{\"keccak256\":\"0x9c0eb3b0e11d2480d49991dc384f1e5f9c9b9967cc81944d50916a9b9c6c4984\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99e4033d778624992e86f0b6d801a4f6d7b5c0cd5c79c1296be90a051ad5f5af\",\"dweb:/ipfs/QmShYmkUqh6pDEeoWadZ24icmCr4C2Xys1uE5boivPmbwf\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "comptrollerProxy", "type": "address", "indexed": true }, { "internalType": "address", "name": "recipient", "type": "address", "indexed": true } ], "type": "event", "name": "RecipientSetForFund", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getRecipientForFund", "outputs": [ { "internalType": "address", "name": "recipient_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" }, { "internalType": "address", "name": "_recipient", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "setRecipientForFund" } ], "devdoc": { "kind": "dev", "methods": { "getRecipientForFund(address)": { "details": "address(0) signifies the VaultProxy owner", "params": { "_comptrollerProxy": "The ComptrollerProxy contract for the fund" }, "returns": { "recipient_": "The recipient" } }, "setRecipientForFund(address,address)": { "params": { "_comptrollerProxy": "The ComptrollerProxy contract for the fund", "_recipient": "The fee recipient" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "getRecipientForFund(address)": { "notice": "Gets the recipient of the fee for a given fund" }, "setRecipientForFund(address,address)": { "notice": "Sets the fee recipient for the given fund" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/test/TestUpdatableFeeRecipientBase.sol": "TestUpdatableFeeRecipientBase" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/dispatcher/IDispatcher.sol": { "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", "urls": [ "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" ], "license": "GPL-3.0" }, "contracts/persistent/external-positions/IExternalPosition.sol": { "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", "urls": [ "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" ], "license": "GPL-3.0" }, "contracts/persistent/protocol-fee-reserve/interfaces/IProtocolFeeReserve1.sol": { "keccak256": "0x2728878c423db523bc95189137e8c58d2d7db9f56bbd5c6b1f988c08b551fbab", "urls": [ "bzz-raw://3b0df1d2eb74151265d03ab91a7c341f7beca475dd2f4d669052dbc4ee2c06ac", "dweb:/ipfs/QmVx1cgrxQNYfdK1Kn15pcgqf79Uw8bF3U6i7F2HG2rj6G" ], "license": "GPL-3.0" }, "contracts/persistent/vault/VaultLibBase1.sol": { "keccak256": "0xa4dac1e4cdb311a2ab187135355357d8790c505ef36dd912c057fe53743d30b5", "urls": [ "bzz-raw://b66efe821016ab927c949263023260515e90f5d480dc8d94eefbfeec7bf7490b", "dweb:/ipfs/QmNY3xKnhL9EptAbxGvXHGAXfV9pj3dDPwsZnKrPs54ZHw" ], "license": "GPL-3.0" }, "contracts/persistent/vault/VaultLibBase2.sol": { "keccak256": "0xf7d31f2a9a47770ed3f444be2c4fe9262ddb55fef7f25e546b1f03c9afec4c09", "urls": [ "bzz-raw://9353ddce7c9b8b3c13fed23fe8edec99ca610d791b0c5b204b3d01f1f08d07d2", "dweb:/ipfs/QmeVsEh3joCjv49BRXeHASevnZZ5xdZXpkctHT8BPf37N2" ], "license": "GPL-3.0" }, "contracts/persistent/vault/VaultLibBaseCore.sol": { "keccak256": "0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074", "urls": [ "bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd", "dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IExternalPositionVault.sol": { "keccak256": "0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6", "urls": [ "bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d", "dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol": { "keccak256": "0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0", "urls": [ "bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb", "dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IMigratableVault.sol": { "keccak256": "0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238", "urls": [ "bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6", "dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IVaultCore.sol": { "keccak256": "0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80", "urls": [ "bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd", "dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr" ], "license": "GPL-3.0" }, "contracts/persistent/vault/utils/ProxiableVaultLib.sol": { "keccak256": "0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76", "urls": [ "bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44", "dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4" ], "license": "GPL-3.0" }, "contracts/persistent/vault/utils/SharesTokenBase.sol": { "keccak256": "0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113", "urls": [ "bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8", "dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4" ], "license": "GPL-3.0" }, "contracts/persistent/vault/utils/VaultLibSafeMath.sol": { "keccak256": "0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d", "urls": [ "bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02", "dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG" ], "license": "GPL-3.0" }, "contracts/release/core/fund-deployer/IFundDeployer.sol": { "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", "urls": [ "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" ], "license": "GPL-3.0" }, "contracts/release/core/fund/comptroller/ComptrollerLib.sol": { "keccak256": "0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64", "urls": [ "bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579", "dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq" ], "license": "GPL-3.0" }, "contracts/release/core/fund/comptroller/IComptroller.sol": { "keccak256": "0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f", "urls": [ "bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97", "dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L" ], "license": "GPL-3.0" }, "contracts/release/core/fund/vault/IVault.sol": { "keccak256": "0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd", "urls": [ "bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599", "dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG" ], "license": "GPL-3.0" }, "contracts/release/core/fund/vault/VaultLib.sol": { "keccak256": "0x07e49445ab55c01e1b499a48baadc2a15d1eba621f1c6d3ccfdb84c87b976da8", "urls": [ "bzz-raw://56d882459248f73e137db2e097fc56b946147fb28ec21661b77431f88e856cb4", "dweb:/ipfs/QmRP6Ry7DCS5uoKxnnkTomHSzbaCze6cHqbR9aLdjoF6vK" ], "license": "GPL-3.0" }, "contracts/release/extensions/IExtension.sol": { "keccak256": "0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b", "urls": [ "bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70", "dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/IExternalPositionManager.sol": { "keccak256": "0x3af3f634e1f99fb97091b7825c0d2e2baaafc124d4e87d56cb0c17ff8554f6c6", "urls": [ "bzz-raw://515470605afe5ef147f30fa75ce7818f0e00e3d321eb81a4d9bffcdefc294495", "dweb:/ipfs/QmPKsp99pfHoz9Tfo3ZxnkmqDqJtN9PxqacF2RmeVfxUJF" ], "license": "GPL-3.0" }, "contracts/release/extensions/fee-manager/IFeeManager.sol": { "keccak256": "0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51", "urls": [ "bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22", "dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod" ], "license": "GPL-3.0" }, "contracts/release/extensions/fee-manager/fees/utils/SettableFeeRecipientBase.sol": { "keccak256": "0xb3b4b3cd13141871c912310ce1dace2e94f89eee7a52b95d4df9e4642a958f4d", "urls": [ "bzz-raw://b120324be26eddebb2fd5d15ecdbef4bfc5a5bbd05bd60796677157480842aa1", "dweb:/ipfs/Qmab9XnYHvG3zWtQaTee24qU7VK94MMLySPkrZqDBbB5NN" ], "license": "GPL-3.0" }, "contracts/release/extensions/fee-manager/fees/utils/UpdatableFeeRecipientBase.sol": { "keccak256": "0xac875e8923b29be8e697be04177b56d3f75d0ef4a56bc0cec2d2583efd802064", "urls": [ "bzz-raw://99d359ece6663298f925765b7558beb694bf3dbe3831fc60e016fd37b10d358c", "dweb:/ipfs/QmduCuit88g1HEb9HxF1aH82Ezx388M5CBLfUfLraKgcfA" ], "license": "GPL-3.0" }, "contracts/release/extensions/policy-manager/IPolicyManager.sol": { "keccak256": "0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32", "urls": [ "bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa", "dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol": { "keccak256": "0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609", "urls": [ "bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f", "dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol": { "keccak256": "0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01", "urls": [ "bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0", "dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol": { "keccak256": "0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196", "urls": [ "bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b", "dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/protocol-fees/IProtocolFeeTracker.sol": { "keccak256": "0x232b347f83457439064add7369bfe1930c7cb56f15930bb87d640e909c15e447", "urls": [ "bzz-raw://24f9af5eebdd373b1d7a598c096eb6def31b2640d54416d7d5a7226e1cef17e6", "dweb:/ipfs/QmStq9ByGuSYdKwTmZf52L1X6sZVJUfXTnoVbnjLLiUcHG" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol": { "keccak256": "0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794", "urls": [ "bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965", "dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IGsnForwarder.sol": { "keccak256": "0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030", "urls": [ "bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29", "dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IGsnPaymaster.sol": { "keccak256": "0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c", "urls": [ "bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4", "dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IGsnTypes.sol": { "keccak256": "0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714", "urls": [ "bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7", "dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IWETH.sol": { "keccak256": "0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2", "urls": [ "bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2", "dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ" ], "license": "GPL-3.0" }, "contracts/release/utils/AddressArrayLib.sol": { "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", "urls": [ "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" ], "license": "GPL-3.0" }, "contracts/release/utils/beacon-proxy/IBeacon.sol": { "keccak256": "0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2", "urls": [ "bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39", "dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V" ], "license": "GPL-3.0" }, "contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol": { "keccak256": "0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc", "urls": [ "bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be", "dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG" ], "license": "GPL-3.0" }, "contracts/test/TestUpdatableFeeRecipientBase.sol": { "keccak256": "0xaef46a442e5b188cbcdbdde5f0071f2e09ccd550eeac1247e46ca87098028022", "urls": [ "bzz-raw://0e7720fa0231aed48803151b15308e045d00ea01b4531d93972dec044925162f", "dweb:/ipfs/QmSpLi6oisAS8wvA9cQfsDKdoyreB422SJkp1M1aWnEogb" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20Burnable.sol": { "keccak256": "0x9c0eb3b0e11d2480d49991dc384f1e5f9c9b9967cc81944d50916a9b9c6c4984", "urls": [ "bzz-raw://99e4033d778624992e86f0b6d801a4f6d7b5c0cd5c79c1296be90a051ad5f5af", "dweb:/ipfs/QmShYmkUqh6pDEeoWadZ24icmCr4C2Xys1uE5boivPmbwf" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", "urls": [ "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Address.sol": { "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", "urls": [ "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" } }, "version": 1 }, "id": 377 } diff --git a/eth_defi/abi/enzyme/TheGraphDelegationPositionDataDecoder.json b/eth_defi/abi/enzyme/TheGraphDelegationPositionDataDecoder.json index 8f2b3583..75991fbe 100644 --- a/eth_defi/abi/enzyme/TheGraphDelegationPositionDataDecoder.json +++ b/eth_defi/abi/enzyme/TheGraphDelegationPositionDataDecoder.json @@ -1,78 +1 @@ -{ - "abi": [], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": {}, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"TheGraphDelegationPositionDataDecoder Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Abstract contract containing data decodings for TheGraphDelegationPosition payloads\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/the-graph-delegation/TheGraphDelegationPositionDataDecoder.sol\":\"TheGraphDelegationPositionDataDecoder\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/external-position-manager/external-positions/the-graph-delegation/TheGraphDelegationPositionDataDecoder.sol\":{\"keccak256\":\"0xd7197b02930730c30cc8b4e33bb62e1d89cda0bc43981c4ecfa30e5a5f6bd7b9\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://0b06b66a39501e58e3decd9447c672ff525c9c872fe6468fc076c1f104582763\",\"dweb:/ipfs/QmPeQyvtbwB2SVjJwzmaXX42nAu2mFUyfprfcR9eHkMcGt\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/external-position-manager/external-positions/the-graph-delegation/TheGraphDelegationPositionDataDecoder.sol": "TheGraphDelegationPositionDataDecoder" - }, - "libraries": {} - }, - "sources": { - "contracts/release/extensions/external-position-manager/external-positions/the-graph-delegation/TheGraphDelegationPositionDataDecoder.sol": { - "keccak256": "0xd7197b02930730c30cc8b4e33bb62e1d89cda0bc43981c4ecfa30e5a5f6bd7b9", - "urls": [ - "bzz-raw://0b06b66a39501e58e3decd9447c672ff525c9c872fe6468fc076c1f104582763", - "dweb:/ipfs/QmPeQyvtbwB2SVjJwzmaXX42nAu2mFUyfprfcR9eHkMcGt" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 139 -} +{ "abi": [], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": {}, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"TheGraphDelegationPositionDataDecoder Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Abstract contract containing data decodings for TheGraphDelegationPosition payloads\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/the-graph-delegation/TheGraphDelegationPositionDataDecoder.sol\":\"TheGraphDelegationPositionDataDecoder\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/external-position-manager/external-positions/the-graph-delegation/TheGraphDelegationPositionDataDecoder.sol\":{\"keccak256\":\"0xd7197b02930730c30cc8b4e33bb62e1d89cda0bc43981c4ecfa30e5a5f6bd7b9\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://0b06b66a39501e58e3decd9447c672ff525c9c872fe6468fc076c1f104582763\",\"dweb:/ipfs/QmPeQyvtbwB2SVjJwzmaXX42nAu2mFUyfprfcR9eHkMcGt\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/external-position-manager/external-positions/the-graph-delegation/TheGraphDelegationPositionDataDecoder.sol": "TheGraphDelegationPositionDataDecoder" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/extensions/external-position-manager/external-positions/the-graph-delegation/TheGraphDelegationPositionDataDecoder.sol": { "keccak256": "0xd7197b02930730c30cc8b4e33bb62e1d89cda0bc43981c4ecfa30e5a5f6bd7b9", "urls": [ "bzz-raw://0b06b66a39501e58e3decd9447c672ff525c9c872fe6468fc076c1f104582763", "dweb:/ipfs/QmPeQyvtbwB2SVjJwzmaXX42nAu2mFUyfprfcR9eHkMcGt" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 139 } diff --git a/eth_defi/abi/enzyme/TheGraphDelegationPositionLib.json b/eth_defi/abi/enzyme/TheGraphDelegationPositionLib.json index 173a539b..f1bf4400 100644 --- a/eth_defi/abi/enzyme/TheGraphDelegationPositionLib.json +++ b/eth_defi/abi/enzyme/TheGraphDelegationPositionLib.json @@ -1,605 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_stakingProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_grtToken", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "indexer", - "type": "address" - } - ], - "name": "IndexerAdded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "indexer", - "type": "address" - } - ], - "name": "IndexerRemoved", - "type": "event" - }, - { - "inputs": [], - "name": "getDebtAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "assets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "amounts_", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_indexer", - "type": "address" - } - ], - "name": "getDelegationGrtValue", - "outputs": [ - { - "internalType": "uint256", - "name": "grtValue_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getIndexers", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getManagedAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "assets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "amounts_", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "init", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_indexer", - "type": "address" - } - ], - "name": "isDelegatorTo", - "outputs": [ - { - "internalType": "bool", - "name": "isDelegator_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - } - ], - "name": "receiveCallFromVault", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x60c060405234801561001057600080fd5b506040516116003803806116008339818101604052604081101561003357600080fd5b5080516020909101516001600160601b0319606092831b8116608052911b1660a05260805160601c60a05160601c61154b6100b560003980610364528061058f5280610c4f5280610cd75280610ee35280610f8452508061038652806103b752806104935280610ad35280610b8b5280610d165280610ded525061154b6000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c806380daddb81161005b57806380daddb81461019c578063e5c23a971461023d578063ecd658b4146102e3578063f3b60567146102eb5761007d565b80634682b645146100825780634ddf47d4146100bc5780635d0e651714610164575b600080fd5b6100a86004803603602081101561009857600080fd5b50356001600160a01b0316610343565b604080519115158252519081900360200190f35b610162600480360360208110156100d257600080fd5b8101906020810181356401000000008111156100ed57600080fd5b8201836020820111156100ff57600080fd5b8035906020019184600183028401116401000000008311171561012157600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610357945050505050565b005b61018a6004803603602081101561017a57600080fd5b50356001600160a01b03166103b0565b60408051918252519081900360200190f35b6101a461054f565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156101e85781810151838201526020016101d0565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561022757818101518382015260200161020f565b5050505090500194505050505060405180910390f35b6101626004803603602081101561025357600080fd5b81019060208101813564010000000081111561026e57600080fd5b82018360208201111561028057600080fd5b803590602001918460018302840111640100000000831117156102a257600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955061066c945050505050565b6101a46107c2565b6102f36107c8565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561032f578181015183820152602001610317565b505050509050019250505060405180910390f35b600061034f818361082a565b90505b919050565b6103ad6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000167f0000000000000000000000000000000000000000000000000000000000000000600019610884565b50565b60008060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166315049a5a85306040518363ffffffff1660e01b815260040180836001600160a01b03168152602001826001600160a01b031681526020019250505060606040518083038186803b15801561043357600080fd5b505afa158015610447573d6000803e3d6000fd5b505050506040513d606081101561045d57600080fd5b508051602090910151604080516392511c8f60e01b81526001600160a01b038881166004830152915193955091935060009283927f0000000000000000000000000000000000000000000000000000000000000000909216916392511c8f9160248083019260c0929190829003018186803b1580156104db57600080fd5b505afa1580156104ef573d6000803e3d6000fd5b505050506040513d60c081101561050557600080fd5b50608081015160a090910151909250905083156105455761053a836105348361052e8887610997565b906109f7565b90610a5e565b945050505050610352565b5090949350505050565b606080606061055c6107c8565b80519091508061056d575050610668565b60408051600180825281830190925290602080830190803683370190505093507f0000000000000000000000000000000000000000000000000000000000000000846000815181106105bb57fe5b6001600160a01b039290921660209283029190910182015260408051600180825281830190925291828101908036833701905050925060005b8181101561066457600061061a84838151811061060d57fe5b60200260200101516103b0565b9050610643818660008151811061062d57fe5b6020026020010151610a5e90919063ffffffff16565b8560008151811061065057fe5b6020908102919091010152506001016105f4565b5050505b9091565b6000606082806020019051604081101561068557600080fd5b8151602083018051604051929492938301929190846401000000008211156106ac57600080fd5b9083019060208201858111156106c157600080fd5b82516401000000008111828201881017156106db57600080fd5b82525081516020918201929091019080838360005b838110156107085781810151838201526020016106f0565b50505050905090810190601f1680156107355780820380516001836020036101000a031916815260200191505b50604052505050915091506000600281111561074d57fe5b8214156107625761075d81610ab8565b6107bd565b60018214156107745761075d81610b79565b60028214156107865761075d81610d04565b60405162461bcd60e51b81526004018080602001828103825260268152602001806114986026913960400191505060405180910390fd5b505050565b60608091565b6060600080548060200260200160405190810160405280929190818152602001828054801561082057602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610802575b5050505050905090565b8154600090815b818110156108775784818154811061084557fe5b6000918252602090912001546001600160a01b038581169116141561086f5760019250505061087e565b600101610831565b5060009150505b92915050565b80158061090a575060408051636eb1769f60e11b81523060048201526001600160a01b03848116602483015291519185169163dd62ed3e91604480820192602092909190829003018186803b1580156108dc57600080fd5b505afa1580156108f0573d6000803e3d6000fd5b505050506040513d602081101561090657600080fd5b5051155b6109455760405162461bcd60e51b81526004018080602001828103825260368152602001806115096036913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526107bd908490610fab565b6000826109a65750600061087e565b828202828482816109b357fe5b04146109f05760405162461bcd60e51b81526004018080602001828103825260218152602001806114be6021913960400191505060405180910390fd5b9392505050565b6000808211610a4d576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b818381610a5657fe5b049392505050565b6000828201838110156109f0576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600080610ac48361105c565b91509150610ad182611087565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663026e402b83836040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015610b4857600080fd5b505af1158015610b5c573d6000803e3d6000fd5b505050506040513d6020811015610b7257600080fd5b5050505050565b600080610b858361105c565b915091507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316634d99dd1683836040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015610c0057600080fd5b505af1158015610c14573d6000803e3d6000fd5b505050506040513d6020811015610c2a57600080fd5b5050604080516370a0823160e01b815230600482015290516000916001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016916370a0823191602480820192602092909190829003018186803b158015610c9657600080fd5b505afa158015610caa573d6000803e3d6000fd5b505050506040513d6020811015610cc057600080fd5b505190508015610cfe57610cfe6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016338361110a565b50505050565b600080610d108361105c565b915091507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166351a60b0283836040518363ffffffff1660e01b815260040180836001600160a01b03168152602001826001600160a01b0316815260200192505050602060405180830381600087803b158015610d9457600080fd5b505af1158015610da8573d6000803e3d6000fd5b505050506040513d6020811015610dbe57600080fd5b505060408051630a824d2d60e11b81526001600160a01b038481166004830152306024830152915160009283927f0000000000000000000000000000000000000000000000000000000000000000909116916315049a5a91604480820192606092909190829003018186803b158015610e3657600080fd5b505afa158015610e4a573d6000803e3d6000fd5b505050506040513d6060811015610e6057600080fd5b508051602090910151909250905081158015610e7a575080155b15610ec057610e8a60008561115c565b506040516001600160a01b038516907fc2311cd5b528d092b51bcba1ab9da737e9f7062ee61ab27aac6693ec84a0e64390600090a25b6001600160a01b03831615610edd57610ed883611087565b610b72565b610b72337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610f4e57600080fd5b505afa158015610f62573d6000803e3d6000fd5b505050506040513d6020811015610f7857600080fd5b50516001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016919061110a565b6060611000826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166112549092919063ffffffff16565b8051909150156107bd5780806020019051602081101561101f57600080fd5b50516107bd5760405162461bcd60e51b815260040180806020018281038252602a8152602001806114df602a913960400191505060405180910390fd5b60008082806020019051604081101561107457600080fd5b5080516020909101519092509050915091565b61109081610343565b6103ad57600080546001810182558180527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630180546001600160a01b0319166001600160a01b03841690811790915560405190917fc858d0245daa67035a21710c35419a4f810d8ac380aae2ac337683b4a957cbe891a250565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526107bd908490610fab565b8154600090815b8181101561124c57836001600160a01b031685828154811061118157fe5b6000918252602090912001546001600160a01b03161415611244576001820381101561120f578460018303815481106111b657fe5b9060005260206000200160009054906101000a90046001600160a01b03168582815481106111e057fe5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055505b8480548061121957fe5b600082815260209020810160001990810180546001600160a01b03191690550190556001925061124c565b600101611163565b505092915050565b6060611263848460008561126b565b949350505050565b6060824710156112ac5760405162461bcd60e51b81526004018080602001828103825260268152602001806114726026913960400191505060405180910390fd5b6112b5856113c7565b611306576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b602083106113455780518252601f199092019160209182019101611326565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146113a7576040519150601f19603f3d011682016040523d82523d6000602084013e6113ac565b606091505b50915091506113bc8282866113cd565b979650505050505050565b3b151590565b606083156113dc5750816109f0565b8251156113ec5782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561143657818101518382015260200161141e565b50505050905090810190601f1680156114635780820380516001836020036101000a031916815260200191505b509250505060405180910390fdfe416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c7265636569766543616c6c46726f6d5661756c743a20496e76616c696420616374696f6e4964536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e6365a164736f6c634300060c000a", - "sourceMap": "921:6148:140:-:0;;;1301:181;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1301:181:140;;;;;;;-1:-1:-1;;;;;;1372:56:140;;;;;;;;1438:37;;;;;921:6148;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b506004361061007d5760003560e01c806380daddb81161005b57806380daddb81461019c578063e5c23a971461023d578063ecd658b4146102e3578063f3b60567146102eb5761007d565b80634682b645146100825780634ddf47d4146100bc5780635d0e651714610164575b600080fd5b6100a86004803603602081101561009857600080fd5b50356001600160a01b0316610343565b604080519115158252519081900360200190f35b610162600480360360208110156100d257600080fd5b8101906020810181356401000000008111156100ed57600080fd5b8201836020820111156100ff57600080fd5b8035906020019184600183028401116401000000008311171561012157600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610357945050505050565b005b61018a6004803603602081101561017a57600080fd5b50356001600160a01b03166103b0565b60408051918252519081900360200190f35b6101a461054f565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156101e85781810151838201526020016101d0565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561022757818101518382015260200161020f565b5050505090500194505050505060405180910390f35b6101626004803603602081101561025357600080fd5b81019060208101813564010000000081111561026e57600080fd5b82018360208201111561028057600080fd5b803590602001918460018302840111640100000000831117156102a257600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955061066c945050505050565b6101a46107c2565b6102f36107c8565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561032f578181015183820152602001610317565b505050509050019250505060405180910390f35b600061034f818361082a565b90505b919050565b6103ad6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000167f0000000000000000000000000000000000000000000000000000000000000000600019610884565b50565b60008060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166315049a5a85306040518363ffffffff1660e01b815260040180836001600160a01b03168152602001826001600160a01b031681526020019250505060606040518083038186803b15801561043357600080fd5b505afa158015610447573d6000803e3d6000fd5b505050506040513d606081101561045d57600080fd5b508051602090910151604080516392511c8f60e01b81526001600160a01b038881166004830152915193955091935060009283927f0000000000000000000000000000000000000000000000000000000000000000909216916392511c8f9160248083019260c0929190829003018186803b1580156104db57600080fd5b505afa1580156104ef573d6000803e3d6000fd5b505050506040513d60c081101561050557600080fd5b50608081015160a090910151909250905083156105455761053a836105348361052e8887610997565b906109f7565b90610a5e565b945050505050610352565b5090949350505050565b606080606061055c6107c8565b80519091508061056d575050610668565b60408051600180825281830190925290602080830190803683370190505093507f0000000000000000000000000000000000000000000000000000000000000000846000815181106105bb57fe5b6001600160a01b039290921660209283029190910182015260408051600180825281830190925291828101908036833701905050925060005b8181101561066457600061061a84838151811061060d57fe5b60200260200101516103b0565b9050610643818660008151811061062d57fe5b6020026020010151610a5e90919063ffffffff16565b8560008151811061065057fe5b6020908102919091010152506001016105f4565b5050505b9091565b6000606082806020019051604081101561068557600080fd5b8151602083018051604051929492938301929190846401000000008211156106ac57600080fd5b9083019060208201858111156106c157600080fd5b82516401000000008111828201881017156106db57600080fd5b82525081516020918201929091019080838360005b838110156107085781810151838201526020016106f0565b50505050905090810190601f1680156107355780820380516001836020036101000a031916815260200191505b50604052505050915091506000600281111561074d57fe5b8214156107625761075d81610ab8565b6107bd565b60018214156107745761075d81610b79565b60028214156107865761075d81610d04565b60405162461bcd60e51b81526004018080602001828103825260268152602001806114986026913960400191505060405180910390fd5b505050565b60608091565b6060600080548060200260200160405190810160405280929190818152602001828054801561082057602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610802575b5050505050905090565b8154600090815b818110156108775784818154811061084557fe5b6000918252602090912001546001600160a01b038581169116141561086f5760019250505061087e565b600101610831565b5060009150505b92915050565b80158061090a575060408051636eb1769f60e11b81523060048201526001600160a01b03848116602483015291519185169163dd62ed3e91604480820192602092909190829003018186803b1580156108dc57600080fd5b505afa1580156108f0573d6000803e3d6000fd5b505050506040513d602081101561090657600080fd5b5051155b6109455760405162461bcd60e51b81526004018080602001828103825260368152602001806115096036913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526107bd908490610fab565b6000826109a65750600061087e565b828202828482816109b357fe5b04146109f05760405162461bcd60e51b81526004018080602001828103825260218152602001806114be6021913960400191505060405180910390fd5b9392505050565b6000808211610a4d576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b818381610a5657fe5b049392505050565b6000828201838110156109f0576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600080610ac48361105c565b91509150610ad182611087565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663026e402b83836040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015610b4857600080fd5b505af1158015610b5c573d6000803e3d6000fd5b505050506040513d6020811015610b7257600080fd5b5050505050565b600080610b858361105c565b915091507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316634d99dd1683836040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015610c0057600080fd5b505af1158015610c14573d6000803e3d6000fd5b505050506040513d6020811015610c2a57600080fd5b5050604080516370a0823160e01b815230600482015290516000916001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016916370a0823191602480820192602092909190829003018186803b158015610c9657600080fd5b505afa158015610caa573d6000803e3d6000fd5b505050506040513d6020811015610cc057600080fd5b505190508015610cfe57610cfe6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016338361110a565b50505050565b600080610d108361105c565b915091507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166351a60b0283836040518363ffffffff1660e01b815260040180836001600160a01b03168152602001826001600160a01b0316815260200192505050602060405180830381600087803b158015610d9457600080fd5b505af1158015610da8573d6000803e3d6000fd5b505050506040513d6020811015610dbe57600080fd5b505060408051630a824d2d60e11b81526001600160a01b038481166004830152306024830152915160009283927f0000000000000000000000000000000000000000000000000000000000000000909116916315049a5a91604480820192606092909190829003018186803b158015610e3657600080fd5b505afa158015610e4a573d6000803e3d6000fd5b505050506040513d6060811015610e6057600080fd5b508051602090910151909250905081158015610e7a575080155b15610ec057610e8a60008561115c565b506040516001600160a01b038516907fc2311cd5b528d092b51bcba1ab9da737e9f7062ee61ab27aac6693ec84a0e64390600090a25b6001600160a01b03831615610edd57610ed883611087565b610b72565b610b72337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610f4e57600080fd5b505afa158015610f62573d6000803e3d6000fd5b505050506040513d6020811015610f7857600080fd5b50516001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016919061110a565b6060611000826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166112549092919063ffffffff16565b8051909150156107bd5780806020019051602081101561101f57600080fd5b50516107bd5760405162461bcd60e51b815260040180806020018281038252602a8152602001806114df602a913960400191505060405180910390fd5b60008082806020019051604081101561107457600080fd5b5080516020909101519092509050915091565b61109081610343565b6103ad57600080546001810182558180527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630180546001600160a01b0319166001600160a01b03841690811790915560405190917fc858d0245daa67035a21710c35419a4f810d8ac380aae2ac337683b4a957cbe891a250565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526107bd908490610fab565b8154600090815b8181101561124c57836001600160a01b031685828154811061118157fe5b6000918252602090912001546001600160a01b03161415611244576001820381101561120f578460018303815481106111b657fe5b9060005260206000200160009054906101000a90046001600160a01b03168582815481106111e057fe5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055505b8480548061121957fe5b600082815260209020810160001990810180546001600160a01b03191690550190556001925061124c565b600101611163565b505092915050565b6060611263848460008561126b565b949350505050565b6060824710156112ac5760405162461bcd60e51b81526004018080602001828103825260268152602001806114726026913960400191505060405180910390fd5b6112b5856113c7565b611306576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b602083106113455780518252601f199092019160209182019101611326565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146113a7576040519150601f19603f3d011682016040523d82523d6000602084013e6113ac565b606091505b50915091506113bc8282866113cd565b979650505050505050565b3b151590565b606083156113dc5750816109f0565b8251156113ec5782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561143657818101518382015260200161141e565b50505050905090810190601f1680156114635780820380516001836020036101000a031916815260200191505b509250505060405180910390fdfe416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c7265636569766543616c6c46726f6d5661756c743a20496e76616c696420616374696f6e4964536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e6365a164736f6c634300060c000a", - "sourceMap": "921:6148:140:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6923:144;;;;;;;;;;;;;;;;-1:-1:-1;6923:144:140;-1:-1:-1;;;;;6923:144:140;;:::i;:::-;;;;;;;;;;;;;;;;;;1538:231;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1538:231:140;;-1:-1:-1;1538:231:140;;-1:-1:-1;;;;;1538:231:140:i;:::-;;5883:549;;;;;;;;;;;;;;;;-1:-1:-1;5883:549:140;-1:-1:-1;;;;;5883:549:140;;:::i;:::-;;;;;;;;;;;;;;;;5010:692;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1897:553;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1897:553:140;;-1:-1:-1;1897:553:140;;-1:-1:-1;;;;;1897:553:140:i;4655:176::-;;;:::i;6646:94::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6923:144;6985:17;7021:39;6985:17;7051:8;7021:29;:39::i;:::-;7014:46;;6923:144;;;;:::o;1538:231::-;1680:82;-1:-1:-1;;;;;1680:18:140;:30;1719:22;-1:-1:-1;;1680:30:140;:82::i;:::-;1538:231;:::o;5883:549::-;5953:17;5983:24;6009:20;6035:22;-1:-1:-1;;;;;6035:36:140;;6085:8;6115:4;6035:95;;;;;;;;;;;;;-1:-1:-1;;;;;6035:95:140;;;;;;-1:-1:-1;;;;;6035:95:140;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6035:95:140;;;;;;;;6192:70;;-1:-1:-1;;;6192:70:140;;-1:-1:-1;;;;;6192:70:140;;;;;;;;;6035:95;;-1:-1:-1;6035:95:140;;-1:-1:-1;;;;;6192:22:140;:38;;;;;;:70;;;;;;;;;;;;;;:38;:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6192:70:140;;;;;;;;;;;-1:-1:-1;6192:70:140;-1:-1:-1;6277:20:140;;6273:124;;6320:66;6373:12;6320:48;6357:10;6320:32;:16;6341:10;6320:20;:32::i;:::-;:36;;:48::i;:::-;:52;;:66::i;:::-;6313:73;;;;;;;;6273:124;-1:-1:-1;6413:12:140;;5883:549;-1:-1:-1;;;;5883:549:140:o;5010:692::-;5089:24;5115:25;5156;5184:13;:11;:13::i;:::-;5232:15;;5156:41;;-1:-1:-1;5261:19:140;5257:76;;5296:26;;;;5257:76;5353:16;;;5367:1;5353:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5353:16:140;5343:26;;5400:18;5379:7;5387:1;5379:10;;;;;;;;-1:-1:-1;;;;;5379:40:140;;;;:10;;;;;;;;;;:40;5441:16;;;5455:1;5441:16;;;;;;;;;;;;;;5379:10;5441:16;;;;;-1:-1:-1;5441:16:140;5430:27;;5472:9;5467:192;5487:14;5483:1;:18;5467:192;;;5522:26;5551:34;5573:8;5582:1;5573:11;;;;;;;;;;;;;;5551:21;:34::i;:::-;5522:63;;5613:35;5629:18;5613:8;5622:1;5613:11;;;;;;;;;;;;;;:15;;:35;;;;:::i;:::-;5599:8;5608:1;5599:11;;;;;;;;;;;;;;;;;:49;-1:-1:-1;5503:3:140;;5467:192;;;;5669:26;;5010:692;;;:::o;1897:553::-;1982:16;2000:23;2038:11;2027:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2027:41:140;;;;;;;;;;-1:-1:-1;2027:41:140;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1981:87;;;;2103:16;2095:25;;;;;;;;2083:8;:37;2079:365;;;2136:22;2147:10;2136;:22::i;:::-;2079:365;;;2199:18;2179:8;:39;2175:269;;;2234:24;2247:10;2234:12;:24::i;2175:269::-;2299:16;2279:8;:37;2275:169;;;2332:22;2343:10;2332;:22::i;2275:169::-;2385:48;;-1:-1:-1;;;2385:48:140;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2275:169;1897:553;;;:::o;4655:176::-;4731:24;4757:25;4655:176;:::o;6646:94::-;6690:16;6725:8;6718:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6718:15:140;;;;;;;;;;;;;;;;;;;;;;;6646:94;:::o;1167:351:354:-;1339:12;;1286:17;;;1361:129;1381:9;1377:1;:13;1361:129;;;1426:5;1432:1;1426:8;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1415:19:354;;;1426:8;;1415:19;1411:69;;;1461:4;1454:11;;;;;;1411:69;1392:3;;1361:129;;;;1506:5;1499:12;;;1167:351;;;;;:::o;1348:613:450:-;1713:10;;;1712:62;;-1:-1:-1;1729:39:450;;;-1:-1:-1;;;1729:39:450;;1753:4;1729:39;;;;-1:-1:-1;;;;;1729:39:450;;;;;;;;;:15;;;;;;:39;;;;;;;;;;;;;;;:15;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1729:39:450;:44;1712:62;1704:150;;;;-1:-1:-1;;;1704:150:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1891:62;;;-1:-1:-1;;;;;1891:62:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1891:62:450;-1:-1:-1;;;1891:62:450;;;1864:90;;1884:5;;1864:19;:90::i;3538:215:442:-;3596:7;3619:6;3615:20;;-1:-1:-1;3634:1:442;3627:8;;3615:20;3657:5;;;3661:1;3657;:5;:1;3680:5;;;;;:10;3672:56;;;;-1:-1:-1;;;3672:56:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3745:1;3538:215;-1:-1:-1;;;3538:215:442:o;4217:150::-;4275:7;4306:1;4302;:5;4294:44;;;;;-1:-1:-1;;;4294:44:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;4359:1;4355;:5;;;;;;;4217:150;-1:-1:-1;;;4217:150:442:o;2690:175::-;2748:7;2779:5;;;2802:6;;;;2794:46;;;;;-1:-1:-1;;;2794:46:442;;;;;;;;;;;;;;;;;;;;;;;;;;;2515:235:140;2580:15;2597:14;2615:39;2642:11;2615:26;:39::i;:::-;2579:75;;;;2664:21;2677:7;2664:12;:21::i;:::-;2695:22;-1:-1:-1;;;;;2695:31:140;;2727:7;2736:6;2695:48;;;;;;;;;;;;;-1:-1:-1;;;;;2695:48:140;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2515:235:140:o;2794:393::-;2861:15;2878:14;2896:41;2925:11;2896:28;:41::i;:::-;2860:77;;;;2947:22;-1:-1:-1;;;;;2947:33:140;;2981:7;2990:6;2947:50;;;;;;;;;;;;;-1:-1:-1;;;;;2947:50:140;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3028:43:140;;;-1:-1:-1;;;3028:43:140;;3065:4;3028:43;;;;;;3007:18;;-1:-1:-1;;;;;3028:18:140;:28;;;;:43;;;;;2947:50;;3028:43;;;;;;;;:28;:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3028:43:140;;-1:-1:-1;3085:14:140;;3081:100;;3115:55;-1:-1:-1;;;;;3115:18:140;:31;3147:10;3159;3115:31;:55::i;:::-;2794:393;;;;:::o;3255:930::-;3320:15;3337:19;3360:39;3387:11;3360:26;:39::i;:::-;3319:80;;;;3409:22;-1:-1:-1;;;;;3409:40:140;;3450:7;3459:11;3409:62;;;;;;;;;;;;;-1:-1:-1;;;;;3409:62:140;;;;;;-1:-1:-1;;;;;3409:62:140;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3534:94:140;;;-1:-1:-1;;;3534:94:140;;-1:-1:-1;;;;;3534:94:140;;;;;;;3613:4;3534:94;;;;;;-1:-1:-1;;;;3534:22:140;:36;;;;;;:94;;;;;;;;;;;;;;;:36;:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3534:94:140;;;;;;;;;-1:-1:-1;3534:94:140;-1:-1:-1;3717:21:140;;:42;;;;-1:-1:-1;3742:17:140;;3717:42;3713:150;;;3775:35;:8;3802:7;3775:26;:35::i;:::-;-1:-1:-1;3829:23:140;;-1:-1:-1;;;;;3829:23:140;;;;;;;;3713:150;-1:-1:-1;;;;;3937:25:140;;;3933:246;;3978:25;3991:11;3978:12;:25::i;:::-;3933:246;;;4034:134;4083:10;4111:18;-1:-1:-1;;;;;4111:28:140;;4148:4;4111:43;;;;;;;;;;;;;-1:-1:-1;;;;;4111:43:140;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4111:43:140;-1:-1:-1;;;;;4034:18:140;:31;;:134;:31;:134::i;2967:751:450:-;3386:23;3412:69;3440:4;3412:69;;;;;;;;;;;;;;;;;3420:5;-1:-1:-1;;;;;3412:27:450;;;:69;;;;;:::i;:::-;3495:17;;3386:95;;-1:-1:-1;3495:21:450;3491:221;;3635:10;3624:30;;;;;;;;;;;;;;;-1:-1:-1;3624:30:450;3616:85;;;;-1:-1:-1;;;3616:85:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;648:215:139;757:16;775:15;824:11;813:43;;;;;;;;;;;;;;;-1:-1:-1;813:43:139;;;;;;;;;-1:-1:-1;813:43:139;-1:-1:-1;648:215:139;;;:::o;4226:183:140:-;4289:23;4303:8;4289:13;:23::i;:::-;4284:119;;4328:8;:23;;;;;;;;;;;;;;-1:-1:-1;;;;;;4328:23:140;-1:-1:-1;;;;;4328:23:140;;;;;;;;4370:22;;4328:23;;4370:22;;;4226:183;:::o;704:175:450:-;813:58;;;-1:-1:-1;;;;;813:58:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;813:58:450;-1:-1:-1;;;813:58:450;;;786:86;;806:5;;786:19;:86::i;569:515:354:-;727:12;;678:13;;;749:303;769:9;765:1;:13;749:303;;;815:13;-1:-1:-1;;;;;803:25:354;:5;809:1;803:8;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;803:8:354;:25;799:243;;;868:1;856:9;:13;852:1;:17;848:95;;;904:5;922:1;910:9;:13;904:20;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;904:20:354;893:5;899:1;893:8;;;;;;;;;;;;;;;;:31;;;;;-1:-1:-1;;;;;893:31:354;;;;;-1:-1:-1;;;;;893:31:354;;;;;;848:95;960:5;:11;;;;;;;;;;;;;;;;-1:-1:-1;;960:11:354;;;;;-1:-1:-1;;;;;;960:11:354;;;;;;;;-1:-1:-1;1022:5:354;;799:243;780:3;;749:303;;;;1062:15;569:515;;;;:::o;3581:193:451:-;3684:12;3715:52;3737:6;3745:4;3751:1;3754:12;3715:21;:52::i;:::-;3708:59;3581:193;-1:-1:-1;;;;3581:193:451:o;4608:523::-;4735:12;4792:5;4767:21;:30;;4759:81;;;;-1:-1:-1;;;4759:81:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4858:18;4869:6;4858:10;:18::i;:::-;4850:60;;;;;-1:-1:-1;;;4850:60:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;4981:12;4995:23;5022:6;-1:-1:-1;;;;;5022:11:451;5042:5;5050:4;5022:33;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5022:33:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4980:75;;;;5072:52;5090:7;5099:10;5111:12;5072:17;:52::i;:::-;5065:59;4608:523;-1:-1:-1;;;;;;;4608:523:451:o;726:413::-;1086:20;1124:8;;;726:413::o;7091:725::-;7206:12;7234:7;7230:580;;;-1:-1:-1;7264:10:451;7257:17;;7230:580;7375:17;;:21;7371:429;;7633:10;7627:17;7693:15;7680:10;7676:2;7672:19;7665:44;7582:145;7772:12;7765:20;;-1:-1:-1;;;7765:20:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;", - "linkReferences": {}, - "immutableReferences": { - "36953": [ - { - "start": 902, - "length": 32 - }, - { - "start": 951, - "length": 32 - }, - { - "start": 1171, - "length": 32 - }, - { - "start": 2771, - "length": 32 - }, - { - "start": 2955, - "length": 32 - }, - { - "start": 3350, - "length": 32 - }, - { - "start": 3565, - "length": 32 - } - ], - "36955": [ - { - "start": 868, - "length": 32 - }, - { - "start": 1423, - "length": 32 - }, - { - "start": 3151, - "length": 32 - }, - { - "start": 3287, - "length": 32 - }, - { - "start": 3811, - "length": 32 - }, - { - "start": 3972, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "getDebtAssets()": "ecd658b4", - "getDelegationGrtValue(address)": "5d0e6517", - "getIndexers()": "f3b60567", - "getManagedAssets()": "80daddb8", - "init(bytes)": "4ddf47d4", - "isDelegatorTo(address)": "4682b645", - "receiveCallFromVault(bytes)": "e5c23a97" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_stakingProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_grtToken\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"indexer\",\"type\":\"address\"}],\"name\":\"IndexerAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"indexer\",\"type\":\"address\"}],\"name\":\"IndexerRemoved\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"getDebtAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"assets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_indexer\",\"type\":\"address\"}],\"name\":\"getDelegationGrtValue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"grtValue_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getIndexers\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getManagedAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"assets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_indexer\",\"type\":\"address\"}],\"name\":\"isDelegatorTo\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isDelegator_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"}],\"name\":\"receiveCallFromVault\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"getDebtAssets()\":{\"returns\":{\"amounts_\":\"Debt asset amounts\",\"assets_\":\"Debt assets\"}},\"getDelegationGrtValue(address)\":{\"details\":\"Returns the delegated + undelegated grtValue of a delegation\",\"params\":{\"_indexer\":\"Address of the indexer\"},\"returns\":{\"grtValue_\":\"GRT value of the delegation\"}},\"getIndexers()\":{\"details\":\"Returns the array of indexers the delegator has delegated to\",\"returns\":{\"_0\":\"indexers_ The array of indexers delegated to\"}},\"getManagedAssets()\":{\"returns\":{\"amounts_\":\"Managed asset amounts\",\"assets_\":\"Managed assets\"}},\"isDelegatorTo(address)\":{\"details\":\"Return whether the delegator has delegated to the indexer.\",\"params\":{\"_indexer\":\"Address of the indexer\"},\"returns\":{\"isDelegator_\":\"True if delegator of indexer\"}},\"receiveCallFromVault(bytes)\":{\"params\":{\"_actionData\":\"Encoded data to execute the action\"}}},\"title\":\"TheGraphDelegationPositionLib Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getDebtAssets()\":{\"notice\":\"Retrieves the debt assets (negative value) of the external position\"},\"getManagedAssets()\":{\"notice\":\"Retrieves the managed assets (positive value) of the external position\"},\"init(bytes)\":{\"notice\":\"Initializes the external position\"},\"receiveCallFromVault(bytes)\":{\"notice\":\"Receives and executes a call from the Vault\"}},\"notice\":\"Library contract for Convex vlCVX positions\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/the-graph-delegation/TheGraphDelegationPositionLib.sol\":\"TheGraphDelegationPositionLib\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/persistent/external-positions/the-graph-delegation/TheGraphDelegationPositionLibBase1.sol\":{\"keccak256\":\"0x0b86382089c180d325fa0af6f21194d58fa7b0089cb12fc135c009a280541ae0\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1d216e8bf303fbd7a570d49c5aa9e1cd9f2aef27ef6abb9a8258fde42038549b\",\"dweb:/ipfs/QmbrFJoEjBe7eEDUGM34VySE5VQnQwHzZ1rfEvo5qa4kq2\"]},\"contracts/release/extensions/external-position-manager/external-positions/the-graph-delegation/ITheGraphDelegationPosition.sol\":{\"keccak256\":\"0xf84f115648356acfbe30c99a2bf68ac418c399da8cdc70735ef080036a5ea412\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://4f8603ad119f92c6ed7a953a61ecf02e7a3499b915995e63302c80b4c6ee2f89\",\"dweb:/ipfs/QmcCs6xqLHndv9FbK2pHEK6YKGVui43HYonQPnyx3HqaCP\"]},\"contracts/release/extensions/external-position-manager/external-positions/the-graph-delegation/TheGraphDelegationPositionDataDecoder.sol\":{\"keccak256\":\"0xd7197b02930730c30cc8b4e33bb62e1d89cda0bc43981c4ecfa30e5a5f6bd7b9\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://0b06b66a39501e58e3decd9447c672ff525c9c872fe6468fc076c1f104582763\",\"dweb:/ipfs/QmPeQyvtbwB2SVjJwzmaXX42nAu2mFUyfprfcR9eHkMcGt\"]},\"contracts/release/extensions/external-position-manager/external-positions/the-graph-delegation/TheGraphDelegationPositionLib.sol\":{\"keccak256\":\"0x880d01b3833abe391fe3129d8bfb3ec0c492f6ea80bb11473cd1344ffa99f083\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6a2cc3c3a620556be942423e56782bc71f478e32078889075e9b9390667e99b4\",\"dweb:/ipfs/QmRqVx9oa6sXwJUjq2xoeiX15JyKTu25HmiA15ER1yQYgR\"]},\"contracts/release/interfaces/ITheGraphStaking.sol\":{\"keccak256\":\"0x5354672fdc2e5f8f71e8958dc42ee9f512b3ba083116c07b0c2d76b6b29180e1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://15aff2ea5c3168fa0ae337b596ca1f0f8d82b987ffa3c861f0451758c648d36b\",\"dweb:/ipfs/QmUYQGbukE2yxJK15jHdjWw3fpMYBV5z5WyubgpmpYjrog\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_stakingProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_grtToken", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "indexer", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "IndexerAdded", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "indexer", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "IndexerRemoved", - "anonymous": false - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "getDebtAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "assets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "amounts_", - "type": "uint256[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_indexer", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getDelegationGrtValue", - "outputs": [ - { - "internalType": "uint256", - "name": "grtValue_", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getIndexers", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - } - ] - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "getManagedAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "assets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "amounts_", - "type": "uint256[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "init" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_indexer", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "isDelegatorTo", - "outputs": [ - { - "internalType": "bool", - "name": "isDelegator_", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "receiveCallFromVault" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "getDebtAssets()": { - "returns": { - "amounts_": "Debt asset amounts", - "assets_": "Debt assets" - } - }, - "getDelegationGrtValue(address)": { - "details": "Returns the delegated + undelegated grtValue of a delegation", - "params": { - "_indexer": "Address of the indexer" - }, - "returns": { - "grtValue_": "GRT value of the delegation" - } - }, - "getIndexers()": { - "details": "Returns the array of indexers the delegator has delegated to", - "returns": { - "_0": "indexers_ The array of indexers delegated to" - } - }, - "getManagedAssets()": { - "returns": { - "amounts_": "Managed asset amounts", - "assets_": "Managed assets" - } - }, - "isDelegatorTo(address)": { - "details": "Return whether the delegator has delegated to the indexer.", - "params": { - "_indexer": "Address of the indexer" - }, - "returns": { - "isDelegator_": "True if delegator of indexer" - } - }, - "receiveCallFromVault(bytes)": { - "params": { - "_actionData": "Encoded data to execute the action" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "getDebtAssets()": { - "notice": "Retrieves the debt assets (negative value) of the external position" - }, - "getManagedAssets()": { - "notice": "Retrieves the managed assets (positive value) of the external position" - }, - "init(bytes)": { - "notice": "Initializes the external position" - }, - "receiveCallFromVault(bytes)": { - "notice": "Receives and executes a call from the Vault" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/external-position-manager/external-positions/the-graph-delegation/TheGraphDelegationPositionLib.sol": "TheGraphDelegationPositionLib" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/external-positions/IExternalPosition.sol": { - "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", - "urls": [ - "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", - "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/external-positions/the-graph-delegation/TheGraphDelegationPositionLibBase1.sol": { - "keccak256": "0x0b86382089c180d325fa0af6f21194d58fa7b0089cb12fc135c009a280541ae0", - "urls": [ - "bzz-raw://1d216e8bf303fbd7a570d49c5aa9e1cd9f2aef27ef6abb9a8258fde42038549b", - "dweb:/ipfs/QmbrFJoEjBe7eEDUGM34VySE5VQnQwHzZ1rfEvo5qa4kq2" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/the-graph-delegation/ITheGraphDelegationPosition.sol": { - "keccak256": "0xf84f115648356acfbe30c99a2bf68ac418c399da8cdc70735ef080036a5ea412", - "urls": [ - "bzz-raw://4f8603ad119f92c6ed7a953a61ecf02e7a3499b915995e63302c80b4c6ee2f89", - "dweb:/ipfs/QmcCs6xqLHndv9FbK2pHEK6YKGVui43HYonQPnyx3HqaCP" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/the-graph-delegation/TheGraphDelegationPositionDataDecoder.sol": { - "keccak256": "0xd7197b02930730c30cc8b4e33bb62e1d89cda0bc43981c4ecfa30e5a5f6bd7b9", - "urls": [ - "bzz-raw://0b06b66a39501e58e3decd9447c672ff525c9c872fe6468fc076c1f104582763", - "dweb:/ipfs/QmPeQyvtbwB2SVjJwzmaXX42nAu2mFUyfprfcR9eHkMcGt" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/the-graph-delegation/TheGraphDelegationPositionLib.sol": { - "keccak256": "0x880d01b3833abe391fe3129d8bfb3ec0c492f6ea80bb11473cd1344ffa99f083", - "urls": [ - "bzz-raw://6a2cc3c3a620556be942423e56782bc71f478e32078889075e9b9390667e99b4", - "dweb:/ipfs/QmRqVx9oa6sXwJUjq2xoeiX15JyKTu25HmiA15ER1yQYgR" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/ITheGraphStaking.sol": { - "keccak256": "0x5354672fdc2e5f8f71e8958dc42ee9f512b3ba083116c07b0c2d76b6b29180e1", - "urls": [ - "bzz-raw://15aff2ea5c3168fa0ae337b596ca1f0f8d82b987ffa3c861f0451758c648d36b", - "dweb:/ipfs/QmUYQGbukE2yxJK15jHdjWw3fpMYBV5z5WyubgpmpYjrog" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AddressArrayLib.sol": { - "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", - "urls": [ - "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", - "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { - "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", - "urls": [ - "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", - "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Address.sol": { - "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", - "urls": [ - "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", - "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 140 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_stakingProxy", "type": "address", "internalType": "address" }, { "name": "_grtToken", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "getDebtAssets", "inputs": [], "outputs": [ { "name": "assets_", "type": "address[]", "internalType": "address[]" }, { "name": "amounts_", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "getDelegationGrtValue", "inputs": [ { "name": "_indexer", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "grtValue_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "getIndexers", "inputs": [], "outputs": [ { "name": "", "type": "address[]", "internalType": "address[]" } ], "stateMutability": "view" }, { "type": "function", "name": "getManagedAssets", "inputs": [], "outputs": [ { "name": "assets_", "type": "address[]", "internalType": "address[]" }, { "name": "amounts_", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "init", "inputs": [ { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "isDelegatorTo", "inputs": [ { "name": "_indexer", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "isDelegator_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "receiveCallFromVault", "inputs": [ { "name": "_actionData", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "event", "name": "IndexerAdded", "inputs": [ { "name": "indexer", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "IndexerRemoved", "inputs": [ { "name": "indexer", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false } ], "bytecode": { "object": "0x60c060405234801561001057600080fd5b506040516116003803806116008339818101604052604081101561003357600080fd5b5080516020909101516001600160601b0319606092831b8116608052911b1660a05260805160601c60a05160601c61154b6100b560003980610364528061058f5280610c4f5280610cd75280610ee35280610f8452508061038652806103b752806104935280610ad35280610b8b5280610d165280610ded525061154b6000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c806380daddb81161005b57806380daddb81461019c578063e5c23a971461023d578063ecd658b4146102e3578063f3b60567146102eb5761007d565b80634682b645146100825780634ddf47d4146100bc5780635d0e651714610164575b600080fd5b6100a86004803603602081101561009857600080fd5b50356001600160a01b0316610343565b604080519115158252519081900360200190f35b610162600480360360208110156100d257600080fd5b8101906020810181356401000000008111156100ed57600080fd5b8201836020820111156100ff57600080fd5b8035906020019184600183028401116401000000008311171561012157600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610357945050505050565b005b61018a6004803603602081101561017a57600080fd5b50356001600160a01b03166103b0565b60408051918252519081900360200190f35b6101a461054f565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156101e85781810151838201526020016101d0565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561022757818101518382015260200161020f565b5050505090500194505050505060405180910390f35b6101626004803603602081101561025357600080fd5b81019060208101813564010000000081111561026e57600080fd5b82018360208201111561028057600080fd5b803590602001918460018302840111640100000000831117156102a257600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955061066c945050505050565b6101a46107c2565b6102f36107c8565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561032f578181015183820152602001610317565b505050509050019250505060405180910390f35b600061034f818361082a565b90505b919050565b6103ad6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000167f0000000000000000000000000000000000000000000000000000000000000000600019610884565b50565b60008060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166315049a5a85306040518363ffffffff1660e01b815260040180836001600160a01b03168152602001826001600160a01b031681526020019250505060606040518083038186803b15801561043357600080fd5b505afa158015610447573d6000803e3d6000fd5b505050506040513d606081101561045d57600080fd5b508051602090910151604080516392511c8f60e01b81526001600160a01b038881166004830152915193955091935060009283927f0000000000000000000000000000000000000000000000000000000000000000909216916392511c8f9160248083019260c0929190829003018186803b1580156104db57600080fd5b505afa1580156104ef573d6000803e3d6000fd5b505050506040513d60c081101561050557600080fd5b50608081015160a090910151909250905083156105455761053a836105348361052e8887610997565b906109f7565b90610a5e565b945050505050610352565b5090949350505050565b606080606061055c6107c8565b80519091508061056d575050610668565b60408051600180825281830190925290602080830190803683370190505093507f0000000000000000000000000000000000000000000000000000000000000000846000815181106105bb57fe5b6001600160a01b039290921660209283029190910182015260408051600180825281830190925291828101908036833701905050925060005b8181101561066457600061061a84838151811061060d57fe5b60200260200101516103b0565b9050610643818660008151811061062d57fe5b6020026020010151610a5e90919063ffffffff16565b8560008151811061065057fe5b6020908102919091010152506001016105f4565b5050505b9091565b6000606082806020019051604081101561068557600080fd5b8151602083018051604051929492938301929190846401000000008211156106ac57600080fd5b9083019060208201858111156106c157600080fd5b82516401000000008111828201881017156106db57600080fd5b82525081516020918201929091019080838360005b838110156107085781810151838201526020016106f0565b50505050905090810190601f1680156107355780820380516001836020036101000a031916815260200191505b50604052505050915091506000600281111561074d57fe5b8214156107625761075d81610ab8565b6107bd565b60018214156107745761075d81610b79565b60028214156107865761075d81610d04565b60405162461bcd60e51b81526004018080602001828103825260268152602001806114986026913960400191505060405180910390fd5b505050565b60608091565b6060600080548060200260200160405190810160405280929190818152602001828054801561082057602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610802575b5050505050905090565b8154600090815b818110156108775784818154811061084557fe5b6000918252602090912001546001600160a01b038581169116141561086f5760019250505061087e565b600101610831565b5060009150505b92915050565b80158061090a575060408051636eb1769f60e11b81523060048201526001600160a01b03848116602483015291519185169163dd62ed3e91604480820192602092909190829003018186803b1580156108dc57600080fd5b505afa1580156108f0573d6000803e3d6000fd5b505050506040513d602081101561090657600080fd5b5051155b6109455760405162461bcd60e51b81526004018080602001828103825260368152602001806115096036913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526107bd908490610fab565b6000826109a65750600061087e565b828202828482816109b357fe5b04146109f05760405162461bcd60e51b81526004018080602001828103825260218152602001806114be6021913960400191505060405180910390fd5b9392505050565b6000808211610a4d576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b818381610a5657fe5b049392505050565b6000828201838110156109f0576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600080610ac48361105c565b91509150610ad182611087565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663026e402b83836040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015610b4857600080fd5b505af1158015610b5c573d6000803e3d6000fd5b505050506040513d6020811015610b7257600080fd5b5050505050565b600080610b858361105c565b915091507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316634d99dd1683836040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015610c0057600080fd5b505af1158015610c14573d6000803e3d6000fd5b505050506040513d6020811015610c2a57600080fd5b5050604080516370a0823160e01b815230600482015290516000916001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016916370a0823191602480820192602092909190829003018186803b158015610c9657600080fd5b505afa158015610caa573d6000803e3d6000fd5b505050506040513d6020811015610cc057600080fd5b505190508015610cfe57610cfe6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016338361110a565b50505050565b600080610d108361105c565b915091507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166351a60b0283836040518363ffffffff1660e01b815260040180836001600160a01b03168152602001826001600160a01b0316815260200192505050602060405180830381600087803b158015610d9457600080fd5b505af1158015610da8573d6000803e3d6000fd5b505050506040513d6020811015610dbe57600080fd5b505060408051630a824d2d60e11b81526001600160a01b038481166004830152306024830152915160009283927f0000000000000000000000000000000000000000000000000000000000000000909116916315049a5a91604480820192606092909190829003018186803b158015610e3657600080fd5b505afa158015610e4a573d6000803e3d6000fd5b505050506040513d6060811015610e6057600080fd5b508051602090910151909250905081158015610e7a575080155b15610ec057610e8a60008561115c565b506040516001600160a01b038516907fc2311cd5b528d092b51bcba1ab9da737e9f7062ee61ab27aac6693ec84a0e64390600090a25b6001600160a01b03831615610edd57610ed883611087565b610b72565b610b72337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610f4e57600080fd5b505afa158015610f62573d6000803e3d6000fd5b505050506040513d6020811015610f7857600080fd5b50516001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016919061110a565b6060611000826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166112549092919063ffffffff16565b8051909150156107bd5780806020019051602081101561101f57600080fd5b50516107bd5760405162461bcd60e51b815260040180806020018281038252602a8152602001806114df602a913960400191505060405180910390fd5b60008082806020019051604081101561107457600080fd5b5080516020909101519092509050915091565b61109081610343565b6103ad57600080546001810182558180527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630180546001600160a01b0319166001600160a01b03841690811790915560405190917fc858d0245daa67035a21710c35419a4f810d8ac380aae2ac337683b4a957cbe891a250565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526107bd908490610fab565b8154600090815b8181101561124c57836001600160a01b031685828154811061118157fe5b6000918252602090912001546001600160a01b03161415611244576001820381101561120f578460018303815481106111b657fe5b9060005260206000200160009054906101000a90046001600160a01b03168582815481106111e057fe5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055505b8480548061121957fe5b600082815260209020810160001990810180546001600160a01b03191690550190556001925061124c565b600101611163565b505092915050565b6060611263848460008561126b565b949350505050565b6060824710156112ac5760405162461bcd60e51b81526004018080602001828103825260268152602001806114726026913960400191505060405180910390fd5b6112b5856113c7565b611306576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b602083106113455780518252601f199092019160209182019101611326565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146113a7576040519150601f19603f3d011682016040523d82523d6000602084013e6113ac565b606091505b50915091506113bc8282866113cd565b979650505050505050565b3b151590565b606083156113dc5750816109f0565b8251156113ec5782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561143657818101518382015260200161141e565b50505050905090810190601f1680156114635780820380516001836020036101000a031916815260200191505b509250505060405180910390fdfe416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c7265636569766543616c6c46726f6d5661756c743a20496e76616c696420616374696f6e4964536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e6365a164736f6c634300060c000a", "sourceMap": "921:6148:140:-:0;;;1301:181;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1301:181:140;;;;;;;-1:-1:-1;;;;;;1372:56:140;;;;;;;;1438:37;;;;;921:6148;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b506004361061007d5760003560e01c806380daddb81161005b57806380daddb81461019c578063e5c23a971461023d578063ecd658b4146102e3578063f3b60567146102eb5761007d565b80634682b645146100825780634ddf47d4146100bc5780635d0e651714610164575b600080fd5b6100a86004803603602081101561009857600080fd5b50356001600160a01b0316610343565b604080519115158252519081900360200190f35b610162600480360360208110156100d257600080fd5b8101906020810181356401000000008111156100ed57600080fd5b8201836020820111156100ff57600080fd5b8035906020019184600183028401116401000000008311171561012157600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610357945050505050565b005b61018a6004803603602081101561017a57600080fd5b50356001600160a01b03166103b0565b60408051918252519081900360200190f35b6101a461054f565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156101e85781810151838201526020016101d0565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561022757818101518382015260200161020f565b5050505090500194505050505060405180910390f35b6101626004803603602081101561025357600080fd5b81019060208101813564010000000081111561026e57600080fd5b82018360208201111561028057600080fd5b803590602001918460018302840111640100000000831117156102a257600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955061066c945050505050565b6101a46107c2565b6102f36107c8565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561032f578181015183820152602001610317565b505050509050019250505060405180910390f35b600061034f818361082a565b90505b919050565b6103ad6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000167f0000000000000000000000000000000000000000000000000000000000000000600019610884565b50565b60008060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166315049a5a85306040518363ffffffff1660e01b815260040180836001600160a01b03168152602001826001600160a01b031681526020019250505060606040518083038186803b15801561043357600080fd5b505afa158015610447573d6000803e3d6000fd5b505050506040513d606081101561045d57600080fd5b508051602090910151604080516392511c8f60e01b81526001600160a01b038881166004830152915193955091935060009283927f0000000000000000000000000000000000000000000000000000000000000000909216916392511c8f9160248083019260c0929190829003018186803b1580156104db57600080fd5b505afa1580156104ef573d6000803e3d6000fd5b505050506040513d60c081101561050557600080fd5b50608081015160a090910151909250905083156105455761053a836105348361052e8887610997565b906109f7565b90610a5e565b945050505050610352565b5090949350505050565b606080606061055c6107c8565b80519091508061056d575050610668565b60408051600180825281830190925290602080830190803683370190505093507f0000000000000000000000000000000000000000000000000000000000000000846000815181106105bb57fe5b6001600160a01b039290921660209283029190910182015260408051600180825281830190925291828101908036833701905050925060005b8181101561066457600061061a84838151811061060d57fe5b60200260200101516103b0565b9050610643818660008151811061062d57fe5b6020026020010151610a5e90919063ffffffff16565b8560008151811061065057fe5b6020908102919091010152506001016105f4565b5050505b9091565b6000606082806020019051604081101561068557600080fd5b8151602083018051604051929492938301929190846401000000008211156106ac57600080fd5b9083019060208201858111156106c157600080fd5b82516401000000008111828201881017156106db57600080fd5b82525081516020918201929091019080838360005b838110156107085781810151838201526020016106f0565b50505050905090810190601f1680156107355780820380516001836020036101000a031916815260200191505b50604052505050915091506000600281111561074d57fe5b8214156107625761075d81610ab8565b6107bd565b60018214156107745761075d81610b79565b60028214156107865761075d81610d04565b60405162461bcd60e51b81526004018080602001828103825260268152602001806114986026913960400191505060405180910390fd5b505050565b60608091565b6060600080548060200260200160405190810160405280929190818152602001828054801561082057602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610802575b5050505050905090565b8154600090815b818110156108775784818154811061084557fe5b6000918252602090912001546001600160a01b038581169116141561086f5760019250505061087e565b600101610831565b5060009150505b92915050565b80158061090a575060408051636eb1769f60e11b81523060048201526001600160a01b03848116602483015291519185169163dd62ed3e91604480820192602092909190829003018186803b1580156108dc57600080fd5b505afa1580156108f0573d6000803e3d6000fd5b505050506040513d602081101561090657600080fd5b5051155b6109455760405162461bcd60e51b81526004018080602001828103825260368152602001806115096036913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526107bd908490610fab565b6000826109a65750600061087e565b828202828482816109b357fe5b04146109f05760405162461bcd60e51b81526004018080602001828103825260218152602001806114be6021913960400191505060405180910390fd5b9392505050565b6000808211610a4d576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b818381610a5657fe5b049392505050565b6000828201838110156109f0576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600080610ac48361105c565b91509150610ad182611087565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663026e402b83836040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015610b4857600080fd5b505af1158015610b5c573d6000803e3d6000fd5b505050506040513d6020811015610b7257600080fd5b5050505050565b600080610b858361105c565b915091507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316634d99dd1683836040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015610c0057600080fd5b505af1158015610c14573d6000803e3d6000fd5b505050506040513d6020811015610c2a57600080fd5b5050604080516370a0823160e01b815230600482015290516000916001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016916370a0823191602480820192602092909190829003018186803b158015610c9657600080fd5b505afa158015610caa573d6000803e3d6000fd5b505050506040513d6020811015610cc057600080fd5b505190508015610cfe57610cfe6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016338361110a565b50505050565b600080610d108361105c565b915091507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166351a60b0283836040518363ffffffff1660e01b815260040180836001600160a01b03168152602001826001600160a01b0316815260200192505050602060405180830381600087803b158015610d9457600080fd5b505af1158015610da8573d6000803e3d6000fd5b505050506040513d6020811015610dbe57600080fd5b505060408051630a824d2d60e11b81526001600160a01b038481166004830152306024830152915160009283927f0000000000000000000000000000000000000000000000000000000000000000909116916315049a5a91604480820192606092909190829003018186803b158015610e3657600080fd5b505afa158015610e4a573d6000803e3d6000fd5b505050506040513d6060811015610e6057600080fd5b508051602090910151909250905081158015610e7a575080155b15610ec057610e8a60008561115c565b506040516001600160a01b038516907fc2311cd5b528d092b51bcba1ab9da737e9f7062ee61ab27aac6693ec84a0e64390600090a25b6001600160a01b03831615610edd57610ed883611087565b610b72565b610b72337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610f4e57600080fd5b505afa158015610f62573d6000803e3d6000fd5b505050506040513d6020811015610f7857600080fd5b50516001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016919061110a565b6060611000826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166112549092919063ffffffff16565b8051909150156107bd5780806020019051602081101561101f57600080fd5b50516107bd5760405162461bcd60e51b815260040180806020018281038252602a8152602001806114df602a913960400191505060405180910390fd5b60008082806020019051604081101561107457600080fd5b5080516020909101519092509050915091565b61109081610343565b6103ad57600080546001810182558180527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630180546001600160a01b0319166001600160a01b03841690811790915560405190917fc858d0245daa67035a21710c35419a4f810d8ac380aae2ac337683b4a957cbe891a250565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526107bd908490610fab565b8154600090815b8181101561124c57836001600160a01b031685828154811061118157fe5b6000918252602090912001546001600160a01b03161415611244576001820381101561120f578460018303815481106111b657fe5b9060005260206000200160009054906101000a90046001600160a01b03168582815481106111e057fe5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055505b8480548061121957fe5b600082815260209020810160001990810180546001600160a01b03191690550190556001925061124c565b600101611163565b505092915050565b6060611263848460008561126b565b949350505050565b6060824710156112ac5760405162461bcd60e51b81526004018080602001828103825260268152602001806114726026913960400191505060405180910390fd5b6112b5856113c7565b611306576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b602083106113455780518252601f199092019160209182019101611326565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146113a7576040519150601f19603f3d011682016040523d82523d6000602084013e6113ac565b606091505b50915091506113bc8282866113cd565b979650505050505050565b3b151590565b606083156113dc5750816109f0565b8251156113ec5782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561143657818101518382015260200161141e565b50505050905090810190601f1680156114635780820380516001836020036101000a031916815260200191505b509250505060405180910390fdfe416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c7265636569766543616c6c46726f6d5661756c743a20496e76616c696420616374696f6e4964536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e6365a164736f6c634300060c000a", "sourceMap": "921:6148:140:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6923:144;;;;;;;;;;;;;;;;-1:-1:-1;6923:144:140;-1:-1:-1;;;;;6923:144:140;;:::i;:::-;;;;;;;;;;;;;;;;;;1538:231;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1538:231:140;;-1:-1:-1;1538:231:140;;-1:-1:-1;;;;;1538:231:140:i;:::-;;5883:549;;;;;;;;;;;;;;;;-1:-1:-1;5883:549:140;-1:-1:-1;;;;;5883:549:140;;:::i;:::-;;;;;;;;;;;;;;;;5010:692;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1897:553;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1897:553:140;;-1:-1:-1;1897:553:140;;-1:-1:-1;;;;;1897:553:140:i;4655:176::-;;;:::i;6646:94::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6923:144;6985:17;7021:39;6985:17;7051:8;7021:29;:39::i;:::-;7014:46;;6923:144;;;;:::o;1538:231::-;1680:82;-1:-1:-1;;;;;1680:18:140;:30;1719:22;-1:-1:-1;;1680:30:140;:82::i;:::-;1538:231;:::o;5883:549::-;5953:17;5983:24;6009:20;6035:22;-1:-1:-1;;;;;6035:36:140;;6085:8;6115:4;6035:95;;;;;;;;;;;;;-1:-1:-1;;;;;6035:95:140;;;;;;-1:-1:-1;;;;;6035:95:140;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6035:95:140;;;;;;;;6192:70;;-1:-1:-1;;;6192:70:140;;-1:-1:-1;;;;;6192:70:140;;;;;;;;;6035:95;;-1:-1:-1;6035:95:140;;-1:-1:-1;;;;;6192:22:140;:38;;;;;;:70;;;;;;;;;;;;;;:38;:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6192:70:140;;;;;;;;;;;-1:-1:-1;6192:70:140;-1:-1:-1;6277:20:140;;6273:124;;6320:66;6373:12;6320:48;6357:10;6320:32;:16;6341:10;6320:20;:32::i;:::-;:36;;:48::i;:::-;:52;;:66::i;:::-;6313:73;;;;;;;;6273:124;-1:-1:-1;6413:12:140;;5883:549;-1:-1:-1;;;;5883:549:140:o;5010:692::-;5089:24;5115:25;5156;5184:13;:11;:13::i;:::-;5232:15;;5156:41;;-1:-1:-1;5261:19:140;5257:76;;5296:26;;;;5257:76;5353:16;;;5367:1;5353:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5353:16:140;5343:26;;5400:18;5379:7;5387:1;5379:10;;;;;;;;-1:-1:-1;;;;;5379:40:140;;;;:10;;;;;;;;;;:40;5441:16;;;5455:1;5441:16;;;;;;;;;;;;;;5379:10;5441:16;;;;;-1:-1:-1;5441:16:140;5430:27;;5472:9;5467:192;5487:14;5483:1;:18;5467:192;;;5522:26;5551:34;5573:8;5582:1;5573:11;;;;;;;;;;;;;;5551:21;:34::i;:::-;5522:63;;5613:35;5629:18;5613:8;5622:1;5613:11;;;;;;;;;;;;;;:15;;:35;;;;:::i;:::-;5599:8;5608:1;5599:11;;;;;;;;;;;;;;;;;:49;-1:-1:-1;5503:3:140;;5467:192;;;;5669:26;;5010:692;;;:::o;1897:553::-;1982:16;2000:23;2038:11;2027:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2027:41:140;;;;;;;;;;-1:-1:-1;2027:41:140;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1981:87;;;;2103:16;2095:25;;;;;;;;2083:8;:37;2079:365;;;2136:22;2147:10;2136;:22::i;:::-;2079:365;;;2199:18;2179:8;:39;2175:269;;;2234:24;2247:10;2234:12;:24::i;2175:269::-;2299:16;2279:8;:37;2275:169;;;2332:22;2343:10;2332;:22::i;2275:169::-;2385:48;;-1:-1:-1;;;2385:48:140;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2275:169;1897:553;;;:::o;4655:176::-;4731:24;4757:25;4655:176;:::o;6646:94::-;6690:16;6725:8;6718:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6718:15:140;;;;;;;;;;;;;;;;;;;;;;;6646:94;:::o;1167:351:354:-;1339:12;;1286:17;;;1361:129;1381:9;1377:1;:13;1361:129;;;1426:5;1432:1;1426:8;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1415:19:354;;;1426:8;;1415:19;1411:69;;;1461:4;1454:11;;;;;;1411:69;1392:3;;1361:129;;;;1506:5;1499:12;;;1167:351;;;;;:::o;1348:613:450:-;1713:10;;;1712:62;;-1:-1:-1;1729:39:450;;;-1:-1:-1;;;1729:39:450;;1753:4;1729:39;;;;-1:-1:-1;;;;;1729:39:450;;;;;;;;;:15;;;;;;:39;;;;;;;;;;;;;;;:15;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1729:39:450;:44;1712:62;1704:150;;;;-1:-1:-1;;;1704:150:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1891:62;;;-1:-1:-1;;;;;1891:62:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1891:62:450;-1:-1:-1;;;1891:62:450;;;1864:90;;1884:5;;1864:19;:90::i;3538:215:442:-;3596:7;3619:6;3615:20;;-1:-1:-1;3634:1:442;3627:8;;3615:20;3657:5;;;3661:1;3657;:5;:1;3680:5;;;;;:10;3672:56;;;;-1:-1:-1;;;3672:56:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3745:1;3538:215;-1:-1:-1;;;3538:215:442:o;4217:150::-;4275:7;4306:1;4302;:5;4294:44;;;;;-1:-1:-1;;;4294:44:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;4359:1;4355;:5;;;;;;;4217:150;-1:-1:-1;;;4217:150:442:o;2690:175::-;2748:7;2779:5;;;2802:6;;;;2794:46;;;;;-1:-1:-1;;;2794:46:442;;;;;;;;;;;;;;;;;;;;;;;;;;;2515:235:140;2580:15;2597:14;2615:39;2642:11;2615:26;:39::i;:::-;2579:75;;;;2664:21;2677:7;2664:12;:21::i;:::-;2695:22;-1:-1:-1;;;;;2695:31:140;;2727:7;2736:6;2695:48;;;;;;;;;;;;;-1:-1:-1;;;;;2695:48:140;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2515:235:140:o;2794:393::-;2861:15;2878:14;2896:41;2925:11;2896:28;:41::i;:::-;2860:77;;;;2947:22;-1:-1:-1;;;;;2947:33:140;;2981:7;2990:6;2947:50;;;;;;;;;;;;;-1:-1:-1;;;;;2947:50:140;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3028:43:140;;;-1:-1:-1;;;3028:43:140;;3065:4;3028:43;;;;;;3007:18;;-1:-1:-1;;;;;3028:18:140;:28;;;;:43;;;;;2947:50;;3028:43;;;;;;;;:28;:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3028:43:140;;-1:-1:-1;3085:14:140;;3081:100;;3115:55;-1:-1:-1;;;;;3115:18:140;:31;3147:10;3159;3115:31;:55::i;:::-;2794:393;;;;:::o;3255:930::-;3320:15;3337:19;3360:39;3387:11;3360:26;:39::i;:::-;3319:80;;;;3409:22;-1:-1:-1;;;;;3409:40:140;;3450:7;3459:11;3409:62;;;;;;;;;;;;;-1:-1:-1;;;;;3409:62:140;;;;;;-1:-1:-1;;;;;3409:62:140;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3534:94:140;;;-1:-1:-1;;;3534:94:140;;-1:-1:-1;;;;;3534:94:140;;;;;;;3613:4;3534:94;;;;;;-1:-1:-1;;;;3534:22:140;:36;;;;;;:94;;;;;;;;;;;;;;;:36;:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3534:94:140;;;;;;;;;-1:-1:-1;3534:94:140;-1:-1:-1;3717:21:140;;:42;;;;-1:-1:-1;3742:17:140;;3717:42;3713:150;;;3775:35;:8;3802:7;3775:26;:35::i;:::-;-1:-1:-1;3829:23:140;;-1:-1:-1;;;;;3829:23:140;;;;;;;;3713:150;-1:-1:-1;;;;;3937:25:140;;;3933:246;;3978:25;3991:11;3978:12;:25::i;:::-;3933:246;;;4034:134;4083:10;4111:18;-1:-1:-1;;;;;4111:28:140;;4148:4;4111:43;;;;;;;;;;;;;-1:-1:-1;;;;;4111:43:140;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4111:43:140;-1:-1:-1;;;;;4034:18:140;:31;;:134;:31;:134::i;2967:751:450:-;3386:23;3412:69;3440:4;3412:69;;;;;;;;;;;;;;;;;3420:5;-1:-1:-1;;;;;3412:27:450;;;:69;;;;;:::i;:::-;3495:17;;3386:95;;-1:-1:-1;3495:21:450;3491:221;;3635:10;3624:30;;;;;;;;;;;;;;;-1:-1:-1;3624:30:450;3616:85;;;;-1:-1:-1;;;3616:85:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;648:215:139;757:16;775:15;824:11;813:43;;;;;;;;;;;;;;;-1:-1:-1;813:43:139;;;;;;;;;-1:-1:-1;813:43:139;-1:-1:-1;648:215:139;;;:::o;4226:183:140:-;4289:23;4303:8;4289:13;:23::i;:::-;4284:119;;4328:8;:23;;;;;;;;;;;;;;-1:-1:-1;;;;;;4328:23:140;-1:-1:-1;;;;;4328:23:140;;;;;;;;4370:22;;4328:23;;4370:22;;;4226:183;:::o;704:175:450:-;813:58;;;-1:-1:-1;;;;;813:58:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;813:58:450;-1:-1:-1;;;813:58:450;;;786:86;;806:5;;786:19;:86::i;569:515:354:-;727:12;;678:13;;;749:303;769:9;765:1;:13;749:303;;;815:13;-1:-1:-1;;;;;803:25:354;:5;809:1;803:8;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;803:8:354;:25;799:243;;;868:1;856:9;:13;852:1;:17;848:95;;;904:5;922:1;910:9;:13;904:20;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;904:20:354;893:5;899:1;893:8;;;;;;;;;;;;;;;;:31;;;;;-1:-1:-1;;;;;893:31:354;;;;;-1:-1:-1;;;;;893:31:354;;;;;;848:95;960:5;:11;;;;;;;;;;;;;;;;-1:-1:-1;;960:11:354;;;;;-1:-1:-1;;;;;;960:11:354;;;;;;;;-1:-1:-1;1022:5:354;;799:243;780:3;;749:303;;;;1062:15;569:515;;;;:::o;3581:193:451:-;3684:12;3715:52;3737:6;3745:4;3751:1;3754:12;3715:21;:52::i;:::-;3708:59;3581:193;-1:-1:-1;;;;3581:193:451:o;4608:523::-;4735:12;4792:5;4767:21;:30;;4759:81;;;;-1:-1:-1;;;4759:81:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4858:18;4869:6;4858:10;:18::i;:::-;4850:60;;;;;-1:-1:-1;;;4850:60:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;4981:12;4995:23;5022:6;-1:-1:-1;;;;;5022:11:451;5042:5;5050:4;5022:33;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5022:33:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4980:75;;;;5072:52;5090:7;5099:10;5111:12;5072:17;:52::i;:::-;5065:59;4608:523;-1:-1:-1;;;;;;;4608:523:451:o;726:413::-;1086:20;1124:8;;;726:413::o;7091:725::-;7206:12;7234:7;7230:580;;;-1:-1:-1;7264:10:451;7257:17;;7230:580;7375:17;;:21;7371:429;;7633:10;7627:17;7693:15;7680:10;7676:2;7672:19;7665:44;7582:145;7772:12;7765:20;;-1:-1:-1;;;7765:20:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;", "linkReferences": {}, "immutableReferences": { "36953": [ { "start": 902, "length": 32 }, { "start": 951, "length": 32 }, { "start": 1171, "length": 32 }, { "start": 2771, "length": 32 }, { "start": 2955, "length": 32 }, { "start": 3350, "length": 32 }, { "start": 3565, "length": 32 } ], "36955": [ { "start": 868, "length": 32 }, { "start": 1423, "length": 32 }, { "start": 3151, "length": 32 }, { "start": 3287, "length": 32 }, { "start": 3811, "length": 32 }, { "start": 3972, "length": 32 } ] } }, "methodIdentifiers": { "getDebtAssets()": "ecd658b4", "getDelegationGrtValue(address)": "5d0e6517", "getIndexers()": "f3b60567", "getManagedAssets()": "80daddb8", "init(bytes)": "4ddf47d4", "isDelegatorTo(address)": "4682b645", "receiveCallFromVault(bytes)": "e5c23a97" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_stakingProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_grtToken\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"indexer\",\"type\":\"address\"}],\"name\":\"IndexerAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"indexer\",\"type\":\"address\"}],\"name\":\"IndexerRemoved\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"getDebtAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"assets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_indexer\",\"type\":\"address\"}],\"name\":\"getDelegationGrtValue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"grtValue_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getIndexers\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getManagedAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"assets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_indexer\",\"type\":\"address\"}],\"name\":\"isDelegatorTo\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isDelegator_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"}],\"name\":\"receiveCallFromVault\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"getDebtAssets()\":{\"returns\":{\"amounts_\":\"Debt asset amounts\",\"assets_\":\"Debt assets\"}},\"getDelegationGrtValue(address)\":{\"details\":\"Returns the delegated + undelegated grtValue of a delegation\",\"params\":{\"_indexer\":\"Address of the indexer\"},\"returns\":{\"grtValue_\":\"GRT value of the delegation\"}},\"getIndexers()\":{\"details\":\"Returns the array of indexers the delegator has delegated to\",\"returns\":{\"_0\":\"indexers_ The array of indexers delegated to\"}},\"getManagedAssets()\":{\"returns\":{\"amounts_\":\"Managed asset amounts\",\"assets_\":\"Managed assets\"}},\"isDelegatorTo(address)\":{\"details\":\"Return whether the delegator has delegated to the indexer.\",\"params\":{\"_indexer\":\"Address of the indexer\"},\"returns\":{\"isDelegator_\":\"True if delegator of indexer\"}},\"receiveCallFromVault(bytes)\":{\"params\":{\"_actionData\":\"Encoded data to execute the action\"}}},\"title\":\"TheGraphDelegationPositionLib Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getDebtAssets()\":{\"notice\":\"Retrieves the debt assets (negative value) of the external position\"},\"getManagedAssets()\":{\"notice\":\"Retrieves the managed assets (positive value) of the external position\"},\"init(bytes)\":{\"notice\":\"Initializes the external position\"},\"receiveCallFromVault(bytes)\":{\"notice\":\"Receives and executes a call from the Vault\"}},\"notice\":\"Library contract for Convex vlCVX positions\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/the-graph-delegation/TheGraphDelegationPositionLib.sol\":\"TheGraphDelegationPositionLib\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/persistent/external-positions/the-graph-delegation/TheGraphDelegationPositionLibBase1.sol\":{\"keccak256\":\"0x0b86382089c180d325fa0af6f21194d58fa7b0089cb12fc135c009a280541ae0\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1d216e8bf303fbd7a570d49c5aa9e1cd9f2aef27ef6abb9a8258fde42038549b\",\"dweb:/ipfs/QmbrFJoEjBe7eEDUGM34VySE5VQnQwHzZ1rfEvo5qa4kq2\"]},\"contracts/release/extensions/external-position-manager/external-positions/the-graph-delegation/ITheGraphDelegationPosition.sol\":{\"keccak256\":\"0xf84f115648356acfbe30c99a2bf68ac418c399da8cdc70735ef080036a5ea412\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://4f8603ad119f92c6ed7a953a61ecf02e7a3499b915995e63302c80b4c6ee2f89\",\"dweb:/ipfs/QmcCs6xqLHndv9FbK2pHEK6YKGVui43HYonQPnyx3HqaCP\"]},\"contracts/release/extensions/external-position-manager/external-positions/the-graph-delegation/TheGraphDelegationPositionDataDecoder.sol\":{\"keccak256\":\"0xd7197b02930730c30cc8b4e33bb62e1d89cda0bc43981c4ecfa30e5a5f6bd7b9\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://0b06b66a39501e58e3decd9447c672ff525c9c872fe6468fc076c1f104582763\",\"dweb:/ipfs/QmPeQyvtbwB2SVjJwzmaXX42nAu2mFUyfprfcR9eHkMcGt\"]},\"contracts/release/extensions/external-position-manager/external-positions/the-graph-delegation/TheGraphDelegationPositionLib.sol\":{\"keccak256\":\"0x880d01b3833abe391fe3129d8bfb3ec0c492f6ea80bb11473cd1344ffa99f083\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6a2cc3c3a620556be942423e56782bc71f478e32078889075e9b9390667e99b4\",\"dweb:/ipfs/QmRqVx9oa6sXwJUjq2xoeiX15JyKTu25HmiA15ER1yQYgR\"]},\"contracts/release/interfaces/ITheGraphStaking.sol\":{\"keccak256\":\"0x5354672fdc2e5f8f71e8958dc42ee9f512b3ba083116c07b0c2d76b6b29180e1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://15aff2ea5c3168fa0ae337b596ca1f0f8d82b987ffa3c861f0451758c648d36b\",\"dweb:/ipfs/QmUYQGbukE2yxJK15jHdjWw3fpMYBV5z5WyubgpmpYjrog\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_stakingProxy", "type": "address" }, { "internalType": "address", "name": "_grtToken", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "indexer", "type": "address", "indexed": true } ], "type": "event", "name": "IndexerAdded", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "indexer", "type": "address", "indexed": true } ], "type": "event", "name": "IndexerRemoved", "anonymous": false }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "getDebtAssets", "outputs": [ { "internalType": "address[]", "name": "assets_", "type": "address[]" }, { "internalType": "uint256[]", "name": "amounts_", "type": "uint256[]" } ] }, { "inputs": [ { "internalType": "address", "name": "_indexer", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getDelegationGrtValue", "outputs": [ { "internalType": "uint256", "name": "grtValue_", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getIndexers", "outputs": [ { "internalType": "address[]", "name": "", "type": "address[]" } ] }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "getManagedAssets", "outputs": [ { "internalType": "address[]", "name": "assets_", "type": "address[]" }, { "internalType": "uint256[]", "name": "amounts_", "type": "uint256[]" } ] }, { "inputs": [ { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "init" }, { "inputs": [ { "internalType": "address", "name": "_indexer", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "isDelegatorTo", "outputs": [ { "internalType": "bool", "name": "isDelegator_", "type": "bool" } ] }, { "inputs": [ { "internalType": "bytes", "name": "_actionData", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "receiveCallFromVault" } ], "devdoc": { "kind": "dev", "methods": { "getDebtAssets()": { "returns": { "amounts_": "Debt asset amounts", "assets_": "Debt assets" } }, "getDelegationGrtValue(address)": { "details": "Returns the delegated + undelegated grtValue of a delegation", "params": { "_indexer": "Address of the indexer" }, "returns": { "grtValue_": "GRT value of the delegation" } }, "getIndexers()": { "details": "Returns the array of indexers the delegator has delegated to", "returns": { "_0": "indexers_ The array of indexers delegated to" } }, "getManagedAssets()": { "returns": { "amounts_": "Managed asset amounts", "assets_": "Managed assets" } }, "isDelegatorTo(address)": { "details": "Return whether the delegator has delegated to the indexer.", "params": { "_indexer": "Address of the indexer" }, "returns": { "isDelegator_": "True if delegator of indexer" } }, "receiveCallFromVault(bytes)": { "params": { "_actionData": "Encoded data to execute the action" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "getDebtAssets()": { "notice": "Retrieves the debt assets (negative value) of the external position" }, "getManagedAssets()": { "notice": "Retrieves the managed assets (positive value) of the external position" }, "init(bytes)": { "notice": "Initializes the external position" }, "receiveCallFromVault(bytes)": { "notice": "Receives and executes a call from the Vault" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/external-position-manager/external-positions/the-graph-delegation/TheGraphDelegationPositionLib.sol": "TheGraphDelegationPositionLib" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/external-positions/IExternalPosition.sol": { "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", "urls": [ "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" ], "license": "GPL-3.0" }, "contracts/persistent/external-positions/the-graph-delegation/TheGraphDelegationPositionLibBase1.sol": { "keccak256": "0x0b86382089c180d325fa0af6f21194d58fa7b0089cb12fc135c009a280541ae0", "urls": [ "bzz-raw://1d216e8bf303fbd7a570d49c5aa9e1cd9f2aef27ef6abb9a8258fde42038549b", "dweb:/ipfs/QmbrFJoEjBe7eEDUGM34VySE5VQnQwHzZ1rfEvo5qa4kq2" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/the-graph-delegation/ITheGraphDelegationPosition.sol": { "keccak256": "0xf84f115648356acfbe30c99a2bf68ac418c399da8cdc70735ef080036a5ea412", "urls": [ "bzz-raw://4f8603ad119f92c6ed7a953a61ecf02e7a3499b915995e63302c80b4c6ee2f89", "dweb:/ipfs/QmcCs6xqLHndv9FbK2pHEK6YKGVui43HYonQPnyx3HqaCP" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/the-graph-delegation/TheGraphDelegationPositionDataDecoder.sol": { "keccak256": "0xd7197b02930730c30cc8b4e33bb62e1d89cda0bc43981c4ecfa30e5a5f6bd7b9", "urls": [ "bzz-raw://0b06b66a39501e58e3decd9447c672ff525c9c872fe6468fc076c1f104582763", "dweb:/ipfs/QmPeQyvtbwB2SVjJwzmaXX42nAu2mFUyfprfcR9eHkMcGt" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/the-graph-delegation/TheGraphDelegationPositionLib.sol": { "keccak256": "0x880d01b3833abe391fe3129d8bfb3ec0c492f6ea80bb11473cd1344ffa99f083", "urls": [ "bzz-raw://6a2cc3c3a620556be942423e56782bc71f478e32078889075e9b9390667e99b4", "dweb:/ipfs/QmRqVx9oa6sXwJUjq2xoeiX15JyKTu25HmiA15ER1yQYgR" ], "license": "GPL-3.0" }, "contracts/release/interfaces/ITheGraphStaking.sol": { "keccak256": "0x5354672fdc2e5f8f71e8958dc42ee9f512b3ba083116c07b0c2d76b6b29180e1", "urls": [ "bzz-raw://15aff2ea5c3168fa0ae337b596ca1f0f8d82b987ffa3c861f0451758c648d36b", "dweb:/ipfs/QmUYQGbukE2yxJK15jHdjWw3fpMYBV5z5WyubgpmpYjrog" ], "license": "GPL-3.0" }, "contracts/release/utils/AddressArrayLib.sol": { "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", "urls": [ "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", "urls": [ "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Address.sol": { "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", "urls": [ "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" } }, "version": 1 }, "id": 140 } diff --git a/eth_defi/abi/enzyme/TheGraphDelegationPositionLibBase1.json b/eth_defi/abi/enzyme/TheGraphDelegationPositionLibBase1.json index 4bb688db..13323e2f 100644 --- a/eth_defi/abi/enzyme/TheGraphDelegationPositionLibBase1.json +++ b/eth_defi/abi/enzyme/TheGraphDelegationPositionLibBase1.json @@ -1,132 +1 @@ -{ - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "indexer", - "type": "address" - } - ], - "name": "IndexerAdded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "indexer", - "type": "address" - } - ], - "name": "IndexerRemoved", - "type": "event" - } - ], - "bytecode": { - "object": "0x6080604052348015600f57600080fd5b50601680601d6000396000f3fe6080604052600080fdfea164736f6c634300060c000a", - "sourceMap": "808:182:38:-:0;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x6080604052600080fdfea164736f6c634300060c000a", - "sourceMap": "808:182:38:-:0;;;;;", - "linkReferences": {} - }, - "methodIdentifiers": {}, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"indexer\",\"type\":\"address\"}],\"name\":\"IndexerAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"indexer\",\"type\":\"address\"}],\"name\":\"IndexerRemoved\",\"type\":\"event\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"DO NOT EDIT CONTRACT. If new events or storage are necessary, they should be added to a numbered TheGraphDelegationPositionLibBaseXXX that inherits the previous base. e.g., `TheGraphDelegationPositionLibBase2 is TheGraphDelegationPositionLibBase1`\",\"kind\":\"dev\",\"methods\":{},\"title\":\"TheGraphDelegationPositionLibBase1 Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"A persistent contract containing all required storage variables and required functions for a TheGraphDelegationPositionLib implementation\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/external-positions/the-graph-delegation/TheGraphDelegationPositionLibBase1.sol\":\"TheGraphDelegationPositionLibBase1\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/external-positions/the-graph-delegation/TheGraphDelegationPositionLibBase1.sol\":{\"keccak256\":\"0x0b86382089c180d325fa0af6f21194d58fa7b0089cb12fc135c009a280541ae0\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1d216e8bf303fbd7a570d49c5aa9e1cd9f2aef27ef6abb9a8258fde42038549b\",\"dweb:/ipfs/QmbrFJoEjBe7eEDUGM34VySE5VQnQwHzZ1rfEvo5qa4kq2\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "indexer", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "IndexerAdded", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "indexer", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "IndexerRemoved", - "anonymous": false - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/persistent/external-positions/the-graph-delegation/TheGraphDelegationPositionLibBase1.sol": "TheGraphDelegationPositionLibBase1" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/external-positions/the-graph-delegation/TheGraphDelegationPositionLibBase1.sol": { - "keccak256": "0x0b86382089c180d325fa0af6f21194d58fa7b0089cb12fc135c009a280541ae0", - "urls": [ - "bzz-raw://1d216e8bf303fbd7a570d49c5aa9e1cd9f2aef27ef6abb9a8258fde42038549b", - "dweb:/ipfs/QmbrFJoEjBe7eEDUGM34VySE5VQnQwHzZ1rfEvo5qa4kq2" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 38 -} +{ "abi": [ { "type": "event", "name": "IndexerAdded", "inputs": [ { "name": "indexer", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "IndexerRemoved", "inputs": [ { "name": "indexer", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false } ], "bytecode": { "object": "0x6080604052348015600f57600080fd5b50601680601d6000396000f3fe6080604052600080fdfea164736f6c634300060c000a", "sourceMap": "808:182:38:-:0;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x6080604052600080fdfea164736f6c634300060c000a", "sourceMap": "808:182:38:-:0;;;;;", "linkReferences": {} }, "methodIdentifiers": {}, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"indexer\",\"type\":\"address\"}],\"name\":\"IndexerAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"indexer\",\"type\":\"address\"}],\"name\":\"IndexerRemoved\",\"type\":\"event\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"DO NOT EDIT CONTRACT. If new events or storage are necessary, they should be added to a numbered TheGraphDelegationPositionLibBaseXXX that inherits the previous base. e.g., `TheGraphDelegationPositionLibBase2 is TheGraphDelegationPositionLibBase1`\",\"kind\":\"dev\",\"methods\":{},\"title\":\"TheGraphDelegationPositionLibBase1 Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"A persistent contract containing all required storage variables and required functions for a TheGraphDelegationPositionLib implementation\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/external-positions/the-graph-delegation/TheGraphDelegationPositionLibBase1.sol\":\"TheGraphDelegationPositionLibBase1\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/external-positions/the-graph-delegation/TheGraphDelegationPositionLibBase1.sol\":{\"keccak256\":\"0x0b86382089c180d325fa0af6f21194d58fa7b0089cb12fc135c009a280541ae0\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1d216e8bf303fbd7a570d49c5aa9e1cd9f2aef27ef6abb9a8258fde42038549b\",\"dweb:/ipfs/QmbrFJoEjBe7eEDUGM34VySE5VQnQwHzZ1rfEvo5qa4kq2\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "indexer", "type": "address", "indexed": true } ], "type": "event", "name": "IndexerAdded", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "indexer", "type": "address", "indexed": true } ], "type": "event", "name": "IndexerRemoved", "anonymous": false } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/persistent/external-positions/the-graph-delegation/TheGraphDelegationPositionLibBase1.sol": "TheGraphDelegationPositionLibBase1" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/external-positions/the-graph-delegation/TheGraphDelegationPositionLibBase1.sol": { "keccak256": "0x0b86382089c180d325fa0af6f21194d58fa7b0089cb12fc135c009a280541ae0", "urls": [ "bzz-raw://1d216e8bf303fbd7a570d49c5aa9e1cd9f2aef27ef6abb9a8258fde42038549b", "dweb:/ipfs/QmbrFJoEjBe7eEDUGM34VySE5VQnQwHzZ1rfEvo5qa4kq2" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 38 } diff --git a/eth_defi/abi/enzyme/TheGraphDelegationPositionParser.json b/eth_defi/abi/enzyme/TheGraphDelegationPositionParser.json index 4d4d3617..12d92dd6 100644 --- a/eth_defi/abi/enzyme/TheGraphDelegationPositionParser.json +++ b/eth_defi/abi/enzyme/TheGraphDelegationPositionParser.json @@ -1,297 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_grtToken", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_actionId", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_encodedActionArgs", - "type": "bytes" - } - ], - "name": "parseAssetsForAction", - "outputs": [ - { - "internalType": "address[]", - "name": "assetsToTransfer_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "amountsToTransfer_", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "assetsToReceive_", - "type": "address[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "parseInitArgs", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x60a060405234801561001057600080fd5b506040516104e03803806104e08339818101604052602081101561003357600080fd5b5051606081901b6001600160601b0319166080526001600160a01b031661047461006c6000398061033a52806103de52506104746000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063bbd2d6461461003b578063db16c72e146101d4575b600080fd5b6100f66004803603606081101561005157600080fd5b6001600160a01b038235169160208101359181019060608101604082013564010000000081111561008157600080fd5b82018360208201111561009357600080fd5b803590602001918460018302840111640100000000831117156100b557600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506102ff945050505050565b60405180806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b8381101561013e578181015183820152602001610126565b50505050905001848103835286818151815260200191508051906020019060200280838360005b8381101561017d578181015183820152602001610165565b50505050905001848103825285818151815260200191508051906020019060200280838360005b838110156101bc5781810151838201526020016101a4565b50505050905001965050505050505060405180910390f35b61028a600480360360408110156101ea57600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561021557600080fd5b82018360208201111561022757600080fd5b8035906020019184600183028401116401000000008311171561024957600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610434945050505050565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102c45781810151838201526020016102ac565b50505050905090810190601f1680156102f15780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b60608080846103bc5760006103138561043c565b604080516001808252818301909252919350909150602080830190803683370190505093507f00000000000000000000000000000000000000000000000000000000000000008460008151811061036657fe5b6001600160a01b039290921660209283029190910182015260408051600180825281830190925291828101908036833701905050925080836000815181106103aa57fe5b6020026020010181815250505061042b565b60408051600180825281830190925290602080830190803683370190505090507f00000000000000000000000000000000000000000000000000000000000000008160008151811061040a57fe5b60200260200101906001600160a01b031690816001600160a01b0316815250505b93509350939050565b606092915050565b60008082806020019051604081101561045457600080fd5b508051602090910151909250905091509156fea164736f6c634300060c000a", - "sourceMap": "569:1928:141:-:0;;;733:76;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;733:76:141;781:21;;;;-1:-1:-1;;;;;;781:21:141;;;-1:-1:-1;;;;;569:1928:141;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c8063bbd2d6461461003b578063db16c72e146101d4575b600080fd5b6100f66004803603606081101561005157600080fd5b6001600160a01b038235169160208101359181019060608101604082013564010000000081111561008157600080fd5b82018360208201111561009357600080fd5b803590602001918460018302840111640100000000831117156100b557600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506102ff945050505050565b60405180806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b8381101561013e578181015183820152602001610126565b50505050905001848103835286818151815260200191508051906020019060200280838360005b8381101561017d578181015183820152602001610165565b50505050905001848103825285818151815260200191508051906020019060200280838360005b838110156101bc5781810151838201526020016101a4565b50505050905001965050505050505060405180910390f35b61028a600480360360408110156101ea57600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561021557600080fd5b82018360208201111561022757600080fd5b8035906020019184600183028401116401000000008311171561024957600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610434945050505050565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102c45781810151838201526020016102ac565b50505050905090810190601f1680156102f15780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b60608080846103bc5760006103138561043c565b604080516001808252818301909252919350909150602080830190803683370190505093507f00000000000000000000000000000000000000000000000000000000000000008460008151811061036657fe5b6001600160a01b039290921660209283029190910182015260408051600180825281830190925291828101908036833701905050925080836000815181106103aa57fe5b6020026020010181815250505061042b565b60408051600180825281830190925290602080830190803683370190505090507f00000000000000000000000000000000000000000000000000000000000000008160008151811061040a57fe5b60200260200101906001600160a01b031690816001600160a01b0316815250505b93509350939050565b606092915050565b60008082806020019051604081101561045457600080fd5b508051602090910151909250905091509156fea164736f6c634300060c000a", - "sourceMap": "569:1928:141:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1288:942;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1288:942:141;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1288:942:141;;-1:-1:-1;1288:942:141;;-1:-1:-1;;;;;1288:942:141:i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2406:89;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2406:89:141;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2406:89:141;;-1:-1:-1;2406:89:141;;-1:-1:-1;;;;;2406:89:141:i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1288:942;1473:34;;;1632:66;1628:521;;1717:14;1735:46;1762:18;1735:26;:46::i;:::-;1816:16;;;1830:1;1816:16;;;;;;;;;1714:67;;-1:-1:-1;1816:16:141;;-1:-1:-1;1816:16:141;;;;;;;;;;;-1:-1:-1;1816:16:141;1796:36;;1869:9;1846:17;1864:1;1846:20;;;;;;;;-1:-1:-1;;;;;1846:32:141;;;;:20;;;;;;;;;;:32;1914:16;;;1928:1;1914:16;;;;;;;;;;;;;;1846:20;1914:16;;;;;-1:-1:-1;1914:16:141;1893:37;;1968:6;1944:18;1963:1;1944:21;;;;;;;;;;;;;:30;;;;;1628:521;;;;2077:16;;;2091:1;2077:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2077:16:141;2058:35;;2129:9;2107:16;2124:1;2107:19;;;;;;;;;;;;;:31;-1:-1:-1;;;;;2107:31:141;;;-1:-1:-1;;;;;2107:31:141;;;;;1628:521;1288:942;;;;;;;:::o;2406:89::-;2479:12;2406:89;;;;:::o;648:215:139:-;757:16;775:15;824:11;813:43;;;;;;;;;;;;;;;-1:-1:-1;813:43:139;;;;;;;;;-1:-1:-1;813:43:139;-1:-1:-1;648:215:139;;;:::o", - "linkReferences": {}, - "immutableReferences": { - "37433": [ - { - "start": 826, - "length": 32 - }, - { - "start": 990, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "parseAssetsForAction(address,uint256,bytes)": "bbd2d646", - "parseInitArgs(address,bytes)": "db16c72e" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_grtToken\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_actionId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_encodedActionArgs\",\"type\":\"bytes\"}],\"name\":\"parseAssetsForAction\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"assetsToTransfer_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amountsToTransfer_\",\"type\":\"uint256[]\"},{\"internalType\":\"address[]\",\"name\":\"assetsToReceive_\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"parseInitArgs\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"parseAssetsForAction(address,uint256,bytes)\":{\"params\":{\"_actionId\":\"The _actionId for the callOnExternalPosition\",\"_encodedActionArgs\":\"The encoded parameters for the callOnExternalPosition\"},\"returns\":{\"amountsToTransfer_\":\"The amounts to be transferred from the Vault\",\"assetsToReceive_\":\"The assets to be received at the Vault\",\"assetsToTransfer_\":\"The assets to be transferred from the Vault\"}},\"parseInitArgs(address,bytes)\":{\"details\":\"Empty for this external position type\"}},\"title\":\"TheGraphDelegationPositionParser\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"parseAssetsForAction(address,uint256,bytes)\":{\"notice\":\"Parses the assets to send and receive for the callOnExternalPosition\"},\"parseInitArgs(address,bytes)\":{\"notice\":\"Parse and validate input arguments to be used when initializing a newly-deployed ExternalPositionProxy\"}},\"notice\":\"Parser for The Graph Delegation positions\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/the-graph-delegation/TheGraphDelegationPositionParser.sol\":\"TheGraphDelegationPositionParser\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/release/extensions/external-position-manager/external-positions/IExternalPositionParser.sol\":{\"keccak256\":\"0x1662fbd65841ee5e9cf8d5329b9d04c264b24ef68ae1e0484e59a8969b0d2c46\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://580569b0f875e0344db83fae1e72dcc6c0767a049b2a6cc3e4f3c411d2284b27\",\"dweb:/ipfs/QmXFmF9QbcVsPHaBo1iq8sZHYhDkwfkMZpHmLTuJJ37NvZ\"]},\"contracts/release/extensions/external-position-manager/external-positions/the-graph-delegation/ITheGraphDelegationPosition.sol\":{\"keccak256\":\"0xf84f115648356acfbe30c99a2bf68ac418c399da8cdc70735ef080036a5ea412\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://4f8603ad119f92c6ed7a953a61ecf02e7a3499b915995e63302c80b4c6ee2f89\",\"dweb:/ipfs/QmcCs6xqLHndv9FbK2pHEK6YKGVui43HYonQPnyx3HqaCP\"]},\"contracts/release/extensions/external-position-manager/external-positions/the-graph-delegation/TheGraphDelegationPositionDataDecoder.sol\":{\"keccak256\":\"0xd7197b02930730c30cc8b4e33bb62e1d89cda0bc43981c4ecfa30e5a5f6bd7b9\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://0b06b66a39501e58e3decd9447c672ff525c9c872fe6468fc076c1f104582763\",\"dweb:/ipfs/QmPeQyvtbwB2SVjJwzmaXX42nAu2mFUyfprfcR9eHkMcGt\"]},\"contracts/release/extensions/external-position-manager/external-positions/the-graph-delegation/TheGraphDelegationPositionParser.sol\":{\"keccak256\":\"0x4aa81f29be6f46a3ab4d898911f38c9428a560339628938524fa46a552d9d39b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://82ede5701088b28a97bd9f3d5e06ffd81c96a15687946632dbbd2e2696a5c572\",\"dweb:/ipfs/QmfEF3zx62WuJaqekCZvzca1n2XveXc5KEkt3kqRYfma2X\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_grtToken", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_actionId", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_encodedActionArgs", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "parseAssetsForAction", - "outputs": [ - { - "internalType": "address[]", - "name": "assetsToTransfer_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "amountsToTransfer_", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "assetsToReceive_", - "type": "address[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "parseInitArgs", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "parseAssetsForAction(address,uint256,bytes)": { - "params": { - "_actionId": "The _actionId for the callOnExternalPosition", - "_encodedActionArgs": "The encoded parameters for the callOnExternalPosition" - }, - "returns": { - "amountsToTransfer_": "The amounts to be transferred from the Vault", - "assetsToReceive_": "The assets to be received at the Vault", - "assetsToTransfer_": "The assets to be transferred from the Vault" - } - }, - "parseInitArgs(address,bytes)": { - "details": "Empty for this external position type" - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "parseAssetsForAction(address,uint256,bytes)": { - "notice": "Parses the assets to send and receive for the callOnExternalPosition" - }, - "parseInitArgs(address,bytes)": { - "notice": "Parse and validate input arguments to be used when initializing a newly-deployed ExternalPositionProxy" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/external-position-manager/external-positions/the-graph-delegation/TheGraphDelegationPositionParser.sol": "TheGraphDelegationPositionParser" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/external-positions/IExternalPosition.sol": { - "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", - "urls": [ - "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", - "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/IExternalPositionParser.sol": { - "keccak256": "0x1662fbd65841ee5e9cf8d5329b9d04c264b24ef68ae1e0484e59a8969b0d2c46", - "urls": [ - "bzz-raw://580569b0f875e0344db83fae1e72dcc6c0767a049b2a6cc3e4f3c411d2284b27", - "dweb:/ipfs/QmXFmF9QbcVsPHaBo1iq8sZHYhDkwfkMZpHmLTuJJ37NvZ" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/the-graph-delegation/ITheGraphDelegationPosition.sol": { - "keccak256": "0xf84f115648356acfbe30c99a2bf68ac418c399da8cdc70735ef080036a5ea412", - "urls": [ - "bzz-raw://4f8603ad119f92c6ed7a953a61ecf02e7a3499b915995e63302c80b4c6ee2f89", - "dweb:/ipfs/QmcCs6xqLHndv9FbK2pHEK6YKGVui43HYonQPnyx3HqaCP" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/the-graph-delegation/TheGraphDelegationPositionDataDecoder.sol": { - "keccak256": "0xd7197b02930730c30cc8b4e33bb62e1d89cda0bc43981c4ecfa30e5a5f6bd7b9", - "urls": [ - "bzz-raw://0b06b66a39501e58e3decd9447c672ff525c9c872fe6468fc076c1f104582763", - "dweb:/ipfs/QmPeQyvtbwB2SVjJwzmaXX42nAu2mFUyfprfcR9eHkMcGt" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/the-graph-delegation/TheGraphDelegationPositionParser.sol": { - "keccak256": "0x4aa81f29be6f46a3ab4d898911f38c9428a560339628938524fa46a552d9d39b", - "urls": [ - "bzz-raw://82ede5701088b28a97bd9f3d5e06ffd81c96a15687946632dbbd2e2696a5c572", - "dweb:/ipfs/QmfEF3zx62WuJaqekCZvzca1n2XveXc5KEkt3kqRYfma2X" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 141 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_grtToken", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "parseAssetsForAction", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "_actionId", "type": "uint256", "internalType": "uint256" }, { "name": "_encodedActionArgs", "type": "bytes", "internalType": "bytes" } ], "outputs": [ { "name": "assetsToTransfer_", "type": "address[]", "internalType": "address[]" }, { "name": "amountsToTransfer_", "type": "uint256[]", "internalType": "uint256[]" }, { "name": "assetsToReceive_", "type": "address[]", "internalType": "address[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "parseInitArgs", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [ { "name": "", "type": "bytes", "internalType": "bytes" } ], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x60a060405234801561001057600080fd5b506040516104e03803806104e08339818101604052602081101561003357600080fd5b5051606081901b6001600160601b0319166080526001600160a01b031661047461006c6000398061033a52806103de52506104746000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063bbd2d6461461003b578063db16c72e146101d4575b600080fd5b6100f66004803603606081101561005157600080fd5b6001600160a01b038235169160208101359181019060608101604082013564010000000081111561008157600080fd5b82018360208201111561009357600080fd5b803590602001918460018302840111640100000000831117156100b557600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506102ff945050505050565b60405180806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b8381101561013e578181015183820152602001610126565b50505050905001848103835286818151815260200191508051906020019060200280838360005b8381101561017d578181015183820152602001610165565b50505050905001848103825285818151815260200191508051906020019060200280838360005b838110156101bc5781810151838201526020016101a4565b50505050905001965050505050505060405180910390f35b61028a600480360360408110156101ea57600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561021557600080fd5b82018360208201111561022757600080fd5b8035906020019184600183028401116401000000008311171561024957600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610434945050505050565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102c45781810151838201526020016102ac565b50505050905090810190601f1680156102f15780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b60608080846103bc5760006103138561043c565b604080516001808252818301909252919350909150602080830190803683370190505093507f00000000000000000000000000000000000000000000000000000000000000008460008151811061036657fe5b6001600160a01b039290921660209283029190910182015260408051600180825281830190925291828101908036833701905050925080836000815181106103aa57fe5b6020026020010181815250505061042b565b60408051600180825281830190925290602080830190803683370190505090507f00000000000000000000000000000000000000000000000000000000000000008160008151811061040a57fe5b60200260200101906001600160a01b031690816001600160a01b0316815250505b93509350939050565b606092915050565b60008082806020019051604081101561045457600080fd5b508051602090910151909250905091509156fea164736f6c634300060c000a", "sourceMap": "569:1928:141:-:0;;;733:76;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;733:76:141;781:21;;;;-1:-1:-1;;;;;;781:21:141;;;-1:-1:-1;;;;;569:1928:141;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c8063bbd2d6461461003b578063db16c72e146101d4575b600080fd5b6100f66004803603606081101561005157600080fd5b6001600160a01b038235169160208101359181019060608101604082013564010000000081111561008157600080fd5b82018360208201111561009357600080fd5b803590602001918460018302840111640100000000831117156100b557600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506102ff945050505050565b60405180806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b8381101561013e578181015183820152602001610126565b50505050905001848103835286818151815260200191508051906020019060200280838360005b8381101561017d578181015183820152602001610165565b50505050905001848103825285818151815260200191508051906020019060200280838360005b838110156101bc5781810151838201526020016101a4565b50505050905001965050505050505060405180910390f35b61028a600480360360408110156101ea57600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561021557600080fd5b82018360208201111561022757600080fd5b8035906020019184600183028401116401000000008311171561024957600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610434945050505050565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102c45781810151838201526020016102ac565b50505050905090810190601f1680156102f15780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b60608080846103bc5760006103138561043c565b604080516001808252818301909252919350909150602080830190803683370190505093507f00000000000000000000000000000000000000000000000000000000000000008460008151811061036657fe5b6001600160a01b039290921660209283029190910182015260408051600180825281830190925291828101908036833701905050925080836000815181106103aa57fe5b6020026020010181815250505061042b565b60408051600180825281830190925290602080830190803683370190505090507f00000000000000000000000000000000000000000000000000000000000000008160008151811061040a57fe5b60200260200101906001600160a01b031690816001600160a01b0316815250505b93509350939050565b606092915050565b60008082806020019051604081101561045457600080fd5b508051602090910151909250905091509156fea164736f6c634300060c000a", "sourceMap": "569:1928:141:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1288:942;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1288:942:141;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1288:942:141;;-1:-1:-1;1288:942:141;;-1:-1:-1;;;;;1288:942:141:i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2406:89;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2406:89:141;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2406:89:141;;-1:-1:-1;2406:89:141;;-1:-1:-1;;;;;2406:89:141:i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1288:942;1473:34;;;1632:66;1628:521;;1717:14;1735:46;1762:18;1735:26;:46::i;:::-;1816:16;;;1830:1;1816:16;;;;;;;;;1714:67;;-1:-1:-1;1816:16:141;;-1:-1:-1;1816:16:141;;;;;;;;;;;-1:-1:-1;1816:16:141;1796:36;;1869:9;1846:17;1864:1;1846:20;;;;;;;;-1:-1:-1;;;;;1846:32:141;;;;:20;;;;;;;;;;:32;1914:16;;;1928:1;1914:16;;;;;;;;;;;;;;1846:20;1914:16;;;;;-1:-1:-1;1914:16:141;1893:37;;1968:6;1944:18;1963:1;1944:21;;;;;;;;;;;;;:30;;;;;1628:521;;;;2077:16;;;2091:1;2077:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2077:16:141;2058:35;;2129:9;2107:16;2124:1;2107:19;;;;;;;;;;;;;:31;-1:-1:-1;;;;;2107:31:141;;;-1:-1:-1;;;;;2107:31:141;;;;;1628:521;1288:942;;;;;;;:::o;2406:89::-;2479:12;2406:89;;;;:::o;648:215:139:-;757:16;775:15;824:11;813:43;;;;;;;;;;;;;;;-1:-1:-1;813:43:139;;;;;;;;;-1:-1:-1;813:43:139;-1:-1:-1;648:215:139;;;:::o", "linkReferences": {}, "immutableReferences": { "37433": [ { "start": 826, "length": 32 }, { "start": 990, "length": 32 } ] } }, "methodIdentifiers": { "parseAssetsForAction(address,uint256,bytes)": "bbd2d646", "parseInitArgs(address,bytes)": "db16c72e" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_grtToken\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_actionId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_encodedActionArgs\",\"type\":\"bytes\"}],\"name\":\"parseAssetsForAction\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"assetsToTransfer_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amountsToTransfer_\",\"type\":\"uint256[]\"},{\"internalType\":\"address[]\",\"name\":\"assetsToReceive_\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"parseInitArgs\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"parseAssetsForAction(address,uint256,bytes)\":{\"params\":{\"_actionId\":\"The _actionId for the callOnExternalPosition\",\"_encodedActionArgs\":\"The encoded parameters for the callOnExternalPosition\"},\"returns\":{\"amountsToTransfer_\":\"The amounts to be transferred from the Vault\",\"assetsToReceive_\":\"The assets to be received at the Vault\",\"assetsToTransfer_\":\"The assets to be transferred from the Vault\"}},\"parseInitArgs(address,bytes)\":{\"details\":\"Empty for this external position type\"}},\"title\":\"TheGraphDelegationPositionParser\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"parseAssetsForAction(address,uint256,bytes)\":{\"notice\":\"Parses the assets to send and receive for the callOnExternalPosition\"},\"parseInitArgs(address,bytes)\":{\"notice\":\"Parse and validate input arguments to be used when initializing a newly-deployed ExternalPositionProxy\"}},\"notice\":\"Parser for The Graph Delegation positions\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/the-graph-delegation/TheGraphDelegationPositionParser.sol\":\"TheGraphDelegationPositionParser\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/release/extensions/external-position-manager/external-positions/IExternalPositionParser.sol\":{\"keccak256\":\"0x1662fbd65841ee5e9cf8d5329b9d04c264b24ef68ae1e0484e59a8969b0d2c46\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://580569b0f875e0344db83fae1e72dcc6c0767a049b2a6cc3e4f3c411d2284b27\",\"dweb:/ipfs/QmXFmF9QbcVsPHaBo1iq8sZHYhDkwfkMZpHmLTuJJ37NvZ\"]},\"contracts/release/extensions/external-position-manager/external-positions/the-graph-delegation/ITheGraphDelegationPosition.sol\":{\"keccak256\":\"0xf84f115648356acfbe30c99a2bf68ac418c399da8cdc70735ef080036a5ea412\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://4f8603ad119f92c6ed7a953a61ecf02e7a3499b915995e63302c80b4c6ee2f89\",\"dweb:/ipfs/QmcCs6xqLHndv9FbK2pHEK6YKGVui43HYonQPnyx3HqaCP\"]},\"contracts/release/extensions/external-position-manager/external-positions/the-graph-delegation/TheGraphDelegationPositionDataDecoder.sol\":{\"keccak256\":\"0xd7197b02930730c30cc8b4e33bb62e1d89cda0bc43981c4ecfa30e5a5f6bd7b9\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://0b06b66a39501e58e3decd9447c672ff525c9c872fe6468fc076c1f104582763\",\"dweb:/ipfs/QmPeQyvtbwB2SVjJwzmaXX42nAu2mFUyfprfcR9eHkMcGt\"]},\"contracts/release/extensions/external-position-manager/external-positions/the-graph-delegation/TheGraphDelegationPositionParser.sol\":{\"keccak256\":\"0x4aa81f29be6f46a3ab4d898911f38c9428a560339628938524fa46a552d9d39b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://82ede5701088b28a97bd9f3d5e06ffd81c96a15687946632dbbd2e2696a5c572\",\"dweb:/ipfs/QmfEF3zx62WuJaqekCZvzca1n2XveXc5KEkt3kqRYfma2X\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_grtToken", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "uint256", "name": "_actionId", "type": "uint256" }, { "internalType": "bytes", "name": "_encodedActionArgs", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "parseAssetsForAction", "outputs": [ { "internalType": "address[]", "name": "assetsToTransfer_", "type": "address[]" }, { "internalType": "uint256[]", "name": "amountsToTransfer_", "type": "uint256[]" }, { "internalType": "address[]", "name": "assetsToReceive_", "type": "address[]" } ] }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "parseInitArgs", "outputs": [ { "internalType": "bytes", "name": "", "type": "bytes" } ] } ], "devdoc": { "kind": "dev", "methods": { "parseAssetsForAction(address,uint256,bytes)": { "params": { "_actionId": "The _actionId for the callOnExternalPosition", "_encodedActionArgs": "The encoded parameters for the callOnExternalPosition" }, "returns": { "amountsToTransfer_": "The amounts to be transferred from the Vault", "assetsToReceive_": "The assets to be received at the Vault", "assetsToTransfer_": "The assets to be transferred from the Vault" } }, "parseInitArgs(address,bytes)": { "details": "Empty for this external position type" } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "parseAssetsForAction(address,uint256,bytes)": { "notice": "Parses the assets to send and receive for the callOnExternalPosition" }, "parseInitArgs(address,bytes)": { "notice": "Parse and validate input arguments to be used when initializing a newly-deployed ExternalPositionProxy" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/external-position-manager/external-positions/the-graph-delegation/TheGraphDelegationPositionParser.sol": "TheGraphDelegationPositionParser" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/external-positions/IExternalPosition.sol": { "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", "urls": [ "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/IExternalPositionParser.sol": { "keccak256": "0x1662fbd65841ee5e9cf8d5329b9d04c264b24ef68ae1e0484e59a8969b0d2c46", "urls": [ "bzz-raw://580569b0f875e0344db83fae1e72dcc6c0767a049b2a6cc3e4f3c411d2284b27", "dweb:/ipfs/QmXFmF9QbcVsPHaBo1iq8sZHYhDkwfkMZpHmLTuJJ37NvZ" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/the-graph-delegation/ITheGraphDelegationPosition.sol": { "keccak256": "0xf84f115648356acfbe30c99a2bf68ac418c399da8cdc70735ef080036a5ea412", "urls": [ "bzz-raw://4f8603ad119f92c6ed7a953a61ecf02e7a3499b915995e63302c80b4c6ee2f89", "dweb:/ipfs/QmcCs6xqLHndv9FbK2pHEK6YKGVui43HYonQPnyx3HqaCP" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/the-graph-delegation/TheGraphDelegationPositionDataDecoder.sol": { "keccak256": "0xd7197b02930730c30cc8b4e33bb62e1d89cda0bc43981c4ecfa30e5a5f6bd7b9", "urls": [ "bzz-raw://0b06b66a39501e58e3decd9447c672ff525c9c872fe6468fc076c1f104582763", "dweb:/ipfs/QmPeQyvtbwB2SVjJwzmaXX42nAu2mFUyfprfcR9eHkMcGt" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/the-graph-delegation/TheGraphDelegationPositionParser.sol": { "keccak256": "0x4aa81f29be6f46a3ab4d898911f38c9428a560339628938524fa46a552d9d39b", "urls": [ "bzz-raw://82ede5701088b28a97bd9f3d5e06ffd81c96a15687946632dbbd2e2696a5c572", "dweb:/ipfs/QmfEF3zx62WuJaqekCZvzca1n2XveXc5KEkt3kqRYfma2X" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 141 } diff --git a/eth_defi/abi/enzyme/Tick.json b/eth_defi/abi/enzyme/Tick.json index 0a619b4a..b351cf69 100644 --- a/eth_defi/abi/enzyme/Tick.json +++ b/eth_defi/abi/enzyme/Tick.json @@ -1,110 +1 @@ -{ - "abi": [], - "bytecode": { - "object": "0x602d6023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c6343000706000a", - "sourceMap": "277:9241:41:-:0;;;;;;;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c6343000706000a", - "sourceMap": "277:9241:41:-:0;;;;;;;;", - "linkReferences": {} - }, - "methodIdentifiers": {}, - "rawMetadata": "{\"compiler\":{\"version\":\"0.7.6+commit.7338295f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"title\":\"Tick\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Contains functions for managing tick processes and relevant calculations\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@uniswap/v3-core/contracts/libraries/Tick.sol\":\"Tick\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"node_modules/@uniswap/v3-core/contracts/libraries/LiquidityMath.sol\":{\"keccak256\":\"0xd53041349718d5bce4a89e87cd911879d41ba42ba3fab0614e5e8b742f352b88\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://ea7529b99ab4fc1d3e6c5a31990fb688f0a2d6cc302c0419e0cf5a2d6c563781\",\"dweb:/ipfs/QmVaphRSNpfChHZKzutQ9WprwCo2WE1euvThRfHcwsnHhj\"]},\"node_modules/@uniswap/v3-core/contracts/libraries/LowGasSafeMath.sol\":{\"keccak256\":\"0x86715eb960f18e01ac94e3bba4614ed51a887fa3c5bd1c43bf80aa98e019cf2d\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://bfc1d5d58e59015086b0e65a6c3a2ddad312e2350480510f6c0c8167f3d71a37\",\"dweb:/ipfs/QmQndULYjFsHKHjMAKLMfc12vWbVB5FawtioHtvwcWRJZp\"]},\"node_modules/@uniswap/v3-core/contracts/libraries/SafeCast.sol\":{\"keccak256\":\"0x4c12bf820c0b011f5490a209960ca34dd8af34660ef9e01de0438393d15e3fd8\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://fed11489e218e55d087d42b4f350a30e10cd2aedec8f432bd3cc712f648d5869\",\"dweb:/ipfs/QmWfRnRxyXwHUDcTQPazxYYk5jxErGeQqdvnYtyg5nBPbU\"]},\"node_modules/@uniswap/v3-core/contracts/libraries/Tick.sol\":{\"keccak256\":\"0x60752e079938508bfc274e2a3d2618ede09e153ba6f08cd3c476557947fbe2ac\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://23e7045efd6c5c4c5b3d15898d639cc2c128ace49d2dab0b1ef2b868e6a43234\",\"dweb:/ipfs/QmaoV6txuomfjSoeakDyZ73mPygEHCgrYarKQxQ5sp29hu\"]},\"node_modules/@uniswap/v3-core/contracts/libraries/TickMath.sol\":{\"keccak256\":\"0x1f864a2bf61ba05f3173eaf2e3f94c5e1da4bec0554757527b6d1ef1fe439e4e\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://5139b586df546a9d1c46804ca400b1cb9ce87236eaf212ebd64edee6747a172a\",\"dweb:/ipfs/QmVa2kcRw3VyuB6j1EVWXACKnkbQZgfXYXNi5voq3XkYG8\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.7.6+commit.7338295f" - }, - "language": "Solidity", - "output": { - "abi": [], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "node_modules/@uniswap/v3-core/contracts/libraries/Tick.sol": "Tick" - }, - "libraries": {} - }, - "sources": { - "node_modules/@uniswap/v3-core/contracts/libraries/LiquidityMath.sol": { - "keccak256": "0xd53041349718d5bce4a89e87cd911879d41ba42ba3fab0614e5e8b742f352b88", - "urls": [ - "bzz-raw://ea7529b99ab4fc1d3e6c5a31990fb688f0a2d6cc302c0419e0cf5a2d6c563781", - "dweb:/ipfs/QmVaphRSNpfChHZKzutQ9WprwCo2WE1euvThRfHcwsnHhj" - ], - "license": "GPL-2.0-or-later" - }, - "node_modules/@uniswap/v3-core/contracts/libraries/LowGasSafeMath.sol": { - "keccak256": "0x86715eb960f18e01ac94e3bba4614ed51a887fa3c5bd1c43bf80aa98e019cf2d", - "urls": [ - "bzz-raw://bfc1d5d58e59015086b0e65a6c3a2ddad312e2350480510f6c0c8167f3d71a37", - "dweb:/ipfs/QmQndULYjFsHKHjMAKLMfc12vWbVB5FawtioHtvwcWRJZp" - ], - "license": "GPL-2.0-or-later" - }, - "node_modules/@uniswap/v3-core/contracts/libraries/SafeCast.sol": { - "keccak256": "0x4c12bf820c0b011f5490a209960ca34dd8af34660ef9e01de0438393d15e3fd8", - "urls": [ - "bzz-raw://fed11489e218e55d087d42b4f350a30e10cd2aedec8f432bd3cc712f648d5869", - "dweb:/ipfs/QmWfRnRxyXwHUDcTQPazxYYk5jxErGeQqdvnYtyg5nBPbU" - ], - "license": "GPL-2.0-or-later" - }, - "node_modules/@uniswap/v3-core/contracts/libraries/Tick.sol": { - "keccak256": "0x60752e079938508bfc274e2a3d2618ede09e153ba6f08cd3c476557947fbe2ac", - "urls": [ - "bzz-raw://23e7045efd6c5c4c5b3d15898d639cc2c128ace49d2dab0b1ef2b868e6a43234", - "dweb:/ipfs/QmaoV6txuomfjSoeakDyZ73mPygEHCgrYarKQxQ5sp29hu" - ], - "license": "BUSL-1.1" - }, - "node_modules/@uniswap/v3-core/contracts/libraries/TickMath.sol": { - "keccak256": "0x1f864a2bf61ba05f3173eaf2e3f94c5e1da4bec0554757527b6d1ef1fe439e4e", - "urls": [ - "bzz-raw://5139b586df546a9d1c46804ca400b1cb9ce87236eaf212ebd64edee6747a172a", - "dweb:/ipfs/QmVa2kcRw3VyuB6j1EVWXACKnkbQZgfXYXNi5voq3XkYG8" - ], - "license": "GPL-2.0-or-later" - } - }, - "version": 1 - }, - "id": 41 -} +{ "abi": [], "bytecode": { "object": "0x602d6023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c6343000706000a", "sourceMap": "277:9241:41:-:0;;;;;;;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c6343000706000a", "sourceMap": "277:9241:41:-:0;;;;;;;;", "linkReferences": {} }, "methodIdentifiers": {}, "rawMetadata": "{\"compiler\":{\"version\":\"0.7.6+commit.7338295f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"title\":\"Tick\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Contains functions for managing tick processes and relevant calculations\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@uniswap/v3-core/contracts/libraries/Tick.sol\":\"Tick\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"node_modules/@uniswap/v3-core/contracts/libraries/LiquidityMath.sol\":{\"keccak256\":\"0xd53041349718d5bce4a89e87cd911879d41ba42ba3fab0614e5e8b742f352b88\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://ea7529b99ab4fc1d3e6c5a31990fb688f0a2d6cc302c0419e0cf5a2d6c563781\",\"dweb:/ipfs/QmVaphRSNpfChHZKzutQ9WprwCo2WE1euvThRfHcwsnHhj\"]},\"node_modules/@uniswap/v3-core/contracts/libraries/LowGasSafeMath.sol\":{\"keccak256\":\"0x86715eb960f18e01ac94e3bba4614ed51a887fa3c5bd1c43bf80aa98e019cf2d\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://bfc1d5d58e59015086b0e65a6c3a2ddad312e2350480510f6c0c8167f3d71a37\",\"dweb:/ipfs/QmQndULYjFsHKHjMAKLMfc12vWbVB5FawtioHtvwcWRJZp\"]},\"node_modules/@uniswap/v3-core/contracts/libraries/SafeCast.sol\":{\"keccak256\":\"0x4c12bf820c0b011f5490a209960ca34dd8af34660ef9e01de0438393d15e3fd8\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://fed11489e218e55d087d42b4f350a30e10cd2aedec8f432bd3cc712f648d5869\",\"dweb:/ipfs/QmWfRnRxyXwHUDcTQPazxYYk5jxErGeQqdvnYtyg5nBPbU\"]},\"node_modules/@uniswap/v3-core/contracts/libraries/Tick.sol\":{\"keccak256\":\"0x60752e079938508bfc274e2a3d2618ede09e153ba6f08cd3c476557947fbe2ac\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://23e7045efd6c5c4c5b3d15898d639cc2c128ace49d2dab0b1ef2b868e6a43234\",\"dweb:/ipfs/QmaoV6txuomfjSoeakDyZ73mPygEHCgrYarKQxQ5sp29hu\"]},\"node_modules/@uniswap/v3-core/contracts/libraries/TickMath.sol\":{\"keccak256\":\"0x1f864a2bf61ba05f3173eaf2e3f94c5e1da4bec0554757527b6d1ef1fe439e4e\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://5139b586df546a9d1c46804ca400b1cb9ce87236eaf212ebd64edee6747a172a\",\"dweb:/ipfs/QmVa2kcRw3VyuB6j1EVWXACKnkbQZgfXYXNi5voq3XkYG8\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.7.6+commit.7338295f" }, "language": "Solidity", "output": { "abi": [], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "node_modules/@uniswap/v3-core/contracts/libraries/Tick.sol": "Tick" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "node_modules/@uniswap/v3-core/contracts/libraries/LiquidityMath.sol": { "keccak256": "0xd53041349718d5bce4a89e87cd911879d41ba42ba3fab0614e5e8b742f352b88", "urls": [ "bzz-raw://ea7529b99ab4fc1d3e6c5a31990fb688f0a2d6cc302c0419e0cf5a2d6c563781", "dweb:/ipfs/QmVaphRSNpfChHZKzutQ9WprwCo2WE1euvThRfHcwsnHhj" ], "license": "GPL-2.0-or-later" }, "node_modules/@uniswap/v3-core/contracts/libraries/LowGasSafeMath.sol": { "keccak256": "0x86715eb960f18e01ac94e3bba4614ed51a887fa3c5bd1c43bf80aa98e019cf2d", "urls": [ "bzz-raw://bfc1d5d58e59015086b0e65a6c3a2ddad312e2350480510f6c0c8167f3d71a37", "dweb:/ipfs/QmQndULYjFsHKHjMAKLMfc12vWbVB5FawtioHtvwcWRJZp" ], "license": "GPL-2.0-or-later" }, "node_modules/@uniswap/v3-core/contracts/libraries/SafeCast.sol": { "keccak256": "0x4c12bf820c0b011f5490a209960ca34dd8af34660ef9e01de0438393d15e3fd8", "urls": [ "bzz-raw://fed11489e218e55d087d42b4f350a30e10cd2aedec8f432bd3cc712f648d5869", "dweb:/ipfs/QmWfRnRxyXwHUDcTQPazxYYk5jxErGeQqdvnYtyg5nBPbU" ], "license": "GPL-2.0-or-later" }, "node_modules/@uniswap/v3-core/contracts/libraries/Tick.sol": { "keccak256": "0x60752e079938508bfc274e2a3d2618ede09e153ba6f08cd3c476557947fbe2ac", "urls": [ "bzz-raw://23e7045efd6c5c4c5b3d15898d639cc2c128ace49d2dab0b1ef2b868e6a43234", "dweb:/ipfs/QmaoV6txuomfjSoeakDyZ73mPygEHCgrYarKQxQ5sp29hu" ], "license": "BUSL-1.1" }, "node_modules/@uniswap/v3-core/contracts/libraries/TickMath.sol": { "keccak256": "0x1f864a2bf61ba05f3173eaf2e3f94c5e1da4bec0554757527b6d1ef1fe439e4e", "urls": [ "bzz-raw://5139b586df546a9d1c46804ca400b1cb9ce87236eaf212ebd64edee6747a172a", "dweb:/ipfs/QmVa2kcRw3VyuB6j1EVWXACKnkbQZgfXYXNi5voq3XkYG8" ], "license": "GPL-2.0-or-later" } }, "version": 1 }, "id": 41 } diff --git a/eth_defi/abi/enzyme/TickMath.json b/eth_defi/abi/enzyme/TickMath.json index 6f52fef2..12fdadc1 100644 --- a/eth_defi/abi/enzyme/TickMath.json +++ b/eth_defi/abi/enzyme/TickMath.json @@ -1,78 +1 @@ -{ - "abi": [], - "bytecode": { - "object": "0x602d6023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c6343000706000a", - "sourceMap": "306:8331:42:-:0;;;;;;;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c6343000706000a", - "sourceMap": "306:8331:42:-:0;;;;;;;;", - "linkReferences": {} - }, - "methodIdentifiers": {}, - "rawMetadata": "{\"compiler\":{\"version\":\"0.7.6+commit.7338295f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"stateVariables\":{\"MAX_SQRT_RATIO\":{\"details\":\"The maximum value that can be returned from #getSqrtRatioAtTick. Equivalent to getSqrtRatioAtTick(MAX_TICK)\"},\"MAX_TICK\":{\"details\":\"The maximum tick that may be passed to #getSqrtRatioAtTick computed from log base 1.0001 of 2**128\"},\"MIN_SQRT_RATIO\":{\"details\":\"The minimum value that can be returned from #getSqrtRatioAtTick. Equivalent to getSqrtRatioAtTick(MIN_TICK)\"},\"MIN_TICK\":{\"details\":\"The minimum tick that may be passed to #getSqrtRatioAtTick computed from log base 1.0001 of 2**-128\"}},\"title\":\"Math library for computing sqrt prices from ticks and vice versa\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Computes sqrt price for ticks of size 1.0001, i.e. sqrt(1.0001^tick) as fixed point Q64.96 numbers. Supports prices between 2**-128 and 2**128\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@uniswap/v3-core/contracts/libraries/TickMath.sol\":\"TickMath\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"node_modules/@uniswap/v3-core/contracts/libraries/TickMath.sol\":{\"keccak256\":\"0x1f864a2bf61ba05f3173eaf2e3f94c5e1da4bec0554757527b6d1ef1fe439e4e\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://5139b586df546a9d1c46804ca400b1cb9ce87236eaf212ebd64edee6747a172a\",\"dweb:/ipfs/QmVa2kcRw3VyuB6j1EVWXACKnkbQZgfXYXNi5voq3XkYG8\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.7.6+commit.7338295f" - }, - "language": "Solidity", - "output": { - "abi": [], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "node_modules/@uniswap/v3-core/contracts/libraries/TickMath.sol": "TickMath" - }, - "libraries": {} - }, - "sources": { - "node_modules/@uniswap/v3-core/contracts/libraries/TickMath.sol": { - "keccak256": "0x1f864a2bf61ba05f3173eaf2e3f94c5e1da4bec0554757527b6d1ef1fe439e4e", - "urls": [ - "bzz-raw://5139b586df546a9d1c46804ca400b1cb9ce87236eaf212ebd64edee6747a172a", - "dweb:/ipfs/QmVa2kcRw3VyuB6j1EVWXACKnkbQZgfXYXNi5voq3XkYG8" - ], - "license": "GPL-2.0-or-later" - } - }, - "version": 1 - }, - "id": 42 -} +{ "abi": [], "bytecode": { "object": "0x602d6023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c6343000706000a", "sourceMap": "306:8331:42:-:0;;;;;;;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c6343000706000a", "sourceMap": "306:8331:42:-:0;;;;;;;;", "linkReferences": {} }, "methodIdentifiers": {}, "rawMetadata": "{\"compiler\":{\"version\":\"0.7.6+commit.7338295f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"stateVariables\":{\"MAX_SQRT_RATIO\":{\"details\":\"The maximum value that can be returned from #getSqrtRatioAtTick. Equivalent to getSqrtRatioAtTick(MAX_TICK)\"},\"MAX_TICK\":{\"details\":\"The maximum tick that may be passed to #getSqrtRatioAtTick computed from log base 1.0001 of 2**128\"},\"MIN_SQRT_RATIO\":{\"details\":\"The minimum value that can be returned from #getSqrtRatioAtTick. Equivalent to getSqrtRatioAtTick(MIN_TICK)\"},\"MIN_TICK\":{\"details\":\"The minimum tick that may be passed to #getSqrtRatioAtTick computed from log base 1.0001 of 2**-128\"}},\"title\":\"Math library for computing sqrt prices from ticks and vice versa\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Computes sqrt price for ticks of size 1.0001, i.e. sqrt(1.0001^tick) as fixed point Q64.96 numbers. Supports prices between 2**-128 and 2**128\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"node_modules/@uniswap/v3-core/contracts/libraries/TickMath.sol\":\"TickMath\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"node_modules/@uniswap/v3-core/contracts/libraries/TickMath.sol\":{\"keccak256\":\"0x1f864a2bf61ba05f3173eaf2e3f94c5e1da4bec0554757527b6d1ef1fe439e4e\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://5139b586df546a9d1c46804ca400b1cb9ce87236eaf212ebd64edee6747a172a\",\"dweb:/ipfs/QmVa2kcRw3VyuB6j1EVWXACKnkbQZgfXYXNi5voq3XkYG8\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.7.6+commit.7338295f" }, "language": "Solidity", "output": { "abi": [], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "node_modules/@uniswap/v3-core/contracts/libraries/TickMath.sol": "TickMath" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "node_modules/@uniswap/v3-core/contracts/libraries/TickMath.sol": { "keccak256": "0x1f864a2bf61ba05f3173eaf2e3f94c5e1da4bec0554757527b6d1ef1fe439e4e", "urls": [ "bzz-raw://5139b586df546a9d1c46804ca400b1cb9ce87236eaf212ebd64edee6747a172a", "dweb:/ipfs/QmVa2kcRw3VyuB6j1EVWXACKnkbQZgfXYXNi5voq3XkYG8" ], "license": "GPL-2.0-or-later" } }, "version": 1 }, "id": 42 } diff --git a/eth_defi/abi/enzyme/TreasurySplitterMixin.json b/eth_defi/abi/enzyme/TreasurySplitterMixin.json index bbfba42b..38b5b3f5 100644 --- a/eth_defi/abi/enzyme/TreasurySplitterMixin.json +++ b/eth_defi/abi/enzyme/TreasurySplitterMixin.json @@ -1,563 +1 @@ -{ - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "percentage", - "type": "uint256" - } - ], - "name": "SplitPercentageSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "token", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "TokenClaimed", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "claimToken", - "outputs": [ - { - "internalType": "uint256", - "name": "claimedAmount_", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_to", - "type": "address" - } - ], - "name": "claimTokenAmountTo", - "outputs": [ - { - "internalType": "uint256", - "name": "claimedAmount_", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_user", - "type": "address" - } - ], - "name": "getSplitPercentageForUser", - "outputs": [ - { - "internalType": "uint256", - "name": "splitPercentage_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_user", - "type": "address" - }, - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "getTokenBalClaimableForUser", - "outputs": [ - { - "internalType": "uint256", - "name": "balClaimable_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_user", - "type": "address" - }, - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "getTokenBalClaimedForUser", - "outputs": [ - { - "internalType": "uint256", - "name": "balClaimed_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "name": "getTotalTokenBalClaimed", - "outputs": [ - { - "internalType": "uint256", - "name": "totalBalClaimed_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "claimToken(address)": "32f289cf", - "claimTokenAmountTo(address,uint256,address)": "0f0ee54c", - "getSplitPercentageForUser(address)": "8a3503fa", - "getTokenBalClaimableForUser(address,address)": "cb482df6", - "getTokenBalClaimedForUser(address,address)": "41898182", - "getTotalTokenBalClaimed(address)": "0cffb185" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"percentage\",\"type\":\"uint256\"}],\"name\":\"SplitPercentageSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"TokenClaimed\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"}],\"name\":\"claimToken\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"claimedAmount_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"}],\"name\":\"claimTokenAmountTo\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"claimedAmount_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"getSplitPercentageForUser\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"splitPercentage_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"}],\"name\":\"getTokenBalClaimableForUser\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balClaimable_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"}],\"name\":\"getTokenBalClaimedForUser\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balClaimed_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"}],\"name\":\"getTotalTokenBalClaimed\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"totalBalClaimed_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"Inheriting contract must call __setSplitRatio() to set the fixed participants ratio\",\"kind\":\"dev\",\"methods\":{\"claimToken(address)\":{\"params\":{\"_token\":\"The token to claim\"},\"returns\":{\"claimedAmount_\":\"The token amount claimed\"}},\"claimTokenAmountTo(address,uint256,address)\":{\"params\":{\"_amount\":\"The amount to claim\",\"_to\":\"The recipient of the claimed token\",\"_token\":\"The token to claim\"},\"returns\":{\"claimedAmount_\":\"The token amount claimed\"}},\"getSplitPercentageForUser(address)\":{\"params\":{\"_user\":\"The user\"},\"returns\":{\"splitPercentage_\":\"The split percentage\"}},\"getTokenBalClaimableForUser(address,address)\":{\"params\":{\"_token\":\"The token\",\"_user\":\"The user\"},\"returns\":{\"balClaimable_\":\"The claimable token balance\"}},\"getTokenBalClaimedForUser(address,address)\":{\"params\":{\"_token\":\"The token\",\"_user\":\"The user\"},\"returns\":{\"balClaimed_\":\"The balance claimed\"}},\"getTotalTokenBalClaimed(address)\":{\"params\":{\"_token\":\"The token\"},\"returns\":{\"totalBalClaimed_\":\"The total balance claimed\"}}},\"title\":\"TreasurySplitterMixin Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"claimToken(address)\":{\"notice\":\"Claims the full amount of a specified token\"},\"claimTokenAmountTo(address,uint256,address)\":{\"notice\":\"Claims a specified token amount to a specified address\"},\"getSplitPercentageForUser(address)\":{\"notice\":\"Gets the split ratio percentage for a given user\"},\"getTokenBalClaimableForUser(address,address)\":{\"notice\":\"Gets the token balance claimable for a specified user\"},\"getTokenBalClaimedForUser(address,address)\":{\"notice\":\"Gets the token balance already claimed for a given user\"},\"getTotalTokenBalClaimed(address)\":{\"notice\":\"Gets the total token balance already claimed\"}},\"notice\":\"A mixin contract for splitting all tokens amongst participants at a fixed ratio\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/shares-splitter/TreasurySplitterMixin.sol\":\"TreasurySplitterMixin\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/shares-splitter/TreasurySplitterMixin.sol\":{\"keccak256\":\"0x5884f1ae25251dc7727e7f019760b69a1e851c4d681bf91492af521bf4f74057\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3694db028974441238d79f22e85f69f89a8efa0906d30e7b4a34aad8a21f7790\",\"dweb:/ipfs/QmQPhjhosPL4S2E8tvq6ZKbp267DXLAyE145J7WVHGJhKa\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "user", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "percentage", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "SplitPercentageSet", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "user", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "token", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "TokenClaimed", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "claimToken", - "outputs": [ - { - "internalType": "uint256", - "name": "claimedAmount_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_to", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "claimTokenAmountTo", - "outputs": [ - { - "internalType": "uint256", - "name": "claimedAmount_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_user", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getSplitPercentageForUser", - "outputs": [ - { - "internalType": "uint256", - "name": "splitPercentage_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_user", - "type": "address" - }, - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getTokenBalClaimableForUser", - "outputs": [ - { - "internalType": "uint256", - "name": "balClaimable_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_user", - "type": "address" - }, - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getTokenBalClaimedForUser", - "outputs": [ - { - "internalType": "uint256", - "name": "balClaimed_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_token", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getTotalTokenBalClaimed", - "outputs": [ - { - "internalType": "uint256", - "name": "totalBalClaimed_", - "type": "uint256" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "claimToken(address)": { - "params": { - "_token": "The token to claim" - }, - "returns": { - "claimedAmount_": "The token amount claimed" - } - }, - "claimTokenAmountTo(address,uint256,address)": { - "params": { - "_amount": "The amount to claim", - "_to": "The recipient of the claimed token", - "_token": "The token to claim" - }, - "returns": { - "claimedAmount_": "The token amount claimed" - } - }, - "getSplitPercentageForUser(address)": { - "params": { - "_user": "The user" - }, - "returns": { - "splitPercentage_": "The split percentage" - } - }, - "getTokenBalClaimableForUser(address,address)": { - "params": { - "_token": "The token", - "_user": "The user" - }, - "returns": { - "balClaimable_": "The claimable token balance" - } - }, - "getTokenBalClaimedForUser(address,address)": { - "params": { - "_token": "The token", - "_user": "The user" - }, - "returns": { - "balClaimed_": "The balance claimed" - } - }, - "getTotalTokenBalClaimed(address)": { - "params": { - "_token": "The token" - }, - "returns": { - "totalBalClaimed_": "The total balance claimed" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "claimToken(address)": { - "notice": "Claims the full amount of a specified token" - }, - "claimTokenAmountTo(address,uint256,address)": { - "notice": "Claims a specified token amount to a specified address" - }, - "getSplitPercentageForUser(address)": { - "notice": "Gets the split ratio percentage for a given user" - }, - "getTokenBalClaimableForUser(address,address)": { - "notice": "Gets the token balance claimable for a specified user" - }, - "getTokenBalClaimedForUser(address,address)": { - "notice": "Gets the token balance already claimed for a given user" - }, - "getTotalTokenBalClaimed(address)": { - "notice": "Gets the total token balance already claimed" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/persistent/shares-splitter/TreasurySplitterMixin.sol": "TreasurySplitterMixin" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/shares-splitter/TreasurySplitterMixin.sol": { - "keccak256": "0x5884f1ae25251dc7727e7f019760b69a1e851c4d681bf91492af521bf4f74057", - "urls": [ - "bzz-raw://3694db028974441238d79f22e85f69f89a8efa0906d30e7b4a34aad8a21f7790", - "dweb:/ipfs/QmQPhjhosPL4S2E8tvq6ZKbp267DXLAyE145J7WVHGJhKa" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { - "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", - "urls": [ - "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", - "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Address.sol": { - "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", - "urls": [ - "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", - "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 61 -} +{ "abi": [ { "type": "function", "name": "claimToken", "inputs": [ { "name": "_token", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "claimedAmount_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "claimTokenAmountTo", "inputs": [ { "name": "_token", "type": "address", "internalType": "address" }, { "name": "_amount", "type": "uint256", "internalType": "uint256" }, { "name": "_to", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "claimedAmount_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "getSplitPercentageForUser", "inputs": [ { "name": "_user", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "splitPercentage_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "getTokenBalClaimableForUser", "inputs": [ { "name": "_user", "type": "address", "internalType": "address" }, { "name": "_token", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "balClaimable_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "getTokenBalClaimedForUser", "inputs": [ { "name": "_user", "type": "address", "internalType": "address" }, { "name": "_token", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "balClaimed_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "getTotalTokenBalClaimed", "inputs": [ { "name": "_token", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "totalBalClaimed_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "event", "name": "SplitPercentageSet", "inputs": [ { "name": "user", "type": "address", "indexed": true, "internalType": "address" }, { "name": "percentage", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "TokenClaimed", "inputs": [ { "name": "user", "type": "address", "indexed": true, "internalType": "address" }, { "name": "token", "type": "address", "indexed": true, "internalType": "address" }, { "name": "amount", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "claimToken(address)": "32f289cf", "claimTokenAmountTo(address,uint256,address)": "0f0ee54c", "getSplitPercentageForUser(address)": "8a3503fa", "getTokenBalClaimableForUser(address,address)": "cb482df6", "getTokenBalClaimedForUser(address,address)": "41898182", "getTotalTokenBalClaimed(address)": "0cffb185" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"percentage\",\"type\":\"uint256\"}],\"name\":\"SplitPercentageSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"TokenClaimed\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"}],\"name\":\"claimToken\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"claimedAmount_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_to\",\"type\":\"address\"}],\"name\":\"claimTokenAmountTo\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"claimedAmount_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"getSplitPercentageForUser\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"splitPercentage_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"}],\"name\":\"getTokenBalClaimableForUser\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balClaimable_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"}],\"name\":\"getTokenBalClaimedForUser\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balClaimed_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_token\",\"type\":\"address\"}],\"name\":\"getTotalTokenBalClaimed\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"totalBalClaimed_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"Inheriting contract must call __setSplitRatio() to set the fixed participants ratio\",\"kind\":\"dev\",\"methods\":{\"claimToken(address)\":{\"params\":{\"_token\":\"The token to claim\"},\"returns\":{\"claimedAmount_\":\"The token amount claimed\"}},\"claimTokenAmountTo(address,uint256,address)\":{\"params\":{\"_amount\":\"The amount to claim\",\"_to\":\"The recipient of the claimed token\",\"_token\":\"The token to claim\"},\"returns\":{\"claimedAmount_\":\"The token amount claimed\"}},\"getSplitPercentageForUser(address)\":{\"params\":{\"_user\":\"The user\"},\"returns\":{\"splitPercentage_\":\"The split percentage\"}},\"getTokenBalClaimableForUser(address,address)\":{\"params\":{\"_token\":\"The token\",\"_user\":\"The user\"},\"returns\":{\"balClaimable_\":\"The claimable token balance\"}},\"getTokenBalClaimedForUser(address,address)\":{\"params\":{\"_token\":\"The token\",\"_user\":\"The user\"},\"returns\":{\"balClaimed_\":\"The balance claimed\"}},\"getTotalTokenBalClaimed(address)\":{\"params\":{\"_token\":\"The token\"},\"returns\":{\"totalBalClaimed_\":\"The total balance claimed\"}}},\"title\":\"TreasurySplitterMixin Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"claimToken(address)\":{\"notice\":\"Claims the full amount of a specified token\"},\"claimTokenAmountTo(address,uint256,address)\":{\"notice\":\"Claims a specified token amount to a specified address\"},\"getSplitPercentageForUser(address)\":{\"notice\":\"Gets the split ratio percentage for a given user\"},\"getTokenBalClaimableForUser(address,address)\":{\"notice\":\"Gets the token balance claimable for a specified user\"},\"getTokenBalClaimedForUser(address,address)\":{\"notice\":\"Gets the token balance already claimed for a given user\"},\"getTotalTokenBalClaimed(address)\":{\"notice\":\"Gets the total token balance already claimed\"}},\"notice\":\"A mixin contract for splitting all tokens amongst participants at a fixed ratio\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/shares-splitter/TreasurySplitterMixin.sol\":\"TreasurySplitterMixin\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/shares-splitter/TreasurySplitterMixin.sol\":{\"keccak256\":\"0x5884f1ae25251dc7727e7f019760b69a1e851c4d681bf91492af521bf4f74057\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3694db028974441238d79f22e85f69f89a8efa0906d30e7b4a34aad8a21f7790\",\"dweb:/ipfs/QmQPhjhosPL4S2E8tvq6ZKbp267DXLAyE145J7WVHGJhKa\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "user", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "percentage", "type": "uint256", "indexed": false } ], "type": "event", "name": "SplitPercentageSet", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "user", "type": "address", "indexed": true }, { "internalType": "address", "name": "token", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "amount", "type": "uint256", "indexed": false } ], "type": "event", "name": "TokenClaimed", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "_token", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "claimToken", "outputs": [ { "internalType": "uint256", "name": "claimedAmount_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "_token", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" }, { "internalType": "address", "name": "_to", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "claimTokenAmountTo", "outputs": [ { "internalType": "uint256", "name": "claimedAmount_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "_user", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getSplitPercentageForUser", "outputs": [ { "internalType": "uint256", "name": "splitPercentage_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "_user", "type": "address" }, { "internalType": "address", "name": "_token", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getTokenBalClaimableForUser", "outputs": [ { "internalType": "uint256", "name": "balClaimable_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "_user", "type": "address" }, { "internalType": "address", "name": "_token", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getTokenBalClaimedForUser", "outputs": [ { "internalType": "uint256", "name": "balClaimed_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "_token", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getTotalTokenBalClaimed", "outputs": [ { "internalType": "uint256", "name": "totalBalClaimed_", "type": "uint256" } ] } ], "devdoc": { "kind": "dev", "methods": { "claimToken(address)": { "params": { "_token": "The token to claim" }, "returns": { "claimedAmount_": "The token amount claimed" } }, "claimTokenAmountTo(address,uint256,address)": { "params": { "_amount": "The amount to claim", "_to": "The recipient of the claimed token", "_token": "The token to claim" }, "returns": { "claimedAmount_": "The token amount claimed" } }, "getSplitPercentageForUser(address)": { "params": { "_user": "The user" }, "returns": { "splitPercentage_": "The split percentage" } }, "getTokenBalClaimableForUser(address,address)": { "params": { "_token": "The token", "_user": "The user" }, "returns": { "balClaimable_": "The claimable token balance" } }, "getTokenBalClaimedForUser(address,address)": { "params": { "_token": "The token", "_user": "The user" }, "returns": { "balClaimed_": "The balance claimed" } }, "getTotalTokenBalClaimed(address)": { "params": { "_token": "The token" }, "returns": { "totalBalClaimed_": "The total balance claimed" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "claimToken(address)": { "notice": "Claims the full amount of a specified token" }, "claimTokenAmountTo(address,uint256,address)": { "notice": "Claims a specified token amount to a specified address" }, "getSplitPercentageForUser(address)": { "notice": "Gets the split ratio percentage for a given user" }, "getTokenBalClaimableForUser(address,address)": { "notice": "Gets the token balance claimable for a specified user" }, "getTokenBalClaimedForUser(address,address)": { "notice": "Gets the token balance already claimed for a given user" }, "getTotalTokenBalClaimed(address)": { "notice": "Gets the total token balance already claimed" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/persistent/shares-splitter/TreasurySplitterMixin.sol": "TreasurySplitterMixin" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/shares-splitter/TreasurySplitterMixin.sol": { "keccak256": "0x5884f1ae25251dc7727e7f019760b69a1e851c4d681bf91492af521bf4f74057", "urls": [ "bzz-raw://3694db028974441238d79f22e85f69f89a8efa0906d30e7b4a34aad8a21f7790", "dweb:/ipfs/QmQPhjhosPL4S2E8tvq6ZKbp267DXLAyE145J7WVHGJhKa" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", "urls": [ "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Address.sol": { "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", "urls": [ "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" } }, "version": 1 }, "id": 61 } diff --git a/eth_defi/abi/enzyme/Uint256ArrayLib.json b/eth_defi/abi/enzyme/Uint256ArrayLib.json index 7c9a0fc1..355445aa 100644 --- a/eth_defi/abi/enzyme/Uint256ArrayLib.json +++ b/eth_defi/abi/enzyme/Uint256ArrayLib.json @@ -1,78 +1 @@ -{ - "abi": [], - "bytecode": { - "object": "0x602d6023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c634300060c000a", - "sourceMap": "425:5247:363:-:0;;;;;;;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c634300060c000a", - "sourceMap": "425:5247:363:-:0;;;;;;;;", - "linkReferences": {} - }, - "methodIdentifiers": {}, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"Uint256Array Library\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"A library to extend the uint256 array data type\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/utils/Uint256ArrayLib.sol\":\"Uint256ArrayLib\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/utils/Uint256ArrayLib.sol\":{\"keccak256\":\"0x1627d0d32692b86c5dd3e74ebb8305fbf99a3c41d4b90e736077762cc80c1a31\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://54ff92ccd4bd685dda44c2520e3f52478168e909b400c3cc4076d37f5c2704ef\",\"dweb:/ipfs/QmYUxeaKfPwnUtP35i6JJ3ptsaDFEV6SD2o4VV8d5vBUZD\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/utils/Uint256ArrayLib.sol": "Uint256ArrayLib" - }, - "libraries": {} - }, - "sources": { - "contracts/release/utils/Uint256ArrayLib.sol": { - "keccak256": "0x1627d0d32692b86c5dd3e74ebb8305fbf99a3c41d4b90e736077762cc80c1a31", - "urls": [ - "bzz-raw://54ff92ccd4bd685dda44c2520e3f52478168e909b400c3cc4076d37f5c2704ef", - "dweb:/ipfs/QmYUxeaKfPwnUtP35i6JJ3ptsaDFEV6SD2o4VV8d5vBUZD" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 363 -} +{ "abi": [], "bytecode": { "object": "0x602d6023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c634300060c000a", "sourceMap": "425:5247:363:-:0;;;;;;;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c634300060c000a", "sourceMap": "425:5247:363:-:0;;;;;;;;", "linkReferences": {} }, "methodIdentifiers": {}, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"Uint256Array Library\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"A library to extend the uint256 array data type\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/utils/Uint256ArrayLib.sol\":\"Uint256ArrayLib\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/utils/Uint256ArrayLib.sol\":{\"keccak256\":\"0x1627d0d32692b86c5dd3e74ebb8305fbf99a3c41d4b90e736077762cc80c1a31\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://54ff92ccd4bd685dda44c2520e3f52478168e909b400c3cc4076d37f5c2704ef\",\"dweb:/ipfs/QmYUxeaKfPwnUtP35i6JJ3ptsaDFEV6SD2o4VV8d5vBUZD\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/utils/Uint256ArrayLib.sol": "Uint256ArrayLib" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/utils/Uint256ArrayLib.sol": { "keccak256": "0x1627d0d32692b86c5dd3e74ebb8305fbf99a3c41d4b90e736077762cc80c1a31", "urls": [ "bzz-raw://54ff92ccd4bd685dda44c2520e3f52478168e909b400c3cc4076d37f5c2704ef", "dweb:/ipfs/QmYUxeaKfPwnUtP35i6JJ3ptsaDFEV6SD2o4VV8d5vBUZD" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 363 } diff --git a/eth_defi/abi/enzyme/UintListRegistry.json b/eth_defi/abi/enzyme/UintListRegistry.json index d63ffcaf..394ea3dd 100644 --- a/eth_defi/abi/enzyme/UintListRegistry.json +++ b/eth_defi/abi/enzyme/UintListRegistry.json @@ -1,1343 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_dispatcher", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "item", - "type": "uint256" - } - ], - "name": "ItemAddedToList", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "item", - "type": "uint256" - } - ], - "name": "ItemRemovedFromList", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "string", - "name": "description", - "type": "string" - } - ], - "name": "ListAttested", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "creator", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "owner", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "enum UintListRegistry.UpdateType", - "name": "updateType", - "type": "uint8" - } - ], - "name": "ListCreated", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "indexed": true, - "internalType": "address", - "name": "nextOwner", - "type": "address" - } - ], - "name": "ListOwnerSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint256", - "name": "id", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "enum UintListRegistry.UpdateType", - "name": "prevUpdateType", - "type": "uint8" - }, - { - "indexed": true, - "internalType": "enum UintListRegistry.UpdateType", - "name": "nextUpdateType", - "type": "uint8" - } - ], - "name": "ListUpdateTypeSet", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_id", - "type": "uint256" - }, - { - "internalType": "uint256[]", - "name": "_items", - "type": "uint256[]" - } - ], - "name": "addToList", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256[]", - "name": "_ids", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "_items", - "type": "uint256[]" - } - ], - "name": "areAllInAllLists", - "outputs": [ - { - "internalType": "bool", - "name": "areAllInAllLists_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_id", - "type": "uint256" - }, - { - "internalType": "uint256[]", - "name": "_items", - "type": "uint256[]" - } - ], - "name": "areAllInList", - "outputs": [ - { - "internalType": "bool", - "name": "areAllInList_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256[]", - "name": "_ids", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "_items", - "type": "uint256[]" - } - ], - "name": "areAllInSomeOfLists", - "outputs": [ - { - "internalType": "bool", - "name": "areAllInSomeOfLists_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256[]", - "name": "_ids", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "_items", - "type": "uint256[]" - } - ], - "name": "areAllNotInAnyOfLists", - "outputs": [ - { - "internalType": "bool", - "name": "areAllNotInAnyOfLists_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_id", - "type": "uint256" - }, - { - "internalType": "uint256[]", - "name": "_items", - "type": "uint256[]" - } - ], - "name": "areAllNotInList", - "outputs": [ - { - "internalType": "bool", - "name": "areAllNotInList_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256[]", - "name": "_ids", - "type": "uint256[]" - }, - { - "internalType": "string[]", - "name": "_descriptions", - "type": "string[]" - } - ], - "name": "attestLists", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - }, - { - "internalType": "enum UintListRegistry.UpdateType", - "name": "_updateType", - "type": "uint8" - }, - { - "internalType": "uint256[]", - "name": "_initialItems", - "type": "uint256[]" - } - ], - "name": "createList", - "outputs": [ - { - "internalType": "uint256", - "name": "id_", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getDispatcher", - "outputs": [ - { - "internalType": "address", - "name": "dispatcher_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getListCount", - "outputs": [ - { - "internalType": "uint256", - "name": "count_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_id", - "type": "uint256" - } - ], - "name": "getListOwner", - "outputs": [ - { - "internalType": "address", - "name": "owner_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_id", - "type": "uint256" - } - ], - "name": "getListUpdateType", - "outputs": [ - { - "internalType": "enum UintListRegistry.UpdateType", - "name": "updateType_", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256[]", - "name": "_ids", - "type": "uint256[]" - }, - { - "internalType": "uint256", - "name": "_item", - "type": "uint256" - } - ], - "name": "isInAllLists", - "outputs": [ - { - "internalType": "bool", - "name": "isInAllLists_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_id", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_item", - "type": "uint256" - } - ], - "name": "isInList", - "outputs": [ - { - "internalType": "bool", - "name": "isInList_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256[]", - "name": "_ids", - "type": "uint256[]" - }, - { - "internalType": "uint256", - "name": "_item", - "type": "uint256" - } - ], - "name": "isInSomeOfLists", - "outputs": [ - { - "internalType": "bool", - "name": "isInSomeOfLists_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_id", - "type": "uint256" - }, - { - "internalType": "uint256[]", - "name": "_items", - "type": "uint256[]" - } - ], - "name": "removeFromList", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_id", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_nextOwner", - "type": "address" - } - ], - "name": "setListOwner", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_id", - "type": "uint256" - }, - { - "internalType": "enum UintListRegistry.UpdateType", - "name": "_nextUpdateType", - "type": "uint8" - } - ], - "name": "setListUpdateType", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x60a06040523480156200001157600080fd5b506040516200153b3803806200153b8339810160408190526200003491620000ef565b606081901b6001600160601b031916608052604080518082019091526000808252602082018181528154600181018355918052825160029092027f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630180546001600160a01b039093166001600160a01b031990931692909217808355905190829060ff60a01b1916600160a01b836003811115620000ce57fe5b021790555050505062000144565b8051620000e9816200012a565b92915050565b6000602082840312156200010257600080fd5b6000620001108484620000dc565b949350505050565b60006001600160a01b038216620000e9565b620001358162000118565b81146200014157600080fd5b50565b60805160601c6113d9620001626000398061086352506113d96000f3fe608060405234801561001057600080fd5b50600436106101165760003560e01c80637e7f6936116100a2578063b426f94611610071578063b426f94614610246578063e75411ef14610259578063ebb3d5891461026c578063ee4483dc14610274578063f71e46691461028757610116565b80637e7f6936146101fa57806382b719761461020d578063956e8faa14610220578063a62b27271461023357610116565b80632cfd1d16116100e95780632cfd1d161461018c57806342a61ecd146101a15780634e4edcd0146101b45780634ee5b4aa146101c7578063539f2ab4146101da57610116565b806319bcc9381461011b578063285ddf3c146101445780632a182965146101645780632ce37b1014610177575b600080fd5b61012e610129366004610ee2565b61029a565b60405161013b91906111d8565b60405180910390f35b610157610152366004610fd5565b6102ca565b60405161013b91906111e6565b610157610172366004610e32565b610304565b61017f61034e565b60405161013b9190611274565b61019f61019a366004610f30565b610354565b005b6101576101af366004610e9b565b6104b2565b61019f6101c2366004610f30565b6104f2565b6101576101d5366004610e9b565b6105ab565b6101ed6101e8366004610ee2565b6105e8565b60405161013b91906111f4565b610157610208366004610f86565b610617565b61015761021b366004610e32565b610658565b61019f61022e366004610f00565b610698565b610157610241366004610e32565b610728565b61019f610254366004610dda565b61075c565b610157610267366004610f86565b61082e565b61012e610861565b61019f610282366004610fa5565b610885565b61017f610295366004610d72565b610981565b60008082815481106102a857fe5b60009182526020909120600290910201546001600160a01b031690505b919050565b60008083815481106102d857fe5b600091825260208083208584526001600290930201919091019052604090205460ff1690505b92915050565b6000805b82518110156103445761032e8484838151811061032157fe5b60200260200101516104b2565b61033c5760009150506102fe565b600101610308565b5060019392505050565b60005490565b8261035f3382610aac565b6103845760405162461bcd60e51b815260040161037b90611214565b60405180910390fd5b600061038f856105e8565b9050600281600381111561039f57fe5b14806103b6575060038160038111156103b457fe5b145b6103d25760405162461bcd60e51b815260040161037b90611244565b60005b838110156104aa576103f9868686848181106103ed57fe5b905060200201356102ca565b156104a257600080878154811061040c57fe5b9060005260206000209060020201600101600087878581811061042b57fe5b90506020020135815260200190815260200160002060006101000a81548160ff021916908315150217905550857fa62524cf3a1efcf9b74bd64dce1275bc3d56375cbdff2d81b823be3c5cce763586868481811061048557fe5b905060200201356040516104999190611274565b60405180910390a25b6001016103d5565b505050505050565b6000805b8351811015610344576104dc8482815181106104ce57fe5b6020026020010151846102ca565b6104ea5760009150506102fe565b6001016104b6565b826104fd3382610aac565b6105195760405162461bcd60e51b815260040161037b90611214565b6000610524856105e8565b9050600181600381111561053457fe5b148061054b5750600381600381111561054957fe5b145b6105675760405162461bcd60e51b815260040161037b90611254565b6105a485858580806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250610b8c92505050565b5050505050565b6000805b83518110156105de576105c78482815181106104ce57fe5b156105d65760019150506102fe565b6001016105af565b5060009392505050565b60008082815481106105f657fe5b6000918252602090912060029091020154600160a01b900460ff1692915050565b6000805b8251811015610344576106418484838151811061063457fe5b60200260200101516102ca565b156106505760009150506102fe565b60010161061b565b6000805b8251811015610344576106828484838151811061067557fe5b60200260200101516105ab565b6106905760009150506102fe565b60010161065c565b816106a33382610aac565b6106bf5760405162461bcd60e51b815260040161037b90611214565b81600084815481106106cd57fe5b6000918252602082206002919091020180546001600160a01b0319166001600160a01b039384161790556040519184169185917f2d1c424d2803af2219fba896bc3092aed0ab3f7b022f412b79562b0fc2c2907d91a3505050565b6000805b8251811015610344576107458484838151811061067557fe5b156107545760009150506102fe565b60010161072c565b82811461077b5760405162461bcd60e51b815260040161037b90611224565b60005b838110156105a4576107a23386868481811061079657fe5b90506020020135610aac565b6107be5760405162461bcd60e51b815260040161037b90611234565b8484828181106107ca57fe5b905060200201357fddbb257b211697fab7f1ee9f59674cba284dbd7b9f6e1f3da5b645c890bf94008484848181106107fe57fe5b905060200281019061081091906112a4565b60405161081e929190611202565b60405180910390a260010161077e565b6000805b82518110156103445761084b8484838151811061063457fe5b6108595760009150506102fe565b600101610832565b7f000000000000000000000000000000000000000000000000000000000000000090565b816108903382610aac565b6108ac5760405162461bcd60e51b815260040161037b90611214565b60006108b7846105e8565b905060008360038111156108c757fe5b14806108de575060038160038111156108dc57fe5b145b6108fa5760405162461bcd60e51b815260040161037b90611264565b826000858154811061090857fe5b60009182526020909120600290910201805460ff60a01b1916600160a01b83600381111561093257fe5b021790555082600381111561094357fe5b847f44966c6bc2b3eef1eea6958dc704bb8527d350a282589bb13dd056819bd9d6468360405161097391906111f4565b60405180910390a350505050565b600061098b61034e565b905060006040518060400160405280876001600160a01b031681526020018660038111156109b557fe5b905281546001810183556000928352602092839020825160029092020180546001600160a01b0319166001600160a01b0390921691909117808255928201519192909190829060ff60a01b1916600160a01b836003811115610a1357fe5b02179055505050846001600160a01b0316336001600160a01b03167fc2b2d696fda57bcf0347d9ea036ce8258434f4171cd131b4c1d22a6f0ae960d28387604051610a5f929190611282565b60405180910390a3610aa481848480806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250610b8c92505050565b949350505050565b600080610ab88361029a565b9050806001600160a01b0316846001600160a01b03161480610aa45750610add610861565b6001600160a01b0316816001600160a01b0316148015610aa45750610b00610861565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b158015610b3857600080fd5b505afa158015610b4c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b709190610d54565b6001600160a01b0316846001600160a01b031614949350505050565b60005b8151811015610c5b57610ba88383838151811061063457fe5b610c5357600160008481548110610bbb57fe5b90600052602060002090600202016001016000848481518110610bda57fe5b6020026020010151815260200190815260200160002060006101000a81548160ff021916908315150217905550827f07cfe25e4b14780897cda3f2e73a50b728b4363e3bc6ff3fcd0c70e09f2b19dd838381518110610c3557fe5b6020026020010151604051610c4a9190611274565b60405180910390a25b600101610b8f565b505050565b80356102fe816113a2565b80516102fe816113a2565b60008083601f840112610c8857600080fd5b50813567ffffffffffffffff811115610ca057600080fd5b602083019150836020820283011115610cb857600080fd5b9250929050565b600082601f830112610cd057600080fd5b8135610ce3610cde82611321565b6112fa565b91508181835260208401935060208101905083856020840282011115610d0857600080fd5b60005b83811015610d345781610d1e8882610d49565b8452506020928301929190910190600101610d0b565b5050505092915050565b80356102fe816113b6565b80356102fe816113c3565b600060208284031215610d6657600080fd5b6000610aa48484610c6b565b60008060008060608587031215610d8857600080fd5b6000610d948787610c60565b9450506020610da587828801610d3e565b935050604085013567ffffffffffffffff811115610dc257600080fd5b610dce87828801610c76565b95989497509550505050565b60008060008060408587031215610df057600080fd5b843567ffffffffffffffff811115610e0757600080fd5b610e1387828801610c76565b9450945050602085013567ffffffffffffffff811115610dc257600080fd5b60008060408385031215610e4557600080fd5b823567ffffffffffffffff811115610e5c57600080fd5b610e6885828601610cbf565b925050602083013567ffffffffffffffff811115610e8557600080fd5b610e9185828601610cbf565b9150509250929050565b60008060408385031215610eae57600080fd5b823567ffffffffffffffff811115610ec557600080fd5b610ed185828601610cbf565b9250506020610e9185828601610d49565b600060208284031215610ef457600080fd5b6000610aa48484610d49565b60008060408385031215610f1357600080fd5b6000610f1f8585610d49565b9250506020610e9185828601610c60565b600080600060408486031215610f4557600080fd5b6000610f518686610d49565b935050602084013567ffffffffffffffff811115610f6e57600080fd5b610f7a86828701610c76565b92509250509250925092565b60008060408385031215610f9957600080fd5b6000610e688585610d49565b60008060408385031215610fb857600080fd5b6000610fc48585610d49565b9250506020610e9185828601610d3e565b60008060408385031215610fe857600080fd5b6000610ed18585610d49565b610ffd8161134b565b82525050565b610ffd81611356565b610ffd81611374565b60006110218385611342565b935061102e83858461137f565b6110378361138b565b9093019392505050565b600061104e601b83611342565b7f4f6e6c792063616c6c61626c65206279206c697374206f776e65720000000000815260200192915050565b6000611087601b83611342565b7f6174746573744c697374733a20556e657175616c206172726179730000000000815260200192915050565b60006110c0602883611342565b7f6174746573744c697374733a204f6e6c792063616c6c61626c65206279206c6981526739ba1037bbb732b960c11b602082015260400192915050565b600061110a602783611342565b7f72656d6f766546726f6d4c6973743a2043616e6e6f742072656d6f76652066728152661bdb481b1a5cdd60ca1b602082015260400192915050565b6000611153601d83611342565b7f616464546f4c6973743a2043616e6e6f742061646420746f206c697374000000815260200192915050565b600061118c602e83611342565b7f7365744c697374557064617465547970653a205f6e657874557064617465547981526d1c19481b9bdd08185b1b1bddd95960921b602082015260400192915050565b610ffd81611371565b602081016102fe8284610ff4565b602081016102fe8284611003565b602081016102fe828461100c565b60208082528101610aa4818486611015565b602080825281016102fe81611041565b602080825281016102fe8161107a565b602080825281016102fe816110b3565b602080825281016102fe816110fd565b602080825281016102fe81611146565b602080825281016102fe8161117f565b602081016102fe82846111cf565b6040810161129082856111cf565b61129d602083018461100c565b9392505050565b6000808335601e19368590030181126112bc57600080fd5b80840192508235915067ffffffffffffffff8211156112da57600080fd5b6020830192506001820236038313156112f257600080fd5b509250929050565b60405181810167ffffffffffffffff8111828210171561131957600080fd5b604052919050565b600067ffffffffffffffff82111561133857600080fd5b5060209081020190565b90815260200190565b60006102fe82611365565b151590565b806102c581611395565b6001600160a01b031690565b90565b60006102fe8261135b565b82818337506000910152565b601f01601f191690565b6004811061139f57fe5b50565b6113ab8161134b565b811461139f57600080fd5b6004811061139f57600080fd5b6113ab8161137156fea164736f6c634300060c000a", - "sourceMap": "517:11544:65:-:0;;;1548:258;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1598:24;;;;-1:-1:-1;;;;;;1598:24:65;;;1740:58;;;;;;;;;-1:-1:-1;1740:58:65;;;;;;;;;1729:70;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1729:70:65;;;-1:-1:-1;;;;;;1729:70:65;;;;;;;;;;;;;;;-1:-1:-1;;;;1729:70:65;-1:-1:-1;;;1729:70:65;;;;;;;;;;;;;;;;1548:258;517:11544;;5:134:-1;83:13;;101:33;83:13;101:33;:::i;:::-;68:71;;;;:::o;146:263::-;;261:2;249:9;240:7;236:23;232:32;229:2;;;277:1;274;267:12;229:2;312:1;329:64;385:7;365:9;329:64;:::i;:::-;319:74;223:186;-1:-1;;;;223:186::o;416:91::-;;-1:-1;;;;;576:54;;478:24;559:76::o;642:117::-;711:24;729:5;711:24;:::i;:::-;704:5;701:35;691:2;;750:1;747;740:12;691:2;685:74;:::o;:::-;517:11544:65;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106101165760003560e01c80637e7f6936116100a2578063b426f94611610071578063b426f94614610246578063e75411ef14610259578063ebb3d5891461026c578063ee4483dc14610274578063f71e46691461028757610116565b80637e7f6936146101fa57806382b719761461020d578063956e8faa14610220578063a62b27271461023357610116565b80632cfd1d16116100e95780632cfd1d161461018c57806342a61ecd146101a15780634e4edcd0146101b45780634ee5b4aa146101c7578063539f2ab4146101da57610116565b806319bcc9381461011b578063285ddf3c146101445780632a182965146101645780632ce37b1014610177575b600080fd5b61012e610129366004610ee2565b61029a565b60405161013b91906111d8565b60405180910390f35b610157610152366004610fd5565b6102ca565b60405161013b91906111e6565b610157610172366004610e32565b610304565b61017f61034e565b60405161013b9190611274565b61019f61019a366004610f30565b610354565b005b6101576101af366004610e9b565b6104b2565b61019f6101c2366004610f30565b6104f2565b6101576101d5366004610e9b565b6105ab565b6101ed6101e8366004610ee2565b6105e8565b60405161013b91906111f4565b610157610208366004610f86565b610617565b61015761021b366004610e32565b610658565b61019f61022e366004610f00565b610698565b610157610241366004610e32565b610728565b61019f610254366004610dda565b61075c565b610157610267366004610f86565b61082e565b61012e610861565b61019f610282366004610fa5565b610885565b61017f610295366004610d72565b610981565b60008082815481106102a857fe5b60009182526020909120600290910201546001600160a01b031690505b919050565b60008083815481106102d857fe5b600091825260208083208584526001600290930201919091019052604090205460ff1690505b92915050565b6000805b82518110156103445761032e8484838151811061032157fe5b60200260200101516104b2565b61033c5760009150506102fe565b600101610308565b5060019392505050565b60005490565b8261035f3382610aac565b6103845760405162461bcd60e51b815260040161037b90611214565b60405180910390fd5b600061038f856105e8565b9050600281600381111561039f57fe5b14806103b6575060038160038111156103b457fe5b145b6103d25760405162461bcd60e51b815260040161037b90611244565b60005b838110156104aa576103f9868686848181106103ed57fe5b905060200201356102ca565b156104a257600080878154811061040c57fe5b9060005260206000209060020201600101600087878581811061042b57fe5b90506020020135815260200190815260200160002060006101000a81548160ff021916908315150217905550857fa62524cf3a1efcf9b74bd64dce1275bc3d56375cbdff2d81b823be3c5cce763586868481811061048557fe5b905060200201356040516104999190611274565b60405180910390a25b6001016103d5565b505050505050565b6000805b8351811015610344576104dc8482815181106104ce57fe5b6020026020010151846102ca565b6104ea5760009150506102fe565b6001016104b6565b826104fd3382610aac565b6105195760405162461bcd60e51b815260040161037b90611214565b6000610524856105e8565b9050600181600381111561053457fe5b148061054b5750600381600381111561054957fe5b145b6105675760405162461bcd60e51b815260040161037b90611254565b6105a485858580806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250610b8c92505050565b5050505050565b6000805b83518110156105de576105c78482815181106104ce57fe5b156105d65760019150506102fe565b6001016105af565b5060009392505050565b60008082815481106105f657fe5b6000918252602090912060029091020154600160a01b900460ff1692915050565b6000805b8251811015610344576106418484838151811061063457fe5b60200260200101516102ca565b156106505760009150506102fe565b60010161061b565b6000805b8251811015610344576106828484838151811061067557fe5b60200260200101516105ab565b6106905760009150506102fe565b60010161065c565b816106a33382610aac565b6106bf5760405162461bcd60e51b815260040161037b90611214565b81600084815481106106cd57fe5b6000918252602082206002919091020180546001600160a01b0319166001600160a01b039384161790556040519184169185917f2d1c424d2803af2219fba896bc3092aed0ab3f7b022f412b79562b0fc2c2907d91a3505050565b6000805b8251811015610344576107458484838151811061067557fe5b156107545760009150506102fe565b60010161072c565b82811461077b5760405162461bcd60e51b815260040161037b90611224565b60005b838110156105a4576107a23386868481811061079657fe5b90506020020135610aac565b6107be5760405162461bcd60e51b815260040161037b90611234565b8484828181106107ca57fe5b905060200201357fddbb257b211697fab7f1ee9f59674cba284dbd7b9f6e1f3da5b645c890bf94008484848181106107fe57fe5b905060200281019061081091906112a4565b60405161081e929190611202565b60405180910390a260010161077e565b6000805b82518110156103445761084b8484838151811061063457fe5b6108595760009150506102fe565b600101610832565b7f000000000000000000000000000000000000000000000000000000000000000090565b816108903382610aac565b6108ac5760405162461bcd60e51b815260040161037b90611214565b60006108b7846105e8565b905060008360038111156108c757fe5b14806108de575060038160038111156108dc57fe5b145b6108fa5760405162461bcd60e51b815260040161037b90611264565b826000858154811061090857fe5b60009182526020909120600290910201805460ff60a01b1916600160a01b83600381111561093257fe5b021790555082600381111561094357fe5b847f44966c6bc2b3eef1eea6958dc704bb8527d350a282589bb13dd056819bd9d6468360405161097391906111f4565b60405180910390a350505050565b600061098b61034e565b905060006040518060400160405280876001600160a01b031681526020018660038111156109b557fe5b905281546001810183556000928352602092839020825160029092020180546001600160a01b0319166001600160a01b0390921691909117808255928201519192909190829060ff60a01b1916600160a01b836003811115610a1357fe5b02179055505050846001600160a01b0316336001600160a01b03167fc2b2d696fda57bcf0347d9ea036ce8258434f4171cd131b4c1d22a6f0ae960d28387604051610a5f929190611282565b60405180910390a3610aa481848480806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250610b8c92505050565b949350505050565b600080610ab88361029a565b9050806001600160a01b0316846001600160a01b03161480610aa45750610add610861565b6001600160a01b0316816001600160a01b0316148015610aa45750610b00610861565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b158015610b3857600080fd5b505afa158015610b4c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b709190610d54565b6001600160a01b0316846001600160a01b031614949350505050565b60005b8151811015610c5b57610ba88383838151811061063457fe5b610c5357600160008481548110610bbb57fe5b90600052602060002090600202016001016000848481518110610bda57fe5b6020026020010151815260200190815260200160002060006101000a81548160ff021916908315150217905550827f07cfe25e4b14780897cda3f2e73a50b728b4363e3bc6ff3fcd0c70e09f2b19dd838381518110610c3557fe5b6020026020010151604051610c4a9190611274565b60405180910390a25b600101610b8f565b505050565b80356102fe816113a2565b80516102fe816113a2565b60008083601f840112610c8857600080fd5b50813567ffffffffffffffff811115610ca057600080fd5b602083019150836020820283011115610cb857600080fd5b9250929050565b600082601f830112610cd057600080fd5b8135610ce3610cde82611321565b6112fa565b91508181835260208401935060208101905083856020840282011115610d0857600080fd5b60005b83811015610d345781610d1e8882610d49565b8452506020928301929190910190600101610d0b565b5050505092915050565b80356102fe816113b6565b80356102fe816113c3565b600060208284031215610d6657600080fd5b6000610aa48484610c6b565b60008060008060608587031215610d8857600080fd5b6000610d948787610c60565b9450506020610da587828801610d3e565b935050604085013567ffffffffffffffff811115610dc257600080fd5b610dce87828801610c76565b95989497509550505050565b60008060008060408587031215610df057600080fd5b843567ffffffffffffffff811115610e0757600080fd5b610e1387828801610c76565b9450945050602085013567ffffffffffffffff811115610dc257600080fd5b60008060408385031215610e4557600080fd5b823567ffffffffffffffff811115610e5c57600080fd5b610e6885828601610cbf565b925050602083013567ffffffffffffffff811115610e8557600080fd5b610e9185828601610cbf565b9150509250929050565b60008060408385031215610eae57600080fd5b823567ffffffffffffffff811115610ec557600080fd5b610ed185828601610cbf565b9250506020610e9185828601610d49565b600060208284031215610ef457600080fd5b6000610aa48484610d49565b60008060408385031215610f1357600080fd5b6000610f1f8585610d49565b9250506020610e9185828601610c60565b600080600060408486031215610f4557600080fd5b6000610f518686610d49565b935050602084013567ffffffffffffffff811115610f6e57600080fd5b610f7a86828701610c76565b92509250509250925092565b60008060408385031215610f9957600080fd5b6000610e688585610d49565b60008060408385031215610fb857600080fd5b6000610fc48585610d49565b9250506020610e9185828601610d3e565b60008060408385031215610fe857600080fd5b6000610ed18585610d49565b610ffd8161134b565b82525050565b610ffd81611356565b610ffd81611374565b60006110218385611342565b935061102e83858461137f565b6110378361138b565b9093019392505050565b600061104e601b83611342565b7f4f6e6c792063616c6c61626c65206279206c697374206f776e65720000000000815260200192915050565b6000611087601b83611342565b7f6174746573744c697374733a20556e657175616c206172726179730000000000815260200192915050565b60006110c0602883611342565b7f6174746573744c697374733a204f6e6c792063616c6c61626c65206279206c6981526739ba1037bbb732b960c11b602082015260400192915050565b600061110a602783611342565b7f72656d6f766546726f6d4c6973743a2043616e6e6f742072656d6f76652066728152661bdb481b1a5cdd60ca1b602082015260400192915050565b6000611153601d83611342565b7f616464546f4c6973743a2043616e6e6f742061646420746f206c697374000000815260200192915050565b600061118c602e83611342565b7f7365744c697374557064617465547970653a205f6e657874557064617465547981526d1c19481b9bdd08185b1b1bddd95960921b602082015260400192915050565b610ffd81611371565b602081016102fe8284610ff4565b602081016102fe8284611003565b602081016102fe828461100c565b60208082528101610aa4818486611015565b602080825281016102fe81611041565b602080825281016102fe8161107a565b602080825281016102fe816110b3565b602080825281016102fe816110fd565b602080825281016102fe81611146565b602080825281016102fe8161117f565b602081016102fe82846111cf565b6040810161129082856111cf565b61129d602083018461100c565b9392505050565b6000808335601e19368590030181126112bc57600080fd5b80840192508235915067ffffffffffffffff8211156112da57600080fd5b6020830192506001820236038313156112f257600080fd5b509250929050565b60405181810167ffffffffffffffff8111828210171561131957600080fd5b604052919050565b600067ffffffffffffffff82111561133857600080fd5b5060209081020190565b90815260200190565b60006102fe82611365565b151590565b806102c581611395565b6001600160a01b031690565b90565b60006102fe8261135b565b82818337506000910152565b601f01601f191690565b6004811061139f57fe5b50565b6113ab8161134b565b811461139f57600080fd5b6004811061139f57600080fd5b6113ab8161137156fea164736f6c634300060c000a", - "sourceMap": "517:11544:65:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11359:112;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11920:139;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;8147:332::-;;;;;;:::i;:::-;;:::i;11145:97::-;;;:::i;:::-;;;;;;;:::i;4113:626::-;;;;;;:::i;:::-;;:::i;:::-;;9928:305;;;;;;:::i;:::-;;:::i;1971:344::-;;;;;;:::i;:::-;;:::i;10457:310::-;;;;;;:::i;:::-;;:::i;11603:130::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;7558:314::-;;;;;;:::i;:::-;;:::i;8718:341::-;;;;;;:::i;:::-;;:::i;4874:174::-;;;;;;:::i;:::-;;:::i;9311:344::-;;;;;;:::i;:::-;;:::i;2781:445::-;;;;;;:::i;:::-;;:::i;7031:309::-;;;;;;:::i;:::-;;:::i;10953:101::-;;;:::i;5292:486::-;;;;;;:::i;:::-;;:::i;3572:393::-;;;;;;:::i;:::-;;:::i;11359:112::-;11415:14;11448:5;11454:3;11448:10;;;;;;;;;;;;;;;;;;;;;:16;-1:-1:-1;;;;;11448:16:65;;-1:-1:-1;11359:112:65;;;;:::o;11920:139::-;11987:14;12020:5;12026:3;12020:10;;;;;;;;;;;;;;;;:32;;;:25;:10;;;;;:25;;;;:32;;;;;;;;;-1:-1:-1;11920:139:65;;;;;:::o;8147:332::-;8268:22;8311:9;8306:145;8326:6;:13;8322:1;:17;8306:145;;;8365:29;8378:4;8384:6;8391:1;8384:9;;;;;;;;;;;;;;8365:12;:29::i;:::-;8360:81;;8421:5;8414:12;;;;;8360:81;8341:3;;8306:145;;;-1:-1:-1;8468:4:65;;8147:332;-1:-1:-1;;;8147:332:65:o;11145:97::-;11190:14;11223:12;11145:97;:::o;4113:626::-;4200:3;1462:30;1476:10;1488:3;1462:13;:30::i;:::-;1454:70;;;;-1:-1:-1;;;1454:70:65;;;;;;;:::i;:::-;;;;;;;;;4215:21:::1;4239:22;4257:3;4239:17;:22::i;:::-;4215:46:::0;-1:-1:-1;4306:21:65::1;4292:10;:35;;;;;;;;;:76;;;-1:-1:-1::0;4345:23:65::1;4331:10;:37;;;;;;;;;4292:76;4271:162;;;;-1:-1:-1::0;;;4271:162:65::1;;;;;;;:::i;:::-;4508:9;4503:230;4519:17:::0;;::::1;4503:230;;;4561:24;4570:3;4575:6;;4582:1;4575:9;;;;;;;;;;;;;4561:8;:24::i;:::-;4557:166;;;4644:5;4605::::0;4611:3:::1;4605:10;;;;;;;;;;;;;;;;;;:25;;:36;4631:6;;4638:1;4631:9;;;;;;;;;;;;;4605:36;;;;;;;;;;;;:44;;;;;;;;;;;;;;;;;;4693:3;4673:35;4698:6;;4705:1;4698:9;;;;;;;;;;;;;4673:35;;;;;;:::i;:::-;;;;;;;;4557:166;4538:3;;4503:230;;;;1534:1;4113:626:::0;;;;:::o;9928:305::-;10033:18;10072:9;10067:138;10087:4;:11;10083:1;:15;10067:138;;;10124:24;10133:4;10138:1;10133:7;;;;;;;;;;;;;;10142:5;10124:8;:24::i;:::-;10119:76;;10175:5;10168:12;;;;;10119:76;10100:3;;10067:138;;1971:344;2053:3;1462:30;1476:10;1488:3;1462:13;:30::i;:::-;1454:70;;;;-1:-1:-1;;;1454:70:65;;;;;;;:::i;:::-;2068:21:::1;2092:22;2110:3;2092:17;:22::i;:::-;2068:46:::0;-1:-1:-1;2159:18:65::1;2145:10;:32;;;;;;;;;:73;;;-1:-1:-1::0;2195:23:65::1;2181:10;:37;;;;;;;;;2145:73;2124:149;;;;-1:-1:-1::0;;;2124:149:65::1;;;;;;;:::i;:::-;2284:24;2296:3;2301:6;;2284:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;2284:11:65::1;::::0;-1:-1:-1;;;2284:24:65:i:1;:::-;1534:1;1971:344:::0;;;;:::o;10457:310::-;10565:21;10607:9;10602:136;10622:4;:11;10618:1;:15;10602:136;;;10658:24;10667:4;10672:1;10667:7;;;;;;;10658:24;10654:74;;;10709:4;10702:11;;;;;10654:74;10635:3;;10602:136;;;-1:-1:-1;10755:5:65;;10457:310;-1:-1:-1;;;10457:310:65:o;11603:130::-;11664:22;11705:5;11711:3;11705:10;;;;;;;;;;;;;;;;;;;;;:21;-1:-1:-1;;;11705:21:65;;;;;11603:130;-1:-1:-1;;11603:130:65:o;7558:314::-;7668:21;7710:9;7705:139;7725:6;:13;7721:1;:17;7705:139;;;7763:24;7772:3;7777:6;7784:1;7777:9;;;;;;;;;;;;;;7763:8;:24::i;:::-;7759:75;;;7814:5;7807:12;;;;;7759:75;7740:3;;7705:139;;8718:341;8842:25;8888:9;8883:148;8903:6;:13;8899:1;:17;8883:148;;;8942:32;8958:4;8964:6;8971:1;8964:9;;;;;;;;;;;;;;8942:15;:32::i;:::-;8937:84;;9001:5;8994:12;;;;;8937:84;8918:3;;8883:148;;4874:174;4952:3;1462:30;1476:10;1488:3;1462:13;:30::i;:::-;1454:70;;;;-1:-1:-1;;;1454:70:65;;;;;;;:::i;:::-;4986:10:::1;4967:5;4973:3;4967:10;;;;;;;;;::::0;;;::::1;::::0;;::::1;::::0;;;::::1;;:29:::0;;-1:-1:-1;;;;;;4967:29:65::1;-1:-1:-1::0;;;;;4967:29:65;;::::1;;::::0;;5012::::1;::::0;;;::::1;::::0;5025:3;;5012:29:::1;::::0;::::1;4874:174:::0;;;:::o;9311:344::-;9437:27;9485:9;9480:147;9500:6;:13;9496:1;:17;9480:147;;;9538:32;9554:4;9560:6;9567:1;9560:9;;;;;;;9538:32;9534:83;;;9597:5;9590:12;;;;;9534:83;9515:3;;9480:147;;2781:445;2887:35;;;2879:75;;;;-1:-1:-1;;;2879:75:65;;;;;;;:::i;:::-;2970:9;2965:255;2981:15;;;2965:255;;;3042:34;3056:10;3068:4;;3073:1;3068:7;;;;;;;;;;;;;3042:13;:34::i;:::-;3017:133;;;;-1:-1:-1;;;3017:133:65;;;;;;;:::i;:::-;3183:4;;3188:1;3183:7;;;;;;;;;;;;;3170:39;3192:13;;3206:1;3192:16;;;;;;;;;;;;;;;;;;:::i;:::-;3170:39;;;;;;;:::i;:::-;;;;;;;;2998:3;;2965:255;;7031:309;7138:18;7177:9;7172:140;7192:6;:13;7188:1;:17;7172:140;;;7231:24;7240:3;7245:6;7252:1;7245:9;;;;;;;7231:24;7226:76;;7282:5;7275:12;;;;;7226:76;7207:3;;7172:140;;10953:101;11037:10;10953:101;:::o;5292:486::-;5399:3;1462:30;1476:10;1488:3;1462:13;:30::i;:::-;1454:70;;;;-1:-1:-1;;;1454:70:65;;;;;;;:::i;:::-;5418:25:::1;5446:22;5464:3;5446:17;:22::i;:::-;5418:50:::0;-1:-1:-1;5518:15:65::1;5499;:34;;;;;;;;;:79;;;-1:-1:-1::0;5555:23:65::1;5537:14;:41;;;;;;;;;5499:79;5478:172;;;;-1:-1:-1::0;;;5478:172:65::1;;;;;;;:::i;:::-;5685:15;5661:5;5667:3;5661:10;;;;;;;;;::::0;;;::::1;::::0;;;::::1;::::0;;::::1;;:39:::0;;-1:-1:-1;;;;5661:39:65::1;-1:-1:-1::0;;;5661:39:65;::::1;::::0;::::1;;;;;;;;;;;5755:15;5716:55;;;;;;;;5734:3;5716:55;5739:14;5716:55;;;;;;:::i;:::-;;;;;;;;1534:1;5292:486:::0;;;:::o;3572:393::-;3714:11;3743:14;:12;:14::i;:::-;3737:20;;3768:5;3779:50;;;;;;;;3796:6;-1:-1:-1;;;;;3779:50:65;;;;;3816:11;3779:50;;;;;;;;;;3768:62;;;;;;;-1:-1:-1;3768:62:65;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;3768:62:65;-1:-1:-1;;;;;3768:62:65;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;3768:62:65;-1:-1:-1;;;3768:62:65;;;;;;;;;;;;;;;;3870:6;-1:-1:-1;;;;;3846:49:65;3858:10;-1:-1:-1;;;;;3846:49:65;;3878:3;3883:11;3846:49;;;;;;;:::i;:::-;;;;;;;;3906:31;3918:3;3923:13;;3906:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3906:11:65;;-1:-1:-1;;;3906:31:65:i;:::-;3572:393;;;;;;:::o;6240:276::-;6312:17;6341:13;6357:17;6370:3;6357:12;:17::i;:::-;6341:33;;6411:5;-1:-1:-1;;;;;6403:13:65;:4;-1:-1:-1;;;;;6403:13:65;;:106;;;;6442:15;:13;:15::i;:::-;-1:-1:-1;;;;;6433:24:65;:5;-1:-1:-1;;;;;6433:24:65;;:75;;;;;6481:15;:13;:15::i;:::-;-1:-1:-1;;;;;6469:37:65;;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;6461:47:65;:4;-1:-1:-1;;;;;6461:47:65;;6384:125;6240:276;-1:-1:-1;;;;6240:276:65:o;5853:309::-;5935:9;5930:226;5950:6;:13;5946:1;:17;5930:226;;;5989:24;5998:3;6003:6;6010:1;6003:9;;;;;;;5989:24;5984:162;;6072:4;6033:5;6039:3;6033:10;;;;;;;;;;;;;;;;;;:25;;:36;6059:6;6066:1;6059:9;;;;;;;;;;;;;;6033:36;;;;;;;;;;;;:43;;;;;;;;;;;;;;;;;;6116:3;6100:31;6121:6;6128:1;6121:9;;;;;;;;;;;;;;6100:31;;;;;;:::i;:::-;;;;;;;;5984:162;5965:3;;5930:226;;;;5853:309;;:::o;5:130:-1:-;72:20;;97:33;72:20;97:33;:::i;142:134::-;220:13;;238:33;220:13;238:33;:::i;300:364::-;;;442:3;435:4;427:6;423:17;419:27;409:2;;460:1;457;450:12;409:2;-1:-1;480:20;;520:18;509:30;;506:2;;;552:1;549;542:12;506:2;586:4;578:6;574:17;562:29;;637:3;629:4;621:6;617:17;607:8;603:32;600:41;597:2;;;654:1;651;644:12;597:2;402:262;;;;;:::o;1068:707::-;;1185:3;1178:4;1170:6;1166:17;1162:27;1152:2;;1203:1;1200;1193:12;1152:2;1240:6;1227:20;1262:80;1277:64;1334:6;1277:64;:::i;:::-;1262:80;:::i;:::-;1253:89;;1359:5;1384:6;1377:5;1370:21;1414:4;1406:6;1402:17;1392:27;;1436:4;1431:3;1427:14;1420:21;;1489:6;1536:3;1528:4;1520:6;1516:17;1511:3;1507:27;1504:36;1501:2;;;1553:1;1550;1543:12;1501:2;1578:1;1563:206;1588:6;1585:1;1582:13;1563:206;;;1646:3;1668:37;1701:3;1689:10;1668:37;:::i;:::-;1656:50;;-1:-1;1729:4;1720:14;;;;1748;;;;;1610:1;1603:9;1563:206;;;1567:14;1145:630;;;;;;;:::o;1783:162::-;1866:20;;1891:49;1866:20;1891:49;:::i;1952:130::-;2019:20;;2044:33;2019:20;2044:33;:::i;2089:263::-;;2204:2;2192:9;2183:7;2179:23;2175:32;2172:2;;;2220:1;2217;2210:12;2172:2;2255:1;2272:64;2328:7;2308:9;2272:64;:::i;2359:679::-;;;;;2548:2;2536:9;2527:7;2523:23;2519:32;2516:2;;;2564:1;2561;2554:12;2516:2;2599:1;2616:53;2661:7;2641:9;2616:53;:::i;:::-;2606:63;;2578:97;2706:2;2724:69;2785:7;2776:6;2765:9;2761:22;2724:69;:::i;:::-;2714:79;;2685:114;2858:2;2847:9;2843:18;2830:32;2882:18;2874:6;2871:30;2868:2;;;2914:1;2911;2904:12;2868:2;2942:80;3014:7;3005:6;2994:9;2990:22;2942:80;:::i;:::-;2510:528;;;;-1:-1;2924:98;-1:-1;;;;2510:528::o;3045:702::-;;;;;3248:2;3236:9;3227:7;3223:23;3219:32;3216:2;;;3264:1;3261;3254:12;3216:2;3299:31;;3350:18;3339:30;;3336:2;;;3382:1;3379;3372:12;3336:2;3410:80;3482:7;3473:6;3462:9;3458:22;3410:80;:::i;:::-;3392:98;;;;3278:218;3555:2;3544:9;3540:18;3527:32;3579:18;3571:6;3568:30;3565:2;;;3611:1;3608;3601:12;3754:638;;;3925:2;3913:9;3904:7;3900:23;3896:32;3893:2;;;3941:1;3938;3931:12;3893:2;3976:31;;4027:18;4016:30;;4013:2;;;4059:1;4056;4049:12;4013:2;4079:78;4149:7;4140:6;4129:9;4125:22;4079:78;:::i;:::-;4069:88;;3955:208;4222:2;4211:9;4207:18;4194:32;4246:18;4238:6;4235:30;4232:2;;;4278:1;4275;4268:12;4232:2;4298:78;4368:7;4359:6;4348:9;4344:22;4298:78;:::i;:::-;4288:88;;4173:209;3887:505;;;;;:::o;4399:502::-;;;4545:2;4533:9;4524:7;4520:23;4516:32;4513:2;;;4561:1;4558;4551:12;4513:2;4596:31;;4647:18;4636:30;;4633:2;;;4679:1;4676;4669:12;4633:2;4699:78;4769:7;4760:6;4749:9;4745:22;4699:78;:::i;:::-;4689:88;;4575:208;4814:2;4832:53;4877:7;4868:6;4857:9;4853:22;4832:53;:::i;4908:241::-;;5012:2;5000:9;4991:7;4987:23;4983:32;4980:2;;;5028:1;5025;5018:12;4980:2;5063:1;5080:53;5125:7;5105:9;5080:53;:::i;5156:366::-;;;5277:2;5265:9;5256:7;5252:23;5248:32;5245:2;;;5293:1;5290;5283:12;5245:2;5328:1;5345:53;5390:7;5370:9;5345:53;:::i;:::-;5335:63;;5307:97;5435:2;5453:53;5498:7;5489:6;5478:9;5474:22;5453:53;:::i;5529:522::-;;;;5685:2;5673:9;5664:7;5660:23;5656:32;5653:2;;;5701:1;5698;5691:12;5653:2;5736:1;5753:53;5798:7;5778:9;5753:53;:::i;:::-;5743:63;;5715:97;5871:2;5860:9;5856:18;5843:32;5895:18;5887:6;5884:30;5881:2;;;5927:1;5924;5917:12;5881:2;5955:80;6027:7;6018:6;6007:9;6003:22;5955:80;:::i;:::-;5937:98;;;;5822:219;5647:404;;;;;:::o;6058:502::-;;;6204:2;6192:9;6183:7;6179:23;6175:32;6172:2;;;6220:1;6217;6210:12;6172:2;6255:1;6272:53;6317:7;6297:9;6272:53;:::i;6567:398::-;;;6704:2;6692:9;6683:7;6679:23;6675:32;6672:2;;;6720:1;6717;6710:12;6672:2;6755:1;6772:53;6817:7;6797:9;6772:53;:::i;:::-;6762:63;;6734:97;6862:2;6880:69;6941:7;6932:6;6921:9;6917:22;6880:69;:::i;6972:366::-;;;7093:2;7081:9;7072:7;7068:23;7064:32;7061:2;;;7109:1;7106;7099:12;7061:2;7144:1;7161:53;7206:7;7186:9;7161:53;:::i;7345:113::-;7428:24;7446:5;7428:24;:::i;:::-;7423:3;7416:37;7410:48;;:::o;7465:104::-;7542:21;7557:5;7542:21;:::i;7576:154::-;7673:51;7718:5;7673:51;:::i;7762:300::-;;7878:71;7942:6;7937:3;7878:71;:::i;:::-;7871:78;;7961:43;7997:6;7992:3;7985:5;7961:43;:::i;:::-;8026:29;8048:6;8026:29;:::i;:::-;8017:39;;;;7864:198;-1:-1;;;7864:198::o;8071:327::-;;8231:67;8295:2;8290:3;8231:67;:::i;:::-;8331:29;8311:50;;8389:2;8380:12;;8217:181;-1:-1;;8217:181::o;8407:327::-;;8567:67;8631:2;8626:3;8567:67;:::i;:::-;8667:29;8647:50;;8725:2;8716:12;;8553:181;-1:-1;;8553:181::o;8743:377::-;;8903:67;8967:2;8962:3;8903:67;:::i;:::-;9003:34;8983:55;;-1:-1;;;9067:2;9058:12;;9051:32;9111:2;9102:12;;8889:231;-1:-1;;8889:231::o;9129:376::-;;9289:67;9353:2;9348:3;9289:67;:::i;:::-;9389:34;9369:55;;-1:-1;;;9453:2;9444:12;;9437:31;9496:2;9487:12;;9275:230;-1:-1;;9275:230::o;9514:329::-;;9674:67;9738:2;9733:3;9674:67;:::i;:::-;9774:31;9754:52;;9834:2;9825:12;;9660:183;-1:-1;;9660:183::o;9852:383::-;;10012:67;10076:2;10071:3;10012:67;:::i;:::-;10112:34;10092:55;;-1:-1;;;10176:2;10167:12;;10160:38;10226:2;10217:12;;9998:237;-1:-1;;9998:237::o;10243:113::-;10326:24;10344:5;10326:24;:::i;10363:222::-;10490:2;10475:18;;10504:71;10479:9;10548:6;10504:71;:::i;10592:210::-;10713:2;10698:18;;10727:65;10702:9;10765:6;10727:65;:::i;10809:250::-;10950:2;10935:18;;10964:85;10939:9;11022:6;10964:85;:::i;11066:330::-;11223:2;11237:47;;;11208:18;;11298:88;11208:18;11372:6;11364;11298:88;:::i;11403:416::-;11603:2;11617:47;;;11588:18;;11678:131;11588:18;11678:131;:::i;11826:416::-;12026:2;12040:47;;;12011:18;;12101:131;12011:18;12101:131;:::i;12249:416::-;12449:2;12463:47;;;12434:18;;12524:131;12434:18;12524:131;:::i;12672:416::-;12872:2;12886:47;;;12857:18;;12947:131;12857:18;12947:131;:::i;13095:416::-;13295:2;13309:47;;;13280:18;;13370:131;13280:18;13370:131;:::i;13518:416::-;13718:2;13732:47;;;13703:18;;13793:131;13703:18;13793:131;:::i;13941:222::-;14068:2;14053:18;;14082:71;14057:9;14126:6;14082:71;:::i;14170:361::-;14339:2;14324:18;;14353:71;14328:9;14397:6;14353:71;:::i;:::-;14435:86;14517:2;14506:9;14502:18;14493:6;14435:86;:::i;:::-;14310:221;;;;;:::o;14538:507::-;;;14661:25;;-1:-1;;14733:14;14729:29;;;14725:48;14701:73;;14691:2;;14788:1;14785;14778:12;14691:2;14819:18;14809:8;14805:33;14797:41;;14872:4;14859:18;14849:28;;14897:18;14889:6;14886:30;14883:2;;;14929:1;14926;14919:12;14883:2;14957;14951:4;14947:13;14939:21;;15011:4;15003:6;14999:17;14983:14;14979:38;14973:4;14969:49;14966:2;;;15031:1;15028;15021:12;14966:2;14629:416;;;;;;:::o;15052:256::-;15114:2;15108:9;15140:17;;;15215:18;15200:34;;15236:22;;;15197:62;15194:2;;;15272:1;15269;15262:12;15194:2;15288;15281:22;15092:216;;-1:-1;15092:216::o;15315:304::-;;15474:18;15466:6;15463:30;15460:2;;;15506:1;15503;15496:12;15460:2;-1:-1;15541:4;15529:17;;;15594:15;;15397:222::o;15627:163::-;15730:19;;;15779:4;15770:14;;15723:67::o;15798:91::-;;15860:24;15878:5;15860:24;:::i;15896:85::-;15962:13;15955:21;;15938:43::o;15988:138::-;16066:5;16072:49;16066:5;16072:49;:::i;16133:121::-;-1:-1;;;;;16195:54;;16178:76::o;16261:72::-;16323:5;16306:27::o;16340:138::-;;16433:40;16467:5;16433:40;:::i;16486:145::-;16567:6;16562:3;16557;16544:30;-1:-1;16623:1;16605:16;;16598:27;16537:94::o;16639:97::-;16727:2;16707:14;-1:-1;;16703:28;;16687:49::o;16744:107::-;16829:1;16822:5;16819:12;16809:2;;16835:9;16809:2;16803:48;:::o;16858:117::-;16927:24;16945:5;16927:24;:::i;:::-;16920:5;16917:35;16907:2;;16966:1;16963;16956:12;16982:110;17067:1;17060:5;17057:12;17047:2;;17083:1;17080;17073:12;17099:117;17168:24;17186:5;17168:24;:::i", - "linkReferences": {}, - "immutableReferences": { - "10601": [ - { - "start": 2147, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "addToList(uint256,uint256[])": "4e4edcd0", - "areAllInAllLists(uint256[],uint256[])": "2a182965", - "areAllInList(uint256,uint256[])": "e75411ef", - "areAllInSomeOfLists(uint256[],uint256[])": "82b71976", - "areAllNotInAnyOfLists(uint256[],uint256[])": "a62b2727", - "areAllNotInList(uint256,uint256[])": "7e7f6936", - "attestLists(uint256[],string[])": "b426f946", - "createList(address,uint8,uint256[])": "f71e4669", - "getDispatcher()": "ebb3d589", - "getListCount()": "2ce37b10", - "getListOwner(uint256)": "19bcc938", - "getListUpdateType(uint256)": "539f2ab4", - "isInAllLists(uint256[],uint256)": "42a61ecd", - "isInList(uint256,uint256)": "285ddf3c", - "isInSomeOfLists(uint256[],uint256)": "4ee5b4aa", - "removeFromList(uint256,uint256[])": "2cfd1d16", - "setListOwner(uint256,address)": "956e8faa", - "setListUpdateType(uint256,uint8)": "ee4483dc" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_dispatcher\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"item\",\"type\":\"uint256\"}],\"name\":\"ItemAddedToList\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"item\",\"type\":\"uint256\"}],\"name\":\"ItemRemovedFromList\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"}],\"name\":\"ListAttested\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"creator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"enum UintListRegistry.UpdateType\",\"name\":\"updateType\",\"type\":\"uint8\"}],\"name\":\"ListCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"nextOwner\",\"type\":\"address\"}],\"name\":\"ListOwnerSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"enum UintListRegistry.UpdateType\",\"name\":\"prevUpdateType\",\"type\":\"uint8\"},{\"indexed\":true,\"internalType\":\"enum UintListRegistry.UpdateType\",\"name\":\"nextUpdateType\",\"type\":\"uint8\"}],\"name\":\"ListUpdateTypeSet\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"},{\"internalType\":\"uint256[]\",\"name\":\"_items\",\"type\":\"uint256[]\"}],\"name\":\"addToList\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"_ids\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"_items\",\"type\":\"uint256[]\"}],\"name\":\"areAllInAllLists\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"areAllInAllLists_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"},{\"internalType\":\"uint256[]\",\"name\":\"_items\",\"type\":\"uint256[]\"}],\"name\":\"areAllInList\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"areAllInList_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"_ids\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"_items\",\"type\":\"uint256[]\"}],\"name\":\"areAllInSomeOfLists\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"areAllInSomeOfLists_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"_ids\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"_items\",\"type\":\"uint256[]\"}],\"name\":\"areAllNotInAnyOfLists\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"areAllNotInAnyOfLists_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"},{\"internalType\":\"uint256[]\",\"name\":\"_items\",\"type\":\"uint256[]\"}],\"name\":\"areAllNotInList\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"areAllNotInList_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"_ids\",\"type\":\"uint256[]\"},{\"internalType\":\"string[]\",\"name\":\"_descriptions\",\"type\":\"string[]\"}],\"name\":\"attestLists\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"enum UintListRegistry.UpdateType\",\"name\":\"_updateType\",\"type\":\"uint8\"},{\"internalType\":\"uint256[]\",\"name\":\"_initialItems\",\"type\":\"uint256[]\"}],\"name\":\"createList\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"id_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDispatcher\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"dispatcher_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getListCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"count_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"}],\"name\":\"getListOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"}],\"name\":\"getListUpdateType\",\"outputs\":[{\"internalType\":\"enum UintListRegistry.UpdateType\",\"name\":\"updateType_\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"_ids\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256\",\"name\":\"_item\",\"type\":\"uint256\"}],\"name\":\"isInAllLists\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isInAllLists_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_item\",\"type\":\"uint256\"}],\"name\":\"isInList\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isInList_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"_ids\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256\",\"name\":\"_item\",\"type\":\"uint256\"}],\"name\":\"isInSomeOfLists\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isInSomeOfLists_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"},{\"internalType\":\"uint256[]\",\"name\":\"_items\",\"type\":\"uint256[]\"}],\"name\":\"removeFromList\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_nextOwner\",\"type\":\"address\"}],\"name\":\"setListOwner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"},{\"internalType\":\"enum UintListRegistry.UpdateType\",\"name\":\"_nextUpdateType\",\"type\":\"uint8\"}],\"name\":\"setListUpdateType\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"addToList(uint256,uint256[])\":{\"params\":{\"_id\":\"The id of the list\",\"_items\":\"The items to add to the list\"}},\"areAllInAllLists(uint256[],uint256[])\":{\"params\":{\"_ids\":\"The list ids\",\"_items\":\"The items to check\"},\"returns\":{\"areAllInAllLists_\":\"True if all items are in all of the lists\"}},\"areAllInList(uint256,uint256[])\":{\"params\":{\"_id\":\"The list id\",\"_items\":\"The items to check\"},\"returns\":{\"areAllInList_\":\"True if all items are in the list\"}},\"areAllInSomeOfLists(uint256[],uint256[])\":{\"params\":{\"_ids\":\"The list ids\",\"_items\":\"The items to check\"},\"returns\":{\"areAllInSomeOfLists_\":\"True if all items are in one of the lists\"}},\"areAllNotInAnyOfLists(uint256[],uint256[])\":{\"params\":{\"_ids\":\"The list ids\",\"_items\":\"The items to check\"},\"returns\":{\"areAllNotInAnyOfLists_\":\"True if all items are absent from all lists\"}},\"areAllNotInList(uint256,uint256[])\":{\"params\":{\"_id\":\"The list id\",\"_items\":\"The items to check\"},\"returns\":{\"areAllNotInList_\":\"True if no items are in the list\"}},\"attestLists(uint256[],string[])\":{\"details\":\"Since UserA can create a list on behalf of UserB, this function provides a mechanism for UserB to attest to their management of the items therein. It will not be visible on-chain, but will be available in event logs.\",\"params\":{\"_descriptions\":\"The descriptions of the lists' content\",\"_ids\":\"The ids of the lists\"}},\"createList(address,uint8,uint256[])\":{\"details\":\"Specify the DISPATCHER as the _owner to make the Enzyme Council the owner\",\"params\":{\"_initialItems\":\"The initial items to add to the list\",\"_owner\":\"The owner of the list\",\"_updateType\":\"The UpdateType for the list\"},\"returns\":{\"id_\":\"The id of the newly-created list\"}},\"getDispatcher()\":{\"returns\":{\"dispatcher_\":\"The `DISPATCHER` variable value\"}},\"getListCount()\":{\"returns\":{\"count_\":\"The total count\"}},\"getListOwner(uint256)\":{\"params\":{\"_id\":\"The list id\"},\"returns\":{\"owner_\":\"The owner\"}},\"getListUpdateType(uint256)\":{\"params\":{\"_id\":\"The list id\"},\"returns\":{\"updateType_\":\"The UpdateType\"}},\"isInAllLists(uint256[],uint256)\":{\"params\":{\"_ids\":\"The list ids\",\"_item\":\"The item to check\"},\"returns\":{\"isInAllLists_\":\"True if item is in all of the lists\"}},\"isInList(uint256,uint256)\":{\"params\":{\"_id\":\"The list id\",\"_item\":\"The item to check\"},\"returns\":{\"isInList_\":\"True if the item is in the list\"}},\"isInSomeOfLists(uint256[],uint256)\":{\"params\":{\"_ids\":\"The list ids\",\"_item\":\"The item to check\"},\"returns\":{\"isInSomeOfLists_\":\"True if item is in one of the lists\"}},\"removeFromList(uint256,uint256[])\":{\"params\":{\"_id\":\"The id of the list\",\"_items\":\"The items to remove from the list\"}},\"setListOwner(uint256,address)\":{\"params\":{\"_id\":\"The id of the list\",\"_nextOwner\":\"The owner to set\"}},\"setListUpdateType(uint256,uint8)\":{\"details\":\"Can only change to a less mutable option (e.g., both add and remove => add only)\",\"params\":{\"_id\":\"The id of the list\",\"_nextUpdateType\":\"The UpdateType to set\"}}},\"title\":\"UintListRegistry Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"addToList(uint256,uint256[])\":{\"notice\":\"Adds items to a given list\"},\"areAllInAllLists(uint256[],uint256[])\":{\"notice\":\"Checks if multiple items are all in all of a given set of lists\"},\"areAllInList(uint256,uint256[])\":{\"notice\":\"Checks if multiple items are all in a given list\"},\"areAllInSomeOfLists(uint256[],uint256[])\":{\"notice\":\"Checks if multiple items are all in one of a given set of lists\"},\"areAllNotInAnyOfLists(uint256[],uint256[])\":{\"notice\":\"Checks if multiple items are all absent from all of a given set of lists\"},\"areAllNotInList(uint256,uint256[])\":{\"notice\":\"Checks if multiple items are all absent from a given list\"},\"attestLists(uint256[],string[])\":{\"notice\":\"Attests active ownership for lists and (optionally) a description of each list's content\"},\"createList(address,uint8,uint256[])\":{\"notice\":\"Creates a new list\"},\"getDispatcher()\":{\"notice\":\"Gets the `DISPATCHER` variable\"},\"getListCount()\":{\"notice\":\"Gets the total count of lists\"},\"getListOwner(uint256)\":{\"notice\":\"Gets the owner of a given list\"},\"getListUpdateType(uint256)\":{\"notice\":\"Gets the UpdateType of a given list\"},\"isInAllLists(uint256[],uint256)\":{\"notice\":\"Checks if an item is in all of a given set of lists\"},\"isInList(uint256,uint256)\":{\"notice\":\"Checks if an item is in a given list\"},\"isInSomeOfLists(uint256[],uint256)\":{\"notice\":\"Checks if an item is in at least one of a given set of lists\"},\"removeFromList(uint256,uint256[])\":{\"notice\":\"Removes items from a given list\"},\"setListOwner(uint256,address)\":{\"notice\":\"Sets the owner for a given list\"},\"setListUpdateType(uint256,uint8)\":{\"notice\":\"Sets the UpdateType for a given list\"}},\"notice\":\"A contract for creating and updating lists of uint256 items\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/uint-list-registry/UintListRegistry.sol\":\"UintListRegistry\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/uint-list-registry/UintListRegistry.sol\":{\"keccak256\":\"0x79b8f209651bbeffcb7274a88753a929f022689a9bce9575a53ff03658ee2825\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a8e334b6b57232ab6dae49e38cf4cbbe376ff9bb8e4f71665a7cca33c2aed99d\",\"dweb:/ipfs/QmNiTw8WyGBjhqAy4JB1dGscKEBxvrpWNJYuPvb3ojxG6y\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_dispatcher", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256", - "indexed": true - }, - { - "internalType": "uint256", - "name": "item", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "ItemAddedToList", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256", - "indexed": true - }, - { - "internalType": "uint256", - "name": "item", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "ItemRemovedFromList", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256", - "indexed": true - }, - { - "internalType": "string", - "name": "description", - "type": "string", - "indexed": false - } - ], - "type": "event", - "name": "ListAttested", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "creator", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "owner", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "id", - "type": "uint256", - "indexed": false - }, - { - "internalType": "enum UintListRegistry.UpdateType", - "name": "updateType", - "type": "uint8", - "indexed": false - } - ], - "type": "event", - "name": "ListCreated", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256", - "indexed": true - }, - { - "internalType": "address", - "name": "nextOwner", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "ListOwnerSet", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "id", - "type": "uint256", - "indexed": true - }, - { - "internalType": "enum UintListRegistry.UpdateType", - "name": "prevUpdateType", - "type": "uint8", - "indexed": false - }, - { - "internalType": "enum UintListRegistry.UpdateType", - "name": "nextUpdateType", - "type": "uint8", - "indexed": true - } - ], - "type": "event", - "name": "ListUpdateTypeSet", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_id", - "type": "uint256" - }, - { - "internalType": "uint256[]", - "name": "_items", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "addToList" - }, - { - "inputs": [ - { - "internalType": "uint256[]", - "name": "_ids", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "_items", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function", - "name": "areAllInAllLists", - "outputs": [ - { - "internalType": "bool", - "name": "areAllInAllLists_", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_id", - "type": "uint256" - }, - { - "internalType": "uint256[]", - "name": "_items", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function", - "name": "areAllInList", - "outputs": [ - { - "internalType": "bool", - "name": "areAllInList_", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256[]", - "name": "_ids", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "_items", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function", - "name": "areAllInSomeOfLists", - "outputs": [ - { - "internalType": "bool", - "name": "areAllInSomeOfLists_", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256[]", - "name": "_ids", - "type": "uint256[]" - }, - { - "internalType": "uint256[]", - "name": "_items", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function", - "name": "areAllNotInAnyOfLists", - "outputs": [ - { - "internalType": "bool", - "name": "areAllNotInAnyOfLists_", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_id", - "type": "uint256" - }, - { - "internalType": "uint256[]", - "name": "_items", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function", - "name": "areAllNotInList", - "outputs": [ - { - "internalType": "bool", - "name": "areAllNotInList_", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256[]", - "name": "_ids", - "type": "uint256[]" - }, - { - "internalType": "string[]", - "name": "_descriptions", - "type": "string[]" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "attestLists" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - }, - { - "internalType": "enum UintListRegistry.UpdateType", - "name": "_updateType", - "type": "uint8" - }, - { - "internalType": "uint256[]", - "name": "_initialItems", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "createList", - "outputs": [ - { - "internalType": "uint256", - "name": "id_", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getDispatcher", - "outputs": [ - { - "internalType": "address", - "name": "dispatcher_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getListCount", - "outputs": [ - { - "internalType": "uint256", - "name": "count_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_id", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getListOwner", - "outputs": [ - { - "internalType": "address", - "name": "owner_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_id", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getListUpdateType", - "outputs": [ - { - "internalType": "enum UintListRegistry.UpdateType", - "name": "updateType_", - "type": "uint8" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256[]", - "name": "_ids", - "type": "uint256[]" - }, - { - "internalType": "uint256", - "name": "_item", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "isInAllLists", - "outputs": [ - { - "internalType": "bool", - "name": "isInAllLists_", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_id", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_item", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "isInList", - "outputs": [ - { - "internalType": "bool", - "name": "isInList_", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256[]", - "name": "_ids", - "type": "uint256[]" - }, - { - "internalType": "uint256", - "name": "_item", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "isInSomeOfLists", - "outputs": [ - { - "internalType": "bool", - "name": "isInSomeOfLists_", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_id", - "type": "uint256" - }, - { - "internalType": "uint256[]", - "name": "_items", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "removeFromList" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_id", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_nextOwner", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setListOwner" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_id", - "type": "uint256" - }, - { - "internalType": "enum UintListRegistry.UpdateType", - "name": "_nextUpdateType", - "type": "uint8" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setListUpdateType" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "addToList(uint256,uint256[])": { - "params": { - "_id": "The id of the list", - "_items": "The items to add to the list" - } - }, - "areAllInAllLists(uint256[],uint256[])": { - "params": { - "_ids": "The list ids", - "_items": "The items to check" - }, - "returns": { - "areAllInAllLists_": "True if all items are in all of the lists" - } - }, - "areAllInList(uint256,uint256[])": { - "params": { - "_id": "The list id", - "_items": "The items to check" - }, - "returns": { - "areAllInList_": "True if all items are in the list" - } - }, - "areAllInSomeOfLists(uint256[],uint256[])": { - "params": { - "_ids": "The list ids", - "_items": "The items to check" - }, - "returns": { - "areAllInSomeOfLists_": "True if all items are in one of the lists" - } - }, - "areAllNotInAnyOfLists(uint256[],uint256[])": { - "params": { - "_ids": "The list ids", - "_items": "The items to check" - }, - "returns": { - "areAllNotInAnyOfLists_": "True if all items are absent from all lists" - } - }, - "areAllNotInList(uint256,uint256[])": { - "params": { - "_id": "The list id", - "_items": "The items to check" - }, - "returns": { - "areAllNotInList_": "True if no items are in the list" - } - }, - "attestLists(uint256[],string[])": { - "details": "Since UserA can create a list on behalf of UserB, this function provides a mechanism for UserB to attest to their management of the items therein. It will not be visible on-chain, but will be available in event logs.", - "params": { - "_descriptions": "The descriptions of the lists' content", - "_ids": "The ids of the lists" - } - }, - "createList(address,uint8,uint256[])": { - "details": "Specify the DISPATCHER as the _owner to make the Enzyme Council the owner", - "params": { - "_initialItems": "The initial items to add to the list", - "_owner": "The owner of the list", - "_updateType": "The UpdateType for the list" - }, - "returns": { - "id_": "The id of the newly-created list" - } - }, - "getDispatcher()": { - "returns": { - "dispatcher_": "The `DISPATCHER` variable value" - } - }, - "getListCount()": { - "returns": { - "count_": "The total count" - } - }, - "getListOwner(uint256)": { - "params": { - "_id": "The list id" - }, - "returns": { - "owner_": "The owner" - } - }, - "getListUpdateType(uint256)": { - "params": { - "_id": "The list id" - }, - "returns": { - "updateType_": "The UpdateType" - } - }, - "isInAllLists(uint256[],uint256)": { - "params": { - "_ids": "The list ids", - "_item": "The item to check" - }, - "returns": { - "isInAllLists_": "True if item is in all of the lists" - } - }, - "isInList(uint256,uint256)": { - "params": { - "_id": "The list id", - "_item": "The item to check" - }, - "returns": { - "isInList_": "True if the item is in the list" - } - }, - "isInSomeOfLists(uint256[],uint256)": { - "params": { - "_ids": "The list ids", - "_item": "The item to check" - }, - "returns": { - "isInSomeOfLists_": "True if item is in one of the lists" - } - }, - "removeFromList(uint256,uint256[])": { - "params": { - "_id": "The id of the list", - "_items": "The items to remove from the list" - } - }, - "setListOwner(uint256,address)": { - "params": { - "_id": "The id of the list", - "_nextOwner": "The owner to set" - } - }, - "setListUpdateType(uint256,uint8)": { - "details": "Can only change to a less mutable option (e.g., both add and remove => add only)", - "params": { - "_id": "The id of the list", - "_nextUpdateType": "The UpdateType to set" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "addToList(uint256,uint256[])": { - "notice": "Adds items to a given list" - }, - "areAllInAllLists(uint256[],uint256[])": { - "notice": "Checks if multiple items are all in all of a given set of lists" - }, - "areAllInList(uint256,uint256[])": { - "notice": "Checks if multiple items are all in a given list" - }, - "areAllInSomeOfLists(uint256[],uint256[])": { - "notice": "Checks if multiple items are all in one of a given set of lists" - }, - "areAllNotInAnyOfLists(uint256[],uint256[])": { - "notice": "Checks if multiple items are all absent from all of a given set of lists" - }, - "areAllNotInList(uint256,uint256[])": { - "notice": "Checks if multiple items are all absent from a given list" - }, - "attestLists(uint256[],string[])": { - "notice": "Attests active ownership for lists and (optionally) a description of each list's content" - }, - "createList(address,uint8,uint256[])": { - "notice": "Creates a new list" - }, - "getDispatcher()": { - "notice": "Gets the `DISPATCHER` variable" - }, - "getListCount()": { - "notice": "Gets the total count of lists" - }, - "getListOwner(uint256)": { - "notice": "Gets the owner of a given list" - }, - "getListUpdateType(uint256)": { - "notice": "Gets the UpdateType of a given list" - }, - "isInAllLists(uint256[],uint256)": { - "notice": "Checks if an item is in all of a given set of lists" - }, - "isInList(uint256,uint256)": { - "notice": "Checks if an item is in a given list" - }, - "isInSomeOfLists(uint256[],uint256)": { - "notice": "Checks if an item is in at least one of a given set of lists" - }, - "removeFromList(uint256,uint256[])": { - "notice": "Removes items from a given list" - }, - "setListOwner(uint256,address)": { - "notice": "Sets the owner for a given list" - }, - "setListUpdateType(uint256,uint8)": { - "notice": "Sets the UpdateType for a given list" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/persistent/uint-list-registry/UintListRegistry.sol": "UintListRegistry" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/dispatcher/IDispatcher.sol": { - "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", - "urls": [ - "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", - "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/uint-list-registry/UintListRegistry.sol": { - "keccak256": "0x79b8f209651bbeffcb7274a88753a929f022689a9bce9575a53ff03658ee2825", - "urls": [ - "bzz-raw://a8e334b6b57232ab6dae49e38cf4cbbe376ff9bb8e4f71665a7cca33c2aed99d", - "dweb:/ipfs/QmNiTw8WyGBjhqAy4JB1dGscKEBxvrpWNJYuPvb3ojxG6y" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 65 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_dispatcher", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "addToList", "inputs": [ { "name": "_id", "type": "uint256", "internalType": "uint256" }, { "name": "_items", "type": "uint256[]", "internalType": "uint256[]" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "areAllInAllLists", "inputs": [ { "name": "_ids", "type": "uint256[]", "internalType": "uint256[]" }, { "name": "_items", "type": "uint256[]", "internalType": "uint256[]" } ], "outputs": [ { "name": "areAllInAllLists_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "areAllInList", "inputs": [ { "name": "_id", "type": "uint256", "internalType": "uint256" }, { "name": "_items", "type": "uint256[]", "internalType": "uint256[]" } ], "outputs": [ { "name": "areAllInList_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "areAllInSomeOfLists", "inputs": [ { "name": "_ids", "type": "uint256[]", "internalType": "uint256[]" }, { "name": "_items", "type": "uint256[]", "internalType": "uint256[]" } ], "outputs": [ { "name": "areAllInSomeOfLists_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "areAllNotInAnyOfLists", "inputs": [ { "name": "_ids", "type": "uint256[]", "internalType": "uint256[]" }, { "name": "_items", "type": "uint256[]", "internalType": "uint256[]" } ], "outputs": [ { "name": "areAllNotInAnyOfLists_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "areAllNotInList", "inputs": [ { "name": "_id", "type": "uint256", "internalType": "uint256" }, { "name": "_items", "type": "uint256[]", "internalType": "uint256[]" } ], "outputs": [ { "name": "areAllNotInList_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "attestLists", "inputs": [ { "name": "_ids", "type": "uint256[]", "internalType": "uint256[]" }, { "name": "_descriptions", "type": "string[]", "internalType": "string[]" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "createList", "inputs": [ { "name": "_owner", "type": "address", "internalType": "address" }, { "name": "_updateType", "type": "uint8", "internalType": "enum UintListRegistry.UpdateType" }, { "name": "_initialItems", "type": "uint256[]", "internalType": "uint256[]" } ], "outputs": [ { "name": "id_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "getDispatcher", "inputs": [], "outputs": [ { "name": "dispatcher_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getListCount", "inputs": [], "outputs": [ { "name": "count_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "getListOwner", "inputs": [ { "name": "_id", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "owner_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getListUpdateType", "inputs": [ { "name": "_id", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "updateType_", "type": "uint8", "internalType": "enum UintListRegistry.UpdateType" } ], "stateMutability": "view" }, { "type": "function", "name": "isInAllLists", "inputs": [ { "name": "_ids", "type": "uint256[]", "internalType": "uint256[]" }, { "name": "_item", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "isInAllLists_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "isInList", "inputs": [ { "name": "_id", "type": "uint256", "internalType": "uint256" }, { "name": "_item", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "isInList_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "isInSomeOfLists", "inputs": [ { "name": "_ids", "type": "uint256[]", "internalType": "uint256[]" }, { "name": "_item", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "isInSomeOfLists_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "removeFromList", "inputs": [ { "name": "_id", "type": "uint256", "internalType": "uint256" }, { "name": "_items", "type": "uint256[]", "internalType": "uint256[]" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setListOwner", "inputs": [ { "name": "_id", "type": "uint256", "internalType": "uint256" }, { "name": "_nextOwner", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setListUpdateType", "inputs": [ { "name": "_id", "type": "uint256", "internalType": "uint256" }, { "name": "_nextUpdateType", "type": "uint8", "internalType": "enum UintListRegistry.UpdateType" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "event", "name": "ItemAddedToList", "inputs": [ { "name": "id", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "item", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "ItemRemovedFromList", "inputs": [ { "name": "id", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "item", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "ListAttested", "inputs": [ { "name": "id", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "description", "type": "string", "indexed": false, "internalType": "string" } ], "anonymous": false }, { "type": "event", "name": "ListCreated", "inputs": [ { "name": "creator", "type": "address", "indexed": true, "internalType": "address" }, { "name": "owner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "id", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "updateType", "type": "uint8", "indexed": false, "internalType": "enum UintListRegistry.UpdateType" } ], "anonymous": false }, { "type": "event", "name": "ListOwnerSet", "inputs": [ { "name": "id", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "nextOwner", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "ListUpdateTypeSet", "inputs": [ { "name": "id", "type": "uint256", "indexed": true, "internalType": "uint256" }, { "name": "prevUpdateType", "type": "uint8", "indexed": false, "internalType": "enum UintListRegistry.UpdateType" }, { "name": "nextUpdateType", "type": "uint8", "indexed": true, "internalType": "enum UintListRegistry.UpdateType" } ], "anonymous": false } ], "bytecode": { "object": "0x60a06040523480156200001157600080fd5b506040516200153b3803806200153b8339810160408190526200003491620000ef565b606081901b6001600160601b031916608052604080518082019091526000808252602082018181528154600181018355918052825160029092027f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630180546001600160a01b039093166001600160a01b031990931692909217808355905190829060ff60a01b1916600160a01b836003811115620000ce57fe5b021790555050505062000144565b8051620000e9816200012a565b92915050565b6000602082840312156200010257600080fd5b6000620001108484620000dc565b949350505050565b60006001600160a01b038216620000e9565b620001358162000118565b81146200014157600080fd5b50565b60805160601c6113d9620001626000398061086352506113d96000f3fe608060405234801561001057600080fd5b50600436106101165760003560e01c80637e7f6936116100a2578063b426f94611610071578063b426f94614610246578063e75411ef14610259578063ebb3d5891461026c578063ee4483dc14610274578063f71e46691461028757610116565b80637e7f6936146101fa57806382b719761461020d578063956e8faa14610220578063a62b27271461023357610116565b80632cfd1d16116100e95780632cfd1d161461018c57806342a61ecd146101a15780634e4edcd0146101b45780634ee5b4aa146101c7578063539f2ab4146101da57610116565b806319bcc9381461011b578063285ddf3c146101445780632a182965146101645780632ce37b1014610177575b600080fd5b61012e610129366004610ee2565b61029a565b60405161013b91906111d8565b60405180910390f35b610157610152366004610fd5565b6102ca565b60405161013b91906111e6565b610157610172366004610e32565b610304565b61017f61034e565b60405161013b9190611274565b61019f61019a366004610f30565b610354565b005b6101576101af366004610e9b565b6104b2565b61019f6101c2366004610f30565b6104f2565b6101576101d5366004610e9b565b6105ab565b6101ed6101e8366004610ee2565b6105e8565b60405161013b91906111f4565b610157610208366004610f86565b610617565b61015761021b366004610e32565b610658565b61019f61022e366004610f00565b610698565b610157610241366004610e32565b610728565b61019f610254366004610dda565b61075c565b610157610267366004610f86565b61082e565b61012e610861565b61019f610282366004610fa5565b610885565b61017f610295366004610d72565b610981565b60008082815481106102a857fe5b60009182526020909120600290910201546001600160a01b031690505b919050565b60008083815481106102d857fe5b600091825260208083208584526001600290930201919091019052604090205460ff1690505b92915050565b6000805b82518110156103445761032e8484838151811061032157fe5b60200260200101516104b2565b61033c5760009150506102fe565b600101610308565b5060019392505050565b60005490565b8261035f3382610aac565b6103845760405162461bcd60e51b815260040161037b90611214565b60405180910390fd5b600061038f856105e8565b9050600281600381111561039f57fe5b14806103b6575060038160038111156103b457fe5b145b6103d25760405162461bcd60e51b815260040161037b90611244565b60005b838110156104aa576103f9868686848181106103ed57fe5b905060200201356102ca565b156104a257600080878154811061040c57fe5b9060005260206000209060020201600101600087878581811061042b57fe5b90506020020135815260200190815260200160002060006101000a81548160ff021916908315150217905550857fa62524cf3a1efcf9b74bd64dce1275bc3d56375cbdff2d81b823be3c5cce763586868481811061048557fe5b905060200201356040516104999190611274565b60405180910390a25b6001016103d5565b505050505050565b6000805b8351811015610344576104dc8482815181106104ce57fe5b6020026020010151846102ca565b6104ea5760009150506102fe565b6001016104b6565b826104fd3382610aac565b6105195760405162461bcd60e51b815260040161037b90611214565b6000610524856105e8565b9050600181600381111561053457fe5b148061054b5750600381600381111561054957fe5b145b6105675760405162461bcd60e51b815260040161037b90611254565b6105a485858580806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250610b8c92505050565b5050505050565b6000805b83518110156105de576105c78482815181106104ce57fe5b156105d65760019150506102fe565b6001016105af565b5060009392505050565b60008082815481106105f657fe5b6000918252602090912060029091020154600160a01b900460ff1692915050565b6000805b8251811015610344576106418484838151811061063457fe5b60200260200101516102ca565b156106505760009150506102fe565b60010161061b565b6000805b8251811015610344576106828484838151811061067557fe5b60200260200101516105ab565b6106905760009150506102fe565b60010161065c565b816106a33382610aac565b6106bf5760405162461bcd60e51b815260040161037b90611214565b81600084815481106106cd57fe5b6000918252602082206002919091020180546001600160a01b0319166001600160a01b039384161790556040519184169185917f2d1c424d2803af2219fba896bc3092aed0ab3f7b022f412b79562b0fc2c2907d91a3505050565b6000805b8251811015610344576107458484838151811061067557fe5b156107545760009150506102fe565b60010161072c565b82811461077b5760405162461bcd60e51b815260040161037b90611224565b60005b838110156105a4576107a23386868481811061079657fe5b90506020020135610aac565b6107be5760405162461bcd60e51b815260040161037b90611234565b8484828181106107ca57fe5b905060200201357fddbb257b211697fab7f1ee9f59674cba284dbd7b9f6e1f3da5b645c890bf94008484848181106107fe57fe5b905060200281019061081091906112a4565b60405161081e929190611202565b60405180910390a260010161077e565b6000805b82518110156103445761084b8484838151811061063457fe5b6108595760009150506102fe565b600101610832565b7f000000000000000000000000000000000000000000000000000000000000000090565b816108903382610aac565b6108ac5760405162461bcd60e51b815260040161037b90611214565b60006108b7846105e8565b905060008360038111156108c757fe5b14806108de575060038160038111156108dc57fe5b145b6108fa5760405162461bcd60e51b815260040161037b90611264565b826000858154811061090857fe5b60009182526020909120600290910201805460ff60a01b1916600160a01b83600381111561093257fe5b021790555082600381111561094357fe5b847f44966c6bc2b3eef1eea6958dc704bb8527d350a282589bb13dd056819bd9d6468360405161097391906111f4565b60405180910390a350505050565b600061098b61034e565b905060006040518060400160405280876001600160a01b031681526020018660038111156109b557fe5b905281546001810183556000928352602092839020825160029092020180546001600160a01b0319166001600160a01b0390921691909117808255928201519192909190829060ff60a01b1916600160a01b836003811115610a1357fe5b02179055505050846001600160a01b0316336001600160a01b03167fc2b2d696fda57bcf0347d9ea036ce8258434f4171cd131b4c1d22a6f0ae960d28387604051610a5f929190611282565b60405180910390a3610aa481848480806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250610b8c92505050565b949350505050565b600080610ab88361029a565b9050806001600160a01b0316846001600160a01b03161480610aa45750610add610861565b6001600160a01b0316816001600160a01b0316148015610aa45750610b00610861565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b158015610b3857600080fd5b505afa158015610b4c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b709190610d54565b6001600160a01b0316846001600160a01b031614949350505050565b60005b8151811015610c5b57610ba88383838151811061063457fe5b610c5357600160008481548110610bbb57fe5b90600052602060002090600202016001016000848481518110610bda57fe5b6020026020010151815260200190815260200160002060006101000a81548160ff021916908315150217905550827f07cfe25e4b14780897cda3f2e73a50b728b4363e3bc6ff3fcd0c70e09f2b19dd838381518110610c3557fe5b6020026020010151604051610c4a9190611274565b60405180910390a25b600101610b8f565b505050565b80356102fe816113a2565b80516102fe816113a2565b60008083601f840112610c8857600080fd5b50813567ffffffffffffffff811115610ca057600080fd5b602083019150836020820283011115610cb857600080fd5b9250929050565b600082601f830112610cd057600080fd5b8135610ce3610cde82611321565b6112fa565b91508181835260208401935060208101905083856020840282011115610d0857600080fd5b60005b83811015610d345781610d1e8882610d49565b8452506020928301929190910190600101610d0b565b5050505092915050565b80356102fe816113b6565b80356102fe816113c3565b600060208284031215610d6657600080fd5b6000610aa48484610c6b565b60008060008060608587031215610d8857600080fd5b6000610d948787610c60565b9450506020610da587828801610d3e565b935050604085013567ffffffffffffffff811115610dc257600080fd5b610dce87828801610c76565b95989497509550505050565b60008060008060408587031215610df057600080fd5b843567ffffffffffffffff811115610e0757600080fd5b610e1387828801610c76565b9450945050602085013567ffffffffffffffff811115610dc257600080fd5b60008060408385031215610e4557600080fd5b823567ffffffffffffffff811115610e5c57600080fd5b610e6885828601610cbf565b925050602083013567ffffffffffffffff811115610e8557600080fd5b610e9185828601610cbf565b9150509250929050565b60008060408385031215610eae57600080fd5b823567ffffffffffffffff811115610ec557600080fd5b610ed185828601610cbf565b9250506020610e9185828601610d49565b600060208284031215610ef457600080fd5b6000610aa48484610d49565b60008060408385031215610f1357600080fd5b6000610f1f8585610d49565b9250506020610e9185828601610c60565b600080600060408486031215610f4557600080fd5b6000610f518686610d49565b935050602084013567ffffffffffffffff811115610f6e57600080fd5b610f7a86828701610c76565b92509250509250925092565b60008060408385031215610f9957600080fd5b6000610e688585610d49565b60008060408385031215610fb857600080fd5b6000610fc48585610d49565b9250506020610e9185828601610d3e565b60008060408385031215610fe857600080fd5b6000610ed18585610d49565b610ffd8161134b565b82525050565b610ffd81611356565b610ffd81611374565b60006110218385611342565b935061102e83858461137f565b6110378361138b565b9093019392505050565b600061104e601b83611342565b7f4f6e6c792063616c6c61626c65206279206c697374206f776e65720000000000815260200192915050565b6000611087601b83611342565b7f6174746573744c697374733a20556e657175616c206172726179730000000000815260200192915050565b60006110c0602883611342565b7f6174746573744c697374733a204f6e6c792063616c6c61626c65206279206c6981526739ba1037bbb732b960c11b602082015260400192915050565b600061110a602783611342565b7f72656d6f766546726f6d4c6973743a2043616e6e6f742072656d6f76652066728152661bdb481b1a5cdd60ca1b602082015260400192915050565b6000611153601d83611342565b7f616464546f4c6973743a2043616e6e6f742061646420746f206c697374000000815260200192915050565b600061118c602e83611342565b7f7365744c697374557064617465547970653a205f6e657874557064617465547981526d1c19481b9bdd08185b1b1bddd95960921b602082015260400192915050565b610ffd81611371565b602081016102fe8284610ff4565b602081016102fe8284611003565b602081016102fe828461100c565b60208082528101610aa4818486611015565b602080825281016102fe81611041565b602080825281016102fe8161107a565b602080825281016102fe816110b3565b602080825281016102fe816110fd565b602080825281016102fe81611146565b602080825281016102fe8161117f565b602081016102fe82846111cf565b6040810161129082856111cf565b61129d602083018461100c565b9392505050565b6000808335601e19368590030181126112bc57600080fd5b80840192508235915067ffffffffffffffff8211156112da57600080fd5b6020830192506001820236038313156112f257600080fd5b509250929050565b60405181810167ffffffffffffffff8111828210171561131957600080fd5b604052919050565b600067ffffffffffffffff82111561133857600080fd5b5060209081020190565b90815260200190565b60006102fe82611365565b151590565b806102c581611395565b6001600160a01b031690565b90565b60006102fe8261135b565b82818337506000910152565b601f01601f191690565b6004811061139f57fe5b50565b6113ab8161134b565b811461139f57600080fd5b6004811061139f57600080fd5b6113ab8161137156fea164736f6c634300060c000a", "sourceMap": "517:11544:65:-:0;;;1548:258;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1598:24;;;;-1:-1:-1;;;;;;1598:24:65;;;1740:58;;;;;;;;;-1:-1:-1;1740:58:65;;;;;;;;;1729:70;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1729:70:65;;;-1:-1:-1;;;;;;1729:70:65;;;;;;;;;;;;;;;-1:-1:-1;;;;1729:70:65;-1:-1:-1;;;1729:70:65;;;;;;;;;;;;;;;;1548:258;517:11544;;5:134:-1;83:13;;101:33;83:13;101:33;:::i;:::-;68:71;;;;:::o;146:263::-;;261:2;249:9;240:7;236:23;232:32;229:2;;;277:1;274;267:12;229:2;312:1;329:64;385:7;365:9;329:64;:::i;:::-;319:74;223:186;-1:-1;;;;223:186::o;416:91::-;;-1:-1;;;;;576:54;;478:24;559:76::o;642:117::-;711:24;729:5;711:24;:::i;:::-;704:5;701:35;691:2;;750:1;747;740:12;691:2;685:74;:::o;:::-;517:11544:65;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106101165760003560e01c80637e7f6936116100a2578063b426f94611610071578063b426f94614610246578063e75411ef14610259578063ebb3d5891461026c578063ee4483dc14610274578063f71e46691461028757610116565b80637e7f6936146101fa57806382b719761461020d578063956e8faa14610220578063a62b27271461023357610116565b80632cfd1d16116100e95780632cfd1d161461018c57806342a61ecd146101a15780634e4edcd0146101b45780634ee5b4aa146101c7578063539f2ab4146101da57610116565b806319bcc9381461011b578063285ddf3c146101445780632a182965146101645780632ce37b1014610177575b600080fd5b61012e610129366004610ee2565b61029a565b60405161013b91906111d8565b60405180910390f35b610157610152366004610fd5565b6102ca565b60405161013b91906111e6565b610157610172366004610e32565b610304565b61017f61034e565b60405161013b9190611274565b61019f61019a366004610f30565b610354565b005b6101576101af366004610e9b565b6104b2565b61019f6101c2366004610f30565b6104f2565b6101576101d5366004610e9b565b6105ab565b6101ed6101e8366004610ee2565b6105e8565b60405161013b91906111f4565b610157610208366004610f86565b610617565b61015761021b366004610e32565b610658565b61019f61022e366004610f00565b610698565b610157610241366004610e32565b610728565b61019f610254366004610dda565b61075c565b610157610267366004610f86565b61082e565b61012e610861565b61019f610282366004610fa5565b610885565b61017f610295366004610d72565b610981565b60008082815481106102a857fe5b60009182526020909120600290910201546001600160a01b031690505b919050565b60008083815481106102d857fe5b600091825260208083208584526001600290930201919091019052604090205460ff1690505b92915050565b6000805b82518110156103445761032e8484838151811061032157fe5b60200260200101516104b2565b61033c5760009150506102fe565b600101610308565b5060019392505050565b60005490565b8261035f3382610aac565b6103845760405162461bcd60e51b815260040161037b90611214565b60405180910390fd5b600061038f856105e8565b9050600281600381111561039f57fe5b14806103b6575060038160038111156103b457fe5b145b6103d25760405162461bcd60e51b815260040161037b90611244565b60005b838110156104aa576103f9868686848181106103ed57fe5b905060200201356102ca565b156104a257600080878154811061040c57fe5b9060005260206000209060020201600101600087878581811061042b57fe5b90506020020135815260200190815260200160002060006101000a81548160ff021916908315150217905550857fa62524cf3a1efcf9b74bd64dce1275bc3d56375cbdff2d81b823be3c5cce763586868481811061048557fe5b905060200201356040516104999190611274565b60405180910390a25b6001016103d5565b505050505050565b6000805b8351811015610344576104dc8482815181106104ce57fe5b6020026020010151846102ca565b6104ea5760009150506102fe565b6001016104b6565b826104fd3382610aac565b6105195760405162461bcd60e51b815260040161037b90611214565b6000610524856105e8565b9050600181600381111561053457fe5b148061054b5750600381600381111561054957fe5b145b6105675760405162461bcd60e51b815260040161037b90611254565b6105a485858580806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250610b8c92505050565b5050505050565b6000805b83518110156105de576105c78482815181106104ce57fe5b156105d65760019150506102fe565b6001016105af565b5060009392505050565b60008082815481106105f657fe5b6000918252602090912060029091020154600160a01b900460ff1692915050565b6000805b8251811015610344576106418484838151811061063457fe5b60200260200101516102ca565b156106505760009150506102fe565b60010161061b565b6000805b8251811015610344576106828484838151811061067557fe5b60200260200101516105ab565b6106905760009150506102fe565b60010161065c565b816106a33382610aac565b6106bf5760405162461bcd60e51b815260040161037b90611214565b81600084815481106106cd57fe5b6000918252602082206002919091020180546001600160a01b0319166001600160a01b039384161790556040519184169185917f2d1c424d2803af2219fba896bc3092aed0ab3f7b022f412b79562b0fc2c2907d91a3505050565b6000805b8251811015610344576107458484838151811061067557fe5b156107545760009150506102fe565b60010161072c565b82811461077b5760405162461bcd60e51b815260040161037b90611224565b60005b838110156105a4576107a23386868481811061079657fe5b90506020020135610aac565b6107be5760405162461bcd60e51b815260040161037b90611234565b8484828181106107ca57fe5b905060200201357fddbb257b211697fab7f1ee9f59674cba284dbd7b9f6e1f3da5b645c890bf94008484848181106107fe57fe5b905060200281019061081091906112a4565b60405161081e929190611202565b60405180910390a260010161077e565b6000805b82518110156103445761084b8484838151811061063457fe5b6108595760009150506102fe565b600101610832565b7f000000000000000000000000000000000000000000000000000000000000000090565b816108903382610aac565b6108ac5760405162461bcd60e51b815260040161037b90611214565b60006108b7846105e8565b905060008360038111156108c757fe5b14806108de575060038160038111156108dc57fe5b145b6108fa5760405162461bcd60e51b815260040161037b90611264565b826000858154811061090857fe5b60009182526020909120600290910201805460ff60a01b1916600160a01b83600381111561093257fe5b021790555082600381111561094357fe5b847f44966c6bc2b3eef1eea6958dc704bb8527d350a282589bb13dd056819bd9d6468360405161097391906111f4565b60405180910390a350505050565b600061098b61034e565b905060006040518060400160405280876001600160a01b031681526020018660038111156109b557fe5b905281546001810183556000928352602092839020825160029092020180546001600160a01b0319166001600160a01b0390921691909117808255928201519192909190829060ff60a01b1916600160a01b836003811115610a1357fe5b02179055505050846001600160a01b0316336001600160a01b03167fc2b2d696fda57bcf0347d9ea036ce8258434f4171cd131b4c1d22a6f0ae960d28387604051610a5f929190611282565b60405180910390a3610aa481848480806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250610b8c92505050565b949350505050565b600080610ab88361029a565b9050806001600160a01b0316846001600160a01b03161480610aa45750610add610861565b6001600160a01b0316816001600160a01b0316148015610aa45750610b00610861565b6001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b158015610b3857600080fd5b505afa158015610b4c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b709190610d54565b6001600160a01b0316846001600160a01b031614949350505050565b60005b8151811015610c5b57610ba88383838151811061063457fe5b610c5357600160008481548110610bbb57fe5b90600052602060002090600202016001016000848481518110610bda57fe5b6020026020010151815260200190815260200160002060006101000a81548160ff021916908315150217905550827f07cfe25e4b14780897cda3f2e73a50b728b4363e3bc6ff3fcd0c70e09f2b19dd838381518110610c3557fe5b6020026020010151604051610c4a9190611274565b60405180910390a25b600101610b8f565b505050565b80356102fe816113a2565b80516102fe816113a2565b60008083601f840112610c8857600080fd5b50813567ffffffffffffffff811115610ca057600080fd5b602083019150836020820283011115610cb857600080fd5b9250929050565b600082601f830112610cd057600080fd5b8135610ce3610cde82611321565b6112fa565b91508181835260208401935060208101905083856020840282011115610d0857600080fd5b60005b83811015610d345781610d1e8882610d49565b8452506020928301929190910190600101610d0b565b5050505092915050565b80356102fe816113b6565b80356102fe816113c3565b600060208284031215610d6657600080fd5b6000610aa48484610c6b565b60008060008060608587031215610d8857600080fd5b6000610d948787610c60565b9450506020610da587828801610d3e565b935050604085013567ffffffffffffffff811115610dc257600080fd5b610dce87828801610c76565b95989497509550505050565b60008060008060408587031215610df057600080fd5b843567ffffffffffffffff811115610e0757600080fd5b610e1387828801610c76565b9450945050602085013567ffffffffffffffff811115610dc257600080fd5b60008060408385031215610e4557600080fd5b823567ffffffffffffffff811115610e5c57600080fd5b610e6885828601610cbf565b925050602083013567ffffffffffffffff811115610e8557600080fd5b610e9185828601610cbf565b9150509250929050565b60008060408385031215610eae57600080fd5b823567ffffffffffffffff811115610ec557600080fd5b610ed185828601610cbf565b9250506020610e9185828601610d49565b600060208284031215610ef457600080fd5b6000610aa48484610d49565b60008060408385031215610f1357600080fd5b6000610f1f8585610d49565b9250506020610e9185828601610c60565b600080600060408486031215610f4557600080fd5b6000610f518686610d49565b935050602084013567ffffffffffffffff811115610f6e57600080fd5b610f7a86828701610c76565b92509250509250925092565b60008060408385031215610f9957600080fd5b6000610e688585610d49565b60008060408385031215610fb857600080fd5b6000610fc48585610d49565b9250506020610e9185828601610d3e565b60008060408385031215610fe857600080fd5b6000610ed18585610d49565b610ffd8161134b565b82525050565b610ffd81611356565b610ffd81611374565b60006110218385611342565b935061102e83858461137f565b6110378361138b565b9093019392505050565b600061104e601b83611342565b7f4f6e6c792063616c6c61626c65206279206c697374206f776e65720000000000815260200192915050565b6000611087601b83611342565b7f6174746573744c697374733a20556e657175616c206172726179730000000000815260200192915050565b60006110c0602883611342565b7f6174746573744c697374733a204f6e6c792063616c6c61626c65206279206c6981526739ba1037bbb732b960c11b602082015260400192915050565b600061110a602783611342565b7f72656d6f766546726f6d4c6973743a2043616e6e6f742072656d6f76652066728152661bdb481b1a5cdd60ca1b602082015260400192915050565b6000611153601d83611342565b7f616464546f4c6973743a2043616e6e6f742061646420746f206c697374000000815260200192915050565b600061118c602e83611342565b7f7365744c697374557064617465547970653a205f6e657874557064617465547981526d1c19481b9bdd08185b1b1bddd95960921b602082015260400192915050565b610ffd81611371565b602081016102fe8284610ff4565b602081016102fe8284611003565b602081016102fe828461100c565b60208082528101610aa4818486611015565b602080825281016102fe81611041565b602080825281016102fe8161107a565b602080825281016102fe816110b3565b602080825281016102fe816110fd565b602080825281016102fe81611146565b602080825281016102fe8161117f565b602081016102fe82846111cf565b6040810161129082856111cf565b61129d602083018461100c565b9392505050565b6000808335601e19368590030181126112bc57600080fd5b80840192508235915067ffffffffffffffff8211156112da57600080fd5b6020830192506001820236038313156112f257600080fd5b509250929050565b60405181810167ffffffffffffffff8111828210171561131957600080fd5b604052919050565b600067ffffffffffffffff82111561133857600080fd5b5060209081020190565b90815260200190565b60006102fe82611365565b151590565b806102c581611395565b6001600160a01b031690565b90565b60006102fe8261135b565b82818337506000910152565b601f01601f191690565b6004811061139f57fe5b50565b6113ab8161134b565b811461139f57600080fd5b6004811061139f57600080fd5b6113ab8161137156fea164736f6c634300060c000a", "sourceMap": "517:11544:65:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11359:112;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;11920:139;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;8147:332::-;;;;;;:::i;:::-;;:::i;11145:97::-;;;:::i;:::-;;;;;;;:::i;4113:626::-;;;;;;:::i;:::-;;:::i;:::-;;9928:305;;;;;;:::i;:::-;;:::i;1971:344::-;;;;;;:::i;:::-;;:::i;10457:310::-;;;;;;:::i;:::-;;:::i;11603:130::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;7558:314::-;;;;;;:::i;:::-;;:::i;8718:341::-;;;;;;:::i;:::-;;:::i;4874:174::-;;;;;;:::i;:::-;;:::i;9311:344::-;;;;;;:::i;:::-;;:::i;2781:445::-;;;;;;:::i;:::-;;:::i;7031:309::-;;;;;;:::i;:::-;;:::i;10953:101::-;;;:::i;5292:486::-;;;;;;:::i;:::-;;:::i;3572:393::-;;;;;;:::i;:::-;;:::i;11359:112::-;11415:14;11448:5;11454:3;11448:10;;;;;;;;;;;;;;;;;;;;;:16;-1:-1:-1;;;;;11448:16:65;;-1:-1:-1;11359:112:65;;;;:::o;11920:139::-;11987:14;12020:5;12026:3;12020:10;;;;;;;;;;;;;;;;:32;;;:25;:10;;;;;:25;;;;:32;;;;;;;;;-1:-1:-1;11920:139:65;;;;;:::o;8147:332::-;8268:22;8311:9;8306:145;8326:6;:13;8322:1;:17;8306:145;;;8365:29;8378:4;8384:6;8391:1;8384:9;;;;;;;;;;;;;;8365:12;:29::i;:::-;8360:81;;8421:5;8414:12;;;;;8360:81;8341:3;;8306:145;;;-1:-1:-1;8468:4:65;;8147:332;-1:-1:-1;;;8147:332:65:o;11145:97::-;11190:14;11223:12;11145:97;:::o;4113:626::-;4200:3;1462:30;1476:10;1488:3;1462:13;:30::i;:::-;1454:70;;;;-1:-1:-1;;;1454:70:65;;;;;;;:::i;:::-;;;;;;;;;4215:21:::1;4239:22;4257:3;4239:17;:22::i;:::-;4215:46:::0;-1:-1:-1;4306:21:65::1;4292:10;:35;;;;;;;;;:76;;;-1:-1:-1::0;4345:23:65::1;4331:10;:37;;;;;;;;;4292:76;4271:162;;;;-1:-1:-1::0;;;4271:162:65::1;;;;;;;:::i;:::-;4508:9;4503:230;4519:17:::0;;::::1;4503:230;;;4561:24;4570:3;4575:6;;4582:1;4575:9;;;;;;;;;;;;;4561:8;:24::i;:::-;4557:166;;;4644:5;4605::::0;4611:3:::1;4605:10;;;;;;;;;;;;;;;;;;:25;;:36;4631:6;;4638:1;4631:9;;;;;;;;;;;;;4605:36;;;;;;;;;;;;:44;;;;;;;;;;;;;;;;;;4693:3;4673:35;4698:6;;4705:1;4698:9;;;;;;;;;;;;;4673:35;;;;;;:::i;:::-;;;;;;;;4557:166;4538:3;;4503:230;;;;1534:1;4113:626:::0;;;;:::o;9928:305::-;10033:18;10072:9;10067:138;10087:4;:11;10083:1;:15;10067:138;;;10124:24;10133:4;10138:1;10133:7;;;;;;;;;;;;;;10142:5;10124:8;:24::i;:::-;10119:76;;10175:5;10168:12;;;;;10119:76;10100:3;;10067:138;;1971:344;2053:3;1462:30;1476:10;1488:3;1462:13;:30::i;:::-;1454:70;;;;-1:-1:-1;;;1454:70:65;;;;;;;:::i;:::-;2068:21:::1;2092:22;2110:3;2092:17;:22::i;:::-;2068:46:::0;-1:-1:-1;2159:18:65::1;2145:10;:32;;;;;;;;;:73;;;-1:-1:-1::0;2195:23:65::1;2181:10;:37;;;;;;;;;2145:73;2124:149;;;;-1:-1:-1::0;;;2124:149:65::1;;;;;;;:::i;:::-;2284:24;2296:3;2301:6;;2284:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;2284:11:65::1;::::0;-1:-1:-1;;;2284:24:65:i:1;:::-;1534:1;1971:344:::0;;;;:::o;10457:310::-;10565:21;10607:9;10602:136;10622:4;:11;10618:1;:15;10602:136;;;10658:24;10667:4;10672:1;10667:7;;;;;;;10658:24;10654:74;;;10709:4;10702:11;;;;;10654:74;10635:3;;10602:136;;;-1:-1:-1;10755:5:65;;10457:310;-1:-1:-1;;;10457:310:65:o;11603:130::-;11664:22;11705:5;11711:3;11705:10;;;;;;;;;;;;;;;;;;;;;:21;-1:-1:-1;;;11705:21:65;;;;;11603:130;-1:-1:-1;;11603:130:65:o;7558:314::-;7668:21;7710:9;7705:139;7725:6;:13;7721:1;:17;7705:139;;;7763:24;7772:3;7777:6;7784:1;7777:9;;;;;;;;;;;;;;7763:8;:24::i;:::-;7759:75;;;7814:5;7807:12;;;;;7759:75;7740:3;;7705:139;;8718:341;8842:25;8888:9;8883:148;8903:6;:13;8899:1;:17;8883:148;;;8942:32;8958:4;8964:6;8971:1;8964:9;;;;;;;;;;;;;;8942:15;:32::i;:::-;8937:84;;9001:5;8994:12;;;;;8937:84;8918:3;;8883:148;;4874:174;4952:3;1462:30;1476:10;1488:3;1462:13;:30::i;:::-;1454:70;;;;-1:-1:-1;;;1454:70:65;;;;;;;:::i;:::-;4986:10:::1;4967:5;4973:3;4967:10;;;;;;;;;::::0;;;::::1;::::0;;::::1;::::0;;;::::1;;:29:::0;;-1:-1:-1;;;;;;4967:29:65::1;-1:-1:-1::0;;;;;4967:29:65;;::::1;;::::0;;5012::::1;::::0;;;::::1;::::0;5025:3;;5012:29:::1;::::0;::::1;4874:174:::0;;;:::o;9311:344::-;9437:27;9485:9;9480:147;9500:6;:13;9496:1;:17;9480:147;;;9538:32;9554:4;9560:6;9567:1;9560:9;;;;;;;9538:32;9534:83;;;9597:5;9590:12;;;;;9534:83;9515:3;;9480:147;;2781:445;2887:35;;;2879:75;;;;-1:-1:-1;;;2879:75:65;;;;;;;:::i;:::-;2970:9;2965:255;2981:15;;;2965:255;;;3042:34;3056:10;3068:4;;3073:1;3068:7;;;;;;;;;;;;;3042:13;:34::i;:::-;3017:133;;;;-1:-1:-1;;;3017:133:65;;;;;;;:::i;:::-;3183:4;;3188:1;3183:7;;;;;;;;;;;;;3170:39;3192:13;;3206:1;3192:16;;;;;;;;;;;;;;;;;;:::i;:::-;3170:39;;;;;;;:::i;:::-;;;;;;;;2998:3;;2965:255;;7031:309;7138:18;7177:9;7172:140;7192:6;:13;7188:1;:17;7172:140;;;7231:24;7240:3;7245:6;7252:1;7245:9;;;;;;;7231:24;7226:76;;7282:5;7275:12;;;;;7226:76;7207:3;;7172:140;;10953:101;11037:10;10953:101;:::o;5292:486::-;5399:3;1462:30;1476:10;1488:3;1462:13;:30::i;:::-;1454:70;;;;-1:-1:-1;;;1454:70:65;;;;;;;:::i;:::-;5418:25:::1;5446:22;5464:3;5446:17;:22::i;:::-;5418:50:::0;-1:-1:-1;5518:15:65::1;5499;:34;;;;;;;;;:79;;;-1:-1:-1::0;5555:23:65::1;5537:14;:41;;;;;;;;;5499:79;5478:172;;;;-1:-1:-1::0;;;5478:172:65::1;;;;;;;:::i;:::-;5685:15;5661:5;5667:3;5661:10;;;;;;;;;::::0;;;::::1;::::0;;;::::1;::::0;;::::1;;:39:::0;;-1:-1:-1;;;;5661:39:65::1;-1:-1:-1::0;;;5661:39:65;::::1;::::0;::::1;;;;;;;;;;;5755:15;5716:55;;;;;;;;5734:3;5716:55;5739:14;5716:55;;;;;;:::i;:::-;;;;;;;;1534:1;5292:486:::0;;;:::o;3572:393::-;3714:11;3743:14;:12;:14::i;:::-;3737:20;;3768:5;3779:50;;;;;;;;3796:6;-1:-1:-1;;;;;3779:50:65;;;;;3816:11;3779:50;;;;;;;;;;3768:62;;;;;;;-1:-1:-1;3768:62:65;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;3768:62:65;-1:-1:-1;;;;;3768:62:65;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;3768:62:65;-1:-1:-1;;;3768:62:65;;;;;;;;;;;;;;;;3870:6;-1:-1:-1;;;;;3846:49:65;3858:10;-1:-1:-1;;;;;3846:49:65;;3878:3;3883:11;3846:49;;;;;;;:::i;:::-;;;;;;;;3906:31;3918:3;3923:13;;3906:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3906:11:65;;-1:-1:-1;;;3906:31:65:i;:::-;3572:393;;;;;;:::o;6240:276::-;6312:17;6341:13;6357:17;6370:3;6357:12;:17::i;:::-;6341:33;;6411:5;-1:-1:-1;;;;;6403:13:65;:4;-1:-1:-1;;;;;6403:13:65;;:106;;;;6442:15;:13;:15::i;:::-;-1:-1:-1;;;;;6433:24:65;:5;-1:-1:-1;;;;;6433:24:65;;:75;;;;;6481:15;:13;:15::i;:::-;-1:-1:-1;;;;;6469:37:65;;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;6461:47:65;:4;-1:-1:-1;;;;;6461:47:65;;6384:125;6240:276;-1:-1:-1;;;;6240:276:65:o;5853:309::-;5935:9;5930:226;5950:6;:13;5946:1;:17;5930:226;;;5989:24;5998:3;6003:6;6010:1;6003:9;;;;;;;5989:24;5984:162;;6072:4;6033:5;6039:3;6033:10;;;;;;;;;;;;;;;;;;:25;;:36;6059:6;6066:1;6059:9;;;;;;;;;;;;;;6033:36;;;;;;;;;;;;:43;;;;;;;;;;;;;;;;;;6116:3;6100:31;6121:6;6128:1;6121:9;;;;;;;;;;;;;;6100:31;;;;;;:::i;:::-;;;;;;;;5984:162;5965:3;;5930:226;;;;5853:309;;:::o;5:130:-1:-;72:20;;97:33;72:20;97:33;:::i;142:134::-;220:13;;238:33;220:13;238:33;:::i;300:364::-;;;442:3;435:4;427:6;423:17;419:27;409:2;;460:1;457;450:12;409:2;-1:-1;480:20;;520:18;509:30;;506:2;;;552:1;549;542:12;506:2;586:4;578:6;574:17;562:29;;637:3;629:4;621:6;617:17;607:8;603:32;600:41;597:2;;;654:1;651;644:12;597:2;402:262;;;;;:::o;1068:707::-;;1185:3;1178:4;1170:6;1166:17;1162:27;1152:2;;1203:1;1200;1193:12;1152:2;1240:6;1227:20;1262:80;1277:64;1334:6;1277:64;:::i;:::-;1262:80;:::i;:::-;1253:89;;1359:5;1384:6;1377:5;1370:21;1414:4;1406:6;1402:17;1392:27;;1436:4;1431:3;1427:14;1420:21;;1489:6;1536:3;1528:4;1520:6;1516:17;1511:3;1507:27;1504:36;1501:2;;;1553:1;1550;1543:12;1501:2;1578:1;1563:206;1588:6;1585:1;1582:13;1563:206;;;1646:3;1668:37;1701:3;1689:10;1668:37;:::i;:::-;1656:50;;-1:-1;1729:4;1720:14;;;;1748;;;;;1610:1;1603:9;1563:206;;;1567:14;1145:630;;;;;;;:::o;1783:162::-;1866:20;;1891:49;1866:20;1891:49;:::i;1952:130::-;2019:20;;2044:33;2019:20;2044:33;:::i;2089:263::-;;2204:2;2192:9;2183:7;2179:23;2175:32;2172:2;;;2220:1;2217;2210:12;2172:2;2255:1;2272:64;2328:7;2308:9;2272:64;:::i;2359:679::-;;;;;2548:2;2536:9;2527:7;2523:23;2519:32;2516:2;;;2564:1;2561;2554:12;2516:2;2599:1;2616:53;2661:7;2641:9;2616:53;:::i;:::-;2606:63;;2578:97;2706:2;2724:69;2785:7;2776:6;2765:9;2761:22;2724:69;:::i;:::-;2714:79;;2685:114;2858:2;2847:9;2843:18;2830:32;2882:18;2874:6;2871:30;2868:2;;;2914:1;2911;2904:12;2868:2;2942:80;3014:7;3005:6;2994:9;2990:22;2942:80;:::i;:::-;2510:528;;;;-1:-1;2924:98;-1:-1;;;;2510:528::o;3045:702::-;;;;;3248:2;3236:9;3227:7;3223:23;3219:32;3216:2;;;3264:1;3261;3254:12;3216:2;3299:31;;3350:18;3339:30;;3336:2;;;3382:1;3379;3372:12;3336:2;3410:80;3482:7;3473:6;3462:9;3458:22;3410:80;:::i;:::-;3392:98;;;;3278:218;3555:2;3544:9;3540:18;3527:32;3579:18;3571:6;3568:30;3565:2;;;3611:1;3608;3601:12;3754:638;;;3925:2;3913:9;3904:7;3900:23;3896:32;3893:2;;;3941:1;3938;3931:12;3893:2;3976:31;;4027:18;4016:30;;4013:2;;;4059:1;4056;4049:12;4013:2;4079:78;4149:7;4140:6;4129:9;4125:22;4079:78;:::i;:::-;4069:88;;3955:208;4222:2;4211:9;4207:18;4194:32;4246:18;4238:6;4235:30;4232:2;;;4278:1;4275;4268:12;4232:2;4298:78;4368:7;4359:6;4348:9;4344:22;4298:78;:::i;:::-;4288:88;;4173:209;3887:505;;;;;:::o;4399:502::-;;;4545:2;4533:9;4524:7;4520:23;4516:32;4513:2;;;4561:1;4558;4551:12;4513:2;4596:31;;4647:18;4636:30;;4633:2;;;4679:1;4676;4669:12;4633:2;4699:78;4769:7;4760:6;4749:9;4745:22;4699:78;:::i;:::-;4689:88;;4575:208;4814:2;4832:53;4877:7;4868:6;4857:9;4853:22;4832:53;:::i;4908:241::-;;5012:2;5000:9;4991:7;4987:23;4983:32;4980:2;;;5028:1;5025;5018:12;4980:2;5063:1;5080:53;5125:7;5105:9;5080:53;:::i;5156:366::-;;;5277:2;5265:9;5256:7;5252:23;5248:32;5245:2;;;5293:1;5290;5283:12;5245:2;5328:1;5345:53;5390:7;5370:9;5345:53;:::i;:::-;5335:63;;5307:97;5435:2;5453:53;5498:7;5489:6;5478:9;5474:22;5453:53;:::i;5529:522::-;;;;5685:2;5673:9;5664:7;5660:23;5656:32;5653:2;;;5701:1;5698;5691:12;5653:2;5736:1;5753:53;5798:7;5778:9;5753:53;:::i;:::-;5743:63;;5715:97;5871:2;5860:9;5856:18;5843:32;5895:18;5887:6;5884:30;5881:2;;;5927:1;5924;5917:12;5881:2;5955:80;6027:7;6018:6;6007:9;6003:22;5955:80;:::i;:::-;5937:98;;;;5822:219;5647:404;;;;;:::o;6058:502::-;;;6204:2;6192:9;6183:7;6179:23;6175:32;6172:2;;;6220:1;6217;6210:12;6172:2;6255:1;6272:53;6317:7;6297:9;6272:53;:::i;6567:398::-;;;6704:2;6692:9;6683:7;6679:23;6675:32;6672:2;;;6720:1;6717;6710:12;6672:2;6755:1;6772:53;6817:7;6797:9;6772:53;:::i;:::-;6762:63;;6734:97;6862:2;6880:69;6941:7;6932:6;6921:9;6917:22;6880:69;:::i;6972:366::-;;;7093:2;7081:9;7072:7;7068:23;7064:32;7061:2;;;7109:1;7106;7099:12;7061:2;7144:1;7161:53;7206:7;7186:9;7161:53;:::i;7345:113::-;7428:24;7446:5;7428:24;:::i;:::-;7423:3;7416:37;7410:48;;:::o;7465:104::-;7542:21;7557:5;7542:21;:::i;7576:154::-;7673:51;7718:5;7673:51;:::i;7762:300::-;;7878:71;7942:6;7937:3;7878:71;:::i;:::-;7871:78;;7961:43;7997:6;7992:3;7985:5;7961:43;:::i;:::-;8026:29;8048:6;8026:29;:::i;:::-;8017:39;;;;7864:198;-1:-1;;;7864:198::o;8071:327::-;;8231:67;8295:2;8290:3;8231:67;:::i;:::-;8331:29;8311:50;;8389:2;8380:12;;8217:181;-1:-1;;8217:181::o;8407:327::-;;8567:67;8631:2;8626:3;8567:67;:::i;:::-;8667:29;8647:50;;8725:2;8716:12;;8553:181;-1:-1;;8553:181::o;8743:377::-;;8903:67;8967:2;8962:3;8903:67;:::i;:::-;9003:34;8983:55;;-1:-1;;;9067:2;9058:12;;9051:32;9111:2;9102:12;;8889:231;-1:-1;;8889:231::o;9129:376::-;;9289:67;9353:2;9348:3;9289:67;:::i;:::-;9389:34;9369:55;;-1:-1;;;9453:2;9444:12;;9437:31;9496:2;9487:12;;9275:230;-1:-1;;9275:230::o;9514:329::-;;9674:67;9738:2;9733:3;9674:67;:::i;:::-;9774:31;9754:52;;9834:2;9825:12;;9660:183;-1:-1;;9660:183::o;9852:383::-;;10012:67;10076:2;10071:3;10012:67;:::i;:::-;10112:34;10092:55;;-1:-1;;;10176:2;10167:12;;10160:38;10226:2;10217:12;;9998:237;-1:-1;;9998:237::o;10243:113::-;10326:24;10344:5;10326:24;:::i;10363:222::-;10490:2;10475:18;;10504:71;10479:9;10548:6;10504:71;:::i;10592:210::-;10713:2;10698:18;;10727:65;10702:9;10765:6;10727:65;:::i;10809:250::-;10950:2;10935:18;;10964:85;10939:9;11022:6;10964:85;:::i;11066:330::-;11223:2;11237:47;;;11208:18;;11298:88;11208:18;11372:6;11364;11298:88;:::i;11403:416::-;11603:2;11617:47;;;11588:18;;11678:131;11588:18;11678:131;:::i;11826:416::-;12026:2;12040:47;;;12011:18;;12101:131;12011:18;12101:131;:::i;12249:416::-;12449:2;12463:47;;;12434:18;;12524:131;12434:18;12524:131;:::i;12672:416::-;12872:2;12886:47;;;12857:18;;12947:131;12857:18;12947:131;:::i;13095:416::-;13295:2;13309:47;;;13280:18;;13370:131;13280:18;13370:131;:::i;13518:416::-;13718:2;13732:47;;;13703:18;;13793:131;13703:18;13793:131;:::i;13941:222::-;14068:2;14053:18;;14082:71;14057:9;14126:6;14082:71;:::i;14170:361::-;14339:2;14324:18;;14353:71;14328:9;14397:6;14353:71;:::i;:::-;14435:86;14517:2;14506:9;14502:18;14493:6;14435:86;:::i;:::-;14310:221;;;;;:::o;14538:507::-;;;14661:25;;-1:-1;;14733:14;14729:29;;;14725:48;14701:73;;14691:2;;14788:1;14785;14778:12;14691:2;14819:18;14809:8;14805:33;14797:41;;14872:4;14859:18;14849:28;;14897:18;14889:6;14886:30;14883:2;;;14929:1;14926;14919:12;14883:2;14957;14951:4;14947:13;14939:21;;15011:4;15003:6;14999:17;14983:14;14979:38;14973:4;14969:49;14966:2;;;15031:1;15028;15021:12;14966:2;14629:416;;;;;;:::o;15052:256::-;15114:2;15108:9;15140:17;;;15215:18;15200:34;;15236:22;;;15197:62;15194:2;;;15272:1;15269;15262:12;15194:2;15288;15281:22;15092:216;;-1:-1;15092:216::o;15315:304::-;;15474:18;15466:6;15463:30;15460:2;;;15506:1;15503;15496:12;15460:2;-1:-1;15541:4;15529:17;;;15594:15;;15397:222::o;15627:163::-;15730:19;;;15779:4;15770:14;;15723:67::o;15798:91::-;;15860:24;15878:5;15860:24;:::i;15896:85::-;15962:13;15955:21;;15938:43::o;15988:138::-;16066:5;16072:49;16066:5;16072:49;:::i;16133:121::-;-1:-1;;;;;16195:54;;16178:76::o;16261:72::-;16323:5;16306:27::o;16340:138::-;;16433:40;16467:5;16433:40;:::i;16486:145::-;16567:6;16562:3;16557;16544:30;-1:-1;16623:1;16605:16;;16598:27;16537:94::o;16639:97::-;16727:2;16707:14;-1:-1;;16703:28;;16687:49::o;16744:107::-;16829:1;16822:5;16819:12;16809:2;;16835:9;16809:2;16803:48;:::o;16858:117::-;16927:24;16945:5;16927:24;:::i;:::-;16920:5;16917:35;16907:2;;16966:1;16963;16956:12;16982:110;17067:1;17060:5;17057:12;17047:2;;17083:1;17080;17073:12;17099:117;17168:24;17186:5;17168:24;:::i", "linkReferences": {}, "immutableReferences": { "10601": [ { "start": 2147, "length": 32 } ] } }, "methodIdentifiers": { "addToList(uint256,uint256[])": "4e4edcd0", "areAllInAllLists(uint256[],uint256[])": "2a182965", "areAllInList(uint256,uint256[])": "e75411ef", "areAllInSomeOfLists(uint256[],uint256[])": "82b71976", "areAllNotInAnyOfLists(uint256[],uint256[])": "a62b2727", "areAllNotInList(uint256,uint256[])": "7e7f6936", "attestLists(uint256[],string[])": "b426f946", "createList(address,uint8,uint256[])": "f71e4669", "getDispatcher()": "ebb3d589", "getListCount()": "2ce37b10", "getListOwner(uint256)": "19bcc938", "getListUpdateType(uint256)": "539f2ab4", "isInAllLists(uint256[],uint256)": "42a61ecd", "isInList(uint256,uint256)": "285ddf3c", "isInSomeOfLists(uint256[],uint256)": "4ee5b4aa", "removeFromList(uint256,uint256[])": "2cfd1d16", "setListOwner(uint256,address)": "956e8faa", "setListUpdateType(uint256,uint8)": "ee4483dc" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_dispatcher\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"item\",\"type\":\"uint256\"}],\"name\":\"ItemAddedToList\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"item\",\"type\":\"uint256\"}],\"name\":\"ItemRemovedFromList\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"}],\"name\":\"ListAttested\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"creator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"enum UintListRegistry.UpdateType\",\"name\":\"updateType\",\"type\":\"uint8\"}],\"name\":\"ListCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"nextOwner\",\"type\":\"address\"}],\"name\":\"ListOwnerSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"enum UintListRegistry.UpdateType\",\"name\":\"prevUpdateType\",\"type\":\"uint8\"},{\"indexed\":true,\"internalType\":\"enum UintListRegistry.UpdateType\",\"name\":\"nextUpdateType\",\"type\":\"uint8\"}],\"name\":\"ListUpdateTypeSet\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"},{\"internalType\":\"uint256[]\",\"name\":\"_items\",\"type\":\"uint256[]\"}],\"name\":\"addToList\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"_ids\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"_items\",\"type\":\"uint256[]\"}],\"name\":\"areAllInAllLists\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"areAllInAllLists_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"},{\"internalType\":\"uint256[]\",\"name\":\"_items\",\"type\":\"uint256[]\"}],\"name\":\"areAllInList\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"areAllInList_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"_ids\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"_items\",\"type\":\"uint256[]\"}],\"name\":\"areAllInSomeOfLists\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"areAllInSomeOfLists_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"_ids\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"_items\",\"type\":\"uint256[]\"}],\"name\":\"areAllNotInAnyOfLists\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"areAllNotInAnyOfLists_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"},{\"internalType\":\"uint256[]\",\"name\":\"_items\",\"type\":\"uint256[]\"}],\"name\":\"areAllNotInList\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"areAllNotInList_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"_ids\",\"type\":\"uint256[]\"},{\"internalType\":\"string[]\",\"name\":\"_descriptions\",\"type\":\"string[]\"}],\"name\":\"attestLists\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"enum UintListRegistry.UpdateType\",\"name\":\"_updateType\",\"type\":\"uint8\"},{\"internalType\":\"uint256[]\",\"name\":\"_initialItems\",\"type\":\"uint256[]\"}],\"name\":\"createList\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"id_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDispatcher\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"dispatcher_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getListCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"count_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"}],\"name\":\"getListOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"}],\"name\":\"getListUpdateType\",\"outputs\":[{\"internalType\":\"enum UintListRegistry.UpdateType\",\"name\":\"updateType_\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"_ids\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256\",\"name\":\"_item\",\"type\":\"uint256\"}],\"name\":\"isInAllLists\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isInAllLists_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_item\",\"type\":\"uint256\"}],\"name\":\"isInList\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isInList_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"_ids\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256\",\"name\":\"_item\",\"type\":\"uint256\"}],\"name\":\"isInSomeOfLists\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isInSomeOfLists_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"},{\"internalType\":\"uint256[]\",\"name\":\"_items\",\"type\":\"uint256[]\"}],\"name\":\"removeFromList\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_nextOwner\",\"type\":\"address\"}],\"name\":\"setListOwner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_id\",\"type\":\"uint256\"},{\"internalType\":\"enum UintListRegistry.UpdateType\",\"name\":\"_nextUpdateType\",\"type\":\"uint8\"}],\"name\":\"setListUpdateType\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"addToList(uint256,uint256[])\":{\"params\":{\"_id\":\"The id of the list\",\"_items\":\"The items to add to the list\"}},\"areAllInAllLists(uint256[],uint256[])\":{\"params\":{\"_ids\":\"The list ids\",\"_items\":\"The items to check\"},\"returns\":{\"areAllInAllLists_\":\"True if all items are in all of the lists\"}},\"areAllInList(uint256,uint256[])\":{\"params\":{\"_id\":\"The list id\",\"_items\":\"The items to check\"},\"returns\":{\"areAllInList_\":\"True if all items are in the list\"}},\"areAllInSomeOfLists(uint256[],uint256[])\":{\"params\":{\"_ids\":\"The list ids\",\"_items\":\"The items to check\"},\"returns\":{\"areAllInSomeOfLists_\":\"True if all items are in one of the lists\"}},\"areAllNotInAnyOfLists(uint256[],uint256[])\":{\"params\":{\"_ids\":\"The list ids\",\"_items\":\"The items to check\"},\"returns\":{\"areAllNotInAnyOfLists_\":\"True if all items are absent from all lists\"}},\"areAllNotInList(uint256,uint256[])\":{\"params\":{\"_id\":\"The list id\",\"_items\":\"The items to check\"},\"returns\":{\"areAllNotInList_\":\"True if no items are in the list\"}},\"attestLists(uint256[],string[])\":{\"details\":\"Since UserA can create a list on behalf of UserB, this function provides a mechanism for UserB to attest to their management of the items therein. It will not be visible on-chain, but will be available in event logs.\",\"params\":{\"_descriptions\":\"The descriptions of the lists' content\",\"_ids\":\"The ids of the lists\"}},\"createList(address,uint8,uint256[])\":{\"details\":\"Specify the DISPATCHER as the _owner to make the Enzyme Council the owner\",\"params\":{\"_initialItems\":\"The initial items to add to the list\",\"_owner\":\"The owner of the list\",\"_updateType\":\"The UpdateType for the list\"},\"returns\":{\"id_\":\"The id of the newly-created list\"}},\"getDispatcher()\":{\"returns\":{\"dispatcher_\":\"The `DISPATCHER` variable value\"}},\"getListCount()\":{\"returns\":{\"count_\":\"The total count\"}},\"getListOwner(uint256)\":{\"params\":{\"_id\":\"The list id\"},\"returns\":{\"owner_\":\"The owner\"}},\"getListUpdateType(uint256)\":{\"params\":{\"_id\":\"The list id\"},\"returns\":{\"updateType_\":\"The UpdateType\"}},\"isInAllLists(uint256[],uint256)\":{\"params\":{\"_ids\":\"The list ids\",\"_item\":\"The item to check\"},\"returns\":{\"isInAllLists_\":\"True if item is in all of the lists\"}},\"isInList(uint256,uint256)\":{\"params\":{\"_id\":\"The list id\",\"_item\":\"The item to check\"},\"returns\":{\"isInList_\":\"True if the item is in the list\"}},\"isInSomeOfLists(uint256[],uint256)\":{\"params\":{\"_ids\":\"The list ids\",\"_item\":\"The item to check\"},\"returns\":{\"isInSomeOfLists_\":\"True if item is in one of the lists\"}},\"removeFromList(uint256,uint256[])\":{\"params\":{\"_id\":\"The id of the list\",\"_items\":\"The items to remove from the list\"}},\"setListOwner(uint256,address)\":{\"params\":{\"_id\":\"The id of the list\",\"_nextOwner\":\"The owner to set\"}},\"setListUpdateType(uint256,uint8)\":{\"details\":\"Can only change to a less mutable option (e.g., both add and remove => add only)\",\"params\":{\"_id\":\"The id of the list\",\"_nextUpdateType\":\"The UpdateType to set\"}}},\"title\":\"UintListRegistry Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"addToList(uint256,uint256[])\":{\"notice\":\"Adds items to a given list\"},\"areAllInAllLists(uint256[],uint256[])\":{\"notice\":\"Checks if multiple items are all in all of a given set of lists\"},\"areAllInList(uint256,uint256[])\":{\"notice\":\"Checks if multiple items are all in a given list\"},\"areAllInSomeOfLists(uint256[],uint256[])\":{\"notice\":\"Checks if multiple items are all in one of a given set of lists\"},\"areAllNotInAnyOfLists(uint256[],uint256[])\":{\"notice\":\"Checks if multiple items are all absent from all of a given set of lists\"},\"areAllNotInList(uint256,uint256[])\":{\"notice\":\"Checks if multiple items are all absent from a given list\"},\"attestLists(uint256[],string[])\":{\"notice\":\"Attests active ownership for lists and (optionally) a description of each list's content\"},\"createList(address,uint8,uint256[])\":{\"notice\":\"Creates a new list\"},\"getDispatcher()\":{\"notice\":\"Gets the `DISPATCHER` variable\"},\"getListCount()\":{\"notice\":\"Gets the total count of lists\"},\"getListOwner(uint256)\":{\"notice\":\"Gets the owner of a given list\"},\"getListUpdateType(uint256)\":{\"notice\":\"Gets the UpdateType of a given list\"},\"isInAllLists(uint256[],uint256)\":{\"notice\":\"Checks if an item is in all of a given set of lists\"},\"isInList(uint256,uint256)\":{\"notice\":\"Checks if an item is in a given list\"},\"isInSomeOfLists(uint256[],uint256)\":{\"notice\":\"Checks if an item is in at least one of a given set of lists\"},\"removeFromList(uint256,uint256[])\":{\"notice\":\"Removes items from a given list\"},\"setListOwner(uint256,address)\":{\"notice\":\"Sets the owner for a given list\"},\"setListUpdateType(uint256,uint8)\":{\"notice\":\"Sets the UpdateType for a given list\"}},\"notice\":\"A contract for creating and updating lists of uint256 items\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/uint-list-registry/UintListRegistry.sol\":\"UintListRegistry\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/uint-list-registry/UintListRegistry.sol\":{\"keccak256\":\"0x79b8f209651bbeffcb7274a88753a929f022689a9bce9575a53ff03658ee2825\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a8e334b6b57232ab6dae49e38cf4cbbe376ff9bb8e4f71665a7cca33c2aed99d\",\"dweb:/ipfs/QmNiTw8WyGBjhqAy4JB1dGscKEBxvrpWNJYuPvb3ojxG6y\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_dispatcher", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "uint256", "name": "id", "type": "uint256", "indexed": true }, { "internalType": "uint256", "name": "item", "type": "uint256", "indexed": false } ], "type": "event", "name": "ItemAddedToList", "anonymous": false }, { "inputs": [ { "internalType": "uint256", "name": "id", "type": "uint256", "indexed": true }, { "internalType": "uint256", "name": "item", "type": "uint256", "indexed": false } ], "type": "event", "name": "ItemRemovedFromList", "anonymous": false }, { "inputs": [ { "internalType": "uint256", "name": "id", "type": "uint256", "indexed": true }, { "internalType": "string", "name": "description", "type": "string", "indexed": false } ], "type": "event", "name": "ListAttested", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "creator", "type": "address", "indexed": true }, { "internalType": "address", "name": "owner", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "id", "type": "uint256", "indexed": false }, { "internalType": "enum UintListRegistry.UpdateType", "name": "updateType", "type": "uint8", "indexed": false } ], "type": "event", "name": "ListCreated", "anonymous": false }, { "inputs": [ { "internalType": "uint256", "name": "id", "type": "uint256", "indexed": true }, { "internalType": "address", "name": "nextOwner", "type": "address", "indexed": true } ], "type": "event", "name": "ListOwnerSet", "anonymous": false }, { "inputs": [ { "internalType": "uint256", "name": "id", "type": "uint256", "indexed": true }, { "internalType": "enum UintListRegistry.UpdateType", "name": "prevUpdateType", "type": "uint8", "indexed": false }, { "internalType": "enum UintListRegistry.UpdateType", "name": "nextUpdateType", "type": "uint8", "indexed": true } ], "type": "event", "name": "ListUpdateTypeSet", "anonymous": false }, { "inputs": [ { "internalType": "uint256", "name": "_id", "type": "uint256" }, { "internalType": "uint256[]", "name": "_items", "type": "uint256[]" } ], "stateMutability": "nonpayable", "type": "function", "name": "addToList" }, { "inputs": [ { "internalType": "uint256[]", "name": "_ids", "type": "uint256[]" }, { "internalType": "uint256[]", "name": "_items", "type": "uint256[]" } ], "stateMutability": "view", "type": "function", "name": "areAllInAllLists", "outputs": [ { "internalType": "bool", "name": "areAllInAllLists_", "type": "bool" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_id", "type": "uint256" }, { "internalType": "uint256[]", "name": "_items", "type": "uint256[]" } ], "stateMutability": "view", "type": "function", "name": "areAllInList", "outputs": [ { "internalType": "bool", "name": "areAllInList_", "type": "bool" } ] }, { "inputs": [ { "internalType": "uint256[]", "name": "_ids", "type": "uint256[]" }, { "internalType": "uint256[]", "name": "_items", "type": "uint256[]" } ], "stateMutability": "view", "type": "function", "name": "areAllInSomeOfLists", "outputs": [ { "internalType": "bool", "name": "areAllInSomeOfLists_", "type": "bool" } ] }, { "inputs": [ { "internalType": "uint256[]", "name": "_ids", "type": "uint256[]" }, { "internalType": "uint256[]", "name": "_items", "type": "uint256[]" } ], "stateMutability": "view", "type": "function", "name": "areAllNotInAnyOfLists", "outputs": [ { "internalType": "bool", "name": "areAllNotInAnyOfLists_", "type": "bool" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_id", "type": "uint256" }, { "internalType": "uint256[]", "name": "_items", "type": "uint256[]" } ], "stateMutability": "view", "type": "function", "name": "areAllNotInList", "outputs": [ { "internalType": "bool", "name": "areAllNotInList_", "type": "bool" } ] }, { "inputs": [ { "internalType": "uint256[]", "name": "_ids", "type": "uint256[]" }, { "internalType": "string[]", "name": "_descriptions", "type": "string[]" } ], "stateMutability": "nonpayable", "type": "function", "name": "attestLists" }, { "inputs": [ { "internalType": "address", "name": "_owner", "type": "address" }, { "internalType": "enum UintListRegistry.UpdateType", "name": "_updateType", "type": "uint8" }, { "internalType": "uint256[]", "name": "_initialItems", "type": "uint256[]" } ], "stateMutability": "nonpayable", "type": "function", "name": "createList", "outputs": [ { "internalType": "uint256", "name": "id_", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getDispatcher", "outputs": [ { "internalType": "address", "name": "dispatcher_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getListCount", "outputs": [ { "internalType": "uint256", "name": "count_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_id", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "getListOwner", "outputs": [ { "internalType": "address", "name": "owner_", "type": "address" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_id", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "getListUpdateType", "outputs": [ { "internalType": "enum UintListRegistry.UpdateType", "name": "updateType_", "type": "uint8" } ] }, { "inputs": [ { "internalType": "uint256[]", "name": "_ids", "type": "uint256[]" }, { "internalType": "uint256", "name": "_item", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "isInAllLists", "outputs": [ { "internalType": "bool", "name": "isInAllLists_", "type": "bool" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_id", "type": "uint256" }, { "internalType": "uint256", "name": "_item", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "isInList", "outputs": [ { "internalType": "bool", "name": "isInList_", "type": "bool" } ] }, { "inputs": [ { "internalType": "uint256[]", "name": "_ids", "type": "uint256[]" }, { "internalType": "uint256", "name": "_item", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "isInSomeOfLists", "outputs": [ { "internalType": "bool", "name": "isInSomeOfLists_", "type": "bool" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_id", "type": "uint256" }, { "internalType": "uint256[]", "name": "_items", "type": "uint256[]" } ], "stateMutability": "nonpayable", "type": "function", "name": "removeFromList" }, { "inputs": [ { "internalType": "uint256", "name": "_id", "type": "uint256" }, { "internalType": "address", "name": "_nextOwner", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "setListOwner" }, { "inputs": [ { "internalType": "uint256", "name": "_id", "type": "uint256" }, { "internalType": "enum UintListRegistry.UpdateType", "name": "_nextUpdateType", "type": "uint8" } ], "stateMutability": "nonpayable", "type": "function", "name": "setListUpdateType" } ], "devdoc": { "kind": "dev", "methods": { "addToList(uint256,uint256[])": { "params": { "_id": "The id of the list", "_items": "The items to add to the list" } }, "areAllInAllLists(uint256[],uint256[])": { "params": { "_ids": "The list ids", "_items": "The items to check" }, "returns": { "areAllInAllLists_": "True if all items are in all of the lists" } }, "areAllInList(uint256,uint256[])": { "params": { "_id": "The list id", "_items": "The items to check" }, "returns": { "areAllInList_": "True if all items are in the list" } }, "areAllInSomeOfLists(uint256[],uint256[])": { "params": { "_ids": "The list ids", "_items": "The items to check" }, "returns": { "areAllInSomeOfLists_": "True if all items are in one of the lists" } }, "areAllNotInAnyOfLists(uint256[],uint256[])": { "params": { "_ids": "The list ids", "_items": "The items to check" }, "returns": { "areAllNotInAnyOfLists_": "True if all items are absent from all lists" } }, "areAllNotInList(uint256,uint256[])": { "params": { "_id": "The list id", "_items": "The items to check" }, "returns": { "areAllNotInList_": "True if no items are in the list" } }, "attestLists(uint256[],string[])": { "details": "Since UserA can create a list on behalf of UserB, this function provides a mechanism for UserB to attest to their management of the items therein. It will not be visible on-chain, but will be available in event logs.", "params": { "_descriptions": "The descriptions of the lists' content", "_ids": "The ids of the lists" } }, "createList(address,uint8,uint256[])": { "details": "Specify the DISPATCHER as the _owner to make the Enzyme Council the owner", "params": { "_initialItems": "The initial items to add to the list", "_owner": "The owner of the list", "_updateType": "The UpdateType for the list" }, "returns": { "id_": "The id of the newly-created list" } }, "getDispatcher()": { "returns": { "dispatcher_": "The `DISPATCHER` variable value" } }, "getListCount()": { "returns": { "count_": "The total count" } }, "getListOwner(uint256)": { "params": { "_id": "The list id" }, "returns": { "owner_": "The owner" } }, "getListUpdateType(uint256)": { "params": { "_id": "The list id" }, "returns": { "updateType_": "The UpdateType" } }, "isInAllLists(uint256[],uint256)": { "params": { "_ids": "The list ids", "_item": "The item to check" }, "returns": { "isInAllLists_": "True if item is in all of the lists" } }, "isInList(uint256,uint256)": { "params": { "_id": "The list id", "_item": "The item to check" }, "returns": { "isInList_": "True if the item is in the list" } }, "isInSomeOfLists(uint256[],uint256)": { "params": { "_ids": "The list ids", "_item": "The item to check" }, "returns": { "isInSomeOfLists_": "True if item is in one of the lists" } }, "removeFromList(uint256,uint256[])": { "params": { "_id": "The id of the list", "_items": "The items to remove from the list" } }, "setListOwner(uint256,address)": { "params": { "_id": "The id of the list", "_nextOwner": "The owner to set" } }, "setListUpdateType(uint256,uint8)": { "details": "Can only change to a less mutable option (e.g., both add and remove => add only)", "params": { "_id": "The id of the list", "_nextUpdateType": "The UpdateType to set" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "addToList(uint256,uint256[])": { "notice": "Adds items to a given list" }, "areAllInAllLists(uint256[],uint256[])": { "notice": "Checks if multiple items are all in all of a given set of lists" }, "areAllInList(uint256,uint256[])": { "notice": "Checks if multiple items are all in a given list" }, "areAllInSomeOfLists(uint256[],uint256[])": { "notice": "Checks if multiple items are all in one of a given set of lists" }, "areAllNotInAnyOfLists(uint256[],uint256[])": { "notice": "Checks if multiple items are all absent from all of a given set of lists" }, "areAllNotInList(uint256,uint256[])": { "notice": "Checks if multiple items are all absent from a given list" }, "attestLists(uint256[],string[])": { "notice": "Attests active ownership for lists and (optionally) a description of each list's content" }, "createList(address,uint8,uint256[])": { "notice": "Creates a new list" }, "getDispatcher()": { "notice": "Gets the `DISPATCHER` variable" }, "getListCount()": { "notice": "Gets the total count of lists" }, "getListOwner(uint256)": { "notice": "Gets the owner of a given list" }, "getListUpdateType(uint256)": { "notice": "Gets the UpdateType of a given list" }, "isInAllLists(uint256[],uint256)": { "notice": "Checks if an item is in all of a given set of lists" }, "isInList(uint256,uint256)": { "notice": "Checks if an item is in a given list" }, "isInSomeOfLists(uint256[],uint256)": { "notice": "Checks if an item is in at least one of a given set of lists" }, "removeFromList(uint256,uint256[])": { "notice": "Removes items from a given list" }, "setListOwner(uint256,address)": { "notice": "Sets the owner for a given list" }, "setListUpdateType(uint256,uint8)": { "notice": "Sets the UpdateType for a given list" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/persistent/uint-list-registry/UintListRegistry.sol": "UintListRegistry" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/dispatcher/IDispatcher.sol": { "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", "urls": [ "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" ], "license": "GPL-3.0" }, "contracts/persistent/uint-list-registry/UintListRegistry.sol": { "keccak256": "0x79b8f209651bbeffcb7274a88753a929f022689a9bce9575a53ff03658ee2825", "urls": [ "bzz-raw://a8e334b6b57232ab6dae49e38cf4cbbe376ff9bb8e4f71665a7cca33c2aed99d", "dweb:/ipfs/QmNiTw8WyGBjhqAy4JB1dGscKEBxvrpWNJYuPvb3ojxG6y" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 65 } diff --git a/eth_defi/abi/enzyme/UintListRegistryPerUserPolicyBase.json b/eth_defi/abi/enzyme/UintListRegistryPerUserPolicyBase.json index 053b22a2..7739404b 100644 --- a/eth_defi/abi/enzyme/UintListRegistryPerUserPolicyBase.json +++ b/eth_defi/abi/enzyme/UintListRegistryPerUserPolicyBase.json @@ -1,785 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_policyUser", - "type": "address" - }, - { - "internalType": "address", - "name": "_uintListRegistry", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "comptrollerProxy", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "user", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256[]", - "name": "listIds", - "type": "uint256[]" - } - ], - "name": "ListsSetForFundAndUser", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "activateForFund", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_encodedSettings", - "type": "bytes" - } - ], - "name": "addFundSettings", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "canDisable", - "outputs": [ - { - "internalType": "bool", - "name": "canDisable_", - "type": "bool" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_user", - "type": "address" - } - ], - "name": "getListIdsForFundAndUser", - "outputs": [ - { - "internalType": "uint256[]", - "name": "listIds_", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getPolicyManager", - "outputs": [ - { - "internalType": "address", - "name": "policyManager_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "identifier", - "outputs": [ - { - "internalType": "string", - "name": "identifier_", - "type": "string" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "implementedHooks", - "outputs": [ - { - "internalType": "enum IPolicyManager.PolicyHook[]", - "name": "implementedHooks_", - "type": "uint8[]" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "updateFundSettings", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "enum IPolicyManager.PolicyHook", - "name": "_hook", - "type": "uint8" - }, - { - "internalType": "bytes", - "name": "_encodedArgs", - "type": "bytes" - } - ], - "name": "validateRule", - "outputs": [ - { - "internalType": "bool", - "name": "isValid_", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "activateForFund(address)": "ceb9a0ad", - "addFundSettings(address,bytes)": "0f5f6b4f", - "canDisable()": "1ef92578", - "getListIdsForFundAndUser(address,address)": "b174666c", - "getPolicyManager()": "d44ad6cb", - "identifier()": "7998a1c4", - "implementedHooks()": "cbf54bb2", - "updateFundSettings(address,bytes)": "0d4d7510", - "validateRule(address,uint8,bytes)": "579be718" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_policyUser\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_uintListRegistry\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"listIds\",\"type\":\"uint256[]\"}],\"name\":\"ListsSetForFundAndUser\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"activateForFund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_encodedSettings\",\"type\":\"bytes\"}],\"name\":\"addFundSettings\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"canDisable\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"canDisable_\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"getListIdsForFundAndUser\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"listIds_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPolicyManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"policyManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"identifier\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"identifier_\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"implementedHooks\",\"outputs\":[{\"internalType\":\"enum IPolicyManager.PolicyHook[]\",\"name\":\"implementedHooks_\",\"type\":\"uint8[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"updateFundSettings\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"enum IPolicyManager.PolicyHook\",\"name\":\"_hook\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"_encodedArgs\",\"type\":\"bytes\"}],\"name\":\"validateRule\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isValid_\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"activateForFund(address)\":{\"details\":\"Unimplemented by default, can be overridden by the policy\"},\"addFundSettings(address,bytes)\":{\"params\":{\"_comptrollerProxy\":\"The fund's ComptrollerProxy address\",\"_encodedSettings\":\"Encoded settings to apply to a fund\"}},\"canDisable()\":{\"details\":\"False by default, can be overridden by the policy\",\"returns\":{\"canDisable_\":\"True if the policy can be disabled\"}},\"getListIdsForFundAndUser(address,address)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\",\"_user\":\"The user of the fund\"},\"returns\":{\"listIds_\":\"The list ids\"}},\"getPolicyManager()\":{\"returns\":{\"policyManager_\":\"The `POLICY_MANAGER` variable value\"}},\"updateFundSettings(address,bytes)\":{\"details\":\"Disallowed by default, can be overridden by the policy\"}},\"title\":\"UintListRegistryPerUserPolicyBase Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"activateForFund(address)\":{\"notice\":\"Validates and initializes a policy as necessary prior to fund activation\"},\"addFundSettings(address,bytes)\":{\"notice\":\"Adds the initial policy settings for a fund\"},\"canDisable()\":{\"notice\":\"Whether or not the policy can be disabled\"},\"getListIdsForFundAndUser(address,address)\":{\"notice\":\"Gets the list ids used by a given fund and user\"},\"getPolicyManager()\":{\"notice\":\"Gets the `POLICY_MANAGER` variable value\"},\"updateFundSettings(address,bytes)\":{\"notice\":\"Updates the policy settings for a fund\"}},\"notice\":\"Base contract inheritable by any policy that uses the UintListRegistry and wants to track lists per fund user\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/policy-manager/policies/utils/UintListRegistryPerUserPolicyBase.sol\":\"UintListRegistryPerUserPolicyBase\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/persistent/uint-list-registry/UintListRegistry.sol\":{\"keccak256\":\"0x79b8f209651bbeffcb7274a88753a929f022689a9bce9575a53ff03658ee2825\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a8e334b6b57232ab6dae49e38cf4cbbe376ff9bb8e4f71665a7cca33c2aed99d\",\"dweb:/ipfs/QmNiTw8WyGBjhqAy4JB1dGscKEBxvrpWNJYuPvb3ojxG6y\"]},\"contracts/persistent/vault/interfaces/IExternalPositionVault.sol\":{\"keccak256\":\"0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d\",\"dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8\"]},\"contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol\":{\"keccak256\":\"0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb\",\"dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU\"]},\"contracts/persistent/vault/interfaces/IMigratableVault.sol\":{\"keccak256\":\"0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6\",\"dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs\"]},\"contracts/persistent/vault/interfaces/IVaultCore.sol\":{\"keccak256\":\"0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd\",\"dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr\"]},\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/core/fund/comptroller/ComptrollerLib.sol\":{\"keccak256\":\"0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579\",\"dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq\"]},\"contracts/release/core/fund/comptroller/IComptroller.sol\":{\"keccak256\":\"0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97\",\"dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L\"]},\"contracts/release/core/fund/vault/IVault.sol\":{\"keccak256\":\"0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599\",\"dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG\"]},\"contracts/release/extensions/IExtension.sol\":{\"keccak256\":\"0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70\",\"dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t\"]},\"contracts/release/extensions/fee-manager/IFeeManager.sol\":{\"keccak256\":\"0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22\",\"dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod\"]},\"contracts/release/extensions/policy-manager/IPolicy.sol\":{\"keccak256\":\"0xc12663ca72065b256c3b934ab738fde26c147c7b0399de43650df89dd52ee467\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://be8fecfcba0f3fda615f0a1bb3c766750c23761ef751d7c4472dfe540e460cd1\",\"dweb:/ipfs/QmaarPoRTsX6NiJ8V4u2f3Qh6d7tUs28bw9R14An3t5Bs1\"]},\"contracts/release/extensions/policy-manager/IPolicyManager.sol\":{\"keccak256\":\"0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa\",\"dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb\"]},\"contracts/release/extensions/policy-manager/policies/utils/PolicyBase.sol\":{\"keccak256\":\"0x972311abb98f0da815b4aca83d5afdd219d3604ec19cf5e3773c0c305bd9b3f1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2452f3d1f3b1d8e8459a07489146a2d0d8a10463715937995cbe77ee5de8c069\",\"dweb:/ipfs/Qmf2hhd2DVbjpxmbNGAhRZNZkqpGZA2mX3eA1WNwtv6t5Y\"]},\"contracts/release/extensions/policy-manager/policies/utils/UintListRegistryPerUserPolicyBase.sol\":{\"keccak256\":\"0x1c17f73b9dc14b9a6695c7bb74c1bee95b5d2d2e012817196f06b3b858b852f4\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://7461f0c59077138b3242c47a7f5fe0208b0183107afc5df8ef2b6d68500ff68d\",\"dweb:/ipfs/QmRFY3XGKkmvc5TBmVQ1wQu3dsBD78N82EM7SdZMG5teoX\"]},\"contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol\":{\"keccak256\":\"0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f\",\"dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol\":{\"keccak256\":\"0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0\",\"dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol\":{\"keccak256\":\"0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b\",\"dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3\"]},\"contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol\":{\"keccak256\":\"0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965\",\"dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ\"]},\"contracts/release/interfaces/IGsnForwarder.sol\":{\"keccak256\":\"0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29\",\"dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G\"]},\"contracts/release/interfaces/IGsnPaymaster.sol\":{\"keccak256\":\"0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4\",\"dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF\"]},\"contracts/release/interfaces/IGsnTypes.sol\":{\"keccak256\":\"0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7\",\"dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/beacon-proxy/IBeacon.sol\":{\"keccak256\":\"0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39\",\"dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V\"]},\"contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol\":{\"keccak256\":\"0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be\",\"dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_policyUser", - "type": "address" - }, - { - "internalType": "address", - "name": "_uintListRegistry", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "comptrollerProxy", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "user", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256[]", - "name": "listIds", - "type": "uint256[]", - "indexed": false - } - ], - "type": "event", - "name": "ListsSetForFundAndUser", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "activateForFund" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_encodedSettings", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "addFundSettings" - }, - { - "inputs": [], - "stateMutability": "pure", - "type": "function", - "name": "canDisable", - "outputs": [ - { - "internalType": "bool", - "name": "canDisable_", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_user", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getListIdsForFundAndUser", - "outputs": [ - { - "internalType": "uint256[]", - "name": "listIds_", - "type": "uint256[]" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getPolicyManager", - "outputs": [ - { - "internalType": "address", - "name": "policyManager_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "pure", - "type": "function", - "name": "identifier", - "outputs": [ - { - "internalType": "string", - "name": "identifier_", - "type": "string" - } - ] - }, - { - "inputs": [], - "stateMutability": "pure", - "type": "function", - "name": "implementedHooks", - "outputs": [ - { - "internalType": "enum IPolicyManager.PolicyHook[]", - "name": "implementedHooks_", - "type": "uint8[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "updateFundSettings" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "enum IPolicyManager.PolicyHook", - "name": "_hook", - "type": "uint8" - }, - { - "internalType": "bytes", - "name": "_encodedArgs", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "validateRule", - "outputs": [ - { - "internalType": "bool", - "name": "isValid_", - "type": "bool" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "activateForFund(address)": { - "details": "Unimplemented by default, can be overridden by the policy" - }, - "addFundSettings(address,bytes)": { - "params": { - "_comptrollerProxy": "The fund's ComptrollerProxy address", - "_encodedSettings": "Encoded settings to apply to a fund" - } - }, - "canDisable()": { - "details": "False by default, can be overridden by the policy", - "returns": { - "canDisable_": "True if the policy can be disabled" - } - }, - "getListIdsForFundAndUser(address,address)": { - "params": { - "_comptrollerProxy": "The ComptrollerProxy of the fund", - "_user": "The user of the fund" - }, - "returns": { - "listIds_": "The list ids" - } - }, - "getPolicyManager()": { - "returns": { - "policyManager_": "The `POLICY_MANAGER` variable value" - } - }, - "updateFundSettings(address,bytes)": { - "details": "Disallowed by default, can be overridden by the policy" - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "activateForFund(address)": { - "notice": "Validates and initializes a policy as necessary prior to fund activation" - }, - "addFundSettings(address,bytes)": { - "notice": "Adds the initial policy settings for a fund" - }, - "canDisable()": { - "notice": "Whether or not the policy can be disabled" - }, - "getListIdsForFundAndUser(address,address)": { - "notice": "Gets the list ids used by a given fund and user" - }, - "getPolicyManager()": { - "notice": "Gets the `POLICY_MANAGER` variable value" - }, - "updateFundSettings(address,bytes)": { - "notice": "Updates the policy settings for a fund" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/policy-manager/policies/utils/UintListRegistryPerUserPolicyBase.sol": "UintListRegistryPerUserPolicyBase" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/dispatcher/IDispatcher.sol": { - "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", - "urls": [ - "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", - "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/external-positions/IExternalPosition.sol": { - "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", - "urls": [ - "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", - "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/uint-list-registry/UintListRegistry.sol": { - "keccak256": "0x79b8f209651bbeffcb7274a88753a929f022689a9bce9575a53ff03658ee2825", - "urls": [ - "bzz-raw://a8e334b6b57232ab6dae49e38cf4cbbe376ff9bb8e4f71665a7cca33c2aed99d", - "dweb:/ipfs/QmNiTw8WyGBjhqAy4JB1dGscKEBxvrpWNJYuPvb3ojxG6y" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IExternalPositionVault.sol": { - "keccak256": "0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6", - "urls": [ - "bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d", - "dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol": { - "keccak256": "0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0", - "urls": [ - "bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb", - "dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IMigratableVault.sol": { - "keccak256": "0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238", - "urls": [ - "bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6", - "dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IVaultCore.sol": { - "keccak256": "0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80", - "urls": [ - "bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd", - "dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund-deployer/IFundDeployer.sol": { - "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", - "urls": [ - "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", - "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/comptroller/ComptrollerLib.sol": { - "keccak256": "0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64", - "urls": [ - "bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579", - "dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/comptroller/IComptroller.sol": { - "keccak256": "0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f", - "urls": [ - "bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97", - "dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/vault/IVault.sol": { - "keccak256": "0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd", - "urls": [ - "bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599", - "dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/IExtension.sol": { - "keccak256": "0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b", - "urls": [ - "bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70", - "dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/fee-manager/IFeeManager.sol": { - "keccak256": "0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51", - "urls": [ - "bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22", - "dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/policy-manager/IPolicy.sol": { - "keccak256": "0xc12663ca72065b256c3b934ab738fde26c147c7b0399de43650df89dd52ee467", - "urls": [ - "bzz-raw://be8fecfcba0f3fda615f0a1bb3c766750c23761ef751d7c4472dfe540e460cd1", - "dweb:/ipfs/QmaarPoRTsX6NiJ8V4u2f3Qh6d7tUs28bw9R14An3t5Bs1" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/policy-manager/IPolicyManager.sol": { - "keccak256": "0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32", - "urls": [ - "bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa", - "dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/policy-manager/policies/utils/PolicyBase.sol": { - "keccak256": "0x972311abb98f0da815b4aca83d5afdd219d3604ec19cf5e3773c0c305bd9b3f1", - "urls": [ - "bzz-raw://2452f3d1f3b1d8e8459a07489146a2d0d8a10463715937995cbe77ee5de8c069", - "dweb:/ipfs/Qmf2hhd2DVbjpxmbNGAhRZNZkqpGZA2mX3eA1WNwtv6t5Y" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/policy-manager/policies/utils/UintListRegistryPerUserPolicyBase.sol": { - "keccak256": "0x1c17f73b9dc14b9a6695c7bb74c1bee95b5d2d2e012817196f06b3b858b852f4", - "urls": [ - "bzz-raw://7461f0c59077138b3242c47a7f5fe0208b0183107afc5df8ef2b6d68500ff68d", - "dweb:/ipfs/QmRFY3XGKkmvc5TBmVQ1wQu3dsBD78N82EM7SdZMG5teoX" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol": { - "keccak256": "0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609", - "urls": [ - "bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f", - "dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol": { - "keccak256": "0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01", - "urls": [ - "bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0", - "dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol": { - "keccak256": "0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196", - "urls": [ - "bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b", - "dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol": { - "keccak256": "0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794", - "urls": [ - "bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965", - "dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IGsnForwarder.sol": { - "keccak256": "0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030", - "urls": [ - "bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29", - "dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IGsnPaymaster.sol": { - "keccak256": "0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c", - "urls": [ - "bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4", - "dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IGsnTypes.sol": { - "keccak256": "0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714", - "urls": [ - "bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7", - "dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AddressArrayLib.sol": { - "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", - "urls": [ - "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", - "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/beacon-proxy/IBeacon.sol": { - "keccak256": "0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2", - "urls": [ - "bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39", - "dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol": { - "keccak256": "0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc", - "urls": [ - "bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be", - "dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { - "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", - "urls": [ - "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", - "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Address.sol": { - "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", - "urls": [ - "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", - "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 225 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_policyUser", "type": "address", "internalType": "address" }, { "name": "_uintListRegistry", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "activateForFund", "inputs": [ { "name": "", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "addFundSettings", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" }, { "name": "_encodedSettings", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "canDisable", "inputs": [], "outputs": [ { "name": "canDisable_", "type": "bool", "internalType": "bool" } ], "stateMutability": "pure" }, { "type": "function", "name": "getListIdsForFundAndUser", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" }, { "name": "_user", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "listIds_", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "view" }, { "type": "function", "name": "getPolicyManager", "inputs": [], "outputs": [ { "name": "policyManager_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "identifier", "inputs": [], "outputs": [ { "name": "identifier_", "type": "string", "internalType": "string" } ], "stateMutability": "pure" }, { "type": "function", "name": "implementedHooks", "inputs": [], "outputs": [ { "name": "implementedHooks_", "type": "uint8[]", "internalType": "enum IPolicyManager.PolicyHook[]" } ], "stateMutability": "pure" }, { "type": "function", "name": "updateFundSettings", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "validateRule", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" }, { "name": "_hook", "type": "uint8", "internalType": "enum IPolicyManager.PolicyHook" }, { "name": "_encodedArgs", "type": "bytes", "internalType": "bytes" } ], "outputs": [ { "name": "isValid_", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "event", "name": "ListsSetForFundAndUser", "inputs": [ { "name": "comptrollerProxy", "type": "address", "indexed": true, "internalType": "address" }, { "name": "user", "type": "address", "indexed": true, "internalType": "address" }, { "name": "listIds", "type": "uint256[]", "indexed": false, "internalType": "uint256[]" } ], "anonymous": false } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "activateForFund(address)": "ceb9a0ad", "addFundSettings(address,bytes)": "0f5f6b4f", "canDisable()": "1ef92578", "getListIdsForFundAndUser(address,address)": "b174666c", "getPolicyManager()": "d44ad6cb", "identifier()": "7998a1c4", "implementedHooks()": "cbf54bb2", "updateFundSettings(address,bytes)": "0d4d7510", "validateRule(address,uint8,bytes)": "579be718" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_policyUser\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_uintListRegistry\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"listIds\",\"type\":\"uint256[]\"}],\"name\":\"ListsSetForFundAndUser\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"activateForFund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_encodedSettings\",\"type\":\"bytes\"}],\"name\":\"addFundSettings\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"canDisable\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"canDisable_\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_user\",\"type\":\"address\"}],\"name\":\"getListIdsForFundAndUser\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"listIds_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPolicyManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"policyManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"identifier\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"identifier_\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"implementedHooks\",\"outputs\":[{\"internalType\":\"enum IPolicyManager.PolicyHook[]\",\"name\":\"implementedHooks_\",\"type\":\"uint8[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"updateFundSettings\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"enum IPolicyManager.PolicyHook\",\"name\":\"_hook\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"_encodedArgs\",\"type\":\"bytes\"}],\"name\":\"validateRule\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isValid_\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"activateForFund(address)\":{\"details\":\"Unimplemented by default, can be overridden by the policy\"},\"addFundSettings(address,bytes)\":{\"params\":{\"_comptrollerProxy\":\"The fund's ComptrollerProxy address\",\"_encodedSettings\":\"Encoded settings to apply to a fund\"}},\"canDisable()\":{\"details\":\"False by default, can be overridden by the policy\",\"returns\":{\"canDisable_\":\"True if the policy can be disabled\"}},\"getListIdsForFundAndUser(address,address)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\",\"_user\":\"The user of the fund\"},\"returns\":{\"listIds_\":\"The list ids\"}},\"getPolicyManager()\":{\"returns\":{\"policyManager_\":\"The `POLICY_MANAGER` variable value\"}},\"updateFundSettings(address,bytes)\":{\"details\":\"Disallowed by default, can be overridden by the policy\"}},\"title\":\"UintListRegistryPerUserPolicyBase Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"activateForFund(address)\":{\"notice\":\"Validates and initializes a policy as necessary prior to fund activation\"},\"addFundSettings(address,bytes)\":{\"notice\":\"Adds the initial policy settings for a fund\"},\"canDisable()\":{\"notice\":\"Whether or not the policy can be disabled\"},\"getListIdsForFundAndUser(address,address)\":{\"notice\":\"Gets the list ids used by a given fund and user\"},\"getPolicyManager()\":{\"notice\":\"Gets the `POLICY_MANAGER` variable value\"},\"updateFundSettings(address,bytes)\":{\"notice\":\"Updates the policy settings for a fund\"}},\"notice\":\"Base contract inheritable by any policy that uses the UintListRegistry and wants to track lists per fund user\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/policy-manager/policies/utils/UintListRegistryPerUserPolicyBase.sol\":\"UintListRegistryPerUserPolicyBase\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/persistent/uint-list-registry/UintListRegistry.sol\":{\"keccak256\":\"0x79b8f209651bbeffcb7274a88753a929f022689a9bce9575a53ff03658ee2825\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a8e334b6b57232ab6dae49e38cf4cbbe376ff9bb8e4f71665a7cca33c2aed99d\",\"dweb:/ipfs/QmNiTw8WyGBjhqAy4JB1dGscKEBxvrpWNJYuPvb3ojxG6y\"]},\"contracts/persistent/vault/interfaces/IExternalPositionVault.sol\":{\"keccak256\":\"0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d\",\"dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8\"]},\"contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol\":{\"keccak256\":\"0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb\",\"dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU\"]},\"contracts/persistent/vault/interfaces/IMigratableVault.sol\":{\"keccak256\":\"0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6\",\"dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs\"]},\"contracts/persistent/vault/interfaces/IVaultCore.sol\":{\"keccak256\":\"0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd\",\"dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr\"]},\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/core/fund/comptroller/ComptrollerLib.sol\":{\"keccak256\":\"0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579\",\"dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq\"]},\"contracts/release/core/fund/comptroller/IComptroller.sol\":{\"keccak256\":\"0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97\",\"dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L\"]},\"contracts/release/core/fund/vault/IVault.sol\":{\"keccak256\":\"0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599\",\"dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG\"]},\"contracts/release/extensions/IExtension.sol\":{\"keccak256\":\"0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70\",\"dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t\"]},\"contracts/release/extensions/fee-manager/IFeeManager.sol\":{\"keccak256\":\"0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22\",\"dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod\"]},\"contracts/release/extensions/policy-manager/IPolicy.sol\":{\"keccak256\":\"0xc12663ca72065b256c3b934ab738fde26c147c7b0399de43650df89dd52ee467\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://be8fecfcba0f3fda615f0a1bb3c766750c23761ef751d7c4472dfe540e460cd1\",\"dweb:/ipfs/QmaarPoRTsX6NiJ8V4u2f3Qh6d7tUs28bw9R14An3t5Bs1\"]},\"contracts/release/extensions/policy-manager/IPolicyManager.sol\":{\"keccak256\":\"0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa\",\"dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb\"]},\"contracts/release/extensions/policy-manager/policies/utils/PolicyBase.sol\":{\"keccak256\":\"0x972311abb98f0da815b4aca83d5afdd219d3604ec19cf5e3773c0c305bd9b3f1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2452f3d1f3b1d8e8459a07489146a2d0d8a10463715937995cbe77ee5de8c069\",\"dweb:/ipfs/Qmf2hhd2DVbjpxmbNGAhRZNZkqpGZA2mX3eA1WNwtv6t5Y\"]},\"contracts/release/extensions/policy-manager/policies/utils/UintListRegistryPerUserPolicyBase.sol\":{\"keccak256\":\"0x1c17f73b9dc14b9a6695c7bb74c1bee95b5d2d2e012817196f06b3b858b852f4\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://7461f0c59077138b3242c47a7f5fe0208b0183107afc5df8ef2b6d68500ff68d\",\"dweb:/ipfs/QmRFY3XGKkmvc5TBmVQ1wQu3dsBD78N82EM7SdZMG5teoX\"]},\"contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol\":{\"keccak256\":\"0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f\",\"dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol\":{\"keccak256\":\"0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0\",\"dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol\":{\"keccak256\":\"0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b\",\"dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3\"]},\"contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol\":{\"keccak256\":\"0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965\",\"dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ\"]},\"contracts/release/interfaces/IGsnForwarder.sol\":{\"keccak256\":\"0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29\",\"dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G\"]},\"contracts/release/interfaces/IGsnPaymaster.sol\":{\"keccak256\":\"0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4\",\"dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF\"]},\"contracts/release/interfaces/IGsnTypes.sol\":{\"keccak256\":\"0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7\",\"dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/beacon-proxy/IBeacon.sol\":{\"keccak256\":\"0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39\",\"dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V\"]},\"contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol\":{\"keccak256\":\"0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be\",\"dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_policyUser", "type": "address" }, { "internalType": "address", "name": "_uintListRegistry", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "comptrollerProxy", "type": "address", "indexed": true }, { "internalType": "address", "name": "user", "type": "address", "indexed": true }, { "internalType": "uint256[]", "name": "listIds", "type": "uint256[]", "indexed": false } ], "type": "event", "name": "ListsSetForFundAndUser", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "activateForFund" }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" }, { "internalType": "bytes", "name": "_encodedSettings", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "addFundSettings" }, { "inputs": [], "stateMutability": "pure", "type": "function", "name": "canDisable", "outputs": [ { "internalType": "bool", "name": "canDisable_", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" }, { "internalType": "address", "name": "_user", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getListIdsForFundAndUser", "outputs": [ { "internalType": "uint256[]", "name": "listIds_", "type": "uint256[]" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getPolicyManager", "outputs": [ { "internalType": "address", "name": "policyManager_", "type": "address" } ] }, { "inputs": [], "stateMutability": "pure", "type": "function", "name": "identifier", "outputs": [ { "internalType": "string", "name": "identifier_", "type": "string" } ] }, { "inputs": [], "stateMutability": "pure", "type": "function", "name": "implementedHooks", "outputs": [ { "internalType": "enum IPolicyManager.PolicyHook[]", "name": "implementedHooks_", "type": "uint8[]" } ] }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "updateFundSettings" }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" }, { "internalType": "enum IPolicyManager.PolicyHook", "name": "_hook", "type": "uint8" }, { "internalType": "bytes", "name": "_encodedArgs", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "validateRule", "outputs": [ { "internalType": "bool", "name": "isValid_", "type": "bool" } ] } ], "devdoc": { "kind": "dev", "methods": { "activateForFund(address)": { "details": "Unimplemented by default, can be overridden by the policy" }, "addFundSettings(address,bytes)": { "params": { "_comptrollerProxy": "The fund's ComptrollerProxy address", "_encodedSettings": "Encoded settings to apply to a fund" } }, "canDisable()": { "details": "False by default, can be overridden by the policy", "returns": { "canDisable_": "True if the policy can be disabled" } }, "getListIdsForFundAndUser(address,address)": { "params": { "_comptrollerProxy": "The ComptrollerProxy of the fund", "_user": "The user of the fund" }, "returns": { "listIds_": "The list ids" } }, "getPolicyManager()": { "returns": { "policyManager_": "The `POLICY_MANAGER` variable value" } }, "updateFundSettings(address,bytes)": { "details": "Disallowed by default, can be overridden by the policy" } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "activateForFund(address)": { "notice": "Validates and initializes a policy as necessary prior to fund activation" }, "addFundSettings(address,bytes)": { "notice": "Adds the initial policy settings for a fund" }, "canDisable()": { "notice": "Whether or not the policy can be disabled" }, "getListIdsForFundAndUser(address,address)": { "notice": "Gets the list ids used by a given fund and user" }, "getPolicyManager()": { "notice": "Gets the `POLICY_MANAGER` variable value" }, "updateFundSettings(address,bytes)": { "notice": "Updates the policy settings for a fund" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/policy-manager/policies/utils/UintListRegistryPerUserPolicyBase.sol": "UintListRegistryPerUserPolicyBase" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/dispatcher/IDispatcher.sol": { "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", "urls": [ "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" ], "license": "GPL-3.0" }, "contracts/persistent/external-positions/IExternalPosition.sol": { "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", "urls": [ "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" ], "license": "GPL-3.0" }, "contracts/persistent/uint-list-registry/UintListRegistry.sol": { "keccak256": "0x79b8f209651bbeffcb7274a88753a929f022689a9bce9575a53ff03658ee2825", "urls": [ "bzz-raw://a8e334b6b57232ab6dae49e38cf4cbbe376ff9bb8e4f71665a7cca33c2aed99d", "dweb:/ipfs/QmNiTw8WyGBjhqAy4JB1dGscKEBxvrpWNJYuPvb3ojxG6y" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IExternalPositionVault.sol": { "keccak256": "0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6", "urls": [ "bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d", "dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol": { "keccak256": "0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0", "urls": [ "bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb", "dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IMigratableVault.sol": { "keccak256": "0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238", "urls": [ "bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6", "dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IVaultCore.sol": { "keccak256": "0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80", "urls": [ "bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd", "dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr" ], "license": "GPL-3.0" }, "contracts/release/core/fund-deployer/IFundDeployer.sol": { "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", "urls": [ "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" ], "license": "GPL-3.0" }, "contracts/release/core/fund/comptroller/ComptrollerLib.sol": { "keccak256": "0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64", "urls": [ "bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579", "dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq" ], "license": "GPL-3.0" }, "contracts/release/core/fund/comptroller/IComptroller.sol": { "keccak256": "0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f", "urls": [ "bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97", "dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L" ], "license": "GPL-3.0" }, "contracts/release/core/fund/vault/IVault.sol": { "keccak256": "0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd", "urls": [ "bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599", "dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG" ], "license": "GPL-3.0" }, "contracts/release/extensions/IExtension.sol": { "keccak256": "0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b", "urls": [ "bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70", "dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t" ], "license": "GPL-3.0" }, "contracts/release/extensions/fee-manager/IFeeManager.sol": { "keccak256": "0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51", "urls": [ "bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22", "dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod" ], "license": "GPL-3.0" }, "contracts/release/extensions/policy-manager/IPolicy.sol": { "keccak256": "0xc12663ca72065b256c3b934ab738fde26c147c7b0399de43650df89dd52ee467", "urls": [ "bzz-raw://be8fecfcba0f3fda615f0a1bb3c766750c23761ef751d7c4472dfe540e460cd1", "dweb:/ipfs/QmaarPoRTsX6NiJ8V4u2f3Qh6d7tUs28bw9R14An3t5Bs1" ], "license": "GPL-3.0" }, "contracts/release/extensions/policy-manager/IPolicyManager.sol": { "keccak256": "0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32", "urls": [ "bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa", "dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb" ], "license": "GPL-3.0" }, "contracts/release/extensions/policy-manager/policies/utils/PolicyBase.sol": { "keccak256": "0x972311abb98f0da815b4aca83d5afdd219d3604ec19cf5e3773c0c305bd9b3f1", "urls": [ "bzz-raw://2452f3d1f3b1d8e8459a07489146a2d0d8a10463715937995cbe77ee5de8c069", "dweb:/ipfs/Qmf2hhd2DVbjpxmbNGAhRZNZkqpGZA2mX3eA1WNwtv6t5Y" ], "license": "GPL-3.0" }, "contracts/release/extensions/policy-manager/policies/utils/UintListRegistryPerUserPolicyBase.sol": { "keccak256": "0x1c17f73b9dc14b9a6695c7bb74c1bee95b5d2d2e012817196f06b3b858b852f4", "urls": [ "bzz-raw://7461f0c59077138b3242c47a7f5fe0208b0183107afc5df8ef2b6d68500ff68d", "dweb:/ipfs/QmRFY3XGKkmvc5TBmVQ1wQu3dsBD78N82EM7SdZMG5teoX" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol": { "keccak256": "0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609", "urls": [ "bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f", "dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol": { "keccak256": "0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01", "urls": [ "bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0", "dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol": { "keccak256": "0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196", "urls": [ "bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b", "dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol": { "keccak256": "0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794", "urls": [ "bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965", "dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IGsnForwarder.sol": { "keccak256": "0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030", "urls": [ "bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29", "dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IGsnPaymaster.sol": { "keccak256": "0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c", "urls": [ "bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4", "dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IGsnTypes.sol": { "keccak256": "0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714", "urls": [ "bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7", "dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C" ], "license": "GPL-3.0" }, "contracts/release/utils/AddressArrayLib.sol": { "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", "urls": [ "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" ], "license": "GPL-3.0" }, "contracts/release/utils/beacon-proxy/IBeacon.sol": { "keccak256": "0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2", "urls": [ "bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39", "dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V" ], "license": "GPL-3.0" }, "contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol": { "keccak256": "0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc", "urls": [ "bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be", "dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", "urls": [ "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Address.sol": { "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", "urls": [ "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" } }, "version": 1 }, "id": 225 } diff --git a/eth_defi/abi/enzyme/UniswapV2ActionsMixin.json b/eth_defi/abi/enzyme/UniswapV2ActionsMixin.json index 5aa2781b..d430552c 100644 --- a/eth_defi/abi/enzyme/UniswapV2ActionsMixin.json +++ b/eth_defi/abi/enzyme/UniswapV2ActionsMixin.json @@ -1,204 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_router", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "name": "getUniswapV2Router2", - "outputs": [ - { - "internalType": "address", - "name": "router_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "getUniswapV2Router2()": "d1ded408" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_router\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"getUniswapV2Router2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"router_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"getUniswapV2Router2()\":{\"returns\":{\"router_\":\"The `UNISWAP_V2_ROUTER2` variable value\"}}},\"title\":\"UniswapV2ActionsMixin Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getUniswapV2Router2()\":{\"notice\":\"Gets the `UNISWAP_V2_ROUTER2` variable\"}},\"notice\":\"Mixin contract for interacting with Uniswap v2\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/integration-manager/integrations/utils/actions/UniswapV2ActionsMixin.sol\":\"UniswapV2ActionsMixin\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/integration-manager/integrations/utils/actions/UniswapV2ActionsMixin.sol\":{\"keccak256\":\"0x87c92b0b1a0a612a7e641cf5904b628d70909185afcad8cde3617d02a966db67\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ab76dce3a9fac7392335f51c1b76da0325ec785a7a1a0acfe06e9fd4f82f324d\",\"dweb:/ipfs/Qmenw17RU7eUvFubo2q6pAmM8Re7muoV1HUFGx2FMeCxLY\"]},\"contracts/release/interfaces/IUniswapV2Router2.sol\":{\"keccak256\":\"0xe923e9176b7f9e9cf271098966ff4d76248caf65b777fb8c51f07146cce3d0c9\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://14cbb598760aabb151e11816467f7a0c7205cb9a653a1ab723a9934734e23d50\",\"dweb:/ipfs/QmaPRfXKidKqfdBfvxzuNVDQv1FFC8NbexQLF1md53xzz3\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_router", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getUniswapV2Router2", - "outputs": [ - { - "internalType": "address", - "name": "router_", - "type": "address" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "getUniswapV2Router2()": { - "returns": { - "router_": "The `UNISWAP_V2_ROUTER2` variable value" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "getUniswapV2Router2()": { - "notice": "Gets the `UNISWAP_V2_ROUTER2` variable" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/integration-manager/integrations/utils/actions/UniswapV2ActionsMixin.sol": "UniswapV2ActionsMixin" - }, - "libraries": {} - }, - "sources": { - "contracts/release/extensions/integration-manager/integrations/utils/actions/UniswapV2ActionsMixin.sol": { - "keccak256": "0x87c92b0b1a0a612a7e641cf5904b628d70909185afcad8cde3617d02a966db67", - "urls": [ - "bzz-raw://ab76dce3a9fac7392335f51c1b76da0325ec785a7a1a0acfe06e9fd4f82f324d", - "dweb:/ipfs/Qmenw17RU7eUvFubo2q6pAmM8Re7muoV1HUFGx2FMeCxLY" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IUniswapV2Router2.sol": { - "keccak256": "0xe923e9176b7f9e9cf271098966ff4d76248caf65b777fb8c51f07146cce3d0c9", - "urls": [ - "bzz-raw://14cbb598760aabb151e11816467f7a0c7205cb9a653a1ab723a9934734e23d50", - "dweb:/ipfs/QmaPRfXKidKqfdBfvxzuNVDQv1FFC8NbexQLF1md53xzz3" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AssetHelpers.sol": { - "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", - "urls": [ - "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", - "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { - "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", - "urls": [ - "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", - "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Address.sol": { - "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", - "urls": [ - "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", - "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 196 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_router", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "getUniswapV2Router2", "inputs": [], "outputs": [ { "name": "router_", "type": "address", "internalType": "address" } ], "stateMutability": "view" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "getUniswapV2Router2()": "d1ded408" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_router\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"getUniswapV2Router2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"router_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"getUniswapV2Router2()\":{\"returns\":{\"router_\":\"The `UNISWAP_V2_ROUTER2` variable value\"}}},\"title\":\"UniswapV2ActionsMixin Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getUniswapV2Router2()\":{\"notice\":\"Gets the `UNISWAP_V2_ROUTER2` variable\"}},\"notice\":\"Mixin contract for interacting with Uniswap v2\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/integration-manager/integrations/utils/actions/UniswapV2ActionsMixin.sol\":\"UniswapV2ActionsMixin\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/integration-manager/integrations/utils/actions/UniswapV2ActionsMixin.sol\":{\"keccak256\":\"0x87c92b0b1a0a612a7e641cf5904b628d70909185afcad8cde3617d02a966db67\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ab76dce3a9fac7392335f51c1b76da0325ec785a7a1a0acfe06e9fd4f82f324d\",\"dweb:/ipfs/Qmenw17RU7eUvFubo2q6pAmM8Re7muoV1HUFGx2FMeCxLY\"]},\"contracts/release/interfaces/IUniswapV2Router2.sol\":{\"keccak256\":\"0xe923e9176b7f9e9cf271098966ff4d76248caf65b777fb8c51f07146cce3d0c9\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://14cbb598760aabb151e11816467f7a0c7205cb9a653a1ab723a9934734e23d50\",\"dweb:/ipfs/QmaPRfXKidKqfdBfvxzuNVDQv1FFC8NbexQLF1md53xzz3\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_router", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getUniswapV2Router2", "outputs": [ { "internalType": "address", "name": "router_", "type": "address" } ] } ], "devdoc": { "kind": "dev", "methods": { "getUniswapV2Router2()": { "returns": { "router_": "The `UNISWAP_V2_ROUTER2` variable value" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "getUniswapV2Router2()": { "notice": "Gets the `UNISWAP_V2_ROUTER2` variable" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/integration-manager/integrations/utils/actions/UniswapV2ActionsMixin.sol": "UniswapV2ActionsMixin" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/extensions/integration-manager/integrations/utils/actions/UniswapV2ActionsMixin.sol": { "keccak256": "0x87c92b0b1a0a612a7e641cf5904b628d70909185afcad8cde3617d02a966db67", "urls": [ "bzz-raw://ab76dce3a9fac7392335f51c1b76da0325ec785a7a1a0acfe06e9fd4f82f324d", "dweb:/ipfs/Qmenw17RU7eUvFubo2q6pAmM8Re7muoV1HUFGx2FMeCxLY" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IUniswapV2Router2.sol": { "keccak256": "0xe923e9176b7f9e9cf271098966ff4d76248caf65b777fb8c51f07146cce3d0c9", "urls": [ "bzz-raw://14cbb598760aabb151e11816467f7a0c7205cb9a653a1ab723a9934734e23d50", "dweb:/ipfs/QmaPRfXKidKqfdBfvxzuNVDQv1FFC8NbexQLF1md53xzz3" ], "license": "GPL-3.0" }, "contracts/release/utils/AssetHelpers.sol": { "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", "urls": [ "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", "urls": [ "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Address.sol": { "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", "urls": [ "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" } }, "version": 1 }, "id": 196 } diff --git a/eth_defi/abi/enzyme/UniswapV2ExchangeAdapter.json b/eth_defi/abi/enzyme/UniswapV2ExchangeAdapter.json index 99819c7d..9d515c20 100644 --- a/eth_defi/abi/enzyme/UniswapV2ExchangeAdapter.json +++ b/eth_defi/abi/enzyme/UniswapV2ExchangeAdapter.json @@ -1,728 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_integrationManager", - "type": "address" - }, - { - "internalType": "address", - "name": "_router", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "name": "CLAIM_REWARDS_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "LEND_AND_STAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "LEND_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "REDEEM_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "STAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "TAKE_MULTIPLE_ORDERS_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "TAKE_ORDER_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "UNSTAKE_AND_REDEEM_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "UNSTAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getIntegrationManager", - "outputs": [ - { - "internalType": "address", - "name": "integrationManager_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getUniswapV2Router2", - "outputs": [ - { - "internalType": "address", - "name": "router_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes4", - "name": "_selector", - "type": "bytes4" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - } - ], - "name": "parseAssetsForAction", - "outputs": [ - { - "internalType": "enum IIntegrationManager.SpendAssetsHandleType", - "name": "spendAssetsHandleType_", - "type": "uint8" - }, - { - "internalType": "address[]", - "name": "spendAssets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "spendAssetAmounts_", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "incomingAssets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "minIncomingAssetAmounts_", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "takeOrder", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x60c060405234801561001057600080fd5b506040516111543803806111548339818101604052604081101561003357600080fd5b5080516020909101516001600160601b0319606092831b8116608052911b1660a05260805160601c60a05160601c6110c761008d600039806106de528061081e5280610845525080610402528061070252506110c76000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c8063863e5ad01161008c578063c54efee511610066578063c54efee514610201578063d1ded408146103c3578063e7c45690146103e7578063f7d882b5146103ef576100cf565b8063863e5ad0146101e9578063b23228cf146101f1578063c32990a2146101f9576100cf565b806303e38a2b146100d4578063080456c1146101a4578063131461c0146101c9578063257cb1a3146101d15780633ffc1591146101d957806340da225d146101e1575b600080fd5b6101a2600480360360608110156100ea57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561011457600080fd5b82018360208201111561012657600080fd5b803590602001918460018302840111600160201b8311171561014757600080fd5b919390929091602081019035600160201b81111561016457600080fd5b82018360208201111561017657600080fd5b803590602001918460018302840111600160201b8311171561019757600080fd5b5090925090506103f7565b005b6101ac610547565b604080516001600160e01b03199092168252519081900360200190f35b6101ac61056b565b6101ac61058f565b6101ac6105b3565b6101ac6105d7565b6101ac6105fb565b6101ac61061f565b6101ac610643565b61028e6004803603606081101561021757600080fd5b6001600160a01b03823516916001600160e01b031960208201351691810190606081016040820135600160201b81111561025057600080fd5b82018360208201111561026257600080fd5b803590602001918460018302840111600160201b8311171561028357600080fd5b509092509050610667565b6040518086600281111561029e57fe5b815260200180602001806020018060200180602001858103855289818151815260200191508051906020019060200280838360005b838110156102eb5781810151838201526020016102d3565b50505050905001858103845288818151815260200191508051906020019060200280838360005b8381101561032a578181015183820152602001610312565b50505050905001858103835287818151815260200191508051906020019060200280838360005b83811015610369578181015183820152602001610351565b50505050905001858103825286818151815260200191508051906020019060200280838360005b838110156103a8578181015183820152602001610390565b50505050905001995050505050505050505060405180910390f35b6103cb6106dc565b604080516001600160a01b039092168252519081900360200190f35b6103cb610700565b6101ac610724565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461045e5760405162461bcd60e51b8152600401808060200182810382526032815260200180610fd56032913960400191505060405180910390fd5b606060006104a186868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061074892505050565b925050915061053e87836000815181106104b757fe5b60200260200101516001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561050b57600080fd5b505afa15801561051f573d6000803e3d6000fd5b505050506040513d602081101561053557600080fd5b50518385610804565b50505050505050565b7f8334eb99be0145865eba9889fca2ee920288090caefff4cc776038e20ad9259a81565b7f29fa046e79524c3c5ac4c01df692c35e217802b2b13b21121b76cf0ef02b138c81565b7f099f75155f0e997bf83a7993a71d5e7e7540bd386fe1e84643a09ce6b412521981565b7ffa7dd04da627f433da73c4355ead9c75682a67a8fc84d3f6170ef0922f402d2481565b7fb9dfbaccbe5cd2a84fdcf1d15f23ef25d23086f5afbaa99516065ed4a5bbc7a381565b7f03e38a2bd7063d45c897edeafc330e71657502dd86434d3c37a489caf116af6981565b7f68e30677f607df46e87da13e15b637784cfa62374b653f35ab43d10361a2f83081565b7f0e7f692dad5b88fdee426250d6eae91207e56a2e8112b7364579bed1790e5bf481565b600060608080806001600160e01b031988166303e38a2b60e01b146106bd5760405162461bcd60e51b81526004018080602001828103825260278152602001806110946027913960400191505060405180910390fd5b6106c78787610935565b94509450945094509450945094509450945094565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b7fc29fa9dde84204c2908778afd0613d802d31cf046179b88f6d2b4a4e507ea2d581565b606060008083806020019051606081101561076257600080fd5b8101908080516040519392919084600160201b82111561078157600080fd5b90830190602082018581111561079657600080fd5b82518660208202830111600160201b821117156107b257600080fd5b82525081516020918201928201910280838360005b838110156107df5781810151838201526020016107c7565b5050505091909101604090815260208301519201519499919850939650945050505050565b6108438160008151811061081457fe5b60200260200101517f000000000000000000000000000000000000000000000000000000000000000085610b01565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635c11d7958484848861087e610bbf565b6040518663ffffffff1660e01b81526004018086815260200185815260200180602001846001600160a01b03168152602001838152602001828103825285818151815260200191508051906020019060200280838360005b838110156108ee5781810151838201526020016108d6565b505050509050019650505050505050600060405180830381600087803b15801561091757600080fd5b505af115801561092b573d6000803e3d6000fd5b5050505050505050565b600060608060608060606000806109818a8a8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061074892505050565b9250925092506002835110156109c85760405162461bcd60e51b815260040180806020018281038252602d815260200180611007602d913960400191505060405180910390fd5b6040805160018082528183019092529060208083019080368337019050509650826000815181106109f557fe5b602002602001015187600081518110610a0a57fe5b6001600160a01b03929092166020928302919091018201526040805160018082528183019092529182810190803683370190505095508186600081518110610a4e57fe5b60209081029190910101526040805160018082528183019092529081602001602082028036833701905050945082600184510381518110610a8b57fe5b602002602001015185600081518110610aa057fe5b6001600160a01b03929092166020928302919091018201526040805160018082528183019092529182810190803683370190505093508084600081518110610ae457fe5b602002602001018181525050600297505050509295509295909350565b60408051636eb1769f60e11b81523060048201526001600160a01b038481166024830152915160009286169163dd62ed3e916044808301926020929190829003018186803b158015610b5257600080fd5b505afa158015610b66573d6000803e3d6000fd5b505050506040513d6020811015610b7c57600080fd5b5051905081811015610bb9578015610ba357610ba36001600160a01b038516846000610bc6565b610bb96001600160a01b03851684600019610bc6565b50505050565b6001420190565b801580610c4c575060408051636eb1769f60e11b81523060048201526001600160a01b03848116602483015291519185169163dd62ed3e91604480820192602092909190829003018186803b158015610c1e57600080fd5b505afa158015610c32573d6000803e3d6000fd5b505050506040513d6020811015610c4857600080fd5b5051155b610c875760405162461bcd60e51b815260040180806020018281038252603681526020018061105e6036913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052610cd9908490610cde565b505050565b6060610d33826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610d8f9092919063ffffffff16565b805190915015610cd957808060200190516020811015610d5257600080fd5b5051610cd95760405162461bcd60e51b815260040180806020018281038252602a815260200180611034602a913960400191505060405180910390fd5b6060610d9e8484600085610da8565b90505b9392505050565b606082471015610de95760405162461bcd60e51b8152600401808060200182810382526026815260200180610faf6026913960400191505060405180910390fd5b610df285610f04565b610e43576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b60208310610e825780518252601f199092019160209182019101610e63565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114610ee4576040519150601f19603f3d011682016040523d82523d6000602084013e610ee9565b606091505b5091509150610ef9828286610f0a565b979650505050505050565b3b151590565b60608315610f19575081610da1565b825115610f295782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610f73578181015183820152602001610f5b565b50505050905090810190601f168015610fa05780820380516001836020036101000a031916815260200191505b509250505060405180910390fdfe416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c4f6e6c792074686520496e746567726174696f6e4d616e616765722063616e2063616c6c20746869732066756e6374696f6e5f5f7061727365417373657473466f7254616b654f726465723a205f70617468206d757374206265203e3d20325361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e63657061727365417373657473466f72416374696f6e3a205f73656c6563746f7220696e76616c6964a164736f6c634300060c000a", - "sourceMap": "581:4110:174:-:0;;;659:159;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;659:159:174;;;;;;;-1:-1:-1;;;;;;1938:41:179;;;;;;;;700:28:196;;;;;581:4110:174;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106100cf5760003560e01c8063863e5ad01161008c578063c54efee511610066578063c54efee514610201578063d1ded408146103c3578063e7c45690146103e7578063f7d882b5146103ef576100cf565b8063863e5ad0146101e9578063b23228cf146101f1578063c32990a2146101f9576100cf565b806303e38a2b146100d4578063080456c1146101a4578063131461c0146101c9578063257cb1a3146101d15780633ffc1591146101d957806340da225d146101e1575b600080fd5b6101a2600480360360608110156100ea57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561011457600080fd5b82018360208201111561012657600080fd5b803590602001918460018302840111600160201b8311171561014757600080fd5b919390929091602081019035600160201b81111561016457600080fd5b82018360208201111561017657600080fd5b803590602001918460018302840111600160201b8311171561019757600080fd5b5090925090506103f7565b005b6101ac610547565b604080516001600160e01b03199092168252519081900360200190f35b6101ac61056b565b6101ac61058f565b6101ac6105b3565b6101ac6105d7565b6101ac6105fb565b6101ac61061f565b6101ac610643565b61028e6004803603606081101561021757600080fd5b6001600160a01b03823516916001600160e01b031960208201351691810190606081016040820135600160201b81111561025057600080fd5b82018360208201111561026257600080fd5b803590602001918460018302840111600160201b8311171561028357600080fd5b509092509050610667565b6040518086600281111561029e57fe5b815260200180602001806020018060200180602001858103855289818151815260200191508051906020019060200280838360005b838110156102eb5781810151838201526020016102d3565b50505050905001858103845288818151815260200191508051906020019060200280838360005b8381101561032a578181015183820152602001610312565b50505050905001858103835287818151815260200191508051906020019060200280838360005b83811015610369578181015183820152602001610351565b50505050905001858103825286818151815260200191508051906020019060200280838360005b838110156103a8578181015183820152602001610390565b50505050905001995050505050505050505060405180910390f35b6103cb6106dc565b604080516001600160a01b039092168252519081900360200190f35b6103cb610700565b6101ac610724565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461045e5760405162461bcd60e51b8152600401808060200182810382526032815260200180610fd56032913960400191505060405180910390fd5b606060006104a186868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061074892505050565b925050915061053e87836000815181106104b757fe5b60200260200101516001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561050b57600080fd5b505afa15801561051f573d6000803e3d6000fd5b505050506040513d602081101561053557600080fd5b50518385610804565b50505050505050565b7f8334eb99be0145865eba9889fca2ee920288090caefff4cc776038e20ad9259a81565b7f29fa046e79524c3c5ac4c01df692c35e217802b2b13b21121b76cf0ef02b138c81565b7f099f75155f0e997bf83a7993a71d5e7e7540bd386fe1e84643a09ce6b412521981565b7ffa7dd04da627f433da73c4355ead9c75682a67a8fc84d3f6170ef0922f402d2481565b7fb9dfbaccbe5cd2a84fdcf1d15f23ef25d23086f5afbaa99516065ed4a5bbc7a381565b7f03e38a2bd7063d45c897edeafc330e71657502dd86434d3c37a489caf116af6981565b7f68e30677f607df46e87da13e15b637784cfa62374b653f35ab43d10361a2f83081565b7f0e7f692dad5b88fdee426250d6eae91207e56a2e8112b7364579bed1790e5bf481565b600060608080806001600160e01b031988166303e38a2b60e01b146106bd5760405162461bcd60e51b81526004018080602001828103825260278152602001806110946027913960400191505060405180910390fd5b6106c78787610935565b94509450945094509450945094509450945094565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b7fc29fa9dde84204c2908778afd0613d802d31cf046179b88f6d2b4a4e507ea2d581565b606060008083806020019051606081101561076257600080fd5b8101908080516040519392919084600160201b82111561078157600080fd5b90830190602082018581111561079657600080fd5b82518660208202830111600160201b821117156107b257600080fd5b82525081516020918201928201910280838360005b838110156107df5781810151838201526020016107c7565b5050505091909101604090815260208301519201519499919850939650945050505050565b6108438160008151811061081457fe5b60200260200101517f000000000000000000000000000000000000000000000000000000000000000085610b01565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635c11d7958484848861087e610bbf565b6040518663ffffffff1660e01b81526004018086815260200185815260200180602001846001600160a01b03168152602001838152602001828103825285818151815260200191508051906020019060200280838360005b838110156108ee5781810151838201526020016108d6565b505050509050019650505050505050600060405180830381600087803b15801561091757600080fd5b505af115801561092b573d6000803e3d6000fd5b5050505050505050565b600060608060608060606000806109818a8a8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061074892505050565b9250925092506002835110156109c85760405162461bcd60e51b815260040180806020018281038252602d815260200180611007602d913960400191505060405180910390fd5b6040805160018082528183019092529060208083019080368337019050509650826000815181106109f557fe5b602002602001015187600081518110610a0a57fe5b6001600160a01b03929092166020928302919091018201526040805160018082528183019092529182810190803683370190505095508186600081518110610a4e57fe5b60209081029190910101526040805160018082528183019092529081602001602082028036833701905050945082600184510381518110610a8b57fe5b602002602001015185600081518110610aa057fe5b6001600160a01b03929092166020928302919091018201526040805160018082528183019092529182810190803683370190505093508084600081518110610ae457fe5b602002602001018181525050600297505050509295509295909350565b60408051636eb1769f60e11b81523060048201526001600160a01b038481166024830152915160009286169163dd62ed3e916044808301926020929190829003018186803b158015610b5257600080fd5b505afa158015610b66573d6000803e3d6000fd5b505050506040513d6020811015610b7c57600080fd5b5051905081811015610bb9578015610ba357610ba36001600160a01b038516846000610bc6565b610bb96001600160a01b03851684600019610bc6565b50505050565b6001420190565b801580610c4c575060408051636eb1769f60e11b81523060048201526001600160a01b03848116602483015291519185169163dd62ed3e91604480820192602092909190829003018186803b158015610c1e57600080fd5b505afa158015610c32573d6000803e3d6000fd5b505050506040513d6020811015610c4857600080fd5b5051155b610c875760405162461bcd60e51b815260040180806020018281038252603681526020018061105e6036913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052610cd9908490610cde565b505050565b6060610d33826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610d8f9092919063ffffffff16565b805190915015610cd957808060200190516020811015610d5257600080fd5b5051610cd95760405162461bcd60e51b815260040180806020018281038252602a815260200180611034602a913960400191505060405180910390fd5b6060610d9e8484600085610da8565b90505b9392505050565b606082471015610de95760405162461bcd60e51b8152600401808060200182810382526026815260200180610faf6026913960400191505060405180910390fd5b610df285610f04565b610e43576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b60208310610e825780518252601f199092019160209182019101610e63565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114610ee4576040519150601f19603f3d011682016040523d82523d6000602084013e610ee9565b606091505b5091509150610ef9828286610f0a565b979650505050505050565b3b151590565b60608315610f19575081610da1565b825115610f295782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610f73578181015183820152602001610f5b565b50505050905090810190601f168015610fa05780820380516001836020036101000a031916815260200191505b509250505060405180910390fdfe416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c4f6e6c792074686520496e746567726174696f6e4d616e616765722063616e2063616c6c20746869732066756e6374696f6e5f5f7061727365417373657473466f7254616b654f726465723a205f70617468206d757374206265203e3d20325361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e63657061727365417373657473466f72416374696f6e3a205f73656c6563746f7220696e76616c6964a164736f6c634300060c000a", - "sourceMap": "581:4110:174:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;983:523;;;;;;;;;;;;;;;;-1:-1:-1;;;;;983:523:174;;;;;;;;;;;;;;;-1:-1:-1;;;983:523:174;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;983:523:174;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;983:523:174;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;983:523:174;;;;;;;;;;-1:-1:-1;983:523:174;;-1:-1:-1;983:523:174;-1:-1:-1;983:523:174;:::i;:::-;;1490:119:180;;;:::i;:::-;;;;-1:-1:-1;;;;;;1490:119:180;;;;;;;;;;;;;;1373:111;;;:::i;832:85::-;;;:::i;1034:87::-;;;:::i;1240:110::-;;;:::i;706:104::-;;;:::i;1127:91::-;;;:::i;577:123::-;;;:::i;2247:621:174:-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2247:621:174;;;;-1:-1:-1;;;;;;2247:621:174;;;;;;;;;;;;;;;;-1:-1:-1;;;2247:621:174;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2247:621:174;;;;;;;;;;-1:-1:-1;2247:621:174;;-1:-1:-1;2247:621:174;-1:-1:-1;2247:621:174;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4866:111:196;;;:::i;:::-;;;;-1:-1:-1;;;;;4866:111:196;;;;;;;;;;;;;;2637:128:179;;;:::i;923:89:180:-;;;:::i;983:523:174:-;1747:10:179;-1:-1:-1;;;;;1761:19:179;1747:33;;1726:130;;;;-1:-1:-1;;;1726:130:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1140:21:174::1;1165:30;1199:60;1238:11;;1199:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;1199:25:174::1;::::0;-1:-1:-1;;;1199:60:174:i:1;:::-;1139:120;;;;;1342:157;1371:11;1402:4;1407:1;1402:7;;;;;;;;;;;;;;-1:-1:-1::0;;;;;1396:24:174::1;;1429:4;1396:39;;;;;;;;;;;;;-1:-1:-1::0;;;;;1396:39:174::1;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;1396:39:174;1449:22;1485:4;1342:15:::1;:157::i;:::-;1866:1:179;;983:523:174::0;;;;;:::o;1490:119:180:-;1558:50;1490:119;:::o;1373:111::-;1437:46;1373:111;:::o;832:85::-;878:38;832:85;:::o;1034:87::-;1081:39;1034:87;:::o;1240:110::-;1303:46;1240:110;:::o;706:104::-;766:43;706:104;:::o;1127:91::-;1176:41;1127:91;:::o;577:123::-;647:52;577:123;:::o;2247:621:174:-;2439:64;2517:29;;;;-1:-1:-1;;;;;;2729:32:174;;-1:-1:-1;;;2729:32:174;2721:84;;;;-1:-1:-1;;;2721:84:174;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2823:38;2849:11;;2823:25;:38::i;:::-;2816:45;;;;;;;;;;2247:621;;;;;;;;;:::o;4866:111:196:-;4952:18;4866:111;:::o;2637:128:179:-;2739:19;2637:128;:::o;923:89:180:-;971:40;923:89;:::o;4367:322:174:-;4487:22;4523:28;4565:31;4639:11;4628:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4628:54:174;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4628:54:174;;;;;;;;;;;;-1:-1:-1;4628:54:174;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;4628:54:174;;;;;;;;;;;;;;;4621:61;;4628:54;;-1:-1:-1;4628:54:174;;-1:-1:-1;4367:322:174;-1:-1:-1;;;;;4367:322:174:o;2236:604:196:-;2425:77;2451:5;2457:1;2451:8;;;;;;;;;;;;;;2461:18;2481:20;2425:25;:77::i;:::-;2555:18;-1:-1:-1;;;;;2537:104:196;;2659:20;2697:23;2738:5;2761:10;2789:30;:28;:30::i;:::-;2537:296;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2537:296:196;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2236:604;;;;:::o;2994:1273:174:-;3116:64;3194:29;3237:35;3286:32;3332:41;3412:21;3447:27;3488:30;3531:38;3557:11;;3531:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3531:25:174;;-1:-1:-1;;;3531:38:174:i;:::-;3398:171;;;;;;3603:1;3588:4;:11;:16;;3580:74;;;;-1:-1:-1;;;3580:74:174;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3680:16;;;3694:1;3680:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3680:16:174;3665:31;;3724:4;3729:1;3724:7;;;;;;;;;;;;;;3706:12;3719:1;3706:15;;;;;;;;-1:-1:-1;;;;;3706:25:174;;;;:15;;;;;;;;;;:25;3762:16;;;3776:1;3762:16;;;;;;;;;;;;;;3706:15;3762:16;;;;;-1:-1:-1;3762:16:174;3741:37;;3812:19;3788:18;3807:1;3788:21;;;;;;;;;;;;;;;;;:43;3860:16;;;3874:1;3860:16;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3860:16:174;3842:34;;3907:4;3926:1;3912:4;:11;:15;3907:21;;;;;;;;;;;;;;3886:15;3902:1;3886:18;;;;;;;;-1:-1:-1;;;;;3886:42:174;;;;:18;;;;;;;;;;:42;3965:16;;;3979:1;3965:16;;;;;;;;;;;;;;3886:18;3965:16;;;;;-1:-1:-1;3965:16:174;3938:43;;4021:22;3991:24;4016:1;3991:27;;;;;;;;;;;;;:52;;;;;4075:50;4054:206;;;;;2994:1273;;;;;;;;:::o;2554:434:355:-;2714:47;;;-1:-1:-1;;;2714:47:355;;2746:4;2714:47;;;;-1:-1:-1;;;;;2714:47:355;;;;;;;;;2694:17;;2714:23;;;;;:47;;;;;;;;;;;;;;:23;:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2714:47:355;;-1:-1:-1;2775:25:355;;;2771:211;;;2820:13;;2816:89;;2853:37;-1:-1:-1;;;;;2853:25:355;;2879:7;2888:1;2853:25;:37::i;:::-;2918:53;-1:-1:-1;;;;;2918:25:355;;2944:7;-1:-1:-1;;2918:25:355;:53::i;:::-;2554:434;;;;:::o;4544:124:196:-;4660:1;4642:15;:19;4544:124;:::o;1348:613:450:-;1713:10;;;1712:62;;-1:-1:-1;1729:39:450;;;-1:-1:-1;;;1729:39:450;;1753:4;1729:39;;;;-1:-1:-1;;;;;1729:39:450;;;;;;;;;:15;;;;;;:39;;;;;;;;;;;;;;;:15;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1729:39:450;:44;1712:62;1704:150;;;;-1:-1:-1;;;1704:150:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1891:62;;;-1:-1:-1;;;;;1891:62:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1891:62:450;-1:-1:-1;;;1891:62:450;;;1864:90;;1884:5;;1864:19;:90::i;:::-;1348:613;;;:::o;2967:751::-;3386:23;3412:69;3440:4;3412:69;;;;;;;;;;;;;;;;;3420:5;-1:-1:-1;;;;;3412:27:450;;;:69;;;;;:::i;:::-;3495:17;;3386:95;;-1:-1:-1;3495:21:450;3491:221;;3635:10;3624:30;;;;;;;;;;;;;;;-1:-1:-1;3624:30:450;3616:85;;;;-1:-1:-1;;;3616:85:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3581:193:451;3684:12;3715:52;3737:6;3745:4;3751:1;3754:12;3715:21;:52::i;:::-;3708:59;;3581:193;;;;;;:::o;4608:523::-;4735:12;4792:5;4767:21;:30;;4759:81;;;;-1:-1:-1;;;4759:81:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4858:18;4869:6;4858:10;:18::i;:::-;4850:60;;;;;-1:-1:-1;;;4850:60:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;4981:12;4995:23;5022:6;-1:-1:-1;;;;;5022:11:451;5042:5;5050:4;5022:33;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5022:33:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4980:75;;;;5072:52;5090:7;5099:10;5111:12;5072:17;:52::i;:::-;5065:59;4608:523;-1:-1:-1;;;;;;;4608:523:451:o;726:413::-;1086:20;1124:8;;;726:413::o;7091:725::-;7206:12;7234:7;7230:580;;;-1:-1:-1;7264:10:451;7257:17;;7230:580;7375:17;;:21;7371:429;;7633:10;7627:17;7693:15;7680:10;7676:2;7672:19;7665:44;7582:145;7772:12;7765:20;;-1:-1:-1;;;7765:20:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;", - "linkReferences": {}, - "immutableReferences": { - "49791": [ - { - "start": 1026, - "length": 32 - }, - { - "start": 1794, - "length": 32 - } - ], - "51962": [ - { - "start": 1758, - "length": 32 - }, - { - "start": 2078, - "length": 32 - }, - { - "start": 2117, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "CLAIM_REWARDS_SELECTOR()": "40da225d", - "LEND_AND_STAKE_SELECTOR()": "131461c0", - "LEND_SELECTOR()": "257cb1a3", - "REDEEM_SELECTOR()": "f7d882b5", - "STAKE_SELECTOR()": "3ffc1591", - "TAKE_MULTIPLE_ORDERS_SELECTOR()": "c32990a2", - "TAKE_ORDER_SELECTOR()": "863e5ad0", - "UNSTAKE_AND_REDEEM_SELECTOR()": "080456c1", - "UNSTAKE_SELECTOR()": "b23228cf", - "getIntegrationManager()": "e7c45690", - "getUniswapV2Router2()": "d1ded408", - "parseAssetsForAction(address,bytes4,bytes)": "c54efee5", - "takeOrder(address,bytes,bytes)": "03e38a2b" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_integrationManager\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_router\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"CLAIM_REWARDS_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LEND_AND_STAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LEND_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"REDEEM_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"STAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TAKE_MULTIPLE_ORDERS_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TAKE_ORDER_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UNSTAKE_AND_REDEEM_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UNSTAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getIntegrationManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"integrationManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getUniswapV2Router2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"router_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"_selector\",\"type\":\"bytes4\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"}],\"name\":\"parseAssetsForAction\",\"outputs\":[{\"internalType\":\"enum IIntegrationManager.SpendAssetsHandleType\",\"name\":\"spendAssetsHandleType_\",\"type\":\"uint8\"},{\"internalType\":\"address[]\",\"name\":\"spendAssets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"spendAssetAmounts_\",\"type\":\"uint256[]\"},{\"internalType\":\"address[]\",\"name\":\"incomingAssets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"minIncomingAssetAmounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"takeOrder\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"getIntegrationManager()\":{\"returns\":{\"integrationManager_\":\"The `INTEGRATION_MANAGER` variable value\"}},\"getUniswapV2Router2()\":{\"returns\":{\"router_\":\"The `UNISWAP_V2_ROUTER2` variable value\"}},\"parseAssetsForAction(address,bytes4,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_selector\":\"The function selector for the callOnIntegration\"},\"returns\":{\"incomingAssets_\":\"The assets to receive in the call\",\"minIncomingAssetAmounts_\":\"The min asset amounts to receive in the call\",\"spendAssetAmounts_\":\"The max asset amounts to spend in the call\",\"spendAssetsHandleType_\":\"A type that dictates how to handle granting the adapter access to spend assets (`None` by default)\",\"spendAssets_\":\"The assets to spend in the call\"}},\"takeOrder(address,bytes,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}}},\"title\":\"UniswapV2ExchangeAdapter Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getIntegrationManager()\":{\"notice\":\"Gets the `INTEGRATION_MANAGER` variable\"},\"getUniswapV2Router2()\":{\"notice\":\"Gets the `UNISWAP_V2_ROUTER2` variable\"},\"parseAssetsForAction(address,bytes4,bytes)\":{\"notice\":\"Parses the expected assets in a particular action\"},\"takeOrder(address,bytes,bytes)\":{\"notice\":\"Trades assets on Uniswap\"}},\"notice\":\"Adapter for interacting with Uniswap v2 swaps\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/integration-manager/integrations/adapters/UniswapV2ExchangeAdapter.sol\":\"UniswapV2ExchangeAdapter\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/integration-manager/IIntegrationManager.sol\":{\"keccak256\":\"0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23\",\"dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk\"]},\"contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol\":{\"keccak256\":\"0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336\",\"dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS\"]},\"contracts/release/extensions/integration-manager/integrations/adapters/UniswapV2ExchangeAdapter.sol\":{\"keccak256\":\"0xbd1643e3f83be1236e4a36f3bf29558febc416c50a13c7d73e4c690c2d622c74\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://7769d3ee78c73d2a744e8252ca81e018c9f72d2cf35dd5feb6ee3cabc9d86213\",\"dweb:/ipfs/QmWtVcn8TsEhv9vj6aCGUpbgPPMhroeKKyVWSGtpDFKKoV\"]},\"contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol\":{\"keccak256\":\"0x067e49bf0d3c1655ab41a413c65ccf61d4e593308132e1ffc484a0fadfbbaf26\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://387f425017e18e89cc1893521101fa99df595314847d0b3d9a1162369f714fcf\",\"dweb:/ipfs/Qmco3jCvuWAyfCpBYpGzHrQjiFJG63w1RJKcakoTEbxRQm\"]},\"contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol\":{\"keccak256\":\"0xfd34c7ca8231c6935e25dede32ca2b3121738e624d0fc896f7b895a731edcf88\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d492c061963d36d07718446db191d4c5a340c0d847f6cd209f027bd99f7cb176\",\"dweb:/ipfs/QmfCvRZt56ftDdrEh6LepHXFJ4fVtcfpQGvEyY8k4zxG1A\"]},\"contracts/release/extensions/integration-manager/integrations/utils/actions/UniswapV2ActionsMixin.sol\":{\"keccak256\":\"0x87c92b0b1a0a612a7e641cf5904b628d70909185afcad8cde3617d02a966db67\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ab76dce3a9fac7392335f51c1b76da0325ec785a7a1a0acfe06e9fd4f82f324d\",\"dweb:/ipfs/Qmenw17RU7eUvFubo2q6pAmM8Re7muoV1HUFGx2FMeCxLY\"]},\"contracts/release/interfaces/IUniswapV2Router2.sol\":{\"keccak256\":\"0xe923e9176b7f9e9cf271098966ff4d76248caf65b777fb8c51f07146cce3d0c9\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://14cbb598760aabb151e11816467f7a0c7205cb9a653a1ab723a9934734e23d50\",\"dweb:/ipfs/QmaPRfXKidKqfdBfvxzuNVDQv1FFC8NbexQLF1md53xzz3\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_integrationManager", - "type": "address" - }, - { - "internalType": "address", - "name": "_router", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "CLAIM_REWARDS_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "LEND_AND_STAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "LEND_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "REDEEM_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "STAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "TAKE_MULTIPLE_ORDERS_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "TAKE_ORDER_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "UNSTAKE_AND_REDEEM_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "UNSTAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getIntegrationManager", - "outputs": [ - { - "internalType": "address", - "name": "integrationManager_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getUniswapV2Router2", - "outputs": [ - { - "internalType": "address", - "name": "router_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes4", - "name": "_selector", - "type": "bytes4" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - } - ], - "stateMutability": "view", - "type": "function", - "name": "parseAssetsForAction", - "outputs": [ - { - "internalType": "enum IIntegrationManager.SpendAssetsHandleType", - "name": "spendAssetsHandleType_", - "type": "uint8" - }, - { - "internalType": "address[]", - "name": "spendAssets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "spendAssetAmounts_", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "incomingAssets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "minIncomingAssetAmounts_", - "type": "uint256[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "takeOrder" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "getIntegrationManager()": { - "returns": { - "integrationManager_": "The `INTEGRATION_MANAGER` variable value" - } - }, - "getUniswapV2Router2()": { - "returns": { - "router_": "The `UNISWAP_V2_ROUTER2` variable value" - } - }, - "parseAssetsForAction(address,bytes4,bytes)": { - "params": { - "_actionData": "Data specific to this action", - "_selector": "The function selector for the callOnIntegration" - }, - "returns": { - "incomingAssets_": "The assets to receive in the call", - "minIncomingAssetAmounts_": "The min asset amounts to receive in the call", - "spendAssetAmounts_": "The max asset amounts to spend in the call", - "spendAssetsHandleType_": "A type that dictates how to handle granting the adapter access to spend assets (`None` by default)", - "spendAssets_": "The assets to spend in the call" - } - }, - "takeOrder(address,bytes,bytes)": { - "params": { - "_actionData": "Data specific to this action", - "_vaultProxy": "The VaultProxy of the calling fund" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "getIntegrationManager()": { - "notice": "Gets the `INTEGRATION_MANAGER` variable" - }, - "getUniswapV2Router2()": { - "notice": "Gets the `UNISWAP_V2_ROUTER2` variable" - }, - "parseAssetsForAction(address,bytes4,bytes)": { - "notice": "Parses the expected assets in a particular action" - }, - "takeOrder(address,bytes,bytes)": { - "notice": "Trades assets on Uniswap" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/integration-manager/integrations/adapters/UniswapV2ExchangeAdapter.sol": "UniswapV2ExchangeAdapter" - }, - "libraries": {} - }, - "sources": { - "contracts/release/extensions/integration-manager/IIntegrationManager.sol": { - "keccak256": "0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef", - "urls": [ - "bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23", - "dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol": { - "keccak256": "0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1", - "urls": [ - "bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336", - "dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/adapters/UniswapV2ExchangeAdapter.sol": { - "keccak256": "0xbd1643e3f83be1236e4a36f3bf29558febc416c50a13c7d73e4c690c2d622c74", - "urls": [ - "bzz-raw://7769d3ee78c73d2a744e8252ca81e018c9f72d2cf35dd5feb6ee3cabc9d86213", - "dweb:/ipfs/QmWtVcn8TsEhv9vj6aCGUpbgPPMhroeKKyVWSGtpDFKKoV" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol": { - "keccak256": "0x067e49bf0d3c1655ab41a413c65ccf61d4e593308132e1ffc484a0fadfbbaf26", - "urls": [ - "bzz-raw://387f425017e18e89cc1893521101fa99df595314847d0b3d9a1162369f714fcf", - "dweb:/ipfs/Qmco3jCvuWAyfCpBYpGzHrQjiFJG63w1RJKcakoTEbxRQm" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol": { - "keccak256": "0xfd34c7ca8231c6935e25dede32ca2b3121738e624d0fc896f7b895a731edcf88", - "urls": [ - "bzz-raw://d492c061963d36d07718446db191d4c5a340c0d847f6cd209f027bd99f7cb176", - "dweb:/ipfs/QmfCvRZt56ftDdrEh6LepHXFJ4fVtcfpQGvEyY8k4zxG1A" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/utils/actions/UniswapV2ActionsMixin.sol": { - "keccak256": "0x87c92b0b1a0a612a7e641cf5904b628d70909185afcad8cde3617d02a966db67", - "urls": [ - "bzz-raw://ab76dce3a9fac7392335f51c1b76da0325ec785a7a1a0acfe06e9fd4f82f324d", - "dweb:/ipfs/Qmenw17RU7eUvFubo2q6pAmM8Re7muoV1HUFGx2FMeCxLY" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IUniswapV2Router2.sol": { - "keccak256": "0xe923e9176b7f9e9cf271098966ff4d76248caf65b777fb8c51f07146cce3d0c9", - "urls": [ - "bzz-raw://14cbb598760aabb151e11816467f7a0c7205cb9a653a1ab723a9934734e23d50", - "dweb:/ipfs/QmaPRfXKidKqfdBfvxzuNVDQv1FFC8NbexQLF1md53xzz3" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AssetHelpers.sol": { - "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", - "urls": [ - "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", - "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { - "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", - "urls": [ - "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", - "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Address.sol": { - "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", - "urls": [ - "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", - "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 174 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_integrationManager", "type": "address", "internalType": "address" }, { "name": "_router", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "CLAIM_REWARDS_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "LEND_AND_STAKE_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "LEND_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "REDEEM_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "STAKE_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "TAKE_MULTIPLE_ORDERS_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "TAKE_ORDER_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "UNSTAKE_AND_REDEEM_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "UNSTAKE_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "getIntegrationManager", "inputs": [], "outputs": [ { "name": "integrationManager_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getUniswapV2Router2", "inputs": [], "outputs": [ { "name": "router_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "parseAssetsForAction", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "_selector", "type": "bytes4", "internalType": "bytes4" }, { "name": "_actionData", "type": "bytes", "internalType": "bytes" } ], "outputs": [ { "name": "spendAssetsHandleType_", "type": "uint8", "internalType": "enum IIntegrationManager.SpendAssetsHandleType" }, { "name": "spendAssets_", "type": "address[]", "internalType": "address[]" }, { "name": "spendAssetAmounts_", "type": "uint256[]", "internalType": "uint256[]" }, { "name": "incomingAssets_", "type": "address[]", "internalType": "address[]" }, { "name": "minIncomingAssetAmounts_", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "view" }, { "type": "function", "name": "takeOrder", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_actionData", "type": "bytes", "internalType": "bytes" }, { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x60c060405234801561001057600080fd5b506040516111543803806111548339818101604052604081101561003357600080fd5b5080516020909101516001600160601b0319606092831b8116608052911b1660a05260805160601c60a05160601c6110c761008d600039806106de528061081e5280610845525080610402528061070252506110c76000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c8063863e5ad01161008c578063c54efee511610066578063c54efee514610201578063d1ded408146103c3578063e7c45690146103e7578063f7d882b5146103ef576100cf565b8063863e5ad0146101e9578063b23228cf146101f1578063c32990a2146101f9576100cf565b806303e38a2b146100d4578063080456c1146101a4578063131461c0146101c9578063257cb1a3146101d15780633ffc1591146101d957806340da225d146101e1575b600080fd5b6101a2600480360360608110156100ea57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561011457600080fd5b82018360208201111561012657600080fd5b803590602001918460018302840111600160201b8311171561014757600080fd5b919390929091602081019035600160201b81111561016457600080fd5b82018360208201111561017657600080fd5b803590602001918460018302840111600160201b8311171561019757600080fd5b5090925090506103f7565b005b6101ac610547565b604080516001600160e01b03199092168252519081900360200190f35b6101ac61056b565b6101ac61058f565b6101ac6105b3565b6101ac6105d7565b6101ac6105fb565b6101ac61061f565b6101ac610643565b61028e6004803603606081101561021757600080fd5b6001600160a01b03823516916001600160e01b031960208201351691810190606081016040820135600160201b81111561025057600080fd5b82018360208201111561026257600080fd5b803590602001918460018302840111600160201b8311171561028357600080fd5b509092509050610667565b6040518086600281111561029e57fe5b815260200180602001806020018060200180602001858103855289818151815260200191508051906020019060200280838360005b838110156102eb5781810151838201526020016102d3565b50505050905001858103845288818151815260200191508051906020019060200280838360005b8381101561032a578181015183820152602001610312565b50505050905001858103835287818151815260200191508051906020019060200280838360005b83811015610369578181015183820152602001610351565b50505050905001858103825286818151815260200191508051906020019060200280838360005b838110156103a8578181015183820152602001610390565b50505050905001995050505050505050505060405180910390f35b6103cb6106dc565b604080516001600160a01b039092168252519081900360200190f35b6103cb610700565b6101ac610724565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461045e5760405162461bcd60e51b8152600401808060200182810382526032815260200180610fd56032913960400191505060405180910390fd5b606060006104a186868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061074892505050565b925050915061053e87836000815181106104b757fe5b60200260200101516001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561050b57600080fd5b505afa15801561051f573d6000803e3d6000fd5b505050506040513d602081101561053557600080fd5b50518385610804565b50505050505050565b7f8334eb99be0145865eba9889fca2ee920288090caefff4cc776038e20ad9259a81565b7f29fa046e79524c3c5ac4c01df692c35e217802b2b13b21121b76cf0ef02b138c81565b7f099f75155f0e997bf83a7993a71d5e7e7540bd386fe1e84643a09ce6b412521981565b7ffa7dd04da627f433da73c4355ead9c75682a67a8fc84d3f6170ef0922f402d2481565b7fb9dfbaccbe5cd2a84fdcf1d15f23ef25d23086f5afbaa99516065ed4a5bbc7a381565b7f03e38a2bd7063d45c897edeafc330e71657502dd86434d3c37a489caf116af6981565b7f68e30677f607df46e87da13e15b637784cfa62374b653f35ab43d10361a2f83081565b7f0e7f692dad5b88fdee426250d6eae91207e56a2e8112b7364579bed1790e5bf481565b600060608080806001600160e01b031988166303e38a2b60e01b146106bd5760405162461bcd60e51b81526004018080602001828103825260278152602001806110946027913960400191505060405180910390fd5b6106c78787610935565b94509450945094509450945094509450945094565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b7fc29fa9dde84204c2908778afd0613d802d31cf046179b88f6d2b4a4e507ea2d581565b606060008083806020019051606081101561076257600080fd5b8101908080516040519392919084600160201b82111561078157600080fd5b90830190602082018581111561079657600080fd5b82518660208202830111600160201b821117156107b257600080fd5b82525081516020918201928201910280838360005b838110156107df5781810151838201526020016107c7565b5050505091909101604090815260208301519201519499919850939650945050505050565b6108438160008151811061081457fe5b60200260200101517f000000000000000000000000000000000000000000000000000000000000000085610b01565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635c11d7958484848861087e610bbf565b6040518663ffffffff1660e01b81526004018086815260200185815260200180602001846001600160a01b03168152602001838152602001828103825285818151815260200191508051906020019060200280838360005b838110156108ee5781810151838201526020016108d6565b505050509050019650505050505050600060405180830381600087803b15801561091757600080fd5b505af115801561092b573d6000803e3d6000fd5b5050505050505050565b600060608060608060606000806109818a8a8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061074892505050565b9250925092506002835110156109c85760405162461bcd60e51b815260040180806020018281038252602d815260200180611007602d913960400191505060405180910390fd5b6040805160018082528183019092529060208083019080368337019050509650826000815181106109f557fe5b602002602001015187600081518110610a0a57fe5b6001600160a01b03929092166020928302919091018201526040805160018082528183019092529182810190803683370190505095508186600081518110610a4e57fe5b60209081029190910101526040805160018082528183019092529081602001602082028036833701905050945082600184510381518110610a8b57fe5b602002602001015185600081518110610aa057fe5b6001600160a01b03929092166020928302919091018201526040805160018082528183019092529182810190803683370190505093508084600081518110610ae457fe5b602002602001018181525050600297505050509295509295909350565b60408051636eb1769f60e11b81523060048201526001600160a01b038481166024830152915160009286169163dd62ed3e916044808301926020929190829003018186803b158015610b5257600080fd5b505afa158015610b66573d6000803e3d6000fd5b505050506040513d6020811015610b7c57600080fd5b5051905081811015610bb9578015610ba357610ba36001600160a01b038516846000610bc6565b610bb96001600160a01b03851684600019610bc6565b50505050565b6001420190565b801580610c4c575060408051636eb1769f60e11b81523060048201526001600160a01b03848116602483015291519185169163dd62ed3e91604480820192602092909190829003018186803b158015610c1e57600080fd5b505afa158015610c32573d6000803e3d6000fd5b505050506040513d6020811015610c4857600080fd5b5051155b610c875760405162461bcd60e51b815260040180806020018281038252603681526020018061105e6036913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052610cd9908490610cde565b505050565b6060610d33826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610d8f9092919063ffffffff16565b805190915015610cd957808060200190516020811015610d5257600080fd5b5051610cd95760405162461bcd60e51b815260040180806020018281038252602a815260200180611034602a913960400191505060405180910390fd5b6060610d9e8484600085610da8565b90505b9392505050565b606082471015610de95760405162461bcd60e51b8152600401808060200182810382526026815260200180610faf6026913960400191505060405180910390fd5b610df285610f04565b610e43576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b60208310610e825780518252601f199092019160209182019101610e63565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114610ee4576040519150601f19603f3d011682016040523d82523d6000602084013e610ee9565b606091505b5091509150610ef9828286610f0a565b979650505050505050565b3b151590565b60608315610f19575081610da1565b825115610f295782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610f73578181015183820152602001610f5b565b50505050905090810190601f168015610fa05780820380516001836020036101000a031916815260200191505b509250505060405180910390fdfe416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c4f6e6c792074686520496e746567726174696f6e4d616e616765722063616e2063616c6c20746869732066756e6374696f6e5f5f7061727365417373657473466f7254616b654f726465723a205f70617468206d757374206265203e3d20325361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e63657061727365417373657473466f72416374696f6e3a205f73656c6563746f7220696e76616c6964a164736f6c634300060c000a", "sourceMap": "581:4110:174:-:0;;;659:159;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;659:159:174;;;;;;;-1:-1:-1;;;;;;1938:41:179;;;;;;;;700:28:196;;;;;581:4110:174;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106100cf5760003560e01c8063863e5ad01161008c578063c54efee511610066578063c54efee514610201578063d1ded408146103c3578063e7c45690146103e7578063f7d882b5146103ef576100cf565b8063863e5ad0146101e9578063b23228cf146101f1578063c32990a2146101f9576100cf565b806303e38a2b146100d4578063080456c1146101a4578063131461c0146101c9578063257cb1a3146101d15780633ffc1591146101d957806340da225d146101e1575b600080fd5b6101a2600480360360608110156100ea57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561011457600080fd5b82018360208201111561012657600080fd5b803590602001918460018302840111600160201b8311171561014757600080fd5b919390929091602081019035600160201b81111561016457600080fd5b82018360208201111561017657600080fd5b803590602001918460018302840111600160201b8311171561019757600080fd5b5090925090506103f7565b005b6101ac610547565b604080516001600160e01b03199092168252519081900360200190f35b6101ac61056b565b6101ac61058f565b6101ac6105b3565b6101ac6105d7565b6101ac6105fb565b6101ac61061f565b6101ac610643565b61028e6004803603606081101561021757600080fd5b6001600160a01b03823516916001600160e01b031960208201351691810190606081016040820135600160201b81111561025057600080fd5b82018360208201111561026257600080fd5b803590602001918460018302840111600160201b8311171561028357600080fd5b509092509050610667565b6040518086600281111561029e57fe5b815260200180602001806020018060200180602001858103855289818151815260200191508051906020019060200280838360005b838110156102eb5781810151838201526020016102d3565b50505050905001858103845288818151815260200191508051906020019060200280838360005b8381101561032a578181015183820152602001610312565b50505050905001858103835287818151815260200191508051906020019060200280838360005b83811015610369578181015183820152602001610351565b50505050905001858103825286818151815260200191508051906020019060200280838360005b838110156103a8578181015183820152602001610390565b50505050905001995050505050505050505060405180910390f35b6103cb6106dc565b604080516001600160a01b039092168252519081900360200190f35b6103cb610700565b6101ac610724565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461045e5760405162461bcd60e51b8152600401808060200182810382526032815260200180610fd56032913960400191505060405180910390fd5b606060006104a186868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061074892505050565b925050915061053e87836000815181106104b757fe5b60200260200101516001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561050b57600080fd5b505afa15801561051f573d6000803e3d6000fd5b505050506040513d602081101561053557600080fd5b50518385610804565b50505050505050565b7f8334eb99be0145865eba9889fca2ee920288090caefff4cc776038e20ad9259a81565b7f29fa046e79524c3c5ac4c01df692c35e217802b2b13b21121b76cf0ef02b138c81565b7f099f75155f0e997bf83a7993a71d5e7e7540bd386fe1e84643a09ce6b412521981565b7ffa7dd04da627f433da73c4355ead9c75682a67a8fc84d3f6170ef0922f402d2481565b7fb9dfbaccbe5cd2a84fdcf1d15f23ef25d23086f5afbaa99516065ed4a5bbc7a381565b7f03e38a2bd7063d45c897edeafc330e71657502dd86434d3c37a489caf116af6981565b7f68e30677f607df46e87da13e15b637784cfa62374b653f35ab43d10361a2f83081565b7f0e7f692dad5b88fdee426250d6eae91207e56a2e8112b7364579bed1790e5bf481565b600060608080806001600160e01b031988166303e38a2b60e01b146106bd5760405162461bcd60e51b81526004018080602001828103825260278152602001806110946027913960400191505060405180910390fd5b6106c78787610935565b94509450945094509450945094509450945094565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b7fc29fa9dde84204c2908778afd0613d802d31cf046179b88f6d2b4a4e507ea2d581565b606060008083806020019051606081101561076257600080fd5b8101908080516040519392919084600160201b82111561078157600080fd5b90830190602082018581111561079657600080fd5b82518660208202830111600160201b821117156107b257600080fd5b82525081516020918201928201910280838360005b838110156107df5781810151838201526020016107c7565b5050505091909101604090815260208301519201519499919850939650945050505050565b6108438160008151811061081457fe5b60200260200101517f000000000000000000000000000000000000000000000000000000000000000085610b01565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635c11d7958484848861087e610bbf565b6040518663ffffffff1660e01b81526004018086815260200185815260200180602001846001600160a01b03168152602001838152602001828103825285818151815260200191508051906020019060200280838360005b838110156108ee5781810151838201526020016108d6565b505050509050019650505050505050600060405180830381600087803b15801561091757600080fd5b505af115801561092b573d6000803e3d6000fd5b5050505050505050565b600060608060608060606000806109818a8a8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061074892505050565b9250925092506002835110156109c85760405162461bcd60e51b815260040180806020018281038252602d815260200180611007602d913960400191505060405180910390fd5b6040805160018082528183019092529060208083019080368337019050509650826000815181106109f557fe5b602002602001015187600081518110610a0a57fe5b6001600160a01b03929092166020928302919091018201526040805160018082528183019092529182810190803683370190505095508186600081518110610a4e57fe5b60209081029190910101526040805160018082528183019092529081602001602082028036833701905050945082600184510381518110610a8b57fe5b602002602001015185600081518110610aa057fe5b6001600160a01b03929092166020928302919091018201526040805160018082528183019092529182810190803683370190505093508084600081518110610ae457fe5b602002602001018181525050600297505050509295509295909350565b60408051636eb1769f60e11b81523060048201526001600160a01b038481166024830152915160009286169163dd62ed3e916044808301926020929190829003018186803b158015610b5257600080fd5b505afa158015610b66573d6000803e3d6000fd5b505050506040513d6020811015610b7c57600080fd5b5051905081811015610bb9578015610ba357610ba36001600160a01b038516846000610bc6565b610bb96001600160a01b03851684600019610bc6565b50505050565b6001420190565b801580610c4c575060408051636eb1769f60e11b81523060048201526001600160a01b03848116602483015291519185169163dd62ed3e91604480820192602092909190829003018186803b158015610c1e57600080fd5b505afa158015610c32573d6000803e3d6000fd5b505050506040513d6020811015610c4857600080fd5b5051155b610c875760405162461bcd60e51b815260040180806020018281038252603681526020018061105e6036913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052610cd9908490610cde565b505050565b6060610d33826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610d8f9092919063ffffffff16565b805190915015610cd957808060200190516020811015610d5257600080fd5b5051610cd95760405162461bcd60e51b815260040180806020018281038252602a815260200180611034602a913960400191505060405180910390fd5b6060610d9e8484600085610da8565b90505b9392505050565b606082471015610de95760405162461bcd60e51b8152600401808060200182810382526026815260200180610faf6026913960400191505060405180910390fd5b610df285610f04565b610e43576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b60208310610e825780518252601f199092019160209182019101610e63565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114610ee4576040519150601f19603f3d011682016040523d82523d6000602084013e610ee9565b606091505b5091509150610ef9828286610f0a565b979650505050505050565b3b151590565b60608315610f19575081610da1565b825115610f295782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610f73578181015183820152602001610f5b565b50505050905090810190601f168015610fa05780820380516001836020036101000a031916815260200191505b509250505060405180910390fdfe416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c4f6e6c792074686520496e746567726174696f6e4d616e616765722063616e2063616c6c20746869732066756e6374696f6e5f5f7061727365417373657473466f7254616b654f726465723a205f70617468206d757374206265203e3d20325361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e63657061727365417373657473466f72416374696f6e3a205f73656c6563746f7220696e76616c6964a164736f6c634300060c000a", "sourceMap": "581:4110:174:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;983:523;;;;;;;;;;;;;;;;-1:-1:-1;;;;;983:523:174;;;;;;;;;;;;;;;-1:-1:-1;;;983:523:174;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;983:523:174;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;983:523:174;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;983:523:174;;;;;;;;;;-1:-1:-1;983:523:174;;-1:-1:-1;983:523:174;-1:-1:-1;983:523:174;:::i;:::-;;1490:119:180;;;:::i;:::-;;;;-1:-1:-1;;;;;;1490:119:180;;;;;;;;;;;;;;1373:111;;;:::i;832:85::-;;;:::i;1034:87::-;;;:::i;1240:110::-;;;:::i;706:104::-;;;:::i;1127:91::-;;;:::i;577:123::-;;;:::i;2247:621:174:-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2247:621:174;;;;-1:-1:-1;;;;;;2247:621:174;;;;;;;;;;;;;;;;-1:-1:-1;;;2247:621:174;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2247:621:174;;;;;;;;;;-1:-1:-1;2247:621:174;;-1:-1:-1;2247:621:174;-1:-1:-1;2247:621:174;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4866:111:196;;;:::i;:::-;;;;-1:-1:-1;;;;;4866:111:196;;;;;;;;;;;;;;2637:128:179;;;:::i;923:89:180:-;;;:::i;983:523:174:-;1747:10:179;-1:-1:-1;;;;;1761:19:179;1747:33;;1726:130;;;;-1:-1:-1;;;1726:130:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1140:21:174::1;1165:30;1199:60;1238:11;;1199:60;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;1199:25:174::1;::::0;-1:-1:-1;;;1199:60:174:i:1;:::-;1139:120;;;;;1342:157;1371:11;1402:4;1407:1;1402:7;;;;;;;;;;;;;;-1:-1:-1::0;;;;;1396:24:174::1;;1429:4;1396:39;;;;;;;;;;;;;-1:-1:-1::0;;;;;1396:39:174::1;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;1396:39:174;1449:22;1485:4;1342:15:::1;:157::i;:::-;1866:1:179;;983:523:174::0;;;;;:::o;1490:119:180:-;1558:50;1490:119;:::o;1373:111::-;1437:46;1373:111;:::o;832:85::-;878:38;832:85;:::o;1034:87::-;1081:39;1034:87;:::o;1240:110::-;1303:46;1240:110;:::o;706:104::-;766:43;706:104;:::o;1127:91::-;1176:41;1127:91;:::o;577:123::-;647:52;577:123;:::o;2247:621:174:-;2439:64;2517:29;;;;-1:-1:-1;;;;;;2729:32:174;;-1:-1:-1;;;2729:32:174;2721:84;;;;-1:-1:-1;;;2721:84:174;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2823:38;2849:11;;2823:25;:38::i;:::-;2816:45;;;;;;;;;;2247:621;;;;;;;;;:::o;4866:111:196:-;4952:18;4866:111;:::o;2637:128:179:-;2739:19;2637:128;:::o;923:89:180:-;971:40;923:89;:::o;4367:322:174:-;4487:22;4523:28;4565:31;4639:11;4628:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4628:54:174;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4628:54:174;;;;;;;;;;;;-1:-1:-1;4628:54:174;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;4628:54:174;;;;;;;;;;;;;;;4621:61;;4628:54;;-1:-1:-1;4628:54:174;;-1:-1:-1;4367:322:174;-1:-1:-1;;;;;4367:322:174:o;2236:604:196:-;2425:77;2451:5;2457:1;2451:8;;;;;;;;;;;;;;2461:18;2481:20;2425:25;:77::i;:::-;2555:18;-1:-1:-1;;;;;2537:104:196;;2659:20;2697:23;2738:5;2761:10;2789:30;:28;:30::i;:::-;2537:296;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2537:296:196;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2236:604;;;;:::o;2994:1273:174:-;3116:64;3194:29;3237:35;3286:32;3332:41;3412:21;3447:27;3488:30;3531:38;3557:11;;3531:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3531:25:174;;-1:-1:-1;;;3531:38:174:i;:::-;3398:171;;;;;;3603:1;3588:4;:11;:16;;3580:74;;;;-1:-1:-1;;;3580:74:174;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3680:16;;;3694:1;3680:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3680:16:174;3665:31;;3724:4;3729:1;3724:7;;;;;;;;;;;;;;3706:12;3719:1;3706:15;;;;;;;;-1:-1:-1;;;;;3706:25:174;;;;:15;;;;;;;;;;:25;3762:16;;;3776:1;3762:16;;;;;;;;;;;;;;3706:15;3762:16;;;;;-1:-1:-1;3762:16:174;3741:37;;3812:19;3788:18;3807:1;3788:21;;;;;;;;;;;;;;;;;:43;3860:16;;;3874:1;3860:16;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3860:16:174;3842:34;;3907:4;3926:1;3912:4;:11;:15;3907:21;;;;;;;;;;;;;;3886:15;3902:1;3886:18;;;;;;;;-1:-1:-1;;;;;3886:42:174;;;;:18;;;;;;;;;;:42;3965:16;;;3979:1;3965:16;;;;;;;;;;;;;;3886:18;3965:16;;;;;-1:-1:-1;3965:16:174;3938:43;;4021:22;3991:24;4016:1;3991:27;;;;;;;;;;;;;:52;;;;;4075:50;4054:206;;;;;2994:1273;;;;;;;;:::o;2554:434:355:-;2714:47;;;-1:-1:-1;;;2714:47:355;;2746:4;2714:47;;;;-1:-1:-1;;;;;2714:47:355;;;;;;;;;2694:17;;2714:23;;;;;:47;;;;;;;;;;;;;;:23;:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2714:47:355;;-1:-1:-1;2775:25:355;;;2771:211;;;2820:13;;2816:89;;2853:37;-1:-1:-1;;;;;2853:25:355;;2879:7;2888:1;2853:25;:37::i;:::-;2918:53;-1:-1:-1;;;;;2918:25:355;;2944:7;-1:-1:-1;;2918:25:355;:53::i;:::-;2554:434;;;;:::o;4544:124:196:-;4660:1;4642:15;:19;4544:124;:::o;1348:613:450:-;1713:10;;;1712:62;;-1:-1:-1;1729:39:450;;;-1:-1:-1;;;1729:39:450;;1753:4;1729:39;;;;-1:-1:-1;;;;;1729:39:450;;;;;;;;;:15;;;;;;:39;;;;;;;;;;;;;;;:15;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1729:39:450;:44;1712:62;1704:150;;;;-1:-1:-1;;;1704:150:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1891:62;;;-1:-1:-1;;;;;1891:62:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1891:62:450;-1:-1:-1;;;1891:62:450;;;1864:90;;1884:5;;1864:19;:90::i;:::-;1348:613;;;:::o;2967:751::-;3386:23;3412:69;3440:4;3412:69;;;;;;;;;;;;;;;;;3420:5;-1:-1:-1;;;;;3412:27:450;;;:69;;;;;:::i;:::-;3495:17;;3386:95;;-1:-1:-1;3495:21:450;3491:221;;3635:10;3624:30;;;;;;;;;;;;;;;-1:-1:-1;3624:30:450;3616:85;;;;-1:-1:-1;;;3616:85:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3581:193:451;3684:12;3715:52;3737:6;3745:4;3751:1;3754:12;3715:21;:52::i;:::-;3708:59;;3581:193;;;;;;:::o;4608:523::-;4735:12;4792:5;4767:21;:30;;4759:81;;;;-1:-1:-1;;;4759:81:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4858:18;4869:6;4858:10;:18::i;:::-;4850:60;;;;;-1:-1:-1;;;4850:60:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;4981:12;4995:23;5022:6;-1:-1:-1;;;;;5022:11:451;5042:5;5050:4;5022:33;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5022:33:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4980:75;;;;5072:52;5090:7;5099:10;5111:12;5072:17;:52::i;:::-;5065:59;4608:523;-1:-1:-1;;;;;;;4608:523:451:o;726:413::-;1086:20;1124:8;;;726:413::o;7091:725::-;7206:12;7234:7;7230:580;;;-1:-1:-1;7264:10:451;7257:17;;7230:580;7375:17;;:21;7371:429;;7633:10;7627:17;7693:15;7680:10;7676:2;7672:19;7665:44;7582:145;7772:12;7765:20;;-1:-1:-1;;;7765:20:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;", "linkReferences": {}, "immutableReferences": { "49791": [ { "start": 1026, "length": 32 }, { "start": 1794, "length": 32 } ], "51962": [ { "start": 1758, "length": 32 }, { "start": 2078, "length": 32 }, { "start": 2117, "length": 32 } ] } }, "methodIdentifiers": { "CLAIM_REWARDS_SELECTOR()": "40da225d", "LEND_AND_STAKE_SELECTOR()": "131461c0", "LEND_SELECTOR()": "257cb1a3", "REDEEM_SELECTOR()": "f7d882b5", "STAKE_SELECTOR()": "3ffc1591", "TAKE_MULTIPLE_ORDERS_SELECTOR()": "c32990a2", "TAKE_ORDER_SELECTOR()": "863e5ad0", "UNSTAKE_AND_REDEEM_SELECTOR()": "080456c1", "UNSTAKE_SELECTOR()": "b23228cf", "getIntegrationManager()": "e7c45690", "getUniswapV2Router2()": "d1ded408", "parseAssetsForAction(address,bytes4,bytes)": "c54efee5", "takeOrder(address,bytes,bytes)": "03e38a2b" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_integrationManager\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_router\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"CLAIM_REWARDS_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LEND_AND_STAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LEND_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"REDEEM_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"STAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TAKE_MULTIPLE_ORDERS_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TAKE_ORDER_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UNSTAKE_AND_REDEEM_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UNSTAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getIntegrationManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"integrationManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getUniswapV2Router2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"router_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"_selector\",\"type\":\"bytes4\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"}],\"name\":\"parseAssetsForAction\",\"outputs\":[{\"internalType\":\"enum IIntegrationManager.SpendAssetsHandleType\",\"name\":\"spendAssetsHandleType_\",\"type\":\"uint8\"},{\"internalType\":\"address[]\",\"name\":\"spendAssets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"spendAssetAmounts_\",\"type\":\"uint256[]\"},{\"internalType\":\"address[]\",\"name\":\"incomingAssets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"minIncomingAssetAmounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"takeOrder\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"getIntegrationManager()\":{\"returns\":{\"integrationManager_\":\"The `INTEGRATION_MANAGER` variable value\"}},\"getUniswapV2Router2()\":{\"returns\":{\"router_\":\"The `UNISWAP_V2_ROUTER2` variable value\"}},\"parseAssetsForAction(address,bytes4,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_selector\":\"The function selector for the callOnIntegration\"},\"returns\":{\"incomingAssets_\":\"The assets to receive in the call\",\"minIncomingAssetAmounts_\":\"The min asset amounts to receive in the call\",\"spendAssetAmounts_\":\"The max asset amounts to spend in the call\",\"spendAssetsHandleType_\":\"A type that dictates how to handle granting the adapter access to spend assets (`None` by default)\",\"spendAssets_\":\"The assets to spend in the call\"}},\"takeOrder(address,bytes,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}}},\"title\":\"UniswapV2ExchangeAdapter Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getIntegrationManager()\":{\"notice\":\"Gets the `INTEGRATION_MANAGER` variable\"},\"getUniswapV2Router2()\":{\"notice\":\"Gets the `UNISWAP_V2_ROUTER2` variable\"},\"parseAssetsForAction(address,bytes4,bytes)\":{\"notice\":\"Parses the expected assets in a particular action\"},\"takeOrder(address,bytes,bytes)\":{\"notice\":\"Trades assets on Uniswap\"}},\"notice\":\"Adapter for interacting with Uniswap v2 swaps\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/integration-manager/integrations/adapters/UniswapV2ExchangeAdapter.sol\":\"UniswapV2ExchangeAdapter\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/integration-manager/IIntegrationManager.sol\":{\"keccak256\":\"0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23\",\"dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk\"]},\"contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol\":{\"keccak256\":\"0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336\",\"dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS\"]},\"contracts/release/extensions/integration-manager/integrations/adapters/UniswapV2ExchangeAdapter.sol\":{\"keccak256\":\"0xbd1643e3f83be1236e4a36f3bf29558febc416c50a13c7d73e4c690c2d622c74\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://7769d3ee78c73d2a744e8252ca81e018c9f72d2cf35dd5feb6ee3cabc9d86213\",\"dweb:/ipfs/QmWtVcn8TsEhv9vj6aCGUpbgPPMhroeKKyVWSGtpDFKKoV\"]},\"contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol\":{\"keccak256\":\"0x067e49bf0d3c1655ab41a413c65ccf61d4e593308132e1ffc484a0fadfbbaf26\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://387f425017e18e89cc1893521101fa99df595314847d0b3d9a1162369f714fcf\",\"dweb:/ipfs/Qmco3jCvuWAyfCpBYpGzHrQjiFJG63w1RJKcakoTEbxRQm\"]},\"contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol\":{\"keccak256\":\"0xfd34c7ca8231c6935e25dede32ca2b3121738e624d0fc896f7b895a731edcf88\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d492c061963d36d07718446db191d4c5a340c0d847f6cd209f027bd99f7cb176\",\"dweb:/ipfs/QmfCvRZt56ftDdrEh6LepHXFJ4fVtcfpQGvEyY8k4zxG1A\"]},\"contracts/release/extensions/integration-manager/integrations/utils/actions/UniswapV2ActionsMixin.sol\":{\"keccak256\":\"0x87c92b0b1a0a612a7e641cf5904b628d70909185afcad8cde3617d02a966db67\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ab76dce3a9fac7392335f51c1b76da0325ec785a7a1a0acfe06e9fd4f82f324d\",\"dweb:/ipfs/Qmenw17RU7eUvFubo2q6pAmM8Re7muoV1HUFGx2FMeCxLY\"]},\"contracts/release/interfaces/IUniswapV2Router2.sol\":{\"keccak256\":\"0xe923e9176b7f9e9cf271098966ff4d76248caf65b777fb8c51f07146cce3d0c9\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://14cbb598760aabb151e11816467f7a0c7205cb9a653a1ab723a9934734e23d50\",\"dweb:/ipfs/QmaPRfXKidKqfdBfvxzuNVDQv1FFC8NbexQLF1md53xzz3\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_integrationManager", "type": "address" }, { "internalType": "address", "name": "_router", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "CLAIM_REWARDS_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "LEND_AND_STAKE_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "LEND_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "REDEEM_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "STAKE_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "TAKE_MULTIPLE_ORDERS_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "TAKE_ORDER_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "UNSTAKE_AND_REDEEM_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "UNSTAKE_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getIntegrationManager", "outputs": [ { "internalType": "address", "name": "integrationManager_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getUniswapV2Router2", "outputs": [ { "internalType": "address", "name": "router_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "bytes4", "name": "_selector", "type": "bytes4" }, { "internalType": "bytes", "name": "_actionData", "type": "bytes" } ], "stateMutability": "view", "type": "function", "name": "parseAssetsForAction", "outputs": [ { "internalType": "enum IIntegrationManager.SpendAssetsHandleType", "name": "spendAssetsHandleType_", "type": "uint8" }, { "internalType": "address[]", "name": "spendAssets_", "type": "address[]" }, { "internalType": "uint256[]", "name": "spendAssetAmounts_", "type": "uint256[]" }, { "internalType": "address[]", "name": "incomingAssets_", "type": "address[]" }, { "internalType": "uint256[]", "name": "minIncomingAssetAmounts_", "type": "uint256[]" } ] }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "bytes", "name": "_actionData", "type": "bytes" }, { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "takeOrder" } ], "devdoc": { "kind": "dev", "methods": { "getIntegrationManager()": { "returns": { "integrationManager_": "The `INTEGRATION_MANAGER` variable value" } }, "getUniswapV2Router2()": { "returns": { "router_": "The `UNISWAP_V2_ROUTER2` variable value" } }, "parseAssetsForAction(address,bytes4,bytes)": { "params": { "_actionData": "Data specific to this action", "_selector": "The function selector for the callOnIntegration" }, "returns": { "incomingAssets_": "The assets to receive in the call", "minIncomingAssetAmounts_": "The min asset amounts to receive in the call", "spendAssetAmounts_": "The max asset amounts to spend in the call", "spendAssetsHandleType_": "A type that dictates how to handle granting the adapter access to spend assets (`None` by default)", "spendAssets_": "The assets to spend in the call" } }, "takeOrder(address,bytes,bytes)": { "params": { "_actionData": "Data specific to this action", "_vaultProxy": "The VaultProxy of the calling fund" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "getIntegrationManager()": { "notice": "Gets the `INTEGRATION_MANAGER` variable" }, "getUniswapV2Router2()": { "notice": "Gets the `UNISWAP_V2_ROUTER2` variable" }, "parseAssetsForAction(address,bytes4,bytes)": { "notice": "Parses the expected assets in a particular action" }, "takeOrder(address,bytes,bytes)": { "notice": "Trades assets on Uniswap" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/integration-manager/integrations/adapters/UniswapV2ExchangeAdapter.sol": "UniswapV2ExchangeAdapter" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/extensions/integration-manager/IIntegrationManager.sol": { "keccak256": "0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef", "urls": [ "bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23", "dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol": { "keccak256": "0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1", "urls": [ "bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336", "dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/adapters/UniswapV2ExchangeAdapter.sol": { "keccak256": "0xbd1643e3f83be1236e4a36f3bf29558febc416c50a13c7d73e4c690c2d622c74", "urls": [ "bzz-raw://7769d3ee78c73d2a744e8252ca81e018c9f72d2cf35dd5feb6ee3cabc9d86213", "dweb:/ipfs/QmWtVcn8TsEhv9vj6aCGUpbgPPMhroeKKyVWSGtpDFKKoV" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol": { "keccak256": "0x067e49bf0d3c1655ab41a413c65ccf61d4e593308132e1ffc484a0fadfbbaf26", "urls": [ "bzz-raw://387f425017e18e89cc1893521101fa99df595314847d0b3d9a1162369f714fcf", "dweb:/ipfs/Qmco3jCvuWAyfCpBYpGzHrQjiFJG63w1RJKcakoTEbxRQm" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol": { "keccak256": "0xfd34c7ca8231c6935e25dede32ca2b3121738e624d0fc896f7b895a731edcf88", "urls": [ "bzz-raw://d492c061963d36d07718446db191d4c5a340c0d847f6cd209f027bd99f7cb176", "dweb:/ipfs/QmfCvRZt56ftDdrEh6LepHXFJ4fVtcfpQGvEyY8k4zxG1A" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/utils/actions/UniswapV2ActionsMixin.sol": { "keccak256": "0x87c92b0b1a0a612a7e641cf5904b628d70909185afcad8cde3617d02a966db67", "urls": [ "bzz-raw://ab76dce3a9fac7392335f51c1b76da0325ec785a7a1a0acfe06e9fd4f82f324d", "dweb:/ipfs/Qmenw17RU7eUvFubo2q6pAmM8Re7muoV1HUFGx2FMeCxLY" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IUniswapV2Router2.sol": { "keccak256": "0xe923e9176b7f9e9cf271098966ff4d76248caf65b777fb8c51f07146cce3d0c9", "urls": [ "bzz-raw://14cbb598760aabb151e11816467f7a0c7205cb9a653a1ab723a9934734e23d50", "dweb:/ipfs/QmaPRfXKidKqfdBfvxzuNVDQv1FFC8NbexQLF1md53xzz3" ], "license": "GPL-3.0" }, "contracts/release/utils/AssetHelpers.sol": { "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", "urls": [ "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", "urls": [ "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Address.sol": { "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", "urls": [ "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" } }, "version": 1 }, "id": 174 } diff --git a/eth_defi/abi/enzyme/UniswapV2LiquidityAdapter.json b/eth_defi/abi/enzyme/UniswapV2LiquidityAdapter.json index a3e81155..58403c56 100644 --- a/eth_defi/abi/enzyme/UniswapV2LiquidityAdapter.json +++ b/eth_defi/abi/enzyme/UniswapV2LiquidityAdapter.json @@ -1,867 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_integrationManager", - "type": "address" - }, - { - "internalType": "address", - "name": "_router", - "type": "address" - }, - { - "internalType": "address", - "name": "_factory", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "name": "CLAIM_REWARDS_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "LEND_AND_STAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "LEND_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "REDEEM_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "STAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "TAKE_MULTIPLE_ORDERS_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "TAKE_ORDER_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "UNSTAKE_AND_REDEEM_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "UNSTAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getFactory", - "outputs": [ - { - "internalType": "address", - "name": "factory_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getIntegrationManager", - "outputs": [ - { - "internalType": "address", - "name": "integrationManager_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getUniswapV2Router2", - "outputs": [ - { - "internalType": "address", - "name": "router_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "lend", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes4", - "name": "_selector", - "type": "bytes4" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - } - ], - "name": "parseAssetsForAction", - "outputs": [ - { - "internalType": "enum IIntegrationManager.SpendAssetsHandleType", - "name": "spendAssetsHandleType_", - "type": "uint8" - }, - { - "internalType": "address[]", - "name": "spendAssets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "spendAssetAmounts_", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "incomingAssets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "minIncomingAssetAmounts_", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "_assetData", - "type": "bytes" - } - ], - "name": "redeem", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x60e060405234801561001057600080fd5b506040516119663803806119668339818101604052606081101561003357600080fd5b50805160208201516040909201516001600160601b0319606092831b811660805292821b831660a052901b1660c05260805160601c60a05160601c60c05160601c6118a26100c4600039806106c55280610fcb528061115952508061092652806109e15280610a0c5280610a335280610d1b5280610d425250806105225280610716528061094a52506118a26000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c806388cc58e411610097578063c54efee511610066578063c54efee514610319578063d1ded408146104db578063e7c45690146104e3578063f7d882b5146104eb576100f5565b806388cc58e414610217578063b23228cf1461023b578063c29fa9dd14610243578063c32990a214610311576100f5565b8063257cb1a3116100d3578063257cb1a3146101f75780633ffc1591146101ff57806340da225d14610207578063863e5ad01461020f576100f5565b8063080456c1146100fa578063099f75151461011f578063131461c0146101ef575b600080fd5b6101026104f3565b604080516001600160e01b03199092168252519081900360200190f35b6101ed6004803603606081101561013557600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561015f57600080fd5b82018360208201111561017157600080fd5b803590602001918460018302840111600160201b8311171561019257600080fd5b919390929091602081019035600160201b8111156101af57600080fd5b8201836020820111156101c157600080fd5b803590602001918460018302840111600160201b831117156101e257600080fd5b509092509050610517565b005b61010261060f565b610102610633565b610102610657565b61010261067b565b61010261069f565b61021f6106c3565b604080516001600160a01b039092168252519081900360200190f35b6101026106e7565b6101ed6004803603606081101561025957600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561028357600080fd5b82018360208201111561029557600080fd5b803590602001918460018302840111600160201b831117156102b657600080fd5b919390929091602081019035600160201b8111156102d357600080fd5b8201836020820111156102e557600080fd5b803590602001918460018302840111600160201b8311171561030657600080fd5b50909250905061070b565b610102610862565b6103a66004803603606081101561032f57600080fd5b6001600160a01b03823516916001600160e01b031960208201351691810190606081016040820135600160201b81111561036857600080fd5b82018360208201111561037a57600080fd5b803590602001918460018302840111600160201b8311171561039b57600080fd5b509092509050610886565b604051808660028111156103b657fe5b815260200180602001806020018060200180602001858103855289818151815260200191508051906020019060200280838360005b838110156104035781810151838201526020016103eb565b50505050905001858103845288818151815260200191508051906020019060200280838360005b8381101561044257818101518382015260200161042a565b50505050905001858103835287818151815260200191508051906020019060200280838360005b83811015610481578181015183820152602001610469565b50505050905001858103825286818151815260200191508051906020019060200280838360005b838110156104c05781810151838201526020016104a8565b50505050905001995050505050505050505060405180910390f35b61021f610924565b61021f610948565b61010261096c565b7f8334eb99be0145865eba9889fca2ee920288090caefff4cc776038e20ad9259a81565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461057e5760405162461bcd60e51b81526004018080602001828103825260328152602001806117dd6032913960400191505060405180910390fd5b610586611798565b61058e611798565b610596611798565b6105d587878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061099092505050565b508251602080850151845182860151855193860151979a50959850939650610605958e95939491939192906109db565b5050505050505050565b7f29fa046e79524c3c5ac4c01df692c35e217802b2b13b21121b76cf0ef02b138c81565b7f099f75155f0e997bf83a7993a71d5e7e7540bd386fe1e84643a09ce6b412521981565b7ffa7dd04da627f433da73c4355ead9c75682a67a8fc84d3f6170ef0922f402d2481565b7fb9dfbaccbe5cd2a84fdcf1d15f23ef25d23086f5afbaa99516065ed4a5bbc7a381565b7f03e38a2bd7063d45c897edeafc330e71657502dd86434d3c37a489caf116af6981565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f68e30677f607df46e87da13e15b637784cfa62374b653f35ab43d10361a2f83081565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146107725760405162461bcd60e51b81526004018080602001828103825260328152602001806117dd6032913960400191505060405180910390fd5b600061077c611798565b610784611798565b6107c387878080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610b1b92505050565b925092509250606061080a86868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610b5892505050565b50509050610857898260008151811061081f57fe5b6020026020010151868660006002811061083557fe5b6020020151876001602002015187600060200201518860016020020151610d15565b505050505050505050565b7f0e7f692dad5b88fdee426250d6eae91207e56a2e8112b7364579bed1790e5bf481565b600060608080806001600160e01b0319881663099f751560e01b14156108bf576108b08787610e21565b94509450945094509450610919565b6001600160e01b0319881663c29fa9dd60e01b14156108e2576108b087876110a9565b60405162461bcd60e51b815260040180806020018281038252602781526020018061186f6027913960400191505060405180910390fd5b945094509450945094565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b7fc29fa9dde84204c2908778afd0613d802d31cf046179b88f6d2b4a4e507ea2d581565b610998611798565b6109a0611798565b6109a8611798565b60008480602001905160e08110156109bf57600080fd5b5060c08101519096604088019650608088019550909350915050565b610a06867f0000000000000000000000000000000000000000000000000000000000000000866112eb565b610a31857f0000000000000000000000000000000000000000000000000000000000000000856112eb565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e8e337008787878787878e610a6f6113a9565b6040518963ffffffff1660e01b815260040180896001600160a01b03168152602001886001600160a01b03168152602001878152602001868152602001858152602001848152602001836001600160a01b0316815260200182815260200198505050505050505050606060405180830381600087803b158015610af157600080fd5b505af1158015610b05573d6000803e3d6000fd5b505050506040513d606081101561085757600080fd5b6000610b25611798565b610b2d611798565b8380602001905160a0811015610b4257600080fd5b5080519560208201955060609091019350915050565b6060806060838060200190516060811015610b7257600080fd5b8101908080516040519392919084600160201b821115610b9157600080fd5b908301906020820185811115610ba657600080fd5b82518660208202830111600160201b82111715610bc257600080fd5b82525081516020918201928201910280838360005b83811015610bef578181015183820152602001610bd7565b5050505090500160405260200180516040519392919084600160201b821115610c1757600080fd5b908301906020820185811115610c2c57600080fd5b82518660208202830111600160201b82111715610c4857600080fd5b82525081516020918201928201910280838360005b83811015610c75578181015183820152602001610c5d565b5050505090500160405260200180516040519392919084600160201b821115610c9d57600080fd5b908301906020820185811115610cb257600080fd5b82518660208202830111600160201b82111715610cce57600080fd5b82525081516020918201928201910280838360005b83811015610cfb578181015183820152602001610ce3565b505050509050016040525050509250925092509193909250565b610d40867f0000000000000000000000000000000000000000000000000000000000000000876112eb565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663baa2abde85858886868d610d7d6113a9565b6040518863ffffffff1660e01b815260040180886001600160a01b03168152602001876001600160a01b03168152602001868152602001858152602001848152602001836001600160a01b031681526020018281526020019750505050505050506040805180830381600087803b158015610df757600080fd5b505af1158015610e0b573d6000803e3d6000fd5b505050506040513d604081101561085757600080fd5b6000606080606080610e31611798565b610e39611798565b6000610e7a8a8a8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061099092505050565b93505092509250600267ffffffffffffffff81118015610e9957600080fd5b50604051908082528060200260200182016040528015610ec3578160200160208202803683370190505b509650826000602002015187600081518110610edb57fe5b6001600160a01b0392909216602092830291909101820152830151875188906001908110610f0557fe5b6001600160a01b039290921660209283029190910182015260408051600280825260608201835290929091908301908036833750508351825192985091889150600090610f4e57fe5b6020908102919091010152816001602002015186600181518110610f6e57fe5b602090810291909101015260408051600180825281830190925290816020016020820280368337505084516020808701516040805163e6a4390560e01b81526001600160a01b0394851660048201529184166024830152519499507f00000000000000000000000000000000000000000000000000000000000000009092169363e6a439059350604480840193829003018186803b15801561100f57600080fd5b505afa158015611023573d6000803e3d6000fd5b505050506040513d602081101561103957600080fd5b50518551869060009061104857fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509350808460008151811061108c57fe5b602002602001018181525050600297505050509295509295909350565b600060608060608060006110bb611798565b6110c3611798565b6111028a8a8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610b1b92505050565b604080516001808252818301909252939650919450925060208083019080368337505083516020808601516040805163e6a4390560e01b81526001600160a01b039485166004820152918416602483015251949b507f00000000000000000000000000000000000000000000000000000000000000009092169363e6a439059350604480840193829003018186803b15801561119d57600080fd5b505afa1580156111b1573d6000803e3d6000fd5b505050506040513d60208110156111c757600080fd5b5051875188906000906111d657fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509550828660008151811061121a57fe5b602090810291909101015260408051600280825260608201909252908160200160208202803683375050835182519297509187915060009061125857fe5b6001600160a01b039290921660209283029190910182015282015185518690600190811061128257fe5b6001600160a01b0392909216602092830291909101820152604080516002808252606082018352909290919083019080368337505082518251929650918691506000906112cb57fe5b602090810291909101015280600160200201518460018151811061108c57fe5b60408051636eb1769f60e11b81523060048201526001600160a01b038481166024830152915160009286169163dd62ed3e916044808301926020929190829003018186803b15801561133c57600080fd5b505afa158015611350573d6000803e3d6000fd5b505050506040513d602081101561136657600080fd5b50519050818110156113a357801561138d5761138d6001600160a01b0385168460006113b0565b6113a36001600160a01b038516846000196113b0565b50505050565b6001420190565b801580611436575060408051636eb1769f60e11b81523060048201526001600160a01b03848116602483015291519185169163dd62ed3e91604480820192602092909190829003018186803b15801561140857600080fd5b505afa15801561141c573d6000803e3d6000fd5b505050506040513d602081101561143257600080fd5b5051155b6114715760405162461bcd60e51b81526004018080602001828103825260368152602001806118396036913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526114c39084906114c8565b505050565b606061151d826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166115799092919063ffffffff16565b8051909150156114c35780806020019051602081101561153c57600080fd5b50516114c35760405162461bcd60e51b815260040180806020018281038252602a81526020018061180f602a913960400191505060405180910390fd5b60606115888484600085611592565b90505b9392505050565b6060824710156115d35760405162461bcd60e51b81526004018080602001828103825260268152602001806117b76026913960400191505060405180910390fd5b6115dc856116ee565b61162d576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b6020831061166c5780518252601f19909201916020918201910161164d565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146116ce576040519150601f19603f3d011682016040523d82523d6000602084013e6116d3565b606091505b50915091506116e38282866116f4565b979650505050505050565b3b151590565b6060831561170357508161158b565b8251156117135782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561175d578181015183820152602001611745565b50505050905090810190601f16801561178a5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b6040518060400160405280600290602082028036833750919291505056fe416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c4f6e6c792074686520496e746567726174696f6e4d616e616765722063616e2063616c6c20746869732066756e6374696f6e5361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e63657061727365417373657473466f72416374696f6e3a205f73656c6563746f7220696e76616c6964a164736f6c634300060c000a", - "sourceMap": "595:8140:175:-:0;;;714:212;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;714:212:175;;;;;;;;;;;-1:-1:-1;;;;;;714:212:175;1938:41:179;;;;;;;700:28:196;;;;;;;901:18:175;;;::::2;::::0;595:8140;;;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106100f55760003560e01c806388cc58e411610097578063c54efee511610066578063c54efee514610319578063d1ded408146104db578063e7c45690146104e3578063f7d882b5146104eb576100f5565b806388cc58e414610217578063b23228cf1461023b578063c29fa9dd14610243578063c32990a214610311576100f5565b8063257cb1a3116100d3578063257cb1a3146101f75780633ffc1591146101ff57806340da225d14610207578063863e5ad01461020f576100f5565b8063080456c1146100fa578063099f75151461011f578063131461c0146101ef575b600080fd5b6101026104f3565b604080516001600160e01b03199092168252519081900360200190f35b6101ed6004803603606081101561013557600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561015f57600080fd5b82018360208201111561017157600080fd5b803590602001918460018302840111600160201b8311171561019257600080fd5b919390929091602081019035600160201b8111156101af57600080fd5b8201836020820111156101c157600080fd5b803590602001918460018302840111600160201b831117156101e257600080fd5b509092509050610517565b005b61010261060f565b610102610633565b610102610657565b61010261067b565b61010261069f565b61021f6106c3565b604080516001600160a01b039092168252519081900360200190f35b6101026106e7565b6101ed6004803603606081101561025957600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561028357600080fd5b82018360208201111561029557600080fd5b803590602001918460018302840111600160201b831117156102b657600080fd5b919390929091602081019035600160201b8111156102d357600080fd5b8201836020820111156102e557600080fd5b803590602001918460018302840111600160201b8311171561030657600080fd5b50909250905061070b565b610102610862565b6103a66004803603606081101561032f57600080fd5b6001600160a01b03823516916001600160e01b031960208201351691810190606081016040820135600160201b81111561036857600080fd5b82018360208201111561037a57600080fd5b803590602001918460018302840111600160201b8311171561039b57600080fd5b509092509050610886565b604051808660028111156103b657fe5b815260200180602001806020018060200180602001858103855289818151815260200191508051906020019060200280838360005b838110156104035781810151838201526020016103eb565b50505050905001858103845288818151815260200191508051906020019060200280838360005b8381101561044257818101518382015260200161042a565b50505050905001858103835287818151815260200191508051906020019060200280838360005b83811015610481578181015183820152602001610469565b50505050905001858103825286818151815260200191508051906020019060200280838360005b838110156104c05781810151838201526020016104a8565b50505050905001995050505050505050505060405180910390f35b61021f610924565b61021f610948565b61010261096c565b7f8334eb99be0145865eba9889fca2ee920288090caefff4cc776038e20ad9259a81565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461057e5760405162461bcd60e51b81526004018080602001828103825260328152602001806117dd6032913960400191505060405180910390fd5b610586611798565b61058e611798565b610596611798565b6105d587878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061099092505050565b508251602080850151845182860151855193860151979a50959850939650610605958e95939491939192906109db565b5050505050505050565b7f29fa046e79524c3c5ac4c01df692c35e217802b2b13b21121b76cf0ef02b138c81565b7f099f75155f0e997bf83a7993a71d5e7e7540bd386fe1e84643a09ce6b412521981565b7ffa7dd04da627f433da73c4355ead9c75682a67a8fc84d3f6170ef0922f402d2481565b7fb9dfbaccbe5cd2a84fdcf1d15f23ef25d23086f5afbaa99516065ed4a5bbc7a381565b7f03e38a2bd7063d45c897edeafc330e71657502dd86434d3c37a489caf116af6981565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f68e30677f607df46e87da13e15b637784cfa62374b653f35ab43d10361a2f83081565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146107725760405162461bcd60e51b81526004018080602001828103825260328152602001806117dd6032913960400191505060405180910390fd5b600061077c611798565b610784611798565b6107c387878080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610b1b92505050565b925092509250606061080a86868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610b5892505050565b50509050610857898260008151811061081f57fe5b6020026020010151868660006002811061083557fe5b6020020151876001602002015187600060200201518860016020020151610d15565b505050505050505050565b7f0e7f692dad5b88fdee426250d6eae91207e56a2e8112b7364579bed1790e5bf481565b600060608080806001600160e01b0319881663099f751560e01b14156108bf576108b08787610e21565b94509450945094509450610919565b6001600160e01b0319881663c29fa9dd60e01b14156108e2576108b087876110a9565b60405162461bcd60e51b815260040180806020018281038252602781526020018061186f6027913960400191505060405180910390fd5b945094509450945094565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b7fc29fa9dde84204c2908778afd0613d802d31cf046179b88f6d2b4a4e507ea2d581565b610998611798565b6109a0611798565b6109a8611798565b60008480602001905160e08110156109bf57600080fd5b5060c08101519096604088019650608088019550909350915050565b610a06867f0000000000000000000000000000000000000000000000000000000000000000866112eb565b610a31857f0000000000000000000000000000000000000000000000000000000000000000856112eb565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e8e337008787878787878e610a6f6113a9565b6040518963ffffffff1660e01b815260040180896001600160a01b03168152602001886001600160a01b03168152602001878152602001868152602001858152602001848152602001836001600160a01b0316815260200182815260200198505050505050505050606060405180830381600087803b158015610af157600080fd5b505af1158015610b05573d6000803e3d6000fd5b505050506040513d606081101561085757600080fd5b6000610b25611798565b610b2d611798565b8380602001905160a0811015610b4257600080fd5b5080519560208201955060609091019350915050565b6060806060838060200190516060811015610b7257600080fd5b8101908080516040519392919084600160201b821115610b9157600080fd5b908301906020820185811115610ba657600080fd5b82518660208202830111600160201b82111715610bc257600080fd5b82525081516020918201928201910280838360005b83811015610bef578181015183820152602001610bd7565b5050505090500160405260200180516040519392919084600160201b821115610c1757600080fd5b908301906020820185811115610c2c57600080fd5b82518660208202830111600160201b82111715610c4857600080fd5b82525081516020918201928201910280838360005b83811015610c75578181015183820152602001610c5d565b5050505090500160405260200180516040519392919084600160201b821115610c9d57600080fd5b908301906020820185811115610cb257600080fd5b82518660208202830111600160201b82111715610cce57600080fd5b82525081516020918201928201910280838360005b83811015610cfb578181015183820152602001610ce3565b505050509050016040525050509250925092509193909250565b610d40867f0000000000000000000000000000000000000000000000000000000000000000876112eb565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663baa2abde85858886868d610d7d6113a9565b6040518863ffffffff1660e01b815260040180886001600160a01b03168152602001876001600160a01b03168152602001868152602001858152602001848152602001836001600160a01b031681526020018281526020019750505050505050506040805180830381600087803b158015610df757600080fd5b505af1158015610e0b573d6000803e3d6000fd5b505050506040513d604081101561085757600080fd5b6000606080606080610e31611798565b610e39611798565b6000610e7a8a8a8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061099092505050565b93505092509250600267ffffffffffffffff81118015610e9957600080fd5b50604051908082528060200260200182016040528015610ec3578160200160208202803683370190505b509650826000602002015187600081518110610edb57fe5b6001600160a01b0392909216602092830291909101820152830151875188906001908110610f0557fe5b6001600160a01b039290921660209283029190910182015260408051600280825260608201835290929091908301908036833750508351825192985091889150600090610f4e57fe5b6020908102919091010152816001602002015186600181518110610f6e57fe5b602090810291909101015260408051600180825281830190925290816020016020820280368337505084516020808701516040805163e6a4390560e01b81526001600160a01b0394851660048201529184166024830152519499507f00000000000000000000000000000000000000000000000000000000000000009092169363e6a439059350604480840193829003018186803b15801561100f57600080fd5b505afa158015611023573d6000803e3d6000fd5b505050506040513d602081101561103957600080fd5b50518551869060009061104857fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509350808460008151811061108c57fe5b602002602001018181525050600297505050509295509295909350565b600060608060608060006110bb611798565b6110c3611798565b6111028a8a8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610b1b92505050565b604080516001808252818301909252939650919450925060208083019080368337505083516020808601516040805163e6a4390560e01b81526001600160a01b039485166004820152918416602483015251949b507f00000000000000000000000000000000000000000000000000000000000000009092169363e6a439059350604480840193829003018186803b15801561119d57600080fd5b505afa1580156111b1573d6000803e3d6000fd5b505050506040513d60208110156111c757600080fd5b5051875188906000906111d657fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509550828660008151811061121a57fe5b602090810291909101015260408051600280825260608201909252908160200160208202803683375050835182519297509187915060009061125857fe5b6001600160a01b039290921660209283029190910182015282015185518690600190811061128257fe5b6001600160a01b0392909216602092830291909101820152604080516002808252606082018352909290919083019080368337505082518251929650918691506000906112cb57fe5b602090810291909101015280600160200201518460018151811061108c57fe5b60408051636eb1769f60e11b81523060048201526001600160a01b038481166024830152915160009286169163dd62ed3e916044808301926020929190829003018186803b15801561133c57600080fd5b505afa158015611350573d6000803e3d6000fd5b505050506040513d602081101561136657600080fd5b50519050818110156113a357801561138d5761138d6001600160a01b0385168460006113b0565b6113a36001600160a01b038516846000196113b0565b50505050565b6001420190565b801580611436575060408051636eb1769f60e11b81523060048201526001600160a01b03848116602483015291519185169163dd62ed3e91604480820192602092909190829003018186803b15801561140857600080fd5b505afa15801561141c573d6000803e3d6000fd5b505050506040513d602081101561143257600080fd5b5051155b6114715760405162461bcd60e51b81526004018080602001828103825260368152602001806118396036913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526114c39084906114c8565b505050565b606061151d826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166115799092919063ffffffff16565b8051909150156114c35780806020019051602081101561153c57600080fd5b50516114c35760405162461bcd60e51b815260040180806020018281038252602a81526020018061180f602a913960400191505060405180910390fd5b60606115888484600085611592565b90505b9392505050565b6060824710156115d35760405162461bcd60e51b81526004018080602001828103825260268152602001806117b76026913960400191505060405180910390fd5b6115dc856116ee565b61162d576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b6020831061166c5780518252601f19909201916020918201910161164d565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146116ce576040519150601f19603f3d011682016040523d82523d6000602084013e6116d3565b606091505b50915091506116e38282866116f4565b979650505050505050565b3b151590565b6060831561170357508161158b565b8251156117135782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561175d578181015183820152602001611745565b50505050905090810190601f16801561178a5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b6040518060400160405280600290602082028036833750919291505056fe416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c4f6e6c792074686520496e746567726174696f6e4d616e616765722063616e2063616c6c20746869732066756e6374696f6e5361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e63657061727365417373657473466f72416374696f6e3a205f73656c6563746f7220696e76616c6964a164736f6c634300060c000a", - "sourceMap": "595:8140:175:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1490:119:180;;;:::i;:::-;;;;-1:-1:-1;;;;;;1490:119:180;;;;;;;;;;;;;;1133:645:175;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1133:645:175;;;;;;;;;;;;;;;-1:-1:-1;;;1133:645:175;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1133:645:175;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1133:645:175;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1133:645:175;;;;;;;;;;-1:-1:-1;1133:645:175;;-1:-1:-1;1133:645:175;-1:-1:-1;1133:645:175;:::i;:::-;;1373:111:180;;;:::i;832:85::-;;;:::i;1034:87::-;;;:::i;1240:110::-;;;:::i;706:104::-;;;:::i;8639:94:175:-;;;:::i;:::-;;;;-1:-1:-1;;;;;8639:94:175;;;;;;;;;;;;;;1127:91:180;;;:::i;2036:785:175:-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2036:785:175;;;;;;;;;;;;;;;-1:-1:-1;;;2036:785:175;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2036:785:175;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2036:785:175;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2036:785:175;;;;;;;;;;-1:-1:-1;2036:785:175;;-1:-1:-1;2036:785:175;-1:-1:-1;2036:785:175;:::i;577:123:180:-;;;:::i;3562:744:175:-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3562:744:175;;;;-1:-1:-1;;;;;;3562:744:175;;;;;;;;;;;;;;;;-1:-1:-1;;;3562:744:175;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3562:744:175;;;;;;;;;;-1:-1:-1;3562:744:175;;-1:-1:-1;3562:744:175;-1:-1:-1;3562:744:175;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4866:111:196;;;:::i;2637:128:179:-;;;:::i;923:89:180:-;;;:::i;1490:119::-;1558:50;1490:119;:::o;1133:645:175:-;1747:10:179;-1:-1:-1;;;;;1761:19:179;1747:33;;1726:130;;;;-1:-1:-1;;;1726:130:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1298:32:175::1;;:::i;:::-;1344:41;;:::i;:::-;1399;;:::i;:::-;1455:33;1476:11;;1455:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;1455:20:175::1;::::0;-1:-1:-1;;;1455:33:175:i:1;:::-;-1:-1:-1::0;1553:17:175;;::::1;1584::::0;;::::1;::::0;1615:26;;1655;;::::1;::::0;1695;;1735;;::::1;::::0;1284:204;;-1:-1:-1;1284:204:175;;-1:-1:-1;1284:204:175;;-1:-1:-1;1499:272:175::1;::::0;1528:11;;1553:17;;1584;;1615:26;;1695;1499:15:::1;:272::i;:::-;1866:1:179;;;1133:645:175::0;;;;;:::o;1373:111:180:-;1437:46;1373:111;:::o;832:85::-;878:38;832:85;:::o;1034:87::-;1081:39;1034:87;:::o;1240:110::-;1303:46;1240:110;:::o;706:104::-;766:43;706:104;:::o;8639:94:175:-;8719:7;8639:94;:::o;1127:91:180:-;1176:41;1127:91;:::o;2036:785:175:-;1747:10:179;-1:-1:-1;;;;;1761:19:179;1747:33;;1726:130;;;;-1:-1:-1;;;1726:130:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2214:27:175::1;2255:32;;:::i;:::-;2301:41;;:::i;:::-;2355:35;2378:11;;2355:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;2355:22:175::1;::::0;-1:-1:-1;;;2355:35:175:i:1;:::-;2200:190;;;;;;2483:28;2519:29;2537:10;;2519:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;2519:17:175::1;::::0;-1:-1:-1;;;2519:29:175:i:1;:::-;2482:66;;;;2559:255;2590:11;2615;2627:1;2615:14;;;;;;;;;;;;;;2643:19;2676:14;2691:1;2676:17;;;;;;;;;;::::0;2707:14;2722:1:::1;2707:17;;;::::0;2738:23;2762:1:::1;2738:26;;;::::0;2778:23;2802:1:::1;2778:26;;;;2559:17;:255::i;:::-;1866:1:179;;;;2036:785:175::0;;;;;:::o;577:123:180:-;647:52;577:123;:::o;3562:744:175:-;3754:64;3832:29;;;;-1:-1:-1;;;;;;4040:26:175;;-1:-1:-1;;;4040:26:175;4036:204;;;4089:33;4110:11;;4089:20;:33::i;:::-;4082:40;;;;;;;;;;;;4036:204;-1:-1:-1;;;;;;4143:28:175;;-1:-1:-1;;;4143:28:175;4139:101;;;4194:35;4217:11;;4194:22;:35::i;4139:101::-;4250:49;;-1:-1:-1;;;4250:49:175;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3562:744;;;;;;;;;;:::o;4866:111:196:-;4952:18;4866:111;:::o;2637:128:179:-;2739:19;2637:128;:::o;923:89:180:-;971:40;923:89;:::o;7633:414:175:-;7748:33;;:::i;:::-;7795:42;;:::i;:::-;7851;;:::i;:::-;7907:31;7981:11;7970:70;;;;;;;;;;;;;;;-1:-1:-1;7970:70:175;;;;;;;;;;-1:-1:-1;7970:70:175;;;;-1:-1:-1;7970:70:175;;-1:-1:-1;7633:414:175;-1:-1:-1;;7633:414:175:o;778:735:196:-;1030:71;1056:7;1065:18;1085:15;1030:25;:71::i;:::-;1111;1137:7;1146:18;1166:15;1111:25;:71::i;:::-;1246:18;-1:-1:-1;;;;;1228:50:196;;1292:7;1313;1334:15;1363;1392:11;1417;1442:10;1466:30;:28;:30::i;:::-;1228:278;;;;;;;;;;;;;-1:-1:-1;;;;;1228:278:196;;;;;;-1:-1:-1;;;;;1228:278:196;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1228:278:196;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8117:345:175;8234:28;8276:33;;:::i;:::-;8323:42;;:::i;:::-;8408:11;8397:58;;;;;;;;;;;;;;;-1:-1:-1;8397:58:175;;;;;;;-1:-1:-1;8397:58:175;;;;;-1:-1:-1;8117:345:175;-1:-1:-1;;8117:345:175:o;2093:332:179:-;2205:29;2248:35;2297:32;2372:10;2361:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;-1:-1:-1;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;-1:-1:-1;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;-1:-1:-1;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2354:64;;;;;;2093:332;;;;;:::o;1559:633:196:-;1809:75;1835:10;1847:18;1867:16;1809:25;:75::i;:::-;1950:18;-1:-1:-1;;;;;1932:53:196;;1999:7;2020;2041:16;2071:11;2096;2121:10;2145:30;:28;:30::i;:::-;1932:253;;;;;;;;;;;;;-1:-1:-1;;;;;1932:253:196;;;;;;-1:-1:-1;;;;;1932:253:196;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1932:253:196;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4427:1515:175;4544:64;4622:29;4665:35;4714:32;4760:41;4840:32;;:::i;:::-;4886:41;;:::i;:::-;4955:30;4998:33;5019:11;;4998:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4998:20:175;;-1:-1:-1;;;4998:33:175:i;:::-;4826:205;;;;;;;5071:1;5057:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5057:16:175;-1:-1:-1;5042:31:175;-1:-1:-1;5101:14:175;5116:1;5101:17;;;;5083:12;5096:1;5083:15;;;;;;;;-1:-1:-1;;;;;5083:35:175;;;;:15;;;;;;;;;;:35;5146:17;;;5128:15;;:12;;5161:1;;5128:15;;;;;;-1:-1:-1;;;;;5128:35:175;;;;:15;;;;;;;;;;:35;5195:16;;;5209:1;5195:16;;;;;;;;;;5209:1;;5195:16;;;;;;;;-1:-1:-1;;5245:26:175;;5221:21;;5174:37;;-1:-1:-1;5245:26:175;5174:37;;-1:-1:-1;5269:1:175;;5221:21;;;;;;;;;;;;;:50;5305:23;5329:1;5305:26;;;;5281:18;5300:1;5281:21;;;;;;;;;;;;;;;;;:50;5360:16;;;5374:1;5360:16;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5544:17:175;;;5575;;;;5496:106;;;-1:-1:-1;;;5496:106:175;;-1:-1:-1;;;;;5496:106:175;;;;;;;;;;;;;;;5342:34;;-1:-1:-1;5514:7:175;5496:34;;;;;;-1:-1:-1;5496:106:175;;;;;;;;;;:34;:106;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5496:106:175;5475:18;;:15;;5491:1;;5475:18;;;;-1:-1:-1;;;;;5475:127:175;;;;:18;;;;;;;;;;:127;5640:16;;;5654:1;5640:16;;;;;;;;;;;;;;5475:18;5640:16;;;;;-1:-1:-1;5640:16:175;5613:43;;5696:22;5666:24;5691:1;5666:27;;;;;;;;;;;;;:52;;;;;5750:50;5729:206;;;;;4427:1515;;;;;;;;:::o;6065:1474::-;6184:64;6262:29;6305:35;6354:32;6400:41;6480:27;6521:32;;:::i;:::-;6567:41;;:::i;:::-;6621:35;6644:11;;6621:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6621:22:175;;-1:-1:-1;;;6621:35:175:i;:::-;6682:16;;;6696:1;6682:16;;;;;;;;;6466:190;;-1:-1:-1;6466:190:175;;-1:-1:-1;6466:190:175;-1:-1:-1;6682:16:175;;;;;;;;;-1:-1:-1;;6850:17:175;;;6869;;;;6815:72;;;-1:-1:-1;;;6815:72:175;;-1:-1:-1;;;;;6815:72:175;;;;;;;;;;;;;;;6667:31;;-1:-1:-1;6833:7:175;6815:34;;;;;;-1:-1:-1;6815:72:175;;;;;;;;;;:34;:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6815:72:175;6797:15;;:12;;6810:1;;6797:15;;;;-1:-1:-1;;;;;6797:90:175;;;;:15;;;;;;;;;;:90;6919:16;;;6933:1;6919:16;;;;;;;;;;;;;;6797:15;6919:16;;;;;-1:-1:-1;6919:16:175;6898:37;;6969:19;6945:18;6964:1;6945:21;;;;;;;;;;;;;;;;;:43;7017:16;;;7031:1;7017:16;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7064:17:175;;7043:18;;6999:34;;-1:-1:-1;7064:17:175;6999:34;;-1:-1:-1;7079:1:175;;7043:18;;;;-1:-1:-1;;;;;7043:38:175;;;;:18;;;;;;;;;;:38;7112:17;;;7091:18;;:15;;7127:1;;7091:18;;;;;;-1:-1:-1;;;;;7091:38:175;;;;:18;;;;;;;;;;:38;7167:16;;;7181:1;7167:16;;;;;;;;;;7181:1;;7167:16;;;;;;;;-1:-1:-1;;7223:26:175;;7193:27;;7140:43;;-1:-1:-1;7223:26:175;7140:43;;-1:-1:-1;7247:1:175;;7193:27;;;;;;;;;;;;;:56;7289:23;7313:1;7289:26;;;;7259:24;7284:1;7259:27;;;;;;;2554:434:355;2714:47;;;-1:-1:-1;;;2714:47:355;;2746:4;2714:47;;;;-1:-1:-1;;;;;2714:47:355;;;;;;;;;2694:17;;2714:23;;;;;:47;;;;;;;;;;;;;;:23;:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2714:47:355;;-1:-1:-1;2775:25:355;;;2771:211;;;2820:13;;2816:89;;2853:37;-1:-1:-1;;;;;2853:25:355;;2879:7;2888:1;2853:25;:37::i;:::-;2918:53;-1:-1:-1;;;;;2918:25:355;;2944:7;-1:-1:-1;;2918:25:355;:53::i;:::-;2554:434;;;;:::o;4544:124:196:-;4660:1;4642:15;:19;4544:124;:::o;1348:613:450:-;1713:10;;;1712:62;;-1:-1:-1;1729:39:450;;;-1:-1:-1;;;1729:39:450;;1753:4;1729:39;;;;-1:-1:-1;;;;;1729:39:450;;;;;;;;;:15;;;;;;:39;;;;;;;;;;;;;;;:15;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1729:39:450;:44;1712:62;1704:150;;;;-1:-1:-1;;;1704:150:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1891:62;;;-1:-1:-1;;;;;1891:62:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1891:62:450;-1:-1:-1;;;1891:62:450;;;1864:90;;1884:5;;1864:19;:90::i;:::-;1348:613;;;:::o;2967:751::-;3386:23;3412:69;3440:4;3412:69;;;;;;;;;;;;;;;;;3420:5;-1:-1:-1;;;;;3412:27:450;;;:69;;;;;:::i;:::-;3495:17;;3386:95;;-1:-1:-1;3495:21:450;3491:221;;3635:10;3624:30;;;;;;;;;;;;;;;-1:-1:-1;3624:30:450;3616:85;;;;-1:-1:-1;;;3616:85:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3581:193:451;3684:12;3715:52;3737:6;3745:4;3751:1;3754:12;3715:21;:52::i;:::-;3708:59;;3581:193;;;;;;:::o;4608:523::-;4735:12;4792:5;4767:21;:30;;4759:81;;;;-1:-1:-1;;;4759:81:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4858:18;4869:6;4858:10;:18::i;:::-;4850:60;;;;;-1:-1:-1;;;4850:60:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;4981:12;4995:23;5022:6;-1:-1:-1;;;;;5022:11:451;5042:5;5050:4;5022:33;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5022:33:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4980:75;;;;5072:52;5090:7;5099:10;5111:12;5072:17;:52::i;:::-;5065:59;4608:523;-1:-1:-1;;;;;;;4608:523:451:o;726:413::-;1086:20;1124:8;;;726:413::o;7091:725::-;7206:12;7234:7;7230:580;;;-1:-1:-1;7264:10:451;7257:17;;7230:580;7375:17;;:21;7371:429;;7633:10;7627:17;7693:15;7680:10;7676:2;7672:19;7665:44;7582:145;7772:12;7765:20;;-1:-1:-1;;;7765:20:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;:::o", - "linkReferences": {}, - "immutableReferences": { - "47883": [ - { - "start": 1733, - "length": 32 - }, - { - "start": 4043, - "length": 32 - }, - { - "start": 4441, - "length": 32 - } - ], - "49791": [ - { - "start": 1314, - "length": 32 - }, - { - "start": 1814, - "length": 32 - }, - { - "start": 2378, - "length": 32 - } - ], - "51962": [ - { - "start": 2342, - "length": 32 - }, - { - "start": 2529, - "length": 32 - }, - { - "start": 2572, - "length": 32 - }, - { - "start": 2611, - "length": 32 - }, - { - "start": 3355, - "length": 32 - }, - { - "start": 3394, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "CLAIM_REWARDS_SELECTOR()": "40da225d", - "LEND_AND_STAKE_SELECTOR()": "131461c0", - "LEND_SELECTOR()": "257cb1a3", - "REDEEM_SELECTOR()": "f7d882b5", - "STAKE_SELECTOR()": "3ffc1591", - "TAKE_MULTIPLE_ORDERS_SELECTOR()": "c32990a2", - "TAKE_ORDER_SELECTOR()": "863e5ad0", - "UNSTAKE_AND_REDEEM_SELECTOR()": "080456c1", - "UNSTAKE_SELECTOR()": "b23228cf", - "getFactory()": "88cc58e4", - "getIntegrationManager()": "e7c45690", - "getUniswapV2Router2()": "d1ded408", - "lend(address,bytes,bytes)": "099f7515", - "parseAssetsForAction(address,bytes4,bytes)": "c54efee5", - "redeem(address,bytes,bytes)": "c29fa9dd" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_integrationManager\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_router\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_factory\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"CLAIM_REWARDS_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LEND_AND_STAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LEND_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"REDEEM_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"STAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TAKE_MULTIPLE_ORDERS_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TAKE_ORDER_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UNSTAKE_AND_REDEEM_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UNSTAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFactory\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"factory_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getIntegrationManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"integrationManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getUniswapV2Router2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"router_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"lend\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"_selector\",\"type\":\"bytes4\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"}],\"name\":\"parseAssetsForAction\",\"outputs\":[{\"internalType\":\"enum IIntegrationManager.SpendAssetsHandleType\",\"name\":\"spendAssetsHandleType_\",\"type\":\"uint8\"},{\"internalType\":\"address[]\",\"name\":\"spendAssets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"spendAssetAmounts_\",\"type\":\"uint256[]\"},{\"internalType\":\"address[]\",\"name\":\"incomingAssets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"minIncomingAssetAmounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"_assetData\",\"type\":\"bytes\"}],\"name\":\"redeem\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"getFactory()\":{\"returns\":{\"factory_\":\"The `FACTORY` variable value\"}},\"getIntegrationManager()\":{\"returns\":{\"integrationManager_\":\"The `INTEGRATION_MANAGER` variable value\"}},\"getUniswapV2Router2()\":{\"returns\":{\"router_\":\"The `UNISWAP_V2_ROUTER2` variable value\"}},\"lend(address,bytes,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}},\"parseAssetsForAction(address,bytes4,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_selector\":\"The function selector for the callOnIntegration\"},\"returns\":{\"incomingAssets_\":\"The assets to receive in the call\",\"minIncomingAssetAmounts_\":\"The min asset amounts to receive in the call\",\"spendAssetAmounts_\":\"The max asset amounts to spend in the call\",\"spendAssetsHandleType_\":\"A type that dictates how to handle granting the adapter access to spend assets (`None` by default)\",\"spendAssets_\":\"The assets to spend in the call\"}},\"redeem(address,bytes,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_assetData\":\"Parsed spend assets and incoming assets data for this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}}},\"title\":\"UniswapV2LiquidityAdapter Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getFactory()\":{\"notice\":\"Gets the `FACTORY` variable\"},\"getIntegrationManager()\":{\"notice\":\"Gets the `INTEGRATION_MANAGER` variable\"},\"getUniswapV2Router2()\":{\"notice\":\"Gets the `UNISWAP_V2_ROUTER2` variable\"},\"lend(address,bytes,bytes)\":{\"notice\":\"Lends assets for pool tokens on Uniswap\"},\"parseAssetsForAction(address,bytes4,bytes)\":{\"notice\":\"Parses the expected assets in a particular action\"},\"redeem(address,bytes,bytes)\":{\"notice\":\"Redeems pool tokens on Uniswap\"}},\"notice\":\"Adapter for interacting with Uniswap v2 liquidity provision\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/integration-manager/integrations/adapters/UniswapV2LiquidityAdapter.sol\":\"UniswapV2LiquidityAdapter\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/integration-manager/IIntegrationManager.sol\":{\"keccak256\":\"0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23\",\"dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk\"]},\"contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol\":{\"keccak256\":\"0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336\",\"dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS\"]},\"contracts/release/extensions/integration-manager/integrations/adapters/UniswapV2LiquidityAdapter.sol\":{\"keccak256\":\"0xbca52a79ff9a1d85e1209a7db7e8102fb5a2e69ee3a433db84fcd67e590516f5\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d9beccd10d5069fbd8f18a5e2216350093001c15418aa906f3341641a1c83605\",\"dweb:/ipfs/QmdPy2rJVyw7hXupY3M9TBav14kN6tzF6sxDynRyb1vJgU\"]},\"contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol\":{\"keccak256\":\"0x067e49bf0d3c1655ab41a413c65ccf61d4e593308132e1ffc484a0fadfbbaf26\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://387f425017e18e89cc1893521101fa99df595314847d0b3d9a1162369f714fcf\",\"dweb:/ipfs/Qmco3jCvuWAyfCpBYpGzHrQjiFJG63w1RJKcakoTEbxRQm\"]},\"contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol\":{\"keccak256\":\"0xfd34c7ca8231c6935e25dede32ca2b3121738e624d0fc896f7b895a731edcf88\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d492c061963d36d07718446db191d4c5a340c0d847f6cd209f027bd99f7cb176\",\"dweb:/ipfs/QmfCvRZt56ftDdrEh6LepHXFJ4fVtcfpQGvEyY8k4zxG1A\"]},\"contracts/release/extensions/integration-manager/integrations/utils/actions/UniswapV2ActionsMixin.sol\":{\"keccak256\":\"0x87c92b0b1a0a612a7e641cf5904b628d70909185afcad8cde3617d02a966db67\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ab76dce3a9fac7392335f51c1b76da0325ec785a7a1a0acfe06e9fd4f82f324d\",\"dweb:/ipfs/Qmenw17RU7eUvFubo2q6pAmM8Re7muoV1HUFGx2FMeCxLY\"]},\"contracts/release/interfaces/IUniswapV2Factory.sol\":{\"keccak256\":\"0x644fd15db1e38d724d81d3af48f5141698947fcfc36623f1270fe4d817c4dbef\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ba1d613f3a8f94d87dbbed14b7ebb7ed578e30cfd08ef70a1c7efce502ca07f1\",\"dweb:/ipfs/QmccdQAxVnRUmxNCgVmfmGSFnoQwm3YHmLJ2h9evFvHvAw\"]},\"contracts/release/interfaces/IUniswapV2Router2.sol\":{\"keccak256\":\"0xe923e9176b7f9e9cf271098966ff4d76248caf65b777fb8c51f07146cce3d0c9\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://14cbb598760aabb151e11816467f7a0c7205cb9a653a1ab723a9934734e23d50\",\"dweb:/ipfs/QmaPRfXKidKqfdBfvxzuNVDQv1FFC8NbexQLF1md53xzz3\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_integrationManager", - "type": "address" - }, - { - "internalType": "address", - "name": "_router", - "type": "address" - }, - { - "internalType": "address", - "name": "_factory", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "CLAIM_REWARDS_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "LEND_AND_STAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "LEND_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "REDEEM_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "STAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "TAKE_MULTIPLE_ORDERS_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "TAKE_ORDER_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "UNSTAKE_AND_REDEEM_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "UNSTAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getFactory", - "outputs": [ - { - "internalType": "address", - "name": "factory_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getIntegrationManager", - "outputs": [ - { - "internalType": "address", - "name": "integrationManager_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getUniswapV2Router2", - "outputs": [ - { - "internalType": "address", - "name": "router_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "lend" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes4", - "name": "_selector", - "type": "bytes4" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - } - ], - "stateMutability": "view", - "type": "function", - "name": "parseAssetsForAction", - "outputs": [ - { - "internalType": "enum IIntegrationManager.SpendAssetsHandleType", - "name": "spendAssetsHandleType_", - "type": "uint8" - }, - { - "internalType": "address[]", - "name": "spendAssets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "spendAssetAmounts_", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "incomingAssets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "minIncomingAssetAmounts_", - "type": "uint256[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "_assetData", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "redeem" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "getFactory()": { - "returns": { - "factory_": "The `FACTORY` variable value" - } - }, - "getIntegrationManager()": { - "returns": { - "integrationManager_": "The `INTEGRATION_MANAGER` variable value" - } - }, - "getUniswapV2Router2()": { - "returns": { - "router_": "The `UNISWAP_V2_ROUTER2` variable value" - } - }, - "lend(address,bytes,bytes)": { - "params": { - "_actionData": "Data specific to this action", - "_vaultProxy": "The VaultProxy of the calling fund" - } - }, - "parseAssetsForAction(address,bytes4,bytes)": { - "params": { - "_actionData": "Data specific to this action", - "_selector": "The function selector for the callOnIntegration" - }, - "returns": { - "incomingAssets_": "The assets to receive in the call", - "minIncomingAssetAmounts_": "The min asset amounts to receive in the call", - "spendAssetAmounts_": "The max asset amounts to spend in the call", - "spendAssetsHandleType_": "A type that dictates how to handle granting the adapter access to spend assets (`None` by default)", - "spendAssets_": "The assets to spend in the call" - } - }, - "redeem(address,bytes,bytes)": { - "params": { - "_actionData": "Data specific to this action", - "_assetData": "Parsed spend assets and incoming assets data for this action", - "_vaultProxy": "The VaultProxy of the calling fund" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "getFactory()": { - "notice": "Gets the `FACTORY` variable" - }, - "getIntegrationManager()": { - "notice": "Gets the `INTEGRATION_MANAGER` variable" - }, - "getUniswapV2Router2()": { - "notice": "Gets the `UNISWAP_V2_ROUTER2` variable" - }, - "lend(address,bytes,bytes)": { - "notice": "Lends assets for pool tokens on Uniswap" - }, - "parseAssetsForAction(address,bytes4,bytes)": { - "notice": "Parses the expected assets in a particular action" - }, - "redeem(address,bytes,bytes)": { - "notice": "Redeems pool tokens on Uniswap" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/integration-manager/integrations/adapters/UniswapV2LiquidityAdapter.sol": "UniswapV2LiquidityAdapter" - }, - "libraries": {} - }, - "sources": { - "contracts/release/extensions/integration-manager/IIntegrationManager.sol": { - "keccak256": "0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef", - "urls": [ - "bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23", - "dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol": { - "keccak256": "0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1", - "urls": [ - "bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336", - "dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/adapters/UniswapV2LiquidityAdapter.sol": { - "keccak256": "0xbca52a79ff9a1d85e1209a7db7e8102fb5a2e69ee3a433db84fcd67e590516f5", - "urls": [ - "bzz-raw://d9beccd10d5069fbd8f18a5e2216350093001c15418aa906f3341641a1c83605", - "dweb:/ipfs/QmdPy2rJVyw7hXupY3M9TBav14kN6tzF6sxDynRyb1vJgU" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol": { - "keccak256": "0x067e49bf0d3c1655ab41a413c65ccf61d4e593308132e1ffc484a0fadfbbaf26", - "urls": [ - "bzz-raw://387f425017e18e89cc1893521101fa99df595314847d0b3d9a1162369f714fcf", - "dweb:/ipfs/Qmco3jCvuWAyfCpBYpGzHrQjiFJG63w1RJKcakoTEbxRQm" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol": { - "keccak256": "0xfd34c7ca8231c6935e25dede32ca2b3121738e624d0fc896f7b895a731edcf88", - "urls": [ - "bzz-raw://d492c061963d36d07718446db191d4c5a340c0d847f6cd209f027bd99f7cb176", - "dweb:/ipfs/QmfCvRZt56ftDdrEh6LepHXFJ4fVtcfpQGvEyY8k4zxG1A" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/utils/actions/UniswapV2ActionsMixin.sol": { - "keccak256": "0x87c92b0b1a0a612a7e641cf5904b628d70909185afcad8cde3617d02a966db67", - "urls": [ - "bzz-raw://ab76dce3a9fac7392335f51c1b76da0325ec785a7a1a0acfe06e9fd4f82f324d", - "dweb:/ipfs/Qmenw17RU7eUvFubo2q6pAmM8Re7muoV1HUFGx2FMeCxLY" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IUniswapV2Factory.sol": { - "keccak256": "0x644fd15db1e38d724d81d3af48f5141698947fcfc36623f1270fe4d817c4dbef", - "urls": [ - "bzz-raw://ba1d613f3a8f94d87dbbed14b7ebb7ed578e30cfd08ef70a1c7efce502ca07f1", - "dweb:/ipfs/QmccdQAxVnRUmxNCgVmfmGSFnoQwm3YHmLJ2h9evFvHvAw" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IUniswapV2Router2.sol": { - "keccak256": "0xe923e9176b7f9e9cf271098966ff4d76248caf65b777fb8c51f07146cce3d0c9", - "urls": [ - "bzz-raw://14cbb598760aabb151e11816467f7a0c7205cb9a653a1ab723a9934734e23d50", - "dweb:/ipfs/QmaPRfXKidKqfdBfvxzuNVDQv1FFC8NbexQLF1md53xzz3" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AssetHelpers.sol": { - "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", - "urls": [ - "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", - "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { - "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", - "urls": [ - "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", - "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Address.sol": { - "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", - "urls": [ - "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", - "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 175 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_integrationManager", "type": "address", "internalType": "address" }, { "name": "_router", "type": "address", "internalType": "address" }, { "name": "_factory", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "CLAIM_REWARDS_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "LEND_AND_STAKE_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "LEND_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "REDEEM_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "STAKE_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "TAKE_MULTIPLE_ORDERS_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "TAKE_ORDER_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "UNSTAKE_AND_REDEEM_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "UNSTAKE_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "getFactory", "inputs": [], "outputs": [ { "name": "factory_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getIntegrationManager", "inputs": [], "outputs": [ { "name": "integrationManager_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getUniswapV2Router2", "inputs": [], "outputs": [ { "name": "router_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "lend", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_actionData", "type": "bytes", "internalType": "bytes" }, { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "parseAssetsForAction", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "_selector", "type": "bytes4", "internalType": "bytes4" }, { "name": "_actionData", "type": "bytes", "internalType": "bytes" } ], "outputs": [ { "name": "spendAssetsHandleType_", "type": "uint8", "internalType": "enum IIntegrationManager.SpendAssetsHandleType" }, { "name": "spendAssets_", "type": "address[]", "internalType": "address[]" }, { "name": "spendAssetAmounts_", "type": "uint256[]", "internalType": "uint256[]" }, { "name": "incomingAssets_", "type": "address[]", "internalType": "address[]" }, { "name": "minIncomingAssetAmounts_", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "view" }, { "type": "function", "name": "redeem", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_actionData", "type": "bytes", "internalType": "bytes" }, { "name": "_assetData", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x60e060405234801561001057600080fd5b506040516119663803806119668339818101604052606081101561003357600080fd5b50805160208201516040909201516001600160601b0319606092831b811660805292821b831660a052901b1660c05260805160601c60a05160601c60c05160601c6118a26100c4600039806106c55280610fcb528061115952508061092652806109e15280610a0c5280610a335280610d1b5280610d425250806105225280610716528061094a52506118a26000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c806388cc58e411610097578063c54efee511610066578063c54efee514610319578063d1ded408146104db578063e7c45690146104e3578063f7d882b5146104eb576100f5565b806388cc58e414610217578063b23228cf1461023b578063c29fa9dd14610243578063c32990a214610311576100f5565b8063257cb1a3116100d3578063257cb1a3146101f75780633ffc1591146101ff57806340da225d14610207578063863e5ad01461020f576100f5565b8063080456c1146100fa578063099f75151461011f578063131461c0146101ef575b600080fd5b6101026104f3565b604080516001600160e01b03199092168252519081900360200190f35b6101ed6004803603606081101561013557600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561015f57600080fd5b82018360208201111561017157600080fd5b803590602001918460018302840111600160201b8311171561019257600080fd5b919390929091602081019035600160201b8111156101af57600080fd5b8201836020820111156101c157600080fd5b803590602001918460018302840111600160201b831117156101e257600080fd5b509092509050610517565b005b61010261060f565b610102610633565b610102610657565b61010261067b565b61010261069f565b61021f6106c3565b604080516001600160a01b039092168252519081900360200190f35b6101026106e7565b6101ed6004803603606081101561025957600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561028357600080fd5b82018360208201111561029557600080fd5b803590602001918460018302840111600160201b831117156102b657600080fd5b919390929091602081019035600160201b8111156102d357600080fd5b8201836020820111156102e557600080fd5b803590602001918460018302840111600160201b8311171561030657600080fd5b50909250905061070b565b610102610862565b6103a66004803603606081101561032f57600080fd5b6001600160a01b03823516916001600160e01b031960208201351691810190606081016040820135600160201b81111561036857600080fd5b82018360208201111561037a57600080fd5b803590602001918460018302840111600160201b8311171561039b57600080fd5b509092509050610886565b604051808660028111156103b657fe5b815260200180602001806020018060200180602001858103855289818151815260200191508051906020019060200280838360005b838110156104035781810151838201526020016103eb565b50505050905001858103845288818151815260200191508051906020019060200280838360005b8381101561044257818101518382015260200161042a565b50505050905001858103835287818151815260200191508051906020019060200280838360005b83811015610481578181015183820152602001610469565b50505050905001858103825286818151815260200191508051906020019060200280838360005b838110156104c05781810151838201526020016104a8565b50505050905001995050505050505050505060405180910390f35b61021f610924565b61021f610948565b61010261096c565b7f8334eb99be0145865eba9889fca2ee920288090caefff4cc776038e20ad9259a81565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461057e5760405162461bcd60e51b81526004018080602001828103825260328152602001806117dd6032913960400191505060405180910390fd5b610586611798565b61058e611798565b610596611798565b6105d587878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061099092505050565b508251602080850151845182860151855193860151979a50959850939650610605958e95939491939192906109db565b5050505050505050565b7f29fa046e79524c3c5ac4c01df692c35e217802b2b13b21121b76cf0ef02b138c81565b7f099f75155f0e997bf83a7993a71d5e7e7540bd386fe1e84643a09ce6b412521981565b7ffa7dd04da627f433da73c4355ead9c75682a67a8fc84d3f6170ef0922f402d2481565b7fb9dfbaccbe5cd2a84fdcf1d15f23ef25d23086f5afbaa99516065ed4a5bbc7a381565b7f03e38a2bd7063d45c897edeafc330e71657502dd86434d3c37a489caf116af6981565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f68e30677f607df46e87da13e15b637784cfa62374b653f35ab43d10361a2f83081565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146107725760405162461bcd60e51b81526004018080602001828103825260328152602001806117dd6032913960400191505060405180910390fd5b600061077c611798565b610784611798565b6107c387878080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610b1b92505050565b925092509250606061080a86868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610b5892505050565b50509050610857898260008151811061081f57fe5b6020026020010151868660006002811061083557fe5b6020020151876001602002015187600060200201518860016020020151610d15565b505050505050505050565b7f0e7f692dad5b88fdee426250d6eae91207e56a2e8112b7364579bed1790e5bf481565b600060608080806001600160e01b0319881663099f751560e01b14156108bf576108b08787610e21565b94509450945094509450610919565b6001600160e01b0319881663c29fa9dd60e01b14156108e2576108b087876110a9565b60405162461bcd60e51b815260040180806020018281038252602781526020018061186f6027913960400191505060405180910390fd5b945094509450945094565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b7fc29fa9dde84204c2908778afd0613d802d31cf046179b88f6d2b4a4e507ea2d581565b610998611798565b6109a0611798565b6109a8611798565b60008480602001905160e08110156109bf57600080fd5b5060c08101519096604088019650608088019550909350915050565b610a06867f0000000000000000000000000000000000000000000000000000000000000000866112eb565b610a31857f0000000000000000000000000000000000000000000000000000000000000000856112eb565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e8e337008787878787878e610a6f6113a9565b6040518963ffffffff1660e01b815260040180896001600160a01b03168152602001886001600160a01b03168152602001878152602001868152602001858152602001848152602001836001600160a01b0316815260200182815260200198505050505050505050606060405180830381600087803b158015610af157600080fd5b505af1158015610b05573d6000803e3d6000fd5b505050506040513d606081101561085757600080fd5b6000610b25611798565b610b2d611798565b8380602001905160a0811015610b4257600080fd5b5080519560208201955060609091019350915050565b6060806060838060200190516060811015610b7257600080fd5b8101908080516040519392919084600160201b821115610b9157600080fd5b908301906020820185811115610ba657600080fd5b82518660208202830111600160201b82111715610bc257600080fd5b82525081516020918201928201910280838360005b83811015610bef578181015183820152602001610bd7565b5050505090500160405260200180516040519392919084600160201b821115610c1757600080fd5b908301906020820185811115610c2c57600080fd5b82518660208202830111600160201b82111715610c4857600080fd5b82525081516020918201928201910280838360005b83811015610c75578181015183820152602001610c5d565b5050505090500160405260200180516040519392919084600160201b821115610c9d57600080fd5b908301906020820185811115610cb257600080fd5b82518660208202830111600160201b82111715610cce57600080fd5b82525081516020918201928201910280838360005b83811015610cfb578181015183820152602001610ce3565b505050509050016040525050509250925092509193909250565b610d40867f0000000000000000000000000000000000000000000000000000000000000000876112eb565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663baa2abde85858886868d610d7d6113a9565b6040518863ffffffff1660e01b815260040180886001600160a01b03168152602001876001600160a01b03168152602001868152602001858152602001848152602001836001600160a01b031681526020018281526020019750505050505050506040805180830381600087803b158015610df757600080fd5b505af1158015610e0b573d6000803e3d6000fd5b505050506040513d604081101561085757600080fd5b6000606080606080610e31611798565b610e39611798565b6000610e7a8a8a8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061099092505050565b93505092509250600267ffffffffffffffff81118015610e9957600080fd5b50604051908082528060200260200182016040528015610ec3578160200160208202803683370190505b509650826000602002015187600081518110610edb57fe5b6001600160a01b0392909216602092830291909101820152830151875188906001908110610f0557fe5b6001600160a01b039290921660209283029190910182015260408051600280825260608201835290929091908301908036833750508351825192985091889150600090610f4e57fe5b6020908102919091010152816001602002015186600181518110610f6e57fe5b602090810291909101015260408051600180825281830190925290816020016020820280368337505084516020808701516040805163e6a4390560e01b81526001600160a01b0394851660048201529184166024830152519499507f00000000000000000000000000000000000000000000000000000000000000009092169363e6a439059350604480840193829003018186803b15801561100f57600080fd5b505afa158015611023573d6000803e3d6000fd5b505050506040513d602081101561103957600080fd5b50518551869060009061104857fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509350808460008151811061108c57fe5b602002602001018181525050600297505050509295509295909350565b600060608060608060006110bb611798565b6110c3611798565b6111028a8a8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610b1b92505050565b604080516001808252818301909252939650919450925060208083019080368337505083516020808601516040805163e6a4390560e01b81526001600160a01b039485166004820152918416602483015251949b507f00000000000000000000000000000000000000000000000000000000000000009092169363e6a439059350604480840193829003018186803b15801561119d57600080fd5b505afa1580156111b1573d6000803e3d6000fd5b505050506040513d60208110156111c757600080fd5b5051875188906000906111d657fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509550828660008151811061121a57fe5b602090810291909101015260408051600280825260608201909252908160200160208202803683375050835182519297509187915060009061125857fe5b6001600160a01b039290921660209283029190910182015282015185518690600190811061128257fe5b6001600160a01b0392909216602092830291909101820152604080516002808252606082018352909290919083019080368337505082518251929650918691506000906112cb57fe5b602090810291909101015280600160200201518460018151811061108c57fe5b60408051636eb1769f60e11b81523060048201526001600160a01b038481166024830152915160009286169163dd62ed3e916044808301926020929190829003018186803b15801561133c57600080fd5b505afa158015611350573d6000803e3d6000fd5b505050506040513d602081101561136657600080fd5b50519050818110156113a357801561138d5761138d6001600160a01b0385168460006113b0565b6113a36001600160a01b038516846000196113b0565b50505050565b6001420190565b801580611436575060408051636eb1769f60e11b81523060048201526001600160a01b03848116602483015291519185169163dd62ed3e91604480820192602092909190829003018186803b15801561140857600080fd5b505afa15801561141c573d6000803e3d6000fd5b505050506040513d602081101561143257600080fd5b5051155b6114715760405162461bcd60e51b81526004018080602001828103825260368152602001806118396036913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526114c39084906114c8565b505050565b606061151d826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166115799092919063ffffffff16565b8051909150156114c35780806020019051602081101561153c57600080fd5b50516114c35760405162461bcd60e51b815260040180806020018281038252602a81526020018061180f602a913960400191505060405180910390fd5b60606115888484600085611592565b90505b9392505050565b6060824710156115d35760405162461bcd60e51b81526004018080602001828103825260268152602001806117b76026913960400191505060405180910390fd5b6115dc856116ee565b61162d576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b6020831061166c5780518252601f19909201916020918201910161164d565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146116ce576040519150601f19603f3d011682016040523d82523d6000602084013e6116d3565b606091505b50915091506116e38282866116f4565b979650505050505050565b3b151590565b6060831561170357508161158b565b8251156117135782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561175d578181015183820152602001611745565b50505050905090810190601f16801561178a5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b6040518060400160405280600290602082028036833750919291505056fe416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c4f6e6c792074686520496e746567726174696f6e4d616e616765722063616e2063616c6c20746869732066756e6374696f6e5361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e63657061727365417373657473466f72416374696f6e3a205f73656c6563746f7220696e76616c6964a164736f6c634300060c000a", "sourceMap": "595:8140:175:-:0;;;714:212;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;714:212:175;;;;;;;;;;;-1:-1:-1;;;;;;714:212:175;1938:41:179;;;;;;;700:28:196;;;;;;;901:18:175;;;::::2;::::0;595:8140;;;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106100f55760003560e01c806388cc58e411610097578063c54efee511610066578063c54efee514610319578063d1ded408146104db578063e7c45690146104e3578063f7d882b5146104eb576100f5565b806388cc58e414610217578063b23228cf1461023b578063c29fa9dd14610243578063c32990a214610311576100f5565b8063257cb1a3116100d3578063257cb1a3146101f75780633ffc1591146101ff57806340da225d14610207578063863e5ad01461020f576100f5565b8063080456c1146100fa578063099f75151461011f578063131461c0146101ef575b600080fd5b6101026104f3565b604080516001600160e01b03199092168252519081900360200190f35b6101ed6004803603606081101561013557600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561015f57600080fd5b82018360208201111561017157600080fd5b803590602001918460018302840111600160201b8311171561019257600080fd5b919390929091602081019035600160201b8111156101af57600080fd5b8201836020820111156101c157600080fd5b803590602001918460018302840111600160201b831117156101e257600080fd5b509092509050610517565b005b61010261060f565b610102610633565b610102610657565b61010261067b565b61010261069f565b61021f6106c3565b604080516001600160a01b039092168252519081900360200190f35b6101026106e7565b6101ed6004803603606081101561025957600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561028357600080fd5b82018360208201111561029557600080fd5b803590602001918460018302840111600160201b831117156102b657600080fd5b919390929091602081019035600160201b8111156102d357600080fd5b8201836020820111156102e557600080fd5b803590602001918460018302840111600160201b8311171561030657600080fd5b50909250905061070b565b610102610862565b6103a66004803603606081101561032f57600080fd5b6001600160a01b03823516916001600160e01b031960208201351691810190606081016040820135600160201b81111561036857600080fd5b82018360208201111561037a57600080fd5b803590602001918460018302840111600160201b8311171561039b57600080fd5b509092509050610886565b604051808660028111156103b657fe5b815260200180602001806020018060200180602001858103855289818151815260200191508051906020019060200280838360005b838110156104035781810151838201526020016103eb565b50505050905001858103845288818151815260200191508051906020019060200280838360005b8381101561044257818101518382015260200161042a565b50505050905001858103835287818151815260200191508051906020019060200280838360005b83811015610481578181015183820152602001610469565b50505050905001858103825286818151815260200191508051906020019060200280838360005b838110156104c05781810151838201526020016104a8565b50505050905001995050505050505050505060405180910390f35b61021f610924565b61021f610948565b61010261096c565b7f8334eb99be0145865eba9889fca2ee920288090caefff4cc776038e20ad9259a81565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461057e5760405162461bcd60e51b81526004018080602001828103825260328152602001806117dd6032913960400191505060405180910390fd5b610586611798565b61058e611798565b610596611798565b6105d587878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061099092505050565b508251602080850151845182860151855193860151979a50959850939650610605958e95939491939192906109db565b5050505050505050565b7f29fa046e79524c3c5ac4c01df692c35e217802b2b13b21121b76cf0ef02b138c81565b7f099f75155f0e997bf83a7993a71d5e7e7540bd386fe1e84643a09ce6b412521981565b7ffa7dd04da627f433da73c4355ead9c75682a67a8fc84d3f6170ef0922f402d2481565b7fb9dfbaccbe5cd2a84fdcf1d15f23ef25d23086f5afbaa99516065ed4a5bbc7a381565b7f03e38a2bd7063d45c897edeafc330e71657502dd86434d3c37a489caf116af6981565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f68e30677f607df46e87da13e15b637784cfa62374b653f35ab43d10361a2f83081565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146107725760405162461bcd60e51b81526004018080602001828103825260328152602001806117dd6032913960400191505060405180910390fd5b600061077c611798565b610784611798565b6107c387878080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610b1b92505050565b925092509250606061080a86868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610b5892505050565b50509050610857898260008151811061081f57fe5b6020026020010151868660006002811061083557fe5b6020020151876001602002015187600060200201518860016020020151610d15565b505050505050505050565b7f0e7f692dad5b88fdee426250d6eae91207e56a2e8112b7364579bed1790e5bf481565b600060608080806001600160e01b0319881663099f751560e01b14156108bf576108b08787610e21565b94509450945094509450610919565b6001600160e01b0319881663c29fa9dd60e01b14156108e2576108b087876110a9565b60405162461bcd60e51b815260040180806020018281038252602781526020018061186f6027913960400191505060405180910390fd5b945094509450945094565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b7fc29fa9dde84204c2908778afd0613d802d31cf046179b88f6d2b4a4e507ea2d581565b610998611798565b6109a0611798565b6109a8611798565b60008480602001905160e08110156109bf57600080fd5b5060c08101519096604088019650608088019550909350915050565b610a06867f0000000000000000000000000000000000000000000000000000000000000000866112eb565b610a31857f0000000000000000000000000000000000000000000000000000000000000000856112eb565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e8e337008787878787878e610a6f6113a9565b6040518963ffffffff1660e01b815260040180896001600160a01b03168152602001886001600160a01b03168152602001878152602001868152602001858152602001848152602001836001600160a01b0316815260200182815260200198505050505050505050606060405180830381600087803b158015610af157600080fd5b505af1158015610b05573d6000803e3d6000fd5b505050506040513d606081101561085757600080fd5b6000610b25611798565b610b2d611798565b8380602001905160a0811015610b4257600080fd5b5080519560208201955060609091019350915050565b6060806060838060200190516060811015610b7257600080fd5b8101908080516040519392919084600160201b821115610b9157600080fd5b908301906020820185811115610ba657600080fd5b82518660208202830111600160201b82111715610bc257600080fd5b82525081516020918201928201910280838360005b83811015610bef578181015183820152602001610bd7565b5050505090500160405260200180516040519392919084600160201b821115610c1757600080fd5b908301906020820185811115610c2c57600080fd5b82518660208202830111600160201b82111715610c4857600080fd5b82525081516020918201928201910280838360005b83811015610c75578181015183820152602001610c5d565b5050505090500160405260200180516040519392919084600160201b821115610c9d57600080fd5b908301906020820185811115610cb257600080fd5b82518660208202830111600160201b82111715610cce57600080fd5b82525081516020918201928201910280838360005b83811015610cfb578181015183820152602001610ce3565b505050509050016040525050509250925092509193909250565b610d40867f0000000000000000000000000000000000000000000000000000000000000000876112eb565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663baa2abde85858886868d610d7d6113a9565b6040518863ffffffff1660e01b815260040180886001600160a01b03168152602001876001600160a01b03168152602001868152602001858152602001848152602001836001600160a01b031681526020018281526020019750505050505050506040805180830381600087803b158015610df757600080fd5b505af1158015610e0b573d6000803e3d6000fd5b505050506040513d604081101561085757600080fd5b6000606080606080610e31611798565b610e39611798565b6000610e7a8a8a8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061099092505050565b93505092509250600267ffffffffffffffff81118015610e9957600080fd5b50604051908082528060200260200182016040528015610ec3578160200160208202803683370190505b509650826000602002015187600081518110610edb57fe5b6001600160a01b0392909216602092830291909101820152830151875188906001908110610f0557fe5b6001600160a01b039290921660209283029190910182015260408051600280825260608201835290929091908301908036833750508351825192985091889150600090610f4e57fe5b6020908102919091010152816001602002015186600181518110610f6e57fe5b602090810291909101015260408051600180825281830190925290816020016020820280368337505084516020808701516040805163e6a4390560e01b81526001600160a01b0394851660048201529184166024830152519499507f00000000000000000000000000000000000000000000000000000000000000009092169363e6a439059350604480840193829003018186803b15801561100f57600080fd5b505afa158015611023573d6000803e3d6000fd5b505050506040513d602081101561103957600080fd5b50518551869060009061104857fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509350808460008151811061108c57fe5b602002602001018181525050600297505050509295509295909350565b600060608060608060006110bb611798565b6110c3611798565b6111028a8a8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610b1b92505050565b604080516001808252818301909252939650919450925060208083019080368337505083516020808601516040805163e6a4390560e01b81526001600160a01b039485166004820152918416602483015251949b507f00000000000000000000000000000000000000000000000000000000000000009092169363e6a439059350604480840193829003018186803b15801561119d57600080fd5b505afa1580156111b1573d6000803e3d6000fd5b505050506040513d60208110156111c757600080fd5b5051875188906000906111d657fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509550828660008151811061121a57fe5b602090810291909101015260408051600280825260608201909252908160200160208202803683375050835182519297509187915060009061125857fe5b6001600160a01b039290921660209283029190910182015282015185518690600190811061128257fe5b6001600160a01b0392909216602092830291909101820152604080516002808252606082018352909290919083019080368337505082518251929650918691506000906112cb57fe5b602090810291909101015280600160200201518460018151811061108c57fe5b60408051636eb1769f60e11b81523060048201526001600160a01b038481166024830152915160009286169163dd62ed3e916044808301926020929190829003018186803b15801561133c57600080fd5b505afa158015611350573d6000803e3d6000fd5b505050506040513d602081101561136657600080fd5b50519050818110156113a357801561138d5761138d6001600160a01b0385168460006113b0565b6113a36001600160a01b038516846000196113b0565b50505050565b6001420190565b801580611436575060408051636eb1769f60e11b81523060048201526001600160a01b03848116602483015291519185169163dd62ed3e91604480820192602092909190829003018186803b15801561140857600080fd5b505afa15801561141c573d6000803e3d6000fd5b505050506040513d602081101561143257600080fd5b5051155b6114715760405162461bcd60e51b81526004018080602001828103825260368152602001806118396036913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526114c39084906114c8565b505050565b606061151d826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166115799092919063ffffffff16565b8051909150156114c35780806020019051602081101561153c57600080fd5b50516114c35760405162461bcd60e51b815260040180806020018281038252602a81526020018061180f602a913960400191505060405180910390fd5b60606115888484600085611592565b90505b9392505050565b6060824710156115d35760405162461bcd60e51b81526004018080602001828103825260268152602001806117b76026913960400191505060405180910390fd5b6115dc856116ee565b61162d576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b6020831061166c5780518252601f19909201916020918201910161164d565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146116ce576040519150601f19603f3d011682016040523d82523d6000602084013e6116d3565b606091505b50915091506116e38282866116f4565b979650505050505050565b3b151590565b6060831561170357508161158b565b8251156117135782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561175d578181015183820152602001611745565b50505050905090810190601f16801561178a5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b6040518060400160405280600290602082028036833750919291505056fe416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c4f6e6c792074686520496e746567726174696f6e4d616e616765722063616e2063616c6c20746869732066756e6374696f6e5361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e63657061727365417373657473466f72416374696f6e3a205f73656c6563746f7220696e76616c6964a164736f6c634300060c000a", "sourceMap": "595:8140:175:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1490:119:180;;;:::i;:::-;;;;-1:-1:-1;;;;;;1490:119:180;;;;;;;;;;;;;;1133:645:175;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1133:645:175;;;;;;;;;;;;;;;-1:-1:-1;;;1133:645:175;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1133:645:175;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1133:645:175;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1133:645:175;;;;;;;;;;-1:-1:-1;1133:645:175;;-1:-1:-1;1133:645:175;-1:-1:-1;1133:645:175;:::i;:::-;;1373:111:180;;;:::i;832:85::-;;;:::i;1034:87::-;;;:::i;1240:110::-;;;:::i;706:104::-;;;:::i;8639:94:175:-;;;:::i;:::-;;;;-1:-1:-1;;;;;8639:94:175;;;;;;;;;;;;;;1127:91:180;;;:::i;2036:785:175:-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2036:785:175;;;;;;;;;;;;;;;-1:-1:-1;;;2036:785:175;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2036:785:175;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2036:785:175;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2036:785:175;;;;;;;;;;-1:-1:-1;2036:785:175;;-1:-1:-1;2036:785:175;-1:-1:-1;2036:785:175;:::i;577:123:180:-;;;:::i;3562:744:175:-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3562:744:175;;;;-1:-1:-1;;;;;;3562:744:175;;;;;;;;;;;;;;;;-1:-1:-1;;;3562:744:175;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3562:744:175;;;;;;;;;;-1:-1:-1;3562:744:175;;-1:-1:-1;3562:744:175;-1:-1:-1;3562:744:175;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4866:111:196;;;:::i;2637:128:179:-;;;:::i;923:89:180:-;;;:::i;1490:119::-;1558:50;1490:119;:::o;1133:645:175:-;1747:10:179;-1:-1:-1;;;;;1761:19:179;1747:33;;1726:130;;;;-1:-1:-1;;;1726:130:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1298:32:175::1;;:::i;:::-;1344:41;;:::i;:::-;1399;;:::i;:::-;1455:33;1476:11;;1455:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;1455:20:175::1;::::0;-1:-1:-1;;;1455:33:175:i:1;:::-;-1:-1:-1::0;1553:17:175;;::::1;1584::::0;;::::1;::::0;1615:26;;1655;;::::1;::::0;1695;;1735;;::::1;::::0;1284:204;;-1:-1:-1;1284:204:175;;-1:-1:-1;1284:204:175;;-1:-1:-1;1499:272:175::1;::::0;1528:11;;1553:17;;1584;;1615:26;;1695;1499:15:::1;:272::i;:::-;1866:1:179;;;1133:645:175::0;;;;;:::o;1373:111:180:-;1437:46;1373:111;:::o;832:85::-;878:38;832:85;:::o;1034:87::-;1081:39;1034:87;:::o;1240:110::-;1303:46;1240:110;:::o;706:104::-;766:43;706:104;:::o;8639:94:175:-;8719:7;8639:94;:::o;1127:91:180:-;1176:41;1127:91;:::o;2036:785:175:-;1747:10:179;-1:-1:-1;;;;;1761:19:179;1747:33;;1726:130;;;;-1:-1:-1;;;1726:130:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2214:27:175::1;2255:32;;:::i;:::-;2301:41;;:::i;:::-;2355:35;2378:11;;2355:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;2355:22:175::1;::::0;-1:-1:-1;;;2355:35:175:i:1;:::-;2200:190;;;;;;2483:28;2519:29;2537:10;;2519:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;2519:17:175::1;::::0;-1:-1:-1;;;2519:29:175:i:1;:::-;2482:66;;;;2559:255;2590:11;2615;2627:1;2615:14;;;;;;;;;;;;;;2643:19;2676:14;2691:1;2676:17;;;;;;;;;;::::0;2707:14;2722:1:::1;2707:17;;;::::0;2738:23;2762:1:::1;2738:26;;;::::0;2778:23;2802:1:::1;2778:26;;;;2559:17;:255::i;:::-;1866:1:179;;;;2036:785:175::0;;;;;:::o;577:123:180:-;647:52;577:123;:::o;3562:744:175:-;3754:64;3832:29;;;;-1:-1:-1;;;;;;4040:26:175;;-1:-1:-1;;;4040:26:175;4036:204;;;4089:33;4110:11;;4089:20;:33::i;:::-;4082:40;;;;;;;;;;;;4036:204;-1:-1:-1;;;;;;4143:28:175;;-1:-1:-1;;;4143:28:175;4139:101;;;4194:35;4217:11;;4194:22;:35::i;4139:101::-;4250:49;;-1:-1:-1;;;4250:49:175;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3562:744;;;;;;;;;;:::o;4866:111:196:-;4952:18;4866:111;:::o;2637:128:179:-;2739:19;2637:128;:::o;923:89:180:-;971:40;923:89;:::o;7633:414:175:-;7748:33;;:::i;:::-;7795:42;;:::i;:::-;7851;;:::i;:::-;7907:31;7981:11;7970:70;;;;;;;;;;;;;;;-1:-1:-1;7970:70:175;;;;;;;;;;-1:-1:-1;7970:70:175;;;;-1:-1:-1;7970:70:175;;-1:-1:-1;7633:414:175;-1:-1:-1;;7633:414:175:o;778:735:196:-;1030:71;1056:7;1065:18;1085:15;1030:25;:71::i;:::-;1111;1137:7;1146:18;1166:15;1111:25;:71::i;:::-;1246:18;-1:-1:-1;;;;;1228:50:196;;1292:7;1313;1334:15;1363;1392:11;1417;1442:10;1466:30;:28;:30::i;:::-;1228:278;;;;;;;;;;;;;-1:-1:-1;;;;;1228:278:196;;;;;;-1:-1:-1;;;;;1228:278:196;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1228:278:196;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8117:345:175;8234:28;8276:33;;:::i;:::-;8323:42;;:::i;:::-;8408:11;8397:58;;;;;;;;;;;;;;;-1:-1:-1;8397:58:175;;;;;;;-1:-1:-1;8397:58:175;;;;;-1:-1:-1;8117:345:175;-1:-1:-1;;8117:345:175:o;2093:332:179:-;2205:29;2248:35;2297:32;2372:10;2361:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;-1:-1:-1;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;-1:-1:-1;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;-1:-1:-1;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2354:64;;;;;;2093:332;;;;;:::o;1559:633:196:-;1809:75;1835:10;1847:18;1867:16;1809:25;:75::i;:::-;1950:18;-1:-1:-1;;;;;1932:53:196;;1999:7;2020;2041:16;2071:11;2096;2121:10;2145:30;:28;:30::i;:::-;1932:253;;;;;;;;;;;;;-1:-1:-1;;;;;1932:253:196;;;;;;-1:-1:-1;;;;;1932:253:196;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1932:253:196;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4427:1515:175;4544:64;4622:29;4665:35;4714:32;4760:41;4840:32;;:::i;:::-;4886:41;;:::i;:::-;4955:30;4998:33;5019:11;;4998:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4998:20:175;;-1:-1:-1;;;4998:33:175:i;:::-;4826:205;;;;;;;5071:1;5057:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5057:16:175;-1:-1:-1;5042:31:175;-1:-1:-1;5101:14:175;5116:1;5101:17;;;;5083:12;5096:1;5083:15;;;;;;;;-1:-1:-1;;;;;5083:35:175;;;;:15;;;;;;;;;;:35;5146:17;;;5128:15;;:12;;5161:1;;5128:15;;;;;;-1:-1:-1;;;;;5128:35:175;;;;:15;;;;;;;;;;:35;5195:16;;;5209:1;5195:16;;;;;;;;;;5209:1;;5195:16;;;;;;;;-1:-1:-1;;5245:26:175;;5221:21;;5174:37;;-1:-1:-1;5245:26:175;5174:37;;-1:-1:-1;5269:1:175;;5221:21;;;;;;;;;;;;;:50;5305:23;5329:1;5305:26;;;;5281:18;5300:1;5281:21;;;;;;;;;;;;;;;;;:50;5360:16;;;5374:1;5360:16;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5544:17:175;;;5575;;;;5496:106;;;-1:-1:-1;;;5496:106:175;;-1:-1:-1;;;;;5496:106:175;;;;;;;;;;;;;;;5342:34;;-1:-1:-1;5514:7:175;5496:34;;;;;;-1:-1:-1;5496:106:175;;;;;;;;;;:34;:106;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5496:106:175;5475:18;;:15;;5491:1;;5475:18;;;;-1:-1:-1;;;;;5475:127:175;;;;:18;;;;;;;;;;:127;5640:16;;;5654:1;5640:16;;;;;;;;;;;;;;5475:18;5640:16;;;;;-1:-1:-1;5640:16:175;5613:43;;5696:22;5666:24;5691:1;5666:27;;;;;;;;;;;;;:52;;;;;5750:50;5729:206;;;;;4427:1515;;;;;;;;:::o;6065:1474::-;6184:64;6262:29;6305:35;6354:32;6400:41;6480:27;6521:32;;:::i;:::-;6567:41;;:::i;:::-;6621:35;6644:11;;6621:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6621:22:175;;-1:-1:-1;;;6621:35:175:i;:::-;6682:16;;;6696:1;6682:16;;;;;;;;;6466:190;;-1:-1:-1;6466:190:175;;-1:-1:-1;6466:190:175;-1:-1:-1;6682:16:175;;;;;;;;;-1:-1:-1;;6850:17:175;;;6869;;;;6815:72;;;-1:-1:-1;;;6815:72:175;;-1:-1:-1;;;;;6815:72:175;;;;;;;;;;;;;;;6667:31;;-1:-1:-1;6833:7:175;6815:34;;;;;;-1:-1:-1;6815:72:175;;;;;;;;;;:34;:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6815:72:175;6797:15;;:12;;6810:1;;6797:15;;;;-1:-1:-1;;;;;6797:90:175;;;;:15;;;;;;;;;;:90;6919:16;;;6933:1;6919:16;;;;;;;;;;;;;;6797:15;6919:16;;;;;-1:-1:-1;6919:16:175;6898:37;;6969:19;6945:18;6964:1;6945:21;;;;;;;;;;;;;;;;;:43;7017:16;;;7031:1;7017:16;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7064:17:175;;7043:18;;6999:34;;-1:-1:-1;7064:17:175;6999:34;;-1:-1:-1;7079:1:175;;7043:18;;;;-1:-1:-1;;;;;7043:38:175;;;;:18;;;;;;;;;;:38;7112:17;;;7091:18;;:15;;7127:1;;7091:18;;;;;;-1:-1:-1;;;;;7091:38:175;;;;:18;;;;;;;;;;:38;7167:16;;;7181:1;7167:16;;;;;;;;;;7181:1;;7167:16;;;;;;;;-1:-1:-1;;7223:26:175;;7193:27;;7140:43;;-1:-1:-1;7223:26:175;7140:43;;-1:-1:-1;7247:1:175;;7193:27;;;;;;;;;;;;;:56;7289:23;7313:1;7289:26;;;;7259:24;7284:1;7259:27;;;;;;;2554:434:355;2714:47;;;-1:-1:-1;;;2714:47:355;;2746:4;2714:47;;;;-1:-1:-1;;;;;2714:47:355;;;;;;;;;2694:17;;2714:23;;;;;:47;;;;;;;;;;;;;;:23;:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2714:47:355;;-1:-1:-1;2775:25:355;;;2771:211;;;2820:13;;2816:89;;2853:37;-1:-1:-1;;;;;2853:25:355;;2879:7;2888:1;2853:25;:37::i;:::-;2918:53;-1:-1:-1;;;;;2918:25:355;;2944:7;-1:-1:-1;;2918:25:355;:53::i;:::-;2554:434;;;;:::o;4544:124:196:-;4660:1;4642:15;:19;4544:124;:::o;1348:613:450:-;1713:10;;;1712:62;;-1:-1:-1;1729:39:450;;;-1:-1:-1;;;1729:39:450;;1753:4;1729:39;;;;-1:-1:-1;;;;;1729:39:450;;;;;;;;;:15;;;;;;:39;;;;;;;;;;;;;;;:15;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1729:39:450;:44;1712:62;1704:150;;;;-1:-1:-1;;;1704:150:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1891:62;;;-1:-1:-1;;;;;1891:62:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1891:62:450;-1:-1:-1;;;1891:62:450;;;1864:90;;1884:5;;1864:19;:90::i;:::-;1348:613;;;:::o;2967:751::-;3386:23;3412:69;3440:4;3412:69;;;;;;;;;;;;;;;;;3420:5;-1:-1:-1;;;;;3412:27:450;;;:69;;;;;:::i;:::-;3495:17;;3386:95;;-1:-1:-1;3495:21:450;3491:221;;3635:10;3624:30;;;;;;;;;;;;;;;-1:-1:-1;3624:30:450;3616:85;;;;-1:-1:-1;;;3616:85:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3581:193:451;3684:12;3715:52;3737:6;3745:4;3751:1;3754:12;3715:21;:52::i;:::-;3708:59;;3581:193;;;;;;:::o;4608:523::-;4735:12;4792:5;4767:21;:30;;4759:81;;;;-1:-1:-1;;;4759:81:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4858:18;4869:6;4858:10;:18::i;:::-;4850:60;;;;;-1:-1:-1;;;4850:60:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;4981:12;4995:23;5022:6;-1:-1:-1;;;;;5022:11:451;5042:5;5050:4;5022:33;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5022:33:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4980:75;;;;5072:52;5090:7;5099:10;5111:12;5072:17;:52::i;:::-;5065:59;4608:523;-1:-1:-1;;;;;;;4608:523:451:o;726:413::-;1086:20;1124:8;;;726:413::o;7091:725::-;7206:12;7234:7;7230:580;;;-1:-1:-1;7264:10:451;7257:17;;7230:580;7375:17;;:21;7371:429;;7633:10;7627:17;7693:15;7680:10;7676:2;7672:19;7665:44;7582:145;7772:12;7765:20;;-1:-1:-1;;;7765:20:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;:::o", "linkReferences": {}, "immutableReferences": { "47883": [ { "start": 1733, "length": 32 }, { "start": 4043, "length": 32 }, { "start": 4441, "length": 32 } ], "49791": [ { "start": 1314, "length": 32 }, { "start": 1814, "length": 32 }, { "start": 2378, "length": 32 } ], "51962": [ { "start": 2342, "length": 32 }, { "start": 2529, "length": 32 }, { "start": 2572, "length": 32 }, { "start": 2611, "length": 32 }, { "start": 3355, "length": 32 }, { "start": 3394, "length": 32 } ] } }, "methodIdentifiers": { "CLAIM_REWARDS_SELECTOR()": "40da225d", "LEND_AND_STAKE_SELECTOR()": "131461c0", "LEND_SELECTOR()": "257cb1a3", "REDEEM_SELECTOR()": "f7d882b5", "STAKE_SELECTOR()": "3ffc1591", "TAKE_MULTIPLE_ORDERS_SELECTOR()": "c32990a2", "TAKE_ORDER_SELECTOR()": "863e5ad0", "UNSTAKE_AND_REDEEM_SELECTOR()": "080456c1", "UNSTAKE_SELECTOR()": "b23228cf", "getFactory()": "88cc58e4", "getIntegrationManager()": "e7c45690", "getUniswapV2Router2()": "d1ded408", "lend(address,bytes,bytes)": "099f7515", "parseAssetsForAction(address,bytes4,bytes)": "c54efee5", "redeem(address,bytes,bytes)": "c29fa9dd" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_integrationManager\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_router\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_factory\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"CLAIM_REWARDS_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LEND_AND_STAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LEND_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"REDEEM_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"STAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TAKE_MULTIPLE_ORDERS_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TAKE_ORDER_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UNSTAKE_AND_REDEEM_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UNSTAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFactory\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"factory_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getIntegrationManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"integrationManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getUniswapV2Router2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"router_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"lend\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"_selector\",\"type\":\"bytes4\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"}],\"name\":\"parseAssetsForAction\",\"outputs\":[{\"internalType\":\"enum IIntegrationManager.SpendAssetsHandleType\",\"name\":\"spendAssetsHandleType_\",\"type\":\"uint8\"},{\"internalType\":\"address[]\",\"name\":\"spendAssets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"spendAssetAmounts_\",\"type\":\"uint256[]\"},{\"internalType\":\"address[]\",\"name\":\"incomingAssets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"minIncomingAssetAmounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"_assetData\",\"type\":\"bytes\"}],\"name\":\"redeem\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"getFactory()\":{\"returns\":{\"factory_\":\"The `FACTORY` variable value\"}},\"getIntegrationManager()\":{\"returns\":{\"integrationManager_\":\"The `INTEGRATION_MANAGER` variable value\"}},\"getUniswapV2Router2()\":{\"returns\":{\"router_\":\"The `UNISWAP_V2_ROUTER2` variable value\"}},\"lend(address,bytes,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}},\"parseAssetsForAction(address,bytes4,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_selector\":\"The function selector for the callOnIntegration\"},\"returns\":{\"incomingAssets_\":\"The assets to receive in the call\",\"minIncomingAssetAmounts_\":\"The min asset amounts to receive in the call\",\"spendAssetAmounts_\":\"The max asset amounts to spend in the call\",\"spendAssetsHandleType_\":\"A type that dictates how to handle granting the adapter access to spend assets (`None` by default)\",\"spendAssets_\":\"The assets to spend in the call\"}},\"redeem(address,bytes,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_assetData\":\"Parsed spend assets and incoming assets data for this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}}},\"title\":\"UniswapV2LiquidityAdapter Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getFactory()\":{\"notice\":\"Gets the `FACTORY` variable\"},\"getIntegrationManager()\":{\"notice\":\"Gets the `INTEGRATION_MANAGER` variable\"},\"getUniswapV2Router2()\":{\"notice\":\"Gets the `UNISWAP_V2_ROUTER2` variable\"},\"lend(address,bytes,bytes)\":{\"notice\":\"Lends assets for pool tokens on Uniswap\"},\"parseAssetsForAction(address,bytes4,bytes)\":{\"notice\":\"Parses the expected assets in a particular action\"},\"redeem(address,bytes,bytes)\":{\"notice\":\"Redeems pool tokens on Uniswap\"}},\"notice\":\"Adapter for interacting with Uniswap v2 liquidity provision\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/integration-manager/integrations/adapters/UniswapV2LiquidityAdapter.sol\":\"UniswapV2LiquidityAdapter\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/integration-manager/IIntegrationManager.sol\":{\"keccak256\":\"0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23\",\"dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk\"]},\"contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol\":{\"keccak256\":\"0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336\",\"dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS\"]},\"contracts/release/extensions/integration-manager/integrations/adapters/UniswapV2LiquidityAdapter.sol\":{\"keccak256\":\"0xbca52a79ff9a1d85e1209a7db7e8102fb5a2e69ee3a433db84fcd67e590516f5\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d9beccd10d5069fbd8f18a5e2216350093001c15418aa906f3341641a1c83605\",\"dweb:/ipfs/QmdPy2rJVyw7hXupY3M9TBav14kN6tzF6sxDynRyb1vJgU\"]},\"contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol\":{\"keccak256\":\"0x067e49bf0d3c1655ab41a413c65ccf61d4e593308132e1ffc484a0fadfbbaf26\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://387f425017e18e89cc1893521101fa99df595314847d0b3d9a1162369f714fcf\",\"dweb:/ipfs/Qmco3jCvuWAyfCpBYpGzHrQjiFJG63w1RJKcakoTEbxRQm\"]},\"contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol\":{\"keccak256\":\"0xfd34c7ca8231c6935e25dede32ca2b3121738e624d0fc896f7b895a731edcf88\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d492c061963d36d07718446db191d4c5a340c0d847f6cd209f027bd99f7cb176\",\"dweb:/ipfs/QmfCvRZt56ftDdrEh6LepHXFJ4fVtcfpQGvEyY8k4zxG1A\"]},\"contracts/release/extensions/integration-manager/integrations/utils/actions/UniswapV2ActionsMixin.sol\":{\"keccak256\":\"0x87c92b0b1a0a612a7e641cf5904b628d70909185afcad8cde3617d02a966db67\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ab76dce3a9fac7392335f51c1b76da0325ec785a7a1a0acfe06e9fd4f82f324d\",\"dweb:/ipfs/Qmenw17RU7eUvFubo2q6pAmM8Re7muoV1HUFGx2FMeCxLY\"]},\"contracts/release/interfaces/IUniswapV2Factory.sol\":{\"keccak256\":\"0x644fd15db1e38d724d81d3af48f5141698947fcfc36623f1270fe4d817c4dbef\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ba1d613f3a8f94d87dbbed14b7ebb7ed578e30cfd08ef70a1c7efce502ca07f1\",\"dweb:/ipfs/QmccdQAxVnRUmxNCgVmfmGSFnoQwm3YHmLJ2h9evFvHvAw\"]},\"contracts/release/interfaces/IUniswapV2Router2.sol\":{\"keccak256\":\"0xe923e9176b7f9e9cf271098966ff4d76248caf65b777fb8c51f07146cce3d0c9\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://14cbb598760aabb151e11816467f7a0c7205cb9a653a1ab723a9934734e23d50\",\"dweb:/ipfs/QmaPRfXKidKqfdBfvxzuNVDQv1FFC8NbexQLF1md53xzz3\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_integrationManager", "type": "address" }, { "internalType": "address", "name": "_router", "type": "address" }, { "internalType": "address", "name": "_factory", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "CLAIM_REWARDS_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "LEND_AND_STAKE_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "LEND_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "REDEEM_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "STAKE_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "TAKE_MULTIPLE_ORDERS_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "TAKE_ORDER_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "UNSTAKE_AND_REDEEM_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "UNSTAKE_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getFactory", "outputs": [ { "internalType": "address", "name": "factory_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getIntegrationManager", "outputs": [ { "internalType": "address", "name": "integrationManager_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getUniswapV2Router2", "outputs": [ { "internalType": "address", "name": "router_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "bytes", "name": "_actionData", "type": "bytes" }, { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "lend" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "bytes4", "name": "_selector", "type": "bytes4" }, { "internalType": "bytes", "name": "_actionData", "type": "bytes" } ], "stateMutability": "view", "type": "function", "name": "parseAssetsForAction", "outputs": [ { "internalType": "enum IIntegrationManager.SpendAssetsHandleType", "name": "spendAssetsHandleType_", "type": "uint8" }, { "internalType": "address[]", "name": "spendAssets_", "type": "address[]" }, { "internalType": "uint256[]", "name": "spendAssetAmounts_", "type": "uint256[]" }, { "internalType": "address[]", "name": "incomingAssets_", "type": "address[]" }, { "internalType": "uint256[]", "name": "minIncomingAssetAmounts_", "type": "uint256[]" } ] }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "bytes", "name": "_actionData", "type": "bytes" }, { "internalType": "bytes", "name": "_assetData", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "redeem" } ], "devdoc": { "kind": "dev", "methods": { "getFactory()": { "returns": { "factory_": "The `FACTORY` variable value" } }, "getIntegrationManager()": { "returns": { "integrationManager_": "The `INTEGRATION_MANAGER` variable value" } }, "getUniswapV2Router2()": { "returns": { "router_": "The `UNISWAP_V2_ROUTER2` variable value" } }, "lend(address,bytes,bytes)": { "params": { "_actionData": "Data specific to this action", "_vaultProxy": "The VaultProxy of the calling fund" } }, "parseAssetsForAction(address,bytes4,bytes)": { "params": { "_actionData": "Data specific to this action", "_selector": "The function selector for the callOnIntegration" }, "returns": { "incomingAssets_": "The assets to receive in the call", "minIncomingAssetAmounts_": "The min asset amounts to receive in the call", "spendAssetAmounts_": "The max asset amounts to spend in the call", "spendAssetsHandleType_": "A type that dictates how to handle granting the adapter access to spend assets (`None` by default)", "spendAssets_": "The assets to spend in the call" } }, "redeem(address,bytes,bytes)": { "params": { "_actionData": "Data specific to this action", "_assetData": "Parsed spend assets and incoming assets data for this action", "_vaultProxy": "The VaultProxy of the calling fund" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "getFactory()": { "notice": "Gets the `FACTORY` variable" }, "getIntegrationManager()": { "notice": "Gets the `INTEGRATION_MANAGER` variable" }, "getUniswapV2Router2()": { "notice": "Gets the `UNISWAP_V2_ROUTER2` variable" }, "lend(address,bytes,bytes)": { "notice": "Lends assets for pool tokens on Uniswap" }, "parseAssetsForAction(address,bytes4,bytes)": { "notice": "Parses the expected assets in a particular action" }, "redeem(address,bytes,bytes)": { "notice": "Redeems pool tokens on Uniswap" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/integration-manager/integrations/adapters/UniswapV2LiquidityAdapter.sol": "UniswapV2LiquidityAdapter" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/extensions/integration-manager/IIntegrationManager.sol": { "keccak256": "0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef", "urls": [ "bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23", "dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol": { "keccak256": "0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1", "urls": [ "bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336", "dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/adapters/UniswapV2LiquidityAdapter.sol": { "keccak256": "0xbca52a79ff9a1d85e1209a7db7e8102fb5a2e69ee3a433db84fcd67e590516f5", "urls": [ "bzz-raw://d9beccd10d5069fbd8f18a5e2216350093001c15418aa906f3341641a1c83605", "dweb:/ipfs/QmdPy2rJVyw7hXupY3M9TBav14kN6tzF6sxDynRyb1vJgU" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol": { "keccak256": "0x067e49bf0d3c1655ab41a413c65ccf61d4e593308132e1ffc484a0fadfbbaf26", "urls": [ "bzz-raw://387f425017e18e89cc1893521101fa99df595314847d0b3d9a1162369f714fcf", "dweb:/ipfs/Qmco3jCvuWAyfCpBYpGzHrQjiFJG63w1RJKcakoTEbxRQm" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol": { "keccak256": "0xfd34c7ca8231c6935e25dede32ca2b3121738e624d0fc896f7b895a731edcf88", "urls": [ "bzz-raw://d492c061963d36d07718446db191d4c5a340c0d847f6cd209f027bd99f7cb176", "dweb:/ipfs/QmfCvRZt56ftDdrEh6LepHXFJ4fVtcfpQGvEyY8k4zxG1A" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/utils/actions/UniswapV2ActionsMixin.sol": { "keccak256": "0x87c92b0b1a0a612a7e641cf5904b628d70909185afcad8cde3617d02a966db67", "urls": [ "bzz-raw://ab76dce3a9fac7392335f51c1b76da0325ec785a7a1a0acfe06e9fd4f82f324d", "dweb:/ipfs/Qmenw17RU7eUvFubo2q6pAmM8Re7muoV1HUFGx2FMeCxLY" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IUniswapV2Factory.sol": { "keccak256": "0x644fd15db1e38d724d81d3af48f5141698947fcfc36623f1270fe4d817c4dbef", "urls": [ "bzz-raw://ba1d613f3a8f94d87dbbed14b7ebb7ed578e30cfd08ef70a1c7efce502ca07f1", "dweb:/ipfs/QmccdQAxVnRUmxNCgVmfmGSFnoQwm3YHmLJ2h9evFvHvAw" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IUniswapV2Router2.sol": { "keccak256": "0xe923e9176b7f9e9cf271098966ff4d76248caf65b777fb8c51f07146cce3d0c9", "urls": [ "bzz-raw://14cbb598760aabb151e11816467f7a0c7205cb9a653a1ab723a9934734e23d50", "dweb:/ipfs/QmaPRfXKidKqfdBfvxzuNVDQv1FFC8NbexQLF1md53xzz3" ], "license": "GPL-3.0" }, "contracts/release/utils/AssetHelpers.sol": { "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", "urls": [ "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", "urls": [ "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Address.sol": { "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", "urls": [ "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" } }, "version": 1 }, "id": 175 } diff --git a/eth_defi/abi/enzyme/UniswapV2PoolPriceFeed.json b/eth_defi/abi/enzyme/UniswapV2PoolPriceFeed.json index 0df1c072..e5410eae 100644 --- a/eth_defi/abi/enzyme/UniswapV2PoolPriceFeed.json +++ b/eth_defi/abi/enzyme/UniswapV2PoolPriceFeed.json @@ -1,799 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_fundDeployer", - "type": "address" - }, - { - "internalType": "address", - "name": "_valueInterpreter", - "type": "address" - }, - { - "internalType": "address", - "name": "_factory", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "poolToken", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "token0", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "token1", - "type": "address" - } - ], - "name": "PoolTokenAdded", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_poolTokens", - "type": "address[]" - } - ], - "name": "addPoolTokens", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_derivative", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_derivativeAmount", - "type": "uint256" - } - ], - "name": "calcUnderlyingValues", - "outputs": [ - { - "internalType": "address[]", - "name": "underlyings_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "underlyingAmounts_", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getFactory", - "outputs": [ - { - "internalType": "address", - "name": "factory_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getFundDeployer", - "outputs": [ - { - "internalType": "address", - "name": "fundDeployer_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "owner_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_poolToken", - "type": "address" - } - ], - "name": "getPoolTokenInfo", - "outputs": [ - { - "components": [ - { - "internalType": "address", - "name": "token0", - "type": "address" - }, - { - "internalType": "address", - "name": "token1", - "type": "address" - }, - { - "internalType": "uint8", - "name": "token0Decimals", - "type": "uint8" - }, - { - "internalType": "uint8", - "name": "token1Decimals", - "type": "uint8" - } - ], - "internalType": "struct UniswapV2PoolPriceFeed.PoolTokenInfo", - "name": "poolTokenInfo_", - "type": "tuple" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_poolToken", - "type": "address" - } - ], - "name": "getPoolTokenUnderlyings", - "outputs": [ - { - "internalType": "address", - "name": "token0_", - "type": "address" - }, - { - "internalType": "address", - "name": "token1_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getValueInterpreter", - "outputs": [ - { - "internalType": "address", - "name": "valueInterpreter_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_asset", - "type": "address" - } - ], - "name": "isSupportedAsset", - "outputs": [ - { - "internalType": "bool", - "name": "isSupported_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x60e06040523480156200001157600080fd5b5060405162001c0b38038062001c0b83398101604081905262000034916200006e565b6001600160601b0319606093841b811660805290831b811660a052911b1660c052620000ee565b80516200006881620000d4565b92915050565b6000806000606084860312156200008457600080fd5b60006200009286866200005b565b9350506020620000a5868287016200005b565b9250506040620000b8868287016200005b565b9150509250925092565b60006001600160a01b03821662000068565b620000df81620000c2565b8114620000eb57600080fd5b50565b60805160601c60a05160601c60c05160601c611ac9620001426000398061084452806109785280610bbb5280610c785280610d28525080610783528061086852508061088e52806109245250611ac96000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c8063875fb4b311610066578063875fb4b31461011857806388cc58e41461012d578063893d20e81461013557806397c0ac871461013d5780639be918e61461014557610093565b806301b453e51461009857806332db4ed5146100c257806367e0e076146100d7578063727212f6146100f7575b600080fd5b6100ab6100a6366004611410565b610165565b6040516100b9929190611917565b60405180910390f35b6100d56100d036600461148e565b61018f565b005b6100ea6100e5366004611410565b610605565b6040516100b99190611a1d565b61010a610105366004611454565b61066d565b6040516100b992919061195a565b610120610842565b6040516100b99190611909565b610120610866565b61012061088a565b610120610922565b610158610153366004611410565b610946565b6040516100b9919061197f565b6001600160a01b039081166000908152602081905260409020805460019091015490821692911690565b61019761088a565b6001600160a01b0316336001600160a01b0316146101d05760405162461bcd60e51b81526004016101c79061198d565b60405180910390fd5b806101ed5760405162461bcd60e51b81526004016101c7906119fd565b60005b8181101561060057600083838381811061020657fe5b905060200201602081019061021b9190611410565b6001600160a01b031614156102425760405162461bcd60e51b81526004016101c790611a0d565b6000808085858581811061025257fe5b90506020020160208101906102679190611410565b6001600160a01b03908116825260208201929092526040016000205416146102a15760405162461bcd60e51b81526004016101c7906119ed565b60008383838181106102af57fe5b90506020020160208101906102c49190611410565b90506000816001600160a01b0316630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b15801561030157600080fd5b505afa158015610315573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103399190611436565b90506000826001600160a01b031663d21220a76040518163ffffffff1660e01b815260040160206040518083038186803b15801561037657600080fd5b505afa15801561038a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103ae9190611436565b90506103ba8282610966565b6103d65760405162461bcd60e51b81526004016101c7906119bd565b6040518060800160405280836001600160a01b03168152602001826001600160a01b03168152602001836001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561043857600080fd5b505afa15801561044c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104709190611559565b60ff168152602001826001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b1580156104b157600080fd5b505afa1580156104c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104e99190611559565b60ff1690526000808888888181106104fd57fe5b90506020020160208101906105129190611410565b6001600160a01b0390811682526020808301939093526040918201600020845181546001600160a01b03199081169184169190911782559385015160019091018054938601516060909601519390941691161760ff60a01b1916600160a01b60ff948516021760ff60a81b1916600160a81b939091169290920291909117905585858581811061059e57fe5b90506020020160208101906105b39190611410565b6001600160a01b03167f2d64d749034284f79591001c60e51eeab7a396decc5296df21e417306e9d92bf83836040516105ed929190611917565b60405180910390a25050506001016101f0565b505050565b61060d61134f565b506001600160a01b038082166000908152602081815260409182902082516080810184528154851681526001909101549384169181019190915260ff600160a01b8404811692820192909252600160a81b9092041660608201525b919050565b60608061067861134f565b506001600160a01b038481166000908152602081815260409182902082516080810184528154851681526001909101549384168183015260ff600160a01b8504811682850152600160a81b9094049093166060808501919091528251600280825291810184529290918301908036833701905050925080600001518360008151811061070057fe5b60200260200101906001600160a01b031690816001600160a01b03168152505080602001518360018151811061073257fe5b60200260200101906001600160a01b031690816001600160a01b03168152505060008061077783600001518460200151856040015160ff16866060015160ff16610bb6565b915091506000806107aa7f00000000000000000000000000000000000000000000000000000000000000008a8686610dbf565b604080516002808252606082019092529294509092508160200160208202803683370190505095506107ee670de0b6b3a76400006107e88a85610def565b90610e30565b866000815181106107fb57fe5b602090810291909101015261081c670de0b6b3a76400006107e88a84610def565b8660018151811061082957fe5b60200260200101818152505050505050505b9250929050565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b1580156108e557600080fd5b505afa1580156108f9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061091d9190611436565b905090565b7f000000000000000000000000000000000000000000000000000000000000000090565b6001600160a01b0390811660009081526020819052604090205416151590565b604051631892df1d60e31b81526000907f0000000000000000000000000000000000000000000000000000000000000000906001600160a01b0382169063c496f8e8906109b7908790600401611909565b60206040518083038186803b1580156109cf57600080fd5b505afa1580156109e3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a0791906114d0565b15610a9c57604051634df48c7360e11b81526001600160a01b03821690639be918e690610a38908690600401611909565b60206040518083038186803b158015610a5057600080fd5b505afa158015610a64573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a8891906114d0565b15610a97576001915050610bb0565b610baa565b6040516364b01dc160e01b81526001600160a01b038216906364b01dc190610ac8908790600401611909565b60206040518083038186803b158015610ae057600080fd5b505afa158015610af4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b1891906114d0565b8015610b9b5750604051631892df1d60e31b81526001600160a01b0382169063c496f8e890610b4b908690600401611909565b60206040518083038186803b158015610b6357600080fd5b505afa158015610b77573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b9b91906114d0565b15610baa576001915050610bb0565b60009150505b92915050565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c496f8e8876040518263ffffffff1660e01b8152600401610c059190611909565b60206040518083038186803b158015610c1d57600080fd5b505afa158015610c31573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c5591906114d0565b15610d0a5750604051632633f08360e11b8152600a83900a906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690634c67e10690610cb190889085908b90600401611932565b602060405180830381600087803b158015610ccb57600080fd5b505af1158015610cdf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d03919061153b565b9150610db6565b604051632633f08360e11b8152600a85900a92506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690634c67e10690610d6190899086908a90600401611932565b602060405180830381600087803b158015610d7b57600080fd5b505af1158015610d8f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610db3919061153b565b90505b94509492505050565b600080600080610dd0878787610e62565b91509150610de088888484610f71565b93509350505094509492505050565b600082610dfe57506000610bb0565b82820282848281610e0b57fe5b0414610e295760405162461bcd60e51b81526004016101c7906119dd565b9392505050565b6000808211610e515760405162461bcd60e51b81526004016101c7906119cd565b818381610e5a57fe5b049392505050565b600080846001600160a01b0316630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b158015610e9e57600080fd5b505afa158015610eb2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ed691906114ee565b506001600160701b039182169350169050600080610ef68686868661119e565b915091508060001415610f0a575050610f69565b8115610f3d576000610f1d828686611269565b9050610f2985836112b1565b9450610f3584826112d6565b935050610f66565b6000610f4a828587611269565b9050610f5684836112b1565b9350610f6285826112d6565b9450505b50505b935093915050565b60008060008590506000816001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b158015610fb457600080fd5b505afa158015610fc8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fec919061153b565b905060006001600160a01b0316886001600160a01b031663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b15801561103257600080fd5b505afa158015611046573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061106a9190611436565b6001600160a01b031614611172576000826001600160a01b0316637464fc3d6040518163ffffffff1660e01b815260040160206040518083038186803b1580156110b357600080fd5b505afa1580156110c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110eb919061153b565b905080156111705760006111076111028989610def565b6112fe565b90506000611114836112fe565b90508082111561116d57600061113461112d84846112d6565b8690610def565b9050600061114d83611147866005610def565b906112b1565b9050600061115b8383610e30565b905061116787826112b1565b96505050505b50505b505b611188816107e888670de0b6b3a7640000610def565b610de0826107e888670de0b6b3a7640000610def565b600080856111b0846107e88789610def565b1091506000808315611201576111e66111026111ce896103e5610def565b6107e86103e86111e08d818d8d610def565b90610def565b91506111fa6103e56107e8886103e8610def565b905061123c565b6112256111026112138a6103e5610def565b6107e86103e86111e08c818d8d610def565b91506112396103e56107e8876103e8610def565b90505b8082101561125257600080935093505050610db6565b61125c82826112d6565b9250505094509492505050565b600080611278856103e5610def565b905060006112868285610def565b9050600061129a83611147886103e8610def565b90506112a68282610e30565b979650505050505050565b600082820183811015610e295760405162461bcd60e51b81526004016101c79061199d565b6000828211156112f85760405162461bcd60e51b81526004016101c7906119ad565b50900390565b60006003821115611341575080600160028204015b8181101561133b5780915060028182858161132a57fe5b04018161133357fe5b049050611313565b50610668565b811561066857506001919050565b60408051608081018252600080825260208201819052918101829052606081019190915290565b8035610bb081611a78565b8051610bb081611a78565b60008083601f84011261139e57600080fd5b50813567ffffffffffffffff8111156113b657600080fd5b60208301915083602082028301111561083b57600080fd5b8051610bb081611a8f565b8051610bb081611a98565b8035610bb081611aa1565b8051610bb081611aa1565b8051610bb081611aaa565b8051610bb081611ab3565b60006020828403121561142257600080fd5b600061142e8484611376565b949350505050565b60006020828403121561144857600080fd5b600061142e8484611381565b6000806040838503121561146757600080fd5b60006114738585611376565b9250506020611484858286016113e4565b9150509250929050565b600080602083850312156114a157600080fd5b823567ffffffffffffffff8111156114b857600080fd5b6114c48582860161138c565b92509250509250929050565b6000602082840312156114e257600080fd5b600061142e84846113ce565b60008060006060848603121561150357600080fd5b600061150f86866113d9565b9350506020611520868287016113d9565b9250506040611531868287016113fa565b9150509250925092565b60006020828403121561154d57600080fd5b600061142e84846113ef565b60006020828403121561156b57600080fd5b600061142e8484611405565b60006115838383611597565b505060200190565b600061158383836118f7565b6115a081611a3e565b82525050565b60006115b182611a31565b6115bb8185611a35565b93506115c683611a2b565b8060005b838110156115f45781516115de8882611577565b97506115e983611a2b565b9250506001016115ca565b509495945050505050565b600061160a82611a31565b6116148185611a35565b935061161f83611a2b565b8060005b838110156115f4578151611637888261158b565b975061164283611a2b565b925050600101611623565b6115a081611a49565b6000611663604983611a35565b7f6f6e6c7946756e644465706c6f7965724f776e65723a204f6e6c79207468652081527f46756e644465706c6f796572206f776e65722063616e2063616c6c207468697360208201526810333ab731ba34b7b760b91b604082015260600192915050565b60006116d4601b83611a35565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b600061170d601e83611a35565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000611746602583611a35565b7f616464506f6f6c546f6b656e733a20556e737570706f7274656420706f6f6c208152643a37b5b2b760d91b602082015260400192915050565b600061178d601a83611a35565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b60006117c6602183611a35565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000611809602083611a35565b7f616464506f6f6c546f6b656e733a2056616c756520616c726561647920736574815260200192915050565b6000611842602083611a35565b7f616464506f6f6c546f6b656e733a20456d707479205f706f6f6c546f6b656e73815260200192915050565b600061187b601e83611a35565b7f616464506f6f6c546f6b656e733a20456d70747920706f6f6c546f6b656e0000815260200192915050565b805160808301906118b88482611597565b5060208201516118cb6020850182611597565b5060408201516118de6040850182611900565b5060608201516118f16060850182611900565b50505050565b6115a081611a66565b6115a081611a72565b60208101610bb08284611597565b604081016119258285611597565b610e296020830184611597565b606081016119408286611597565b61194d60208301856118f7565b61142e6040830184611597565b6040808252810161196b81856115a6565b9050818103602083015261142e81846115ff565b60208101610bb0828461164d565b60208082528101610bb081611656565b60208082528101610bb0816116c7565b60208082528101610bb081611700565b60208082528101610bb081611739565b60208082528101610bb081611780565b60208082528101610bb0816117b9565b60208082528101610bb0816117fc565b60208082528101610bb081611835565b60208082528101610bb08161186e565b60808101610bb082846118a7565b60200190565b5190565b90815260200190565b6000610bb082611a5a565b151590565b6001600160701b031690565b6001600160a01b031690565b90565b63ffffffff1690565b60ff1690565b611a8181611a3e565b8114611a8c57600080fd5b50565b611a8181611a49565b611a8181611a4e565b611a8181611a66565b611a8181611a69565b611a8181611a7256fea164736f6c634300060c000a", - "sourceMap": "829:8062:247:-:0;;;1360:237;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;864:29:358;;;;;;;;1525:18:247;;;;;::::1;::::0;1553:37;;;::::1;::::0;829:8062;;5:134:-1;83:13;;101:33;83:13;101:33;:::i;:::-;68:71;;;;:::o;146:535::-;;;;295:2;283:9;274:7;270:23;266:32;263:2;;;311:1;308;301:12;263:2;346:1;363:64;419:7;399:9;363:64;:::i;:::-;353:74;;325:108;464:2;482:64;538:7;529:6;518:9;514:22;482:64;:::i;:::-;472:74;;443:109;583:2;601:64;657:7;648:6;637:9;633:22;601:64;:::i;:::-;591:74;;562:109;257:424;;;;;:::o;688:91::-;;-1:-1;;;;;848:54;;750:24;831:76::o;914:117::-;983:24;1001:5;983:24;:::i;:::-;976:5;973:35;963:2;;1022:1;1019;1012:12;963:2;957:74;:::o;:::-;829:8062:247;;;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106100935760003560e01c8063875fb4b311610066578063875fb4b31461011857806388cc58e41461012d578063893d20e81461013557806397c0ac871461013d5780639be918e61461014557610093565b806301b453e51461009857806332db4ed5146100c257806367e0e076146100d7578063727212f6146100f7575b600080fd5b6100ab6100a6366004611410565b610165565b6040516100b9929190611917565b60405180910390f35b6100d56100d036600461148e565b61018f565b005b6100ea6100e5366004611410565b610605565b6040516100b99190611a1d565b61010a610105366004611454565b61066d565b6040516100b992919061195a565b610120610842565b6040516100b99190611909565b610120610866565b61012061088a565b610120610922565b610158610153366004611410565b610946565b6040516100b9919061197f565b6001600160a01b039081166000908152602081905260409020805460019091015490821692911690565b61019761088a565b6001600160a01b0316336001600160a01b0316146101d05760405162461bcd60e51b81526004016101c79061198d565b60405180910390fd5b806101ed5760405162461bcd60e51b81526004016101c7906119fd565b60005b8181101561060057600083838381811061020657fe5b905060200201602081019061021b9190611410565b6001600160a01b031614156102425760405162461bcd60e51b81526004016101c790611a0d565b6000808085858581811061025257fe5b90506020020160208101906102679190611410565b6001600160a01b03908116825260208201929092526040016000205416146102a15760405162461bcd60e51b81526004016101c7906119ed565b60008383838181106102af57fe5b90506020020160208101906102c49190611410565b90506000816001600160a01b0316630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b15801561030157600080fd5b505afa158015610315573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103399190611436565b90506000826001600160a01b031663d21220a76040518163ffffffff1660e01b815260040160206040518083038186803b15801561037657600080fd5b505afa15801561038a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103ae9190611436565b90506103ba8282610966565b6103d65760405162461bcd60e51b81526004016101c7906119bd565b6040518060800160405280836001600160a01b03168152602001826001600160a01b03168152602001836001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561043857600080fd5b505afa15801561044c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104709190611559565b60ff168152602001826001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b1580156104b157600080fd5b505afa1580156104c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104e99190611559565b60ff1690526000808888888181106104fd57fe5b90506020020160208101906105129190611410565b6001600160a01b0390811682526020808301939093526040918201600020845181546001600160a01b03199081169184169190911782559385015160019091018054938601516060909601519390941691161760ff60a01b1916600160a01b60ff948516021760ff60a81b1916600160a81b939091169290920291909117905585858581811061059e57fe5b90506020020160208101906105b39190611410565b6001600160a01b03167f2d64d749034284f79591001c60e51eeab7a396decc5296df21e417306e9d92bf83836040516105ed929190611917565b60405180910390a25050506001016101f0565b505050565b61060d61134f565b506001600160a01b038082166000908152602081815260409182902082516080810184528154851681526001909101549384169181019190915260ff600160a01b8404811692820192909252600160a81b9092041660608201525b919050565b60608061067861134f565b506001600160a01b038481166000908152602081815260409182902082516080810184528154851681526001909101549384168183015260ff600160a01b8504811682850152600160a81b9094049093166060808501919091528251600280825291810184529290918301908036833701905050925080600001518360008151811061070057fe5b60200260200101906001600160a01b031690816001600160a01b03168152505080602001518360018151811061073257fe5b60200260200101906001600160a01b031690816001600160a01b03168152505060008061077783600001518460200151856040015160ff16866060015160ff16610bb6565b915091506000806107aa7f00000000000000000000000000000000000000000000000000000000000000008a8686610dbf565b604080516002808252606082019092529294509092508160200160208202803683370190505095506107ee670de0b6b3a76400006107e88a85610def565b90610e30565b866000815181106107fb57fe5b602090810291909101015261081c670de0b6b3a76400006107e88a84610def565b8660018151811061082957fe5b60200260200101818152505050505050505b9250929050565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b1580156108e557600080fd5b505afa1580156108f9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061091d9190611436565b905090565b7f000000000000000000000000000000000000000000000000000000000000000090565b6001600160a01b0390811660009081526020819052604090205416151590565b604051631892df1d60e31b81526000907f0000000000000000000000000000000000000000000000000000000000000000906001600160a01b0382169063c496f8e8906109b7908790600401611909565b60206040518083038186803b1580156109cf57600080fd5b505afa1580156109e3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a0791906114d0565b15610a9c57604051634df48c7360e11b81526001600160a01b03821690639be918e690610a38908690600401611909565b60206040518083038186803b158015610a5057600080fd5b505afa158015610a64573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a8891906114d0565b15610a97576001915050610bb0565b610baa565b6040516364b01dc160e01b81526001600160a01b038216906364b01dc190610ac8908790600401611909565b60206040518083038186803b158015610ae057600080fd5b505afa158015610af4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b1891906114d0565b8015610b9b5750604051631892df1d60e31b81526001600160a01b0382169063c496f8e890610b4b908690600401611909565b60206040518083038186803b158015610b6357600080fd5b505afa158015610b77573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b9b91906114d0565b15610baa576001915050610bb0565b60009150505b92915050565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c496f8e8876040518263ffffffff1660e01b8152600401610c059190611909565b60206040518083038186803b158015610c1d57600080fd5b505afa158015610c31573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c5591906114d0565b15610d0a5750604051632633f08360e11b8152600a83900a906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690634c67e10690610cb190889085908b90600401611932565b602060405180830381600087803b158015610ccb57600080fd5b505af1158015610cdf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d03919061153b565b9150610db6565b604051632633f08360e11b8152600a85900a92506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690634c67e10690610d6190899086908a90600401611932565b602060405180830381600087803b158015610d7b57600080fd5b505af1158015610d8f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610db3919061153b565b90505b94509492505050565b600080600080610dd0878787610e62565b91509150610de088888484610f71565b93509350505094509492505050565b600082610dfe57506000610bb0565b82820282848281610e0b57fe5b0414610e295760405162461bcd60e51b81526004016101c7906119dd565b9392505050565b6000808211610e515760405162461bcd60e51b81526004016101c7906119cd565b818381610e5a57fe5b049392505050565b600080846001600160a01b0316630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b158015610e9e57600080fd5b505afa158015610eb2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ed691906114ee565b506001600160701b039182169350169050600080610ef68686868661119e565b915091508060001415610f0a575050610f69565b8115610f3d576000610f1d828686611269565b9050610f2985836112b1565b9450610f3584826112d6565b935050610f66565b6000610f4a828587611269565b9050610f5684836112b1565b9350610f6285826112d6565b9450505b50505b935093915050565b60008060008590506000816001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b158015610fb457600080fd5b505afa158015610fc8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fec919061153b565b905060006001600160a01b0316886001600160a01b031663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b15801561103257600080fd5b505afa158015611046573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061106a9190611436565b6001600160a01b031614611172576000826001600160a01b0316637464fc3d6040518163ffffffff1660e01b815260040160206040518083038186803b1580156110b357600080fd5b505afa1580156110c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110eb919061153b565b905080156111705760006111076111028989610def565b6112fe565b90506000611114836112fe565b90508082111561116d57600061113461112d84846112d6565b8690610def565b9050600061114d83611147866005610def565b906112b1565b9050600061115b8383610e30565b905061116787826112b1565b96505050505b50505b505b611188816107e888670de0b6b3a7640000610def565b610de0826107e888670de0b6b3a7640000610def565b600080856111b0846107e88789610def565b1091506000808315611201576111e66111026111ce896103e5610def565b6107e86103e86111e08d818d8d610def565b90610def565b91506111fa6103e56107e8886103e8610def565b905061123c565b6112256111026112138a6103e5610def565b6107e86103e86111e08c818d8d610def565b91506112396103e56107e8876103e8610def565b90505b8082101561125257600080935093505050610db6565b61125c82826112d6565b9250505094509492505050565b600080611278856103e5610def565b905060006112868285610def565b9050600061129a83611147886103e8610def565b90506112a68282610e30565b979650505050505050565b600082820183811015610e295760405162461bcd60e51b81526004016101c79061199d565b6000828211156112f85760405162461bcd60e51b81526004016101c7906119ad565b50900390565b60006003821115611341575080600160028204015b8181101561133b5780915060028182858161132a57fe5b04018161133357fe5b049050611313565b50610668565b811561066857506001919050565b60408051608081018252600080825260208201819052918101829052606081019190915290565b8035610bb081611a78565b8051610bb081611a78565b60008083601f84011261139e57600080fd5b50813567ffffffffffffffff8111156113b657600080fd5b60208301915083602082028301111561083b57600080fd5b8051610bb081611a8f565b8051610bb081611a98565b8035610bb081611aa1565b8051610bb081611aa1565b8051610bb081611aaa565b8051610bb081611ab3565b60006020828403121561142257600080fd5b600061142e8484611376565b949350505050565b60006020828403121561144857600080fd5b600061142e8484611381565b6000806040838503121561146757600080fd5b60006114738585611376565b9250506020611484858286016113e4565b9150509250929050565b600080602083850312156114a157600080fd5b823567ffffffffffffffff8111156114b857600080fd5b6114c48582860161138c565b92509250509250929050565b6000602082840312156114e257600080fd5b600061142e84846113ce565b60008060006060848603121561150357600080fd5b600061150f86866113d9565b9350506020611520868287016113d9565b9250506040611531868287016113fa565b9150509250925092565b60006020828403121561154d57600080fd5b600061142e84846113ef565b60006020828403121561156b57600080fd5b600061142e8484611405565b60006115838383611597565b505060200190565b600061158383836118f7565b6115a081611a3e565b82525050565b60006115b182611a31565b6115bb8185611a35565b93506115c683611a2b565b8060005b838110156115f45781516115de8882611577565b97506115e983611a2b565b9250506001016115ca565b509495945050505050565b600061160a82611a31565b6116148185611a35565b935061161f83611a2b565b8060005b838110156115f4578151611637888261158b565b975061164283611a2b565b925050600101611623565b6115a081611a49565b6000611663604983611a35565b7f6f6e6c7946756e644465706c6f7965724f776e65723a204f6e6c79207468652081527f46756e644465706c6f796572206f776e65722063616e2063616c6c207468697360208201526810333ab731ba34b7b760b91b604082015260600192915050565b60006116d4601b83611a35565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b600061170d601e83611a35565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000611746602583611a35565b7f616464506f6f6c546f6b656e733a20556e737570706f7274656420706f6f6c208152643a37b5b2b760d91b602082015260400192915050565b600061178d601a83611a35565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b60006117c6602183611a35565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000611809602083611a35565b7f616464506f6f6c546f6b656e733a2056616c756520616c726561647920736574815260200192915050565b6000611842602083611a35565b7f616464506f6f6c546f6b656e733a20456d707479205f706f6f6c546f6b656e73815260200192915050565b600061187b601e83611a35565b7f616464506f6f6c546f6b656e733a20456d70747920706f6f6c546f6b656e0000815260200192915050565b805160808301906118b88482611597565b5060208201516118cb6020850182611597565b5060408201516118de6040850182611900565b5060608201516118f16060850182611900565b50505050565b6115a081611a66565b6115a081611a72565b60208101610bb08284611597565b604081016119258285611597565b610e296020830184611597565b606081016119408286611597565b61194d60208301856118f7565b61142e6040830184611597565b6040808252810161196b81856115a6565b9050818103602083015261142e81846115ff565b60208101610bb0828461164d565b60208082528101610bb081611656565b60208082528101610bb0816116c7565b60208082528101610bb081611700565b60208082528101610bb081611739565b60208082528101610bb081611780565b60208082528101610bb0816117b9565b60208082528101610bb0816117fc565b60208082528101610bb081611835565b60208082528101610bb08161186e565b60808101610bb082846118a7565b60200190565b5190565b90815260200190565b6000610bb082611a5a565b151590565b6001600160701b031690565b6001600160a01b031690565b90565b63ffffffff1690565b60ff1690565b611a8181611a3e565b8114611a8c57600080fd5b50565b611a8181611a49565b611a8181611a4e565b611a8181611a66565b611a8181611a69565b611a8181611a7256fea164736f6c634300060c000a", - "sourceMap": "829:8062:247:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8394:234;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;5398:1135;;;;;;:::i;:::-;;:::i;:::-;;7959:185;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1995:1543::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;8767:122::-;;;:::i;:::-;;;;;;;:::i;7660:94::-;;;:::i;1064:120:358:-;;;:::i;1378:108::-;;;:::i;3711:159:247:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;8394:234::-;-1:-1:-1;;;;;8550:27:247;;;8494:15;8550:27;;;;;;;;;;:34;;;8586;;;;8550;;;;8586;;;8394:234::o;5398:1135::-;679:10:358;:8;:10::i;:::-;-1:-1:-1;;;;;665:24:358;:10;-1:-1:-1;;;;;665:24:358;;644:144;;;;-1:-1:-1;;;644:144:358;;;;;;;:::i;:::-;;;;;;;;;5502:22:247;5494:67:::1;;;;-1:-1:-1::0;;;5494:67:247::1;;;;;;;:::i;:::-;5577:9;5572:955;5588:22:::0;;::::1;5572:955;;;5665:1;5639:11:::0;;5651:1;5639:14;;::::1;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;5639:28:247::1;;;5631:71;;;;-1:-1:-1::0;;;5631:71:247::1;;;;;;;:::i;:::-;5791:1;::::0;;5757:11;;5769:1;5757:14;;::::1;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;5741:31:247;;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;5741:31:247;:38;::::1;:52;5716:143;;;;-1:-1:-1::0;;;5716:143:247::1;;;;;;;:::i;:::-;5874:28;5920:11;;5932:1;5920:14;;;;;;;;;;;;;;;;;;;;:::i;:::-;5874:61;;5949:14;5966:13;-1:-1:-1::0;;;;;5966:20:247::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5949:39;;6002:14;6019:13;-1:-1:-1::0;;;;;6019:20:247::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6002:39;;6081:40;6106:6;6114;6081:24;:40::i;:::-;6056:136;;;;-1:-1:-1::0;;;6056:136:247::1;;;;;;;:::i;:::-;6241:209;;;;;;;;6281:6;-1:-1:-1::0;;;;;6241:209:247::1;;;;;6313:6;-1:-1:-1::0;;;;;6241:209:247::1;;;;;6359:6;-1:-1:-1::0;;;;;6353:22:247::1;;:24;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6241:209;;;;;;6417:6;-1:-1:-1::0;;;;;6411:22:247::1;;:24;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6241:209;;::::0;;6207:15:::1;::::0;6223:11;;6235:1;6223:14;;::::1;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;6207:31:247;;::::1;::::0;;::::1;::::0;;::::1;::::0;;;;;;;;-1:-1:-1;6207:31:247;:243;;;;-1:-1:-1;;;;;;6207:243:247;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;;::::1;::::0;-1:-1:-1;6207:243:247;;::::1;::::0;;;;::::1;::::0;::::1;::::0;;::::1;::::0;;;;::::1;::::0;::::1;;-1:-1:-1::0;;;;6207:243:247::1;-1:-1:-1::0;;;6207:243:247::1;::::0;;::::1;;;-1:-1:-1::0;;;;6207:243:247::1;-1:-1:-1::0;;;6207:243:247;;;::::1;::::0;;;::::1;::::0;;;::::1;::::0;;6485:11;;6497:1;6485:14;;::::1;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;6470:46:247::1;;6501:6;6509;6470:46;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1::0;;;5612:3:247::1;;5572:955;;;;5398:1135:::0;;:::o;7959:185::-;8052:35;;:::i;:::-;-1:-1:-1;;;;;;8110:27:247;;;:15;:27;;;;;;;;;;;;8103:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;8103:34:247;;;;;;;;;;;-1:-1:-1;;;8103:34:247;;;;;;;;7959:185;;;;:::o;1995:1543::-;2124:29;2155:35;2206:34;;:::i;:::-;-1:-1:-1;;;;;;2243:28:247;;;:15;:28;;;;;;;;;;;;2206:65;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2206:65:247;;;;;;;;-1:-1:-1;;;2206:65:247;;;;;;;;;;;;;;2297:16;;2311:1;2297:16;;;;;;;;;2311:1;;2297:16;;;2243:28;2297:16;;;;;-1:-1:-1;2297:16:247;2282:31;;2341:13;:20;;;2323:12;2336:1;2323:15;;;;;;;;;;;;;:38;-1:-1:-1;;;;;2323:38:247;;;-1:-1:-1;;;;;2323:38:247;;;;;2389:13;:20;;;2371:12;2384:1;2371:15;;;;;;;;;;;;;:38;-1:-1:-1;;;;;2371:38:247;;;-1:-1:-1;;;;;2371:38:247;;;;;2574:31;2607;2642:179;2673:13;:20;;;2707:13;:20;;;2741:13;:28;;;2642:179;;2783:13;:28;;;2642:179;;:17;:179::i;:::-;2573:248;;;;2846:30;2890;2933:177;2978:7;3003:11;3032:23;3073;2933:27;:177::i;:::-;3197:16;;;3211:1;3197:16;;;;;;;;;2832:278;;-1:-1:-1;2832:278:247;;-1:-1:-1;3197:16:247;;;;;;;;;;;;-1:-1:-1;;3176:37:247;-1:-1:-1;3247:99:247;1054:6:255;3247:45:247;:17;3269:22;3247:21;:45::i;:::-;:49;;:99::i;:::-;3223:18;3242:1;3223:21;;;;;;;;;;;;;;;;;:123;3380:99;1054:6:255;3380:45:247;:17;3402:22;3380:21;:45::i;:99::-;3356:18;3375:1;3356:21;;;;;;;;;;;;;:123;;;;;3490:41;;;;;1995:1543;;;;;;:::o;8767:122::-;8865:17;8767:122;:::o;7660:94::-;7740:7;7660:94;:::o;1064:120:358:-;1105:14;1152:13;-1:-1:-1;;;;;1138:37:358;;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1131:46;;1064:120;:::o;1378:108::-;1466:13;1378:108;:::o;3711:159:247:-;-1:-1:-1;;;;;3819:23:247;;;3783:17;3819:23;;;;;;;;;;:30;;:44;;;3711:159::o;6813:664::-;7058:59;;-1:-1:-1;;;7058:59:247;;6927:19;;7025:17;;-1:-1:-1;;;;;7058:50:247;;;;;:59;;7109:7;;7058:59;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7054:394;;;7137:50;;-1:-1:-1;;;7137:50:247;;-1:-1:-1;;;;;7137:41:247;;;;;:50;;7179:7;;7137:50;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7133:100;;;7214:4;7207:11;;;;;7133:100;7054:394;;;7266:60;;-1:-1:-1;;;7266:60:247;;-1:-1:-1;;;;;7266:51:247;;;;;:60;;7318:7;;7266:60;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:135;;;;-1:-1:-1;7342:59:247;;-1:-1:-1;;;7342:59:247;;-1:-1:-1;;;;;7342:50:247;;;;;:59;;7393:7;;7342:59;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7249:199;;;7433:4;7426:11;;;;;7249:199;7465:5;7458:12;;;6813:664;;;;;:::o;4070:1115::-;4236:25;4263;4550:17;-1:-1:-1;;;;;4532:62:247;;4595:7;4532:71;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4528:595;;;-1:-1:-1;4692:158:247;;-1:-1:-1;;;4692:158:247;;4639:2;:19;;;;-1:-1:-1;;;;;4709:17:247;4692:59;;;;:158;;4769:7;;4639:19;;4829:7;;4692:158;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4672:178;;4528:595;;;4954:158;;-1:-1:-1;;;4954:158:247;;4901:2;:19;;;;-1:-1:-1;;;;;;4971:17:247;4954:59;;;;:158;;5031:7;;4901:19;;5091:7;;4954:158;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4934:178;;4528:595;4070:1115;;;;;;;:::o;1320:509:255:-;1519:21;1542;1576:16;1594;1614:133;1656:5;1675:24;1713;1614:28;:133::i;:::-;1575:172;;;;1765:57;1786:8;1796:5;1803:8;1813;1765:20;:57::i;:::-;1758:64;;;;;;1320:509;;;;;;;:::o;3538:215:442:-;3596:7;3619:6;3615:20;;-1:-1:-1;3634:1:442;3627:8;;3615:20;3657:5;;;3661:1;3657;:5;:1;3680:5;;;;;:10;3672:56;;;;-1:-1:-1;;;3672:56:442;;;;;;;:::i;:::-;3745:1;3538:215;-1:-1:-1;;;3538:215:442:o;4217:150::-;4275:7;4306:1;4302;:5;4294:44;;;;-1:-1:-1;;;4294:44:442;;;;;;;:::i;:::-;4359:1;4355;:5;;;;;;;4217:150;-1:-1:-1;;;4217:150:442:o;4659:1397:255:-;4832:17;4851;4922:5;-1:-1:-1;;;;;4907:33:255;;:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;4880:62:255;;;;-1:-1:-1;4880:62:255;;-1:-1:-1;5212:19:255;;5253:159;5294:24;5332;4880:62;;5253:27;:159::i;:::-;5211:201;;;;5426:8;5438:1;5426:13;5422:73;;;5455:29;;;;5422:73;5590:14;5586:424;;;5620:17;5640:55;5664:8;5674:9;5685;5640:23;:55::i;:::-;5620:75;-1:-1:-1;5721:23:255;:9;5735:8;5721:13;:23::i;:::-;5709:35;-1:-1:-1;5770:24:255;:9;5784;5770:13;:24::i;:::-;5758:36;;5586:424;;;;5825:17;5845:55;5869:8;5879:9;5890;5845:23;:55::i;:::-;5825:75;-1:-1:-1;5926:23:255;:9;5940:8;5926:13;:23::i;:::-;5914:35;-1:-1:-1;5975:24:255;:9;5989;5975:13;:24::i;:::-;5963:36;;5586:424;;6020:29;;4659:1397;;;;;;;:::o;1936:1149::-;2097:21;2120;2153:27;2198:5;2153:51;;2214:19;2236:12;-1:-1:-1;;;;;2236:24:255;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2214:48;;2324:1;-1:-1:-1;;;;;2277:49:255;2295:8;-1:-1:-1;;;;;2277:33:255;;:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;2277:49:255;;2273:635;;2342:13;2358:12;-1:-1:-1;;;;;2358:18:255;;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2342:36;-1:-1:-1;2396:9:255;;2392:506;;2425:13;2441:39;2455:24;:9;2469;2455:13;:24::i;:::-;2441:13;:39::i;:::-;2425:55;;2498:17;2518:20;2532:5;2518:13;:20::i;:::-;2498:40;;2568:9;2560:5;:17;2556:328;;;2601:17;2621:37;2637:20;:5;2647:9;2637;:20::i;:::-;2621:11;;:15;:37::i;:::-;2601:57;-1:-1:-1;2680:19:255;2702:27;2719:9;2702:12;:5;2712:1;2702:9;:12::i;:::-;:16;;:27::i;:::-;2680:49;-1:-1:-1;2751:20:255;2774:26;:9;2680:49;2774:13;:26::i;:::-;2751:49;-1:-1:-1;2836:29:255;:11;2751:49;2836:15;:29::i;:::-;2822:43;;2556:328;;;;2392:506;;;2273:635;;2938:58;2984:11;2938:41;:9;1054:6;2938:13;:41::i;:58::-;3010;3056:11;3010:41;:9;1054:6;3010:13;:41::i;3174:1283::-;3377:20;;3515:24;3458:54;3502:9;3458:39;:9;3472:24;3458:13;:39::i;:54::-;:81;3428:111;;3550:16;3576:17;3607:15;3603:579;;;3649:186;3680:141;3770:33;:24;3799:3;3770:28;:33::i;:::-;3680:64;3739:4;3680:54;3709:24;3680:54;:9;3694;3680:13;:24::i;:::-;:28;;:54::i;3649:186::-;3638:197;-1:-1:-1;3861:28:255;3885:3;3861:19;:9;3875:4;3861:13;:19::i;:28::-;3849:40;;3603:579;;;3931:186;3962:141;4052:33;:24;4081:3;4052:28;:33::i;:::-;3962:64;4021:4;3962:54;3991:24;3962:54;:9;3976;3962:13;:24::i;3931:186::-;3920:197;-1:-1:-1;4143:28:255;4167:3;4143:19;:9;4157:4;4143:13;:19::i;:28::-;4131:40;;3603:579;4207:9;4196:8;:20;4192:68;;;4240:5;4247:1;4232:17;;;;;;;;4192:68;4381:23;:8;4394:9;4381:12;:23::i;:::-;4369:35;;4415;;3174:1283;;;;;;;:::o;6842:405::-;6987:18;;7043;:9;7057:3;7043:13;:18::i;:::-;7017:44;-1:-1:-1;7071:17:255;7091:32;7017:44;7111:11;7091:19;:32::i;:::-;7071:52;-1:-1:-1;7133:19:255;7155:41;7180:15;7155:20;:10;7170:4;7155:14;:20::i;:41::-;7133:63;-1:-1:-1;7214:26:255;:9;7133:63;7214:13;:26::i;:::-;7207:33;6842:405;-1:-1:-1;;;;;;;6842:405:255:o;2690:175:442:-;2748:7;2779:5;;;2802:6;;;;2794:46;;;;-1:-1:-1;;;2794:46:442;;;;;;;:::i;3136:155::-;3194:7;3226:1;3221;:6;;3213:49;;;;-1:-1:-1;;;3213:49:442;;;;;;;:::i;:::-;-1:-1:-1;3279:5:442;;;3136:155::o;6238:363:255:-;6295:10;6326:1;6321:2;:6;6317:235;;;-1:-1:-1;6348:2:255;6385:1;6381;6376:6;;:10;6400:92;6411:2;6407:1;:6;6400:92;;;6438:1;6433:6;;6476:1;6471;6467;6462:2;:6;;;;;;:10;6461:16;;;;;;6457:20;;6400:92;;;6317:235;;;;6512:7;;6508:44;;-1:-1:-1;6540:1:255;6238:363;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5:130::-;72:20;;97:33;72:20;97:33;:::i;142:134::-;220:13;;238:33;220:13;238:33;:::i;301:352::-;;;431:3;424:4;416:6;412:17;408:27;398:2;;449:1;446;439:12;398:2;-1:-1;469:20;;509:18;498:30;;495:2;;;541:1;538;531:12;495:2;575:4;567:6;563:17;551:29;;626:3;618:4;610:6;606:17;596:8;592:32;589:41;586:2;;;643:1;640;633:12;661:128;736:13;;754:30;736:13;754:30;:::i;796:134::-;874:13;;892:33;874:13;892:33;:::i;937:130::-;1004:20;;1029:33;1004:20;1029:33;:::i;1074:134::-;1152:13;;1170:33;1152:13;1170:33;:::i;1215:132::-;1292:13;;1310:32;1292:13;1310:32;:::i;1354:130::-;1430:13;;1448:31;1430:13;1448:31;:::i;1491:241::-;;1595:2;1583:9;1574:7;1570:23;1566:32;1563:2;;;1611:1;1608;1601:12;1563:2;1646:1;1663:53;1708:7;1688:9;1663:53;:::i;:::-;1653:63;1557:175;-1:-1;;;;1557:175::o;1739:263::-;;1854:2;1842:9;1833:7;1829:23;1825:32;1822:2;;;1870:1;1867;1860:12;1822:2;1905:1;1922:64;1978:7;1958:9;1922:64;:::i;2009:366::-;;;2130:2;2118:9;2109:7;2105:23;2101:32;2098:2;;;2146:1;2143;2136:12;2098:2;2181:1;2198:53;2243:7;2223:9;2198:53;:::i;:::-;2188:63;;2160:97;2288:2;2306:53;2351:7;2342:6;2331:9;2327:22;2306:53;:::i;:::-;2296:63;;2267:98;2092:283;;;;;:::o;2382:397::-;;;2521:2;2509:9;2500:7;2496:23;2492:32;2489:2;;;2537:1;2534;2527:12;2489:2;2572:31;;2623:18;2612:30;;2609:2;;;2655:1;2652;2645:12;2609:2;2683:80;2755:7;2746:6;2735:9;2731:22;2683:80;:::i;:::-;2665:98;;;;2551:218;2483:296;;;;;:::o;2786:257::-;;2898:2;2886:9;2877:7;2873:23;2869:32;2866:2;;;2914:1;2911;2904:12;2866:2;2949:1;2966:61;3019:7;2999:9;2966:61;:::i;3050:533::-;;;;3198:2;3186:9;3177:7;3173:23;3169:32;3166:2;;;3214:1;3211;3204:12;3166:2;3249:1;3266:64;3322:7;3302:9;3266:64;:::i;:::-;3256:74;;3228:108;3367:2;3385:64;3441:7;3432:6;3421:9;3417:22;3385:64;:::i;:::-;3375:74;;3346:109;3486:2;3504:63;3559:7;3550:6;3539:9;3535:22;3504:63;:::i;:::-;3494:73;;3465:108;3160:423;;;;;:::o;3590:263::-;;3705:2;3693:9;3684:7;3680:23;3676:32;3673:2;;;3721:1;3718;3711:12;3673:2;3756:1;3773:64;3829:7;3809:9;3773:64;:::i;3860:259::-;;3973:2;3961:9;3952:7;3948:23;3944:32;3941:2;;;3989:1;3986;3979:12;3941:2;4024:1;4041:62;4095:7;4075:9;4041:62;:::i;4127:173::-;;4214:46;4256:3;4248:6;4214:46;:::i;:::-;-1:-1;;4289:4;4280:14;;4207:93::o;4309:173::-;;4396:46;4438:3;4430:6;4396:46;:::i;4490:103::-;4563:24;4581:5;4563:24;:::i;:::-;4558:3;4551:37;4545:48;;:::o;4751:690::-;;4896:54;4944:5;4896:54;:::i;:::-;4963:86;5042:6;5037:3;4963:86;:::i;:::-;4956:93;;5070:56;5120:5;5070:56;:::i;:::-;5146:7;5174:1;5159:260;5184:6;5181:1;5178:13;5159:260;;;5251:6;5245:13;5272:63;5331:3;5316:13;5272:63;:::i;:::-;5265:70;;5352:60;5405:6;5352:60;:::i;:::-;5342:70;-1:-1;;5206:1;5199:9;5159:260;;;-1:-1;5432:3;;4875:566;-1:-1;;;;;4875:566::o;5480:690::-;;5625:54;5673:5;5625:54;:::i;:::-;5692:86;5771:6;5766:3;5692:86;:::i;:::-;5685:93;;5799:56;5849:5;5799:56;:::i;:::-;5875:7;5903:1;5888:260;5913:6;5910:1;5907:13;5888:260;;;5980:6;5974:13;6001:63;6060:3;6045:13;6001:63;:::i;:::-;5994:70;;6081:60;6134:6;6081:60;:::i;:::-;6071:70;-1:-1;;5935:1;5928:9;5888:260;;6178:104;6255:21;6270:5;6255:21;:::i;6290:447::-;;6450:67;6514:2;6509:3;6450:67;:::i;:::-;6550:34;6530:55;;6619:34;6614:2;6605:12;;6598:56;-1:-1;;;6683:2;6674:12;;6667:33;6728:2;6719:12;;6436:301;-1:-1;;6436:301::o;6746:327::-;;6906:67;6970:2;6965:3;6906:67;:::i;:::-;7006:29;6986:50;;7064:2;7055:12;;6892:181;-1:-1;;6892:181::o;7082:330::-;;7242:67;7306:2;7301:3;7242:67;:::i;:::-;7342:32;7322:53;;7403:2;7394:12;;7228:184;-1:-1;;7228:184::o;7421:374::-;;7581:67;7645:2;7640:3;7581:67;:::i;:::-;7681:34;7661:55;;-1:-1;;;7745:2;7736:12;;7729:29;7786:2;7777:12;;7567:228;-1:-1;;7567:228::o;7804:326::-;;7964:67;8028:2;8023:3;7964:67;:::i;:::-;8064:28;8044:49;;8121:2;8112:12;;7950:180;-1:-1;;7950:180::o;8139:370::-;;8299:67;8363:2;8358:3;8299:67;:::i;:::-;8399:34;8379:55;;-1:-1;;;8463:2;8454:12;;8447:25;8500:2;8491:12;;8285:224;-1:-1;;8285:224::o;8518:332::-;;8678:67;8742:2;8737:3;8678:67;:::i;:::-;8778:34;8758:55;;8841:2;8832:12;;8664:186;-1:-1;;8664:186::o;8859:332::-;;9019:67;9083:2;9078:3;9019:67;:::i;:::-;9119:34;9099:55;;9182:2;9173:12;;9005:186;-1:-1;;9005:186::o;9200:330::-;;9360:67;9424:2;9419:3;9360:67;:::i;:::-;9460:32;9440:53;;9521:2;9512:12;;9346:184;-1:-1;;9346:184::o;9635:814::-;9860:23;;9792:4;9783:14;;;9889:63;9787:3;9860:23;9889:63;:::i;:::-;9812:146;10033:4;10026:5;10022:16;10016:23;10045:63;10102:4;10097:3;10093:14;10079:12;10045:63;:::i;:::-;9968:146;10197:4;10190:5;10186:16;10180:23;10209:59;10262:4;10257:3;10253:14;10239:12;10209:59;:::i;:::-;10124:150;10357:4;10350:5;10346:16;10340:23;10369:59;10422:4;10417:3;10413:14;10399:12;10369:59;:::i;:::-;10284:150;9765:684;;;:::o;10456:103::-;10529:24;10547:5;10529:24;:::i;10686:97::-;10755:22;10771:5;10755:22;:::i;10790:222::-;10917:2;10902:18;;10931:71;10906:9;10975:6;10931:71;:::i;11019:333::-;11174:2;11159:18;;11188:71;11163:9;11232:6;11188:71;:::i;:::-;11270:72;11338:2;11327:9;11323:18;11314:6;11270:72;:::i;11359:444::-;11542:2;11527:18;;11556:71;11531:9;11600:6;11556:71;:::i;:::-;11638:72;11706:2;11695:9;11691:18;11682:6;11638:72;:::i;:::-;11721;11789:2;11778:9;11774:18;11765:6;11721:72;:::i;11810:629::-;12065:2;12079:47;;;12050:18;;12140:108;12050:18;12234:6;12140:108;:::i;:::-;12132:116;;12296:9;12290:4;12286:20;12281:2;12270:9;12266:18;12259:48;12321:108;12424:4;12415:6;12321:108;:::i;12446:210::-;12567:2;12552:18;;12581:65;12556:9;12619:6;12581:65;:::i;12663:416::-;12863:2;12877:47;;;12848:18;;12938:131;12848:18;12938:131;:::i;13086:416::-;13286:2;13300:47;;;13271:18;;13361:131;13271:18;13361:131;:::i;13509:416::-;13709:2;13723:47;;;13694:18;;13784:131;13694:18;13784:131;:::i;13932:416::-;14132:2;14146:47;;;14117:18;;14207:131;14117:18;14207:131;:::i;14355:416::-;14555:2;14569:47;;;14540:18;;14630:131;14540:18;14630:131;:::i;14778:416::-;14978:2;14992:47;;;14963:18;;15053:131;14963:18;15053:131;:::i;15201:416::-;15401:2;15415:47;;;15386:18;;15476:131;15386:18;15476:131;:::i;15624:416::-;15824:2;15838:47;;;15809:18;;15899:131;15809:18;15899:131;:::i;16047:416::-;16247:2;16261:47;;;16232:18;;16322:131;16232:18;16322:131;:::i;16470:351::-;16661:3;16646:19;;16676:135;16650:9;16784:6;16676:135;:::i;16828:151::-;16952:4;16943:14;;16900:79::o;17144:137::-;17247:12;;17218:63::o;17663:178::-;17781:19;;;17830:4;17821:14;;17774:67::o;18208:91::-;;18270:24;18288:5;18270:24;:::i;18306:85::-;18372:13;18365:21;;18348:43::o;18398:109::-;-1:-1;;;;;18460:42;;18443:64::o;18514:121::-;-1:-1;;;;;18576:54;;18559:76::o;18642:72::-;18704:5;18687:27::o;18721:88::-;18793:10;18782:22;;18765:44::o;18816:81::-;18887:4;18876:16;;18859:38::o;18904:117::-;18973:24;18991:5;18973:24;:::i;:::-;18966:5;18963:35;18953:2;;19012:1;19009;19002:12;18953:2;18947:74;:::o;19028:111::-;19094:21;19109:5;19094:21;:::i;19146:117::-;19215:24;19233:5;19215:24;:::i;19270:117::-;19339:24;19357:5;19339:24;:::i;19394:115::-;19462:23;19479:5;19462:23;:::i;19516:113::-;19583:22;19599:5;19583:22;:::i", - "linkReferences": {}, - "immutableReferences": { - "65374": [ - { - "start": 1923, - "length": 32 - }, - { - "start": 2152, - "length": 32 - } - ], - "65376": [ - { - "start": 2116, - "length": 32 - }, - { - "start": 2424, - "length": 32 - }, - { - "start": 3003, - "length": 32 - }, - { - "start": 3192, - "length": 32 - }, - { - "start": 3368, - "length": 32 - } - ], - "78707": [ - { - "start": 2190, - "length": 32 - }, - { - "start": 2340, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "addPoolTokens(address[])": "32db4ed5", - "calcUnderlyingValues(address,uint256)": "727212f6", - "getFactory()": "88cc58e4", - "getFundDeployer()": "97c0ac87", - "getOwner()": "893d20e8", - "getPoolTokenInfo(address)": "67e0e076", - "getPoolTokenUnderlyings(address)": "01b453e5", - "getValueInterpreter()": "875fb4b3", - "isSupportedAsset(address)": "9be918e6" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_fundDeployer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_valueInterpreter\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_factory\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"poolToken\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"token0\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"token1\",\"type\":\"address\"}],\"name\":\"PoolTokenAdded\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_poolTokens\",\"type\":\"address[]\"}],\"name\":\"addPoolTokens\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_derivative\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_derivativeAmount\",\"type\":\"uint256\"}],\"name\":\"calcUnderlyingValues\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"underlyings_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"underlyingAmounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFactory\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"factory_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFundDeployer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"fundDeployer_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_poolToken\",\"type\":\"address\"}],\"name\":\"getPoolTokenInfo\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"token0\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token1\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"token0Decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"token1Decimals\",\"type\":\"uint8\"}],\"internalType\":\"struct UniswapV2PoolPriceFeed.PoolTokenInfo\",\"name\":\"poolTokenInfo_\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_poolToken\",\"type\":\"address\"}],\"name\":\"getPoolTokenUnderlyings\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"token0_\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token1_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getValueInterpreter\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"valueInterpreter_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"}],\"name\":\"isSupportedAsset\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isSupported_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"addPoolTokens(address[])\":{\"params\":{\"_poolTokens\":\"Uniswap pool tokens to add\"}},\"calcUnderlyingValues(address,uint256)\":{\"params\":{\"_derivative\":\"The derivative to convert\",\"_derivativeAmount\":\"The amount of the derivative to convert\"},\"returns\":{\"underlyingAmounts_\":\"The amount of each underlying asset for the equivalent derivative amount\",\"underlyings_\":\"The underlying assets for the _derivative\"}},\"getFactory()\":{\"returns\":{\"factory_\":\"The `FACTORY` variable value\"}},\"getFundDeployer()\":{\"returns\":{\"fundDeployer_\":\"The `FUND_DEPLOYER` variable value\"}},\"getOwner()\":{\"details\":\"Ownership is deferred to the owner of the FundDeployer contract\",\"returns\":{\"owner_\":\"The owner\"}},\"getPoolTokenInfo(address)\":{\"params\":{\"_poolToken\":\"The pool token for which to get the `PoolTokenInfo`\"},\"returns\":{\"poolTokenInfo_\":\"The `PoolTokenInfo` value\"}},\"getPoolTokenUnderlyings(address)\":{\"params\":{\"_poolToken\":\"The pool token for which to get its underlyings\"},\"returns\":{\"token0_\":\"The UniswapV2Pair.token0 value\",\"token1_\":\"The UniswapV2Pair.token1 value\"}},\"getValueInterpreter()\":{\"returns\":{\"valueInterpreter_\":\"The `VALUE_INTERPRETER` variable value\"}},\"isSupportedAsset(address)\":{\"params\":{\"_asset\":\"The asset to check\"},\"returns\":{\"isSupported_\":\"True if the asset is supported\"}}},\"title\":\"UniswapV2PoolPriceFeed Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"addPoolTokens(address[])\":{\"notice\":\"Adds Uniswap pool tokens to the price feed\"},\"calcUnderlyingValues(address,uint256)\":{\"notice\":\"Converts a given amount of a derivative to its underlying asset values\"},\"getFactory()\":{\"notice\":\"Gets the `FACTORY` variable value\"},\"getFundDeployer()\":{\"notice\":\"Gets the `FUND_DEPLOYER` variable\"},\"getOwner()\":{\"notice\":\"Gets the owner of this contract\"},\"getPoolTokenInfo(address)\":{\"notice\":\"Gets the `PoolTokenInfo` for a given pool token\"},\"getPoolTokenUnderlyings(address)\":{\"notice\":\"Gets the underlyings for a given pool token\"},\"getValueInterpreter()\":{\"notice\":\"Gets the `VALUE_INTERPRETER` variable value\"},\"isSupportedAsset(address)\":{\"notice\":\"Checks if an asset is supported by the price feed\"}},\"notice\":\"Price feed for Uniswap lending pool tokens\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/infrastructure/price-feeds/derivatives/feeds/UniswapV2PoolPriceFeed.sol\":\"UniswapV2PoolPriceFeed\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/infrastructure/price-feeds/derivatives/AggregatedDerivativePriceFeedMixin.sol\":{\"keccak256\":\"0x85d2ac39834dae7feb04f0e37317a38b8abeb0f950692fbc9d29078c52cd8d52\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://7bf8f1ce064d85a2812a944fc93068955b233924097f7f45898be3db826579d5\",\"dweb:/ipfs/Qme7f6AhxLVn32prM8fHaCvxtVi86A9KqFMqPA1s88kVYR\"]},\"contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol\":{\"keccak256\":\"0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e\",\"dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK\"]},\"contracts/release/infrastructure/price-feeds/derivatives/feeds/UniswapV2PoolPriceFeed.sol\":{\"keccak256\":\"0x94c26a6384ddbfc04fd7ed7e882ee1e07f8c8bec53786353f0358cbb3f75bed5\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2b14e2993c6683b7c89116a7abc36467669b8f42aef388246588c6ede97606c1\",\"dweb:/ipfs/QmPcfUvxpX6i6BSh9rvBQwG5HqoAHg4z2d6JpcKS1hDbty\"]},\"contracts/release/infrastructure/price-feeds/primitives/ChainlinkPriceFeedMixin.sol\":{\"keccak256\":\"0x7fb0078e7387f07ff09958fe4e4e7b317e72c23884f61e8c133776cad522f8bb\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://e973f29ed0c3bf03e20154ab4b0cfc68c3a4372a52ec746f9d9f86697b30e977\",\"dweb:/ipfs/QmfMb7H1zNnj2hzmUr6742HmCTiNVuQ2PFjeR8q2M4Liyu\"]},\"contracts/release/infrastructure/price-feeds/utils/UniswapV2PoolTokenValueCalculator.sol\":{\"keccak256\":\"0xca17999de98cb569b33fcfb3d170c43af74f455127107967cc59948b1797c2bc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://0afdcd1cf707230078100c84d44d691492077444dea03993bfc026c9f225643d\",\"dweb:/ipfs/QmarjEgvw4BFsczQLkEHH5FwL9L3iubxommJgyy23e5rLp\"]},\"contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol\":{\"keccak256\":\"0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965\",\"dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ\"]},\"contracts/release/infrastructure/value-interpreter/ValueInterpreter.sol\":{\"keccak256\":\"0x64565011785d0d29a75021cda34687cfbc0641094d6f2faf4d9c78c8cd9f0d1d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://03ea9b29a332436d18ca1a4df7e5cdf231d5142dfb916a39cb3a721342d54e0e\",\"dweb:/ipfs/QmcB8Z7A7QELAxg2FfJpD26k2bUhMNUT4wACMVKxuge3QS\"]},\"contracts/release/interfaces/IChainlinkAggregator.sol\":{\"keccak256\":\"0x8104db68d4edc00c86b29b366f4397cdbe7bd95bb9dc90f54140af4bae963788\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://4664240be22fe76bd4e84d1cbaace3998dbc96759a14345819a889f0c288d22e\",\"dweb:/ipfs/QmQ8fbA4tvXeCeaAFeS2JrLEQUPFeYrePAKoUywRtcicgA\"]},\"contracts/release/interfaces/IUniswapV2Factory.sol\":{\"keccak256\":\"0x644fd15db1e38d724d81d3af48f5141698947fcfc36623f1270fe4d817c4dbef\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ba1d613f3a8f94d87dbbed14b7ebb7ed578e30cfd08ef70a1c7efce502ca07f1\",\"dweb:/ipfs/QmccdQAxVnRUmxNCgVmfmGSFnoQwm3YHmLJ2h9evFvHvAw\"]},\"contracts/release/interfaces/IUniswapV2Pair.sol\":{\"keccak256\":\"0xb9c7a1802e5c9e522c7dee20b0511bb55ccc600aef480083f4a6980c9d02c06c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://4bbdf05da4932aad2cff00b4c087896cb6213e71dd366108e7d91d60dbdcaf2f\",\"dweb:/ipfs/Qmd6waypnxTT499zcsH6tFPYyAPLnibSi17m3x84pTPrDh\"]},\"contracts/release/utils/FundDeployerOwnerMixin.sol\":{\"keccak256\":\"0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927\",\"dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM\"]},\"contracts/release/utils/MathHelpers.sol\":{\"keccak256\":\"0x8aef498ae98bfb40cd1df8c9ed652b4c092fbbe62d5a1fad522c53654523248e\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ed62789f6a8d5ca30a40c591f244b915e4711493a9e4b1b4d40ea2bc97b02a95\",\"dweb:/ipfs/QmWyXJ55arURtx9VMkUQokdsjk8tbgM2cC8rENFUMyz5D3\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_fundDeployer", - "type": "address" - }, - { - "internalType": "address", - "name": "_valueInterpreter", - "type": "address" - }, - { - "internalType": "address", - "name": "_factory", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "poolToken", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "token0", - "type": "address", - "indexed": false - }, - { - "internalType": "address", - "name": "token1", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "PoolTokenAdded", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_poolTokens", - "type": "address[]" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "addPoolTokens" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_derivative", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_derivativeAmount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "calcUnderlyingValues", - "outputs": [ - { - "internalType": "address[]", - "name": "underlyings_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "underlyingAmounts_", - "type": "uint256[]" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getFactory", - "outputs": [ - { - "internalType": "address", - "name": "factory_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getFundDeployer", - "outputs": [ - { - "internalType": "address", - "name": "fundDeployer_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "owner_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_poolToken", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getPoolTokenInfo", - "outputs": [ - { - "internalType": "struct UniswapV2PoolPriceFeed.PoolTokenInfo", - "name": "poolTokenInfo_", - "type": "tuple", - "components": [ - { - "internalType": "address", - "name": "token0", - "type": "address" - }, - { - "internalType": "address", - "name": "token1", - "type": "address" - }, - { - "internalType": "uint8", - "name": "token0Decimals", - "type": "uint8" - }, - { - "internalType": "uint8", - "name": "token1Decimals", - "type": "uint8" - } - ] - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_poolToken", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getPoolTokenUnderlyings", - "outputs": [ - { - "internalType": "address", - "name": "token0_", - "type": "address" - }, - { - "internalType": "address", - "name": "token1_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getValueInterpreter", - "outputs": [ - { - "internalType": "address", - "name": "valueInterpreter_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_asset", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "isSupportedAsset", - "outputs": [ - { - "internalType": "bool", - "name": "isSupported_", - "type": "bool" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "addPoolTokens(address[])": { - "params": { - "_poolTokens": "Uniswap pool tokens to add" - } - }, - "calcUnderlyingValues(address,uint256)": { - "params": { - "_derivative": "The derivative to convert", - "_derivativeAmount": "The amount of the derivative to convert" - }, - "returns": { - "underlyingAmounts_": "The amount of each underlying asset for the equivalent derivative amount", - "underlyings_": "The underlying assets for the _derivative" - } - }, - "getFactory()": { - "returns": { - "factory_": "The `FACTORY` variable value" - } - }, - "getFundDeployer()": { - "returns": { - "fundDeployer_": "The `FUND_DEPLOYER` variable value" - } - }, - "getOwner()": { - "details": "Ownership is deferred to the owner of the FundDeployer contract", - "returns": { - "owner_": "The owner" - } - }, - "getPoolTokenInfo(address)": { - "params": { - "_poolToken": "The pool token for which to get the `PoolTokenInfo`" - }, - "returns": { - "poolTokenInfo_": "The `PoolTokenInfo` value" - } - }, - "getPoolTokenUnderlyings(address)": { - "params": { - "_poolToken": "The pool token for which to get its underlyings" - }, - "returns": { - "token0_": "The UniswapV2Pair.token0 value", - "token1_": "The UniswapV2Pair.token1 value" - } - }, - "getValueInterpreter()": { - "returns": { - "valueInterpreter_": "The `VALUE_INTERPRETER` variable value" - } - }, - "isSupportedAsset(address)": { - "params": { - "_asset": "The asset to check" - }, - "returns": { - "isSupported_": "True if the asset is supported" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "addPoolTokens(address[])": { - "notice": "Adds Uniswap pool tokens to the price feed" - }, - "calcUnderlyingValues(address,uint256)": { - "notice": "Converts a given amount of a derivative to its underlying asset values" - }, - "getFactory()": { - "notice": "Gets the `FACTORY` variable value" - }, - "getFundDeployer()": { - "notice": "Gets the `FUND_DEPLOYER` variable" - }, - "getOwner()": { - "notice": "Gets the owner of this contract" - }, - "getPoolTokenInfo(address)": { - "notice": "Gets the `PoolTokenInfo` for a given pool token" - }, - "getPoolTokenUnderlyings(address)": { - "notice": "Gets the underlyings for a given pool token" - }, - "getValueInterpreter()": { - "notice": "Gets the `VALUE_INTERPRETER` variable value" - }, - "isSupportedAsset(address)": { - "notice": "Checks if an asset is supported by the price feed" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/infrastructure/price-feeds/derivatives/feeds/UniswapV2PoolPriceFeed.sol": "UniswapV2PoolPriceFeed" - }, - "libraries": {} - }, - "sources": { - "contracts/release/core/fund-deployer/IFundDeployer.sol": { - "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", - "urls": [ - "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", - "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/price-feeds/derivatives/AggregatedDerivativePriceFeedMixin.sol": { - "keccak256": "0x85d2ac39834dae7feb04f0e37317a38b8abeb0f950692fbc9d29078c52cd8d52", - "urls": [ - "bzz-raw://7bf8f1ce064d85a2812a944fc93068955b233924097f7f45898be3db826579d5", - "dweb:/ipfs/Qme7f6AhxLVn32prM8fHaCvxtVi86A9KqFMqPA1s88kVYR" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol": { - "keccak256": "0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332", - "urls": [ - "bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e", - "dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/price-feeds/derivatives/feeds/UniswapV2PoolPriceFeed.sol": { - "keccak256": "0x94c26a6384ddbfc04fd7ed7e882ee1e07f8c8bec53786353f0358cbb3f75bed5", - "urls": [ - "bzz-raw://2b14e2993c6683b7c89116a7abc36467669b8f42aef388246588c6ede97606c1", - "dweb:/ipfs/QmPcfUvxpX6i6BSh9rvBQwG5HqoAHg4z2d6JpcKS1hDbty" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/price-feeds/primitives/ChainlinkPriceFeedMixin.sol": { - "keccak256": "0x7fb0078e7387f07ff09958fe4e4e7b317e72c23884f61e8c133776cad522f8bb", - "urls": [ - "bzz-raw://e973f29ed0c3bf03e20154ab4b0cfc68c3a4372a52ec746f9d9f86697b30e977", - "dweb:/ipfs/QmfMb7H1zNnj2hzmUr6742HmCTiNVuQ2PFjeR8q2M4Liyu" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/price-feeds/utils/UniswapV2PoolTokenValueCalculator.sol": { - "keccak256": "0xca17999de98cb569b33fcfb3d170c43af74f455127107967cc59948b1797c2bc", - "urls": [ - "bzz-raw://0afdcd1cf707230078100c84d44d691492077444dea03993bfc026c9f225643d", - "dweb:/ipfs/QmarjEgvw4BFsczQLkEHH5FwL9L3iubxommJgyy23e5rLp" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol": { - "keccak256": "0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794", - "urls": [ - "bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965", - "dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/value-interpreter/ValueInterpreter.sol": { - "keccak256": "0x64565011785d0d29a75021cda34687cfbc0641094d6f2faf4d9c78c8cd9f0d1d", - "urls": [ - "bzz-raw://03ea9b29a332436d18ca1a4df7e5cdf231d5142dfb916a39cb3a721342d54e0e", - "dweb:/ipfs/QmcB8Z7A7QELAxg2FfJpD26k2bUhMNUT4wACMVKxuge3QS" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IChainlinkAggregator.sol": { - "keccak256": "0x8104db68d4edc00c86b29b366f4397cdbe7bd95bb9dc90f54140af4bae963788", - "urls": [ - "bzz-raw://4664240be22fe76bd4e84d1cbaace3998dbc96759a14345819a889f0c288d22e", - "dweb:/ipfs/QmQ8fbA4tvXeCeaAFeS2JrLEQUPFeYrePAKoUywRtcicgA" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IUniswapV2Factory.sol": { - "keccak256": "0x644fd15db1e38d724d81d3af48f5141698947fcfc36623f1270fe4d817c4dbef", - "urls": [ - "bzz-raw://ba1d613f3a8f94d87dbbed14b7ebb7ed578e30cfd08ef70a1c7efce502ca07f1", - "dweb:/ipfs/QmccdQAxVnRUmxNCgVmfmGSFnoQwm3YHmLJ2h9evFvHvAw" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IUniswapV2Pair.sol": { - "keccak256": "0xb9c7a1802e5c9e522c7dee20b0511bb55ccc600aef480083f4a6980c9d02c06c", - "urls": [ - "bzz-raw://4bbdf05da4932aad2cff00b4c087896cb6213e71dd366108e7d91d60dbdcaf2f", - "dweb:/ipfs/Qmd6waypnxTT499zcsH6tFPYyAPLnibSi17m3x84pTPrDh" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/FundDeployerOwnerMixin.sol": { - "keccak256": "0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934", - "urls": [ - "bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927", - "dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/MathHelpers.sol": { - "keccak256": "0x8aef498ae98bfb40cd1df8c9ed652b4c092fbbe62d5a1fad522c53654523248e", - "urls": [ - "bzz-raw://ed62789f6a8d5ca30a40c591f244b915e4711493a9e4b1b4d40ea2bc97b02a95", - "dweb:/ipfs/QmWyXJ55arURtx9VMkUQokdsjk8tbgM2cC8rENFUMyz5D3" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 247 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_fundDeployer", "type": "address", "internalType": "address" }, { "name": "_valueInterpreter", "type": "address", "internalType": "address" }, { "name": "_factory", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "addPoolTokens", "inputs": [ { "name": "_poolTokens", "type": "address[]", "internalType": "address[]" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "calcUnderlyingValues", "inputs": [ { "name": "_derivative", "type": "address", "internalType": "address" }, { "name": "_derivativeAmount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "underlyings_", "type": "address[]", "internalType": "address[]" }, { "name": "underlyingAmounts_", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "getFactory", "inputs": [], "outputs": [ { "name": "factory_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getFundDeployer", "inputs": [], "outputs": [ { "name": "fundDeployer_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getOwner", "inputs": [], "outputs": [ { "name": "owner_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getPoolTokenInfo", "inputs": [ { "name": "_poolToken", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "poolTokenInfo_", "type": "tuple", "internalType": "struct UniswapV2PoolPriceFeed.PoolTokenInfo", "components": [ { "name": "token0", "type": "address", "internalType": "address" }, { "name": "token1", "type": "address", "internalType": "address" }, { "name": "token0Decimals", "type": "uint8", "internalType": "uint8" }, { "name": "token1Decimals", "type": "uint8", "internalType": "uint8" } ] } ], "stateMutability": "view" }, { "type": "function", "name": "getPoolTokenUnderlyings", "inputs": [ { "name": "_poolToken", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "token0_", "type": "address", "internalType": "address" }, { "name": "token1_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getValueInterpreter", "inputs": [], "outputs": [ { "name": "valueInterpreter_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "isSupportedAsset", "inputs": [ { "name": "_asset", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "isSupported_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "event", "name": "PoolTokenAdded", "inputs": [ { "name": "poolToken", "type": "address", "indexed": true, "internalType": "address" }, { "name": "token0", "type": "address", "indexed": false, "internalType": "address" }, { "name": "token1", "type": "address", "indexed": false, "internalType": "address" } ], "anonymous": false } ], "bytecode": { "object": "0x60e06040523480156200001157600080fd5b5060405162001c0b38038062001c0b83398101604081905262000034916200006e565b6001600160601b0319606093841b811660805290831b811660a052911b1660c052620000ee565b80516200006881620000d4565b92915050565b6000806000606084860312156200008457600080fd5b60006200009286866200005b565b9350506020620000a5868287016200005b565b9250506040620000b8868287016200005b565b9150509250925092565b60006001600160a01b03821662000068565b620000df81620000c2565b8114620000eb57600080fd5b50565b60805160601c60a05160601c60c05160601c611ac9620001426000398061084452806109785280610bbb5280610c785280610d28525080610783528061086852508061088e52806109245250611ac96000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c8063875fb4b311610066578063875fb4b31461011857806388cc58e41461012d578063893d20e81461013557806397c0ac871461013d5780639be918e61461014557610093565b806301b453e51461009857806332db4ed5146100c257806367e0e076146100d7578063727212f6146100f7575b600080fd5b6100ab6100a6366004611410565b610165565b6040516100b9929190611917565b60405180910390f35b6100d56100d036600461148e565b61018f565b005b6100ea6100e5366004611410565b610605565b6040516100b99190611a1d565b61010a610105366004611454565b61066d565b6040516100b992919061195a565b610120610842565b6040516100b99190611909565b610120610866565b61012061088a565b610120610922565b610158610153366004611410565b610946565b6040516100b9919061197f565b6001600160a01b039081166000908152602081905260409020805460019091015490821692911690565b61019761088a565b6001600160a01b0316336001600160a01b0316146101d05760405162461bcd60e51b81526004016101c79061198d565b60405180910390fd5b806101ed5760405162461bcd60e51b81526004016101c7906119fd565b60005b8181101561060057600083838381811061020657fe5b905060200201602081019061021b9190611410565b6001600160a01b031614156102425760405162461bcd60e51b81526004016101c790611a0d565b6000808085858581811061025257fe5b90506020020160208101906102679190611410565b6001600160a01b03908116825260208201929092526040016000205416146102a15760405162461bcd60e51b81526004016101c7906119ed565b60008383838181106102af57fe5b90506020020160208101906102c49190611410565b90506000816001600160a01b0316630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b15801561030157600080fd5b505afa158015610315573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103399190611436565b90506000826001600160a01b031663d21220a76040518163ffffffff1660e01b815260040160206040518083038186803b15801561037657600080fd5b505afa15801561038a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103ae9190611436565b90506103ba8282610966565b6103d65760405162461bcd60e51b81526004016101c7906119bd565b6040518060800160405280836001600160a01b03168152602001826001600160a01b03168152602001836001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561043857600080fd5b505afa15801561044c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104709190611559565b60ff168152602001826001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b1580156104b157600080fd5b505afa1580156104c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104e99190611559565b60ff1690526000808888888181106104fd57fe5b90506020020160208101906105129190611410565b6001600160a01b0390811682526020808301939093526040918201600020845181546001600160a01b03199081169184169190911782559385015160019091018054938601516060909601519390941691161760ff60a01b1916600160a01b60ff948516021760ff60a81b1916600160a81b939091169290920291909117905585858581811061059e57fe5b90506020020160208101906105b39190611410565b6001600160a01b03167f2d64d749034284f79591001c60e51eeab7a396decc5296df21e417306e9d92bf83836040516105ed929190611917565b60405180910390a25050506001016101f0565b505050565b61060d61134f565b506001600160a01b038082166000908152602081815260409182902082516080810184528154851681526001909101549384169181019190915260ff600160a01b8404811692820192909252600160a81b9092041660608201525b919050565b60608061067861134f565b506001600160a01b038481166000908152602081815260409182902082516080810184528154851681526001909101549384168183015260ff600160a01b8504811682850152600160a81b9094049093166060808501919091528251600280825291810184529290918301908036833701905050925080600001518360008151811061070057fe5b60200260200101906001600160a01b031690816001600160a01b03168152505080602001518360018151811061073257fe5b60200260200101906001600160a01b031690816001600160a01b03168152505060008061077783600001518460200151856040015160ff16866060015160ff16610bb6565b915091506000806107aa7f00000000000000000000000000000000000000000000000000000000000000008a8686610dbf565b604080516002808252606082019092529294509092508160200160208202803683370190505095506107ee670de0b6b3a76400006107e88a85610def565b90610e30565b866000815181106107fb57fe5b602090810291909101015261081c670de0b6b3a76400006107e88a84610def565b8660018151811061082957fe5b60200260200101818152505050505050505b9250929050565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b1580156108e557600080fd5b505afa1580156108f9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061091d9190611436565b905090565b7f000000000000000000000000000000000000000000000000000000000000000090565b6001600160a01b0390811660009081526020819052604090205416151590565b604051631892df1d60e31b81526000907f0000000000000000000000000000000000000000000000000000000000000000906001600160a01b0382169063c496f8e8906109b7908790600401611909565b60206040518083038186803b1580156109cf57600080fd5b505afa1580156109e3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a0791906114d0565b15610a9c57604051634df48c7360e11b81526001600160a01b03821690639be918e690610a38908690600401611909565b60206040518083038186803b158015610a5057600080fd5b505afa158015610a64573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a8891906114d0565b15610a97576001915050610bb0565b610baa565b6040516364b01dc160e01b81526001600160a01b038216906364b01dc190610ac8908790600401611909565b60206040518083038186803b158015610ae057600080fd5b505afa158015610af4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b1891906114d0565b8015610b9b5750604051631892df1d60e31b81526001600160a01b0382169063c496f8e890610b4b908690600401611909565b60206040518083038186803b158015610b6357600080fd5b505afa158015610b77573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b9b91906114d0565b15610baa576001915050610bb0565b60009150505b92915050565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c496f8e8876040518263ffffffff1660e01b8152600401610c059190611909565b60206040518083038186803b158015610c1d57600080fd5b505afa158015610c31573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c5591906114d0565b15610d0a5750604051632633f08360e11b8152600a83900a906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690634c67e10690610cb190889085908b90600401611932565b602060405180830381600087803b158015610ccb57600080fd5b505af1158015610cdf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d03919061153b565b9150610db6565b604051632633f08360e11b8152600a85900a92506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690634c67e10690610d6190899086908a90600401611932565b602060405180830381600087803b158015610d7b57600080fd5b505af1158015610d8f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610db3919061153b565b90505b94509492505050565b600080600080610dd0878787610e62565b91509150610de088888484610f71565b93509350505094509492505050565b600082610dfe57506000610bb0565b82820282848281610e0b57fe5b0414610e295760405162461bcd60e51b81526004016101c7906119dd565b9392505050565b6000808211610e515760405162461bcd60e51b81526004016101c7906119cd565b818381610e5a57fe5b049392505050565b600080846001600160a01b0316630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b158015610e9e57600080fd5b505afa158015610eb2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ed691906114ee565b506001600160701b039182169350169050600080610ef68686868661119e565b915091508060001415610f0a575050610f69565b8115610f3d576000610f1d828686611269565b9050610f2985836112b1565b9450610f3584826112d6565b935050610f66565b6000610f4a828587611269565b9050610f5684836112b1565b9350610f6285826112d6565b9450505b50505b935093915050565b60008060008590506000816001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b158015610fb457600080fd5b505afa158015610fc8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fec919061153b565b905060006001600160a01b0316886001600160a01b031663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b15801561103257600080fd5b505afa158015611046573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061106a9190611436565b6001600160a01b031614611172576000826001600160a01b0316637464fc3d6040518163ffffffff1660e01b815260040160206040518083038186803b1580156110b357600080fd5b505afa1580156110c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110eb919061153b565b905080156111705760006111076111028989610def565b6112fe565b90506000611114836112fe565b90508082111561116d57600061113461112d84846112d6565b8690610def565b9050600061114d83611147866005610def565b906112b1565b9050600061115b8383610e30565b905061116787826112b1565b96505050505b50505b505b611188816107e888670de0b6b3a7640000610def565b610de0826107e888670de0b6b3a7640000610def565b600080856111b0846107e88789610def565b1091506000808315611201576111e66111026111ce896103e5610def565b6107e86103e86111e08d818d8d610def565b90610def565b91506111fa6103e56107e8886103e8610def565b905061123c565b6112256111026112138a6103e5610def565b6107e86103e86111e08c818d8d610def565b91506112396103e56107e8876103e8610def565b90505b8082101561125257600080935093505050610db6565b61125c82826112d6565b9250505094509492505050565b600080611278856103e5610def565b905060006112868285610def565b9050600061129a83611147886103e8610def565b90506112a68282610e30565b979650505050505050565b600082820183811015610e295760405162461bcd60e51b81526004016101c79061199d565b6000828211156112f85760405162461bcd60e51b81526004016101c7906119ad565b50900390565b60006003821115611341575080600160028204015b8181101561133b5780915060028182858161132a57fe5b04018161133357fe5b049050611313565b50610668565b811561066857506001919050565b60408051608081018252600080825260208201819052918101829052606081019190915290565b8035610bb081611a78565b8051610bb081611a78565b60008083601f84011261139e57600080fd5b50813567ffffffffffffffff8111156113b657600080fd5b60208301915083602082028301111561083b57600080fd5b8051610bb081611a8f565b8051610bb081611a98565b8035610bb081611aa1565b8051610bb081611aa1565b8051610bb081611aaa565b8051610bb081611ab3565b60006020828403121561142257600080fd5b600061142e8484611376565b949350505050565b60006020828403121561144857600080fd5b600061142e8484611381565b6000806040838503121561146757600080fd5b60006114738585611376565b9250506020611484858286016113e4565b9150509250929050565b600080602083850312156114a157600080fd5b823567ffffffffffffffff8111156114b857600080fd5b6114c48582860161138c565b92509250509250929050565b6000602082840312156114e257600080fd5b600061142e84846113ce565b60008060006060848603121561150357600080fd5b600061150f86866113d9565b9350506020611520868287016113d9565b9250506040611531868287016113fa565b9150509250925092565b60006020828403121561154d57600080fd5b600061142e84846113ef565b60006020828403121561156b57600080fd5b600061142e8484611405565b60006115838383611597565b505060200190565b600061158383836118f7565b6115a081611a3e565b82525050565b60006115b182611a31565b6115bb8185611a35565b93506115c683611a2b565b8060005b838110156115f45781516115de8882611577565b97506115e983611a2b565b9250506001016115ca565b509495945050505050565b600061160a82611a31565b6116148185611a35565b935061161f83611a2b565b8060005b838110156115f4578151611637888261158b565b975061164283611a2b565b925050600101611623565b6115a081611a49565b6000611663604983611a35565b7f6f6e6c7946756e644465706c6f7965724f776e65723a204f6e6c79207468652081527f46756e644465706c6f796572206f776e65722063616e2063616c6c207468697360208201526810333ab731ba34b7b760b91b604082015260600192915050565b60006116d4601b83611a35565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b600061170d601e83611a35565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000611746602583611a35565b7f616464506f6f6c546f6b656e733a20556e737570706f7274656420706f6f6c208152643a37b5b2b760d91b602082015260400192915050565b600061178d601a83611a35565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b60006117c6602183611a35565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000611809602083611a35565b7f616464506f6f6c546f6b656e733a2056616c756520616c726561647920736574815260200192915050565b6000611842602083611a35565b7f616464506f6f6c546f6b656e733a20456d707479205f706f6f6c546f6b656e73815260200192915050565b600061187b601e83611a35565b7f616464506f6f6c546f6b656e733a20456d70747920706f6f6c546f6b656e0000815260200192915050565b805160808301906118b88482611597565b5060208201516118cb6020850182611597565b5060408201516118de6040850182611900565b5060608201516118f16060850182611900565b50505050565b6115a081611a66565b6115a081611a72565b60208101610bb08284611597565b604081016119258285611597565b610e296020830184611597565b606081016119408286611597565b61194d60208301856118f7565b61142e6040830184611597565b6040808252810161196b81856115a6565b9050818103602083015261142e81846115ff565b60208101610bb0828461164d565b60208082528101610bb081611656565b60208082528101610bb0816116c7565b60208082528101610bb081611700565b60208082528101610bb081611739565b60208082528101610bb081611780565b60208082528101610bb0816117b9565b60208082528101610bb0816117fc565b60208082528101610bb081611835565b60208082528101610bb08161186e565b60808101610bb082846118a7565b60200190565b5190565b90815260200190565b6000610bb082611a5a565b151590565b6001600160701b031690565b6001600160a01b031690565b90565b63ffffffff1690565b60ff1690565b611a8181611a3e565b8114611a8c57600080fd5b50565b611a8181611a49565b611a8181611a4e565b611a8181611a66565b611a8181611a69565b611a8181611a7256fea164736f6c634300060c000a", "sourceMap": "829:8062:247:-:0;;;1360:237;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;864:29:358;;;;;;;;1525:18:247;;;;;::::1;::::0;1553:37;;;::::1;::::0;829:8062;;5:134:-1;83:13;;101:33;83:13;101:33;:::i;:::-;68:71;;;;:::o;146:535::-;;;;295:2;283:9;274:7;270:23;266:32;263:2;;;311:1;308;301:12;263:2;346:1;363:64;419:7;399:9;363:64;:::i;:::-;353:74;;325:108;464:2;482:64;538:7;529:6;518:9;514:22;482:64;:::i;:::-;472:74;;443:109;583:2;601:64;657:7;648:6;637:9;633:22;601:64;:::i;:::-;591:74;;562:109;257:424;;;;;:::o;688:91::-;;-1:-1;;;;;848:54;;750:24;831:76::o;914:117::-;983:24;1001:5;983:24;:::i;:::-;976:5;973:35;963:2;;1022:1;1019;1012:12;963:2;957:74;:::o;:::-;829:8062:247;;;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106100935760003560e01c8063875fb4b311610066578063875fb4b31461011857806388cc58e41461012d578063893d20e81461013557806397c0ac871461013d5780639be918e61461014557610093565b806301b453e51461009857806332db4ed5146100c257806367e0e076146100d7578063727212f6146100f7575b600080fd5b6100ab6100a6366004611410565b610165565b6040516100b9929190611917565b60405180910390f35b6100d56100d036600461148e565b61018f565b005b6100ea6100e5366004611410565b610605565b6040516100b99190611a1d565b61010a610105366004611454565b61066d565b6040516100b992919061195a565b610120610842565b6040516100b99190611909565b610120610866565b61012061088a565b610120610922565b610158610153366004611410565b610946565b6040516100b9919061197f565b6001600160a01b039081166000908152602081905260409020805460019091015490821692911690565b61019761088a565b6001600160a01b0316336001600160a01b0316146101d05760405162461bcd60e51b81526004016101c79061198d565b60405180910390fd5b806101ed5760405162461bcd60e51b81526004016101c7906119fd565b60005b8181101561060057600083838381811061020657fe5b905060200201602081019061021b9190611410565b6001600160a01b031614156102425760405162461bcd60e51b81526004016101c790611a0d565b6000808085858581811061025257fe5b90506020020160208101906102679190611410565b6001600160a01b03908116825260208201929092526040016000205416146102a15760405162461bcd60e51b81526004016101c7906119ed565b60008383838181106102af57fe5b90506020020160208101906102c49190611410565b90506000816001600160a01b0316630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b15801561030157600080fd5b505afa158015610315573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103399190611436565b90506000826001600160a01b031663d21220a76040518163ffffffff1660e01b815260040160206040518083038186803b15801561037657600080fd5b505afa15801561038a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103ae9190611436565b90506103ba8282610966565b6103d65760405162461bcd60e51b81526004016101c7906119bd565b6040518060800160405280836001600160a01b03168152602001826001600160a01b03168152602001836001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561043857600080fd5b505afa15801561044c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104709190611559565b60ff168152602001826001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b1580156104b157600080fd5b505afa1580156104c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104e99190611559565b60ff1690526000808888888181106104fd57fe5b90506020020160208101906105129190611410565b6001600160a01b0390811682526020808301939093526040918201600020845181546001600160a01b03199081169184169190911782559385015160019091018054938601516060909601519390941691161760ff60a01b1916600160a01b60ff948516021760ff60a81b1916600160a81b939091169290920291909117905585858581811061059e57fe5b90506020020160208101906105b39190611410565b6001600160a01b03167f2d64d749034284f79591001c60e51eeab7a396decc5296df21e417306e9d92bf83836040516105ed929190611917565b60405180910390a25050506001016101f0565b505050565b61060d61134f565b506001600160a01b038082166000908152602081815260409182902082516080810184528154851681526001909101549384169181019190915260ff600160a01b8404811692820192909252600160a81b9092041660608201525b919050565b60608061067861134f565b506001600160a01b038481166000908152602081815260409182902082516080810184528154851681526001909101549384168183015260ff600160a01b8504811682850152600160a81b9094049093166060808501919091528251600280825291810184529290918301908036833701905050925080600001518360008151811061070057fe5b60200260200101906001600160a01b031690816001600160a01b03168152505080602001518360018151811061073257fe5b60200260200101906001600160a01b031690816001600160a01b03168152505060008061077783600001518460200151856040015160ff16866060015160ff16610bb6565b915091506000806107aa7f00000000000000000000000000000000000000000000000000000000000000008a8686610dbf565b604080516002808252606082019092529294509092508160200160208202803683370190505095506107ee670de0b6b3a76400006107e88a85610def565b90610e30565b866000815181106107fb57fe5b602090810291909101015261081c670de0b6b3a76400006107e88a84610def565b8660018151811061082957fe5b60200260200101818152505050505050505b9250929050565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b1580156108e557600080fd5b505afa1580156108f9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061091d9190611436565b905090565b7f000000000000000000000000000000000000000000000000000000000000000090565b6001600160a01b0390811660009081526020819052604090205416151590565b604051631892df1d60e31b81526000907f0000000000000000000000000000000000000000000000000000000000000000906001600160a01b0382169063c496f8e8906109b7908790600401611909565b60206040518083038186803b1580156109cf57600080fd5b505afa1580156109e3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a0791906114d0565b15610a9c57604051634df48c7360e11b81526001600160a01b03821690639be918e690610a38908690600401611909565b60206040518083038186803b158015610a5057600080fd5b505afa158015610a64573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a8891906114d0565b15610a97576001915050610bb0565b610baa565b6040516364b01dc160e01b81526001600160a01b038216906364b01dc190610ac8908790600401611909565b60206040518083038186803b158015610ae057600080fd5b505afa158015610af4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b1891906114d0565b8015610b9b5750604051631892df1d60e31b81526001600160a01b0382169063c496f8e890610b4b908690600401611909565b60206040518083038186803b158015610b6357600080fd5b505afa158015610b77573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b9b91906114d0565b15610baa576001915050610bb0565b60009150505b92915050565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c496f8e8876040518263ffffffff1660e01b8152600401610c059190611909565b60206040518083038186803b158015610c1d57600080fd5b505afa158015610c31573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c5591906114d0565b15610d0a5750604051632633f08360e11b8152600a83900a906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690634c67e10690610cb190889085908b90600401611932565b602060405180830381600087803b158015610ccb57600080fd5b505af1158015610cdf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d03919061153b565b9150610db6565b604051632633f08360e11b8152600a85900a92506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690634c67e10690610d6190899086908a90600401611932565b602060405180830381600087803b158015610d7b57600080fd5b505af1158015610d8f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610db3919061153b565b90505b94509492505050565b600080600080610dd0878787610e62565b91509150610de088888484610f71565b93509350505094509492505050565b600082610dfe57506000610bb0565b82820282848281610e0b57fe5b0414610e295760405162461bcd60e51b81526004016101c7906119dd565b9392505050565b6000808211610e515760405162461bcd60e51b81526004016101c7906119cd565b818381610e5a57fe5b049392505050565b600080846001600160a01b0316630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b158015610e9e57600080fd5b505afa158015610eb2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ed691906114ee565b506001600160701b039182169350169050600080610ef68686868661119e565b915091508060001415610f0a575050610f69565b8115610f3d576000610f1d828686611269565b9050610f2985836112b1565b9450610f3584826112d6565b935050610f66565b6000610f4a828587611269565b9050610f5684836112b1565b9350610f6285826112d6565b9450505b50505b935093915050565b60008060008590506000816001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b158015610fb457600080fd5b505afa158015610fc8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fec919061153b565b905060006001600160a01b0316886001600160a01b031663017e7e586040518163ffffffff1660e01b815260040160206040518083038186803b15801561103257600080fd5b505afa158015611046573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061106a9190611436565b6001600160a01b031614611172576000826001600160a01b0316637464fc3d6040518163ffffffff1660e01b815260040160206040518083038186803b1580156110b357600080fd5b505afa1580156110c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110eb919061153b565b905080156111705760006111076111028989610def565b6112fe565b90506000611114836112fe565b90508082111561116d57600061113461112d84846112d6565b8690610def565b9050600061114d83611147866005610def565b906112b1565b9050600061115b8383610e30565b905061116787826112b1565b96505050505b50505b505b611188816107e888670de0b6b3a7640000610def565b610de0826107e888670de0b6b3a7640000610def565b600080856111b0846107e88789610def565b1091506000808315611201576111e66111026111ce896103e5610def565b6107e86103e86111e08d818d8d610def565b90610def565b91506111fa6103e56107e8886103e8610def565b905061123c565b6112256111026112138a6103e5610def565b6107e86103e86111e08c818d8d610def565b91506112396103e56107e8876103e8610def565b90505b8082101561125257600080935093505050610db6565b61125c82826112d6565b9250505094509492505050565b600080611278856103e5610def565b905060006112868285610def565b9050600061129a83611147886103e8610def565b90506112a68282610e30565b979650505050505050565b600082820183811015610e295760405162461bcd60e51b81526004016101c79061199d565b6000828211156112f85760405162461bcd60e51b81526004016101c7906119ad565b50900390565b60006003821115611341575080600160028204015b8181101561133b5780915060028182858161132a57fe5b04018161133357fe5b049050611313565b50610668565b811561066857506001919050565b60408051608081018252600080825260208201819052918101829052606081019190915290565b8035610bb081611a78565b8051610bb081611a78565b60008083601f84011261139e57600080fd5b50813567ffffffffffffffff8111156113b657600080fd5b60208301915083602082028301111561083b57600080fd5b8051610bb081611a8f565b8051610bb081611a98565b8035610bb081611aa1565b8051610bb081611aa1565b8051610bb081611aaa565b8051610bb081611ab3565b60006020828403121561142257600080fd5b600061142e8484611376565b949350505050565b60006020828403121561144857600080fd5b600061142e8484611381565b6000806040838503121561146757600080fd5b60006114738585611376565b9250506020611484858286016113e4565b9150509250929050565b600080602083850312156114a157600080fd5b823567ffffffffffffffff8111156114b857600080fd5b6114c48582860161138c565b92509250509250929050565b6000602082840312156114e257600080fd5b600061142e84846113ce565b60008060006060848603121561150357600080fd5b600061150f86866113d9565b9350506020611520868287016113d9565b9250506040611531868287016113fa565b9150509250925092565b60006020828403121561154d57600080fd5b600061142e84846113ef565b60006020828403121561156b57600080fd5b600061142e8484611405565b60006115838383611597565b505060200190565b600061158383836118f7565b6115a081611a3e565b82525050565b60006115b182611a31565b6115bb8185611a35565b93506115c683611a2b565b8060005b838110156115f45781516115de8882611577565b97506115e983611a2b565b9250506001016115ca565b509495945050505050565b600061160a82611a31565b6116148185611a35565b935061161f83611a2b565b8060005b838110156115f4578151611637888261158b565b975061164283611a2b565b925050600101611623565b6115a081611a49565b6000611663604983611a35565b7f6f6e6c7946756e644465706c6f7965724f776e65723a204f6e6c79207468652081527f46756e644465706c6f796572206f776e65722063616e2063616c6c207468697360208201526810333ab731ba34b7b760b91b604082015260600192915050565b60006116d4601b83611a35565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b600061170d601e83611a35565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000611746602583611a35565b7f616464506f6f6c546f6b656e733a20556e737570706f7274656420706f6f6c208152643a37b5b2b760d91b602082015260400192915050565b600061178d601a83611a35565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b60006117c6602183611a35565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000611809602083611a35565b7f616464506f6f6c546f6b656e733a2056616c756520616c726561647920736574815260200192915050565b6000611842602083611a35565b7f616464506f6f6c546f6b656e733a20456d707479205f706f6f6c546f6b656e73815260200192915050565b600061187b601e83611a35565b7f616464506f6f6c546f6b656e733a20456d70747920706f6f6c546f6b656e0000815260200192915050565b805160808301906118b88482611597565b5060208201516118cb6020850182611597565b5060408201516118de6040850182611900565b5060608201516118f16060850182611900565b50505050565b6115a081611a66565b6115a081611a72565b60208101610bb08284611597565b604081016119258285611597565b610e296020830184611597565b606081016119408286611597565b61194d60208301856118f7565b61142e6040830184611597565b6040808252810161196b81856115a6565b9050818103602083015261142e81846115ff565b60208101610bb0828461164d565b60208082528101610bb081611656565b60208082528101610bb0816116c7565b60208082528101610bb081611700565b60208082528101610bb081611739565b60208082528101610bb081611780565b60208082528101610bb0816117b9565b60208082528101610bb0816117fc565b60208082528101610bb081611835565b60208082528101610bb08161186e565b60808101610bb082846118a7565b60200190565b5190565b90815260200190565b6000610bb082611a5a565b151590565b6001600160701b031690565b6001600160a01b031690565b90565b63ffffffff1690565b60ff1690565b611a8181611a3e565b8114611a8c57600080fd5b50565b611a8181611a49565b611a8181611a4e565b611a8181611a66565b611a8181611a69565b611a8181611a7256fea164736f6c634300060c000a", "sourceMap": "829:8062:247:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8394:234;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;5398:1135;;;;;;:::i;:::-;;:::i;:::-;;7959:185;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1995:1543::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;8767:122::-;;;:::i;:::-;;;;;;;:::i;7660:94::-;;;:::i;1064:120:358:-;;;:::i;1378:108::-;;;:::i;3711:159:247:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;8394:234::-;-1:-1:-1;;;;;8550:27:247;;;8494:15;8550:27;;;;;;;;;;:34;;;8586;;;;8550;;;;8586;;;8394:234::o;5398:1135::-;679:10:358;:8;:10::i;:::-;-1:-1:-1;;;;;665:24:358;:10;-1:-1:-1;;;;;665:24:358;;644:144;;;;-1:-1:-1;;;644:144:358;;;;;;;:::i;:::-;;;;;;;;;5502:22:247;5494:67:::1;;;;-1:-1:-1::0;;;5494:67:247::1;;;;;;;:::i;:::-;5577:9;5572:955;5588:22:::0;;::::1;5572:955;;;5665:1;5639:11:::0;;5651:1;5639:14;;::::1;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;5639:28:247::1;;;5631:71;;;;-1:-1:-1::0;;;5631:71:247::1;;;;;;;:::i;:::-;5791:1;::::0;;5757:11;;5769:1;5757:14;;::::1;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;5741:31:247;;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;5741:31:247;:38;::::1;:52;5716:143;;;;-1:-1:-1::0;;;5716:143:247::1;;;;;;;:::i;:::-;5874:28;5920:11;;5932:1;5920:14;;;;;;;;;;;;;;;;;;;;:::i;:::-;5874:61;;5949:14;5966:13;-1:-1:-1::0;;;;;5966:20:247::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5949:39;;6002:14;6019:13;-1:-1:-1::0;;;;;6019:20:247::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6002:39;;6081:40;6106:6;6114;6081:24;:40::i;:::-;6056:136;;;;-1:-1:-1::0;;;6056:136:247::1;;;;;;;:::i;:::-;6241:209;;;;;;;;6281:6;-1:-1:-1::0;;;;;6241:209:247::1;;;;;6313:6;-1:-1:-1::0;;;;;6241:209:247::1;;;;;6359:6;-1:-1:-1::0;;;;;6353:22:247::1;;:24;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6241:209;;;;;;6417:6;-1:-1:-1::0;;;;;6411:22:247::1;;:24;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6241:209;;::::0;;6207:15:::1;::::0;6223:11;;6235:1;6223:14;;::::1;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;6207:31:247;;::::1;::::0;;::::1;::::0;;::::1;::::0;;;;;;;;-1:-1:-1;6207:31:247;:243;;;;-1:-1:-1;;;;;;6207:243:247;;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;;::::1;::::0;-1:-1:-1;6207:243:247;;::::1;::::0;;;;::::1;::::0;::::1;::::0;;::::1;::::0;;;;::::1;::::0;::::1;;-1:-1:-1::0;;;;6207:243:247::1;-1:-1:-1::0;;;6207:243:247::1;::::0;;::::1;;;-1:-1:-1::0;;;;6207:243:247::1;-1:-1:-1::0;;;6207:243:247;;;::::1;::::0;;;::::1;::::0;;;::::1;::::0;;6485:11;;6497:1;6485:14;;::::1;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;6470:46:247::1;;6501:6;6509;6470:46;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1::0;;;5612:3:247::1;;5572:955;;;;5398:1135:::0;;:::o;7959:185::-;8052:35;;:::i;:::-;-1:-1:-1;;;;;;8110:27:247;;;:15;:27;;;;;;;;;;;;8103:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;8103:34:247;;;;;;;;;;;-1:-1:-1;;;8103:34:247;;;;;;;;7959:185;;;;:::o;1995:1543::-;2124:29;2155:35;2206:34;;:::i;:::-;-1:-1:-1;;;;;;2243:28:247;;;:15;:28;;;;;;;;;;;;2206:65;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2206:65:247;;;;;;;;-1:-1:-1;;;2206:65:247;;;;;;;;;;;;;;2297:16;;2311:1;2297:16;;;;;;;;;2311:1;;2297:16;;;2243:28;2297:16;;;;;-1:-1:-1;2297:16:247;2282:31;;2341:13;:20;;;2323:12;2336:1;2323:15;;;;;;;;;;;;;:38;-1:-1:-1;;;;;2323:38:247;;;-1:-1:-1;;;;;2323:38:247;;;;;2389:13;:20;;;2371:12;2384:1;2371:15;;;;;;;;;;;;;:38;-1:-1:-1;;;;;2371:38:247;;;-1:-1:-1;;;;;2371:38:247;;;;;2574:31;2607;2642:179;2673:13;:20;;;2707:13;:20;;;2741:13;:28;;;2642:179;;2783:13;:28;;;2642:179;;:17;:179::i;:::-;2573:248;;;;2846:30;2890;2933:177;2978:7;3003:11;3032:23;3073;2933:27;:177::i;:::-;3197:16;;;3211:1;3197:16;;;;;;;;;2832:278;;-1:-1:-1;2832:278:247;;-1:-1:-1;3197:16:247;;;;;;;;;;;;-1:-1:-1;;3176:37:247;-1:-1:-1;3247:99:247;1054:6:255;3247:45:247;:17;3269:22;3247:21;:45::i;:::-;:49;;:99::i;:::-;3223:18;3242:1;3223:21;;;;;;;;;;;;;;;;;:123;3380:99;1054:6:255;3380:45:247;:17;3402:22;3380:21;:45::i;:99::-;3356:18;3375:1;3356:21;;;;;;;;;;;;;:123;;;;;3490:41;;;;;1995:1543;;;;;;:::o;8767:122::-;8865:17;8767:122;:::o;7660:94::-;7740:7;7660:94;:::o;1064:120:358:-;1105:14;1152:13;-1:-1:-1;;;;;1138:37:358;;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1131:46;;1064:120;:::o;1378:108::-;1466:13;1378:108;:::o;3711:159:247:-;-1:-1:-1;;;;;3819:23:247;;;3783:17;3819:23;;;;;;;;;;:30;;:44;;;3711:159::o;6813:664::-;7058:59;;-1:-1:-1;;;7058:59:247;;6927:19;;7025:17;;-1:-1:-1;;;;;7058:50:247;;;;;:59;;7109:7;;7058:59;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7054:394;;;7137:50;;-1:-1:-1;;;7137:50:247;;-1:-1:-1;;;;;7137:41:247;;;;;:50;;7179:7;;7137:50;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7133:100;;;7214:4;7207:11;;;;;7133:100;7054:394;;;7266:60;;-1:-1:-1;;;7266:60:247;;-1:-1:-1;;;;;7266:51:247;;;;;:60;;7318:7;;7266:60;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:135;;;;-1:-1:-1;7342:59:247;;-1:-1:-1;;;7342:59:247;;-1:-1:-1;;;;;7342:50:247;;;;;:59;;7393:7;;7342:59;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7249:199;;;7433:4;7426:11;;;;;7249:199;7465:5;7458:12;;;6813:664;;;;;:::o;4070:1115::-;4236:25;4263;4550:17;-1:-1:-1;;;;;4532:62:247;;4595:7;4532:71;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4528:595;;;-1:-1:-1;4692:158:247;;-1:-1:-1;;;4692:158:247;;4639:2;:19;;;;-1:-1:-1;;;;;4709:17:247;4692:59;;;;:158;;4769:7;;4639:19;;4829:7;;4692:158;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4672:178;;4528:595;;;4954:158;;-1:-1:-1;;;4954:158:247;;4901:2;:19;;;;-1:-1:-1;;;;;;4971:17:247;4954:59;;;;:158;;5031:7;;4901:19;;5091:7;;4954:158;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4934:178;;4528:595;4070:1115;;;;;;;:::o;1320:509:255:-;1519:21;1542;1576:16;1594;1614:133;1656:5;1675:24;1713;1614:28;:133::i;:::-;1575:172;;;;1765:57;1786:8;1796:5;1803:8;1813;1765:20;:57::i;:::-;1758:64;;;;;;1320:509;;;;;;;:::o;3538:215:442:-;3596:7;3619:6;3615:20;;-1:-1:-1;3634:1:442;3627:8;;3615:20;3657:5;;;3661:1;3657;:5;:1;3680:5;;;;;:10;3672:56;;;;-1:-1:-1;;;3672:56:442;;;;;;;:::i;:::-;3745:1;3538:215;-1:-1:-1;;;3538:215:442:o;4217:150::-;4275:7;4306:1;4302;:5;4294:44;;;;-1:-1:-1;;;4294:44:442;;;;;;;:::i;:::-;4359:1;4355;:5;;;;;;;4217:150;-1:-1:-1;;;4217:150:442:o;4659:1397:255:-;4832:17;4851;4922:5;-1:-1:-1;;;;;4907:33:255;;:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;4880:62:255;;;;-1:-1:-1;4880:62:255;;-1:-1:-1;5212:19:255;;5253:159;5294:24;5332;4880:62;;5253:27;:159::i;:::-;5211:201;;;;5426:8;5438:1;5426:13;5422:73;;;5455:29;;;;5422:73;5590:14;5586:424;;;5620:17;5640:55;5664:8;5674:9;5685;5640:23;:55::i;:::-;5620:75;-1:-1:-1;5721:23:255;:9;5735:8;5721:13;:23::i;:::-;5709:35;-1:-1:-1;5770:24:255;:9;5784;5770:13;:24::i;:::-;5758:36;;5586:424;;;;5825:17;5845:55;5869:8;5879:9;5890;5845:23;:55::i;:::-;5825:75;-1:-1:-1;5926:23:255;:9;5940:8;5926:13;:23::i;:::-;5914:35;-1:-1:-1;5975:24:255;:9;5989;5975:13;:24::i;:::-;5963:36;;5586:424;;6020:29;;4659:1397;;;;;;;:::o;1936:1149::-;2097:21;2120;2153:27;2198:5;2153:51;;2214:19;2236:12;-1:-1:-1;;;;;2236:24:255;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2214:48;;2324:1;-1:-1:-1;;;;;2277:49:255;2295:8;-1:-1:-1;;;;;2277:33:255;;:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;2277:49:255;;2273:635;;2342:13;2358:12;-1:-1:-1;;;;;2358:18:255;;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2342:36;-1:-1:-1;2396:9:255;;2392:506;;2425:13;2441:39;2455:24;:9;2469;2455:13;:24::i;:::-;2441:13;:39::i;:::-;2425:55;;2498:17;2518:20;2532:5;2518:13;:20::i;:::-;2498:40;;2568:9;2560:5;:17;2556:328;;;2601:17;2621:37;2637:20;:5;2647:9;2637;:20::i;:::-;2621:11;;:15;:37::i;:::-;2601:57;-1:-1:-1;2680:19:255;2702:27;2719:9;2702:12;:5;2712:1;2702:9;:12::i;:::-;:16;;:27::i;:::-;2680:49;-1:-1:-1;2751:20:255;2774:26;:9;2680:49;2774:13;:26::i;:::-;2751:49;-1:-1:-1;2836:29:255;:11;2751:49;2836:15;:29::i;:::-;2822:43;;2556:328;;;;2392:506;;;2273:635;;2938:58;2984:11;2938:41;:9;1054:6;2938:13;:41::i;:58::-;3010;3056:11;3010:41;:9;1054:6;3010:13;:41::i;3174:1283::-;3377:20;;3515:24;3458:54;3502:9;3458:39;:9;3472:24;3458:13;:39::i;:54::-;:81;3428:111;;3550:16;3576:17;3607:15;3603:579;;;3649:186;3680:141;3770:33;:24;3799:3;3770:28;:33::i;:::-;3680:64;3739:4;3680:54;3709:24;3680:54;:9;3694;3680:13;:24::i;:::-;:28;;:54::i;3649:186::-;3638:197;-1:-1:-1;3861:28:255;3885:3;3861:19;:9;3875:4;3861:13;:19::i;:28::-;3849:40;;3603:579;;;3931:186;3962:141;4052:33;:24;4081:3;4052:28;:33::i;:::-;3962:64;4021:4;3962:54;3991:24;3962:54;:9;3976;3962:13;:24::i;3931:186::-;3920:197;-1:-1:-1;4143:28:255;4167:3;4143:19;:9;4157:4;4143:13;:19::i;:28::-;4131:40;;3603:579;4207:9;4196:8;:20;4192:68;;;4240:5;4247:1;4232:17;;;;;;;;4192:68;4381:23;:8;4394:9;4381:12;:23::i;:::-;4369:35;;4415;;3174:1283;;;;;;;:::o;6842:405::-;6987:18;;7043;:9;7057:3;7043:13;:18::i;:::-;7017:44;-1:-1:-1;7071:17:255;7091:32;7017:44;7111:11;7091:19;:32::i;:::-;7071:52;-1:-1:-1;7133:19:255;7155:41;7180:15;7155:20;:10;7170:4;7155:14;:20::i;:41::-;7133:63;-1:-1:-1;7214:26:255;:9;7133:63;7214:13;:26::i;:::-;7207:33;6842:405;-1:-1:-1;;;;;;;6842:405:255:o;2690:175:442:-;2748:7;2779:5;;;2802:6;;;;2794:46;;;;-1:-1:-1;;;2794:46:442;;;;;;;:::i;3136:155::-;3194:7;3226:1;3221;:6;;3213:49;;;;-1:-1:-1;;;3213:49:442;;;;;;;:::i;:::-;-1:-1:-1;3279:5:442;;;3136:155::o;6238:363:255:-;6295:10;6326:1;6321:2;:6;6317:235;;;-1:-1:-1;6348:2:255;6385:1;6381;6376:6;;:10;6400:92;6411:2;6407:1;:6;6400:92;;;6438:1;6433:6;;6476:1;6471;6467;6462:2;:6;;;;;;:10;6461:16;;;;;;6457:20;;6400:92;;;6317:235;;;;6512:7;;6508:44;;-1:-1:-1;6540:1:255;6238:363;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5:130::-;72:20;;97:33;72:20;97:33;:::i;142:134::-;220:13;;238:33;220:13;238:33;:::i;301:352::-;;;431:3;424:4;416:6;412:17;408:27;398:2;;449:1;446;439:12;398:2;-1:-1;469:20;;509:18;498:30;;495:2;;;541:1;538;531:12;495:2;575:4;567:6;563:17;551:29;;626:3;618:4;610:6;606:17;596:8;592:32;589:41;586:2;;;643:1;640;633:12;661:128;736:13;;754:30;736:13;754:30;:::i;796:134::-;874:13;;892:33;874:13;892:33;:::i;937:130::-;1004:20;;1029:33;1004:20;1029:33;:::i;1074:134::-;1152:13;;1170:33;1152:13;1170:33;:::i;1215:132::-;1292:13;;1310:32;1292:13;1310:32;:::i;1354:130::-;1430:13;;1448:31;1430:13;1448:31;:::i;1491:241::-;;1595:2;1583:9;1574:7;1570:23;1566:32;1563:2;;;1611:1;1608;1601:12;1563:2;1646:1;1663:53;1708:7;1688:9;1663:53;:::i;:::-;1653:63;1557:175;-1:-1;;;;1557:175::o;1739:263::-;;1854:2;1842:9;1833:7;1829:23;1825:32;1822:2;;;1870:1;1867;1860:12;1822:2;1905:1;1922:64;1978:7;1958:9;1922:64;:::i;2009:366::-;;;2130:2;2118:9;2109:7;2105:23;2101:32;2098:2;;;2146:1;2143;2136:12;2098:2;2181:1;2198:53;2243:7;2223:9;2198:53;:::i;:::-;2188:63;;2160:97;2288:2;2306:53;2351:7;2342:6;2331:9;2327:22;2306:53;:::i;:::-;2296:63;;2267:98;2092:283;;;;;:::o;2382:397::-;;;2521:2;2509:9;2500:7;2496:23;2492:32;2489:2;;;2537:1;2534;2527:12;2489:2;2572:31;;2623:18;2612:30;;2609:2;;;2655:1;2652;2645:12;2609:2;2683:80;2755:7;2746:6;2735:9;2731:22;2683:80;:::i;:::-;2665:98;;;;2551:218;2483:296;;;;;:::o;2786:257::-;;2898:2;2886:9;2877:7;2873:23;2869:32;2866:2;;;2914:1;2911;2904:12;2866:2;2949:1;2966:61;3019:7;2999:9;2966:61;:::i;3050:533::-;;;;3198:2;3186:9;3177:7;3173:23;3169:32;3166:2;;;3214:1;3211;3204:12;3166:2;3249:1;3266:64;3322:7;3302:9;3266:64;:::i;:::-;3256:74;;3228:108;3367:2;3385:64;3441:7;3432:6;3421:9;3417:22;3385:64;:::i;:::-;3375:74;;3346:109;3486:2;3504:63;3559:7;3550:6;3539:9;3535:22;3504:63;:::i;:::-;3494:73;;3465:108;3160:423;;;;;:::o;3590:263::-;;3705:2;3693:9;3684:7;3680:23;3676:32;3673:2;;;3721:1;3718;3711:12;3673:2;3756:1;3773:64;3829:7;3809:9;3773:64;:::i;3860:259::-;;3973:2;3961:9;3952:7;3948:23;3944:32;3941:2;;;3989:1;3986;3979:12;3941:2;4024:1;4041:62;4095:7;4075:9;4041:62;:::i;4127:173::-;;4214:46;4256:3;4248:6;4214:46;:::i;:::-;-1:-1;;4289:4;4280:14;;4207:93::o;4309:173::-;;4396:46;4438:3;4430:6;4396:46;:::i;4490:103::-;4563:24;4581:5;4563:24;:::i;:::-;4558:3;4551:37;4545:48;;:::o;4751:690::-;;4896:54;4944:5;4896:54;:::i;:::-;4963:86;5042:6;5037:3;4963:86;:::i;:::-;4956:93;;5070:56;5120:5;5070:56;:::i;:::-;5146:7;5174:1;5159:260;5184:6;5181:1;5178:13;5159:260;;;5251:6;5245:13;5272:63;5331:3;5316:13;5272:63;:::i;:::-;5265:70;;5352:60;5405:6;5352:60;:::i;:::-;5342:70;-1:-1;;5206:1;5199:9;5159:260;;;-1:-1;5432:3;;4875:566;-1:-1;;;;;4875:566::o;5480:690::-;;5625:54;5673:5;5625:54;:::i;:::-;5692:86;5771:6;5766:3;5692:86;:::i;:::-;5685:93;;5799:56;5849:5;5799:56;:::i;:::-;5875:7;5903:1;5888:260;5913:6;5910:1;5907:13;5888:260;;;5980:6;5974:13;6001:63;6060:3;6045:13;6001:63;:::i;:::-;5994:70;;6081:60;6134:6;6081:60;:::i;:::-;6071:70;-1:-1;;5935:1;5928:9;5888:260;;6178:104;6255:21;6270:5;6255:21;:::i;6290:447::-;;6450:67;6514:2;6509:3;6450:67;:::i;:::-;6550:34;6530:55;;6619:34;6614:2;6605:12;;6598:56;-1:-1;;;6683:2;6674:12;;6667:33;6728:2;6719:12;;6436:301;-1:-1;;6436:301::o;6746:327::-;;6906:67;6970:2;6965:3;6906:67;:::i;:::-;7006:29;6986:50;;7064:2;7055:12;;6892:181;-1:-1;;6892:181::o;7082:330::-;;7242:67;7306:2;7301:3;7242:67;:::i;:::-;7342:32;7322:53;;7403:2;7394:12;;7228:184;-1:-1;;7228:184::o;7421:374::-;;7581:67;7645:2;7640:3;7581:67;:::i;:::-;7681:34;7661:55;;-1:-1;;;7745:2;7736:12;;7729:29;7786:2;7777:12;;7567:228;-1:-1;;7567:228::o;7804:326::-;;7964:67;8028:2;8023:3;7964:67;:::i;:::-;8064:28;8044:49;;8121:2;8112:12;;7950:180;-1:-1;;7950:180::o;8139:370::-;;8299:67;8363:2;8358:3;8299:67;:::i;:::-;8399:34;8379:55;;-1:-1;;;8463:2;8454:12;;8447:25;8500:2;8491:12;;8285:224;-1:-1;;8285:224::o;8518:332::-;;8678:67;8742:2;8737:3;8678:67;:::i;:::-;8778:34;8758:55;;8841:2;8832:12;;8664:186;-1:-1;;8664:186::o;8859:332::-;;9019:67;9083:2;9078:3;9019:67;:::i;:::-;9119:34;9099:55;;9182:2;9173:12;;9005:186;-1:-1;;9005:186::o;9200:330::-;;9360:67;9424:2;9419:3;9360:67;:::i;:::-;9460:32;9440:53;;9521:2;9512:12;;9346:184;-1:-1;;9346:184::o;9635:814::-;9860:23;;9792:4;9783:14;;;9889:63;9787:3;9860:23;9889:63;:::i;:::-;9812:146;10033:4;10026:5;10022:16;10016:23;10045:63;10102:4;10097:3;10093:14;10079:12;10045:63;:::i;:::-;9968:146;10197:4;10190:5;10186:16;10180:23;10209:59;10262:4;10257:3;10253:14;10239:12;10209:59;:::i;:::-;10124:150;10357:4;10350:5;10346:16;10340:23;10369:59;10422:4;10417:3;10413:14;10399:12;10369:59;:::i;:::-;10284:150;9765:684;;;:::o;10456:103::-;10529:24;10547:5;10529:24;:::i;10686:97::-;10755:22;10771:5;10755:22;:::i;10790:222::-;10917:2;10902:18;;10931:71;10906:9;10975:6;10931:71;:::i;11019:333::-;11174:2;11159:18;;11188:71;11163:9;11232:6;11188:71;:::i;:::-;11270:72;11338:2;11327:9;11323:18;11314:6;11270:72;:::i;11359:444::-;11542:2;11527:18;;11556:71;11531:9;11600:6;11556:71;:::i;:::-;11638:72;11706:2;11695:9;11691:18;11682:6;11638:72;:::i;:::-;11721;11789:2;11778:9;11774:18;11765:6;11721:72;:::i;11810:629::-;12065:2;12079:47;;;12050:18;;12140:108;12050:18;12234:6;12140:108;:::i;:::-;12132:116;;12296:9;12290:4;12286:20;12281:2;12270:9;12266:18;12259:48;12321:108;12424:4;12415:6;12321:108;:::i;12446:210::-;12567:2;12552:18;;12581:65;12556:9;12619:6;12581:65;:::i;12663:416::-;12863:2;12877:47;;;12848:18;;12938:131;12848:18;12938:131;:::i;13086:416::-;13286:2;13300:47;;;13271:18;;13361:131;13271:18;13361:131;:::i;13509:416::-;13709:2;13723:47;;;13694:18;;13784:131;13694:18;13784:131;:::i;13932:416::-;14132:2;14146:47;;;14117:18;;14207:131;14117:18;14207:131;:::i;14355:416::-;14555:2;14569:47;;;14540:18;;14630:131;14540:18;14630:131;:::i;14778:416::-;14978:2;14992:47;;;14963:18;;15053:131;14963:18;15053:131;:::i;15201:416::-;15401:2;15415:47;;;15386:18;;15476:131;15386:18;15476:131;:::i;15624:416::-;15824:2;15838:47;;;15809:18;;15899:131;15809:18;15899:131;:::i;16047:416::-;16247:2;16261:47;;;16232:18;;16322:131;16232:18;16322:131;:::i;16470:351::-;16661:3;16646:19;;16676:135;16650:9;16784:6;16676:135;:::i;16828:151::-;16952:4;16943:14;;16900:79::o;17144:137::-;17247:12;;17218:63::o;17663:178::-;17781:19;;;17830:4;17821:14;;17774:67::o;18208:91::-;;18270:24;18288:5;18270:24;:::i;18306:85::-;18372:13;18365:21;;18348:43::o;18398:109::-;-1:-1;;;;;18460:42;;18443:64::o;18514:121::-;-1:-1;;;;;18576:54;;18559:76::o;18642:72::-;18704:5;18687:27::o;18721:88::-;18793:10;18782:22;;18765:44::o;18816:81::-;18887:4;18876:16;;18859:38::o;18904:117::-;18973:24;18991:5;18973:24;:::i;:::-;18966:5;18963:35;18953:2;;19012:1;19009;19002:12;18953:2;18947:74;:::o;19028:111::-;19094:21;19109:5;19094:21;:::i;19146:117::-;19215:24;19233:5;19215:24;:::i;19270:117::-;19339:24;19357:5;19339:24;:::i;19394:115::-;19462:23;19479:5;19462:23;:::i;19516:113::-;19583:22;19599:5;19583:22;:::i", "linkReferences": {}, "immutableReferences": { "65374": [ { "start": 1923, "length": 32 }, { "start": 2152, "length": 32 } ], "65376": [ { "start": 2116, "length": 32 }, { "start": 2424, "length": 32 }, { "start": 3003, "length": 32 }, { "start": 3192, "length": 32 }, { "start": 3368, "length": 32 } ], "78707": [ { "start": 2190, "length": 32 }, { "start": 2340, "length": 32 } ] } }, "methodIdentifiers": { "addPoolTokens(address[])": "32db4ed5", "calcUnderlyingValues(address,uint256)": "727212f6", "getFactory()": "88cc58e4", "getFundDeployer()": "97c0ac87", "getOwner()": "893d20e8", "getPoolTokenInfo(address)": "67e0e076", "getPoolTokenUnderlyings(address)": "01b453e5", "getValueInterpreter()": "875fb4b3", "isSupportedAsset(address)": "9be918e6" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_fundDeployer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_valueInterpreter\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_factory\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"poolToken\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"token0\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"token1\",\"type\":\"address\"}],\"name\":\"PoolTokenAdded\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_poolTokens\",\"type\":\"address[]\"}],\"name\":\"addPoolTokens\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_derivative\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_derivativeAmount\",\"type\":\"uint256\"}],\"name\":\"calcUnderlyingValues\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"underlyings_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"underlyingAmounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFactory\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"factory_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFundDeployer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"fundDeployer_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_poolToken\",\"type\":\"address\"}],\"name\":\"getPoolTokenInfo\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"token0\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token1\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"token0Decimals\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"token1Decimals\",\"type\":\"uint8\"}],\"internalType\":\"struct UniswapV2PoolPriceFeed.PoolTokenInfo\",\"name\":\"poolTokenInfo_\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_poolToken\",\"type\":\"address\"}],\"name\":\"getPoolTokenUnderlyings\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"token0_\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token1_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getValueInterpreter\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"valueInterpreter_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"}],\"name\":\"isSupportedAsset\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isSupported_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"addPoolTokens(address[])\":{\"params\":{\"_poolTokens\":\"Uniswap pool tokens to add\"}},\"calcUnderlyingValues(address,uint256)\":{\"params\":{\"_derivative\":\"The derivative to convert\",\"_derivativeAmount\":\"The amount of the derivative to convert\"},\"returns\":{\"underlyingAmounts_\":\"The amount of each underlying asset for the equivalent derivative amount\",\"underlyings_\":\"The underlying assets for the _derivative\"}},\"getFactory()\":{\"returns\":{\"factory_\":\"The `FACTORY` variable value\"}},\"getFundDeployer()\":{\"returns\":{\"fundDeployer_\":\"The `FUND_DEPLOYER` variable value\"}},\"getOwner()\":{\"details\":\"Ownership is deferred to the owner of the FundDeployer contract\",\"returns\":{\"owner_\":\"The owner\"}},\"getPoolTokenInfo(address)\":{\"params\":{\"_poolToken\":\"The pool token for which to get the `PoolTokenInfo`\"},\"returns\":{\"poolTokenInfo_\":\"The `PoolTokenInfo` value\"}},\"getPoolTokenUnderlyings(address)\":{\"params\":{\"_poolToken\":\"The pool token for which to get its underlyings\"},\"returns\":{\"token0_\":\"The UniswapV2Pair.token0 value\",\"token1_\":\"The UniswapV2Pair.token1 value\"}},\"getValueInterpreter()\":{\"returns\":{\"valueInterpreter_\":\"The `VALUE_INTERPRETER` variable value\"}},\"isSupportedAsset(address)\":{\"params\":{\"_asset\":\"The asset to check\"},\"returns\":{\"isSupported_\":\"True if the asset is supported\"}}},\"title\":\"UniswapV2PoolPriceFeed Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"addPoolTokens(address[])\":{\"notice\":\"Adds Uniswap pool tokens to the price feed\"},\"calcUnderlyingValues(address,uint256)\":{\"notice\":\"Converts a given amount of a derivative to its underlying asset values\"},\"getFactory()\":{\"notice\":\"Gets the `FACTORY` variable value\"},\"getFundDeployer()\":{\"notice\":\"Gets the `FUND_DEPLOYER` variable\"},\"getOwner()\":{\"notice\":\"Gets the owner of this contract\"},\"getPoolTokenInfo(address)\":{\"notice\":\"Gets the `PoolTokenInfo` for a given pool token\"},\"getPoolTokenUnderlyings(address)\":{\"notice\":\"Gets the underlyings for a given pool token\"},\"getValueInterpreter()\":{\"notice\":\"Gets the `VALUE_INTERPRETER` variable value\"},\"isSupportedAsset(address)\":{\"notice\":\"Checks if an asset is supported by the price feed\"}},\"notice\":\"Price feed for Uniswap lending pool tokens\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/infrastructure/price-feeds/derivatives/feeds/UniswapV2PoolPriceFeed.sol\":\"UniswapV2PoolPriceFeed\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/infrastructure/price-feeds/derivatives/AggregatedDerivativePriceFeedMixin.sol\":{\"keccak256\":\"0x85d2ac39834dae7feb04f0e37317a38b8abeb0f950692fbc9d29078c52cd8d52\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://7bf8f1ce064d85a2812a944fc93068955b233924097f7f45898be3db826579d5\",\"dweb:/ipfs/Qme7f6AhxLVn32prM8fHaCvxtVi86A9KqFMqPA1s88kVYR\"]},\"contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol\":{\"keccak256\":\"0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e\",\"dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK\"]},\"contracts/release/infrastructure/price-feeds/derivatives/feeds/UniswapV2PoolPriceFeed.sol\":{\"keccak256\":\"0x94c26a6384ddbfc04fd7ed7e882ee1e07f8c8bec53786353f0358cbb3f75bed5\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2b14e2993c6683b7c89116a7abc36467669b8f42aef388246588c6ede97606c1\",\"dweb:/ipfs/QmPcfUvxpX6i6BSh9rvBQwG5HqoAHg4z2d6JpcKS1hDbty\"]},\"contracts/release/infrastructure/price-feeds/primitives/ChainlinkPriceFeedMixin.sol\":{\"keccak256\":\"0x7fb0078e7387f07ff09958fe4e4e7b317e72c23884f61e8c133776cad522f8bb\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://e973f29ed0c3bf03e20154ab4b0cfc68c3a4372a52ec746f9d9f86697b30e977\",\"dweb:/ipfs/QmfMb7H1zNnj2hzmUr6742HmCTiNVuQ2PFjeR8q2M4Liyu\"]},\"contracts/release/infrastructure/price-feeds/utils/UniswapV2PoolTokenValueCalculator.sol\":{\"keccak256\":\"0xca17999de98cb569b33fcfb3d170c43af74f455127107967cc59948b1797c2bc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://0afdcd1cf707230078100c84d44d691492077444dea03993bfc026c9f225643d\",\"dweb:/ipfs/QmarjEgvw4BFsczQLkEHH5FwL9L3iubxommJgyy23e5rLp\"]},\"contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol\":{\"keccak256\":\"0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965\",\"dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ\"]},\"contracts/release/infrastructure/value-interpreter/ValueInterpreter.sol\":{\"keccak256\":\"0x64565011785d0d29a75021cda34687cfbc0641094d6f2faf4d9c78c8cd9f0d1d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://03ea9b29a332436d18ca1a4df7e5cdf231d5142dfb916a39cb3a721342d54e0e\",\"dweb:/ipfs/QmcB8Z7A7QELAxg2FfJpD26k2bUhMNUT4wACMVKxuge3QS\"]},\"contracts/release/interfaces/IChainlinkAggregator.sol\":{\"keccak256\":\"0x8104db68d4edc00c86b29b366f4397cdbe7bd95bb9dc90f54140af4bae963788\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://4664240be22fe76bd4e84d1cbaace3998dbc96759a14345819a889f0c288d22e\",\"dweb:/ipfs/QmQ8fbA4tvXeCeaAFeS2JrLEQUPFeYrePAKoUywRtcicgA\"]},\"contracts/release/interfaces/IUniswapV2Factory.sol\":{\"keccak256\":\"0x644fd15db1e38d724d81d3af48f5141698947fcfc36623f1270fe4d817c4dbef\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ba1d613f3a8f94d87dbbed14b7ebb7ed578e30cfd08ef70a1c7efce502ca07f1\",\"dweb:/ipfs/QmccdQAxVnRUmxNCgVmfmGSFnoQwm3YHmLJ2h9evFvHvAw\"]},\"contracts/release/interfaces/IUniswapV2Pair.sol\":{\"keccak256\":\"0xb9c7a1802e5c9e522c7dee20b0511bb55ccc600aef480083f4a6980c9d02c06c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://4bbdf05da4932aad2cff00b4c087896cb6213e71dd366108e7d91d60dbdcaf2f\",\"dweb:/ipfs/Qmd6waypnxTT499zcsH6tFPYyAPLnibSi17m3x84pTPrDh\"]},\"contracts/release/utils/FundDeployerOwnerMixin.sol\":{\"keccak256\":\"0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927\",\"dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM\"]},\"contracts/release/utils/MathHelpers.sol\":{\"keccak256\":\"0x8aef498ae98bfb40cd1df8c9ed652b4c092fbbe62d5a1fad522c53654523248e\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ed62789f6a8d5ca30a40c591f244b915e4711493a9e4b1b4d40ea2bc97b02a95\",\"dweb:/ipfs/QmWyXJ55arURtx9VMkUQokdsjk8tbgM2cC8rENFUMyz5D3\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_fundDeployer", "type": "address" }, { "internalType": "address", "name": "_valueInterpreter", "type": "address" }, { "internalType": "address", "name": "_factory", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "poolToken", "type": "address", "indexed": true }, { "internalType": "address", "name": "token0", "type": "address", "indexed": false }, { "internalType": "address", "name": "token1", "type": "address", "indexed": false } ], "type": "event", "name": "PoolTokenAdded", "anonymous": false }, { "inputs": [ { "internalType": "address[]", "name": "_poolTokens", "type": "address[]" } ], "stateMutability": "nonpayable", "type": "function", "name": "addPoolTokens" }, { "inputs": [ { "internalType": "address", "name": "_derivative", "type": "address" }, { "internalType": "uint256", "name": "_derivativeAmount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "calcUnderlyingValues", "outputs": [ { "internalType": "address[]", "name": "underlyings_", "type": "address[]" }, { "internalType": "uint256[]", "name": "underlyingAmounts_", "type": "uint256[]" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getFactory", "outputs": [ { "internalType": "address", "name": "factory_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getFundDeployer", "outputs": [ { "internalType": "address", "name": "fundDeployer_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getOwner", "outputs": [ { "internalType": "address", "name": "owner_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_poolToken", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getPoolTokenInfo", "outputs": [ { "internalType": "struct UniswapV2PoolPriceFeed.PoolTokenInfo", "name": "poolTokenInfo_", "type": "tuple", "components": [ { "internalType": "address", "name": "token0", "type": "address" }, { "internalType": "address", "name": "token1", "type": "address" }, { "internalType": "uint8", "name": "token0Decimals", "type": "uint8" }, { "internalType": "uint8", "name": "token1Decimals", "type": "uint8" } ] } ] }, { "inputs": [ { "internalType": "address", "name": "_poolToken", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getPoolTokenUnderlyings", "outputs": [ { "internalType": "address", "name": "token0_", "type": "address" }, { "internalType": "address", "name": "token1_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getValueInterpreter", "outputs": [ { "internalType": "address", "name": "valueInterpreter_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_asset", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "isSupportedAsset", "outputs": [ { "internalType": "bool", "name": "isSupported_", "type": "bool" } ] } ], "devdoc": { "kind": "dev", "methods": { "addPoolTokens(address[])": { "params": { "_poolTokens": "Uniswap pool tokens to add" } }, "calcUnderlyingValues(address,uint256)": { "params": { "_derivative": "The derivative to convert", "_derivativeAmount": "The amount of the derivative to convert" }, "returns": { "underlyingAmounts_": "The amount of each underlying asset for the equivalent derivative amount", "underlyings_": "The underlying assets for the _derivative" } }, "getFactory()": { "returns": { "factory_": "The `FACTORY` variable value" } }, "getFundDeployer()": { "returns": { "fundDeployer_": "The `FUND_DEPLOYER` variable value" } }, "getOwner()": { "details": "Ownership is deferred to the owner of the FundDeployer contract", "returns": { "owner_": "The owner" } }, "getPoolTokenInfo(address)": { "params": { "_poolToken": "The pool token for which to get the `PoolTokenInfo`" }, "returns": { "poolTokenInfo_": "The `PoolTokenInfo` value" } }, "getPoolTokenUnderlyings(address)": { "params": { "_poolToken": "The pool token for which to get its underlyings" }, "returns": { "token0_": "The UniswapV2Pair.token0 value", "token1_": "The UniswapV2Pair.token1 value" } }, "getValueInterpreter()": { "returns": { "valueInterpreter_": "The `VALUE_INTERPRETER` variable value" } }, "isSupportedAsset(address)": { "params": { "_asset": "The asset to check" }, "returns": { "isSupported_": "True if the asset is supported" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "addPoolTokens(address[])": { "notice": "Adds Uniswap pool tokens to the price feed" }, "calcUnderlyingValues(address,uint256)": { "notice": "Converts a given amount of a derivative to its underlying asset values" }, "getFactory()": { "notice": "Gets the `FACTORY` variable value" }, "getFundDeployer()": { "notice": "Gets the `FUND_DEPLOYER` variable" }, "getOwner()": { "notice": "Gets the owner of this contract" }, "getPoolTokenInfo(address)": { "notice": "Gets the `PoolTokenInfo` for a given pool token" }, "getPoolTokenUnderlyings(address)": { "notice": "Gets the underlyings for a given pool token" }, "getValueInterpreter()": { "notice": "Gets the `VALUE_INTERPRETER` variable value" }, "isSupportedAsset(address)": { "notice": "Checks if an asset is supported by the price feed" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/infrastructure/price-feeds/derivatives/feeds/UniswapV2PoolPriceFeed.sol": "UniswapV2PoolPriceFeed" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/core/fund-deployer/IFundDeployer.sol": { "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", "urls": [ "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/price-feeds/derivatives/AggregatedDerivativePriceFeedMixin.sol": { "keccak256": "0x85d2ac39834dae7feb04f0e37317a38b8abeb0f950692fbc9d29078c52cd8d52", "urls": [ "bzz-raw://7bf8f1ce064d85a2812a944fc93068955b233924097f7f45898be3db826579d5", "dweb:/ipfs/Qme7f6AhxLVn32prM8fHaCvxtVi86A9KqFMqPA1s88kVYR" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol": { "keccak256": "0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332", "urls": [ "bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e", "dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/price-feeds/derivatives/feeds/UniswapV2PoolPriceFeed.sol": { "keccak256": "0x94c26a6384ddbfc04fd7ed7e882ee1e07f8c8bec53786353f0358cbb3f75bed5", "urls": [ "bzz-raw://2b14e2993c6683b7c89116a7abc36467669b8f42aef388246588c6ede97606c1", "dweb:/ipfs/QmPcfUvxpX6i6BSh9rvBQwG5HqoAHg4z2d6JpcKS1hDbty" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/price-feeds/primitives/ChainlinkPriceFeedMixin.sol": { "keccak256": "0x7fb0078e7387f07ff09958fe4e4e7b317e72c23884f61e8c133776cad522f8bb", "urls": [ "bzz-raw://e973f29ed0c3bf03e20154ab4b0cfc68c3a4372a52ec746f9d9f86697b30e977", "dweb:/ipfs/QmfMb7H1zNnj2hzmUr6742HmCTiNVuQ2PFjeR8q2M4Liyu" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/price-feeds/utils/UniswapV2PoolTokenValueCalculator.sol": { "keccak256": "0xca17999de98cb569b33fcfb3d170c43af74f455127107967cc59948b1797c2bc", "urls": [ "bzz-raw://0afdcd1cf707230078100c84d44d691492077444dea03993bfc026c9f225643d", "dweb:/ipfs/QmarjEgvw4BFsczQLkEHH5FwL9L3iubxommJgyy23e5rLp" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol": { "keccak256": "0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794", "urls": [ "bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965", "dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/value-interpreter/ValueInterpreter.sol": { "keccak256": "0x64565011785d0d29a75021cda34687cfbc0641094d6f2faf4d9c78c8cd9f0d1d", "urls": [ "bzz-raw://03ea9b29a332436d18ca1a4df7e5cdf231d5142dfb916a39cb3a721342d54e0e", "dweb:/ipfs/QmcB8Z7A7QELAxg2FfJpD26k2bUhMNUT4wACMVKxuge3QS" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IChainlinkAggregator.sol": { "keccak256": "0x8104db68d4edc00c86b29b366f4397cdbe7bd95bb9dc90f54140af4bae963788", "urls": [ "bzz-raw://4664240be22fe76bd4e84d1cbaace3998dbc96759a14345819a889f0c288d22e", "dweb:/ipfs/QmQ8fbA4tvXeCeaAFeS2JrLEQUPFeYrePAKoUywRtcicgA" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IUniswapV2Factory.sol": { "keccak256": "0x644fd15db1e38d724d81d3af48f5141698947fcfc36623f1270fe4d817c4dbef", "urls": [ "bzz-raw://ba1d613f3a8f94d87dbbed14b7ebb7ed578e30cfd08ef70a1c7efce502ca07f1", "dweb:/ipfs/QmccdQAxVnRUmxNCgVmfmGSFnoQwm3YHmLJ2h9evFvHvAw" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IUniswapV2Pair.sol": { "keccak256": "0xb9c7a1802e5c9e522c7dee20b0511bb55ccc600aef480083f4a6980c9d02c06c", "urls": [ "bzz-raw://4bbdf05da4932aad2cff00b4c087896cb6213e71dd366108e7d91d60dbdcaf2f", "dweb:/ipfs/Qmd6waypnxTT499zcsH6tFPYyAPLnibSi17m3x84pTPrDh" ], "license": "GPL-3.0" }, "contracts/release/utils/FundDeployerOwnerMixin.sol": { "keccak256": "0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934", "urls": [ "bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927", "dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM" ], "license": "GPL-3.0" }, "contracts/release/utils/MathHelpers.sol": { "keccak256": "0x8aef498ae98bfb40cd1df8c9ed652b4c092fbbe62d5a1fad522c53654523248e", "urls": [ "bzz-raw://ed62789f6a8d5ca30a40c591f244b915e4711493a9e4b1b4d40ea2bc97b02a95", "dweb:/ipfs/QmWyXJ55arURtx9VMkUQokdsjk8tbgM2cC8rENFUMyz5D3" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" } }, "version": 1 }, "id": 247 } diff --git a/eth_defi/abi/enzyme/UniswapV2PoolTokenValueCalculator.json b/eth_defi/abi/enzyme/UniswapV2PoolTokenValueCalculator.json index 187bcee7..70bd7929 100644 --- a/eth_defi/abi/enzyme/UniswapV2PoolTokenValueCalculator.json +++ b/eth_defi/abi/enzyme/UniswapV2PoolTokenValueCalculator.json @@ -1,102 +1 @@ -{ - "abi": [], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": {}, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"Unless otherwise noted, these functions are adapted to our needs and style guide from an un-merged Uniswap branch: https://github.com/Uniswap/uniswap-v2-periphery/blob/267ba44471f3357071a2fe2573fe4da42d5ad969/contracts/libraries/UniswapV2LiquidityMathLibrary.sol\",\"kind\":\"dev\",\"methods\":{},\"title\":\"UniswapV2PoolTokenValueCalculator Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Abstract contract for computing the value of Uniswap liquidity pool tokens\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/infrastructure/price-feeds/utils/UniswapV2PoolTokenValueCalculator.sol\":\"UniswapV2PoolTokenValueCalculator\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/infrastructure/price-feeds/utils/UniswapV2PoolTokenValueCalculator.sol\":{\"keccak256\":\"0xca17999de98cb569b33fcfb3d170c43af74f455127107967cc59948b1797c2bc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://0afdcd1cf707230078100c84d44d691492077444dea03993bfc026c9f225643d\",\"dweb:/ipfs/QmarjEgvw4BFsczQLkEHH5FwL9L3iubxommJgyy23e5rLp\"]},\"contracts/release/interfaces/IUniswapV2Factory.sol\":{\"keccak256\":\"0x644fd15db1e38d724d81d3af48f5141698947fcfc36623f1270fe4d817c4dbef\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ba1d613f3a8f94d87dbbed14b7ebb7ed578e30cfd08ef70a1c7efce502ca07f1\",\"dweb:/ipfs/QmccdQAxVnRUmxNCgVmfmGSFnoQwm3YHmLJ2h9evFvHvAw\"]},\"contracts/release/interfaces/IUniswapV2Pair.sol\":{\"keccak256\":\"0xb9c7a1802e5c9e522c7dee20b0511bb55ccc600aef480083f4a6980c9d02c06c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://4bbdf05da4932aad2cff00b4c087896cb6213e71dd366108e7d91d60dbdcaf2f\",\"dweb:/ipfs/Qmd6waypnxTT499zcsH6tFPYyAPLnibSi17m3x84pTPrDh\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/infrastructure/price-feeds/utils/UniswapV2PoolTokenValueCalculator.sol": "UniswapV2PoolTokenValueCalculator" - }, - "libraries": {} - }, - "sources": { - "contracts/release/infrastructure/price-feeds/utils/UniswapV2PoolTokenValueCalculator.sol": { - "keccak256": "0xca17999de98cb569b33fcfb3d170c43af74f455127107967cc59948b1797c2bc", - "urls": [ - "bzz-raw://0afdcd1cf707230078100c84d44d691492077444dea03993bfc026c9f225643d", - "dweb:/ipfs/QmarjEgvw4BFsczQLkEHH5FwL9L3iubxommJgyy23e5rLp" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IUniswapV2Factory.sol": { - "keccak256": "0x644fd15db1e38d724d81d3af48f5141698947fcfc36623f1270fe4d817c4dbef", - "urls": [ - "bzz-raw://ba1d613f3a8f94d87dbbed14b7ebb7ed578e30cfd08ef70a1c7efce502ca07f1", - "dweb:/ipfs/QmccdQAxVnRUmxNCgVmfmGSFnoQwm3YHmLJ2h9evFvHvAw" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IUniswapV2Pair.sol": { - "keccak256": "0xb9c7a1802e5c9e522c7dee20b0511bb55ccc600aef480083f4a6980c9d02c06c", - "urls": [ - "bzz-raw://4bbdf05da4932aad2cff00b4c087896cb6213e71dd366108e7d91d60dbdcaf2f", - "dweb:/ipfs/Qmd6waypnxTT499zcsH6tFPYyAPLnibSi17m3x84pTPrDh" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 255 -} +{ "abi": [], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": {}, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"Unless otherwise noted, these functions are adapted to our needs and style guide from an un-merged Uniswap branch: https://github.com/Uniswap/uniswap-v2-periphery/blob/267ba44471f3357071a2fe2573fe4da42d5ad969/contracts/libraries/UniswapV2LiquidityMathLibrary.sol\",\"kind\":\"dev\",\"methods\":{},\"title\":\"UniswapV2PoolTokenValueCalculator Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Abstract contract for computing the value of Uniswap liquidity pool tokens\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/infrastructure/price-feeds/utils/UniswapV2PoolTokenValueCalculator.sol\":\"UniswapV2PoolTokenValueCalculator\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/infrastructure/price-feeds/utils/UniswapV2PoolTokenValueCalculator.sol\":{\"keccak256\":\"0xca17999de98cb569b33fcfb3d170c43af74f455127107967cc59948b1797c2bc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://0afdcd1cf707230078100c84d44d691492077444dea03993bfc026c9f225643d\",\"dweb:/ipfs/QmarjEgvw4BFsczQLkEHH5FwL9L3iubxommJgyy23e5rLp\"]},\"contracts/release/interfaces/IUniswapV2Factory.sol\":{\"keccak256\":\"0x644fd15db1e38d724d81d3af48f5141698947fcfc36623f1270fe4d817c4dbef\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ba1d613f3a8f94d87dbbed14b7ebb7ed578e30cfd08ef70a1c7efce502ca07f1\",\"dweb:/ipfs/QmccdQAxVnRUmxNCgVmfmGSFnoQwm3YHmLJ2h9evFvHvAw\"]},\"contracts/release/interfaces/IUniswapV2Pair.sol\":{\"keccak256\":\"0xb9c7a1802e5c9e522c7dee20b0511bb55ccc600aef480083f4a6980c9d02c06c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://4bbdf05da4932aad2cff00b4c087896cb6213e71dd366108e7d91d60dbdcaf2f\",\"dweb:/ipfs/Qmd6waypnxTT499zcsH6tFPYyAPLnibSi17m3x84pTPrDh\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/infrastructure/price-feeds/utils/UniswapV2PoolTokenValueCalculator.sol": "UniswapV2PoolTokenValueCalculator" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/infrastructure/price-feeds/utils/UniswapV2PoolTokenValueCalculator.sol": { "keccak256": "0xca17999de98cb569b33fcfb3d170c43af74f455127107967cc59948b1797c2bc", "urls": [ "bzz-raw://0afdcd1cf707230078100c84d44d691492077444dea03993bfc026c9f225643d", "dweb:/ipfs/QmarjEgvw4BFsczQLkEHH5FwL9L3iubxommJgyy23e5rLp" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IUniswapV2Factory.sol": { "keccak256": "0x644fd15db1e38d724d81d3af48f5141698947fcfc36623f1270fe4d817c4dbef", "urls": [ "bzz-raw://ba1d613f3a8f94d87dbbed14b7ebb7ed578e30cfd08ef70a1c7efce502ca07f1", "dweb:/ipfs/QmccdQAxVnRUmxNCgVmfmGSFnoQwm3YHmLJ2h9evFvHvAw" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IUniswapV2Pair.sol": { "keccak256": "0xb9c7a1802e5c9e522c7dee20b0511bb55ccc600aef480083f4a6980c9d02c06c", "urls": [ "bzz-raw://4bbdf05da4932aad2cff00b4c087896cb6213e71dd366108e7d91d60dbdcaf2f", "dweb:/ipfs/Qmd6waypnxTT499zcsH6tFPYyAPLnibSi17m3x84pTPrDh" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" } }, "version": 1 }, "id": 255 } diff --git a/eth_defi/abi/enzyme/UniswapV3ActionsMixin.json b/eth_defi/abi/enzyme/UniswapV3ActionsMixin.json index 1988ad61..74ae484a 100644 --- a/eth_defi/abi/enzyme/UniswapV3ActionsMixin.json +++ b/eth_defi/abi/enzyme/UniswapV3ActionsMixin.json @@ -1,204 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_router", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "name": "getUniswapV3Router", - "outputs": [ - { - "internalType": "address", - "name": "router_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "getUniswapV3Router()": "b9e3de44" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_router\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"getUniswapV3Router\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"router_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"getUniswapV3Router()\":{\"returns\":{\"router_\":\"The `UNISWAP_V3_ROUTER` variable value\"}}},\"title\":\"UniswapV3ActionsMixin Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getUniswapV3Router()\":{\"notice\":\"Gets the `UNISWAP_V3_ROUTER` variable\"}},\"notice\":\"Mixin contract for interacting with Uniswap v3\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/integration-manager/integrations/utils/actions/UniswapV3ActionsMixin.sol\":\"UniswapV3ActionsMixin\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/integration-manager/integrations/utils/actions/UniswapV3ActionsMixin.sol\":{\"keccak256\":\"0xc30545bb01366dc9bdd06bac6915ab0e9b79b50aca425a4841163d1c980b06fc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://317fce8c68e45fa37408ae65fe9e686d34602952e54d7d1db4129d98c1cf42c2\",\"dweb:/ipfs/QmRPvGBbhznRSgocFBRMsE34JdHhSdJL5aDpLUFTZQP7cY\"]},\"contracts/release/interfaces/IUniswapV3SwapRouter.sol\":{\"keccak256\":\"0xf8fc3ec7698a5cbc1ac63d3602c005590485a85083bd2d6e3d0c65feb0b26374\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://89e988352337d15b7f4a818dd9d1b21b732a8338de89422d1ed4b7dcfd4c092a\",\"dweb:/ipfs/QmWBGhjqA6HNZJianHBTW1CdqGtSFvTTYN3yR3uU2c4Z3N\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_router", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getUniswapV3Router", - "outputs": [ - { - "internalType": "address", - "name": "router_", - "type": "address" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "getUniswapV3Router()": { - "returns": { - "router_": "The `UNISWAP_V3_ROUTER` variable value" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "getUniswapV3Router()": { - "notice": "Gets the `UNISWAP_V3_ROUTER` variable" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/integration-manager/integrations/utils/actions/UniswapV3ActionsMixin.sol": "UniswapV3ActionsMixin" - }, - "libraries": {} - }, - "sources": { - "contracts/release/extensions/integration-manager/integrations/utils/actions/UniswapV3ActionsMixin.sol": { - "keccak256": "0xc30545bb01366dc9bdd06bac6915ab0e9b79b50aca425a4841163d1c980b06fc", - "urls": [ - "bzz-raw://317fce8c68e45fa37408ae65fe9e686d34602952e54d7d1db4129d98c1cf42c2", - "dweb:/ipfs/QmRPvGBbhznRSgocFBRMsE34JdHhSdJL5aDpLUFTZQP7cY" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IUniswapV3SwapRouter.sol": { - "keccak256": "0xf8fc3ec7698a5cbc1ac63d3602c005590485a85083bd2d6e3d0c65feb0b26374", - "urls": [ - "bzz-raw://89e988352337d15b7f4a818dd9d1b21b732a8338de89422d1ed4b7dcfd4c092a", - "dweb:/ipfs/QmWBGhjqA6HNZJianHBTW1CdqGtSFvTTYN3yR3uU2c4Z3N" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AssetHelpers.sol": { - "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", - "urls": [ - "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", - "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { - "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", - "urls": [ - "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", - "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Address.sol": { - "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", - "urls": [ - "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", - "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 197 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_router", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "getUniswapV3Router", "inputs": [], "outputs": [ { "name": "router_", "type": "address", "internalType": "address" } ], "stateMutability": "view" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "getUniswapV3Router()": "b9e3de44" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_router\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"getUniswapV3Router\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"router_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"getUniswapV3Router()\":{\"returns\":{\"router_\":\"The `UNISWAP_V3_ROUTER` variable value\"}}},\"title\":\"UniswapV3ActionsMixin Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getUniswapV3Router()\":{\"notice\":\"Gets the `UNISWAP_V3_ROUTER` variable\"}},\"notice\":\"Mixin contract for interacting with Uniswap v3\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/integration-manager/integrations/utils/actions/UniswapV3ActionsMixin.sol\":\"UniswapV3ActionsMixin\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/integration-manager/integrations/utils/actions/UniswapV3ActionsMixin.sol\":{\"keccak256\":\"0xc30545bb01366dc9bdd06bac6915ab0e9b79b50aca425a4841163d1c980b06fc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://317fce8c68e45fa37408ae65fe9e686d34602952e54d7d1db4129d98c1cf42c2\",\"dweb:/ipfs/QmRPvGBbhznRSgocFBRMsE34JdHhSdJL5aDpLUFTZQP7cY\"]},\"contracts/release/interfaces/IUniswapV3SwapRouter.sol\":{\"keccak256\":\"0xf8fc3ec7698a5cbc1ac63d3602c005590485a85083bd2d6e3d0c65feb0b26374\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://89e988352337d15b7f4a818dd9d1b21b732a8338de89422d1ed4b7dcfd4c092a\",\"dweb:/ipfs/QmWBGhjqA6HNZJianHBTW1CdqGtSFvTTYN3yR3uU2c4Z3N\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_router", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getUniswapV3Router", "outputs": [ { "internalType": "address", "name": "router_", "type": "address" } ] } ], "devdoc": { "kind": "dev", "methods": { "getUniswapV3Router()": { "returns": { "router_": "The `UNISWAP_V3_ROUTER` variable value" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "getUniswapV3Router()": { "notice": "Gets the `UNISWAP_V3_ROUTER` variable" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/integration-manager/integrations/utils/actions/UniswapV3ActionsMixin.sol": "UniswapV3ActionsMixin" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/extensions/integration-manager/integrations/utils/actions/UniswapV3ActionsMixin.sol": { "keccak256": "0xc30545bb01366dc9bdd06bac6915ab0e9b79b50aca425a4841163d1c980b06fc", "urls": [ "bzz-raw://317fce8c68e45fa37408ae65fe9e686d34602952e54d7d1db4129d98c1cf42c2", "dweb:/ipfs/QmRPvGBbhznRSgocFBRMsE34JdHhSdJL5aDpLUFTZQP7cY" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IUniswapV3SwapRouter.sol": { "keccak256": "0xf8fc3ec7698a5cbc1ac63d3602c005590485a85083bd2d6e3d0c65feb0b26374", "urls": [ "bzz-raw://89e988352337d15b7f4a818dd9d1b21b732a8338de89422d1ed4b7dcfd4c092a", "dweb:/ipfs/QmWBGhjqA6HNZJianHBTW1CdqGtSFvTTYN3yR3uU2c4Z3N" ], "license": "GPL-3.0" }, "contracts/release/utils/AssetHelpers.sol": { "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", "urls": [ "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", "urls": [ "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Address.sol": { "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", "urls": [ "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" } }, "version": 1 }, "id": 197 } diff --git a/eth_defi/abi/enzyme/UniswapV3Adapter.json b/eth_defi/abi/enzyme/UniswapV3Adapter.json index 0e53bf5e..21b02d42 100644 --- a/eth_defi/abi/enzyme/UniswapV3Adapter.json +++ b/eth_defi/abi/enzyme/UniswapV3Adapter.json @@ -1,728 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_integrationManager", - "type": "address" - }, - { - "internalType": "address", - "name": "_router", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "name": "CLAIM_REWARDS_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "LEND_AND_STAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "LEND_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "REDEEM_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "STAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "TAKE_MULTIPLE_ORDERS_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "TAKE_ORDER_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "UNSTAKE_AND_REDEEM_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "UNSTAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getIntegrationManager", - "outputs": [ - { - "internalType": "address", - "name": "integrationManager_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getUniswapV3Router", - "outputs": [ - { - "internalType": "address", - "name": "router_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes4", - "name": "_selector", - "type": "bytes4" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - } - ], - "name": "parseAssetsForAction", - "outputs": [ - { - "internalType": "enum IIntegrationManager.SpendAssetsHandleType", - "name": "spendAssetsHandleType_", - "type": "uint8" - }, - { - "internalType": "address[]", - "name": "spendAssets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "spendAssetAmounts_", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "incomingAssets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "minIncomingAssetAmounts_", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "takeOrder", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x60c06040523480156200001157600080fd5b506040516200171938038062001719833981016040819052620000349162000066565b6001600160601b0319606092831b8116608052911b1660a052620000d1565b80516200006081620000b7565b92915050565b600080604083850312156200007a57600080fd5b600062000088858562000053565b92505060206200009b8582860162000053565b9150509250929050565b60006001600160a01b03821662000060565b620000c281620000a5565b8114620000ce57600080fd5b50565b60805160601c60a05160601c61160f6200010a6000398061033c528061061252806107215250806101935280610589525061160f6000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c8063863e5ad01161008c578063c32990a211610066578063c32990a21461014c578063c54efee514610154578063e7c4569014610178578063f7d882b514610180576100cf565b8063863e5ad014610127578063b23228cf1461012f578063b9e3de4414610137576100cf565b806303e38a2b146100d4578063080456c1146100e9578063131461c014610107578063257cb1a31461010f5780633ffc15911461011757806340da225d1461011f575b600080fd5b6100e76100e2366004610d54565b610188565b005b6100f161023e565b6040516100fe91906113af565b60405180910390f35b6100f1610262565b6100f1610286565b6100f16102aa565b6100f16102ce565b6100f16102f2565b6100f1610316565b61013f61033a565b6040516100fe919061136b565b6100f161035e565b610167610162366004610cec565b610382565b6040516100fe9594939291906113bd565b61013f610587565b6100f16105ab565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146101d95760405162461bcd60e51b81526004016101d09061145a565b60405180910390fd5b60608060008061021e88888080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506105cf92505050565b935093509350935061023389858585856105f8565b505050505050505050565b7f8334eb99be0145865eba9889fca2ee920288090caefff4cc776038e20ad9259a81565b7f29fa046e79524c3c5ac4c01df692c35e217802b2b13b21121b76cf0ef02b138c81565b7f099f75155f0e997bf83a7993a71d5e7e7540bd386fe1e84643a09ce6b412521981565b7ffa7dd04da627f433da73c4355ead9c75682a67a8fc84d3f6170ef0922f402d2481565b7fb9dfbaccbe5cd2a84fdcf1d15f23ef25d23086f5afbaa99516065ed4a5bbc7a381565b7f03e38a2bd7063d45c897edeafc330e71657502dd86434d3c37a489caf116af6981565b7f68e30677f607df46e87da13e15b637784cfa62374b653f35ab43d10361a2f83081565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f0e7f692dad5b88fdee426250d6eae91207e56a2e8112b7364579bed1790e5bf481565b600060608080806001600160e01b031988166303e38a2b60e01b146103b95760405162461bcd60e51b81526004016101d09061149a565b6060806000806103fe8b8b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506105cf92505050565b93509350935093506002845110156104285760405162461bcd60e51b81526004016101d09061144a565b825160010184511461044c5760405162461bcd60e51b81526004016101d09061142a565b60408051600180825281830190925290602080830190803683370190505097508360008151811061047957fe5b60200260200101518860008151811061048e57fe5b6001600160a01b039290921660209283029190910182015260408051600180825281830190925291828101908036833701905050965081876000815181106104d257fe5b6020908102919091010152604080516001808252818301909252908160200160208202803683370190505095508360018551038151811061050f57fe5b60200260200101518660008151811061052457fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509450808560008151811061056857fe5b6020026020010181815250506002985050505050945094509450945094565b7f000000000000000000000000000000000000000000000000000000000000000090565b7fc29fa9dde84204c2908778afd0613d802d31cf046179b88f6d2b4a4e507ea2d581565b606080600080848060200190518101906105e99190610ddb565b93509350935093509193509193565b6106378460008151811061060857fe5b60200260200101517f0000000000000000000000000000000000000000000000000000000000000000846107c7565b606060005b85518110156106e157600186510381146106a1578186828151811061065d57fe5b602002602001015186838151811061067157fe5b602002602001015160405160200161068b93929190611338565b60405160208183030381529060405291506106d9565b818682815181106106ae57fe5b60200260200101516040516020016106c7929190611316565b60405160208183030381529060405291505b60010161063c565b506106ea610b34565b6040518060a00160405280838152602001886001600160a01b031681526020014260010181526020018581526020018481525090507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c04b8d59826040518263ffffffff1660e01b815260040161076b91906114aa565b602060405180830381600087803b15801561078557600080fd5b505af1158015610799573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107bd9190610e91565b5050505050505050565b604051636eb1769f60e11b81526000906001600160a01b0385169063dd62ed3e906107f89030908790600401611379565b60206040518083038186803b15801561081057600080fd5b505afa158015610824573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108489190610e91565b90508181101561088357801561086d5761086d6001600160a01b038516846000610889565b6108836001600160a01b03851684600019610889565b50505050565b8015806109115750604051636eb1769f60e11b81526001600160a01b0384169063dd62ed3e906108bf9030908690600401611379565b60206040518083038186803b1580156108d757600080fd5b505afa1580156108eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061090f9190610e91565b155b61092d5760405162461bcd60e51b81526004016101d09061148a565b6109838363095ea7b360e01b848460405160240161094c929190611394565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610988565b505050565b60606109dd826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610a179092919063ffffffff16565b80519091501561098357808060200190518101906109fb9190610e6b565b6109835760405162461bcd60e51b81526004016101d09061147a565b6060610a268484600085610a30565b90505b9392505050565b606082471015610a525760405162461bcd60e51b81526004016101d09061143a565b610a5b85610af1565b610a775760405162461bcd60e51b81526004016101d09061146a565b60006060866001600160a01b03168587604051610a94919061130a565b60006040518083038185875af1925050503d8060008114610ad1576040519150601f19603f3d011682016040523d82523d6000602084013e610ad6565b606091505b5091509150610ae6828286610afb565b979650505050505050565b803b15155b919050565b60608315610b0a575081610a29565b825115610b1a5782518084602001fd5b8160405162461bcd60e51b81526004016101d09190611419565b6040518060a001604052806060815260200160006001600160a01b031681526020016000815260200160008152602001600081525090565b8035610b77816115ca565b92915050565b8051610b77816115ca565b600082601f830112610b9957600080fd5b8151610bac610ba7826114e2565b6114bb565b91508181835260208401935060208101905083856020840282011115610bd157600080fd5b60005b83811015610bfd5781610be78882610b7d565b8452506020928301929190910190600101610bd4565b5050505092915050565b600082601f830112610c1857600080fd5b8151610c26610ba7826114e2565b91508181835260208401935060208101905083856020840282011115610c4b57600080fd5b60005b83811015610bfd5781610c618882610cd6565b8452506020928301929190910190600101610c4e565b8051610b77816115de565b8035610b77816115e7565b60008083601f840112610c9f57600080fd5b50813567ffffffffffffffff811115610cb757600080fd5b602083019150836001820283011115610ccf57600080fd5b9250929050565b8051610b77816115f0565b8051610b77816115f9565b60008060008060608587031215610d0257600080fd5b6000610d0e8787610b6c565b9450506020610d1f87828801610c82565b935050604085013567ffffffffffffffff811115610d3c57600080fd5b610d4887828801610c8d565b95989497509550505050565b600080600080600060608688031215610d6c57600080fd5b6000610d788888610b6c565b955050602086013567ffffffffffffffff811115610d9557600080fd5b610da188828901610c8d565b9450945050604086013567ffffffffffffffff811115610dc057600080fd5b610dcc88828901610c8d565b92509250509295509295909350565b60008060008060808587031215610df157600080fd5b845167ffffffffffffffff811115610e0857600080fd5b610e1487828801610b88565b945050602085015167ffffffffffffffff811115610e3157600080fd5b610e3d87828801610c07565b9350506040610e4e87828801610ce1565b9250506060610e5f87828801610ce1565b91505092959194509250565b600060208284031215610e7d57600080fd5b6000610e898484610c77565b949350505050565b600060208284031215610ea357600080fd5b6000610e898484610ce1565b6000610ebb8383610ecf565b505060200190565b6000610ebb8383611301565b610ed881611516565b82525050565b610ed8610eea82611516565b61158b565b6000610efa82611509565b610f04818561150d565b9350610f0f83611503565b8060005b83811015610f3d578151610f278882610eaf565b9750610f3283611503565b925050600101610f13565b509495945050505050565b6000610f5382611509565b610f5d818561150d565b9350610f6883611503565b8060005b83811015610f3d578151610f808882610ec3565b9750610f8b83611503565b925050600101610f6c565b610ed881611526565b6000610faa82611509565b610fb4818561150d565b9350610fc481856020860161155f565b610fcd816115a7565b9093019392505050565b6000610fe282611509565b610fec8185610af6565b9350610ffc81856020860161155f565b9290920192915050565b610ed881611554565b600061101c60408361150d565b7f7061727365417373657473466f72416374696f6e3a20696e636f72726563742081527f70617468416464726573736573206f72207061746846656573206c656e677468602082015260400192915050565b600061107b60268361150d565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f8152651c8818d85b1b60d21b602082015260400192915050565b60006110c360308361150d565b7f7061727365417373657473466f72416374696f6e3a207061746841646472657381526f39b2b99036bab9ba103132901f1e901960811b602082015260400192915050565b600061111560328361150d565b7f4f6e6c792074686520496e746567726174696f6e4d616e616765722063616e2081527131b0b636103a3434b990333ab731ba34b7b760711b602082015260400192915050565b6000611169601d8361150d565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000815260200192915050565b60006111a2602a8361150d565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e8152691bdd081cdd58d8d9595960b21b602082015260400192915050565b60006111ee60368361150d565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f81527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b602082015260400192915050565b600061124660278361150d565b7f7061727365417373657473466f72416374696f6e3a205f73656c6563746f72208152661a5b9d985b1a5960ca1b602082015260400192915050565b805160a08084526000919084019061129a8282610f9f565b91505060208301516112af6020860182610ecf565b5060408301516112c26040860182611301565b5060608301516112d56060860182611301565b5060808301516112e86080860182611301565b509392505050565b610ed86112fc82611549565b61159c565b610ed881611551565b6000610a298284610fd7565b60006113228285610fd7565b915061132e8284610ede565b5060140192915050565b60006113448286610fd7565b91506113508285610ede565b60148201915061136082846112f0565b506003019392505050565b60208101610b778284610ecf565b604081016113878285610ecf565b610a296020830184610ecf565b604081016113a28285610ecf565b610a296020830184611301565b60208101610b778284610f96565b60a081016113cb8288611006565b81810360208301526113dd8187610eef565b905081810360408301526113f18186610f48565b905081810360608301526114058185610eef565b90508181036080830152610ae68184610f48565b60208082528101610a298184610f9f565b60208082528101610b778161100f565b60208082528101610b778161106e565b60208082528101610b77816110b6565b60208082528101610b7781611108565b60208082528101610b778161115c565b60208082528101610b7781611195565b60208082528101610b77816111e1565b60208082528101610b7781611239565b60208082528101610a298184611282565b60405181810167ffffffffffffffff811182821017156114da57600080fd5b604052919050565b600067ffffffffffffffff8211156114f957600080fd5b5060209081020190565b60200190565b5190565b90815260200190565b6000610b778261153d565b151590565b6001600160e01b03191690565b80610af6816115bd565b6001600160a01b031690565b62ffffff1690565b90565b6000610b7782611533565b60005b8381101561157a578181015183820152602001611562565b838111156108835750506000910152565b6000610b77826000610b77826115b7565b6000610b77826115b1565b601f01601f191690565b60e81b90565b60601b90565b600381106115c757fe5b50565b6115d381611516565b81146115c757600080fd5b6115d381611521565b6115d381611526565b6115d381611549565b6115d38161155156fea164736f6c634300060c000a", - "sourceMap": "554:3741:176:-:0;;;624:159;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;1938:41:179;;;;;;;;736:27:197;;;;;554:3741:176;;5:134:-1;83:13;;101:33;83:13;101:33;:::i;:::-;68:71;;;;:::o;146:399::-;;;278:2;266:9;257:7;253:23;249:32;246:2;;;294:1;291;284:12;246:2;329:1;346:64;402:7;382:9;346:64;:::i;:::-;336:74;;308:108;447:2;465:64;521:7;512:6;501:9;497:22;465:64;:::i;:::-;455:74;;426:109;240:305;;;;;:::o;552:91::-;;-1:-1;;;;;712:54;;614:24;695:76::o;778:117::-;847:24;865:5;847:24;:::i;:::-;840:5;837:35;827:2;;886:1;883;876:12;827:2;821:74;:::o;:::-;554:3741:176;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106100cf5760003560e01c8063863e5ad01161008c578063c32990a211610066578063c32990a21461014c578063c54efee514610154578063e7c4569014610178578063f7d882b514610180576100cf565b8063863e5ad014610127578063b23228cf1461012f578063b9e3de4414610137576100cf565b806303e38a2b146100d4578063080456c1146100e9578063131461c014610107578063257cb1a31461010f5780633ffc15911461011757806340da225d1461011f575b600080fd5b6100e76100e2366004610d54565b610188565b005b6100f161023e565b6040516100fe91906113af565b60405180910390f35b6100f1610262565b6100f1610286565b6100f16102aa565b6100f16102ce565b6100f16102f2565b6100f1610316565b61013f61033a565b6040516100fe919061136b565b6100f161035e565b610167610162366004610cec565b610382565b6040516100fe9594939291906113bd565b61013f610587565b6100f16105ab565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146101d95760405162461bcd60e51b81526004016101d09061145a565b60405180910390fd5b60608060008061021e88888080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506105cf92505050565b935093509350935061023389858585856105f8565b505050505050505050565b7f8334eb99be0145865eba9889fca2ee920288090caefff4cc776038e20ad9259a81565b7f29fa046e79524c3c5ac4c01df692c35e217802b2b13b21121b76cf0ef02b138c81565b7f099f75155f0e997bf83a7993a71d5e7e7540bd386fe1e84643a09ce6b412521981565b7ffa7dd04da627f433da73c4355ead9c75682a67a8fc84d3f6170ef0922f402d2481565b7fb9dfbaccbe5cd2a84fdcf1d15f23ef25d23086f5afbaa99516065ed4a5bbc7a381565b7f03e38a2bd7063d45c897edeafc330e71657502dd86434d3c37a489caf116af6981565b7f68e30677f607df46e87da13e15b637784cfa62374b653f35ab43d10361a2f83081565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f0e7f692dad5b88fdee426250d6eae91207e56a2e8112b7364579bed1790e5bf481565b600060608080806001600160e01b031988166303e38a2b60e01b146103b95760405162461bcd60e51b81526004016101d09061149a565b6060806000806103fe8b8b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506105cf92505050565b93509350935093506002845110156104285760405162461bcd60e51b81526004016101d09061144a565b825160010184511461044c5760405162461bcd60e51b81526004016101d09061142a565b60408051600180825281830190925290602080830190803683370190505097508360008151811061047957fe5b60200260200101518860008151811061048e57fe5b6001600160a01b039290921660209283029190910182015260408051600180825281830190925291828101908036833701905050965081876000815181106104d257fe5b6020908102919091010152604080516001808252818301909252908160200160208202803683370190505095508360018551038151811061050f57fe5b60200260200101518660008151811061052457fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509450808560008151811061056857fe5b6020026020010181815250506002985050505050945094509450945094565b7f000000000000000000000000000000000000000000000000000000000000000090565b7fc29fa9dde84204c2908778afd0613d802d31cf046179b88f6d2b4a4e507ea2d581565b606080600080848060200190518101906105e99190610ddb565b93509350935093509193509193565b6106378460008151811061060857fe5b60200260200101517f0000000000000000000000000000000000000000000000000000000000000000846107c7565b606060005b85518110156106e157600186510381146106a1578186828151811061065d57fe5b602002602001015186838151811061067157fe5b602002602001015160405160200161068b93929190611338565b60405160208183030381529060405291506106d9565b818682815181106106ae57fe5b60200260200101516040516020016106c7929190611316565b60405160208183030381529060405291505b60010161063c565b506106ea610b34565b6040518060a00160405280838152602001886001600160a01b031681526020014260010181526020018581526020018481525090507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c04b8d59826040518263ffffffff1660e01b815260040161076b91906114aa565b602060405180830381600087803b15801561078557600080fd5b505af1158015610799573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107bd9190610e91565b5050505050505050565b604051636eb1769f60e11b81526000906001600160a01b0385169063dd62ed3e906107f89030908790600401611379565b60206040518083038186803b15801561081057600080fd5b505afa158015610824573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108489190610e91565b90508181101561088357801561086d5761086d6001600160a01b038516846000610889565b6108836001600160a01b03851684600019610889565b50505050565b8015806109115750604051636eb1769f60e11b81526001600160a01b0384169063dd62ed3e906108bf9030908690600401611379565b60206040518083038186803b1580156108d757600080fd5b505afa1580156108eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061090f9190610e91565b155b61092d5760405162461bcd60e51b81526004016101d09061148a565b6109838363095ea7b360e01b848460405160240161094c929190611394565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610988565b505050565b60606109dd826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610a179092919063ffffffff16565b80519091501561098357808060200190518101906109fb9190610e6b565b6109835760405162461bcd60e51b81526004016101d09061147a565b6060610a268484600085610a30565b90505b9392505050565b606082471015610a525760405162461bcd60e51b81526004016101d09061143a565b610a5b85610af1565b610a775760405162461bcd60e51b81526004016101d09061146a565b60006060866001600160a01b03168587604051610a94919061130a565b60006040518083038185875af1925050503d8060008114610ad1576040519150601f19603f3d011682016040523d82523d6000602084013e610ad6565b606091505b5091509150610ae6828286610afb565b979650505050505050565b803b15155b919050565b60608315610b0a575081610a29565b825115610b1a5782518084602001fd5b8160405162461bcd60e51b81526004016101d09190611419565b6040518060a001604052806060815260200160006001600160a01b031681526020016000815260200160008152602001600081525090565b8035610b77816115ca565b92915050565b8051610b77816115ca565b600082601f830112610b9957600080fd5b8151610bac610ba7826114e2565b6114bb565b91508181835260208401935060208101905083856020840282011115610bd157600080fd5b60005b83811015610bfd5781610be78882610b7d565b8452506020928301929190910190600101610bd4565b5050505092915050565b600082601f830112610c1857600080fd5b8151610c26610ba7826114e2565b91508181835260208401935060208101905083856020840282011115610c4b57600080fd5b60005b83811015610bfd5781610c618882610cd6565b8452506020928301929190910190600101610c4e565b8051610b77816115de565b8035610b77816115e7565b60008083601f840112610c9f57600080fd5b50813567ffffffffffffffff811115610cb757600080fd5b602083019150836001820283011115610ccf57600080fd5b9250929050565b8051610b77816115f0565b8051610b77816115f9565b60008060008060608587031215610d0257600080fd5b6000610d0e8787610b6c565b9450506020610d1f87828801610c82565b935050604085013567ffffffffffffffff811115610d3c57600080fd5b610d4887828801610c8d565b95989497509550505050565b600080600080600060608688031215610d6c57600080fd5b6000610d788888610b6c565b955050602086013567ffffffffffffffff811115610d9557600080fd5b610da188828901610c8d565b9450945050604086013567ffffffffffffffff811115610dc057600080fd5b610dcc88828901610c8d565b92509250509295509295909350565b60008060008060808587031215610df157600080fd5b845167ffffffffffffffff811115610e0857600080fd5b610e1487828801610b88565b945050602085015167ffffffffffffffff811115610e3157600080fd5b610e3d87828801610c07565b9350506040610e4e87828801610ce1565b9250506060610e5f87828801610ce1565b91505092959194509250565b600060208284031215610e7d57600080fd5b6000610e898484610c77565b949350505050565b600060208284031215610ea357600080fd5b6000610e898484610ce1565b6000610ebb8383610ecf565b505060200190565b6000610ebb8383611301565b610ed881611516565b82525050565b610ed8610eea82611516565b61158b565b6000610efa82611509565b610f04818561150d565b9350610f0f83611503565b8060005b83811015610f3d578151610f278882610eaf565b9750610f3283611503565b925050600101610f13565b509495945050505050565b6000610f5382611509565b610f5d818561150d565b9350610f6883611503565b8060005b83811015610f3d578151610f808882610ec3565b9750610f8b83611503565b925050600101610f6c565b610ed881611526565b6000610faa82611509565b610fb4818561150d565b9350610fc481856020860161155f565b610fcd816115a7565b9093019392505050565b6000610fe282611509565b610fec8185610af6565b9350610ffc81856020860161155f565b9290920192915050565b610ed881611554565b600061101c60408361150d565b7f7061727365417373657473466f72416374696f6e3a20696e636f72726563742081527f70617468416464726573736573206f72207061746846656573206c656e677468602082015260400192915050565b600061107b60268361150d565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f8152651c8818d85b1b60d21b602082015260400192915050565b60006110c360308361150d565b7f7061727365417373657473466f72416374696f6e3a207061746841646472657381526f39b2b99036bab9ba103132901f1e901960811b602082015260400192915050565b600061111560328361150d565b7f4f6e6c792074686520496e746567726174696f6e4d616e616765722063616e2081527131b0b636103a3434b990333ab731ba34b7b760711b602082015260400192915050565b6000611169601d8361150d565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000815260200192915050565b60006111a2602a8361150d565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e8152691bdd081cdd58d8d9595960b21b602082015260400192915050565b60006111ee60368361150d565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f81527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b602082015260400192915050565b600061124660278361150d565b7f7061727365417373657473466f72416374696f6e3a205f73656c6563746f72208152661a5b9d985b1a5960ca1b602082015260400192915050565b805160a08084526000919084019061129a8282610f9f565b91505060208301516112af6020860182610ecf565b5060408301516112c26040860182611301565b5060608301516112d56060860182611301565b5060808301516112e86080860182611301565b509392505050565b610ed86112fc82611549565b61159c565b610ed881611551565b6000610a298284610fd7565b60006113228285610fd7565b915061132e8284610ede565b5060140192915050565b60006113448286610fd7565b91506113508285610ede565b60148201915061136082846112f0565b506003019392505050565b60208101610b778284610ecf565b604081016113878285610ecf565b610a296020830184610ecf565b604081016113a28285610ecf565b610a296020830184611301565b60208101610b778284610f96565b60a081016113cb8288611006565b81810360208301526113dd8187610eef565b905081810360408301526113f18186610f48565b905081810360608301526114058185610eef565b90508181036080830152610ae68184610f48565b60208082528101610a298184610f9f565b60208082528101610b778161100f565b60208082528101610b778161106e565b60208082528101610b77816110b6565b60208082528101610b7781611108565b60208082528101610b778161115c565b60208082528101610b7781611195565b60208082528101610b77816111e1565b60208082528101610b7781611239565b60208082528101610a298184611282565b60405181810167ffffffffffffffff811182821017156114da57600080fd5b604052919050565b600067ffffffffffffffff8211156114f957600080fd5b5060209081020190565b60200190565b5190565b90815260200190565b6000610b778261153d565b151590565b6001600160e01b03191690565b80610af6816115bd565b6001600160a01b031690565b62ffffff1690565b90565b6000610b7782611533565b60005b8381101561157a578181015183820152602001611562565b838111156108835750506000910152565b6000610b77826000610b77826115b7565b6000610b77826115b1565b601f01601f191690565b60e81b90565b60601b90565b600381106115c757fe5b50565b6115d381611516565b81146115c757600080fd5b6115d381611521565b6115d381611526565b6115d381611549565b6115d38161155156fea164736f6c634300060c000a", - "sourceMap": "554:3741:176:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;977:551;;;;;;:::i;:::-;;:::i;:::-;;1490:119:180;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1373:111;;;:::i;832:85::-;;;:::i;1034:87::-;;;:::i;1240:110::-;;;:::i;706:104::-;;;:::i;1127:91::-;;;:::i;2385:109:197:-;;;:::i;:::-;;;;;;;:::i;577:123:180:-;;;:::i;2166:1679:176:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;:::i;2637:128:179:-;;;:::i;923:89:180:-;;;:::i;977:551:176:-;1747:10:179;-1:-1:-1;;;;;1761:19:179;1747:33;;1726:130;;;;-1:-1:-1;;;1726:130:179;;;;;;;:::i;:::-;;;;;;;;;1147:30:176::1;1191:24:::0;1229:27:::1;1270:30:::0;1313:29:::1;1330:11;;1313:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;1313:16:176::1;::::0;-1:-1:-1;;;1313:29:176:i:1;:::-;1133:209;;;;;;;;1353:168;1382:11;1407:13;1434:8;1456:19;1489:22;1353:15;:168::i;:::-;1866:1:179;;;;977:551:176::0;;;;;:::o;1490:119:180:-;1558:50;1490:119;:::o;1373:111::-;1437:46;1373:111;:::o;832:85::-;878:38;832:85;:::o;1034:87::-;1081:39;1034:87;:::o;1240:110::-;1303:46;1240:110;:::o;706:104::-;766:43;706:104;:::o;1127:91::-;1176:41;1127:91;:::o;2385:109:197:-;2470:17;2385:109;:::o;577:123:180:-;647:52;577:123;:::o;2166:1679:176:-;2358:64;2436:29;;;;-1:-1:-1;;;;;;2648:32:176;;-1:-1:-1;;;2648:32:176;2640:84;;;;-1:-1:-1;;;2640:84:176;;;;;;;:::i;:::-;2749:30;2793:24;2831:27;2872:30;2915:29;2932:11;;2915:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2915:16:176;;-1:-1:-1;;;2915:29:176:i;:::-;2735:209;;;;;;;;2987:1;2963:13;:20;:25;;2955:86;;;;-1:-1:-1;;;2955:86:176;;;;;;;:::i;:::-;3096:8;:15;3114:1;3096:19;3072:13;:20;:43;3051:154;;;;-1:-1:-1;;;3051:154:176;;;;;;;:::i;:::-;3231:16;;;3245:1;3231:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3231:16:176;3216:31;;3275:13;3289:1;3275:16;;;;;;;;;;;;;;3257:12;3270:1;3257:15;;;;;;;;-1:-1:-1;;;;;3257:34:176;;;;:15;;;;;;;;;;:34;3322:16;;;3336:1;3322:16;;;;;;;;;;;;;;3257:15;3322:16;;;;;-1:-1:-1;3322:16:176;3301:37;;3372:19;3348:18;3367:1;3348:21;;;;;;;;;;;;;;;;;:43;3420:16;;;3434:1;3420:16;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3420:16:176;3402:34;;3467:13;3504:1;3481:13;:20;:24;3467:39;;;;;;;;;;;;;;3446:15;3462:1;3446:18;;;;;;;;-1:-1:-1;;;;;3446:60:176;;;;:18;;;;;;;;;;:60;3543:16;;;3557:1;3543:16;;;;;;;;;;;;;;3446:18;3543:16;;;;;-1:-1:-1;3543:16:176;3516:43;;3599:22;3569:24;3594:1;3569:27;;;;;;;;;;;;;:52;;;;;3653:50;3632:206;;;;;;2166:1679;;;;;;;;;:::o;2637:128:179:-;2739:19;2637:128;:::o;923:89:180:-;971:40;923:89;:::o;3926:367:176:-;4037:30;4081:24;4119:27;4160:30;4233:11;4222:64;;;;;;;;;;;;:::i;:::-;4215:71;;;;;;;;3926:367;;;;;:::o;1051:1138:197:-;1284:85;1310:14;1325:1;1310:17;;;;;;;;;;;;;;1329;1348:20;1284:25;:85::i;:::-;1380:24;1420:9;1415:318;1435:14;:21;1431:1;:25;1415:318;;;1510:1;1486:14;:21;:25;1481:1;:30;1477:246;;1562:11;1575:14;1590:1;1575:17;;;;;;;;;;;;;;1594:9;1604:1;1594:12;;;;;;;;;;;;;;1545:62;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;1531:76;;1477:246;;;1677:11;1690:14;1705:1;1690:17;;;;;;;;;;;;;;1660:48;;;;;;;;;:::i;:::-;;;;;;;;;;;;;1646:62;;1477:246;1458:3;;1415:318;;;;1743:50;;:::i;:::-;1796:294;;;;;;;;1871:11;1796:294;;;;1911:10;-1:-1:-1;;;;;1796:294:197;;;;;1949:15;1967:1;1949:19;1796:294;;;;1996:20;1796:294;;;;2052:23;1796:294;;;1743:347;;2146:17;-1:-1:-1;;;;;2125:50:197;;2176:5;2125:57;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;1051:1138;;;;;;;:::o;2554:434:355:-;2714:47;;-1:-1:-1;;;2714:47:355;;2694:17;;-1:-1:-1;;;;;2714:23:355;;;;;:47;;2746:4;;2753:7;;2714:47;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2694:67;;2787:13;2775:9;:25;2771:211;;;2820:13;;2816:89;;2853:37;-1:-1:-1;;;;;2853:25:355;;2879:7;2888:1;2853:25;:37::i;:::-;2918:53;-1:-1:-1;;;;;2918:25:355;;2944:7;-1:-1:-1;;2918:25:355;:53::i;:::-;2554:434;;;;:::o;1348:613:450:-;1713:10;;;1712:62;;-1:-1:-1;1729:39:450;;-1:-1:-1;;;1729:39:450;;-1:-1:-1;;;;;1729:15:450;;;;;:39;;1753:4;;1760:7;;1729:39;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:44;1712:62;1704:150;;;;-1:-1:-1;;;1704:150:450;;;;;;;:::i;:::-;1864:90;1884:5;1914:22;;;1938:7;1947:5;1891:62;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;1891:62:450;;;;;;;;;;;;;;-1:-1:-1;;;;;1891:62:450;-1:-1:-1;;;;;;1891:62:450;;;;;;;;;;1864:19;:90::i;:::-;1348:613;;;:::o;2967:751::-;3386:23;3412:69;3440:4;3412:69;;;;;;;;;;;;;;;;;3420:5;-1:-1:-1;;;;;3412:27:450;;;:69;;;;;:::i;:::-;3495:17;;3386:95;;-1:-1:-1;3495:21:450;3491:221;;3635:10;3624:30;;;;;;;;;;;;:::i;:::-;3616:85;;;;-1:-1:-1;;;3616:85:450;;;;;;;:::i;3581:193:451:-;3684:12;3715:52;3737:6;3745:4;3751:1;3754:12;3715:21;:52::i;:::-;3708:59;;3581:193;;;;;;:::o;4608:523::-;4735:12;4792:5;4767:21;:30;;4759:81;;;;-1:-1:-1;;;4759:81:451;;;;;;;:::i;:::-;4858:18;4869:6;4858:10;:18::i;:::-;4850:60;;;;-1:-1:-1;;;4850:60:451;;;;;;;:::i;:::-;4981:12;4995:23;5022:6;-1:-1:-1;;;;;5022:11:451;5042:5;5050:4;5022:33;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4980:75;;;;5072:52;5090:7;5099:10;5111:12;5072:17;:52::i;:::-;5065:59;4608:523;-1:-1:-1;;;;;;;4608:523:451:o;726:413::-;1086:20;;1124:8;;726:413;;;;:::o;7091:725::-;7206:12;7234:7;7230:580;;;-1:-1:-1;7264:10:451;7257:17;;7230:580;7375:17;;:21;7371:429;;7633:10;7627:17;7693:15;7680:10;7676:2;7672:19;7665:44;7582:145;7772:12;7765:20;;-1:-1:-1;;;7765:20:451;;;;;;;;:::i;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5:130::-;72:20;;97:33;72:20;97:33;:::i;:::-;57:78;;;;:::o;142:134::-;220:13;;238:33;220:13;238:33;:::i;301:722::-;;429:3;422:4;414:6;410:17;406:27;396:2;;447:1;444;437:12;396:2;477:6;471:13;499:80;514:64;571:6;514:64;:::i;:::-;499:80;:::i;:::-;490:89;;596:5;621:6;614:5;607:21;651:4;643:6;639:17;629:27;;673:4;668:3;664:14;657:21;;726:6;773:3;765:4;757:6;753:17;748:3;744:27;741:36;738:2;;;790:1;787;780:12;738:2;815:1;800:217;825:6;822:1;819:13;800:217;;;883:3;905:48;949:3;937:10;905:48;:::i;:::-;893:61;;-1:-1;977:4;968:14;;;;996;;;;;847:1;840:9;800:217;;;804:14;389:634;;;;;;;:::o;1048:719::-;;1175:3;1168:4;1160:6;1156:17;1152:27;1142:2;;1193:1;1190;1183:12;1142:2;1223:6;1217:13;1245:79;1260:63;1316:6;1260:63;:::i;1245:79::-;1236:88;;1341:5;1366:6;1359:5;1352:21;1396:4;1388:6;1384:17;1374:27;;1418:4;1413:3;1409:14;1402:21;;1471:6;1518:3;1510:4;1502:6;1498:17;1493:3;1489:27;1486:36;1483:2;;;1535:1;1532;1525:12;1483:2;1560:1;1545:216;1570:6;1567:1;1564:13;1545:216;;;1628:3;1650:47;1693:3;1681:10;1650:47;:::i;:::-;1638:60;;-1:-1;1721:4;1712:14;;;;1740;;;;;1592:1;1585:9;1545:216;;1775:128;1850:13;;1868:30;1850:13;1868:30;:::i;1910:128::-;1976:20;;2001:32;1976:20;2001:32;:::i;2059:336::-;;;2173:3;2166:4;2158:6;2154:17;2150:27;2140:2;;2191:1;2188;2181:12;2140:2;-1:-1;2211:20;;2251:18;2240:30;;2237:2;;;2283:1;2280;2273:12;2237:2;2317:4;2309:6;2305:17;2293:29;;2368:3;2360:4;2352:6;2348:17;2338:8;2334:32;2331:41;2328:2;;;2385:1;2382;2375:12;2328:2;2133:262;;;;;:::o;2403:132::-;2480:13;;2498:32;2480:13;2498:32;:::i;2542:134::-;2620:13;;2638:33;2620:13;2638:33;:::i;2683:613::-;;;;;2839:2;2827:9;2818:7;2814:23;2810:32;2807:2;;;2855:1;2852;2845:12;2807:2;2890:1;2907:53;2952:7;2932:9;2907:53;:::i;:::-;2897:63;;2869:97;2997:2;3015:52;3059:7;3050:6;3039:9;3035:22;3015:52;:::i;:::-;3005:62;;2976:97;3132:2;3121:9;3117:18;3104:32;3156:18;3148:6;3145:30;3142:2;;;3188:1;3185;3178:12;3142:2;3216:64;3272:7;3263:6;3252:9;3248:22;3216:64;:::i;:::-;2801:495;;;;-1:-1;3198:82;-1:-1;;;;2801:495::o;3303:739::-;;;;;;3479:2;3467:9;3458:7;3454:23;3450:32;3447:2;;;3495:1;3492;3485:12;3447:2;3530:1;3547:53;3592:7;3572:9;3547:53;:::i;:::-;3537:63;;3509:97;3665:2;3654:9;3650:18;3637:32;3689:18;3681:6;3678:30;3675:2;;;3721:1;3718;3711:12;3675:2;3749:64;3805:7;3796:6;3785:9;3781:22;3749:64;:::i;:::-;3731:82;;;;3616:203;3878:2;3867:9;3863:18;3850:32;3902:18;3894:6;3891:30;3888:2;;;3934:1;3931;3924:12;3888:2;3962:64;4018:7;4009:6;3998:9;3994:22;3962:64;:::i;:::-;3944:82;;;;3829:203;3441:601;;;;;;;;:::o;4049:928::-;;;;;4264:3;4252:9;4243:7;4239:23;4235:33;4232:2;;;4281:1;4278;4271:12;4232:2;4316:24;;4360:18;4349:30;;4346:2;;;4392:1;4389;4382:12;4346:2;4412:89;4493:7;4484:6;4473:9;4469:22;4412:89;:::i;:::-;4402:99;;4295:212;4559:2;4548:9;4544:18;4538:25;4583:18;4575:6;4572:30;4569:2;;;4615:1;4612;4605:12;4569:2;4635:88;4715:7;4706:6;4695:9;4691:22;4635:88;:::i;:::-;4625:98;;4517:212;4760:2;4778:64;4834:7;4825:6;4814:9;4810:22;4778:64;:::i;:::-;4768:74;;4739:109;4879:2;4897:64;4953:7;4944:6;4933:9;4929:22;4897:64;:::i;:::-;4887:74;;4858:109;4226:751;;;;;;;:::o;4984:257::-;;5096:2;5084:9;5075:7;5071:23;5067:32;5064:2;;;5112:1;5109;5102:12;5064:2;5147:1;5164:61;5217:7;5197:9;5164:61;:::i;:::-;5154:71;5058:183;-1:-1;;;;5058:183::o;5248:263::-;;5363:2;5351:9;5342:7;5338:23;5334:32;5331:2;;;5379:1;5376;5369:12;5331:2;5414:1;5431:64;5487:7;5467:9;5431:64;:::i;5519:173::-;;5606:46;5648:3;5640:6;5606:46;:::i;:::-;-1:-1;;5681:4;5672:14;;5599:93::o;5701:173::-;;5788:46;5830:3;5822:6;5788:46;:::i;5882:103::-;5955:24;5973:5;5955:24;:::i;:::-;5950:3;5943:37;5937:48;;:::o;6112:152::-;6213:45;6233:24;6251:5;6233:24;:::i;:::-;6213:45;:::i;6302:690::-;;6447:54;6495:5;6447:54;:::i;:::-;6514:86;6593:6;6588:3;6514:86;:::i;:::-;6507:93;;6621:56;6671:5;6621:56;:::i;:::-;6697:7;6725:1;6710:260;6735:6;6732:1;6729:13;6710:260;;;6802:6;6796:13;6823:63;6882:3;6867:13;6823:63;:::i;:::-;6816:70;;6903:60;6956:6;6903:60;:::i;:::-;6893:70;-1:-1;;6757:1;6750:9;6710:260;;;-1:-1;6983:3;;6426:566;-1:-1;;;;;6426:566::o;7031:690::-;;7176:54;7224:5;7176:54;:::i;:::-;7243:86;7322:6;7317:3;7243:86;:::i;:::-;7236:93;;7350:56;7400:5;7350:56;:::i;:::-;7426:7;7454:1;7439:260;7464:6;7461:1;7458:13;7439:260;;;7531:6;7525:13;7552:63;7611:3;7596:13;7552:63;:::i;:::-;7545:70;;7632:60;7685:6;7632:60;:::i;:::-;7622:70;-1:-1;;7486:1;7479:9;7439:260;;7729:110;7810:23;7827:5;7810:23;:::i;7846:323::-;;7946:38;7978:5;7946:38;:::i;:::-;7996:60;8049:6;8044:3;7996:60;:::i;:::-;7989:67;;8061:52;8106:6;8101:3;8094:4;8087:5;8083:16;8061:52;:::i;:::-;8134:29;8156:6;8134:29;:::i;:::-;8125:39;;;;7926:243;-1:-1;;;7926:243::o;8176:356::-;;8304:38;8336:5;8304:38;:::i;:::-;8354:88;8435:6;8430:3;8354:88;:::i;:::-;8347:95;;8447:52;8492:6;8487:3;8480:4;8473:5;8469:16;8447:52;:::i;:::-;8511:16;;;;;8284:248;-1:-1;;8284:248::o;8539:176::-;8647:62;8703:5;8647:62;:::i;9077:401::-;;9237:67;9301:2;9296:3;9237:67;:::i;:::-;9337:34;9317:55;;9406:34;9401:2;9392:12;;9385:56;9469:2;9460:12;;9223:255;-1:-1;;9223:255::o;9487:375::-;;9647:67;9711:2;9706:3;9647:67;:::i;:::-;9747:34;9727:55;;-1:-1;;;9811:2;9802:12;;9795:30;9853:2;9844:12;;9633:229;-1:-1;;9633:229::o;9871:385::-;;10031:67;10095:2;10090:3;10031:67;:::i;:::-;10131:34;10111:55;;-1:-1;;;10195:2;10186:12;;10179:40;10247:2;10238:12;;10017:239;-1:-1;;10017:239::o;10265:387::-;;10425:67;10489:2;10484:3;10425:67;:::i;:::-;10525:34;10505:55;;-1:-1;;;10589:2;10580:12;;10573:42;10643:2;10634:12;;10411:241;-1:-1;;10411:241::o;10661:329::-;;10821:67;10885:2;10880:3;10821:67;:::i;:::-;10921:31;10901:52;;10981:2;10972:12;;10807:183;-1:-1;;10807:183::o;10999:379::-;;11159:67;11223:2;11218:3;11159:67;:::i;:::-;11259:34;11239:55;;-1:-1;;;11323:2;11314:12;;11307:34;11369:2;11360:12;;11145:233;-1:-1;;11145:233::o;11387:391::-;;11547:67;11611:2;11606:3;11547:67;:::i;:::-;11647:34;11627:55;;-1:-1;;;11711:2;11702:12;;11695:46;11769:2;11760:12;;11533:245;-1:-1;;11533:245::o;11787:376::-;;11947:67;12011:2;12006:3;11947:67;:::i;:::-;12047:34;12027:55;;-1:-1;;;12111:2;12102:12;;12095:31;12154:2;12145:12;;11933:230;-1:-1;;11933:230::o;12270:1076::-;12507:23;;12441:4;12543:38;;;12270:1076;;12432:14;;;;12596:71;12432:14;12507:23;12596:71;:::i;:::-;12588:79;;12461:218;12757:4;12750:5;12746:16;12740:23;12769:63;12826:4;12821:3;12817:14;12803:12;12769:63;:::i;:::-;12689:149;12915:4;12908:5;12904:16;12898:23;12927:63;12984:4;12979:3;12975:14;12961:12;12927:63;:::i;:::-;12848:148;13073:4;13066:5;13062:16;13056:23;13085:63;13142:4;13137:3;13133:14;13119:12;13085:63;:::i;:::-;13006:148;13239:4;13232:5;13228:16;13222:23;13251:63;13308:4;13303:3;13299:14;13285:12;13251:63;:::i;:::-;-1:-1;13337:4;12414:932;-1:-1;;;12414:932::o;13353:148::-;13452:43;13471:23;13488:5;13471:23;:::i;:::-;13452:43;:::i;13508:103::-;13581:24;13599:5;13581:24;:::i;13738:271::-;;13891:93;13980:3;13971:6;13891:93;:::i;14016:410::-;;14197:93;14286:3;14277:6;14197:93;:::i;:::-;14190:100;;14301:75;14372:3;14363:6;14301:75;:::i;:::-;-1:-1;14398:2;14389:12;;14178:248;-1:-1;;14178:248::o;14433:544::-;;14640:93;14729:3;14720:6;14640:93;:::i;:::-;14633:100;;14744:75;14815:3;14806:6;14744:75;:::i;:::-;14841:2;14836:3;14832:12;14825:19;;14855:73;14924:3;14915:6;14855:73;:::i;:::-;-1:-1;14950:1;14941:11;;14621:356;-1:-1;;;14621:356::o;14984:222::-;15111:2;15096:18;;15125:71;15100:9;15169:6;15125:71;:::i;15213:333::-;15368:2;15353:18;;15382:71;15357:9;15426:6;15382:71;:::i;:::-;15464:72;15532:2;15521:9;15517:18;15508:6;15464:72;:::i;15553:333::-;15708:2;15693:18;;15722:71;15697:9;15766:6;15722:71;:::i;:::-;15804:72;15872:2;15861:9;15857:18;15848:6;15804:72;:::i;15893:218::-;16018:2;16003:18;;16032:69;16007:9;16074:6;16032:69;:::i;16118:1310::-;16582:3;16567:19;;16597:96;16571:9;16666:6;16597:96;:::i;:::-;16741:9;16735:4;16731:20;16726:2;16715:9;16711:18;16704:48;16766:108;16869:4;16860:6;16766:108;:::i;:::-;16758:116;;16922:9;16916:4;16912:20;16907:2;16896:9;16892:18;16885:48;16947:108;17050:4;17041:6;16947:108;:::i;:::-;16939:116;;17103:9;17097:4;17093:20;17088:2;17077:9;17073:18;17066:48;17128:108;17231:4;17222:6;17128:108;:::i;:::-;17120:116;;17285:9;17279:4;17275:20;17269:3;17258:9;17254:19;17247:49;17310:108;17413:4;17404:6;17310:108;:::i;17435:310::-;17582:2;17596:47;;;17567:18;;17657:78;17567:18;17721:6;17657:78;:::i;17752:416::-;17952:2;17966:47;;;17937:18;;18027:131;17937:18;18027:131;:::i;18175:416::-;18375:2;18389:47;;;18360:18;;18450:131;18360:18;18450:131;:::i;18598:416::-;18798:2;18812:47;;;18783:18;;18873:131;18783:18;18873:131;:::i;19021:416::-;19221:2;19235:47;;;19206:18;;19296:131;19206:18;19296:131;:::i;19444:416::-;19644:2;19658:47;;;19629:18;;19719:131;19629:18;19719:131;:::i;19867:416::-;20067:2;20081:47;;;20052:18;;20142:131;20052:18;20142:131;:::i;20290:416::-;20490:2;20504:47;;;20475:18;;20565:131;20475:18;20565:131;:::i;20713:416::-;20913:2;20927:47;;;20898:18;;20988:131;20898:18;20988:131;:::i;21136:410::-;21333:2;21347:47;;;21318:18;;21408:128;21318:18;21522:6;21408:128;:::i;21553:256::-;21615:2;21609:9;21641:17;;;21716:18;21701:34;;21737:22;;;21698:62;21695:2;;;21773:1;21770;21763:12;21695:2;21789;21782:22;21593:216;;-1:-1;21593:216::o;21816:304::-;;21975:18;21967:6;21964:30;21961:2;;;22007:1;22004;21997:12;21961:2;-1:-1;22042:4;22030:17;;;22095:15;;21898:222::o;22437:151::-;22561:4;22552:14;;22509:79::o;22753:137::-;22856:12;;22827:63::o;23529:178::-;23647:19;;;23696:4;23687:14;;23640:67::o;24388:91::-;;24450:24;24468:5;24450:24;:::i;24486:85::-;24552:13;24545:21;;24528:43::o;24578:144::-;-1:-1;;;;;;24639:78;;24622:100::o;24729:160::-;24818:5;24824:60;24818:5;24824:60;:::i;24896:121::-;-1:-1;;;;;24958:54;;24941:76::o;25024:86::-;25096:8;25085:20;;25068:42::o;25117:72::-;25179:5;25162:27::o;25196:160::-;;25300:51;25345:5;25300:51;:::i;25364:268::-;25429:1;25436:101;25450:6;25447:1;25444:13;25436:101;;;25517:11;;;25511:18;25498:11;;;25491:39;25472:2;25465:10;25436:101;;;25552:6;25549:1;25546:13;25543:2;;;-1:-1;;25617:1;25599:16;;25592:27;25413:219::o;25640:95::-;;25704:26;25724:5;25742:89;25806:20;25820:5;25806:20;:::i;25838:89::-;;25901:21;25916:5;25901:21;:::i;25934:97::-;26022:2;26002:14;-1:-1;;25998:28;;25982:49::o;26039:96::-;26114:3;26110:15;;26082:53::o;26143:94::-;26217:2;26213:14;;26185:52::o;26245:118::-;26341:1;26334:5;26331:12;26321:2;;26347:9;26321:2;26315:48;:::o;26370:117::-;26439:24;26457:5;26439:24;:::i;:::-;26432:5;26429:35;26419:2;;26478:1;26475;26468:12;26494:111;26560:21;26575:5;26560:21;:::i;26612:115::-;26680:23;26697:5;26680:23;:::i;26734:115::-;26802:23;26819:5;26802:23;:::i;26856:117::-;26925:24;26943:5;26925:24;:::i", - "linkReferences": {}, - "immutableReferences": { - "49791": [ - { - "start": 403, - "length": 32 - }, - { - "start": 1417, - "length": 32 - } - ], - "52263": [ - { - "start": 828, - "length": 32 - }, - { - "start": 1554, - "length": 32 - }, - { - "start": 1825, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "CLAIM_REWARDS_SELECTOR()": "40da225d", - "LEND_AND_STAKE_SELECTOR()": "131461c0", - "LEND_SELECTOR()": "257cb1a3", - "REDEEM_SELECTOR()": "f7d882b5", - "STAKE_SELECTOR()": "3ffc1591", - "TAKE_MULTIPLE_ORDERS_SELECTOR()": "c32990a2", - "TAKE_ORDER_SELECTOR()": "863e5ad0", - "UNSTAKE_AND_REDEEM_SELECTOR()": "080456c1", - "UNSTAKE_SELECTOR()": "b23228cf", - "getIntegrationManager()": "e7c45690", - "getUniswapV3Router()": "b9e3de44", - "parseAssetsForAction(address,bytes4,bytes)": "c54efee5", - "takeOrder(address,bytes,bytes)": "03e38a2b" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_integrationManager\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_router\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"CLAIM_REWARDS_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LEND_AND_STAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LEND_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"REDEEM_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"STAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TAKE_MULTIPLE_ORDERS_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TAKE_ORDER_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UNSTAKE_AND_REDEEM_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UNSTAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getIntegrationManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"integrationManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getUniswapV3Router\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"router_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"_selector\",\"type\":\"bytes4\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"}],\"name\":\"parseAssetsForAction\",\"outputs\":[{\"internalType\":\"enum IIntegrationManager.SpendAssetsHandleType\",\"name\":\"spendAssetsHandleType_\",\"type\":\"uint8\"},{\"internalType\":\"address[]\",\"name\":\"spendAssets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"spendAssetAmounts_\",\"type\":\"uint256[]\"},{\"internalType\":\"address[]\",\"name\":\"incomingAssets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"minIncomingAssetAmounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"takeOrder\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"getIntegrationManager()\":{\"returns\":{\"integrationManager_\":\"The `INTEGRATION_MANAGER` variable value\"}},\"getUniswapV3Router()\":{\"returns\":{\"router_\":\"The `UNISWAP_V3_ROUTER` variable value\"}},\"parseAssetsForAction(address,bytes4,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_selector\":\"The function selector for the callOnIntegration\"},\"returns\":{\"incomingAssets_\":\"The assets to receive in the call\",\"minIncomingAssetAmounts_\":\"The min asset amounts to receive in the call\",\"spendAssetAmounts_\":\"The max asset amounts to spend in the call\",\"spendAssetsHandleType_\":\"A type that dictates how to handle granting the adapter access to spend assets (`None` by default)\",\"spendAssets_\":\"The assets to spend in the call\"}},\"takeOrder(address,bytes,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}}},\"title\":\"UniswapV3SwapAdapter Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getIntegrationManager()\":{\"notice\":\"Gets the `INTEGRATION_MANAGER` variable\"},\"getUniswapV3Router()\":{\"notice\":\"Gets the `UNISWAP_V3_ROUTER` variable\"},\"parseAssetsForAction(address,bytes4,bytes)\":{\"notice\":\"Parses the expected assets in a particular action\"},\"takeOrder(address,bytes,bytes)\":{\"notice\":\"Trades assets on UniswapV3\"}},\"notice\":\"Adapter for interacting with UniswapV3 swaps\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/integration-manager/integrations/adapters/UniswapV3Adapter.sol\":\"UniswapV3Adapter\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/integration-manager/IIntegrationManager.sol\":{\"keccak256\":\"0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23\",\"dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk\"]},\"contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol\":{\"keccak256\":\"0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336\",\"dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS\"]},\"contracts/release/extensions/integration-manager/integrations/adapters/UniswapV3Adapter.sol\":{\"keccak256\":\"0x73785dbe9188e02561ed6b7684b4c5ff32e8464036ae219a63ce7ba50b444e19\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://729df5ad5f2124861665b27288a77a41bc20f8e703439547b63acd3b567f28a6\",\"dweb:/ipfs/QmfBUZ9oRoWBwRLiobuRaRwcm3RX3rXXRS48tTgoH22j6d\"]},\"contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol\":{\"keccak256\":\"0x067e49bf0d3c1655ab41a413c65ccf61d4e593308132e1ffc484a0fadfbbaf26\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://387f425017e18e89cc1893521101fa99df595314847d0b3d9a1162369f714fcf\",\"dweb:/ipfs/Qmco3jCvuWAyfCpBYpGzHrQjiFJG63w1RJKcakoTEbxRQm\"]},\"contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol\":{\"keccak256\":\"0xfd34c7ca8231c6935e25dede32ca2b3121738e624d0fc896f7b895a731edcf88\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d492c061963d36d07718446db191d4c5a340c0d847f6cd209f027bd99f7cb176\",\"dweb:/ipfs/QmfCvRZt56ftDdrEh6LepHXFJ4fVtcfpQGvEyY8k4zxG1A\"]},\"contracts/release/extensions/integration-manager/integrations/utils/actions/UniswapV3ActionsMixin.sol\":{\"keccak256\":\"0xc30545bb01366dc9bdd06bac6915ab0e9b79b50aca425a4841163d1c980b06fc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://317fce8c68e45fa37408ae65fe9e686d34602952e54d7d1db4129d98c1cf42c2\",\"dweb:/ipfs/QmRPvGBbhznRSgocFBRMsE34JdHhSdJL5aDpLUFTZQP7cY\"]},\"contracts/release/interfaces/IUniswapV3SwapRouter.sol\":{\"keccak256\":\"0xf8fc3ec7698a5cbc1ac63d3602c005590485a85083bd2d6e3d0c65feb0b26374\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://89e988352337d15b7f4a818dd9d1b21b732a8338de89422d1ed4b7dcfd4c092a\",\"dweb:/ipfs/QmWBGhjqA6HNZJianHBTW1CdqGtSFvTTYN3yR3uU2c4Z3N\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_integrationManager", - "type": "address" - }, - { - "internalType": "address", - "name": "_router", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "CLAIM_REWARDS_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "LEND_AND_STAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "LEND_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "REDEEM_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "STAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "TAKE_MULTIPLE_ORDERS_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "TAKE_ORDER_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "UNSTAKE_AND_REDEEM_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "UNSTAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getIntegrationManager", - "outputs": [ - { - "internalType": "address", - "name": "integrationManager_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getUniswapV3Router", - "outputs": [ - { - "internalType": "address", - "name": "router_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes4", - "name": "_selector", - "type": "bytes4" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - } - ], - "stateMutability": "view", - "type": "function", - "name": "parseAssetsForAction", - "outputs": [ - { - "internalType": "enum IIntegrationManager.SpendAssetsHandleType", - "name": "spendAssetsHandleType_", - "type": "uint8" - }, - { - "internalType": "address[]", - "name": "spendAssets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "spendAssetAmounts_", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "incomingAssets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "minIncomingAssetAmounts_", - "type": "uint256[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "takeOrder" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "getIntegrationManager()": { - "returns": { - "integrationManager_": "The `INTEGRATION_MANAGER` variable value" - } - }, - "getUniswapV3Router()": { - "returns": { - "router_": "The `UNISWAP_V3_ROUTER` variable value" - } - }, - "parseAssetsForAction(address,bytes4,bytes)": { - "params": { - "_actionData": "Data specific to this action", - "_selector": "The function selector for the callOnIntegration" - }, - "returns": { - "incomingAssets_": "The assets to receive in the call", - "minIncomingAssetAmounts_": "The min asset amounts to receive in the call", - "spendAssetAmounts_": "The max asset amounts to spend in the call", - "spendAssetsHandleType_": "A type that dictates how to handle granting the adapter access to spend assets (`None` by default)", - "spendAssets_": "The assets to spend in the call" - } - }, - "takeOrder(address,bytes,bytes)": { - "params": { - "_actionData": "Data specific to this action", - "_vaultProxy": "The VaultProxy of the calling fund" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "getIntegrationManager()": { - "notice": "Gets the `INTEGRATION_MANAGER` variable" - }, - "getUniswapV3Router()": { - "notice": "Gets the `UNISWAP_V3_ROUTER` variable" - }, - "parseAssetsForAction(address,bytes4,bytes)": { - "notice": "Parses the expected assets in a particular action" - }, - "takeOrder(address,bytes,bytes)": { - "notice": "Trades assets on UniswapV3" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/integration-manager/integrations/adapters/UniswapV3Adapter.sol": "UniswapV3Adapter" - }, - "libraries": {} - }, - "sources": { - "contracts/release/extensions/integration-manager/IIntegrationManager.sol": { - "keccak256": "0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef", - "urls": [ - "bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23", - "dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol": { - "keccak256": "0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1", - "urls": [ - "bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336", - "dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/adapters/UniswapV3Adapter.sol": { - "keccak256": "0x73785dbe9188e02561ed6b7684b4c5ff32e8464036ae219a63ce7ba50b444e19", - "urls": [ - "bzz-raw://729df5ad5f2124861665b27288a77a41bc20f8e703439547b63acd3b567f28a6", - "dweb:/ipfs/QmfBUZ9oRoWBwRLiobuRaRwcm3RX3rXXRS48tTgoH22j6d" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol": { - "keccak256": "0x067e49bf0d3c1655ab41a413c65ccf61d4e593308132e1ffc484a0fadfbbaf26", - "urls": [ - "bzz-raw://387f425017e18e89cc1893521101fa99df595314847d0b3d9a1162369f714fcf", - "dweb:/ipfs/Qmco3jCvuWAyfCpBYpGzHrQjiFJG63w1RJKcakoTEbxRQm" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol": { - "keccak256": "0xfd34c7ca8231c6935e25dede32ca2b3121738e624d0fc896f7b895a731edcf88", - "urls": [ - "bzz-raw://d492c061963d36d07718446db191d4c5a340c0d847f6cd209f027bd99f7cb176", - "dweb:/ipfs/QmfCvRZt56ftDdrEh6LepHXFJ4fVtcfpQGvEyY8k4zxG1A" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/utils/actions/UniswapV3ActionsMixin.sol": { - "keccak256": "0xc30545bb01366dc9bdd06bac6915ab0e9b79b50aca425a4841163d1c980b06fc", - "urls": [ - "bzz-raw://317fce8c68e45fa37408ae65fe9e686d34602952e54d7d1db4129d98c1cf42c2", - "dweb:/ipfs/QmRPvGBbhznRSgocFBRMsE34JdHhSdJL5aDpLUFTZQP7cY" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IUniswapV3SwapRouter.sol": { - "keccak256": "0xf8fc3ec7698a5cbc1ac63d3602c005590485a85083bd2d6e3d0c65feb0b26374", - "urls": [ - "bzz-raw://89e988352337d15b7f4a818dd9d1b21b732a8338de89422d1ed4b7dcfd4c092a", - "dweb:/ipfs/QmWBGhjqA6HNZJianHBTW1CdqGtSFvTTYN3yR3uU2c4Z3N" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AssetHelpers.sol": { - "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", - "urls": [ - "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", - "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { - "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", - "urls": [ - "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", - "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Address.sol": { - "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", - "urls": [ - "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", - "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 176 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_integrationManager", "type": "address", "internalType": "address" }, { "name": "_router", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "CLAIM_REWARDS_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "LEND_AND_STAKE_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "LEND_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "REDEEM_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "STAKE_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "TAKE_MULTIPLE_ORDERS_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "TAKE_ORDER_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "UNSTAKE_AND_REDEEM_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "UNSTAKE_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "getIntegrationManager", "inputs": [], "outputs": [ { "name": "integrationManager_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getUniswapV3Router", "inputs": [], "outputs": [ { "name": "router_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "parseAssetsForAction", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "_selector", "type": "bytes4", "internalType": "bytes4" }, { "name": "_actionData", "type": "bytes", "internalType": "bytes" } ], "outputs": [ { "name": "spendAssetsHandleType_", "type": "uint8", "internalType": "enum IIntegrationManager.SpendAssetsHandleType" }, { "name": "spendAssets_", "type": "address[]", "internalType": "address[]" }, { "name": "spendAssetAmounts_", "type": "uint256[]", "internalType": "uint256[]" }, { "name": "incomingAssets_", "type": "address[]", "internalType": "address[]" }, { "name": "minIncomingAssetAmounts_", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "view" }, { "type": "function", "name": "takeOrder", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_actionData", "type": "bytes", "internalType": "bytes" }, { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x60c06040523480156200001157600080fd5b506040516200171938038062001719833981016040819052620000349162000066565b6001600160601b0319606092831b8116608052911b1660a052620000d1565b80516200006081620000b7565b92915050565b600080604083850312156200007a57600080fd5b600062000088858562000053565b92505060206200009b8582860162000053565b9150509250929050565b60006001600160a01b03821662000060565b620000c281620000a5565b8114620000ce57600080fd5b50565b60805160601c60a05160601c61160f6200010a6000398061033c528061061252806107215250806101935280610589525061160f6000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c8063863e5ad01161008c578063c32990a211610066578063c32990a21461014c578063c54efee514610154578063e7c4569014610178578063f7d882b514610180576100cf565b8063863e5ad014610127578063b23228cf1461012f578063b9e3de4414610137576100cf565b806303e38a2b146100d4578063080456c1146100e9578063131461c014610107578063257cb1a31461010f5780633ffc15911461011757806340da225d1461011f575b600080fd5b6100e76100e2366004610d54565b610188565b005b6100f161023e565b6040516100fe91906113af565b60405180910390f35b6100f1610262565b6100f1610286565b6100f16102aa565b6100f16102ce565b6100f16102f2565b6100f1610316565b61013f61033a565b6040516100fe919061136b565b6100f161035e565b610167610162366004610cec565b610382565b6040516100fe9594939291906113bd565b61013f610587565b6100f16105ab565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146101d95760405162461bcd60e51b81526004016101d09061145a565b60405180910390fd5b60608060008061021e88888080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506105cf92505050565b935093509350935061023389858585856105f8565b505050505050505050565b7f8334eb99be0145865eba9889fca2ee920288090caefff4cc776038e20ad9259a81565b7f29fa046e79524c3c5ac4c01df692c35e217802b2b13b21121b76cf0ef02b138c81565b7f099f75155f0e997bf83a7993a71d5e7e7540bd386fe1e84643a09ce6b412521981565b7ffa7dd04da627f433da73c4355ead9c75682a67a8fc84d3f6170ef0922f402d2481565b7fb9dfbaccbe5cd2a84fdcf1d15f23ef25d23086f5afbaa99516065ed4a5bbc7a381565b7f03e38a2bd7063d45c897edeafc330e71657502dd86434d3c37a489caf116af6981565b7f68e30677f607df46e87da13e15b637784cfa62374b653f35ab43d10361a2f83081565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f0e7f692dad5b88fdee426250d6eae91207e56a2e8112b7364579bed1790e5bf481565b600060608080806001600160e01b031988166303e38a2b60e01b146103b95760405162461bcd60e51b81526004016101d09061149a565b6060806000806103fe8b8b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506105cf92505050565b93509350935093506002845110156104285760405162461bcd60e51b81526004016101d09061144a565b825160010184511461044c5760405162461bcd60e51b81526004016101d09061142a565b60408051600180825281830190925290602080830190803683370190505097508360008151811061047957fe5b60200260200101518860008151811061048e57fe5b6001600160a01b039290921660209283029190910182015260408051600180825281830190925291828101908036833701905050965081876000815181106104d257fe5b6020908102919091010152604080516001808252818301909252908160200160208202803683370190505095508360018551038151811061050f57fe5b60200260200101518660008151811061052457fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509450808560008151811061056857fe5b6020026020010181815250506002985050505050945094509450945094565b7f000000000000000000000000000000000000000000000000000000000000000090565b7fc29fa9dde84204c2908778afd0613d802d31cf046179b88f6d2b4a4e507ea2d581565b606080600080848060200190518101906105e99190610ddb565b93509350935093509193509193565b6106378460008151811061060857fe5b60200260200101517f0000000000000000000000000000000000000000000000000000000000000000846107c7565b606060005b85518110156106e157600186510381146106a1578186828151811061065d57fe5b602002602001015186838151811061067157fe5b602002602001015160405160200161068b93929190611338565b60405160208183030381529060405291506106d9565b818682815181106106ae57fe5b60200260200101516040516020016106c7929190611316565b60405160208183030381529060405291505b60010161063c565b506106ea610b34565b6040518060a00160405280838152602001886001600160a01b031681526020014260010181526020018581526020018481525090507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c04b8d59826040518263ffffffff1660e01b815260040161076b91906114aa565b602060405180830381600087803b15801561078557600080fd5b505af1158015610799573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107bd9190610e91565b5050505050505050565b604051636eb1769f60e11b81526000906001600160a01b0385169063dd62ed3e906107f89030908790600401611379565b60206040518083038186803b15801561081057600080fd5b505afa158015610824573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108489190610e91565b90508181101561088357801561086d5761086d6001600160a01b038516846000610889565b6108836001600160a01b03851684600019610889565b50505050565b8015806109115750604051636eb1769f60e11b81526001600160a01b0384169063dd62ed3e906108bf9030908690600401611379565b60206040518083038186803b1580156108d757600080fd5b505afa1580156108eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061090f9190610e91565b155b61092d5760405162461bcd60e51b81526004016101d09061148a565b6109838363095ea7b360e01b848460405160240161094c929190611394565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610988565b505050565b60606109dd826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610a179092919063ffffffff16565b80519091501561098357808060200190518101906109fb9190610e6b565b6109835760405162461bcd60e51b81526004016101d09061147a565b6060610a268484600085610a30565b90505b9392505050565b606082471015610a525760405162461bcd60e51b81526004016101d09061143a565b610a5b85610af1565b610a775760405162461bcd60e51b81526004016101d09061146a565b60006060866001600160a01b03168587604051610a94919061130a565b60006040518083038185875af1925050503d8060008114610ad1576040519150601f19603f3d011682016040523d82523d6000602084013e610ad6565b606091505b5091509150610ae6828286610afb565b979650505050505050565b803b15155b919050565b60608315610b0a575081610a29565b825115610b1a5782518084602001fd5b8160405162461bcd60e51b81526004016101d09190611419565b6040518060a001604052806060815260200160006001600160a01b031681526020016000815260200160008152602001600081525090565b8035610b77816115ca565b92915050565b8051610b77816115ca565b600082601f830112610b9957600080fd5b8151610bac610ba7826114e2565b6114bb565b91508181835260208401935060208101905083856020840282011115610bd157600080fd5b60005b83811015610bfd5781610be78882610b7d565b8452506020928301929190910190600101610bd4565b5050505092915050565b600082601f830112610c1857600080fd5b8151610c26610ba7826114e2565b91508181835260208401935060208101905083856020840282011115610c4b57600080fd5b60005b83811015610bfd5781610c618882610cd6565b8452506020928301929190910190600101610c4e565b8051610b77816115de565b8035610b77816115e7565b60008083601f840112610c9f57600080fd5b50813567ffffffffffffffff811115610cb757600080fd5b602083019150836001820283011115610ccf57600080fd5b9250929050565b8051610b77816115f0565b8051610b77816115f9565b60008060008060608587031215610d0257600080fd5b6000610d0e8787610b6c565b9450506020610d1f87828801610c82565b935050604085013567ffffffffffffffff811115610d3c57600080fd5b610d4887828801610c8d565b95989497509550505050565b600080600080600060608688031215610d6c57600080fd5b6000610d788888610b6c565b955050602086013567ffffffffffffffff811115610d9557600080fd5b610da188828901610c8d565b9450945050604086013567ffffffffffffffff811115610dc057600080fd5b610dcc88828901610c8d565b92509250509295509295909350565b60008060008060808587031215610df157600080fd5b845167ffffffffffffffff811115610e0857600080fd5b610e1487828801610b88565b945050602085015167ffffffffffffffff811115610e3157600080fd5b610e3d87828801610c07565b9350506040610e4e87828801610ce1565b9250506060610e5f87828801610ce1565b91505092959194509250565b600060208284031215610e7d57600080fd5b6000610e898484610c77565b949350505050565b600060208284031215610ea357600080fd5b6000610e898484610ce1565b6000610ebb8383610ecf565b505060200190565b6000610ebb8383611301565b610ed881611516565b82525050565b610ed8610eea82611516565b61158b565b6000610efa82611509565b610f04818561150d565b9350610f0f83611503565b8060005b83811015610f3d578151610f278882610eaf565b9750610f3283611503565b925050600101610f13565b509495945050505050565b6000610f5382611509565b610f5d818561150d565b9350610f6883611503565b8060005b83811015610f3d578151610f808882610ec3565b9750610f8b83611503565b925050600101610f6c565b610ed881611526565b6000610faa82611509565b610fb4818561150d565b9350610fc481856020860161155f565b610fcd816115a7565b9093019392505050565b6000610fe282611509565b610fec8185610af6565b9350610ffc81856020860161155f565b9290920192915050565b610ed881611554565b600061101c60408361150d565b7f7061727365417373657473466f72416374696f6e3a20696e636f72726563742081527f70617468416464726573736573206f72207061746846656573206c656e677468602082015260400192915050565b600061107b60268361150d565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f8152651c8818d85b1b60d21b602082015260400192915050565b60006110c360308361150d565b7f7061727365417373657473466f72416374696f6e3a207061746841646472657381526f39b2b99036bab9ba103132901f1e901960811b602082015260400192915050565b600061111560328361150d565b7f4f6e6c792074686520496e746567726174696f6e4d616e616765722063616e2081527131b0b636103a3434b990333ab731ba34b7b760711b602082015260400192915050565b6000611169601d8361150d565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000815260200192915050565b60006111a2602a8361150d565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e8152691bdd081cdd58d8d9595960b21b602082015260400192915050565b60006111ee60368361150d565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f81527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b602082015260400192915050565b600061124660278361150d565b7f7061727365417373657473466f72416374696f6e3a205f73656c6563746f72208152661a5b9d985b1a5960ca1b602082015260400192915050565b805160a08084526000919084019061129a8282610f9f565b91505060208301516112af6020860182610ecf565b5060408301516112c26040860182611301565b5060608301516112d56060860182611301565b5060808301516112e86080860182611301565b509392505050565b610ed86112fc82611549565b61159c565b610ed881611551565b6000610a298284610fd7565b60006113228285610fd7565b915061132e8284610ede565b5060140192915050565b60006113448286610fd7565b91506113508285610ede565b60148201915061136082846112f0565b506003019392505050565b60208101610b778284610ecf565b604081016113878285610ecf565b610a296020830184610ecf565b604081016113a28285610ecf565b610a296020830184611301565b60208101610b778284610f96565b60a081016113cb8288611006565b81810360208301526113dd8187610eef565b905081810360408301526113f18186610f48565b905081810360608301526114058185610eef565b90508181036080830152610ae68184610f48565b60208082528101610a298184610f9f565b60208082528101610b778161100f565b60208082528101610b778161106e565b60208082528101610b77816110b6565b60208082528101610b7781611108565b60208082528101610b778161115c565b60208082528101610b7781611195565b60208082528101610b77816111e1565b60208082528101610b7781611239565b60208082528101610a298184611282565b60405181810167ffffffffffffffff811182821017156114da57600080fd5b604052919050565b600067ffffffffffffffff8211156114f957600080fd5b5060209081020190565b60200190565b5190565b90815260200190565b6000610b778261153d565b151590565b6001600160e01b03191690565b80610af6816115bd565b6001600160a01b031690565b62ffffff1690565b90565b6000610b7782611533565b60005b8381101561157a578181015183820152602001611562565b838111156108835750506000910152565b6000610b77826000610b77826115b7565b6000610b77826115b1565b601f01601f191690565b60e81b90565b60601b90565b600381106115c757fe5b50565b6115d381611516565b81146115c757600080fd5b6115d381611521565b6115d381611526565b6115d381611549565b6115d38161155156fea164736f6c634300060c000a", "sourceMap": "554:3741:176:-:0;;;624:159;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;1938:41:179;;;;;;;;736:27:197;;;;;554:3741:176;;5:134:-1;83:13;;101:33;83:13;101:33;:::i;:::-;68:71;;;;:::o;146:399::-;;;278:2;266:9;257:7;253:23;249:32;246:2;;;294:1;291;284:12;246:2;329:1;346:64;402:7;382:9;346:64;:::i;:::-;336:74;;308:108;447:2;465:64;521:7;512:6;501:9;497:22;465:64;:::i;:::-;455:74;;426:109;240:305;;;;;:::o;552:91::-;;-1:-1;;;;;712:54;;614:24;695:76::o;778:117::-;847:24;865:5;847:24;:::i;:::-;840:5;837:35;827:2;;886:1;883;876:12;827:2;821:74;:::o;:::-;554:3741:176;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106100cf5760003560e01c8063863e5ad01161008c578063c32990a211610066578063c32990a21461014c578063c54efee514610154578063e7c4569014610178578063f7d882b514610180576100cf565b8063863e5ad014610127578063b23228cf1461012f578063b9e3de4414610137576100cf565b806303e38a2b146100d4578063080456c1146100e9578063131461c014610107578063257cb1a31461010f5780633ffc15911461011757806340da225d1461011f575b600080fd5b6100e76100e2366004610d54565b610188565b005b6100f161023e565b6040516100fe91906113af565b60405180910390f35b6100f1610262565b6100f1610286565b6100f16102aa565b6100f16102ce565b6100f16102f2565b6100f1610316565b61013f61033a565b6040516100fe919061136b565b6100f161035e565b610167610162366004610cec565b610382565b6040516100fe9594939291906113bd565b61013f610587565b6100f16105ab565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146101d95760405162461bcd60e51b81526004016101d09061145a565b60405180910390fd5b60608060008061021e88888080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506105cf92505050565b935093509350935061023389858585856105f8565b505050505050505050565b7f8334eb99be0145865eba9889fca2ee920288090caefff4cc776038e20ad9259a81565b7f29fa046e79524c3c5ac4c01df692c35e217802b2b13b21121b76cf0ef02b138c81565b7f099f75155f0e997bf83a7993a71d5e7e7540bd386fe1e84643a09ce6b412521981565b7ffa7dd04da627f433da73c4355ead9c75682a67a8fc84d3f6170ef0922f402d2481565b7fb9dfbaccbe5cd2a84fdcf1d15f23ef25d23086f5afbaa99516065ed4a5bbc7a381565b7f03e38a2bd7063d45c897edeafc330e71657502dd86434d3c37a489caf116af6981565b7f68e30677f607df46e87da13e15b637784cfa62374b653f35ab43d10361a2f83081565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f0e7f692dad5b88fdee426250d6eae91207e56a2e8112b7364579bed1790e5bf481565b600060608080806001600160e01b031988166303e38a2b60e01b146103b95760405162461bcd60e51b81526004016101d09061149a565b6060806000806103fe8b8b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506105cf92505050565b93509350935093506002845110156104285760405162461bcd60e51b81526004016101d09061144a565b825160010184511461044c5760405162461bcd60e51b81526004016101d09061142a565b60408051600180825281830190925290602080830190803683370190505097508360008151811061047957fe5b60200260200101518860008151811061048e57fe5b6001600160a01b039290921660209283029190910182015260408051600180825281830190925291828101908036833701905050965081876000815181106104d257fe5b6020908102919091010152604080516001808252818301909252908160200160208202803683370190505095508360018551038151811061050f57fe5b60200260200101518660008151811061052457fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509450808560008151811061056857fe5b6020026020010181815250506002985050505050945094509450945094565b7f000000000000000000000000000000000000000000000000000000000000000090565b7fc29fa9dde84204c2908778afd0613d802d31cf046179b88f6d2b4a4e507ea2d581565b606080600080848060200190518101906105e99190610ddb565b93509350935093509193509193565b6106378460008151811061060857fe5b60200260200101517f0000000000000000000000000000000000000000000000000000000000000000846107c7565b606060005b85518110156106e157600186510381146106a1578186828151811061065d57fe5b602002602001015186838151811061067157fe5b602002602001015160405160200161068b93929190611338565b60405160208183030381529060405291506106d9565b818682815181106106ae57fe5b60200260200101516040516020016106c7929190611316565b60405160208183030381529060405291505b60010161063c565b506106ea610b34565b6040518060a00160405280838152602001886001600160a01b031681526020014260010181526020018581526020018481525090507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c04b8d59826040518263ffffffff1660e01b815260040161076b91906114aa565b602060405180830381600087803b15801561078557600080fd5b505af1158015610799573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107bd9190610e91565b5050505050505050565b604051636eb1769f60e11b81526000906001600160a01b0385169063dd62ed3e906107f89030908790600401611379565b60206040518083038186803b15801561081057600080fd5b505afa158015610824573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108489190610e91565b90508181101561088357801561086d5761086d6001600160a01b038516846000610889565b6108836001600160a01b03851684600019610889565b50505050565b8015806109115750604051636eb1769f60e11b81526001600160a01b0384169063dd62ed3e906108bf9030908690600401611379565b60206040518083038186803b1580156108d757600080fd5b505afa1580156108eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061090f9190610e91565b155b61092d5760405162461bcd60e51b81526004016101d09061148a565b6109838363095ea7b360e01b848460405160240161094c929190611394565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610988565b505050565b60606109dd826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610a179092919063ffffffff16565b80519091501561098357808060200190518101906109fb9190610e6b565b6109835760405162461bcd60e51b81526004016101d09061147a565b6060610a268484600085610a30565b90505b9392505050565b606082471015610a525760405162461bcd60e51b81526004016101d09061143a565b610a5b85610af1565b610a775760405162461bcd60e51b81526004016101d09061146a565b60006060866001600160a01b03168587604051610a94919061130a565b60006040518083038185875af1925050503d8060008114610ad1576040519150601f19603f3d011682016040523d82523d6000602084013e610ad6565b606091505b5091509150610ae6828286610afb565b979650505050505050565b803b15155b919050565b60608315610b0a575081610a29565b825115610b1a5782518084602001fd5b8160405162461bcd60e51b81526004016101d09190611419565b6040518060a001604052806060815260200160006001600160a01b031681526020016000815260200160008152602001600081525090565b8035610b77816115ca565b92915050565b8051610b77816115ca565b600082601f830112610b9957600080fd5b8151610bac610ba7826114e2565b6114bb565b91508181835260208401935060208101905083856020840282011115610bd157600080fd5b60005b83811015610bfd5781610be78882610b7d565b8452506020928301929190910190600101610bd4565b5050505092915050565b600082601f830112610c1857600080fd5b8151610c26610ba7826114e2565b91508181835260208401935060208101905083856020840282011115610c4b57600080fd5b60005b83811015610bfd5781610c618882610cd6565b8452506020928301929190910190600101610c4e565b8051610b77816115de565b8035610b77816115e7565b60008083601f840112610c9f57600080fd5b50813567ffffffffffffffff811115610cb757600080fd5b602083019150836001820283011115610ccf57600080fd5b9250929050565b8051610b77816115f0565b8051610b77816115f9565b60008060008060608587031215610d0257600080fd5b6000610d0e8787610b6c565b9450506020610d1f87828801610c82565b935050604085013567ffffffffffffffff811115610d3c57600080fd5b610d4887828801610c8d565b95989497509550505050565b600080600080600060608688031215610d6c57600080fd5b6000610d788888610b6c565b955050602086013567ffffffffffffffff811115610d9557600080fd5b610da188828901610c8d565b9450945050604086013567ffffffffffffffff811115610dc057600080fd5b610dcc88828901610c8d565b92509250509295509295909350565b60008060008060808587031215610df157600080fd5b845167ffffffffffffffff811115610e0857600080fd5b610e1487828801610b88565b945050602085015167ffffffffffffffff811115610e3157600080fd5b610e3d87828801610c07565b9350506040610e4e87828801610ce1565b9250506060610e5f87828801610ce1565b91505092959194509250565b600060208284031215610e7d57600080fd5b6000610e898484610c77565b949350505050565b600060208284031215610ea357600080fd5b6000610e898484610ce1565b6000610ebb8383610ecf565b505060200190565b6000610ebb8383611301565b610ed881611516565b82525050565b610ed8610eea82611516565b61158b565b6000610efa82611509565b610f04818561150d565b9350610f0f83611503565b8060005b83811015610f3d578151610f278882610eaf565b9750610f3283611503565b925050600101610f13565b509495945050505050565b6000610f5382611509565b610f5d818561150d565b9350610f6883611503565b8060005b83811015610f3d578151610f808882610ec3565b9750610f8b83611503565b925050600101610f6c565b610ed881611526565b6000610faa82611509565b610fb4818561150d565b9350610fc481856020860161155f565b610fcd816115a7565b9093019392505050565b6000610fe282611509565b610fec8185610af6565b9350610ffc81856020860161155f565b9290920192915050565b610ed881611554565b600061101c60408361150d565b7f7061727365417373657473466f72416374696f6e3a20696e636f72726563742081527f70617468416464726573736573206f72207061746846656573206c656e677468602082015260400192915050565b600061107b60268361150d565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f8152651c8818d85b1b60d21b602082015260400192915050565b60006110c360308361150d565b7f7061727365417373657473466f72416374696f6e3a207061746841646472657381526f39b2b99036bab9ba103132901f1e901960811b602082015260400192915050565b600061111560328361150d565b7f4f6e6c792074686520496e746567726174696f6e4d616e616765722063616e2081527131b0b636103a3434b990333ab731ba34b7b760711b602082015260400192915050565b6000611169601d8361150d565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000815260200192915050565b60006111a2602a8361150d565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e8152691bdd081cdd58d8d9595960b21b602082015260400192915050565b60006111ee60368361150d565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f81527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b602082015260400192915050565b600061124660278361150d565b7f7061727365417373657473466f72416374696f6e3a205f73656c6563746f72208152661a5b9d985b1a5960ca1b602082015260400192915050565b805160a08084526000919084019061129a8282610f9f565b91505060208301516112af6020860182610ecf565b5060408301516112c26040860182611301565b5060608301516112d56060860182611301565b5060808301516112e86080860182611301565b509392505050565b610ed86112fc82611549565b61159c565b610ed881611551565b6000610a298284610fd7565b60006113228285610fd7565b915061132e8284610ede565b5060140192915050565b60006113448286610fd7565b91506113508285610ede565b60148201915061136082846112f0565b506003019392505050565b60208101610b778284610ecf565b604081016113878285610ecf565b610a296020830184610ecf565b604081016113a28285610ecf565b610a296020830184611301565b60208101610b778284610f96565b60a081016113cb8288611006565b81810360208301526113dd8187610eef565b905081810360408301526113f18186610f48565b905081810360608301526114058185610eef565b90508181036080830152610ae68184610f48565b60208082528101610a298184610f9f565b60208082528101610b778161100f565b60208082528101610b778161106e565b60208082528101610b77816110b6565b60208082528101610b7781611108565b60208082528101610b778161115c565b60208082528101610b7781611195565b60208082528101610b77816111e1565b60208082528101610b7781611239565b60208082528101610a298184611282565b60405181810167ffffffffffffffff811182821017156114da57600080fd5b604052919050565b600067ffffffffffffffff8211156114f957600080fd5b5060209081020190565b60200190565b5190565b90815260200190565b6000610b778261153d565b151590565b6001600160e01b03191690565b80610af6816115bd565b6001600160a01b031690565b62ffffff1690565b90565b6000610b7782611533565b60005b8381101561157a578181015183820152602001611562565b838111156108835750506000910152565b6000610b77826000610b77826115b7565b6000610b77826115b1565b601f01601f191690565b60e81b90565b60601b90565b600381106115c757fe5b50565b6115d381611516565b81146115c757600080fd5b6115d381611521565b6115d381611526565b6115d381611549565b6115d38161155156fea164736f6c634300060c000a", "sourceMap": "554:3741:176:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;977:551;;;;;;:::i;:::-;;:::i;:::-;;1490:119:180;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1373:111;;;:::i;832:85::-;;;:::i;1034:87::-;;;:::i;1240:110::-;;;:::i;706:104::-;;;:::i;1127:91::-;;;:::i;2385:109:197:-;;;:::i;:::-;;;;;;;:::i;577:123:180:-;;;:::i;2166:1679:176:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;:::i;2637:128:179:-;;;:::i;923:89:180:-;;;:::i;977:551:176:-;1747:10:179;-1:-1:-1;;;;;1761:19:179;1747:33;;1726:130;;;;-1:-1:-1;;;1726:130:179;;;;;;;:::i;:::-;;;;;;;;;1147:30:176::1;1191:24:::0;1229:27:::1;1270:30:::0;1313:29:::1;1330:11;;1313:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;1313:16:176::1;::::0;-1:-1:-1;;;1313:29:176:i:1;:::-;1133:209;;;;;;;;1353:168;1382:11;1407:13;1434:8;1456:19;1489:22;1353:15;:168::i;:::-;1866:1:179;;;;977:551:176::0;;;;;:::o;1490:119:180:-;1558:50;1490:119;:::o;1373:111::-;1437:46;1373:111;:::o;832:85::-;878:38;832:85;:::o;1034:87::-;1081:39;1034:87;:::o;1240:110::-;1303:46;1240:110;:::o;706:104::-;766:43;706:104;:::o;1127:91::-;1176:41;1127:91;:::o;2385:109:197:-;2470:17;2385:109;:::o;577:123:180:-;647:52;577:123;:::o;2166:1679:176:-;2358:64;2436:29;;;;-1:-1:-1;;;;;;2648:32:176;;-1:-1:-1;;;2648:32:176;2640:84;;;;-1:-1:-1;;;2640:84:176;;;;;;;:::i;:::-;2749:30;2793:24;2831:27;2872:30;2915:29;2932:11;;2915:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2915:16:176;;-1:-1:-1;;;2915:29:176:i;:::-;2735:209;;;;;;;;2987:1;2963:13;:20;:25;;2955:86;;;;-1:-1:-1;;;2955:86:176;;;;;;;:::i;:::-;3096:8;:15;3114:1;3096:19;3072:13;:20;:43;3051:154;;;;-1:-1:-1;;;3051:154:176;;;;;;;:::i;:::-;3231:16;;;3245:1;3231:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3231:16:176;3216:31;;3275:13;3289:1;3275:16;;;;;;;;;;;;;;3257:12;3270:1;3257:15;;;;;;;;-1:-1:-1;;;;;3257:34:176;;;;:15;;;;;;;;;;:34;3322:16;;;3336:1;3322:16;;;;;;;;;;;;;;3257:15;3322:16;;;;;-1:-1:-1;3322:16:176;3301:37;;3372:19;3348:18;3367:1;3348:21;;;;;;;;;;;;;;;;;:43;3420:16;;;3434:1;3420:16;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3420:16:176;3402:34;;3467:13;3504:1;3481:13;:20;:24;3467:39;;;;;;;;;;;;;;3446:15;3462:1;3446:18;;;;;;;;-1:-1:-1;;;;;3446:60:176;;;;:18;;;;;;;;;;:60;3543:16;;;3557:1;3543:16;;;;;;;;;;;;;;3446:18;3543:16;;;;;-1:-1:-1;3543:16:176;3516:43;;3599:22;3569:24;3594:1;3569:27;;;;;;;;;;;;;:52;;;;;3653:50;3632:206;;;;;;2166:1679;;;;;;;;;:::o;2637:128:179:-;2739:19;2637:128;:::o;923:89:180:-;971:40;923:89;:::o;3926:367:176:-;4037:30;4081:24;4119:27;4160:30;4233:11;4222:64;;;;;;;;;;;;:::i;:::-;4215:71;;;;;;;;3926:367;;;;;:::o;1051:1138:197:-;1284:85;1310:14;1325:1;1310:17;;;;;;;;;;;;;;1329;1348:20;1284:25;:85::i;:::-;1380:24;1420:9;1415:318;1435:14;:21;1431:1;:25;1415:318;;;1510:1;1486:14;:21;:25;1481:1;:30;1477:246;;1562:11;1575:14;1590:1;1575:17;;;;;;;;;;;;;;1594:9;1604:1;1594:12;;;;;;;;;;;;;;1545:62;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;1531:76;;1477:246;;;1677:11;1690:14;1705:1;1690:17;;;;;;;;;;;;;;1660:48;;;;;;;;;:::i;:::-;;;;;;;;;;;;;1646:62;;1477:246;1458:3;;1415:318;;;;1743:50;;:::i;:::-;1796:294;;;;;;;;1871:11;1796:294;;;;1911:10;-1:-1:-1;;;;;1796:294:197;;;;;1949:15;1967:1;1949:19;1796:294;;;;1996:20;1796:294;;;;2052:23;1796:294;;;1743:347;;2146:17;-1:-1:-1;;;;;2125:50:197;;2176:5;2125:57;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;1051:1138;;;;;;;:::o;2554:434:355:-;2714:47;;-1:-1:-1;;;2714:47:355;;2694:17;;-1:-1:-1;;;;;2714:23:355;;;;;:47;;2746:4;;2753:7;;2714:47;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2694:67;;2787:13;2775:9;:25;2771:211;;;2820:13;;2816:89;;2853:37;-1:-1:-1;;;;;2853:25:355;;2879:7;2888:1;2853:25;:37::i;:::-;2918:53;-1:-1:-1;;;;;2918:25:355;;2944:7;-1:-1:-1;;2918:25:355;:53::i;:::-;2554:434;;;;:::o;1348:613:450:-;1713:10;;;1712:62;;-1:-1:-1;1729:39:450;;-1:-1:-1;;;1729:39:450;;-1:-1:-1;;;;;1729:15:450;;;;;:39;;1753:4;;1760:7;;1729:39;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:44;1712:62;1704:150;;;;-1:-1:-1;;;1704:150:450;;;;;;;:::i;:::-;1864:90;1884:5;1914:22;;;1938:7;1947:5;1891:62;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;1891:62:450;;;;;;;;;;;;;;-1:-1:-1;;;;;1891:62:450;-1:-1:-1;;;;;;1891:62:450;;;;;;;;;;1864:19;:90::i;:::-;1348:613;;;:::o;2967:751::-;3386:23;3412:69;3440:4;3412:69;;;;;;;;;;;;;;;;;3420:5;-1:-1:-1;;;;;3412:27:450;;;:69;;;;;:::i;:::-;3495:17;;3386:95;;-1:-1:-1;3495:21:450;3491:221;;3635:10;3624:30;;;;;;;;;;;;:::i;:::-;3616:85;;;;-1:-1:-1;;;3616:85:450;;;;;;;:::i;3581:193:451:-;3684:12;3715:52;3737:6;3745:4;3751:1;3754:12;3715:21;:52::i;:::-;3708:59;;3581:193;;;;;;:::o;4608:523::-;4735:12;4792:5;4767:21;:30;;4759:81;;;;-1:-1:-1;;;4759:81:451;;;;;;;:::i;:::-;4858:18;4869:6;4858:10;:18::i;:::-;4850:60;;;;-1:-1:-1;;;4850:60:451;;;;;;;:::i;:::-;4981:12;4995:23;5022:6;-1:-1:-1;;;;;5022:11:451;5042:5;5050:4;5022:33;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4980:75;;;;5072:52;5090:7;5099:10;5111:12;5072:17;:52::i;:::-;5065:59;4608:523;-1:-1:-1;;;;;;;4608:523:451:o;726:413::-;1086:20;;1124:8;;726:413;;;;:::o;7091:725::-;7206:12;7234:7;7230:580;;;-1:-1:-1;7264:10:451;7257:17;;7230:580;7375:17;;:21;7371:429;;7633:10;7627:17;7693:15;7680:10;7676:2;7672:19;7665:44;7582:145;7772:12;7765:20;;-1:-1:-1;;;7765:20:451;;;;;;;;:::i;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5:130::-;72:20;;97:33;72:20;97:33;:::i;:::-;57:78;;;;:::o;142:134::-;220:13;;238:33;220:13;238:33;:::i;301:722::-;;429:3;422:4;414:6;410:17;406:27;396:2;;447:1;444;437:12;396:2;477:6;471:13;499:80;514:64;571:6;514:64;:::i;:::-;499:80;:::i;:::-;490:89;;596:5;621:6;614:5;607:21;651:4;643:6;639:17;629:27;;673:4;668:3;664:14;657:21;;726:6;773:3;765:4;757:6;753:17;748:3;744:27;741:36;738:2;;;790:1;787;780:12;738:2;815:1;800:217;825:6;822:1;819:13;800:217;;;883:3;905:48;949:3;937:10;905:48;:::i;:::-;893:61;;-1:-1;977:4;968:14;;;;996;;;;;847:1;840:9;800:217;;;804:14;389:634;;;;;;;:::o;1048:719::-;;1175:3;1168:4;1160:6;1156:17;1152:27;1142:2;;1193:1;1190;1183:12;1142:2;1223:6;1217:13;1245:79;1260:63;1316:6;1260:63;:::i;1245:79::-;1236:88;;1341:5;1366:6;1359:5;1352:21;1396:4;1388:6;1384:17;1374:27;;1418:4;1413:3;1409:14;1402:21;;1471:6;1518:3;1510:4;1502:6;1498:17;1493:3;1489:27;1486:36;1483:2;;;1535:1;1532;1525:12;1483:2;1560:1;1545:216;1570:6;1567:1;1564:13;1545:216;;;1628:3;1650:47;1693:3;1681:10;1650:47;:::i;:::-;1638:60;;-1:-1;1721:4;1712:14;;;;1740;;;;;1592:1;1585:9;1545:216;;1775:128;1850:13;;1868:30;1850:13;1868:30;:::i;1910:128::-;1976:20;;2001:32;1976:20;2001:32;:::i;2059:336::-;;;2173:3;2166:4;2158:6;2154:17;2150:27;2140:2;;2191:1;2188;2181:12;2140:2;-1:-1;2211:20;;2251:18;2240:30;;2237:2;;;2283:1;2280;2273:12;2237:2;2317:4;2309:6;2305:17;2293:29;;2368:3;2360:4;2352:6;2348:17;2338:8;2334:32;2331:41;2328:2;;;2385:1;2382;2375:12;2328:2;2133:262;;;;;:::o;2403:132::-;2480:13;;2498:32;2480:13;2498:32;:::i;2542:134::-;2620:13;;2638:33;2620:13;2638:33;:::i;2683:613::-;;;;;2839:2;2827:9;2818:7;2814:23;2810:32;2807:2;;;2855:1;2852;2845:12;2807:2;2890:1;2907:53;2952:7;2932:9;2907:53;:::i;:::-;2897:63;;2869:97;2997:2;3015:52;3059:7;3050:6;3039:9;3035:22;3015:52;:::i;:::-;3005:62;;2976:97;3132:2;3121:9;3117:18;3104:32;3156:18;3148:6;3145:30;3142:2;;;3188:1;3185;3178:12;3142:2;3216:64;3272:7;3263:6;3252:9;3248:22;3216:64;:::i;:::-;2801:495;;;;-1:-1;3198:82;-1:-1;;;;2801:495::o;3303:739::-;;;;;;3479:2;3467:9;3458:7;3454:23;3450:32;3447:2;;;3495:1;3492;3485:12;3447:2;3530:1;3547:53;3592:7;3572:9;3547:53;:::i;:::-;3537:63;;3509:97;3665:2;3654:9;3650:18;3637:32;3689:18;3681:6;3678:30;3675:2;;;3721:1;3718;3711:12;3675:2;3749:64;3805:7;3796:6;3785:9;3781:22;3749:64;:::i;:::-;3731:82;;;;3616:203;3878:2;3867:9;3863:18;3850:32;3902:18;3894:6;3891:30;3888:2;;;3934:1;3931;3924:12;3888:2;3962:64;4018:7;4009:6;3998:9;3994:22;3962:64;:::i;:::-;3944:82;;;;3829:203;3441:601;;;;;;;;:::o;4049:928::-;;;;;4264:3;4252:9;4243:7;4239:23;4235:33;4232:2;;;4281:1;4278;4271:12;4232:2;4316:24;;4360:18;4349:30;;4346:2;;;4392:1;4389;4382:12;4346:2;4412:89;4493:7;4484:6;4473:9;4469:22;4412:89;:::i;:::-;4402:99;;4295:212;4559:2;4548:9;4544:18;4538:25;4583:18;4575:6;4572:30;4569:2;;;4615:1;4612;4605:12;4569:2;4635:88;4715:7;4706:6;4695:9;4691:22;4635:88;:::i;:::-;4625:98;;4517:212;4760:2;4778:64;4834:7;4825:6;4814:9;4810:22;4778:64;:::i;:::-;4768:74;;4739:109;4879:2;4897:64;4953:7;4944:6;4933:9;4929:22;4897:64;:::i;:::-;4887:74;;4858:109;4226:751;;;;;;;:::o;4984:257::-;;5096:2;5084:9;5075:7;5071:23;5067:32;5064:2;;;5112:1;5109;5102:12;5064:2;5147:1;5164:61;5217:7;5197:9;5164:61;:::i;:::-;5154:71;5058:183;-1:-1;;;;5058:183::o;5248:263::-;;5363:2;5351:9;5342:7;5338:23;5334:32;5331:2;;;5379:1;5376;5369:12;5331:2;5414:1;5431:64;5487:7;5467:9;5431:64;:::i;5519:173::-;;5606:46;5648:3;5640:6;5606:46;:::i;:::-;-1:-1;;5681:4;5672:14;;5599:93::o;5701:173::-;;5788:46;5830:3;5822:6;5788:46;:::i;5882:103::-;5955:24;5973:5;5955:24;:::i;:::-;5950:3;5943:37;5937:48;;:::o;6112:152::-;6213:45;6233:24;6251:5;6233:24;:::i;:::-;6213:45;:::i;6302:690::-;;6447:54;6495:5;6447:54;:::i;:::-;6514:86;6593:6;6588:3;6514:86;:::i;:::-;6507:93;;6621:56;6671:5;6621:56;:::i;:::-;6697:7;6725:1;6710:260;6735:6;6732:1;6729:13;6710:260;;;6802:6;6796:13;6823:63;6882:3;6867:13;6823:63;:::i;:::-;6816:70;;6903:60;6956:6;6903:60;:::i;:::-;6893:70;-1:-1;;6757:1;6750:9;6710:260;;;-1:-1;6983:3;;6426:566;-1:-1;;;;;6426:566::o;7031:690::-;;7176:54;7224:5;7176:54;:::i;:::-;7243:86;7322:6;7317:3;7243:86;:::i;:::-;7236:93;;7350:56;7400:5;7350:56;:::i;:::-;7426:7;7454:1;7439:260;7464:6;7461:1;7458:13;7439:260;;;7531:6;7525:13;7552:63;7611:3;7596:13;7552:63;:::i;:::-;7545:70;;7632:60;7685:6;7632:60;:::i;:::-;7622:70;-1:-1;;7486:1;7479:9;7439:260;;7729:110;7810:23;7827:5;7810:23;:::i;7846:323::-;;7946:38;7978:5;7946:38;:::i;:::-;7996:60;8049:6;8044:3;7996:60;:::i;:::-;7989:67;;8061:52;8106:6;8101:3;8094:4;8087:5;8083:16;8061:52;:::i;:::-;8134:29;8156:6;8134:29;:::i;:::-;8125:39;;;;7926:243;-1:-1;;;7926:243::o;8176:356::-;;8304:38;8336:5;8304:38;:::i;:::-;8354:88;8435:6;8430:3;8354:88;:::i;:::-;8347:95;;8447:52;8492:6;8487:3;8480:4;8473:5;8469:16;8447:52;:::i;:::-;8511:16;;;;;8284:248;-1:-1;;8284:248::o;8539:176::-;8647:62;8703:5;8647:62;:::i;9077:401::-;;9237:67;9301:2;9296:3;9237:67;:::i;:::-;9337:34;9317:55;;9406:34;9401:2;9392:12;;9385:56;9469:2;9460:12;;9223:255;-1:-1;;9223:255::o;9487:375::-;;9647:67;9711:2;9706:3;9647:67;:::i;:::-;9747:34;9727:55;;-1:-1;;;9811:2;9802:12;;9795:30;9853:2;9844:12;;9633:229;-1:-1;;9633:229::o;9871:385::-;;10031:67;10095:2;10090:3;10031:67;:::i;:::-;10131:34;10111:55;;-1:-1;;;10195:2;10186:12;;10179:40;10247:2;10238:12;;10017:239;-1:-1;;10017:239::o;10265:387::-;;10425:67;10489:2;10484:3;10425:67;:::i;:::-;10525:34;10505:55;;-1:-1;;;10589:2;10580:12;;10573:42;10643:2;10634:12;;10411:241;-1:-1;;10411:241::o;10661:329::-;;10821:67;10885:2;10880:3;10821:67;:::i;:::-;10921:31;10901:52;;10981:2;10972:12;;10807:183;-1:-1;;10807:183::o;10999:379::-;;11159:67;11223:2;11218:3;11159:67;:::i;:::-;11259:34;11239:55;;-1:-1;;;11323:2;11314:12;;11307:34;11369:2;11360:12;;11145:233;-1:-1;;11145:233::o;11387:391::-;;11547:67;11611:2;11606:3;11547:67;:::i;:::-;11647:34;11627:55;;-1:-1;;;11711:2;11702:12;;11695:46;11769:2;11760:12;;11533:245;-1:-1;;11533:245::o;11787:376::-;;11947:67;12011:2;12006:3;11947:67;:::i;:::-;12047:34;12027:55;;-1:-1;;;12111:2;12102:12;;12095:31;12154:2;12145:12;;11933:230;-1:-1;;11933:230::o;12270:1076::-;12507:23;;12441:4;12543:38;;;12270:1076;;12432:14;;;;12596:71;12432:14;12507:23;12596:71;:::i;:::-;12588:79;;12461:218;12757:4;12750:5;12746:16;12740:23;12769:63;12826:4;12821:3;12817:14;12803:12;12769:63;:::i;:::-;12689:149;12915:4;12908:5;12904:16;12898:23;12927:63;12984:4;12979:3;12975:14;12961:12;12927:63;:::i;:::-;12848:148;13073:4;13066:5;13062:16;13056:23;13085:63;13142:4;13137:3;13133:14;13119:12;13085:63;:::i;:::-;13006:148;13239:4;13232:5;13228:16;13222:23;13251:63;13308:4;13303:3;13299:14;13285:12;13251:63;:::i;:::-;-1:-1;13337:4;12414:932;-1:-1;;;12414:932::o;13353:148::-;13452:43;13471:23;13488:5;13471:23;:::i;:::-;13452:43;:::i;13508:103::-;13581:24;13599:5;13581:24;:::i;13738:271::-;;13891:93;13980:3;13971:6;13891:93;:::i;14016:410::-;;14197:93;14286:3;14277:6;14197:93;:::i;:::-;14190:100;;14301:75;14372:3;14363:6;14301:75;:::i;:::-;-1:-1;14398:2;14389:12;;14178:248;-1:-1;;14178:248::o;14433:544::-;;14640:93;14729:3;14720:6;14640:93;:::i;:::-;14633:100;;14744:75;14815:3;14806:6;14744:75;:::i;:::-;14841:2;14836:3;14832:12;14825:19;;14855:73;14924:3;14915:6;14855:73;:::i;:::-;-1:-1;14950:1;14941:11;;14621:356;-1:-1;;;14621:356::o;14984:222::-;15111:2;15096:18;;15125:71;15100:9;15169:6;15125:71;:::i;15213:333::-;15368:2;15353:18;;15382:71;15357:9;15426:6;15382:71;:::i;:::-;15464:72;15532:2;15521:9;15517:18;15508:6;15464:72;:::i;15553:333::-;15708:2;15693:18;;15722:71;15697:9;15766:6;15722:71;:::i;:::-;15804:72;15872:2;15861:9;15857:18;15848:6;15804:72;:::i;15893:218::-;16018:2;16003:18;;16032:69;16007:9;16074:6;16032:69;:::i;16118:1310::-;16582:3;16567:19;;16597:96;16571:9;16666:6;16597:96;:::i;:::-;16741:9;16735:4;16731:20;16726:2;16715:9;16711:18;16704:48;16766:108;16869:4;16860:6;16766:108;:::i;:::-;16758:116;;16922:9;16916:4;16912:20;16907:2;16896:9;16892:18;16885:48;16947:108;17050:4;17041:6;16947:108;:::i;:::-;16939:116;;17103:9;17097:4;17093:20;17088:2;17077:9;17073:18;17066:48;17128:108;17231:4;17222:6;17128:108;:::i;:::-;17120:116;;17285:9;17279:4;17275:20;17269:3;17258:9;17254:19;17247:49;17310:108;17413:4;17404:6;17310:108;:::i;17435:310::-;17582:2;17596:47;;;17567:18;;17657:78;17567:18;17721:6;17657:78;:::i;17752:416::-;17952:2;17966:47;;;17937:18;;18027:131;17937:18;18027:131;:::i;18175:416::-;18375:2;18389:47;;;18360:18;;18450:131;18360:18;18450:131;:::i;18598:416::-;18798:2;18812:47;;;18783:18;;18873:131;18783:18;18873:131;:::i;19021:416::-;19221:2;19235:47;;;19206:18;;19296:131;19206:18;19296:131;:::i;19444:416::-;19644:2;19658:47;;;19629:18;;19719:131;19629:18;19719:131;:::i;19867:416::-;20067:2;20081:47;;;20052:18;;20142:131;20052:18;20142:131;:::i;20290:416::-;20490:2;20504:47;;;20475:18;;20565:131;20475:18;20565:131;:::i;20713:416::-;20913:2;20927:47;;;20898:18;;20988:131;20898:18;20988:131;:::i;21136:410::-;21333:2;21347:47;;;21318:18;;21408:128;21318:18;21522:6;21408:128;:::i;21553:256::-;21615:2;21609:9;21641:17;;;21716:18;21701:34;;21737:22;;;21698:62;21695:2;;;21773:1;21770;21763:12;21695:2;21789;21782:22;21593:216;;-1:-1;21593:216::o;21816:304::-;;21975:18;21967:6;21964:30;21961:2;;;22007:1;22004;21997:12;21961:2;-1:-1;22042:4;22030:17;;;22095:15;;21898:222::o;22437:151::-;22561:4;22552:14;;22509:79::o;22753:137::-;22856:12;;22827:63::o;23529:178::-;23647:19;;;23696:4;23687:14;;23640:67::o;24388:91::-;;24450:24;24468:5;24450:24;:::i;24486:85::-;24552:13;24545:21;;24528:43::o;24578:144::-;-1:-1;;;;;;24639:78;;24622:100::o;24729:160::-;24818:5;24824:60;24818:5;24824:60;:::i;24896:121::-;-1:-1;;;;;24958:54;;24941:76::o;25024:86::-;25096:8;25085:20;;25068:42::o;25117:72::-;25179:5;25162:27::o;25196:160::-;;25300:51;25345:5;25300:51;:::i;25364:268::-;25429:1;25436:101;25450:6;25447:1;25444:13;25436:101;;;25517:11;;;25511:18;25498:11;;;25491:39;25472:2;25465:10;25436:101;;;25552:6;25549:1;25546:13;25543:2;;;-1:-1;;25617:1;25599:16;;25592:27;25413:219::o;25640:95::-;;25704:26;25724:5;25742:89;25806:20;25820:5;25806:20;:::i;25838:89::-;;25901:21;25916:5;25901:21;:::i;25934:97::-;26022:2;26002:14;-1:-1;;25998:28;;25982:49::o;26039:96::-;26114:3;26110:15;;26082:53::o;26143:94::-;26217:2;26213:14;;26185:52::o;26245:118::-;26341:1;26334:5;26331:12;26321:2;;26347:9;26321:2;26315:48;:::o;26370:117::-;26439:24;26457:5;26439:24;:::i;:::-;26432:5;26429:35;26419:2;;26478:1;26475;26468:12;26494:111;26560:21;26575:5;26560:21;:::i;26612:115::-;26680:23;26697:5;26680:23;:::i;26734:115::-;26802:23;26819:5;26802:23;:::i;26856:117::-;26925:24;26943:5;26925:24;:::i", "linkReferences": {}, "immutableReferences": { "49791": [ { "start": 403, "length": 32 }, { "start": 1417, "length": 32 } ], "52263": [ { "start": 828, "length": 32 }, { "start": 1554, "length": 32 }, { "start": 1825, "length": 32 } ] } }, "methodIdentifiers": { "CLAIM_REWARDS_SELECTOR()": "40da225d", "LEND_AND_STAKE_SELECTOR()": "131461c0", "LEND_SELECTOR()": "257cb1a3", "REDEEM_SELECTOR()": "f7d882b5", "STAKE_SELECTOR()": "3ffc1591", "TAKE_MULTIPLE_ORDERS_SELECTOR()": "c32990a2", "TAKE_ORDER_SELECTOR()": "863e5ad0", "UNSTAKE_AND_REDEEM_SELECTOR()": "080456c1", "UNSTAKE_SELECTOR()": "b23228cf", "getIntegrationManager()": "e7c45690", "getUniswapV3Router()": "b9e3de44", "parseAssetsForAction(address,bytes4,bytes)": "c54efee5", "takeOrder(address,bytes,bytes)": "03e38a2b" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_integrationManager\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_router\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"CLAIM_REWARDS_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LEND_AND_STAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LEND_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"REDEEM_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"STAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TAKE_MULTIPLE_ORDERS_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TAKE_ORDER_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UNSTAKE_AND_REDEEM_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UNSTAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getIntegrationManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"integrationManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getUniswapV3Router\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"router_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"_selector\",\"type\":\"bytes4\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"}],\"name\":\"parseAssetsForAction\",\"outputs\":[{\"internalType\":\"enum IIntegrationManager.SpendAssetsHandleType\",\"name\":\"spendAssetsHandleType_\",\"type\":\"uint8\"},{\"internalType\":\"address[]\",\"name\":\"spendAssets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"spendAssetAmounts_\",\"type\":\"uint256[]\"},{\"internalType\":\"address[]\",\"name\":\"incomingAssets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"minIncomingAssetAmounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"takeOrder\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"getIntegrationManager()\":{\"returns\":{\"integrationManager_\":\"The `INTEGRATION_MANAGER` variable value\"}},\"getUniswapV3Router()\":{\"returns\":{\"router_\":\"The `UNISWAP_V3_ROUTER` variable value\"}},\"parseAssetsForAction(address,bytes4,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_selector\":\"The function selector for the callOnIntegration\"},\"returns\":{\"incomingAssets_\":\"The assets to receive in the call\",\"minIncomingAssetAmounts_\":\"The min asset amounts to receive in the call\",\"spendAssetAmounts_\":\"The max asset amounts to spend in the call\",\"spendAssetsHandleType_\":\"A type that dictates how to handle granting the adapter access to spend assets (`None` by default)\",\"spendAssets_\":\"The assets to spend in the call\"}},\"takeOrder(address,bytes,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}}},\"title\":\"UniswapV3SwapAdapter Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getIntegrationManager()\":{\"notice\":\"Gets the `INTEGRATION_MANAGER` variable\"},\"getUniswapV3Router()\":{\"notice\":\"Gets the `UNISWAP_V3_ROUTER` variable\"},\"parseAssetsForAction(address,bytes4,bytes)\":{\"notice\":\"Parses the expected assets in a particular action\"},\"takeOrder(address,bytes,bytes)\":{\"notice\":\"Trades assets on UniswapV3\"}},\"notice\":\"Adapter for interacting with UniswapV3 swaps\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/integration-manager/integrations/adapters/UniswapV3Adapter.sol\":\"UniswapV3Adapter\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/integration-manager/IIntegrationManager.sol\":{\"keccak256\":\"0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23\",\"dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk\"]},\"contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol\":{\"keccak256\":\"0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336\",\"dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS\"]},\"contracts/release/extensions/integration-manager/integrations/adapters/UniswapV3Adapter.sol\":{\"keccak256\":\"0x73785dbe9188e02561ed6b7684b4c5ff32e8464036ae219a63ce7ba50b444e19\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://729df5ad5f2124861665b27288a77a41bc20f8e703439547b63acd3b567f28a6\",\"dweb:/ipfs/QmfBUZ9oRoWBwRLiobuRaRwcm3RX3rXXRS48tTgoH22j6d\"]},\"contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol\":{\"keccak256\":\"0x067e49bf0d3c1655ab41a413c65ccf61d4e593308132e1ffc484a0fadfbbaf26\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://387f425017e18e89cc1893521101fa99df595314847d0b3d9a1162369f714fcf\",\"dweb:/ipfs/Qmco3jCvuWAyfCpBYpGzHrQjiFJG63w1RJKcakoTEbxRQm\"]},\"contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol\":{\"keccak256\":\"0xfd34c7ca8231c6935e25dede32ca2b3121738e624d0fc896f7b895a731edcf88\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d492c061963d36d07718446db191d4c5a340c0d847f6cd209f027bd99f7cb176\",\"dweb:/ipfs/QmfCvRZt56ftDdrEh6LepHXFJ4fVtcfpQGvEyY8k4zxG1A\"]},\"contracts/release/extensions/integration-manager/integrations/utils/actions/UniswapV3ActionsMixin.sol\":{\"keccak256\":\"0xc30545bb01366dc9bdd06bac6915ab0e9b79b50aca425a4841163d1c980b06fc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://317fce8c68e45fa37408ae65fe9e686d34602952e54d7d1db4129d98c1cf42c2\",\"dweb:/ipfs/QmRPvGBbhznRSgocFBRMsE34JdHhSdJL5aDpLUFTZQP7cY\"]},\"contracts/release/interfaces/IUniswapV3SwapRouter.sol\":{\"keccak256\":\"0xf8fc3ec7698a5cbc1ac63d3602c005590485a85083bd2d6e3d0c65feb0b26374\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://89e988352337d15b7f4a818dd9d1b21b732a8338de89422d1ed4b7dcfd4c092a\",\"dweb:/ipfs/QmWBGhjqA6HNZJianHBTW1CdqGtSFvTTYN3yR3uU2c4Z3N\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_integrationManager", "type": "address" }, { "internalType": "address", "name": "_router", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "CLAIM_REWARDS_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "LEND_AND_STAKE_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "LEND_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "REDEEM_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "STAKE_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "TAKE_MULTIPLE_ORDERS_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "TAKE_ORDER_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "UNSTAKE_AND_REDEEM_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "UNSTAKE_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getIntegrationManager", "outputs": [ { "internalType": "address", "name": "integrationManager_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getUniswapV3Router", "outputs": [ { "internalType": "address", "name": "router_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "bytes4", "name": "_selector", "type": "bytes4" }, { "internalType": "bytes", "name": "_actionData", "type": "bytes" } ], "stateMutability": "view", "type": "function", "name": "parseAssetsForAction", "outputs": [ { "internalType": "enum IIntegrationManager.SpendAssetsHandleType", "name": "spendAssetsHandleType_", "type": "uint8" }, { "internalType": "address[]", "name": "spendAssets_", "type": "address[]" }, { "internalType": "uint256[]", "name": "spendAssetAmounts_", "type": "uint256[]" }, { "internalType": "address[]", "name": "incomingAssets_", "type": "address[]" }, { "internalType": "uint256[]", "name": "minIncomingAssetAmounts_", "type": "uint256[]" } ] }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "bytes", "name": "_actionData", "type": "bytes" }, { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "takeOrder" } ], "devdoc": { "kind": "dev", "methods": { "getIntegrationManager()": { "returns": { "integrationManager_": "The `INTEGRATION_MANAGER` variable value" } }, "getUniswapV3Router()": { "returns": { "router_": "The `UNISWAP_V3_ROUTER` variable value" } }, "parseAssetsForAction(address,bytes4,bytes)": { "params": { "_actionData": "Data specific to this action", "_selector": "The function selector for the callOnIntegration" }, "returns": { "incomingAssets_": "The assets to receive in the call", "minIncomingAssetAmounts_": "The min asset amounts to receive in the call", "spendAssetAmounts_": "The max asset amounts to spend in the call", "spendAssetsHandleType_": "A type that dictates how to handle granting the adapter access to spend assets (`None` by default)", "spendAssets_": "The assets to spend in the call" } }, "takeOrder(address,bytes,bytes)": { "params": { "_actionData": "Data specific to this action", "_vaultProxy": "The VaultProxy of the calling fund" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "getIntegrationManager()": { "notice": "Gets the `INTEGRATION_MANAGER` variable" }, "getUniswapV3Router()": { "notice": "Gets the `UNISWAP_V3_ROUTER` variable" }, "parseAssetsForAction(address,bytes4,bytes)": { "notice": "Parses the expected assets in a particular action" }, "takeOrder(address,bytes,bytes)": { "notice": "Trades assets on UniswapV3" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/integration-manager/integrations/adapters/UniswapV3Adapter.sol": "UniswapV3Adapter" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/extensions/integration-manager/IIntegrationManager.sol": { "keccak256": "0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef", "urls": [ "bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23", "dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol": { "keccak256": "0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1", "urls": [ "bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336", "dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/adapters/UniswapV3Adapter.sol": { "keccak256": "0x73785dbe9188e02561ed6b7684b4c5ff32e8464036ae219a63ce7ba50b444e19", "urls": [ "bzz-raw://729df5ad5f2124861665b27288a77a41bc20f8e703439547b63acd3b567f28a6", "dweb:/ipfs/QmfBUZ9oRoWBwRLiobuRaRwcm3RX3rXXRS48tTgoH22j6d" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol": { "keccak256": "0x067e49bf0d3c1655ab41a413c65ccf61d4e593308132e1ffc484a0fadfbbaf26", "urls": [ "bzz-raw://387f425017e18e89cc1893521101fa99df595314847d0b3d9a1162369f714fcf", "dweb:/ipfs/Qmco3jCvuWAyfCpBYpGzHrQjiFJG63w1RJKcakoTEbxRQm" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol": { "keccak256": "0xfd34c7ca8231c6935e25dede32ca2b3121738e624d0fc896f7b895a731edcf88", "urls": [ "bzz-raw://d492c061963d36d07718446db191d4c5a340c0d847f6cd209f027bd99f7cb176", "dweb:/ipfs/QmfCvRZt56ftDdrEh6LepHXFJ4fVtcfpQGvEyY8k4zxG1A" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/utils/actions/UniswapV3ActionsMixin.sol": { "keccak256": "0xc30545bb01366dc9bdd06bac6915ab0e9b79b50aca425a4841163d1c980b06fc", "urls": [ "bzz-raw://317fce8c68e45fa37408ae65fe9e686d34602952e54d7d1db4129d98c1cf42c2", "dweb:/ipfs/QmRPvGBbhznRSgocFBRMsE34JdHhSdJL5aDpLUFTZQP7cY" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IUniswapV3SwapRouter.sol": { "keccak256": "0xf8fc3ec7698a5cbc1ac63d3602c005590485a85083bd2d6e3d0c65feb0b26374", "urls": [ "bzz-raw://89e988352337d15b7f4a818dd9d1b21b732a8338de89422d1ed4b7dcfd4c092a", "dweb:/ipfs/QmWBGhjqA6HNZJianHBTW1CdqGtSFvTTYN3yR3uU2c4Z3N" ], "license": "GPL-3.0" }, "contracts/release/utils/AssetHelpers.sol": { "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", "urls": [ "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", "urls": [ "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Address.sol": { "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", "urls": [ "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" } }, "version": 1 }, "id": 176 } diff --git a/eth_defi/abi/enzyme/UniswapV3LiquidityPositionDataDecoder.json b/eth_defi/abi/enzyme/UniswapV3LiquidityPositionDataDecoder.json index 7e74f298..1475a08c 100644 --- a/eth_defi/abi/enzyme/UniswapV3LiquidityPositionDataDecoder.json +++ b/eth_defi/abi/enzyme/UniswapV3LiquidityPositionDataDecoder.json @@ -1,78 +1 @@ -{ - "abi": [], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": {}, - "rawMetadata": "{\"compiler\":{\"version\":\"0.7.6+commit.7338295f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"UniswapV3LiquidityPositionDataDecoder Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Abstract contract containing data decodings for UniswapV3LiquidityPosition payloads\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/uniswap-v3-liquidity/UniswapV3LiquidityPositionDataDecoder.sol\":\"UniswapV3LiquidityPositionDataDecoder\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/external-position-manager/external-positions/uniswap-v3-liquidity/UniswapV3LiquidityPositionDataDecoder.sol\":{\"keccak256\":\"0x46958283ca11717ff8a954f509a0f8ee3e339e1e70b268a6b38ad44d31625c25\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f5ba53bebea27970c26731a3a4e6511fca3ea10cf3092a4cd05ee0159bbf456c\",\"dweb:/ipfs/QmRtApdFi2EAmPgDNnpGSqtAwkiasQ92KbLVzE5pPP5RCH\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.7.6+commit.7338295f" - }, - "language": "Solidity", - "output": { - "abi": [], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/external-position-manager/external-positions/uniswap-v3-liquidity/UniswapV3LiquidityPositionDataDecoder.sol": "UniswapV3LiquidityPositionDataDecoder" - }, - "libraries": {} - }, - "sources": { - "contracts/release/extensions/external-position-manager/external-positions/uniswap-v3-liquidity/UniswapV3LiquidityPositionDataDecoder.sol": { - "keccak256": "0x46958283ca11717ff8a954f509a0f8ee3e339e1e70b268a6b38ad44d31625c25", - "urls": [ - "bzz-raw://f5ba53bebea27970c26731a3a4e6511fca3ea10cf3092a4cd05ee0159bbf456c", - "dweb:/ipfs/QmRtApdFi2EAmPgDNnpGSqtAwkiasQ92KbLVzE5pPP5RCH" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 1 -} +{ "abi": [], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": {}, "rawMetadata": "{\"compiler\":{\"version\":\"0.7.6+commit.7338295f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"UniswapV3LiquidityPositionDataDecoder Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Abstract contract containing data decodings for UniswapV3LiquidityPosition payloads\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/uniswap-v3-liquidity/UniswapV3LiquidityPositionDataDecoder.sol\":\"UniswapV3LiquidityPositionDataDecoder\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/external-position-manager/external-positions/uniswap-v3-liquidity/UniswapV3LiquidityPositionDataDecoder.sol\":{\"keccak256\":\"0x46958283ca11717ff8a954f509a0f8ee3e339e1e70b268a6b38ad44d31625c25\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f5ba53bebea27970c26731a3a4e6511fca3ea10cf3092a4cd05ee0159bbf456c\",\"dweb:/ipfs/QmRtApdFi2EAmPgDNnpGSqtAwkiasQ92KbLVzE5pPP5RCH\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.7.6+commit.7338295f" }, "language": "Solidity", "output": { "abi": [], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/external-position-manager/external-positions/uniswap-v3-liquidity/UniswapV3LiquidityPositionDataDecoder.sol": "UniswapV3LiquidityPositionDataDecoder" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/extensions/external-position-manager/external-positions/uniswap-v3-liquidity/UniswapV3LiquidityPositionDataDecoder.sol": { "keccak256": "0x46958283ca11717ff8a954f509a0f8ee3e339e1e70b268a6b38ad44d31625c25", "urls": [ "bzz-raw://f5ba53bebea27970c26731a3a4e6511fca3ea10cf3092a4cd05ee0159bbf456c", "dweb:/ipfs/QmRtApdFi2EAmPgDNnpGSqtAwkiasQ92KbLVzE5pPP5RCH" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 1 } diff --git a/eth_defi/abi/enzyme/UniswapV3LiquidityPositionLib.json b/eth_defi/abi/enzyme/UniswapV3LiquidityPositionLib.json index de935c91..4cfc4e14 100644 --- a/eth_defi/abi/enzyme/UniswapV3LiquidityPositionLib.json +++ b/eth_defi/abi/enzyme/UniswapV3LiquidityPositionLib.json @@ -1,921 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_nonFungibleTokenManager", - "type": "address" - }, - { - "internalType": "address", - "name": "_valueInterpreter", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "NFTPositionAdded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "NFTPositionRemoved", - "type": "event" - }, - { - "inputs": [], - "name": "getDebtAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "assets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "amounts_", - "type": "uint256[]" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "getManagedAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "assets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "amounts_", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getNftIds", - "outputs": [ - { - "internalType": "uint256[]", - "name": "nftIds_", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getNonFungibleTokenManager", - "outputs": [ - { - "internalType": "address", - "name": "nonFungibleTokenManager_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_nftId", - "type": "uint256" - } - ], - "name": "getPairForNft", - "outputs": [ - { - "internalType": "address", - "name": "token0_", - "type": "address" - }, - { - "internalType": "address", - "name": "token1_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_nftId", - "type": "uint256" - } - ], - "name": "getToken0ForNft", - "outputs": [ - { - "internalType": "address", - "name": "token0_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_nftId", - "type": "uint256" - } - ], - "name": "getToken1ForNft", - "outputs": [ - { - "internalType": "address", - "name": "token1_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getValueInterpreter", - "outputs": [ - { - "internalType": "address", - "name": "valueInterpreter_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "init", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - } - ], - "name": "receiveCallFromVault", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x60c06040523480156200001157600080fd5b506040516200316438038062003164833981016040819052620000349162000066565b6001600160601b0319606092831b8116608052911b1660a052620000d1565b80516200006081620000b7565b92915050565b600080604083850312156200007a57600080fd5b600062000088858562000053565b92505060206200009b8582860162000053565b9150509250929050565b60006001600160a01b03821662000060565b620000c281620000a5565b8114620000ce57600080fd5b50565b60805160601c60a05160601c613064620001006000398061045252806105c852508061018e52506130646000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c8063875fb4b311610066578063875fb4b314610114578063e0d803ad1461011c578063e5c23a971461012f578063ecd658b414610142578063eff2452a1461014a5761009e565b80634ddf47d4146100a35780635f358573146100b85780636904481a146100e1578063804ff143146100e957806380daddb8146100fe575b600080fd5b6100b66100b13660046127c2565b61016b565b005b6100cb6100c6366004612844565b61016e565b6040516100d89190612db5565b60405180910390f35b6100cb61018c565b6100f16101b0565b6040516100d89190612e2b565b610106610208565b6040516100d8929190612e06565b6100cb6105c6565b6100cb61012a366004612844565b6105ea565b6100b661013d3660046127c2565b610605565b61010661080c565b61015d610158366004612844565b610812565b6040516100d8929190612dc3565b50565b6000818152600260205260409020546001600160a01b03165b919050565b7f000000000000000000000000000000000000000000000000000000000000000090565b606060008054806020026020016040519081016040528092919081815260200182805480156101fe57602002820191906000526020600020905b8154815260200190600101908083116101ea575b5050505050905090565b60608060006102156101b0565b905080516000141561022757506105c2565b805160020267ffffffffffffffff8111801561024257600080fd5b5060405190808252806020026020018201604052801561026c578160200160208202803683370190505b509250825167ffffffffffffffff8111801561028757600080fd5b506040519080825280602002602001820160405280156102b1578160200160208202803683370190505b5091506000815167ffffffffffffffff811180156102ce57600080fd5b506040519080825280602002602001820160405280156102f8578160200160208202803683370190505b50905060005b82518110156105a45760008061032685848151811061031957fe5b6020026020010151610812565b91509150600083600202905060008160010190508389838151811061034757fe5b60200260200101906001600160a01b031690816001600160a01b0316815250508289828151811061037457fe5b60200260200101906001600160a01b031690816001600160a01b0316815250506000805b86811015610429578a81600202815181106103af57fe5b60200260200101516001600160a01b0316866001600160a01b031614801561040157508a81600202600101815181106103e457fe5b60200260200101516001600160a01b0316856001600160a01b0316145b156104215787818151811061041257fe5b60200260200101519150610429565b600101610398565b506001600160a01b03811661054057604051632633f08360e11b81526000906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690634c67e10690610493908890670de0b6b3a7640000908b90600401612dde565b602060405180830381600087803b1580156104ad57600080fd5b505af11580156104c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104e59190612862565b905061050f61050a82610504600160c01b670de0b6b3a7640000610830565b90610892565b6108f9565b91508188888151811061051e57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050505b61056561054b61018c565b89888151811061055757fe5b60200260200101518361094a565b8a858151811061057157fe5b602002602001018b858151811061058457fe5b6020908102919091010191909152525050600190930192506102fe915050565b506001825111156105bf576105b9848461097d565b90945092505b50505b9091565b7f000000000000000000000000000000000000000000000000000000000000000090565b6000908152600160205260409020546001600160a01b031690565b6000808280602001905181019061061c9190612880565b9092509050816106d757600080600080600080600080600061063d8a610bc0565b9850985098509850985098509850985098506106c96040518061016001604052808b6001600160a01b031681526020018a6001600160a01b031681526020018962ffffff1681526020018860020b81526020018760020b8152602001868152602001858152602001848152602001838152602001306001600160a01b0316815260200142815250610c64565b505050505050505050610807565b600182141561073a5760008060008060006106f186610f17565b945094509450945094506107306040518060c0016040528087815260200186815260200185815260200184815260200183815260200142815250610f5d565b5050505050610807565b600282141561079b57600080600080610752856110ed565b93509350935093506107926040518060a00160405280868152602001856001600160801b031681526020018481526020018381526020014281525061112a565b50505050610807565b60048214156107c7576000806000806107b3856110ed565b9350935093509350610792848484846111bb565b60038214156107e6576107e16107dc82611407565b611426565b610807565b60405162461bcd60e51b81526004016107fe90612e4d565b60405180910390fd5b505050565b60608091565b60008061081e836105ea565b6108278461016e565b91509150915091565b60008261083f5750600061088c565b8282028284828161084c57fe5b04146108895760405162461bcd60e51b8152600401808060200182810382526021815260200180612fd76021913960400191505060405180910390fd5b90505b92915050565b60008082116108e8576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b8183816108f157fe5b049392505050565b6000600382111561093c575080600160028204015b818110156109365780915060028182858161092557fe5b04018161092e57fe5b04905061090e565b50610187565b811561018757506001919050565b60008060008061095b8787876114d0565b9150915060008061096c898961158c565b940195505050019050935093915050565b60608083516000141561098f57610bb9565b6001805b8551811015610a0f576000805b828110156109f9578781815181106109b457fe5b60200260200101516001600160a01b03168884815181106109d157fe5b60200260200101516001600160a01b031614156109f157600191506109f9565b6001016109a0565b5080610a06576001909201915b50600101610993565b508067ffffffffffffffff81118015610a2757600080fd5b50604051908082528060200260200182016040528015610a51578160200160208202803683370190505b5092508067ffffffffffffffff81118015610a6b57600080fd5b50604051908082528060200260200182016040528015610a95578160200160208202803683370190505b5091506000805b8651811015610bb5576000805b83811015610b3457868181518110610abd57fe5b60200260200101516001600160a01b0316898481518110610ada57fe5b60200260200101516001600160a01b03161415610b2c5760019150878381518110610b0157fe5b6020026020010151868281518110610b1557fe5b602002602001018181510191508181525050610b34565b600101610aa9565b5080610bac57878281518110610b4657fe5b6020026020010151868481518110610b5a57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050868281518110610b8657fe5b6020026020010151858481518110610b9a57fe5b60209081029190910101526001909201915b50600101610a9c565b5050505b9250929050565b600080600080600080600080600089806020019051610120811015610be457600080fd5b810190808051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291905050509850985098509850985098509850985098509193959799909294969850565b8051610c7c90610c7261018c565b8360a0015161173f565b610c968160200151610c8c61018c565b8360c0015161173f565b6000806000610ca361018c565b6001600160a01b03166388316456856040518263ffffffff1660e01b8152600401610cce9190612e87565b608060405180830381600087803b158015610ce857600080fd5b505af1158015610cfc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d2091906128d2565b60008054600180820183558280527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56390910186905589518683526020918252604080842080546001600160a01b03199081166001600160a01b0394851617909155838d0151600290945293208054909316911617905560a0880151939650909450925050821015610e4157610e413385600001516001600160a01b03166370a08231306040518263ffffffff1660e01b8152600401610ddf9190612db5565b60206040518083038186803b158015610df757600080fd5b505afa158015610e0b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e2f9190612862565b86516001600160a01b031691906117fb565b8360c00151811015610ee657610ee63385602001516001600160a01b03166370a08231306040518263ffffffff1660e01b8152600401610e819190612db5565b60206040518083038186803b158015610e9957600080fd5b505afa158015610ead573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ed19190612862565b60208701516001600160a01b031691906117fb565b60405183907fa831009a1dec500e6875fc241cfbe036162eb78da63101cbd7bfa24eaef48b3a90600090a250505050565b60008060008060008580602001905160a0811015610f3457600080fd5b508051602082015160408301516060840151608090940151929a91995097509195509350915050565b600080610f6861018c565b6001600160a01b031663219f5d17846040518263ffffffff1660e01b8152600401610f939190612e79565b606060405180830381600087803b158015610fad57600080fd5b505af1158015610fc1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fe591906127f7565b9250925050826020015182101561109a57600061100584600001516105ea565b905061109833826001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016110379190612db5565b60206040518083038186803b15801561104f57600080fd5b505afa158015611063573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110879190612862565b6001600160a01b03841691906117fb565b505b82604001518110156108075760006110b5846000015161016e565b90506110e733826001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016110379190612db5565b50505050565b60008060008084806020019051608081101561110857600080fd5b5080516020820151604083015160609093015191989097509195509350915050565b61113261018c565b6001600160a01b0316630c49ccbe826040518263ffffffff1660e01b815260040161115d9190612e6b565b6040805180830381600087803b15801561117657600080fd5b505af115801561118a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111ae9190612933565b5050805161016b90611426565b6001600160801b0383811614156111d8576111d58461184d565b92505b6001600160801b0383161561129d576111ef61018c565b6001600160a01b0316630c49ccbe6040518060a00160405280878152602001866001600160801b03168152602001858152602001848152602001428152506040518263ffffffff1660e01b81526004016112499190612e6b565b6040805180830381600087803b15801561126257600080fd5b505af1158015611276573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061129a9190612933565b50505b6112a684611426565b6112ae61018c565b6001600160a01b03166342966c68856040518263ffffffff1660e01b81526004016112d99190612e96565b600060405180830381600087803b1580156112f357600080fd5b505af1158015611307573d6000803e3d6000fd5b505060008054925090505b818110156113a757856000828154811061132857fe5b9060005260206000200154141561139f5760018203811015611379576000600183038154811061135457fe5b90600052602060002001546000828154811061136c57fe5b6000918252602090912001555b600080548061138457fe5b600190038181906000526020600020016000905590556113a7565b600101611312565b50600085815260016020908152604080832080546001600160a01b0319908116909155600290925280832080549092169091555186917fb308fd4e2abaef716bcb96e9c382d61e5917345fd816de0d20278a23fbe109c791a25050505050565b600081806020019051602081101561141e57600080fd5b505192915050565b61142e61018c565b604080516080810182528381523360208201526001600160801b038183018190526060820152905163fc6f786560e01b81526001600160a01b03929092169163fc6f78659161147f91600401612e5d565b6040805180830381600087803b15801561149857600080fd5b505af11580156114ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108079190612933565b6000806000806000876001600160a01b03166399fbab88886040518263ffffffff1660e01b8152600401808281526020019150506101806040518083038186803b15801561151d57600080fd5b505afa158015611531573d6000803e3d6000fd5b505050506040513d61018081101561154857600080fd5b5060a081015160c082015160e090920151909450909250905061157d8661156e85611943565b61157785611943565b84611c75565b94509450505050935093915050565b6000806000806000806000806000806000808d6001600160a01b03166399fbab888e6040518263ffffffff1660e01b8152600401808281526020019150506101806040518083038186803b1580156115e357600080fd5b505afa1580156115f7573d6000803e3d6000fd5b505050506040513d61018081101561160e57600080fd5b810190808051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291905050506001600160801b03169b506001600160801b03169b509b509b509b509b509b509b509b509b50505061172a8e6040518061014001604052808d6001600160a01b031681526020018c6001600160a01b031681526020018b62ffffff1681526020018a60020b81526020018960020b8152602001886001600160801b0316815260200187815260200186815260200185815260200184815250611d11565b9b509b50505050505050505050509250929050565b604051636eb1769f60e11b81526000906001600160a01b0385169063dd62ed3e906117709030908790600401612dc3565b60206040518083038186803b15801561178857600080fd5b505afa15801561179c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117c09190612862565b9050818110156110e75780156117e5576117e56001600160a01b038516846000611e2f565b6110e76001600160a01b03851684600019611e2f565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610807908490611f3e565b600080600061185a61018c565b6001600160a01b03166399fbab8860e01b8560405160240161187c9190612e96565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b03199094169390931790925290516118ba9190612da9565b600060405180830381855afa9150503d80600081146118f5576040519150601f19603f3d011682016040523d82523d6000602084013e6118fa565b606091505b509150915081819061191f5760405162461bcd60e51b81526004016107fe9190612e3c565b50808060200190518101906119349190612963565b9b9a5050505050505050505050565b60008060008360020b1261195a578260020b611962565b8260020b6000035b9050620d89e88111156119a0576040805162461bcd60e51b81526020600482015260016024820152601560fa1b604482015290519081900360640190fd5b6000600182166119b457600160801b6119c6565b6ffffcb933bd6fad37aa2d162d1a5940015b70ffffffffffffffffffffffffffffffffff16905060028216156119fa576ffff97272373d413259a46990580e213a0260801c5b6004821615611a19576ffff2e50f5f656932ef12357cf3c7fdcc0260801c5b6008821615611a38576fffe5caca7e10e4e61c3624eaa0941cd00260801c5b6010821615611a57576fffcb9843d60f6159c9db58835c9266440260801c5b6020821615611a76576fff973b41fa98c081472e6896dfb254c00260801c5b6040821615611a95576fff2ea16466c96a3843ec78b326b528610260801c5b6080821615611ab4576ffe5dee046a99a2a811c461f1969c30530260801c5b610100821615611ad4576ffcbe86c7900a88aedcffc83b479aa3a40260801c5b610200821615611af4576ff987a7253ac413176f2b074cf7815e540260801c5b610400821615611b14576ff3392b0822b70005940c7a398e4b70f30260801c5b610800821615611b34576fe7159475a2c29b7443b29c7fa6e889d90260801c5b611000821615611b54576fd097f3bdfd2022b8845ad8f792aa58250260801c5b612000821615611b74576fa9f746462d870fdf8a65dc1f90e061e50260801c5b614000821615611b94576f70d869a156d2a1b890bb3df62baf32f70260801c5b618000821615611bb4576f31be135f97d08fd981231505542fcfa60260801c5b62010000821615611bd5576f09aa508b5b7a84e1c677de54f3e99bc90260801c5b62020000821615611bf5576e5d6af8dedb81196699c329225ee6040260801c5b62040000821615611c14576d2216e584f5fa1ea926041bedfe980260801c5b62080000821615611c31576b048a170391f7dc42444e8fa20260801c5b60008460020b1315611c4c578060001981611c4857fe5b0490505b640100000000810615611c60576001611c63565b60005b60ff16602082901c0192505050919050565b600080836001600160a01b0316856001600160a01b03161115611c96579293925b846001600160a01b0316866001600160a01b031611611cc157611cba858585611fef565b9150611d08565b836001600160a01b0316866001600160a01b03161015611cfa57611ce6868585611fef565b9150611cf385878561205a565b9050611d08565b611d0585858561205a565b90505b94509492505050565b600080600080611dcc611dbd876001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015611d5657600080fd5b505afa158015611d6a573d6000803e3d6000fd5b505050506040513d6020811015611d8057600080fd5b50516040805160608101825289516001600160a01b03908116825260208b810151909116908201528982015162ffffff16918101919091526120a5565b86606001518760800151612189565b91509150846101000151611df88660c0015184038760a001516001600160801b0316600160801b612446565b019350846101200151611e238660e0015183038760a001516001600160801b0316600160801b612446565b01925050509250929050565b801580611eb5575060408051636eb1769f60e11b81523060048201526001600160a01b03848116602483015291519185169163dd62ed3e91604480820192602092909190829003018186803b158015611e8757600080fd5b505afa158015611e9b573d6000803e3d6000fd5b505050506040513d6020811015611eb157600080fd5b5051155b611ef05760405162461bcd60e51b81526004018080602001828103825260368152602001806130226036913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526108079084905b6000611f93826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166124f59092919063ffffffff16565b80519091501561080757808060200190516020811015611fb257600080fd5b50516108075760405162461bcd60e51b815260040180806020018281038252602a815260200180612ff8602a913960400191505060405180910390fd5b6000826001600160a01b0316846001600160a01b0316111561200f579192915b836001600160a01b0316612048606060ff16846001600160801b0316901b8686036001600160a01b0316866001600160a01b0316612446565b8161204f57fe5b0490505b9392505050565b6000826001600160a01b0316846001600160a01b0316111561207a579192915b61209d826001600160801b03168585036001600160a01b0316600160601b612446565b949350505050565b600081602001516001600160a01b031682600001516001600160a01b0316106120cd57600080fd5b50805160208083015160409384015184516001600160a01b0394851681850152939091168385015262ffffff166060808401919091528351808403820181526080840185528051908301206001600160f81b031960a085015294901b6bffffffffffffffffffffffff191660a183015260b58201939093527fe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b5460d5808301919091528251808303909101815260f5909101909152805191012090565b6000806000856001600160a01b0316633850c7bd6040518163ffffffff1660e01b815260040160e06040518083038186803b1580156121c757600080fd5b505afa1580156121db573d6000803e3d6000fd5b505050506040513d60e08110156121f157600080fd5b50602001516040805163f30dba9360e01b8152600288900b6004820152905191925060009182916001600160a01b038a169163f30dba939160248082019261010092909190829003018186803b15801561224a57600080fd5b505afa15801561225e573d6000803e3d6000fd5b505050506040513d61010081101561227557600080fd5b50604080820151606090920151815163f30dba9360e01b815260028a900b60048201529151929450925060009182916001600160a01b038c169163f30dba939160248082019261010092909190829003018186803b1580156122d657600080fd5b505afa1580156122ea573d6000803e3d6000fd5b505050506040513d61010081101561230157600080fd5b5060408101516060909101519092509050600289810b9086900b12156123305781840396508083039550612439565b8760020b8560020b121561242e5760008a6001600160a01b031663f30583996040518163ffffffff1660e01b815260040160206040518083038186803b15801561237957600080fd5b505afa15801561238d573d6000803e3d6000fd5b505050506040513d60208110156123a357600080fd5b505160408051634614131960e01b815290519192506000916001600160a01b038e16916346141319916004808301926020929190829003018186803b1580156123eb57600080fd5b505afa1580156123ff573d6000803e3d6000fd5b505050506040513d602081101561241557600080fd5b5051918690038490039850508390038190039550612439565b838203965082810395505b5050505050935093915050565b600080806000198587098686029250828110908390030390508061247c576000841161247157600080fd5b508290049050612053565b80841161248857600080fd5b6000848688096000868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150509392505050565b606061209d8484600085856125098561261a565b61255a576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b600080866001600160a01b031685876040518082805190602001908083835b602083106125985780518252601f199092019160209182019101612579565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146125fa576040519150601f19603f3d011682016040523d82523d6000602084013e6125ff565b606091505b509150915061260f828286612620565b979650505050505050565b3b151590565b6060831561262f575081612053565b82511561263f5782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612689578181015183820152602001612671565b50505050905090810190601f1680156126b65780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b60006126d76126d284612ece565b612ea4565b9050828152602081018484840111156126ef57600080fd5b6126fa848285612f51565b509392505050565b60006127106126d284612ece565b90508281526020810184848401111561272857600080fd5b6126fa848285612f5d565b805161088c81612f95565b600082601f83011261274f57600080fd5b813561209d8482602086016126c4565b600082601f83011261277057600080fd5b815161209d848260208601612702565b805161088c81612fa9565b805161088c81612fb2565b805161088c81612fbb565b803561088c81612fc4565b805161088c81612fc4565b805161088c81612fcd565b6000602082840312156127d457600080fd5b813567ffffffffffffffff8111156127eb57600080fd5b61209d8482850161273e565b60008060006060848603121561280c57600080fd5b6000612818868661278b565b9350506020612829868287016127ac565b925050604061283a868287016127ac565b9150509250925092565b60006020828403121561285657600080fd5b600061209d84846127a1565b60006020828403121561287457600080fd5b600061209d84846127ac565b6000806040838503121561289357600080fd5b600061289f85856127ac565b925050602083015167ffffffffffffffff8111156128bc57600080fd5b6128c88582860161275f565b9150509250929050565b600080600080608085870312156128e857600080fd5b60006128f487876127ac565b94505060206129058782880161278b565b9350506040612916878288016127ac565b9250506060612927878288016127ac565b91505092959194509250565b6000806040838503121561294657600080fd5b600061295285856127ac565b92505060206128c8858286016127ac565b600080600080600080600080610100898b03121561298057600080fd5b600061298c8b8b6127b7565b985050602061299d8b828c01612733565b97505060406129ae8b828c01612733565b96505060606129bf8b828c01612733565b95505060806129d08b828c01612796565b94505060a06129e18b828c01612780565b93505060c06129f28b828c01612780565b92505060e0612a038b828c0161278b565b9150509295985092959890939650565b6000612a1f8383612a33565b505060200190565b6000612a1f8383612da0565b612a3c81612f0c565b82525050565b6000612a4d82612eff565b612a578185612f03565b9350612a6283612ef9565b8060005b83811015612a90578151612a7a8882612a13565b9750612a8583612ef9565b925050600101612a66565b509495945050505050565b6000612aa682612eff565b612ab08185612f03565b9350612abb83612ef9565b8060005b83811015612a90578151612ad38882612a27565b9750612ade83612ef9565b925050600101612abf565b6000612af482612eff565b612afe8185610187565b9350612b0e818560208601612f5d565b9290920192915050565b612a3c81612f17565b6000612b2c82612eff565b612b368185612f03565b9350612b46818560208601612f5d565b612b4f81612f8b565b9093019392505050565b6000612b66602683612f03565b7f7265636569766543616c6c46726f6d5661756c743a20496e76616c69642061638152651d1a5bdb925960d21b602082015260400192915050565b80516080830190612bb28482612da0565b506020820151612bc56020850182612a33565b506040820151612bd86040850182612d8e565b5060608201516110e76060850182612d8e565b805160a0830190612bfc8482612da0565b506020820151612c0f6020850182612d8e565b506040820151612c226040850182612da0565b506060820151612c356060850182612da0565b5060808201516110e76080850182612da0565b805160c0830190612c598482612da0565b506020820151612c6c6020850182612da0565b506040820151612c7f6040850182612da0565b506060820151612c926060850182612da0565b506080820151612ca56080850182612da0565b5060a08201516110e760a0850182612da0565b8051610160830190612cca8482612a33565b506020820151612cdd6020850182612a33565b506040820151612cf06040850182612d97565b506060820151612d036060850182612b18565b506080820151612d166080850182612b18565b5060a0820151612d2960a0850182612da0565b5060c0820151612d3c60c0850182612da0565b5060e0820151612d4f60e0850182612da0565b50610100820151612d64610100850182612da0565b50610120820151612d79610120850182612a33565b506101408201516110e7610140850182612da0565b612a3c81612f1d565b612a3c81612f35565b612a3c81612f3d565b60006120538284612ae9565b6020810161088c8284612a33565b60408101612dd18285612a33565b6120536020830184612a33565b60608101612dec8286612a33565b612df96020830185612da0565b61209d6040830184612a33565b60408082528101612e178185612a42565b9050818103602083015261209d8184612a9b565b602080825281016120538184612a9b565b602080825281016120538184612b21565b6020808252810161088c81612b59565b6080810161088c8284612ba1565b60a0810161088c8284612beb565b60c0810161088c8284612c48565b610160810161088c8284612cb8565b6020810161088c8284612da0565b60405181810167ffffffffffffffff81118282101715612ec657612ec6612f89565b604052919050565b600067ffffffffffffffff821115612ee857612ee8612f89565b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b600061088c82612f29565b60020b90565b6001600160801b031690565b6001600160a01b031690565b62ffffff1690565b90565b6bffffffffffffffffffffffff1690565b82818337506000910152565b60005b83811015612f78578181015183820152602001612f60565b838111156110e75750506000910152565bfe5b601f01601f191690565b612f9e81612f0c565b811461016b57600080fd5b612f9e81612f17565b612f9e81612f1d565b612f9e81612f35565b612f9e81612f3d565b612f9e81612f4056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e6365a164736f6c6343000706000a", - "sourceMap": "1142:18154:2:-:0;;;1621:190;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;1704:53:2;;;;;;;;1767:37;;;;;1142:18154;;7:143:52;89:13;;111:33;89:13;111:33;:::i;:::-;70:80;;;;:::o;156:440::-;;;292:2;280:9;271:7;267:23;263:32;260:2;;;308:1;305;298:12;260:2;351:1;376:64;432:7;412:9;376:64;:::i;:::-;366:74;;322:128;489:2;515:64;571:7;562:6;551:9;547:22;515:64;:::i;:::-;505:74;;460:129;250:346;;;;;:::o;602:96::-;;-1:-1:-1;;;;;770:54:52;;668:24;749:81::o;836:122::-;909:24;927:5;909:24;:::i;:::-;902:5;899:35;889:2;;948:1;945;938:12;889:2;879:79;:::o;:::-;1142:18154:2;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b506004361061009e5760003560e01c8063875fb4b311610066578063875fb4b314610114578063e0d803ad1461011c578063e5c23a971461012f578063ecd658b414610142578063eff2452a1461014a5761009e565b80634ddf47d4146100a35780635f358573146100b85780636904481a146100e1578063804ff143146100e957806380daddb8146100fe575b600080fd5b6100b66100b13660046127c2565b61016b565b005b6100cb6100c6366004612844565b61016e565b6040516100d89190612db5565b60405180910390f35b6100cb61018c565b6100f16101b0565b6040516100d89190612e2b565b610106610208565b6040516100d8929190612e06565b6100cb6105c6565b6100cb61012a366004612844565b6105ea565b6100b661013d3660046127c2565b610605565b61010661080c565b61015d610158366004612844565b610812565b6040516100d8929190612dc3565b50565b6000818152600260205260409020546001600160a01b03165b919050565b7f000000000000000000000000000000000000000000000000000000000000000090565b606060008054806020026020016040519081016040528092919081815260200182805480156101fe57602002820191906000526020600020905b8154815260200190600101908083116101ea575b5050505050905090565b60608060006102156101b0565b905080516000141561022757506105c2565b805160020267ffffffffffffffff8111801561024257600080fd5b5060405190808252806020026020018201604052801561026c578160200160208202803683370190505b509250825167ffffffffffffffff8111801561028757600080fd5b506040519080825280602002602001820160405280156102b1578160200160208202803683370190505b5091506000815167ffffffffffffffff811180156102ce57600080fd5b506040519080825280602002602001820160405280156102f8578160200160208202803683370190505b50905060005b82518110156105a45760008061032685848151811061031957fe5b6020026020010151610812565b91509150600083600202905060008160010190508389838151811061034757fe5b60200260200101906001600160a01b031690816001600160a01b0316815250508289828151811061037457fe5b60200260200101906001600160a01b031690816001600160a01b0316815250506000805b86811015610429578a81600202815181106103af57fe5b60200260200101516001600160a01b0316866001600160a01b031614801561040157508a81600202600101815181106103e457fe5b60200260200101516001600160a01b0316856001600160a01b0316145b156104215787818151811061041257fe5b60200260200101519150610429565b600101610398565b506001600160a01b03811661054057604051632633f08360e11b81526000906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690634c67e10690610493908890670de0b6b3a7640000908b90600401612dde565b602060405180830381600087803b1580156104ad57600080fd5b505af11580156104c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104e59190612862565b905061050f61050a82610504600160c01b670de0b6b3a7640000610830565b90610892565b6108f9565b91508188888151811061051e57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050505b61056561054b61018c565b89888151811061055757fe5b60200260200101518361094a565b8a858151811061057157fe5b602002602001018b858151811061058457fe5b6020908102919091010191909152525050600190930192506102fe915050565b506001825111156105bf576105b9848461097d565b90945092505b50505b9091565b7f000000000000000000000000000000000000000000000000000000000000000090565b6000908152600160205260409020546001600160a01b031690565b6000808280602001905181019061061c9190612880565b9092509050816106d757600080600080600080600080600061063d8a610bc0565b9850985098509850985098509850985098506106c96040518061016001604052808b6001600160a01b031681526020018a6001600160a01b031681526020018962ffffff1681526020018860020b81526020018760020b8152602001868152602001858152602001848152602001838152602001306001600160a01b0316815260200142815250610c64565b505050505050505050610807565b600182141561073a5760008060008060006106f186610f17565b945094509450945094506107306040518060c0016040528087815260200186815260200185815260200184815260200183815260200142815250610f5d565b5050505050610807565b600282141561079b57600080600080610752856110ed565b93509350935093506107926040518060a00160405280868152602001856001600160801b031681526020018481526020018381526020014281525061112a565b50505050610807565b60048214156107c7576000806000806107b3856110ed565b9350935093509350610792848484846111bb565b60038214156107e6576107e16107dc82611407565b611426565b610807565b60405162461bcd60e51b81526004016107fe90612e4d565b60405180910390fd5b505050565b60608091565b60008061081e836105ea565b6108278461016e565b91509150915091565b60008261083f5750600061088c565b8282028284828161084c57fe5b04146108895760405162461bcd60e51b8152600401808060200182810382526021815260200180612fd76021913960400191505060405180910390fd5b90505b92915050565b60008082116108e8576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b8183816108f157fe5b049392505050565b6000600382111561093c575080600160028204015b818110156109365780915060028182858161092557fe5b04018161092e57fe5b04905061090e565b50610187565b811561018757506001919050565b60008060008061095b8787876114d0565b9150915060008061096c898961158c565b940195505050019050935093915050565b60608083516000141561098f57610bb9565b6001805b8551811015610a0f576000805b828110156109f9578781815181106109b457fe5b60200260200101516001600160a01b03168884815181106109d157fe5b60200260200101516001600160a01b031614156109f157600191506109f9565b6001016109a0565b5080610a06576001909201915b50600101610993565b508067ffffffffffffffff81118015610a2757600080fd5b50604051908082528060200260200182016040528015610a51578160200160208202803683370190505b5092508067ffffffffffffffff81118015610a6b57600080fd5b50604051908082528060200260200182016040528015610a95578160200160208202803683370190505b5091506000805b8651811015610bb5576000805b83811015610b3457868181518110610abd57fe5b60200260200101516001600160a01b0316898481518110610ada57fe5b60200260200101516001600160a01b03161415610b2c5760019150878381518110610b0157fe5b6020026020010151868281518110610b1557fe5b602002602001018181510191508181525050610b34565b600101610aa9565b5080610bac57878281518110610b4657fe5b6020026020010151868481518110610b5a57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050868281518110610b8657fe5b6020026020010151858481518110610b9a57fe5b60209081029190910101526001909201915b50600101610a9c565b5050505b9250929050565b600080600080600080600080600089806020019051610120811015610be457600080fd5b810190808051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291905050509850985098509850985098509850985098509193959799909294969850565b8051610c7c90610c7261018c565b8360a0015161173f565b610c968160200151610c8c61018c565b8360c0015161173f565b6000806000610ca361018c565b6001600160a01b03166388316456856040518263ffffffff1660e01b8152600401610cce9190612e87565b608060405180830381600087803b158015610ce857600080fd5b505af1158015610cfc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d2091906128d2565b60008054600180820183558280527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56390910186905589518683526020918252604080842080546001600160a01b03199081166001600160a01b0394851617909155838d0151600290945293208054909316911617905560a0880151939650909450925050821015610e4157610e413385600001516001600160a01b03166370a08231306040518263ffffffff1660e01b8152600401610ddf9190612db5565b60206040518083038186803b158015610df757600080fd5b505afa158015610e0b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e2f9190612862565b86516001600160a01b031691906117fb565b8360c00151811015610ee657610ee63385602001516001600160a01b03166370a08231306040518263ffffffff1660e01b8152600401610e819190612db5565b60206040518083038186803b158015610e9957600080fd5b505afa158015610ead573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ed19190612862565b60208701516001600160a01b031691906117fb565b60405183907fa831009a1dec500e6875fc241cfbe036162eb78da63101cbd7bfa24eaef48b3a90600090a250505050565b60008060008060008580602001905160a0811015610f3457600080fd5b508051602082015160408301516060840151608090940151929a91995097509195509350915050565b600080610f6861018c565b6001600160a01b031663219f5d17846040518263ffffffff1660e01b8152600401610f939190612e79565b606060405180830381600087803b158015610fad57600080fd5b505af1158015610fc1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fe591906127f7565b9250925050826020015182101561109a57600061100584600001516105ea565b905061109833826001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016110379190612db5565b60206040518083038186803b15801561104f57600080fd5b505afa158015611063573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110879190612862565b6001600160a01b03841691906117fb565b505b82604001518110156108075760006110b5846000015161016e565b90506110e733826001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016110379190612db5565b50505050565b60008060008084806020019051608081101561110857600080fd5b5080516020820151604083015160609093015191989097509195509350915050565b61113261018c565b6001600160a01b0316630c49ccbe826040518263ffffffff1660e01b815260040161115d9190612e6b565b6040805180830381600087803b15801561117657600080fd5b505af115801561118a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111ae9190612933565b5050805161016b90611426565b6001600160801b0383811614156111d8576111d58461184d565b92505b6001600160801b0383161561129d576111ef61018c565b6001600160a01b0316630c49ccbe6040518060a00160405280878152602001866001600160801b03168152602001858152602001848152602001428152506040518263ffffffff1660e01b81526004016112499190612e6b565b6040805180830381600087803b15801561126257600080fd5b505af1158015611276573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061129a9190612933565b50505b6112a684611426565b6112ae61018c565b6001600160a01b03166342966c68856040518263ffffffff1660e01b81526004016112d99190612e96565b600060405180830381600087803b1580156112f357600080fd5b505af1158015611307573d6000803e3d6000fd5b505060008054925090505b818110156113a757856000828154811061132857fe5b9060005260206000200154141561139f5760018203811015611379576000600183038154811061135457fe5b90600052602060002001546000828154811061136c57fe5b6000918252602090912001555b600080548061138457fe5b600190038181906000526020600020016000905590556113a7565b600101611312565b50600085815260016020908152604080832080546001600160a01b0319908116909155600290925280832080549092169091555186917fb308fd4e2abaef716bcb96e9c382d61e5917345fd816de0d20278a23fbe109c791a25050505050565b600081806020019051602081101561141e57600080fd5b505192915050565b61142e61018c565b604080516080810182528381523360208201526001600160801b038183018190526060820152905163fc6f786560e01b81526001600160a01b03929092169163fc6f78659161147f91600401612e5d565b6040805180830381600087803b15801561149857600080fd5b505af11580156114ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108079190612933565b6000806000806000876001600160a01b03166399fbab88886040518263ffffffff1660e01b8152600401808281526020019150506101806040518083038186803b15801561151d57600080fd5b505afa158015611531573d6000803e3d6000fd5b505050506040513d61018081101561154857600080fd5b5060a081015160c082015160e090920151909450909250905061157d8661156e85611943565b61157785611943565b84611c75565b94509450505050935093915050565b6000806000806000806000806000806000808d6001600160a01b03166399fbab888e6040518263ffffffff1660e01b8152600401808281526020019150506101806040518083038186803b1580156115e357600080fd5b505afa1580156115f7573d6000803e3d6000fd5b505050506040513d61018081101561160e57600080fd5b810190808051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291905050506001600160801b03169b506001600160801b03169b509b509b509b509b509b509b509b509b50505061172a8e6040518061014001604052808d6001600160a01b031681526020018c6001600160a01b031681526020018b62ffffff1681526020018a60020b81526020018960020b8152602001886001600160801b0316815260200187815260200186815260200185815260200184815250611d11565b9b509b50505050505050505050509250929050565b604051636eb1769f60e11b81526000906001600160a01b0385169063dd62ed3e906117709030908790600401612dc3565b60206040518083038186803b15801561178857600080fd5b505afa15801561179c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117c09190612862565b9050818110156110e75780156117e5576117e56001600160a01b038516846000611e2f565b6110e76001600160a01b03851684600019611e2f565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610807908490611f3e565b600080600061185a61018c565b6001600160a01b03166399fbab8860e01b8560405160240161187c9190612e96565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b03199094169390931790925290516118ba9190612da9565b600060405180830381855afa9150503d80600081146118f5576040519150601f19603f3d011682016040523d82523d6000602084013e6118fa565b606091505b509150915081819061191f5760405162461bcd60e51b81526004016107fe9190612e3c565b50808060200190518101906119349190612963565b9b9a5050505050505050505050565b60008060008360020b1261195a578260020b611962565b8260020b6000035b9050620d89e88111156119a0576040805162461bcd60e51b81526020600482015260016024820152601560fa1b604482015290519081900360640190fd5b6000600182166119b457600160801b6119c6565b6ffffcb933bd6fad37aa2d162d1a5940015b70ffffffffffffffffffffffffffffffffff16905060028216156119fa576ffff97272373d413259a46990580e213a0260801c5b6004821615611a19576ffff2e50f5f656932ef12357cf3c7fdcc0260801c5b6008821615611a38576fffe5caca7e10e4e61c3624eaa0941cd00260801c5b6010821615611a57576fffcb9843d60f6159c9db58835c9266440260801c5b6020821615611a76576fff973b41fa98c081472e6896dfb254c00260801c5b6040821615611a95576fff2ea16466c96a3843ec78b326b528610260801c5b6080821615611ab4576ffe5dee046a99a2a811c461f1969c30530260801c5b610100821615611ad4576ffcbe86c7900a88aedcffc83b479aa3a40260801c5b610200821615611af4576ff987a7253ac413176f2b074cf7815e540260801c5b610400821615611b14576ff3392b0822b70005940c7a398e4b70f30260801c5b610800821615611b34576fe7159475a2c29b7443b29c7fa6e889d90260801c5b611000821615611b54576fd097f3bdfd2022b8845ad8f792aa58250260801c5b612000821615611b74576fa9f746462d870fdf8a65dc1f90e061e50260801c5b614000821615611b94576f70d869a156d2a1b890bb3df62baf32f70260801c5b618000821615611bb4576f31be135f97d08fd981231505542fcfa60260801c5b62010000821615611bd5576f09aa508b5b7a84e1c677de54f3e99bc90260801c5b62020000821615611bf5576e5d6af8dedb81196699c329225ee6040260801c5b62040000821615611c14576d2216e584f5fa1ea926041bedfe980260801c5b62080000821615611c31576b048a170391f7dc42444e8fa20260801c5b60008460020b1315611c4c578060001981611c4857fe5b0490505b640100000000810615611c60576001611c63565b60005b60ff16602082901c0192505050919050565b600080836001600160a01b0316856001600160a01b03161115611c96579293925b846001600160a01b0316866001600160a01b031611611cc157611cba858585611fef565b9150611d08565b836001600160a01b0316866001600160a01b03161015611cfa57611ce6868585611fef565b9150611cf385878561205a565b9050611d08565b611d0585858561205a565b90505b94509492505050565b600080600080611dcc611dbd876001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015611d5657600080fd5b505afa158015611d6a573d6000803e3d6000fd5b505050506040513d6020811015611d8057600080fd5b50516040805160608101825289516001600160a01b03908116825260208b810151909116908201528982015162ffffff16918101919091526120a5565b86606001518760800151612189565b91509150846101000151611df88660c0015184038760a001516001600160801b0316600160801b612446565b019350846101200151611e238660e0015183038760a001516001600160801b0316600160801b612446565b01925050509250929050565b801580611eb5575060408051636eb1769f60e11b81523060048201526001600160a01b03848116602483015291519185169163dd62ed3e91604480820192602092909190829003018186803b158015611e8757600080fd5b505afa158015611e9b573d6000803e3d6000fd5b505050506040513d6020811015611eb157600080fd5b5051155b611ef05760405162461bcd60e51b81526004018080602001828103825260368152602001806130226036913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526108079084905b6000611f93826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166124f59092919063ffffffff16565b80519091501561080757808060200190516020811015611fb257600080fd5b50516108075760405162461bcd60e51b815260040180806020018281038252602a815260200180612ff8602a913960400191505060405180910390fd5b6000826001600160a01b0316846001600160a01b0316111561200f579192915b836001600160a01b0316612048606060ff16846001600160801b0316901b8686036001600160a01b0316866001600160a01b0316612446565b8161204f57fe5b0490505b9392505050565b6000826001600160a01b0316846001600160a01b0316111561207a579192915b61209d826001600160801b03168585036001600160a01b0316600160601b612446565b949350505050565b600081602001516001600160a01b031682600001516001600160a01b0316106120cd57600080fd5b50805160208083015160409384015184516001600160a01b0394851681850152939091168385015262ffffff166060808401919091528351808403820181526080840185528051908301206001600160f81b031960a085015294901b6bffffffffffffffffffffffff191660a183015260b58201939093527fe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b5460d5808301919091528251808303909101815260f5909101909152805191012090565b6000806000856001600160a01b0316633850c7bd6040518163ffffffff1660e01b815260040160e06040518083038186803b1580156121c757600080fd5b505afa1580156121db573d6000803e3d6000fd5b505050506040513d60e08110156121f157600080fd5b50602001516040805163f30dba9360e01b8152600288900b6004820152905191925060009182916001600160a01b038a169163f30dba939160248082019261010092909190829003018186803b15801561224a57600080fd5b505afa15801561225e573d6000803e3d6000fd5b505050506040513d61010081101561227557600080fd5b50604080820151606090920151815163f30dba9360e01b815260028a900b60048201529151929450925060009182916001600160a01b038c169163f30dba939160248082019261010092909190829003018186803b1580156122d657600080fd5b505afa1580156122ea573d6000803e3d6000fd5b505050506040513d61010081101561230157600080fd5b5060408101516060909101519092509050600289810b9086900b12156123305781840396508083039550612439565b8760020b8560020b121561242e5760008a6001600160a01b031663f30583996040518163ffffffff1660e01b815260040160206040518083038186803b15801561237957600080fd5b505afa15801561238d573d6000803e3d6000fd5b505050506040513d60208110156123a357600080fd5b505160408051634614131960e01b815290519192506000916001600160a01b038e16916346141319916004808301926020929190829003018186803b1580156123eb57600080fd5b505afa1580156123ff573d6000803e3d6000fd5b505050506040513d602081101561241557600080fd5b5051918690038490039850508390038190039550612439565b838203965082810395505b5050505050935093915050565b600080806000198587098686029250828110908390030390508061247c576000841161247157600080fd5b508290049050612053565b80841161248857600080fd5b6000848688096000868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150509392505050565b606061209d8484600085856125098561261a565b61255a576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b600080866001600160a01b031685876040518082805190602001908083835b602083106125985780518252601f199092019160209182019101612579565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146125fa576040519150601f19603f3d011682016040523d82523d6000602084013e6125ff565b606091505b509150915061260f828286612620565b979650505050505050565b3b151590565b6060831561262f575081612053565b82511561263f5782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612689578181015183820152602001612671565b50505050905090810190601f1680156126b65780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b60006126d76126d284612ece565b612ea4565b9050828152602081018484840111156126ef57600080fd5b6126fa848285612f51565b509392505050565b60006127106126d284612ece565b90508281526020810184848401111561272857600080fd5b6126fa848285612f5d565b805161088c81612f95565b600082601f83011261274f57600080fd5b813561209d8482602086016126c4565b600082601f83011261277057600080fd5b815161209d848260208601612702565b805161088c81612fa9565b805161088c81612fb2565b805161088c81612fbb565b803561088c81612fc4565b805161088c81612fc4565b805161088c81612fcd565b6000602082840312156127d457600080fd5b813567ffffffffffffffff8111156127eb57600080fd5b61209d8482850161273e565b60008060006060848603121561280c57600080fd5b6000612818868661278b565b9350506020612829868287016127ac565b925050604061283a868287016127ac565b9150509250925092565b60006020828403121561285657600080fd5b600061209d84846127a1565b60006020828403121561287457600080fd5b600061209d84846127ac565b6000806040838503121561289357600080fd5b600061289f85856127ac565b925050602083015167ffffffffffffffff8111156128bc57600080fd5b6128c88582860161275f565b9150509250929050565b600080600080608085870312156128e857600080fd5b60006128f487876127ac565b94505060206129058782880161278b565b9350506040612916878288016127ac565b9250506060612927878288016127ac565b91505092959194509250565b6000806040838503121561294657600080fd5b600061295285856127ac565b92505060206128c8858286016127ac565b600080600080600080600080610100898b03121561298057600080fd5b600061298c8b8b6127b7565b985050602061299d8b828c01612733565b97505060406129ae8b828c01612733565b96505060606129bf8b828c01612733565b95505060806129d08b828c01612796565b94505060a06129e18b828c01612780565b93505060c06129f28b828c01612780565b92505060e0612a038b828c0161278b565b9150509295985092959890939650565b6000612a1f8383612a33565b505060200190565b6000612a1f8383612da0565b612a3c81612f0c565b82525050565b6000612a4d82612eff565b612a578185612f03565b9350612a6283612ef9565b8060005b83811015612a90578151612a7a8882612a13565b9750612a8583612ef9565b925050600101612a66565b509495945050505050565b6000612aa682612eff565b612ab08185612f03565b9350612abb83612ef9565b8060005b83811015612a90578151612ad38882612a27565b9750612ade83612ef9565b925050600101612abf565b6000612af482612eff565b612afe8185610187565b9350612b0e818560208601612f5d565b9290920192915050565b612a3c81612f17565b6000612b2c82612eff565b612b368185612f03565b9350612b46818560208601612f5d565b612b4f81612f8b565b9093019392505050565b6000612b66602683612f03565b7f7265636569766543616c6c46726f6d5661756c743a20496e76616c69642061638152651d1a5bdb925960d21b602082015260400192915050565b80516080830190612bb28482612da0565b506020820151612bc56020850182612a33565b506040820151612bd86040850182612d8e565b5060608201516110e76060850182612d8e565b805160a0830190612bfc8482612da0565b506020820151612c0f6020850182612d8e565b506040820151612c226040850182612da0565b506060820151612c356060850182612da0565b5060808201516110e76080850182612da0565b805160c0830190612c598482612da0565b506020820151612c6c6020850182612da0565b506040820151612c7f6040850182612da0565b506060820151612c926060850182612da0565b506080820151612ca56080850182612da0565b5060a08201516110e760a0850182612da0565b8051610160830190612cca8482612a33565b506020820151612cdd6020850182612a33565b506040820151612cf06040850182612d97565b506060820151612d036060850182612b18565b506080820151612d166080850182612b18565b5060a0820151612d2960a0850182612da0565b5060c0820151612d3c60c0850182612da0565b5060e0820151612d4f60e0850182612da0565b50610100820151612d64610100850182612da0565b50610120820151612d79610120850182612a33565b506101408201516110e7610140850182612da0565b612a3c81612f1d565b612a3c81612f35565b612a3c81612f3d565b60006120538284612ae9565b6020810161088c8284612a33565b60408101612dd18285612a33565b6120536020830184612a33565b60608101612dec8286612a33565b612df96020830185612da0565b61209d6040830184612a33565b60408082528101612e178185612a42565b9050818103602083015261209d8184612a9b565b602080825281016120538184612a9b565b602080825281016120538184612b21565b6020808252810161088c81612b59565b6080810161088c8284612ba1565b60a0810161088c8284612beb565b60c0810161088c8284612c48565b610160810161088c8284612cb8565b6020810161088c8284612da0565b60405181810167ffffffffffffffff81118282101715612ec657612ec6612f89565b604052919050565b600067ffffffffffffffff821115612ee857612ee8612f89565b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b600061088c82612f29565b60020b90565b6001600160801b031690565b6001600160a01b031690565b62ffffff1690565b90565b6bffffffffffffffffffffffff1690565b82818337506000910152565b60005b83811015612f78578181015183820152602001612f60565b838111156110e75750506000910152565bfe5b601f01601f191690565b612f9e81612f0c565b811461016b57600080fd5b612f9e81612f17565b612f9e81612f1d565b612f9e81612f35565b612f9e81612f3d565b612f9e81612f4056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e6365a164736f6c6343000706000a", - "sourceMap": "1142:18154:2:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1920:48;;;;;;:::i;:::-;;:::i;:::-;;18908:124;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17863:143;;;:::i;17607:98::-;;;:::i;:::-;;;;;;;:::i;12779:2470::-;;;:::i;:::-;;;;;;;;:::i;19174:120::-;;;:::i;18611:124::-;;;;;;:::i;:::-;;:::i;2096:3504::-;;;;;;:::i;:::-;;:::i;12411:189::-;;;:::i;18225:213::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;1920:48::-;;:::o;18908:124::-;18970:15;19004:21;;;:13;:21;;;;;;-1:-1:-1;;;;;19004:21:2;18908:124;;;;:::o;17863:143::-;17973:26;17863:143;:::o;17607:98::-;17649:24;17692:6;17685:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17607:98;:::o;12779:2470::-;12858:24;12884:25;12925:27;12955:11;:9;:11::i;:::-;12925:41;;12980:10;:17;13001:1;12980:22;12976:79;;;13018:26;;;12976:79;13089:10;:17;13109:1;13089:21;13075:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13075:36:2;;13065:46;;13146:7;:14;13132:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13132:29:2;;13121:40;;13251:30;13298:10;:17;13284:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13284:32:2;;13251:65;;13331:9;13326:1589;13346:10;:17;13342:1;:21;13326:1589;;;13385:14;13401;13419:28;13433:10;13444:1;13433:13;;;;;;;;;;;;;;13419;:28::i;:::-;13384:63;;;;13461:19;13483:1;13487;13483:5;13461:27;;13502:19;13524:11;13538:1;13524:15;13502:37;;13577:6;13554:7;13562:11;13554:20;;;;;;;;;;;;;:29;-1:-1:-1;;;;;13554:29:2;;;-1:-1:-1;;;;;13554:29:2;;;;;13620:6;13597:7;13605:11;13597:20;;;;;;;;;;;;;:29;-1:-1:-1;;;;;13597:29:2;;;-1:-1:-1;;;;;13597:29:2;;;;;13713:20;13752:9;13747:221;13767:1;13763;:5;13747:221;;;13807:7;13815:1;13819;13815:5;13807:14;;;;;;;;;;;;;;-1:-1:-1;;;;;13797:24:2;:6;-1:-1:-1;;;;;13797:24:2;;:56;;;;;13835:7;13843:1;13847;13843:5;13851:1;13843:9;13835:18;;;;;;;;;;;;;;-1:-1:-1;;;;;13825:28:2;:6;-1:-1:-1;;;;;13825:28:2;;13797:56;13793:161;;;13892:13;13906:1;13892:16;;;;;;;;;;;;;;13877:31;;13930:5;;13793:161;13770:3;;13747:221;;;-1:-1:-1;;;;;;13986:17:2;;13982:690;;14055:178;;-1:-1:-1;;;14055:178:2;;14023:29;;-1:-1:-1;;;;;14120:17:2;14055:124;;;;:178;;14180:6;;1541;;14226;;14055:178;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14023:210;-1:-1:-1;14402:188:2;14441:127;14023:210;14442:69;-1:-1:-1;;;1541:6:2;14442:31;:69::i;:::-;14441:104;;:127::i;:::-;14402:13;:188::i;:::-;14358:250;;14645:12;14626:13;14640:1;14626:16;;;;;;;;;;;;;:31;-1:-1:-1;;;;;14626:31:2;;;-1:-1:-1;;;;;14626:31:2;;;;;13982:690;;14735:169;14800:28;:26;:28::i;:::-;14847:10;14858:1;14847:13;;;;;;;;;;;;;;14878:12;14735:19;:169::i;:::-;14687:8;14696:11;14687:21;;;;;;;;;;;;;14710:8;14719:11;14710:21;;;;;;;;;;;;;;;;;14686:218;;;;;-1:-1:-1;;13365:3:2;;;;;-1:-1:-1;13326:1589:2;;-1:-1:-1;;13326:1589:2;;;15114:1;15094:10;:17;:21;15090:116;;;15153:42;15177:7;15186:8;15153:23;:42::i;:::-;15131:64;;-1:-1:-1;15131:64:2;-1:-1:-1;15090:116:2;15216:26;;12779:2470;;;:::o;19174:120::-;19270:17;19174:120;:::o;18611:124::-;18673:15;18707:21;;;:13;:21;;;;;;-1:-1:-1;;;;;18707:21:2;;18611:124::o;2096:3504::-;2181:16;2199:23;2237:11;2226:41;;;;;;;;;;;;:::i;:::-;2180:87;;-1:-1:-1;2180:87:2;-1:-1:-1;2295:87:2;2278:3316;;2425:14;2457;2489:10;2517:15;2550;2583:22;2623;2663:18;2699;2734:34;2757:10;2734:22;:34::i;:::-;2407:361;;;;;;;;;;;;;;;;;;2783:567;2807:529;;;;;;;;2876:6;-1:-1:-1;;;;;2807:529:2;;;;;2912:6;-1:-1:-1;;;;;2807:529:2;;;;;2945:3;2807:529;;;;;;2981:9;2807:529;;;;;;3023:9;2807:529;;;;;;3070:14;2807:529;;;;3122:14;2807:529;;;;3170:10;2807:529;;;;3214:10;2807:529;;;;3265:4;-1:-1:-1;;;;;2807:529:2;;;;;3302:15;2807:529;;;2783:6;:567::i;:::-;2278:3316;;;;;;;;;;;;3416:74;3384:8;:107;3367:2227;;;3534:13;3565:22;3605;3645:18;3681;3716:42;3747:10;3716:30;:42::i;:::-;3516:242;;;;;;;;;;3773:392;3805:346;;;;;;;;3888:5;3805:346;;;;3931:14;3805:346;;;;3983:14;3805:346;;;;4031:10;3805:346;;;;4075:10;3805:346;;;;4117:15;3805:346;;;3773:14;:392::i;:::-;3367:2227;;;;;;;;4231:77;4199:8;:110;4182:1412;;;4352:13;4383:17;4418:18;4454;4489:45;4523:10;4489:33;:45::i;:::-;4334:200;;;;;;;;4549:333;4584:284;;;;;;;;4667:5;4584:284;;;;4705:9;-1:-1:-1;;;;;4584:284:2;;;;;4748:10;4584:284;;;;4792:10;4584:284;;;;4834:15;4584:284;;;4549:17;:333::i;:::-;4182:1412;;;;;;;4948:67;4916:8;:100;4899:695;;;5059:13;5090:17;5125:18;5161;5196:35;5220:10;5196:23;:35::i;:::-;5041:190;;;;;;;;5246:49;5254:5;5261:9;5272:10;5284;5246:7;:49::i;4899:695::-;5361:69;5329:8;:102;5312:282;;;5456:48;5466:37;5492:10;5466:25;:37::i;:::-;5456:9;:48::i;:::-;5312:282;;;5535:48;;-1:-1:-1;;;5535:48:2;;;;;;;:::i;:::-;;;;;;;;5312:282;2096:3504;;;:::o;12411:189::-;12500:24;12526:25;12411:189;:::o;18225:213::-;18326:15;18343;18382:23;18398:6;18382:15;:23::i;:::-;18407;18423:6;18407:15;:23::i;:::-;18374:57;;;;18225:213;;;:::o;3530:215:10:-;3588:7;3611:6;3607:20;;-1:-1:-1;3626:1:10;3619:8;;3607:20;3649:5;;;3653:1;3649;:5;:1;3672:5;;;;;:10;3664:56;;;;-1:-1:-1;;;3664:56:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3737:1;-1:-1:-1;3530:215:10;;;;;:::o;4209:150::-;4267:7;4298:1;4294;:5;4286:44;;;;;-1:-1:-1;;;4286:44:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;4351:1;4347;:5;;;;;;;4209:150;-1:-1:-1;;;4209:150:10:o;17070:363:2:-;17127:10;17158:1;17153:2;:6;17149:235;;;-1:-1:-1;17180:2:2;17217:1;17213;17208:6;;:10;17232:92;17243:2;17239:1;:6;17232:92;;;17270:1;17265:6;;17308:1;17303;17299;17294:2;:6;;;;;;:10;17293:16;;;;;;17289:20;;17232:92;;;17149:235;;;;17344:7;;17340:44;;-1:-1:-1;17372:1:2;17070:363;;;:::o;1155:469:51:-;1307:15;1324;1352:24;1378;1406:49;1416:15;1433:7;1442:12;1406:9;:49::i;:::-;1351:104;;;;1466:18;1486;1508:30;1513:15;1530:7;1508:4;:30::i;:::-;1556:29;;;-1:-1:-1;;;1587:29:51;;-1:-1:-1;1155:469:51;;;;;;:::o;15315:1573:2:-;15453:34;15489:35;15544:10;:17;15565:1;15544:22;15540:99;;;15582:46;;15540:99;15680:1;;15691:361;15715:10;:17;15711:1;:21;15691:361;;;15753:13;15785:9;15780:179;15800:1;15796;:5;15780:179;;;15847:10;15858:1;15847:13;;;;;;;;;;;;;;-1:-1:-1;;;;;15830:30:2;:10;15841:1;15830:13;;;;;;;;;;;;;;-1:-1:-1;;;;;15830:30:2;;15826:119;;;15895:4;15884:15;;15921:5;;15826:119;15803:3;;15780:179;;;;15977:8;15972:70;;16005:22;;;;;15972:70;-1:-1:-1;15734:3:2;;15691:361;;;;16096:20;16082:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;16082:35:2;;16062:55;;16162:20;16148:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;16148:35:2;;16127:56;;16193:28;16236:9;16231:594;16251:10;:17;16247:1;:21;16231:594;;;16289:13;16321:9;16316:268;16336:20;16332:1;:24;16316:268;;;16402:17;16420:1;16402:20;;;;;;;;;;;;;;-1:-1:-1;;;;;16385:37:2;:10;16396:1;16385:13;;;;;;;;;;;;;;-1:-1:-1;;;;;16385:37:2;;16381:189;;;16457:4;16446:15;;16509:11;16521:1;16509:14;;;;;;;;;;;;;;16484:18;16503:1;16484:21;;;;;;;;;;;;;:39;;;;;;;;;;;16546:5;;16381:189;16358:3;;16316:268;;;;16602:8;16597:218;;16672:10;16683:1;16672:13;;;;;;;;;;;;;;16630:17;16648:20;16630:39;;;;;;;;;;;;;:55;-1:-1:-1;;;;;16630:55:2;;;-1:-1:-1;;;;;16630:55:2;;;;;16746:11;16758:1;16746:14;;;;;;;;;;;;;;16703:18;16722:20;16703:40;;;;;;;;;;;;;;;;;:57;16778:22;;;;;16597:218;-1:-1:-1;16270:3:2;;16231:594;;;;16835:46;;15315:1573;;;;;;:::o;1333:585:1:-;1451:15;1480;1509:11;1534:16;1564;1594:23;1631;1668:19;1701;1792:11;1764:147;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1745:166;;;;;;;;;;;;;;;;;;1333:585;;;;;;;;;;;:::o;8266:1341:2:-;8462:14;;8423:141;;8490:28;:26;:28::i;:::-;8532:7;:22;;;8423:25;:141::i;:::-;8574;8613:7;:14;;;8641:28;:26;:28::i;:::-;8683:7;:22;;;8574:25;:141::i;:::-;8751:15;8770;8787;8847:28;:26;:28::i;:::-;-1:-1:-1;;;;;8806:84:2;;8891:7;8806:93;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8942:6;:20;;;;;;;;;;;;;;;;;;8997:14;;8972:22;;;8942:20;8972:22;;;;;;;:39;;-1:-1:-1;;;;;;8972:39:2;;;-1:-1:-1;;;;;8972:39:2;;;;;;;9046:14;;;;9021:13;:22;;;;;:39;;;;;;;;;;9158:22;;;;8942:20;;-1:-1:-1;8750:149:2;;-1:-1:-1;8750:149:2;-1:-1:-1;;9148:32:2;;9144:203;;;9196:140;9248:10;9282:7;:14;;;-1:-1:-1;;;;;9276:31:2;;9316:4;9276:46;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9202:14;;-1:-1:-1;;;;;9196:34:2;;:140;:34;:140::i;:::-;9371:7;:22;;;9361:7;:32;9357:203;;;9409:140;9461:10;9495:7;:14;;;-1:-1:-1;;;;;9489:31:2;;9529:4;9489:46;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9415:14;;;;-1:-1:-1;;;;;9409:34:2;;:140;:34;:140::i;:::-;9575:25;;9592:7;;9575:25;;;;;8266:1341;;;;:::o;617:389:1:-;743:14;771:23;808;845:19;878;940:11;929:70;;;;;;;;;;;;;;;-1:-1:-1;929:70:1;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;929:70:1;-1:-1:-1;929:70:1;;-1:-1:-1;929:70:1;-1:-1:-1;617:389:1;-1:-1:-1;;617:389:1:o;5684:774:2:-;5881:15;5898;5958:28;:26;:28::i;:::-;-1:-1:-1;;;;;5917:97:2;;6015:7;5917:106;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5878:145;;;;;6048:7;:22;;;6038:7;:32;6034:204;;;6086:14;6103:32;6119:7;:15;;;6103;:32::i;:::-;6086:49;;6149:78;6176:10;6194:6;-1:-1:-1;;;;;6188:23:2;;6220:4;6188:38;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;6149:26:2;;;:78;:26;:78::i;:::-;6034:204;;6262:7;:22;;;6252:7;:32;6248:204;;;6300:14;6317:32;6333:7;:15;;;6317;:32::i;:::-;6300:49;;6363:78;6390:10;6408:6;-1:-1:-1;;;;;6402:23:2;;6434:4;6402:38;;;;;;;;;;;;;;;:::i;6363:78::-;6248:204;5684:774;;;:::o;2399:341:1:-;2528:14;2556:18;2588:19;2621;2683:11;2672:61;;;;;;;;;;;;;;;-1:-1:-1;2672:61:1;;;;;;;;;;;;;;;;;;;-1:-1:-1;2672:61:1;;-1:-1:-1;2672:61:1;-1:-1:-1;2399:341:1;-1:-1:-1;;2399:341:1:o;11885:253:2:-;12038:28;:26;:28::i;:::-;-1:-1:-1;;;;;12010:75:2;;12086:7;12010:84;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;12115:15:2;;12105:26;;:9;:26::i;10052:1727::-;-1:-1:-1;;;;;10207:31:2;;;;10203:419;;;10583:28;10604:6;10583:20;:28::i;:::-;10570:41;;10203:419;-1:-1:-1;;;;;10636:14:2;;;10632:440;;10694:28;:26;:28::i;:::-;-1:-1:-1;;;;;10666:75:2;;10759:288;;;;;;;;10842:6;10759:288;;;;10881:10;-1:-1:-1;;;;;10759:288:2;;;;;10925:11;10759:288;;;;10970:11;10759:288;;;;11013:15;10759:288;;;10666:395;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;10632:440;11082:17;11092:6;11082:9;:17::i;:::-;11206:28;:26;:28::i;:::-;-1:-1:-1;;;;;11178:62:2;;11241:6;11178:70;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;11349:16:2;11368:13;;;-1:-1:-1;11349:16:2;-1:-1:-1;11391:264:2;11411:8;11407:1;:12;11391:264;;;11457:6;11444;11451:1;11444:9;;;;;;;;;;;;;;;;:19;11440:205;;;11502:1;11491:8;:12;11487:1;:16;11483:95;;;11539:6;11557:1;11546:8;:12;11539:20;;;;;;;;;;;;;;;;11527:6;11534:1;11527:9;;;;;;;;;;;;;;;;;:32;11483:95;11595:6;:12;;;;;;;;;;;;;;;;;;;;;;;;11625:5;;11440:205;11421:3;;11391:264;;;-1:-1:-1;11671:21:2;;;;:13;:21;;;;;;;;11664:28;;-1:-1:-1;;;;;;11664:28:2;;;;;;11709:13;:21;;;;;;11702:28;;;;;;;;11746:26;11685:6;;11746:26;;;10052:1727;;;;;:::o;1078:186:1:-;1186:14;1234:11;1223:34;;;;;;;;;;;;;;;-1:-1:-1;1223:34:1;;1078:186;-1:-1:-1;;1078:186:1:o;7083:381:2:-;7164:28;:26;:28::i;:::-;7215:232;;;;;;;;;;;7327:10;7215:232;;;;-1:-1:-1;;;;;7215:232:2;;;;;;;;;;7136:321;;-1:-1:-1;;;7136:321:2;;-1:-1:-1;;;;;7136:65:2;;;;;;;:321;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;2148:567:51:-;2304:15;2321;2359;2376;2393:17;2422:15;-1:-1:-1;;;;;2422:25:51;;2448:7;2422:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2422:34:51;;;;;;;;;;;;;;;-1:-1:-1;2422:34:51;;-1:-1:-1;2422:34:51;-1:-1:-1;2486:222:51;2543:12;2573:38;2422:34;2573:27;:38::i;:::-;2629;2657:9;2629:27;:38::i;:::-;2685:9;2486:39;:222::i;:::-;2467:241;;;;;;;2148:567;;;;;;:::o;3394:1221::-;3517:15;3534;3607:14;3635;3663:10;3687:15;3716;3745:17;3776:40;3830;3884:19;3917;3949:15;-1:-1:-1;;;;;3949:25:51;;3975:7;3949:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3565:418:51;;;-1:-1:-1;;;;;3565:418:51;;;;;;;;;;;;;;;;;;;;;4013:595;4036:15;4069:525;;;;;;;;4109:6;-1:-1:-1;;;;;4069:525:51;;;;;4145:6;-1:-1:-1;;;;;4069:525:51;;;;;4178:3;4069:525;;;;;;4214:9;4069:525;;;;;;4256:9;4069:525;;;;;;4298:9;-1:-1:-1;;;;;4069:525:51;;;;;4363:32;4069:525;;;;4451:32;4069:525;;;;4518:11;4069:525;;;;4564:11;4069:525;;;4013:5;:595::i;:::-;3994:614;;;;;;;;;;;;;;3394:1221;;;;;:::o;6544:434:2:-;6704:47;;-1:-1:-1;;;6704:47:2;;6684:17;;-1:-1:-1;;;;;6704:23:2;;;;;:47;;6736:4;;6743:7;;6704:47;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6684:67;;6777:13;6765:9;:25;6761:211;;;6810:13;;6806:89;;6843:37;-1:-1:-1;;;;;6843:25:2;;6869:7;6878:1;6843:25;:37::i;:::-;6908:53;-1:-1:-1;;;;;6908:25:2;;6934:7;-1:-1:-1;;6908:25:2;:53::i;696:175:13:-;805:58;;;-1:-1:-1;;;;;805:58:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;805:58:13;-1:-1:-1;;;805:58:13;;;778:86;;798:5;;778:19;:86::i;7661:526:2:-;7729:18;7760:12;7774:23;7801:28;:26;:28::i;:::-;-1:-1:-1;;;;;7801:39:2;7877:46;;;7925:6;7854:78;;;;;;;;:::i;:::-;;;;-1:-1:-1;;7854:78:2;;;;;;;;;;;;;;-1:-1:-1;;;;;7854:78:2;-1:-1:-1;;;;;;7854:78:2;;;;;;;;;;7801:141;;;;7854:78;7801:141;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7759:183;;;;7960:7;7976:10;7952:36;;;;;-1:-1:-1;;;7952:36:2;;;;;;;;:::i;:::-;;8052:10;8028:124;;;;;;;;;;;;:::i;:::-;7999:153;7661:526;-1:-1:-1;;;;;;;;;;;7661:526:2:o;1355:2580:42:-;1418:20;1450:15;1475:1;1468:4;:8;;;:57;;1519:4;1512:12;;1468:57;;;1495:4;1488:12;;1487:13;;1468:57;1450:75;-1:-1:-1;637:9:42;1543:28;;;1535:42;;;;;-1:-1:-1;;;1535:42:42;;;;;;;;;;;;-1:-1:-1;;;1535:42:42;;;;;;;;;;;;;;;1588:13;1614:3;1604:13;;:93;;-1:-1:-1;;;1604:93:42;;;1625:34;1604:93;1588:109;;;-1:-1:-1;1721:3:42;1711:13;;:18;1707:83;;1748:34;1740:42;1787:3;1739:51;1707:83;1814:3;1804:13;;:18;1800:83;;1841:34;1833:42;1880:3;1832:51;1800:83;1907:3;1897:13;;:18;1893:83;;1934:34;1926:42;1973:3;1925:51;1893:83;2000:4;1990:14;;:19;1986:84;;2028:34;2020:42;2067:3;2019:51;1986:84;2094:4;2084:14;;:19;2080:84;;2122:34;2114:42;2161:3;2113:51;2080:84;2188:4;2178:14;;:19;2174:84;;2216:34;2208:42;2255:3;2207:51;2174:84;2282:4;2272:14;;:19;2268:84;;2310:34;2302:42;2349:3;2301:51;2268:84;2376:5;2366:15;;:20;2362:85;;2405:34;2397:42;2444:3;2396:51;2362:85;2471:5;2461:15;;:20;2457:85;;2500:34;2492:42;2539:3;2491:51;2457:85;2566:5;2556:15;;:20;2552:85;;2595:34;2587:42;2634:3;2586:51;2552:85;2661:5;2651:15;;:20;2647:85;;2690:34;2682:42;2729:3;2681:51;2647:85;2756:6;2746:16;;:21;2742:86;;2786:34;2778:42;2825:3;2777:51;2742:86;2852:6;2842:16;;:21;2838:86;;2882:34;2874:42;2921:3;2873:51;2838:86;2948:6;2938:16;;:21;2934:86;;2978:34;2970:42;3017:3;2969:51;2934:86;3044:6;3034:16;;:21;3030:86;;3074:34;3066:42;3113:3;3065:51;3030:86;3140:7;3130:17;;:22;3126:86;;3171:33;3163:41;3209:3;3162:50;3126:86;3236:7;3226:17;;:22;3222:85;;3267:32;3259:40;3304:3;3258:49;3222:85;3331:7;3321:17;;:22;3317:83;;3362:30;3354:38;3397:3;3353:47;3317:83;3424:7;3414:17;;:22;3410:78;;3455:25;3447:33;3485:3;3446:42;3410:78;3510:1;3503:4;:8;;;3499:47;;;3541:5;-1:-1:-1;;3521:25:42;;;;;;3513:33;;3499:47;3905:7;3896:5;:17;:22;:30;;3925:1;3896:30;;;3921:1;3896:30;3879:48;;3889:2;3880:5;:11;;3879:48;3856:72;;1355:2580;;;;;:::o;6013:799:48:-;6193:15;6210;6257:13;-1:-1:-1;;;;;6241:29:48;:13;-1:-1:-1;;;;;6241:29:48;;6237:98;;;6306:13;;6321;6237:98;6366:13;-1:-1:-1;;;;;6350:29:48;:12;-1:-1:-1;;;;;6350:29:48;;6346:460;;6405:63;6428:13;6443;6458:9;6405:22;:63::i;:::-;6395:73;;6346:460;;;6504:13;-1:-1:-1;;;;;6489:28:48;:12;-1:-1:-1;;;;;6489:28:48;;6485:321;;;6543:62;6566:12;6580:13;6595:9;6543:22;:62::i;:::-;6533:72;;6629:62;6652:13;6667:12;6681:9;6629:22;:62::i;:::-;6619:72;;6485:321;;;6732:63;6755:13;6770;6785:9;6732:22;:63::i;:::-;6722:73;;6485:321;6013:799;;;;;;;:::o;4621:1201:51:-;4755:15;4772;4804:36;4842;4894:397;4967:218;5019:15;-1:-1:-1;;;;;5019:23:51;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5019:25:51;5070:93;;;;;;;;5099:16;;-1:-1:-1;;;;;5070:93:51;;;;;5019:25;5125:16;;;;5070:93;;;;;;;5148:13;;;;5070:93;;;;;;;;;4967:26;:218::i;:::-;5221:9;:19;;;5258:9;:19;;;4894;:397::i;:::-;4803:488;;;;5532:9;:21;;;5324:193;5388:9;:42;;;5357:28;:73;5448:9;:19;;;-1:-1:-1;;;;;5324:193:51;-1:-1:-1;;;5324:15:51;:193::i;:::-;:229;5302:251;;5794:9;:21;;;5586:193;5650:9;:42;;;5619:28;:73;5710:9;:19;;;-1:-1:-1;;;;;5586:193:51;-1:-1:-1;;;5586:15:51;:193::i;:::-;:229;5564:251;;4621:1201;;;;;;;:::o;1340:613:13:-;1705:10;;;1704:62;;-1:-1:-1;1721:39:13;;;-1:-1:-1;;;1721:39:13;;1745:4;1721:39;;;;-1:-1:-1;;;;;1721:39:13;;;;;;;;;:15;;;;;;:39;;;;;;;;;;;;;;;:15;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1721:39:13;:44;1704:62;1696:150;;;;-1:-1:-1;;;1696:150:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1883:62;;;-1:-1:-1;;;;;1883:62:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1883:62:13;-1:-1:-1;;;1883:62:13;;;1856:90;;1876:5;;2959:751;3378:23;3404:69;3432:4;3404:69;;;;;;;;;;;;;;;;;3412:5;-1:-1:-1;;;;;3404:27:13;;;:69;;;;;:::i;:::-;3487:17;;3378:95;;-1:-1:-1;3487:21:13;3483:221;;3627:10;3616:30;;;;;;;;;;;;;;;-1:-1:-1;3616:30:13;3608:85;;;;-1:-1:-1;;;3608:85:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4241:498:48;4391:15;4438:13;-1:-1:-1;;;;;4422:29:48;:13;-1:-1:-1;;;;;4422:29:48;;4418:98;;;4487:13;;4502;4418:98;4719:13;-1:-1:-1;;;;;4546:186:48;:170;309:2:36;4579:45:48;;4587:9;-1:-1:-1;;;;;4579:18:48;:45;;4658:13;4642;:29;-1:-1:-1;;;;;4546:170:48;4689:13;-1:-1:-1;;;;;4546:170:48;:15;:170::i;:::-;:186;;;;;;4527:205;;4241:498;;;;;;:::o;5097:375::-;5247:15;5294:13;-1:-1:-1;;;;;5278:29:48;:13;-1:-1:-1;;;;;5278:29:48;;5274:98;;;5343:13;;5358;5274:98;5390:75;5406:9;-1:-1:-1;;;;;5390:75:48;5433:13;5417;:29;-1:-1:-1;;;;;5390:75:48;-1:-1:-1;;;5390:15:48;:75::i;:::-;5383:82;5097:375;-1:-1:-1;;;;5097:375:48:o;1305:512:49:-;1389:12;1434:3;:10;;;-1:-1:-1;;;;;1421:23:49;:3;:10;;;-1:-1:-1;;;;;1421:23:49;;1413:32;;;;;;-1:-1:-1;1668:10:49;;1680;;;;;1692:7;;;;;1657:43;;-1:-1:-1;;;;;1657:43:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1647:54;;;;;;-1:-1:-1;;;;;;1539:229:49;;;;;;;-1:-1:-1;;1539:229:49;;;;;;;;;;;;241:66;1539:229;;;;;;;;;;;;;;;;;;;;;;;;;1508:278;;;;;;1305:512::o;5828:1350:51:-;5964:28;5994;6037:17;6068:4;-1:-1:-1;;;;;6068:10:51;;:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6068:12:51;;;;6177:21;;-1:-1:-1;;;6177:21:51;;;;;;;;;;;;6068:12;;-1:-1:-1;6095:34:51;;;;-1:-1:-1;;;;;6177:10:51;;;;;:21;;;;;;;;;;;;;;;:10;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6177:21:51;;;;;;;;;;6295;;-1:-1:-1;;;6295:21:51;;;;;;;;;;;;6177;;-1:-1:-1;6177:21:51;-1:-1:-1;6213:34:51;;;;-1:-1:-1;;;;;6295:10:51;;;;;:21;;;;;6177;;6295;;;;;;;;:10;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6295:21:51;;;;;;;;;;;-1:-1:-1;6295:21:51;-1:-1:-1;6331:23:51;;;;;;;;;6327:845;;;6422:26;6393;:55;6370:78;;6514:26;6485;:55;6462:78;;6327:845;;;6575:9;6561:23;;:11;:23;;;6557:615;;;6600:28;6631:4;-1:-1:-1;;;;;6631:25:51;;:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6631:27:51;6703;;;-1:-1:-1;;;6703:27:51;;;;6631;;-1:-1:-1;6672:28:51;;-1:-1:-1;;;;;6703:25:51;;;;;:27;;;;;6631;;6703;;;;;;;:25;:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6703:27:51;6767:49;;;;:78;;;;-1:-1:-1;;6882:49:51;;;:78;;;;-1:-1:-1;6557:615:51;;;7043:26;7014;:55;6991:78;;7135:26;7106;:55;7083:78;;6557:615;5828:1350;;;;;;;;;;;:::o;742:3776:37:-;854:14;;;-1:-1:-1;;1361:1:37;1358;1351:20;1393:9;;;;-1:-1:-1;1444:13:37;;;1428:14;;;;1424:34;;-1:-1:-1;1540:10:37;1536:179;;1588:1;1574:11;:15;1566:24;;;;;;-1:-1:-1;1641:23:37;;;;-1:-1:-1;1691:13:37;;1536:179;1842:5;1828:11;:19;1820:28;;;;;;2125:17;2201:11;2198:1;2195;2188:25;2553:12;2568;;;:26;;2688:22;;;;;3491:1;3472;:15;;3471:21;;3718:17;;;3714:21;;3707:28;3776:17;;;3772:21;;3765:28;3835:17;;;3831:21;;3824:28;3894:17;;;3890:21;;3883:28;3953:17;;;3949:21;;3942:28;4013:17;;;4009:21;;;4002:28;3060:12;;;;3056:23;;;3081:1;3052:31;2330:20;;;2319:32;;;3111:12;;;;2373:21;;;;2816:16;;;;3102:21;;;;4477:11;;;;;-1:-1:-1;;742:3776:37;;;;;:::o;3573:193:19:-;3676:12;3707:52;3729:6;3737:4;3743:1;3746:12;3676;4850:18;4861:6;4850:10;:18::i;:::-;4842:60;;;;;-1:-1:-1;;;4842:60:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;4973:12;4987:23;5014:6;-1:-1:-1;;;;;5014:11:19;5034:5;5042:4;5014:33;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5014:33:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4972:75;;;;5064:52;5082:7;5091:10;5103:12;5064:17;:52::i;:::-;5057:59;4600:523;-1:-1:-1;;;;;;;4600:523:19:o;718:413::-;1078:20;1116:8;;;718:413::o;7083:725::-;7198:12;7226:7;7222:580;;;-1:-1:-1;7256:10:19;7249:17;;7222:580;7367:17;;:21;7363:429;;7625:10;7619:17;7685:15;7672:10;7668:2;7664:19;7657:44;7574:145;7764:12;7757:20;;-1:-1:-1;;;7757:20:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7:342:52;;109:64;124:48;165:6;124:48;:::i;:::-;109:64;:::i;:::-;100:73;;196:6;189:5;182:21;234:4;227:5;223:16;272:3;263:6;258:3;254:16;251:25;248:2;;;289:1;286;279:12;248:2;302:41;336:6;331:3;326;302:41;:::i;:::-;90:259;;;;;;:::o;355:351::-;;468:64;483:48;524:6;483:48;:::i;468:64::-;459:73;;555:6;548:5;541:21;593:4;586:5;582:16;631:3;622:6;617:3;613:16;610:25;607:2;;;648:1;645;638:12;607:2;661:39;693:6;688:3;683;661:39;:::i;712:159::-;802:13;;824:41;802:13;824:41;:::i;890:271::-;;994:3;987:4;979:6;975:17;971:27;961:2;;1012:1;1009;1002:12;961:2;1052:6;1039:20;1077:78;1151:3;1143:6;1136:4;1128:6;1124:17;1077:78;:::i;1180:286::-;;1295:3;1288:4;1280:6;1276:17;1272:27;1262:2;;1313:1;1310;1303:12;1262:2;1346:6;1340:13;1371:89;1456:3;1448:6;1441:4;1433:6;1429:17;1371:89;:::i;1472:139::-;1552:13;;1574:31;1552:13;1574:31;:::i;1617:143::-;1699:13;;1721:33;1699:13;1721:33;:::i;1766:141::-;1847:13;;1869:32;1847:13;1869:32;:::i;1913:139::-;1984:20;;2013:33;1984:20;2013:33;:::i;2058:143::-;2140:13;;2162:33;2140:13;2162:33;:::i;2207:141::-;2288:13;;2310:32;2288:13;2310:32;:::i;2354:373::-;;2471:2;2459:9;2450:7;2446:23;2442:32;2439:2;;;2487:1;2484;2477:12;2439:2;2530:31;;2588:18;2577:30;;2574:2;;;2620:1;2617;2610:12;2574:2;2648:62;2702:7;2693:6;2682:9;2678:22;2648:62;:::i;2733:596::-;;;;2886:2;2874:9;2865:7;2861:23;2857:32;2854:2;;;2902:1;2899;2892:12;2854:2;2945:1;2970:64;3026:7;3006:9;2970:64;:::i;:::-;2960:74;;2916:128;3083:2;3109:64;3165:7;3156:6;3145:9;3141:22;3109:64;:::i;:::-;3099:74;;3054:129;3222:2;3248:64;3304:7;3295:6;3284:9;3280:22;3248:64;:::i;:::-;3238:74;;3193:129;2844:485;;;;;:::o;3335:262::-;;3443:2;3431:9;3422:7;3418:23;3414:32;3411:2;;;3459:1;3456;3449:12;3411:2;3502:1;3527:53;3572:7;3552:9;3527:53;:::i;3603:284::-;;3722:2;3710:9;3701:7;3697:23;3693:32;3690:2;;;3738:1;3735;3728:12;3690:2;3781:1;3806:64;3862:7;3842:9;3806:64;:::i;3893:544::-;;;4038:2;4026:9;4017:7;4013:23;4009:32;4006:2;;;4054:1;4051;4044:12;4006:2;4097:1;4122:64;4178:7;4158:9;4122:64;:::i;:::-;4112:74;;4068:128;4256:2;4245:9;4241:18;4235:25;4287:18;4279:6;4276:30;4273:2;;;4319:1;4316;4309:12;4273:2;4347:73;4412:7;4403:6;4392:9;4388:22;4347:73;:::i;:::-;4337:83;;4206:224;3996:441;;;;;:::o;4443:753::-;;;;;4613:3;4601:9;4592:7;4588:23;4584:33;4581:2;;;4630:1;4627;4620:12;4581:2;4673:1;4698:64;4754:7;4734:9;4698:64;:::i;:::-;4688:74;;4644:128;4811:2;4837:64;4893:7;4884:6;4873:9;4869:22;4837:64;:::i;:::-;4827:74;;4782:129;4950:2;4976:64;5032:7;5023:6;5012:9;5008:22;4976:64;:::i;:::-;4966:74;;4921:129;5089:2;5115:64;5171:7;5162:6;5151:9;5147:22;5115:64;:::i;:::-;5105:74;;5060:129;4571:625;;;;;;;:::o;5202:440::-;;;5338:2;5326:9;5317:7;5313:23;5309:32;5306:2;;;5354:1;5351;5344:12;5306:2;5397:1;5422:64;5478:7;5458:9;5422:64;:::i;:::-;5412:74;;5368:128;5535:2;5561:64;5617:7;5608:6;5597:9;5593:22;5561:64;:::i;5648:1417::-;;;;;;;;;5904:3;5892:9;5883:7;5879:23;5875:33;5872:2;;;5921:1;5918;5911:12;5872:2;5964:1;5989:63;6044:7;6024:9;5989:63;:::i;:::-;5979:73;;5935:127;6101:2;6127:72;6191:7;6182:6;6171:9;6167:22;6127:72;:::i;:::-;6117:82;;6072:137;6248:2;6274:72;6338:7;6329:6;6318:9;6314:22;6274:72;:::i;:::-;6264:82;;6219:137;6395:2;6421:72;6485:7;6476:6;6465:9;6461:22;6421:72;:::i;:::-;6411:82;;6366:137;6542:3;6569:63;6624:7;6615:6;6604:9;6600:22;6569:63;:::i;:::-;6559:73;;6513:129;6681:3;6708:62;6762:7;6753:6;6742:9;6738:22;6708:62;:::i;:::-;6698:72;;6652:128;6819:3;6846:62;6900:7;6891:6;6880:9;6876:22;6846:62;:::i;:::-;6836:72;;6790:128;6957:3;6984:64;7040:7;7031:6;7020:9;7016:22;6984:64;:::i;:::-;6974:74;;6928:130;5862:1203;;;;;;;;;;;:::o;7071:179::-;;7161:46;7203:3;7195:6;7161:46;:::i;:::-;-1:-1:-1;;7239:4:52;7230:14;;7151:99::o;7256:179::-;;7346:46;7388:3;7380:6;7346:46;:::i;7441:108::-;7518:24;7536:5;7518:24;:::i;:::-;7513:3;7506:37;7496:53;;:::o;7709:732::-;;7857:54;7905:5;7857:54;:::i;:::-;7927:86;8006:6;8001:3;7927:86;:::i;:::-;7920:93;;8037:56;8087:5;8037:56;:::i;:::-;8116:7;8147:1;8132:284;8157:6;8154:1;8151:13;8132:284;;;8233:6;8227:13;8260:63;8319:3;8304:13;8260:63;:::i;:::-;8253:70;;8346:60;8399:6;8346:60;:::i;:::-;8336:70;-1:-1:-1;;8179:1:52;8172:9;8132:284;;;-1:-1:-1;8432:3:52;;7833:608;-1:-1:-1;;;;;7833:608:52:o;8477:732::-;;8625:54;8673:5;8625:54;:::i;:::-;8695:86;8774:6;8769:3;8695:86;:::i;:::-;8688:93;;8805:56;8855:5;8805:56;:::i;:::-;8884:7;8915:1;8900:284;8925:6;8922:1;8919:13;8900:284;;;9001:6;8995:13;9028:63;9087:3;9072:13;9028:63;:::i;:::-;9021:70;;9114:60;9167:6;9114:60;:::i;:::-;9104:70;-1:-1:-1;;8947:1:52;8940:9;8900:284;;9215:373;;9347:38;9379:5;9347:38;:::i;:::-;9401:88;9482:6;9477:3;9401:88;:::i;:::-;9394:95;;9498:52;9543:6;9538:3;9531:4;9524:5;9520:16;9498:52;:::i;:::-;9566:16;;;;;9323:265;-1:-1:-1;;9323:265:52:o;9594:102::-;9667:22;9683:5;9667:22;:::i;9702:364::-;;9818:39;9851:5;9818:39;:::i;:::-;9873:71;9937:6;9932:3;9873:71;:::i;:::-;9866:78;;9953:52;9998:6;9993:3;9986:4;9979:5;9975:16;9953:52;:::i;:::-;10030:29;10052:6;10030:29;:::i;:::-;10021:39;;;;9794:272;-1:-1:-1;;;9794:272:52:o;10072:370::-;;10235:67;10299:2;10294:3;10235:67;:::i;:::-;10332:34;10312:55;;-1:-1:-1;;;10393:2:52;10384:12;;10377:30;10433:2;10424:12;;10218:224;-1:-1:-1;;10218:224:52:o;10556:887::-;10788:23;;10715:4;10706:14;;;10824:63;10710:3;10788:23;10824:63;:::i;:::-;10730:167;10984:4;10977:5;10973:16;10967:23;11003:63;11060:4;11055:3;11051:14;11037:12;11003:63;:::i;:::-;10907:169;11164:4;11157:5;11153:16;11147:23;11183:63;11240:4;11235:3;11231:14;11217:12;11183:63;:::i;:::-;11086:170;11344:4;11337:5;11333:16;11327:23;11363:63;11420:4;11415:3;11411:14;11397:12;11363:63;:::i;11577:1085::-;11829:23;;11756:4;11747:14;;;11865:63;11751:3;11829:23;11865:63;:::i;:::-;11771:167;12025:4;12018:5;12014:16;12008:23;12044:63;12101:4;12096:3;12092:14;12078:12;12044:63;:::i;:::-;11948:169;12205:4;12198:5;12194:16;12188:23;12224:63;12281:4;12276:3;12272:14;12258:12;12224:63;:::i;:::-;12127:170;12385:4;12378:5;12374:16;12368:23;12404:63;12461:4;12456:3;12452:14;12438:12;12404:63;:::i;:::-;12307:170;12563:4;12556:5;12552:16;12546:23;12582:63;12639:4;12634:3;12630:14;12616:12;12582:63;:::i;12796:1274::-;13048:23;;12975:4;12966:14;;;13084:63;12970:3;13048:23;13084:63;:::i;:::-;12990:167;13249:4;13242:5;13238:16;13232:23;13268:63;13325:4;13320:3;13316:14;13302:12;13268:63;:::i;:::-;13167:174;13433:4;13426:5;13422:16;13416:23;13452:63;13509:4;13504:3;13500:14;13486:12;13452:63;:::i;:::-;13351:174;13613:4;13606:5;13602:16;13596:23;13632:63;13689:4;13684:3;13680:14;13666:12;13632:63;:::i;:::-;13535:170;13793:4;13786:5;13782:16;13776:23;13812:63;13869:4;13864:3;13860:14;13846:12;13812:63;:::i;:::-;13715:170;13971:4;13964:5;13960:16;13954:23;13990:63;14047:4;14042:3;14038:14;14024:12;13990:63;:::i;14178:2137::-;14405:23;;14331:6;14322:16;;;14441:63;14326:3;14405:23;14441:63;:::i;:::-;14348:166;14598:4;14591:5;14587:16;14581:23;14617:63;14674:4;14669:3;14665:14;14651:12;14617:63;:::i;:::-;14524:166;14771:4;14764:5;14760:16;14754:23;14790:61;14845:4;14840:3;14836:14;14822:12;14790:61;:::i;:::-;14700:161;14948:4;14941:5;14937:16;14931:23;14967:59;15020:4;15015:3;15011:14;14997:12;14967:59;:::i;:::-;14871:165;15123:4;15116:5;15112:16;15106:23;15142:59;15195:4;15190:3;15186:14;15172:12;15142:59;:::i;:::-;15046:165;15303:4;15296:5;15292:16;15286:23;15322:63;15379:4;15374:3;15370:14;15356:12;15322:63;:::i;:::-;15221:174;15487:4;15480:5;15476:16;15470:23;15506:63;15563:4;15558:3;15554:14;15540:12;15506:63;:::i;:::-;15405:174;15667:4;15660:5;15656:16;15650:23;15686:63;15743:4;15738:3;15734:14;15720:12;15686:63;:::i;:::-;15589:170;15847:6;15840:5;15836:18;15830:25;15868:65;15925:6;15920:3;15916:16;15902:12;15868:65;:::i;:::-;15769:174;16030:6;16023:5;16019:18;16013:25;16051:65;16108:6;16103:3;16099:16;16085:12;16051:65;:::i;:::-;15953:173;16212:6;16205:5;16201:18;16195:25;16233:65;16290:6;16285:3;16281:16;16267:12;16233:65;:::i;16321:108::-;16398:24;16416:5;16398:24;:::i;16435:105::-;16510:23;16527:5;16510:23;:::i;16546:108::-;16623:24;16641:5;16623:24;:::i;16784:271::-;;16936:93;17025:3;17016:6;16936:93;:::i;17061:222::-;17192:2;17177:18;;17205:71;17181:9;17249:6;17205:71;:::i;17289:332::-;17448:2;17433:18;;17461:71;17437:9;17505:6;17461:71;:::i;:::-;17542:72;17610:2;17599:9;17595:18;17586:6;17542:72;:::i;17627:442::-;17814:2;17799:18;;17827:71;17803:9;17871:6;17827:71;:::i;:::-;17908:72;17976:2;17965:9;17961:18;17952:6;17908:72;:::i;:::-;17990;18058:2;18047:9;18043:18;18034:6;17990:72;:::i;18075:634::-;18334:2;18347:47;;;18319:18;;18411:108;18319:18;18505:6;18411:108;:::i;:::-;18403:116;;18566:9;18560:4;18556:20;18551:2;18540:9;18536:18;18529:48;18594:108;18697:4;18688:6;18594:108;:::i;18715:373::-;18896:2;18909:47;;;18881:18;;18973:108;18881:18;19067:6;18973:108;:::i;19094:313::-;19245:2;19258:47;;;19230:18;;19322:78;19230:18;19386:6;19322:78;:::i;19413:419::-;19617:2;19630:47;;;19602:18;;19694:131;19602:18;19694:131;:::i;19838:347::-;20031:3;20016:19;;20045:133;20020:9;20151:6;20045:133;:::i;20191:387::-;20404:3;20389:19;;20418:153;20393:9;20544:6;20418:153;:::i;20584:387::-;20797:3;20782:19;;20811:153;20786:9;20937:6;20811:153;:::i;20977:335::-;21164:3;21149:19;;21178:127;21153:9;21278:6;21178:127;:::i;21318:222::-;21449:2;21434:18;;21462:71;21438:9;21506:6;21462:71;:::i;21546:278::-;21612:2;21606:9;21642:17;;;21725:18;21710:34;;21746:22;;;21707:62;21704:2;;;21772:13;;:::i;:::-;21803:2;21796:22;21586:238;;-1:-1:-1;21586:238:52:o;21830:326::-;;21981:18;21973:6;21970:30;21967:2;;;22003:13;;:::i;:::-;-1:-1:-1;22144:4:52;22083;22060:17;;;;-1:-1:-1;;22056:33:52;22134:15;;21896:260::o;22162:132::-;22282:4;22273:14;;22234:60::o;22438:114::-;22533:12;;22512:40::o;23125:184::-;23246:19;;;23298:4;23289:14;;23236:73::o;23833:96::-;;23899:24;23917:5;23899:24;:::i;24045:90::-;24120:1;24109:20;;24088:47::o;24141:118::-;-1:-1:-1;;;;;24207:46:52;;24186:73::o;24265:126::-;-1:-1:-1;;;;;24331:54:52;;24310:81::o;24397:91::-;24473:8;24462:20;;24441:47::o;24494:77::-;24560:5;24539:32::o;24577:109::-;24653:26;24642:38;;24621:65::o;24692:154::-;24776:6;24771:3;24766;24753:30;-1:-1:-1;24838:1:52;24820:16;;24813:27;24743:103::o;24852:307::-;24920:1;24930:113;24944:6;24941:1;24938:13;24930:113;;;25020:11;;;25014:18;25001:11;;;24994:39;24966:2;24959:10;24930:113;;;25061:6;25058:1;25055:13;25052:2;;;-1:-1:-1;;25141:1:52;25123:16;;25116:27;24901:258::o;25165:48::-;25198:9;25219:102;25311:2;25291:14;-1:-1:-1;;25287:28:52;;25267:54::o;25327:138::-;25408:32;25434:5;25408:32;:::i;:::-;25401:5;25398:43;25388:2;;25455:1;25452;25445:12;25471:118;25542:22;25558:5;25542:22;:::i;25595:122::-;25668:24;25686:5;25668:24;:::i;25723:120::-;25795:23;25812:5;25795:23;:::i;25849:122::-;25922:24;25940:5;25922:24;:::i;25977:120::-;26049:23;26066:5;26049:23;:::i", - "linkReferences": {}, - "immutableReferences": { - "210": [ - { - "start": 398, - "length": 32 - } - ], - "212": [ - { - "start": 1106, - "length": 32 - }, - { - "start": 1480, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "getDebtAssets()": "ecd658b4", - "getManagedAssets()": "80daddb8", - "getNftIds()": "804ff143", - "getNonFungibleTokenManager()": "6904481a", - "getPairForNft(uint256)": "eff2452a", - "getToken0ForNft(uint256)": "e0d803ad", - "getToken1ForNft(uint256)": "5f358573", - "getValueInterpreter()": "875fb4b3", - "init(bytes)": "4ddf47d4", - "receiveCallFromVault(bytes)": "e5c23a97" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.7.6+commit.7338295f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nonFungibleTokenManager\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_valueInterpreter\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"NFTPositionAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"NFTPositionRemoved\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"getDebtAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"assets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getManagedAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"assets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getNftIds\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"nftIds_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getNonFungibleTokenManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"nonFungibleTokenManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_nftId\",\"type\":\"uint256\"}],\"name\":\"getPairForNft\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"token0_\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token1_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_nftId\",\"type\":\"uint256\"}],\"name\":\"getToken0ForNft\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"token0_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_nftId\",\"type\":\"uint256\"}],\"name\":\"getToken1ForNft\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"token1_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getValueInterpreter\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"valueInterpreter_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"}],\"name\":\"receiveCallFromVault\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"getDebtAssets()\":{\"returns\":{\"amounts_\":\"Debt asset amounts\",\"assets_\":\"Debt assets\"}},\"getManagedAssets()\":{\"returns\":{\"amounts_\":\"Managed asset amounts\",\"assets_\":\"Managed assets\"}},\"getNftIds()\":{\"returns\":{\"nftIds_\":\"The `nftIds` variable value\"}},\"getNonFungibleTokenManager()\":{\"returns\":{\"nonFungibleTokenManager_\":\"The `NON_FUNGIBLE_TOKEN_MANAGER` variable value\"}},\"getPairForNft(uint256)\":{\"params\":{\"_nftId\":\"The id of the nft\"},\"returns\":{\"token0_\":\"The `token0` value\",\"token1_\":\"The `token1` value\"}},\"getToken0ForNft(uint256)\":{\"params\":{\"_nftId\":\"The id of the nft\"},\"returns\":{\"token0_\":\"The `token0` value\"}},\"getToken1ForNft(uint256)\":{\"params\":{\"_nftId\":\"The id of the nft\"},\"returns\":{\"token1_\":\"The `token1` value\"}},\"getValueInterpreter()\":{\"returns\":{\"valueInterpreter_\":\"The `NON_FUNGIBLE_TOKEN_MANAGER` variable value\"}},\"init(bytes)\":{\"details\":\"Nothing to initialize for this contract\"},\"receiveCallFromVault(bytes)\":{\"params\":{\"_actionData\":\"Encoded data to execute the action\"}}},\"title\":\"UniswapV3LiquidityPositionLib Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getDebtAssets()\":{\"notice\":\"Retrieves the debt assets (negative value) of the external position\"},\"getManagedAssets()\":{\"notice\":\"Retrieves the managed assets (positive value) of the external position\"},\"getNftIds()\":{\"notice\":\"Gets the `nftIds` variable\"},\"getNonFungibleTokenManager()\":{\"notice\":\"Gets the `NON_FUNGIBLE_TOKEN_MANAGER` variable\"},\"getPairForNft(uint256)\":{\"notice\":\"Gets the cached ordered asset pair of the Uniswap pool for a given nft\"},\"getToken0ForNft(uint256)\":{\"notice\":\"Gets the cached `token0` value for the Uniswap pool for a given nft\"},\"getToken1ForNft(uint256)\":{\"notice\":\"Gets the cached `token1` value for the Uniswap pool for a given nft\"},\"getValueInterpreter()\":{\"notice\":\"Gets the `VALUE_INTERPRETER` variable\"},\"init(bytes)\":{\"notice\":\"Initializes the external position\"},\"receiveCallFromVault(bytes)\":{\"notice\":\"Receives and executes a call from the Vault\"}},\"notice\":\"An External Position library contract for uniswap liquidity positions\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/uniswap-v3-liquidity/UniswapV3LiquidityPositionLib.sol\":\"UniswapV3LiquidityPositionLib\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/external-positions/uniswap-v3-liquidity/UniswapV3LiquidityPositionLibBase1.sol\":{\"keccak256\":\"0x9d16f0c4b687b70bbfc5b1f6f400035f2d827b5eabe775e6fee376dc9fd4eacf\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2db1ca704caa193ba223636b334e2d387107020c9b75e7c26981e459e42803ed\",\"dweb:/ipfs/QmZHgwJzuiBHs1WAhDNX6CqrT2TBL8Hb9fXK9jubm2fzBP\"]},\"contracts/release/extensions/external-position-manager/external-positions/uniswap-v3-liquidity/UniswapV3LiquidityPositionDataDecoder.sol\":{\"keccak256\":\"0x46958283ca11717ff8a954f509a0f8ee3e339e1e70b268a6b38ad44d31625c25\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f5ba53bebea27970c26731a3a4e6511fca3ea10cf3092a4cd05ee0159bbf456c\",\"dweb:/ipfs/QmRtApdFi2EAmPgDNnpGSqtAwkiasQ92KbLVzE5pPP5RCH\"]},\"contracts/release/extensions/external-position-manager/external-positions/uniswap-v3-liquidity/UniswapV3LiquidityPositionLib.sol\":{\"keccak256\":\"0xe88eb08fa5c81d5e78d9450a158ea55463b1c565a1c169b9ca78e24d84db2008\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://e7ecd640baf4aba4e7d22cbf0e44e8663c7b7674cd6a0419377e416becf0e1f6\",\"dweb:/ipfs/QmUgb8ZjyAS6SRrouxJUm8Jc5bMrGy7SjqFm27PgKsNmGj\"]},\"contracts/release/extensions/external-position-manager/external-positions/uniswap-v3-liquidity/interfaces/IExternalPositionUniswapV3LiquidityPosition.sol\":{\"keccak256\":\"0x8cd962cedcd165722c29f50f58b575b24a9527da11cca71ece25c5124e5895e8\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://7e66f5fdae8bba39be27d7576f8ae41d094b4e08e91f80c875190949c3eacb0d\",\"dweb:/ipfs/QmSqNkZPomPh2yMD9uDU8BWLWWnd9r1fSoPbitbm87CWqZ\"]},\"contracts/release/extensions/external-position-manager/external-positions/uniswap-v3-liquidity/interfaces/IUniswapV3LiquidityPosition.sol\":{\"keccak256\":\"0x82fd7abb793f369af1de4bd22e0debb6898308aa821df874e2eb1171d1f2c84d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6597e5c74f70e6e3ababc1e357d16d4634380a794d30b8b7ce6c79012d5bdf62\",\"dweb:/ipfs/QmRH1hWJdC2rTvi2WscB5w2Lyj7XUgm8QQLbzeYJxgwdNM\"]},\"contracts/release/extensions/external-position-manager/external-positions/uniswap-v3-liquidity/interfaces/IValueInterpreterUniswapV3LiquidityPosition.sol\":{\"keccak256\":\"0xbf42ff85d5f25f5185ff5a48cfbe187ac29629917ebb3571a1830ab5ec94137b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://e82522498a30164ec606b5fce18ae0f480bc2433c531fe469af21b58086fd760\",\"dweb:/ipfs/QmWitHqQr6bGNRAMiMdciuRZTxYFav2LbcRrXmE4B4vnmz\"]},\"node_modules/@openzeppelin-solc-0.7/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xe22a1fc7400ae196eba2ad1562d0386462b00a6363b742d55a2fd2021a58586f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4a635cec58fb4141a16cfd408f1a21ac944c335a3beaba541c35d2e95c04536f\",\"dweb:/ipfs/QmXWcz73UenN1ji8jiWMbzxHjjfLbNQwLVKTEB5zNFE34K\"]},\"node_modules/@openzeppelin-solc-0.7/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0x36b5ca4eabe888b39b10973621ca0dcc9b1508f8d06db9ddf045d7aa7c867d4a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ccbd79e8d556aa7011babb0e5d1e55a966add74853e7ba0274ff184bd96ef002\",\"dweb:/ipfs/QmV28ozNRUFDiDUMvCwcFmLTQPG6nfvgeKr4cmbHWoegtH\"]},\"node_modules/@openzeppelin-solc-0.7/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xbd74f587ab9b9711801baf667db1426e4a03fd2d7f15af33e0e0d0394e7cef76\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2d0913dfbfce90d170df0d496ad7596c0778518e5fa7aba6c32562522546f66b\",\"dweb:/ipfs/QmR6B8nLj2PJf5e1JWD9Nk7ErkAwkqUwadCnvE82FJr1RU\"]},\"node_modules/@openzeppelin-solc-0.7/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xc77dd6233a82c7c6e3dc49da8f3456baa00ecd3ea4dfa9222002a9aebf155dcd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8e5f78a5b3e707177aa47371e008a54b83dbd28a52055d1746534502b010c21b\",\"dweb:/ipfs/Qmeqfky5DvkMZZY3RtP6kYhFD5bZrPAMVPbqkwWhoUjZ3u\"]},\"node_modules/@openzeppelin-solc-0.7/contracts/utils/Address.sol\":{\"keccak256\":\"0xf89f005a3d98f7768cdee2583707db0ac725cf567d455751af32ee68132f3db3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f963d438177764b5f43f637c02311c951c0f0025d12fe1ac7e62e295bf416c41\",\"dweb:/ipfs/QmcfVb9JsWrYeTwFUJsKVHpKB7EaWBKydAH9S4sKg2pzcK\"]},\"node_modules/@openzeppelin-solc-0.7/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]},\"node_modules/@openzeppelin/contracts/introspection/IERC165.sol\":{\"keccak256\":\"0xf70bc25d981e4ec9673a995ad2995d5d493ea188d3d8f388bba9c227ce09fb82\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd970f51e3a77790c2f02b5b1759827c3b897c3d98c407b3631e8af32e3dc93c\",\"dweb:/ipfs/QmPF85Amgbqjk3SNZKsPCsqCw8JfwYEPMnnhvMJUyX58je\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x2d99a0deb6648c34fbc66d6ac4a2d64798d7a5321b45624f6736fadc63da1962\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2dcdce5ede1e5e650d174ec0b35be7d47b6a50f30bc895ef0d9e59fb75052e45\",\"dweb:/ipfs/QmQ2XFsDLTYqfEdw7pYzHiGtFRY11yQm4b6ynYgKqDxeB8\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721Enumerable.sol\":{\"keccak256\":\"0xe6bd1b1218338b6f9fe17776f48623b4ac3d8a40405f74a44bc23c00abe2ca13\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c354c3f6e9c487759aa7869be4fba68e0b2efc777b514d289c4cbd3ff8f7e1a\",\"dweb:/ipfs/QmdF9LcSYVmiUCL7JxLEYmSLrjga6zJsujfi6sgEJD4M1z\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721Metadata.sol\":{\"keccak256\":\"0xccb917776f826ac6b68bd5a15a5f711e3967848a52ba11e6104d9a4f593314a7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://430255ad2229ced6d880e61a67bdc6e48dbbaed8354a7c1fe918cd8b8714a886\",\"dweb:/ipfs/QmTHY56odzqEpEC6v6tafaWMYY7vmULw25q5XHJLCCAeox\"]},\"node_modules/@uniswap/v3-core/contracts/interfaces/IUniswapV3Pool.sol\":{\"keccak256\":\"0xfe6113d518466cd6652c85b111e01f33eb62157f49ae5ed7d5a3947a2044adb1\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://1c42b9e6f5902ac38dd43e25750939baa7e0c1425dc75afd717c4412731065d5\",\"dweb:/ipfs/QmWaoacnzsucTvBME2o7YgZBZMhaHv7fkj83htHMVWJKWh\"]},\"node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolActions.sol\":{\"keccak256\":\"0x9453dd0e7442188667d01d9b65de3f1e14e9511ff3e303179a15f6fc267f7634\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://982f4328f956c3e60e67501e759eb292ac487f76460c774c50e9ae4fcc92aae5\",\"dweb:/ipfs/QmRnzEDsaqtd9PJEVcgQi7p5aV5pMSvRUoGZJAdwFUJxgZ\"]},\"node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolDerivedState.sol\":{\"keccak256\":\"0xe603ac5b17ecdee73ba2b27efdf386c257a19c14206e87eee77e2017b742d9e5\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://8febc9bdb399a4d94bb89f5377732652e2400e4a8dee808201ade6848f9004e7\",\"dweb:/ipfs/QmaKDqYYFU4d2W2iN77aDHptfbFmYZRrMYXHeGpJmM8C1c\"]},\"node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolEvents.sol\":{\"keccak256\":\"0x8071514d0fe5d17d6fbd31c191cdfb703031c24e0ece3621d88ab10e871375cd\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://d0b571930cc7488b1d546a7e9cea7c52d8b3c4e207da657ed0e0db7343b8cd03\",\"dweb:/ipfs/QmaGK6vVwB95QSTR1XMYvrh7ivYAYZxi3fD7v6VMA4jZ39\"]},\"node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolImmutables.sol\":{\"keccak256\":\"0xf6e5d2cd1139c4c276bdbc8e1d2b256e456c866a91f1b868da265c6d2685c3f7\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://b99c8c9ae8e27ee6559e5866bea82cbc9ffc8247f8d15b7422a4deb287d4d047\",\"dweb:/ipfs/QmfL8gaqt3ffAnm6nVj5ksuNpLygXuL3xq5VBqrkwC2JJ3\"]},\"node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolOwnerActions.sol\":{\"keccak256\":\"0x759b78a2918af9e99e246dc3af084f654e48ef32bb4e4cb8a966aa3dcaece235\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://64144fb96e1c7fdba87305acadb98a198d26a3d46c097cb3a666e567f6f29735\",\"dweb:/ipfs/QmUnWVwN9FKB9uV5Pr8YfLpWZnYM2DENnRMaadZ492JS9u\"]},\"node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolState.sol\":{\"keccak256\":\"0x852dc1f5df7dcf7f11e7bb3eed79f0cea72ad4b25f6a9d2c35aafb48925fd49f\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://ed63907c38ff36b0e22bc9ffc53e791ea74f0d4f0e7c257fdfb5aaf8825b1f0f\",\"dweb:/ipfs/QmSQrckghEjs6HVsA5GVgpNpZWvTXMY5eQLF7cN6deFeEg\"]},\"node_modules/@uniswap/v3-core/contracts/libraries/FixedPoint128.sol\":{\"keccak256\":\"0x2d1f4f73ae0d8f0a210b8d30084659b57c56ac8f2f96011fca36f00a6d417178\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://2ba88933f16cd2df398e19c6ad227268f83c03081b70d243c97116d2ed9bc241\",\"dweb:/ipfs/QmTUGxdh8snzEM9VrTSS47StCg9VVWvvLJtJeNnMTFY4xb\"]},\"node_modules/@uniswap/v3-core/contracts/libraries/FixedPoint96.sol\":{\"keccak256\":\"0x0ba8a9b95a956a4050749c0158e928398c447c91469682ca8a7cc7e77a7fe032\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://186d3b528866065a5856f96d2aeec698efa99f8da913e9adf34f8cc296cc993d\",\"dweb:/ipfs/QmUAiMvtAQp8c9dy57bqJYzG7hkb1uChiPaQmt264skoqP\"]},\"node_modules/@uniswap/v3-core/contracts/libraries/FullMath.sol\":{\"keccak256\":\"0xe511530871deaef86692cea9adb6076d26d7b47fd4815ce51af52af981026057\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5a6ae776be3e7dcbd23d49ffbc9d792fed0ddf4b111ebb64b9bb2133ec263e\",\"dweb:/ipfs/QmbAUtWqvipzEARQpFpkzYKBELy3qeW5WXnZxHFU84sxG7\"]},\"node_modules/@uniswap/v3-core/contracts/libraries/LiquidityMath.sol\":{\"keccak256\":\"0xd53041349718d5bce4a89e87cd911879d41ba42ba3fab0614e5e8b742f352b88\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://ea7529b99ab4fc1d3e6c5a31990fb688f0a2d6cc302c0419e0cf5a2d6c563781\",\"dweb:/ipfs/QmVaphRSNpfChHZKzutQ9WprwCo2WE1euvThRfHcwsnHhj\"]},\"node_modules/@uniswap/v3-core/contracts/libraries/LowGasSafeMath.sol\":{\"keccak256\":\"0x86715eb960f18e01ac94e3bba4614ed51a887fa3c5bd1c43bf80aa98e019cf2d\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://bfc1d5d58e59015086b0e65a6c3a2ddad312e2350480510f6c0c8167f3d71a37\",\"dweb:/ipfs/QmQndULYjFsHKHjMAKLMfc12vWbVB5FawtioHtvwcWRJZp\"]},\"node_modules/@uniswap/v3-core/contracts/libraries/SafeCast.sol\":{\"keccak256\":\"0x4c12bf820c0b011f5490a209960ca34dd8af34660ef9e01de0438393d15e3fd8\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://fed11489e218e55d087d42b4f350a30e10cd2aedec8f432bd3cc712f648d5869\",\"dweb:/ipfs/QmWfRnRxyXwHUDcTQPazxYYk5jxErGeQqdvnYtyg5nBPbU\"]},\"node_modules/@uniswap/v3-core/contracts/libraries/Tick.sol\":{\"keccak256\":\"0x60752e079938508bfc274e2a3d2618ede09e153ba6f08cd3c476557947fbe2ac\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://23e7045efd6c5c4c5b3d15898d639cc2c128ace49d2dab0b1ef2b868e6a43234\",\"dweb:/ipfs/QmaoV6txuomfjSoeakDyZ73mPygEHCgrYarKQxQ5sp29hu\"]},\"node_modules/@uniswap/v3-core/contracts/libraries/TickMath.sol\":{\"keccak256\":\"0x1f864a2bf61ba05f3173eaf2e3f94c5e1da4bec0554757527b6d1ef1fe439e4e\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://5139b586df546a9d1c46804ca400b1cb9ce87236eaf212ebd64edee6747a172a\",\"dweb:/ipfs/QmVa2kcRw3VyuB6j1EVWXACKnkbQZgfXYXNi5voq3XkYG8\"]},\"node_modules/@uniswap/v3-periphery/contracts/interfaces/IERC721Permit.sol\":{\"keccak256\":\"0x9e3c2a4ee65ddf95b2dfcb0815784eea3a295707e6f8b83e4c4f0f8fe2e3a1d4\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://bfd939085b3618101b955f87c7fabf38338ba1aad480295acb8102ebc5d72471\",\"dweb:/ipfs/QmauQD8bGDHTztmTDfaKXjzM7Wacrq2XU7VcTbwn1WrDBL\"]},\"node_modules/@uniswap/v3-periphery/contracts/interfaces/INonfungiblePositionManager.sol\":{\"keccak256\":\"0xe1dadc73e60bf05d0b4e0f05bd2847c5783e833cc10352c14763360b13495ee1\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://6e3b10f75c101de044c1253672207399c1513fd1f0f17be31069c18c0b9a1460\",\"dweb:/ipfs/QmXrkXNY6njQfepE7KbRtJMruGXfrZwsMMsW7m5e3XS9Hf\"]},\"node_modules/@uniswap/v3-periphery/contracts/interfaces/IPeripheryImmutableState.sol\":{\"keccak256\":\"0x7affcfeb5127c0925a71d6a65345e117c33537523aeca7bc98085ead8452519d\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://e16b291294210e71cb0f20cd0afe62ae2dc6878d627f5ccc19c4dc9cd80aec3f\",\"dweb:/ipfs/QmQGitSyBr26nour81BZmpmDMyJpvZRqHQZvnCD1Acb127\"]},\"node_modules/@uniswap/v3-periphery/contracts/interfaces/IPeripheryPayments.sol\":{\"keccak256\":\"0xb547e10f1e69bed03621a62b73a503e260643066c6b4054867a4d1fef47eb274\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://f9a90f58f5fd5fb42f7811f4094113b532f307b14a73764c91f977590747f407\",\"dweb:/ipfs/QmSeNH2mfiDMKf3Q6V2sqtNxx1s72JNuA1VVxRM9HoMqYp\"]},\"node_modules/@uniswap/v3-periphery/contracts/interfaces/IPoolInitializer.sol\":{\"keccak256\":\"0x9d7695e8d94c22cc5fcced602017aabb988de89981ea7bee29ea629d5328a862\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://61b50933026ee1017db2a6273af8cedc3238c95dca58880db0918dbdbb2f064f\",\"dweb:/ipfs/QmUebR26pqG25d18aBELKz8aFFKkmHa8PxntzXTA7o9Ldu\"]},\"node_modules/@uniswap/v3-periphery/contracts/libraries/LiquidityAmounts.sol\":{\"keccak256\":\"0xf149581d28e1c81736dfe72be73ee1301d4945340cc6282fcdd63fe3c85abf24\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://0b67f375180bb62fe6753601cd09740496dcdcec4c0a4f9eaa6e94c5e1bb6844\",\"dweb:/ipfs/QmWYwkmqynRq7g81Nijg4eEkPgSRGnegDrbbEKkkTC1k2w\"]},\"node_modules/@uniswap/v3-periphery/contracts/libraries/PoolAddress.sol\":{\"keccak256\":\"0x5edd84eb8ba7c12fd8cb6cffe52e1e9f3f6464514ee5f539c2283826209035a2\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://f375d0e6d5ea3674e1aa6f112b021e9a86721a6a2f3cb22d673378b30cf0e840\",\"dweb:/ipfs/QmWJir2qnJyp963mU6U3jEEx9i3H3V5BgKawAfSnG1pC8w\"]},\"node_modules/@uniswap/v3-periphery/contracts/libraries/PositionKey.sol\":{\"keccak256\":\"0x1ef2fea641b75575e8e7621b90b23a8144fd22cb7013d82a592a72ab2af9527f\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://5832baa9cccf9763fec921077daf760f6bf90605063e4ddbf21807e09d502b5f\",\"dweb:/ipfs/QmSdbgqjSnFCtBc6xkNCzff4f6KpBqjZ1LJJc6ZA9FboEJ\"]},\"node_modules/@uniswap/v3-periphery/contracts/libraries/PositionValue.sol\":{\"keccak256\":\"0x6b97c349ae922798ebd38976e4b776190abedde98056cf416df12acc4b5a1cc5\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://862137704e9a806b0d9f22dfb5438b798ea4658c2aaae97dc5741f8d1d940624\",\"dweb:/ipfs/QmXTAkkmftCMjKkeR2XH2c3w6dEMbzafeWonX2YU26K6F6\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.7.6+commit.7338295f" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_nonFungibleTokenManager", - "type": "address" - }, - { - "internalType": "address", - "name": "_valueInterpreter", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256", - "indexed": true - } - ], - "type": "event", - "name": "NFTPositionAdded", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256", - "indexed": true - } - ], - "type": "event", - "name": "NFTPositionRemoved", - "anonymous": false - }, - { - "inputs": [], - "stateMutability": "pure", - "type": "function", - "name": "getDebtAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "assets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "amounts_", - "type": "uint256[]" - } - ] - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "getManagedAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "assets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "amounts_", - "type": "uint256[]" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getNftIds", - "outputs": [ - { - "internalType": "uint256[]", - "name": "nftIds_", - "type": "uint256[]" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getNonFungibleTokenManager", - "outputs": [ - { - "internalType": "address", - "name": "nonFungibleTokenManager_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_nftId", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getPairForNft", - "outputs": [ - { - "internalType": "address", - "name": "token0_", - "type": "address" - }, - { - "internalType": "address", - "name": "token1_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_nftId", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getToken0ForNft", - "outputs": [ - { - "internalType": "address", - "name": "token0_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_nftId", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getToken1ForNft", - "outputs": [ - { - "internalType": "address", - "name": "token1_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getValueInterpreter", - "outputs": [ - { - "internalType": "address", - "name": "valueInterpreter_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "init" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "receiveCallFromVault" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "getDebtAssets()": { - "returns": { - "amounts_": "Debt asset amounts", - "assets_": "Debt assets" - } - }, - "getManagedAssets()": { - "returns": { - "amounts_": "Managed asset amounts", - "assets_": "Managed assets" - } - }, - "getNftIds()": { - "returns": { - "nftIds_": "The `nftIds` variable value" - } - }, - "getNonFungibleTokenManager()": { - "returns": { - "nonFungibleTokenManager_": "The `NON_FUNGIBLE_TOKEN_MANAGER` variable value" - } - }, - "getPairForNft(uint256)": { - "params": { - "_nftId": "The id of the nft" - }, - "returns": { - "token0_": "The `token0` value", - "token1_": "The `token1` value" - } - }, - "getToken0ForNft(uint256)": { - "params": { - "_nftId": "The id of the nft" - }, - "returns": { - "token0_": "The `token0` value" - } - }, - "getToken1ForNft(uint256)": { - "params": { - "_nftId": "The id of the nft" - }, - "returns": { - "token1_": "The `token1` value" - } - }, - "getValueInterpreter()": { - "returns": { - "valueInterpreter_": "The `NON_FUNGIBLE_TOKEN_MANAGER` variable value" - } - }, - "init(bytes)": { - "details": "Nothing to initialize for this contract" - }, - "receiveCallFromVault(bytes)": { - "params": { - "_actionData": "Encoded data to execute the action" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "getDebtAssets()": { - "notice": "Retrieves the debt assets (negative value) of the external position" - }, - "getManagedAssets()": { - "notice": "Retrieves the managed assets (positive value) of the external position" - }, - "getNftIds()": { - "notice": "Gets the `nftIds` variable" - }, - "getNonFungibleTokenManager()": { - "notice": "Gets the `NON_FUNGIBLE_TOKEN_MANAGER` variable" - }, - "getPairForNft(uint256)": { - "notice": "Gets the cached ordered asset pair of the Uniswap pool for a given nft" - }, - "getToken0ForNft(uint256)": { - "notice": "Gets the cached `token0` value for the Uniswap pool for a given nft" - }, - "getToken1ForNft(uint256)": { - "notice": "Gets the cached `token1` value for the Uniswap pool for a given nft" - }, - "getValueInterpreter()": { - "notice": "Gets the `VALUE_INTERPRETER` variable" - }, - "init(bytes)": { - "notice": "Initializes the external position" - }, - "receiveCallFromVault(bytes)": { - "notice": "Receives and executes a call from the Vault" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/external-position-manager/external-positions/uniswap-v3-liquidity/UniswapV3LiquidityPositionLib.sol": "UniswapV3LiquidityPositionLib" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/external-positions/uniswap-v3-liquidity/UniswapV3LiquidityPositionLibBase1.sol": { - "keccak256": "0x9d16f0c4b687b70bbfc5b1f6f400035f2d827b5eabe775e6fee376dc9fd4eacf", - "urls": [ - "bzz-raw://2db1ca704caa193ba223636b334e2d387107020c9b75e7c26981e459e42803ed", - "dweb:/ipfs/QmZHgwJzuiBHs1WAhDNX6CqrT2TBL8Hb9fXK9jubm2fzBP" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/uniswap-v3-liquidity/UniswapV3LiquidityPositionDataDecoder.sol": { - "keccak256": "0x46958283ca11717ff8a954f509a0f8ee3e339e1e70b268a6b38ad44d31625c25", - "urls": [ - "bzz-raw://f5ba53bebea27970c26731a3a4e6511fca3ea10cf3092a4cd05ee0159bbf456c", - "dweb:/ipfs/QmRtApdFi2EAmPgDNnpGSqtAwkiasQ92KbLVzE5pPP5RCH" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/uniswap-v3-liquidity/UniswapV3LiquidityPositionLib.sol": { - "keccak256": "0xe88eb08fa5c81d5e78d9450a158ea55463b1c565a1c169b9ca78e24d84db2008", - "urls": [ - "bzz-raw://e7ecd640baf4aba4e7d22cbf0e44e8663c7b7674cd6a0419377e416becf0e1f6", - "dweb:/ipfs/QmUgb8ZjyAS6SRrouxJUm8Jc5bMrGy7SjqFm27PgKsNmGj" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/uniswap-v3-liquidity/interfaces/IExternalPositionUniswapV3LiquidityPosition.sol": { - "keccak256": "0x8cd962cedcd165722c29f50f58b575b24a9527da11cca71ece25c5124e5895e8", - "urls": [ - "bzz-raw://7e66f5fdae8bba39be27d7576f8ae41d094b4e08e91f80c875190949c3eacb0d", - "dweb:/ipfs/QmSqNkZPomPh2yMD9uDU8BWLWWnd9r1fSoPbitbm87CWqZ" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/uniswap-v3-liquidity/interfaces/IUniswapV3LiquidityPosition.sol": { - "keccak256": "0x82fd7abb793f369af1de4bd22e0debb6898308aa821df874e2eb1171d1f2c84d", - "urls": [ - "bzz-raw://6597e5c74f70e6e3ababc1e357d16d4634380a794d30b8b7ce6c79012d5bdf62", - "dweb:/ipfs/QmRH1hWJdC2rTvi2WscB5w2Lyj7XUgm8QQLbzeYJxgwdNM" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/uniswap-v3-liquidity/interfaces/IValueInterpreterUniswapV3LiquidityPosition.sol": { - "keccak256": "0xbf42ff85d5f25f5185ff5a48cfbe187ac29629917ebb3571a1830ab5ec94137b", - "urls": [ - "bzz-raw://e82522498a30164ec606b5fce18ae0f480bc2433c531fe469af21b58086fd760", - "dweb:/ipfs/QmWitHqQr6bGNRAMiMdciuRZTxYFav2LbcRrXmE4B4vnmz" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin-solc-0.7/contracts/math/SafeMath.sol": { - "keccak256": "0xe22a1fc7400ae196eba2ad1562d0386462b00a6363b742d55a2fd2021a58586f", - "urls": [ - "bzz-raw://4a635cec58fb4141a16cfd408f1a21ac944c335a3beaba541c35d2e95c04536f", - "dweb:/ipfs/QmXWcz73UenN1ji8jiWMbzxHjjfLbNQwLVKTEB5zNFE34K" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin-solc-0.7/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0x36b5ca4eabe888b39b10973621ca0dcc9b1508f8d06db9ddf045d7aa7c867d4a", - "urls": [ - "bzz-raw://ccbd79e8d556aa7011babb0e5d1e55a966add74853e7ba0274ff184bd96ef002", - "dweb:/ipfs/QmV28ozNRUFDiDUMvCwcFmLTQPG6nfvgeKr4cmbHWoegtH" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin-solc-0.7/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0xbd74f587ab9b9711801baf667db1426e4a03fd2d7f15af33e0e0d0394e7cef76", - "urls": [ - "bzz-raw://2d0913dfbfce90d170df0d496ad7596c0778518e5fa7aba6c32562522546f66b", - "dweb:/ipfs/QmR6B8nLj2PJf5e1JWD9Nk7ErkAwkqUwadCnvE82FJr1RU" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin-solc-0.7/contracts/token/ERC20/SafeERC20.sol": { - "keccak256": "0xc77dd6233a82c7c6e3dc49da8f3456baa00ecd3ea4dfa9222002a9aebf155dcd", - "urls": [ - "bzz-raw://8e5f78a5b3e707177aa47371e008a54b83dbd28a52055d1746534502b010c21b", - "dweb:/ipfs/Qmeqfky5DvkMZZY3RtP6kYhFD5bZrPAMVPbqkwWhoUjZ3u" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin-solc-0.7/contracts/utils/Address.sol": { - "keccak256": "0xf89f005a3d98f7768cdee2583707db0ac725cf567d455751af32ee68132f3db3", - "urls": [ - "bzz-raw://f963d438177764b5f43f637c02311c951c0f0025d12fe1ac7e62e295bf416c41", - "dweb:/ipfs/QmcfVb9JsWrYeTwFUJsKVHpKB7EaWBKydAH9S4sKg2pzcK" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin-solc-0.7/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/introspection/IERC165.sol": { - "keccak256": "0xf70bc25d981e4ec9673a995ad2995d5d493ea188d3d8f388bba9c227ce09fb82", - "urls": [ - "bzz-raw://bd970f51e3a77790c2f02b5b1759827c3b897c3d98c407b3631e8af32e3dc93c", - "dweb:/ipfs/QmPF85Amgbqjk3SNZKsPCsqCw8JfwYEPMnnhvMJUyX58je" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol": { - "keccak256": "0x2d99a0deb6648c34fbc66d6ac4a2d64798d7a5321b45624f6736fadc63da1962", - "urls": [ - "bzz-raw://2dcdce5ede1e5e650d174ec0b35be7d47b6a50f30bc895ef0d9e59fb75052e45", - "dweb:/ipfs/QmQ2XFsDLTYqfEdw7pYzHiGtFRY11yQm4b6ynYgKqDxeB8" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC721/IERC721Enumerable.sol": { - "keccak256": "0xe6bd1b1218338b6f9fe17776f48623b4ac3d8a40405f74a44bc23c00abe2ca13", - "urls": [ - "bzz-raw://0c354c3f6e9c487759aa7869be4fba68e0b2efc777b514d289c4cbd3ff8f7e1a", - "dweb:/ipfs/QmdF9LcSYVmiUCL7JxLEYmSLrjga6zJsujfi6sgEJD4M1z" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC721/IERC721Metadata.sol": { - "keccak256": "0xccb917776f826ac6b68bd5a15a5f711e3967848a52ba11e6104d9a4f593314a7", - "urls": [ - "bzz-raw://430255ad2229ced6d880e61a67bdc6e48dbbaed8354a7c1fe918cd8b8714a886", - "dweb:/ipfs/QmTHY56odzqEpEC6v6tafaWMYY7vmULw25q5XHJLCCAeox" - ], - "license": "MIT" - }, - "node_modules/@uniswap/v3-core/contracts/interfaces/IUniswapV3Pool.sol": { - "keccak256": "0xfe6113d518466cd6652c85b111e01f33eb62157f49ae5ed7d5a3947a2044adb1", - "urls": [ - "bzz-raw://1c42b9e6f5902ac38dd43e25750939baa7e0c1425dc75afd717c4412731065d5", - "dweb:/ipfs/QmWaoacnzsucTvBME2o7YgZBZMhaHv7fkj83htHMVWJKWh" - ], - "license": "GPL-2.0-or-later" - }, - "node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolActions.sol": { - "keccak256": "0x9453dd0e7442188667d01d9b65de3f1e14e9511ff3e303179a15f6fc267f7634", - "urls": [ - "bzz-raw://982f4328f956c3e60e67501e759eb292ac487f76460c774c50e9ae4fcc92aae5", - "dweb:/ipfs/QmRnzEDsaqtd9PJEVcgQi7p5aV5pMSvRUoGZJAdwFUJxgZ" - ], - "license": "GPL-2.0-or-later" - }, - "node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolDerivedState.sol": { - "keccak256": "0xe603ac5b17ecdee73ba2b27efdf386c257a19c14206e87eee77e2017b742d9e5", - "urls": [ - "bzz-raw://8febc9bdb399a4d94bb89f5377732652e2400e4a8dee808201ade6848f9004e7", - "dweb:/ipfs/QmaKDqYYFU4d2W2iN77aDHptfbFmYZRrMYXHeGpJmM8C1c" - ], - "license": "GPL-2.0-or-later" - }, - "node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolEvents.sol": { - "keccak256": "0x8071514d0fe5d17d6fbd31c191cdfb703031c24e0ece3621d88ab10e871375cd", - "urls": [ - "bzz-raw://d0b571930cc7488b1d546a7e9cea7c52d8b3c4e207da657ed0e0db7343b8cd03", - "dweb:/ipfs/QmaGK6vVwB95QSTR1XMYvrh7ivYAYZxi3fD7v6VMA4jZ39" - ], - "license": "GPL-2.0-or-later" - }, - "node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolImmutables.sol": { - "keccak256": "0xf6e5d2cd1139c4c276bdbc8e1d2b256e456c866a91f1b868da265c6d2685c3f7", - "urls": [ - "bzz-raw://b99c8c9ae8e27ee6559e5866bea82cbc9ffc8247f8d15b7422a4deb287d4d047", - "dweb:/ipfs/QmfL8gaqt3ffAnm6nVj5ksuNpLygXuL3xq5VBqrkwC2JJ3" - ], - "license": "GPL-2.0-or-later" - }, - "node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolOwnerActions.sol": { - "keccak256": "0x759b78a2918af9e99e246dc3af084f654e48ef32bb4e4cb8a966aa3dcaece235", - "urls": [ - "bzz-raw://64144fb96e1c7fdba87305acadb98a198d26a3d46c097cb3a666e567f6f29735", - "dweb:/ipfs/QmUnWVwN9FKB9uV5Pr8YfLpWZnYM2DENnRMaadZ492JS9u" - ], - "license": "GPL-2.0-or-later" - }, - "node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolState.sol": { - "keccak256": "0x852dc1f5df7dcf7f11e7bb3eed79f0cea72ad4b25f6a9d2c35aafb48925fd49f", - "urls": [ - "bzz-raw://ed63907c38ff36b0e22bc9ffc53e791ea74f0d4f0e7c257fdfb5aaf8825b1f0f", - "dweb:/ipfs/QmSQrckghEjs6HVsA5GVgpNpZWvTXMY5eQLF7cN6deFeEg" - ], - "license": "GPL-2.0-or-later" - }, - "node_modules/@uniswap/v3-core/contracts/libraries/FixedPoint128.sol": { - "keccak256": "0x2d1f4f73ae0d8f0a210b8d30084659b57c56ac8f2f96011fca36f00a6d417178", - "urls": [ - "bzz-raw://2ba88933f16cd2df398e19c6ad227268f83c03081b70d243c97116d2ed9bc241", - "dweb:/ipfs/QmTUGxdh8snzEM9VrTSS47StCg9VVWvvLJtJeNnMTFY4xb" - ], - "license": "GPL-2.0-or-later" - }, - "node_modules/@uniswap/v3-core/contracts/libraries/FixedPoint96.sol": { - "keccak256": "0x0ba8a9b95a956a4050749c0158e928398c447c91469682ca8a7cc7e77a7fe032", - "urls": [ - "bzz-raw://186d3b528866065a5856f96d2aeec698efa99f8da913e9adf34f8cc296cc993d", - "dweb:/ipfs/QmUAiMvtAQp8c9dy57bqJYzG7hkb1uChiPaQmt264skoqP" - ], - "license": "GPL-2.0-or-later" - }, - "node_modules/@uniswap/v3-core/contracts/libraries/FullMath.sol": { - "keccak256": "0xe511530871deaef86692cea9adb6076d26d7b47fd4815ce51af52af981026057", - "urls": [ - "bzz-raw://bc5a6ae776be3e7dcbd23d49ffbc9d792fed0ddf4b111ebb64b9bb2133ec263e", - "dweb:/ipfs/QmbAUtWqvipzEARQpFpkzYKBELy3qeW5WXnZxHFU84sxG7" - ], - "license": "MIT" - }, - "node_modules/@uniswap/v3-core/contracts/libraries/LiquidityMath.sol": { - "keccak256": "0xd53041349718d5bce4a89e87cd911879d41ba42ba3fab0614e5e8b742f352b88", - "urls": [ - "bzz-raw://ea7529b99ab4fc1d3e6c5a31990fb688f0a2d6cc302c0419e0cf5a2d6c563781", - "dweb:/ipfs/QmVaphRSNpfChHZKzutQ9WprwCo2WE1euvThRfHcwsnHhj" - ], - "license": "GPL-2.0-or-later" - }, - "node_modules/@uniswap/v3-core/contracts/libraries/LowGasSafeMath.sol": { - "keccak256": "0x86715eb960f18e01ac94e3bba4614ed51a887fa3c5bd1c43bf80aa98e019cf2d", - "urls": [ - "bzz-raw://bfc1d5d58e59015086b0e65a6c3a2ddad312e2350480510f6c0c8167f3d71a37", - "dweb:/ipfs/QmQndULYjFsHKHjMAKLMfc12vWbVB5FawtioHtvwcWRJZp" - ], - "license": "GPL-2.0-or-later" - }, - "node_modules/@uniswap/v3-core/contracts/libraries/SafeCast.sol": { - "keccak256": "0x4c12bf820c0b011f5490a209960ca34dd8af34660ef9e01de0438393d15e3fd8", - "urls": [ - "bzz-raw://fed11489e218e55d087d42b4f350a30e10cd2aedec8f432bd3cc712f648d5869", - "dweb:/ipfs/QmWfRnRxyXwHUDcTQPazxYYk5jxErGeQqdvnYtyg5nBPbU" - ], - "license": "GPL-2.0-or-later" - }, - "node_modules/@uniswap/v3-core/contracts/libraries/Tick.sol": { - "keccak256": "0x60752e079938508bfc274e2a3d2618ede09e153ba6f08cd3c476557947fbe2ac", - "urls": [ - "bzz-raw://23e7045efd6c5c4c5b3d15898d639cc2c128ace49d2dab0b1ef2b868e6a43234", - "dweb:/ipfs/QmaoV6txuomfjSoeakDyZ73mPygEHCgrYarKQxQ5sp29hu" - ], - "license": "BUSL-1.1" - }, - "node_modules/@uniswap/v3-core/contracts/libraries/TickMath.sol": { - "keccak256": "0x1f864a2bf61ba05f3173eaf2e3f94c5e1da4bec0554757527b6d1ef1fe439e4e", - "urls": [ - "bzz-raw://5139b586df546a9d1c46804ca400b1cb9ce87236eaf212ebd64edee6747a172a", - "dweb:/ipfs/QmVa2kcRw3VyuB6j1EVWXACKnkbQZgfXYXNi5voq3XkYG8" - ], - "license": "GPL-2.0-or-later" - }, - "node_modules/@uniswap/v3-periphery/contracts/interfaces/IERC721Permit.sol": { - "keccak256": "0x9e3c2a4ee65ddf95b2dfcb0815784eea3a295707e6f8b83e4c4f0f8fe2e3a1d4", - "urls": [ - "bzz-raw://bfd939085b3618101b955f87c7fabf38338ba1aad480295acb8102ebc5d72471", - "dweb:/ipfs/QmauQD8bGDHTztmTDfaKXjzM7Wacrq2XU7VcTbwn1WrDBL" - ], - "license": "GPL-2.0-or-later" - }, - "node_modules/@uniswap/v3-periphery/contracts/interfaces/INonfungiblePositionManager.sol": { - "keccak256": "0xe1dadc73e60bf05d0b4e0f05bd2847c5783e833cc10352c14763360b13495ee1", - "urls": [ - "bzz-raw://6e3b10f75c101de044c1253672207399c1513fd1f0f17be31069c18c0b9a1460", - "dweb:/ipfs/QmXrkXNY6njQfepE7KbRtJMruGXfrZwsMMsW7m5e3XS9Hf" - ], - "license": "GPL-2.0-or-later" - }, - "node_modules/@uniswap/v3-periphery/contracts/interfaces/IPeripheryImmutableState.sol": { - "keccak256": "0x7affcfeb5127c0925a71d6a65345e117c33537523aeca7bc98085ead8452519d", - "urls": [ - "bzz-raw://e16b291294210e71cb0f20cd0afe62ae2dc6878d627f5ccc19c4dc9cd80aec3f", - "dweb:/ipfs/QmQGitSyBr26nour81BZmpmDMyJpvZRqHQZvnCD1Acb127" - ], - "license": "GPL-2.0-or-later" - }, - "node_modules/@uniswap/v3-periphery/contracts/interfaces/IPeripheryPayments.sol": { - "keccak256": "0xb547e10f1e69bed03621a62b73a503e260643066c6b4054867a4d1fef47eb274", - "urls": [ - "bzz-raw://f9a90f58f5fd5fb42f7811f4094113b532f307b14a73764c91f977590747f407", - "dweb:/ipfs/QmSeNH2mfiDMKf3Q6V2sqtNxx1s72JNuA1VVxRM9HoMqYp" - ], - "license": "GPL-2.0-or-later" - }, - "node_modules/@uniswap/v3-periphery/contracts/interfaces/IPoolInitializer.sol": { - "keccak256": "0x9d7695e8d94c22cc5fcced602017aabb988de89981ea7bee29ea629d5328a862", - "urls": [ - "bzz-raw://61b50933026ee1017db2a6273af8cedc3238c95dca58880db0918dbdbb2f064f", - "dweb:/ipfs/QmUebR26pqG25d18aBELKz8aFFKkmHa8PxntzXTA7o9Ldu" - ], - "license": "GPL-2.0-or-later" - }, - "node_modules/@uniswap/v3-periphery/contracts/libraries/LiquidityAmounts.sol": { - "keccak256": "0xf149581d28e1c81736dfe72be73ee1301d4945340cc6282fcdd63fe3c85abf24", - "urls": [ - "bzz-raw://0b67f375180bb62fe6753601cd09740496dcdcec4c0a4f9eaa6e94c5e1bb6844", - "dweb:/ipfs/QmWYwkmqynRq7g81Nijg4eEkPgSRGnegDrbbEKkkTC1k2w" - ], - "license": "GPL-2.0-or-later" - }, - "node_modules/@uniswap/v3-periphery/contracts/libraries/PoolAddress.sol": { - "keccak256": "0x5edd84eb8ba7c12fd8cb6cffe52e1e9f3f6464514ee5f539c2283826209035a2", - "urls": [ - "bzz-raw://f375d0e6d5ea3674e1aa6f112b021e9a86721a6a2f3cb22d673378b30cf0e840", - "dweb:/ipfs/QmWJir2qnJyp963mU6U3jEEx9i3H3V5BgKawAfSnG1pC8w" - ], - "license": "GPL-2.0-or-later" - }, - "node_modules/@uniswap/v3-periphery/contracts/libraries/PositionKey.sol": { - "keccak256": "0x1ef2fea641b75575e8e7621b90b23a8144fd22cb7013d82a592a72ab2af9527f", - "urls": [ - "bzz-raw://5832baa9cccf9763fec921077daf760f6bf90605063e4ddbf21807e09d502b5f", - "dweb:/ipfs/QmSdbgqjSnFCtBc6xkNCzff4f6KpBqjZ1LJJc6ZA9FboEJ" - ], - "license": "GPL-2.0-or-later" - }, - "node_modules/@uniswap/v3-periphery/contracts/libraries/PositionValue.sol": { - "keccak256": "0x6b97c349ae922798ebd38976e4b776190abedde98056cf416df12acc4b5a1cc5", - "urls": [ - "bzz-raw://862137704e9a806b0d9f22dfb5438b798ea4658c2aaae97dc5741f8d1d940624", - "dweb:/ipfs/QmXTAkkmftCMjKkeR2XH2c3w6dEMbzafeWonX2YU26K6F6" - ], - "license": "GPL-2.0-or-later" - } - }, - "version": 1 - }, - "id": 2 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_nonFungibleTokenManager", "type": "address", "internalType": "address" }, { "name": "_valueInterpreter", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "getDebtAssets", "inputs": [], "outputs": [ { "name": "assets_", "type": "address[]", "internalType": "address[]" }, { "name": "amounts_", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "pure" }, { "type": "function", "name": "getManagedAssets", "inputs": [], "outputs": [ { "name": "assets_", "type": "address[]", "internalType": "address[]" }, { "name": "amounts_", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "getNftIds", "inputs": [], "outputs": [ { "name": "nftIds_", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "view" }, { "type": "function", "name": "getNonFungibleTokenManager", "inputs": [], "outputs": [ { "name": "nonFungibleTokenManager_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getPairForNft", "inputs": [ { "name": "_nftId", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "token0_", "type": "address", "internalType": "address" }, { "name": "token1_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getToken0ForNft", "inputs": [ { "name": "_nftId", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "token0_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getToken1ForNft", "inputs": [ { "name": "_nftId", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "token1_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getValueInterpreter", "inputs": [], "outputs": [ { "name": "valueInterpreter_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "init", "inputs": [ { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "receiveCallFromVault", "inputs": [ { "name": "_actionData", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "event", "name": "NFTPositionAdded", "inputs": [ { "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "NFTPositionRemoved", "inputs": [ { "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" } ], "anonymous": false } ], "bytecode": { "object": "0x60c06040523480156200001157600080fd5b506040516200316438038062003164833981016040819052620000349162000066565b6001600160601b0319606092831b8116608052911b1660a052620000d1565b80516200006081620000b7565b92915050565b600080604083850312156200007a57600080fd5b600062000088858562000053565b92505060206200009b8582860162000053565b9150509250929050565b60006001600160a01b03821662000060565b620000c281620000a5565b8114620000ce57600080fd5b50565b60805160601c60a05160601c613064620001006000398061045252806105c852508061018e52506130646000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c8063875fb4b311610066578063875fb4b314610114578063e0d803ad1461011c578063e5c23a971461012f578063ecd658b414610142578063eff2452a1461014a5761009e565b80634ddf47d4146100a35780635f358573146100b85780636904481a146100e1578063804ff143146100e957806380daddb8146100fe575b600080fd5b6100b66100b13660046127c2565b61016b565b005b6100cb6100c6366004612844565b61016e565b6040516100d89190612db5565b60405180910390f35b6100cb61018c565b6100f16101b0565b6040516100d89190612e2b565b610106610208565b6040516100d8929190612e06565b6100cb6105c6565b6100cb61012a366004612844565b6105ea565b6100b661013d3660046127c2565b610605565b61010661080c565b61015d610158366004612844565b610812565b6040516100d8929190612dc3565b50565b6000818152600260205260409020546001600160a01b03165b919050565b7f000000000000000000000000000000000000000000000000000000000000000090565b606060008054806020026020016040519081016040528092919081815260200182805480156101fe57602002820191906000526020600020905b8154815260200190600101908083116101ea575b5050505050905090565b60608060006102156101b0565b905080516000141561022757506105c2565b805160020267ffffffffffffffff8111801561024257600080fd5b5060405190808252806020026020018201604052801561026c578160200160208202803683370190505b509250825167ffffffffffffffff8111801561028757600080fd5b506040519080825280602002602001820160405280156102b1578160200160208202803683370190505b5091506000815167ffffffffffffffff811180156102ce57600080fd5b506040519080825280602002602001820160405280156102f8578160200160208202803683370190505b50905060005b82518110156105a45760008061032685848151811061031957fe5b6020026020010151610812565b91509150600083600202905060008160010190508389838151811061034757fe5b60200260200101906001600160a01b031690816001600160a01b0316815250508289828151811061037457fe5b60200260200101906001600160a01b031690816001600160a01b0316815250506000805b86811015610429578a81600202815181106103af57fe5b60200260200101516001600160a01b0316866001600160a01b031614801561040157508a81600202600101815181106103e457fe5b60200260200101516001600160a01b0316856001600160a01b0316145b156104215787818151811061041257fe5b60200260200101519150610429565b600101610398565b506001600160a01b03811661054057604051632633f08360e11b81526000906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690634c67e10690610493908890670de0b6b3a7640000908b90600401612dde565b602060405180830381600087803b1580156104ad57600080fd5b505af11580156104c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104e59190612862565b905061050f61050a82610504600160c01b670de0b6b3a7640000610830565b90610892565b6108f9565b91508188888151811061051e57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050505b61056561054b61018c565b89888151811061055757fe5b60200260200101518361094a565b8a858151811061057157fe5b602002602001018b858151811061058457fe5b6020908102919091010191909152525050600190930192506102fe915050565b506001825111156105bf576105b9848461097d565b90945092505b50505b9091565b7f000000000000000000000000000000000000000000000000000000000000000090565b6000908152600160205260409020546001600160a01b031690565b6000808280602001905181019061061c9190612880565b9092509050816106d757600080600080600080600080600061063d8a610bc0565b9850985098509850985098509850985098506106c96040518061016001604052808b6001600160a01b031681526020018a6001600160a01b031681526020018962ffffff1681526020018860020b81526020018760020b8152602001868152602001858152602001848152602001838152602001306001600160a01b0316815260200142815250610c64565b505050505050505050610807565b600182141561073a5760008060008060006106f186610f17565b945094509450945094506107306040518060c0016040528087815260200186815260200185815260200184815260200183815260200142815250610f5d565b5050505050610807565b600282141561079b57600080600080610752856110ed565b93509350935093506107926040518060a00160405280868152602001856001600160801b031681526020018481526020018381526020014281525061112a565b50505050610807565b60048214156107c7576000806000806107b3856110ed565b9350935093509350610792848484846111bb565b60038214156107e6576107e16107dc82611407565b611426565b610807565b60405162461bcd60e51b81526004016107fe90612e4d565b60405180910390fd5b505050565b60608091565b60008061081e836105ea565b6108278461016e565b91509150915091565b60008261083f5750600061088c565b8282028284828161084c57fe5b04146108895760405162461bcd60e51b8152600401808060200182810382526021815260200180612fd76021913960400191505060405180910390fd5b90505b92915050565b60008082116108e8576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b8183816108f157fe5b049392505050565b6000600382111561093c575080600160028204015b818110156109365780915060028182858161092557fe5b04018161092e57fe5b04905061090e565b50610187565b811561018757506001919050565b60008060008061095b8787876114d0565b9150915060008061096c898961158c565b940195505050019050935093915050565b60608083516000141561098f57610bb9565b6001805b8551811015610a0f576000805b828110156109f9578781815181106109b457fe5b60200260200101516001600160a01b03168884815181106109d157fe5b60200260200101516001600160a01b031614156109f157600191506109f9565b6001016109a0565b5080610a06576001909201915b50600101610993565b508067ffffffffffffffff81118015610a2757600080fd5b50604051908082528060200260200182016040528015610a51578160200160208202803683370190505b5092508067ffffffffffffffff81118015610a6b57600080fd5b50604051908082528060200260200182016040528015610a95578160200160208202803683370190505b5091506000805b8651811015610bb5576000805b83811015610b3457868181518110610abd57fe5b60200260200101516001600160a01b0316898481518110610ada57fe5b60200260200101516001600160a01b03161415610b2c5760019150878381518110610b0157fe5b6020026020010151868281518110610b1557fe5b602002602001018181510191508181525050610b34565b600101610aa9565b5080610bac57878281518110610b4657fe5b6020026020010151868481518110610b5a57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050868281518110610b8657fe5b6020026020010151858481518110610b9a57fe5b60209081029190910101526001909201915b50600101610a9c565b5050505b9250929050565b600080600080600080600080600089806020019051610120811015610be457600080fd5b810190808051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291905050509850985098509850985098509850985098509193959799909294969850565b8051610c7c90610c7261018c565b8360a0015161173f565b610c968160200151610c8c61018c565b8360c0015161173f565b6000806000610ca361018c565b6001600160a01b03166388316456856040518263ffffffff1660e01b8152600401610cce9190612e87565b608060405180830381600087803b158015610ce857600080fd5b505af1158015610cfc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d2091906128d2565b60008054600180820183558280527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56390910186905589518683526020918252604080842080546001600160a01b03199081166001600160a01b0394851617909155838d0151600290945293208054909316911617905560a0880151939650909450925050821015610e4157610e413385600001516001600160a01b03166370a08231306040518263ffffffff1660e01b8152600401610ddf9190612db5565b60206040518083038186803b158015610df757600080fd5b505afa158015610e0b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e2f9190612862565b86516001600160a01b031691906117fb565b8360c00151811015610ee657610ee63385602001516001600160a01b03166370a08231306040518263ffffffff1660e01b8152600401610e819190612db5565b60206040518083038186803b158015610e9957600080fd5b505afa158015610ead573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ed19190612862565b60208701516001600160a01b031691906117fb565b60405183907fa831009a1dec500e6875fc241cfbe036162eb78da63101cbd7bfa24eaef48b3a90600090a250505050565b60008060008060008580602001905160a0811015610f3457600080fd5b508051602082015160408301516060840151608090940151929a91995097509195509350915050565b600080610f6861018c565b6001600160a01b031663219f5d17846040518263ffffffff1660e01b8152600401610f939190612e79565b606060405180830381600087803b158015610fad57600080fd5b505af1158015610fc1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fe591906127f7565b9250925050826020015182101561109a57600061100584600001516105ea565b905061109833826001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016110379190612db5565b60206040518083038186803b15801561104f57600080fd5b505afa158015611063573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110879190612862565b6001600160a01b03841691906117fb565b505b82604001518110156108075760006110b5846000015161016e565b90506110e733826001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016110379190612db5565b50505050565b60008060008084806020019051608081101561110857600080fd5b5080516020820151604083015160609093015191989097509195509350915050565b61113261018c565b6001600160a01b0316630c49ccbe826040518263ffffffff1660e01b815260040161115d9190612e6b565b6040805180830381600087803b15801561117657600080fd5b505af115801561118a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111ae9190612933565b5050805161016b90611426565b6001600160801b0383811614156111d8576111d58461184d565b92505b6001600160801b0383161561129d576111ef61018c565b6001600160a01b0316630c49ccbe6040518060a00160405280878152602001866001600160801b03168152602001858152602001848152602001428152506040518263ffffffff1660e01b81526004016112499190612e6b565b6040805180830381600087803b15801561126257600080fd5b505af1158015611276573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061129a9190612933565b50505b6112a684611426565b6112ae61018c565b6001600160a01b03166342966c68856040518263ffffffff1660e01b81526004016112d99190612e96565b600060405180830381600087803b1580156112f357600080fd5b505af1158015611307573d6000803e3d6000fd5b505060008054925090505b818110156113a757856000828154811061132857fe5b9060005260206000200154141561139f5760018203811015611379576000600183038154811061135457fe5b90600052602060002001546000828154811061136c57fe5b6000918252602090912001555b600080548061138457fe5b600190038181906000526020600020016000905590556113a7565b600101611312565b50600085815260016020908152604080832080546001600160a01b0319908116909155600290925280832080549092169091555186917fb308fd4e2abaef716bcb96e9c382d61e5917345fd816de0d20278a23fbe109c791a25050505050565b600081806020019051602081101561141e57600080fd5b505192915050565b61142e61018c565b604080516080810182528381523360208201526001600160801b038183018190526060820152905163fc6f786560e01b81526001600160a01b03929092169163fc6f78659161147f91600401612e5d565b6040805180830381600087803b15801561149857600080fd5b505af11580156114ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108079190612933565b6000806000806000876001600160a01b03166399fbab88886040518263ffffffff1660e01b8152600401808281526020019150506101806040518083038186803b15801561151d57600080fd5b505afa158015611531573d6000803e3d6000fd5b505050506040513d61018081101561154857600080fd5b5060a081015160c082015160e090920151909450909250905061157d8661156e85611943565b61157785611943565b84611c75565b94509450505050935093915050565b6000806000806000806000806000806000808d6001600160a01b03166399fbab888e6040518263ffffffff1660e01b8152600401808281526020019150506101806040518083038186803b1580156115e357600080fd5b505afa1580156115f7573d6000803e3d6000fd5b505050506040513d61018081101561160e57600080fd5b810190808051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291905050506001600160801b03169b506001600160801b03169b509b509b509b509b509b509b509b509b50505061172a8e6040518061014001604052808d6001600160a01b031681526020018c6001600160a01b031681526020018b62ffffff1681526020018a60020b81526020018960020b8152602001886001600160801b0316815260200187815260200186815260200185815260200184815250611d11565b9b509b50505050505050505050509250929050565b604051636eb1769f60e11b81526000906001600160a01b0385169063dd62ed3e906117709030908790600401612dc3565b60206040518083038186803b15801561178857600080fd5b505afa15801561179c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117c09190612862565b9050818110156110e75780156117e5576117e56001600160a01b038516846000611e2f565b6110e76001600160a01b03851684600019611e2f565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610807908490611f3e565b600080600061185a61018c565b6001600160a01b03166399fbab8860e01b8560405160240161187c9190612e96565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b03199094169390931790925290516118ba9190612da9565b600060405180830381855afa9150503d80600081146118f5576040519150601f19603f3d011682016040523d82523d6000602084013e6118fa565b606091505b509150915081819061191f5760405162461bcd60e51b81526004016107fe9190612e3c565b50808060200190518101906119349190612963565b9b9a5050505050505050505050565b60008060008360020b1261195a578260020b611962565b8260020b6000035b9050620d89e88111156119a0576040805162461bcd60e51b81526020600482015260016024820152601560fa1b604482015290519081900360640190fd5b6000600182166119b457600160801b6119c6565b6ffffcb933bd6fad37aa2d162d1a5940015b70ffffffffffffffffffffffffffffffffff16905060028216156119fa576ffff97272373d413259a46990580e213a0260801c5b6004821615611a19576ffff2e50f5f656932ef12357cf3c7fdcc0260801c5b6008821615611a38576fffe5caca7e10e4e61c3624eaa0941cd00260801c5b6010821615611a57576fffcb9843d60f6159c9db58835c9266440260801c5b6020821615611a76576fff973b41fa98c081472e6896dfb254c00260801c5b6040821615611a95576fff2ea16466c96a3843ec78b326b528610260801c5b6080821615611ab4576ffe5dee046a99a2a811c461f1969c30530260801c5b610100821615611ad4576ffcbe86c7900a88aedcffc83b479aa3a40260801c5b610200821615611af4576ff987a7253ac413176f2b074cf7815e540260801c5b610400821615611b14576ff3392b0822b70005940c7a398e4b70f30260801c5b610800821615611b34576fe7159475a2c29b7443b29c7fa6e889d90260801c5b611000821615611b54576fd097f3bdfd2022b8845ad8f792aa58250260801c5b612000821615611b74576fa9f746462d870fdf8a65dc1f90e061e50260801c5b614000821615611b94576f70d869a156d2a1b890bb3df62baf32f70260801c5b618000821615611bb4576f31be135f97d08fd981231505542fcfa60260801c5b62010000821615611bd5576f09aa508b5b7a84e1c677de54f3e99bc90260801c5b62020000821615611bf5576e5d6af8dedb81196699c329225ee6040260801c5b62040000821615611c14576d2216e584f5fa1ea926041bedfe980260801c5b62080000821615611c31576b048a170391f7dc42444e8fa20260801c5b60008460020b1315611c4c578060001981611c4857fe5b0490505b640100000000810615611c60576001611c63565b60005b60ff16602082901c0192505050919050565b600080836001600160a01b0316856001600160a01b03161115611c96579293925b846001600160a01b0316866001600160a01b031611611cc157611cba858585611fef565b9150611d08565b836001600160a01b0316866001600160a01b03161015611cfa57611ce6868585611fef565b9150611cf385878561205a565b9050611d08565b611d0585858561205a565b90505b94509492505050565b600080600080611dcc611dbd876001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015611d5657600080fd5b505afa158015611d6a573d6000803e3d6000fd5b505050506040513d6020811015611d8057600080fd5b50516040805160608101825289516001600160a01b03908116825260208b810151909116908201528982015162ffffff16918101919091526120a5565b86606001518760800151612189565b91509150846101000151611df88660c0015184038760a001516001600160801b0316600160801b612446565b019350846101200151611e238660e0015183038760a001516001600160801b0316600160801b612446565b01925050509250929050565b801580611eb5575060408051636eb1769f60e11b81523060048201526001600160a01b03848116602483015291519185169163dd62ed3e91604480820192602092909190829003018186803b158015611e8757600080fd5b505afa158015611e9b573d6000803e3d6000fd5b505050506040513d6020811015611eb157600080fd5b5051155b611ef05760405162461bcd60e51b81526004018080602001828103825260368152602001806130226036913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526108079084905b6000611f93826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166124f59092919063ffffffff16565b80519091501561080757808060200190516020811015611fb257600080fd5b50516108075760405162461bcd60e51b815260040180806020018281038252602a815260200180612ff8602a913960400191505060405180910390fd5b6000826001600160a01b0316846001600160a01b0316111561200f579192915b836001600160a01b0316612048606060ff16846001600160801b0316901b8686036001600160a01b0316866001600160a01b0316612446565b8161204f57fe5b0490505b9392505050565b6000826001600160a01b0316846001600160a01b0316111561207a579192915b61209d826001600160801b03168585036001600160a01b0316600160601b612446565b949350505050565b600081602001516001600160a01b031682600001516001600160a01b0316106120cd57600080fd5b50805160208083015160409384015184516001600160a01b0394851681850152939091168385015262ffffff166060808401919091528351808403820181526080840185528051908301206001600160f81b031960a085015294901b6bffffffffffffffffffffffff191660a183015260b58201939093527fe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b5460d5808301919091528251808303909101815260f5909101909152805191012090565b6000806000856001600160a01b0316633850c7bd6040518163ffffffff1660e01b815260040160e06040518083038186803b1580156121c757600080fd5b505afa1580156121db573d6000803e3d6000fd5b505050506040513d60e08110156121f157600080fd5b50602001516040805163f30dba9360e01b8152600288900b6004820152905191925060009182916001600160a01b038a169163f30dba939160248082019261010092909190829003018186803b15801561224a57600080fd5b505afa15801561225e573d6000803e3d6000fd5b505050506040513d61010081101561227557600080fd5b50604080820151606090920151815163f30dba9360e01b815260028a900b60048201529151929450925060009182916001600160a01b038c169163f30dba939160248082019261010092909190829003018186803b1580156122d657600080fd5b505afa1580156122ea573d6000803e3d6000fd5b505050506040513d61010081101561230157600080fd5b5060408101516060909101519092509050600289810b9086900b12156123305781840396508083039550612439565b8760020b8560020b121561242e5760008a6001600160a01b031663f30583996040518163ffffffff1660e01b815260040160206040518083038186803b15801561237957600080fd5b505afa15801561238d573d6000803e3d6000fd5b505050506040513d60208110156123a357600080fd5b505160408051634614131960e01b815290519192506000916001600160a01b038e16916346141319916004808301926020929190829003018186803b1580156123eb57600080fd5b505afa1580156123ff573d6000803e3d6000fd5b505050506040513d602081101561241557600080fd5b5051918690038490039850508390038190039550612439565b838203965082810395505b5050505050935093915050565b600080806000198587098686029250828110908390030390508061247c576000841161247157600080fd5b508290049050612053565b80841161248857600080fd5b6000848688096000868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150509392505050565b606061209d8484600085856125098561261a565b61255a576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b600080866001600160a01b031685876040518082805190602001908083835b602083106125985780518252601f199092019160209182019101612579565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146125fa576040519150601f19603f3d011682016040523d82523d6000602084013e6125ff565b606091505b509150915061260f828286612620565b979650505050505050565b3b151590565b6060831561262f575081612053565b82511561263f5782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612689578181015183820152602001612671565b50505050905090810190601f1680156126b65780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b60006126d76126d284612ece565b612ea4565b9050828152602081018484840111156126ef57600080fd5b6126fa848285612f51565b509392505050565b60006127106126d284612ece565b90508281526020810184848401111561272857600080fd5b6126fa848285612f5d565b805161088c81612f95565b600082601f83011261274f57600080fd5b813561209d8482602086016126c4565b600082601f83011261277057600080fd5b815161209d848260208601612702565b805161088c81612fa9565b805161088c81612fb2565b805161088c81612fbb565b803561088c81612fc4565b805161088c81612fc4565b805161088c81612fcd565b6000602082840312156127d457600080fd5b813567ffffffffffffffff8111156127eb57600080fd5b61209d8482850161273e565b60008060006060848603121561280c57600080fd5b6000612818868661278b565b9350506020612829868287016127ac565b925050604061283a868287016127ac565b9150509250925092565b60006020828403121561285657600080fd5b600061209d84846127a1565b60006020828403121561287457600080fd5b600061209d84846127ac565b6000806040838503121561289357600080fd5b600061289f85856127ac565b925050602083015167ffffffffffffffff8111156128bc57600080fd5b6128c88582860161275f565b9150509250929050565b600080600080608085870312156128e857600080fd5b60006128f487876127ac565b94505060206129058782880161278b565b9350506040612916878288016127ac565b9250506060612927878288016127ac565b91505092959194509250565b6000806040838503121561294657600080fd5b600061295285856127ac565b92505060206128c8858286016127ac565b600080600080600080600080610100898b03121561298057600080fd5b600061298c8b8b6127b7565b985050602061299d8b828c01612733565b97505060406129ae8b828c01612733565b96505060606129bf8b828c01612733565b95505060806129d08b828c01612796565b94505060a06129e18b828c01612780565b93505060c06129f28b828c01612780565b92505060e0612a038b828c0161278b565b9150509295985092959890939650565b6000612a1f8383612a33565b505060200190565b6000612a1f8383612da0565b612a3c81612f0c565b82525050565b6000612a4d82612eff565b612a578185612f03565b9350612a6283612ef9565b8060005b83811015612a90578151612a7a8882612a13565b9750612a8583612ef9565b925050600101612a66565b509495945050505050565b6000612aa682612eff565b612ab08185612f03565b9350612abb83612ef9565b8060005b83811015612a90578151612ad38882612a27565b9750612ade83612ef9565b925050600101612abf565b6000612af482612eff565b612afe8185610187565b9350612b0e818560208601612f5d565b9290920192915050565b612a3c81612f17565b6000612b2c82612eff565b612b368185612f03565b9350612b46818560208601612f5d565b612b4f81612f8b565b9093019392505050565b6000612b66602683612f03565b7f7265636569766543616c6c46726f6d5661756c743a20496e76616c69642061638152651d1a5bdb925960d21b602082015260400192915050565b80516080830190612bb28482612da0565b506020820151612bc56020850182612a33565b506040820151612bd86040850182612d8e565b5060608201516110e76060850182612d8e565b805160a0830190612bfc8482612da0565b506020820151612c0f6020850182612d8e565b506040820151612c226040850182612da0565b506060820151612c356060850182612da0565b5060808201516110e76080850182612da0565b805160c0830190612c598482612da0565b506020820151612c6c6020850182612da0565b506040820151612c7f6040850182612da0565b506060820151612c926060850182612da0565b506080820151612ca56080850182612da0565b5060a08201516110e760a0850182612da0565b8051610160830190612cca8482612a33565b506020820151612cdd6020850182612a33565b506040820151612cf06040850182612d97565b506060820151612d036060850182612b18565b506080820151612d166080850182612b18565b5060a0820151612d2960a0850182612da0565b5060c0820151612d3c60c0850182612da0565b5060e0820151612d4f60e0850182612da0565b50610100820151612d64610100850182612da0565b50610120820151612d79610120850182612a33565b506101408201516110e7610140850182612da0565b612a3c81612f1d565b612a3c81612f35565b612a3c81612f3d565b60006120538284612ae9565b6020810161088c8284612a33565b60408101612dd18285612a33565b6120536020830184612a33565b60608101612dec8286612a33565b612df96020830185612da0565b61209d6040830184612a33565b60408082528101612e178185612a42565b9050818103602083015261209d8184612a9b565b602080825281016120538184612a9b565b602080825281016120538184612b21565b6020808252810161088c81612b59565b6080810161088c8284612ba1565b60a0810161088c8284612beb565b60c0810161088c8284612c48565b610160810161088c8284612cb8565b6020810161088c8284612da0565b60405181810167ffffffffffffffff81118282101715612ec657612ec6612f89565b604052919050565b600067ffffffffffffffff821115612ee857612ee8612f89565b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b600061088c82612f29565b60020b90565b6001600160801b031690565b6001600160a01b031690565b62ffffff1690565b90565b6bffffffffffffffffffffffff1690565b82818337506000910152565b60005b83811015612f78578181015183820152602001612f60565b838111156110e75750506000910152565bfe5b601f01601f191690565b612f9e81612f0c565b811461016b57600080fd5b612f9e81612f17565b612f9e81612f1d565b612f9e81612f35565b612f9e81612f3d565b612f9e81612f4056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e6365a164736f6c6343000706000a", "sourceMap": "1142:18154:2:-:0;;;1621:190;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;1704:53:2;;;;;;;;1767:37;;;;;1142:18154;;7:143:52;89:13;;111:33;89:13;111:33;:::i;:::-;70:80;;;;:::o;156:440::-;;;292:2;280:9;271:7;267:23;263:32;260:2;;;308:1;305;298:12;260:2;351:1;376:64;432:7;412:9;376:64;:::i;:::-;366:74;;322:128;489:2;515:64;571:7;562:6;551:9;547:22;515:64;:::i;:::-;505:74;;460:129;250:346;;;;;:::o;602:96::-;;-1:-1:-1;;;;;770:54:52;;668:24;749:81::o;836:122::-;909:24;927:5;909:24;:::i;:::-;902:5;899:35;889:2;;948:1;945;938:12;889:2;879:79;:::o;:::-;1142:18154:2;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b506004361061009e5760003560e01c8063875fb4b311610066578063875fb4b314610114578063e0d803ad1461011c578063e5c23a971461012f578063ecd658b414610142578063eff2452a1461014a5761009e565b80634ddf47d4146100a35780635f358573146100b85780636904481a146100e1578063804ff143146100e957806380daddb8146100fe575b600080fd5b6100b66100b13660046127c2565b61016b565b005b6100cb6100c6366004612844565b61016e565b6040516100d89190612db5565b60405180910390f35b6100cb61018c565b6100f16101b0565b6040516100d89190612e2b565b610106610208565b6040516100d8929190612e06565b6100cb6105c6565b6100cb61012a366004612844565b6105ea565b6100b661013d3660046127c2565b610605565b61010661080c565b61015d610158366004612844565b610812565b6040516100d8929190612dc3565b50565b6000818152600260205260409020546001600160a01b03165b919050565b7f000000000000000000000000000000000000000000000000000000000000000090565b606060008054806020026020016040519081016040528092919081815260200182805480156101fe57602002820191906000526020600020905b8154815260200190600101908083116101ea575b5050505050905090565b60608060006102156101b0565b905080516000141561022757506105c2565b805160020267ffffffffffffffff8111801561024257600080fd5b5060405190808252806020026020018201604052801561026c578160200160208202803683370190505b509250825167ffffffffffffffff8111801561028757600080fd5b506040519080825280602002602001820160405280156102b1578160200160208202803683370190505b5091506000815167ffffffffffffffff811180156102ce57600080fd5b506040519080825280602002602001820160405280156102f8578160200160208202803683370190505b50905060005b82518110156105a45760008061032685848151811061031957fe5b6020026020010151610812565b91509150600083600202905060008160010190508389838151811061034757fe5b60200260200101906001600160a01b031690816001600160a01b0316815250508289828151811061037457fe5b60200260200101906001600160a01b031690816001600160a01b0316815250506000805b86811015610429578a81600202815181106103af57fe5b60200260200101516001600160a01b0316866001600160a01b031614801561040157508a81600202600101815181106103e457fe5b60200260200101516001600160a01b0316856001600160a01b0316145b156104215787818151811061041257fe5b60200260200101519150610429565b600101610398565b506001600160a01b03811661054057604051632633f08360e11b81526000906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690634c67e10690610493908890670de0b6b3a7640000908b90600401612dde565b602060405180830381600087803b1580156104ad57600080fd5b505af11580156104c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104e59190612862565b905061050f61050a82610504600160c01b670de0b6b3a7640000610830565b90610892565b6108f9565b91508188888151811061051e57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050505b61056561054b61018c565b89888151811061055757fe5b60200260200101518361094a565b8a858151811061057157fe5b602002602001018b858151811061058457fe5b6020908102919091010191909152525050600190930192506102fe915050565b506001825111156105bf576105b9848461097d565b90945092505b50505b9091565b7f000000000000000000000000000000000000000000000000000000000000000090565b6000908152600160205260409020546001600160a01b031690565b6000808280602001905181019061061c9190612880565b9092509050816106d757600080600080600080600080600061063d8a610bc0565b9850985098509850985098509850985098506106c96040518061016001604052808b6001600160a01b031681526020018a6001600160a01b031681526020018962ffffff1681526020018860020b81526020018760020b8152602001868152602001858152602001848152602001838152602001306001600160a01b0316815260200142815250610c64565b505050505050505050610807565b600182141561073a5760008060008060006106f186610f17565b945094509450945094506107306040518060c0016040528087815260200186815260200185815260200184815260200183815260200142815250610f5d565b5050505050610807565b600282141561079b57600080600080610752856110ed565b93509350935093506107926040518060a00160405280868152602001856001600160801b031681526020018481526020018381526020014281525061112a565b50505050610807565b60048214156107c7576000806000806107b3856110ed565b9350935093509350610792848484846111bb565b60038214156107e6576107e16107dc82611407565b611426565b610807565b60405162461bcd60e51b81526004016107fe90612e4d565b60405180910390fd5b505050565b60608091565b60008061081e836105ea565b6108278461016e565b91509150915091565b60008261083f5750600061088c565b8282028284828161084c57fe5b04146108895760405162461bcd60e51b8152600401808060200182810382526021815260200180612fd76021913960400191505060405180910390fd5b90505b92915050565b60008082116108e8576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b8183816108f157fe5b049392505050565b6000600382111561093c575080600160028204015b818110156109365780915060028182858161092557fe5b04018161092e57fe5b04905061090e565b50610187565b811561018757506001919050565b60008060008061095b8787876114d0565b9150915060008061096c898961158c565b940195505050019050935093915050565b60608083516000141561098f57610bb9565b6001805b8551811015610a0f576000805b828110156109f9578781815181106109b457fe5b60200260200101516001600160a01b03168884815181106109d157fe5b60200260200101516001600160a01b031614156109f157600191506109f9565b6001016109a0565b5080610a06576001909201915b50600101610993565b508067ffffffffffffffff81118015610a2757600080fd5b50604051908082528060200260200182016040528015610a51578160200160208202803683370190505b5092508067ffffffffffffffff81118015610a6b57600080fd5b50604051908082528060200260200182016040528015610a95578160200160208202803683370190505b5091506000805b8651811015610bb5576000805b83811015610b3457868181518110610abd57fe5b60200260200101516001600160a01b0316898481518110610ada57fe5b60200260200101516001600160a01b03161415610b2c5760019150878381518110610b0157fe5b6020026020010151868281518110610b1557fe5b602002602001018181510191508181525050610b34565b600101610aa9565b5080610bac57878281518110610b4657fe5b6020026020010151868481518110610b5a57fe5b60200260200101906001600160a01b031690816001600160a01b031681525050868281518110610b8657fe5b6020026020010151858481518110610b9a57fe5b60209081029190910101526001909201915b50600101610a9c565b5050505b9250929050565b600080600080600080600080600089806020019051610120811015610be457600080fd5b810190808051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291905050509850985098509850985098509850985098509193959799909294969850565b8051610c7c90610c7261018c565b8360a0015161173f565b610c968160200151610c8c61018c565b8360c0015161173f565b6000806000610ca361018c565b6001600160a01b03166388316456856040518263ffffffff1660e01b8152600401610cce9190612e87565b608060405180830381600087803b158015610ce857600080fd5b505af1158015610cfc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d2091906128d2565b60008054600180820183558280527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e56390910186905589518683526020918252604080842080546001600160a01b03199081166001600160a01b0394851617909155838d0151600290945293208054909316911617905560a0880151939650909450925050821015610e4157610e413385600001516001600160a01b03166370a08231306040518263ffffffff1660e01b8152600401610ddf9190612db5565b60206040518083038186803b158015610df757600080fd5b505afa158015610e0b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e2f9190612862565b86516001600160a01b031691906117fb565b8360c00151811015610ee657610ee63385602001516001600160a01b03166370a08231306040518263ffffffff1660e01b8152600401610e819190612db5565b60206040518083038186803b158015610e9957600080fd5b505afa158015610ead573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ed19190612862565b60208701516001600160a01b031691906117fb565b60405183907fa831009a1dec500e6875fc241cfbe036162eb78da63101cbd7bfa24eaef48b3a90600090a250505050565b60008060008060008580602001905160a0811015610f3457600080fd5b508051602082015160408301516060840151608090940151929a91995097509195509350915050565b600080610f6861018c565b6001600160a01b031663219f5d17846040518263ffffffff1660e01b8152600401610f939190612e79565b606060405180830381600087803b158015610fad57600080fd5b505af1158015610fc1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fe591906127f7565b9250925050826020015182101561109a57600061100584600001516105ea565b905061109833826001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016110379190612db5565b60206040518083038186803b15801561104f57600080fd5b505afa158015611063573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110879190612862565b6001600160a01b03841691906117fb565b505b82604001518110156108075760006110b5846000015161016e565b90506110e733826001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016110379190612db5565b50505050565b60008060008084806020019051608081101561110857600080fd5b5080516020820151604083015160609093015191989097509195509350915050565b61113261018c565b6001600160a01b0316630c49ccbe826040518263ffffffff1660e01b815260040161115d9190612e6b565b6040805180830381600087803b15801561117657600080fd5b505af115801561118a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111ae9190612933565b5050805161016b90611426565b6001600160801b0383811614156111d8576111d58461184d565b92505b6001600160801b0383161561129d576111ef61018c565b6001600160a01b0316630c49ccbe6040518060a00160405280878152602001866001600160801b03168152602001858152602001848152602001428152506040518263ffffffff1660e01b81526004016112499190612e6b565b6040805180830381600087803b15801561126257600080fd5b505af1158015611276573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061129a9190612933565b50505b6112a684611426565b6112ae61018c565b6001600160a01b03166342966c68856040518263ffffffff1660e01b81526004016112d99190612e96565b600060405180830381600087803b1580156112f357600080fd5b505af1158015611307573d6000803e3d6000fd5b505060008054925090505b818110156113a757856000828154811061132857fe5b9060005260206000200154141561139f5760018203811015611379576000600183038154811061135457fe5b90600052602060002001546000828154811061136c57fe5b6000918252602090912001555b600080548061138457fe5b600190038181906000526020600020016000905590556113a7565b600101611312565b50600085815260016020908152604080832080546001600160a01b0319908116909155600290925280832080549092169091555186917fb308fd4e2abaef716bcb96e9c382d61e5917345fd816de0d20278a23fbe109c791a25050505050565b600081806020019051602081101561141e57600080fd5b505192915050565b61142e61018c565b604080516080810182528381523360208201526001600160801b038183018190526060820152905163fc6f786560e01b81526001600160a01b03929092169163fc6f78659161147f91600401612e5d565b6040805180830381600087803b15801561149857600080fd5b505af11580156114ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108079190612933565b6000806000806000876001600160a01b03166399fbab88886040518263ffffffff1660e01b8152600401808281526020019150506101806040518083038186803b15801561151d57600080fd5b505afa158015611531573d6000803e3d6000fd5b505050506040513d61018081101561154857600080fd5b5060a081015160c082015160e090920151909450909250905061157d8661156e85611943565b61157785611943565b84611c75565b94509450505050935093915050565b6000806000806000806000806000806000808d6001600160a01b03166399fbab888e6040518263ffffffff1660e01b8152600401808281526020019150506101806040518083038186803b1580156115e357600080fd5b505afa1580156115f7573d6000803e3d6000fd5b505050506040513d61018081101561160e57600080fd5b810190808051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291905050506001600160801b03169b506001600160801b03169b509b509b509b509b509b509b509b509b50505061172a8e6040518061014001604052808d6001600160a01b031681526020018c6001600160a01b031681526020018b62ffffff1681526020018a60020b81526020018960020b8152602001886001600160801b0316815260200187815260200186815260200185815260200184815250611d11565b9b509b50505050505050505050509250929050565b604051636eb1769f60e11b81526000906001600160a01b0385169063dd62ed3e906117709030908790600401612dc3565b60206040518083038186803b15801561178857600080fd5b505afa15801561179c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117c09190612862565b9050818110156110e75780156117e5576117e56001600160a01b038516846000611e2f565b6110e76001600160a01b03851684600019611e2f565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610807908490611f3e565b600080600061185a61018c565b6001600160a01b03166399fbab8860e01b8560405160240161187c9190612e96565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b03199094169390931790925290516118ba9190612da9565b600060405180830381855afa9150503d80600081146118f5576040519150601f19603f3d011682016040523d82523d6000602084013e6118fa565b606091505b509150915081819061191f5760405162461bcd60e51b81526004016107fe9190612e3c565b50808060200190518101906119349190612963565b9b9a5050505050505050505050565b60008060008360020b1261195a578260020b611962565b8260020b6000035b9050620d89e88111156119a0576040805162461bcd60e51b81526020600482015260016024820152601560fa1b604482015290519081900360640190fd5b6000600182166119b457600160801b6119c6565b6ffffcb933bd6fad37aa2d162d1a5940015b70ffffffffffffffffffffffffffffffffff16905060028216156119fa576ffff97272373d413259a46990580e213a0260801c5b6004821615611a19576ffff2e50f5f656932ef12357cf3c7fdcc0260801c5b6008821615611a38576fffe5caca7e10e4e61c3624eaa0941cd00260801c5b6010821615611a57576fffcb9843d60f6159c9db58835c9266440260801c5b6020821615611a76576fff973b41fa98c081472e6896dfb254c00260801c5b6040821615611a95576fff2ea16466c96a3843ec78b326b528610260801c5b6080821615611ab4576ffe5dee046a99a2a811c461f1969c30530260801c5b610100821615611ad4576ffcbe86c7900a88aedcffc83b479aa3a40260801c5b610200821615611af4576ff987a7253ac413176f2b074cf7815e540260801c5b610400821615611b14576ff3392b0822b70005940c7a398e4b70f30260801c5b610800821615611b34576fe7159475a2c29b7443b29c7fa6e889d90260801c5b611000821615611b54576fd097f3bdfd2022b8845ad8f792aa58250260801c5b612000821615611b74576fa9f746462d870fdf8a65dc1f90e061e50260801c5b614000821615611b94576f70d869a156d2a1b890bb3df62baf32f70260801c5b618000821615611bb4576f31be135f97d08fd981231505542fcfa60260801c5b62010000821615611bd5576f09aa508b5b7a84e1c677de54f3e99bc90260801c5b62020000821615611bf5576e5d6af8dedb81196699c329225ee6040260801c5b62040000821615611c14576d2216e584f5fa1ea926041bedfe980260801c5b62080000821615611c31576b048a170391f7dc42444e8fa20260801c5b60008460020b1315611c4c578060001981611c4857fe5b0490505b640100000000810615611c60576001611c63565b60005b60ff16602082901c0192505050919050565b600080836001600160a01b0316856001600160a01b03161115611c96579293925b846001600160a01b0316866001600160a01b031611611cc157611cba858585611fef565b9150611d08565b836001600160a01b0316866001600160a01b03161015611cfa57611ce6868585611fef565b9150611cf385878561205a565b9050611d08565b611d0585858561205a565b90505b94509492505050565b600080600080611dcc611dbd876001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015611d5657600080fd5b505afa158015611d6a573d6000803e3d6000fd5b505050506040513d6020811015611d8057600080fd5b50516040805160608101825289516001600160a01b03908116825260208b810151909116908201528982015162ffffff16918101919091526120a5565b86606001518760800151612189565b91509150846101000151611df88660c0015184038760a001516001600160801b0316600160801b612446565b019350846101200151611e238660e0015183038760a001516001600160801b0316600160801b612446565b01925050509250929050565b801580611eb5575060408051636eb1769f60e11b81523060048201526001600160a01b03848116602483015291519185169163dd62ed3e91604480820192602092909190829003018186803b158015611e8757600080fd5b505afa158015611e9b573d6000803e3d6000fd5b505050506040513d6020811015611eb157600080fd5b5051155b611ef05760405162461bcd60e51b81526004018080602001828103825260368152602001806130226036913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526108079084905b6000611f93826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166124f59092919063ffffffff16565b80519091501561080757808060200190516020811015611fb257600080fd5b50516108075760405162461bcd60e51b815260040180806020018281038252602a815260200180612ff8602a913960400191505060405180910390fd5b6000826001600160a01b0316846001600160a01b0316111561200f579192915b836001600160a01b0316612048606060ff16846001600160801b0316901b8686036001600160a01b0316866001600160a01b0316612446565b8161204f57fe5b0490505b9392505050565b6000826001600160a01b0316846001600160a01b0316111561207a579192915b61209d826001600160801b03168585036001600160a01b0316600160601b612446565b949350505050565b600081602001516001600160a01b031682600001516001600160a01b0316106120cd57600080fd5b50805160208083015160409384015184516001600160a01b0394851681850152939091168385015262ffffff166060808401919091528351808403820181526080840185528051908301206001600160f81b031960a085015294901b6bffffffffffffffffffffffff191660a183015260b58201939093527fe34f199b19b2b4f47f68442619d555527d244f78a3297ea89325f843f87b8b5460d5808301919091528251808303909101815260f5909101909152805191012090565b6000806000856001600160a01b0316633850c7bd6040518163ffffffff1660e01b815260040160e06040518083038186803b1580156121c757600080fd5b505afa1580156121db573d6000803e3d6000fd5b505050506040513d60e08110156121f157600080fd5b50602001516040805163f30dba9360e01b8152600288900b6004820152905191925060009182916001600160a01b038a169163f30dba939160248082019261010092909190829003018186803b15801561224a57600080fd5b505afa15801561225e573d6000803e3d6000fd5b505050506040513d61010081101561227557600080fd5b50604080820151606090920151815163f30dba9360e01b815260028a900b60048201529151929450925060009182916001600160a01b038c169163f30dba939160248082019261010092909190829003018186803b1580156122d657600080fd5b505afa1580156122ea573d6000803e3d6000fd5b505050506040513d61010081101561230157600080fd5b5060408101516060909101519092509050600289810b9086900b12156123305781840396508083039550612439565b8760020b8560020b121561242e5760008a6001600160a01b031663f30583996040518163ffffffff1660e01b815260040160206040518083038186803b15801561237957600080fd5b505afa15801561238d573d6000803e3d6000fd5b505050506040513d60208110156123a357600080fd5b505160408051634614131960e01b815290519192506000916001600160a01b038e16916346141319916004808301926020929190829003018186803b1580156123eb57600080fd5b505afa1580156123ff573d6000803e3d6000fd5b505050506040513d602081101561241557600080fd5b5051918690038490039850508390038190039550612439565b838203965082810395505b5050505050935093915050565b600080806000198587098686029250828110908390030390508061247c576000841161247157600080fd5b508290049050612053565b80841161248857600080fd5b6000848688096000868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150509392505050565b606061209d8484600085856125098561261a565b61255a576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b600080866001600160a01b031685876040518082805190602001908083835b602083106125985780518252601f199092019160209182019101612579565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146125fa576040519150601f19603f3d011682016040523d82523d6000602084013e6125ff565b606091505b509150915061260f828286612620565b979650505050505050565b3b151590565b6060831561262f575081612053565b82511561263f5782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612689578181015183820152602001612671565b50505050905090810190601f1680156126b65780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b60006126d76126d284612ece565b612ea4565b9050828152602081018484840111156126ef57600080fd5b6126fa848285612f51565b509392505050565b60006127106126d284612ece565b90508281526020810184848401111561272857600080fd5b6126fa848285612f5d565b805161088c81612f95565b600082601f83011261274f57600080fd5b813561209d8482602086016126c4565b600082601f83011261277057600080fd5b815161209d848260208601612702565b805161088c81612fa9565b805161088c81612fb2565b805161088c81612fbb565b803561088c81612fc4565b805161088c81612fc4565b805161088c81612fcd565b6000602082840312156127d457600080fd5b813567ffffffffffffffff8111156127eb57600080fd5b61209d8482850161273e565b60008060006060848603121561280c57600080fd5b6000612818868661278b565b9350506020612829868287016127ac565b925050604061283a868287016127ac565b9150509250925092565b60006020828403121561285657600080fd5b600061209d84846127a1565b60006020828403121561287457600080fd5b600061209d84846127ac565b6000806040838503121561289357600080fd5b600061289f85856127ac565b925050602083015167ffffffffffffffff8111156128bc57600080fd5b6128c88582860161275f565b9150509250929050565b600080600080608085870312156128e857600080fd5b60006128f487876127ac565b94505060206129058782880161278b565b9350506040612916878288016127ac565b9250506060612927878288016127ac565b91505092959194509250565b6000806040838503121561294657600080fd5b600061295285856127ac565b92505060206128c8858286016127ac565b600080600080600080600080610100898b03121561298057600080fd5b600061298c8b8b6127b7565b985050602061299d8b828c01612733565b97505060406129ae8b828c01612733565b96505060606129bf8b828c01612733565b95505060806129d08b828c01612796565b94505060a06129e18b828c01612780565b93505060c06129f28b828c01612780565b92505060e0612a038b828c0161278b565b9150509295985092959890939650565b6000612a1f8383612a33565b505060200190565b6000612a1f8383612da0565b612a3c81612f0c565b82525050565b6000612a4d82612eff565b612a578185612f03565b9350612a6283612ef9565b8060005b83811015612a90578151612a7a8882612a13565b9750612a8583612ef9565b925050600101612a66565b509495945050505050565b6000612aa682612eff565b612ab08185612f03565b9350612abb83612ef9565b8060005b83811015612a90578151612ad38882612a27565b9750612ade83612ef9565b925050600101612abf565b6000612af482612eff565b612afe8185610187565b9350612b0e818560208601612f5d565b9290920192915050565b612a3c81612f17565b6000612b2c82612eff565b612b368185612f03565b9350612b46818560208601612f5d565b612b4f81612f8b565b9093019392505050565b6000612b66602683612f03565b7f7265636569766543616c6c46726f6d5661756c743a20496e76616c69642061638152651d1a5bdb925960d21b602082015260400192915050565b80516080830190612bb28482612da0565b506020820151612bc56020850182612a33565b506040820151612bd86040850182612d8e565b5060608201516110e76060850182612d8e565b805160a0830190612bfc8482612da0565b506020820151612c0f6020850182612d8e565b506040820151612c226040850182612da0565b506060820151612c356060850182612da0565b5060808201516110e76080850182612da0565b805160c0830190612c598482612da0565b506020820151612c6c6020850182612da0565b506040820151612c7f6040850182612da0565b506060820151612c926060850182612da0565b506080820151612ca56080850182612da0565b5060a08201516110e760a0850182612da0565b8051610160830190612cca8482612a33565b506020820151612cdd6020850182612a33565b506040820151612cf06040850182612d97565b506060820151612d036060850182612b18565b506080820151612d166080850182612b18565b5060a0820151612d2960a0850182612da0565b5060c0820151612d3c60c0850182612da0565b5060e0820151612d4f60e0850182612da0565b50610100820151612d64610100850182612da0565b50610120820151612d79610120850182612a33565b506101408201516110e7610140850182612da0565b612a3c81612f1d565b612a3c81612f35565b612a3c81612f3d565b60006120538284612ae9565b6020810161088c8284612a33565b60408101612dd18285612a33565b6120536020830184612a33565b60608101612dec8286612a33565b612df96020830185612da0565b61209d6040830184612a33565b60408082528101612e178185612a42565b9050818103602083015261209d8184612a9b565b602080825281016120538184612a9b565b602080825281016120538184612b21565b6020808252810161088c81612b59565b6080810161088c8284612ba1565b60a0810161088c8284612beb565b60c0810161088c8284612c48565b610160810161088c8284612cb8565b6020810161088c8284612da0565b60405181810167ffffffffffffffff81118282101715612ec657612ec6612f89565b604052919050565b600067ffffffffffffffff821115612ee857612ee8612f89565b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b600061088c82612f29565b60020b90565b6001600160801b031690565b6001600160a01b031690565b62ffffff1690565b90565b6bffffffffffffffffffffffff1690565b82818337506000910152565b60005b83811015612f78578181015183820152602001612f60565b838111156110e75750506000910152565bfe5b601f01601f191690565b612f9e81612f0c565b811461016b57600080fd5b612f9e81612f17565b612f9e81612f1d565b612f9e81612f35565b612f9e81612f3d565b612f9e81612f4056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e6365a164736f6c6343000706000a", "sourceMap": "1142:18154:2:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1920:48;;;;;;:::i;:::-;;:::i;:::-;;18908:124;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;17863:143;;;:::i;17607:98::-;;;:::i;:::-;;;;;;;:::i;12779:2470::-;;;:::i;:::-;;;;;;;;:::i;19174:120::-;;;:::i;18611:124::-;;;;;;:::i;:::-;;:::i;2096:3504::-;;;;;;:::i;:::-;;:::i;12411:189::-;;;:::i;18225:213::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;:::i;1920:48::-;;:::o;18908:124::-;18970:15;19004:21;;;:13;:21;;;;;;-1:-1:-1;;;;;19004:21:2;18908:124;;;;:::o;17863:143::-;17973:26;17863:143;:::o;17607:98::-;17649:24;17692:6;17685:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17607:98;:::o;12779:2470::-;12858:24;12884:25;12925:27;12955:11;:9;:11::i;:::-;12925:41;;12980:10;:17;13001:1;12980:22;12976:79;;;13018:26;;;12976:79;13089:10;:17;13109:1;13089:21;13075:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13075:36:2;;13065:46;;13146:7;:14;13132:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13132:29:2;;13121:40;;13251:30;13298:10;:17;13284:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13284:32:2;;13251:65;;13331:9;13326:1589;13346:10;:17;13342:1;:21;13326:1589;;;13385:14;13401;13419:28;13433:10;13444:1;13433:13;;;;;;;;;;;;;;13419;:28::i;:::-;13384:63;;;;13461:19;13483:1;13487;13483:5;13461:27;;13502:19;13524:11;13538:1;13524:15;13502:37;;13577:6;13554:7;13562:11;13554:20;;;;;;;;;;;;;:29;-1:-1:-1;;;;;13554:29:2;;;-1:-1:-1;;;;;13554:29:2;;;;;13620:6;13597:7;13605:11;13597:20;;;;;;;;;;;;;:29;-1:-1:-1;;;;;13597:29:2;;;-1:-1:-1;;;;;13597:29:2;;;;;13713:20;13752:9;13747:221;13767:1;13763;:5;13747:221;;;13807:7;13815:1;13819;13815:5;13807:14;;;;;;;;;;;;;;-1:-1:-1;;;;;13797:24:2;:6;-1:-1:-1;;;;;13797:24:2;;:56;;;;;13835:7;13843:1;13847;13843:5;13851:1;13843:9;13835:18;;;;;;;;;;;;;;-1:-1:-1;;;;;13825:28:2;:6;-1:-1:-1;;;;;13825:28:2;;13797:56;13793:161;;;13892:13;13906:1;13892:16;;;;;;;;;;;;;;13877:31;;13930:5;;13793:161;13770:3;;13747:221;;;-1:-1:-1;;;;;;13986:17:2;;13982:690;;14055:178;;-1:-1:-1;;;14055:178:2;;14023:29;;-1:-1:-1;;;;;14120:17:2;14055:124;;;;:178;;14180:6;;1541;;14226;;14055:178;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;14023:210;-1:-1:-1;14402:188:2;14441:127;14023:210;14442:69;-1:-1:-1;;;1541:6:2;14442:31;:69::i;:::-;14441:104;;:127::i;:::-;14402:13;:188::i;:::-;14358:250;;14645:12;14626:13;14640:1;14626:16;;;;;;;;;;;;;:31;-1:-1:-1;;;;;14626:31:2;;;-1:-1:-1;;;;;14626:31:2;;;;;13982:690;;14735:169;14800:28;:26;:28::i;:::-;14847:10;14858:1;14847:13;;;;;;;;;;;;;;14878:12;14735:19;:169::i;:::-;14687:8;14696:11;14687:21;;;;;;;;;;;;;14710:8;14719:11;14710:21;;;;;;;;;;;;;;;;;14686:218;;;;;-1:-1:-1;;13365:3:2;;;;;-1:-1:-1;13326:1589:2;;-1:-1:-1;;13326:1589:2;;;15114:1;15094:10;:17;:21;15090:116;;;15153:42;15177:7;15186:8;15153:23;:42::i;:::-;15131:64;;-1:-1:-1;15131:64:2;-1:-1:-1;15090:116:2;15216:26;;12779:2470;;;:::o;19174:120::-;19270:17;19174:120;:::o;18611:124::-;18673:15;18707:21;;;:13;:21;;;;;;-1:-1:-1;;;;;18707:21:2;;18611:124::o;2096:3504::-;2181:16;2199:23;2237:11;2226:41;;;;;;;;;;;;:::i;:::-;2180:87;;-1:-1:-1;2180:87:2;-1:-1:-1;2295:87:2;2278:3316;;2425:14;2457;2489:10;2517:15;2550;2583:22;2623;2663:18;2699;2734:34;2757:10;2734:22;:34::i;:::-;2407:361;;;;;;;;;;;;;;;;;;2783:567;2807:529;;;;;;;;2876:6;-1:-1:-1;;;;;2807:529:2;;;;;2912:6;-1:-1:-1;;;;;2807:529:2;;;;;2945:3;2807:529;;;;;;2981:9;2807:529;;;;;;3023:9;2807:529;;;;;;3070:14;2807:529;;;;3122:14;2807:529;;;;3170:10;2807:529;;;;3214:10;2807:529;;;;3265:4;-1:-1:-1;;;;;2807:529:2;;;;;3302:15;2807:529;;;2783:6;:567::i;:::-;2278:3316;;;;;;;;;;;;3416:74;3384:8;:107;3367:2227;;;3534:13;3565:22;3605;3645:18;3681;3716:42;3747:10;3716:30;:42::i;:::-;3516:242;;;;;;;;;;3773:392;3805:346;;;;;;;;3888:5;3805:346;;;;3931:14;3805:346;;;;3983:14;3805:346;;;;4031:10;3805:346;;;;4075:10;3805:346;;;;4117:15;3805:346;;;3773:14;:392::i;:::-;3367:2227;;;;;;;;4231:77;4199:8;:110;4182:1412;;;4352:13;4383:17;4418:18;4454;4489:45;4523:10;4489:33;:45::i;:::-;4334:200;;;;;;;;4549:333;4584:284;;;;;;;;4667:5;4584:284;;;;4705:9;-1:-1:-1;;;;;4584:284:2;;;;;4748:10;4584:284;;;;4792:10;4584:284;;;;4834:15;4584:284;;;4549:17;:333::i;:::-;4182:1412;;;;;;;4948:67;4916:8;:100;4899:695;;;5059:13;5090:17;5125:18;5161;5196:35;5220:10;5196:23;:35::i;:::-;5041:190;;;;;;;;5246:49;5254:5;5261:9;5272:10;5284;5246:7;:49::i;4899:695::-;5361:69;5329:8;:102;5312:282;;;5456:48;5466:37;5492:10;5466:25;:37::i;:::-;5456:9;:48::i;:::-;5312:282;;;5535:48;;-1:-1:-1;;;5535:48:2;;;;;;;:::i;:::-;;;;;;;;5312:282;2096:3504;;;:::o;12411:189::-;12500:24;12526:25;12411:189;:::o;18225:213::-;18326:15;18343;18382:23;18398:6;18382:15;:23::i;:::-;18407;18423:6;18407:15;:23::i;:::-;18374:57;;;;18225:213;;;:::o;3530:215:10:-;3588:7;3611:6;3607:20;;-1:-1:-1;3626:1:10;3619:8;;3607:20;3649:5;;;3653:1;3649;:5;:1;3672:5;;;;;:10;3664:56;;;;-1:-1:-1;;;3664:56:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3737:1;-1:-1:-1;3530:215:10;;;;;:::o;4209:150::-;4267:7;4298:1;4294;:5;4286:44;;;;;-1:-1:-1;;;4286:44:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;4351:1;4347;:5;;;;;;;4209:150;-1:-1:-1;;;4209:150:10:o;17070:363:2:-;17127:10;17158:1;17153:2;:6;17149:235;;;-1:-1:-1;17180:2:2;17217:1;17213;17208:6;;:10;17232:92;17243:2;17239:1;:6;17232:92;;;17270:1;17265:6;;17308:1;17303;17299;17294:2;:6;;;;;;:10;17293:16;;;;;;17289:20;;17232:92;;;17149:235;;;;17344:7;;17340:44;;-1:-1:-1;17372:1:2;17070:363;;;:::o;1155:469:51:-;1307:15;1324;1352:24;1378;1406:49;1416:15;1433:7;1442:12;1406:9;:49::i;:::-;1351:104;;;;1466:18;1486;1508:30;1513:15;1530:7;1508:4;:30::i;:::-;1556:29;;;-1:-1:-1;;;1587:29:51;;-1:-1:-1;1155:469:51;;;;;;:::o;15315:1573:2:-;15453:34;15489:35;15544:10;:17;15565:1;15544:22;15540:99;;;15582:46;;15540:99;15680:1;;15691:361;15715:10;:17;15711:1;:21;15691:361;;;15753:13;15785:9;15780:179;15800:1;15796;:5;15780:179;;;15847:10;15858:1;15847:13;;;;;;;;;;;;;;-1:-1:-1;;;;;15830:30:2;:10;15841:1;15830:13;;;;;;;;;;;;;;-1:-1:-1;;;;;15830:30:2;;15826:119;;;15895:4;15884:15;;15921:5;;15826:119;15803:3;;15780:179;;;;15977:8;15972:70;;16005:22;;;;;15972:70;-1:-1:-1;15734:3:2;;15691:361;;;;16096:20;16082:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;16082:35:2;;16062:55;;16162:20;16148:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;16148:35:2;;16127:56;;16193:28;16236:9;16231:594;16251:10;:17;16247:1;:21;16231:594;;;16289:13;16321:9;16316:268;16336:20;16332:1;:24;16316:268;;;16402:17;16420:1;16402:20;;;;;;;;;;;;;;-1:-1:-1;;;;;16385:37:2;:10;16396:1;16385:13;;;;;;;;;;;;;;-1:-1:-1;;;;;16385:37:2;;16381:189;;;16457:4;16446:15;;16509:11;16521:1;16509:14;;;;;;;;;;;;;;16484:18;16503:1;16484:21;;;;;;;;;;;;;:39;;;;;;;;;;;16546:5;;16381:189;16358:3;;16316:268;;;;16602:8;16597:218;;16672:10;16683:1;16672:13;;;;;;;;;;;;;;16630:17;16648:20;16630:39;;;;;;;;;;;;;:55;-1:-1:-1;;;;;16630:55:2;;;-1:-1:-1;;;;;16630:55:2;;;;;16746:11;16758:1;16746:14;;;;;;;;;;;;;;16703:18;16722:20;16703:40;;;;;;;;;;;;;;;;;:57;16778:22;;;;;16597:218;-1:-1:-1;16270:3:2;;16231:594;;;;16835:46;;15315:1573;;;;;;:::o;1333:585:1:-;1451:15;1480;1509:11;1534:16;1564;1594:23;1631;1668:19;1701;1792:11;1764:147;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1745:166;;;;;;;;;;;;;;;;;;1333:585;;;;;;;;;;;:::o;8266:1341:2:-;8462:14;;8423:141;;8490:28;:26;:28::i;:::-;8532:7;:22;;;8423:25;:141::i;:::-;8574;8613:7;:14;;;8641:28;:26;:28::i;:::-;8683:7;:22;;;8574:25;:141::i;:::-;8751:15;8770;8787;8847:28;:26;:28::i;:::-;-1:-1:-1;;;;;8806:84:2;;8891:7;8806:93;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8942:6;:20;;;;;;;;;;;;;;;;;;8997:14;;8972:22;;;8942:20;8972:22;;;;;;;:39;;-1:-1:-1;;;;;;8972:39:2;;;-1:-1:-1;;;;;8972:39:2;;;;;;;9046:14;;;;9021:13;:22;;;;;:39;;;;;;;;;;9158:22;;;;8942:20;;-1:-1:-1;8750:149:2;;-1:-1:-1;8750:149:2;-1:-1:-1;;9148:32:2;;9144:203;;;9196:140;9248:10;9282:7;:14;;;-1:-1:-1;;;;;9276:31:2;;9316:4;9276:46;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9202:14;;-1:-1:-1;;;;;9196:34:2;;:140;:34;:140::i;:::-;9371:7;:22;;;9361:7;:32;9357:203;;;9409:140;9461:10;9495:7;:14;;;-1:-1:-1;;;;;9489:31:2;;9529:4;9489:46;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9415:14;;;;-1:-1:-1;;;;;9409:34:2;;:140;:34;:140::i;:::-;9575:25;;9592:7;;9575:25;;;;;8266:1341;;;;:::o;617:389:1:-;743:14;771:23;808;845:19;878;940:11;929:70;;;;;;;;;;;;;;;-1:-1:-1;929:70:1;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;929:70:1;-1:-1:-1;929:70:1;;-1:-1:-1;929:70:1;-1:-1:-1;617:389:1;-1:-1:-1;;617:389:1:o;5684:774:2:-;5881:15;5898;5958:28;:26;:28::i;:::-;-1:-1:-1;;;;;5917:97:2;;6015:7;5917:106;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5878:145;;;;;6048:7;:22;;;6038:7;:32;6034:204;;;6086:14;6103:32;6119:7;:15;;;6103;:32::i;:::-;6086:49;;6149:78;6176:10;6194:6;-1:-1:-1;;;;;6188:23:2;;6220:4;6188:38;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;6149:26:2;;;:78;:26;:78::i;:::-;6034:204;;6262:7;:22;;;6252:7;:32;6248:204;;;6300:14;6317:32;6333:7;:15;;;6317;:32::i;:::-;6300:49;;6363:78;6390:10;6408:6;-1:-1:-1;;;;;6402:23:2;;6434:4;6402:38;;;;;;;;;;;;;;;:::i;6363:78::-;6248:204;5684:774;;;:::o;2399:341:1:-;2528:14;2556:18;2588:19;2621;2683:11;2672:61;;;;;;;;;;;;;;;-1:-1:-1;2672:61:1;;;;;;;;;;;;;;;;;;;-1:-1:-1;2672:61:1;;-1:-1:-1;2672:61:1;-1:-1:-1;2399:341:1;-1:-1:-1;;2399:341:1:o;11885:253:2:-;12038:28;:26;:28::i;:::-;-1:-1:-1;;;;;12010:75:2;;12086:7;12010:84;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;12115:15:2;;12105:26;;:9;:26::i;10052:1727::-;-1:-1:-1;;;;;10207:31:2;;;;10203:419;;;10583:28;10604:6;10583:20;:28::i;:::-;10570:41;;10203:419;-1:-1:-1;;;;;10636:14:2;;;10632:440;;10694:28;:26;:28::i;:::-;-1:-1:-1;;;;;10666:75:2;;10759:288;;;;;;;;10842:6;10759:288;;;;10881:10;-1:-1:-1;;;;;10759:288:2;;;;;10925:11;10759:288;;;;10970:11;10759:288;;;;11013:15;10759:288;;;10666:395;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;10632:440;11082:17;11092:6;11082:9;:17::i;:::-;11206:28;:26;:28::i;:::-;-1:-1:-1;;;;;11178:62:2;;11241:6;11178:70;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;11349:16:2;11368:13;;;-1:-1:-1;11349:16:2;-1:-1:-1;11391:264:2;11411:8;11407:1;:12;11391:264;;;11457:6;11444;11451:1;11444:9;;;;;;;;;;;;;;;;:19;11440:205;;;11502:1;11491:8;:12;11487:1;:16;11483:95;;;11539:6;11557:1;11546:8;:12;11539:20;;;;;;;;;;;;;;;;11527:6;11534:1;11527:9;;;;;;;;;;;;;;;;;:32;11483:95;11595:6;:12;;;;;;;;;;;;;;;;;;;;;;;;11625:5;;11440:205;11421:3;;11391:264;;;-1:-1:-1;11671:21:2;;;;:13;:21;;;;;;;;11664:28;;-1:-1:-1;;;;;;11664:28:2;;;;;;11709:13;:21;;;;;;11702:28;;;;;;;;11746:26;11685:6;;11746:26;;;10052:1727;;;;;:::o;1078:186:1:-;1186:14;1234:11;1223:34;;;;;;;;;;;;;;;-1:-1:-1;1223:34:1;;1078:186;-1:-1:-1;;1078:186:1:o;7083:381:2:-;7164:28;:26;:28::i;:::-;7215:232;;;;;;;;;;;7327:10;7215:232;;;;-1:-1:-1;;;;;7215:232:2;;;;;;;;;;7136:321;;-1:-1:-1;;;7136:321:2;;-1:-1:-1;;;;;7136:65:2;;;;;;;:321;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;2148:567:51:-;2304:15;2321;2359;2376;2393:17;2422:15;-1:-1:-1;;;;;2422:25:51;;2448:7;2422:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2422:34:51;;;;;;;;;;;;;;;-1:-1:-1;2422:34:51;;-1:-1:-1;2422:34:51;-1:-1:-1;2486:222:51;2543:12;2573:38;2422:34;2573:27;:38::i;:::-;2629;2657:9;2629:27;:38::i;:::-;2685:9;2486:39;:222::i;:::-;2467:241;;;;;;;2148:567;;;;;;:::o;3394:1221::-;3517:15;3534;3607:14;3635;3663:10;3687:15;3716;3745:17;3776:40;3830;3884:19;3917;3949:15;-1:-1:-1;;;;;3949:25:51;;3975:7;3949:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3565:418:51;;;-1:-1:-1;;;;;3565:418:51;;;;;;;;;;;;;;;;;;;;;4013:595;4036:15;4069:525;;;;;;;;4109:6;-1:-1:-1;;;;;4069:525:51;;;;;4145:6;-1:-1:-1;;;;;4069:525:51;;;;;4178:3;4069:525;;;;;;4214:9;4069:525;;;;;;4256:9;4069:525;;;;;;4298:9;-1:-1:-1;;;;;4069:525:51;;;;;4363:32;4069:525;;;;4451:32;4069:525;;;;4518:11;4069:525;;;;4564:11;4069:525;;;4013:5;:595::i;:::-;3994:614;;;;;;;;;;;;;;3394:1221;;;;;:::o;6544:434:2:-;6704:47;;-1:-1:-1;;;6704:47:2;;6684:17;;-1:-1:-1;;;;;6704:23:2;;;;;:47;;6736:4;;6743:7;;6704:47;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6684:67;;6777:13;6765:9;:25;6761:211;;;6810:13;;6806:89;;6843:37;-1:-1:-1;;;;;6843:25:2;;6869:7;6878:1;6843:25;:37::i;:::-;6908:53;-1:-1:-1;;;;;6908:25:2;;6934:7;-1:-1:-1;;6908:25:2;:53::i;696:175:13:-;805:58;;;-1:-1:-1;;;;;805:58:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;805:58:13;-1:-1:-1;;;805:58:13;;;778:86;;798:5;;778:19;:86::i;7661:526:2:-;7729:18;7760:12;7774:23;7801:28;:26;:28::i;:::-;-1:-1:-1;;;;;7801:39:2;7877:46;;;7925:6;7854:78;;;;;;;;:::i;:::-;;;;-1:-1:-1;;7854:78:2;;;;;;;;;;;;;;-1:-1:-1;;;;;7854:78:2;-1:-1:-1;;;;;;7854:78:2;;;;;;;;;;7801:141;;;;7854:78;7801:141;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7759:183;;;;7960:7;7976:10;7952:36;;;;;-1:-1:-1;;;7952:36:2;;;;;;;;:::i;:::-;;8052:10;8028:124;;;;;;;;;;;;:::i;:::-;7999:153;7661:526;-1:-1:-1;;;;;;;;;;;7661:526:2:o;1355:2580:42:-;1418:20;1450:15;1475:1;1468:4;:8;;;:57;;1519:4;1512:12;;1468:57;;;1495:4;1488:12;;1487:13;;1468:57;1450:75;-1:-1:-1;637:9:42;1543:28;;;1535:42;;;;;-1:-1:-1;;;1535:42:42;;;;;;;;;;;;-1:-1:-1;;;1535:42:42;;;;;;;;;;;;;;;1588:13;1614:3;1604:13;;:93;;-1:-1:-1;;;1604:93:42;;;1625:34;1604:93;1588:109;;;-1:-1:-1;1721:3:42;1711:13;;:18;1707:83;;1748:34;1740:42;1787:3;1739:51;1707:83;1814:3;1804:13;;:18;1800:83;;1841:34;1833:42;1880:3;1832:51;1800:83;1907:3;1897:13;;:18;1893:83;;1934:34;1926:42;1973:3;1925:51;1893:83;2000:4;1990:14;;:19;1986:84;;2028:34;2020:42;2067:3;2019:51;1986:84;2094:4;2084:14;;:19;2080:84;;2122:34;2114:42;2161:3;2113:51;2080:84;2188:4;2178:14;;:19;2174:84;;2216:34;2208:42;2255:3;2207:51;2174:84;2282:4;2272:14;;:19;2268:84;;2310:34;2302:42;2349:3;2301:51;2268:84;2376:5;2366:15;;:20;2362:85;;2405:34;2397:42;2444:3;2396:51;2362:85;2471:5;2461:15;;:20;2457:85;;2500:34;2492:42;2539:3;2491:51;2457:85;2566:5;2556:15;;:20;2552:85;;2595:34;2587:42;2634:3;2586:51;2552:85;2661:5;2651:15;;:20;2647:85;;2690:34;2682:42;2729:3;2681:51;2647:85;2756:6;2746:16;;:21;2742:86;;2786:34;2778:42;2825:3;2777:51;2742:86;2852:6;2842:16;;:21;2838:86;;2882:34;2874:42;2921:3;2873:51;2838:86;2948:6;2938:16;;:21;2934:86;;2978:34;2970:42;3017:3;2969:51;2934:86;3044:6;3034:16;;:21;3030:86;;3074:34;3066:42;3113:3;3065:51;3030:86;3140:7;3130:17;;:22;3126:86;;3171:33;3163:41;3209:3;3162:50;3126:86;3236:7;3226:17;;:22;3222:85;;3267:32;3259:40;3304:3;3258:49;3222:85;3331:7;3321:17;;:22;3317:83;;3362:30;3354:38;3397:3;3353:47;3317:83;3424:7;3414:17;;:22;3410:78;;3455:25;3447:33;3485:3;3446:42;3410:78;3510:1;3503:4;:8;;;3499:47;;;3541:5;-1:-1:-1;;3521:25:42;;;;;;3513:33;;3499:47;3905:7;3896:5;:17;:22;:30;;3925:1;3896:30;;;3921:1;3896:30;3879:48;;3889:2;3880:5;:11;;3879:48;3856:72;;1355:2580;;;;;:::o;6013:799:48:-;6193:15;6210;6257:13;-1:-1:-1;;;;;6241:29:48;:13;-1:-1:-1;;;;;6241:29:48;;6237:98;;;6306:13;;6321;6237:98;6366:13;-1:-1:-1;;;;;6350:29:48;:12;-1:-1:-1;;;;;6350:29:48;;6346:460;;6405:63;6428:13;6443;6458:9;6405:22;:63::i;:::-;6395:73;;6346:460;;;6504:13;-1:-1:-1;;;;;6489:28:48;:12;-1:-1:-1;;;;;6489:28:48;;6485:321;;;6543:62;6566:12;6580:13;6595:9;6543:22;:62::i;:::-;6533:72;;6629:62;6652:13;6667:12;6681:9;6629:22;:62::i;:::-;6619:72;;6485:321;;;6732:63;6755:13;6770;6785:9;6732:22;:63::i;:::-;6722:73;;6485:321;6013:799;;;;;;;:::o;4621:1201:51:-;4755:15;4772;4804:36;4842;4894:397;4967:218;5019:15;-1:-1:-1;;;;;5019:23:51;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5019:25:51;5070:93;;;;;;;;5099:16;;-1:-1:-1;;;;;5070:93:51;;;;;5019:25;5125:16;;;;5070:93;;;;;;;5148:13;;;;5070:93;;;;;;;;;4967:26;:218::i;:::-;5221:9;:19;;;5258:9;:19;;;4894;:397::i;:::-;4803:488;;;;5532:9;:21;;;5324:193;5388:9;:42;;;5357:28;:73;5448:9;:19;;;-1:-1:-1;;;;;5324:193:51;-1:-1:-1;;;5324:15:51;:193::i;:::-;:229;5302:251;;5794:9;:21;;;5586:193;5650:9;:42;;;5619:28;:73;5710:9;:19;;;-1:-1:-1;;;;;5586:193:51;-1:-1:-1;;;5586:15:51;:193::i;:::-;:229;5564:251;;4621:1201;;;;;;;:::o;1340:613:13:-;1705:10;;;1704:62;;-1:-1:-1;1721:39:13;;;-1:-1:-1;;;1721:39:13;;1745:4;1721:39;;;;-1:-1:-1;;;;;1721:39:13;;;;;;;;;:15;;;;;;:39;;;;;;;;;;;;;;;:15;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1721:39:13;:44;1704:62;1696:150;;;;-1:-1:-1;;;1696:150:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1883:62;;;-1:-1:-1;;;;;1883:62:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1883:62:13;-1:-1:-1;;;1883:62:13;;;1856:90;;1876:5;;2959:751;3378:23;3404:69;3432:4;3404:69;;;;;;;;;;;;;;;;;3412:5;-1:-1:-1;;;;;3404:27:13;;;:69;;;;;:::i;:::-;3487:17;;3378:95;;-1:-1:-1;3487:21:13;3483:221;;3627:10;3616:30;;;;;;;;;;;;;;;-1:-1:-1;3616:30:13;3608:85;;;;-1:-1:-1;;;3608:85:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4241:498:48;4391:15;4438:13;-1:-1:-1;;;;;4422:29:48;:13;-1:-1:-1;;;;;4422:29:48;;4418:98;;;4487:13;;4502;4418:98;4719:13;-1:-1:-1;;;;;4546:186:48;:170;309:2:36;4579:45:48;;4587:9;-1:-1:-1;;;;;4579:18:48;:45;;4658:13;4642;:29;-1:-1:-1;;;;;4546:170:48;4689:13;-1:-1:-1;;;;;4546:170:48;:15;:170::i;:::-;:186;;;;;;4527:205;;4241:498;;;;;;:::o;5097:375::-;5247:15;5294:13;-1:-1:-1;;;;;5278:29:48;:13;-1:-1:-1;;;;;5278:29:48;;5274:98;;;5343:13;;5358;5274:98;5390:75;5406:9;-1:-1:-1;;;;;5390:75:48;5433:13;5417;:29;-1:-1:-1;;;;;5390:75:48;-1:-1:-1;;;5390:15:48;:75::i;:::-;5383:82;5097:375;-1:-1:-1;;;;5097:375:48:o;1305:512:49:-;1389:12;1434:3;:10;;;-1:-1:-1;;;;;1421:23:49;:3;:10;;;-1:-1:-1;;;;;1421:23:49;;1413:32;;;;;;-1:-1:-1;1668:10:49;;1680;;;;;1692:7;;;;;1657:43;;-1:-1:-1;;;;;1657:43:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1647:54;;;;;;-1:-1:-1;;;;;;1539:229:49;;;;;;;-1:-1:-1;;1539:229:49;;;;;;;;;;;;241:66;1539:229;;;;;;;;;;;;;;;;;;;;;;;;;1508:278;;;;;;1305:512::o;5828:1350:51:-;5964:28;5994;6037:17;6068:4;-1:-1:-1;;;;;6068:10:51;;:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6068:12:51;;;;6177:21;;-1:-1:-1;;;6177:21:51;;;;;;;;;;;;6068:12;;-1:-1:-1;6095:34:51;;;;-1:-1:-1;;;;;6177:10:51;;;;;:21;;;;;;;;;;;;;;;:10;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6177:21:51;;;;;;;;;;6295;;-1:-1:-1;;;6295:21:51;;;;;;;;;;;;6177;;-1:-1:-1;6177:21:51;-1:-1:-1;6213:34:51;;;;-1:-1:-1;;;;;6295:10:51;;;;;:21;;;;;6177;;6295;;;;;;;;:10;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6295:21:51;;;;;;;;;;;-1:-1:-1;6295:21:51;-1:-1:-1;6331:23:51;;;;;;;;;6327:845;;;6422:26;6393;:55;6370:78;;6514:26;6485;:55;6462:78;;6327:845;;;6575:9;6561:23;;:11;:23;;;6557:615;;;6600:28;6631:4;-1:-1:-1;;;;;6631:25:51;;:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6631:27:51;6703;;;-1:-1:-1;;;6703:27:51;;;;6631;;-1:-1:-1;6672:28:51;;-1:-1:-1;;;;;6703:25:51;;;;;:27;;;;;6631;;6703;;;;;;;:25;:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6703:27:51;6767:49;;;;:78;;;;-1:-1:-1;;6882:49:51;;;:78;;;;-1:-1:-1;6557:615:51;;;7043:26;7014;:55;6991:78;;7135:26;7106;:55;7083:78;;6557:615;5828:1350;;;;;;;;;;;:::o;742:3776:37:-;854:14;;;-1:-1:-1;;1361:1:37;1358;1351:20;1393:9;;;;-1:-1:-1;1444:13:37;;;1428:14;;;;1424:34;;-1:-1:-1;1540:10:37;1536:179;;1588:1;1574:11;:15;1566:24;;;;;;-1:-1:-1;1641:23:37;;;;-1:-1:-1;1691:13:37;;1536:179;1842:5;1828:11;:19;1820:28;;;;;;2125:17;2201:11;2198:1;2195;2188:25;2553:12;2568;;;:26;;2688:22;;;;;3491:1;3472;:15;;3471:21;;3718:17;;;3714:21;;3707:28;3776:17;;;3772:21;;3765:28;3835:17;;;3831:21;;3824:28;3894:17;;;3890:21;;3883:28;3953:17;;;3949:21;;3942:28;4013:17;;;4009:21;;;4002:28;3060:12;;;;3056:23;;;3081:1;3052:31;2330:20;;;2319:32;;;3111:12;;;;2373:21;;;;2816:16;;;;3102:21;;;;4477:11;;;;;-1:-1:-1;;742:3776:37;;;;;:::o;3573:193:19:-;3676:12;3707:52;3729:6;3737:4;3743:1;3746:12;3676;4850:18;4861:6;4850:10;:18::i;:::-;4842:60;;;;;-1:-1:-1;;;4842:60:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;4973:12;4987:23;5014:6;-1:-1:-1;;;;;5014:11:19;5034:5;5042:4;5014:33;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5014:33:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4972:75;;;;5064:52;5082:7;5091:10;5103:12;5064:17;:52::i;:::-;5057:59;4600:523;-1:-1:-1;;;;;;;4600:523:19:o;718:413::-;1078:20;1116:8;;;718:413::o;7083:725::-;7198:12;7226:7;7222:580;;;-1:-1:-1;7256:10:19;7249:17;;7222:580;7367:17;;:21;7363:429;;7625:10;7619:17;7685:15;7672:10;7668:2;7664:19;7657:44;7574:145;7764:12;7757:20;;-1:-1:-1;;;7757:20:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7:342:52;;109:64;124:48;165:6;124:48;:::i;:::-;109:64;:::i;:::-;100:73;;196:6;189:5;182:21;234:4;227:5;223:16;272:3;263:6;258:3;254:16;251:25;248:2;;;289:1;286;279:12;248:2;302:41;336:6;331:3;326;302:41;:::i;:::-;90:259;;;;;;:::o;355:351::-;;468:64;483:48;524:6;483:48;:::i;468:64::-;459:73;;555:6;548:5;541:21;593:4;586:5;582:16;631:3;622:6;617:3;613:16;610:25;607:2;;;648:1;645;638:12;607:2;661:39;693:6;688:3;683;661:39;:::i;712:159::-;802:13;;824:41;802:13;824:41;:::i;890:271::-;;994:3;987:4;979:6;975:17;971:27;961:2;;1012:1;1009;1002:12;961:2;1052:6;1039:20;1077:78;1151:3;1143:6;1136:4;1128:6;1124:17;1077:78;:::i;1180:286::-;;1295:3;1288:4;1280:6;1276:17;1272:27;1262:2;;1313:1;1310;1303:12;1262:2;1346:6;1340:13;1371:89;1456:3;1448:6;1441:4;1433:6;1429:17;1371:89;:::i;1472:139::-;1552:13;;1574:31;1552:13;1574:31;:::i;1617:143::-;1699:13;;1721:33;1699:13;1721:33;:::i;1766:141::-;1847:13;;1869:32;1847:13;1869:32;:::i;1913:139::-;1984:20;;2013:33;1984:20;2013:33;:::i;2058:143::-;2140:13;;2162:33;2140:13;2162:33;:::i;2207:141::-;2288:13;;2310:32;2288:13;2310:32;:::i;2354:373::-;;2471:2;2459:9;2450:7;2446:23;2442:32;2439:2;;;2487:1;2484;2477:12;2439:2;2530:31;;2588:18;2577:30;;2574:2;;;2620:1;2617;2610:12;2574:2;2648:62;2702:7;2693:6;2682:9;2678:22;2648:62;:::i;2733:596::-;;;;2886:2;2874:9;2865:7;2861:23;2857:32;2854:2;;;2902:1;2899;2892:12;2854:2;2945:1;2970:64;3026:7;3006:9;2970:64;:::i;:::-;2960:74;;2916:128;3083:2;3109:64;3165:7;3156:6;3145:9;3141:22;3109:64;:::i;:::-;3099:74;;3054:129;3222:2;3248:64;3304:7;3295:6;3284:9;3280:22;3248:64;:::i;:::-;3238:74;;3193:129;2844:485;;;;;:::o;3335:262::-;;3443:2;3431:9;3422:7;3418:23;3414:32;3411:2;;;3459:1;3456;3449:12;3411:2;3502:1;3527:53;3572:7;3552:9;3527:53;:::i;3603:284::-;;3722:2;3710:9;3701:7;3697:23;3693:32;3690:2;;;3738:1;3735;3728:12;3690:2;3781:1;3806:64;3862:7;3842:9;3806:64;:::i;3893:544::-;;;4038:2;4026:9;4017:7;4013:23;4009:32;4006:2;;;4054:1;4051;4044:12;4006:2;4097:1;4122:64;4178:7;4158:9;4122:64;:::i;:::-;4112:74;;4068:128;4256:2;4245:9;4241:18;4235:25;4287:18;4279:6;4276:30;4273:2;;;4319:1;4316;4309:12;4273:2;4347:73;4412:7;4403:6;4392:9;4388:22;4347:73;:::i;:::-;4337:83;;4206:224;3996:441;;;;;:::o;4443:753::-;;;;;4613:3;4601:9;4592:7;4588:23;4584:33;4581:2;;;4630:1;4627;4620:12;4581:2;4673:1;4698:64;4754:7;4734:9;4698:64;:::i;:::-;4688:74;;4644:128;4811:2;4837:64;4893:7;4884:6;4873:9;4869:22;4837:64;:::i;:::-;4827:74;;4782:129;4950:2;4976:64;5032:7;5023:6;5012:9;5008:22;4976:64;:::i;:::-;4966:74;;4921:129;5089:2;5115:64;5171:7;5162:6;5151:9;5147:22;5115:64;:::i;:::-;5105:74;;5060:129;4571:625;;;;;;;:::o;5202:440::-;;;5338:2;5326:9;5317:7;5313:23;5309:32;5306:2;;;5354:1;5351;5344:12;5306:2;5397:1;5422:64;5478:7;5458:9;5422:64;:::i;:::-;5412:74;;5368:128;5535:2;5561:64;5617:7;5608:6;5597:9;5593:22;5561:64;:::i;5648:1417::-;;;;;;;;;5904:3;5892:9;5883:7;5879:23;5875:33;5872:2;;;5921:1;5918;5911:12;5872:2;5964:1;5989:63;6044:7;6024:9;5989:63;:::i;:::-;5979:73;;5935:127;6101:2;6127:72;6191:7;6182:6;6171:9;6167:22;6127:72;:::i;:::-;6117:82;;6072:137;6248:2;6274:72;6338:7;6329:6;6318:9;6314:22;6274:72;:::i;:::-;6264:82;;6219:137;6395:2;6421:72;6485:7;6476:6;6465:9;6461:22;6421:72;:::i;:::-;6411:82;;6366:137;6542:3;6569:63;6624:7;6615:6;6604:9;6600:22;6569:63;:::i;:::-;6559:73;;6513:129;6681:3;6708:62;6762:7;6753:6;6742:9;6738:22;6708:62;:::i;:::-;6698:72;;6652:128;6819:3;6846:62;6900:7;6891:6;6880:9;6876:22;6846:62;:::i;:::-;6836:72;;6790:128;6957:3;6984:64;7040:7;7031:6;7020:9;7016:22;6984:64;:::i;:::-;6974:74;;6928:130;5862:1203;;;;;;;;;;;:::o;7071:179::-;;7161:46;7203:3;7195:6;7161:46;:::i;:::-;-1:-1:-1;;7239:4:52;7230:14;;7151:99::o;7256:179::-;;7346:46;7388:3;7380:6;7346:46;:::i;7441:108::-;7518:24;7536:5;7518:24;:::i;:::-;7513:3;7506:37;7496:53;;:::o;7709:732::-;;7857:54;7905:5;7857:54;:::i;:::-;7927:86;8006:6;8001:3;7927:86;:::i;:::-;7920:93;;8037:56;8087:5;8037:56;:::i;:::-;8116:7;8147:1;8132:284;8157:6;8154:1;8151:13;8132:284;;;8233:6;8227:13;8260:63;8319:3;8304:13;8260:63;:::i;:::-;8253:70;;8346:60;8399:6;8346:60;:::i;:::-;8336:70;-1:-1:-1;;8179:1:52;8172:9;8132:284;;;-1:-1:-1;8432:3:52;;7833:608;-1:-1:-1;;;;;7833:608:52:o;8477:732::-;;8625:54;8673:5;8625:54;:::i;:::-;8695:86;8774:6;8769:3;8695:86;:::i;:::-;8688:93;;8805:56;8855:5;8805:56;:::i;:::-;8884:7;8915:1;8900:284;8925:6;8922:1;8919:13;8900:284;;;9001:6;8995:13;9028:63;9087:3;9072:13;9028:63;:::i;:::-;9021:70;;9114:60;9167:6;9114:60;:::i;:::-;9104:70;-1:-1:-1;;8947:1:52;8940:9;8900:284;;9215:373;;9347:38;9379:5;9347:38;:::i;:::-;9401:88;9482:6;9477:3;9401:88;:::i;:::-;9394:95;;9498:52;9543:6;9538:3;9531:4;9524:5;9520:16;9498:52;:::i;:::-;9566:16;;;;;9323:265;-1:-1:-1;;9323:265:52:o;9594:102::-;9667:22;9683:5;9667:22;:::i;9702:364::-;;9818:39;9851:5;9818:39;:::i;:::-;9873:71;9937:6;9932:3;9873:71;:::i;:::-;9866:78;;9953:52;9998:6;9993:3;9986:4;9979:5;9975:16;9953:52;:::i;:::-;10030:29;10052:6;10030:29;:::i;:::-;10021:39;;;;9794:272;-1:-1:-1;;;9794:272:52:o;10072:370::-;;10235:67;10299:2;10294:3;10235:67;:::i;:::-;10332:34;10312:55;;-1:-1:-1;;;10393:2:52;10384:12;;10377:30;10433:2;10424:12;;10218:224;-1:-1:-1;;10218:224:52:o;10556:887::-;10788:23;;10715:4;10706:14;;;10824:63;10710:3;10788:23;10824:63;:::i;:::-;10730:167;10984:4;10977:5;10973:16;10967:23;11003:63;11060:4;11055:3;11051:14;11037:12;11003:63;:::i;:::-;10907:169;11164:4;11157:5;11153:16;11147:23;11183:63;11240:4;11235:3;11231:14;11217:12;11183:63;:::i;:::-;11086:170;11344:4;11337:5;11333:16;11327:23;11363:63;11420:4;11415:3;11411:14;11397:12;11363:63;:::i;11577:1085::-;11829:23;;11756:4;11747:14;;;11865:63;11751:3;11829:23;11865:63;:::i;:::-;11771:167;12025:4;12018:5;12014:16;12008:23;12044:63;12101:4;12096:3;12092:14;12078:12;12044:63;:::i;:::-;11948:169;12205:4;12198:5;12194:16;12188:23;12224:63;12281:4;12276:3;12272:14;12258:12;12224:63;:::i;:::-;12127:170;12385:4;12378:5;12374:16;12368:23;12404:63;12461:4;12456:3;12452:14;12438:12;12404:63;:::i;:::-;12307:170;12563:4;12556:5;12552:16;12546:23;12582:63;12639:4;12634:3;12630:14;12616:12;12582:63;:::i;12796:1274::-;13048:23;;12975:4;12966:14;;;13084:63;12970:3;13048:23;13084:63;:::i;:::-;12990:167;13249:4;13242:5;13238:16;13232:23;13268:63;13325:4;13320:3;13316:14;13302:12;13268:63;:::i;:::-;13167:174;13433:4;13426:5;13422:16;13416:23;13452:63;13509:4;13504:3;13500:14;13486:12;13452:63;:::i;:::-;13351:174;13613:4;13606:5;13602:16;13596:23;13632:63;13689:4;13684:3;13680:14;13666:12;13632:63;:::i;:::-;13535:170;13793:4;13786:5;13782:16;13776:23;13812:63;13869:4;13864:3;13860:14;13846:12;13812:63;:::i;:::-;13715:170;13971:4;13964:5;13960:16;13954:23;13990:63;14047:4;14042:3;14038:14;14024:12;13990:63;:::i;14178:2137::-;14405:23;;14331:6;14322:16;;;14441:63;14326:3;14405:23;14441:63;:::i;:::-;14348:166;14598:4;14591:5;14587:16;14581:23;14617:63;14674:4;14669:3;14665:14;14651:12;14617:63;:::i;:::-;14524:166;14771:4;14764:5;14760:16;14754:23;14790:61;14845:4;14840:3;14836:14;14822:12;14790:61;:::i;:::-;14700:161;14948:4;14941:5;14937:16;14931:23;14967:59;15020:4;15015:3;15011:14;14997:12;14967:59;:::i;:::-;14871:165;15123:4;15116:5;15112:16;15106:23;15142:59;15195:4;15190:3;15186:14;15172:12;15142:59;:::i;:::-;15046:165;15303:4;15296:5;15292:16;15286:23;15322:63;15379:4;15374:3;15370:14;15356:12;15322:63;:::i;:::-;15221:174;15487:4;15480:5;15476:16;15470:23;15506:63;15563:4;15558:3;15554:14;15540:12;15506:63;:::i;:::-;15405:174;15667:4;15660:5;15656:16;15650:23;15686:63;15743:4;15738:3;15734:14;15720:12;15686:63;:::i;:::-;15589:170;15847:6;15840:5;15836:18;15830:25;15868:65;15925:6;15920:3;15916:16;15902:12;15868:65;:::i;:::-;15769:174;16030:6;16023:5;16019:18;16013:25;16051:65;16108:6;16103:3;16099:16;16085:12;16051:65;:::i;:::-;15953:173;16212:6;16205:5;16201:18;16195:25;16233:65;16290:6;16285:3;16281:16;16267:12;16233:65;:::i;16321:108::-;16398:24;16416:5;16398:24;:::i;16435:105::-;16510:23;16527:5;16510:23;:::i;16546:108::-;16623:24;16641:5;16623:24;:::i;16784:271::-;;16936:93;17025:3;17016:6;16936:93;:::i;17061:222::-;17192:2;17177:18;;17205:71;17181:9;17249:6;17205:71;:::i;17289:332::-;17448:2;17433:18;;17461:71;17437:9;17505:6;17461:71;:::i;:::-;17542:72;17610:2;17599:9;17595:18;17586:6;17542:72;:::i;17627:442::-;17814:2;17799:18;;17827:71;17803:9;17871:6;17827:71;:::i;:::-;17908:72;17976:2;17965:9;17961:18;17952:6;17908:72;:::i;:::-;17990;18058:2;18047:9;18043:18;18034:6;17990:72;:::i;18075:634::-;18334:2;18347:47;;;18319:18;;18411:108;18319:18;18505:6;18411:108;:::i;:::-;18403:116;;18566:9;18560:4;18556:20;18551:2;18540:9;18536:18;18529:48;18594:108;18697:4;18688:6;18594:108;:::i;18715:373::-;18896:2;18909:47;;;18881:18;;18973:108;18881:18;19067:6;18973:108;:::i;19094:313::-;19245:2;19258:47;;;19230:18;;19322:78;19230:18;19386:6;19322:78;:::i;19413:419::-;19617:2;19630:47;;;19602:18;;19694:131;19602:18;19694:131;:::i;19838:347::-;20031:3;20016:19;;20045:133;20020:9;20151:6;20045:133;:::i;20191:387::-;20404:3;20389:19;;20418:153;20393:9;20544:6;20418:153;:::i;20584:387::-;20797:3;20782:19;;20811:153;20786:9;20937:6;20811:153;:::i;20977:335::-;21164:3;21149:19;;21178:127;21153:9;21278:6;21178:127;:::i;21318:222::-;21449:2;21434:18;;21462:71;21438:9;21506:6;21462:71;:::i;21546:278::-;21612:2;21606:9;21642:17;;;21725:18;21710:34;;21746:22;;;21707:62;21704:2;;;21772:13;;:::i;:::-;21803:2;21796:22;21586:238;;-1:-1:-1;21586:238:52:o;21830:326::-;;21981:18;21973:6;21970:30;21967:2;;;22003:13;;:::i;:::-;-1:-1:-1;22144:4:52;22083;22060:17;;;;-1:-1:-1;;22056:33:52;22134:15;;21896:260::o;22162:132::-;22282:4;22273:14;;22234:60::o;22438:114::-;22533:12;;22512:40::o;23125:184::-;23246:19;;;23298:4;23289:14;;23236:73::o;23833:96::-;;23899:24;23917:5;23899:24;:::i;24045:90::-;24120:1;24109:20;;24088:47::o;24141:118::-;-1:-1:-1;;;;;24207:46:52;;24186:73::o;24265:126::-;-1:-1:-1;;;;;24331:54:52;;24310:81::o;24397:91::-;24473:8;24462:20;;24441:47::o;24494:77::-;24560:5;24539:32::o;24577:109::-;24653:26;24642:38;;24621:65::o;24692:154::-;24776:6;24771:3;24766;24753:30;-1:-1:-1;24838:1:52;24820:16;;24813:27;24743:103::o;24852:307::-;24920:1;24930:113;24944:6;24941:1;24938:13;24930:113;;;25020:11;;;25014:18;25001:11;;;24994:39;24966:2;24959:10;24930:113;;;25061:6;25058:1;25055:13;25052:2;;;-1:-1:-1;;25141:1:52;25123:16;;25116:27;24901:258::o;25165:48::-;25198:9;25219:102;25311:2;25291:14;-1:-1:-1;;25287:28:52;;25267:54::o;25327:138::-;25408:32;25434:5;25408:32;:::i;:::-;25401:5;25398:43;25388:2;;25455:1;25452;25445:12;25471:118;25542:22;25558:5;25542:22;:::i;25595:122::-;25668:24;25686:5;25668:24;:::i;25723:120::-;25795:23;25812:5;25795:23;:::i;25849:122::-;25922:24;25940:5;25922:24;:::i;25977:120::-;26049:23;26066:5;26049:23;:::i", "linkReferences": {}, "immutableReferences": { "210": [ { "start": 398, "length": 32 } ], "212": [ { "start": 1106, "length": 32 }, { "start": 1480, "length": 32 } ] } }, "methodIdentifiers": { "getDebtAssets()": "ecd658b4", "getManagedAssets()": "80daddb8", "getNftIds()": "804ff143", "getNonFungibleTokenManager()": "6904481a", "getPairForNft(uint256)": "eff2452a", "getToken0ForNft(uint256)": "e0d803ad", "getToken1ForNft(uint256)": "5f358573", "getValueInterpreter()": "875fb4b3", "init(bytes)": "4ddf47d4", "receiveCallFromVault(bytes)": "e5c23a97" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.7.6+commit.7338295f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nonFungibleTokenManager\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_valueInterpreter\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"NFTPositionAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"NFTPositionRemoved\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"getDebtAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"assets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getManagedAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"assets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getNftIds\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"nftIds_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getNonFungibleTokenManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"nonFungibleTokenManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_nftId\",\"type\":\"uint256\"}],\"name\":\"getPairForNft\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"token0_\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token1_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_nftId\",\"type\":\"uint256\"}],\"name\":\"getToken0ForNft\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"token0_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_nftId\",\"type\":\"uint256\"}],\"name\":\"getToken1ForNft\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"token1_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getValueInterpreter\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"valueInterpreter_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"}],\"name\":\"receiveCallFromVault\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"getDebtAssets()\":{\"returns\":{\"amounts_\":\"Debt asset amounts\",\"assets_\":\"Debt assets\"}},\"getManagedAssets()\":{\"returns\":{\"amounts_\":\"Managed asset amounts\",\"assets_\":\"Managed assets\"}},\"getNftIds()\":{\"returns\":{\"nftIds_\":\"The `nftIds` variable value\"}},\"getNonFungibleTokenManager()\":{\"returns\":{\"nonFungibleTokenManager_\":\"The `NON_FUNGIBLE_TOKEN_MANAGER` variable value\"}},\"getPairForNft(uint256)\":{\"params\":{\"_nftId\":\"The id of the nft\"},\"returns\":{\"token0_\":\"The `token0` value\",\"token1_\":\"The `token1` value\"}},\"getToken0ForNft(uint256)\":{\"params\":{\"_nftId\":\"The id of the nft\"},\"returns\":{\"token0_\":\"The `token0` value\"}},\"getToken1ForNft(uint256)\":{\"params\":{\"_nftId\":\"The id of the nft\"},\"returns\":{\"token1_\":\"The `token1` value\"}},\"getValueInterpreter()\":{\"returns\":{\"valueInterpreter_\":\"The `NON_FUNGIBLE_TOKEN_MANAGER` variable value\"}},\"init(bytes)\":{\"details\":\"Nothing to initialize for this contract\"},\"receiveCallFromVault(bytes)\":{\"params\":{\"_actionData\":\"Encoded data to execute the action\"}}},\"title\":\"UniswapV3LiquidityPositionLib Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getDebtAssets()\":{\"notice\":\"Retrieves the debt assets (negative value) of the external position\"},\"getManagedAssets()\":{\"notice\":\"Retrieves the managed assets (positive value) of the external position\"},\"getNftIds()\":{\"notice\":\"Gets the `nftIds` variable\"},\"getNonFungibleTokenManager()\":{\"notice\":\"Gets the `NON_FUNGIBLE_TOKEN_MANAGER` variable\"},\"getPairForNft(uint256)\":{\"notice\":\"Gets the cached ordered asset pair of the Uniswap pool for a given nft\"},\"getToken0ForNft(uint256)\":{\"notice\":\"Gets the cached `token0` value for the Uniswap pool for a given nft\"},\"getToken1ForNft(uint256)\":{\"notice\":\"Gets the cached `token1` value for the Uniswap pool for a given nft\"},\"getValueInterpreter()\":{\"notice\":\"Gets the `VALUE_INTERPRETER` variable\"},\"init(bytes)\":{\"notice\":\"Initializes the external position\"},\"receiveCallFromVault(bytes)\":{\"notice\":\"Receives and executes a call from the Vault\"}},\"notice\":\"An External Position library contract for uniswap liquidity positions\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/uniswap-v3-liquidity/UniswapV3LiquidityPositionLib.sol\":\"UniswapV3LiquidityPositionLib\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/external-positions/uniswap-v3-liquidity/UniswapV3LiquidityPositionLibBase1.sol\":{\"keccak256\":\"0x9d16f0c4b687b70bbfc5b1f6f400035f2d827b5eabe775e6fee376dc9fd4eacf\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2db1ca704caa193ba223636b334e2d387107020c9b75e7c26981e459e42803ed\",\"dweb:/ipfs/QmZHgwJzuiBHs1WAhDNX6CqrT2TBL8Hb9fXK9jubm2fzBP\"]},\"contracts/release/extensions/external-position-manager/external-positions/uniswap-v3-liquidity/UniswapV3LiquidityPositionDataDecoder.sol\":{\"keccak256\":\"0x46958283ca11717ff8a954f509a0f8ee3e339e1e70b268a6b38ad44d31625c25\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f5ba53bebea27970c26731a3a4e6511fca3ea10cf3092a4cd05ee0159bbf456c\",\"dweb:/ipfs/QmRtApdFi2EAmPgDNnpGSqtAwkiasQ92KbLVzE5pPP5RCH\"]},\"contracts/release/extensions/external-position-manager/external-positions/uniswap-v3-liquidity/UniswapV3LiquidityPositionLib.sol\":{\"keccak256\":\"0xe88eb08fa5c81d5e78d9450a158ea55463b1c565a1c169b9ca78e24d84db2008\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://e7ecd640baf4aba4e7d22cbf0e44e8663c7b7674cd6a0419377e416becf0e1f6\",\"dweb:/ipfs/QmUgb8ZjyAS6SRrouxJUm8Jc5bMrGy7SjqFm27PgKsNmGj\"]},\"contracts/release/extensions/external-position-manager/external-positions/uniswap-v3-liquidity/interfaces/IExternalPositionUniswapV3LiquidityPosition.sol\":{\"keccak256\":\"0x8cd962cedcd165722c29f50f58b575b24a9527da11cca71ece25c5124e5895e8\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://7e66f5fdae8bba39be27d7576f8ae41d094b4e08e91f80c875190949c3eacb0d\",\"dweb:/ipfs/QmSqNkZPomPh2yMD9uDU8BWLWWnd9r1fSoPbitbm87CWqZ\"]},\"contracts/release/extensions/external-position-manager/external-positions/uniswap-v3-liquidity/interfaces/IUniswapV3LiquidityPosition.sol\":{\"keccak256\":\"0x82fd7abb793f369af1de4bd22e0debb6898308aa821df874e2eb1171d1f2c84d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6597e5c74f70e6e3ababc1e357d16d4634380a794d30b8b7ce6c79012d5bdf62\",\"dweb:/ipfs/QmRH1hWJdC2rTvi2WscB5w2Lyj7XUgm8QQLbzeYJxgwdNM\"]},\"contracts/release/extensions/external-position-manager/external-positions/uniswap-v3-liquidity/interfaces/IValueInterpreterUniswapV3LiquidityPosition.sol\":{\"keccak256\":\"0xbf42ff85d5f25f5185ff5a48cfbe187ac29629917ebb3571a1830ab5ec94137b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://e82522498a30164ec606b5fce18ae0f480bc2433c531fe469af21b58086fd760\",\"dweb:/ipfs/QmWitHqQr6bGNRAMiMdciuRZTxYFav2LbcRrXmE4B4vnmz\"]},\"node_modules/@openzeppelin-solc-0.7/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xe22a1fc7400ae196eba2ad1562d0386462b00a6363b742d55a2fd2021a58586f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4a635cec58fb4141a16cfd408f1a21ac944c335a3beaba541c35d2e95c04536f\",\"dweb:/ipfs/QmXWcz73UenN1ji8jiWMbzxHjjfLbNQwLVKTEB5zNFE34K\"]},\"node_modules/@openzeppelin-solc-0.7/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0x36b5ca4eabe888b39b10973621ca0dcc9b1508f8d06db9ddf045d7aa7c867d4a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ccbd79e8d556aa7011babb0e5d1e55a966add74853e7ba0274ff184bd96ef002\",\"dweb:/ipfs/QmV28ozNRUFDiDUMvCwcFmLTQPG6nfvgeKr4cmbHWoegtH\"]},\"node_modules/@openzeppelin-solc-0.7/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xbd74f587ab9b9711801baf667db1426e4a03fd2d7f15af33e0e0d0394e7cef76\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2d0913dfbfce90d170df0d496ad7596c0778518e5fa7aba6c32562522546f66b\",\"dweb:/ipfs/QmR6B8nLj2PJf5e1JWD9Nk7ErkAwkqUwadCnvE82FJr1RU\"]},\"node_modules/@openzeppelin-solc-0.7/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xc77dd6233a82c7c6e3dc49da8f3456baa00ecd3ea4dfa9222002a9aebf155dcd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8e5f78a5b3e707177aa47371e008a54b83dbd28a52055d1746534502b010c21b\",\"dweb:/ipfs/Qmeqfky5DvkMZZY3RtP6kYhFD5bZrPAMVPbqkwWhoUjZ3u\"]},\"node_modules/@openzeppelin-solc-0.7/contracts/utils/Address.sol\":{\"keccak256\":\"0xf89f005a3d98f7768cdee2583707db0ac725cf567d455751af32ee68132f3db3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f963d438177764b5f43f637c02311c951c0f0025d12fe1ac7e62e295bf416c41\",\"dweb:/ipfs/QmcfVb9JsWrYeTwFUJsKVHpKB7EaWBKydAH9S4sKg2pzcK\"]},\"node_modules/@openzeppelin-solc-0.7/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]},\"node_modules/@openzeppelin/contracts/introspection/IERC165.sol\":{\"keccak256\":\"0xf70bc25d981e4ec9673a995ad2995d5d493ea188d3d8f388bba9c227ce09fb82\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd970f51e3a77790c2f02b5b1759827c3b897c3d98c407b3631e8af32e3dc93c\",\"dweb:/ipfs/QmPF85Amgbqjk3SNZKsPCsqCw8JfwYEPMnnhvMJUyX58je\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x2d99a0deb6648c34fbc66d6ac4a2d64798d7a5321b45624f6736fadc63da1962\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2dcdce5ede1e5e650d174ec0b35be7d47b6a50f30bc895ef0d9e59fb75052e45\",\"dweb:/ipfs/QmQ2XFsDLTYqfEdw7pYzHiGtFRY11yQm4b6ynYgKqDxeB8\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721Enumerable.sol\":{\"keccak256\":\"0xe6bd1b1218338b6f9fe17776f48623b4ac3d8a40405f74a44bc23c00abe2ca13\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c354c3f6e9c487759aa7869be4fba68e0b2efc777b514d289c4cbd3ff8f7e1a\",\"dweb:/ipfs/QmdF9LcSYVmiUCL7JxLEYmSLrjga6zJsujfi6sgEJD4M1z\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721Metadata.sol\":{\"keccak256\":\"0xccb917776f826ac6b68bd5a15a5f711e3967848a52ba11e6104d9a4f593314a7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://430255ad2229ced6d880e61a67bdc6e48dbbaed8354a7c1fe918cd8b8714a886\",\"dweb:/ipfs/QmTHY56odzqEpEC6v6tafaWMYY7vmULw25q5XHJLCCAeox\"]},\"node_modules/@uniswap/v3-core/contracts/interfaces/IUniswapV3Pool.sol\":{\"keccak256\":\"0xfe6113d518466cd6652c85b111e01f33eb62157f49ae5ed7d5a3947a2044adb1\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://1c42b9e6f5902ac38dd43e25750939baa7e0c1425dc75afd717c4412731065d5\",\"dweb:/ipfs/QmWaoacnzsucTvBME2o7YgZBZMhaHv7fkj83htHMVWJKWh\"]},\"node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolActions.sol\":{\"keccak256\":\"0x9453dd0e7442188667d01d9b65de3f1e14e9511ff3e303179a15f6fc267f7634\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://982f4328f956c3e60e67501e759eb292ac487f76460c774c50e9ae4fcc92aae5\",\"dweb:/ipfs/QmRnzEDsaqtd9PJEVcgQi7p5aV5pMSvRUoGZJAdwFUJxgZ\"]},\"node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolDerivedState.sol\":{\"keccak256\":\"0xe603ac5b17ecdee73ba2b27efdf386c257a19c14206e87eee77e2017b742d9e5\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://8febc9bdb399a4d94bb89f5377732652e2400e4a8dee808201ade6848f9004e7\",\"dweb:/ipfs/QmaKDqYYFU4d2W2iN77aDHptfbFmYZRrMYXHeGpJmM8C1c\"]},\"node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolEvents.sol\":{\"keccak256\":\"0x8071514d0fe5d17d6fbd31c191cdfb703031c24e0ece3621d88ab10e871375cd\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://d0b571930cc7488b1d546a7e9cea7c52d8b3c4e207da657ed0e0db7343b8cd03\",\"dweb:/ipfs/QmaGK6vVwB95QSTR1XMYvrh7ivYAYZxi3fD7v6VMA4jZ39\"]},\"node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolImmutables.sol\":{\"keccak256\":\"0xf6e5d2cd1139c4c276bdbc8e1d2b256e456c866a91f1b868da265c6d2685c3f7\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://b99c8c9ae8e27ee6559e5866bea82cbc9ffc8247f8d15b7422a4deb287d4d047\",\"dweb:/ipfs/QmfL8gaqt3ffAnm6nVj5ksuNpLygXuL3xq5VBqrkwC2JJ3\"]},\"node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolOwnerActions.sol\":{\"keccak256\":\"0x759b78a2918af9e99e246dc3af084f654e48ef32bb4e4cb8a966aa3dcaece235\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://64144fb96e1c7fdba87305acadb98a198d26a3d46c097cb3a666e567f6f29735\",\"dweb:/ipfs/QmUnWVwN9FKB9uV5Pr8YfLpWZnYM2DENnRMaadZ492JS9u\"]},\"node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolState.sol\":{\"keccak256\":\"0x852dc1f5df7dcf7f11e7bb3eed79f0cea72ad4b25f6a9d2c35aafb48925fd49f\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://ed63907c38ff36b0e22bc9ffc53e791ea74f0d4f0e7c257fdfb5aaf8825b1f0f\",\"dweb:/ipfs/QmSQrckghEjs6HVsA5GVgpNpZWvTXMY5eQLF7cN6deFeEg\"]},\"node_modules/@uniswap/v3-core/contracts/libraries/FixedPoint128.sol\":{\"keccak256\":\"0x2d1f4f73ae0d8f0a210b8d30084659b57c56ac8f2f96011fca36f00a6d417178\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://2ba88933f16cd2df398e19c6ad227268f83c03081b70d243c97116d2ed9bc241\",\"dweb:/ipfs/QmTUGxdh8snzEM9VrTSS47StCg9VVWvvLJtJeNnMTFY4xb\"]},\"node_modules/@uniswap/v3-core/contracts/libraries/FixedPoint96.sol\":{\"keccak256\":\"0x0ba8a9b95a956a4050749c0158e928398c447c91469682ca8a7cc7e77a7fe032\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://186d3b528866065a5856f96d2aeec698efa99f8da913e9adf34f8cc296cc993d\",\"dweb:/ipfs/QmUAiMvtAQp8c9dy57bqJYzG7hkb1uChiPaQmt264skoqP\"]},\"node_modules/@uniswap/v3-core/contracts/libraries/FullMath.sol\":{\"keccak256\":\"0xe511530871deaef86692cea9adb6076d26d7b47fd4815ce51af52af981026057\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc5a6ae776be3e7dcbd23d49ffbc9d792fed0ddf4b111ebb64b9bb2133ec263e\",\"dweb:/ipfs/QmbAUtWqvipzEARQpFpkzYKBELy3qeW5WXnZxHFU84sxG7\"]},\"node_modules/@uniswap/v3-core/contracts/libraries/LiquidityMath.sol\":{\"keccak256\":\"0xd53041349718d5bce4a89e87cd911879d41ba42ba3fab0614e5e8b742f352b88\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://ea7529b99ab4fc1d3e6c5a31990fb688f0a2d6cc302c0419e0cf5a2d6c563781\",\"dweb:/ipfs/QmVaphRSNpfChHZKzutQ9WprwCo2WE1euvThRfHcwsnHhj\"]},\"node_modules/@uniswap/v3-core/contracts/libraries/LowGasSafeMath.sol\":{\"keccak256\":\"0x86715eb960f18e01ac94e3bba4614ed51a887fa3c5bd1c43bf80aa98e019cf2d\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://bfc1d5d58e59015086b0e65a6c3a2ddad312e2350480510f6c0c8167f3d71a37\",\"dweb:/ipfs/QmQndULYjFsHKHjMAKLMfc12vWbVB5FawtioHtvwcWRJZp\"]},\"node_modules/@uniswap/v3-core/contracts/libraries/SafeCast.sol\":{\"keccak256\":\"0x4c12bf820c0b011f5490a209960ca34dd8af34660ef9e01de0438393d15e3fd8\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://fed11489e218e55d087d42b4f350a30e10cd2aedec8f432bd3cc712f648d5869\",\"dweb:/ipfs/QmWfRnRxyXwHUDcTQPazxYYk5jxErGeQqdvnYtyg5nBPbU\"]},\"node_modules/@uniswap/v3-core/contracts/libraries/Tick.sol\":{\"keccak256\":\"0x60752e079938508bfc274e2a3d2618ede09e153ba6f08cd3c476557947fbe2ac\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://23e7045efd6c5c4c5b3d15898d639cc2c128ace49d2dab0b1ef2b868e6a43234\",\"dweb:/ipfs/QmaoV6txuomfjSoeakDyZ73mPygEHCgrYarKQxQ5sp29hu\"]},\"node_modules/@uniswap/v3-core/contracts/libraries/TickMath.sol\":{\"keccak256\":\"0x1f864a2bf61ba05f3173eaf2e3f94c5e1da4bec0554757527b6d1ef1fe439e4e\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://5139b586df546a9d1c46804ca400b1cb9ce87236eaf212ebd64edee6747a172a\",\"dweb:/ipfs/QmVa2kcRw3VyuB6j1EVWXACKnkbQZgfXYXNi5voq3XkYG8\"]},\"node_modules/@uniswap/v3-periphery/contracts/interfaces/IERC721Permit.sol\":{\"keccak256\":\"0x9e3c2a4ee65ddf95b2dfcb0815784eea3a295707e6f8b83e4c4f0f8fe2e3a1d4\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://bfd939085b3618101b955f87c7fabf38338ba1aad480295acb8102ebc5d72471\",\"dweb:/ipfs/QmauQD8bGDHTztmTDfaKXjzM7Wacrq2XU7VcTbwn1WrDBL\"]},\"node_modules/@uniswap/v3-periphery/contracts/interfaces/INonfungiblePositionManager.sol\":{\"keccak256\":\"0xe1dadc73e60bf05d0b4e0f05bd2847c5783e833cc10352c14763360b13495ee1\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://6e3b10f75c101de044c1253672207399c1513fd1f0f17be31069c18c0b9a1460\",\"dweb:/ipfs/QmXrkXNY6njQfepE7KbRtJMruGXfrZwsMMsW7m5e3XS9Hf\"]},\"node_modules/@uniswap/v3-periphery/contracts/interfaces/IPeripheryImmutableState.sol\":{\"keccak256\":\"0x7affcfeb5127c0925a71d6a65345e117c33537523aeca7bc98085ead8452519d\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://e16b291294210e71cb0f20cd0afe62ae2dc6878d627f5ccc19c4dc9cd80aec3f\",\"dweb:/ipfs/QmQGitSyBr26nour81BZmpmDMyJpvZRqHQZvnCD1Acb127\"]},\"node_modules/@uniswap/v3-periphery/contracts/interfaces/IPeripheryPayments.sol\":{\"keccak256\":\"0xb547e10f1e69bed03621a62b73a503e260643066c6b4054867a4d1fef47eb274\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://f9a90f58f5fd5fb42f7811f4094113b532f307b14a73764c91f977590747f407\",\"dweb:/ipfs/QmSeNH2mfiDMKf3Q6V2sqtNxx1s72JNuA1VVxRM9HoMqYp\"]},\"node_modules/@uniswap/v3-periphery/contracts/interfaces/IPoolInitializer.sol\":{\"keccak256\":\"0x9d7695e8d94c22cc5fcced602017aabb988de89981ea7bee29ea629d5328a862\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://61b50933026ee1017db2a6273af8cedc3238c95dca58880db0918dbdbb2f064f\",\"dweb:/ipfs/QmUebR26pqG25d18aBELKz8aFFKkmHa8PxntzXTA7o9Ldu\"]},\"node_modules/@uniswap/v3-periphery/contracts/libraries/LiquidityAmounts.sol\":{\"keccak256\":\"0xf149581d28e1c81736dfe72be73ee1301d4945340cc6282fcdd63fe3c85abf24\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://0b67f375180bb62fe6753601cd09740496dcdcec4c0a4f9eaa6e94c5e1bb6844\",\"dweb:/ipfs/QmWYwkmqynRq7g81Nijg4eEkPgSRGnegDrbbEKkkTC1k2w\"]},\"node_modules/@uniswap/v3-periphery/contracts/libraries/PoolAddress.sol\":{\"keccak256\":\"0x5edd84eb8ba7c12fd8cb6cffe52e1e9f3f6464514ee5f539c2283826209035a2\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://f375d0e6d5ea3674e1aa6f112b021e9a86721a6a2f3cb22d673378b30cf0e840\",\"dweb:/ipfs/QmWJir2qnJyp963mU6U3jEEx9i3H3V5BgKawAfSnG1pC8w\"]},\"node_modules/@uniswap/v3-periphery/contracts/libraries/PositionKey.sol\":{\"keccak256\":\"0x1ef2fea641b75575e8e7621b90b23a8144fd22cb7013d82a592a72ab2af9527f\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://5832baa9cccf9763fec921077daf760f6bf90605063e4ddbf21807e09d502b5f\",\"dweb:/ipfs/QmSdbgqjSnFCtBc6xkNCzff4f6KpBqjZ1LJJc6ZA9FboEJ\"]},\"node_modules/@uniswap/v3-periphery/contracts/libraries/PositionValue.sol\":{\"keccak256\":\"0x6b97c349ae922798ebd38976e4b776190abedde98056cf416df12acc4b5a1cc5\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://862137704e9a806b0d9f22dfb5438b798ea4658c2aaae97dc5741f8d1d940624\",\"dweb:/ipfs/QmXTAkkmftCMjKkeR2XH2c3w6dEMbzafeWonX2YU26K6F6\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.7.6+commit.7338295f" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_nonFungibleTokenManager", "type": "address" }, { "internalType": "address", "name": "_valueInterpreter", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256", "indexed": true } ], "type": "event", "name": "NFTPositionAdded", "anonymous": false }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256", "indexed": true } ], "type": "event", "name": "NFTPositionRemoved", "anonymous": false }, { "inputs": [], "stateMutability": "pure", "type": "function", "name": "getDebtAssets", "outputs": [ { "internalType": "address[]", "name": "assets_", "type": "address[]" }, { "internalType": "uint256[]", "name": "amounts_", "type": "uint256[]" } ] }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "getManagedAssets", "outputs": [ { "internalType": "address[]", "name": "assets_", "type": "address[]" }, { "internalType": "uint256[]", "name": "amounts_", "type": "uint256[]" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getNftIds", "outputs": [ { "internalType": "uint256[]", "name": "nftIds_", "type": "uint256[]" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getNonFungibleTokenManager", "outputs": [ { "internalType": "address", "name": "nonFungibleTokenManager_", "type": "address" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_nftId", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "getPairForNft", "outputs": [ { "internalType": "address", "name": "token0_", "type": "address" }, { "internalType": "address", "name": "token1_", "type": "address" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_nftId", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "getToken0ForNft", "outputs": [ { "internalType": "address", "name": "token0_", "type": "address" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_nftId", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "getToken1ForNft", "outputs": [ { "internalType": "address", "name": "token1_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getValueInterpreter", "outputs": [ { "internalType": "address", "name": "valueInterpreter_", "type": "address" } ] }, { "inputs": [ { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "init" }, { "inputs": [ { "internalType": "bytes", "name": "_actionData", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "receiveCallFromVault" } ], "devdoc": { "kind": "dev", "methods": { "getDebtAssets()": { "returns": { "amounts_": "Debt asset amounts", "assets_": "Debt assets" } }, "getManagedAssets()": { "returns": { "amounts_": "Managed asset amounts", "assets_": "Managed assets" } }, "getNftIds()": { "returns": { "nftIds_": "The `nftIds` variable value" } }, "getNonFungibleTokenManager()": { "returns": { "nonFungibleTokenManager_": "The `NON_FUNGIBLE_TOKEN_MANAGER` variable value" } }, "getPairForNft(uint256)": { "params": { "_nftId": "The id of the nft" }, "returns": { "token0_": "The `token0` value", "token1_": "The `token1` value" } }, "getToken0ForNft(uint256)": { "params": { "_nftId": "The id of the nft" }, "returns": { "token0_": "The `token0` value" } }, "getToken1ForNft(uint256)": { "params": { "_nftId": "The id of the nft" }, "returns": { "token1_": "The `token1` value" } }, "getValueInterpreter()": { "returns": { "valueInterpreter_": "The `NON_FUNGIBLE_TOKEN_MANAGER` variable value" } }, "init(bytes)": { "details": "Nothing to initialize for this contract" }, "receiveCallFromVault(bytes)": { "params": { "_actionData": "Encoded data to execute the action" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "getDebtAssets()": { "notice": "Retrieves the debt assets (negative value) of the external position" }, "getManagedAssets()": { "notice": "Retrieves the managed assets (positive value) of the external position" }, "getNftIds()": { "notice": "Gets the `nftIds` variable" }, "getNonFungibleTokenManager()": { "notice": "Gets the `NON_FUNGIBLE_TOKEN_MANAGER` variable" }, "getPairForNft(uint256)": { "notice": "Gets the cached ordered asset pair of the Uniswap pool for a given nft" }, "getToken0ForNft(uint256)": { "notice": "Gets the cached `token0` value for the Uniswap pool for a given nft" }, "getToken1ForNft(uint256)": { "notice": "Gets the cached `token1` value for the Uniswap pool for a given nft" }, "getValueInterpreter()": { "notice": "Gets the `VALUE_INTERPRETER` variable" }, "init(bytes)": { "notice": "Initializes the external position" }, "receiveCallFromVault(bytes)": { "notice": "Receives and executes a call from the Vault" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/external-position-manager/external-positions/uniswap-v3-liquidity/UniswapV3LiquidityPositionLib.sol": "UniswapV3LiquidityPositionLib" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/external-positions/uniswap-v3-liquidity/UniswapV3LiquidityPositionLibBase1.sol": { "keccak256": "0x9d16f0c4b687b70bbfc5b1f6f400035f2d827b5eabe775e6fee376dc9fd4eacf", "urls": [ "bzz-raw://2db1ca704caa193ba223636b334e2d387107020c9b75e7c26981e459e42803ed", "dweb:/ipfs/QmZHgwJzuiBHs1WAhDNX6CqrT2TBL8Hb9fXK9jubm2fzBP" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/uniswap-v3-liquidity/UniswapV3LiquidityPositionDataDecoder.sol": { "keccak256": "0x46958283ca11717ff8a954f509a0f8ee3e339e1e70b268a6b38ad44d31625c25", "urls": [ "bzz-raw://f5ba53bebea27970c26731a3a4e6511fca3ea10cf3092a4cd05ee0159bbf456c", "dweb:/ipfs/QmRtApdFi2EAmPgDNnpGSqtAwkiasQ92KbLVzE5pPP5RCH" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/uniswap-v3-liquidity/UniswapV3LiquidityPositionLib.sol": { "keccak256": "0xe88eb08fa5c81d5e78d9450a158ea55463b1c565a1c169b9ca78e24d84db2008", "urls": [ "bzz-raw://e7ecd640baf4aba4e7d22cbf0e44e8663c7b7674cd6a0419377e416becf0e1f6", "dweb:/ipfs/QmUgb8ZjyAS6SRrouxJUm8Jc5bMrGy7SjqFm27PgKsNmGj" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/uniswap-v3-liquidity/interfaces/IExternalPositionUniswapV3LiquidityPosition.sol": { "keccak256": "0x8cd962cedcd165722c29f50f58b575b24a9527da11cca71ece25c5124e5895e8", "urls": [ "bzz-raw://7e66f5fdae8bba39be27d7576f8ae41d094b4e08e91f80c875190949c3eacb0d", "dweb:/ipfs/QmSqNkZPomPh2yMD9uDU8BWLWWnd9r1fSoPbitbm87CWqZ" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/uniswap-v3-liquidity/interfaces/IUniswapV3LiquidityPosition.sol": { "keccak256": "0x82fd7abb793f369af1de4bd22e0debb6898308aa821df874e2eb1171d1f2c84d", "urls": [ "bzz-raw://6597e5c74f70e6e3ababc1e357d16d4634380a794d30b8b7ce6c79012d5bdf62", "dweb:/ipfs/QmRH1hWJdC2rTvi2WscB5w2Lyj7XUgm8QQLbzeYJxgwdNM" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/uniswap-v3-liquidity/interfaces/IValueInterpreterUniswapV3LiquidityPosition.sol": { "keccak256": "0xbf42ff85d5f25f5185ff5a48cfbe187ac29629917ebb3571a1830ab5ec94137b", "urls": [ "bzz-raw://e82522498a30164ec606b5fce18ae0f480bc2433c531fe469af21b58086fd760", "dweb:/ipfs/QmWitHqQr6bGNRAMiMdciuRZTxYFav2LbcRrXmE4B4vnmz" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin-solc-0.7/contracts/math/SafeMath.sol": { "keccak256": "0xe22a1fc7400ae196eba2ad1562d0386462b00a6363b742d55a2fd2021a58586f", "urls": [ "bzz-raw://4a635cec58fb4141a16cfd408f1a21ac944c335a3beaba541c35d2e95c04536f", "dweb:/ipfs/QmXWcz73UenN1ji8jiWMbzxHjjfLbNQwLVKTEB5zNFE34K" ], "license": "MIT" }, "node_modules/@openzeppelin-solc-0.7/contracts/token/ERC20/ERC20.sol": { "keccak256": "0x36b5ca4eabe888b39b10973621ca0dcc9b1508f8d06db9ddf045d7aa7c867d4a", "urls": [ "bzz-raw://ccbd79e8d556aa7011babb0e5d1e55a966add74853e7ba0274ff184bd96ef002", "dweb:/ipfs/QmV28ozNRUFDiDUMvCwcFmLTQPG6nfvgeKr4cmbHWoegtH" ], "license": "MIT" }, "node_modules/@openzeppelin-solc-0.7/contracts/token/ERC20/IERC20.sol": { "keccak256": "0xbd74f587ab9b9711801baf667db1426e4a03fd2d7f15af33e0e0d0394e7cef76", "urls": [ "bzz-raw://2d0913dfbfce90d170df0d496ad7596c0778518e5fa7aba6c32562522546f66b", "dweb:/ipfs/QmR6B8nLj2PJf5e1JWD9Nk7ErkAwkqUwadCnvE82FJr1RU" ], "license": "MIT" }, "node_modules/@openzeppelin-solc-0.7/contracts/token/ERC20/SafeERC20.sol": { "keccak256": "0xc77dd6233a82c7c6e3dc49da8f3456baa00ecd3ea4dfa9222002a9aebf155dcd", "urls": [ "bzz-raw://8e5f78a5b3e707177aa47371e008a54b83dbd28a52055d1746534502b010c21b", "dweb:/ipfs/Qmeqfky5DvkMZZY3RtP6kYhFD5bZrPAMVPbqkwWhoUjZ3u" ], "license": "MIT" }, "node_modules/@openzeppelin-solc-0.7/contracts/utils/Address.sol": { "keccak256": "0xf89f005a3d98f7768cdee2583707db0ac725cf567d455751af32ee68132f3db3", "urls": [ "bzz-raw://f963d438177764b5f43f637c02311c951c0f0025d12fe1ac7e62e295bf416c41", "dweb:/ipfs/QmcfVb9JsWrYeTwFUJsKVHpKB7EaWBKydAH9S4sKg2pzcK" ], "license": "MIT" }, "node_modules/@openzeppelin-solc-0.7/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/introspection/IERC165.sol": { "keccak256": "0xf70bc25d981e4ec9673a995ad2995d5d493ea188d3d8f388bba9c227ce09fb82", "urls": [ "bzz-raw://bd970f51e3a77790c2f02b5b1759827c3b897c3d98c407b3631e8af32e3dc93c", "dweb:/ipfs/QmPF85Amgbqjk3SNZKsPCsqCw8JfwYEPMnnhvMJUyX58je" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol": { "keccak256": "0x2d99a0deb6648c34fbc66d6ac4a2d64798d7a5321b45624f6736fadc63da1962", "urls": [ "bzz-raw://2dcdce5ede1e5e650d174ec0b35be7d47b6a50f30bc895ef0d9e59fb75052e45", "dweb:/ipfs/QmQ2XFsDLTYqfEdw7pYzHiGtFRY11yQm4b6ynYgKqDxeB8" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC721/IERC721Enumerable.sol": { "keccak256": "0xe6bd1b1218338b6f9fe17776f48623b4ac3d8a40405f74a44bc23c00abe2ca13", "urls": [ "bzz-raw://0c354c3f6e9c487759aa7869be4fba68e0b2efc777b514d289c4cbd3ff8f7e1a", "dweb:/ipfs/QmdF9LcSYVmiUCL7JxLEYmSLrjga6zJsujfi6sgEJD4M1z" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC721/IERC721Metadata.sol": { "keccak256": "0xccb917776f826ac6b68bd5a15a5f711e3967848a52ba11e6104d9a4f593314a7", "urls": [ "bzz-raw://430255ad2229ced6d880e61a67bdc6e48dbbaed8354a7c1fe918cd8b8714a886", "dweb:/ipfs/QmTHY56odzqEpEC6v6tafaWMYY7vmULw25q5XHJLCCAeox" ], "license": "MIT" }, "node_modules/@uniswap/v3-core/contracts/interfaces/IUniswapV3Pool.sol": { "keccak256": "0xfe6113d518466cd6652c85b111e01f33eb62157f49ae5ed7d5a3947a2044adb1", "urls": [ "bzz-raw://1c42b9e6f5902ac38dd43e25750939baa7e0c1425dc75afd717c4412731065d5", "dweb:/ipfs/QmWaoacnzsucTvBME2o7YgZBZMhaHv7fkj83htHMVWJKWh" ], "license": "GPL-2.0-or-later" }, "node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolActions.sol": { "keccak256": "0x9453dd0e7442188667d01d9b65de3f1e14e9511ff3e303179a15f6fc267f7634", "urls": [ "bzz-raw://982f4328f956c3e60e67501e759eb292ac487f76460c774c50e9ae4fcc92aae5", "dweb:/ipfs/QmRnzEDsaqtd9PJEVcgQi7p5aV5pMSvRUoGZJAdwFUJxgZ" ], "license": "GPL-2.0-or-later" }, "node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolDerivedState.sol": { "keccak256": "0xe603ac5b17ecdee73ba2b27efdf386c257a19c14206e87eee77e2017b742d9e5", "urls": [ "bzz-raw://8febc9bdb399a4d94bb89f5377732652e2400e4a8dee808201ade6848f9004e7", "dweb:/ipfs/QmaKDqYYFU4d2W2iN77aDHptfbFmYZRrMYXHeGpJmM8C1c" ], "license": "GPL-2.0-or-later" }, "node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolEvents.sol": { "keccak256": "0x8071514d0fe5d17d6fbd31c191cdfb703031c24e0ece3621d88ab10e871375cd", "urls": [ "bzz-raw://d0b571930cc7488b1d546a7e9cea7c52d8b3c4e207da657ed0e0db7343b8cd03", "dweb:/ipfs/QmaGK6vVwB95QSTR1XMYvrh7ivYAYZxi3fD7v6VMA4jZ39" ], "license": "GPL-2.0-or-later" }, "node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolImmutables.sol": { "keccak256": "0xf6e5d2cd1139c4c276bdbc8e1d2b256e456c866a91f1b868da265c6d2685c3f7", "urls": [ "bzz-raw://b99c8c9ae8e27ee6559e5866bea82cbc9ffc8247f8d15b7422a4deb287d4d047", "dweb:/ipfs/QmfL8gaqt3ffAnm6nVj5ksuNpLygXuL3xq5VBqrkwC2JJ3" ], "license": "GPL-2.0-or-later" }, "node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolOwnerActions.sol": { "keccak256": "0x759b78a2918af9e99e246dc3af084f654e48ef32bb4e4cb8a966aa3dcaece235", "urls": [ "bzz-raw://64144fb96e1c7fdba87305acadb98a198d26a3d46c097cb3a666e567f6f29735", "dweb:/ipfs/QmUnWVwN9FKB9uV5Pr8YfLpWZnYM2DENnRMaadZ492JS9u" ], "license": "GPL-2.0-or-later" }, "node_modules/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolState.sol": { "keccak256": "0x852dc1f5df7dcf7f11e7bb3eed79f0cea72ad4b25f6a9d2c35aafb48925fd49f", "urls": [ "bzz-raw://ed63907c38ff36b0e22bc9ffc53e791ea74f0d4f0e7c257fdfb5aaf8825b1f0f", "dweb:/ipfs/QmSQrckghEjs6HVsA5GVgpNpZWvTXMY5eQLF7cN6deFeEg" ], "license": "GPL-2.0-or-later" }, "node_modules/@uniswap/v3-core/contracts/libraries/FixedPoint128.sol": { "keccak256": "0x2d1f4f73ae0d8f0a210b8d30084659b57c56ac8f2f96011fca36f00a6d417178", "urls": [ "bzz-raw://2ba88933f16cd2df398e19c6ad227268f83c03081b70d243c97116d2ed9bc241", "dweb:/ipfs/QmTUGxdh8snzEM9VrTSS47StCg9VVWvvLJtJeNnMTFY4xb" ], "license": "GPL-2.0-or-later" }, "node_modules/@uniswap/v3-core/contracts/libraries/FixedPoint96.sol": { "keccak256": "0x0ba8a9b95a956a4050749c0158e928398c447c91469682ca8a7cc7e77a7fe032", "urls": [ "bzz-raw://186d3b528866065a5856f96d2aeec698efa99f8da913e9adf34f8cc296cc993d", "dweb:/ipfs/QmUAiMvtAQp8c9dy57bqJYzG7hkb1uChiPaQmt264skoqP" ], "license": "GPL-2.0-or-later" }, "node_modules/@uniswap/v3-core/contracts/libraries/FullMath.sol": { "keccak256": "0xe511530871deaef86692cea9adb6076d26d7b47fd4815ce51af52af981026057", "urls": [ "bzz-raw://bc5a6ae776be3e7dcbd23d49ffbc9d792fed0ddf4b111ebb64b9bb2133ec263e", "dweb:/ipfs/QmbAUtWqvipzEARQpFpkzYKBELy3qeW5WXnZxHFU84sxG7" ], "license": "MIT" }, "node_modules/@uniswap/v3-core/contracts/libraries/LiquidityMath.sol": { "keccak256": "0xd53041349718d5bce4a89e87cd911879d41ba42ba3fab0614e5e8b742f352b88", "urls": [ "bzz-raw://ea7529b99ab4fc1d3e6c5a31990fb688f0a2d6cc302c0419e0cf5a2d6c563781", "dweb:/ipfs/QmVaphRSNpfChHZKzutQ9WprwCo2WE1euvThRfHcwsnHhj" ], "license": "GPL-2.0-or-later" }, "node_modules/@uniswap/v3-core/contracts/libraries/LowGasSafeMath.sol": { "keccak256": "0x86715eb960f18e01ac94e3bba4614ed51a887fa3c5bd1c43bf80aa98e019cf2d", "urls": [ "bzz-raw://bfc1d5d58e59015086b0e65a6c3a2ddad312e2350480510f6c0c8167f3d71a37", "dweb:/ipfs/QmQndULYjFsHKHjMAKLMfc12vWbVB5FawtioHtvwcWRJZp" ], "license": "GPL-2.0-or-later" }, "node_modules/@uniswap/v3-core/contracts/libraries/SafeCast.sol": { "keccak256": "0x4c12bf820c0b011f5490a209960ca34dd8af34660ef9e01de0438393d15e3fd8", "urls": [ "bzz-raw://fed11489e218e55d087d42b4f350a30e10cd2aedec8f432bd3cc712f648d5869", "dweb:/ipfs/QmWfRnRxyXwHUDcTQPazxYYk5jxErGeQqdvnYtyg5nBPbU" ], "license": "GPL-2.0-or-later" }, "node_modules/@uniswap/v3-core/contracts/libraries/Tick.sol": { "keccak256": "0x60752e079938508bfc274e2a3d2618ede09e153ba6f08cd3c476557947fbe2ac", "urls": [ "bzz-raw://23e7045efd6c5c4c5b3d15898d639cc2c128ace49d2dab0b1ef2b868e6a43234", "dweb:/ipfs/QmaoV6txuomfjSoeakDyZ73mPygEHCgrYarKQxQ5sp29hu" ], "license": "BUSL-1.1" }, "node_modules/@uniswap/v3-core/contracts/libraries/TickMath.sol": { "keccak256": "0x1f864a2bf61ba05f3173eaf2e3f94c5e1da4bec0554757527b6d1ef1fe439e4e", "urls": [ "bzz-raw://5139b586df546a9d1c46804ca400b1cb9ce87236eaf212ebd64edee6747a172a", "dweb:/ipfs/QmVa2kcRw3VyuB6j1EVWXACKnkbQZgfXYXNi5voq3XkYG8" ], "license": "GPL-2.0-or-later" }, "node_modules/@uniswap/v3-periphery/contracts/interfaces/IERC721Permit.sol": { "keccak256": "0x9e3c2a4ee65ddf95b2dfcb0815784eea3a295707e6f8b83e4c4f0f8fe2e3a1d4", "urls": [ "bzz-raw://bfd939085b3618101b955f87c7fabf38338ba1aad480295acb8102ebc5d72471", "dweb:/ipfs/QmauQD8bGDHTztmTDfaKXjzM7Wacrq2XU7VcTbwn1WrDBL" ], "license": "GPL-2.0-or-later" }, "node_modules/@uniswap/v3-periphery/contracts/interfaces/INonfungiblePositionManager.sol": { "keccak256": "0xe1dadc73e60bf05d0b4e0f05bd2847c5783e833cc10352c14763360b13495ee1", "urls": [ "bzz-raw://6e3b10f75c101de044c1253672207399c1513fd1f0f17be31069c18c0b9a1460", "dweb:/ipfs/QmXrkXNY6njQfepE7KbRtJMruGXfrZwsMMsW7m5e3XS9Hf" ], "license": "GPL-2.0-or-later" }, "node_modules/@uniswap/v3-periphery/contracts/interfaces/IPeripheryImmutableState.sol": { "keccak256": "0x7affcfeb5127c0925a71d6a65345e117c33537523aeca7bc98085ead8452519d", "urls": [ "bzz-raw://e16b291294210e71cb0f20cd0afe62ae2dc6878d627f5ccc19c4dc9cd80aec3f", "dweb:/ipfs/QmQGitSyBr26nour81BZmpmDMyJpvZRqHQZvnCD1Acb127" ], "license": "GPL-2.0-or-later" }, "node_modules/@uniswap/v3-periphery/contracts/interfaces/IPeripheryPayments.sol": { "keccak256": "0xb547e10f1e69bed03621a62b73a503e260643066c6b4054867a4d1fef47eb274", "urls": [ "bzz-raw://f9a90f58f5fd5fb42f7811f4094113b532f307b14a73764c91f977590747f407", "dweb:/ipfs/QmSeNH2mfiDMKf3Q6V2sqtNxx1s72JNuA1VVxRM9HoMqYp" ], "license": "GPL-2.0-or-later" }, "node_modules/@uniswap/v3-periphery/contracts/interfaces/IPoolInitializer.sol": { "keccak256": "0x9d7695e8d94c22cc5fcced602017aabb988de89981ea7bee29ea629d5328a862", "urls": [ "bzz-raw://61b50933026ee1017db2a6273af8cedc3238c95dca58880db0918dbdbb2f064f", "dweb:/ipfs/QmUebR26pqG25d18aBELKz8aFFKkmHa8PxntzXTA7o9Ldu" ], "license": "GPL-2.0-or-later" }, "node_modules/@uniswap/v3-periphery/contracts/libraries/LiquidityAmounts.sol": { "keccak256": "0xf149581d28e1c81736dfe72be73ee1301d4945340cc6282fcdd63fe3c85abf24", "urls": [ "bzz-raw://0b67f375180bb62fe6753601cd09740496dcdcec4c0a4f9eaa6e94c5e1bb6844", "dweb:/ipfs/QmWYwkmqynRq7g81Nijg4eEkPgSRGnegDrbbEKkkTC1k2w" ], "license": "GPL-2.0-or-later" }, "node_modules/@uniswap/v3-periphery/contracts/libraries/PoolAddress.sol": { "keccak256": "0x5edd84eb8ba7c12fd8cb6cffe52e1e9f3f6464514ee5f539c2283826209035a2", "urls": [ "bzz-raw://f375d0e6d5ea3674e1aa6f112b021e9a86721a6a2f3cb22d673378b30cf0e840", "dweb:/ipfs/QmWJir2qnJyp963mU6U3jEEx9i3H3V5BgKawAfSnG1pC8w" ], "license": "GPL-2.0-or-later" }, "node_modules/@uniswap/v3-periphery/contracts/libraries/PositionKey.sol": { "keccak256": "0x1ef2fea641b75575e8e7621b90b23a8144fd22cb7013d82a592a72ab2af9527f", "urls": [ "bzz-raw://5832baa9cccf9763fec921077daf760f6bf90605063e4ddbf21807e09d502b5f", "dweb:/ipfs/QmSdbgqjSnFCtBc6xkNCzff4f6KpBqjZ1LJJc6ZA9FboEJ" ], "license": "GPL-2.0-or-later" }, "node_modules/@uniswap/v3-periphery/contracts/libraries/PositionValue.sol": { "keccak256": "0x6b97c349ae922798ebd38976e4b776190abedde98056cf416df12acc4b5a1cc5", "urls": [ "bzz-raw://862137704e9a806b0d9f22dfb5438b798ea4658c2aaae97dc5741f8d1d940624", "dweb:/ipfs/QmXTAkkmftCMjKkeR2XH2c3w6dEMbzafeWonX2YU26K6F6" ], "license": "GPL-2.0-or-later" } }, "version": 1 }, "id": 2 } diff --git a/eth_defi/abi/enzyme/UniswapV3LiquidityPositionLibBase1.json b/eth_defi/abi/enzyme/UniswapV3LiquidityPositionLibBase1.json index 911c360c..102b2a2b 100644 --- a/eth_defi/abi/enzyme/UniswapV3LiquidityPositionLibBase1.json +++ b/eth_defi/abi/enzyme/UniswapV3LiquidityPositionLibBase1.json @@ -1,132 +1 @@ -{ - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "NFTPositionAdded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint256", - "name": "tokenId", - "type": "uint256" - } - ], - "name": "NFTPositionRemoved", - "type": "event" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": {}, - "rawMetadata": "{\"compiler\":{\"version\":\"0.7.6+commit.7338295f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"NFTPositionAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"NFTPositionRemoved\",\"type\":\"event\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"DO NOT EDIT CONTRACT. If new events or storage are necessary, they should be added to a numbered UniswapV3LiquidityPositionLibBaseXXX that inherits the previous base. e.g., `UniswapV3LiquidityPositionLibBase2 is UniswapV3LiquidityPositionLibBase1`\",\"kind\":\"dev\",\"methods\":{},\"title\":\"UniswapV3LiquidityPositionLibBase1 Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"A persistent contract containing all required storage variables and required functions for a UniswapV3LiquidityPositionLib implementation\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/external-positions/uniswap-v3-liquidity/UniswapV3LiquidityPositionLibBase1.sol\":\"UniswapV3LiquidityPositionLibBase1\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/external-positions/uniswap-v3-liquidity/UniswapV3LiquidityPositionLibBase1.sol\":{\"keccak256\":\"0x9d16f0c4b687b70bbfc5b1f6f400035f2d827b5eabe775e6fee376dc9fd4eacf\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2db1ca704caa193ba223636b334e2d387107020c9b75e7c26981e459e42803ed\",\"dweb:/ipfs/QmZHgwJzuiBHs1WAhDNX6CqrT2TBL8Hb9fXK9jubm2fzBP\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.7.6+commit.7338295f" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256", - "indexed": true - } - ], - "type": "event", - "name": "NFTPositionAdded", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "tokenId", - "type": "uint256", - "indexed": true - } - ], - "type": "event", - "name": "NFTPositionRemoved", - "anonymous": false - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/persistent/external-positions/uniswap-v3-liquidity/UniswapV3LiquidityPositionLibBase1.sol": "UniswapV3LiquidityPositionLibBase1" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/external-positions/uniswap-v3-liquidity/UniswapV3LiquidityPositionLibBase1.sol": { - "keccak256": "0x9d16f0c4b687b70bbfc5b1f6f400035f2d827b5eabe775e6fee376dc9fd4eacf", - "urls": [ - "bzz-raw://2db1ca704caa193ba223636b334e2d387107020c9b75e7c26981e459e42803ed", - "dweb:/ipfs/QmZHgwJzuiBHs1WAhDNX6CqrT2TBL8Hb9fXK9jubm2fzBP" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 0 -} +{ "abi": [ { "type": "event", "name": "NFTPositionAdded", "inputs": [ { "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "NFTPositionRemoved", "inputs": [ { "name": "tokenId", "type": "uint256", "indexed": true, "internalType": "uint256" } ], "anonymous": false } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": {}, "rawMetadata": "{\"compiler\":{\"version\":\"0.7.6+commit.7338295f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"NFTPositionAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"NFTPositionRemoved\",\"type\":\"event\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"DO NOT EDIT CONTRACT. If new events or storage are necessary, they should be added to a numbered UniswapV3LiquidityPositionLibBaseXXX that inherits the previous base. e.g., `UniswapV3LiquidityPositionLibBase2 is UniswapV3LiquidityPositionLibBase1`\",\"kind\":\"dev\",\"methods\":{},\"title\":\"UniswapV3LiquidityPositionLibBase1 Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"A persistent contract containing all required storage variables and required functions for a UniswapV3LiquidityPositionLib implementation\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/external-positions/uniswap-v3-liquidity/UniswapV3LiquidityPositionLibBase1.sol\":\"UniswapV3LiquidityPositionLibBase1\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/external-positions/uniswap-v3-liquidity/UniswapV3LiquidityPositionLibBase1.sol\":{\"keccak256\":\"0x9d16f0c4b687b70bbfc5b1f6f400035f2d827b5eabe775e6fee376dc9fd4eacf\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2db1ca704caa193ba223636b334e2d387107020c9b75e7c26981e459e42803ed\",\"dweb:/ipfs/QmZHgwJzuiBHs1WAhDNX6CqrT2TBL8Hb9fXK9jubm2fzBP\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.7.6+commit.7338295f" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256", "indexed": true } ], "type": "event", "name": "NFTPositionAdded", "anonymous": false }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256", "indexed": true } ], "type": "event", "name": "NFTPositionRemoved", "anonymous": false } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/persistent/external-positions/uniswap-v3-liquidity/UniswapV3LiquidityPositionLibBase1.sol": "UniswapV3LiquidityPositionLibBase1" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/external-positions/uniswap-v3-liquidity/UniswapV3LiquidityPositionLibBase1.sol": { "keccak256": "0x9d16f0c4b687b70bbfc5b1f6f400035f2d827b5eabe775e6fee376dc9fd4eacf", "urls": [ "bzz-raw://2db1ca704caa193ba223636b334e2d387107020c9b75e7c26981e459e42803ed", "dweb:/ipfs/QmZHgwJzuiBHs1WAhDNX6CqrT2TBL8Hb9fXK9jubm2fzBP" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 0 } diff --git a/eth_defi/abi/enzyme/UniswapV3LiquidityPositionParser.json b/eth_defi/abi/enzyme/UniswapV3LiquidityPositionParser.json index f3c77327..841b2016 100644 --- a/eth_defi/abi/enzyme/UniswapV3LiquidityPositionParser.json +++ b/eth_defi/abi/enzyme/UniswapV3LiquidityPositionParser.json @@ -1,492 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_valueInterpreter", - "type": "address" - }, - { - "internalType": "address", - "name": "_nonfungiblePositionManager", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "name": "getUniswapV3NonfungiblePositionManager", - "outputs": [ - { - "internalType": "address", - "name": "nonfungiblePositionManager_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getValueInterpreter", - "outputs": [ - { - "internalType": "address", - "name": "valueInterpreter_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_externalPosition", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_actionId", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_encodedActionArgs", - "type": "bytes" - } - ], - "name": "parseAssetsForAction", - "outputs": [ - { - "internalType": "address[]", - "name": "assetsToTransfer_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "amountsToTransfer_", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "assetsToReceive_", - "type": "address[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "parseInitArgs", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x60c060405234801561001057600080fd5b50604051610bc3380380610bc38339818101604052604081101561003357600080fd5b5080516020909101516001600160601b0319606091821b811660805291901b1660a05260805160601c60a05160601c610b4461007f600039806103675250806103435250610b446000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80635438cc7214610051578063875fb4b314610075578063bbd2d6461461007d578063db16c72e14610216575b600080fd5b610059610341565b604080516001600160a01b039092168252519081900360200190f35b610059610365565b6101386004803603606081101561009357600080fd5b6001600160a01b03823516916020810135918101906060810160408201356401000000008111156100c357600080fd5b8201836020820111156100d557600080fd5b803590602001918460018302840111640100000000831117156100f757600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610389945050505050565b60405180806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b83811015610180578181015183820152602001610168565b50505050905001848103835286818151815260200191508051906020019060200280838360005b838110156101bf5781810151838201526020016101a7565b50505050905001848103825285818151815260200191508051906020019060200280838360005b838110156101fe5781810151838201526020016101e6565b50505050905001965050505050505060405180910390f35b6102cc6004803603604081101561022c57600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561025757600080fd5b82018360208201111561026957600080fd5b8035906020019184600183028401116401000000008311171561028b57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506107ca945050505050565b6040805160208082528351818301528351919283929083019185019080838360005b838110156103065781810151838201526020016102ee565b50505050905090810190601f1680156103335780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b60608080846104c5576000806000806103a1886107d2565b505096509650505050935093506103b88484610876565b6103f35760405162461bcd60e51b8152600401808060200182810382526026815260200180610b126026913960400191505060405180910390fd5b6040805160028082526060820183529091602083019080368337019050509650838760008151811061042157fe5b60200260200101906001600160a01b031690816001600160a01b031681525050828760018151811061044f57fe5b6001600160a01b0392909216602092830291909101820152604080516002808252606082018352909290919083019080368337019050509550818660008151811061049657fe5b60200260200101818152505080866001815181106104b057fe5b602002602001018181525050505050506107c1565b60018514156106d25760008060006104dc87610aa3565b50509250925092506104ec610341565b6001600160a01b0316636352211e846040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561052f57600080fd5b505afa158015610543573d6000803e3d6000fd5b505050506040513d602081101561055957600080fd5b50516001600160a01b038a81169116146105a45760405162461bcd60e51b8152600401808060200182810382526028815260200180610aea6028913960400191505060405180910390fd5b604080516002808252606082018352909160208301908036833750506040805160028082526060820183529399509291506020830190803683375050604080516377f9229560e11b81526004810187905281519398506001600160a01b038d169363eff2452a935060248083019392829003018186803b15801561062757600080fd5b505afa15801561063b573d6000803e3d6000fd5b505050506040513d604081101561065157600080fd5b5080516020909101518751889060009061066757fe5b602002602001018860018151811061067b57fe5b6001600160a01b039384166020918202929092010152911690528451829086906000906106a457fe5b60200260200101818152505080856001815181106106be57fe5b6020026020010181815250505050506107c1565b60008480602001905160208110156106e957600080fd5b505160408051600280825260608201835292935091906020830190803683375050604080516377f9229560e11b81526004810185905281519395506001600160a01b038b169363eff2452a935060248083019392829003018186803b15801561075157600080fd5b505afa158015610765573d6000803e3d6000fd5b505050506040513d604081101561077b57600080fd5b5080516020909101518351849060009061079157fe5b60200260200101846001815181106107a557fe5b6001600160a01b03938416602091820292909201015291169052505b93509350939050565b606092915050565b6000806000806000806000806000898060200190516101208110156107f657600080fd5b810190808051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291905050509850985098509850985098509850985098509193959799909294969850565b600080610881610365565b9050806001600160a01b031663c496f8e8856040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156108d057600080fd5b505afa1580156108e4573d6000803e3d6000fd5b505050506040513d60208110156108fa57600080fd5b50511561098e57806001600160a01b0316639be918e6846040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561094e57600080fd5b505afa158015610962573d6000803e3d6000fd5b505050506040513d602081101561097857600080fd5b505115610989576001915050610a9d565b610a97565b806001600160a01b03166364b01dc1856040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156109db57600080fd5b505afa1580156109ef573d6000803e3d6000fd5b505050506040513d6020811015610a0557600080fd5b50518015610a885750806001600160a01b031663c496f8e8846040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610a5b57600080fd5b505afa158015610a6f573d6000803e3d6000fd5b505050506040513d6020811015610a8557600080fd5b50515b15610a97576001915050610a9d565b60009150505b92915050565b60008060008060008580602001905160a0811015610ac057600080fd5b508051602082015160408301516060840151608090940151929a9199509750919550935091505056fe5f5f6465636f6465456e636f646564416374696f6e417267733a20496e76616c6964206e667449647061727365417373657473466f72416374696f6e3a20556e737570706f727465642070616972a164736f6c6343000706000a", - "sourceMap": "754:5963:3:-:0;;;1024:210;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1024:210:3;;;;;;;-1:-1:-1;;;;;;1110:70:3;;;;;;;;1190:37;;;;;;754:5963;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b506004361061004c5760003560e01c80635438cc7214610051578063875fb4b314610075578063bbd2d6461461007d578063db16c72e14610216575b600080fd5b610059610341565b604080516001600160a01b039092168252519081900360200190f35b610059610365565b6101386004803603606081101561009357600080fd5b6001600160a01b03823516916020810135918101906060810160408201356401000000008111156100c357600080fd5b8201836020820111156100d557600080fd5b803590602001918460018302840111640100000000831117156100f757600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610389945050505050565b60405180806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b83811015610180578181015183820152602001610168565b50505050905001848103835286818151815260200191508051906020019060200280838360005b838110156101bf5781810151838201526020016101a7565b50505050905001848103825285818151815260200191508051906020019060200280838360005b838110156101fe5781810151838201526020016101e6565b50505050905001965050505050505060405180910390f35b6102cc6004803603604081101561022c57600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561025757600080fd5b82018360208201111561026957600080fd5b8035906020019184600183028401116401000000008311171561028b57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506107ca945050505050565b6040805160208082528351818301528351919283929083019185019080838360005b838110156103065781810151838201526020016102ee565b50505050905090810190601f1680156103335780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b60608080846104c5576000806000806103a1886107d2565b505096509650505050935093506103b88484610876565b6103f35760405162461bcd60e51b8152600401808060200182810382526026815260200180610b126026913960400191505060405180910390fd5b6040805160028082526060820183529091602083019080368337019050509650838760008151811061042157fe5b60200260200101906001600160a01b031690816001600160a01b031681525050828760018151811061044f57fe5b6001600160a01b0392909216602092830291909101820152604080516002808252606082018352909290919083019080368337019050509550818660008151811061049657fe5b60200260200101818152505080866001815181106104b057fe5b602002602001018181525050505050506107c1565b60018514156106d25760008060006104dc87610aa3565b50509250925092506104ec610341565b6001600160a01b0316636352211e846040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561052f57600080fd5b505afa158015610543573d6000803e3d6000fd5b505050506040513d602081101561055957600080fd5b50516001600160a01b038a81169116146105a45760405162461bcd60e51b8152600401808060200182810382526028815260200180610aea6028913960400191505060405180910390fd5b604080516002808252606082018352909160208301908036833750506040805160028082526060820183529399509291506020830190803683375050604080516377f9229560e11b81526004810187905281519398506001600160a01b038d169363eff2452a935060248083019392829003018186803b15801561062757600080fd5b505afa15801561063b573d6000803e3d6000fd5b505050506040513d604081101561065157600080fd5b5080516020909101518751889060009061066757fe5b602002602001018860018151811061067b57fe5b6001600160a01b039384166020918202929092010152911690528451829086906000906106a457fe5b60200260200101818152505080856001815181106106be57fe5b6020026020010181815250505050506107c1565b60008480602001905160208110156106e957600080fd5b505160408051600280825260608201835292935091906020830190803683375050604080516377f9229560e11b81526004810185905281519395506001600160a01b038b169363eff2452a935060248083019392829003018186803b15801561075157600080fd5b505afa158015610765573d6000803e3d6000fd5b505050506040513d604081101561077b57600080fd5b5080516020909101518351849060009061079157fe5b60200260200101846001815181106107a557fe5b6001600160a01b03938416602091820292909201015291169052505b93509350939050565b606092915050565b6000806000806000806000806000898060200190516101208110156107f657600080fd5b810190808051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291905050509850985098509850985098509850985098509193959799909294969850565b600080610881610365565b9050806001600160a01b031663c496f8e8856040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156108d057600080fd5b505afa1580156108e4573d6000803e3d6000fd5b505050506040513d60208110156108fa57600080fd5b50511561098e57806001600160a01b0316639be918e6846040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561094e57600080fd5b505afa158015610962573d6000803e3d6000fd5b505050506040513d602081101561097857600080fd5b505115610989576001915050610a9d565b610a97565b806001600160a01b03166364b01dc1856040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156109db57600080fd5b505afa1580156109ef573d6000803e3d6000fd5b505050506040513d6020811015610a0557600080fd5b50518015610a885750806001600160a01b031663c496f8e8846040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610a5b57600080fd5b505afa158015610a6f573d6000803e3d6000fd5b505050506040513d6020811015610a8557600080fd5b50515b15610a97576001915050610a9d565b60009150505b92915050565b60008060008060008580602001905160a0811015610ac057600080fd5b508051602082015160408301516060840151608090940151929a9199509750919550935091505056fe5f5f6465636f6465456e636f646564416374696f6e417267733a20496e76616c6964206e667449647061727365417373657473466f72416374696f6e3a20556e737570706f727465642070616972a164736f6c6343000706000a", - "sourceMap": "754:5963:3:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6256:200;;;:::i;:::-;;;;-1:-1:-1;;;;;6256:200:3;;;;;;;;;;;;;;6595:120;;;:::i;1781:2906::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1781:2906:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1781:2906:3;;-1:-1:-1;1781:2906:3;;-1:-1:-1;;;;;1781:2906:3:i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4863:94;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4863:94:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4863:94:3;;-1:-1:-1;4863:94:3;;-1:-1:-1;;;;;4863:94:3:i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6256:200;6409:40;6256:200;:::o;6595:120::-;6691:17;6595:120;:::o;1781:2906::-;1997:34;;;2169:100;2152:2454;;2312:14;2344;2430:22;2470;2529:42;2552:18;2529:22;:42::i;:::-;2294:277;;;;;;;;;;;;;2594:35;2614:6;2622;2594:19;:35::i;:::-;2586:86;;;;-1:-1:-1;;;2586:86:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2899:16;;;2913:1;2899:16;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2899:16:3;2879:36;;2952:6;2929:17;2947:1;2929:20;;;;;;;;;;;;;:29;-1:-1:-1;;;;;2929:29:3;;;-1:-1:-1;;;;;2929:29:3;;;;;2995:6;2972:17;2990:1;2972:20;;;;;;;;-1:-1:-1;;;;;2972:29:3;;;;:20;;;;;;;;;;:29;3037:16;;;3051:1;3037:16;;;;;;;;;;3051:1;;3037:16;;;;;;;;;;-1:-1:-1;3037:16:3;3016:37;;3091:14;3067:18;3086:1;3067:21;;;;;;;;;;;;;:38;;;;;3143:14;3119:18;3138:1;3119:21;;;;;;;;;;;;;:38;;;;;2152:2454;;;;;;;3224:74;3191:9;:108;3174:1432;;;3342:13;3373:22;3413;3472:50;3503:18;3472:30;:50::i;:::-;3324:198;;;;;;;;3712:40;:38;:40::i;:::-;-1:-1:-1;;;;;3705:56:3;;3762:5;3705:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3705:63:3;-1:-1:-1;;;;;3664:104:3;;;;;;3639:203;;;;-1:-1:-1;;;3639:203:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3877:16;;;3891:1;3877:16;;;;;;;;;;;;;;;;;;-1:-1:-1;;3928:16:3;;;3942:1;3928:16;;;;;;;;3857:36;;-1:-1:-1;3928:16:3;3942:1;-1:-1:-1;3928:16:3;;;;;;;;-1:-1:-1;;4006:97:3;;;-1:-1:-1;;;4006:97:3;;;;;;;;;;3907:37;;-1:-1:-1;;;;;;4006:90:3;;;;;-1:-1:-1;4006:97:3;;;;;;;;;;;:90;:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4006:97:3;;;;;;;3960:20;;:17;;3978:1;;3960:20;;;;;;;;;3982:17;4000:1;3982:20;;;;;;;;-1:-1:-1;;;;;3959:144:3;;;3982:20;;;;;;;;;3959:144;;;;;4118:21;;4142:14;;4118:18;;4137:1;;4118:21;;;;;;;;;:38;;;;;4194:14;4170:18;4189:1;4170:21;;;;;;;;;;;;;:38;;;;;3174:1432;;;;;;4332:13;4359:18;4348:41;;;;;;;;;;;;;;;-1:-1:-1;4348:41:3;4423:16;;;4437:1;4423:16;;;;;;;;4348:41;;-1:-1:-1;4423:16:3;4437:1;4423:16;;;;;;;;-1:-1:-1;;4498:97:3;;;-1:-1:-1;;;4498:97:3;;;;;;;;;;4404:35;;-1:-1:-1;;;;;;4498:90:3;;;;;-1:-1:-1;4498:97:3;;;;;;;;;;;:90;:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4498:97:3;;;;;;;4454:19;;:16;;4471:1;;4454:19;;;;;;;;;4475:16;4492:1;4475:19;;;;;;;;-1:-1:-1;;;;;4453:142:3;;;4475:19;;;;;;;;;4453:142;;;;;-1:-1:-1;3174:1432:3;1781:2906;;;;;;;:::o;4863:94::-;4941:12;4863:94;;;;:::o;1333:585:1:-;1451:15;1480;1509:11;1534:16;1564;1594:23;1631;1668:19;1701;1792:11;1764:147;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1745:166;;;;;;;;;;;;;;;;;;1333:585;;;;;;;;;;;:::o;5243:745:3:-;5352:19;5387:68;5519:21;:19;:21::i;:::-;5387:167;;5569:24;-1:-1:-1;;;;;5569:50:3;;5620:7;5569:59;;;;;;;;;;;;;-1:-1:-1;;;;;5569:59:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5569:59:3;5565:394;;;5648:24;-1:-1:-1;;;;;5648:41:3;;5690:7;5648:50;;;;;;;;;;;;;-1:-1:-1;;;;;5648:50:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5648:50:3;5644:100;;;5725:4;5718:11;;;;;5644:100;5565:394;;;5777:24;-1:-1:-1;;;;;5777:51:3;;5829:7;5777:60;;;;;;;;;;;;;-1:-1:-1;;;;;5777:60:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5777:60:3;:135;;;;;5853:24;-1:-1:-1;;;;;5853:50:3;;5904:7;5853:59;;;;;;;;;;;;;-1:-1:-1;;;;;5853:59:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5853:59:3;5777:135;5760:199;;;5944:4;5937:11;;;;;5760:199;5976:5;5969:12;;;5243:745;;;;;:::o;617:389:1:-;743:14;771:23;808;845:19;878;940:11;929:70;;;;;;;;;;;;;;;-1:-1:-1;929:70:1;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;929:70:1;-1:-1:-1;929:70:1;;-1:-1:-1;929:70:1;-1:-1:-1;617:389:1;-1:-1:-1;;617:389:1:o", - "linkReferences": {}, - "immutableReferences": { - "1482": [ - { - "start": 835, - "length": 32 - } - ], - "1484": [ - { - "start": 871, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "getUniswapV3NonfungiblePositionManager()": "5438cc72", - "getValueInterpreter()": "875fb4b3", - "parseAssetsForAction(address,uint256,bytes)": "bbd2d646", - "parseInitArgs(address,bytes)": "db16c72e" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.7.6+commit.7338295f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_valueInterpreter\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_nonfungiblePositionManager\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"getUniswapV3NonfungiblePositionManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"nonfungiblePositionManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getValueInterpreter\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"valueInterpreter_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_externalPosition\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_actionId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_encodedActionArgs\",\"type\":\"bytes\"}],\"name\":\"parseAssetsForAction\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"assetsToTransfer_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amountsToTransfer_\",\"type\":\"uint256[]\"},{\"internalType\":\"address[]\",\"name\":\"assetsToReceive_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"parseInitArgs\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"getUniswapV3NonfungiblePositionManager()\":{\"returns\":{\"nonfungiblePositionManager_\":\"The `UNISWAP_V3_NON_FUNGIBLE_POSITION_MANAGER` variable value\"}},\"getValueInterpreter()\":{\"returns\":{\"valueInterpreter_\":\"The `VALUE_INTERPRETER` variable value\"}},\"parseAssetsForAction(address,uint256,bytes)\":{\"params\":{\"_actionId\":\"The _actionId for the callOnExternalPosition\",\"_encodedActionArgs\":\"The encoded parameters for the callOnExternalPosition\",\"_externalPosition\":\"The _externalPosition to be called\"},\"returns\":{\"amountsToTransfer_\":\"The amounts to be transferred from the Vault\",\"assetsToReceive_\":\"The assets to be received at the Vault\",\"assetsToTransfer_\":\"The assets to be transferred from the Vault\"}},\"parseInitArgs(address,bytes)\":{\"details\":\"Empty for this external position type\"}},\"title\":\"UniswapV3LiquidityPositionParser\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getUniswapV3NonfungiblePositionManager()\":{\"notice\":\"Gets the `UNISWAP_V3_NON_FUNGIBLE_POSITION_MANAGER` variable value\"},\"getValueInterpreter()\":{\"notice\":\"Gets the `VALUE_INTERPRETER` variable value\"},\"parseAssetsForAction(address,uint256,bytes)\":{\"notice\":\"Parses the assets to send and receive for the callOnExternalPosition\"},\"parseInitArgs(address,bytes)\":{\"notice\":\"Parse and validate input arguments to be used when initializing a newly-deployed ExternalPositionProxy\"}},\"notice\":\"Parser for UniswapV3 Liquidity Positions\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/uniswap-v3-liquidity/UniswapV3LiquidityPositionParser.sol\":\"UniswapV3LiquidityPositionParser\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/external-position-manager/external-positions/uniswap-v3-liquidity/UniswapV3LiquidityPositionDataDecoder.sol\":{\"keccak256\":\"0x46958283ca11717ff8a954f509a0f8ee3e339e1e70b268a6b38ad44d31625c25\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f5ba53bebea27970c26731a3a4e6511fca3ea10cf3092a4cd05ee0159bbf456c\",\"dweb:/ipfs/QmRtApdFi2EAmPgDNnpGSqtAwkiasQ92KbLVzE5pPP5RCH\"]},\"contracts/release/extensions/external-position-manager/external-positions/uniswap-v3-liquidity/UniswapV3LiquidityPositionParser.sol\":{\"keccak256\":\"0x3b54d5dbfd82d2e145268192673d25b89df6b3735d336cd6ed773697d98dfb53\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://4bba9e39b709ec2a5b560afe52ff19d7906abf46f87cea8457623e3f0a9f7aca\",\"dweb:/ipfs/QmYo3nLNHh4KyAnxse3RPRoXqkK2i5cEB8UAQX66zAFjeA\"]},\"contracts/release/extensions/external-position-manager/external-positions/uniswap-v3-liquidity/interfaces/IExternalPositionParserUniswapV3LiquidityPosition.sol\":{\"keccak256\":\"0x4653c0250cc54efa1bdf6b2c97b35ea6207d02c887a221a59987aed538402fb6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a9b72c1faffac7fff4f678d66c5681787c9817c561d7958b38408a2ed436538b\",\"dweb:/ipfs/QmY3jDZv2KxN7ErGb74RYvaPBE9GoCrAb2kUfDHbx3jEK8\"]},\"contracts/release/extensions/external-position-manager/external-positions/uniswap-v3-liquidity/interfaces/IExternalPositionUniswapV3LiquidityPosition.sol\":{\"keccak256\":\"0x8cd962cedcd165722c29f50f58b575b24a9527da11cca71ece25c5124e5895e8\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://7e66f5fdae8bba39be27d7576f8ae41d094b4e08e91f80c875190949c3eacb0d\",\"dweb:/ipfs/QmSqNkZPomPh2yMD9uDU8BWLWWnd9r1fSoPbitbm87CWqZ\"]},\"contracts/release/extensions/external-position-manager/external-positions/uniswap-v3-liquidity/interfaces/IUniswapV3LiquidityPosition.sol\":{\"keccak256\":\"0x82fd7abb793f369af1de4bd22e0debb6898308aa821df874e2eb1171d1f2c84d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6597e5c74f70e6e3ababc1e357d16d4634380a794d30b8b7ce6c79012d5bdf62\",\"dweb:/ipfs/QmRH1hWJdC2rTvi2WscB5w2Lyj7XUgm8QQLbzeYJxgwdNM\"]},\"contracts/release/extensions/external-position-manager/external-positions/uniswap-v3-liquidity/interfaces/IValueInterpreterUniswapV3LiquidityPosition.sol\":{\"keccak256\":\"0xbf42ff85d5f25f5185ff5a48cfbe187ac29629917ebb3571a1830ab5ec94137b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://e82522498a30164ec606b5fce18ae0f480bc2433c531fe469af21b58086fd760\",\"dweb:/ipfs/QmWitHqQr6bGNRAMiMdciuRZTxYFav2LbcRrXmE4B4vnmz\"]},\"node_modules/@openzeppelin-solc-0.7/contracts/introspection/ERC165.sol\":{\"keccak256\":\"0x234cdf2c3efd5f0dc17d32fe65d33c21674ca17de1e945eb60ac1076d7152d96\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd196df6ec4549923b4581fcb4be3d05237b5221067410d0bc34cb76d4174441\",\"dweb:/ipfs/Qmf2vFVgbfpD4FvAhQXkprg9sKSX3TXKRdbQTSjJVEmzWj\"]},\"node_modules/@openzeppelin-solc-0.7/contracts/introspection/IERC165.sol\":{\"keccak256\":\"0xd2f30fad5b24c4120f96dbac83aacdb7993ee610a9092bc23c44463da292bf8d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e3d4e72409e392c7694b6405a0136cf073d8da016df33ef8f9ad195f724ebfea\",\"dweb:/ipfs/QmPGcddKq6CgsiKnxUUif2q76wRqP3dmdQ6bKuHCLmb8Wa\"]},\"node_modules/@openzeppelin-solc-0.7/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xe22a1fc7400ae196eba2ad1562d0386462b00a6363b742d55a2fd2021a58586f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4a635cec58fb4141a16cfd408f1a21ac944c335a3beaba541c35d2e95c04536f\",\"dweb:/ipfs/QmXWcz73UenN1ji8jiWMbzxHjjfLbNQwLVKTEB5zNFE34K\"]},\"node_modules/@openzeppelin-solc-0.7/contracts/token/ERC721/ERC721.sol\":{\"keccak256\":\"0x93e4f65a89c3c888afbaa3ee18c3fa4f51c422419bbcd9cca47676a0f8e507ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a9c54b2935c810e14b17d6b5d7adeb0e1733d172823f02c30e1be8729715841\",\"dweb:/ipfs/QmZGveXLQpqJQRjfeNws7mGSjxKpnfZCnKaXyH4soxDSkR\"]},\"node_modules/@openzeppelin-solc-0.7/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0xb11597841d47f7a773bca63ca323c76f804cb5d944788de0327db5526319dc82\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://930d2da1934886a1098753be4173dd89c45ca0b306a1930accd37e00b1af4aaf\",\"dweb:/ipfs/QmVSXnvEV41d43k8cfpANHoTYMKgBDBL8iCbxkLfEtQZBe\"]},\"node_modules/@openzeppelin-solc-0.7/contracts/token/ERC721/IERC721Enumerable.sol\":{\"keccak256\":\"0x2789dfea2d73182683d637db5729201f6730dae6113030a94c828f8688f38f2f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://36374eaa68c0737bf7e1ae13d55327b4868fb0825e971ee729f4b8d355ededb4\",\"dweb:/ipfs/QmYN9yuzz4P5SumiT6rgYgTEY8MhnPQapMwx2LHxRKju7r\"]},\"node_modules/@openzeppelin-solc-0.7/contracts/token/ERC721/IERC721Metadata.sol\":{\"keccak256\":\"0xc82c7d1d732081d9bd23f1555ebdf8f3bc1738bc42c2bfc4b9aa7564d9fa3573\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5cb07e4ff3352161510a0d1536fe93f3c62526358e073a8bab2a8abbb27d0da1\",\"dweb:/ipfs/QmX7K1JjnWKT1JzZT92Qx5zNJQYbssE533TLFHP88hj2fb\"]},\"node_modules/@openzeppelin-solc-0.7/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0x05604ffcf69e416b8a42728bb0e4fd75170d8fac70bf1a284afeb4752a9bc52f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8a7fd1043372336ecccdbcbcf4962c6df8958dc9c7c7f8361fc2b3dd23570cc\",\"dweb:/ipfs/QmYHKgZxnanBfu7Q8ZicVhDDuB7XRGxuwvmCjfQQ1E5j39\"]},\"node_modules/@openzeppelin-solc-0.7/contracts/utils/Address.sol\":{\"keccak256\":\"0xf89f005a3d98f7768cdee2583707db0ac725cf567d455751af32ee68132f3db3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f963d438177764b5f43f637c02311c951c0f0025d12fe1ac7e62e295bf416c41\",\"dweb:/ipfs/QmcfVb9JsWrYeTwFUJsKVHpKB7EaWBKydAH9S4sKg2pzcK\"]},\"node_modules/@openzeppelin-solc-0.7/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]},\"node_modules/@openzeppelin-solc-0.7/contracts/utils/EnumerableMap.sol\":{\"keccak256\":\"0x2114555153edb5f273008b3d34205f511db9af06b88f752e4c280dd612c4c549\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8779df50f4f716c6adaa5f61880c572abb2b37197d690d6aad32e52a32d5f382\",\"dweb:/ipfs/QmVuZMGNFEo4gm1QB55gnCwCTc7XC5npkmgdfeJUgHbMiL\"]},\"node_modules/@openzeppelin-solc-0.7/contracts/utils/EnumerableSet.sol\":{\"keccak256\":\"0x9a2c1eebb65250f0e11882237038600f22a62376f0547db4acc0dfe0a3d8d34f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ccafc1afbcbf54559beea9c029d0b7656c56a185813c5fa74c4ea3eb4b608419\",\"dweb:/ipfs/QmTKwdbenDfNwmwRVh8VKtA6mhFK2AyTFRoJF3BqLB81KM\"]},\"node_modules/@openzeppelin-solc-0.7/contracts/utils/Strings.sol\":{\"keccak256\":\"0x08e38e034333372aea8cb1b8846085b7fbab42c6b77a0af464d2c6827827c4f0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://22746e9348187309fb4fbd3f79f6ad88787103eac10f24bd18f67257fafdd8ad\",\"dweb:/ipfs/QmSLXfXg8b27Xstq58DFGvCpqgtTqpfrGbLMq19PtEKQJS\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.7.6+commit.7338295f" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_valueInterpreter", - "type": "address" - }, - { - "internalType": "address", - "name": "_nonfungiblePositionManager", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getUniswapV3NonfungiblePositionManager", - "outputs": [ - { - "internalType": "address", - "name": "nonfungiblePositionManager_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getValueInterpreter", - "outputs": [ - { - "internalType": "address", - "name": "valueInterpreter_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_externalPosition", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_actionId", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "_encodedActionArgs", - "type": "bytes" - } - ], - "stateMutability": "view", - "type": "function", - "name": "parseAssetsForAction", - "outputs": [ - { - "internalType": "address[]", - "name": "assetsToTransfer_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "amountsToTransfer_", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "assetsToReceive_", - "type": "address[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "view", - "type": "function", - "name": "parseInitArgs", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "getUniswapV3NonfungiblePositionManager()": { - "returns": { - "nonfungiblePositionManager_": "The `UNISWAP_V3_NON_FUNGIBLE_POSITION_MANAGER` variable value" - } - }, - "getValueInterpreter()": { - "returns": { - "valueInterpreter_": "The `VALUE_INTERPRETER` variable value" - } - }, - "parseAssetsForAction(address,uint256,bytes)": { - "params": { - "_actionId": "The _actionId for the callOnExternalPosition", - "_encodedActionArgs": "The encoded parameters for the callOnExternalPosition", - "_externalPosition": "The _externalPosition to be called" - }, - "returns": { - "amountsToTransfer_": "The amounts to be transferred from the Vault", - "assetsToReceive_": "The assets to be received at the Vault", - "assetsToTransfer_": "The assets to be transferred from the Vault" - } - }, - "parseInitArgs(address,bytes)": { - "details": "Empty for this external position type" - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "getUniswapV3NonfungiblePositionManager()": { - "notice": "Gets the `UNISWAP_V3_NON_FUNGIBLE_POSITION_MANAGER` variable value" - }, - "getValueInterpreter()": { - "notice": "Gets the `VALUE_INTERPRETER` variable value" - }, - "parseAssetsForAction(address,uint256,bytes)": { - "notice": "Parses the assets to send and receive for the callOnExternalPosition" - }, - "parseInitArgs(address,bytes)": { - "notice": "Parse and validate input arguments to be used when initializing a newly-deployed ExternalPositionProxy" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/external-position-manager/external-positions/uniswap-v3-liquidity/UniswapV3LiquidityPositionParser.sol": "UniswapV3LiquidityPositionParser" - }, - "libraries": {} - }, - "sources": { - "contracts/release/extensions/external-position-manager/external-positions/uniswap-v3-liquidity/UniswapV3LiquidityPositionDataDecoder.sol": { - "keccak256": "0x46958283ca11717ff8a954f509a0f8ee3e339e1e70b268a6b38ad44d31625c25", - "urls": [ - "bzz-raw://f5ba53bebea27970c26731a3a4e6511fca3ea10cf3092a4cd05ee0159bbf456c", - "dweb:/ipfs/QmRtApdFi2EAmPgDNnpGSqtAwkiasQ92KbLVzE5pPP5RCH" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/uniswap-v3-liquidity/UniswapV3LiquidityPositionParser.sol": { - "keccak256": "0x3b54d5dbfd82d2e145268192673d25b89df6b3735d336cd6ed773697d98dfb53", - "urls": [ - "bzz-raw://4bba9e39b709ec2a5b560afe52ff19d7906abf46f87cea8457623e3f0a9f7aca", - "dweb:/ipfs/QmYo3nLNHh4KyAnxse3RPRoXqkK2i5cEB8UAQX66zAFjeA" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/uniswap-v3-liquidity/interfaces/IExternalPositionParserUniswapV3LiquidityPosition.sol": { - "keccak256": "0x4653c0250cc54efa1bdf6b2c97b35ea6207d02c887a221a59987aed538402fb6", - "urls": [ - "bzz-raw://a9b72c1faffac7fff4f678d66c5681787c9817c561d7958b38408a2ed436538b", - "dweb:/ipfs/QmY3jDZv2KxN7ErGb74RYvaPBE9GoCrAb2kUfDHbx3jEK8" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/uniswap-v3-liquidity/interfaces/IExternalPositionUniswapV3LiquidityPosition.sol": { - "keccak256": "0x8cd962cedcd165722c29f50f58b575b24a9527da11cca71ece25c5124e5895e8", - "urls": [ - "bzz-raw://7e66f5fdae8bba39be27d7576f8ae41d094b4e08e91f80c875190949c3eacb0d", - "dweb:/ipfs/QmSqNkZPomPh2yMD9uDU8BWLWWnd9r1fSoPbitbm87CWqZ" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/uniswap-v3-liquidity/interfaces/IUniswapV3LiquidityPosition.sol": { - "keccak256": "0x82fd7abb793f369af1de4bd22e0debb6898308aa821df874e2eb1171d1f2c84d", - "urls": [ - "bzz-raw://6597e5c74f70e6e3ababc1e357d16d4634380a794d30b8b7ce6c79012d5bdf62", - "dweb:/ipfs/QmRH1hWJdC2rTvi2WscB5w2Lyj7XUgm8QQLbzeYJxgwdNM" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/external-positions/uniswap-v3-liquidity/interfaces/IValueInterpreterUniswapV3LiquidityPosition.sol": { - "keccak256": "0xbf42ff85d5f25f5185ff5a48cfbe187ac29629917ebb3571a1830ab5ec94137b", - "urls": [ - "bzz-raw://e82522498a30164ec606b5fce18ae0f480bc2433c531fe469af21b58086fd760", - "dweb:/ipfs/QmWitHqQr6bGNRAMiMdciuRZTxYFav2LbcRrXmE4B4vnmz" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin-solc-0.7/contracts/introspection/ERC165.sol": { - "keccak256": "0x234cdf2c3efd5f0dc17d32fe65d33c21674ca17de1e945eb60ac1076d7152d96", - "urls": [ - "bzz-raw://bd196df6ec4549923b4581fcb4be3d05237b5221067410d0bc34cb76d4174441", - "dweb:/ipfs/Qmf2vFVgbfpD4FvAhQXkprg9sKSX3TXKRdbQTSjJVEmzWj" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin-solc-0.7/contracts/introspection/IERC165.sol": { - "keccak256": "0xd2f30fad5b24c4120f96dbac83aacdb7993ee610a9092bc23c44463da292bf8d", - "urls": [ - "bzz-raw://e3d4e72409e392c7694b6405a0136cf073d8da016df33ef8f9ad195f724ebfea", - "dweb:/ipfs/QmPGcddKq6CgsiKnxUUif2q76wRqP3dmdQ6bKuHCLmb8Wa" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin-solc-0.7/contracts/math/SafeMath.sol": { - "keccak256": "0xe22a1fc7400ae196eba2ad1562d0386462b00a6363b742d55a2fd2021a58586f", - "urls": [ - "bzz-raw://4a635cec58fb4141a16cfd408f1a21ac944c335a3beaba541c35d2e95c04536f", - "dweb:/ipfs/QmXWcz73UenN1ji8jiWMbzxHjjfLbNQwLVKTEB5zNFE34K" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin-solc-0.7/contracts/token/ERC721/ERC721.sol": { - "keccak256": "0x93e4f65a89c3c888afbaa3ee18c3fa4f51c422419bbcd9cca47676a0f8e507ea", - "urls": [ - "bzz-raw://1a9c54b2935c810e14b17d6b5d7adeb0e1733d172823f02c30e1be8729715841", - "dweb:/ipfs/QmZGveXLQpqJQRjfeNws7mGSjxKpnfZCnKaXyH4soxDSkR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin-solc-0.7/contracts/token/ERC721/IERC721.sol": { - "keccak256": "0xb11597841d47f7a773bca63ca323c76f804cb5d944788de0327db5526319dc82", - "urls": [ - "bzz-raw://930d2da1934886a1098753be4173dd89c45ca0b306a1930accd37e00b1af4aaf", - "dweb:/ipfs/QmVSXnvEV41d43k8cfpANHoTYMKgBDBL8iCbxkLfEtQZBe" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin-solc-0.7/contracts/token/ERC721/IERC721Enumerable.sol": { - "keccak256": "0x2789dfea2d73182683d637db5729201f6730dae6113030a94c828f8688f38f2f", - "urls": [ - "bzz-raw://36374eaa68c0737bf7e1ae13d55327b4868fb0825e971ee729f4b8d355ededb4", - "dweb:/ipfs/QmYN9yuzz4P5SumiT6rgYgTEY8MhnPQapMwx2LHxRKju7r" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin-solc-0.7/contracts/token/ERC721/IERC721Metadata.sol": { - "keccak256": "0xc82c7d1d732081d9bd23f1555ebdf8f3bc1738bc42c2bfc4b9aa7564d9fa3573", - "urls": [ - "bzz-raw://5cb07e4ff3352161510a0d1536fe93f3c62526358e073a8bab2a8abbb27d0da1", - "dweb:/ipfs/QmX7K1JjnWKT1JzZT92Qx5zNJQYbssE533TLFHP88hj2fb" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin-solc-0.7/contracts/token/ERC721/IERC721Receiver.sol": { - "keccak256": "0x05604ffcf69e416b8a42728bb0e4fd75170d8fac70bf1a284afeb4752a9bc52f", - "urls": [ - "bzz-raw://a8a7fd1043372336ecccdbcbcf4962c6df8958dc9c7c7f8361fc2b3dd23570cc", - "dweb:/ipfs/QmYHKgZxnanBfu7Q8ZicVhDDuB7XRGxuwvmCjfQQ1E5j39" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin-solc-0.7/contracts/utils/Address.sol": { - "keccak256": "0xf89f005a3d98f7768cdee2583707db0ac725cf567d455751af32ee68132f3db3", - "urls": [ - "bzz-raw://f963d438177764b5f43f637c02311c951c0f0025d12fe1ac7e62e295bf416c41", - "dweb:/ipfs/QmcfVb9JsWrYeTwFUJsKVHpKB7EaWBKydAH9S4sKg2pzcK" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin-solc-0.7/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin-solc-0.7/contracts/utils/EnumerableMap.sol": { - "keccak256": "0x2114555153edb5f273008b3d34205f511db9af06b88f752e4c280dd612c4c549", - "urls": [ - "bzz-raw://8779df50f4f716c6adaa5f61880c572abb2b37197d690d6aad32e52a32d5f382", - "dweb:/ipfs/QmVuZMGNFEo4gm1QB55gnCwCTc7XC5npkmgdfeJUgHbMiL" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin-solc-0.7/contracts/utils/EnumerableSet.sol": { - "keccak256": "0x9a2c1eebb65250f0e11882237038600f22a62376f0547db4acc0dfe0a3d8d34f", - "urls": [ - "bzz-raw://ccafc1afbcbf54559beea9c029d0b7656c56a185813c5fa74c4ea3eb4b608419", - "dweb:/ipfs/QmTKwdbenDfNwmwRVh8VKtA6mhFK2AyTFRoJF3BqLB81KM" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin-solc-0.7/contracts/utils/Strings.sol": { - "keccak256": "0x08e38e034333372aea8cb1b8846085b7fbab42c6b77a0af464d2c6827827c4f0", - "urls": [ - "bzz-raw://22746e9348187309fb4fbd3f79f6ad88787103eac10f24bd18f67257fafdd8ad", - "dweb:/ipfs/QmSLXfXg8b27Xstq58DFGvCpqgtTqpfrGbLMq19PtEKQJS" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 3 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_valueInterpreter", "type": "address", "internalType": "address" }, { "name": "_nonfungiblePositionManager", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "getUniswapV3NonfungiblePositionManager", "inputs": [], "outputs": [ { "name": "nonfungiblePositionManager_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getValueInterpreter", "inputs": [], "outputs": [ { "name": "valueInterpreter_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "parseAssetsForAction", "inputs": [ { "name": "_externalPosition", "type": "address", "internalType": "address" }, { "name": "_actionId", "type": "uint256", "internalType": "uint256" }, { "name": "_encodedActionArgs", "type": "bytes", "internalType": "bytes" } ], "outputs": [ { "name": "assetsToTransfer_", "type": "address[]", "internalType": "address[]" }, { "name": "amountsToTransfer_", "type": "uint256[]", "internalType": "uint256[]" }, { "name": "assetsToReceive_", "type": "address[]", "internalType": "address[]" } ], "stateMutability": "view" }, { "type": "function", "name": "parseInitArgs", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [ { "name": "", "type": "bytes", "internalType": "bytes" } ], "stateMutability": "view" } ], "bytecode": { "object": "0x60c060405234801561001057600080fd5b50604051610bc3380380610bc38339818101604052604081101561003357600080fd5b5080516020909101516001600160601b0319606091821b811660805291901b1660a05260805160601c60a05160601c610b4461007f600039806103675250806103435250610b446000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80635438cc7214610051578063875fb4b314610075578063bbd2d6461461007d578063db16c72e14610216575b600080fd5b610059610341565b604080516001600160a01b039092168252519081900360200190f35b610059610365565b6101386004803603606081101561009357600080fd5b6001600160a01b03823516916020810135918101906060810160408201356401000000008111156100c357600080fd5b8201836020820111156100d557600080fd5b803590602001918460018302840111640100000000831117156100f757600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610389945050505050565b60405180806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b83811015610180578181015183820152602001610168565b50505050905001848103835286818151815260200191508051906020019060200280838360005b838110156101bf5781810151838201526020016101a7565b50505050905001848103825285818151815260200191508051906020019060200280838360005b838110156101fe5781810151838201526020016101e6565b50505050905001965050505050505060405180910390f35b6102cc6004803603604081101561022c57600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561025757600080fd5b82018360208201111561026957600080fd5b8035906020019184600183028401116401000000008311171561028b57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506107ca945050505050565b6040805160208082528351818301528351919283929083019185019080838360005b838110156103065781810151838201526020016102ee565b50505050905090810190601f1680156103335780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b60608080846104c5576000806000806103a1886107d2565b505096509650505050935093506103b88484610876565b6103f35760405162461bcd60e51b8152600401808060200182810382526026815260200180610b126026913960400191505060405180910390fd5b6040805160028082526060820183529091602083019080368337019050509650838760008151811061042157fe5b60200260200101906001600160a01b031690816001600160a01b031681525050828760018151811061044f57fe5b6001600160a01b0392909216602092830291909101820152604080516002808252606082018352909290919083019080368337019050509550818660008151811061049657fe5b60200260200101818152505080866001815181106104b057fe5b602002602001018181525050505050506107c1565b60018514156106d25760008060006104dc87610aa3565b50509250925092506104ec610341565b6001600160a01b0316636352211e846040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561052f57600080fd5b505afa158015610543573d6000803e3d6000fd5b505050506040513d602081101561055957600080fd5b50516001600160a01b038a81169116146105a45760405162461bcd60e51b8152600401808060200182810382526028815260200180610aea6028913960400191505060405180910390fd5b604080516002808252606082018352909160208301908036833750506040805160028082526060820183529399509291506020830190803683375050604080516377f9229560e11b81526004810187905281519398506001600160a01b038d169363eff2452a935060248083019392829003018186803b15801561062757600080fd5b505afa15801561063b573d6000803e3d6000fd5b505050506040513d604081101561065157600080fd5b5080516020909101518751889060009061066757fe5b602002602001018860018151811061067b57fe5b6001600160a01b039384166020918202929092010152911690528451829086906000906106a457fe5b60200260200101818152505080856001815181106106be57fe5b6020026020010181815250505050506107c1565b60008480602001905160208110156106e957600080fd5b505160408051600280825260608201835292935091906020830190803683375050604080516377f9229560e11b81526004810185905281519395506001600160a01b038b169363eff2452a935060248083019392829003018186803b15801561075157600080fd5b505afa158015610765573d6000803e3d6000fd5b505050506040513d604081101561077b57600080fd5b5080516020909101518351849060009061079157fe5b60200260200101846001815181106107a557fe5b6001600160a01b03938416602091820292909201015291169052505b93509350939050565b606092915050565b6000806000806000806000806000898060200190516101208110156107f657600080fd5b810190808051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291905050509850985098509850985098509850985098509193959799909294969850565b600080610881610365565b9050806001600160a01b031663c496f8e8856040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156108d057600080fd5b505afa1580156108e4573d6000803e3d6000fd5b505050506040513d60208110156108fa57600080fd5b50511561098e57806001600160a01b0316639be918e6846040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561094e57600080fd5b505afa158015610962573d6000803e3d6000fd5b505050506040513d602081101561097857600080fd5b505115610989576001915050610a9d565b610a97565b806001600160a01b03166364b01dc1856040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156109db57600080fd5b505afa1580156109ef573d6000803e3d6000fd5b505050506040513d6020811015610a0557600080fd5b50518015610a885750806001600160a01b031663c496f8e8846040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610a5b57600080fd5b505afa158015610a6f573d6000803e3d6000fd5b505050506040513d6020811015610a8557600080fd5b50515b15610a97576001915050610a9d565b60009150505b92915050565b60008060008060008580602001905160a0811015610ac057600080fd5b508051602082015160408301516060840151608090940151929a9199509750919550935091505056fe5f5f6465636f6465456e636f646564416374696f6e417267733a20496e76616c6964206e667449647061727365417373657473466f72416374696f6e3a20556e737570706f727465642070616972a164736f6c6343000706000a", "sourceMap": "754:5963:3:-:0;;;1024:210;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1024:210:3;;;;;;;-1:-1:-1;;;;;;1110:70:3;;;;;;;;1190:37;;;;;;754:5963;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b506004361061004c5760003560e01c80635438cc7214610051578063875fb4b314610075578063bbd2d6461461007d578063db16c72e14610216575b600080fd5b610059610341565b604080516001600160a01b039092168252519081900360200190f35b610059610365565b6101386004803603606081101561009357600080fd5b6001600160a01b03823516916020810135918101906060810160408201356401000000008111156100c357600080fd5b8201836020820111156100d557600080fd5b803590602001918460018302840111640100000000831117156100f757600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610389945050505050565b60405180806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b83811015610180578181015183820152602001610168565b50505050905001848103835286818151815260200191508051906020019060200280838360005b838110156101bf5781810151838201526020016101a7565b50505050905001848103825285818151815260200191508051906020019060200280838360005b838110156101fe5781810151838201526020016101e6565b50505050905001965050505050505060405180910390f35b6102cc6004803603604081101561022c57600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561025757600080fd5b82018360208201111561026957600080fd5b8035906020019184600183028401116401000000008311171561028b57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506107ca945050505050565b6040805160208082528351818301528351919283929083019185019080838360005b838110156103065781810151838201526020016102ee565b50505050905090810190601f1680156103335780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b60608080846104c5576000806000806103a1886107d2565b505096509650505050935093506103b88484610876565b6103f35760405162461bcd60e51b8152600401808060200182810382526026815260200180610b126026913960400191505060405180910390fd5b6040805160028082526060820183529091602083019080368337019050509650838760008151811061042157fe5b60200260200101906001600160a01b031690816001600160a01b031681525050828760018151811061044f57fe5b6001600160a01b0392909216602092830291909101820152604080516002808252606082018352909290919083019080368337019050509550818660008151811061049657fe5b60200260200101818152505080866001815181106104b057fe5b602002602001018181525050505050506107c1565b60018514156106d25760008060006104dc87610aa3565b50509250925092506104ec610341565b6001600160a01b0316636352211e846040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561052f57600080fd5b505afa158015610543573d6000803e3d6000fd5b505050506040513d602081101561055957600080fd5b50516001600160a01b038a81169116146105a45760405162461bcd60e51b8152600401808060200182810382526028815260200180610aea6028913960400191505060405180910390fd5b604080516002808252606082018352909160208301908036833750506040805160028082526060820183529399509291506020830190803683375050604080516377f9229560e11b81526004810187905281519398506001600160a01b038d169363eff2452a935060248083019392829003018186803b15801561062757600080fd5b505afa15801561063b573d6000803e3d6000fd5b505050506040513d604081101561065157600080fd5b5080516020909101518751889060009061066757fe5b602002602001018860018151811061067b57fe5b6001600160a01b039384166020918202929092010152911690528451829086906000906106a457fe5b60200260200101818152505080856001815181106106be57fe5b6020026020010181815250505050506107c1565b60008480602001905160208110156106e957600080fd5b505160408051600280825260608201835292935091906020830190803683375050604080516377f9229560e11b81526004810185905281519395506001600160a01b038b169363eff2452a935060248083019392829003018186803b15801561075157600080fd5b505afa158015610765573d6000803e3d6000fd5b505050506040513d604081101561077b57600080fd5b5080516020909101518351849060009061079157fe5b60200260200101846001815181106107a557fe5b6001600160a01b03938416602091820292909201015291169052505b93509350939050565b606092915050565b6000806000806000806000806000898060200190516101208110156107f657600080fd5b810190808051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291908051906020019092919080519060200190929190805190602001909291905050509850985098509850985098509850985098509193959799909294969850565b600080610881610365565b9050806001600160a01b031663c496f8e8856040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156108d057600080fd5b505afa1580156108e4573d6000803e3d6000fd5b505050506040513d60208110156108fa57600080fd5b50511561098e57806001600160a01b0316639be918e6846040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561094e57600080fd5b505afa158015610962573d6000803e3d6000fd5b505050506040513d602081101561097857600080fd5b505115610989576001915050610a9d565b610a97565b806001600160a01b03166364b01dc1856040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b1580156109db57600080fd5b505afa1580156109ef573d6000803e3d6000fd5b505050506040513d6020811015610a0557600080fd5b50518015610a885750806001600160a01b031663c496f8e8846040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610a5b57600080fd5b505afa158015610a6f573d6000803e3d6000fd5b505050506040513d6020811015610a8557600080fd5b50515b15610a97576001915050610a9d565b60009150505b92915050565b60008060008060008580602001905160a0811015610ac057600080fd5b508051602082015160408301516060840151608090940151929a9199509750919550935091505056fe5f5f6465636f6465456e636f646564416374696f6e417267733a20496e76616c6964206e667449647061727365417373657473466f72416374696f6e3a20556e737570706f727465642070616972a164736f6c6343000706000a", "sourceMap": "754:5963:3:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6256:200;;;:::i;:::-;;;;-1:-1:-1;;;;;6256:200:3;;;;;;;;;;;;;;6595:120;;;:::i;1781:2906::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1781:2906:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1781:2906:3;;-1:-1:-1;1781:2906:3;;-1:-1:-1;;;;;1781:2906:3:i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4863:94;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4863:94:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4863:94:3;;-1:-1:-1;4863:94:3;;-1:-1:-1;;;;;4863:94:3:i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6256:200;6409:40;6256:200;:::o;6595:120::-;6691:17;6595:120;:::o;1781:2906::-;1997:34;;;2169:100;2152:2454;;2312:14;2344;2430:22;2470;2529:42;2552:18;2529:22;:42::i;:::-;2294:277;;;;;;;;;;;;;2594:35;2614:6;2622;2594:19;:35::i;:::-;2586:86;;;;-1:-1:-1;;;2586:86:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2899:16;;;2913:1;2899:16;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2899:16:3;2879:36;;2952:6;2929:17;2947:1;2929:20;;;;;;;;;;;;;:29;-1:-1:-1;;;;;2929:29:3;;;-1:-1:-1;;;;;2929:29:3;;;;;2995:6;2972:17;2990:1;2972:20;;;;;;;;-1:-1:-1;;;;;2972:29:3;;;;:20;;;;;;;;;;:29;3037:16;;;3051:1;3037:16;;;;;;;;;;3051:1;;3037:16;;;;;;;;;;-1:-1:-1;3037:16:3;3016:37;;3091:14;3067:18;3086:1;3067:21;;;;;;;;;;;;;:38;;;;;3143:14;3119:18;3138:1;3119:21;;;;;;;;;;;;;:38;;;;;2152:2454;;;;;;;3224:74;3191:9;:108;3174:1432;;;3342:13;3373:22;3413;3472:50;3503:18;3472:30;:50::i;:::-;3324:198;;;;;;;;3712:40;:38;:40::i;:::-;-1:-1:-1;;;;;3705:56:3;;3762:5;3705:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3705:63:3;-1:-1:-1;;;;;3664:104:3;;;;;;3639:203;;;;-1:-1:-1;;;3639:203:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3877:16;;;3891:1;3877:16;;;;;;;;;;;;;;;;;;-1:-1:-1;;3928:16:3;;;3942:1;3928:16;;;;;;;;3857:36;;-1:-1:-1;3928:16:3;3942:1;-1:-1:-1;3928:16:3;;;;;;;;-1:-1:-1;;4006:97:3;;;-1:-1:-1;;;4006:97:3;;;;;;;;;;3907:37;;-1:-1:-1;;;;;;4006:90:3;;;;;-1:-1:-1;4006:97:3;;;;;;;;;;;:90;:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4006:97:3;;;;;;;3960:20;;:17;;3978:1;;3960:20;;;;;;;;;3982:17;4000:1;3982:20;;;;;;;;-1:-1:-1;;;;;3959:144:3;;;3982:20;;;;;;;;;3959:144;;;;;4118:21;;4142:14;;4118:18;;4137:1;;4118:21;;;;;;;;;:38;;;;;4194:14;4170:18;4189:1;4170:21;;;;;;;;;;;;;:38;;;;;3174:1432;;;;;;4332:13;4359:18;4348:41;;;;;;;;;;;;;;;-1:-1:-1;4348:41:3;4423:16;;;4437:1;4423:16;;;;;;;;4348:41;;-1:-1:-1;4423:16:3;4437:1;4423:16;;;;;;;;-1:-1:-1;;4498:97:3;;;-1:-1:-1;;;4498:97:3;;;;;;;;;;4404:35;;-1:-1:-1;;;;;;4498:90:3;;;;;-1:-1:-1;4498:97:3;;;;;;;;;;;:90;:97;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4498:97:3;;;;;;;4454:19;;:16;;4471:1;;4454:19;;;;;;;;;4475:16;4492:1;4475:19;;;;;;;;-1:-1:-1;;;;;4453:142:3;;;4475:19;;;;;;;;;4453:142;;;;;-1:-1:-1;3174:1432:3;1781:2906;;;;;;;:::o;4863:94::-;4941:12;4863:94;;;;:::o;1333:585:1:-;1451:15;1480;1509:11;1534:16;1564;1594:23;1631;1668:19;1701;1792:11;1764:147;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1745:166;;;;;;;;;;;;;;;;;;1333:585;;;;;;;;;;;:::o;5243:745:3:-;5352:19;5387:68;5519:21;:19;:21::i;:::-;5387:167;;5569:24;-1:-1:-1;;;;;5569:50:3;;5620:7;5569:59;;;;;;;;;;;;;-1:-1:-1;;;;;5569:59:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5569:59:3;5565:394;;;5648:24;-1:-1:-1;;;;;5648:41:3;;5690:7;5648:50;;;;;;;;;;;;;-1:-1:-1;;;;;5648:50:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5648:50:3;5644:100;;;5725:4;5718:11;;;;;5644:100;5565:394;;;5777:24;-1:-1:-1;;;;;5777:51:3;;5829:7;5777:60;;;;;;;;;;;;;-1:-1:-1;;;;;5777:60:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5777:60:3;:135;;;;;5853:24;-1:-1:-1;;;;;5853:50:3;;5904:7;5853:59;;;;;;;;;;;;;-1:-1:-1;;;;;5853:59:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5853:59:3;5777:135;5760:199;;;5944:4;5937:11;;;;;5760:199;5976:5;5969:12;;;5243:745;;;;;:::o;617:389:1:-;743:14;771:23;808;845:19;878;940:11;929:70;;;;;;;;;;;;;;;-1:-1:-1;929:70:1;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;929:70:1;-1:-1:-1;929:70:1;;-1:-1:-1;929:70:1;-1:-1:-1;617:389:1;-1:-1:-1;;617:389:1:o", "linkReferences": {}, "immutableReferences": { "1482": [ { "start": 835, "length": 32 } ], "1484": [ { "start": 871, "length": 32 } ] } }, "methodIdentifiers": { "getUniswapV3NonfungiblePositionManager()": "5438cc72", "getValueInterpreter()": "875fb4b3", "parseAssetsForAction(address,uint256,bytes)": "bbd2d646", "parseInitArgs(address,bytes)": "db16c72e" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.7.6+commit.7338295f\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_valueInterpreter\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_nonfungiblePositionManager\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"getUniswapV3NonfungiblePositionManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"nonfungiblePositionManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getValueInterpreter\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"valueInterpreter_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_externalPosition\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_actionId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"_encodedActionArgs\",\"type\":\"bytes\"}],\"name\":\"parseAssetsForAction\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"assetsToTransfer_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"amountsToTransfer_\",\"type\":\"uint256[]\"},{\"internalType\":\"address[]\",\"name\":\"assetsToReceive_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"parseInitArgs\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"getUniswapV3NonfungiblePositionManager()\":{\"returns\":{\"nonfungiblePositionManager_\":\"The `UNISWAP_V3_NON_FUNGIBLE_POSITION_MANAGER` variable value\"}},\"getValueInterpreter()\":{\"returns\":{\"valueInterpreter_\":\"The `VALUE_INTERPRETER` variable value\"}},\"parseAssetsForAction(address,uint256,bytes)\":{\"params\":{\"_actionId\":\"The _actionId for the callOnExternalPosition\",\"_encodedActionArgs\":\"The encoded parameters for the callOnExternalPosition\",\"_externalPosition\":\"The _externalPosition to be called\"},\"returns\":{\"amountsToTransfer_\":\"The amounts to be transferred from the Vault\",\"assetsToReceive_\":\"The assets to be received at the Vault\",\"assetsToTransfer_\":\"The assets to be transferred from the Vault\"}},\"parseInitArgs(address,bytes)\":{\"details\":\"Empty for this external position type\"}},\"title\":\"UniswapV3LiquidityPositionParser\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getUniswapV3NonfungiblePositionManager()\":{\"notice\":\"Gets the `UNISWAP_V3_NON_FUNGIBLE_POSITION_MANAGER` variable value\"},\"getValueInterpreter()\":{\"notice\":\"Gets the `VALUE_INTERPRETER` variable value\"},\"parseAssetsForAction(address,uint256,bytes)\":{\"notice\":\"Parses the assets to send and receive for the callOnExternalPosition\"},\"parseInitArgs(address,bytes)\":{\"notice\":\"Parse and validate input arguments to be used when initializing a newly-deployed ExternalPositionProxy\"}},\"notice\":\"Parser for UniswapV3 Liquidity Positions\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/external-position-manager/external-positions/uniswap-v3-liquidity/UniswapV3LiquidityPositionParser.sol\":\"UniswapV3LiquidityPositionParser\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/external-position-manager/external-positions/uniswap-v3-liquidity/UniswapV3LiquidityPositionDataDecoder.sol\":{\"keccak256\":\"0x46958283ca11717ff8a954f509a0f8ee3e339e1e70b268a6b38ad44d31625c25\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f5ba53bebea27970c26731a3a4e6511fca3ea10cf3092a4cd05ee0159bbf456c\",\"dweb:/ipfs/QmRtApdFi2EAmPgDNnpGSqtAwkiasQ92KbLVzE5pPP5RCH\"]},\"contracts/release/extensions/external-position-manager/external-positions/uniswap-v3-liquidity/UniswapV3LiquidityPositionParser.sol\":{\"keccak256\":\"0x3b54d5dbfd82d2e145268192673d25b89df6b3735d336cd6ed773697d98dfb53\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://4bba9e39b709ec2a5b560afe52ff19d7906abf46f87cea8457623e3f0a9f7aca\",\"dweb:/ipfs/QmYo3nLNHh4KyAnxse3RPRoXqkK2i5cEB8UAQX66zAFjeA\"]},\"contracts/release/extensions/external-position-manager/external-positions/uniswap-v3-liquidity/interfaces/IExternalPositionParserUniswapV3LiquidityPosition.sol\":{\"keccak256\":\"0x4653c0250cc54efa1bdf6b2c97b35ea6207d02c887a221a59987aed538402fb6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a9b72c1faffac7fff4f678d66c5681787c9817c561d7958b38408a2ed436538b\",\"dweb:/ipfs/QmY3jDZv2KxN7ErGb74RYvaPBE9GoCrAb2kUfDHbx3jEK8\"]},\"contracts/release/extensions/external-position-manager/external-positions/uniswap-v3-liquidity/interfaces/IExternalPositionUniswapV3LiquidityPosition.sol\":{\"keccak256\":\"0x8cd962cedcd165722c29f50f58b575b24a9527da11cca71ece25c5124e5895e8\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://7e66f5fdae8bba39be27d7576f8ae41d094b4e08e91f80c875190949c3eacb0d\",\"dweb:/ipfs/QmSqNkZPomPh2yMD9uDU8BWLWWnd9r1fSoPbitbm87CWqZ\"]},\"contracts/release/extensions/external-position-manager/external-positions/uniswap-v3-liquidity/interfaces/IUniswapV3LiquidityPosition.sol\":{\"keccak256\":\"0x82fd7abb793f369af1de4bd22e0debb6898308aa821df874e2eb1171d1f2c84d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6597e5c74f70e6e3ababc1e357d16d4634380a794d30b8b7ce6c79012d5bdf62\",\"dweb:/ipfs/QmRH1hWJdC2rTvi2WscB5w2Lyj7XUgm8QQLbzeYJxgwdNM\"]},\"contracts/release/extensions/external-position-manager/external-positions/uniswap-v3-liquidity/interfaces/IValueInterpreterUniswapV3LiquidityPosition.sol\":{\"keccak256\":\"0xbf42ff85d5f25f5185ff5a48cfbe187ac29629917ebb3571a1830ab5ec94137b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://e82522498a30164ec606b5fce18ae0f480bc2433c531fe469af21b58086fd760\",\"dweb:/ipfs/QmWitHqQr6bGNRAMiMdciuRZTxYFav2LbcRrXmE4B4vnmz\"]},\"node_modules/@openzeppelin-solc-0.7/contracts/introspection/ERC165.sol\":{\"keccak256\":\"0x234cdf2c3efd5f0dc17d32fe65d33c21674ca17de1e945eb60ac1076d7152d96\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd196df6ec4549923b4581fcb4be3d05237b5221067410d0bc34cb76d4174441\",\"dweb:/ipfs/Qmf2vFVgbfpD4FvAhQXkprg9sKSX3TXKRdbQTSjJVEmzWj\"]},\"node_modules/@openzeppelin-solc-0.7/contracts/introspection/IERC165.sol\":{\"keccak256\":\"0xd2f30fad5b24c4120f96dbac83aacdb7993ee610a9092bc23c44463da292bf8d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e3d4e72409e392c7694b6405a0136cf073d8da016df33ef8f9ad195f724ebfea\",\"dweb:/ipfs/QmPGcddKq6CgsiKnxUUif2q76wRqP3dmdQ6bKuHCLmb8Wa\"]},\"node_modules/@openzeppelin-solc-0.7/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xe22a1fc7400ae196eba2ad1562d0386462b00a6363b742d55a2fd2021a58586f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4a635cec58fb4141a16cfd408f1a21ac944c335a3beaba541c35d2e95c04536f\",\"dweb:/ipfs/QmXWcz73UenN1ji8jiWMbzxHjjfLbNQwLVKTEB5zNFE34K\"]},\"node_modules/@openzeppelin-solc-0.7/contracts/token/ERC721/ERC721.sol\":{\"keccak256\":\"0x93e4f65a89c3c888afbaa3ee18c3fa4f51c422419bbcd9cca47676a0f8e507ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1a9c54b2935c810e14b17d6b5d7adeb0e1733d172823f02c30e1be8729715841\",\"dweb:/ipfs/QmZGveXLQpqJQRjfeNws7mGSjxKpnfZCnKaXyH4soxDSkR\"]},\"node_modules/@openzeppelin-solc-0.7/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0xb11597841d47f7a773bca63ca323c76f804cb5d944788de0327db5526319dc82\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://930d2da1934886a1098753be4173dd89c45ca0b306a1930accd37e00b1af4aaf\",\"dweb:/ipfs/QmVSXnvEV41d43k8cfpANHoTYMKgBDBL8iCbxkLfEtQZBe\"]},\"node_modules/@openzeppelin-solc-0.7/contracts/token/ERC721/IERC721Enumerable.sol\":{\"keccak256\":\"0x2789dfea2d73182683d637db5729201f6730dae6113030a94c828f8688f38f2f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://36374eaa68c0737bf7e1ae13d55327b4868fb0825e971ee729f4b8d355ededb4\",\"dweb:/ipfs/QmYN9yuzz4P5SumiT6rgYgTEY8MhnPQapMwx2LHxRKju7r\"]},\"node_modules/@openzeppelin-solc-0.7/contracts/token/ERC721/IERC721Metadata.sol\":{\"keccak256\":\"0xc82c7d1d732081d9bd23f1555ebdf8f3bc1738bc42c2bfc4b9aa7564d9fa3573\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5cb07e4ff3352161510a0d1536fe93f3c62526358e073a8bab2a8abbb27d0da1\",\"dweb:/ipfs/QmX7K1JjnWKT1JzZT92Qx5zNJQYbssE533TLFHP88hj2fb\"]},\"node_modules/@openzeppelin-solc-0.7/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0x05604ffcf69e416b8a42728bb0e4fd75170d8fac70bf1a284afeb4752a9bc52f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8a7fd1043372336ecccdbcbcf4962c6df8958dc9c7c7f8361fc2b3dd23570cc\",\"dweb:/ipfs/QmYHKgZxnanBfu7Q8ZicVhDDuB7XRGxuwvmCjfQQ1E5j39\"]},\"node_modules/@openzeppelin-solc-0.7/contracts/utils/Address.sol\":{\"keccak256\":\"0xf89f005a3d98f7768cdee2583707db0ac725cf567d455751af32ee68132f3db3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f963d438177764b5f43f637c02311c951c0f0025d12fe1ac7e62e295bf416c41\",\"dweb:/ipfs/QmcfVb9JsWrYeTwFUJsKVHpKB7EaWBKydAH9S4sKg2pzcK\"]},\"node_modules/@openzeppelin-solc-0.7/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]},\"node_modules/@openzeppelin-solc-0.7/contracts/utils/EnumerableMap.sol\":{\"keccak256\":\"0x2114555153edb5f273008b3d34205f511db9af06b88f752e4c280dd612c4c549\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8779df50f4f716c6adaa5f61880c572abb2b37197d690d6aad32e52a32d5f382\",\"dweb:/ipfs/QmVuZMGNFEo4gm1QB55gnCwCTc7XC5npkmgdfeJUgHbMiL\"]},\"node_modules/@openzeppelin-solc-0.7/contracts/utils/EnumerableSet.sol\":{\"keccak256\":\"0x9a2c1eebb65250f0e11882237038600f22a62376f0547db4acc0dfe0a3d8d34f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ccafc1afbcbf54559beea9c029d0b7656c56a185813c5fa74c4ea3eb4b608419\",\"dweb:/ipfs/QmTKwdbenDfNwmwRVh8VKtA6mhFK2AyTFRoJF3BqLB81KM\"]},\"node_modules/@openzeppelin-solc-0.7/contracts/utils/Strings.sol\":{\"keccak256\":\"0x08e38e034333372aea8cb1b8846085b7fbab42c6b77a0af464d2c6827827c4f0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://22746e9348187309fb4fbd3f79f6ad88787103eac10f24bd18f67257fafdd8ad\",\"dweb:/ipfs/QmSLXfXg8b27Xstq58DFGvCpqgtTqpfrGbLMq19PtEKQJS\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.7.6+commit.7338295f" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_valueInterpreter", "type": "address" }, { "internalType": "address", "name": "_nonfungiblePositionManager", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getUniswapV3NonfungiblePositionManager", "outputs": [ { "internalType": "address", "name": "nonfungiblePositionManager_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getValueInterpreter", "outputs": [ { "internalType": "address", "name": "valueInterpreter_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_externalPosition", "type": "address" }, { "internalType": "uint256", "name": "_actionId", "type": "uint256" }, { "internalType": "bytes", "name": "_encodedActionArgs", "type": "bytes" } ], "stateMutability": "view", "type": "function", "name": "parseAssetsForAction", "outputs": [ { "internalType": "address[]", "name": "assetsToTransfer_", "type": "address[]" }, { "internalType": "uint256[]", "name": "amountsToTransfer_", "type": "uint256[]" }, { "internalType": "address[]", "name": "assetsToReceive_", "type": "address[]" } ] }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "view", "type": "function", "name": "parseInitArgs", "outputs": [ { "internalType": "bytes", "name": "", "type": "bytes" } ] } ], "devdoc": { "kind": "dev", "methods": { "getUniswapV3NonfungiblePositionManager()": { "returns": { "nonfungiblePositionManager_": "The `UNISWAP_V3_NON_FUNGIBLE_POSITION_MANAGER` variable value" } }, "getValueInterpreter()": { "returns": { "valueInterpreter_": "The `VALUE_INTERPRETER` variable value" } }, "parseAssetsForAction(address,uint256,bytes)": { "params": { "_actionId": "The _actionId for the callOnExternalPosition", "_encodedActionArgs": "The encoded parameters for the callOnExternalPosition", "_externalPosition": "The _externalPosition to be called" }, "returns": { "amountsToTransfer_": "The amounts to be transferred from the Vault", "assetsToReceive_": "The assets to be received at the Vault", "assetsToTransfer_": "The assets to be transferred from the Vault" } }, "parseInitArgs(address,bytes)": { "details": "Empty for this external position type" } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "getUniswapV3NonfungiblePositionManager()": { "notice": "Gets the `UNISWAP_V3_NON_FUNGIBLE_POSITION_MANAGER` variable value" }, "getValueInterpreter()": { "notice": "Gets the `VALUE_INTERPRETER` variable value" }, "parseAssetsForAction(address,uint256,bytes)": { "notice": "Parses the assets to send and receive for the callOnExternalPosition" }, "parseInitArgs(address,bytes)": { "notice": "Parse and validate input arguments to be used when initializing a newly-deployed ExternalPositionProxy" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/external-position-manager/external-positions/uniswap-v3-liquidity/UniswapV3LiquidityPositionParser.sol": "UniswapV3LiquidityPositionParser" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/extensions/external-position-manager/external-positions/uniswap-v3-liquidity/UniswapV3LiquidityPositionDataDecoder.sol": { "keccak256": "0x46958283ca11717ff8a954f509a0f8ee3e339e1e70b268a6b38ad44d31625c25", "urls": [ "bzz-raw://f5ba53bebea27970c26731a3a4e6511fca3ea10cf3092a4cd05ee0159bbf456c", "dweb:/ipfs/QmRtApdFi2EAmPgDNnpGSqtAwkiasQ92KbLVzE5pPP5RCH" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/uniswap-v3-liquidity/UniswapV3LiquidityPositionParser.sol": { "keccak256": "0x3b54d5dbfd82d2e145268192673d25b89df6b3735d336cd6ed773697d98dfb53", "urls": [ "bzz-raw://4bba9e39b709ec2a5b560afe52ff19d7906abf46f87cea8457623e3f0a9f7aca", "dweb:/ipfs/QmYo3nLNHh4KyAnxse3RPRoXqkK2i5cEB8UAQX66zAFjeA" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/uniswap-v3-liquidity/interfaces/IExternalPositionParserUniswapV3LiquidityPosition.sol": { "keccak256": "0x4653c0250cc54efa1bdf6b2c97b35ea6207d02c887a221a59987aed538402fb6", "urls": [ "bzz-raw://a9b72c1faffac7fff4f678d66c5681787c9817c561d7958b38408a2ed436538b", "dweb:/ipfs/QmY3jDZv2KxN7ErGb74RYvaPBE9GoCrAb2kUfDHbx3jEK8" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/uniswap-v3-liquidity/interfaces/IExternalPositionUniswapV3LiquidityPosition.sol": { "keccak256": "0x8cd962cedcd165722c29f50f58b575b24a9527da11cca71ece25c5124e5895e8", "urls": [ "bzz-raw://7e66f5fdae8bba39be27d7576f8ae41d094b4e08e91f80c875190949c3eacb0d", "dweb:/ipfs/QmSqNkZPomPh2yMD9uDU8BWLWWnd9r1fSoPbitbm87CWqZ" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/uniswap-v3-liquidity/interfaces/IUniswapV3LiquidityPosition.sol": { "keccak256": "0x82fd7abb793f369af1de4bd22e0debb6898308aa821df874e2eb1171d1f2c84d", "urls": [ "bzz-raw://6597e5c74f70e6e3ababc1e357d16d4634380a794d30b8b7ce6c79012d5bdf62", "dweb:/ipfs/QmRH1hWJdC2rTvi2WscB5w2Lyj7XUgm8QQLbzeYJxgwdNM" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/external-positions/uniswap-v3-liquidity/interfaces/IValueInterpreterUniswapV3LiquidityPosition.sol": { "keccak256": "0xbf42ff85d5f25f5185ff5a48cfbe187ac29629917ebb3571a1830ab5ec94137b", "urls": [ "bzz-raw://e82522498a30164ec606b5fce18ae0f480bc2433c531fe469af21b58086fd760", "dweb:/ipfs/QmWitHqQr6bGNRAMiMdciuRZTxYFav2LbcRrXmE4B4vnmz" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin-solc-0.7/contracts/introspection/ERC165.sol": { "keccak256": "0x234cdf2c3efd5f0dc17d32fe65d33c21674ca17de1e945eb60ac1076d7152d96", "urls": [ "bzz-raw://bd196df6ec4549923b4581fcb4be3d05237b5221067410d0bc34cb76d4174441", "dweb:/ipfs/Qmf2vFVgbfpD4FvAhQXkprg9sKSX3TXKRdbQTSjJVEmzWj" ], "license": "MIT" }, "node_modules/@openzeppelin-solc-0.7/contracts/introspection/IERC165.sol": { "keccak256": "0xd2f30fad5b24c4120f96dbac83aacdb7993ee610a9092bc23c44463da292bf8d", "urls": [ "bzz-raw://e3d4e72409e392c7694b6405a0136cf073d8da016df33ef8f9ad195f724ebfea", "dweb:/ipfs/QmPGcddKq6CgsiKnxUUif2q76wRqP3dmdQ6bKuHCLmb8Wa" ], "license": "MIT" }, "node_modules/@openzeppelin-solc-0.7/contracts/math/SafeMath.sol": { "keccak256": "0xe22a1fc7400ae196eba2ad1562d0386462b00a6363b742d55a2fd2021a58586f", "urls": [ "bzz-raw://4a635cec58fb4141a16cfd408f1a21ac944c335a3beaba541c35d2e95c04536f", "dweb:/ipfs/QmXWcz73UenN1ji8jiWMbzxHjjfLbNQwLVKTEB5zNFE34K" ], "license": "MIT" }, "node_modules/@openzeppelin-solc-0.7/contracts/token/ERC721/ERC721.sol": { "keccak256": "0x93e4f65a89c3c888afbaa3ee18c3fa4f51c422419bbcd9cca47676a0f8e507ea", "urls": [ "bzz-raw://1a9c54b2935c810e14b17d6b5d7adeb0e1733d172823f02c30e1be8729715841", "dweb:/ipfs/QmZGveXLQpqJQRjfeNws7mGSjxKpnfZCnKaXyH4soxDSkR" ], "license": "MIT" }, "node_modules/@openzeppelin-solc-0.7/contracts/token/ERC721/IERC721.sol": { "keccak256": "0xb11597841d47f7a773bca63ca323c76f804cb5d944788de0327db5526319dc82", "urls": [ "bzz-raw://930d2da1934886a1098753be4173dd89c45ca0b306a1930accd37e00b1af4aaf", "dweb:/ipfs/QmVSXnvEV41d43k8cfpANHoTYMKgBDBL8iCbxkLfEtQZBe" ], "license": "MIT" }, "node_modules/@openzeppelin-solc-0.7/contracts/token/ERC721/IERC721Enumerable.sol": { "keccak256": "0x2789dfea2d73182683d637db5729201f6730dae6113030a94c828f8688f38f2f", "urls": [ "bzz-raw://36374eaa68c0737bf7e1ae13d55327b4868fb0825e971ee729f4b8d355ededb4", "dweb:/ipfs/QmYN9yuzz4P5SumiT6rgYgTEY8MhnPQapMwx2LHxRKju7r" ], "license": "MIT" }, "node_modules/@openzeppelin-solc-0.7/contracts/token/ERC721/IERC721Metadata.sol": { "keccak256": "0xc82c7d1d732081d9bd23f1555ebdf8f3bc1738bc42c2bfc4b9aa7564d9fa3573", "urls": [ "bzz-raw://5cb07e4ff3352161510a0d1536fe93f3c62526358e073a8bab2a8abbb27d0da1", "dweb:/ipfs/QmX7K1JjnWKT1JzZT92Qx5zNJQYbssE533TLFHP88hj2fb" ], "license": "MIT" }, "node_modules/@openzeppelin-solc-0.7/contracts/token/ERC721/IERC721Receiver.sol": { "keccak256": "0x05604ffcf69e416b8a42728bb0e4fd75170d8fac70bf1a284afeb4752a9bc52f", "urls": [ "bzz-raw://a8a7fd1043372336ecccdbcbcf4962c6df8958dc9c7c7f8361fc2b3dd23570cc", "dweb:/ipfs/QmYHKgZxnanBfu7Q8ZicVhDDuB7XRGxuwvmCjfQQ1E5j39" ], "license": "MIT" }, "node_modules/@openzeppelin-solc-0.7/contracts/utils/Address.sol": { "keccak256": "0xf89f005a3d98f7768cdee2583707db0ac725cf567d455751af32ee68132f3db3", "urls": [ "bzz-raw://f963d438177764b5f43f637c02311c951c0f0025d12fe1ac7e62e295bf416c41", "dweb:/ipfs/QmcfVb9JsWrYeTwFUJsKVHpKB7EaWBKydAH9S4sKg2pzcK" ], "license": "MIT" }, "node_modules/@openzeppelin-solc-0.7/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" }, "node_modules/@openzeppelin-solc-0.7/contracts/utils/EnumerableMap.sol": { "keccak256": "0x2114555153edb5f273008b3d34205f511db9af06b88f752e4c280dd612c4c549", "urls": [ "bzz-raw://8779df50f4f716c6adaa5f61880c572abb2b37197d690d6aad32e52a32d5f382", "dweb:/ipfs/QmVuZMGNFEo4gm1QB55gnCwCTc7XC5npkmgdfeJUgHbMiL" ], "license": "MIT" }, "node_modules/@openzeppelin-solc-0.7/contracts/utils/EnumerableSet.sol": { "keccak256": "0x9a2c1eebb65250f0e11882237038600f22a62376f0547db4acc0dfe0a3d8d34f", "urls": [ "bzz-raw://ccafc1afbcbf54559beea9c029d0b7656c56a185813c5fa74c4ea3eb4b608419", "dweb:/ipfs/QmTKwdbenDfNwmwRVh8VKtA6mhFK2AyTFRoJF3BqLB81KM" ], "license": "MIT" }, "node_modules/@openzeppelin-solc-0.7/contracts/utils/Strings.sol": { "keccak256": "0x08e38e034333372aea8cb1b8846085b7fbab42c6b77a0af464d2c6827827c4f0", "urls": [ "bzz-raw://22746e9348187309fb4fbd3f79f6ad88787103eac10f24bd18f67257fafdd8ad", "dweb:/ipfs/QmSLXfXg8b27Xstq58DFGvCpqgtTqpfrGbLMq19PtEKQJS" ], "license": "MIT" } }, "version": 1 }, "id": 3 } diff --git a/eth_defi/abi/enzyme/UnpermissionedActionsWrapper.json b/eth_defi/abi/enzyme/UnpermissionedActionsWrapper.json index ddf25c99..2e665ee1 100644 --- a/eth_defi/abi/enzyme/UnpermissionedActionsWrapper.json +++ b/eth_defi/abi/enzyme/UnpermissionedActionsWrapper.json @@ -1,516 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_feeManager", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - } - ], - "name": "getContinuousFeesForFund", - "outputs": [ - { - "internalType": "address[]", - "name": "continuousFees_", - "type": "address[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getFeeManager", - "outputs": [ - { - "internalType": "address", - "name": "feeManager_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "address[]", - "name": "_fees", - "type": "address[]" - } - ], - "name": "invokeContinuousFeeHookAndPayoutSharesOutstandingForFund", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x60a060405234801561001057600080fd5b506040516106db3803806106db8339818101604052602081101561003357600080fd5b5051606081901b6001600160601b0319166080526001600160a01b03166106746100676000398061064552506106746000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80630efe688014610046578063ace7cc9c146100bc578063f2d638261461013e575b600080fd5b61006c6004803603602081101561005c57600080fd5b50356001600160a01b0316610162565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156100a8578181015183820152602001610090565b505050509050019250505060405180910390f35b61013c600480360360408110156100d257600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156100fd57600080fd5b82018360208201111561010f57600080fd5b8035906020019184602083028401116401000000008311171561013157600080fd5b509092509050610485565b005b610146610643565b604080516001600160a01b039092168252519081900360200190f35b6060600061016e610643565b90506060816001600160a01b031663a9f3b42f856040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060006040518083038186803b1580156101bf57600080fd5b505afa1580156101d3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260208110156101fc57600080fd5b810190808051604051939291908464010000000082111561021c57600080fd5b90830190602082018581111561023157600080fd5b825186602082028301116401000000008211171561024e57600080fd5b82525081516020918201928201910280838360005b8381101561027b578181015183820152602001610263565b50505050905001604052505050905060006060825167ffffffffffffffff811180156102a657600080fd5b506040519080825280602002602001820160405280156102d0578160200160208202803683370190505b50905060005b83518110156103a75760008482815181106102ed57fe5b60200260200101516001600160a01b031663320f0ddd60006040518263ffffffff1660e01b81526004018082600381111561032457fe5b8152602001915050604080518083038186803b15801561034357600080fd5b505afa158015610357573d6000803e3d6000fd5b505050506040513d604081101561036d57600080fd5b50519050801561039e578380600101945050600183838151811061038d57fe5b911515602092830291909101909101525b506001016102d6565b50816103c85750506040805160008152602081019091529250610480915050565b8167ffffffffffffffff811180156103df57600080fd5b50604051908082528060200260200182016040528015610409578160200160208202803683370190505b5094506000805b84518110156104795782818151811061042557fe5b6020026020010151156104715784818151811061043e57fe5b602002602001015187838151811061045257fe5b6001600160a01b03909216602092830291909101909101526001909101905b600101610410565b5050505050505b919050565b826001600160a01b0381166339bf70d161049d610643565b604080516001600160e01b031960e085901b1681526001600160a01b0390921660048301526000602483018190526060604484015260648301819052905160a48084019382900301818387803b1580156104f657600080fd5b505af115801561050a573d6000803e3d6000fd5b50505050806001600160a01b03166339bf70d1610525610643565b6001868660405160200180806020018281038252848482818152602001925060200280828437600081840152601f19601f82011690508083019250505093505050506040516020818303038152906040526040518463ffffffff1660e01b815260040180846001600160a01b0316815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b838110156105d75781810151838201526020016105bf565b50505050905090810190601f1680156106045780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b15801561062557600080fd5b505af1158015610639573d6000803e3d6000fd5b5050505050505050565b7f00000000000000000000000000000000000000000000000000000000000000009056fea164736f6c634300060c000a", - "sourceMap": "566:2837:350:-:0;;;654:82;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;654:82:350;704:25;;;;-1:-1:-1;;;;;;704:25:350;;;-1:-1:-1;;;;;566:2837:350;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106100415760003560e01c80630efe688014610046578063ace7cc9c146100bc578063f2d638261461013e575b600080fd5b61006c6004803603602081101561005c57600080fd5b50356001600160a01b0316610162565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156100a8578181015183820152602001610090565b505050509050019250505060405180910390f35b61013c600480360360408110156100d257600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156100fd57600080fd5b82018360208201111561010f57600080fd5b8035906020019184602083028401116401000000008311171561013157600080fd5b509092509050610485565b005b610146610643565b604080516001600160a01b039092168252519081900360200190f35b6060600061016e610643565b90506060816001600160a01b031663a9f3b42f856040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060006040518083038186803b1580156101bf57600080fd5b505afa1580156101d3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260208110156101fc57600080fd5b810190808051604051939291908464010000000082111561021c57600080fd5b90830190602082018581111561023157600080fd5b825186602082028301116401000000008211171561024e57600080fd5b82525081516020918201928201910280838360005b8381101561027b578181015183820152602001610263565b50505050905001604052505050905060006060825167ffffffffffffffff811180156102a657600080fd5b506040519080825280602002602001820160405280156102d0578160200160208202803683370190505b50905060005b83518110156103a75760008482815181106102ed57fe5b60200260200101516001600160a01b031663320f0ddd60006040518263ffffffff1660e01b81526004018082600381111561032457fe5b8152602001915050604080518083038186803b15801561034357600080fd5b505afa158015610357573d6000803e3d6000fd5b505050506040513d604081101561036d57600080fd5b50519050801561039e578380600101945050600183838151811061038d57fe5b911515602092830291909101909101525b506001016102d6565b50816103c85750506040805160008152602081019091529250610480915050565b8167ffffffffffffffff811180156103df57600080fd5b50604051908082528060200260200182016040528015610409578160200160208202803683370190505b5094506000805b84518110156104795782818151811061042557fe5b6020026020010151156104715784818151811061043e57fe5b602002602001015187838151811061045257fe5b6001600160a01b03909216602092830291909101909101526001909101905b600101610410565b5050505050505b919050565b826001600160a01b0381166339bf70d161049d610643565b604080516001600160e01b031960e085901b1681526001600160a01b0390921660048301526000602483018190526060604484015260648301819052905160a48084019382900301818387803b1580156104f657600080fd5b505af115801561050a573d6000803e3d6000fd5b50505050806001600160a01b03166339bf70d1610525610643565b6001868660405160200180806020018281038252848482818152602001925060200280828437600081840152601f19601f82011690508083019250505093505050506040516020818303038152906040526040518463ffffffff1660e01b815260040180846001600160a01b0316815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b838110156105d75781810151838201526020016105bf565b50505050905090810190601f1680156106045780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b15801561062557600080fd5b505af1158015610639573d6000803e3d6000fd5b5050505050505050565b7f00000000000000000000000000000000000000000000000000000000000000009056fea164736f6c634300060c000a", - "sourceMap": "566:2837:350:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;972:1276;;;;;;;;;;;;;;;;-1:-1:-1;972:1276:350;-1:-1:-1;;;;;972:1276:350;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2705:406;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2705:406:350;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2705:406:350;;-1:-1:-1;2705:406:350;-1:-1:-1;2705:406:350;:::i;:::-;;3299:102;;;:::i;:::-;;;;-1:-1:-1;;;;;3299:102:350;;;;;;;;;;;;;;972:1276;1080:32;1128:29;1171:15;:13;:15::i;:::-;1128:59;;1198:21;1222:18;-1:-1:-1;;;;;1222:40:350;;1263:17;1222:59;;;;;;;;;;;;;-1:-1:-1;;;;;1222:59:350;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1222:59:350;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1222:59:350;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1198:83;;1329:27;1366:38;1418:4;:11;1407:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1407:23:350;;1366:64;;1445:9;1440:273;1460:4;:11;1456:1;:15;1440:273;;;1493:12;1516:4;1521:1;1516:7;;;;;;;;;;;;;;-1:-1:-1;;;;;1511:27:350;;1539:30;1511:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1511:59:350;;-1:-1:-1;1584:119:350;;;;1615:21;;;;;;;1684:4;1654:24;1679:1;1654:27;;;;;;;;:34;;;:27;;;;;;;;;;;:34;1584:119;-1:-1:-1;1473:3:350;;1440:273;;;-1:-1:-1;1773:24:350;1769:78;;-1:-1:-1;;1820:16:350;;;1834:1;1820:16;;;;;;;;;-1:-1:-1;1813:23:350;;-1:-1:-1;;1813:23:350;1769:78;1929:19;1915:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1915:34:350;;1897:52;;1959:27;2001:9;1996:213;2016:4;:11;2012:1;:15;1996:213;;;2052:24;2077:1;2052:27;;;;;;;;;;;;;;2048:151;;;2138:4;2143:1;2138:7;;;;;;;;;;;;;;2099:15;2115:19;2099:36;;;;;;;;-1:-1:-1;;;;;2099:46:350;;;:36;;;;;;;;;;;:46;2163:21;;;;;2048:151;2029:3;;1996:213;;;;2219:22;;;;;972:1276;;;;:::o;2705:406::-;2922:17;-1:-1:-1;;;;;2951:40:350;;;2992:15;:13;:15::i;:::-;2951:64;;;-1:-1:-1;;;;;;2951:64:350;;;;;;;-1:-1:-1;;;;;2951:64:350;;;;;;;3009:1;2951:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3009:1;2951:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3025:24;-1:-1:-1;;;;;3025:40:350;;3066:15;:13;:15::i;:::-;3083:1;3097:5;;3086:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3025:79;;;;;;;;;;;;;-1:-1:-1;;;;;3025:79:350;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2705:406;;;;:::o;3299:102::-;3383:11;3299:102;:::o", - "linkReferences": {}, - "immutableReferences": { - "74633": [ - { - "start": 1605, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "getContinuousFeesForFund(address)": "0efe6880", - "getFeeManager()": "f2d63826", - "invokeContinuousFeeHookAndPayoutSharesOutstandingForFund(address,address[])": "ace7cc9c" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_feeManager\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"}],\"name\":\"getContinuousFeesForFund\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"continuousFees_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFeeManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"feeManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"address[]\",\"name\":\"_fees\",\"type\":\"address[]\"}],\"name\":\"invokeContinuousFeeHookAndPayoutSharesOutstandingForFund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"getContinuousFeesForFund(address)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\"},\"returns\":{\"continuousFees_\":\"The fees that implement the `Continuous` fee hook\"}},\"getFeeManager()\":{\"returns\":{\"feeManager_\":\"The `FEE_MANAGER` variable value\"}},\"invokeContinuousFeeHookAndPayoutSharesOutstandingForFund(address,address[])\":{\"details\":\"This is just a wrapper to execute two callOnExtension() actions atomically, in sequence. The caller must pass in the fees that they want to run this logic on.\",\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\",\"_fees\":\"The fees for which to run these actions\"}}},\"title\":\"UnpermissionedActionsWrapper Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getContinuousFeesForFund(address)\":{\"notice\":\"Gets all fees that implement the `Continuous` fee hook for a fund\"},\"getFeeManager()\":{\"notice\":\"Gets the `FEE_MANAGER` variable\"},\"invokeContinuousFeeHookAndPayoutSharesOutstandingForFund(address,address[])\":{\"notice\":\"Invokes the Continuous fee hook on all specified fees, and then attempts to payout any shares outstanding on those fees\"}},\"notice\":\"Logic related to wrapping actions that do not need access control\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/peripheral/UnpermissionedActionsWrapper.sol\":\"UnpermissionedActionsWrapper\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/persistent/vault/interfaces/IExternalPositionVault.sol\":{\"keccak256\":\"0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d\",\"dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8\"]},\"contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol\":{\"keccak256\":\"0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb\",\"dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU\"]},\"contracts/persistent/vault/interfaces/IMigratableVault.sol\":{\"keccak256\":\"0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6\",\"dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs\"]},\"contracts/persistent/vault/interfaces/IVaultCore.sol\":{\"keccak256\":\"0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd\",\"dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr\"]},\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/core/fund/comptroller/ComptrollerLib.sol\":{\"keccak256\":\"0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579\",\"dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq\"]},\"contracts/release/core/fund/comptroller/IComptroller.sol\":{\"keccak256\":\"0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97\",\"dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L\"]},\"contracts/release/core/fund/vault/IVault.sol\":{\"keccak256\":\"0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599\",\"dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG\"]},\"contracts/release/extensions/IExtension.sol\":{\"keccak256\":\"0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70\",\"dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t\"]},\"contracts/release/extensions/fee-manager/FeeManager.sol\":{\"keccak256\":\"0xf3a3e504ca755cafda78f204d1e8005b6808854be0b5b19d17d9971ec49369a9\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3b82ffb3926983b4c60ddf8cd80b14d4ae548ea9b6f9ebf87f3fe70ffa5a89b9\",\"dweb:/ipfs/QmfJE4i4ZTDWhPwwKQSfjfWYQ62BsDs3FrxavjmLFe3HzB\"]},\"contracts/release/extensions/fee-manager/IFee.sol\":{\"keccak256\":\"0x38e3f324c67f3205e38197165586ea82ca226069902f34214bcde76cf905fcff\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c1fff656d1bdde3324421bc9e77cbfc4e80baf4e665f8713fdb65611b046f4b0\",\"dweb:/ipfs/QmVRFjNwmsVHdh4sp3DWdL74VWmhRhPZE5kDxJiuPL8Gu2\"]},\"contracts/release/extensions/fee-manager/IFeeManager.sol\":{\"keccak256\":\"0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22\",\"dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod\"]},\"contracts/release/extensions/policy-manager/IPolicyManager.sol\":{\"keccak256\":\"0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa\",\"dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb\"]},\"contracts/release/extensions/utils/ExtensionBase.sol\":{\"keccak256\":\"0xae68767766f6459bd2cd9dbd39df74f2c2f68f2150885bbce410e4091c807bb1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ce4c49522a39f618cc76feb474260fe910949f38e83b5f4518f1f245ba6eb876\",\"dweb:/ipfs/QmZ4wciRpziZAS4HRQy44Sgzm4GM4Wzme9zYnABzR6Cbzo\"]},\"contracts/release/extensions/utils/PermissionedVaultActionMixin.sol\":{\"keccak256\":\"0x77ddb9299d9c5f1538c20ae1543c20ef73db11ad7d9a9b817d26969ab233bb57\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://77812616256a092e0fd77469dcd2a2e098a1cf52686eeb6703a169efa64c27df\",\"dweb:/ipfs/QmbRPZznXSX3aA2VVJNpRqFXdJZebVDcDuY8EnF75Z7GpB\"]},\"contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol\":{\"keccak256\":\"0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f\",\"dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol\":{\"keccak256\":\"0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0\",\"dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol\":{\"keccak256\":\"0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b\",\"dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3\"]},\"contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol\":{\"keccak256\":\"0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965\",\"dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ\"]},\"contracts/release/interfaces/IGsnForwarder.sol\":{\"keccak256\":\"0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29\",\"dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G\"]},\"contracts/release/interfaces/IGsnPaymaster.sol\":{\"keccak256\":\"0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4\",\"dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF\"]},\"contracts/release/interfaces/IGsnTypes.sol\":{\"keccak256\":\"0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7\",\"dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C\"]},\"contracts/release/peripheral/UnpermissionedActionsWrapper.sol\":{\"keccak256\":\"0x77758733792b561febec91b86d5512fb37e6e7de3eed56aa9913eb51ea0cc0c8\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2e1381b126e72f78f5da5d9778b25ffa21c2a9fcf94e44ea68195974a723a823\",\"dweb:/ipfs/QmVE7fBhXUxzCwosTuhPtb8QpbKi6EpW8U6FKfPJ7Udp5G\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/FundDeployerOwnerMixin.sol\":{\"keccak256\":\"0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927\",\"dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM\"]},\"contracts/release/utils/beacon-proxy/IBeacon.sol\":{\"keccak256\":\"0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39\",\"dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V\"]},\"contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol\":{\"keccak256\":\"0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be\",\"dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_feeManager", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getContinuousFeesForFund", - "outputs": [ - { - "internalType": "address[]", - "name": "continuousFees_", - "type": "address[]" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getFeeManager", - "outputs": [ - { - "internalType": "address", - "name": "feeManager_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "address[]", - "name": "_fees", - "type": "address[]" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "invokeContinuousFeeHookAndPayoutSharesOutstandingForFund" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "getContinuousFeesForFund(address)": { - "params": { - "_comptrollerProxy": "The ComptrollerProxy of the fund" - }, - "returns": { - "continuousFees_": "The fees that implement the `Continuous` fee hook" - } - }, - "getFeeManager()": { - "returns": { - "feeManager_": "The `FEE_MANAGER` variable value" - } - }, - "invokeContinuousFeeHookAndPayoutSharesOutstandingForFund(address,address[])": { - "details": "This is just a wrapper to execute two callOnExtension() actions atomically, in sequence. The caller must pass in the fees that they want to run this logic on.", - "params": { - "_comptrollerProxy": "The ComptrollerProxy of the fund", - "_fees": "The fees for which to run these actions" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "getContinuousFeesForFund(address)": { - "notice": "Gets all fees that implement the `Continuous` fee hook for a fund" - }, - "getFeeManager()": { - "notice": "Gets the `FEE_MANAGER` variable" - }, - "invokeContinuousFeeHookAndPayoutSharesOutstandingForFund(address,address[])": { - "notice": "Invokes the Continuous fee hook on all specified fees, and then attempts to payout any shares outstanding on those fees" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/peripheral/UnpermissionedActionsWrapper.sol": "UnpermissionedActionsWrapper" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/dispatcher/IDispatcher.sol": { - "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", - "urls": [ - "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", - "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/external-positions/IExternalPosition.sol": { - "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", - "urls": [ - "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", - "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IExternalPositionVault.sol": { - "keccak256": "0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6", - "urls": [ - "bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d", - "dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol": { - "keccak256": "0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0", - "urls": [ - "bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb", - "dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IMigratableVault.sol": { - "keccak256": "0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238", - "urls": [ - "bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6", - "dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IVaultCore.sol": { - "keccak256": "0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80", - "urls": [ - "bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd", - "dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund-deployer/IFundDeployer.sol": { - "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", - "urls": [ - "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", - "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/comptroller/ComptrollerLib.sol": { - "keccak256": "0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64", - "urls": [ - "bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579", - "dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/comptroller/IComptroller.sol": { - "keccak256": "0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f", - "urls": [ - "bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97", - "dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/vault/IVault.sol": { - "keccak256": "0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd", - "urls": [ - "bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599", - "dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/IExtension.sol": { - "keccak256": "0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b", - "urls": [ - "bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70", - "dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/fee-manager/FeeManager.sol": { - "keccak256": "0xf3a3e504ca755cafda78f204d1e8005b6808854be0b5b19d17d9971ec49369a9", - "urls": [ - "bzz-raw://3b82ffb3926983b4c60ddf8cd80b14d4ae548ea9b6f9ebf87f3fe70ffa5a89b9", - "dweb:/ipfs/QmfJE4i4ZTDWhPwwKQSfjfWYQ62BsDs3FrxavjmLFe3HzB" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/fee-manager/IFee.sol": { - "keccak256": "0x38e3f324c67f3205e38197165586ea82ca226069902f34214bcde76cf905fcff", - "urls": [ - "bzz-raw://c1fff656d1bdde3324421bc9e77cbfc4e80baf4e665f8713fdb65611b046f4b0", - "dweb:/ipfs/QmVRFjNwmsVHdh4sp3DWdL74VWmhRhPZE5kDxJiuPL8Gu2" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/fee-manager/IFeeManager.sol": { - "keccak256": "0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51", - "urls": [ - "bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22", - "dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/policy-manager/IPolicyManager.sol": { - "keccak256": "0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32", - "urls": [ - "bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa", - "dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/utils/ExtensionBase.sol": { - "keccak256": "0xae68767766f6459bd2cd9dbd39df74f2c2f68f2150885bbce410e4091c807bb1", - "urls": [ - "bzz-raw://ce4c49522a39f618cc76feb474260fe910949f38e83b5f4518f1f245ba6eb876", - "dweb:/ipfs/QmZ4wciRpziZAS4HRQy44Sgzm4GM4Wzme9zYnABzR6Cbzo" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/utils/PermissionedVaultActionMixin.sol": { - "keccak256": "0x77ddb9299d9c5f1538c20ae1543c20ef73db11ad7d9a9b817d26969ab233bb57", - "urls": [ - "bzz-raw://77812616256a092e0fd77469dcd2a2e098a1cf52686eeb6703a169efa64c27df", - "dweb:/ipfs/QmbRPZznXSX3aA2VVJNpRqFXdJZebVDcDuY8EnF75Z7GpB" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol": { - "keccak256": "0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609", - "urls": [ - "bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f", - "dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol": { - "keccak256": "0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01", - "urls": [ - "bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0", - "dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol": { - "keccak256": "0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196", - "urls": [ - "bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b", - "dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol": { - "keccak256": "0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794", - "urls": [ - "bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965", - "dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IGsnForwarder.sol": { - "keccak256": "0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030", - "urls": [ - "bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29", - "dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IGsnPaymaster.sol": { - "keccak256": "0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c", - "urls": [ - "bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4", - "dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IGsnTypes.sol": { - "keccak256": "0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714", - "urls": [ - "bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7", - "dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C" - ], - "license": "GPL-3.0" - }, - "contracts/release/peripheral/UnpermissionedActionsWrapper.sol": { - "keccak256": "0x77758733792b561febec91b86d5512fb37e6e7de3eed56aa9913eb51ea0cc0c8", - "urls": [ - "bzz-raw://2e1381b126e72f78f5da5d9778b25ffa21c2a9fcf94e44ea68195974a723a823", - "dweb:/ipfs/QmVE7fBhXUxzCwosTuhPtb8QpbKi6EpW8U6FKfPJ7Udp5G" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AddressArrayLib.sol": { - "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", - "urls": [ - "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", - "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/FundDeployerOwnerMixin.sol": { - "keccak256": "0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934", - "urls": [ - "bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927", - "dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/beacon-proxy/IBeacon.sol": { - "keccak256": "0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2", - "urls": [ - "bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39", - "dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol": { - "keccak256": "0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc", - "urls": [ - "bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be", - "dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { - "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", - "urls": [ - "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", - "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Address.sol": { - "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", - "urls": [ - "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", - "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 350 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_feeManager", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "getContinuousFeesForFund", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "continuousFees_", "type": "address[]", "internalType": "address[]" } ], "stateMutability": "view" }, { "type": "function", "name": "getFeeManager", "inputs": [], "outputs": [ { "name": "feeManager_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "invokeContinuousFeeHookAndPayoutSharesOutstandingForFund", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" }, { "name": "_fees", "type": "address[]", "internalType": "address[]" } ], "outputs": [], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x60a060405234801561001057600080fd5b506040516106db3803806106db8339818101604052602081101561003357600080fd5b5051606081901b6001600160601b0319166080526001600160a01b03166106746100676000398061064552506106746000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80630efe688014610046578063ace7cc9c146100bc578063f2d638261461013e575b600080fd5b61006c6004803603602081101561005c57600080fd5b50356001600160a01b0316610162565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156100a8578181015183820152602001610090565b505050509050019250505060405180910390f35b61013c600480360360408110156100d257600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156100fd57600080fd5b82018360208201111561010f57600080fd5b8035906020019184602083028401116401000000008311171561013157600080fd5b509092509050610485565b005b610146610643565b604080516001600160a01b039092168252519081900360200190f35b6060600061016e610643565b90506060816001600160a01b031663a9f3b42f856040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060006040518083038186803b1580156101bf57600080fd5b505afa1580156101d3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260208110156101fc57600080fd5b810190808051604051939291908464010000000082111561021c57600080fd5b90830190602082018581111561023157600080fd5b825186602082028301116401000000008211171561024e57600080fd5b82525081516020918201928201910280838360005b8381101561027b578181015183820152602001610263565b50505050905001604052505050905060006060825167ffffffffffffffff811180156102a657600080fd5b506040519080825280602002602001820160405280156102d0578160200160208202803683370190505b50905060005b83518110156103a75760008482815181106102ed57fe5b60200260200101516001600160a01b031663320f0ddd60006040518263ffffffff1660e01b81526004018082600381111561032457fe5b8152602001915050604080518083038186803b15801561034357600080fd5b505afa158015610357573d6000803e3d6000fd5b505050506040513d604081101561036d57600080fd5b50519050801561039e578380600101945050600183838151811061038d57fe5b911515602092830291909101909101525b506001016102d6565b50816103c85750506040805160008152602081019091529250610480915050565b8167ffffffffffffffff811180156103df57600080fd5b50604051908082528060200260200182016040528015610409578160200160208202803683370190505b5094506000805b84518110156104795782818151811061042557fe5b6020026020010151156104715784818151811061043e57fe5b602002602001015187838151811061045257fe5b6001600160a01b03909216602092830291909101909101526001909101905b600101610410565b5050505050505b919050565b826001600160a01b0381166339bf70d161049d610643565b604080516001600160e01b031960e085901b1681526001600160a01b0390921660048301526000602483018190526060604484015260648301819052905160a48084019382900301818387803b1580156104f657600080fd5b505af115801561050a573d6000803e3d6000fd5b50505050806001600160a01b03166339bf70d1610525610643565b6001868660405160200180806020018281038252848482818152602001925060200280828437600081840152601f19601f82011690508083019250505093505050506040516020818303038152906040526040518463ffffffff1660e01b815260040180846001600160a01b0316815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b838110156105d75781810151838201526020016105bf565b50505050905090810190601f1680156106045780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b15801561062557600080fd5b505af1158015610639573d6000803e3d6000fd5b5050505050505050565b7f00000000000000000000000000000000000000000000000000000000000000009056fea164736f6c634300060c000a", "sourceMap": "566:2837:350:-:0;;;654:82;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;654:82:350;704:25;;;;-1:-1:-1;;;;;;704:25:350;;;-1:-1:-1;;;;;566:2837:350;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106100415760003560e01c80630efe688014610046578063ace7cc9c146100bc578063f2d638261461013e575b600080fd5b61006c6004803603602081101561005c57600080fd5b50356001600160a01b0316610162565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156100a8578181015183820152602001610090565b505050509050019250505060405180910390f35b61013c600480360360408110156100d257600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156100fd57600080fd5b82018360208201111561010f57600080fd5b8035906020019184602083028401116401000000008311171561013157600080fd5b509092509050610485565b005b610146610643565b604080516001600160a01b039092168252519081900360200190f35b6060600061016e610643565b90506060816001600160a01b031663a9f3b42f856040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060006040518083038186803b1580156101bf57600080fd5b505afa1580156101d3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260208110156101fc57600080fd5b810190808051604051939291908464010000000082111561021c57600080fd5b90830190602082018581111561023157600080fd5b825186602082028301116401000000008211171561024e57600080fd5b82525081516020918201928201910280838360005b8381101561027b578181015183820152602001610263565b50505050905001604052505050905060006060825167ffffffffffffffff811180156102a657600080fd5b506040519080825280602002602001820160405280156102d0578160200160208202803683370190505b50905060005b83518110156103a75760008482815181106102ed57fe5b60200260200101516001600160a01b031663320f0ddd60006040518263ffffffff1660e01b81526004018082600381111561032457fe5b8152602001915050604080518083038186803b15801561034357600080fd5b505afa158015610357573d6000803e3d6000fd5b505050506040513d604081101561036d57600080fd5b50519050801561039e578380600101945050600183838151811061038d57fe5b911515602092830291909101909101525b506001016102d6565b50816103c85750506040805160008152602081019091529250610480915050565b8167ffffffffffffffff811180156103df57600080fd5b50604051908082528060200260200182016040528015610409578160200160208202803683370190505b5094506000805b84518110156104795782818151811061042557fe5b6020026020010151156104715784818151811061043e57fe5b602002602001015187838151811061045257fe5b6001600160a01b03909216602092830291909101909101526001909101905b600101610410565b5050505050505b919050565b826001600160a01b0381166339bf70d161049d610643565b604080516001600160e01b031960e085901b1681526001600160a01b0390921660048301526000602483018190526060604484015260648301819052905160a48084019382900301818387803b1580156104f657600080fd5b505af115801561050a573d6000803e3d6000fd5b50505050806001600160a01b03166339bf70d1610525610643565b6001868660405160200180806020018281038252848482818152602001925060200280828437600081840152601f19601f82011690508083019250505093505050506040516020818303038152906040526040518463ffffffff1660e01b815260040180846001600160a01b0316815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b838110156105d75781810151838201526020016105bf565b50505050905090810190601f1680156106045780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b15801561062557600080fd5b505af1158015610639573d6000803e3d6000fd5b5050505050505050565b7f00000000000000000000000000000000000000000000000000000000000000009056fea164736f6c634300060c000a", "sourceMap": "566:2837:350:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;972:1276;;;;;;;;;;;;;;;;-1:-1:-1;972:1276:350;-1:-1:-1;;;;;972:1276:350;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2705:406;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2705:406:350;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2705:406:350;;-1:-1:-1;2705:406:350;-1:-1:-1;2705:406:350;:::i;:::-;;3299:102;;;:::i;:::-;;;;-1:-1:-1;;;;;3299:102:350;;;;;;;;;;;;;;972:1276;1080:32;1128:29;1171:15;:13;:15::i;:::-;1128:59;;1198:21;1222:18;-1:-1:-1;;;;;1222:40:350;;1263:17;1222:59;;;;;;;;;;;;;-1:-1:-1;;;;;1222:59:350;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1222:59:350;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1222:59:350;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1198:83;;1329:27;1366:38;1418:4;:11;1407:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1407:23:350;;1366:64;;1445:9;1440:273;1460:4;:11;1456:1;:15;1440:273;;;1493:12;1516:4;1521:1;1516:7;;;;;;;;;;;;;;-1:-1:-1;;;;;1511:27:350;;1539:30;1511:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1511:59:350;;-1:-1:-1;1584:119:350;;;;1615:21;;;;;;;1684:4;1654:24;1679:1;1654:27;;;;;;;;:34;;;:27;;;;;;;;;;;:34;1584:119;-1:-1:-1;1473:3:350;;1440:273;;;-1:-1:-1;1773:24:350;1769:78;;-1:-1:-1;;1820:16:350;;;1834:1;1820:16;;;;;;;;;-1:-1:-1;1813:23:350;;-1:-1:-1;;1813:23:350;1769:78;1929:19;1915:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1915:34:350;;1897:52;;1959:27;2001:9;1996:213;2016:4;:11;2012:1;:15;1996:213;;;2052:24;2077:1;2052:27;;;;;;;;;;;;;;2048:151;;;2138:4;2143:1;2138:7;;;;;;;;;;;;;;2099:15;2115:19;2099:36;;;;;;;;-1:-1:-1;;;;;2099:46:350;;;:36;;;;;;;;;;;:46;2163:21;;;;;2048:151;2029:3;;1996:213;;;;2219:22;;;;;972:1276;;;;:::o;2705:406::-;2922:17;-1:-1:-1;;;;;2951:40:350;;;2992:15;:13;:15::i;:::-;2951:64;;;-1:-1:-1;;;;;;2951:64:350;;;;;;;-1:-1:-1;;;;;2951:64:350;;;;;;;3009:1;2951:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3009:1;2951:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3025:24;-1:-1:-1;;;;;3025:40:350;;3066:15;:13;:15::i;:::-;3083:1;3097:5;;3086:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3025:79;;;;;;;;;;;;;-1:-1:-1;;;;;3025:79:350;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2705:406;;;;:::o;3299:102::-;3383:11;3299:102;:::o", "linkReferences": {}, "immutableReferences": { "74633": [ { "start": 1605, "length": 32 } ] } }, "methodIdentifiers": { "getContinuousFeesForFund(address)": "0efe6880", "getFeeManager()": "f2d63826", "invokeContinuousFeeHookAndPayoutSharesOutstandingForFund(address,address[])": "ace7cc9c" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_feeManager\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"}],\"name\":\"getContinuousFeesForFund\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"continuousFees_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFeeManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"feeManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"address[]\",\"name\":\"_fees\",\"type\":\"address[]\"}],\"name\":\"invokeContinuousFeeHookAndPayoutSharesOutstandingForFund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"getContinuousFeesForFund(address)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\"},\"returns\":{\"continuousFees_\":\"The fees that implement the `Continuous` fee hook\"}},\"getFeeManager()\":{\"returns\":{\"feeManager_\":\"The `FEE_MANAGER` variable value\"}},\"invokeContinuousFeeHookAndPayoutSharesOutstandingForFund(address,address[])\":{\"details\":\"This is just a wrapper to execute two callOnExtension() actions atomically, in sequence. The caller must pass in the fees that they want to run this logic on.\",\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy of the fund\",\"_fees\":\"The fees for which to run these actions\"}}},\"title\":\"UnpermissionedActionsWrapper Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getContinuousFeesForFund(address)\":{\"notice\":\"Gets all fees that implement the `Continuous` fee hook for a fund\"},\"getFeeManager()\":{\"notice\":\"Gets the `FEE_MANAGER` variable\"},\"invokeContinuousFeeHookAndPayoutSharesOutstandingForFund(address,address[])\":{\"notice\":\"Invokes the Continuous fee hook on all specified fees, and then attempts to payout any shares outstanding on those fees\"}},\"notice\":\"Logic related to wrapping actions that do not need access control\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/peripheral/UnpermissionedActionsWrapper.sol\":\"UnpermissionedActionsWrapper\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/persistent/vault/interfaces/IExternalPositionVault.sol\":{\"keccak256\":\"0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d\",\"dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8\"]},\"contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol\":{\"keccak256\":\"0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb\",\"dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU\"]},\"contracts/persistent/vault/interfaces/IMigratableVault.sol\":{\"keccak256\":\"0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6\",\"dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs\"]},\"contracts/persistent/vault/interfaces/IVaultCore.sol\":{\"keccak256\":\"0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd\",\"dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr\"]},\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/core/fund/comptroller/ComptrollerLib.sol\":{\"keccak256\":\"0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579\",\"dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq\"]},\"contracts/release/core/fund/comptroller/IComptroller.sol\":{\"keccak256\":\"0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97\",\"dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L\"]},\"contracts/release/core/fund/vault/IVault.sol\":{\"keccak256\":\"0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599\",\"dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG\"]},\"contracts/release/extensions/IExtension.sol\":{\"keccak256\":\"0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70\",\"dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t\"]},\"contracts/release/extensions/fee-manager/FeeManager.sol\":{\"keccak256\":\"0xf3a3e504ca755cafda78f204d1e8005b6808854be0b5b19d17d9971ec49369a9\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3b82ffb3926983b4c60ddf8cd80b14d4ae548ea9b6f9ebf87f3fe70ffa5a89b9\",\"dweb:/ipfs/QmfJE4i4ZTDWhPwwKQSfjfWYQ62BsDs3FrxavjmLFe3HzB\"]},\"contracts/release/extensions/fee-manager/IFee.sol\":{\"keccak256\":\"0x38e3f324c67f3205e38197165586ea82ca226069902f34214bcde76cf905fcff\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c1fff656d1bdde3324421bc9e77cbfc4e80baf4e665f8713fdb65611b046f4b0\",\"dweb:/ipfs/QmVRFjNwmsVHdh4sp3DWdL74VWmhRhPZE5kDxJiuPL8Gu2\"]},\"contracts/release/extensions/fee-manager/IFeeManager.sol\":{\"keccak256\":\"0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22\",\"dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod\"]},\"contracts/release/extensions/policy-manager/IPolicyManager.sol\":{\"keccak256\":\"0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa\",\"dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb\"]},\"contracts/release/extensions/utils/ExtensionBase.sol\":{\"keccak256\":\"0xae68767766f6459bd2cd9dbd39df74f2c2f68f2150885bbce410e4091c807bb1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ce4c49522a39f618cc76feb474260fe910949f38e83b5f4518f1f245ba6eb876\",\"dweb:/ipfs/QmZ4wciRpziZAS4HRQy44Sgzm4GM4Wzme9zYnABzR6Cbzo\"]},\"contracts/release/extensions/utils/PermissionedVaultActionMixin.sol\":{\"keccak256\":\"0x77ddb9299d9c5f1538c20ae1543c20ef73db11ad7d9a9b817d26969ab233bb57\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://77812616256a092e0fd77469dcd2a2e098a1cf52686eeb6703a169efa64c27df\",\"dweb:/ipfs/QmbRPZznXSX3aA2VVJNpRqFXdJZebVDcDuY8EnF75Z7GpB\"]},\"contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol\":{\"keccak256\":\"0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f\",\"dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol\":{\"keccak256\":\"0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0\",\"dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol\":{\"keccak256\":\"0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b\",\"dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3\"]},\"contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol\":{\"keccak256\":\"0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965\",\"dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ\"]},\"contracts/release/interfaces/IGsnForwarder.sol\":{\"keccak256\":\"0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29\",\"dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G\"]},\"contracts/release/interfaces/IGsnPaymaster.sol\":{\"keccak256\":\"0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4\",\"dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF\"]},\"contracts/release/interfaces/IGsnTypes.sol\":{\"keccak256\":\"0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7\",\"dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C\"]},\"contracts/release/peripheral/UnpermissionedActionsWrapper.sol\":{\"keccak256\":\"0x77758733792b561febec91b86d5512fb37e6e7de3eed56aa9913eb51ea0cc0c8\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2e1381b126e72f78f5da5d9778b25ffa21c2a9fcf94e44ea68195974a723a823\",\"dweb:/ipfs/QmVE7fBhXUxzCwosTuhPtb8QpbKi6EpW8U6FKfPJ7Udp5G\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/FundDeployerOwnerMixin.sol\":{\"keccak256\":\"0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927\",\"dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM\"]},\"contracts/release/utils/beacon-proxy/IBeacon.sol\":{\"keccak256\":\"0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39\",\"dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V\"]},\"contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol\":{\"keccak256\":\"0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be\",\"dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_feeManager", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getContinuousFeesForFund", "outputs": [ { "internalType": "address[]", "name": "continuousFees_", "type": "address[]" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getFeeManager", "outputs": [ { "internalType": "address", "name": "feeManager_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" }, { "internalType": "address[]", "name": "_fees", "type": "address[]" } ], "stateMutability": "nonpayable", "type": "function", "name": "invokeContinuousFeeHookAndPayoutSharesOutstandingForFund" } ], "devdoc": { "kind": "dev", "methods": { "getContinuousFeesForFund(address)": { "params": { "_comptrollerProxy": "The ComptrollerProxy of the fund" }, "returns": { "continuousFees_": "The fees that implement the `Continuous` fee hook" } }, "getFeeManager()": { "returns": { "feeManager_": "The `FEE_MANAGER` variable value" } }, "invokeContinuousFeeHookAndPayoutSharesOutstandingForFund(address,address[])": { "details": "This is just a wrapper to execute two callOnExtension() actions atomically, in sequence. The caller must pass in the fees that they want to run this logic on.", "params": { "_comptrollerProxy": "The ComptrollerProxy of the fund", "_fees": "The fees for which to run these actions" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "getContinuousFeesForFund(address)": { "notice": "Gets all fees that implement the `Continuous` fee hook for a fund" }, "getFeeManager()": { "notice": "Gets the `FEE_MANAGER` variable" }, "invokeContinuousFeeHookAndPayoutSharesOutstandingForFund(address,address[])": { "notice": "Invokes the Continuous fee hook on all specified fees, and then attempts to payout any shares outstanding on those fees" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/peripheral/UnpermissionedActionsWrapper.sol": "UnpermissionedActionsWrapper" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/dispatcher/IDispatcher.sol": { "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", "urls": [ "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" ], "license": "GPL-3.0" }, "contracts/persistent/external-positions/IExternalPosition.sol": { "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", "urls": [ "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IExternalPositionVault.sol": { "keccak256": "0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6", "urls": [ "bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d", "dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol": { "keccak256": "0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0", "urls": [ "bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb", "dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IMigratableVault.sol": { "keccak256": "0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238", "urls": [ "bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6", "dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IVaultCore.sol": { "keccak256": "0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80", "urls": [ "bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd", "dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr" ], "license": "GPL-3.0" }, "contracts/release/core/fund-deployer/IFundDeployer.sol": { "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", "urls": [ "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" ], "license": "GPL-3.0" }, "contracts/release/core/fund/comptroller/ComptrollerLib.sol": { "keccak256": "0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64", "urls": [ "bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579", "dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq" ], "license": "GPL-3.0" }, "contracts/release/core/fund/comptroller/IComptroller.sol": { "keccak256": "0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f", "urls": [ "bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97", "dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L" ], "license": "GPL-3.0" }, "contracts/release/core/fund/vault/IVault.sol": { "keccak256": "0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd", "urls": [ "bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599", "dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG" ], "license": "GPL-3.0" }, "contracts/release/extensions/IExtension.sol": { "keccak256": "0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b", "urls": [ "bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70", "dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t" ], "license": "GPL-3.0" }, "contracts/release/extensions/fee-manager/FeeManager.sol": { "keccak256": "0xf3a3e504ca755cafda78f204d1e8005b6808854be0b5b19d17d9971ec49369a9", "urls": [ "bzz-raw://3b82ffb3926983b4c60ddf8cd80b14d4ae548ea9b6f9ebf87f3fe70ffa5a89b9", "dweb:/ipfs/QmfJE4i4ZTDWhPwwKQSfjfWYQ62BsDs3FrxavjmLFe3HzB" ], "license": "GPL-3.0" }, "contracts/release/extensions/fee-manager/IFee.sol": { "keccak256": "0x38e3f324c67f3205e38197165586ea82ca226069902f34214bcde76cf905fcff", "urls": [ "bzz-raw://c1fff656d1bdde3324421bc9e77cbfc4e80baf4e665f8713fdb65611b046f4b0", "dweb:/ipfs/QmVRFjNwmsVHdh4sp3DWdL74VWmhRhPZE5kDxJiuPL8Gu2" ], "license": "GPL-3.0" }, "contracts/release/extensions/fee-manager/IFeeManager.sol": { "keccak256": "0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51", "urls": [ "bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22", "dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod" ], "license": "GPL-3.0" }, "contracts/release/extensions/policy-manager/IPolicyManager.sol": { "keccak256": "0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32", "urls": [ "bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa", "dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb" ], "license": "GPL-3.0" }, "contracts/release/extensions/utils/ExtensionBase.sol": { "keccak256": "0xae68767766f6459bd2cd9dbd39df74f2c2f68f2150885bbce410e4091c807bb1", "urls": [ "bzz-raw://ce4c49522a39f618cc76feb474260fe910949f38e83b5f4518f1f245ba6eb876", "dweb:/ipfs/QmZ4wciRpziZAS4HRQy44Sgzm4GM4Wzme9zYnABzR6Cbzo" ], "license": "GPL-3.0" }, "contracts/release/extensions/utils/PermissionedVaultActionMixin.sol": { "keccak256": "0x77ddb9299d9c5f1538c20ae1543c20ef73db11ad7d9a9b817d26969ab233bb57", "urls": [ "bzz-raw://77812616256a092e0fd77469dcd2a2e098a1cf52686eeb6703a169efa64c27df", "dweb:/ipfs/QmbRPZznXSX3aA2VVJNpRqFXdJZebVDcDuY8EnF75Z7GpB" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol": { "keccak256": "0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609", "urls": [ "bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f", "dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol": { "keccak256": "0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01", "urls": [ "bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0", "dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol": { "keccak256": "0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196", "urls": [ "bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b", "dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol": { "keccak256": "0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794", "urls": [ "bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965", "dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IGsnForwarder.sol": { "keccak256": "0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030", "urls": [ "bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29", "dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IGsnPaymaster.sol": { "keccak256": "0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c", "urls": [ "bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4", "dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IGsnTypes.sol": { "keccak256": "0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714", "urls": [ "bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7", "dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C" ], "license": "GPL-3.0" }, "contracts/release/peripheral/UnpermissionedActionsWrapper.sol": { "keccak256": "0x77758733792b561febec91b86d5512fb37e6e7de3eed56aa9913eb51ea0cc0c8", "urls": [ "bzz-raw://2e1381b126e72f78f5da5d9778b25ffa21c2a9fcf94e44ea68195974a723a823", "dweb:/ipfs/QmVE7fBhXUxzCwosTuhPtb8QpbKi6EpW8U6FKfPJ7Udp5G" ], "license": "GPL-3.0" }, "contracts/release/utils/AddressArrayLib.sol": { "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", "urls": [ "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" ], "license": "GPL-3.0" }, "contracts/release/utils/FundDeployerOwnerMixin.sol": { "keccak256": "0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934", "urls": [ "bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927", "dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM" ], "license": "GPL-3.0" }, "contracts/release/utils/beacon-proxy/IBeacon.sol": { "keccak256": "0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2", "urls": [ "bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39", "dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V" ], "license": "GPL-3.0" }, "contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol": { "keccak256": "0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc", "urls": [ "bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be", "dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", "urls": [ "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Address.sol": { "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", "urls": [ "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" } }, "version": 1 }, "id": 350 } diff --git a/eth_defi/abi/enzyme/UpdatableFeeRecipientBase.json b/eth_defi/abi/enzyme/UpdatableFeeRecipientBase.json index bff23e28..12d1edcb 100644 --- a/eth_defi/abi/enzyme/UpdatableFeeRecipientBase.json +++ b/eth_defi/abi/enzyme/UpdatableFeeRecipientBase.json @@ -1,553 +1 @@ -{ - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "comptrollerProxy", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "recipient", - "type": "address" - } - ], - "name": "RecipientSetForFund", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - } - ], - "name": "getRecipientForFund", - "outputs": [ - { - "internalType": "address", - "name": "recipient_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_recipient", - "type": "address" - } - ], - "name": "setRecipientForFund", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "getRecipientForFund(address)": "62780b3c", - "setRecipientForFund(address,address)": "8c55f80f" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"}],\"name\":\"RecipientSetForFund\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"}],\"name\":\"getRecipientForFund\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"recipient_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_recipient\",\"type\":\"address\"}],\"name\":\"setRecipientForFund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"getRecipientForFund(address)\":{\"details\":\"address(0) signifies the VaultProxy owner\",\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy contract for the fund\"},\"returns\":{\"recipient_\":\"The recipient\"}},\"setRecipientForFund(address,address)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy contract for the fund\",\"_recipient\":\"The fee recipient\"}}},\"title\":\"UpdatableFeeRecipientBase Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getRecipientForFund(address)\":{\"notice\":\"Gets the recipient of the fee for a given fund\"},\"setRecipientForFund(address,address)\":{\"notice\":\"Sets the fee recipient for the given fund\"}},\"notice\":\"A base contract that provides an updatable fee recipient for the inheriting fee\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/fee-manager/fees/utils/UpdatableFeeRecipientBase.sol\":\"UpdatableFeeRecipientBase\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/persistent/protocol-fee-reserve/interfaces/IProtocolFeeReserve1.sol\":{\"keccak256\":\"0x2728878c423db523bc95189137e8c58d2d7db9f56bbd5c6b1f988c08b551fbab\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3b0df1d2eb74151265d03ab91a7c341f7beca475dd2f4d669052dbc4ee2c06ac\",\"dweb:/ipfs/QmVx1cgrxQNYfdK1Kn15pcgqf79Uw8bF3U6i7F2HG2rj6G\"]},\"contracts/persistent/vault/VaultLibBase1.sol\":{\"keccak256\":\"0xa4dac1e4cdb311a2ab187135355357d8790c505ef36dd912c057fe53743d30b5\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b66efe821016ab927c949263023260515e90f5d480dc8d94eefbfeec7bf7490b\",\"dweb:/ipfs/QmNY3xKnhL9EptAbxGvXHGAXfV9pj3dDPwsZnKrPs54ZHw\"]},\"contracts/persistent/vault/VaultLibBase2.sol\":{\"keccak256\":\"0xf7d31f2a9a47770ed3f444be2c4fe9262ddb55fef7f25e546b1f03c9afec4c09\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9353ddce7c9b8b3c13fed23fe8edec99ca610d791b0c5b204b3d01f1f08d07d2\",\"dweb:/ipfs/QmeVsEh3joCjv49BRXeHASevnZZ5xdZXpkctHT8BPf37N2\"]},\"contracts/persistent/vault/VaultLibBaseCore.sol\":{\"keccak256\":\"0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd\",\"dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz\"]},\"contracts/persistent/vault/interfaces/IExternalPositionVault.sol\":{\"keccak256\":\"0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d\",\"dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8\"]},\"contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol\":{\"keccak256\":\"0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb\",\"dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU\"]},\"contracts/persistent/vault/interfaces/IMigratableVault.sol\":{\"keccak256\":\"0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6\",\"dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs\"]},\"contracts/persistent/vault/interfaces/IVaultCore.sol\":{\"keccak256\":\"0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd\",\"dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr\"]},\"contracts/persistent/vault/utils/ProxiableVaultLib.sol\":{\"keccak256\":\"0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44\",\"dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4\"]},\"contracts/persistent/vault/utils/SharesTokenBase.sol\":{\"keccak256\":\"0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8\",\"dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4\"]},\"contracts/persistent/vault/utils/VaultLibSafeMath.sol\":{\"keccak256\":\"0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02\",\"dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG\"]},\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/core/fund/comptroller/ComptrollerLib.sol\":{\"keccak256\":\"0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579\",\"dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq\"]},\"contracts/release/core/fund/comptroller/IComptroller.sol\":{\"keccak256\":\"0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97\",\"dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L\"]},\"contracts/release/core/fund/vault/IVault.sol\":{\"keccak256\":\"0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599\",\"dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG\"]},\"contracts/release/core/fund/vault/VaultLib.sol\":{\"keccak256\":\"0x07e49445ab55c01e1b499a48baadc2a15d1eba621f1c6d3ccfdb84c87b976da8\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://56d882459248f73e137db2e097fc56b946147fb28ec21661b77431f88e856cb4\",\"dweb:/ipfs/QmRP6Ry7DCS5uoKxnnkTomHSzbaCze6cHqbR9aLdjoF6vK\"]},\"contracts/release/extensions/IExtension.sol\":{\"keccak256\":\"0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70\",\"dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t\"]},\"contracts/release/extensions/external-position-manager/IExternalPositionManager.sol\":{\"keccak256\":\"0x3af3f634e1f99fb97091b7825c0d2e2baaafc124d4e87d56cb0c17ff8554f6c6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://515470605afe5ef147f30fa75ce7818f0e00e3d321eb81a4d9bffcdefc294495\",\"dweb:/ipfs/QmPKsp99pfHoz9Tfo3ZxnkmqDqJtN9PxqacF2RmeVfxUJF\"]},\"contracts/release/extensions/fee-manager/IFeeManager.sol\":{\"keccak256\":\"0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22\",\"dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod\"]},\"contracts/release/extensions/fee-manager/fees/utils/SettableFeeRecipientBase.sol\":{\"keccak256\":\"0xb3b4b3cd13141871c912310ce1dace2e94f89eee7a52b95d4df9e4642a958f4d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b120324be26eddebb2fd5d15ecdbef4bfc5a5bbd05bd60796677157480842aa1\",\"dweb:/ipfs/Qmab9XnYHvG3zWtQaTee24qU7VK94MMLySPkrZqDBbB5NN\"]},\"contracts/release/extensions/fee-manager/fees/utils/UpdatableFeeRecipientBase.sol\":{\"keccak256\":\"0xac875e8923b29be8e697be04177b56d3f75d0ef4a56bc0cec2d2583efd802064\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://99d359ece6663298f925765b7558beb694bf3dbe3831fc60e016fd37b10d358c\",\"dweb:/ipfs/QmduCuit88g1HEb9HxF1aH82Ezx388M5CBLfUfLraKgcfA\"]},\"contracts/release/extensions/policy-manager/IPolicyManager.sol\":{\"keccak256\":\"0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa\",\"dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb\"]},\"contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol\":{\"keccak256\":\"0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f\",\"dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol\":{\"keccak256\":\"0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0\",\"dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol\":{\"keccak256\":\"0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b\",\"dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3\"]},\"contracts/release/infrastructure/protocol-fees/IProtocolFeeTracker.sol\":{\"keccak256\":\"0x232b347f83457439064add7369bfe1930c7cb56f15930bb87d640e909c15e447\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://24f9af5eebdd373b1d7a598c096eb6def31b2640d54416d7d5a7226e1cef17e6\",\"dweb:/ipfs/QmStq9ByGuSYdKwTmZf52L1X6sZVJUfXTnoVbnjLLiUcHG\"]},\"contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol\":{\"keccak256\":\"0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965\",\"dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ\"]},\"contracts/release/interfaces/IGsnForwarder.sol\":{\"keccak256\":\"0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29\",\"dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G\"]},\"contracts/release/interfaces/IGsnPaymaster.sol\":{\"keccak256\":\"0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4\",\"dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF\"]},\"contracts/release/interfaces/IGsnTypes.sol\":{\"keccak256\":\"0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7\",\"dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C\"]},\"contracts/release/interfaces/IWETH.sol\":{\"keccak256\":\"0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2\",\"dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/beacon-proxy/IBeacon.sol\":{\"keccak256\":\"0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39\",\"dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V\"]},\"contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol\":{\"keccak256\":\"0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be\",\"dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20Burnable.sol\":{\"keccak256\":\"0x9c0eb3b0e11d2480d49991dc384f1e5f9c9b9967cc81944d50916a9b9c6c4984\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99e4033d778624992e86f0b6d801a4f6d7b5c0cd5c79c1296be90a051ad5f5af\",\"dweb:/ipfs/QmShYmkUqh6pDEeoWadZ24icmCr4C2Xys1uE5boivPmbwf\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "comptrollerProxy", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "recipient", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "RecipientSetForFund", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getRecipientForFund", - "outputs": [ - { - "internalType": "address", - "name": "recipient_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_comptrollerProxy", - "type": "address" - }, - { - "internalType": "address", - "name": "_recipient", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setRecipientForFund" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "getRecipientForFund(address)": { - "details": "address(0) signifies the VaultProxy owner", - "params": { - "_comptrollerProxy": "The ComptrollerProxy contract for the fund" - }, - "returns": { - "recipient_": "The recipient" - } - }, - "setRecipientForFund(address,address)": { - "params": { - "_comptrollerProxy": "The ComptrollerProxy contract for the fund", - "_recipient": "The fee recipient" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "getRecipientForFund(address)": { - "notice": "Gets the recipient of the fee for a given fund" - }, - "setRecipientForFund(address,address)": { - "notice": "Sets the fee recipient for the given fund" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/fee-manager/fees/utils/UpdatableFeeRecipientBase.sol": "UpdatableFeeRecipientBase" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/dispatcher/IDispatcher.sol": { - "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", - "urls": [ - "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", - "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/external-positions/IExternalPosition.sol": { - "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", - "urls": [ - "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", - "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/protocol-fee-reserve/interfaces/IProtocolFeeReserve1.sol": { - "keccak256": "0x2728878c423db523bc95189137e8c58d2d7db9f56bbd5c6b1f988c08b551fbab", - "urls": [ - "bzz-raw://3b0df1d2eb74151265d03ab91a7c341f7beca475dd2f4d669052dbc4ee2c06ac", - "dweb:/ipfs/QmVx1cgrxQNYfdK1Kn15pcgqf79Uw8bF3U6i7F2HG2rj6G" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/VaultLibBase1.sol": { - "keccak256": "0xa4dac1e4cdb311a2ab187135355357d8790c505ef36dd912c057fe53743d30b5", - "urls": [ - "bzz-raw://b66efe821016ab927c949263023260515e90f5d480dc8d94eefbfeec7bf7490b", - "dweb:/ipfs/QmNY3xKnhL9EptAbxGvXHGAXfV9pj3dDPwsZnKrPs54ZHw" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/VaultLibBase2.sol": { - "keccak256": "0xf7d31f2a9a47770ed3f444be2c4fe9262ddb55fef7f25e546b1f03c9afec4c09", - "urls": [ - "bzz-raw://9353ddce7c9b8b3c13fed23fe8edec99ca610d791b0c5b204b3d01f1f08d07d2", - "dweb:/ipfs/QmeVsEh3joCjv49BRXeHASevnZZ5xdZXpkctHT8BPf37N2" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/VaultLibBaseCore.sol": { - "keccak256": "0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074", - "urls": [ - "bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd", - "dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IExternalPositionVault.sol": { - "keccak256": "0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6", - "urls": [ - "bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d", - "dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol": { - "keccak256": "0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0", - "urls": [ - "bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb", - "dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IMigratableVault.sol": { - "keccak256": "0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238", - "urls": [ - "bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6", - "dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IVaultCore.sol": { - "keccak256": "0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80", - "urls": [ - "bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd", - "dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/utils/ProxiableVaultLib.sol": { - "keccak256": "0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76", - "urls": [ - "bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44", - "dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/utils/SharesTokenBase.sol": { - "keccak256": "0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113", - "urls": [ - "bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8", - "dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/utils/VaultLibSafeMath.sol": { - "keccak256": "0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d", - "urls": [ - "bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02", - "dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund-deployer/IFundDeployer.sol": { - "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", - "urls": [ - "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", - "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/comptroller/ComptrollerLib.sol": { - "keccak256": "0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64", - "urls": [ - "bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579", - "dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/comptroller/IComptroller.sol": { - "keccak256": "0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f", - "urls": [ - "bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97", - "dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/vault/IVault.sol": { - "keccak256": "0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd", - "urls": [ - "bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599", - "dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/vault/VaultLib.sol": { - "keccak256": "0x07e49445ab55c01e1b499a48baadc2a15d1eba621f1c6d3ccfdb84c87b976da8", - "urls": [ - "bzz-raw://56d882459248f73e137db2e097fc56b946147fb28ec21661b77431f88e856cb4", - "dweb:/ipfs/QmRP6Ry7DCS5uoKxnnkTomHSzbaCze6cHqbR9aLdjoF6vK" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/IExtension.sol": { - "keccak256": "0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b", - "urls": [ - "bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70", - "dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/IExternalPositionManager.sol": { - "keccak256": "0x3af3f634e1f99fb97091b7825c0d2e2baaafc124d4e87d56cb0c17ff8554f6c6", - "urls": [ - "bzz-raw://515470605afe5ef147f30fa75ce7818f0e00e3d321eb81a4d9bffcdefc294495", - "dweb:/ipfs/QmPKsp99pfHoz9Tfo3ZxnkmqDqJtN9PxqacF2RmeVfxUJF" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/fee-manager/IFeeManager.sol": { - "keccak256": "0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51", - "urls": [ - "bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22", - "dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/fee-manager/fees/utils/SettableFeeRecipientBase.sol": { - "keccak256": "0xb3b4b3cd13141871c912310ce1dace2e94f89eee7a52b95d4df9e4642a958f4d", - "urls": [ - "bzz-raw://b120324be26eddebb2fd5d15ecdbef4bfc5a5bbd05bd60796677157480842aa1", - "dweb:/ipfs/Qmab9XnYHvG3zWtQaTee24qU7VK94MMLySPkrZqDBbB5NN" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/fee-manager/fees/utils/UpdatableFeeRecipientBase.sol": { - "keccak256": "0xac875e8923b29be8e697be04177b56d3f75d0ef4a56bc0cec2d2583efd802064", - "urls": [ - "bzz-raw://99d359ece6663298f925765b7558beb694bf3dbe3831fc60e016fd37b10d358c", - "dweb:/ipfs/QmduCuit88g1HEb9HxF1aH82Ezx388M5CBLfUfLraKgcfA" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/policy-manager/IPolicyManager.sol": { - "keccak256": "0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32", - "urls": [ - "bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa", - "dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol": { - "keccak256": "0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609", - "urls": [ - "bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f", - "dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol": { - "keccak256": "0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01", - "urls": [ - "bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0", - "dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol": { - "keccak256": "0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196", - "urls": [ - "bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b", - "dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/protocol-fees/IProtocolFeeTracker.sol": { - "keccak256": "0x232b347f83457439064add7369bfe1930c7cb56f15930bb87d640e909c15e447", - "urls": [ - "bzz-raw://24f9af5eebdd373b1d7a598c096eb6def31b2640d54416d7d5a7226e1cef17e6", - "dweb:/ipfs/QmStq9ByGuSYdKwTmZf52L1X6sZVJUfXTnoVbnjLLiUcHG" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol": { - "keccak256": "0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794", - "urls": [ - "bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965", - "dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IGsnForwarder.sol": { - "keccak256": "0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030", - "urls": [ - "bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29", - "dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IGsnPaymaster.sol": { - "keccak256": "0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c", - "urls": [ - "bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4", - "dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IGsnTypes.sol": { - "keccak256": "0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714", - "urls": [ - "bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7", - "dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IWETH.sol": { - "keccak256": "0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2", - "urls": [ - "bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2", - "dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AddressArrayLib.sol": { - "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", - "urls": [ - "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", - "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/beacon-proxy/IBeacon.sol": { - "keccak256": "0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2", - "urls": [ - "bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39", - "dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol": { - "keccak256": "0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc", - "urls": [ - "bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be", - "dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20Burnable.sol": { - "keccak256": "0x9c0eb3b0e11d2480d49991dc384f1e5f9c9b9967cc81944d50916a9b9c6c4984", - "urls": [ - "bzz-raw://99e4033d778624992e86f0b6d801a4f6d7b5c0cd5c79c1296be90a051ad5f5af", - "dweb:/ipfs/QmShYmkUqh6pDEeoWadZ24icmCr4C2Xys1uE5boivPmbwf" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { - "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", - "urls": [ - "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", - "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Address.sol": { - "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", - "urls": [ - "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", - "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 156 -} +{ "abi": [ { "type": "function", "name": "getRecipientForFund", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "recipient_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "setRecipientForFund", "inputs": [ { "name": "_comptrollerProxy", "type": "address", "internalType": "address" }, { "name": "_recipient", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "event", "name": "RecipientSetForFund", "inputs": [ { "name": "comptrollerProxy", "type": "address", "indexed": true, "internalType": "address" }, { "name": "recipient", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "getRecipientForFund(address)": "62780b3c", "setRecipientForFund(address,address)": "8c55f80f" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"comptrollerProxy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"}],\"name\":\"RecipientSetForFund\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"}],\"name\":\"getRecipientForFund\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"recipient_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_comptrollerProxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_recipient\",\"type\":\"address\"}],\"name\":\"setRecipientForFund\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"getRecipientForFund(address)\":{\"details\":\"address(0) signifies the VaultProxy owner\",\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy contract for the fund\"},\"returns\":{\"recipient_\":\"The recipient\"}},\"setRecipientForFund(address,address)\":{\"params\":{\"_comptrollerProxy\":\"The ComptrollerProxy contract for the fund\",\"_recipient\":\"The fee recipient\"}}},\"title\":\"UpdatableFeeRecipientBase Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getRecipientForFund(address)\":{\"notice\":\"Gets the recipient of the fee for a given fund\"},\"setRecipientForFund(address,address)\":{\"notice\":\"Sets the fee recipient for the given fund\"}},\"notice\":\"A base contract that provides an updatable fee recipient for the inheriting fee\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/fee-manager/fees/utils/UpdatableFeeRecipientBase.sol\":\"UpdatableFeeRecipientBase\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/persistent/protocol-fee-reserve/interfaces/IProtocolFeeReserve1.sol\":{\"keccak256\":\"0x2728878c423db523bc95189137e8c58d2d7db9f56bbd5c6b1f988c08b551fbab\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3b0df1d2eb74151265d03ab91a7c341f7beca475dd2f4d669052dbc4ee2c06ac\",\"dweb:/ipfs/QmVx1cgrxQNYfdK1Kn15pcgqf79Uw8bF3U6i7F2HG2rj6G\"]},\"contracts/persistent/vault/VaultLibBase1.sol\":{\"keccak256\":\"0xa4dac1e4cdb311a2ab187135355357d8790c505ef36dd912c057fe53743d30b5\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b66efe821016ab927c949263023260515e90f5d480dc8d94eefbfeec7bf7490b\",\"dweb:/ipfs/QmNY3xKnhL9EptAbxGvXHGAXfV9pj3dDPwsZnKrPs54ZHw\"]},\"contracts/persistent/vault/VaultLibBase2.sol\":{\"keccak256\":\"0xf7d31f2a9a47770ed3f444be2c4fe9262ddb55fef7f25e546b1f03c9afec4c09\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9353ddce7c9b8b3c13fed23fe8edec99ca610d791b0c5b204b3d01f1f08d07d2\",\"dweb:/ipfs/QmeVsEh3joCjv49BRXeHASevnZZ5xdZXpkctHT8BPf37N2\"]},\"contracts/persistent/vault/VaultLibBaseCore.sol\":{\"keccak256\":\"0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd\",\"dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz\"]},\"contracts/persistent/vault/interfaces/IExternalPositionVault.sol\":{\"keccak256\":\"0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d\",\"dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8\"]},\"contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol\":{\"keccak256\":\"0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb\",\"dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU\"]},\"contracts/persistent/vault/interfaces/IMigratableVault.sol\":{\"keccak256\":\"0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6\",\"dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs\"]},\"contracts/persistent/vault/interfaces/IVaultCore.sol\":{\"keccak256\":\"0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd\",\"dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr\"]},\"contracts/persistent/vault/utils/ProxiableVaultLib.sol\":{\"keccak256\":\"0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44\",\"dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4\"]},\"contracts/persistent/vault/utils/SharesTokenBase.sol\":{\"keccak256\":\"0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8\",\"dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4\"]},\"contracts/persistent/vault/utils/VaultLibSafeMath.sol\":{\"keccak256\":\"0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02\",\"dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG\"]},\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/core/fund/comptroller/ComptrollerLib.sol\":{\"keccak256\":\"0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579\",\"dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq\"]},\"contracts/release/core/fund/comptroller/IComptroller.sol\":{\"keccak256\":\"0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97\",\"dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L\"]},\"contracts/release/core/fund/vault/IVault.sol\":{\"keccak256\":\"0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599\",\"dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG\"]},\"contracts/release/core/fund/vault/VaultLib.sol\":{\"keccak256\":\"0x07e49445ab55c01e1b499a48baadc2a15d1eba621f1c6d3ccfdb84c87b976da8\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://56d882459248f73e137db2e097fc56b946147fb28ec21661b77431f88e856cb4\",\"dweb:/ipfs/QmRP6Ry7DCS5uoKxnnkTomHSzbaCze6cHqbR9aLdjoF6vK\"]},\"contracts/release/extensions/IExtension.sol\":{\"keccak256\":\"0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70\",\"dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t\"]},\"contracts/release/extensions/external-position-manager/IExternalPositionManager.sol\":{\"keccak256\":\"0x3af3f634e1f99fb97091b7825c0d2e2baaafc124d4e87d56cb0c17ff8554f6c6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://515470605afe5ef147f30fa75ce7818f0e00e3d321eb81a4d9bffcdefc294495\",\"dweb:/ipfs/QmPKsp99pfHoz9Tfo3ZxnkmqDqJtN9PxqacF2RmeVfxUJF\"]},\"contracts/release/extensions/fee-manager/IFeeManager.sol\":{\"keccak256\":\"0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22\",\"dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod\"]},\"contracts/release/extensions/fee-manager/fees/utils/SettableFeeRecipientBase.sol\":{\"keccak256\":\"0xb3b4b3cd13141871c912310ce1dace2e94f89eee7a52b95d4df9e4642a958f4d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b120324be26eddebb2fd5d15ecdbef4bfc5a5bbd05bd60796677157480842aa1\",\"dweb:/ipfs/Qmab9XnYHvG3zWtQaTee24qU7VK94MMLySPkrZqDBbB5NN\"]},\"contracts/release/extensions/fee-manager/fees/utils/UpdatableFeeRecipientBase.sol\":{\"keccak256\":\"0xac875e8923b29be8e697be04177b56d3f75d0ef4a56bc0cec2d2583efd802064\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://99d359ece6663298f925765b7558beb694bf3dbe3831fc60e016fd37b10d358c\",\"dweb:/ipfs/QmduCuit88g1HEb9HxF1aH82Ezx388M5CBLfUfLraKgcfA\"]},\"contracts/release/extensions/policy-manager/IPolicyManager.sol\":{\"keccak256\":\"0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa\",\"dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb\"]},\"contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol\":{\"keccak256\":\"0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f\",\"dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol\":{\"keccak256\":\"0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0\",\"dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol\":{\"keccak256\":\"0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b\",\"dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3\"]},\"contracts/release/infrastructure/protocol-fees/IProtocolFeeTracker.sol\":{\"keccak256\":\"0x232b347f83457439064add7369bfe1930c7cb56f15930bb87d640e909c15e447\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://24f9af5eebdd373b1d7a598c096eb6def31b2640d54416d7d5a7226e1cef17e6\",\"dweb:/ipfs/QmStq9ByGuSYdKwTmZf52L1X6sZVJUfXTnoVbnjLLiUcHG\"]},\"contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol\":{\"keccak256\":\"0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965\",\"dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ\"]},\"contracts/release/interfaces/IGsnForwarder.sol\":{\"keccak256\":\"0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29\",\"dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G\"]},\"contracts/release/interfaces/IGsnPaymaster.sol\":{\"keccak256\":\"0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4\",\"dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF\"]},\"contracts/release/interfaces/IGsnTypes.sol\":{\"keccak256\":\"0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7\",\"dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C\"]},\"contracts/release/interfaces/IWETH.sol\":{\"keccak256\":\"0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2\",\"dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/beacon-proxy/IBeacon.sol\":{\"keccak256\":\"0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39\",\"dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V\"]},\"contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol\":{\"keccak256\":\"0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be\",\"dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20Burnable.sol\":{\"keccak256\":\"0x9c0eb3b0e11d2480d49991dc384f1e5f9c9b9967cc81944d50916a9b9c6c4984\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99e4033d778624992e86f0b6d801a4f6d7b5c0cd5c79c1296be90a051ad5f5af\",\"dweb:/ipfs/QmShYmkUqh6pDEeoWadZ24icmCr4C2Xys1uE5boivPmbwf\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "comptrollerProxy", "type": "address", "indexed": true }, { "internalType": "address", "name": "recipient", "type": "address", "indexed": true } ], "type": "event", "name": "RecipientSetForFund", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getRecipientForFund", "outputs": [ { "internalType": "address", "name": "recipient_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_comptrollerProxy", "type": "address" }, { "internalType": "address", "name": "_recipient", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "setRecipientForFund" } ], "devdoc": { "kind": "dev", "methods": { "getRecipientForFund(address)": { "details": "address(0) signifies the VaultProxy owner", "params": { "_comptrollerProxy": "The ComptrollerProxy contract for the fund" }, "returns": { "recipient_": "The recipient" } }, "setRecipientForFund(address,address)": { "params": { "_comptrollerProxy": "The ComptrollerProxy contract for the fund", "_recipient": "The fee recipient" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "getRecipientForFund(address)": { "notice": "Gets the recipient of the fee for a given fund" }, "setRecipientForFund(address,address)": { "notice": "Sets the fee recipient for the given fund" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/fee-manager/fees/utils/UpdatableFeeRecipientBase.sol": "UpdatableFeeRecipientBase" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/dispatcher/IDispatcher.sol": { "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", "urls": [ "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" ], "license": "GPL-3.0" }, "contracts/persistent/external-positions/IExternalPosition.sol": { "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", "urls": [ "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" ], "license": "GPL-3.0" }, "contracts/persistent/protocol-fee-reserve/interfaces/IProtocolFeeReserve1.sol": { "keccak256": "0x2728878c423db523bc95189137e8c58d2d7db9f56bbd5c6b1f988c08b551fbab", "urls": [ "bzz-raw://3b0df1d2eb74151265d03ab91a7c341f7beca475dd2f4d669052dbc4ee2c06ac", "dweb:/ipfs/QmVx1cgrxQNYfdK1Kn15pcgqf79Uw8bF3U6i7F2HG2rj6G" ], "license": "GPL-3.0" }, "contracts/persistent/vault/VaultLibBase1.sol": { "keccak256": "0xa4dac1e4cdb311a2ab187135355357d8790c505ef36dd912c057fe53743d30b5", "urls": [ "bzz-raw://b66efe821016ab927c949263023260515e90f5d480dc8d94eefbfeec7bf7490b", "dweb:/ipfs/QmNY3xKnhL9EptAbxGvXHGAXfV9pj3dDPwsZnKrPs54ZHw" ], "license": "GPL-3.0" }, "contracts/persistent/vault/VaultLibBase2.sol": { "keccak256": "0xf7d31f2a9a47770ed3f444be2c4fe9262ddb55fef7f25e546b1f03c9afec4c09", "urls": [ "bzz-raw://9353ddce7c9b8b3c13fed23fe8edec99ca610d791b0c5b204b3d01f1f08d07d2", "dweb:/ipfs/QmeVsEh3joCjv49BRXeHASevnZZ5xdZXpkctHT8BPf37N2" ], "license": "GPL-3.0" }, "contracts/persistent/vault/VaultLibBaseCore.sol": { "keccak256": "0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074", "urls": [ "bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd", "dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IExternalPositionVault.sol": { "keccak256": "0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6", "urls": [ "bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d", "dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol": { "keccak256": "0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0", "urls": [ "bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb", "dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IMigratableVault.sol": { "keccak256": "0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238", "urls": [ "bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6", "dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IVaultCore.sol": { "keccak256": "0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80", "urls": [ "bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd", "dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr" ], "license": "GPL-3.0" }, "contracts/persistent/vault/utils/ProxiableVaultLib.sol": { "keccak256": "0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76", "urls": [ "bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44", "dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4" ], "license": "GPL-3.0" }, "contracts/persistent/vault/utils/SharesTokenBase.sol": { "keccak256": "0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113", "urls": [ "bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8", "dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4" ], "license": "GPL-3.0" }, "contracts/persistent/vault/utils/VaultLibSafeMath.sol": { "keccak256": "0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d", "urls": [ "bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02", "dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG" ], "license": "GPL-3.0" }, "contracts/release/core/fund-deployer/IFundDeployer.sol": { "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", "urls": [ "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" ], "license": "GPL-3.0" }, "contracts/release/core/fund/comptroller/ComptrollerLib.sol": { "keccak256": "0x2d915156479096f5ab309c2ef0e0834cff299903210b65489c269c220180de64", "urls": [ "bzz-raw://c6c6415e6c58c2fdf1f955a2f9d7fe2b71d7f0cb351717876f113eadb0fc4579", "dweb:/ipfs/QmXGctKECUrriskrK6nfaweV32yhMdg4H2Aq4aYVgR7Nrq" ], "license": "GPL-3.0" }, "contracts/release/core/fund/comptroller/IComptroller.sol": { "keccak256": "0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f", "urls": [ "bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97", "dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L" ], "license": "GPL-3.0" }, "contracts/release/core/fund/vault/IVault.sol": { "keccak256": "0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd", "urls": [ "bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599", "dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG" ], "license": "GPL-3.0" }, "contracts/release/core/fund/vault/VaultLib.sol": { "keccak256": "0x07e49445ab55c01e1b499a48baadc2a15d1eba621f1c6d3ccfdb84c87b976da8", "urls": [ "bzz-raw://56d882459248f73e137db2e097fc56b946147fb28ec21661b77431f88e856cb4", "dweb:/ipfs/QmRP6Ry7DCS5uoKxnnkTomHSzbaCze6cHqbR9aLdjoF6vK" ], "license": "GPL-3.0" }, "contracts/release/extensions/IExtension.sol": { "keccak256": "0x59aaa2ddd32c24271bd4a57e9e1f3426570a78cd56d6d11e63786f36c916e94b", "urls": [ "bzz-raw://6b476ec92f0691d70a616aa76ecf5fb33725d5fe02ea59a2e5f9b582f662dc70", "dweb:/ipfs/QmQZ2xJqWSA4YHveB6RoYuU5gx7DGk7ra6KFp6KvV6Kn1t" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/IExternalPositionManager.sol": { "keccak256": "0x3af3f634e1f99fb97091b7825c0d2e2baaafc124d4e87d56cb0c17ff8554f6c6", "urls": [ "bzz-raw://515470605afe5ef147f30fa75ce7818f0e00e3d321eb81a4d9bffcdefc294495", "dweb:/ipfs/QmPKsp99pfHoz9Tfo3ZxnkmqDqJtN9PxqacF2RmeVfxUJF" ], "license": "GPL-3.0" }, "contracts/release/extensions/fee-manager/IFeeManager.sol": { "keccak256": "0x26accd01ce839ee396cbaf3f72d93f2135656845c3e74c4ae575f8b02b8efd51", "urls": [ "bzz-raw://1462f4081d1aa407faa1a92bb94ecae526a6792c79052dd446d898e75b3e5e22", "dweb:/ipfs/QmQzLS7raSD2ojJbxoraorzA8wRTS2iQtpaedm1x47teod" ], "license": "GPL-3.0" }, "contracts/release/extensions/fee-manager/fees/utils/SettableFeeRecipientBase.sol": { "keccak256": "0xb3b4b3cd13141871c912310ce1dace2e94f89eee7a52b95d4df9e4642a958f4d", "urls": [ "bzz-raw://b120324be26eddebb2fd5d15ecdbef4bfc5a5bbd05bd60796677157480842aa1", "dweb:/ipfs/Qmab9XnYHvG3zWtQaTee24qU7VK94MMLySPkrZqDBbB5NN" ], "license": "GPL-3.0" }, "contracts/release/extensions/fee-manager/fees/utils/UpdatableFeeRecipientBase.sol": { "keccak256": "0xac875e8923b29be8e697be04177b56d3f75d0ef4a56bc0cec2d2583efd802064", "urls": [ "bzz-raw://99d359ece6663298f925765b7558beb694bf3dbe3831fc60e016fd37b10d358c", "dweb:/ipfs/QmduCuit88g1HEb9HxF1aH82Ezx388M5CBLfUfLraKgcfA" ], "license": "GPL-3.0" }, "contracts/release/extensions/policy-manager/IPolicyManager.sol": { "keccak256": "0x1ed5fff925cdfa8808a65aa4c1e45813d87c1f462fc6740be670065ed2f6fd32", "urls": [ "bzz-raw://3cf584b792bc5321930a1c4c7ec22aa23a7ad8e09483694bb6f5968dca0132aa", "dweb:/ipfs/QmbNeaENye3NtnG3fRD7QtDSKUm2knBxUDdeuWicCMzcHb" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol": { "keccak256": "0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609", "urls": [ "bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f", "dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol": { "keccak256": "0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01", "urls": [ "bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0", "dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/gas-relayer/IGasRelayPaymasterDepositor.sol": { "keccak256": "0xcbfbcc963988ba5ca56e5e54ea8fc7fcdf4a3fd903a73b139d9bef63c18ef196", "urls": [ "bzz-raw://75317e0eb06ba96deb1161ff003e80431aafe2567b8d105ba346716d0e96567b", "dweb:/ipfs/QmfEVud7js7jJCthqCZQZjeFMEq8Hfb6iMvkrgTPgGaZb3" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/protocol-fees/IProtocolFeeTracker.sol": { "keccak256": "0x232b347f83457439064add7369bfe1930c7cb56f15930bb87d640e909c15e447", "urls": [ "bzz-raw://24f9af5eebdd373b1d7a598c096eb6def31b2640d54416d7d5a7226e1cef17e6", "dweb:/ipfs/QmStq9ByGuSYdKwTmZf52L1X6sZVJUfXTnoVbnjLLiUcHG" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol": { "keccak256": "0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794", "urls": [ "bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965", "dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IGsnForwarder.sol": { "keccak256": "0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030", "urls": [ "bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29", "dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IGsnPaymaster.sol": { "keccak256": "0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c", "urls": [ "bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4", "dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IGsnTypes.sol": { "keccak256": "0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714", "urls": [ "bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7", "dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IWETH.sol": { "keccak256": "0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2", "urls": [ "bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2", "dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ" ], "license": "GPL-3.0" }, "contracts/release/utils/AddressArrayLib.sol": { "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", "urls": [ "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" ], "license": "GPL-3.0" }, "contracts/release/utils/beacon-proxy/IBeacon.sol": { "keccak256": "0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2", "urls": [ "bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39", "dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V" ], "license": "GPL-3.0" }, "contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol": { "keccak256": "0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc", "urls": [ "bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be", "dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20Burnable.sol": { "keccak256": "0x9c0eb3b0e11d2480d49991dc384f1e5f9c9b9967cc81944d50916a9b9c6c4984", "urls": [ "bzz-raw://99e4033d778624992e86f0b6d801a4f6d7b5c0cd5c79c1296be90a051ad5f5af", "dweb:/ipfs/QmShYmkUqh6pDEeoWadZ24icmCr4C2Xys1uE5boivPmbwf" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", "urls": [ "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Address.sol": { "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", "urls": [ "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" } }, "version": 1 }, "id": 156 } diff --git a/eth_defi/abi/enzyme/UsdEthSimulatedAggregator.json b/eth_defi/abi/enzyme/UsdEthSimulatedAggregator.json index f6f2dbd8..b6dba6c5 100644 --- a/eth_defi/abi/enzyme/UsdEthSimulatedAggregator.json +++ b/eth_defi/abi/enzyme/UsdEthSimulatedAggregator.json @@ -1,236 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_ethUsdAggregator", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "decimals_", - "type": "uint8" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "latestRoundData", - "outputs": [ - { - "internalType": "uint80", - "name": "roundId_", - "type": "uint80" - }, - { - "internalType": "int256", - "name": "answer_", - "type": "int256" - }, - { - "internalType": "uint256", - "name": "startedAt_", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "updatedAt_", - "type": "uint256" - }, - { - "internalType": "uint80", - "name": "answeredInRound_", - "type": "uint80" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x60a060405234801561001057600080fd5b506040516101fc3803806101fc8339818101604052602081101561003357600080fd5b5051606081901b6001600160601b0319166080526001600160a01b03166101966100666000398060bb52506101966000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063313ce5671461003b578063feaf968c14610059575b600080fd5b6100436100ab565b6040805160ff9092168252519081900360200190f35b6100616100b0565b604051808669ffffffffffffffffffff1681526020018581526020018481526020018381526020018269ffffffffffffffffffff1681526020019550505050505060405180910390f35b601290565b6000806000806000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a06040518083038186803b15801561011257600080fd5b505afa158015610126573d6000803e3d6000fd5b505050506040513d60a081101561013c57600080fd5b508051602082015160408301516060840151608090940151929950965091945092509050600081131561018157806a52b7d2dcc80cd2e40000008161017d57fe5b0594505b50909192939456fea164736f6c634300060c000a", - "sourceMap": "537:2275:254:-:0;;;978:132;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;978:132:254;1034:69;;;;-1:-1:-1;;;;;;1034:69:254;;;-1:-1:-1;;;;;537:2275:254;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c8063313ce5671461003b578063feaf968c14610059575b600080fd5b6100436100ab565b6040805160ff9092168252519081900360200190f35b6100616100b0565b604051808669ffffffffffffffffffff1681526020018581526020018481526020018381526020018269ffffffffffffffffffff1681526020019550505050505060405180910390f35b601290565b6000806000806000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a06040518083038186803b15801561011257600080fd5b505afa158015610126573d6000803e3d6000fd5b505050506040513d60a081101561013c57600080fd5b508051602082015160408301516060840151608090940151929950965091945092509050600081131561018157806a52b7d2dcc80cd2e40000008161017d57fe5b0594505b50909192939456fea164736f6c634300060c000a", - "sourceMap": "537:2275:254:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1247:92;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2088:722;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1247:92;764:2;1247:92;:::o;2088:722::-;2175:15;2204:14;2232:18;2264;2296:23;2344:19;2512:27;-1:-1:-1;;;;;2512:43:254;;:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2512:45:254;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2512:45:254;-1:-1:-1;2512:45:254;;-1:-1:-1;2512:45:254;-1:-1:-1;2512:45:254;-1:-1:-1;2650:1:254;2635:16;;2631:94;;;2702:12;892:6;2677:37;;;;;;2667:47;;2631:94;2735:68;2088:722;;;;;:::o", - "linkReferences": {}, - "immutableReferences": { - "67335": [ - { - "start": 187, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "decimals()": "313ce567", - "latestRoundData()": "feaf968c" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_ethUsdAggregator\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"decimals_\",\"type\":\"uint8\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"latestRoundData\",\"outputs\":[{\"internalType\":\"uint80\",\"name\":\"roundId_\",\"type\":\"uint80\"},{\"internalType\":\"int256\",\"name\":\"answer_\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"startedAt_\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"updatedAt_\",\"type\":\"uint256\"},{\"internalType\":\"uint80\",\"name\":\"answeredInRound_\",\"type\":\"uint80\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"decimals()\":{\"returns\":{\"decimals_\":\"The number of decimals\"}},\"latestRoundData()\":{\"details\":\"All values are returned directly from the target Chainlink ETH/USD aggregator, other than `answer_`, which is inverted to give the USD/ETH rate, and is given the local precision of `DECIMALS`.\",\"returns\":{\"answer_\":\"The `answer` value returned by the Chainlink aggregator, inverted to USD/ETH\",\"answeredInRound_\":\"The `answeredInRound` value returned by the Chainlink aggregator\",\"roundId_\":\"The `roundId` value returned by the Chainlink aggregator\",\"startedAt_\":\"The `startedAt` value returned by the Chainlink aggregator\",\"updatedAt_\":\"The `updatedAt` value returned by the Chainlink aggregator\"}}},\"title\":\"UsdEthSimulatedAggregator Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"decimals()\":{\"notice\":\"The decimals used for rate precision of this simulated aggregator\"},\"latestRoundData()\":{\"notice\":\"The latest round data for this simulated aggregator\"}},\"notice\":\"A simulated aggregator for providing the inverse rate of the Chainlink ETH/USD aggregator\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/infrastructure/price-feeds/primitives/UsdEthSimulatedAggregator.sol\":\"UsdEthSimulatedAggregator\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/infrastructure/price-feeds/primitives/UsdEthSimulatedAggregator.sol\":{\"keccak256\":\"0x9da5e512d4630ded394860b4d83d30f2ca7163de8c9b5fc626b5215c19da281a\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://4c65545bdda5e3729c1004ce45e608a51ccc092b7a54a2a22b5faa2ff24c732a\",\"dweb:/ipfs/QmYR9h3VPFMbb9arwF2TXL92kjo21cWgRFR7jchVD6R5jB\"]},\"contracts/release/interfaces/IChainlinkAggregator.sol\":{\"keccak256\":\"0x8104db68d4edc00c86b29b366f4397cdbe7bd95bb9dc90f54140af4bae963788\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://4664240be22fe76bd4e84d1cbaace3998dbc96759a14345819a889f0c288d22e\",\"dweb:/ipfs/QmQ8fbA4tvXeCeaAFeS2JrLEQUPFeYrePAKoUywRtcicgA\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_ethUsdAggregator", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "stateMutability": "pure", - "type": "function", - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "decimals_", - "type": "uint8" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "latestRoundData", - "outputs": [ - { - "internalType": "uint80", - "name": "roundId_", - "type": "uint80" - }, - { - "internalType": "int256", - "name": "answer_", - "type": "int256" - }, - { - "internalType": "uint256", - "name": "startedAt_", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "updatedAt_", - "type": "uint256" - }, - { - "internalType": "uint80", - "name": "answeredInRound_", - "type": "uint80" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "decimals()": { - "returns": { - "decimals_": "The number of decimals" - } - }, - "latestRoundData()": { - "details": "All values are returned directly from the target Chainlink ETH/USD aggregator, other than `answer_`, which is inverted to give the USD/ETH rate, and is given the local precision of `DECIMALS`.", - "returns": { - "answer_": "The `answer` value returned by the Chainlink aggregator, inverted to USD/ETH", - "answeredInRound_": "The `answeredInRound` value returned by the Chainlink aggregator", - "roundId_": "The `roundId` value returned by the Chainlink aggregator", - "startedAt_": "The `startedAt` value returned by the Chainlink aggregator", - "updatedAt_": "The `updatedAt` value returned by the Chainlink aggregator" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "decimals()": { - "notice": "The decimals used for rate precision of this simulated aggregator" - }, - "latestRoundData()": { - "notice": "The latest round data for this simulated aggregator" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/infrastructure/price-feeds/primitives/UsdEthSimulatedAggregator.sol": "UsdEthSimulatedAggregator" - }, - "libraries": {} - }, - "sources": { - "contracts/release/infrastructure/price-feeds/primitives/UsdEthSimulatedAggregator.sol": { - "keccak256": "0x9da5e512d4630ded394860b4d83d30f2ca7163de8c9b5fc626b5215c19da281a", - "urls": [ - "bzz-raw://4c65545bdda5e3729c1004ce45e608a51ccc092b7a54a2a22b5faa2ff24c732a", - "dweb:/ipfs/QmYR9h3VPFMbb9arwF2TXL92kjo21cWgRFR7jchVD6R5jB" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IChainlinkAggregator.sol": { - "keccak256": "0x8104db68d4edc00c86b29b366f4397cdbe7bd95bb9dc90f54140af4bae963788", - "urls": [ - "bzz-raw://4664240be22fe76bd4e84d1cbaace3998dbc96759a14345819a889f0c288d22e", - "dweb:/ipfs/QmQ8fbA4tvXeCeaAFeS2JrLEQUPFeYrePAKoUywRtcicgA" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 254 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_ethUsdAggregator", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "decimals", "inputs": [], "outputs": [ { "name": "decimals_", "type": "uint8", "internalType": "uint8" } ], "stateMutability": "pure" }, { "type": "function", "name": "latestRoundData", "inputs": [], "outputs": [ { "name": "roundId_", "type": "uint80", "internalType": "uint80" }, { "name": "answer_", "type": "int256", "internalType": "int256" }, { "name": "startedAt_", "type": "uint256", "internalType": "uint256" }, { "name": "updatedAt_", "type": "uint256", "internalType": "uint256" }, { "name": "answeredInRound_", "type": "uint80", "internalType": "uint80" } ], "stateMutability": "view" } ], "bytecode": { "object": "0x60a060405234801561001057600080fd5b506040516101fc3803806101fc8339818101604052602081101561003357600080fd5b5051606081901b6001600160601b0319166080526001600160a01b03166101966100666000398060bb52506101966000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063313ce5671461003b578063feaf968c14610059575b600080fd5b6100436100ab565b6040805160ff9092168252519081900360200190f35b6100616100b0565b604051808669ffffffffffffffffffff1681526020018581526020018481526020018381526020018269ffffffffffffffffffff1681526020019550505050505060405180910390f35b601290565b6000806000806000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a06040518083038186803b15801561011257600080fd5b505afa158015610126573d6000803e3d6000fd5b505050506040513d60a081101561013c57600080fd5b508051602082015160408301516060840151608090940151929950965091945092509050600081131561018157806a52b7d2dcc80cd2e40000008161017d57fe5b0594505b50909192939456fea164736f6c634300060c000a", "sourceMap": "537:2275:254:-:0;;;978:132;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;978:132:254;1034:69;;;;-1:-1:-1;;;;;;1034:69:254;;;-1:-1:-1;;;;;537:2275:254;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c8063313ce5671461003b578063feaf968c14610059575b600080fd5b6100436100ab565b6040805160ff9092168252519081900360200190f35b6100616100b0565b604051808669ffffffffffffffffffff1681526020018581526020018481526020018381526020018269ffffffffffffffffffff1681526020019550505050505060405180910390f35b601290565b6000806000806000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a06040518083038186803b15801561011257600080fd5b505afa158015610126573d6000803e3d6000fd5b505050506040513d60a081101561013c57600080fd5b508051602082015160408301516060840151608090940151929950965091945092509050600081131561018157806a52b7d2dcc80cd2e40000008161017d57fe5b0594505b50909192939456fea164736f6c634300060c000a", "sourceMap": "537:2275:254:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1247:92;;;:::i;:::-;;;;;;;;;;;;;;;;;;;2088:722;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1247:92;764:2;1247:92;:::o;2088:722::-;2175:15;2204:14;2232:18;2264;2296:23;2344:19;2512:27;-1:-1:-1;;;;;2512:43:254;;:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2512:45:254;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2512:45:254;-1:-1:-1;2512:45:254;;-1:-1:-1;2512:45:254;-1:-1:-1;2512:45:254;-1:-1:-1;2650:1:254;2635:16;;2631:94;;;2702:12;892:6;2677:37;;;;;;2667:47;;2631:94;2735:68;2088:722;;;;;:::o", "linkReferences": {}, "immutableReferences": { "67335": [ { "start": 187, "length": 32 } ] } }, "methodIdentifiers": { "decimals()": "313ce567", "latestRoundData()": "feaf968c" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_ethUsdAggregator\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"decimals_\",\"type\":\"uint8\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"latestRoundData\",\"outputs\":[{\"internalType\":\"uint80\",\"name\":\"roundId_\",\"type\":\"uint80\"},{\"internalType\":\"int256\",\"name\":\"answer_\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"startedAt_\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"updatedAt_\",\"type\":\"uint256\"},{\"internalType\":\"uint80\",\"name\":\"answeredInRound_\",\"type\":\"uint80\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"decimals()\":{\"returns\":{\"decimals_\":\"The number of decimals\"}},\"latestRoundData()\":{\"details\":\"All values are returned directly from the target Chainlink ETH/USD aggregator, other than `answer_`, which is inverted to give the USD/ETH rate, and is given the local precision of `DECIMALS`.\",\"returns\":{\"answer_\":\"The `answer` value returned by the Chainlink aggregator, inverted to USD/ETH\",\"answeredInRound_\":\"The `answeredInRound` value returned by the Chainlink aggregator\",\"roundId_\":\"The `roundId` value returned by the Chainlink aggregator\",\"startedAt_\":\"The `startedAt` value returned by the Chainlink aggregator\",\"updatedAt_\":\"The `updatedAt` value returned by the Chainlink aggregator\"}}},\"title\":\"UsdEthSimulatedAggregator Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"decimals()\":{\"notice\":\"The decimals used for rate precision of this simulated aggregator\"},\"latestRoundData()\":{\"notice\":\"The latest round data for this simulated aggregator\"}},\"notice\":\"A simulated aggregator for providing the inverse rate of the Chainlink ETH/USD aggregator\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/infrastructure/price-feeds/primitives/UsdEthSimulatedAggregator.sol\":\"UsdEthSimulatedAggregator\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/infrastructure/price-feeds/primitives/UsdEthSimulatedAggregator.sol\":{\"keccak256\":\"0x9da5e512d4630ded394860b4d83d30f2ca7163de8c9b5fc626b5215c19da281a\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://4c65545bdda5e3729c1004ce45e608a51ccc092b7a54a2a22b5faa2ff24c732a\",\"dweb:/ipfs/QmYR9h3VPFMbb9arwF2TXL92kjo21cWgRFR7jchVD6R5jB\"]},\"contracts/release/interfaces/IChainlinkAggregator.sol\":{\"keccak256\":\"0x8104db68d4edc00c86b29b366f4397cdbe7bd95bb9dc90f54140af4bae963788\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://4664240be22fe76bd4e84d1cbaace3998dbc96759a14345819a889f0c288d22e\",\"dweb:/ipfs/QmQ8fbA4tvXeCeaAFeS2JrLEQUPFeYrePAKoUywRtcicgA\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_ethUsdAggregator", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "stateMutability": "pure", "type": "function", "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "decimals_", "type": "uint8" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "latestRoundData", "outputs": [ { "internalType": "uint80", "name": "roundId_", "type": "uint80" }, { "internalType": "int256", "name": "answer_", "type": "int256" }, { "internalType": "uint256", "name": "startedAt_", "type": "uint256" }, { "internalType": "uint256", "name": "updatedAt_", "type": "uint256" }, { "internalType": "uint80", "name": "answeredInRound_", "type": "uint80" } ] } ], "devdoc": { "kind": "dev", "methods": { "decimals()": { "returns": { "decimals_": "The number of decimals" } }, "latestRoundData()": { "details": "All values are returned directly from the target Chainlink ETH/USD aggregator, other than `answer_`, which is inverted to give the USD/ETH rate, and is given the local precision of `DECIMALS`.", "returns": { "answer_": "The `answer` value returned by the Chainlink aggregator, inverted to USD/ETH", "answeredInRound_": "The `answeredInRound` value returned by the Chainlink aggregator", "roundId_": "The `roundId` value returned by the Chainlink aggregator", "startedAt_": "The `startedAt` value returned by the Chainlink aggregator", "updatedAt_": "The `updatedAt` value returned by the Chainlink aggregator" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "decimals()": { "notice": "The decimals used for rate precision of this simulated aggregator" }, "latestRoundData()": { "notice": "The latest round data for this simulated aggregator" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/infrastructure/price-feeds/primitives/UsdEthSimulatedAggregator.sol": "UsdEthSimulatedAggregator" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/infrastructure/price-feeds/primitives/UsdEthSimulatedAggregator.sol": { "keccak256": "0x9da5e512d4630ded394860b4d83d30f2ca7163de8c9b5fc626b5215c19da281a", "urls": [ "bzz-raw://4c65545bdda5e3729c1004ce45e608a51ccc092b7a54a2a22b5faa2ff24c732a", "dweb:/ipfs/QmYR9h3VPFMbb9arwF2TXL92kjo21cWgRFR7jchVD6R5jB" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IChainlinkAggregator.sol": { "keccak256": "0x8104db68d4edc00c86b29b366f4397cdbe7bd95bb9dc90f54140af4bae963788", "urls": [ "bzz-raw://4664240be22fe76bd4e84d1cbaace3998dbc96759a14345819a889f0c288d22e", "dweb:/ipfs/QmQ8fbA4tvXeCeaAFeS2JrLEQUPFeYrePAKoUywRtcicgA" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 254 } diff --git a/eth_defi/abi/enzyme/ValueInterpreter.json b/eth_defi/abi/enzyme/ValueInterpreter.json index bd96a987..90254da1 100644 --- a/eth_defi/abi/enzyme/ValueInterpreter.json +++ b/eth_defi/abi/enzyme/ValueInterpreter.json @@ -1,1403 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_fundDeployer", - "type": "address" - }, - { - "internalType": "address", - "name": "_wethToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_chainlinkStaleRateThreshold", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "derivative", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "priceFeed", - "type": "address" - } - ], - "name": "DerivativeAdded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "derivative", - "type": "address" - } - ], - "name": "DerivativeRemoved", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "prevEthUsdAggregator", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "nextEthUsdAggregator", - "type": "address" - } - ], - "name": "EthUsdAggregatorSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "primitive", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "aggregator", - "type": "address" - }, - { - "indexed": false, - "internalType": "enum ChainlinkPriceFeedMixin.RateAsset", - "name": "rateAsset", - "type": "uint8" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "unit", - "type": "uint256" - } - ], - "name": "PrimitiveAdded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "primitive", - "type": "address" - } - ], - "name": "PrimitiveRemoved", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_derivatives", - "type": "address[]" - }, - { - "internalType": "address[]", - "name": "_priceFeeds", - "type": "address[]" - } - ], - "name": "addDerivatives", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_primitives", - "type": "address[]" - }, - { - "internalType": "address[]", - "name": "_aggregators", - "type": "address[]" - }, - { - "internalType": "enum ChainlinkPriceFeedMixin.RateAsset[]", - "name": "_rateAssets", - "type": "uint8[]" - } - ], - "name": "addPrimitives", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_baseAsset", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_quoteAsset", - "type": "address" - } - ], - "name": "calcCanonicalAssetValue", - "outputs": [ - { - "internalType": "uint256", - "name": "value_", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_baseAssets", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "_amounts", - "type": "uint256[]" - }, - { - "internalType": "address", - "name": "_quoteAsset", - "type": "address" - } - ], - "name": "calcCanonicalAssetsTotalValue", - "outputs": [ - { - "internalType": "uint256", - "name": "value_", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_primitive", - "type": "address" - } - ], - "name": "getAggregatorForPrimitive", - "outputs": [ - { - "internalType": "address", - "name": "aggregator_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getEthUsdAggregator", - "outputs": [ - { - "internalType": "address", - "name": "ethUsdAggregator_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getFundDeployer", - "outputs": [ - { - "internalType": "address", - "name": "fundDeployer_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "owner_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_derivative", - "type": "address" - } - ], - "name": "getPriceFeedForDerivative", - "outputs": [ - { - "internalType": "address", - "name": "priceFeed_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_primitive", - "type": "address" - } - ], - "name": "getRateAssetForPrimitive", - "outputs": [ - { - "internalType": "enum ChainlinkPriceFeedMixin.RateAsset", - "name": "rateAsset_", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getStaleRateThreshold", - "outputs": [ - { - "internalType": "uint256", - "name": "staleRateThreshold_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_primitive", - "type": "address" - } - ], - "name": "getUnitForPrimitive", - "outputs": [ - { - "internalType": "uint256", - "name": "unit_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getWethToken", - "outputs": [ - { - "internalType": "address", - "name": "wethToken_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_asset", - "type": "address" - } - ], - "name": "isSupportedAsset", - "outputs": [ - { - "internalType": "bool", - "name": "isSupported_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_asset", - "type": "address" - } - ], - "name": "isSupportedDerivativeAsset", - "outputs": [ - { - "internalType": "bool", - "name": "isSupported_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_asset", - "type": "address" - } - ], - "name": "isSupportedPrimitiveAsset", - "outputs": [ - { - "internalType": "bool", - "name": "isSupported_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_derivatives", - "type": "address[]" - } - ], - "name": "removeDerivatives", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_primitives", - "type": "address[]" - } - ], - "name": "removePrimitives", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_nextEthUsdAggregator", - "type": "address" - } - ], - "name": "setEthUsdAggregator", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_derivatives", - "type": "address[]" - }, - { - "internalType": "address[]", - "name": "_priceFeeds", - "type": "address[]" - } - ], - "name": "updateDerivatives", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_primitives", - "type": "address[]" - }, - { - "internalType": "address[]", - "name": "_aggregators", - "type": "address[]" - }, - { - "internalType": "enum ChainlinkPriceFeedMixin.RateAsset[]", - "name": "_rateAssets", - "type": "uint8[]" - } - ], - "name": "updatePrimitives", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x60e06040523480156200001157600080fd5b5060405162002bb238038062002bb2833981016040819052620000349162000079565b6001600160601b0319606093841b811660805260a091909152911b1660c05262000107565b80516200006681620000e2565b92915050565b80516200006681620000fc565b6000806000606084860312156200008f57600080fd5b60006200009d868662000059565b9350506020620000b08682870162000059565b9250506040620000c3868287016200006c565b9150509250925092565b60006001600160a01b03821662000066565b90565b620000ed81620000cd565b8114620000f957600080fd5b50565b620000ed81620000df565b60805160601c60a05160c05160601c612a736200013f600039806103895250806107e552508061053552806106435250612a736000f3fe608060405234801561001057600080fd5b50600436106101375760003560e01c806397c0ac87116100b8578063b54fbdaa1161007c578063b54fbdaa1461025f578063c496f8e814610267578063cf0399c81461027a578063e106264f1461028d578063e2dd0978146102a0578063e35e318e146102b357610137565b806397c0ac871461020b5780639be918e614610213578063a98acadc14610226578063ae6f52ad14610239578063b3d3af3b1461024c57610137565b80636d3b9410116100ff5780636d3b9410146101c257806374626f87146101d5578063787f2568146101dd578063893d20e8146101f05780638f72b136146101f857610137565b806339cbb63c1461013c5780634c252f91146101515780634c67e1061461016f57806364b01dc11461018f57806368e81c6d146101af575b600080fd5b61014f61014a366004611c13565b6102d3565b005b610159610387565b6040516101669190612739565b60405180910390f35b61018261017d366004611b85565b6103ab565b6040516101669190612971565b6101a261019d366004611b49565b61043f565b60405161016691906127a5565b6101596101bd366004611b49565b61045e565b61014f6101d0366004611c81565b61047c565b6101596104d4565b6101826101eb366004611b49565b6104e3565b610159610531565b61014f610206366004611bd2565b6105c9565b610159610641565b6101a2610221366004611b49565b610665565b61014f610234366004611b49565b610685565b610182610247366004611d86565b6106c9565b61014f61025a366004611c13565b61076f565b6101826107e3565b6101a2610275366004611b49565b610807565b61014f610288366004611c81565b610836565b61014f61029b366004611bd2565b61086e565b6101596102ae366004611b49565b6108b0565b6102c66102c1366004611b49565b6108ce565b60405161016691906127b3565b6102db610531565b6001600160a01b0316336001600160a01b0316146103145760405162461bcd60e51b815260040161030b906127f1565b60405180910390fd5b6103818484808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152505060408051602080880282810182019093528782529093508792508691829185019084908082843760009201919091525061091f92505050565b50505050565b7f000000000000000000000000000000000000000000000000000000000000000090565b6000816001600160a01b0316846001600160a01b031614806103cb575082155b156103d7575081610438565b6103e082610807565b156103f7576103f0848484610aac565b9050610438565b6104008261043f565b8015610410575061041084610807565b15610420576103f0848484610b39565b60405162461bcd60e51b815260040161030b90612811565b9392505050565b60008061044b8361045e565b6001600160a01b0316141590505b919050565b6001600160a01b039081166000908152602081905260409020541690565b610484610531565b6001600160a01b0316336001600160a01b0316146104b45760405162461bcd60e51b815260040161030b906127f1565b6104be8686610c13565b6104cc868686868686610d5f565b505050505050565b6001546001600160a01b031690565b60006104ed610387565b6001600160a01b0316826001600160a01b031614156105155750670de0b6b3a7640000610459565b506001600160a01b031660009081526003602052604090205490565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561058c57600080fd5b505afa1580156105a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105c49190611b67565b905090565b6105d1610531565b6001600160a01b0316336001600160a01b0316146106015760405162461bcd60e51b815260040161030b906127f1565b61063d82828080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061108492505050565b5050565b7f000000000000000000000000000000000000000000000000000000000000000090565b600061067082610807565b8061067f575061067f8261043f565b92915050565b61068d610531565b6001600160a01b0316336001600160a01b0316146106bd5760405162461bcd60e51b815260040161030b906127f1565b6106c68161116f565b50565b600082518451146106ec5760405162461bcd60e51b815260040161030b90612881565b6106f582610807565b6107115760405162461bcd60e51b815260040161030b906127d1565b60005b845181101561076757600061075086838151811061072e57fe5b602002602001015186848151811061074257fe5b602002602001015186610aac565b905061075c838261120f565b925050600101610714565b509392505050565b610777610531565b6001600160a01b0316336001600160a01b0316146107a75760405162461bcd60e51b815260040161030b906127f1565b61031484848080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061108492505050565b7f000000000000000000000000000000000000000000000000000000000000000090565b6000610811610387565b6001600160a01b0316826001600160a01b0316148061067f5750600061044b836108b0565b61083e610531565b6001600160a01b0316336001600160a01b0316146104be5760405162461bcd60e51b815260040161030b906127f1565b610876610531565b6001600160a01b0316336001600160a01b0316146108a65760405162461bcd60e51b815260040161030b906127f1565b61063d8282610c13565b6001600160a01b039081166000908152600260205260409020541690565b60006108d8610387565b6001600160a01b0316826001600160a01b031614156108f957506000610459565b506001600160a01b0316600090815260026020526040902054600160a01b900460ff1690565b80518251146109405760405162461bcd60e51b815260040161030b90612941565b60005b8251811015610aa75760006001600160a01b031661097384838151811061096657fe5b602002602001015161045e565b6001600160a01b0316146109995760405162461bcd60e51b815260040161030b906128d1565b6109c98382815181106109a857fe5b60200260200101518383815181106109bc57fe5b6020026020010151611234565b8181815181106109d557fe5b60200260200101516000808584815181106109ec57fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b03160217905550828181518110610a4457fe5b60200260200101516001600160a01b03167faa4ae250fb435bb4b31ed0b95822bc179fc6c5dd0c727c3ffe08d444025efd98838381518110610a8257fe5b6020026020010151604051610a979190612739565b60405180910390a2600101610943565b505050565b6000816001600160a01b0316846001600160a01b03161480610acc575082155b15610ad8575081610438565b610ae184610807565b15610af1576103f08484846112cc565b6000610afc8561045e565b90506001600160a01b03811615610b2157610b198186868661133e565b915050610438565b60405162461bcd60e51b815260040161030b90612931565b600080826001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015610b7557600080fd5b505afa158015610b89573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bad9190611e96565b60ff16600a0a90506000610bc08461045e565b90506000610bd08286858a61133e565b90506127108111610bf35760405162461bcd60e51b815260040161030b90612951565b610c08610c0182600161120f565b848861146e565b979650505050505050565b60005b81811015610aa7576000610c44848484818110610c2f57fe5b90506020020160208101906102ae9190611b49565b6001600160a01b03161415610c6b5760405162461bcd60e51b815260040161030b906128f1565b60026000848484818110610c7b57fe5b9050602002016020810190610c909190611b49565b6001600160a01b031681526020810191909152604001600090812080546001600160a81b0319169055600390848484818110610cc857fe5b9050602002016020810190610cdd9190611b49565b6001600160a01b03166001600160a01b0316815260200190815260200160002060009055828282818110610d0d57fe5b9050602002016020810190610d229190611b49565b6001600160a01b03167fb100e8178a081ba9130260173ee2ebe0db3a6c3b6751a7801111ab3017df0e9760405160405180910390a2600101610c16565b848314610d7e5760405162461bcd60e51b815260040161030b90612921565b848114610d9d5760405162461bcd60e51b815260040161030b90612871565b60005b8581101561107b576000610db9888884818110610c2f57fe5b6001600160a01b031614610ddf5760405162461bcd60e51b815260040161030b90612961565b610e08858583818110610dee57fe5b9050602002016020810190610e039190611b49565b61148c565b6040518060400160405280868684818110610e1f57fe5b9050602002016020810190610e349190611b49565b6001600160a01b03168152602001848484818110610e4e57fe5b9050602002016020810190610e639190611e03565b6001811115610e6e57fe5b905260026000898985818110610e8057fe5b9050602002016020810190610e959190611b49565b6001600160a01b0390811682526020808301939093526040909101600020835181546001600160a01b031916921691909117808255918301519091829060ff60a01b1916600160a01b836001811115610eea57fe5b02179055509050506000878783818110610f0057fe5b9050602002016020810190610f159190611b49565b6001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015610f4d57600080fd5b505afa158015610f61573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f859190611e96565b60ff16600a0a905080600360008a8a86818110610f9e57fe5b9050602002016020810190610fb39190611b49565b6001600160a01b03168152602081019190915260400160002055878783818110610fd957fe5b9050602002016020810190610fee9190611b49565b6001600160a01b03167f742bdf00da3d8f16c0fab93ce38eb6a536a019c9e283888dd44c3a08c0148c0287878581811061102457fe5b90506020020160208101906110399190611b49565b86868681811061104557fe5b905060200201602081019061105a9190611e03565b8460405161106a93929190612762565b60405180910390a250600101610da0565b50505050505050565b60005b815181101561063d5760006001600160a01b03166110aa83838151811061096657fe5b6001600160a01b031614156110d15760405162461bcd60e51b815260040161030b90612891565b6000808383815181106110e057fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154906001600160a01b03021916905581818151811061112a57fe5b60200260200101516001600160a01b03167fc15eb25d807b570f4567baf6e97c7b26d58a7d0512dc85e8db15375a056b860460405160405180910390a2600101611087565b60006111796104d4565b9050806001600160a01b0316826001600160a01b031614156111ad5760405162461bcd60e51b815260040161030b906127c1565b6111b68261148c565b600180546001600160a01b0319166001600160a01b0384161790556040517f98b60a60ba6130248e985ae4140dc3109d9c2980c7e435fed385e2756bc94461906112039083908590612747565b60405180910390a15050565b6000828201838110156104385760405162461bcd60e51b815260040161030b90612801565b604051634df48c7360e11b81526001600160a01b03821690639be918e690611260908590600401612739565b60206040518083038186803b15801561127857600080fd5b505afa15801561128c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112b09190611de5565b61063d5760405162461bcd60e51b815260040161030b90612911565b6000806112d885611530565b9050600081136112fa5760405162461bcd60e51b815260040161030b906128b1565b600061130584611530565b9050600081136113275760405162461bcd60e51b815260040161030b906128e1565b6113348686848785611623565b9695505050505050565b6000606080866001600160a01b031663727212f687876040518363ffffffff1660e01b815260040161137192919061278a565b600060405180830381600087803b15801561138b57600080fd5b505af115801561139f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526113c79190810190611d1f565b9150915060008251116113ec5760405162461bcd60e51b815260040161030b906128a1565b805182511461140d5760405162461bcd60e51b815260040161030b90612831565b60005b825181101561146357600061144c84838151811061142a57fe5b602002602001015184848151811061143e57fe5b602002602001015188610aac565b9050611458858261120f565b945050600101611410565b505050949350505050565b60006114848461147e8486611788565b906117c2565b949350505050565b600080826001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a06040518083038186803b1580156114c857600080fd5b505afa1580156114dc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115009190611e21565b50935050925050600082136115275760405162461bcd60e51b815260040161030b90612901565b610aa7816117f4565b600061153a610387565b6001600160a01b0316826001600160a01b031614156115625750670de0b6b3a7640000610459565b600061156d836108b0565b90506001600160a01b0381166115955760405162461bcd60e51b815260040161030b906127e1565b6000816001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a06040518083038186803b1580156115d057600080fd5b505afa1580156115e4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116089190611e21565b5091955090925061161c91508290506117f4565b5050919050565b60008061162f876108ce565b9050600061163c856108ce565b90506000611649896104e3565b90506000611656876104e3565b905082600181111561166457fe5b84600181111561167057fe5b141561168e5761168389838a848a611825565b94505050505061177f565b6000806116996104d4565b6001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a06040518083038186803b1580156116d157600080fd5b505afa1580156116e5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117099190611e21565b50935050925050600082136117305760405162461bcd60e51b815260040161030b90612851565b611739816117f4565b600086600181111561174757fe5b14156117685761175b8b858c868c87611848565b965050505050505061177f565b6117768b858c868c87611883565b96505050505050505b95945050505050565b6000826117975750600061067f565b828202828482816117a457fe5b04146104385760405162461bcd60e51b815260040161030b906128c1565b60008082116117e35760405162461bcd60e51b815260040161030b90612841565b8183816117ec57fe5b049392505050565b6118066117ff6107e3565b42906118b2565b8110156106c65760405162461bcd60e51b815260040161030b90612861565b60006113346118348684611788565b61147e856118428a89611788565b90611788565b600080611865670de0b6b3a764000061147e856118428c8b611788565b90506118778461147e8981858a611788565b98975050505050505050565b6000806118988361147e876118428c8b611788565b90506118778461147e898185670de0b6b3a7640000611788565b6000828211156118d45760405162461bcd60e51b815260040161030b90612821565b50900390565b803561067f81612a21565b805161067f81612a21565b60008083601f84011261190257600080fd5b5081356001600160401b0381111561191957600080fd5b60208301915083602082028301111561193157600080fd5b9250929050565b600082601f83011261194957600080fd5b813561195c611957826129a5565b61297f565b9150818183526020840193506020810190508385602084028201111561198157600080fd5b60005b838110156119ad578161199788826118da565b8452506020928301929190910190600101611984565b5050505092915050565b600082601f8301126119c857600080fd5b81516119d6611957826129a5565b915081818352602084019350602081019050838560208402820111156119fb57600080fd5b60005b838110156119ad5781611a1188826118e5565b84525060209283019291909101906001016119fe565b600082601f830112611a3857600080fd5b8135611a46611957826129a5565b91508181835260208401935060208101905083856020840282011115611a6b57600080fd5b60005b838110156119ad5781611a818882611b28565b8452506020928301929190910190600101611a6e565b600082601f830112611aa857600080fd5b8151611ab6611957826129a5565b91508181835260208401935060208101905083856020840282011115611adb57600080fd5b60005b838110156119ad5781611af18882611b1d565b8452506020928301929190910190600101611ade565b805161067f81612a35565b803561067f81612a3e565b805161067f81612a4b565b803561067f81612a4b565b805161067f81612a5d565b805161067f81612a54565b600060208284031215611b5b57600080fd5b600061148484846118da565b600060208284031215611b7957600080fd5b600061148484846118e5565b600080600060608486031215611b9a57600080fd5b6000611ba686866118da565b9350506020611bb786828701611b28565b9250506040611bc8868287016118da565b9150509250925092565b60008060208385031215611be557600080fd5b82356001600160401b03811115611bfb57600080fd5b611c07858286016118f0565b92509250509250929050565b60008060008060408587031215611c2957600080fd5b84356001600160401b03811115611c3f57600080fd5b611c4b878288016118f0565b945094505060208501356001600160401b03811115611c6957600080fd5b611c75878288016118f0565b95989497509550505050565b60008060008060008060608789031215611c9a57600080fd5b86356001600160401b03811115611cb057600080fd5b611cbc89828a016118f0565b965096505060208701356001600160401b03811115611cda57600080fd5b611ce689828a016118f0565b945094505060408701356001600160401b03811115611d0457600080fd5b611d1089828a016118f0565b92509250509295509295509295565b60008060408385031215611d3257600080fd5b82516001600160401b03811115611d4857600080fd5b611d54858286016119b7565b92505060208301516001600160401b03811115611d7057600080fd5b611d7c85828601611a97565b9150509250929050565b600080600060608486031215611d9b57600080fd5b83356001600160401b03811115611db157600080fd5b611dbd86828701611938565b93505060208401356001600160401b03811115611dd957600080fd5b611bb786828701611a27565b600060208284031215611df757600080fd5b60006114848484611b07565b600060208284031215611e1557600080fd5b60006114848484611b12565b600080600080600060a08688031215611e3957600080fd5b6000611e458888611b33565b9550506020611e5688828901611b1d565b9450506040611e6788828901611b1d565b9350506060611e7888828901611b1d565b9250506080611e8988828901611b33565b9150509295509295909350565b600060208284031215611ea857600080fd5b60006114848484611b3e565b611ebd816129ce565b82525050565b611ebd816129d9565b611ebd81612a0c565b6000611ee26028836129c5565b7f5f5f73657445746855736441676772656761746f723a2056616c756520616c728152671958591e481cd95d60c21b602082015260400192915050565b6000611f2c6036836129c5565b7f63616c6343616e6f6e6963616c417373657473546f74616c56616c75653a20558152751b9cdd5c1c1bdc9d19590817dc5d5bdd19505cdcd95d60521b602082015260400192915050565b6000611f84602d836129c5565b7f5f5f6765744c617465737452617465446174613a205072696d6974697665206481526c1bd95cc81b9bdd08195e1a5cdd609a1b602082015260400192915050565b6000611fd36049836129c5565b7f6f6e6c7946756e644465706c6f7965724f776e65723a204f6e6c79207468652081527f46756e644465706c6f796572206f776e65722063616e2063616c6c207468697360208201526810333ab731ba34b7b760b91b604082015260600192915050565b6000612044601b836129c5565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b600061207d602f836129c5565b7f63616c6343616e6f6e6963616c417373657456616c75653a20556e737570706f81526e393a32b21031b7b73b32b939b4b7b760891b602082015260400192915050565b60006120ce601e836129c5565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000612107602d836129c5565b7f5f5f63616c634465726976617469766556616c75653a2041727261797320756e81526c657175616c206c656e6774687360981b602082015260400192915050565b6000612156601a836129c5565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b600061218f6027836129c5565b7f5f5f63616c63436f6e76657273696f6e416d6f756e743a2042616420657468558152667364207261746560c81b602082015260400192915050565b60006121d8602d836129c5565b7f5f5f76616c69646174655261746549734e6f745374616c653a205374616c652081526c1c985d194819195d1958dd1959609a1b602082015260400192915050565b60006122276042836129c5565b7f5f5f6164645072696d6974697665733a20556e657175616c205f7072696d697481527f6976657320616e64205f72617465417373657473206172726179206c656e6774602082015261687360f01b604082015260600192915050565b60006122916035836129c5565b7f63616c6343616e6f6e6963616c417373657473546f74616c56616c75653a2041815274727261797320756e657175616c206c656e6774687360581b602082015260400192915050565b60006122e8602b836129c5565b7f72656d6f766544657269766174697665733a2044657269766174697665206e6f81526a1d081e595d08185919195960aa1b602082015260400192915050565b60006123356025836129c5565b7f5f5f63616c634465726976617469766556616c75653a204e6f20756e6465726c81526479696e677360d81b602082015260400192915050565b600061237c602d836129c5565b7f5f5f63616c6343616e6f6e6963616c56616c75653a20496e76616c696420626181526c7365206173736574207261746560981b602082015260400192915050565b60006123cb6021836129c5565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b600061240e601f836129c5565b7f5f5f61646444657269766174697665733a20416c726561647920616464656400815260200192915050565b6000612447602e836129c5565b7f5f5f63616c6343616e6f6e6963616c56616c75653a20496e76616c696420717581526d6f7465206173736574207261746560901b602082015260400192915050565b6000612497602b836129c5565b7f5f5f72656d6f76655072696d6974697665733a205072696d6974697665206e6f81526a1d081e595d08185919195960aa1b602082015260400192915050565b60006124e46026836129c5565b7f5f5f76616c696461746541676772656761746f723a204e6f20726174652064658152651d1958dd195960d21b602082015260400192915050565b600061252c6035836129c5565b7f5f5f76616c6964617465446572697661746976655072696365466565643a20558152746e737570706f72746564206465726976617469766560581b602082015260400192915050565b60006125836043836129c5565b7f5f5f6164645072696d6974697665733a20556e657175616c205f7072696d697481527f6976657320616e64205f61676772656761746f7273206172726179206c656e6760208201526274687360e81b604082015260600192915050565b60006125ee6028836129c5565b7f5f5f63616c63417373657456616c75653a20556e737570706f72746564205f62815267185cd9505cdcd95d60c21b602082015260400192915050565b60006126386044836129c5565b7f5f5f61646444657269766174697665733a20556e657175616c205f646572697681527f61746976657320616e64205f70726963654665656473206172726179206c656e6020820152636774687360e01b604082015260600192915050565b60006126a46033836129c5565b7f5f5f63616c635072696d6974697665546f4465726976617469766556616c75658152723a20496e73756666696369656e74207261746560681b602082015260400192915050565b60006126f96022836129c5565b7f5f5f6164645072696d6974697665733a2056616c756520616c72656164792073815261195d60f21b602082015260400192915050565b611ebd816129e8565b6020810161067f8284611eb4565b604081016127558285611eb4565b6104386020830184611eb4565b606081016127708286611eb4565b61277d6020830185611ecc565b6114846040830184612730565b604081016127988285611eb4565b6104386020830184612730565b6020810161067f8284611ec3565b6020810161067f8284611ecc565b6020808252810161067f81611ed5565b6020808252810161067f81611f1f565b6020808252810161067f81611f77565b6020808252810161067f81611fc6565b6020808252810161067f81612037565b6020808252810161067f81612070565b6020808252810161067f816120c1565b6020808252810161067f816120fa565b6020808252810161067f81612149565b6020808252810161067f81612182565b6020808252810161067f816121cb565b6020808252810161067f8161221a565b6020808252810161067f81612284565b6020808252810161067f816122db565b6020808252810161067f81612328565b6020808252810161067f8161236f565b6020808252810161067f816123be565b6020808252810161067f81612401565b6020808252810161067f8161243a565b6020808252810161067f8161248a565b6020808252810161067f816124d7565b6020808252810161067f8161251f565b6020808252810161067f81612576565b6020808252810161067f816125e1565b6020808252810161067f8161262b565b6020808252810161067f81612697565b6020808252810161067f816126ec565b6020810161067f8284612730565b6040518181016001600160401b038111828210171561299d57600080fd5b604052919050565b60006001600160401b038211156129bb57600080fd5b5060209081020190565b90815260200190565b600061067f826129eb565b151590565b8061045981612a17565b90565b6001600160a01b031690565b60ff1690565b69ffffffffffffffffffff1690565b600061067f826129de565b600281106106c657fe5b612a2a816129ce565b81146106c657600080fd5b612a2a816129d9565b600281106106c657600080fd5b612a2a816129e8565b612a2a816129f7565b612a2a816129fd56fea164736f6c634300060c000a", - "sourceMap": "859:11666:265:-:0;;;1241:264;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;864:29:358;;;;;;;;1524:42:253;;;;;1576:23;;;;;859:11666:265;;5:134:-1;83:13;;101:33;83:13;101:33;:::i;:::-;68:71;;;;:::o;146:134::-;224:13;;242:33;224:13;242:33;:::i;287:535::-;;;;436:2;424:9;415:7;411:23;407:32;404:2;;;452:1;449;442:12;404:2;487:1;504:64;560:7;540:9;504:64;:::i;:::-;494:74;;466:108;605:2;623:64;679:7;670:6;659:9;655:22;623:64;:::i;:::-;613:74;;584:109;724:2;742:64;798:7;789:6;778:9;774:22;742:64;:::i;:::-;732:74;;703:109;398:424;;;;;:::o;829:91::-;;-1:-1;;;;;989:54;;891:24;972:76::o;1055:72::-;1117:5;1100:27::o;1134:117::-;1203:24;1221:5;1203:24;:::i;:::-;1196:5;1193:35;1183:2;;1242:1;1239;1232:12;1183:2;1177:74;:::o;1258:117::-;1327:24;1345:5;1327:24;:::i;1301:74::-;859:11666:265;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106101375760003560e01c806397c0ac87116100b8578063b54fbdaa1161007c578063b54fbdaa1461025f578063c496f8e814610267578063cf0399c81461027a578063e106264f1461028d578063e2dd0978146102a0578063e35e318e146102b357610137565b806397c0ac871461020b5780639be918e614610213578063a98acadc14610226578063ae6f52ad14610239578063b3d3af3b1461024c57610137565b80636d3b9410116100ff5780636d3b9410146101c257806374626f87146101d5578063787f2568146101dd578063893d20e8146101f05780638f72b136146101f857610137565b806339cbb63c1461013c5780634c252f91146101515780634c67e1061461016f57806364b01dc11461018f57806368e81c6d146101af575b600080fd5b61014f61014a366004611c13565b6102d3565b005b610159610387565b6040516101669190612739565b60405180910390f35b61018261017d366004611b85565b6103ab565b6040516101669190612971565b6101a261019d366004611b49565b61043f565b60405161016691906127a5565b6101596101bd366004611b49565b61045e565b61014f6101d0366004611c81565b61047c565b6101596104d4565b6101826101eb366004611b49565b6104e3565b610159610531565b61014f610206366004611bd2565b6105c9565b610159610641565b6101a2610221366004611b49565b610665565b61014f610234366004611b49565b610685565b610182610247366004611d86565b6106c9565b61014f61025a366004611c13565b61076f565b6101826107e3565b6101a2610275366004611b49565b610807565b61014f610288366004611c81565b610836565b61014f61029b366004611bd2565b61086e565b6101596102ae366004611b49565b6108b0565b6102c66102c1366004611b49565b6108ce565b60405161016691906127b3565b6102db610531565b6001600160a01b0316336001600160a01b0316146103145760405162461bcd60e51b815260040161030b906127f1565b60405180910390fd5b6103818484808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152505060408051602080880282810182019093528782529093508792508691829185019084908082843760009201919091525061091f92505050565b50505050565b7f000000000000000000000000000000000000000000000000000000000000000090565b6000816001600160a01b0316846001600160a01b031614806103cb575082155b156103d7575081610438565b6103e082610807565b156103f7576103f0848484610aac565b9050610438565b6104008261043f565b8015610410575061041084610807565b15610420576103f0848484610b39565b60405162461bcd60e51b815260040161030b90612811565b9392505050565b60008061044b8361045e565b6001600160a01b0316141590505b919050565b6001600160a01b039081166000908152602081905260409020541690565b610484610531565b6001600160a01b0316336001600160a01b0316146104b45760405162461bcd60e51b815260040161030b906127f1565b6104be8686610c13565b6104cc868686868686610d5f565b505050505050565b6001546001600160a01b031690565b60006104ed610387565b6001600160a01b0316826001600160a01b031614156105155750670de0b6b3a7640000610459565b506001600160a01b031660009081526003602052604090205490565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561058c57600080fd5b505afa1580156105a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105c49190611b67565b905090565b6105d1610531565b6001600160a01b0316336001600160a01b0316146106015760405162461bcd60e51b815260040161030b906127f1565b61063d82828080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061108492505050565b5050565b7f000000000000000000000000000000000000000000000000000000000000000090565b600061067082610807565b8061067f575061067f8261043f565b92915050565b61068d610531565b6001600160a01b0316336001600160a01b0316146106bd5760405162461bcd60e51b815260040161030b906127f1565b6106c68161116f565b50565b600082518451146106ec5760405162461bcd60e51b815260040161030b90612881565b6106f582610807565b6107115760405162461bcd60e51b815260040161030b906127d1565b60005b845181101561076757600061075086838151811061072e57fe5b602002602001015186848151811061074257fe5b602002602001015186610aac565b905061075c838261120f565b925050600101610714565b509392505050565b610777610531565b6001600160a01b0316336001600160a01b0316146107a75760405162461bcd60e51b815260040161030b906127f1565b61031484848080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061108492505050565b7f000000000000000000000000000000000000000000000000000000000000000090565b6000610811610387565b6001600160a01b0316826001600160a01b0316148061067f5750600061044b836108b0565b61083e610531565b6001600160a01b0316336001600160a01b0316146104be5760405162461bcd60e51b815260040161030b906127f1565b610876610531565b6001600160a01b0316336001600160a01b0316146108a65760405162461bcd60e51b815260040161030b906127f1565b61063d8282610c13565b6001600160a01b039081166000908152600260205260409020541690565b60006108d8610387565b6001600160a01b0316826001600160a01b031614156108f957506000610459565b506001600160a01b0316600090815260026020526040902054600160a01b900460ff1690565b80518251146109405760405162461bcd60e51b815260040161030b90612941565b60005b8251811015610aa75760006001600160a01b031661097384838151811061096657fe5b602002602001015161045e565b6001600160a01b0316146109995760405162461bcd60e51b815260040161030b906128d1565b6109c98382815181106109a857fe5b60200260200101518383815181106109bc57fe5b6020026020010151611234565b8181815181106109d557fe5b60200260200101516000808584815181106109ec57fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b03160217905550828181518110610a4457fe5b60200260200101516001600160a01b03167faa4ae250fb435bb4b31ed0b95822bc179fc6c5dd0c727c3ffe08d444025efd98838381518110610a8257fe5b6020026020010151604051610a979190612739565b60405180910390a2600101610943565b505050565b6000816001600160a01b0316846001600160a01b03161480610acc575082155b15610ad8575081610438565b610ae184610807565b15610af1576103f08484846112cc565b6000610afc8561045e565b90506001600160a01b03811615610b2157610b198186868661133e565b915050610438565b60405162461bcd60e51b815260040161030b90612931565b600080826001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015610b7557600080fd5b505afa158015610b89573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bad9190611e96565b60ff16600a0a90506000610bc08461045e565b90506000610bd08286858a61133e565b90506127108111610bf35760405162461bcd60e51b815260040161030b90612951565b610c08610c0182600161120f565b848861146e565b979650505050505050565b60005b81811015610aa7576000610c44848484818110610c2f57fe5b90506020020160208101906102ae9190611b49565b6001600160a01b03161415610c6b5760405162461bcd60e51b815260040161030b906128f1565b60026000848484818110610c7b57fe5b9050602002016020810190610c909190611b49565b6001600160a01b031681526020810191909152604001600090812080546001600160a81b0319169055600390848484818110610cc857fe5b9050602002016020810190610cdd9190611b49565b6001600160a01b03166001600160a01b0316815260200190815260200160002060009055828282818110610d0d57fe5b9050602002016020810190610d229190611b49565b6001600160a01b03167fb100e8178a081ba9130260173ee2ebe0db3a6c3b6751a7801111ab3017df0e9760405160405180910390a2600101610c16565b848314610d7e5760405162461bcd60e51b815260040161030b90612921565b848114610d9d5760405162461bcd60e51b815260040161030b90612871565b60005b8581101561107b576000610db9888884818110610c2f57fe5b6001600160a01b031614610ddf5760405162461bcd60e51b815260040161030b90612961565b610e08858583818110610dee57fe5b9050602002016020810190610e039190611b49565b61148c565b6040518060400160405280868684818110610e1f57fe5b9050602002016020810190610e349190611b49565b6001600160a01b03168152602001848484818110610e4e57fe5b9050602002016020810190610e639190611e03565b6001811115610e6e57fe5b905260026000898985818110610e8057fe5b9050602002016020810190610e959190611b49565b6001600160a01b0390811682526020808301939093526040909101600020835181546001600160a01b031916921691909117808255918301519091829060ff60a01b1916600160a01b836001811115610eea57fe5b02179055509050506000878783818110610f0057fe5b9050602002016020810190610f159190611b49565b6001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015610f4d57600080fd5b505afa158015610f61573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f859190611e96565b60ff16600a0a905080600360008a8a86818110610f9e57fe5b9050602002016020810190610fb39190611b49565b6001600160a01b03168152602081019190915260400160002055878783818110610fd957fe5b9050602002016020810190610fee9190611b49565b6001600160a01b03167f742bdf00da3d8f16c0fab93ce38eb6a536a019c9e283888dd44c3a08c0148c0287878581811061102457fe5b90506020020160208101906110399190611b49565b86868681811061104557fe5b905060200201602081019061105a9190611e03565b8460405161106a93929190612762565b60405180910390a250600101610da0565b50505050505050565b60005b815181101561063d5760006001600160a01b03166110aa83838151811061096657fe5b6001600160a01b031614156110d15760405162461bcd60e51b815260040161030b90612891565b6000808383815181106110e057fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154906001600160a01b03021916905581818151811061112a57fe5b60200260200101516001600160a01b03167fc15eb25d807b570f4567baf6e97c7b26d58a7d0512dc85e8db15375a056b860460405160405180910390a2600101611087565b60006111796104d4565b9050806001600160a01b0316826001600160a01b031614156111ad5760405162461bcd60e51b815260040161030b906127c1565b6111b68261148c565b600180546001600160a01b0319166001600160a01b0384161790556040517f98b60a60ba6130248e985ae4140dc3109d9c2980c7e435fed385e2756bc94461906112039083908590612747565b60405180910390a15050565b6000828201838110156104385760405162461bcd60e51b815260040161030b90612801565b604051634df48c7360e11b81526001600160a01b03821690639be918e690611260908590600401612739565b60206040518083038186803b15801561127857600080fd5b505afa15801561128c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112b09190611de5565b61063d5760405162461bcd60e51b815260040161030b90612911565b6000806112d885611530565b9050600081136112fa5760405162461bcd60e51b815260040161030b906128b1565b600061130584611530565b9050600081136113275760405162461bcd60e51b815260040161030b906128e1565b6113348686848785611623565b9695505050505050565b6000606080866001600160a01b031663727212f687876040518363ffffffff1660e01b815260040161137192919061278a565b600060405180830381600087803b15801561138b57600080fd5b505af115801561139f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526113c79190810190611d1f565b9150915060008251116113ec5760405162461bcd60e51b815260040161030b906128a1565b805182511461140d5760405162461bcd60e51b815260040161030b90612831565b60005b825181101561146357600061144c84838151811061142a57fe5b602002602001015184848151811061143e57fe5b602002602001015188610aac565b9050611458858261120f565b945050600101611410565b505050949350505050565b60006114848461147e8486611788565b906117c2565b949350505050565b600080826001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a06040518083038186803b1580156114c857600080fd5b505afa1580156114dc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115009190611e21565b50935050925050600082136115275760405162461bcd60e51b815260040161030b90612901565b610aa7816117f4565b600061153a610387565b6001600160a01b0316826001600160a01b031614156115625750670de0b6b3a7640000610459565b600061156d836108b0565b90506001600160a01b0381166115955760405162461bcd60e51b815260040161030b906127e1565b6000816001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a06040518083038186803b1580156115d057600080fd5b505afa1580156115e4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116089190611e21565b5091955090925061161c91508290506117f4565b5050919050565b60008061162f876108ce565b9050600061163c856108ce565b90506000611649896104e3565b90506000611656876104e3565b905082600181111561166457fe5b84600181111561167057fe5b141561168e5761168389838a848a611825565b94505050505061177f565b6000806116996104d4565b6001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a06040518083038186803b1580156116d157600080fd5b505afa1580156116e5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117099190611e21565b50935050925050600082136117305760405162461bcd60e51b815260040161030b90612851565b611739816117f4565b600086600181111561174757fe5b14156117685761175b8b858c868c87611848565b965050505050505061177f565b6117768b858c868c87611883565b96505050505050505b95945050505050565b6000826117975750600061067f565b828202828482816117a457fe5b04146104385760405162461bcd60e51b815260040161030b906128c1565b60008082116117e35760405162461bcd60e51b815260040161030b90612841565b8183816117ec57fe5b049392505050565b6118066117ff6107e3565b42906118b2565b8110156106c65760405162461bcd60e51b815260040161030b90612861565b60006113346118348684611788565b61147e856118428a89611788565b90611788565b600080611865670de0b6b3a764000061147e856118428c8b611788565b90506118778461147e8981858a611788565b98975050505050505050565b6000806118988361147e876118428c8b611788565b90506118778461147e898185670de0b6b3a7640000611788565b6000828211156118d45760405162461bcd60e51b815260040161030b90612821565b50900390565b803561067f81612a21565b805161067f81612a21565b60008083601f84011261190257600080fd5b5081356001600160401b0381111561191957600080fd5b60208301915083602082028301111561193157600080fd5b9250929050565b600082601f83011261194957600080fd5b813561195c611957826129a5565b61297f565b9150818183526020840193506020810190508385602084028201111561198157600080fd5b60005b838110156119ad578161199788826118da565b8452506020928301929190910190600101611984565b5050505092915050565b600082601f8301126119c857600080fd5b81516119d6611957826129a5565b915081818352602084019350602081019050838560208402820111156119fb57600080fd5b60005b838110156119ad5781611a1188826118e5565b84525060209283019291909101906001016119fe565b600082601f830112611a3857600080fd5b8135611a46611957826129a5565b91508181835260208401935060208101905083856020840282011115611a6b57600080fd5b60005b838110156119ad5781611a818882611b28565b8452506020928301929190910190600101611a6e565b600082601f830112611aa857600080fd5b8151611ab6611957826129a5565b91508181835260208401935060208101905083856020840282011115611adb57600080fd5b60005b838110156119ad5781611af18882611b1d565b8452506020928301929190910190600101611ade565b805161067f81612a35565b803561067f81612a3e565b805161067f81612a4b565b803561067f81612a4b565b805161067f81612a5d565b805161067f81612a54565b600060208284031215611b5b57600080fd5b600061148484846118da565b600060208284031215611b7957600080fd5b600061148484846118e5565b600080600060608486031215611b9a57600080fd5b6000611ba686866118da565b9350506020611bb786828701611b28565b9250506040611bc8868287016118da565b9150509250925092565b60008060208385031215611be557600080fd5b82356001600160401b03811115611bfb57600080fd5b611c07858286016118f0565b92509250509250929050565b60008060008060408587031215611c2957600080fd5b84356001600160401b03811115611c3f57600080fd5b611c4b878288016118f0565b945094505060208501356001600160401b03811115611c6957600080fd5b611c75878288016118f0565b95989497509550505050565b60008060008060008060608789031215611c9a57600080fd5b86356001600160401b03811115611cb057600080fd5b611cbc89828a016118f0565b965096505060208701356001600160401b03811115611cda57600080fd5b611ce689828a016118f0565b945094505060408701356001600160401b03811115611d0457600080fd5b611d1089828a016118f0565b92509250509295509295509295565b60008060408385031215611d3257600080fd5b82516001600160401b03811115611d4857600080fd5b611d54858286016119b7565b92505060208301516001600160401b03811115611d7057600080fd5b611d7c85828601611a97565b9150509250929050565b600080600060608486031215611d9b57600080fd5b83356001600160401b03811115611db157600080fd5b611dbd86828701611938565b93505060208401356001600160401b03811115611dd957600080fd5b611bb786828701611a27565b600060208284031215611df757600080fd5b60006114848484611b07565b600060208284031215611e1557600080fd5b60006114848484611b12565b600080600080600060a08688031215611e3957600080fd5b6000611e458888611b33565b9550506020611e5688828901611b1d565b9450506040611e6788828901611b1d565b9350506060611e7888828901611b1d565b9250506080611e8988828901611b33565b9150509295509295909350565b600060208284031215611ea857600080fd5b60006114848484611b3e565b611ebd816129ce565b82525050565b611ebd816129d9565b611ebd81612a0c565b6000611ee26028836129c5565b7f5f5f73657445746855736441676772656761746f723a2056616c756520616c728152671958591e481cd95d60c21b602082015260400192915050565b6000611f2c6036836129c5565b7f63616c6343616e6f6e6963616c417373657473546f74616c56616c75653a20558152751b9cdd5c1c1bdc9d19590817dc5d5bdd19505cdcd95d60521b602082015260400192915050565b6000611f84602d836129c5565b7f5f5f6765744c617465737452617465446174613a205072696d6974697665206481526c1bd95cc81b9bdd08195e1a5cdd609a1b602082015260400192915050565b6000611fd36049836129c5565b7f6f6e6c7946756e644465706c6f7965724f776e65723a204f6e6c79207468652081527f46756e644465706c6f796572206f776e65722063616e2063616c6c207468697360208201526810333ab731ba34b7b760b91b604082015260600192915050565b6000612044601b836129c5565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b600061207d602f836129c5565b7f63616c6343616e6f6e6963616c417373657456616c75653a20556e737570706f81526e393a32b21031b7b73b32b939b4b7b760891b602082015260400192915050565b60006120ce601e836129c5565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000612107602d836129c5565b7f5f5f63616c634465726976617469766556616c75653a2041727261797320756e81526c657175616c206c656e6774687360981b602082015260400192915050565b6000612156601a836129c5565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b600061218f6027836129c5565b7f5f5f63616c63436f6e76657273696f6e416d6f756e743a2042616420657468558152667364207261746560c81b602082015260400192915050565b60006121d8602d836129c5565b7f5f5f76616c69646174655261746549734e6f745374616c653a205374616c652081526c1c985d194819195d1958dd1959609a1b602082015260400192915050565b60006122276042836129c5565b7f5f5f6164645072696d6974697665733a20556e657175616c205f7072696d697481527f6976657320616e64205f72617465417373657473206172726179206c656e6774602082015261687360f01b604082015260600192915050565b60006122916035836129c5565b7f63616c6343616e6f6e6963616c417373657473546f74616c56616c75653a2041815274727261797320756e657175616c206c656e6774687360581b602082015260400192915050565b60006122e8602b836129c5565b7f72656d6f766544657269766174697665733a2044657269766174697665206e6f81526a1d081e595d08185919195960aa1b602082015260400192915050565b60006123356025836129c5565b7f5f5f63616c634465726976617469766556616c75653a204e6f20756e6465726c81526479696e677360d81b602082015260400192915050565b600061237c602d836129c5565b7f5f5f63616c6343616e6f6e6963616c56616c75653a20496e76616c696420626181526c7365206173736574207261746560981b602082015260400192915050565b60006123cb6021836129c5565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b600061240e601f836129c5565b7f5f5f61646444657269766174697665733a20416c726561647920616464656400815260200192915050565b6000612447602e836129c5565b7f5f5f63616c6343616e6f6e6963616c56616c75653a20496e76616c696420717581526d6f7465206173736574207261746560901b602082015260400192915050565b6000612497602b836129c5565b7f5f5f72656d6f76655072696d6974697665733a205072696d6974697665206e6f81526a1d081e595d08185919195960aa1b602082015260400192915050565b60006124e46026836129c5565b7f5f5f76616c696461746541676772656761746f723a204e6f20726174652064658152651d1958dd195960d21b602082015260400192915050565b600061252c6035836129c5565b7f5f5f76616c6964617465446572697661746976655072696365466565643a20558152746e737570706f72746564206465726976617469766560581b602082015260400192915050565b60006125836043836129c5565b7f5f5f6164645072696d6974697665733a20556e657175616c205f7072696d697481527f6976657320616e64205f61676772656761746f7273206172726179206c656e6760208201526274687360e81b604082015260600192915050565b60006125ee6028836129c5565b7f5f5f63616c63417373657456616c75653a20556e737570706f72746564205f62815267185cd9505cdcd95d60c21b602082015260400192915050565b60006126386044836129c5565b7f5f5f61646444657269766174697665733a20556e657175616c205f646572697681527f61746976657320616e64205f70726963654665656473206172726179206c656e6020820152636774687360e01b604082015260600192915050565b60006126a46033836129c5565b7f5f5f63616c635072696d6974697665546f4465726976617469766556616c75658152723a20496e73756666696369656e74207261746560681b602082015260400192915050565b60006126f96022836129c5565b7f5f5f6164645072696d6974697665733a2056616c756520616c72656164792073815261195d60f21b602082015260400192915050565b611ebd816129e8565b6020810161067f8284611eb4565b604081016127558285611eb4565b6104386020830184611eb4565b606081016127708286611eb4565b61277d6020830185611ecc565b6114846040830184612730565b604081016127988285611eb4565b6104386020830184612730565b6020810161067f8284611ec3565b6020810161067f8284611ecc565b6020808252810161067f81611ed5565b6020808252810161067f81611f1f565b6020808252810161067f81611f77565b6020808252810161067f81611fc6565b6020808252810161067f81612037565b6020808252810161067f81612070565b6020808252810161067f816120c1565b6020808252810161067f816120fa565b6020808252810161067f81612149565b6020808252810161067f81612182565b6020808252810161067f816121cb565b6020808252810161067f8161221a565b6020808252810161067f81612284565b6020808252810161067f816122db565b6020808252810161067f81612328565b6020808252810161067f8161236f565b6020808252810161067f816123be565b6020808252810161067f81612401565b6020808252810161067f8161243a565b6020808252810161067f8161248a565b6020808252810161067f816124d7565b6020808252810161067f8161251f565b6020808252810161067f81612576565b6020808252810161067f816125e1565b6020808252810161067f8161262b565b6020808252810161067f81612697565b6020808252810161067f816126ec565b6020810161067f8284612730565b6040518181016001600160401b038111828210171561299d57600080fd5b604052919050565b60006001600160401b038211156129bb57600080fd5b5060209081020190565b90815260200190565b600061067f826129eb565b151590565b8061045981612a17565b90565b6001600160a01b031690565b60ff1690565b69ffffffffffffffffffff1690565b600061067f826129de565b600281106106c657fe5b612a2a816129ce565b81146106c657600080fd5b612a2a816129d9565b600281106106c657600080fd5b612a2a816129e8565b612a2a816129f7565b612a2a816129fd56fea164736f6c634300060c000a", - "sourceMap": "859:11666:265:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11179:200;;;;;;:::i;:::-;;:::i;:::-;;13450:99:253;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3412:682:265;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;12315:208::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;3861:183:234:-;;;;;;:::i;:::-;;:::i;10086:299:265:-;;;;;;:::i;:::-;;:::i;12001:119:253:-;;;:::i;13112:220::-;;;;;;:::i;:::-;;:::i;1064:120:358:-;;;:::i;11485:141:265:-;;;;;;:::i;:::-;;:::i;1378:108:358:-;;;:::i;4270:186:265:-;;;;;;:::i;:::-;;:::i;9599:152::-;;;;;;:::i;:::-;;:::i;2076:721::-;;;;;;:::i;:::-;;:::i;11858:246::-;;;;;;:::i;:::-;;:::i;12872:127:253:-;;;:::i;10594:235:265:-;;;;;;:::i;:::-;;:::i;8954:255::-;;;;;;:::i;:::-;;:::i;9326:137::-;;;;;;:::i;:::-;;:::i;11667:197:253:-;;;;;;:::i;:::-;;:::i;12449:285::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;11179:200:265:-;679:10:358;:8;:10::i;:::-;-1:-1:-1;;;;;665:24:358;:10;-1:-1:-1;;;;;665:24:358;;644:144;;;;-1:-1:-1;;;644:144:358;;;;;;;:::i;:::-;;;;;;;;;11329:43:265::1;11346:12;;11329:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;;11329:43:265::1;::::0;;::::1;::::0;;::::1;::::0;;;;;;;;;;;;;-1:-1:-1;11360:11:265;;-1:-1:-1;11360:11:265;;;;11329:43;::::1;::::0;11360:11;;11329:43;11360:11;11329:43;::::1;;::::0;::::1;::::0;;;;-1:-1:-1;11329:16:265::1;::::0;-1:-1:-1;;;11329:43:265:i:1;:::-;11179:200:::0;;;;:::o;13450:99:253:-;13532:10;13450:99;:::o;3412:682:265:-;3560:14;3604:11;-1:-1:-1;;;;;3590:25:265;:10;-1:-1:-1;;;;;3590:25:265;;:41;;;-1:-1:-1;3619:12:265;;3590:41;3586:86;;;-1:-1:-1;3654:7:265;3647:14;;3586:86;3686:38;3712:11;3686:25;:38::i;:::-;3682:338;;;3747:50;3764:10;3776:7;3785:11;3747:16;:50::i;:::-;3740:57;;;;3682:338;3831:39;3858:11;3831:26;:39::i;:::-;:80;;;;;3874:37;3900:10;3874:25;:37::i;:::-;3814:206;;;3943:66;3976:10;3988:7;3997:11;3943:32;:66::i;3814:206::-;4030:57;;-1:-1:-1;;;4030:57:265;;;;;;;:::i;3412:682::-;;;;;;:::o;12315:208::-;12429:17;;12469:33;12495:6;12469:25;:33::i;:::-;-1:-1:-1;;;;;12469:47:265;;;12462:54;;12315:208;;;;:::o;3861:183:234:-;-1:-1:-1;;;;;4003:34:234;;;3962:18;4003:34;;;;;;;;;;;;;3861:183::o;10086:299:265:-;679:10:358;:8;:10::i;:::-;-1:-1:-1;;;;;665:24:358;:10;-1:-1:-1;;;;;665:24:358;;644:144;;;;-1:-1:-1;;;644:144:358;;;;;;;:::i;:::-;10282:31:265::1;10301:11;;10282:18;:31::i;:::-;10323:55;10339:11;;10352:12;;10366:11;;10323:15;:55::i;:::-;10086:299:::0;;;;;;:::o;12001:119:253:-;12097:16;;-1:-1:-1;;;;;12097:16:253;12001:119;:::o;13112:220::-;13182:13;13225:14;:12;:14::i;:::-;-1:-1:-1;;;;;13211:28:253;:10;-1:-1:-1;;;;;13211:28:253;;13207:74;;;-1:-1:-1;1168:6:253;13255:15;;13207:74;-1:-1:-1;;;;;;13298:27:253;;;;;:15;:27;;;;;;;13112:220::o;1064:120:358:-;1105:14;1152:13;-1:-1:-1;;;;;1138:37:358;;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1131:46;;1064:120;:::o;11485:141:265:-;679:10:358;:8;:10::i;:::-;-1:-1:-1;;;;;665:24:358;:10;-1:-1:-1;;;;;665:24:358;;644:144;;;;-1:-1:-1;;;644:144:358;;;;;;;:::i;:::-;11586:33:265::1;11606:12;;11586:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;11586:19:265::1;::::0;-1:-1:-1;;;11586:33:265:i:1;:::-;11485:141:::0;;:::o;1378:108:358:-;1466:13;1378:108;:::o;4270:186:265:-;4342:17;4378:33;4404:6;4378:25;:33::i;:::-;:71;;;;4415:34;4442:6;4415:26;:34::i;:::-;4371:78;4270:186;-1:-1:-1;;4270:186:265:o;9599:152::-;679:10:358;:8;:10::i;:::-;-1:-1:-1;;;;;665:24:358;:10;-1:-1:-1;;;;;665:24:358;;644:144;;;;-1:-1:-1;;;644:144:358;;;;;;;:::i;:::-;9700:44:265::1;9722:21;9700;:44::i;:::-;9599:152:::0;:::o;2076:721::-;2250:14;2319:8;:15;2297:11;:18;:37;2276:137;;;;-1:-1:-1;;;2276:137:265;;;;;;;:::i;:::-;2444:38;2470:11;2444:25;:38::i;:::-;2423:139;;;;-1:-1:-1;;;2423:139:265;;;;;;;:::i;:::-;2578:9;2573:194;2593:11;:18;2589:1;:22;2573:194;;;2632:18;2653:58;2670:11;2682:1;2670:14;;;;;;;;;;;;;;2686:8;2695:1;2686:11;;;;;;;;;;;;;;2699;2653:16;:58::i;:::-;2632:79;-1:-1:-1;2734:22:265;:6;2632:79;2734:10;:22::i;:::-;2725:31;-1:-1:-1;;2613:3:265;;2573:194;;;;2076:721;;;;;:::o;11858:246::-;679:10:358;:8;:10::i;:::-;-1:-1:-1;;;;;665:24:358;:10;-1:-1:-1;;;;;665:24:358;;644:144;;;;-1:-1:-1;;;644:144:358;;;;;;;:::i;:::-;12011:33:265::1;12031:12;;12011:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;12011:19:265::1;::::0;-1:-1:-1;;;12011:33:265:i:1;12872:127:253:-:0;12972:20;12872:127;:::o;10594:235:265:-;10707:17;10757:14;:12;:14::i;:::-;-1:-1:-1;;;;;10747:24:265;:6;-1:-1:-1;;;;;10747:24:265;;:75;;;-1:-1:-1;10820:1:265;10775:33;10801:6;10775:25;:33::i;8954:255::-;679:10:358;:8;:10::i;:::-;-1:-1:-1;;;;;665:24:358;:10;-1:-1:-1;;;;;665:24:358;;644:144;;;;-1:-1:-1;;;644:144:358;;;;;;;:::i;9326:137:265:-;679:10:358;:8;:10::i;:::-;-1:-1:-1;;;;;665:24:358;:10;-1:-1:-1;;;;;665:24:358;;644:144;;;;-1:-1:-1;;;644:144:358;;;;;;;:::i;:::-;9425:31:265::1;9444:11;;9425:18;:31::i;11667:197:253:-:0;-1:-1:-1;;;;;11809:37:253;;;11767:19;11809:37;;;:25;:37;;;;;:48;;;11667:197::o;12449:285::-;12548:20;12602:14;:12;:14::i;:::-;-1:-1:-1;;;;;12588:28:253;:10;-1:-1:-1;;;;;12588:28:253;;12584:79;;;-1:-1:-1;12639:13:253;12632:20;;12584:79;-1:-1:-1;;;;;;12680:37:253;;;;;:25;:37;;;;;:47;-1:-1:-1;;;12680:47:253;;;;;12449:285::o;2028:727:234:-;2190:11;:18;2167:12;:19;:41;2146:156;;;;-1:-1:-1;;;2146:156:234;;;;;;;:::i;:::-;2318:9;2313:436;2337:12;:19;2333:1;:23;2313:436;;;2456:1;-1:-1:-1;;;;;2402:56:234;:42;2428:12;2441:1;2428:15;;;;;;;;;;;;;;2402:25;:42::i;:::-;-1:-1:-1;;;;;2402:56:234;;2377:146;;;;-1:-1:-1;;;2377:146:234;;;;;;;:::i;:::-;2538:62;2568:12;2581:1;2568:15;;;;;;;;;;;;;;2585:11;2597:1;2585:14;;;;;;;;;;;;;;2538:29;:62::i;:::-;2656:11;2668:1;2656:14;;;;;;;;;;;;;;2615:21;:38;2637:12;2650:1;2637:15;;;;;;;;;;;;;;-1:-1:-1;;;;;2615:38:234;-1:-1:-1;;;;;2615:38:234;;;;;;;;;;;;;:55;;;;;-1:-1:-1;;;;;2615:55:234;;;;;-1:-1:-1;;;;;2615:55:234;;;;;;2706:12;2719:1;2706:15;;;;;;;;;;;;;;-1:-1:-1;;;;;2690:48:234;;2723:11;2735:1;2723:14;;;;;;;;;;;;;;2690:48;;;;;;:::i;:::-;;;;;;;;2358:3;;2313:436;;;;2028:727;;:::o;4610:782:265:-;4741:14;4785:11;-1:-1:-1;;;;;4771:25:265;:10;-1:-1:-1;;;;;4771:25:265;;:41;;;-1:-1:-1;4800:12:265;;4771:41;4767:86;;;-1:-1:-1;4835:7:265;4828:14;;4767:86;4916:37;4942:10;4916:25;:37::i;:::-;4912:129;;;4976:54;4997:10;5009:7;5018:11;4976:20;:54::i;4912:129::-;5101:27;5131:37;5157:10;5131:25;:37::i;:::-;5101:67;-1:-1:-1;;;;;;5182:33:265;;;5178:147;;5238:76;5260:19;5281:10;5293:7;5302:11;5238:21;:76::i;:::-;5231:83;;;;;5178:147;5335:50;;-1:-1:-1;;;5335:50:265;;;;;;;:::i;7279:1246::-;7463:14;7489:22;7532:21;-1:-1:-1;;;;;7526:37:265;;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7518:48;;7514:2;:52;7489:77;;7577:27;7607:48;7633:21;7607:25;:48::i;:::-;7577:78;;7665:40;7708:160;7743:19;7776:21;7811:14;7839:19;7708:21;:160::i;:::-;7665:203;;1229:5;7951:32;:58;7930:156;;;;-1:-1:-1;;;7930:156:265;;;;;;;:::i;:::-;8350:168;8390:39;:32;8427:1;8390:36;:39::i;:::-;8447:14;8479:25;8350:22;:168::i;:::-;8331:187;7279:1246;-1:-1:-1;;;;;;;7279:1246:265:o;10483:479:253:-;10567:9;10562:394;10578:22;;;10562:394;;;10699:1;10646:41;10672:11;;10684:1;10672:14;;;;;;;;;;;;;;;;;;;;:::i;10646:41::-;-1:-1:-1;;;;;10646:55:253;;;10621:157;;;;-1:-1:-1;;;10621:157:253;;;;;;;:::i;:::-;10800:25;:41;10826:11;;10838:1;10826:14;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;10800:41:253;;;;;;;;;;;;-1:-1:-1;10800:41:253;;;10793:48;;-1:-1:-1;;;;;;10793:48:253;;;10862:15;;10878:11;;10890:1;10878:14;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;10862:31:253;-1:-1:-1;;;;;10862:31:253;;;;;;;;;;;;10855:38;;;10930:11;;10942:1;10930:14;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;10913:32:253;;;;;;;;;;;10602:3;;10562:394;;9115:1251;9309:41;;;9288:155;;;;-1:-1:-1;;;9288:155:253;;;;;;;:::i;:::-;9474:40;;;9453:153;;;;-1:-1:-1;;;9453:153:253;;;;;;;:::i;:::-;9622:9;9617:743;9633:22;;;9617:743;;;9754:1;9701:41;9727:11;;9739:1;9727:14;;;;;;9701:41;-1:-1:-1;;;;;9701:55:253;;9676:148;;;;-1:-1:-1;;;9676:148:253;;;;;;;:::i;:::-;9839:37;9860:12;;9873:1;9860:15;;;;;;;;;;;;;;;;;;;;:::i;:::-;9839:20;:37::i;:::-;9935:118;;;;;;;;9980:12;;9993:1;9980:15;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;9935:118:253;;;;;10024:11;;10036:1;10024:14;;;;;;;;;;;;;;;;;;;;:::i;:::-;9935:118;;;;;;;;;;9891:25;:41;9917:11;;9929:1;9917:14;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;9891:41:253;;;;;;;;;;;;;;;;;-1:-1:-1;9891:41:253;:162;;;;-1:-1:-1;;;;;;9891:162:253;;;;;;;;;;;;;;:41;;;;-1:-1:-1;;;;9891:162:253;-1:-1:-1;;;9891:162:253;-1:-1:-1;9891:162:253;;;;;;;;;;;;;;;10148:12;10181:11;;10193:1;10181:14;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;10175:30:253;;:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10167:41;;10163:2;:45;10148:60;;10256:4;10222:15;:31;10238:11;;10250:1;10238:14;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;10222:31:253;;;;;;;;;;;;-1:-1:-1;10222:31:253;:38;10295:11;;10307:1;10295:14;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;10280:69:253;;10311:12;;10324:1;10311:15;;;;;;;;;;;;;;;;;;;;:::i;:::-;10328:11;;10340:1;10328:14;;;;;;;;;;;;;;;;;;;;:::i;:::-;10344:4;10280:69;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;9657:3:253;;9617:743;;;;9115:1251;;;;;;:::o;2861:432:234:-;2945:9;2940:347;2964:12;:19;2960:1;:23;2940:347;;;3083:1;-1:-1:-1;;;;;3029:56:234;:42;3055:12;3068:1;3055:15;;;;;;;3029:42;-1:-1:-1;;;;;3029:56:234;;;3004:158;;;;-1:-1:-1;;;3004:158:234;;;;;;;:::i;:::-;3184:21;:38;3206:12;3219:1;3206:15;;;;;;;;;;;;;;-1:-1:-1;;;;;3184:38:234;-1:-1:-1;;;;;3184:38:234;;;;;;;;;;;;;3177:45;;;;;-1:-1:-1;;;;;3177:45:234;;;;;3260:12;3273:1;3260:15;;;;;;;;;;;;;;-1:-1:-1;;;;;3242:34:234;;;;;;;;;;;2985:3;;2940:347;;2827:467:253;2908:28;2939:21;:19;:21::i;:::-;2908:52;;3016:20;-1:-1:-1;;;;;2991:45:253;:21;-1:-1:-1;;;;;2991:45:253;;;2970:132;;;;-1:-1:-1;;;2970:132:253;;;;;;;:::i;:::-;3113:43;3134:21;3113:20;:43::i;:::-;3167:16;:40;;-1:-1:-1;;;;;;3167:40:253;-1:-1:-1;;;;;3167:40:253;;;;;3223:64;;;;;;3243:20;;3167:40;;3223:64;:::i;:::-;;;;;;;;2827:467;;:::o;2690:175:442:-;2748:7;2779:5;;;2802:6;;;;2794:46;;;;-1:-1:-1;;;2794:46:442;;;;;;;:::i;3381:272:234:-;3505:62;;-1:-1:-1;;;3505:62:234;;-1:-1:-1;;;;;3505:49:234;;;;;:62;;3555:11;;3505:62;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3484:162;;;;-1:-1:-1;;;3484:162:234;;;;;;;:::i;1960:805:253:-;2110:25;2227:20;2250:31;2270:10;2250:19;:31::i;:::-;2227:54;;2315:1;2299:13;:17;2291:75;;;;-1:-1:-1;;;2291:75:253;;;;;;;:::i;:::-;2377:21;2401:32;2421:11;2401:19;:32::i;:::-;2377:56;;2468:1;2451:14;:18;2443:77;;;;-1:-1:-1;;;2443:77:253;;;;;;;:::i;:::-;2550:208;2590:10;2618:16;2660:13;2692:11;2729:14;2550:22;:208::i;:::-;2531:227;1960:805;-1:-1:-1;;;;;;1960:805:253:o;5647:905:265:-;5822:14;5849:28;5879:34;5951:20;-1:-1:-1;;;;;5917:85:265;;6003:11;6016:7;5917:107;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5917:107:265;;;;;;;;;;;;:::i;:::-;5848:176;;;;6064:1;6043:11;:18;:22;6035:72;;;;-1:-1:-1;;;6035:72:265;;;;;;;:::i;:::-;6160:17;:24;6138:11;:18;:46;6117:138;;;;-1:-1:-1;;;6117:138:265;;;;;;;:::i;:::-;6271:9;6266:280;6290:11;:18;6286:1;:22;6266:280;;;6329:23;6355:129;6389:11;6401:1;6389:14;;;;;;;;;;;;;;6421:17;6439:1;6421:20;;;;;;;;;;;;;;6459:11;6355:16;:129::i;:::-;6329:155;-1:-1:-1;6508:27:265;:6;6329:155;6508:10;:27::i;:::-;6499:36;-1:-1:-1;;6310:3:265;;6266:280;;;;5647:905;;;;;;;;:::o;767:255:360:-;920:26;965:50;1004:10;965:34;:18;988:10;965:22;:34::i;:::-;:38;;:50::i;:::-;958:57;767:255;-1:-1:-1;;;;767:255:360:o;11097:304:253:-;11174:13;11191:17;11235:11;-1:-1:-1;;;;;11214:62:253;;:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11171:107;;;;;;;11305:1;11296:6;:10;11288:61;;;;-1:-1:-1;;;11288:61:253;;;;;;;:::i;:::-;11359:35;11384:9;11359:24;:35::i;7817:539::-;7888:12;7930:14;:12;:14::i;:::-;-1:-1:-1;;;;;7916:28:253;:10;-1:-1:-1;;;;;7916:28:253;;7912:82;;;-1:-1:-1;1168:6:253;7960:23;;7912:82;8004:18;8025:37;8051:10;8025:25;:37::i;:::-;8004:58;-1:-1:-1;;;;;;8080:24:253;;8072:82;;;;-1:-1:-1;;;8072:82:253;;;;;;;:::i;:::-;8165:21;8248:10;-1:-1:-1;;;;;8227:48:253;;:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;8196:81:253;;-1:-1:-1;8196:81:253;;-1:-1:-1;8287:39:253;;-1:-1:-1;8196:81:253;;-1:-1:-1;8287:24:253;:39::i;:::-;8337:12;;7817:539;;;:::o;3402:2066::-;3618:25;3655:28;3686:36;3711:10;3686:24;:36::i;:::-;3655:67;;3732:29;3764:37;3789:11;3764:24;:37::i;:::-;3732:69;;3811:21;3835:31;3855:10;3835:19;:31::i;:::-;3811:55;;3876:22;3901:32;3921:11;3901:19;:32::i;:::-;3876:57;;4021:19;3999:41;;;;;;;;:18;:41;;;;;;;;;3995:330;;;4079:235;4136:16;4174:13;4209:14;4245;4281:15;4079:35;:235::i;:::-;4056:258;;;;;;;;3995:330;4338:20;4362:34;4436:21;:19;:21::i;:::-;-1:-1:-1;;;;;4402:81:253;;:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4335:150;;;;;;;4519:1;4503:13;:17;4495:69;;;;-1:-1:-1;;;4495:69:253;;;;;;;:::i;:::-;4574:52;4599:26;4574:24;:52::i;:::-;4738:13;4716:18;:35;;;;;;;;;4712:381;;;4790:292;4860:16;4898:13;4933:14;4969;5005:15;5050:13;4790:48;:292::i;:::-;4767:315;;;;;;;;;;4712:381;5197:264;5263:16;5297:13;5328:14;5360;5392:15;5433:13;5197:48;:264::i;:::-;5178:283;;;;;;;;3402:2066;;;;;;;;:::o;3538:215:442:-;3596:7;3619:6;3615:20;;-1:-1:-1;3634:1:442;3627:8;;3615:20;3657:5;;;3661:1;3657;:5;:1;3680:5;;;;;:10;3672:56;;;;-1:-1:-1;;;3672:56:442;;;;;;;:::i;4217:150::-;4275:7;4306:1;4302;:5;4294:44;;;;-1:-1:-1;;;4294:44:442;;;;;;;:::i;:::-;4359:1;4355;:5;;;;;;;4217:150;-1:-1:-1;;;4217:150:442:o;8449:246:253:-;8573:44;8593:23;:21;:23::i;:::-;8573:15;;:19;:44::i;:::-;8553:16;:64;;8532:156;;;;-1:-1:-1;;;8532:156:253;;;;;;;:::i;6405:521::-;6642:25;6791:128;6870:35;:14;6889:15;6870:18;:35::i;:::-;6791:57;6832:15;6791:36;:16;6812:14;6791:20;:36::i;:::-;:40;;:57::i;5585:704::-;5867:25;;6094:92;1168:6;6094:56;6135:14;6094:36;:16;6115:14;6094:20;:36::i;:92::-;6067:119;-1:-1:-1;6204:78:253;6266:15;6204:57;6246:14;6204:57;6067:119;6225:15;6204:20;:37::i;:78::-;6197:85;5585:704;-1:-1:-1;;;;;;;;5585:704:253:o;7043:703::-;7325:25;;7551:99;7626:14;7551:57;7592:15;7551:36;:16;7572:14;7551:20;:36::i;:99::-;7524:126;-1:-1:-1;7668:71:253;7723:15;7668:50;7703:14;7668:50;7524:126;1168:6;7668:20;:30::i;3136:155:442:-;3194:7;3226:1;3221;:6;;3213:49;;;;-1:-1:-1;;;3213:49:442;;;;;;;:::i;:::-;-1:-1:-1;3279:5:442;;;3136:155::o;5:130:-1:-;72:20;;97:33;72:20;97:33;:::i;142:134::-;220:13;;238:33;220:13;238:33;:::i;301:352::-;;;431:3;424:4;416:6;412:17;408:27;398:2;;449:1;446;439:12;398:2;-1:-1;469:20;;-1:-1;;;;;498:30;;495:2;;;541:1;538;531:12;495:2;575:4;567:6;563:17;551:29;;626:3;618:4;610:6;606:17;596:8;592:32;589:41;586:2;;;643:1;640;633:12;586:2;391:262;;;;;:::o;679:707::-;;796:3;789:4;781:6;777:17;773:27;763:2;;814:1;811;804:12;763:2;851:6;838:20;873:80;888:64;945:6;888:64;:::i;:::-;873:80;:::i;:::-;864:89;;970:5;995:6;988:5;981:21;1025:4;1017:6;1013:17;1003:27;;1047:4;1042:3;1038:14;1031:21;;1100:6;1147:3;1139:4;1131:6;1127:17;1122:3;1118:27;1115:36;1112:2;;;1164:1;1161;1154:12;1112:2;1189:1;1174:206;1199:6;1196:1;1193:13;1174:206;;;1257:3;1279:37;1312:3;1300:10;1279:37;:::i;:::-;1267:50;;-1:-1;1340:4;1331:14;;;;1359;;;;;1221:1;1214:9;1174:206;;;1178:14;756:630;;;;;;;:::o;1412:722::-;;1540:3;1533:4;1525:6;1521:17;1517:27;1507:2;;1558:1;1555;1548:12;1507:2;1588:6;1582:13;1610:80;1625:64;1682:6;1625:64;:::i;1610:80::-;1601:89;;1707:5;1732:6;1725:5;1718:21;1762:4;1754:6;1750:17;1740:27;;1784:4;1779:3;1775:14;1768:21;;1837:6;1884:3;1876:4;1868:6;1864:17;1859:3;1855:27;1852:36;1849:2;;;1901:1;1898;1891:12;1849:2;1926:1;1911:217;1936:6;1933:1;1930:13;1911:217;;;1994:3;2016:48;2060:3;2048:10;2016:48;:::i;:::-;2004:61;;-1:-1;2088:4;2079:14;;;;2107;;;;;1958:1;1951:9;1911:217;;2584:707;;2701:3;2694:4;2686:6;2682:17;2678:27;2668:2;;2719:1;2716;2709:12;2668:2;2756:6;2743:20;2778:80;2793:64;2850:6;2793:64;:::i;2778:80::-;2769:89;;2875:5;2900:6;2893:5;2886:21;2930:4;2922:6;2918:17;2908:27;;2952:4;2947:3;2943:14;2936:21;;3005:6;3052:3;3044:4;3036:6;3032:17;3027:3;3023:27;3020:36;3017:2;;;3069:1;3066;3059:12;3017:2;3094:1;3079:206;3104:6;3101:1;3098:13;3079:206;;;3162:3;3184:37;3217:3;3205:10;3184:37;:::i;:::-;3172:50;;-1:-1;3245:4;3236:14;;;;3264;;;;;3126:1;3119:9;3079:206;;3317:722;;3445:3;3438:4;3430:6;3426:17;3422:27;3412:2;;3463:1;3460;3453:12;3412:2;3493:6;3487:13;3515:80;3530:64;3587:6;3530:64;:::i;3515:80::-;3506:89;;3612:5;3637:6;3630:5;3623:21;3667:4;3659:6;3655:17;3645:27;;3689:4;3684:3;3680:14;3673:21;;3742:6;3789:3;3781:4;3773:6;3769:17;3764:3;3760:27;3757:36;3754:2;;;3806:1;3803;3796:12;3754:2;3831:1;3816:217;3841:6;3838:1;3835:13;3816:217;;;3899:3;3921:48;3965:3;3953:10;3921:48;:::i;:::-;3909:61;;-1:-1;3993:4;3984:14;;;;4012;;;;;3863:1;3856:9;3816:217;;4047:128;4122:13;;4140:30;4122:13;4140:30;:::i;4182:160::-;4264:20;;4289:48;4264:20;4289:48;:::i;4349:132::-;4426:13;;4444:32;4426:13;4444:32;:::i;4488:130::-;4555:20;;4580:33;4555:20;4580:33;:::i;4766:132::-;4843:13;;4861:32;4843:13;4861:32;:::i;4905:130::-;4981:13;;4999:31;4981:13;4999:31;:::i;5042:241::-;;5146:2;5134:9;5125:7;5121:23;5117:32;5114:2;;;5162:1;5159;5152:12;5114:2;5197:1;5214:53;5259:7;5239:9;5214:53;:::i;5290:263::-;;5405:2;5393:9;5384:7;5380:23;5376:32;5373:2;;;5421:1;5418;5411:12;5373:2;5456:1;5473:64;5529:7;5509:9;5473:64;:::i;5560:491::-;;;;5698:2;5686:9;5677:7;5673:23;5669:32;5666:2;;;5714:1;5711;5704:12;5666:2;5749:1;5766:53;5811:7;5791:9;5766:53;:::i;:::-;5756:63;;5728:97;5856:2;5874:53;5919:7;5910:6;5899:9;5895:22;5874:53;:::i;:::-;5864:63;;5835:98;5964:2;5982:53;6027:7;6018:6;6007:9;6003:22;5982:53;:::i;:::-;5972:63;;5943:98;5660:391;;;;;:::o;6058:397::-;;;6197:2;6185:9;6176:7;6172:23;6168:32;6165:2;;;6213:1;6210;6203:12;6165:2;6248:31;;-1:-1;;;;;6288:30;;6285:2;;;6331:1;6328;6321:12;6285:2;6359:80;6431:7;6422:6;6411:9;6407:22;6359:80;:::i;:::-;6341:98;;;;6227:218;6159:296;;;;;:::o;6462:678::-;;;;;6653:2;6641:9;6632:7;6628:23;6624:32;6621:2;;;6669:1;6666;6659:12;6621:2;6704:31;;-1:-1;;;;;6744:30;;6741:2;;;6787:1;6784;6777:12;6741:2;6815:80;6887:7;6878:6;6867:9;6863:22;6815:80;:::i;:::-;6797:98;;;;6683:218;6960:2;6949:9;6945:18;6932:32;-1:-1;;;;;6976:6;6973:30;6970:2;;;7016:1;7013;7006:12;6970:2;7044:80;7116:7;7107:6;7096:9;7092:22;7044:80;:::i;:::-;6615:525;;;;-1:-1;7026:98;-1:-1;;;;6615:525::o;7147:989::-;;;;;;;7405:2;7393:9;7384:7;7380:23;7376:32;7373:2;;;7421:1;7418;7411:12;7373:2;7456:31;;-1:-1;;;;;7496:30;;7493:2;;;7539:1;7536;7529:12;7493:2;7567:80;7639:7;7630:6;7619:9;7615:22;7567:80;:::i;:::-;7549:98;;;;7435:218;7712:2;7701:9;7697:18;7684:32;-1:-1;;;;;7728:6;7725:30;7722:2;;;7768:1;7765;7758:12;7722:2;7796:80;7868:7;7859:6;7848:9;7844:22;7796:80;:::i;:::-;7778:98;;;;7663:219;7941:2;7930:9;7926:18;7913:32;-1:-1;;;;;7957:6;7954:30;7951:2;;;7997:1;7994;7987:12;7951:2;8025:95;8112:7;8103:6;8092:9;8088:22;8025:95;:::i;:::-;8007:113;;;;7892:234;7367:769;;;;;;;;:::o;8143:657::-;;;8325:2;8313:9;8304:7;8300:23;8296:32;8293:2;;;8341:1;8338;8331:12;8293:2;8376:24;;-1:-1;;;;;8409:30;;8406:2;;;8452:1;8449;8442:12;8406:2;8472:89;8553:7;8544:6;8533:9;8529:22;8472:89;:::i;:::-;8462:99;;8355:212;8619:2;8608:9;8604:18;8598:25;-1:-1;;;;;8635:6;8632:30;8629:2;;;8675:1;8672;8665:12;8629:2;8695:89;8776:7;8767:6;8756:9;8752:22;8695:89;:::i;:::-;8685:99;;8577:213;8287:513;;;;;:::o;8807:763::-;;;;8995:2;8983:9;8974:7;8970:23;8966:32;8963:2;;;9011:1;9008;9001:12;8963:2;9046:31;;-1:-1;;;;;9086:30;;9083:2;;;9129:1;9126;9119:12;9083:2;9149:78;9219:7;9210:6;9199:9;9195:22;9149:78;:::i;:::-;9139:88;;9025:208;9292:2;9281:9;9277:18;9264:32;-1:-1;;;;;9308:6;9305:30;9302:2;;;9348:1;9345;9338:12;9302:2;9368:78;9438:7;9429:6;9418:9;9414:22;9368:78;:::i;9577:257::-;;9689:2;9677:9;9668:7;9664:23;9660:32;9657:2;;;9705:1;9702;9695:12;9657:2;9740:1;9757:61;9810:7;9790:9;9757:61;:::i;9841:271::-;;9960:2;9948:9;9939:7;9935:23;9931:32;9928:2;;;9976:1;9973;9966:12;9928:2;10011:1;10028:68;10088:7;10068:9;10028:68;:::i;10119:803::-;;;;;;10299:3;10287:9;10278:7;10274:23;10270:33;10267:2;;;10316:1;10313;10306:12;10267:2;10351:1;10368:63;10423:7;10403:9;10368:63;:::i;:::-;10358:73;;10330:107;10468:2;10486:63;10541:7;10532:6;10521:9;10517:22;10486:63;:::i;:::-;10476:73;;10447:108;10586:2;10604:64;10660:7;10651:6;10640:9;10636:22;10604:64;:::i;:::-;10594:74;;10565:109;10705:2;10723:64;10779:7;10770:6;10759:9;10755:22;10723:64;:::i;:::-;10713:74;;10684:109;10824:3;10843:63;10898:7;10889:6;10878:9;10874:22;10843:63;:::i;:::-;10833:73;;10803:109;10261:661;;;;;;;;:::o;10929:259::-;;11042:2;11030:9;11021:7;11017:23;11013:32;11010:2;;;11058:1;11055;11048:12;11010:2;11093:1;11110:62;11164:7;11144:9;11110:62;:::i;11195:113::-;11278:24;11296:5;11278:24;:::i;:::-;11273:3;11266:37;11260:48;;:::o;11315:104::-;11392:21;11407:5;11392:21;:::i;11426:152::-;11522:50;11566:5;11522:50;:::i;11586:377::-;;11746:67;11810:2;11805:3;11746:67;:::i;:::-;11846:34;11826:55;;-1:-1;;;11910:2;11901:12;;11894:32;11954:2;11945:12;;11732:231;-1:-1;;11732:231::o;11972:391::-;;12132:67;12196:2;12191:3;12132:67;:::i;:::-;12232:34;12212:55;;-1:-1;;;12296:2;12287:12;;12280:46;12354:2;12345:12;;12118:245;-1:-1;;12118:245::o;12372:382::-;;12532:67;12596:2;12591:3;12532:67;:::i;:::-;12632:34;12612:55;;-1:-1;;;12696:2;12687:12;;12680:37;12745:2;12736:12;;12518:236;-1:-1;;12518:236::o;12763:447::-;;12923:67;12987:2;12982:3;12923:67;:::i;:::-;13023:34;13003:55;;13092:34;13087:2;13078:12;;13071:56;-1:-1;;;13156:2;13147:12;;13140:33;13201:2;13192:12;;12909:301;-1:-1;;12909:301::o;13219:327::-;;13379:67;13443:2;13438:3;13379:67;:::i;:::-;13479:29;13459:50;;13537:2;13528:12;;13365:181;-1:-1;;13365:181::o;13555:384::-;;13715:67;13779:2;13774:3;13715:67;:::i;:::-;13815:34;13795:55;;-1:-1;;;13879:2;13870:12;;13863:39;13930:2;13921:12;;13701:238;-1:-1;;13701:238::o;13948:330::-;;14108:67;14172:2;14167:3;14108:67;:::i;:::-;14208:32;14188:53;;14269:2;14260:12;;14094:184;-1:-1;;14094:184::o;14287:382::-;;14447:67;14511:2;14506:3;14447:67;:::i;:::-;14547:34;14527:55;;-1:-1;;;14611:2;14602:12;;14595:37;14660:2;14651:12;;14433:236;-1:-1;;14433:236::o;14678:326::-;;14838:67;14902:2;14897:3;14838:67;:::i;:::-;14938:28;14918:49;;14995:2;14986:12;;14824:180;-1:-1;;14824:180::o;15013:376::-;;15173:67;15237:2;15232:3;15173:67;:::i;:::-;15273:34;15253:55;;-1:-1;;;15337:2;15328:12;;15321:31;15380:2;15371:12;;15159:230;-1:-1;;15159:230::o;15398:382::-;;15558:67;15622:2;15617:3;15558:67;:::i;:::-;15658:34;15638:55;;-1:-1;;;15722:2;15713:12;;15706:37;15771:2;15762:12;;15544:236;-1:-1;;15544:236::o;15789:440::-;;15949:67;16013:2;16008:3;15949:67;:::i;:::-;16049:34;16029:55;;16118:34;16113:2;16104:12;;16097:56;-1:-1;;;16182:2;16173:12;;16166:26;16220:2;16211:12;;15935:294;-1:-1;;15935:294::o;16238:390::-;;16398:67;16462:2;16457:3;16398:67;:::i;:::-;16498:34;16478:55;;-1:-1;;;16562:2;16553:12;;16546:45;16619:2;16610:12;;16384:244;-1:-1;;16384:244::o;16637:380::-;;16797:67;16861:2;16856:3;16797:67;:::i;:::-;16897:34;16877:55;;-1:-1;;;16961:2;16952:12;;16945:35;17008:2;16999:12;;16783:234;-1:-1;;16783:234::o;17026:374::-;;17186:67;17250:2;17245:3;17186:67;:::i;:::-;17286:34;17266:55;;-1:-1;;;17350:2;17341:12;;17334:29;17391:2;17382:12;;17172:228;-1:-1;;17172:228::o;17409:382::-;;17569:67;17633:2;17628:3;17569:67;:::i;:::-;17669:34;17649:55;;-1:-1;;;17733:2;17724:12;;17717:37;17782:2;17773:12;;17555:236;-1:-1;;17555:236::o;17800:370::-;;17960:67;18024:2;18019:3;17960:67;:::i;:::-;18060:34;18040:55;;-1:-1;;;18124:2;18115:12;;18108:25;18161:2;18152:12;;17946:224;-1:-1;;17946:224::o;18179:331::-;;18339:67;18403:2;18398:3;18339:67;:::i;:::-;18439:33;18419:54;;18501:2;18492:12;;18325:185;-1:-1;;18325:185::o;18519:383::-;;18679:67;18743:2;18738:3;18679:67;:::i;:::-;18779:34;18759:55;;-1:-1;;;18843:2;18834:12;;18827:38;18893:2;18884:12;;18665:237;-1:-1;;18665:237::o;18911:380::-;;19071:67;19135:2;19130:3;19071:67;:::i;:::-;19171:34;19151:55;;-1:-1;;;19235:2;19226:12;;19219:35;19282:2;19273:12;;19057:234;-1:-1;;19057:234::o;19300:375::-;;19460:67;19524:2;19519:3;19460:67;:::i;:::-;19560:34;19540:55;;-1:-1;;;19624:2;19615:12;;19608:30;19666:2;19657:12;;19446:229;-1:-1;;19446:229::o;19684:390::-;;19844:67;19908:2;19903:3;19844:67;:::i;:::-;19944:34;19924:55;;-1:-1;;;20008:2;19999:12;;19992:45;20065:2;20056:12;;19830:244;-1:-1;;19830:244::o;20083:441::-;;20243:67;20307:2;20302:3;20243:67;:::i;:::-;20343:34;20323:55;;20412:34;20407:2;20398:12;;20391:56;-1:-1;;;20476:2;20467:12;;20460:27;20515:2;20506:12;;20229:295;-1:-1;;20229:295::o;20533:377::-;;20693:67;20757:2;20752:3;20693:67;:::i;:::-;20793:34;20773:55;;-1:-1;;;20857:2;20848:12;;20841:32;20901:2;20892:12;;20679:231;-1:-1;;20679:231::o;20919:442::-;;21079:67;21143:2;21138:3;21079:67;:::i;:::-;21179:34;21159:55;;21248:34;21243:2;21234:12;;21227:56;-1:-1;;;21312:2;21303:12;;21296:28;21352:2;21343:12;;21065:296;-1:-1;;21065:296::o;21370:388::-;;21530:67;21594:2;21589:3;21530:67;:::i;:::-;21630:34;21610:55;;-1:-1;;;21694:2;21685:12;;21678:43;21749:2;21740:12;;21516:242;-1:-1;;21516:242::o;21767:371::-;;21927:67;21991:2;21986:3;21927:67;:::i;:::-;22027:34;22007:55;;-1:-1;;;22091:2;22082:12;;22075:26;22129:2;22120:12;;21913:225;-1:-1;;21913:225::o;22146:113::-;22229:24;22247:5;22229:24;:::i;22266:222::-;22393:2;22378:18;;22407:71;22382:9;22451:6;22407:71;:::i;22495:333::-;22650:2;22635:18;;22664:71;22639:9;22708:6;22664:71;:::i;:::-;22746:72;22814:2;22803:9;22799:18;22790:6;22746:72;:::i;22835:470::-;23031:2;23016:18;;23045:71;23020:9;23089:6;23045:71;:::i;:::-;23127:85;23208:2;23197:9;23193:18;23184:6;23127:85;:::i;:::-;23223:72;23291:2;23280:9;23276:18;23267:6;23223:72;:::i;23312:333::-;23467:2;23452:18;;23481:71;23456:9;23525:6;23481:71;:::i;:::-;23563:72;23631:2;23620:9;23616:18;23607:6;23563:72;:::i;23652:210::-;23773:2;23758:18;;23787:65;23762:9;23825:6;23787:65;:::i;23869:248::-;24009:2;23994:18;;24023:84;23998:9;24080:6;24023:84;:::i;24124:416::-;24324:2;24338:47;;;24309:18;;24399:131;24309:18;24399:131;:::i;24547:416::-;24747:2;24761:47;;;24732:18;;24822:131;24732:18;24822:131;:::i;24970:416::-;25170:2;25184:47;;;25155:18;;25245:131;25155:18;25245:131;:::i;25393:416::-;25593:2;25607:47;;;25578:18;;25668:131;25578:18;25668:131;:::i;25816:416::-;26016:2;26030:47;;;26001:18;;26091:131;26001:18;26091:131;:::i;26239:416::-;26439:2;26453:47;;;26424:18;;26514:131;26424:18;26514:131;:::i;26662:416::-;26862:2;26876:47;;;26847:18;;26937:131;26847:18;26937:131;:::i;27085:416::-;27285:2;27299:47;;;27270:18;;27360:131;27270:18;27360:131;:::i;27508:416::-;27708:2;27722:47;;;27693:18;;27783:131;27693:18;27783:131;:::i;27931:416::-;28131:2;28145:47;;;28116:18;;28206:131;28116:18;28206:131;:::i;28354:416::-;28554:2;28568:47;;;28539:18;;28629:131;28539:18;28629:131;:::i;28777:416::-;28977:2;28991:47;;;28962:18;;29052:131;28962:18;29052:131;:::i;29200:416::-;29400:2;29414:47;;;29385:18;;29475:131;29385:18;29475:131;:::i;29623:416::-;29823:2;29837:47;;;29808:18;;29898:131;29808:18;29898:131;:::i;30046:416::-;30246:2;30260:47;;;30231:18;;30321:131;30231:18;30321:131;:::i;30469:416::-;30669:2;30683:47;;;30654:18;;30744:131;30654:18;30744:131;:::i;30892:416::-;31092:2;31106:47;;;31077:18;;31167:131;31077:18;31167:131;:::i;31315:416::-;31515:2;31529:47;;;31500:18;;31590:131;31500:18;31590:131;:::i;31738:416::-;31938:2;31952:47;;;31923:18;;32013:131;31923:18;32013:131;:::i;32161:416::-;32361:2;32375:47;;;32346:18;;32436:131;32346:18;32436:131;:::i;32584:416::-;32784:2;32798:47;;;32769:18;;32859:131;32769:18;32859:131;:::i;33007:416::-;33207:2;33221:47;;;33192:18;;33282:131;33192:18;33282:131;:::i;33430:416::-;33630:2;33644:47;;;33615:18;;33705:131;33615:18;33705:131;:::i;33853:416::-;34053:2;34067:47;;;34038:18;;34128:131;34038:18;34128:131;:::i;34276:416::-;34476:2;34490:47;;;34461:18;;34551:131;34461:18;34551:131;:::i;34699:416::-;34899:2;34913:47;;;34884:18;;34974:131;34884:18;34974:131;:::i;35122:416::-;35322:2;35336:47;;;35307:18;;35397:131;35307:18;35397:131;:::i;35545:222::-;35672:2;35657:18;;35686:71;35661:9;35730:6;35686:71;:::i;35774:256::-;35836:2;35830:9;35862:17;;;-1:-1;;;;;35922:34;;35958:22;;;35919:62;35916:2;;;35994:1;35991;35984:12;35916:2;36010;36003:22;35814:216;;-1:-1;35814:216::o;36037:304::-;;-1:-1;;;;;36188:6;36185:30;36182:2;;;36228:1;36225;36218:12;36182:2;-1:-1;36263:4;36251:17;;;36316:15;;36119:222::o;36660:163::-;36763:19;;;36812:4;36803:14;;36756:67::o;36831:91::-;;36893:24;36911:5;36893:24;:::i;36929:85::-;36995:13;36988:21;;36971:43::o;37021:136::-;37098:5;37104:48;37098:5;37104:48;:::i;37164:71::-;37225:5;37208:27::o;37242:121::-;-1:-1;;;;;37304:54;;37287:76::o;37449:81::-;37520:4;37509:16;;37492:38::o;37537:100::-;37609:22;37598:34;;37581:56::o;37644:136::-;;37736:39;37769:5;37736:39;:::i;37787:106::-;37871:1;37864:5;37861:12;37851:2;;37877:9;37900:117;37969:24;37987:5;37969:24;:::i;:::-;37962:5;37959:35;37949:2;;38008:1;38005;37998:12;38024:111;38090:21;38105:5;38090:21;:::i;38142:109::-;38226:1;38219:5;38216:12;38206:2;;38242:1;38239;38232:12;38258:115;38326:23;38343:5;38326:23;:::i;38504:113::-;38571:22;38587:5;38571:22;:::i;38624:115::-;38692:23;38709:5;38692:23;:::i", - "linkReferences": {}, - "immutableReferences": { - "66628": [ - { - "start": 2021, - "length": 32 - } - ], - "66630": [ - { - "start": 905, - "length": 32 - } - ], - "78707": [ - { - "start": 1333, - "length": 32 - }, - { - "start": 1603, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "addDerivatives(address[],address[])": "39cbb63c", - "addPrimitives(address[],address[],uint8[])": "cf0399c8", - "calcCanonicalAssetValue(address,uint256,address)": "4c67e106", - "calcCanonicalAssetsTotalValue(address[],uint256[],address)": "ae6f52ad", - "getAggregatorForPrimitive(address)": "e2dd0978", - "getEthUsdAggregator()": "74626f87", - "getFundDeployer()": "97c0ac87", - "getOwner()": "893d20e8", - "getPriceFeedForDerivative(address)": "68e81c6d", - "getRateAssetForPrimitive(address)": "e35e318e", - "getStaleRateThreshold()": "b54fbdaa", - "getUnitForPrimitive(address)": "787f2568", - "getWethToken()": "4c252f91", - "isSupportedAsset(address)": "9be918e6", - "isSupportedDerivativeAsset(address)": "64b01dc1", - "isSupportedPrimitiveAsset(address)": "c496f8e8", - "removeDerivatives(address[])": "8f72b136", - "removePrimitives(address[])": "e106264f", - "setEthUsdAggregator(address)": "a98acadc", - "updateDerivatives(address[],address[])": "b3d3af3b", - "updatePrimitives(address[],address[],uint8[])": "6d3b9410" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_fundDeployer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_wethToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_chainlinkStaleRateThreshold\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"derivative\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"priceFeed\",\"type\":\"address\"}],\"name\":\"DerivativeAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"derivative\",\"type\":\"address\"}],\"name\":\"DerivativeRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"prevEthUsdAggregator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"nextEthUsdAggregator\",\"type\":\"address\"}],\"name\":\"EthUsdAggregatorSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"primitive\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"aggregator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"enum ChainlinkPriceFeedMixin.RateAsset\",\"name\":\"rateAsset\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"unit\",\"type\":\"uint256\"}],\"name\":\"PrimitiveAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"primitive\",\"type\":\"address\"}],\"name\":\"PrimitiveRemoved\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_derivatives\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"_priceFeeds\",\"type\":\"address[]\"}],\"name\":\"addDerivatives\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_primitives\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"_aggregators\",\"type\":\"address[]\"},{\"internalType\":\"enum ChainlinkPriceFeedMixin.RateAsset[]\",\"name\":\"_rateAssets\",\"type\":\"uint8[]\"}],\"name\":\"addPrimitives\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_baseAsset\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_quoteAsset\",\"type\":\"address\"}],\"name\":\"calcCanonicalAssetValue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"value_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_baseAssets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"_amounts\",\"type\":\"uint256[]\"},{\"internalType\":\"address\",\"name\":\"_quoteAsset\",\"type\":\"address\"}],\"name\":\"calcCanonicalAssetsTotalValue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"value_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_primitive\",\"type\":\"address\"}],\"name\":\"getAggregatorForPrimitive\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"aggregator_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getEthUsdAggregator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"ethUsdAggregator_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFundDeployer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"fundDeployer_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_derivative\",\"type\":\"address\"}],\"name\":\"getPriceFeedForDerivative\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"priceFeed_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_primitive\",\"type\":\"address\"}],\"name\":\"getRateAssetForPrimitive\",\"outputs\":[{\"internalType\":\"enum ChainlinkPriceFeedMixin.RateAsset\",\"name\":\"rateAsset_\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getStaleRateThreshold\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"staleRateThreshold_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_primitive\",\"type\":\"address\"}],\"name\":\"getUnitForPrimitive\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"unit_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getWethToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"wethToken_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"}],\"name\":\"isSupportedAsset\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isSupported_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"}],\"name\":\"isSupportedDerivativeAsset\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isSupported_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"}],\"name\":\"isSupportedPrimitiveAsset\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isSupported_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_derivatives\",\"type\":\"address[]\"}],\"name\":\"removeDerivatives\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_primitives\",\"type\":\"address[]\"}],\"name\":\"removePrimitives\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nextEthUsdAggregator\",\"type\":\"address\"}],\"name\":\"setEthUsdAggregator\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_derivatives\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"_priceFeeds\",\"type\":\"address[]\"}],\"name\":\"updateDerivatives\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_primitives\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"_aggregators\",\"type\":\"address[]\"},{\"internalType\":\"enum ChainlinkPriceFeedMixin.RateAsset[]\",\"name\":\"_rateAssets\",\"type\":\"uint8[]\"}],\"name\":\"updatePrimitives\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"addDerivatives(address[],address[])\":{\"params\":{\"_derivatives\":\"The derivatives to add\",\"_priceFeeds\":\"The ordered price feeds corresponding to the list of _derivatives\"}},\"addPrimitives(address[],address[],uint8[])\":{\"params\":{\"_aggregators\":\"The ordered aggregators corresponding to the list of _primitives\",\"_primitives\":\"The primitives to add\",\"_rateAssets\":\"The ordered rate assets corresponding to the list of _primitives\"}},\"calcCanonicalAssetValue(address,uint256,address)\":{\"details\":\"Does not alter protocol state, but not a view because calls to price feeds can potentially update third party state. See also __calcPrimitiveToDerivativeValue() for important notes regarding a derivative _quoteAsset.\",\"params\":{\"_amount\":\"The amount of the _baseAsset to convert\",\"_baseAsset\":\"The asset from which to convert\",\"_quoteAsset\":\"The asset to which to convert\"},\"returns\":{\"value_\":\"The equivalent quantity in the _quoteAsset\"}},\"calcCanonicalAssetsTotalValue(address[],uint256[],address)\":{\"details\":\"Does not alter protocol state, but not a view because calls to price feeds can potentially update third party state. Does not handle a derivative quote asset.\",\"params\":{\"_amounts\":\"The amounts of the _baseAssets to convert\",\"_baseAssets\":\"The assets to convert\",\"_quoteAsset\":\"The asset to which to convert\"},\"returns\":{\"value_\":\"The sum value of _baseAssets, denominated in the _quoteAsset\"}},\"getAggregatorForPrimitive(address)\":{\"params\":{\"_primitive\":\"The primitive asset for which to get the aggregator value\"},\"returns\":{\"aggregator_\":\"The aggregator address\"}},\"getEthUsdAggregator()\":{\"returns\":{\"ethUsdAggregator_\":\"The `ethUsdAggregator` variable value\"}},\"getFundDeployer()\":{\"returns\":{\"fundDeployer_\":\"The `FUND_DEPLOYER` variable value\"}},\"getOwner()\":{\"details\":\"Ownership is deferred to the owner of the FundDeployer contract\",\"returns\":{\"owner_\":\"The owner\"}},\"getPriceFeedForDerivative(address)\":{\"returns\":{\"priceFeed_\":\"The price feed contract address\"}},\"getRateAssetForPrimitive(address)\":{\"details\":\"This isn't strictly necessary as WETH_TOKEN will be undefined and thus the RateAsset will be the 0-position of the enum (i.e. ETH), but it makes the behavior more explicit\",\"returns\":{\"rateAsset_\":\"The rateAsset variable value\"}},\"getStaleRateThreshold()\":{\"returns\":{\"staleRateThreshold_\":\"The `STALE_RATE_THRESHOLD` value\"}},\"getUnitForPrimitive(address)\":{\"returns\":{\"unit_\":\"The unit variable value\"}},\"getWethToken()\":{\"returns\":{\"wethToken_\":\"The `WETH_TOKEN` variable value\"}},\"isSupportedAsset(address)\":{\"params\":{\"_asset\":\"The asset to check\"},\"returns\":{\"isSupported_\":\"True if the asset is a supported asset\"}},\"isSupportedDerivativeAsset(address)\":{\"params\":{\"_asset\":\"The asset to check\"},\"returns\":{\"isSupported_\":\"True if the asset is a supported derivative\"}},\"isSupportedPrimitiveAsset(address)\":{\"params\":{\"_asset\":\"The asset to check\"},\"returns\":{\"isSupported_\":\"True if the asset is a supported primitive\"}},\"removeDerivatives(address[])\":{\"params\":{\"_derivatives\":\"The derivatives to remove\"}},\"removePrimitives(address[])\":{\"params\":{\"_primitives\":\"The primitives to remove\"}},\"setEthUsdAggregator(address)\":{\"params\":{\"_nextEthUsdAggregator\":\"The `ehUsdAggregator` value to set\"}},\"updateDerivatives(address[],address[])\":{\"params\":{\"_derivatives\":\"The derivatives to update\",\"_priceFeeds\":\"The ordered price feeds corresponding to the list of _derivatives\"}},\"updatePrimitives(address[],address[],uint8[])\":{\"params\":{\"_aggregators\":\"The ordered aggregators corresponding to the list of _primitives\",\"_primitives\":\"The primitives to update\",\"_rateAssets\":\"The ordered rate assets corresponding to the list of _primitives\"}}},\"title\":\"ValueInterpreter Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"addDerivatives(address[],address[])\":{\"notice\":\"Adds a list of derivatives with the given price feed values\"},\"addPrimitives(address[],address[],uint8[])\":{\"notice\":\"Adds a list of primitives with the given aggregator and rateAsset values\"},\"calcCanonicalAssetValue(address,uint256,address)\":{\"notice\":\"Calculates the value of a given amount of one asset in terms of another asset\"},\"calcCanonicalAssetsTotalValue(address[],uint256[],address)\":{\"notice\":\"Calculates the total value of given amounts of assets in a single quote asset\"},\"getAggregatorForPrimitive(address)\":{\"notice\":\"Gets the aggregator for a primitive\"},\"getEthUsdAggregator()\":{\"notice\":\"Gets the `ethUsdAggregator` variable value\"},\"getFundDeployer()\":{\"notice\":\"Gets the `FUND_DEPLOYER` variable\"},\"getOwner()\":{\"notice\":\"Gets the owner of this contract\"},\"getPriceFeedForDerivative(address)\":{\"notice\":\"Gets the registered price feed for a given derivative\"},\"getRateAssetForPrimitive(address)\":{\"notice\":\"Gets the rateAsset variable value for a primitive\"},\"getStaleRateThreshold()\":{\"notice\":\"Gets the `STALE_RATE_THRESHOLD` variable value\"},\"getUnitForPrimitive(address)\":{\"notice\":\"Gets the unit variable value for a primitive\"},\"getWethToken()\":{\"notice\":\"Gets the `WETH_TOKEN` variable value\"},\"isSupportedAsset(address)\":{\"notice\":\"Checks whether an asset is a supported asset\"},\"isSupportedDerivativeAsset(address)\":{\"notice\":\"Checks whether an asset is a supported derivative\"},\"isSupportedPrimitiveAsset(address)\":{\"notice\":\"Checks whether an asset is a supported primitive\"},\"removeDerivatives(address[])\":{\"notice\":\"Removes a list of derivatives\"},\"removePrimitives(address[])\":{\"notice\":\"Removes a list of primitives from the feed\"},\"setEthUsdAggregator(address)\":{\"notice\":\"Sets the `ehUsdAggregator` variable value\"},\"updateDerivatives(address[],address[])\":{\"notice\":\"Updates a list of derivatives with the given price feed values\"},\"updatePrimitives(address[],address[],uint8[])\":{\"notice\":\"Updates a list of primitives with the given aggregator and rateAsset values\"}},\"notice\":\"Interprets price feeds to provide covert value between asset pairs\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/infrastructure/value-interpreter/ValueInterpreter.sol\":\"ValueInterpreter\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/infrastructure/price-feeds/derivatives/AggregatedDerivativePriceFeedMixin.sol\":{\"keccak256\":\"0x85d2ac39834dae7feb04f0e37317a38b8abeb0f950692fbc9d29078c52cd8d52\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://7bf8f1ce064d85a2812a944fc93068955b233924097f7f45898be3db826579d5\",\"dweb:/ipfs/Qme7f6AhxLVn32prM8fHaCvxtVi86A9KqFMqPA1s88kVYR\"]},\"contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol\":{\"keccak256\":\"0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e\",\"dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK\"]},\"contracts/release/infrastructure/price-feeds/primitives/ChainlinkPriceFeedMixin.sol\":{\"keccak256\":\"0x7fb0078e7387f07ff09958fe4e4e7b317e72c23884f61e8c133776cad522f8bb\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://e973f29ed0c3bf03e20154ab4b0cfc68c3a4372a52ec746f9d9f86697b30e977\",\"dweb:/ipfs/QmfMb7H1zNnj2hzmUr6742HmCTiNVuQ2PFjeR8q2M4Liyu\"]},\"contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol\":{\"keccak256\":\"0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965\",\"dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ\"]},\"contracts/release/infrastructure/value-interpreter/ValueInterpreter.sol\":{\"keccak256\":\"0x64565011785d0d29a75021cda34687cfbc0641094d6f2faf4d9c78c8cd9f0d1d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://03ea9b29a332436d18ca1a4df7e5cdf231d5142dfb916a39cb3a721342d54e0e\",\"dweb:/ipfs/QmcB8Z7A7QELAxg2FfJpD26k2bUhMNUT4wACMVKxuge3QS\"]},\"contracts/release/interfaces/IChainlinkAggregator.sol\":{\"keccak256\":\"0x8104db68d4edc00c86b29b366f4397cdbe7bd95bb9dc90f54140af4bae963788\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://4664240be22fe76bd4e84d1cbaace3998dbc96759a14345819a889f0c288d22e\",\"dweb:/ipfs/QmQ8fbA4tvXeCeaAFeS2JrLEQUPFeYrePAKoUywRtcicgA\"]},\"contracts/release/utils/FundDeployerOwnerMixin.sol\":{\"keccak256\":\"0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927\",\"dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM\"]},\"contracts/release/utils/MathHelpers.sol\":{\"keccak256\":\"0x8aef498ae98bfb40cd1df8c9ed652b4c092fbbe62d5a1fad522c53654523248e\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ed62789f6a8d5ca30a40c591f244b915e4711493a9e4b1b4d40ea2bc97b02a95\",\"dweb:/ipfs/QmWyXJ55arURtx9VMkUQokdsjk8tbgM2cC8rENFUMyz5D3\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_fundDeployer", - "type": "address" - }, - { - "internalType": "address", - "name": "_wethToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_chainlinkStaleRateThreshold", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "derivative", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "priceFeed", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "DerivativeAdded", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "derivative", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "DerivativeRemoved", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "prevEthUsdAggregator", - "type": "address", - "indexed": false - }, - { - "internalType": "address", - "name": "nextEthUsdAggregator", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "EthUsdAggregatorSet", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "primitive", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "aggregator", - "type": "address", - "indexed": false - }, - { - "internalType": "enum ChainlinkPriceFeedMixin.RateAsset", - "name": "rateAsset", - "type": "uint8", - "indexed": false - }, - { - "internalType": "uint256", - "name": "unit", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "PrimitiveAdded", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "primitive", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "PrimitiveRemoved", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_derivatives", - "type": "address[]" - }, - { - "internalType": "address[]", - "name": "_priceFeeds", - "type": "address[]" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "addDerivatives" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_primitives", - "type": "address[]" - }, - { - "internalType": "address[]", - "name": "_aggregators", - "type": "address[]" - }, - { - "internalType": "enum ChainlinkPriceFeedMixin.RateAsset[]", - "name": "_rateAssets", - "type": "uint8[]" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "addPrimitives" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_baseAsset", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - }, - { - "internalType": "address", - "name": "_quoteAsset", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "calcCanonicalAssetValue", - "outputs": [ - { - "internalType": "uint256", - "name": "value_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_baseAssets", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "_amounts", - "type": "uint256[]" - }, - { - "internalType": "address", - "name": "_quoteAsset", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "calcCanonicalAssetsTotalValue", - "outputs": [ - { - "internalType": "uint256", - "name": "value_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_primitive", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getAggregatorForPrimitive", - "outputs": [ - { - "internalType": "address", - "name": "aggregator_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getEthUsdAggregator", - "outputs": [ - { - "internalType": "address", - "name": "ethUsdAggregator_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getFundDeployer", - "outputs": [ - { - "internalType": "address", - "name": "fundDeployer_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "owner_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_derivative", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getPriceFeedForDerivative", - "outputs": [ - { - "internalType": "address", - "name": "priceFeed_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_primitive", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getRateAssetForPrimitive", - "outputs": [ - { - "internalType": "enum ChainlinkPriceFeedMixin.RateAsset", - "name": "rateAsset_", - "type": "uint8" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getStaleRateThreshold", - "outputs": [ - { - "internalType": "uint256", - "name": "staleRateThreshold_", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_primitive", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getUnitForPrimitive", - "outputs": [ - { - "internalType": "uint256", - "name": "unit_", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getWethToken", - "outputs": [ - { - "internalType": "address", - "name": "wethToken_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_asset", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "isSupportedAsset", - "outputs": [ - { - "internalType": "bool", - "name": "isSupported_", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_asset", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "isSupportedDerivativeAsset", - "outputs": [ - { - "internalType": "bool", - "name": "isSupported_", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_asset", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "isSupportedPrimitiveAsset", - "outputs": [ - { - "internalType": "bool", - "name": "isSupported_", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_derivatives", - "type": "address[]" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "removeDerivatives" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_primitives", - "type": "address[]" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "removePrimitives" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_nextEthUsdAggregator", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setEthUsdAggregator" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_derivatives", - "type": "address[]" - }, - { - "internalType": "address[]", - "name": "_priceFeeds", - "type": "address[]" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "updateDerivatives" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_primitives", - "type": "address[]" - }, - { - "internalType": "address[]", - "name": "_aggregators", - "type": "address[]" - }, - { - "internalType": "enum ChainlinkPriceFeedMixin.RateAsset[]", - "name": "_rateAssets", - "type": "uint8[]" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "updatePrimitives" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "addDerivatives(address[],address[])": { - "params": { - "_derivatives": "The derivatives to add", - "_priceFeeds": "The ordered price feeds corresponding to the list of _derivatives" - } - }, - "addPrimitives(address[],address[],uint8[])": { - "params": { - "_aggregators": "The ordered aggregators corresponding to the list of _primitives", - "_primitives": "The primitives to add", - "_rateAssets": "The ordered rate assets corresponding to the list of _primitives" - } - }, - "calcCanonicalAssetValue(address,uint256,address)": { - "details": "Does not alter protocol state, but not a view because calls to price feeds can potentially update third party state. See also __calcPrimitiveToDerivativeValue() for important notes regarding a derivative _quoteAsset.", - "params": { - "_amount": "The amount of the _baseAsset to convert", - "_baseAsset": "The asset from which to convert", - "_quoteAsset": "The asset to which to convert" - }, - "returns": { - "value_": "The equivalent quantity in the _quoteAsset" - } - }, - "calcCanonicalAssetsTotalValue(address[],uint256[],address)": { - "details": "Does not alter protocol state, but not a view because calls to price feeds can potentially update third party state. Does not handle a derivative quote asset.", - "params": { - "_amounts": "The amounts of the _baseAssets to convert", - "_baseAssets": "The assets to convert", - "_quoteAsset": "The asset to which to convert" - }, - "returns": { - "value_": "The sum value of _baseAssets, denominated in the _quoteAsset" - } - }, - "getAggregatorForPrimitive(address)": { - "params": { - "_primitive": "The primitive asset for which to get the aggregator value" - }, - "returns": { - "aggregator_": "The aggregator address" - } - }, - "getEthUsdAggregator()": { - "returns": { - "ethUsdAggregator_": "The `ethUsdAggregator` variable value" - } - }, - "getFundDeployer()": { - "returns": { - "fundDeployer_": "The `FUND_DEPLOYER` variable value" - } - }, - "getOwner()": { - "details": "Ownership is deferred to the owner of the FundDeployer contract", - "returns": { - "owner_": "The owner" - } - }, - "getPriceFeedForDerivative(address)": { - "returns": { - "priceFeed_": "The price feed contract address" - } - }, - "getRateAssetForPrimitive(address)": { - "details": "This isn't strictly necessary as WETH_TOKEN will be undefined and thus the RateAsset will be the 0-position of the enum (i.e. ETH), but it makes the behavior more explicit", - "returns": { - "rateAsset_": "The rateAsset variable value" - } - }, - "getStaleRateThreshold()": { - "returns": { - "staleRateThreshold_": "The `STALE_RATE_THRESHOLD` value" - } - }, - "getUnitForPrimitive(address)": { - "returns": { - "unit_": "The unit variable value" - } - }, - "getWethToken()": { - "returns": { - "wethToken_": "The `WETH_TOKEN` variable value" - } - }, - "isSupportedAsset(address)": { - "params": { - "_asset": "The asset to check" - }, - "returns": { - "isSupported_": "True if the asset is a supported asset" - } - }, - "isSupportedDerivativeAsset(address)": { - "params": { - "_asset": "The asset to check" - }, - "returns": { - "isSupported_": "True if the asset is a supported derivative" - } - }, - "isSupportedPrimitiveAsset(address)": { - "params": { - "_asset": "The asset to check" - }, - "returns": { - "isSupported_": "True if the asset is a supported primitive" - } - }, - "removeDerivatives(address[])": { - "params": { - "_derivatives": "The derivatives to remove" - } - }, - "removePrimitives(address[])": { - "params": { - "_primitives": "The primitives to remove" - } - }, - "setEthUsdAggregator(address)": { - "params": { - "_nextEthUsdAggregator": "The `ehUsdAggregator` value to set" - } - }, - "updateDerivatives(address[],address[])": { - "params": { - "_derivatives": "The derivatives to update", - "_priceFeeds": "The ordered price feeds corresponding to the list of _derivatives" - } - }, - "updatePrimitives(address[],address[],uint8[])": { - "params": { - "_aggregators": "The ordered aggregators corresponding to the list of _primitives", - "_primitives": "The primitives to update", - "_rateAssets": "The ordered rate assets corresponding to the list of _primitives" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "addDerivatives(address[],address[])": { - "notice": "Adds a list of derivatives with the given price feed values" - }, - "addPrimitives(address[],address[],uint8[])": { - "notice": "Adds a list of primitives with the given aggregator and rateAsset values" - }, - "calcCanonicalAssetValue(address,uint256,address)": { - "notice": "Calculates the value of a given amount of one asset in terms of another asset" - }, - "calcCanonicalAssetsTotalValue(address[],uint256[],address)": { - "notice": "Calculates the total value of given amounts of assets in a single quote asset" - }, - "getAggregatorForPrimitive(address)": { - "notice": "Gets the aggregator for a primitive" - }, - "getEthUsdAggregator()": { - "notice": "Gets the `ethUsdAggregator` variable value" - }, - "getFundDeployer()": { - "notice": "Gets the `FUND_DEPLOYER` variable" - }, - "getOwner()": { - "notice": "Gets the owner of this contract" - }, - "getPriceFeedForDerivative(address)": { - "notice": "Gets the registered price feed for a given derivative" - }, - "getRateAssetForPrimitive(address)": { - "notice": "Gets the rateAsset variable value for a primitive" - }, - "getStaleRateThreshold()": { - "notice": "Gets the `STALE_RATE_THRESHOLD` variable value" - }, - "getUnitForPrimitive(address)": { - "notice": "Gets the unit variable value for a primitive" - }, - "getWethToken()": { - "notice": "Gets the `WETH_TOKEN` variable value" - }, - "isSupportedAsset(address)": { - "notice": "Checks whether an asset is a supported asset" - }, - "isSupportedDerivativeAsset(address)": { - "notice": "Checks whether an asset is a supported derivative" - }, - "isSupportedPrimitiveAsset(address)": { - "notice": "Checks whether an asset is a supported primitive" - }, - "removeDerivatives(address[])": { - "notice": "Removes a list of derivatives" - }, - "removePrimitives(address[])": { - "notice": "Removes a list of primitives from the feed" - }, - "setEthUsdAggregator(address)": { - "notice": "Sets the `ehUsdAggregator` variable value" - }, - "updateDerivatives(address[],address[])": { - "notice": "Updates a list of derivatives with the given price feed values" - }, - "updatePrimitives(address[],address[],uint8[])": { - "notice": "Updates a list of primitives with the given aggregator and rateAsset values" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/infrastructure/value-interpreter/ValueInterpreter.sol": "ValueInterpreter" - }, - "libraries": {} - }, - "sources": { - "contracts/release/core/fund-deployer/IFundDeployer.sol": { - "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", - "urls": [ - "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", - "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/price-feeds/derivatives/AggregatedDerivativePriceFeedMixin.sol": { - "keccak256": "0x85d2ac39834dae7feb04f0e37317a38b8abeb0f950692fbc9d29078c52cd8d52", - "urls": [ - "bzz-raw://7bf8f1ce064d85a2812a944fc93068955b233924097f7f45898be3db826579d5", - "dweb:/ipfs/Qme7f6AhxLVn32prM8fHaCvxtVi86A9KqFMqPA1s88kVYR" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol": { - "keccak256": "0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332", - "urls": [ - "bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e", - "dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/price-feeds/primitives/ChainlinkPriceFeedMixin.sol": { - "keccak256": "0x7fb0078e7387f07ff09958fe4e4e7b317e72c23884f61e8c133776cad522f8bb", - "urls": [ - "bzz-raw://e973f29ed0c3bf03e20154ab4b0cfc68c3a4372a52ec746f9d9f86697b30e977", - "dweb:/ipfs/QmfMb7H1zNnj2hzmUr6742HmCTiNVuQ2PFjeR8q2M4Liyu" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol": { - "keccak256": "0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794", - "urls": [ - "bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965", - "dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/value-interpreter/ValueInterpreter.sol": { - "keccak256": "0x64565011785d0d29a75021cda34687cfbc0641094d6f2faf4d9c78c8cd9f0d1d", - "urls": [ - "bzz-raw://03ea9b29a332436d18ca1a4df7e5cdf231d5142dfb916a39cb3a721342d54e0e", - "dweb:/ipfs/QmcB8Z7A7QELAxg2FfJpD26k2bUhMNUT4wACMVKxuge3QS" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IChainlinkAggregator.sol": { - "keccak256": "0x8104db68d4edc00c86b29b366f4397cdbe7bd95bb9dc90f54140af4bae963788", - "urls": [ - "bzz-raw://4664240be22fe76bd4e84d1cbaace3998dbc96759a14345819a889f0c288d22e", - "dweb:/ipfs/QmQ8fbA4tvXeCeaAFeS2JrLEQUPFeYrePAKoUywRtcicgA" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/FundDeployerOwnerMixin.sol": { - "keccak256": "0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934", - "urls": [ - "bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927", - "dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/MathHelpers.sol": { - "keccak256": "0x8aef498ae98bfb40cd1df8c9ed652b4c092fbbe62d5a1fad522c53654523248e", - "urls": [ - "bzz-raw://ed62789f6a8d5ca30a40c591f244b915e4711493a9e4b1b4d40ea2bc97b02a95", - "dweb:/ipfs/QmWyXJ55arURtx9VMkUQokdsjk8tbgM2cC8rENFUMyz5D3" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 265 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_fundDeployer", "type": "address", "internalType": "address" }, { "name": "_wethToken", "type": "address", "internalType": "address" }, { "name": "_chainlinkStaleRateThreshold", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "addDerivatives", "inputs": [ { "name": "_derivatives", "type": "address[]", "internalType": "address[]" }, { "name": "_priceFeeds", "type": "address[]", "internalType": "address[]" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "addPrimitives", "inputs": [ { "name": "_primitives", "type": "address[]", "internalType": "address[]" }, { "name": "_aggregators", "type": "address[]", "internalType": "address[]" }, { "name": "_rateAssets", "type": "uint8[]", "internalType": "enum ChainlinkPriceFeedMixin.RateAsset[]" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "calcCanonicalAssetValue", "inputs": [ { "name": "_baseAsset", "type": "address", "internalType": "address" }, { "name": "_amount", "type": "uint256", "internalType": "uint256" }, { "name": "_quoteAsset", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "value_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "calcCanonicalAssetsTotalValue", "inputs": [ { "name": "_baseAssets", "type": "address[]", "internalType": "address[]" }, { "name": "_amounts", "type": "uint256[]", "internalType": "uint256[]" }, { "name": "_quoteAsset", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "value_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "getAggregatorForPrimitive", "inputs": [ { "name": "_primitive", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "aggregator_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getEthUsdAggregator", "inputs": [], "outputs": [ { "name": "ethUsdAggregator_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getFundDeployer", "inputs": [], "outputs": [ { "name": "fundDeployer_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getOwner", "inputs": [], "outputs": [ { "name": "owner_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getPriceFeedForDerivative", "inputs": [ { "name": "_derivative", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "priceFeed_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getRateAssetForPrimitive", "inputs": [ { "name": "_primitive", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "rateAsset_", "type": "uint8", "internalType": "enum ChainlinkPriceFeedMixin.RateAsset" } ], "stateMutability": "view" }, { "type": "function", "name": "getStaleRateThreshold", "inputs": [], "outputs": [ { "name": "staleRateThreshold_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "getUnitForPrimitive", "inputs": [ { "name": "_primitive", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "unit_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "getWethToken", "inputs": [], "outputs": [ { "name": "wethToken_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "isSupportedAsset", "inputs": [ { "name": "_asset", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "isSupported_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "isSupportedDerivativeAsset", "inputs": [ { "name": "_asset", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "isSupported_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "isSupportedPrimitiveAsset", "inputs": [ { "name": "_asset", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "isSupported_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "removeDerivatives", "inputs": [ { "name": "_derivatives", "type": "address[]", "internalType": "address[]" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "removePrimitives", "inputs": [ { "name": "_primitives", "type": "address[]", "internalType": "address[]" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setEthUsdAggregator", "inputs": [ { "name": "_nextEthUsdAggregator", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "updateDerivatives", "inputs": [ { "name": "_derivatives", "type": "address[]", "internalType": "address[]" }, { "name": "_priceFeeds", "type": "address[]", "internalType": "address[]" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "updatePrimitives", "inputs": [ { "name": "_primitives", "type": "address[]", "internalType": "address[]" }, { "name": "_aggregators", "type": "address[]", "internalType": "address[]" }, { "name": "_rateAssets", "type": "uint8[]", "internalType": "enum ChainlinkPriceFeedMixin.RateAsset[]" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "event", "name": "DerivativeAdded", "inputs": [ { "name": "derivative", "type": "address", "indexed": true, "internalType": "address" }, { "name": "priceFeed", "type": "address", "indexed": false, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "DerivativeRemoved", "inputs": [ { "name": "derivative", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "EthUsdAggregatorSet", "inputs": [ { "name": "prevEthUsdAggregator", "type": "address", "indexed": false, "internalType": "address" }, { "name": "nextEthUsdAggregator", "type": "address", "indexed": false, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "PrimitiveAdded", "inputs": [ { "name": "primitive", "type": "address", "indexed": true, "internalType": "address" }, { "name": "aggregator", "type": "address", "indexed": false, "internalType": "address" }, { "name": "rateAsset", "type": "uint8", "indexed": false, "internalType": "enum ChainlinkPriceFeedMixin.RateAsset" }, { "name": "unit", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "PrimitiveRemoved", "inputs": [ { "name": "primitive", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false } ], "bytecode": { "object": "0x60e06040523480156200001157600080fd5b5060405162002bb238038062002bb2833981016040819052620000349162000079565b6001600160601b0319606093841b811660805260a091909152911b1660c05262000107565b80516200006681620000e2565b92915050565b80516200006681620000fc565b6000806000606084860312156200008f57600080fd5b60006200009d868662000059565b9350506020620000b08682870162000059565b9250506040620000c3868287016200006c565b9150509250925092565b60006001600160a01b03821662000066565b90565b620000ed81620000cd565b8114620000f957600080fd5b50565b620000ed81620000df565b60805160601c60a05160c05160601c612a736200013f600039806103895250806107e552508061053552806106435250612a736000f3fe608060405234801561001057600080fd5b50600436106101375760003560e01c806397c0ac87116100b8578063b54fbdaa1161007c578063b54fbdaa1461025f578063c496f8e814610267578063cf0399c81461027a578063e106264f1461028d578063e2dd0978146102a0578063e35e318e146102b357610137565b806397c0ac871461020b5780639be918e614610213578063a98acadc14610226578063ae6f52ad14610239578063b3d3af3b1461024c57610137565b80636d3b9410116100ff5780636d3b9410146101c257806374626f87146101d5578063787f2568146101dd578063893d20e8146101f05780638f72b136146101f857610137565b806339cbb63c1461013c5780634c252f91146101515780634c67e1061461016f57806364b01dc11461018f57806368e81c6d146101af575b600080fd5b61014f61014a366004611c13565b6102d3565b005b610159610387565b6040516101669190612739565b60405180910390f35b61018261017d366004611b85565b6103ab565b6040516101669190612971565b6101a261019d366004611b49565b61043f565b60405161016691906127a5565b6101596101bd366004611b49565b61045e565b61014f6101d0366004611c81565b61047c565b6101596104d4565b6101826101eb366004611b49565b6104e3565b610159610531565b61014f610206366004611bd2565b6105c9565b610159610641565b6101a2610221366004611b49565b610665565b61014f610234366004611b49565b610685565b610182610247366004611d86565b6106c9565b61014f61025a366004611c13565b61076f565b6101826107e3565b6101a2610275366004611b49565b610807565b61014f610288366004611c81565b610836565b61014f61029b366004611bd2565b61086e565b6101596102ae366004611b49565b6108b0565b6102c66102c1366004611b49565b6108ce565b60405161016691906127b3565b6102db610531565b6001600160a01b0316336001600160a01b0316146103145760405162461bcd60e51b815260040161030b906127f1565b60405180910390fd5b6103818484808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152505060408051602080880282810182019093528782529093508792508691829185019084908082843760009201919091525061091f92505050565b50505050565b7f000000000000000000000000000000000000000000000000000000000000000090565b6000816001600160a01b0316846001600160a01b031614806103cb575082155b156103d7575081610438565b6103e082610807565b156103f7576103f0848484610aac565b9050610438565b6104008261043f565b8015610410575061041084610807565b15610420576103f0848484610b39565b60405162461bcd60e51b815260040161030b90612811565b9392505050565b60008061044b8361045e565b6001600160a01b0316141590505b919050565b6001600160a01b039081166000908152602081905260409020541690565b610484610531565b6001600160a01b0316336001600160a01b0316146104b45760405162461bcd60e51b815260040161030b906127f1565b6104be8686610c13565b6104cc868686868686610d5f565b505050505050565b6001546001600160a01b031690565b60006104ed610387565b6001600160a01b0316826001600160a01b031614156105155750670de0b6b3a7640000610459565b506001600160a01b031660009081526003602052604090205490565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561058c57600080fd5b505afa1580156105a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105c49190611b67565b905090565b6105d1610531565b6001600160a01b0316336001600160a01b0316146106015760405162461bcd60e51b815260040161030b906127f1565b61063d82828080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061108492505050565b5050565b7f000000000000000000000000000000000000000000000000000000000000000090565b600061067082610807565b8061067f575061067f8261043f565b92915050565b61068d610531565b6001600160a01b0316336001600160a01b0316146106bd5760405162461bcd60e51b815260040161030b906127f1565b6106c68161116f565b50565b600082518451146106ec5760405162461bcd60e51b815260040161030b90612881565b6106f582610807565b6107115760405162461bcd60e51b815260040161030b906127d1565b60005b845181101561076757600061075086838151811061072e57fe5b602002602001015186848151811061074257fe5b602002602001015186610aac565b905061075c838261120f565b925050600101610714565b509392505050565b610777610531565b6001600160a01b0316336001600160a01b0316146107a75760405162461bcd60e51b815260040161030b906127f1565b61031484848080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061108492505050565b7f000000000000000000000000000000000000000000000000000000000000000090565b6000610811610387565b6001600160a01b0316826001600160a01b0316148061067f5750600061044b836108b0565b61083e610531565b6001600160a01b0316336001600160a01b0316146104be5760405162461bcd60e51b815260040161030b906127f1565b610876610531565b6001600160a01b0316336001600160a01b0316146108a65760405162461bcd60e51b815260040161030b906127f1565b61063d8282610c13565b6001600160a01b039081166000908152600260205260409020541690565b60006108d8610387565b6001600160a01b0316826001600160a01b031614156108f957506000610459565b506001600160a01b0316600090815260026020526040902054600160a01b900460ff1690565b80518251146109405760405162461bcd60e51b815260040161030b90612941565b60005b8251811015610aa75760006001600160a01b031661097384838151811061096657fe5b602002602001015161045e565b6001600160a01b0316146109995760405162461bcd60e51b815260040161030b906128d1565b6109c98382815181106109a857fe5b60200260200101518383815181106109bc57fe5b6020026020010151611234565b8181815181106109d557fe5b60200260200101516000808584815181106109ec57fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b03160217905550828181518110610a4457fe5b60200260200101516001600160a01b03167faa4ae250fb435bb4b31ed0b95822bc179fc6c5dd0c727c3ffe08d444025efd98838381518110610a8257fe5b6020026020010151604051610a979190612739565b60405180910390a2600101610943565b505050565b6000816001600160a01b0316846001600160a01b03161480610acc575082155b15610ad8575081610438565b610ae184610807565b15610af1576103f08484846112cc565b6000610afc8561045e565b90506001600160a01b03811615610b2157610b198186868661133e565b915050610438565b60405162461bcd60e51b815260040161030b90612931565b600080826001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015610b7557600080fd5b505afa158015610b89573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bad9190611e96565b60ff16600a0a90506000610bc08461045e565b90506000610bd08286858a61133e565b90506127108111610bf35760405162461bcd60e51b815260040161030b90612951565b610c08610c0182600161120f565b848861146e565b979650505050505050565b60005b81811015610aa7576000610c44848484818110610c2f57fe5b90506020020160208101906102ae9190611b49565b6001600160a01b03161415610c6b5760405162461bcd60e51b815260040161030b906128f1565b60026000848484818110610c7b57fe5b9050602002016020810190610c909190611b49565b6001600160a01b031681526020810191909152604001600090812080546001600160a81b0319169055600390848484818110610cc857fe5b9050602002016020810190610cdd9190611b49565b6001600160a01b03166001600160a01b0316815260200190815260200160002060009055828282818110610d0d57fe5b9050602002016020810190610d229190611b49565b6001600160a01b03167fb100e8178a081ba9130260173ee2ebe0db3a6c3b6751a7801111ab3017df0e9760405160405180910390a2600101610c16565b848314610d7e5760405162461bcd60e51b815260040161030b90612921565b848114610d9d5760405162461bcd60e51b815260040161030b90612871565b60005b8581101561107b576000610db9888884818110610c2f57fe5b6001600160a01b031614610ddf5760405162461bcd60e51b815260040161030b90612961565b610e08858583818110610dee57fe5b9050602002016020810190610e039190611b49565b61148c565b6040518060400160405280868684818110610e1f57fe5b9050602002016020810190610e349190611b49565b6001600160a01b03168152602001848484818110610e4e57fe5b9050602002016020810190610e639190611e03565b6001811115610e6e57fe5b905260026000898985818110610e8057fe5b9050602002016020810190610e959190611b49565b6001600160a01b0390811682526020808301939093526040909101600020835181546001600160a01b031916921691909117808255918301519091829060ff60a01b1916600160a01b836001811115610eea57fe5b02179055509050506000878783818110610f0057fe5b9050602002016020810190610f159190611b49565b6001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015610f4d57600080fd5b505afa158015610f61573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f859190611e96565b60ff16600a0a905080600360008a8a86818110610f9e57fe5b9050602002016020810190610fb39190611b49565b6001600160a01b03168152602081019190915260400160002055878783818110610fd957fe5b9050602002016020810190610fee9190611b49565b6001600160a01b03167f742bdf00da3d8f16c0fab93ce38eb6a536a019c9e283888dd44c3a08c0148c0287878581811061102457fe5b90506020020160208101906110399190611b49565b86868681811061104557fe5b905060200201602081019061105a9190611e03565b8460405161106a93929190612762565b60405180910390a250600101610da0565b50505050505050565b60005b815181101561063d5760006001600160a01b03166110aa83838151811061096657fe5b6001600160a01b031614156110d15760405162461bcd60e51b815260040161030b90612891565b6000808383815181106110e057fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154906001600160a01b03021916905581818151811061112a57fe5b60200260200101516001600160a01b03167fc15eb25d807b570f4567baf6e97c7b26d58a7d0512dc85e8db15375a056b860460405160405180910390a2600101611087565b60006111796104d4565b9050806001600160a01b0316826001600160a01b031614156111ad5760405162461bcd60e51b815260040161030b906127c1565b6111b68261148c565b600180546001600160a01b0319166001600160a01b0384161790556040517f98b60a60ba6130248e985ae4140dc3109d9c2980c7e435fed385e2756bc94461906112039083908590612747565b60405180910390a15050565b6000828201838110156104385760405162461bcd60e51b815260040161030b90612801565b604051634df48c7360e11b81526001600160a01b03821690639be918e690611260908590600401612739565b60206040518083038186803b15801561127857600080fd5b505afa15801561128c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112b09190611de5565b61063d5760405162461bcd60e51b815260040161030b90612911565b6000806112d885611530565b9050600081136112fa5760405162461bcd60e51b815260040161030b906128b1565b600061130584611530565b9050600081136113275760405162461bcd60e51b815260040161030b906128e1565b6113348686848785611623565b9695505050505050565b6000606080866001600160a01b031663727212f687876040518363ffffffff1660e01b815260040161137192919061278a565b600060405180830381600087803b15801561138b57600080fd5b505af115801561139f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526113c79190810190611d1f565b9150915060008251116113ec5760405162461bcd60e51b815260040161030b906128a1565b805182511461140d5760405162461bcd60e51b815260040161030b90612831565b60005b825181101561146357600061144c84838151811061142a57fe5b602002602001015184848151811061143e57fe5b602002602001015188610aac565b9050611458858261120f565b945050600101611410565b505050949350505050565b60006114848461147e8486611788565b906117c2565b949350505050565b600080826001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a06040518083038186803b1580156114c857600080fd5b505afa1580156114dc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115009190611e21565b50935050925050600082136115275760405162461bcd60e51b815260040161030b90612901565b610aa7816117f4565b600061153a610387565b6001600160a01b0316826001600160a01b031614156115625750670de0b6b3a7640000610459565b600061156d836108b0565b90506001600160a01b0381166115955760405162461bcd60e51b815260040161030b906127e1565b6000816001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a06040518083038186803b1580156115d057600080fd5b505afa1580156115e4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116089190611e21565b5091955090925061161c91508290506117f4565b5050919050565b60008061162f876108ce565b9050600061163c856108ce565b90506000611649896104e3565b90506000611656876104e3565b905082600181111561166457fe5b84600181111561167057fe5b141561168e5761168389838a848a611825565b94505050505061177f565b6000806116996104d4565b6001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a06040518083038186803b1580156116d157600080fd5b505afa1580156116e5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117099190611e21565b50935050925050600082136117305760405162461bcd60e51b815260040161030b90612851565b611739816117f4565b600086600181111561174757fe5b14156117685761175b8b858c868c87611848565b965050505050505061177f565b6117768b858c868c87611883565b96505050505050505b95945050505050565b6000826117975750600061067f565b828202828482816117a457fe5b04146104385760405162461bcd60e51b815260040161030b906128c1565b60008082116117e35760405162461bcd60e51b815260040161030b90612841565b8183816117ec57fe5b049392505050565b6118066117ff6107e3565b42906118b2565b8110156106c65760405162461bcd60e51b815260040161030b90612861565b60006113346118348684611788565b61147e856118428a89611788565b90611788565b600080611865670de0b6b3a764000061147e856118428c8b611788565b90506118778461147e8981858a611788565b98975050505050505050565b6000806118988361147e876118428c8b611788565b90506118778461147e898185670de0b6b3a7640000611788565b6000828211156118d45760405162461bcd60e51b815260040161030b90612821565b50900390565b803561067f81612a21565b805161067f81612a21565b60008083601f84011261190257600080fd5b5081356001600160401b0381111561191957600080fd5b60208301915083602082028301111561193157600080fd5b9250929050565b600082601f83011261194957600080fd5b813561195c611957826129a5565b61297f565b9150818183526020840193506020810190508385602084028201111561198157600080fd5b60005b838110156119ad578161199788826118da565b8452506020928301929190910190600101611984565b5050505092915050565b600082601f8301126119c857600080fd5b81516119d6611957826129a5565b915081818352602084019350602081019050838560208402820111156119fb57600080fd5b60005b838110156119ad5781611a1188826118e5565b84525060209283019291909101906001016119fe565b600082601f830112611a3857600080fd5b8135611a46611957826129a5565b91508181835260208401935060208101905083856020840282011115611a6b57600080fd5b60005b838110156119ad5781611a818882611b28565b8452506020928301929190910190600101611a6e565b600082601f830112611aa857600080fd5b8151611ab6611957826129a5565b91508181835260208401935060208101905083856020840282011115611adb57600080fd5b60005b838110156119ad5781611af18882611b1d565b8452506020928301929190910190600101611ade565b805161067f81612a35565b803561067f81612a3e565b805161067f81612a4b565b803561067f81612a4b565b805161067f81612a5d565b805161067f81612a54565b600060208284031215611b5b57600080fd5b600061148484846118da565b600060208284031215611b7957600080fd5b600061148484846118e5565b600080600060608486031215611b9a57600080fd5b6000611ba686866118da565b9350506020611bb786828701611b28565b9250506040611bc8868287016118da565b9150509250925092565b60008060208385031215611be557600080fd5b82356001600160401b03811115611bfb57600080fd5b611c07858286016118f0565b92509250509250929050565b60008060008060408587031215611c2957600080fd5b84356001600160401b03811115611c3f57600080fd5b611c4b878288016118f0565b945094505060208501356001600160401b03811115611c6957600080fd5b611c75878288016118f0565b95989497509550505050565b60008060008060008060608789031215611c9a57600080fd5b86356001600160401b03811115611cb057600080fd5b611cbc89828a016118f0565b965096505060208701356001600160401b03811115611cda57600080fd5b611ce689828a016118f0565b945094505060408701356001600160401b03811115611d0457600080fd5b611d1089828a016118f0565b92509250509295509295509295565b60008060408385031215611d3257600080fd5b82516001600160401b03811115611d4857600080fd5b611d54858286016119b7565b92505060208301516001600160401b03811115611d7057600080fd5b611d7c85828601611a97565b9150509250929050565b600080600060608486031215611d9b57600080fd5b83356001600160401b03811115611db157600080fd5b611dbd86828701611938565b93505060208401356001600160401b03811115611dd957600080fd5b611bb786828701611a27565b600060208284031215611df757600080fd5b60006114848484611b07565b600060208284031215611e1557600080fd5b60006114848484611b12565b600080600080600060a08688031215611e3957600080fd5b6000611e458888611b33565b9550506020611e5688828901611b1d565b9450506040611e6788828901611b1d565b9350506060611e7888828901611b1d565b9250506080611e8988828901611b33565b9150509295509295909350565b600060208284031215611ea857600080fd5b60006114848484611b3e565b611ebd816129ce565b82525050565b611ebd816129d9565b611ebd81612a0c565b6000611ee26028836129c5565b7f5f5f73657445746855736441676772656761746f723a2056616c756520616c728152671958591e481cd95d60c21b602082015260400192915050565b6000611f2c6036836129c5565b7f63616c6343616e6f6e6963616c417373657473546f74616c56616c75653a20558152751b9cdd5c1c1bdc9d19590817dc5d5bdd19505cdcd95d60521b602082015260400192915050565b6000611f84602d836129c5565b7f5f5f6765744c617465737452617465446174613a205072696d6974697665206481526c1bd95cc81b9bdd08195e1a5cdd609a1b602082015260400192915050565b6000611fd36049836129c5565b7f6f6e6c7946756e644465706c6f7965724f776e65723a204f6e6c79207468652081527f46756e644465706c6f796572206f776e65722063616e2063616c6c207468697360208201526810333ab731ba34b7b760b91b604082015260600192915050565b6000612044601b836129c5565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b600061207d602f836129c5565b7f63616c6343616e6f6e6963616c417373657456616c75653a20556e737570706f81526e393a32b21031b7b73b32b939b4b7b760891b602082015260400192915050565b60006120ce601e836129c5565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000612107602d836129c5565b7f5f5f63616c634465726976617469766556616c75653a2041727261797320756e81526c657175616c206c656e6774687360981b602082015260400192915050565b6000612156601a836129c5565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b600061218f6027836129c5565b7f5f5f63616c63436f6e76657273696f6e416d6f756e743a2042616420657468558152667364207261746560c81b602082015260400192915050565b60006121d8602d836129c5565b7f5f5f76616c69646174655261746549734e6f745374616c653a205374616c652081526c1c985d194819195d1958dd1959609a1b602082015260400192915050565b60006122276042836129c5565b7f5f5f6164645072696d6974697665733a20556e657175616c205f7072696d697481527f6976657320616e64205f72617465417373657473206172726179206c656e6774602082015261687360f01b604082015260600192915050565b60006122916035836129c5565b7f63616c6343616e6f6e6963616c417373657473546f74616c56616c75653a2041815274727261797320756e657175616c206c656e6774687360581b602082015260400192915050565b60006122e8602b836129c5565b7f72656d6f766544657269766174697665733a2044657269766174697665206e6f81526a1d081e595d08185919195960aa1b602082015260400192915050565b60006123356025836129c5565b7f5f5f63616c634465726976617469766556616c75653a204e6f20756e6465726c81526479696e677360d81b602082015260400192915050565b600061237c602d836129c5565b7f5f5f63616c6343616e6f6e6963616c56616c75653a20496e76616c696420626181526c7365206173736574207261746560981b602082015260400192915050565b60006123cb6021836129c5565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b600061240e601f836129c5565b7f5f5f61646444657269766174697665733a20416c726561647920616464656400815260200192915050565b6000612447602e836129c5565b7f5f5f63616c6343616e6f6e6963616c56616c75653a20496e76616c696420717581526d6f7465206173736574207261746560901b602082015260400192915050565b6000612497602b836129c5565b7f5f5f72656d6f76655072696d6974697665733a205072696d6974697665206e6f81526a1d081e595d08185919195960aa1b602082015260400192915050565b60006124e46026836129c5565b7f5f5f76616c696461746541676772656761746f723a204e6f20726174652064658152651d1958dd195960d21b602082015260400192915050565b600061252c6035836129c5565b7f5f5f76616c6964617465446572697661746976655072696365466565643a20558152746e737570706f72746564206465726976617469766560581b602082015260400192915050565b60006125836043836129c5565b7f5f5f6164645072696d6974697665733a20556e657175616c205f7072696d697481527f6976657320616e64205f61676772656761746f7273206172726179206c656e6760208201526274687360e81b604082015260600192915050565b60006125ee6028836129c5565b7f5f5f63616c63417373657456616c75653a20556e737570706f72746564205f62815267185cd9505cdcd95d60c21b602082015260400192915050565b60006126386044836129c5565b7f5f5f61646444657269766174697665733a20556e657175616c205f646572697681527f61746976657320616e64205f70726963654665656473206172726179206c656e6020820152636774687360e01b604082015260600192915050565b60006126a46033836129c5565b7f5f5f63616c635072696d6974697665546f4465726976617469766556616c75658152723a20496e73756666696369656e74207261746560681b602082015260400192915050565b60006126f96022836129c5565b7f5f5f6164645072696d6974697665733a2056616c756520616c72656164792073815261195d60f21b602082015260400192915050565b611ebd816129e8565b6020810161067f8284611eb4565b604081016127558285611eb4565b6104386020830184611eb4565b606081016127708286611eb4565b61277d6020830185611ecc565b6114846040830184612730565b604081016127988285611eb4565b6104386020830184612730565b6020810161067f8284611ec3565b6020810161067f8284611ecc565b6020808252810161067f81611ed5565b6020808252810161067f81611f1f565b6020808252810161067f81611f77565b6020808252810161067f81611fc6565b6020808252810161067f81612037565b6020808252810161067f81612070565b6020808252810161067f816120c1565b6020808252810161067f816120fa565b6020808252810161067f81612149565b6020808252810161067f81612182565b6020808252810161067f816121cb565b6020808252810161067f8161221a565b6020808252810161067f81612284565b6020808252810161067f816122db565b6020808252810161067f81612328565b6020808252810161067f8161236f565b6020808252810161067f816123be565b6020808252810161067f81612401565b6020808252810161067f8161243a565b6020808252810161067f8161248a565b6020808252810161067f816124d7565b6020808252810161067f8161251f565b6020808252810161067f81612576565b6020808252810161067f816125e1565b6020808252810161067f8161262b565b6020808252810161067f81612697565b6020808252810161067f816126ec565b6020810161067f8284612730565b6040518181016001600160401b038111828210171561299d57600080fd5b604052919050565b60006001600160401b038211156129bb57600080fd5b5060209081020190565b90815260200190565b600061067f826129eb565b151590565b8061045981612a17565b90565b6001600160a01b031690565b60ff1690565b69ffffffffffffffffffff1690565b600061067f826129de565b600281106106c657fe5b612a2a816129ce565b81146106c657600080fd5b612a2a816129d9565b600281106106c657600080fd5b612a2a816129e8565b612a2a816129f7565b612a2a816129fd56fea164736f6c634300060c000a", "sourceMap": "859:11666:265:-:0;;;1241:264;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;864:29:358;;;;;;;;1524:42:253;;;;;1576:23;;;;;859:11666:265;;5:134:-1;83:13;;101:33;83:13;101:33;:::i;:::-;68:71;;;;:::o;146:134::-;224:13;;242:33;224:13;242:33;:::i;287:535::-;;;;436:2;424:9;415:7;411:23;407:32;404:2;;;452:1;449;442:12;404:2;487:1;504:64;560:7;540:9;504:64;:::i;:::-;494:74;;466:108;605:2;623:64;679:7;670:6;659:9;655:22;623:64;:::i;:::-;613:74;;584:109;724:2;742:64;798:7;789:6;778:9;774:22;742:64;:::i;:::-;732:74;;703:109;398:424;;;;;:::o;829:91::-;;-1:-1;;;;;989:54;;891:24;972:76::o;1055:72::-;1117:5;1100:27::o;1134:117::-;1203:24;1221:5;1203:24;:::i;:::-;1196:5;1193:35;1183:2;;1242:1;1239;1232:12;1183:2;1177:74;:::o;1258:117::-;1327:24;1345:5;1327:24;:::i;1301:74::-;859:11666:265;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106101375760003560e01c806397c0ac87116100b8578063b54fbdaa1161007c578063b54fbdaa1461025f578063c496f8e814610267578063cf0399c81461027a578063e106264f1461028d578063e2dd0978146102a0578063e35e318e146102b357610137565b806397c0ac871461020b5780639be918e614610213578063a98acadc14610226578063ae6f52ad14610239578063b3d3af3b1461024c57610137565b80636d3b9410116100ff5780636d3b9410146101c257806374626f87146101d5578063787f2568146101dd578063893d20e8146101f05780638f72b136146101f857610137565b806339cbb63c1461013c5780634c252f91146101515780634c67e1061461016f57806364b01dc11461018f57806368e81c6d146101af575b600080fd5b61014f61014a366004611c13565b6102d3565b005b610159610387565b6040516101669190612739565b60405180910390f35b61018261017d366004611b85565b6103ab565b6040516101669190612971565b6101a261019d366004611b49565b61043f565b60405161016691906127a5565b6101596101bd366004611b49565b61045e565b61014f6101d0366004611c81565b61047c565b6101596104d4565b6101826101eb366004611b49565b6104e3565b610159610531565b61014f610206366004611bd2565b6105c9565b610159610641565b6101a2610221366004611b49565b610665565b61014f610234366004611b49565b610685565b610182610247366004611d86565b6106c9565b61014f61025a366004611c13565b61076f565b6101826107e3565b6101a2610275366004611b49565b610807565b61014f610288366004611c81565b610836565b61014f61029b366004611bd2565b61086e565b6101596102ae366004611b49565b6108b0565b6102c66102c1366004611b49565b6108ce565b60405161016691906127b3565b6102db610531565b6001600160a01b0316336001600160a01b0316146103145760405162461bcd60e51b815260040161030b906127f1565b60405180910390fd5b6103818484808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152505060408051602080880282810182019093528782529093508792508691829185019084908082843760009201919091525061091f92505050565b50505050565b7f000000000000000000000000000000000000000000000000000000000000000090565b6000816001600160a01b0316846001600160a01b031614806103cb575082155b156103d7575081610438565b6103e082610807565b156103f7576103f0848484610aac565b9050610438565b6104008261043f565b8015610410575061041084610807565b15610420576103f0848484610b39565b60405162461bcd60e51b815260040161030b90612811565b9392505050565b60008061044b8361045e565b6001600160a01b0316141590505b919050565b6001600160a01b039081166000908152602081905260409020541690565b610484610531565b6001600160a01b0316336001600160a01b0316146104b45760405162461bcd60e51b815260040161030b906127f1565b6104be8686610c13565b6104cc868686868686610d5f565b505050505050565b6001546001600160a01b031690565b60006104ed610387565b6001600160a01b0316826001600160a01b031614156105155750670de0b6b3a7640000610459565b506001600160a01b031660009081526003602052604090205490565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561058c57600080fd5b505afa1580156105a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105c49190611b67565b905090565b6105d1610531565b6001600160a01b0316336001600160a01b0316146106015760405162461bcd60e51b815260040161030b906127f1565b61063d82828080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061108492505050565b5050565b7f000000000000000000000000000000000000000000000000000000000000000090565b600061067082610807565b8061067f575061067f8261043f565b92915050565b61068d610531565b6001600160a01b0316336001600160a01b0316146106bd5760405162461bcd60e51b815260040161030b906127f1565b6106c68161116f565b50565b600082518451146106ec5760405162461bcd60e51b815260040161030b90612881565b6106f582610807565b6107115760405162461bcd60e51b815260040161030b906127d1565b60005b845181101561076757600061075086838151811061072e57fe5b602002602001015186848151811061074257fe5b602002602001015186610aac565b905061075c838261120f565b925050600101610714565b509392505050565b610777610531565b6001600160a01b0316336001600160a01b0316146107a75760405162461bcd60e51b815260040161030b906127f1565b61031484848080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061108492505050565b7f000000000000000000000000000000000000000000000000000000000000000090565b6000610811610387565b6001600160a01b0316826001600160a01b0316148061067f5750600061044b836108b0565b61083e610531565b6001600160a01b0316336001600160a01b0316146104be5760405162461bcd60e51b815260040161030b906127f1565b610876610531565b6001600160a01b0316336001600160a01b0316146108a65760405162461bcd60e51b815260040161030b906127f1565b61063d8282610c13565b6001600160a01b039081166000908152600260205260409020541690565b60006108d8610387565b6001600160a01b0316826001600160a01b031614156108f957506000610459565b506001600160a01b0316600090815260026020526040902054600160a01b900460ff1690565b80518251146109405760405162461bcd60e51b815260040161030b90612941565b60005b8251811015610aa75760006001600160a01b031661097384838151811061096657fe5b602002602001015161045e565b6001600160a01b0316146109995760405162461bcd60e51b815260040161030b906128d1565b6109c98382815181106109a857fe5b60200260200101518383815181106109bc57fe5b6020026020010151611234565b8181815181106109d557fe5b60200260200101516000808584815181106109ec57fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b03160217905550828181518110610a4457fe5b60200260200101516001600160a01b03167faa4ae250fb435bb4b31ed0b95822bc179fc6c5dd0c727c3ffe08d444025efd98838381518110610a8257fe5b6020026020010151604051610a979190612739565b60405180910390a2600101610943565b505050565b6000816001600160a01b0316846001600160a01b03161480610acc575082155b15610ad8575081610438565b610ae184610807565b15610af1576103f08484846112cc565b6000610afc8561045e565b90506001600160a01b03811615610b2157610b198186868661133e565b915050610438565b60405162461bcd60e51b815260040161030b90612931565b600080826001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015610b7557600080fd5b505afa158015610b89573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bad9190611e96565b60ff16600a0a90506000610bc08461045e565b90506000610bd08286858a61133e565b90506127108111610bf35760405162461bcd60e51b815260040161030b90612951565b610c08610c0182600161120f565b848861146e565b979650505050505050565b60005b81811015610aa7576000610c44848484818110610c2f57fe5b90506020020160208101906102ae9190611b49565b6001600160a01b03161415610c6b5760405162461bcd60e51b815260040161030b906128f1565b60026000848484818110610c7b57fe5b9050602002016020810190610c909190611b49565b6001600160a01b031681526020810191909152604001600090812080546001600160a81b0319169055600390848484818110610cc857fe5b9050602002016020810190610cdd9190611b49565b6001600160a01b03166001600160a01b0316815260200190815260200160002060009055828282818110610d0d57fe5b9050602002016020810190610d229190611b49565b6001600160a01b03167fb100e8178a081ba9130260173ee2ebe0db3a6c3b6751a7801111ab3017df0e9760405160405180910390a2600101610c16565b848314610d7e5760405162461bcd60e51b815260040161030b90612921565b848114610d9d5760405162461bcd60e51b815260040161030b90612871565b60005b8581101561107b576000610db9888884818110610c2f57fe5b6001600160a01b031614610ddf5760405162461bcd60e51b815260040161030b90612961565b610e08858583818110610dee57fe5b9050602002016020810190610e039190611b49565b61148c565b6040518060400160405280868684818110610e1f57fe5b9050602002016020810190610e349190611b49565b6001600160a01b03168152602001848484818110610e4e57fe5b9050602002016020810190610e639190611e03565b6001811115610e6e57fe5b905260026000898985818110610e8057fe5b9050602002016020810190610e959190611b49565b6001600160a01b0390811682526020808301939093526040909101600020835181546001600160a01b031916921691909117808255918301519091829060ff60a01b1916600160a01b836001811115610eea57fe5b02179055509050506000878783818110610f0057fe5b9050602002016020810190610f159190611b49565b6001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015610f4d57600080fd5b505afa158015610f61573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f859190611e96565b60ff16600a0a905080600360008a8a86818110610f9e57fe5b9050602002016020810190610fb39190611b49565b6001600160a01b03168152602081019190915260400160002055878783818110610fd957fe5b9050602002016020810190610fee9190611b49565b6001600160a01b03167f742bdf00da3d8f16c0fab93ce38eb6a536a019c9e283888dd44c3a08c0148c0287878581811061102457fe5b90506020020160208101906110399190611b49565b86868681811061104557fe5b905060200201602081019061105a9190611e03565b8460405161106a93929190612762565b60405180910390a250600101610da0565b50505050505050565b60005b815181101561063d5760006001600160a01b03166110aa83838151811061096657fe5b6001600160a01b031614156110d15760405162461bcd60e51b815260040161030b90612891565b6000808383815181106110e057fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154906001600160a01b03021916905581818151811061112a57fe5b60200260200101516001600160a01b03167fc15eb25d807b570f4567baf6e97c7b26d58a7d0512dc85e8db15375a056b860460405160405180910390a2600101611087565b60006111796104d4565b9050806001600160a01b0316826001600160a01b031614156111ad5760405162461bcd60e51b815260040161030b906127c1565b6111b68261148c565b600180546001600160a01b0319166001600160a01b0384161790556040517f98b60a60ba6130248e985ae4140dc3109d9c2980c7e435fed385e2756bc94461906112039083908590612747565b60405180910390a15050565b6000828201838110156104385760405162461bcd60e51b815260040161030b90612801565b604051634df48c7360e11b81526001600160a01b03821690639be918e690611260908590600401612739565b60206040518083038186803b15801561127857600080fd5b505afa15801561128c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112b09190611de5565b61063d5760405162461bcd60e51b815260040161030b90612911565b6000806112d885611530565b9050600081136112fa5760405162461bcd60e51b815260040161030b906128b1565b600061130584611530565b9050600081136113275760405162461bcd60e51b815260040161030b906128e1565b6113348686848785611623565b9695505050505050565b6000606080866001600160a01b031663727212f687876040518363ffffffff1660e01b815260040161137192919061278a565b600060405180830381600087803b15801561138b57600080fd5b505af115801561139f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526113c79190810190611d1f565b9150915060008251116113ec5760405162461bcd60e51b815260040161030b906128a1565b805182511461140d5760405162461bcd60e51b815260040161030b90612831565b60005b825181101561146357600061144c84838151811061142a57fe5b602002602001015184848151811061143e57fe5b602002602001015188610aac565b9050611458858261120f565b945050600101611410565b505050949350505050565b60006114848461147e8486611788565b906117c2565b949350505050565b600080826001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a06040518083038186803b1580156114c857600080fd5b505afa1580156114dc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115009190611e21565b50935050925050600082136115275760405162461bcd60e51b815260040161030b90612901565b610aa7816117f4565b600061153a610387565b6001600160a01b0316826001600160a01b031614156115625750670de0b6b3a7640000610459565b600061156d836108b0565b90506001600160a01b0381166115955760405162461bcd60e51b815260040161030b906127e1565b6000816001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a06040518083038186803b1580156115d057600080fd5b505afa1580156115e4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116089190611e21565b5091955090925061161c91508290506117f4565b5050919050565b60008061162f876108ce565b9050600061163c856108ce565b90506000611649896104e3565b90506000611656876104e3565b905082600181111561166457fe5b84600181111561167057fe5b141561168e5761168389838a848a611825565b94505050505061177f565b6000806116996104d4565b6001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a06040518083038186803b1580156116d157600080fd5b505afa1580156116e5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117099190611e21565b50935050925050600082136117305760405162461bcd60e51b815260040161030b90612851565b611739816117f4565b600086600181111561174757fe5b14156117685761175b8b858c868c87611848565b965050505050505061177f565b6117768b858c868c87611883565b96505050505050505b95945050505050565b6000826117975750600061067f565b828202828482816117a457fe5b04146104385760405162461bcd60e51b815260040161030b906128c1565b60008082116117e35760405162461bcd60e51b815260040161030b90612841565b8183816117ec57fe5b049392505050565b6118066117ff6107e3565b42906118b2565b8110156106c65760405162461bcd60e51b815260040161030b90612861565b60006113346118348684611788565b61147e856118428a89611788565b90611788565b600080611865670de0b6b3a764000061147e856118428c8b611788565b90506118778461147e8981858a611788565b98975050505050505050565b6000806118988361147e876118428c8b611788565b90506118778461147e898185670de0b6b3a7640000611788565b6000828211156118d45760405162461bcd60e51b815260040161030b90612821565b50900390565b803561067f81612a21565b805161067f81612a21565b60008083601f84011261190257600080fd5b5081356001600160401b0381111561191957600080fd5b60208301915083602082028301111561193157600080fd5b9250929050565b600082601f83011261194957600080fd5b813561195c611957826129a5565b61297f565b9150818183526020840193506020810190508385602084028201111561198157600080fd5b60005b838110156119ad578161199788826118da565b8452506020928301929190910190600101611984565b5050505092915050565b600082601f8301126119c857600080fd5b81516119d6611957826129a5565b915081818352602084019350602081019050838560208402820111156119fb57600080fd5b60005b838110156119ad5781611a1188826118e5565b84525060209283019291909101906001016119fe565b600082601f830112611a3857600080fd5b8135611a46611957826129a5565b91508181835260208401935060208101905083856020840282011115611a6b57600080fd5b60005b838110156119ad5781611a818882611b28565b8452506020928301929190910190600101611a6e565b600082601f830112611aa857600080fd5b8151611ab6611957826129a5565b91508181835260208401935060208101905083856020840282011115611adb57600080fd5b60005b838110156119ad5781611af18882611b1d565b8452506020928301929190910190600101611ade565b805161067f81612a35565b803561067f81612a3e565b805161067f81612a4b565b803561067f81612a4b565b805161067f81612a5d565b805161067f81612a54565b600060208284031215611b5b57600080fd5b600061148484846118da565b600060208284031215611b7957600080fd5b600061148484846118e5565b600080600060608486031215611b9a57600080fd5b6000611ba686866118da565b9350506020611bb786828701611b28565b9250506040611bc8868287016118da565b9150509250925092565b60008060208385031215611be557600080fd5b82356001600160401b03811115611bfb57600080fd5b611c07858286016118f0565b92509250509250929050565b60008060008060408587031215611c2957600080fd5b84356001600160401b03811115611c3f57600080fd5b611c4b878288016118f0565b945094505060208501356001600160401b03811115611c6957600080fd5b611c75878288016118f0565b95989497509550505050565b60008060008060008060608789031215611c9a57600080fd5b86356001600160401b03811115611cb057600080fd5b611cbc89828a016118f0565b965096505060208701356001600160401b03811115611cda57600080fd5b611ce689828a016118f0565b945094505060408701356001600160401b03811115611d0457600080fd5b611d1089828a016118f0565b92509250509295509295509295565b60008060408385031215611d3257600080fd5b82516001600160401b03811115611d4857600080fd5b611d54858286016119b7565b92505060208301516001600160401b03811115611d7057600080fd5b611d7c85828601611a97565b9150509250929050565b600080600060608486031215611d9b57600080fd5b83356001600160401b03811115611db157600080fd5b611dbd86828701611938565b93505060208401356001600160401b03811115611dd957600080fd5b611bb786828701611a27565b600060208284031215611df757600080fd5b60006114848484611b07565b600060208284031215611e1557600080fd5b60006114848484611b12565b600080600080600060a08688031215611e3957600080fd5b6000611e458888611b33565b9550506020611e5688828901611b1d565b9450506040611e6788828901611b1d565b9350506060611e7888828901611b1d565b9250506080611e8988828901611b33565b9150509295509295909350565b600060208284031215611ea857600080fd5b60006114848484611b3e565b611ebd816129ce565b82525050565b611ebd816129d9565b611ebd81612a0c565b6000611ee26028836129c5565b7f5f5f73657445746855736441676772656761746f723a2056616c756520616c728152671958591e481cd95d60c21b602082015260400192915050565b6000611f2c6036836129c5565b7f63616c6343616e6f6e6963616c417373657473546f74616c56616c75653a20558152751b9cdd5c1c1bdc9d19590817dc5d5bdd19505cdcd95d60521b602082015260400192915050565b6000611f84602d836129c5565b7f5f5f6765744c617465737452617465446174613a205072696d6974697665206481526c1bd95cc81b9bdd08195e1a5cdd609a1b602082015260400192915050565b6000611fd36049836129c5565b7f6f6e6c7946756e644465706c6f7965724f776e65723a204f6e6c79207468652081527f46756e644465706c6f796572206f776e65722063616e2063616c6c207468697360208201526810333ab731ba34b7b760b91b604082015260600192915050565b6000612044601b836129c5565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b600061207d602f836129c5565b7f63616c6343616e6f6e6963616c417373657456616c75653a20556e737570706f81526e393a32b21031b7b73b32b939b4b7b760891b602082015260400192915050565b60006120ce601e836129c5565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000612107602d836129c5565b7f5f5f63616c634465726976617469766556616c75653a2041727261797320756e81526c657175616c206c656e6774687360981b602082015260400192915050565b6000612156601a836129c5565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b600061218f6027836129c5565b7f5f5f63616c63436f6e76657273696f6e416d6f756e743a2042616420657468558152667364207261746560c81b602082015260400192915050565b60006121d8602d836129c5565b7f5f5f76616c69646174655261746549734e6f745374616c653a205374616c652081526c1c985d194819195d1958dd1959609a1b602082015260400192915050565b60006122276042836129c5565b7f5f5f6164645072696d6974697665733a20556e657175616c205f7072696d697481527f6976657320616e64205f72617465417373657473206172726179206c656e6774602082015261687360f01b604082015260600192915050565b60006122916035836129c5565b7f63616c6343616e6f6e6963616c417373657473546f74616c56616c75653a2041815274727261797320756e657175616c206c656e6774687360581b602082015260400192915050565b60006122e8602b836129c5565b7f72656d6f766544657269766174697665733a2044657269766174697665206e6f81526a1d081e595d08185919195960aa1b602082015260400192915050565b60006123356025836129c5565b7f5f5f63616c634465726976617469766556616c75653a204e6f20756e6465726c81526479696e677360d81b602082015260400192915050565b600061237c602d836129c5565b7f5f5f63616c6343616e6f6e6963616c56616c75653a20496e76616c696420626181526c7365206173736574207261746560981b602082015260400192915050565b60006123cb6021836129c5565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b600061240e601f836129c5565b7f5f5f61646444657269766174697665733a20416c726561647920616464656400815260200192915050565b6000612447602e836129c5565b7f5f5f63616c6343616e6f6e6963616c56616c75653a20496e76616c696420717581526d6f7465206173736574207261746560901b602082015260400192915050565b6000612497602b836129c5565b7f5f5f72656d6f76655072696d6974697665733a205072696d6974697665206e6f81526a1d081e595d08185919195960aa1b602082015260400192915050565b60006124e46026836129c5565b7f5f5f76616c696461746541676772656761746f723a204e6f20726174652064658152651d1958dd195960d21b602082015260400192915050565b600061252c6035836129c5565b7f5f5f76616c6964617465446572697661746976655072696365466565643a20558152746e737570706f72746564206465726976617469766560581b602082015260400192915050565b60006125836043836129c5565b7f5f5f6164645072696d6974697665733a20556e657175616c205f7072696d697481527f6976657320616e64205f61676772656761746f7273206172726179206c656e6760208201526274687360e81b604082015260600192915050565b60006125ee6028836129c5565b7f5f5f63616c63417373657456616c75653a20556e737570706f72746564205f62815267185cd9505cdcd95d60c21b602082015260400192915050565b60006126386044836129c5565b7f5f5f61646444657269766174697665733a20556e657175616c205f646572697681527f61746976657320616e64205f70726963654665656473206172726179206c656e6020820152636774687360e01b604082015260600192915050565b60006126a46033836129c5565b7f5f5f63616c635072696d6974697665546f4465726976617469766556616c75658152723a20496e73756666696369656e74207261746560681b602082015260400192915050565b60006126f96022836129c5565b7f5f5f6164645072696d6974697665733a2056616c756520616c72656164792073815261195d60f21b602082015260400192915050565b611ebd816129e8565b6020810161067f8284611eb4565b604081016127558285611eb4565b6104386020830184611eb4565b606081016127708286611eb4565b61277d6020830185611ecc565b6114846040830184612730565b604081016127988285611eb4565b6104386020830184612730565b6020810161067f8284611ec3565b6020810161067f8284611ecc565b6020808252810161067f81611ed5565b6020808252810161067f81611f1f565b6020808252810161067f81611f77565b6020808252810161067f81611fc6565b6020808252810161067f81612037565b6020808252810161067f81612070565b6020808252810161067f816120c1565b6020808252810161067f816120fa565b6020808252810161067f81612149565b6020808252810161067f81612182565b6020808252810161067f816121cb565b6020808252810161067f8161221a565b6020808252810161067f81612284565b6020808252810161067f816122db565b6020808252810161067f81612328565b6020808252810161067f8161236f565b6020808252810161067f816123be565b6020808252810161067f81612401565b6020808252810161067f8161243a565b6020808252810161067f8161248a565b6020808252810161067f816124d7565b6020808252810161067f8161251f565b6020808252810161067f81612576565b6020808252810161067f816125e1565b6020808252810161067f8161262b565b6020808252810161067f81612697565b6020808252810161067f816126ec565b6020810161067f8284612730565b6040518181016001600160401b038111828210171561299d57600080fd5b604052919050565b60006001600160401b038211156129bb57600080fd5b5060209081020190565b90815260200190565b600061067f826129eb565b151590565b8061045981612a17565b90565b6001600160a01b031690565b60ff1690565b69ffffffffffffffffffff1690565b600061067f826129de565b600281106106c657fe5b612a2a816129ce565b81146106c657600080fd5b612a2a816129d9565b600281106106c657600080fd5b612a2a816129e8565b612a2a816129f7565b612a2a816129fd56fea164736f6c634300060c000a", "sourceMap": "859:11666:265:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11179:200;;;;;;:::i;:::-;;:::i;:::-;;13450:99:253;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3412:682:265;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;12315:208::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;3861:183:234:-;;;;;;:::i;:::-;;:::i;10086:299:265:-;;;;;;:::i;:::-;;:::i;12001:119:253:-;;;:::i;13112:220::-;;;;;;:::i;:::-;;:::i;1064:120:358:-;;;:::i;11485:141:265:-;;;;;;:::i;:::-;;:::i;1378:108:358:-;;;:::i;4270:186:265:-;;;;;;:::i;:::-;;:::i;9599:152::-;;;;;;:::i;:::-;;:::i;2076:721::-;;;;;;:::i;:::-;;:::i;11858:246::-;;;;;;:::i;:::-;;:::i;12872:127:253:-;;;:::i;10594:235:265:-;;;;;;:::i;:::-;;:::i;8954:255::-;;;;;;:::i;:::-;;:::i;9326:137::-;;;;;;:::i;:::-;;:::i;11667:197:253:-;;;;;;:::i;:::-;;:::i;12449:285::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;11179:200:265:-;679:10:358;:8;:10::i;:::-;-1:-1:-1;;;;;665:24:358;:10;-1:-1:-1;;;;;665:24:358;;644:144;;;;-1:-1:-1;;;644:144:358;;;;;;;:::i;:::-;;;;;;;;;11329:43:265::1;11346:12;;11329:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;;11329:43:265::1;::::0;;::::1;::::0;;::::1;::::0;;;;;;;;;;;;;-1:-1:-1;11360:11:265;;-1:-1:-1;11360:11:265;;;;11329:43;::::1;::::0;11360:11;;11329:43;11360:11;11329:43;::::1;;::::0;::::1;::::0;;;;-1:-1:-1;11329:16:265::1;::::0;-1:-1:-1;;;11329:43:265:i:1;:::-;11179:200:::0;;;;:::o;13450:99:253:-;13532:10;13450:99;:::o;3412:682:265:-;3560:14;3604:11;-1:-1:-1;;;;;3590:25:265;:10;-1:-1:-1;;;;;3590:25:265;;:41;;;-1:-1:-1;3619:12:265;;3590:41;3586:86;;;-1:-1:-1;3654:7:265;3647:14;;3586:86;3686:38;3712:11;3686:25;:38::i;:::-;3682:338;;;3747:50;3764:10;3776:7;3785:11;3747:16;:50::i;:::-;3740:57;;;;3682:338;3831:39;3858:11;3831:26;:39::i;:::-;:80;;;;;3874:37;3900:10;3874:25;:37::i;:::-;3814:206;;;3943:66;3976:10;3988:7;3997:11;3943:32;:66::i;3814:206::-;4030:57;;-1:-1:-1;;;4030:57:265;;;;;;;:::i;3412:682::-;;;;;;:::o;12315:208::-;12429:17;;12469:33;12495:6;12469:25;:33::i;:::-;-1:-1:-1;;;;;12469:47:265;;;12462:54;;12315:208;;;;:::o;3861:183:234:-;-1:-1:-1;;;;;4003:34:234;;;3962:18;4003:34;;;;;;;;;;;;;3861:183::o;10086:299:265:-;679:10:358;:8;:10::i;:::-;-1:-1:-1;;;;;665:24:358;:10;-1:-1:-1;;;;;665:24:358;;644:144;;;;-1:-1:-1;;;644:144:358;;;;;;;:::i;:::-;10282:31:265::1;10301:11;;10282:18;:31::i;:::-;10323:55;10339:11;;10352:12;;10366:11;;10323:15;:55::i;:::-;10086:299:::0;;;;;;:::o;12001:119:253:-;12097:16;;-1:-1:-1;;;;;12097:16:253;12001:119;:::o;13112:220::-;13182:13;13225:14;:12;:14::i;:::-;-1:-1:-1;;;;;13211:28:253;:10;-1:-1:-1;;;;;13211:28:253;;13207:74;;;-1:-1:-1;1168:6:253;13255:15;;13207:74;-1:-1:-1;;;;;;13298:27:253;;;;;:15;:27;;;;;;;13112:220::o;1064:120:358:-;1105:14;1152:13;-1:-1:-1;;;;;1138:37:358;;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1131:46;;1064:120;:::o;11485:141:265:-;679:10:358;:8;:10::i;:::-;-1:-1:-1;;;;;665:24:358;:10;-1:-1:-1;;;;;665:24:358;;644:144;;;;-1:-1:-1;;;644:144:358;;;;;;;:::i;:::-;11586:33:265::1;11606:12;;11586:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;11586:19:265::1;::::0;-1:-1:-1;;;11586:33:265:i:1;:::-;11485:141:::0;;:::o;1378:108:358:-;1466:13;1378:108;:::o;4270:186:265:-;4342:17;4378:33;4404:6;4378:25;:33::i;:::-;:71;;;;4415:34;4442:6;4415:26;:34::i;:::-;4371:78;4270:186;-1:-1:-1;;4270:186:265:o;9599:152::-;679:10:358;:8;:10::i;:::-;-1:-1:-1;;;;;665:24:358;:10;-1:-1:-1;;;;;665:24:358;;644:144;;;;-1:-1:-1;;;644:144:358;;;;;;;:::i;:::-;9700:44:265::1;9722:21;9700;:44::i;:::-;9599:152:::0;:::o;2076:721::-;2250:14;2319:8;:15;2297:11;:18;:37;2276:137;;;;-1:-1:-1;;;2276:137:265;;;;;;;:::i;:::-;2444:38;2470:11;2444:25;:38::i;:::-;2423:139;;;;-1:-1:-1;;;2423:139:265;;;;;;;:::i;:::-;2578:9;2573:194;2593:11;:18;2589:1;:22;2573:194;;;2632:18;2653:58;2670:11;2682:1;2670:14;;;;;;;;;;;;;;2686:8;2695:1;2686:11;;;;;;;;;;;;;;2699;2653:16;:58::i;:::-;2632:79;-1:-1:-1;2734:22:265;:6;2632:79;2734:10;:22::i;:::-;2725:31;-1:-1:-1;;2613:3:265;;2573:194;;;;2076:721;;;;;:::o;11858:246::-;679:10:358;:8;:10::i;:::-;-1:-1:-1;;;;;665:24:358;:10;-1:-1:-1;;;;;665:24:358;;644:144;;;;-1:-1:-1;;;644:144:358;;;;;;;:::i;:::-;12011:33:265::1;12031:12;;12011:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;12011:19:265::1;::::0;-1:-1:-1;;;12011:33:265:i:1;12872:127:253:-:0;12972:20;12872:127;:::o;10594:235:265:-;10707:17;10757:14;:12;:14::i;:::-;-1:-1:-1;;;;;10747:24:265;:6;-1:-1:-1;;;;;10747:24:265;;:75;;;-1:-1:-1;10820:1:265;10775:33;10801:6;10775:25;:33::i;8954:255::-;679:10:358;:8;:10::i;:::-;-1:-1:-1;;;;;665:24:358;:10;-1:-1:-1;;;;;665:24:358;;644:144;;;;-1:-1:-1;;;644:144:358;;;;;;;:::i;9326:137:265:-;679:10:358;:8;:10::i;:::-;-1:-1:-1;;;;;665:24:358;:10;-1:-1:-1;;;;;665:24:358;;644:144;;;;-1:-1:-1;;;644:144:358;;;;;;;:::i;:::-;9425:31:265::1;9444:11;;9425:18;:31::i;11667:197:253:-:0;-1:-1:-1;;;;;11809:37:253;;;11767:19;11809:37;;;:25;:37;;;;;:48;;;11667:197::o;12449:285::-;12548:20;12602:14;:12;:14::i;:::-;-1:-1:-1;;;;;12588:28:253;:10;-1:-1:-1;;;;;12588:28:253;;12584:79;;;-1:-1:-1;12639:13:253;12632:20;;12584:79;-1:-1:-1;;;;;;12680:37:253;;;;;:25;:37;;;;;:47;-1:-1:-1;;;12680:47:253;;;;;12449:285::o;2028:727:234:-;2190:11;:18;2167:12;:19;:41;2146:156;;;;-1:-1:-1;;;2146:156:234;;;;;;;:::i;:::-;2318:9;2313:436;2337:12;:19;2333:1;:23;2313:436;;;2456:1;-1:-1:-1;;;;;2402:56:234;:42;2428:12;2441:1;2428:15;;;;;;;;;;;;;;2402:25;:42::i;:::-;-1:-1:-1;;;;;2402:56:234;;2377:146;;;;-1:-1:-1;;;2377:146:234;;;;;;;:::i;:::-;2538:62;2568:12;2581:1;2568:15;;;;;;;;;;;;;;2585:11;2597:1;2585:14;;;;;;;;;;;;;;2538:29;:62::i;:::-;2656:11;2668:1;2656:14;;;;;;;;;;;;;;2615:21;:38;2637:12;2650:1;2637:15;;;;;;;;;;;;;;-1:-1:-1;;;;;2615:38:234;-1:-1:-1;;;;;2615:38:234;;;;;;;;;;;;;:55;;;;;-1:-1:-1;;;;;2615:55:234;;;;;-1:-1:-1;;;;;2615:55:234;;;;;;2706:12;2719:1;2706:15;;;;;;;;;;;;;;-1:-1:-1;;;;;2690:48:234;;2723:11;2735:1;2723:14;;;;;;;;;;;;;;2690:48;;;;;;:::i;:::-;;;;;;;;2358:3;;2313:436;;;;2028:727;;:::o;4610:782:265:-;4741:14;4785:11;-1:-1:-1;;;;;4771:25:265;:10;-1:-1:-1;;;;;4771:25:265;;:41;;;-1:-1:-1;4800:12:265;;4771:41;4767:86;;;-1:-1:-1;4835:7:265;4828:14;;4767:86;4916:37;4942:10;4916:25;:37::i;:::-;4912:129;;;4976:54;4997:10;5009:7;5018:11;4976:20;:54::i;4912:129::-;5101:27;5131:37;5157:10;5131:25;:37::i;:::-;5101:67;-1:-1:-1;;;;;;5182:33:265;;;5178:147;;5238:76;5260:19;5281:10;5293:7;5302:11;5238:21;:76::i;:::-;5231:83;;;;;5178:147;5335:50;;-1:-1:-1;;;5335:50:265;;;;;;;:::i;7279:1246::-;7463:14;7489:22;7532:21;-1:-1:-1;;;;;7526:37:265;;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7518:48;;7514:2;:52;7489:77;;7577:27;7607:48;7633:21;7607:25;:48::i;:::-;7577:78;;7665:40;7708:160;7743:19;7776:21;7811:14;7839:19;7708:21;:160::i;:::-;7665:203;;1229:5;7951:32;:58;7930:156;;;;-1:-1:-1;;;7930:156:265;;;;;;;:::i;:::-;8350:168;8390:39;:32;8427:1;8390:36;:39::i;:::-;8447:14;8479:25;8350:22;:168::i;:::-;8331:187;7279:1246;-1:-1:-1;;;;;;;7279:1246:265:o;10483:479:253:-;10567:9;10562:394;10578:22;;;10562:394;;;10699:1;10646:41;10672:11;;10684:1;10672:14;;;;;;;;;;;;;;;;;;;;:::i;10646:41::-;-1:-1:-1;;;;;10646:55:253;;;10621:157;;;;-1:-1:-1;;;10621:157:253;;;;;;;:::i;:::-;10800:25;:41;10826:11;;10838:1;10826:14;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;10800:41:253;;;;;;;;;;;;-1:-1:-1;10800:41:253;;;10793:48;;-1:-1:-1;;;;;;10793:48:253;;;10862:15;;10878:11;;10890:1;10878:14;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;10862:31:253;-1:-1:-1;;;;;10862:31:253;;;;;;;;;;;;10855:38;;;10930:11;;10942:1;10930:14;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;10913:32:253;;;;;;;;;;;10602:3;;10562:394;;9115:1251;9309:41;;;9288:155;;;;-1:-1:-1;;;9288:155:253;;;;;;;:::i;:::-;9474:40;;;9453:153;;;;-1:-1:-1;;;9453:153:253;;;;;;;:::i;:::-;9622:9;9617:743;9633:22;;;9617:743;;;9754:1;9701:41;9727:11;;9739:1;9727:14;;;;;;9701:41;-1:-1:-1;;;;;9701:55:253;;9676:148;;;;-1:-1:-1;;;9676:148:253;;;;;;;:::i;:::-;9839:37;9860:12;;9873:1;9860:15;;;;;;;;;;;;;;;;;;;;:::i;:::-;9839:20;:37::i;:::-;9935:118;;;;;;;;9980:12;;9993:1;9980:15;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;9935:118:253;;;;;10024:11;;10036:1;10024:14;;;;;;;;;;;;;;;;;;;;:::i;:::-;9935:118;;;;;;;;;;9891:25;:41;9917:11;;9929:1;9917:14;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;9891:41:253;;;;;;;;;;;;;;;;;-1:-1:-1;9891:41:253;:162;;;;-1:-1:-1;;;;;;9891:162:253;;;;;;;;;;;;;;:41;;;;-1:-1:-1;;;;9891:162:253;-1:-1:-1;;;9891:162:253;-1:-1:-1;9891:162:253;;;;;;;;;;;;;;;10148:12;10181:11;;10193:1;10181:14;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;10175:30:253;;:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10167:41;;10163:2;:45;10148:60;;10256:4;10222:15;:31;10238:11;;10250:1;10238:14;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;10222:31:253;;;;;;;;;;;;-1:-1:-1;10222:31:253;:38;10295:11;;10307:1;10295:14;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;10280:69:253;;10311:12;;10324:1;10311:15;;;;;;;;;;;;;;;;;;;;:::i;:::-;10328:11;;10340:1;10328:14;;;;;;;;;;;;;;;;;;;;:::i;:::-;10344:4;10280:69;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;9657:3:253;;9617:743;;;;9115:1251;;;;;;:::o;2861:432:234:-;2945:9;2940:347;2964:12;:19;2960:1;:23;2940:347;;;3083:1;-1:-1:-1;;;;;3029:56:234;:42;3055:12;3068:1;3055:15;;;;;;;3029:42;-1:-1:-1;;;;;3029:56:234;;;3004:158;;;;-1:-1:-1;;;3004:158:234;;;;;;;:::i;:::-;3184:21;:38;3206:12;3219:1;3206:15;;;;;;;;;;;;;;-1:-1:-1;;;;;3184:38:234;-1:-1:-1;;;;;3184:38:234;;;;;;;;;;;;;3177:45;;;;;-1:-1:-1;;;;;3177:45:234;;;;;3260:12;3273:1;3260:15;;;;;;;;;;;;;;-1:-1:-1;;;;;3242:34:234;;;;;;;;;;;2985:3;;2940:347;;2827:467:253;2908:28;2939:21;:19;:21::i;:::-;2908:52;;3016:20;-1:-1:-1;;;;;2991:45:253;:21;-1:-1:-1;;;;;2991:45:253;;;2970:132;;;;-1:-1:-1;;;2970:132:253;;;;;;;:::i;:::-;3113:43;3134:21;3113:20;:43::i;:::-;3167:16;:40;;-1:-1:-1;;;;;;3167:40:253;-1:-1:-1;;;;;3167:40:253;;;;;3223:64;;;;;;3243:20;;3167:40;;3223:64;:::i;:::-;;;;;;;;2827:467;;:::o;2690:175:442:-;2748:7;2779:5;;;2802:6;;;;2794:46;;;;-1:-1:-1;;;2794:46:442;;;;;;;:::i;3381:272:234:-;3505:62;;-1:-1:-1;;;3505:62:234;;-1:-1:-1;;;;;3505:49:234;;;;;:62;;3555:11;;3505:62;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3484:162;;;;-1:-1:-1;;;3484:162:234;;;;;;;:::i;1960:805:253:-;2110:25;2227:20;2250:31;2270:10;2250:19;:31::i;:::-;2227:54;;2315:1;2299:13;:17;2291:75;;;;-1:-1:-1;;;2291:75:253;;;;;;;:::i;:::-;2377:21;2401:32;2421:11;2401:19;:32::i;:::-;2377:56;;2468:1;2451:14;:18;2443:77;;;;-1:-1:-1;;;2443:77:253;;;;;;;:::i;:::-;2550:208;2590:10;2618:16;2660:13;2692:11;2729:14;2550:22;:208::i;:::-;2531:227;1960:805;-1:-1:-1;;;;;;1960:805:253:o;5647:905:265:-;5822:14;5849:28;5879:34;5951:20;-1:-1:-1;;;;;5917:85:265;;6003:11;6016:7;5917:107;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5917:107:265;;;;;;;;;;;;:::i;:::-;5848:176;;;;6064:1;6043:11;:18;:22;6035:72;;;;-1:-1:-1;;;6035:72:265;;;;;;;:::i;:::-;6160:17;:24;6138:11;:18;:46;6117:138;;;;-1:-1:-1;;;6117:138:265;;;;;;;:::i;:::-;6271:9;6266:280;6290:11;:18;6286:1;:22;6266:280;;;6329:23;6355:129;6389:11;6401:1;6389:14;;;;;;;;;;;;;;6421:17;6439:1;6421:20;;;;;;;;;;;;;;6459:11;6355:16;:129::i;:::-;6329:155;-1:-1:-1;6508:27:265;:6;6329:155;6508:10;:27::i;:::-;6499:36;-1:-1:-1;;6310:3:265;;6266:280;;;;5647:905;;;;;;;;:::o;767:255:360:-;920:26;965:50;1004:10;965:34;:18;988:10;965:22;:34::i;:::-;:38;;:50::i;:::-;958:57;767:255;-1:-1:-1;;;;767:255:360:o;11097:304:253:-;11174:13;11191:17;11235:11;-1:-1:-1;;;;;11214:62:253;;:64;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11171:107;;;;;;;11305:1;11296:6;:10;11288:61;;;;-1:-1:-1;;;11288:61:253;;;;;;;:::i;:::-;11359:35;11384:9;11359:24;:35::i;7817:539::-;7888:12;7930:14;:12;:14::i;:::-;-1:-1:-1;;;;;7916:28:253;:10;-1:-1:-1;;;;;7916:28:253;;7912:82;;;-1:-1:-1;1168:6:253;7960:23;;7912:82;8004:18;8025:37;8051:10;8025:25;:37::i;:::-;8004:58;-1:-1:-1;;;;;;8080:24:253;;8072:82;;;;-1:-1:-1;;;8072:82:253;;;;;;;:::i;:::-;8165:21;8248:10;-1:-1:-1;;;;;8227:48:253;;:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;8196:81:253;;-1:-1:-1;8196:81:253;;-1:-1:-1;8287:39:253;;-1:-1:-1;8196:81:253;;-1:-1:-1;8287:24:253;:39::i;:::-;8337:12;;7817:539;;;:::o;3402:2066::-;3618:25;3655:28;3686:36;3711:10;3686:24;:36::i;:::-;3655:67;;3732:29;3764:37;3789:11;3764:24;:37::i;:::-;3732:69;;3811:21;3835:31;3855:10;3835:19;:31::i;:::-;3811:55;;3876:22;3901:32;3921:11;3901:19;:32::i;:::-;3876:57;;4021:19;3999:41;;;;;;;;:18;:41;;;;;;;;;3995:330;;;4079:235;4136:16;4174:13;4209:14;4245;4281:15;4079:35;:235::i;:::-;4056:258;;;;;;;;3995:330;4338:20;4362:34;4436:21;:19;:21::i;:::-;-1:-1:-1;;;;;4402:81:253;;:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4335:150;;;;;;;4519:1;4503:13;:17;4495:69;;;;-1:-1:-1;;;4495:69:253;;;;;;;:::i;:::-;4574:52;4599:26;4574:24;:52::i;:::-;4738:13;4716:18;:35;;;;;;;;;4712:381;;;4790:292;4860:16;4898:13;4933:14;4969;5005:15;5050:13;4790:48;:292::i;:::-;4767:315;;;;;;;;;;4712:381;5197:264;5263:16;5297:13;5328:14;5360;5392:15;5433:13;5197:48;:264::i;:::-;5178:283;;;;;;;;3402:2066;;;;;;;;:::o;3538:215:442:-;3596:7;3619:6;3615:20;;-1:-1:-1;3634:1:442;3627:8;;3615:20;3657:5;;;3661:1;3657;:5;:1;3680:5;;;;;:10;3672:56;;;;-1:-1:-1;;;3672:56:442;;;;;;;:::i;4217:150::-;4275:7;4306:1;4302;:5;4294:44;;;;-1:-1:-1;;;4294:44:442;;;;;;;:::i;:::-;4359:1;4355;:5;;;;;;;4217:150;-1:-1:-1;;;4217:150:442:o;8449:246:253:-;8573:44;8593:23;:21;:23::i;:::-;8573:15;;:19;:44::i;:::-;8553:16;:64;;8532:156;;;;-1:-1:-1;;;8532:156:253;;;;;;;:::i;6405:521::-;6642:25;6791:128;6870:35;:14;6889:15;6870:18;:35::i;:::-;6791:57;6832:15;6791:36;:16;6812:14;6791:20;:36::i;:::-;:40;;:57::i;5585:704::-;5867:25;;6094:92;1168:6;6094:56;6135:14;6094:36;:16;6115:14;6094:20;:36::i;:92::-;6067:119;-1:-1:-1;6204:78:253;6266:15;6204:57;6246:14;6204:57;6067:119;6225:15;6204:20;:37::i;:78::-;6197:85;5585:704;-1:-1:-1;;;;;;;;5585:704:253:o;7043:703::-;7325:25;;7551:99;7626:14;7551:57;7592:15;7551:36;:16;7572:14;7551:20;:36::i;:99::-;7524:126;-1:-1:-1;7668:71:253;7723:15;7668:50;7703:14;7668:50;7524:126;1168:6;7668:20;:30::i;3136:155:442:-;3194:7;3226:1;3221;:6;;3213:49;;;;-1:-1:-1;;;3213:49:442;;;;;;;:::i;:::-;-1:-1:-1;3279:5:442;;;3136:155::o;5:130:-1:-;72:20;;97:33;72:20;97:33;:::i;142:134::-;220:13;;238:33;220:13;238:33;:::i;301:352::-;;;431:3;424:4;416:6;412:17;408:27;398:2;;449:1;446;439:12;398:2;-1:-1;469:20;;-1:-1;;;;;498:30;;495:2;;;541:1;538;531:12;495:2;575:4;567:6;563:17;551:29;;626:3;618:4;610:6;606:17;596:8;592:32;589:41;586:2;;;643:1;640;633:12;586:2;391:262;;;;;:::o;679:707::-;;796:3;789:4;781:6;777:17;773:27;763:2;;814:1;811;804:12;763:2;851:6;838:20;873:80;888:64;945:6;888:64;:::i;:::-;873:80;:::i;:::-;864:89;;970:5;995:6;988:5;981:21;1025:4;1017:6;1013:17;1003:27;;1047:4;1042:3;1038:14;1031:21;;1100:6;1147:3;1139:4;1131:6;1127:17;1122:3;1118:27;1115:36;1112:2;;;1164:1;1161;1154:12;1112:2;1189:1;1174:206;1199:6;1196:1;1193:13;1174:206;;;1257:3;1279:37;1312:3;1300:10;1279:37;:::i;:::-;1267:50;;-1:-1;1340:4;1331:14;;;;1359;;;;;1221:1;1214:9;1174:206;;;1178:14;756:630;;;;;;;:::o;1412:722::-;;1540:3;1533:4;1525:6;1521:17;1517:27;1507:2;;1558:1;1555;1548:12;1507:2;1588:6;1582:13;1610:80;1625:64;1682:6;1625:64;:::i;1610:80::-;1601:89;;1707:5;1732:6;1725:5;1718:21;1762:4;1754:6;1750:17;1740:27;;1784:4;1779:3;1775:14;1768:21;;1837:6;1884:3;1876:4;1868:6;1864:17;1859:3;1855:27;1852:36;1849:2;;;1901:1;1898;1891:12;1849:2;1926:1;1911:217;1936:6;1933:1;1930:13;1911:217;;;1994:3;2016:48;2060:3;2048:10;2016:48;:::i;:::-;2004:61;;-1:-1;2088:4;2079:14;;;;2107;;;;;1958:1;1951:9;1911:217;;2584:707;;2701:3;2694:4;2686:6;2682:17;2678:27;2668:2;;2719:1;2716;2709:12;2668:2;2756:6;2743:20;2778:80;2793:64;2850:6;2793:64;:::i;2778:80::-;2769:89;;2875:5;2900:6;2893:5;2886:21;2930:4;2922:6;2918:17;2908:27;;2952:4;2947:3;2943:14;2936:21;;3005:6;3052:3;3044:4;3036:6;3032:17;3027:3;3023:27;3020:36;3017:2;;;3069:1;3066;3059:12;3017:2;3094:1;3079:206;3104:6;3101:1;3098:13;3079:206;;;3162:3;3184:37;3217:3;3205:10;3184:37;:::i;:::-;3172:50;;-1:-1;3245:4;3236:14;;;;3264;;;;;3126:1;3119:9;3079:206;;3317:722;;3445:3;3438:4;3430:6;3426:17;3422:27;3412:2;;3463:1;3460;3453:12;3412:2;3493:6;3487:13;3515:80;3530:64;3587:6;3530:64;:::i;3515:80::-;3506:89;;3612:5;3637:6;3630:5;3623:21;3667:4;3659:6;3655:17;3645:27;;3689:4;3684:3;3680:14;3673:21;;3742:6;3789:3;3781:4;3773:6;3769:17;3764:3;3760:27;3757:36;3754:2;;;3806:1;3803;3796:12;3754:2;3831:1;3816:217;3841:6;3838:1;3835:13;3816:217;;;3899:3;3921:48;3965:3;3953:10;3921:48;:::i;:::-;3909:61;;-1:-1;3993:4;3984:14;;;;4012;;;;;3863:1;3856:9;3816:217;;4047:128;4122:13;;4140:30;4122:13;4140:30;:::i;4182:160::-;4264:20;;4289:48;4264:20;4289:48;:::i;4349:132::-;4426:13;;4444:32;4426:13;4444:32;:::i;4488:130::-;4555:20;;4580:33;4555:20;4580:33;:::i;4766:132::-;4843:13;;4861:32;4843:13;4861:32;:::i;4905:130::-;4981:13;;4999:31;4981:13;4999:31;:::i;5042:241::-;;5146:2;5134:9;5125:7;5121:23;5117:32;5114:2;;;5162:1;5159;5152:12;5114:2;5197:1;5214:53;5259:7;5239:9;5214:53;:::i;5290:263::-;;5405:2;5393:9;5384:7;5380:23;5376:32;5373:2;;;5421:1;5418;5411:12;5373:2;5456:1;5473:64;5529:7;5509:9;5473:64;:::i;5560:491::-;;;;5698:2;5686:9;5677:7;5673:23;5669:32;5666:2;;;5714:1;5711;5704:12;5666:2;5749:1;5766:53;5811:7;5791:9;5766:53;:::i;:::-;5756:63;;5728:97;5856:2;5874:53;5919:7;5910:6;5899:9;5895:22;5874:53;:::i;:::-;5864:63;;5835:98;5964:2;5982:53;6027:7;6018:6;6007:9;6003:22;5982:53;:::i;:::-;5972:63;;5943:98;5660:391;;;;;:::o;6058:397::-;;;6197:2;6185:9;6176:7;6172:23;6168:32;6165:2;;;6213:1;6210;6203:12;6165:2;6248:31;;-1:-1;;;;;6288:30;;6285:2;;;6331:1;6328;6321:12;6285:2;6359:80;6431:7;6422:6;6411:9;6407:22;6359:80;:::i;:::-;6341:98;;;;6227:218;6159:296;;;;;:::o;6462:678::-;;;;;6653:2;6641:9;6632:7;6628:23;6624:32;6621:2;;;6669:1;6666;6659:12;6621:2;6704:31;;-1:-1;;;;;6744:30;;6741:2;;;6787:1;6784;6777:12;6741:2;6815:80;6887:7;6878:6;6867:9;6863:22;6815:80;:::i;:::-;6797:98;;;;6683:218;6960:2;6949:9;6945:18;6932:32;-1:-1;;;;;6976:6;6973:30;6970:2;;;7016:1;7013;7006:12;6970:2;7044:80;7116:7;7107:6;7096:9;7092:22;7044:80;:::i;:::-;6615:525;;;;-1:-1;7026:98;-1:-1;;;;6615:525::o;7147:989::-;;;;;;;7405:2;7393:9;7384:7;7380:23;7376:32;7373:2;;;7421:1;7418;7411:12;7373:2;7456:31;;-1:-1;;;;;7496:30;;7493:2;;;7539:1;7536;7529:12;7493:2;7567:80;7639:7;7630:6;7619:9;7615:22;7567:80;:::i;:::-;7549:98;;;;7435:218;7712:2;7701:9;7697:18;7684:32;-1:-1;;;;;7728:6;7725:30;7722:2;;;7768:1;7765;7758:12;7722:2;7796:80;7868:7;7859:6;7848:9;7844:22;7796:80;:::i;:::-;7778:98;;;;7663:219;7941:2;7930:9;7926:18;7913:32;-1:-1;;;;;7957:6;7954:30;7951:2;;;7997:1;7994;7987:12;7951:2;8025:95;8112:7;8103:6;8092:9;8088:22;8025:95;:::i;:::-;8007:113;;;;7892:234;7367:769;;;;;;;;:::o;8143:657::-;;;8325:2;8313:9;8304:7;8300:23;8296:32;8293:2;;;8341:1;8338;8331:12;8293:2;8376:24;;-1:-1;;;;;8409:30;;8406:2;;;8452:1;8449;8442:12;8406:2;8472:89;8553:7;8544:6;8533:9;8529:22;8472:89;:::i;:::-;8462:99;;8355:212;8619:2;8608:9;8604:18;8598:25;-1:-1;;;;;8635:6;8632:30;8629:2;;;8675:1;8672;8665:12;8629:2;8695:89;8776:7;8767:6;8756:9;8752:22;8695:89;:::i;:::-;8685:99;;8577:213;8287:513;;;;;:::o;8807:763::-;;;;8995:2;8983:9;8974:7;8970:23;8966:32;8963:2;;;9011:1;9008;9001:12;8963:2;9046:31;;-1:-1;;;;;9086:30;;9083:2;;;9129:1;9126;9119:12;9083:2;9149:78;9219:7;9210:6;9199:9;9195:22;9149:78;:::i;:::-;9139:88;;9025:208;9292:2;9281:9;9277:18;9264:32;-1:-1;;;;;9308:6;9305:30;9302:2;;;9348:1;9345;9338:12;9302:2;9368:78;9438:7;9429:6;9418:9;9414:22;9368:78;:::i;9577:257::-;;9689:2;9677:9;9668:7;9664:23;9660:32;9657:2;;;9705:1;9702;9695:12;9657:2;9740:1;9757:61;9810:7;9790:9;9757:61;:::i;9841:271::-;;9960:2;9948:9;9939:7;9935:23;9931:32;9928:2;;;9976:1;9973;9966:12;9928:2;10011:1;10028:68;10088:7;10068:9;10028:68;:::i;10119:803::-;;;;;;10299:3;10287:9;10278:7;10274:23;10270:33;10267:2;;;10316:1;10313;10306:12;10267:2;10351:1;10368:63;10423:7;10403:9;10368:63;:::i;:::-;10358:73;;10330:107;10468:2;10486:63;10541:7;10532:6;10521:9;10517:22;10486:63;:::i;:::-;10476:73;;10447:108;10586:2;10604:64;10660:7;10651:6;10640:9;10636:22;10604:64;:::i;:::-;10594:74;;10565:109;10705:2;10723:64;10779:7;10770:6;10759:9;10755:22;10723:64;:::i;:::-;10713:74;;10684:109;10824:3;10843:63;10898:7;10889:6;10878:9;10874:22;10843:63;:::i;:::-;10833:73;;10803:109;10261:661;;;;;;;;:::o;10929:259::-;;11042:2;11030:9;11021:7;11017:23;11013:32;11010:2;;;11058:1;11055;11048:12;11010:2;11093:1;11110:62;11164:7;11144:9;11110:62;:::i;11195:113::-;11278:24;11296:5;11278:24;:::i;:::-;11273:3;11266:37;11260:48;;:::o;11315:104::-;11392:21;11407:5;11392:21;:::i;11426:152::-;11522:50;11566:5;11522:50;:::i;11586:377::-;;11746:67;11810:2;11805:3;11746:67;:::i;:::-;11846:34;11826:55;;-1:-1;;;11910:2;11901:12;;11894:32;11954:2;11945:12;;11732:231;-1:-1;;11732:231::o;11972:391::-;;12132:67;12196:2;12191:3;12132:67;:::i;:::-;12232:34;12212:55;;-1:-1;;;12296:2;12287:12;;12280:46;12354:2;12345:12;;12118:245;-1:-1;;12118:245::o;12372:382::-;;12532:67;12596:2;12591:3;12532:67;:::i;:::-;12632:34;12612:55;;-1:-1;;;12696:2;12687:12;;12680:37;12745:2;12736:12;;12518:236;-1:-1;;12518:236::o;12763:447::-;;12923:67;12987:2;12982:3;12923:67;:::i;:::-;13023:34;13003:55;;13092:34;13087:2;13078:12;;13071:56;-1:-1;;;13156:2;13147:12;;13140:33;13201:2;13192:12;;12909:301;-1:-1;;12909:301::o;13219:327::-;;13379:67;13443:2;13438:3;13379:67;:::i;:::-;13479:29;13459:50;;13537:2;13528:12;;13365:181;-1:-1;;13365:181::o;13555:384::-;;13715:67;13779:2;13774:3;13715:67;:::i;:::-;13815:34;13795:55;;-1:-1;;;13879:2;13870:12;;13863:39;13930:2;13921:12;;13701:238;-1:-1;;13701:238::o;13948:330::-;;14108:67;14172:2;14167:3;14108:67;:::i;:::-;14208:32;14188:53;;14269:2;14260:12;;14094:184;-1:-1;;14094:184::o;14287:382::-;;14447:67;14511:2;14506:3;14447:67;:::i;:::-;14547:34;14527:55;;-1:-1;;;14611:2;14602:12;;14595:37;14660:2;14651:12;;14433:236;-1:-1;;14433:236::o;14678:326::-;;14838:67;14902:2;14897:3;14838:67;:::i;:::-;14938:28;14918:49;;14995:2;14986:12;;14824:180;-1:-1;;14824:180::o;15013:376::-;;15173:67;15237:2;15232:3;15173:67;:::i;:::-;15273:34;15253:55;;-1:-1;;;15337:2;15328:12;;15321:31;15380:2;15371:12;;15159:230;-1:-1;;15159:230::o;15398:382::-;;15558:67;15622:2;15617:3;15558:67;:::i;:::-;15658:34;15638:55;;-1:-1;;;15722:2;15713:12;;15706:37;15771:2;15762:12;;15544:236;-1:-1;;15544:236::o;15789:440::-;;15949:67;16013:2;16008:3;15949:67;:::i;:::-;16049:34;16029:55;;16118:34;16113:2;16104:12;;16097:56;-1:-1;;;16182:2;16173:12;;16166:26;16220:2;16211:12;;15935:294;-1:-1;;15935:294::o;16238:390::-;;16398:67;16462:2;16457:3;16398:67;:::i;:::-;16498:34;16478:55;;-1:-1;;;16562:2;16553:12;;16546:45;16619:2;16610:12;;16384:244;-1:-1;;16384:244::o;16637:380::-;;16797:67;16861:2;16856:3;16797:67;:::i;:::-;16897:34;16877:55;;-1:-1;;;16961:2;16952:12;;16945:35;17008:2;16999:12;;16783:234;-1:-1;;16783:234::o;17026:374::-;;17186:67;17250:2;17245:3;17186:67;:::i;:::-;17286:34;17266:55;;-1:-1;;;17350:2;17341:12;;17334:29;17391:2;17382:12;;17172:228;-1:-1;;17172:228::o;17409:382::-;;17569:67;17633:2;17628:3;17569:67;:::i;:::-;17669:34;17649:55;;-1:-1;;;17733:2;17724:12;;17717:37;17782:2;17773:12;;17555:236;-1:-1;;17555:236::o;17800:370::-;;17960:67;18024:2;18019:3;17960:67;:::i;:::-;18060:34;18040:55;;-1:-1;;;18124:2;18115:12;;18108:25;18161:2;18152:12;;17946:224;-1:-1;;17946:224::o;18179:331::-;;18339:67;18403:2;18398:3;18339:67;:::i;:::-;18439:33;18419:54;;18501:2;18492:12;;18325:185;-1:-1;;18325:185::o;18519:383::-;;18679:67;18743:2;18738:3;18679:67;:::i;:::-;18779:34;18759:55;;-1:-1;;;18843:2;18834:12;;18827:38;18893:2;18884:12;;18665:237;-1:-1;;18665:237::o;18911:380::-;;19071:67;19135:2;19130:3;19071:67;:::i;:::-;19171:34;19151:55;;-1:-1;;;19235:2;19226:12;;19219:35;19282:2;19273:12;;19057:234;-1:-1;;19057:234::o;19300:375::-;;19460:67;19524:2;19519:3;19460:67;:::i;:::-;19560:34;19540:55;;-1:-1;;;19624:2;19615:12;;19608:30;19666:2;19657:12;;19446:229;-1:-1;;19446:229::o;19684:390::-;;19844:67;19908:2;19903:3;19844:67;:::i;:::-;19944:34;19924:55;;-1:-1;;;20008:2;19999:12;;19992:45;20065:2;20056:12;;19830:244;-1:-1;;19830:244::o;20083:441::-;;20243:67;20307:2;20302:3;20243:67;:::i;:::-;20343:34;20323:55;;20412:34;20407:2;20398:12;;20391:56;-1:-1;;;20476:2;20467:12;;20460:27;20515:2;20506:12;;20229:295;-1:-1;;20229:295::o;20533:377::-;;20693:67;20757:2;20752:3;20693:67;:::i;:::-;20793:34;20773:55;;-1:-1;;;20857:2;20848:12;;20841:32;20901:2;20892:12;;20679:231;-1:-1;;20679:231::o;20919:442::-;;21079:67;21143:2;21138:3;21079:67;:::i;:::-;21179:34;21159:55;;21248:34;21243:2;21234:12;;21227:56;-1:-1;;;21312:2;21303:12;;21296:28;21352:2;21343:12;;21065:296;-1:-1;;21065:296::o;21370:388::-;;21530:67;21594:2;21589:3;21530:67;:::i;:::-;21630:34;21610:55;;-1:-1;;;21694:2;21685:12;;21678:43;21749:2;21740:12;;21516:242;-1:-1;;21516:242::o;21767:371::-;;21927:67;21991:2;21986:3;21927:67;:::i;:::-;22027:34;22007:55;;-1:-1;;;22091:2;22082:12;;22075:26;22129:2;22120:12;;21913:225;-1:-1;;21913:225::o;22146:113::-;22229:24;22247:5;22229:24;:::i;22266:222::-;22393:2;22378:18;;22407:71;22382:9;22451:6;22407:71;:::i;22495:333::-;22650:2;22635:18;;22664:71;22639:9;22708:6;22664:71;:::i;:::-;22746:72;22814:2;22803:9;22799:18;22790:6;22746:72;:::i;22835:470::-;23031:2;23016:18;;23045:71;23020:9;23089:6;23045:71;:::i;:::-;23127:85;23208:2;23197:9;23193:18;23184:6;23127:85;:::i;:::-;23223:72;23291:2;23280:9;23276:18;23267:6;23223:72;:::i;23312:333::-;23467:2;23452:18;;23481:71;23456:9;23525:6;23481:71;:::i;:::-;23563:72;23631:2;23620:9;23616:18;23607:6;23563:72;:::i;23652:210::-;23773:2;23758:18;;23787:65;23762:9;23825:6;23787:65;:::i;23869:248::-;24009:2;23994:18;;24023:84;23998:9;24080:6;24023:84;:::i;24124:416::-;24324:2;24338:47;;;24309:18;;24399:131;24309:18;24399:131;:::i;24547:416::-;24747:2;24761:47;;;24732:18;;24822:131;24732:18;24822:131;:::i;24970:416::-;25170:2;25184:47;;;25155:18;;25245:131;25155:18;25245:131;:::i;25393:416::-;25593:2;25607:47;;;25578:18;;25668:131;25578:18;25668:131;:::i;25816:416::-;26016:2;26030:47;;;26001:18;;26091:131;26001:18;26091:131;:::i;26239:416::-;26439:2;26453:47;;;26424:18;;26514:131;26424:18;26514:131;:::i;26662:416::-;26862:2;26876:47;;;26847:18;;26937:131;26847:18;26937:131;:::i;27085:416::-;27285:2;27299:47;;;27270:18;;27360:131;27270:18;27360:131;:::i;27508:416::-;27708:2;27722:47;;;27693:18;;27783:131;27693:18;27783:131;:::i;27931:416::-;28131:2;28145:47;;;28116:18;;28206:131;28116:18;28206:131;:::i;28354:416::-;28554:2;28568:47;;;28539:18;;28629:131;28539:18;28629:131;:::i;28777:416::-;28977:2;28991:47;;;28962:18;;29052:131;28962:18;29052:131;:::i;29200:416::-;29400:2;29414:47;;;29385:18;;29475:131;29385:18;29475:131;:::i;29623:416::-;29823:2;29837:47;;;29808:18;;29898:131;29808:18;29898:131;:::i;30046:416::-;30246:2;30260:47;;;30231:18;;30321:131;30231:18;30321:131;:::i;30469:416::-;30669:2;30683:47;;;30654:18;;30744:131;30654:18;30744:131;:::i;30892:416::-;31092:2;31106:47;;;31077:18;;31167:131;31077:18;31167:131;:::i;31315:416::-;31515:2;31529:47;;;31500:18;;31590:131;31500:18;31590:131;:::i;31738:416::-;31938:2;31952:47;;;31923:18;;32013:131;31923:18;32013:131;:::i;32161:416::-;32361:2;32375:47;;;32346:18;;32436:131;32346:18;32436:131;:::i;32584:416::-;32784:2;32798:47;;;32769:18;;32859:131;32769:18;32859:131;:::i;33007:416::-;33207:2;33221:47;;;33192:18;;33282:131;33192:18;33282:131;:::i;33430:416::-;33630:2;33644:47;;;33615:18;;33705:131;33615:18;33705:131;:::i;33853:416::-;34053:2;34067:47;;;34038:18;;34128:131;34038:18;34128:131;:::i;34276:416::-;34476:2;34490:47;;;34461:18;;34551:131;34461:18;34551:131;:::i;34699:416::-;34899:2;34913:47;;;34884:18;;34974:131;34884:18;34974:131;:::i;35122:416::-;35322:2;35336:47;;;35307:18;;35397:131;35307:18;35397:131;:::i;35545:222::-;35672:2;35657:18;;35686:71;35661:9;35730:6;35686:71;:::i;35774:256::-;35836:2;35830:9;35862:17;;;-1:-1;;;;;35922:34;;35958:22;;;35919:62;35916:2;;;35994:1;35991;35984:12;35916:2;36010;36003:22;35814:216;;-1:-1;35814:216::o;36037:304::-;;-1:-1;;;;;36188:6;36185:30;36182:2;;;36228:1;36225;36218:12;36182:2;-1:-1;36263:4;36251:17;;;36316:15;;36119:222::o;36660:163::-;36763:19;;;36812:4;36803:14;;36756:67::o;36831:91::-;;36893:24;36911:5;36893:24;:::i;36929:85::-;36995:13;36988:21;;36971:43::o;37021:136::-;37098:5;37104:48;37098:5;37104:48;:::i;37164:71::-;37225:5;37208:27::o;37242:121::-;-1:-1;;;;;37304:54;;37287:76::o;37449:81::-;37520:4;37509:16;;37492:38::o;37537:100::-;37609:22;37598:34;;37581:56::o;37644:136::-;;37736:39;37769:5;37736:39;:::i;37787:106::-;37871:1;37864:5;37861:12;37851:2;;37877:9;37900:117;37969:24;37987:5;37969:24;:::i;:::-;37962:5;37959:35;37949:2;;38008:1;38005;37998:12;38024:111;38090:21;38105:5;38090:21;:::i;38142:109::-;38226:1;38219:5;38216:12;38206:2;;38242:1;38239;38232:12;38258:115;38326:23;38343:5;38326:23;:::i;38504:113::-;38571:22;38587:5;38571:22;:::i;38624:115::-;38692:23;38709:5;38692:23;:::i", "linkReferences": {}, "immutableReferences": { "66628": [ { "start": 2021, "length": 32 } ], "66630": [ { "start": 905, "length": 32 } ], "78707": [ { "start": 1333, "length": 32 }, { "start": 1603, "length": 32 } ] } }, "methodIdentifiers": { "addDerivatives(address[],address[])": "39cbb63c", "addPrimitives(address[],address[],uint8[])": "cf0399c8", "calcCanonicalAssetValue(address,uint256,address)": "4c67e106", "calcCanonicalAssetsTotalValue(address[],uint256[],address)": "ae6f52ad", "getAggregatorForPrimitive(address)": "e2dd0978", "getEthUsdAggregator()": "74626f87", "getFundDeployer()": "97c0ac87", "getOwner()": "893d20e8", "getPriceFeedForDerivative(address)": "68e81c6d", "getRateAssetForPrimitive(address)": "e35e318e", "getStaleRateThreshold()": "b54fbdaa", "getUnitForPrimitive(address)": "787f2568", "getWethToken()": "4c252f91", "isSupportedAsset(address)": "9be918e6", "isSupportedDerivativeAsset(address)": "64b01dc1", "isSupportedPrimitiveAsset(address)": "c496f8e8", "removeDerivatives(address[])": "8f72b136", "removePrimitives(address[])": "e106264f", "setEthUsdAggregator(address)": "a98acadc", "updateDerivatives(address[],address[])": "b3d3af3b", "updatePrimitives(address[],address[],uint8[])": "6d3b9410" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_fundDeployer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_wethToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_chainlinkStaleRateThreshold\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"derivative\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"priceFeed\",\"type\":\"address\"}],\"name\":\"DerivativeAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"derivative\",\"type\":\"address\"}],\"name\":\"DerivativeRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"prevEthUsdAggregator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"nextEthUsdAggregator\",\"type\":\"address\"}],\"name\":\"EthUsdAggregatorSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"primitive\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"aggregator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"enum ChainlinkPriceFeedMixin.RateAsset\",\"name\":\"rateAsset\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"unit\",\"type\":\"uint256\"}],\"name\":\"PrimitiveAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"primitive\",\"type\":\"address\"}],\"name\":\"PrimitiveRemoved\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_derivatives\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"_priceFeeds\",\"type\":\"address[]\"}],\"name\":\"addDerivatives\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_primitives\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"_aggregators\",\"type\":\"address[]\"},{\"internalType\":\"enum ChainlinkPriceFeedMixin.RateAsset[]\",\"name\":\"_rateAssets\",\"type\":\"uint8[]\"}],\"name\":\"addPrimitives\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_baseAsset\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"_quoteAsset\",\"type\":\"address\"}],\"name\":\"calcCanonicalAssetValue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"value_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_baseAssets\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"_amounts\",\"type\":\"uint256[]\"},{\"internalType\":\"address\",\"name\":\"_quoteAsset\",\"type\":\"address\"}],\"name\":\"calcCanonicalAssetsTotalValue\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"value_\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_primitive\",\"type\":\"address\"}],\"name\":\"getAggregatorForPrimitive\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"aggregator_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getEthUsdAggregator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"ethUsdAggregator_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFundDeployer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"fundDeployer_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_derivative\",\"type\":\"address\"}],\"name\":\"getPriceFeedForDerivative\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"priceFeed_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_primitive\",\"type\":\"address\"}],\"name\":\"getRateAssetForPrimitive\",\"outputs\":[{\"internalType\":\"enum ChainlinkPriceFeedMixin.RateAsset\",\"name\":\"rateAsset_\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getStaleRateThreshold\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"staleRateThreshold_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_primitive\",\"type\":\"address\"}],\"name\":\"getUnitForPrimitive\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"unit_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getWethToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"wethToken_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"}],\"name\":\"isSupportedAsset\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isSupported_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"}],\"name\":\"isSupportedDerivativeAsset\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isSupported_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"}],\"name\":\"isSupportedPrimitiveAsset\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isSupported_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_derivatives\",\"type\":\"address[]\"}],\"name\":\"removeDerivatives\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_primitives\",\"type\":\"address[]\"}],\"name\":\"removePrimitives\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nextEthUsdAggregator\",\"type\":\"address\"}],\"name\":\"setEthUsdAggregator\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_derivatives\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"_priceFeeds\",\"type\":\"address[]\"}],\"name\":\"updateDerivatives\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_primitives\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"_aggregators\",\"type\":\"address[]\"},{\"internalType\":\"enum ChainlinkPriceFeedMixin.RateAsset[]\",\"name\":\"_rateAssets\",\"type\":\"uint8[]\"}],\"name\":\"updatePrimitives\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"addDerivatives(address[],address[])\":{\"params\":{\"_derivatives\":\"The derivatives to add\",\"_priceFeeds\":\"The ordered price feeds corresponding to the list of _derivatives\"}},\"addPrimitives(address[],address[],uint8[])\":{\"params\":{\"_aggregators\":\"The ordered aggregators corresponding to the list of _primitives\",\"_primitives\":\"The primitives to add\",\"_rateAssets\":\"The ordered rate assets corresponding to the list of _primitives\"}},\"calcCanonicalAssetValue(address,uint256,address)\":{\"details\":\"Does not alter protocol state, but not a view because calls to price feeds can potentially update third party state. See also __calcPrimitiveToDerivativeValue() for important notes regarding a derivative _quoteAsset.\",\"params\":{\"_amount\":\"The amount of the _baseAsset to convert\",\"_baseAsset\":\"The asset from which to convert\",\"_quoteAsset\":\"The asset to which to convert\"},\"returns\":{\"value_\":\"The equivalent quantity in the _quoteAsset\"}},\"calcCanonicalAssetsTotalValue(address[],uint256[],address)\":{\"details\":\"Does not alter protocol state, but not a view because calls to price feeds can potentially update third party state. Does not handle a derivative quote asset.\",\"params\":{\"_amounts\":\"The amounts of the _baseAssets to convert\",\"_baseAssets\":\"The assets to convert\",\"_quoteAsset\":\"The asset to which to convert\"},\"returns\":{\"value_\":\"The sum value of _baseAssets, denominated in the _quoteAsset\"}},\"getAggregatorForPrimitive(address)\":{\"params\":{\"_primitive\":\"The primitive asset for which to get the aggregator value\"},\"returns\":{\"aggregator_\":\"The aggregator address\"}},\"getEthUsdAggregator()\":{\"returns\":{\"ethUsdAggregator_\":\"The `ethUsdAggregator` variable value\"}},\"getFundDeployer()\":{\"returns\":{\"fundDeployer_\":\"The `FUND_DEPLOYER` variable value\"}},\"getOwner()\":{\"details\":\"Ownership is deferred to the owner of the FundDeployer contract\",\"returns\":{\"owner_\":\"The owner\"}},\"getPriceFeedForDerivative(address)\":{\"returns\":{\"priceFeed_\":\"The price feed contract address\"}},\"getRateAssetForPrimitive(address)\":{\"details\":\"This isn't strictly necessary as WETH_TOKEN will be undefined and thus the RateAsset will be the 0-position of the enum (i.e. ETH), but it makes the behavior more explicit\",\"returns\":{\"rateAsset_\":\"The rateAsset variable value\"}},\"getStaleRateThreshold()\":{\"returns\":{\"staleRateThreshold_\":\"The `STALE_RATE_THRESHOLD` value\"}},\"getUnitForPrimitive(address)\":{\"returns\":{\"unit_\":\"The unit variable value\"}},\"getWethToken()\":{\"returns\":{\"wethToken_\":\"The `WETH_TOKEN` variable value\"}},\"isSupportedAsset(address)\":{\"params\":{\"_asset\":\"The asset to check\"},\"returns\":{\"isSupported_\":\"True if the asset is a supported asset\"}},\"isSupportedDerivativeAsset(address)\":{\"params\":{\"_asset\":\"The asset to check\"},\"returns\":{\"isSupported_\":\"True if the asset is a supported derivative\"}},\"isSupportedPrimitiveAsset(address)\":{\"params\":{\"_asset\":\"The asset to check\"},\"returns\":{\"isSupported_\":\"True if the asset is a supported primitive\"}},\"removeDerivatives(address[])\":{\"params\":{\"_derivatives\":\"The derivatives to remove\"}},\"removePrimitives(address[])\":{\"params\":{\"_primitives\":\"The primitives to remove\"}},\"setEthUsdAggregator(address)\":{\"params\":{\"_nextEthUsdAggregator\":\"The `ehUsdAggregator` value to set\"}},\"updateDerivatives(address[],address[])\":{\"params\":{\"_derivatives\":\"The derivatives to update\",\"_priceFeeds\":\"The ordered price feeds corresponding to the list of _derivatives\"}},\"updatePrimitives(address[],address[],uint8[])\":{\"params\":{\"_aggregators\":\"The ordered aggregators corresponding to the list of _primitives\",\"_primitives\":\"The primitives to update\",\"_rateAssets\":\"The ordered rate assets corresponding to the list of _primitives\"}}},\"title\":\"ValueInterpreter Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"addDerivatives(address[],address[])\":{\"notice\":\"Adds a list of derivatives with the given price feed values\"},\"addPrimitives(address[],address[],uint8[])\":{\"notice\":\"Adds a list of primitives with the given aggregator and rateAsset values\"},\"calcCanonicalAssetValue(address,uint256,address)\":{\"notice\":\"Calculates the value of a given amount of one asset in terms of another asset\"},\"calcCanonicalAssetsTotalValue(address[],uint256[],address)\":{\"notice\":\"Calculates the total value of given amounts of assets in a single quote asset\"},\"getAggregatorForPrimitive(address)\":{\"notice\":\"Gets the aggregator for a primitive\"},\"getEthUsdAggregator()\":{\"notice\":\"Gets the `ethUsdAggregator` variable value\"},\"getFundDeployer()\":{\"notice\":\"Gets the `FUND_DEPLOYER` variable\"},\"getOwner()\":{\"notice\":\"Gets the owner of this contract\"},\"getPriceFeedForDerivative(address)\":{\"notice\":\"Gets the registered price feed for a given derivative\"},\"getRateAssetForPrimitive(address)\":{\"notice\":\"Gets the rateAsset variable value for a primitive\"},\"getStaleRateThreshold()\":{\"notice\":\"Gets the `STALE_RATE_THRESHOLD` variable value\"},\"getUnitForPrimitive(address)\":{\"notice\":\"Gets the unit variable value for a primitive\"},\"getWethToken()\":{\"notice\":\"Gets the `WETH_TOKEN` variable value\"},\"isSupportedAsset(address)\":{\"notice\":\"Checks whether an asset is a supported asset\"},\"isSupportedDerivativeAsset(address)\":{\"notice\":\"Checks whether an asset is a supported derivative\"},\"isSupportedPrimitiveAsset(address)\":{\"notice\":\"Checks whether an asset is a supported primitive\"},\"removeDerivatives(address[])\":{\"notice\":\"Removes a list of derivatives\"},\"removePrimitives(address[])\":{\"notice\":\"Removes a list of primitives from the feed\"},\"setEthUsdAggregator(address)\":{\"notice\":\"Sets the `ehUsdAggregator` variable value\"},\"updateDerivatives(address[],address[])\":{\"notice\":\"Updates a list of derivatives with the given price feed values\"},\"updatePrimitives(address[],address[],uint8[])\":{\"notice\":\"Updates a list of primitives with the given aggregator and rateAsset values\"}},\"notice\":\"Interprets price feeds to provide covert value between asset pairs\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/infrastructure/value-interpreter/ValueInterpreter.sol\":\"ValueInterpreter\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/infrastructure/price-feeds/derivatives/AggregatedDerivativePriceFeedMixin.sol\":{\"keccak256\":\"0x85d2ac39834dae7feb04f0e37317a38b8abeb0f950692fbc9d29078c52cd8d52\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://7bf8f1ce064d85a2812a944fc93068955b233924097f7f45898be3db826579d5\",\"dweb:/ipfs/Qme7f6AhxLVn32prM8fHaCvxtVi86A9KqFMqPA1s88kVYR\"]},\"contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol\":{\"keccak256\":\"0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e\",\"dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK\"]},\"contracts/release/infrastructure/price-feeds/primitives/ChainlinkPriceFeedMixin.sol\":{\"keccak256\":\"0x7fb0078e7387f07ff09958fe4e4e7b317e72c23884f61e8c133776cad522f8bb\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://e973f29ed0c3bf03e20154ab4b0cfc68c3a4372a52ec746f9d9f86697b30e977\",\"dweb:/ipfs/QmfMb7H1zNnj2hzmUr6742HmCTiNVuQ2PFjeR8q2M4Liyu\"]},\"contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol\":{\"keccak256\":\"0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965\",\"dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ\"]},\"contracts/release/infrastructure/value-interpreter/ValueInterpreter.sol\":{\"keccak256\":\"0x64565011785d0d29a75021cda34687cfbc0641094d6f2faf4d9c78c8cd9f0d1d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://03ea9b29a332436d18ca1a4df7e5cdf231d5142dfb916a39cb3a721342d54e0e\",\"dweb:/ipfs/QmcB8Z7A7QELAxg2FfJpD26k2bUhMNUT4wACMVKxuge3QS\"]},\"contracts/release/interfaces/IChainlinkAggregator.sol\":{\"keccak256\":\"0x8104db68d4edc00c86b29b366f4397cdbe7bd95bb9dc90f54140af4bae963788\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://4664240be22fe76bd4e84d1cbaace3998dbc96759a14345819a889f0c288d22e\",\"dweb:/ipfs/QmQ8fbA4tvXeCeaAFeS2JrLEQUPFeYrePAKoUywRtcicgA\"]},\"contracts/release/utils/FundDeployerOwnerMixin.sol\":{\"keccak256\":\"0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927\",\"dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM\"]},\"contracts/release/utils/MathHelpers.sol\":{\"keccak256\":\"0x8aef498ae98bfb40cd1df8c9ed652b4c092fbbe62d5a1fad522c53654523248e\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ed62789f6a8d5ca30a40c591f244b915e4711493a9e4b1b4d40ea2bc97b02a95\",\"dweb:/ipfs/QmWyXJ55arURtx9VMkUQokdsjk8tbgM2cC8rENFUMyz5D3\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_fundDeployer", "type": "address" }, { "internalType": "address", "name": "_wethToken", "type": "address" }, { "internalType": "uint256", "name": "_chainlinkStaleRateThreshold", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "derivative", "type": "address", "indexed": true }, { "internalType": "address", "name": "priceFeed", "type": "address", "indexed": false } ], "type": "event", "name": "DerivativeAdded", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "derivative", "type": "address", "indexed": true } ], "type": "event", "name": "DerivativeRemoved", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "prevEthUsdAggregator", "type": "address", "indexed": false }, { "internalType": "address", "name": "nextEthUsdAggregator", "type": "address", "indexed": false } ], "type": "event", "name": "EthUsdAggregatorSet", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "primitive", "type": "address", "indexed": true }, { "internalType": "address", "name": "aggregator", "type": "address", "indexed": false }, { "internalType": "enum ChainlinkPriceFeedMixin.RateAsset", "name": "rateAsset", "type": "uint8", "indexed": false }, { "internalType": "uint256", "name": "unit", "type": "uint256", "indexed": false } ], "type": "event", "name": "PrimitiveAdded", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "primitive", "type": "address", "indexed": true } ], "type": "event", "name": "PrimitiveRemoved", "anonymous": false }, { "inputs": [ { "internalType": "address[]", "name": "_derivatives", "type": "address[]" }, { "internalType": "address[]", "name": "_priceFeeds", "type": "address[]" } ], "stateMutability": "nonpayable", "type": "function", "name": "addDerivatives" }, { "inputs": [ { "internalType": "address[]", "name": "_primitives", "type": "address[]" }, { "internalType": "address[]", "name": "_aggregators", "type": "address[]" }, { "internalType": "enum ChainlinkPriceFeedMixin.RateAsset[]", "name": "_rateAssets", "type": "uint8[]" } ], "stateMutability": "nonpayable", "type": "function", "name": "addPrimitives" }, { "inputs": [ { "internalType": "address", "name": "_baseAsset", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" }, { "internalType": "address", "name": "_quoteAsset", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "calcCanonicalAssetValue", "outputs": [ { "internalType": "uint256", "name": "value_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address[]", "name": "_baseAssets", "type": "address[]" }, { "internalType": "uint256[]", "name": "_amounts", "type": "uint256[]" }, { "internalType": "address", "name": "_quoteAsset", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "calcCanonicalAssetsTotalValue", "outputs": [ { "internalType": "uint256", "name": "value_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "_primitive", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getAggregatorForPrimitive", "outputs": [ { "internalType": "address", "name": "aggregator_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getEthUsdAggregator", "outputs": [ { "internalType": "address", "name": "ethUsdAggregator_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getFundDeployer", "outputs": [ { "internalType": "address", "name": "fundDeployer_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getOwner", "outputs": [ { "internalType": "address", "name": "owner_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_derivative", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getPriceFeedForDerivative", "outputs": [ { "internalType": "address", "name": "priceFeed_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_primitive", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getRateAssetForPrimitive", "outputs": [ { "internalType": "enum ChainlinkPriceFeedMixin.RateAsset", "name": "rateAsset_", "type": "uint8" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getStaleRateThreshold", "outputs": [ { "internalType": "uint256", "name": "staleRateThreshold_", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "_primitive", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getUnitForPrimitive", "outputs": [ { "internalType": "uint256", "name": "unit_", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getWethToken", "outputs": [ { "internalType": "address", "name": "wethToken_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_asset", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "isSupportedAsset", "outputs": [ { "internalType": "bool", "name": "isSupported_", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "_asset", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "isSupportedDerivativeAsset", "outputs": [ { "internalType": "bool", "name": "isSupported_", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "_asset", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "isSupportedPrimitiveAsset", "outputs": [ { "internalType": "bool", "name": "isSupported_", "type": "bool" } ] }, { "inputs": [ { "internalType": "address[]", "name": "_derivatives", "type": "address[]" } ], "stateMutability": "nonpayable", "type": "function", "name": "removeDerivatives" }, { "inputs": [ { "internalType": "address[]", "name": "_primitives", "type": "address[]" } ], "stateMutability": "nonpayable", "type": "function", "name": "removePrimitives" }, { "inputs": [ { "internalType": "address", "name": "_nextEthUsdAggregator", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "setEthUsdAggregator" }, { "inputs": [ { "internalType": "address[]", "name": "_derivatives", "type": "address[]" }, { "internalType": "address[]", "name": "_priceFeeds", "type": "address[]" } ], "stateMutability": "nonpayable", "type": "function", "name": "updateDerivatives" }, { "inputs": [ { "internalType": "address[]", "name": "_primitives", "type": "address[]" }, { "internalType": "address[]", "name": "_aggregators", "type": "address[]" }, { "internalType": "enum ChainlinkPriceFeedMixin.RateAsset[]", "name": "_rateAssets", "type": "uint8[]" } ], "stateMutability": "nonpayable", "type": "function", "name": "updatePrimitives" } ], "devdoc": { "kind": "dev", "methods": { "addDerivatives(address[],address[])": { "params": { "_derivatives": "The derivatives to add", "_priceFeeds": "The ordered price feeds corresponding to the list of _derivatives" } }, "addPrimitives(address[],address[],uint8[])": { "params": { "_aggregators": "The ordered aggregators corresponding to the list of _primitives", "_primitives": "The primitives to add", "_rateAssets": "The ordered rate assets corresponding to the list of _primitives" } }, "calcCanonicalAssetValue(address,uint256,address)": { "details": "Does not alter protocol state, but not a view because calls to price feeds can potentially update third party state. See also __calcPrimitiveToDerivativeValue() for important notes regarding a derivative _quoteAsset.", "params": { "_amount": "The amount of the _baseAsset to convert", "_baseAsset": "The asset from which to convert", "_quoteAsset": "The asset to which to convert" }, "returns": { "value_": "The equivalent quantity in the _quoteAsset" } }, "calcCanonicalAssetsTotalValue(address[],uint256[],address)": { "details": "Does not alter protocol state, but not a view because calls to price feeds can potentially update third party state. Does not handle a derivative quote asset.", "params": { "_amounts": "The amounts of the _baseAssets to convert", "_baseAssets": "The assets to convert", "_quoteAsset": "The asset to which to convert" }, "returns": { "value_": "The sum value of _baseAssets, denominated in the _quoteAsset" } }, "getAggregatorForPrimitive(address)": { "params": { "_primitive": "The primitive asset for which to get the aggregator value" }, "returns": { "aggregator_": "The aggregator address" } }, "getEthUsdAggregator()": { "returns": { "ethUsdAggregator_": "The `ethUsdAggregator` variable value" } }, "getFundDeployer()": { "returns": { "fundDeployer_": "The `FUND_DEPLOYER` variable value" } }, "getOwner()": { "details": "Ownership is deferred to the owner of the FundDeployer contract", "returns": { "owner_": "The owner" } }, "getPriceFeedForDerivative(address)": { "returns": { "priceFeed_": "The price feed contract address" } }, "getRateAssetForPrimitive(address)": { "details": "This isn't strictly necessary as WETH_TOKEN will be undefined and thus the RateAsset will be the 0-position of the enum (i.e. ETH), but it makes the behavior more explicit", "returns": { "rateAsset_": "The rateAsset variable value" } }, "getStaleRateThreshold()": { "returns": { "staleRateThreshold_": "The `STALE_RATE_THRESHOLD` value" } }, "getUnitForPrimitive(address)": { "returns": { "unit_": "The unit variable value" } }, "getWethToken()": { "returns": { "wethToken_": "The `WETH_TOKEN` variable value" } }, "isSupportedAsset(address)": { "params": { "_asset": "The asset to check" }, "returns": { "isSupported_": "True if the asset is a supported asset" } }, "isSupportedDerivativeAsset(address)": { "params": { "_asset": "The asset to check" }, "returns": { "isSupported_": "True if the asset is a supported derivative" } }, "isSupportedPrimitiveAsset(address)": { "params": { "_asset": "The asset to check" }, "returns": { "isSupported_": "True if the asset is a supported primitive" } }, "removeDerivatives(address[])": { "params": { "_derivatives": "The derivatives to remove" } }, "removePrimitives(address[])": { "params": { "_primitives": "The primitives to remove" } }, "setEthUsdAggregator(address)": { "params": { "_nextEthUsdAggregator": "The `ehUsdAggregator` value to set" } }, "updateDerivatives(address[],address[])": { "params": { "_derivatives": "The derivatives to update", "_priceFeeds": "The ordered price feeds corresponding to the list of _derivatives" } }, "updatePrimitives(address[],address[],uint8[])": { "params": { "_aggregators": "The ordered aggregators corresponding to the list of _primitives", "_primitives": "The primitives to update", "_rateAssets": "The ordered rate assets corresponding to the list of _primitives" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "addDerivatives(address[],address[])": { "notice": "Adds a list of derivatives with the given price feed values" }, "addPrimitives(address[],address[],uint8[])": { "notice": "Adds a list of primitives with the given aggregator and rateAsset values" }, "calcCanonicalAssetValue(address,uint256,address)": { "notice": "Calculates the value of a given amount of one asset in terms of another asset" }, "calcCanonicalAssetsTotalValue(address[],uint256[],address)": { "notice": "Calculates the total value of given amounts of assets in a single quote asset" }, "getAggregatorForPrimitive(address)": { "notice": "Gets the aggregator for a primitive" }, "getEthUsdAggregator()": { "notice": "Gets the `ethUsdAggregator` variable value" }, "getFundDeployer()": { "notice": "Gets the `FUND_DEPLOYER` variable" }, "getOwner()": { "notice": "Gets the owner of this contract" }, "getPriceFeedForDerivative(address)": { "notice": "Gets the registered price feed for a given derivative" }, "getRateAssetForPrimitive(address)": { "notice": "Gets the rateAsset variable value for a primitive" }, "getStaleRateThreshold()": { "notice": "Gets the `STALE_RATE_THRESHOLD` variable value" }, "getUnitForPrimitive(address)": { "notice": "Gets the unit variable value for a primitive" }, "getWethToken()": { "notice": "Gets the `WETH_TOKEN` variable value" }, "isSupportedAsset(address)": { "notice": "Checks whether an asset is a supported asset" }, "isSupportedDerivativeAsset(address)": { "notice": "Checks whether an asset is a supported derivative" }, "isSupportedPrimitiveAsset(address)": { "notice": "Checks whether an asset is a supported primitive" }, "removeDerivatives(address[])": { "notice": "Removes a list of derivatives" }, "removePrimitives(address[])": { "notice": "Removes a list of primitives from the feed" }, "setEthUsdAggregator(address)": { "notice": "Sets the `ehUsdAggregator` variable value" }, "updateDerivatives(address[],address[])": { "notice": "Updates a list of derivatives with the given price feed values" }, "updatePrimitives(address[],address[],uint8[])": { "notice": "Updates a list of primitives with the given aggregator and rateAsset values" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/infrastructure/value-interpreter/ValueInterpreter.sol": "ValueInterpreter" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/core/fund-deployer/IFundDeployer.sol": { "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", "urls": [ "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/price-feeds/derivatives/AggregatedDerivativePriceFeedMixin.sol": { "keccak256": "0x85d2ac39834dae7feb04f0e37317a38b8abeb0f950692fbc9d29078c52cd8d52", "urls": [ "bzz-raw://7bf8f1ce064d85a2812a944fc93068955b233924097f7f45898be3db826579d5", "dweb:/ipfs/Qme7f6AhxLVn32prM8fHaCvxtVi86A9KqFMqPA1s88kVYR" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol": { "keccak256": "0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332", "urls": [ "bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e", "dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/price-feeds/primitives/ChainlinkPriceFeedMixin.sol": { "keccak256": "0x7fb0078e7387f07ff09958fe4e4e7b317e72c23884f61e8c133776cad522f8bb", "urls": [ "bzz-raw://e973f29ed0c3bf03e20154ab4b0cfc68c3a4372a52ec746f9d9f86697b30e977", "dweb:/ipfs/QmfMb7H1zNnj2hzmUr6742HmCTiNVuQ2PFjeR8q2M4Liyu" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/value-interpreter/IValueInterpreter.sol": { "keccak256": "0x6838a22b0357f3c5f437c1e54b8f63c7df42b41e3b25d56c5017eb75a857a794", "urls": [ "bzz-raw://55cb0682cb809cd2568969b7753a0d2de4385d499ff42be7f0eb55f584366965", "dweb:/ipfs/QmderqKaijbqYMGeRUscictNMfo6GuFd6ZrDDmBe3pEazJ" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/value-interpreter/ValueInterpreter.sol": { "keccak256": "0x64565011785d0d29a75021cda34687cfbc0641094d6f2faf4d9c78c8cd9f0d1d", "urls": [ "bzz-raw://03ea9b29a332436d18ca1a4df7e5cdf231d5142dfb916a39cb3a721342d54e0e", "dweb:/ipfs/QmcB8Z7A7QELAxg2FfJpD26k2bUhMNUT4wACMVKxuge3QS" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IChainlinkAggregator.sol": { "keccak256": "0x8104db68d4edc00c86b29b366f4397cdbe7bd95bb9dc90f54140af4bae963788", "urls": [ "bzz-raw://4664240be22fe76bd4e84d1cbaace3998dbc96759a14345819a889f0c288d22e", "dweb:/ipfs/QmQ8fbA4tvXeCeaAFeS2JrLEQUPFeYrePAKoUywRtcicgA" ], "license": "GPL-3.0" }, "contracts/release/utils/FundDeployerOwnerMixin.sol": { "keccak256": "0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934", "urls": [ "bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927", "dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM" ], "license": "GPL-3.0" }, "contracts/release/utils/MathHelpers.sol": { "keccak256": "0x8aef498ae98bfb40cd1df8c9ed652b4c092fbbe62d5a1fad522c53654523248e", "urls": [ "bzz-raw://ed62789f6a8d5ca30a40c591f244b915e4711493a9e4b1b4d40ea2bc97b02a95", "dweb:/ipfs/QmWyXJ55arURtx9VMkUQokdsjk8tbgM2cC8rENFUMyz5D3" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" } }, "version": 1 }, "id": 265 } diff --git a/eth_defi/abi/enzyme/VaultLib.json b/eth_defi/abi/enzyme/VaultLib.json index 8d038430..610dd684 100644 --- a/eth_defi/abi/enzyme/VaultLib.json +++ b/eth_defi/abi/enzyme/VaultLib.json @@ -1,3500 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_externalPositionManager", - "type": "address" - }, - { - "internalType": "address", - "name": "_gasRelayPaymasterFactory", - "type": "address" - }, - { - "internalType": "address", - "name": "_protocolFeeReserve", - "type": "address" - }, - { - "internalType": "address", - "name": "_protocolFeeTracker", - "type": "address" - }, - { - "internalType": "address", - "name": "_mlnToken", - "type": "address" - }, - { - "internalType": "address", - "name": "_mlnBurner", - "type": "address" - }, - { - "internalType": "address", - "name": "_wethToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_positionsLimit", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "prevAccessor", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "nextAccessor", - "type": "address" - } - ], - "name": "AccessorSet", - "type": "event" - }, - { - "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": false, - "internalType": "address", - "name": "manager", - "type": "address" - } - ], - "name": "AssetManagerAdded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "manager", - "type": "address" - } - ], - "name": "AssetManagerRemoved", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "asset", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "target", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "AssetWithdrawn", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "EthReceived", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "externalPosition", - "type": "address" - } - ], - "name": "ExternalPositionAdded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "externalPosition", - "type": "address" - } - ], - "name": "ExternalPositionRemoved", - "type": "event" - }, - { - "anonymous": false, - "inputs": [], - "name": "FreelyTransferableSharesSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "prevMigrator", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "nextMigrator", - "type": "address" - } - ], - "name": "MigratorSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "string", - "name": "name", - "type": "string" - } - ], - "name": "NameSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "nominatedOwner", - "type": "address" - } - ], - "name": "NominatedOwnerRemoved", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "nominatedOwner", - "type": "address" - } - ], - "name": "NominatedOwnerSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "prevOwner", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "nextOwner", - "type": "address" - } - ], - "name": "OwnerSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "prevOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "nextOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "sharesAmount", - "type": "uint256" - } - ], - "name": "ProtocolFeePaidInShares", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "sharesAmount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "mlnValue", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "mlnBurned", - "type": "uint256" - } - ], - "name": "ProtocolFeeSharesBoughtBack", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "string", - "name": "symbol", - "type": "string" - } - ], - "name": "SymbolSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "asset", - "type": "address" - } - ], - "name": "TrackedAssetAdded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "asset", - "type": "address" - } - ], - "name": "TrackedAssetRemoved", - "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" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "prevVaultLib", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "nextVaultLib", - "type": "address" - } - ], - "name": "VaultLibSet", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_managers", - "type": "address[]" - } - ], - "name": "addAssetManagers", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_asset", - "type": "address" - } - ], - "name": "addTrackedAsset", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "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": [ - { - "internalType": "address", - "name": "_target", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "burnShares", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_sharesAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_mlnValue", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_gav", - "type": "uint256" - } - ], - "name": "buyBackProtocolFeeShares", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_contract", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_callData", - "type": "bytes" - } - ], - "name": "callOnContract", - "outputs": [ - { - "internalType": "bytes", - "name": "returnData_", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_who", - "type": "address" - } - ], - "name": "canManageAssets", - "outputs": [ - { - "internalType": "bool", - "name": "canManageAssets_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_who", - "type": "address" - } - ], - "name": "canMigrate", - "outputs": [ - { - "internalType": "bool", - "name": "canMigrate_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_who", - "type": "address" - } - ], - "name": "canRelayCalls", - "outputs": [ - { - "internalType": "bool", - "name": "canRelayCalls_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "claimOwnership", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "getAccessor", - "outputs": [ - { - "internalType": "address", - "name": "accessor_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getActiveExternalPositions", - "outputs": [ - { - "internalType": "address[]", - "name": "activeExternalPositions_", - "type": "address[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getCreator", - "outputs": [ - { - "internalType": "address", - "name": "creator_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_typeId", - "type": "uint256" - } - ], - "name": "getExternalPositionLibForType", - "outputs": [ - { - "internalType": "address", - "name": "externalPositionLib_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getExternalPositionManager", - "outputs": [ - { - "internalType": "address", - "name": "externalPositionManager_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getFundDeployer", - "outputs": [ - { - "internalType": "address", - "name": "fundDeployer_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getGasRelayPaymasterFactory", - "outputs": [ - { - "internalType": "address", - "name": "gasRelayPaymasterFactory_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getGasRelayTrustedForwarder", - "outputs": [ - { - "internalType": "address", - "name": "trustedForwarder_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getMigrator", - "outputs": [ - { - "internalType": "address", - "name": "migrator_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getMlnBurner", - "outputs": [ - { - "internalType": "address", - "name": "mlnBurner_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getMlnToken", - "outputs": [ - { - "internalType": "address", - "name": "mlnToken_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getNominatedOwner", - "outputs": [ - { - "internalType": "address", - "name": "nominatedOwner_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "owner_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getPositionsLimit", - "outputs": [ - { - "internalType": "uint256", - "name": "positionsLimit_", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getProtocolFeeReserve", - "outputs": [ - { - "internalType": "address", - "name": "protocolFeeReserve_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getProtocolFeeTracker", - "outputs": [ - { - "internalType": "address", - "name": "protocolFeeTracker_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getTrackedAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "trackedAssets_", - "type": "address[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getVaultLib", - "outputs": [ - { - "internalType": "address", - "name": "vaultLib_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getWethToken", - "outputs": [ - { - "internalType": "address", - "name": "wethToken_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - }, - { - "internalType": "address", - "name": "_accessor", - "type": "address" - }, - { - "internalType": "string", - "name": "_fundName", - "type": "string" - } - ], - "name": "init", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_externalPosition", - "type": "address" - } - ], - "name": "isActiveExternalPosition", - "outputs": [ - { - "internalType": "bool", - "name": "isActiveExternalPosition_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_who", - "type": "address" - } - ], - "name": "isAssetManager", - "outputs": [ - { - "internalType": "bool", - "name": "isAssetManager_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_asset", - "type": "address" - } - ], - "name": "isTrackedAsset", - "outputs": [ - { - "internalType": "bool", - "name": "isTrackedAsset_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_target", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "mintShares", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "payProtocolFee", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "proxiableUUID", - "outputs": [ - { - "internalType": "bytes32", - "name": "uuid_", - "type": "bytes32" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "enum IVault.VaultAction", - "name": "_action", - "type": "uint8" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - } - ], - "name": "receiveValidatedVaultAction", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_managers", - "type": "address[]" - } - ], - "name": "removeAssetManagers", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "removeNominatedOwner", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_nextAccessor", - "type": "address" - } - ], - "name": "setAccessor", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_nextAccessor", - "type": "address" - } - ], - "name": "setAccessorForFundReconfiguration", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "setFreelyTransferableShares", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_nextMigrator", - "type": "address" - } - ], - "name": "setMigrator", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "_nextName", - "type": "string" - } - ], - "name": "setName", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_nextNominatedOwner", - "type": "address" - } - ], - "name": "setNominatedOwner", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "_nextSymbol", - "type": "string" - } - ], - "name": "setSymbol", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_nextVaultLib", - "type": "address" - } - ], - "name": "setVaultLib", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "sharesAreFreelyTransferable", - "outputs": [ - { - "internalType": "bool", - "name": "sharesAreFreelyTransferable_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "symbol_", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "success_", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_sender", - "type": "address" - }, - { - "internalType": "address", - "name": "_recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "success_", - "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": "transferShares", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_asset", - "type": "address" - }, - { - "internalType": "address", - "name": "_target", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "withdrawAssetTo", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "stateMutability": "payable", - "type": "receive" - } - ], - "bytecode": { - "object": "0x61018060405234801561001157600080fd5b5060405162004d0438038062004d04833981810160405261010081101561003757600080fd5b5080516020820151604083015160608085015160808087015160a08089015160c0808b015160e09b8c01516001600160601b03199a891b8b1690965299871b8916909252851b87169052831b85169096526101009590955290811b82166101205292831b811661014052911b166101605260805160601c60a05160601c60c05160601c60e05160601c610100516101205160601c6101405160601c6101605160601c614be96200011b600039806110015250806121e8525080612cac525080612d96525080612cfb525080612d7252508061289a5250806128765250614be96000f3fe6080604052600436106103855760003560e01c8063728e17a0116101d1578063ac25945611610102578063cd63d578116100a0578063e70e605e1161006f578063e70e605e14610f87578063ee7a7c0414610f9c578063fe15c02a14610fd5578063ff3cdf5614610fea57610420565b8063cd63d57814610f0d578063d5c20fa214610f22578063da41962e14610f37578063dd62ed3e14610f4c57610420565b8063b8b7f147116100dc578063b8b7f14714610dd5578063bfc77beb14610e3a578063c47f002714610e7d578063c4b9737014610ef857610420565b8063ac25945614610d30578063b3fc38e914610d45578063b84c824614610d5a57610420565b80638156eecf1161016f57806397c0ac871161014957806397c0ac8714610c24578063a9059cbb14610c39578063a90cce4b14610c72578063ab9253ac14610cfd57610420565b80638156eecf14610be5578063893d20e814610bfa57806395d89b4114610c0f57610420565b806375d8bb0e116101ab57806375d8bb0e14610b40578063797ed33914610b6a5780637c81ac2d14610b9d5780637de07cea14610bb257610420565b8063728e17a014610ac5578063740f2b5a14610af8578063749cc8f514610b2b57610420565b8063495d753c116102b65780635c9a6d37116102545780636ea21143116102235780636ea2114314610a1757806370a0823114610a2c578063712bd10214610a5f578063714ca2d114610a9257610420565b80635c9a6d37146108c05780636487aa111461095457806364cb36cb14610987578063682cea1914610a0257610420565b80634ef0762e116102905780634ef0762e1461082a578063528c198a1461085d57806352d1902d146108965780635a53e348146108ab57610420565b8063495d753c146107bd5780634c252f91146108005780634e71e0c81461081557610420565b806324e6001211610323578063313ce567116102fd578063313ce567146106b157806336861889146106dc5780633e11553d1461070f5780634140d6071461078a57610420565b806324e6001214610602578063288b6a361461068757806328c2ad9c1461069c57610420565b806318160ddd1161035f57806318160ddd1461052d5780631ff46bfa1461055457806323b872dd1461058c57806323cf3118146105cf57610420565b806306fdde0314610425578063095ea7b3146104af5780630ee2cb10146104fc57610420565b36610420573031610394610fff565b6001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b1580156103ce57600080fd5b505af11580156103e2573d6000803e3d6000fd5b50506040805185815290513394507f85177f287940f2f05425a4029951af0e047a7f9c4eaa9a6e6917bcd869f866959350908190036020019150a250005b600080fd5b34801561043157600080fd5b5061043a611024565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561047457818101518382015260200161045c565b50505050905090810190601f1680156104a15780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156104bb57600080fd5b506104e8600480360360408110156104d257600080fd5b506001600160a01b0381351690602001356110ba565b604080519115158252519081900360200190f35b34801561050857600080fd5b506105116110d0565b604080516001600160a01b039092168252519081900360200190f35b34801561053957600080fd5b506105426110df565b60408051918252519081900360200190f35b34801561056057600080fd5b5061058a6004803603606081101561057757600080fd5b50803590602081013590604001356110e5565b005b34801561059857600080fd5b506104e8600480360360608110156105af57600080fd5b506001600160a01b038135811691602081013590911690604001356112c5565b3480156105db57600080fd5b5061058a600480360360208110156105f257600080fd5b50356001600160a01b03166112e7565b34801561060e57600080fd5b5061058a6004803603604081101561062557600080fd5b60ff8235169190810190604081016020820135600160201b81111561064957600080fd5b82018360208201111561065b57600080fd5b803590602001918460018302840111600160201b8311171561067c57600080fd5b509092509050611405565b34801561069357600080fd5b50610511611791565b3480156106a857600080fd5b506104e86117a5565b3480156106bd57600080fd5b506106c66117ae565b6040805160ff9092168252519081900360200190f35b3480156106e857600080fd5b506104e8600480360360208110156106ff57600080fd5b50356001600160a01b03166117b3565b34801561071b57600080fd5b5061058a6004803603602081101561073257600080fd5b810190602081018135600160201b81111561074c57600080fd5b82018360208201111561075e57600080fd5b803590602001918460208302840111600160201b8311171561077f57600080fd5b509092509050611809565b34801561079657600080fd5b5061058a600480360360208110156107ad57600080fd5b50356001600160a01b0316611989565b3480156107c957600080fd5b5061058a600480360360608110156107e057600080fd5b506001600160a01b03813581169160208101359091169060400135611a30565b34801561080c57600080fd5b50610511610fff565b34801561082157600080fd5b5061058a611a84565b34801561083657600080fd5b5061058a6004803603602081101561084d57600080fd5b50356001600160a01b0316611b36565b34801561086957600080fd5b5061058a6004803603604081101561088057600080fd5b506001600160a01b038135169060200135611b8b565b3480156108a257600080fd5b50610542611be2565b3480156108b757600080fd5b50610511611c06565b3480156108cc57600080fd5b5061058a600480360360608110156108e357600080fd5b6001600160a01b038235811692602081013590911691810190606081016040820135600160201b81111561091657600080fd5b82018360208201111561092857600080fd5b803590602001918460018302840111600160201b8311171561094957600080fd5b509092509050611c15565b34801561096057600080fd5b506104e86004803603602081101561097757600080fd5b50356001600160a01b0316611d03565b34801561099357600080fd5b5061058a600480360360208110156109aa57600080fd5b810190602081018135600160201b8111156109c457600080fd5b8201836020820111156109d657600080fd5b803590602001918460208302840111600160201b831117156109f757600080fd5b509092509050611d21565b348015610a0e57600080fd5b50610511611e8b565b348015610a2357600080fd5b50610511611eb0565b348015610a3857600080fd5b5061054260048036036020811015610a4f57600080fd5b50356001600160a01b0316611f91565b348015610a6b57600080fd5b506104e860048036036020811015610a8257600080fd5b50356001600160a01b0316611fac565b348015610a9e57600080fd5b506104e860048036036020811015610ab557600080fd5b50356001600160a01b0316611fca565b348015610ad157600080fd5b5061058a60048036036020811015610ae857600080fd5b50356001600160a01b0316611ff7565b348015610b0457600080fd5b5061058a60048036036020811015610b1b57600080fd5b50356001600160a01b0316612186565b348015610b3757600080fd5b506105116121e6565b348015610b4c57600080fd5b5061051160048036036020811015610b6357600080fd5b503561220a565b348015610b7657600080fd5b506104e860048036036020811015610b8d57600080fd5b50356001600160a01b0316612289565b348015610ba957600080fd5b5061058a6122a7565b348015610bbe57600080fd5b506104e860048036036020811015610bd557600080fd5b50356001600160a01b031661237c565b348015610bf157600080fd5b5061058a6123ab565b348015610c0657600080fd5b50610511612499565b348015610c1b57600080fd5b5061043a6124a8565b348015610c3057600080fd5b50610511612682565b348015610c4557600080fd5b506104e860048036036040811015610c5c57600080fd5b506001600160a01b0381351690602001356126cd565b348015610c7e57600080fd5b5061043a60048036036040811015610c9557600080fd5b6001600160a01b038235169190810190604081016020820135600160201b811115610cbf57600080fd5b820183602082011115610cd157600080fd5b803590602001918460018302840111600160201b83111715610cf257600080fd5b5090925090506126e4565b348015610d0957600080fd5b5061058a60048036036020811015610d2057600080fd5b50356001600160a01b031661282b565b348015610d3c57600080fd5b50610511612874565b348015610d5157600080fd5b50610511612898565b348015610d6657600080fd5b5061058a60048036036020811015610d7d57600080fd5b810190602081018135600160201b811115610d9757600080fd5b820183602082011115610da957600080fd5b803590602001918460018302840111600160201b83111715610dca57600080fd5b5090925090506128bc565b348015610de157600080fd5b50610dea6129ae565b60408051602080825283518183015283519192839290830191858101910280838360005b83811015610e26578181015183820152602001610e0e565b505050509050019250505060405180910390f35b348015610e4657600080fd5b5061058a60048036036060811015610e5d57600080fd5b506001600160a01b03813581169160208101359091169060400135612a0f565b348015610e8957600080fd5b5061058a60048036036020811015610ea057600080fd5b810190602081018135600160201b811115610eba57600080fd5b820183602082011115610ecc57600080fd5b803590602001918460018302840111600160201b83111715610eed57600080fd5b509092509050612a63565b348015610f0457600080fd5b50610dea612b2d565b348015610f1957600080fd5b50610511612b8d565b348015610f2e57600080fd5b5061058a612b9c565b348015610f4357600080fd5b50610511612caa565b348015610f5857600080fd5b5061054260048036036040811015610f6f57600080fd5b506001600160a01b0381358116916020013516612cce565b348015610f9357600080fd5b50610511612cf9565b348015610fa857600080fd5b5061058a60048036036040811015610fbf57600080fd5b506001600160a01b038135169060200135612d1d565b348015610fe157600080fd5b50610511612d70565b348015610ff657600080fd5b50610542612d94565b7f00000000000000000000000000000000000000000000000000000000000000005b90565b60008054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156110b05780601f10611085576101008083540402835291602001916110b0565b820191906000526020600020905b81548152906001019060200180831161109357829003601f168201915b5050505050905090565b60006110c7338484612db8565b50600192915050565b6006546001600160a01b031690565b60025490565b6005546001600160a01b0316331461112e5760405162461bcd60e51b815260040180806020018281038252602f8152602001806148d0602f913960400191505060405180910390fd5b6000611138612caa565b6001600160a01b03166396c45aec8585856040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050602060405180830381600087803b15801561118d57600080fd5b505af11580156111a1573d6000803e3d6000fd5b505050506040513d60208110156111b757600080fd5b50519050806111c657506112c0565b6111d76111d1612caa565b85612ea4565b60006111e1612d70565b6001600160a01b0316141561125a576111f8612cf9565b6001600160a01b03166342966c68826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561123d57600080fd5b505af1158015611251573d6000803e3d6000fd5b5050505061127e565b61127e611265612d70565b8261126e612cf9565b6001600160a01b03169190612f94565b604080518581526020810185905280820183905290517ff8c67da77ed4cb50a4dec91c60cf78ee219033bd3c55a86d133178c557c2d2cf9181900360600190a1505b505050565b60006112d2848484612fe6565b6112dd8484846130d7565b90505b9392505050565b6008546001600160a01b03166112fb613140565b6001600160a01b0316146113405760405162461bcd60e51b81526004018080602001828103825260258152602001806146666025913960400191505060405180910390fd5b6007546001600160a01b039081169082168114156113a5576040805162461bcd60e51b815260206004820152601e60248201527f7365744d69677261746f723a2056616c756520616c7265616479207365740000604482015290519081900360640190fd5b600780546001600160a01b0319166001600160a01b03848116918217909255604080519284168352602083019190915280517f9d0761a1fa4d686cd87f8dbf8ca52f90cf19c3c4dc36e66ebbf08fc5ba203f2c9281900390910190a15050565b6005546001600160a01b0316331461144e5760405162461bcd60e51b815260040180806020018281038252602f8152602001806148d0602f913960400191505060405180910390fd5b600883600a81111561145c57fe5b14156114a6576114a182828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061318492505050565b6112c0565b600483600a8111156114b457fe5b14156114f9576114a182828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506131a392505050565b600583600a81111561150757fe5b141561154c576114a182828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506131c292505050565b600183600a81111561155a57fe5b141561159f576114a182828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061320392505050565b600983600a8111156115ad57fe5b14156115f2576114a182828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061323392505050565b600283600a81111561160057fe5b1415611645576114a182828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506134b692505050565b600a83600a81111561165357fe5b1415611698576114a182828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506134e692505050565b600683600a8111156116a657fe5b14156116eb576114a182828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061350592505050565b600383600a8111156116f957fe5b141561173e576114a182828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061352492505050565b600783600a81111561174c57fe5b14156112c0576112c082828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061355f92505050565b600b5461010090046001600160a01b031690565b600b5460ff1690565b601290565b60006117bd612499565b6001600160a01b0316826001600160a01b031614806117e057506117e082611d03565b8061180357506117ee612b8d565b6001600160a01b0316826001600160a01b0316145b92915050565b6008546001600160a01b031661181d613140565b6001600160a01b0316146118625760405162461bcd60e51b81526004018080602001828103825260258152602001806146666025913960400191505060405180910390fd5b60005b818110156112c05761189183838381811061187c57fe5b905060200201356001600160a01b0316611d03565b156118cd5760405162461bcd60e51b815260040180806020018281038252602c815260200180614723602c913960400191505060405180910390fd5b6001600d60008585858181106118df57fe5b905060200201356001600160a01b03166001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055507f8cf4dd2d46ca2e74b9cc238f9e9c907b5a6a50e2f652162a062d5e8129f35d7a83838381811061195357fe5b905060200201356001600160a01b031660405180826001600160a01b0316815260200191505060405180910390a1600101611865565b6006546001600160a01b031633146119d25760405162461bcd60e51b81526004018080602001828103825260328152602001806148766032913960400191505060405180910390fd5b60006119dc611e8b565b90506119e78261359a565b604080516001600160a01b0380841682528416602082015281517fe504a0278c9d64c1a72d2f528a0c5e3686e093fcd478b3b1224a5c6983207df6929181900390910190a15050565b6005546001600160a01b03163314611a795760405162461bcd60e51b815260040180806020018281038252602f8152602001806148d0602f913960400191505060405180910390fd5b6112c0838383613680565b600b5461010090046001600160a01b0316338114611ad35760405162461bcd60e51b815260040180806020018281038252603e815260200180614a8f603e913960400191505060405180910390fd5b600b8054610100600160a81b0319169055600880546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6005546001600160a01b03163314611b7f5760405162461bcd60e51b815260040180806020018281038252602f8152602001806148d0602f913960400191505060405180910390fd5b611b888161373b565b50565b6005546001600160a01b03163314611bd45760405162461bcd60e51b815260040180806020018281038252602f8152602001806148d0602f913960400191505060405180910390fd5b611bde8282613844565b5050565b7f027b9570e9fedc1a80b937ae9a06861e5faef3992491af30b684a64b3fbec7a590565b6005546001600160a01b031690565b6006546001600160a01b031615611c73576040805162461bcd60e51b815260206004820152601f60248201527f696e69743a2050726f787920616c726561647920696e697469616c697a656400604482015290519081900360640190fd5b600680546001600160a01b03191633179055611c91600083836145d2565b50611c9b8361392a565b611ca4846139d2565b7fe504a0278c9d64c1a72d2f528a0c5e3686e093fcd478b3b1224a5c6983207df66000611ccf611e8b565b60405180836001600160a01b03168152602001826001600160a01b031681526020019250505060405180910390a150505050565b6001600160a01b03166000908152600d602052604090205460ff1690565b6008546001600160a01b0316611d35613140565b6001600160a01b031614611d7a5760405162461bcd60e51b81526004018080602001828103825260258152602001806146666025913960400191505060405180910390fd5b60005b818110156112c057611d9483838381811061187c57fe5b611dcf5760405162461bcd60e51b815260040180806020018281038252602b815260200180614b7c602b913960400191505060405180910390fd5b6000600d6000858585818110611de157fe5b905060200201356001600160a01b03166001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055507f1a3f6d43a85364a6a2d8297f0cd634e060a6ef9bc11b3a0c89e47d40b89c2f7e838383818110611e5557fe5b905060200201356001600160a01b031660405180826001600160a01b0316815260200191505060405180910390a1600101611d7d565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6000611eba612874565b6001600160a01b03166398a7c4c76040518163ffffffff1660e01b815260040160206040518083038186803b158015611ef257600080fd5b505afa158015611f06573d6000803e3d6000fd5b505050506040513d6020811015611f1c57600080fd5b505160408051637da0a87760e01b815290516001600160a01b0390921691637da0a87791600480820192602092909190829003018186803b158015611f6057600080fd5b505afa158015611f74573d6000803e3d6000fd5b505050506040513d6020811015611f8a57600080fd5b5051905090565b6001600160a01b031660009081526003602052604090205490565b6001600160a01b03166000908152600e602052604090205460ff1690565b6000611fd4612499565b6001600160a01b0316826001600160a01b03161480611803575061180382611d03565b6008546001600160a01b031661200b613140565b6001600160a01b0316146120505760405162461bcd60e51b81526004018080602001828103825260258152602001806146666025913960400191505060405180910390fd5b6001600160a01b0381166120955760405162461bcd60e51b81526004018080602001828103825260368152602001806148406036913960400191505060405180910390fd5b6008546001600160a01b03828116911614156120e25760405162461bcd60e51b815260040180806020018281038252603b815260200180614975603b913960400191505060405180910390fd5b600b546001600160a01b038281166101009092041614156121345760405162461bcd60e51b815260040180806020018281038252603b815260200180614a03603b913960400191505060405180910390fd5b600b8054610100600160a81b0319166101006001600160a01b038416908102919091179091556040517f132c19de901bb4ed8403c34734b6c841d5dc57745824da452a52433519ea5abf90600090a250565b61218e612682565b6001600160a01b0316336001600160a01b0316146121dd5760405162461bcd60e51b81526004018080602001828103825260288152602001806148a86028913960400191505060405180910390fd5b611b888161392a565b7f000000000000000000000000000000000000000000000000000000000000000090565b6000612214612898565b6001600160a01b03166375d8bb0e836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561225757600080fd5b505afa15801561226b573d6000803e3d6000fd5b505050506040513d602081101561228157600080fd5b505192915050565b6001600160a01b03166000908152600a602052604090205460ff1690565b6008546001600160a01b03166122bb613140565b6001600160a01b0316146123005760405162461bcd60e51b81526004018080602001828103825260258152602001806146666025913960400191505060405180910390fd5b6123086117a5565b156123445760405162461bcd60e51b8152600401808060200182810382526028815260200180614b546028913960400191505060405180910390fd5b600b805460ff191660011790556040517f505ab4202e673074a7b93ec3c2ca442c3526a42232835c56d223bd09672c5b0d90600090a1565b6008546000906001600160a01b03838116911614806118035750506007546001600160a01b0390811691161490565b6008546001600160a01b03166123bf613140565b6001600160a01b0316146124045760405162461bcd60e51b81526004018080602001828103825260258152602001806146666025913960400191505060405180910390fd5b600b5461010090046001600160a01b0316806124515760405162461bcd60e51b815260040180806020018281038252603181526020018061480f6031913960400191505060405180910390fd5b600b8054610100600160a81b03191690556040516001600160a01b038216907fe4136584a5e8bb85d66301f3ce8b11cc2e5a8bea3979f10ea2451353849acc4790600090a250565b6008546001600160a01b031690565b60018054604080516020601f600260001961010087891615020190951694909404938401819004810282018101909252828152606093909290918301828280156125335780601f1061250857610100808354040283529160200191612533565b820191906000526020600020905b81548152906001019060200180831161251657829003601f168201915b5050505050905080516000141561102157600660009054906101000a90046001600160a01b03166001600160a01b031663b47b06006040518163ffffffff1660e01b815260040160006040518083038186803b15801561259257600080fd5b505afa1580156125a6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260208110156125cf57600080fd5b8101908080516040519392919084600160201b8211156125ee57600080fd5b90830190602082018581111561260357600080fd5b8251600160201b81118282018810171561261c57600080fd5b82525081516020918201929091019080838360005b83811015612649578181015183820152602001612631565b50505050905090810190601f1680156126765780820380516001836020036101000a031916815260200191505b50604052505050905090565b600654604080516307af8e9f60e31b815230600482015290516000926001600160a01b031691633d7c74f8916024808301926020929190829003018186803b158015611f6057600080fd5b60006126da338484612fe6565b6112e08383613ac6565b6005546060906001600160a01b031633146127305760405162461bcd60e51b815260040180806020018281038252602f8152602001806148d0602f913960400191505060405180910390fd5b6000846001600160a01b03168484604051808383808284376040519201945060009350909150508083038183865af19150503d806000811461278e576040519150601f19603f3d011682016040523d82523d6000602084013e612793565b606091505b509250905081816128225760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156127e75781810151838201526020016127cf565b50505050905090810190601f1680156128145780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50509392505050565b6006546001600160a01b031633146121dd5760405162461bcd60e51b81526004018080602001828103825260328152602001806149b06032913960400191505060405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b6008546001600160a01b03166128d0613140565b6001600160a01b031614806128fd57506128e8612682565b6001600160a01b0316336001600160a01b0316145b61293d576040805162461bcd60e51b815260206004820152600c60248201526b155b985d5d1a1bdc9a5e995960a21b604482015290519081900360640190fd5b612949600183836145d2565b507f3e46ff90086ee29856e77591e82c82ff8ed513379b0fd82e84fc5290dd633c99828260405180806020018281038252848482818152602001925080828437600083820152604051601f909101601f19169092018290039550909350505050a15050565b6060600c8054806020026020016040519081016040528092919081815260200182805480156110b057602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116129e8575050505050905090565b6005546001600160a01b03163314612a585760405162461bcd60e51b815260040180806020018281038252602f8152602001806148d0602f913960400191505060405180910390fd5b6112c0838383613acf565b6008546001600160a01b0316612a77613140565b6001600160a01b031614612abc5760405162461bcd60e51b81526004018080602001828103825260258152602001806146666025913960400191505060405180910390fd5b612ac8600083836145d2565b507f13c98778b0c1a086bb98d7f1986e15788b5d3a1ad4c492e1d78f1c4cc51c20cf828260405180806020018281038252848482818152602001925080828437600083820152604051601f909101601f19169092018290039550909350505050a15050565b606060098054806020026020016040519081016040528092919081815260200182805480156110b0576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116129e8575050505050905090565b6007546001600160a01b031690565b6005546001600160a01b03163314612be55760405162461bcd60e51b815260040180806020018281038252602f8152602001806148d0602f913960400191505060405180910390fd5b6000612bef6121e6565b6001600160a01b031663296102526040518163ffffffff1660e01b8152600401602060405180830381600087803b158015612c2957600080fd5b505af1158015612c3d573d6000803e3d6000fd5b505050506040513d6020811015612c5357600080fd5b5051905080612c625750612ca8565b612c73612c6d612caa565b82613844565b6040805182815290517f390f4e733d9d6104fbfb7508fdaf57640ea4179603e995d21027fda40e2576979181900360200190a1505b565b7f000000000000000000000000000000000000000000000000000000000000000090565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b7f000000000000000000000000000000000000000000000000000000000000000090565b6005546001600160a01b03163314612d665760405162461bcd60e51b815260040180806020018281038252602f8152602001806148d0602f913960400191505060405180910390fd5b611bde8282612ea4565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b6001600160a01b038316612dfd5760405162461bcd60e51b8152600401808060200182810382526024815260200180614b066024913960400191505060405180910390fd5b6001600160a01b038216612e425760405162461bcd60e51b81526004018080602001828103825260228152602001806147016022913960400191505060405180910390fd5b6001600160a01b03808416600081815260046020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038216612ee95760405162461bcd60e51b81526004018080602001828103825260218152602001806149e26021913960400191505060405180910390fd5b612f26816040518060600160405280602281526020016146ae602291396001600160a01b0385166000908152600360205260409020549190613c21565b6001600160a01b038316600090815260036020526040902055600254612f4c9082613c7b565b6002556040805182815290516000916001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526112c0908490613ca0565b612fee6117a5565b1561305d5760055460408051631f3abfcf60e31b81526001600160a01b0386811660048301529151919092169163f9d5fe78916024808301926000929190829003018186803b15801561304057600080fd5b505afa158015613054573d6000803e3d6000fd5b505050506112c0565b60055460408051630979029360e11b81526001600160a01b038681166004830152858116602483015260448201859052915191909216916312f2052691606480830192600092919082900301818387803b1580156130ba57600080fd5b505af11580156130ce573d6000803e3d6000fd5b50505050505050565b60006130e4848484613acf565b6131368433613131856040518060600160405280602881526020016148ff602891396001600160a01b038a1660009081526004602090815260408083203384529091529020549190613c21565b612db8565b5060019392505050565b60006018361080159061316b5750613156611eb0565b6001600160a01b0316336001600160a01b0316145b1561317f575060131936013560601c611021565b503390565b611b8881806020019051602081101561319c57600080fd5b5051613d51565b611b888180602001905160208110156131bb57600080fd5b505161373b565b60008060008380602001905160608110156131dc57600080fd5b508051602082015160409092015190945090925090506131fd838383613df2565b50505050565b60008082806020019051604081101561321b57600080fd5b50805160209091015190925090506112c08282612ea4565b60006060806060808580602001905160a081101561325057600080fd5b815160208301805160405192949293830192919084600160201b82111561327657600080fd5b90830190602082018581111561328b57600080fd5b8251600160201b8111828201881017156132a457600080fd5b82525081516020918201929091019080838360005b838110156132d15781810151838201526020016132b9565b50505050905090810190601f1680156132fe5780820380516001836020036101000a031916815260200191505b5060405260200180516040519392919084600160201b82111561332057600080fd5b90830190602082018581111561333557600080fd5b82518660208202830111600160201b8211171561335157600080fd5b82525081516020918201928201910280838360005b8381101561337e578181015183820152602001613366565b5050505090500160405260200180516040519392919084600160201b8211156133a657600080fd5b9083019060208201858111156133bb57600080fd5b82518660208202830111600160201b821117156133d757600080fd5b82525081516020918201928201910280838360005b838110156134045781810151838201526020016133ec565b5050505090500160405260200180516040519392919084600160201b82111561342c57600080fd5b90830190602082018581111561344157600080fd5b82518660208202830111600160201b8211171561345d57600080fd5b82525081516020918201928201910280838360005b8381101561348a578181015183820152602001613472565b50505050905001604052505050945094509450945094506134ae8585858585613eff565b505050505050565b6000808280602001905160408110156134ce57600080fd5b50805160209091015190925090506112c08282613844565b611b888180602001905160208110156134fe57600080fd5b5051614077565b611b8881806020019051602081101561351d57600080fd5b50516140e8565b600080600083806020019051606081101561353e57600080fd5b508051602082015160409092015190945090925090506131fd838383613acf565b600080600083806020019051606081101561357957600080fd5b508051602082015160409092015190945090925090506131fd838383613680565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b815260040160206040518083038186803b1580156135d357600080fd5b505afa1580156135e7573d6000803e3d6000fd5b505050506040513d60208110156135fd57600080fd5b50517f027b9570e9fedc1a80b937ae9a06861e5faef3992491af30b684a64b3fbec7a51461365c5760405162461bcd60e51b81526004018080602001828103825260318152602001806146d06031913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b826001600160a01b0381163014156136d6576040805162461bcd60e51b815260206004820152601460248201527343616e6e6f7420616374206f6e2073686172657360601b604482015290519081900360640190fd5b6136ea6001600160a01b0385168484612f94565b826001600160a01b0316846001600160a01b03167f6f9cbac839b826cc524f53d10416c053fce34ec15fd1001720e777cc49720e76846040518082815260200191505060405180910390a350505050565b806001600160a01b038116301415613791576040805162461bcd60e51b815260206004820152601460248201527343616e6e6f7420616374206f6e2073686172657360601b604482015290519081900360640190fd5b61379a82612289565b611bde576137a6614161565b6001600160a01b0382166000818152600a60209081526040808320805460ff191660019081179091556009805491820181559093527f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af90920180546001600160a01b03191684179055815192835290517fa0d2bfad19dc0c6970d2a2fcff65458a6d7c4fa3b6d904f44961b2c744bdf5919281900390910190a15050565b6001600160a01b03821661389f576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b6002546138ac90826141ac565b6002556001600160a01b0382166000908152600360205260409020546138d290826141ac565b6001600160a01b03831660008181526003602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6001600160a01b03811661396f5760405162461bcd60e51b815260040180806020018281038252602c815260200180614a63602c913960400191505060405180910390fd5b600580546001600160a01b038381166001600160a01b0319831681179093556040805191909216808252602082019390935281517fb5a9def940973a936e331170816650368964b0602957d4bc60f5ddc2dc1b69cd929181900390910190a15050565b6001600160a01b038116613a175760405162461bcd60e51b81526004018080602001828103825260268152602001806147756026913960400191505060405180910390fd5b6008546001600160a01b03908116908216811415613a665760405162461bcd60e51b815260040180806020018281038252602b81526020018061494a602b913960400191505060405180910390fd5b600880546001600160a01b0319166001600160a01b03848116918217909255604080519284168352602083019190915280517f342827c97908e5e2f71151c08502a66d44b6f758e3ac2f1de95f02eb95f0a7359281900390910190a15050565b60006110c73384845b6001600160a01b038316613b145760405162461bcd60e51b8152600401808060200182810382526025815260200180614a3e6025913960400191505060405180910390fd5b6001600160a01b038216613b595760405162461bcd60e51b815260040180806020018281038252602381526020018061468b6023913960400191505060405180910390fd5b613b968160405180606001604052806026815260200161474f602691396001600160a01b0386166000908152600360205260409020549190613c21565b6001600160a01b038085166000908152600360205260408082209390935590841681522054613bc590826141ac565b6001600160a01b0380841660008181526003602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b60008184841115613c735760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156127e75781810151838201526020016127cf565b505050900390565b60006112e083836040518060600160405280602681526020016147e960269139613c21565b6060613cf5826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166141f09092919063ffffffff16565b8051909150156112c057808060200190516020811015613d1457600080fd5b50516112c05760405162461bcd60e51b815260040180806020018281038252602a815260200180614b2a602a913960400191505060405180910390fd5b613d5a81611fac565b611b8857613d66614161565b6001600160a01b0381166000818152600e6020526040808220805460ff19166001908117909155600c8054918201815583527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c70180546001600160a01b03191684179055517f07524f5de87a754cb09f25965c3355b50dfece5fa624111739d5bf5caa05ebe69190a250565b826001600160a01b038116301415613e48576040805162461bcd60e51b815260206004820152601460248201527343616e6e6f7420616374206f6e2073686172657360601b604482015290519081900360640190fd5b60408051636eb1769f60e11b81523060048201526001600160a01b038581166024830152915186926000929084169163dd62ed3e91604480820192602092909190829003018186803b158015613e9d57600080fd5b505afa158015613eb1573d6000803e3d6000fd5b505050506040513d6020811015613ec757600080fd5b50511115613ee457613ee46001600160a01b0382168560006141ff565b613ef86001600160a01b03821685856141ff565b5050505050565b613f0885611fac565b613f435760405162461bcd60e51b8152600401808060200182810382526039815260200180614acd6039913960400191505060405180910390fd5b60005b8351811015613f8857613f80848281518110613f5e57fe5b602002602001015187858481518110613f7357fe5b6020026020010151613680565b600101613f46565b5060405163e5c23a9760e01b81526020600482018181528651602484015286516001600160a01b0389169363e5c23a979389939283926044019185019080838360005b83811015613fe3578181015183820152602001613fcb565b50505050905090810190601f1680156140105780820380516001836020036101000a031916815260200191505b5092505050600060405180830381600087803b15801561402f57600080fd5b505af1158015614043573d6000803e3d6000fd5b5050505060005b81518110156134ae5761406f82828151811061406257fe5b602002602001015161373b565b60010161404a565b61408081611fac565b15611b88576001600160a01b0381166000908152600e60205260409020805460ff191690556140b0600c82614312565b506040516001600160a01b038216907f5af401380f7c5a87ba294191b430d5c1c6dcc133c1d774c092cb0d6a52e20bef90600090a250565b6140f181612289565b15611b88576001600160a01b0381166000908152600a60205260409020805460ff19169055614121600982614312565b50604080516001600160a01b038316815290517f22c4fcf23b40d39b02733ec19a3975b31172f2a5b2ce5d0f1831525276cd71569181900360200190a150565b614169612d94565b600c546009540110612ca85760405162461bcd60e51b815260040180806020018281038252602881526020018061479b6028913960400191505060405180910390fd5b6000828201838110156112e05760405162461bcd60e51b81526004018080602001828103825260238152602001806149276023913960400191505060405180910390fd5b60606112dd848460008561440a565b801580614285575060408051636eb1769f60e11b81523060048201526001600160a01b03848116602483015291519185169163dd62ed3e91604480820192602092909190829003018186803b15801561425757600080fd5b505afa15801561426b573d6000803e3d6000fd5b505050506040513d602081101561428157600080fd5b5051155b6142c05760405162461bcd60e51b8152600401808060200182810382526036815260200180614ba76036913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526112c0908490613ca0565b8154600090815b8181101561440257836001600160a01b031685828154811061433757fe5b6000918252602090912001546001600160a01b031614156143fa57600182038110156143c55784600183038154811061436c57fe5b9060005260206000200160009054906101000a90046001600160a01b031685828154811061439657fe5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055505b848054806143cf57fe5b600082815260209020810160001990810180546001600160a01b031916905501905560019250614402565b600101614319565b505092915050565b60608247101561444b5760405162461bcd60e51b81526004018080602001828103825260268152602001806147c36026913960400191505060405180910390fd5b61445485614566565b6144a5576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b602083106144e45780518252601f1990920191602091820191016144c5565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114614546576040519150601f19603f3d011682016040523d82523d6000602084013e61454b565b606091505b509150915061455b82828661456c565b979650505050505050565b3b151590565b6060831561457b5750816112e0565b82511561458b5782518084602001fd5b60405162461bcd60e51b81526020600482018181528451602484015284518593919283926044019190850190808383600083156127e75781810151838201526020016127cf565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106146135782800160ff19823516178555614640565b82800160010185558215614640579182015b82811115614640578235825591602001919060010190614625565b5061464c929150614650565b5090565b5b8082111561464c576000815560010161465156fe4f6e6c7920746865206f776e65722063616e2063616c6c20746869732066756e6374696f6e45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e63655f5f757064617465436f6465416464726573733a205f6e6578745661756c744c6962206e6f7420636f6d70617469626c6545524332303a20617070726f766520746f20746865207a65726f206164647265737361646441737365744d616e61676572733a204d616e6167657220616c7265616479207265676973746572656445524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e63655f5f7365744f776e65723a205f6e6578744f776e65722063616e6e6f7420626520656d7074795f5f76616c6964617465506f736974696f6e734c696d69743a204c696d6974206578636565646564416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c5661756c744c6962536166654d6174683a207375627472616374696f6e206f766572666c6f7772656d6f76654e6f6d696e617465644f776e65723a205468657265206973206e6f206e6f6d696e61746564206f776e65727365744e6f6d696e617465644f776e65723a205f6e6578744e6f6d696e617465644f776e65722063616e6e6f7420626520656d7074797365745661756c744c69623a204f6e6c792063616c6c61626c652062792074686520636f6e74726163742063726561746f724f6e6c79207468652046756e644465706c6f7965722063616e206d616b6520746869732063616c6c4f6e6c79207468652064657369676e61746564206163636573736f722063616e206d616b6520746869732063616c6c45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63655661756c744c6962536166654d6174683a206164646974696f6e206f766572666c6f775f5f7365744f776e65723a205f6e6578744f776e6572206973207468652063757272656e74206f776e65727365744e6f6d696e617465644f776e65723a205f6e6578744e6f6d696e617465644f776e657220697320616c726561647920746865206f776e65727365744163636573736f723a204f6e6c792063616c6c61626c652062792074686520636f6e74726163742063726561746f7245524332303a206275726e2066726f6d20746865207a65726f20616464726573737365744e6f6d696e617465644f776e65723a205f6e6578744e6f6d696e617465644f776e657220697320616c7265616479206e6f6d696e6174656445524332303a207472616e736665722066726f6d20746865207a65726f20616464726573735f5f7365744163636573736f723a205f6e6578744163636573736f722063616e6e6f7420626520656d707479636c61696d4f776e6572736869703a204f6e6c7920746865206e6f6d696e617465644f776e65722063616e2063616c6c20746869732066756e6374696f6e5f5f63616c6c4f6e45787465726e616c506f736974696f6e3a204e6f7420616e206163746976652065787465726e616c20706f736974696f6e45524332303a20617070726f76652066726f6d20746865207a65726f20616464726573735361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564736574467265656c795472616e7366657261626c655368617265733a20416c72656164792073657472656d6f766541737365744d616e61676572733a204d616e61676572206e6f7420726567697374657265645361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e6365a164736f6c634300060c000a", - "sourceMap": "1628:30011:83:-:0;;;2936:663;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2936:663:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;820:55:230;;;;;;;;3296:52:83;;;;;;;;3358:23;;;;;;3391:21;;;;;;;2936:663;3422:33;;;;3465:42;;;;;::::1;::::0;3517;;;;;::::1;::::0;3569:23;;;::::1;::::0;1628:30011;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x6080604052600436106103855760003560e01c8063728e17a0116101d1578063ac25945611610102578063cd63d578116100a0578063e70e605e1161006f578063e70e605e14610f87578063ee7a7c0414610f9c578063fe15c02a14610fd5578063ff3cdf5614610fea57610420565b8063cd63d57814610f0d578063d5c20fa214610f22578063da41962e14610f37578063dd62ed3e14610f4c57610420565b8063b8b7f147116100dc578063b8b7f14714610dd5578063bfc77beb14610e3a578063c47f002714610e7d578063c4b9737014610ef857610420565b8063ac25945614610d30578063b3fc38e914610d45578063b84c824614610d5a57610420565b80638156eecf1161016f57806397c0ac871161014957806397c0ac8714610c24578063a9059cbb14610c39578063a90cce4b14610c72578063ab9253ac14610cfd57610420565b80638156eecf14610be5578063893d20e814610bfa57806395d89b4114610c0f57610420565b806375d8bb0e116101ab57806375d8bb0e14610b40578063797ed33914610b6a5780637c81ac2d14610b9d5780637de07cea14610bb257610420565b8063728e17a014610ac5578063740f2b5a14610af8578063749cc8f514610b2b57610420565b8063495d753c116102b65780635c9a6d37116102545780636ea21143116102235780636ea2114314610a1757806370a0823114610a2c578063712bd10214610a5f578063714ca2d114610a9257610420565b80635c9a6d37146108c05780636487aa111461095457806364cb36cb14610987578063682cea1914610a0257610420565b80634ef0762e116102905780634ef0762e1461082a578063528c198a1461085d57806352d1902d146108965780635a53e348146108ab57610420565b8063495d753c146107bd5780634c252f91146108005780634e71e0c81461081557610420565b806324e6001211610323578063313ce567116102fd578063313ce567146106b157806336861889146106dc5780633e11553d1461070f5780634140d6071461078a57610420565b806324e6001214610602578063288b6a361461068757806328c2ad9c1461069c57610420565b806318160ddd1161035f57806318160ddd1461052d5780631ff46bfa1461055457806323b872dd1461058c57806323cf3118146105cf57610420565b806306fdde0314610425578063095ea7b3146104af5780630ee2cb10146104fc57610420565b36610420573031610394610fff565b6001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b1580156103ce57600080fd5b505af11580156103e2573d6000803e3d6000fd5b50506040805185815290513394507f85177f287940f2f05425a4029951af0e047a7f9c4eaa9a6e6917bcd869f866959350908190036020019150a250005b600080fd5b34801561043157600080fd5b5061043a611024565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561047457818101518382015260200161045c565b50505050905090810190601f1680156104a15780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156104bb57600080fd5b506104e8600480360360408110156104d257600080fd5b506001600160a01b0381351690602001356110ba565b604080519115158252519081900360200190f35b34801561050857600080fd5b506105116110d0565b604080516001600160a01b039092168252519081900360200190f35b34801561053957600080fd5b506105426110df565b60408051918252519081900360200190f35b34801561056057600080fd5b5061058a6004803603606081101561057757600080fd5b50803590602081013590604001356110e5565b005b34801561059857600080fd5b506104e8600480360360608110156105af57600080fd5b506001600160a01b038135811691602081013590911690604001356112c5565b3480156105db57600080fd5b5061058a600480360360208110156105f257600080fd5b50356001600160a01b03166112e7565b34801561060e57600080fd5b5061058a6004803603604081101561062557600080fd5b60ff8235169190810190604081016020820135600160201b81111561064957600080fd5b82018360208201111561065b57600080fd5b803590602001918460018302840111600160201b8311171561067c57600080fd5b509092509050611405565b34801561069357600080fd5b50610511611791565b3480156106a857600080fd5b506104e86117a5565b3480156106bd57600080fd5b506106c66117ae565b6040805160ff9092168252519081900360200190f35b3480156106e857600080fd5b506104e8600480360360208110156106ff57600080fd5b50356001600160a01b03166117b3565b34801561071b57600080fd5b5061058a6004803603602081101561073257600080fd5b810190602081018135600160201b81111561074c57600080fd5b82018360208201111561075e57600080fd5b803590602001918460208302840111600160201b8311171561077f57600080fd5b509092509050611809565b34801561079657600080fd5b5061058a600480360360208110156107ad57600080fd5b50356001600160a01b0316611989565b3480156107c957600080fd5b5061058a600480360360608110156107e057600080fd5b506001600160a01b03813581169160208101359091169060400135611a30565b34801561080c57600080fd5b50610511610fff565b34801561082157600080fd5b5061058a611a84565b34801561083657600080fd5b5061058a6004803603602081101561084d57600080fd5b50356001600160a01b0316611b36565b34801561086957600080fd5b5061058a6004803603604081101561088057600080fd5b506001600160a01b038135169060200135611b8b565b3480156108a257600080fd5b50610542611be2565b3480156108b757600080fd5b50610511611c06565b3480156108cc57600080fd5b5061058a600480360360608110156108e357600080fd5b6001600160a01b038235811692602081013590911691810190606081016040820135600160201b81111561091657600080fd5b82018360208201111561092857600080fd5b803590602001918460018302840111600160201b8311171561094957600080fd5b509092509050611c15565b34801561096057600080fd5b506104e86004803603602081101561097757600080fd5b50356001600160a01b0316611d03565b34801561099357600080fd5b5061058a600480360360208110156109aa57600080fd5b810190602081018135600160201b8111156109c457600080fd5b8201836020820111156109d657600080fd5b803590602001918460208302840111600160201b831117156109f757600080fd5b509092509050611d21565b348015610a0e57600080fd5b50610511611e8b565b348015610a2357600080fd5b50610511611eb0565b348015610a3857600080fd5b5061054260048036036020811015610a4f57600080fd5b50356001600160a01b0316611f91565b348015610a6b57600080fd5b506104e860048036036020811015610a8257600080fd5b50356001600160a01b0316611fac565b348015610a9e57600080fd5b506104e860048036036020811015610ab557600080fd5b50356001600160a01b0316611fca565b348015610ad157600080fd5b5061058a60048036036020811015610ae857600080fd5b50356001600160a01b0316611ff7565b348015610b0457600080fd5b5061058a60048036036020811015610b1b57600080fd5b50356001600160a01b0316612186565b348015610b3757600080fd5b506105116121e6565b348015610b4c57600080fd5b5061051160048036036020811015610b6357600080fd5b503561220a565b348015610b7657600080fd5b506104e860048036036020811015610b8d57600080fd5b50356001600160a01b0316612289565b348015610ba957600080fd5b5061058a6122a7565b348015610bbe57600080fd5b506104e860048036036020811015610bd557600080fd5b50356001600160a01b031661237c565b348015610bf157600080fd5b5061058a6123ab565b348015610c0657600080fd5b50610511612499565b348015610c1b57600080fd5b5061043a6124a8565b348015610c3057600080fd5b50610511612682565b348015610c4557600080fd5b506104e860048036036040811015610c5c57600080fd5b506001600160a01b0381351690602001356126cd565b348015610c7e57600080fd5b5061043a60048036036040811015610c9557600080fd5b6001600160a01b038235169190810190604081016020820135600160201b811115610cbf57600080fd5b820183602082011115610cd157600080fd5b803590602001918460018302840111600160201b83111715610cf257600080fd5b5090925090506126e4565b348015610d0957600080fd5b5061058a60048036036020811015610d2057600080fd5b50356001600160a01b031661282b565b348015610d3c57600080fd5b50610511612874565b348015610d5157600080fd5b50610511612898565b348015610d6657600080fd5b5061058a60048036036020811015610d7d57600080fd5b810190602081018135600160201b811115610d9757600080fd5b820183602082011115610da957600080fd5b803590602001918460018302840111600160201b83111715610dca57600080fd5b5090925090506128bc565b348015610de157600080fd5b50610dea6129ae565b60408051602080825283518183015283519192839290830191858101910280838360005b83811015610e26578181015183820152602001610e0e565b505050509050019250505060405180910390f35b348015610e4657600080fd5b5061058a60048036036060811015610e5d57600080fd5b506001600160a01b03813581169160208101359091169060400135612a0f565b348015610e8957600080fd5b5061058a60048036036020811015610ea057600080fd5b810190602081018135600160201b811115610eba57600080fd5b820183602082011115610ecc57600080fd5b803590602001918460018302840111600160201b83111715610eed57600080fd5b509092509050612a63565b348015610f0457600080fd5b50610dea612b2d565b348015610f1957600080fd5b50610511612b8d565b348015610f2e57600080fd5b5061058a612b9c565b348015610f4357600080fd5b50610511612caa565b348015610f5857600080fd5b5061054260048036036040811015610f6f57600080fd5b506001600160a01b0381358116916020013516612cce565b348015610f9357600080fd5b50610511612cf9565b348015610fa857600080fd5b5061058a60048036036040811015610fbf57600080fd5b506001600160a01b038135169060200135612d1d565b348015610fe157600080fd5b50610511612d70565b348015610ff657600080fd5b50610542612d94565b7f00000000000000000000000000000000000000000000000000000000000000005b90565b60008054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156110b05780601f10611085576101008083540402835291602001916110b0565b820191906000526020600020905b81548152906001019060200180831161109357829003601f168201915b5050505050905090565b60006110c7338484612db8565b50600192915050565b6006546001600160a01b031690565b60025490565b6005546001600160a01b0316331461112e5760405162461bcd60e51b815260040180806020018281038252602f8152602001806148d0602f913960400191505060405180910390fd5b6000611138612caa565b6001600160a01b03166396c45aec8585856040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050602060405180830381600087803b15801561118d57600080fd5b505af11580156111a1573d6000803e3d6000fd5b505050506040513d60208110156111b757600080fd5b50519050806111c657506112c0565b6111d76111d1612caa565b85612ea4565b60006111e1612d70565b6001600160a01b0316141561125a576111f8612cf9565b6001600160a01b03166342966c68826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561123d57600080fd5b505af1158015611251573d6000803e3d6000fd5b5050505061127e565b61127e611265612d70565b8261126e612cf9565b6001600160a01b03169190612f94565b604080518581526020810185905280820183905290517ff8c67da77ed4cb50a4dec91c60cf78ee219033bd3c55a86d133178c557c2d2cf9181900360600190a1505b505050565b60006112d2848484612fe6565b6112dd8484846130d7565b90505b9392505050565b6008546001600160a01b03166112fb613140565b6001600160a01b0316146113405760405162461bcd60e51b81526004018080602001828103825260258152602001806146666025913960400191505060405180910390fd5b6007546001600160a01b039081169082168114156113a5576040805162461bcd60e51b815260206004820152601e60248201527f7365744d69677261746f723a2056616c756520616c7265616479207365740000604482015290519081900360640190fd5b600780546001600160a01b0319166001600160a01b03848116918217909255604080519284168352602083019190915280517f9d0761a1fa4d686cd87f8dbf8ca52f90cf19c3c4dc36e66ebbf08fc5ba203f2c9281900390910190a15050565b6005546001600160a01b0316331461144e5760405162461bcd60e51b815260040180806020018281038252602f8152602001806148d0602f913960400191505060405180910390fd5b600883600a81111561145c57fe5b14156114a6576114a182828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061318492505050565b6112c0565b600483600a8111156114b457fe5b14156114f9576114a182828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506131a392505050565b600583600a81111561150757fe5b141561154c576114a182828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506131c292505050565b600183600a81111561155a57fe5b141561159f576114a182828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061320392505050565b600983600a8111156115ad57fe5b14156115f2576114a182828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061323392505050565b600283600a81111561160057fe5b1415611645576114a182828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506134b692505050565b600a83600a81111561165357fe5b1415611698576114a182828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506134e692505050565b600683600a8111156116a657fe5b14156116eb576114a182828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061350592505050565b600383600a8111156116f957fe5b141561173e576114a182828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061352492505050565b600783600a81111561174c57fe5b14156112c0576112c082828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061355f92505050565b600b5461010090046001600160a01b031690565b600b5460ff1690565b601290565b60006117bd612499565b6001600160a01b0316826001600160a01b031614806117e057506117e082611d03565b8061180357506117ee612b8d565b6001600160a01b0316826001600160a01b0316145b92915050565b6008546001600160a01b031661181d613140565b6001600160a01b0316146118625760405162461bcd60e51b81526004018080602001828103825260258152602001806146666025913960400191505060405180910390fd5b60005b818110156112c05761189183838381811061187c57fe5b905060200201356001600160a01b0316611d03565b156118cd5760405162461bcd60e51b815260040180806020018281038252602c815260200180614723602c913960400191505060405180910390fd5b6001600d60008585858181106118df57fe5b905060200201356001600160a01b03166001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055507f8cf4dd2d46ca2e74b9cc238f9e9c907b5a6a50e2f652162a062d5e8129f35d7a83838381811061195357fe5b905060200201356001600160a01b031660405180826001600160a01b0316815260200191505060405180910390a1600101611865565b6006546001600160a01b031633146119d25760405162461bcd60e51b81526004018080602001828103825260328152602001806148766032913960400191505060405180910390fd5b60006119dc611e8b565b90506119e78261359a565b604080516001600160a01b0380841682528416602082015281517fe504a0278c9d64c1a72d2f528a0c5e3686e093fcd478b3b1224a5c6983207df6929181900390910190a15050565b6005546001600160a01b03163314611a795760405162461bcd60e51b815260040180806020018281038252602f8152602001806148d0602f913960400191505060405180910390fd5b6112c0838383613680565b600b5461010090046001600160a01b0316338114611ad35760405162461bcd60e51b815260040180806020018281038252603e815260200180614a8f603e913960400191505060405180910390fd5b600b8054610100600160a81b0319169055600880546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6005546001600160a01b03163314611b7f5760405162461bcd60e51b815260040180806020018281038252602f8152602001806148d0602f913960400191505060405180910390fd5b611b888161373b565b50565b6005546001600160a01b03163314611bd45760405162461bcd60e51b815260040180806020018281038252602f8152602001806148d0602f913960400191505060405180910390fd5b611bde8282613844565b5050565b7f027b9570e9fedc1a80b937ae9a06861e5faef3992491af30b684a64b3fbec7a590565b6005546001600160a01b031690565b6006546001600160a01b031615611c73576040805162461bcd60e51b815260206004820152601f60248201527f696e69743a2050726f787920616c726561647920696e697469616c697a656400604482015290519081900360640190fd5b600680546001600160a01b03191633179055611c91600083836145d2565b50611c9b8361392a565b611ca4846139d2565b7fe504a0278c9d64c1a72d2f528a0c5e3686e093fcd478b3b1224a5c6983207df66000611ccf611e8b565b60405180836001600160a01b03168152602001826001600160a01b031681526020019250505060405180910390a150505050565b6001600160a01b03166000908152600d602052604090205460ff1690565b6008546001600160a01b0316611d35613140565b6001600160a01b031614611d7a5760405162461bcd60e51b81526004018080602001828103825260258152602001806146666025913960400191505060405180910390fd5b60005b818110156112c057611d9483838381811061187c57fe5b611dcf5760405162461bcd60e51b815260040180806020018281038252602b815260200180614b7c602b913960400191505060405180910390fd5b6000600d6000858585818110611de157fe5b905060200201356001600160a01b03166001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055507f1a3f6d43a85364a6a2d8297f0cd634e060a6ef9bc11b3a0c89e47d40b89c2f7e838383818110611e5557fe5b905060200201356001600160a01b031660405180826001600160a01b0316815260200191505060405180910390a1600101611d7d565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6000611eba612874565b6001600160a01b03166398a7c4c76040518163ffffffff1660e01b815260040160206040518083038186803b158015611ef257600080fd5b505afa158015611f06573d6000803e3d6000fd5b505050506040513d6020811015611f1c57600080fd5b505160408051637da0a87760e01b815290516001600160a01b0390921691637da0a87791600480820192602092909190829003018186803b158015611f6057600080fd5b505afa158015611f74573d6000803e3d6000fd5b505050506040513d6020811015611f8a57600080fd5b5051905090565b6001600160a01b031660009081526003602052604090205490565b6001600160a01b03166000908152600e602052604090205460ff1690565b6000611fd4612499565b6001600160a01b0316826001600160a01b03161480611803575061180382611d03565b6008546001600160a01b031661200b613140565b6001600160a01b0316146120505760405162461bcd60e51b81526004018080602001828103825260258152602001806146666025913960400191505060405180910390fd5b6001600160a01b0381166120955760405162461bcd60e51b81526004018080602001828103825260368152602001806148406036913960400191505060405180910390fd5b6008546001600160a01b03828116911614156120e25760405162461bcd60e51b815260040180806020018281038252603b815260200180614975603b913960400191505060405180910390fd5b600b546001600160a01b038281166101009092041614156121345760405162461bcd60e51b815260040180806020018281038252603b815260200180614a03603b913960400191505060405180910390fd5b600b8054610100600160a81b0319166101006001600160a01b038416908102919091179091556040517f132c19de901bb4ed8403c34734b6c841d5dc57745824da452a52433519ea5abf90600090a250565b61218e612682565b6001600160a01b0316336001600160a01b0316146121dd5760405162461bcd60e51b81526004018080602001828103825260288152602001806148a86028913960400191505060405180910390fd5b611b888161392a565b7f000000000000000000000000000000000000000000000000000000000000000090565b6000612214612898565b6001600160a01b03166375d8bb0e836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561225757600080fd5b505afa15801561226b573d6000803e3d6000fd5b505050506040513d602081101561228157600080fd5b505192915050565b6001600160a01b03166000908152600a602052604090205460ff1690565b6008546001600160a01b03166122bb613140565b6001600160a01b0316146123005760405162461bcd60e51b81526004018080602001828103825260258152602001806146666025913960400191505060405180910390fd5b6123086117a5565b156123445760405162461bcd60e51b8152600401808060200182810382526028815260200180614b546028913960400191505060405180910390fd5b600b805460ff191660011790556040517f505ab4202e673074a7b93ec3c2ca442c3526a42232835c56d223bd09672c5b0d90600090a1565b6008546000906001600160a01b03838116911614806118035750506007546001600160a01b0390811691161490565b6008546001600160a01b03166123bf613140565b6001600160a01b0316146124045760405162461bcd60e51b81526004018080602001828103825260258152602001806146666025913960400191505060405180910390fd5b600b5461010090046001600160a01b0316806124515760405162461bcd60e51b815260040180806020018281038252603181526020018061480f6031913960400191505060405180910390fd5b600b8054610100600160a81b03191690556040516001600160a01b038216907fe4136584a5e8bb85d66301f3ce8b11cc2e5a8bea3979f10ea2451353849acc4790600090a250565b6008546001600160a01b031690565b60018054604080516020601f600260001961010087891615020190951694909404938401819004810282018101909252828152606093909290918301828280156125335780601f1061250857610100808354040283529160200191612533565b820191906000526020600020905b81548152906001019060200180831161251657829003601f168201915b5050505050905080516000141561102157600660009054906101000a90046001600160a01b03166001600160a01b031663b47b06006040518163ffffffff1660e01b815260040160006040518083038186803b15801561259257600080fd5b505afa1580156125a6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260208110156125cf57600080fd5b8101908080516040519392919084600160201b8211156125ee57600080fd5b90830190602082018581111561260357600080fd5b8251600160201b81118282018810171561261c57600080fd5b82525081516020918201929091019080838360005b83811015612649578181015183820152602001612631565b50505050905090810190601f1680156126765780820380516001836020036101000a031916815260200191505b50604052505050905090565b600654604080516307af8e9f60e31b815230600482015290516000926001600160a01b031691633d7c74f8916024808301926020929190829003018186803b158015611f6057600080fd5b60006126da338484612fe6565b6112e08383613ac6565b6005546060906001600160a01b031633146127305760405162461bcd60e51b815260040180806020018281038252602f8152602001806148d0602f913960400191505060405180910390fd5b6000846001600160a01b03168484604051808383808284376040519201945060009350909150508083038183865af19150503d806000811461278e576040519150601f19603f3d011682016040523d82523d6000602084013e612793565b606091505b509250905081816128225760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156127e75781810151838201526020016127cf565b50505050905090810190601f1680156128145780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50509392505050565b6006546001600160a01b031633146121dd5760405162461bcd60e51b81526004018080602001828103825260328152602001806149b06032913960400191505060405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b6008546001600160a01b03166128d0613140565b6001600160a01b031614806128fd57506128e8612682565b6001600160a01b0316336001600160a01b0316145b61293d576040805162461bcd60e51b815260206004820152600c60248201526b155b985d5d1a1bdc9a5e995960a21b604482015290519081900360640190fd5b612949600183836145d2565b507f3e46ff90086ee29856e77591e82c82ff8ed513379b0fd82e84fc5290dd633c99828260405180806020018281038252848482818152602001925080828437600083820152604051601f909101601f19169092018290039550909350505050a15050565b6060600c8054806020026020016040519081016040528092919081815260200182805480156110b057602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116129e8575050505050905090565b6005546001600160a01b03163314612a585760405162461bcd60e51b815260040180806020018281038252602f8152602001806148d0602f913960400191505060405180910390fd5b6112c0838383613acf565b6008546001600160a01b0316612a77613140565b6001600160a01b031614612abc5760405162461bcd60e51b81526004018080602001828103825260258152602001806146666025913960400191505060405180910390fd5b612ac8600083836145d2565b507f13c98778b0c1a086bb98d7f1986e15788b5d3a1ad4c492e1d78f1c4cc51c20cf828260405180806020018281038252848482818152602001925080828437600083820152604051601f909101601f19169092018290039550909350505050a15050565b606060098054806020026020016040519081016040528092919081815260200182805480156110b0576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116129e8575050505050905090565b6007546001600160a01b031690565b6005546001600160a01b03163314612be55760405162461bcd60e51b815260040180806020018281038252602f8152602001806148d0602f913960400191505060405180910390fd5b6000612bef6121e6565b6001600160a01b031663296102526040518163ffffffff1660e01b8152600401602060405180830381600087803b158015612c2957600080fd5b505af1158015612c3d573d6000803e3d6000fd5b505050506040513d6020811015612c5357600080fd5b5051905080612c625750612ca8565b612c73612c6d612caa565b82613844565b6040805182815290517f390f4e733d9d6104fbfb7508fdaf57640ea4179603e995d21027fda40e2576979181900360200190a1505b565b7f000000000000000000000000000000000000000000000000000000000000000090565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b7f000000000000000000000000000000000000000000000000000000000000000090565b6005546001600160a01b03163314612d665760405162461bcd60e51b815260040180806020018281038252602f8152602001806148d0602f913960400191505060405180910390fd5b611bde8282612ea4565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b6001600160a01b038316612dfd5760405162461bcd60e51b8152600401808060200182810382526024815260200180614b066024913960400191505060405180910390fd5b6001600160a01b038216612e425760405162461bcd60e51b81526004018080602001828103825260228152602001806147016022913960400191505060405180910390fd5b6001600160a01b03808416600081815260046020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038216612ee95760405162461bcd60e51b81526004018080602001828103825260218152602001806149e26021913960400191505060405180910390fd5b612f26816040518060600160405280602281526020016146ae602291396001600160a01b0385166000908152600360205260409020549190613c21565b6001600160a01b038316600090815260036020526040902055600254612f4c9082613c7b565b6002556040805182815290516000916001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526112c0908490613ca0565b612fee6117a5565b1561305d5760055460408051631f3abfcf60e31b81526001600160a01b0386811660048301529151919092169163f9d5fe78916024808301926000929190829003018186803b15801561304057600080fd5b505afa158015613054573d6000803e3d6000fd5b505050506112c0565b60055460408051630979029360e11b81526001600160a01b038681166004830152858116602483015260448201859052915191909216916312f2052691606480830192600092919082900301818387803b1580156130ba57600080fd5b505af11580156130ce573d6000803e3d6000fd5b50505050505050565b60006130e4848484613acf565b6131368433613131856040518060600160405280602881526020016148ff602891396001600160a01b038a1660009081526004602090815260408083203384529091529020549190613c21565b612db8565b5060019392505050565b60006018361080159061316b5750613156611eb0565b6001600160a01b0316336001600160a01b0316145b1561317f575060131936013560601c611021565b503390565b611b8881806020019051602081101561319c57600080fd5b5051613d51565b611b888180602001905160208110156131bb57600080fd5b505161373b565b60008060008380602001905160608110156131dc57600080fd5b508051602082015160409092015190945090925090506131fd838383613df2565b50505050565b60008082806020019051604081101561321b57600080fd5b50805160209091015190925090506112c08282612ea4565b60006060806060808580602001905160a081101561325057600080fd5b815160208301805160405192949293830192919084600160201b82111561327657600080fd5b90830190602082018581111561328b57600080fd5b8251600160201b8111828201881017156132a457600080fd5b82525081516020918201929091019080838360005b838110156132d15781810151838201526020016132b9565b50505050905090810190601f1680156132fe5780820380516001836020036101000a031916815260200191505b5060405260200180516040519392919084600160201b82111561332057600080fd5b90830190602082018581111561333557600080fd5b82518660208202830111600160201b8211171561335157600080fd5b82525081516020918201928201910280838360005b8381101561337e578181015183820152602001613366565b5050505090500160405260200180516040519392919084600160201b8211156133a657600080fd5b9083019060208201858111156133bb57600080fd5b82518660208202830111600160201b821117156133d757600080fd5b82525081516020918201928201910280838360005b838110156134045781810151838201526020016133ec565b5050505090500160405260200180516040519392919084600160201b82111561342c57600080fd5b90830190602082018581111561344157600080fd5b82518660208202830111600160201b8211171561345d57600080fd5b82525081516020918201928201910280838360005b8381101561348a578181015183820152602001613472565b50505050905001604052505050945094509450945094506134ae8585858585613eff565b505050505050565b6000808280602001905160408110156134ce57600080fd5b50805160209091015190925090506112c08282613844565b611b888180602001905160208110156134fe57600080fd5b5051614077565b611b8881806020019051602081101561351d57600080fd5b50516140e8565b600080600083806020019051606081101561353e57600080fd5b508051602082015160409092015190945090925090506131fd838383613acf565b600080600083806020019051606081101561357957600080fd5b508051602082015160409092015190945090925090506131fd838383613680565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b815260040160206040518083038186803b1580156135d357600080fd5b505afa1580156135e7573d6000803e3d6000fd5b505050506040513d60208110156135fd57600080fd5b50517f027b9570e9fedc1a80b937ae9a06861e5faef3992491af30b684a64b3fbec7a51461365c5760405162461bcd60e51b81526004018080602001828103825260318152602001806146d06031913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b826001600160a01b0381163014156136d6576040805162461bcd60e51b815260206004820152601460248201527343616e6e6f7420616374206f6e2073686172657360601b604482015290519081900360640190fd5b6136ea6001600160a01b0385168484612f94565b826001600160a01b0316846001600160a01b03167f6f9cbac839b826cc524f53d10416c053fce34ec15fd1001720e777cc49720e76846040518082815260200191505060405180910390a350505050565b806001600160a01b038116301415613791576040805162461bcd60e51b815260206004820152601460248201527343616e6e6f7420616374206f6e2073686172657360601b604482015290519081900360640190fd5b61379a82612289565b611bde576137a6614161565b6001600160a01b0382166000818152600a60209081526040808320805460ff191660019081179091556009805491820181559093527f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af90920180546001600160a01b03191684179055815192835290517fa0d2bfad19dc0c6970d2a2fcff65458a6d7c4fa3b6d904f44961b2c744bdf5919281900390910190a15050565b6001600160a01b03821661389f576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b6002546138ac90826141ac565b6002556001600160a01b0382166000908152600360205260409020546138d290826141ac565b6001600160a01b03831660008181526003602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6001600160a01b03811661396f5760405162461bcd60e51b815260040180806020018281038252602c815260200180614a63602c913960400191505060405180910390fd5b600580546001600160a01b038381166001600160a01b0319831681179093556040805191909216808252602082019390935281517fb5a9def940973a936e331170816650368964b0602957d4bc60f5ddc2dc1b69cd929181900390910190a15050565b6001600160a01b038116613a175760405162461bcd60e51b81526004018080602001828103825260268152602001806147756026913960400191505060405180910390fd5b6008546001600160a01b03908116908216811415613a665760405162461bcd60e51b815260040180806020018281038252602b81526020018061494a602b913960400191505060405180910390fd5b600880546001600160a01b0319166001600160a01b03848116918217909255604080519284168352602083019190915280517f342827c97908e5e2f71151c08502a66d44b6f758e3ac2f1de95f02eb95f0a7359281900390910190a15050565b60006110c73384845b6001600160a01b038316613b145760405162461bcd60e51b8152600401808060200182810382526025815260200180614a3e6025913960400191505060405180910390fd5b6001600160a01b038216613b595760405162461bcd60e51b815260040180806020018281038252602381526020018061468b6023913960400191505060405180910390fd5b613b968160405180606001604052806026815260200161474f602691396001600160a01b0386166000908152600360205260409020549190613c21565b6001600160a01b038085166000908152600360205260408082209390935590841681522054613bc590826141ac565b6001600160a01b0380841660008181526003602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b60008184841115613c735760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156127e75781810151838201526020016127cf565b505050900390565b60006112e083836040518060600160405280602681526020016147e960269139613c21565b6060613cf5826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166141f09092919063ffffffff16565b8051909150156112c057808060200190516020811015613d1457600080fd5b50516112c05760405162461bcd60e51b815260040180806020018281038252602a815260200180614b2a602a913960400191505060405180910390fd5b613d5a81611fac565b611b8857613d66614161565b6001600160a01b0381166000818152600e6020526040808220805460ff19166001908117909155600c8054918201815583527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c70180546001600160a01b03191684179055517f07524f5de87a754cb09f25965c3355b50dfece5fa624111739d5bf5caa05ebe69190a250565b826001600160a01b038116301415613e48576040805162461bcd60e51b815260206004820152601460248201527343616e6e6f7420616374206f6e2073686172657360601b604482015290519081900360640190fd5b60408051636eb1769f60e11b81523060048201526001600160a01b038581166024830152915186926000929084169163dd62ed3e91604480820192602092909190829003018186803b158015613e9d57600080fd5b505afa158015613eb1573d6000803e3d6000fd5b505050506040513d6020811015613ec757600080fd5b50511115613ee457613ee46001600160a01b0382168560006141ff565b613ef86001600160a01b03821685856141ff565b5050505050565b613f0885611fac565b613f435760405162461bcd60e51b8152600401808060200182810382526039815260200180614acd6039913960400191505060405180910390fd5b60005b8351811015613f8857613f80848281518110613f5e57fe5b602002602001015187858481518110613f7357fe5b6020026020010151613680565b600101613f46565b5060405163e5c23a9760e01b81526020600482018181528651602484015286516001600160a01b0389169363e5c23a979389939283926044019185019080838360005b83811015613fe3578181015183820152602001613fcb565b50505050905090810190601f1680156140105780820380516001836020036101000a031916815260200191505b5092505050600060405180830381600087803b15801561402f57600080fd5b505af1158015614043573d6000803e3d6000fd5b5050505060005b81518110156134ae5761406f82828151811061406257fe5b602002602001015161373b565b60010161404a565b61408081611fac565b15611b88576001600160a01b0381166000908152600e60205260409020805460ff191690556140b0600c82614312565b506040516001600160a01b038216907f5af401380f7c5a87ba294191b430d5c1c6dcc133c1d774c092cb0d6a52e20bef90600090a250565b6140f181612289565b15611b88576001600160a01b0381166000908152600a60205260409020805460ff19169055614121600982614312565b50604080516001600160a01b038316815290517f22c4fcf23b40d39b02733ec19a3975b31172f2a5b2ce5d0f1831525276cd71569181900360200190a150565b614169612d94565b600c546009540110612ca85760405162461bcd60e51b815260040180806020018281038252602881526020018061479b6028913960400191505060405180910390fd5b6000828201838110156112e05760405162461bcd60e51b81526004018080602001828103825260238152602001806149276023913960400191505060405180910390fd5b60606112dd848460008561440a565b801580614285575060408051636eb1769f60e11b81523060048201526001600160a01b03848116602483015291519185169163dd62ed3e91604480820192602092909190829003018186803b15801561425757600080fd5b505afa15801561426b573d6000803e3d6000fd5b505050506040513d602081101561428157600080fd5b5051155b6142c05760405162461bcd60e51b8152600401808060200182810382526036815260200180614ba76036913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526112c0908490613ca0565b8154600090815b8181101561440257836001600160a01b031685828154811061433757fe5b6000918252602090912001546001600160a01b031614156143fa57600182038110156143c55784600183038154811061436c57fe5b9060005260206000200160009054906101000a90046001600160a01b031685828154811061439657fe5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055505b848054806143cf57fe5b600082815260209020810160001990810180546001600160a01b031916905501905560019250614402565b600101614319565b505092915050565b60608247101561444b5760405162461bcd60e51b81526004018080602001828103825260268152602001806147c36026913960400191505060405180910390fd5b61445485614566565b6144a5576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b602083106144e45780518252601f1990920191602091820191016144c5565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114614546576040519150601f19603f3d011682016040523d82523d6000602084013e61454b565b606091505b509150915061455b82828661456c565b979650505050505050565b3b151590565b6060831561457b5750816112e0565b82511561458b5782518084602001fd5b60405162461bcd60e51b81526020600482018181528451602484015284518593919283926044019190850190808383600083156127e75781810151838201526020016127cf565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106146135782800160ff19823516178555614640565b82800160010185558215614640579182015b82811115614640578235825591602001919060010190614625565b5061464c929150614650565b5090565b5b8082111561464c576000815560010161465156fe4f6e6c7920746865206f776e65722063616e2063616c6c20746869732066756e6374696f6e45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e63655f5f757064617465436f6465416464726573733a205f6e6578745661756c744c6962206e6f7420636f6d70617469626c6545524332303a20617070726f766520746f20746865207a65726f206164647265737361646441737365744d616e61676572733a204d616e6167657220616c7265616479207265676973746572656445524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e63655f5f7365744f776e65723a205f6e6578744f776e65722063616e6e6f7420626520656d7074795f5f76616c6964617465506f736974696f6e734c696d69743a204c696d6974206578636565646564416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c5661756c744c6962536166654d6174683a207375627472616374696f6e206f766572666c6f7772656d6f76654e6f6d696e617465644f776e65723a205468657265206973206e6f206e6f6d696e61746564206f776e65727365744e6f6d696e617465644f776e65723a205f6e6578744e6f6d696e617465644f776e65722063616e6e6f7420626520656d7074797365745661756c744c69623a204f6e6c792063616c6c61626c652062792074686520636f6e74726163742063726561746f724f6e6c79207468652046756e644465706c6f7965722063616e206d616b6520746869732063616c6c4f6e6c79207468652064657369676e61746564206163636573736f722063616e206d616b6520746869732063616c6c45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63655661756c744c6962536166654d6174683a206164646974696f6e206f766572666c6f775f5f7365744f776e65723a205f6e6578744f776e6572206973207468652063757272656e74206f776e65727365744e6f6d696e617465644f776e65723a205f6e6578744e6f6d696e617465644f776e657220697320616c726561647920746865206f776e65727365744163636573736f723a204f6e6c792063616c6c61626c652062792074686520636f6e74726163742063726561746f7245524332303a206275726e2066726f6d20746865207a65726f20616464726573737365744e6f6d696e617465644f776e65723a205f6e6578744e6f6d696e617465644f776e657220697320616c7265616479206e6f6d696e6174656445524332303a207472616e736665722066726f6d20746865207a65726f20616464726573735f5f7365744163636573736f723a205f6e6578744163636573736f722063616e6e6f7420626520656d707479636c61696d4f776e6572736869703a204f6e6c7920746865206e6f6d696e617465644f776e65722063616e2063616c6c20746869732066756e6374696f6e5f5f63616c6c4f6e45787465726e616c506f736974696f6e3a204e6f7420616e206163746976652065787465726e616c20706f736974696f6e45524332303a20617070726f76652066726f6d20746865207a65726f20616464726573735361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564736574467265656c795472616e7366657261626c655368617265733a20416c72656164792073657472656d6f766541737365744d616e61676572733a204d616e61676572206e6f7420726567697374657265645361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e6365a164736f6c634300060c000a", - "sourceMap": "1628:30011:83:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3847:4;3831:30;3885:14;:12;:14::i;:::-;-1:-1:-1;;;;;3871:38:83;;3917:9;3871:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3945:34:83;;;;;;;;3957:10;;-1:-1:-1;3945:34:83;;-1:-1:-1;3945:34:83;;;;;;;-1:-1:-1;3945:34:83;3774:212;1628:30011;;;;;2882:94:75;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1218:160;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1218:160:75;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;26710:103:83;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;26710:103:83;;;;;;;;;;;;;;3245:102:75;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;11399:848:83;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11399:848:83;;;;;;;;;;;;:::i;:::-;;24867:288;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;24867:288:83;;;;;;;;;;;;;;;;;:::i;8655:284::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8655:284:83;-1:-1:-1;;;;;8655:284:83;;:::i;14817:1413::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;14817:1413:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;14817:1413:83;;;;;;;;;;-1:-1:-1;14817:1413:83;;-1:-1:-1;14817:1413:83;-1:-1:-1;14817:1413:83;:::i;27197:115::-;;;;;;;;;;;;;:::i;31238:188::-;;;;;;;;;;;;;:::i;2727:74:75:-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;26214:181:83;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;26214:181:83;-1:-1:-1;;;;;26214:181:83;;:::i;6715:355::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;6715:355:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;6715:355:83;;;;;;;;;;-1:-1:-1;6715:355:83;;-1:-1:-1;6715:355:83;-1:-1:-1;6715:355:83;:::i;2734:311:68:-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2734:311:68;-1:-1:-1;;;;;2734:311:68;;:::i;14304:196:83:-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;14304:196:83;;;;;;;;;;;;;;;;;:::i;31538:99::-;;;;;;;;;;;;;:::i;7124:381::-;;;;;;;;;;;;;:::i;10423:114::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10423:114:83;-1:-1:-1;;;;;10423:114:83;;:::i;12994:126::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;12994:126:83;;;;;;;;:::i;1593:151:74:-;;;;;;;;;;;;;:::i;26502:104:83:-;;;;;;;;;;;;;:::i;1627:385:68:-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1627:385:68;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1627:385:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1627:385:68;;;;;;;;;;-1:-1:-1;1627:385:68;;-1:-1:-1;1627:385:68;-1:-1:-1;1627:385:68;:::i;30590:134:83:-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;30590:134:83;-1:-1:-1;;;;;30590:134:83;;:::i;7665:359::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;7665:359:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;7665:359:83;;;;;;;;;;-1:-1:-1;7665:359:83;;-1:-1:-1;7665:359:83;-1:-1:-1;7665:359:83;:::i;3555:259:68:-;;;;;;;;;;;;;:::i;1880:260:230:-;;;;;;;;;;;;;:::i;2515:123:75:-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2515:123:75;-1:-1:-1;;;;;2515:123:75;;:::i;30165:228:83:-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;30165:228:83;-1:-1:-1;;;;;30165:228:83;;:::i;25859:160::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;25859:160:83;-1:-1:-1;;;;;25859:160:83;;:::i;9120:624::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9120:624:83;-1:-1:-1;;;;;9120:624:83;;:::i;9965:224::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9965:224:83;-1:-1:-1;;;;;9965:224:83;;:::i;29789:127::-;;;;;;;;;;;;;:::i;4270:313::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4270:313:83;;:::i;30918:140::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;30918:140:83;-1:-1:-1;;;;;30918:140:83;;:::i;5014:245::-;;;;;;;;;;;;;:::i;3281:147:68:-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3281:147:68;-1:-1:-1;;;;;3281:147:68;;:::i;8092:347:83:-;;;;;;;;;;;;;:::i;29044:95::-;;;;;;;;;;;;;:::i;24056:254::-;;;;;;;;;;;;;:::i;28371:159::-;;;;;;;;;;;;;:::i;24459:255::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;24459:255:83;;;;;;;;:::i;12482:336::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;12482:336:83;;;;;;;;;;;;;;;-1:-1:-1;;;12482:336:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;12482:336:83;;;;;;;;;;-1:-1:-1;12482:336:83;;-1:-1:-1;12482:336:83;-1:-1:-1;12482:336:83;:::i;2174:202:68:-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2174:202:68;-1:-1:-1;;;;;2174:202:68;;:::i;1584:174:230:-;;;;;;;;;;;;;:::i;28093:142:83:-;;;;;;;;;;;;;:::i;6232:240::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;6232:240:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;6232:240:83;;;;;;;;;;-1:-1:-1;6232:240:83;;-1:-1:-1;6232:240:83;-1:-1:-1;6232:240:83;:::i;27464:196::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13881:178;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;13881:178:83;;;;;;;;;;;;;;;;;:::i;5625:136::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5625:136:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5625:136:83;;;;;;;;;;-1:-1:-1;5625:136:83;;-1:-1:-1;5625:136:83;-1:-1:-1;5625:136:83;:::i;27782:130::-;;;;;;;;;;;;;:::i;26920:104::-;;;;;;;;;;;;;:::i;13212:311::-;;;;;;;;;;;;;:::i;29521:127::-;;;;;;;;;;;;;:::i;2280:149:75:-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;2280:149:75;;;;;;;;;;:::i;28850:96:83:-;;;;;;;;;;;;;:::i;10715:126::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;10715:126:83;;;;;;;;:::i;28642:99::-;;;;;;;;;;;;;:::i;29266:114::-;;;;;;;;;;;;;:::i;31538:99::-;31620:10;31538:99;;:::o;2882:94:75:-;2959:10;2952:17;;;;;;;;-1:-1:-1;;2952:17:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2927:13;;2952:17;;2959:10;;2952:17;;2959:10;2952:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2882:94;:::o;1218:160::-;1294:4;1310:40;1320:10;1332:8;1342:7;1310:9;:40::i;:::-;-1:-1:-1;1367:4:75;1218:160;;;;:::o;26710:103:83:-;26799:7;;-1:-1:-1;;;;;26799:7:83;26710:103;:::o;3245:102:75:-;3323:17;;3245:102;:::o;11399:848:83:-;2725:8;;-1:-1:-1;;;;;2725:8:83;2711:10;:22;2703:82;;;;-1:-1:-1;;;2703:82:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11560:23:::1;11607;:21;:23::i;:::-;-1:-1:-1::0;;;;;11586:92:83::1;;11679:13;11694:9;11705:4;11586:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;11586:124:83;;-1:-1:-1;11725:20:83;11721:57:::1;;11761:7;;;11721:57;11892:46;11899:23;:21;:23::i;:::-;11924:13;11892:6;:46::i;:::-;11979:1;11953:14;:12;:14::i;:::-;-1:-1:-1::0;;;;;11953:28:83::1;;11949:206;;;12011:13;:11;:13::i;:::-;-1:-1:-1::0;;;;;11997:33:83::1;;12031:15;11997:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;11949:206;;;12078:66;12112:14;:12;:14::i;:::-;12128:15;12084:13;:11;:13::i;:::-;-1:-1:-1::0;;;;;12078:33:83::1;::::0;:66;:33:::1;:66::i;:::-;12170:70;::::0;;;;;::::1;::::0;::::1;::::0;;;;;;;;;;;::::1;::::0;;;;;;;::::1;2795:1;;11399:848:::0;;;:::o;24867:288::-;24998:13;25023:59;25053:7;25062:10;25074:7;25023:29;:59::i;:::-;25100:48;25119:7;25128:10;25140:7;25100:18;:48::i;:::-;25093:55;;24867:288;;;;;;:::o;8655:284::-;2865:5;;-1:-1:-1;;;;;2865:5:83;2848:13;:11;:13::i;:::-;-1:-1:-1;;;;;2848:22:83;;2840:72;;;;-1:-1:-1;;;2840:72:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8751:8:::1;::::0;-1:-1:-1;;;;;8751:8:83;;::::1;::::0;8777:29;::::1;::::0;::::1;;8769:72;;;::::0;;-1:-1:-1;;;8769:72:83;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;8852:8;:24:::0;;-1:-1:-1;;;;;;8852:24:83::1;-1:-1:-1::0;;;;;8852:24:83;;::::1;::::0;;::::1;::::0;;;8892:40:::1;::::0;;;;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;::::1;::::0;;;;;;;;::::1;2922:1;8655:284:::0;:::o;14817:1413::-;2725:8;;-1:-1:-1;;;;;2725:8:83;2711:10;:22;2703:82;;;;-1:-1:-1;;;2703:82:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14987:31:::1;14976:7;:42;;;;;;;;;14972:1252;;;15034:52;15074:11;;15034:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;15034:39:83::1;::::0;-1:-1:-1;;;15034:52:83:i:1;:::-;14972:1252;;;15118:27;15107:7;:38;;;;;;;;;15103:1121;;;15161:48;15197:11;;15161:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;15161:35:83::1;::::0;-1:-1:-1;;;15161:48:83:i:1;15103:1121::-;15241:31;15230:7;:42;;;;;;;;;15226:998;;;15288:52;15328:11;;15288:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;15288:39:83::1;::::0;-1:-1:-1;;;15288:52:83:i:1;15226:998::-;15372:22;15361:7;:33;;;;;;;;;15357:867;;;15410:43;15441:11;;15410:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;15410:30:83::1;::::0;-1:-1:-1;;;15410:43:83:i:1;15357:867::-;15485:34;15474:7;:45;;;;;;;;;15470:754;;;15535:55;15578:11;;15535:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;15535:42:83::1;::::0;-1:-1:-1;;;15535:55:83:i:1;15470:754::-;15622:22;15611:7;:33;;;;;;;;;15607:617;;;15660:43;15691:11;;15660:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;15660:30:83::1;::::0;-1:-1:-1;;;15660:43:83:i:1;15607:617::-;15735:34;15724:7;:45;;;;;;;;;15720:504;;;15785:55;15828:11;;15785:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;15785:42:83::1;::::0;-1:-1:-1;;;15785:55:83:i:1;15720:504::-;15872:30;15861:7;:41;;;;;;;;;15857:367;;;15918:51;15957:11;;15918:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;15918:38:83::1;::::0;-1:-1:-1;;;15918:51:83:i:1;15857:367::-;16001:26;15990:7;:37;;;;;;;;;15986:238;;;16043:47;16078:11;;16043:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;16043:34:83::1;::::0;-1:-1:-1;;;16043:47:83:i:1;15986:238::-;16122:27;16111:7;:38;;;;;;;;;16107:117;;;16165:48;16201:11;;16165:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;16165:35:83::1;::::0;-1:-1:-1;;;16165:48:83:i:1;27197:115::-:0;27291:14;;;;;-1:-1:-1;;;;;27291:14:83;;27197:115::o;31238:188::-;31395:24;;;;31238:188;:::o;2727:74:75:-;2792:2;2727:74;:::o;26214:181:83:-;26283:19;26329:10;:8;:10::i;:::-;-1:-1:-1;;;;;26321:18:83;:4;-1:-1:-1;;;;;26321:18:83;;:42;;;;26343:20;26358:4;26343:14;:20::i;:::-;26321:67;;;;26375:13;:11;:13::i;:::-;-1:-1:-1;;;;;26367:21:83;:4;-1:-1:-1;;;;;26367:21:83;;26321:67;26314:74;26214:181;-1:-1:-1;;26214:181:83:o;6715:355::-;2865:5;;-1:-1:-1;;;;;2865:5:83;2848:13;:11;:13::i;:::-;-1:-1:-1;;;;;2848:22:83;;2840:72;;;;-1:-1:-1;;;2840:72:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6805:9:::1;6800:264;6816:20:::0;;::::1;6800:264;;;6866:28;6881:9;;6891:1;6881:12;;;;;;;;;;;;;-1:-1:-1::0;;;;;6881:12:83::1;6866:14;:28::i;:::-;6865:29;6857:86;;;;-1:-1:-1::0;;;6857:86:83::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6998:4;6958:23;:37;6982:9;;6992:1;6982:12;;;;;;;;;;;;;-1:-1:-1::0;;;;;6982:12:83::1;-1:-1:-1::0;;;;;6958:37:83::1;-1:-1:-1::0;;;;;6958:37:83::1;;;;;;;;;;;;;:44;;;;;;;;;;;;;;;;;;7022:31;7040:9;;7050:1;7040:12;;;;;;;;;;;;;-1:-1:-1::0;;;;;7040:12:83::1;7022:31;;;;-1:-1:-1::0;;;;;7022:31:83::1;;;;;;;;;;;;;;;6838:3;;6800:264;;2734:311:68::0;2828:7;;-1:-1:-1;;;;;2828:7:68;2814:10;:21;2806:84;;;;-1:-1:-1;;;2806:84:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2901:20;2924:13;:11;:13::i;:::-;2901:36;;2948:34;2968:13;2948:19;:34::i;:::-;2998:40;;;-1:-1:-1;;;;;2998:40:68;;;;;;;;;;;;;;;;;;;;;;;;2734:311;;:::o;14304:196:83:-;2725:8;;-1:-1:-1;;;;;2725:8:83;2711:10;:22;2703:82;;;;-1:-1:-1;;;2703:82:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14450:43:::1;14468:6;14476:7;14485;14450:17;:43::i;7124:381::-:0;7189:14;;;;;-1:-1:-1;;;;;7189:14:83;7234:10;:23;;7213:132;;;;-1:-1:-1;;;7213:132:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7363:14;7356:21;;-1:-1:-1;;;;;;7356:21:83;;;7408:5;;;-1:-1:-1;;;;;7423:17:83;;;-1:-1:-1;;;;;;7423:17:83;;;;;;;7456:42;;7408:5;;;7423:17;7408:5;;7456:42;;-1:-1:-1;;7456:42:83;7124:381;;:::o;10423:114::-;2725:8;;-1:-1:-1;;;;;2725:8:83;2711:10;:22;2703:82;;;;-1:-1:-1;;;2703:82:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10505:25:::1;10523:6;10505:17;:25::i;:::-;10423:114:::0;:::o;12994:126::-;2725:8;;-1:-1:-1;;;;;2725:8:83;2711:10;:22;2703:82;;;;-1:-1:-1;;;2703:82:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13089:24:::1;13096:7;13105;13089:6;:24::i;:::-;12994:126:::0;;:::o;1593:151:74:-;1671:66;1593:151;:::o;26502:104:83:-;26591:8;;-1:-1:-1;;;;;26591:8:83;26502:104;:::o;1627:385:68:-;1769:7;;-1:-1:-1;;;;;1769:7:68;:21;1761:65;;;;;-1:-1:-1;;;1761:65:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;1836:7;:20;;-1:-1:-1;;;;;;1836:20:68;1846:10;1836:20;;;1866:22;1836:7;1879:9;;1866:22;:::i;:::-;;1899:24;1913:9;1899:13;:24::i;:::-;1933:18;1944:6;1933:10;:18::i;:::-;1967:38;1987:1;1991:13;:11;:13::i;:::-;1967:38;;;;-1:-1:-1;;;;;1967:38:68;;;;;;-1:-1:-1;;;;;1967:38:68;;;;;;;;;;;;;;;;1627:385;;;;:::o;30590:134:83:-;-1:-1:-1;;;;;30688:29:83;30649:20;30688:29;;;:23;:29;;;;;;;;;30590:134::o;7665:359::-;2865:5;;-1:-1:-1;;;;;2865:5:83;2848:13;:11;:13::i;:::-;-1:-1:-1;;;;;2848:22:83;;2840:72;;;;-1:-1:-1;;;2840:72:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7758:9:::1;7753:265;7769:20:::0;;::::1;7753:265;;;7818:28;7833:9;;7843:1;7833:12;;;;;;7818:28;7810:84;;;;-1:-1:-1::0;;;7810:84:83::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7949:5;7909:23;:37;7933:9;;7943:1;7933:12;;;;;;;;;;;;;-1:-1:-1::0;;;;;7933:12:83::1;-1:-1:-1::0;;;;;7909:37:83::1;-1:-1:-1::0;;;;;7909:37:83::1;;;;;;;;;;;;;:45;;;;;;;;;;;;;;;;;;7974:33;7994:9;;8004:1;7994:12;;;;;;;;;;;;;-1:-1:-1::0;;;;;7994:12:83::1;7974:33;;;;-1:-1:-1::0;;;;;7974:33:83::1;;;;;;;;;;;;;;;7791:3;;7753:265;;3555:259:68::0;3705:66;3699:73;3555:259;:::o;1880:260:230:-;1940:25;2052:29;:27;:29::i;:::-;-1:-1:-1;;;;;2032:66:230;;:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2032:68:230;1996:137;;;-1:-1:-1;;;1996:137:230;;;;-1:-1:-1;;;;;1996:135:230;;;;;;:137;;;;;2032:68;;1996:137;;;;;;;;:135;:137;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1996:137:230;;-1:-1:-1;1880:260:230;:::o;2515:123:75:-;-1:-1:-1;;;;;2607:24:75;2581:7;2607:24;;;:14;:24;;;;;;;2515:123::o;30165:228:83:-;-1:-1:-1;;;;;30341:45:83;30288:30;30341:45;;;:26;:45;;;;;;;;;30165:228::o;25859:160::-;25930:21;25978:10;:8;:10::i;:::-;-1:-1:-1;;;;;25970:18:83;:4;-1:-1:-1;;;;;25970:18:83;;:42;;;;25992:20;26007:4;25992:14;:20::i;9120:624::-;2865:5;;-1:-1:-1;;;;;2865:5:83;2848:13;:11;:13::i;:::-;-1:-1:-1;;;;;2848:22:83;;2840:72;;;;-1:-1:-1;;;2840:72:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9226:33:83;::::1;9205:134;;;;-1:-1:-1::0;;;9205:134:83::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9393:5;::::0;-1:-1:-1;;;;;9370:28:83;;::::1;9393:5:::0;::::1;9370:28;;9349:134;;;;-1:-1:-1::0;;;9349:134:83::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9537:14;::::0;-1:-1:-1;;;;;9514:37:83;;::::1;9537:14;::::0;;::::1;;9514:37;;9493:143;;;;-1:-1:-1::0;;;9493:143:83::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9647:14;:36:::0;;-1:-1:-1;;;;;;9647:36:83::1;;-1:-1:-1::0;;;;;9647:36:83;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;9699:38:::1;::::0;::::1;::::0;-1:-1:-1;;9699:38:83::1;9120:624:::0;:::o;9965:224::-;10081:17;:15;:17::i;:::-;-1:-1:-1;;;;;10067:31:83;:10;-1:-1:-1;;;;;10067:31:83;;10059:84;;;;-1:-1:-1;;;10059:84:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10154:28;10168:13;10154;:28::i;29789:127::-;29889:20;29789:127;:::o;4270:313::-;4390:28;4478;:26;:28::i;:::-;-1:-1:-1;;;;;4453:84:83;;4555:7;4453:123;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4453:123:83;;4270:313;-1:-1:-1;;4270:313:83:o;30918:140::-;-1:-1:-1;;;;;31027:24:83;30988:20;31027:24;;;:16;:24;;;;;;;;;30918:140::o;5014:245::-;2865:5;;-1:-1:-1;;;;;2865:5:83;2848:13;:11;:13::i;:::-;-1:-1:-1;;;;;2848:22:83;;2840:72;;;;-1:-1:-1;;;2840:72:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5091:29:::1;:27;:29::i;:::-;5090:30;5082:83;;;;-1:-1:-1::0;;;5082:83:83::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5176:24;:31:::0;;-1:-1:-1;;5176:31:83::1;5203:4;5176:31;::::0;;5223:29:::1;::::0;::::1;::::0;5176:24:::1;::::0;5223:29:::1;5014:245::o:0;3281:147:68:-;3396:5;;3353:16;;-1:-1:-1;;;;;3388:13:68;;;3396:5;;3388:13;;:33;;-1:-1:-1;;3413:8:68;;-1:-1:-1;;;;;3413:8:68;;;3405:16;;;;3281:147::o;8092:347:83:-;2865:5;;-1:-1:-1;;;;;2865:5:83;2848:13;:11;:13::i;:::-;-1:-1:-1;;;;;2848:22:83;;2840:72;;;;-1:-1:-1;;;2840:72:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8185:14:::1;::::0;::::1;::::0;::::1;-1:-1:-1::0;;;;;8185:14:83::1;::::0;8209:131:::1;;;;-1:-1:-1::0;;;8209:131:83::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8358:14;8351:21:::0;;-1:-1:-1;;;;;;8351:21:83::1;::::0;;8388:44:::1;::::0;-1:-1:-1;;;;;8388:44:83;::::1;::::0;::::1;::::0;-1:-1:-1;;8388:44:83::1;2922:1;8092:347::o:0;29044:95::-;29127:5;;-1:-1:-1;;;;;29127:5:83;29044:95;:::o;24056:254::-;24147:12;24137:22;;;;;;;;-1:-1:-1;;24137:22:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24104:21;;24137:22;;24147:12;;24137:22;;24147:12;24137:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24179:7;24173:21;24198:1;24173:26;24169:110;;;24237:7;;;;;;;;;-1:-1:-1;;;;;24237:7:83;-1:-1:-1;;;;;24225:41:83;;:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;24225:43:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;24225:43:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;24225:43:83;;;;;;-1:-1:-1;24225:43:83;;;;;;;;;;-1:-1:-1;24225:43:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24215:53;;24056:254;:::o;28371:159::-;28471:7;;28459:64;;;-1:-1:-1;;;28459:64:83;;28517:4;28459:64;;;;;;28419:21;;-1:-1:-1;;;;;28471:7:83;;28459:49;;:64;;;;;;;;;;;;;;28471:7;28459:64;;;;;;;;;;24459:255;24563:13;24592:62;24622:10;24634;24646:7;24592:29;:62::i;:::-;24672:35;24687:10;24699:7;24672:14;:35::i;12482:336::-;2725:8;;12623:24;;-1:-1:-1;;;;;2725:8:83;2711:10;:22;2703:82;;;;-1:-1:-1;;;2703:82:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12663:12:::1;12710:9;-1:-1:-1::0;;;;;12710:14:83::1;12725:9;;12710:25;;;;;;;;;;::::0;;::::1;::::0;-1:-1:-1;12710:25:83::1;::::0;-1:-1:-1;12710:25:83;;-1:-1:-1;;12710:25:83;;::::1;::::0;;;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;12685:50:83;-1:-1:-1;12685:50:83;-1:-1:-1;12685:50:83;;12745:37:::1;;;;-1:-1:-1::0;;;12745:37:83::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;;::::1;::::0;;;::::1;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12793:18;12482:336:::0;;;;;:::o;2174:202:68:-;2268:7;;-1:-1:-1;;;;;2268:7:68;2254:10;:21;2246:84;;;;-1:-1:-1;;;2246:84:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1584:174:230;1724:27;1584:174;:::o;28093:142:83:-;28203:25;28093:142;:::o;6232:240::-;6333:5;;-1:-1:-1;;;;;6333:5:83;6316:13;:11;:13::i;:::-;-1:-1:-1;;;;;6316:22:83;;:57;;;;6356:17;:15;:17::i;:::-;-1:-1:-1;;;;;6342:31:83;:10;-1:-1:-1;;;;;6342:31:83;;6316:57;6308:82;;;;;-1:-1:-1;;;6308:82:83;;;;;;;;;;;;-1:-1:-1;;;6308:82:83;;;;;;;;;;;;;;;6401:26;:12;6416:11;;6401:26;:::i;:::-;;6443:22;6453:11;;6443:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6443:22:83;;;;;;;;-1:-1:-1;6443:22:83;;-1:-1:-1;;;;6443:22:83;6232:240;;:::o;27464:196::-;27566:41;27630:23;27623:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;27623:30:83;;;;;;;;;;;;;;;;;;;;;;27464:196;:::o;13881:178::-;2725:8;;-1:-1:-1;;;;;2725:8:83;2711:10;:22;2703:82;;;;-1:-1:-1;;;2703:82:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14021:31:::1;14032:5;14039:3;14044:7;14021:10;:31::i;5625:136::-:0;2865:5;;-1:-1:-1;;;;;2865:5:83;2848:13;:11;:13::i;:::-;-1:-1:-1;;;;;2848:22:83;;2840:72;;;;-1:-1:-1;;;2840:72:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5698:22:::1;:10;5711:9:::0;;5698:22:::1;:::i;:::-;;5736:18;5744:9;;5736:18;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;;::::1;::::0;::::1;::::0;::::1;::::0;;::::1;-1:-1:-1::0;;5736:18:83::1;::::0;;::::1;::::0;;::::1;::::0;-1:-1:-1;5736:18:83;;-1:-1:-1;;;;5736:18:83::1;5625:136:::0;;:::o;27782:130::-;27842:31;27892:13;27885:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;27885:20:83;;;;;;;;;;;;;;;;;;;;;;27782:130;:::o;26920:104::-;27009:8;;-1:-1:-1;;;;;27009:8:83;26920:104;:::o;13212:311::-;2725:8;;-1:-1:-1;;;;;2725:8:83;2711:10;:22;2703:82;;;;-1:-1:-1;;;2703:82:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13279:17:::1;13319:23;:21;:23::i;:::-;-1:-1:-1::0;;;;;13299:51:83::1;;:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;13299:53:83;;-1:-1:-1;13367:14:83;13363:51:::1;;13397:7;;;13363:51;13424:42;13431:23;:21;:23::i;:::-;13456:9;13424:6;:42::i;:::-;13482:34;::::0;;;;;;;::::1;::::0;;;;::::1;::::0;;::::1;2795:1;;13212:311::o:0;29521:127::-;29621:20;29521:127;:::o;2280:149:75:-;-1:-1:-1;;;;;2388:24:75;;;2362:7;2388:24;;;:16;:24;;;;;;;;:34;;;;;;;;;;;;;2280:149::o;28850:96:83:-;28930:9;28850:96;:::o;10715:126::-;2725:8;;-1:-1:-1;;;;;2725:8:83;2711:10;:22;2703:82;;;;-1:-1:-1;;;2703:82:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10810:24:::1;10817:7;10826;10810:6;:24::i;28642:99::-:0;28724:10;28642:99;:::o;29266:114::-;29358:15;29266:114;:::o;3434:387:75:-;-1:-1:-1;;;;;3569:20:75;;3561:69;;;;-1:-1:-1;;;3561:69:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3648:22:75;;3640:69;;;;-1:-1:-1;;;3640:69:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3720:24:75;;;;;;;:16;:24;;;;;;;;:34;;;;;;;;;;;;;:44;;;3779:35;;;;;;;;;;;;;;;;;3434:387;;;:::o;3898:414::-;-1:-1:-1;;;;;3984:22:75;;3976:68;;;;-1:-1:-1;;;3976:68:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4082:109;4124:7;4082:109;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4082:24:75;;;;;;:14;:24;;;;;;;:109;:28;:109::i;:::-;-1:-1:-1;;;;;4055:24:75;;;;;;:14;:24;;;;;:136;4221:17;;:30;;4243:7;4221:21;:30::i;:::-;4201:17;:50;4266:39;;;;;;;;4293:1;;-1:-1:-1;;;;;4266:39:75;;;;;;;;;;;;3898:414;;:::o;704:175:450:-;813:58;;;-1:-1:-1;;;;;813:58:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;813:58:450;-1:-1:-1;;;813:58:450;;;786:86;;806:5;;786:19;:86::i;25225:383:83:-;25370:29;:27;:29::i;:::-;25366:236;;;25428:8;;25415:71;;;-1:-1:-1;;;25415:71:83;;-1:-1:-1;;;;;25415:71:83;;;;;;;;;25428:8;;;;;25415:62;;:71;;;;;25428:8;;25415:71;;;;;;;25428:8;25415:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25366:236;;;25530:8;;25517:74;;;-1:-1:-1;;;25517:74:83;;-1:-1:-1;;;;;25517:74:83;;;;;;;;;;;;;;;;;;;;;;25530:8;;;;;25517:44;;:74;;;;;25530:8;;25517:74;;;;;;;25530:8;;25517:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25225:383;;;:::o;1718:442:75:-;1848:4;1864:40;1875:7;1884:10;1896:7;1864:10;:40::i;:::-;1914:218;1937:7;1958:10;1982:140;2041:7;1982:140;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1982:25:75;;;;;;:16;:25;;;;;;;;2008:10;1982:37;;;;;;;;;:140;:41;:140::i;:::-;1914:9;:218::i;:::-;-1:-1:-1;2149:4:75;1718:442;;;;;:::o;983:367:230:-;1029:32;1096:2;1077:8;:21;;;;:68;;;1116:29;:27;:29::i;:::-;-1:-1:-1;;;;;1102:43:230;:10;-1:-1:-1;;;;;1102:43:230;;1077:68;1073:243;;;-1:-1:-1;;;1233:14:230;1229:23;1216:37;1212:2;1208:46;1282:23;;1073:243;-1:-1:-1;1333:10:230;983:367;:::o;16321:157:83:-;16414:57;16447:11;16436:34;;;;;;;;;;;;;;;-1:-1:-1;16436:34:83;16414:21;:57::i;16565:149::-;16654:53;16683:11;16672:34;;;;;;;;;;;;;;;-1:-1:-1;16672:34:83;16654:17;:53::i;16805:291::-;16899:13;16914:14;16930;16972:11;16948:86;;;;;;;;;;;;;;;-1:-1:-1;16948:86:83;;;;;;;;;;;;;-1:-1:-1;16948:86:83;;-1:-1:-1;16948:86:83;-1:-1:-1;17045:44:83;16948:86;;;17045:21;:44::i;:::-;16805:291;;;;:::o;17178:202::-;17263:14;17279;17308:11;17297:43;;;;;;;;;;;;;;;-1:-1:-1;17297:43:83;;;;;;;;;-1:-1:-1;17297:43:83;-1:-1:-1;17351:22:83;17297:43;;17351:6;:22::i;17474:639::-;17584:24;17622:45;17681:33;17728:34;17776:32;17832:11;17821:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;17821:74:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;17821:74:83;;;;;;-1:-1:-1;17821:74:83;;;;;;;;;;-1:-1:-1;17821:74:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;17821:74:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;17821:74:83;;;;;;;;;;;;-1:-1:-1;17821:74:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;17821:74:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;17821:74:83;;;;;;;;;;;;-1:-1:-1;17821:74:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;17821:74:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;17821:74:83;;;;;;;;;;;;-1:-1:-1;17821:74:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17570:325;;;;;;;;;;17906:200;17944:16;17974:32;18020:16;18050:17;18081:15;17906:24;:200::i;:::-;17474:639;;;;;;:::o;18195:202::-;18280:14;18296;18325:11;18314:43;;;;;;;;;;;;;;;-1:-1:-1;18314:43:83;;;;;;;;;-1:-1:-1;18314:43:83;-1:-1:-1;18368:22:83;18314:43;;18368:6;:22::i;18491:163::-;18587:60;18623:11;18612:34;;;;;;;;;;;;;;;-1:-1:-1;18612:34:83;18587:24;:60::i;18744:155::-;18836:56;18868:11;18857:34;;;;;;;;;;;;;;;-1:-1:-1;18857:34:83;18836:20;:56::i;18985:265::-;19074:12;19088:10;19100:14;19142:11;19118:86;;;;;;;;;;;;;;;-1:-1:-1;19118:86:83;;;;;;;;;;;;;-1:-1:-1;19118:86:83;;-1:-1:-1;19118:86:83;-1:-1:-1;19215:28:83;19118:86;;;19215:10;:28::i;19337:283::-;19427:13;19442:14;19458;19500:11;19476:86;;;;;;;;;;;;;;;-1:-1:-1;19476:86:83;;;;;;;;;;;;;-1:-1:-1;19476:86:83;;-1:-1:-1;19476:86:83;-1:-1:-1;19573:40:83;19476:86;;;19573:17;:40::i;856:529:74:-;1061:13;-1:-1:-1;;;;;1043:46:74;;:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1043:48:74;956:66;948:143;927:239;;;;-1:-1:-1;;;927:239:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1258:66;1234:135;1185:194::o;23507:250:83:-;23632:6;-1:-1:-1;;;;;2597:23:83;;2615:4;2597:23;;2589:56;;;;;-1:-1:-1;;;2589:56:83;;;;;;;;;;;;-1:-1:-1;;;2589:56:83;;;;;;;;;;;;;;;23650:44:::1;-1:-1:-1::0;;;;;23650:26:83;::::1;23677:7:::0;23686;23650:26:::1;:44::i;:::-;23733:7;-1:-1:-1::0;;;;;23710:40:83::1;23725:6;-1:-1:-1::0;;;;;23710:40:83::1;;23742:7;23710:40;;;;;;;;;;;;;;;;;;23507:250:::0;;;;:::o;20179:296::-;20240:6;-1:-1:-1;;;;;2597:23:83;;2615:4;2597:23;;2589:56;;;;;-1:-1:-1;;;2589:56:83;;;;;;;;;;;;-1:-1:-1;;;2589:56:83;;;;;;;;;;;;;;;20263:22:::1;20278:6;20263:14;:22::i;:::-;20258:211;;20301:26;:24;:26::i;:::-;-1:-1:-1::0;;;;;20342:24:83;::::1;;::::0;;;:16:::1;:24;::::0;;;;;;;:31;;-1:-1:-1;;20342:31:83::1;20369:4;20342:31:::0;;::::1;::::0;;;20387:13:::1;:26:::0;;;;::::1;::::0;;;;;;;;::::1;::::0;;-1:-1:-1;;;;;;20387:26:83::1;::::0;::::1;::::0;;20433:25;;;;;;;::::1;::::0;;;;;;;;::::1;20179:296:::0;;:::o;4387:340:75:-;-1:-1:-1;;;;;4473:22:75;;4465:66;;;;;-1:-1:-1;;;4465:66:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;4562:17;;:30;;4584:7;4562:21;:30::i;:::-;4542:17;:50;-1:-1:-1;;;;;4629:24:75;;;;;;:14;:24;;;;;;:37;;4658:7;4629:28;:37::i;:::-;-1:-1:-1;;;;;4602:24:75;;;;;;:14;:24;;;;;;;;:64;;;;4681:39;;;;;;;4602:24;;;;4681:39;;;;;;;;;;4387:340;;:::o;3991:288:68:-;-1:-1:-1;;;;;4064:27:68;;4056:84;;;;-1:-1:-1;;;4056:84:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4173:8;;;-1:-1:-1;;;;;4192:24:68;;;-1:-1:-1;;;;;;4192:24:68;;;;;;;4232:40;;;4173:8;;;;4232:40;;;;;;;;;;;;;;;;;;;;;;;3991:288;;:::o;4340:341::-;-1:-1:-1;;;;;4407:24:68;;4399:75;;;;-1:-1:-1;;;4399:75:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4504:5;;-1:-1:-1;;;;;4504:5:68;;;;4527:23;;;;;4519:79;;;;-1:-1:-1;;;4519:79:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4609:5;:18;;-1:-1:-1;;;;;;4609:18:68;-1:-1:-1;;;;;4609:18:68;;;;;;;;;4643:31;;;;;;;;;;;;;;;;;;;;;;;;;;;4340:341;;:::o;1463:166:75:-;1542:4;1558:43;1569:10;1581;1593:7;4809:571;-1:-1:-1;;;;;4948:21:75;;4940:71;;;;-1:-1:-1;;;4940:71:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5029:24:75;;5021:72;;;;-1:-1:-1;;;5021:72:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5130:112;5171:7;5130:112;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5130:23:75;;;;;;:14;:23;;;;;;;:112;:27;:112::i;:::-;-1:-1:-1;;;;;5104:23:75;;;;;;;:14;:23;;;;;;:138;;;;5281:26;;;;;;;:39;;5312:7;5281:30;:39::i;:::-;-1:-1:-1;;;;;5252:26:75;;;;;;;:14;:26;;;;;;;;;:68;;;;5335:38;;;;;;;5252:26;;5335:38;;;;;;;;;;;;;4809:571;;;:::o;947:217:76:-;1063:7;1098:12;1090:6;;;;1082:29;;;;-1:-1:-1;;;1082:29:76;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1133:5:76;;;947:217::o;799:142::-;857:7;883:51;887:1;890;883:51;;;;;;;;;;;;;;;;;:3;:51::i;2967:751:450:-;3386:23;3412:69;3440:4;3412:69;;;;;;;;;;;;;;;;;3420:5;-1:-1:-1;;;;;3412:27:450;;;:69;;;;;:::i;:::-;3495:17;;3386:95;;-1:-1:-1;3495:21:450;3491:221;;3635:10;3624:30;;;;;;;;;;;;;;;-1:-1:-1;3624:30:450;3616:85;;;;-1:-1:-1;;;3616:85:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19759:371:83;19840:43;19865:17;19840:24;:43::i;:::-;19835:289;;19899:26;:24;:26::i;:::-;-1:-1:-1;;;;;19940:45:83;;;;;;:26;:45;;;;;;:52;;-1:-1:-1;;19940:52:83;19988:4;19940:52;;;;;;20006:23;:47;;;;;;;;;;;;;-1:-1:-1;;;;;;20006:47:83;;;;;20073:40;;;19940:45;20073:40;19759:371;:::o;20557:370::-;20686:6;-1:-1:-1;;;;;2597:23:83;;2615:4;2597:23;;2589:56;;;;;-1:-1:-1;;;2589:56:83;;;;;;;;;;;;-1:-1:-1;;;2589:56:83;;;;;;;;;;;;;;;20753:47:::1;::::0;;-1:-1:-1;;;20753:47:83;;20785:4:::1;20753:47;::::0;::::1;::::0;-1:-1:-1;;;;;20753:47:83;;::::1;::::0;;;;;;20732:6;;20704:19:::1;::::0;20753:23;;::::1;::::0;::::1;::::0;:47;;;;;::::1;::::0;;;;;;;;;:23;:47;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;20753:47:83;:51:::1;20749:119;;;20820:37;-1:-1:-1::0;;;;;20820:25:83;::::1;20846:7:::0;20855:1:::1;20820:25;:37::i;:::-;20877:43;-1:-1:-1::0;;;;;20877:25:83;::::1;20903:7:::0;20912;20877:25:::1;:43::i;:::-;2655:1;20557:370:::0;;;;:::o;21377:784::-;21657:43;21682:17;21657:24;:43::i;:::-;21636:147;;;;-1:-1:-1;;;21636:147:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21799:9;21794:157;21814:17;:24;21810:1;:28;21794:157;;;21859:81;21877:17;21895:1;21877:20;;;;;;;;;;;;;;21899:17;21918:18;21937:1;21918:21;;;;;;;;;;;;;;21859:17;:81::i;:::-;21840:3;;21794:157;;;-1:-1:-1;21961:70:83;;-1:-1:-1;;;21961:70:83;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;21961:57:83;;;;;22019:11;;21961:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22047:9;22042:113;22062:16;:23;22058:1;:27;22042:113;;;22106:38;22124:16;22141:1;22124:19;;;;;;;;;;;;;;22106:17;:38::i;:::-;22087:3;;22042:113;;22451:349;22534:43;22559:17;22534:24;:43::i;:::-;22530:264;;;-1:-1:-1;;;;;22593:45:83;;22641:5;22593:45;;;:26;:45;;;;;:53;;-1:-1:-1;;22593:53:83;;;22661:60;:23;22620:17;22661:41;:60::i;:::-;-1:-1:-1;22741:42:83;;-1:-1:-1;;;;;22741:42:83;;;;;;;;22451:349;:::o;22852:256::-;22920:22;22935:6;22920:14;:22::i;:::-;22916:186;;;-1:-1:-1;;;;;22958:24:83;;22985:5;22958:24;;;:16;:24;;;;;:32;;-1:-1:-1;;22958:32:83;;;23005:39;:13;22975:6;23005:31;:39::i;:::-;-1:-1:-1;23064:27:83;;;-1:-1:-1;;;;;23064:27:83;;;;;;;;;;;;;;;22852:256;:::o;23192:228::-;23328:19;:17;:19::i;:::-;23295:23;:30;23272:13;:20;:53;:75;23251:162;;;;-1:-1:-1;;;23251:162:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;609:184:76;667:7;698:5;;;721:6;;;;713:54;;;;-1:-1:-1;;;713:54:76;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3581:193:451;3684:12;3715:52;3737:6;3745:4;3751:1;3754:12;3715:21;:52::i;1348:613:450:-;1713:10;;;1712:62;;-1:-1:-1;1729:39:450;;;-1:-1:-1;;;1729:39:450;;1753:4;1729:39;;;;-1:-1:-1;;;;;1729:39:450;;;;;;;;;:15;;;;;;:39;;;;;;;;;;;;;;;:15;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1729:39:450;:44;1712:62;1704:150;;;;-1:-1:-1;;;1704:150:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1891:62;;;-1:-1:-1;;;;;1891:62:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1891:62:450;-1:-1:-1;;;1891:62:450;;;1864:90;;1884:5;;1864:19;:90::i;569:515:354:-;727:12;;678:13;;;749:303;769:9;765:1;:13;749:303;;;815:13;-1:-1:-1;;;;;803:25:354;:5;809:1;803:8;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;803:8:354;:25;799:243;;;868:1;856:9;:13;852:1;:17;848:95;;;904:5;922:1;910:9;:13;904:20;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;904:20:354;893:5;899:1;893:8;;;;;;;;;;;;;;;;:31;;;;;-1:-1:-1;;;;;893:31:354;;;;;-1:-1:-1;;;;;893:31:354;;;;;;848:95;960:5;:11;;;;;;;;;;;;;;;;-1:-1:-1;;960:11:354;;;;;-1:-1:-1;;;;;;960:11:354;;;;;;;;-1:-1:-1;1022:5:354;;799:243;780:3;;749:303;;;;1062:15;569:515;;;;:::o;4608:523:451:-;4735:12;4792:5;4767:21;:30;;4759:81;;;;-1:-1:-1;;;4759:81:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4858:18;4869:6;4858:10;:18::i;:::-;4850:60;;;;;-1:-1:-1;;;4850:60:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;4981:12;4995:23;5022:6;-1:-1:-1;;;;;5022:11:451;5042:5;5050:4;5022:33;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5022:33:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4980:75;;;;5072:52;5090:7;5099:10;5111:12;5072:17;:52::i;:::-;5065:59;4608:523;-1:-1:-1;;;;;;;4608:523:451:o;726:413::-;1086:20;1124:8;;;726:413::o;7091:725::-;7206:12;7234:7;7230:580;;;-1:-1:-1;7264:10:451;7257:17;;7230:580;7375:17;;:21;7371:429;;7633:10;7627:17;7693:15;7680:10;7676:2;7672:19;7665:44;7582:145;7765:20;;-1:-1:-1;;;7765:20:451;;;;;;;;;;;;;;;;;7772:12;;7765:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;", - "linkReferences": {}, - "immutableReferences": { - "17286": [ - { - "start": 10394, - "length": 32 - } - ], - "17288": [ - { - "start": 11634, - "length": 32 - } - ], - "17290": [ - { - "start": 11515, - "length": 32 - } - ], - "17292": [ - { - "start": 11670, - "length": 32 - } - ], - "17294": [ - { - "start": 11436, - "length": 32 - } - ], - "17296": [ - { - "start": 8680, - "length": 32 - } - ], - "17298": [ - { - "start": 4097, - "length": 32 - } - ], - "62077": [ - { - "start": 10358, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "addAssetManagers(address[])": "3e11553d", - "addTrackedAsset(address)": "4ef0762e", - "allowance(address,address)": "dd62ed3e", - "approve(address,uint256)": "095ea7b3", - "balanceOf(address)": "70a08231", - "burnShares(address,uint256)": "ee7a7c04", - "buyBackProtocolFeeShares(uint256,uint256,uint256)": "1ff46bfa", - "callOnContract(address,bytes)": "a90cce4b", - "canManageAssets(address)": "714ca2d1", - "canMigrate(address)": "7de07cea", - "canRelayCalls(address)": "36861889", - "claimOwnership()": "4e71e0c8", - "decimals()": "313ce567", - "getAccessor()": "5a53e348", - "getActiveExternalPositions()": "b8b7f147", - "getCreator()": "0ee2cb10", - "getExternalPositionLibForType(uint256)": "75d8bb0e", - "getExternalPositionManager()": "b3fc38e9", - "getFundDeployer()": "97c0ac87", - "getGasRelayPaymasterFactory()": "ac259456", - "getGasRelayTrustedForwarder()": "6ea21143", - "getMigrator()": "cd63d578", - "getMlnBurner()": "fe15c02a", - "getMlnToken()": "e70e605e", - "getNominatedOwner()": "288b6a36", - "getOwner()": "893d20e8", - "getPositionsLimit()": "ff3cdf56", - "getProtocolFeeReserve()": "da41962e", - "getProtocolFeeTracker()": "749cc8f5", - "getTrackedAssets()": "c4b97370", - "getVaultLib()": "682cea19", - "getWethToken()": "4c252f91", - "init(address,address,string)": "5c9a6d37", - "isActiveExternalPosition(address)": "712bd102", - "isAssetManager(address)": "6487aa11", - "isTrackedAsset(address)": "797ed339", - "mintShares(address,uint256)": "528c198a", - "name()": "06fdde03", - "payProtocolFee()": "d5c20fa2", - "proxiableUUID()": "52d1902d", - "receiveValidatedVaultAction(uint8,bytes)": "24e60012", - "removeAssetManagers(address[])": "64cb36cb", - "removeNominatedOwner()": "8156eecf", - "setAccessor(address)": "ab9253ac", - "setAccessorForFundReconfiguration(address)": "740f2b5a", - "setFreelyTransferableShares()": "7c81ac2d", - "setMigrator(address)": "23cf3118", - "setName(string)": "c47f0027", - "setNominatedOwner(address)": "728e17a0", - "setSymbol(string)": "b84c8246", - "setVaultLib(address)": "4140d607", - "sharesAreFreelyTransferable()": "28c2ad9c", - "symbol()": "95d89b41", - "totalSupply()": "18160ddd", - "transfer(address,uint256)": "a9059cbb", - "transferFrom(address,address,uint256)": "23b872dd", - "transferShares(address,address,uint256)": "bfc77beb", - "withdrawAssetTo(address,address,uint256)": "495d753c" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_externalPositionManager\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_gasRelayPaymasterFactory\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_protocolFeeReserve\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_protocolFeeTracker\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_mlnToken\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_mlnBurner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_wethToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_positionsLimit\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"prevAccessor\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"nextAccessor\",\"type\":\"address\"}],\"name\":\"AccessorSet\",\"type\":\"event\"},{\"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\":false,\"internalType\":\"address\",\"name\":\"manager\",\"type\":\"address\"}],\"name\":\"AssetManagerAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"manager\",\"type\":\"address\"}],\"name\":\"AssetManagerRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"asset\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"AssetWithdrawn\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"EthReceived\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"externalPosition\",\"type\":\"address\"}],\"name\":\"ExternalPositionAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"externalPosition\",\"type\":\"address\"}],\"name\":\"ExternalPositionRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"FreelyTransferableSharesSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"prevMigrator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"nextMigrator\",\"type\":\"address\"}],\"name\":\"MigratorSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"NameSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"nominatedOwner\",\"type\":\"address\"}],\"name\":\"NominatedOwnerRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"nominatedOwner\",\"type\":\"address\"}],\"name\":\"NominatedOwnerSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"prevOwner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"nextOwner\",\"type\":\"address\"}],\"name\":\"OwnerSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"prevOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"nextOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"sharesAmount\",\"type\":\"uint256\"}],\"name\":\"ProtocolFeePaidInShares\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"sharesAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"mlnValue\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"mlnBurned\",\"type\":\"uint256\"}],\"name\":\"ProtocolFeeSharesBoughtBack\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"}],\"name\":\"SymbolSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"asset\",\"type\":\"address\"}],\"name\":\"TrackedAssetAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"asset\",\"type\":\"address\"}],\"name\":\"TrackedAssetRemoved\",\"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\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"prevVaultLib\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"nextVaultLib\",\"type\":\"address\"}],\"name\":\"VaultLibSet\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_managers\",\"type\":\"address[]\"}],\"name\":\"addAssetManagers\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"}],\"name\":\"addTrackedAsset\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"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\":[{\"internalType\":\"address\",\"name\":\"_target\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"burnShares\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_sharesAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_mlnValue\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_gav\",\"type\":\"uint256\"}],\"name\":\"buyBackProtocolFeeShares\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contract\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_callData\",\"type\":\"bytes\"}],\"name\":\"callOnContract\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"returnData_\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_who\",\"type\":\"address\"}],\"name\":\"canManageAssets\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"canManageAssets_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_who\",\"type\":\"address\"}],\"name\":\"canMigrate\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"canMigrate_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_who\",\"type\":\"address\"}],\"name\":\"canRelayCalls\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"canRelayCalls_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"claimOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAccessor\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"accessor_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getActiveExternalPositions\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"activeExternalPositions_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCreator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"creator_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_typeId\",\"type\":\"uint256\"}],\"name\":\"getExternalPositionLibForType\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"externalPositionLib_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getExternalPositionManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"externalPositionManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFundDeployer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"fundDeployer_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getGasRelayPaymasterFactory\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"gasRelayPaymasterFactory_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getGasRelayTrustedForwarder\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"trustedForwarder_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMigrator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"migrator_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMlnBurner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"mlnBurner_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMlnToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"mlnToken_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getNominatedOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"nominatedOwner_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPositionsLimit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"positionsLimit_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getProtocolFeeReserve\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"protocolFeeReserve_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getProtocolFeeTracker\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"protocolFeeTracker_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getTrackedAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"trackedAssets_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getVaultLib\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"vaultLib_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getWethToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"wethToken_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_accessor\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_fundName\",\"type\":\"string\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_externalPosition\",\"type\":\"address\"}],\"name\":\"isActiveExternalPosition\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isActiveExternalPosition_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_who\",\"type\":\"address\"}],\"name\":\"isAssetManager\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isAssetManager_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"}],\"name\":\"isTrackedAsset\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isTrackedAsset_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_target\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"mintShares\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"payProtocolFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"uuid_\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IVault.VaultAction\",\"name\":\"_action\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"}],\"name\":\"receiveValidatedVaultAction\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_managers\",\"type\":\"address[]\"}],\"name\":\"removeAssetManagers\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"removeNominatedOwner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nextAccessor\",\"type\":\"address\"}],\"name\":\"setAccessor\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nextAccessor\",\"type\":\"address\"}],\"name\":\"setAccessorForFundReconfiguration\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"setFreelyTransferableShares\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nextMigrator\",\"type\":\"address\"}],\"name\":\"setMigrator\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_nextName\",\"type\":\"string\"}],\"name\":\"setName\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nextNominatedOwner\",\"type\":\"address\"}],\"name\":\"setNominatedOwner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_nextSymbol\",\"type\":\"string\"}],\"name\":\"setSymbol\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nextVaultLib\",\"type\":\"address\"}],\"name\":\"setVaultLib\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"sharesAreFreelyTransferable\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"sharesAreFreelyTransferable_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"symbol_\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success_\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success_\",\"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\":\"transferShares\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_target\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"withdrawAssetTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"The difference in terminology between \\\"asset\\\" and \\\"trackedAsset\\\" is intentional. A fund might actually have asset balances of un-tracked assets, but only tracked assets are used in gav calculations. Note that this contract inherits VaultLibSafeMath (a verbatim Open Zeppelin SafeMath copy) from SharesTokenBase via VaultLibBase2\",\"kind\":\"dev\",\"methods\":{\"addAssetManagers(address[])\":{\"params\":{\"_managers\":\"The accounts to add as asset managers\"}},\"addTrackedAsset(address)\":{\"params\":{\"_asset\":\"The asset to add as a tracked asset\"}},\"allowance(address,address)\":{\"details\":\"Standard implementation of ERC20's allowance(). Can be overridden.\"},\"approve(address,uint256)\":{\"details\":\"Standard implementation of ERC20's approve(). Can be overridden.\"},\"balanceOf(address)\":{\"details\":\"Standard implementation of ERC20's balanceOf(). Can be overridden.\"},\"burnShares(address,uint256)\":{\"params\":{\"_amount\":\"The amount of shares to burn\",\"_target\":\"The account for which to burn shares\"}},\"buyBackProtocolFeeShares(uint256,uint256,uint256)\":{\"details\":\"Since the vault controls both the MLN to burn and the admin function to burn any user's fund shares, there is no need to transfer assets back-and-forth with the ProtocolFeeReserve. We only need to know the correct discounted amount of MLN to burn.\",\"params\":{\"_gav\":\"The total fund GAV\",\"_mlnValue\":\"The MLN-denominated market value of _sharesAmount\",\"_sharesAmount\":\"The amount of shares to buy back\"}},\"callOnContract(address,bytes)\":{\"params\":{\"_callData\":\"The call data for the call\",\"_contract\":\"The contract to call\"},\"returns\":{\"returnData_\":\"The data returned by the call\"}},\"canManageAssets(address)\":{\"params\":{\"_who\":\"The account to check\"},\"returns\":{\"canManageAssets_\":\"True if the account can manage assets\"}},\"canMigrate(address)\":{\"params\":{\"_who\":\"The account to check\"},\"returns\":{\"canMigrate_\":\"True if the account is allowed to migrate the VaultProxy\"}},\"canRelayCalls(address)\":{\"params\":{\"_who\":\"The account to check\"},\"returns\":{\"canRelayCalls_\":\"True if the account can use gas relaying on this fund\"}},\"decimals()\":{\"details\":\"Standard implementation of ERC20's decimals(). Can not be overridden.\"},\"getAccessor()\":{\"returns\":{\"accessor_\":\"The `accessor` variable value\"}},\"getActiveExternalPositions()\":{\"returns\":{\"activeExternalPositions_\":\"The `activeExternalPositions` variable value\"}},\"getCreator()\":{\"returns\":{\"creator_\":\"The `creator` variable value\"}},\"getExternalPositionLibForType(uint256)\":{\"params\":{\"_typeId\":\"The type for which to get the external position library\"},\"returns\":{\"externalPositionLib_\":\"The external position library\"}},\"getExternalPositionManager()\":{\"returns\":{\"externalPositionManager_\":\"The `EXTERNAL_POSITION_MANAGER` variable value\"}},\"getFundDeployer()\":{\"returns\":{\"fundDeployer_\":\"The fund deployer contract associated with this vault\"}},\"getGasRelayPaymasterFactory()\":{\"returns\":{\"gasRelayPaymasterFactory_\":\"The `GAS_RELAY_PAYMASTER_FACTORY` variable value\"}},\"getGasRelayTrustedForwarder()\":{\"returns\":{\"trustedForwarder_\":\"The trusted forwarder\"}},\"getMigrator()\":{\"returns\":{\"migrator_\":\"The `migrator` variable value\"}},\"getMlnBurner()\":{\"returns\":{\"mlnBurner_\":\"The `MLN_BURNER` variable value\"}},\"getMlnToken()\":{\"returns\":{\"mlnToken_\":\"The `MLN_TOKEN` variable value\"}},\"getNominatedOwner()\":{\"returns\":{\"nominatedOwner_\":\"The account that is nominated to be the owner\"}},\"getOwner()\":{\"returns\":{\"owner_\":\"The `owner` variable value\"}},\"getPositionsLimit()\":{\"returns\":{\"positionsLimit_\":\"The `POSITIONS_LIMIT` variable value\"}},\"getProtocolFeeReserve()\":{\"returns\":{\"protocolFeeReserve_\":\"The `PROTOCOL_FEE_RESERVE` variable value\"}},\"getProtocolFeeTracker()\":{\"returns\":{\"protocolFeeTracker_\":\"The `PROTOCOL_FEE_TRACKER` variable value\"}},\"getTrackedAssets()\":{\"returns\":{\"trackedAssets_\":\"The `trackedAssets` variable value\"}},\"getVaultLib()\":{\"returns\":{\"vaultLib_\":\"The address of the VaultLib target\"}},\"getWethToken()\":{\"returns\":{\"wethToken_\":\"The `WETH_TOKEN` variable value\"}},\"init(address,address,string)\":{\"details\":\"Serves as a per-proxy pseudo-constructor\",\"params\":{\"_accessor\":\"The address to set as the permissioned accessor of the VaultLib\",\"_fundName\":\"The name of the fund\",\"_owner\":\"The address to set as the fund owner\"}},\"isActiveExternalPosition(address)\":{\"params\":{\"_externalPosition\":\"The externalPosition to check\"},\"returns\":{\"isActiveExternalPosition_\":\"True if the address is an active external position on the vault\"}},\"isAssetManager(address)\":{\"params\":{\"_who\":\"The account to check\"},\"returns\":{\"isAssetManager_\":\"True if the account is an allowed asset manager\"}},\"isTrackedAsset(address)\":{\"params\":{\"_asset\":\"The address to check\"},\"returns\":{\"isTrackedAsset_\":\"True if the address is a tracked asset\"}},\"mintShares(address,uint256)\":{\"params\":{\"_amount\":\"The amount of shares to mint\",\"_target\":\"The account for which to burn shares\"}},\"name()\":{\"details\":\"Standard implementation of ERC20's name(). Can be overridden.\"},\"proxiableUUID()\":{\"details\":\"The UUID is `bytes32(keccak256('mln.proxiable.vaultlib'))`\",\"returns\":{\"uuid_\":\"The bytes32 hash representing the UUID\"}},\"receiveValidatedVaultAction(uint8,bytes)\":{\"params\":{\"_action\":\"The VaultAction to perform\",\"_actionData\":\"The call data for the action to perform\"}},\"removeAssetManagers(address[])\":{\"params\":{\"_managers\":\"The accounts to remove as asset managers\"}},\"setAccessor(address)\":{\"params\":{\"_nextAccessor\":\"The address to set as the permissioned accessor of the VaultLib\"}},\"setAccessorForFundReconfiguration(address)\":{\"params\":{\"_nextAccessor\":\"The next accessor\"}},\"setFreelyTransferableShares()\":{\"details\":\"Once set, this can never be allowed to be unset, as it provides a critical transferability guarantee to liquidity pools and other smart contract holders that rely on transfers to function properly. Enabling this option will skip all policies run upon transferring shares, but will still respect the shares action timelock.\"},\"setMigrator(address)\":{\"details\":\"Set to address(0) to remove the migrator.\",\"params\":{\"_nextMigrator\":\"The account to set as the allowed migrator\"}},\"setName(string)\":{\"details\":\"Owners should consider the implications of changing an ERC20 name post-deployment, e.g., some apps/dapps may cache token names for display purposes, so changing the name in contract state may not be reflected in third party applications as desired.\",\"params\":{\"_nextName\":\"The next name value\"}},\"setNominatedOwner(address)\":{\"details\":\"Does not prohibit overwriting the current nominatedOwner\",\"params\":{\"_nextNominatedOwner\":\"The account to nominate\"}},\"setSymbol(string)\":{\"details\":\"Owners should consider the implications of changing an ERC20 symbol post-deployment, e.g., some apps/dapps may cache token symbols for display purposes, so changing the symbol in contract state may not be reflected in third party applications as desired. Only callable by the FundDeployer during vault creation or by the vault owner.\",\"params\":{\"_nextSymbol\":\"The next symbol value\"}},\"setVaultLib(address)\":{\"details\":\"This function is absolutely critical. __updateCodeAddress() validates that the target is a valid Proxiable contract instance. Does not block _nextVaultLib from being the same as the current VaultLib\",\"params\":{\"_nextVaultLib\":\"The address to set as the VaultLib\"}},\"sharesAreFreelyTransferable()\":{\"returns\":{\"sharesAreFreelyTransferable_\":\"True if shares are (permanently) freely transferable\"}},\"symbol()\":{\"details\":\"Defers the shares symbol value to the Dispatcher contract if not set locally\",\"returns\":{\"symbol_\":\"The `symbol` value\"}},\"totalSupply()\":{\"details\":\"Standard implementation of ERC20's totalSupply(). Can be overridden.\"},\"transfer(address,uint256)\":{\"details\":\"Standard implementation of ERC20's transfer(). Overridden to allow arbitrary logic in ComptrollerProxy prior to transfer.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Standard implementation of ERC20's transferFrom(). Overridden to allow arbitrary logic in ComptrollerProxy prior to transfer.\"},\"transferShares(address,address,uint256)\":{\"details\":\"For protocol use only, all other transfers should operate via standard ERC20 functions\",\"params\":{\"_amount\":\"The amount of shares to transfer\",\"_from\":\"The account from which to transfer shares\",\"_to\":\"The account to which to transfer shares\"}},\"withdrawAssetTo(address,address,uint256)\":{\"params\":{\"_amount\":\"The amount of asset to withdraw\",\"_asset\":\"The asset to withdraw\",\"_target\":\"The account to which to withdraw the asset\"}}},\"title\":\"VaultLib Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"addAssetManagers(address[])\":{\"notice\":\"Registers accounts that can manage vault holdings within the protocol\"},\"addTrackedAsset(address)\":{\"notice\":\"Adds a tracked asset\"},\"burnShares(address,uint256)\":{\"notice\":\"Burns fund shares from a particular account\"},\"buyBackProtocolFeeShares(uint256,uint256,uint256)\":{\"notice\":\"Buys back shares collected as protocol fee at a discounted shares price, using MLN\"},\"callOnContract(address,bytes)\":{\"notice\":\"Makes an arbitrary call with this contract as the sender\"},\"canManageAssets(address)\":{\"notice\":\"Checks whether an account can manage assets\"},\"canMigrate(address)\":{\"notice\":\"Checks whether an account is allowed to migrate the VaultProxy\"},\"canRelayCalls(address)\":{\"notice\":\"Checks whether an account can use gas relaying\"},\"claimOwnership()\":{\"notice\":\"Claim ownership of the contract\"},\"getAccessor()\":{\"notice\":\"Gets the `accessor` variable\"},\"getActiveExternalPositions()\":{\"notice\":\"Gets the `activeExternalPositions` variable\"},\"getCreator()\":{\"notice\":\"Gets the `creator` variable\"},\"getExternalPositionLibForType(uint256)\":{\"notice\":\"Gets the external position library contract for a given type\"},\"getExternalPositionManager()\":{\"notice\":\"Gets the `EXTERNAL_POSITION_MANAGER` variable\"},\"getFundDeployer()\":{\"notice\":\"Gets the vaults fund deployer\"},\"getGasRelayPaymasterFactory()\":{\"notice\":\"Gets the `GAS_RELAY_PAYMASTER_FACTORY` variable\"},\"getGasRelayTrustedForwarder()\":{\"notice\":\"Gets the trusted forwarder for GSN relaying\"},\"getMigrator()\":{\"notice\":\"Gets the `migrator` variable\"},\"getMlnBurner()\":{\"notice\":\"Gets the `MLN_BURNER` variable\"},\"getMlnToken()\":{\"notice\":\"Gets the `MLN_TOKEN` variable\"},\"getNominatedOwner()\":{\"notice\":\"Gets the account that is nominated to be the next owner of this contract\"},\"getOwner()\":{\"notice\":\"Gets the `owner` variable\"},\"getPositionsLimit()\":{\"notice\":\"Gets the `POSITIONS_LIMIT` variable\"},\"getProtocolFeeReserve()\":{\"notice\":\"Gets the `PROTOCOL_FEE_RESERVE` variable\"},\"getProtocolFeeTracker()\":{\"notice\":\"Gets the `PROTOCOL_FEE_TRACKER` variable\"},\"getTrackedAssets()\":{\"notice\":\"Gets the `trackedAssets` variable\"},\"getVaultLib()\":{\"notice\":\"Gets the VaultLib target for the VaultProxy\"},\"getWethToken()\":{\"notice\":\"Gets the `WETH_TOKEN` variable\"},\"init(address,address,string)\":{\"notice\":\"Initializes the VaultProxy with core configuration\"},\"isActiveExternalPosition(address)\":{\"notice\":\"Check whether an external position is active on the vault\"},\"isAssetManager(address)\":{\"notice\":\"Checks whether an account is an allowed asset manager\"},\"isTrackedAsset(address)\":{\"notice\":\"Checks whether an address is a tracked asset of the vault\"},\"mintShares(address,uint256)\":{\"notice\":\"Mints fund shares to a particular account\"},\"payProtocolFee()\":{\"notice\":\"Pays the due protocol fee by minting shares to the ProtocolFeeReserve\"},\"proxiableUUID()\":{\"notice\":\"Returns a unique bytes32 hash for VaultLib instances\"},\"receiveValidatedVaultAction(uint8,bytes)\":{\"notice\":\"Dispatches a call initiated from an Extension, validated by the ComptrollerProxy\"},\"removeAssetManagers(address[])\":{\"notice\":\"Deregisters accounts that can manage vault holdings within the protocol\"},\"removeNominatedOwner()\":{\"notice\":\"Revoke the nomination of a new contract owner\"},\"setAccessor(address)\":{\"notice\":\"Sets the permissioned accessor of the VaultLib\"},\"setAccessorForFundReconfiguration(address)\":{\"notice\":\"Updates the accessor during a config change within this release\"},\"setFreelyTransferableShares()\":{\"notice\":\"Sets shares as (permanently) freely transferable\"},\"setMigrator(address)\":{\"notice\":\"Sets the account that is allowed to migrate a fund to new releases\"},\"setName(string)\":{\"notice\":\"Sets the shares name\"},\"setNominatedOwner(address)\":{\"notice\":\"Nominate a new contract owner\"},\"setSymbol(string)\":{\"notice\":\"Sets the shares token symbol\"},\"setVaultLib(address)\":{\"notice\":\"Sets the VaultLib target for the VaultProxy\"},\"sharesAreFreelyTransferable()\":{\"notice\":\"Checks whether shares are (permanently) freely transferable\"},\"symbol()\":{\"notice\":\"Gets the `symbol` value of the shares token\"},\"transferShares(address,address,uint256)\":{\"notice\":\"Transfers fund shares from one account to another\"},\"withdrawAssetTo(address,address,uint256)\":{\"notice\":\"Withdraws an asset from the VaultProxy to a given account\"}},\"notice\":\"The per-release proxiable library contract for VaultProxy\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/core/fund/vault/VaultLib.sol\":\"VaultLib\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/persistent/protocol-fee-reserve/interfaces/IProtocolFeeReserve1.sol\":{\"keccak256\":\"0x2728878c423db523bc95189137e8c58d2d7db9f56bbd5c6b1f988c08b551fbab\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3b0df1d2eb74151265d03ab91a7c341f7beca475dd2f4d669052dbc4ee2c06ac\",\"dweb:/ipfs/QmVx1cgrxQNYfdK1Kn15pcgqf79Uw8bF3U6i7F2HG2rj6G\"]},\"contracts/persistent/vault/VaultLibBase1.sol\":{\"keccak256\":\"0xa4dac1e4cdb311a2ab187135355357d8790c505ef36dd912c057fe53743d30b5\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b66efe821016ab927c949263023260515e90f5d480dc8d94eefbfeec7bf7490b\",\"dweb:/ipfs/QmNY3xKnhL9EptAbxGvXHGAXfV9pj3dDPwsZnKrPs54ZHw\"]},\"contracts/persistent/vault/VaultLibBase2.sol\":{\"keccak256\":\"0xf7d31f2a9a47770ed3f444be2c4fe9262ddb55fef7f25e546b1f03c9afec4c09\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9353ddce7c9b8b3c13fed23fe8edec99ca610d791b0c5b204b3d01f1f08d07d2\",\"dweb:/ipfs/QmeVsEh3joCjv49BRXeHASevnZZ5xdZXpkctHT8BPf37N2\"]},\"contracts/persistent/vault/VaultLibBaseCore.sol\":{\"keccak256\":\"0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd\",\"dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz\"]},\"contracts/persistent/vault/interfaces/IExternalPositionVault.sol\":{\"keccak256\":\"0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d\",\"dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8\"]},\"contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol\":{\"keccak256\":\"0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb\",\"dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU\"]},\"contracts/persistent/vault/interfaces/IMigratableVault.sol\":{\"keccak256\":\"0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6\",\"dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs\"]},\"contracts/persistent/vault/interfaces/IVaultCore.sol\":{\"keccak256\":\"0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd\",\"dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr\"]},\"contracts/persistent/vault/utils/ProxiableVaultLib.sol\":{\"keccak256\":\"0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44\",\"dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4\"]},\"contracts/persistent/vault/utils/SharesTokenBase.sol\":{\"keccak256\":\"0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8\",\"dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4\"]},\"contracts/persistent/vault/utils/VaultLibSafeMath.sol\":{\"keccak256\":\"0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02\",\"dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG\"]},\"contracts/release/core/fund/comptroller/IComptroller.sol\":{\"keccak256\":\"0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97\",\"dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L\"]},\"contracts/release/core/fund/vault/IVault.sol\":{\"keccak256\":\"0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599\",\"dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG\"]},\"contracts/release/core/fund/vault/VaultLib.sol\":{\"keccak256\":\"0x07e49445ab55c01e1b499a48baadc2a15d1eba621f1c6d3ccfdb84c87b976da8\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://56d882459248f73e137db2e097fc56b946147fb28ec21661b77431f88e856cb4\",\"dweb:/ipfs/QmRP6Ry7DCS5uoKxnnkTomHSzbaCze6cHqbR9aLdjoF6vK\"]},\"contracts/release/extensions/external-position-manager/IExternalPositionManager.sol\":{\"keccak256\":\"0x3af3f634e1f99fb97091b7825c0d2e2baaafc124d4e87d56cb0c17ff8554f6c6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://515470605afe5ef147f30fa75ce7818f0e00e3d321eb81a4d9bffcdefc294495\",\"dweb:/ipfs/QmPKsp99pfHoz9Tfo3ZxnkmqDqJtN9PxqacF2RmeVfxUJF\"]},\"contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol\":{\"keccak256\":\"0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f\",\"dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol\":{\"keccak256\":\"0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0\",\"dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2\"]},\"contracts/release/infrastructure/protocol-fees/IProtocolFeeTracker.sol\":{\"keccak256\":\"0x232b347f83457439064add7369bfe1930c7cb56f15930bb87d640e909c15e447\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://24f9af5eebdd373b1d7a598c096eb6def31b2640d54416d7d5a7226e1cef17e6\",\"dweb:/ipfs/QmStq9ByGuSYdKwTmZf52L1X6sZVJUfXTnoVbnjLLiUcHG\"]},\"contracts/release/interfaces/IGsnForwarder.sol\":{\"keccak256\":\"0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29\",\"dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G\"]},\"contracts/release/interfaces/IGsnPaymaster.sol\":{\"keccak256\":\"0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4\",\"dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF\"]},\"contracts/release/interfaces/IGsnTypes.sol\":{\"keccak256\":\"0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7\",\"dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C\"]},\"contracts/release/interfaces/IWETH.sol\":{\"keccak256\":\"0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2\",\"dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/beacon-proxy/IBeacon.sol\":{\"keccak256\":\"0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39\",\"dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V\"]},\"contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol\":{\"keccak256\":\"0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be\",\"dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20Burnable.sol\":{\"keccak256\":\"0x9c0eb3b0e11d2480d49991dc384f1e5f9c9b9967cc81944d50916a9b9c6c4984\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99e4033d778624992e86f0b6d801a4f6d7b5c0cd5c79c1296be90a051ad5f5af\",\"dweb:/ipfs/QmShYmkUqh6pDEeoWadZ24icmCr4C2Xys1uE5boivPmbwf\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_externalPositionManager", - "type": "address" - }, - { - "internalType": "address", - "name": "_gasRelayPaymasterFactory", - "type": "address" - }, - { - "internalType": "address", - "name": "_protocolFeeReserve", - "type": "address" - }, - { - "internalType": "address", - "name": "_protocolFeeTracker", - "type": "address" - }, - { - "internalType": "address", - "name": "_mlnToken", - "type": "address" - }, - { - "internalType": "address", - "name": "_mlnBurner", - "type": "address" - }, - { - "internalType": "address", - "name": "_wethToken", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_positionsLimit", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "prevAccessor", - "type": "address", - "indexed": false - }, - { - "internalType": "address", - "name": "nextAccessor", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "AccessorSet", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "spender", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "Approval", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "manager", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "AssetManagerAdded", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "manager", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "AssetManagerRemoved", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "asset", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "target", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "AssetWithdrawn", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "EthReceived", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "externalPosition", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "ExternalPositionAdded", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "externalPosition", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "ExternalPositionRemoved", - "anonymous": false - }, - { - "inputs": [], - "type": "event", - "name": "FreelyTransferableSharesSet", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "prevMigrator", - "type": "address", - "indexed": false - }, - { - "internalType": "address", - "name": "nextMigrator", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "MigratorSet", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "name", - "type": "string", - "indexed": false - } - ], - "type": "event", - "name": "NameSet", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "nominatedOwner", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "NominatedOwnerRemoved", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "nominatedOwner", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "NominatedOwnerSet", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "prevOwner", - "type": "address", - "indexed": false - }, - { - "internalType": "address", - "name": "nextOwner", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "OwnerSet", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "prevOwner", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "nextOwner", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "OwnershipTransferred", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "sharesAmount", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "ProtocolFeePaidInShares", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "sharesAmount", - "type": "uint256", - "indexed": false - }, - { - "internalType": "uint256", - "name": "mlnValue", - "type": "uint256", - "indexed": false - }, - { - "internalType": "uint256", - "name": "mlnBurned", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "ProtocolFeeSharesBoughtBack", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "symbol", - "type": "string", - "indexed": false - } - ], - "type": "event", - "name": "SymbolSet", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "asset", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "TrackedAssetAdded", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "asset", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "TrackedAssetRemoved", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "to", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "Transfer", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "prevVaultLib", - "type": "address", - "indexed": false - }, - { - "internalType": "address", - "name": "nextVaultLib", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "VaultLibSet", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_managers", - "type": "address[]" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "addAssetManagers" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_asset", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "addTrackedAsset" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - }, - { - "internalType": "address", - "name": "_spender", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_account", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_target", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "burnShares" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_sharesAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_mlnValue", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "_gav", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "buyBackProtocolFeeShares" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_contract", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_callData", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "callOnContract", - "outputs": [ - { - "internalType": "bytes", - "name": "returnData_", - "type": "bytes" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_who", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "canManageAssets", - "outputs": [ - { - "internalType": "bool", - "name": "canManageAssets_", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_who", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "canMigrate", - "outputs": [ - { - "internalType": "bool", - "name": "canMigrate_", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_who", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "canRelayCalls", - "outputs": [ - { - "internalType": "bool", - "name": "canRelayCalls_", - "type": "bool" - } - ] - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "claimOwnership" - }, - { - "inputs": [], - "stateMutability": "pure", - "type": "function", - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getAccessor", - "outputs": [ - { - "internalType": "address", - "name": "accessor_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getActiveExternalPositions", - "outputs": [ - { - "internalType": "address[]", - "name": "activeExternalPositions_", - "type": "address[]" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getCreator", - "outputs": [ - { - "internalType": "address", - "name": "creator_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_typeId", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getExternalPositionLibForType", - "outputs": [ - { - "internalType": "address", - "name": "externalPositionLib_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getExternalPositionManager", - "outputs": [ - { - "internalType": "address", - "name": "externalPositionManager_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getFundDeployer", - "outputs": [ - { - "internalType": "address", - "name": "fundDeployer_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getGasRelayPaymasterFactory", - "outputs": [ - { - "internalType": "address", - "name": "gasRelayPaymasterFactory_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getGasRelayTrustedForwarder", - "outputs": [ - { - "internalType": "address", - "name": "trustedForwarder_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getMigrator", - "outputs": [ - { - "internalType": "address", - "name": "migrator_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getMlnBurner", - "outputs": [ - { - "internalType": "address", - "name": "mlnBurner_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getMlnToken", - "outputs": [ - { - "internalType": "address", - "name": "mlnToken_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getNominatedOwner", - "outputs": [ - { - "internalType": "address", - "name": "nominatedOwner_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "owner_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getPositionsLimit", - "outputs": [ - { - "internalType": "uint256", - "name": "positionsLimit_", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getProtocolFeeReserve", - "outputs": [ - { - "internalType": "address", - "name": "protocolFeeReserve_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getProtocolFeeTracker", - "outputs": [ - { - "internalType": "address", - "name": "protocolFeeTracker_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getTrackedAssets", - "outputs": [ - { - "internalType": "address[]", - "name": "trackedAssets_", - "type": "address[]" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getVaultLib", - "outputs": [ - { - "internalType": "address", - "name": "vaultLib_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getWethToken", - "outputs": [ - { - "internalType": "address", - "name": "wethToken_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - }, - { - "internalType": "address", - "name": "_accessor", - "type": "address" - }, - { - "internalType": "string", - "name": "_fundName", - "type": "string" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "init" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_externalPosition", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "isActiveExternalPosition", - "outputs": [ - { - "internalType": "bool", - "name": "isActiveExternalPosition_", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_who", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "isAssetManager", - "outputs": [ - { - "internalType": "bool", - "name": "isAssetManager_", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_asset", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "isTrackedAsset", - "outputs": [ - { - "internalType": "bool", - "name": "isTrackedAsset_", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_target", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "mintShares" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ] - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "payProtocolFee" - }, - { - "inputs": [], - "stateMutability": "pure", - "type": "function", - "name": "proxiableUUID", - "outputs": [ - { - "internalType": "bytes32", - "name": "uuid_", - "type": "bytes32" - } - ] - }, - { - "inputs": [ - { - "internalType": "enum IVault.VaultAction", - "name": "_action", - "type": "uint8" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "receiveValidatedVaultAction" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_managers", - "type": "address[]" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "removeAssetManagers" - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "removeNominatedOwner" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_nextAccessor", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setAccessor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_nextAccessor", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setAccessorForFundReconfiguration" - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "setFreelyTransferableShares" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_nextMigrator", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setMigrator" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "_nextName", - "type": "string" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setName" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_nextNominatedOwner", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setNominatedOwner" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "_nextSymbol", - "type": "string" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setSymbol" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_nextVaultLib", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setVaultLib" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "sharesAreFreelyTransferable", - "outputs": [ - { - "internalType": "bool", - "name": "sharesAreFreelyTransferable_", - "type": "bool" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "symbol_", - "type": "string" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "success_", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_sender", - "type": "address" - }, - { - "internalType": "address", - "name": "_recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "success_", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_from", - "type": "address" - }, - { - "internalType": "address", - "name": "_to", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "transferShares" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_asset", - "type": "address" - }, - { - "internalType": "address", - "name": "_target", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "withdrawAssetTo" - }, - { - "inputs": [], - "stateMutability": "payable", - "type": "receive" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "addAssetManagers(address[])": { - "params": { - "_managers": "The accounts to add as asset managers" - } - }, - "addTrackedAsset(address)": { - "params": { - "_asset": "The asset to add as a tracked asset" - } - }, - "allowance(address,address)": { - "details": "Standard implementation of ERC20's allowance(). Can be overridden." - }, - "approve(address,uint256)": { - "details": "Standard implementation of ERC20's approve(). Can be overridden." - }, - "balanceOf(address)": { - "details": "Standard implementation of ERC20's balanceOf(). Can be overridden." - }, - "burnShares(address,uint256)": { - "params": { - "_amount": "The amount of shares to burn", - "_target": "The account for which to burn shares" - } - }, - "buyBackProtocolFeeShares(uint256,uint256,uint256)": { - "details": "Since the vault controls both the MLN to burn and the admin function to burn any user's fund shares, there is no need to transfer assets back-and-forth with the ProtocolFeeReserve. We only need to know the correct discounted amount of MLN to burn.", - "params": { - "_gav": "The total fund GAV", - "_mlnValue": "The MLN-denominated market value of _sharesAmount", - "_sharesAmount": "The amount of shares to buy back" - } - }, - "callOnContract(address,bytes)": { - "params": { - "_callData": "The call data for the call", - "_contract": "The contract to call" - }, - "returns": { - "returnData_": "The data returned by the call" - } - }, - "canManageAssets(address)": { - "params": { - "_who": "The account to check" - }, - "returns": { - "canManageAssets_": "True if the account can manage assets" - } - }, - "canMigrate(address)": { - "params": { - "_who": "The account to check" - }, - "returns": { - "canMigrate_": "True if the account is allowed to migrate the VaultProxy" - } - }, - "canRelayCalls(address)": { - "params": { - "_who": "The account to check" - }, - "returns": { - "canRelayCalls_": "True if the account can use gas relaying on this fund" - } - }, - "decimals()": { - "details": "Standard implementation of ERC20's decimals(). Can not be overridden." - }, - "getAccessor()": { - "returns": { - "accessor_": "The `accessor` variable value" - } - }, - "getActiveExternalPositions()": { - "returns": { - "activeExternalPositions_": "The `activeExternalPositions` variable value" - } - }, - "getCreator()": { - "returns": { - "creator_": "The `creator` variable value" - } - }, - "getExternalPositionLibForType(uint256)": { - "params": { - "_typeId": "The type for which to get the external position library" - }, - "returns": { - "externalPositionLib_": "The external position library" - } - }, - "getExternalPositionManager()": { - "returns": { - "externalPositionManager_": "The `EXTERNAL_POSITION_MANAGER` variable value" - } - }, - "getFundDeployer()": { - "returns": { - "fundDeployer_": "The fund deployer contract associated with this vault" - } - }, - "getGasRelayPaymasterFactory()": { - "returns": { - "gasRelayPaymasterFactory_": "The `GAS_RELAY_PAYMASTER_FACTORY` variable value" - } - }, - "getGasRelayTrustedForwarder()": { - "returns": { - "trustedForwarder_": "The trusted forwarder" - } - }, - "getMigrator()": { - "returns": { - "migrator_": "The `migrator` variable value" - } - }, - "getMlnBurner()": { - "returns": { - "mlnBurner_": "The `MLN_BURNER` variable value" - } - }, - "getMlnToken()": { - "returns": { - "mlnToken_": "The `MLN_TOKEN` variable value" - } - }, - "getNominatedOwner()": { - "returns": { - "nominatedOwner_": "The account that is nominated to be the owner" - } - }, - "getOwner()": { - "returns": { - "owner_": "The `owner` variable value" - } - }, - "getPositionsLimit()": { - "returns": { - "positionsLimit_": "The `POSITIONS_LIMIT` variable value" - } - }, - "getProtocolFeeReserve()": { - "returns": { - "protocolFeeReserve_": "The `PROTOCOL_FEE_RESERVE` variable value" - } - }, - "getProtocolFeeTracker()": { - "returns": { - "protocolFeeTracker_": "The `PROTOCOL_FEE_TRACKER` variable value" - } - }, - "getTrackedAssets()": { - "returns": { - "trackedAssets_": "The `trackedAssets` variable value" - } - }, - "getVaultLib()": { - "returns": { - "vaultLib_": "The address of the VaultLib target" - } - }, - "getWethToken()": { - "returns": { - "wethToken_": "The `WETH_TOKEN` variable value" - } - }, - "init(address,address,string)": { - "details": "Serves as a per-proxy pseudo-constructor", - "params": { - "_accessor": "The address to set as the permissioned accessor of the VaultLib", - "_fundName": "The name of the fund", - "_owner": "The address to set as the fund owner" - } - }, - "isActiveExternalPosition(address)": { - "params": { - "_externalPosition": "The externalPosition to check" - }, - "returns": { - "isActiveExternalPosition_": "True if the address is an active external position on the vault" - } - }, - "isAssetManager(address)": { - "params": { - "_who": "The account to check" - }, - "returns": { - "isAssetManager_": "True if the account is an allowed asset manager" - } - }, - "isTrackedAsset(address)": { - "params": { - "_asset": "The address to check" - }, - "returns": { - "isTrackedAsset_": "True if the address is a tracked asset" - } - }, - "mintShares(address,uint256)": { - "params": { - "_amount": "The amount of shares to mint", - "_target": "The account for which to burn shares" - } - }, - "name()": { - "details": "Standard implementation of ERC20's name(). Can be overridden." - }, - "proxiableUUID()": { - "details": "The UUID is `bytes32(keccak256('mln.proxiable.vaultlib'))`", - "returns": { - "uuid_": "The bytes32 hash representing the UUID" - } - }, - "receiveValidatedVaultAction(uint8,bytes)": { - "params": { - "_action": "The VaultAction to perform", - "_actionData": "The call data for the action to perform" - } - }, - "removeAssetManagers(address[])": { - "params": { - "_managers": "The accounts to remove as asset managers" - } - }, - "setAccessor(address)": { - "params": { - "_nextAccessor": "The address to set as the permissioned accessor of the VaultLib" - } - }, - "setAccessorForFundReconfiguration(address)": { - "params": { - "_nextAccessor": "The next accessor" - } - }, - "setFreelyTransferableShares()": { - "details": "Once set, this can never be allowed to be unset, as it provides a critical transferability guarantee to liquidity pools and other smart contract holders that rely on transfers to function properly. Enabling this option will skip all policies run upon transferring shares, but will still respect the shares action timelock." - }, - "setMigrator(address)": { - "details": "Set to address(0) to remove the migrator.", - "params": { - "_nextMigrator": "The account to set as the allowed migrator" - } - }, - "setName(string)": { - "details": "Owners should consider the implications of changing an ERC20 name post-deployment, e.g., some apps/dapps may cache token names for display purposes, so changing the name in contract state may not be reflected in third party applications as desired.", - "params": { - "_nextName": "The next name value" - } - }, - "setNominatedOwner(address)": { - "details": "Does not prohibit overwriting the current nominatedOwner", - "params": { - "_nextNominatedOwner": "The account to nominate" - } - }, - "setSymbol(string)": { - "details": "Owners should consider the implications of changing an ERC20 symbol post-deployment, e.g., some apps/dapps may cache token symbols for display purposes, so changing the symbol in contract state may not be reflected in third party applications as desired. Only callable by the FundDeployer during vault creation or by the vault owner.", - "params": { - "_nextSymbol": "The next symbol value" - } - }, - "setVaultLib(address)": { - "details": "This function is absolutely critical. __updateCodeAddress() validates that the target is a valid Proxiable contract instance. Does not block _nextVaultLib from being the same as the current VaultLib", - "params": { - "_nextVaultLib": "The address to set as the VaultLib" - } - }, - "sharesAreFreelyTransferable()": { - "returns": { - "sharesAreFreelyTransferable_": "True if shares are (permanently) freely transferable" - } - }, - "symbol()": { - "details": "Defers the shares symbol value to the Dispatcher contract if not set locally", - "returns": { - "symbol_": "The `symbol` value" - } - }, - "totalSupply()": { - "details": "Standard implementation of ERC20's totalSupply(). Can be overridden." - }, - "transfer(address,uint256)": { - "details": "Standard implementation of ERC20's transfer(). Overridden to allow arbitrary logic in ComptrollerProxy prior to transfer." - }, - "transferFrom(address,address,uint256)": { - "details": "Standard implementation of ERC20's transferFrom(). Overridden to allow arbitrary logic in ComptrollerProxy prior to transfer." - }, - "transferShares(address,address,uint256)": { - "details": "For protocol use only, all other transfers should operate via standard ERC20 functions", - "params": { - "_amount": "The amount of shares to transfer", - "_from": "The account from which to transfer shares", - "_to": "The account to which to transfer shares" - } - }, - "withdrawAssetTo(address,address,uint256)": { - "params": { - "_amount": "The amount of asset to withdraw", - "_asset": "The asset to withdraw", - "_target": "The account to which to withdraw the asset" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "addAssetManagers(address[])": { - "notice": "Registers accounts that can manage vault holdings within the protocol" - }, - "addTrackedAsset(address)": { - "notice": "Adds a tracked asset" - }, - "burnShares(address,uint256)": { - "notice": "Burns fund shares from a particular account" - }, - "buyBackProtocolFeeShares(uint256,uint256,uint256)": { - "notice": "Buys back shares collected as protocol fee at a discounted shares price, using MLN" - }, - "callOnContract(address,bytes)": { - "notice": "Makes an arbitrary call with this contract as the sender" - }, - "canManageAssets(address)": { - "notice": "Checks whether an account can manage assets" - }, - "canMigrate(address)": { - "notice": "Checks whether an account is allowed to migrate the VaultProxy" - }, - "canRelayCalls(address)": { - "notice": "Checks whether an account can use gas relaying" - }, - "claimOwnership()": { - "notice": "Claim ownership of the contract" - }, - "getAccessor()": { - "notice": "Gets the `accessor` variable" - }, - "getActiveExternalPositions()": { - "notice": "Gets the `activeExternalPositions` variable" - }, - "getCreator()": { - "notice": "Gets the `creator` variable" - }, - "getExternalPositionLibForType(uint256)": { - "notice": "Gets the external position library contract for a given type" - }, - "getExternalPositionManager()": { - "notice": "Gets the `EXTERNAL_POSITION_MANAGER` variable" - }, - "getFundDeployer()": { - "notice": "Gets the vaults fund deployer" - }, - "getGasRelayPaymasterFactory()": { - "notice": "Gets the `GAS_RELAY_PAYMASTER_FACTORY` variable" - }, - "getGasRelayTrustedForwarder()": { - "notice": "Gets the trusted forwarder for GSN relaying" - }, - "getMigrator()": { - "notice": "Gets the `migrator` variable" - }, - "getMlnBurner()": { - "notice": "Gets the `MLN_BURNER` variable" - }, - "getMlnToken()": { - "notice": "Gets the `MLN_TOKEN` variable" - }, - "getNominatedOwner()": { - "notice": "Gets the account that is nominated to be the next owner of this contract" - }, - "getOwner()": { - "notice": "Gets the `owner` variable" - }, - "getPositionsLimit()": { - "notice": "Gets the `POSITIONS_LIMIT` variable" - }, - "getProtocolFeeReserve()": { - "notice": "Gets the `PROTOCOL_FEE_RESERVE` variable" - }, - "getProtocolFeeTracker()": { - "notice": "Gets the `PROTOCOL_FEE_TRACKER` variable" - }, - "getTrackedAssets()": { - "notice": "Gets the `trackedAssets` variable" - }, - "getVaultLib()": { - "notice": "Gets the VaultLib target for the VaultProxy" - }, - "getWethToken()": { - "notice": "Gets the `WETH_TOKEN` variable" - }, - "init(address,address,string)": { - "notice": "Initializes the VaultProxy with core configuration" - }, - "isActiveExternalPosition(address)": { - "notice": "Check whether an external position is active on the vault" - }, - "isAssetManager(address)": { - "notice": "Checks whether an account is an allowed asset manager" - }, - "isTrackedAsset(address)": { - "notice": "Checks whether an address is a tracked asset of the vault" - }, - "mintShares(address,uint256)": { - "notice": "Mints fund shares to a particular account" - }, - "payProtocolFee()": { - "notice": "Pays the due protocol fee by minting shares to the ProtocolFeeReserve" - }, - "proxiableUUID()": { - "notice": "Returns a unique bytes32 hash for VaultLib instances" - }, - "receiveValidatedVaultAction(uint8,bytes)": { - "notice": "Dispatches a call initiated from an Extension, validated by the ComptrollerProxy" - }, - "removeAssetManagers(address[])": { - "notice": "Deregisters accounts that can manage vault holdings within the protocol" - }, - "removeNominatedOwner()": { - "notice": "Revoke the nomination of a new contract owner" - }, - "setAccessor(address)": { - "notice": "Sets the permissioned accessor of the VaultLib" - }, - "setAccessorForFundReconfiguration(address)": { - "notice": "Updates the accessor during a config change within this release" - }, - "setFreelyTransferableShares()": { - "notice": "Sets shares as (permanently) freely transferable" - }, - "setMigrator(address)": { - "notice": "Sets the account that is allowed to migrate a fund to new releases" - }, - "setName(string)": { - "notice": "Sets the shares name" - }, - "setNominatedOwner(address)": { - "notice": "Nominate a new contract owner" - }, - "setSymbol(string)": { - "notice": "Sets the shares token symbol" - }, - "setVaultLib(address)": { - "notice": "Sets the VaultLib target for the VaultProxy" - }, - "sharesAreFreelyTransferable()": { - "notice": "Checks whether shares are (permanently) freely transferable" - }, - "symbol()": { - "notice": "Gets the `symbol` value of the shares token" - }, - "transferShares(address,address,uint256)": { - "notice": "Transfers fund shares from one account to another" - }, - "withdrawAssetTo(address,address,uint256)": { - "notice": "Withdraws an asset from the VaultProxy to a given account" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/core/fund/vault/VaultLib.sol": "VaultLib" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/dispatcher/IDispatcher.sol": { - "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", - "urls": [ - "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", - "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/external-positions/IExternalPosition.sol": { - "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", - "urls": [ - "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", - "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/protocol-fee-reserve/interfaces/IProtocolFeeReserve1.sol": { - "keccak256": "0x2728878c423db523bc95189137e8c58d2d7db9f56bbd5c6b1f988c08b551fbab", - "urls": [ - "bzz-raw://3b0df1d2eb74151265d03ab91a7c341f7beca475dd2f4d669052dbc4ee2c06ac", - "dweb:/ipfs/QmVx1cgrxQNYfdK1Kn15pcgqf79Uw8bF3U6i7F2HG2rj6G" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/VaultLibBase1.sol": { - "keccak256": "0xa4dac1e4cdb311a2ab187135355357d8790c505ef36dd912c057fe53743d30b5", - "urls": [ - "bzz-raw://b66efe821016ab927c949263023260515e90f5d480dc8d94eefbfeec7bf7490b", - "dweb:/ipfs/QmNY3xKnhL9EptAbxGvXHGAXfV9pj3dDPwsZnKrPs54ZHw" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/VaultLibBase2.sol": { - "keccak256": "0xf7d31f2a9a47770ed3f444be2c4fe9262ddb55fef7f25e546b1f03c9afec4c09", - "urls": [ - "bzz-raw://9353ddce7c9b8b3c13fed23fe8edec99ca610d791b0c5b204b3d01f1f08d07d2", - "dweb:/ipfs/QmeVsEh3joCjv49BRXeHASevnZZ5xdZXpkctHT8BPf37N2" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/VaultLibBaseCore.sol": { - "keccak256": "0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074", - "urls": [ - "bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd", - "dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IExternalPositionVault.sol": { - "keccak256": "0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6", - "urls": [ - "bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d", - "dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol": { - "keccak256": "0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0", - "urls": [ - "bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb", - "dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IMigratableVault.sol": { - "keccak256": "0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238", - "urls": [ - "bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6", - "dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IVaultCore.sol": { - "keccak256": "0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80", - "urls": [ - "bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd", - "dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/utils/ProxiableVaultLib.sol": { - "keccak256": "0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76", - "urls": [ - "bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44", - "dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/utils/SharesTokenBase.sol": { - "keccak256": "0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113", - "urls": [ - "bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8", - "dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/utils/VaultLibSafeMath.sol": { - "keccak256": "0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d", - "urls": [ - "bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02", - "dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/comptroller/IComptroller.sol": { - "keccak256": "0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f", - "urls": [ - "bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97", - "dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/vault/IVault.sol": { - "keccak256": "0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd", - "urls": [ - "bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599", - "dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG" - ], - "license": "GPL-3.0" - }, - "contracts/release/core/fund/vault/VaultLib.sol": { - "keccak256": "0x07e49445ab55c01e1b499a48baadc2a15d1eba621f1c6d3ccfdb84c87b976da8", - "urls": [ - "bzz-raw://56d882459248f73e137db2e097fc56b946147fb28ec21661b77431f88e856cb4", - "dweb:/ipfs/QmRP6Ry7DCS5uoKxnnkTomHSzbaCze6cHqbR9aLdjoF6vK" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/external-position-manager/IExternalPositionManager.sol": { - "keccak256": "0x3af3f634e1f99fb97091b7825c0d2e2baaafc124d4e87d56cb0c17ff8554f6c6", - "urls": [ - "bzz-raw://515470605afe5ef147f30fa75ce7818f0e00e3d321eb81a4d9bffcdefc294495", - "dweb:/ipfs/QmPKsp99pfHoz9Tfo3ZxnkmqDqJtN9PxqacF2RmeVfxUJF" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol": { - "keccak256": "0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609", - "urls": [ - "bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f", - "dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol": { - "keccak256": "0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01", - "urls": [ - "bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0", - "dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/protocol-fees/IProtocolFeeTracker.sol": { - "keccak256": "0x232b347f83457439064add7369bfe1930c7cb56f15930bb87d640e909c15e447", - "urls": [ - "bzz-raw://24f9af5eebdd373b1d7a598c096eb6def31b2640d54416d7d5a7226e1cef17e6", - "dweb:/ipfs/QmStq9ByGuSYdKwTmZf52L1X6sZVJUfXTnoVbnjLLiUcHG" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IGsnForwarder.sol": { - "keccak256": "0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030", - "urls": [ - "bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29", - "dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IGsnPaymaster.sol": { - "keccak256": "0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c", - "urls": [ - "bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4", - "dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IGsnTypes.sol": { - "keccak256": "0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714", - "urls": [ - "bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7", - "dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IWETH.sol": { - "keccak256": "0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2", - "urls": [ - "bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2", - "dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AddressArrayLib.sol": { - "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", - "urls": [ - "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", - "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/beacon-proxy/IBeacon.sol": { - "keccak256": "0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2", - "urls": [ - "bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39", - "dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol": { - "keccak256": "0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc", - "urls": [ - "bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be", - "dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20Burnable.sol": { - "keccak256": "0x9c0eb3b0e11d2480d49991dc384f1e5f9c9b9967cc81944d50916a9b9c6c4984", - "urls": [ - "bzz-raw://99e4033d778624992e86f0b6d801a4f6d7b5c0cd5c79c1296be90a051ad5f5af", - "dweb:/ipfs/QmShYmkUqh6pDEeoWadZ24icmCr4C2Xys1uE5boivPmbwf" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { - "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", - "urls": [ - "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", - "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Address.sol": { - "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", - "urls": [ - "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", - "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 83 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_externalPositionManager", "type": "address", "internalType": "address" }, { "name": "_gasRelayPaymasterFactory", "type": "address", "internalType": "address" }, { "name": "_protocolFeeReserve", "type": "address", "internalType": "address" }, { "name": "_protocolFeeTracker", "type": "address", "internalType": "address" }, { "name": "_mlnToken", "type": "address", "internalType": "address" }, { "name": "_mlnBurner", "type": "address", "internalType": "address" }, { "name": "_wethToken", "type": "address", "internalType": "address" }, { "name": "_positionsLimit", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "receive", "stateMutability": "payable" }, { "type": "function", "name": "addAssetManagers", "inputs": [ { "name": "_managers", "type": "address[]", "internalType": "address[]" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "addTrackedAsset", "inputs": [ { "name": "_asset", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "allowance", "inputs": [ { "name": "_owner", "type": "address", "internalType": "address" }, { "name": "_spender", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "approve", "inputs": [ { "name": "_spender", "type": "address", "internalType": "address" }, { "name": "_amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "balanceOf", "inputs": [ { "name": "_account", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "burnShares", "inputs": [ { "name": "_target", "type": "address", "internalType": "address" }, { "name": "_amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "buyBackProtocolFeeShares", "inputs": [ { "name": "_sharesAmount", "type": "uint256", "internalType": "uint256" }, { "name": "_mlnValue", "type": "uint256", "internalType": "uint256" }, { "name": "_gav", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "callOnContract", "inputs": [ { "name": "_contract", "type": "address", "internalType": "address" }, { "name": "_callData", "type": "bytes", "internalType": "bytes" } ], "outputs": [ { "name": "returnData_", "type": "bytes", "internalType": "bytes" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "canManageAssets", "inputs": [ { "name": "_who", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "canManageAssets_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "canMigrate", "inputs": [ { "name": "_who", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "canMigrate_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "canRelayCalls", "inputs": [ { "name": "_who", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "canRelayCalls_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "claimOwnership", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "decimals", "inputs": [], "outputs": [ { "name": "", "type": "uint8", "internalType": "uint8" } ], "stateMutability": "pure" }, { "type": "function", "name": "getAccessor", "inputs": [], "outputs": [ { "name": "accessor_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getActiveExternalPositions", "inputs": [], "outputs": [ { "name": "activeExternalPositions_", "type": "address[]", "internalType": "address[]" } ], "stateMutability": "view" }, { "type": "function", "name": "getCreator", "inputs": [], "outputs": [ { "name": "creator_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getExternalPositionLibForType", "inputs": [ { "name": "_typeId", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "externalPositionLib_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getExternalPositionManager", "inputs": [], "outputs": [ { "name": "externalPositionManager_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getFundDeployer", "inputs": [], "outputs": [ { "name": "fundDeployer_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getGasRelayPaymasterFactory", "inputs": [], "outputs": [ { "name": "gasRelayPaymasterFactory_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getGasRelayTrustedForwarder", "inputs": [], "outputs": [ { "name": "trustedForwarder_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getMigrator", "inputs": [], "outputs": [ { "name": "migrator_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getMlnBurner", "inputs": [], "outputs": [ { "name": "mlnBurner_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getMlnToken", "inputs": [], "outputs": [ { "name": "mlnToken_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getNominatedOwner", "inputs": [], "outputs": [ { "name": "nominatedOwner_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getOwner", "inputs": [], "outputs": [ { "name": "owner_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getPositionsLimit", "inputs": [], "outputs": [ { "name": "positionsLimit_", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "getProtocolFeeReserve", "inputs": [], "outputs": [ { "name": "protocolFeeReserve_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getProtocolFeeTracker", "inputs": [], "outputs": [ { "name": "protocolFeeTracker_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getTrackedAssets", "inputs": [], "outputs": [ { "name": "trackedAssets_", "type": "address[]", "internalType": "address[]" } ], "stateMutability": "view" }, { "type": "function", "name": "getVaultLib", "inputs": [], "outputs": [ { "name": "vaultLib_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getWethToken", "inputs": [], "outputs": [ { "name": "wethToken_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "init", "inputs": [ { "name": "_owner", "type": "address", "internalType": "address" }, { "name": "_accessor", "type": "address", "internalType": "address" }, { "name": "_fundName", "type": "string", "internalType": "string" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "isActiveExternalPosition", "inputs": [ { "name": "_externalPosition", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "isActiveExternalPosition_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "isAssetManager", "inputs": [ { "name": "_who", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "isAssetManager_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "isTrackedAsset", "inputs": [ { "name": "_asset", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "isTrackedAsset_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "mintShares", "inputs": [ { "name": "_target", "type": "address", "internalType": "address" }, { "name": "_amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "name", "inputs": [], "outputs": [ { "name": "", "type": "string", "internalType": "string" } ], "stateMutability": "view" }, { "type": "function", "name": "payProtocolFee", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "proxiableUUID", "inputs": [], "outputs": [ { "name": "uuid_", "type": "bytes32", "internalType": "bytes32" } ], "stateMutability": "pure" }, { "type": "function", "name": "receiveValidatedVaultAction", "inputs": [ { "name": "_action", "type": "uint8", "internalType": "enum IVault.VaultAction" }, { "name": "_actionData", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "removeAssetManagers", "inputs": [ { "name": "_managers", "type": "address[]", "internalType": "address[]" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "removeNominatedOwner", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setAccessor", "inputs": [ { "name": "_nextAccessor", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setAccessorForFundReconfiguration", "inputs": [ { "name": "_nextAccessor", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setFreelyTransferableShares", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setMigrator", "inputs": [ { "name": "_nextMigrator", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setName", "inputs": [ { "name": "_nextName", "type": "string", "internalType": "string" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setNominatedOwner", "inputs": [ { "name": "_nextNominatedOwner", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setSymbol", "inputs": [ { "name": "_nextSymbol", "type": "string", "internalType": "string" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setVaultLib", "inputs": [ { "name": "_nextVaultLib", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "sharesAreFreelyTransferable", "inputs": [], "outputs": [ { "name": "sharesAreFreelyTransferable_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "symbol", "inputs": [], "outputs": [ { "name": "symbol_", "type": "string", "internalType": "string" } ], "stateMutability": "view" }, { "type": "function", "name": "totalSupply", "inputs": [], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "transfer", "inputs": [ { "name": "_recipient", "type": "address", "internalType": "address" }, { "name": "_amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "success_", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "transferFrom", "inputs": [ { "name": "_sender", "type": "address", "internalType": "address" }, { "name": "_recipient", "type": "address", "internalType": "address" }, { "name": "_amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "success_", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "transferShares", "inputs": [ { "name": "_from", "type": "address", "internalType": "address" }, { "name": "_to", "type": "address", "internalType": "address" }, { "name": "_amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "withdrawAssetTo", "inputs": [ { "name": "_asset", "type": "address", "internalType": "address" }, { "name": "_target", "type": "address", "internalType": "address" }, { "name": "_amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "event", "name": "AccessorSet", "inputs": [ { "name": "prevAccessor", "type": "address", "indexed": false, "internalType": "address" }, { "name": "nextAccessor", "type": "address", "indexed": false, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "Approval", "inputs": [ { "name": "owner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "spender", "type": "address", "indexed": true, "internalType": "address" }, { "name": "value", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "AssetManagerAdded", "inputs": [ { "name": "manager", "type": "address", "indexed": false, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "AssetManagerRemoved", "inputs": [ { "name": "manager", "type": "address", "indexed": false, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "AssetWithdrawn", "inputs": [ { "name": "asset", "type": "address", "indexed": true, "internalType": "address" }, { "name": "target", "type": "address", "indexed": true, "internalType": "address" }, { "name": "amount", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "EthReceived", "inputs": [ { "name": "sender", "type": "address", "indexed": true, "internalType": "address" }, { "name": "amount", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "ExternalPositionAdded", "inputs": [ { "name": "externalPosition", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "ExternalPositionRemoved", "inputs": [ { "name": "externalPosition", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "FreelyTransferableSharesSet", "inputs": [], "anonymous": false }, { "type": "event", "name": "MigratorSet", "inputs": [ { "name": "prevMigrator", "type": "address", "indexed": false, "internalType": "address" }, { "name": "nextMigrator", "type": "address", "indexed": false, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "NameSet", "inputs": [ { "name": "name", "type": "string", "indexed": false, "internalType": "string" } ], "anonymous": false }, { "type": "event", "name": "NominatedOwnerRemoved", "inputs": [ { "name": "nominatedOwner", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "NominatedOwnerSet", "inputs": [ { "name": "nominatedOwner", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "OwnerSet", "inputs": [ { "name": "prevOwner", "type": "address", "indexed": false, "internalType": "address" }, { "name": "nextOwner", "type": "address", "indexed": false, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "OwnershipTransferred", "inputs": [ { "name": "prevOwner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "nextOwner", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "ProtocolFeePaidInShares", "inputs": [ { "name": "sharesAmount", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "ProtocolFeeSharesBoughtBack", "inputs": [ { "name": "sharesAmount", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "mlnValue", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "mlnBurned", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "SymbolSet", "inputs": [ { "name": "symbol", "type": "string", "indexed": false, "internalType": "string" } ], "anonymous": false }, { "type": "event", "name": "TrackedAssetAdded", "inputs": [ { "name": "asset", "type": "address", "indexed": false, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "TrackedAssetRemoved", "inputs": [ { "name": "asset", "type": "address", "indexed": false, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "Transfer", "inputs": [ { "name": "from", "type": "address", "indexed": true, "internalType": "address" }, { "name": "to", "type": "address", "indexed": true, "internalType": "address" }, { "name": "value", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "VaultLibSet", "inputs": [ { "name": "prevVaultLib", "type": "address", "indexed": false, "internalType": "address" }, { "name": "nextVaultLib", "type": "address", "indexed": false, "internalType": "address" } ], "anonymous": false } ], "bytecode": { "object": "0x61018060405234801561001157600080fd5b5060405162004d0438038062004d04833981810160405261010081101561003757600080fd5b5080516020820151604083015160608085015160808087015160a08089015160c0808b015160e09b8c01516001600160601b03199a891b8b1690965299871b8916909252851b87169052831b85169096526101009590955290811b82166101205292831b811661014052911b166101605260805160601c60a05160601c60c05160601c60e05160601c610100516101205160601c6101405160601c6101605160601c614be96200011b600039806110015250806121e8525080612cac525080612d96525080612cfb525080612d7252508061289a5250806128765250614be96000f3fe6080604052600436106103855760003560e01c8063728e17a0116101d1578063ac25945611610102578063cd63d578116100a0578063e70e605e1161006f578063e70e605e14610f87578063ee7a7c0414610f9c578063fe15c02a14610fd5578063ff3cdf5614610fea57610420565b8063cd63d57814610f0d578063d5c20fa214610f22578063da41962e14610f37578063dd62ed3e14610f4c57610420565b8063b8b7f147116100dc578063b8b7f14714610dd5578063bfc77beb14610e3a578063c47f002714610e7d578063c4b9737014610ef857610420565b8063ac25945614610d30578063b3fc38e914610d45578063b84c824614610d5a57610420565b80638156eecf1161016f57806397c0ac871161014957806397c0ac8714610c24578063a9059cbb14610c39578063a90cce4b14610c72578063ab9253ac14610cfd57610420565b80638156eecf14610be5578063893d20e814610bfa57806395d89b4114610c0f57610420565b806375d8bb0e116101ab57806375d8bb0e14610b40578063797ed33914610b6a5780637c81ac2d14610b9d5780637de07cea14610bb257610420565b8063728e17a014610ac5578063740f2b5a14610af8578063749cc8f514610b2b57610420565b8063495d753c116102b65780635c9a6d37116102545780636ea21143116102235780636ea2114314610a1757806370a0823114610a2c578063712bd10214610a5f578063714ca2d114610a9257610420565b80635c9a6d37146108c05780636487aa111461095457806364cb36cb14610987578063682cea1914610a0257610420565b80634ef0762e116102905780634ef0762e1461082a578063528c198a1461085d57806352d1902d146108965780635a53e348146108ab57610420565b8063495d753c146107bd5780634c252f91146108005780634e71e0c81461081557610420565b806324e6001211610323578063313ce567116102fd578063313ce567146106b157806336861889146106dc5780633e11553d1461070f5780634140d6071461078a57610420565b806324e6001214610602578063288b6a361461068757806328c2ad9c1461069c57610420565b806318160ddd1161035f57806318160ddd1461052d5780631ff46bfa1461055457806323b872dd1461058c57806323cf3118146105cf57610420565b806306fdde0314610425578063095ea7b3146104af5780630ee2cb10146104fc57610420565b36610420573031610394610fff565b6001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b1580156103ce57600080fd5b505af11580156103e2573d6000803e3d6000fd5b50506040805185815290513394507f85177f287940f2f05425a4029951af0e047a7f9c4eaa9a6e6917bcd869f866959350908190036020019150a250005b600080fd5b34801561043157600080fd5b5061043a611024565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561047457818101518382015260200161045c565b50505050905090810190601f1680156104a15780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156104bb57600080fd5b506104e8600480360360408110156104d257600080fd5b506001600160a01b0381351690602001356110ba565b604080519115158252519081900360200190f35b34801561050857600080fd5b506105116110d0565b604080516001600160a01b039092168252519081900360200190f35b34801561053957600080fd5b506105426110df565b60408051918252519081900360200190f35b34801561056057600080fd5b5061058a6004803603606081101561057757600080fd5b50803590602081013590604001356110e5565b005b34801561059857600080fd5b506104e8600480360360608110156105af57600080fd5b506001600160a01b038135811691602081013590911690604001356112c5565b3480156105db57600080fd5b5061058a600480360360208110156105f257600080fd5b50356001600160a01b03166112e7565b34801561060e57600080fd5b5061058a6004803603604081101561062557600080fd5b60ff8235169190810190604081016020820135600160201b81111561064957600080fd5b82018360208201111561065b57600080fd5b803590602001918460018302840111600160201b8311171561067c57600080fd5b509092509050611405565b34801561069357600080fd5b50610511611791565b3480156106a857600080fd5b506104e86117a5565b3480156106bd57600080fd5b506106c66117ae565b6040805160ff9092168252519081900360200190f35b3480156106e857600080fd5b506104e8600480360360208110156106ff57600080fd5b50356001600160a01b03166117b3565b34801561071b57600080fd5b5061058a6004803603602081101561073257600080fd5b810190602081018135600160201b81111561074c57600080fd5b82018360208201111561075e57600080fd5b803590602001918460208302840111600160201b8311171561077f57600080fd5b509092509050611809565b34801561079657600080fd5b5061058a600480360360208110156107ad57600080fd5b50356001600160a01b0316611989565b3480156107c957600080fd5b5061058a600480360360608110156107e057600080fd5b506001600160a01b03813581169160208101359091169060400135611a30565b34801561080c57600080fd5b50610511610fff565b34801561082157600080fd5b5061058a611a84565b34801561083657600080fd5b5061058a6004803603602081101561084d57600080fd5b50356001600160a01b0316611b36565b34801561086957600080fd5b5061058a6004803603604081101561088057600080fd5b506001600160a01b038135169060200135611b8b565b3480156108a257600080fd5b50610542611be2565b3480156108b757600080fd5b50610511611c06565b3480156108cc57600080fd5b5061058a600480360360608110156108e357600080fd5b6001600160a01b038235811692602081013590911691810190606081016040820135600160201b81111561091657600080fd5b82018360208201111561092857600080fd5b803590602001918460018302840111600160201b8311171561094957600080fd5b509092509050611c15565b34801561096057600080fd5b506104e86004803603602081101561097757600080fd5b50356001600160a01b0316611d03565b34801561099357600080fd5b5061058a600480360360208110156109aa57600080fd5b810190602081018135600160201b8111156109c457600080fd5b8201836020820111156109d657600080fd5b803590602001918460208302840111600160201b831117156109f757600080fd5b509092509050611d21565b348015610a0e57600080fd5b50610511611e8b565b348015610a2357600080fd5b50610511611eb0565b348015610a3857600080fd5b5061054260048036036020811015610a4f57600080fd5b50356001600160a01b0316611f91565b348015610a6b57600080fd5b506104e860048036036020811015610a8257600080fd5b50356001600160a01b0316611fac565b348015610a9e57600080fd5b506104e860048036036020811015610ab557600080fd5b50356001600160a01b0316611fca565b348015610ad157600080fd5b5061058a60048036036020811015610ae857600080fd5b50356001600160a01b0316611ff7565b348015610b0457600080fd5b5061058a60048036036020811015610b1b57600080fd5b50356001600160a01b0316612186565b348015610b3757600080fd5b506105116121e6565b348015610b4c57600080fd5b5061051160048036036020811015610b6357600080fd5b503561220a565b348015610b7657600080fd5b506104e860048036036020811015610b8d57600080fd5b50356001600160a01b0316612289565b348015610ba957600080fd5b5061058a6122a7565b348015610bbe57600080fd5b506104e860048036036020811015610bd557600080fd5b50356001600160a01b031661237c565b348015610bf157600080fd5b5061058a6123ab565b348015610c0657600080fd5b50610511612499565b348015610c1b57600080fd5b5061043a6124a8565b348015610c3057600080fd5b50610511612682565b348015610c4557600080fd5b506104e860048036036040811015610c5c57600080fd5b506001600160a01b0381351690602001356126cd565b348015610c7e57600080fd5b5061043a60048036036040811015610c9557600080fd5b6001600160a01b038235169190810190604081016020820135600160201b811115610cbf57600080fd5b820183602082011115610cd157600080fd5b803590602001918460018302840111600160201b83111715610cf257600080fd5b5090925090506126e4565b348015610d0957600080fd5b5061058a60048036036020811015610d2057600080fd5b50356001600160a01b031661282b565b348015610d3c57600080fd5b50610511612874565b348015610d5157600080fd5b50610511612898565b348015610d6657600080fd5b5061058a60048036036020811015610d7d57600080fd5b810190602081018135600160201b811115610d9757600080fd5b820183602082011115610da957600080fd5b803590602001918460018302840111600160201b83111715610dca57600080fd5b5090925090506128bc565b348015610de157600080fd5b50610dea6129ae565b60408051602080825283518183015283519192839290830191858101910280838360005b83811015610e26578181015183820152602001610e0e565b505050509050019250505060405180910390f35b348015610e4657600080fd5b5061058a60048036036060811015610e5d57600080fd5b506001600160a01b03813581169160208101359091169060400135612a0f565b348015610e8957600080fd5b5061058a60048036036020811015610ea057600080fd5b810190602081018135600160201b811115610eba57600080fd5b820183602082011115610ecc57600080fd5b803590602001918460018302840111600160201b83111715610eed57600080fd5b509092509050612a63565b348015610f0457600080fd5b50610dea612b2d565b348015610f1957600080fd5b50610511612b8d565b348015610f2e57600080fd5b5061058a612b9c565b348015610f4357600080fd5b50610511612caa565b348015610f5857600080fd5b5061054260048036036040811015610f6f57600080fd5b506001600160a01b0381358116916020013516612cce565b348015610f9357600080fd5b50610511612cf9565b348015610fa857600080fd5b5061058a60048036036040811015610fbf57600080fd5b506001600160a01b038135169060200135612d1d565b348015610fe157600080fd5b50610511612d70565b348015610ff657600080fd5b50610542612d94565b7f00000000000000000000000000000000000000000000000000000000000000005b90565b60008054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156110b05780601f10611085576101008083540402835291602001916110b0565b820191906000526020600020905b81548152906001019060200180831161109357829003601f168201915b5050505050905090565b60006110c7338484612db8565b50600192915050565b6006546001600160a01b031690565b60025490565b6005546001600160a01b0316331461112e5760405162461bcd60e51b815260040180806020018281038252602f8152602001806148d0602f913960400191505060405180910390fd5b6000611138612caa565b6001600160a01b03166396c45aec8585856040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050602060405180830381600087803b15801561118d57600080fd5b505af11580156111a1573d6000803e3d6000fd5b505050506040513d60208110156111b757600080fd5b50519050806111c657506112c0565b6111d76111d1612caa565b85612ea4565b60006111e1612d70565b6001600160a01b0316141561125a576111f8612cf9565b6001600160a01b03166342966c68826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561123d57600080fd5b505af1158015611251573d6000803e3d6000fd5b5050505061127e565b61127e611265612d70565b8261126e612cf9565b6001600160a01b03169190612f94565b604080518581526020810185905280820183905290517ff8c67da77ed4cb50a4dec91c60cf78ee219033bd3c55a86d133178c557c2d2cf9181900360600190a1505b505050565b60006112d2848484612fe6565b6112dd8484846130d7565b90505b9392505050565b6008546001600160a01b03166112fb613140565b6001600160a01b0316146113405760405162461bcd60e51b81526004018080602001828103825260258152602001806146666025913960400191505060405180910390fd5b6007546001600160a01b039081169082168114156113a5576040805162461bcd60e51b815260206004820152601e60248201527f7365744d69677261746f723a2056616c756520616c7265616479207365740000604482015290519081900360640190fd5b600780546001600160a01b0319166001600160a01b03848116918217909255604080519284168352602083019190915280517f9d0761a1fa4d686cd87f8dbf8ca52f90cf19c3c4dc36e66ebbf08fc5ba203f2c9281900390910190a15050565b6005546001600160a01b0316331461144e5760405162461bcd60e51b815260040180806020018281038252602f8152602001806148d0602f913960400191505060405180910390fd5b600883600a81111561145c57fe5b14156114a6576114a182828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061318492505050565b6112c0565b600483600a8111156114b457fe5b14156114f9576114a182828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506131a392505050565b600583600a81111561150757fe5b141561154c576114a182828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506131c292505050565b600183600a81111561155a57fe5b141561159f576114a182828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061320392505050565b600983600a8111156115ad57fe5b14156115f2576114a182828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061323392505050565b600283600a81111561160057fe5b1415611645576114a182828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506134b692505050565b600a83600a81111561165357fe5b1415611698576114a182828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506134e692505050565b600683600a8111156116a657fe5b14156116eb576114a182828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061350592505050565b600383600a8111156116f957fe5b141561173e576114a182828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061352492505050565b600783600a81111561174c57fe5b14156112c0576112c082828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061355f92505050565b600b5461010090046001600160a01b031690565b600b5460ff1690565b601290565b60006117bd612499565b6001600160a01b0316826001600160a01b031614806117e057506117e082611d03565b8061180357506117ee612b8d565b6001600160a01b0316826001600160a01b0316145b92915050565b6008546001600160a01b031661181d613140565b6001600160a01b0316146118625760405162461bcd60e51b81526004018080602001828103825260258152602001806146666025913960400191505060405180910390fd5b60005b818110156112c05761189183838381811061187c57fe5b905060200201356001600160a01b0316611d03565b156118cd5760405162461bcd60e51b815260040180806020018281038252602c815260200180614723602c913960400191505060405180910390fd5b6001600d60008585858181106118df57fe5b905060200201356001600160a01b03166001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055507f8cf4dd2d46ca2e74b9cc238f9e9c907b5a6a50e2f652162a062d5e8129f35d7a83838381811061195357fe5b905060200201356001600160a01b031660405180826001600160a01b0316815260200191505060405180910390a1600101611865565b6006546001600160a01b031633146119d25760405162461bcd60e51b81526004018080602001828103825260328152602001806148766032913960400191505060405180910390fd5b60006119dc611e8b565b90506119e78261359a565b604080516001600160a01b0380841682528416602082015281517fe504a0278c9d64c1a72d2f528a0c5e3686e093fcd478b3b1224a5c6983207df6929181900390910190a15050565b6005546001600160a01b03163314611a795760405162461bcd60e51b815260040180806020018281038252602f8152602001806148d0602f913960400191505060405180910390fd5b6112c0838383613680565b600b5461010090046001600160a01b0316338114611ad35760405162461bcd60e51b815260040180806020018281038252603e815260200180614a8f603e913960400191505060405180910390fd5b600b8054610100600160a81b0319169055600880546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6005546001600160a01b03163314611b7f5760405162461bcd60e51b815260040180806020018281038252602f8152602001806148d0602f913960400191505060405180910390fd5b611b888161373b565b50565b6005546001600160a01b03163314611bd45760405162461bcd60e51b815260040180806020018281038252602f8152602001806148d0602f913960400191505060405180910390fd5b611bde8282613844565b5050565b7f027b9570e9fedc1a80b937ae9a06861e5faef3992491af30b684a64b3fbec7a590565b6005546001600160a01b031690565b6006546001600160a01b031615611c73576040805162461bcd60e51b815260206004820152601f60248201527f696e69743a2050726f787920616c726561647920696e697469616c697a656400604482015290519081900360640190fd5b600680546001600160a01b03191633179055611c91600083836145d2565b50611c9b8361392a565b611ca4846139d2565b7fe504a0278c9d64c1a72d2f528a0c5e3686e093fcd478b3b1224a5c6983207df66000611ccf611e8b565b60405180836001600160a01b03168152602001826001600160a01b031681526020019250505060405180910390a150505050565b6001600160a01b03166000908152600d602052604090205460ff1690565b6008546001600160a01b0316611d35613140565b6001600160a01b031614611d7a5760405162461bcd60e51b81526004018080602001828103825260258152602001806146666025913960400191505060405180910390fd5b60005b818110156112c057611d9483838381811061187c57fe5b611dcf5760405162461bcd60e51b815260040180806020018281038252602b815260200180614b7c602b913960400191505060405180910390fd5b6000600d6000858585818110611de157fe5b905060200201356001600160a01b03166001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055507f1a3f6d43a85364a6a2d8297f0cd634e060a6ef9bc11b3a0c89e47d40b89c2f7e838383818110611e5557fe5b905060200201356001600160a01b031660405180826001600160a01b0316815260200191505060405180910390a1600101611d7d565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6000611eba612874565b6001600160a01b03166398a7c4c76040518163ffffffff1660e01b815260040160206040518083038186803b158015611ef257600080fd5b505afa158015611f06573d6000803e3d6000fd5b505050506040513d6020811015611f1c57600080fd5b505160408051637da0a87760e01b815290516001600160a01b0390921691637da0a87791600480820192602092909190829003018186803b158015611f6057600080fd5b505afa158015611f74573d6000803e3d6000fd5b505050506040513d6020811015611f8a57600080fd5b5051905090565b6001600160a01b031660009081526003602052604090205490565b6001600160a01b03166000908152600e602052604090205460ff1690565b6000611fd4612499565b6001600160a01b0316826001600160a01b03161480611803575061180382611d03565b6008546001600160a01b031661200b613140565b6001600160a01b0316146120505760405162461bcd60e51b81526004018080602001828103825260258152602001806146666025913960400191505060405180910390fd5b6001600160a01b0381166120955760405162461bcd60e51b81526004018080602001828103825260368152602001806148406036913960400191505060405180910390fd5b6008546001600160a01b03828116911614156120e25760405162461bcd60e51b815260040180806020018281038252603b815260200180614975603b913960400191505060405180910390fd5b600b546001600160a01b038281166101009092041614156121345760405162461bcd60e51b815260040180806020018281038252603b815260200180614a03603b913960400191505060405180910390fd5b600b8054610100600160a81b0319166101006001600160a01b038416908102919091179091556040517f132c19de901bb4ed8403c34734b6c841d5dc57745824da452a52433519ea5abf90600090a250565b61218e612682565b6001600160a01b0316336001600160a01b0316146121dd5760405162461bcd60e51b81526004018080602001828103825260288152602001806148a86028913960400191505060405180910390fd5b611b888161392a565b7f000000000000000000000000000000000000000000000000000000000000000090565b6000612214612898565b6001600160a01b03166375d8bb0e836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561225757600080fd5b505afa15801561226b573d6000803e3d6000fd5b505050506040513d602081101561228157600080fd5b505192915050565b6001600160a01b03166000908152600a602052604090205460ff1690565b6008546001600160a01b03166122bb613140565b6001600160a01b0316146123005760405162461bcd60e51b81526004018080602001828103825260258152602001806146666025913960400191505060405180910390fd5b6123086117a5565b156123445760405162461bcd60e51b8152600401808060200182810382526028815260200180614b546028913960400191505060405180910390fd5b600b805460ff191660011790556040517f505ab4202e673074a7b93ec3c2ca442c3526a42232835c56d223bd09672c5b0d90600090a1565b6008546000906001600160a01b03838116911614806118035750506007546001600160a01b0390811691161490565b6008546001600160a01b03166123bf613140565b6001600160a01b0316146124045760405162461bcd60e51b81526004018080602001828103825260258152602001806146666025913960400191505060405180910390fd5b600b5461010090046001600160a01b0316806124515760405162461bcd60e51b815260040180806020018281038252603181526020018061480f6031913960400191505060405180910390fd5b600b8054610100600160a81b03191690556040516001600160a01b038216907fe4136584a5e8bb85d66301f3ce8b11cc2e5a8bea3979f10ea2451353849acc4790600090a250565b6008546001600160a01b031690565b60018054604080516020601f600260001961010087891615020190951694909404938401819004810282018101909252828152606093909290918301828280156125335780601f1061250857610100808354040283529160200191612533565b820191906000526020600020905b81548152906001019060200180831161251657829003601f168201915b5050505050905080516000141561102157600660009054906101000a90046001600160a01b03166001600160a01b031663b47b06006040518163ffffffff1660e01b815260040160006040518083038186803b15801561259257600080fd5b505afa1580156125a6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260208110156125cf57600080fd5b8101908080516040519392919084600160201b8211156125ee57600080fd5b90830190602082018581111561260357600080fd5b8251600160201b81118282018810171561261c57600080fd5b82525081516020918201929091019080838360005b83811015612649578181015183820152602001612631565b50505050905090810190601f1680156126765780820380516001836020036101000a031916815260200191505b50604052505050905090565b600654604080516307af8e9f60e31b815230600482015290516000926001600160a01b031691633d7c74f8916024808301926020929190829003018186803b158015611f6057600080fd5b60006126da338484612fe6565b6112e08383613ac6565b6005546060906001600160a01b031633146127305760405162461bcd60e51b815260040180806020018281038252602f8152602001806148d0602f913960400191505060405180910390fd5b6000846001600160a01b03168484604051808383808284376040519201945060009350909150508083038183865af19150503d806000811461278e576040519150601f19603f3d011682016040523d82523d6000602084013e612793565b606091505b509250905081816128225760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156127e75781810151838201526020016127cf565b50505050905090810190601f1680156128145780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50509392505050565b6006546001600160a01b031633146121dd5760405162461bcd60e51b81526004018080602001828103825260328152602001806149b06032913960400191505060405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b6008546001600160a01b03166128d0613140565b6001600160a01b031614806128fd57506128e8612682565b6001600160a01b0316336001600160a01b0316145b61293d576040805162461bcd60e51b815260206004820152600c60248201526b155b985d5d1a1bdc9a5e995960a21b604482015290519081900360640190fd5b612949600183836145d2565b507f3e46ff90086ee29856e77591e82c82ff8ed513379b0fd82e84fc5290dd633c99828260405180806020018281038252848482818152602001925080828437600083820152604051601f909101601f19169092018290039550909350505050a15050565b6060600c8054806020026020016040519081016040528092919081815260200182805480156110b057602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116129e8575050505050905090565b6005546001600160a01b03163314612a585760405162461bcd60e51b815260040180806020018281038252602f8152602001806148d0602f913960400191505060405180910390fd5b6112c0838383613acf565b6008546001600160a01b0316612a77613140565b6001600160a01b031614612abc5760405162461bcd60e51b81526004018080602001828103825260258152602001806146666025913960400191505060405180910390fd5b612ac8600083836145d2565b507f13c98778b0c1a086bb98d7f1986e15788b5d3a1ad4c492e1d78f1c4cc51c20cf828260405180806020018281038252848482818152602001925080828437600083820152604051601f909101601f19169092018290039550909350505050a15050565b606060098054806020026020016040519081016040528092919081815260200182805480156110b0576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116129e8575050505050905090565b6007546001600160a01b031690565b6005546001600160a01b03163314612be55760405162461bcd60e51b815260040180806020018281038252602f8152602001806148d0602f913960400191505060405180910390fd5b6000612bef6121e6565b6001600160a01b031663296102526040518163ffffffff1660e01b8152600401602060405180830381600087803b158015612c2957600080fd5b505af1158015612c3d573d6000803e3d6000fd5b505050506040513d6020811015612c5357600080fd5b5051905080612c625750612ca8565b612c73612c6d612caa565b82613844565b6040805182815290517f390f4e733d9d6104fbfb7508fdaf57640ea4179603e995d21027fda40e2576979181900360200190a1505b565b7f000000000000000000000000000000000000000000000000000000000000000090565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b7f000000000000000000000000000000000000000000000000000000000000000090565b6005546001600160a01b03163314612d665760405162461bcd60e51b815260040180806020018281038252602f8152602001806148d0602f913960400191505060405180910390fd5b611bde8282612ea4565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b6001600160a01b038316612dfd5760405162461bcd60e51b8152600401808060200182810382526024815260200180614b066024913960400191505060405180910390fd5b6001600160a01b038216612e425760405162461bcd60e51b81526004018080602001828103825260228152602001806147016022913960400191505060405180910390fd5b6001600160a01b03808416600081815260046020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038216612ee95760405162461bcd60e51b81526004018080602001828103825260218152602001806149e26021913960400191505060405180910390fd5b612f26816040518060600160405280602281526020016146ae602291396001600160a01b0385166000908152600360205260409020549190613c21565b6001600160a01b038316600090815260036020526040902055600254612f4c9082613c7b565b6002556040805182815290516000916001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526112c0908490613ca0565b612fee6117a5565b1561305d5760055460408051631f3abfcf60e31b81526001600160a01b0386811660048301529151919092169163f9d5fe78916024808301926000929190829003018186803b15801561304057600080fd5b505afa158015613054573d6000803e3d6000fd5b505050506112c0565b60055460408051630979029360e11b81526001600160a01b038681166004830152858116602483015260448201859052915191909216916312f2052691606480830192600092919082900301818387803b1580156130ba57600080fd5b505af11580156130ce573d6000803e3d6000fd5b50505050505050565b60006130e4848484613acf565b6131368433613131856040518060600160405280602881526020016148ff602891396001600160a01b038a1660009081526004602090815260408083203384529091529020549190613c21565b612db8565b5060019392505050565b60006018361080159061316b5750613156611eb0565b6001600160a01b0316336001600160a01b0316145b1561317f575060131936013560601c611021565b503390565b611b8881806020019051602081101561319c57600080fd5b5051613d51565b611b888180602001905160208110156131bb57600080fd5b505161373b565b60008060008380602001905160608110156131dc57600080fd5b508051602082015160409092015190945090925090506131fd838383613df2565b50505050565b60008082806020019051604081101561321b57600080fd5b50805160209091015190925090506112c08282612ea4565b60006060806060808580602001905160a081101561325057600080fd5b815160208301805160405192949293830192919084600160201b82111561327657600080fd5b90830190602082018581111561328b57600080fd5b8251600160201b8111828201881017156132a457600080fd5b82525081516020918201929091019080838360005b838110156132d15781810151838201526020016132b9565b50505050905090810190601f1680156132fe5780820380516001836020036101000a031916815260200191505b5060405260200180516040519392919084600160201b82111561332057600080fd5b90830190602082018581111561333557600080fd5b82518660208202830111600160201b8211171561335157600080fd5b82525081516020918201928201910280838360005b8381101561337e578181015183820152602001613366565b5050505090500160405260200180516040519392919084600160201b8211156133a657600080fd5b9083019060208201858111156133bb57600080fd5b82518660208202830111600160201b821117156133d757600080fd5b82525081516020918201928201910280838360005b838110156134045781810151838201526020016133ec565b5050505090500160405260200180516040519392919084600160201b82111561342c57600080fd5b90830190602082018581111561344157600080fd5b82518660208202830111600160201b8211171561345d57600080fd5b82525081516020918201928201910280838360005b8381101561348a578181015183820152602001613472565b50505050905001604052505050945094509450945094506134ae8585858585613eff565b505050505050565b6000808280602001905160408110156134ce57600080fd5b50805160209091015190925090506112c08282613844565b611b888180602001905160208110156134fe57600080fd5b5051614077565b611b8881806020019051602081101561351d57600080fd5b50516140e8565b600080600083806020019051606081101561353e57600080fd5b508051602082015160409092015190945090925090506131fd838383613acf565b600080600083806020019051606081101561357957600080fd5b508051602082015160409092015190945090925090506131fd838383613680565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b815260040160206040518083038186803b1580156135d357600080fd5b505afa1580156135e7573d6000803e3d6000fd5b505050506040513d60208110156135fd57600080fd5b50517f027b9570e9fedc1a80b937ae9a06861e5faef3992491af30b684a64b3fbec7a51461365c5760405162461bcd60e51b81526004018080602001828103825260318152602001806146d06031913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b826001600160a01b0381163014156136d6576040805162461bcd60e51b815260206004820152601460248201527343616e6e6f7420616374206f6e2073686172657360601b604482015290519081900360640190fd5b6136ea6001600160a01b0385168484612f94565b826001600160a01b0316846001600160a01b03167f6f9cbac839b826cc524f53d10416c053fce34ec15fd1001720e777cc49720e76846040518082815260200191505060405180910390a350505050565b806001600160a01b038116301415613791576040805162461bcd60e51b815260206004820152601460248201527343616e6e6f7420616374206f6e2073686172657360601b604482015290519081900360640190fd5b61379a82612289565b611bde576137a6614161565b6001600160a01b0382166000818152600a60209081526040808320805460ff191660019081179091556009805491820181559093527f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af90920180546001600160a01b03191684179055815192835290517fa0d2bfad19dc0c6970d2a2fcff65458a6d7c4fa3b6d904f44961b2c744bdf5919281900390910190a15050565b6001600160a01b03821661389f576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b6002546138ac90826141ac565b6002556001600160a01b0382166000908152600360205260409020546138d290826141ac565b6001600160a01b03831660008181526003602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6001600160a01b03811661396f5760405162461bcd60e51b815260040180806020018281038252602c815260200180614a63602c913960400191505060405180910390fd5b600580546001600160a01b038381166001600160a01b0319831681179093556040805191909216808252602082019390935281517fb5a9def940973a936e331170816650368964b0602957d4bc60f5ddc2dc1b69cd929181900390910190a15050565b6001600160a01b038116613a175760405162461bcd60e51b81526004018080602001828103825260268152602001806147756026913960400191505060405180910390fd5b6008546001600160a01b03908116908216811415613a665760405162461bcd60e51b815260040180806020018281038252602b81526020018061494a602b913960400191505060405180910390fd5b600880546001600160a01b0319166001600160a01b03848116918217909255604080519284168352602083019190915280517f342827c97908e5e2f71151c08502a66d44b6f758e3ac2f1de95f02eb95f0a7359281900390910190a15050565b60006110c73384845b6001600160a01b038316613b145760405162461bcd60e51b8152600401808060200182810382526025815260200180614a3e6025913960400191505060405180910390fd5b6001600160a01b038216613b595760405162461bcd60e51b815260040180806020018281038252602381526020018061468b6023913960400191505060405180910390fd5b613b968160405180606001604052806026815260200161474f602691396001600160a01b0386166000908152600360205260409020549190613c21565b6001600160a01b038085166000908152600360205260408082209390935590841681522054613bc590826141ac565b6001600160a01b0380841660008181526003602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b60008184841115613c735760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156127e75781810151838201526020016127cf565b505050900390565b60006112e083836040518060600160405280602681526020016147e960269139613c21565b6060613cf5826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166141f09092919063ffffffff16565b8051909150156112c057808060200190516020811015613d1457600080fd5b50516112c05760405162461bcd60e51b815260040180806020018281038252602a815260200180614b2a602a913960400191505060405180910390fd5b613d5a81611fac565b611b8857613d66614161565b6001600160a01b0381166000818152600e6020526040808220805460ff19166001908117909155600c8054918201815583527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c70180546001600160a01b03191684179055517f07524f5de87a754cb09f25965c3355b50dfece5fa624111739d5bf5caa05ebe69190a250565b826001600160a01b038116301415613e48576040805162461bcd60e51b815260206004820152601460248201527343616e6e6f7420616374206f6e2073686172657360601b604482015290519081900360640190fd5b60408051636eb1769f60e11b81523060048201526001600160a01b038581166024830152915186926000929084169163dd62ed3e91604480820192602092909190829003018186803b158015613e9d57600080fd5b505afa158015613eb1573d6000803e3d6000fd5b505050506040513d6020811015613ec757600080fd5b50511115613ee457613ee46001600160a01b0382168560006141ff565b613ef86001600160a01b03821685856141ff565b5050505050565b613f0885611fac565b613f435760405162461bcd60e51b8152600401808060200182810382526039815260200180614acd6039913960400191505060405180910390fd5b60005b8351811015613f8857613f80848281518110613f5e57fe5b602002602001015187858481518110613f7357fe5b6020026020010151613680565b600101613f46565b5060405163e5c23a9760e01b81526020600482018181528651602484015286516001600160a01b0389169363e5c23a979389939283926044019185019080838360005b83811015613fe3578181015183820152602001613fcb565b50505050905090810190601f1680156140105780820380516001836020036101000a031916815260200191505b5092505050600060405180830381600087803b15801561402f57600080fd5b505af1158015614043573d6000803e3d6000fd5b5050505060005b81518110156134ae5761406f82828151811061406257fe5b602002602001015161373b565b60010161404a565b61408081611fac565b15611b88576001600160a01b0381166000908152600e60205260409020805460ff191690556140b0600c82614312565b506040516001600160a01b038216907f5af401380f7c5a87ba294191b430d5c1c6dcc133c1d774c092cb0d6a52e20bef90600090a250565b6140f181612289565b15611b88576001600160a01b0381166000908152600a60205260409020805460ff19169055614121600982614312565b50604080516001600160a01b038316815290517f22c4fcf23b40d39b02733ec19a3975b31172f2a5b2ce5d0f1831525276cd71569181900360200190a150565b614169612d94565b600c546009540110612ca85760405162461bcd60e51b815260040180806020018281038252602881526020018061479b6028913960400191505060405180910390fd5b6000828201838110156112e05760405162461bcd60e51b81526004018080602001828103825260238152602001806149276023913960400191505060405180910390fd5b60606112dd848460008561440a565b801580614285575060408051636eb1769f60e11b81523060048201526001600160a01b03848116602483015291519185169163dd62ed3e91604480820192602092909190829003018186803b15801561425757600080fd5b505afa15801561426b573d6000803e3d6000fd5b505050506040513d602081101561428157600080fd5b5051155b6142c05760405162461bcd60e51b8152600401808060200182810382526036815260200180614ba76036913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526112c0908490613ca0565b8154600090815b8181101561440257836001600160a01b031685828154811061433757fe5b6000918252602090912001546001600160a01b031614156143fa57600182038110156143c55784600183038154811061436c57fe5b9060005260206000200160009054906101000a90046001600160a01b031685828154811061439657fe5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055505b848054806143cf57fe5b600082815260209020810160001990810180546001600160a01b031916905501905560019250614402565b600101614319565b505092915050565b60608247101561444b5760405162461bcd60e51b81526004018080602001828103825260268152602001806147c36026913960400191505060405180910390fd5b61445485614566565b6144a5576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b602083106144e45780518252601f1990920191602091820191016144c5565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114614546576040519150601f19603f3d011682016040523d82523d6000602084013e61454b565b606091505b509150915061455b82828661456c565b979650505050505050565b3b151590565b6060831561457b5750816112e0565b82511561458b5782518084602001fd5b60405162461bcd60e51b81526020600482018181528451602484015284518593919283926044019190850190808383600083156127e75781810151838201526020016127cf565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106146135782800160ff19823516178555614640565b82800160010185558215614640579182015b82811115614640578235825591602001919060010190614625565b5061464c929150614650565b5090565b5b8082111561464c576000815560010161465156fe4f6e6c7920746865206f776e65722063616e2063616c6c20746869732066756e6374696f6e45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e63655f5f757064617465436f6465416464726573733a205f6e6578745661756c744c6962206e6f7420636f6d70617469626c6545524332303a20617070726f766520746f20746865207a65726f206164647265737361646441737365744d616e61676572733a204d616e6167657220616c7265616479207265676973746572656445524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e63655f5f7365744f776e65723a205f6e6578744f776e65722063616e6e6f7420626520656d7074795f5f76616c6964617465506f736974696f6e734c696d69743a204c696d6974206578636565646564416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c5661756c744c6962536166654d6174683a207375627472616374696f6e206f766572666c6f7772656d6f76654e6f6d696e617465644f776e65723a205468657265206973206e6f206e6f6d696e61746564206f776e65727365744e6f6d696e617465644f776e65723a205f6e6578744e6f6d696e617465644f776e65722063616e6e6f7420626520656d7074797365745661756c744c69623a204f6e6c792063616c6c61626c652062792074686520636f6e74726163742063726561746f724f6e6c79207468652046756e644465706c6f7965722063616e206d616b6520746869732063616c6c4f6e6c79207468652064657369676e61746564206163636573736f722063616e206d616b6520746869732063616c6c45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63655661756c744c6962536166654d6174683a206164646974696f6e206f766572666c6f775f5f7365744f776e65723a205f6e6578744f776e6572206973207468652063757272656e74206f776e65727365744e6f6d696e617465644f776e65723a205f6e6578744e6f6d696e617465644f776e657220697320616c726561647920746865206f776e65727365744163636573736f723a204f6e6c792063616c6c61626c652062792074686520636f6e74726163742063726561746f7245524332303a206275726e2066726f6d20746865207a65726f20616464726573737365744e6f6d696e617465644f776e65723a205f6e6578744e6f6d696e617465644f776e657220697320616c7265616479206e6f6d696e6174656445524332303a207472616e736665722066726f6d20746865207a65726f20616464726573735f5f7365744163636573736f723a205f6e6578744163636573736f722063616e6e6f7420626520656d707479636c61696d4f776e6572736869703a204f6e6c7920746865206e6f6d696e617465644f776e65722063616e2063616c6c20746869732066756e6374696f6e5f5f63616c6c4f6e45787465726e616c506f736974696f6e3a204e6f7420616e206163746976652065787465726e616c20706f736974696f6e45524332303a20617070726f76652066726f6d20746865207a65726f20616464726573735361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564736574467265656c795472616e7366657261626c655368617265733a20416c72656164792073657472656d6f766541737365744d616e61676572733a204d616e61676572206e6f7420726567697374657265645361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e6365a164736f6c634300060c000a", "sourceMap": "1628:30011:83:-:0;;;2936:663;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2936:663:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;820:55:230;;;;;;;;3296:52:83;;;;;;;;3358:23;;;;;;3391:21;;;;;;;2936:663;3422:33;;;;3465:42;;;;;::::1;::::0;3517;;;;;::::1;::::0;3569:23;;;::::1;::::0;1628:30011;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x6080604052600436106103855760003560e01c8063728e17a0116101d1578063ac25945611610102578063cd63d578116100a0578063e70e605e1161006f578063e70e605e14610f87578063ee7a7c0414610f9c578063fe15c02a14610fd5578063ff3cdf5614610fea57610420565b8063cd63d57814610f0d578063d5c20fa214610f22578063da41962e14610f37578063dd62ed3e14610f4c57610420565b8063b8b7f147116100dc578063b8b7f14714610dd5578063bfc77beb14610e3a578063c47f002714610e7d578063c4b9737014610ef857610420565b8063ac25945614610d30578063b3fc38e914610d45578063b84c824614610d5a57610420565b80638156eecf1161016f57806397c0ac871161014957806397c0ac8714610c24578063a9059cbb14610c39578063a90cce4b14610c72578063ab9253ac14610cfd57610420565b80638156eecf14610be5578063893d20e814610bfa57806395d89b4114610c0f57610420565b806375d8bb0e116101ab57806375d8bb0e14610b40578063797ed33914610b6a5780637c81ac2d14610b9d5780637de07cea14610bb257610420565b8063728e17a014610ac5578063740f2b5a14610af8578063749cc8f514610b2b57610420565b8063495d753c116102b65780635c9a6d37116102545780636ea21143116102235780636ea2114314610a1757806370a0823114610a2c578063712bd10214610a5f578063714ca2d114610a9257610420565b80635c9a6d37146108c05780636487aa111461095457806364cb36cb14610987578063682cea1914610a0257610420565b80634ef0762e116102905780634ef0762e1461082a578063528c198a1461085d57806352d1902d146108965780635a53e348146108ab57610420565b8063495d753c146107bd5780634c252f91146108005780634e71e0c81461081557610420565b806324e6001211610323578063313ce567116102fd578063313ce567146106b157806336861889146106dc5780633e11553d1461070f5780634140d6071461078a57610420565b806324e6001214610602578063288b6a361461068757806328c2ad9c1461069c57610420565b806318160ddd1161035f57806318160ddd1461052d5780631ff46bfa1461055457806323b872dd1461058c57806323cf3118146105cf57610420565b806306fdde0314610425578063095ea7b3146104af5780630ee2cb10146104fc57610420565b36610420573031610394610fff565b6001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b1580156103ce57600080fd5b505af11580156103e2573d6000803e3d6000fd5b50506040805185815290513394507f85177f287940f2f05425a4029951af0e047a7f9c4eaa9a6e6917bcd869f866959350908190036020019150a250005b600080fd5b34801561043157600080fd5b5061043a611024565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561047457818101518382015260200161045c565b50505050905090810190601f1680156104a15780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156104bb57600080fd5b506104e8600480360360408110156104d257600080fd5b506001600160a01b0381351690602001356110ba565b604080519115158252519081900360200190f35b34801561050857600080fd5b506105116110d0565b604080516001600160a01b039092168252519081900360200190f35b34801561053957600080fd5b506105426110df565b60408051918252519081900360200190f35b34801561056057600080fd5b5061058a6004803603606081101561057757600080fd5b50803590602081013590604001356110e5565b005b34801561059857600080fd5b506104e8600480360360608110156105af57600080fd5b506001600160a01b038135811691602081013590911690604001356112c5565b3480156105db57600080fd5b5061058a600480360360208110156105f257600080fd5b50356001600160a01b03166112e7565b34801561060e57600080fd5b5061058a6004803603604081101561062557600080fd5b60ff8235169190810190604081016020820135600160201b81111561064957600080fd5b82018360208201111561065b57600080fd5b803590602001918460018302840111600160201b8311171561067c57600080fd5b509092509050611405565b34801561069357600080fd5b50610511611791565b3480156106a857600080fd5b506104e86117a5565b3480156106bd57600080fd5b506106c66117ae565b6040805160ff9092168252519081900360200190f35b3480156106e857600080fd5b506104e8600480360360208110156106ff57600080fd5b50356001600160a01b03166117b3565b34801561071b57600080fd5b5061058a6004803603602081101561073257600080fd5b810190602081018135600160201b81111561074c57600080fd5b82018360208201111561075e57600080fd5b803590602001918460208302840111600160201b8311171561077f57600080fd5b509092509050611809565b34801561079657600080fd5b5061058a600480360360208110156107ad57600080fd5b50356001600160a01b0316611989565b3480156107c957600080fd5b5061058a600480360360608110156107e057600080fd5b506001600160a01b03813581169160208101359091169060400135611a30565b34801561080c57600080fd5b50610511610fff565b34801561082157600080fd5b5061058a611a84565b34801561083657600080fd5b5061058a6004803603602081101561084d57600080fd5b50356001600160a01b0316611b36565b34801561086957600080fd5b5061058a6004803603604081101561088057600080fd5b506001600160a01b038135169060200135611b8b565b3480156108a257600080fd5b50610542611be2565b3480156108b757600080fd5b50610511611c06565b3480156108cc57600080fd5b5061058a600480360360608110156108e357600080fd5b6001600160a01b038235811692602081013590911691810190606081016040820135600160201b81111561091657600080fd5b82018360208201111561092857600080fd5b803590602001918460018302840111600160201b8311171561094957600080fd5b509092509050611c15565b34801561096057600080fd5b506104e86004803603602081101561097757600080fd5b50356001600160a01b0316611d03565b34801561099357600080fd5b5061058a600480360360208110156109aa57600080fd5b810190602081018135600160201b8111156109c457600080fd5b8201836020820111156109d657600080fd5b803590602001918460208302840111600160201b831117156109f757600080fd5b509092509050611d21565b348015610a0e57600080fd5b50610511611e8b565b348015610a2357600080fd5b50610511611eb0565b348015610a3857600080fd5b5061054260048036036020811015610a4f57600080fd5b50356001600160a01b0316611f91565b348015610a6b57600080fd5b506104e860048036036020811015610a8257600080fd5b50356001600160a01b0316611fac565b348015610a9e57600080fd5b506104e860048036036020811015610ab557600080fd5b50356001600160a01b0316611fca565b348015610ad157600080fd5b5061058a60048036036020811015610ae857600080fd5b50356001600160a01b0316611ff7565b348015610b0457600080fd5b5061058a60048036036020811015610b1b57600080fd5b50356001600160a01b0316612186565b348015610b3757600080fd5b506105116121e6565b348015610b4c57600080fd5b5061051160048036036020811015610b6357600080fd5b503561220a565b348015610b7657600080fd5b506104e860048036036020811015610b8d57600080fd5b50356001600160a01b0316612289565b348015610ba957600080fd5b5061058a6122a7565b348015610bbe57600080fd5b506104e860048036036020811015610bd557600080fd5b50356001600160a01b031661237c565b348015610bf157600080fd5b5061058a6123ab565b348015610c0657600080fd5b50610511612499565b348015610c1b57600080fd5b5061043a6124a8565b348015610c3057600080fd5b50610511612682565b348015610c4557600080fd5b506104e860048036036040811015610c5c57600080fd5b506001600160a01b0381351690602001356126cd565b348015610c7e57600080fd5b5061043a60048036036040811015610c9557600080fd5b6001600160a01b038235169190810190604081016020820135600160201b811115610cbf57600080fd5b820183602082011115610cd157600080fd5b803590602001918460018302840111600160201b83111715610cf257600080fd5b5090925090506126e4565b348015610d0957600080fd5b5061058a60048036036020811015610d2057600080fd5b50356001600160a01b031661282b565b348015610d3c57600080fd5b50610511612874565b348015610d5157600080fd5b50610511612898565b348015610d6657600080fd5b5061058a60048036036020811015610d7d57600080fd5b810190602081018135600160201b811115610d9757600080fd5b820183602082011115610da957600080fd5b803590602001918460018302840111600160201b83111715610dca57600080fd5b5090925090506128bc565b348015610de157600080fd5b50610dea6129ae565b60408051602080825283518183015283519192839290830191858101910280838360005b83811015610e26578181015183820152602001610e0e565b505050509050019250505060405180910390f35b348015610e4657600080fd5b5061058a60048036036060811015610e5d57600080fd5b506001600160a01b03813581169160208101359091169060400135612a0f565b348015610e8957600080fd5b5061058a60048036036020811015610ea057600080fd5b810190602081018135600160201b811115610eba57600080fd5b820183602082011115610ecc57600080fd5b803590602001918460018302840111600160201b83111715610eed57600080fd5b509092509050612a63565b348015610f0457600080fd5b50610dea612b2d565b348015610f1957600080fd5b50610511612b8d565b348015610f2e57600080fd5b5061058a612b9c565b348015610f4357600080fd5b50610511612caa565b348015610f5857600080fd5b5061054260048036036040811015610f6f57600080fd5b506001600160a01b0381358116916020013516612cce565b348015610f9357600080fd5b50610511612cf9565b348015610fa857600080fd5b5061058a60048036036040811015610fbf57600080fd5b506001600160a01b038135169060200135612d1d565b348015610fe157600080fd5b50610511612d70565b348015610ff657600080fd5b50610542612d94565b7f00000000000000000000000000000000000000000000000000000000000000005b90565b60008054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156110b05780601f10611085576101008083540402835291602001916110b0565b820191906000526020600020905b81548152906001019060200180831161109357829003601f168201915b5050505050905090565b60006110c7338484612db8565b50600192915050565b6006546001600160a01b031690565b60025490565b6005546001600160a01b0316331461112e5760405162461bcd60e51b815260040180806020018281038252602f8152602001806148d0602f913960400191505060405180910390fd5b6000611138612caa565b6001600160a01b03166396c45aec8585856040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050602060405180830381600087803b15801561118d57600080fd5b505af11580156111a1573d6000803e3d6000fd5b505050506040513d60208110156111b757600080fd5b50519050806111c657506112c0565b6111d76111d1612caa565b85612ea4565b60006111e1612d70565b6001600160a01b0316141561125a576111f8612cf9565b6001600160a01b03166342966c68826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561123d57600080fd5b505af1158015611251573d6000803e3d6000fd5b5050505061127e565b61127e611265612d70565b8261126e612cf9565b6001600160a01b03169190612f94565b604080518581526020810185905280820183905290517ff8c67da77ed4cb50a4dec91c60cf78ee219033bd3c55a86d133178c557c2d2cf9181900360600190a1505b505050565b60006112d2848484612fe6565b6112dd8484846130d7565b90505b9392505050565b6008546001600160a01b03166112fb613140565b6001600160a01b0316146113405760405162461bcd60e51b81526004018080602001828103825260258152602001806146666025913960400191505060405180910390fd5b6007546001600160a01b039081169082168114156113a5576040805162461bcd60e51b815260206004820152601e60248201527f7365744d69677261746f723a2056616c756520616c7265616479207365740000604482015290519081900360640190fd5b600780546001600160a01b0319166001600160a01b03848116918217909255604080519284168352602083019190915280517f9d0761a1fa4d686cd87f8dbf8ca52f90cf19c3c4dc36e66ebbf08fc5ba203f2c9281900390910190a15050565b6005546001600160a01b0316331461144e5760405162461bcd60e51b815260040180806020018281038252602f8152602001806148d0602f913960400191505060405180910390fd5b600883600a81111561145c57fe5b14156114a6576114a182828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061318492505050565b6112c0565b600483600a8111156114b457fe5b14156114f9576114a182828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506131a392505050565b600583600a81111561150757fe5b141561154c576114a182828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506131c292505050565b600183600a81111561155a57fe5b141561159f576114a182828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061320392505050565b600983600a8111156115ad57fe5b14156115f2576114a182828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061323392505050565b600283600a81111561160057fe5b1415611645576114a182828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506134b692505050565b600a83600a81111561165357fe5b1415611698576114a182828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506134e692505050565b600683600a8111156116a657fe5b14156116eb576114a182828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061350592505050565b600383600a8111156116f957fe5b141561173e576114a182828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061352492505050565b600783600a81111561174c57fe5b14156112c0576112c082828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061355f92505050565b600b5461010090046001600160a01b031690565b600b5460ff1690565b601290565b60006117bd612499565b6001600160a01b0316826001600160a01b031614806117e057506117e082611d03565b8061180357506117ee612b8d565b6001600160a01b0316826001600160a01b0316145b92915050565b6008546001600160a01b031661181d613140565b6001600160a01b0316146118625760405162461bcd60e51b81526004018080602001828103825260258152602001806146666025913960400191505060405180910390fd5b60005b818110156112c05761189183838381811061187c57fe5b905060200201356001600160a01b0316611d03565b156118cd5760405162461bcd60e51b815260040180806020018281038252602c815260200180614723602c913960400191505060405180910390fd5b6001600d60008585858181106118df57fe5b905060200201356001600160a01b03166001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055507f8cf4dd2d46ca2e74b9cc238f9e9c907b5a6a50e2f652162a062d5e8129f35d7a83838381811061195357fe5b905060200201356001600160a01b031660405180826001600160a01b0316815260200191505060405180910390a1600101611865565b6006546001600160a01b031633146119d25760405162461bcd60e51b81526004018080602001828103825260328152602001806148766032913960400191505060405180910390fd5b60006119dc611e8b565b90506119e78261359a565b604080516001600160a01b0380841682528416602082015281517fe504a0278c9d64c1a72d2f528a0c5e3686e093fcd478b3b1224a5c6983207df6929181900390910190a15050565b6005546001600160a01b03163314611a795760405162461bcd60e51b815260040180806020018281038252602f8152602001806148d0602f913960400191505060405180910390fd5b6112c0838383613680565b600b5461010090046001600160a01b0316338114611ad35760405162461bcd60e51b815260040180806020018281038252603e815260200180614a8f603e913960400191505060405180910390fd5b600b8054610100600160a81b0319169055600880546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6005546001600160a01b03163314611b7f5760405162461bcd60e51b815260040180806020018281038252602f8152602001806148d0602f913960400191505060405180910390fd5b611b888161373b565b50565b6005546001600160a01b03163314611bd45760405162461bcd60e51b815260040180806020018281038252602f8152602001806148d0602f913960400191505060405180910390fd5b611bde8282613844565b5050565b7f027b9570e9fedc1a80b937ae9a06861e5faef3992491af30b684a64b3fbec7a590565b6005546001600160a01b031690565b6006546001600160a01b031615611c73576040805162461bcd60e51b815260206004820152601f60248201527f696e69743a2050726f787920616c726561647920696e697469616c697a656400604482015290519081900360640190fd5b600680546001600160a01b03191633179055611c91600083836145d2565b50611c9b8361392a565b611ca4846139d2565b7fe504a0278c9d64c1a72d2f528a0c5e3686e093fcd478b3b1224a5c6983207df66000611ccf611e8b565b60405180836001600160a01b03168152602001826001600160a01b031681526020019250505060405180910390a150505050565b6001600160a01b03166000908152600d602052604090205460ff1690565b6008546001600160a01b0316611d35613140565b6001600160a01b031614611d7a5760405162461bcd60e51b81526004018080602001828103825260258152602001806146666025913960400191505060405180910390fd5b60005b818110156112c057611d9483838381811061187c57fe5b611dcf5760405162461bcd60e51b815260040180806020018281038252602b815260200180614b7c602b913960400191505060405180910390fd5b6000600d6000858585818110611de157fe5b905060200201356001600160a01b03166001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055507f1a3f6d43a85364a6a2d8297f0cd634e060a6ef9bc11b3a0c89e47d40b89c2f7e838383818110611e5557fe5b905060200201356001600160a01b031660405180826001600160a01b0316815260200191505060405180910390a1600101611d7d565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b6000611eba612874565b6001600160a01b03166398a7c4c76040518163ffffffff1660e01b815260040160206040518083038186803b158015611ef257600080fd5b505afa158015611f06573d6000803e3d6000fd5b505050506040513d6020811015611f1c57600080fd5b505160408051637da0a87760e01b815290516001600160a01b0390921691637da0a87791600480820192602092909190829003018186803b158015611f6057600080fd5b505afa158015611f74573d6000803e3d6000fd5b505050506040513d6020811015611f8a57600080fd5b5051905090565b6001600160a01b031660009081526003602052604090205490565b6001600160a01b03166000908152600e602052604090205460ff1690565b6000611fd4612499565b6001600160a01b0316826001600160a01b03161480611803575061180382611d03565b6008546001600160a01b031661200b613140565b6001600160a01b0316146120505760405162461bcd60e51b81526004018080602001828103825260258152602001806146666025913960400191505060405180910390fd5b6001600160a01b0381166120955760405162461bcd60e51b81526004018080602001828103825260368152602001806148406036913960400191505060405180910390fd5b6008546001600160a01b03828116911614156120e25760405162461bcd60e51b815260040180806020018281038252603b815260200180614975603b913960400191505060405180910390fd5b600b546001600160a01b038281166101009092041614156121345760405162461bcd60e51b815260040180806020018281038252603b815260200180614a03603b913960400191505060405180910390fd5b600b8054610100600160a81b0319166101006001600160a01b038416908102919091179091556040517f132c19de901bb4ed8403c34734b6c841d5dc57745824da452a52433519ea5abf90600090a250565b61218e612682565b6001600160a01b0316336001600160a01b0316146121dd5760405162461bcd60e51b81526004018080602001828103825260288152602001806148a86028913960400191505060405180910390fd5b611b888161392a565b7f000000000000000000000000000000000000000000000000000000000000000090565b6000612214612898565b6001600160a01b03166375d8bb0e836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561225757600080fd5b505afa15801561226b573d6000803e3d6000fd5b505050506040513d602081101561228157600080fd5b505192915050565b6001600160a01b03166000908152600a602052604090205460ff1690565b6008546001600160a01b03166122bb613140565b6001600160a01b0316146123005760405162461bcd60e51b81526004018080602001828103825260258152602001806146666025913960400191505060405180910390fd5b6123086117a5565b156123445760405162461bcd60e51b8152600401808060200182810382526028815260200180614b546028913960400191505060405180910390fd5b600b805460ff191660011790556040517f505ab4202e673074a7b93ec3c2ca442c3526a42232835c56d223bd09672c5b0d90600090a1565b6008546000906001600160a01b03838116911614806118035750506007546001600160a01b0390811691161490565b6008546001600160a01b03166123bf613140565b6001600160a01b0316146124045760405162461bcd60e51b81526004018080602001828103825260258152602001806146666025913960400191505060405180910390fd5b600b5461010090046001600160a01b0316806124515760405162461bcd60e51b815260040180806020018281038252603181526020018061480f6031913960400191505060405180910390fd5b600b8054610100600160a81b03191690556040516001600160a01b038216907fe4136584a5e8bb85d66301f3ce8b11cc2e5a8bea3979f10ea2451353849acc4790600090a250565b6008546001600160a01b031690565b60018054604080516020601f600260001961010087891615020190951694909404938401819004810282018101909252828152606093909290918301828280156125335780601f1061250857610100808354040283529160200191612533565b820191906000526020600020905b81548152906001019060200180831161251657829003601f168201915b5050505050905080516000141561102157600660009054906101000a90046001600160a01b03166001600160a01b031663b47b06006040518163ffffffff1660e01b815260040160006040518083038186803b15801561259257600080fd5b505afa1580156125a6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260208110156125cf57600080fd5b8101908080516040519392919084600160201b8211156125ee57600080fd5b90830190602082018581111561260357600080fd5b8251600160201b81118282018810171561261c57600080fd5b82525081516020918201929091019080838360005b83811015612649578181015183820152602001612631565b50505050905090810190601f1680156126765780820380516001836020036101000a031916815260200191505b50604052505050905090565b600654604080516307af8e9f60e31b815230600482015290516000926001600160a01b031691633d7c74f8916024808301926020929190829003018186803b158015611f6057600080fd5b60006126da338484612fe6565b6112e08383613ac6565b6005546060906001600160a01b031633146127305760405162461bcd60e51b815260040180806020018281038252602f8152602001806148d0602f913960400191505060405180910390fd5b6000846001600160a01b03168484604051808383808284376040519201945060009350909150508083038183865af19150503d806000811461278e576040519150601f19603f3d011682016040523d82523d6000602084013e612793565b606091505b509250905081816128225760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156127e75781810151838201526020016127cf565b50505050905090810190601f1680156128145780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50509392505050565b6006546001600160a01b031633146121dd5760405162461bcd60e51b81526004018080602001828103825260328152602001806149b06032913960400191505060405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b6008546001600160a01b03166128d0613140565b6001600160a01b031614806128fd57506128e8612682565b6001600160a01b0316336001600160a01b0316145b61293d576040805162461bcd60e51b815260206004820152600c60248201526b155b985d5d1a1bdc9a5e995960a21b604482015290519081900360640190fd5b612949600183836145d2565b507f3e46ff90086ee29856e77591e82c82ff8ed513379b0fd82e84fc5290dd633c99828260405180806020018281038252848482818152602001925080828437600083820152604051601f909101601f19169092018290039550909350505050a15050565b6060600c8054806020026020016040519081016040528092919081815260200182805480156110b057602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116129e8575050505050905090565b6005546001600160a01b03163314612a585760405162461bcd60e51b815260040180806020018281038252602f8152602001806148d0602f913960400191505060405180910390fd5b6112c0838383613acf565b6008546001600160a01b0316612a77613140565b6001600160a01b031614612abc5760405162461bcd60e51b81526004018080602001828103825260258152602001806146666025913960400191505060405180910390fd5b612ac8600083836145d2565b507f13c98778b0c1a086bb98d7f1986e15788b5d3a1ad4c492e1d78f1c4cc51c20cf828260405180806020018281038252848482818152602001925080828437600083820152604051601f909101601f19169092018290039550909350505050a15050565b606060098054806020026020016040519081016040528092919081815260200182805480156110b0576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116129e8575050505050905090565b6007546001600160a01b031690565b6005546001600160a01b03163314612be55760405162461bcd60e51b815260040180806020018281038252602f8152602001806148d0602f913960400191505060405180910390fd5b6000612bef6121e6565b6001600160a01b031663296102526040518163ffffffff1660e01b8152600401602060405180830381600087803b158015612c2957600080fd5b505af1158015612c3d573d6000803e3d6000fd5b505050506040513d6020811015612c5357600080fd5b5051905080612c625750612ca8565b612c73612c6d612caa565b82613844565b6040805182815290517f390f4e733d9d6104fbfb7508fdaf57640ea4179603e995d21027fda40e2576979181900360200190a1505b565b7f000000000000000000000000000000000000000000000000000000000000000090565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b7f000000000000000000000000000000000000000000000000000000000000000090565b6005546001600160a01b03163314612d665760405162461bcd60e51b815260040180806020018281038252602f8152602001806148d0602f913960400191505060405180910390fd5b611bde8282612ea4565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b6001600160a01b038316612dfd5760405162461bcd60e51b8152600401808060200182810382526024815260200180614b066024913960400191505060405180910390fd5b6001600160a01b038216612e425760405162461bcd60e51b81526004018080602001828103825260228152602001806147016022913960400191505060405180910390fd5b6001600160a01b03808416600081815260046020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b038216612ee95760405162461bcd60e51b81526004018080602001828103825260218152602001806149e26021913960400191505060405180910390fd5b612f26816040518060600160405280602281526020016146ae602291396001600160a01b0385166000908152600360205260409020549190613c21565b6001600160a01b038316600090815260036020526040902055600254612f4c9082613c7b565b6002556040805182815290516000916001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526112c0908490613ca0565b612fee6117a5565b1561305d5760055460408051631f3abfcf60e31b81526001600160a01b0386811660048301529151919092169163f9d5fe78916024808301926000929190829003018186803b15801561304057600080fd5b505afa158015613054573d6000803e3d6000fd5b505050506112c0565b60055460408051630979029360e11b81526001600160a01b038681166004830152858116602483015260448201859052915191909216916312f2052691606480830192600092919082900301818387803b1580156130ba57600080fd5b505af11580156130ce573d6000803e3d6000fd5b50505050505050565b60006130e4848484613acf565b6131368433613131856040518060600160405280602881526020016148ff602891396001600160a01b038a1660009081526004602090815260408083203384529091529020549190613c21565b612db8565b5060019392505050565b60006018361080159061316b5750613156611eb0565b6001600160a01b0316336001600160a01b0316145b1561317f575060131936013560601c611021565b503390565b611b8881806020019051602081101561319c57600080fd5b5051613d51565b611b888180602001905160208110156131bb57600080fd5b505161373b565b60008060008380602001905160608110156131dc57600080fd5b508051602082015160409092015190945090925090506131fd838383613df2565b50505050565b60008082806020019051604081101561321b57600080fd5b50805160209091015190925090506112c08282612ea4565b60006060806060808580602001905160a081101561325057600080fd5b815160208301805160405192949293830192919084600160201b82111561327657600080fd5b90830190602082018581111561328b57600080fd5b8251600160201b8111828201881017156132a457600080fd5b82525081516020918201929091019080838360005b838110156132d15781810151838201526020016132b9565b50505050905090810190601f1680156132fe5780820380516001836020036101000a031916815260200191505b5060405260200180516040519392919084600160201b82111561332057600080fd5b90830190602082018581111561333557600080fd5b82518660208202830111600160201b8211171561335157600080fd5b82525081516020918201928201910280838360005b8381101561337e578181015183820152602001613366565b5050505090500160405260200180516040519392919084600160201b8211156133a657600080fd5b9083019060208201858111156133bb57600080fd5b82518660208202830111600160201b821117156133d757600080fd5b82525081516020918201928201910280838360005b838110156134045781810151838201526020016133ec565b5050505090500160405260200180516040519392919084600160201b82111561342c57600080fd5b90830190602082018581111561344157600080fd5b82518660208202830111600160201b8211171561345d57600080fd5b82525081516020918201928201910280838360005b8381101561348a578181015183820152602001613472565b50505050905001604052505050945094509450945094506134ae8585858585613eff565b505050505050565b6000808280602001905160408110156134ce57600080fd5b50805160209091015190925090506112c08282613844565b611b888180602001905160208110156134fe57600080fd5b5051614077565b611b8881806020019051602081101561351d57600080fd5b50516140e8565b600080600083806020019051606081101561353e57600080fd5b508051602082015160409092015190945090925090506131fd838383613acf565b600080600083806020019051606081101561357957600080fd5b508051602082015160409092015190945090925090506131fd838383613680565b806001600160a01b03166352d1902d6040518163ffffffff1660e01b815260040160206040518083038186803b1580156135d357600080fd5b505afa1580156135e7573d6000803e3d6000fd5b505050506040513d60208110156135fd57600080fd5b50517f027b9570e9fedc1a80b937ae9a06861e5faef3992491af30b684a64b3fbec7a51461365c5760405162461bcd60e51b81526004018080602001828103825260318152602001806146d06031913960400191505060405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55565b826001600160a01b0381163014156136d6576040805162461bcd60e51b815260206004820152601460248201527343616e6e6f7420616374206f6e2073686172657360601b604482015290519081900360640190fd5b6136ea6001600160a01b0385168484612f94565b826001600160a01b0316846001600160a01b03167f6f9cbac839b826cc524f53d10416c053fce34ec15fd1001720e777cc49720e76846040518082815260200191505060405180910390a350505050565b806001600160a01b038116301415613791576040805162461bcd60e51b815260206004820152601460248201527343616e6e6f7420616374206f6e2073686172657360601b604482015290519081900360640190fd5b61379a82612289565b611bde576137a6614161565b6001600160a01b0382166000818152600a60209081526040808320805460ff191660019081179091556009805491820181559093527f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af90920180546001600160a01b03191684179055815192835290517fa0d2bfad19dc0c6970d2a2fcff65458a6d7c4fa3b6d904f44961b2c744bdf5919281900390910190a15050565b6001600160a01b03821661389f576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b6002546138ac90826141ac565b6002556001600160a01b0382166000908152600360205260409020546138d290826141ac565b6001600160a01b03831660008181526003602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6001600160a01b03811661396f5760405162461bcd60e51b815260040180806020018281038252602c815260200180614a63602c913960400191505060405180910390fd5b600580546001600160a01b038381166001600160a01b0319831681179093556040805191909216808252602082019390935281517fb5a9def940973a936e331170816650368964b0602957d4bc60f5ddc2dc1b69cd929181900390910190a15050565b6001600160a01b038116613a175760405162461bcd60e51b81526004018080602001828103825260268152602001806147756026913960400191505060405180910390fd5b6008546001600160a01b03908116908216811415613a665760405162461bcd60e51b815260040180806020018281038252602b81526020018061494a602b913960400191505060405180910390fd5b600880546001600160a01b0319166001600160a01b03848116918217909255604080519284168352602083019190915280517f342827c97908e5e2f71151c08502a66d44b6f758e3ac2f1de95f02eb95f0a7359281900390910190a15050565b60006110c73384845b6001600160a01b038316613b145760405162461bcd60e51b8152600401808060200182810382526025815260200180614a3e6025913960400191505060405180910390fd5b6001600160a01b038216613b595760405162461bcd60e51b815260040180806020018281038252602381526020018061468b6023913960400191505060405180910390fd5b613b968160405180606001604052806026815260200161474f602691396001600160a01b0386166000908152600360205260409020549190613c21565b6001600160a01b038085166000908152600360205260408082209390935590841681522054613bc590826141ac565b6001600160a01b0380841660008181526003602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b60008184841115613c735760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156127e75781810151838201526020016127cf565b505050900390565b60006112e083836040518060600160405280602681526020016147e960269139613c21565b6060613cf5826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166141f09092919063ffffffff16565b8051909150156112c057808060200190516020811015613d1457600080fd5b50516112c05760405162461bcd60e51b815260040180806020018281038252602a815260200180614b2a602a913960400191505060405180910390fd5b613d5a81611fac565b611b8857613d66614161565b6001600160a01b0381166000818152600e6020526040808220805460ff19166001908117909155600c8054918201815583527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c70180546001600160a01b03191684179055517f07524f5de87a754cb09f25965c3355b50dfece5fa624111739d5bf5caa05ebe69190a250565b826001600160a01b038116301415613e48576040805162461bcd60e51b815260206004820152601460248201527343616e6e6f7420616374206f6e2073686172657360601b604482015290519081900360640190fd5b60408051636eb1769f60e11b81523060048201526001600160a01b038581166024830152915186926000929084169163dd62ed3e91604480820192602092909190829003018186803b158015613e9d57600080fd5b505afa158015613eb1573d6000803e3d6000fd5b505050506040513d6020811015613ec757600080fd5b50511115613ee457613ee46001600160a01b0382168560006141ff565b613ef86001600160a01b03821685856141ff565b5050505050565b613f0885611fac565b613f435760405162461bcd60e51b8152600401808060200182810382526039815260200180614acd6039913960400191505060405180910390fd5b60005b8351811015613f8857613f80848281518110613f5e57fe5b602002602001015187858481518110613f7357fe5b6020026020010151613680565b600101613f46565b5060405163e5c23a9760e01b81526020600482018181528651602484015286516001600160a01b0389169363e5c23a979389939283926044019185019080838360005b83811015613fe3578181015183820152602001613fcb565b50505050905090810190601f1680156140105780820380516001836020036101000a031916815260200191505b5092505050600060405180830381600087803b15801561402f57600080fd5b505af1158015614043573d6000803e3d6000fd5b5050505060005b81518110156134ae5761406f82828151811061406257fe5b602002602001015161373b565b60010161404a565b61408081611fac565b15611b88576001600160a01b0381166000908152600e60205260409020805460ff191690556140b0600c82614312565b506040516001600160a01b038216907f5af401380f7c5a87ba294191b430d5c1c6dcc133c1d774c092cb0d6a52e20bef90600090a250565b6140f181612289565b15611b88576001600160a01b0381166000908152600a60205260409020805460ff19169055614121600982614312565b50604080516001600160a01b038316815290517f22c4fcf23b40d39b02733ec19a3975b31172f2a5b2ce5d0f1831525276cd71569181900360200190a150565b614169612d94565b600c546009540110612ca85760405162461bcd60e51b815260040180806020018281038252602881526020018061479b6028913960400191505060405180910390fd5b6000828201838110156112e05760405162461bcd60e51b81526004018080602001828103825260238152602001806149276023913960400191505060405180910390fd5b60606112dd848460008561440a565b801580614285575060408051636eb1769f60e11b81523060048201526001600160a01b03848116602483015291519185169163dd62ed3e91604480820192602092909190829003018186803b15801561425757600080fd5b505afa15801561426b573d6000803e3d6000fd5b505050506040513d602081101561428157600080fd5b5051155b6142c05760405162461bcd60e51b8152600401808060200182810382526036815260200180614ba76036913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526112c0908490613ca0565b8154600090815b8181101561440257836001600160a01b031685828154811061433757fe5b6000918252602090912001546001600160a01b031614156143fa57600182038110156143c55784600183038154811061436c57fe5b9060005260206000200160009054906101000a90046001600160a01b031685828154811061439657fe5b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055505b848054806143cf57fe5b600082815260209020810160001990810180546001600160a01b031916905501905560019250614402565b600101614319565b505092915050565b60608247101561444b5760405162461bcd60e51b81526004018080602001828103825260268152602001806147c36026913960400191505060405180910390fd5b61445485614566565b6144a5576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b602083106144e45780518252601f1990920191602091820191016144c5565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114614546576040519150601f19603f3d011682016040523d82523d6000602084013e61454b565b606091505b509150915061455b82828661456c565b979650505050505050565b3b151590565b6060831561457b5750816112e0565b82511561458b5782518084602001fd5b60405162461bcd60e51b81526020600482018181528451602484015284518593919283926044019190850190808383600083156127e75781810151838201526020016127cf565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106146135782800160ff19823516178555614640565b82800160010185558215614640579182015b82811115614640578235825591602001919060010190614625565b5061464c929150614650565b5090565b5b8082111561464c576000815560010161465156fe4f6e6c7920746865206f776e65722063616e2063616c6c20746869732066756e6374696f6e45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e63655f5f757064617465436f6465416464726573733a205f6e6578745661756c744c6962206e6f7420636f6d70617469626c6545524332303a20617070726f766520746f20746865207a65726f206164647265737361646441737365744d616e61676572733a204d616e6167657220616c7265616479207265676973746572656445524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e63655f5f7365744f776e65723a205f6e6578744f776e65722063616e6e6f7420626520656d7074795f5f76616c6964617465506f736974696f6e734c696d69743a204c696d6974206578636565646564416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c5661756c744c6962536166654d6174683a207375627472616374696f6e206f766572666c6f7772656d6f76654e6f6d696e617465644f776e65723a205468657265206973206e6f206e6f6d696e61746564206f776e65727365744e6f6d696e617465644f776e65723a205f6e6578744e6f6d696e617465644f776e65722063616e6e6f7420626520656d7074797365745661756c744c69623a204f6e6c792063616c6c61626c652062792074686520636f6e74726163742063726561746f724f6e6c79207468652046756e644465706c6f7965722063616e206d616b6520746869732063616c6c4f6e6c79207468652064657369676e61746564206163636573736f722063616e206d616b6520746869732063616c6c45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63655661756c744c6962536166654d6174683a206164646974696f6e206f766572666c6f775f5f7365744f776e65723a205f6e6578744f776e6572206973207468652063757272656e74206f776e65727365744e6f6d696e617465644f776e65723a205f6e6578744e6f6d696e617465644f776e657220697320616c726561647920746865206f776e65727365744163636573736f723a204f6e6c792063616c6c61626c652062792074686520636f6e74726163742063726561746f7245524332303a206275726e2066726f6d20746865207a65726f20616464726573737365744e6f6d696e617465644f776e65723a205f6e6578744e6f6d696e617465644f776e657220697320616c7265616479206e6f6d696e6174656445524332303a207472616e736665722066726f6d20746865207a65726f20616464726573735f5f7365744163636573736f723a205f6e6578744163636573736f722063616e6e6f7420626520656d707479636c61696d4f776e6572736869703a204f6e6c7920746865206e6f6d696e617465644f776e65722063616e2063616c6c20746869732066756e6374696f6e5f5f63616c6c4f6e45787465726e616c506f736974696f6e3a204e6f7420616e206163746976652065787465726e616c20706f736974696f6e45524332303a20617070726f76652066726f6d20746865207a65726f20616464726573735361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564736574467265656c795472616e7366657261626c655368617265733a20416c72656164792073657472656d6f766541737365744d616e61676572733a204d616e61676572206e6f7420726567697374657265645361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e6365a164736f6c634300060c000a", "sourceMap": "1628:30011:83:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3847:4;3831:30;3885:14;:12;:14::i;:::-;-1:-1:-1;;;;;3871:38:83;;3917:9;3871:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3945:34:83;;;;;;;;3957:10;;-1:-1:-1;3945:34:83;;-1:-1:-1;3945:34:83;;;;;;;-1:-1:-1;3945:34:83;3774:212;1628:30011;;;;;2882:94:75;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1218:160;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1218:160:75;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;26710:103:83;;;;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;26710:103:83;;;;;;;;;;;;;;3245:102:75;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;11399:848:83;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11399:848:83;;;;;;;;;;;;:::i;:::-;;24867:288;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;24867:288:83;;;;;;;;;;;;;;;;;:::i;8655:284::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8655:284:83;-1:-1:-1;;;;;8655:284:83;;:::i;14817:1413::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;14817:1413:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;14817:1413:83;;;;;;;;;;-1:-1:-1;14817:1413:83;;-1:-1:-1;14817:1413:83;-1:-1:-1;14817:1413:83;:::i;27197:115::-;;;;;;;;;;;;;:::i;31238:188::-;;;;;;;;;;;;;:::i;2727:74:75:-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;26214:181:83;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;26214:181:83;-1:-1:-1;;;;;26214:181:83;;:::i;6715:355::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;6715:355:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;6715:355:83;;;;;;;;;;-1:-1:-1;6715:355:83;;-1:-1:-1;6715:355:83;-1:-1:-1;6715:355:83;:::i;2734:311:68:-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2734:311:68;-1:-1:-1;;;;;2734:311:68;;:::i;14304:196:83:-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;14304:196:83;;;;;;;;;;;;;;;;;:::i;31538:99::-;;;;;;;;;;;;;:::i;7124:381::-;;;;;;;;;;;;;:::i;10423:114::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10423:114:83;-1:-1:-1;;;;;10423:114:83;;:::i;12994:126::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;12994:126:83;;;;;;;;:::i;1593:151:74:-;;;;;;;;;;;;;:::i;26502:104:83:-;;;;;;;;;;;;;:::i;1627:385:68:-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1627:385:68;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1627:385:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1627:385:68;;;;;;;;;;-1:-1:-1;1627:385:68;;-1:-1:-1;1627:385:68;-1:-1:-1;1627:385:68;:::i;30590:134:83:-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;30590:134:83;-1:-1:-1;;;;;30590:134:83;;:::i;7665:359::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;7665:359:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;7665:359:83;;;;;;;;;;-1:-1:-1;7665:359:83;;-1:-1:-1;7665:359:83;-1:-1:-1;7665:359:83;:::i;3555:259:68:-;;;;;;;;;;;;;:::i;1880:260:230:-;;;;;;;;;;;;;:::i;2515:123:75:-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2515:123:75;-1:-1:-1;;;;;2515:123:75;;:::i;30165:228:83:-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;30165:228:83;-1:-1:-1;;;;;30165:228:83;;:::i;25859:160::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;25859:160:83;-1:-1:-1;;;;;25859:160:83;;:::i;9120:624::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9120:624:83;-1:-1:-1;;;;;9120:624:83;;:::i;9965:224::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9965:224:83;-1:-1:-1;;;;;9965:224:83;;:::i;29789:127::-;;;;;;;;;;;;;:::i;4270:313::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4270:313:83;;:::i;30918:140::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;30918:140:83;-1:-1:-1;;;;;30918:140:83;;:::i;5014:245::-;;;;;;;;;;;;;:::i;3281:147:68:-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3281:147:68;-1:-1:-1;;;;;3281:147:68;;:::i;8092:347:83:-;;;;;;;;;;;;;:::i;29044:95::-;;;;;;;;;;;;;:::i;24056:254::-;;;;;;;;;;;;;:::i;28371:159::-;;;;;;;;;;;;;:::i;24459:255::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;24459:255:83;;;;;;;;:::i;12482:336::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;12482:336:83;;;;;;;;;;;;;;;-1:-1:-1;;;12482:336:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;12482:336:83;;;;;;;;;;-1:-1:-1;12482:336:83;;-1:-1:-1;12482:336:83;-1:-1:-1;12482:336:83;:::i;2174:202:68:-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2174:202:68;-1:-1:-1;;;;;2174:202:68;;:::i;1584:174:230:-;;;;;;;;;;;;;:::i;28093:142:83:-;;;;;;;;;;;;;:::i;6232:240::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;6232:240:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;6232:240:83;;;;;;;;;;-1:-1:-1;6232:240:83;;-1:-1:-1;6232:240:83;-1:-1:-1;6232:240:83;:::i;27464:196::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13881:178;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;13881:178:83;;;;;;;;;;;;;;;;;:::i;5625:136::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5625:136:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;5625:136:83;;;;;;;;;;-1:-1:-1;5625:136:83;;-1:-1:-1;5625:136:83;-1:-1:-1;5625:136:83;:::i;27782:130::-;;;;;;;;;;;;;:::i;26920:104::-;;;;;;;;;;;;;:::i;13212:311::-;;;;;;;;;;;;;:::i;29521:127::-;;;;;;;;;;;;;:::i;2280:149:75:-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;2280:149:75;;;;;;;;;;:::i;28850:96:83:-;;;;;;;;;;;;;:::i;10715:126::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;10715:126:83;;;;;;;;:::i;28642:99::-;;;;;;;;;;;;;:::i;29266:114::-;;;;;;;;;;;;;:::i;31538:99::-;31620:10;31538:99;;:::o;2882:94:75:-;2959:10;2952:17;;;;;;;;-1:-1:-1;;2952:17:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2927:13;;2952:17;;2959:10;;2952:17;;2959:10;2952:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2882:94;:::o;1218:160::-;1294:4;1310:40;1320:10;1332:8;1342:7;1310:9;:40::i;:::-;-1:-1:-1;1367:4:75;1218:160;;;;:::o;26710:103:83:-;26799:7;;-1:-1:-1;;;;;26799:7:83;26710:103;:::o;3245:102:75:-;3323:17;;3245:102;:::o;11399:848:83:-;2725:8;;-1:-1:-1;;;;;2725:8:83;2711:10;:22;2703:82;;;;-1:-1:-1;;;2703:82:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11560:23:::1;11607;:21;:23::i;:::-;-1:-1:-1::0;;;;;11586:92:83::1;;11679:13;11694:9;11705:4;11586:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;11586:124:83;;-1:-1:-1;11725:20:83;11721:57:::1;;11761:7;;;11721:57;11892:46;11899:23;:21;:23::i;:::-;11924:13;11892:6;:46::i;:::-;11979:1;11953:14;:12;:14::i;:::-;-1:-1:-1::0;;;;;11953:28:83::1;;11949:206;;;12011:13;:11;:13::i;:::-;-1:-1:-1::0;;;;;11997:33:83::1;;12031:15;11997:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;11949:206;;;12078:66;12112:14;:12;:14::i;:::-;12128:15;12084:13;:11;:13::i;:::-;-1:-1:-1::0;;;;;12078:33:83::1;::::0;:66;:33:::1;:66::i;:::-;12170:70;::::0;;;;;::::1;::::0;::::1;::::0;;;;;;;;;;;::::1;::::0;;;;;;;::::1;2795:1;;11399:848:::0;;;:::o;24867:288::-;24998:13;25023:59;25053:7;25062:10;25074:7;25023:29;:59::i;:::-;25100:48;25119:7;25128:10;25140:7;25100:18;:48::i;:::-;25093:55;;24867:288;;;;;;:::o;8655:284::-;2865:5;;-1:-1:-1;;;;;2865:5:83;2848:13;:11;:13::i;:::-;-1:-1:-1;;;;;2848:22:83;;2840:72;;;;-1:-1:-1;;;2840:72:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8751:8:::1;::::0;-1:-1:-1;;;;;8751:8:83;;::::1;::::0;8777:29;::::1;::::0;::::1;;8769:72;;;::::0;;-1:-1:-1;;;8769:72:83;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;8852:8;:24:::0;;-1:-1:-1;;;;;;8852:24:83::1;-1:-1:-1::0;;;;;8852:24:83;;::::1;::::0;;::::1;::::0;;;8892:40:::1;::::0;;;;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;::::1;::::0;;;;;;;;::::1;2922:1;8655:284:::0;:::o;14817:1413::-;2725:8;;-1:-1:-1;;;;;2725:8:83;2711:10;:22;2703:82;;;;-1:-1:-1;;;2703:82:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14987:31:::1;14976:7;:42;;;;;;;;;14972:1252;;;15034:52;15074:11;;15034:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;15034:39:83::1;::::0;-1:-1:-1;;;15034:52:83:i:1;:::-;14972:1252;;;15118:27;15107:7;:38;;;;;;;;;15103:1121;;;15161:48;15197:11;;15161:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;15161:35:83::1;::::0;-1:-1:-1;;;15161:48:83:i:1;15103:1121::-;15241:31;15230:7;:42;;;;;;;;;15226:998;;;15288:52;15328:11;;15288:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;15288:39:83::1;::::0;-1:-1:-1;;;15288:52:83:i:1;15226:998::-;15372:22;15361:7;:33;;;;;;;;;15357:867;;;15410:43;15441:11;;15410:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;15410:30:83::1;::::0;-1:-1:-1;;;15410:43:83:i:1;15357:867::-;15485:34;15474:7;:45;;;;;;;;;15470:754;;;15535:55;15578:11;;15535:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;15535:42:83::1;::::0;-1:-1:-1;;;15535:55:83:i:1;15470:754::-;15622:22;15611:7;:33;;;;;;;;;15607:617;;;15660:43;15691:11;;15660:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;15660:30:83::1;::::0;-1:-1:-1;;;15660:43:83:i:1;15607:617::-;15735:34;15724:7;:45;;;;;;;;;15720:504;;;15785:55;15828:11;;15785:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;15785:42:83::1;::::0;-1:-1:-1;;;15785:55:83:i:1;15720:504::-;15872:30;15861:7;:41;;;;;;;;;15857:367;;;15918:51;15957:11;;15918:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;15918:38:83::1;::::0;-1:-1:-1;;;15918:51:83:i:1;15857:367::-;16001:26;15990:7;:37;;;;;;;;;15986:238;;;16043:47;16078:11;;16043:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;16043:34:83::1;::::0;-1:-1:-1;;;16043:47:83:i:1;15986:238::-;16122:27;16111:7;:38;;;;;;;;;16107:117;;;16165:48;16201:11;;16165:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;16165:35:83::1;::::0;-1:-1:-1;;;16165:48:83:i:1;27197:115::-:0;27291:14;;;;;-1:-1:-1;;;;;27291:14:83;;27197:115::o;31238:188::-;31395:24;;;;31238:188;:::o;2727:74:75:-;2792:2;2727:74;:::o;26214:181:83:-;26283:19;26329:10;:8;:10::i;:::-;-1:-1:-1;;;;;26321:18:83;:4;-1:-1:-1;;;;;26321:18:83;;:42;;;;26343:20;26358:4;26343:14;:20::i;:::-;26321:67;;;;26375:13;:11;:13::i;:::-;-1:-1:-1;;;;;26367:21:83;:4;-1:-1:-1;;;;;26367:21:83;;26321:67;26314:74;26214:181;-1:-1:-1;;26214:181:83:o;6715:355::-;2865:5;;-1:-1:-1;;;;;2865:5:83;2848:13;:11;:13::i;:::-;-1:-1:-1;;;;;2848:22:83;;2840:72;;;;-1:-1:-1;;;2840:72:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6805:9:::1;6800:264;6816:20:::0;;::::1;6800:264;;;6866:28;6881:9;;6891:1;6881:12;;;;;;;;;;;;;-1:-1:-1::0;;;;;6881:12:83::1;6866:14;:28::i;:::-;6865:29;6857:86;;;;-1:-1:-1::0;;;6857:86:83::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6998:4;6958:23;:37;6982:9;;6992:1;6982:12;;;;;;;;;;;;;-1:-1:-1::0;;;;;6982:12:83::1;-1:-1:-1::0;;;;;6958:37:83::1;-1:-1:-1::0;;;;;6958:37:83::1;;;;;;;;;;;;;:44;;;;;;;;;;;;;;;;;;7022:31;7040:9;;7050:1;7040:12;;;;;;;;;;;;;-1:-1:-1::0;;;;;7040:12:83::1;7022:31;;;;-1:-1:-1::0;;;;;7022:31:83::1;;;;;;;;;;;;;;;6838:3;;6800:264;;2734:311:68::0;2828:7;;-1:-1:-1;;;;;2828:7:68;2814:10;:21;2806:84;;;;-1:-1:-1;;;2806:84:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2901:20;2924:13;:11;:13::i;:::-;2901:36;;2948:34;2968:13;2948:19;:34::i;:::-;2998:40;;;-1:-1:-1;;;;;2998:40:68;;;;;;;;;;;;;;;;;;;;;;;;2734:311;;:::o;14304:196:83:-;2725:8;;-1:-1:-1;;;;;2725:8:83;2711:10;:22;2703:82;;;;-1:-1:-1;;;2703:82:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14450:43:::1;14468:6;14476:7;14485;14450:17;:43::i;7124:381::-:0;7189:14;;;;;-1:-1:-1;;;;;7189:14:83;7234:10;:23;;7213:132;;;;-1:-1:-1;;;7213:132:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7363:14;7356:21;;-1:-1:-1;;;;;;7356:21:83;;;7408:5;;;-1:-1:-1;;;;;7423:17:83;;;-1:-1:-1;;;;;;7423:17:83;;;;;;;7456:42;;7408:5;;;7423:17;7408:5;;7456:42;;-1:-1:-1;;7456:42:83;7124:381;;:::o;10423:114::-;2725:8;;-1:-1:-1;;;;;2725:8:83;2711:10;:22;2703:82;;;;-1:-1:-1;;;2703:82:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10505:25:::1;10523:6;10505:17;:25::i;:::-;10423:114:::0;:::o;12994:126::-;2725:8;;-1:-1:-1;;;;;2725:8:83;2711:10;:22;2703:82;;;;-1:-1:-1;;;2703:82:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13089:24:::1;13096:7;13105;13089:6;:24::i;:::-;12994:126:::0;;:::o;1593:151:74:-;1671:66;1593:151;:::o;26502:104:83:-;26591:8;;-1:-1:-1;;;;;26591:8:83;26502:104;:::o;1627:385:68:-;1769:7;;-1:-1:-1;;;;;1769:7:68;:21;1761:65;;;;;-1:-1:-1;;;1761:65:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;1836:7;:20;;-1:-1:-1;;;;;;1836:20:68;1846:10;1836:20;;;1866:22;1836:7;1879:9;;1866:22;:::i;:::-;;1899:24;1913:9;1899:13;:24::i;:::-;1933:18;1944:6;1933:10;:18::i;:::-;1967:38;1987:1;1991:13;:11;:13::i;:::-;1967:38;;;;-1:-1:-1;;;;;1967:38:68;;;;;;-1:-1:-1;;;;;1967:38:68;;;;;;;;;;;;;;;;1627:385;;;;:::o;30590:134:83:-;-1:-1:-1;;;;;30688:29:83;30649:20;30688:29;;;:23;:29;;;;;;;;;30590:134::o;7665:359::-;2865:5;;-1:-1:-1;;;;;2865:5:83;2848:13;:11;:13::i;:::-;-1:-1:-1;;;;;2848:22:83;;2840:72;;;;-1:-1:-1;;;2840:72:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7758:9:::1;7753:265;7769:20:::0;;::::1;7753:265;;;7818:28;7833:9;;7843:1;7833:12;;;;;;7818:28;7810:84;;;;-1:-1:-1::0;;;7810:84:83::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7949:5;7909:23;:37;7933:9;;7943:1;7933:12;;;;;;;;;;;;;-1:-1:-1::0;;;;;7933:12:83::1;-1:-1:-1::0;;;;;7909:37:83::1;-1:-1:-1::0;;;;;7909:37:83::1;;;;;;;;;;;;;:45;;;;;;;;;;;;;;;;;;7974:33;7994:9;;8004:1;7994:12;;;;;;;;;;;;;-1:-1:-1::0;;;;;7994:12:83::1;7974:33;;;;-1:-1:-1::0;;;;;7974:33:83::1;;;;;;;;;;;;;;;7791:3;;7753:265;;3555:259:68::0;3705:66;3699:73;3555:259;:::o;1880:260:230:-;1940:25;2052:29;:27;:29::i;:::-;-1:-1:-1;;;;;2032:66:230;;:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2032:68:230;1996:137;;;-1:-1:-1;;;1996:137:230;;;;-1:-1:-1;;;;;1996:135:230;;;;;;:137;;;;;2032:68;;1996:137;;;;;;;;:135;:137;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1996:137:230;;-1:-1:-1;1880:260:230;:::o;2515:123:75:-;-1:-1:-1;;;;;2607:24:75;2581:7;2607:24;;;:14;:24;;;;;;;2515:123::o;30165:228:83:-;-1:-1:-1;;;;;30341:45:83;30288:30;30341:45;;;:26;:45;;;;;;;;;30165:228::o;25859:160::-;25930:21;25978:10;:8;:10::i;:::-;-1:-1:-1;;;;;25970:18:83;:4;-1:-1:-1;;;;;25970:18:83;;:42;;;;25992:20;26007:4;25992:14;:20::i;9120:624::-;2865:5;;-1:-1:-1;;;;;2865:5:83;2848:13;:11;:13::i;:::-;-1:-1:-1;;;;;2848:22:83;;2840:72;;;;-1:-1:-1;;;2840:72:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9226:33:83;::::1;9205:134;;;;-1:-1:-1::0;;;9205:134:83::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9393:5;::::0;-1:-1:-1;;;;;9370:28:83;;::::1;9393:5:::0;::::1;9370:28;;9349:134;;;;-1:-1:-1::0;;;9349:134:83::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9537:14;::::0;-1:-1:-1;;;;;9514:37:83;;::::1;9537:14;::::0;;::::1;;9514:37;;9493:143;;;;-1:-1:-1::0;;;9493:143:83::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9647:14;:36:::0;;-1:-1:-1;;;;;;9647:36:83::1;;-1:-1:-1::0;;;;;9647:36:83;::::1;::::0;;::::1;::::0;;;::::1;::::0;;;9699:38:::1;::::0;::::1;::::0;-1:-1:-1;;9699:38:83::1;9120:624:::0;:::o;9965:224::-;10081:17;:15;:17::i;:::-;-1:-1:-1;;;;;10067:31:83;:10;-1:-1:-1;;;;;10067:31:83;;10059:84;;;;-1:-1:-1;;;10059:84:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10154:28;10168:13;10154;:28::i;29789:127::-;29889:20;29789:127;:::o;4270:313::-;4390:28;4478;:26;:28::i;:::-;-1:-1:-1;;;;;4453:84:83;;4555:7;4453:123;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4453:123:83;;4270:313;-1:-1:-1;;4270:313:83:o;30918:140::-;-1:-1:-1;;;;;31027:24:83;30988:20;31027:24;;;:16;:24;;;;;;;;;30918:140::o;5014:245::-;2865:5;;-1:-1:-1;;;;;2865:5:83;2848:13;:11;:13::i;:::-;-1:-1:-1;;;;;2848:22:83;;2840:72;;;;-1:-1:-1;;;2840:72:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5091:29:::1;:27;:29::i;:::-;5090:30;5082:83;;;;-1:-1:-1::0;;;5082:83:83::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5176:24;:31:::0;;-1:-1:-1;;5176:31:83::1;5203:4;5176:31;::::0;;5223:29:::1;::::0;::::1;::::0;5176:24:::1;::::0;5223:29:::1;5014:245::o:0;3281:147:68:-;3396:5;;3353:16;;-1:-1:-1;;;;;3388:13:68;;;3396:5;;3388:13;;:33;;-1:-1:-1;;3413:8:68;;-1:-1:-1;;;;;3413:8:68;;;3405:16;;;;3281:147::o;8092:347:83:-;2865:5;;-1:-1:-1;;;;;2865:5:83;2848:13;:11;:13::i;:::-;-1:-1:-1;;;;;2848:22:83;;2840:72;;;;-1:-1:-1;;;2840:72:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8185:14:::1;::::0;::::1;::::0;::::1;-1:-1:-1::0;;;;;8185:14:83::1;::::0;8209:131:::1;;;;-1:-1:-1::0;;;8209:131:83::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8358:14;8351:21:::0;;-1:-1:-1;;;;;;8351:21:83::1;::::0;;8388:44:::1;::::0;-1:-1:-1;;;;;8388:44:83;::::1;::::0;::::1;::::0;-1:-1:-1;;8388:44:83::1;2922:1;8092:347::o:0;29044:95::-;29127:5;;-1:-1:-1;;;;;29127:5:83;29044:95;:::o;24056:254::-;24147:12;24137:22;;;;;;;;-1:-1:-1;;24137:22:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24104:21;;24137:22;;24147:12;;24137:22;;24147:12;24137:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24179:7;24173:21;24198:1;24173:26;24169:110;;;24237:7;;;;;;;;;-1:-1:-1;;;;;24237:7:83;-1:-1:-1;;;;;24225:41:83;;:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;24225:43:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;24225:43:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;24225:43:83;;;;;;-1:-1:-1;24225:43:83;;;;;;;;;;-1:-1:-1;24225:43:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24215:53;;24056:254;:::o;28371:159::-;28471:7;;28459:64;;;-1:-1:-1;;;28459:64:83;;28517:4;28459:64;;;;;;28419:21;;-1:-1:-1;;;;;28471:7:83;;28459:49;;:64;;;;;;;;;;;;;;28471:7;28459:64;;;;;;;;;;24459:255;24563:13;24592:62;24622:10;24634;24646:7;24592:29;:62::i;:::-;24672:35;24687:10;24699:7;24672:14;:35::i;12482:336::-;2725:8;;12623:24;;-1:-1:-1;;;;;2725:8:83;2711:10;:22;2703:82;;;;-1:-1:-1;;;2703:82:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12663:12:::1;12710:9;-1:-1:-1::0;;;;;12710:14:83::1;12725:9;;12710:25;;;;;;;;;;::::0;;::::1;::::0;-1:-1:-1;12710:25:83::1;::::0;-1:-1:-1;12710:25:83;;-1:-1:-1;;12710:25:83;;::::1;::::0;;;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1::0;12685:50:83;-1:-1:-1;12685:50:83;-1:-1:-1;12685:50:83;;12745:37:::1;;;;-1:-1:-1::0;;;12745:37:83::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;;::::1;::::0;;;::::1;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12793:18;12482:336:::0;;;;;:::o;2174:202:68:-;2268:7;;-1:-1:-1;;;;;2268:7:68;2254:10;:21;2246:84;;;;-1:-1:-1;;;2246:84:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1584:174:230;1724:27;1584:174;:::o;28093:142:83:-;28203:25;28093:142;:::o;6232:240::-;6333:5;;-1:-1:-1;;;;;6333:5:83;6316:13;:11;:13::i;:::-;-1:-1:-1;;;;;6316:22:83;;:57;;;;6356:17;:15;:17::i;:::-;-1:-1:-1;;;;;6342:31:83;:10;-1:-1:-1;;;;;6342:31:83;;6316:57;6308:82;;;;;-1:-1:-1;;;6308:82:83;;;;;;;;;;;;-1:-1:-1;;;6308:82:83;;;;;;;;;;;;;;;6401:26;:12;6416:11;;6401:26;:::i;:::-;;6443:22;6453:11;;6443:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6443:22:83;;;;;;;;-1:-1:-1;6443:22:83;;-1:-1:-1;;;;6443:22:83;6232:240;;:::o;27464:196::-;27566:41;27630:23;27623:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;27623:30:83;;;;;;;;;;;;;;;;;;;;;;27464:196;:::o;13881:178::-;2725:8;;-1:-1:-1;;;;;2725:8:83;2711:10;:22;2703:82;;;;-1:-1:-1;;;2703:82:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14021:31:::1;14032:5;14039:3;14044:7;14021:10;:31::i;5625:136::-:0;2865:5;;-1:-1:-1;;;;;2865:5:83;2848:13;:11;:13::i;:::-;-1:-1:-1;;;;;2848:22:83;;2840:72;;;;-1:-1:-1;;;2840:72:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5698:22:::1;:10;5711:9:::0;;5698:22:::1;:::i;:::-;;5736:18;5744:9;;5736:18;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;;::::1;::::0;::::1;::::0;::::1;::::0;;::::1;-1:-1:-1::0;;5736:18:83::1;::::0;;::::1;::::0;;::::1;::::0;-1:-1:-1;5736:18:83;;-1:-1:-1;;;;5736:18:83::1;5625:136:::0;;:::o;27782:130::-;27842:31;27892:13;27885:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;27885:20:83;;;;;;;;;;;;;;;;;;;;;;27782:130;:::o;26920:104::-;27009:8;;-1:-1:-1;;;;;27009:8:83;26920:104;:::o;13212:311::-;2725:8;;-1:-1:-1;;;;;2725:8:83;2711:10;:22;2703:82;;;;-1:-1:-1;;;2703:82:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13279:17:::1;13319:23;:21;:23::i;:::-;-1:-1:-1::0;;;;;13299:51:83::1;;:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;13299:53:83;;-1:-1:-1;13367:14:83;13363:51:::1;;13397:7;;;13363:51;13424:42;13431:23;:21;:23::i;:::-;13456:9;13424:6;:42::i;:::-;13482:34;::::0;;;;;;;::::1;::::0;;;;::::1;::::0;;::::1;2795:1;;13212:311::o:0;29521:127::-;29621:20;29521:127;:::o;2280:149:75:-;-1:-1:-1;;;;;2388:24:75;;;2362:7;2388:24;;;:16;:24;;;;;;;;:34;;;;;;;;;;;;;2280:149::o;28850:96:83:-;28930:9;28850:96;:::o;10715:126::-;2725:8;;-1:-1:-1;;;;;2725:8:83;2711:10;:22;2703:82;;;;-1:-1:-1;;;2703:82:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10810:24:::1;10817:7;10826;10810:6;:24::i;28642:99::-:0;28724:10;28642:99;:::o;29266:114::-;29358:15;29266:114;:::o;3434:387:75:-;-1:-1:-1;;;;;3569:20:75;;3561:69;;;;-1:-1:-1;;;3561:69:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3648:22:75;;3640:69;;;;-1:-1:-1;;;3640:69:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3720:24:75;;;;;;;:16;:24;;;;;;;;:34;;;;;;;;;;;;;:44;;;3779:35;;;;;;;;;;;;;;;;;3434:387;;;:::o;3898:414::-;-1:-1:-1;;;;;3984:22:75;;3976:68;;;;-1:-1:-1;;;3976:68:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4082:109;4124:7;4082:109;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4082:24:75;;;;;;:14;:24;;;;;;;:109;:28;:109::i;:::-;-1:-1:-1;;;;;4055:24:75;;;;;;:14;:24;;;;;:136;4221:17;;:30;;4243:7;4221:21;:30::i;:::-;4201:17;:50;4266:39;;;;;;;;4293:1;;-1:-1:-1;;;;;4266:39:75;;;;;;;;;;;;3898:414;;:::o;704:175:450:-;813:58;;;-1:-1:-1;;;;;813:58:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;813:58:450;-1:-1:-1;;;813:58:450;;;786:86;;806:5;;786:19;:86::i;25225:383:83:-;25370:29;:27;:29::i;:::-;25366:236;;;25428:8;;25415:71;;;-1:-1:-1;;;25415:71:83;;-1:-1:-1;;;;;25415:71:83;;;;;;;;;25428:8;;;;;25415:62;;:71;;;;;25428:8;;25415:71;;;;;;;25428:8;25415:71;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25366:236;;;25530:8;;25517:74;;;-1:-1:-1;;;25517:74:83;;-1:-1:-1;;;;;25517:74:83;;;;;;;;;;;;;;;;;;;;;;25530:8;;;;;25517:44;;:74;;;;;25530:8;;25517:74;;;;;;;25530:8;;25517:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25225:383;;;:::o;1718:442:75:-;1848:4;1864:40;1875:7;1884:10;1896:7;1864:10;:40::i;:::-;1914:218;1937:7;1958:10;1982:140;2041:7;1982:140;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1982:25:75;;;;;;:16;:25;;;;;;;;2008:10;1982:37;;;;;;;;;:140;:41;:140::i;:::-;1914:9;:218::i;:::-;-1:-1:-1;2149:4:75;1718:442;;;;;:::o;983:367:230:-;1029:32;1096:2;1077:8;:21;;;;:68;;;1116:29;:27;:29::i;:::-;-1:-1:-1;;;;;1102:43:230;:10;-1:-1:-1;;;;;1102:43:230;;1077:68;1073:243;;;-1:-1:-1;;;1233:14:230;1229:23;1216:37;1212:2;1208:46;1282:23;;1073:243;-1:-1:-1;1333:10:230;983:367;:::o;16321:157:83:-;16414:57;16447:11;16436:34;;;;;;;;;;;;;;;-1:-1:-1;16436:34:83;16414:21;:57::i;16565:149::-;16654:53;16683:11;16672:34;;;;;;;;;;;;;;;-1:-1:-1;16672:34:83;16654:17;:53::i;16805:291::-;16899:13;16914:14;16930;16972:11;16948:86;;;;;;;;;;;;;;;-1:-1:-1;16948:86:83;;;;;;;;;;;;;-1:-1:-1;16948:86:83;;-1:-1:-1;16948:86:83;-1:-1:-1;17045:44:83;16948:86;;;17045:21;:44::i;:::-;16805:291;;;;:::o;17178:202::-;17263:14;17279;17308:11;17297:43;;;;;;;;;;;;;;;-1:-1:-1;17297:43:83;;;;;;;;;-1:-1:-1;17297:43:83;-1:-1:-1;17351:22:83;17297:43;;17351:6;:22::i;17474:639::-;17584:24;17622:45;17681:33;17728:34;17776:32;17832:11;17821:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;17821:74:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;17821:74:83;;;;;;-1:-1:-1;17821:74:83;;;;;;;;;;-1:-1:-1;17821:74:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;17821:74:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;17821:74:83;;;;;;;;;;;;-1:-1:-1;17821:74:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;17821:74:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;17821:74:83;;;;;;;;;;;;-1:-1:-1;17821:74:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;17821:74:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;17821:74:83;;;;;;;;;;;;-1:-1:-1;17821:74:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17570:325;;;;;;;;;;17906:200;17944:16;17974:32;18020:16;18050:17;18081:15;17906:24;:200::i;:::-;17474:639;;;;;;:::o;18195:202::-;18280:14;18296;18325:11;18314:43;;;;;;;;;;;;;;;-1:-1:-1;18314:43:83;;;;;;;;;-1:-1:-1;18314:43:83;-1:-1:-1;18368:22:83;18314:43;;18368:6;:22::i;18491:163::-;18587:60;18623:11;18612:34;;;;;;;;;;;;;;;-1:-1:-1;18612:34:83;18587:24;:60::i;18744:155::-;18836:56;18868:11;18857:34;;;;;;;;;;;;;;;-1:-1:-1;18857:34:83;18836:20;:56::i;18985:265::-;19074:12;19088:10;19100:14;19142:11;19118:86;;;;;;;;;;;;;;;-1:-1:-1;19118:86:83;;;;;;;;;;;;;-1:-1:-1;19118:86:83;;-1:-1:-1;19118:86:83;-1:-1:-1;19215:28:83;19118:86;;;19215:10;:28::i;19337:283::-;19427:13;19442:14;19458;19500:11;19476:86;;;;;;;;;;;;;;;-1:-1:-1;19476:86:83;;;;;;;;;;;;;-1:-1:-1;19476:86:83;;-1:-1:-1;19476:86:83;-1:-1:-1;19573:40:83;19476:86;;;19573:17;:40::i;856:529:74:-;1061:13;-1:-1:-1;;;;;1043:46:74;;:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1043:48:74;956:66;948:143;927:239;;;;-1:-1:-1;;;927:239:74;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1258:66;1234:135;1185:194::o;23507:250:83:-;23632:6;-1:-1:-1;;;;;2597:23:83;;2615:4;2597:23;;2589:56;;;;;-1:-1:-1;;;2589:56:83;;;;;;;;;;;;-1:-1:-1;;;2589:56:83;;;;;;;;;;;;;;;23650:44:::1;-1:-1:-1::0;;;;;23650:26:83;::::1;23677:7:::0;23686;23650:26:::1;:44::i;:::-;23733:7;-1:-1:-1::0;;;;;23710:40:83::1;23725:6;-1:-1:-1::0;;;;;23710:40:83::1;;23742:7;23710:40;;;;;;;;;;;;;;;;;;23507:250:::0;;;;:::o;20179:296::-;20240:6;-1:-1:-1;;;;;2597:23:83;;2615:4;2597:23;;2589:56;;;;;-1:-1:-1;;;2589:56:83;;;;;;;;;;;;-1:-1:-1;;;2589:56:83;;;;;;;;;;;;;;;20263:22:::1;20278:6;20263:14;:22::i;:::-;20258:211;;20301:26;:24;:26::i;:::-;-1:-1:-1::0;;;;;20342:24:83;::::1;;::::0;;;:16:::1;:24;::::0;;;;;;;:31;;-1:-1:-1;;20342:31:83::1;20369:4;20342:31:::0;;::::1;::::0;;;20387:13:::1;:26:::0;;;;::::1;::::0;;;;;;;;::::1;::::0;;-1:-1:-1;;;;;;20387:26:83::1;::::0;::::1;::::0;;20433:25;;;;;;;::::1;::::0;;;;;;;;::::1;20179:296:::0;;:::o;4387:340:75:-;-1:-1:-1;;;;;4473:22:75;;4465:66;;;;;-1:-1:-1;;;4465:66:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;4562:17;;:30;;4584:7;4562:21;:30::i;:::-;4542:17;:50;-1:-1:-1;;;;;4629:24:75;;;;;;:14;:24;;;;;;:37;;4658:7;4629:28;:37::i;:::-;-1:-1:-1;;;;;4602:24:75;;;;;;:14;:24;;;;;;;;:64;;;;4681:39;;;;;;;4602:24;;;;4681:39;;;;;;;;;;4387:340;;:::o;3991:288:68:-;-1:-1:-1;;;;;4064:27:68;;4056:84;;;;-1:-1:-1;;;4056:84:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4173:8;;;-1:-1:-1;;;;;4192:24:68;;;-1:-1:-1;;;;;;4192:24:68;;;;;;;4232:40;;;4173:8;;;;4232:40;;;;;;;;;;;;;;;;;;;;;;;3991:288;;:::o;4340:341::-;-1:-1:-1;;;;;4407:24:68;;4399:75;;;;-1:-1:-1;;;4399:75:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4504:5;;-1:-1:-1;;;;;4504:5:68;;;;4527:23;;;;;4519:79;;;;-1:-1:-1;;;4519:79:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4609:5;:18;;-1:-1:-1;;;;;;4609:18:68;-1:-1:-1;;;;;4609:18:68;;;;;;;;;4643:31;;;;;;;;;;;;;;;;;;;;;;;;;;;4340:341;;:::o;1463:166:75:-;1542:4;1558:43;1569:10;1581;1593:7;4809:571;-1:-1:-1;;;;;4948:21:75;;4940:71;;;;-1:-1:-1;;;4940:71:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5029:24:75;;5021:72;;;;-1:-1:-1;;;5021:72:75;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5130:112;5171:7;5130:112;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5130:23:75;;;;;;:14;:23;;;;;;;:112;:27;:112::i;:::-;-1:-1:-1;;;;;5104:23:75;;;;;;;:14;:23;;;;;;:138;;;;5281:26;;;;;;;:39;;5312:7;5281:30;:39::i;:::-;-1:-1:-1;;;;;5252:26:75;;;;;;;:14;:26;;;;;;;;;:68;;;;5335:38;;;;;;;5252:26;;5335:38;;;;;;;;;;;;;4809:571;;;:::o;947:217:76:-;1063:7;1098:12;1090:6;;;;1082:29;;;;-1:-1:-1;;;1082:29:76;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1133:5:76;;;947:217::o;799:142::-;857:7;883:51;887:1;890;883:51;;;;;;;;;;;;;;;;;:3;:51::i;2967:751:450:-;3386:23;3412:69;3440:4;3412:69;;;;;;;;;;;;;;;;;3420:5;-1:-1:-1;;;;;3412:27:450;;;:69;;;;;:::i;:::-;3495:17;;3386:95;;-1:-1:-1;3495:21:450;3491:221;;3635:10;3624:30;;;;;;;;;;;;;;;-1:-1:-1;3624:30:450;3616:85;;;;-1:-1:-1;;;3616:85:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19759:371:83;19840:43;19865:17;19840:24;:43::i;:::-;19835:289;;19899:26;:24;:26::i;:::-;-1:-1:-1;;;;;19940:45:83;;;;;;:26;:45;;;;;;:52;;-1:-1:-1;;19940:52:83;19988:4;19940:52;;;;;;20006:23;:47;;;;;;;;;;;;;-1:-1:-1;;;;;;20006:47:83;;;;;20073:40;;;19940:45;20073:40;19759:371;:::o;20557:370::-;20686:6;-1:-1:-1;;;;;2597:23:83;;2615:4;2597:23;;2589:56;;;;;-1:-1:-1;;;2589:56:83;;;;;;;;;;;;-1:-1:-1;;;2589:56:83;;;;;;;;;;;;;;;20753:47:::1;::::0;;-1:-1:-1;;;20753:47:83;;20785:4:::1;20753:47;::::0;::::1;::::0;-1:-1:-1;;;;;20753:47:83;;::::1;::::0;;;;;;20732:6;;20704:19:::1;::::0;20753:23;;::::1;::::0;::::1;::::0;:47;;;;;::::1;::::0;;;;;;;;;:23;:47;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;::::0;::::1;;-1:-1:-1::0;20753:47:83;:51:::1;20749:119;;;20820:37;-1:-1:-1::0;;;;;20820:25:83;::::1;20846:7:::0;20855:1:::1;20820:25;:37::i;:::-;20877:43;-1:-1:-1::0;;;;;20877:25:83;::::1;20903:7:::0;20912;20877:25:::1;:43::i;:::-;2655:1;20557:370:::0;;;;:::o;21377:784::-;21657:43;21682:17;21657:24;:43::i;:::-;21636:147;;;;-1:-1:-1;;;21636:147:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21799:9;21794:157;21814:17;:24;21810:1;:28;21794:157;;;21859:81;21877:17;21895:1;21877:20;;;;;;;;;;;;;;21899:17;21918:18;21937:1;21918:21;;;;;;;;;;;;;;21859:17;:81::i;:::-;21840:3;;21794:157;;;-1:-1:-1;21961:70:83;;-1:-1:-1;;;21961:70:83;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;21961:57:83;;;;;22019:11;;21961:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22047:9;22042:113;22062:16;:23;22058:1;:27;22042:113;;;22106:38;22124:16;22141:1;22124:19;;;;;;;;;;;;;;22106:17;:38::i;:::-;22087:3;;22042:113;;22451:349;22534:43;22559:17;22534:24;:43::i;:::-;22530:264;;;-1:-1:-1;;;;;22593:45:83;;22641:5;22593:45;;;:26;:45;;;;;:53;;-1:-1:-1;;22593:53:83;;;22661:60;:23;22620:17;22661:41;:60::i;:::-;-1:-1:-1;22741:42:83;;-1:-1:-1;;;;;22741:42:83;;;;;;;;22451:349;:::o;22852:256::-;22920:22;22935:6;22920:14;:22::i;:::-;22916:186;;;-1:-1:-1;;;;;22958:24:83;;22985:5;22958:24;;;:16;:24;;;;;:32;;-1:-1:-1;;22958:32:83;;;23005:39;:13;22975:6;23005:31;:39::i;:::-;-1:-1:-1;23064:27:83;;;-1:-1:-1;;;;;23064:27:83;;;;;;;;;;;;;;;22852:256;:::o;23192:228::-;23328:19;:17;:19::i;:::-;23295:23;:30;23272:13;:20;:53;:75;23251:162;;;;-1:-1:-1;;;23251:162:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;609:184:76;667:7;698:5;;;721:6;;;;713:54;;;;-1:-1:-1;;;713:54:76;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3581:193:451;3684:12;3715:52;3737:6;3745:4;3751:1;3754:12;3715:21;:52::i;1348:613:450:-;1713:10;;;1712:62;;-1:-1:-1;1729:39:450;;;-1:-1:-1;;;1729:39:450;;1753:4;1729:39;;;;-1:-1:-1;;;;;1729:39:450;;;;;;;;;:15;;;;;;:39;;;;;;;;;;;;;;;:15;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1729:39:450;:44;1712:62;1704:150;;;;-1:-1:-1;;;1704:150:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1891:62;;;-1:-1:-1;;;;;1891:62:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1891:62:450;-1:-1:-1;;;1891:62:450;;;1864:90;;1884:5;;1864:19;:90::i;569:515:354:-;727:12;;678:13;;;749:303;769:9;765:1;:13;749:303;;;815:13;-1:-1:-1;;;;;803:25:354;:5;809:1;803:8;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;803:8:354;:25;799:243;;;868:1;856:9;:13;852:1;:17;848:95;;;904:5;922:1;910:9;:13;904:20;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;904:20:354;893:5;899:1;893:8;;;;;;;;;;;;;;;;:31;;;;;-1:-1:-1;;;;;893:31:354;;;;;-1:-1:-1;;;;;893:31:354;;;;;;848:95;960:5;:11;;;;;;;;;;;;;;;;-1:-1:-1;;960:11:354;;;;;-1:-1:-1;;;;;;960:11:354;;;;;;;;-1:-1:-1;1022:5:354;;799:243;780:3;;749:303;;;;1062:15;569:515;;;;:::o;4608:523:451:-;4735:12;4792:5;4767:21;:30;;4759:81;;;;-1:-1:-1;;;4759:81:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4858:18;4869:6;4858:10;:18::i;:::-;4850:60;;;;;-1:-1:-1;;;4850:60:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;4981:12;4995:23;5022:6;-1:-1:-1;;;;;5022:11:451;5042:5;5050:4;5022:33;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5022:33:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4980:75;;;;5072:52;5090:7;5099:10;5111:12;5072:17;:52::i;:::-;5065:59;4608:523;-1:-1:-1;;;;;;;4608:523:451:o;726:413::-;1086:20;1124:8;;;726:413::o;7091:725::-;7206:12;7234:7;7230:580;;;-1:-1:-1;7264:10:451;7257:17;;7230:580;7375:17;;:21;7371:429;;7633:10;7627:17;7693:15;7680:10;7676:2;7672:19;7665:44;7582:145;7765:20;;-1:-1:-1;;;7765:20:451;;;;;;;;;;;;;;;;;7772:12;;7765:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;", "linkReferences": {}, "immutableReferences": { "17286": [ { "start": 10394, "length": 32 } ], "17288": [ { "start": 11634, "length": 32 } ], "17290": [ { "start": 11515, "length": 32 } ], "17292": [ { "start": 11670, "length": 32 } ], "17294": [ { "start": 11436, "length": 32 } ], "17296": [ { "start": 8680, "length": 32 } ], "17298": [ { "start": 4097, "length": 32 } ], "62077": [ { "start": 10358, "length": 32 } ] } }, "methodIdentifiers": { "addAssetManagers(address[])": "3e11553d", "addTrackedAsset(address)": "4ef0762e", "allowance(address,address)": "dd62ed3e", "approve(address,uint256)": "095ea7b3", "balanceOf(address)": "70a08231", "burnShares(address,uint256)": "ee7a7c04", "buyBackProtocolFeeShares(uint256,uint256,uint256)": "1ff46bfa", "callOnContract(address,bytes)": "a90cce4b", "canManageAssets(address)": "714ca2d1", "canMigrate(address)": "7de07cea", "canRelayCalls(address)": "36861889", "claimOwnership()": "4e71e0c8", "decimals()": "313ce567", "getAccessor()": "5a53e348", "getActiveExternalPositions()": "b8b7f147", "getCreator()": "0ee2cb10", "getExternalPositionLibForType(uint256)": "75d8bb0e", "getExternalPositionManager()": "b3fc38e9", "getFundDeployer()": "97c0ac87", "getGasRelayPaymasterFactory()": "ac259456", "getGasRelayTrustedForwarder()": "6ea21143", "getMigrator()": "cd63d578", "getMlnBurner()": "fe15c02a", "getMlnToken()": "e70e605e", "getNominatedOwner()": "288b6a36", "getOwner()": "893d20e8", "getPositionsLimit()": "ff3cdf56", "getProtocolFeeReserve()": "da41962e", "getProtocolFeeTracker()": "749cc8f5", "getTrackedAssets()": "c4b97370", "getVaultLib()": "682cea19", "getWethToken()": "4c252f91", "init(address,address,string)": "5c9a6d37", "isActiveExternalPosition(address)": "712bd102", "isAssetManager(address)": "6487aa11", "isTrackedAsset(address)": "797ed339", "mintShares(address,uint256)": "528c198a", "name()": "06fdde03", "payProtocolFee()": "d5c20fa2", "proxiableUUID()": "52d1902d", "receiveValidatedVaultAction(uint8,bytes)": "24e60012", "removeAssetManagers(address[])": "64cb36cb", "removeNominatedOwner()": "8156eecf", "setAccessor(address)": "ab9253ac", "setAccessorForFundReconfiguration(address)": "740f2b5a", "setFreelyTransferableShares()": "7c81ac2d", "setMigrator(address)": "23cf3118", "setName(string)": "c47f0027", "setNominatedOwner(address)": "728e17a0", "setSymbol(string)": "b84c8246", "setVaultLib(address)": "4140d607", "sharesAreFreelyTransferable()": "28c2ad9c", "symbol()": "95d89b41", "totalSupply()": "18160ddd", "transfer(address,uint256)": "a9059cbb", "transferFrom(address,address,uint256)": "23b872dd", "transferShares(address,address,uint256)": "bfc77beb", "withdrawAssetTo(address,address,uint256)": "495d753c" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_externalPositionManager\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_gasRelayPaymasterFactory\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_protocolFeeReserve\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_protocolFeeTracker\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_mlnToken\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_mlnBurner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_wethToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_positionsLimit\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"prevAccessor\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"nextAccessor\",\"type\":\"address\"}],\"name\":\"AccessorSet\",\"type\":\"event\"},{\"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\":false,\"internalType\":\"address\",\"name\":\"manager\",\"type\":\"address\"}],\"name\":\"AssetManagerAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"manager\",\"type\":\"address\"}],\"name\":\"AssetManagerRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"asset\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"AssetWithdrawn\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"EthReceived\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"externalPosition\",\"type\":\"address\"}],\"name\":\"ExternalPositionAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"externalPosition\",\"type\":\"address\"}],\"name\":\"ExternalPositionRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"FreelyTransferableSharesSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"prevMigrator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"nextMigrator\",\"type\":\"address\"}],\"name\":\"MigratorSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"NameSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"nominatedOwner\",\"type\":\"address\"}],\"name\":\"NominatedOwnerRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"nominatedOwner\",\"type\":\"address\"}],\"name\":\"NominatedOwnerSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"prevOwner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"nextOwner\",\"type\":\"address\"}],\"name\":\"OwnerSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"prevOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"nextOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"sharesAmount\",\"type\":\"uint256\"}],\"name\":\"ProtocolFeePaidInShares\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"sharesAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"mlnValue\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"mlnBurned\",\"type\":\"uint256\"}],\"name\":\"ProtocolFeeSharesBoughtBack\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"}],\"name\":\"SymbolSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"asset\",\"type\":\"address\"}],\"name\":\"TrackedAssetAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"asset\",\"type\":\"address\"}],\"name\":\"TrackedAssetRemoved\",\"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\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"prevVaultLib\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"nextVaultLib\",\"type\":\"address\"}],\"name\":\"VaultLibSet\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_managers\",\"type\":\"address[]\"}],\"name\":\"addAssetManagers\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"}],\"name\":\"addTrackedAsset\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"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\":[{\"internalType\":\"address\",\"name\":\"_target\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"burnShares\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_sharesAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_mlnValue\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"_gav\",\"type\":\"uint256\"}],\"name\":\"buyBackProtocolFeeShares\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_contract\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_callData\",\"type\":\"bytes\"}],\"name\":\"callOnContract\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"returnData_\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_who\",\"type\":\"address\"}],\"name\":\"canManageAssets\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"canManageAssets_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_who\",\"type\":\"address\"}],\"name\":\"canMigrate\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"canMigrate_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_who\",\"type\":\"address\"}],\"name\":\"canRelayCalls\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"canRelayCalls_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"claimOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAccessor\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"accessor_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getActiveExternalPositions\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"activeExternalPositions_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getCreator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"creator_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_typeId\",\"type\":\"uint256\"}],\"name\":\"getExternalPositionLibForType\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"externalPositionLib_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getExternalPositionManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"externalPositionManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFundDeployer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"fundDeployer_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getGasRelayPaymasterFactory\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"gasRelayPaymasterFactory_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getGasRelayTrustedForwarder\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"trustedForwarder_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMigrator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"migrator_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMlnBurner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"mlnBurner_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getMlnToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"mlnToken_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getNominatedOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"nominatedOwner_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getPositionsLimit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"positionsLimit_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getProtocolFeeReserve\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"protocolFeeReserve_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getProtocolFeeTracker\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"protocolFeeTracker_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getTrackedAssets\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"trackedAssets_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getVaultLib\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"vaultLib_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getWethToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"wethToken_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_accessor\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_fundName\",\"type\":\"string\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_externalPosition\",\"type\":\"address\"}],\"name\":\"isActiveExternalPosition\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isActiveExternalPosition_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_who\",\"type\":\"address\"}],\"name\":\"isAssetManager\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isAssetManager_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"}],\"name\":\"isTrackedAsset\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isTrackedAsset_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_target\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"mintShares\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"payProtocolFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"uuid_\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum IVault.VaultAction\",\"name\":\"_action\",\"type\":\"uint8\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"}],\"name\":\"receiveValidatedVaultAction\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_managers\",\"type\":\"address[]\"}],\"name\":\"removeAssetManagers\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"removeNominatedOwner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nextAccessor\",\"type\":\"address\"}],\"name\":\"setAccessor\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nextAccessor\",\"type\":\"address\"}],\"name\":\"setAccessorForFundReconfiguration\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"setFreelyTransferableShares\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nextMigrator\",\"type\":\"address\"}],\"name\":\"setMigrator\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_nextName\",\"type\":\"string\"}],\"name\":\"setName\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nextNominatedOwner\",\"type\":\"address\"}],\"name\":\"setNominatedOwner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"_nextSymbol\",\"type\":\"string\"}],\"name\":\"setSymbol\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nextVaultLib\",\"type\":\"address\"}],\"name\":\"setVaultLib\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"sharesAreFreelyTransferable\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"sharesAreFreelyTransferable_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"symbol_\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success_\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success_\",\"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\":\"transferShares\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_target\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"withdrawAssetTo\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"The difference in terminology between \\\"asset\\\" and \\\"trackedAsset\\\" is intentional. A fund might actually have asset balances of un-tracked assets, but only tracked assets are used in gav calculations. Note that this contract inherits VaultLibSafeMath (a verbatim Open Zeppelin SafeMath copy) from SharesTokenBase via VaultLibBase2\",\"kind\":\"dev\",\"methods\":{\"addAssetManagers(address[])\":{\"params\":{\"_managers\":\"The accounts to add as asset managers\"}},\"addTrackedAsset(address)\":{\"params\":{\"_asset\":\"The asset to add as a tracked asset\"}},\"allowance(address,address)\":{\"details\":\"Standard implementation of ERC20's allowance(). Can be overridden.\"},\"approve(address,uint256)\":{\"details\":\"Standard implementation of ERC20's approve(). Can be overridden.\"},\"balanceOf(address)\":{\"details\":\"Standard implementation of ERC20's balanceOf(). Can be overridden.\"},\"burnShares(address,uint256)\":{\"params\":{\"_amount\":\"The amount of shares to burn\",\"_target\":\"The account for which to burn shares\"}},\"buyBackProtocolFeeShares(uint256,uint256,uint256)\":{\"details\":\"Since the vault controls both the MLN to burn and the admin function to burn any user's fund shares, there is no need to transfer assets back-and-forth with the ProtocolFeeReserve. We only need to know the correct discounted amount of MLN to burn.\",\"params\":{\"_gav\":\"The total fund GAV\",\"_mlnValue\":\"The MLN-denominated market value of _sharesAmount\",\"_sharesAmount\":\"The amount of shares to buy back\"}},\"callOnContract(address,bytes)\":{\"params\":{\"_callData\":\"The call data for the call\",\"_contract\":\"The contract to call\"},\"returns\":{\"returnData_\":\"The data returned by the call\"}},\"canManageAssets(address)\":{\"params\":{\"_who\":\"The account to check\"},\"returns\":{\"canManageAssets_\":\"True if the account can manage assets\"}},\"canMigrate(address)\":{\"params\":{\"_who\":\"The account to check\"},\"returns\":{\"canMigrate_\":\"True if the account is allowed to migrate the VaultProxy\"}},\"canRelayCalls(address)\":{\"params\":{\"_who\":\"The account to check\"},\"returns\":{\"canRelayCalls_\":\"True if the account can use gas relaying on this fund\"}},\"decimals()\":{\"details\":\"Standard implementation of ERC20's decimals(). Can not be overridden.\"},\"getAccessor()\":{\"returns\":{\"accessor_\":\"The `accessor` variable value\"}},\"getActiveExternalPositions()\":{\"returns\":{\"activeExternalPositions_\":\"The `activeExternalPositions` variable value\"}},\"getCreator()\":{\"returns\":{\"creator_\":\"The `creator` variable value\"}},\"getExternalPositionLibForType(uint256)\":{\"params\":{\"_typeId\":\"The type for which to get the external position library\"},\"returns\":{\"externalPositionLib_\":\"The external position library\"}},\"getExternalPositionManager()\":{\"returns\":{\"externalPositionManager_\":\"The `EXTERNAL_POSITION_MANAGER` variable value\"}},\"getFundDeployer()\":{\"returns\":{\"fundDeployer_\":\"The fund deployer contract associated with this vault\"}},\"getGasRelayPaymasterFactory()\":{\"returns\":{\"gasRelayPaymasterFactory_\":\"The `GAS_RELAY_PAYMASTER_FACTORY` variable value\"}},\"getGasRelayTrustedForwarder()\":{\"returns\":{\"trustedForwarder_\":\"The trusted forwarder\"}},\"getMigrator()\":{\"returns\":{\"migrator_\":\"The `migrator` variable value\"}},\"getMlnBurner()\":{\"returns\":{\"mlnBurner_\":\"The `MLN_BURNER` variable value\"}},\"getMlnToken()\":{\"returns\":{\"mlnToken_\":\"The `MLN_TOKEN` variable value\"}},\"getNominatedOwner()\":{\"returns\":{\"nominatedOwner_\":\"The account that is nominated to be the owner\"}},\"getOwner()\":{\"returns\":{\"owner_\":\"The `owner` variable value\"}},\"getPositionsLimit()\":{\"returns\":{\"positionsLimit_\":\"The `POSITIONS_LIMIT` variable value\"}},\"getProtocolFeeReserve()\":{\"returns\":{\"protocolFeeReserve_\":\"The `PROTOCOL_FEE_RESERVE` variable value\"}},\"getProtocolFeeTracker()\":{\"returns\":{\"protocolFeeTracker_\":\"The `PROTOCOL_FEE_TRACKER` variable value\"}},\"getTrackedAssets()\":{\"returns\":{\"trackedAssets_\":\"The `trackedAssets` variable value\"}},\"getVaultLib()\":{\"returns\":{\"vaultLib_\":\"The address of the VaultLib target\"}},\"getWethToken()\":{\"returns\":{\"wethToken_\":\"The `WETH_TOKEN` variable value\"}},\"init(address,address,string)\":{\"details\":\"Serves as a per-proxy pseudo-constructor\",\"params\":{\"_accessor\":\"The address to set as the permissioned accessor of the VaultLib\",\"_fundName\":\"The name of the fund\",\"_owner\":\"The address to set as the fund owner\"}},\"isActiveExternalPosition(address)\":{\"params\":{\"_externalPosition\":\"The externalPosition to check\"},\"returns\":{\"isActiveExternalPosition_\":\"True if the address is an active external position on the vault\"}},\"isAssetManager(address)\":{\"params\":{\"_who\":\"The account to check\"},\"returns\":{\"isAssetManager_\":\"True if the account is an allowed asset manager\"}},\"isTrackedAsset(address)\":{\"params\":{\"_asset\":\"The address to check\"},\"returns\":{\"isTrackedAsset_\":\"True if the address is a tracked asset\"}},\"mintShares(address,uint256)\":{\"params\":{\"_amount\":\"The amount of shares to mint\",\"_target\":\"The account for which to burn shares\"}},\"name()\":{\"details\":\"Standard implementation of ERC20's name(). Can be overridden.\"},\"proxiableUUID()\":{\"details\":\"The UUID is `bytes32(keccak256('mln.proxiable.vaultlib'))`\",\"returns\":{\"uuid_\":\"The bytes32 hash representing the UUID\"}},\"receiveValidatedVaultAction(uint8,bytes)\":{\"params\":{\"_action\":\"The VaultAction to perform\",\"_actionData\":\"The call data for the action to perform\"}},\"removeAssetManagers(address[])\":{\"params\":{\"_managers\":\"The accounts to remove as asset managers\"}},\"setAccessor(address)\":{\"params\":{\"_nextAccessor\":\"The address to set as the permissioned accessor of the VaultLib\"}},\"setAccessorForFundReconfiguration(address)\":{\"params\":{\"_nextAccessor\":\"The next accessor\"}},\"setFreelyTransferableShares()\":{\"details\":\"Once set, this can never be allowed to be unset, as it provides a critical transferability guarantee to liquidity pools and other smart contract holders that rely on transfers to function properly. Enabling this option will skip all policies run upon transferring shares, but will still respect the shares action timelock.\"},\"setMigrator(address)\":{\"details\":\"Set to address(0) to remove the migrator.\",\"params\":{\"_nextMigrator\":\"The account to set as the allowed migrator\"}},\"setName(string)\":{\"details\":\"Owners should consider the implications of changing an ERC20 name post-deployment, e.g., some apps/dapps may cache token names for display purposes, so changing the name in contract state may not be reflected in third party applications as desired.\",\"params\":{\"_nextName\":\"The next name value\"}},\"setNominatedOwner(address)\":{\"details\":\"Does not prohibit overwriting the current nominatedOwner\",\"params\":{\"_nextNominatedOwner\":\"The account to nominate\"}},\"setSymbol(string)\":{\"details\":\"Owners should consider the implications of changing an ERC20 symbol post-deployment, e.g., some apps/dapps may cache token symbols for display purposes, so changing the symbol in contract state may not be reflected in third party applications as desired. Only callable by the FundDeployer during vault creation or by the vault owner.\",\"params\":{\"_nextSymbol\":\"The next symbol value\"}},\"setVaultLib(address)\":{\"details\":\"This function is absolutely critical. __updateCodeAddress() validates that the target is a valid Proxiable contract instance. Does not block _nextVaultLib from being the same as the current VaultLib\",\"params\":{\"_nextVaultLib\":\"The address to set as the VaultLib\"}},\"sharesAreFreelyTransferable()\":{\"returns\":{\"sharesAreFreelyTransferable_\":\"True if shares are (permanently) freely transferable\"}},\"symbol()\":{\"details\":\"Defers the shares symbol value to the Dispatcher contract if not set locally\",\"returns\":{\"symbol_\":\"The `symbol` value\"}},\"totalSupply()\":{\"details\":\"Standard implementation of ERC20's totalSupply(). Can be overridden.\"},\"transfer(address,uint256)\":{\"details\":\"Standard implementation of ERC20's transfer(). Overridden to allow arbitrary logic in ComptrollerProxy prior to transfer.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Standard implementation of ERC20's transferFrom(). Overridden to allow arbitrary logic in ComptrollerProxy prior to transfer.\"},\"transferShares(address,address,uint256)\":{\"details\":\"For protocol use only, all other transfers should operate via standard ERC20 functions\",\"params\":{\"_amount\":\"The amount of shares to transfer\",\"_from\":\"The account from which to transfer shares\",\"_to\":\"The account to which to transfer shares\"}},\"withdrawAssetTo(address,address,uint256)\":{\"params\":{\"_amount\":\"The amount of asset to withdraw\",\"_asset\":\"The asset to withdraw\",\"_target\":\"The account to which to withdraw the asset\"}}},\"title\":\"VaultLib Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"addAssetManagers(address[])\":{\"notice\":\"Registers accounts that can manage vault holdings within the protocol\"},\"addTrackedAsset(address)\":{\"notice\":\"Adds a tracked asset\"},\"burnShares(address,uint256)\":{\"notice\":\"Burns fund shares from a particular account\"},\"buyBackProtocolFeeShares(uint256,uint256,uint256)\":{\"notice\":\"Buys back shares collected as protocol fee at a discounted shares price, using MLN\"},\"callOnContract(address,bytes)\":{\"notice\":\"Makes an arbitrary call with this contract as the sender\"},\"canManageAssets(address)\":{\"notice\":\"Checks whether an account can manage assets\"},\"canMigrate(address)\":{\"notice\":\"Checks whether an account is allowed to migrate the VaultProxy\"},\"canRelayCalls(address)\":{\"notice\":\"Checks whether an account can use gas relaying\"},\"claimOwnership()\":{\"notice\":\"Claim ownership of the contract\"},\"getAccessor()\":{\"notice\":\"Gets the `accessor` variable\"},\"getActiveExternalPositions()\":{\"notice\":\"Gets the `activeExternalPositions` variable\"},\"getCreator()\":{\"notice\":\"Gets the `creator` variable\"},\"getExternalPositionLibForType(uint256)\":{\"notice\":\"Gets the external position library contract for a given type\"},\"getExternalPositionManager()\":{\"notice\":\"Gets the `EXTERNAL_POSITION_MANAGER` variable\"},\"getFundDeployer()\":{\"notice\":\"Gets the vaults fund deployer\"},\"getGasRelayPaymasterFactory()\":{\"notice\":\"Gets the `GAS_RELAY_PAYMASTER_FACTORY` variable\"},\"getGasRelayTrustedForwarder()\":{\"notice\":\"Gets the trusted forwarder for GSN relaying\"},\"getMigrator()\":{\"notice\":\"Gets the `migrator` variable\"},\"getMlnBurner()\":{\"notice\":\"Gets the `MLN_BURNER` variable\"},\"getMlnToken()\":{\"notice\":\"Gets the `MLN_TOKEN` variable\"},\"getNominatedOwner()\":{\"notice\":\"Gets the account that is nominated to be the next owner of this contract\"},\"getOwner()\":{\"notice\":\"Gets the `owner` variable\"},\"getPositionsLimit()\":{\"notice\":\"Gets the `POSITIONS_LIMIT` variable\"},\"getProtocolFeeReserve()\":{\"notice\":\"Gets the `PROTOCOL_FEE_RESERVE` variable\"},\"getProtocolFeeTracker()\":{\"notice\":\"Gets the `PROTOCOL_FEE_TRACKER` variable\"},\"getTrackedAssets()\":{\"notice\":\"Gets the `trackedAssets` variable\"},\"getVaultLib()\":{\"notice\":\"Gets the VaultLib target for the VaultProxy\"},\"getWethToken()\":{\"notice\":\"Gets the `WETH_TOKEN` variable\"},\"init(address,address,string)\":{\"notice\":\"Initializes the VaultProxy with core configuration\"},\"isActiveExternalPosition(address)\":{\"notice\":\"Check whether an external position is active on the vault\"},\"isAssetManager(address)\":{\"notice\":\"Checks whether an account is an allowed asset manager\"},\"isTrackedAsset(address)\":{\"notice\":\"Checks whether an address is a tracked asset of the vault\"},\"mintShares(address,uint256)\":{\"notice\":\"Mints fund shares to a particular account\"},\"payProtocolFee()\":{\"notice\":\"Pays the due protocol fee by minting shares to the ProtocolFeeReserve\"},\"proxiableUUID()\":{\"notice\":\"Returns a unique bytes32 hash for VaultLib instances\"},\"receiveValidatedVaultAction(uint8,bytes)\":{\"notice\":\"Dispatches a call initiated from an Extension, validated by the ComptrollerProxy\"},\"removeAssetManagers(address[])\":{\"notice\":\"Deregisters accounts that can manage vault holdings within the protocol\"},\"removeNominatedOwner()\":{\"notice\":\"Revoke the nomination of a new contract owner\"},\"setAccessor(address)\":{\"notice\":\"Sets the permissioned accessor of the VaultLib\"},\"setAccessorForFundReconfiguration(address)\":{\"notice\":\"Updates the accessor during a config change within this release\"},\"setFreelyTransferableShares()\":{\"notice\":\"Sets shares as (permanently) freely transferable\"},\"setMigrator(address)\":{\"notice\":\"Sets the account that is allowed to migrate a fund to new releases\"},\"setName(string)\":{\"notice\":\"Sets the shares name\"},\"setNominatedOwner(address)\":{\"notice\":\"Nominate a new contract owner\"},\"setSymbol(string)\":{\"notice\":\"Sets the shares token symbol\"},\"setVaultLib(address)\":{\"notice\":\"Sets the VaultLib target for the VaultProxy\"},\"sharesAreFreelyTransferable()\":{\"notice\":\"Checks whether shares are (permanently) freely transferable\"},\"symbol()\":{\"notice\":\"Gets the `symbol` value of the shares token\"},\"transferShares(address,address,uint256)\":{\"notice\":\"Transfers fund shares from one account to another\"},\"withdrawAssetTo(address,address,uint256)\":{\"notice\":\"Withdraws an asset from the VaultProxy to a given account\"}},\"notice\":\"The per-release proxiable library contract for VaultProxy\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/core/fund/vault/VaultLib.sol\":\"VaultLib\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/dispatcher/IDispatcher.sol\":{\"keccak256\":\"0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0\",\"dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ\"]},\"contracts/persistent/external-positions/IExternalPosition.sol\":{\"keccak256\":\"0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa\",\"dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM\"]},\"contracts/persistent/protocol-fee-reserve/interfaces/IProtocolFeeReserve1.sol\":{\"keccak256\":\"0x2728878c423db523bc95189137e8c58d2d7db9f56bbd5c6b1f988c08b551fbab\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3b0df1d2eb74151265d03ab91a7c341f7beca475dd2f4d669052dbc4ee2c06ac\",\"dweb:/ipfs/QmVx1cgrxQNYfdK1Kn15pcgqf79Uw8bF3U6i7F2HG2rj6G\"]},\"contracts/persistent/vault/VaultLibBase1.sol\":{\"keccak256\":\"0xa4dac1e4cdb311a2ab187135355357d8790c505ef36dd912c057fe53743d30b5\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b66efe821016ab927c949263023260515e90f5d480dc8d94eefbfeec7bf7490b\",\"dweb:/ipfs/QmNY3xKnhL9EptAbxGvXHGAXfV9pj3dDPwsZnKrPs54ZHw\"]},\"contracts/persistent/vault/VaultLibBase2.sol\":{\"keccak256\":\"0xf7d31f2a9a47770ed3f444be2c4fe9262ddb55fef7f25e546b1f03c9afec4c09\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9353ddce7c9b8b3c13fed23fe8edec99ca610d791b0c5b204b3d01f1f08d07d2\",\"dweb:/ipfs/QmeVsEh3joCjv49BRXeHASevnZZ5xdZXpkctHT8BPf37N2\"]},\"contracts/persistent/vault/VaultLibBaseCore.sol\":{\"keccak256\":\"0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd\",\"dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz\"]},\"contracts/persistent/vault/interfaces/IExternalPositionVault.sol\":{\"keccak256\":\"0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d\",\"dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8\"]},\"contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol\":{\"keccak256\":\"0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb\",\"dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU\"]},\"contracts/persistent/vault/interfaces/IMigratableVault.sol\":{\"keccak256\":\"0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6\",\"dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs\"]},\"contracts/persistent/vault/interfaces/IVaultCore.sol\":{\"keccak256\":\"0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd\",\"dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr\"]},\"contracts/persistent/vault/utils/ProxiableVaultLib.sol\":{\"keccak256\":\"0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44\",\"dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4\"]},\"contracts/persistent/vault/utils/SharesTokenBase.sol\":{\"keccak256\":\"0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8\",\"dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4\"]},\"contracts/persistent/vault/utils/VaultLibSafeMath.sol\":{\"keccak256\":\"0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02\",\"dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG\"]},\"contracts/release/core/fund/comptroller/IComptroller.sol\":{\"keccak256\":\"0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97\",\"dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L\"]},\"contracts/release/core/fund/vault/IVault.sol\":{\"keccak256\":\"0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599\",\"dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG\"]},\"contracts/release/core/fund/vault/VaultLib.sol\":{\"keccak256\":\"0x07e49445ab55c01e1b499a48baadc2a15d1eba621f1c6d3ccfdb84c87b976da8\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://56d882459248f73e137db2e097fc56b946147fb28ec21661b77431f88e856cb4\",\"dweb:/ipfs/QmRP6Ry7DCS5uoKxnnkTomHSzbaCze6cHqbR9aLdjoF6vK\"]},\"contracts/release/extensions/external-position-manager/IExternalPositionManager.sol\":{\"keccak256\":\"0x3af3f634e1f99fb97091b7825c0d2e2baaafc124d4e87d56cb0c17ff8554f6c6\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://515470605afe5ef147f30fa75ce7818f0e00e3d321eb81a4d9bffcdefc294495\",\"dweb:/ipfs/QmPKsp99pfHoz9Tfo3ZxnkmqDqJtN9PxqacF2RmeVfxUJF\"]},\"contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol\":{\"keccak256\":\"0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f\",\"dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp\"]},\"contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol\":{\"keccak256\":\"0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0\",\"dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2\"]},\"contracts/release/infrastructure/protocol-fees/IProtocolFeeTracker.sol\":{\"keccak256\":\"0x232b347f83457439064add7369bfe1930c7cb56f15930bb87d640e909c15e447\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://24f9af5eebdd373b1d7a598c096eb6def31b2640d54416d7d5a7226e1cef17e6\",\"dweb:/ipfs/QmStq9ByGuSYdKwTmZf52L1X6sZVJUfXTnoVbnjLLiUcHG\"]},\"contracts/release/interfaces/IGsnForwarder.sol\":{\"keccak256\":\"0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29\",\"dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G\"]},\"contracts/release/interfaces/IGsnPaymaster.sol\":{\"keccak256\":\"0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4\",\"dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF\"]},\"contracts/release/interfaces/IGsnTypes.sol\":{\"keccak256\":\"0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7\",\"dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C\"]},\"contracts/release/interfaces/IWETH.sol\":{\"keccak256\":\"0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2\",\"dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ\"]},\"contracts/release/utils/AddressArrayLib.sol\":{\"keccak256\":\"0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6\",\"dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap\"]},\"contracts/release/utils/beacon-proxy/IBeacon.sol\":{\"keccak256\":\"0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39\",\"dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V\"]},\"contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol\":{\"keccak256\":\"0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be\",\"dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20Burnable.sol\":{\"keccak256\":\"0x9c0eb3b0e11d2480d49991dc384f1e5f9c9b9967cc81944d50916a9b9c6c4984\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://99e4033d778624992e86f0b6d801a4f6d7b5c0cd5c79c1296be90a051ad5f5af\",\"dweb:/ipfs/QmShYmkUqh6pDEeoWadZ24icmCr4C2Xys1uE5boivPmbwf\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_externalPositionManager", "type": "address" }, { "internalType": "address", "name": "_gasRelayPaymasterFactory", "type": "address" }, { "internalType": "address", "name": "_protocolFeeReserve", "type": "address" }, { "internalType": "address", "name": "_protocolFeeTracker", "type": "address" }, { "internalType": "address", "name": "_mlnToken", "type": "address" }, { "internalType": "address", "name": "_mlnBurner", "type": "address" }, { "internalType": "address", "name": "_wethToken", "type": "address" }, { "internalType": "uint256", "name": "_positionsLimit", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "prevAccessor", "type": "address", "indexed": false }, { "internalType": "address", "name": "nextAccessor", "type": "address", "indexed": false } ], "type": "event", "name": "AccessorSet", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address", "indexed": true }, { "internalType": "address", "name": "spender", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "value", "type": "uint256", "indexed": false } ], "type": "event", "name": "Approval", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "manager", "type": "address", "indexed": false } ], "type": "event", "name": "AssetManagerAdded", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "manager", "type": "address", "indexed": false } ], "type": "event", "name": "AssetManagerRemoved", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "asset", "type": "address", "indexed": true }, { "internalType": "address", "name": "target", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "amount", "type": "uint256", "indexed": false } ], "type": "event", "name": "AssetWithdrawn", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "amount", "type": "uint256", "indexed": false } ], "type": "event", "name": "EthReceived", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "externalPosition", "type": "address", "indexed": true } ], "type": "event", "name": "ExternalPositionAdded", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "externalPosition", "type": "address", "indexed": true } ], "type": "event", "name": "ExternalPositionRemoved", "anonymous": false }, { "inputs": [], "type": "event", "name": "FreelyTransferableSharesSet", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "prevMigrator", "type": "address", "indexed": false }, { "internalType": "address", "name": "nextMigrator", "type": "address", "indexed": false } ], "type": "event", "name": "MigratorSet", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "name", "type": "string", "indexed": false } ], "type": "event", "name": "NameSet", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "nominatedOwner", "type": "address", "indexed": true } ], "type": "event", "name": "NominatedOwnerRemoved", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "nominatedOwner", "type": "address", "indexed": true } ], "type": "event", "name": "NominatedOwnerSet", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "prevOwner", "type": "address", "indexed": false }, { "internalType": "address", "name": "nextOwner", "type": "address", "indexed": false } ], "type": "event", "name": "OwnerSet", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "prevOwner", "type": "address", "indexed": true }, { "internalType": "address", "name": "nextOwner", "type": "address", "indexed": true } ], "type": "event", "name": "OwnershipTransferred", "anonymous": false }, { "inputs": [ { "internalType": "uint256", "name": "sharesAmount", "type": "uint256", "indexed": false } ], "type": "event", "name": "ProtocolFeePaidInShares", "anonymous": false }, { "inputs": [ { "internalType": "uint256", "name": "sharesAmount", "type": "uint256", "indexed": false }, { "internalType": "uint256", "name": "mlnValue", "type": "uint256", "indexed": false }, { "internalType": "uint256", "name": "mlnBurned", "type": "uint256", "indexed": false } ], "type": "event", "name": "ProtocolFeeSharesBoughtBack", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "symbol", "type": "string", "indexed": false } ], "type": "event", "name": "SymbolSet", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "asset", "type": "address", "indexed": false } ], "type": "event", "name": "TrackedAssetAdded", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "asset", "type": "address", "indexed": false } ], "type": "event", "name": "TrackedAssetRemoved", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address", "indexed": true }, { "internalType": "address", "name": "to", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "value", "type": "uint256", "indexed": false } ], "type": "event", "name": "Transfer", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "prevVaultLib", "type": "address", "indexed": false }, { "internalType": "address", "name": "nextVaultLib", "type": "address", "indexed": false } ], "type": "event", "name": "VaultLibSet", "anonymous": false }, { "inputs": [ { "internalType": "address[]", "name": "_managers", "type": "address[]" } ], "stateMutability": "nonpayable", "type": "function", "name": "addAssetManagers" }, { "inputs": [ { "internalType": "address", "name": "_asset", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "addTrackedAsset" }, { "inputs": [ { "internalType": "address", "name": "_owner", "type": "address" }, { "internalType": "address", "name": "_spender", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "_spender", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "_account", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "_target", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "burnShares" }, { "inputs": [ { "internalType": "uint256", "name": "_sharesAmount", "type": "uint256" }, { "internalType": "uint256", "name": "_mlnValue", "type": "uint256" }, { "internalType": "uint256", "name": "_gav", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "buyBackProtocolFeeShares" }, { "inputs": [ { "internalType": "address", "name": "_contract", "type": "address" }, { "internalType": "bytes", "name": "_callData", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "callOnContract", "outputs": [ { "internalType": "bytes", "name": "returnData_", "type": "bytes" } ] }, { "inputs": [ { "internalType": "address", "name": "_who", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "canManageAssets", "outputs": [ { "internalType": "bool", "name": "canManageAssets_", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "_who", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "canMigrate", "outputs": [ { "internalType": "bool", "name": "canMigrate_", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "_who", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "canRelayCalls", "outputs": [ { "internalType": "bool", "name": "canRelayCalls_", "type": "bool" } ] }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "claimOwnership" }, { "inputs": [], "stateMutability": "pure", "type": "function", "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getAccessor", "outputs": [ { "internalType": "address", "name": "accessor_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getActiveExternalPositions", "outputs": [ { "internalType": "address[]", "name": "activeExternalPositions_", "type": "address[]" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getCreator", "outputs": [ { "internalType": "address", "name": "creator_", "type": "address" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_typeId", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "getExternalPositionLibForType", "outputs": [ { "internalType": "address", "name": "externalPositionLib_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getExternalPositionManager", "outputs": [ { "internalType": "address", "name": "externalPositionManager_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getFundDeployer", "outputs": [ { "internalType": "address", "name": "fundDeployer_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getGasRelayPaymasterFactory", "outputs": [ { "internalType": "address", "name": "gasRelayPaymasterFactory_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getGasRelayTrustedForwarder", "outputs": [ { "internalType": "address", "name": "trustedForwarder_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getMigrator", "outputs": [ { "internalType": "address", "name": "migrator_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getMlnBurner", "outputs": [ { "internalType": "address", "name": "mlnBurner_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getMlnToken", "outputs": [ { "internalType": "address", "name": "mlnToken_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getNominatedOwner", "outputs": [ { "internalType": "address", "name": "nominatedOwner_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getOwner", "outputs": [ { "internalType": "address", "name": "owner_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getPositionsLimit", "outputs": [ { "internalType": "uint256", "name": "positionsLimit_", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getProtocolFeeReserve", "outputs": [ { "internalType": "address", "name": "protocolFeeReserve_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getProtocolFeeTracker", "outputs": [ { "internalType": "address", "name": "protocolFeeTracker_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getTrackedAssets", "outputs": [ { "internalType": "address[]", "name": "trackedAssets_", "type": "address[]" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getVaultLib", "outputs": [ { "internalType": "address", "name": "vaultLib_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getWethToken", "outputs": [ { "internalType": "address", "name": "wethToken_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_owner", "type": "address" }, { "internalType": "address", "name": "_accessor", "type": "address" }, { "internalType": "string", "name": "_fundName", "type": "string" } ], "stateMutability": "nonpayable", "type": "function", "name": "init" }, { "inputs": [ { "internalType": "address", "name": "_externalPosition", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "isActiveExternalPosition", "outputs": [ { "internalType": "bool", "name": "isActiveExternalPosition_", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "_who", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "isAssetManager", "outputs": [ { "internalType": "bool", "name": "isAssetManager_", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "_asset", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "isTrackedAsset", "outputs": [ { "internalType": "bool", "name": "isTrackedAsset_", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "_target", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "mintShares" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ] }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "payProtocolFee" }, { "inputs": [], "stateMutability": "pure", "type": "function", "name": "proxiableUUID", "outputs": [ { "internalType": "bytes32", "name": "uuid_", "type": "bytes32" } ] }, { "inputs": [ { "internalType": "enum IVault.VaultAction", "name": "_action", "type": "uint8" }, { "internalType": "bytes", "name": "_actionData", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "receiveValidatedVaultAction" }, { "inputs": [ { "internalType": "address[]", "name": "_managers", "type": "address[]" } ], "stateMutability": "nonpayable", "type": "function", "name": "removeAssetManagers" }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "removeNominatedOwner" }, { "inputs": [ { "internalType": "address", "name": "_nextAccessor", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "setAccessor" }, { "inputs": [ { "internalType": "address", "name": "_nextAccessor", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "setAccessorForFundReconfiguration" }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "setFreelyTransferableShares" }, { "inputs": [ { "internalType": "address", "name": "_nextMigrator", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "setMigrator" }, { "inputs": [ { "internalType": "string", "name": "_nextName", "type": "string" } ], "stateMutability": "nonpayable", "type": "function", "name": "setName" }, { "inputs": [ { "internalType": "address", "name": "_nextNominatedOwner", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "setNominatedOwner" }, { "inputs": [ { "internalType": "string", "name": "_nextSymbol", "type": "string" } ], "stateMutability": "nonpayable", "type": "function", "name": "setSymbol" }, { "inputs": [ { "internalType": "address", "name": "_nextVaultLib", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "setVaultLib" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "sharesAreFreelyTransferable", "outputs": [ { "internalType": "bool", "name": "sharesAreFreelyTransferable_", "type": "bool" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "symbol", "outputs": [ { "internalType": "string", "name": "symbol_", "type": "string" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "_recipient", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "transfer", "outputs": [ { "internalType": "bool", "name": "success_", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "_sender", "type": "address" }, { "internalType": "address", "name": "_recipient", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "success_", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "_from", "type": "address" }, { "internalType": "address", "name": "_to", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "transferShares" }, { "inputs": [ { "internalType": "address", "name": "_asset", "type": "address" }, { "internalType": "address", "name": "_target", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "withdrawAssetTo" }, { "inputs": [], "stateMutability": "payable", "type": "receive" } ], "devdoc": { "kind": "dev", "methods": { "addAssetManagers(address[])": { "params": { "_managers": "The accounts to add as asset managers" } }, "addTrackedAsset(address)": { "params": { "_asset": "The asset to add as a tracked asset" } }, "allowance(address,address)": { "details": "Standard implementation of ERC20's allowance(). Can be overridden." }, "approve(address,uint256)": { "details": "Standard implementation of ERC20's approve(). Can be overridden." }, "balanceOf(address)": { "details": "Standard implementation of ERC20's balanceOf(). Can be overridden." }, "burnShares(address,uint256)": { "params": { "_amount": "The amount of shares to burn", "_target": "The account for which to burn shares" } }, "buyBackProtocolFeeShares(uint256,uint256,uint256)": { "details": "Since the vault controls both the MLN to burn and the admin function to burn any user's fund shares, there is no need to transfer assets back-and-forth with the ProtocolFeeReserve. We only need to know the correct discounted amount of MLN to burn.", "params": { "_gav": "The total fund GAV", "_mlnValue": "The MLN-denominated market value of _sharesAmount", "_sharesAmount": "The amount of shares to buy back" } }, "callOnContract(address,bytes)": { "params": { "_callData": "The call data for the call", "_contract": "The contract to call" }, "returns": { "returnData_": "The data returned by the call" } }, "canManageAssets(address)": { "params": { "_who": "The account to check" }, "returns": { "canManageAssets_": "True if the account can manage assets" } }, "canMigrate(address)": { "params": { "_who": "The account to check" }, "returns": { "canMigrate_": "True if the account is allowed to migrate the VaultProxy" } }, "canRelayCalls(address)": { "params": { "_who": "The account to check" }, "returns": { "canRelayCalls_": "True if the account can use gas relaying on this fund" } }, "decimals()": { "details": "Standard implementation of ERC20's decimals(). Can not be overridden." }, "getAccessor()": { "returns": { "accessor_": "The `accessor` variable value" } }, "getActiveExternalPositions()": { "returns": { "activeExternalPositions_": "The `activeExternalPositions` variable value" } }, "getCreator()": { "returns": { "creator_": "The `creator` variable value" } }, "getExternalPositionLibForType(uint256)": { "params": { "_typeId": "The type for which to get the external position library" }, "returns": { "externalPositionLib_": "The external position library" } }, "getExternalPositionManager()": { "returns": { "externalPositionManager_": "The `EXTERNAL_POSITION_MANAGER` variable value" } }, "getFundDeployer()": { "returns": { "fundDeployer_": "The fund deployer contract associated with this vault" } }, "getGasRelayPaymasterFactory()": { "returns": { "gasRelayPaymasterFactory_": "The `GAS_RELAY_PAYMASTER_FACTORY` variable value" } }, "getGasRelayTrustedForwarder()": { "returns": { "trustedForwarder_": "The trusted forwarder" } }, "getMigrator()": { "returns": { "migrator_": "The `migrator` variable value" } }, "getMlnBurner()": { "returns": { "mlnBurner_": "The `MLN_BURNER` variable value" } }, "getMlnToken()": { "returns": { "mlnToken_": "The `MLN_TOKEN` variable value" } }, "getNominatedOwner()": { "returns": { "nominatedOwner_": "The account that is nominated to be the owner" } }, "getOwner()": { "returns": { "owner_": "The `owner` variable value" } }, "getPositionsLimit()": { "returns": { "positionsLimit_": "The `POSITIONS_LIMIT` variable value" } }, "getProtocolFeeReserve()": { "returns": { "protocolFeeReserve_": "The `PROTOCOL_FEE_RESERVE` variable value" } }, "getProtocolFeeTracker()": { "returns": { "protocolFeeTracker_": "The `PROTOCOL_FEE_TRACKER` variable value" } }, "getTrackedAssets()": { "returns": { "trackedAssets_": "The `trackedAssets` variable value" } }, "getVaultLib()": { "returns": { "vaultLib_": "The address of the VaultLib target" } }, "getWethToken()": { "returns": { "wethToken_": "The `WETH_TOKEN` variable value" } }, "init(address,address,string)": { "details": "Serves as a per-proxy pseudo-constructor", "params": { "_accessor": "The address to set as the permissioned accessor of the VaultLib", "_fundName": "The name of the fund", "_owner": "The address to set as the fund owner" } }, "isActiveExternalPosition(address)": { "params": { "_externalPosition": "The externalPosition to check" }, "returns": { "isActiveExternalPosition_": "True if the address is an active external position on the vault" } }, "isAssetManager(address)": { "params": { "_who": "The account to check" }, "returns": { "isAssetManager_": "True if the account is an allowed asset manager" } }, "isTrackedAsset(address)": { "params": { "_asset": "The address to check" }, "returns": { "isTrackedAsset_": "True if the address is a tracked asset" } }, "mintShares(address,uint256)": { "params": { "_amount": "The amount of shares to mint", "_target": "The account for which to burn shares" } }, "name()": { "details": "Standard implementation of ERC20's name(). Can be overridden." }, "proxiableUUID()": { "details": "The UUID is `bytes32(keccak256('mln.proxiable.vaultlib'))`", "returns": { "uuid_": "The bytes32 hash representing the UUID" } }, "receiveValidatedVaultAction(uint8,bytes)": { "params": { "_action": "The VaultAction to perform", "_actionData": "The call data for the action to perform" } }, "removeAssetManagers(address[])": { "params": { "_managers": "The accounts to remove as asset managers" } }, "setAccessor(address)": { "params": { "_nextAccessor": "The address to set as the permissioned accessor of the VaultLib" } }, "setAccessorForFundReconfiguration(address)": { "params": { "_nextAccessor": "The next accessor" } }, "setFreelyTransferableShares()": { "details": "Once set, this can never be allowed to be unset, as it provides a critical transferability guarantee to liquidity pools and other smart contract holders that rely on transfers to function properly. Enabling this option will skip all policies run upon transferring shares, but will still respect the shares action timelock." }, "setMigrator(address)": { "details": "Set to address(0) to remove the migrator.", "params": { "_nextMigrator": "The account to set as the allowed migrator" } }, "setName(string)": { "details": "Owners should consider the implications of changing an ERC20 name post-deployment, e.g., some apps/dapps may cache token names for display purposes, so changing the name in contract state may not be reflected in third party applications as desired.", "params": { "_nextName": "The next name value" } }, "setNominatedOwner(address)": { "details": "Does not prohibit overwriting the current nominatedOwner", "params": { "_nextNominatedOwner": "The account to nominate" } }, "setSymbol(string)": { "details": "Owners should consider the implications of changing an ERC20 symbol post-deployment, e.g., some apps/dapps may cache token symbols for display purposes, so changing the symbol in contract state may not be reflected in third party applications as desired. Only callable by the FundDeployer during vault creation or by the vault owner.", "params": { "_nextSymbol": "The next symbol value" } }, "setVaultLib(address)": { "details": "This function is absolutely critical. __updateCodeAddress() validates that the target is a valid Proxiable contract instance. Does not block _nextVaultLib from being the same as the current VaultLib", "params": { "_nextVaultLib": "The address to set as the VaultLib" } }, "sharesAreFreelyTransferable()": { "returns": { "sharesAreFreelyTransferable_": "True if shares are (permanently) freely transferable" } }, "symbol()": { "details": "Defers the shares symbol value to the Dispatcher contract if not set locally", "returns": { "symbol_": "The `symbol` value" } }, "totalSupply()": { "details": "Standard implementation of ERC20's totalSupply(). Can be overridden." }, "transfer(address,uint256)": { "details": "Standard implementation of ERC20's transfer(). Overridden to allow arbitrary logic in ComptrollerProxy prior to transfer." }, "transferFrom(address,address,uint256)": { "details": "Standard implementation of ERC20's transferFrom(). Overridden to allow arbitrary logic in ComptrollerProxy prior to transfer." }, "transferShares(address,address,uint256)": { "details": "For protocol use only, all other transfers should operate via standard ERC20 functions", "params": { "_amount": "The amount of shares to transfer", "_from": "The account from which to transfer shares", "_to": "The account to which to transfer shares" } }, "withdrawAssetTo(address,address,uint256)": { "params": { "_amount": "The amount of asset to withdraw", "_asset": "The asset to withdraw", "_target": "The account to which to withdraw the asset" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "addAssetManagers(address[])": { "notice": "Registers accounts that can manage vault holdings within the protocol" }, "addTrackedAsset(address)": { "notice": "Adds a tracked asset" }, "burnShares(address,uint256)": { "notice": "Burns fund shares from a particular account" }, "buyBackProtocolFeeShares(uint256,uint256,uint256)": { "notice": "Buys back shares collected as protocol fee at a discounted shares price, using MLN" }, "callOnContract(address,bytes)": { "notice": "Makes an arbitrary call with this contract as the sender" }, "canManageAssets(address)": { "notice": "Checks whether an account can manage assets" }, "canMigrate(address)": { "notice": "Checks whether an account is allowed to migrate the VaultProxy" }, "canRelayCalls(address)": { "notice": "Checks whether an account can use gas relaying" }, "claimOwnership()": { "notice": "Claim ownership of the contract" }, "getAccessor()": { "notice": "Gets the `accessor` variable" }, "getActiveExternalPositions()": { "notice": "Gets the `activeExternalPositions` variable" }, "getCreator()": { "notice": "Gets the `creator` variable" }, "getExternalPositionLibForType(uint256)": { "notice": "Gets the external position library contract for a given type" }, "getExternalPositionManager()": { "notice": "Gets the `EXTERNAL_POSITION_MANAGER` variable" }, "getFundDeployer()": { "notice": "Gets the vaults fund deployer" }, "getGasRelayPaymasterFactory()": { "notice": "Gets the `GAS_RELAY_PAYMASTER_FACTORY` variable" }, "getGasRelayTrustedForwarder()": { "notice": "Gets the trusted forwarder for GSN relaying" }, "getMigrator()": { "notice": "Gets the `migrator` variable" }, "getMlnBurner()": { "notice": "Gets the `MLN_BURNER` variable" }, "getMlnToken()": { "notice": "Gets the `MLN_TOKEN` variable" }, "getNominatedOwner()": { "notice": "Gets the account that is nominated to be the next owner of this contract" }, "getOwner()": { "notice": "Gets the `owner` variable" }, "getPositionsLimit()": { "notice": "Gets the `POSITIONS_LIMIT` variable" }, "getProtocolFeeReserve()": { "notice": "Gets the `PROTOCOL_FEE_RESERVE` variable" }, "getProtocolFeeTracker()": { "notice": "Gets the `PROTOCOL_FEE_TRACKER` variable" }, "getTrackedAssets()": { "notice": "Gets the `trackedAssets` variable" }, "getVaultLib()": { "notice": "Gets the VaultLib target for the VaultProxy" }, "getWethToken()": { "notice": "Gets the `WETH_TOKEN` variable" }, "init(address,address,string)": { "notice": "Initializes the VaultProxy with core configuration" }, "isActiveExternalPosition(address)": { "notice": "Check whether an external position is active on the vault" }, "isAssetManager(address)": { "notice": "Checks whether an account is an allowed asset manager" }, "isTrackedAsset(address)": { "notice": "Checks whether an address is a tracked asset of the vault" }, "mintShares(address,uint256)": { "notice": "Mints fund shares to a particular account" }, "payProtocolFee()": { "notice": "Pays the due protocol fee by minting shares to the ProtocolFeeReserve" }, "proxiableUUID()": { "notice": "Returns a unique bytes32 hash for VaultLib instances" }, "receiveValidatedVaultAction(uint8,bytes)": { "notice": "Dispatches a call initiated from an Extension, validated by the ComptrollerProxy" }, "removeAssetManagers(address[])": { "notice": "Deregisters accounts that can manage vault holdings within the protocol" }, "removeNominatedOwner()": { "notice": "Revoke the nomination of a new contract owner" }, "setAccessor(address)": { "notice": "Sets the permissioned accessor of the VaultLib" }, "setAccessorForFundReconfiguration(address)": { "notice": "Updates the accessor during a config change within this release" }, "setFreelyTransferableShares()": { "notice": "Sets shares as (permanently) freely transferable" }, "setMigrator(address)": { "notice": "Sets the account that is allowed to migrate a fund to new releases" }, "setName(string)": { "notice": "Sets the shares name" }, "setNominatedOwner(address)": { "notice": "Nominate a new contract owner" }, "setSymbol(string)": { "notice": "Sets the shares token symbol" }, "setVaultLib(address)": { "notice": "Sets the VaultLib target for the VaultProxy" }, "sharesAreFreelyTransferable()": { "notice": "Checks whether shares are (permanently) freely transferable" }, "symbol()": { "notice": "Gets the `symbol` value of the shares token" }, "transferShares(address,address,uint256)": { "notice": "Transfers fund shares from one account to another" }, "withdrawAssetTo(address,address,uint256)": { "notice": "Withdraws an asset from the VaultProxy to a given account" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/core/fund/vault/VaultLib.sol": "VaultLib" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/dispatcher/IDispatcher.sol": { "keccak256": "0x0e6b0e6cf325d4f6332b8eb2b3c446b2ef3ca8456bdf0d12318d0fd9e90aeb30", "urls": [ "bzz-raw://2f159223517ca72c36852d90e45cc53d1840861d6e1a2a37f7901d7e48bc94d0", "dweb:/ipfs/QmZKZnppYFEF8hdTxbA1g3NgWMopwHRey5KdzyJXNGgCUJ" ], "license": "GPL-3.0" }, "contracts/persistent/external-positions/IExternalPosition.sol": { "keccak256": "0x00e6ea9721e5fd1e72215e4c744306097d7f8b1a834cced5d65a17a924f750ad", "urls": [ "bzz-raw://2ad763df961067233f8631d1cd386a0cf41f8e83e419ace84ec4424214db8efa", "dweb:/ipfs/QmNVZCeyA9uqKrhBeCAmTVswWybN9TQAxngVPZUZZ6X4dM" ], "license": "GPL-3.0" }, "contracts/persistent/protocol-fee-reserve/interfaces/IProtocolFeeReserve1.sol": { "keccak256": "0x2728878c423db523bc95189137e8c58d2d7db9f56bbd5c6b1f988c08b551fbab", "urls": [ "bzz-raw://3b0df1d2eb74151265d03ab91a7c341f7beca475dd2f4d669052dbc4ee2c06ac", "dweb:/ipfs/QmVx1cgrxQNYfdK1Kn15pcgqf79Uw8bF3U6i7F2HG2rj6G" ], "license": "GPL-3.0" }, "contracts/persistent/vault/VaultLibBase1.sol": { "keccak256": "0xa4dac1e4cdb311a2ab187135355357d8790c505ef36dd912c057fe53743d30b5", "urls": [ "bzz-raw://b66efe821016ab927c949263023260515e90f5d480dc8d94eefbfeec7bf7490b", "dweb:/ipfs/QmNY3xKnhL9EptAbxGvXHGAXfV9pj3dDPwsZnKrPs54ZHw" ], "license": "GPL-3.0" }, "contracts/persistent/vault/VaultLibBase2.sol": { "keccak256": "0xf7d31f2a9a47770ed3f444be2c4fe9262ddb55fef7f25e546b1f03c9afec4c09", "urls": [ "bzz-raw://9353ddce7c9b8b3c13fed23fe8edec99ca610d791b0c5b204b3d01f1f08d07d2", "dweb:/ipfs/QmeVsEh3joCjv49BRXeHASevnZZ5xdZXpkctHT8BPf37N2" ], "license": "GPL-3.0" }, "contracts/persistent/vault/VaultLibBaseCore.sol": { "keccak256": "0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074", "urls": [ "bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd", "dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IExternalPositionVault.sol": { "keccak256": "0x3c047551a9bab8cb84299c4cf17d0435f1d4d0791ecc1d03e0d55cb3450baad6", "urls": [ "bzz-raw://133d31469ac5d984f52ebcd919b16af72fae2eb1ed673c3db95a5d69ec8b152d", "dweb:/ipfs/Qma1QVesFPKmPUX4bET6eArccuC77euzPAogjp9hmvPZU8" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IFreelyTransferableSharesVault.sol": { "keccak256": "0xe31f063493e6e3a4434eaa5629c0a706b8fa0569aff3f4ef9d62e27a1928cfa0", "urls": [ "bzz-raw://12b99c370c2bb6a1e1cf8d1a8d7e90538142ebc35d03e94d8449645d9046a0fb", "dweb:/ipfs/QmbNwAR6455sbjoxYXaBeHpqUYpwWfWaWyMkpaJaXeBbiU" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IMigratableVault.sol": { "keccak256": "0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238", "urls": [ "bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6", "dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IVaultCore.sol": { "keccak256": "0x5108a008d8b13bfe8aef70713f30c35f76efa210afd9c0ac8c35dea6e9cf7f80", "urls": [ "bzz-raw://a43246a32c866e21d64d1e77e8b178eee45a8183630cd62f2981489ced7ae3cd", "dweb:/ipfs/QmdLSfXvUNjsFwu6Dqq7XHhJzmMzAFmDagKPt87rgzoQhr" ], "license": "GPL-3.0" }, "contracts/persistent/vault/utils/ProxiableVaultLib.sol": { "keccak256": "0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76", "urls": [ "bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44", "dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4" ], "license": "GPL-3.0" }, "contracts/persistent/vault/utils/SharesTokenBase.sol": { "keccak256": "0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113", "urls": [ "bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8", "dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4" ], "license": "GPL-3.0" }, "contracts/persistent/vault/utils/VaultLibSafeMath.sol": { "keccak256": "0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d", "urls": [ "bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02", "dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG" ], "license": "GPL-3.0" }, "contracts/release/core/fund/comptroller/IComptroller.sol": { "keccak256": "0x51d4a60ba37b5f9198ef1328e08ff45efe0dee76bc067d71ed98f3a221c3636f", "urls": [ "bzz-raw://8176790c239ae899162a503e6aaffef7576ca89c20864798a22b53096a662b97", "dweb:/ipfs/QmYMHifgJExxU97nEGdvFGPtH6kCf1jxSax1o4dUcNPN3L" ], "license": "GPL-3.0" }, "contracts/release/core/fund/vault/IVault.sol": { "keccak256": "0xeb0b8a4ee1beb7edd02c802ac0901107e34d241b7d9c27b59f26ee736c6d72cd", "urls": [ "bzz-raw://f10632fd76d06baa94f92a5f1e8cce658dd78e0163213890727ce53c814e1599", "dweb:/ipfs/QmaruXmEsUjn8EuEiv8tC1QbA1kK2Vo5LW2w2k5g9eGfDG" ], "license": "GPL-3.0" }, "contracts/release/core/fund/vault/VaultLib.sol": { "keccak256": "0x07e49445ab55c01e1b499a48baadc2a15d1eba621f1c6d3ccfdb84c87b976da8", "urls": [ "bzz-raw://56d882459248f73e137db2e097fc56b946147fb28ec21661b77431f88e856cb4", "dweb:/ipfs/QmRP6Ry7DCS5uoKxnnkTomHSzbaCze6cHqbR9aLdjoF6vK" ], "license": "GPL-3.0" }, "contracts/release/extensions/external-position-manager/IExternalPositionManager.sol": { "keccak256": "0x3af3f634e1f99fb97091b7825c0d2e2baaafc124d4e87d56cb0c17ff8554f6c6", "urls": [ "bzz-raw://515470605afe5ef147f30fa75ce7818f0e00e3d321eb81a4d9bffcdefc294495", "dweb:/ipfs/QmPKsp99pfHoz9Tfo3ZxnkmqDqJtN9PxqacF2RmeVfxUJF" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/gas-relayer/GasRelayRecipientMixin.sol": { "keccak256": "0x365ff80d9395af25b1fa0956618c372f7957c12b54cd770be592cd3a87ea8609", "urls": [ "bzz-raw://5df6293828b09c52c351f354e301f4ecb7587555eebecef8019ae08bcbf2b15f", "dweb:/ipfs/QmZ1WkGSaDL5sR86FCUuTXscauHBRkLFJHmJRxwHJCWksp" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/gas-relayer/IGasRelayPaymaster.sol": { "keccak256": "0xb8b05029aca9eb89ff33c9cc3f97f6d096a5d8185a5ddcdec7cb1a92e4927b01", "urls": [ "bzz-raw://94bbfb0701265e422cdadb7fcfc12c9e7f2e2dce26258eea97a08bfba715add0", "dweb:/ipfs/QmYbb4Crd7h8wckLZ8d8A5EYxeofSLRWwiCFQew1GzssD2" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/protocol-fees/IProtocolFeeTracker.sol": { "keccak256": "0x232b347f83457439064add7369bfe1930c7cb56f15930bb87d640e909c15e447", "urls": [ "bzz-raw://24f9af5eebdd373b1d7a598c096eb6def31b2640d54416d7d5a7226e1cef17e6", "dweb:/ipfs/QmStq9ByGuSYdKwTmZf52L1X6sZVJUfXTnoVbnjLLiUcHG" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IGsnForwarder.sol": { "keccak256": "0xdf725d6209efe494c5f56c1f3d2cc8c64f0785b4b62fa9869bee3d85d8d9e030", "urls": [ "bzz-raw://d544190084ae2255099ebed2b31db6b4d057fec64abe0e50a892301f35e77b29", "dweb:/ipfs/QmUEdBMTJySZH3QPUC863k21g3LHHVwVVtCyLbUbVF987G" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IGsnPaymaster.sol": { "keccak256": "0x2b6990c5f1721a994774d431c41563970e9400971df9ba0ff91ead265427272c", "urls": [ "bzz-raw://683a1de5aa7e804adbda00d74441b9925872f6e86bdd3c308fc828a1f075a7f4", "dweb:/ipfs/QmUVysuPw6X9XDUZGx1hdrRkcTVf9afWVxswRcvXZ7MeCF" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IGsnTypes.sol": { "keccak256": "0xa5e951206789bd818be825058792b233858a9c58ca25d451b3691917a0ce3714", "urls": [ "bzz-raw://93e4d58106e10cab38a54b4c445b7c169de82502434259098672cec0b4b023a7", "dweb:/ipfs/Qmei36zKU4bG6x8Uhnbj1HoDcuw35XsuvPmP6tPtJmkF1C" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IWETH.sol": { "keccak256": "0xff7eb2388015f85102dfcad067b67e5fac7b4f1ede8b222f7179e9bdd99b16f2", "urls": [ "bzz-raw://d0721d3be37443205445536de1369af80d61779ddc9378894e172ab562c2dbb2", "dweb:/ipfs/QmUpdj1AR6TPdtkivSFuoRvRFyU6X6DKa2EkLDbJysNWNJ" ], "license": "GPL-3.0" }, "contracts/release/utils/AddressArrayLib.sol": { "keccak256": "0xd76e220cc754d7c939e54c18d4060f843ca798bccaf9a9dbbd428e38d0f0960f", "urls": [ "bzz-raw://bf0cbaedaec3390b6912ecef7bf62b2e8ec00d7f2b4f0045bab121b812e6f9d6", "dweb:/ipfs/QmSd5kxsv5x37TXeRDD91YmVCVA3GVFishdVyC2B9ed9ap" ], "license": "GPL-3.0" }, "contracts/release/utils/beacon-proxy/IBeacon.sol": { "keccak256": "0x27a585523828a67a1a7c84eadd22b3056e8ffc51ab71992fd97c9ffb4239eeb2", "urls": [ "bzz-raw://da6aab223fcf84060c63266f743443f5bece3cd1b3131c29db925f2c2671cb39", "dweb:/ipfs/Qmd4LvTJHhF6KeRN77ykk5KuV1U7y5ka9gvHChqkg2145V" ], "license": "GPL-3.0" }, "contracts/release/utils/beacon-proxy/IBeaconProxyFactory.sol": { "keccak256": "0x747e53725f5dbe419893ea447df4f33a3b25d99aae5b724aa1b9778cec1a26bc", "urls": [ "bzz-raw://af89093638cb2a72b2760233a4f3e600bed766fa7938f35f0664b86954b313be", "dweb:/ipfs/QmXhqBFHrKYHc5DLtyPqEy9FG8F94Wz63tp9Px9P873isG" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20Burnable.sol": { "keccak256": "0x9c0eb3b0e11d2480d49991dc384f1e5f9c9b9967cc81944d50916a9b9c6c4984", "urls": [ "bzz-raw://99e4033d778624992e86f0b6d801a4f6d7b5c0cd5c79c1296be90a051ad5f5af", "dweb:/ipfs/QmShYmkUqh6pDEeoWadZ24icmCr4C2Xys1uE5boivPmbwf" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", "urls": [ "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Address.sol": { "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", "urls": [ "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" } }, "version": 1 }, "id": 83 } diff --git a/eth_defi/abi/enzyme/VaultLibBase1.json b/eth_defi/abi/enzyme/VaultLibBase1.json index 79caad5f..a00c08e1 100644 --- a/eth_defi/abi/enzyme/VaultLibBase1.json +++ b/eth_defi/abi/enzyme/VaultLibBase1.json @@ -1,1104 +1 @@ -{ - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "prevAccessor", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "nextAccessor", - "type": "address" - } - ], - "name": "AccessorSet", - "type": "event" - }, - { - "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": "asset", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "target", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "AssetWithdrawn", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "prevMigrator", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "nextMigrator", - "type": "address" - } - ], - "name": "MigratorSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "prevOwner", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "nextOwner", - "type": "address" - } - ], - "name": "OwnerSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "asset", - "type": "address" - } - ], - "name": "TrackedAssetAdded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "asset", - "type": "address" - } - ], - "name": "TrackedAssetRemoved", - "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" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "prevVaultLib", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "nextVaultLib", - "type": "address" - } - ], - "name": "VaultLibSet", - "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": [ - { - "internalType": "address", - "name": "_who", - "type": "address" - } - ], - "name": "canMigrate", - "outputs": [ - { - "internalType": "bool", - "name": "canMigrate_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "getVaultLib", - "outputs": [ - { - "internalType": "address", - "name": "vaultLib_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - }, - { - "internalType": "address", - "name": "_accessor", - "type": "address" - }, - { - "internalType": "string", - "name": "_fundName", - "type": "string" - } - ], - "name": "init", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "proxiableUUID", - "outputs": [ - { - "internalType": "bytes32", - "name": "uuid_", - "type": "bytes32" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_nextAccessor", - "type": "address" - } - ], - "name": "setAccessor", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_nextVaultLib", - "type": "address" - } - ], - "name": "setVaultLib", - "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": "_recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_sender", - "type": "address" - }, - { - "internalType": "address", - "name": "_recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "allowance(address,address)": "dd62ed3e", - "approve(address,uint256)": "095ea7b3", - "balanceOf(address)": "70a08231", - "canMigrate(address)": "7de07cea", - "decimals()": "313ce567", - "getVaultLib()": "682cea19", - "init(address,address,string)": "5c9a6d37", - "name()": "06fdde03", - "proxiableUUID()": "52d1902d", - "setAccessor(address)": "ab9253ac", - "setVaultLib(address)": "4140d607", - "symbol()": "95d89b41", - "totalSupply()": "18160ddd", - "transfer(address,uint256)": "a9059cbb", - "transferFrom(address,address,uint256)": "23b872dd" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"prevAccessor\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"nextAccessor\",\"type\":\"address\"}],\"name\":\"AccessorSet\",\"type\":\"event\"},{\"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\":\"asset\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"AssetWithdrawn\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"prevMigrator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"nextMigrator\",\"type\":\"address\"}],\"name\":\"MigratorSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"prevOwner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"nextOwner\",\"type\":\"address\"}],\"name\":\"OwnerSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"asset\",\"type\":\"address\"}],\"name\":\"TrackedAssetAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"asset\",\"type\":\"address\"}],\"name\":\"TrackedAssetRemoved\",\"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\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"prevVaultLib\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"nextVaultLib\",\"type\":\"address\"}],\"name\":\"VaultLibSet\",\"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\":[{\"internalType\":\"address\",\"name\":\"_who\",\"type\":\"address\"}],\"name\":\"canMigrate\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"canMigrate_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getVaultLib\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"vaultLib_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_accessor\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_fundName\",\"type\":\"string\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"uuid_\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nextAccessor\",\"type\":\"address\"}],\"name\":\"setAccessor\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nextVaultLib\",\"type\":\"address\"}],\"name\":\"setVaultLib\",\"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\":\"_recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"All subsequent implementations should inherit the previous implementation, e.g., `VaultLibBase2 is VaultLibBase1` DO NOT EDIT CONTRACT.\",\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"Standard implementation of ERC20's allowance(). Can be overridden.\"},\"approve(address,uint256)\":{\"details\":\"Standard implementation of ERC20's approve(). Can be overridden.\"},\"balanceOf(address)\":{\"details\":\"Standard implementation of ERC20's balanceOf(). Can be overridden.\"},\"canMigrate(address)\":{\"params\":{\"_who\":\"The account to check\"},\"returns\":{\"canMigrate_\":\"True if the account is allowed to migrate the VaultProxy\"}},\"decimals()\":{\"details\":\"Standard implementation of ERC20's decimals(). Can not be overridden.\"},\"getVaultLib()\":{\"returns\":{\"vaultLib_\":\"The address of the VaultLib target\"}},\"init(address,address,string)\":{\"details\":\"Serves as a per-proxy pseudo-constructor\",\"params\":{\"_accessor\":\"The address to set as the permissioned accessor of the VaultLib\",\"_fundName\":\"The name of the fund\",\"_owner\":\"The address to set as the fund owner\"}},\"name()\":{\"details\":\"Standard implementation of ERC20's name(). Can be overridden.\"},\"proxiableUUID()\":{\"details\":\"The UUID is `bytes32(keccak256('mln.proxiable.vaultlib'))`\",\"returns\":{\"uuid_\":\"The bytes32 hash representing the UUID\"}},\"setAccessor(address)\":{\"params\":{\"_nextAccessor\":\"The address to set as the permissioned accessor of the VaultLib\"}},\"setVaultLib(address)\":{\"details\":\"This function is absolutely critical. __updateCodeAddress() validates that the target is a valid Proxiable contract instance. Does not block _nextVaultLib from being the same as the current VaultLib\",\"params\":{\"_nextVaultLib\":\"The address to set as the VaultLib\"}},\"symbol()\":{\"details\":\"Standard implementation of ERC20's symbol(). Can be overridden.\"},\"totalSupply()\":{\"details\":\"Standard implementation of ERC20's totalSupply(). Can be overridden.\"},\"transfer(address,uint256)\":{\"details\":\"Standard implementation of ERC20's transfer(). Can be overridden.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Standard implementation of ERC20's transferFrom(). Can be overridden.\"}},\"title\":\"VaultLibBase1 Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"canMigrate(address)\":{\"notice\":\"Checks whether an account is allowed to migrate the VaultProxy\"},\"getVaultLib()\":{\"notice\":\"Gets the VaultLib target for the VaultProxy\"},\"init(address,address,string)\":{\"notice\":\"Initializes the VaultProxy with core configuration\"},\"proxiableUUID()\":{\"notice\":\"Returns a unique bytes32 hash for VaultLib instances\"},\"setAccessor(address)\":{\"notice\":\"Sets the permissioned accessor of the VaultLib\"},\"setVaultLib(address)\":{\"notice\":\"Sets the VaultLib target for the VaultProxy\"}},\"notice\":\"The first implementation of VaultLibBaseCore, with additional events and storage\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/vault/VaultLibBase1.sol\":\"VaultLibBase1\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/vault/VaultLibBase1.sol\":{\"keccak256\":\"0xa4dac1e4cdb311a2ab187135355357d8790c505ef36dd912c057fe53743d30b5\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b66efe821016ab927c949263023260515e90f5d480dc8d94eefbfeec7bf7490b\",\"dweb:/ipfs/QmNY3xKnhL9EptAbxGvXHGAXfV9pj3dDPwsZnKrPs54ZHw\"]},\"contracts/persistent/vault/VaultLibBaseCore.sol\":{\"keccak256\":\"0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd\",\"dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz\"]},\"contracts/persistent/vault/interfaces/IMigratableVault.sol\":{\"keccak256\":\"0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6\",\"dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs\"]},\"contracts/persistent/vault/utils/ProxiableVaultLib.sol\":{\"keccak256\":\"0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44\",\"dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4\"]},\"contracts/persistent/vault/utils/SharesTokenBase.sol\":{\"keccak256\":\"0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8\",\"dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4\"]},\"contracts/persistent/vault/utils/VaultLibSafeMath.sol\":{\"keccak256\":\"0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02\",\"dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "prevAccessor", - "type": "address", - "indexed": false - }, - { - "internalType": "address", - "name": "nextAccessor", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "AccessorSet", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "spender", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "Approval", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "asset", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "target", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "AssetWithdrawn", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "prevMigrator", - "type": "address", - "indexed": false - }, - { - "internalType": "address", - "name": "nextMigrator", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "MigratorSet", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "prevOwner", - "type": "address", - "indexed": false - }, - { - "internalType": "address", - "name": "nextOwner", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "OwnerSet", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "asset", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "TrackedAssetAdded", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "asset", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "TrackedAssetRemoved", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "to", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "Transfer", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "prevVaultLib", - "type": "address", - "indexed": false - }, - { - "internalType": "address", - "name": "nextVaultLib", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "VaultLibSet", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - }, - { - "internalType": "address", - "name": "_spender", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_account", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_who", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "canMigrate", - "outputs": [ - { - "internalType": "bool", - "name": "canMigrate_", - "type": "bool" - } - ] - }, - { - "inputs": [], - "stateMutability": "pure", - "type": "function", - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getVaultLib", - "outputs": [ - { - "internalType": "address", - "name": "vaultLib_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - }, - { - "internalType": "address", - "name": "_accessor", - "type": "address" - }, - { - "internalType": "string", - "name": "_fundName", - "type": "string" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "init" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ] - }, - { - "inputs": [], - "stateMutability": "pure", - "type": "function", - "name": "proxiableUUID", - "outputs": [ - { - "internalType": "bytes32", - "name": "uuid_", - "type": "bytes32" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_nextAccessor", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setAccessor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_nextVaultLib", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setVaultLib" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_sender", - "type": "address" - }, - { - "internalType": "address", - "name": "_recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "allowance(address,address)": { - "details": "Standard implementation of ERC20's allowance(). Can be overridden." - }, - "approve(address,uint256)": { - "details": "Standard implementation of ERC20's approve(). Can be overridden." - }, - "balanceOf(address)": { - "details": "Standard implementation of ERC20's balanceOf(). Can be overridden." - }, - "canMigrate(address)": { - "params": { - "_who": "The account to check" - }, - "returns": { - "canMigrate_": "True if the account is allowed to migrate the VaultProxy" - } - }, - "decimals()": { - "details": "Standard implementation of ERC20's decimals(). Can not be overridden." - }, - "getVaultLib()": { - "returns": { - "vaultLib_": "The address of the VaultLib target" - } - }, - "init(address,address,string)": { - "details": "Serves as a per-proxy pseudo-constructor", - "params": { - "_accessor": "The address to set as the permissioned accessor of the VaultLib", - "_fundName": "The name of the fund", - "_owner": "The address to set as the fund owner" - } - }, - "name()": { - "details": "Standard implementation of ERC20's name(). Can be overridden." - }, - "proxiableUUID()": { - "details": "The UUID is `bytes32(keccak256('mln.proxiable.vaultlib'))`", - "returns": { - "uuid_": "The bytes32 hash representing the UUID" - } - }, - "setAccessor(address)": { - "params": { - "_nextAccessor": "The address to set as the permissioned accessor of the VaultLib" - } - }, - "setVaultLib(address)": { - "details": "This function is absolutely critical. __updateCodeAddress() validates that the target is a valid Proxiable contract instance. Does not block _nextVaultLib from being the same as the current VaultLib", - "params": { - "_nextVaultLib": "The address to set as the VaultLib" - } - }, - "symbol()": { - "details": "Standard implementation of ERC20's symbol(). Can be overridden." - }, - "totalSupply()": { - "details": "Standard implementation of ERC20's totalSupply(). Can be overridden." - }, - "transfer(address,uint256)": { - "details": "Standard implementation of ERC20's transfer(). Can be overridden." - }, - "transferFrom(address,address,uint256)": { - "details": "Standard implementation of ERC20's transferFrom(). Can be overridden." - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "canMigrate(address)": { - "notice": "Checks whether an account is allowed to migrate the VaultProxy" - }, - "getVaultLib()": { - "notice": "Gets the VaultLib target for the VaultProxy" - }, - "init(address,address,string)": { - "notice": "Initializes the VaultProxy with core configuration" - }, - "proxiableUUID()": { - "notice": "Returns a unique bytes32 hash for VaultLib instances" - }, - "setAccessor(address)": { - "notice": "Sets the permissioned accessor of the VaultLib" - }, - "setVaultLib(address)": { - "notice": "Sets the VaultLib target for the VaultProxy" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/persistent/vault/VaultLibBase1.sol": "VaultLibBase1" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/vault/VaultLibBase1.sol": { - "keccak256": "0xa4dac1e4cdb311a2ab187135355357d8790c505ef36dd912c057fe53743d30b5", - "urls": [ - "bzz-raw://b66efe821016ab927c949263023260515e90f5d480dc8d94eefbfeec7bf7490b", - "dweb:/ipfs/QmNY3xKnhL9EptAbxGvXHGAXfV9pj3dDPwsZnKrPs54ZHw" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/VaultLibBaseCore.sol": { - "keccak256": "0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074", - "urls": [ - "bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd", - "dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IMigratableVault.sol": { - "keccak256": "0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238", - "urls": [ - "bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6", - "dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/utils/ProxiableVaultLib.sol": { - "keccak256": "0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76", - "urls": [ - "bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44", - "dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/utils/SharesTokenBase.sol": { - "keccak256": "0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113", - "urls": [ - "bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8", - "dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/utils/VaultLibSafeMath.sol": { - "keccak256": "0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d", - "urls": [ - "bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02", - "dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 66 -} +{ "abi": [ { "type": "function", "name": "allowance", "inputs": [ { "name": "_owner", "type": "address", "internalType": "address" }, { "name": "_spender", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "approve", "inputs": [ { "name": "_spender", "type": "address", "internalType": "address" }, { "name": "_amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "balanceOf", "inputs": [ { "name": "_account", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "canMigrate", "inputs": [ { "name": "_who", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "canMigrate_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "decimals", "inputs": [], "outputs": [ { "name": "", "type": "uint8", "internalType": "uint8" } ], "stateMutability": "pure" }, { "type": "function", "name": "getVaultLib", "inputs": [], "outputs": [ { "name": "vaultLib_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "init", "inputs": [ { "name": "_owner", "type": "address", "internalType": "address" }, { "name": "_accessor", "type": "address", "internalType": "address" }, { "name": "_fundName", "type": "string", "internalType": "string" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "name", "inputs": [], "outputs": [ { "name": "", "type": "string", "internalType": "string" } ], "stateMutability": "view" }, { "type": "function", "name": "proxiableUUID", "inputs": [], "outputs": [ { "name": "uuid_", "type": "bytes32", "internalType": "bytes32" } ], "stateMutability": "pure" }, { "type": "function", "name": "setAccessor", "inputs": [ { "name": "_nextAccessor", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setVaultLib", "inputs": [ { "name": "_nextVaultLib", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "symbol", "inputs": [], "outputs": [ { "name": "", "type": "string", "internalType": "string" } ], "stateMutability": "view" }, { "type": "function", "name": "totalSupply", "inputs": [], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "transfer", "inputs": [ { "name": "_recipient", "type": "address", "internalType": "address" }, { "name": "_amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "transferFrom", "inputs": [ { "name": "_sender", "type": "address", "internalType": "address" }, { "name": "_recipient", "type": "address", "internalType": "address" }, { "name": "_amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "event", "name": "AccessorSet", "inputs": [ { "name": "prevAccessor", "type": "address", "indexed": false, "internalType": "address" }, { "name": "nextAccessor", "type": "address", "indexed": false, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "Approval", "inputs": [ { "name": "owner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "spender", "type": "address", "indexed": true, "internalType": "address" }, { "name": "value", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "AssetWithdrawn", "inputs": [ { "name": "asset", "type": "address", "indexed": true, "internalType": "address" }, { "name": "target", "type": "address", "indexed": true, "internalType": "address" }, { "name": "amount", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "MigratorSet", "inputs": [ { "name": "prevMigrator", "type": "address", "indexed": false, "internalType": "address" }, { "name": "nextMigrator", "type": "address", "indexed": false, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "OwnerSet", "inputs": [ { "name": "prevOwner", "type": "address", "indexed": false, "internalType": "address" }, { "name": "nextOwner", "type": "address", "indexed": false, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "TrackedAssetAdded", "inputs": [ { "name": "asset", "type": "address", "indexed": false, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "TrackedAssetRemoved", "inputs": [ { "name": "asset", "type": "address", "indexed": false, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "Transfer", "inputs": [ { "name": "from", "type": "address", "indexed": true, "internalType": "address" }, { "name": "to", "type": "address", "indexed": true, "internalType": "address" }, { "name": "value", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "VaultLibSet", "inputs": [ { "name": "prevVaultLib", "type": "address", "indexed": false, "internalType": "address" }, { "name": "nextVaultLib", "type": "address", "indexed": false, "internalType": "address" } ], "anonymous": false } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "allowance(address,address)": "dd62ed3e", "approve(address,uint256)": "095ea7b3", "balanceOf(address)": "70a08231", "canMigrate(address)": "7de07cea", "decimals()": "313ce567", "getVaultLib()": "682cea19", "init(address,address,string)": "5c9a6d37", "name()": "06fdde03", "proxiableUUID()": "52d1902d", "setAccessor(address)": "ab9253ac", "setVaultLib(address)": "4140d607", "symbol()": "95d89b41", "totalSupply()": "18160ddd", "transfer(address,uint256)": "a9059cbb", "transferFrom(address,address,uint256)": "23b872dd" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"prevAccessor\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"nextAccessor\",\"type\":\"address\"}],\"name\":\"AccessorSet\",\"type\":\"event\"},{\"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\":\"asset\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"AssetWithdrawn\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"prevMigrator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"nextMigrator\",\"type\":\"address\"}],\"name\":\"MigratorSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"prevOwner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"nextOwner\",\"type\":\"address\"}],\"name\":\"OwnerSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"asset\",\"type\":\"address\"}],\"name\":\"TrackedAssetAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"asset\",\"type\":\"address\"}],\"name\":\"TrackedAssetRemoved\",\"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\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"prevVaultLib\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"nextVaultLib\",\"type\":\"address\"}],\"name\":\"VaultLibSet\",\"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\":[{\"internalType\":\"address\",\"name\":\"_who\",\"type\":\"address\"}],\"name\":\"canMigrate\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"canMigrate_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getVaultLib\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"vaultLib_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_accessor\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_fundName\",\"type\":\"string\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"uuid_\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nextAccessor\",\"type\":\"address\"}],\"name\":\"setAccessor\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nextVaultLib\",\"type\":\"address\"}],\"name\":\"setVaultLib\",\"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\":\"_recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"All subsequent implementations should inherit the previous implementation, e.g., `VaultLibBase2 is VaultLibBase1` DO NOT EDIT CONTRACT.\",\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"Standard implementation of ERC20's allowance(). Can be overridden.\"},\"approve(address,uint256)\":{\"details\":\"Standard implementation of ERC20's approve(). Can be overridden.\"},\"balanceOf(address)\":{\"details\":\"Standard implementation of ERC20's balanceOf(). Can be overridden.\"},\"canMigrate(address)\":{\"params\":{\"_who\":\"The account to check\"},\"returns\":{\"canMigrate_\":\"True if the account is allowed to migrate the VaultProxy\"}},\"decimals()\":{\"details\":\"Standard implementation of ERC20's decimals(). Can not be overridden.\"},\"getVaultLib()\":{\"returns\":{\"vaultLib_\":\"The address of the VaultLib target\"}},\"init(address,address,string)\":{\"details\":\"Serves as a per-proxy pseudo-constructor\",\"params\":{\"_accessor\":\"The address to set as the permissioned accessor of the VaultLib\",\"_fundName\":\"The name of the fund\",\"_owner\":\"The address to set as the fund owner\"}},\"name()\":{\"details\":\"Standard implementation of ERC20's name(). Can be overridden.\"},\"proxiableUUID()\":{\"details\":\"The UUID is `bytes32(keccak256('mln.proxiable.vaultlib'))`\",\"returns\":{\"uuid_\":\"The bytes32 hash representing the UUID\"}},\"setAccessor(address)\":{\"params\":{\"_nextAccessor\":\"The address to set as the permissioned accessor of the VaultLib\"}},\"setVaultLib(address)\":{\"details\":\"This function is absolutely critical. __updateCodeAddress() validates that the target is a valid Proxiable contract instance. Does not block _nextVaultLib from being the same as the current VaultLib\",\"params\":{\"_nextVaultLib\":\"The address to set as the VaultLib\"}},\"symbol()\":{\"details\":\"Standard implementation of ERC20's symbol(). Can be overridden.\"},\"totalSupply()\":{\"details\":\"Standard implementation of ERC20's totalSupply(). Can be overridden.\"},\"transfer(address,uint256)\":{\"details\":\"Standard implementation of ERC20's transfer(). Can be overridden.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Standard implementation of ERC20's transferFrom(). Can be overridden.\"}},\"title\":\"VaultLibBase1 Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"canMigrate(address)\":{\"notice\":\"Checks whether an account is allowed to migrate the VaultProxy\"},\"getVaultLib()\":{\"notice\":\"Gets the VaultLib target for the VaultProxy\"},\"init(address,address,string)\":{\"notice\":\"Initializes the VaultProxy with core configuration\"},\"proxiableUUID()\":{\"notice\":\"Returns a unique bytes32 hash for VaultLib instances\"},\"setAccessor(address)\":{\"notice\":\"Sets the permissioned accessor of the VaultLib\"},\"setVaultLib(address)\":{\"notice\":\"Sets the VaultLib target for the VaultProxy\"}},\"notice\":\"The first implementation of VaultLibBaseCore, with additional events and storage\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/vault/VaultLibBase1.sol\":\"VaultLibBase1\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/vault/VaultLibBase1.sol\":{\"keccak256\":\"0xa4dac1e4cdb311a2ab187135355357d8790c505ef36dd912c057fe53743d30b5\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b66efe821016ab927c949263023260515e90f5d480dc8d94eefbfeec7bf7490b\",\"dweb:/ipfs/QmNY3xKnhL9EptAbxGvXHGAXfV9pj3dDPwsZnKrPs54ZHw\"]},\"contracts/persistent/vault/VaultLibBaseCore.sol\":{\"keccak256\":\"0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd\",\"dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz\"]},\"contracts/persistent/vault/interfaces/IMigratableVault.sol\":{\"keccak256\":\"0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6\",\"dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs\"]},\"contracts/persistent/vault/utils/ProxiableVaultLib.sol\":{\"keccak256\":\"0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44\",\"dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4\"]},\"contracts/persistent/vault/utils/SharesTokenBase.sol\":{\"keccak256\":\"0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8\",\"dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4\"]},\"contracts/persistent/vault/utils/VaultLibSafeMath.sol\":{\"keccak256\":\"0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02\",\"dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "prevAccessor", "type": "address", "indexed": false }, { "internalType": "address", "name": "nextAccessor", "type": "address", "indexed": false } ], "type": "event", "name": "AccessorSet", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address", "indexed": true }, { "internalType": "address", "name": "spender", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "value", "type": "uint256", "indexed": false } ], "type": "event", "name": "Approval", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "asset", "type": "address", "indexed": true }, { "internalType": "address", "name": "target", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "amount", "type": "uint256", "indexed": false } ], "type": "event", "name": "AssetWithdrawn", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "prevMigrator", "type": "address", "indexed": false }, { "internalType": "address", "name": "nextMigrator", "type": "address", "indexed": false } ], "type": "event", "name": "MigratorSet", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "prevOwner", "type": "address", "indexed": false }, { "internalType": "address", "name": "nextOwner", "type": "address", "indexed": false } ], "type": "event", "name": "OwnerSet", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "asset", "type": "address", "indexed": false } ], "type": "event", "name": "TrackedAssetAdded", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "asset", "type": "address", "indexed": false } ], "type": "event", "name": "TrackedAssetRemoved", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address", "indexed": true }, { "internalType": "address", "name": "to", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "value", "type": "uint256", "indexed": false } ], "type": "event", "name": "Transfer", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "prevVaultLib", "type": "address", "indexed": false }, { "internalType": "address", "name": "nextVaultLib", "type": "address", "indexed": false } ], "type": "event", "name": "VaultLibSet", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "_owner", "type": "address" }, { "internalType": "address", "name": "_spender", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "_spender", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "_account", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "_who", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "canMigrate", "outputs": [ { "internalType": "bool", "name": "canMigrate_", "type": "bool" } ] }, { "inputs": [], "stateMutability": "pure", "type": "function", "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getVaultLib", "outputs": [ { "internalType": "address", "name": "vaultLib_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_owner", "type": "address" }, { "internalType": "address", "name": "_accessor", "type": "address" }, { "internalType": "string", "name": "_fundName", "type": "string" } ], "stateMutability": "nonpayable", "type": "function", "name": "init" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ] }, { "inputs": [], "stateMutability": "pure", "type": "function", "name": "proxiableUUID", "outputs": [ { "internalType": "bytes32", "name": "uuid_", "type": "bytes32" } ] }, { "inputs": [ { "internalType": "address", "name": "_nextAccessor", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "setAccessor" }, { "inputs": [ { "internalType": "address", "name": "_nextVaultLib", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "setVaultLib" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "_recipient", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "_sender", "type": "address" }, { "internalType": "address", "name": "_recipient", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] } ], "devdoc": { "kind": "dev", "methods": { "allowance(address,address)": { "details": "Standard implementation of ERC20's allowance(). Can be overridden." }, "approve(address,uint256)": { "details": "Standard implementation of ERC20's approve(). Can be overridden." }, "balanceOf(address)": { "details": "Standard implementation of ERC20's balanceOf(). Can be overridden." }, "canMigrate(address)": { "params": { "_who": "The account to check" }, "returns": { "canMigrate_": "True if the account is allowed to migrate the VaultProxy" } }, "decimals()": { "details": "Standard implementation of ERC20's decimals(). Can not be overridden." }, "getVaultLib()": { "returns": { "vaultLib_": "The address of the VaultLib target" } }, "init(address,address,string)": { "details": "Serves as a per-proxy pseudo-constructor", "params": { "_accessor": "The address to set as the permissioned accessor of the VaultLib", "_fundName": "The name of the fund", "_owner": "The address to set as the fund owner" } }, "name()": { "details": "Standard implementation of ERC20's name(). Can be overridden." }, "proxiableUUID()": { "details": "The UUID is `bytes32(keccak256('mln.proxiable.vaultlib'))`", "returns": { "uuid_": "The bytes32 hash representing the UUID" } }, "setAccessor(address)": { "params": { "_nextAccessor": "The address to set as the permissioned accessor of the VaultLib" } }, "setVaultLib(address)": { "details": "This function is absolutely critical. __updateCodeAddress() validates that the target is a valid Proxiable contract instance. Does not block _nextVaultLib from being the same as the current VaultLib", "params": { "_nextVaultLib": "The address to set as the VaultLib" } }, "symbol()": { "details": "Standard implementation of ERC20's symbol(). Can be overridden." }, "totalSupply()": { "details": "Standard implementation of ERC20's totalSupply(). Can be overridden." }, "transfer(address,uint256)": { "details": "Standard implementation of ERC20's transfer(). Can be overridden." }, "transferFrom(address,address,uint256)": { "details": "Standard implementation of ERC20's transferFrom(). Can be overridden." } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "canMigrate(address)": { "notice": "Checks whether an account is allowed to migrate the VaultProxy" }, "getVaultLib()": { "notice": "Gets the VaultLib target for the VaultProxy" }, "init(address,address,string)": { "notice": "Initializes the VaultProxy with core configuration" }, "proxiableUUID()": { "notice": "Returns a unique bytes32 hash for VaultLib instances" }, "setAccessor(address)": { "notice": "Sets the permissioned accessor of the VaultLib" }, "setVaultLib(address)": { "notice": "Sets the VaultLib target for the VaultProxy" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/persistent/vault/VaultLibBase1.sol": "VaultLibBase1" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/vault/VaultLibBase1.sol": { "keccak256": "0xa4dac1e4cdb311a2ab187135355357d8790c505ef36dd912c057fe53743d30b5", "urls": [ "bzz-raw://b66efe821016ab927c949263023260515e90f5d480dc8d94eefbfeec7bf7490b", "dweb:/ipfs/QmNY3xKnhL9EptAbxGvXHGAXfV9pj3dDPwsZnKrPs54ZHw" ], "license": "GPL-3.0" }, "contracts/persistent/vault/VaultLibBaseCore.sol": { "keccak256": "0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074", "urls": [ "bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd", "dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IMigratableVault.sol": { "keccak256": "0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238", "urls": [ "bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6", "dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs" ], "license": "GPL-3.0" }, "contracts/persistent/vault/utils/ProxiableVaultLib.sol": { "keccak256": "0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76", "urls": [ "bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44", "dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4" ], "license": "GPL-3.0" }, "contracts/persistent/vault/utils/SharesTokenBase.sol": { "keccak256": "0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113", "urls": [ "bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8", "dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4" ], "license": "GPL-3.0" }, "contracts/persistent/vault/utils/VaultLibSafeMath.sol": { "keccak256": "0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d", "urls": [ "bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02", "dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 66 } diff --git a/eth_defi/abi/enzyme/VaultLibBase2.json b/eth_defi/abi/enzyme/VaultLibBase2.json index cdb924a2..2bfe2855 100644 --- a/eth_defi/abi/enzyme/VaultLibBase2.json +++ b/eth_defi/abi/enzyme/VaultLibBase2.json @@ -1,1484 +1 @@ -{ - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "prevAccessor", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "nextAccessor", - "type": "address" - } - ], - "name": "AccessorSet", - "type": "event" - }, - { - "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": false, - "internalType": "address", - "name": "manager", - "type": "address" - } - ], - "name": "AssetManagerAdded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "manager", - "type": "address" - } - ], - "name": "AssetManagerRemoved", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "asset", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "target", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "AssetWithdrawn", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "sender", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "EthReceived", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "externalPosition", - "type": "address" - } - ], - "name": "ExternalPositionAdded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "externalPosition", - "type": "address" - } - ], - "name": "ExternalPositionRemoved", - "type": "event" - }, - { - "anonymous": false, - "inputs": [], - "name": "FreelyTransferableSharesSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "prevMigrator", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "nextMigrator", - "type": "address" - } - ], - "name": "MigratorSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "string", - "name": "name", - "type": "string" - } - ], - "name": "NameSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "nominatedOwner", - "type": "address" - } - ], - "name": "NominatedOwnerRemoved", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "nominatedOwner", - "type": "address" - } - ], - "name": "NominatedOwnerSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "prevOwner", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "nextOwner", - "type": "address" - } - ], - "name": "OwnerSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "prevOwner", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "nextOwner", - "type": "address" - } - ], - "name": "OwnershipTransferred", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "sharesAmount", - "type": "uint256" - } - ], - "name": "ProtocolFeePaidInShares", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "uint256", - "name": "sharesAmount", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "mlnValue", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "mlnBurned", - "type": "uint256" - } - ], - "name": "ProtocolFeeSharesBoughtBack", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "string", - "name": "symbol", - "type": "string" - } - ], - "name": "SymbolSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "asset", - "type": "address" - } - ], - "name": "TrackedAssetAdded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "asset", - "type": "address" - } - ], - "name": "TrackedAssetRemoved", - "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" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "prevVaultLib", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "nextVaultLib", - "type": "address" - } - ], - "name": "VaultLibSet", - "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": [ - { - "internalType": "address", - "name": "_who", - "type": "address" - } - ], - "name": "canMigrate", - "outputs": [ - { - "internalType": "bool", - "name": "canMigrate_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "getVaultLib", - "outputs": [ - { - "internalType": "address", - "name": "vaultLib_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - }, - { - "internalType": "address", - "name": "_accessor", - "type": "address" - }, - { - "internalType": "string", - "name": "_fundName", - "type": "string" - } - ], - "name": "init", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "proxiableUUID", - "outputs": [ - { - "internalType": "bytes32", - "name": "uuid_", - "type": "bytes32" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_nextAccessor", - "type": "address" - } - ], - "name": "setAccessor", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_nextVaultLib", - "type": "address" - } - ], - "name": "setVaultLib", - "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": "_recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_sender", - "type": "address" - }, - { - "internalType": "address", - "name": "_recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "allowance(address,address)": "dd62ed3e", - "approve(address,uint256)": "095ea7b3", - "balanceOf(address)": "70a08231", - "canMigrate(address)": "7de07cea", - "decimals()": "313ce567", - "getVaultLib()": "682cea19", - "init(address,address,string)": "5c9a6d37", - "name()": "06fdde03", - "proxiableUUID()": "52d1902d", - "setAccessor(address)": "ab9253ac", - "setVaultLib(address)": "4140d607", - "symbol()": "95d89b41", - "totalSupply()": "18160ddd", - "transfer(address,uint256)": "a9059cbb", - "transferFrom(address,address,uint256)": "23b872dd" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"prevAccessor\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"nextAccessor\",\"type\":\"address\"}],\"name\":\"AccessorSet\",\"type\":\"event\"},{\"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\":false,\"internalType\":\"address\",\"name\":\"manager\",\"type\":\"address\"}],\"name\":\"AssetManagerAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"manager\",\"type\":\"address\"}],\"name\":\"AssetManagerRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"asset\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"AssetWithdrawn\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"EthReceived\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"externalPosition\",\"type\":\"address\"}],\"name\":\"ExternalPositionAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"externalPosition\",\"type\":\"address\"}],\"name\":\"ExternalPositionRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"FreelyTransferableSharesSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"prevMigrator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"nextMigrator\",\"type\":\"address\"}],\"name\":\"MigratorSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"NameSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"nominatedOwner\",\"type\":\"address\"}],\"name\":\"NominatedOwnerRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"nominatedOwner\",\"type\":\"address\"}],\"name\":\"NominatedOwnerSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"prevOwner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"nextOwner\",\"type\":\"address\"}],\"name\":\"OwnerSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"prevOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"nextOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"sharesAmount\",\"type\":\"uint256\"}],\"name\":\"ProtocolFeePaidInShares\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"sharesAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"mlnValue\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"mlnBurned\",\"type\":\"uint256\"}],\"name\":\"ProtocolFeeSharesBoughtBack\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"}],\"name\":\"SymbolSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"asset\",\"type\":\"address\"}],\"name\":\"TrackedAssetAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"asset\",\"type\":\"address\"}],\"name\":\"TrackedAssetRemoved\",\"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\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"prevVaultLib\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"nextVaultLib\",\"type\":\"address\"}],\"name\":\"VaultLibSet\",\"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\":[{\"internalType\":\"address\",\"name\":\"_who\",\"type\":\"address\"}],\"name\":\"canMigrate\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"canMigrate_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getVaultLib\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"vaultLib_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_accessor\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_fundName\",\"type\":\"string\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"uuid_\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nextAccessor\",\"type\":\"address\"}],\"name\":\"setAccessor\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nextVaultLib\",\"type\":\"address\"}],\"name\":\"setVaultLib\",\"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\":\"_recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"All subsequent implementations should inherit the previous implementation, e.g., `VaultLibBase2 is VaultLibBase1` DO NOT EDIT CONTRACT.\",\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"Standard implementation of ERC20's allowance(). Can be overridden.\"},\"approve(address,uint256)\":{\"details\":\"Standard implementation of ERC20's approve(). Can be overridden.\"},\"balanceOf(address)\":{\"details\":\"Standard implementation of ERC20's balanceOf(). Can be overridden.\"},\"canMigrate(address)\":{\"params\":{\"_who\":\"The account to check\"},\"returns\":{\"canMigrate_\":\"True if the account is allowed to migrate the VaultProxy\"}},\"decimals()\":{\"details\":\"Standard implementation of ERC20's decimals(). Can not be overridden.\"},\"getVaultLib()\":{\"returns\":{\"vaultLib_\":\"The address of the VaultLib target\"}},\"init(address,address,string)\":{\"details\":\"Serves as a per-proxy pseudo-constructor\",\"params\":{\"_accessor\":\"The address to set as the permissioned accessor of the VaultLib\",\"_fundName\":\"The name of the fund\",\"_owner\":\"The address to set as the fund owner\"}},\"name()\":{\"details\":\"Standard implementation of ERC20's name(). Can be overridden.\"},\"proxiableUUID()\":{\"details\":\"The UUID is `bytes32(keccak256('mln.proxiable.vaultlib'))`\",\"returns\":{\"uuid_\":\"The bytes32 hash representing the UUID\"}},\"setAccessor(address)\":{\"params\":{\"_nextAccessor\":\"The address to set as the permissioned accessor of the VaultLib\"}},\"setVaultLib(address)\":{\"details\":\"This function is absolutely critical. __updateCodeAddress() validates that the target is a valid Proxiable contract instance. Does not block _nextVaultLib from being the same as the current VaultLib\",\"params\":{\"_nextVaultLib\":\"The address to set as the VaultLib\"}},\"symbol()\":{\"details\":\"Standard implementation of ERC20's symbol(). Can be overridden.\"},\"totalSupply()\":{\"details\":\"Standard implementation of ERC20's totalSupply(). Can be overridden.\"},\"transfer(address,uint256)\":{\"details\":\"Standard implementation of ERC20's transfer(). Can be overridden.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Standard implementation of ERC20's transferFrom(). Can be overridden.\"}},\"title\":\"VaultLibBase2 Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"canMigrate(address)\":{\"notice\":\"Checks whether an account is allowed to migrate the VaultProxy\"},\"getVaultLib()\":{\"notice\":\"Gets the VaultLib target for the VaultProxy\"},\"init(address,address,string)\":{\"notice\":\"Initializes the VaultProxy with core configuration\"},\"proxiableUUID()\":{\"notice\":\"Returns a unique bytes32 hash for VaultLib instances\"},\"setAccessor(address)\":{\"notice\":\"Sets the permissioned accessor of the VaultLib\"},\"setVaultLib(address)\":{\"notice\":\"Sets the VaultLib target for the VaultProxy\"}},\"notice\":\"The first implementation of VaultLibBase1, with additional events and storage\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/vault/VaultLibBase2.sol\":\"VaultLibBase2\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/vault/VaultLibBase1.sol\":{\"keccak256\":\"0xa4dac1e4cdb311a2ab187135355357d8790c505ef36dd912c057fe53743d30b5\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b66efe821016ab927c949263023260515e90f5d480dc8d94eefbfeec7bf7490b\",\"dweb:/ipfs/QmNY3xKnhL9EptAbxGvXHGAXfV9pj3dDPwsZnKrPs54ZHw\"]},\"contracts/persistent/vault/VaultLibBase2.sol\":{\"keccak256\":\"0xf7d31f2a9a47770ed3f444be2c4fe9262ddb55fef7f25e546b1f03c9afec4c09\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9353ddce7c9b8b3c13fed23fe8edec99ca610d791b0c5b204b3d01f1f08d07d2\",\"dweb:/ipfs/QmeVsEh3joCjv49BRXeHASevnZZ5xdZXpkctHT8BPf37N2\"]},\"contracts/persistent/vault/VaultLibBaseCore.sol\":{\"keccak256\":\"0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd\",\"dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz\"]},\"contracts/persistent/vault/interfaces/IMigratableVault.sol\":{\"keccak256\":\"0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6\",\"dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs\"]},\"contracts/persistent/vault/utils/ProxiableVaultLib.sol\":{\"keccak256\":\"0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44\",\"dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4\"]},\"contracts/persistent/vault/utils/SharesTokenBase.sol\":{\"keccak256\":\"0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8\",\"dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4\"]},\"contracts/persistent/vault/utils/VaultLibSafeMath.sol\":{\"keccak256\":\"0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02\",\"dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "prevAccessor", - "type": "address", - "indexed": false - }, - { - "internalType": "address", - "name": "nextAccessor", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "AccessorSet", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "spender", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "Approval", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "manager", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "AssetManagerAdded", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "manager", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "AssetManagerRemoved", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "asset", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "target", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "AssetWithdrawn", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "sender", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "EthReceived", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "externalPosition", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "ExternalPositionAdded", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "externalPosition", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "ExternalPositionRemoved", - "anonymous": false - }, - { - "inputs": [], - "type": "event", - "name": "FreelyTransferableSharesSet", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "prevMigrator", - "type": "address", - "indexed": false - }, - { - "internalType": "address", - "name": "nextMigrator", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "MigratorSet", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "name", - "type": "string", - "indexed": false - } - ], - "type": "event", - "name": "NameSet", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "nominatedOwner", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "NominatedOwnerRemoved", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "nominatedOwner", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "NominatedOwnerSet", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "prevOwner", - "type": "address", - "indexed": false - }, - { - "internalType": "address", - "name": "nextOwner", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "OwnerSet", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "prevOwner", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "nextOwner", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "OwnershipTransferred", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "sharesAmount", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "ProtocolFeePaidInShares", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "sharesAmount", - "type": "uint256", - "indexed": false - }, - { - "internalType": "uint256", - "name": "mlnValue", - "type": "uint256", - "indexed": false - }, - { - "internalType": "uint256", - "name": "mlnBurned", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "ProtocolFeeSharesBoughtBack", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "string", - "name": "symbol", - "type": "string", - "indexed": false - } - ], - "type": "event", - "name": "SymbolSet", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "asset", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "TrackedAssetAdded", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "asset", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "TrackedAssetRemoved", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "to", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "Transfer", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "prevVaultLib", - "type": "address", - "indexed": false - }, - { - "internalType": "address", - "name": "nextVaultLib", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "VaultLibSet", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - }, - { - "internalType": "address", - "name": "_spender", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_account", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_who", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "canMigrate", - "outputs": [ - { - "internalType": "bool", - "name": "canMigrate_", - "type": "bool" - } - ] - }, - { - "inputs": [], - "stateMutability": "pure", - "type": "function", - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getVaultLib", - "outputs": [ - { - "internalType": "address", - "name": "vaultLib_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - }, - { - "internalType": "address", - "name": "_accessor", - "type": "address" - }, - { - "internalType": "string", - "name": "_fundName", - "type": "string" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "init" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ] - }, - { - "inputs": [], - "stateMutability": "pure", - "type": "function", - "name": "proxiableUUID", - "outputs": [ - { - "internalType": "bytes32", - "name": "uuid_", - "type": "bytes32" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_nextAccessor", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setAccessor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_nextVaultLib", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setVaultLib" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_sender", - "type": "address" - }, - { - "internalType": "address", - "name": "_recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "allowance(address,address)": { - "details": "Standard implementation of ERC20's allowance(). Can be overridden." - }, - "approve(address,uint256)": { - "details": "Standard implementation of ERC20's approve(). Can be overridden." - }, - "balanceOf(address)": { - "details": "Standard implementation of ERC20's balanceOf(). Can be overridden." - }, - "canMigrate(address)": { - "params": { - "_who": "The account to check" - }, - "returns": { - "canMigrate_": "True if the account is allowed to migrate the VaultProxy" - } - }, - "decimals()": { - "details": "Standard implementation of ERC20's decimals(). Can not be overridden." - }, - "getVaultLib()": { - "returns": { - "vaultLib_": "The address of the VaultLib target" - } - }, - "init(address,address,string)": { - "details": "Serves as a per-proxy pseudo-constructor", - "params": { - "_accessor": "The address to set as the permissioned accessor of the VaultLib", - "_fundName": "The name of the fund", - "_owner": "The address to set as the fund owner" - } - }, - "name()": { - "details": "Standard implementation of ERC20's name(). Can be overridden." - }, - "proxiableUUID()": { - "details": "The UUID is `bytes32(keccak256('mln.proxiable.vaultlib'))`", - "returns": { - "uuid_": "The bytes32 hash representing the UUID" - } - }, - "setAccessor(address)": { - "params": { - "_nextAccessor": "The address to set as the permissioned accessor of the VaultLib" - } - }, - "setVaultLib(address)": { - "details": "This function is absolutely critical. __updateCodeAddress() validates that the target is a valid Proxiable contract instance. Does not block _nextVaultLib from being the same as the current VaultLib", - "params": { - "_nextVaultLib": "The address to set as the VaultLib" - } - }, - "symbol()": { - "details": "Standard implementation of ERC20's symbol(). Can be overridden." - }, - "totalSupply()": { - "details": "Standard implementation of ERC20's totalSupply(). Can be overridden." - }, - "transfer(address,uint256)": { - "details": "Standard implementation of ERC20's transfer(). Can be overridden." - }, - "transferFrom(address,address,uint256)": { - "details": "Standard implementation of ERC20's transferFrom(). Can be overridden." - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "canMigrate(address)": { - "notice": "Checks whether an account is allowed to migrate the VaultProxy" - }, - "getVaultLib()": { - "notice": "Gets the VaultLib target for the VaultProxy" - }, - "init(address,address,string)": { - "notice": "Initializes the VaultProxy with core configuration" - }, - "proxiableUUID()": { - "notice": "Returns a unique bytes32 hash for VaultLib instances" - }, - "setAccessor(address)": { - "notice": "Sets the permissioned accessor of the VaultLib" - }, - "setVaultLib(address)": { - "notice": "Sets the VaultLib target for the VaultProxy" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/persistent/vault/VaultLibBase2.sol": "VaultLibBase2" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/vault/VaultLibBase1.sol": { - "keccak256": "0xa4dac1e4cdb311a2ab187135355357d8790c505ef36dd912c057fe53743d30b5", - "urls": [ - "bzz-raw://b66efe821016ab927c949263023260515e90f5d480dc8d94eefbfeec7bf7490b", - "dweb:/ipfs/QmNY3xKnhL9EptAbxGvXHGAXfV9pj3dDPwsZnKrPs54ZHw" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/VaultLibBase2.sol": { - "keccak256": "0xf7d31f2a9a47770ed3f444be2c4fe9262ddb55fef7f25e546b1f03c9afec4c09", - "urls": [ - "bzz-raw://9353ddce7c9b8b3c13fed23fe8edec99ca610d791b0c5b204b3d01f1f08d07d2", - "dweb:/ipfs/QmeVsEh3joCjv49BRXeHASevnZZ5xdZXpkctHT8BPf37N2" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/VaultLibBaseCore.sol": { - "keccak256": "0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074", - "urls": [ - "bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd", - "dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IMigratableVault.sol": { - "keccak256": "0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238", - "urls": [ - "bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6", - "dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/utils/ProxiableVaultLib.sol": { - "keccak256": "0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76", - "urls": [ - "bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44", - "dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/utils/SharesTokenBase.sol": { - "keccak256": "0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113", - "urls": [ - "bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8", - "dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/utils/VaultLibSafeMath.sol": { - "keccak256": "0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d", - "urls": [ - "bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02", - "dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 67 -} +{ "abi": [ { "type": "function", "name": "allowance", "inputs": [ { "name": "_owner", "type": "address", "internalType": "address" }, { "name": "_spender", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "approve", "inputs": [ { "name": "_spender", "type": "address", "internalType": "address" }, { "name": "_amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "balanceOf", "inputs": [ { "name": "_account", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "canMigrate", "inputs": [ { "name": "_who", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "canMigrate_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "decimals", "inputs": [], "outputs": [ { "name": "", "type": "uint8", "internalType": "uint8" } ], "stateMutability": "pure" }, { "type": "function", "name": "getVaultLib", "inputs": [], "outputs": [ { "name": "vaultLib_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "init", "inputs": [ { "name": "_owner", "type": "address", "internalType": "address" }, { "name": "_accessor", "type": "address", "internalType": "address" }, { "name": "_fundName", "type": "string", "internalType": "string" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "name", "inputs": [], "outputs": [ { "name": "", "type": "string", "internalType": "string" } ], "stateMutability": "view" }, { "type": "function", "name": "proxiableUUID", "inputs": [], "outputs": [ { "name": "uuid_", "type": "bytes32", "internalType": "bytes32" } ], "stateMutability": "pure" }, { "type": "function", "name": "setAccessor", "inputs": [ { "name": "_nextAccessor", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setVaultLib", "inputs": [ { "name": "_nextVaultLib", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "symbol", "inputs": [], "outputs": [ { "name": "", "type": "string", "internalType": "string" } ], "stateMutability": "view" }, { "type": "function", "name": "totalSupply", "inputs": [], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "transfer", "inputs": [ { "name": "_recipient", "type": "address", "internalType": "address" }, { "name": "_amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "transferFrom", "inputs": [ { "name": "_sender", "type": "address", "internalType": "address" }, { "name": "_recipient", "type": "address", "internalType": "address" }, { "name": "_amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "event", "name": "AccessorSet", "inputs": [ { "name": "prevAccessor", "type": "address", "indexed": false, "internalType": "address" }, { "name": "nextAccessor", "type": "address", "indexed": false, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "Approval", "inputs": [ { "name": "owner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "spender", "type": "address", "indexed": true, "internalType": "address" }, { "name": "value", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "AssetManagerAdded", "inputs": [ { "name": "manager", "type": "address", "indexed": false, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "AssetManagerRemoved", "inputs": [ { "name": "manager", "type": "address", "indexed": false, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "AssetWithdrawn", "inputs": [ { "name": "asset", "type": "address", "indexed": true, "internalType": "address" }, { "name": "target", "type": "address", "indexed": true, "internalType": "address" }, { "name": "amount", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "EthReceived", "inputs": [ { "name": "sender", "type": "address", "indexed": true, "internalType": "address" }, { "name": "amount", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "ExternalPositionAdded", "inputs": [ { "name": "externalPosition", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "ExternalPositionRemoved", "inputs": [ { "name": "externalPosition", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "FreelyTransferableSharesSet", "inputs": [], "anonymous": false }, { "type": "event", "name": "MigratorSet", "inputs": [ { "name": "prevMigrator", "type": "address", "indexed": false, "internalType": "address" }, { "name": "nextMigrator", "type": "address", "indexed": false, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "NameSet", "inputs": [ { "name": "name", "type": "string", "indexed": false, "internalType": "string" } ], "anonymous": false }, { "type": "event", "name": "NominatedOwnerRemoved", "inputs": [ { "name": "nominatedOwner", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "NominatedOwnerSet", "inputs": [ { "name": "nominatedOwner", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "OwnerSet", "inputs": [ { "name": "prevOwner", "type": "address", "indexed": false, "internalType": "address" }, { "name": "nextOwner", "type": "address", "indexed": false, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "OwnershipTransferred", "inputs": [ { "name": "prevOwner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "nextOwner", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "ProtocolFeePaidInShares", "inputs": [ { "name": "sharesAmount", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "ProtocolFeeSharesBoughtBack", "inputs": [ { "name": "sharesAmount", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "mlnValue", "type": "uint256", "indexed": false, "internalType": "uint256" }, { "name": "mlnBurned", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "SymbolSet", "inputs": [ { "name": "symbol", "type": "string", "indexed": false, "internalType": "string" } ], "anonymous": false }, { "type": "event", "name": "TrackedAssetAdded", "inputs": [ { "name": "asset", "type": "address", "indexed": false, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "TrackedAssetRemoved", "inputs": [ { "name": "asset", "type": "address", "indexed": false, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "Transfer", "inputs": [ { "name": "from", "type": "address", "indexed": true, "internalType": "address" }, { "name": "to", "type": "address", "indexed": true, "internalType": "address" }, { "name": "value", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "VaultLibSet", "inputs": [ { "name": "prevVaultLib", "type": "address", "indexed": false, "internalType": "address" }, { "name": "nextVaultLib", "type": "address", "indexed": false, "internalType": "address" } ], "anonymous": false } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "allowance(address,address)": "dd62ed3e", "approve(address,uint256)": "095ea7b3", "balanceOf(address)": "70a08231", "canMigrate(address)": "7de07cea", "decimals()": "313ce567", "getVaultLib()": "682cea19", "init(address,address,string)": "5c9a6d37", "name()": "06fdde03", "proxiableUUID()": "52d1902d", "setAccessor(address)": "ab9253ac", "setVaultLib(address)": "4140d607", "symbol()": "95d89b41", "totalSupply()": "18160ddd", "transfer(address,uint256)": "a9059cbb", "transferFrom(address,address,uint256)": "23b872dd" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"prevAccessor\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"nextAccessor\",\"type\":\"address\"}],\"name\":\"AccessorSet\",\"type\":\"event\"},{\"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\":false,\"internalType\":\"address\",\"name\":\"manager\",\"type\":\"address\"}],\"name\":\"AssetManagerAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"manager\",\"type\":\"address\"}],\"name\":\"AssetManagerRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"asset\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"AssetWithdrawn\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"EthReceived\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"externalPosition\",\"type\":\"address\"}],\"name\":\"ExternalPositionAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"externalPosition\",\"type\":\"address\"}],\"name\":\"ExternalPositionRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"FreelyTransferableSharesSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"prevMigrator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"nextMigrator\",\"type\":\"address\"}],\"name\":\"MigratorSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"NameSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"nominatedOwner\",\"type\":\"address\"}],\"name\":\"NominatedOwnerRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"nominatedOwner\",\"type\":\"address\"}],\"name\":\"NominatedOwnerSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"prevOwner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"nextOwner\",\"type\":\"address\"}],\"name\":\"OwnerSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"prevOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"nextOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"sharesAmount\",\"type\":\"uint256\"}],\"name\":\"ProtocolFeePaidInShares\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"sharesAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"mlnValue\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"mlnBurned\",\"type\":\"uint256\"}],\"name\":\"ProtocolFeeSharesBoughtBack\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"}],\"name\":\"SymbolSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"asset\",\"type\":\"address\"}],\"name\":\"TrackedAssetAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"asset\",\"type\":\"address\"}],\"name\":\"TrackedAssetRemoved\",\"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\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"prevVaultLib\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"nextVaultLib\",\"type\":\"address\"}],\"name\":\"VaultLibSet\",\"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\":[{\"internalType\":\"address\",\"name\":\"_who\",\"type\":\"address\"}],\"name\":\"canMigrate\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"canMigrate_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getVaultLib\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"vaultLib_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_accessor\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_fundName\",\"type\":\"string\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"uuid_\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nextAccessor\",\"type\":\"address\"}],\"name\":\"setAccessor\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nextVaultLib\",\"type\":\"address\"}],\"name\":\"setVaultLib\",\"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\":\"_recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"All subsequent implementations should inherit the previous implementation, e.g., `VaultLibBase2 is VaultLibBase1` DO NOT EDIT CONTRACT.\",\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"Standard implementation of ERC20's allowance(). Can be overridden.\"},\"approve(address,uint256)\":{\"details\":\"Standard implementation of ERC20's approve(). Can be overridden.\"},\"balanceOf(address)\":{\"details\":\"Standard implementation of ERC20's balanceOf(). Can be overridden.\"},\"canMigrate(address)\":{\"params\":{\"_who\":\"The account to check\"},\"returns\":{\"canMigrate_\":\"True if the account is allowed to migrate the VaultProxy\"}},\"decimals()\":{\"details\":\"Standard implementation of ERC20's decimals(). Can not be overridden.\"},\"getVaultLib()\":{\"returns\":{\"vaultLib_\":\"The address of the VaultLib target\"}},\"init(address,address,string)\":{\"details\":\"Serves as a per-proxy pseudo-constructor\",\"params\":{\"_accessor\":\"The address to set as the permissioned accessor of the VaultLib\",\"_fundName\":\"The name of the fund\",\"_owner\":\"The address to set as the fund owner\"}},\"name()\":{\"details\":\"Standard implementation of ERC20's name(). Can be overridden.\"},\"proxiableUUID()\":{\"details\":\"The UUID is `bytes32(keccak256('mln.proxiable.vaultlib'))`\",\"returns\":{\"uuid_\":\"The bytes32 hash representing the UUID\"}},\"setAccessor(address)\":{\"params\":{\"_nextAccessor\":\"The address to set as the permissioned accessor of the VaultLib\"}},\"setVaultLib(address)\":{\"details\":\"This function is absolutely critical. __updateCodeAddress() validates that the target is a valid Proxiable contract instance. Does not block _nextVaultLib from being the same as the current VaultLib\",\"params\":{\"_nextVaultLib\":\"The address to set as the VaultLib\"}},\"symbol()\":{\"details\":\"Standard implementation of ERC20's symbol(). Can be overridden.\"},\"totalSupply()\":{\"details\":\"Standard implementation of ERC20's totalSupply(). Can be overridden.\"},\"transfer(address,uint256)\":{\"details\":\"Standard implementation of ERC20's transfer(). Can be overridden.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Standard implementation of ERC20's transferFrom(). Can be overridden.\"}},\"title\":\"VaultLibBase2 Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"canMigrate(address)\":{\"notice\":\"Checks whether an account is allowed to migrate the VaultProxy\"},\"getVaultLib()\":{\"notice\":\"Gets the VaultLib target for the VaultProxy\"},\"init(address,address,string)\":{\"notice\":\"Initializes the VaultProxy with core configuration\"},\"proxiableUUID()\":{\"notice\":\"Returns a unique bytes32 hash for VaultLib instances\"},\"setAccessor(address)\":{\"notice\":\"Sets the permissioned accessor of the VaultLib\"},\"setVaultLib(address)\":{\"notice\":\"Sets the VaultLib target for the VaultProxy\"}},\"notice\":\"The first implementation of VaultLibBase1, with additional events and storage\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/vault/VaultLibBase2.sol\":\"VaultLibBase2\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/vault/VaultLibBase1.sol\":{\"keccak256\":\"0xa4dac1e4cdb311a2ab187135355357d8790c505ef36dd912c057fe53743d30b5\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://b66efe821016ab927c949263023260515e90f5d480dc8d94eefbfeec7bf7490b\",\"dweb:/ipfs/QmNY3xKnhL9EptAbxGvXHGAXfV9pj3dDPwsZnKrPs54ZHw\"]},\"contracts/persistent/vault/VaultLibBase2.sol\":{\"keccak256\":\"0xf7d31f2a9a47770ed3f444be2c4fe9262ddb55fef7f25e546b1f03c9afec4c09\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9353ddce7c9b8b3c13fed23fe8edec99ca610d791b0c5b204b3d01f1f08d07d2\",\"dweb:/ipfs/QmeVsEh3joCjv49BRXeHASevnZZ5xdZXpkctHT8BPf37N2\"]},\"contracts/persistent/vault/VaultLibBaseCore.sol\":{\"keccak256\":\"0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd\",\"dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz\"]},\"contracts/persistent/vault/interfaces/IMigratableVault.sol\":{\"keccak256\":\"0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6\",\"dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs\"]},\"contracts/persistent/vault/utils/ProxiableVaultLib.sol\":{\"keccak256\":\"0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44\",\"dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4\"]},\"contracts/persistent/vault/utils/SharesTokenBase.sol\":{\"keccak256\":\"0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8\",\"dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4\"]},\"contracts/persistent/vault/utils/VaultLibSafeMath.sol\":{\"keccak256\":\"0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02\",\"dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "prevAccessor", "type": "address", "indexed": false }, { "internalType": "address", "name": "nextAccessor", "type": "address", "indexed": false } ], "type": "event", "name": "AccessorSet", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address", "indexed": true }, { "internalType": "address", "name": "spender", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "value", "type": "uint256", "indexed": false } ], "type": "event", "name": "Approval", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "manager", "type": "address", "indexed": false } ], "type": "event", "name": "AssetManagerAdded", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "manager", "type": "address", "indexed": false } ], "type": "event", "name": "AssetManagerRemoved", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "asset", "type": "address", "indexed": true }, { "internalType": "address", "name": "target", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "amount", "type": "uint256", "indexed": false } ], "type": "event", "name": "AssetWithdrawn", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "amount", "type": "uint256", "indexed": false } ], "type": "event", "name": "EthReceived", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "externalPosition", "type": "address", "indexed": true } ], "type": "event", "name": "ExternalPositionAdded", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "externalPosition", "type": "address", "indexed": true } ], "type": "event", "name": "ExternalPositionRemoved", "anonymous": false }, { "inputs": [], "type": "event", "name": "FreelyTransferableSharesSet", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "prevMigrator", "type": "address", "indexed": false }, { "internalType": "address", "name": "nextMigrator", "type": "address", "indexed": false } ], "type": "event", "name": "MigratorSet", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "name", "type": "string", "indexed": false } ], "type": "event", "name": "NameSet", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "nominatedOwner", "type": "address", "indexed": true } ], "type": "event", "name": "NominatedOwnerRemoved", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "nominatedOwner", "type": "address", "indexed": true } ], "type": "event", "name": "NominatedOwnerSet", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "prevOwner", "type": "address", "indexed": false }, { "internalType": "address", "name": "nextOwner", "type": "address", "indexed": false } ], "type": "event", "name": "OwnerSet", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "prevOwner", "type": "address", "indexed": true }, { "internalType": "address", "name": "nextOwner", "type": "address", "indexed": true } ], "type": "event", "name": "OwnershipTransferred", "anonymous": false }, { "inputs": [ { "internalType": "uint256", "name": "sharesAmount", "type": "uint256", "indexed": false } ], "type": "event", "name": "ProtocolFeePaidInShares", "anonymous": false }, { "inputs": [ { "internalType": "uint256", "name": "sharesAmount", "type": "uint256", "indexed": false }, { "internalType": "uint256", "name": "mlnValue", "type": "uint256", "indexed": false }, { "internalType": "uint256", "name": "mlnBurned", "type": "uint256", "indexed": false } ], "type": "event", "name": "ProtocolFeeSharesBoughtBack", "anonymous": false }, { "inputs": [ { "internalType": "string", "name": "symbol", "type": "string", "indexed": false } ], "type": "event", "name": "SymbolSet", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "asset", "type": "address", "indexed": false } ], "type": "event", "name": "TrackedAssetAdded", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "asset", "type": "address", "indexed": false } ], "type": "event", "name": "TrackedAssetRemoved", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address", "indexed": true }, { "internalType": "address", "name": "to", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "value", "type": "uint256", "indexed": false } ], "type": "event", "name": "Transfer", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "prevVaultLib", "type": "address", "indexed": false }, { "internalType": "address", "name": "nextVaultLib", "type": "address", "indexed": false } ], "type": "event", "name": "VaultLibSet", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "_owner", "type": "address" }, { "internalType": "address", "name": "_spender", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "_spender", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "_account", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "_who", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "canMigrate", "outputs": [ { "internalType": "bool", "name": "canMigrate_", "type": "bool" } ] }, { "inputs": [], "stateMutability": "pure", "type": "function", "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getVaultLib", "outputs": [ { "internalType": "address", "name": "vaultLib_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_owner", "type": "address" }, { "internalType": "address", "name": "_accessor", "type": "address" }, { "internalType": "string", "name": "_fundName", "type": "string" } ], "stateMutability": "nonpayable", "type": "function", "name": "init" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ] }, { "inputs": [], "stateMutability": "pure", "type": "function", "name": "proxiableUUID", "outputs": [ { "internalType": "bytes32", "name": "uuid_", "type": "bytes32" } ] }, { "inputs": [ { "internalType": "address", "name": "_nextAccessor", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "setAccessor" }, { "inputs": [ { "internalType": "address", "name": "_nextVaultLib", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "setVaultLib" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "_recipient", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "_sender", "type": "address" }, { "internalType": "address", "name": "_recipient", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] } ], "devdoc": { "kind": "dev", "methods": { "allowance(address,address)": { "details": "Standard implementation of ERC20's allowance(). Can be overridden." }, "approve(address,uint256)": { "details": "Standard implementation of ERC20's approve(). Can be overridden." }, "balanceOf(address)": { "details": "Standard implementation of ERC20's balanceOf(). Can be overridden." }, "canMigrate(address)": { "params": { "_who": "The account to check" }, "returns": { "canMigrate_": "True if the account is allowed to migrate the VaultProxy" } }, "decimals()": { "details": "Standard implementation of ERC20's decimals(). Can not be overridden." }, "getVaultLib()": { "returns": { "vaultLib_": "The address of the VaultLib target" } }, "init(address,address,string)": { "details": "Serves as a per-proxy pseudo-constructor", "params": { "_accessor": "The address to set as the permissioned accessor of the VaultLib", "_fundName": "The name of the fund", "_owner": "The address to set as the fund owner" } }, "name()": { "details": "Standard implementation of ERC20's name(). Can be overridden." }, "proxiableUUID()": { "details": "The UUID is `bytes32(keccak256('mln.proxiable.vaultlib'))`", "returns": { "uuid_": "The bytes32 hash representing the UUID" } }, "setAccessor(address)": { "params": { "_nextAccessor": "The address to set as the permissioned accessor of the VaultLib" } }, "setVaultLib(address)": { "details": "This function is absolutely critical. __updateCodeAddress() validates that the target is a valid Proxiable contract instance. Does not block _nextVaultLib from being the same as the current VaultLib", "params": { "_nextVaultLib": "The address to set as the VaultLib" } }, "symbol()": { "details": "Standard implementation of ERC20's symbol(). Can be overridden." }, "totalSupply()": { "details": "Standard implementation of ERC20's totalSupply(). Can be overridden." }, "transfer(address,uint256)": { "details": "Standard implementation of ERC20's transfer(). Can be overridden." }, "transferFrom(address,address,uint256)": { "details": "Standard implementation of ERC20's transferFrom(). Can be overridden." } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "canMigrate(address)": { "notice": "Checks whether an account is allowed to migrate the VaultProxy" }, "getVaultLib()": { "notice": "Gets the VaultLib target for the VaultProxy" }, "init(address,address,string)": { "notice": "Initializes the VaultProxy with core configuration" }, "proxiableUUID()": { "notice": "Returns a unique bytes32 hash for VaultLib instances" }, "setAccessor(address)": { "notice": "Sets the permissioned accessor of the VaultLib" }, "setVaultLib(address)": { "notice": "Sets the VaultLib target for the VaultProxy" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/persistent/vault/VaultLibBase2.sol": "VaultLibBase2" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/vault/VaultLibBase1.sol": { "keccak256": "0xa4dac1e4cdb311a2ab187135355357d8790c505ef36dd912c057fe53743d30b5", "urls": [ "bzz-raw://b66efe821016ab927c949263023260515e90f5d480dc8d94eefbfeec7bf7490b", "dweb:/ipfs/QmNY3xKnhL9EptAbxGvXHGAXfV9pj3dDPwsZnKrPs54ZHw" ], "license": "GPL-3.0" }, "contracts/persistent/vault/VaultLibBase2.sol": { "keccak256": "0xf7d31f2a9a47770ed3f444be2c4fe9262ddb55fef7f25e546b1f03c9afec4c09", "urls": [ "bzz-raw://9353ddce7c9b8b3c13fed23fe8edec99ca610d791b0c5b204b3d01f1f08d07d2", "dweb:/ipfs/QmeVsEh3joCjv49BRXeHASevnZZ5xdZXpkctHT8BPf37N2" ], "license": "GPL-3.0" }, "contracts/persistent/vault/VaultLibBaseCore.sol": { "keccak256": "0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074", "urls": [ "bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd", "dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IMigratableVault.sol": { "keccak256": "0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238", "urls": [ "bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6", "dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs" ], "license": "GPL-3.0" }, "contracts/persistent/vault/utils/ProxiableVaultLib.sol": { "keccak256": "0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76", "urls": [ "bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44", "dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4" ], "license": "GPL-3.0" }, "contracts/persistent/vault/utils/SharesTokenBase.sol": { "keccak256": "0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113", "urls": [ "bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8", "dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4" ], "license": "GPL-3.0" }, "contracts/persistent/vault/utils/VaultLibSafeMath.sol": { "keccak256": "0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d", "urls": [ "bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02", "dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 67 } diff --git a/eth_defi/abi/enzyme/VaultLibBaseCore.json b/eth_defi/abi/enzyme/VaultLibBaseCore.json index 4bf57505..21650855 100644 --- a/eth_defi/abi/enzyme/VaultLibBaseCore.json +++ b/eth_defi/abi/enzyme/VaultLibBaseCore.json @@ -1,994 +1 @@ -{ - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "prevAccessor", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "nextAccessor", - "type": "address" - } - ], - "name": "AccessorSet", - "type": "event" - }, - { - "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": false, - "internalType": "address", - "name": "prevMigrator", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "nextMigrator", - "type": "address" - } - ], - "name": "MigratorSet", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "prevOwner", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "nextOwner", - "type": "address" - } - ], - "name": "OwnerSet", - "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" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": false, - "internalType": "address", - "name": "prevVaultLib", - "type": "address" - }, - { - "indexed": false, - "internalType": "address", - "name": "nextVaultLib", - "type": "address" - } - ], - "name": "VaultLibSet", - "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": [ - { - "internalType": "address", - "name": "_who", - "type": "address" - } - ], - "name": "canMigrate", - "outputs": [ - { - "internalType": "bool", - "name": "canMigrate_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [], - "name": "getVaultLib", - "outputs": [ - { - "internalType": "address", - "name": "vaultLib_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - }, - { - "internalType": "address", - "name": "_accessor", - "type": "address" - }, - { - "internalType": "string", - "name": "_fundName", - "type": "string" - } - ], - "name": "init", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "proxiableUUID", - "outputs": [ - { - "internalType": "bytes32", - "name": "uuid_", - "type": "bytes32" - } - ], - "stateMutability": "pure", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_nextAccessor", - "type": "address" - } - ], - "name": "setAccessor", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_nextVaultLib", - "type": "address" - } - ], - "name": "setVaultLib", - "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": "_recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_sender", - "type": "address" - }, - { - "internalType": "address", - "name": "_recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "allowance(address,address)": "dd62ed3e", - "approve(address,uint256)": "095ea7b3", - "balanceOf(address)": "70a08231", - "canMigrate(address)": "7de07cea", - "decimals()": "313ce567", - "getVaultLib()": "682cea19", - "init(address,address,string)": "5c9a6d37", - "name()": "06fdde03", - "proxiableUUID()": "52d1902d", - "setAccessor(address)": "ab9253ac", - "setVaultLib(address)": "4140d607", - "symbol()": "95d89b41", - "totalSupply()": "18160ddd", - "transfer(address,uint256)": "a9059cbb", - "transferFrom(address,address,uint256)": "23b872dd" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"prevAccessor\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"nextAccessor\",\"type\":\"address\"}],\"name\":\"AccessorSet\",\"type\":\"event\"},{\"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\":false,\"internalType\":\"address\",\"name\":\"prevMigrator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"nextMigrator\",\"type\":\"address\"}],\"name\":\"MigratorSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"prevOwner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"nextOwner\",\"type\":\"address\"}],\"name\":\"OwnerSet\",\"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\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"prevVaultLib\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"nextVaultLib\",\"type\":\"address\"}],\"name\":\"VaultLibSet\",\"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\":[{\"internalType\":\"address\",\"name\":\"_who\",\"type\":\"address\"}],\"name\":\"canMigrate\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"canMigrate_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getVaultLib\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"vaultLib_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_accessor\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_fundName\",\"type\":\"string\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"uuid_\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nextAccessor\",\"type\":\"address\"}],\"name\":\"setAccessor\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nextVaultLib\",\"type\":\"address\"}],\"name\":\"setVaultLib\",\"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\":\"_recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"DO NOT EDIT CONTRACT. If new events or storage are necessary, they should be added to a numbered VaultLibBaseXXX that inherits the previous base. See VaultLibBase1.\",\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"Standard implementation of ERC20's allowance(). Can be overridden.\"},\"approve(address,uint256)\":{\"details\":\"Standard implementation of ERC20's approve(). Can be overridden.\"},\"balanceOf(address)\":{\"details\":\"Standard implementation of ERC20's balanceOf(). Can be overridden.\"},\"canMigrate(address)\":{\"params\":{\"_who\":\"The account to check\"},\"returns\":{\"canMigrate_\":\"True if the account is allowed to migrate the VaultProxy\"}},\"decimals()\":{\"details\":\"Standard implementation of ERC20's decimals(). Can not be overridden.\"},\"getVaultLib()\":{\"returns\":{\"vaultLib_\":\"The address of the VaultLib target\"}},\"init(address,address,string)\":{\"details\":\"Serves as a per-proxy pseudo-constructor\",\"params\":{\"_accessor\":\"The address to set as the permissioned accessor of the VaultLib\",\"_fundName\":\"The name of the fund\",\"_owner\":\"The address to set as the fund owner\"}},\"name()\":{\"details\":\"Standard implementation of ERC20's name(). Can be overridden.\"},\"proxiableUUID()\":{\"details\":\"The UUID is `bytes32(keccak256('mln.proxiable.vaultlib'))`\",\"returns\":{\"uuid_\":\"The bytes32 hash representing the UUID\"}},\"setAccessor(address)\":{\"params\":{\"_nextAccessor\":\"The address to set as the permissioned accessor of the VaultLib\"}},\"setVaultLib(address)\":{\"details\":\"This function is absolutely critical. __updateCodeAddress() validates that the target is a valid Proxiable contract instance. Does not block _nextVaultLib from being the same as the current VaultLib\",\"params\":{\"_nextVaultLib\":\"The address to set as the VaultLib\"}},\"symbol()\":{\"details\":\"Standard implementation of ERC20's symbol(). Can be overridden.\"},\"totalSupply()\":{\"details\":\"Standard implementation of ERC20's totalSupply(). Can be overridden.\"},\"transfer(address,uint256)\":{\"details\":\"Standard implementation of ERC20's transfer(). Can be overridden.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Standard implementation of ERC20's transferFrom(). Can be overridden.\"}},\"title\":\"VaultLibBaseCore Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"canMigrate(address)\":{\"notice\":\"Checks whether an account is allowed to migrate the VaultProxy\"},\"getVaultLib()\":{\"notice\":\"Gets the VaultLib target for the VaultProxy\"},\"init(address,address,string)\":{\"notice\":\"Initializes the VaultProxy with core configuration\"},\"proxiableUUID()\":{\"notice\":\"Returns a unique bytes32 hash for VaultLib instances\"},\"setAccessor(address)\":{\"notice\":\"Sets the permissioned accessor of the VaultLib\"},\"setVaultLib(address)\":{\"notice\":\"Sets the VaultLib target for the VaultProxy\"}},\"notice\":\"A persistent contract containing all required storage variables and required functions for a VaultLib implementation\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/vault/VaultLibBaseCore.sol\":\"VaultLibBaseCore\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/vault/VaultLibBaseCore.sol\":{\"keccak256\":\"0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd\",\"dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz\"]},\"contracts/persistent/vault/interfaces/IMigratableVault.sol\":{\"keccak256\":\"0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6\",\"dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs\"]},\"contracts/persistent/vault/utils/ProxiableVaultLib.sol\":{\"keccak256\":\"0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44\",\"dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4\"]},\"contracts/persistent/vault/utils/SharesTokenBase.sol\":{\"keccak256\":\"0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8\",\"dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4\"]},\"contracts/persistent/vault/utils/VaultLibSafeMath.sol\":{\"keccak256\":\"0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02\",\"dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "prevAccessor", - "type": "address", - "indexed": false - }, - { - "internalType": "address", - "name": "nextAccessor", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "AccessorSet", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "spender", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "Approval", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "prevMigrator", - "type": "address", - "indexed": false - }, - { - "internalType": "address", - "name": "nextMigrator", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "MigratorSet", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "prevOwner", - "type": "address", - "indexed": false - }, - { - "internalType": "address", - "name": "nextOwner", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "OwnerSet", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "to", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "Transfer", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "prevVaultLib", - "type": "address", - "indexed": false - }, - { - "internalType": "address", - "name": "nextVaultLib", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "VaultLibSet", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - }, - { - "internalType": "address", - "name": "_spender", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "allowance", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_spender", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "approve", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_account", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_who", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "canMigrate", - "outputs": [ - { - "internalType": "bool", - "name": "canMigrate_", - "type": "bool" - } - ] - }, - { - "inputs": [], - "stateMutability": "pure", - "type": "function", - "name": "decimals", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getVaultLib", - "outputs": [ - { - "internalType": "address", - "name": "vaultLib_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_owner", - "type": "address" - }, - { - "internalType": "address", - "name": "_accessor", - "type": "address" - }, - { - "internalType": "string", - "name": "_fundName", - "type": "string" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "init" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "name", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ] - }, - { - "inputs": [], - "stateMutability": "pure", - "type": "function", - "name": "proxiableUUID", - "outputs": [ - { - "internalType": "bytes32", - "name": "uuid_", - "type": "bytes32" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_nextAccessor", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setAccessor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_nextVaultLib", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setVaultLib" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "symbol", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "totalSupply", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "transfer", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_sender", - "type": "address" - }, - { - "internalType": "address", - "name": "_recipient", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_amount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "transferFrom", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "allowance(address,address)": { - "details": "Standard implementation of ERC20's allowance(). Can be overridden." - }, - "approve(address,uint256)": { - "details": "Standard implementation of ERC20's approve(). Can be overridden." - }, - "balanceOf(address)": { - "details": "Standard implementation of ERC20's balanceOf(). Can be overridden." - }, - "canMigrate(address)": { - "params": { - "_who": "The account to check" - }, - "returns": { - "canMigrate_": "True if the account is allowed to migrate the VaultProxy" - } - }, - "decimals()": { - "details": "Standard implementation of ERC20's decimals(). Can not be overridden." - }, - "getVaultLib()": { - "returns": { - "vaultLib_": "The address of the VaultLib target" - } - }, - "init(address,address,string)": { - "details": "Serves as a per-proxy pseudo-constructor", - "params": { - "_accessor": "The address to set as the permissioned accessor of the VaultLib", - "_fundName": "The name of the fund", - "_owner": "The address to set as the fund owner" - } - }, - "name()": { - "details": "Standard implementation of ERC20's name(). Can be overridden." - }, - "proxiableUUID()": { - "details": "The UUID is `bytes32(keccak256('mln.proxiable.vaultlib'))`", - "returns": { - "uuid_": "The bytes32 hash representing the UUID" - } - }, - "setAccessor(address)": { - "params": { - "_nextAccessor": "The address to set as the permissioned accessor of the VaultLib" - } - }, - "setVaultLib(address)": { - "details": "This function is absolutely critical. __updateCodeAddress() validates that the target is a valid Proxiable contract instance. Does not block _nextVaultLib from being the same as the current VaultLib", - "params": { - "_nextVaultLib": "The address to set as the VaultLib" - } - }, - "symbol()": { - "details": "Standard implementation of ERC20's symbol(). Can be overridden." - }, - "totalSupply()": { - "details": "Standard implementation of ERC20's totalSupply(). Can be overridden." - }, - "transfer(address,uint256)": { - "details": "Standard implementation of ERC20's transfer(). Can be overridden." - }, - "transferFrom(address,address,uint256)": { - "details": "Standard implementation of ERC20's transferFrom(). Can be overridden." - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "canMigrate(address)": { - "notice": "Checks whether an account is allowed to migrate the VaultProxy" - }, - "getVaultLib()": { - "notice": "Gets the VaultLib target for the VaultProxy" - }, - "init(address,address,string)": { - "notice": "Initializes the VaultProxy with core configuration" - }, - "proxiableUUID()": { - "notice": "Returns a unique bytes32 hash for VaultLib instances" - }, - "setAccessor(address)": { - "notice": "Sets the permissioned accessor of the VaultLib" - }, - "setVaultLib(address)": { - "notice": "Sets the VaultLib target for the VaultProxy" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/persistent/vault/VaultLibBaseCore.sol": "VaultLibBaseCore" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/vault/VaultLibBaseCore.sol": { - "keccak256": "0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074", - "urls": [ - "bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd", - "dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/interfaces/IMigratableVault.sol": { - "keccak256": "0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238", - "urls": [ - "bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6", - "dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/utils/ProxiableVaultLib.sol": { - "keccak256": "0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76", - "urls": [ - "bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44", - "dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/utils/SharesTokenBase.sol": { - "keccak256": "0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113", - "urls": [ - "bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8", - "dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/utils/VaultLibSafeMath.sol": { - "keccak256": "0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d", - "urls": [ - "bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02", - "dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 68 -} +{ "abi": [ { "type": "function", "name": "allowance", "inputs": [ { "name": "_owner", "type": "address", "internalType": "address" }, { "name": "_spender", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "approve", "inputs": [ { "name": "_spender", "type": "address", "internalType": "address" }, { "name": "_amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "balanceOf", "inputs": [ { "name": "_account", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "canMigrate", "inputs": [ { "name": "_who", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "canMigrate_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "decimals", "inputs": [], "outputs": [ { "name": "", "type": "uint8", "internalType": "uint8" } ], "stateMutability": "pure" }, { "type": "function", "name": "getVaultLib", "inputs": [], "outputs": [ { "name": "vaultLib_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "init", "inputs": [ { "name": "_owner", "type": "address", "internalType": "address" }, { "name": "_accessor", "type": "address", "internalType": "address" }, { "name": "_fundName", "type": "string", "internalType": "string" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "name", "inputs": [], "outputs": [ { "name": "", "type": "string", "internalType": "string" } ], "stateMutability": "view" }, { "type": "function", "name": "proxiableUUID", "inputs": [], "outputs": [ { "name": "uuid_", "type": "bytes32", "internalType": "bytes32" } ], "stateMutability": "pure" }, { "type": "function", "name": "setAccessor", "inputs": [ { "name": "_nextAccessor", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setVaultLib", "inputs": [ { "name": "_nextVaultLib", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "symbol", "inputs": [], "outputs": [ { "name": "", "type": "string", "internalType": "string" } ], "stateMutability": "view" }, { "type": "function", "name": "totalSupply", "inputs": [], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "view" }, { "type": "function", "name": "transfer", "inputs": [ { "name": "_recipient", "type": "address", "internalType": "address" }, { "name": "_amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "transferFrom", "inputs": [ { "name": "_sender", "type": "address", "internalType": "address" }, { "name": "_recipient", "type": "address", "internalType": "address" }, { "name": "_amount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "event", "name": "AccessorSet", "inputs": [ { "name": "prevAccessor", "type": "address", "indexed": false, "internalType": "address" }, { "name": "nextAccessor", "type": "address", "indexed": false, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "Approval", "inputs": [ { "name": "owner", "type": "address", "indexed": true, "internalType": "address" }, { "name": "spender", "type": "address", "indexed": true, "internalType": "address" }, { "name": "value", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "MigratorSet", "inputs": [ { "name": "prevMigrator", "type": "address", "indexed": false, "internalType": "address" }, { "name": "nextMigrator", "type": "address", "indexed": false, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "OwnerSet", "inputs": [ { "name": "prevOwner", "type": "address", "indexed": false, "internalType": "address" }, { "name": "nextOwner", "type": "address", "indexed": false, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "Transfer", "inputs": [ { "name": "from", "type": "address", "indexed": true, "internalType": "address" }, { "name": "to", "type": "address", "indexed": true, "internalType": "address" }, { "name": "value", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "VaultLibSet", "inputs": [ { "name": "prevVaultLib", "type": "address", "indexed": false, "internalType": "address" }, { "name": "nextVaultLib", "type": "address", "indexed": false, "internalType": "address" } ], "anonymous": false } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "allowance(address,address)": "dd62ed3e", "approve(address,uint256)": "095ea7b3", "balanceOf(address)": "70a08231", "canMigrate(address)": "7de07cea", "decimals()": "313ce567", "getVaultLib()": "682cea19", "init(address,address,string)": "5c9a6d37", "name()": "06fdde03", "proxiableUUID()": "52d1902d", "setAccessor(address)": "ab9253ac", "setVaultLib(address)": "4140d607", "symbol()": "95d89b41", "totalSupply()": "18160ddd", "transfer(address,uint256)": "a9059cbb", "transferFrom(address,address,uint256)": "23b872dd" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"prevAccessor\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"nextAccessor\",\"type\":\"address\"}],\"name\":\"AccessorSet\",\"type\":\"event\"},{\"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\":false,\"internalType\":\"address\",\"name\":\"prevMigrator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"nextMigrator\",\"type\":\"address\"}],\"name\":\"MigratorSet\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"prevOwner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"nextOwner\",\"type\":\"address\"}],\"name\":\"OwnerSet\",\"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\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"prevVaultLib\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"nextVaultLib\",\"type\":\"address\"}],\"name\":\"VaultLibSet\",\"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\":[{\"internalType\":\"address\",\"name\":\"_who\",\"type\":\"address\"}],\"name\":\"canMigrate\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"canMigrate_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getVaultLib\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"vaultLib_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_accessor\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"_fundName\",\"type\":\"string\"}],\"name\":\"init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"uuid_\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nextAccessor\",\"type\":\"address\"}],\"name\":\"setAccessor\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_nextVaultLib\",\"type\":\"address\"}],\"name\":\"setVaultLib\",\"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\":\"_recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_amount\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"DO NOT EDIT CONTRACT. If new events or storage are necessary, they should be added to a numbered VaultLibBaseXXX that inherits the previous base. See VaultLibBase1.\",\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"Standard implementation of ERC20's allowance(). Can be overridden.\"},\"approve(address,uint256)\":{\"details\":\"Standard implementation of ERC20's approve(). Can be overridden.\"},\"balanceOf(address)\":{\"details\":\"Standard implementation of ERC20's balanceOf(). Can be overridden.\"},\"canMigrate(address)\":{\"params\":{\"_who\":\"The account to check\"},\"returns\":{\"canMigrate_\":\"True if the account is allowed to migrate the VaultProxy\"}},\"decimals()\":{\"details\":\"Standard implementation of ERC20's decimals(). Can not be overridden.\"},\"getVaultLib()\":{\"returns\":{\"vaultLib_\":\"The address of the VaultLib target\"}},\"init(address,address,string)\":{\"details\":\"Serves as a per-proxy pseudo-constructor\",\"params\":{\"_accessor\":\"The address to set as the permissioned accessor of the VaultLib\",\"_fundName\":\"The name of the fund\",\"_owner\":\"The address to set as the fund owner\"}},\"name()\":{\"details\":\"Standard implementation of ERC20's name(). Can be overridden.\"},\"proxiableUUID()\":{\"details\":\"The UUID is `bytes32(keccak256('mln.proxiable.vaultlib'))`\",\"returns\":{\"uuid_\":\"The bytes32 hash representing the UUID\"}},\"setAccessor(address)\":{\"params\":{\"_nextAccessor\":\"The address to set as the permissioned accessor of the VaultLib\"}},\"setVaultLib(address)\":{\"details\":\"This function is absolutely critical. __updateCodeAddress() validates that the target is a valid Proxiable contract instance. Does not block _nextVaultLib from being the same as the current VaultLib\",\"params\":{\"_nextVaultLib\":\"The address to set as the VaultLib\"}},\"symbol()\":{\"details\":\"Standard implementation of ERC20's symbol(). Can be overridden.\"},\"totalSupply()\":{\"details\":\"Standard implementation of ERC20's totalSupply(). Can be overridden.\"},\"transfer(address,uint256)\":{\"details\":\"Standard implementation of ERC20's transfer(). Can be overridden.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Standard implementation of ERC20's transferFrom(). Can be overridden.\"}},\"title\":\"VaultLibBaseCore Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"canMigrate(address)\":{\"notice\":\"Checks whether an account is allowed to migrate the VaultProxy\"},\"getVaultLib()\":{\"notice\":\"Gets the VaultLib target for the VaultProxy\"},\"init(address,address,string)\":{\"notice\":\"Initializes the VaultProxy with core configuration\"},\"proxiableUUID()\":{\"notice\":\"Returns a unique bytes32 hash for VaultLib instances\"},\"setAccessor(address)\":{\"notice\":\"Sets the permissioned accessor of the VaultLib\"},\"setVaultLib(address)\":{\"notice\":\"Sets the VaultLib target for the VaultProxy\"}},\"notice\":\"A persistent contract containing all required storage variables and required functions for a VaultLib implementation\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/vault/VaultLibBaseCore.sol\":\"VaultLibBaseCore\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/vault/VaultLibBaseCore.sol\":{\"keccak256\":\"0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd\",\"dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz\"]},\"contracts/persistent/vault/interfaces/IMigratableVault.sol\":{\"keccak256\":\"0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6\",\"dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs\"]},\"contracts/persistent/vault/utils/ProxiableVaultLib.sol\":{\"keccak256\":\"0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44\",\"dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4\"]},\"contracts/persistent/vault/utils/SharesTokenBase.sol\":{\"keccak256\":\"0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8\",\"dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4\"]},\"contracts/persistent/vault/utils/VaultLibSafeMath.sol\":{\"keccak256\":\"0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02\",\"dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "prevAccessor", "type": "address", "indexed": false }, { "internalType": "address", "name": "nextAccessor", "type": "address", "indexed": false } ], "type": "event", "name": "AccessorSet", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address", "indexed": true }, { "internalType": "address", "name": "spender", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "value", "type": "uint256", "indexed": false } ], "type": "event", "name": "Approval", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "prevMigrator", "type": "address", "indexed": false }, { "internalType": "address", "name": "nextMigrator", "type": "address", "indexed": false } ], "type": "event", "name": "MigratorSet", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "prevOwner", "type": "address", "indexed": false }, { "internalType": "address", "name": "nextOwner", "type": "address", "indexed": false } ], "type": "event", "name": "OwnerSet", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address", "indexed": true }, { "internalType": "address", "name": "to", "type": "address", "indexed": true }, { "internalType": "uint256", "name": "value", "type": "uint256", "indexed": false } ], "type": "event", "name": "Transfer", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "prevVaultLib", "type": "address", "indexed": false }, { "internalType": "address", "name": "nextVaultLib", "type": "address", "indexed": false } ], "type": "event", "name": "VaultLibSet", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "_owner", "type": "address" }, { "internalType": "address", "name": "_spender", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "_spender", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "_account", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "_who", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "canMigrate", "outputs": [ { "internalType": "bool", "name": "canMigrate_", "type": "bool" } ] }, { "inputs": [], "stateMutability": "pure", "type": "function", "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getVaultLib", "outputs": [ { "internalType": "address", "name": "vaultLib_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_owner", "type": "address" }, { "internalType": "address", "name": "_accessor", "type": "address" }, { "internalType": "string", "name": "_fundName", "type": "string" } ], "stateMutability": "nonpayable", "type": "function", "name": "init" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ] }, { "inputs": [], "stateMutability": "pure", "type": "function", "name": "proxiableUUID", "outputs": [ { "internalType": "bytes32", "name": "uuid_", "type": "bytes32" } ] }, { "inputs": [ { "internalType": "address", "name": "_nextAccessor", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "setAccessor" }, { "inputs": [ { "internalType": "address", "name": "_nextVaultLib", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "setVaultLib" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "_recipient", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "_sender", "type": "address" }, { "internalType": "address", "name": "_recipient", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] } ], "devdoc": { "kind": "dev", "methods": { "allowance(address,address)": { "details": "Standard implementation of ERC20's allowance(). Can be overridden." }, "approve(address,uint256)": { "details": "Standard implementation of ERC20's approve(). Can be overridden." }, "balanceOf(address)": { "details": "Standard implementation of ERC20's balanceOf(). Can be overridden." }, "canMigrate(address)": { "params": { "_who": "The account to check" }, "returns": { "canMigrate_": "True if the account is allowed to migrate the VaultProxy" } }, "decimals()": { "details": "Standard implementation of ERC20's decimals(). Can not be overridden." }, "getVaultLib()": { "returns": { "vaultLib_": "The address of the VaultLib target" } }, "init(address,address,string)": { "details": "Serves as a per-proxy pseudo-constructor", "params": { "_accessor": "The address to set as the permissioned accessor of the VaultLib", "_fundName": "The name of the fund", "_owner": "The address to set as the fund owner" } }, "name()": { "details": "Standard implementation of ERC20's name(). Can be overridden." }, "proxiableUUID()": { "details": "The UUID is `bytes32(keccak256('mln.proxiable.vaultlib'))`", "returns": { "uuid_": "The bytes32 hash representing the UUID" } }, "setAccessor(address)": { "params": { "_nextAccessor": "The address to set as the permissioned accessor of the VaultLib" } }, "setVaultLib(address)": { "details": "This function is absolutely critical. __updateCodeAddress() validates that the target is a valid Proxiable contract instance. Does not block _nextVaultLib from being the same as the current VaultLib", "params": { "_nextVaultLib": "The address to set as the VaultLib" } }, "symbol()": { "details": "Standard implementation of ERC20's symbol(). Can be overridden." }, "totalSupply()": { "details": "Standard implementation of ERC20's totalSupply(). Can be overridden." }, "transfer(address,uint256)": { "details": "Standard implementation of ERC20's transfer(). Can be overridden." }, "transferFrom(address,address,uint256)": { "details": "Standard implementation of ERC20's transferFrom(). Can be overridden." } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "canMigrate(address)": { "notice": "Checks whether an account is allowed to migrate the VaultProxy" }, "getVaultLib()": { "notice": "Gets the VaultLib target for the VaultProxy" }, "init(address,address,string)": { "notice": "Initializes the VaultProxy with core configuration" }, "proxiableUUID()": { "notice": "Returns a unique bytes32 hash for VaultLib instances" }, "setAccessor(address)": { "notice": "Sets the permissioned accessor of the VaultLib" }, "setVaultLib(address)": { "notice": "Sets the VaultLib target for the VaultProxy" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/persistent/vault/VaultLibBaseCore.sol": "VaultLibBaseCore" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/vault/VaultLibBaseCore.sol": { "keccak256": "0xc518a9735a8145f064817fa21c1cc57eba7d3396a06320b7abde187b87613074", "urls": [ "bzz-raw://06f8b29550ba2583ac566b5f92bf206a8c47c492030db1580f5bd64cbd5db3dd", "dweb:/ipfs/QmVd4yVBazyDd6CdgTCgrBg9t9ekoJFT2VskTFLGY2Amdz" ], "license": "GPL-3.0" }, "contracts/persistent/vault/interfaces/IMigratableVault.sol": { "keccak256": "0x8e1355a7efa8ec2172f5c9b532071def392b86ab1e5534d2fc73417a6e9f7238", "urls": [ "bzz-raw://acaff907d8327cbd3060a3ac09f230c7bd78253d0f3f8186f8a5e7a9932b19f6", "dweb:/ipfs/QmPGbecKjcFMCg8rVW4M55JENKNH2KqdqATy5bgvnkMGqs" ], "license": "GPL-3.0" }, "contracts/persistent/vault/utils/ProxiableVaultLib.sol": { "keccak256": "0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76", "urls": [ "bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44", "dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4" ], "license": "GPL-3.0" }, "contracts/persistent/vault/utils/SharesTokenBase.sol": { "keccak256": "0x9b2a431aea5f0b908cc8c169c89ed420b52fb5f63cca40e97a9223209c0b1113", "urls": [ "bzz-raw://991ac66f7f44313d113916b76b9843d0b9e705329851b0858061a8a051fbe8e8", "dweb:/ipfs/QmPpE2mNajVqWcNg2gCVwoRCfpM2CPAyAF9Vvk57j2ihc4" ], "license": "GPL-3.0" }, "contracts/persistent/vault/utils/VaultLibSafeMath.sol": { "keccak256": "0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d", "urls": [ "bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02", "dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 68 } diff --git a/eth_defi/abi/enzyme/VaultLibSafeMath.json b/eth_defi/abi/enzyme/VaultLibSafeMath.json index ac770f8b..e2f3ad0e 100644 --- a/eth_defi/abi/enzyme/VaultLibSafeMath.json +++ b/eth_defi/abi/enzyme/VaultLibSafeMath.json @@ -1,78 +1 @@ -{ - "abi": [], - "bytecode": { - "object": "0x602d6023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c634300060c000a", - "sourceMap": "578:1550:76:-:0;;;;;;;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c634300060c000a", - "sourceMap": "578:1550:76:-:0;;;;;;;;", - "linkReferences": {} - }, - "methodIdentifiers": {}, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Preferred to importing from npm to guarantee consistent logic and revert reasons between VaultLib implementations DO NOT EDIT THIS CONTRACT\",\"kind\":\"dev\",\"methods\":{},\"title\":\"VaultLibSafeMath library\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"A narrowed, verbatim implementation of OpenZeppelin 3.2.0 SafeMath for use with VaultLib\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/vault/utils/VaultLibSafeMath.sol\":\"VaultLibSafeMath\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/vault/utils/VaultLibSafeMath.sol\":{\"keccak256\":\"0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02\",\"dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/persistent/vault/utils/VaultLibSafeMath.sol": "VaultLibSafeMath" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/vault/utils/VaultLibSafeMath.sol": { - "keccak256": "0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d", - "urls": [ - "bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02", - "dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 76 -} +{ "abi": [], "bytecode": { "object": "0x602d6023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c634300060c000a", "sourceMap": "578:1550:76:-:0;;;;;;;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c634300060c000a", "sourceMap": "578:1550:76:-:0;;;;;;;;", "linkReferences": {} }, "methodIdentifiers": {}, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Preferred to importing from npm to guarantee consistent logic and revert reasons between VaultLib implementations DO NOT EDIT THIS CONTRACT\",\"kind\":\"dev\",\"methods\":{},\"title\":\"VaultLibSafeMath library\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"A narrowed, verbatim implementation of OpenZeppelin 3.2.0 SafeMath for use with VaultLib\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/vault/utils/VaultLibSafeMath.sol\":\"VaultLibSafeMath\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/vault/utils/VaultLibSafeMath.sol\":{\"keccak256\":\"0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02\",\"dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/persistent/vault/utils/VaultLibSafeMath.sol": "VaultLibSafeMath" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/vault/utils/VaultLibSafeMath.sol": { "keccak256": "0xc056fcbf5f498fea6a12ae7f470bb4246297355c3117b1bd01d0edf207da947d", "urls": [ "bzz-raw://432bde139ff1834c0f762231f5bc73ad268ea8048b099b5315c187e289d87b02", "dweb:/ipfs/QmRBW8EcrigYQHacihj4JFgh5y8apv8xwZJMvfHEdtSVsG" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 76 } diff --git a/eth_defi/abi/enzyme/VaultProxy.json b/eth_defi/abi/enzyme/VaultProxy.json index 0da8dc9d..081192a3 100644 --- a/eth_defi/abi/enzyme/VaultProxy.json +++ b/eth_defi/abi/enzyme/VaultProxy.json @@ -1,129 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "bytes", - "name": "_constructData", - "type": "bytes" - }, - { - "internalType": "address", - "name": "_vaultLib", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "stateMutability": "payable", - "type": "fallback" - } - ], - "bytecode": { - "object": "0x608060405234801561001057600080fd5b506040516103983803806103988339818101604052604081101561003357600080fd5b810190808051604051939291908464010000000082111561005357600080fd5b90830190602082018581111561006857600080fd5b825164010000000081118282018810171561008257600080fd5b82525081516020918201929091019080838360005b838110156100af578181015183820152602001610097565b50505050905090810190601f1680156100dc5780820380516001836020036101000a031916815260200191505b5060408181526020928301516352d1902d60e01b835290519094506001600160a01b03851693506352d1902d92600480840193919291829003018186803b15801561012657600080fd5b505afa15801561013a573d6000803e3d6000fd5b505050506040513d602081101561015057600080fd5b50517f027b9570e9fedc1a80b937ae9a06861e5faef3992491af30b684a64b3fbec7a5146101af5760405162461bcd60e51b81526004018080602001828103825260258152602001806103736025913960400191505060405180910390fd5b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5560006060826001600160a01b0316846040518082805190602001908083835b602083106102105780518252601f1990920191602091820191016101f1565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610270576040519150601f19603f3d011682016040523d82523d6000602084013e610275565b606091505b50915091508181906103055760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156102ca5781810151838201526020016102b2565b50505050905090810190601f1680156102f75780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5050505050605b806103186000396000f3fe60806040527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc543660008037600080366000846127105a03f43d806000803e818015604957816000f35b816000fdfea164736f6c634300060c000a636f6e7374727563746f723a205f7661756c744c6962206e6f7420636f6d70617469626c65", - "sourceMap": "880:1561:69:-:0;;;906:783;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;906:783:69;;;;;;;;;;-1:-1:-1;906:783:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;906:783:69;;;;;;;;;-1:-1:-1;;;1252:44:69;;;;906:783;;-1:-1:-1;;;;;;1252:42:69;;;-1:-1:-1;;;1252:44:69;;;;;906:783;;1252:44;;;;;;:42;:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1252:44:69;1165:66;1157:139;1136:223;;;;-1:-1:-1;;;1136:223:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1503:9;1435:66;1428:85;1534:12;1548:23;1575:9;-1:-1:-1;;;;;1575:22:69;1598:14;1575:38;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1575:38:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1533:80;;;;1654:7;1670:10;1646:36;;;;;-1:-1:-1;;;1646:36:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1646:36:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;906:783;;;;880:1561;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x60806040527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc543660008037600080366000846127105a03f43d806000803e818015604957816000f35b816000fdfea164736f6c634300060c000a", - "sourceMap": "880:1561:69:-:0;;;1835:66;1812:103;1951:14;1946:3;1941;1928:38;2162:1;2143;2111:14;2090:3;2059:13;2035:5;2028;2024:17;1994:183;2203:16;2253:5;2250:1;2247;2232:27;2279:7;2299:55;;;;2403:5;2400:1;2393:16;2299:55;2334:5;2331:1;2324:16", - "linkReferences": {} - }, - "methodIdentifiers": {}, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_constructData\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"_vaultLib\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"stateMutability\":\"payable\",\"type\":\"fallback\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"Adapted from the recommended implementation of a Proxy in EIP-1822, updated for solc 0.6.12, and using the EIP-1967 storage slot for the proxiable implementation. i.e., `bytes32(uint256(keccak256('eip1967.proxy.implementation')) - 1)`, which is \\\"0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc\\\" See: https://eips.ethereum.org/EIPS/eip-1822\",\"kind\":\"dev\",\"methods\":{},\"title\":\"VaultProxy Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"A proxy contract for all VaultProxy instances, slightly modified from EIP-1822\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/vault/VaultProxy.sol\":\"VaultProxy\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/vault/VaultProxy.sol\":{\"keccak256\":\"0x08ff12cb7955ab80cf35f98a5abae23a92f655916669986d1580cb394f6b6bb3\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://320fcccd67d3390d6762bdef41f7d5e679e61b3244b1d945fc33402ea684bc3a\",\"dweb:/ipfs/Qmaaxqgm4EzF1r4n52pkjs7bA5quKhVwrh356rTFXDj86L\"]},\"contracts/persistent/vault/utils/ProxiableVaultLib.sol\":{\"keccak256\":\"0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44\",\"dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "bytes", - "name": "_constructData", - "type": "bytes" - }, - { - "internalType": "address", - "name": "_vaultLib", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "stateMutability": "payable", - "type": "fallback" - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/persistent/vault/VaultProxy.sol": "VaultProxy" - }, - "libraries": {} - }, - "sources": { - "contracts/persistent/vault/VaultProxy.sol": { - "keccak256": "0x08ff12cb7955ab80cf35f98a5abae23a92f655916669986d1580cb394f6b6bb3", - "urls": [ - "bzz-raw://320fcccd67d3390d6762bdef41f7d5e679e61b3244b1d945fc33402ea684bc3a", - "dweb:/ipfs/Qmaaxqgm4EzF1r4n52pkjs7bA5quKhVwrh356rTFXDj86L" - ], - "license": "GPL-3.0" - }, - "contracts/persistent/vault/utils/ProxiableVaultLib.sol": { - "keccak256": "0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76", - "urls": [ - "bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44", - "dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 69 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_constructData", "type": "bytes", "internalType": "bytes" }, { "name": "_vaultLib", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "fallback", "stateMutability": "payable" } ], "bytecode": { "object": "0x608060405234801561001057600080fd5b506040516103983803806103988339818101604052604081101561003357600080fd5b810190808051604051939291908464010000000082111561005357600080fd5b90830190602082018581111561006857600080fd5b825164010000000081118282018810171561008257600080fd5b82525081516020918201929091019080838360005b838110156100af578181015183820152602001610097565b50505050905090810190601f1680156100dc5780820380516001836020036101000a031916815260200191505b5060408181526020928301516352d1902d60e01b835290519094506001600160a01b03851693506352d1902d92600480840193919291829003018186803b15801561012657600080fd5b505afa15801561013a573d6000803e3d6000fd5b505050506040513d602081101561015057600080fd5b50517f027b9570e9fedc1a80b937ae9a06861e5faef3992491af30b684a64b3fbec7a5146101af5760405162461bcd60e51b81526004018080602001828103825260258152602001806103736025913960400191505060405180910390fd5b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5560006060826001600160a01b0316846040518082805190602001908083835b602083106102105780518252601f1990920191602091820191016101f1565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610270576040519150601f19603f3d011682016040523d82523d6000602084013e610275565b606091505b50915091508181906103055760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156102ca5781810151838201526020016102b2565b50505050905090810190601f1680156102f75780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5050505050605b806103186000396000f3fe60806040527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc543660008037600080366000846127105a03f43d806000803e818015604957816000f35b816000fdfea164736f6c634300060c000a636f6e7374727563746f723a205f7661756c744c6962206e6f7420636f6d70617469626c65", "sourceMap": "880:1561:69:-:0;;;906:783;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;906:783:69;;;;;;;;;;-1:-1:-1;906:783:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;906:783:69;;;;;;;;;-1:-1:-1;;;1252:44:69;;;;906:783;;-1:-1:-1;;;;;;1252:42:69;;;-1:-1:-1;;;1252:44:69;;;;;906:783;;1252:44;;;;;;:42;:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1252:44:69;1165:66;1157:139;1136:223;;;;-1:-1:-1;;;1136:223:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1503:9;1435:66;1428:85;1534:12;1548:23;1575:9;-1:-1:-1;;;;;1575:22:69;1598:14;1575:38;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1575:38:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1533:80;;;;1654:7;1670:10;1646:36;;;;;-1:-1:-1;;;1646:36:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1646:36:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;906:783;;;;880:1561;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x60806040527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc543660008037600080366000846127105a03f43d806000803e818015604957816000f35b816000fdfea164736f6c634300060c000a", "sourceMap": "880:1561:69:-:0;;;1835:66;1812:103;1951:14;1946:3;1941;1928:38;2162:1;2143;2111:14;2090:3;2059:13;2035:5;2028;2024:17;1994:183;2203:16;2253:5;2250:1;2247;2232:27;2279:7;2299:55;;;;2403:5;2400:1;2393:16;2299:55;2334:5;2331:1;2324:16", "linkReferences": {} }, "methodIdentifiers": {}, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_constructData\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"_vaultLib\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"stateMutability\":\"payable\",\"type\":\"fallback\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"details\":\"Adapted from the recommended implementation of a Proxy in EIP-1822, updated for solc 0.6.12, and using the EIP-1967 storage slot for the proxiable implementation. i.e., `bytes32(uint256(keccak256('eip1967.proxy.implementation')) - 1)`, which is \\\"0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc\\\" See: https://eips.ethereum.org/EIPS/eip-1822\",\"kind\":\"dev\",\"methods\":{},\"title\":\"VaultProxy Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"A proxy contract for all VaultProxy instances, slightly modified from EIP-1822\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/persistent/vault/VaultProxy.sol\":\"VaultProxy\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/persistent/vault/VaultProxy.sol\":{\"keccak256\":\"0x08ff12cb7955ab80cf35f98a5abae23a92f655916669986d1580cb394f6b6bb3\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://320fcccd67d3390d6762bdef41f7d5e679e61b3244b1d945fc33402ea684bc3a\",\"dweb:/ipfs/Qmaaxqgm4EzF1r4n52pkjs7bA5quKhVwrh356rTFXDj86L\"]},\"contracts/persistent/vault/utils/ProxiableVaultLib.sol\":{\"keccak256\":\"0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44\",\"dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "bytes", "name": "_constructData", "type": "bytes" }, { "internalType": "address", "name": "_vaultLib", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "stateMutability": "payable", "type": "fallback" } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/persistent/vault/VaultProxy.sol": "VaultProxy" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/persistent/vault/VaultProxy.sol": { "keccak256": "0x08ff12cb7955ab80cf35f98a5abae23a92f655916669986d1580cb394f6b6bb3", "urls": [ "bzz-raw://320fcccd67d3390d6762bdef41f7d5e679e61b3244b1d945fc33402ea684bc3a", "dweb:/ipfs/Qmaaxqgm4EzF1r4n52pkjs7bA5quKhVwrh356rTFXDj86L" ], "license": "GPL-3.0" }, "contracts/persistent/vault/utils/ProxiableVaultLib.sol": { "keccak256": "0x47123e1fd95e335b312d378e651a627a674f32df372bcfe36c1128ab91122f76", "urls": [ "bzz-raw://960c57e2e345091d025cc0e1b1070b7fbabe13fe5fc00a55def7f8d5feb55e44", "dweb:/ipfs/QmZT8omiird2WfA9bnffnWpXuQERTCUJqh4wpN5wz1BCD4" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 69 } diff --git a/eth_defi/abi/enzyme/Vm.json b/eth_defi/abi/enzyme/Vm.json index 0ac70f2b..f378f7e5 100644 --- a/eth_defi/abi/enzyme/Vm.json +++ b/eth_defi/abi/enzyme/Vm.json @@ -1,3301 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "accesses", - "outputs": [ - { - "internalType": "bytes32[]", - "name": "reads", - "type": "bytes32[]" - }, - { - "internalType": "bytes32[]", - "name": "writes", - "type": "bytes32[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "activeFork", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "addr", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "name": "assume", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "broadcast", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "broadcast", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "chainId", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "clearMockedCalls", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "name": "closeFile", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "coinbase", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "name": "createFork", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "createFork", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "createSelectFork", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "name": "createSelectFork", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "deal", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - }, - { - "internalType": "uint32", - "name": "", - "type": "uint32" - } - ], - "name": "deriveKey", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - }, - { - "internalType": "string", - "name": "", - "type": "string" - }, - { - "internalType": "uint32", - "name": "", - "type": "uint32" - } - ], - "name": "deriveKey", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "name": "envAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - }, - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "name": "envAddress", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "name": "envBool", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - }, - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "name": "envBool", - "outputs": [ - { - "internalType": "bool[]", - "name": "", - "type": "bool[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "name": "envBytes", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - }, - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "name": "envBytes", - "outputs": [ - { - "internalType": "bytes[]", - "name": "", - "type": "bytes[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - }, - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "name": "envBytes32", - "outputs": [ - { - "internalType": "bytes32[]", - "name": "", - "type": "bytes32[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "name": "envBytes32", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - }, - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "name": "envInt", - "outputs": [ - { - "internalType": "int256[]", - "name": "", - "type": "int256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "name": "envInt", - "outputs": [ - { - "internalType": "int256", - "name": "", - "type": "int256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - }, - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "name": "envString", - "outputs": [ - { - "internalType": "string[]", - "name": "", - "type": "string[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "name": "envString", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "name": "envUint", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - }, - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "name": "envUint", - "outputs": [ - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "etch", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "expectCall", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "expectCall", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - }, - { - "internalType": "bool", - "name": "", - "type": "bool" - }, - { - "internalType": "bool", - "name": "", - "type": "bool" - }, - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "name": "expectEmit", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - }, - { - "internalType": "bool", - "name": "", - "type": "bool" - }, - { - "internalType": "bool", - "name": "", - "type": "bool" - }, - { - "internalType": "bool", - "name": "", - "type": "bool" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "expectEmit", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "name": "expectRevert", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "expectRevert", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "expectRevert", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "fee", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string[]", - "name": "", - "type": "string[]" - } - ], - "name": "ffi", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "name": "getCode", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "getNonce", - "outputs": [ - { - "internalType": "uint64", - "name": "", - "type": "uint64" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getRecordedLogs", - "outputs": [ - { - "components": [ - { - "internalType": "bytes32[]", - "name": "topics", - "type": "bytes32[]" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ], - "internalType": "struct Vm.Log[]", - "name": "", - "type": "tuple[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "isPersistent", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "name": "label", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "name": "load", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - } - ], - "name": "makePersistent", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "makePersistent", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "makePersistent", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "makePersistent", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "mockCall", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "mockCall", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "prank", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "prank", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "name": "readFile", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "name": "readLine", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "record", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "recordLogs", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "name": "removeFile", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "revertTo", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - } - ], - "name": "revokePersistent", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "revokePersistent", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "roll", - "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": "", - "type": "uint256" - } - ], - "name": "rollFork", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "name": "rpcUrl", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "rpcUrls", - "outputs": [ - { - "internalType": "string[2][]", - "name": "", - "type": "string[2][]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "selectFork", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - }, - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "name": "setEnv", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint64", - "name": "", - "type": "uint64" - } - ], - "name": "setNonce", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "name": "sign", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - }, - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "snapshot", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "startBroadcast", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "startBroadcast", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "startPrank", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "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": "", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "name": "store", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "name": "toString", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "toString", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "name": "toString", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "name": "toString", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "int256", - "name": "", - "type": "int256" - } - ], - "name": "toString", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "name": "toString", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "warp", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - }, - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "name": "writeFile", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - }, - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "name": "writeLine", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "accesses(address)": "65bc9481", - "activeFork()": "2f103f22", - "addr(uint256)": "ffa18649", - "assume(bool)": "4c63e562", - "broadcast()": "afc98040", - "broadcast(address)": "e6962cdb", - "chainId(uint256)": "4049ddd2", - "clearMockedCalls()": "3fdf4e15", - "closeFile(string)": "48c3241f", - "coinbase(address)": "ff483c54", - "createFork(string)": "31ba3498", - "createFork(string,uint256)": "6ba3ba2b", - "createSelectFork(string)": "98680034", - "createSelectFork(string,uint256)": "71ee464d", - "deal(address,uint256)": "c88a5e6d", - "deriveKey(string,string,uint32)": "6bcb2c1b", - "deriveKey(string,uint32)": "6229498b", - "envAddress(string)": "350d56bf", - "envAddress(string,string)": "ad31b9fa", - "envBool(string)": "7ed1ec7d", - "envBool(string,string)": "aaaddeaf", - "envBytes(string)": "4d7baf06", - "envBytes(string,string)": "ddc2651b", - "envBytes32(string)": "97949042", - "envBytes32(string,string)": "5af231c1", - "envInt(string)": "892a0c61", - "envInt(string,string)": "42181150", - "envString(string)": "f877cb19", - "envString(string,string)": "14b02bc9", - "envUint(string)": "c1978d1f", - "envUint(string,string)": "f3dec099", - "etch(address,bytes)": "b4d6c782", - "expectCall(address,bytes)": "bd6af434", - "expectCall(address,uint256,bytes)": "f30c7ba3", - "expectEmit(bool,bool,bool,bool)": "491cc7c2", - "expectEmit(bool,bool,bool,bool,address)": "81bad6f3", - "expectRevert()": "f4844814", - "expectRevert(bytes)": "f28dceb3", - "expectRevert(bytes4)": "c31eb0e0", - "fee(uint256)": "39b37ab0", - "ffi(string[])": "89160467", - "getCode(string)": "8d1cc925", - "getNonce(address)": "2d0335ab", - "getRecordedLogs()": "191553a4", - "isPersistent(address)": "d92d8efd", - "label(address,string)": "c657c718", - "load(address,bytes32)": "667f9d70", - "makePersistent(address)": "57e22dde", - "makePersistent(address,address)": "4074e0a8", - "makePersistent(address,address,address)": "efb77a75", - "makePersistent(address[])": "1d9e269e", - "mockCall(address,bytes,bytes)": "b96213e4", - "mockCall(address,uint256,bytes,bytes)": "81409b91", - "prank(address)": "ca669fa7", - "prank(address,address)": "47e50cce", - "readFile(string)": "60f9bb11", - "readLine(string)": "70f55728", - "record()": "266cf109", - "recordLogs()": "41af2f52", - "removeFile(string)": "f1afe04d", - "revertTo(uint256)": "44d7f0a4", - "revokePersistent(address)": "997a0222", - "revokePersistent(address[])": "3ce969e6", - "roll(uint256)": "1f7b4f30", - "rollFork(uint256)": "d9bbf3a1", - "rollFork(uint256,uint256)": "d74c83a4", - "rpcUrl(string)": "975a6ce9", - "rpcUrls()": "a85a8418", - "selectFork(uint256)": "9ebf6827", - "setEnv(string,string)": "3d5923ee", - "setNonce(address,uint64)": "f8e18b57", - "sign(uint256,bytes32)": "e341eaa4", - "snapshot()": "9711715a", - "startBroadcast()": "7fb5297f", - "startBroadcast(address)": "7fec2a8d", - "startPrank(address)": "06447d56", - "startPrank(address,address)": "45b56078", - "stopBroadcast()": "76eadd36", - "stopPrank()": "90c5013b", - "store(address,bytes32,bytes32)": "70ca10bb", - "toString(address)": "56ca623e", - "toString(bool)": "71dce7da", - "toString(bytes)": "71aad10d", - "toString(bytes32)": "b11a19e8", - "toString(int256)": "a322c40e", - "toString(uint256)": "6900a3ae", - "warp(uint256)": "e5d6bf02", - "writeFile(string,string)": "897e0a97", - "writeLine(string,string)": "619d897f" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"accesses\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"reads\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"writes\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"activeFork\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"addr\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"name\":\"assume\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"broadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"broadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"chainId\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"clearMockedCalls\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"closeFile\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"coinbase\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"createFork\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"createFork\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"createSelectFork\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"createSelectFork\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"deal\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"name\":\"deriveKey\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"name\":\"deriveKey\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"envAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"envAddress\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"envBool\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"envBool\",\"outputs\":[{\"internalType\":\"bool[]\",\"name\":\"\",\"type\":\"bool[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"envBytes\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"envBytes\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"\",\"type\":\"bytes[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"envBytes32\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"envBytes32\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"envInt\",\"outputs\":[{\"internalType\":\"int256[]\",\"name\":\"\",\"type\":\"int256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"envInt\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"envString\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"\",\"type\":\"string[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"envString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"envUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"envUint\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"etch\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"expectCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"expectCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"name\":\"expectEmit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"expectEmit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"name\":\"expectRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"expectRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"expectRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"fee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string[]\",\"name\":\"\",\"type\":\"string[]\"}],\"name\":\"ffi\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"getCode\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"getNonce\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRecordedLogs\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32[]\",\"name\":\"topics\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"internalType\":\"struct Vm.Log[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"isPersistent\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"label\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"load\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"name\":\"makePersistent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"makePersistent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"makePersistent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"makePersistent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"mockCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"mockCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"prank\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"prank\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"readFile\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"readLine\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"record\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recordLogs\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"removeFile\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"revertTo\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"name\":\"revokePersistent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"revokePersistent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"roll\",\"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\":\"\",\"type\":\"uint256\"}],\"name\":\"rollFork\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"rpcUrl\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"rpcUrls\",\"outputs\":[{\"internalType\":\"string[2][]\",\"name\":\"\",\"type\":\"string[2][]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"selectFork\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"setEnv\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"name\":\"setNonce\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"sign\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"snapshot\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"startBroadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"startBroadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"startPrank\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"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\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"store\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"warp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"writeFile\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"writeLine\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"activeFork()\":{\"notice\":\"Returns the currently active fork Reverts if no fork is currently active\"},\"makePersistent(address)\":{\"notice\":\"Returns the RPC url for the given alias\"},\"rpcUrls()\":{\"notice\":\"Returns all rpc urls and their aliases `[alias, url][]`\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/Vm.sol\":\"Vm\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x63fc2487cf3a6650d933e18bcb61766f15f74c327192381806ea00f8f6446f66\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aad99f7b2ed3b11ff6c17b84b4196c562898640a80cabc2c28c87c116099a00f\",\"dweb:/ipfs/QmQNNbxHabRycegyXwJWBDutrdcScAP2SU5zEvorWEaFpx\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "accesses", - "outputs": [ - { - "internalType": "bytes32[]", - "name": "reads", - "type": "bytes32[]" - }, - { - "internalType": "bytes32[]", - "name": "writes", - "type": "bytes32[]" - } - ] - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "activeFork", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "addr", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "assume" - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "broadcast" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "broadcast" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "chainId" - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "clearMockedCalls" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "closeFile" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "coinbase" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "createFork", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "createFork", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "createSelectFork", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "createSelectFork", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "deal" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - }, - { - "internalType": "uint32", - "name": "", - "type": "uint32" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "deriveKey", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - }, - { - "internalType": "string", - "name": "", - "type": "string" - }, - { - "internalType": "uint32", - "name": "", - "type": "uint32" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "deriveKey", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "envAddress", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - }, - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "envAddress", - "outputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "envBool", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - }, - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "envBool", - "outputs": [ - { - "internalType": "bool[]", - "name": "", - "type": "bool[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "envBytes", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ] - }, - { - "inputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - }, - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "envBytes", - "outputs": [ - { - "internalType": "bytes[]", - "name": "", - "type": "bytes[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - }, - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "envBytes32", - "outputs": [ - { - "internalType": "bytes32[]", - "name": "", - "type": "bytes32[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "envBytes32", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ] - }, - { - "inputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - }, - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "envInt", - "outputs": [ - { - "internalType": "int256[]", - "name": "", - "type": "int256[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "envInt", - "outputs": [ - { - "internalType": "int256", - "name": "", - "type": "int256" - } - ] - }, - { - "inputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - }, - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "envString", - "outputs": [ - { - "internalType": "string[]", - "name": "", - "type": "string[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "envString", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ] - }, - { - "inputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "envUint", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - }, - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "envUint", - "outputs": [ - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "etch" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "expectCall" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "expectCall" - }, - { - "inputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - }, - { - "internalType": "bool", - "name": "", - "type": "bool" - }, - { - "internalType": "bool", - "name": "", - "type": "bool" - }, - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "expectEmit" - }, - { - "inputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - }, - { - "internalType": "bool", - "name": "", - "type": "bool" - }, - { - "internalType": "bool", - "name": "", - "type": "bool" - }, - { - "internalType": "bool", - "name": "", - "type": "bool" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "expectEmit" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "expectRevert" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "expectRevert" - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "expectRevert" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "fee" - }, - { - "inputs": [ - { - "internalType": "string[]", - "name": "", - "type": "string[]" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "ffi", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ] - }, - { - "inputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "getCode", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "getNonce", - "outputs": [ - { - "internalType": "uint64", - "name": "", - "type": "uint64" - } - ] - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "getRecordedLogs", - "outputs": [ - { - "internalType": "struct Vm.Log[]", - "name": "", - "type": "tuple[]", - "components": [ - { - "internalType": "bytes32[]", - "name": "topics", - "type": "bytes32[]" - }, - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - } - ] - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "isPersistent", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "label" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "load", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ] - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "makePersistent" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "makePersistent" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "makePersistent" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "makePersistent" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "mockCall" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "mockCall" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "prank" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "prank" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "readFile", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ] - }, - { - "inputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "readLine", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ] - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "record" - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "recordLogs" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "removeFile" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "revertTo", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "", - "type": "address[]" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "revokePersistent" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "revokePersistent" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "roll" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "forkId", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "blockNumber", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "rollFork" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "rollFork" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "rpcUrl", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ] - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "rpcUrls", - "outputs": [ - { - "internalType": "string[2][]", - "name": "", - "type": "string[2][]" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "selectFork" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - }, - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setEnv" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint64", - "name": "", - "type": "uint64" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setNonce" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - }, - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "sign", - "outputs": [ - { - "internalType": "uint8", - "name": "", - "type": "uint8" - }, - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ] - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "snapshot", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "startBroadcast" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "startBroadcast" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "startPrank" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "startPrank" - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "stopBroadcast" - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "stopPrank" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - }, - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "store" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "toString", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "toString", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ] - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "toString", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ] - }, - { - "inputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "toString", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ] - }, - { - "inputs": [ - { - "internalType": "int256", - "name": "", - "type": "int256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "toString", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ] - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "toString", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "warp" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - }, - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "writeFile" - }, - { - "inputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - }, - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "writeLine" - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "activeFork()": { - "notice": "Returns the currently active fork Reverts if no fork is currently active" - }, - "makePersistent(address)": { - "notice": "Returns the RPC url for the given alias" - }, - "rpcUrls()": { - "notice": "Returns all rpc urls and their aliases `[alias, url][]`" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "lib/forge-std/src/Vm.sol": "Vm" - }, - "libraries": {} - }, - "sources": { - "lib/forge-std/src/Vm.sol": { - "keccak256": "0x63fc2487cf3a6650d933e18bcb61766f15f74c327192381806ea00f8f6446f66", - "urls": [ - "bzz-raw://aad99f7b2ed3b11ff6c17b84b4196c562898640a80cabc2c28c87c116099a00f", - "dweb:/ipfs/QmQNNbxHabRycegyXwJWBDutrdcScAP2SU5zEvorWEaFpx" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 438 -} +{ "abi": [ { "type": "function", "name": "accesses", "inputs": [ { "name": "", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "reads", "type": "bytes32[]", "internalType": "bytes32[]" }, { "name": "writes", "type": "bytes32[]", "internalType": "bytes32[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "activeFork", "inputs": [], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "addr", "inputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "assume", "inputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "broadcast", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "broadcast", "inputs": [ { "name": "", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "chainId", "inputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "clearMockedCalls", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "closeFile", "inputs": [ { "name": "", "type": "string", "internalType": "string" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "coinbase", "inputs": [ { "name": "", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "createFork", "inputs": [ { "name": "", "type": "string", "internalType": "string" } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "createFork", "inputs": [ { "name": "", "type": "string", "internalType": "string" }, { "name": "", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "createSelectFork", "inputs": [ { "name": "", "type": "string", "internalType": "string" }, { "name": "", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "createSelectFork", "inputs": [ { "name": "", "type": "string", "internalType": "string" } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "deal", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "deriveKey", "inputs": [ { "name": "", "type": "string", "internalType": "string" }, { "name": "", "type": "uint32", "internalType": "uint32" } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "deriveKey", "inputs": [ { "name": "", "type": "string", "internalType": "string" }, { "name": "", "type": "string", "internalType": "string" }, { "name": "", "type": "uint32", "internalType": "uint32" } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "envAddress", "inputs": [ { "name": "", "type": "string", "internalType": "string" } ], "outputs": [ { "name": "", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "envAddress", "inputs": [ { "name": "", "type": "string", "internalType": "string" }, { "name": "", "type": "string", "internalType": "string" } ], "outputs": [ { "name": "", "type": "address[]", "internalType": "address[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "envBool", "inputs": [ { "name": "", "type": "string", "internalType": "string" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "envBool", "inputs": [ { "name": "", "type": "string", "internalType": "string" }, { "name": "", "type": "string", "internalType": "string" } ], "outputs": [ { "name": "", "type": "bool[]", "internalType": "bool[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "envBytes", "inputs": [ { "name": "", "type": "string", "internalType": "string" } ], "outputs": [ { "name": "", "type": "bytes", "internalType": "bytes" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "envBytes", "inputs": [ { "name": "", "type": "string", "internalType": "string" }, { "name": "", "type": "string", "internalType": "string" } ], "outputs": [ { "name": "", "type": "bytes[]", "internalType": "bytes[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "envBytes32", "inputs": [ { "name": "", "type": "string", "internalType": "string" }, { "name": "", "type": "string", "internalType": "string" } ], "outputs": [ { "name": "", "type": "bytes32[]", "internalType": "bytes32[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "envBytes32", "inputs": [ { "name": "", "type": "string", "internalType": "string" } ], "outputs": [ { "name": "", "type": "bytes32", "internalType": "bytes32" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "envInt", "inputs": [ { "name": "", "type": "string", "internalType": "string" }, { "name": "", "type": "string", "internalType": "string" } ], "outputs": [ { "name": "", "type": "int256[]", "internalType": "int256[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "envInt", "inputs": [ { "name": "", "type": "string", "internalType": "string" } ], "outputs": [ { "name": "", "type": "int256", "internalType": "int256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "envString", "inputs": [ { "name": "", "type": "string", "internalType": "string" }, { "name": "", "type": "string", "internalType": "string" } ], "outputs": [ { "name": "", "type": "string[]", "internalType": "string[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "envString", "inputs": [ { "name": "", "type": "string", "internalType": "string" } ], "outputs": [ { "name": "", "type": "string", "internalType": "string" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "envUint", "inputs": [ { "name": "", "type": "string", "internalType": "string" } ], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "envUint", "inputs": [ { "name": "", "type": "string", "internalType": "string" }, { "name": "", "type": "string", "internalType": "string" } ], "outputs": [ { "name": "", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "etch", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "expectCall", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "expectCall", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "expectEmit", "inputs": [ { "name": "", "type": "bool", "internalType": "bool" }, { "name": "", "type": "bool", "internalType": "bool" }, { "name": "", "type": "bool", "internalType": "bool" }, { "name": "", "type": "bool", "internalType": "bool" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "expectEmit", "inputs": [ { "name": "", "type": "bool", "internalType": "bool" }, { "name": "", "type": "bool", "internalType": "bool" }, { "name": "", "type": "bool", "internalType": "bool" }, { "name": "", "type": "bool", "internalType": "bool" }, { "name": "", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "expectRevert", "inputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "expectRevert", "inputs": [ { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "expectRevert", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "fee", "inputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "ffi", "inputs": [ { "name": "", "type": "string[]", "internalType": "string[]" } ], "outputs": [ { "name": "", "type": "bytes", "internalType": "bytes" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "getCode", "inputs": [ { "name": "", "type": "string", "internalType": "string" } ], "outputs": [ { "name": "", "type": "bytes", "internalType": "bytes" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "getNonce", "inputs": [ { "name": "", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "uint64", "internalType": "uint64" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "getRecordedLogs", "inputs": [], "outputs": [ { "name": "", "type": "tuple[]", "internalType": "struct Vm.Log[]", "components": [ { "name": "topics", "type": "bytes32[]", "internalType": "bytes32[]" }, { "name": "data", "type": "bytes", "internalType": "bytes" } ] } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "isPersistent", "inputs": [ { "name": "", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "label", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "string", "internalType": "string" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "load", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "bytes32", "internalType": "bytes32" } ], "outputs": [ { "name": "", "type": "bytes32", "internalType": "bytes32" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "makePersistent", "inputs": [ { "name": "", "type": "address[]", "internalType": "address[]" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "makePersistent", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "makePersistent", "inputs": [ { "name": "", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "makePersistent", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "mockCall", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "bytes", "internalType": "bytes" }, { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "mockCall", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "bytes", "internalType": "bytes" }, { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "prank", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "prank", "inputs": [ { "name": "", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "readFile", "inputs": [ { "name": "", "type": "string", "internalType": "string" } ], "outputs": [ { "name": "", "type": "string", "internalType": "string" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "readLine", "inputs": [ { "name": "", "type": "string", "internalType": "string" } ], "outputs": [ { "name": "", "type": "string", "internalType": "string" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "record", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "recordLogs", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "removeFile", "inputs": [ { "name": "", "type": "string", "internalType": "string" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "revertTo", "inputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "revokePersistent", "inputs": [ { "name": "", "type": "address[]", "internalType": "address[]" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "revokePersistent", "inputs": [ { "name": "", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "roll", "inputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "rollFork", "inputs": [ { "name": "forkId", "type": "uint256", "internalType": "uint256" }, { "name": "blockNumber", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "rollFork", "inputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "rpcUrl", "inputs": [ { "name": "", "type": "string", "internalType": "string" } ], "outputs": [ { "name": "", "type": "string", "internalType": "string" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "rpcUrls", "inputs": [], "outputs": [ { "name": "", "type": "string[2][]", "internalType": "string[2][]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "selectFork", "inputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setEnv", "inputs": [ { "name": "", "type": "string", "internalType": "string" }, { "name": "", "type": "string", "internalType": "string" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "setNonce", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "uint64", "internalType": "uint64" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "sign", "inputs": [ { "name": "", "type": "uint256", "internalType": "uint256" }, { "name": "", "type": "bytes32", "internalType": "bytes32" } ], "outputs": [ { "name": "", "type": "uint8", "internalType": "uint8" }, { "name": "", "type": "bytes32", "internalType": "bytes32" }, { "name": "", "type": "bytes32", "internalType": "bytes32" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "snapshot", "inputs": [], "outputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "startBroadcast", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "startBroadcast", "inputs": [ { "name": "", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "startPrank", "inputs": [ { "name": "", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "startPrank", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "address", "internalType": "address" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "stopBroadcast", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "stopPrank", "inputs": [], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "store", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "", "type": "bytes32", "internalType": "bytes32" }, { "name": "", "type": "bytes32", "internalType": "bytes32" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "toString", "inputs": [ { "name": "", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "", "type": "string", "internalType": "string" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "toString", "inputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "string", "internalType": "string" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "toString", "inputs": [ { "name": "", "type": "bytes", "internalType": "bytes" } ], "outputs": [ { "name": "", "type": "string", "internalType": "string" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "toString", "inputs": [ { "name": "", "type": "bool", "internalType": "bool" } ], "outputs": [ { "name": "", "type": "string", "internalType": "string" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "toString", "inputs": [ { "name": "", "type": "int256", "internalType": "int256" } ], "outputs": [ { "name": "", "type": "string", "internalType": "string" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "toString", "inputs": [ { "name": "", "type": "bytes32", "internalType": "bytes32" } ], "outputs": [ { "name": "", "type": "string", "internalType": "string" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "warp", "inputs": [ { "name": "", "type": "uint256", "internalType": "uint256" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "writeFile", "inputs": [ { "name": "", "type": "string", "internalType": "string" }, { "name": "", "type": "string", "internalType": "string" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "writeLine", "inputs": [ { "name": "", "type": "string", "internalType": "string" }, { "name": "", "type": "string", "internalType": "string" } ], "outputs": [], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "accesses(address)": "65bc9481", "activeFork()": "2f103f22", "addr(uint256)": "ffa18649", "assume(bool)": "4c63e562", "broadcast()": "afc98040", "broadcast(address)": "e6962cdb", "chainId(uint256)": "4049ddd2", "clearMockedCalls()": "3fdf4e15", "closeFile(string)": "48c3241f", "coinbase(address)": "ff483c54", "createFork(string)": "31ba3498", "createFork(string,uint256)": "6ba3ba2b", "createSelectFork(string)": "98680034", "createSelectFork(string,uint256)": "71ee464d", "deal(address,uint256)": "c88a5e6d", "deriveKey(string,string,uint32)": "6bcb2c1b", "deriveKey(string,uint32)": "6229498b", "envAddress(string)": "350d56bf", "envAddress(string,string)": "ad31b9fa", "envBool(string)": "7ed1ec7d", "envBool(string,string)": "aaaddeaf", "envBytes(string)": "4d7baf06", "envBytes(string,string)": "ddc2651b", "envBytes32(string)": "97949042", "envBytes32(string,string)": "5af231c1", "envInt(string)": "892a0c61", "envInt(string,string)": "42181150", "envString(string)": "f877cb19", "envString(string,string)": "14b02bc9", "envUint(string)": "c1978d1f", "envUint(string,string)": "f3dec099", "etch(address,bytes)": "b4d6c782", "expectCall(address,bytes)": "bd6af434", "expectCall(address,uint256,bytes)": "f30c7ba3", "expectEmit(bool,bool,bool,bool)": "491cc7c2", "expectEmit(bool,bool,bool,bool,address)": "81bad6f3", "expectRevert()": "f4844814", "expectRevert(bytes)": "f28dceb3", "expectRevert(bytes4)": "c31eb0e0", "fee(uint256)": "39b37ab0", "ffi(string[])": "89160467", "getCode(string)": "8d1cc925", "getNonce(address)": "2d0335ab", "getRecordedLogs()": "191553a4", "isPersistent(address)": "d92d8efd", "label(address,string)": "c657c718", "load(address,bytes32)": "667f9d70", "makePersistent(address)": "57e22dde", "makePersistent(address,address)": "4074e0a8", "makePersistent(address,address,address)": "efb77a75", "makePersistent(address[])": "1d9e269e", "mockCall(address,bytes,bytes)": "b96213e4", "mockCall(address,uint256,bytes,bytes)": "81409b91", "prank(address)": "ca669fa7", "prank(address,address)": "47e50cce", "readFile(string)": "60f9bb11", "readLine(string)": "70f55728", "record()": "266cf109", "recordLogs()": "41af2f52", "removeFile(string)": "f1afe04d", "revertTo(uint256)": "44d7f0a4", "revokePersistent(address)": "997a0222", "revokePersistent(address[])": "3ce969e6", "roll(uint256)": "1f7b4f30", "rollFork(uint256)": "d9bbf3a1", "rollFork(uint256,uint256)": "d74c83a4", "rpcUrl(string)": "975a6ce9", "rpcUrls()": "a85a8418", "selectFork(uint256)": "9ebf6827", "setEnv(string,string)": "3d5923ee", "setNonce(address,uint64)": "f8e18b57", "sign(uint256,bytes32)": "e341eaa4", "snapshot()": "9711715a", "startBroadcast()": "7fb5297f", "startBroadcast(address)": "7fec2a8d", "startPrank(address)": "06447d56", "startPrank(address,address)": "45b56078", "stopBroadcast()": "76eadd36", "stopPrank()": "90c5013b", "store(address,bytes32,bytes32)": "70ca10bb", "toString(address)": "56ca623e", "toString(bool)": "71dce7da", "toString(bytes)": "71aad10d", "toString(bytes32)": "b11a19e8", "toString(int256)": "a322c40e", "toString(uint256)": "6900a3ae", "warp(uint256)": "e5d6bf02", "writeFile(string,string)": "897e0a97", "writeLine(string,string)": "619d897f" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"accesses\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"reads\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"writes\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"activeFork\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"addr\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"name\":\"assume\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"broadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"broadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"chainId\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"clearMockedCalls\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"closeFile\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"coinbase\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"createFork\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"createFork\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"createSelectFork\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"createSelectFork\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"deal\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"name\":\"deriveKey\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"name\":\"deriveKey\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"envAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"envAddress\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"envBool\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"envBool\",\"outputs\":[{\"internalType\":\"bool[]\",\"name\":\"\",\"type\":\"bool[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"envBytes\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"envBytes\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"\",\"type\":\"bytes[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"envBytes32\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"envBytes32\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"envInt\",\"outputs\":[{\"internalType\":\"int256[]\",\"name\":\"\",\"type\":\"int256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"envInt\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"envString\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"\",\"type\":\"string[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"envString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"envUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"envUint\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"etch\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"expectCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"expectCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"name\":\"expectEmit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"expectEmit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"name\":\"expectRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"expectRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"expectRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"fee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string[]\",\"name\":\"\",\"type\":\"string[]\"}],\"name\":\"ffi\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"getCode\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"getNonce\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRecordedLogs\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32[]\",\"name\":\"topics\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"internalType\":\"struct Vm.Log[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"isPersistent\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"label\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"load\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"name\":\"makePersistent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"makePersistent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"makePersistent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"makePersistent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"mockCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"mockCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"prank\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"prank\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"readFile\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"readLine\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"record\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recordLogs\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"removeFile\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"revertTo\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"name\":\"revokePersistent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"revokePersistent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"roll\",\"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\":\"\",\"type\":\"uint256\"}],\"name\":\"rollFork\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"rpcUrl\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"rpcUrls\",\"outputs\":[{\"internalType\":\"string[2][]\",\"name\":\"\",\"type\":\"string[2][]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"selectFork\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"setEnv\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"name\":\"setNonce\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"sign\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"snapshot\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"startBroadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"startBroadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"startPrank\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"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\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"store\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"warp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"writeFile\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"writeLine\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"activeFork()\":{\"notice\":\"Returns the currently active fork Reverts if no fork is currently active\"},\"makePersistent(address)\":{\"notice\":\"Returns the RPC url for the given alias\"},\"rpcUrls()\":{\"notice\":\"Returns all rpc urls and their aliases `[alias, url][]`\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/Vm.sol\":\"Vm\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x63fc2487cf3a6650d933e18bcb61766f15f74c327192381806ea00f8f6446f66\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aad99f7b2ed3b11ff6c17b84b4196c562898640a80cabc2c28c87c116099a00f\",\"dweb:/ipfs/QmQNNbxHabRycegyXwJWBDutrdcScAP2SU5zEvorWEaFpx\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "accesses", "outputs": [ { "internalType": "bytes32[]", "name": "reads", "type": "bytes32[]" }, { "internalType": "bytes32[]", "name": "writes", "type": "bytes32[]" } ] }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "activeFork", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "addr", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ] }, { "inputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function", "name": "assume" }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "broadcast" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "broadcast" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "chainId" }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "clearMockedCalls" }, { "inputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "nonpayable", "type": "function", "name": "closeFile" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "coinbase" }, { "inputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "nonpayable", "type": "function", "name": "createFork", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "string", "name": "", "type": "string" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "createFork", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "string", "name": "", "type": "string" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "createSelectFork", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "nonpayable", "type": "function", "name": "createSelectFork", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "deal" }, { "inputs": [ { "internalType": "string", "name": "", "type": "string" }, { "internalType": "uint32", "name": "", "type": "uint32" } ], "stateMutability": "nonpayable", "type": "function", "name": "deriveKey", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "string", "name": "", "type": "string" }, { "internalType": "string", "name": "", "type": "string" }, { "internalType": "uint32", "name": "", "type": "uint32" } ], "stateMutability": "nonpayable", "type": "function", "name": "deriveKey", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "nonpayable", "type": "function", "name": "envAddress", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ] }, { "inputs": [ { "internalType": "string", "name": "", "type": "string" }, { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "nonpayable", "type": "function", "name": "envAddress", "outputs": [ { "internalType": "address[]", "name": "", "type": "address[]" } ] }, { "inputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "nonpayable", "type": "function", "name": "envBool", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [ { "internalType": "string", "name": "", "type": "string" }, { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "nonpayable", "type": "function", "name": "envBool", "outputs": [ { "internalType": "bool[]", "name": "", "type": "bool[]" } ] }, { "inputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "nonpayable", "type": "function", "name": "envBytes", "outputs": [ { "internalType": "bytes", "name": "", "type": "bytes" } ] }, { "inputs": [ { "internalType": "string", "name": "", "type": "string" }, { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "nonpayable", "type": "function", "name": "envBytes", "outputs": [ { "internalType": "bytes[]", "name": "", "type": "bytes[]" } ] }, { "inputs": [ { "internalType": "string", "name": "", "type": "string" }, { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "nonpayable", "type": "function", "name": "envBytes32", "outputs": [ { "internalType": "bytes32[]", "name": "", "type": "bytes32[]" } ] }, { "inputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "nonpayable", "type": "function", "name": "envBytes32", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ] }, { "inputs": [ { "internalType": "string", "name": "", "type": "string" }, { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "nonpayable", "type": "function", "name": "envInt", "outputs": [ { "internalType": "int256[]", "name": "", "type": "int256[]" } ] }, { "inputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "nonpayable", "type": "function", "name": "envInt", "outputs": [ { "internalType": "int256", "name": "", "type": "int256" } ] }, { "inputs": [ { "internalType": "string", "name": "", "type": "string" }, { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "nonpayable", "type": "function", "name": "envString", "outputs": [ { "internalType": "string[]", "name": "", "type": "string[]" } ] }, { "inputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "nonpayable", "type": "function", "name": "envString", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ] }, { "inputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "nonpayable", "type": "function", "name": "envUint", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [ { "internalType": "string", "name": "", "type": "string" }, { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "nonpayable", "type": "function", "name": "envUint", "outputs": [ { "internalType": "uint256[]", "name": "", "type": "uint256[]" } ] }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "etch" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "expectCall" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "expectCall" }, { "inputs": [ { "internalType": "bool", "name": "", "type": "bool" }, { "internalType": "bool", "name": "", "type": "bool" }, { "internalType": "bool", "name": "", "type": "bool" }, { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function", "name": "expectEmit" }, { "inputs": [ { "internalType": "bool", "name": "", "type": "bool" }, { "internalType": "bool", "name": "", "type": "bool" }, { "internalType": "bool", "name": "", "type": "bool" }, { "internalType": "bool", "name": "", "type": "bool" }, { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "expectEmit" }, { "inputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ], "stateMutability": "nonpayable", "type": "function", "name": "expectRevert" }, { "inputs": [ { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "expectRevert" }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "expectRevert" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "fee" }, { "inputs": [ { "internalType": "string[]", "name": "", "type": "string[]" } ], "stateMutability": "nonpayable", "type": "function", "name": "ffi", "outputs": [ { "internalType": "bytes", "name": "", "type": "bytes" } ] }, { "inputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "nonpayable", "type": "function", "name": "getCode", "outputs": [ { "internalType": "bytes", "name": "", "type": "bytes" } ] }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "getNonce", "outputs": [ { "internalType": "uint64", "name": "", "type": "uint64" } ] }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "getRecordedLogs", "outputs": [ { "internalType": "struct Vm.Log[]", "name": "", "type": "tuple[]", "components": [ { "internalType": "bytes32[]", "name": "topics", "type": "bytes32[]" }, { "internalType": "bytes", "name": "data", "type": "bytes" } ] } ] }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "isPersistent", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "nonpayable", "type": "function", "name": "label" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "nonpayable", "type": "function", "name": "load", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ] }, { "inputs": [ { "internalType": "address[]", "name": "", "type": "address[]" } ], "stateMutability": "nonpayable", "type": "function", "name": "makePersistent" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "makePersistent" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "makePersistent" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "address", "name": "", "type": "address" }, { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "makePersistent" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "bytes", "name": "", "type": "bytes" }, { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "mockCall" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "bytes", "name": "", "type": "bytes" }, { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "mockCall" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "prank" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "prank" }, { "inputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "nonpayable", "type": "function", "name": "readFile", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ] }, { "inputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "nonpayable", "type": "function", "name": "readLine", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ] }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "record" }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "recordLogs" }, { "inputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "nonpayable", "type": "function", "name": "removeFile" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "revertTo", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ] }, { "inputs": [ { "internalType": "address[]", "name": "", "type": "address[]" } ], "stateMutability": "nonpayable", "type": "function", "name": "revokePersistent" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "revokePersistent" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "roll" }, { "inputs": [ { "internalType": "uint256", "name": "forkId", "type": "uint256" }, { "internalType": "uint256", "name": "blockNumber", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "rollFork" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "rollFork" }, { "inputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "nonpayable", "type": "function", "name": "rpcUrl", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ] }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "rpcUrls", "outputs": [ { "internalType": "string[2][]", "name": "", "type": "string[2][]" } ] }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "selectFork" }, { "inputs": [ { "internalType": "string", "name": "", "type": "string" }, { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "nonpayable", "type": "function", "name": "setEnv" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "uint64", "name": "", "type": "uint64" } ], "stateMutability": "nonpayable", "type": "function", "name": "setNonce" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "nonpayable", "type": "function", "name": "sign", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" }, { "internalType": "bytes32", "name": "", "type": "bytes32" }, { "internalType": "bytes32", "name": "", "type": "bytes32" } ] }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "snapshot", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ] }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "startBroadcast" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "startBroadcast" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "startPrank" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "startPrank" }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "stopBroadcast" }, { "inputs": [], "stateMutability": "nonpayable", "type": "function", "name": "stopPrank" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "bytes32", "name": "", "type": "bytes32" }, { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "nonpayable", "type": "function", "name": "store" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "nonpayable", "type": "function", "name": "toString", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ] }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "toString", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ] }, { "inputs": [ { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "toString", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ] }, { "inputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function", "name": "toString", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ] }, { "inputs": [ { "internalType": "int256", "name": "", "type": "int256" } ], "stateMutability": "nonpayable", "type": "function", "name": "toString", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ] }, { "inputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "nonpayable", "type": "function", "name": "toString", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ] }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "warp" }, { "inputs": [ { "internalType": "string", "name": "", "type": "string" }, { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "nonpayable", "type": "function", "name": "writeFile" }, { "inputs": [ { "internalType": "string", "name": "", "type": "string" }, { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "nonpayable", "type": "function", "name": "writeLine" } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": { "activeFork()": { "notice": "Returns the currently active fork Reverts if no fork is currently active" }, "makePersistent(address)": { "notice": "Returns the RPC url for the given alias" }, "rpcUrls()": { "notice": "Returns all rpc urls and their aliases `[alias, url][]`" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "lib/forge-std/src/Vm.sol": "Vm" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "lib/forge-std/src/Vm.sol": { "keccak256": "0x63fc2487cf3a6650d933e18bcb61766f15f74c327192381806ea00f8f6446f66", "urls": [ "bzz-raw://aad99f7b2ed3b11ff6c17b84b4196c562898640a80cabc2c28c87c116099a00f", "dweb:/ipfs/QmQNNbxHabRycegyXwJWBDutrdcScAP2SU5zEvorWEaFpx" ], "license": "MIT" } }, "version": 1 }, "id": 438 } diff --git a/eth_defi/abi/enzyme/WstethPriceFeed.json b/eth_defi/abi/enzyme/WstethPriceFeed.json index b64aac10..ce10dece 100644 --- a/eth_defi/abi/enzyme/WstethPriceFeed.json +++ b/eth_defi/abi/enzyme/WstethPriceFeed.json @@ -1,270 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_wsteth", - "type": "address" - }, - { - "internalType": "address", - "name": "_steth", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_derivativeAmount", - "type": "uint256" - } - ], - "name": "calcUnderlyingValues", - "outputs": [ - { - "internalType": "address[]", - "name": "underlyings_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "underlyingAmounts_", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_asset", - "type": "address" - } - ], - "name": "isSupportedAsset", - "outputs": [ - { - "internalType": "bool", - "name": "isSupported_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x60c060405234801561001057600080fd5b506040516103363803806103368339818101604052604081101561003357600080fd5b5080516020909101516001600160601b0319606091821b811660805291901b1660a05260805160601c60a05160601c6102b26100846000398061027552508061016152806101c552506102b26000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063727212f61461003b5780639be918e614610100575b600080fd5b6100676004803603604081101561005157600080fd5b506001600160a01b03813516906020013561013a565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156100ab578181015183820152602001610093565b50505050905001838103825284818151815260200191508051906020019060200280838360005b838110156100ea5781810151838201526020016100d2565b5050505090500194505050505060405180910390f35b6101266004803603602081101561011657600080fd5b50356001600160a01b0316610273565b604080519115158252519081900360200190f35b604080516001808252818301909252606091829190602080830190803683370190505091507f00000000000000000000000000000000000000000000000000000000000000008260008151811061018d57fe5b6001600160a01b03929092166020928302919091018201526040805160018082528183019092529182810190803683370190505090507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637a28fb88846040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561022757600080fd5b505afa15801561023b573d6000803e3d6000fd5b505050506040513d602081101561025157600080fd5b50518151829060009061026057fe5b6020026020010181815250509250929050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b039081169116149056fea164736f6c634300060c000a", - "sourceMap": "511:1399:248:-:0;;;654:130;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;654:130:248;;;;;;;-1:-1:-1;;;;;;716:35:248;;;;;;;;761:16;;;;;;511:1399;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c8063727212f61461003b5780639be918e614610100575b600080fd5b6100676004803603604081101561005157600080fd5b506001600160a01b03813516906020013561013a565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156100ab578181015183820152602001610093565b50505050905001838103825284818151815260200191508051906020019060200280838360005b838110156100ea5781810151838201526020016100d2565b5050505090500194505050505060405180910390f35b6101266004803603602081101561011657600080fd5b50356001600160a01b0316610273565b604080519115158252519081900360200190f35b604080516001808252818301909252606091829190602080830190803683370190505091507f00000000000000000000000000000000000000000000000000000000000000008260008151811061018d57fe5b6001600160a01b03929092166020928302919091018201526040805160018082528183019092529182810190803683370190505090507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637a28fb88846040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561022757600080fd5b505afa15801561023b573d6000803e3d6000fd5b505050506040513d602081101561025157600080fd5b50518151829060009061026057fe5b6020026020010181815250509250929050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b039081169116149056fea164736f6c634300060c000a", - "sourceMap": "511:1399:248:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1128:476;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1128:476:248;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1777:131;;;;;;;;;;;;;;;;-1:-1:-1;1777:131:248;-1:-1:-1;;;;;1777:131:248;;:::i;:::-;;;;;;;;;;;;;;;;;;1128:476;1342:16;;;1356:1;1342:16;;;;;;;;;1245:29;;;;1342:16;;;;;;;;;;;;-1:-1:-1;1342:16:248;1327:31;;1394:14;1368:12;1381:1;1368:15;;;;;;;;-1:-1:-1;;;;;1368:41:248;;;;:15;;;;;;;;;;:41;1441:16;;;1455:1;1441:16;;;;;;;;;;;;;;1368:15;1441:16;;;;;-1:-1:-1;1441:16:248;1420:37;;1491:14;-1:-1:-1;;;;;1491:35:248;;1527:17;1491:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1491:54:248;1467:21;;:18;;1486:1;;1467:21;;;;;;;;;:78;;;;;1128:476;;;;;:::o;1777:131::-;1895:6;-1:-1:-1;;;;;1885:16:248;;;;;;;1777:131::o", - "linkReferences": {}, - "immutableReferences": { - "65813": [ - { - "start": 353, - "length": 32 - }, - { - "start": 453, - "length": 32 - } - ], - "65815": [ - { - "start": 629, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "calcUnderlyingValues(address,uint256)": "727212f6", - "isSupportedAsset(address)": "9be918e6" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_wsteth\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_steth\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_derivativeAmount\",\"type\":\"uint256\"}],\"name\":\"calcUnderlyingValues\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"underlyings_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"underlyingAmounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"}],\"name\":\"isSupportedAsset\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isSupported_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"calcUnderlyingValues(address,uint256)\":{\"params\":{\"_derivativeAmount\":\"The amount of the derivative to convert\"},\"returns\":{\"underlyingAmounts_\":\"The amount of each underlying asset for the equivalent derivative amount\",\"underlyings_\":\"The underlying assets for the derivative\"}},\"isSupportedAsset(address)\":{\"params\":{\"_asset\":\"The asset to check\"},\"returns\":{\"isSupported_\":\"True if the asset is supported\"}}},\"title\":\"WstethPriceFeed Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"calcUnderlyingValues(address,uint256)\":{\"notice\":\"Converts a given amount of a derivative to its underlying asset values\"},\"isSupportedAsset(address)\":{\"notice\":\"Checks if an asset is supported by the price feed\"}},\"notice\":\"Price feed for Lido wrapped stETH (wstETH)\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/infrastructure/price-feeds/derivatives/feeds/WstethPriceFeed.sol\":\"WstethPriceFeed\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol\":{\"keccak256\":\"0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e\",\"dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK\"]},\"contracts/release/infrastructure/price-feeds/derivatives/feeds/WstethPriceFeed.sol\":{\"keccak256\":\"0xcd192ee4cebb1c54c26fdeff139bb200a79c26a231712d466b2a3990ffface34\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3c826062f73cb88b7ebb2251b2183ffd16041d88de19f5393867906a91d0fba8\",\"dweb:/ipfs/QmcvJVurNwxtv4n7W2SQKdccVqGytBeSP3RxLmDWn9hoGm\"]},\"contracts/release/interfaces/ILidoSteth.sol\":{\"keccak256\":\"0xd58a94e3dd12b2057c8305c0b82536fc1696304440e97f70d990dc7748d0e510\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2bf61ea7bdbee6f5e5f52a4448de259cf5276c9d46e0597c1e3577f82e4db536\",\"dweb:/ipfs/QmQun767E67degew5JEw49qBtyQYh3bt34spZ1mowbUdEH\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_wsteth", - "type": "address" - }, - { - "internalType": "address", - "name": "_steth", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_derivativeAmount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "calcUnderlyingValues", - "outputs": [ - { - "internalType": "address[]", - "name": "underlyings_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "underlyingAmounts_", - "type": "uint256[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_asset", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "isSupportedAsset", - "outputs": [ - { - "internalType": "bool", - "name": "isSupported_", - "type": "bool" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "calcUnderlyingValues(address,uint256)": { - "params": { - "_derivativeAmount": "The amount of the derivative to convert" - }, - "returns": { - "underlyingAmounts_": "The amount of each underlying asset for the equivalent derivative amount", - "underlyings_": "The underlying assets for the derivative" - } - }, - "isSupportedAsset(address)": { - "params": { - "_asset": "The asset to check" - }, - "returns": { - "isSupported_": "True if the asset is supported" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "calcUnderlyingValues(address,uint256)": { - "notice": "Converts a given amount of a derivative to its underlying asset values" - }, - "isSupportedAsset(address)": { - "notice": "Checks if an asset is supported by the price feed" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/infrastructure/price-feeds/derivatives/feeds/WstethPriceFeed.sol": "WstethPriceFeed" - }, - "libraries": {} - }, - "sources": { - "contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol": { - "keccak256": "0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332", - "urls": [ - "bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e", - "dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/price-feeds/derivatives/feeds/WstethPriceFeed.sol": { - "keccak256": "0xcd192ee4cebb1c54c26fdeff139bb200a79c26a231712d466b2a3990ffface34", - "urls": [ - "bzz-raw://3c826062f73cb88b7ebb2251b2183ffd16041d88de19f5393867906a91d0fba8", - "dweb:/ipfs/QmcvJVurNwxtv4n7W2SQKdccVqGytBeSP3RxLmDWn9hoGm" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/ILidoSteth.sol": { - "keccak256": "0xd58a94e3dd12b2057c8305c0b82536fc1696304440e97f70d990dc7748d0e510", - "urls": [ - "bzz-raw://2bf61ea7bdbee6f5e5f52a4448de259cf5276c9d46e0597c1e3577f82e4db536", - "dweb:/ipfs/QmQun767E67degew5JEw49qBtyQYh3bt34spZ1mowbUdEH" - ], - "license": "GPL-3.0" - } - }, - "version": 1 - }, - "id": 248 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_wsteth", "type": "address", "internalType": "address" }, { "name": "_steth", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "calcUnderlyingValues", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "_derivativeAmount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "underlyings_", "type": "address[]", "internalType": "address[]" }, { "name": "underlyingAmounts_", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "isSupportedAsset", "inputs": [ { "name": "_asset", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "isSupported_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" } ], "bytecode": { "object": "0x60c060405234801561001057600080fd5b506040516103363803806103368339818101604052604081101561003357600080fd5b5080516020909101516001600160601b0319606091821b811660805291901b1660a05260805160601c60a05160601c6102b26100846000398061027552508061016152806101c552506102b26000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063727212f61461003b5780639be918e614610100575b600080fd5b6100676004803603604081101561005157600080fd5b506001600160a01b03813516906020013561013a565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156100ab578181015183820152602001610093565b50505050905001838103825284818151815260200191508051906020019060200280838360005b838110156100ea5781810151838201526020016100d2565b5050505090500194505050505060405180910390f35b6101266004803603602081101561011657600080fd5b50356001600160a01b0316610273565b604080519115158252519081900360200190f35b604080516001808252818301909252606091829190602080830190803683370190505091507f00000000000000000000000000000000000000000000000000000000000000008260008151811061018d57fe5b6001600160a01b03929092166020928302919091018201526040805160018082528183019092529182810190803683370190505090507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637a28fb88846040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561022757600080fd5b505afa15801561023b573d6000803e3d6000fd5b505050506040513d602081101561025157600080fd5b50518151829060009061026057fe5b6020026020010181815250509250929050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b039081169116149056fea164736f6c634300060c000a", "sourceMap": "511:1399:248:-:0;;;654:130;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;654:130:248;;;;;;;-1:-1:-1;;;;;;716:35:248;;;;;;;;761:16;;;;;;511:1399;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c8063727212f61461003b5780639be918e614610100575b600080fd5b6100676004803603604081101561005157600080fd5b506001600160a01b03813516906020013561013a565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156100ab578181015183820152602001610093565b50505050905001838103825284818151815260200191508051906020019060200280838360005b838110156100ea5781810151838201526020016100d2565b5050505090500194505050505060405180910390f35b6101266004803603602081101561011657600080fd5b50356001600160a01b0316610273565b604080519115158252519081900360200190f35b604080516001808252818301909252606091829190602080830190803683370190505091507f00000000000000000000000000000000000000000000000000000000000000008260008151811061018d57fe5b6001600160a01b03929092166020928302919091018201526040805160018082528183019092529182810190803683370190505090507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316637a28fb88846040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561022757600080fd5b505afa15801561023b573d6000803e3d6000fd5b505050506040513d602081101561025157600080fd5b50518151829060009061026057fe5b6020026020010181815250509250929050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b039081169116149056fea164736f6c634300060c000a", "sourceMap": "511:1399:248:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1128:476;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1128:476:248;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1777:131;;;;;;;;;;;;;;;;-1:-1:-1;1777:131:248;-1:-1:-1;;;;;1777:131:248;;:::i;:::-;;;;;;;;;;;;;;;;;;1128:476;1342:16;;;1356:1;1342:16;;;;;;;;;1245:29;;;;1342:16;;;;;;;;;;;;-1:-1:-1;1342:16:248;1327:31;;1394:14;1368:12;1381:1;1368:15;;;;;;;;-1:-1:-1;;;;;1368:41:248;;;;:15;;;;;;;;;;:41;1441:16;;;1455:1;1441:16;;;;;;;;;;;;;;1368:15;1441:16;;;;;-1:-1:-1;1441:16:248;1420:37;;1491:14;-1:-1:-1;;;;;1491:35:248;;1527:17;1491:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1491:54:248;1467:21;;:18;;1486:1;;1467:21;;;;;;;;;:78;;;;;1128:476;;;;;:::o;1777:131::-;1895:6;-1:-1:-1;;;;;1885:16:248;;;;;;;1777:131::o", "linkReferences": {}, "immutableReferences": { "65813": [ { "start": 353, "length": 32 }, { "start": 453, "length": 32 } ], "65815": [ { "start": 629, "length": 32 } ] } }, "methodIdentifiers": { "calcUnderlyingValues(address,uint256)": "727212f6", "isSupportedAsset(address)": "9be918e6" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_wsteth\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_steth\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_derivativeAmount\",\"type\":\"uint256\"}],\"name\":\"calcUnderlyingValues\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"underlyings_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"underlyingAmounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"}],\"name\":\"isSupportedAsset\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isSupported_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"calcUnderlyingValues(address,uint256)\":{\"params\":{\"_derivativeAmount\":\"The amount of the derivative to convert\"},\"returns\":{\"underlyingAmounts_\":\"The amount of each underlying asset for the equivalent derivative amount\",\"underlyings_\":\"The underlying assets for the derivative\"}},\"isSupportedAsset(address)\":{\"params\":{\"_asset\":\"The asset to check\"},\"returns\":{\"isSupported_\":\"True if the asset is supported\"}}},\"title\":\"WstethPriceFeed Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"calcUnderlyingValues(address,uint256)\":{\"notice\":\"Converts a given amount of a derivative to its underlying asset values\"},\"isSupportedAsset(address)\":{\"notice\":\"Checks if an asset is supported by the price feed\"}},\"notice\":\"Price feed for Lido wrapped stETH (wstETH)\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/infrastructure/price-feeds/derivatives/feeds/WstethPriceFeed.sol\":\"WstethPriceFeed\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol\":{\"keccak256\":\"0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e\",\"dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK\"]},\"contracts/release/infrastructure/price-feeds/derivatives/feeds/WstethPriceFeed.sol\":{\"keccak256\":\"0xcd192ee4cebb1c54c26fdeff139bb200a79c26a231712d466b2a3990ffface34\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://3c826062f73cb88b7ebb2251b2183ffd16041d88de19f5393867906a91d0fba8\",\"dweb:/ipfs/QmcvJVurNwxtv4n7W2SQKdccVqGytBeSP3RxLmDWn9hoGm\"]},\"contracts/release/interfaces/ILidoSteth.sol\":{\"keccak256\":\"0xd58a94e3dd12b2057c8305c0b82536fc1696304440e97f70d990dc7748d0e510\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2bf61ea7bdbee6f5e5f52a4448de259cf5276c9d46e0597c1e3577f82e4db536\",\"dweb:/ipfs/QmQun767E67degew5JEw49qBtyQYh3bt34spZ1mowbUdEH\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_wsteth", "type": "address" }, { "internalType": "address", "name": "_steth", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "uint256", "name": "_derivativeAmount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "calcUnderlyingValues", "outputs": [ { "internalType": "address[]", "name": "underlyings_", "type": "address[]" }, { "internalType": "uint256[]", "name": "underlyingAmounts_", "type": "uint256[]" } ] }, { "inputs": [ { "internalType": "address", "name": "_asset", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "isSupportedAsset", "outputs": [ { "internalType": "bool", "name": "isSupported_", "type": "bool" } ] } ], "devdoc": { "kind": "dev", "methods": { "calcUnderlyingValues(address,uint256)": { "params": { "_derivativeAmount": "The amount of the derivative to convert" }, "returns": { "underlyingAmounts_": "The amount of each underlying asset for the equivalent derivative amount", "underlyings_": "The underlying assets for the derivative" } }, "isSupportedAsset(address)": { "params": { "_asset": "The asset to check" }, "returns": { "isSupported_": "True if the asset is supported" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "calcUnderlyingValues(address,uint256)": { "notice": "Converts a given amount of a derivative to its underlying asset values" }, "isSupportedAsset(address)": { "notice": "Checks if an asset is supported by the price feed" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/infrastructure/price-feeds/derivatives/feeds/WstethPriceFeed.sol": "WstethPriceFeed" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol": { "keccak256": "0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332", "urls": [ "bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e", "dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/price-feeds/derivatives/feeds/WstethPriceFeed.sol": { "keccak256": "0xcd192ee4cebb1c54c26fdeff139bb200a79c26a231712d466b2a3990ffface34", "urls": [ "bzz-raw://3c826062f73cb88b7ebb2251b2183ffd16041d88de19f5393867906a91d0fba8", "dweb:/ipfs/QmcvJVurNwxtv4n7W2SQKdccVqGytBeSP3RxLmDWn9hoGm" ], "license": "GPL-3.0" }, "contracts/release/interfaces/ILidoSteth.sol": { "keccak256": "0xd58a94e3dd12b2057c8305c0b82536fc1696304440e97f70d990dc7748d0e510", "urls": [ "bzz-raw://2bf61ea7bdbee6f5e5f52a4448de259cf5276c9d46e0597c1e3577f82e4db536", "dweb:/ipfs/QmQun767E67degew5JEw49qBtyQYh3bt34spZ1mowbUdEH" ], "license": "GPL-3.0" } }, "version": 1 }, "id": 248 } diff --git a/eth_defi/abi/enzyme/YearnVaultV2ActionsMixin.json b/eth_defi/abi/enzyme/YearnVaultV2ActionsMixin.json index 66140614..be8a4dd9 100644 --- a/eth_defi/abi/enzyme/YearnVaultV2ActionsMixin.json +++ b/eth_defi/abi/enzyme/YearnVaultV2ActionsMixin.json @@ -1,142 +1 @@ -{ - "abi": [], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": {}, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"YearnVaultV2ActionsMixin Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Mixin contract for interacting with Yearn v2 vaults\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/integration-manager/integrations/utils/actions/YearnVaultV2ActionsMixin.sol\":\"YearnVaultV2ActionsMixin\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/integration-manager/integrations/utils/actions/YearnVaultV2ActionsMixin.sol\":{\"keccak256\":\"0x6908e42d69f84fe399dc9f8e4e6301818852a55d39d09f5bd48752b6625f8b11\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ff8b5d9075c410d3d8ca3acbe08b730a6e0c0a6cae3332b8e0c3ffbff8a59c0\",\"dweb:/ipfs/QmTQ9dYvHfTsZ1ioHteTRs3JdG3uqvkc4Ddi13FgYn9hEL\"]},\"contracts/release/interfaces/IYearnVaultV2.sol\":{\"keccak256\":\"0x3a8d57cff75a6738ed9d6492a89a293c1aa8a9b1ef5aa37835cbe3859b57c3d1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://73ca467c06368dcf27a61fd1c976ac09d477bf63931846606dc8a41552677f87\",\"dweb:/ipfs/QmP62v6Qz59exdjwsW2xiu5Rbg1LR2k1wcPHqZjQsnik2u\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/integration-manager/integrations/utils/actions/YearnVaultV2ActionsMixin.sol": "YearnVaultV2ActionsMixin" - }, - "libraries": {} - }, - "sources": { - "contracts/release/extensions/integration-manager/integrations/utils/actions/YearnVaultV2ActionsMixin.sol": { - "keccak256": "0x6908e42d69f84fe399dc9f8e4e6301818852a55d39d09f5bd48752b6625f8b11", - "urls": [ - "bzz-raw://2ff8b5d9075c410d3d8ca3acbe08b730a6e0c0a6cae3332b8e0c3ffbff8a59c0", - "dweb:/ipfs/QmTQ9dYvHfTsZ1ioHteTRs3JdG3uqvkc4Ddi13FgYn9hEL" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IYearnVaultV2.sol": { - "keccak256": "0x3a8d57cff75a6738ed9d6492a89a293c1aa8a9b1ef5aa37835cbe3859b57c3d1", - "urls": [ - "bzz-raw://73ca467c06368dcf27a61fd1c976ac09d477bf63931846606dc8a41552677f87", - "dweb:/ipfs/QmP62v6Qz59exdjwsW2xiu5Rbg1LR2k1wcPHqZjQsnik2u" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AssetHelpers.sol": { - "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", - "urls": [ - "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", - "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { - "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", - "urls": [ - "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", - "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Address.sol": { - "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", - "urls": [ - "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", - "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 198 -} +{ "abi": [], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": {}, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{},\"title\":\"YearnVaultV2ActionsMixin Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"Mixin contract for interacting with Yearn v2 vaults\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/integration-manager/integrations/utils/actions/YearnVaultV2ActionsMixin.sol\":\"YearnVaultV2ActionsMixin\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/integration-manager/integrations/utils/actions/YearnVaultV2ActionsMixin.sol\":{\"keccak256\":\"0x6908e42d69f84fe399dc9f8e4e6301818852a55d39d09f5bd48752b6625f8b11\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ff8b5d9075c410d3d8ca3acbe08b730a6e0c0a6cae3332b8e0c3ffbff8a59c0\",\"dweb:/ipfs/QmTQ9dYvHfTsZ1ioHteTRs3JdG3uqvkc4Ddi13FgYn9hEL\"]},\"contracts/release/interfaces/IYearnVaultV2.sol\":{\"keccak256\":\"0x3a8d57cff75a6738ed9d6492a89a293c1aa8a9b1ef5aa37835cbe3859b57c3d1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://73ca467c06368dcf27a61fd1c976ac09d477bf63931846606dc8a41552677f87\",\"dweb:/ipfs/QmP62v6Qz59exdjwsW2xiu5Rbg1LR2k1wcPHqZjQsnik2u\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/integration-manager/integrations/utils/actions/YearnVaultV2ActionsMixin.sol": "YearnVaultV2ActionsMixin" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/extensions/integration-manager/integrations/utils/actions/YearnVaultV2ActionsMixin.sol": { "keccak256": "0x6908e42d69f84fe399dc9f8e4e6301818852a55d39d09f5bd48752b6625f8b11", "urls": [ "bzz-raw://2ff8b5d9075c410d3d8ca3acbe08b730a6e0c0a6cae3332b8e0c3ffbff8a59c0", "dweb:/ipfs/QmTQ9dYvHfTsZ1ioHteTRs3JdG3uqvkc4Ddi13FgYn9hEL" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IYearnVaultV2.sol": { "keccak256": "0x3a8d57cff75a6738ed9d6492a89a293c1aa8a9b1ef5aa37835cbe3859b57c3d1", "urls": [ "bzz-raw://73ca467c06368dcf27a61fd1c976ac09d477bf63931846606dc8a41552677f87", "dweb:/ipfs/QmP62v6Qz59exdjwsW2xiu5Rbg1LR2k1wcPHqZjQsnik2u" ], "license": "GPL-3.0" }, "contracts/release/utils/AssetHelpers.sol": { "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", "urls": [ "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", "urls": [ "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Address.sol": { "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", "urls": [ "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" } }, "version": 1 }, "id": 198 } diff --git a/eth_defi/abi/enzyme/YearnVaultV2Adapter.json b/eth_defi/abi/enzyme/YearnVaultV2Adapter.json index 5912796a..00ba97a4 100644 --- a/eth_defi/abi/enzyme/YearnVaultV2Adapter.json +++ b/eth_defi/abi/enzyme/YearnVaultV2Adapter.json @@ -1,830 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_integrationManager", - "type": "address" - }, - { - "internalType": "address", - "name": "_yearnVaultV2PriceFeed", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "name": "CLAIM_REWARDS_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "LEND_AND_STAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "LEND_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "REDEEM_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "STAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "TAKE_MULTIPLE_ORDERS_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "TAKE_ORDER_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "UNSTAKE_AND_REDEEM_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "UNSTAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getIntegrationManager", - "outputs": [ - { - "internalType": "address", - "name": "integrationManager_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getYearnVaultV2PriceFeed", - "outputs": [ - { - "internalType": "address", - "name": "yearnVaultV2PriceFeed_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "_assetData", - "type": "bytes" - } - ], - "name": "lend", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes4", - "name": "_selector", - "type": "bytes4" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - } - ], - "name": "parseAssetsForAction", - "outputs": [ - { - "internalType": "enum IIntegrationManager.SpendAssetsHandleType", - "name": "spendAssetsHandleType_", - "type": "uint8" - }, - { - "internalType": "address[]", - "name": "spendAssets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "spendAssetAmounts_", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "incomingAssets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "minIncomingAssetAmounts_", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "_assetData", - "type": "bytes" - } - ], - "name": "redeem", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x60c060405234801561001057600080fd5b506040516118193803806118198339818101604052604081101561003357600080fd5b5080516020909101516001600160601b0319606092831b8116608052911b1660a05260805160601c60a05160601c6117916100886000398061091052508061050f528061073f52806108ec52506117916000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c8063b23228cf1161008c578063c54efee511610066578063c54efee5146102ea578063e7c45690146104ac578063f702e0ea146104d0578063f7d882b5146104d8576100ea565b8063b23228cf1461020c578063c29fa9dd14610214578063c32990a2146102e2576100ea565b8063257cb1a3116100c8578063257cb1a3146101ec5780633ffc1591146101f457806340da225d146101fc578063863e5ad014610204576100ea565b8063080456c1146100ef578063099f751514610114578063131461c0146101e4575b600080fd5b6100f76104e0565b604080516001600160e01b03199092168252519081900360200190f35b6101e26004803603606081101561012a57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561015457600080fd5b82018360208201111561016657600080fd5b803590602001918460018302840111600160201b8311171561018757600080fd5b919390929091602081019035600160201b8111156101a457600080fd5b8201836020820111156101b657600080fd5b803590602001918460018302840111600160201b831117156101d757600080fd5b509092509050610504565b005b6100f761065c565b6100f7610680565b6100f76106a4565b6100f76106c8565b6100f76106ec565b6100f7610710565b6101e26004803603606081101561022a57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561025457600080fd5b82018360208201111561026657600080fd5b803590602001918460018302840111600160201b8311171561028757600080fd5b919390929091602081019035600160201b8111156102a457600080fd5b8201836020820111156102b657600080fd5b803590602001918460018302840111600160201b831117156102d757600080fd5b509092509050610734565b6100f7610828565b6103776004803603606081101561030057600080fd5b6001600160a01b03823516916001600160e01b031960208201351691810190606081016040820135600160201b81111561033957600080fd5b82018360208201111561034b57600080fd5b803590602001918460018302840111600160201b8311171561036c57600080fd5b50909250905061084c565b6040518086600281111561038757fe5b815260200180602001806020018060200180602001858103855289818151815260200191508051906020019060200280838360005b838110156103d45781810151838201526020016103bc565b50505050905001858103845288818151815260200191508051906020019060200280838360005b838110156104135781810151838201526020016103fb565b50505050905001858103835287818151815260200191508051906020019060200280838360005b8381101561045257818101518382015260200161043a565b50505050905001858103825286818151815260200191508051906020019060200280838360005b83811015610491578181015183820152602001610479565b50505050905001995050505050505050505060405180910390f35b6104b46108ea565b604080516001600160a01b039092168252519081900360200190f35b6104b461090e565b6100f7610932565b7f8334eb99be0145865eba9889fca2ee920288090caefff4cc776038e20ad9259a81565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461056b5760405162461bcd60e51b81526004018080602001828103825260328152602001806116a46032913960400191505060405180910390fd5b8482828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f88018190048102820181019092528681526060935083925082916105e79190899089908190840183828082843760009201919091525061095692505050565b9250925092506106358a826000815181106105fe57fe5b60200260200101518560008151811061061357fe5b60200260200101518560008151811061062857fe5b6020026020010151610b13565b505050606061064382610956565b505090506106518382610ba7565b505050505050505050565b7f29fa046e79524c3c5ac4c01df692c35e217802b2b13b21121b76cf0ef02b138c81565b7f099f75155f0e997bf83a7993a71d5e7e7540bd386fe1e84643a09ce6b412521981565b7ffa7dd04da627f433da73c4355ead9c75682a67a8fc84d3f6170ef0922f402d2481565b7fb9dfbaccbe5cd2a84fdcf1d15f23ef25d23086f5afbaa99516065ed4a5bbc7a381565b7f03e38a2bd7063d45c897edeafc330e71657502dd86434d3c37a489caf116af6981565b7f68e30677f607df46e87da13e15b637784cfa62374b653f35ab43d10361a2f83081565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461079b5760405162461bcd60e51b81526004018080602001828103825260328152602001806116a46032913960400191505060405180910390fd5b8482828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250604080516020601f8c018190048102820181019092528a815291945084935083925061081591908b908b9081908401838280828437600092019190915250610d0292505050565b935050925092506106358a848484610d3f565b7f0e7f692dad5b88fdee426250d6eae91207e56a2e8112b7364579bed1790e5bf481565b600060608080806001600160e01b0319881663099f751560e01b1415610885576108768787610d9e565b945094509450945094506108df565b6001600160e01b0319881663c29fa9dd60e01b14156108a8576108768787610f51565b60405162461bcd60e51b815260040180806020018281038252602781526020018061175e6027913960400191505060405180910390fd5b945094509450945094565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b7fc29fa9dde84204c2908778afd0613d802d31cf046179b88f6d2b4a4e507ea2d581565b606080606083806020019051606081101561097057600080fd5b8101908080516040519392919084600160201b82111561098f57600080fd5b9083019060208201858111156109a457600080fd5b82518660208202830111600160201b821117156109c057600080fd5b82525081516020918201928201910280838360005b838110156109ed5781810151838201526020016109d5565b5050505090500160405260200180516040519392919084600160201b821115610a1557600080fd5b908301906020820185811115610a2a57600080fd5b82518660208202830111600160201b82111715610a4657600080fd5b82525081516020918201928201910280838360005b83811015610a73578181015183820152602001610a5b565b5050505090500160405260200180516040519392919084600160201b821115610a9b57600080fd5b908301906020820185811115610ab057600080fd5b82518660208202830111600160201b82111715610acc57600080fd5b82525081516020918201928201910280838360005b83811015610af9578181015183820152602001610ae1565b505050509050016040525050509250925092509193909250565b610b1e8284836110a3565b826001600160a01b0316636e553f6582866040518363ffffffff1660e01b815260040180838152602001826001600160a01b0316815260200192505050602060405180830381600087803b158015610b7557600080fd5b505af1158015610b89573d6000803e3d6000fd5b505050506040513d6020811015610b9f57600080fd5b505050505050565b6060815167ffffffffffffffff81118015610bc157600080fd5b50604051908082528060200260200182016040528015610beb578160200160208202803683370190505b50905060005b8251811015610cfb576000838281518110610c0857fe5b60200260200101519050806001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610c5f57600080fd5b505afa158015610c73573d6000803e3d6000fd5b505050506040513d6020811015610c8957600080fd5b50518351849084908110610c9957fe5b6020026020010181815250506000838381518110610cb357fe5b60200260200101511115610cf257610cf285848481518110610cd157fe5b6020026020010151836001600160a01b03166111619092919063ffffffff16565b50600101610bf1565b5092915050565b600080600080848060200190516080811015610d1d57600080fd5b5080516020820151604083015160609093015191989097509195509350915050565b826001600160a01b031663e63697c88386846040518463ffffffff1660e01b815260040180848152602001836001600160a01b031681526020018281526020019350505050602060405180830381600087803b158015610b7557600080fd5b60006060806060806000806000610dea8a8a8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506111b892505050565b9250925092506000610dfb846111ec565b90506001600160a01b038116610e425760405162461bcd60e51b81526004018080602001828103825260288152602001806116d66028913960400191505060405180910390fd5b60408051600180825281830190925290602080830190803683370190505097508088600081518110610e7057fe5b6001600160a01b03929092166020928302919091018201526040805160018082528183019092529182810190803683370190505096508287600081518110610eb457fe5b6020908102919091010152604080516001808252818301909252908160200160208202803683370190505095508386600081518110610eef57fe5b6001600160a01b03929092166020928302919091018201526040805160018082528183019092529182810190803683370190505094508185600081518110610f3357fe5b60200260200101818152505060029850505050509295509295909350565b60006060806060806000806000610f9d8a8a8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610d0292505050565b509250925092506000610faf846111ec565b90506001600160a01b038116610ff65760405162461bcd60e51b815260040180806020018281038252602a815260200180611654602a913960400191505060405180910390fd5b6040805160018082528183019092529060208083019080368337019050509750838860008151811061102457fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509650828760008151811061106857fe5b6020908102919091010152604080516001808252818301909252908160200160208202803683370190505095508086600081518110610eef57fe5b60408051636eb1769f60e11b81523060048201526001600160a01b038481166024830152915160009286169163dd62ed3e916044808301926020929190829003018186803b1580156110f457600080fd5b505afa158015611108573d6000803e3d6000fd5b505050506040513d602081101561111e57600080fd5b505190508181101561115b578015611145576111456001600160a01b038516846000611274565b61115b6001600160a01b03851684600019611274565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526111b3908490611383565b505050565b60008060008380602001905160608110156111d257600080fd5b508051602082015160409092015190969195509350915050565b60006111f661090e565b6001600160a01b03166366adb867836040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561124257600080fd5b505afa158015611256573d6000803e3d6000fd5b505050506040513d602081101561126c57600080fd5b505192915050565b8015806112fa575060408051636eb1769f60e11b81523060048201526001600160a01b03848116602483015291519185169163dd62ed3e91604480820192602092909190829003018186803b1580156112cc57600080fd5b505afa1580156112e0573d6000803e3d6000fd5b505050506040513d60208110156112f657600080fd5b5051155b6113355760405162461bcd60e51b81526004018080602001828103825260368152602001806117286036913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526111b39084905b60606113d8826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166114349092919063ffffffff16565b8051909150156111b3578080602001905160208110156113f757600080fd5b50516111b35760405162461bcd60e51b815260040180806020018281038252602a8152602001806116fe602a913960400191505060405180910390fd5b6060611443848460008561144d565b90505b9392505050565b60608247101561148e5760405162461bcd60e51b815260040180806020018281038252602681526020018061167e6026913960400191505060405180910390fd5b611497856115a9565b6114e8576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b602083106115275780518252601f199092019160209182019101611508565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114611589576040519150601f19603f3d011682016040523d82523d6000602084013e61158e565b606091505b509150915061159e8282866115af565b979650505050505050565b3b151590565b606083156115be575081611446565b8251156115ce5782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611618578181015183820152602001611600565b50505050905090810190601f1680156116455780820380516001836020036101000a031916815260200191505b509250505060405180910390fdfe5f5f7061727365417373657473466f7252656465656d3a20556e737570706f7274656420795661756c74416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c4f6e6c792074686520496e746567726174696f6e4d616e616765722063616e2063616c6c20746869732066756e6374696f6e5f5f7061727365417373657473466f724c656e643a20556e737570706f7274656420795661756c745361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e63657061727365417373657473466f72416374696f6e3a205f73656c6563746f7220696e76616c6964a164736f6c634300060c000a", - "sourceMap": "615:8552:177:-:0;;;749:200;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;749:200:177;;;;;;;-1:-1:-1;;;;;;1938:41:179;;;;;;;;892:50:177;;;::::1;::::0;615:8552;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106100ea5760003560e01c8063b23228cf1161008c578063c54efee511610066578063c54efee5146102ea578063e7c45690146104ac578063f702e0ea146104d0578063f7d882b5146104d8576100ea565b8063b23228cf1461020c578063c29fa9dd14610214578063c32990a2146102e2576100ea565b8063257cb1a3116100c8578063257cb1a3146101ec5780633ffc1591146101f457806340da225d146101fc578063863e5ad014610204576100ea565b8063080456c1146100ef578063099f751514610114578063131461c0146101e4575b600080fd5b6100f76104e0565b604080516001600160e01b03199092168252519081900360200190f35b6101e26004803603606081101561012a57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561015457600080fd5b82018360208201111561016657600080fd5b803590602001918460018302840111600160201b8311171561018757600080fd5b919390929091602081019035600160201b8111156101a457600080fd5b8201836020820111156101b657600080fd5b803590602001918460018302840111600160201b831117156101d757600080fd5b509092509050610504565b005b6100f761065c565b6100f7610680565b6100f76106a4565b6100f76106c8565b6100f76106ec565b6100f7610710565b6101e26004803603606081101561022a57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561025457600080fd5b82018360208201111561026657600080fd5b803590602001918460018302840111600160201b8311171561028757600080fd5b919390929091602081019035600160201b8111156102a457600080fd5b8201836020820111156102b657600080fd5b803590602001918460018302840111600160201b831117156102d757600080fd5b509092509050610734565b6100f7610828565b6103776004803603606081101561030057600080fd5b6001600160a01b03823516916001600160e01b031960208201351691810190606081016040820135600160201b81111561033957600080fd5b82018360208201111561034b57600080fd5b803590602001918460018302840111600160201b8311171561036c57600080fd5b50909250905061084c565b6040518086600281111561038757fe5b815260200180602001806020018060200180602001858103855289818151815260200191508051906020019060200280838360005b838110156103d45781810151838201526020016103bc565b50505050905001858103845288818151815260200191508051906020019060200280838360005b838110156104135781810151838201526020016103fb565b50505050905001858103835287818151815260200191508051906020019060200280838360005b8381101561045257818101518382015260200161043a565b50505050905001858103825286818151815260200191508051906020019060200280838360005b83811015610491578181015183820152602001610479565b50505050905001995050505050505050505060405180910390f35b6104b46108ea565b604080516001600160a01b039092168252519081900360200190f35b6104b461090e565b6100f7610932565b7f8334eb99be0145865eba9889fca2ee920288090caefff4cc776038e20ad9259a81565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461056b5760405162461bcd60e51b81526004018080602001828103825260328152602001806116a46032913960400191505060405180910390fd5b8482828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f88018190048102820181019092528681526060935083925082916105e79190899089908190840183828082843760009201919091525061095692505050565b9250925092506106358a826000815181106105fe57fe5b60200260200101518560008151811061061357fe5b60200260200101518560008151811061062857fe5b6020026020010151610b13565b505050606061064382610956565b505090506106518382610ba7565b505050505050505050565b7f29fa046e79524c3c5ac4c01df692c35e217802b2b13b21121b76cf0ef02b138c81565b7f099f75155f0e997bf83a7993a71d5e7e7540bd386fe1e84643a09ce6b412521981565b7ffa7dd04da627f433da73c4355ead9c75682a67a8fc84d3f6170ef0922f402d2481565b7fb9dfbaccbe5cd2a84fdcf1d15f23ef25d23086f5afbaa99516065ed4a5bbc7a381565b7f03e38a2bd7063d45c897edeafc330e71657502dd86434d3c37a489caf116af6981565b7f68e30677f607df46e87da13e15b637784cfa62374b653f35ab43d10361a2f83081565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461079b5760405162461bcd60e51b81526004018080602001828103825260328152602001806116a46032913960400191505060405180910390fd5b8482828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250604080516020601f8c018190048102820181019092528a815291945084935083925061081591908b908b9081908401838280828437600092019190915250610d0292505050565b935050925092506106358a848484610d3f565b7f0e7f692dad5b88fdee426250d6eae91207e56a2e8112b7364579bed1790e5bf481565b600060608080806001600160e01b0319881663099f751560e01b1415610885576108768787610d9e565b945094509450945094506108df565b6001600160e01b0319881663c29fa9dd60e01b14156108a8576108768787610f51565b60405162461bcd60e51b815260040180806020018281038252602781526020018061175e6027913960400191505060405180910390fd5b945094509450945094565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b7fc29fa9dde84204c2908778afd0613d802d31cf046179b88f6d2b4a4e507ea2d581565b606080606083806020019051606081101561097057600080fd5b8101908080516040519392919084600160201b82111561098f57600080fd5b9083019060208201858111156109a457600080fd5b82518660208202830111600160201b821117156109c057600080fd5b82525081516020918201928201910280838360005b838110156109ed5781810151838201526020016109d5565b5050505090500160405260200180516040519392919084600160201b821115610a1557600080fd5b908301906020820185811115610a2a57600080fd5b82518660208202830111600160201b82111715610a4657600080fd5b82525081516020918201928201910280838360005b83811015610a73578181015183820152602001610a5b565b5050505090500160405260200180516040519392919084600160201b821115610a9b57600080fd5b908301906020820185811115610ab057600080fd5b82518660208202830111600160201b82111715610acc57600080fd5b82525081516020918201928201910280838360005b83811015610af9578181015183820152602001610ae1565b505050509050016040525050509250925092509193909250565b610b1e8284836110a3565b826001600160a01b0316636e553f6582866040518363ffffffff1660e01b815260040180838152602001826001600160a01b0316815260200192505050602060405180830381600087803b158015610b7557600080fd5b505af1158015610b89573d6000803e3d6000fd5b505050506040513d6020811015610b9f57600080fd5b505050505050565b6060815167ffffffffffffffff81118015610bc157600080fd5b50604051908082528060200260200182016040528015610beb578160200160208202803683370190505b50905060005b8251811015610cfb576000838281518110610c0857fe5b60200260200101519050806001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610c5f57600080fd5b505afa158015610c73573d6000803e3d6000fd5b505050506040513d6020811015610c8957600080fd5b50518351849084908110610c9957fe5b6020026020010181815250506000838381518110610cb357fe5b60200260200101511115610cf257610cf285848481518110610cd157fe5b6020026020010151836001600160a01b03166111619092919063ffffffff16565b50600101610bf1565b5092915050565b600080600080848060200190516080811015610d1d57600080fd5b5080516020820151604083015160609093015191989097509195509350915050565b826001600160a01b031663e63697c88386846040518463ffffffff1660e01b815260040180848152602001836001600160a01b031681526020018281526020019350505050602060405180830381600087803b158015610b7557600080fd5b60006060806060806000806000610dea8a8a8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506111b892505050565b9250925092506000610dfb846111ec565b90506001600160a01b038116610e425760405162461bcd60e51b81526004018080602001828103825260288152602001806116d66028913960400191505060405180910390fd5b60408051600180825281830190925290602080830190803683370190505097508088600081518110610e7057fe5b6001600160a01b03929092166020928302919091018201526040805160018082528183019092529182810190803683370190505096508287600081518110610eb457fe5b6020908102919091010152604080516001808252818301909252908160200160208202803683370190505095508386600081518110610eef57fe5b6001600160a01b03929092166020928302919091018201526040805160018082528183019092529182810190803683370190505094508185600081518110610f3357fe5b60200260200101818152505060029850505050509295509295909350565b60006060806060806000806000610f9d8a8a8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610d0292505050565b509250925092506000610faf846111ec565b90506001600160a01b038116610ff65760405162461bcd60e51b815260040180806020018281038252602a815260200180611654602a913960400191505060405180910390fd5b6040805160018082528183019092529060208083019080368337019050509750838860008151811061102457fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509650828760008151811061106857fe5b6020908102919091010152604080516001808252818301909252908160200160208202803683370190505095508086600081518110610eef57fe5b60408051636eb1769f60e11b81523060048201526001600160a01b038481166024830152915160009286169163dd62ed3e916044808301926020929190829003018186803b1580156110f457600080fd5b505afa158015611108573d6000803e3d6000fd5b505050506040513d602081101561111e57600080fd5b505190508181101561115b578015611145576111456001600160a01b038516846000611274565b61115b6001600160a01b03851684600019611274565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526111b3908490611383565b505050565b60008060008380602001905160608110156111d257600080fd5b508051602082015160409092015190969195509350915050565b60006111f661090e565b6001600160a01b03166366adb867836040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561124257600080fd5b505afa158015611256573d6000803e3d6000fd5b505050506040513d602081101561126c57600080fd5b505192915050565b8015806112fa575060408051636eb1769f60e11b81523060048201526001600160a01b03848116602483015291519185169163dd62ed3e91604480820192602092909190829003018186803b1580156112cc57600080fd5b505afa1580156112e0573d6000803e3d6000fd5b505050506040513d60208110156112f657600080fd5b5051155b6113355760405162461bcd60e51b81526004018080602001828103825260368152602001806117286036913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526111b39084905b60606113d8826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166114349092919063ffffffff16565b8051909150156111b3578080602001905160208110156113f757600080fd5b50516111b35760405162461bcd60e51b815260040180806020018281038252602a8152602001806116fe602a913960400191505060405180910390fd5b6060611443848460008561144d565b90505b9392505050565b60608247101561148e5760405162461bcd60e51b815260040180806020018281038252602681526020018061167e6026913960400191505060405180910390fd5b611497856115a9565b6114e8576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b602083106115275780518252601f199092019160209182019101611508565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114611589576040519150601f19603f3d011682016040523d82523d6000602084013e61158e565b606091505b509150915061159e8282866115af565b979650505050505050565b3b151590565b606083156115be575081611446565b8251156115ce5782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611618578181015183820152602001611600565b50505050905090810190601f1680156116455780820380516001836020036101000a031916815260200191505b509250505060405180910390fdfe5f5f7061727365417373657473466f7252656465656d3a20556e737570706f7274656420795661756c74416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c4f6e6c792074686520496e746567726174696f6e4d616e616765722063616e2063616c6c20746869732066756e6374696f6e5f5f7061727365417373657473466f724c656e643a20556e737570706f7274656420795661756c745361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e63657061727365417373657473466f72416374696f6e3a205f73656c6563746f7220696e76616c6964a164736f6c634300060c000a", - "sourceMap": "615:8552:177:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1490:119:180;;;:::i;:::-;;;;-1:-1:-1;;;;;;1490:119:180;;;;;;;;;;;;;;1507:578:177;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1507:578:177;;;;;;;;;;;;;;;-1:-1:-1;;;1507:578:177;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1507:578:177;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1507:578:177;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1507:578:177;;;;;;;;;;-1:-1:-1;1507:578:177;;-1:-1:-1;1507:578:177;-1:-1:-1;1507:578:177;:::i;:::-;;1373:111:180;;;:::i;832:85::-;;;:::i;1034:87::-;;;:::i;1240:110::-;;;:::i;706:104::-;;;:::i;1127:91::-;;;:::i;2593:607:177:-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2593:607:177;;;;;;;;;;;;;;;-1:-1:-1;;;2593:607:177;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2593:607:177;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2593:607:177;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2593:607:177;;;;;;;;;;-1:-1:-1;2593:607:177;;-1:-1:-1;2593:607:177;-1:-1:-1;2593:607:177;:::i;577:123:180:-;;;:::i;4228:744:177:-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4228:744:177;;;;-1:-1:-1;;;;;;4228:744:177;;;;;;;;;;;;;;;;-1:-1:-1;;;4228:744:177;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4228:744:177;;;;;;;;;;-1:-1:-1;4228:744:177;;-1:-1:-1;4228:744:177;-1:-1:-1;4228:744:177;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2637:128:179;;;:::i;:::-;;;;-1:-1:-1;;;;;2637:128:179;;;;;;;;;;;;;;9027:138:177;;;:::i;923:89:180:-;;;:::i;1490:119::-;1558:50;1490:119;:::o;1507:578:177:-;1747:10:179;-1:-1:-1;;;;;1761:19:179;1747:33;;1726:130;;;;-1:-1:-1;;;1726:130:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1708:11:177::1;1721:10;;1429:247:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;;1950:29:177::2;::::0;;::::2;1429:247:179::1;1950:29:177::0;::::2;::::0;;::::2;::::0;::::2;::::0;;;;;;;;;;1816:28:::2;::::0;-1:-1:-1;1816:28:177;;-1:-1:-1;1816:28:177;;1950:29:::2;::::0;;1968:10;;;;;;1950:29;::::2;1968:10:::0;;;;1950:29;::::2;;::::0;::::2;::::0;;;;-1:-1:-1;1950:17:177::2;::::0;-1:-1:-1;;;1950:29:177:i:2;:::-;1802:177;;;;;;1990:88;2009:11;2022:14;2037:1;2022:17;;;;;;;;;;;;;;2041:11;2053:1;2041:14;;;;;;;;;;;;;;2057:17;2075:1;2057:20;;;;;;;;;;;;;;1990:18;:88::i;:::-;1531:1:179;;;1544:28:::1;1580:29;1598:10;1580:17;:29::i;:::-;1543:66;;;;1620:49;1644:11;1657;1620:23;:49::i;:::-;;1866:1;;;1507:578:177::0;;;;;:::o;1373:111:180:-;1437:46;1373:111;:::o;832:85::-;878:38;832:85;:::o;1034:87::-;1081:39;1034:87;:::o;1240:110::-;1303:46;1240:110;:::o;706:104::-;766:43;706:104;:::o;1127:91::-;1176:41;1127:91;:::o;2593:607:177:-;1747:10:179;-1:-1:-1;;;;;1761:19:179;1747:33;;1726:130;;;;-1:-1:-1;;;1726:130:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2808:11:177::1;2821:10;;1429:247:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;-1:-1:-1;2995:35:177::2;::::0;;::::2;1429:247:179::1;2995:35:177::0;::::2;::::0;;::::2;::::0;::::2;::::0;;;;;;;;;;1429:247:179;;-1:-1:-1;1429:247:179;;-1:-1:-1;1429:247:179;;-1:-1:-1;2995:35:177::2;::::0;;3018:11;;;;;;2995:35;::::2;3018:11:::0;;;;2995:35;::::2;;::::0;::::2;::::0;;;;-1:-1:-1;2995:22:177::2;::::0;-1:-1:-1;;;2995:35:177:i:2;:::-;2847:183;;;;;;;3041:152;3075:11;3100:6;3120:29;3163:20;3041;:152::i;577:123:180:-:0;647:52;577:123;:::o;4228:744:177:-;4420:64;4498:29;;;;-1:-1:-1;;;;;;4706:26:177;;-1:-1:-1;;;4706:26:177;4702:204;;;4755:33;4776:11;;4755:20;:33::i;:::-;4748:40;;;;;;;;;;;;4702:204;-1:-1:-1;;;;;;4809:28:177;;-1:-1:-1;;;4809:28:177;4805:101;;;4860:35;4883:11;;4860:22;:35::i;4805:101::-;4916:49;;-1:-1:-1;;;4916:49:177;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4228:744;;;;;;;;;;:::o;2637:128:179:-;2739:19;2637:128;:::o;9027:138:177:-;9133:25;9027:138;:::o;923:89:180:-;971:40;923:89;:::o;2093:332:179:-;2205:29;2248:35;2297:32;2372:10;2361:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;-1:-1:-1;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;-1:-1:-1;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;-1:-1:-1;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2354:64;;;;;;2093:332;;;;;:::o;667:314:198:-;837:66;863:11;876:7;885:17;837:25;:66::i;:::-;927:7;-1:-1:-1;;;;;913:30:198;;944:17;963:10;913:61;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;913:61:198;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;667:314:198:o;3539:585:355:-;3649:36;3737:7;:14;3723:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3723:29:355;;3701:51;;3767:9;3762:319;3782:7;:14;3778:1;:18;3762:319;;;3817:19;3845:7;3853:1;3845:10;;;;;;;;;;;;;;3817:39;;3895:13;-1:-1:-1;;;;;3895:23:355;;3927:4;3895:38;;;;;;;;;;;;;-1:-1:-1;;;;;3895:38:355;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3895:38:355;3870:22;;:19;;3890:1;;3870:22;;;;;;;;;;;:63;;;;;3976:1;3951:19;3971:1;3951:22;;;;;;;;;;;;;;:26;3947:124;;;3997:59;4024:7;4033:19;4053:1;4033:22;;;;;;;;;;;;;;3997:13;-1:-1:-1;;;;;3997:26:355;;;:59;;;;;:::i;:::-;-1:-1:-1;3798:3:355;;3762:319;;;;3539:585;;;;:::o;8423:377:177:-;8540:15;8569:38;8621:36;8671:29;8743:11;8732:61;;;;;;;;;;;;;;;-1:-1:-1;8732:61:177;;;;;;;;;;;;;;;;;;;-1:-1:-1;8732:61:177;;-1:-1:-1;8732:61:177;-1:-1:-1;8423:377:177;-1:-1:-1;;8423:377:177:o;1046:278:198:-;1244:7;-1:-1:-1;;;;;1230:31:198;;1262:19;1283:10;1295:21;1230:87;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1230:87:198;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5093:1336:177;5210:64;5288:29;5331:35;5380:32;5426:41;5506:14;5534:32;5580:37;5630:33;5651:11;;5630:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5630:20:177;;-1:-1:-1;;;5630:33:177:i;:::-;5492:171;;;;;;5674:18;5695:32;5720:6;5695:24;:32::i;:::-;5674:53;-1:-1:-1;;;;;;5745:24:177;;5737:77;;;;-1:-1:-1;;;5737:77:177;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5840:16;;;5854:1;5840:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5840:16:177;5825:31;;5884:10;5866:12;5879:1;5866:15;;;;;;;;-1:-1:-1;;;;;5866:28:177;;;;:15;;;;;;;;;;:28;5926:16;;;5940:1;5926:16;;;;;;;;;;;;;;5866:15;5926:16;;;;;-1:-1:-1;5926:16:177;5905:37;;5976:24;5952:18;5971:1;5952:21;;;;;;;;;;;;;;;;;:48;6029:16;;;6043:1;6029:16;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6029:16:177;6011:34;;6076:6;6055:15;6071:1;6055:18;;;;;;;;-1:-1:-1;;;;;6055:27:177;;;;:18;;;;;;;;;;:27;6120:16;;;6134:1;6120:16;;;;;;;;;;;;;;6055:18;6120:16;;;;;-1:-1:-1;6120:16:177;6093:43;;6176:29;6146:24;6171:1;6146:27;;;;;;;;;;;;;:59;;;;;6237:50;6216:206;;;;;;5093:1336;;;;;;;;:::o;6552:1350::-;6671:64;6749:29;6792:35;6841:32;6887:41;6967:14;6995:37;7046:35;7096;7119:11;;7096:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7096:22:177;;-1:-1:-1;;;7096:35:177:i;:::-;6953:178;;;;;;;7142:18;7163:32;7188:6;7163:24;:32::i;:::-;7142:53;-1:-1:-1;;;;;;7213:24:177;;7205:79;;;;-1:-1:-1;;;7205:79:177;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7310:16;;;7324:1;7310:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7310:16:177;7295:31;;7354:6;7336:12;7349:1;7336:15;;;;;;;;-1:-1:-1;;;;;7336:24:177;;;;:15;;;;;;;;;;:24;7392:16;;;7406:1;7392:16;;;;;;;;;;;;;;7336:15;7392:16;;;;;-1:-1:-1;7392:16:177;7371:37;;7442:29;7418:18;7437:1;7418:21;;;;;;;;;;;;;;;;;:53;7500:16;;;7514:1;7500:16;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7500:16:177;7482:34;;7547:10;7526:15;7542:1;7526:18;;;;;;;2554:434:355;2714:47;;;-1:-1:-1;;;2714:47:355;;2746:4;2714:47;;;;-1:-1:-1;;;;;2714:47:355;;;;;;;;;2694:17;;2714:23;;;;;:47;;;;;;;;;;;;;;:23;:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2714:47:355;;-1:-1:-1;2775:25:355;;;2771:211;;;2820:13;;2816:89;;2853:37;-1:-1:-1;;;;;2853:25:355;;2879:7;2888:1;2853:25;:37::i;:::-;2918:53;-1:-1:-1;;;;;2918:25:355;;2944:7;-1:-1:-1;;2918:25:355;:53::i;:::-;2554:434;;;;:::o;704:175:450:-;813:58;;;-1:-1:-1;;;;;813:58:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;813:58:450;-1:-1:-1;;;813:58:450;;;786:86;;806:5;;786:19;:86::i;:::-;704:175;;;:::o;8044:320:177:-;8159:15;8188:33;8235:38;8316:11;8305:52;;;;;;;;;;;;;;;-1:-1:-1;8305:52:177;;;;;;;;;;;;;;;-1:-1:-1;8305:52:177;-1:-1:-1;8044:320:177;-1:-1:-1;;8044:320:177:o;3272:215::-;3345:19;3417:26;:24;:26::i;:::-;-1:-1:-1;;;;;3395:76:177;;3472:7;3395:85;;;;;;;;;;;;;-1:-1:-1;;;;;3395:85:177;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3395:85:177;;3272:215;-1:-1:-1;;3272:215:177:o;1348:613:450:-;1713:10;;;1712:62;;-1:-1:-1;1729:39:450;;;-1:-1:-1;;;1729:39:450;;1753:4;1729:39;;;;-1:-1:-1;;;;;1729:39:450;;;;;;;;;:15;;;;;;:39;;;;;;;;;;;;;;;:15;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1729:39:450;:44;1712:62;1704:150;;;;-1:-1:-1;;;1704:150:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1891:62;;;-1:-1:-1;;;;;1891:62:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1891:62:450;-1:-1:-1;;;1891:62:450;;;1864:90;;1884:5;;2967:751;3386:23;3412:69;3440:4;3412:69;;;;;;;;;;;;;;;;;3420:5;-1:-1:-1;;;;;3412:27:450;;;:69;;;;;:::i;:::-;3495:17;;3386:95;;-1:-1:-1;3495:21:450;3491:221;;3635:10;3624:30;;;;;;;;;;;;;;;-1:-1:-1;3624:30:450;3616:85;;;;-1:-1:-1;;;3616:85:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3581:193:451;3684:12;3715:52;3737:6;3745:4;3751:1;3754:12;3715:21;:52::i;:::-;3708:59;;3581:193;;;;;;:::o;4608:523::-;4735:12;4792:5;4767:21;:30;;4759:81;;;;-1:-1:-1;;;4759:81:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4858:18;4869:6;4858:10;:18::i;:::-;4850:60;;;;;-1:-1:-1;;;4850:60:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;4981:12;4995:23;5022:6;-1:-1:-1;;;;;5022:11:451;5042:5;5050:4;5022:33;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5022:33:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4980:75;;;;5072:52;5090:7;5099:10;5111:12;5072:17;:52::i;:::-;5065:59;4608:523;-1:-1:-1;;;;;;;4608:523:451:o;726:413::-;1086:20;1124:8;;;726:413::o;7091:725::-;7206:12;7234:7;7230:580;;;-1:-1:-1;7264:10:451;7257:17;;7230:580;7375:17;;:21;7371:429;;7633:10;7627:17;7693:15;7680:10;7676:2;7672:19;7665:44;7582:145;7772:12;7765:20;;-1:-1:-1;;;7765:20:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;", - "linkReferences": {}, - "immutableReferences": { - "48653": [ - { - "start": 2320, - "length": 32 - } - ], - "49791": [ - { - "start": 1295, - "length": 32 - }, - { - "start": 1855, - "length": 32 - }, - { - "start": 2284, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "CLAIM_REWARDS_SELECTOR()": "40da225d", - "LEND_AND_STAKE_SELECTOR()": "131461c0", - "LEND_SELECTOR()": "257cb1a3", - "REDEEM_SELECTOR()": "f7d882b5", - "STAKE_SELECTOR()": "3ffc1591", - "TAKE_MULTIPLE_ORDERS_SELECTOR()": "c32990a2", - "TAKE_ORDER_SELECTOR()": "863e5ad0", - "UNSTAKE_AND_REDEEM_SELECTOR()": "080456c1", - "UNSTAKE_SELECTOR()": "b23228cf", - "getIntegrationManager()": "e7c45690", - "getYearnVaultV2PriceFeed()": "f702e0ea", - "lend(address,bytes,bytes)": "099f7515", - "parseAssetsForAction(address,bytes4,bytes)": "c54efee5", - "redeem(address,bytes,bytes)": "c29fa9dd" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_integrationManager\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_yearnVaultV2PriceFeed\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"CLAIM_REWARDS_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LEND_AND_STAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LEND_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"REDEEM_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"STAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TAKE_MULTIPLE_ORDERS_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TAKE_ORDER_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UNSTAKE_AND_REDEEM_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UNSTAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getIntegrationManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"integrationManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getYearnVaultV2PriceFeed\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"yearnVaultV2PriceFeed_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"_assetData\",\"type\":\"bytes\"}],\"name\":\"lend\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"_selector\",\"type\":\"bytes4\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"}],\"name\":\"parseAssetsForAction\",\"outputs\":[{\"internalType\":\"enum IIntegrationManager.SpendAssetsHandleType\",\"name\":\"spendAssetsHandleType_\",\"type\":\"uint8\"},{\"internalType\":\"address[]\",\"name\":\"spendAssets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"spendAssetAmounts_\",\"type\":\"uint256[]\"},{\"internalType\":\"address[]\",\"name\":\"incomingAssets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"minIncomingAssetAmounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"_assetData\",\"type\":\"bytes\"}],\"name\":\"redeem\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"getIntegrationManager()\":{\"returns\":{\"integrationManager_\":\"The `INTEGRATION_MANAGER` variable value\"}},\"getYearnVaultV2PriceFeed()\":{\"returns\":{\"yearnVaultV2PriceFeed_\":\"The `YEARN_VAULT_V2_PRICE_FEED` variable value\"}},\"lend(address,bytes,bytes)\":{\"details\":\"Using postActionSpendAssetsTransferHandler is probably overkill, but since new yVault v2 contracts can update logic, this protects against a future implementation in which a partial underlying deposit amount is used if the desired amount exceeds the deposit limit, for example.\",\"params\":{\"_assetData\":\"Parsed spend assets and incoming assets data for this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}},\"parseAssetsForAction(address,bytes4,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_selector\":\"The function selector for the callOnIntegration\"},\"returns\":{\"incomingAssets_\":\"The assets to receive in the call\",\"minIncomingAssetAmounts_\":\"The min asset amounts to receive in the call\",\"spendAssetAmounts_\":\"The max asset amounts to spend in the call\",\"spendAssetsHandleType_\":\"A type that dictates how to handle granting the adapter access to spend assets (`None` by default)\",\"spendAssets_\":\"The assets to spend in the call\"}},\"redeem(address,bytes,bytes)\":{\"details\":\"The amount of yVault shares to be redeemed can be adjusted in yVault.withdraw() depending on the available underlying balance, so we must send unredeemed yVault shares back to the _vaultProxy\",\"params\":{\"_actionData\":\"Data specific to this action\",\"_assetData\":\"Parsed spend assets and incoming assets data for this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}}},\"title\":\"YearnVaultV2Adapter Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getIntegrationManager()\":{\"notice\":\"Gets the `INTEGRATION_MANAGER` variable\"},\"getYearnVaultV2PriceFeed()\":{\"notice\":\"Gets the `YEARN_VAULT_V2_PRICE_FEED` variable\"},\"lend(address,bytes,bytes)\":{\"notice\":\"Deposits an amount of an underlying asset into its corresponding yVault\"},\"parseAssetsForAction(address,bytes4,bytes)\":{\"notice\":\"Parses the expected assets in a particular action\"},\"redeem(address,bytes,bytes)\":{\"notice\":\"Redeems an amount of yVault shares for its underlying asset\"}},\"notice\":\"Adapter for interacting with Yearn v2 vaults\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/integration-manager/integrations/adapters/YearnVaultV2Adapter.sol\":\"YearnVaultV2Adapter\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/extensions/integration-manager/IIntegrationManager.sol\":{\"keccak256\":\"0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23\",\"dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk\"]},\"contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol\":{\"keccak256\":\"0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336\",\"dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS\"]},\"contracts/release/extensions/integration-manager/integrations/adapters/YearnVaultV2Adapter.sol\":{\"keccak256\":\"0x14ca950da9cec3a6205e62afb0c59cb5b41824684169ec8c359328f97b584867\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a51bc2a71fdc0d3646aeb969e83559b9d19d6da911f77c72304fe122cf10089a\",\"dweb:/ipfs/QmbqJbFpodZ9mR6Wb9ceyjsUxqjZtdsBPmZMfDeUYVMADG\"]},\"contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol\":{\"keccak256\":\"0x067e49bf0d3c1655ab41a413c65ccf61d4e593308132e1ffc484a0fadfbbaf26\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://387f425017e18e89cc1893521101fa99df595314847d0b3d9a1162369f714fcf\",\"dweb:/ipfs/Qmco3jCvuWAyfCpBYpGzHrQjiFJG63w1RJKcakoTEbxRQm\"]},\"contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol\":{\"keccak256\":\"0xfd34c7ca8231c6935e25dede32ca2b3121738e624d0fc896f7b895a731edcf88\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d492c061963d36d07718446db191d4c5a340c0d847f6cd209f027bd99f7cb176\",\"dweb:/ipfs/QmfCvRZt56ftDdrEh6LepHXFJ4fVtcfpQGvEyY8k4zxG1A\"]},\"contracts/release/extensions/integration-manager/integrations/utils/actions/YearnVaultV2ActionsMixin.sol\":{\"keccak256\":\"0x6908e42d69f84fe399dc9f8e4e6301818852a55d39d09f5bd48752b6625f8b11\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ff8b5d9075c410d3d8ca3acbe08b730a6e0c0a6cae3332b8e0c3ffbff8a59c0\",\"dweb:/ipfs/QmTQ9dYvHfTsZ1ioHteTRs3JdG3uqvkc4Ddi13FgYn9hEL\"]},\"contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol\":{\"keccak256\":\"0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e\",\"dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK\"]},\"contracts/release/infrastructure/price-feeds/derivatives/feeds/YearnVaultV2PriceFeed.sol\":{\"keccak256\":\"0x6c892b3259c1bfb2e725b79fb8edf14de1280b07320b8445975afc12dbc27e12\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://be11349a75128518d38df96615525c6fc75df1f77f4eecd946965be78d4090fd\",\"dweb:/ipfs/QmTYAHXMutaZNPhB4JAxD7f37AGpiRvUMiLgXdP6LTxuP1\"]},\"contracts/release/infrastructure/price-feeds/derivatives/feeds/utils/SingleUnderlyingDerivativeRegistryMixin.sol\":{\"keccak256\":\"0xeb2aab819af80382ad562d5a80863484a42caa7888f811817eb283894a1852e7\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8846bfa874ede75fbcd3053d45a1647cad0aabbb26e4189998e8c517961c2bb6\",\"dweb:/ipfs/QmV4Bgx9VfX6kaoyZuaBDf2xyTY4ZmjniZTX8TrEmhU4Pv\"]},\"contracts/release/interfaces/IYearnVaultV2.sol\":{\"keccak256\":\"0x3a8d57cff75a6738ed9d6492a89a293c1aa8a9b1ef5aa37835cbe3859b57c3d1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://73ca467c06368dcf27a61fd1c976ac09d477bf63931846606dc8a41552677f87\",\"dweb:/ipfs/QmP62v6Qz59exdjwsW2xiu5Rbg1LR2k1wcPHqZjQsnik2u\"]},\"contracts/release/interfaces/IYearnVaultV2Registry.sol\":{\"keccak256\":\"0xca387afa8b2158544765c86be1cc71ced66573fefb9cb545a92beef7860876d8\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://0f97ba821c58e057b0bbea0e7957b0e37040f0b6eb63a92747f2b12430b5847d\",\"dweb:/ipfs/QmQKdh27zS7KjumTwCTwq5eXfnFHAfZe7HWosEDx1mJfEq\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"contracts/release/utils/FundDeployerOwnerMixin.sol\":{\"keccak256\":\"0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927\",\"dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_integrationManager", - "type": "address" - }, - { - "internalType": "address", - "name": "_yearnVaultV2PriceFeed", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "CLAIM_REWARDS_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "LEND_AND_STAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "LEND_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "REDEEM_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "STAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "TAKE_MULTIPLE_ORDERS_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "TAKE_ORDER_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "UNSTAKE_AND_REDEEM_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "UNSTAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getIntegrationManager", - "outputs": [ - { - "internalType": "address", - "name": "integrationManager_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getYearnVaultV2PriceFeed", - "outputs": [ - { - "internalType": "address", - "name": "yearnVaultV2PriceFeed_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "_assetData", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "lend" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes4", - "name": "_selector", - "type": "bytes4" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - } - ], - "stateMutability": "view", - "type": "function", - "name": "parseAssetsForAction", - "outputs": [ - { - "internalType": "enum IIntegrationManager.SpendAssetsHandleType", - "name": "spendAssetsHandleType_", - "type": "uint8" - }, - { - "internalType": "address[]", - "name": "spendAssets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "spendAssetAmounts_", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "incomingAssets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "minIncomingAssetAmounts_", - "type": "uint256[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "_assetData", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "redeem" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "getIntegrationManager()": { - "returns": { - "integrationManager_": "The `INTEGRATION_MANAGER` variable value" - } - }, - "getYearnVaultV2PriceFeed()": { - "returns": { - "yearnVaultV2PriceFeed_": "The `YEARN_VAULT_V2_PRICE_FEED` variable value" - } - }, - "lend(address,bytes,bytes)": { - "details": "Using postActionSpendAssetsTransferHandler is probably overkill, but since new yVault v2 contracts can update logic, this protects against a future implementation in which a partial underlying deposit amount is used if the desired amount exceeds the deposit limit, for example.", - "params": { - "_assetData": "Parsed spend assets and incoming assets data for this action", - "_vaultProxy": "The VaultProxy of the calling fund" - } - }, - "parseAssetsForAction(address,bytes4,bytes)": { - "params": { - "_actionData": "Data specific to this action", - "_selector": "The function selector for the callOnIntegration" - }, - "returns": { - "incomingAssets_": "The assets to receive in the call", - "minIncomingAssetAmounts_": "The min asset amounts to receive in the call", - "spendAssetAmounts_": "The max asset amounts to spend in the call", - "spendAssetsHandleType_": "A type that dictates how to handle granting the adapter access to spend assets (`None` by default)", - "spendAssets_": "The assets to spend in the call" - } - }, - "redeem(address,bytes,bytes)": { - "details": "The amount of yVault shares to be redeemed can be adjusted in yVault.withdraw() depending on the available underlying balance, so we must send unredeemed yVault shares back to the _vaultProxy", - "params": { - "_actionData": "Data specific to this action", - "_assetData": "Parsed spend assets and incoming assets data for this action", - "_vaultProxy": "The VaultProxy of the calling fund" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "getIntegrationManager()": { - "notice": "Gets the `INTEGRATION_MANAGER` variable" - }, - "getYearnVaultV2PriceFeed()": { - "notice": "Gets the `YEARN_VAULT_V2_PRICE_FEED` variable" - }, - "lend(address,bytes,bytes)": { - "notice": "Deposits an amount of an underlying asset into its corresponding yVault" - }, - "parseAssetsForAction(address,bytes4,bytes)": { - "notice": "Parses the expected assets in a particular action" - }, - "redeem(address,bytes,bytes)": { - "notice": "Redeems an amount of yVault shares for its underlying asset" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/integration-manager/integrations/adapters/YearnVaultV2Adapter.sol": "YearnVaultV2Adapter" - }, - "libraries": {} - }, - "sources": { - "contracts/release/core/fund-deployer/IFundDeployer.sol": { - "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", - "urls": [ - "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", - "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/IIntegrationManager.sol": { - "keccak256": "0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef", - "urls": [ - "bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23", - "dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol": { - "keccak256": "0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1", - "urls": [ - "bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336", - "dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/adapters/YearnVaultV2Adapter.sol": { - "keccak256": "0x14ca950da9cec3a6205e62afb0c59cb5b41824684169ec8c359328f97b584867", - "urls": [ - "bzz-raw://a51bc2a71fdc0d3646aeb969e83559b9d19d6da911f77c72304fe122cf10089a", - "dweb:/ipfs/QmbqJbFpodZ9mR6Wb9ceyjsUxqjZtdsBPmZMfDeUYVMADG" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol": { - "keccak256": "0x067e49bf0d3c1655ab41a413c65ccf61d4e593308132e1ffc484a0fadfbbaf26", - "urls": [ - "bzz-raw://387f425017e18e89cc1893521101fa99df595314847d0b3d9a1162369f714fcf", - "dweb:/ipfs/Qmco3jCvuWAyfCpBYpGzHrQjiFJG63w1RJKcakoTEbxRQm" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol": { - "keccak256": "0xfd34c7ca8231c6935e25dede32ca2b3121738e624d0fc896f7b895a731edcf88", - "urls": [ - "bzz-raw://d492c061963d36d07718446db191d4c5a340c0d847f6cd209f027bd99f7cb176", - "dweb:/ipfs/QmfCvRZt56ftDdrEh6LepHXFJ4fVtcfpQGvEyY8k4zxG1A" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/utils/actions/YearnVaultV2ActionsMixin.sol": { - "keccak256": "0x6908e42d69f84fe399dc9f8e4e6301818852a55d39d09f5bd48752b6625f8b11", - "urls": [ - "bzz-raw://2ff8b5d9075c410d3d8ca3acbe08b730a6e0c0a6cae3332b8e0c3ffbff8a59c0", - "dweb:/ipfs/QmTQ9dYvHfTsZ1ioHteTRs3JdG3uqvkc4Ddi13FgYn9hEL" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol": { - "keccak256": "0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332", - "urls": [ - "bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e", - "dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/price-feeds/derivatives/feeds/YearnVaultV2PriceFeed.sol": { - "keccak256": "0x6c892b3259c1bfb2e725b79fb8edf14de1280b07320b8445975afc12dbc27e12", - "urls": [ - "bzz-raw://be11349a75128518d38df96615525c6fc75df1f77f4eecd946965be78d4090fd", - "dweb:/ipfs/QmTYAHXMutaZNPhB4JAxD7f37AGpiRvUMiLgXdP6LTxuP1" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/price-feeds/derivatives/feeds/utils/SingleUnderlyingDerivativeRegistryMixin.sol": { - "keccak256": "0xeb2aab819af80382ad562d5a80863484a42caa7888f811817eb283894a1852e7", - "urls": [ - "bzz-raw://8846bfa874ede75fbcd3053d45a1647cad0aabbb26e4189998e8c517961c2bb6", - "dweb:/ipfs/QmV4Bgx9VfX6kaoyZuaBDf2xyTY4ZmjniZTX8TrEmhU4Pv" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IYearnVaultV2.sol": { - "keccak256": "0x3a8d57cff75a6738ed9d6492a89a293c1aa8a9b1ef5aa37835cbe3859b57c3d1", - "urls": [ - "bzz-raw://73ca467c06368dcf27a61fd1c976ac09d477bf63931846606dc8a41552677f87", - "dweb:/ipfs/QmP62v6Qz59exdjwsW2xiu5Rbg1LR2k1wcPHqZjQsnik2u" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IYearnVaultV2Registry.sol": { - "keccak256": "0xca387afa8b2158544765c86be1cc71ced66573fefb9cb545a92beef7860876d8", - "urls": [ - "bzz-raw://0f97ba821c58e057b0bbea0e7957b0e37040f0b6eb63a92747f2b12430b5847d", - "dweb:/ipfs/QmQKdh27zS7KjumTwCTwq5eXfnFHAfZe7HWosEDx1mJfEq" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AssetHelpers.sol": { - "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", - "urls": [ - "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", - "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/FundDeployerOwnerMixin.sol": { - "keccak256": "0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934", - "urls": [ - "bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927", - "dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { - "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", - "urls": [ - "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", - "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Address.sol": { - "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", - "urls": [ - "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", - "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 177 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_integrationManager", "type": "address", "internalType": "address" }, { "name": "_yearnVaultV2PriceFeed", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "CLAIM_REWARDS_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "LEND_AND_STAKE_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "LEND_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "REDEEM_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "STAKE_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "TAKE_MULTIPLE_ORDERS_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "TAKE_ORDER_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "UNSTAKE_AND_REDEEM_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "UNSTAKE_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "getIntegrationManager", "inputs": [], "outputs": [ { "name": "integrationManager_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getYearnVaultV2PriceFeed", "inputs": [], "outputs": [ { "name": "yearnVaultV2PriceFeed_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "lend", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "", "type": "bytes", "internalType": "bytes" }, { "name": "_assetData", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "parseAssetsForAction", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "_selector", "type": "bytes4", "internalType": "bytes4" }, { "name": "_actionData", "type": "bytes", "internalType": "bytes" } ], "outputs": [ { "name": "spendAssetsHandleType_", "type": "uint8", "internalType": "enum IIntegrationManager.SpendAssetsHandleType" }, { "name": "spendAssets_", "type": "address[]", "internalType": "address[]" }, { "name": "spendAssetAmounts_", "type": "uint256[]", "internalType": "uint256[]" }, { "name": "incomingAssets_", "type": "address[]", "internalType": "address[]" }, { "name": "minIncomingAssetAmounts_", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "view" }, { "type": "function", "name": "redeem", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_actionData", "type": "bytes", "internalType": "bytes" }, { "name": "_assetData", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" } ], "bytecode": { "object": "0x60c060405234801561001057600080fd5b506040516118193803806118198339818101604052604081101561003357600080fd5b5080516020909101516001600160601b0319606092831b8116608052911b1660a05260805160601c60a05160601c6117916100886000398061091052508061050f528061073f52806108ec52506117916000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c8063b23228cf1161008c578063c54efee511610066578063c54efee5146102ea578063e7c45690146104ac578063f702e0ea146104d0578063f7d882b5146104d8576100ea565b8063b23228cf1461020c578063c29fa9dd14610214578063c32990a2146102e2576100ea565b8063257cb1a3116100c8578063257cb1a3146101ec5780633ffc1591146101f457806340da225d146101fc578063863e5ad014610204576100ea565b8063080456c1146100ef578063099f751514610114578063131461c0146101e4575b600080fd5b6100f76104e0565b604080516001600160e01b03199092168252519081900360200190f35b6101e26004803603606081101561012a57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561015457600080fd5b82018360208201111561016657600080fd5b803590602001918460018302840111600160201b8311171561018757600080fd5b919390929091602081019035600160201b8111156101a457600080fd5b8201836020820111156101b657600080fd5b803590602001918460018302840111600160201b831117156101d757600080fd5b509092509050610504565b005b6100f761065c565b6100f7610680565b6100f76106a4565b6100f76106c8565b6100f76106ec565b6100f7610710565b6101e26004803603606081101561022a57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561025457600080fd5b82018360208201111561026657600080fd5b803590602001918460018302840111600160201b8311171561028757600080fd5b919390929091602081019035600160201b8111156102a457600080fd5b8201836020820111156102b657600080fd5b803590602001918460018302840111600160201b831117156102d757600080fd5b509092509050610734565b6100f7610828565b6103776004803603606081101561030057600080fd5b6001600160a01b03823516916001600160e01b031960208201351691810190606081016040820135600160201b81111561033957600080fd5b82018360208201111561034b57600080fd5b803590602001918460018302840111600160201b8311171561036c57600080fd5b50909250905061084c565b6040518086600281111561038757fe5b815260200180602001806020018060200180602001858103855289818151815260200191508051906020019060200280838360005b838110156103d45781810151838201526020016103bc565b50505050905001858103845288818151815260200191508051906020019060200280838360005b838110156104135781810151838201526020016103fb565b50505050905001858103835287818151815260200191508051906020019060200280838360005b8381101561045257818101518382015260200161043a565b50505050905001858103825286818151815260200191508051906020019060200280838360005b83811015610491578181015183820152602001610479565b50505050905001995050505050505050505060405180910390f35b6104b46108ea565b604080516001600160a01b039092168252519081900360200190f35b6104b461090e565b6100f7610932565b7f8334eb99be0145865eba9889fca2ee920288090caefff4cc776038e20ad9259a81565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461056b5760405162461bcd60e51b81526004018080602001828103825260328152602001806116a46032913960400191505060405180910390fd5b8482828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f88018190048102820181019092528681526060935083925082916105e79190899089908190840183828082843760009201919091525061095692505050565b9250925092506106358a826000815181106105fe57fe5b60200260200101518560008151811061061357fe5b60200260200101518560008151811061062857fe5b6020026020010151610b13565b505050606061064382610956565b505090506106518382610ba7565b505050505050505050565b7f29fa046e79524c3c5ac4c01df692c35e217802b2b13b21121b76cf0ef02b138c81565b7f099f75155f0e997bf83a7993a71d5e7e7540bd386fe1e84643a09ce6b412521981565b7ffa7dd04da627f433da73c4355ead9c75682a67a8fc84d3f6170ef0922f402d2481565b7fb9dfbaccbe5cd2a84fdcf1d15f23ef25d23086f5afbaa99516065ed4a5bbc7a381565b7f03e38a2bd7063d45c897edeafc330e71657502dd86434d3c37a489caf116af6981565b7f68e30677f607df46e87da13e15b637784cfa62374b653f35ab43d10361a2f83081565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461079b5760405162461bcd60e51b81526004018080602001828103825260328152602001806116a46032913960400191505060405180910390fd5b8482828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250604080516020601f8c018190048102820181019092528a815291945084935083925061081591908b908b9081908401838280828437600092019190915250610d0292505050565b935050925092506106358a848484610d3f565b7f0e7f692dad5b88fdee426250d6eae91207e56a2e8112b7364579bed1790e5bf481565b600060608080806001600160e01b0319881663099f751560e01b1415610885576108768787610d9e565b945094509450945094506108df565b6001600160e01b0319881663c29fa9dd60e01b14156108a8576108768787610f51565b60405162461bcd60e51b815260040180806020018281038252602781526020018061175e6027913960400191505060405180910390fd5b945094509450945094565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b7fc29fa9dde84204c2908778afd0613d802d31cf046179b88f6d2b4a4e507ea2d581565b606080606083806020019051606081101561097057600080fd5b8101908080516040519392919084600160201b82111561098f57600080fd5b9083019060208201858111156109a457600080fd5b82518660208202830111600160201b821117156109c057600080fd5b82525081516020918201928201910280838360005b838110156109ed5781810151838201526020016109d5565b5050505090500160405260200180516040519392919084600160201b821115610a1557600080fd5b908301906020820185811115610a2a57600080fd5b82518660208202830111600160201b82111715610a4657600080fd5b82525081516020918201928201910280838360005b83811015610a73578181015183820152602001610a5b565b5050505090500160405260200180516040519392919084600160201b821115610a9b57600080fd5b908301906020820185811115610ab057600080fd5b82518660208202830111600160201b82111715610acc57600080fd5b82525081516020918201928201910280838360005b83811015610af9578181015183820152602001610ae1565b505050509050016040525050509250925092509193909250565b610b1e8284836110a3565b826001600160a01b0316636e553f6582866040518363ffffffff1660e01b815260040180838152602001826001600160a01b0316815260200192505050602060405180830381600087803b158015610b7557600080fd5b505af1158015610b89573d6000803e3d6000fd5b505050506040513d6020811015610b9f57600080fd5b505050505050565b6060815167ffffffffffffffff81118015610bc157600080fd5b50604051908082528060200260200182016040528015610beb578160200160208202803683370190505b50905060005b8251811015610cfb576000838281518110610c0857fe5b60200260200101519050806001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610c5f57600080fd5b505afa158015610c73573d6000803e3d6000fd5b505050506040513d6020811015610c8957600080fd5b50518351849084908110610c9957fe5b6020026020010181815250506000838381518110610cb357fe5b60200260200101511115610cf257610cf285848481518110610cd157fe5b6020026020010151836001600160a01b03166111619092919063ffffffff16565b50600101610bf1565b5092915050565b600080600080848060200190516080811015610d1d57600080fd5b5080516020820151604083015160609093015191989097509195509350915050565b826001600160a01b031663e63697c88386846040518463ffffffff1660e01b815260040180848152602001836001600160a01b031681526020018281526020019350505050602060405180830381600087803b158015610b7557600080fd5b60006060806060806000806000610dea8a8a8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506111b892505050565b9250925092506000610dfb846111ec565b90506001600160a01b038116610e425760405162461bcd60e51b81526004018080602001828103825260288152602001806116d66028913960400191505060405180910390fd5b60408051600180825281830190925290602080830190803683370190505097508088600081518110610e7057fe5b6001600160a01b03929092166020928302919091018201526040805160018082528183019092529182810190803683370190505096508287600081518110610eb457fe5b6020908102919091010152604080516001808252818301909252908160200160208202803683370190505095508386600081518110610eef57fe5b6001600160a01b03929092166020928302919091018201526040805160018082528183019092529182810190803683370190505094508185600081518110610f3357fe5b60200260200101818152505060029850505050509295509295909350565b60006060806060806000806000610f9d8a8a8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610d0292505050565b509250925092506000610faf846111ec565b90506001600160a01b038116610ff65760405162461bcd60e51b815260040180806020018281038252602a815260200180611654602a913960400191505060405180910390fd5b6040805160018082528183019092529060208083019080368337019050509750838860008151811061102457fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509650828760008151811061106857fe5b6020908102919091010152604080516001808252818301909252908160200160208202803683370190505095508086600081518110610eef57fe5b60408051636eb1769f60e11b81523060048201526001600160a01b038481166024830152915160009286169163dd62ed3e916044808301926020929190829003018186803b1580156110f457600080fd5b505afa158015611108573d6000803e3d6000fd5b505050506040513d602081101561111e57600080fd5b505190508181101561115b578015611145576111456001600160a01b038516846000611274565b61115b6001600160a01b03851684600019611274565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526111b3908490611383565b505050565b60008060008380602001905160608110156111d257600080fd5b508051602082015160409092015190969195509350915050565b60006111f661090e565b6001600160a01b03166366adb867836040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561124257600080fd5b505afa158015611256573d6000803e3d6000fd5b505050506040513d602081101561126c57600080fd5b505192915050565b8015806112fa575060408051636eb1769f60e11b81523060048201526001600160a01b03848116602483015291519185169163dd62ed3e91604480820192602092909190829003018186803b1580156112cc57600080fd5b505afa1580156112e0573d6000803e3d6000fd5b505050506040513d60208110156112f657600080fd5b5051155b6113355760405162461bcd60e51b81526004018080602001828103825260368152602001806117286036913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526111b39084905b60606113d8826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166114349092919063ffffffff16565b8051909150156111b3578080602001905160208110156113f757600080fd5b50516111b35760405162461bcd60e51b815260040180806020018281038252602a8152602001806116fe602a913960400191505060405180910390fd5b6060611443848460008561144d565b90505b9392505050565b60608247101561148e5760405162461bcd60e51b815260040180806020018281038252602681526020018061167e6026913960400191505060405180910390fd5b611497856115a9565b6114e8576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b602083106115275780518252601f199092019160209182019101611508565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114611589576040519150601f19603f3d011682016040523d82523d6000602084013e61158e565b606091505b509150915061159e8282866115af565b979650505050505050565b3b151590565b606083156115be575081611446565b8251156115ce5782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611618578181015183820152602001611600565b50505050905090810190601f1680156116455780820380516001836020036101000a031916815260200191505b509250505060405180910390fdfe5f5f7061727365417373657473466f7252656465656d3a20556e737570706f7274656420795661756c74416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c4f6e6c792074686520496e746567726174696f6e4d616e616765722063616e2063616c6c20746869732066756e6374696f6e5f5f7061727365417373657473466f724c656e643a20556e737570706f7274656420795661756c745361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e63657061727365417373657473466f72416374696f6e3a205f73656c6563746f7220696e76616c6964a164736f6c634300060c000a", "sourceMap": "615:8552:177:-:0;;;749:200;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;749:200:177;;;;;;;-1:-1:-1;;;;;;1938:41:179;;;;;;;;892:50:177;;;::::1;::::0;615:8552;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106100ea5760003560e01c8063b23228cf1161008c578063c54efee511610066578063c54efee5146102ea578063e7c45690146104ac578063f702e0ea146104d0578063f7d882b5146104d8576100ea565b8063b23228cf1461020c578063c29fa9dd14610214578063c32990a2146102e2576100ea565b8063257cb1a3116100c8578063257cb1a3146101ec5780633ffc1591146101f457806340da225d146101fc578063863e5ad014610204576100ea565b8063080456c1146100ef578063099f751514610114578063131461c0146101e4575b600080fd5b6100f76104e0565b604080516001600160e01b03199092168252519081900360200190f35b6101e26004803603606081101561012a57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561015457600080fd5b82018360208201111561016657600080fd5b803590602001918460018302840111600160201b8311171561018757600080fd5b919390929091602081019035600160201b8111156101a457600080fd5b8201836020820111156101b657600080fd5b803590602001918460018302840111600160201b831117156101d757600080fd5b509092509050610504565b005b6100f761065c565b6100f7610680565b6100f76106a4565b6100f76106c8565b6100f76106ec565b6100f7610710565b6101e26004803603606081101561022a57600080fd5b6001600160a01b038235169190810190604081016020820135600160201b81111561025457600080fd5b82018360208201111561026657600080fd5b803590602001918460018302840111600160201b8311171561028757600080fd5b919390929091602081019035600160201b8111156102a457600080fd5b8201836020820111156102b657600080fd5b803590602001918460018302840111600160201b831117156102d757600080fd5b509092509050610734565b6100f7610828565b6103776004803603606081101561030057600080fd5b6001600160a01b03823516916001600160e01b031960208201351691810190606081016040820135600160201b81111561033957600080fd5b82018360208201111561034b57600080fd5b803590602001918460018302840111600160201b8311171561036c57600080fd5b50909250905061084c565b6040518086600281111561038757fe5b815260200180602001806020018060200180602001858103855289818151815260200191508051906020019060200280838360005b838110156103d45781810151838201526020016103bc565b50505050905001858103845288818151815260200191508051906020019060200280838360005b838110156104135781810151838201526020016103fb565b50505050905001858103835287818151815260200191508051906020019060200280838360005b8381101561045257818101518382015260200161043a565b50505050905001858103825286818151815260200191508051906020019060200280838360005b83811015610491578181015183820152602001610479565b50505050905001995050505050505050505060405180910390f35b6104b46108ea565b604080516001600160a01b039092168252519081900360200190f35b6104b461090e565b6100f7610932565b7f8334eb99be0145865eba9889fca2ee920288090caefff4cc776038e20ad9259a81565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461056b5760405162461bcd60e51b81526004018080602001828103825260328152602001806116a46032913960400191505060405180910390fd5b8482828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f88018190048102820181019092528681526060935083925082916105e79190899089908190840183828082843760009201919091525061095692505050565b9250925092506106358a826000815181106105fe57fe5b60200260200101518560008151811061061357fe5b60200260200101518560008151811061062857fe5b6020026020010151610b13565b505050606061064382610956565b505090506106518382610ba7565b505050505050505050565b7f29fa046e79524c3c5ac4c01df692c35e217802b2b13b21121b76cf0ef02b138c81565b7f099f75155f0e997bf83a7993a71d5e7e7540bd386fe1e84643a09ce6b412521981565b7ffa7dd04da627f433da73c4355ead9c75682a67a8fc84d3f6170ef0922f402d2481565b7fb9dfbaccbe5cd2a84fdcf1d15f23ef25d23086f5afbaa99516065ed4a5bbc7a381565b7f03e38a2bd7063d45c897edeafc330e71657502dd86434d3c37a489caf116af6981565b7f68e30677f607df46e87da13e15b637784cfa62374b653f35ab43d10361a2f83081565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461079b5760405162461bcd60e51b81526004018080602001828103825260328152602001806116a46032913960400191505060405180910390fd5b8482828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250604080516020601f8c018190048102820181019092528a815291945084935083925061081591908b908b9081908401838280828437600092019190915250610d0292505050565b935050925092506106358a848484610d3f565b7f0e7f692dad5b88fdee426250d6eae91207e56a2e8112b7364579bed1790e5bf481565b600060608080806001600160e01b0319881663099f751560e01b1415610885576108768787610d9e565b945094509450945094506108df565b6001600160e01b0319881663c29fa9dd60e01b14156108a8576108768787610f51565b60405162461bcd60e51b815260040180806020018281038252602781526020018061175e6027913960400191505060405180910390fd5b945094509450945094565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b7fc29fa9dde84204c2908778afd0613d802d31cf046179b88f6d2b4a4e507ea2d581565b606080606083806020019051606081101561097057600080fd5b8101908080516040519392919084600160201b82111561098f57600080fd5b9083019060208201858111156109a457600080fd5b82518660208202830111600160201b821117156109c057600080fd5b82525081516020918201928201910280838360005b838110156109ed5781810151838201526020016109d5565b5050505090500160405260200180516040519392919084600160201b821115610a1557600080fd5b908301906020820185811115610a2a57600080fd5b82518660208202830111600160201b82111715610a4657600080fd5b82525081516020918201928201910280838360005b83811015610a73578181015183820152602001610a5b565b5050505090500160405260200180516040519392919084600160201b821115610a9b57600080fd5b908301906020820185811115610ab057600080fd5b82518660208202830111600160201b82111715610acc57600080fd5b82525081516020918201928201910280838360005b83811015610af9578181015183820152602001610ae1565b505050509050016040525050509250925092509193909250565b610b1e8284836110a3565b826001600160a01b0316636e553f6582866040518363ffffffff1660e01b815260040180838152602001826001600160a01b0316815260200192505050602060405180830381600087803b158015610b7557600080fd5b505af1158015610b89573d6000803e3d6000fd5b505050506040513d6020811015610b9f57600080fd5b505050505050565b6060815167ffffffffffffffff81118015610bc157600080fd5b50604051908082528060200260200182016040528015610beb578160200160208202803683370190505b50905060005b8251811015610cfb576000838281518110610c0857fe5b60200260200101519050806001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610c5f57600080fd5b505afa158015610c73573d6000803e3d6000fd5b505050506040513d6020811015610c8957600080fd5b50518351849084908110610c9957fe5b6020026020010181815250506000838381518110610cb357fe5b60200260200101511115610cf257610cf285848481518110610cd157fe5b6020026020010151836001600160a01b03166111619092919063ffffffff16565b50600101610bf1565b5092915050565b600080600080848060200190516080811015610d1d57600080fd5b5080516020820151604083015160609093015191989097509195509350915050565b826001600160a01b031663e63697c88386846040518463ffffffff1660e01b815260040180848152602001836001600160a01b031681526020018281526020019350505050602060405180830381600087803b158015610b7557600080fd5b60006060806060806000806000610dea8a8a8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506111b892505050565b9250925092506000610dfb846111ec565b90506001600160a01b038116610e425760405162461bcd60e51b81526004018080602001828103825260288152602001806116d66028913960400191505060405180910390fd5b60408051600180825281830190925290602080830190803683370190505097508088600081518110610e7057fe5b6001600160a01b03929092166020928302919091018201526040805160018082528183019092529182810190803683370190505096508287600081518110610eb457fe5b6020908102919091010152604080516001808252818301909252908160200160208202803683370190505095508386600081518110610eef57fe5b6001600160a01b03929092166020928302919091018201526040805160018082528183019092529182810190803683370190505094508185600081518110610f3357fe5b60200260200101818152505060029850505050509295509295909350565b60006060806060806000806000610f9d8a8a8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610d0292505050565b509250925092506000610faf846111ec565b90506001600160a01b038116610ff65760405162461bcd60e51b815260040180806020018281038252602a815260200180611654602a913960400191505060405180910390fd5b6040805160018082528183019092529060208083019080368337019050509750838860008151811061102457fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509650828760008151811061106857fe5b6020908102919091010152604080516001808252818301909252908160200160208202803683370190505095508086600081518110610eef57fe5b60408051636eb1769f60e11b81523060048201526001600160a01b038481166024830152915160009286169163dd62ed3e916044808301926020929190829003018186803b1580156110f457600080fd5b505afa158015611108573d6000803e3d6000fd5b505050506040513d602081101561111e57600080fd5b505190508181101561115b578015611145576111456001600160a01b038516846000611274565b61115b6001600160a01b03851684600019611274565b50505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526111b3908490611383565b505050565b60008060008380602001905160608110156111d257600080fd5b508051602082015160409092015190969195509350915050565b60006111f661090e565b6001600160a01b03166366adb867836040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561124257600080fd5b505afa158015611256573d6000803e3d6000fd5b505050506040513d602081101561126c57600080fd5b505192915050565b8015806112fa575060408051636eb1769f60e11b81523060048201526001600160a01b03848116602483015291519185169163dd62ed3e91604480820192602092909190829003018186803b1580156112cc57600080fd5b505afa1580156112e0573d6000803e3d6000fd5b505050506040513d60208110156112f657600080fd5b5051155b6113355760405162461bcd60e51b81526004018080602001828103825260368152602001806117286036913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526111b39084905b60606113d8826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166114349092919063ffffffff16565b8051909150156111b3578080602001905160208110156113f757600080fd5b50516111b35760405162461bcd60e51b815260040180806020018281038252602a8152602001806116fe602a913960400191505060405180910390fd5b6060611443848460008561144d565b90505b9392505050565b60608247101561148e5760405162461bcd60e51b815260040180806020018281038252602681526020018061167e6026913960400191505060405180910390fd5b611497856115a9565b6114e8576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b602083106115275780518252601f199092019160209182019101611508565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114611589576040519150601f19603f3d011682016040523d82523d6000602084013e61158e565b606091505b509150915061159e8282866115af565b979650505050505050565b3b151590565b606083156115be575081611446565b8251156115ce5782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611618578181015183820152602001611600565b50505050905090810190601f1680156116455780820380516001836020036101000a031916815260200191505b509250505060405180910390fdfe5f5f7061727365417373657473466f7252656465656d3a20556e737570706f7274656420795661756c74416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c4f6e6c792074686520496e746567726174696f6e4d616e616765722063616e2063616c6c20746869732066756e6374696f6e5f5f7061727365417373657473466f724c656e643a20556e737570706f7274656420795661756c745361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e63657061727365417373657473466f72416374696f6e3a205f73656c6563746f7220696e76616c6964a164736f6c634300060c000a", "sourceMap": "615:8552:177:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1490:119:180;;;:::i;:::-;;;;-1:-1:-1;;;;;;1490:119:180;;;;;;;;;;;;;;1507:578:177;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1507:578:177;;;;;;;;;;;;;;;-1:-1:-1;;;1507:578:177;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1507:578:177;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1507:578:177;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1507:578:177;;;;;;;;;;-1:-1:-1;1507:578:177;;-1:-1:-1;1507:578:177;-1:-1:-1;1507:578:177;:::i;:::-;;1373:111:180;;;:::i;832:85::-;;;:::i;1034:87::-;;;:::i;1240:110::-;;;:::i;706:104::-;;;:::i;1127:91::-;;;:::i;2593:607:177:-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2593:607:177;;;;;;;;;;;;;;;-1:-1:-1;;;2593:607:177;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2593:607:177;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2593:607:177;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2593:607:177;;;;;;;;;;-1:-1:-1;2593:607:177;;-1:-1:-1;2593:607:177;-1:-1:-1;2593:607:177;:::i;577:123:180:-;;;:::i;4228:744:177:-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4228:744:177;;;;-1:-1:-1;;;;;;4228:744:177;;;;;;;;;;;;;;;;-1:-1:-1;;;4228:744:177;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4228:744:177;;;;;;;;;;-1:-1:-1;4228:744:177;;-1:-1:-1;4228:744:177;-1:-1:-1;4228:744:177;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2637:128:179;;;:::i;:::-;;;;-1:-1:-1;;;;;2637:128:179;;;;;;;;;;;;;;9027:138:177;;;:::i;923:89:180:-;;;:::i;1490:119::-;1558:50;1490:119;:::o;1507:578:177:-;1747:10:179;-1:-1:-1;;;;;1761:19:179;1747:33;;1726:130;;;;-1:-1:-1;;;1726:130:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1708:11:177::1;1721:10;;1429:247:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;;1950:29:177::2;::::0;;::::2;1429:247:179::1;1950:29:177::0;::::2;::::0;;::::2;::::0;::::2;::::0;;;;;;;;;;1816:28:::2;::::0;-1:-1:-1;1816:28:177;;-1:-1:-1;1816:28:177;;1950:29:::2;::::0;;1968:10;;;;;;1950:29;::::2;1968:10:::0;;;;1950:29;::::2;;::::0;::::2;::::0;;;;-1:-1:-1;1950:17:177::2;::::0;-1:-1:-1;;;1950:29:177:i:2;:::-;1802:177;;;;;;1990:88;2009:11;2022:14;2037:1;2022:17;;;;;;;;;;;;;;2041:11;2053:1;2041:14;;;;;;;;;;;;;;2057:17;2075:1;2057:20;;;;;;;;;;;;;;1990:18;:88::i;:::-;1531:1:179;;;1544:28:::1;1580:29;1598:10;1580:17;:29::i;:::-;1543:66;;;;1620:49;1644:11;1657;1620:23;:49::i;:::-;;1866:1;;;1507:578:177::0;;;;;:::o;1373:111:180:-;1437:46;1373:111;:::o;832:85::-;878:38;832:85;:::o;1034:87::-;1081:39;1034:87;:::o;1240:110::-;1303:46;1240:110;:::o;706:104::-;766:43;706:104;:::o;1127:91::-;1176:41;1127:91;:::o;2593:607:177:-;1747:10:179;-1:-1:-1;;;;;1761:19:179;1747:33;;1726:130;;;;-1:-1:-1;;;1726:130:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2808:11:177::1;2821:10;;1429:247:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;-1:-1:-1;2995:35:177::2;::::0;;::::2;1429:247:179::1;2995:35:177::0;::::2;::::0;;::::2;::::0;::::2;::::0;;;;;;;;;;1429:247:179;;-1:-1:-1;1429:247:179;;-1:-1:-1;1429:247:179;;-1:-1:-1;2995:35:177::2;::::0;;3018:11;;;;;;2995:35;::::2;3018:11:::0;;;;2995:35;::::2;;::::0;::::2;::::0;;;;-1:-1:-1;2995:22:177::2;::::0;-1:-1:-1;;;2995:35:177:i:2;:::-;2847:183;;;;;;;3041:152;3075:11;3100:6;3120:29;3163:20;3041;:152::i;577:123:180:-:0;647:52;577:123;:::o;4228:744:177:-;4420:64;4498:29;;;;-1:-1:-1;;;;;;4706:26:177;;-1:-1:-1;;;4706:26:177;4702:204;;;4755:33;4776:11;;4755:20;:33::i;:::-;4748:40;;;;;;;;;;;;4702:204;-1:-1:-1;;;;;;4809:28:177;;-1:-1:-1;;;4809:28:177;4805:101;;;4860:35;4883:11;;4860:22;:35::i;4805:101::-;4916:49;;-1:-1:-1;;;4916:49:177;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4228:744;;;;;;;;;;:::o;2637:128:179:-;2739:19;2637:128;:::o;9027:138:177:-;9133:25;9027:138;:::o;923:89:180:-;971:40;923:89;:::o;2093:332:179:-;2205:29;2248:35;2297:32;2372:10;2361:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;-1:-1:-1;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;-1:-1:-1;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2361:57:179;;;;;;;;;;;;-1:-1:-1;2361:57:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2354:64;;;;;;2093:332;;;;;:::o;667:314:198:-;837:66;863:11;876:7;885:17;837:25;:66::i;:::-;927:7;-1:-1:-1;;;;;913:30:198;;944:17;963:10;913:61;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;913:61:198;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;667:314:198:o;3539:585:355:-;3649:36;3737:7;:14;3723:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3723:29:355;;3701:51;;3767:9;3762:319;3782:7;:14;3778:1;:18;3762:319;;;3817:19;3845:7;3853:1;3845:10;;;;;;;;;;;;;;3817:39;;3895:13;-1:-1:-1;;;;;3895:23:355;;3927:4;3895:38;;;;;;;;;;;;;-1:-1:-1;;;;;3895:38:355;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3895:38:355;3870:22;;:19;;3890:1;;3870:22;;;;;;;;;;;:63;;;;;3976:1;3951:19;3971:1;3951:22;;;;;;;;;;;;;;:26;3947:124;;;3997:59;4024:7;4033:19;4053:1;4033:22;;;;;;;;;;;;;;3997:13;-1:-1:-1;;;;;3997:26:355;;;:59;;;;;:::i;:::-;-1:-1:-1;3798:3:355;;3762:319;;;;3539:585;;;;:::o;8423:377:177:-;8540:15;8569:38;8621:36;8671:29;8743:11;8732:61;;;;;;;;;;;;;;;-1:-1:-1;8732:61:177;;;;;;;;;;;;;;;;;;;-1:-1:-1;8732:61:177;;-1:-1:-1;8732:61:177;-1:-1:-1;8423:377:177;-1:-1:-1;;8423:377:177:o;1046:278:198:-;1244:7;-1:-1:-1;;;;;1230:31:198;;1262:19;1283:10;1295:21;1230:87;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1230:87:198;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5093:1336:177;5210:64;5288:29;5331:35;5380:32;5426:41;5506:14;5534:32;5580:37;5630:33;5651:11;;5630:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5630:20:177;;-1:-1:-1;;;5630:33:177:i;:::-;5492:171;;;;;;5674:18;5695:32;5720:6;5695:24;:32::i;:::-;5674:53;-1:-1:-1;;;;;;5745:24:177;;5737:77;;;;-1:-1:-1;;;5737:77:177;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5840:16;;;5854:1;5840:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5840:16:177;5825:31;;5884:10;5866:12;5879:1;5866:15;;;;;;;;-1:-1:-1;;;;;5866:28:177;;;;:15;;;;;;;;;;:28;5926:16;;;5940:1;5926:16;;;;;;;;;;;;;;5866:15;5926:16;;;;;-1:-1:-1;5926:16:177;5905:37;;5976:24;5952:18;5971:1;5952:21;;;;;;;;;;;;;;;;;:48;6029:16;;;6043:1;6029:16;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6029:16:177;6011:34;;6076:6;6055:15;6071:1;6055:18;;;;;;;;-1:-1:-1;;;;;6055:27:177;;;;:18;;;;;;;;;;:27;6120:16;;;6134:1;6120:16;;;;;;;;;;;;;;6055:18;6120:16;;;;;-1:-1:-1;6120:16:177;6093:43;;6176:29;6146:24;6171:1;6146:27;;;;;;;;;;;;;:59;;;;;6237:50;6216:206;;;;;;5093:1336;;;;;;;;:::o;6552:1350::-;6671:64;6749:29;6792:35;6841:32;6887:41;6967:14;6995:37;7046:35;7096;7119:11;;7096:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7096:22:177;;-1:-1:-1;;;7096:35:177:i;:::-;6953:178;;;;;;;7142:18;7163:32;7188:6;7163:24;:32::i;:::-;7142:53;-1:-1:-1;;;;;;7213:24:177;;7205:79;;;;-1:-1:-1;;;7205:79:177;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7310:16;;;7324:1;7310:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7310:16:177;7295:31;;7354:6;7336:12;7349:1;7336:15;;;;;;;;-1:-1:-1;;;;;7336:24:177;;;;:15;;;;;;;;;;:24;7392:16;;;7406:1;7392:16;;;;;;;;;;;;;;7336:15;7392:16;;;;;-1:-1:-1;7392:16:177;7371:37;;7442:29;7418:18;7437:1;7418:21;;;;;;;;;;;;;;;;;:53;7500:16;;;7514:1;7500:16;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7500:16:177;7482:34;;7547:10;7526:15;7542:1;7526:18;;;;;;;2554:434:355;2714:47;;;-1:-1:-1;;;2714:47:355;;2746:4;2714:47;;;;-1:-1:-1;;;;;2714:47:355;;;;;;;;;2694:17;;2714:23;;;;;:47;;;;;;;;;;;;;;:23;:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2714:47:355;;-1:-1:-1;2775:25:355;;;2771:211;;;2820:13;;2816:89;;2853:37;-1:-1:-1;;;;;2853:25:355;;2879:7;2888:1;2853:25;:37::i;:::-;2918:53;-1:-1:-1;;;;;2918:25:355;;2944:7;-1:-1:-1;;2918:25:355;:53::i;:::-;2554:434;;;;:::o;704:175:450:-;813:58;;;-1:-1:-1;;;;;813:58:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;813:58:450;-1:-1:-1;;;813:58:450;;;786:86;;806:5;;786:19;:86::i;:::-;704:175;;;:::o;8044:320:177:-;8159:15;8188:33;8235:38;8316:11;8305:52;;;;;;;;;;;;;;;-1:-1:-1;8305:52:177;;;;;;;;;;;;;;;-1:-1:-1;8305:52:177;-1:-1:-1;8044:320:177;-1:-1:-1;;8044:320:177:o;3272:215::-;3345:19;3417:26;:24;:26::i;:::-;-1:-1:-1;;;;;3395:76:177;;3472:7;3395:85;;;;;;;;;;;;;-1:-1:-1;;;;;3395:85:177;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3395:85:177;;3272:215;-1:-1:-1;;3272:215:177:o;1348:613:450:-;1713:10;;;1712:62;;-1:-1:-1;1729:39:450;;;-1:-1:-1;;;1729:39:450;;1753:4;1729:39;;;;-1:-1:-1;;;;;1729:39:450;;;;;;;;;:15;;;;;;:39;;;;;;;;;;;;;;;:15;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1729:39:450;:44;1712:62;1704:150;;;;-1:-1:-1;;;1704:150:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1891:62;;;-1:-1:-1;;;;;1891:62:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1891:62:450;-1:-1:-1;;;1891:62:450;;;1864:90;;1884:5;;2967:751;3386:23;3412:69;3440:4;3412:69;;;;;;;;;;;;;;;;;3420:5;-1:-1:-1;;;;;3412:27:450;;;:69;;;;;:::i;:::-;3495:17;;3386:95;;-1:-1:-1;3495:21:450;3491:221;;3635:10;3624:30;;;;;;;;;;;;;;;-1:-1:-1;3624:30:450;3616:85;;;;-1:-1:-1;;;3616:85:450;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3581:193:451;3684:12;3715:52;3737:6;3745:4;3751:1;3754:12;3715:21;:52::i;:::-;3708:59;;3581:193;;;;;;:::o;4608:523::-;4735:12;4792:5;4767:21;:30;;4759:81;;;;-1:-1:-1;;;4759:81:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4858:18;4869:6;4858:10;:18::i;:::-;4850:60;;;;;-1:-1:-1;;;4850:60:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;4981:12;4995:23;5022:6;-1:-1:-1;;;;;5022:11:451;5042:5;5050:4;5022:33;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5022:33:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4980:75;;;;5072:52;5090:7;5099:10;5111:12;5072:17;:52::i;:::-;5065:59;4608:523;-1:-1:-1;;;;;;;4608:523:451:o;726:413::-;1086:20;1124:8;;;726:413::o;7091:725::-;7206:12;7234:7;7230:580;;;-1:-1:-1;7264:10:451;7257:17;;7230:580;7375:17;;:21;7371:429;;7633:10;7627:17;7693:15;7680:10;7676:2;7672:19;7665:44;7582:145;7772:12;7765:20;;-1:-1:-1;;;7765:20:451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;", "linkReferences": {}, "immutableReferences": { "48653": [ { "start": 2320, "length": 32 } ], "49791": [ { "start": 1295, "length": 32 }, { "start": 1855, "length": 32 }, { "start": 2284, "length": 32 } ] } }, "methodIdentifiers": { "CLAIM_REWARDS_SELECTOR()": "40da225d", "LEND_AND_STAKE_SELECTOR()": "131461c0", "LEND_SELECTOR()": "257cb1a3", "REDEEM_SELECTOR()": "f7d882b5", "STAKE_SELECTOR()": "3ffc1591", "TAKE_MULTIPLE_ORDERS_SELECTOR()": "c32990a2", "TAKE_ORDER_SELECTOR()": "863e5ad0", "UNSTAKE_AND_REDEEM_SELECTOR()": "080456c1", "UNSTAKE_SELECTOR()": "b23228cf", "getIntegrationManager()": "e7c45690", "getYearnVaultV2PriceFeed()": "f702e0ea", "lend(address,bytes,bytes)": "099f7515", "parseAssetsForAction(address,bytes4,bytes)": "c54efee5", "redeem(address,bytes,bytes)": "c29fa9dd" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_integrationManager\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_yearnVaultV2PriceFeed\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"CLAIM_REWARDS_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LEND_AND_STAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LEND_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"REDEEM_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"STAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TAKE_MULTIPLE_ORDERS_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TAKE_ORDER_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UNSTAKE_AND_REDEEM_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UNSTAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getIntegrationManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"integrationManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getYearnVaultV2PriceFeed\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"yearnVaultV2PriceFeed_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"_assetData\",\"type\":\"bytes\"}],\"name\":\"lend\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"_selector\",\"type\":\"bytes4\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"}],\"name\":\"parseAssetsForAction\",\"outputs\":[{\"internalType\":\"enum IIntegrationManager.SpendAssetsHandleType\",\"name\":\"spendAssetsHandleType_\",\"type\":\"uint8\"},{\"internalType\":\"address[]\",\"name\":\"spendAssets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"spendAssetAmounts_\",\"type\":\"uint256[]\"},{\"internalType\":\"address[]\",\"name\":\"incomingAssets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"minIncomingAssetAmounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"_assetData\",\"type\":\"bytes\"}],\"name\":\"redeem\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"getIntegrationManager()\":{\"returns\":{\"integrationManager_\":\"The `INTEGRATION_MANAGER` variable value\"}},\"getYearnVaultV2PriceFeed()\":{\"returns\":{\"yearnVaultV2PriceFeed_\":\"The `YEARN_VAULT_V2_PRICE_FEED` variable value\"}},\"lend(address,bytes,bytes)\":{\"details\":\"Using postActionSpendAssetsTransferHandler is probably overkill, but since new yVault v2 contracts can update logic, this protects against a future implementation in which a partial underlying deposit amount is used if the desired amount exceeds the deposit limit, for example.\",\"params\":{\"_assetData\":\"Parsed spend assets and incoming assets data for this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}},\"parseAssetsForAction(address,bytes4,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_selector\":\"The function selector for the callOnIntegration\"},\"returns\":{\"incomingAssets_\":\"The assets to receive in the call\",\"minIncomingAssetAmounts_\":\"The min asset amounts to receive in the call\",\"spendAssetAmounts_\":\"The max asset amounts to spend in the call\",\"spendAssetsHandleType_\":\"A type that dictates how to handle granting the adapter access to spend assets (`None` by default)\",\"spendAssets_\":\"The assets to spend in the call\"}},\"redeem(address,bytes,bytes)\":{\"details\":\"The amount of yVault shares to be redeemed can be adjusted in yVault.withdraw() depending on the available underlying balance, so we must send unredeemed yVault shares back to the _vaultProxy\",\"params\":{\"_actionData\":\"Data specific to this action\",\"_assetData\":\"Parsed spend assets and incoming assets data for this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}}},\"title\":\"YearnVaultV2Adapter Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getIntegrationManager()\":{\"notice\":\"Gets the `INTEGRATION_MANAGER` variable\"},\"getYearnVaultV2PriceFeed()\":{\"notice\":\"Gets the `YEARN_VAULT_V2_PRICE_FEED` variable\"},\"lend(address,bytes,bytes)\":{\"notice\":\"Deposits an amount of an underlying asset into its corresponding yVault\"},\"parseAssetsForAction(address,bytes4,bytes)\":{\"notice\":\"Parses the expected assets in a particular action\"},\"redeem(address,bytes,bytes)\":{\"notice\":\"Redeems an amount of yVault shares for its underlying asset\"}},\"notice\":\"Adapter for interacting with Yearn v2 vaults\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/integration-manager/integrations/adapters/YearnVaultV2Adapter.sol\":\"YearnVaultV2Adapter\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/extensions/integration-manager/IIntegrationManager.sol\":{\"keccak256\":\"0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23\",\"dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk\"]},\"contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol\":{\"keccak256\":\"0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336\",\"dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS\"]},\"contracts/release/extensions/integration-manager/integrations/adapters/YearnVaultV2Adapter.sol\":{\"keccak256\":\"0x14ca950da9cec3a6205e62afb0c59cb5b41824684169ec8c359328f97b584867\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a51bc2a71fdc0d3646aeb969e83559b9d19d6da911f77c72304fe122cf10089a\",\"dweb:/ipfs/QmbqJbFpodZ9mR6Wb9ceyjsUxqjZtdsBPmZMfDeUYVMADG\"]},\"contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol\":{\"keccak256\":\"0x067e49bf0d3c1655ab41a413c65ccf61d4e593308132e1ffc484a0fadfbbaf26\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://387f425017e18e89cc1893521101fa99df595314847d0b3d9a1162369f714fcf\",\"dweb:/ipfs/Qmco3jCvuWAyfCpBYpGzHrQjiFJG63w1RJKcakoTEbxRQm\"]},\"contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol\":{\"keccak256\":\"0xfd34c7ca8231c6935e25dede32ca2b3121738e624d0fc896f7b895a731edcf88\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d492c061963d36d07718446db191d4c5a340c0d847f6cd209f027bd99f7cb176\",\"dweb:/ipfs/QmfCvRZt56ftDdrEh6LepHXFJ4fVtcfpQGvEyY8k4zxG1A\"]},\"contracts/release/extensions/integration-manager/integrations/utils/actions/YearnVaultV2ActionsMixin.sol\":{\"keccak256\":\"0x6908e42d69f84fe399dc9f8e4e6301818852a55d39d09f5bd48752b6625f8b11\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://2ff8b5d9075c410d3d8ca3acbe08b730a6e0c0a6cae3332b8e0c3ffbff8a59c0\",\"dweb:/ipfs/QmTQ9dYvHfTsZ1ioHteTRs3JdG3uqvkc4Ddi13FgYn9hEL\"]},\"contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol\":{\"keccak256\":\"0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e\",\"dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK\"]},\"contracts/release/infrastructure/price-feeds/derivatives/feeds/YearnVaultV2PriceFeed.sol\":{\"keccak256\":\"0x6c892b3259c1bfb2e725b79fb8edf14de1280b07320b8445975afc12dbc27e12\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://be11349a75128518d38df96615525c6fc75df1f77f4eecd946965be78d4090fd\",\"dweb:/ipfs/QmTYAHXMutaZNPhB4JAxD7f37AGpiRvUMiLgXdP6LTxuP1\"]},\"contracts/release/infrastructure/price-feeds/derivatives/feeds/utils/SingleUnderlyingDerivativeRegistryMixin.sol\":{\"keccak256\":\"0xeb2aab819af80382ad562d5a80863484a42caa7888f811817eb283894a1852e7\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8846bfa874ede75fbcd3053d45a1647cad0aabbb26e4189998e8c517961c2bb6\",\"dweb:/ipfs/QmV4Bgx9VfX6kaoyZuaBDf2xyTY4ZmjniZTX8TrEmhU4Pv\"]},\"contracts/release/interfaces/IYearnVaultV2.sol\":{\"keccak256\":\"0x3a8d57cff75a6738ed9d6492a89a293c1aa8a9b1ef5aa37835cbe3859b57c3d1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://73ca467c06368dcf27a61fd1c976ac09d477bf63931846606dc8a41552677f87\",\"dweb:/ipfs/QmP62v6Qz59exdjwsW2xiu5Rbg1LR2k1wcPHqZjQsnik2u\"]},\"contracts/release/interfaces/IYearnVaultV2Registry.sol\":{\"keccak256\":\"0xca387afa8b2158544765c86be1cc71ced66573fefb9cb545a92beef7860876d8\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://0f97ba821c58e057b0bbea0e7957b0e37040f0b6eb63a92747f2b12430b5847d\",\"dweb:/ipfs/QmQKdh27zS7KjumTwCTwq5eXfnFHAfZe7HWosEDx1mJfEq\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"contracts/release/utils/FundDeployerOwnerMixin.sol\":{\"keccak256\":\"0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927\",\"dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_integrationManager", "type": "address" }, { "internalType": "address", "name": "_yearnVaultV2PriceFeed", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "CLAIM_REWARDS_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "LEND_AND_STAKE_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "LEND_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "REDEEM_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "STAKE_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "TAKE_MULTIPLE_ORDERS_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "TAKE_ORDER_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "UNSTAKE_AND_REDEEM_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "UNSTAKE_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getIntegrationManager", "outputs": [ { "internalType": "address", "name": "integrationManager_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getYearnVaultV2PriceFeed", "outputs": [ { "internalType": "address", "name": "yearnVaultV2PriceFeed_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "bytes", "name": "", "type": "bytes" }, { "internalType": "bytes", "name": "_assetData", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "lend" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "bytes4", "name": "_selector", "type": "bytes4" }, { "internalType": "bytes", "name": "_actionData", "type": "bytes" } ], "stateMutability": "view", "type": "function", "name": "parseAssetsForAction", "outputs": [ { "internalType": "enum IIntegrationManager.SpendAssetsHandleType", "name": "spendAssetsHandleType_", "type": "uint8" }, { "internalType": "address[]", "name": "spendAssets_", "type": "address[]" }, { "internalType": "uint256[]", "name": "spendAssetAmounts_", "type": "uint256[]" }, { "internalType": "address[]", "name": "incomingAssets_", "type": "address[]" }, { "internalType": "uint256[]", "name": "minIncomingAssetAmounts_", "type": "uint256[]" } ] }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "bytes", "name": "_actionData", "type": "bytes" }, { "internalType": "bytes", "name": "_assetData", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "redeem" } ], "devdoc": { "kind": "dev", "methods": { "getIntegrationManager()": { "returns": { "integrationManager_": "The `INTEGRATION_MANAGER` variable value" } }, "getYearnVaultV2PriceFeed()": { "returns": { "yearnVaultV2PriceFeed_": "The `YEARN_VAULT_V2_PRICE_FEED` variable value" } }, "lend(address,bytes,bytes)": { "details": "Using postActionSpendAssetsTransferHandler is probably overkill, but since new yVault v2 contracts can update logic, this protects against a future implementation in which a partial underlying deposit amount is used if the desired amount exceeds the deposit limit, for example.", "params": { "_assetData": "Parsed spend assets and incoming assets data for this action", "_vaultProxy": "The VaultProxy of the calling fund" } }, "parseAssetsForAction(address,bytes4,bytes)": { "params": { "_actionData": "Data specific to this action", "_selector": "The function selector for the callOnIntegration" }, "returns": { "incomingAssets_": "The assets to receive in the call", "minIncomingAssetAmounts_": "The min asset amounts to receive in the call", "spendAssetAmounts_": "The max asset amounts to spend in the call", "spendAssetsHandleType_": "A type that dictates how to handle granting the adapter access to spend assets (`None` by default)", "spendAssets_": "The assets to spend in the call" } }, "redeem(address,bytes,bytes)": { "details": "The amount of yVault shares to be redeemed can be adjusted in yVault.withdraw() depending on the available underlying balance, so we must send unredeemed yVault shares back to the _vaultProxy", "params": { "_actionData": "Data specific to this action", "_assetData": "Parsed spend assets and incoming assets data for this action", "_vaultProxy": "The VaultProxy of the calling fund" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "getIntegrationManager()": { "notice": "Gets the `INTEGRATION_MANAGER` variable" }, "getYearnVaultV2PriceFeed()": { "notice": "Gets the `YEARN_VAULT_V2_PRICE_FEED` variable" }, "lend(address,bytes,bytes)": { "notice": "Deposits an amount of an underlying asset into its corresponding yVault" }, "parseAssetsForAction(address,bytes4,bytes)": { "notice": "Parses the expected assets in a particular action" }, "redeem(address,bytes,bytes)": { "notice": "Redeems an amount of yVault shares for its underlying asset" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/integration-manager/integrations/adapters/YearnVaultV2Adapter.sol": "YearnVaultV2Adapter" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/core/fund-deployer/IFundDeployer.sol": { "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", "urls": [ "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/IIntegrationManager.sol": { "keccak256": "0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef", "urls": [ "bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23", "dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol": { "keccak256": "0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1", "urls": [ "bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336", "dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/adapters/YearnVaultV2Adapter.sol": { "keccak256": "0x14ca950da9cec3a6205e62afb0c59cb5b41824684169ec8c359328f97b584867", "urls": [ "bzz-raw://a51bc2a71fdc0d3646aeb969e83559b9d19d6da911f77c72304fe122cf10089a", "dweb:/ipfs/QmbqJbFpodZ9mR6Wb9ceyjsUxqjZtdsBPmZMfDeUYVMADG" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol": { "keccak256": "0x067e49bf0d3c1655ab41a413c65ccf61d4e593308132e1ffc484a0fadfbbaf26", "urls": [ "bzz-raw://387f425017e18e89cc1893521101fa99df595314847d0b3d9a1162369f714fcf", "dweb:/ipfs/Qmco3jCvuWAyfCpBYpGzHrQjiFJG63w1RJKcakoTEbxRQm" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol": { "keccak256": "0xfd34c7ca8231c6935e25dede32ca2b3121738e624d0fc896f7b895a731edcf88", "urls": [ "bzz-raw://d492c061963d36d07718446db191d4c5a340c0d847f6cd209f027bd99f7cb176", "dweb:/ipfs/QmfCvRZt56ftDdrEh6LepHXFJ4fVtcfpQGvEyY8k4zxG1A" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/utils/actions/YearnVaultV2ActionsMixin.sol": { "keccak256": "0x6908e42d69f84fe399dc9f8e4e6301818852a55d39d09f5bd48752b6625f8b11", "urls": [ "bzz-raw://2ff8b5d9075c410d3d8ca3acbe08b730a6e0c0a6cae3332b8e0c3ffbff8a59c0", "dweb:/ipfs/QmTQ9dYvHfTsZ1ioHteTRs3JdG3uqvkc4Ddi13FgYn9hEL" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol": { "keccak256": "0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332", "urls": [ "bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e", "dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/price-feeds/derivatives/feeds/YearnVaultV2PriceFeed.sol": { "keccak256": "0x6c892b3259c1bfb2e725b79fb8edf14de1280b07320b8445975afc12dbc27e12", "urls": [ "bzz-raw://be11349a75128518d38df96615525c6fc75df1f77f4eecd946965be78d4090fd", "dweb:/ipfs/QmTYAHXMutaZNPhB4JAxD7f37AGpiRvUMiLgXdP6LTxuP1" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/price-feeds/derivatives/feeds/utils/SingleUnderlyingDerivativeRegistryMixin.sol": { "keccak256": "0xeb2aab819af80382ad562d5a80863484a42caa7888f811817eb283894a1852e7", "urls": [ "bzz-raw://8846bfa874ede75fbcd3053d45a1647cad0aabbb26e4189998e8c517961c2bb6", "dweb:/ipfs/QmV4Bgx9VfX6kaoyZuaBDf2xyTY4ZmjniZTX8TrEmhU4Pv" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IYearnVaultV2.sol": { "keccak256": "0x3a8d57cff75a6738ed9d6492a89a293c1aa8a9b1ef5aa37835cbe3859b57c3d1", "urls": [ "bzz-raw://73ca467c06368dcf27a61fd1c976ac09d477bf63931846606dc8a41552677f87", "dweb:/ipfs/QmP62v6Qz59exdjwsW2xiu5Rbg1LR2k1wcPHqZjQsnik2u" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IYearnVaultV2Registry.sol": { "keccak256": "0xca387afa8b2158544765c86be1cc71ced66573fefb9cb545a92beef7860876d8", "urls": [ "bzz-raw://0f97ba821c58e057b0bbea0e7957b0e37040f0b6eb63a92747f2b12430b5847d", "dweb:/ipfs/QmQKdh27zS7KjumTwCTwq5eXfnFHAfZe7HWosEDx1mJfEq" ], "license": "GPL-3.0" }, "contracts/release/utils/AssetHelpers.sol": { "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", "urls": [ "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" ], "license": "GPL-3.0" }, "contracts/release/utils/FundDeployerOwnerMixin.sol": { "keccak256": "0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934", "urls": [ "bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927", "dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", "urls": [ "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Address.sol": { "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", "urls": [ "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" } }, "version": 1 }, "id": 177 } diff --git a/eth_defi/abi/enzyme/YearnVaultV2PriceFeed.json b/eth_defi/abi/enzyme/YearnVaultV2PriceFeed.json index 47474a08..448d0572 100644 --- a/eth_defi/abi/enzyme/YearnVaultV2PriceFeed.json +++ b/eth_defi/abi/enzyme/YearnVaultV2PriceFeed.json @@ -1,634 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_fundDeployer", - "type": "address" - }, - { - "internalType": "address", - "name": "_yearnVaultV2Registry", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "derivative", - "type": "address" - }, - { - "indexed": true, - "internalType": "address", - "name": "underlying", - "type": "address" - } - ], - "name": "DerivativeAdded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "derivative", - "type": "address" - } - ], - "name": "DerivativeRemoved", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_derivatives", - "type": "address[]" - }, - { - "internalType": "address[]", - "name": "_underlyings", - "type": "address[]" - } - ], - "name": "addDerivatives", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_derivative", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_derivativeAmount", - "type": "uint256" - } - ], - "name": "calcUnderlyingValues", - "outputs": [ - { - "internalType": "address[]", - "name": "underlyings_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "underlyingAmounts_", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getFundDeployer", - "outputs": [ - { - "internalType": "address", - "name": "fundDeployer_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "owner_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_derivative", - "type": "address" - } - ], - "name": "getUnderlyingForDerivative", - "outputs": [ - { - "internalType": "address", - "name": "underlying_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getYearnVaultV2Registry", - "outputs": [ - { - "internalType": "address", - "name": "yearnVaultV2Registry_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_asset", - "type": "address" - } - ], - "name": "isSupportedAsset", - "outputs": [ - { - "internalType": "bool", - "name": "isSupported_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_derivatives", - "type": "address[]" - } - ], - "name": "removeDerivatives", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x60c060405234801561001057600080fd5b506040516111213803806111218339818101604052604081101561003357600080fd5b5080516020909101516001600160601b0319606092831b8116608052911b1660a05260805160601c60a05160601c61109e61008360003980610b9a5250806109315280610b76525061109e6000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c80638f72b1361161005b5780638f72b136146102c557806397c0ac8714610368578063981dc8e4146103705780639be918e61461037857610088565b806339cbb63c1461008d57806366adb867146101b6578063727212f6146101f8578063893d20e8146102bd575b600080fd5b6101b4600480360360408110156100a357600080fd5b8101906020810181356401000000008111156100be57600080fd5b8201836020820111156100d057600080fd5b803590602001918460208302840111640100000000831117156100f257600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929594936020810193503591505064010000000081111561014257600080fd5b82018360208201111561015457600080fd5b8035906020019184602083028401116401000000008311171561017657600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295506103b2945050505050565b005b6101dc600480360360208110156101cc57600080fd5b50356001600160a01b031661071f565b604080516001600160a01b039092168252519081900360200190f35b6102246004803603604081101561020e57600080fd5b506001600160a01b03813516906020013561073d565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b83811015610268578181015183820152602001610250565b50505050905001838103825284818151815260200191508051906020019060200280838360005b838110156102a757818101518382015260200161028f565b5050505090500194505050505060405180910390f35b6101dc61092d565b6101b4600480360360208110156102db57600080fd5b8101906020810181356401000000008111156102f657600080fd5b82018360208201111561030857600080fd5b8035906020019184602083028401116401000000008311171561032a57600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295506109b9945050505050565b6101dc610b74565b6101dc610b98565b61039e6004803603602081101561038e57600080fd5b50356001600160a01b0316610bbc565b604080519115158252519081900360200190f35b6103ba61092d565b6001600160a01b0316336001600160a01b0316146104095760405162461bcd60e51b8152600401808060200182810382526049815260200180610fb96049913960600191505060405180910390fd5b60008251116104495760405162461bcd60e51b81526004018080602001828103825260228152602001806110446022913960400191505060405180910390fd5b805182511461049f576040805162461bcd60e51b815260206004820152601e60248201527f61646444657269766174697665733a20556e657175616c206172726179730000604482015290519081900360640190fd5b60005b825181101561071a5760006001600160a01b03168382815181106104c257fe5b60200260200101516001600160a01b03161415610526576040805162461bcd60e51b815260206004820181905260248201527f61646444657269766174697665733a20456d7074792064657269766174697665604482015290519081900360640190fd5b60006001600160a01b031682828151811061053d57fe5b60200260200101516001600160a01b031614156105a1576040805162461bcd60e51b815260206004820181905260248201527f61646444657269766174697665733a20456d70747920756e6465726c79696e67604482015290519081900360640190fd5b60006001600160a01b03166105c88483815181106105bb57fe5b602002602001015161071f565b6001600160a01b03161461060d5760405162461bcd60e51b81526004018080602001828103825260218152602001806110026021913960400191505060405180910390fd5b61063d83828151811061061c57fe5b602002602001015183838151811061063057fe5b6020026020010151610bd9565b81818151811061064957fe5b602002602001015160008085848151811061066057fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b031602179055508181815181106106b857fe5b60200260200101516001600160a01b03168382815181106106d557fe5b60200260200101516001600160a01b03167faa4ae250fb435bb4b31ed0b95822bc179fc6c5dd0c727c3ffe08d444025efd9860405160405180910390a36001016104a2565b505050565b6001600160a01b039081166000908152602081905260409020541690565b6040805160018082528183019092526060918291906020808301908036833701905050915061076b8461071f565b8260008151811061077857fe5b60200260200101906001600160a01b031690816001600160a01b03168152505060006001600160a01b0316826000815181106107b057fe5b60200260200101516001600160a01b031614156107fe5760405162461bcd60e51b815260040180806020018281038252602c815260200180611066602c913960400191505060405180910390fd5b604080516001808252818301909252906020808301908036833701905050905061090d846001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561085a57600080fd5b505afa15801561086e573d6000803e3d6000fd5b505050506040513d602081101561088457600080fd5b505160408051634ca9858360e11b8152905160ff909216600a0a91610907916001600160a01b038916916399530b0691600480820192602092909190829003018186803b1580156108d457600080fd5b505afa1580156108e8573d6000803e3d6000fd5b505050506040513d60208110156108fe57600080fd5b50518690610e6d565b90610ecf565b8160008151811061091a57fe5b6020026020010181815250509250929050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561098857600080fd5b505afa15801561099c573d6000803e3d6000fd5b505050506040513d60208110156109b257600080fd5b5051905090565b6109c161092d565b6001600160a01b0316336001600160a01b031614610a105760405162461bcd60e51b8152600401808060200182810382526049815260200180610fb96049913960600191505060405180910390fd5b6000815111610a505760405162461bcd60e51b8152600401808060200182810382526025815260200180610f946025913960400191505060405180910390fd5b60005b8151811015610b705760006001600160a01b0316610a768383815181106105bb57fe5b6001600160a01b03161415610ad2576040805162461bcd60e51b815260206004820181905260248201527f72656d6f766544657269766174697665733a2056616c7565206e6f7420736574604482015290519081900360640190fd5b600080838381518110610ae157fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154906001600160a01b030219169055818181518110610b2b57fe5b60200260200101516001600160a01b03167fc15eb25d807b570f4567baf6e97c7b26d58a7d0512dc85e8db15375a056b860460405160405180910390a2600101610a53565b5050565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b600080610bc88361071f565b6001600160a01b0316141592915050565b600080610be4610b98565b905060005b816001600160a01b031663f9c7bba5856040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610c3657600080fd5b505afa158015610c4a573d6000803e3d6000fd5b505050506040513d6020811015610c6057600080fd5b5051811015610d1457846001600160a01b0316826001600160a01b0316637bbfc69e86846040518363ffffffff1660e01b815260040180836001600160a01b031681526020018281526020019250505060206040518083038186803b158015610cc857600080fd5b505afa158015610cdc573d6000803e3d6000fd5b505050506040513d6020811015610cf257600080fd5b50516001600160a01b03161415610d0c5760019250610d14565b600101610be9565b5081610d515760405162461bcd60e51b8152600401808060200182810382526033815260200180610f616033913960400191505060405180910390fd5b826001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015610d8a57600080fd5b505afa158015610d9e573d6000803e3d6000fd5b505050506040513d6020811015610db457600080fd5b50516040805163313ce56760e01b8152905160ff909216916001600160a01b0387169163313ce567916004808301926020929190829003018186803b158015610dfc57600080fd5b505afa158015610e10573d6000803e3d6000fd5b505050506040513d6020811015610e2657600080fd5b505160ff1614610e675760405162461bcd60e51b815260040180806020018281038252602a815260200180610f37602a913960400191505060405180910390fd5b50505050565b600082610e7c57506000610ec9565b82820282848281610e8957fe5b0414610ec65760405162461bcd60e51b81526004018080602001828103825260218152602001806110236021913960400191505060405180910390fd5b90505b92915050565b6000808211610f25576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b818381610f2e57fe5b04939250505056fe5f5f76616c6964617465446572697661746976653a20496e636f6e677275656e7420646563696d616c735f5f76616c6964617465446572697661746976653a20496e76616c696420795661756c7420666f7220756e6465726c79696e6772656d6f766544657269766174697665733a20456d707479205f64657269766174697665736f6e6c7946756e644465706c6f7965724f776e65723a204f6e6c79207468652046756e644465706c6f796572206f776e65722063616e2063616c6c20746869732066756e6374696f6e61646444657269766174697665733a2056616c756520616c726561647920736574536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7761646444657269766174697665733a20456d707479205f646572697661746976657363616c63556e6465726c79696e6756616c7565733a20556e737570706f727465642064657269766174697665a164736f6c634300060c000a", - "sourceMap": "752:3279:249:-:0;;;943:212;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;943:212:249;;;;;;;-1:-1:-1;;;;;;864:29:358;;;;;;;;1101:47:249;;;::::1;::::0;752:3279;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106100885760003560e01c80638f72b1361161005b5780638f72b136146102c557806397c0ac8714610368578063981dc8e4146103705780639be918e61461037857610088565b806339cbb63c1461008d57806366adb867146101b6578063727212f6146101f8578063893d20e8146102bd575b600080fd5b6101b4600480360360408110156100a357600080fd5b8101906020810181356401000000008111156100be57600080fd5b8201836020820111156100d057600080fd5b803590602001918460208302840111640100000000831117156100f257600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929594936020810193503591505064010000000081111561014257600080fd5b82018360208201111561015457600080fd5b8035906020019184602083028401116401000000008311171561017657600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295506103b2945050505050565b005b6101dc600480360360208110156101cc57600080fd5b50356001600160a01b031661071f565b604080516001600160a01b039092168252519081900360200190f35b6102246004803603604081101561020e57600080fd5b506001600160a01b03813516906020013561073d565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b83811015610268578181015183820152602001610250565b50505050905001838103825284818151815260200191508051906020019060200280838360005b838110156102a757818101518382015260200161028f565b5050505090500194505050505060405180910390f35b6101dc61092d565b6101b4600480360360208110156102db57600080fd5b8101906020810181356401000000008111156102f657600080fd5b82018360208201111561030857600080fd5b8035906020019184602083028401116401000000008311171561032a57600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295506109b9945050505050565b6101dc610b74565b6101dc610b98565b61039e6004803603602081101561038e57600080fd5b50356001600160a01b0316610bbc565b604080519115158252519081900360200190f35b6103ba61092d565b6001600160a01b0316336001600160a01b0316146104095760405162461bcd60e51b8152600401808060200182810382526049815260200180610fb96049913960600191505060405180910390fd5b60008251116104495760405162461bcd60e51b81526004018080602001828103825260228152602001806110446022913960400191505060405180910390fd5b805182511461049f576040805162461bcd60e51b815260206004820152601e60248201527f61646444657269766174697665733a20556e657175616c206172726179730000604482015290519081900360640190fd5b60005b825181101561071a5760006001600160a01b03168382815181106104c257fe5b60200260200101516001600160a01b03161415610526576040805162461bcd60e51b815260206004820181905260248201527f61646444657269766174697665733a20456d7074792064657269766174697665604482015290519081900360640190fd5b60006001600160a01b031682828151811061053d57fe5b60200260200101516001600160a01b031614156105a1576040805162461bcd60e51b815260206004820181905260248201527f61646444657269766174697665733a20456d70747920756e6465726c79696e67604482015290519081900360640190fd5b60006001600160a01b03166105c88483815181106105bb57fe5b602002602001015161071f565b6001600160a01b03161461060d5760405162461bcd60e51b81526004018080602001828103825260218152602001806110026021913960400191505060405180910390fd5b61063d83828151811061061c57fe5b602002602001015183838151811061063057fe5b6020026020010151610bd9565b81818151811061064957fe5b602002602001015160008085848151811061066057fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b031602179055508181815181106106b857fe5b60200260200101516001600160a01b03168382815181106106d557fe5b60200260200101516001600160a01b03167faa4ae250fb435bb4b31ed0b95822bc179fc6c5dd0c727c3ffe08d444025efd9860405160405180910390a36001016104a2565b505050565b6001600160a01b039081166000908152602081905260409020541690565b6040805160018082528183019092526060918291906020808301908036833701905050915061076b8461071f565b8260008151811061077857fe5b60200260200101906001600160a01b031690816001600160a01b03168152505060006001600160a01b0316826000815181106107b057fe5b60200260200101516001600160a01b031614156107fe5760405162461bcd60e51b815260040180806020018281038252602c815260200180611066602c913960400191505060405180910390fd5b604080516001808252818301909252906020808301908036833701905050905061090d846001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561085a57600080fd5b505afa15801561086e573d6000803e3d6000fd5b505050506040513d602081101561088457600080fd5b505160408051634ca9858360e11b8152905160ff909216600a0a91610907916001600160a01b038916916399530b0691600480820192602092909190829003018186803b1580156108d457600080fd5b505afa1580156108e8573d6000803e3d6000fd5b505050506040513d60208110156108fe57600080fd5b50518690610e6d565b90610ecf565b8160008151811061091a57fe5b6020026020010181815250509250929050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561098857600080fd5b505afa15801561099c573d6000803e3d6000fd5b505050506040513d60208110156109b257600080fd5b5051905090565b6109c161092d565b6001600160a01b0316336001600160a01b031614610a105760405162461bcd60e51b8152600401808060200182810382526049815260200180610fb96049913960600191505060405180910390fd5b6000815111610a505760405162461bcd60e51b8152600401808060200182810382526025815260200180610f946025913960400191505060405180910390fd5b60005b8151811015610b705760006001600160a01b0316610a768383815181106105bb57fe5b6001600160a01b03161415610ad2576040805162461bcd60e51b815260206004820181905260248201527f72656d6f766544657269766174697665733a2056616c7565206e6f7420736574604482015290519081900360640190fd5b600080838381518110610ae157fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154906001600160a01b030219169055818181518110610b2b57fe5b60200260200101516001600160a01b03167fc15eb25d807b570f4567baf6e97c7b26d58a7d0512dc85e8db15375a056b860460405160405180910390a2600101610a53565b5050565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b600080610bc88361071f565b6001600160a01b0316141592915050565b600080610be4610b98565b905060005b816001600160a01b031663f9c7bba5856040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610c3657600080fd5b505afa158015610c4a573d6000803e3d6000fd5b505050506040513d6020811015610c6057600080fd5b5051811015610d1457846001600160a01b0316826001600160a01b0316637bbfc69e86846040518363ffffffff1660e01b815260040180836001600160a01b031681526020018281526020019250505060206040518083038186803b158015610cc857600080fd5b505afa158015610cdc573d6000803e3d6000fd5b505050506040513d6020811015610cf257600080fd5b50516001600160a01b03161415610d0c5760019250610d14565b600101610be9565b5081610d515760405162461bcd60e51b8152600401808060200182810382526033815260200180610f616033913960400191505060405180910390fd5b826001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015610d8a57600080fd5b505afa158015610d9e573d6000803e3d6000fd5b505050506040513d6020811015610db457600080fd5b50516040805163313ce56760e01b8152905160ff909216916001600160a01b0387169163313ce567916004808301926020929190829003018186803b158015610dfc57600080fd5b505afa158015610e10573d6000803e3d6000fd5b505050506040513d6020811015610e2657600080fd5b505160ff1614610e675760405162461bcd60e51b815260040180806020018281038252602a815260200180610f37602a913960400191505060405180910390fd5b50505050565b600082610e7c57506000610ec9565b82820282848281610e8957fe5b0414610ec65760405162461bcd60e51b81526004018080602001828103825260218152602001806110236021913960400191505060405180910390fd5b90505b92915050565b6000808211610f25576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b818381610f2e57fe5b04939250505056fe5f5f76616c6964617465446572697661746976653a20496e636f6e677275656e7420646563696d616c735f5f76616c6964617465446572697661746976653a20496e76616c696420795661756c7420666f7220756e6465726c79696e6772656d6f766544657269766174697665733a20456d707479205f64657269766174697665736f6e6c7946756e644465706c6f7965724f776e65723a204f6e6c79207468652046756e644465706c6f796572206f776e65722063616e2063616c6c20746869732066756e6374696f6e61646444657269766174697665733a2056616c756520616c726561647920736574536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7761646444657269766174697665733a20456d707479205f646572697661746976657363616c63556e6465726c79696e6756616c7565733a20556e737570706f727465642064657269766174697665a164736f6c634300060c000a", - "sourceMap": "752:3279:249:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1158:951:252;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1158:951:252;;;;;;;;-1:-1:-1;1158:951:252;;-1:-1:-1;;1158:951:252;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1158:951:252;;-1:-1:-1;1158:951:252;;-1:-1:-1;;;;;1158:951:252:i;:::-;;3223:186;;;;;;;;;;;;;;;;-1:-1:-1;3223:186:252;-1:-1:-1;;;;;3223:186:252;;:::i;:::-;;;;-1:-1:-1;;;;;3223:186:252;;;;;;;;;;;;;;1553:633:249;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1553:633:249;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1064:120:358;;;:::i;2225:523:252:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2225:523:252;;-1:-1:-1;2225:523:252;;-1:-1:-1;;;;;2225:523:252:i;1378:108:358:-;;;:::i;3895:134:249:-;;;:::i;2359:165::-;;;;;;;;;;;;;;;;-1:-1:-1;2359:165:249;-1:-1:-1;;;;;2359:165:249;;:::i;:::-;;;;;;;;;;;;;;;;;;1158:951:252;679:10:358;:8;:10::i;:::-;-1:-1:-1;;;;;665:24:358;:10;-1:-1:-1;;;;;665:24:358;;644:144;;;;-1:-1:-1;;;644:144:358;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1351:1:252::1;1329:12;:19;:23;1321:70;;;;-1:-1:-1::0;;;1321:70:252::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1432:12;:19;1409:12;:19;:42;1401:85;;;::::0;;-1:-1:-1;;;1401:85:252;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;1502:9;1497:606;1517:12;:19;1513:1;:23;1497:606;;;1592:1;-1:-1:-1::0;;;;;1565:29:252::1;:12;1578:1;1565:15;;;;;;;;;;;;;;-1:-1:-1::0;;;;;1565:29:252::1;;;1557:74;;;::::0;;-1:-1:-1;;;1557:74:252;;::::1;;::::0;::::1;::::0;;;;;;;::::1;::::0;;;;;;;;;;;;;::::1;;1680:1;-1:-1:-1::0;;;;;1653:29:252::1;:12;1666:1;1653:15;;;;;;;;;;;;;;-1:-1:-1::0;;;;;1653:29:252::1;;;1645:74;;;::::0;;-1:-1:-1;;;1645:74:252;;::::1;;::::0;::::1;::::0;;;;;;;::::1;::::0;;;;;;;;;;;;;::::1;;1813:1;-1:-1:-1::0;;;;;1758:57:252::1;:43;1785:12;1798:1;1785:15;;;;;;;;;;;;;;1758:26;:43::i;:::-;-1:-1:-1::0;;;;;1758:57:252::1;;1733:149;;;;-1:-1:-1::0;;;1733:149:252::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1897:54;1918:12;1931:1;1918:15;;;;;;;;;;;;;;1935:12;1948:1;1935:15;;;;;;;;;;;;;;1897:20;:54::i;:::-;2008:12;2021:1;2008:15;;;;;;;;;;;;;;1966:22;:39:::0;1989:12:::1;2002:1;1989:15;;;;;;;;;;;;;;-1:-1:-1::0;;;;;1966:39:252::1;-1:-1:-1::0;;;;;1966:39:252::1;;;;;;;;;;;;;:57;;;;;-1:-1:-1::0;;;;;1966:57:252::1;;;;;-1:-1:-1::0;;;;;1966:57:252::1;;;;;;2076:12;2089:1;2076:15;;;;;;;;;;;;;;-1:-1:-1::0;;;;;2043:49:252::1;2059:12;2072:1;2059:15;;;;;;;;;;;;;;-1:-1:-1::0;;;;;2043:49:252::1;;;;;;;;;;;1538:3;;1497:606;;;;1158:951:::0;;:::o;3223:186::-;-1:-1:-1;;;;;3367:35:252;;;3325:19;3367:35;;;;;;;;;;;;;3223:186::o;1553:633:249:-;1779:16;;;1793:1;1779:16;;;;;;;;;1682:29;;;;1779:16;;;;;;;;;;;;-1:-1:-1;1779:16:249;1764:31;;1823:39;1850:11;1823:26;:39::i;:::-;1805:12;1818:1;1805:15;;;;;;;;;;;;;:57;-1:-1:-1;;;;;1805:57:249;;;-1:-1:-1;;;;;1805:57:249;;;;;1907:1;-1:-1:-1;;;;;1880:29:249;:12;1893:1;1880:15;;;;;;;;;;;;;;-1:-1:-1;;;;;1880:29:249;;;1872:86;;;;-1:-1:-1;;;1872:86:249;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1990:16;;;2004:1;1990:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1990:16:249;1969:37;;2040:139;2154:11;-1:-1:-1;;;;;2148:27:249;;:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2148:29:249;2075:42;;;-1:-1:-1;;;2075:42:249;;;;2140:38;;;;2136:2;:42;;2040:78;;-1:-1:-1;;;;;2075:40:249;;;;;:42;;;;;2148:29;;2075:42;;;;;;;;:40;:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2075:42:249;2040:17;;:34;:78::i;:::-;:95;;:139::i;:::-;2016:18;2035:1;2016:21;;;;;;;;;;;;;:163;;;;;1553:633;;;;;:::o;1064:120:358:-;1105:14;1152:13;-1:-1:-1;;;;;1138:37:358;;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1138:39:358;;-1:-1:-1;1064:120:358;:::o;2225:523:252:-;679:10:358;:8;:10::i;:::-;-1:-1:-1;;;;;665:24:358;:10;-1:-1:-1;;;;;665:24:358;;644:144;;;;-1:-1:-1;;;644:144:358;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2354:1:252::1;2332:12;:19;:23;2324:73;;;;-1:-1:-1::0;;;2324:73:252::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2413:9;2408:334;2428:12;:19;2424:1;:23;2408:334;;;2548:1;-1:-1:-1::0;;;;;2493:57:252::1;:43;2520:12;2533:1;2520:15;;;;;;;2493:43;-1:-1:-1::0;;;;;2493:57:252::1;;;2468:148;;;::::0;;-1:-1:-1;;;2468:148:252;;::::1;;::::0;::::1;::::0;;;;;;;::::1;::::0;;;;;;;;;;;;;::::1;;2638:22;:39:::0;2661:12:::1;2674:1;2661:15;;;;;;;;;;;;;;-1:-1:-1::0;;;;;2638:39:252::1;-1:-1:-1::0;;;;;2638:39:252::1;;;;;;;;;;;;;2631:46;;;;;-1:-1:-1::0;;;;;2631:46:252::1;;;;;2715:12;2728:1;2715:15;;;;;;;;;;;;;;-1:-1:-1::0;;;;;2697:34:252::1;;;;;;;;;;;2449:3;;2408:334;;;;2225:523:::0;:::o;1378:108:358:-;1466:13;1378:108;:::o;3895:134:249:-;3999:23;3895:134;:::o;2359:165::-;2433:17;;2469:34;2496:6;2469:26;:34::i;:::-;-1:-1:-1;;;;;2469:48:249;;;;2359:165;-1:-1:-1;;2359:165:249:o;2658:1015::-;2917:24;2951:43;3032:25;:23;:25::i;:::-;2951:116;;3082:9;3077:242;3097:21;-1:-1:-1;;;;;3097:31:249;;3129:11;3097:44;;;;;;;;;;;;;-1:-1:-1;;;;;3097:44:249;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3097:44:249;3093:48;;3077:242;;;3214:11;-1:-1:-1;;;;;3166:59:249;:21;-1:-1:-1;;;;;3166:28:249;;3195:11;3208:1;3166:44;;;;;;;;;;;;;-1:-1:-1;;;;;3166:44:249;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3166:44:249;-1:-1:-1;;;;;3166:59:249;;3162:147;;;3267:4;3245:26;;3289:5;;3162:147;3143:3;;3077:242;;;;3336:19;3328:83;;;;-1:-1:-1;;;3328:83:249;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3575:11;-1:-1:-1;;;;;3569:27:249;;:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3569:29:249;3536;;;-1:-1:-1;;;3536:29:249;;;;:62;;;;;-1:-1:-1;;;;;3536:27:249;;;;;:29;;;;;3569;;3536;;;;;;;:27;:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3536:29:249;:62;;;3515:151;;;;-1:-1:-1;;;3515:151:249;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2658:1015;;;;:::o;3538:215:442:-;3596:7;3619:6;3615:20;;-1:-1:-1;3634:1:442;3627:8;;3615:20;3657:5;;;3661:1;3657;:5;:1;3680:5;;;;;:10;3672:56;;;;-1:-1:-1;;;3672:56:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3745:1;-1:-1:-1;3538:215:442;;;;;:::o;4217:150::-;4275:7;4306:1;4302;:5;4294:44;;;;;-1:-1:-1;;;4294:44:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;4359:1;4355;:5;;;;;;;4217:150;-1:-1:-1;;;4217:150:442:o", - "linkReferences": {}, - "immutableReferences": { - "65920": [ - { - "start": 2970, - "length": 32 - } - ], - "78707": [ - { - "start": 2353, - "length": 32 - }, - { - "start": 2934, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "addDerivatives(address[],address[])": "39cbb63c", - "calcUnderlyingValues(address,uint256)": "727212f6", - "getFundDeployer()": "97c0ac87", - "getOwner()": "893d20e8", - "getUnderlyingForDerivative(address)": "66adb867", - "getYearnVaultV2Registry()": "981dc8e4", - "isSupportedAsset(address)": "9be918e6", - "removeDerivatives(address[])": "8f72b136" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_fundDeployer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_yearnVaultV2Registry\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"derivative\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"underlying\",\"type\":\"address\"}],\"name\":\"DerivativeAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"derivative\",\"type\":\"address\"}],\"name\":\"DerivativeRemoved\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_derivatives\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"_underlyings\",\"type\":\"address[]\"}],\"name\":\"addDerivatives\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_derivative\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_derivativeAmount\",\"type\":\"uint256\"}],\"name\":\"calcUnderlyingValues\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"underlyings_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"underlyingAmounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFundDeployer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"fundDeployer_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_derivative\",\"type\":\"address\"}],\"name\":\"getUnderlyingForDerivative\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"underlying_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getYearnVaultV2Registry\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"yearnVaultV2Registry_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"}],\"name\":\"isSupportedAsset\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isSupported_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_derivatives\",\"type\":\"address[]\"}],\"name\":\"removeDerivatives\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"addDerivatives(address[],address[])\":{\"params\":{\"_derivatives\":\"The derivatives to add\",\"_underlyings\":\"The corresponding underlyings to add\"}},\"calcUnderlyingValues(address,uint256)\":{\"params\":{\"_derivative\":\"The derivative to convert\",\"_derivativeAmount\":\"The amount of the derivative to convert\"},\"returns\":{\"underlyingAmounts_\":\"The amount of each underlying asset for the equivalent derivative amount\",\"underlyings_\":\"The underlying assets for the _derivative\"}},\"getFundDeployer()\":{\"returns\":{\"fundDeployer_\":\"The `FUND_DEPLOYER` variable value\"}},\"getOwner()\":{\"details\":\"Ownership is deferred to the owner of the FundDeployer contract\",\"returns\":{\"owner_\":\"The owner\"}},\"getUnderlyingForDerivative(address)\":{\"params\":{\"_derivative\":\"The derivative for which to get the underlying asset\"},\"returns\":{\"underlying_\":\"The underlying asset\"}},\"getYearnVaultV2Registry()\":{\"returns\":{\"yearnVaultV2Registry_\":\"The `YEARN_VAULT_V2_REGISTRY` variable value\"}},\"isSupportedAsset(address)\":{\"params\":{\"_asset\":\"The asset to check\"},\"returns\":{\"isSupported_\":\"True if the asset is supported\"}},\"removeDerivatives(address[])\":{\"params\":{\"_derivatives\":\"The derivatives to remove\"}}},\"title\":\"YearnVaultV2PriceFeed Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"addDerivatives(address[],address[])\":{\"notice\":\"Adds derivatives with corresponding underlyings to the price feed\"},\"calcUnderlyingValues(address,uint256)\":{\"notice\":\"Converts a given amount of a derivative to its underlying asset values\"},\"getFundDeployer()\":{\"notice\":\"Gets the `FUND_DEPLOYER` variable\"},\"getOwner()\":{\"notice\":\"Gets the owner of this contract\"},\"getUnderlyingForDerivative(address)\":{\"notice\":\"Gets the underlying asset for a given derivative\"},\"getYearnVaultV2Registry()\":{\"notice\":\"Gets the `YEARN_VAULT_V2_REGISTRY` variable\"},\"isSupportedAsset(address)\":{\"notice\":\"Checks if an asset is supported by the price feed\"},\"removeDerivatives(address[])\":{\"notice\":\"Removes derivatives from the price feed\"}},\"notice\":\"Price source oracle for Yearn Vault V2 shares\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/infrastructure/price-feeds/derivatives/feeds/YearnVaultV2PriceFeed.sol\":\"YearnVaultV2PriceFeed\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol\":{\"keccak256\":\"0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e\",\"dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK\"]},\"contracts/release/infrastructure/price-feeds/derivatives/feeds/YearnVaultV2PriceFeed.sol\":{\"keccak256\":\"0x6c892b3259c1bfb2e725b79fb8edf14de1280b07320b8445975afc12dbc27e12\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://be11349a75128518d38df96615525c6fc75df1f77f4eecd946965be78d4090fd\",\"dweb:/ipfs/QmTYAHXMutaZNPhB4JAxD7f37AGpiRvUMiLgXdP6LTxuP1\"]},\"contracts/release/infrastructure/price-feeds/derivatives/feeds/utils/SingleUnderlyingDerivativeRegistryMixin.sol\":{\"keccak256\":\"0xeb2aab819af80382ad562d5a80863484a42caa7888f811817eb283894a1852e7\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8846bfa874ede75fbcd3053d45a1647cad0aabbb26e4189998e8c517961c2bb6\",\"dweb:/ipfs/QmV4Bgx9VfX6kaoyZuaBDf2xyTY4ZmjniZTX8TrEmhU4Pv\"]},\"contracts/release/interfaces/IYearnVaultV2.sol\":{\"keccak256\":\"0x3a8d57cff75a6738ed9d6492a89a293c1aa8a9b1ef5aa37835cbe3859b57c3d1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://73ca467c06368dcf27a61fd1c976ac09d477bf63931846606dc8a41552677f87\",\"dweb:/ipfs/QmP62v6Qz59exdjwsW2xiu5Rbg1LR2k1wcPHqZjQsnik2u\"]},\"contracts/release/interfaces/IYearnVaultV2Registry.sol\":{\"keccak256\":\"0xca387afa8b2158544765c86be1cc71ced66573fefb9cb545a92beef7860876d8\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://0f97ba821c58e057b0bbea0e7957b0e37040f0b6eb63a92747f2b12430b5847d\",\"dweb:/ipfs/QmQKdh27zS7KjumTwCTwq5eXfnFHAfZe7HWosEDx1mJfEq\"]},\"contracts/release/utils/FundDeployerOwnerMixin.sol\":{\"keccak256\":\"0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927\",\"dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_fundDeployer", - "type": "address" - }, - { - "internalType": "address", - "name": "_yearnVaultV2Registry", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "derivative", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "underlying", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "DerivativeAdded", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "derivative", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "DerivativeRemoved", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_derivatives", - "type": "address[]" - }, - { - "internalType": "address[]", - "name": "_underlyings", - "type": "address[]" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "addDerivatives" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_derivative", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_derivativeAmount", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "calcUnderlyingValues", - "outputs": [ - { - "internalType": "address[]", - "name": "underlyings_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "underlyingAmounts_", - "type": "uint256[]" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getFundDeployer", - "outputs": [ - { - "internalType": "address", - "name": "fundDeployer_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "owner_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_derivative", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getUnderlyingForDerivative", - "outputs": [ - { - "internalType": "address", - "name": "underlying_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getYearnVaultV2Registry", - "outputs": [ - { - "internalType": "address", - "name": "yearnVaultV2Registry_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_asset", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "isSupportedAsset", - "outputs": [ - { - "internalType": "bool", - "name": "isSupported_", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_derivatives", - "type": "address[]" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "removeDerivatives" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "addDerivatives(address[],address[])": { - "params": { - "_derivatives": "The derivatives to add", - "_underlyings": "The corresponding underlyings to add" - } - }, - "calcUnderlyingValues(address,uint256)": { - "params": { - "_derivative": "The derivative to convert", - "_derivativeAmount": "The amount of the derivative to convert" - }, - "returns": { - "underlyingAmounts_": "The amount of each underlying asset for the equivalent derivative amount", - "underlyings_": "The underlying assets for the _derivative" - } - }, - "getFundDeployer()": { - "returns": { - "fundDeployer_": "The `FUND_DEPLOYER` variable value" - } - }, - "getOwner()": { - "details": "Ownership is deferred to the owner of the FundDeployer contract", - "returns": { - "owner_": "The owner" - } - }, - "getUnderlyingForDerivative(address)": { - "params": { - "_derivative": "The derivative for which to get the underlying asset" - }, - "returns": { - "underlying_": "The underlying asset" - } - }, - "getYearnVaultV2Registry()": { - "returns": { - "yearnVaultV2Registry_": "The `YEARN_VAULT_V2_REGISTRY` variable value" - } - }, - "isSupportedAsset(address)": { - "params": { - "_asset": "The asset to check" - }, - "returns": { - "isSupported_": "True if the asset is supported" - } - }, - "removeDerivatives(address[])": { - "params": { - "_derivatives": "The derivatives to remove" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "addDerivatives(address[],address[])": { - "notice": "Adds derivatives with corresponding underlyings to the price feed" - }, - "calcUnderlyingValues(address,uint256)": { - "notice": "Converts a given amount of a derivative to its underlying asset values" - }, - "getFundDeployer()": { - "notice": "Gets the `FUND_DEPLOYER` variable" - }, - "getOwner()": { - "notice": "Gets the owner of this contract" - }, - "getUnderlyingForDerivative(address)": { - "notice": "Gets the underlying asset for a given derivative" - }, - "getYearnVaultV2Registry()": { - "notice": "Gets the `YEARN_VAULT_V2_REGISTRY` variable" - }, - "isSupportedAsset(address)": { - "notice": "Checks if an asset is supported by the price feed" - }, - "removeDerivatives(address[])": { - "notice": "Removes derivatives from the price feed" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/infrastructure/price-feeds/derivatives/feeds/YearnVaultV2PriceFeed.sol": "YearnVaultV2PriceFeed" - }, - "libraries": {} - }, - "sources": { - "contracts/release/core/fund-deployer/IFundDeployer.sol": { - "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", - "urls": [ - "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", - "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol": { - "keccak256": "0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332", - "urls": [ - "bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e", - "dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/price-feeds/derivatives/feeds/YearnVaultV2PriceFeed.sol": { - "keccak256": "0x6c892b3259c1bfb2e725b79fb8edf14de1280b07320b8445975afc12dbc27e12", - "urls": [ - "bzz-raw://be11349a75128518d38df96615525c6fc75df1f77f4eecd946965be78d4090fd", - "dweb:/ipfs/QmTYAHXMutaZNPhB4JAxD7f37AGpiRvUMiLgXdP6LTxuP1" - ], - "license": "GPL-3.0" - }, - "contracts/release/infrastructure/price-feeds/derivatives/feeds/utils/SingleUnderlyingDerivativeRegistryMixin.sol": { - "keccak256": "0xeb2aab819af80382ad562d5a80863484a42caa7888f811817eb283894a1852e7", - "urls": [ - "bzz-raw://8846bfa874ede75fbcd3053d45a1647cad0aabbb26e4189998e8c517961c2bb6", - "dweb:/ipfs/QmV4Bgx9VfX6kaoyZuaBDf2xyTY4ZmjniZTX8TrEmhU4Pv" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IYearnVaultV2.sol": { - "keccak256": "0x3a8d57cff75a6738ed9d6492a89a293c1aa8a9b1ef5aa37835cbe3859b57c3d1", - "urls": [ - "bzz-raw://73ca467c06368dcf27a61fd1c976ac09d477bf63931846606dc8a41552677f87", - "dweb:/ipfs/QmP62v6Qz59exdjwsW2xiu5Rbg1LR2k1wcPHqZjQsnik2u" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IYearnVaultV2Registry.sol": { - "keccak256": "0xca387afa8b2158544765c86be1cc71ced66573fefb9cb545a92beef7860876d8", - "urls": [ - "bzz-raw://0f97ba821c58e057b0bbea0e7957b0e37040f0b6eb63a92747f2b12430b5847d", - "dweb:/ipfs/QmQKdh27zS7KjumTwCTwq5eXfnFHAfZe7HWosEDx1mJfEq" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/FundDeployerOwnerMixin.sol": { - "keccak256": "0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934", - "urls": [ - "bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927", - "dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 249 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_fundDeployer", "type": "address", "internalType": "address" }, { "name": "_yearnVaultV2Registry", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "addDerivatives", "inputs": [ { "name": "_derivatives", "type": "address[]", "internalType": "address[]" }, { "name": "_underlyings", "type": "address[]", "internalType": "address[]" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "calcUnderlyingValues", "inputs": [ { "name": "_derivative", "type": "address", "internalType": "address" }, { "name": "_derivativeAmount", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "underlyings_", "type": "address[]", "internalType": "address[]" }, { "name": "underlyingAmounts_", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "getFundDeployer", "inputs": [], "outputs": [ { "name": "fundDeployer_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getOwner", "inputs": [], "outputs": [ { "name": "owner_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getUnderlyingForDerivative", "inputs": [ { "name": "_derivative", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "underlying_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getYearnVaultV2Registry", "inputs": [], "outputs": [ { "name": "yearnVaultV2Registry_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "isSupportedAsset", "inputs": [ { "name": "_asset", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "isSupported_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "removeDerivatives", "inputs": [ { "name": "_derivatives", "type": "address[]", "internalType": "address[]" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "event", "name": "DerivativeAdded", "inputs": [ { "name": "derivative", "type": "address", "indexed": true, "internalType": "address" }, { "name": "underlying", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "DerivativeRemoved", "inputs": [ { "name": "derivative", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false } ], "bytecode": { "object": "0x60c060405234801561001057600080fd5b506040516111213803806111218339818101604052604081101561003357600080fd5b5080516020909101516001600160601b0319606092831b8116608052911b1660a05260805160601c60a05160601c61109e61008360003980610b9a5250806109315280610b76525061109e6000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c80638f72b1361161005b5780638f72b136146102c557806397c0ac8714610368578063981dc8e4146103705780639be918e61461037857610088565b806339cbb63c1461008d57806366adb867146101b6578063727212f6146101f8578063893d20e8146102bd575b600080fd5b6101b4600480360360408110156100a357600080fd5b8101906020810181356401000000008111156100be57600080fd5b8201836020820111156100d057600080fd5b803590602001918460208302840111640100000000831117156100f257600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929594936020810193503591505064010000000081111561014257600080fd5b82018360208201111561015457600080fd5b8035906020019184602083028401116401000000008311171561017657600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295506103b2945050505050565b005b6101dc600480360360208110156101cc57600080fd5b50356001600160a01b031661071f565b604080516001600160a01b039092168252519081900360200190f35b6102246004803603604081101561020e57600080fd5b506001600160a01b03813516906020013561073d565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b83811015610268578181015183820152602001610250565b50505050905001838103825284818151815260200191508051906020019060200280838360005b838110156102a757818101518382015260200161028f565b5050505090500194505050505060405180910390f35b6101dc61092d565b6101b4600480360360208110156102db57600080fd5b8101906020810181356401000000008111156102f657600080fd5b82018360208201111561030857600080fd5b8035906020019184602083028401116401000000008311171561032a57600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295506109b9945050505050565b6101dc610b74565b6101dc610b98565b61039e6004803603602081101561038e57600080fd5b50356001600160a01b0316610bbc565b604080519115158252519081900360200190f35b6103ba61092d565b6001600160a01b0316336001600160a01b0316146104095760405162461bcd60e51b8152600401808060200182810382526049815260200180610fb96049913960600191505060405180910390fd5b60008251116104495760405162461bcd60e51b81526004018080602001828103825260228152602001806110446022913960400191505060405180910390fd5b805182511461049f576040805162461bcd60e51b815260206004820152601e60248201527f61646444657269766174697665733a20556e657175616c206172726179730000604482015290519081900360640190fd5b60005b825181101561071a5760006001600160a01b03168382815181106104c257fe5b60200260200101516001600160a01b03161415610526576040805162461bcd60e51b815260206004820181905260248201527f61646444657269766174697665733a20456d7074792064657269766174697665604482015290519081900360640190fd5b60006001600160a01b031682828151811061053d57fe5b60200260200101516001600160a01b031614156105a1576040805162461bcd60e51b815260206004820181905260248201527f61646444657269766174697665733a20456d70747920756e6465726c79696e67604482015290519081900360640190fd5b60006001600160a01b03166105c88483815181106105bb57fe5b602002602001015161071f565b6001600160a01b03161461060d5760405162461bcd60e51b81526004018080602001828103825260218152602001806110026021913960400191505060405180910390fd5b61063d83828151811061061c57fe5b602002602001015183838151811061063057fe5b6020026020010151610bd9565b81818151811061064957fe5b602002602001015160008085848151811061066057fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b031602179055508181815181106106b857fe5b60200260200101516001600160a01b03168382815181106106d557fe5b60200260200101516001600160a01b03167faa4ae250fb435bb4b31ed0b95822bc179fc6c5dd0c727c3ffe08d444025efd9860405160405180910390a36001016104a2565b505050565b6001600160a01b039081166000908152602081905260409020541690565b6040805160018082528183019092526060918291906020808301908036833701905050915061076b8461071f565b8260008151811061077857fe5b60200260200101906001600160a01b031690816001600160a01b03168152505060006001600160a01b0316826000815181106107b057fe5b60200260200101516001600160a01b031614156107fe5760405162461bcd60e51b815260040180806020018281038252602c815260200180611066602c913960400191505060405180910390fd5b604080516001808252818301909252906020808301908036833701905050905061090d846001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561085a57600080fd5b505afa15801561086e573d6000803e3d6000fd5b505050506040513d602081101561088457600080fd5b505160408051634ca9858360e11b8152905160ff909216600a0a91610907916001600160a01b038916916399530b0691600480820192602092909190829003018186803b1580156108d457600080fd5b505afa1580156108e8573d6000803e3d6000fd5b505050506040513d60208110156108fe57600080fd5b50518690610e6d565b90610ecf565b8160008151811061091a57fe5b6020026020010181815250509250929050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561098857600080fd5b505afa15801561099c573d6000803e3d6000fd5b505050506040513d60208110156109b257600080fd5b5051905090565b6109c161092d565b6001600160a01b0316336001600160a01b031614610a105760405162461bcd60e51b8152600401808060200182810382526049815260200180610fb96049913960600191505060405180910390fd5b6000815111610a505760405162461bcd60e51b8152600401808060200182810382526025815260200180610f946025913960400191505060405180910390fd5b60005b8151811015610b705760006001600160a01b0316610a768383815181106105bb57fe5b6001600160a01b03161415610ad2576040805162461bcd60e51b815260206004820181905260248201527f72656d6f766544657269766174697665733a2056616c7565206e6f7420736574604482015290519081900360640190fd5b600080838381518110610ae157fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154906001600160a01b030219169055818181518110610b2b57fe5b60200260200101516001600160a01b03167fc15eb25d807b570f4567baf6e97c7b26d58a7d0512dc85e8db15375a056b860460405160405180910390a2600101610a53565b5050565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b600080610bc88361071f565b6001600160a01b0316141592915050565b600080610be4610b98565b905060005b816001600160a01b031663f9c7bba5856040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610c3657600080fd5b505afa158015610c4a573d6000803e3d6000fd5b505050506040513d6020811015610c6057600080fd5b5051811015610d1457846001600160a01b0316826001600160a01b0316637bbfc69e86846040518363ffffffff1660e01b815260040180836001600160a01b031681526020018281526020019250505060206040518083038186803b158015610cc857600080fd5b505afa158015610cdc573d6000803e3d6000fd5b505050506040513d6020811015610cf257600080fd5b50516001600160a01b03161415610d0c5760019250610d14565b600101610be9565b5081610d515760405162461bcd60e51b8152600401808060200182810382526033815260200180610f616033913960400191505060405180910390fd5b826001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015610d8a57600080fd5b505afa158015610d9e573d6000803e3d6000fd5b505050506040513d6020811015610db457600080fd5b50516040805163313ce56760e01b8152905160ff909216916001600160a01b0387169163313ce567916004808301926020929190829003018186803b158015610dfc57600080fd5b505afa158015610e10573d6000803e3d6000fd5b505050506040513d6020811015610e2657600080fd5b505160ff1614610e675760405162461bcd60e51b815260040180806020018281038252602a815260200180610f37602a913960400191505060405180910390fd5b50505050565b600082610e7c57506000610ec9565b82820282848281610e8957fe5b0414610ec65760405162461bcd60e51b81526004018080602001828103825260218152602001806110236021913960400191505060405180910390fd5b90505b92915050565b6000808211610f25576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b818381610f2e57fe5b04939250505056fe5f5f76616c6964617465446572697661746976653a20496e636f6e677275656e7420646563696d616c735f5f76616c6964617465446572697661746976653a20496e76616c696420795661756c7420666f7220756e6465726c79696e6772656d6f766544657269766174697665733a20456d707479205f64657269766174697665736f6e6c7946756e644465706c6f7965724f776e65723a204f6e6c79207468652046756e644465706c6f796572206f776e65722063616e2063616c6c20746869732066756e6374696f6e61646444657269766174697665733a2056616c756520616c726561647920736574536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7761646444657269766174697665733a20456d707479205f646572697661746976657363616c63556e6465726c79696e6756616c7565733a20556e737570706f727465642064657269766174697665a164736f6c634300060c000a", "sourceMap": "752:3279:249:-:0;;;943:212;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;943:212:249;;;;;;;-1:-1:-1;;;;;;864:29:358;;;;;;;;1101:47:249;;;::::1;::::0;752:3279;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106100885760003560e01c80638f72b1361161005b5780638f72b136146102c557806397c0ac8714610368578063981dc8e4146103705780639be918e61461037857610088565b806339cbb63c1461008d57806366adb867146101b6578063727212f6146101f8578063893d20e8146102bd575b600080fd5b6101b4600480360360408110156100a357600080fd5b8101906020810181356401000000008111156100be57600080fd5b8201836020820111156100d057600080fd5b803590602001918460208302840111640100000000831117156100f257600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929594936020810193503591505064010000000081111561014257600080fd5b82018360208201111561015457600080fd5b8035906020019184602083028401116401000000008311171561017657600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295506103b2945050505050565b005b6101dc600480360360208110156101cc57600080fd5b50356001600160a01b031661071f565b604080516001600160a01b039092168252519081900360200190f35b6102246004803603604081101561020e57600080fd5b506001600160a01b03813516906020013561073d565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b83811015610268578181015183820152602001610250565b50505050905001838103825284818151815260200191508051906020019060200280838360005b838110156102a757818101518382015260200161028f565b5050505090500194505050505060405180910390f35b6101dc61092d565b6101b4600480360360208110156102db57600080fd5b8101906020810181356401000000008111156102f657600080fd5b82018360208201111561030857600080fd5b8035906020019184602083028401116401000000008311171561032a57600080fd5b9190808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152509295506109b9945050505050565b6101dc610b74565b6101dc610b98565b61039e6004803603602081101561038e57600080fd5b50356001600160a01b0316610bbc565b604080519115158252519081900360200190f35b6103ba61092d565b6001600160a01b0316336001600160a01b0316146104095760405162461bcd60e51b8152600401808060200182810382526049815260200180610fb96049913960600191505060405180910390fd5b60008251116104495760405162461bcd60e51b81526004018080602001828103825260228152602001806110446022913960400191505060405180910390fd5b805182511461049f576040805162461bcd60e51b815260206004820152601e60248201527f61646444657269766174697665733a20556e657175616c206172726179730000604482015290519081900360640190fd5b60005b825181101561071a5760006001600160a01b03168382815181106104c257fe5b60200260200101516001600160a01b03161415610526576040805162461bcd60e51b815260206004820181905260248201527f61646444657269766174697665733a20456d7074792064657269766174697665604482015290519081900360640190fd5b60006001600160a01b031682828151811061053d57fe5b60200260200101516001600160a01b031614156105a1576040805162461bcd60e51b815260206004820181905260248201527f61646444657269766174697665733a20456d70747920756e6465726c79696e67604482015290519081900360640190fd5b60006001600160a01b03166105c88483815181106105bb57fe5b602002602001015161071f565b6001600160a01b03161461060d5760405162461bcd60e51b81526004018080602001828103825260218152602001806110026021913960400191505060405180910390fd5b61063d83828151811061061c57fe5b602002602001015183838151811061063057fe5b6020026020010151610bd9565b81818151811061064957fe5b602002602001015160008085848151811061066057fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b031602179055508181815181106106b857fe5b60200260200101516001600160a01b03168382815181106106d557fe5b60200260200101516001600160a01b03167faa4ae250fb435bb4b31ed0b95822bc179fc6c5dd0c727c3ffe08d444025efd9860405160405180910390a36001016104a2565b505050565b6001600160a01b039081166000908152602081905260409020541690565b6040805160018082528183019092526060918291906020808301908036833701905050915061076b8461071f565b8260008151811061077857fe5b60200260200101906001600160a01b031690816001600160a01b03168152505060006001600160a01b0316826000815181106107b057fe5b60200260200101516001600160a01b031614156107fe5760405162461bcd60e51b815260040180806020018281038252602c815260200180611066602c913960400191505060405180910390fd5b604080516001808252818301909252906020808301908036833701905050905061090d846001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561085a57600080fd5b505afa15801561086e573d6000803e3d6000fd5b505050506040513d602081101561088457600080fd5b505160408051634ca9858360e11b8152905160ff909216600a0a91610907916001600160a01b038916916399530b0691600480820192602092909190829003018186803b1580156108d457600080fd5b505afa1580156108e8573d6000803e3d6000fd5b505050506040513d60208110156108fe57600080fd5b50518690610e6d565b90610ecf565b8160008151811061091a57fe5b6020026020010181815250509250929050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561098857600080fd5b505afa15801561099c573d6000803e3d6000fd5b505050506040513d60208110156109b257600080fd5b5051905090565b6109c161092d565b6001600160a01b0316336001600160a01b031614610a105760405162461bcd60e51b8152600401808060200182810382526049815260200180610fb96049913960600191505060405180910390fd5b6000815111610a505760405162461bcd60e51b8152600401808060200182810382526025815260200180610f946025913960400191505060405180910390fd5b60005b8151811015610b705760006001600160a01b0316610a768383815181106105bb57fe5b6001600160a01b03161415610ad2576040805162461bcd60e51b815260206004820181905260248201527f72656d6f766544657269766174697665733a2056616c7565206e6f7420736574604482015290519081900360640190fd5b600080838381518110610ae157fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154906001600160a01b030219169055818181518110610b2b57fe5b60200260200101516001600160a01b03167fc15eb25d807b570f4567baf6e97c7b26d58a7d0512dc85e8db15375a056b860460405160405180910390a2600101610a53565b5050565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f000000000000000000000000000000000000000000000000000000000000000090565b600080610bc88361071f565b6001600160a01b0316141592915050565b600080610be4610b98565b905060005b816001600160a01b031663f9c7bba5856040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610c3657600080fd5b505afa158015610c4a573d6000803e3d6000fd5b505050506040513d6020811015610c6057600080fd5b5051811015610d1457846001600160a01b0316826001600160a01b0316637bbfc69e86846040518363ffffffff1660e01b815260040180836001600160a01b031681526020018281526020019250505060206040518083038186803b158015610cc857600080fd5b505afa158015610cdc573d6000803e3d6000fd5b505050506040513d6020811015610cf257600080fd5b50516001600160a01b03161415610d0c5760019250610d14565b600101610be9565b5081610d515760405162461bcd60e51b8152600401808060200182810382526033815260200180610f616033913960400191505060405180910390fd5b826001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015610d8a57600080fd5b505afa158015610d9e573d6000803e3d6000fd5b505050506040513d6020811015610db457600080fd5b50516040805163313ce56760e01b8152905160ff909216916001600160a01b0387169163313ce567916004808301926020929190829003018186803b158015610dfc57600080fd5b505afa158015610e10573d6000803e3d6000fd5b505050506040513d6020811015610e2657600080fd5b505160ff1614610e675760405162461bcd60e51b815260040180806020018281038252602a815260200180610f37602a913960400191505060405180910390fd5b50505050565b600082610e7c57506000610ec9565b82820282848281610e8957fe5b0414610ec65760405162461bcd60e51b81526004018080602001828103825260218152602001806110236021913960400191505060405180910390fd5b90505b92915050565b6000808211610f25576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b818381610f2e57fe5b04939250505056fe5f5f76616c6964617465446572697661746976653a20496e636f6e677275656e7420646563696d616c735f5f76616c6964617465446572697661746976653a20496e76616c696420795661756c7420666f7220756e6465726c79696e6772656d6f766544657269766174697665733a20456d707479205f64657269766174697665736f6e6c7946756e644465706c6f7965724f776e65723a204f6e6c79207468652046756e644465706c6f796572206f776e65722063616e2063616c6c20746869732066756e6374696f6e61646444657269766174697665733a2056616c756520616c726561647920736574536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7761646444657269766174697665733a20456d707479205f646572697661746976657363616c63556e6465726c79696e6756616c7565733a20556e737570706f727465642064657269766174697665a164736f6c634300060c000a", "sourceMap": "752:3279:249:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1158:951:252;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1158:951:252;;;;;;;;-1:-1:-1;1158:951:252;;-1:-1:-1;;1158:951:252;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1158:951:252;;-1:-1:-1;1158:951:252;;-1:-1:-1;;;;;1158:951:252:i;:::-;;3223:186;;;;;;;;;;;;;;;;-1:-1:-1;3223:186:252;-1:-1:-1;;;;;3223:186:252;;:::i;:::-;;;;-1:-1:-1;;;;;3223:186:252;;;;;;;;;;;;;;1553:633:249;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;1553:633:249;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1064:120:358;;;:::i;2225:523:252:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2225:523:252;;-1:-1:-1;2225:523:252;;-1:-1:-1;;;;;2225:523:252:i;1378:108:358:-;;;:::i;3895:134:249:-;;;:::i;2359:165::-;;;;;;;;;;;;;;;;-1:-1:-1;2359:165:249;-1:-1:-1;;;;;2359:165:249;;:::i;:::-;;;;;;;;;;;;;;;;;;1158:951:252;679:10:358;:8;:10::i;:::-;-1:-1:-1;;;;;665:24:358;:10;-1:-1:-1;;;;;665:24:358;;644:144;;;;-1:-1:-1;;;644:144:358;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1351:1:252::1;1329:12;:19;:23;1321:70;;;;-1:-1:-1::0;;;1321:70:252::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1432:12;:19;1409:12;:19;:42;1401:85;;;::::0;;-1:-1:-1;;;1401:85:252;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;1502:9;1497:606;1517:12;:19;1513:1;:23;1497:606;;;1592:1;-1:-1:-1::0;;;;;1565:29:252::1;:12;1578:1;1565:15;;;;;;;;;;;;;;-1:-1:-1::0;;;;;1565:29:252::1;;;1557:74;;;::::0;;-1:-1:-1;;;1557:74:252;;::::1;;::::0;::::1;::::0;;;;;;;::::1;::::0;;;;;;;;;;;;;::::1;;1680:1;-1:-1:-1::0;;;;;1653:29:252::1;:12;1666:1;1653:15;;;;;;;;;;;;;;-1:-1:-1::0;;;;;1653:29:252::1;;;1645:74;;;::::0;;-1:-1:-1;;;1645:74:252;;::::1;;::::0;::::1;::::0;;;;;;;::::1;::::0;;;;;;;;;;;;;::::1;;1813:1;-1:-1:-1::0;;;;;1758:57:252::1;:43;1785:12;1798:1;1785:15;;;;;;;;;;;;;;1758:26;:43::i;:::-;-1:-1:-1::0;;;;;1758:57:252::1;;1733:149;;;;-1:-1:-1::0;;;1733:149:252::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1897:54;1918:12;1931:1;1918:15;;;;;;;;;;;;;;1935:12;1948:1;1935:15;;;;;;;;;;;;;;1897:20;:54::i;:::-;2008:12;2021:1;2008:15;;;;;;;;;;;;;;1966:22;:39:::0;1989:12:::1;2002:1;1989:15;;;;;;;;;;;;;;-1:-1:-1::0;;;;;1966:39:252::1;-1:-1:-1::0;;;;;1966:39:252::1;;;;;;;;;;;;;:57;;;;;-1:-1:-1::0;;;;;1966:57:252::1;;;;;-1:-1:-1::0;;;;;1966:57:252::1;;;;;;2076:12;2089:1;2076:15;;;;;;;;;;;;;;-1:-1:-1::0;;;;;2043:49:252::1;2059:12;2072:1;2059:15;;;;;;;;;;;;;;-1:-1:-1::0;;;;;2043:49:252::1;;;;;;;;;;;1538:3;;1497:606;;;;1158:951:::0;;:::o;3223:186::-;-1:-1:-1;;;;;3367:35:252;;;3325:19;3367:35;;;;;;;;;;;;;3223:186::o;1553:633:249:-;1779:16;;;1793:1;1779:16;;;;;;;;;1682:29;;;;1779:16;;;;;;;;;;;;-1:-1:-1;1779:16:249;1764:31;;1823:39;1850:11;1823:26;:39::i;:::-;1805:12;1818:1;1805:15;;;;;;;;;;;;;:57;-1:-1:-1;;;;;1805:57:249;;;-1:-1:-1;;;;;1805:57:249;;;;;1907:1;-1:-1:-1;;;;;1880:29:249;:12;1893:1;1880:15;;;;;;;;;;;;;;-1:-1:-1;;;;;1880:29:249;;;1872:86;;;;-1:-1:-1;;;1872:86:249;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1990:16;;;2004:1;1990:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1990:16:249;1969:37;;2040:139;2154:11;-1:-1:-1;;;;;2148:27:249;;:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2148:29:249;2075:42;;;-1:-1:-1;;;2075:42:249;;;;2140:38;;;;2136:2;:42;;2040:78;;-1:-1:-1;;;;;2075:40:249;;;;;:42;;;;;2148:29;;2075:42;;;;;;;;:40;:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2075:42:249;2040:17;;:34;:78::i;:::-;:95;;:139::i;:::-;2016:18;2035:1;2016:21;;;;;;;;;;;;;:163;;;;;1553:633;;;;;:::o;1064:120:358:-;1105:14;1152:13;-1:-1:-1;;;;;1138:37:358;;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1138:39:358;;-1:-1:-1;1064:120:358;:::o;2225:523:252:-;679:10:358;:8;:10::i;:::-;-1:-1:-1;;;;;665:24:358;:10;-1:-1:-1;;;;;665:24:358;;644:144;;;;-1:-1:-1;;;644:144:358;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2354:1:252::1;2332:12;:19;:23;2324:73;;;;-1:-1:-1::0;;;2324:73:252::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2413:9;2408:334;2428:12;:19;2424:1;:23;2408:334;;;2548:1;-1:-1:-1::0;;;;;2493:57:252::1;:43;2520:12;2533:1;2520:15;;;;;;;2493:43;-1:-1:-1::0;;;;;2493:57:252::1;;;2468:148;;;::::0;;-1:-1:-1;;;2468:148:252;;::::1;;::::0;::::1;::::0;;;;;;;::::1;::::0;;;;;;;;;;;;;::::1;;2638:22;:39:::0;2661:12:::1;2674:1;2661:15;;;;;;;;;;;;;;-1:-1:-1::0;;;;;2638:39:252::1;-1:-1:-1::0;;;;;2638:39:252::1;;;;;;;;;;;;;2631:46;;;;;-1:-1:-1::0;;;;;2631:46:252::1;;;;;2715:12;2728:1;2715:15;;;;;;;;;;;;;;-1:-1:-1::0;;;;;2697:34:252::1;;;;;;;;;;;2449:3;;2408:334;;;;2225:523:::0;:::o;1378:108:358:-;1466:13;1378:108;:::o;3895:134:249:-;3999:23;3895:134;:::o;2359:165::-;2433:17;;2469:34;2496:6;2469:26;:34::i;:::-;-1:-1:-1;;;;;2469:48:249;;;;2359:165;-1:-1:-1;;2359:165:249:o;2658:1015::-;2917:24;2951:43;3032:25;:23;:25::i;:::-;2951:116;;3082:9;3077:242;3097:21;-1:-1:-1;;;;;3097:31:249;;3129:11;3097:44;;;;;;;;;;;;;-1:-1:-1;;;;;3097:44:249;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3097:44:249;3093:48;;3077:242;;;3214:11;-1:-1:-1;;;;;3166:59:249;:21;-1:-1:-1;;;;;3166:28:249;;3195:11;3208:1;3166:44;;;;;;;;;;;;;-1:-1:-1;;;;;3166:44:249;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3166:44:249;-1:-1:-1;;;;;3166:59:249;;3162:147;;;3267:4;3245:26;;3289:5;;3162:147;3143:3;;3077:242;;;;3336:19;3328:83;;;;-1:-1:-1;;;3328:83:249;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3575:11;-1:-1:-1;;;;;3569:27:249;;:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3569:29:249;3536;;;-1:-1:-1;;;3536:29:249;;;;:62;;;;;-1:-1:-1;;;;;3536:27:249;;;;;:29;;;;;3569;;3536;;;;;;;:27;:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3536:29:249;:62;;;3515:151;;;;-1:-1:-1;;;3515:151:249;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2658:1015;;;;:::o;3538:215:442:-;3596:7;3619:6;3615:20;;-1:-1:-1;3634:1:442;3627:8;;3615:20;3657:5;;;3661:1;3657;:5;:1;3680:5;;;;;:10;3672:56;;;;-1:-1:-1;;;3672:56:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3745:1;-1:-1:-1;3538:215:442;;;;;:::o;4217:150::-;4275:7;4306:1;4302;:5;4294:44;;;;;-1:-1:-1;;;4294:44:442;;;;;;;;;;;;;;;;;;;;;;;;;;;;4359:1;4355;:5;;;;;;;4217:150;-1:-1:-1;;;4217:150:442:o", "linkReferences": {}, "immutableReferences": { "65920": [ { "start": 2970, "length": 32 } ], "78707": [ { "start": 2353, "length": 32 }, { "start": 2934, "length": 32 } ] } }, "methodIdentifiers": { "addDerivatives(address[],address[])": "39cbb63c", "calcUnderlyingValues(address,uint256)": "727212f6", "getFundDeployer()": "97c0ac87", "getOwner()": "893d20e8", "getUnderlyingForDerivative(address)": "66adb867", "getYearnVaultV2Registry()": "981dc8e4", "isSupportedAsset(address)": "9be918e6", "removeDerivatives(address[])": "8f72b136" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_fundDeployer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_yearnVaultV2Registry\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"derivative\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"underlying\",\"type\":\"address\"}],\"name\":\"DerivativeAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"derivative\",\"type\":\"address\"}],\"name\":\"DerivativeRemoved\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_derivatives\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"_underlyings\",\"type\":\"address[]\"}],\"name\":\"addDerivatives\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_derivative\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_derivativeAmount\",\"type\":\"uint256\"}],\"name\":\"calcUnderlyingValues\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"underlyings_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"underlyingAmounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFundDeployer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"fundDeployer_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_derivative\",\"type\":\"address\"}],\"name\":\"getUnderlyingForDerivative\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"underlying_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getYearnVaultV2Registry\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"yearnVaultV2Registry_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_asset\",\"type\":\"address\"}],\"name\":\"isSupportedAsset\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isSupported_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_derivatives\",\"type\":\"address[]\"}],\"name\":\"removeDerivatives\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"addDerivatives(address[],address[])\":{\"params\":{\"_derivatives\":\"The derivatives to add\",\"_underlyings\":\"The corresponding underlyings to add\"}},\"calcUnderlyingValues(address,uint256)\":{\"params\":{\"_derivative\":\"The derivative to convert\",\"_derivativeAmount\":\"The amount of the derivative to convert\"},\"returns\":{\"underlyingAmounts_\":\"The amount of each underlying asset for the equivalent derivative amount\",\"underlyings_\":\"The underlying assets for the _derivative\"}},\"getFundDeployer()\":{\"returns\":{\"fundDeployer_\":\"The `FUND_DEPLOYER` variable value\"}},\"getOwner()\":{\"details\":\"Ownership is deferred to the owner of the FundDeployer contract\",\"returns\":{\"owner_\":\"The owner\"}},\"getUnderlyingForDerivative(address)\":{\"params\":{\"_derivative\":\"The derivative for which to get the underlying asset\"},\"returns\":{\"underlying_\":\"The underlying asset\"}},\"getYearnVaultV2Registry()\":{\"returns\":{\"yearnVaultV2Registry_\":\"The `YEARN_VAULT_V2_REGISTRY` variable value\"}},\"isSupportedAsset(address)\":{\"params\":{\"_asset\":\"The asset to check\"},\"returns\":{\"isSupported_\":\"True if the asset is supported\"}},\"removeDerivatives(address[])\":{\"params\":{\"_derivatives\":\"The derivatives to remove\"}}},\"title\":\"YearnVaultV2PriceFeed Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"addDerivatives(address[],address[])\":{\"notice\":\"Adds derivatives with corresponding underlyings to the price feed\"},\"calcUnderlyingValues(address,uint256)\":{\"notice\":\"Converts a given amount of a derivative to its underlying asset values\"},\"getFundDeployer()\":{\"notice\":\"Gets the `FUND_DEPLOYER` variable\"},\"getOwner()\":{\"notice\":\"Gets the owner of this contract\"},\"getUnderlyingForDerivative(address)\":{\"notice\":\"Gets the underlying asset for a given derivative\"},\"getYearnVaultV2Registry()\":{\"notice\":\"Gets the `YEARN_VAULT_V2_REGISTRY` variable\"},\"isSupportedAsset(address)\":{\"notice\":\"Checks if an asset is supported by the price feed\"},\"removeDerivatives(address[])\":{\"notice\":\"Removes derivatives from the price feed\"}},\"notice\":\"Price source oracle for Yearn Vault V2 shares\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/infrastructure/price-feeds/derivatives/feeds/YearnVaultV2PriceFeed.sol\":\"YearnVaultV2PriceFeed\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol\":{\"keccak256\":\"0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e\",\"dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK\"]},\"contracts/release/infrastructure/price-feeds/derivatives/feeds/YearnVaultV2PriceFeed.sol\":{\"keccak256\":\"0x6c892b3259c1bfb2e725b79fb8edf14de1280b07320b8445975afc12dbc27e12\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://be11349a75128518d38df96615525c6fc75df1f77f4eecd946965be78d4090fd\",\"dweb:/ipfs/QmTYAHXMutaZNPhB4JAxD7f37AGpiRvUMiLgXdP6LTxuP1\"]},\"contracts/release/infrastructure/price-feeds/derivatives/feeds/utils/SingleUnderlyingDerivativeRegistryMixin.sol\":{\"keccak256\":\"0xeb2aab819af80382ad562d5a80863484a42caa7888f811817eb283894a1852e7\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8846bfa874ede75fbcd3053d45a1647cad0aabbb26e4189998e8c517961c2bb6\",\"dweb:/ipfs/QmV4Bgx9VfX6kaoyZuaBDf2xyTY4ZmjniZTX8TrEmhU4Pv\"]},\"contracts/release/interfaces/IYearnVaultV2.sol\":{\"keccak256\":\"0x3a8d57cff75a6738ed9d6492a89a293c1aa8a9b1ef5aa37835cbe3859b57c3d1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://73ca467c06368dcf27a61fd1c976ac09d477bf63931846606dc8a41552677f87\",\"dweb:/ipfs/QmP62v6Qz59exdjwsW2xiu5Rbg1LR2k1wcPHqZjQsnik2u\"]},\"contracts/release/interfaces/IYearnVaultV2Registry.sol\":{\"keccak256\":\"0xca387afa8b2158544765c86be1cc71ced66573fefb9cb545a92beef7860876d8\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://0f97ba821c58e057b0bbea0e7957b0e37040f0b6eb63a92747f2b12430b5847d\",\"dweb:/ipfs/QmQKdh27zS7KjumTwCTwq5eXfnFHAfZe7HWosEDx1mJfEq\"]},\"contracts/release/utils/FundDeployerOwnerMixin.sol\":{\"keccak256\":\"0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927\",\"dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_fundDeployer", "type": "address" }, { "internalType": "address", "name": "_yearnVaultV2Registry", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "derivative", "type": "address", "indexed": true }, { "internalType": "address", "name": "underlying", "type": "address", "indexed": true } ], "type": "event", "name": "DerivativeAdded", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "derivative", "type": "address", "indexed": true } ], "type": "event", "name": "DerivativeRemoved", "anonymous": false }, { "inputs": [ { "internalType": "address[]", "name": "_derivatives", "type": "address[]" }, { "internalType": "address[]", "name": "_underlyings", "type": "address[]" } ], "stateMutability": "nonpayable", "type": "function", "name": "addDerivatives" }, { "inputs": [ { "internalType": "address", "name": "_derivative", "type": "address" }, { "internalType": "uint256", "name": "_derivativeAmount", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function", "name": "calcUnderlyingValues", "outputs": [ { "internalType": "address[]", "name": "underlyings_", "type": "address[]" }, { "internalType": "uint256[]", "name": "underlyingAmounts_", "type": "uint256[]" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getFundDeployer", "outputs": [ { "internalType": "address", "name": "fundDeployer_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getOwner", "outputs": [ { "internalType": "address", "name": "owner_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_derivative", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "getUnderlyingForDerivative", "outputs": [ { "internalType": "address", "name": "underlying_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getYearnVaultV2Registry", "outputs": [ { "internalType": "address", "name": "yearnVaultV2Registry_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_asset", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "isSupportedAsset", "outputs": [ { "internalType": "bool", "name": "isSupported_", "type": "bool" } ] }, { "inputs": [ { "internalType": "address[]", "name": "_derivatives", "type": "address[]" } ], "stateMutability": "nonpayable", "type": "function", "name": "removeDerivatives" } ], "devdoc": { "kind": "dev", "methods": { "addDerivatives(address[],address[])": { "params": { "_derivatives": "The derivatives to add", "_underlyings": "The corresponding underlyings to add" } }, "calcUnderlyingValues(address,uint256)": { "params": { "_derivative": "The derivative to convert", "_derivativeAmount": "The amount of the derivative to convert" }, "returns": { "underlyingAmounts_": "The amount of each underlying asset for the equivalent derivative amount", "underlyings_": "The underlying assets for the _derivative" } }, "getFundDeployer()": { "returns": { "fundDeployer_": "The `FUND_DEPLOYER` variable value" } }, "getOwner()": { "details": "Ownership is deferred to the owner of the FundDeployer contract", "returns": { "owner_": "The owner" } }, "getUnderlyingForDerivative(address)": { "params": { "_derivative": "The derivative for which to get the underlying asset" }, "returns": { "underlying_": "The underlying asset" } }, "getYearnVaultV2Registry()": { "returns": { "yearnVaultV2Registry_": "The `YEARN_VAULT_V2_REGISTRY` variable value" } }, "isSupportedAsset(address)": { "params": { "_asset": "The asset to check" }, "returns": { "isSupported_": "True if the asset is supported" } }, "removeDerivatives(address[])": { "params": { "_derivatives": "The derivatives to remove" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "addDerivatives(address[],address[])": { "notice": "Adds derivatives with corresponding underlyings to the price feed" }, "calcUnderlyingValues(address,uint256)": { "notice": "Converts a given amount of a derivative to its underlying asset values" }, "getFundDeployer()": { "notice": "Gets the `FUND_DEPLOYER` variable" }, "getOwner()": { "notice": "Gets the owner of this contract" }, "getUnderlyingForDerivative(address)": { "notice": "Gets the underlying asset for a given derivative" }, "getYearnVaultV2Registry()": { "notice": "Gets the `YEARN_VAULT_V2_REGISTRY` variable" }, "isSupportedAsset(address)": { "notice": "Checks if an asset is supported by the price feed" }, "removeDerivatives(address[])": { "notice": "Removes derivatives from the price feed" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/infrastructure/price-feeds/derivatives/feeds/YearnVaultV2PriceFeed.sol": "YearnVaultV2PriceFeed" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/core/fund-deployer/IFundDeployer.sol": { "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", "urls": [ "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/price-feeds/derivatives/IDerivativePriceFeed.sol": { "keccak256": "0x5abbc57ccbf28b2c27a0ee496f0a949a0039912975e8f9a65312d884edd05332", "urls": [ "bzz-raw://9cfb87b8df1f3f58c556907e2a9cc197fa5bb90ad9bc9d4717e95fd63258d80e", "dweb:/ipfs/QmWxLvfq9NNJJZueeHD5EYWdRwrgzmrVdLUqp9Ta7A9ccK" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/price-feeds/derivatives/feeds/YearnVaultV2PriceFeed.sol": { "keccak256": "0x6c892b3259c1bfb2e725b79fb8edf14de1280b07320b8445975afc12dbc27e12", "urls": [ "bzz-raw://be11349a75128518d38df96615525c6fc75df1f77f4eecd946965be78d4090fd", "dweb:/ipfs/QmTYAHXMutaZNPhB4JAxD7f37AGpiRvUMiLgXdP6LTxuP1" ], "license": "GPL-3.0" }, "contracts/release/infrastructure/price-feeds/derivatives/feeds/utils/SingleUnderlyingDerivativeRegistryMixin.sol": { "keccak256": "0xeb2aab819af80382ad562d5a80863484a42caa7888f811817eb283894a1852e7", "urls": [ "bzz-raw://8846bfa874ede75fbcd3053d45a1647cad0aabbb26e4189998e8c517961c2bb6", "dweb:/ipfs/QmV4Bgx9VfX6kaoyZuaBDf2xyTY4ZmjniZTX8TrEmhU4Pv" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IYearnVaultV2.sol": { "keccak256": "0x3a8d57cff75a6738ed9d6492a89a293c1aa8a9b1ef5aa37835cbe3859b57c3d1", "urls": [ "bzz-raw://73ca467c06368dcf27a61fd1c976ac09d477bf63931846606dc8a41552677f87", "dweb:/ipfs/QmP62v6Qz59exdjwsW2xiu5Rbg1LR2k1wcPHqZjQsnik2u" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IYearnVaultV2Registry.sol": { "keccak256": "0xca387afa8b2158544765c86be1cc71ced66573fefb9cb545a92beef7860876d8", "urls": [ "bzz-raw://0f97ba821c58e057b0bbea0e7957b0e37040f0b6eb63a92747f2b12430b5847d", "dweb:/ipfs/QmQKdh27zS7KjumTwCTwq5eXfnFHAfZe7HWosEDx1mJfEq" ], "license": "GPL-3.0" }, "contracts/release/utils/FundDeployerOwnerMixin.sol": { "keccak256": "0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934", "urls": [ "bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927", "dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" } }, "version": 1 }, "id": 249 } diff --git a/eth_defi/abi/enzyme/ZeroExV2ActionsMixin.json b/eth_defi/abi/enzyme/ZeroExV2ActionsMixin.json index d049b43d..7f98d903 100644 --- a/eth_defi/abi/enzyme/ZeroExV2ActionsMixin.json +++ b/eth_defi/abi/enzyme/ZeroExV2ActionsMixin.json @@ -1,212 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_exchange", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "name": "getZeroExV2Exchange", - "outputs": [ - { - "internalType": "address", - "name": "zeroExV2Exchange_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "bytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x", - "sourceMap": "", - "linkReferences": {} - }, - "methodIdentifiers": { - "getZeroExV2Exchange()": "1d566eee" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_exchange\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"getZeroExV2Exchange\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"zeroExV2Exchange_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"getZeroExV2Exchange()\":{\"returns\":{\"zeroExV2Exchange_\":\"The `ZERO_EX_V2_EXCHANGE` variable value\"}}},\"title\":\"ZeroExV2ActionsMixin Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getZeroExV2Exchange()\":{\"notice\":\"Gets the `ZERO_EX_V2_EXCHANGE` variable value\"}},\"notice\":\"Mixin contract for interacting with the ZeroExV2 exchange functions\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/integration-manager/integrations/utils/actions/ZeroExV2ActionsMixin.sol\":\"ZeroExV2ActionsMixin\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/integration-manager/integrations/utils/actions/ZeroExV2ActionsMixin.sol\":{\"keccak256\":\"0x35897e0e775a94bbfa2e1aa7e4def77d933ffa7c7ae5a32e9d58f85a9fbd580e\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a2c3a03d2c9e682fbbb84301f15c75e13345cf5d74e2ac332298bf297af8ad1c\",\"dweb:/ipfs/QmYRREB1X7az2YnMkcjQqfVHwdqVy1oQAT89wwfxMGS4n4\"]},\"contracts/release/interfaces/IZeroExV2.sol\":{\"keccak256\":\"0x0c07eab651b8ce3000ddcfd1cad14f16b76a8d032a3bdbf25e17dad8b26fa125\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f675908202e1fb7e22905163eead8d9eaefce731a7d288841126a00e2177bcdc\",\"dweb:/ipfs/QmRUoZdkEvxaK2Ma6UeGHMR2PdrMkuiujioc59W8rYqKJu\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"contracts/release/utils/MathHelpers.sol\":{\"keccak256\":\"0x8aef498ae98bfb40cd1df8c9ed652b4c092fbbe62d5a1fad522c53654523248e\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ed62789f6a8d5ca30a40c591f244b915e4711493a9e4b1b4d40ea2bc97b02a95\",\"dweb:/ipfs/QmWyXJ55arURtx9VMkUQokdsjk8tbgM2cC8rENFUMyz5D3\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_exchange", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getZeroExV2Exchange", - "outputs": [ - { - "internalType": "address", - "name": "zeroExV2Exchange_", - "type": "address" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "getZeroExV2Exchange()": { - "returns": { - "zeroExV2Exchange_": "The `ZERO_EX_V2_EXCHANGE` variable value" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "getZeroExV2Exchange()": { - "notice": "Gets the `ZERO_EX_V2_EXCHANGE` variable value" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/integration-manager/integrations/utils/actions/ZeroExV2ActionsMixin.sol": "ZeroExV2ActionsMixin" - }, - "libraries": {} - }, - "sources": { - "contracts/release/extensions/integration-manager/integrations/utils/actions/ZeroExV2ActionsMixin.sol": { - "keccak256": "0x35897e0e775a94bbfa2e1aa7e4def77d933ffa7c7ae5a32e9d58f85a9fbd580e", - "urls": [ - "bzz-raw://a2c3a03d2c9e682fbbb84301f15c75e13345cf5d74e2ac332298bf297af8ad1c", - "dweb:/ipfs/QmYRREB1X7az2YnMkcjQqfVHwdqVy1oQAT89wwfxMGS4n4" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IZeroExV2.sol": { - "keccak256": "0x0c07eab651b8ce3000ddcfd1cad14f16b76a8d032a3bdbf25e17dad8b26fa125", - "urls": [ - "bzz-raw://f675908202e1fb7e22905163eead8d9eaefce731a7d288841126a00e2177bcdc", - "dweb:/ipfs/QmRUoZdkEvxaK2Ma6UeGHMR2PdrMkuiujioc59W8rYqKJu" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AssetHelpers.sol": { - "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", - "urls": [ - "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", - "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/MathHelpers.sol": { - "keccak256": "0x8aef498ae98bfb40cd1df8c9ed652b4c092fbbe62d5a1fad522c53654523248e", - "urls": [ - "bzz-raw://ed62789f6a8d5ca30a40c591f244b915e4711493a9e4b1b4d40ea2bc97b02a95", - "dweb:/ipfs/QmWyXJ55arURtx9VMkUQokdsjk8tbgM2cC8rENFUMyz5D3" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { - "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", - "urls": [ - "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", - "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Address.sol": { - "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", - "urls": [ - "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", - "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 199 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_exchange", "type": "address", "internalType": "address" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "getZeroExV2Exchange", "inputs": [], "outputs": [ { "name": "zeroExV2Exchange_", "type": "address", "internalType": "address" } ], "stateMutability": "view" } ], "bytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "deployedBytecode": { "object": "0x", "sourceMap": "", "linkReferences": {} }, "methodIdentifiers": { "getZeroExV2Exchange()": "1d566eee" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_exchange\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"getZeroExV2Exchange\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"zeroExV2Exchange_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"getZeroExV2Exchange()\":{\"returns\":{\"zeroExV2Exchange_\":\"The `ZERO_EX_V2_EXCHANGE` variable value\"}}},\"title\":\"ZeroExV2ActionsMixin Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getZeroExV2Exchange()\":{\"notice\":\"Gets the `ZERO_EX_V2_EXCHANGE` variable value\"}},\"notice\":\"Mixin contract for interacting with the ZeroExV2 exchange functions\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/integration-manager/integrations/utils/actions/ZeroExV2ActionsMixin.sol\":\"ZeroExV2ActionsMixin\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/extensions/integration-manager/integrations/utils/actions/ZeroExV2ActionsMixin.sol\":{\"keccak256\":\"0x35897e0e775a94bbfa2e1aa7e4def77d933ffa7c7ae5a32e9d58f85a9fbd580e\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a2c3a03d2c9e682fbbb84301f15c75e13345cf5d74e2ac332298bf297af8ad1c\",\"dweb:/ipfs/QmYRREB1X7az2YnMkcjQqfVHwdqVy1oQAT89wwfxMGS4n4\"]},\"contracts/release/interfaces/IZeroExV2.sol\":{\"keccak256\":\"0x0c07eab651b8ce3000ddcfd1cad14f16b76a8d032a3bdbf25e17dad8b26fa125\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f675908202e1fb7e22905163eead8d9eaefce731a7d288841126a00e2177bcdc\",\"dweb:/ipfs/QmRUoZdkEvxaK2Ma6UeGHMR2PdrMkuiujioc59W8rYqKJu\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"contracts/release/utils/MathHelpers.sol\":{\"keccak256\":\"0x8aef498ae98bfb40cd1df8c9ed652b4c092fbbe62d5a1fad522c53654523248e\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ed62789f6a8d5ca30a40c591f244b915e4711493a9e4b1b4d40ea2bc97b02a95\",\"dweb:/ipfs/QmWyXJ55arURtx9VMkUQokdsjk8tbgM2cC8rENFUMyz5D3\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_exchange", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getZeroExV2Exchange", "outputs": [ { "internalType": "address", "name": "zeroExV2Exchange_", "type": "address" } ] } ], "devdoc": { "kind": "dev", "methods": { "getZeroExV2Exchange()": { "returns": { "zeroExV2Exchange_": "The `ZERO_EX_V2_EXCHANGE` variable value" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "getZeroExV2Exchange()": { "notice": "Gets the `ZERO_EX_V2_EXCHANGE` variable value" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/integration-manager/integrations/utils/actions/ZeroExV2ActionsMixin.sol": "ZeroExV2ActionsMixin" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/extensions/integration-manager/integrations/utils/actions/ZeroExV2ActionsMixin.sol": { "keccak256": "0x35897e0e775a94bbfa2e1aa7e4def77d933ffa7c7ae5a32e9d58f85a9fbd580e", "urls": [ "bzz-raw://a2c3a03d2c9e682fbbb84301f15c75e13345cf5d74e2ac332298bf297af8ad1c", "dweb:/ipfs/QmYRREB1X7az2YnMkcjQqfVHwdqVy1oQAT89wwfxMGS4n4" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IZeroExV2.sol": { "keccak256": "0x0c07eab651b8ce3000ddcfd1cad14f16b76a8d032a3bdbf25e17dad8b26fa125", "urls": [ "bzz-raw://f675908202e1fb7e22905163eead8d9eaefce731a7d288841126a00e2177bcdc", "dweb:/ipfs/QmRUoZdkEvxaK2Ma6UeGHMR2PdrMkuiujioc59W8rYqKJu" ], "license": "GPL-3.0" }, "contracts/release/utils/AssetHelpers.sol": { "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", "urls": [ "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" ], "license": "GPL-3.0" }, "contracts/release/utils/MathHelpers.sol": { "keccak256": "0x8aef498ae98bfb40cd1df8c9ed652b4c092fbbe62d5a1fad522c53654523248e", "urls": [ "bzz-raw://ed62789f6a8d5ca30a40c591f244b915e4711493a9e4b1b4d40ea2bc97b02a95", "dweb:/ipfs/QmWyXJ55arURtx9VMkUQokdsjk8tbgM2cC8rENFUMyz5D3" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", "urls": [ "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Address.sol": { "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", "urls": [ "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" } }, "version": 1 }, "id": 199 } diff --git a/eth_defi/abi/enzyme/ZeroExV2Adapter.json b/eth_defi/abi/enzyme/ZeroExV2Adapter.json index 310462d1..1c4ec225 100644 --- a/eth_defi/abi/enzyme/ZeroExV2Adapter.json +++ b/eth_defi/abi/enzyme/ZeroExV2Adapter.json @@ -1,1024 +1 @@ -{ - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_integrationManager", - "type": "address" - }, - { - "internalType": "address", - "name": "_exchange", - "type": "address" - }, - { - "internalType": "address", - "name": "_fundDeployer", - "type": "address" - }, - { - "internalType": "address[]", - "name": "_allowedMakers", - "type": "address[]" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "AllowedMakerAdded", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "account", - "type": "address" - } - ], - "name": "AllowedMakerRemoved", - "type": "event" - }, - { - "inputs": [], - "name": "CLAIM_REWARDS_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "LEND_AND_STAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "LEND_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "REDEEM_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "STAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "TAKE_MULTIPLE_ORDERS_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "TAKE_ORDER_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "UNSTAKE_AND_REDEEM_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "UNSTAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_accountsToAdd", - "type": "address[]" - } - ], - "name": "addAllowedMakers", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getFundDeployer", - "outputs": [ - { - "internalType": "address", - "name": "fundDeployer_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getIntegrationManager", - "outputs": [ - { - "internalType": "address", - "name": "integrationManager_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "owner_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getZeroExV2Exchange", - "outputs": [ - { - "internalType": "address", - "name": "zeroExV2Exchange_", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_who", - "type": "address" - } - ], - "name": "isAllowedMaker", - "outputs": [ - { - "internalType": "bool", - "name": "isAllowedMaker_", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes4", - "name": "_selector", - "type": "bytes4" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - } - ], - "name": "parseAssetsForAction", - "outputs": [ - { - "internalType": "enum IIntegrationManager.SpendAssetsHandleType", - "name": "spendAssetsHandleType_", - "type": "uint8" - }, - { - "internalType": "address[]", - "name": "spendAssets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "spendAssetAmounts_", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "incomingAssets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "minIncomingAssetAmounts_", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_accountsToRemove", - "type": "address[]" - } - ], - "name": "removeAllowedMakers", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "_assetData", - "type": "bytes" - } - ], - "name": "takeOrder", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "bytecode": { - "object": "0x60e06040523480156200001157600080fd5b5060405162002eac38038062002eac833981016040819052620000349162000254565b6001600160601b0319606085811b821660805283811b821660a05284901b1660c0528051156200006957620000698162000073565b505050506200040c565b6000815111620000a05760405162461bcd60e51b815260040162000097906200036b565b60405180910390fd5b60005b81518110156200019657620000d2828281518110620000be57fe5b60200260200101516200019a60201b60201c565b15620000f25760405162461bcd60e51b815260040162000097906200037d565b60016000808484815181106200010457fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055508181815181106200015057fe5b60200260200101516001600160a01b03167f2e1c3b07a83c6d2606a67771e6dd5c25722baac28ecf38e8056fb820d88536a860405160405180910390a2600101620000a3565b5050565b6001600160a01b031660009081526020819052604090205460ff1690565b8051620001c581620003f2565b92915050565b600082601f830112620001dd57600080fd5b8151620001f4620001ee82620003b6565b6200038f565b915081818352602084019350602081019050838560208402820111156200021a57600080fd5b60005b838110156200024a5781620002338882620001b8565b84525060209283019291909101906001016200021d565b5050505092915050565b600080600080608085870312156200026b57600080fd5b6000620002798787620001b8565b94505060206200028c87828801620001b8565b93505060406200029f87828801620001b8565b92505060608501516001600160401b03811115620002bc57600080fd5b620002ca87828801620001cb565b91505092959194509250565b6000620002e5602883620003d7565b7f5f5f616464416c6c6f7765644d616b6572733a20456d707479205f6163636f758152671b9d1cd51bd0591960c21b602082015260400192915050565b600062000331602583620003d7565b7f5f5f616464416c6c6f7765644d616b6572733a2056616c756520616c726561648152641e481cd95d60da1b602082015260400192915050565b60208082528101620001c581620002d6565b60208082528101620001c58162000322565b6040518181016001600160401b0381118282101715620003ae57600080fd5b604052919050565b60006001600160401b03821115620003cd57600080fd5b5060209081020190565b90815260200190565b60006001600160a01b038216620001c5565b620003fd81620003e0565b81146200040957600080fd5b50565b60805160601c60a05160601c60c05160601c612a5662000456600039806103925280610ebd5280610f985250806104c052806105565250806102305280610c4a5250612a566000f3fe608060405234801561001057600080fd5b50600436106101165760003560e01c8063893d20e8116100a2578063c54efee511610071578063c54efee5146101be578063c960260d146101e2578063e7c45690146101f5578063f7d882b5146101fd578063ff7ede371461020557610116565b8063893d20e81461019e57806397c0ac87146101a6578063b23228cf146101ae578063c32990a2146101b657610116565b8063257cb1a3116100e9578063257cb1a31461016b5780633ffc15911461017357806340da225d1461017b5780634ce13fb014610183578063863e5ad01461019657610116565b806303e38a2b1461011b578063080456c114610130578063131461c01461014e5780631d566eee14610156575b600080fd5b61012e610129366004611c88565b610225565b005b610138610348565b604051610145919061273c565b60405180910390f35b61013861036c565b61015e610390565b60405161014591906126ea565b6101386103b4565b6101386103d8565b6101386103fc565b61012e610191366004611d9f565b610420565b610138610498565b61015e6104bc565b61015e610554565b610138610578565b61013861059c565b6101d16101cc366004611c21565b6105c0565b60405161014595949392919061274a565b61012e6101f0366004611d9f565b610af7565b61015e610c48565b610138610c6c565b610218610213366004611bdd565b610c90565b604051610145919061272e565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146102765760405162461bcd60e51b815260040161026d90612837565b60405180910390fd5b8482828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250604080516020601f8c018190048102820181019092528a8152606095509193506102ee92508a908a9081908401838280828437600092019190915250610cb292505050565b915091506102fa611774565b61030383610cd3565b9050606061031084610e4d565b9350505050610320828483610e8a565b50505050606061032f82611029565b9250505061033d838261104f565b505050505050505050565b7f8334eb99be0145865eba9889fca2ee920288090caefff4cc776038e20ad9259a81565b7f29fa046e79524c3c5ac4c01df692c35e217802b2b13b21121b76cf0ef02b138c81565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f099f75155f0e997bf83a7993a71d5e7e7540bd386fe1e84643a09ce6b412521981565b7ffa7dd04da627f433da73c4355ead9c75682a67a8fc84d3f6170ef0922f402d2481565b7fb9dfbaccbe5cd2a84fdcf1d15f23ef25d23086f5afbaa99516065ed4a5bbc7a381565b6104286104bc565b6001600160a01b0316336001600160a01b0316146104585760405162461bcd60e51b815260040161026d906127d7565b6104948282808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506111ab92505050565b5050565b7f03e38a2bd7063d45c897edeafc330e71657502dd86434d3c37a489caf116af6981565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561051757600080fd5b505afa15801561052b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061054f9190611c03565b905090565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f68e30677f607df46e87da13e15b637784cfa62374b653f35ab43d10361a2f83081565b7f0e7f692dad5b88fdee426250d6eae91207e56a2e8112b7364579bed1790e5bf481565b600060608080806001600160e01b031988166303e38a2b60e01b146105f75760405162461bcd60e51b815260040161026d906128b7565b6060600061063a89898080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610cb292505050565b91509150610646611774565b61064f83610cd3565b905061065e8160000151610c90565b61067a5760405162461bcd60e51b815260040161026d90612857565b8060a0015182111561069e5760405162461bcd60e51b815260040161026d90612807565b60006106ae8261014001516112b2565b905060006106c08361016001516112b2565b6040805160018082528183019092529192506020808301908036833701905050965081876000815181106106f057fe5b6001600160a01b03929092166020928302919091018201526040805160018082528183019092529182810190803683370190505095506107398360a001518460800151866112b9565b8660008151811061074657fe5b602090810291909101015260e083015115610a645760006107e1610768610390565b6001600160a01b031663db123b1a6040518163ffffffff1660e01b815260040160006040518083038186803b1580156107a057600080fd5b505afa1580156107b4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526107dc9190810190611e8f565b6112b2565b905060006107f88560a001518660e00151886112b9565b9050836001600160a01b0316826001600160a01b031614156108fe5784608001518560e001511061083b5760405162461bcd60e51b815260040161026d906127c7565b6040805160018082528183019092529060208083019080368337019050509a50828b60008151811061086957fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509950858a6000815181106108ad57fe5b6020026020010181815250506108e081896000815181106108ca57fe5b60200260200101516112d990919063ffffffff16565b886000815181106108ed57fe5b602002602001018181525050610a5d565b826001600160a01b0316826001600160a01b03161415610993576040805160018082528183019092529060208083019080368337019050509a50828b60008151811061094657fe5b6001600160a01b03929092166020928302919091018201526040805160018082528183019092529182810190803683370190505099506109868682611301565b8a6000815181106108ed57fe5b6040805160028082526060820183529091602083019080368337019050509a50828b6000815181106109c157fe5b60200260200101906001600160a01b031690816001600160a01b031681525050818b6001815181106109ef57fe5b6001600160a01b0392909216602092830291909101820152604080516002808252606082018352909290919083019080368337019050509950858a600081518110610a3657fe5b602002602001018181525050808a600181518110610a5057fe5b6020026020010181815250505b5050610ae3565b60408051600180825281830190925290602080830190803683370190505098508089600081518110610a9257fe5b6001600160a01b03929092166020928302919091018201526040805160018082528183019092529182810190803683370190505097508388600081518110610ad657fe5b6020026020010181815250505b600299505050505050945094509450945094565b610aff6104bc565b6001600160a01b0316336001600160a01b031614610b2f5760405162461bcd60e51b815260040161026d906127d7565b80610b4c5760405162461bcd60e51b815260040161026d906127b7565b60005b81811015610c4357610b7b838383818110610b6657fe5b90506020020160208101906102139190611bdd565b610b975760405162461bcd60e51b815260040161026d906128a7565b6000806000858585818110610ba857fe5b9050602002016020810190610bbd9190611bdd565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055828282818110610bf157fe5b9050602002016020810190610c069190611bdd565b6001600160a01b03167f20bc817441764d1758bec8956a90bf0ba498c8c4098524577f7c068d3c9f8c3660405160405180910390a2600101610b4f565b505050565b7f000000000000000000000000000000000000000000000000000000000000000090565b7fc29fa9dde84204c2908778afd0613d802d31cf046179b88f6d2b4a4e507ea2d581565b6001600160a01b03811660009081526020819052604090205460ff165b919050565b6060600082806020019051810190610cca9190611ec3565b91509150915091565b610cdb611774565b610ce36117f9565b610ceb611817565b610cf3611835565b610cfc85610e4d565b5092509250925060405180610180016040528084600060048110610d1c57fe5b60200201516001600160a01b0316815260200184600160048110610d3c57fe5b60200201516001600160a01b0316815260200184600260048110610d5c57fe5b60200201516001600160a01b0316815260200184600360048110610d7c57fe5b60200201516001600160a01b0316815260200183600060068110610d9c57fe5b6020020151815260200183600160068110610db357fe5b6020020151815260200183600260068110610dca57fe5b6020020151815260200183600360068110610de157fe5b6020020151815260200183600460068110610df857fe5b6020020151815260200183600560068110610e0f57fe5b6020020151815260200182600060028110610e2657fe5b6020020151815260200182600160028110610e3d57fe5b6020020151905295945050505050565b610e556117f9565b610e5d611817565b610e65611835565b606084806020019051810190610e7b9190611d0d565b93509350935093509193509193565b610eaf610e9b8461016001516112b2565b610ea9856101600151611326565b846113bb565b60e083015115610f815760607f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663db123b1a6040518163ffffffff1660e01b815260040160006040518083038186803b158015610f1457600080fd5b505afa158015610f28573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610f509190810190611e8f565b9050610f7f610f5e826112b2565b610f6783611326565b610f7a8760a001518860e00151886112b9565b6113bb565b505b60405163b4be83d560e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063b4be83d590610fd1908690869086906004016128c7565b608060405180830381600087803b158015610feb57600080fd5b505af1158015610fff573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110239190611f13565b50505050565b6060806060838060200190518101906110429190611de0565b9250925092509193909250565b606081516001600160401b038111801561106857600080fd5b50604051908082528060200260200182016040528015611092578160200160208202803683370190505b50905060005b82518110156111a35760008382815181106110af57fe5b60200260200101519050806001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016110e591906126ea565b60206040518083038186803b1580156110fd57600080fd5b505afa158015611111573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111359190611f31565b83838151811061114157fe5b602002602001018181525050600083838151811061115b57fe5b6020026020010151111561119a5761119a8584848151811061117957fe5b6020026020010151836001600160a01b03166114779092919063ffffffff16565b50600101611098565b505b92915050565b60008151116111cc5760405162461bcd60e51b815260040161026d906127f7565b60005b8151811015610494576111f48282815181106111e757fe5b6020026020010151610c90565b156112115760405162461bcd60e51b815260040161026d90612877565b600160008084848151811061122257fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff02191690831515021790555081818151811061126d57fe5b60200260200101516001600160a01b03167f2e1c3b07a83c6d2606a67771e6dd5c25722baac28ecf38e8056fb820d88536a860405160405180910390a26001016111cf565b6024015190565b60006112cf846112c984866114cd565b90611507565b90505b9392505050565b6000828211156112fb5760405162461bcd60e51b815260040161026d90612817565b50900390565b6000828201838110156112d25760405162461bcd60e51b815260040161026d906127e7565b60208101516000906001600160e01b031916611340610390565b6001600160a01b03166360704108826040518263ffffffff1660e01b815260040161136b919061273c565b60206040518083038186803b15801561138357600080fd5b505afa158015611397573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112d29190611c03565b604051636eb1769f60e11b81526000906001600160a01b0385169063dd62ed3e906113ec90309087906004016126f8565b60206040518083038186803b15801561140457600080fd5b505afa158015611418573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061143c9190611f31565b905081811015611023578015611461576114616001600160a01b038516846000611539565b6110236001600160a01b03851684600019611539565b610c438363a9059cbb60e01b8484604051602401611496929190612713565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526115fc565b6000826114dc575060006111a5565b828202828482816114e957fe5b04146112d25760405162461bcd60e51b815260040161026d90612847565b60008082116115285760405162461bcd60e51b815260040161026d90612827565b81838161153157fe5b049392505050565b8015806115c15750604051636eb1769f60e11b81526001600160a01b0384169063dd62ed3e9061156f90309086906004016126f8565b60206040518083038186803b15801561158757600080fd5b505afa15801561159b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115bf9190611f31565b155b6115dd5760405162461bcd60e51b815260040161026d90612897565b610c438363095ea7b360e01b8484604051602401611496929190612713565b6060611651826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031661168b9092919063ffffffff16565b805190915015610c43578080602001905181019061166f9190611e71565b610c435760405162461bcd60e51b815260040161026d90612887565b60606112cf84846000858561169f85611735565b6116bb5760405162461bcd60e51b815260040161026d90612867565b60006060866001600160a01b031685876040516116d891906126de565b60006040518083038185875af1925050503d8060008114611715576040519150601f19603f3d011682016040523d82523d6000602084013e61171a565b606091505b509150915061172a82828661173b565b979650505050505050565b3b151590565b6060831561174a5750816112d2565b82511561175a5782518084602001fd5b8160405162461bcd60e51b815260040161026d91906127a6565b60405180610180016040528060006001600160a01b0316815260200160006001600160a01b0316815260200160006001600160a01b0316815260200160006001600160a01b0316815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160608152602001606081525090565b60405180608001604052806004906020820280368337509192915050565b6040518060c001604052806006906020820280368337509192915050565b60405180604001604052806002905b60608152602001906001900390816118445790505090565b80356111a581612a1a565b80516111a581612a1a565b600082601f83011261188357600080fd5b60046118966118918261291f565b6128f9565b915081838560208402820111156118ac57600080fd5b60005b838110156118d857816118c28882611867565b84525060209283019291909101906001016118af565b5050505092915050565b60008083601f8401126118f457600080fd5b5081356001600160401b0381111561190b57600080fd5b60208301915083602082028301111561192357600080fd5b9250929050565b600082601f83011261193b57600080fd5b81516119496118918261293c565b9150818183526020840193506020810190508385602084028201111561196e57600080fd5b60005b838110156118d857816119848882611867565b8452506020928301929190910190600101611971565b600082601f8301126119ab57600080fd5b60026119b96118918261291f565b9150818360005b838110156118d857815186016119d68882611b14565b84525060209283019291909101906001016119c0565b600082601f8301126119fd57600080fd5b6006611a0b6118918261291f565b91508183856020840282011115611a2157600080fd5b60005b838110156118d85781611a378882611bd2565b8452506020928301929190910190600101611a24565b600082601f830112611a5e57600080fd5b8151611a6c6118918261293c565b91508181835260208401935060208101905083856020840282011115611a9157600080fd5b60005b838110156118d85781611aa78882611bd2565b8452506020928301929190910190600101611a94565b80516111a581612a2e565b80356111a581612a37565b60008083601f840112611ae557600080fd5b5081356001600160401b03811115611afc57600080fd5b60208301915083600182028301111561192357600080fd5b600082601f830112611b2557600080fd5b8151611b336118918261295c565b91508082526020830160208301858383011115611b4f57600080fd5b611b5a8382846129d7565b50505092915050565b600060808284031215611b7557600080fd5b611b7f60806128f9565b90506000611b8d8484611bd2565b8252506020611b9e84848301611bd2565b6020830152506040611bb284828501611bd2565b6040830152506060611bc684828501611bd2565b60608301525092915050565b80516111a581612a40565b600060208284031215611bef57600080fd5b6000611bfb848461185c565b949350505050565b600060208284031215611c1557600080fd5b6000611bfb8484611867565b60008060008060608587031215611c3757600080fd5b6000611c43878761185c565b9450506020611c5487828801611ac8565b93505060408501356001600160401b03811115611c7057600080fd5b611c7c87828801611ad3565b95989497509550505050565b600080600080600060608688031215611ca057600080fd5b6000611cac888861185c565b95505060208601356001600160401b03811115611cc857600080fd5b611cd488828901611ad3565b945094505060408601356001600160401b03811115611cf257600080fd5b611cfe88828901611ad3565b92509250509295509295909350565b6000806000806101808587031215611d2457600080fd5b6000611d308787611872565b9450506080611d41878288016119ec565b9350506101408501516001600160401b03811115611d5e57600080fd5b611d6a8782880161199a565b9250506101608501516001600160401b03811115611d8757600080fd5b611d9387828801611b14565b91505092959194509250565b60008060208385031215611db257600080fd5b82356001600160401b03811115611dc857600080fd5b611dd4858286016118e2565b92509250509250929050565b600080600060608486031215611df557600080fd5b83516001600160401b03811115611e0b57600080fd5b611e178682870161192a565b93505060208401516001600160401b03811115611e3357600080fd5b611e3f86828701611a4d565b92505060408401516001600160401b03811115611e5b57600080fd5b611e678682870161192a565b9150509250925092565b600060208284031215611e8357600080fd5b6000611bfb8484611abd565b600060208284031215611ea157600080fd5b81516001600160401b03811115611eb757600080fd5b611bfb84828501611b14565b60008060408385031215611ed657600080fd5b82516001600160401b03811115611eec57600080fd5b611ef885828601611b14565b9250506020611f0985828601611bd2565b9150509250929050565b600060808284031215611f2557600080fd5b6000611bfb8484611b63565b600060208284031215611f4357600080fd5b6000611bfb8484611bd2565b6000611f5b8383611f6f565b505060200190565b6000611f5b83836126d5565b611f7881612996565b82525050565b6000611f8982612989565b611f93818561298d565b9350611f9e83612983565b8060005b83811015611fcc578151611fb68882611f4f565b9750611fc183612983565b925050600101611fa2565b509495945050505050565b6000611fe282612989565b611fec818561298d565b9350611ff783612983565b8060005b83811015611fcc57815161200f8882611f63565b975061201a83612983565b925050600101611ffb565b611f78816129a1565b611f78816129a6565b600061204282612989565b61204c818561298d565b935061205c8185602086016129d7565b61206581612a03565b9093019392505050565b600061207a82612989565b6120848185610cad565b93506120948185602086016129d7565b9290920192915050565b611f78816129cc565b60006120b4602c8361298d565b7f72656d6f7665416c6c6f7765644d616b6572733a20456d707479205f6163636f81526b756e7473546f52656d6f766560a01b602082015260400192915050565b600061210260378361298d565b7f7061727365417373657473466f72416374696f6e3a204665652067726561746581527f72207468616e206d616b65724173736574416d6f756e74000000000000000000602082015260400192915050565b600061216160498361298d565b7f6f6e6c7946756e644465706c6f7965724f776e65723a204f6e6c79207468652081527f46756e644465706c6f796572206f776e65722063616e2063616c6c207468697360208201526810333ab731ba34b7b760b91b604082015260600192915050565b60006121d2601b8361298d565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b600061220b60288361298d565b7f5f5f616464416c6c6f7765644d616b6572733a20456d707479205f6163636f758152671b9d1cd51bd0591960c21b602082015260400192915050565b600061225560448361298d565b7f7061727365417373657473466f72416374696f6e3a2054616b6572206173736581527f742066696c6c20616d6f756e742067726561746572207468616e20617661696c60208201526361626c6560e01b604082015260600192915050565b60006122c1601e8361298d565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b60006122fa601a8361298d565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b600061233360328361298d565b7f4f6e6c792074686520496e746567726174696f6e4d616e616765722063616e2081527131b0b636103a3434b990333ab731ba34b7b760711b602082015260400192915050565b600061238760218361298d565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b60006123ca60308361298d565b7f7061727365417373657473466f72416374696f6e3a204f72646572206d616b6581526f1c881a5cc81b9bdd08185b1b1bddd95960821b602082015260400192915050565b600061241c601d8361298d565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000815260200192915050565b600061245560258361298d565b7f5f5f616464416c6c6f7765644d616b6572733a2056616c756520616c726561648152641e481cd95d60da1b602082015260400192915050565b600061249c602a8361298d565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e8152691bdd081cdd58d8d9595960b21b602082015260400192915050565b60006124e860368361298d565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f81527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b602082015260400192915050565b600061254060348361298d565b7f72656d6f7665416c6c6f7765644d616b6572733a204163636f756e74206973208152733737ba1030b71030b63637bbb2b21036b0b5b2b960611b602082015260400192915050565b600061259660278361298d565b7f7061727365417373657473466f72416374696f6e3a205f73656c6563746f72208152661a5b9d985b1a5960ca1b602082015260400192915050565b80516000906101808401906125e78582611f6f565b5060208301516125fa6020860182611f6f565b50604083015161260d6040860182611f6f565b5060608301516126206060860182611f6f565b50608083015161263360808601826126d5565b5060a083015161264660a08601826126d5565b5060c083015161265960c08601826126d5565b5060e083015161266c60e08601826126d5565b506101008301516126816101008601826126d5565b506101208301516126966101208601826126d5565b506101408301518482036101408601526126b08282612037565b9150506101608301518482036101608601526126cc8282612037565b95945050505050565b611f78816129c9565b60006112d2828461206f565b602081016111a58284611f6f565b604081016127068285611f6f565b6112d26020830184611f6f565b604081016127218285611f6f565b6112d260208301846126d5565b602081016111a58284612025565b602081016111a5828461202e565b60a08101612758828861209e565b818103602083015261276a8187611f7e565b9050818103604083015261277e8186611fd7565b905081810360608301526127928185611f7e565b9050818103608083015261172a8184611fd7565b602080825281016112d28184612037565b602080825281016111a5816120a7565b602080825281016111a5816120f5565b602080825281016111a581612154565b602080825281016111a5816121c5565b602080825281016111a5816121fe565b602080825281016111a581612248565b602080825281016111a5816122b4565b602080825281016111a5816122ed565b602080825281016111a581612326565b602080825281016111a58161237a565b602080825281016111a5816123bd565b602080825281016111a58161240f565b602080825281016111a581612448565b602080825281016111a58161248f565b602080825281016111a5816124db565b602080825281016111a581612533565b602080825281016111a581612589565b606080825281016128d881866125d2565b90506128e760208301856126d5565b81810360408301526126cc8184612037565b6040518181016001600160401b038111828210171561291757600080fd5b604052919050565b60006001600160401b0382111561293557600080fd5b5060200290565b60006001600160401b0382111561295257600080fd5b5060209081020190565b60006001600160401b0382111561297257600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b60006111a5826129bd565b151590565b6001600160e01b03191690565b80610cad81612a0d565b6001600160a01b031690565b90565b60006111a5826129b3565b60005b838110156129f25781810151838201526020016129da565b838111156110235750506000910152565b601f01601f191690565b60038110612a1757fe5b50565b612a2381612996565b8114612a1757600080fd5b612a23816129a1565b612a23816129a6565b612a23816129c956fea164736f6c634300060c000a", - "sourceMap": "592:11018:178:-:0;;;1037:406;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;1938:41:179;;;;;;;;864:29:358;;;;;;;808:31:199;;;;;;1351:21:178;;:25;1347:90:::3;;1392:34;1411:14:::0;1392:18:::3;:34::i;:::-;1037:406:::0;;;;592:11018;;8450:444;8561:1;8537:14;:21;:25;8529:78;;;;-1:-1:-1;;;8529:78:178;;;;;;;:::i;:::-;;;;;;;;;8623:9;8618:270;8638:14;:21;8634:1;:25;8618:270;;;8689:33;8704:14;8719:1;8704:17;;;;;;;;;;;;;;8689:14;;;:33;;:::i;:::-;8688:34;8680:84;;;;-1:-1:-1;;;8680:84:178;;;;;;;:::i;:::-;8817:4;8779:16;:35;8796:14;8811:1;8796:17;;;;;;;;;;;;;;-1:-1:-1;;;;;8779:35:178;-1:-1:-1;;;;;8779:35:178;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;8859:14;8874:1;8859:17;;;;;;;;;;;;;;-1:-1:-1;;;;;8841:36:178;;;;;;;;;;;8661:3;;8618:270;;;;8450:444;:::o;11481:127::-;-1:-1:-1;;;;;11579:22:178;11540:20;11579:22;;;;;;;;;;;;;;11481:127::o;5:134:-1:-;83:13;;101:33;83:13;101:33;:::i;:::-;68:71;;;;:::o;164:722::-;;292:3;285:4;277:6;273:17;269:27;259:2;;310:1;307;300:12;259:2;340:6;334:13;362:80;377:64;434:6;377:64;:::i;:::-;362:80;:::i;:::-;353:89;;459:5;484:6;477:5;470:21;514:4;506:6;502:17;492:27;;536:4;531:3;527:14;520:21;;589:6;636:3;628:4;620:6;616:17;611:3;607:27;604:36;601:2;;;653:1;650;643:12;601:2;678:1;663:217;688:6;685:1;682:13;663:217;;;746:3;768:48;812:3;800:10;768:48;:::i;:::-;756:61;;-1:-1;840:4;831:14;;;;859;;;;;710:1;703:9;663:217;;;667:14;252:634;;;;;;;:::o;894:801::-;;;;;1085:3;1073:9;1064:7;1060:23;1056:33;1053:2;;;1102:1;1099;1092:12;1053:2;1137:1;1154:64;1210:7;1190:9;1154:64;:::i;:::-;1144:74;;1116:108;1255:2;1273:64;1329:7;1320:6;1309:9;1305:22;1273:64;:::i;:::-;1263:74;;1234:109;1374:2;1392:64;1448:7;1439:6;1428:9;1424:22;1392:64;:::i;:::-;1382:74;;1353:109;1514:2;1503:9;1499:18;1493:25;-1:-1;;;;;1530:6;1527:30;1524:2;;;1570:1;1567;1560:12;1524:2;1590:89;1671:7;1662:6;1651:9;1647:22;1590:89;:::i;:::-;1580:99;;1472:213;1047:648;;;;;;;:::o;1703:377::-;;1863:67;1927:2;1922:3;1863:67;:::i;:::-;1963:34;1943:55;;-1:-1;;;2027:2;2018:12;;2011:32;2071:2;2062:12;;1849:231;-1:-1;;1849:231::o;2089:374::-;;2249:67;2313:2;2308:3;2249:67;:::i;:::-;2349:34;2329:55;;-1:-1;;;2413:2;2404:12;;2397:29;2454:2;2445:12;;2235:228;-1:-1;;2235:228::o;2471:416::-;2671:2;2685:47;;;2656:18;;2746:131;2656:18;2746:131;:::i;2894:416::-;3094:2;3108:47;;;3079:18;;3169:131;3079:18;3169:131;:::i;3317:256::-;3379:2;3373:9;3405:17;;;-1:-1;;;;;3465:34;;3501:22;;;3462:62;3459:2;;;3537:1;3534;3527:12;3459:2;3553;3546:22;3357:216;;-1:-1;3357:216::o;3580:304::-;;-1:-1;;;;;3731:6;3728:30;3725:2;;;3771:1;3768;3761:12;3725:2;-1:-1;3806:4;3794:17;;;3859:15;;3662:222::o;3892:163::-;3995:19;;;4044:4;4035:14;;3988:67::o;4063:91::-;;-1:-1;;;;;4223:54;;4125:24;4206:76::o;4289:117::-;4358:24;4376:5;4358:24;:::i;:::-;4351:5;4348:35;4338:2;;4397:1;4394;4387:12;4338:2;4332:74;:::o;:::-;592:11018:178;;;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405234801561001057600080fd5b50600436106101165760003560e01c8063893d20e8116100a2578063c54efee511610071578063c54efee5146101be578063c960260d146101e2578063e7c45690146101f5578063f7d882b5146101fd578063ff7ede371461020557610116565b8063893d20e81461019e57806397c0ac87146101a6578063b23228cf146101ae578063c32990a2146101b657610116565b8063257cb1a3116100e9578063257cb1a31461016b5780633ffc15911461017357806340da225d1461017b5780634ce13fb014610183578063863e5ad01461019657610116565b806303e38a2b1461011b578063080456c114610130578063131461c01461014e5780631d566eee14610156575b600080fd5b61012e610129366004611c88565b610225565b005b610138610348565b604051610145919061273c565b60405180910390f35b61013861036c565b61015e610390565b60405161014591906126ea565b6101386103b4565b6101386103d8565b6101386103fc565b61012e610191366004611d9f565b610420565b610138610498565b61015e6104bc565b61015e610554565b610138610578565b61013861059c565b6101d16101cc366004611c21565b6105c0565b60405161014595949392919061274a565b61012e6101f0366004611d9f565b610af7565b61015e610c48565b610138610c6c565b610218610213366004611bdd565b610c90565b604051610145919061272e565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146102765760405162461bcd60e51b815260040161026d90612837565b60405180910390fd5b8482828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250604080516020601f8c018190048102820181019092528a8152606095509193506102ee92508a908a9081908401838280828437600092019190915250610cb292505050565b915091506102fa611774565b61030383610cd3565b9050606061031084610e4d565b9350505050610320828483610e8a565b50505050606061032f82611029565b9250505061033d838261104f565b505050505050505050565b7f8334eb99be0145865eba9889fca2ee920288090caefff4cc776038e20ad9259a81565b7f29fa046e79524c3c5ac4c01df692c35e217802b2b13b21121b76cf0ef02b138c81565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f099f75155f0e997bf83a7993a71d5e7e7540bd386fe1e84643a09ce6b412521981565b7ffa7dd04da627f433da73c4355ead9c75682a67a8fc84d3f6170ef0922f402d2481565b7fb9dfbaccbe5cd2a84fdcf1d15f23ef25d23086f5afbaa99516065ed4a5bbc7a381565b6104286104bc565b6001600160a01b0316336001600160a01b0316146104585760405162461bcd60e51b815260040161026d906127d7565b6104948282808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506111ab92505050565b5050565b7f03e38a2bd7063d45c897edeafc330e71657502dd86434d3c37a489caf116af6981565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561051757600080fd5b505afa15801561052b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061054f9190611c03565b905090565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f68e30677f607df46e87da13e15b637784cfa62374b653f35ab43d10361a2f83081565b7f0e7f692dad5b88fdee426250d6eae91207e56a2e8112b7364579bed1790e5bf481565b600060608080806001600160e01b031988166303e38a2b60e01b146105f75760405162461bcd60e51b815260040161026d906128b7565b6060600061063a89898080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610cb292505050565b91509150610646611774565b61064f83610cd3565b905061065e8160000151610c90565b61067a5760405162461bcd60e51b815260040161026d90612857565b8060a0015182111561069e5760405162461bcd60e51b815260040161026d90612807565b60006106ae8261014001516112b2565b905060006106c08361016001516112b2565b6040805160018082528183019092529192506020808301908036833701905050965081876000815181106106f057fe5b6001600160a01b03929092166020928302919091018201526040805160018082528183019092529182810190803683370190505095506107398360a001518460800151866112b9565b8660008151811061074657fe5b602090810291909101015260e083015115610a645760006107e1610768610390565b6001600160a01b031663db123b1a6040518163ffffffff1660e01b815260040160006040518083038186803b1580156107a057600080fd5b505afa1580156107b4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526107dc9190810190611e8f565b6112b2565b905060006107f88560a001518660e00151886112b9565b9050836001600160a01b0316826001600160a01b031614156108fe5784608001518560e001511061083b5760405162461bcd60e51b815260040161026d906127c7565b6040805160018082528183019092529060208083019080368337019050509a50828b60008151811061086957fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509950858a6000815181106108ad57fe5b6020026020010181815250506108e081896000815181106108ca57fe5b60200260200101516112d990919063ffffffff16565b886000815181106108ed57fe5b602002602001018181525050610a5d565b826001600160a01b0316826001600160a01b03161415610993576040805160018082528183019092529060208083019080368337019050509a50828b60008151811061094657fe5b6001600160a01b03929092166020928302919091018201526040805160018082528183019092529182810190803683370190505099506109868682611301565b8a6000815181106108ed57fe5b6040805160028082526060820183529091602083019080368337019050509a50828b6000815181106109c157fe5b60200260200101906001600160a01b031690816001600160a01b031681525050818b6001815181106109ef57fe5b6001600160a01b0392909216602092830291909101820152604080516002808252606082018352909290919083019080368337019050509950858a600081518110610a3657fe5b602002602001018181525050808a600181518110610a5057fe5b6020026020010181815250505b5050610ae3565b60408051600180825281830190925290602080830190803683370190505098508089600081518110610a9257fe5b6001600160a01b03929092166020928302919091018201526040805160018082528183019092529182810190803683370190505097508388600081518110610ad657fe5b6020026020010181815250505b600299505050505050945094509450945094565b610aff6104bc565b6001600160a01b0316336001600160a01b031614610b2f5760405162461bcd60e51b815260040161026d906127d7565b80610b4c5760405162461bcd60e51b815260040161026d906127b7565b60005b81811015610c4357610b7b838383818110610b6657fe5b90506020020160208101906102139190611bdd565b610b975760405162461bcd60e51b815260040161026d906128a7565b6000806000858585818110610ba857fe5b9050602002016020810190610bbd9190611bdd565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055828282818110610bf157fe5b9050602002016020810190610c069190611bdd565b6001600160a01b03167f20bc817441764d1758bec8956a90bf0ba498c8c4098524577f7c068d3c9f8c3660405160405180910390a2600101610b4f565b505050565b7f000000000000000000000000000000000000000000000000000000000000000090565b7fc29fa9dde84204c2908778afd0613d802d31cf046179b88f6d2b4a4e507ea2d581565b6001600160a01b03811660009081526020819052604090205460ff165b919050565b6060600082806020019051810190610cca9190611ec3565b91509150915091565b610cdb611774565b610ce36117f9565b610ceb611817565b610cf3611835565b610cfc85610e4d565b5092509250925060405180610180016040528084600060048110610d1c57fe5b60200201516001600160a01b0316815260200184600160048110610d3c57fe5b60200201516001600160a01b0316815260200184600260048110610d5c57fe5b60200201516001600160a01b0316815260200184600360048110610d7c57fe5b60200201516001600160a01b0316815260200183600060068110610d9c57fe5b6020020151815260200183600160068110610db357fe5b6020020151815260200183600260068110610dca57fe5b6020020151815260200183600360068110610de157fe5b6020020151815260200183600460068110610df857fe5b6020020151815260200183600560068110610e0f57fe5b6020020151815260200182600060028110610e2657fe5b6020020151815260200182600160028110610e3d57fe5b6020020151905295945050505050565b610e556117f9565b610e5d611817565b610e65611835565b606084806020019051810190610e7b9190611d0d565b93509350935093509193509193565b610eaf610e9b8461016001516112b2565b610ea9856101600151611326565b846113bb565b60e083015115610f815760607f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663db123b1a6040518163ffffffff1660e01b815260040160006040518083038186803b158015610f1457600080fd5b505afa158015610f28573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610f509190810190611e8f565b9050610f7f610f5e826112b2565b610f6783611326565b610f7a8760a001518860e00151886112b9565b6113bb565b505b60405163b4be83d560e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063b4be83d590610fd1908690869086906004016128c7565b608060405180830381600087803b158015610feb57600080fd5b505af1158015610fff573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110239190611f13565b50505050565b6060806060838060200190518101906110429190611de0565b9250925092509193909250565b606081516001600160401b038111801561106857600080fd5b50604051908082528060200260200182016040528015611092578160200160208202803683370190505b50905060005b82518110156111a35760008382815181106110af57fe5b60200260200101519050806001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016110e591906126ea565b60206040518083038186803b1580156110fd57600080fd5b505afa158015611111573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111359190611f31565b83838151811061114157fe5b602002602001018181525050600083838151811061115b57fe5b6020026020010151111561119a5761119a8584848151811061117957fe5b6020026020010151836001600160a01b03166114779092919063ffffffff16565b50600101611098565b505b92915050565b60008151116111cc5760405162461bcd60e51b815260040161026d906127f7565b60005b8151811015610494576111f48282815181106111e757fe5b6020026020010151610c90565b156112115760405162461bcd60e51b815260040161026d90612877565b600160008084848151811061122257fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff02191690831515021790555081818151811061126d57fe5b60200260200101516001600160a01b03167f2e1c3b07a83c6d2606a67771e6dd5c25722baac28ecf38e8056fb820d88536a860405160405180910390a26001016111cf565b6024015190565b60006112cf846112c984866114cd565b90611507565b90505b9392505050565b6000828211156112fb5760405162461bcd60e51b815260040161026d90612817565b50900390565b6000828201838110156112d25760405162461bcd60e51b815260040161026d906127e7565b60208101516000906001600160e01b031916611340610390565b6001600160a01b03166360704108826040518263ffffffff1660e01b815260040161136b919061273c565b60206040518083038186803b15801561138357600080fd5b505afa158015611397573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112d29190611c03565b604051636eb1769f60e11b81526000906001600160a01b0385169063dd62ed3e906113ec90309087906004016126f8565b60206040518083038186803b15801561140457600080fd5b505afa158015611418573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061143c9190611f31565b905081811015611023578015611461576114616001600160a01b038516846000611539565b6110236001600160a01b03851684600019611539565b610c438363a9059cbb60e01b8484604051602401611496929190612713565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526115fc565b6000826114dc575060006111a5565b828202828482816114e957fe5b04146112d25760405162461bcd60e51b815260040161026d90612847565b60008082116115285760405162461bcd60e51b815260040161026d90612827565b81838161153157fe5b049392505050565b8015806115c15750604051636eb1769f60e11b81526001600160a01b0384169063dd62ed3e9061156f90309086906004016126f8565b60206040518083038186803b15801561158757600080fd5b505afa15801561159b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115bf9190611f31565b155b6115dd5760405162461bcd60e51b815260040161026d90612897565b610c438363095ea7b360e01b8484604051602401611496929190612713565b6060611651826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031661168b9092919063ffffffff16565b805190915015610c43578080602001905181019061166f9190611e71565b610c435760405162461bcd60e51b815260040161026d90612887565b60606112cf84846000858561169f85611735565b6116bb5760405162461bcd60e51b815260040161026d90612867565b60006060866001600160a01b031685876040516116d891906126de565b60006040518083038185875af1925050503d8060008114611715576040519150601f19603f3d011682016040523d82523d6000602084013e61171a565b606091505b509150915061172a82828661173b565b979650505050505050565b3b151590565b6060831561174a5750816112d2565b82511561175a5782518084602001fd5b8160405162461bcd60e51b815260040161026d91906127a6565b60405180610180016040528060006001600160a01b0316815260200160006001600160a01b0316815260200160006001600160a01b0316815260200160006001600160a01b0316815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160608152602001606081525090565b60405180608001604052806004906020820280368337509192915050565b6040518060c001604052806006906020820280368337509192915050565b60405180604001604052806002905b60608152602001906001900390816118445790505090565b80356111a581612a1a565b80516111a581612a1a565b600082601f83011261188357600080fd5b60046118966118918261291f565b6128f9565b915081838560208402820111156118ac57600080fd5b60005b838110156118d857816118c28882611867565b84525060209283019291909101906001016118af565b5050505092915050565b60008083601f8401126118f457600080fd5b5081356001600160401b0381111561190b57600080fd5b60208301915083602082028301111561192357600080fd5b9250929050565b600082601f83011261193b57600080fd5b81516119496118918261293c565b9150818183526020840193506020810190508385602084028201111561196e57600080fd5b60005b838110156118d857816119848882611867565b8452506020928301929190910190600101611971565b600082601f8301126119ab57600080fd5b60026119b96118918261291f565b9150818360005b838110156118d857815186016119d68882611b14565b84525060209283019291909101906001016119c0565b600082601f8301126119fd57600080fd5b6006611a0b6118918261291f565b91508183856020840282011115611a2157600080fd5b60005b838110156118d85781611a378882611bd2565b8452506020928301929190910190600101611a24565b600082601f830112611a5e57600080fd5b8151611a6c6118918261293c565b91508181835260208401935060208101905083856020840282011115611a9157600080fd5b60005b838110156118d85781611aa78882611bd2565b8452506020928301929190910190600101611a94565b80516111a581612a2e565b80356111a581612a37565b60008083601f840112611ae557600080fd5b5081356001600160401b03811115611afc57600080fd5b60208301915083600182028301111561192357600080fd5b600082601f830112611b2557600080fd5b8151611b336118918261295c565b91508082526020830160208301858383011115611b4f57600080fd5b611b5a8382846129d7565b50505092915050565b600060808284031215611b7557600080fd5b611b7f60806128f9565b90506000611b8d8484611bd2565b8252506020611b9e84848301611bd2565b6020830152506040611bb284828501611bd2565b6040830152506060611bc684828501611bd2565b60608301525092915050565b80516111a581612a40565b600060208284031215611bef57600080fd5b6000611bfb848461185c565b949350505050565b600060208284031215611c1557600080fd5b6000611bfb8484611867565b60008060008060608587031215611c3757600080fd5b6000611c43878761185c565b9450506020611c5487828801611ac8565b93505060408501356001600160401b03811115611c7057600080fd5b611c7c87828801611ad3565b95989497509550505050565b600080600080600060608688031215611ca057600080fd5b6000611cac888861185c565b95505060208601356001600160401b03811115611cc857600080fd5b611cd488828901611ad3565b945094505060408601356001600160401b03811115611cf257600080fd5b611cfe88828901611ad3565b92509250509295509295909350565b6000806000806101808587031215611d2457600080fd5b6000611d308787611872565b9450506080611d41878288016119ec565b9350506101408501516001600160401b03811115611d5e57600080fd5b611d6a8782880161199a565b9250506101608501516001600160401b03811115611d8757600080fd5b611d9387828801611b14565b91505092959194509250565b60008060208385031215611db257600080fd5b82356001600160401b03811115611dc857600080fd5b611dd4858286016118e2565b92509250509250929050565b600080600060608486031215611df557600080fd5b83516001600160401b03811115611e0b57600080fd5b611e178682870161192a565b93505060208401516001600160401b03811115611e3357600080fd5b611e3f86828701611a4d565b92505060408401516001600160401b03811115611e5b57600080fd5b611e678682870161192a565b9150509250925092565b600060208284031215611e8357600080fd5b6000611bfb8484611abd565b600060208284031215611ea157600080fd5b81516001600160401b03811115611eb757600080fd5b611bfb84828501611b14565b60008060408385031215611ed657600080fd5b82516001600160401b03811115611eec57600080fd5b611ef885828601611b14565b9250506020611f0985828601611bd2565b9150509250929050565b600060808284031215611f2557600080fd5b6000611bfb8484611b63565b600060208284031215611f4357600080fd5b6000611bfb8484611bd2565b6000611f5b8383611f6f565b505060200190565b6000611f5b83836126d5565b611f7881612996565b82525050565b6000611f8982612989565b611f93818561298d565b9350611f9e83612983565b8060005b83811015611fcc578151611fb68882611f4f565b9750611fc183612983565b925050600101611fa2565b509495945050505050565b6000611fe282612989565b611fec818561298d565b9350611ff783612983565b8060005b83811015611fcc57815161200f8882611f63565b975061201a83612983565b925050600101611ffb565b611f78816129a1565b611f78816129a6565b600061204282612989565b61204c818561298d565b935061205c8185602086016129d7565b61206581612a03565b9093019392505050565b600061207a82612989565b6120848185610cad565b93506120948185602086016129d7565b9290920192915050565b611f78816129cc565b60006120b4602c8361298d565b7f72656d6f7665416c6c6f7765644d616b6572733a20456d707479205f6163636f81526b756e7473546f52656d6f766560a01b602082015260400192915050565b600061210260378361298d565b7f7061727365417373657473466f72416374696f6e3a204665652067726561746581527f72207468616e206d616b65724173736574416d6f756e74000000000000000000602082015260400192915050565b600061216160498361298d565b7f6f6e6c7946756e644465706c6f7965724f776e65723a204f6e6c79207468652081527f46756e644465706c6f796572206f776e65722063616e2063616c6c207468697360208201526810333ab731ba34b7b760b91b604082015260600192915050565b60006121d2601b8361298d565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b600061220b60288361298d565b7f5f5f616464416c6c6f7765644d616b6572733a20456d707479205f6163636f758152671b9d1cd51bd0591960c21b602082015260400192915050565b600061225560448361298d565b7f7061727365417373657473466f72416374696f6e3a2054616b6572206173736581527f742066696c6c20616d6f756e742067726561746572207468616e20617661696c60208201526361626c6560e01b604082015260600192915050565b60006122c1601e8361298d565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b60006122fa601a8361298d565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b600061233360328361298d565b7f4f6e6c792074686520496e746567726174696f6e4d616e616765722063616e2081527131b0b636103a3434b990333ab731ba34b7b760711b602082015260400192915050565b600061238760218361298d565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b60006123ca60308361298d565b7f7061727365417373657473466f72416374696f6e3a204f72646572206d616b6581526f1c881a5cc81b9bdd08185b1b1bddd95960821b602082015260400192915050565b600061241c601d8361298d565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000815260200192915050565b600061245560258361298d565b7f5f5f616464416c6c6f7765644d616b6572733a2056616c756520616c726561648152641e481cd95d60da1b602082015260400192915050565b600061249c602a8361298d565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e8152691bdd081cdd58d8d9595960b21b602082015260400192915050565b60006124e860368361298d565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f81527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b602082015260400192915050565b600061254060348361298d565b7f72656d6f7665416c6c6f7765644d616b6572733a204163636f756e74206973208152733737ba1030b71030b63637bbb2b21036b0b5b2b960611b602082015260400192915050565b600061259660278361298d565b7f7061727365417373657473466f72416374696f6e3a205f73656c6563746f72208152661a5b9d985b1a5960ca1b602082015260400192915050565b80516000906101808401906125e78582611f6f565b5060208301516125fa6020860182611f6f565b50604083015161260d6040860182611f6f565b5060608301516126206060860182611f6f565b50608083015161263360808601826126d5565b5060a083015161264660a08601826126d5565b5060c083015161265960c08601826126d5565b5060e083015161266c60e08601826126d5565b506101008301516126816101008601826126d5565b506101208301516126966101208601826126d5565b506101408301518482036101408601526126b08282612037565b9150506101608301518482036101608601526126cc8282612037565b95945050505050565b611f78816129c9565b60006112d2828461206f565b602081016111a58284611f6f565b604081016127068285611f6f565b6112d26020830184611f6f565b604081016127218285611f6f565b6112d260208301846126d5565b602081016111a58284612025565b602081016111a5828461202e565b60a08101612758828861209e565b818103602083015261276a8187611f7e565b9050818103604083015261277e8186611fd7565b905081810360608301526127928185611f7e565b9050818103608083015261172a8184611fd7565b602080825281016112d28184612037565b602080825281016111a5816120a7565b602080825281016111a5816120f5565b602080825281016111a581612154565b602080825281016111a5816121c5565b602080825281016111a5816121fe565b602080825281016111a581612248565b602080825281016111a5816122b4565b602080825281016111a5816122ed565b602080825281016111a581612326565b602080825281016111a58161237a565b602080825281016111a5816123bd565b602080825281016111a58161240f565b602080825281016111a581612448565b602080825281016111a58161248f565b602080825281016111a5816124db565b602080825281016111a581612533565b602080825281016111a581612589565b606080825281016128d881866125d2565b90506128e760208301856126d5565b81810360408301526126cc8184612037565b6040518181016001600160401b038111828210171561291757600080fd5b604052919050565b60006001600160401b0382111561293557600080fd5b5060200290565b60006001600160401b0382111561295257600080fd5b5060209081020190565b60006001600160401b0382111561297257600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b60006111a5826129bd565b151590565b6001600160e01b03191690565b80610cad81612a0d565b6001600160a01b031690565b90565b60006111a5826129b3565b60005b838110156129f25781810151838201526020016129da565b838111156110235750506000910152565b601f01601f191690565b60038110612a1757fe5b50565b612a2381612996565b8114612a1757600080fd5b612a23816129a1565b612a23816129a6565b612a23816129c956fea164736f6c634300060c000a", - "sourceMap": "592:11018:178:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1717:657;;;;;;:::i;:::-;;:::i;:::-;;1490:119:180;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1373:111;;;:::i;2983:122:199:-;;;:::i;:::-;;;;;;;:::i;832:85:180:-;;;:::i;1034:87::-;;;:::i;1240:110::-;;;:::i;7528:143:178:-;;;;;;:::i;:::-;;:::i;706:104:180:-;;;:::i;1064:120:358:-;;;:::i;1378:108::-;;;:::i;1127:91:180:-;;;:::i;577:123::-;;;:::i;3115:3650:178:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;:::i;7803:575::-;;;;;;:::i;:::-;;:::i;2637:128:179:-;;;:::i;923:89:180:-;;;:::i;11481:127:178:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1717:657::-;1747:10:179;-1:-1:-1;;;;;1761:19:179;1747:33;;1726:130;;;;-1:-1:-1;;;1726:130:179;;;;;;;:::i;:::-;;;;;;;;;1938:11:178::1;1951:10;;987:278:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;-1:-1:-1;2081:38:178::2;::::0;;::::2;987:278:179::1;2081:38:178::0;::::2;::::0;;::::2;::::0;::::2;::::0;;;;;;;;;;1991:35:::2;::::0;-1:-1:-1;987:278:179;;-1:-1:-1;2081:38:178::2;::::0;-1:-1:-1;2107:11:178;;;;;;2081:38;::::2;2107:11:::0;;;;2081:38;::::2;;::::0;::::2;::::0;;;;-1:-1:-1;2081:25:178::2;::::0;-1:-1:-1;;;2081:38:178:i:2;:::-;1977:142;;;;2130:28;;:::i;:::-;2161:46;2184:22;2161;:46::i;:::-;2130:77;;2224:22;2250:47;2274:22;2250:23;:47::i;:::-;2217:80;;;;;2308:59;2328:5;2335:20;2357:9;2308:19;:59::i;:::-;1114:1:179;;;;1131:31:::1;1166:29;1184:10;1166:17;:29::i;:::-;1126:69;;;;1206:52;1230:11;1243:14;1206:23;:52::i;:::-;;1866:1;;;1717:657:178::0;;;;;:::o;1490:119:180:-;1558:50;1490:119;:::o;1373:111::-;1437:46;1373:111;:::o;2983:122:199:-;3079:19;2983:122;:::o;832:85:180:-;878:38;832:85;:::o;1034:87::-;1081:39;1034:87;:::o;1240:110::-;1303:46;1240:110;:::o;7528:143:178:-;679:10:358;:8;:10::i;:::-;-1:-1:-1;;;;;665:24:358;:10;-1:-1:-1;;;;;665:24:358;;644:144;;;;-1:-1:-1;;;644:144:358;;;;;;;:::i;:::-;7630:34:178::1;7649:14;;7630:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;7630:18:178::1;::::0;-1:-1:-1;;;7630:34:178:i:1;:::-;7528:143:::0;;:::o;706:104:180:-;766:43;706:104;:::o;1064:120:358:-;1105:14;1152:13;-1:-1:-1;;;;;1138:37:358;;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1131:46;;1064:120;:::o;1378:108::-;1466:13;1378:108;:::o;1127:91:180:-;1176:41;1127:91;:::o;577:123::-;647:52;577:123;:::o;3115:3650:178:-;3307:64;3385:29;;;;-1:-1:-1;;;;;;3597:32:178;;-1:-1:-1;;;3597:32:178;3589:84;;;;-1:-1:-1;;;3589:84:178;;;;;;;:::i;:::-;3698:35;3747:28;3788:38;3814:11;;3788:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3788:25:178;;-1:-1:-1;;;3788:38:178:i;:::-;3684:142;;;;3836:28;;:::i;:::-;3867:46;3890:22;3867;:46::i;:::-;3836:77;;3945:34;3960:5;:18;;;3945:14;:34::i;:::-;3924:129;;;;-1:-1:-1;;;3924:129:178;;;;;;;:::i;:::-;4108:5;:22;;;4084:20;:46;;4063:161;;;;-1:-1:-1;;;4063:161:178;;;;;;;:::i;:::-;4235:18;4256:39;4274:5;:20;;;4256:17;:39::i;:::-;4235:60;;4305:18;4326:39;4344:5;:20;;;4326:17;:39::i;:::-;4428:16;;;4442:1;4428:16;;;;;;;;;4305:60;;-1:-1:-1;4428:16:178;;;;;;;;;;;-1:-1:-1;4428:16:178;4410:34;;4475:10;4454:15;4470:1;4454:18;;;;;;;;-1:-1:-1;;;;;4454:31:178;;;;:18;;;;;;;;;;:31;4522:16;;;4536:1;4522:16;;;;;;;;;;;;;;4454:18;4522:16;;;;;-1:-1:-1;4522:16:178;4495:43;;4578:138;4614:5;:22;;;4650:5;:22;;;4686:20;4578:22;:138::i;:::-;4548:24;4573:1;4548:27;;;;;;;;;;;;;;;;;:168;4731:14;;;;:18;4727:1815;;4765:21;4789:98;4834:21;:19;:21::i;:::-;-1:-1:-1;;;;;4824:47:178;;:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4824:49:178;;;;;;;;;;;;:::i;:::-;4789:17;:98::i;:::-;4765:122;;4901:26;4930:146;4970:5;:22;;;5010:5;:14;;;5042:20;4930:22;:146::i;:::-;4901:175;;5160:10;-1:-1:-1;;;;;5143:27:178;:13;-1:-1:-1;;;;;5143:27:178;;5139:1179;;;5236:5;:22;;;5219:5;:14;;;:39;5190:165;;;;-1:-1:-1;;;5190:165:178;;;;;;;:::i;:::-;5389:16;;;5403:1;5389:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5389:16:178;5374:31;;5441:10;5423:12;5436:1;5423:15;;;;;;;;-1:-1:-1;;;;;5423:28:178;;;;:15;;;;;;;;;;:28;5491:16;;;5505:1;5491:16;;;;;;;;;;;;;;5423:15;5491:16;;;;;-1:-1:-1;5491:16:178;5470:37;;5549:20;5525:18;5544:1;5525:21;;;;;;;;;;;;;:44;;;;;5618:51;5650:18;5618:24;5643:1;5618:27;;;;;;;;;;;;;;:31;;:51;;;;:::i;:::-;5588:24;5613:1;5588:27;;;;;;;;;;;;;:81;;;;;5139:1179;;;5711:10;-1:-1:-1;;;;;5694:27:178;:13;-1:-1:-1;;;;;5694:27:178;;5690:628;;;5756:16;;;5770:1;5756:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5756:16:178;5741:31;;5808:10;5790:12;5803:1;5790:15;;;;;;;;-1:-1:-1;;;;;5790:28:178;;;;:15;;;;;;;;;;:28;5858:16;;;5872:1;5858:16;;;;;;;;;;;;;;5790:15;5858:16;;;;;-1:-1:-1;;5837:37:178;-1:-1:-1;5916:44:178;:20;5941:18;5916:24;:44::i;:::-;5892:18;5911:1;5892:21;;;;;;;5690:628;6014:16;;;6028:1;6014:16;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6014:16:178;5999:31;;6066:10;6048:12;6061:1;6048:15;;;;;;;;;;;;;:28;-1:-1:-1;;;;;6048:28:178;;;-1:-1:-1;;;;;6048:28:178;;;;;6112:13;6094:12;6107:1;6094:15;;;;;;;;-1:-1:-1;;;;;6094:31:178;;;;:15;;;;;;;;;;:31;6165:16;;;6179:1;6165:16;;;;;;;;;;6179:1;;6165:16;;;;;;;;;;-1:-1:-1;6165:16:178;6144:37;;6223:20;6199:18;6218:1;6199:21;;;;;;;;;;;;;:44;;;;;6285:18;6261;6280:1;6261:21;;;;;;;;;;;;;:42;;;;;5690:628;4727:1815;;;;;6363:16;;;6377:1;6363:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6363:16:178;6348:31;;6411:10;6393:12;6406:1;6393:15;;;;;;;;-1:-1:-1;;;;;6393:28:178;;;;:15;;;;;;;;;;:28;6457:16;;;6471:1;6457:16;;;;;;;;;;;;;;6393:15;6457:16;;;;;-1:-1:-1;6457:16:178;6436:37;;6511:20;6487:18;6506:1;6487:21;;;;;;;;;;;;;:44;;;;;4727:1815;6573:50;6552:206;;;;;;;3115:3650;;;;;;;;;:::o;7803:575::-;679:10:358;:8;:10::i;:::-;-1:-1:-1;;;;;665:24:358;:10;-1:-1:-1;;;;;665:24:358;;644:144;;;;-1:-1:-1;;;644:144:358;;;;;;;:::i;:::-;7939:28:178;7931:85:::1;;;;-1:-1:-1::0;;;7931:85:178::1;;;;;;;:::i;:::-;8032:9;8027:345;8043:28:::0;;::::1;8027:345;;;8117:36;8132:17;;8150:1;8132:20;;;;;;;;;;;;;;;;;;;;:::i;8117:36::-;8092:147;;;;-1:-1:-1::0;;;8092:147:178::1;;;;;;;:::i;:::-;8295:5;8254:16:::0;:38:::1;8271:17;;8289:1;8271:20;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8254:38:178::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;8254:38:178;:46;;-1:-1:-1;;8254:46:178::1;::::0;::::1;;::::0;;;::::1;::::0;;8340:17;;8358:1;8340:20;;::::1;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8320:41:178::1;;;;;;;;;;;8073:3;;8027:345;;;;7803:575:::0;;:::o;2637:128:179:-;2739:19;2637:128;:::o;923:89:180:-;971:40;923:89;:::o;11481:127:178:-;-1:-1:-1;;;;;11579:22:178;;11540:20;11579:22;;;;;;;;;;;;;11481:127;;;;:::o;7059:245::-;7166:36;7204:29;7267:11;7256:41;;;;;;;;;;;;:::i;:::-;7249:48;;;;7059:245;;;:::o;8961:981::-;9071:29;;:::i;:::-;9130:32;;:::i;:::-;9176:29;;:::i;:::-;9219:25;;:::i;:::-;9259:42;9283:17;9259:23;:42::i;:::-;9116:185;;;;;;;9331:604;;;;;;;;9379:14;9394:1;9379:17;;;;;;;;;;;-1:-1:-1;;;;;9331:604:178;;;;;9428:14;9443:1;9428:17;;;;;;;;;;;-1:-1:-1;;;;;9331:604:178;;;;;9484:14;9499:1;9484:17;;;;;;;;;;;-1:-1:-1;;;;;9331:604:178;;;;;9534:14;9549:1;9534:17;;;;;;;;;;;-1:-1:-1;;;;;9331:604:178;;;;;9587:11;9599:1;9587:14;;;;;;;;;;;9331:604;;;;9637:11;9649:1;9637:14;;;;;;;;;;;9331:604;;;;9679:11;9691:1;9679:14;;;;;;;;;;;9331:604;;;;9721:11;9733:1;9721:14;;;;;;;;;;;9331:604;;;;9776:11;9788:1;9776:14;;;;;;;;;;;9331:604;;;;9814:11;9826:1;9814:14;;;;;;;;;;;9331:604;;;;9862:9;9872:1;9862:12;;;;;;;;;;;9331:604;;;;9908:9;9918:1;9908:12;;;;;;;;;;;9331:604;;9312:623;8961:981;-1:-1:-1;;;;;8961:981:178:o;10820:401::-;10950:33;;:::i;:::-;10997:30;;:::i;:::-;11041:26;;:::i;:::-;11081:23;11147;11136:78;;;;;;;;;;;;:::i;:::-;11129:85;;;;;;;;10820:401;;;;;:::o;893:1107:199:-;1100:176;1139:40;1157:6;:21;;;1139:17;:40::i;:::-;1193:38;1209:6;:21;;;1193:15;:38::i;:::-;1245:21;1100:25;:176::i;:::-;1389:15;;;;:19;1385:490;;1424:20;1457:19;-1:-1:-1;;;;;1447:45:199;;:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1447:47:199;;;;;;;;;;;;:::i;:::-;1424:70;;1508:356;1551:26;1569:7;1551:17;:26::i;:::-;1595:24;1611:7;1595:15;:24::i;:::-;1637:165;1681:6;:23;;;1726:6;:15;;;1763:21;1637:22;:165::i;:::-;1508:25;:356::i;:::-;1385:490;;1910:83;;-1:-1:-1;;;1910:83:199;;-1:-1:-1;;;;;1920:19:199;1910:40;;;;:83;;1951:6;;1959:21;;1982:10;;1910:83;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;893:1107;;;:::o;2093:332:179:-;2205:29;2248:35;2297:32;2372:10;2361:57;;;;;;;;;;;;:::i;:::-;2354:64;;;;;;2093:332;;;;;:::o;3539:585:355:-;3649:36;3737:7;:14;-1:-1:-1;;;;;3723:29:355;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3723:29:355;;3701:51;;3767:9;3762:319;3782:7;:14;3778:1;:18;3762:319;;;3817:19;3845:7;3853:1;3845:10;;;;;;;;;;;;;;3817:39;;3895:13;-1:-1:-1;;;;;3895:23:355;;3927:4;3895:38;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3870:19;3890:1;3870:22;;;;;;;;;;;;;:63;;;;;3976:1;3951:19;3971:1;3951:22;;;;;;;;;;;;;;:26;3947:124;;;3997:59;4024:7;4033:19;4053:1;4033:22;;;;;;;;;;;;;;3997:13;-1:-1:-1;;;;;3997:26:355;;;:59;;;;;:::i;:::-;-1:-1:-1;3798:3:355;;3762:319;;;;3539:585;;;;;:::o;8450:444:178:-;8561:1;8537:14;:21;:25;8529:78;;;;-1:-1:-1;;;8529:78:178;;;;;;;:::i;:::-;8623:9;8618:270;8638:14;:21;8634:1;:25;8618:270;;;8689:33;8704:14;8719:1;8704:17;;;;;;;;;;;;;;8689:14;:33::i;:::-;8688:34;8680:84;;;;-1:-1:-1;;;8680:84:178;;;;;;;:::i;:::-;8817:4;8779:16;:35;8796:14;8811:1;8796:17;;;;;;;;;;;;;;-1:-1:-1;;;;;8779:35:178;-1:-1:-1;;;;;8779:35:178;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;8859:14;8874:1;8859:17;;;;;;;;;;;;;;-1:-1:-1;;;;;8841:36:178;;;;;;;;;;;8661:3;;8618:270;;2062:218:199;2260:2;2244:19;2238:26;;2207:67::o;767:255:360:-;920:26;965:50;1004:10;965:34;:18;988:10;965:22;:34::i;:::-;:38;;:50::i;:::-;958:57;;767:255;;;;;;:::o;3136:155:442:-;3194:7;3226:1;3221;:6;;3213:49;;;;-1:-1:-1;;;3213:49:442;;;;;;;:::i;:::-;-1:-1:-1;3279:5:442;;;3136:155::o;2690:175::-;2748:7;2779:5;;;2802:6;;;;2794:46;;;;-1:-1:-1;;;2794:46:442;;;;;;;:::i;2349:418:199:-;2565:2;2549:19;;2543:26;2422:19;;-1:-1:-1;;;;;;2522:145:199;2710:21;:19;:21::i;:::-;-1:-1:-1;;;;;2700:46:199;;2747:12;2700:60;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;2554:434:355:-;2714:47;;-1:-1:-1;;;2714:47:355;;2694:17;;-1:-1:-1;;;;;2714:23:355;;;;;:47;;2746:4;;2753:7;;2714:47;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2694:67;;2787:13;2775:9;:25;2771:211;;;2820:13;;2816:89;;2853:37;-1:-1:-1;;;;;2853:25:355;;2879:7;2888:1;2853:25;:37::i;:::-;2918:53;-1:-1:-1;;;;;2918:25:355;;2944:7;-1:-1:-1;;2918:25:355;:53::i;704:175:450:-;786:86;806:5;836:23;;;861:2;865:5;813:58;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;813:58:450;;;;;;;;;;;;;;-1:-1:-1;;;;;813:58:450;-1:-1:-1;;;;;;813:58:450;;;;;;;;;;786:19;:86::i;3538:215:442:-;3596:7;3619:6;3615:20;;-1:-1:-1;3634:1:442;3627:8;;3615:20;3657:5;;;3661:1;3657;:5;:1;3680:5;;;;;:10;3672:56;;;;-1:-1:-1;;;3672:56:442;;;;;;;:::i;4217:150::-;4275:7;4306:1;4302;:5;4294:44;;;;-1:-1:-1;;;4294:44:442;;;;;;;:::i;:::-;4359:1;4355;:5;;;;;;;4217:150;-1:-1:-1;;;4217:150:442:o;1348:613:450:-;1713:10;;;1712:62;;-1:-1:-1;1729:39:450;;-1:-1:-1;;;1729:39:450;;-1:-1:-1;;;;;1729:15:450;;;;;:39;;1753:4;;1760:7;;1729:39;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:44;1712:62;1704:150;;;;-1:-1:-1;;;1704:150:450;;;;;;;:::i;:::-;1864:90;1884:5;1914:22;;;1938:7;1947:5;1891:62;;;;;;;;;:::i;2967:751::-;3386:23;3412:69;3440:4;3412:69;;;;;;;;;;;;;;;;;3420:5;-1:-1:-1;;;;;3412:27:450;;;:69;;;;;:::i;:::-;3495:17;;3386:95;;-1:-1:-1;3495:21:450;3491:221;;3635:10;3624:30;;;;;;;;;;;;:::i;:::-;3616:85;;;;-1:-1:-1;;;3616:85:450;;;;;;;:::i;3581:193:451:-;3684:12;3715:52;3737:6;3745:4;3751:1;3754:12;3684;4858:18;4869:6;4858:10;:18::i;:::-;4850:60;;;;-1:-1:-1;;;4850:60:451;;;;;;;:::i;:::-;4981:12;4995:23;5022:6;-1:-1:-1;;;;;5022:11:451;5042:5;5050:4;5022:33;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4980:75;;;;5072:52;5090:7;5099:10;5111:12;5072:17;:52::i;:::-;5065:59;4608:523;-1:-1:-1;;;;;;;4608:523:451:o;726:413::-;1086:20;1124:8;;;726:413::o;7091:725::-;7206:12;7234:7;7230:580;;;-1:-1:-1;7264:10:451;7257:17;;7230:580;7375:17;;:21;7371:429;;7633:10;7627:17;7693:15;7680:10;7676:2;7672:19;7665:44;7582:145;7772:12;7765:20;;-1:-1:-1;;;7765:20:451;;;;;;;;:::i;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5:130::-;72:20;;97:33;72:20;97:33;:::i;142:134::-;220:13;;238:33;220:13;238:33;:::i;302:638::-;;428:3;421:4;413:6;409:17;405:27;395:2;;446:1;443;436:12;395:2;470:4;489:78;504:62;559:6;504:62;:::i;:::-;489:78;:::i;:::-;480:87;;584:5;643:6;690:3;682:4;674:6;670:17;665:3;661:27;658:36;655:2;;;707:1;704;697:12;655:2;732:1;717:217;742:6;739:1;736:13;717:217;;;800:3;822:48;866:3;854:10;822:48;:::i;:::-;810:61;;-1:-1;894:4;885:14;;;;913;;;;;764:1;757:9;717:217;;;721:14;388:552;;;;;;;:::o;966:352::-;;;1096:3;1089:4;1081:6;1077:17;1073:27;1063:2;;1114:1;1111;1104:12;1063:2;-1:-1;1134:20;;-1:-1;;;;;1163:30;;1160:2;;;1206:1;1203;1196:12;1160:2;1240:4;1232:6;1228:17;1216:29;;1291:3;1283:4;1275:6;1271:17;1261:8;1257:32;1254:41;1251:2;;;1308:1;1305;1298:12;1251:2;1056:262;;;;;:::o;1344:722::-;;1472:3;1465:4;1457:6;1453:17;1449:27;1439:2;;1490:1;1487;1480:12;1439:2;1520:6;1514:13;1542:80;1557:64;1614:6;1557:64;:::i;1542:80::-;1533:89;;1639:5;1664:6;1657:5;1650:21;1694:4;1686:6;1682:17;1672:27;;1716:4;1711:3;1707:14;1700:21;;1769:6;1816:3;1808:4;1800:6;1796:17;1791:3;1787:27;1784:36;1781:2;;;1833:1;1830;1823:12;1781:2;1858:1;1843:217;1868:6;1865:1;1862:13;1843:217;;;1926:3;1948:48;1992:3;1980:10;1948:48;:::i;:::-;1936:61;;-1:-1;2020:4;2011:14;;;;2039;;;;;1890:1;1883:9;1843:217;;2091:629;;2226:3;2219:4;2211:6;2207:17;2203:27;2193:2;;2244:1;2241;2234:12;2193:2;2268:4;2287:87;2302:71;2366:6;2302:71;:::i;2287:87::-;2278:96;;2391:5;2450:6;2483:1;2468:246;2493:6;2490:1;2487:13;2468:246;;;2569:3;2563:10;2555:6;2551:23;2593:57;2646:3;2634:10;2593:57;:::i;:::-;2581:70;;-1:-1;2674:4;2665:14;;;;2693;;;;;2515:1;2508:9;2468:246;;2747:638;;2873:3;2866:4;2858:6;2854:17;2850:27;2840:2;;2891:1;2888;2881:12;2840:2;2915:4;2934:78;2949:62;3004:6;2949:62;:::i;2934:78::-;2925:87;;3029:5;3088:6;3135:3;3127:4;3119:6;3115:17;3110:3;3106:27;3103:36;3100:2;;;3152:1;3149;3142:12;3100:2;3177:1;3162:217;3187:6;3184:1;3181:13;3162:217;;;3245:3;3267:48;3311:3;3299:10;3267:48;:::i;:::-;3255:61;;-1:-1;3339:4;3330:14;;;;3358;;;;;3209:1;3202:9;3162:217;;3411:722;;3539:3;3532:4;3524:6;3520:17;3516:27;3506:2;;3557:1;3554;3547:12;3506:2;3587:6;3581:13;3609:80;3624:64;3681:6;3624:64;:::i;3609:80::-;3600:89;;3706:5;3731:6;3724:5;3717:21;3761:4;3753:6;3749:17;3739:27;;3783:4;3778:3;3774:14;3767:21;;3836:6;3883:3;3875:4;3867:6;3863:17;3858:3;3854:27;3851:36;3848:2;;;3900:1;3897;3890:12;3848:2;3925:1;3910:217;3935:6;3932:1;3929:13;3910:217;;;3993:3;4015:48;4059:3;4047:10;4015:48;:::i;:::-;4003:61;;-1:-1;4087:4;4078:14;;;;4106;;;;;3957:1;3950:9;3910:217;;4141:128;4216:13;;4234:30;4216:13;4234:30;:::i;4276:128::-;4342:20;;4367:32;4342:20;4367:32;:::i;4425:336::-;;;4539:3;4532:4;4524:6;4520:17;4516:27;4506:2;;4557:1;4554;4547:12;4506:2;-1:-1;4577:20;;-1:-1;;;;;4606:30;;4603:2;;;4649:1;4646;4639:12;4603:2;4683:4;4675:6;4671:17;4659:29;;4734:3;4726:4;4718:6;4714:17;4704:8;4700:32;4697:41;4694:2;;;4751:1;4748;4741:12;4770:442;;4882:3;4875:4;4867:6;4863:17;4859:27;4849:2;;4900:1;4897;4890:12;4849:2;4930:6;4924:13;4952:64;4967:48;5008:6;4967:48;:::i;4952:64::-;4943:73;;5036:6;5029:5;5022:21;5072:4;5064:6;5060:17;5105:4;5098:5;5094:16;5140:3;5131:6;5126:3;5122:16;5119:25;5116:2;;;5157:1;5154;5147:12;5116:2;5167:39;5199:6;5194:3;5189;5167:39;:::i;:::-;4842:370;;;;;;;:::o;5255:867::-;;5385:4;5373:9;5368:3;5364:19;5360:30;5357:2;;;5403:1;5400;5393:12;5357:2;5421:20;5436:4;5421:20;:::i;:::-;5412:29;-1:-1;5509:1;5541:60;5597:3;5577:9;5541:60;:::i;:::-;5516:86;;-1:-1;5681:2;5714:60;5770:3;5746:22;;;5714:60;:::i;:::-;5707:4;5700:5;5696:16;5689:86;5623:163;5844:2;5877:60;5933:3;5924:6;5913:9;5909:22;5877:60;:::i;:::-;5870:4;5863:5;5859:16;5852:86;5796:153;6007:2;6040:60;6096:3;6087:6;6076:9;6072:22;6040:60;:::i;:::-;6033:4;6026:5;6022:16;6015:86;5959:153;5351:771;;;;:::o;6129:134::-;6207:13;;6225:33;6207:13;6225:33;:::i;6270:241::-;;6374:2;6362:9;6353:7;6349:23;6345:32;6342:2;;;6390:1;6387;6380:12;6342:2;6425:1;6442:53;6487:7;6467:9;6442:53;:::i;:::-;6432:63;6336:175;-1:-1;;;;6336:175::o;6518:263::-;;6633:2;6621:9;6612:7;6608:23;6604:32;6601:2;;;6649:1;6646;6639:12;6601:2;6684:1;6701:64;6757:7;6737:9;6701:64;:::i;6788:613::-;;;;;6944:2;6932:9;6923:7;6919:23;6915:32;6912:2;;;6960:1;6957;6950:12;6912:2;6995:1;7012:53;7057:7;7037:9;7012:53;:::i;:::-;7002:63;;6974:97;7102:2;7120:52;7164:7;7155:6;7144:9;7140:22;7120:52;:::i;:::-;7110:62;;7081:97;7237:2;7226:9;7222:18;7209:32;-1:-1;;;;;7253:6;7250:30;7247:2;;;7293:1;7290;7283:12;7247:2;7321:64;7377:7;7368:6;7357:9;7353:22;7321:64;:::i;:::-;6906:495;;;;-1:-1;7303:82;-1:-1;;;;6906:495::o;7408:739::-;;;;;;7584:2;7572:9;7563:7;7559:23;7555:32;7552:2;;;7600:1;7597;7590:12;7552:2;7635:1;7652:53;7697:7;7677:9;7652:53;:::i;:::-;7642:63;;7614:97;7770:2;7759:9;7755:18;7742:32;-1:-1;;;;;7786:6;7783:30;7780:2;;;7826:1;7823;7816:12;7780:2;7854:64;7910:7;7901:6;7890:9;7886:22;7854:64;:::i;:::-;7836:82;;;;7721:203;7983:2;7972:9;7968:18;7955:32;-1:-1;;;;;7999:6;7996:30;7993:2;;;8039:1;8036;8029:12;7993:2;8067:64;8123:7;8114:6;8103:9;8099:22;8067:64;:::i;:::-;8049:82;;;;7934:203;7546:601;;;;;;;;:::o;8154:1007::-;;;;;8407:3;8395:9;8386:7;8382:23;8378:33;8375:2;;;8424:1;8421;8414:12;8375:2;8459:1;8476:87;8555:7;8535:9;8476:87;:::i;:::-;8466:97;;8438:131;8600:3;8619:87;8698:7;8689:6;8678:9;8674:22;8619:87;:::i;:::-;8609:97;;8579:133;8764:3;8753:9;8749:19;8743:26;-1:-1;;;;;8781:6;8778:30;8775:2;;;8821:1;8818;8811:12;8775:2;8841:96;8929:7;8920:6;8909:9;8905:22;8841:96;:::i;:::-;8831:106;;8722:221;8995:3;8984:9;8980:19;8974:26;-1:-1;;;;;9012:6;9009:30;9006:2;;;9052:1;9049;9042:12;9006:2;9072:73;9137:7;9128:6;9117:9;9113:22;9072:73;:::i;:::-;9062:83;;8953:198;8369:792;;;;;;;:::o;9168:397::-;;;9307:2;9295:9;9286:7;9282:23;9278:32;9275:2;;;9323:1;9320;9313:12;9275:2;9358:31;;-1:-1;;;;;9398:30;;9395:2;;;9441:1;9438;9431:12;9395:2;9469:80;9541:7;9532:6;9521:9;9517:22;9469:80;:::i;:::-;9451:98;;;;9337:218;9269:296;;;;;:::o;9572:922::-;;;;9796:2;9784:9;9775:7;9771:23;9767:32;9764:2;;;9812:1;9809;9802:12;9764:2;9847:24;;-1:-1;;;;;9880:30;;9877:2;;;9923:1;9920;9913:12;9877:2;9943:89;10024:7;10015:6;10004:9;10000:22;9943:89;:::i;:::-;9933:99;;9826:212;10090:2;10079:9;10075:18;10069:25;-1:-1;;;;;10106:6;10103:30;10100:2;;;10146:1;10143;10136:12;10100:2;10166:89;10247:7;10238:6;10227:9;10223:22;10166:89;:::i;:::-;10156:99;;10048:213;10313:2;10302:9;10298:18;10292:25;-1:-1;;;;;10329:6;10326:30;10323:2;;;10369:1;10366;10359:12;10323:2;10389:89;10470:7;10461:6;10450:9;10446:22;10389:89;:::i;:::-;10379:99;;10271:213;9758:736;;;;;:::o;10501:257::-;;10613:2;10601:9;10592:7;10588:23;10584:32;10581:2;;;10629:1;10626;10619:12;10581:2;10664:1;10681:61;10734:7;10714:9;10681:61;:::i;10765:360::-;;10889:2;10877:9;10868:7;10864:23;10860:32;10857:2;;;10905:1;10902;10895:12;10857:2;10940:24;;-1:-1;;;;;10973:30;;10970:2;;;11016:1;11013;11006:12;10970:2;11036:73;11101:7;11092:6;11081:9;11077:22;11036:73;:::i;11132:496::-;;;11273:2;11261:9;11252:7;11248:23;11244:32;11241:2;;;11289:1;11286;11279:12;11241:2;11324:24;;-1:-1;;;;;11357:30;;11354:2;;;11400:1;11397;11390:12;11354:2;11420:73;11485:7;11476:6;11465:9;11461:22;11420:73;:::i;:::-;11410:83;;11303:196;11530:2;11548:64;11604:7;11595:6;11584:9;11580:22;11548:64;:::i;:::-;11538:74;;11509:109;11235:393;;;;;:::o;11635:324::-;;11780:3;11768:9;11759:7;11755:23;11751:33;11748:2;;;11797:1;11794;11787:12;11748:2;11832:1;11849:94;11935:7;11915:9;11849:94;:::i;11966:263::-;;12081:2;12069:9;12060:7;12056:23;12052:32;12049:2;;;12097:1;12094;12087:12;12049:2;12132:1;12149:64;12205:7;12185:9;12149:64;:::i;12237:173::-;;12324:46;12366:3;12358:6;12324:46;:::i;:::-;-1:-1;;12399:4;12390:14;;12317:93::o;12419:173::-;;12506:46;12548:3;12540:6;12506:46;:::i;12600:103::-;12673:24;12691:5;12673:24;:::i;:::-;12668:3;12661:37;12655:48;;:::o;12861:690::-;;13006:54;13054:5;13006:54;:::i;:::-;13073:86;13152:6;13147:3;13073:86;:::i;:::-;13066:93;;13180:56;13230:5;13180:56;:::i;:::-;13256:7;13284:1;13269:260;13294:6;13291:1;13288:13;13269:260;;;13361:6;13355:13;13382:63;13441:3;13426:13;13382:63;:::i;:::-;13375:70;;13462:60;13515:6;13462:60;:::i;:::-;13452:70;-1:-1;;13316:1;13309:9;13269:260;;;-1:-1;13542:3;;12985:566;-1:-1;;;;;12985:566::o;13590:690::-;;13735:54;13783:5;13735:54;:::i;:::-;13802:86;13881:6;13876:3;13802:86;:::i;:::-;13795:93;;13909:56;13959:5;13909:56;:::i;:::-;13985:7;14013:1;13998:260;14023:6;14020:1;14017:13;13998:260;;;14090:6;14084:13;14111:63;14170:3;14155:13;14111:63;:::i;:::-;14104:70;;14191:60;14244:6;14191:60;:::i;:::-;14181:70;-1:-1;;14045:1;14038:9;13998:260;;14288:104;14365:21;14380:5;14365:21;:::i;14399:110::-;14480:23;14497:5;14480:23;:::i;14516:323::-;;14616:38;14648:5;14616:38;:::i;:::-;14666:60;14719:6;14714:3;14666:60;:::i;:::-;14659:67;;14731:52;14776:6;14771:3;14764:4;14757:5;14753:16;14731:52;:::i;:::-;14804:29;14826:6;14804:29;:::i;:::-;14795:39;;;;14596:243;-1:-1;;;14596:243::o;15196:356::-;;15324:38;15356:5;15324:38;:::i;:::-;15374:88;15455:6;15450:3;15374:88;:::i;:::-;15367:95;;15467:52;15512:6;15507:3;15500:4;15493:5;15489:16;15467:52;:::i;:::-;15531:16;;;;;15304:248;-1:-1;;15304:248::o;15559:176::-;15667:62;15723:5;15667:62;:::i;16097:381::-;;16257:67;16321:2;16316:3;16257:67;:::i;:::-;16357:34;16337:55;;-1:-1;;;16421:2;16412:12;;16405:36;16469:2;16460:12;;16243:235;-1:-1;;16243:235::o;16487:392::-;;16647:67;16711:2;16706:3;16647:67;:::i;:::-;16747:34;16727:55;;16816:25;16811:2;16802:12;;16795:47;16870:2;16861:12;;16633:246;-1:-1;;16633:246::o;16888:447::-;;17048:67;17112:2;17107:3;17048:67;:::i;:::-;17148:34;17128:55;;17217:34;17212:2;17203:12;;17196:56;-1:-1;;;17281:2;17272:12;;17265:33;17326:2;17317:12;;17034:301;-1:-1;;17034:301::o;17344:327::-;;17504:67;17568:2;17563:3;17504:67;:::i;:::-;17604:29;17584:50;;17662:2;17653:12;;17490:181;-1:-1;;17490:181::o;17680:377::-;;17840:67;17904:2;17899:3;17840:67;:::i;:::-;17940:34;17920:55;;-1:-1;;;18004:2;17995:12;;17988:32;18048:2;18039:12;;17826:231;-1:-1;;17826:231::o;18066:442::-;;18226:67;18290:2;18285:3;18226:67;:::i;:::-;18326:34;18306:55;;18395:34;18390:2;18381:12;;18374:56;-1:-1;;;18459:2;18450:12;;18443:28;18499:2;18490:12;;18212:296;-1:-1;;18212:296::o;18517:330::-;;18677:67;18741:2;18736:3;18677:67;:::i;:::-;18777:32;18757:53;;18838:2;18829:12;;18663:184;-1:-1;;18663:184::o;19240:326::-;;19400:67;19464:2;19459:3;19400:67;:::i;:::-;19500:28;19480:49;;19557:2;19548:12;;19386:180;-1:-1;;19386:180::o;19575:387::-;;19735:67;19799:2;19794:3;19735:67;:::i;:::-;19835:34;19815:55;;-1:-1;;;19899:2;19890:12;;19883:42;19953:2;19944:12;;19721:241;-1:-1;;19721:241::o;19971:370::-;;20131:67;20195:2;20190:3;20131:67;:::i;:::-;20231:34;20211:55;;-1:-1;;;20295:2;20286:12;;20279:25;20332:2;20323:12;;20117:224;-1:-1;;20117:224::o;20350:385::-;;20510:67;20574:2;20569:3;20510:67;:::i;:::-;20610:34;20590:55;;-1:-1;;;20674:2;20665:12;;20658:40;20726:2;20717:12;;20496:239;-1:-1;;20496:239::o;20744:329::-;;20904:67;20968:2;20963:3;20904:67;:::i;:::-;21004:31;20984:52;;21064:2;21055:12;;20890:183;-1:-1;;20890:183::o;21082:374::-;;21242:67;21306:2;21301:3;21242:67;:::i;:::-;21342:34;21322:55;;-1:-1;;;21406:2;21397:12;;21390:29;21447:2;21438:12;;21228:228;-1:-1;;21228:228::o;21465:379::-;;21625:67;21689:2;21684:3;21625:67;:::i;:::-;21725:34;21705:55;;-1:-1;;;21789:2;21780:12;;21773:34;21835:2;21826:12;;21611:233;-1:-1;;21611:233::o;21853:391::-;;22013:67;22077:2;22072:3;22013:67;:::i;:::-;22113:34;22093:55;;-1:-1;;;22177:2;22168:12;;22161:46;22235:2;22226:12;;21999:245;-1:-1;;21999:245::o;22253:389::-;;22413:67;22477:2;22472:3;22413:67;:::i;:::-;22513:34;22493:55;;-1:-1;;;22577:2;22568:12;;22561:44;22633:2;22624:12;;22399:243;-1:-1;;22399:243::o;22651:376::-;;22811:67;22875:2;22870:3;22811:67;:::i;:::-;22911:34;22891:55;;-1:-1;;;22975:2;22966:12;;22959:31;23018:2;23009:12;;22797:230;-1:-1;;22797:230::o;23090:2308::-;23315:23;;23090:2308;;23239:6;23230:16;;;23344:63;23234:3;23315:23;23344:63;:::i;:::-;23261:152;23494:4;23487:5;23483:16;23477:23;23506:63;23563:4;23558:3;23554:14;23540:12;23506:63;:::i;:::-;23423:152;23663:4;23656:5;23652:16;23646:23;23675:63;23732:4;23727:3;23723:14;23709:12;23675:63;:::i;:::-;23585:159;23826:4;23819:5;23815:16;23809:23;23838:63;23895:4;23890:3;23886:14;23872:12;23838:63;:::i;:::-;23754:153;23992:4;23985:5;23981:16;23975:23;24004:63;24061:4;24056:3;24052:14;24038:12;24004:63;:::i;:::-;23917:156;24158:4;24151:5;24147:16;24141:23;24170:63;24227:4;24222:3;24218:14;24204:12;24170:63;:::i;:::-;24083:156;24316:4;24309:5;24305:16;24299:23;24328:63;24385:4;24380:3;24376:14;24362:12;24328:63;:::i;:::-;24249:148;24474:4;24467:5;24463:16;24457:23;24486:63;24543:4;24538:3;24534:14;24520:12;24486:63;:::i;:::-;24407:148;24645:6;24638:5;24634:18;24628:25;24659:65;24716:6;24711:3;24707:16;24693:12;24659:65;:::i;:::-;24565:165;24803:6;24796:5;24792:18;24786:25;24817:65;24874:6;24869:3;24865:16;24851:12;24817:65;:::i;:::-;24740:148;24971:6;24964:5;24960:18;24954:25;25027:3;25021:4;25017:14;25008:6;25003:3;24999:16;24992:40;25047:71;25113:4;25099:12;25047:71;:::i;:::-;25039:79;;24898:232;25213:6;25206:5;25202:18;25196:25;25269:3;25263:4;25259:14;25250:6;25245:3;25241:16;25234:40;25289:71;25355:4;25341:12;25289:71;:::i;:::-;25281:79;23212:2186;-1:-1;;;;;23212:2186::o;25405:103::-;25478:24;25496:5;25478:24;:::i;25635:271::-;;25788:93;25877:3;25868:6;25788:93;:::i;25913:222::-;26040:2;26025:18;;26054:71;26029:9;26098:6;26054:71;:::i;26142:333::-;26297:2;26282:18;;26311:71;26286:9;26355:6;26311:71;:::i;:::-;26393:72;26461:2;26450:9;26446:18;26437:6;26393:72;:::i;26482:333::-;26637:2;26622:18;;26651:71;26626:9;26695:6;26651:71;:::i;:::-;26733:72;26801:2;26790:9;26786:18;26777:6;26733:72;:::i;26822:210::-;26943:2;26928:18;;26957:65;26932:9;26995:6;26957:65;:::i;27039:218::-;27164:2;27149:18;;27178:69;27153:9;27220:6;27178:69;:::i;27264:1310::-;27728:3;27713:19;;27743:96;27717:9;27812:6;27743:96;:::i;:::-;27887:9;27881:4;27877:20;27872:2;27861:9;27857:18;27850:48;27912:108;28015:4;28006:6;27912:108;:::i;:::-;27904:116;;28068:9;28062:4;28058:20;28053:2;28042:9;28038:18;28031:48;28093:108;28196:4;28187:6;28093:108;:::i;:::-;28085:116;;28249:9;28243:4;28239:20;28234:2;28223:9;28219:18;28212:48;28274:108;28377:4;28368:6;28274:108;:::i;:::-;28266:116;;28431:9;28425:4;28421:20;28415:3;28404:9;28400:19;28393:49;28456:108;28559:4;28550:6;28456:108;:::i;28581:310::-;28728:2;28742:47;;;28713:18;;28803:78;28713:18;28867:6;28803:78;:::i;28898:416::-;29098:2;29112:47;;;29083:18;;29173:131;29083:18;29173:131;:::i;29321:416::-;29521:2;29535:47;;;29506:18;;29596:131;29506:18;29596:131;:::i;29744:416::-;29944:2;29958:47;;;29929:18;;30019:131;29929:18;30019:131;:::i;30167:416::-;30367:2;30381:47;;;30352:18;;30442:131;30352:18;30442:131;:::i;30590:416::-;30790:2;30804:47;;;30775:18;;30865:131;30775:18;30865:131;:::i;31013:416::-;31213:2;31227:47;;;31198:18;;31288:131;31198:18;31288:131;:::i;31436:416::-;31636:2;31650:47;;;31621:18;;31711:131;31621:18;31711:131;:::i;32282:416::-;32482:2;32496:47;;;32467:18;;32557:131;32467:18;32557:131;:::i;32705:416::-;32905:2;32919:47;;;32890:18;;32980:131;32890:18;32980:131;:::i;33128:416::-;33328:2;33342:47;;;33313:18;;33403:131;33313:18;33403:131;:::i;33551:416::-;33751:2;33765:47;;;33736:18;;33826:131;33736:18;33826:131;:::i;33974:416::-;34174:2;34188:47;;;34159:18;;34249:131;34159:18;34249:131;:::i;34397:416::-;34597:2;34611:47;;;34582:18;;34672:131;34582:18;34672:131;:::i;34820:416::-;35020:2;35034:47;;;35005:18;;35095:131;35005:18;35095:131;:::i;35243:416::-;35443:2;35457:47;;;35428:18;;35518:131;35428:18;35518:131;:::i;35666:416::-;35866:2;35880:47;;;35851:18;;35941:131;35851:18;35941:131;:::i;36089:416::-;36289:2;36303:47;;;36274:18;;36364:131;36274:18;36364:131;:::i;36512:672::-;36761:2;36775:47;;;36746:18;;36836:106;36746:18;36928:6;36836:106;:::i;:::-;36828:114;;36953:72;37021:2;37010:9;37006:18;36997:6;36953:72;:::i;:::-;37073:9;37067:4;37063:20;37058:2;37047:9;37043:18;37036:48;37098:76;37169:4;37160:6;37098:76;:::i;37191:256::-;37253:2;37247:9;37279:17;;;-1:-1;;;;;37339:34;;37375:22;;;37336:62;37333:2;;;37411:1;37408;37401:12;37333:2;37427;37420:22;37231:216;;-1:-1;37231:216::o;37454:244::-;;-1:-1;;;;;37603:6;37600:30;37597:2;;;37643:1;37640;37633:12;37597:2;-1:-1;37678:4;37666:17;;37534:164::o;37705:304::-;;-1:-1;;;;;37856:6;37853:30;37850:2;;;37896:1;37893;37886:12;37850:2;-1:-1;37931:4;37919:17;;;37984:15;;37787:222::o;38838:321::-;;-1:-1;;;;;38973:6;38970:30;38967:2;;;39013:1;39010;39003:12;38967:2;-1:-1;39144:4;39080;39057:17;;;;-1:-1;;39053:33;39134:15;;38904:255::o;39166:151::-;39290:4;39281:14;;39238:79::o;39482:137::-;39585:12;;39556:63::o;40258:178::-;40376:19;;;40425:4;40416:14;;40369:67::o;41288:91::-;;41350:24;41368:5;41350:24;:::i;41386:85::-;41452:13;41445:21;;41428:43::o;41478:144::-;-1:-1;;;;;;41539:78;;41522:100::o;41629:160::-;41718:5;41724:60;41718:5;41724:60;:::i;41796:121::-;-1:-1;;;;;41858:54;;41841:76::o;41924:72::-;41986:5;41969:27::o;42003:160::-;;42107:51;42152:5;42107:51;:::i;42171:268::-;42236:1;42243:101;42257:6;42254:1;42251:13;42243:101;;;42324:11;;;42318:18;42305:11;;;42298:39;42279:2;42272:10;42243:101;;;42359:6;42356:1;42353:13;42350:2;;;-1:-1;;42424:1;42406:16;;42399:27;42220:219::o;42447:97::-;42535:2;42515:14;-1:-1;;42511:28;;42495:49::o;42552:118::-;42648:1;42641:5;42638:12;42628:2;;42654:9;42628:2;42622:48;:::o;42677:117::-;42746:24;42764:5;42746:24;:::i;:::-;42739:5;42736:35;42726:2;;42785:1;42782;42775:12;42801:111;42867:21;42882:5;42867:21;:::i;42919:115::-;42987:23;43004:5;42987:23;:::i;43041:117::-;43110:24;43128:5;43110:24;:::i", - "linkReferences": {}, - "immutableReferences": { - "49791": [ - { - "start": 560, - "length": 32 - }, - { - "start": 3146, - "length": 32 - } - ], - "52448": [ - { - "start": 914, - "length": 32 - }, - { - "start": 3773, - "length": 32 - }, - { - "start": 3992, - "length": 32 - } - ], - "78707": [ - { - "start": 1216, - "length": 32 - }, - { - "start": 1366, - "length": 32 - } - ] - } - }, - "methodIdentifiers": { - "CLAIM_REWARDS_SELECTOR()": "40da225d", - "LEND_AND_STAKE_SELECTOR()": "131461c0", - "LEND_SELECTOR()": "257cb1a3", - "REDEEM_SELECTOR()": "f7d882b5", - "STAKE_SELECTOR()": "3ffc1591", - "TAKE_MULTIPLE_ORDERS_SELECTOR()": "c32990a2", - "TAKE_ORDER_SELECTOR()": "863e5ad0", - "UNSTAKE_AND_REDEEM_SELECTOR()": "080456c1", - "UNSTAKE_SELECTOR()": "b23228cf", - "addAllowedMakers(address[])": "4ce13fb0", - "getFundDeployer()": "97c0ac87", - "getIntegrationManager()": "e7c45690", - "getOwner()": "893d20e8", - "getZeroExV2Exchange()": "1d566eee", - "isAllowedMaker(address)": "ff7ede37", - "parseAssetsForAction(address,bytes4,bytes)": "c54efee5", - "removeAllowedMakers(address[])": "c960260d", - "takeOrder(address,bytes,bytes)": "03e38a2b" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_integrationManager\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_exchange\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_fundDeployer\",\"type\":\"address\"},{\"internalType\":\"address[]\",\"name\":\"_allowedMakers\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"AllowedMakerAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"AllowedMakerRemoved\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"CLAIM_REWARDS_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LEND_AND_STAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LEND_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"REDEEM_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"STAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TAKE_MULTIPLE_ORDERS_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TAKE_ORDER_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UNSTAKE_AND_REDEEM_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UNSTAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_accountsToAdd\",\"type\":\"address[]\"}],\"name\":\"addAllowedMakers\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFundDeployer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"fundDeployer_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getIntegrationManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"integrationManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getZeroExV2Exchange\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"zeroExV2Exchange_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_who\",\"type\":\"address\"}],\"name\":\"isAllowedMaker\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isAllowedMaker_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"_selector\",\"type\":\"bytes4\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"}],\"name\":\"parseAssetsForAction\",\"outputs\":[{\"internalType\":\"enum IIntegrationManager.SpendAssetsHandleType\",\"name\":\"spendAssetsHandleType_\",\"type\":\"uint8\"},{\"internalType\":\"address[]\",\"name\":\"spendAssets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"spendAssetAmounts_\",\"type\":\"uint256[]\"},{\"internalType\":\"address[]\",\"name\":\"incomingAssets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"minIncomingAssetAmounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_accountsToRemove\",\"type\":\"address[]\"}],\"name\":\"removeAllowedMakers\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"_assetData\",\"type\":\"bytes\"}],\"name\":\"takeOrder\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"addAllowedMakers(address[])\":{\"params\":{\"_accountsToAdd\":\"Accounts to add\"}},\"getFundDeployer()\":{\"returns\":{\"fundDeployer_\":\"The `FUND_DEPLOYER` variable value\"}},\"getIntegrationManager()\":{\"returns\":{\"integrationManager_\":\"The `INTEGRATION_MANAGER` variable value\"}},\"getOwner()\":{\"details\":\"Ownership is deferred to the owner of the FundDeployer contract\",\"returns\":{\"owner_\":\"The owner\"}},\"getZeroExV2Exchange()\":{\"returns\":{\"zeroExV2Exchange_\":\"The `ZERO_EX_V2_EXCHANGE` variable value\"}},\"isAllowedMaker(address)\":{\"params\":{\"_who\":\"The account to check\"},\"returns\":{\"isAllowedMaker_\":\"True if _who is an allowed maker\"}},\"parseAssetsForAction(address,bytes4,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_selector\":\"The function selector for the callOnIntegration\"},\"returns\":{\"incomingAssets_\":\"The assets to receive in the call\",\"minIncomingAssetAmounts_\":\"The min asset amounts to receive in the call\",\"spendAssetAmounts_\":\"The max asset amounts to spend in the call\",\"spendAssetsHandleType_\":\"A type that dictates how to handle granting the adapter access to spend assets (`None` by default)\",\"spendAssets_\":\"The assets to spend in the call\"}},\"removeAllowedMakers(address[])\":{\"params\":{\"_accountsToRemove\":\"Accounts to remove\"}},\"takeOrder(address,bytes,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_assetData\":\"Parsed spend assets and incoming assets data for this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}}},\"title\":\"ZeroExV2Adapter Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"addAllowedMakers(address[])\":{\"notice\":\"Adds accounts to the list of allowed 0x order makers\"},\"getFundDeployer()\":{\"notice\":\"Gets the `FUND_DEPLOYER` variable\"},\"getIntegrationManager()\":{\"notice\":\"Gets the `INTEGRATION_MANAGER` variable\"},\"getOwner()\":{\"notice\":\"Gets the owner of this contract\"},\"getZeroExV2Exchange()\":{\"notice\":\"Gets the `ZERO_EX_V2_EXCHANGE` variable value\"},\"isAllowedMaker(address)\":{\"notice\":\"Checks whether an account is an allowed maker of 0x orders\"},\"parseAssetsForAction(address,bytes4,bytes)\":{\"notice\":\"Parses the expected assets in a particular action\"},\"removeAllowedMakers(address[])\":{\"notice\":\"Removes accounts from the list of allowed 0x order makers\"},\"takeOrder(address,bytes,bytes)\":{\"notice\":\"Take an order on 0x\"}},\"notice\":\"Adapter to 0xV2 Exchange Contract\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/integration-manager/integrations/adapters/ZeroExV2Adapter.sol\":\"ZeroExV2Adapter\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/extensions/integration-manager/IIntegrationManager.sol\":{\"keccak256\":\"0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23\",\"dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk\"]},\"contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol\":{\"keccak256\":\"0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336\",\"dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS\"]},\"contracts/release/extensions/integration-manager/integrations/adapters/ZeroExV2Adapter.sol\":{\"keccak256\":\"0xe1c778cd06853b3c27935717a2e2be34822794642fb97fa9524e6e8814b0a6c4\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6b719ee07eb8502b90dbb609956ea95255f0e3f3b8b2f31eb8f9a3fa55977e69\",\"dweb:/ipfs/QmUfEmUGJLGMrmrzbteiGCpzxnThrecJEEGSb53it5VtdU\"]},\"contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol\":{\"keccak256\":\"0x067e49bf0d3c1655ab41a413c65ccf61d4e593308132e1ffc484a0fadfbbaf26\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://387f425017e18e89cc1893521101fa99df595314847d0b3d9a1162369f714fcf\",\"dweb:/ipfs/Qmco3jCvuWAyfCpBYpGzHrQjiFJG63w1RJKcakoTEbxRQm\"]},\"contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol\":{\"keccak256\":\"0xfd34c7ca8231c6935e25dede32ca2b3121738e624d0fc896f7b895a731edcf88\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d492c061963d36d07718446db191d4c5a340c0d847f6cd209f027bd99f7cb176\",\"dweb:/ipfs/QmfCvRZt56ftDdrEh6LepHXFJ4fVtcfpQGvEyY8k4zxG1A\"]},\"contracts/release/extensions/integration-manager/integrations/utils/actions/ZeroExV2ActionsMixin.sol\":{\"keccak256\":\"0x35897e0e775a94bbfa2e1aa7e4def77d933ffa7c7ae5a32e9d58f85a9fbd580e\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a2c3a03d2c9e682fbbb84301f15c75e13345cf5d74e2ac332298bf297af8ad1c\",\"dweb:/ipfs/QmYRREB1X7az2YnMkcjQqfVHwdqVy1oQAT89wwfxMGS4n4\"]},\"contracts/release/interfaces/IZeroExV2.sol\":{\"keccak256\":\"0x0c07eab651b8ce3000ddcfd1cad14f16b76a8d032a3bdbf25e17dad8b26fa125\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f675908202e1fb7e22905163eead8d9eaefce731a7d288841126a00e2177bcdc\",\"dweb:/ipfs/QmRUoZdkEvxaK2Ma6UeGHMR2PdrMkuiujioc59W8rYqKJu\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"contracts/release/utils/FundDeployerOwnerMixin.sol\":{\"keccak256\":\"0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927\",\"dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM\"]},\"contracts/release/utils/MathHelpers.sol\":{\"keccak256\":\"0x8aef498ae98bfb40cd1df8c9ed652b4c092fbbe62d5a1fad522c53654523248e\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ed62789f6a8d5ca30a40c591f244b915e4711493a9e4b1b4d40ea2bc97b02a95\",\"dweb:/ipfs/QmWyXJ55arURtx9VMkUQokdsjk8tbgM2cC8rENFUMyz5D3\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "_integrationManager", - "type": "address" - }, - { - "internalType": "address", - "name": "_exchange", - "type": "address" - }, - { - "internalType": "address", - "name": "_fundDeployer", - "type": "address" - }, - { - "internalType": "address[]", - "name": "_allowedMakers", - "type": "address[]" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "AllowedMakerAdded", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "AllowedMakerRemoved", - "anonymous": false - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "CLAIM_REWARDS_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "LEND_AND_STAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "LEND_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "REDEEM_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "STAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "TAKE_MULTIPLE_ORDERS_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "TAKE_ORDER_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "UNSTAKE_AND_REDEEM_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "UNSTAKE_SELECTOR", - "outputs": [ - { - "internalType": "bytes4", - "name": "", - "type": "bytes4" - } - ] - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_accountsToAdd", - "type": "address[]" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "addAllowedMakers" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getFundDeployer", - "outputs": [ - { - "internalType": "address", - "name": "fundDeployer_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getIntegrationManager", - "outputs": [ - { - "internalType": "address", - "name": "integrationManager_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getOwner", - "outputs": [ - { - "internalType": "address", - "name": "owner_", - "type": "address" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "getZeroExV2Exchange", - "outputs": [ - { - "internalType": "address", - "name": "zeroExV2Exchange_", - "type": "address" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_who", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function", - "name": "isAllowedMaker", - "outputs": [ - { - "internalType": "bool", - "name": "isAllowedMaker_", - "type": "bool" - } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - }, - { - "internalType": "bytes4", - "name": "_selector", - "type": "bytes4" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - } - ], - "stateMutability": "view", - "type": "function", - "name": "parseAssetsForAction", - "outputs": [ - { - "internalType": "enum IIntegrationManager.SpendAssetsHandleType", - "name": "spendAssetsHandleType_", - "type": "uint8" - }, - { - "internalType": "address[]", - "name": "spendAssets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "spendAssetAmounts_", - "type": "uint256[]" - }, - { - "internalType": "address[]", - "name": "incomingAssets_", - "type": "address[]" - }, - { - "internalType": "uint256[]", - "name": "minIncomingAssetAmounts_", - "type": "uint256[]" - } - ] - }, - { - "inputs": [ - { - "internalType": "address[]", - "name": "_accountsToRemove", - "type": "address[]" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "removeAllowedMakers" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "_vaultProxy", - "type": "address" - }, - { - "internalType": "bytes", - "name": "_actionData", - "type": "bytes" - }, - { - "internalType": "bytes", - "name": "_assetData", - "type": "bytes" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "takeOrder" - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "addAllowedMakers(address[])": { - "params": { - "_accountsToAdd": "Accounts to add" - } - }, - "getFundDeployer()": { - "returns": { - "fundDeployer_": "The `FUND_DEPLOYER` variable value" - } - }, - "getIntegrationManager()": { - "returns": { - "integrationManager_": "The `INTEGRATION_MANAGER` variable value" - } - }, - "getOwner()": { - "details": "Ownership is deferred to the owner of the FundDeployer contract", - "returns": { - "owner_": "The owner" - } - }, - "getZeroExV2Exchange()": { - "returns": { - "zeroExV2Exchange_": "The `ZERO_EX_V2_EXCHANGE` variable value" - } - }, - "isAllowedMaker(address)": { - "params": { - "_who": "The account to check" - }, - "returns": { - "isAllowedMaker_": "True if _who is an allowed maker" - } - }, - "parseAssetsForAction(address,bytes4,bytes)": { - "params": { - "_actionData": "Data specific to this action", - "_selector": "The function selector for the callOnIntegration" - }, - "returns": { - "incomingAssets_": "The assets to receive in the call", - "minIncomingAssetAmounts_": "The min asset amounts to receive in the call", - "spendAssetAmounts_": "The max asset amounts to spend in the call", - "spendAssetsHandleType_": "A type that dictates how to handle granting the adapter access to spend assets (`None` by default)", - "spendAssets_": "The assets to spend in the call" - } - }, - "removeAllowedMakers(address[])": { - "params": { - "_accountsToRemove": "Accounts to remove" - } - }, - "takeOrder(address,bytes,bytes)": { - "params": { - "_actionData": "Data specific to this action", - "_assetData": "Parsed spend assets and incoming assets data for this action", - "_vaultProxy": "The VaultProxy of the calling fund" - } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "addAllowedMakers(address[])": { - "notice": "Adds accounts to the list of allowed 0x order makers" - }, - "getFundDeployer()": { - "notice": "Gets the `FUND_DEPLOYER` variable" - }, - "getIntegrationManager()": { - "notice": "Gets the `INTEGRATION_MANAGER` variable" - }, - "getOwner()": { - "notice": "Gets the owner of this contract" - }, - "getZeroExV2Exchange()": { - "notice": "Gets the `ZERO_EX_V2_EXCHANGE` variable value" - }, - "isAllowedMaker(address)": { - "notice": "Checks whether an account is an allowed maker of 0x orders" - }, - "parseAssetsForAction(address,bytes4,bytes)": { - "notice": "Parses the expected assets in a particular action" - }, - "removeAllowedMakers(address[])": { - "notice": "Removes accounts from the list of allowed 0x order makers" - }, - "takeOrder(address,bytes,bytes)": { - "notice": "Take an order on 0x" - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "contracts/release/extensions/integration-manager/integrations/adapters/ZeroExV2Adapter.sol": "ZeroExV2Adapter" - }, - "libraries": {} - }, - "sources": { - "contracts/release/core/fund-deployer/IFundDeployer.sol": { - "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", - "urls": [ - "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", - "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/IIntegrationManager.sol": { - "keccak256": "0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef", - "urls": [ - "bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23", - "dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol": { - "keccak256": "0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1", - "urls": [ - "bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336", - "dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/adapters/ZeroExV2Adapter.sol": { - "keccak256": "0xe1c778cd06853b3c27935717a2e2be34822794642fb97fa9524e6e8814b0a6c4", - "urls": [ - "bzz-raw://6b719ee07eb8502b90dbb609956ea95255f0e3f3b8b2f31eb8f9a3fa55977e69", - "dweb:/ipfs/QmUfEmUGJLGMrmrzbteiGCpzxnThrecJEEGSb53it5VtdU" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol": { - "keccak256": "0x067e49bf0d3c1655ab41a413c65ccf61d4e593308132e1ffc484a0fadfbbaf26", - "urls": [ - "bzz-raw://387f425017e18e89cc1893521101fa99df595314847d0b3d9a1162369f714fcf", - "dweb:/ipfs/Qmco3jCvuWAyfCpBYpGzHrQjiFJG63w1RJKcakoTEbxRQm" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol": { - "keccak256": "0xfd34c7ca8231c6935e25dede32ca2b3121738e624d0fc896f7b895a731edcf88", - "urls": [ - "bzz-raw://d492c061963d36d07718446db191d4c5a340c0d847f6cd209f027bd99f7cb176", - "dweb:/ipfs/QmfCvRZt56ftDdrEh6LepHXFJ4fVtcfpQGvEyY8k4zxG1A" - ], - "license": "GPL-3.0" - }, - "contracts/release/extensions/integration-manager/integrations/utils/actions/ZeroExV2ActionsMixin.sol": { - "keccak256": "0x35897e0e775a94bbfa2e1aa7e4def77d933ffa7c7ae5a32e9d58f85a9fbd580e", - "urls": [ - "bzz-raw://a2c3a03d2c9e682fbbb84301f15c75e13345cf5d74e2ac332298bf297af8ad1c", - "dweb:/ipfs/QmYRREB1X7az2YnMkcjQqfVHwdqVy1oQAT89wwfxMGS4n4" - ], - "license": "GPL-3.0" - }, - "contracts/release/interfaces/IZeroExV2.sol": { - "keccak256": "0x0c07eab651b8ce3000ddcfd1cad14f16b76a8d032a3bdbf25e17dad8b26fa125", - "urls": [ - "bzz-raw://f675908202e1fb7e22905163eead8d9eaefce731a7d288841126a00e2177bcdc", - "dweb:/ipfs/QmRUoZdkEvxaK2Ma6UeGHMR2PdrMkuiujioc59W8rYqKJu" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/AssetHelpers.sol": { - "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", - "urls": [ - "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", - "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/FundDeployerOwnerMixin.sol": { - "keccak256": "0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934", - "urls": [ - "bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927", - "dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM" - ], - "license": "GPL-3.0" - }, - "contracts/release/utils/MathHelpers.sol": { - "keccak256": "0x8aef498ae98bfb40cd1df8c9ed652b4c092fbbe62d5a1fad522c53654523248e", - "urls": [ - "bzz-raw://ed62789f6a8d5ca30a40c591f244b915e4711493a9e4b1b4d40ea2bc97b02a95", - "dweb:/ipfs/QmWyXJ55arURtx9VMkUQokdsjk8tbgM2cC8rENFUMyz5D3" - ], - "license": "GPL-3.0" - }, - "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { - "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", - "urls": [ - "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", - "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", - "urls": [ - "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", - "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", - "urls": [ - "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", - "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { - "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", - "urls": [ - "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", - "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Address.sol": { - "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", - "urls": [ - "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", - "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" - ], - "license": "MIT" - }, - "node_modules/@openzeppelin/contracts/utils/Context.sol": { - "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", - "urls": [ - "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", - "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 178 -} +{ "abi": [ { "type": "constructor", "inputs": [ { "name": "_integrationManager", "type": "address", "internalType": "address" }, { "name": "_exchange", "type": "address", "internalType": "address" }, { "name": "_fundDeployer", "type": "address", "internalType": "address" }, { "name": "_allowedMakers", "type": "address[]", "internalType": "address[]" } ], "stateMutability": "nonpayable" }, { "type": "function", "name": "CLAIM_REWARDS_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "LEND_AND_STAKE_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "LEND_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "REDEEM_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "STAKE_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "TAKE_MULTIPLE_ORDERS_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "TAKE_ORDER_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "UNSTAKE_AND_REDEEM_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "UNSTAKE_SELECTOR", "inputs": [], "outputs": [ { "name": "", "type": "bytes4", "internalType": "bytes4" } ], "stateMutability": "view" }, { "type": "function", "name": "addAllowedMakers", "inputs": [ { "name": "_accountsToAdd", "type": "address[]", "internalType": "address[]" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "getFundDeployer", "inputs": [], "outputs": [ { "name": "fundDeployer_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getIntegrationManager", "inputs": [], "outputs": [ { "name": "integrationManager_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getOwner", "inputs": [], "outputs": [ { "name": "owner_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "getZeroExV2Exchange", "inputs": [], "outputs": [ { "name": "zeroExV2Exchange_", "type": "address", "internalType": "address" } ], "stateMutability": "view" }, { "type": "function", "name": "isAllowedMaker", "inputs": [ { "name": "_who", "type": "address", "internalType": "address" } ], "outputs": [ { "name": "isAllowedMaker_", "type": "bool", "internalType": "bool" } ], "stateMutability": "view" }, { "type": "function", "name": "parseAssetsForAction", "inputs": [ { "name": "", "type": "address", "internalType": "address" }, { "name": "_selector", "type": "bytes4", "internalType": "bytes4" }, { "name": "_actionData", "type": "bytes", "internalType": "bytes" } ], "outputs": [ { "name": "spendAssetsHandleType_", "type": "uint8", "internalType": "enum IIntegrationManager.SpendAssetsHandleType" }, { "name": "spendAssets_", "type": "address[]", "internalType": "address[]" }, { "name": "spendAssetAmounts_", "type": "uint256[]", "internalType": "uint256[]" }, { "name": "incomingAssets_", "type": "address[]", "internalType": "address[]" }, { "name": "minIncomingAssetAmounts_", "type": "uint256[]", "internalType": "uint256[]" } ], "stateMutability": "view" }, { "type": "function", "name": "removeAllowedMakers", "inputs": [ { "name": "_accountsToRemove", "type": "address[]", "internalType": "address[]" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "function", "name": "takeOrder", "inputs": [ { "name": "_vaultProxy", "type": "address", "internalType": "address" }, { "name": "_actionData", "type": "bytes", "internalType": "bytes" }, { "name": "_assetData", "type": "bytes", "internalType": "bytes" } ], "outputs": [], "stateMutability": "nonpayable" }, { "type": "event", "name": "AllowedMakerAdded", "inputs": [ { "name": "account", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false }, { "type": "event", "name": "AllowedMakerRemoved", "inputs": [ { "name": "account", "type": "address", "indexed": true, "internalType": "address" } ], "anonymous": false } ], "bytecode": { "object": "0x60e06040523480156200001157600080fd5b5060405162002eac38038062002eac833981016040819052620000349162000254565b6001600160601b0319606085811b821660805283811b821660a05284901b1660c0528051156200006957620000698162000073565b505050506200040c565b6000815111620000a05760405162461bcd60e51b815260040162000097906200036b565b60405180910390fd5b60005b81518110156200019657620000d2828281518110620000be57fe5b60200260200101516200019a60201b60201c565b15620000f25760405162461bcd60e51b815260040162000097906200037d565b60016000808484815181106200010457fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055508181815181106200015057fe5b60200260200101516001600160a01b03167f2e1c3b07a83c6d2606a67771e6dd5c25722baac28ecf38e8056fb820d88536a860405160405180910390a2600101620000a3565b5050565b6001600160a01b031660009081526020819052604090205460ff1690565b8051620001c581620003f2565b92915050565b600082601f830112620001dd57600080fd5b8151620001f4620001ee82620003b6565b6200038f565b915081818352602084019350602081019050838560208402820111156200021a57600080fd5b60005b838110156200024a5781620002338882620001b8565b84525060209283019291909101906001016200021d565b5050505092915050565b600080600080608085870312156200026b57600080fd5b6000620002798787620001b8565b94505060206200028c87828801620001b8565b93505060406200029f87828801620001b8565b92505060608501516001600160401b03811115620002bc57600080fd5b620002ca87828801620001cb565b91505092959194509250565b6000620002e5602883620003d7565b7f5f5f616464416c6c6f7765644d616b6572733a20456d707479205f6163636f758152671b9d1cd51bd0591960c21b602082015260400192915050565b600062000331602583620003d7565b7f5f5f616464416c6c6f7765644d616b6572733a2056616c756520616c726561648152641e481cd95d60da1b602082015260400192915050565b60208082528101620001c581620002d6565b60208082528101620001c58162000322565b6040518181016001600160401b0381118282101715620003ae57600080fd5b604052919050565b60006001600160401b03821115620003cd57600080fd5b5060209081020190565b90815260200190565b60006001600160a01b038216620001c5565b620003fd81620003e0565b81146200040957600080fd5b50565b60805160601c60a05160601c60c05160601c612a5662000456600039806103925280610ebd5280610f985250806104c052806105565250806102305280610c4a5250612a566000f3fe608060405234801561001057600080fd5b50600436106101165760003560e01c8063893d20e8116100a2578063c54efee511610071578063c54efee5146101be578063c960260d146101e2578063e7c45690146101f5578063f7d882b5146101fd578063ff7ede371461020557610116565b8063893d20e81461019e57806397c0ac87146101a6578063b23228cf146101ae578063c32990a2146101b657610116565b8063257cb1a3116100e9578063257cb1a31461016b5780633ffc15911461017357806340da225d1461017b5780634ce13fb014610183578063863e5ad01461019657610116565b806303e38a2b1461011b578063080456c114610130578063131461c01461014e5780631d566eee14610156575b600080fd5b61012e610129366004611c88565b610225565b005b610138610348565b604051610145919061273c565b60405180910390f35b61013861036c565b61015e610390565b60405161014591906126ea565b6101386103b4565b6101386103d8565b6101386103fc565b61012e610191366004611d9f565b610420565b610138610498565b61015e6104bc565b61015e610554565b610138610578565b61013861059c565b6101d16101cc366004611c21565b6105c0565b60405161014595949392919061274a565b61012e6101f0366004611d9f565b610af7565b61015e610c48565b610138610c6c565b610218610213366004611bdd565b610c90565b604051610145919061272e565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146102765760405162461bcd60e51b815260040161026d90612837565b60405180910390fd5b8482828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250604080516020601f8c018190048102820181019092528a8152606095509193506102ee92508a908a9081908401838280828437600092019190915250610cb292505050565b915091506102fa611774565b61030383610cd3565b9050606061031084610e4d565b9350505050610320828483610e8a565b50505050606061032f82611029565b9250505061033d838261104f565b505050505050505050565b7f8334eb99be0145865eba9889fca2ee920288090caefff4cc776038e20ad9259a81565b7f29fa046e79524c3c5ac4c01df692c35e217802b2b13b21121b76cf0ef02b138c81565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f099f75155f0e997bf83a7993a71d5e7e7540bd386fe1e84643a09ce6b412521981565b7ffa7dd04da627f433da73c4355ead9c75682a67a8fc84d3f6170ef0922f402d2481565b7fb9dfbaccbe5cd2a84fdcf1d15f23ef25d23086f5afbaa99516065ed4a5bbc7a381565b6104286104bc565b6001600160a01b0316336001600160a01b0316146104585760405162461bcd60e51b815260040161026d906127d7565b6104948282808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506111ab92505050565b5050565b7f03e38a2bd7063d45c897edeafc330e71657502dd86434d3c37a489caf116af6981565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561051757600080fd5b505afa15801561052b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061054f9190611c03565b905090565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f68e30677f607df46e87da13e15b637784cfa62374b653f35ab43d10361a2f83081565b7f0e7f692dad5b88fdee426250d6eae91207e56a2e8112b7364579bed1790e5bf481565b600060608080806001600160e01b031988166303e38a2b60e01b146105f75760405162461bcd60e51b815260040161026d906128b7565b6060600061063a89898080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610cb292505050565b91509150610646611774565b61064f83610cd3565b905061065e8160000151610c90565b61067a5760405162461bcd60e51b815260040161026d90612857565b8060a0015182111561069e5760405162461bcd60e51b815260040161026d90612807565b60006106ae8261014001516112b2565b905060006106c08361016001516112b2565b6040805160018082528183019092529192506020808301908036833701905050965081876000815181106106f057fe5b6001600160a01b03929092166020928302919091018201526040805160018082528183019092529182810190803683370190505095506107398360a001518460800151866112b9565b8660008151811061074657fe5b602090810291909101015260e083015115610a645760006107e1610768610390565b6001600160a01b031663db123b1a6040518163ffffffff1660e01b815260040160006040518083038186803b1580156107a057600080fd5b505afa1580156107b4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526107dc9190810190611e8f565b6112b2565b905060006107f88560a001518660e00151886112b9565b9050836001600160a01b0316826001600160a01b031614156108fe5784608001518560e001511061083b5760405162461bcd60e51b815260040161026d906127c7565b6040805160018082528183019092529060208083019080368337019050509a50828b60008151811061086957fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509950858a6000815181106108ad57fe5b6020026020010181815250506108e081896000815181106108ca57fe5b60200260200101516112d990919063ffffffff16565b886000815181106108ed57fe5b602002602001018181525050610a5d565b826001600160a01b0316826001600160a01b03161415610993576040805160018082528183019092529060208083019080368337019050509a50828b60008151811061094657fe5b6001600160a01b03929092166020928302919091018201526040805160018082528183019092529182810190803683370190505099506109868682611301565b8a6000815181106108ed57fe5b6040805160028082526060820183529091602083019080368337019050509a50828b6000815181106109c157fe5b60200260200101906001600160a01b031690816001600160a01b031681525050818b6001815181106109ef57fe5b6001600160a01b0392909216602092830291909101820152604080516002808252606082018352909290919083019080368337019050509950858a600081518110610a3657fe5b602002602001018181525050808a600181518110610a5057fe5b6020026020010181815250505b5050610ae3565b60408051600180825281830190925290602080830190803683370190505098508089600081518110610a9257fe5b6001600160a01b03929092166020928302919091018201526040805160018082528183019092529182810190803683370190505097508388600081518110610ad657fe5b6020026020010181815250505b600299505050505050945094509450945094565b610aff6104bc565b6001600160a01b0316336001600160a01b031614610b2f5760405162461bcd60e51b815260040161026d906127d7565b80610b4c5760405162461bcd60e51b815260040161026d906127b7565b60005b81811015610c4357610b7b838383818110610b6657fe5b90506020020160208101906102139190611bdd565b610b975760405162461bcd60e51b815260040161026d906128a7565b6000806000858585818110610ba857fe5b9050602002016020810190610bbd9190611bdd565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055828282818110610bf157fe5b9050602002016020810190610c069190611bdd565b6001600160a01b03167f20bc817441764d1758bec8956a90bf0ba498c8c4098524577f7c068d3c9f8c3660405160405180910390a2600101610b4f565b505050565b7f000000000000000000000000000000000000000000000000000000000000000090565b7fc29fa9dde84204c2908778afd0613d802d31cf046179b88f6d2b4a4e507ea2d581565b6001600160a01b03811660009081526020819052604090205460ff165b919050565b6060600082806020019051810190610cca9190611ec3565b91509150915091565b610cdb611774565b610ce36117f9565b610ceb611817565b610cf3611835565b610cfc85610e4d565b5092509250925060405180610180016040528084600060048110610d1c57fe5b60200201516001600160a01b0316815260200184600160048110610d3c57fe5b60200201516001600160a01b0316815260200184600260048110610d5c57fe5b60200201516001600160a01b0316815260200184600360048110610d7c57fe5b60200201516001600160a01b0316815260200183600060068110610d9c57fe5b6020020151815260200183600160068110610db357fe5b6020020151815260200183600260068110610dca57fe5b6020020151815260200183600360068110610de157fe5b6020020151815260200183600460068110610df857fe5b6020020151815260200183600560068110610e0f57fe5b6020020151815260200182600060028110610e2657fe5b6020020151815260200182600160028110610e3d57fe5b6020020151905295945050505050565b610e556117f9565b610e5d611817565b610e65611835565b606084806020019051810190610e7b9190611d0d565b93509350935093509193509193565b610eaf610e9b8461016001516112b2565b610ea9856101600151611326565b846113bb565b60e083015115610f815760607f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663db123b1a6040518163ffffffff1660e01b815260040160006040518083038186803b158015610f1457600080fd5b505afa158015610f28573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610f509190810190611e8f565b9050610f7f610f5e826112b2565b610f6783611326565b610f7a8760a001518860e00151886112b9565b6113bb565b505b60405163b4be83d560e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063b4be83d590610fd1908690869086906004016128c7565b608060405180830381600087803b158015610feb57600080fd5b505af1158015610fff573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110239190611f13565b50505050565b6060806060838060200190518101906110429190611de0565b9250925092509193909250565b606081516001600160401b038111801561106857600080fd5b50604051908082528060200260200182016040528015611092578160200160208202803683370190505b50905060005b82518110156111a35760008382815181106110af57fe5b60200260200101519050806001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016110e591906126ea565b60206040518083038186803b1580156110fd57600080fd5b505afa158015611111573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111359190611f31565b83838151811061114157fe5b602002602001018181525050600083838151811061115b57fe5b6020026020010151111561119a5761119a8584848151811061117957fe5b6020026020010151836001600160a01b03166114779092919063ffffffff16565b50600101611098565b505b92915050565b60008151116111cc5760405162461bcd60e51b815260040161026d906127f7565b60005b8151811015610494576111f48282815181106111e757fe5b6020026020010151610c90565b156112115760405162461bcd60e51b815260040161026d90612877565b600160008084848151811061122257fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff02191690831515021790555081818151811061126d57fe5b60200260200101516001600160a01b03167f2e1c3b07a83c6d2606a67771e6dd5c25722baac28ecf38e8056fb820d88536a860405160405180910390a26001016111cf565b6024015190565b60006112cf846112c984866114cd565b90611507565b90505b9392505050565b6000828211156112fb5760405162461bcd60e51b815260040161026d90612817565b50900390565b6000828201838110156112d25760405162461bcd60e51b815260040161026d906127e7565b60208101516000906001600160e01b031916611340610390565b6001600160a01b03166360704108826040518263ffffffff1660e01b815260040161136b919061273c565b60206040518083038186803b15801561138357600080fd5b505afa158015611397573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112d29190611c03565b604051636eb1769f60e11b81526000906001600160a01b0385169063dd62ed3e906113ec90309087906004016126f8565b60206040518083038186803b15801561140457600080fd5b505afa158015611418573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061143c9190611f31565b905081811015611023578015611461576114616001600160a01b038516846000611539565b6110236001600160a01b03851684600019611539565b610c438363a9059cbb60e01b8484604051602401611496929190612713565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526115fc565b6000826114dc575060006111a5565b828202828482816114e957fe5b04146112d25760405162461bcd60e51b815260040161026d90612847565b60008082116115285760405162461bcd60e51b815260040161026d90612827565b81838161153157fe5b049392505050565b8015806115c15750604051636eb1769f60e11b81526001600160a01b0384169063dd62ed3e9061156f90309086906004016126f8565b60206040518083038186803b15801561158757600080fd5b505afa15801561159b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115bf9190611f31565b155b6115dd5760405162461bcd60e51b815260040161026d90612897565b610c438363095ea7b360e01b8484604051602401611496929190612713565b6060611651826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031661168b9092919063ffffffff16565b805190915015610c43578080602001905181019061166f9190611e71565b610c435760405162461bcd60e51b815260040161026d90612887565b60606112cf84846000858561169f85611735565b6116bb5760405162461bcd60e51b815260040161026d90612867565b60006060866001600160a01b031685876040516116d891906126de565b60006040518083038185875af1925050503d8060008114611715576040519150601f19603f3d011682016040523d82523d6000602084013e61171a565b606091505b509150915061172a82828661173b565b979650505050505050565b3b151590565b6060831561174a5750816112d2565b82511561175a5782518084602001fd5b8160405162461bcd60e51b815260040161026d91906127a6565b60405180610180016040528060006001600160a01b0316815260200160006001600160a01b0316815260200160006001600160a01b0316815260200160006001600160a01b0316815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160608152602001606081525090565b60405180608001604052806004906020820280368337509192915050565b6040518060c001604052806006906020820280368337509192915050565b60405180604001604052806002905b60608152602001906001900390816118445790505090565b80356111a581612a1a565b80516111a581612a1a565b600082601f83011261188357600080fd5b60046118966118918261291f565b6128f9565b915081838560208402820111156118ac57600080fd5b60005b838110156118d857816118c28882611867565b84525060209283019291909101906001016118af565b5050505092915050565b60008083601f8401126118f457600080fd5b5081356001600160401b0381111561190b57600080fd5b60208301915083602082028301111561192357600080fd5b9250929050565b600082601f83011261193b57600080fd5b81516119496118918261293c565b9150818183526020840193506020810190508385602084028201111561196e57600080fd5b60005b838110156118d857816119848882611867565b8452506020928301929190910190600101611971565b600082601f8301126119ab57600080fd5b60026119b96118918261291f565b9150818360005b838110156118d857815186016119d68882611b14565b84525060209283019291909101906001016119c0565b600082601f8301126119fd57600080fd5b6006611a0b6118918261291f565b91508183856020840282011115611a2157600080fd5b60005b838110156118d85781611a378882611bd2565b8452506020928301929190910190600101611a24565b600082601f830112611a5e57600080fd5b8151611a6c6118918261293c565b91508181835260208401935060208101905083856020840282011115611a9157600080fd5b60005b838110156118d85781611aa78882611bd2565b8452506020928301929190910190600101611a94565b80516111a581612a2e565b80356111a581612a37565b60008083601f840112611ae557600080fd5b5081356001600160401b03811115611afc57600080fd5b60208301915083600182028301111561192357600080fd5b600082601f830112611b2557600080fd5b8151611b336118918261295c565b91508082526020830160208301858383011115611b4f57600080fd5b611b5a8382846129d7565b50505092915050565b600060808284031215611b7557600080fd5b611b7f60806128f9565b90506000611b8d8484611bd2565b8252506020611b9e84848301611bd2565b6020830152506040611bb284828501611bd2565b6040830152506060611bc684828501611bd2565b60608301525092915050565b80516111a581612a40565b600060208284031215611bef57600080fd5b6000611bfb848461185c565b949350505050565b600060208284031215611c1557600080fd5b6000611bfb8484611867565b60008060008060608587031215611c3757600080fd5b6000611c43878761185c565b9450506020611c5487828801611ac8565b93505060408501356001600160401b03811115611c7057600080fd5b611c7c87828801611ad3565b95989497509550505050565b600080600080600060608688031215611ca057600080fd5b6000611cac888861185c565b95505060208601356001600160401b03811115611cc857600080fd5b611cd488828901611ad3565b945094505060408601356001600160401b03811115611cf257600080fd5b611cfe88828901611ad3565b92509250509295509295909350565b6000806000806101808587031215611d2457600080fd5b6000611d308787611872565b9450506080611d41878288016119ec565b9350506101408501516001600160401b03811115611d5e57600080fd5b611d6a8782880161199a565b9250506101608501516001600160401b03811115611d8757600080fd5b611d9387828801611b14565b91505092959194509250565b60008060208385031215611db257600080fd5b82356001600160401b03811115611dc857600080fd5b611dd4858286016118e2565b92509250509250929050565b600080600060608486031215611df557600080fd5b83516001600160401b03811115611e0b57600080fd5b611e178682870161192a565b93505060208401516001600160401b03811115611e3357600080fd5b611e3f86828701611a4d565b92505060408401516001600160401b03811115611e5b57600080fd5b611e678682870161192a565b9150509250925092565b600060208284031215611e8357600080fd5b6000611bfb8484611abd565b600060208284031215611ea157600080fd5b81516001600160401b03811115611eb757600080fd5b611bfb84828501611b14565b60008060408385031215611ed657600080fd5b82516001600160401b03811115611eec57600080fd5b611ef885828601611b14565b9250506020611f0985828601611bd2565b9150509250929050565b600060808284031215611f2557600080fd5b6000611bfb8484611b63565b600060208284031215611f4357600080fd5b6000611bfb8484611bd2565b6000611f5b8383611f6f565b505060200190565b6000611f5b83836126d5565b611f7881612996565b82525050565b6000611f8982612989565b611f93818561298d565b9350611f9e83612983565b8060005b83811015611fcc578151611fb68882611f4f565b9750611fc183612983565b925050600101611fa2565b509495945050505050565b6000611fe282612989565b611fec818561298d565b9350611ff783612983565b8060005b83811015611fcc57815161200f8882611f63565b975061201a83612983565b925050600101611ffb565b611f78816129a1565b611f78816129a6565b600061204282612989565b61204c818561298d565b935061205c8185602086016129d7565b61206581612a03565b9093019392505050565b600061207a82612989565b6120848185610cad565b93506120948185602086016129d7565b9290920192915050565b611f78816129cc565b60006120b4602c8361298d565b7f72656d6f7665416c6c6f7765644d616b6572733a20456d707479205f6163636f81526b756e7473546f52656d6f766560a01b602082015260400192915050565b600061210260378361298d565b7f7061727365417373657473466f72416374696f6e3a204665652067726561746581527f72207468616e206d616b65724173736574416d6f756e74000000000000000000602082015260400192915050565b600061216160498361298d565b7f6f6e6c7946756e644465706c6f7965724f776e65723a204f6e6c79207468652081527f46756e644465706c6f796572206f776e65722063616e2063616c6c207468697360208201526810333ab731ba34b7b760b91b604082015260600192915050565b60006121d2601b8361298d565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b600061220b60288361298d565b7f5f5f616464416c6c6f7765644d616b6572733a20456d707479205f6163636f758152671b9d1cd51bd0591960c21b602082015260400192915050565b600061225560448361298d565b7f7061727365417373657473466f72416374696f6e3a2054616b6572206173736581527f742066696c6c20616d6f756e742067726561746572207468616e20617661696c60208201526361626c6560e01b604082015260600192915050565b60006122c1601e8361298d565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b60006122fa601a8361298d565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b600061233360328361298d565b7f4f6e6c792074686520496e746567726174696f6e4d616e616765722063616e2081527131b0b636103a3434b990333ab731ba34b7b760711b602082015260400192915050565b600061238760218361298d565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b60006123ca60308361298d565b7f7061727365417373657473466f72416374696f6e3a204f72646572206d616b6581526f1c881a5cc81b9bdd08185b1b1bddd95960821b602082015260400192915050565b600061241c601d8361298d565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000815260200192915050565b600061245560258361298d565b7f5f5f616464416c6c6f7765644d616b6572733a2056616c756520616c726561648152641e481cd95d60da1b602082015260400192915050565b600061249c602a8361298d565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e8152691bdd081cdd58d8d9595960b21b602082015260400192915050565b60006124e860368361298d565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f81527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b602082015260400192915050565b600061254060348361298d565b7f72656d6f7665416c6c6f7765644d616b6572733a204163636f756e74206973208152733737ba1030b71030b63637bbb2b21036b0b5b2b960611b602082015260400192915050565b600061259660278361298d565b7f7061727365417373657473466f72416374696f6e3a205f73656c6563746f72208152661a5b9d985b1a5960ca1b602082015260400192915050565b80516000906101808401906125e78582611f6f565b5060208301516125fa6020860182611f6f565b50604083015161260d6040860182611f6f565b5060608301516126206060860182611f6f565b50608083015161263360808601826126d5565b5060a083015161264660a08601826126d5565b5060c083015161265960c08601826126d5565b5060e083015161266c60e08601826126d5565b506101008301516126816101008601826126d5565b506101208301516126966101208601826126d5565b506101408301518482036101408601526126b08282612037565b9150506101608301518482036101608601526126cc8282612037565b95945050505050565b611f78816129c9565b60006112d2828461206f565b602081016111a58284611f6f565b604081016127068285611f6f565b6112d26020830184611f6f565b604081016127218285611f6f565b6112d260208301846126d5565b602081016111a58284612025565b602081016111a5828461202e565b60a08101612758828861209e565b818103602083015261276a8187611f7e565b9050818103604083015261277e8186611fd7565b905081810360608301526127928185611f7e565b9050818103608083015261172a8184611fd7565b602080825281016112d28184612037565b602080825281016111a5816120a7565b602080825281016111a5816120f5565b602080825281016111a581612154565b602080825281016111a5816121c5565b602080825281016111a5816121fe565b602080825281016111a581612248565b602080825281016111a5816122b4565b602080825281016111a5816122ed565b602080825281016111a581612326565b602080825281016111a58161237a565b602080825281016111a5816123bd565b602080825281016111a58161240f565b602080825281016111a581612448565b602080825281016111a58161248f565b602080825281016111a5816124db565b602080825281016111a581612533565b602080825281016111a581612589565b606080825281016128d881866125d2565b90506128e760208301856126d5565b81810360408301526126cc8184612037565b6040518181016001600160401b038111828210171561291757600080fd5b604052919050565b60006001600160401b0382111561293557600080fd5b5060200290565b60006001600160401b0382111561295257600080fd5b5060209081020190565b60006001600160401b0382111561297257600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b60006111a5826129bd565b151590565b6001600160e01b03191690565b80610cad81612a0d565b6001600160a01b031690565b90565b60006111a5826129b3565b60005b838110156129f25781810151838201526020016129da565b838111156110235750506000910152565b601f01601f191690565b60038110612a1757fe5b50565b612a2381612996565b8114612a1757600080fd5b612a23816129a1565b612a23816129a6565b612a23816129c956fea164736f6c634300060c000a", "sourceMap": "592:11018:178:-:0;;;1037:406;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;1938:41:179;;;;;;;;864:29:358;;;;;;;808:31:199;;;;;;1351:21:178;;:25;1347:90:::3;;1392:34;1411:14:::0;1392:18:::3;:34::i;:::-;1037:406:::0;;;;592:11018;;8450:444;8561:1;8537:14;:21;:25;8529:78;;;;-1:-1:-1;;;8529:78:178;;;;;;;:::i;:::-;;;;;;;;;8623:9;8618:270;8638:14;:21;8634:1;:25;8618:270;;;8689:33;8704:14;8719:1;8704:17;;;;;;;;;;;;;;8689:14;;;:33;;:::i;:::-;8688:34;8680:84;;;;-1:-1:-1;;;8680:84:178;;;;;;;:::i;:::-;8817:4;8779:16;:35;8796:14;8811:1;8796:17;;;;;;;;;;;;;;-1:-1:-1;;;;;8779:35:178;-1:-1:-1;;;;;8779:35:178;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;8859:14;8874:1;8859:17;;;;;;;;;;;;;;-1:-1:-1;;;;;8841:36:178;;;;;;;;;;;8661:3;;8618:270;;;;8450:444;:::o;11481:127::-;-1:-1:-1;;;;;11579:22:178;11540:20;11579:22;;;;;;;;;;;;;;11481:127::o;5:134:-1:-;83:13;;101:33;83:13;101:33;:::i;:::-;68:71;;;;:::o;164:722::-;;292:3;285:4;277:6;273:17;269:27;259:2;;310:1;307;300:12;259:2;340:6;334:13;362:80;377:64;434:6;377:64;:::i;:::-;362:80;:::i;:::-;353:89;;459:5;484:6;477:5;470:21;514:4;506:6;502:17;492:27;;536:4;531:3;527:14;520:21;;589:6;636:3;628:4;620:6;616:17;611:3;607:27;604:36;601:2;;;653:1;650;643:12;601:2;678:1;663:217;688:6;685:1;682:13;663:217;;;746:3;768:48;812:3;800:10;768:48;:::i;:::-;756:61;;-1:-1;840:4;831:14;;;;859;;;;;710:1;703:9;663:217;;;667:14;252:634;;;;;;;:::o;894:801::-;;;;;1085:3;1073:9;1064:7;1060:23;1056:33;1053:2;;;1102:1;1099;1092:12;1053:2;1137:1;1154:64;1210:7;1190:9;1154:64;:::i;:::-;1144:74;;1116:108;1255:2;1273:64;1329:7;1320:6;1309:9;1305:22;1273:64;:::i;:::-;1263:74;;1234:109;1374:2;1392:64;1448:7;1439:6;1428:9;1424:22;1392:64;:::i;:::-;1382:74;;1353:109;1514:2;1503:9;1499:18;1493:25;-1:-1;;;;;1530:6;1527:30;1524:2;;;1570:1;1567;1560:12;1524:2;1590:89;1671:7;1662:6;1651:9;1647:22;1590:89;:::i;:::-;1580:99;;1472:213;1047:648;;;;;;;:::o;1703:377::-;;1863:67;1927:2;1922:3;1863:67;:::i;:::-;1963:34;1943:55;;-1:-1;;;2027:2;2018:12;;2011:32;2071:2;2062:12;;1849:231;-1:-1;;1849:231::o;2089:374::-;;2249:67;2313:2;2308:3;2249:67;:::i;:::-;2349:34;2329:55;;-1:-1;;;2413:2;2404:12;;2397:29;2454:2;2445:12;;2235:228;-1:-1;;2235:228::o;2471:416::-;2671:2;2685:47;;;2656:18;;2746:131;2656:18;2746:131;:::i;2894:416::-;3094:2;3108:47;;;3079:18;;3169:131;3079:18;3169:131;:::i;3317:256::-;3379:2;3373:9;3405:17;;;-1:-1;;;;;3465:34;;3501:22;;;3462:62;3459:2;;;3537:1;3534;3527:12;3459:2;3553;3546:22;3357:216;;-1:-1;3357:216::o;3580:304::-;;-1:-1;;;;;3731:6;3728:30;3725:2;;;3771:1;3768;3761:12;3725:2;-1:-1;3806:4;3794:17;;;3859:15;;3662:222::o;3892:163::-;3995:19;;;4044:4;4035:14;;3988:67::o;4063:91::-;;-1:-1;;;;;4223:54;;4125:24;4206:76::o;4289:117::-;4358:24;4376:5;4358:24;:::i;:::-;4351:5;4348:35;4338:2;;4397:1;4394;4387:12;4338:2;4332:74;:::o;:::-;592:11018:178;;;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x608060405234801561001057600080fd5b50600436106101165760003560e01c8063893d20e8116100a2578063c54efee511610071578063c54efee5146101be578063c960260d146101e2578063e7c45690146101f5578063f7d882b5146101fd578063ff7ede371461020557610116565b8063893d20e81461019e57806397c0ac87146101a6578063b23228cf146101ae578063c32990a2146101b657610116565b8063257cb1a3116100e9578063257cb1a31461016b5780633ffc15911461017357806340da225d1461017b5780634ce13fb014610183578063863e5ad01461019657610116565b806303e38a2b1461011b578063080456c114610130578063131461c01461014e5780631d566eee14610156575b600080fd5b61012e610129366004611c88565b610225565b005b610138610348565b604051610145919061273c565b60405180910390f35b61013861036c565b61015e610390565b60405161014591906126ea565b6101386103b4565b6101386103d8565b6101386103fc565b61012e610191366004611d9f565b610420565b610138610498565b61015e6104bc565b61015e610554565b610138610578565b61013861059c565b6101d16101cc366004611c21565b6105c0565b60405161014595949392919061274a565b61012e6101f0366004611d9f565b610af7565b61015e610c48565b610138610c6c565b610218610213366004611bdd565b610c90565b604051610145919061272e565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146102765760405162461bcd60e51b815260040161026d90612837565b60405180910390fd5b8482828080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920182905250604080516020601f8c018190048102820181019092528a8152606095509193506102ee92508a908a9081908401838280828437600092019190915250610cb292505050565b915091506102fa611774565b61030383610cd3565b9050606061031084610e4d565b9350505050610320828483610e8a565b50505050606061032f82611029565b9250505061033d838261104f565b505050505050505050565b7f8334eb99be0145865eba9889fca2ee920288090caefff4cc776038e20ad9259a81565b7f29fa046e79524c3c5ac4c01df692c35e217802b2b13b21121b76cf0ef02b138c81565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f099f75155f0e997bf83a7993a71d5e7e7540bd386fe1e84643a09ce6b412521981565b7ffa7dd04da627f433da73c4355ead9c75682a67a8fc84d3f6170ef0922f402d2481565b7fb9dfbaccbe5cd2a84fdcf1d15f23ef25d23086f5afbaa99516065ed4a5bbc7a381565b6104286104bc565b6001600160a01b0316336001600160a01b0316146104585760405162461bcd60e51b815260040161026d906127d7565b6104948282808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506111ab92505050565b5050565b7f03e38a2bd7063d45c897edeafc330e71657502dd86434d3c37a489caf116af6981565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663893d20e86040518163ffffffff1660e01b815260040160206040518083038186803b15801561051757600080fd5b505afa15801561052b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061054f9190611c03565b905090565b7f000000000000000000000000000000000000000000000000000000000000000090565b7f68e30677f607df46e87da13e15b637784cfa62374b653f35ab43d10361a2f83081565b7f0e7f692dad5b88fdee426250d6eae91207e56a2e8112b7364579bed1790e5bf481565b600060608080806001600160e01b031988166303e38a2b60e01b146105f75760405162461bcd60e51b815260040161026d906128b7565b6060600061063a89898080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610cb292505050565b91509150610646611774565b61064f83610cd3565b905061065e8160000151610c90565b61067a5760405162461bcd60e51b815260040161026d90612857565b8060a0015182111561069e5760405162461bcd60e51b815260040161026d90612807565b60006106ae8261014001516112b2565b905060006106c08361016001516112b2565b6040805160018082528183019092529192506020808301908036833701905050965081876000815181106106f057fe5b6001600160a01b03929092166020928302919091018201526040805160018082528183019092529182810190803683370190505095506107398360a001518460800151866112b9565b8660008151811061074657fe5b602090810291909101015260e083015115610a645760006107e1610768610390565b6001600160a01b031663db123b1a6040518163ffffffff1660e01b815260040160006040518083038186803b1580156107a057600080fd5b505afa1580156107b4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526107dc9190810190611e8f565b6112b2565b905060006107f88560a001518660e00151886112b9565b9050836001600160a01b0316826001600160a01b031614156108fe5784608001518560e001511061083b5760405162461bcd60e51b815260040161026d906127c7565b6040805160018082528183019092529060208083019080368337019050509a50828b60008151811061086957fe5b6001600160a01b0392909216602092830291909101820152604080516001808252818301909252918281019080368337019050509950858a6000815181106108ad57fe5b6020026020010181815250506108e081896000815181106108ca57fe5b60200260200101516112d990919063ffffffff16565b886000815181106108ed57fe5b602002602001018181525050610a5d565b826001600160a01b0316826001600160a01b03161415610993576040805160018082528183019092529060208083019080368337019050509a50828b60008151811061094657fe5b6001600160a01b03929092166020928302919091018201526040805160018082528183019092529182810190803683370190505099506109868682611301565b8a6000815181106108ed57fe5b6040805160028082526060820183529091602083019080368337019050509a50828b6000815181106109c157fe5b60200260200101906001600160a01b031690816001600160a01b031681525050818b6001815181106109ef57fe5b6001600160a01b0392909216602092830291909101820152604080516002808252606082018352909290919083019080368337019050509950858a600081518110610a3657fe5b602002602001018181525050808a600181518110610a5057fe5b6020026020010181815250505b5050610ae3565b60408051600180825281830190925290602080830190803683370190505098508089600081518110610a9257fe5b6001600160a01b03929092166020928302919091018201526040805160018082528183019092529182810190803683370190505097508388600081518110610ad657fe5b6020026020010181815250505b600299505050505050945094509450945094565b610aff6104bc565b6001600160a01b0316336001600160a01b031614610b2f5760405162461bcd60e51b815260040161026d906127d7565b80610b4c5760405162461bcd60e51b815260040161026d906127b7565b60005b81811015610c4357610b7b838383818110610b6657fe5b90506020020160208101906102139190611bdd565b610b975760405162461bcd60e51b815260040161026d906128a7565b6000806000858585818110610ba857fe5b9050602002016020810190610bbd9190611bdd565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055828282818110610bf157fe5b9050602002016020810190610c069190611bdd565b6001600160a01b03167f20bc817441764d1758bec8956a90bf0ba498c8c4098524577f7c068d3c9f8c3660405160405180910390a2600101610b4f565b505050565b7f000000000000000000000000000000000000000000000000000000000000000090565b7fc29fa9dde84204c2908778afd0613d802d31cf046179b88f6d2b4a4e507ea2d581565b6001600160a01b03811660009081526020819052604090205460ff165b919050565b6060600082806020019051810190610cca9190611ec3565b91509150915091565b610cdb611774565b610ce36117f9565b610ceb611817565b610cf3611835565b610cfc85610e4d565b5092509250925060405180610180016040528084600060048110610d1c57fe5b60200201516001600160a01b0316815260200184600160048110610d3c57fe5b60200201516001600160a01b0316815260200184600260048110610d5c57fe5b60200201516001600160a01b0316815260200184600360048110610d7c57fe5b60200201516001600160a01b0316815260200183600060068110610d9c57fe5b6020020151815260200183600160068110610db357fe5b6020020151815260200183600260068110610dca57fe5b6020020151815260200183600360068110610de157fe5b6020020151815260200183600460068110610df857fe5b6020020151815260200183600560068110610e0f57fe5b6020020151815260200182600060028110610e2657fe5b6020020151815260200182600160028110610e3d57fe5b6020020151905295945050505050565b610e556117f9565b610e5d611817565b610e65611835565b606084806020019051810190610e7b9190611d0d565b93509350935093509193509193565b610eaf610e9b8461016001516112b2565b610ea9856101600151611326565b846113bb565b60e083015115610f815760607f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663db123b1a6040518163ffffffff1660e01b815260040160006040518083038186803b158015610f1457600080fd5b505afa158015610f28573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610f509190810190611e8f565b9050610f7f610f5e826112b2565b610f6783611326565b610f7a8760a001518860e00151886112b9565b6113bb565b505b60405163b4be83d560e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063b4be83d590610fd1908690869086906004016128c7565b608060405180830381600087803b158015610feb57600080fd5b505af1158015610fff573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110239190611f13565b50505050565b6060806060838060200190518101906110429190611de0565b9250925092509193909250565b606081516001600160401b038111801561106857600080fd5b50604051908082528060200260200182016040528015611092578160200160208202803683370190505b50905060005b82518110156111a35760008382815181106110af57fe5b60200260200101519050806001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016110e591906126ea565b60206040518083038186803b1580156110fd57600080fd5b505afa158015611111573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111359190611f31565b83838151811061114157fe5b602002602001018181525050600083838151811061115b57fe5b6020026020010151111561119a5761119a8584848151811061117957fe5b6020026020010151836001600160a01b03166114779092919063ffffffff16565b50600101611098565b505b92915050565b60008151116111cc5760405162461bcd60e51b815260040161026d906127f7565b60005b8151811015610494576111f48282815181106111e757fe5b6020026020010151610c90565b156112115760405162461bcd60e51b815260040161026d90612877565b600160008084848151811061122257fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff02191690831515021790555081818151811061126d57fe5b60200260200101516001600160a01b03167f2e1c3b07a83c6d2606a67771e6dd5c25722baac28ecf38e8056fb820d88536a860405160405180910390a26001016111cf565b6024015190565b60006112cf846112c984866114cd565b90611507565b90505b9392505050565b6000828211156112fb5760405162461bcd60e51b815260040161026d90612817565b50900390565b6000828201838110156112d25760405162461bcd60e51b815260040161026d906127e7565b60208101516000906001600160e01b031916611340610390565b6001600160a01b03166360704108826040518263ffffffff1660e01b815260040161136b919061273c565b60206040518083038186803b15801561138357600080fd5b505afa158015611397573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112d29190611c03565b604051636eb1769f60e11b81526000906001600160a01b0385169063dd62ed3e906113ec90309087906004016126f8565b60206040518083038186803b15801561140457600080fd5b505afa158015611418573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061143c9190611f31565b905081811015611023578015611461576114616001600160a01b038516846000611539565b6110236001600160a01b03851684600019611539565b610c438363a9059cbb60e01b8484604051602401611496929190612713565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526115fc565b6000826114dc575060006111a5565b828202828482816114e957fe5b04146112d25760405162461bcd60e51b815260040161026d90612847565b60008082116115285760405162461bcd60e51b815260040161026d90612827565b81838161153157fe5b049392505050565b8015806115c15750604051636eb1769f60e11b81526001600160a01b0384169063dd62ed3e9061156f90309086906004016126f8565b60206040518083038186803b15801561158757600080fd5b505afa15801561159b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115bf9190611f31565b155b6115dd5760405162461bcd60e51b815260040161026d90612897565b610c438363095ea7b360e01b8484604051602401611496929190612713565b6060611651826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031661168b9092919063ffffffff16565b805190915015610c43578080602001905181019061166f9190611e71565b610c435760405162461bcd60e51b815260040161026d90612887565b60606112cf84846000858561169f85611735565b6116bb5760405162461bcd60e51b815260040161026d90612867565b60006060866001600160a01b031685876040516116d891906126de565b60006040518083038185875af1925050503d8060008114611715576040519150601f19603f3d011682016040523d82523d6000602084013e61171a565b606091505b509150915061172a82828661173b565b979650505050505050565b3b151590565b6060831561174a5750816112d2565b82511561175a5782518084602001fd5b8160405162461bcd60e51b815260040161026d91906127a6565b60405180610180016040528060006001600160a01b0316815260200160006001600160a01b0316815260200160006001600160a01b0316815260200160006001600160a01b0316815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160608152602001606081525090565b60405180608001604052806004906020820280368337509192915050565b6040518060c001604052806006906020820280368337509192915050565b60405180604001604052806002905b60608152602001906001900390816118445790505090565b80356111a581612a1a565b80516111a581612a1a565b600082601f83011261188357600080fd5b60046118966118918261291f565b6128f9565b915081838560208402820111156118ac57600080fd5b60005b838110156118d857816118c28882611867565b84525060209283019291909101906001016118af565b5050505092915050565b60008083601f8401126118f457600080fd5b5081356001600160401b0381111561190b57600080fd5b60208301915083602082028301111561192357600080fd5b9250929050565b600082601f83011261193b57600080fd5b81516119496118918261293c565b9150818183526020840193506020810190508385602084028201111561196e57600080fd5b60005b838110156118d857816119848882611867565b8452506020928301929190910190600101611971565b600082601f8301126119ab57600080fd5b60026119b96118918261291f565b9150818360005b838110156118d857815186016119d68882611b14565b84525060209283019291909101906001016119c0565b600082601f8301126119fd57600080fd5b6006611a0b6118918261291f565b91508183856020840282011115611a2157600080fd5b60005b838110156118d85781611a378882611bd2565b8452506020928301929190910190600101611a24565b600082601f830112611a5e57600080fd5b8151611a6c6118918261293c565b91508181835260208401935060208101905083856020840282011115611a9157600080fd5b60005b838110156118d85781611aa78882611bd2565b8452506020928301929190910190600101611a94565b80516111a581612a2e565b80356111a581612a37565b60008083601f840112611ae557600080fd5b5081356001600160401b03811115611afc57600080fd5b60208301915083600182028301111561192357600080fd5b600082601f830112611b2557600080fd5b8151611b336118918261295c565b91508082526020830160208301858383011115611b4f57600080fd5b611b5a8382846129d7565b50505092915050565b600060808284031215611b7557600080fd5b611b7f60806128f9565b90506000611b8d8484611bd2565b8252506020611b9e84848301611bd2565b6020830152506040611bb284828501611bd2565b6040830152506060611bc684828501611bd2565b60608301525092915050565b80516111a581612a40565b600060208284031215611bef57600080fd5b6000611bfb848461185c565b949350505050565b600060208284031215611c1557600080fd5b6000611bfb8484611867565b60008060008060608587031215611c3757600080fd5b6000611c43878761185c565b9450506020611c5487828801611ac8565b93505060408501356001600160401b03811115611c7057600080fd5b611c7c87828801611ad3565b95989497509550505050565b600080600080600060608688031215611ca057600080fd5b6000611cac888861185c565b95505060208601356001600160401b03811115611cc857600080fd5b611cd488828901611ad3565b945094505060408601356001600160401b03811115611cf257600080fd5b611cfe88828901611ad3565b92509250509295509295909350565b6000806000806101808587031215611d2457600080fd5b6000611d308787611872565b9450506080611d41878288016119ec565b9350506101408501516001600160401b03811115611d5e57600080fd5b611d6a8782880161199a565b9250506101608501516001600160401b03811115611d8757600080fd5b611d9387828801611b14565b91505092959194509250565b60008060208385031215611db257600080fd5b82356001600160401b03811115611dc857600080fd5b611dd4858286016118e2565b92509250509250929050565b600080600060608486031215611df557600080fd5b83516001600160401b03811115611e0b57600080fd5b611e178682870161192a565b93505060208401516001600160401b03811115611e3357600080fd5b611e3f86828701611a4d565b92505060408401516001600160401b03811115611e5b57600080fd5b611e678682870161192a565b9150509250925092565b600060208284031215611e8357600080fd5b6000611bfb8484611abd565b600060208284031215611ea157600080fd5b81516001600160401b03811115611eb757600080fd5b611bfb84828501611b14565b60008060408385031215611ed657600080fd5b82516001600160401b03811115611eec57600080fd5b611ef885828601611b14565b9250506020611f0985828601611bd2565b9150509250929050565b600060808284031215611f2557600080fd5b6000611bfb8484611b63565b600060208284031215611f4357600080fd5b6000611bfb8484611bd2565b6000611f5b8383611f6f565b505060200190565b6000611f5b83836126d5565b611f7881612996565b82525050565b6000611f8982612989565b611f93818561298d565b9350611f9e83612983565b8060005b83811015611fcc578151611fb68882611f4f565b9750611fc183612983565b925050600101611fa2565b509495945050505050565b6000611fe282612989565b611fec818561298d565b9350611ff783612983565b8060005b83811015611fcc57815161200f8882611f63565b975061201a83612983565b925050600101611ffb565b611f78816129a1565b611f78816129a6565b600061204282612989565b61204c818561298d565b935061205c8185602086016129d7565b61206581612a03565b9093019392505050565b600061207a82612989565b6120848185610cad565b93506120948185602086016129d7565b9290920192915050565b611f78816129cc565b60006120b4602c8361298d565b7f72656d6f7665416c6c6f7765644d616b6572733a20456d707479205f6163636f81526b756e7473546f52656d6f766560a01b602082015260400192915050565b600061210260378361298d565b7f7061727365417373657473466f72416374696f6e3a204665652067726561746581527f72207468616e206d616b65724173736574416d6f756e74000000000000000000602082015260400192915050565b600061216160498361298d565b7f6f6e6c7946756e644465706c6f7965724f776e65723a204f6e6c79207468652081527f46756e644465706c6f796572206f776e65722063616e2063616c6c207468697360208201526810333ab731ba34b7b760b91b604082015260600192915050565b60006121d2601b8361298d565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b600061220b60288361298d565b7f5f5f616464416c6c6f7765644d616b6572733a20456d707479205f6163636f758152671b9d1cd51bd0591960c21b602082015260400192915050565b600061225560448361298d565b7f7061727365417373657473466f72416374696f6e3a2054616b6572206173736581527f742066696c6c20616d6f756e742067726561746572207468616e20617661696c60208201526361626c6560e01b604082015260600192915050565b60006122c1601e8361298d565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b60006122fa601a8361298d565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b600061233360328361298d565b7f4f6e6c792074686520496e746567726174696f6e4d616e616765722063616e2081527131b0b636103a3434b990333ab731ba34b7b760711b602082015260400192915050565b600061238760218361298d565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b60006123ca60308361298d565b7f7061727365417373657473466f72416374696f6e3a204f72646572206d616b6581526f1c881a5cc81b9bdd08185b1b1bddd95960821b602082015260400192915050565b600061241c601d8361298d565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000815260200192915050565b600061245560258361298d565b7f5f5f616464416c6c6f7765644d616b6572733a2056616c756520616c726561648152641e481cd95d60da1b602082015260400192915050565b600061249c602a8361298d565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e8152691bdd081cdd58d8d9595960b21b602082015260400192915050565b60006124e860368361298d565b7f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f81527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b602082015260400192915050565b600061254060348361298d565b7f72656d6f7665416c6c6f7765644d616b6572733a204163636f756e74206973208152733737ba1030b71030b63637bbb2b21036b0b5b2b960611b602082015260400192915050565b600061259660278361298d565b7f7061727365417373657473466f72416374696f6e3a205f73656c6563746f72208152661a5b9d985b1a5960ca1b602082015260400192915050565b80516000906101808401906125e78582611f6f565b5060208301516125fa6020860182611f6f565b50604083015161260d6040860182611f6f565b5060608301516126206060860182611f6f565b50608083015161263360808601826126d5565b5060a083015161264660a08601826126d5565b5060c083015161265960c08601826126d5565b5060e083015161266c60e08601826126d5565b506101008301516126816101008601826126d5565b506101208301516126966101208601826126d5565b506101408301518482036101408601526126b08282612037565b9150506101608301518482036101608601526126cc8282612037565b95945050505050565b611f78816129c9565b60006112d2828461206f565b602081016111a58284611f6f565b604081016127068285611f6f565b6112d26020830184611f6f565b604081016127218285611f6f565b6112d260208301846126d5565b602081016111a58284612025565b602081016111a5828461202e565b60a08101612758828861209e565b818103602083015261276a8187611f7e565b9050818103604083015261277e8186611fd7565b905081810360608301526127928185611f7e565b9050818103608083015261172a8184611fd7565b602080825281016112d28184612037565b602080825281016111a5816120a7565b602080825281016111a5816120f5565b602080825281016111a581612154565b602080825281016111a5816121c5565b602080825281016111a5816121fe565b602080825281016111a581612248565b602080825281016111a5816122b4565b602080825281016111a5816122ed565b602080825281016111a581612326565b602080825281016111a58161237a565b602080825281016111a5816123bd565b602080825281016111a58161240f565b602080825281016111a581612448565b602080825281016111a58161248f565b602080825281016111a5816124db565b602080825281016111a581612533565b602080825281016111a581612589565b606080825281016128d881866125d2565b90506128e760208301856126d5565b81810360408301526126cc8184612037565b6040518181016001600160401b038111828210171561291757600080fd5b604052919050565b60006001600160401b0382111561293557600080fd5b5060200290565b60006001600160401b0382111561295257600080fd5b5060209081020190565b60006001600160401b0382111561297257600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b60006111a5826129bd565b151590565b6001600160e01b03191690565b80610cad81612a0d565b6001600160a01b031690565b90565b60006111a5826129b3565b60005b838110156129f25781810151838201526020016129da565b838111156110235750506000910152565b601f01601f191690565b60038110612a1757fe5b50565b612a2381612996565b8114612a1757600080fd5b612a23816129a1565b612a23816129a6565b612a23816129c956fea164736f6c634300060c000a", "sourceMap": "592:11018:178:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1717:657;;;;;;:::i;:::-;;:::i;:::-;;1490:119:180;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1373:111;;;:::i;2983:122:199:-;;;:::i;:::-;;;;;;;:::i;832:85:180:-;;;:::i;1034:87::-;;;:::i;1240:110::-;;;:::i;7528:143:178:-;;;;;;:::i;:::-;;:::i;706:104:180:-;;;:::i;1064:120:358:-;;;:::i;1378:108::-;;;:::i;1127:91:180:-;;;:::i;577:123::-;;;:::i;3115:3650:178:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;:::i;7803:575::-;;;;;;:::i;:::-;;:::i;2637:128:179:-;;;:::i;923:89:180:-;;;:::i;11481:127:178:-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1717:657::-;1747:10:179;-1:-1:-1;;;;;1761:19:179;1747:33;;1726:130;;;;-1:-1:-1;;;1726:130:179;;;;;;;:::i;:::-;;;;;;;;;1938:11:178::1;1951:10;;987:278:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;-1:-1:-1;2081:38:178::2;::::0;;::::2;987:278:179::1;2081:38:178::0;::::2;::::0;;::::2;::::0;::::2;::::0;;;;;;;;;;1991:35:::2;::::0;-1:-1:-1;987:278:179;;-1:-1:-1;2081:38:178::2;::::0;-1:-1:-1;2107:11:178;;;;;;2081:38;::::2;2107:11:::0;;;;2081:38;::::2;;::::0;::::2;::::0;;;;-1:-1:-1;2081:25:178::2;::::0;-1:-1:-1;;;2081:38:178:i:2;:::-;1977:142;;;;2130:28;;:::i;:::-;2161:46;2184:22;2161;:46::i;:::-;2130:77;;2224:22;2250:47;2274:22;2250:23;:47::i;:::-;2217:80;;;;;2308:59;2328:5;2335:20;2357:9;2308:19;:59::i;:::-;1114:1:179;;;;1131:31:::1;1166:29;1184:10;1166:17;:29::i;:::-;1126:69;;;;1206:52;1230:11;1243:14;1206:23;:52::i;:::-;;1866:1;;;1717:657:178::0;;;;;:::o;1490:119:180:-;1558:50;1490:119;:::o;1373:111::-;1437:46;1373:111;:::o;2983:122:199:-;3079:19;2983:122;:::o;832:85:180:-;878:38;832:85;:::o;1034:87::-;1081:39;1034:87;:::o;1240:110::-;1303:46;1240:110;:::o;7528:143:178:-;679:10:358;:8;:10::i;:::-;-1:-1:-1;;;;;665:24:358;:10;-1:-1:-1;;;;;665:24:358;;644:144;;;;-1:-1:-1;;;644:144:358;;;;;;;:::i;:::-;7630:34:178::1;7649:14;;7630:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;::::0;;;;-1:-1:-1;7630:18:178::1;::::0;-1:-1:-1;;;7630:34:178:i:1;:::-;7528:143:::0;;:::o;706:104:180:-;766:43;706:104;:::o;1064:120:358:-;1105:14;1152:13;-1:-1:-1;;;;;1138:37:358;;:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1131:46;;1064:120;:::o;1378:108::-;1466:13;1378:108;:::o;1127:91:180:-;1176:41;1127:91;:::o;577:123::-;647:52;577:123;:::o;3115:3650:178:-;3307:64;3385:29;;;;-1:-1:-1;;;;;;3597:32:178;;-1:-1:-1;;;3597:32:178;3589:84;;;;-1:-1:-1;;;3589:84:178;;;;;;;:::i;:::-;3698:35;3747:28;3788:38;3814:11;;3788:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3788:25:178;;-1:-1:-1;;;3788:38:178:i;:::-;3684:142;;;;3836:28;;:::i;:::-;3867:46;3890:22;3867;:46::i;:::-;3836:77;;3945:34;3960:5;:18;;;3945:14;:34::i;:::-;3924:129;;;;-1:-1:-1;;;3924:129:178;;;;;;;:::i;:::-;4108:5;:22;;;4084:20;:46;;4063:161;;;;-1:-1:-1;;;4063:161:178;;;;;;;:::i;:::-;4235:18;4256:39;4274:5;:20;;;4256:17;:39::i;:::-;4235:60;;4305:18;4326:39;4344:5;:20;;;4326:17;:39::i;:::-;4428:16;;;4442:1;4428:16;;;;;;;;;4305:60;;-1:-1:-1;4428:16:178;;;;;;;;;;;-1:-1:-1;4428:16:178;4410:34;;4475:10;4454:15;4470:1;4454:18;;;;;;;;-1:-1:-1;;;;;4454:31:178;;;;:18;;;;;;;;;;:31;4522:16;;;4536:1;4522:16;;;;;;;;;;;;;;4454:18;4522:16;;;;;-1:-1:-1;4522:16:178;4495:43;;4578:138;4614:5;:22;;;4650:5;:22;;;4686:20;4578:22;:138::i;:::-;4548:24;4573:1;4548:27;;;;;;;;;;;;;;;;;:168;4731:14;;;;:18;4727:1815;;4765:21;4789:98;4834:21;:19;:21::i;:::-;-1:-1:-1;;;;;4824:47:178;;:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4824:49:178;;;;;;;;;;;;:::i;:::-;4789:17;:98::i;:::-;4765:122;;4901:26;4930:146;4970:5;:22;;;5010:5;:14;;;5042:20;4930:22;:146::i;:::-;4901:175;;5160:10;-1:-1:-1;;;;;5143:27:178;:13;-1:-1:-1;;;;;5143:27:178;;5139:1179;;;5236:5;:22;;;5219:5;:14;;;:39;5190:165;;;;-1:-1:-1;;;5190:165:178;;;;;;;:::i;:::-;5389:16;;;5403:1;5389:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5389:16:178;5374:31;;5441:10;5423:12;5436:1;5423:15;;;;;;;;-1:-1:-1;;;;;5423:28:178;;;;:15;;;;;;;;;;:28;5491:16;;;5505:1;5491:16;;;;;;;;;;;;;;5423:15;5491:16;;;;;-1:-1:-1;5491:16:178;5470:37;;5549:20;5525:18;5544:1;5525:21;;;;;;;;;;;;;:44;;;;;5618:51;5650:18;5618:24;5643:1;5618:27;;;;;;;;;;;;;;:31;;:51;;;;:::i;:::-;5588:24;5613:1;5588:27;;;;;;;;;;;;;:81;;;;;5139:1179;;;5711:10;-1:-1:-1;;;;;5694:27:178;:13;-1:-1:-1;;;;;5694:27:178;;5690:628;;;5756:16;;;5770:1;5756:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5756:16:178;5741:31;;5808:10;5790:12;5803:1;5790:15;;;;;;;;-1:-1:-1;;;;;5790:28:178;;;;:15;;;;;;;;;;:28;5858:16;;;5872:1;5858:16;;;;;;;;;;;;;;5790:15;5858:16;;;;;-1:-1:-1;;5837:37:178;-1:-1:-1;5916:44:178;:20;5941:18;5916:24;:44::i;:::-;5892:18;5911:1;5892:21;;;;;;;5690:628;6014:16;;;6028:1;6014:16;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6014:16:178;5999:31;;6066:10;6048:12;6061:1;6048:15;;;;;;;;;;;;;:28;-1:-1:-1;;;;;6048:28:178;;;-1:-1:-1;;;;;6048:28:178;;;;;6112:13;6094:12;6107:1;6094:15;;;;;;;;-1:-1:-1;;;;;6094:31:178;;;;:15;;;;;;;;;;:31;6165:16;;;6179:1;6165:16;;;;;;;;;;6179:1;;6165:16;;;;;;;;;;-1:-1:-1;6165:16:178;6144:37;;6223:20;6199:18;6218:1;6199:21;;;;;;;;;;;;;:44;;;;;6285:18;6261;6280:1;6261:21;;;;;;;;;;;;;:42;;;;;5690:628;4727:1815;;;;;6363:16;;;6377:1;6363:16;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6363:16:178;6348:31;;6411:10;6393:12;6406:1;6393:15;;;;;;;;-1:-1:-1;;;;;6393:28:178;;;;:15;;;;;;;;;;:28;6457:16;;;6471:1;6457:16;;;;;;;;;;;;;;6393:15;6457:16;;;;;-1:-1:-1;6457:16:178;6436:37;;6511:20;6487:18;6506:1;6487:21;;;;;;;;;;;;;:44;;;;;4727:1815;6573:50;6552:206;;;;;;;3115:3650;;;;;;;;;:::o;7803:575::-;679:10:358;:8;:10::i;:::-;-1:-1:-1;;;;;665:24:358;:10;-1:-1:-1;;;;;665:24:358;;644:144;;;;-1:-1:-1;;;644:144:358;;;;;;;:::i;:::-;7939:28:178;7931:85:::1;;;;-1:-1:-1::0;;;7931:85:178::1;;;;;;;:::i;:::-;8032:9;8027:345;8043:28:::0;;::::1;8027:345;;;8117:36;8132:17;;8150:1;8132:20;;;;;;;;;;;;;;;;;;;;:::i;8117:36::-;8092:147;;;;-1:-1:-1::0;;;8092:147:178::1;;;;;;;:::i;:::-;8295:5;8254:16:::0;:38:::1;8271:17;;8289:1;8271:20;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8254:38:178::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;8254:38:178;:46;;-1:-1:-1;;8254:46:178::1;::::0;::::1;;::::0;;;::::1;::::0;;8340:17;;8358:1;8340:20;;::::1;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8320:41:178::1;;;;;;;;;;;8073:3;;8027:345;;;;7803:575:::0;;:::o;2637:128:179:-;2739:19;2637:128;:::o;923:89:180:-;971:40;923:89;:::o;11481:127:178:-;-1:-1:-1;;;;;11579:22:178;;11540:20;11579:22;;;;;;;;;;;;;11481:127;;;;:::o;7059:245::-;7166:36;7204:29;7267:11;7256:41;;;;;;;;;;;;:::i;:::-;7249:48;;;;7059:245;;;:::o;8961:981::-;9071:29;;:::i;:::-;9130:32;;:::i;:::-;9176:29;;:::i;:::-;9219:25;;:::i;:::-;9259:42;9283:17;9259:23;:42::i;:::-;9116:185;;;;;;;9331:604;;;;;;;;9379:14;9394:1;9379:17;;;;;;;;;;;-1:-1:-1;;;;;9331:604:178;;;;;9428:14;9443:1;9428:17;;;;;;;;;;;-1:-1:-1;;;;;9331:604:178;;;;;9484:14;9499:1;9484:17;;;;;;;;;;;-1:-1:-1;;;;;9331:604:178;;;;;9534:14;9549:1;9534:17;;;;;;;;;;;-1:-1:-1;;;;;9331:604:178;;;;;9587:11;9599:1;9587:14;;;;;;;;;;;9331:604;;;;9637:11;9649:1;9637:14;;;;;;;;;;;9331:604;;;;9679:11;9691:1;9679:14;;;;;;;;;;;9331:604;;;;9721:11;9733:1;9721:14;;;;;;;;;;;9331:604;;;;9776:11;9788:1;9776:14;;;;;;;;;;;9331:604;;;;9814:11;9826:1;9814:14;;;;;;;;;;;9331:604;;;;9862:9;9872:1;9862:12;;;;;;;;;;;9331:604;;;;9908:9;9918:1;9908:12;;;;;;;;;;;9331:604;;9312:623;8961:981;-1:-1:-1;;;;;8961:981:178:o;10820:401::-;10950:33;;:::i;:::-;10997:30;;:::i;:::-;11041:26;;:::i;:::-;11081:23;11147;11136:78;;;;;;;;;;;;:::i;:::-;11129:85;;;;;;;;10820:401;;;;;:::o;893:1107:199:-;1100:176;1139:40;1157:6;:21;;;1139:17;:40::i;:::-;1193:38;1209:6;:21;;;1193:15;:38::i;:::-;1245:21;1100:25;:176::i;:::-;1389:15;;;;:19;1385:490;;1424:20;1457:19;-1:-1:-1;;;;;1447:45:199;;:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1447:47:199;;;;;;;;;;;;:::i;:::-;1424:70;;1508:356;1551:26;1569:7;1551:17;:26::i;:::-;1595:24;1611:7;1595:15;:24::i;:::-;1637:165;1681:6;:23;;;1726:6;:15;;;1763:21;1637:22;:165::i;:::-;1508:25;:356::i;:::-;1385:490;;1910:83;;-1:-1:-1;;;1910:83:199;;-1:-1:-1;;;;;1920:19:199;1910:40;;;;:83;;1951:6;;1959:21;;1982:10;;1910:83;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;893:1107;;;:::o;2093:332:179:-;2205:29;2248:35;2297:32;2372:10;2361:57;;;;;;;;;;;;:::i;:::-;2354:64;;;;;;2093:332;;;;;:::o;3539:585:355:-;3649:36;3737:7;:14;-1:-1:-1;;;;;3723:29:355;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3723:29:355;;3701:51;;3767:9;3762:319;3782:7;:14;3778:1;:18;3762:319;;;3817:19;3845:7;3853:1;3845:10;;;;;;;;;;;;;;3817:39;;3895:13;-1:-1:-1;;;;;3895:23:355;;3927:4;3895:38;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3870:19;3890:1;3870:22;;;;;;;;;;;;;:63;;;;;3976:1;3951:19;3971:1;3951:22;;;;;;;;;;;;;;:26;3947:124;;;3997:59;4024:7;4033:19;4053:1;4033:22;;;;;;;;;;;;;;3997:13;-1:-1:-1;;;;;3997:26:355;;;:59;;;;;:::i;:::-;-1:-1:-1;3798:3:355;;3762:319;;;;3539:585;;;;;:::o;8450:444:178:-;8561:1;8537:14;:21;:25;8529:78;;;;-1:-1:-1;;;8529:78:178;;;;;;;:::i;:::-;8623:9;8618:270;8638:14;:21;8634:1;:25;8618:270;;;8689:33;8704:14;8719:1;8704:17;;;;;;;;;;;;;;8689:14;:33::i;:::-;8688:34;8680:84;;;;-1:-1:-1;;;8680:84:178;;;;;;;:::i;:::-;8817:4;8779:16;:35;8796:14;8811:1;8796:17;;;;;;;;;;;;;;-1:-1:-1;;;;;8779:35:178;-1:-1:-1;;;;;8779:35:178;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;8859:14;8874:1;8859:17;;;;;;;;;;;;;;-1:-1:-1;;;;;8841:36:178;;;;;;;;;;;8661:3;;8618:270;;2062:218:199;2260:2;2244:19;2238:26;;2207:67::o;767:255:360:-;920:26;965:50;1004:10;965:34;:18;988:10;965:22;:34::i;:::-;:38;;:50::i;:::-;958:57;;767:255;;;;;;:::o;3136:155:442:-;3194:7;3226:1;3221;:6;;3213:49;;;;-1:-1:-1;;;3213:49:442;;;;;;;:::i;:::-;-1:-1:-1;3279:5:442;;;3136:155::o;2690:175::-;2748:7;2779:5;;;2802:6;;;;2794:46;;;;-1:-1:-1;;;2794:46:442;;;;;;;:::i;2349:418:199:-;2565:2;2549:19;;2543:26;2422:19;;-1:-1:-1;;;;;;2522:145:199;2710:21;:19;:21::i;:::-;-1:-1:-1;;;;;2700:46:199;;2747:12;2700:60;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;2554:434:355:-;2714:47;;-1:-1:-1;;;2714:47:355;;2694:17;;-1:-1:-1;;;;;2714:23:355;;;;;:47;;2746:4;;2753:7;;2714:47;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2694:67;;2787:13;2775:9;:25;2771:211;;;2820:13;;2816:89;;2853:37;-1:-1:-1;;;;;2853:25:355;;2879:7;2888:1;2853:25;:37::i;:::-;2918:53;-1:-1:-1;;;;;2918:25:355;;2944:7;-1:-1:-1;;2918:25:355;:53::i;704:175:450:-;786:86;806:5;836:23;;;861:2;865:5;813:58;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;813:58:450;;;;;;;;;;;;;;-1:-1:-1;;;;;813:58:450;-1:-1:-1;;;;;;813:58:450;;;;;;;;;;786:19;:86::i;3538:215:442:-;3596:7;3619:6;3615:20;;-1:-1:-1;3634:1:442;3627:8;;3615:20;3657:5;;;3661:1;3657;:5;:1;3680:5;;;;;:10;3672:56;;;;-1:-1:-1;;;3672:56:442;;;;;;;:::i;4217:150::-;4275:7;4306:1;4302;:5;4294:44;;;;-1:-1:-1;;;4294:44:442;;;;;;;:::i;:::-;4359:1;4355;:5;;;;;;;4217:150;-1:-1:-1;;;4217:150:442:o;1348:613:450:-;1713:10;;;1712:62;;-1:-1:-1;1729:39:450;;-1:-1:-1;;;1729:39:450;;-1:-1:-1;;;;;1729:15:450;;;;;:39;;1753:4;;1760:7;;1729:39;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:44;1712:62;1704:150;;;;-1:-1:-1;;;1704:150:450;;;;;;;:::i;:::-;1864:90;1884:5;1914:22;;;1938:7;1947:5;1891:62;;;;;;;;;:::i;2967:751::-;3386:23;3412:69;3440:4;3412:69;;;;;;;;;;;;;;;;;3420:5;-1:-1:-1;;;;;3412:27:450;;;:69;;;;;:::i;:::-;3495:17;;3386:95;;-1:-1:-1;3495:21:450;3491:221;;3635:10;3624:30;;;;;;;;;;;;:::i;:::-;3616:85;;;;-1:-1:-1;;;3616:85:450;;;;;;;:::i;3581:193:451:-;3684:12;3715:52;3737:6;3745:4;3751:1;3754:12;3684;4858:18;4869:6;4858:10;:18::i;:::-;4850:60;;;;-1:-1:-1;;;4850:60:451;;;;;;;:::i;:::-;4981:12;4995:23;5022:6;-1:-1:-1;;;;;5022:11:451;5042:5;5050:4;5022:33;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4980:75;;;;5072:52;5090:7;5099:10;5111:12;5072:17;:52::i;:::-;5065:59;4608:523;-1:-1:-1;;;;;;;4608:523:451:o;726:413::-;1086:20;1124:8;;;726:413::o;7091:725::-;7206:12;7234:7;7230:580;;;-1:-1:-1;7264:10:451;7257:17;;7230:580;7375:17;;:21;7371:429;;7633:10;7627:17;7693:15;7680:10;7676:2;7672:19;7665:44;7582:145;7772:12;7765:20;;-1:-1:-1;;;7765:20:451;;;;;;;;:::i;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;5:130::-;72:20;;97:33;72:20;97:33;:::i;142:134::-;220:13;;238:33;220:13;238:33;:::i;302:638::-;;428:3;421:4;413:6;409:17;405:27;395:2;;446:1;443;436:12;395:2;470:4;489:78;504:62;559:6;504:62;:::i;:::-;489:78;:::i;:::-;480:87;;584:5;643:6;690:3;682:4;674:6;670:17;665:3;661:27;658:36;655:2;;;707:1;704;697:12;655:2;732:1;717:217;742:6;739:1;736:13;717:217;;;800:3;822:48;866:3;854:10;822:48;:::i;:::-;810:61;;-1:-1;894:4;885:14;;;;913;;;;;764:1;757:9;717:217;;;721:14;388:552;;;;;;;:::o;966:352::-;;;1096:3;1089:4;1081:6;1077:17;1073:27;1063:2;;1114:1;1111;1104:12;1063:2;-1:-1;1134:20;;-1:-1;;;;;1163:30;;1160:2;;;1206:1;1203;1196:12;1160:2;1240:4;1232:6;1228:17;1216:29;;1291:3;1283:4;1275:6;1271:17;1261:8;1257:32;1254:41;1251:2;;;1308:1;1305;1298:12;1251:2;1056:262;;;;;:::o;1344:722::-;;1472:3;1465:4;1457:6;1453:17;1449:27;1439:2;;1490:1;1487;1480:12;1439:2;1520:6;1514:13;1542:80;1557:64;1614:6;1557:64;:::i;1542:80::-;1533:89;;1639:5;1664:6;1657:5;1650:21;1694:4;1686:6;1682:17;1672:27;;1716:4;1711:3;1707:14;1700:21;;1769:6;1816:3;1808:4;1800:6;1796:17;1791:3;1787:27;1784:36;1781:2;;;1833:1;1830;1823:12;1781:2;1858:1;1843:217;1868:6;1865:1;1862:13;1843:217;;;1926:3;1948:48;1992:3;1980:10;1948:48;:::i;:::-;1936:61;;-1:-1;2020:4;2011:14;;;;2039;;;;;1890:1;1883:9;1843:217;;2091:629;;2226:3;2219:4;2211:6;2207:17;2203:27;2193:2;;2244:1;2241;2234:12;2193:2;2268:4;2287:87;2302:71;2366:6;2302:71;:::i;2287:87::-;2278:96;;2391:5;2450:6;2483:1;2468:246;2493:6;2490:1;2487:13;2468:246;;;2569:3;2563:10;2555:6;2551:23;2593:57;2646:3;2634:10;2593:57;:::i;:::-;2581:70;;-1:-1;2674:4;2665:14;;;;2693;;;;;2515:1;2508:9;2468:246;;2747:638;;2873:3;2866:4;2858:6;2854:17;2850:27;2840:2;;2891:1;2888;2881:12;2840:2;2915:4;2934:78;2949:62;3004:6;2949:62;:::i;2934:78::-;2925:87;;3029:5;3088:6;3135:3;3127:4;3119:6;3115:17;3110:3;3106:27;3103:36;3100:2;;;3152:1;3149;3142:12;3100:2;3177:1;3162:217;3187:6;3184:1;3181:13;3162:217;;;3245:3;3267:48;3311:3;3299:10;3267:48;:::i;:::-;3255:61;;-1:-1;3339:4;3330:14;;;;3358;;;;;3209:1;3202:9;3162:217;;3411:722;;3539:3;3532:4;3524:6;3520:17;3516:27;3506:2;;3557:1;3554;3547:12;3506:2;3587:6;3581:13;3609:80;3624:64;3681:6;3624:64;:::i;3609:80::-;3600:89;;3706:5;3731:6;3724:5;3717:21;3761:4;3753:6;3749:17;3739:27;;3783:4;3778:3;3774:14;3767:21;;3836:6;3883:3;3875:4;3867:6;3863:17;3858:3;3854:27;3851:36;3848:2;;;3900:1;3897;3890:12;3848:2;3925:1;3910:217;3935:6;3932:1;3929:13;3910:217;;;3993:3;4015:48;4059:3;4047:10;4015:48;:::i;:::-;4003:61;;-1:-1;4087:4;4078:14;;;;4106;;;;;3957:1;3950:9;3910:217;;4141:128;4216:13;;4234:30;4216:13;4234:30;:::i;4276:128::-;4342:20;;4367:32;4342:20;4367:32;:::i;4425:336::-;;;4539:3;4532:4;4524:6;4520:17;4516:27;4506:2;;4557:1;4554;4547:12;4506:2;-1:-1;4577:20;;-1:-1;;;;;4606:30;;4603:2;;;4649:1;4646;4639:12;4603:2;4683:4;4675:6;4671:17;4659:29;;4734:3;4726:4;4718:6;4714:17;4704:8;4700:32;4697:41;4694:2;;;4751:1;4748;4741:12;4770:442;;4882:3;4875:4;4867:6;4863:17;4859:27;4849:2;;4900:1;4897;4890:12;4849:2;4930:6;4924:13;4952:64;4967:48;5008:6;4967:48;:::i;4952:64::-;4943:73;;5036:6;5029:5;5022:21;5072:4;5064:6;5060:17;5105:4;5098:5;5094:16;5140:3;5131:6;5126:3;5122:16;5119:25;5116:2;;;5157:1;5154;5147:12;5116:2;5167:39;5199:6;5194:3;5189;5167:39;:::i;:::-;4842:370;;;;;;;:::o;5255:867::-;;5385:4;5373:9;5368:3;5364:19;5360:30;5357:2;;;5403:1;5400;5393:12;5357:2;5421:20;5436:4;5421:20;:::i;:::-;5412:29;-1:-1;5509:1;5541:60;5597:3;5577:9;5541:60;:::i;:::-;5516:86;;-1:-1;5681:2;5714:60;5770:3;5746:22;;;5714:60;:::i;:::-;5707:4;5700:5;5696:16;5689:86;5623:163;5844:2;5877:60;5933:3;5924:6;5913:9;5909:22;5877:60;:::i;:::-;5870:4;5863:5;5859:16;5852:86;5796:153;6007:2;6040:60;6096:3;6087:6;6076:9;6072:22;6040:60;:::i;:::-;6033:4;6026:5;6022:16;6015:86;5959:153;5351:771;;;;:::o;6129:134::-;6207:13;;6225:33;6207:13;6225:33;:::i;6270:241::-;;6374:2;6362:9;6353:7;6349:23;6345:32;6342:2;;;6390:1;6387;6380:12;6342:2;6425:1;6442:53;6487:7;6467:9;6442:53;:::i;:::-;6432:63;6336:175;-1:-1;;;;6336:175::o;6518:263::-;;6633:2;6621:9;6612:7;6608:23;6604:32;6601:2;;;6649:1;6646;6639:12;6601:2;6684:1;6701:64;6757:7;6737:9;6701:64;:::i;6788:613::-;;;;;6944:2;6932:9;6923:7;6919:23;6915:32;6912:2;;;6960:1;6957;6950:12;6912:2;6995:1;7012:53;7057:7;7037:9;7012:53;:::i;:::-;7002:63;;6974:97;7102:2;7120:52;7164:7;7155:6;7144:9;7140:22;7120:52;:::i;:::-;7110:62;;7081:97;7237:2;7226:9;7222:18;7209:32;-1:-1;;;;;7253:6;7250:30;7247:2;;;7293:1;7290;7283:12;7247:2;7321:64;7377:7;7368:6;7357:9;7353:22;7321:64;:::i;:::-;6906:495;;;;-1:-1;7303:82;-1:-1;;;;6906:495::o;7408:739::-;;;;;;7584:2;7572:9;7563:7;7559:23;7555:32;7552:2;;;7600:1;7597;7590:12;7552:2;7635:1;7652:53;7697:7;7677:9;7652:53;:::i;:::-;7642:63;;7614:97;7770:2;7759:9;7755:18;7742:32;-1:-1;;;;;7786:6;7783:30;7780:2;;;7826:1;7823;7816:12;7780:2;7854:64;7910:7;7901:6;7890:9;7886:22;7854:64;:::i;:::-;7836:82;;;;7721:203;7983:2;7972:9;7968:18;7955:32;-1:-1;;;;;7999:6;7996:30;7993:2;;;8039:1;8036;8029:12;7993:2;8067:64;8123:7;8114:6;8103:9;8099:22;8067:64;:::i;:::-;8049:82;;;;7934:203;7546:601;;;;;;;;:::o;8154:1007::-;;;;;8407:3;8395:9;8386:7;8382:23;8378:33;8375:2;;;8424:1;8421;8414:12;8375:2;8459:1;8476:87;8555:7;8535:9;8476:87;:::i;:::-;8466:97;;8438:131;8600:3;8619:87;8698:7;8689:6;8678:9;8674:22;8619:87;:::i;:::-;8609:97;;8579:133;8764:3;8753:9;8749:19;8743:26;-1:-1;;;;;8781:6;8778:30;8775:2;;;8821:1;8818;8811:12;8775:2;8841:96;8929:7;8920:6;8909:9;8905:22;8841:96;:::i;:::-;8831:106;;8722:221;8995:3;8984:9;8980:19;8974:26;-1:-1;;;;;9012:6;9009:30;9006:2;;;9052:1;9049;9042:12;9006:2;9072:73;9137:7;9128:6;9117:9;9113:22;9072:73;:::i;:::-;9062:83;;8953:198;8369:792;;;;;;;:::o;9168:397::-;;;9307:2;9295:9;9286:7;9282:23;9278:32;9275:2;;;9323:1;9320;9313:12;9275:2;9358:31;;-1:-1;;;;;9398:30;;9395:2;;;9441:1;9438;9431:12;9395:2;9469:80;9541:7;9532:6;9521:9;9517:22;9469:80;:::i;:::-;9451:98;;;;9337:218;9269:296;;;;;:::o;9572:922::-;;;;9796:2;9784:9;9775:7;9771:23;9767:32;9764:2;;;9812:1;9809;9802:12;9764:2;9847:24;;-1:-1;;;;;9880:30;;9877:2;;;9923:1;9920;9913:12;9877:2;9943:89;10024:7;10015:6;10004:9;10000:22;9943:89;:::i;:::-;9933:99;;9826:212;10090:2;10079:9;10075:18;10069:25;-1:-1;;;;;10106:6;10103:30;10100:2;;;10146:1;10143;10136:12;10100:2;10166:89;10247:7;10238:6;10227:9;10223:22;10166:89;:::i;:::-;10156:99;;10048:213;10313:2;10302:9;10298:18;10292:25;-1:-1;;;;;10329:6;10326:30;10323:2;;;10369:1;10366;10359:12;10323:2;10389:89;10470:7;10461:6;10450:9;10446:22;10389:89;:::i;:::-;10379:99;;10271:213;9758:736;;;;;:::o;10501:257::-;;10613:2;10601:9;10592:7;10588:23;10584:32;10581:2;;;10629:1;10626;10619:12;10581:2;10664:1;10681:61;10734:7;10714:9;10681:61;:::i;10765:360::-;;10889:2;10877:9;10868:7;10864:23;10860:32;10857:2;;;10905:1;10902;10895:12;10857:2;10940:24;;-1:-1;;;;;10973:30;;10970:2;;;11016:1;11013;11006:12;10970:2;11036:73;11101:7;11092:6;11081:9;11077:22;11036:73;:::i;11132:496::-;;;11273:2;11261:9;11252:7;11248:23;11244:32;11241:2;;;11289:1;11286;11279:12;11241:2;11324:24;;-1:-1;;;;;11357:30;;11354:2;;;11400:1;11397;11390:12;11354:2;11420:73;11485:7;11476:6;11465:9;11461:22;11420:73;:::i;:::-;11410:83;;11303:196;11530:2;11548:64;11604:7;11595:6;11584:9;11580:22;11548:64;:::i;:::-;11538:74;;11509:109;11235:393;;;;;:::o;11635:324::-;;11780:3;11768:9;11759:7;11755:23;11751:33;11748:2;;;11797:1;11794;11787:12;11748:2;11832:1;11849:94;11935:7;11915:9;11849:94;:::i;11966:263::-;;12081:2;12069:9;12060:7;12056:23;12052:32;12049:2;;;12097:1;12094;12087:12;12049:2;12132:1;12149:64;12205:7;12185:9;12149:64;:::i;12237:173::-;;12324:46;12366:3;12358:6;12324:46;:::i;:::-;-1:-1;;12399:4;12390:14;;12317:93::o;12419:173::-;;12506:46;12548:3;12540:6;12506:46;:::i;12600:103::-;12673:24;12691:5;12673:24;:::i;:::-;12668:3;12661:37;12655:48;;:::o;12861:690::-;;13006:54;13054:5;13006:54;:::i;:::-;13073:86;13152:6;13147:3;13073:86;:::i;:::-;13066:93;;13180:56;13230:5;13180:56;:::i;:::-;13256:7;13284:1;13269:260;13294:6;13291:1;13288:13;13269:260;;;13361:6;13355:13;13382:63;13441:3;13426:13;13382:63;:::i;:::-;13375:70;;13462:60;13515:6;13462:60;:::i;:::-;13452:70;-1:-1;;13316:1;13309:9;13269:260;;;-1:-1;13542:3;;12985:566;-1:-1;;;;;12985:566::o;13590:690::-;;13735:54;13783:5;13735:54;:::i;:::-;13802:86;13881:6;13876:3;13802:86;:::i;:::-;13795:93;;13909:56;13959:5;13909:56;:::i;:::-;13985:7;14013:1;13998:260;14023:6;14020:1;14017:13;13998:260;;;14090:6;14084:13;14111:63;14170:3;14155:13;14111:63;:::i;:::-;14104:70;;14191:60;14244:6;14191:60;:::i;:::-;14181:70;-1:-1;;14045:1;14038:9;13998:260;;14288:104;14365:21;14380:5;14365:21;:::i;14399:110::-;14480:23;14497:5;14480:23;:::i;14516:323::-;;14616:38;14648:5;14616:38;:::i;:::-;14666:60;14719:6;14714:3;14666:60;:::i;:::-;14659:67;;14731:52;14776:6;14771:3;14764:4;14757:5;14753:16;14731:52;:::i;:::-;14804:29;14826:6;14804:29;:::i;:::-;14795:39;;;;14596:243;-1:-1;;;14596:243::o;15196:356::-;;15324:38;15356:5;15324:38;:::i;:::-;15374:88;15455:6;15450:3;15374:88;:::i;:::-;15367:95;;15467:52;15512:6;15507:3;15500:4;15493:5;15489:16;15467:52;:::i;:::-;15531:16;;;;;15304:248;-1:-1;;15304:248::o;15559:176::-;15667:62;15723:5;15667:62;:::i;16097:381::-;;16257:67;16321:2;16316:3;16257:67;:::i;:::-;16357:34;16337:55;;-1:-1;;;16421:2;16412:12;;16405:36;16469:2;16460:12;;16243:235;-1:-1;;16243:235::o;16487:392::-;;16647:67;16711:2;16706:3;16647:67;:::i;:::-;16747:34;16727:55;;16816:25;16811:2;16802:12;;16795:47;16870:2;16861:12;;16633:246;-1:-1;;16633:246::o;16888:447::-;;17048:67;17112:2;17107:3;17048:67;:::i;:::-;17148:34;17128:55;;17217:34;17212:2;17203:12;;17196:56;-1:-1;;;17281:2;17272:12;;17265:33;17326:2;17317:12;;17034:301;-1:-1;;17034:301::o;17344:327::-;;17504:67;17568:2;17563:3;17504:67;:::i;:::-;17604:29;17584:50;;17662:2;17653:12;;17490:181;-1:-1;;17490:181::o;17680:377::-;;17840:67;17904:2;17899:3;17840:67;:::i;:::-;17940:34;17920:55;;-1:-1;;;18004:2;17995:12;;17988:32;18048:2;18039:12;;17826:231;-1:-1;;17826:231::o;18066:442::-;;18226:67;18290:2;18285:3;18226:67;:::i;:::-;18326:34;18306:55;;18395:34;18390:2;18381:12;;18374:56;-1:-1;;;18459:2;18450:12;;18443:28;18499:2;18490:12;;18212:296;-1:-1;;18212:296::o;18517:330::-;;18677:67;18741:2;18736:3;18677:67;:::i;:::-;18777:32;18757:53;;18838:2;18829:12;;18663:184;-1:-1;;18663:184::o;19240:326::-;;19400:67;19464:2;19459:3;19400:67;:::i;:::-;19500:28;19480:49;;19557:2;19548:12;;19386:180;-1:-1;;19386:180::o;19575:387::-;;19735:67;19799:2;19794:3;19735:67;:::i;:::-;19835:34;19815:55;;-1:-1;;;19899:2;19890:12;;19883:42;19953:2;19944:12;;19721:241;-1:-1;;19721:241::o;19971:370::-;;20131:67;20195:2;20190:3;20131:67;:::i;:::-;20231:34;20211:55;;-1:-1;;;20295:2;20286:12;;20279:25;20332:2;20323:12;;20117:224;-1:-1;;20117:224::o;20350:385::-;;20510:67;20574:2;20569:3;20510:67;:::i;:::-;20610:34;20590:55;;-1:-1;;;20674:2;20665:12;;20658:40;20726:2;20717:12;;20496:239;-1:-1;;20496:239::o;20744:329::-;;20904:67;20968:2;20963:3;20904:67;:::i;:::-;21004:31;20984:52;;21064:2;21055:12;;20890:183;-1:-1;;20890:183::o;21082:374::-;;21242:67;21306:2;21301:3;21242:67;:::i;:::-;21342:34;21322:55;;-1:-1;;;21406:2;21397:12;;21390:29;21447:2;21438:12;;21228:228;-1:-1;;21228:228::o;21465:379::-;;21625:67;21689:2;21684:3;21625:67;:::i;:::-;21725:34;21705:55;;-1:-1;;;21789:2;21780:12;;21773:34;21835:2;21826:12;;21611:233;-1:-1;;21611:233::o;21853:391::-;;22013:67;22077:2;22072:3;22013:67;:::i;:::-;22113:34;22093:55;;-1:-1;;;22177:2;22168:12;;22161:46;22235:2;22226:12;;21999:245;-1:-1;;21999:245::o;22253:389::-;;22413:67;22477:2;22472:3;22413:67;:::i;:::-;22513:34;22493:55;;-1:-1;;;22577:2;22568:12;;22561:44;22633:2;22624:12;;22399:243;-1:-1;;22399:243::o;22651:376::-;;22811:67;22875:2;22870:3;22811:67;:::i;:::-;22911:34;22891:55;;-1:-1;;;22975:2;22966:12;;22959:31;23018:2;23009:12;;22797:230;-1:-1;;22797:230::o;23090:2308::-;23315:23;;23090:2308;;23239:6;23230:16;;;23344:63;23234:3;23315:23;23344:63;:::i;:::-;23261:152;23494:4;23487:5;23483:16;23477:23;23506:63;23563:4;23558:3;23554:14;23540:12;23506:63;:::i;:::-;23423:152;23663:4;23656:5;23652:16;23646:23;23675:63;23732:4;23727:3;23723:14;23709:12;23675:63;:::i;:::-;23585:159;23826:4;23819:5;23815:16;23809:23;23838:63;23895:4;23890:3;23886:14;23872:12;23838:63;:::i;:::-;23754:153;23992:4;23985:5;23981:16;23975:23;24004:63;24061:4;24056:3;24052:14;24038:12;24004:63;:::i;:::-;23917:156;24158:4;24151:5;24147:16;24141:23;24170:63;24227:4;24222:3;24218:14;24204:12;24170:63;:::i;:::-;24083:156;24316:4;24309:5;24305:16;24299:23;24328:63;24385:4;24380:3;24376:14;24362:12;24328:63;:::i;:::-;24249:148;24474:4;24467:5;24463:16;24457:23;24486:63;24543:4;24538:3;24534:14;24520:12;24486:63;:::i;:::-;24407:148;24645:6;24638:5;24634:18;24628:25;24659:65;24716:6;24711:3;24707:16;24693:12;24659:65;:::i;:::-;24565:165;24803:6;24796:5;24792:18;24786:25;24817:65;24874:6;24869:3;24865:16;24851:12;24817:65;:::i;:::-;24740:148;24971:6;24964:5;24960:18;24954:25;25027:3;25021:4;25017:14;25008:6;25003:3;24999:16;24992:40;25047:71;25113:4;25099:12;25047:71;:::i;:::-;25039:79;;24898:232;25213:6;25206:5;25202:18;25196:25;25269:3;25263:4;25259:14;25250:6;25245:3;25241:16;25234:40;25289:71;25355:4;25341:12;25289:71;:::i;:::-;25281:79;23212:2186;-1:-1;;;;;23212:2186::o;25405:103::-;25478:24;25496:5;25478:24;:::i;25635:271::-;;25788:93;25877:3;25868:6;25788:93;:::i;25913:222::-;26040:2;26025:18;;26054:71;26029:9;26098:6;26054:71;:::i;26142:333::-;26297:2;26282:18;;26311:71;26286:9;26355:6;26311:71;:::i;:::-;26393:72;26461:2;26450:9;26446:18;26437:6;26393:72;:::i;26482:333::-;26637:2;26622:18;;26651:71;26626:9;26695:6;26651:71;:::i;:::-;26733:72;26801:2;26790:9;26786:18;26777:6;26733:72;:::i;26822:210::-;26943:2;26928:18;;26957:65;26932:9;26995:6;26957:65;:::i;27039:218::-;27164:2;27149:18;;27178:69;27153:9;27220:6;27178:69;:::i;27264:1310::-;27728:3;27713:19;;27743:96;27717:9;27812:6;27743:96;:::i;:::-;27887:9;27881:4;27877:20;27872:2;27861:9;27857:18;27850:48;27912:108;28015:4;28006:6;27912:108;:::i;:::-;27904:116;;28068:9;28062:4;28058:20;28053:2;28042:9;28038:18;28031:48;28093:108;28196:4;28187:6;28093:108;:::i;:::-;28085:116;;28249:9;28243:4;28239:20;28234:2;28223:9;28219:18;28212:48;28274:108;28377:4;28368:6;28274:108;:::i;:::-;28266:116;;28431:9;28425:4;28421:20;28415:3;28404:9;28400:19;28393:49;28456:108;28559:4;28550:6;28456:108;:::i;28581:310::-;28728:2;28742:47;;;28713:18;;28803:78;28713:18;28867:6;28803:78;:::i;28898:416::-;29098:2;29112:47;;;29083:18;;29173:131;29083:18;29173:131;:::i;29321:416::-;29521:2;29535:47;;;29506:18;;29596:131;29506:18;29596:131;:::i;29744:416::-;29944:2;29958:47;;;29929:18;;30019:131;29929:18;30019:131;:::i;30167:416::-;30367:2;30381:47;;;30352:18;;30442:131;30352:18;30442:131;:::i;30590:416::-;30790:2;30804:47;;;30775:18;;30865:131;30775:18;30865:131;:::i;31013:416::-;31213:2;31227:47;;;31198:18;;31288:131;31198:18;31288:131;:::i;31436:416::-;31636:2;31650:47;;;31621:18;;31711:131;31621:18;31711:131;:::i;32282:416::-;32482:2;32496:47;;;32467:18;;32557:131;32467:18;32557:131;:::i;32705:416::-;32905:2;32919:47;;;32890:18;;32980:131;32890:18;32980:131;:::i;33128:416::-;33328:2;33342:47;;;33313:18;;33403:131;33313:18;33403:131;:::i;33551:416::-;33751:2;33765:47;;;33736:18;;33826:131;33736:18;33826:131;:::i;33974:416::-;34174:2;34188:47;;;34159:18;;34249:131;34159:18;34249:131;:::i;34397:416::-;34597:2;34611:47;;;34582:18;;34672:131;34582:18;34672:131;:::i;34820:416::-;35020:2;35034:47;;;35005:18;;35095:131;35005:18;35095:131;:::i;35243:416::-;35443:2;35457:47;;;35428:18;;35518:131;35428:18;35518:131;:::i;35666:416::-;35866:2;35880:47;;;35851:18;;35941:131;35851:18;35941:131;:::i;36089:416::-;36289:2;36303:47;;;36274:18;;36364:131;36274:18;36364:131;:::i;36512:672::-;36761:2;36775:47;;;36746:18;;36836:106;36746:18;36928:6;36836:106;:::i;:::-;36828:114;;36953:72;37021:2;37010:9;37006:18;36997:6;36953:72;:::i;:::-;37073:9;37067:4;37063:20;37058:2;37047:9;37043:18;37036:48;37098:76;37169:4;37160:6;37098:76;:::i;37191:256::-;37253:2;37247:9;37279:17;;;-1:-1;;;;;37339:34;;37375:22;;;37336:62;37333:2;;;37411:1;37408;37401:12;37333:2;37427;37420:22;37231:216;;-1:-1;37231:216::o;37454:244::-;;-1:-1;;;;;37603:6;37600:30;37597:2;;;37643:1;37640;37633:12;37597:2;-1:-1;37678:4;37666:17;;37534:164::o;37705:304::-;;-1:-1;;;;;37856:6;37853:30;37850:2;;;37896:1;37893;37886:12;37850:2;-1:-1;37931:4;37919:17;;;37984:15;;37787:222::o;38838:321::-;;-1:-1;;;;;38973:6;38970:30;38967:2;;;39013:1;39010;39003:12;38967:2;-1:-1;39144:4;39080;39057:17;;;;-1:-1;;39053:33;39134:15;;38904:255::o;39166:151::-;39290:4;39281:14;;39238:79::o;39482:137::-;39585:12;;39556:63::o;40258:178::-;40376:19;;;40425:4;40416:14;;40369:67::o;41288:91::-;;41350:24;41368:5;41350:24;:::i;41386:85::-;41452:13;41445:21;;41428:43::o;41478:144::-;-1:-1;;;;;;41539:78;;41522:100::o;41629:160::-;41718:5;41724:60;41718:5;41724:60;:::i;41796:121::-;-1:-1;;;;;41858:54;;41841:76::o;41924:72::-;41986:5;41969:27::o;42003:160::-;;42107:51;42152:5;42107:51;:::i;42171:268::-;42236:1;42243:101;42257:6;42254:1;42251:13;42243:101;;;42324:11;;;42318:18;42305:11;;;42298:39;42279:2;42272:10;42243:101;;;42359:6;42356:1;42353:13;42350:2;;;-1:-1;;42424:1;42406:16;;42399:27;42220:219::o;42447:97::-;42535:2;42515:14;-1:-1;;42511:28;;42495:49::o;42552:118::-;42648:1;42641:5;42638:12;42628:2;;42654:9;42628:2;42622:48;:::o;42677:117::-;42746:24;42764:5;42746:24;:::i;:::-;42739:5;42736:35;42726:2;;42785:1;42782;42775:12;42801:111;42867:21;42882:5;42867:21;:::i;42919:115::-;42987:23;43004:5;42987:23;:::i;43041:117::-;43110:24;43128:5;43110:24;:::i", "linkReferences": {}, "immutableReferences": { "49791": [ { "start": 560, "length": 32 }, { "start": 3146, "length": 32 } ], "52448": [ { "start": 914, "length": 32 }, { "start": 3773, "length": 32 }, { "start": 3992, "length": 32 } ], "78707": [ { "start": 1216, "length": 32 }, { "start": 1366, "length": 32 } ] } }, "methodIdentifiers": { "CLAIM_REWARDS_SELECTOR()": "40da225d", "LEND_AND_STAKE_SELECTOR()": "131461c0", "LEND_SELECTOR()": "257cb1a3", "REDEEM_SELECTOR()": "f7d882b5", "STAKE_SELECTOR()": "3ffc1591", "TAKE_MULTIPLE_ORDERS_SELECTOR()": "c32990a2", "TAKE_ORDER_SELECTOR()": "863e5ad0", "UNSTAKE_AND_REDEEM_SELECTOR()": "080456c1", "UNSTAKE_SELECTOR()": "b23228cf", "addAllowedMakers(address[])": "4ce13fb0", "getFundDeployer()": "97c0ac87", "getIntegrationManager()": "e7c45690", "getOwner()": "893d20e8", "getZeroExV2Exchange()": "1d566eee", "isAllowedMaker(address)": "ff7ede37", "parseAssetsForAction(address,bytes4,bytes)": "c54efee5", "removeAllowedMakers(address[])": "c960260d", "takeOrder(address,bytes,bytes)": "03e38a2b" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_integrationManager\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_exchange\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"_fundDeployer\",\"type\":\"address\"},{\"internalType\":\"address[]\",\"name\":\"_allowedMakers\",\"type\":\"address[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"AllowedMakerAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"AllowedMakerRemoved\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"CLAIM_REWARDS_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LEND_AND_STAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"LEND_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"REDEEM_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"STAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TAKE_MULTIPLE_ORDERS_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"TAKE_ORDER_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UNSTAKE_AND_REDEEM_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UNSTAKE_SELECTOR\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_accountsToAdd\",\"type\":\"address[]\"}],\"name\":\"addAllowedMakers\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getFundDeployer\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"fundDeployer_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getIntegrationManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"integrationManager_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getZeroExV2Exchange\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"zeroExV2Exchange_\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_who\",\"type\":\"address\"}],\"name\":\"isAllowedMaker\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"isAllowedMaker_\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"_selector\",\"type\":\"bytes4\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"}],\"name\":\"parseAssetsForAction\",\"outputs\":[{\"internalType\":\"enum IIntegrationManager.SpendAssetsHandleType\",\"name\":\"spendAssetsHandleType_\",\"type\":\"uint8\"},{\"internalType\":\"address[]\",\"name\":\"spendAssets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"spendAssetAmounts_\",\"type\":\"uint256[]\"},{\"internalType\":\"address[]\",\"name\":\"incomingAssets_\",\"type\":\"address[]\"},{\"internalType\":\"uint256[]\",\"name\":\"minIncomingAssetAmounts_\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_accountsToRemove\",\"type\":\"address[]\"}],\"name\":\"removeAllowedMakers\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_vaultProxy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_actionData\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"_assetData\",\"type\":\"bytes\"}],\"name\":\"takeOrder\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Enzyme Council \",\"kind\":\"dev\",\"methods\":{\"addAllowedMakers(address[])\":{\"params\":{\"_accountsToAdd\":\"Accounts to add\"}},\"getFundDeployer()\":{\"returns\":{\"fundDeployer_\":\"The `FUND_DEPLOYER` variable value\"}},\"getIntegrationManager()\":{\"returns\":{\"integrationManager_\":\"The `INTEGRATION_MANAGER` variable value\"}},\"getOwner()\":{\"details\":\"Ownership is deferred to the owner of the FundDeployer contract\",\"returns\":{\"owner_\":\"The owner\"}},\"getZeroExV2Exchange()\":{\"returns\":{\"zeroExV2Exchange_\":\"The `ZERO_EX_V2_EXCHANGE` variable value\"}},\"isAllowedMaker(address)\":{\"params\":{\"_who\":\"The account to check\"},\"returns\":{\"isAllowedMaker_\":\"True if _who is an allowed maker\"}},\"parseAssetsForAction(address,bytes4,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_selector\":\"The function selector for the callOnIntegration\"},\"returns\":{\"incomingAssets_\":\"The assets to receive in the call\",\"minIncomingAssetAmounts_\":\"The min asset amounts to receive in the call\",\"spendAssetAmounts_\":\"The max asset amounts to spend in the call\",\"spendAssetsHandleType_\":\"A type that dictates how to handle granting the adapter access to spend assets (`None` by default)\",\"spendAssets_\":\"The assets to spend in the call\"}},\"removeAllowedMakers(address[])\":{\"params\":{\"_accountsToRemove\":\"Accounts to remove\"}},\"takeOrder(address,bytes,bytes)\":{\"params\":{\"_actionData\":\"Data specific to this action\",\"_assetData\":\"Parsed spend assets and incoming assets data for this action\",\"_vaultProxy\":\"The VaultProxy of the calling fund\"}}},\"title\":\"ZeroExV2Adapter Contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"addAllowedMakers(address[])\":{\"notice\":\"Adds accounts to the list of allowed 0x order makers\"},\"getFundDeployer()\":{\"notice\":\"Gets the `FUND_DEPLOYER` variable\"},\"getIntegrationManager()\":{\"notice\":\"Gets the `INTEGRATION_MANAGER` variable\"},\"getOwner()\":{\"notice\":\"Gets the owner of this contract\"},\"getZeroExV2Exchange()\":{\"notice\":\"Gets the `ZERO_EX_V2_EXCHANGE` variable value\"},\"isAllowedMaker(address)\":{\"notice\":\"Checks whether an account is an allowed maker of 0x orders\"},\"parseAssetsForAction(address,bytes4,bytes)\":{\"notice\":\"Parses the expected assets in a particular action\"},\"removeAllowedMakers(address[])\":{\"notice\":\"Removes accounts from the list of allowed 0x order makers\"},\"takeOrder(address,bytes,bytes)\":{\"notice\":\"Take an order on 0x\"}},\"notice\":\"Adapter to 0xV2 Exchange Contract\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/release/extensions/integration-manager/integrations/adapters/ZeroExV2Adapter.sol\":\"ZeroExV2Adapter\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"contracts/release/core/fund-deployer/IFundDeployer.sol\":{\"keccak256\":\"0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea\",\"dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp\"]},\"contracts/release/extensions/integration-manager/IIntegrationManager.sol\":{\"keccak256\":\"0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23\",\"dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk\"]},\"contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol\":{\"keccak256\":\"0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336\",\"dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS\"]},\"contracts/release/extensions/integration-manager/integrations/adapters/ZeroExV2Adapter.sol\":{\"keccak256\":\"0xe1c778cd06853b3c27935717a2e2be34822794642fb97fa9524e6e8814b0a6c4\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://6b719ee07eb8502b90dbb609956ea95255f0e3f3b8b2f31eb8f9a3fa55977e69\",\"dweb:/ipfs/QmUfEmUGJLGMrmrzbteiGCpzxnThrecJEEGSb53it5VtdU\"]},\"contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol\":{\"keccak256\":\"0x067e49bf0d3c1655ab41a413c65ccf61d4e593308132e1ffc484a0fadfbbaf26\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://387f425017e18e89cc1893521101fa99df595314847d0b3d9a1162369f714fcf\",\"dweb:/ipfs/Qmco3jCvuWAyfCpBYpGzHrQjiFJG63w1RJKcakoTEbxRQm\"]},\"contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol\":{\"keccak256\":\"0xfd34c7ca8231c6935e25dede32ca2b3121738e624d0fc896f7b895a731edcf88\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://d492c061963d36d07718446db191d4c5a340c0d847f6cd209f027bd99f7cb176\",\"dweb:/ipfs/QmfCvRZt56ftDdrEh6LepHXFJ4fVtcfpQGvEyY8k4zxG1A\"]},\"contracts/release/extensions/integration-manager/integrations/utils/actions/ZeroExV2ActionsMixin.sol\":{\"keccak256\":\"0x35897e0e775a94bbfa2e1aa7e4def77d933ffa7c7ae5a32e9d58f85a9fbd580e\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a2c3a03d2c9e682fbbb84301f15c75e13345cf5d74e2ac332298bf297af8ad1c\",\"dweb:/ipfs/QmYRREB1X7az2YnMkcjQqfVHwdqVy1oQAT89wwfxMGS4n4\"]},\"contracts/release/interfaces/IZeroExV2.sol\":{\"keccak256\":\"0x0c07eab651b8ce3000ddcfd1cad14f16b76a8d032a3bdbf25e17dad8b26fa125\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://f675908202e1fb7e22905163eead8d9eaefce731a7d288841126a00e2177bcdc\",\"dweb:/ipfs/QmRUoZdkEvxaK2Ma6UeGHMR2PdrMkuiujioc59W8rYqKJu\"]},\"contracts/release/utils/AssetHelpers.sol\":{\"keccak256\":\"0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b\",\"dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E\"]},\"contracts/release/utils/FundDeployerOwnerMixin.sol\":{\"keccak256\":\"0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927\",\"dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM\"]},\"contracts/release/utils/MathHelpers.sol\":{\"keccak256\":\"0x8aef498ae98bfb40cd1df8c9ed652b4c092fbbe62d5a1fad522c53654523248e\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://ed62789f6a8d5ca30a40c591f244b915e4711493a9e4b1b4d40ea2bc97b02a95\",\"dweb:/ipfs/QmWyXJ55arURtx9VMkUQokdsjk8tbgM2cC8rENFUMyz5D3\"]},\"node_modules/@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c\",\"dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e\",\"dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08\",\"dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol\":{\"keccak256\":\"0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a\",\"dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c\",\"dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f\",\"dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "internalType": "address", "name": "_integrationManager", "type": "address" }, { "internalType": "address", "name": "_exchange", "type": "address" }, { "internalType": "address", "name": "_fundDeployer", "type": "address" }, { "internalType": "address[]", "name": "_allowedMakers", "type": "address[]" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address", "indexed": true } ], "type": "event", "name": "AllowedMakerAdded", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address", "indexed": true } ], "type": "event", "name": "AllowedMakerRemoved", "anonymous": false }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "CLAIM_REWARDS_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "LEND_AND_STAKE_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "LEND_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "REDEEM_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "STAKE_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "TAKE_MULTIPLE_ORDERS_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "TAKE_ORDER_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "UNSTAKE_AND_REDEEM_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "UNSTAKE_SELECTOR", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ] }, { "inputs": [ { "internalType": "address[]", "name": "_accountsToAdd", "type": "address[]" } ], "stateMutability": "nonpayable", "type": "function", "name": "addAllowedMakers" }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getFundDeployer", "outputs": [ { "internalType": "address", "name": "fundDeployer_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getIntegrationManager", "outputs": [ { "internalType": "address", "name": "integrationManager_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getOwner", "outputs": [ { "internalType": "address", "name": "owner_", "type": "address" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "getZeroExV2Exchange", "outputs": [ { "internalType": "address", "name": "zeroExV2Exchange_", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_who", "type": "address" } ], "stateMutability": "view", "type": "function", "name": "isAllowedMaker", "outputs": [ { "internalType": "bool", "name": "isAllowedMaker_", "type": "bool" } ] }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "bytes4", "name": "_selector", "type": "bytes4" }, { "internalType": "bytes", "name": "_actionData", "type": "bytes" } ], "stateMutability": "view", "type": "function", "name": "parseAssetsForAction", "outputs": [ { "internalType": "enum IIntegrationManager.SpendAssetsHandleType", "name": "spendAssetsHandleType_", "type": "uint8" }, { "internalType": "address[]", "name": "spendAssets_", "type": "address[]" }, { "internalType": "uint256[]", "name": "spendAssetAmounts_", "type": "uint256[]" }, { "internalType": "address[]", "name": "incomingAssets_", "type": "address[]" }, { "internalType": "uint256[]", "name": "minIncomingAssetAmounts_", "type": "uint256[]" } ] }, { "inputs": [ { "internalType": "address[]", "name": "_accountsToRemove", "type": "address[]" } ], "stateMutability": "nonpayable", "type": "function", "name": "removeAllowedMakers" }, { "inputs": [ { "internalType": "address", "name": "_vaultProxy", "type": "address" }, { "internalType": "bytes", "name": "_actionData", "type": "bytes" }, { "internalType": "bytes", "name": "_assetData", "type": "bytes" } ], "stateMutability": "nonpayable", "type": "function", "name": "takeOrder" } ], "devdoc": { "kind": "dev", "methods": { "addAllowedMakers(address[])": { "params": { "_accountsToAdd": "Accounts to add" } }, "getFundDeployer()": { "returns": { "fundDeployer_": "The `FUND_DEPLOYER` variable value" } }, "getIntegrationManager()": { "returns": { "integrationManager_": "The `INTEGRATION_MANAGER` variable value" } }, "getOwner()": { "details": "Ownership is deferred to the owner of the FundDeployer contract", "returns": { "owner_": "The owner" } }, "getZeroExV2Exchange()": { "returns": { "zeroExV2Exchange_": "The `ZERO_EX_V2_EXCHANGE` variable value" } }, "isAllowedMaker(address)": { "params": { "_who": "The account to check" }, "returns": { "isAllowedMaker_": "True if _who is an allowed maker" } }, "parseAssetsForAction(address,bytes4,bytes)": { "params": { "_actionData": "Data specific to this action", "_selector": "The function selector for the callOnIntegration" }, "returns": { "incomingAssets_": "The assets to receive in the call", "minIncomingAssetAmounts_": "The min asset amounts to receive in the call", "spendAssetAmounts_": "The max asset amounts to spend in the call", "spendAssetsHandleType_": "A type that dictates how to handle granting the adapter access to spend assets (`None` by default)", "spendAssets_": "The assets to spend in the call" } }, "removeAllowedMakers(address[])": { "params": { "_accountsToRemove": "Accounts to remove" } }, "takeOrder(address,bytes,bytes)": { "params": { "_actionData": "Data specific to this action", "_assetData": "Parsed spend assets and incoming assets data for this action", "_vaultProxy": "The VaultProxy of the calling fund" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "addAllowedMakers(address[])": { "notice": "Adds accounts to the list of allowed 0x order makers" }, "getFundDeployer()": { "notice": "Gets the `FUND_DEPLOYER` variable" }, "getIntegrationManager()": { "notice": "Gets the `INTEGRATION_MANAGER` variable" }, "getOwner()": { "notice": "Gets the owner of this contract" }, "getZeroExV2Exchange()": { "notice": "Gets the `ZERO_EX_V2_EXCHANGE` variable value" }, "isAllowedMaker(address)": { "notice": "Checks whether an account is an allowed maker of 0x orders" }, "parseAssetsForAction(address,bytes4,bytes)": { "notice": "Parses the expected assets in a particular action" }, "removeAllowedMakers(address[])": { "notice": "Removes accounts from the list of allowed 0x order makers" }, "takeOrder(address,bytes,bytes)": { "notice": "Take an order on 0x" } }, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "contracts/release/extensions/integration-manager/integrations/adapters/ZeroExV2Adapter.sol": "ZeroExV2Adapter" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "contracts/release/core/fund-deployer/IFundDeployer.sol": { "keccak256": "0x5b901b81b3a4ef3d30ef9b4a1fa7fdd6526dfacd66e9971d1f988c2b63334314", "urls": [ "bzz-raw://79eba24bcad7e3abddafd20b518add8d5acb1e8de250a0e20050dfbe2f2d8aea", "dweb:/ipfs/QmYq9QYKr1UJaVyhkkSEfeiJ68TwGbwrmZsgRTPjVjkpUp" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/IIntegrationManager.sol": { "keccak256": "0x29aff2a05a50430f732dd67cd3dfbfcf3b2fd86697f61b1ef91bebc8ff3e00ef", "urls": [ "bzz-raw://8b1f03cd376a3743dfaeff7cfbb1114341099d18ab32165365c76eba8e9dbc23", "dweb:/ipfs/QmZEwZEUcFwWEKkYXmjcijChwfAkFHkgMMRnv4QY8abhdk" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/IIntegrationAdapter.sol": { "keccak256": "0x14b11777e21aceca340931832874342546731493bb169dbb4de736b16e9a7cc1", "urls": [ "bzz-raw://d86c25f7deaddc311bfcd4da5ce08c275f548e164cb732137be91466acc75336", "dweb:/ipfs/QmYE2XeBKMoqUrfNZAX66mi34sth4ehoZnVzGhZFLBxbwS" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/adapters/ZeroExV2Adapter.sol": { "keccak256": "0xe1c778cd06853b3c27935717a2e2be34822794642fb97fa9524e6e8814b0a6c4", "urls": [ "bzz-raw://6b719ee07eb8502b90dbb609956ea95255f0e3f3b8b2f31eb8f9a3fa55977e69", "dweb:/ipfs/QmUfEmUGJLGMrmrzbteiGCpzxnThrecJEEGSb53it5VtdU" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/utils/AdapterBase.sol": { "keccak256": "0x067e49bf0d3c1655ab41a413c65ccf61d4e593308132e1ffc484a0fadfbbaf26", "urls": [ "bzz-raw://387f425017e18e89cc1893521101fa99df595314847d0b3d9a1162369f714fcf", "dweb:/ipfs/Qmco3jCvuWAyfCpBYpGzHrQjiFJG63w1RJKcakoTEbxRQm" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/utils/IntegrationSelectors.sol": { "keccak256": "0xfd34c7ca8231c6935e25dede32ca2b3121738e624d0fc896f7b895a731edcf88", "urls": [ "bzz-raw://d492c061963d36d07718446db191d4c5a340c0d847f6cd209f027bd99f7cb176", "dweb:/ipfs/QmfCvRZt56ftDdrEh6LepHXFJ4fVtcfpQGvEyY8k4zxG1A" ], "license": "GPL-3.0" }, "contracts/release/extensions/integration-manager/integrations/utils/actions/ZeroExV2ActionsMixin.sol": { "keccak256": "0x35897e0e775a94bbfa2e1aa7e4def77d933ffa7c7ae5a32e9d58f85a9fbd580e", "urls": [ "bzz-raw://a2c3a03d2c9e682fbbb84301f15c75e13345cf5d74e2ac332298bf297af8ad1c", "dweb:/ipfs/QmYRREB1X7az2YnMkcjQqfVHwdqVy1oQAT89wwfxMGS4n4" ], "license": "GPL-3.0" }, "contracts/release/interfaces/IZeroExV2.sol": { "keccak256": "0x0c07eab651b8ce3000ddcfd1cad14f16b76a8d032a3bdbf25e17dad8b26fa125", "urls": [ "bzz-raw://f675908202e1fb7e22905163eead8d9eaefce731a7d288841126a00e2177bcdc", "dweb:/ipfs/QmRUoZdkEvxaK2Ma6UeGHMR2PdrMkuiujioc59W8rYqKJu" ], "license": "GPL-3.0" }, "contracts/release/utils/AssetHelpers.sol": { "keccak256": "0x01825f9b744f0bdbbcbed59503845b46e31b67ab510d53d4834c22967e12fc5f", "urls": [ "bzz-raw://a6937098b8b5e2238c5d2617d4c7870b61eb3dc6b24e38a6d037353f92a7db4b", "dweb:/ipfs/QmXfdWqtc4Dyn4ShhCc6ZZscApMZWtSaonvikwemhczb5E" ], "license": "GPL-3.0" }, "contracts/release/utils/FundDeployerOwnerMixin.sol": { "keccak256": "0xd415583828581051080d575f058643f4975d7048fda0d1765122b260d9d14934", "urls": [ "bzz-raw://8191af7a3cd0867af1a401d3cba1294be054c761c2276d21bff7c9296ecc6927", "dweb:/ipfs/QmYBSrx1XrcqMNkH2Q6ALuczRv6LgpzVHvFH3DjvCu6SaM" ], "license": "GPL-3.0" }, "contracts/release/utils/MathHelpers.sol": { "keccak256": "0x8aef498ae98bfb40cd1df8c9ed652b4c092fbbe62d5a1fad522c53654523248e", "urls": [ "bzz-raw://ed62789f6a8d5ca30a40c591f244b915e4711493a9e4b1b4d40ea2bc97b02a95", "dweb:/ipfs/QmWyXJ55arURtx9VMkUQokdsjk8tbgM2cC8rENFUMyz5D3" ], "license": "GPL-3.0" }, "node_modules/@openzeppelin/contracts/math/SafeMath.sol": { "keccak256": "0xcc78a17dd88fa5a2edc60c8489e2f405c0913b377216a5b26b35656b2d0dab52", "urls": [ "bzz-raw://526dc85e1f9b9b45830e202568d267d93dde7a4fcccf4ad7798dadcd92304d3c", "dweb:/ipfs/QmaoXMB972J3cSDLtBq3xBo4jLwqD2uzXTwujtSPqkYVhR" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { "keccak256": "0xca0c2396dbeb3503b51abf4248ebf77a1461edad513c01529df51850a012bee3", "urls": [ "bzz-raw://991b44ff44e0496e8554a90f4c0512c28faed45104d40430019f3c67ea67740e", "dweb:/ipfs/Qmc3nRapVbcctELoZS5qe17zLkFB3bETBfwzCTMF1CSuGE" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { "keccak256": "0x5f02220344881ce43204ae4a6281145a67bc52c2bb1290a791857df3d19d78f5", "urls": [ "bzz-raw://24427744bd3e6cb73c17010119af12a318289c0253a4d9acb8576c9fb3797b08", "dweb:/ipfs/QmTLDqpKRBuxGxRAmjgXt9AkXyACW3MtKzi7PYjm5iMfGC" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/token/ERC20/SafeERC20.sol": { "keccak256": "0xf12dfbe97e6276980b83d2830bb0eb75e0cf4f3e626c2471137f82158ae6a0fc", "urls": [ "bzz-raw://b3a849c2d95e85463909e5b5c920b13e7a11216ca14127085e16d22b9379d52a", "dweb:/ipfs/QmUg3CZDbCCcQdroEpexBy5ZFd5vD1UWijWQq9qHZjtJNQ" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Address.sol": { "keccak256": "0x28911e614500ae7c607a432a709d35da25f3bc5ddc8bd12b278b66358070c0ea", "urls": [ "bzz-raw://256c8c8af5eb072bc473226ab2b2187149b8fc04f5f4a4820db22527f5ce8e3c", "dweb:/ipfs/QmRvi5BhnL7Rxf85KrJhwM6RRhukm4tzoctRdgQEheNyiN" ], "license": "MIT" }, "node_modules/@openzeppelin/contracts/utils/Context.sol": { "keccak256": "0x8d3cb350f04ff49cfb10aef08d87f19dcbaecc8027b0bed12f3275cd12f38cf0", "urls": [ "bzz-raw://ded47ec7c96750f9bd04bbbc84f659992d4ba901cb7b532a52cd468272cf378f", "dweb:/ipfs/QmfBrGtQP7rZEqEg6Wz6jh2N2Kukpj1z5v3CGWmAqrzm96" ], "license": "MIT" } }, "version": 1 }, "id": 178 } diff --git a/eth_defi/abi/enzyme/console.json b/eth_defi/abi/enzyme/console.json index 98300204..7127f5a7 100644 --- a/eth_defi/abi/enzyme/console.json +++ b/eth_defi/abi/enzyme/console.json @@ -1,78 +1 @@ -{ - "abi": [], - "bytecode": { - "object": "0x602d6023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c634300060c000a", - "sourceMap": "66:66622:439:-:0;;;;;;;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c634300060c000a", - "sourceMap": "66:66622:439:-:0;;;;;;;;", - "linkReferences": {} - }, - "methodIdentifiers": {}, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"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\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "lib/forge-std/src/console.sol": "console" - }, - "libraries": {} - }, - "sources": { - "lib/forge-std/src/console.sol": { - "keccak256": "0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba", - "urls": [ - "bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70", - "dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 439 -} +{ "abi": [], "bytecode": { "object": "0x602d6023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c634300060c000a", "sourceMap": "66:66622:439:-:0;;;;;;;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c634300060c000a", "sourceMap": "66:66622:439:-:0;;;;;;;;", "linkReferences": {} }, "methodIdentifiers": {}, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"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\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "lib/forge-std/src/console.sol": "console" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "lib/forge-std/src/console.sol": { "keccak256": "0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba", "urls": [ "bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70", "dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec" ], "license": "MIT" } }, "version": 1 }, "id": 439 } diff --git a/eth_defi/abi/enzyme/console2.json b/eth_defi/abi/enzyme/console2.json index 974d2c2c..8c963be5 100644 --- a/eth_defi/abi/enzyme/console2.json +++ b/eth_defi/abi/enzyme/console2.json @@ -1,78 +1 @@ -{ - "abi": [], - "bytecode": { - "object": "0x602d6023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c634300060c000a", - "sourceMap": "515:68470:440:-:0;;;;;;;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c634300060c000a", - "sourceMap": "515:68470:440:-:0;;;;;;;;", - "linkReferences": {} - }, - "methodIdentifiers": {}, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/console2.sol\":\"console2\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0xbeb823fcdb356244a83aaccdf828ad019ecc1ffaa3dff18e624fc6d5714ea671\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4cbe9400340e5f9ec55e2aff3bad1c15fa3afbbe37e80800e6f3fed2ad26854f\",\"dweb:/ipfs/QmdJBABsuXkvWxVzEyGXsTE3vyfBPXDdw5xvvtUz3JeoYW\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "lib/forge-std/src/console2.sol": "console2" - }, - "libraries": {} - }, - "sources": { - "lib/forge-std/src/console2.sol": { - "keccak256": "0xbeb823fcdb356244a83aaccdf828ad019ecc1ffaa3dff18e624fc6d5714ea671", - "urls": [ - "bzz-raw://4cbe9400340e5f9ec55e2aff3bad1c15fa3afbbe37e80800e6f3fed2ad26854f", - "dweb:/ipfs/QmdJBABsuXkvWxVzEyGXsTE3vyfBPXDdw5xvvtUz3JeoYW" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 440 -} +{ "abi": [], "bytecode": { "object": "0x602d6023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c634300060c000a", "sourceMap": "515:68470:440:-:0;;;;;;;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c634300060c000a", "sourceMap": "515:68470:440:-:0;;;;;;;;", "linkReferences": {} }, "methodIdentifiers": {}, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/console2.sol\":\"console2\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0xbeb823fcdb356244a83aaccdf828ad019ecc1ffaa3dff18e624fc6d5714ea671\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4cbe9400340e5f9ec55e2aff3bad1c15fa3afbbe37e80800e6f3fed2ad26854f\",\"dweb:/ipfs/QmdJBABsuXkvWxVzEyGXsTE3vyfBPXDdw5xvvtUz3JeoYW\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "lib/forge-std/src/console2.sol": "console2" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "lib/forge-std/src/console2.sol": { "keccak256": "0xbeb823fcdb356244a83aaccdf828ad019ecc1ffaa3dff18e624fc6d5714ea671", "urls": [ "bzz-raw://4cbe9400340e5f9ec55e2aff3bad1c15fa3afbbe37e80800e6f3fed2ad26854f", "dweb:/ipfs/QmdJBABsuXkvWxVzEyGXsTE3vyfBPXDdw5xvvtUz3JeoYW" ], "license": "MIT" } }, "version": 1 }, "id": 440 } diff --git a/eth_defi/abi/enzyme/stdError.json b/eth_defi/abi/enzyme/stdError.json index 5f75ed46..63cb4236 100644 --- a/eth_defi/abi/enzyme/stdError.json +++ b/eth_defi/abi/enzyme/stdError.json @@ -1,391 +1 @@ -{ - "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": "lowLevelError", - "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" - } - ], - "bytecode": { - "object": "0x6103c0610026600b82828239805160001a60731461001957fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100a85760003560e01c8063ac3d92c611610070578063ac3d92c61461014a578063b22dc54d14610152578063b67689da1461015a578063d160e4de14610162578063fa784a441461016a576100a8565b806305ee8612146100ad578063103329771461012a5780631de45560146101325780638995290f1461013a578063986c5f6814610142575b600080fd5b6100b5610172565b6040805160208082528351818301528351919283929083019185019080838360005b838110156100ef5781810151838201526020016100d7565b50505050905090810190601f16801561011c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6100b56101b0565b6100b56101ee565b6100b561022c565b6100b561026a565b6100b56102a8565b6100b56102bb565b6100b56102f9565b6100b5610337565b6100b5610375565b6040805160326024808301919091528251808303909101815260449091019091526020810180516001600160e01b0316634e487b7160e01b17905281565b6040805160016024808301919091528251808303909101815260449091019091526020810180516001600160e01b0316634e487b7160e01b17905281565b6040805160216024808301919091528251808303909101815260449091019091526020810180516001600160e01b0316634e487b7160e01b17905281565b6040805160116024808301919091528251808303909101815260449091019091526020810180516001600160e01b0316634e487b7160e01b17905281565b6040805160416024808301919091528251808303909101815260449091019091526020810180516001600160e01b0316634e487b7160e01b17905281565b6040518060200160405280600081525081565b6040805160316024808301919091528251808303909101815260449091019091526020810180516001600160e01b0316634e487b7160e01b17905281565b6040805160516024808301919091528251808303909101815260449091019091526020810180516001600160e01b0316634e487b7160e01b17905281565b6040805160226024808301919091528251808303909101815260449091019091526020810180516001600160e01b0316634e487b7160e01b17905281565b6040805160126024808301919091528251808303909101815260449091019091526020810180516001600160e01b0316634e487b7160e01b1790528156fea164736f6c634300060c000a", - "sourceMap": "14939:984:437:-:0;;;;;;;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x73000000000000000000000000000000000000000030146080604052600436106100a85760003560e01c8063ac3d92c611610070578063ac3d92c61461014a578063b22dc54d14610152578063b67689da1461015a578063d160e4de14610162578063fa784a441461016a576100a8565b806305ee8612146100ad578063103329771461012a5780631de45560146101325780638995290f1461013a578063986c5f6814610142575b600080fd5b6100b5610172565b6040805160208082528351818301528351919283929083019185019080838360005b838110156100ef5781810151838201526020016100d7565b50505050905090810190601f16801561011c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6100b56101b0565b6100b56101ee565b6100b561022c565b6100b561026a565b6100b56102a8565b6100b56102bb565b6100b56102f9565b6100b5610337565b6100b5610375565b6040805160326024808301919091528251808303909101815260449091019091526020810180516001600160e01b0316634e487b7160e01b17905281565b6040805160016024808301919091528251808303909101815260449091019091526020810180516001600160e01b0316634e487b7160e01b17905281565b6040805160216024808301919091528251808303909101815260449091019091526020810180516001600160e01b0316634e487b7160e01b17905281565b6040805160116024808301919091528251808303909101815260449091019091526020810180516001600160e01b0316634e487b7160e01b17905281565b6040805160416024808301919091528251808303909101815260449091019091526020810180516001600160e01b0316634e487b7160e01b17905281565b6040518060200160405280600081525081565b6040805160316024808301919091528251808303909101815260449091019091526020810180516001600160e01b0316634e487b7160e01b17905281565b6040805160516024808301919091528251808303909101815260449091019091526020810180516001600160e01b0316634e487b7160e01b17905281565b6040805160226024808301919091528251808303909101815260449091019091526020810180516001600160e01b0316634e487b7160e01b17905281565b6040805160126024808301919091528251808303909101815260449091019091526020810180516001600160e01b0316634e487b7160e01b1790528156fea164736f6c634300060c000a", - "sourceMap": "14939:984:437:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15517:85;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14962:86;;;:::i;15238:91::-;;;:::i;15054:87::-;;;:::i;15608:88::-;;;:::i;15865:47::-;;;:::i;15431:80::-;;;:::i;15702:84::-;;;:::i;15335:90::-;;;:::i;15147:85::-;;;:::i;15517:::-;15555:47;;;15597:4;15555:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15555:47:437;-1:-1:-1;;;15555:47:437;;;15517:85;:::o;14962:86::-;15001:47;;;15043:4;15001:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15001:47:437;-1:-1:-1;;;15001:47:437;;;14962:86;:::o;15238:91::-;15282:47;;;15324:4;15282:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15282:47:437;-1:-1:-1;;;15282:47:437;;;15238:91;:::o;15054:87::-;15094:47;;;15136:4;15094:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15094:47:437;-1:-1:-1;;;15094:47:437;;;15054:87;:::o;15608:88::-;15649:47;;;15691:4;15649:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15649:47:437;-1:-1:-1;;;15649:47:437;;;15608:88;:::o;15865:47::-;15903:9;;;;;;;;;;;;15865:47;:::o;15431:80::-;15464:47;;;15506:4;15464:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15464:47:437;-1:-1:-1;;;15464:47:437;;;15431:80;:::o;15702:84::-;15739:47;;;15781:4;15739:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15739:47:437;-1:-1:-1;;;15739:47:437;;;15702:84;:::o;15335:90::-;15378:47;;;15420:4;15378:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15378:47:437;-1:-1:-1;;;15378:47:437;;;15335:90;:::o;15147:85::-;15185:47;;;15227:4;15185:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15185:47:437;-1:-1:-1;;;15185:47:437;;;15147:85;:::o", - "linkReferences": {} - }, - "methodIdentifiers": { - "arithmeticError()": "8995290f", - "assertionError()": "10332977", - "divisionError()": "fa784a44", - "encodeStorageError()": "d160e4de", - "enumConversionError()": "1de45560", - "indexOOBError()": "05ee8612", - "lowLevelError()": "ac3d92c6", - "memOverflowError()": "986c5f68", - "popError()": "b22dc54d", - "zeroVarError()": "b67689da" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"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\":\"lowLevelError\",\"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/Test.sol\":\"stdError\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"lib/forge-std/lib/ds-test/src/test.sol\":{\"keccak256\":\"0xb39cd1d5220cb474947b131e15a4538334b7e886af244b440ae5c9c6bba96a54\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://3101520221449ac0070bda3881311a71d9aa87e5210765e875246922cb5cb5f5\",\"dweb:/ipfs/Qmbg6kAHNoG7ox9N9Xqd9Ere2H2XixMFWFqvyPwFCzB3Gr\"]},\"lib/forge-std/src/Script.sol\":{\"keccak256\":\"0x4424dbcb8f5b741475445726f87408fcd89951fad973bec2ca442ee157f910e7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5b0b9f6dfb69245d8f888558ae82bf1d2cdeace46201444fe4b2e6a5283f944a\",\"dweb:/ipfs/QmWFSKeFEZngNcwNn7A84EF7pASo5qe6r5oK24r9Kwca7Z\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0xa85dee62f7a3d7d3b26051f28d08bbfaa6d76888b8e64395583c35f11070372b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f3ecace3d6120731c4520f651c36658940df958755a2c86d6bf0ec895320a915\",\"dweb:/ipfs/QmVGbUYLtMsAYF3C27qHKs3VHRuRNDypuDfs4XGK47kqUT\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x63fc2487cf3a6650d933e18bcb61766f15f74c327192381806ea00f8f6446f66\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aad99f7b2ed3b11ff6c17b84b4196c562898640a80cabc2c28c87c116099a00f\",\"dweb:/ipfs/QmQNNbxHabRycegyXwJWBDutrdcScAP2SU5zEvorWEaFpx\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0xbeb823fcdb356244a83aaccdf828ad019ecc1ffaa3dff18e624fc6d5714ea671\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4cbe9400340e5f9ec55e2aff3bad1c15fa3afbbe37e80800e6f3fed2ad26854f\",\"dweb:/ipfs/QmdJBABsuXkvWxVzEyGXsTE3vyfBPXDdw5xvvtUz3JeoYW\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "arithmeticError", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "assertionError", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "divisionError", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "encodeStorageError", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "enumConversionError", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "indexOOBError", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "lowLevelError", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "memOverflowError", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "popError", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "zeroVarError", - "outputs": [ - { - "internalType": "bytes", - "name": "", - "type": "bytes" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "lib/forge-std/src/Test.sol": "stdError" - }, - "libraries": {} - }, - "sources": { - "lib/forge-std/lib/ds-test/src/test.sol": { - "keccak256": "0xb39cd1d5220cb474947b131e15a4538334b7e886af244b440ae5c9c6bba96a54", - "urls": [ - "bzz-raw://3101520221449ac0070bda3881311a71d9aa87e5210765e875246922cb5cb5f5", - "dweb:/ipfs/Qmbg6kAHNoG7ox9N9Xqd9Ere2H2XixMFWFqvyPwFCzB3Gr" - ], - "license": "GPL-3.0-or-later" - }, - "lib/forge-std/src/Script.sol": { - "keccak256": "0x4424dbcb8f5b741475445726f87408fcd89951fad973bec2ca442ee157f910e7", - "urls": [ - "bzz-raw://5b0b9f6dfb69245d8f888558ae82bf1d2cdeace46201444fe4b2e6a5283f944a", - "dweb:/ipfs/QmWFSKeFEZngNcwNn7A84EF7pASo5qe6r5oK24r9Kwca7Z" - ], - "license": "MIT" - }, - "lib/forge-std/src/Test.sol": { - "keccak256": "0xa85dee62f7a3d7d3b26051f28d08bbfaa6d76888b8e64395583c35f11070372b", - "urls": [ - "bzz-raw://f3ecace3d6120731c4520f651c36658940df958755a2c86d6bf0ec895320a915", - "dweb:/ipfs/QmVGbUYLtMsAYF3C27qHKs3VHRuRNDypuDfs4XGK47kqUT" - ], - "license": "MIT" - }, - "lib/forge-std/src/Vm.sol": { - "keccak256": "0x63fc2487cf3a6650d933e18bcb61766f15f74c327192381806ea00f8f6446f66", - "urls": [ - "bzz-raw://aad99f7b2ed3b11ff6c17b84b4196c562898640a80cabc2c28c87c116099a00f", - "dweb:/ipfs/QmQNNbxHabRycegyXwJWBDutrdcScAP2SU5zEvorWEaFpx" - ], - "license": "MIT" - }, - "lib/forge-std/src/console.sol": { - "keccak256": "0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba", - "urls": [ - "bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70", - "dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec" - ], - "license": "MIT" - }, - "lib/forge-std/src/console2.sol": { - "keccak256": "0xbeb823fcdb356244a83aaccdf828ad019ecc1ffaa3dff18e624fc6d5714ea671", - "urls": [ - "bzz-raw://4cbe9400340e5f9ec55e2aff3bad1c15fa3afbbe37e80800e6f3fed2ad26854f", - "dweb:/ipfs/QmdJBABsuXkvWxVzEyGXsTE3vyfBPXDdw5xvvtUz3JeoYW" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 437 -} +{ "abi": [ { "type": "function", "name": "arithmeticError", "inputs": [], "outputs": [ { "name": "", "type": "bytes", "internalType": "bytes" } ], "stateMutability": "view" }, { "type": "function", "name": "assertionError", "inputs": [], "outputs": [ { "name": "", "type": "bytes", "internalType": "bytes" } ], "stateMutability": "view" }, { "type": "function", "name": "divisionError", "inputs": [], "outputs": [ { "name": "", "type": "bytes", "internalType": "bytes" } ], "stateMutability": "view" }, { "type": "function", "name": "encodeStorageError", "inputs": [], "outputs": [ { "name": "", "type": "bytes", "internalType": "bytes" } ], "stateMutability": "view" }, { "type": "function", "name": "enumConversionError", "inputs": [], "outputs": [ { "name": "", "type": "bytes", "internalType": "bytes" } ], "stateMutability": "view" }, { "type": "function", "name": "indexOOBError", "inputs": [], "outputs": [ { "name": "", "type": "bytes", "internalType": "bytes" } ], "stateMutability": "view" }, { "type": "function", "name": "lowLevelError", "inputs": [], "outputs": [ { "name": "", "type": "bytes", "internalType": "bytes" } ], "stateMutability": "view" }, { "type": "function", "name": "memOverflowError", "inputs": [], "outputs": [ { "name": "", "type": "bytes", "internalType": "bytes" } ], "stateMutability": "view" }, { "type": "function", "name": "popError", "inputs": [], "outputs": [ { "name": "", "type": "bytes", "internalType": "bytes" } ], "stateMutability": "view" }, { "type": "function", "name": "zeroVarError", "inputs": [], "outputs": [ { "name": "", "type": "bytes", "internalType": "bytes" } ], "stateMutability": "view" } ], "bytecode": { "object": "0x6103c0610026600b82828239805160001a60731461001957fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100a85760003560e01c8063ac3d92c611610070578063ac3d92c61461014a578063b22dc54d14610152578063b67689da1461015a578063d160e4de14610162578063fa784a441461016a576100a8565b806305ee8612146100ad578063103329771461012a5780631de45560146101325780638995290f1461013a578063986c5f6814610142575b600080fd5b6100b5610172565b6040805160208082528351818301528351919283929083019185019080838360005b838110156100ef5781810151838201526020016100d7565b50505050905090810190601f16801561011c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6100b56101b0565b6100b56101ee565b6100b561022c565b6100b561026a565b6100b56102a8565b6100b56102bb565b6100b56102f9565b6100b5610337565b6100b5610375565b6040805160326024808301919091528251808303909101815260449091019091526020810180516001600160e01b0316634e487b7160e01b17905281565b6040805160016024808301919091528251808303909101815260449091019091526020810180516001600160e01b0316634e487b7160e01b17905281565b6040805160216024808301919091528251808303909101815260449091019091526020810180516001600160e01b0316634e487b7160e01b17905281565b6040805160116024808301919091528251808303909101815260449091019091526020810180516001600160e01b0316634e487b7160e01b17905281565b6040805160416024808301919091528251808303909101815260449091019091526020810180516001600160e01b0316634e487b7160e01b17905281565b6040518060200160405280600081525081565b6040805160316024808301919091528251808303909101815260449091019091526020810180516001600160e01b0316634e487b7160e01b17905281565b6040805160516024808301919091528251808303909101815260449091019091526020810180516001600160e01b0316634e487b7160e01b17905281565b6040805160226024808301919091528251808303909101815260449091019091526020810180516001600160e01b0316634e487b7160e01b17905281565b6040805160126024808301919091528251808303909101815260449091019091526020810180516001600160e01b0316634e487b7160e01b1790528156fea164736f6c634300060c000a", "sourceMap": "14939:984:437:-:0;;;;;;;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x73000000000000000000000000000000000000000030146080604052600436106100a85760003560e01c8063ac3d92c611610070578063ac3d92c61461014a578063b22dc54d14610152578063b67689da1461015a578063d160e4de14610162578063fa784a441461016a576100a8565b806305ee8612146100ad578063103329771461012a5780631de45560146101325780638995290f1461013a578063986c5f6814610142575b600080fd5b6100b5610172565b6040805160208082528351818301528351919283929083019185019080838360005b838110156100ef5781810151838201526020016100d7565b50505050905090810190601f16801561011c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6100b56101b0565b6100b56101ee565b6100b561022c565b6100b561026a565b6100b56102a8565b6100b56102bb565b6100b56102f9565b6100b5610337565b6100b5610375565b6040805160326024808301919091528251808303909101815260449091019091526020810180516001600160e01b0316634e487b7160e01b17905281565b6040805160016024808301919091528251808303909101815260449091019091526020810180516001600160e01b0316634e487b7160e01b17905281565b6040805160216024808301919091528251808303909101815260449091019091526020810180516001600160e01b0316634e487b7160e01b17905281565b6040805160116024808301919091528251808303909101815260449091019091526020810180516001600160e01b0316634e487b7160e01b17905281565b6040805160416024808301919091528251808303909101815260449091019091526020810180516001600160e01b0316634e487b7160e01b17905281565b6040518060200160405280600081525081565b6040805160316024808301919091528251808303909101815260449091019091526020810180516001600160e01b0316634e487b7160e01b17905281565b6040805160516024808301919091528251808303909101815260449091019091526020810180516001600160e01b0316634e487b7160e01b17905281565b6040805160226024808301919091528251808303909101815260449091019091526020810180516001600160e01b0316634e487b7160e01b17905281565b6040805160126024808301919091528251808303909101815260449091019091526020810180516001600160e01b0316634e487b7160e01b1790528156fea164736f6c634300060c000a", "sourceMap": "14939:984:437:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15517:85;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14962:86;;;:::i;15238:91::-;;;:::i;15054:87::-;;;:::i;15608:88::-;;;:::i;15865:47::-;;;:::i;15431:80::-;;;:::i;15702:84::-;;;:::i;15335:90::-;;;:::i;15147:85::-;;;:::i;15517:::-;15555:47;;;15597:4;15555:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15555:47:437;-1:-1:-1;;;15555:47:437;;;15517:85;:::o;14962:86::-;15001:47;;;15043:4;15001:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15001:47:437;-1:-1:-1;;;15001:47:437;;;14962:86;:::o;15238:91::-;15282:47;;;15324:4;15282:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15282:47:437;-1:-1:-1;;;15282:47:437;;;15238:91;:::o;15054:87::-;15094:47;;;15136:4;15094:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15094:47:437;-1:-1:-1;;;15094:47:437;;;15054:87;:::o;15608:88::-;15649:47;;;15691:4;15649:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15649:47:437;-1:-1:-1;;;15649:47:437;;;15608:88;:::o;15865:47::-;15903:9;;;;;;;;;;;;15865:47;:::o;15431:80::-;15464:47;;;15506:4;15464:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15464:47:437;-1:-1:-1;;;15464:47:437;;;15431:80;:::o;15702:84::-;15739:47;;;15781:4;15739:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15739:47:437;-1:-1:-1;;;15739:47:437;;;15702:84;:::o;15335:90::-;15378:47;;;15420:4;15378:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15378:47:437;-1:-1:-1;;;15378:47:437;;;15335:90;:::o;15147:85::-;15185:47;;;15227:4;15185:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15185:47:437;-1:-1:-1;;;15185:47:437;;;15147:85;:::o", "linkReferences": {} }, "methodIdentifiers": { "arithmeticError()": "8995290f", "assertionError()": "10332977", "divisionError()": "fa784a44", "encodeStorageError()": "d160e4de", "enumConversionError()": "1de45560", "indexOOBError()": "05ee8612", "lowLevelError()": "ac3d92c6", "memOverflowError()": "986c5f68", "popError()": "b22dc54d", "zeroVarError()": "b67689da" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"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\":\"lowLevelError\",\"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/Test.sol\":\"stdError\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"lib/forge-std/lib/ds-test/src/test.sol\":{\"keccak256\":\"0xb39cd1d5220cb474947b131e15a4538334b7e886af244b440ae5c9c6bba96a54\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://3101520221449ac0070bda3881311a71d9aa87e5210765e875246922cb5cb5f5\",\"dweb:/ipfs/Qmbg6kAHNoG7ox9N9Xqd9Ere2H2XixMFWFqvyPwFCzB3Gr\"]},\"lib/forge-std/src/Script.sol\":{\"keccak256\":\"0x4424dbcb8f5b741475445726f87408fcd89951fad973bec2ca442ee157f910e7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5b0b9f6dfb69245d8f888558ae82bf1d2cdeace46201444fe4b2e6a5283f944a\",\"dweb:/ipfs/QmWFSKeFEZngNcwNn7A84EF7pASo5qe6r5oK24r9Kwca7Z\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0xa85dee62f7a3d7d3b26051f28d08bbfaa6d76888b8e64395583c35f11070372b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f3ecace3d6120731c4520f651c36658940df958755a2c86d6bf0ec895320a915\",\"dweb:/ipfs/QmVGbUYLtMsAYF3C27qHKs3VHRuRNDypuDfs4XGK47kqUT\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x63fc2487cf3a6650d933e18bcb61766f15f74c327192381806ea00f8f6446f66\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aad99f7b2ed3b11ff6c17b84b4196c562898640a80cabc2c28c87c116099a00f\",\"dweb:/ipfs/QmQNNbxHabRycegyXwJWBDutrdcScAP2SU5zEvorWEaFpx\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0xbeb823fcdb356244a83aaccdf828ad019ecc1ffaa3dff18e624fc6d5714ea671\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4cbe9400340e5f9ec55e2aff3bad1c15fa3afbbe37e80800e6f3fed2ad26854f\",\"dweb:/ipfs/QmdJBABsuXkvWxVzEyGXsTE3vyfBPXDdw5xvvtUz3JeoYW\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [], "stateMutability": "view", "type": "function", "name": "arithmeticError", "outputs": [ { "internalType": "bytes", "name": "", "type": "bytes" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "assertionError", "outputs": [ { "internalType": "bytes", "name": "", "type": "bytes" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "divisionError", "outputs": [ { "internalType": "bytes", "name": "", "type": "bytes" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "encodeStorageError", "outputs": [ { "internalType": "bytes", "name": "", "type": "bytes" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "enumConversionError", "outputs": [ { "internalType": "bytes", "name": "", "type": "bytes" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "indexOOBError", "outputs": [ { "internalType": "bytes", "name": "", "type": "bytes" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "lowLevelError", "outputs": [ { "internalType": "bytes", "name": "", "type": "bytes" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "memOverflowError", "outputs": [ { "internalType": "bytes", "name": "", "type": "bytes" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "popError", "outputs": [ { "internalType": "bytes", "name": "", "type": "bytes" } ] }, { "inputs": [], "stateMutability": "view", "type": "function", "name": "zeroVarError", "outputs": [ { "internalType": "bytes", "name": "", "type": "bytes" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "lib/forge-std/src/Test.sol": "stdError" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "lib/forge-std/lib/ds-test/src/test.sol": { "keccak256": "0xb39cd1d5220cb474947b131e15a4538334b7e886af244b440ae5c9c6bba96a54", "urls": [ "bzz-raw://3101520221449ac0070bda3881311a71d9aa87e5210765e875246922cb5cb5f5", "dweb:/ipfs/Qmbg6kAHNoG7ox9N9Xqd9Ere2H2XixMFWFqvyPwFCzB3Gr" ], "license": "GPL-3.0-or-later" }, "lib/forge-std/src/Script.sol": { "keccak256": "0x4424dbcb8f5b741475445726f87408fcd89951fad973bec2ca442ee157f910e7", "urls": [ "bzz-raw://5b0b9f6dfb69245d8f888558ae82bf1d2cdeace46201444fe4b2e6a5283f944a", "dweb:/ipfs/QmWFSKeFEZngNcwNn7A84EF7pASo5qe6r5oK24r9Kwca7Z" ], "license": "MIT" }, "lib/forge-std/src/Test.sol": { "keccak256": "0xa85dee62f7a3d7d3b26051f28d08bbfaa6d76888b8e64395583c35f11070372b", "urls": [ "bzz-raw://f3ecace3d6120731c4520f651c36658940df958755a2c86d6bf0ec895320a915", "dweb:/ipfs/QmVGbUYLtMsAYF3C27qHKs3VHRuRNDypuDfs4XGK47kqUT" ], "license": "MIT" }, "lib/forge-std/src/Vm.sol": { "keccak256": "0x63fc2487cf3a6650d933e18bcb61766f15f74c327192381806ea00f8f6446f66", "urls": [ "bzz-raw://aad99f7b2ed3b11ff6c17b84b4196c562898640a80cabc2c28c87c116099a00f", "dweb:/ipfs/QmQNNbxHabRycegyXwJWBDutrdcScAP2SU5zEvorWEaFpx" ], "license": "MIT" }, "lib/forge-std/src/console.sol": { "keccak256": "0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba", "urls": [ "bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70", "dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec" ], "license": "MIT" }, "lib/forge-std/src/console2.sol": { "keccak256": "0xbeb823fcdb356244a83aaccdf828ad019ecc1ffaa3dff18e624fc6d5714ea671", "urls": [ "bzz-raw://4cbe9400340e5f9ec55e2aff3bad1c15fa3afbbe37e80800e6f3fed2ad26854f", "dweb:/ipfs/QmdJBABsuXkvWxVzEyGXsTE3vyfBPXDdw5xvvtUz3JeoYW" ], "license": "MIT" } }, "version": 1 }, "id": 437 } diff --git a/eth_defi/abi/enzyme/stdMath.json b/eth_defi/abi/enzyme/stdMath.json index c7f54d00..46027213 100644 --- a/eth_defi/abi/enzyme/stdMath.json +++ b/eth_defi/abi/enzyme/stdMath.json @@ -1,118 +1 @@ -{ - "abi": [], - "bytecode": { - "object": "0x602d6023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c634300060c000a", - "sourceMap": "25471:1306:437:-:0;;;;;;;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c634300060c000a", - "sourceMap": "25471:1306:437:-:0;;;;;;;;", - "linkReferences": {} - }, - "methodIdentifiers": {}, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/Test.sol\":\"stdMath\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"lib/forge-std/lib/ds-test/src/test.sol\":{\"keccak256\":\"0xb39cd1d5220cb474947b131e15a4538334b7e886af244b440ae5c9c6bba96a54\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://3101520221449ac0070bda3881311a71d9aa87e5210765e875246922cb5cb5f5\",\"dweb:/ipfs/Qmbg6kAHNoG7ox9N9Xqd9Ere2H2XixMFWFqvyPwFCzB3Gr\"]},\"lib/forge-std/src/Script.sol\":{\"keccak256\":\"0x4424dbcb8f5b741475445726f87408fcd89951fad973bec2ca442ee157f910e7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5b0b9f6dfb69245d8f888558ae82bf1d2cdeace46201444fe4b2e6a5283f944a\",\"dweb:/ipfs/QmWFSKeFEZngNcwNn7A84EF7pASo5qe6r5oK24r9Kwca7Z\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0xa85dee62f7a3d7d3b26051f28d08bbfaa6d76888b8e64395583c35f11070372b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f3ecace3d6120731c4520f651c36658940df958755a2c86d6bf0ec895320a915\",\"dweb:/ipfs/QmVGbUYLtMsAYF3C27qHKs3VHRuRNDypuDfs4XGK47kqUT\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x63fc2487cf3a6650d933e18bcb61766f15f74c327192381806ea00f8f6446f66\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aad99f7b2ed3b11ff6c17b84b4196c562898640a80cabc2c28c87c116099a00f\",\"dweb:/ipfs/QmQNNbxHabRycegyXwJWBDutrdcScAP2SU5zEvorWEaFpx\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0xbeb823fcdb356244a83aaccdf828ad019ecc1ffaa3dff18e624fc6d5714ea671\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4cbe9400340e5f9ec55e2aff3bad1c15fa3afbbe37e80800e6f3fed2ad26854f\",\"dweb:/ipfs/QmdJBABsuXkvWxVzEyGXsTE3vyfBPXDdw5xvvtUz3JeoYW\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "lib/forge-std/src/Test.sol": "stdMath" - }, - "libraries": {} - }, - "sources": { - "lib/forge-std/lib/ds-test/src/test.sol": { - "keccak256": "0xb39cd1d5220cb474947b131e15a4538334b7e886af244b440ae5c9c6bba96a54", - "urls": [ - "bzz-raw://3101520221449ac0070bda3881311a71d9aa87e5210765e875246922cb5cb5f5", - "dweb:/ipfs/Qmbg6kAHNoG7ox9N9Xqd9Ere2H2XixMFWFqvyPwFCzB3Gr" - ], - "license": "GPL-3.0-or-later" - }, - "lib/forge-std/src/Script.sol": { - "keccak256": "0x4424dbcb8f5b741475445726f87408fcd89951fad973bec2ca442ee157f910e7", - "urls": [ - "bzz-raw://5b0b9f6dfb69245d8f888558ae82bf1d2cdeace46201444fe4b2e6a5283f944a", - "dweb:/ipfs/QmWFSKeFEZngNcwNn7A84EF7pASo5qe6r5oK24r9Kwca7Z" - ], - "license": "MIT" - }, - "lib/forge-std/src/Test.sol": { - "keccak256": "0xa85dee62f7a3d7d3b26051f28d08bbfaa6d76888b8e64395583c35f11070372b", - "urls": [ - "bzz-raw://f3ecace3d6120731c4520f651c36658940df958755a2c86d6bf0ec895320a915", - "dweb:/ipfs/QmVGbUYLtMsAYF3C27qHKs3VHRuRNDypuDfs4XGK47kqUT" - ], - "license": "MIT" - }, - "lib/forge-std/src/Vm.sol": { - "keccak256": "0x63fc2487cf3a6650d933e18bcb61766f15f74c327192381806ea00f8f6446f66", - "urls": [ - "bzz-raw://aad99f7b2ed3b11ff6c17b84b4196c562898640a80cabc2c28c87c116099a00f", - "dweb:/ipfs/QmQNNbxHabRycegyXwJWBDutrdcScAP2SU5zEvorWEaFpx" - ], - "license": "MIT" - }, - "lib/forge-std/src/console.sol": { - "keccak256": "0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba", - "urls": [ - "bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70", - "dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec" - ], - "license": "MIT" - }, - "lib/forge-std/src/console2.sol": { - "keccak256": "0xbeb823fcdb356244a83aaccdf828ad019ecc1ffaa3dff18e624fc6d5714ea671", - "urls": [ - "bzz-raw://4cbe9400340e5f9ec55e2aff3bad1c15fa3afbbe37e80800e6f3fed2ad26854f", - "dweb:/ipfs/QmdJBABsuXkvWxVzEyGXsTE3vyfBPXDdw5xvvtUz3JeoYW" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 437 -} +{ "abi": [], "bytecode": { "object": "0x602d6023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c634300060c000a", "sourceMap": "25471:1306:437:-:0;;;;;;;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x73000000000000000000000000000000000000000030146080604052600080fdfea164736f6c634300060c000a", "sourceMap": "25471:1306:437:-:0;;;;;;;;", "linkReferences": {} }, "methodIdentifiers": {}, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/Test.sol\":\"stdMath\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"lib/forge-std/lib/ds-test/src/test.sol\":{\"keccak256\":\"0xb39cd1d5220cb474947b131e15a4538334b7e886af244b440ae5c9c6bba96a54\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://3101520221449ac0070bda3881311a71d9aa87e5210765e875246922cb5cb5f5\",\"dweb:/ipfs/Qmbg6kAHNoG7ox9N9Xqd9Ere2H2XixMFWFqvyPwFCzB3Gr\"]},\"lib/forge-std/src/Script.sol\":{\"keccak256\":\"0x4424dbcb8f5b741475445726f87408fcd89951fad973bec2ca442ee157f910e7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5b0b9f6dfb69245d8f888558ae82bf1d2cdeace46201444fe4b2e6a5283f944a\",\"dweb:/ipfs/QmWFSKeFEZngNcwNn7A84EF7pASo5qe6r5oK24r9Kwca7Z\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0xa85dee62f7a3d7d3b26051f28d08bbfaa6d76888b8e64395583c35f11070372b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f3ecace3d6120731c4520f651c36658940df958755a2c86d6bf0ec895320a915\",\"dweb:/ipfs/QmVGbUYLtMsAYF3C27qHKs3VHRuRNDypuDfs4XGK47kqUT\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x63fc2487cf3a6650d933e18bcb61766f15f74c327192381806ea00f8f6446f66\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aad99f7b2ed3b11ff6c17b84b4196c562898640a80cabc2c28c87c116099a00f\",\"dweb:/ipfs/QmQNNbxHabRycegyXwJWBDutrdcScAP2SU5zEvorWEaFpx\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0xbeb823fcdb356244a83aaccdf828ad019ecc1ffaa3dff18e624fc6d5714ea671\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4cbe9400340e5f9ec55e2aff3bad1c15fa3afbbe37e80800e6f3fed2ad26854f\",\"dweb:/ipfs/QmdJBABsuXkvWxVzEyGXsTE3vyfBPXDdw5xvvtUz3JeoYW\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "lib/forge-std/src/Test.sol": "stdMath" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "lib/forge-std/lib/ds-test/src/test.sol": { "keccak256": "0xb39cd1d5220cb474947b131e15a4538334b7e886af244b440ae5c9c6bba96a54", "urls": [ "bzz-raw://3101520221449ac0070bda3881311a71d9aa87e5210765e875246922cb5cb5f5", "dweb:/ipfs/Qmbg6kAHNoG7ox9N9Xqd9Ere2H2XixMFWFqvyPwFCzB3Gr" ], "license": "GPL-3.0-or-later" }, "lib/forge-std/src/Script.sol": { "keccak256": "0x4424dbcb8f5b741475445726f87408fcd89951fad973bec2ca442ee157f910e7", "urls": [ "bzz-raw://5b0b9f6dfb69245d8f888558ae82bf1d2cdeace46201444fe4b2e6a5283f944a", "dweb:/ipfs/QmWFSKeFEZngNcwNn7A84EF7pASo5qe6r5oK24r9Kwca7Z" ], "license": "MIT" }, "lib/forge-std/src/Test.sol": { "keccak256": "0xa85dee62f7a3d7d3b26051f28d08bbfaa6d76888b8e64395583c35f11070372b", "urls": [ "bzz-raw://f3ecace3d6120731c4520f651c36658940df958755a2c86d6bf0ec895320a915", "dweb:/ipfs/QmVGbUYLtMsAYF3C27qHKs3VHRuRNDypuDfs4XGK47kqUT" ], "license": "MIT" }, "lib/forge-std/src/Vm.sol": { "keccak256": "0x63fc2487cf3a6650d933e18bcb61766f15f74c327192381806ea00f8f6446f66", "urls": [ "bzz-raw://aad99f7b2ed3b11ff6c17b84b4196c562898640a80cabc2c28c87c116099a00f", "dweb:/ipfs/QmQNNbxHabRycegyXwJWBDutrdcScAP2SU5zEvorWEaFpx" ], "license": "MIT" }, "lib/forge-std/src/console.sol": { "keccak256": "0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba", "urls": [ "bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70", "dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec" ], "license": "MIT" }, "lib/forge-std/src/console2.sol": { "keccak256": "0xbeb823fcdb356244a83aaccdf828ad019ecc1ffaa3dff18e624fc6d5714ea671", "urls": [ "bzz-raw://4cbe9400340e5f9ec55e2aff3bad1c15fa3afbbe37e80800e6f3fed2ad26854f", "dweb:/ipfs/QmdJBABsuXkvWxVzEyGXsTE3vyfBPXDdw5xvvtUz3JeoYW" ], "license": "MIT" } }, "version": 1 }, "id": 437 } diff --git a/eth_defi/abi/enzyme/stdStorage.json b/eth_defi/abi/enzyme/stdStorage.json index 180cf001..b87f18a2 100644 --- a/eth_defi/abi/enzyme/stdStorage.json +++ b/eth_defi/abi/enzyme/stdStorage.json @@ -1,270 +1 @@ -{ - "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" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "b", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "offset", - "type": "uint256" - } - ], - "name": "bytesToBytes32", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ], - "stateMutability": "pure", - "type": "function" - } - ], - "bytecode": { - "object": "0x610160610026600b82828239805160001a60731461001957fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100355760003560e01c8063535849391461003a575b600080fd5b6100e26004803603604081101561005057600080fd5b81019060208101813564010000000081111561006b57600080fd5b82018360208201111561007d57600080fd5b8035906020019184600183028401116401000000008311171561009f57600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955050913592506100f4915050565b60408051918252519081900360200190f35b6000806000602085511161010957845161010c565b60205b905060005b818110156101495780600802868287018151811061012b57fe5b01602001516001600160f81b031916901c9290921791600101610111565b509094935050505056fea164736f6c634300060c000a", - "sourceMap": "16401:8872:437:-:0;;;;;;;;;;;;;;;;;;;;;;;;;", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x73000000000000000000000000000000000000000030146080604052600436106100355760003560e01c8063535849391461003a575b600080fd5b6100e26004803603604081101561005057600080fd5b81019060208101813564010000000081111561006b57600080fd5b82018360208201111561007d57600080fd5b8035906020019184600183028401116401000000008311171561009f57600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955050913592506100f4915050565b60408051918252519081900360200190f35b6000806000602085511161010957845161010c565b60205b905060005b818110156101495780600802868287018151811061012b57fe5b01602001516001600160f81b031916901c9290921791600101610111565b509094935050505056fea164736f6c634300060c000a", - "sourceMap": "16401:8872:437:-:0;;;;;;;;;;;;;;;;;;;;;;;;24571:297;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;24571:297:437;;-1:-1:-1;;24571:297:437;;;-1:-1:-1;24571:297:437;;-1:-1:-1;;24571:297:437:i;:::-;;;;;;;;;;;;;;;;;24645:7;24664:11;24686;24711:2;24700:1;:8;:13;:29;;24721:1;:8;24700:29;;;24716:2;24700:29;24686:43;;24744:6;24739:103;24760:3;24756:1;:7;24739:103;;;24825:1;24829;24825:5;24799:1;24810;24801:6;:10;24799:13;;;;;;;;;;;;-1:-1:-1;;;;;;24799:13:437;24791:40;;24784:47;;;;;24765:3;;24739:103;;;-1:-1:-1;24858:3:437;;24571:297;-1:-1:-1;;;;24571:297:437:o", - "linkReferences": {} - }, - "methodIdentifiers": { - "bytesToBytes32(bytes,uint256)": "53584939" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"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\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"b\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"offset\",\"type\":\"uint256\"}],\"name\":\"bytesToBytes32\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/Test.sol\":\"stdStorage\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"lib/forge-std/lib/ds-test/src/test.sol\":{\"keccak256\":\"0xb39cd1d5220cb474947b131e15a4538334b7e886af244b440ae5c9c6bba96a54\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://3101520221449ac0070bda3881311a71d9aa87e5210765e875246922cb5cb5f5\",\"dweb:/ipfs/Qmbg6kAHNoG7ox9N9Xqd9Ere2H2XixMFWFqvyPwFCzB3Gr\"]},\"lib/forge-std/src/Script.sol\":{\"keccak256\":\"0x4424dbcb8f5b741475445726f87408fcd89951fad973bec2ca442ee157f910e7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5b0b9f6dfb69245d8f888558ae82bf1d2cdeace46201444fe4b2e6a5283f944a\",\"dweb:/ipfs/QmWFSKeFEZngNcwNn7A84EF7pASo5qe6r5oK24r9Kwca7Z\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0xa85dee62f7a3d7d3b26051f28d08bbfaa6d76888b8e64395583c35f11070372b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f3ecace3d6120731c4520f651c36658940df958755a2c86d6bf0ec895320a915\",\"dweb:/ipfs/QmVGbUYLtMsAYF3C27qHKs3VHRuRNDypuDfs4XGK47kqUT\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x63fc2487cf3a6650d933e18bcb61766f15f74c327192381806ea00f8f6446f66\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aad99f7b2ed3b11ff6c17b84b4196c562898640a80cabc2c28c87c116099a00f\",\"dweb:/ipfs/QmQNNbxHabRycegyXwJWBDutrdcScAP2SU5zEvorWEaFpx\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0xbeb823fcdb356244a83aaccdf828ad019ecc1ffaa3dff18e624fc6d5714ea671\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4cbe9400340e5f9ec55e2aff3bad1c15fa3afbbe37e80800e6f3fed2ad26854f\",\"dweb:/ipfs/QmdJBABsuXkvWxVzEyGXsTE3vyfBPXDdw5xvvtUz3JeoYW\"]}},\"version\":1}", - "metadata": { - "compiler": { - "version": "0.6.12+commit.27d51765" - }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "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", - "indexed": false - } - ], - "type": "event", - "name": "SlotFound", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "who", - "type": "address", - "indexed": false - }, - { - "internalType": "uint256", - "name": "slot", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "WARNING_UninitedSlot", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "b", - "type": "bytes" - }, - { - "internalType": "uint256", - "name": "offset", - "type": "uint256" - } - ], - "stateMutability": "pure", - "type": "function", - "name": "bytesToBytes32", - "outputs": [ - { - "internalType": "bytes32", - "name": "", - "type": "bytes32" - } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": {}, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": {}, - "version": 1 - } - }, - "settings": { - "remappings": [ - ":@enzyme/=contracts/", - ":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", - ":@openzeppelin/=node_modules/@openzeppelin/", - ":@uniswap/=node_modules/@uniswap/", - ":base64-sol/=node_modules/base64-sol/", - ":ds-test/=lib/forge-std/lib/ds-test/src/", - ":forge-std/=lib/forge-std/src/", - ":hardhat-deploy/=node_modules/hardhat-deploy/", - ":hardhat/=node_modules/hardhat/" - ], - "optimizer": { - "runs": 200, - "details": { - "peephole": true, - "jumpdestRemover": true, - "orderLiterals": true, - "deduplicate": true, - "cse": true, - "constantOptimizer": true, - "yul": false - } - }, - "metadata": { - "bytecodeHash": "none" - }, - "compilationTarget": { - "lib/forge-std/src/Test.sol": "stdStorage" - }, - "libraries": {} - }, - "sources": { - "lib/forge-std/lib/ds-test/src/test.sol": { - "keccak256": "0xb39cd1d5220cb474947b131e15a4538334b7e886af244b440ae5c9c6bba96a54", - "urls": [ - "bzz-raw://3101520221449ac0070bda3881311a71d9aa87e5210765e875246922cb5cb5f5", - "dweb:/ipfs/Qmbg6kAHNoG7ox9N9Xqd9Ere2H2XixMFWFqvyPwFCzB3Gr" - ], - "license": "GPL-3.0-or-later" - }, - "lib/forge-std/src/Script.sol": { - "keccak256": "0x4424dbcb8f5b741475445726f87408fcd89951fad973bec2ca442ee157f910e7", - "urls": [ - "bzz-raw://5b0b9f6dfb69245d8f888558ae82bf1d2cdeace46201444fe4b2e6a5283f944a", - "dweb:/ipfs/QmWFSKeFEZngNcwNn7A84EF7pASo5qe6r5oK24r9Kwca7Z" - ], - "license": "MIT" - }, - "lib/forge-std/src/Test.sol": { - "keccak256": "0xa85dee62f7a3d7d3b26051f28d08bbfaa6d76888b8e64395583c35f11070372b", - "urls": [ - "bzz-raw://f3ecace3d6120731c4520f651c36658940df958755a2c86d6bf0ec895320a915", - "dweb:/ipfs/QmVGbUYLtMsAYF3C27qHKs3VHRuRNDypuDfs4XGK47kqUT" - ], - "license": "MIT" - }, - "lib/forge-std/src/Vm.sol": { - "keccak256": "0x63fc2487cf3a6650d933e18bcb61766f15f74c327192381806ea00f8f6446f66", - "urls": [ - "bzz-raw://aad99f7b2ed3b11ff6c17b84b4196c562898640a80cabc2c28c87c116099a00f", - "dweb:/ipfs/QmQNNbxHabRycegyXwJWBDutrdcScAP2SU5zEvorWEaFpx" - ], - "license": "MIT" - }, - "lib/forge-std/src/console.sol": { - "keccak256": "0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba", - "urls": [ - "bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70", - "dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec" - ], - "license": "MIT" - }, - "lib/forge-std/src/console2.sol": { - "keccak256": "0xbeb823fcdb356244a83aaccdf828ad019ecc1ffaa3dff18e624fc6d5714ea671", - "urls": [ - "bzz-raw://4cbe9400340e5f9ec55e2aff3bad1c15fa3afbbe37e80800e6f3fed2ad26854f", - "dweb:/ipfs/QmdJBABsuXkvWxVzEyGXsTE3vyfBPXDdw5xvvtUz3JeoYW" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 437 -} +{ "abi": [ { "type": "function", "name": "bytesToBytes32", "inputs": [ { "name": "b", "type": "bytes", "internalType": "bytes" }, { "name": "offset", "type": "uint256", "internalType": "uint256" } ], "outputs": [ { "name": "", "type": "bytes32", "internalType": "bytes32" } ], "stateMutability": "pure" }, { "type": "event", "name": "SlotFound", "inputs": [ { "name": "who", "type": "address", "indexed": false, "internalType": "address" }, { "name": "fsig", "type": "bytes4", "indexed": false, "internalType": "bytes4" }, { "name": "keysHash", "type": "bytes32", "indexed": false, "internalType": "bytes32" }, { "name": "slot", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false }, { "type": "event", "name": "WARNING_UninitedSlot", "inputs": [ { "name": "who", "type": "address", "indexed": false, "internalType": "address" }, { "name": "slot", "type": "uint256", "indexed": false, "internalType": "uint256" } ], "anonymous": false } ], "bytecode": { "object": "0x610160610026600b82828239805160001a60731461001957fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100355760003560e01c8063535849391461003a575b600080fd5b6100e26004803603604081101561005057600080fd5b81019060208101813564010000000081111561006b57600080fd5b82018360208201111561007d57600080fd5b8035906020019184600183028401116401000000008311171561009f57600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955050913592506100f4915050565b60408051918252519081900360200190f35b6000806000602085511161010957845161010c565b60205b905060005b818110156101495780600802868287018151811061012b57fe5b01602001516001600160f81b031916901c9290921791600101610111565b509094935050505056fea164736f6c634300060c000a", "sourceMap": "16401:8872:437:-:0;;;;;;;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x73000000000000000000000000000000000000000030146080604052600436106100355760003560e01c8063535849391461003a575b600080fd5b6100e26004803603604081101561005057600080fd5b81019060208101813564010000000081111561006b57600080fd5b82018360208201111561007d57600080fd5b8035906020019184600183028401116401000000008311171561009f57600080fd5b91908080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092955050913592506100f4915050565b60408051918252519081900360200190f35b6000806000602085511161010957845161010c565b60205b905060005b818110156101495780600802868287018151811061012b57fe5b01602001516001600160f81b031916901c9290921791600101610111565b509094935050505056fea164736f6c634300060c000a", "sourceMap": "16401:8872:437:-:0;;;;;;;;;;;;;;;;;;;;;;;;24571:297;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;24571:297:437;;-1:-1:-1;;24571:297:437;;;-1:-1:-1;24571:297:437;;-1:-1:-1;;24571:297:437:i;:::-;;;;;;;;;;;;;;;;;24645:7;24664:11;24686;24711:2;24700:1;:8;:13;:29;;24721:1;:8;24700:29;;;24716:2;24700:29;24686:43;;24744:6;24739:103;24760:3;24756:1;:7;24739:103;;;24825:1;24829;24825:5;24799:1;24810;24801:6;:10;24799:13;;;;;;;;;;;;-1:-1:-1;;;;;;24799:13:437;24791:40;;24784:47;;;;;24765:3;;24739:103;;;-1:-1:-1;24858:3:437;;24571:297;-1:-1:-1;;;;24571:297:437:o", "linkReferences": {} }, "methodIdentifiers": { "bytesToBytes32(bytes,uint256)": "53584939" }, "rawMetadata": "{\"compiler\":{\"version\":\"0.6.12+commit.27d51765\"},\"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\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"b\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"offset\",\"type\":\"uint256\"}],\"name\":\"bytesToBytes32\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/Test.sol\":\"stdStorage\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"yul\":false},\"runs\":200},\"remappings\":[\":@enzyme/=contracts/\",\":@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=node_modules/hardhat-deploy/\",\":hardhat/=node_modules/hardhat/\"]},\"sources\":{\"lib/forge-std/lib/ds-test/src/test.sol\":{\"keccak256\":\"0xb39cd1d5220cb474947b131e15a4538334b7e886af244b440ae5c9c6bba96a54\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://3101520221449ac0070bda3881311a71d9aa87e5210765e875246922cb5cb5f5\",\"dweb:/ipfs/Qmbg6kAHNoG7ox9N9Xqd9Ere2H2XixMFWFqvyPwFCzB3Gr\"]},\"lib/forge-std/src/Script.sol\":{\"keccak256\":\"0x4424dbcb8f5b741475445726f87408fcd89951fad973bec2ca442ee157f910e7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5b0b9f6dfb69245d8f888558ae82bf1d2cdeace46201444fe4b2e6a5283f944a\",\"dweb:/ipfs/QmWFSKeFEZngNcwNn7A84EF7pASo5qe6r5oK24r9Kwca7Z\"]},\"lib/forge-std/src/Test.sol\":{\"keccak256\":\"0xa85dee62f7a3d7d3b26051f28d08bbfaa6d76888b8e64395583c35f11070372b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f3ecace3d6120731c4520f651c36658940df958755a2c86d6bf0ec895320a915\",\"dweb:/ipfs/QmVGbUYLtMsAYF3C27qHKs3VHRuRNDypuDfs4XGK47kqUT\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x63fc2487cf3a6650d933e18bcb61766f15f74c327192381806ea00f8f6446f66\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aad99f7b2ed3b11ff6c17b84b4196c562898640a80cabc2c28c87c116099a00f\",\"dweb:/ipfs/QmQNNbxHabRycegyXwJWBDutrdcScAP2SU5zEvorWEaFpx\"]},\"lib/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"lib/forge-std/src/console2.sol\":{\"keccak256\":\"0xbeb823fcdb356244a83aaccdf828ad019ecc1ffaa3dff18e624fc6d5714ea671\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4cbe9400340e5f9ec55e2aff3bad1c15fa3afbbe37e80800e6f3fed2ad26854f\",\"dweb:/ipfs/QmdJBABsuXkvWxVzEyGXsTE3vyfBPXDdw5xvvtUz3JeoYW\"]}},\"version\":1}", "metadata": { "compiler": { "version": "0.6.12+commit.27d51765" }, "language": "Solidity", "output": { "abi": [ { "inputs": [ { "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", "indexed": false } ], "type": "event", "name": "SlotFound", "anonymous": false }, { "inputs": [ { "internalType": "address", "name": "who", "type": "address", "indexed": false }, { "internalType": "uint256", "name": "slot", "type": "uint256", "indexed": false } ], "type": "event", "name": "WARNING_UninitedSlot", "anonymous": false }, { "inputs": [ { "internalType": "bytes", "name": "b", "type": "bytes" }, { "internalType": "uint256", "name": "offset", "type": "uint256" } ], "stateMutability": "pure", "type": "function", "name": "bytesToBytes32", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ] } ], "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }, "settings": { "remappings": [ "@enzyme/=contracts/", "@openzeppelin-solc-0.7/=node_modules/@openzeppelin-solc-0.7/", "@openzeppelin/=node_modules/@openzeppelin/", "@uniswap/=node_modules/@uniswap/", "base64-sol/=node_modules/base64-sol/", "ds-test/=lib/forge-std/lib/ds-test/src/", "forge-std/=lib/forge-std/src/", "hardhat-deploy/=node_modules/hardhat-deploy/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "runs": 200, "details": { "peephole": true, "jumpdestRemover": true, "orderLiterals": true, "deduplicate": true, "cse": true, "constantOptimizer": true, "yul": false } }, "metadata": { "bytecodeHash": "none" }, "compilationTarget": { "lib/forge-std/src/Test.sol": "stdStorage" }, "evmVersion": "istanbul", "libraries": {} }, "sources": { "lib/forge-std/lib/ds-test/src/test.sol": { "keccak256": "0xb39cd1d5220cb474947b131e15a4538334b7e886af244b440ae5c9c6bba96a54", "urls": [ "bzz-raw://3101520221449ac0070bda3881311a71d9aa87e5210765e875246922cb5cb5f5", "dweb:/ipfs/Qmbg6kAHNoG7ox9N9Xqd9Ere2H2XixMFWFqvyPwFCzB3Gr" ], "license": "GPL-3.0-or-later" }, "lib/forge-std/src/Script.sol": { "keccak256": "0x4424dbcb8f5b741475445726f87408fcd89951fad973bec2ca442ee157f910e7", "urls": [ "bzz-raw://5b0b9f6dfb69245d8f888558ae82bf1d2cdeace46201444fe4b2e6a5283f944a", "dweb:/ipfs/QmWFSKeFEZngNcwNn7A84EF7pASo5qe6r5oK24r9Kwca7Z" ], "license": "MIT" }, "lib/forge-std/src/Test.sol": { "keccak256": "0xa85dee62f7a3d7d3b26051f28d08bbfaa6d76888b8e64395583c35f11070372b", "urls": [ "bzz-raw://f3ecace3d6120731c4520f651c36658940df958755a2c86d6bf0ec895320a915", "dweb:/ipfs/QmVGbUYLtMsAYF3C27qHKs3VHRuRNDypuDfs4XGK47kqUT" ], "license": "MIT" }, "lib/forge-std/src/Vm.sol": { "keccak256": "0x63fc2487cf3a6650d933e18bcb61766f15f74c327192381806ea00f8f6446f66", "urls": [ "bzz-raw://aad99f7b2ed3b11ff6c17b84b4196c562898640a80cabc2c28c87c116099a00f", "dweb:/ipfs/QmQNNbxHabRycegyXwJWBDutrdcScAP2SU5zEvorWEaFpx" ], "license": "MIT" }, "lib/forge-std/src/console.sol": { "keccak256": "0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba", "urls": [ "bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70", "dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec" ], "license": "MIT" }, "lib/forge-std/src/console2.sol": { "keccak256": "0xbeb823fcdb356244a83aaccdf828ad019ecc1ffaa3dff18e624fc6d5714ea671", "urls": [ "bzz-raw://4cbe9400340e5f9ec55e2aff3bad1c15fa3afbbe37e80800e6f3fed2ad26854f", "dweb:/ipfs/QmdJBABsuXkvWxVzEyGXsTE3vyfBPXDdw5xvvtUz3JeoYW" ], "license": "MIT" } }, "version": 1 }, "id": 437 } diff --git a/eth_defi/abi/guard/GuardV0.json b/eth_defi/abi/guard/GuardV0.json new file mode 100644 index 00000000..fa6f8f59 --- /dev/null +++ b/eth_defi/abi/guard/GuardV0.json @@ -0,0 +1 @@ +{"abi":[{"type":"constructor","inputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"allowApprovalDestination","inputs":[{"name":"destination","type":"address","internalType":"address"},{"name":"notes","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"allowAsset","inputs":[{"name":"asset","type":"address","internalType":"address"},{"name":"notes","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"allowCallSite","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"selector","type":"bytes4","internalType":"bytes4"},{"name":"notes","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"allowReceiver","inputs":[{"name":"receiver","type":"address","internalType":"address"},{"name":"notes","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"allowSender","inputs":[{"name":"sender","type":"address","internalType":"address"},{"name":"notes","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"allowWithdrawDestination","inputs":[{"name":"destination","type":"address","internalType":"address"},{"name":"notes","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"allowedApprovalDestinations","inputs":[{"name":"destination","type":"address","internalType":"address"}],"outputs":[{"name":"allowed","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"allowedAssets","inputs":[{"name":"token","type":"address","internalType":"address"}],"outputs":[{"name":"allowed","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"allowedCallSites","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"selector","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"allowed","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"allowedReceivers","inputs":[{"name":"receiver","type":"address","internalType":"address"}],"outputs":[{"name":"allowed","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"allowedSenders","inputs":[{"name":"sender","type":"address","internalType":"address"}],"outputs":[{"name":"allowed","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"allowedWithdrawDestinations","inputs":[{"name":"destination","type":"address","internalType":"address"}],"outputs":[{"name":"allowed","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"callSiteCount","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getGovernanceAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getInternalVersion","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"pure"},{"type":"function","name":"isAllowedApprovalDestination","inputs":[{"name":"receiver","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isAllowedAsset","inputs":[{"name":"token","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isAllowedCallSite","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"selector","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isAllowedReceiver","inputs":[{"name":"receiver","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isAllowedSender","inputs":[{"name":"sender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isAllowedWithdrawDestination","inputs":[{"name":"receiver","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"removeApprovalDestination","inputs":[{"name":"destination","type":"address","internalType":"address"},{"name":"notes","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"removeAsset","inputs":[{"name":"asset","type":"address","internalType":"address"},{"name":"notes","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"removeCallSite","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"selector","type":"bytes4","internalType":"bytes4"},{"name":"notes","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"removeReceiver","inputs":[{"name":"receiver","type":"address","internalType":"address"},{"name":"notes","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"removeSender","inputs":[{"name":"sender","type":"address","internalType":"address"},{"name":"notes","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"removeWithdrawDestination","inputs":[{"name":"destination","type":"address","internalType":"address"},{"name":"notes","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"validateCall","inputs":[{"name":"sender","type":"address","internalType":"address"},{"name":"target","type":"address","internalType":"address"},{"name":"callDataWithSelector","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"view"},{"type":"function","name":"validate_approve","inputs":[{"name":"callData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"view"},{"type":"function","name":"validate_swapTokensForExactTokens","inputs":[{"name":"callData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"view"},{"type":"function","name":"validate_transfer","inputs":[{"name":"callData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"view"},{"type":"function","name":"whitelistToken","inputs":[{"name":"token","type":"address","internalType":"address"},{"name":"notes","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"whitelistUniswapV2Router","inputs":[{"name":"router","type":"address","internalType":"address"},{"name":"notes","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"ApprovalDestinationApproved","inputs":[{"name":"sender","type":"address","indexed":false,"internalType":"address"},{"name":"notes","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"ApprovalDestinationRemoved","inputs":[{"name":"sender","type":"address","indexed":false,"internalType":"address"},{"name":"notes","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"AssetApproved","inputs":[{"name":"sender","type":"address","indexed":false,"internalType":"address"},{"name":"notes","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"AssetRemoved","inputs":[{"name":"sender","type":"address","indexed":false,"internalType":"address"},{"name":"notes","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"CallSiteApproved","inputs":[{"name":"target","type":"address","indexed":false,"internalType":"address"},{"name":"selector","type":"bytes4","indexed":false,"internalType":"bytes4"},{"name":"notes","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"CallSiteRemoved","inputs":[{"name":"target","type":"address","indexed":false,"internalType":"address"},{"name":"selector","type":"bytes4","indexed":false,"internalType":"bytes4"},{"name":"notes","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"ReceiverApproved","inputs":[{"name":"sender","type":"address","indexed":false,"internalType":"address"},{"name":"notes","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"ReceiverRemoved","inputs":[{"name":"sender","type":"address","indexed":false,"internalType":"address"},{"name":"notes","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"SenderApproved","inputs":[{"name":"sender","type":"address","indexed":false,"internalType":"address"},{"name":"notes","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"SenderRemoved","inputs":[{"name":"sender","type":"address","indexed":false,"internalType":"address"},{"name":"notes","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"WithdrawDestinationApproved","inputs":[{"name":"sender","type":"address","indexed":false,"internalType":"address"},{"name":"notes","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"WithdrawDestinationRemoved","inputs":[{"name":"sender","type":"address","indexed":false,"internalType":"address"},{"name":"notes","type":"string","indexed":false,"internalType":"string"}],"anonymous":false}],"bytecode":{"object":"0x608060405234801561001057600080fd5b5061001a3361001f565b61006f565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6118448061007e6000396000f3fe608060405234801561001057600080fd5b506004361061021c5760003560e01c80638da5cb5b11610125578063d7334c9d116100ad578063f2fde38b1161007c578063f2fde38b1461057f578063f901dc3314610592578063fa2c59c8146105a5578063fadbcf48146105b8578063fdedfa27146105db57600080fd5b8063d7334c9d14610505578063eb0de04214610518578063ee5462cc1461053b578063efb47bff1461054e57600080fd5b8063a847cf4d116100f4578063a847cf4d1461042d578063a9fc3d4f1461045b578063be8c97b014610472578063c537bed0146104a3578063d075f9bb146104d457600080fd5b80638da5cb5b146103d357806398b3cc39146103e4578063a4c1cccb146103f7578063a67e1f541461041a57600080fd5b80635ace1d92116101a8578063715018a611610177578063715018a61461036d57806372e548a914610375578063732524941461038857806386b6dbe5146103ad5780638c2fdf9e146103c057600080fd5b80635ace1d92146103215780635e4ccace146103345780636d5025f114610347578063713ebf3b1461035a57600080fd5b80631d49039c116101ef5780631d49039c146102945780632d12d788146102c55780633cf20025146102d85780633ea35551146102fb5780634b956bd81461030e57600080fd5b806304a3ba251461022157806307ef00cf146102365780631202f5e51461026e5780631710a4f214610281575b600080fd5b61023461022f36600461132d565b6105ea565b005b610259610244366004611382565b60066020526000908152604090205460ff1681565b60405190151581526020015b60405180910390f35b61023461027c3660046113ed565b610653565b61023461028f3660046113ed565b61080f565b6102596102a2366004611382565b6001600160a01b031660009081526007602052604090205460ff16151560011490565b6102346102d336600461132d565b61089f565b6102596102e6366004611382565b60056020526000908152604090205460ff1681565b61023461030936600461132d565b6108fb565b61023461031c3660046113ed565b61093d565b61023461032f36600461132d565b6109c9565b61023461034236600461149f565b610a28565b610234610355366004611502565b610abe565b610259610368366004611533565b610d9d565b610234610dd5565b61023461038336600461132d565b610de9565b6000546001600160a01b03165b6040516001600160a01b039091168152602001610265565b6102346103bb36600461132d565b610e48565b6102346103ce36600461132d565b610ea7565b6000546001600160a01b0316610395565b6102346103f236600461132d565b610f03565b610259610405366004611382565b60036020526000908152604090205460ff1681565b61023461042836600461132d565b610f62565b61025961043b366004611533565b600160209081526000928352604080842090915290825290205460ff1681565b61046460025481565b604051908152602001610265565b610259610480366004611382565b6001600160a01b031660009081526004602052604090205460ff16151560011490565b6102596104b1366004611382565b6001600160a01b031660009081526003602052604090205460ff16151560011490565b6102596104e2366004611382565b6001600160a01b031660009081526005602052604090205460ff16151560011490565b61023461051336600461149f565b610fbe565b610259610526366004611382565b60076020526000908152604090205460ff1681565b61023461054936600461132d565b611031565b61025961055c366004611382565b6001600160a01b031660009081526006602052604090205460ff16151560011490565b61023461058d366004611382565b6110f1565b6102346105a036600461132d565b61116a565b6102346105b336600461132d565b6111c6565b6102596105c6366004611382565b60046020526000908152604090205460ff1681565b60405160018152602001610265565b6105f2611225565b6001600160a01b03831660009081526007602052604090819020805460ff19169055517fb71be9befd3ac90c1c9981d3b1161b3c2c6dcd741f13b34061aa251226a802df9061064690859085908590611591565b60405180910390a1505050565b6000808280602001905181019061066a91906115ca565b50935093505050600082600081518110610686576106866116ac565b60200260200101519050600083600185516106a191906116d8565b815181106106b1576106b16116ac565b602002602001015190506106e2836001600160a01b031660009081526005602052604090205460ff16151560011490565b6107335760405162461bcd60e51b815260206004820152601f60248201527f5265636569766572206164647265737320646f6573206e6f74206d617463680060448201526064015b60405180910390fd5b61075a826001600160a01b031660009081526003602052604090205460ff16151560011490565b61079d5760405162461bcd60e51b8152602060048201526014602482015273151bdad95b881a5b881b9bdd08185b1b1bddd95960621b604482015260640161072a565b6107c4816001600160a01b031660009081526003602052604090205460ff16151560011490565b6108085760405162461bcd60e51b8152602060048201526015602482015274151bdad95b881bdd5d081b9bdd08185b1b1bddd959605a1b604482015260640161072a565b5050505050565b60008180602001905181019061082591906116eb565b50905061084f816001600160a01b031660009081526006602052604090205460ff16151560011490565b61089b5760405162461bcd60e51b815260206004820152601f60248201527f5265636569766572206164647265737320646f6573206e6f74206d6174636800604482015260640161072a565b5050565b6108a7611225565b6001600160a01b03831660009081526005602052604090819020805460ff19169055517f4e13b11ab98e672bd78295ef9cebe764dc617f95decf47d842c25b83abc0c7249061064690859085908590611591565b61092d836109266040518060800160405280604381526020016117cc60439139805160209091012090565b8484610a28565b610938838383610f03565b505050565b60008180602001905181019061095391906116eb565b50905061097d816001600160a01b031660009081526007602052604090205460ff16151560011490565b61089b5760405162461bcd60e51b815260206004820152601e60248201527f417070726f7665206164647265737320646f6573206e6f74206d617463680000604482015260640161072a565b6109d1611225565b6001600160a01b03831660009081526006602052604090819020805460ff19166001179055517f3562181221a42a19ddd03a82dfe06acab1905ceb65cdaf7d86a1d9fec66435529061064690859085908590611591565b610a30611225565b6001600160a01b03841660009081526001602081815260408084206001600160e01b0319881685529091528220805460ff191690911790556002805491610a7683611719565b91905055507fef729aaa41b9fd994f9ff7c1960df214a84f722002e6cfbea31799cd0873a3ef84848484604051610ab09493929190611732565b60405180910390a150505050565b6000546001600160a01b03858116911614610d9757610afa846001600160a01b031660009081526004602052604090205460ff16151560011490565b610b3b5760405162461bcd60e51b815260206004820152601260248201527114d95b99195c881b9bdd08185b1b1bddd95960721b604482015260640161072a565b6000610b4a6004828486611771565b610b539161179b565b9050366000610b658460048188611771565b91509150610b738684610d9d565b610bb75760405162461bcd60e51b815260206004820152601560248201527410d85b1b081cda5d19481b9bdd08185b1b1bddd959605a1b604482015260640161072a565b610bde6040518060800160405280604381526020016117cc60439139805160209091012090565b6001600160e01b031916836001600160e01b03191603610c3c57610c3782828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061065392505050565b610d93565b6040805180820190915260198152787472616e7366657228616464726573732c75696e743235362960381b6020909101526356fa634560e01b6001600160e01b0319841601610cc457610c3782828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061080f92505050565b604080518082019091526018815277617070726f766528616464726573732c75696e743235362960401b60209091015263f6a1584d60e01b6001600160e01b0319841601610d4b57610c3782828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061093d92505050565b60405162461bcd60e51b815260206004820152601960248201527f556e6b6e6f776e2066756e6374696f6e2073656c6563746f7200000000000000604482015260640161072a565b5050505b50505050565b6001600160a01b03821660009081526001602090815260408083206001600160e01b03198516845290915290205460ff165b92915050565b610ddd611225565b610de7600061127f565b565b610df1611225565b6001600160a01b03831660009081526005602052604090819020805460ff19166001179055517f62dd88c5ecfa60713a657640ebec4de26fc1aefa4afdb24e6d15a124fce727799061064690859085908590611591565b610e50611225565b6001600160a01b03831660009081526003602052604090819020805460ff19166001179055517fad90e2570fc4fe9f7437be3188d5c791c6662892d31731992aa88f5c876219839061064690859085908590611591565b610eaf611225565b6001600160a01b03831660009081526006602052604090819020805460ff19169055517f1212f8ddb39de8e1a339460c95752d61100723efeaa34ccd94bca94393f409389061064690859085908590611591565b610f0b611225565b6001600160a01b03831660009081526007602052604090819020805460ff19166001179055517f628a44970c0e450415e3ae74334ea44f3307b74dbf677a1371190242bf2f35899061064690859085908590611591565b610f6a611225565b6001600160a01b03831660009081526004602052604090819020805460ff19169055517f3097928509c53a2dab9500431201d82b0d756e8f890fd01f4ae6b33b45687ea49061064690859085908590611591565b610fc6611225565b6001600160a01b03841660009081526001602090815260408083206001600160e01b03198716845290915290819020805460ff19169055517f37ea10f2d08f5a9803dfcd5abf3cfc7b0d6fcdf5fcbc36be9ea5a0b53d9a4d9b90610ab0908690869086908690611732565b6040805180820190915260198152787472616e7366657228616464726573732c75696e743235362960381b60209091015261108c837fa9059cbb2ab09eb219583f4a59a5d0623ade346d962bcd4e46b11da047c9049b610926565b604080518082019091526018815277617070726f766528616464726573732c75696e743235362960401b6020909101526110e6837f095ea7b334ae44009aa867bfb386f5c3b4b443ac6f0ee573fa91c4608fbadfba610926565b610938838383610e48565b6110f9611225565b6001600160a01b03811661115e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161072a565b6111678161127f565b50565b611172611225565b6001600160a01b03831660009081526003602052604090819020805460ff19169055517f9ca3f065622f5f03f32b7157677a0e420c3a36ab45fd49f256ffebce3e3105879061064690859085908590611591565b6111ce611225565b6001600160a01b03831660009081526004602052604090819020805460ff19166001179055517fa8f9caaf4861720900294428e4ff34d37070c37afd26d96e6e4da75326d2c3ad9061064690859085908590611591565b6000546001600160a01b03163314610de75760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161072a565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b038116811461116757600080fd5b60008083601f8401126112f657600080fd5b50813567ffffffffffffffff81111561130e57600080fd5b60208301915083602082850101111561132657600080fd5b9250929050565b60008060006040848603121561134257600080fd5b833561134d816112cf565b9250602084013567ffffffffffffffff81111561136957600080fd5b611375868287016112e4565b9497909650939450505050565b60006020828403121561139457600080fd5b813561139f816112cf565b9392505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156113e5576113e56113a6565b604052919050565b6000602080838503121561140057600080fd5b823567ffffffffffffffff8082111561141857600080fd5b818501915085601f83011261142c57600080fd5b81358181111561143e5761143e6113a6565b611450601f8201601f191685016113bc565b9150808252868482850101111561146657600080fd5b8084840185840137600090820190930192909252509392505050565b80356001600160e01b03198116811461149a57600080fd5b919050565b600080600080606085870312156114b557600080fd5b84356114c0816112cf565b93506114ce60208601611482565b9250604085013567ffffffffffffffff8111156114ea57600080fd5b6114f6878288016112e4565b95989497509550505050565b6000806000806060858703121561151857600080fd5b8435611523816112cf565b935060208501356114ce816112cf565b6000806040838503121561154657600080fd5b8235611551816112cf565b915061155f60208401611482565b90509250929050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b03841681526040602082018190526000906115b69083018486611568565b95945050505050565b805161149a816112cf565b600080600080600060a086880312156115e257600080fd5b855194506020808701519450604087015167ffffffffffffffff8082111561160957600080fd5b818901915089601f83011261161d57600080fd5b81518181111561162f5761162f6113a6565b8060051b91506116408483016113bc565b818152918301840191848101908c84111561165a57600080fd5b938501935b838510156116845784519250611674836112cf565b828252938501939085019061165f565b809850505050505050611699606087016115bf565b9150608086015190509295509295909350565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b81810381811115610dcf57610dcf6116c2565b600080604083850312156116fe57600080fd5b8251611709816112cf565b6020939093015192949293505050565b60006001820161172b5761172b6116c2565b5060010190565b6001600160a01b03851681526001600160e01b0319841660208201526060604082018190526000906117679083018486611568565b9695505050505050565b6000808585111561178157600080fd5b8386111561178e57600080fd5b5050820193919092039150565b6001600160e01b031981358181169160048510156117c35780818660040360031b1b83161692505b50509291505056fe737761704578616374546f6b656e73466f72546f6b656e732875696e743235362c75696e743235362c616464726573735b5d2c616464726573732c75696e7432353629a26469706673582212200b02d911babe2bf67153c839270a0f9469db24b49152240fa28bffb6b2eb701664736f6c63430008130033","sourceMap":"798:8220:3:-:0;;;2450:31;;;;;;;;;-1:-1:-1;936:32:0;734:10:2;936:18:0;:32::i;:::-;798:8220:3;;2426:187:0;2499:16;2518:6;;-1:-1:-1;;;;;2534:17:0;;;-1:-1:-1;;;;;;2534:17:0;;;;;;2566:40;;2518:6;;;;;;;2566:40;;2499:16;2566:40;2489:124;2426:187;:::o;798:8220:3:-;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b506004361061021c5760003560e01c80638da5cb5b11610125578063d7334c9d116100ad578063f2fde38b1161007c578063f2fde38b1461057f578063f901dc3314610592578063fa2c59c8146105a5578063fadbcf48146105b8578063fdedfa27146105db57600080fd5b8063d7334c9d14610505578063eb0de04214610518578063ee5462cc1461053b578063efb47bff1461054e57600080fd5b8063a847cf4d116100f4578063a847cf4d1461042d578063a9fc3d4f1461045b578063be8c97b014610472578063c537bed0146104a3578063d075f9bb146104d457600080fd5b80638da5cb5b146103d357806398b3cc39146103e4578063a4c1cccb146103f7578063a67e1f541461041a57600080fd5b80635ace1d92116101a8578063715018a611610177578063715018a61461036d57806372e548a914610375578063732524941461038857806386b6dbe5146103ad5780638c2fdf9e146103c057600080fd5b80635ace1d92146103215780635e4ccace146103345780636d5025f114610347578063713ebf3b1461035a57600080fd5b80631d49039c116101ef5780631d49039c146102945780632d12d788146102c55780633cf20025146102d85780633ea35551146102fb5780634b956bd81461030e57600080fd5b806304a3ba251461022157806307ef00cf146102365780631202f5e51461026e5780631710a4f214610281575b600080fd5b61023461022f36600461132d565b6105ea565b005b610259610244366004611382565b60066020526000908152604090205460ff1681565b60405190151581526020015b60405180910390f35b61023461027c3660046113ed565b610653565b61023461028f3660046113ed565b61080f565b6102596102a2366004611382565b6001600160a01b031660009081526007602052604090205460ff16151560011490565b6102346102d336600461132d565b61089f565b6102596102e6366004611382565b60056020526000908152604090205460ff1681565b61023461030936600461132d565b6108fb565b61023461031c3660046113ed565b61093d565b61023461032f36600461132d565b6109c9565b61023461034236600461149f565b610a28565b610234610355366004611502565b610abe565b610259610368366004611533565b610d9d565b610234610dd5565b61023461038336600461132d565b610de9565b6000546001600160a01b03165b6040516001600160a01b039091168152602001610265565b6102346103bb36600461132d565b610e48565b6102346103ce36600461132d565b610ea7565b6000546001600160a01b0316610395565b6102346103f236600461132d565b610f03565b610259610405366004611382565b60036020526000908152604090205460ff1681565b61023461042836600461132d565b610f62565b61025961043b366004611533565b600160209081526000928352604080842090915290825290205460ff1681565b61046460025481565b604051908152602001610265565b610259610480366004611382565b6001600160a01b031660009081526004602052604090205460ff16151560011490565b6102596104b1366004611382565b6001600160a01b031660009081526003602052604090205460ff16151560011490565b6102596104e2366004611382565b6001600160a01b031660009081526005602052604090205460ff16151560011490565b61023461051336600461149f565b610fbe565b610259610526366004611382565b60076020526000908152604090205460ff1681565b61023461054936600461132d565b611031565b61025961055c366004611382565b6001600160a01b031660009081526006602052604090205460ff16151560011490565b61023461058d366004611382565b6110f1565b6102346105a036600461132d565b61116a565b6102346105b336600461132d565b6111c6565b6102596105c6366004611382565b60046020526000908152604090205460ff1681565b60405160018152602001610265565b6105f2611225565b6001600160a01b03831660009081526007602052604090819020805460ff19169055517fb71be9befd3ac90c1c9981d3b1161b3c2c6dcd741f13b34061aa251226a802df9061064690859085908590611591565b60405180910390a1505050565b6000808280602001905181019061066a91906115ca565b50935093505050600082600081518110610686576106866116ac565b60200260200101519050600083600185516106a191906116d8565b815181106106b1576106b16116ac565b602002602001015190506106e2836001600160a01b031660009081526005602052604090205460ff16151560011490565b6107335760405162461bcd60e51b815260206004820152601f60248201527f5265636569766572206164647265737320646f6573206e6f74206d617463680060448201526064015b60405180910390fd5b61075a826001600160a01b031660009081526003602052604090205460ff16151560011490565b61079d5760405162461bcd60e51b8152602060048201526014602482015273151bdad95b881a5b881b9bdd08185b1b1bddd95960621b604482015260640161072a565b6107c4816001600160a01b031660009081526003602052604090205460ff16151560011490565b6108085760405162461bcd60e51b8152602060048201526015602482015274151bdad95b881bdd5d081b9bdd08185b1b1bddd959605a1b604482015260640161072a565b5050505050565b60008180602001905181019061082591906116eb565b50905061084f816001600160a01b031660009081526006602052604090205460ff16151560011490565b61089b5760405162461bcd60e51b815260206004820152601f60248201527f5265636569766572206164647265737320646f6573206e6f74206d6174636800604482015260640161072a565b5050565b6108a7611225565b6001600160a01b03831660009081526005602052604090819020805460ff19169055517f4e13b11ab98e672bd78295ef9cebe764dc617f95decf47d842c25b83abc0c7249061064690859085908590611591565b61092d836109266040518060800160405280604381526020016117cc60439139805160209091012090565b8484610a28565b610938838383610f03565b505050565b60008180602001905181019061095391906116eb565b50905061097d816001600160a01b031660009081526007602052604090205460ff16151560011490565b61089b5760405162461bcd60e51b815260206004820152601e60248201527f417070726f7665206164647265737320646f6573206e6f74206d617463680000604482015260640161072a565b6109d1611225565b6001600160a01b03831660009081526006602052604090819020805460ff19166001179055517f3562181221a42a19ddd03a82dfe06acab1905ceb65cdaf7d86a1d9fec66435529061064690859085908590611591565b610a30611225565b6001600160a01b03841660009081526001602081815260408084206001600160e01b0319881685529091528220805460ff191690911790556002805491610a7683611719565b91905055507fef729aaa41b9fd994f9ff7c1960df214a84f722002e6cfbea31799cd0873a3ef84848484604051610ab09493929190611732565b60405180910390a150505050565b6000546001600160a01b03858116911614610d9757610afa846001600160a01b031660009081526004602052604090205460ff16151560011490565b610b3b5760405162461bcd60e51b815260206004820152601260248201527114d95b99195c881b9bdd08185b1b1bddd95960721b604482015260640161072a565b6000610b4a6004828486611771565b610b539161179b565b9050366000610b658460048188611771565b91509150610b738684610d9d565b610bb75760405162461bcd60e51b815260206004820152601560248201527410d85b1b081cda5d19481b9bdd08185b1b1bddd959605a1b604482015260640161072a565b610bde6040518060800160405280604381526020016117cc60439139805160209091012090565b6001600160e01b031916836001600160e01b03191603610c3c57610c3782828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061065392505050565b610d93565b6040805180820190915260198152787472616e7366657228616464726573732c75696e743235362960381b6020909101526356fa634560e01b6001600160e01b0319841601610cc457610c3782828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061080f92505050565b604080518082019091526018815277617070726f766528616464726573732c75696e743235362960401b60209091015263f6a1584d60e01b6001600160e01b0319841601610d4b57610c3782828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061093d92505050565b60405162461bcd60e51b815260206004820152601960248201527f556e6b6e6f776e2066756e6374696f6e2073656c6563746f7200000000000000604482015260640161072a565b5050505b50505050565b6001600160a01b03821660009081526001602090815260408083206001600160e01b03198516845290915290205460ff165b92915050565b610ddd611225565b610de7600061127f565b565b610df1611225565b6001600160a01b03831660009081526005602052604090819020805460ff19166001179055517f62dd88c5ecfa60713a657640ebec4de26fc1aefa4afdb24e6d15a124fce727799061064690859085908590611591565b610e50611225565b6001600160a01b03831660009081526003602052604090819020805460ff19166001179055517fad90e2570fc4fe9f7437be3188d5c791c6662892d31731992aa88f5c876219839061064690859085908590611591565b610eaf611225565b6001600160a01b03831660009081526006602052604090819020805460ff19169055517f1212f8ddb39de8e1a339460c95752d61100723efeaa34ccd94bca94393f409389061064690859085908590611591565b610f0b611225565b6001600160a01b03831660009081526007602052604090819020805460ff19166001179055517f628a44970c0e450415e3ae74334ea44f3307b74dbf677a1371190242bf2f35899061064690859085908590611591565b610f6a611225565b6001600160a01b03831660009081526004602052604090819020805460ff19169055517f3097928509c53a2dab9500431201d82b0d756e8f890fd01f4ae6b33b45687ea49061064690859085908590611591565b610fc6611225565b6001600160a01b03841660009081526001602090815260408083206001600160e01b03198716845290915290819020805460ff19169055517f37ea10f2d08f5a9803dfcd5abf3cfc7b0d6fcdf5fcbc36be9ea5a0b53d9a4d9b90610ab0908690869086908690611732565b6040805180820190915260198152787472616e7366657228616464726573732c75696e743235362960381b60209091015261108c837fa9059cbb2ab09eb219583f4a59a5d0623ade346d962bcd4e46b11da047c9049b610926565b604080518082019091526018815277617070726f766528616464726573732c75696e743235362960401b6020909101526110e6837f095ea7b334ae44009aa867bfb386f5c3b4b443ac6f0ee573fa91c4608fbadfba610926565b610938838383610e48565b6110f9611225565b6001600160a01b03811661115e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161072a565b6111678161127f565b50565b611172611225565b6001600160a01b03831660009081526003602052604090819020805460ff19169055517f9ca3f065622f5f03f32b7157677a0e420c3a36ab45fd49f256ffebce3e3105879061064690859085908590611591565b6111ce611225565b6001600160a01b03831660009081526004602052604090819020805460ff19166001179055517fa8f9caaf4861720900294428e4ff34d37070c37afd26d96e6e4da75326d2c3ad9061064690859085908590611591565b6000546001600160a01b03163314610de75760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161072a565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b038116811461116757600080fd5b60008083601f8401126112f657600080fd5b50813567ffffffffffffffff81111561130e57600080fd5b60208301915083602082850101111561132657600080fd5b9250929050565b60008060006040848603121561134257600080fd5b833561134d816112cf565b9250602084013567ffffffffffffffff81111561136957600080fd5b611375868287016112e4565b9497909650939450505050565b60006020828403121561139457600080fd5b813561139f816112cf565b9392505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156113e5576113e56113a6565b604052919050565b6000602080838503121561140057600080fd5b823567ffffffffffffffff8082111561141857600080fd5b818501915085601f83011261142c57600080fd5b81358181111561143e5761143e6113a6565b611450601f8201601f191685016113bc565b9150808252868482850101111561146657600080fd5b8084840185840137600090820190930192909252509392505050565b80356001600160e01b03198116811461149a57600080fd5b919050565b600080600080606085870312156114b557600080fd5b84356114c0816112cf565b93506114ce60208601611482565b9250604085013567ffffffffffffffff8111156114ea57600080fd5b6114f6878288016112e4565b95989497509550505050565b6000806000806060858703121561151857600080fd5b8435611523816112cf565b935060208501356114ce816112cf565b6000806040838503121561154657600080fd5b8235611551816112cf565b915061155f60208401611482565b90509250929050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b03841681526040602082018190526000906115b69083018486611568565b95945050505050565b805161149a816112cf565b600080600080600060a086880312156115e257600080fd5b855194506020808701519450604087015167ffffffffffffffff8082111561160957600080fd5b818901915089601f83011261161d57600080fd5b81518181111561162f5761162f6113a6565b8060051b91506116408483016113bc565b818152918301840191848101908c84111561165a57600080fd5b938501935b838510156116845784519250611674836112cf565b828252938501939085019061165f565b809850505050505050611699606087016115bf565b9150608086015190509295509295909350565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b81810381811115610dcf57610dcf6116c2565b600080604083850312156116fe57600080fd5b8251611709816112cf565b6020939093015192949293505050565b60006001820161172b5761172b6116c2565b5060010190565b6001600160a01b03851681526001600160e01b0319841660208201526060604082018190526000906117679083018486611568565b9695505050505050565b6000808585111561178157600080fd5b8386111561178e57600080fd5b5050820193919092039150565b6001600160e01b031981358181169160048510156117c35780818660040360031b1b83161692505b50509291505056fe737761704578616374546f6b656e73466f72546f6b656e732875696e743235362c75696e743235362c616464726573735b5d2c616464726573732c75696e7432353629a26469706673582212200b02d911babe2bf67153c839270a0f9469db24b49152240fa28bffb6b2eb701664736f6c63430008130033","sourceMap":"798:8220:3:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4902:221;;;;;;:::i;:::-;;:::i;:::-;;1491:79;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1471:14:5;;1464:22;1446:41;;1434:2;1419:18;1491:79:3;;;;;;;;6460:493;;;;;;:::i;:::-;;:::i;6959:219::-;;;;;;:::i;:::-;;:::i;6145:152::-;;;;;;:::i;:::-;-1:-1:-1;;;;;6245:37:3;6222:4;6245:37;;;:27;:37;;;;;;;;:45;;:37;:45;;6145:152;4036:179;;;;;;:::i;:::-;;:::i;1397:65::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;8756:260;;;;;;:::i;:::-;;:::i;7184:217::-;;;;;;:::i;:::-;;:::i;4221:221::-;;;;;;:::i;:::-;;:::i;3048:235::-;;;;;;:::i;:::-;;:::i;7407:1068::-;;;;;;:::i;:::-;;:::i;5520:145::-;;;;;;:::i;:::-;;:::i;1824:101:0:-;;;:::i;3851:179:3:-;;;;;;:::i;:::-;;:::i;2739:93::-;2792:7;1273:6:0;-1:-1:-1;;;;;1273:6:0;2739:93:3;;;-1:-1:-1;;;;;4658:32:5;;;4640:51;;4628:2;4613:18;2739:93:3;4494:203:5;5129:161:3;;;;;;:::i;:::-;;:::i;4448:221::-;;;;;;:::i;:::-;;:::i;1201:85:0:-;1247:7;1273:6;-1:-1:-1;;;;;1273:6:0;1201:85;;4675:221:3;;;;;;:::i;:::-;;:::i;1179:59::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;3678:167;;;;;;:::i;:::-;;:::i;872:91::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;1084:25;;;;;;;;;4848::5;;;4836:2;4821:18;1084:25:3;4702:177:5;5671:122:3;;;;;;:::i;:::-;-1:-1:-1;;;;;5756:22:3;5733:4;5756:22;;;:14;:22;;;;;;;;:30;;:22;:30;;5671:122;6303:118;;;;;;:::i;:::-;-1:-1:-1;;;;;6386:20:3;6363:4;6386:20;;;:13;:20;;;;;;;;:28;;:20;:28;;6303:118;5851:130;;;;;;:::i;:::-;-1:-1:-1;;;;;5940:26:3;5917:4;5940:26;;;:16;:26;;;;;;;;:34;;:26;:34;;5851:130;3289:210;;;;;;:::i;:::-;;:::i;1600:79::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;8481:269;;;;;;:::i;:::-;;:::i;5987:152::-;;;;;;:::i;:::-;-1:-1:-1;;;;;6087:37:3;6064:4;6087:37;;;:27;:37;;;;;;;;:45;;:37;:45;;5987:152;2074:198:0;;;;;;:::i;:::-;;:::i;5296:161:3:-;;;;;;:::i;:::-;;:::i;3505:167::-;;;;;;:::i;:::-;;:::i;1287:61::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;2959:83;;;3034:1;5026:36:5;;5014:2;4999:18;2959:83:3;4884:184:5;4902:221:3;1094:13:0;:11;:13::i;:::-;-1:-1:-1;;;;;5015:40:3;::::1;;::::0;;;:27:::1;:40;::::0;;;;;;5008:47;;-1:-1:-1;;5008:47:3::1;::::0;;5070:46;::::1;::::0;::::1;::::0;5043:11;;5110:5;;;;5070:46:::1;:::i;:::-;;;;;;;;4902:221:::0;;;:::o;6460:493::-;6553:21;6576:10;6603:8;6592:60;;;;;;;;;;;;:::i;:::-;6548:104;;;;;;;6662:15;6680:4;6685:1;6680:7;;;;;;;;:::i;:::-;;;;;;;6662:25;;6697:16;6716:4;6735:1;6721:4;:11;:15;;;;:::i;:::-;6716:21;;;;;;;;:::i;:::-;;;;;;;6697:40;;6755:21;6773:2;-1:-1:-1;;;;;5940:26:3;5917:4;5940:26;;;:16;:26;;;;;;;;:34;;:26;:34;;5851:130;6755:21;6747:65;;;;-1:-1:-1;;;6747:65:3;;7746:2:5;6747:65:3;;;7728:21:5;7785:2;7765:18;;;7758:30;7824:33;7804:18;;;7797:61;7875:18;;6747:65:3;;;;;;;;;6830:23;6845:7;-1:-1:-1;;;;;6386:20:3;6363:4;6386:20;;;:13;:20;;;;;;;;:28;;:20;:28;;6303:118;6830:23;6822:56;;;;-1:-1:-1;;;6822:56:3;;8106:2:5;6822:56:3;;;8088:21:5;8145:2;8125:18;;;8118:30;-1:-1:-1;;;8164:18:5;;;8157:50;8224:18;;6822:56:3;7904:344:5;6822:56:3;6896:24;6911:8;-1:-1:-1;;;;;6386:20:3;6363:4;6386:20;;;:13;:20;;;;;;;;:28;;:20;:28;;6303:118;6896:24;6888:58;;;;-1:-1:-1;;;6888:58:3;;8455:2:5;6888:58:3;;;8437:21:5;8494:2;8474:18;;;8467:30;-1:-1:-1;;;8513:18:5;;;8506:51;8574:18;;6888:58:3;8253:345:5;6888:58:3;6538:415;;;;6460:493;:::o;6959:219::-;7032:10;7059:8;7048:37;;;;;;;;;;;;:::i;:::-;7031:54;;;7103:32;7132:2;-1:-1:-1;;;;;6087:37:3;6064:4;6087:37;;;:27;:37;;;;;;;;:45;;:37;:45;;5987:152;7103:32;7095:76;;;;-1:-1:-1;;;7095:76:3;;7746:2:5;7095:76:3;;;7728:21:5;7785:2;7765:18;;;7758:30;7824:33;7804:18;;;7797:61;7875:18;;7095:76:3;7544:355:5;7095:76:3;7021:157;6959:219;:::o;4036:179::-;1094:13:0;:11;:13::i;:::-;-1:-1:-1;;;;;4135:26:3;::::1;;::::0;;;:16:::1;:26;::::0;;;;;;4128:33;;-1:-1:-1;;4128:33:3::1;::::0;;4176:32;::::1;::::0;::::1;::::0;4152:8;;4202:5;;;;4176:32:::1;:::i;8756:260::-:0;8848:112;8862:6;8870:82;;;;;;;;;;;;;;;;;;2646:23;;;;;;;;2487:190;8870:82;8954:5;;8848:13;:112::i;:::-;8970:39;8995:6;9003:5;;8970:24;:39::i;:::-;8756:260;;;:::o;7184:217::-;7256:10;7283:8;7272:37;;;;;;;;;;;;:::i;:::-;7255:54;;;7327:32;7356:2;-1:-1:-1;;;;;6245:37:3;6222:4;6245:37;;;:27;:37;;;;;;;;:45;;:37;:45;;6145:152;7327:32;7319:75;;;;-1:-1:-1;;;7319:75:3;;9130:2:5;7319:75:3;;;9112:21:5;9169:2;9149:18;;;9142:30;9208:32;9188:18;;;9181:60;9258:18;;7319:75:3;8928:354:5;4221:221:3;1094:13:0;:11;:13::i;:::-;-1:-1:-1;;;;;4326:40:3;::::1;;::::0;;;:27:::1;:40;::::0;;;;;;:47;;-1:-1:-1;;4326:47:3::1;4369:4;4326:47;::::0;;4388;::::1;::::0;::::1;::::0;4354:11;;4429:5;;;;4388:47:::1;:::i;3048:235::-:0;1094:13:0;:11;:13::i;:::-;-1:-1:-1;;;;;3154:24:3;::::1;;::::0;;;3191:4:::1;3154:24;::::0;;;;;;;-1:-1:-1;;;;;;3154:34:3;::::1;::::0;;;;;;;:41;;-1:-1:-1;;3154:41:3::1;::::0;;::::1;::::0;;3205:13:::1;:15:::0;;;::::1;::::0;::::1;:::i;:::-;;;;;;3235:41;3252:6;3260:8;3270:5;;3235:41;;;;;;;;;:::i;:::-;;;;;;;;3048:235:::0;;;;:::o;7407:1068::-;2792:7;1273:6:0;-1:-1:-1;;;;;7556:32:3;;;1273:6:0;;7553:125:3;7661:7;7553:125;7696:23;7712:6;-1:-1:-1;;;;;5756:22:3;5733:4;5756:22;;;:14;:22;;;;;;;;:30;;:22;:30;;5671:122;7696:23;7688:54;;;;-1:-1:-1;;;7688:54:3;;10074:2:5;7688:54:3;;;10056:21:5;10113:2;10093:18;;;10086:30;-1:-1:-1;;;10132:18:5;;;10125:48;10190:18;;7688:54:3;9872:342:5;7688:54:3;7808:15;7833:24;7855:1;7808:15;7833:20;;:24;:::i;:::-;7826:32;;;:::i;:::-;7808:50;-1:-1:-1;7868:23:3;;7894:24;:20;7915:1;7894:20;;:24;:::i;:::-;7868:50;;;;7936:35;7954:6;7962:8;7936:17;:35::i;:::-;7928:69;;;;-1:-1:-1;;;7928:69:3;;11085:2:5;7928:69:3;;;11067:21:5;11124:2;11104:18;;;11097:30;-1:-1:-1;;;11143:18:5;;;11136:51;11204:18;;7928:69:3;10883:345:5;7928:69:3;8023:82;;;;;;;;;;;;;;;;;;2646:23;;;;;;;;2487:190;8023:82;-1:-1:-1;;;;;8011:94:3;;:8;-1:-1:-1;;;;;8011:94:3;;;8008:461;;8121:43;8155:8;;8121:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8121:33:3;;-1:-1:-1;;;8121:43:3:i;:::-;8008:461;;;8196:40;;;;;;;;;;;;-1:-1:-1;;;8196:40:3;;;;;-1:-1:-1;;;;;;;;;8184:52:3;;;8181:288;;8252:27;8270:8;;8252:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8252:17:3;;-1:-1:-1;;;8252:27:3:i;8181:288::-;8311:39;;;;;;;;;;;;-1:-1:-1;;;8311:39:3;;;;;-1:-1:-1;;;;;;;;;8299:51:3;;;8296:173;;8366:26;8383:8;;8366:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8366:16:3;;-1:-1:-1;;;8366:26:3:i;8296:173::-;8423:35;;-1:-1:-1;;;8423:35:3;;11435:2:5;8423:35:3;;;11417:21:5;11474:2;11454:18;;;11447:30;11513:27;11493:18;;;11486:55;11558:18;;8423:35:3;11233:349:5;8296:173:3;7542:933;;;7407:1068;;;;;:::o;5520:145::-;-1:-1:-1;;;;;5624:24:3;;5601:4;5624:24;;;:16;:24;;;;;;;;-1:-1:-1;;;;;;5624:34:3;;;;;;;;;;;;5520:145;;;;;:::o;1824:101:0:-;1094:13;:11;:13::i;:::-;1888:30:::1;1915:1;1888:18;:30::i;:::-;1824:101::o:0;3851:179:3:-;1094:13:0;:11;:13::i;:::-;-1:-1:-1;;;;;3942:26:3;::::1;;::::0;;;:16:::1;:26;::::0;;;;;;:33;;-1:-1:-1;;3942:33:3::1;3971:4;3942:33;::::0;;3990;::::1;::::0;::::1;::::0;3959:8;;4017:5;;;;3990:33:::1;:::i;5129:161::-:0;1094:13:0;:11;:13::i;:::-;-1:-1:-1;;;;;5214:20:3;::::1;;::::0;;;:13:::1;:20;::::0;;;;;;:27;;-1:-1:-1;;5214:27:3::1;5237:4;5214:27;::::0;;5256;::::1;::::0;::::1;::::0;5228:5;;5277;;;;5256:27:::1;:::i;4448:221::-:0;1094:13:0;:11;:13::i;:::-;-1:-1:-1;;;;;4561:40:3;::::1;;::::0;;;:27:::1;:40;::::0;;;;;;4554:47;;-1:-1:-1;;4554:47:3::1;::::0;;4616:46;::::1;::::0;::::1;::::0;4589:11;;4656:5;;;;4616:46:::1;:::i;4675:221::-:0;1094:13:0;:11;:13::i;:::-;-1:-1:-1;;;;;4780:40:3;::::1;;::::0;;;:27:::1;:40;::::0;;;;;;:47;;-1:-1:-1;;4780:47:3::1;4823:4;4780:47;::::0;;4842;::::1;::::0;::::1;::::0;4808:11;;4883:5;;;;4842:47:::1;:::i;3678:167::-:0;1094:13:0;:11;:13::i;:::-;-1:-1:-1;;;;;3773:22:3;::::1;;::::0;;;:14:::1;:22;::::0;;;;;;3766:29;;-1:-1:-1;;3766:29:3::1;::::0;;3810:28;::::1;::::0;::::1;::::0;3788:6;;3832:5;;;;3810:28:::1;:::i;3289:210::-:0;1094:13:0;:11;:13::i;:::-;-1:-1:-1;;;;;3403:24:3;::::1;;::::0;;;:16:::1;:24;::::0;;;;;;;-1:-1:-1;;;;;;3403:34:3;::::1;::::0;;;;;;;;;3396:41;;-1:-1:-1;;3396:41:3::1;::::0;;3452:40;::::1;::::0;::::1;::::0;3420:6;;3428:8;;3486:5;;;;3452:40:::1;:::i;8481:269::-:0;8583:40;;;;;;;;;;;;-1:-1:-1;;;8583:40:3;;;;;8562:69;8576:5;2646:23;8583:40;2487:190;8562:69;8662:39;;;;;;;;;;;;-1:-1:-1;;;8662:39:3;;;;;8641:68;8655:5;2646:23;8662:39;2487:190;8641:68;8719:24;8730:5;8737;;8719:10;:24::i;2074:198:0:-;1094:13;:11;:13::i;:::-;-1:-1:-1;;;;;2162:22:0;::::1;2154:73;;;::::0;-1:-1:-1;;;2154:73:0;;11789:2:5;2154:73:0::1;::::0;::::1;11771:21:5::0;11828:2;11808:18;;;11801:30;11867:34;11847:18;;;11840:62;-1:-1:-1;;;11918:18:5;;;11911:36;11964:19;;2154:73:0::1;11587:402:5::0;2154:73:0::1;2237:28;2256:8;2237:18;:28::i;:::-;2074:198:::0;:::o;5296:161:3:-;1094:13:0;:11;:13::i;:::-;-1:-1:-1;;;;;5389:20:3;::::1;;::::0;;;:13:::1;:20;::::0;;;;;;5382:27;;-1:-1:-1;;5382:27:3::1;::::0;;5424:26;::::1;::::0;::::1;::::0;5403:5;;5444;;;;5424:26:::1;:::i;3505:167::-:0;1094:13:0;:11;:13::i;:::-;-1:-1:-1;;;;;3592:22:3;::::1;;::::0;;;:14:::1;:22;::::0;;;;;;:29;;-1:-1:-1;;3592:29:3::1;3617:4;3592:29;::::0;;3636;::::1;::::0;::::1;::::0;3607:6;;3659:5;;;;3636:29:::1;:::i;1359:130:0:-:0;1247:7;1273:6;-1:-1:-1;;;;;1273:6:0;734:10:2;1422:23:0;1414:68;;;;-1:-1:-1;;;1414:68:0;;12196:2:5;1414:68:0;;;12178:21:5;;;12215:18;;;12208:30;12274:34;12254:18;;;12247:62;12326:18;;1414:68:0;11994:356:5;2426:187:0;2499:16;2518:6;;-1:-1:-1;;;;;2534:17:0;;;-1:-1:-1;;;;;;2534:17:0;;;;;;2566:40;;2518:6;;;;;;;2566:40;;2499:16;2566:40;2489:124;2426:187;:::o;14:131:5:-;-1:-1:-1;;;;;89:31:5;;79:42;;69:70;;135:1;132;125:12;150:348;202:8;212:6;266:3;259:4;251:6;247:17;243:27;233:55;;284:1;281;274:12;233:55;-1:-1:-1;307:20:5;;350:18;339:30;;336:50;;;382:1;379;372:12;336:50;419:4;411:6;407:17;395:29;;471:3;464:4;455:6;447;443:19;439:30;436:39;433:59;;;488:1;485;478:12;433:59;150:348;;;;;:::o;503:546::-;583:6;591;599;652:2;640:9;631:7;627:23;623:32;620:52;;;668:1;665;658:12;620:52;707:9;694:23;726:31;751:5;726:31;:::i;:::-;776:5;-1:-1:-1;832:2:5;817:18;;804:32;859:18;848:30;;845:50;;;891:1;888;881:12;845:50;930:59;981:7;972:6;961:9;957:22;930:59;:::i;:::-;503:546;;1008:8;;-1:-1:-1;904:85:5;;-1:-1:-1;;;;503:546:5:o;1054:247::-;1113:6;1166:2;1154:9;1145:7;1141:23;1137:32;1134:52;;;1182:1;1179;1172:12;1134:52;1221:9;1208:23;1240:31;1265:5;1240:31;:::i;:::-;1290:5;1054:247;-1:-1:-1;;;1054:247:5:o;1498:127::-;1559:10;1554:3;1550:20;1547:1;1540:31;1590:4;1587:1;1580:15;1614:4;1611:1;1604:15;1630:275;1701:2;1695:9;1766:2;1747:13;;-1:-1:-1;;1743:27:5;1731:40;;1801:18;1786:34;;1822:22;;;1783:62;1780:88;;;1848:18;;:::i;:::-;1884:2;1877:22;1630:275;;-1:-1:-1;1630:275:5:o;1910:763::-;1978:6;2009:2;2052;2040:9;2031:7;2027:23;2023:32;2020:52;;;2068:1;2065;2058:12;2020:52;2108:9;2095:23;2137:18;2178:2;2170:6;2167:14;2164:34;;;2194:1;2191;2184:12;2164:34;2232:6;2221:9;2217:22;2207:32;;2277:7;2270:4;2266:2;2262:13;2258:27;2248:55;;2299:1;2296;2289:12;2248:55;2335:2;2322:16;2357:2;2353;2350:10;2347:36;;;2363:18;;:::i;:::-;2405:53;2448:2;2429:13;;-1:-1:-1;;2425:27:5;2421:36;;2405:53;:::i;:::-;2392:66;;2481:2;2474:5;2467:17;2521:7;2516:2;2511;2507;2503:11;2499:20;2496:33;2493:53;;;2542:1;2539;2532:12;2493:53;2597:2;2592;2588;2584:11;2579:2;2572:5;2568:14;2555:45;2641:1;2620:14;;;2616:23;;;2609:34;;;;-1:-1:-1;2624:5:5;1910:763;-1:-1:-1;;;1910:763:5:o;2678:173::-;2745:20;;-1:-1:-1;;;;;;2794:32:5;;2784:43;;2774:71;;2841:1;2838;2831:12;2774:71;2678:173;;;:::o;2856:618::-;2944:6;2952;2960;2968;3021:2;3009:9;3000:7;2996:23;2992:32;2989:52;;;3037:1;3034;3027:12;2989:52;3076:9;3063:23;3095:31;3120:5;3095:31;:::i;:::-;3145:5;-1:-1:-1;3169:37:5;3202:2;3187:18;;3169:37;:::i;:::-;3159:47;;3257:2;3246:9;3242:18;3229:32;3284:18;3276:6;3273:30;3270:50;;;3316:1;3313;3306:12;3270:50;3355:59;3406:7;3397:6;3386:9;3382:22;3355:59;:::i;:::-;2856:618;;;;-1:-1:-1;3433:8:5;-1:-1:-1;;;;2856:618:5:o;3479:686::-;3567:6;3575;3583;3591;3644:2;3632:9;3623:7;3619:23;3615:32;3612:52;;;3660:1;3657;3650:12;3612:52;3699:9;3686:23;3718:31;3743:5;3718:31;:::i;:::-;3768:5;-1:-1:-1;3825:2:5;3810:18;;3797:32;3838:33;3797:32;3838:33;:::i;4170:319::-;4237:6;4245;4298:2;4286:9;4277:7;4273:23;4269:32;4266:52;;;4314:1;4311;4304:12;4266:52;4353:9;4340:23;4372:31;4397:5;4372:31;:::i;:::-;4422:5;-1:-1:-1;4446:37:5;4479:2;4464:18;;4446:37;:::i;:::-;4436:47;;4170:319;;;;;:::o;5073:267::-;5162:6;5157:3;5150:19;5214:6;5207:5;5200:4;5195:3;5191:14;5178:43;-1:-1:-1;5266:1:5;5241:16;;;5259:4;5237:27;;;5230:38;;;;5322:2;5301:15;;;-1:-1:-1;;5297:29:5;5288:39;;;5284:50;;5073:267::o;5345:344::-;-1:-1:-1;;;;;5532:32:5;;5514:51;;5601:2;5596;5581:18;;5574:30;;;-1:-1:-1;;5621:62:5;;5664:18;;5656:6;5648;5621:62;:::i;:::-;5613:70;5345:344;-1:-1:-1;;;;;5345:344:5:o;5694:146::-;5781:13;;5803:31;5781:13;5803:31;:::i;5845:1297::-;5984:6;5992;6000;6008;6016;6069:3;6057:9;6048:7;6044:23;6040:33;6037:53;;;6086:1;6083;6076:12;6037:53;6115:9;6109:16;6099:26;;6144:2;6186;6175:9;6171:18;6165:25;6155:35;;6234:2;6223:9;6219:18;6213:25;6257:18;6298:2;6290:6;6287:14;6284:34;;;6314:1;6311;6304:12;6284:34;6352:6;6341:9;6337:22;6327:32;;6397:7;6390:4;6386:2;6382:13;6378:27;6368:55;;6419:1;6416;6409:12;6368:55;6448:2;6442:9;6470:2;6466;6463:10;6460:36;;;6476:18;;:::i;:::-;6522:2;6519:1;6515:10;6505:20;;6545:28;6569:2;6565;6561:11;6545:28;:::i;:::-;6607:15;;;6677:11;;;6673:20;;;6638:12;;;;6705:19;;;6702:39;;;6737:1;6734;6727:12;6702:39;6761:11;;;;6781:210;6797:6;6792:3;6789:15;6781:210;;;6870:3;6864:10;6851:23;;6887:31;6912:5;6887:31;:::i;:::-;6931:18;;;6814:12;;;;6969;;;;6781:210;;;7010:5;7000:15;;;;;;;;7034:57;7087:2;7076:9;7072:18;7034:57;:::i;:::-;7024:67;;7131:3;7120:9;7116:19;7110:26;7100:36;;5845:1297;;;;;;;;:::o;7147:127::-;7208:10;7203:3;7199:20;7196:1;7189:31;7239:4;7236:1;7229:15;7263:4;7260:1;7253:15;7279:127;7340:10;7335:3;7331:20;7328:1;7321:31;7371:4;7368:1;7361:15;7395:4;7392:1;7385:15;7411:128;7478:9;;;7499:11;;;7496:37;;;7513:18;;:::i;8603:320::-;8690:6;8698;8751:2;8739:9;8730:7;8726:23;8722:32;8719:52;;;8767:1;8764;8757:12;8719:52;8799:9;8793:16;8818:31;8843:5;8818:31;:::i;:::-;8913:2;8898:18;;;;8892:25;8868:5;;8892:25;;-1:-1:-1;;;8603:320:5:o;9287:135::-;9326:3;9347:17;;;9344:43;;9367:18;;:::i;:::-;-1:-1:-1;9414:1:5;9403:13;;9287:135::o;9427:440::-;-1:-1:-1;;;;;9640:32:5;;9622:51;;-1:-1:-1;;;;;;9709:33:5;;9704:2;9689:18;;9682:61;9779:2;9774;9759:18;;9752:30;;;-1:-1:-1;;9799:62:5;;9842:18;;9834:6;9826;9799:62;:::i;:::-;9791:70;9427:440;-1:-1:-1;;;;;;9427:440:5:o;10219:331::-;10324:9;10335;10377:8;10365:10;10362:24;10359:44;;;10399:1;10396;10389:12;10359:44;10428:6;10418:8;10415:20;10412:40;;;10448:1;10445;10438:12;10412:40;-1:-1:-1;;10474:23:5;;;10519:25;;;;;-1:-1:-1;10219:331:5:o;10555:323::-;-1:-1:-1;;;;;;10675:19:5;;10751:11;;;;10782:1;10774:10;;10771:101;;;10859:2;10853;10846:3;10843:1;10839:11;10836:1;10832:19;10828:28;10824:2;10820:37;10816:46;10807:55;;10771:101;;;10555:323;;;;:::o","linkReferences":{}},"methodIdentifiers":{"allowApprovalDestination(address,string)":"98b3cc39","allowAsset(address,string)":"86b6dbe5","allowCallSite(address,bytes4,string)":"5e4ccace","allowReceiver(address,string)":"72e548a9","allowSender(address,string)":"fa2c59c8","allowWithdrawDestination(address,string)":"5ace1d92","allowedApprovalDestinations(address)":"eb0de042","allowedAssets(address)":"a4c1cccb","allowedCallSites(address,bytes4)":"a847cf4d","allowedReceivers(address)":"3cf20025","allowedSenders(address)":"fadbcf48","allowedWithdrawDestinations(address)":"07ef00cf","callSiteCount()":"a9fc3d4f","getGovernanceAddress()":"73252494","getInternalVersion()":"fdedfa27","isAllowedApprovalDestination(address)":"1d49039c","isAllowedAsset(address)":"c537bed0","isAllowedCallSite(address,bytes4)":"713ebf3b","isAllowedReceiver(address)":"d075f9bb","isAllowedSender(address)":"be8c97b0","isAllowedWithdrawDestination(address)":"efb47bff","owner()":"8da5cb5b","removeApprovalDestination(address,string)":"04a3ba25","removeAsset(address,string)":"f901dc33","removeCallSite(address,bytes4,string)":"d7334c9d","removeReceiver(address,string)":"2d12d788","removeSender(address,string)":"a67e1f54","removeWithdrawDestination(address,string)":"8c2fdf9e","renounceOwnership()":"715018a6","transferOwnership(address)":"f2fde38b","validateCall(address,address,bytes)":"6d5025f1","validate_approve(bytes)":"4b956bd8","validate_swapTokensForExactTokens(bytes)":"1202f5e5","validate_transfer(bytes)":"1710a4f2","whitelistToken(address,string)":"ee5462cc","whitelistUniswapV2Router(address,string)":"3ea35551"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"notes\",\"type\":\"string\"}],\"name\":\"ApprovalDestinationApproved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"notes\",\"type\":\"string\"}],\"name\":\"ApprovalDestinationRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"notes\",\"type\":\"string\"}],\"name\":\"AssetApproved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"notes\",\"type\":\"string\"}],\"name\":\"AssetRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes4\",\"name\":\"selector\",\"type\":\"bytes4\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"notes\",\"type\":\"string\"}],\"name\":\"CallSiteApproved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes4\",\"name\":\"selector\",\"type\":\"bytes4\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"notes\",\"type\":\"string\"}],\"name\":\"CallSiteRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"notes\",\"type\":\"string\"}],\"name\":\"ReceiverApproved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"notes\",\"type\":\"string\"}],\"name\":\"ReceiverRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"notes\",\"type\":\"string\"}],\"name\":\"SenderApproved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"notes\",\"type\":\"string\"}],\"name\":\"SenderRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"notes\",\"type\":\"string\"}],\"name\":\"WithdrawDestinationApproved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"notes\",\"type\":\"string\"}],\"name\":\"WithdrawDestinationRemoved\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"destination\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"notes\",\"type\":\"string\"}],\"name\":\"allowApprovalDestination\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"asset\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"notes\",\"type\":\"string\"}],\"name\":\"allowAsset\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"selector\",\"type\":\"bytes4\"},{\"internalType\":\"string\",\"name\":\"notes\",\"type\":\"string\"}],\"name\":\"allowCallSite\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"notes\",\"type\":\"string\"}],\"name\":\"allowReceiver\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"notes\",\"type\":\"string\"}],\"name\":\"allowSender\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"destination\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"notes\",\"type\":\"string\"}],\"name\":\"allowWithdrawDestination\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"destination\",\"type\":\"address\"}],\"name\":\"allowedApprovalDestinations\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"allowed\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"allowedAssets\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"allowed\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"selector\",\"type\":\"bytes4\"}],\"name\":\"allowedCallSites\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"allowed\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"allowedReceivers\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"allowed\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"allowedSenders\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"allowed\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"destination\",\"type\":\"address\"}],\"name\":\"allowedWithdrawDestinations\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"allowed\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"callSiteCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getGovernanceAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getInternalVersion\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"isAllowedApprovalDestination\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"isAllowedAsset\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"selector\",\"type\":\"bytes4\"}],\"name\":\"isAllowedCallSite\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"isAllowedReceiver\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"isAllowedSender\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"isAllowedWithdrawDestination\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"destination\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"notes\",\"type\":\"string\"}],\"name\":\"removeApprovalDestination\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"asset\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"notes\",\"type\":\"string\"}],\"name\":\"removeAsset\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"selector\",\"type\":\"bytes4\"},{\"internalType\":\"string\",\"name\":\"notes\",\"type\":\"string\"}],\"name\":\"removeCallSite\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"notes\",\"type\":\"string\"}],\"name\":\"removeReceiver\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"notes\",\"type\":\"string\"}],\"name\":\"removeSender\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"destination\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"notes\",\"type\":\"string\"}],\"name\":\"removeWithdrawDestination\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callDataWithSelector\",\"type\":\"bytes\"}],\"name\":\"validateCall\",\"outputs\":[],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"name\":\"validate_approve\",\"outputs\":[],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"name\":\"validate_swapTokensForExactTokens\",\"outputs\":[],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"name\":\"validate_transfer\",\"outputs\":[],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"notes\",\"type\":\"string\"}],\"name\":\"whitelistToken\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"router\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"notes\",\"type\":\"string\"}],\"name\":\"whitelistUniswapV2Router\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"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\":{\"getGovernanceAddress()\":{\"notice\":\"Get the address of the proto DAO\"},\"getInternalVersion()\":{\"notice\":\"Track version during internal development. We bump up when new whitelistings added.\"}},\"notice\":\"Prototype guard implementation. - Hardcoded actions for Uniswap v2, v3, 1delta\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/GuardV0.sol\":\"GuardV0\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":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/\"]},\"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\":\"0xa92e4fa126feb6907daa0513ddd816b2eb91f30a808de54f63c17d0e162c3439\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a367861093b74443b137564d3f3c472f70bcf114739e62059c939f25e315706c\",\"dweb:/ipfs/Qmd7JMpcxD9RuQjK3uM3EzJUgSqdN8vzp8eytEiuwxQJ6h\"]},\"src/GuardV0.sol\":{\"keccak256\":\"0x7e39df41b992dabc22cff78b92245c9f0d08babd15430ccfcac7f659fff75757\",\"urls\":[\"bzz-raw://e064b8110dcd3303e4717e34c546395969a8abb37521a68f545514ccf008cab0\",\"dweb:/ipfs/QmcDwW15EHKrSsZoFnnmFxet4FvC5EPWC4MhQpzMqMGeWp\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"sender","type":"address","indexed":false},{"internalType":"string","name":"notes","type":"string","indexed":false}],"type":"event","name":"ApprovalDestinationApproved","anonymous":false},{"inputs":[{"internalType":"address","name":"sender","type":"address","indexed":false},{"internalType":"string","name":"notes","type":"string","indexed":false}],"type":"event","name":"ApprovalDestinationRemoved","anonymous":false},{"inputs":[{"internalType":"address","name":"sender","type":"address","indexed":false},{"internalType":"string","name":"notes","type":"string","indexed":false}],"type":"event","name":"AssetApproved","anonymous":false},{"inputs":[{"internalType":"address","name":"sender","type":"address","indexed":false},{"internalType":"string","name":"notes","type":"string","indexed":false}],"type":"event","name":"AssetRemoved","anonymous":false},{"inputs":[{"internalType":"address","name":"target","type":"address","indexed":false},{"internalType":"bytes4","name":"selector","type":"bytes4","indexed":false},{"internalType":"string","name":"notes","type":"string","indexed":false}],"type":"event","name":"CallSiteApproved","anonymous":false},{"inputs":[{"internalType":"address","name":"target","type":"address","indexed":false},{"internalType":"bytes4","name":"selector","type":"bytes4","indexed":false},{"internalType":"string","name":"notes","type":"string","indexed":false}],"type":"event","name":"CallSiteRemoved","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"address","name":"sender","type":"address","indexed":false},{"internalType":"string","name":"notes","type":"string","indexed":false}],"type":"event","name":"ReceiverApproved","anonymous":false},{"inputs":[{"internalType":"address","name":"sender","type":"address","indexed":false},{"internalType":"string","name":"notes","type":"string","indexed":false}],"type":"event","name":"ReceiverRemoved","anonymous":false},{"inputs":[{"internalType":"address","name":"sender","type":"address","indexed":false},{"internalType":"string","name":"notes","type":"string","indexed":false}],"type":"event","name":"SenderApproved","anonymous":false},{"inputs":[{"internalType":"address","name":"sender","type":"address","indexed":false},{"internalType":"string","name":"notes","type":"string","indexed":false}],"type":"event","name":"SenderRemoved","anonymous":false},{"inputs":[{"internalType":"address","name":"sender","type":"address","indexed":false},{"internalType":"string","name":"notes","type":"string","indexed":false}],"type":"event","name":"WithdrawDestinationApproved","anonymous":false},{"inputs":[{"internalType":"address","name":"sender","type":"address","indexed":false},{"internalType":"string","name":"notes","type":"string","indexed":false}],"type":"event","name":"WithdrawDestinationRemoved","anonymous":false},{"inputs":[{"internalType":"address","name":"destination","type":"address"},{"internalType":"string","name":"notes","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"allowApprovalDestination"},{"inputs":[{"internalType":"address","name":"asset","type":"address"},{"internalType":"string","name":"notes","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"allowAsset"},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes4","name":"selector","type":"bytes4"},{"internalType":"string","name":"notes","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"allowCallSite"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"},{"internalType":"string","name":"notes","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"allowReceiver"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"string","name":"notes","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"allowSender"},{"inputs":[{"internalType":"address","name":"destination","type":"address"},{"internalType":"string","name":"notes","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"allowWithdrawDestination"},{"inputs":[{"internalType":"address","name":"destination","type":"address"}],"stateMutability":"view","type":"function","name":"allowedApprovalDestinations","outputs":[{"internalType":"bool","name":"allowed","type":"bool"}]},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"stateMutability":"view","type":"function","name":"allowedAssets","outputs":[{"internalType":"bool","name":"allowed","type":"bool"}]},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes4","name":"selector","type":"bytes4"}],"stateMutability":"view","type":"function","name":"allowedCallSites","outputs":[{"internalType":"bool","name":"allowed","type":"bool"}]},{"inputs":[{"internalType":"address","name":"receiver","type":"address"}],"stateMutability":"view","type":"function","name":"allowedReceivers","outputs":[{"internalType":"bool","name":"allowed","type":"bool"}]},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"stateMutability":"view","type":"function","name":"allowedSenders","outputs":[{"internalType":"bool","name":"allowed","type":"bool"}]},{"inputs":[{"internalType":"address","name":"destination","type":"address"}],"stateMutability":"view","type":"function","name":"allowedWithdrawDestinations","outputs":[{"internalType":"bool","name":"allowed","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"callSiteCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getGovernanceAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"getInternalVersion","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[{"internalType":"address","name":"receiver","type":"address"}],"stateMutability":"view","type":"function","name":"isAllowedApprovalDestination","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"stateMutability":"view","type":"function","name":"isAllowedAsset","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes4","name":"selector","type":"bytes4"}],"stateMutability":"view","type":"function","name":"isAllowedCallSite","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"receiver","type":"address"}],"stateMutability":"view","type":"function","name":"isAllowedReceiver","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"stateMutability":"view","type":"function","name":"isAllowedSender","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"receiver","type":"address"}],"stateMutability":"view","type":"function","name":"isAllowedWithdrawDestination","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"destination","type":"address"},{"internalType":"string","name":"notes","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"removeApprovalDestination"},{"inputs":[{"internalType":"address","name":"asset","type":"address"},{"internalType":"string","name":"notes","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"removeAsset"},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes4","name":"selector","type":"bytes4"},{"internalType":"string","name":"notes","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"removeCallSite"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"},{"internalType":"string","name":"notes","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"removeReceiver"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"string","name":"notes","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"removeSender"},{"inputs":[{"internalType":"address","name":"destination","type":"address"},{"internalType":"string","name":"notes","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"removeWithdrawDestination"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes","name":"callDataWithSelector","type":"bytes"}],"stateMutability":"view","type":"function","name":"validateCall"},{"inputs":[{"internalType":"bytes","name":"callData","type":"bytes"}],"stateMutability":"view","type":"function","name":"validate_approve"},{"inputs":[{"internalType":"bytes","name":"callData","type":"bytes"}],"stateMutability":"view","type":"function","name":"validate_swapTokensForExactTokens"},{"inputs":[{"internalType":"bytes","name":"callData","type":"bytes"}],"stateMutability":"view","type":"function","name":"validate_transfer"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"string","name":"notes","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"whitelistToken"},{"inputs":[{"internalType":"address","name":"router","type":"address"},{"internalType":"string","name":"notes","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"whitelistUniswapV2Router"}],"devdoc":{"kind":"dev","methods":{"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":{"getGovernanceAddress()":{"notice":"Get the address of the proto DAO"},"getInternalVersion()":{"notice":"Track version during internal development. We bump up when new whitelistings added."}},"version":1}},"settings":{"remappings":["@openzeppelin/=lib/openzeppelin-contracts/contracts/","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/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/GuardV0.sol":"GuardV0"},"evmVersion":"paris","libraries":{}},"sources":{"lib/openzeppelin-contracts/contracts/access/Ownable.sol":{"keccak256":"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218","urls":["bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32","dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xa92e4fa126feb6907daa0513ddd816b2eb91f30a808de54f63c17d0e162c3439","urls":["bzz-raw://a367861093b74443b137564d3f3c472f70bcf114739e62059c939f25e315706c","dweb:/ipfs/Qmd7JMpcxD9RuQjK3uM3EzJUgSqdN8vzp8eytEiuwxQJ6h"],"license":"MIT"},"src/GuardV0.sol":{"keccak256":"0x7e39df41b992dabc22cff78b92245c9f0d08babd15430ccfcac7f659fff75757","urls":["bzz-raw://e064b8110dcd3303e4717e34c546395969a8abb37521a68f545514ccf008cab0","dweb:/ipfs/QmcDwW15EHKrSsZoFnnmFxet4FvC5EPWC4MhQpzMqMGeWp"],"license":null}},"version":1},"ast":{"absolutePath":"src/GuardV0.sol","id":1018,"exportedSymbols":{"Context":[220],"GuardV0":[1017],"IGuard":[233],"IUniswapV2Router02":[268],"Ownable":[112]},"nodeType":"SourceUnit","src":"56:8962:3","nodes":[{"id":222,"nodeType":"PragmaDirective","src":"56:23:3","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":223,"nodeType":"ImportDirective","src":"81:42:3","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/access/Ownable.sol","file":"@openzeppelin/access/Ownable.sol","nameLocation":"-1:-1:-1","scope":1018,"sourceUnit":113,"symbolAliases":[],"unitAlias":""},{"id":233,"nodeType":"ContractDefinition","src":"125:123:3","nodes":[{"id":232,"nodeType":"FunctionDefinition","src":"148:98:3","nodes":[],"functionSelector":"6d5025f1","implemented":false,"kind":"function","modifiers":[],"name":"validateCall","nameLocation":"157:12:3","parameters":{"id":230,"nodeType":"ParameterList","parameters":[{"constant":false,"id":225,"mutability":"mutable","name":"sender","nameLocation":"178:6:3","nodeType":"VariableDeclaration","scope":232,"src":"170:14:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":224,"name":"address","nodeType":"ElementaryTypeName","src":"170:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":227,"mutability":"mutable","name":"target","nameLocation":"194:6:3","nodeType":"VariableDeclaration","scope":232,"src":"186:14:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":226,"name":"address","nodeType":"ElementaryTypeName","src":"186:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":229,"mutability":"mutable","name":"callDataWithSelector","nameLocation":"215:20:3","nodeType":"VariableDeclaration","scope":232,"src":"202:33:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":228,"name":"bytes","nodeType":"ElementaryTypeName","src":"202:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"169:67:3"},"returnParameters":{"id":231,"nodeType":"ParameterList","parameters":[],"src":"245:0:3"},"scope":233,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IGuard","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[233],"name":"IGuard","nameLocation":"135:6:3","scope":1018,"usedErrors":[]},{"id":268,"nodeType":"ContractDefinition","src":"250:447:3","nodes":[{"id":250,"nodeType":"FunctionDefinition","src":"285:207:3","nodes":[],"functionSelector":"8803dbee","implemented":false,"kind":"function","modifiers":[],"name":"swapTokensForExactTokens","nameLocation":"294:24:3","parameters":{"id":245,"nodeType":"ParameterList","parameters":[{"constant":false,"id":235,"mutability":"mutable","name":"amountOut","nameLocation":"333:9:3","nodeType":"VariableDeclaration","scope":250,"src":"328:14:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":234,"name":"uint","nodeType":"ElementaryTypeName","src":"328:4:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":237,"mutability":"mutable","name":"amountInMax","nameLocation":"357:11:3","nodeType":"VariableDeclaration","scope":250,"src":"352:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":236,"name":"uint","nodeType":"ElementaryTypeName","src":"352:4:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":240,"mutability":"mutable","name":"path","nameLocation":"397:4:3","nodeType":"VariableDeclaration","scope":250,"src":"378:23:3","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":238,"name":"address","nodeType":"ElementaryTypeName","src":"378:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":239,"nodeType":"ArrayTypeName","src":"378:9:3","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":242,"mutability":"mutable","name":"to","nameLocation":"419:2:3","nodeType":"VariableDeclaration","scope":250,"src":"411:10:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":241,"name":"address","nodeType":"ElementaryTypeName","src":"411:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":244,"mutability":"mutable","name":"deadline","nameLocation":"436:8:3","nodeType":"VariableDeclaration","scope":250,"src":"431:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":243,"name":"uint","nodeType":"ElementaryTypeName","src":"431:4:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"318:132:3"},"returnParameters":{"id":249,"nodeType":"ParameterList","parameters":[{"constant":false,"id":248,"mutability":"mutable","name":"amounts","nameLocation":"483:7:3","nodeType":"VariableDeclaration","scope":250,"src":"469:21:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":246,"name":"uint","nodeType":"ElementaryTypeName","src":"469:4:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":247,"nodeType":"ArrayTypeName","src":"469:6:3","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"468:23:3"},"scope":268,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":267,"nodeType":"FunctionDefinition","src":"498:197:3","nodes":[],"functionSelector":"38ed1739","implemented":false,"kind":"function","modifiers":[],"name":"swapExactTokensForTokens","nameLocation":"507:24:3","parameters":{"id":262,"nodeType":"ParameterList","parameters":[{"constant":false,"id":252,"mutability":"mutable","name":"amountIn","nameLocation":"544:8:3","nodeType":"VariableDeclaration","scope":267,"src":"539:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":251,"name":"uint","nodeType":"ElementaryTypeName","src":"539:4:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":254,"mutability":"mutable","name":"amountOutMin","nameLocation":"565:12:3","nodeType":"VariableDeclaration","scope":267,"src":"560:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":253,"name":"uint","nodeType":"ElementaryTypeName","src":"560:4:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":257,"mutability":"mutable","name":"path","nameLocation":"604:4:3","nodeType":"VariableDeclaration","scope":267,"src":"585:23:3","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":255,"name":"address","nodeType":"ElementaryTypeName","src":"585:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":256,"nodeType":"ArrayTypeName","src":"585:9:3","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":259,"mutability":"mutable","name":"to","nameLocation":"624:2:3","nodeType":"VariableDeclaration","scope":267,"src":"616:10:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":258,"name":"address","nodeType":"ElementaryTypeName","src":"616:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":261,"mutability":"mutable","name":"deadline","nameLocation":"639:8:3","nodeType":"VariableDeclaration","scope":267,"src":"634:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":260,"name":"uint","nodeType":"ElementaryTypeName","src":"634:4:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"531:122:3"},"returnParameters":{"id":266,"nodeType":"ParameterList","parameters":[{"constant":false,"id":265,"mutability":"mutable","name":"amounts","nameLocation":"686:7:3","nodeType":"VariableDeclaration","scope":267,"src":"672:21:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":263,"name":"uint","nodeType":"ElementaryTypeName","src":"672:4:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":264,"nodeType":"ArrayTypeName","src":"672:6:3","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"671:23:3"},"scope":268,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"IUniswapV2Router02","contractDependencies":[],"contractKind":"interface","fullyImplemented":false,"linearizedBaseContracts":[268],"name":"IUniswapV2Router02","nameLocation":"260:18:3","scope":1018,"usedErrors":[]},{"id":1017,"nodeType":"ContractDefinition","src":"798:8220:3","nodes":[{"id":279,"nodeType":"VariableDeclaration","src":"872:91:3","nodes":[],"constant":false,"functionSelector":"a847cf4d","mutability":"mutable","name":"allowedCallSites","nameLocation":"947:16:3","scope":1017,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_bool_$_$","typeString":"mapping(address => mapping(bytes4 => bool))"},"typeName":{"id":278,"keyName":"target","keyNameLocation":"888:6:3","keyType":{"id":274,"name":"address","nodeType":"ElementaryTypeName","src":"880:7:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"872:67:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_bool_$_$","typeString":"mapping(address => mapping(bytes4 => bool))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":277,"keyName":"selector","keyNameLocation":"913:8:3","keyType":{"id":275,"name":"bytes4","nodeType":"ElementaryTypeName","src":"906:6:3","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"Mapping","src":"898:40:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes4_$_t_bool_$","typeString":"mapping(bytes4 => bool)"},"valueName":"allowed","valueNameLocation":"930:7:3","valueType":{"id":276,"name":"bool","nodeType":"ElementaryTypeName","src":"925:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}}},"visibility":"public"},{"id":281,"nodeType":"VariableDeclaration","src":"1084:25:3","nodes":[],"constant":false,"functionSelector":"a9fc3d4f","mutability":"mutable","name":"callSiteCount","nameLocation":"1096:13:3","scope":1017,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":280,"name":"uint","nodeType":"ElementaryTypeName","src":"1084:4:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"id":285,"nodeType":"VariableDeclaration","src":"1179:59:3","nodes":[],"constant":false,"functionSelector":"a4c1cccb","mutability":"mutable","name":"allowedAssets","nameLocation":"1225:13:3","scope":1017,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"typeName":{"id":284,"keyName":"token","keyNameLocation":"1195:5:3","keyType":{"id":282,"name":"address","nodeType":"ElementaryTypeName","src":"1187:7:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1179:38:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"valueName":"allowed","valueNameLocation":"1209:7:3","valueType":{"id":283,"name":"bool","nodeType":"ElementaryTypeName","src":"1204:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}},"visibility":"public"},{"id":289,"nodeType":"VariableDeclaration","src":"1287:61:3","nodes":[],"constant":false,"functionSelector":"fadbcf48","mutability":"mutable","name":"allowedSenders","nameLocation":"1334:14:3","scope":1017,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"typeName":{"id":288,"keyName":"sender","keyNameLocation":"1303:6:3","keyType":{"id":286,"name":"address","nodeType":"ElementaryTypeName","src":"1295:7:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1287:39:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"valueName":"allowed","valueNameLocation":"1318:7:3","valueType":{"id":287,"name":"bool","nodeType":"ElementaryTypeName","src":"1313:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}},"visibility":"public"},{"id":293,"nodeType":"VariableDeclaration","src":"1397:65:3","nodes":[],"constant":false,"functionSelector":"3cf20025","mutability":"mutable","name":"allowedReceivers","nameLocation":"1446:16:3","scope":1017,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"typeName":{"id":292,"keyName":"receiver","keyNameLocation":"1413:8:3","keyType":{"id":290,"name":"address","nodeType":"ElementaryTypeName","src":"1405:7:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1397:41:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"valueName":"allowed","valueNameLocation":"1430:7:3","valueType":{"id":291,"name":"bool","nodeType":"ElementaryTypeName","src":"1425:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}},"visibility":"public"},{"id":297,"nodeType":"VariableDeclaration","src":"1491:79:3","nodes":[],"constant":false,"functionSelector":"07ef00cf","mutability":"mutable","name":"allowedWithdrawDestinations","nameLocation":"1543:27:3","scope":1017,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"typeName":{"id":296,"keyName":"destination","keyNameLocation":"1507:11:3","keyType":{"id":294,"name":"address","nodeType":"ElementaryTypeName","src":"1499:7:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1491:44:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"valueName":"allowed","valueNameLocation":"1527:7:3","valueType":{"id":295,"name":"bool","nodeType":"ElementaryTypeName","src":"1522:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}},"visibility":"public"},{"id":301,"nodeType":"VariableDeclaration","src":"1600:79:3","nodes":[],"constant":false,"functionSelector":"eb0de042","mutability":"mutable","name":"allowedApprovalDestinations","nameLocation":"1652:27:3","scope":1017,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"typeName":{"id":300,"keyName":"destination","keyNameLocation":"1616:11:3","keyType":{"id":298,"name":"address","nodeType":"ElementaryTypeName","src":"1608:7:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1600:44:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"valueName":"allowed","valueNameLocation":"1636:7:3","valueType":{"id":299,"name":"bool","nodeType":"ElementaryTypeName","src":"1631:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}},"visibility":"public"},{"id":309,"nodeType":"EventDefinition","src":"1686:70:3","nodes":[],"anonymous":false,"eventSelector":"ef729aaa41b9fd994f9ff7c1960df214a84f722002e6cfbea31799cd0873a3ef","name":"CallSiteApproved","nameLocation":"1692:16:3","parameters":{"id":308,"nodeType":"ParameterList","parameters":[{"constant":false,"id":303,"indexed":false,"mutability":"mutable","name":"target","nameLocation":"1717:6:3","nodeType":"VariableDeclaration","scope":309,"src":"1709:14:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":302,"name":"address","nodeType":"ElementaryTypeName","src":"1709:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":305,"indexed":false,"mutability":"mutable","name":"selector","nameLocation":"1732:8:3","nodeType":"VariableDeclaration","scope":309,"src":"1725:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":304,"name":"bytes4","nodeType":"ElementaryTypeName","src":"1725:6:3","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"},{"constant":false,"id":307,"indexed":false,"mutability":"mutable","name":"notes","nameLocation":"1749:5:3","nodeType":"VariableDeclaration","scope":309,"src":"1742:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":306,"name":"string","nodeType":"ElementaryTypeName","src":"1742:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1708:47:3"}},{"id":317,"nodeType":"EventDefinition","src":"1761:69:3","nodes":[],"anonymous":false,"eventSelector":"37ea10f2d08f5a9803dfcd5abf3cfc7b0d6fcdf5fcbc36be9ea5a0b53d9a4d9b","name":"CallSiteRemoved","nameLocation":"1767:15:3","parameters":{"id":316,"nodeType":"ParameterList","parameters":[{"constant":false,"id":311,"indexed":false,"mutability":"mutable","name":"target","nameLocation":"1791:6:3","nodeType":"VariableDeclaration","scope":317,"src":"1783:14:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":310,"name":"address","nodeType":"ElementaryTypeName","src":"1783:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":313,"indexed":false,"mutability":"mutable","name":"selector","nameLocation":"1806:8:3","nodeType":"VariableDeclaration","scope":317,"src":"1799:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":312,"name":"bytes4","nodeType":"ElementaryTypeName","src":"1799:6:3","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"},{"constant":false,"id":315,"indexed":false,"mutability":"mutable","name":"notes","nameLocation":"1823:5:3","nodeType":"VariableDeclaration","scope":317,"src":"1816:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":314,"name":"string","nodeType":"ElementaryTypeName","src":"1816:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1782:47:3"}},{"id":323,"nodeType":"EventDefinition","src":"1836:51:3","nodes":[],"anonymous":false,"eventSelector":"a8f9caaf4861720900294428e4ff34d37070c37afd26d96e6e4da75326d2c3ad","name":"SenderApproved","nameLocation":"1842:14:3","parameters":{"id":322,"nodeType":"ParameterList","parameters":[{"constant":false,"id":319,"indexed":false,"mutability":"mutable","name":"sender","nameLocation":"1865:6:3","nodeType":"VariableDeclaration","scope":323,"src":"1857:14:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":318,"name":"address","nodeType":"ElementaryTypeName","src":"1857:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":321,"indexed":false,"mutability":"mutable","name":"notes","nameLocation":"1880:5:3","nodeType":"VariableDeclaration","scope":323,"src":"1873:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":320,"name":"string","nodeType":"ElementaryTypeName","src":"1873:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1856:30:3"}},{"id":329,"nodeType":"EventDefinition","src":"1892:50:3","nodes":[],"anonymous":false,"eventSelector":"3097928509c53a2dab9500431201d82b0d756e8f890fd01f4ae6b33b45687ea4","name":"SenderRemoved","nameLocation":"1898:13:3","parameters":{"id":328,"nodeType":"ParameterList","parameters":[{"constant":false,"id":325,"indexed":false,"mutability":"mutable","name":"sender","nameLocation":"1920:6:3","nodeType":"VariableDeclaration","scope":329,"src":"1912:14:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":324,"name":"address","nodeType":"ElementaryTypeName","src":"1912:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":327,"indexed":false,"mutability":"mutable","name":"notes","nameLocation":"1935:5:3","nodeType":"VariableDeclaration","scope":329,"src":"1928:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":326,"name":"string","nodeType":"ElementaryTypeName","src":"1928:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1911:30:3"}},{"id":335,"nodeType":"EventDefinition","src":"1948:53:3","nodes":[],"anonymous":false,"eventSelector":"62dd88c5ecfa60713a657640ebec4de26fc1aefa4afdb24e6d15a124fce72779","name":"ReceiverApproved","nameLocation":"1954:16:3","parameters":{"id":334,"nodeType":"ParameterList","parameters":[{"constant":false,"id":331,"indexed":false,"mutability":"mutable","name":"sender","nameLocation":"1979:6:3","nodeType":"VariableDeclaration","scope":335,"src":"1971:14:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":330,"name":"address","nodeType":"ElementaryTypeName","src":"1971:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":333,"indexed":false,"mutability":"mutable","name":"notes","nameLocation":"1994:5:3","nodeType":"VariableDeclaration","scope":335,"src":"1987:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":332,"name":"string","nodeType":"ElementaryTypeName","src":"1987:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1970:30:3"}},{"id":341,"nodeType":"EventDefinition","src":"2006:52:3","nodes":[],"anonymous":false,"eventSelector":"4e13b11ab98e672bd78295ef9cebe764dc617f95decf47d842c25b83abc0c724","name":"ReceiverRemoved","nameLocation":"2012:15:3","parameters":{"id":340,"nodeType":"ParameterList","parameters":[{"constant":false,"id":337,"indexed":false,"mutability":"mutable","name":"sender","nameLocation":"2036:6:3","nodeType":"VariableDeclaration","scope":341,"src":"2028:14:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":336,"name":"address","nodeType":"ElementaryTypeName","src":"2028:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":339,"indexed":false,"mutability":"mutable","name":"notes","nameLocation":"2051:5:3","nodeType":"VariableDeclaration","scope":341,"src":"2044:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":338,"name":"string","nodeType":"ElementaryTypeName","src":"2044:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2027:30:3"}},{"id":347,"nodeType":"EventDefinition","src":"2064:64:3","nodes":[],"anonymous":false,"eventSelector":"3562181221a42a19ddd03a82dfe06acab1905ceb65cdaf7d86a1d9fec6643552","name":"WithdrawDestinationApproved","nameLocation":"2070:27:3","parameters":{"id":346,"nodeType":"ParameterList","parameters":[{"constant":false,"id":343,"indexed":false,"mutability":"mutable","name":"sender","nameLocation":"2106:6:3","nodeType":"VariableDeclaration","scope":347,"src":"2098:14:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":342,"name":"address","nodeType":"ElementaryTypeName","src":"2098:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":345,"indexed":false,"mutability":"mutable","name":"notes","nameLocation":"2121:5:3","nodeType":"VariableDeclaration","scope":347,"src":"2114:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":344,"name":"string","nodeType":"ElementaryTypeName","src":"2114:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2097:30:3"}},{"id":353,"nodeType":"EventDefinition","src":"2133:63:3","nodes":[],"anonymous":false,"eventSelector":"1212f8ddb39de8e1a339460c95752d61100723efeaa34ccd94bca94393f40938","name":"WithdrawDestinationRemoved","nameLocation":"2139:26:3","parameters":{"id":352,"nodeType":"ParameterList","parameters":[{"constant":false,"id":349,"indexed":false,"mutability":"mutable","name":"sender","nameLocation":"2174:6:3","nodeType":"VariableDeclaration","scope":353,"src":"2166:14:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":348,"name":"address","nodeType":"ElementaryTypeName","src":"2166:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":351,"indexed":false,"mutability":"mutable","name":"notes","nameLocation":"2189:5:3","nodeType":"VariableDeclaration","scope":353,"src":"2182:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":350,"name":"string","nodeType":"ElementaryTypeName","src":"2182:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2165:30:3"}},{"id":359,"nodeType":"EventDefinition","src":"2202:64:3","nodes":[],"anonymous":false,"eventSelector":"628a44970c0e450415e3ae74334ea44f3307b74dbf677a1371190242bf2f3589","name":"ApprovalDestinationApproved","nameLocation":"2208:27:3","parameters":{"id":358,"nodeType":"ParameterList","parameters":[{"constant":false,"id":355,"indexed":false,"mutability":"mutable","name":"sender","nameLocation":"2244:6:3","nodeType":"VariableDeclaration","scope":359,"src":"2236:14:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":354,"name":"address","nodeType":"ElementaryTypeName","src":"2236:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":357,"indexed":false,"mutability":"mutable","name":"notes","nameLocation":"2259:5:3","nodeType":"VariableDeclaration","scope":359,"src":"2252:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":356,"name":"string","nodeType":"ElementaryTypeName","src":"2252:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2235:30:3"}},{"id":365,"nodeType":"EventDefinition","src":"2271:63:3","nodes":[],"anonymous":false,"eventSelector":"b71be9befd3ac90c1c9981d3b1161b3c2c6dcd741f13b34061aa251226a802df","name":"ApprovalDestinationRemoved","nameLocation":"2277:26:3","parameters":{"id":364,"nodeType":"ParameterList","parameters":[{"constant":false,"id":361,"indexed":false,"mutability":"mutable","name":"sender","nameLocation":"2312:6:3","nodeType":"VariableDeclaration","scope":365,"src":"2304:14:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":360,"name":"address","nodeType":"ElementaryTypeName","src":"2304:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":363,"indexed":false,"mutability":"mutable","name":"notes","nameLocation":"2327:5:3","nodeType":"VariableDeclaration","scope":365,"src":"2320:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":362,"name":"string","nodeType":"ElementaryTypeName","src":"2320:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2303:30:3"}},{"id":371,"nodeType":"EventDefinition","src":"2340:50:3","nodes":[],"anonymous":false,"eventSelector":"ad90e2570fc4fe9f7437be3188d5c791c6662892d31731992aa88f5c87621983","name":"AssetApproved","nameLocation":"2346:13:3","parameters":{"id":370,"nodeType":"ParameterList","parameters":[{"constant":false,"id":367,"indexed":false,"mutability":"mutable","name":"sender","nameLocation":"2368:6:3","nodeType":"VariableDeclaration","scope":371,"src":"2360:14:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":366,"name":"address","nodeType":"ElementaryTypeName","src":"2360:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":369,"indexed":false,"mutability":"mutable","name":"notes","nameLocation":"2383:5:3","nodeType":"VariableDeclaration","scope":371,"src":"2376:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":368,"name":"string","nodeType":"ElementaryTypeName","src":"2376:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2359:30:3"}},{"id":377,"nodeType":"EventDefinition","src":"2395:49:3","nodes":[],"anonymous":false,"eventSelector":"9ca3f065622f5f03f32b7157677a0e420c3a36ab45fd49f256ffebce3e310587","name":"AssetRemoved","nameLocation":"2401:12:3","parameters":{"id":376,"nodeType":"ParameterList","parameters":[{"constant":false,"id":373,"indexed":false,"mutability":"mutable","name":"sender","nameLocation":"2422:6:3","nodeType":"VariableDeclaration","scope":377,"src":"2414:14:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":372,"name":"address","nodeType":"ElementaryTypeName","src":"2414:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":375,"indexed":false,"mutability":"mutable","name":"notes","nameLocation":"2437:5:3","nodeType":"VariableDeclaration","scope":377,"src":"2430:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":374,"name":"string","nodeType":"ElementaryTypeName","src":"2430:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2413:30:3"}},{"id":383,"nodeType":"FunctionDefinition","src":"2450:31:3","nodes":[],"body":{"id":382,"nodeType":"Block","src":"2474:7:3","nodes":[],"statements":[]},"implemented":true,"kind":"constructor","modifiers":[{"arguments":[],"id":380,"kind":"baseConstructorSpecifier","modifierName":{"id":379,"name":"Ownable","nameLocations":["2464:7:3"],"nodeType":"IdentifierPath","referencedDeclaration":112,"src":"2464:7:3"},"nodeType":"ModifierInvocation","src":"2464:9:3"}],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":378,"nodeType":"ParameterList","parameters":[],"src":"2461:2:3"},"returnParameters":{"id":381,"nodeType":"ParameterList","parameters":[],"src":"2474:0:3"},"scope":1017,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":401,"nodeType":"FunctionDefinition","src":"2487:190:3","nodes":[],"body":{"id":400,"nodeType":"Block","src":"2560:117:3","nodes":[],"statements":[{"expression":{"arguments":[{"arguments":[{"arguments":[{"id":395,"name":"_func","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":385,"src":"2662:5:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":394,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2656:5:3","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes_storage_ptr_$","typeString":"type(bytes storage pointer)"},"typeName":{"id":393,"name":"bytes","nodeType":"ElementaryTypeName","src":"2656:5:3","typeDescriptions":{}}},"id":396,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2656:12:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":392,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"2646:9:3","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":397,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2646:23:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":391,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2639:6:3","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes4_$","typeString":"type(bytes4)"},"typeName":{"id":390,"name":"bytes4","nodeType":"ElementaryTypeName","src":"2639:6:3","typeDescriptions":{}}},"id":398,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2639:31:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"functionReturnParameters":389,"id":399,"nodeType":"Return","src":"2632:38:3"}]},"implemented":true,"kind":"function","modifiers":[],"name":"getSelector","nameLocation":"2496:11:3","parameters":{"id":386,"nodeType":"ParameterList","parameters":[{"constant":false,"id":385,"mutability":"mutable","name":"_func","nameLocation":"2522:5:3","nodeType":"VariableDeclaration","scope":401,"src":"2508:19:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":384,"name":"string","nodeType":"ElementaryTypeName","src":"2508:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2507:21:3"},"returnParameters":{"id":389,"nodeType":"ParameterList","parameters":[{"constant":false,"id":388,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":401,"src":"2552:6:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":387,"name":"bytes4","nodeType":"ElementaryTypeName","src":"2552:6:3","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"2551:8:3"},"scope":1017,"stateMutability":"pure","virtual":false,"visibility":"internal"},{"id":411,"nodeType":"FunctionDefinition","src":"2739:93:3","nodes":[],"body":{"id":410,"nodeType":"Block","src":"2801:31:3","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":407,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40,"src":"2818:5:3","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":408,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2818:7:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":406,"id":409,"nodeType":"Return","src":"2811:14:3"}]},"documentation":{"id":402,"nodeType":"StructuredDocumentation","src":"2683:51:3","text":" Get the address of the proto DAO"},"functionSelector":"73252494","implemented":true,"kind":"function","modifiers":[],"name":"getGovernanceAddress","nameLocation":"2748:20:3","parameters":{"id":403,"nodeType":"ParameterList","parameters":[],"src":"2768:2:3"},"returnParameters":{"id":406,"nodeType":"ParameterList","parameters":[{"constant":false,"id":405,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":411,"src":"2792:7:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":404,"name":"address","nodeType":"ElementaryTypeName","src":"2792:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2791:9:3"},"scope":1017,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":420,"nodeType":"FunctionDefinition","src":"2959:83:3","nodes":[],"body":{"id":419,"nodeType":"Block","src":"3017:25:3","nodes":[],"statements":[{"expression":{"hexValue":"31","id":417,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3034:1:3","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"functionReturnParameters":416,"id":418,"nodeType":"Return","src":"3027:8:3"}]},"documentation":{"id":412,"nodeType":"StructuredDocumentation","src":"2838:116:3","text":" Track version during internal development.\n We bump up when new whitelistings added."},"functionSelector":"fdedfa27","implemented":true,"kind":"function","modifiers":[],"name":"getInternalVersion","nameLocation":"2968:18:3","parameters":{"id":413,"nodeType":"ParameterList","parameters":[],"src":"2986:2:3"},"returnParameters":{"id":416,"nodeType":"ParameterList","parameters":[{"constant":false,"id":415,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":420,"src":"3010:5:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":414,"name":"uint8","nodeType":"ElementaryTypeName","src":"3010:5:3","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"}],"src":"3009:7:3"},"scope":1017,"stateMutability":"pure","virtual":false,"visibility":"public"},{"id":449,"nodeType":"FunctionDefinition","src":"3048:235:3","nodes":[],"body":{"id":448,"nodeType":"Block","src":"3144:139:3","nodes":[],"statements":[{"expression":{"id":437,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":431,"name":"allowedCallSites","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":279,"src":"3154:16:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_bool_$_$","typeString":"mapping(address => mapping(bytes4 => bool))"}},"id":434,"indexExpression":{"id":432,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":422,"src":"3171:6:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3154:24:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes4_$_t_bool_$","typeString":"mapping(bytes4 => bool)"}},"id":435,"indexExpression":{"id":433,"name":"selector","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":424,"src":"3179:8:3","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3154:34:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":436,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3191:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"3154:41:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":438,"nodeType":"ExpressionStatement","src":"3154:41:3"},{"expression":{"id":440,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"3205:15:3","subExpression":{"id":439,"name":"callSiteCount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":281,"src":"3205:13:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":441,"nodeType":"ExpressionStatement","src":"3205:15:3"},{"eventCall":{"arguments":[{"id":443,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":422,"src":"3252:6:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":444,"name":"selector","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":424,"src":"3260:8:3","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":445,"name":"notes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":426,"src":"3270:5:3","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}],"id":442,"name":"CallSiteApproved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":309,"src":"3235:16:3","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_bytes4_$_t_string_memory_ptr_$returns$__$","typeString":"function (address,bytes4,string memory)"}},"id":446,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3235:41:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":447,"nodeType":"EmitStatement","src":"3230:46:3"}]},"functionSelector":"5e4ccace","implemented":true,"kind":"function","modifiers":[{"id":429,"kind":"modifierInvocation","modifierName":{"id":428,"name":"onlyOwner","nameLocations":["3134:9:3"],"nodeType":"IdentifierPath","referencedDeclaration":31,"src":"3134:9:3"},"nodeType":"ModifierInvocation","src":"3134:9:3"}],"name":"allowCallSite","nameLocation":"3057:13:3","parameters":{"id":427,"nodeType":"ParameterList","parameters":[{"constant":false,"id":422,"mutability":"mutable","name":"target","nameLocation":"3079:6:3","nodeType":"VariableDeclaration","scope":449,"src":"3071:14:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":421,"name":"address","nodeType":"ElementaryTypeName","src":"3071:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":424,"mutability":"mutable","name":"selector","nameLocation":"3094:8:3","nodeType":"VariableDeclaration","scope":449,"src":"3087:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":423,"name":"bytes4","nodeType":"ElementaryTypeName","src":"3087:6:3","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"},{"constant":false,"id":426,"mutability":"mutable","name":"notes","nameLocation":"3120:5:3","nodeType":"VariableDeclaration","scope":449,"src":"3104:21:3","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":425,"name":"string","nodeType":"ElementaryTypeName","src":"3104:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3070:56:3"},"returnParameters":{"id":430,"nodeType":"ParameterList","parameters":[],"src":"3144:0:3"},"scope":1017,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":474,"nodeType":"FunctionDefinition","src":"3289:210:3","nodes":[],"body":{"id":473,"nodeType":"Block","src":"3386:113:3","nodes":[],"statements":[{"expression":{"id":465,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"3396:41:3","subExpression":{"baseExpression":{"baseExpression":{"id":460,"name":"allowedCallSites","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":279,"src":"3403:16:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_bool_$_$","typeString":"mapping(address => mapping(bytes4 => bool))"}},"id":462,"indexExpression":{"id":461,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":451,"src":"3420:6:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3403:24:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes4_$_t_bool_$","typeString":"mapping(bytes4 => bool)"}},"id":464,"indexExpression":{"id":463,"name":"selector","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":453,"src":"3428:8:3","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3403:34:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":466,"nodeType":"ExpressionStatement","src":"3396:41:3"},{"eventCall":{"arguments":[{"id":468,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":451,"src":"3468:6:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":469,"name":"selector","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":453,"src":"3476:8:3","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":470,"name":"notes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":455,"src":"3486:5:3","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}],"id":467,"name":"CallSiteRemoved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":317,"src":"3452:15:3","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_bytes4_$_t_string_memory_ptr_$returns$__$","typeString":"function (address,bytes4,string memory)"}},"id":471,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3452:40:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":472,"nodeType":"EmitStatement","src":"3447:45:3"}]},"functionSelector":"d7334c9d","implemented":true,"kind":"function","modifiers":[{"id":458,"kind":"modifierInvocation","modifierName":{"id":457,"name":"onlyOwner","nameLocations":["3376:9:3"],"nodeType":"IdentifierPath","referencedDeclaration":31,"src":"3376:9:3"},"nodeType":"ModifierInvocation","src":"3376:9:3"}],"name":"removeCallSite","nameLocation":"3298:14:3","parameters":{"id":456,"nodeType":"ParameterList","parameters":[{"constant":false,"id":451,"mutability":"mutable","name":"target","nameLocation":"3321:6:3","nodeType":"VariableDeclaration","scope":474,"src":"3313:14:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":450,"name":"address","nodeType":"ElementaryTypeName","src":"3313:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":453,"mutability":"mutable","name":"selector","nameLocation":"3336:8:3","nodeType":"VariableDeclaration","scope":474,"src":"3329:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":452,"name":"bytes4","nodeType":"ElementaryTypeName","src":"3329:6:3","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"},{"constant":false,"id":455,"mutability":"mutable","name":"notes","nameLocation":"3362:5:3","nodeType":"VariableDeclaration","scope":474,"src":"3346:21:3","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":454,"name":"string","nodeType":"ElementaryTypeName","src":"3346:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3312:56:3"},"returnParameters":{"id":459,"nodeType":"ParameterList","parameters":[],"src":"3386:0:3"},"scope":1017,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":495,"nodeType":"FunctionDefinition","src":"3505:167:3","nodes":[],"body":{"id":494,"nodeType":"Block","src":"3582:90:3","nodes":[],"statements":[{"expression":{"id":487,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":483,"name":"allowedSenders","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":289,"src":"3592:14:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":485,"indexExpression":{"id":484,"name":"sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":476,"src":"3607:6:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3592:22:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":486,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3617:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"3592:29:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":488,"nodeType":"ExpressionStatement","src":"3592:29:3"},{"eventCall":{"arguments":[{"id":490,"name":"sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":476,"src":"3651:6:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":491,"name":"notes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":478,"src":"3659:5:3","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}],"id":489,"name":"SenderApproved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":323,"src":"3636:14:3","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_string_memory_ptr_$returns$__$","typeString":"function (address,string memory)"}},"id":492,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3636:29:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":493,"nodeType":"EmitStatement","src":"3631:34:3"}]},"functionSelector":"fa2c59c8","implemented":true,"kind":"function","modifiers":[{"id":481,"kind":"modifierInvocation","modifierName":{"id":480,"name":"onlyOwner","nameLocations":["3572:9:3"],"nodeType":"IdentifierPath","referencedDeclaration":31,"src":"3572:9:3"},"nodeType":"ModifierInvocation","src":"3572:9:3"}],"name":"allowSender","nameLocation":"3514:11:3","parameters":{"id":479,"nodeType":"ParameterList","parameters":[{"constant":false,"id":476,"mutability":"mutable","name":"sender","nameLocation":"3534:6:3","nodeType":"VariableDeclaration","scope":495,"src":"3526:14:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":475,"name":"address","nodeType":"ElementaryTypeName","src":"3526:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":478,"mutability":"mutable","name":"notes","nameLocation":"3558:5:3","nodeType":"VariableDeclaration","scope":495,"src":"3542:21:3","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":477,"name":"string","nodeType":"ElementaryTypeName","src":"3542:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3525:39:3"},"returnParameters":{"id":482,"nodeType":"ParameterList","parameters":[],"src":"3582:0:3"},"scope":1017,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":515,"nodeType":"FunctionDefinition","src":"3678:167:3","nodes":[],"body":{"id":514,"nodeType":"Block","src":"3756:89:3","nodes":[],"statements":[{"expression":{"id":507,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"3766:29:3","subExpression":{"baseExpression":{"id":504,"name":"allowedSenders","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":289,"src":"3773:14:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":506,"indexExpression":{"id":505,"name":"sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":497,"src":"3788:6:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3773:22:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":508,"nodeType":"ExpressionStatement","src":"3766:29:3"},{"eventCall":{"arguments":[{"id":510,"name":"sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":497,"src":"3824:6:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":511,"name":"notes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":499,"src":"3832:5:3","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}],"id":509,"name":"SenderRemoved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":329,"src":"3810:13:3","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_string_memory_ptr_$returns$__$","typeString":"function (address,string memory)"}},"id":512,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3810:28:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":513,"nodeType":"EmitStatement","src":"3805:33:3"}]},"functionSelector":"a67e1f54","implemented":true,"kind":"function","modifiers":[{"id":502,"kind":"modifierInvocation","modifierName":{"id":501,"name":"onlyOwner","nameLocations":["3746:9:3"],"nodeType":"IdentifierPath","referencedDeclaration":31,"src":"3746:9:3"},"nodeType":"ModifierInvocation","src":"3746:9:3"}],"name":"removeSender","nameLocation":"3687:12:3","parameters":{"id":500,"nodeType":"ParameterList","parameters":[{"constant":false,"id":497,"mutability":"mutable","name":"sender","nameLocation":"3708:6:3","nodeType":"VariableDeclaration","scope":515,"src":"3700:14:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":496,"name":"address","nodeType":"ElementaryTypeName","src":"3700:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":499,"mutability":"mutable","name":"notes","nameLocation":"3732:5:3","nodeType":"VariableDeclaration","scope":515,"src":"3716:21:3","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":498,"name":"string","nodeType":"ElementaryTypeName","src":"3716:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3699:39:3"},"returnParameters":{"id":503,"nodeType":"ParameterList","parameters":[],"src":"3756:0:3"},"scope":1017,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":536,"nodeType":"FunctionDefinition","src":"3851:179:3","nodes":[],"body":{"id":535,"nodeType":"Block","src":"3932:98:3","nodes":[],"statements":[{"expression":{"id":528,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":524,"name":"allowedReceivers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":293,"src":"3942:16:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":526,"indexExpression":{"id":525,"name":"receiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":517,"src":"3959:8:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3942:26:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":527,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3971:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"3942:33:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":529,"nodeType":"ExpressionStatement","src":"3942:33:3"},{"eventCall":{"arguments":[{"id":531,"name":"receiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":517,"src":"4007:8:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":532,"name":"notes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":519,"src":"4017:5:3","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}],"id":530,"name":"ReceiverApproved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":335,"src":"3990:16:3","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_string_memory_ptr_$returns$__$","typeString":"function (address,string memory)"}},"id":533,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3990:33:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":534,"nodeType":"EmitStatement","src":"3985:38:3"}]},"functionSelector":"72e548a9","implemented":true,"kind":"function","modifiers":[{"id":522,"kind":"modifierInvocation","modifierName":{"id":521,"name":"onlyOwner","nameLocations":["3922:9:3"],"nodeType":"IdentifierPath","referencedDeclaration":31,"src":"3922:9:3"},"nodeType":"ModifierInvocation","src":"3922:9:3"}],"name":"allowReceiver","nameLocation":"3860:13:3","parameters":{"id":520,"nodeType":"ParameterList","parameters":[{"constant":false,"id":517,"mutability":"mutable","name":"receiver","nameLocation":"3882:8:3","nodeType":"VariableDeclaration","scope":536,"src":"3874:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":516,"name":"address","nodeType":"ElementaryTypeName","src":"3874:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":519,"mutability":"mutable","name":"notes","nameLocation":"3908:5:3","nodeType":"VariableDeclaration","scope":536,"src":"3892:21:3","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":518,"name":"string","nodeType":"ElementaryTypeName","src":"3892:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"3873:41:3"},"returnParameters":{"id":523,"nodeType":"ParameterList","parameters":[],"src":"3932:0:3"},"scope":1017,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":556,"nodeType":"FunctionDefinition","src":"4036:179:3","nodes":[],"body":{"id":555,"nodeType":"Block","src":"4118:97:3","nodes":[],"statements":[{"expression":{"id":548,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"4128:33:3","subExpression":{"baseExpression":{"id":545,"name":"allowedReceivers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":293,"src":"4135:16:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":547,"indexExpression":{"id":546,"name":"receiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":538,"src":"4152:8:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"4135:26:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":549,"nodeType":"ExpressionStatement","src":"4128:33:3"},{"eventCall":{"arguments":[{"id":551,"name":"receiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":538,"src":"4192:8:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":552,"name":"notes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":540,"src":"4202:5:3","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}],"id":550,"name":"ReceiverRemoved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":341,"src":"4176:15:3","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_string_memory_ptr_$returns$__$","typeString":"function (address,string memory)"}},"id":553,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4176:32:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":554,"nodeType":"EmitStatement","src":"4171:37:3"}]},"functionSelector":"2d12d788","implemented":true,"kind":"function","modifiers":[{"id":543,"kind":"modifierInvocation","modifierName":{"id":542,"name":"onlyOwner","nameLocations":["4108:9:3"],"nodeType":"IdentifierPath","referencedDeclaration":31,"src":"4108:9:3"},"nodeType":"ModifierInvocation","src":"4108:9:3"}],"name":"removeReceiver","nameLocation":"4045:14:3","parameters":{"id":541,"nodeType":"ParameterList","parameters":[{"constant":false,"id":538,"mutability":"mutable","name":"receiver","nameLocation":"4068:8:3","nodeType":"VariableDeclaration","scope":556,"src":"4060:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":537,"name":"address","nodeType":"ElementaryTypeName","src":"4060:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":540,"mutability":"mutable","name":"notes","nameLocation":"4094:5:3","nodeType":"VariableDeclaration","scope":556,"src":"4078:21:3","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":539,"name":"string","nodeType":"ElementaryTypeName","src":"4078:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4059:41:3"},"returnParameters":{"id":544,"nodeType":"ParameterList","parameters":[],"src":"4118:0:3"},"scope":1017,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":577,"nodeType":"FunctionDefinition","src":"4221:221:3","nodes":[],"body":{"id":576,"nodeType":"Block","src":"4316:126:3","nodes":[],"statements":[{"expression":{"id":569,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":565,"name":"allowedWithdrawDestinations","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":297,"src":"4326:27:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":567,"indexExpression":{"id":566,"name":"destination","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":558,"src":"4354:11:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"4326:40:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":568,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4369:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"4326:47:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":570,"nodeType":"ExpressionStatement","src":"4326:47:3"},{"eventCall":{"arguments":[{"id":572,"name":"destination","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":558,"src":"4416:11:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":573,"name":"notes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":560,"src":"4429:5:3","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}],"id":571,"name":"WithdrawDestinationApproved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":347,"src":"4388:27:3","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_string_memory_ptr_$returns$__$","typeString":"function (address,string memory)"}},"id":574,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4388:47:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":575,"nodeType":"EmitStatement","src":"4383:52:3"}]},"functionSelector":"5ace1d92","implemented":true,"kind":"function","modifiers":[{"id":563,"kind":"modifierInvocation","modifierName":{"id":562,"name":"onlyOwner","nameLocations":["4306:9:3"],"nodeType":"IdentifierPath","referencedDeclaration":31,"src":"4306:9:3"},"nodeType":"ModifierInvocation","src":"4306:9:3"}],"name":"allowWithdrawDestination","nameLocation":"4230:24:3","parameters":{"id":561,"nodeType":"ParameterList","parameters":[{"constant":false,"id":558,"mutability":"mutable","name":"destination","nameLocation":"4263:11:3","nodeType":"VariableDeclaration","scope":577,"src":"4255:19:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":557,"name":"address","nodeType":"ElementaryTypeName","src":"4255:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":560,"mutability":"mutable","name":"notes","nameLocation":"4292:5:3","nodeType":"VariableDeclaration","scope":577,"src":"4276:21:3","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":559,"name":"string","nodeType":"ElementaryTypeName","src":"4276:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4254:44:3"},"returnParameters":{"id":564,"nodeType":"ParameterList","parameters":[],"src":"4316:0:3"},"scope":1017,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":597,"nodeType":"FunctionDefinition","src":"4448:221:3","nodes":[],"body":{"id":596,"nodeType":"Block","src":"4544:125:3","nodes":[],"statements":[{"expression":{"id":589,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"4554:47:3","subExpression":{"baseExpression":{"id":586,"name":"allowedWithdrawDestinations","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":297,"src":"4561:27:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":588,"indexExpression":{"id":587,"name":"destination","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":579,"src":"4589:11:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"4561:40:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":590,"nodeType":"ExpressionStatement","src":"4554:47:3"},{"eventCall":{"arguments":[{"id":592,"name":"destination","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":579,"src":"4643:11:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":593,"name":"notes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":581,"src":"4656:5:3","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}],"id":591,"name":"WithdrawDestinationRemoved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":353,"src":"4616:26:3","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_string_memory_ptr_$returns$__$","typeString":"function (address,string memory)"}},"id":594,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4616:46:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":595,"nodeType":"EmitStatement","src":"4611:51:3"}]},"functionSelector":"8c2fdf9e","implemented":true,"kind":"function","modifiers":[{"id":584,"kind":"modifierInvocation","modifierName":{"id":583,"name":"onlyOwner","nameLocations":["4534:9:3"],"nodeType":"IdentifierPath","referencedDeclaration":31,"src":"4534:9:3"},"nodeType":"ModifierInvocation","src":"4534:9:3"}],"name":"removeWithdrawDestination","nameLocation":"4457:25:3","parameters":{"id":582,"nodeType":"ParameterList","parameters":[{"constant":false,"id":579,"mutability":"mutable","name":"destination","nameLocation":"4491:11:3","nodeType":"VariableDeclaration","scope":597,"src":"4483:19:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":578,"name":"address","nodeType":"ElementaryTypeName","src":"4483:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":581,"mutability":"mutable","name":"notes","nameLocation":"4520:5:3","nodeType":"VariableDeclaration","scope":597,"src":"4504:21:3","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":580,"name":"string","nodeType":"ElementaryTypeName","src":"4504:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4482:44:3"},"returnParameters":{"id":585,"nodeType":"ParameterList","parameters":[],"src":"4544:0:3"},"scope":1017,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":618,"nodeType":"FunctionDefinition","src":"4675:221:3","nodes":[],"body":{"id":617,"nodeType":"Block","src":"4770:126:3","nodes":[],"statements":[{"expression":{"id":610,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":606,"name":"allowedApprovalDestinations","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":301,"src":"4780:27:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":608,"indexExpression":{"id":607,"name":"destination","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":599,"src":"4808:11:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"4780:40:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":609,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4823:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"4780:47:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":611,"nodeType":"ExpressionStatement","src":"4780:47:3"},{"eventCall":{"arguments":[{"id":613,"name":"destination","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":599,"src":"4870:11:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":614,"name":"notes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":601,"src":"4883:5:3","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}],"id":612,"name":"ApprovalDestinationApproved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":359,"src":"4842:27:3","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_string_memory_ptr_$returns$__$","typeString":"function (address,string memory)"}},"id":615,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4842:47:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":616,"nodeType":"EmitStatement","src":"4837:52:3"}]},"functionSelector":"98b3cc39","implemented":true,"kind":"function","modifiers":[{"id":604,"kind":"modifierInvocation","modifierName":{"id":603,"name":"onlyOwner","nameLocations":["4760:9:3"],"nodeType":"IdentifierPath","referencedDeclaration":31,"src":"4760:9:3"},"nodeType":"ModifierInvocation","src":"4760:9:3"}],"name":"allowApprovalDestination","nameLocation":"4684:24:3","parameters":{"id":602,"nodeType":"ParameterList","parameters":[{"constant":false,"id":599,"mutability":"mutable","name":"destination","nameLocation":"4717:11:3","nodeType":"VariableDeclaration","scope":618,"src":"4709:19:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":598,"name":"address","nodeType":"ElementaryTypeName","src":"4709:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":601,"mutability":"mutable","name":"notes","nameLocation":"4746:5:3","nodeType":"VariableDeclaration","scope":618,"src":"4730:21:3","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":600,"name":"string","nodeType":"ElementaryTypeName","src":"4730:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4708:44:3"},"returnParameters":{"id":605,"nodeType":"ParameterList","parameters":[],"src":"4770:0:3"},"scope":1017,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":638,"nodeType":"FunctionDefinition","src":"4902:221:3","nodes":[],"body":{"id":637,"nodeType":"Block","src":"4998:125:3","nodes":[],"statements":[{"expression":{"id":630,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"5008:47:3","subExpression":{"baseExpression":{"id":627,"name":"allowedApprovalDestinations","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":301,"src":"5015:27:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":629,"indexExpression":{"id":628,"name":"destination","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":620,"src":"5043:11:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5015:40:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":631,"nodeType":"ExpressionStatement","src":"5008:47:3"},{"eventCall":{"arguments":[{"id":633,"name":"destination","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":620,"src":"5097:11:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":634,"name":"notes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":622,"src":"5110:5:3","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}],"id":632,"name":"ApprovalDestinationRemoved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":365,"src":"5070:26:3","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_string_memory_ptr_$returns$__$","typeString":"function (address,string memory)"}},"id":635,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5070:46:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":636,"nodeType":"EmitStatement","src":"5065:51:3"}]},"functionSelector":"04a3ba25","implemented":true,"kind":"function","modifiers":[{"id":625,"kind":"modifierInvocation","modifierName":{"id":624,"name":"onlyOwner","nameLocations":["4988:9:3"],"nodeType":"IdentifierPath","referencedDeclaration":31,"src":"4988:9:3"},"nodeType":"ModifierInvocation","src":"4988:9:3"}],"name":"removeApprovalDestination","nameLocation":"4911:25:3","parameters":{"id":623,"nodeType":"ParameterList","parameters":[{"constant":false,"id":620,"mutability":"mutable","name":"destination","nameLocation":"4945:11:3","nodeType":"VariableDeclaration","scope":638,"src":"4937:19:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":619,"name":"address","nodeType":"ElementaryTypeName","src":"4937:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":622,"mutability":"mutable","name":"notes","nameLocation":"4974:5:3","nodeType":"VariableDeclaration","scope":638,"src":"4958:21:3","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":621,"name":"string","nodeType":"ElementaryTypeName","src":"4958:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"4936:44:3"},"returnParameters":{"id":626,"nodeType":"ParameterList","parameters":[],"src":"4998:0:3"},"scope":1017,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":659,"nodeType":"FunctionDefinition","src":"5129:161:3","nodes":[],"body":{"id":658,"nodeType":"Block","src":"5204:86:3","nodes":[],"statements":[{"expression":{"id":651,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":647,"name":"allowedAssets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":285,"src":"5214:13:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":649,"indexExpression":{"id":648,"name":"asset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":640,"src":"5228:5:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5214:20:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":650,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"5237:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"5214:27:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":652,"nodeType":"ExpressionStatement","src":"5214:27:3"},{"eventCall":{"arguments":[{"id":654,"name":"asset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":640,"src":"5270:5:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":655,"name":"notes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":642,"src":"5277:5:3","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}],"id":653,"name":"AssetApproved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":371,"src":"5256:13:3","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_string_memory_ptr_$returns$__$","typeString":"function (address,string memory)"}},"id":656,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5256:27:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":657,"nodeType":"EmitStatement","src":"5251:32:3"}]},"functionSelector":"86b6dbe5","implemented":true,"kind":"function","modifiers":[{"id":645,"kind":"modifierInvocation","modifierName":{"id":644,"name":"onlyOwner","nameLocations":["5194:9:3"],"nodeType":"IdentifierPath","referencedDeclaration":31,"src":"5194:9:3"},"nodeType":"ModifierInvocation","src":"5194:9:3"}],"name":"allowAsset","nameLocation":"5138:10:3","parameters":{"id":643,"nodeType":"ParameterList","parameters":[{"constant":false,"id":640,"mutability":"mutable","name":"asset","nameLocation":"5157:5:3","nodeType":"VariableDeclaration","scope":659,"src":"5149:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":639,"name":"address","nodeType":"ElementaryTypeName","src":"5149:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":642,"mutability":"mutable","name":"notes","nameLocation":"5180:5:3","nodeType":"VariableDeclaration","scope":659,"src":"5164:21:3","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":641,"name":"string","nodeType":"ElementaryTypeName","src":"5164:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5148:38:3"},"returnParameters":{"id":646,"nodeType":"ParameterList","parameters":[],"src":"5204:0:3"},"scope":1017,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":679,"nodeType":"FunctionDefinition","src":"5296:161:3","nodes":[],"body":{"id":678,"nodeType":"Block","src":"5372:85:3","nodes":[],"statements":[{"expression":{"id":671,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"5382:27:3","subExpression":{"baseExpression":{"id":668,"name":"allowedAssets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":285,"src":"5389:13:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":670,"indexExpression":{"id":669,"name":"asset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":661,"src":"5403:5:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5389:20:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":672,"nodeType":"ExpressionStatement","src":"5382:27:3"},{"eventCall":{"arguments":[{"id":674,"name":"asset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":661,"src":"5437:5:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":675,"name":"notes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":663,"src":"5444:5:3","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}],"id":673,"name":"AssetRemoved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":377,"src":"5424:12:3","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_string_memory_ptr_$returns$__$","typeString":"function (address,string memory)"}},"id":676,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5424:26:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":677,"nodeType":"EmitStatement","src":"5419:31:3"}]},"functionSelector":"f901dc33","implemented":true,"kind":"function","modifiers":[{"id":666,"kind":"modifierInvocation","modifierName":{"id":665,"name":"onlyOwner","nameLocations":["5362:9:3"],"nodeType":"IdentifierPath","referencedDeclaration":31,"src":"5362:9:3"},"nodeType":"ModifierInvocation","src":"5362:9:3"}],"name":"removeAsset","nameLocation":"5305:11:3","parameters":{"id":664,"nodeType":"ParameterList","parameters":[{"constant":false,"id":661,"mutability":"mutable","name":"asset","nameLocation":"5325:5:3","nodeType":"VariableDeclaration","scope":679,"src":"5317:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":660,"name":"address","nodeType":"ElementaryTypeName","src":"5317:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":663,"mutability":"mutable","name":"notes","nameLocation":"5348:5:3","nodeType":"VariableDeclaration","scope":679,"src":"5332:21:3","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":662,"name":"string","nodeType":"ElementaryTypeName","src":"5332:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"5316:38:3"},"returnParameters":{"id":667,"nodeType":"ParameterList","parameters":[],"src":"5372:0:3"},"scope":1017,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":695,"nodeType":"FunctionDefinition","src":"5520:145:3","nodes":[],"body":{"id":694,"nodeType":"Block","src":"5607:58:3","nodes":[],"statements":[{"expression":{"baseExpression":{"baseExpression":{"id":688,"name":"allowedCallSites","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":279,"src":"5624:16:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_bytes4_$_t_bool_$_$","typeString":"mapping(address => mapping(bytes4 => bool))"}},"id":690,"indexExpression":{"id":689,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":681,"src":"5641:6:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5624:24:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes4_$_t_bool_$","typeString":"mapping(bytes4 => bool)"}},"id":692,"indexExpression":{"id":691,"name":"selector","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":683,"src":"5649:8:3","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5624:34:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":687,"id":693,"nodeType":"Return","src":"5617:41:3"}]},"functionSelector":"713ebf3b","implemented":true,"kind":"function","modifiers":[],"name":"isAllowedCallSite","nameLocation":"5529:17:3","parameters":{"id":684,"nodeType":"ParameterList","parameters":[{"constant":false,"id":681,"mutability":"mutable","name":"target","nameLocation":"5555:6:3","nodeType":"VariableDeclaration","scope":695,"src":"5547:14:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":680,"name":"address","nodeType":"ElementaryTypeName","src":"5547:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":683,"mutability":"mutable","name":"selector","nameLocation":"5570:8:3","nodeType":"VariableDeclaration","scope":695,"src":"5563:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":682,"name":"bytes4","nodeType":"ElementaryTypeName","src":"5563:6:3","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"5546:33:3"},"returnParameters":{"id":687,"nodeType":"ParameterList","parameters":[{"constant":false,"id":686,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":695,"src":"5601:4:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":685,"name":"bool","nodeType":"ElementaryTypeName","src":"5601:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5600:6:3"},"scope":1017,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":709,"nodeType":"FunctionDefinition","src":"5671:122:3","nodes":[],"body":{"id":708,"nodeType":"Block","src":"5739:54:3","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":706,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":702,"name":"allowedSenders","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":289,"src":"5756:14:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":704,"indexExpression":{"id":703,"name":"sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":697,"src":"5771:6:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5756:22:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"74727565","id":705,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"5782:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"5756:30:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":701,"id":707,"nodeType":"Return","src":"5749:37:3"}]},"functionSelector":"be8c97b0","implemented":true,"kind":"function","modifiers":[],"name":"isAllowedSender","nameLocation":"5680:15:3","parameters":{"id":698,"nodeType":"ParameterList","parameters":[{"constant":false,"id":697,"mutability":"mutable","name":"sender","nameLocation":"5704:6:3","nodeType":"VariableDeclaration","scope":709,"src":"5696:14:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":696,"name":"address","nodeType":"ElementaryTypeName","src":"5696:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5695:16:3"},"returnParameters":{"id":701,"nodeType":"ParameterList","parameters":[{"constant":false,"id":700,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":709,"src":"5733:4:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":699,"name":"bool","nodeType":"ElementaryTypeName","src":"5733:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5732:6:3"},"scope":1017,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":723,"nodeType":"FunctionDefinition","src":"5851:130:3","nodes":[],"body":{"id":722,"nodeType":"Block","src":"5923:58:3","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":720,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":716,"name":"allowedReceivers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":293,"src":"5940:16:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":718,"indexExpression":{"id":717,"name":"receiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":711,"src":"5957:8:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5940:26:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"74727565","id":719,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"5970:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"5940:34:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":715,"id":721,"nodeType":"Return","src":"5933:41:3"}]},"functionSelector":"d075f9bb","implemented":true,"kind":"function","modifiers":[],"name":"isAllowedReceiver","nameLocation":"5860:17:3","parameters":{"id":712,"nodeType":"ParameterList","parameters":[{"constant":false,"id":711,"mutability":"mutable","name":"receiver","nameLocation":"5886:8:3","nodeType":"VariableDeclaration","scope":723,"src":"5878:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":710,"name":"address","nodeType":"ElementaryTypeName","src":"5878:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5877:18:3"},"returnParameters":{"id":715,"nodeType":"ParameterList","parameters":[{"constant":false,"id":714,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":723,"src":"5917:4:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":713,"name":"bool","nodeType":"ElementaryTypeName","src":"5917:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5916:6:3"},"scope":1017,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":737,"nodeType":"FunctionDefinition","src":"5987:152:3","nodes":[],"body":{"id":736,"nodeType":"Block","src":"6070:69:3","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":734,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":730,"name":"allowedWithdrawDestinations","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":297,"src":"6087:27:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":732,"indexExpression":{"id":731,"name":"receiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":725,"src":"6115:8:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6087:37:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"74727565","id":733,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"6128:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"6087:45:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":729,"id":735,"nodeType":"Return","src":"6080:52:3"}]},"functionSelector":"efb47bff","implemented":true,"kind":"function","modifiers":[],"name":"isAllowedWithdrawDestination","nameLocation":"5996:28:3","parameters":{"id":726,"nodeType":"ParameterList","parameters":[{"constant":false,"id":725,"mutability":"mutable","name":"receiver","nameLocation":"6033:8:3","nodeType":"VariableDeclaration","scope":737,"src":"6025:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":724,"name":"address","nodeType":"ElementaryTypeName","src":"6025:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6024:18:3"},"returnParameters":{"id":729,"nodeType":"ParameterList","parameters":[{"constant":false,"id":728,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":737,"src":"6064:4:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":727,"name":"bool","nodeType":"ElementaryTypeName","src":"6064:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"6063:6:3"},"scope":1017,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":751,"nodeType":"FunctionDefinition","src":"6145:152:3","nodes":[],"body":{"id":750,"nodeType":"Block","src":"6228:69:3","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":748,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":744,"name":"allowedApprovalDestinations","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":301,"src":"6245:27:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":746,"indexExpression":{"id":745,"name":"receiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":739,"src":"6273:8:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6245:37:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"74727565","id":747,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"6286:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"6245:45:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":743,"id":749,"nodeType":"Return","src":"6238:52:3"}]},"functionSelector":"1d49039c","implemented":true,"kind":"function","modifiers":[],"name":"isAllowedApprovalDestination","nameLocation":"6154:28:3","parameters":{"id":740,"nodeType":"ParameterList","parameters":[{"constant":false,"id":739,"mutability":"mutable","name":"receiver","nameLocation":"6191:8:3","nodeType":"VariableDeclaration","scope":751,"src":"6183:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":738,"name":"address","nodeType":"ElementaryTypeName","src":"6183:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6182:18:3"},"returnParameters":{"id":743,"nodeType":"ParameterList","parameters":[{"constant":false,"id":742,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":751,"src":"6222:4:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":741,"name":"bool","nodeType":"ElementaryTypeName","src":"6222:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"6221:6:3"},"scope":1017,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":765,"nodeType":"FunctionDefinition","src":"6303:118:3","nodes":[],"body":{"id":764,"nodeType":"Block","src":"6369:52:3","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":762,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"id":758,"name":"allowedAssets","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":285,"src":"6386:13:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":760,"indexExpression":{"id":759,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":753,"src":"6400:5:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6386:20:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"74727565","id":761,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"6410:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"6386:28:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":757,"id":763,"nodeType":"Return","src":"6379:35:3"}]},"functionSelector":"c537bed0","implemented":true,"kind":"function","modifiers":[],"name":"isAllowedAsset","nameLocation":"6312:14:3","parameters":{"id":754,"nodeType":"ParameterList","parameters":[{"constant":false,"id":753,"mutability":"mutable","name":"token","nameLocation":"6335:5:3","nodeType":"VariableDeclaration","scope":765,"src":"6327:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":752,"name":"address","nodeType":"ElementaryTypeName","src":"6327:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6326:15:3"},"returnParameters":{"id":757,"nodeType":"ParameterList","parameters":[{"constant":false,"id":756,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":765,"src":"6363:4:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":755,"name":"bool","nodeType":"ElementaryTypeName","src":"6363:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"6362:6:3"},"scope":1017,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":831,"nodeType":"FunctionDefinition","src":"6460:493:3","nodes":[],"body":{"id":830,"nodeType":"Block","src":"6538:415:3","nodes":[],"statements":[{"assignments":[null,null,774,776,null],"declarations":[null,null,{"constant":false,"id":774,"mutability":"mutable","name":"path","nameLocation":"6570:4:3","nodeType":"VariableDeclaration","scope":830,"src":"6553:21:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":772,"name":"address","nodeType":"ElementaryTypeName","src":"6553:7:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":773,"nodeType":"ArrayTypeName","src":"6553:9:3","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":776,"mutability":"mutable","name":"to","nameLocation":"6584:2:3","nodeType":"VariableDeclaration","scope":830,"src":"6576:10:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":775,"name":"address","nodeType":"ElementaryTypeName","src":"6576:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},null],"id":793,"initialValue":{"arguments":[{"id":779,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":767,"src":"6603:8:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":781,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6614:4:3","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":780,"name":"uint","nodeType":"ElementaryTypeName","src":"6614:4:3","typeDescriptions":{}}},{"id":783,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6620:4:3","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":782,"name":"uint","nodeType":"ElementaryTypeName","src":"6620:4:3","typeDescriptions":{}}},{"baseExpression":{"id":785,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6626:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":784,"name":"address","nodeType":"ElementaryTypeName","src":"6626:7:3","typeDescriptions":{}}},"id":786,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"IndexAccess","src":"6626:9:3","typeDescriptions":{"typeIdentifier":"t_type$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"type(address[] memory)"}},{"id":788,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6637:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":787,"name":"address","nodeType":"ElementaryTypeName","src":"6637:7:3","typeDescriptions":{}}},{"id":790,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6646:4:3","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":789,"name":"uint","nodeType":"ElementaryTypeName","src":"6646:4:3","typeDescriptions":{}}}],"id":791,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"6613:38:3","typeDescriptions":{"typeIdentifier":"t_tuple$_t_type$_t_uint256_$_$_t_type$_t_uint256_$_$_t_type$_t_array$_t_address_$dyn_memory_ptr_$_$_t_type$_t_address_$_$_t_type$_t_uint256_$_$","typeString":"tuple(type(uint256),type(uint256),type(address[] memory),type(address),type(uint256))"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_tuple$_t_type$_t_uint256_$_$_t_type$_t_uint256_$_$_t_type$_t_array$_t_address_$dyn_memory_ptr_$_$_t_type$_t_address_$_$_t_type$_t_uint256_$_$","typeString":"tuple(type(uint256),type(uint256),type(address[] memory),type(address),type(uint256))"}],"expression":{"id":777,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"6592:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":778,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"6596:6:3","memberName":"decode","nodeType":"MemberAccess","src":"6592:10:3","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":792,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6592:60:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$_t_array$_t_address_$dyn_memory_ptr_$_t_address_payable_$_t_uint256_$","typeString":"tuple(uint256,uint256,address[] memory,address payable,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"6548:104:3"},{"assignments":[795],"declarations":[{"constant":false,"id":795,"mutability":"mutable","name":"tokenIn","nameLocation":"6670:7:3","nodeType":"VariableDeclaration","scope":830,"src":"6662:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":794,"name":"address","nodeType":"ElementaryTypeName","src":"6662:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":799,"initialValue":{"baseExpression":{"id":796,"name":"path","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":774,"src":"6680:4:3","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":798,"indexExpression":{"hexValue":"30","id":797,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6685:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6680:7:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"6662:25:3"},{"assignments":[801],"declarations":[{"constant":false,"id":801,"mutability":"mutable","name":"tokenOut","nameLocation":"6705:8:3","nodeType":"VariableDeclaration","scope":830,"src":"6697:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":800,"name":"address","nodeType":"ElementaryTypeName","src":"6697:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":808,"initialValue":{"baseExpression":{"id":802,"name":"path","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":774,"src":"6716:4:3","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":807,"indexExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":806,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":803,"name":"path","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":774,"src":"6721:4:3","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":804,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6726:6:3","memberName":"length","nodeType":"MemberAccess","src":"6721:11:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31","id":805,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6735:1:3","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"6721:15:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6716:21:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"6697:40:3"},{"expression":{"arguments":[{"arguments":[{"id":811,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":776,"src":"6773:2:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":810,"name":"isAllowedReceiver","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":723,"src":"6755:17:3","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":812,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6755:21:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5265636569766572206164647265737320646f6573206e6f74206d61746368","id":813,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6778:33:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_914992591b078845495b58c4516b430d9e17451e3f92fff3d4d5ee434bb6c65c","typeString":"literal_string \"Receiver address does not match\""},"value":"Receiver address does not match"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_914992591b078845495b58c4516b430d9e17451e3f92fff3d4d5ee434bb6c65c","typeString":"literal_string \"Receiver address does not match\""}],"id":809,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"6747:7:3","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":814,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6747:65:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":815,"nodeType":"ExpressionStatement","src":"6747:65:3"},{"expression":{"arguments":[{"arguments":[{"id":818,"name":"tokenIn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":795,"src":"6845:7:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":817,"name":"isAllowedAsset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":765,"src":"6830:14:3","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":819,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6830:23:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"546f6b656e20696e206e6f7420616c6c6f776564","id":820,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6855:22:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_157653f440ed01700317a08e493939ade3602c17baffc7ac8f9c93e550fea880","typeString":"literal_string \"Token in not allowed\""},"value":"Token in not allowed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_157653f440ed01700317a08e493939ade3602c17baffc7ac8f9c93e550fea880","typeString":"literal_string \"Token in not allowed\""}],"id":816,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"6822:7:3","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":821,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6822:56:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":822,"nodeType":"ExpressionStatement","src":"6822:56:3"},{"expression":{"arguments":[{"arguments":[{"id":825,"name":"tokenOut","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":801,"src":"6911:8:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":824,"name":"isAllowedAsset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":765,"src":"6896:14:3","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":826,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6896:24:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"546f6b656e206f7574206e6f7420616c6c6f776564","id":827,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6922:23:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_e643d61e3ed433d1c1e6f8673a33c7453ceca64bbebafe3c41b4bfe1073debc5","typeString":"literal_string \"Token out not allowed\""},"value":"Token out not allowed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_e643d61e3ed433d1c1e6f8673a33c7453ceca64bbebafe3c41b4bfe1073debc5","typeString":"literal_string \"Token out not allowed\""}],"id":823,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"6888:7:3","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":828,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6888:58:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":829,"nodeType":"ExpressionStatement","src":"6888:58:3"}]},"functionSelector":"1202f5e5","implemented":true,"kind":"function","modifiers":[],"name":"validate_swapTokensForExactTokens","nameLocation":"6469:33:3","parameters":{"id":768,"nodeType":"ParameterList","parameters":[{"constant":false,"id":767,"mutability":"mutable","name":"callData","nameLocation":"6516:8:3","nodeType":"VariableDeclaration","scope":831,"src":"6503:21:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":766,"name":"bytes","nodeType":"ElementaryTypeName","src":"6503:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"6502:23:3"},"returnParameters":{"id":769,"nodeType":"ParameterList","parameters":[],"src":"6538:0:3"},"scope":1017,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":856,"nodeType":"FunctionDefinition","src":"6959:219:3","nodes":[],"body":{"id":855,"nodeType":"Block","src":"7021:157:3","nodes":[],"statements":[{"assignments":[837,null],"declarations":[{"constant":false,"id":837,"mutability":"mutable","name":"to","nameLocation":"7040:2:3","nodeType":"VariableDeclaration","scope":855,"src":"7032:10:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":836,"name":"address","nodeType":"ElementaryTypeName","src":"7032:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},null],"id":847,"initialValue":{"arguments":[{"id":840,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":833,"src":"7059:8:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":842,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7070:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":841,"name":"address","nodeType":"ElementaryTypeName","src":"7070:7:3","typeDescriptions":{}}},{"id":844,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7079:4:3","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":843,"name":"uint","nodeType":"ElementaryTypeName","src":"7079:4:3","typeDescriptions":{}}}],"id":845,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"7069:15:3","typeDescriptions":{"typeIdentifier":"t_tuple$_t_type$_t_address_$_$_t_type$_t_uint256_$_$","typeString":"tuple(type(address),type(uint256))"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_tuple$_t_type$_t_address_$_$_t_type$_t_uint256_$_$","typeString":"tuple(type(address),type(uint256))"}],"expression":{"id":838,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7048:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":839,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7052:6:3","memberName":"decode","nodeType":"MemberAccess","src":"7048:10:3","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":846,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7048:37:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_payable_$_t_uint256_$","typeString":"tuple(address payable,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"7031:54:3"},{"expression":{"arguments":[{"arguments":[{"id":850,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":837,"src":"7132:2:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":849,"name":"isAllowedWithdrawDestination","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":737,"src":"7103:28:3","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":851,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7103:32:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5265636569766572206164647265737320646f6573206e6f74206d61746368","id":852,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7137:33:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_914992591b078845495b58c4516b430d9e17451e3f92fff3d4d5ee434bb6c65c","typeString":"literal_string \"Receiver address does not match\""},"value":"Receiver address does not match"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_914992591b078845495b58c4516b430d9e17451e3f92fff3d4d5ee434bb6c65c","typeString":"literal_string \"Receiver address does not match\""}],"id":848,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"7095:7:3","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":853,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7095:76:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":854,"nodeType":"ExpressionStatement","src":"7095:76:3"}]},"functionSelector":"1710a4f2","implemented":true,"kind":"function","modifiers":[],"name":"validate_transfer","nameLocation":"6968:17:3","parameters":{"id":834,"nodeType":"ParameterList","parameters":[{"constant":false,"id":833,"mutability":"mutable","name":"callData","nameLocation":"6999:8:3","nodeType":"VariableDeclaration","scope":856,"src":"6986:21:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":832,"name":"bytes","nodeType":"ElementaryTypeName","src":"6986:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"6985:23:3"},"returnParameters":{"id":835,"nodeType":"ParameterList","parameters":[],"src":"7021:0:3"},"scope":1017,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":881,"nodeType":"FunctionDefinition","src":"7184:217:3","nodes":[],"body":{"id":880,"nodeType":"Block","src":"7245:156:3","nodes":[],"statements":[{"assignments":[862,null],"declarations":[{"constant":false,"id":862,"mutability":"mutable","name":"to","nameLocation":"7264:2:3","nodeType":"VariableDeclaration","scope":880,"src":"7256:10:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":861,"name":"address","nodeType":"ElementaryTypeName","src":"7256:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},null],"id":872,"initialValue":{"arguments":[{"id":865,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":858,"src":"7283:8:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"id":867,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7294:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":866,"name":"address","nodeType":"ElementaryTypeName","src":"7294:7:3","typeDescriptions":{}}},{"id":869,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7303:4:3","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":868,"name":"uint","nodeType":"ElementaryTypeName","src":"7303:4:3","typeDescriptions":{}}}],"id":870,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"7293:15:3","typeDescriptions":{"typeIdentifier":"t_tuple$_t_type$_t_address_$_$_t_type$_t_uint256_$_$","typeString":"tuple(type(address),type(uint256))"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_tuple$_t_type$_t_address_$_$_t_type$_t_uint256_$_$","typeString":"tuple(type(address),type(uint256))"}],"expression":{"id":863,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"7272:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":864,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"7276:6:3","memberName":"decode","nodeType":"MemberAccess","src":"7272:10:3","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":871,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7272:37:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_payable_$_t_uint256_$","typeString":"tuple(address payable,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"7255:54:3"},{"expression":{"arguments":[{"arguments":[{"id":875,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":862,"src":"7356:2:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":874,"name":"isAllowedApprovalDestination","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":751,"src":"7327:28:3","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":876,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7327:32:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"417070726f7665206164647265737320646f6573206e6f74206d61746368","id":877,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7361:32:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_061eead9c5c695b3a9b2aabb100af56c91e79777fd50ccec60d963333056a268","typeString":"literal_string \"Approve address does not match\""},"value":"Approve address does not match"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_061eead9c5c695b3a9b2aabb100af56c91e79777fd50ccec60d963333056a268","typeString":"literal_string \"Approve address does not match\""}],"id":873,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"7319:7:3","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":878,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7319:75:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":879,"nodeType":"ExpressionStatement","src":"7319:75:3"}]},"functionSelector":"4b956bd8","implemented":true,"kind":"function","modifiers":[],"name":"validate_approve","nameLocation":"7193:16:3","parameters":{"id":859,"nodeType":"ParameterList","parameters":[{"constant":false,"id":858,"mutability":"mutable","name":"callData","nameLocation":"7223:8:3","nodeType":"VariableDeclaration","scope":881,"src":"7210:21:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":857,"name":"bytes","nodeType":"ElementaryTypeName","src":"7210:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"7209:23:3"},"returnParameters":{"id":860,"nodeType":"ParameterList","parameters":[],"src":"7245:0:3"},"scope":1017,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":966,"nodeType":"FunctionDefinition","src":"7407:1068:3","nodes":[],"body":{"id":965,"nodeType":"Block","src":"7542:933:3","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":893,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":890,"name":"sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":883,"src":"7556:6:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[],"expression":{"argumentTypes":[],"id":891,"name":"getGovernanceAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":411,"src":"7566:20:3","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":892,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7566:22:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"7556:32:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":896,"nodeType":"IfStatement","src":"7553:125:3","trueBody":{"id":895,"nodeType":"Block","src":"7590:88:3","statements":[{"functionReturnParameters":889,"id":894,"nodeType":"Return","src":"7661:7:3"}]}},{"expression":{"arguments":[{"arguments":[{"id":899,"name":"sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":883,"src":"7712:6:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":898,"name":"isAllowedSender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":709,"src":"7696:15:3","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":900,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7696:23:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53656e646572206e6f7420616c6c6f776564","id":901,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7721:20:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_997485bfc3fd921e0cd692e382b844856aabcff8c7d4b84bf33c290035caf76e","typeString":"literal_string \"Sender not allowed\""},"value":"Sender not allowed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_997485bfc3fd921e0cd692e382b844856aabcff8c7d4b84bf33c290035caf76e","typeString":"literal_string \"Sender not allowed\""}],"id":897,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"7688:7:3","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":902,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7688:54:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":903,"nodeType":"ExpressionStatement","src":"7688:54:3"},{"assignments":[905],"declarations":[{"constant":false,"id":905,"mutability":"mutable","name":"selector","nameLocation":"7815:8:3","nodeType":"VariableDeclaration","scope":965,"src":"7808:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":904,"name":"bytes4","nodeType":"ElementaryTypeName","src":"7808:6:3","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"id":912,"initialValue":{"arguments":[{"baseExpression":{"id":908,"name":"callDataWithSelector","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":887,"src":"7833:20:3","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},"endExpression":{"hexValue":"34","id":909,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7855:1:3","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"id":910,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexRangeAccess","src":"7833:24:3","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr_slice","typeString":"bytes calldata slice"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr_slice","typeString":"bytes calldata slice"}],"id":907,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7826:6:3","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes4_$","typeString":"type(bytes4)"},"typeName":{"id":906,"name":"bytes4","nodeType":"ElementaryTypeName","src":"7826:6:3","typeDescriptions":{}}},"id":911,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7826:32:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"VariableDeclarationStatement","src":"7808:50:3"},{"assignments":[914],"declarations":[{"constant":false,"id":914,"mutability":"mutable","name":"callData","nameLocation":"7883:8:3","nodeType":"VariableDeclaration","scope":965,"src":"7868:23:3","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":913,"name":"bytes","nodeType":"ElementaryTypeName","src":"7868:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":918,"initialValue":{"baseExpression":{"id":915,"name":"callDataWithSelector","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":887,"src":"7894:20:3","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},"id":917,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexRangeAccess","src":"7894:24:3","startExpression":{"hexValue":"34","id":916,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7915:1:3","typeDescriptions":{"typeIdentifier":"t_rational_4_by_1","typeString":"int_const 4"},"value":"4"},"typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr_slice","typeString":"bytes calldata slice"}},"nodeType":"VariableDeclarationStatement","src":"7868:50:3"},{"expression":{"arguments":[{"arguments":[{"id":921,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":885,"src":"7954:6:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":922,"name":"selector","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":905,"src":"7962:8:3","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes4","typeString":"bytes4"}],"id":920,"name":"isAllowedCallSite","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":695,"src":"7936:17:3","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_bytes4_$returns$_t_bool_$","typeString":"function (address,bytes4) view returns (bool)"}},"id":923,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7936:35:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"43616c6c2073697465206e6f7420616c6c6f776564","id":924,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7973:23:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_6e5bca9344ecf5c55eaaadcdeddba06a330af020554ced34b057db935a40a7fe","typeString":"literal_string \"Call site not allowed\""},"value":"Call site not allowed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_6e5bca9344ecf5c55eaaadcdeddba06a330af020554ced34b057db935a40a7fe","typeString":"literal_string \"Call site not allowed\""}],"id":919,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"7928:7:3","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":925,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7928:69:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":926,"nodeType":"ExpressionStatement","src":"7928:69:3"},{"condition":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":931,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":927,"name":"selector","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":905,"src":"8011:8:3","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"737761704578616374546f6b656e73466f72546f6b656e732875696e743235362c75696e743235362c616464726573735b5d2c616464726573732c75696e7432353629","id":929,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8035:69:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_38ed1739ee07daf49933f1800d1a9bc8d39a6876ea11e643f9c4c39c66df0ee8","typeString":"literal_string \"swapExactTokensForTokens(uint256,uint256,address[],address,uint256)\""},"value":"swapExactTokensForTokens(uint256,uint256,address[],address,uint256)"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_38ed1739ee07daf49933f1800d1a9bc8d39a6876ea11e643f9c4c39c66df0ee8","typeString":"literal_string \"swapExactTokensForTokens(uint256,uint256,address[],address,uint256)\""}],"id":928,"name":"getSelector","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":401,"src":"8023:11:3","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_bytes4_$","typeString":"function (string memory) pure returns (bytes4)"}},"id":930,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8023:82:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"8011:94:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":941,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":937,"name":"selector","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":905,"src":"8184:8:3","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"7472616e7366657228616464726573732c75696e7432353629","id":939,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8208:27:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_a9059cbb2ab09eb219583f4a59a5d0623ade346d962bcd4e46b11da047c9049b","typeString":"literal_string \"transfer(address,uint256)\""},"value":"transfer(address,uint256)"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a9059cbb2ab09eb219583f4a59a5d0623ade346d962bcd4e46b11da047c9049b","typeString":"literal_string \"transfer(address,uint256)\""}],"id":938,"name":"getSelector","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":401,"src":"8196:11:3","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_bytes4_$","typeString":"function (string memory) pure returns (bytes4)"}},"id":940,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8196:40:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"8184:52:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"commonType":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"id":951,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":947,"name":"selector","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":905,"src":"8299:8:3","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"617070726f766528616464726573732c75696e7432353629","id":949,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8323:26:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_095ea7b334ae44009aa867bfb386f5c3b4b443ac6f0ee573fa91c4608fbadfba","typeString":"literal_string \"approve(address,uint256)\""},"value":"approve(address,uint256)"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_095ea7b334ae44009aa867bfb386f5c3b4b443ac6f0ee573fa91c4608fbadfba","typeString":"literal_string \"approve(address,uint256)\""}],"id":948,"name":"getSelector","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":401,"src":"8311:11:3","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_bytes4_$","typeString":"function (string memory) pure returns (bytes4)"}},"id":950,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8311:39:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"src":"8299:51:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":961,"nodeType":"Block","src":"8409:60:3","statements":[{"expression":{"arguments":[{"hexValue":"556e6b6e6f776e2066756e6374696f6e2073656c6563746f72","id":958,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8430:27:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_812e74976448150c48c74fdbb6cba937f2f0698204762ebd4ddc99db08a5594f","typeString":"literal_string \"Unknown function selector\""},"value":"Unknown function selector"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_812e74976448150c48c74fdbb6cba937f2f0698204762ebd4ddc99db08a5594f","typeString":"literal_string \"Unknown function selector\""}],"id":957,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[-19,-19],"referencedDeclaration":-19,"src":"8423:6:3","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory) pure"}},"id":959,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8423:35:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":960,"nodeType":"ExpressionStatement","src":"8423:35:3"}]},"id":962,"nodeType":"IfStatement","src":"8296:173:3","trueBody":{"id":956,"nodeType":"Block","src":"8352:51:3","statements":[{"expression":{"arguments":[{"id":953,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":914,"src":"8383:8:3","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"id":952,"name":"validate_approve","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":881,"src":"8366:16:3","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":954,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8366:26:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":955,"nodeType":"ExpressionStatement","src":"8366:26:3"}]}},"id":963,"nodeType":"IfStatement","src":"8181:288:3","trueBody":{"id":946,"nodeType":"Block","src":"8238:52:3","statements":[{"expression":{"arguments":[{"id":943,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":914,"src":"8270:8:3","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"id":942,"name":"validate_transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":856,"src":"8252:17:3","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":944,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8252:27:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":945,"nodeType":"ExpressionStatement","src":"8252:27:3"}]}},"id":964,"nodeType":"IfStatement","src":"8008:461:3","trueBody":{"id":936,"nodeType":"Block","src":"8107:68:3","statements":[{"expression":{"arguments":[{"id":933,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":914,"src":"8155:8:3","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"id":932,"name":"validate_swapTokensForExactTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":831,"src":"8121:33:3","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) view"}},"id":934,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8121:43:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":935,"nodeType":"ExpressionStatement","src":"8121:43:3"}]}}]},"baseFunctions":[232],"functionSelector":"6d5025f1","implemented":true,"kind":"function","modifiers":[],"name":"validateCall","nameLocation":"7416:12:3","parameters":{"id":888,"nodeType":"ParameterList","parameters":[{"constant":false,"id":883,"mutability":"mutable","name":"sender","nameLocation":"7446:6:3","nodeType":"VariableDeclaration","scope":966,"src":"7438:14:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":882,"name":"address","nodeType":"ElementaryTypeName","src":"7438:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":885,"mutability":"mutable","name":"target","nameLocation":"7470:6:3","nodeType":"VariableDeclaration","scope":966,"src":"7462:14:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":884,"name":"address","nodeType":"ElementaryTypeName","src":"7462:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":887,"mutability":"mutable","name":"callDataWithSelector","nameLocation":"7501:20:3","nodeType":"VariableDeclaration","scope":966,"src":"7486:35:3","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":886,"name":"bytes","nodeType":"ElementaryTypeName","src":"7486:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"7428:99:3"},"returnParameters":{"id":889,"nodeType":"ParameterList","parameters":[],"src":"7542:0:3"},"scope":1017,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":995,"nodeType":"FunctionDefinition","src":"8481:269:3","nodes":[],"body":{"id":994,"nodeType":"Block","src":"8552:198:3","nodes":[],"statements":[{"expression":{"arguments":[{"id":974,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":968,"src":"8576:5:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"7472616e7366657228616464726573732c75696e7432353629","id":976,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8595:27:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_a9059cbb2ab09eb219583f4a59a5d0623ade346d962bcd4e46b11da047c9049b","typeString":"literal_string \"transfer(address,uint256)\""},"value":"transfer(address,uint256)"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a9059cbb2ab09eb219583f4a59a5d0623ade346d962bcd4e46b11da047c9049b","typeString":"literal_string \"transfer(address,uint256)\""}],"id":975,"name":"getSelector","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":401,"src":"8583:11:3","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_bytes4_$","typeString":"function (string memory) pure returns (bytes4)"}},"id":977,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8583:40:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":978,"name":"notes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":970,"src":"8625:5:3","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}],"id":973,"name":"allowCallSite","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":449,"src":"8562:13:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_bytes4_$_t_string_calldata_ptr_$returns$__$","typeString":"function (address,bytes4,string calldata)"}},"id":979,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8562:69:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":980,"nodeType":"ExpressionStatement","src":"8562:69:3"},{"expression":{"arguments":[{"id":982,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":968,"src":"8655:5:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"617070726f766528616464726573732c75696e7432353629","id":984,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8674:26:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_095ea7b334ae44009aa867bfb386f5c3b4b443ac6f0ee573fa91c4608fbadfba","typeString":"literal_string \"approve(address,uint256)\""},"value":"approve(address,uint256)"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_095ea7b334ae44009aa867bfb386f5c3b4b443ac6f0ee573fa91c4608fbadfba","typeString":"literal_string \"approve(address,uint256)\""}],"id":983,"name":"getSelector","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":401,"src":"8662:11:3","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_bytes4_$","typeString":"function (string memory) pure returns (bytes4)"}},"id":985,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8662:39:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":986,"name":"notes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":970,"src":"8703:5:3","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}],"id":981,"name":"allowCallSite","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":449,"src":"8641:13:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_bytes4_$_t_string_calldata_ptr_$returns$__$","typeString":"function (address,bytes4,string calldata)"}},"id":987,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8641:68:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":988,"nodeType":"ExpressionStatement","src":"8641:68:3"},{"expression":{"arguments":[{"id":990,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":968,"src":"8730:5:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":991,"name":"notes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":970,"src":"8737:5:3","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}],"id":989,"name":"allowAsset","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":659,"src":"8719:10:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_string_calldata_ptr_$returns$__$","typeString":"function (address,string calldata)"}},"id":992,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8719:24:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":993,"nodeType":"ExpressionStatement","src":"8719:24:3"}]},"functionSelector":"ee5462cc","implemented":true,"kind":"function","modifiers":[],"name":"whitelistToken","nameLocation":"8490:14:3","parameters":{"id":971,"nodeType":"ParameterList","parameters":[{"constant":false,"id":968,"mutability":"mutable","name":"token","nameLocation":"8513:5:3","nodeType":"VariableDeclaration","scope":995,"src":"8505:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":967,"name":"address","nodeType":"ElementaryTypeName","src":"8505:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":970,"mutability":"mutable","name":"notes","nameLocation":"8536:5:3","nodeType":"VariableDeclaration","scope":995,"src":"8520:21:3","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":969,"name":"string","nodeType":"ElementaryTypeName","src":"8520:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8504:38:3"},"returnParameters":{"id":972,"nodeType":"ParameterList","parameters":[],"src":"8552:0:3"},"scope":1017,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":1016,"nodeType":"FunctionDefinition","src":"8756:260:3","nodes":[],"body":{"id":1015,"nodeType":"Block","src":"8838:178:3","nodes":[],"statements":[{"expression":{"arguments":[{"id":1003,"name":"router","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":997,"src":"8862:6:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"hexValue":"737761704578616374546f6b656e73466f72546f6b656e732875696e743235362c75696e743235362c616464726573735b5d2c616464726573732c75696e7432353629","id":1005,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8882:69:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_38ed1739ee07daf49933f1800d1a9bc8d39a6876ea11e643f9c4c39c66df0ee8","typeString":"literal_string \"swapExactTokensForTokens(uint256,uint256,address[],address,uint256)\""},"value":"swapExactTokensForTokens(uint256,uint256,address[],address,uint256)"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_38ed1739ee07daf49933f1800d1a9bc8d39a6876ea11e643f9c4c39c66df0ee8","typeString":"literal_string \"swapExactTokensForTokens(uint256,uint256,address[],address,uint256)\""}],"id":1004,"name":"getSelector","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":401,"src":"8870:11:3","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_string_memory_ptr_$returns$_t_bytes4_$","typeString":"function (string memory) pure returns (bytes4)"}},"id":1006,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8870:82:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},{"id":1007,"name":"notes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":999,"src":"8954:5:3","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes4","typeString":"bytes4"},{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}],"id":1002,"name":"allowCallSite","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":449,"src":"8848:13:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_bytes4_$_t_string_calldata_ptr_$returns$__$","typeString":"function (address,bytes4,string calldata)"}},"id":1008,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8848:112:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1009,"nodeType":"ExpressionStatement","src":"8848:112:3"},{"expression":{"arguments":[{"id":1011,"name":"router","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":997,"src":"8995:6:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1012,"name":"notes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":999,"src":"9003:5:3","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}],"id":1010,"name":"allowApprovalDestination","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":618,"src":"8970:24:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_string_calldata_ptr_$returns$__$","typeString":"function (address,string calldata)"}},"id":1013,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8970:39:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1014,"nodeType":"ExpressionStatement","src":"8970:39:3"}]},"functionSelector":"3ea35551","implemented":true,"kind":"function","modifiers":[],"name":"whitelistUniswapV2Router","nameLocation":"8765:24:3","parameters":{"id":1000,"nodeType":"ParameterList","parameters":[{"constant":false,"id":997,"mutability":"mutable","name":"router","nameLocation":"8798:6:3","nodeType":"VariableDeclaration","scope":1016,"src":"8790:14:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":996,"name":"address","nodeType":"ElementaryTypeName","src":"8790:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":999,"mutability":"mutable","name":"notes","nameLocation":"8822:5:3","nodeType":"VariableDeclaration","scope":1016,"src":"8806:21:3","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":998,"name":"string","nodeType":"ElementaryTypeName","src":"8806:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8789:39:3"},"returnParameters":{"id":1001,"nodeType":"ParameterList","parameters":[],"src":"8838:0:3"},"scope":1017,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[{"baseName":{"id":270,"name":"IGuard","nameLocations":["818:6:3"],"nodeType":"IdentifierPath","referencedDeclaration":233,"src":"818:6:3"},"id":271,"nodeType":"InheritanceSpecifier","src":"818:6:3"},{"baseName":{"id":272,"name":"Ownable","nameLocations":["826:7:3"],"nodeType":"IdentifierPath","referencedDeclaration":112,"src":"826:7:3"},"id":273,"nodeType":"InheritanceSpecifier","src":"826:7:3"}],"canonicalName":"GuardV0","contractDependencies":[],"contractKind":"contract","documentation":{"id":269,"nodeType":"StructuredDocumentation","src":"699:98:3","text":" Prototype guard implementation.\n - Hardcoded actions for Uniswap v2, v3, 1delta"},"fullyImplemented":true,"linearizedBaseContracts":[1017,112,220,233],"name":"GuardV0","nameLocation":"807:7:3","scope":1018,"usedErrors":[]}]},"id":3} \ No newline at end of file diff --git a/eth_defi/abi/guard/SimpleVaultV0.json b/eth_defi/abi/guard/SimpleVaultV0.json new file mode 100644 index 00000000..1f342fe8 --- /dev/null +++ b/eth_defi/abi/guard/SimpleVaultV0.json @@ -0,0 +1 @@ +{"abi":[{"type":"constructor","inputs":[{"name":"_assetManager","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"assetManager","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getWithdrawAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"guard","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract GuardV0"}],"stateMutability":"view"},{"type":"function","name":"initialiseOwnership","inputs":[{"name":"_owner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isDisabled","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"performCall","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"callData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"resetGuard","inputs":[{"name":"_guard","type":"address","internalType":"contract GuardV0"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateAssetManager","inputs":[{"name":"_assetManager","type":"address","internalType":"address"},{"name":"notes","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"withdrawAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false}],"bytecode":{"object":"0x608060405234801561001057600080fd5b506040516122c73803806122c783398101604081905261002f91610177565b6100383361011a565b6040516100449061016a565b604051809103906000f080158015610060573d6000803e3d6000fd5b50600380546001600160a01b039283166001600160a01b0319918216811790925560018054938516939091168317905560408051631f458b3960e31b815260048101939093526024830152601960448301527f496e697469616c206173736574206d616e61676572207365740000000000000060648301529063fa2c59c890608401600060405180830381600087803b1580156100fc57600080fd5b505af1158015610110573d6000803e3d6000fd5b50505050506101a7565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6118c280610a0583390190565b60006020828403121561018957600080fd5b81516001600160a01b03811681146101a057600080fd5b9392505050565b61084f806101b66000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c80638da5cb5b116100715780638da5cb5b1461014957806394217ad11461015a578063d13573361461016d578063d2f73e3d14610180578063e8e7f80014610149578063f2fde38b1461019357600080fd5b80631581b600146100b957806337cfecf2146100e95780634a0e159d146100fe5780636c57f5a914610111578063715018a61461012e5780637ceab3b114610136575b600080fd5b6002546100cc906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b6100fc6100f73660046106b9565b6101a6565b005b6100fc61010c366004610726565b61034e565b6001546040516001600160a01b03909116151581526020016100e0565b6100fc610461565b6003546100cc906001600160a01b031681565b6000546001600160a01b03166100cc565b6001546100cc906001600160a01b031681565b6100fc61017b3660046106b9565b610475565b6100fc61018e366004610726565b61049f565b6100fc6101a13660046106b9565b61057f565b6101ae6105fa565b60035460408051632d670ec960e11b81526001600160a01b0384811660048301526024820192909252601a60448201527f496e697469616c206f776e65722063616e2077697468647261770000000000006064820152911690635ace1d9290608401600060405180830381600087803b15801561022a57600080fd5b505af115801561023e573d6000803e3d6000fd5b5050600354604080516372e548a960e01b81523060048201526024810191909152602560448201527f5661756c742063616e207265636569766520746f6b656e732066726f6d206120606482015264747261646560d81b60848201526001600160a01b0390911692506372e548a9915060a401600060405180830381600087803b1580156102cb57600080fd5b505af11580156102df573d6000803e3d6000fd5b505060035460405163f2fde38b60e01b81526001600160a01b038581166004830152909116925063f2fde38b9150602401600060405180830381600087803b15801561032a57600080fd5b505af115801561033e573d6000803e3d6000fd5b5050505061034b8161057f565b50565b6103566105fa565b6001546001600160a01b0316156103d25760035460015460405163299f87d560e21b81526001600160a01b039283169263a67e1f549261039f92911690869086906004016107a4565b600060405180830381600087803b1580156103b957600080fd5b505af11580156103cd573d6000803e3d6000fd5b505050505b600180546001600160a01b0319166001600160a01b0385169081179091551561045c57600354604051631f458b3960e31b81526001600160a01b039091169063fa2c59c890610429908690869086906004016107a4565b600060405180830381600087803b15801561044357600080fd5b505af1158015610457573d6000803e3d6000fd5b505050505b505050565b6104696105fa565b6104736000610654565b565b61047d6105fa565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b600354604051636d5025f160e01b81526001600160a01b0390911690636d5025f1906104d59033908790879087906004016107d2565b60006040518083038186803b1580156104ed57600080fd5b505afa158015610501573d6000803e3d6000fd5b50505050600080846001600160a01b03168484604051610522929190610809565b6000604051808303816000865af19150503d806000811461055f576040519150601f19603f3d011682016040523d82523d6000602084013e610564565b606091505b509150915081610578578051602082018181fd5b5050505050565b6105876105fa565b6001600160a01b0381166105f15760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b61034b81610654565b6000546001600160a01b031633146104735760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105e8565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b038116811461034b57600080fd5b6000602082840312156106cb57600080fd5b81356106d6816106a4565b9392505050565b60008083601f8401126106ef57600080fd5b50813567ffffffffffffffff81111561070757600080fd5b60208301915083602082850101111561071f57600080fd5b9250929050565b60008060006040848603121561073b57600080fd5b8335610746816106a4565b9250602084013567ffffffffffffffff81111561076257600080fd5b61076e868287016106dd565b9497909650939450505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b03841681526040602082018190526000906107c9908301848661077b565b95945050505050565b6001600160a01b038581168252841660208201526060604082018190526000906107ff908301848661077b565b9695505050505050565b818382376000910190815291905056fea2646970667358221220cfef51afd9166e2cc07b9aa38ab45d6f3e2a645b7369ded7d9ab0e5d43558b3564736f6c63430008130033608060405234801561001057600080fd5b5061001a3361001f565b61006f565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6118448061007e6000396000f3fe608060405234801561001057600080fd5b506004361061021c5760003560e01c80638da5cb5b11610125578063d7334c9d116100ad578063f2fde38b1161007c578063f2fde38b1461057f578063f901dc3314610592578063fa2c59c8146105a5578063fadbcf48146105b8578063fdedfa27146105db57600080fd5b8063d7334c9d14610505578063eb0de04214610518578063ee5462cc1461053b578063efb47bff1461054e57600080fd5b8063a847cf4d116100f4578063a847cf4d1461042d578063a9fc3d4f1461045b578063be8c97b014610472578063c537bed0146104a3578063d075f9bb146104d457600080fd5b80638da5cb5b146103d357806398b3cc39146103e4578063a4c1cccb146103f7578063a67e1f541461041a57600080fd5b80635ace1d92116101a8578063715018a611610177578063715018a61461036d57806372e548a914610375578063732524941461038857806386b6dbe5146103ad5780638c2fdf9e146103c057600080fd5b80635ace1d92146103215780635e4ccace146103345780636d5025f114610347578063713ebf3b1461035a57600080fd5b80631d49039c116101ef5780631d49039c146102945780632d12d788146102c55780633cf20025146102d85780633ea35551146102fb5780634b956bd81461030e57600080fd5b806304a3ba251461022157806307ef00cf146102365780631202f5e51461026e5780631710a4f214610281575b600080fd5b61023461022f36600461132d565b6105ea565b005b610259610244366004611382565b60066020526000908152604090205460ff1681565b60405190151581526020015b60405180910390f35b61023461027c3660046113ed565b610653565b61023461028f3660046113ed565b61080f565b6102596102a2366004611382565b6001600160a01b031660009081526007602052604090205460ff16151560011490565b6102346102d336600461132d565b61089f565b6102596102e6366004611382565b60056020526000908152604090205460ff1681565b61023461030936600461132d565b6108fb565b61023461031c3660046113ed565b61093d565b61023461032f36600461132d565b6109c9565b61023461034236600461149f565b610a28565b610234610355366004611502565b610abe565b610259610368366004611533565b610d9d565b610234610dd5565b61023461038336600461132d565b610de9565b6000546001600160a01b03165b6040516001600160a01b039091168152602001610265565b6102346103bb36600461132d565b610e48565b6102346103ce36600461132d565b610ea7565b6000546001600160a01b0316610395565b6102346103f236600461132d565b610f03565b610259610405366004611382565b60036020526000908152604090205460ff1681565b61023461042836600461132d565b610f62565b61025961043b366004611533565b600160209081526000928352604080842090915290825290205460ff1681565b61046460025481565b604051908152602001610265565b610259610480366004611382565b6001600160a01b031660009081526004602052604090205460ff16151560011490565b6102596104b1366004611382565b6001600160a01b031660009081526003602052604090205460ff16151560011490565b6102596104e2366004611382565b6001600160a01b031660009081526005602052604090205460ff16151560011490565b61023461051336600461149f565b610fbe565b610259610526366004611382565b60076020526000908152604090205460ff1681565b61023461054936600461132d565b611031565b61025961055c366004611382565b6001600160a01b031660009081526006602052604090205460ff16151560011490565b61023461058d366004611382565b6110f1565b6102346105a036600461132d565b61116a565b6102346105b336600461132d565b6111c6565b6102596105c6366004611382565b60046020526000908152604090205460ff1681565b60405160018152602001610265565b6105f2611225565b6001600160a01b03831660009081526007602052604090819020805460ff19169055517fb71be9befd3ac90c1c9981d3b1161b3c2c6dcd741f13b34061aa251226a802df9061064690859085908590611591565b60405180910390a1505050565b6000808280602001905181019061066a91906115ca565b50935093505050600082600081518110610686576106866116ac565b60200260200101519050600083600185516106a191906116d8565b815181106106b1576106b16116ac565b602002602001015190506106e2836001600160a01b031660009081526005602052604090205460ff16151560011490565b6107335760405162461bcd60e51b815260206004820152601f60248201527f5265636569766572206164647265737320646f6573206e6f74206d617463680060448201526064015b60405180910390fd5b61075a826001600160a01b031660009081526003602052604090205460ff16151560011490565b61079d5760405162461bcd60e51b8152602060048201526014602482015273151bdad95b881a5b881b9bdd08185b1b1bddd95960621b604482015260640161072a565b6107c4816001600160a01b031660009081526003602052604090205460ff16151560011490565b6108085760405162461bcd60e51b8152602060048201526015602482015274151bdad95b881bdd5d081b9bdd08185b1b1bddd959605a1b604482015260640161072a565b5050505050565b60008180602001905181019061082591906116eb565b50905061084f816001600160a01b031660009081526006602052604090205460ff16151560011490565b61089b5760405162461bcd60e51b815260206004820152601f60248201527f5265636569766572206164647265737320646f6573206e6f74206d6174636800604482015260640161072a565b5050565b6108a7611225565b6001600160a01b03831660009081526005602052604090819020805460ff19169055517f4e13b11ab98e672bd78295ef9cebe764dc617f95decf47d842c25b83abc0c7249061064690859085908590611591565b61092d836109266040518060800160405280604381526020016117cc60439139805160209091012090565b8484610a28565b610938838383610f03565b505050565b60008180602001905181019061095391906116eb565b50905061097d816001600160a01b031660009081526007602052604090205460ff16151560011490565b61089b5760405162461bcd60e51b815260206004820152601e60248201527f417070726f7665206164647265737320646f6573206e6f74206d617463680000604482015260640161072a565b6109d1611225565b6001600160a01b03831660009081526006602052604090819020805460ff19166001179055517f3562181221a42a19ddd03a82dfe06acab1905ceb65cdaf7d86a1d9fec66435529061064690859085908590611591565b610a30611225565b6001600160a01b03841660009081526001602081815260408084206001600160e01b0319881685529091528220805460ff191690911790556002805491610a7683611719565b91905055507fef729aaa41b9fd994f9ff7c1960df214a84f722002e6cfbea31799cd0873a3ef84848484604051610ab09493929190611732565b60405180910390a150505050565b6000546001600160a01b03858116911614610d9757610afa846001600160a01b031660009081526004602052604090205460ff16151560011490565b610b3b5760405162461bcd60e51b815260206004820152601260248201527114d95b99195c881b9bdd08185b1b1bddd95960721b604482015260640161072a565b6000610b4a6004828486611771565b610b539161179b565b9050366000610b658460048188611771565b91509150610b738684610d9d565b610bb75760405162461bcd60e51b815260206004820152601560248201527410d85b1b081cda5d19481b9bdd08185b1b1bddd959605a1b604482015260640161072a565b610bde6040518060800160405280604381526020016117cc60439139805160209091012090565b6001600160e01b031916836001600160e01b03191603610c3c57610c3782828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061065392505050565b610d93565b6040805180820190915260198152787472616e7366657228616464726573732c75696e743235362960381b6020909101526356fa634560e01b6001600160e01b0319841601610cc457610c3782828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061080f92505050565b604080518082019091526018815277617070726f766528616464726573732c75696e743235362960401b60209091015263f6a1584d60e01b6001600160e01b0319841601610d4b57610c3782828080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061093d92505050565b60405162461bcd60e51b815260206004820152601960248201527f556e6b6e6f776e2066756e6374696f6e2073656c6563746f7200000000000000604482015260640161072a565b5050505b50505050565b6001600160a01b03821660009081526001602090815260408083206001600160e01b03198516845290915290205460ff165b92915050565b610ddd611225565b610de7600061127f565b565b610df1611225565b6001600160a01b03831660009081526005602052604090819020805460ff19166001179055517f62dd88c5ecfa60713a657640ebec4de26fc1aefa4afdb24e6d15a124fce727799061064690859085908590611591565b610e50611225565b6001600160a01b03831660009081526003602052604090819020805460ff19166001179055517fad90e2570fc4fe9f7437be3188d5c791c6662892d31731992aa88f5c876219839061064690859085908590611591565b610eaf611225565b6001600160a01b03831660009081526006602052604090819020805460ff19169055517f1212f8ddb39de8e1a339460c95752d61100723efeaa34ccd94bca94393f409389061064690859085908590611591565b610f0b611225565b6001600160a01b03831660009081526007602052604090819020805460ff19166001179055517f628a44970c0e450415e3ae74334ea44f3307b74dbf677a1371190242bf2f35899061064690859085908590611591565b610f6a611225565b6001600160a01b03831660009081526004602052604090819020805460ff19169055517f3097928509c53a2dab9500431201d82b0d756e8f890fd01f4ae6b33b45687ea49061064690859085908590611591565b610fc6611225565b6001600160a01b03841660009081526001602090815260408083206001600160e01b03198716845290915290819020805460ff19169055517f37ea10f2d08f5a9803dfcd5abf3cfc7b0d6fcdf5fcbc36be9ea5a0b53d9a4d9b90610ab0908690869086908690611732565b6040805180820190915260198152787472616e7366657228616464726573732c75696e743235362960381b60209091015261108c837fa9059cbb2ab09eb219583f4a59a5d0623ade346d962bcd4e46b11da047c9049b610926565b604080518082019091526018815277617070726f766528616464726573732c75696e743235362960401b6020909101526110e6837f095ea7b334ae44009aa867bfb386f5c3b4b443ac6f0ee573fa91c4608fbadfba610926565b610938838383610e48565b6110f9611225565b6001600160a01b03811661115e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161072a565b6111678161127f565b50565b611172611225565b6001600160a01b03831660009081526003602052604090819020805460ff19169055517f9ca3f065622f5f03f32b7157677a0e420c3a36ab45fd49f256ffebce3e3105879061064690859085908590611591565b6111ce611225565b6001600160a01b03831660009081526004602052604090819020805460ff19166001179055517fa8f9caaf4861720900294428e4ff34d37070c37afd26d96e6e4da75326d2c3ad9061064690859085908590611591565b6000546001600160a01b03163314610de75760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161072a565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b038116811461116757600080fd5b60008083601f8401126112f657600080fd5b50813567ffffffffffffffff81111561130e57600080fd5b60208301915083602082850101111561132657600080fd5b9250929050565b60008060006040848603121561134257600080fd5b833561134d816112cf565b9250602084013567ffffffffffffffff81111561136957600080fd5b611375868287016112e4565b9497909650939450505050565b60006020828403121561139457600080fd5b813561139f816112cf565b9392505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156113e5576113e56113a6565b604052919050565b6000602080838503121561140057600080fd5b823567ffffffffffffffff8082111561141857600080fd5b818501915085601f83011261142c57600080fd5b81358181111561143e5761143e6113a6565b611450601f8201601f191685016113bc565b9150808252868482850101111561146657600080fd5b8084840185840137600090820190930192909252509392505050565b80356001600160e01b03198116811461149a57600080fd5b919050565b600080600080606085870312156114b557600080fd5b84356114c0816112cf565b93506114ce60208601611482565b9250604085013567ffffffffffffffff8111156114ea57600080fd5b6114f6878288016112e4565b95989497509550505050565b6000806000806060858703121561151857600080fd5b8435611523816112cf565b935060208501356114ce816112cf565b6000806040838503121561154657600080fd5b8235611551816112cf565b915061155f60208401611482565b90509250929050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b03841681526040602082018190526000906115b69083018486611568565b95945050505050565b805161149a816112cf565b600080600080600060a086880312156115e257600080fd5b855194506020808701519450604087015167ffffffffffffffff8082111561160957600080fd5b818901915089601f83011261161d57600080fd5b81518181111561162f5761162f6113a6565b8060051b91506116408483016113bc565b818152918301840191848101908c84111561165a57600080fd5b938501935b838510156116845784519250611674836112cf565b828252938501939085019061165f565b809850505050505050611699606087016115bf565b9150608086015190509295509295909350565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b81810381811115610dcf57610dcf6116c2565b600080604083850312156116fe57600080fd5b8251611709816112cf565b6020939093015192949293505050565b60006001820161172b5761172b6116c2565b5060010190565b6001600160a01b03851681526001600160e01b0319841660208201526060604082018190526000906117679083018486611568565b9695505050505050565b6000808585111561178157600080fd5b8386111561178e57600080fd5b5050820193919092039150565b6001600160e01b031981358181169160048510156117c35780818660040360031b1b83161692505b50509291505056fe737761704578616374546f6b656e73466f72546f6b656e732875696e743235362c75696e743235362c616464726573735b5d2c616464726573732c75696e7432353629a26469706673582212200b02d911babe2bf67153c839270a0f9469db24b49152240fa28bffb6b2eb701664736f6c63430008130033","sourceMap":"472:2570:4:-:0;;;611:235;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;936:32:0;734:10:2;936:18:0;:32::i;:::-;674:13:4::1;;;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;666:5:4::1;:21:::0;;-1:-1:-1;;;;;666:21:4;;::::1;-1:-1:-1::0;;;;;;666:21:4;;::::1;::::0;::::1;::::0;;;-1:-1:-1;739:28:4;;;;::::1;::::0;;;::::1;::::0;::::1;::::0;;777:61:::1;::::0;;-1:-1:-1;;;777:61:4;;::::1;::::0;::::1;521:51:5::0;;;;588:18;;;581:30;647:2;627:18;;;620:30;686:27;666:18;;;659:55;666:21:4;777:17:::1;::::0;731:19:5;;777:61:4::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;611:235:::0;472:2570;;2426:187:0;2499:16;2518:6;;-1:-1:-1;;;;;2534:17:0;;;-1:-1:-1;;;;;;2534:17:0;;;;;;2566:40;;2518:6;;;;;;;2566:40;;2499:16;2566:40;2489:124;2426:187;:::o;472:2570:4:-;;;;;;;;:::o;14:290:5:-;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:5;;214:42;;204:70;;270:1;267;260:12;204:70;293:5;14:290;-1:-1:-1;;;14:290:5:o;309:447::-;472:2570:4;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100b45760003560e01c80638da5cb5b116100715780638da5cb5b1461014957806394217ad11461015a578063d13573361461016d578063d2f73e3d14610180578063e8e7f80014610149578063f2fde38b1461019357600080fd5b80631581b600146100b957806337cfecf2146100e95780634a0e159d146100fe5780636c57f5a914610111578063715018a61461012e5780637ceab3b114610136575b600080fd5b6002546100cc906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b6100fc6100f73660046106b9565b6101a6565b005b6100fc61010c366004610726565b61034e565b6001546040516001600160a01b03909116151581526020016100e0565b6100fc610461565b6003546100cc906001600160a01b031681565b6000546001600160a01b03166100cc565b6001546100cc906001600160a01b031681565b6100fc61017b3660046106b9565b610475565b6100fc61018e366004610726565b61049f565b6100fc6101a13660046106b9565b61057f565b6101ae6105fa565b60035460408051632d670ec960e11b81526001600160a01b0384811660048301526024820192909252601a60448201527f496e697469616c206f776e65722063616e2077697468647261770000000000006064820152911690635ace1d9290608401600060405180830381600087803b15801561022a57600080fd5b505af115801561023e573d6000803e3d6000fd5b5050600354604080516372e548a960e01b81523060048201526024810191909152602560448201527f5661756c742063616e207265636569766520746f6b656e732066726f6d206120606482015264747261646560d81b60848201526001600160a01b0390911692506372e548a9915060a401600060405180830381600087803b1580156102cb57600080fd5b505af11580156102df573d6000803e3d6000fd5b505060035460405163f2fde38b60e01b81526001600160a01b038581166004830152909116925063f2fde38b9150602401600060405180830381600087803b15801561032a57600080fd5b505af115801561033e573d6000803e3d6000fd5b5050505061034b8161057f565b50565b6103566105fa565b6001546001600160a01b0316156103d25760035460015460405163299f87d560e21b81526001600160a01b039283169263a67e1f549261039f92911690869086906004016107a4565b600060405180830381600087803b1580156103b957600080fd5b505af11580156103cd573d6000803e3d6000fd5b505050505b600180546001600160a01b0319166001600160a01b0385169081179091551561045c57600354604051631f458b3960e31b81526001600160a01b039091169063fa2c59c890610429908690869086906004016107a4565b600060405180830381600087803b15801561044357600080fd5b505af1158015610457573d6000803e3d6000fd5b505050505b505050565b6104696105fa565b6104736000610654565b565b61047d6105fa565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b600354604051636d5025f160e01b81526001600160a01b0390911690636d5025f1906104d59033908790879087906004016107d2565b60006040518083038186803b1580156104ed57600080fd5b505afa158015610501573d6000803e3d6000fd5b50505050600080846001600160a01b03168484604051610522929190610809565b6000604051808303816000865af19150503d806000811461055f576040519150601f19603f3d011682016040523d82523d6000602084013e610564565b606091505b509150915081610578578051602082018181fd5b5050505050565b6105876105fa565b6001600160a01b0381166105f15760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b61034b81610654565b6000546001600160a01b031633146104735760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105e8565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b038116811461034b57600080fd5b6000602082840312156106cb57600080fd5b81356106d6816106a4565b9392505050565b60008083601f8401126106ef57600080fd5b50813567ffffffffffffffff81111561070757600080fd5b60208301915083602082850101111561071f57600080fd5b9250929050565b60008060006040848603121561073b57600080fd5b8335610746816106a4565b9250602084013567ffffffffffffffff81111561076257600080fd5b61076e868287016106dd565b9497909650939450505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b03841681526040602082018190526000906107c9908301848661077b565b95945050505050565b6001600160a01b038581168252841660208201526060604082018190526000906107ff908301848661077b565b9695505050505050565b818382376000910190815291905056fea2646970667358221220cfef51afd9166e2cc07b9aa38ab45d6f3e2a645b7369ded7d9ab0e5d43558b3564736f6c63430008130033","sourceMap":"472:2570:4:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;547:30;;;;;-1:-1:-1;;;;;547:30:4;;;;;;-1:-1:-1;;;;;178:32:5;;;160:51;;148:2;133:18;547:30:4;;;;;;;;932:479;;;;;;:::i;:::-;;:::i;:::-;;2103:344;;;;;;:::i;:::-;;:::i;1882:99::-;1948:12;;1882:99;;-1:-1:-1;;;;;1948:12:4;;;:26;;1654:41:5;;1642:2;1627:18;1882:99:4;1514:187:5;1824:101:0;;;:::i;584:20:4:-;;;;;-1:-1:-1;;;;;584:20:4;;;1201:85:0;1247:7;1273:6;-1:-1:-1;;;;;1273:6:0;1201:85;;513:27:4;;;;;-1:-1:-1;;;;;513:27:4;;;1417:86;;;;;;:::i;:::-;;:::i;2453:586::-;;;;;;:::i;:::-;;:::i;2074:198:0:-;;;;;;:::i;:::-;;:::i;932:479:4:-;1094:13:0;:11;:13::i;:::-;1105:5:4::1;::::0;:68:::1;::::0;;-1:-1:-1;;;1105:68:4;;-1:-1:-1;;;;;2978:32:5;;;1105:68:4::1;::::0;::::1;2960:51:5::0;3027:18;;;3020:30;;;;3086:2;3066:18;;;3059:30;3125:28;3105:18;;;3098:56;1105:5:4;::::1;::::0;:30:::1;::::0;3171:19:5;;1105:68:4::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;1183:5:4::1;::::0;:75:::1;::::0;;-1:-1:-1;;;1183:75:4;;1211:4:::1;1183:75;::::0;::::1;3413:51:5::0;3480:18;;;3473:30;;;;3539:2;3519:18;;;3512:30;3578:34;3558:18;;;3551:62;-1:-1:-1;;;3629:19:5;;;3622:36;-1:-1:-1;;;;;1183:5:4;;::::1;::::0;-1:-1:-1;1183:19:4::1;::::0;-1:-1:-1;3675:19:5;;1183:75:4::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;1268:5:4::1;::::0;:31:::1;::::0;-1:-1:-1;;;1268:31:4;;-1:-1:-1;;;;;178:32:5;;;1268:31:4::1;::::0;::::1;160:51:5::0;1268:5:4;;::::1;::::0;-1:-1:-1;1268:23:4::1;::::0;-1:-1:-1;133:18:5;;1268:31:4::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;1379:25;1397:6;1379:17;:25::i;:::-;932:479:::0;:::o;2103:344::-;1094:13:0;:11;:13::i;:::-;2207:12:4::1;::::0;-1:-1:-1;;;;;2207:12:4::1;:26:::0;2204:95:::1;;2249:5;::::0;;2268:12;2249:39:::1;::::0;-1:-1:-1;;;2249:39:4;;-1:-1:-1;;;;;2249:5:4;;::::1;::::0;:18:::1;::::0;:39:::1;::::0;2268:12;::::1;::::0;2282:5;;;;2249:39:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;2204:95;2308:12;:28:::0;;-1:-1:-1;;;;;;2308:28:4::1;-1:-1:-1::0;;;;;2308:28:4;::::1;::::0;;::::1;::::0;;;2349:26;2346:95:::1;;2391:5;::::0;:39:::1;::::0;-1:-1:-1;;;2391:39:4;;-1:-1:-1;;;;;2391:5:4;;::::1;::::0;:17:::1;::::0;:39:::1;::::0;2409:13;;2424:5;;;;2391:39:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;2346:95;2103:344:::0;;;:::o;1824:101:0:-;1094:13;:11;:13::i;:::-;1888:30:::1;1915:1;1888:18;:30::i;:::-;1824:101::o:0;1417:86:4:-;1094:13:0;:11;:13::i;:::-;1482:5:4::1;:14:::0;;-1:-1:-1;;;;;;1482:14:4::1;-1:-1:-1::0;;;;;1482:14:4;;;::::1;::::0;;;::::1;::::0;;1417:86::o;2453:586::-;2601:5;;:48;;-1:-1:-1;;;2601:48:4;;-1:-1:-1;;;;;2601:5:4;;;;:18;;:48;;2620:10;;2632:6;;2640:8;;;;2601:48;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2719:12;2733:23;2760:6;-1:-1:-1;;;;;2760:11:4;2772:8;;2760:21;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2718:63;;;;2796:7;2792:241;;2877:10;2871:17;2944:4;2932:10;2928:21;2990:18;2973:15;2966:43;2792:241;2524:515;;2453:586;;;:::o;2074:198:0:-;1094:13;:11;:13::i;:::-;-1:-1:-1;;;;;2162:22:0;::::1;2154:73;;;::::0;-1:-1:-1;;;2154:73:0;;5252:2:5;2154:73:0::1;::::0;::::1;5234:21:5::0;5291:2;5271:18;;;5264:30;5330:34;5310:18;;;5303:62;-1:-1:-1;;;5381:18:5;;;5374:36;5427:19;;2154:73:0::1;;;;;;;;;2237:28;2256:8;2237:18;:28::i;1359:130::-:0;1247:7;1273:6;-1:-1:-1;;;;;1273:6:0;734:10:2;1422:23:0;1414:68;;;;-1:-1:-1;;;1414:68:0;;5659:2:5;1414:68:0;;;5641:21:5;;;5678:18;;;5671:30;5737:34;5717:18;;;5710:62;5789:18;;1414:68:0;5457:356:5;2426:187:0;2499:16;2518:6;;-1:-1:-1;;;;;2534:17:0;;;-1:-1:-1;;;;;;2534:17:0;;;;;;2566:40;;2518:6;;;;;;;2566:40;;2499:16;2566:40;2489:124;2426:187;:::o;222:131:5:-;-1:-1:-1;;;;;297:31:5;;287:42;;277:70;;343:1;340;333:12;358:247;417:6;470:2;458:9;449:7;445:23;441:32;438:52;;;486:1;483;476:12;438:52;525:9;512:23;544:31;569:5;544:31;:::i;:::-;594:5;358:247;-1:-1:-1;;;358:247:5:o;610:348::-;662:8;672:6;726:3;719:4;711:6;707:17;703:27;693:55;;744:1;741;734:12;693:55;-1:-1:-1;767:20:5;;810:18;799:30;;796:50;;;842:1;839;832:12;796:50;879:4;871:6;867:17;855:29;;931:3;924:4;915:6;907;903:19;899:30;896:39;893:59;;;948:1;945;938:12;893:59;610:348;;;;;:::o;963:546::-;1043:6;1051;1059;1112:2;1100:9;1091:7;1087:23;1083:32;1080:52;;;1128:1;1125;1118:12;1080:52;1167:9;1154:23;1186:31;1211:5;1186:31;:::i;:::-;1236:5;-1:-1:-1;1292:2:5;1277:18;;1264:32;1319:18;1308:30;;1305:50;;;1351:1;1348;1341:12;1305:50;1390:59;1441:7;1432:6;1421:9;1417:22;1390:59;:::i;:::-;963:546;;1468:8;;-1:-1:-1;1364:85:5;;-1:-1:-1;;;;963:546:5:o;3705:267::-;3794:6;3789:3;3782:19;3846:6;3839:5;3832:4;3827:3;3823:14;3810:43;-1:-1:-1;3898:1:5;3873:16;;;3891:4;3869:27;;;3862:38;;;;3954:2;3933:15;;;-1:-1:-1;;3929:29:5;3920:39;;;3916:50;;3705:267::o;3977:344::-;-1:-1:-1;;;;;4164:32:5;;4146:51;;4233:2;4228;4213:18;;4206:30;;;-1:-1:-1;;4253:62:5;;4296:18;;4288:6;4280;4253:62;:::i;:::-;4245:70;3977:344;-1:-1:-1;;;;;3977:344:5:o;4326:443::-;-1:-1:-1;;;;;4577:15:5;;;4559:34;;4629:15;;4624:2;4609:18;;4602:43;4681:2;4676;4661:18;;4654:30;;;4502:4;;4701:62;;4744:18;;4736:6;4728;4701:62;:::i;:::-;4693:70;4326:443;-1:-1:-1;;;;;;4326:443:5:o;4774:271::-;4957:6;4949;4944:3;4931:33;4913:3;4983:16;;5008:13;;;4983:16;4774:271;-1:-1:-1;4774:271:5:o","linkReferences":{}},"methodIdentifiers":{"assetManager()":"94217ad1","getWithdrawAddress()":"e8e7f800","guard()":"7ceab3b1","initialiseOwnership(address)":"37cfecf2","isDisabled()":"6c57f5a9","owner()":"8da5cb5b","performCall(address,bytes)":"d2f73e3d","renounceOwnership()":"715018a6","resetGuard(address)":"d1357336","transferOwnership(address)":"f2fde38b","updateAssetManager(address,string)":"4a0e159d","withdrawAddress()":"1581b600"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_assetManager\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"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\":\"assetManager\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getWithdrawAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"guard\",\"outputs\":[{\"internalType\":\"contract GuardV0\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"initialiseOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isDisabled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"callData\",\"type\":\"bytes\"}],\"name\":\"performCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract GuardV0\",\"name\":\"_guard\",\"type\":\"address\"}],\"name\":\"resetGuard\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_assetManager\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"notes\",\"type\":\"string\"}],\"name\":\"updateAssetManager\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"withdrawAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"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\":{\"getWithdrawAddress()\":{\"notice\":\"Allow single withdrawal destination. Preferably multisig/DAO treasury address.\"},\"initialiseOwnership(address)\":{\"notice\":\"Initialise vault and guard for a withdrawal destination.\"},\"isDisabled()\":{\"notice\":\"Asset manager can no longer trade on this vault. Emergency pause set by the governance. Disable with updateAssetManager().\"},\"updateAssetManager(address,string)\":{\"notice\":\"Change the asset manager. Set to zero address to disable asset manager.\"}},\"notice\":\"Simple vault allowing delegating of a trading activites to a hot wallet. - Self-contained - Guard is used to check asset manager can only perform approved operations. - No shares, single owner - No accounting - No slippage protection (unlike Enzyme)\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/SimpleVaultV0.sol\":\"SimpleVaultV0\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":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/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32\",\"dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xa92e4fa126feb6907daa0513ddd816b2eb91f30a808de54f63c17d0e162c3439\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a367861093b74443b137564d3f3c472f70bcf114739e62059c939f25e315706c\",\"dweb:/ipfs/Qmd7JMpcxD9RuQjK3uM3EzJUgSqdN8vzp8eytEiuwxQJ6h\"]},\"src/GuardV0.sol\":{\"keccak256\":\"0x7e39df41b992dabc22cff78b92245c9f0d08babd15430ccfcac7f659fff75757\",\"urls\":[\"bzz-raw://e064b8110dcd3303e4717e34c546395969a8abb37521a68f545514ccf008cab0\",\"dweb:/ipfs/QmcDwW15EHKrSsZoFnnmFxet4FvC5EPWC4MhQpzMqMGeWp\"]},\"src/SimpleVaultV0.sol\":{\"keccak256\":\"0x28de4090f998d49a9e829c2bbf4d18f68774c2e0df71d9347f7d28a633fa8358\",\"urls\":[\"bzz-raw://f859db4a725bc09d1556103b93ae48c166b74482d7c5417a22a6e3088125f1e4\",\"dweb:/ipfs/QmcyuWDou6L57FVsid9dbfqq3uDqo3iYrDyiEAiTpo1EBM\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"_assetManager","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"assetManager","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getWithdrawAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"guard","outputs":[{"internalType":"contract GuardV0","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialiseOwnership"},{"inputs":[],"stateMutability":"view","type":"function","name":"isDisabled","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes","name":"callData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"performCall"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"contract GuardV0","name":"_guard","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"resetGuard"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"address","name":"_assetManager","type":"address"},{"internalType":"string","name":"notes","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"updateAssetManager"},{"inputs":[],"stateMutability":"view","type":"function","name":"withdrawAddress","outputs":[{"internalType":"address","name":"","type":"address"}]}],"devdoc":{"kind":"dev","methods":{"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":{"getWithdrawAddress()":{"notice":"Allow single withdrawal destination. Preferably multisig/DAO treasury address."},"initialiseOwnership(address)":{"notice":"Initialise vault and guard for a withdrawal destination."},"isDisabled()":{"notice":"Asset manager can no longer trade on this vault. Emergency pause set by the governance. Disable with updateAssetManager()."},"updateAssetManager(address,string)":{"notice":"Change the asset manager. Set to zero address to disable asset manager."}},"version":1}},"settings":{"remappings":["@openzeppelin/=lib/openzeppelin-contracts/contracts/","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/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/SimpleVaultV0.sol":"SimpleVaultV0"},"evmVersion":"paris","libraries":{}},"sources":{"lib/openzeppelin-contracts/contracts/access/Ownable.sol":{"keccak256":"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218","urls":["bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32","dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xa92e4fa126feb6907daa0513ddd816b2eb91f30a808de54f63c17d0e162c3439","urls":["bzz-raw://a367861093b74443b137564d3f3c472f70bcf114739e62059c939f25e315706c","dweb:/ipfs/Qmd7JMpcxD9RuQjK3uM3EzJUgSqdN8vzp8eytEiuwxQJ6h"],"license":"MIT"},"src/GuardV0.sol":{"keccak256":"0x7e39df41b992dabc22cff78b92245c9f0d08babd15430ccfcac7f659fff75757","urls":["bzz-raw://e064b8110dcd3303e4717e34c546395969a8abb37521a68f545514ccf008cab0","dweb:/ipfs/QmcDwW15EHKrSsZoFnnmFxet4FvC5EPWC4MhQpzMqMGeWp"],"license":null},"src/SimpleVaultV0.sol":{"keccak256":"0x28de4090f998d49a9e829c2bbf4d18f68774c2e0df71d9347f7d28a633fa8358","urls":["bzz-raw://f859db4a725bc09d1556103b93ae48c166b74482d7c5417a22a6e3088125f1e4","dweb:/ipfs/QmcyuWDou6L57FVsid9dbfqq3uDqo3iYrDyiEAiTpo1EBM"],"license":null}},"version":1},"ast":{"absolutePath":"src/SimpleVaultV0.sol","id":1209,"exportedSymbols":{"Context":[220],"GuardV0":[1017],"IERC20":[190],"IGuard":[233],"IUniswapV2Router02":[268],"Ownable":[112],"SimpleVaultV0":[1208]},"nodeType":"SourceUnit","src":"51:2992:4","nodes":[{"id":1019,"nodeType":"PragmaDirective","src":"51:23:4","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":1020,"nodeType":"ImportDirective","src":"76:42:4","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/access/Ownable.sol","file":"@openzeppelin/access/Ownable.sol","nameLocation":"-1:-1:-1","scope":1209,"sourceUnit":113,"symbolAliases":[],"unitAlias":""},{"id":1021,"nodeType":"ImportDirective","src":"119:46:4","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol","file":"@openzeppelin/token/ERC20/IERC20.sol","nameLocation":"-1:-1:-1","scope":1209,"sourceUnit":191,"symbolAliases":[],"unitAlias":""},{"id":1022,"nodeType":"ImportDirective","src":"167:23:4","nodes":[],"absolutePath":"src/GuardV0.sol","file":"./GuardV0.sol","nameLocation":"-1:-1:-1","scope":1209,"sourceUnit":1018,"symbolAliases":[],"unitAlias":""},{"id":1208,"nodeType":"ContractDefinition","src":"472:2570:4","nodes":[{"id":1027,"nodeType":"VariableDeclaration","src":"513:27:4","nodes":[],"constant":false,"functionSelector":"94217ad1","mutability":"mutable","name":"assetManager","nameLocation":"528:12:4","scope":1208,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1026,"name":"address","nodeType":"ElementaryTypeName","src":"513:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":1029,"nodeType":"VariableDeclaration","src":"547:30:4","nodes":[],"constant":false,"functionSelector":"1581b600","mutability":"mutable","name":"withdrawAddress","nameLocation":"562:15:4","scope":1208,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1028,"name":"address","nodeType":"ElementaryTypeName","src":"547:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"public"},{"id":1032,"nodeType":"VariableDeclaration","src":"584:20:4","nodes":[],"constant":false,"functionSelector":"7ceab3b1","mutability":"mutable","name":"guard","nameLocation":"599:5:4","scope":1208,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_GuardV0_$1017","typeString":"contract GuardV0"},"typeName":{"id":1031,"nodeType":"UserDefinedTypeName","pathNode":{"id":1030,"name":"GuardV0","nameLocations":["584:7:4"],"nodeType":"IdentifierPath","referencedDeclaration":1017,"src":"584:7:4"},"referencedDeclaration":1017,"src":"584:7:4","typeDescriptions":{"typeIdentifier":"t_contract$_GuardV0_$1017","typeString":"contract GuardV0"}},"visibility":"public"},{"id":1058,"nodeType":"FunctionDefinition","src":"611:235:4","nodes":[],"body":{"id":1057,"nodeType":"Block","src":"656:190:4","nodes":[],"statements":[{"expression":{"id":1044,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1039,"name":"guard","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1032,"src":"666:5:4","typeDescriptions":{"typeIdentifier":"t_contract$_GuardV0_$1017","typeString":"contract GuardV0"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":1042,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"674:11:4","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_GuardV0_$1017_$","typeString":"function () returns (contract GuardV0)"},"typeName":{"id":1041,"nodeType":"UserDefinedTypeName","pathNode":{"id":1040,"name":"GuardV0","nameLocations":["678:7:4"],"nodeType":"IdentifierPath","referencedDeclaration":1017,"src":"678:7:4"},"referencedDeclaration":1017,"src":"678:7:4","typeDescriptions":{"typeIdentifier":"t_contract$_GuardV0_$1017","typeString":"contract GuardV0"}}},"id":1043,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"674:13:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_GuardV0_$1017","typeString":"contract GuardV0"}},"src":"666:21:4","typeDescriptions":{"typeIdentifier":"t_contract$_GuardV0_$1017","typeString":"contract GuardV0"}},"id":1045,"nodeType":"ExpressionStatement","src":"666:21:4"},{"expression":{"id":1048,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1046,"name":"assetManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1027,"src":"739:12:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1047,"name":"_assetManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1034,"src":"754:13:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"739:28:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1049,"nodeType":"ExpressionStatement","src":"739:28:4"},{"expression":{"arguments":[{"id":1053,"name":"_assetManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1034,"src":"795:13:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"496e697469616c206173736574206d616e6167657220736574","id":1054,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"810:27:4","typeDescriptions":{"typeIdentifier":"t_stringliteral_2448dcd631e8e150451d7d2ee1e758e523582a348534b04e230f7053b70eb911","typeString":"literal_string \"Initial asset manager set\""},"value":"Initial asset manager set"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_stringliteral_2448dcd631e8e150451d7d2ee1e758e523582a348534b04e230f7053b70eb911","typeString":"literal_string \"Initial asset manager set\""}],"expression":{"id":1050,"name":"guard","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1032,"src":"777:5:4","typeDescriptions":{"typeIdentifier":"t_contract$_GuardV0_$1017","typeString":"contract GuardV0"}},"id":1052,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"783:11:4","memberName":"allowSender","nodeType":"MemberAccess","referencedDeclaration":495,"src":"777:17:4","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_string_memory_ptr_$returns$__$","typeString":"function (address,string memory) external"}},"id":1055,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"777:61:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1056,"nodeType":"ExpressionStatement","src":"777:61:4"}]},"implemented":true,"kind":"constructor","modifiers":[{"arguments":[],"id":1037,"kind":"baseConstructorSpecifier","modifierName":{"id":1036,"name":"Ownable","nameLocations":["646:7:4"],"nodeType":"IdentifierPath","referencedDeclaration":112,"src":"646:7:4"},"nodeType":"ModifierInvocation","src":"646:9:4"}],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":1035,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1034,"mutability":"mutable","name":"_assetManager","nameLocation":"631:13:4","nodeType":"VariableDeclaration","scope":1058,"src":"623:21:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1033,"name":"address","nodeType":"ElementaryTypeName","src":"623:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"622:23:4"},"returnParameters":{"id":1038,"nodeType":"ParameterList","parameters":[],"src":"656:0:4"},"scope":1208,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":1094,"nodeType":"FunctionDefinition","src":"932:479:4","nodes":[],"body":{"id":1093,"nodeType":"Block","src":"996:415:4","nodes":[],"statements":[{"expression":{"arguments":[{"id":1069,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1061,"src":"1136:6:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"496e697469616c206f776e65722063616e207769746864726177","id":1070,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1144:28:4","typeDescriptions":{"typeIdentifier":"t_stringliteral_0ffd54499e3965cac050a19918fedd9f04c45ca55ecfb4fcded98eeb299a9de9","typeString":"literal_string \"Initial owner can withdraw\""},"value":"Initial owner can withdraw"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_stringliteral_0ffd54499e3965cac050a19918fedd9f04c45ca55ecfb4fcded98eeb299a9de9","typeString":"literal_string \"Initial owner can withdraw\""}],"expression":{"id":1066,"name":"guard","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1032,"src":"1105:5:4","typeDescriptions":{"typeIdentifier":"t_contract$_GuardV0_$1017","typeString":"contract GuardV0"}},"id":1068,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1111:24:4","memberName":"allowWithdrawDestination","nodeType":"MemberAccess","referencedDeclaration":577,"src":"1105:30:4","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_string_memory_ptr_$returns$__$","typeString":"function (address,string memory) external"}},"id":1071,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1105:68:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1072,"nodeType":"ExpressionStatement","src":"1105:68:4"},{"expression":{"arguments":[{"arguments":[{"id":1078,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-28,"src":"1211:4:4","typeDescriptions":{"typeIdentifier":"t_contract$_SimpleVaultV0_$1208","typeString":"contract SimpleVaultV0"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_SimpleVaultV0_$1208","typeString":"contract SimpleVaultV0"}],"id":1077,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1203:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1076,"name":"address","nodeType":"ElementaryTypeName","src":"1203:7:4","typeDescriptions":{}}},"id":1079,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1203:13:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"hexValue":"5661756c742063616e207265636569766520746f6b656e732066726f6d2061207472616465","id":1080,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1218:39:4","typeDescriptions":{"typeIdentifier":"t_stringliteral_210eb4a8752ef71be709b3b995d7163d16cdb25728842ab365a07f29873d2643","typeString":"literal_string \"Vault can receive tokens from a trade\""},"value":"Vault can receive tokens from a trade"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_stringliteral_210eb4a8752ef71be709b3b995d7163d16cdb25728842ab365a07f29873d2643","typeString":"literal_string \"Vault can receive tokens from a trade\""}],"expression":{"id":1073,"name":"guard","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1032,"src":"1183:5:4","typeDescriptions":{"typeIdentifier":"t_contract$_GuardV0_$1017","typeString":"contract GuardV0"}},"id":1075,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1189:13:4","memberName":"allowReceiver","nodeType":"MemberAccess","referencedDeclaration":536,"src":"1183:19:4","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_string_memory_ptr_$returns$__$","typeString":"function (address,string memory) external"}},"id":1081,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1183:75:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1082,"nodeType":"ExpressionStatement","src":"1183:75:4"},{"expression":{"arguments":[{"id":1086,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1061,"src":"1292:6:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":1083,"name":"guard","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1032,"src":"1268:5:4","typeDescriptions":{"typeIdentifier":"t_contract$_GuardV0_$1017","typeString":"contract GuardV0"}},"id":1085,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1274:17:4","memberName":"transferOwnership","nodeType":"MemberAccess","referencedDeclaration":91,"src":"1268:23:4","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":1087,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1268:31:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1088,"nodeType":"ExpressionStatement","src":"1268:31:4"},{"expression":{"arguments":[{"id":1090,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1061,"src":"1397:6:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":1089,"name":"transferOwnership","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91,"src":"1379:17:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":1091,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1379:25:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1092,"nodeType":"ExpressionStatement","src":"1379:25:4"}]},"documentation":{"id":1059,"nodeType":"StructuredDocumentation","src":"852:75:4","text":" Initialise vault and guard for a withdrawal destination."},"functionSelector":"37cfecf2","implemented":true,"kind":"function","modifiers":[{"id":1064,"kind":"modifierInvocation","modifierName":{"id":1063,"name":"onlyOwner","nameLocations":["977:9:4"],"nodeType":"IdentifierPath","referencedDeclaration":31,"src":"977:9:4"},"nodeType":"ModifierInvocation","src":"977:9:4"}],"name":"initialiseOwnership","nameLocation":"941:19:4","parameters":{"id":1062,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1061,"mutability":"mutable","name":"_owner","nameLocation":"969:6:4","nodeType":"VariableDeclaration","scope":1094,"src":"961:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1060,"name":"address","nodeType":"ElementaryTypeName","src":"961:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"960:16:4"},"returnParameters":{"id":1065,"nodeType":"ParameterList","parameters":[],"src":"996:0:4"},"scope":1208,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":1107,"nodeType":"FunctionDefinition","src":"1417:86:4","nodes":[],"body":{"id":1106,"nodeType":"Block","src":"1472:31:4","nodes":[],"statements":[{"expression":{"id":1104,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1102,"name":"guard","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1032,"src":"1482:5:4","typeDescriptions":{"typeIdentifier":"t_contract$_GuardV0_$1017","typeString":"contract GuardV0"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1103,"name":"_guard","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1097,"src":"1490:6:4","typeDescriptions":{"typeIdentifier":"t_contract$_GuardV0_$1017","typeString":"contract GuardV0"}},"src":"1482:14:4","typeDescriptions":{"typeIdentifier":"t_contract$_GuardV0_$1017","typeString":"contract GuardV0"}},"id":1105,"nodeType":"ExpressionStatement","src":"1482:14:4"}]},"functionSelector":"d1357336","implemented":true,"kind":"function","modifiers":[{"id":1100,"kind":"modifierInvocation","modifierName":{"id":1099,"name":"onlyOwner","nameLocations":["1453:9:4"],"nodeType":"IdentifierPath","referencedDeclaration":31,"src":"1453:9:4"},"nodeType":"ModifierInvocation","src":"1453:9:4"}],"name":"resetGuard","nameLocation":"1426:10:4","parameters":{"id":1098,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1097,"mutability":"mutable","name":"_guard","nameLocation":"1445:6:4","nodeType":"VariableDeclaration","scope":1107,"src":"1437:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_GuardV0_$1017","typeString":"contract GuardV0"},"typeName":{"id":1096,"nodeType":"UserDefinedTypeName","pathNode":{"id":1095,"name":"GuardV0","nameLocations":["1437:7:4"],"nodeType":"IdentifierPath","referencedDeclaration":1017,"src":"1437:7:4"},"referencedDeclaration":1017,"src":"1437:7:4","typeDescriptions":{"typeIdentifier":"t_contract$_GuardV0_$1017","typeString":"contract GuardV0"}},"visibility":"internal"}],"src":"1436:16:4"},"returnParameters":{"id":1101,"nodeType":"ParameterList","parameters":[],"src":"1472:0:4"},"scope":1208,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":1117,"nodeType":"FunctionDefinition","src":"1625:91:4","nodes":[],"body":{"id":1116,"nodeType":"Block","src":"1685:31:4","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":1113,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":40,"src":"1702:5:4","typeDescriptions":{"typeIdentifier":"t_function_internal_view$__$returns$_t_address_$","typeString":"function () view returns (address)"}},"id":1114,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1702:7:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"functionReturnParameters":1112,"id":1115,"nodeType":"Return","src":"1695:14:4"}]},"documentation":{"id":1108,"nodeType":"StructuredDocumentation","src":"1509:111:4","text":" Allow single withdrawal destination.\n Preferably multisig/DAO treasury address."},"functionSelector":"e8e7f800","implemented":true,"kind":"function","modifiers":[],"name":"getWithdrawAddress","nameLocation":"1634:18:4","parameters":{"id":1109,"nodeType":"ParameterList","parameters":[],"src":"1652:2:4"},"returnParameters":{"id":1112,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1111,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1117,"src":"1676:7:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1110,"name":"address","nodeType":"ElementaryTypeName","src":"1676:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1675:9:4"},"scope":1208,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":1131,"nodeType":"FunctionDefinition","src":"1882:99:4","nodes":[],"body":{"id":1130,"nodeType":"Block","src":"1931:50:4","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1128,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1123,"name":"assetManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1027,"src":"1948:12:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":1126,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1972:1:4","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":1125,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"1964:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1124,"name":"address","nodeType":"ElementaryTypeName","src":"1964:7:4","typeDescriptions":{}}},"id":1127,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1964:10:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"1948:26:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":1122,"id":1129,"nodeType":"Return","src":"1941:33:4"}]},"documentation":{"id":1118,"nodeType":"StructuredDocumentation","src":"1722:155:4","text":" Asset manager can no longer trade on this vault.\n Emergency pause set by the governance. Disable with updateAssetManager()."},"functionSelector":"6c57f5a9","implemented":true,"kind":"function","modifiers":[],"name":"isDisabled","nameLocation":"1891:10:4","parameters":{"id":1119,"nodeType":"ParameterList","parameters":[],"src":"1901:2:4"},"returnParameters":{"id":1122,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1121,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1131,"src":"1925:4:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1120,"name":"bool","nodeType":"ElementaryTypeName","src":"1925:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1924:6:4"},"scope":1208,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":1176,"nodeType":"FunctionDefinition","src":"2103:344:4","nodes":[],"body":{"id":1175,"nodeType":"Block","src":"2194:253:4","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1146,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1141,"name":"assetManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1027,"src":"2207:12:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":1144,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2231:1:4","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":1143,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2223:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1142,"name":"address","nodeType":"ElementaryTypeName","src":"2223:7:4","typeDescriptions":{}}},"id":1145,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2223:10:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2207:26:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1155,"nodeType":"IfStatement","src":"2204:95:4","trueBody":{"id":1154,"nodeType":"Block","src":"2235:64:4","statements":[{"expression":{"arguments":[{"id":1150,"name":"assetManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1027,"src":"2268:12:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1151,"name":"notes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1136,"src":"2282:5:4","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}],"expression":{"id":1147,"name":"guard","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1032,"src":"2249:5:4","typeDescriptions":{"typeIdentifier":"t_contract$_GuardV0_$1017","typeString":"contract GuardV0"}},"id":1149,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2255:12:4","memberName":"removeSender","nodeType":"MemberAccess","referencedDeclaration":515,"src":"2249:18:4","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_string_memory_ptr_$returns$__$","typeString":"function (address,string memory) external"}},"id":1152,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2249:39:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1153,"nodeType":"ExpressionStatement","src":"2249:39:4"}]}},{"expression":{"id":1158,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1156,"name":"assetManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1027,"src":"2308:12:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":1157,"name":"_assetManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1134,"src":"2323:13:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2308:28:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1159,"nodeType":"ExpressionStatement","src":"2308:28:4"},{"condition":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1165,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1160,"name":"assetManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1027,"src":"2349:12:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":1163,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2373:1:4","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":1162,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2365:7:4","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1161,"name":"address","nodeType":"ElementaryTypeName","src":"2365:7:4","typeDescriptions":{}}},"id":1164,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2365:10:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"2349:26:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1174,"nodeType":"IfStatement","src":"2346:95:4","trueBody":{"id":1173,"nodeType":"Block","src":"2377:64:4","statements":[{"expression":{"arguments":[{"id":1169,"name":"_assetManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1134,"src":"2409:13:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1170,"name":"notes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1136,"src":"2424:5:4","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}],"expression":{"id":1166,"name":"guard","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1032,"src":"2391:5:4","typeDescriptions":{"typeIdentifier":"t_contract$_GuardV0_$1017","typeString":"contract GuardV0"}},"id":1168,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2397:11:4","memberName":"allowSender","nodeType":"MemberAccess","referencedDeclaration":495,"src":"2391:17:4","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_string_memory_ptr_$returns$__$","typeString":"function (address,string memory) external"}},"id":1171,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2391:39:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1172,"nodeType":"ExpressionStatement","src":"2391:39:4"}]}}]},"documentation":{"id":1132,"nodeType":"StructuredDocumentation","src":"1987:111:4","text":" Change the asset manager.\n Set to zero address to disable asset manager."},"functionSelector":"4a0e159d","implemented":true,"kind":"function","modifiers":[{"id":1139,"kind":"modifierInvocation","modifierName":{"id":1138,"name":"onlyOwner","nameLocations":["2184:9:4"],"nodeType":"IdentifierPath","referencedDeclaration":31,"src":"2184:9:4"},"nodeType":"ModifierInvocation","src":"2184:9:4"}],"name":"updateAssetManager","nameLocation":"2112:18:4","parameters":{"id":1137,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1134,"mutability":"mutable","name":"_assetManager","nameLocation":"2139:13:4","nodeType":"VariableDeclaration","scope":1176,"src":"2131:21:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1133,"name":"address","nodeType":"ElementaryTypeName","src":"2131:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1136,"mutability":"mutable","name":"notes","nameLocation":"2170:5:4","nodeType":"VariableDeclaration","scope":1176,"src":"2154:21:4","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":1135,"name":"string","nodeType":"ElementaryTypeName","src":"2154:6:4","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2130:46:4"},"returnParameters":{"id":1140,"nodeType":"ParameterList","parameters":[],"src":"2194:0:4"},"scope":1208,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":1207,"nodeType":"FunctionDefinition","src":"2453:586:4","nodes":[],"body":{"id":1206,"nodeType":"Block","src":"2524:515:4","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"id":1186,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"2620:3:4","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1187,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2624:6:4","memberName":"sender","nodeType":"MemberAccess","src":"2620:10:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1188,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1178,"src":"2632:6:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1189,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1180,"src":"2640:8:4","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"expression":{"id":1183,"name":"guard","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1032,"src":"2601:5:4","typeDescriptions":{"typeIdentifier":"t_contract$_GuardV0_$1017","typeString":"contract GuardV0"}},"id":1185,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2607:12:4","memberName":"validateCall","nodeType":"MemberAccess","referencedDeclaration":966,"src":"2601:18:4","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_address_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,address,bytes memory) view external"}},"id":1190,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2601:48:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1191,"nodeType":"ExpressionStatement","src":"2601:48:4"},{"assignments":[1193,1195],"declarations":[{"constant":false,"id":1193,"mutability":"mutable","name":"success","nameLocation":"2724:7:4","nodeType":"VariableDeclaration","scope":1206,"src":"2719:12:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1192,"name":"bool","nodeType":"ElementaryTypeName","src":"2719:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":1195,"mutability":"mutable","name":"returnData","nameLocation":"2746:10:4","nodeType":"VariableDeclaration","scope":1206,"src":"2733:23:4","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":1194,"name":"bytes","nodeType":"ElementaryTypeName","src":"2733:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":1200,"initialValue":{"arguments":[{"id":1198,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1180,"src":"2772:8:4","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"expression":{"id":1196,"name":"target","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1178,"src":"2760:6:4","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1197,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2767:4:4","memberName":"call","nodeType":"MemberAccess","src":"2760:11:4","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":1199,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2760:21:4","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"2718:63:4"},{"condition":{"id":1202,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"2795:8:4","subExpression":{"id":1201,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1193,"src":"2796:7:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1205,"nodeType":"IfStatement","src":"2792:241:4","trueBody":{"id":1204,"nodeType":"Block","src":"2805:228:4","statements":[{"AST":{"nodeType":"YulBlock","src":"2827:196:4","statements":[{"nodeType":"YulVariableDeclaration","src":"2845:43:4","value":{"arguments":[{"name":"returnData","nodeType":"YulIdentifier","src":"2877:10:4"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"2871:5:4"},"nodeType":"YulFunctionCall","src":"2871:17:4"},"variables":[{"name":"revertStringLength","nodeType":"YulTypedName","src":"2849:18:4","type":""}]},{"nodeType":"YulVariableDeclaration","src":"2905:44:4","value":{"arguments":[{"name":"returnData","nodeType":"YulIdentifier","src":"2932:10:4"},{"kind":"number","nodeType":"YulLiteral","src":"2944:4:4","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2928:3:4"},"nodeType":"YulFunctionCall","src":"2928:21:4"},"variables":[{"name":"revertStringPtr","nodeType":"YulTypedName","src":"2909:15:4","type":""}]},{"expression":{"arguments":[{"name":"revertStringPtr","nodeType":"YulIdentifier","src":"2973:15:4"},{"name":"revertStringLength","nodeType":"YulIdentifier","src":"2990:18:4"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2966:6:4"},"nodeType":"YulFunctionCall","src":"2966:43:4"},"nodeType":"YulExpressionStatement","src":"2966:43:4"}]},"evmVersion":"paris","externalReferences":[{"declaration":1195,"isOffset":false,"isSlot":false,"src":"2877:10:4","valueSize":1},{"declaration":1195,"isOffset":false,"isSlot":false,"src":"2932:10:4","valueSize":1}],"id":1203,"nodeType":"InlineAssembly","src":"2819:204:4"}]}}]},"functionSelector":"d2f73e3d","implemented":true,"kind":"function","modifiers":[],"name":"performCall","nameLocation":"2462:11:4","parameters":{"id":1181,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1178,"mutability":"mutable","name":"target","nameLocation":"2482:6:4","nodeType":"VariableDeclaration","scope":1207,"src":"2474:14:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1177,"name":"address","nodeType":"ElementaryTypeName","src":"2474:7:4","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1180,"mutability":"mutable","name":"callData","nameLocation":"2505:8:4","nodeType":"VariableDeclaration","scope":1207,"src":"2490:23:4","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":1179,"name":"bytes","nodeType":"ElementaryTypeName","src":"2490:5:4","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"2473:41:4"},"returnParameters":{"id":1182,"nodeType":"ParameterList","parameters":[],"src":"2524:0:4"},"scope":1208,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[{"baseName":{"id":1024,"name":"Ownable","nameLocations":["498:7:4"],"nodeType":"IdentifierPath","referencedDeclaration":112,"src":"498:7:4"},"id":1025,"nodeType":"InheritanceSpecifier","src":"498:7:4"}],"canonicalName":"SimpleVaultV0","contractDependencies":[1017],"contractKind":"contract","documentation":{"id":1023,"nodeType":"StructuredDocumentation","src":"193:278:4","text":" Simple vault allowing delegating of a trading activites to a hot wallet.\n - Self-contained\n - Guard is used to check asset manager can only perform approved operations.\n - No shares, single owner\n - No accounting\n - No slippage protection (unlike Enzyme)"},"fullyImplemented":true,"linearizedBaseContracts":[1208,112,220],"name":"SimpleVaultV0","nameLocation":"481:13:4","scope":1209,"usedErrors":[]}]},"id":4} \ No newline at end of file diff --git a/eth_defi/abi/terms-of-service/TermsOfService.json b/eth_defi/abi/terms-of-service/TermsOfService.json new file mode 100644 index 00000000..febe98fb --- /dev/null +++ b/eth_defi/abi/terms-of-service/TermsOfService.json @@ -0,0 +1 @@ +{"abi":[{"type":"constructor","inputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"acceptances","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"acceptanceMessageHash","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"accepted","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"canAddressProceed","inputs":[{"name":"sender","type":"address","internalType":"address"}],"outputs":[{"name":"accepted","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"canProceed","inputs":[],"outputs":[{"name":"accepted","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"getTextHash","inputs":[{"name":"version","type":"uint16","internalType":"uint16"}],"outputs":[{"name":"hash","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"hasAcceptedHash","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"acceptanceMessageHash","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"accepted","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"hasAcceptedVersion","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"version","type":"uint16","internalType":"uint16"}],"outputs":[{"name":"accepted","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"latestAcceptanceMessageHash","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"latestTermsOfServiceVersion","inputs":[],"outputs":[{"name":"","type":"uint16","internalType":"uint16"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"signTermsOfServiceBehalf","inputs":[{"name":"signer","type":"address","internalType":"address"},{"name":"hash","type":"bytes32","internalType":"bytes32"},{"name":"signature","type":"bytes","internalType":"bytes"},{"name":"metadata","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"signTermsOfServiceOwn","inputs":[{"name":"hash","type":"bytes32","internalType":"bytes32"},{"name":"signature","type":"bytes","internalType":"bytes"},{"name":"metadata","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"updateTermsOfService","inputs":[{"name":"version","type":"uint16","internalType":"uint16"},{"name":"acceptanceMessageHash","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"versions","inputs":[{"name":"version","type":"uint16","internalType":"uint16"}],"outputs":[{"name":"acceptanceMessageHash","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Signed","inputs":[{"name":"signer","type":"address","indexed":false,"internalType":"address"},{"name":"version","type":"uint16","indexed":false,"internalType":"uint16"},{"name":"hash","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"metadata","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"UpdateTermsOfService","inputs":[{"name":"version","type":"uint16","indexed":false,"internalType":"uint16"},{"name":"acceptanceMessageHash","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false}],"bytecode":{"object":"0x608060405234801561001057600080fd5b5061001a3361001f565b61006f565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b610ddb8061007e6000396000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c80638da5cb5b11610097578063be0fc8a611610066578063be0fc8a61461020e578063c4846df014610221578063f2fde38b14610245578063f8f584b81461025857600080fd5b80638da5cb5b1461019b578063931f45f8146101b65780639a5f773e146101e4578063b8ad591b146101ed57600080fd5b80635f145fb7116100d35780635f145fb71461014a5780635fc7e1b61461015d57806361b351631461018b578063715018a61461019357600080fd5b80633f3dea15146100fa5780635053b5631461010f5780635c162cdf14610137575b600080fd5b61010d610108366004610a91565b61026b565b005b61012261011d366004610b27565b610280565b60405190151581526020015b60405180910390f35b61010d610145366004610b5b565b6102e9565b61010d610158366004610b85565b610430565b61017d61016b366004610c0f565b60026020526000908152604090205481565b60405190815260200161012e565b610122610622565b61010d610632565b6000546040516001600160a01b03909116815260200161012e565b6101226101c4366004610c2a565b600160209081526000928352604080842090915290825290205460ff1681565b61017d60035481565b6004546101fb9061ffff1681565b60405161ffff909116815260200161012e565b61012261021c366004610c46565b610646565b61017d61022f366004610c0f565b61ffff1660009081526002602052604090205490565b61010d610253366004610b27565b6106ab565b610122610266366004610c2a565b610724565b610279338686868686610430565b5050505050565b6003546000906102d75760405162461bcd60e51b815260206004820181905260248201527f5465726d73206f662073657276696365206e6f7420696e697469616c6973656460448201526064015b60405180910390fd5b6102e382600354610724565b92915050565b6102f161074f565b6004546103039061ffff166001610c79565b61ffff168261ffff16146103685760405162461bcd60e51b815260206004820152602660248201527f56657273696f6e73206d757374206265207570646174656420696e6372656d656044820152656e74616c6c7960d01b60648201526084016102ce565b60035481036103c95760405162461bcd60e51b815260206004820152602760248201527f53657474696e67207468652073616d65207465726d73206f66207365727669636044820152666520747769636560c81b60648201526084016102ce565b60038190556004805461ffff191661ffff8416908117909155600081815260026020908152604091829020849055815192835282018390527f85b7d26208605d06e97fbd501843a4150a6efa1d95745c8401f38d56156f82e2910160405180910390a15050565b60035485146104a75760405162461bcd60e51b815260206004820152603760248201527f43616e6e6f74207369676e206f6c646572206f7220756e6b6e6f776e2076657260448201527f73696f6e73207465726d73206f6620736572766963657300000000000000000060648201526084016102ce565b6104f38585858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250506001600160a01b038b1693929150506107a9565b6105385760405162461bcd60e51b815260206004820152601660248201527514da59db985d1d5c99481a5cc81b9bdd081d985b1a5960521b60448201526064016102ce565b6001600160a01b0386166000908152600160209081526040808320600354845290915290205460ff161561059f5760405162461bcd60e51b815260206004820152600e60248201526d105b1c9958591e481cda59db995960921b60448201526064016102ce565b6001600160a01b0386166000908152600160208181526040808420600380548652925292839020805460ff1916909217909155600454905491517f32c70fa5bb7bfd2dd4d863783422e6009fbcd3127a0e36bb0627e67ae136f9a792610612928a9261ffff909116919087908790610ca9565b60405180910390a1505050505050565b600061062d33610280565b905090565b61063a61074f565b610644600061080a565b565b61ffff8116600090815260026020526040812054806106995760405162461bcd60e51b815260206004820152600f60248201526e27379039bab1b4103b32b939b4b7b760891b60448201526064016102ce565b6106a38482610724565b949350505050565b6106b361074f565b6001600160a01b0381166107185760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016102ce565b6107218161080a565b50565b6001600160a01b03919091166000908152600160209081526040808320938352929052205460ff1690565b6000546001600160a01b031633146106445760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016102ce565b60008060006107b8858561085a565b909250905060008160048111156107d1576107d1610cfc565b1480156107ef5750856001600160a01b0316826001600160a01b0316145b80610800575061080086868661089f565b9695505050505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60008082516041036108905760208301516040840151606085015160001a6108848782858561098b565b94509450505050610898565b506000905060025b9250929050565b6000806000856001600160a01b0316631626ba7e60e01b86866040516024016108c9929190610d36565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b03199094169390931790925290516109079190610d70565b600060405180830381855afa9150503d8060008114610942576040519150601f19603f3d011682016040523d82523d6000602084013e610947565b606091505b509150915081801561095b57506020815110155b801561080057508051630b135d3f60e11b906109809083016020908101908401610d8c565b149695505050505050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08311156109c25750600090506003610a46565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015610a16573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116610a3f57600060019250925050610a46565b9150600090505b94509492505050565b60008083601f840112610a6157600080fd5b50813567ffffffffffffffff811115610a7957600080fd5b60208301915083602082850101111561089857600080fd5b600080600080600060608688031215610aa957600080fd5b85359450602086013567ffffffffffffffff80821115610ac857600080fd5b610ad489838a01610a4f565b90965094506040880135915080821115610aed57600080fd5b50610afa88828901610a4f565b969995985093965092949392505050565b80356001600160a01b0381168114610b2257600080fd5b919050565b600060208284031215610b3957600080fd5b610b4282610b0b565b9392505050565b803561ffff81168114610b2257600080fd5b60008060408385031215610b6e57600080fd5b610b7783610b49565b946020939093013593505050565b60008060008060008060808789031215610b9e57600080fd5b610ba787610b0b565b955060208701359450604087013567ffffffffffffffff80821115610bcb57600080fd5b610bd78a838b01610a4f565b90965094506060890135915080821115610bf057600080fd5b50610bfd89828a01610a4f565b979a9699509497509295939492505050565b600060208284031215610c2157600080fd5b610b4282610b49565b60008060408385031215610c3d57600080fd5b610b7783610b0b565b60008060408385031215610c5957600080fd5b610c6283610b0b565b9150610c7060208401610b49565b90509250929050565b61ffff818116838216019080821115610ca257634e487b7160e01b600052601160045260246000fd5b5092915050565b6001600160a01b038616815261ffff85166020820152604081018490526080606082018190528101829052818360a0830137600081830160a090810191909152601f909201601f19160101949350505050565b634e487b7160e01b600052602160045260246000fd5b60005b83811015610d2d578181015183820152602001610d15565b50506000910152565b8281526040602082015260008251806040840152610d5b816060850160208701610d12565b601f01601f1916919091016060019392505050565b60008251610d82818460208701610d12565b9190910192915050565b600060208284031215610d9e57600080fd5b505191905056fea26469706673582212208ff750ea83fa5261552101c73c32b6d039c39e61802e76ce95712126cf55c01464736f6c63430008130033","sourceMap":"665:4244:29:-:0;;;1681:31;;;;;;;;;-1:-1:-1;936:32:20;734:10:22;936:18:20;:32::i;:::-;665:4244:29;;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;665:4244:29:-;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100f55760003560e01c80638da5cb5b11610097578063be0fc8a611610066578063be0fc8a61461020e578063c4846df014610221578063f2fde38b14610245578063f8f584b81461025857600080fd5b80638da5cb5b1461019b578063931f45f8146101b65780639a5f773e146101e4578063b8ad591b146101ed57600080fd5b80635f145fb7116100d35780635f145fb71461014a5780635fc7e1b61461015d57806361b351631461018b578063715018a61461019357600080fd5b80633f3dea15146100fa5780635053b5631461010f5780635c162cdf14610137575b600080fd5b61010d610108366004610a91565b61026b565b005b61012261011d366004610b27565b610280565b60405190151581526020015b60405180910390f35b61010d610145366004610b5b565b6102e9565b61010d610158366004610b85565b610430565b61017d61016b366004610c0f565b60026020526000908152604090205481565b60405190815260200161012e565b610122610622565b61010d610632565b6000546040516001600160a01b03909116815260200161012e565b6101226101c4366004610c2a565b600160209081526000928352604080842090915290825290205460ff1681565b61017d60035481565b6004546101fb9061ffff1681565b60405161ffff909116815260200161012e565b61012261021c366004610c46565b610646565b61017d61022f366004610c0f565b61ffff1660009081526002602052604090205490565b61010d610253366004610b27565b6106ab565b610122610266366004610c2a565b610724565b610279338686868686610430565b5050505050565b6003546000906102d75760405162461bcd60e51b815260206004820181905260248201527f5465726d73206f662073657276696365206e6f7420696e697469616c6973656460448201526064015b60405180910390fd5b6102e382600354610724565b92915050565b6102f161074f565b6004546103039061ffff166001610c79565b61ffff168261ffff16146103685760405162461bcd60e51b815260206004820152602660248201527f56657273696f6e73206d757374206265207570646174656420696e6372656d656044820152656e74616c6c7960d01b60648201526084016102ce565b60035481036103c95760405162461bcd60e51b815260206004820152602760248201527f53657474696e67207468652073616d65207465726d73206f66207365727669636044820152666520747769636560c81b60648201526084016102ce565b60038190556004805461ffff191661ffff8416908117909155600081815260026020908152604091829020849055815192835282018390527f85b7d26208605d06e97fbd501843a4150a6efa1d95745c8401f38d56156f82e2910160405180910390a15050565b60035485146104a75760405162461bcd60e51b815260206004820152603760248201527f43616e6e6f74207369676e206f6c646572206f7220756e6b6e6f776e2076657260448201527f73696f6e73207465726d73206f6620736572766963657300000000000000000060648201526084016102ce565b6104f38585858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250506001600160a01b038b1693929150506107a9565b6105385760405162461bcd60e51b815260206004820152601660248201527514da59db985d1d5c99481a5cc81b9bdd081d985b1a5960521b60448201526064016102ce565b6001600160a01b0386166000908152600160209081526040808320600354845290915290205460ff161561059f5760405162461bcd60e51b815260206004820152600e60248201526d105b1c9958591e481cda59db995960921b60448201526064016102ce565b6001600160a01b0386166000908152600160208181526040808420600380548652925292839020805460ff1916909217909155600454905491517f32c70fa5bb7bfd2dd4d863783422e6009fbcd3127a0e36bb0627e67ae136f9a792610612928a9261ffff909116919087908790610ca9565b60405180910390a1505050505050565b600061062d33610280565b905090565b61063a61074f565b610644600061080a565b565b61ffff8116600090815260026020526040812054806106995760405162461bcd60e51b815260206004820152600f60248201526e27379039bab1b4103b32b939b4b7b760891b60448201526064016102ce565b6106a38482610724565b949350505050565b6106b361074f565b6001600160a01b0381166107185760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016102ce565b6107218161080a565b50565b6001600160a01b03919091166000908152600160209081526040808320938352929052205460ff1690565b6000546001600160a01b031633146106445760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016102ce565b60008060006107b8858561085a565b909250905060008160048111156107d1576107d1610cfc565b1480156107ef5750856001600160a01b0316826001600160a01b0316145b80610800575061080086868661089f565b9695505050505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60008082516041036108905760208301516040840151606085015160001a6108848782858561098b565b94509450505050610898565b506000905060025b9250929050565b6000806000856001600160a01b0316631626ba7e60e01b86866040516024016108c9929190610d36565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b03199094169390931790925290516109079190610d70565b600060405180830381855afa9150503d8060008114610942576040519150601f19603f3d011682016040523d82523d6000602084013e610947565b606091505b509150915081801561095b57506020815110155b801561080057508051630b135d3f60e11b906109809083016020908101908401610d8c565b149695505050505050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08311156109c25750600090506003610a46565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015610a16573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116610a3f57600060019250925050610a46565b9150600090505b94509492505050565b60008083601f840112610a6157600080fd5b50813567ffffffffffffffff811115610a7957600080fd5b60208301915083602082850101111561089857600080fd5b600080600080600060608688031215610aa957600080fd5b85359450602086013567ffffffffffffffff80821115610ac857600080fd5b610ad489838a01610a4f565b90965094506040880135915080821115610aed57600080fd5b50610afa88828901610a4f565b969995985093965092949392505050565b80356001600160a01b0381168114610b2257600080fd5b919050565b600060208284031215610b3957600080fd5b610b4282610b0b565b9392505050565b803561ffff81168114610b2257600080fd5b60008060408385031215610b6e57600080fd5b610b7783610b49565b946020939093013593505050565b60008060008060008060808789031215610b9e57600080fd5b610ba787610b0b565b955060208701359450604087013567ffffffffffffffff80821115610bcb57600080fd5b610bd78a838b01610a4f565b90965094506060890135915080821115610bf057600080fd5b50610bfd89828a01610a4f565b979a9699509497509295939492505050565b600060208284031215610c2157600080fd5b610b4282610b49565b60008060408385031215610c3d57600080fd5b610b7783610b0b565b60008060408385031215610c5957600080fd5b610c6283610b0b565b9150610c7060208401610b49565b90509250929050565b61ffff818116838216019080821115610ca257634e487b7160e01b600052601160045260246000fd5b5092915050565b6001600160a01b038616815261ffff85166020820152604081018490526080606082018190528101829052818360a0830137600081830160a090810191909152601f909201601f19160101949350505050565b634e487b7160e01b600052602160045260246000fd5b60005b83811015610d2d578181015183820152602001610d15565b50506000910152565b8281526040602082015260008251806040840152610d5b816060850160208701610d12565b601f01601f1916919091016060019392505050565b60008251610d82818460208701610d12565b9190910192915050565b600060208284031215610d9e57600080fd5b505191905056fea26469706673582212208ff750ea83fa5261552101c73c32b6d039c39e61802e76ce95712126cf55c01464736f6c63430008130033","sourceMap":"665:4244:29:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4723:183;;;;;;:::i;:::-;;:::i;:::-;;3195:251;;;;;;:::i;:::-;;:::i;:::-;;;1690:14:31;;1683:22;1665:41;;1653:2;1638:18;3195:251:29;;;;;;;;2274:544;;;;;;:::i;:::-;;:::i;4131:586::-;;;;;;:::i;:::-;;:::i;1184:72::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;3338:25:31;;;3326:2;3311:18;1184:72:29;3192:177:31;2956:111:29;;;:::i;1824:101:20:-;;;:::i;1201:85::-;1247:7;1273:6;1201:85;;-1:-1:-1;;;;;1273:6:20;;;3520:51:31;;3508:2;3493:18;1201:85:20;3374:203:31;1026:102:29;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;1263:42;;;;;;1430:41;;;;;;;;;;;;4015:6:31;4003:19;;;3985:38;;3973:2;3958:18;1430:41:29;3841:188:31;2019:249:29;;;;;;:::i;:::-;;:::i;1900:113::-;;;;;;:::i;:::-;1989:17;;1958:12;1989:17;;;:8;:17;;;;;;;1900:113;2074:198:20;;;;;;:::i;:::-;;:::i;1718:176:29:-;;;;;;:::i;:::-;;:::i;4723:183::-;4836:63;4861:10;4873:4;4879:9;;4890:8;;4836:24;:63::i;:::-;4723:183;;;;;:::o;3195:251::-;3292:27;;3259:13;;3284:86;;;;-1:-1:-1;;;3284:86:29;;4499:2:31;3284:86:29;;;4481:21:31;;;4518:18;;;4511:30;4577:34;4557:18;;;4550:62;4629:18;;3284:86:29;;;;;;;;;3387:52;3403:6;3411:27;;3387:15;:52::i;:::-;3380:59;3195:251;-1:-1:-1;;3195:251:29:o;2274:544::-;1094:13:20;:11;:13::i;:::-;2397:27:29::1;::::0;:31:::1;::::0;:27:::1;;::::0;:31:::1;:::i;:::-;2386:42;;:7;:42;;;2378:93;;;::::0;-1:-1:-1;;;2378:93:29;;5130:2:31;2378:93:29::1;::::0;::::1;5112:21:31::0;5169:2;5149:18;;;5142:30;5208:34;5188:18;;;5181:62;-1:-1:-1;;;5259:18:31;;;5252:36;5305:19;;2378:93:29::1;4928:402:31::0;2378:93:29::1;2514:27;;2489:21;:52:::0;2481:104:::1;;;::::0;-1:-1:-1;;;2481:104:29;;5537:2:31;2481:104:29::1;::::0;::::1;5519:21:31::0;5576:2;5556:18;;;5549:30;5615:34;5595:18;;;5588:62;-1:-1:-1;;;5666:18:31;;;5659:37;5713:19;;2481:104:29::1;5335:403:31::0;2481:104:29::1;2595:27;:51:::0;;;2656:27:::1;:37:::0;;-1:-1:-1;;2656:37:29::1;;::::0;::::1;::::0;;::::1;::::0;;;-1:-1:-1;2703:17:29;;;:8:::1;:17;::::0;;;;;;;;:41;;;2759:52;;5915:38:31;;;5969:18;;5962:34;;;2759:52:29::1;::::0;5888:18:31;2759:52:29::1;;;;;;;2274:544:::0;;:::o;4131:586::-;4279:27;;4271:4;:35;4263:103;;;;-1:-1:-1;;;4263:103:29;;6209:2:31;4263:103:29;;;6191:21:31;6248:2;6228:18;;;6221:30;6287:34;6267:18;;;6260:62;6358:25;6338:18;;;6331:53;6401:19;;4263:103:29;6007:419:31;4263:103:29;4384:43;4411:4;4417:9;;4384:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;4384:26:29;;;:43;;-1:-1:-1;;4384:26:29;:43::i;:::-;4376:78;;;;-1:-1:-1;;;4376:78:29;;6633:2:31;4376:78:29;;;6615:21:31;6672:2;6652:18;;;6645:30;-1:-1:-1;;;6691:18:31;;;6684:52;6753:18;;4376:78:29;6431:346:31;4376:78:29;-1:-1:-1;;;;;4472:19:29;;;;;;:11;:19;;;;;;;;4492:27;;4472:48;;;;;;;;;;:57;4464:84;;;;-1:-1:-1;;;4464:84:29;;6984:2:31;4464:84:29;;;6966:21:31;7023:2;7003:18;;;6996:30;-1:-1:-1;;;7042:18:31;;;7035:44;7096:18;;4464:84:29;6782:338:31;4464:84:29;-1:-1:-1;;;;;4558:19:29;;;;;;4609:4;4558:19;;;;;;;;4578:27;;;4558:48;;;;;;;;:55;;-1:-1:-1;;4558:55:29;;;;;;;4643:27;;4672;;4628:82;;;;;;4570:6;;4643:27;;;;;4672;4701:8;;;;4628:82;:::i;:::-;;;;;;;;4131:586;;;;;;:::o;2956:111::-;2999:13;3031:29;3049:10;3031:17;:29::i;:::-;3024:36;;2956:111;:::o;1824:101:20:-;1094:13;:11;:13::i;:::-;1888:30:::1;1915:1;1888:18;:30::i;:::-;1824:101::o:0;2019:249:29:-;2141:17;;;2101:13;2141:17;;;:8;:17;;;;;;;2168:46;;;;-1:-1:-1;;;2168:46:29;;7975:2:31;2168:46:29;;;7957:21:31;8014:2;7994:18;;;7987:30;-1:-1:-1;;;8033:18:31;;;8026:45;8088:18;;2168:46:29;7773:339:31;2168:46:29;2231:30;2247:7;2256:4;2231:15;:30::i;:::-;2224:37;2019:249;-1:-1:-1;;;;2019:249:29:o;2074:198:20:-;1094:13;:11;:13::i;:::-;-1:-1:-1;;;;;2162:22:20;::::1;2154:73;;;::::0;-1:-1:-1;;;2154:73:20;;8319:2:31;2154:73:20::1;::::0;::::1;8301:21:31::0;8358:2;8338:18;;;8331:30;8397:34;8377:18;;;8370:62;-1:-1:-1;;;8448:18:31;;;8441:36;8494:19;;2154:73:20::1;8117:402:31::0;2154:73:20::1;2237:28;2256:8;2237:18;:28::i;:::-;2074:198:::0;:::o;1718:176:29:-;-1:-1:-1;;;;;1844:20:29;;;;1812:13;1844:20;;;:11;:20;;;;;;;;:43;;;;;;;;;;;1718:176::o;1359:130:20:-;1247:7;1273:6;-1:-1:-1;;;;;1273:6:20;734:10:22;1422:23:20;1414:68;;;;-1:-1:-1;;;1414:68:20;;8726:2:31;1414:68:20;;;8708:21:31;;;8745:18;;;8738:30;8804:34;8784:18;;;8777:62;8856:18;;1414:68:20;8524:356:31;1014:366:25;1120:4;1137:17;1156:24;1184:33;1201:4;1207:9;1184:16;:33::i;:::-;1136:81;;-1:-1:-1;1136:81:25;-1:-1:-1;1256:26:25;1247:5;:35;;;;;;;;:::i;:::-;;:58;;;;;1299:6;-1:-1:-1;;;;;1286:19:25;:9;-1:-1:-1;;;;;1286:19:25;;1247:58;1246:127;;;;1322:51;1349:6;1357:4;1363:9;1322:26;:51::i;:::-;1227:146;1014:366;-1:-1:-1;;;;;;1014:366:25: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;2145:730:24:-;2226:7;2235:12;2263:9;:16;2283:2;2263:22;2259:610;;2599:4;2584:20;;2578:27;2648:4;2633:20;;2627:27;2705:4;2690:20;;2684:27;2301:9;2676:36;2746:25;2757:4;2676:36;2578:27;2627;2746:10;:25::i;:::-;2739:32;;;;;;;;;2259:610;-1:-1:-1;2818:1:24;;-1:-1:-1;2822:35:24;2259:610;2145:730;;;;;:::o;1786:473:25:-;1929:4;1946:12;1960:19;1983:6;-1:-1:-1;;;;;1983:17:25;2037:34;;;2073:4;2079:9;2014:75;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;2014:75:25;;;;;;;;;;;;;;-1:-1:-1;;;;;2014:75:25;-1:-1:-1;;;;;;2014:75:25;;;;;;;;;;1983:116;;;;2014:75;1983:116;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1945:154;;;;2117:7;:42;;;;;2157:2;2140:6;:13;:19;;2117:42;:134;;;;-1:-1:-1;2175:29:25;;-1:-1:-1;;;2216:34:25;2175:29;;;;;;;;;;;;:::i;:::-;:76;;1786:473;-1:-1:-1;;;;;;1786:473:25:o;5009:1456:24:-;5097:7;;6021:66;6008:79;;6004:161;;;-1:-1:-1;6119:1:24;;-1:-1:-1;6123:30:24;6103:51;;6004:161;6276:24;;;6259:14;6276:24;;;;;;;;;10450:25:31;;;10523:4;10511:17;;10491:18;;;10484:45;;;;10545:18;;;10538:34;;;10588:18;;;10581:34;;;6276:24:24;;10422:19:31;;6276:24:24;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6276:24:24;;-1:-1:-1;;6276:24:24;;;-1:-1:-1;;;;;;;6314:20:24;;6310:101;;6366:1;6370:29;6350:50;;;;;;;6310:101;6429:6;-1:-1:-1;6437:20:24;;-1:-1:-1;5009:1456:24;;;;;;;;:::o;14:347:31:-;65:8;75:6;129:3;122:4;114:6;110:17;106:27;96:55;;147:1;144;137:12;96:55;-1:-1:-1;170:20:31;;213:18;202:30;;199:50;;;245:1;242;235:12;199:50;282:4;274:6;270:17;258:29;;334:3;327:4;318:6;310;306:19;302:30;299:39;296:59;;;351:1;348;341:12;366:785;465:6;473;481;489;497;550:2;538:9;529:7;525:23;521:32;518:52;;;566:1;563;556:12;518:52;602:9;589:23;579:33;;663:2;652:9;648:18;635:32;686:18;727:2;719:6;716:14;713:34;;;743:1;740;733:12;713:34;782:58;832:7;823:6;812:9;808:22;782:58;:::i;:::-;859:8;;-1:-1:-1;756:84:31;-1:-1:-1;947:2:31;932:18;;919:32;;-1:-1:-1;963:16:31;;;960:36;;;992:1;989;982:12;960:36;;1031:60;1083:7;1072:8;1061:9;1057:24;1031:60;:::i;:::-;366:785;;;;-1:-1:-1;366:785:31;;-1:-1:-1;1110:8:31;;1005:86;366:785;-1:-1:-1;;;366:785:31:o;1156:173::-;1224:20;;-1:-1:-1;;;;;1273:31:31;;1263:42;;1253:70;;1319:1;1316;1309:12;1253:70;1156:173;;;:::o;1334:186::-;1393:6;1446:2;1434:9;1425:7;1421:23;1417:32;1414:52;;;1462:1;1459;1452:12;1414:52;1485:29;1504:9;1485:29;:::i;:::-;1475:39;1334:186;-1:-1:-1;;;1334:186:31:o;1717:159::-;1784:20;;1844:6;1833:18;;1823:29;;1813:57;;1866:1;1863;1856:12;1881:252;1948:6;1956;2009:2;1997:9;1988:7;1984:23;1980:32;1977:52;;;2025:1;2022;2015:12;1977:52;2048:28;2066:9;2048:28;:::i;:::-;2038:38;2123:2;2108:18;;;;2095:32;;-1:-1:-1;;;1881:252:31:o;2138:860::-;2246:6;2254;2262;2270;2278;2286;2339:3;2327:9;2318:7;2314:23;2310:33;2307:53;;;2356:1;2353;2346:12;2307:53;2379:29;2398:9;2379:29;:::i;:::-;2369:39;;2455:2;2444:9;2440:18;2427:32;2417:42;;2510:2;2499:9;2495:18;2482:32;2533:18;2574:2;2566:6;2563:14;2560:34;;;2590:1;2587;2580:12;2560:34;2629:58;2679:7;2670:6;2659:9;2655:22;2629:58;:::i;:::-;2706:8;;-1:-1:-1;2603:84:31;-1:-1:-1;2794:2:31;2779:18;;2766:32;;-1:-1:-1;2810:16:31;;;2807:36;;;2839:1;2836;2829:12;2807:36;;2878:60;2930:7;2919:8;2908:9;2904:24;2878:60;:::i;:::-;2138:860;;;;-1:-1:-1;2138:860:31;;-1:-1:-1;2138:860:31;;2957:8;;2138:860;-1:-1:-1;;;2138:860:31:o;3003:184::-;3061:6;3114:2;3102:9;3093:7;3089:23;3085:32;3082:52;;;3130:1;3127;3120:12;3082:52;3153:28;3171:9;3153:28;:::i;3582:254::-;3650:6;3658;3711:2;3699:9;3690:7;3686:23;3682:32;3679:52;;;3727:1;3724;3717:12;3679:52;3750:29;3769:9;3750:29;:::i;4034:258::-;4101:6;4109;4162:2;4150:9;4141:7;4137:23;4133:32;4130:52;;;4178:1;4175;4168:12;4130:52;4201:29;4220:9;4201:29;:::i;:::-;4191:39;;4249:37;4282:2;4271:9;4267:18;4249:37;:::i;:::-;4239:47;;4034:258;;;;;:::o;4658:265::-;4725:6;4751:10;;;4763;;;4747:27;;4786:11;;;4783:134;;;4839:10;4834:3;4830:20;4827:1;4820:31;4874:4;4871:1;4864:15;4902:4;4899:1;4892:15;4783:134;;4658:265;;;;:::o;7125:643::-;-1:-1:-1;;;;;7364:32:31;;7346:51;;7445:6;7433:19;;7428:2;7413:18;;7406:47;7484:2;7469:18;;7462:34;;;7532:3;7527:2;7512:18;;7505:31;;;7552:19;;7545:35;;;7573:6;7623;7384:3;7602:19;;7589:49;7688:1;7658:22;;;7682:3;7654:32;;;7647:43;;;;7751:2;7730:15;;;-1:-1:-1;;7726:29:31;7711:45;7707:55;;7125:643;-1:-1:-1;;;;7125:643:31:o;8885:127::-;8946:10;8941:3;8937:20;8934:1;8927:31;8977:4;8974:1;8967:15;9001:4;8998:1;8991:15;9017:250;9102:1;9112:113;9126:6;9123:1;9120:13;9112:113;;;9202:11;;;9196:18;9183:11;;;9176:39;9148:2;9141:10;9112:113;;;-1:-1:-1;;9259:1:31;9241:16;;9234:27;9017:250::o;9272:465::-;9447:6;9436:9;9429:25;9490:2;9485;9474:9;9470:18;9463:30;9410:4;9522:6;9516:13;9565:6;9560:2;9549:9;9545:18;9538:34;9581:79;9653:6;9648:2;9637:9;9633:18;9628:2;9620:6;9616:15;9581:79;:::i;:::-;9721:2;9700:15;-1:-1:-1;;9696:29:31;9681:45;;;;9728:2;9677:54;;9272:465;-1:-1:-1;;;9272:465:31:o;9742:287::-;9871:3;9909:6;9903:13;9925:66;9984:6;9979:3;9972:4;9964:6;9960:17;9925:66;:::i;:::-;10007:16;;;;;9742:287;-1:-1:-1;;9742:287:31:o;10034:184::-;10104:6;10157:2;10145:9;10136:7;10132:23;10128:32;10125:52;;;10173:1;10170;10163:12;10125:52;-1:-1:-1;10196:16:31;;10034:184;-1:-1:-1;10034:184:31:o","linkReferences":{}},"methodIdentifiers":{"acceptances(address,bytes32)":"931f45f8","canAddressProceed(address)":"5053b563","canProceed()":"61b35163","getTextHash(uint16)":"c4846df0","hasAcceptedHash(address,bytes32)":"f8f584b8","hasAcceptedVersion(address,uint16)":"be0fc8a6","latestAcceptanceMessageHash()":"9a5f773e","latestTermsOfServiceVersion()":"b8ad591b","owner()":"8da5cb5b","renounceOwnership()":"715018a6","signTermsOfServiceBehalf(address,bytes32,bytes,bytes)":"5f145fb7","signTermsOfServiceOwn(bytes32,bytes,bytes)":"3f3dea15","transferOwnership(address)":"f2fde38b","updateTermsOfService(uint16,bytes32)":"5c162cdf","versions(uint16)":"5fc7e1b6"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.19+commit.7dd6d404\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint16\",\"name\":\"version\",\"type\":\"uint16\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"hash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"metadata\",\"type\":\"bytes\"}],\"name\":\"Signed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint16\",\"name\":\"version\",\"type\":\"uint16\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"acceptanceMessageHash\",\"type\":\"bytes32\"}],\"name\":\"UpdateTermsOfService\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"acceptanceMessageHash\",\"type\":\"bytes32\"}],\"name\":\"acceptances\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"accepted\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"canAddressProceed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"accepted\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"canProceed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"accepted\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint16\",\"name\":\"version\",\"type\":\"uint16\"}],\"name\":\"getTextHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"hash\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"acceptanceMessageHash\",\"type\":\"bytes32\"}],\"name\":\"hasAcceptedHash\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"accepted\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint16\",\"name\":\"version\",\"type\":\"uint16\"}],\"name\":\"hasAcceptedVersion\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"accepted\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"latestAcceptanceMessageHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"latestTermsOfServiceVersion\",\"outputs\":[{\"internalType\":\"uint16\",\"name\":\"\",\"type\":\"uint16\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"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\":\"signer\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"hash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"metadata\",\"type\":\"bytes\"}],\"name\":\"signTermsOfServiceBehalf\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"hash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"signature\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"metadata\",\"type\":\"bytes\"}],\"name\":\"signTermsOfServiceOwn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint16\",\"name\":\"version\",\"type\":\"uint16\"},{\"internalType\":\"bytes32\",\"name\":\"acceptanceMessageHash\",\"type\":\"bytes32\"}],\"name\":\"updateTermsOfService\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint16\",\"name\":\"version\",\"type\":\"uint16\"}],\"name\":\"versions\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"acceptanceMessageHash\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"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\":{\"canAddressProceed(address)\":{\"notice\":\"Can a user proceed to the next step, or they they need to sign the latest terms of service.\"},\"canProceed()\":{\"notice\":\"Can the current user proceed to the next step, or they they need to sign the latest terms of service.\"},\"signTermsOfServiceBehalf(address,bytes32,bytes,bytes)\":{\"notice\":\"Sign terms of service - Externally Owned Account sign - EIP-1271 sign - EIP-191 formatted message The user can sign multiple times. See - ECDSA tryRecover https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/utils/cryptography/ECDSA.sol - Gnosis Safe signing example: https://github.com/safe-global/safe-eth-py/blob/master/gnosis/safe/tests/test_safe_signature.py#L195 - OpenZeppelin SignatureChecker implementation: https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/utils/cryptography/SignatureChecker.sol\"}},\"notice\":\"Terms of service acceptance tracker Manage signatures of users of different versions of terms of service.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/TermsOfService.sol\":\"TermsOfService\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/=lib/openzeppelin-contracts/contracts/\",\":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/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/access/Ownable.sol\":{\"keccak256\":\"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32\",\"dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1271.sol\":{\"keccak256\":\"0x0705a4b1b86d7b0bd8432118f226ba139c44b9dcaba0a6eafba2dd7d0639c544\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c45b821ef9e882e57c256697a152e108f0f2ad6997609af8904cae99c9bd422e\",\"dweb:/ipfs/QmRKCJW6jjzR5UYZcLpGnhEJ75UVbH6EHkEa49sWx2SKng\"]},\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xa92e4fa126feb6907daa0513ddd816b2eb91f30a808de54f63c17d0e162c3439\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a367861093b74443b137564d3f3c472f70bcf114739e62059c939f25e315706c\",\"dweb:/ipfs/Qmd7JMpcxD9RuQjK3uM3EzJUgSqdN8vzp8eytEiuwxQJ6h\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f\",\"dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol\":{\"keccak256\":\"0x809bc3edb4bcbef8263fa616c1b60ee0004b50a8a1bfa164d8f57fd31f520c58\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b93a1e39a4a19eba1600b92c96f435442db88cac91e315c8291547a2a7bcfe2\",\"dweb:/ipfs/QmTm34KVe6uZBZwq8dZDNWwPcm24qBJdxqL3rPxBJ4LrMv\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/SignatureChecker.sol\":{\"keccak256\":\"0x3af3ca86df39aac39a0514c84459d691434a108d2151c8ce9d69f32e315cab80\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://77d1f1cf302cd5e1dfbbb4ce3b281b28e8c52942d4319fce43df2e1b6f02a52d\",\"dweb:/ipfs/QmT6ZXStmK3Knhh9BokeVHQ9HXTBZNgL3Eb1ar1cYg1hWy\"]},\"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\"]},\"src/TermsOfService.sol\":{\"keccak256\":\"0xecdb5384d2747e0dd33988390b9e5e555a24ccee302fb4c89f1cbb32b722627d\",\"license\":\"GPL-3.0\",\"urls\":[\"bzz-raw://8a4db943b7fc2b56112524083a66d5265775da55a68d74b2dbcb86cb36d3ef82\",\"dweb:/ipfs/QmaSpM56s4iY4Kik211sgaYMqeKzJc9nSDz37w9YBL3qQW\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.19+commit.7dd6d404"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"address","name":"signer","type":"address","indexed":false},{"internalType":"uint16","name":"version","type":"uint16","indexed":false},{"internalType":"bytes32","name":"hash","type":"bytes32","indexed":false},{"internalType":"bytes","name":"metadata","type":"bytes","indexed":false}],"type":"event","name":"Signed","anonymous":false},{"inputs":[{"internalType":"uint16","name":"version","type":"uint16","indexed":false},{"internalType":"bytes32","name":"acceptanceMessageHash","type":"bytes32","indexed":false}],"type":"event","name":"UpdateTermsOfService","anonymous":false},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"acceptanceMessageHash","type":"bytes32"}],"stateMutability":"view","type":"function","name":"acceptances","outputs":[{"internalType":"bool","name":"accepted","type":"bool"}]},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"stateMutability":"view","type":"function","name":"canAddressProceed","outputs":[{"internalType":"bool","name":"accepted","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"canProceed","outputs":[{"internalType":"bool","name":"accepted","type":"bool"}]},{"inputs":[{"internalType":"uint16","name":"version","type":"uint16"}],"stateMutability":"view","type":"function","name":"getTextHash","outputs":[{"internalType":"bytes32","name":"hash","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"acceptanceMessageHash","type":"bytes32"}],"stateMutability":"view","type":"function","name":"hasAcceptedHash","outputs":[{"internalType":"bool","name":"accepted","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint16","name":"version","type":"uint16"}],"stateMutability":"view","type":"function","name":"hasAcceptedVersion","outputs":[{"internalType":"bool","name":"accepted","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"latestAcceptanceMessageHash","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"latestTermsOfServiceVersion","outputs":[{"internalType":"uint16","name":"","type":"uint16"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"address","name":"signer","type":"address"},{"internalType":"bytes32","name":"hash","type":"bytes32"},{"internalType":"bytes","name":"signature","type":"bytes"},{"internalType":"bytes","name":"metadata","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"signTermsOfServiceBehalf"},{"inputs":[{"internalType":"bytes32","name":"hash","type":"bytes32"},{"internalType":"bytes","name":"signature","type":"bytes"},{"internalType":"bytes","name":"metadata","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"signTermsOfServiceOwn"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[{"internalType":"uint16","name":"version","type":"uint16"},{"internalType":"bytes32","name":"acceptanceMessageHash","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"updateTermsOfService"},{"inputs":[{"internalType":"uint16","name":"version","type":"uint16"}],"stateMutability":"view","type":"function","name":"versions","outputs":[{"internalType":"bytes32","name":"acceptanceMessageHash","type":"bytes32"}]}],"devdoc":{"kind":"dev","methods":{"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":{"canAddressProceed(address)":{"notice":"Can a user proceed to the next step, or they they need to sign the latest terms of service."},"canProceed()":{"notice":"Can the current user proceed to the next step, or they they need to sign the latest terms of service."},"signTermsOfServiceBehalf(address,bytes32,bytes,bytes)":{"notice":"Sign terms of service - Externally Owned Account sign - EIP-1271 sign - EIP-191 formatted message The user can sign multiple times. See - ECDSA tryRecover https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/utils/cryptography/ECDSA.sol - Gnosis Safe signing example: https://github.com/safe-global/safe-eth-py/blob/master/gnosis/safe/tests/test_safe_signature.py#L195 - OpenZeppelin SignatureChecker implementation: https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/utils/cryptography/SignatureChecker.sol"}},"version":1}},"settings":{"remappings":["@openzeppelin/=lib/openzeppelin-contracts/contracts/","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/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/TermsOfService.sol":"TermsOfService"},"evmVersion":"paris","libraries":{}},"sources":{"lib/openzeppelin-contracts/contracts/access/Ownable.sol":{"keccak256":"0xba43b97fba0d32eb4254f6a5a297b39a19a247082a02d6e69349e071e2946218","urls":["bzz-raw://fc980984badf3984b6303b377711220e067722bbd6a135b24669ff5069ef9f32","dweb:/ipfs/QmPHXMSXj99XjSVM21YsY6aNtLLjLVXDbyN76J5HQYvvrz"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1271.sol":{"keccak256":"0x0705a4b1b86d7b0bd8432118f226ba139c44b9dcaba0a6eafba2dd7d0639c544","urls":["bzz-raw://c45b821ef9e882e57c256697a152e108f0f2ad6997609af8904cae99c9bd422e","dweb:/ipfs/QmRKCJW6jjzR5UYZcLpGnhEJ75UVbH6EHkEa49sWx2SKng"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"keccak256":"0xa92e4fa126feb6907daa0513ddd816b2eb91f30a808de54f63c17d0e162c3439","urls":["bzz-raw://a367861093b74443b137564d3f3c472f70bcf114739e62059c939f25e315706c","dweb:/ipfs/Qmd7JMpcxD9RuQjK3uM3EzJUgSqdN8vzp8eytEiuwxQJ6h"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x3088eb2868e8d13d89d16670b5f8612c4ab9ff8956272837d8e90106c59c14a0","urls":["bzz-raw://b81d9ff6559ea5c47fc573e17ece6d9ba5d6839e213e6ebc3b4c5c8fe4199d7f","dweb:/ipfs/QmPCW1bFisUzJkyjroY3yipwfism9RRCigCcK1hbXtVM8n"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol":{"keccak256":"0x809bc3edb4bcbef8263fa616c1b60ee0004b50a8a1bfa164d8f57fd31f520c58","urls":["bzz-raw://8b93a1e39a4a19eba1600b92c96f435442db88cac91e315c8291547a2a7bcfe2","dweb:/ipfs/QmTm34KVe6uZBZwq8dZDNWwPcm24qBJdxqL3rPxBJ4LrMv"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/cryptography/SignatureChecker.sol":{"keccak256":"0x3af3ca86df39aac39a0514c84459d691434a108d2151c8ce9d69f32e315cab80","urls":["bzz-raw://77d1f1cf302cd5e1dfbbb4ce3b281b28e8c52942d4319fce43df2e1b6f02a52d","dweb:/ipfs/QmT6ZXStmK3Knhh9BokeVHQ9HXTBZNgL3Eb1ar1cYg1hWy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xe4455ac1eb7fc497bb7402579e7b4d64d928b846fce7d2b6fde06d366f21c2b3","urls":["bzz-raw://cc8841b3cd48ad125e2f46323c8bad3aa0e88e399ec62acb9e57efa7e7c8058c","dweb:/ipfs/QmSqE4mXHA2BXW58deDbXE8MTcsL5JSKNDbm23sVQxRLPS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xf92515413956f529d95977adc9b0567d583c6203fc31ab1c23824c35187e3ddc","urls":["bzz-raw://c50fcc459e49a9858b6d8ad5f911295cb7c9ab57567845a250bf0153f84a95c7","dweb:/ipfs/QmcEW85JRzvDkQggxiBBLVAasXWdkhEysqypj9EaB6H2g6"],"license":"MIT"},"src/TermsOfService.sol":{"keccak256":"0xecdb5384d2747e0dd33988390b9e5e555a24ccee302fb4c89f1cbb32b722627d","urls":["bzz-raw://8a4db943b7fc2b56112524083a66d5265775da55a68d74b2dbcb86cb36d3ef82","dweb:/ipfs/QmaSpM56s4iY4Kik211sgaYMqeKzJc9nSDz37w9YBL3qQW"],"license":"GPL-3.0"}},"version":1},"ast":{"absolutePath":"src/TermsOfService.sol","id":46707,"exportedSymbols":{"Context":[44737],"ECDSA":[45332],"IERC1271":[44707],"ITermsOfService":[46448],"Math":[46297],"Ownable":[44693],"SignatureChecker":[45431],"SignedMath":[46402],"Strings":[44966],"TermsOfService":[46706]},"nodeType":"SourceUnit","src":"37:4873:29","nodes":[{"id":46426,"nodeType":"PragmaDirective","src":"37:23:29","nodes":[],"literals":["solidity","^","0.8",".0"]},{"id":46427,"nodeType":"ImportDirective","src":"62:42:29","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/access/Ownable.sol","file":"@openzeppelin/access/Ownable.sol","nameLocation":"-1:-1:-1","scope":46707,"sourceUnit":44694,"symbolAliases":[],"unitAlias":""},{"id":46428,"nodeType":"ImportDirective","src":"202:63:29","nodes":[],"absolutePath":"lib/openzeppelin-contracts/contracts/utils/cryptography/SignatureChecker.sol","file":"@openzeppelin/utils/cryptography/SignatureChecker.sol","nameLocation":"-1:-1:-1","scope":46707,"sourceUnit":45432,"symbolAliases":[],"unitAlias":""},{"id":46448,"nodeType":"ContractDefinition","src":"301:239:29","nodes":[{"id":46436,"nodeType":"FunctionDefinition","src":"333:76:29","nodes":[],"functionSelector":"5053b563","implemented":false,"kind":"function","modifiers":[],"name":"canAddressProceed","nameLocation":"342:17:29","parameters":{"id":46432,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46431,"mutability":"mutable","name":"sender","nameLocation":"368:6:29","nodeType":"VariableDeclaration","scope":46436,"src":"360:14:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":46430,"name":"address","nodeType":"ElementaryTypeName","src":"360:7:29","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"359:16:29"},"returnParameters":{"id":46435,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46434,"mutability":"mutable","name":"accepted","nameLocation":"399:8:29","nodeType":"VariableDeclaration","scope":46436,"src":"394:13:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":46433,"name":"bool","nodeType":"ElementaryTypeName","src":"394:4:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"393:15:29"},"scope":46448,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":46447,"nodeType":"FunctionDefinition","src":"414:124:29","nodes":[],"functionSelector":"5f145fb7","implemented":false,"kind":"function","modifiers":[],"name":"signTermsOfServiceBehalf","nameLocation":"423:24:29","parameters":{"id":46445,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46438,"mutability":"mutable","name":"signer","nameLocation":"456:6:29","nodeType":"VariableDeclaration","scope":46447,"src":"448:14:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":46437,"name":"address","nodeType":"ElementaryTypeName","src":"448:7:29","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":46440,"mutability":"mutable","name":"hash","nameLocation":"472:4:29","nodeType":"VariableDeclaration","scope":46447,"src":"464:12:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":46439,"name":"bytes32","nodeType":"ElementaryTypeName","src":"464:7:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":46442,"mutability":"mutable","name":"signature","nameLocation":"493:9:29","nodeType":"VariableDeclaration","scope":46447,"src":"478:24:29","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":46441,"name":"bytes","nodeType":"ElementaryTypeName","src":"478:5:29","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":46444,"mutability":"mutable","name":"metadata","nameLocation":"519:8:29","nodeType":"VariableDeclaration","scope":46447,"src":"504:23:29","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":46443,"name":"bytes","nodeType":"ElementaryTypeName","src":"504:5:29","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"447:81:29"},"returnParameters":{"id":46446,"nodeType":"ParameterList","parameters":[],"src":"537:0:29"},"scope":46448,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"ITermsOfService","contractDependencies":[],"contractKind":"interface","documentation":{"id":46429,"nodeType":"StructuredDocumentation","src":"268:32:29","text":" Minimal MVP interface"},"fullyImplemented":false,"linearizedBaseContracts":[46448],"name":"ITermsOfService","nameLocation":"311:15:29","scope":46707,"usedErrors":[]},{"id":46706,"nodeType":"ContractDefinition","src":"665:4244:29","nodes":[{"id":46456,"nodeType":"UsingForDirective","src":"724:35:29","nodes":[],"global":false,"libraryName":{"id":46454,"name":"SignatureChecker","nameLocations":["730:16:29"],"nodeType":"IdentifierPath","referencedDeclaration":45431,"src":"730:16:29"},"typeName":{"id":46455,"name":"address","nodeType":"ElementaryTypeName","src":"751:7:29","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}},{"id":46462,"nodeType":"VariableDeclaration","src":"1026:102:29","nodes":[],"constant":false,"functionSelector":"931f45f8","mutability":"mutable","name":"acceptances","nameLocation":"1117:11:29","scope":46706,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_bytes32_$_t_bool_$_$","typeString":"mapping(address => mapping(bytes32 => bool))"},"typeName":{"id":46461,"keyName":"account","keyNameLocation":"1042:7:29","keyType":{"id":46457,"name":"address","nodeType":"ElementaryTypeName","src":"1034:7:29","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1026:83:29","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_bytes32_$_t_bool_$_$","typeString":"mapping(address => mapping(bytes32 => bool))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":46460,"keyName":"acceptanceMessageHash","keyNameLocation":"1069:21:29","keyType":{"id":46458,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1061:7:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Mapping","src":"1053:55:29","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_bool_$","typeString":"mapping(bytes32 => bool)"},"valueName":"accepted","valueNameLocation":"1099:8:29","valueType":{"id":46459,"name":"bool","nodeType":"ElementaryTypeName","src":"1094:4:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}}},"visibility":"public"},{"id":46466,"nodeType":"VariableDeclaration","src":"1184:72:29","nodes":[],"constant":false,"functionSelector":"5fc7e1b6","mutability":"mutable","name":"versions","nameLocation":"1248:8:29","scope":46706,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint16_$_t_bytes32_$","typeString":"mapping(uint16 => bytes32)"},"typeName":{"id":46465,"keyName":"version","keyNameLocation":"1199:7:29","keyType":{"id":46463,"name":"uint16","nodeType":"ElementaryTypeName","src":"1192:6:29","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"nodeType":"Mapping","src":"1184:56:29","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint16_$_t_bytes32_$","typeString":"mapping(uint16 => bytes32)"},"valueName":"acceptanceMessageHash","valueNameLocation":"1218:21:29","valueType":{"id":46464,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1210:7:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}},"visibility":"public"},{"id":46468,"nodeType":"VariableDeclaration","src":"1263:42:29","nodes":[],"constant":false,"functionSelector":"9a5f773e","mutability":"mutable","name":"latestAcceptanceMessageHash","nameLocation":"1278:27:29","scope":46706,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":46467,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1263:7:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"public"},{"id":46470,"nodeType":"VariableDeclaration","src":"1430:41:29","nodes":[],"constant":false,"functionSelector":"b8ad591b","mutability":"mutable","name":"latestTermsOfServiceVersion","nameLocation":"1444:27:29","scope":46706,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":46469,"name":"uint16","nodeType":"ElementaryTypeName","src":"1430:6:29","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"visibility":"public"},{"id":46476,"nodeType":"EventDefinition","src":"1520:74:29","nodes":[],"anonymous":false,"eventSelector":"85b7d26208605d06e97fbd501843a4150a6efa1d95745c8401f38d56156f82e2","name":"UpdateTermsOfService","nameLocation":"1526:20:29","parameters":{"id":46475,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46472,"indexed":false,"mutability":"mutable","name":"version","nameLocation":"1554:7:29","nodeType":"VariableDeclaration","scope":46476,"src":"1547:14:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":46471,"name":"uint16","nodeType":"ElementaryTypeName","src":"1547:6:29","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"visibility":"internal"},{"constant":false,"id":46474,"indexed":false,"mutability":"mutable","name":"acceptanceMessageHash","nameLocation":"1571:21:29","nodeType":"VariableDeclaration","scope":46476,"src":"1563:29:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":46473,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1563:7:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1546:47:29"}},{"id":46486,"nodeType":"EventDefinition","src":"1600:75:29","nodes":[],"anonymous":false,"eventSelector":"32c70fa5bb7bfd2dd4d863783422e6009fbcd3127a0e36bb0627e67ae136f9a7","name":"Signed","nameLocation":"1606:6:29","parameters":{"id":46485,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46478,"indexed":false,"mutability":"mutable","name":"signer","nameLocation":"1621:6:29","nodeType":"VariableDeclaration","scope":46486,"src":"1613:14:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":46477,"name":"address","nodeType":"ElementaryTypeName","src":"1613:7:29","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":46480,"indexed":false,"mutability":"mutable","name":"version","nameLocation":"1636:7:29","nodeType":"VariableDeclaration","scope":46486,"src":"1629:14:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":46479,"name":"uint16","nodeType":"ElementaryTypeName","src":"1629:6:29","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"visibility":"internal"},{"constant":false,"id":46482,"indexed":false,"mutability":"mutable","name":"hash","nameLocation":"1653:4:29","nodeType":"VariableDeclaration","scope":46486,"src":"1645:12:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":46481,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1645:7:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":46484,"indexed":false,"mutability":"mutable","name":"metadata","nameLocation":"1665:8:29","nodeType":"VariableDeclaration","scope":46486,"src":"1659:14:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":46483,"name":"bytes","nodeType":"ElementaryTypeName","src":"1659:5:29","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1612:62:29"}},{"id":46492,"nodeType":"FunctionDefinition","src":"1681:31:29","nodes":[],"body":{"id":46491,"nodeType":"Block","src":"1705:7:29","nodes":[],"statements":[]},"implemented":true,"kind":"constructor","modifiers":[{"arguments":[],"id":46489,"kind":"baseConstructorSpecifier","modifierName":{"id":46488,"name":"Ownable","nameLocations":["1695:7:29"],"nodeType":"IdentifierPath","referencedDeclaration":44693,"src":"1695:7:29"},"nodeType":"ModifierInvocation","src":"1695:9:29"}],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":46487,"nodeType":"ParameterList","parameters":[],"src":"1692:2:29"},"returnParameters":{"id":46490,"nodeType":"ParameterList","parameters":[],"src":"1705:0:29"},"scope":46706,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":46508,"nodeType":"FunctionDefinition","src":"1718:176:29","nodes":[],"body":{"id":46507,"nodeType":"Block","src":"1827:67:29","nodes":[],"statements":[{"expression":{"baseExpression":{"baseExpression":{"id":46501,"name":"acceptances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46462,"src":"1844:11:29","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_bytes32_$_t_bool_$_$","typeString":"mapping(address => mapping(bytes32 => bool))"}},"id":46503,"indexExpression":{"id":46502,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46494,"src":"1856:7:29","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1844:20:29","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_bool_$","typeString":"mapping(bytes32 => bool)"}},"id":46505,"indexExpression":{"id":46504,"name":"acceptanceMessageHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46496,"src":"1865:21:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1844:43:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":46500,"id":46506,"nodeType":"Return","src":"1837:50:29"}]},"functionSelector":"f8f584b8","implemented":true,"kind":"function","modifiers":[],"name":"hasAcceptedHash","nameLocation":"1727:15:29","parameters":{"id":46497,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46494,"mutability":"mutable","name":"account","nameLocation":"1751:7:29","nodeType":"VariableDeclaration","scope":46508,"src":"1743:15:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":46493,"name":"address","nodeType":"ElementaryTypeName","src":"1743:7:29","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":46496,"mutability":"mutable","name":"acceptanceMessageHash","nameLocation":"1768:21:29","nodeType":"VariableDeclaration","scope":46508,"src":"1760:29:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":46495,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1760:7:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1742:48:29"},"returnParameters":{"id":46500,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46499,"mutability":"mutable","name":"accepted","nameLocation":"1817:8:29","nodeType":"VariableDeclaration","scope":46508,"src":"1812:13:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":46498,"name":"bool","nodeType":"ElementaryTypeName","src":"1812:4:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1811:15:29"},"scope":46706,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":46520,"nodeType":"FunctionDefinition","src":"1900:113:29","nodes":[],"body":{"id":46519,"nodeType":"Block","src":"1972:41:29","nodes":[],"statements":[{"expression":{"baseExpression":{"id":46515,"name":"versions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46466,"src":"1989:8:29","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint16_$_t_bytes32_$","typeString":"mapping(uint16 => bytes32)"}},"id":46517,"indexExpression":{"id":46516,"name":"version","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46510,"src":"1998:7:29","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1989:17:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":46514,"id":46518,"nodeType":"Return","src":"1982:24:29"}]},"functionSelector":"c4846df0","implemented":true,"kind":"function","modifiers":[],"name":"getTextHash","nameLocation":"1909:11:29","parameters":{"id":46511,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46510,"mutability":"mutable","name":"version","nameLocation":"1928:7:29","nodeType":"VariableDeclaration","scope":46520,"src":"1921:14:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":46509,"name":"uint16","nodeType":"ElementaryTypeName","src":"1921:6:29","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"visibility":"internal"}],"src":"1920:16:29"},"returnParameters":{"id":46514,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46513,"mutability":"mutable","name":"hash","nameLocation":"1966:4:29","nodeType":"VariableDeclaration","scope":46520,"src":"1958:12:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":46512,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1958:7:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1957:14:29"},"scope":46706,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":46551,"nodeType":"FunctionDefinition","src":"2019:249:29","nodes":[],"body":{"id":46550,"nodeType":"Block","src":"2116:152:29","nodes":[],"statements":[{"assignments":[46530],"declarations":[{"constant":false,"id":46530,"mutability":"mutable","name":"hash","nameLocation":"2134:4:29","nodeType":"VariableDeclaration","scope":46550,"src":"2126:12:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":46529,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2126:7:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":46534,"initialValue":{"baseExpression":{"id":46531,"name":"versions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46466,"src":"2141:8:29","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint16_$_t_bytes32_$","typeString":"mapping(uint16 => bytes32)"}},"id":46533,"indexExpression":{"id":46532,"name":"version","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46524,"src":"2150:7:29","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2141:17:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"2126:32:29"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":46541,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46536,"name":"hash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46530,"src":"2176:4:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":46539,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2192:1:29","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":46538,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2184:7:29","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":46537,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2184:7:29","typeDescriptions":{}}},"id":46540,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2184:10:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"2176:18:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"4e6f20737563682076657273696f6e","id":46542,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2196:17:29","typeDescriptions":{"typeIdentifier":"t_stringliteral_5cbac6ec2b4a5b792f4ef6dc32ffa8fa725bada96b8524c4a39d251097192ca2","typeString":"literal_string \"No such version\""},"value":"No such version"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_5cbac6ec2b4a5b792f4ef6dc32ffa8fa725bada96b8524c4a39d251097192ca2","typeString":"literal_string \"No such version\""}],"id":46535,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2168:7:29","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":46543,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2168:46:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":46544,"nodeType":"ExpressionStatement","src":"2168:46:29"},{"expression":{"arguments":[{"id":46546,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46522,"src":"2247:7:29","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":46547,"name":"hash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46530,"src":"2256:4:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":46545,"name":"hasAcceptedHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46508,"src":"2231:15:29","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_bytes32_$returns$_t_bool_$","typeString":"function (address,bytes32) view returns (bool)"}},"id":46548,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2231:30:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":46528,"id":46549,"nodeType":"Return","src":"2224:37:29"}]},"functionSelector":"be0fc8a6","implemented":true,"kind":"function","modifiers":[],"name":"hasAcceptedVersion","nameLocation":"2028:18:29","parameters":{"id":46525,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46522,"mutability":"mutable","name":"account","nameLocation":"2055:7:29","nodeType":"VariableDeclaration","scope":46551,"src":"2047:15:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":46521,"name":"address","nodeType":"ElementaryTypeName","src":"2047:7:29","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":46524,"mutability":"mutable","name":"version","nameLocation":"2071:7:29","nodeType":"VariableDeclaration","scope":46551,"src":"2064:14:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":46523,"name":"uint16","nodeType":"ElementaryTypeName","src":"2064:6:29","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"visibility":"internal"}],"src":"2046:33:29"},"returnParameters":{"id":46528,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46527,"mutability":"mutable","name":"accepted","nameLocation":"2106:8:29","nodeType":"VariableDeclaration","scope":46551,"src":"2101:13:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":46526,"name":"bool","nodeType":"ElementaryTypeName","src":"2101:4:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2100:15:29"},"scope":46706,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":46596,"nodeType":"FunctionDefinition","src":"2274:544:29","nodes":[],"body":{"id":46595,"nodeType":"Block","src":"2368:450:29","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint16","typeString":"uint16"},"id":46565,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46561,"name":"version","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46553,"src":"2386:7:29","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"commonType":{"typeIdentifier":"t_uint16","typeString":"uint16"},"id":46564,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46562,"name":"latestTermsOfServiceVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46470,"src":"2397:27:29","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"31","id":46563,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2427:1:29","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"2397:31:29","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"src":"2386:42:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"56657273696f6e73206d757374206265207570646174656420696e6372656d656e74616c6c79","id":46566,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2430:40:29","typeDescriptions":{"typeIdentifier":"t_stringliteral_0ff682432117338282252fba0b62cc61c31a83ae01943f5150417c66b5e37af9","typeString":"literal_string \"Versions must be updated incrementally\""},"value":"Versions must be updated incrementally"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_0ff682432117338282252fba0b62cc61c31a83ae01943f5150417c66b5e37af9","typeString":"literal_string \"Versions must be updated incrementally\""}],"id":46560,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2378:7:29","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":46567,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2378:93:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":46568,"nodeType":"ExpressionStatement","src":"2378:93:29"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":46572,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46570,"name":"acceptanceMessageHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46555,"src":"2489:21:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"id":46571,"name":"latestAcceptanceMessageHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46468,"src":"2514:27:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"2489:52:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"53657474696e67207468652073616d65207465726d73206f662073657276696365207477696365","id":46573,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2543:41:29","typeDescriptions":{"typeIdentifier":"t_stringliteral_85e8098ec933e4fd7904d398606a2b0eaffb02b637869c5e7fda30db015ee92e","typeString":"literal_string \"Setting the same terms of service twice\""},"value":"Setting the same terms of service twice"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_85e8098ec933e4fd7904d398606a2b0eaffb02b637869c5e7fda30db015ee92e","typeString":"literal_string \"Setting the same terms of service twice\""}],"id":46569,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"2481:7:29","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":46574,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2481:104:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":46575,"nodeType":"ExpressionStatement","src":"2481:104:29"},{"expression":{"id":46578,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":46576,"name":"latestAcceptanceMessageHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46468,"src":"2595:27:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":46577,"name":"acceptanceMessageHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46555,"src":"2625:21:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"2595:51:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":46579,"nodeType":"ExpressionStatement","src":"2595:51:29"},{"expression":{"id":46582,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":46580,"name":"latestTermsOfServiceVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46470,"src":"2656:27:29","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":46581,"name":"version","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46553,"src":"2686:7:29","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"src":"2656:37:29","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"id":46583,"nodeType":"ExpressionStatement","src":"2656:37:29"},{"expression":{"id":46588,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":46584,"name":"versions","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46466,"src":"2703:8:29","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint16_$_t_bytes32_$","typeString":"mapping(uint16 => bytes32)"}},"id":46586,"indexExpression":{"id":46585,"name":"version","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46553,"src":"2712:7:29","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2703:17:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":46587,"name":"acceptanceMessageHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46555,"src":"2723:21:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"2703:41:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":46589,"nodeType":"ExpressionStatement","src":"2703:41:29"},{"eventCall":{"arguments":[{"id":46591,"name":"version","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46553,"src":"2780:7:29","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},{"id":46592,"name":"acceptanceMessageHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46555,"src":"2789:21:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint16","typeString":"uint16"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":46590,"name":"UpdateTermsOfService","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46476,"src":"2759:20:29","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint16_$_t_bytes32_$returns$__$","typeString":"function (uint16,bytes32)"}},"id":46593,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2759:52:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":46594,"nodeType":"EmitStatement","src":"2754:57:29"}]},"functionSelector":"5c162cdf","implemented":true,"kind":"function","modifiers":[{"id":46558,"kind":"modifierInvocation","modifierName":{"id":46557,"name":"onlyOwner","nameLocations":["2358:9:29"],"nodeType":"IdentifierPath","referencedDeclaration":44612,"src":"2358:9:29"},"nodeType":"ModifierInvocation","src":"2358:9:29"}],"name":"updateTermsOfService","nameLocation":"2283:20:29","parameters":{"id":46556,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46553,"mutability":"mutable","name":"version","nameLocation":"2311:7:29","nodeType":"VariableDeclaration","scope":46596,"src":"2304:14:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"},"typeName":{"id":46552,"name":"uint16","nodeType":"ElementaryTypeName","src":"2304:6:29","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},"visibility":"internal"},{"constant":false,"id":46555,"mutability":"mutable","name":"acceptanceMessageHash","nameLocation":"2328:21:29","nodeType":"VariableDeclaration","scope":46596,"src":"2320:29:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":46554,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2320:7:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2303:47:29"},"returnParameters":{"id":46559,"nodeType":"ParameterList","parameters":[],"src":"2368:0:29"},"scope":46706,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":46608,"nodeType":"FunctionDefinition","src":"2956:111:29","nodes":[],"body":{"id":46607,"nodeType":"Block","src":"3014:53:29","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"id":46603,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"3049:3:29","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":46604,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3053:6:29","memberName":"sender","nodeType":"MemberAccess","src":"3049:10:29","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":46602,"name":"canAddressProceed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46632,"src":"3031:17:29","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":46605,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3031:29:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":46601,"id":46606,"nodeType":"Return","src":"3024:36:29"}]},"documentation":{"id":46597,"nodeType":"StructuredDocumentation","src":"2824:127:29","text":" Can the current user proceed to the next step, or they they need to sign\n the latest terms of service."},"functionSelector":"61b35163","implemented":true,"kind":"function","modifiers":[],"name":"canProceed","nameLocation":"2965:10:29","parameters":{"id":46598,"nodeType":"ParameterList","parameters":[],"src":"2975:2:29"},"returnParameters":{"id":46601,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46600,"mutability":"mutable","name":"accepted","nameLocation":"3004:8:29","nodeType":"VariableDeclaration","scope":46608,"src":"2999:13:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":46599,"name":"bool","nodeType":"ElementaryTypeName","src":"2999:4:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2998:15:29"},"scope":46706,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":46632,"nodeType":"FunctionDefinition","src":"3195:251:29","nodes":[],"body":{"id":46631,"nodeType":"Block","src":"3274:172:29","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":46622,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46617,"name":"latestAcceptanceMessageHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46468,"src":"3292:27:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":46620,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3331:1:29","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":46619,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3323:7:29","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":{"id":46618,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3323:7:29","typeDescriptions":{}}},"id":46621,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3323:10:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"3292:41:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5465726d73206f662073657276696365206e6f7420696e697469616c69736564","id":46623,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3335:34:29","typeDescriptions":{"typeIdentifier":"t_stringliteral_b9a8ad693dfd4d3284f38815b40d2e172d0d45be8d620d0750cd503f08a8a5e3","typeString":"literal_string \"Terms of service not initialised\""},"value":"Terms of service not initialised"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_b9a8ad693dfd4d3284f38815b40d2e172d0d45be8d620d0750cd503f08a8a5e3","typeString":"literal_string \"Terms of service not initialised\""}],"id":46616,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"3284:7:29","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":46624,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3284:86:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":46625,"nodeType":"ExpressionStatement","src":"3284:86:29"},{"expression":{"arguments":[{"id":46627,"name":"sender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46611,"src":"3403:6:29","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":46628,"name":"latestAcceptanceMessageHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46468,"src":"3411:27:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":46626,"name":"hasAcceptedHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46508,"src":"3387:15:29","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_bytes32_$returns$_t_bool_$","typeString":"function (address,bytes32) view returns (bool)"}},"id":46629,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3387:52:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":46615,"id":46630,"nodeType":"Return","src":"3380:59:29"}]},"baseFunctions":[46436],"documentation":{"id":46609,"nodeType":"StructuredDocumentation","src":"3073:117:29","text":" Can a user proceed to the next step, or they they need to sign\n the latest terms of service."},"functionSelector":"5053b563","implemented":true,"kind":"function","modifiers":[],"name":"canAddressProceed","nameLocation":"3204:17:29","parameters":{"id":46612,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46611,"mutability":"mutable","name":"sender","nameLocation":"3230:6:29","nodeType":"VariableDeclaration","scope":46632,"src":"3222:14:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":46610,"name":"address","nodeType":"ElementaryTypeName","src":"3222:7:29","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3221:16:29"},"returnParameters":{"id":46615,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46614,"mutability":"mutable","name":"accepted","nameLocation":"3264:8:29","nodeType":"VariableDeclaration","scope":46632,"src":"3259:13:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":46613,"name":"bool","nodeType":"ElementaryTypeName","src":"3259:4:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3258:15:29"},"scope":46706,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":46687,"nodeType":"FunctionDefinition","src":"4131:586:29","nodes":[],"body":{"id":46686,"nodeType":"Block","src":"4253:464:29","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":46647,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":46645,"name":"hash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46637,"src":"4271:4:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"id":46646,"name":"latestAcceptanceMessageHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46468,"src":"4279:27:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"4271:35:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"43616e6e6f74207369676e206f6c646572206f7220756e6b6e6f776e2076657273696f6e73207465726d73206f66207365727669636573","id":46648,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4308:57:29","typeDescriptions":{"typeIdentifier":"t_stringliteral_a041ce8d408344aed3d0fdc91690c3ac0035dca660cdd8491c342248a932f2a4","typeString":"literal_string \"Cannot sign older or unknown versions terms of services\""},"value":"Cannot sign older or unknown versions terms of services"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_a041ce8d408344aed3d0fdc91690c3ac0035dca660cdd8491c342248a932f2a4","typeString":"literal_string \"Cannot sign older or unknown versions terms of services\""}],"id":46644,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"4263:7:29","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":46649,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4263:103:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":46650,"nodeType":"ExpressionStatement","src":"4263:103:29"},{"expression":{"arguments":[{"arguments":[{"id":46654,"name":"hash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46637,"src":"4411:4:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":46655,"name":"signature","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46639,"src":"4417:9:29","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"expression":{"id":46652,"name":"signer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46635,"src":"4384:6:29","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":46653,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4391:19:29","memberName":"isValidSignatureNow","nodeType":"MemberAccess","referencedDeclaration":45378,"src":"4384:26:29","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_bytes32_$_t_bytes_memory_ptr_$returns$_t_bool_$attached_to$_t_address_$","typeString":"function (address,bytes32,bytes memory) view returns (bool)"}},"id":46656,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4384:43:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5369676e6174757265206973206e6f742076616c6964","id":46657,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4429:24:29","typeDescriptions":{"typeIdentifier":"t_stringliteral_5482edd09fd5040631ef4b51e73f53323e29bc91c9d64b969ac54702b05cf16b","typeString":"literal_string \"Signature is not valid\""},"value":"Signature is not valid"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_5482edd09fd5040631ef4b51e73f53323e29bc91c9d64b969ac54702b05cf16b","typeString":"literal_string \"Signature is not valid\""}],"id":46651,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"4376:7:29","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":46658,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4376:78:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":46659,"nodeType":"ExpressionStatement","src":"4376:78:29"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":46667,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"baseExpression":{"baseExpression":{"id":46661,"name":"acceptances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46462,"src":"4472:11:29","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_bytes32_$_t_bool_$_$","typeString":"mapping(address => mapping(bytes32 => bool))"}},"id":46663,"indexExpression":{"id":46662,"name":"signer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46635,"src":"4484:6:29","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4472:19:29","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_bool_$","typeString":"mapping(bytes32 => bool)"}},"id":46665,"indexExpression":{"id":46664,"name":"latestAcceptanceMessageHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46468,"src":"4492:27:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4472:48:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"66616c7365","id":46666,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4524:5:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"4472:57:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"416c7265616479207369676e6564","id":46668,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4531:16:29","typeDescriptions":{"typeIdentifier":"t_stringliteral_988ed7cc4955768d49d35b181a2bc2b0514174494b33f90da8e2fba3c967c228","typeString":"literal_string \"Already signed\""},"value":"Already signed"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_988ed7cc4955768d49d35b181a2bc2b0514174494b33f90da8e2fba3c967c228","typeString":"literal_string \"Already signed\""}],"id":46660,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"4464:7:29","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":46669,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4464:84:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":46670,"nodeType":"ExpressionStatement","src":"4464:84:29"},{"expression":{"id":46677,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":46671,"name":"acceptances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46462,"src":"4558:11:29","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_bytes32_$_t_bool_$_$","typeString":"mapping(address => mapping(bytes32 => bool))"}},"id":46674,"indexExpression":{"id":46672,"name":"signer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46635,"src":"4570:6:29","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4558:19:29","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_bool_$","typeString":"mapping(bytes32 => bool)"}},"id":46675,"indexExpression":{"id":46673,"name":"latestAcceptanceMessageHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46468,"src":"4578:27:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"4558:48:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"74727565","id":46676,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4609:4:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"4558:55:29","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":46678,"nodeType":"ExpressionStatement","src":"4558:55:29"},{"eventCall":{"arguments":[{"id":46680,"name":"signer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46635,"src":"4635:6:29","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":46681,"name":"latestTermsOfServiceVersion","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46470,"src":"4643:27:29","typeDescriptions":{"typeIdentifier":"t_uint16","typeString":"uint16"}},{"id":46682,"name":"latestAcceptanceMessageHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46468,"src":"4672:27:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":46683,"name":"metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46641,"src":"4701:8:29","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint16","typeString":"uint16"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"id":46679,"name":"Signed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46486,"src":"4628:6:29","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint16_$_t_bytes32_$_t_bytes_memory_ptr_$returns$__$","typeString":"function (address,uint16,bytes32,bytes memory)"}},"id":46684,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4628:82:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":46685,"nodeType":"EmitStatement","src":"4623:87:29"}]},"baseFunctions":[46447],"documentation":{"id":46633,"nodeType":"StructuredDocumentation","src":"3452:674:29","text":" Sign terms of service\n - Externally Owned Account sign\n - EIP-1271 sign\n - EIP-191 formatted message\n The user can sign multiple times.\n See\n - ECDSA tryRecover https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/utils/cryptography/ECDSA.sol\n - Gnosis Safe signing example: https://github.com/safe-global/safe-eth-py/blob/master/gnosis/safe/tests/test_safe_signature.py#L195\n - OpenZeppelin SignatureChecker implementation: https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/utils/cryptography/SignatureChecker.sol"},"functionSelector":"5f145fb7","implemented":true,"kind":"function","modifiers":[],"name":"signTermsOfServiceBehalf","nameLocation":"4140:24:29","parameters":{"id":46642,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46635,"mutability":"mutable","name":"signer","nameLocation":"4173:6:29","nodeType":"VariableDeclaration","scope":46687,"src":"4165:14:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":46634,"name":"address","nodeType":"ElementaryTypeName","src":"4165:7:29","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":46637,"mutability":"mutable","name":"hash","nameLocation":"4189:4:29","nodeType":"VariableDeclaration","scope":46687,"src":"4181:12:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":46636,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4181:7:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":46639,"mutability":"mutable","name":"signature","nameLocation":"4210:9:29","nodeType":"VariableDeclaration","scope":46687,"src":"4195:24:29","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":46638,"name":"bytes","nodeType":"ElementaryTypeName","src":"4195:5:29","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":46641,"mutability":"mutable","name":"metadata","nameLocation":"4236:8:29","nodeType":"VariableDeclaration","scope":46687,"src":"4221:23:29","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":46640,"name":"bytes","nodeType":"ElementaryTypeName","src":"4221:5:29","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"4164:81:29"},"returnParameters":{"id":46643,"nodeType":"ParameterList","parameters":[],"src":"4253:0:29"},"scope":46706,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":46705,"nodeType":"FunctionDefinition","src":"4723:183:29","nodes":[],"body":{"id":46704,"nodeType":"Block","src":"4826:80:29","nodes":[],"statements":[{"expression":{"arguments":[{"expression":{"id":46697,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"4861:3:29","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":46698,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4865:6:29","memberName":"sender","nodeType":"MemberAccess","src":"4861:10:29","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":46699,"name":"hash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46689,"src":"4873:4:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":46700,"name":"signature","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46691,"src":"4879:9:29","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},{"id":46701,"name":"metadata","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46693,"src":"4890:8:29","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"},{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"id":46696,"name":"signTermsOfServiceBehalf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":46687,"src":"4836:24:29","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_bytes32_$_t_bytes_calldata_ptr_$_t_bytes_calldata_ptr_$returns$__$","typeString":"function (address,bytes32,bytes calldata,bytes calldata)"}},"id":46702,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4836:63:29","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":46703,"nodeType":"ExpressionStatement","src":"4836:63:29"}]},"functionSelector":"3f3dea15","implemented":true,"kind":"function","modifiers":[],"name":"signTermsOfServiceOwn","nameLocation":"4732:21:29","parameters":{"id":46694,"nodeType":"ParameterList","parameters":[{"constant":false,"id":46689,"mutability":"mutable","name":"hash","nameLocation":"4762:4:29","nodeType":"VariableDeclaration","scope":46705,"src":"4754:12:29","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":46688,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4754:7:29","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":46691,"mutability":"mutable","name":"signature","nameLocation":"4783:9:29","nodeType":"VariableDeclaration","scope":46705,"src":"4768:24:29","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":46690,"name":"bytes","nodeType":"ElementaryTypeName","src":"4768:5:29","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":46693,"mutability":"mutable","name":"metadata","nameLocation":"4809:8:29","nodeType":"VariableDeclaration","scope":46705,"src":"4794:23:29","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":46692,"name":"bytes","nodeType":"ElementaryTypeName","src":"4794:5:29","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"4753:65:29"},"returnParameters":{"id":46695,"nodeType":"ParameterList","parameters":[],"src":"4826:0:29"},"scope":46706,"stateMutability":"nonpayable","virtual":false,"visibility":"public"}],"abstract":false,"baseContracts":[{"baseName":{"id":46450,"name":"Ownable","nameLocations":["692:7:29"],"nodeType":"IdentifierPath","referencedDeclaration":44693,"src":"692:7:29"},"id":46451,"nodeType":"InheritanceSpecifier","src":"692:7:29"},{"baseName":{"id":46452,"name":"ITermsOfService","nameLocations":["701:15:29"],"nodeType":"IdentifierPath","referencedDeclaration":46448,"src":"701:15:29"},"id":46453,"nodeType":"InheritanceSpecifier","src":"701:15:29"}],"canonicalName":"TermsOfService","contractDependencies":[],"contractKind":"contract","documentation":{"id":46449,"nodeType":"StructuredDocumentation","src":"542:122:29","text":" Terms of service acceptance tracker\n Manage signatures of users of different versions of terms of service."},"fullyImplemented":true,"linearizedBaseContracts":[46706,46448,44693,44737],"name":"TermsOfService","nameLocation":"674:14:29","scope":46707,"usedErrors":[]}],"license":"GPL-3.0"},"id":29} \ No newline at end of file diff --git a/eth_defi/confirmation.py b/eth_defi/confirmation.py index 9dc70781..22418eee 100644 --- a/eth_defi/confirmation.py +++ b/eth_defi/confirmation.py @@ -394,7 +394,7 @@ def _broadcast_multiple_nodes(providers: Collection[BaseProvider], signed_tx: Si current_nonce = None logger.info("Nonce too low. Current:%s proposed:%s address:%s: tx:%s resp:%s", current_nonce, nonce, address, signed_tx, resp_data) - #raise NonceTooLow(f"Current on-chain nonce {current_nonce}, proposed {nonce}") from e + # raise NonceTooLow(f"Current on-chain nonce {current_nonce}, proposed {nonce}") from e if "invalid chain" in resp_data["message"]: # Invalid chain id / chain id missing. diff --git a/eth_defi/enzyme/erc20.py b/eth_defi/enzyme/erc20.py index 3580d39d..568db72a 100644 --- a/eth_defi/enzyme/erc20.py +++ b/eth_defi/enzyme/erc20.py @@ -9,10 +9,20 @@ from eth_defi.enzyme.vault import Vault -def prepare_transfer(enzyme: EnzymeDeployment, vault: Vault, generic_adapter: Contract, token: Contract, receiver: HexAddress | str, amount: int) -> ContractFunction: +# fmt: off +def prepare_transfer( + enzyme: EnzymeDeployment, + vault: Vault, + generic_adapter: Contract, + token: Contract, + receiver: HexAddress | str, + amount: int +) -> ContractFunction: """Prepare an ERC-20 transfer out from the Enzyme vault. - - Tells the Enzyme vault to move away som etokes + - Tells the Enzyme vault to move away some tokes + + - Should be blocked by GuardV0, only useable by governance :param enzyme: Enzyme deploymeent @@ -57,3 +67,62 @@ def prepare_transfer(enzyme: EnzymeDeployment, vault: Vault, generic_adapter: Co ) return bound_call + + +def prepare_approve( + enzyme: EnzymeDeployment, + vault: Vault, + generic_adapter: Contract, + token: Contract, + receiver: HexAddress | str, + amount: int, +) -> ContractFunction: + """Prepare an ERC-20 approve() out from the Enzyme vault. + + - Tells the Enzyme vault to move away some tokes + + - Should be blocked by GuardV0, only useable by governance + + :param enzyme: + Enzyme deploymeent + + :param vault: + Vault that needs to perform the swap + + :param generic_adapter: + GenericAdapter contract we use for swaps + + :param token: + ERC-20 token we send + + :param receiver: + The receiver of tokens + + :param amount: + Token amount, raw + + :return: + Transaction object that can be signed and executed + """ + + # Prepare the swap parameters + spend_asset_amounts = [amount] + spend_assets = [token.address] + incoming_assets = [] + min_incoming_assets_amounts = [] + + # The vault performs a swap on Uniswap v2 + encoded_transfer = encode_function_call(token.functions.approve, [receiver, amount]) + + bound_call = execute_calls_for_generic_adapter( + comptroller=vault.comptroller, + external_calls=((token, encoded_transfer),), + generic_adapter=generic_adapter, + incoming_assets=incoming_assets, + integration_manager=enzyme.contracts.integration_manager, + min_incoming_asset_amounts=min_incoming_assets_amounts, + spend_asset_amounts=spend_asset_amounts, + spend_assets=spend_assets, + ) + + return bound_call diff --git a/eth_defi/enzyme/token.py b/eth_defi/enzyme/token.py deleted file mode 100644 index e69de29b..00000000 diff --git a/eth_defi/enzyme/uniswap_v2.py b/eth_defi/enzyme/uniswap_v2.py index f6bf308c..25c05893 100644 --- a/eth_defi/enzyme/uniswap_v2.py +++ b/eth_defi/enzyme/uniswap_v2.py @@ -10,7 +10,16 @@ from eth_defi.uniswap_v2.deployment import UniswapV2Deployment, FOREVER_DEADLINE -def prepare_swap(enzyme: EnzymeDeployment, vault: Vault, uniswap_v2: UniswapV2Deployment, generic_adapter: Contract, token_in: Contract, token_out: Contract, swap_amount: int) -> ContractFunction: +# fmt: off +def prepare_swap( + enzyme: EnzymeDeployment, + vault: Vault, + uniswap_v2: UniswapV2Deployment, + generic_adapter: Contract, + token_in: Contract, + token_out: Contract, + swap_amount: int +) -> ContractFunction: """Prepare a Uniswap v2 swap transaction for Enzyme vault. - Tells the Enzyme vault to swap some tokens @@ -70,6 +79,8 @@ def prepare_swap(enzyme: EnzymeDeployment, vault: Vault, uniswap_v2: UniswapV2De Transaction object that can be signed and executed """ + assert isinstance(generic_adapter, Contract), f"generic_adapter is needed for swap integration" + # Prepare the swap parameters token_in_swap_amount = swap_amount spend_asset_amounts = [token_in_swap_amount] @@ -82,7 +93,11 @@ def prepare_swap(enzyme: EnzymeDeployment, vault: Vault, uniswap_v2: UniswapV2De # The vault performs a swap on Uniswap v2 encoded_approve = encode_function_call(token_in.functions.approve, [uniswap_v2.router.address, token_in_swap_amount]) - encoded_swapExactTokensForTokens = encode_function_call(uniswap_v2.router.functions.swapExactTokensForTokens, [token_in_swap_amount, 1, path, generic_adapter.address, FOREVER_DEADLINE]) + # fmt: off + encoded_swapExactTokensForTokens = encode_function_call( + uniswap_v2.router.functions.swapExactTokensForTokens, + [token_in_swap_amount, 1, path, generic_adapter.address, FOREVER_DEADLINE] + ) bound_call = execute_calls_for_generic_adapter( comptroller=vault.comptroller, diff --git a/eth_defi/enzyme/vault.py b/eth_defi/enzyme/vault.py index 9907ce54..0ccb8399 100644 --- a/eth_defi/enzyme/vault.py +++ b/eth_defi/enzyme/vault.py @@ -96,6 +96,13 @@ class Vault: #: payment_forwarder: Optional[Contract] = None + #: Generic adapter guard contract + #: + #: - Generic adapter must be GuardedGenericAdapter + #: - Resolved from GuardedGenericAdapter.guard() accessor + #: + guard_contract: Optional[Contract] = None + def __repr__(self) -> str: return f"" @@ -298,19 +305,39 @@ def fetch( deployment = EnzymeDeployment.fetch_deployment(web3, {"comptroller_lib": comptroller_address}) if generic_adapter_address is not None: - generic_adapter_contract = get_deployed_contract(web3, f"VaultSpecificGenericAdapter.json", generic_adapter_address) + try: + generic_adapter_contract = get_deployed_contract(web3, f"GuardedGenericAdapter.json", generic_adapter_address) + generic_adapter_contract.functions.guard().call() # Version check, will cause exception + except ValueError: + # EthereumTester raises ValueError, but are the other exceptions? + generic_adapter_contract = get_deployed_contract(web3, f"VaultSpecificGenericAdapter.json", generic_adapter_address) else: generic_adapter_contract = None if payment_forwarder is not None: - payment_forwarder_contract = get_deployed_contract(web3, f"VaultUSDCPaymentForwarder.json", payment_forwarder) + try: + payment_forwarder_contract = get_deployed_contract(web3, f"TermedVaultUSDCPaymentForwarder.json", payment_forwarder) + payment_forwarder_contract.functions.isTermsOfServiceEnabled().call() + except ValueError: # TODO: Check exception here + # EVMTester will give ValueError if the function does not exist + # Legacy + payment_forwarder_contract = get_deployed_contract(web3, f"VaultUSDCPaymentForwarder.json", payment_forwarder) else: payment_forwarder_contract = None + guard_contract = None + if generic_adapter_contract is not None: + try: + guard_address = generic_adapter_contract.functions.guard().call() + guard_contract = get_deployed_contract(web3, f"guard/GuardV0.json", guard_address) + except: + pass + return Vault( vault_contract, comptroller_contract, deployment, generic_adapter_contract, payment_forwarder_contract, + guard_contract, ) diff --git a/eth_defi/enzyme/vault_controlled_wallet.py b/eth_defi/enzyme/vault_controlled_wallet.py index 9fdb81f4..6c670c02 100644 --- a/eth_defi/enzyme/vault_controlled_wallet.py +++ b/eth_defi/enzyme/vault_controlled_wallet.py @@ -60,7 +60,8 @@ def __repr__(self): incoming = ", ".join(self.incoming_assets) spending = ", ".join(self.spend_assets) arg_str = ", ".join([str(a) for a in self.args]) - return f"Transaction with {self.contract.name}.{self.function.fn_name}({arg_str}), incoming:[{incoming}], spending:[{spending}], gas:{self.gas_limit:,}" + name = getattr(self.contract, "name", "") + return f"Transaction with {name}.{self.function.fn_name}({arg_str}), incoming:[{incoming}], spending:[{spending}], gas:{self.gas_limit:,}" @property def args(self) -> List[Any]: diff --git a/eth_defi/provider/fallback.py b/eth_defi/provider/fallback.py index a91551b4..8a6117c0 100644 --- a/eth_defi/provider/fallback.py +++ b/eth_defi/provider/fallback.py @@ -148,7 +148,10 @@ def switch_provider(self): old_provider_name = get_provider_name(provider) self.currently_active_provider = (self.currently_active_provider + 1) % len(self.providers) new_provider_name = get_provider_name(self.get_active_provider()) - logger.log(self.switchover_noisiness, "Switched RPC providers %s -> %s\n", old_provider_name, new_provider_name) + if old_provider_name != new_provider_name: + logger.log(self.switchover_noisiness, "Switched RPC providers %s -> %s\n", old_provider_name, new_provider_name) + else: + logger.log(self.switchover_noisiness, "Only 1 RPC provider configured: %s, cannot switch, sleeping and hoping the issue resolves itself", old_provider_name) def get_active_provider(self) -> NamedProvider: """Get currently active provider. diff --git a/eth_defi/simple_vault/__init__.py b/eth_defi/simple_vault/__init__.py new file mode 100644 index 00000000..40420e49 --- /dev/null +++ b/eth_defi/simple_vault/__init__.py @@ -0,0 +1,6 @@ +"""Simple vault helpers. + +- Simple vault is a simplified vault implementation to test GuardV0 smart contract + + +""" diff --git a/eth_defi/simple_vault/transact.py b/eth_defi/simple_vault/transact.py new file mode 100644 index 00000000..2a445566 --- /dev/null +++ b/eth_defi/simple_vault/transact.py @@ -0,0 +1,33 @@ +from typing import Tuple + +from eth_typing import ChecksumAddress, HexStr +from web3._utils.contracts import get_function_info, encode_abi +from web3.contract.contract import ContractFunction + + +def encode_simple_vault_transaction(func: ContractFunction) -> Tuple[ChecksumAddress, HexStr]: + """Encode a bound web3 function call as a simple vault transaction. + + :param call: + Bound function prepared for a call. + + :return: + Address, call data tuple. + """ + assert isinstance(func, ContractFunction) + + w3 = func.w3 + contract_abi = func.contract_abi + fn_abi = func.abi + fn_identifier = func.function_identifier + args = func.args + fn_abi, fn_selector, fn_arguments = get_function_info( + # type ignored b/c fn_id here is always str b/c FallbackFn is handled above + fn_identifier, # type: ignore + w3.codec, + contract_abi, + fn_abi, + args, + ) + encoded = encode_abi(w3, fn_abi, fn_arguments, fn_selector) + return func.address, encoded diff --git a/eth_defi/uniswap_v2/deployment.py b/eth_defi/uniswap_v2/deployment.py index 29cb7d73..bf02f7eb 100644 --- a/eth_defi/uniswap_v2/deployment.py +++ b/eth_defi/uniswap_v2/deployment.py @@ -188,6 +188,9 @@ def deploy_trading_pair( :return: Pair contract address """ + assert isinstance(token_a, Contract) + assert isinstance(token_b, Contract) + assert token_a.address != token_b.address if int(token_a.address, 16) > int(token_b.address, 16): @@ -220,8 +223,8 @@ def deploy_trading_pair( if liquidity_a > 0: router = deployment.router - assert token_a.functions.balanceOf(deployer).call() > liquidity_a, f"Cannot deploy, not enough tokens for {token_a}" - assert token_b.functions.balanceOf(deployer).call() > liquidity_b, f"Cannot deploy, not enough tokens for {token_b}" + assert token_a.functions.balanceOf(deployer).call() > liquidity_a, f"Cannot deploy, not enough tokens for token A: {token_a.functions.symbol().call()}" + assert token_b.functions.balanceOf(deployer).call() > liquidity_b, f"Cannot deploy, not enough tokens for token B: {token_b.functions.symbol().call()}" # Make sure there is allowance for ERC20.transferFrom() token_a.functions.approve(router.address, liquidity_a).transact({"from": deployer}) diff --git a/eth_defi/usdc/deployment.py b/eth_defi/usdc/deployment.py index f2bf4310..7d62dc96 100644 --- a/eth_defi/usdc/deployment.py +++ b/eth_defi/usdc/deployment.py @@ -17,7 +17,7 @@ def deploy_fiat_token( web3: Web3, - deployer: ChecksumAddress, + deployer: ChecksumAddress | str, mint_amount=1_000_000, contract="centre/FiatTokenV2_1.json", token_name="USD Coin", diff --git a/poetry.lock b/poetry.lock index 9adca9ad..454f46df 100644 --- a/poetry.lock +++ b/poetry.lock @@ -112,13 +112,13 @@ frozenlist = ">=1.1.0" [[package]] name = "alabaster" -version = "0.7.13" -description = "A configurable sidebar-enabled Sphinx theme" +version = "0.7.16" +description = "A light, configurable Sphinx theme" optional = false -python-versions = ">=3.6" +python-versions = ">=3.9" files = [ - {file = "alabaster-0.7.13-py3-none-any.whl", hash = "sha256:1ee19aca801bbabb5ba3f5f258e4422dfa86f82f3e9cefb0859b283cdd7f62a3"}, - {file = "alabaster-0.7.13.tar.gz", hash = "sha256:a27a4a084d5e690e16e01e03ad2b2e552c61a65469419b907243193de1a84ae2"}, + {file = "alabaster-0.7.16-py3-none-any.whl", hash = "sha256:b46733c07dce03ae4e150330b975c75737fa60f0a7c591b6c8bf4928a28e2c92"}, + {file = "alabaster-0.7.16.tar.gz", hash = "sha256:75a8b99c28a5dad50dd7f8ccdd447a121ddb3892da9e53d1ca5cca3106d58d65"}, ] [[package]] @@ -134,19 +134,20 @@ files = [ [[package]] name = "anyio" -version = "4.1.0" +version = "4.2.0" description = "High level compatibility layer for multiple asynchronous event loop implementations" optional = true python-versions = ">=3.8" files = [ - {file = "anyio-4.1.0-py3-none-any.whl", hash = "sha256:56a415fbc462291813a94528a779597226619c8e78af7de0507333f700011e5f"}, - {file = "anyio-4.1.0.tar.gz", hash = "sha256:5a0bec7085176715be77df87fc66d6c9d70626bd752fcc85f57cdbee5b3760da"}, + {file = "anyio-4.2.0-py3-none-any.whl", hash = "sha256:745843b39e829e108e518c489b31dc757de7d2131d53fac32bd8df268227bfee"}, + {file = "anyio-4.2.0.tar.gz", hash = "sha256:e1875bb4b4e2de1669f4bc7869b6d3f54231cdced71605e6e64c9be77e3be50f"}, ] [package.dependencies] exceptiongroup = {version = ">=1.0.2", markers = "python_version < \"3.11\""} idna = ">=2.8" sniffio = ">=1.1" +typing-extensions = {version = ">=4.1", markers = "python_version < \"3.11\""} [package.extras] doc = ["Sphinx (>=7)", "packaging", "sphinx-autodoc-typehints (>=1.2.0)", "sphinx-rtd-theme"] @@ -285,36 +286,34 @@ files = [ [[package]] name = "attrs" -version = "23.1.0" +version = "23.2.0" description = "Classes Without Boilerplate" optional = false python-versions = ">=3.7" files = [ - {file = "attrs-23.1.0-py3-none-any.whl", hash = "sha256:1f28b4522cdc2fb4256ac1a020c78acf9cba2c6b461ccd2c126f3aa8e8335d04"}, - {file = "attrs-23.1.0.tar.gz", hash = "sha256:6279836d581513a26f1bf235f9acd333bc9115683f14f7e8fae46c98fc50e015"}, + {file = "attrs-23.2.0-py3-none-any.whl", hash = "sha256:99b87a485a5820b23b879f04c2305b44b951b502fd64be915879d77a7e8fc6f1"}, + {file = "attrs-23.2.0.tar.gz", hash = "sha256:935dc3b529c262f6cf76e50877d35a4bd3c1de194fd41f47a2b7ae8f19971f30"}, ] [package.extras] cov = ["attrs[tests]", "coverage[toml] (>=5.3)"] -dev = ["attrs[docs,tests]", "pre-commit"] +dev = ["attrs[tests]", "pre-commit"] docs = ["furo", "myst-parser", "sphinx", "sphinx-notfound-page", "sphinxcontrib-towncrier", "towncrier", "zope-interface"] tests = ["attrs[tests-no-zope]", "zope-interface"] -tests-no-zope = ["cloudpickle", "hypothesis", "mypy (>=1.1.1)", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-xdist[psutil]"] +tests-mypy = ["mypy (>=1.6)", "pytest-mypy-plugins"] +tests-no-zope = ["attrs[tests-mypy]", "cloudpickle", "hypothesis", "pympler", "pytest (>=4.3.0)", "pytest-xdist[psutil]"] [[package]] name = "babel" -version = "2.13.1" +version = "2.14.0" description = "Internationalization utilities" optional = false python-versions = ">=3.7" files = [ - {file = "Babel-2.13.1-py3-none-any.whl", hash = "sha256:7077a4984b02b6727ac10f1f7294484f737443d7e2e66c5e4380e41a3ae0b4ed"}, - {file = "Babel-2.13.1.tar.gz", hash = "sha256:33e0952d7dd6374af8dbf6768cc4ddf3ccfefc244f9986d4074704f2fbd18900"}, + {file = "Babel-2.14.0-py3-none-any.whl", hash = "sha256:efb1a25b7118e67ce3a259bed20545c29cb68be8ad2c784c83689981b7a57287"}, + {file = "Babel-2.14.0.tar.gz", hash = "sha256:6919867db036398ba21eb5c7a0f6b28ab8cbc3ae7a73a44ebe34ae74a4e7d363"}, ] -[package.dependencies] -setuptools = {version = "*", markers = "python_version >= \"3.12\""} - [package.extras] dev = ["freezegun (>=1.0,<2.0)", "pytest (>=6.0)", "pytest-cov"] @@ -329,18 +328,6 @@ files = [ {file = "backoff-2.2.1.tar.gz", hash = "sha256:03f829f5bb1923180821643f8753b0502c3b682293992485b0eef2807afa5cba"}, ] -[[package]] -name = "base58" -version = "1.0.3" -description = "Base58 and Base58Check implementation" -optional = false -python-versions = "*" -files = [ - {file = "base58-1.0.3-py2-none-any.whl", hash = "sha256:1e42993c0628ed4f898c03b522b26af78fb05115732549b21a028bc4633d19ab"}, - {file = "base58-1.0.3-py3-none-any.whl", hash = "sha256:6aa0553e477478993588303c54659d15e3c17ae062508c854a8b752d07c716bd"}, - {file = "base58-1.0.3.tar.gz", hash = "sha256:9a793c599979c497800eb414c852b80866f28daaed5494703fc129592cc83e60"}, -] - [[package]] name = "beautifulsoup4" version = "4.12.2" @@ -361,160 +348,164 @@ lxml = ["lxml"] [[package]] name = "bitarray" -version = "2.8.3" +version = "2.9.2" description = "efficient arrays of booleans -- C extension" optional = false python-versions = "*" files = [ - {file = "bitarray-2.8.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:be7c6343a7f24293a988e5a27c1e2f44f028476e35192e73663c4acec5c4766e"}, - {file = "bitarray-2.8.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:38233e5793e107575be656908419d2bceab359c78c28affc386c7b88b8882b8f"}, - {file = "bitarray-2.8.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:acf24bc6aedd0a490af71591b99401867d4445d64db09a7bfe0bde3e8498cc8d"}, - {file = "bitarray-2.8.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:04fcb292637012a1551e55c00796e31b5c66d1692ca25a5ac83d23779c23cd29"}, - {file = "bitarray-2.8.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:015908355354d42973ad41ba4eca697b4b55690b3ece6d9629118273e7a9e380"}, - {file = "bitarray-2.8.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:48a89c2112420ebeb163a3c273c244d542cf9315c9ce5a875d305f91adcdac24"}, - {file = "bitarray-2.8.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cb530a9fb7ed13a1a49bda81db2def4c73b7fef0fd1bb969b1d7605121869230"}, - {file = "bitarray-2.8.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c87146e9c2c196c012e97273f82215e2239b9bffcbb6c7802bbbedac87be2358"}, - {file = "bitarray-2.8.3-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:84a2628a5377971d73c95014e540a51327eb27ffdfbab81e43eac494eced3dc2"}, - {file = "bitarray-2.8.3-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:6bcbe2ea34c88cf736f157cf3d713c1af112f0d7a9eec390d69a9e042b7d76d4"}, - {file = "bitarray-2.8.3-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:67ee9d71af3db621aa637f96520a8df8534fcc64e881360d3ed3a07f7e47ed1b"}, - {file = "bitarray-2.8.3-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:ba3f27d82b45543a7d1488d151594915a6e67fb28bd4f21eb0901df2ba4ede86"}, - {file = "bitarray-2.8.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:095923f084d2271f28d7430798e698f6d0b304c58b072b4f2eb0bc132321323b"}, - {file = "bitarray-2.8.3-cp310-cp310-win32.whl", hash = "sha256:de91007504b475a93d8b0949db9dec86d39c0306de9914f7b9087daeb3d9fbaf"}, - {file = "bitarray-2.8.3-cp310-cp310-win_amd64.whl", hash = "sha256:09c140daa13d2515609d5a2dbfd289eada200e96222671194dc72eae89bc3c7b"}, - {file = "bitarray-2.8.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:2bfd32ce49d23584333087262fb367b371c74cf531f6b0c16759d59f47c847d7"}, - {file = "bitarray-2.8.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:12035756896d71e82edf6a6fb46d3ca299eadbec25140c12505d4b32f561b0da"}, - {file = "bitarray-2.8.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:73fa449d9e551a063ff5c68b5d2cc0caaede5b59366d37457261ae3080f61fca"}, - {file = "bitarray-2.8.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:18707458f6467072a9c3322835a299fa86df8fb3962f51afac2b50c6a4babf82"}, - {file = "bitarray-2.8.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1f142476b3bb80f6887b5a3a08d69bbd526093aee5a00973c26458cc16dd5e47"}, - {file = "bitarray-2.8.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:47400fa421b8a3947f6676981f8d9b8581239831533dff374477ef2b86fda42f"}, - {file = "bitarray-2.8.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:56f51107bb5406bfa4889064c01d5f9e7a545b3e2b53f159626c72c910fe8f07"}, - {file = "bitarray-2.8.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9a3741359cbb1a9eb50188e8faa0ced96ca658eb85061786b7f686efa94c3604"}, - {file = "bitarray-2.8.3-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:c65080bbba08ce07b136490b4df3d0907ec3dd76c3c5d47fda011002420f6d31"}, - {file = "bitarray-2.8.3-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:117a6f409dabc15320f3212d05d878cc33436c1e118e8746bf3775da2509bb7d"}, - {file = "bitarray-2.8.3-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:782ff781ae3c4956c15764aefc06ceb8c1c348794f09dfc8ebf62ff35166da1f"}, - {file = "bitarray-2.8.3-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:a7b839e5c038111fd2fbd09e83ca945da357d690e49cfa269c09aed239db9c2b"}, - {file = "bitarray-2.8.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:ab7e9b1846cc62739d9d293a94f704949b588afb9ed72db00e26b7fcdb4661a3"}, - {file = "bitarray-2.8.3-cp311-cp311-win32.whl", hash = "sha256:20cc6573ac21627e0fde854d4e0450d4c97706213bac986c0d38d252452da155"}, - {file = "bitarray-2.8.3-cp311-cp311-win_amd64.whl", hash = "sha256:8011a63692e9e32cdc3fac3dfd0beceece926e8b53fb91750037fc386917f90b"}, - {file = "bitarray-2.8.3-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:da61c6d7b6288d29db5be77048176f41f7320316997fced28b5415e1f939448e"}, - {file = "bitarray-2.8.3-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:60774f73151dbcabefb5acb6d97ac09a51c999f9a903ac6f8db3d8368d338969"}, - {file = "bitarray-2.8.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:3c815a7ca72a5eebcd85caaeb4d32b71af1c795e38b3dff5dcb5b6b1f3ba0b4f"}, - {file = "bitarray-2.8.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a102cd1fafee8919a069fed9ea40c1ffe4d6037fd5b0a7f47326c2f75f24f70f"}, - {file = "bitarray-2.8.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5b2816afe82feeb7948e58ca0be31c254e23307953e56d3313f293f79279fbe7"}, - {file = "bitarray-2.8.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:98fe712a82f65de536b65fa9af7601df4e8231f14e3b0b14ef22e16e30d2fbea"}, - {file = "bitarray-2.8.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8defbf10a731b44892001daa6903b2f2f7ad8c623a7b4d9ae6bd674592b1763e"}, - {file = "bitarray-2.8.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e98a7b510aaaf0d7368b7cb983d3106aecd28abdfa4b4593b80e7f4ab5af0a97"}, - {file = "bitarray-2.8.3-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:a5e24317b0768789c52586a31284dec8ccafa2f6c128df2f2d79656142f1e794"}, - {file = "bitarray-2.8.3-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:c30dbbe2f49056d4bd97a94c07a7fc0118ecc85661fdbaada36dfa9b14dc5962"}, - {file = "bitarray-2.8.3-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:2adb2ba1e7196f62587f4011b213b3609a717f92698a398904192e201ec3e29e"}, - {file = "bitarray-2.8.3-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:3aa1bd71236e07f0e7ab859a130fc57645301fd1ffd64be9a9750bce51446acb"}, - {file = "bitarray-2.8.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:63e595ca8dab2b77104e618782764bc3b172a0e9c6f97734d5fdd299063feac0"}, - {file = "bitarray-2.8.3-cp312-cp312-win32.whl", hash = "sha256:0c3de6517df7bbac18632046e722ca9000a4aeb76da68e545437fee1e61e2bbc"}, - {file = "bitarray-2.8.3-cp312-cp312-win_amd64.whl", hash = "sha256:4a6a4e83ecab1fd1fc171c57334663b24c5d286b66421efac2428b7e105c5d62"}, - {file = "bitarray-2.8.3-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:993438edd54350133f7569a8691074a90aa2297def69ec0e7af34de3d175cd00"}, - {file = "bitarray-2.8.3-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:06770f6f7d238c2e2d251e9f5346358653ea8f3dbbedc83d18598f6c044f16b4"}, - {file = "bitarray-2.8.3-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:44e3944ebccbc38ebdb7bd3c37a9b6ff91d87db2dad4bf3910e2b01fbd36831b"}, - {file = "bitarray-2.8.3-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a86c308018b59b999cf3d5a16889d3a347b48a2d08f34fbb4e29d5dc05fa198a"}, - {file = "bitarray-2.8.3-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9b92c17b15bd5536c3e067051c67531adc81fcb6c1a699a760600ccd03dfcfba"}, - {file = "bitarray-2.8.3-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e3d80bc6722652c847e5f503c2ce94a641b016059ec45bde4e1f13454b33e904"}, - {file = "bitarray-2.8.3-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:fbc7ac38de41052599f1e27edf4f33c02d5aea6810ee299825a81863a32e26a0"}, - {file = "bitarray-2.8.3-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:bbca4c4bc9854e3166474e471f3230989fd2baf32c915e363c32f91dc6ebb704"}, - {file = "bitarray-2.8.3-cp36-cp36m-musllinux_1_1_ppc64le.whl", hash = "sha256:74efd69ac9d06ce9f43a1f513cee8a82c314f85aa0bd74664abe9e608fb59ffd"}, - {file = "bitarray-2.8.3-cp36-cp36m-musllinux_1_1_s390x.whl", hash = "sha256:c3f7a6c6b78edd81fca0035fb7a156a79f25919e1b0598afb483c26513d562f1"}, - {file = "bitarray-2.8.3-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:b0cefac8fedb3dbbf97542dc0c6fdd8bf09a210bf6fa5799083b7309fd97b1b2"}, - {file = "bitarray-2.8.3-cp36-cp36m-win32.whl", hash = "sha256:67e366efaea6e0b5971593a83d062cb7e4e09e03d29f8d5b825effdf5f516ad3"}, - {file = "bitarray-2.8.3-cp36-cp36m-win_amd64.whl", hash = "sha256:621d5658b890b99b3f8b1a678b0afed10e096d53baa767ecbcf428fce1f48415"}, - {file = "bitarray-2.8.3-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:ac5451951ce1e0616385e77de49afc7bd90bdf9d0aa99c0fd7b0bd23400db890"}, - {file = "bitarray-2.8.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ff6b6b47da38223803aa3e7aab356f84e0636ecdbd43fa4bd11dbc00a923d474"}, - {file = "bitarray-2.8.3-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:154082c814e4007bf15d8dfc576ebd4e79e9ed3626017cd53810961cee7e65d8"}, - {file = "bitarray-2.8.3-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e9f4f29c0338e5862ebc3b88091d29ff28d44ab80381f238da08aabb054777c2"}, - {file = "bitarray-2.8.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b153b846a6ac4b6eca71bb5f84d3dba51f3cd159f4322f5d67b2c41cf15973ad"}, - {file = "bitarray-2.8.3-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a2c8e06c3463746181255e03f07535c136f5346fb9c4a90eec2da27695102533"}, - {file = "bitarray-2.8.3-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:f16a2247c27f4db3f8d01665ee97d46eaf0240b7a9feae16c17e906a3bb9a794"}, - {file = "bitarray-2.8.3-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:57f1fc3a089d9907859e940c6a4db3f5358013c75bba3b15156d93a58bca868e"}, - {file = "bitarray-2.8.3-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:c42fcddc955d84164667d899e8d4bbb763f4bc029fe72642a65df7382c46fe94"}, - {file = "bitarray-2.8.3-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:e60254ac626790c8c95415b095c6831056ca57a5d31839564210530c3278f170"}, - {file = "bitarray-2.8.3-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:a0bb2e5c0c9f964bf43a09a1cf37233ff96b3318c9a50b1b7c3d74a875b32072"}, - {file = "bitarray-2.8.3-cp37-cp37m-win32.whl", hash = "sha256:edddd6d885c7195ba7734936bc1efc8a37de18ec886a8be44a484980da87947e"}, - {file = "bitarray-2.8.3-cp37-cp37m-win_amd64.whl", hash = "sha256:44ee266b71cd6bd7c99f937b30ac3b7627cad04777f2c12894cd0f820cb79ada"}, - {file = "bitarray-2.8.3-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:a836a988ada812776af9ea6e88edf1e2eaaf38ebd545bbbcd500b2db0ced3a4f"}, - {file = "bitarray-2.8.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:089a4658706ec63293c153ffb1472cea1bbefb39ccfb214f52f0c1f5d10bf28e"}, - {file = "bitarray-2.8.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:f8c492d90b41c510d799cc37c27892b149be77e225df6446854ce0b164e243a3"}, - {file = "bitarray-2.8.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b661052a4762825790a728469f897c341558392342cb68a6c54708d4e5198254"}, - {file = "bitarray-2.8.3-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e4fd5e8a2e1b898ebc91faf6e1938bde38a4d20ee8ea49835e9adadd9b87c97c"}, - {file = "bitarray-2.8.3-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4d4f3e78a8c1c5bf625632488a4bdd78fe87c4603ea10443cb8f207c2a846efe"}, - {file = "bitarray-2.8.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5797552e849079ff963936a037087367f20b41d5a612b07a1ba032259a2b86c8"}, - {file = "bitarray-2.8.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:adfc210df3d85017f5d2ef82db94d46b585ecbbd7357a6ee1c3bc125cc2658e2"}, - {file = "bitarray-2.8.3-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:252bdf94c74192b10f7fdb42683adf1403892acdce39e3e3524e8b070793b1c7"}, - {file = "bitarray-2.8.3-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:879bb9f11bad60a5588f5efb4e60f42844e4787ce7d5bb0f8eb8b87a835e914f"}, - {file = "bitarray-2.8.3-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:7a6413b5f53d44e134276d5a3747b71d17cbc25177a50445458921424a760dcd"}, - {file = "bitarray-2.8.3-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:3d0daf70de198dcde459451c534333c0f59ab847649be013c9b88d24f0e49767"}, - {file = "bitarray-2.8.3-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:09244fa4e39ca263820dd8eca83a0175a98fb8f9bd353b4285a9ef2928b7fb41"}, - {file = "bitarray-2.8.3-cp38-cp38-win32.whl", hash = "sha256:7ad527ff1d398a703eba71ac270625087691e62efab8d0e331c53affe0628030"}, - {file = "bitarray-2.8.3-cp38-cp38-win_amd64.whl", hash = "sha256:2fcaf220e53518762dae0701082cb70d620656eaaecf5512695a6afafa885ea6"}, - {file = "bitarray-2.8.3-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:38e19756480bff2703155060d1849d37138a1d2242287563de112fb5bdd3217d"}, - {file = "bitarray-2.8.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:123333df4b22f12f4fc13fa4821b8ca075df59161bd41f5f189ffc791aaac10b"}, - {file = "bitarray-2.8.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ff62c1c174ceae7ef0456702f9eff1f3d76590c075b9c984c459d734f73fc766"}, - {file = "bitarray-2.8.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7554518934364b30d8da085f7a759ee3838c9ae4265b48beb82072f942b2816e"}, - {file = "bitarray-2.8.3-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b8f0306dbc6605dd7f9e2dada33a3916c0c28f37128464de7153df7d8cf7a959"}, - {file = "bitarray-2.8.3-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2aeae0f2dacf546256f8720a1e8233b6735a3bf76778be701a1736d26fe4ecec"}, - {file = "bitarray-2.8.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4c02d24051d7070b8f3b52fa9c8984fd8eb035115545f7c4be44c9825e8b58c8"}, - {file = "bitarray-2.8.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:82fe0a774204159383d1be993191d51500cb44adbd3e9287da801e4657c0d4b2"}, - {file = "bitarray-2.8.3-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:aa4513a7393055faef630dcfb4d10a339c47eeb943487c0e9063ba763b66cb73"}, - {file = "bitarray-2.8.3-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:36f9752b654e18f99130a2bf84f54b1e6b8fad4f5f768f4390eb9b769a64a59c"}, - {file = "bitarray-2.8.3-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:a4212b66f9ae2e28ca1aa0307167ebfcdb2ca263a56b786cc572699e8a717f91"}, - {file = "bitarray-2.8.3-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:cadccf651900e3858e55dfd762d5de0786aec853f1fb26183905ddee233183b4"}, - {file = "bitarray-2.8.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:9f756d159099f154a21d73932f13c8ce27f45a1c892d9b19c66a1a2c50c18474"}, - {file = "bitarray-2.8.3-cp39-cp39-win32.whl", hash = "sha256:c2ffed55994f5c73d34371474946767f936b0b83237f800be0f27a3e783baadb"}, - {file = "bitarray-2.8.3-cp39-cp39-win_amd64.whl", hash = "sha256:f69cacb3d983200114e48ec0c894e28690926f166b71202f75e976d5cd588be9"}, - {file = "bitarray-2.8.3-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:d6a8a1da9205de97eea14aaa731c657fa8decd2d6878ee3d2d4bf33291960216"}, - {file = "bitarray-2.8.3-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8562dd32b4d9810a0b9c04fe3d1ed8078f27d74e3738063162c677b253216666"}, - {file = "bitarray-2.8.3-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ed974048a4ced6e7b5d1cfcb83c046e70bf31b8a28eacfee3afa62f8690dee69"}, - {file = "bitarray-2.8.3-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2448d8f5ce6d8a840a5dff1b41f5124445141530724af7ba82ec7967eabd290a"}, - {file = "bitarray-2.8.3-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:64d867953b530b3dde93663d4c4708b533216e9dca3f3b4489698261cd80fcef"}, - {file = "bitarray-2.8.3-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:72bba6b388ba7c48a882bd58c86972aab73a30c3fb5b3341f28eb5bdc17365f8"}, - {file = "bitarray-2.8.3-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f62ee2eae65b72e034a24ac2bacd78d48845193168b54407e93bccd3772b247f"}, - {file = "bitarray-2.8.3-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:07ed46857ed73765f2316e08f2d5108b7e694b44f4293e30fb526f3123c829d4"}, - {file = "bitarray-2.8.3-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:136bd205384a3089bc22c02a365a152e61b1e8d06ec664185c90e3ab8967260c"}, - {file = "bitarray-2.8.3-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:42d2d0123b1e68b387f4b2fd288e1a8f0dfb991cf1d2fbc56d948c3f4a113d8d"}, - {file = "bitarray-2.8.3-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:5f35d5ff7334610b42632b30c27332b30db3680dd0174f86e382c3e150dfea2c"}, - {file = "bitarray-2.8.3-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7618abbac8999cd942be278130b88ac6ed364ba3446222f1db0faf4de7a052cf"}, - {file = "bitarray-2.8.3-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:50923d862e01a546f942272193612f386ec1f90cc4528b10561854902bd8aab0"}, - {file = "bitarray-2.8.3-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c99838782dbec7f0c5cba1a6d4faa8e2da2b522423aa36a7f383a2265ac0ae3f"}, - {file = "bitarray-2.8.3-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:e76735a285e834fc9db560de11e086453128c1177950a15c3404fe16c7d76f5e"}, - {file = "bitarray-2.8.3-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:ffa74d8601e26570f1d0e3042fda6eb26b64ba8d8dfe9b96d0bf90a6f0d81582"}, - {file = "bitarray-2.8.3-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e6993e46c81702d0bb39aad83ceb228cec087bc321782fbd2c6ddff7c653dcc8"}, - {file = "bitarray-2.8.3-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6d9ec6a214563d2edd46d1a553583782379a2cb1016e8cc6c524e011905433b1"}, - {file = "bitarray-2.8.3-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:34ceedbeed9aefde10c273d44801971db8f7505f80933fbb936969ee2343b8a3"}, - {file = "bitarray-2.8.3-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:cc178297951343c8d8cd8a391999abf0024ca319671418f98dea0d7e71354126"}, - {file = "bitarray-2.8.3.tar.gz", hash = "sha256:e15587b2bdf18d32eb3ba25f5f5a51bedd0dc06b3112a4c53dab5e7753bc6588"}, + {file = "bitarray-2.9.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:917905de565d9576eb20f53c797c15ba88b9f4f19728acabec8d01eee1d3756a"}, + {file = "bitarray-2.9.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:b35bfcb08b7693ab4bf9059111a6e9f14e07d57ac93cd967c420db58ab9b71e1"}, + {file = "bitarray-2.9.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ea1923d2e7880f9e1959e035da661767b5a2e16a45dfd57d6aa831e8b65ee1bf"}, + {file = "bitarray-2.9.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1e0b63a565e8a311cc8348ff1262d5784df0f79d64031d546411afd5dd7ef67d"}, + {file = "bitarray-2.9.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:cf0620da2b81946d28c0b16f3e3704d38e9837d85ee4f0652816e2609aaa4fed"}, + {file = "bitarray-2.9.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:79a9b8b05f2876c7195a2b698c47528e86a73c61ea203394ff8e7a4434bda5c8"}, + {file = "bitarray-2.9.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:345c76b349ff145549652436235c5532e5bfe9db690db6f0a6ad301c62b9ef21"}, + {file = "bitarray-2.9.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4e2936f090bf3f4d1771f44f9077ebccdbc0415d2b598d51a969afcb519df505"}, + {file = "bitarray-2.9.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:f9346e98fc2abcef90b942973087e2462af6d3e3710e82938078d3493f7fef52"}, + {file = "bitarray-2.9.2-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:e6ec283d4741befb86e8c3ea2e9ac1d17416c956d392107e45263e736954b1f7"}, + {file = "bitarray-2.9.2-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:962892646599529917ef26266091e4cb3077c88b93c3833a909d68dcc971c4e3"}, + {file = "bitarray-2.9.2-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:e8da5355d7d75a52df5b84750989e34e39919ec7e59fafc4c104cc1607ab2d31"}, + {file = "bitarray-2.9.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:603e7d640e54ad764d2b4da6b61e126259af84f253a20f512dd10689566e5478"}, + {file = "bitarray-2.9.2-cp310-cp310-win32.whl", hash = "sha256:f00079f8e69d75c2a417de7961a77612bb77ef46c09bc74607d86de4740771ef"}, + {file = "bitarray-2.9.2-cp310-cp310-win_amd64.whl", hash = "sha256:1bb33673e7f7190a65f0a940c1ef63266abdb391f4a3e544a47542d40a81f536"}, + {file = "bitarray-2.9.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:fe71fd4b76380c2772f96f1e53a524da7063645d647a4fcd3b651bdd80ca0f2e"}, + {file = "bitarray-2.9.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:d527172919cdea1e13994a66d9708a80c3d33dedcf2f0548e4925e600fef3a3a"}, + {file = "bitarray-2.9.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:052c5073bdcaa9dd10628d99d37a2f33ec09364b86dd1f6281e2d9f8d3db3060"}, + {file = "bitarray-2.9.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e064caa55a6ed493aca1eda06f8b3f689778bc780a75e6ad7724642ba5dc62f7"}, + {file = "bitarray-2.9.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:508069a04f658210fdeee85a7a0ca84db4bcc110cbb1d21f692caa13210f24a7"}, + {file = "bitarray-2.9.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4da73ebd537d75fa7bccfc2228fcaedea0803f21dd9d0bf0d3b67fef3c4af294"}, + {file = "bitarray-2.9.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5cb378eaa65cd43098f11ff5d27e48ee3b956d2c00d2d6b5bfc2a09fe183be47"}, + {file = "bitarray-2.9.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d14c790b91f6cbcd9b718f88ed737c78939980c69ac8c7f03dd7e60040c12951"}, + {file = "bitarray-2.9.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:7eea9318293bc0ea6447e9ebfba600a62f3428bea7e9c6d42170ae4f481dbab3"}, + {file = "bitarray-2.9.2-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:b76ffec27c7450b8a334f967366a9ebadaea66ee43f5b530c12861b1a991f503"}, + {file = "bitarray-2.9.2-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:76b76a07d4ee611405045c6950a1e24c4362b6b44808d4ad6eea75e0dbc59af4"}, + {file = "bitarray-2.9.2-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:c7d16beeaaab15b075990cd26963d6b5b22e8c5becd131781514a00b8bdd04bd"}, + {file = "bitarray-2.9.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:60df43e868a615c7e15117a1e1c2e5e11f48f6457280eba6ddf8fbefbec7da99"}, + {file = "bitarray-2.9.2-cp311-cp311-win32.whl", hash = "sha256:e788608ed7767b7b3bbde6d49058bccdf94df0de9ca75d13aa99020cc7e68095"}, + {file = "bitarray-2.9.2-cp311-cp311-win_amd64.whl", hash = "sha256:a23397da092ef0a8cfe729571da64c2fc30ac18243caa82ac7c4f965087506ff"}, + {file = "bitarray-2.9.2-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:90e3a281ffe3897991091b7c46fca38c2675bfd4399ffe79dfeded6c52715436"}, + {file = "bitarray-2.9.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:bed637b674db5e6c8a97a4a321e3e4d73e72d50b5c6b29950008a93069cc64cd"}, + {file = "bitarray-2.9.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:e49066d251dbbe4e6e3a5c3937d85b589e40e2669ad0eef41a00f82ec17d844b"}, + {file = "bitarray-2.9.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3c4344e96642e2211fb3a50558feff682c31563a4c64529a931769d40832ca79"}, + {file = "bitarray-2.9.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:aeb60962ec4813c539a59fbd4f383509c7222b62c3fb1faa76b54943a613e33a"}, + {file = "bitarray-2.9.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ed0f7982f10581bb16553719e5e8f933e003f5b22f7d25a68bdb30fac630a6ff"}, + {file = "bitarray-2.9.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c71d1cabdeee0cdda4669168618f0e46b7dace207b29da7b63aaa1adc2b54081"}, + {file = "bitarray-2.9.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b0ef2d0a6f1502d38d911d25609b44c6cc27bee0a4363dd295df78b075041b60"}, + {file = "bitarray-2.9.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:6f71d92f533770fb027388b35b6e11988ab89242b883f48a6fe7202d238c61f8"}, + {file = "bitarray-2.9.2-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:ba0734aa300757c924f3faf8148e1b8c247176a0ac8e16aefdf9c1eb19e868f7"}, + {file = "bitarray-2.9.2-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:d91406f413ccbf4af6ab5ae7bc78f772a95609f9ddd14123db36ef8c37116d95"}, + {file = "bitarray-2.9.2-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:87abb7f80c0a042f3fe8e5264da1a2756267450bb602110d5327b8eaff7682e7"}, + {file = "bitarray-2.9.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:4b558ce85579b51a2e38703877d1e93b7728a7af664dd45a34e833534f0b755d"}, + {file = "bitarray-2.9.2-cp312-cp312-win32.whl", hash = "sha256:dac2399ee2889fbdd3472bfc2ede74c34cceb1ccf29a339964281a16eb1d3188"}, + {file = "bitarray-2.9.2-cp312-cp312-win_amd64.whl", hash = "sha256:48a30d718d1a6dfc22a49547450107abe8f4afdf2abdcbe76eb9ed88edc49498"}, + {file = "bitarray-2.9.2-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:2c6be1b651fad8f3adb7a5aa12c65b612cd9b89530969af941844ae680f7d981"}, + {file = "bitarray-2.9.2-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c5b399ae6ab975257ec359f03b48fc00b1c1cd109471e41903548469b8feae5c"}, + {file = "bitarray-2.9.2-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0b3543c8a1cb286ad105f11c25d8d0f712f41c5c55f90be39f0e5a1376c7d0b0"}, + {file = "bitarray-2.9.2-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:03adaacb79e2fb8f483ab3a67665eec53bb3fd0cd5dbd7358741aef124688db3"}, + {file = "bitarray-2.9.2-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9ae5b0657380d2581e13e46864d147a52c1e2bbac9f59b59c576e42fa7d10cf0"}, + {file = "bitarray-2.9.2-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7c1f4bf6ea8eb9d7f30808c2e9894237a96650adfecbf5f3643862dc5982f89e"}, + {file = "bitarray-2.9.2-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:a8873089be2aa15494c0f81af1209f6e1237d762c5065bc4766c1b84321e1b50"}, + {file = "bitarray-2.9.2-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:677e67f50e2559efc677a4366707070933ad5418b8347a603a49a070890b19bc"}, + {file = "bitarray-2.9.2-cp36-cp36m-musllinux_1_1_ppc64le.whl", hash = "sha256:a620d8ce4ea2f1c73c6b6b1399e14cb68c6915e2be3fad5808c2998ed55b4acf"}, + {file = "bitarray-2.9.2-cp36-cp36m-musllinux_1_1_s390x.whl", hash = "sha256:64115ccabbdbe279c24c367b629c6b1d3da9ed36c7420129e27c338a3971bfee"}, + {file = "bitarray-2.9.2-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:5d6fb422772e75385b76ad1c52f45a68bd4efafd8be8d0061c11877be74c4d43"}, + {file = "bitarray-2.9.2-cp36-cp36m-win32.whl", hash = "sha256:852e202875dd6dfd6139ce7ec4e98dac2b17d8d25934dc99900831e81c3adaef"}, + {file = "bitarray-2.9.2-cp36-cp36m-win_amd64.whl", hash = "sha256:7dfefdcb0dc6a3ba9936063cec65a74595571b375beabe18742b3d91d087eefd"}, + {file = "bitarray-2.9.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:b306c4cf66912511422060f7f5e1149c8bdb404f8e00e600561b0749fdd45659"}, + {file = "bitarray-2.9.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a09c4f81635408e3387348f415521d4b94198c562c23330f560596a6aaa26eaf"}, + {file = "bitarray-2.9.2-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5361413fd2ecfdf44dc8f065177dc6aba97fa80a91b815586cb388763acf7f8d"}, + {file = "bitarray-2.9.2-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e8a9475d415ef1eaae7942df6f780fa4dcd48fce32825eda591a17abba869299"}, + {file = "bitarray-2.9.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c9b87baa7bfff9a5878fcc1bffe49ecde6e647a72a64b39a69cd8a2992a43a34"}, + {file = "bitarray-2.9.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bb6b86cfdfc503e92cb71c68766a24565359136961642504a7cc9faf936d9c88"}, + {file = "bitarray-2.9.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:cd56b8ae87ebc71bcacbd73615098e8a8de952ecbb5785b6b4e2b07da8a06e1f"}, + {file = "bitarray-2.9.2-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:3fa909cfd675004aed8b4cc9df352415933656e0155a6209d878b7cb615c787e"}, + {file = "bitarray-2.9.2-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:b069ca9bf728e0c5c5b60e00a89df9af34cc170c695c3bfa3b372d8f40288efb"}, + {file = "bitarray-2.9.2-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:6067f2f07a7121749858c7daa93c8774325c91590b3e81a299621e347740c2ae"}, + {file = "bitarray-2.9.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:321841cdad1dd0f58fe62e80e9c9c7531f8ebf8be93f047401e930dc47425b1e"}, + {file = "bitarray-2.9.2-cp37-cp37m-win32.whl", hash = "sha256:54e16e32e60973bb83c315de9975bc1bcfc9bd50bb13001c31da159bc49b0ca1"}, + {file = "bitarray-2.9.2-cp37-cp37m-win_amd64.whl", hash = "sha256:f4dcadb7b8034aa3491ee8f5a69b3d9ba9d7d1e55c3cc1fc45be313e708277f8"}, + {file = "bitarray-2.9.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:c8919fdbd3bb596b104388b56ae4b266eb28da1f2f7dff2e1f9334a21840fe96"}, + {file = "bitarray-2.9.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:eb7a9d8a2e400a1026de341ad48e21670a6261a75b06df162c5c39b0d0e7c8f4"}, + {file = "bitarray-2.9.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:6ec84668dd7b937874a2b2c293cd14ba84f37be0d196dead852e0ada9815d807"}, + {file = "bitarray-2.9.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f2de9a31c34e543ae089fd2a5ced01292f725190e379921384f695e2d7184bd3"}, + {file = "bitarray-2.9.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9521f49ae121a17c0a41e5112249e6fa7f6a571245b1118de81fb86e7c1bc1ce"}, + {file = "bitarray-2.9.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a6cc6545d6d76542aee3d18c1c9485fb7b9812b8df4ebe52c4535ec42081b48f"}, + {file = "bitarray-2.9.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:856bbe1616425f71c0df5ef2e8755e878d9504d5a531acba58ab4273c52c117a"}, + {file = "bitarray-2.9.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d4bba8042ea6ab331ade91bc435d81ad72fddb098e49108610b0ce7780c14e68"}, + {file = "bitarray-2.9.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:a035da89c959d98afc813e3c62f052690d67cfd55a36592f25d734b70de7d4b0"}, + {file = "bitarray-2.9.2-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:6d70b1579da7fb71be5a841a1f965d19aca0ef27f629cfc07d06b09aafd0a333"}, + {file = "bitarray-2.9.2-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:405b83bed28efaae6d86b6ab287c75712ead0adbfab2a1075a1b7ab47dad4d62"}, + {file = "bitarray-2.9.2-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:7eb8be687c50da0b397d5e0ab7ca200b5ebb639e79a9f5e285851d1944c94be9"}, + {file = "bitarray-2.9.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:eceb551dfeaf19c609003a69a0cf8264b0efd7abc3791a11dfabf4788daf0d19"}, + {file = "bitarray-2.9.2-cp38-cp38-win32.whl", hash = "sha256:bb198c6ed1edbcdaf3d1fa3c9c9d1cdb7e179a5134ef5ee660b53cdec43b34e7"}, + {file = "bitarray-2.9.2-cp38-cp38-win_amd64.whl", hash = "sha256:648d2f2685590b0103c67a937c2fb9e09bcc8dfb166f0c7c77bd341902a6f5b3"}, + {file = "bitarray-2.9.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:ea816dc8f8e65841a8bbdd30e921edffeeb6f76efe6a1eb0da147b60d539d1cf"}, + {file = "bitarray-2.9.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:4d0e32530f941c41eddfc77600ec89b65184cb909c549336463a738fab3ed285"}, + {file = "bitarray-2.9.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:4a22266fb416a3b6c258bf7f83c9fe531ba0b755a56986a81ad69dc0f3bcc070"}, + {file = "bitarray-2.9.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fc6d3e80dd8239850f2604833ff3168b28909c8a9357abfed95632cccd17e3e7"}, + {file = "bitarray-2.9.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f135e804986b12bf14f2cd1eb86674c47dea86c4c5f0fa13c88978876b97ebe6"}, + {file = "bitarray-2.9.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:87580c7f7d14f7ec401eda7adac1e2a25e95153e9c339872c8ae61b3208819a1"}, + {file = "bitarray-2.9.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:64b433e26993127732ac7b66a7821b2537c3044355798de7c5fcb0af34b8296f"}, + {file = "bitarray-2.9.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1e497c535f2a9b68c69d36631bf2dba243e05eb343b00b9c7bbdc8c601c6802d"}, + {file = "bitarray-2.9.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:e40b3cb9fa1edb4e0175d7c06345c49c7925fe93e39ef55ecb0bc40c906b0c09"}, + {file = "bitarray-2.9.2-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:f2f8692f95c9e377eb19ca519d30d1f884b02feb7e115f798de47570a359e43f"}, + {file = "bitarray-2.9.2-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:f0b84fc50b6dbeced4fa390688c07c10a73222810fb0e08392bd1a1b8259de36"}, + {file = "bitarray-2.9.2-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:d656ad38c942e38a470ddbce26b5020e08e1a7ea86b8fd413bb9024b5189993a"}, + {file = "bitarray-2.9.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:6ab0f1dbfe5070db98771a56aa14797595acd45a1af9eadfb193851a270e7996"}, + {file = "bitarray-2.9.2-cp39-cp39-win32.whl", hash = "sha256:0a99b23ac845a9ea3157782c97465e6ae026fe0c7c4c1ed1d88f759fd6ea52d9"}, + {file = "bitarray-2.9.2-cp39-cp39-win_amd64.whl", hash = "sha256:9bbcfc7c279e8d74b076e514e669b683f77b4a2a328585b3f16d4c5259c91222"}, + {file = "bitarray-2.9.2-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:43847799461d8ba71deb4d97b47250c2c2fb66d82cd3cb8b4caf52bb97c03034"}, + {file = "bitarray-2.9.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f4f44381b0a4bdf64416082f4f0e7140377ae962c0ced6f983c6d7bbfc034040"}, + {file = "bitarray-2.9.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a484061616fb4b158b80789bd3cb511f399d2116525a8b29b6334c68abc2310f"}, + {file = "bitarray-2.9.2-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1ff9e38356cc803e06134cf8ae9758e836ccd1b793135ef3db53c7c5d71e93bc"}, + {file = "bitarray-2.9.2-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:b44105792fbdcfbda3e26ee88786790fda409da4c71f6c2b73888108cf8f062f"}, + {file = "bitarray-2.9.2-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:7e913098de169c7fc890638ce5e171387363eb812579e637c44261460ac00aa2"}, + {file = "bitarray-2.9.2-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d6fe315355cdfe3ed22ef355b8bdc81a805ca4d0949d921576560e5b227a1112"}, + {file = "bitarray-2.9.2-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f708e91fdbe443f3bec2df394ed42328fb9b0446dff5cb4199023ac6499e09fd"}, + {file = "bitarray-2.9.2-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5b7b09489b71f9f1f64c0fa0977e250ec24500767dab7383ba9912495849cadf"}, + {file = "bitarray-2.9.2-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:128cc3488176145b9b137fdcf54c1c201809bbb8dd30b260ee40afe915843b43"}, + {file = "bitarray-2.9.2-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:21f21e7f56206be346bdbda2a6bdb2165a5e6a11821f88fd4911c5a6bbbdc7e2"}, + {file = "bitarray-2.9.2-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5f4dd3af86dd8a617eb6464622fb64ca86e61ce99b59b5c35d8cd33f9c30603d"}, + {file = "bitarray-2.9.2-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6465de861aff7a2559f226b37982007417eab8c3557543879987f58b453519bd"}, + {file = "bitarray-2.9.2-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dbaf2bb71d6027152d603f1d5f31e0dfd5e50173d06f877bec484e5396d4594b"}, + {file = "bitarray-2.9.2-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:2f32948c86e0d230a296686db28191b67ed229756f84728847daa0c7ab7406e3"}, + {file = "bitarray-2.9.2-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:be94e5a685e60f9d24532af8fe5c268002e9016fa80272a94727f435de3d1003"}, + {file = "bitarray-2.9.2-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a5cc9381fd54f3c23ae1039f977bfd6d041a5c3c1518104f616643c3a5a73b15"}, + {file = "bitarray-2.9.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cd926e8ae4d1ed1ac4a8f37212a62886292f692bc1739fde98013bf210c2d175"}, + {file = "bitarray-2.9.2-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:461a3dafb9d5fda0bb3385dc507d78b1984b49da3fe4c6d56c869a54373b7008"}, + {file = "bitarray-2.9.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:393cb27fd859af5fd9c16eb26b1c59b17b390ff66b3ae5d0dd258270191baf13"}, + {file = "bitarray-2.9.2.tar.gz", hash = "sha256:a8f286a51a32323715d77755ed959f94bef13972e9a2fe71b609e40e6d27957e"}, ] [[package]] name = "black" -version = "23.11.0" +version = "23.12.1" description = "The uncompromising code formatter." optional = false python-versions = ">=3.8" files = [ - {file = "black-23.11.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:dbea0bb8575c6b6303cc65017b46351dc5953eea5c0a59d7b7e3a2d2f433a911"}, - {file = "black-23.11.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:412f56bab20ac85927f3a959230331de5614aecda1ede14b373083f62ec24e6f"}, - {file = "black-23.11.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d136ef5b418c81660ad847efe0e55c58c8208b77a57a28a503a5f345ccf01394"}, - {file = "black-23.11.0-cp310-cp310-win_amd64.whl", hash = "sha256:6c1cac07e64433f646a9a838cdc00c9768b3c362805afc3fce341af0e6a9ae9f"}, - {file = "black-23.11.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:cf57719e581cfd48c4efe28543fea3d139c6b6f1238b3f0102a9c73992cbb479"}, - {file = "black-23.11.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:698c1e0d5c43354ec5d6f4d914d0d553a9ada56c85415700b81dc90125aac244"}, - {file = "black-23.11.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:760415ccc20f9e8747084169110ef75d545f3b0932ee21368f63ac0fee86b221"}, - {file = "black-23.11.0-cp311-cp311-win_amd64.whl", hash = "sha256:58e5f4d08a205b11800332920e285bd25e1a75c54953e05502052738fe16b3b5"}, - {file = "black-23.11.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:45aa1d4675964946e53ab81aeec7a37613c1cb71647b5394779e6efb79d6d187"}, - {file = "black-23.11.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:4c44b7211a3a0570cc097e81135faa5f261264f4dfaa22bd5ee2875a4e773bd6"}, - {file = "black-23.11.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2a9acad1451632021ee0d146c8765782a0c3846e0e0ea46659d7c4f89d9b212b"}, - {file = "black-23.11.0-cp38-cp38-win_amd64.whl", hash = "sha256:fc7f6a44d52747e65a02558e1d807c82df1d66ffa80a601862040a43ec2e3142"}, - {file = "black-23.11.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:7f622b6822f02bfaf2a5cd31fdb7cd86fcf33dab6ced5185c35f5db98260b055"}, - {file = "black-23.11.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:250d7e60f323fcfc8ea6c800d5eba12f7967400eb6c2d21ae85ad31c204fb1f4"}, - {file = "black-23.11.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5133f5507007ba08d8b7b263c7aa0f931af5ba88a29beacc4b2dc23fcefe9c06"}, - {file = "black-23.11.0-cp39-cp39-win_amd64.whl", hash = "sha256:421f3e44aa67138ab1b9bfbc22ee3780b22fa5b291e4db8ab7eee95200726b07"}, - {file = "black-23.11.0-py3-none-any.whl", hash = "sha256:54caaa703227c6e0c87b76326d0862184729a69b73d3b7305b6288e1d830067e"}, - {file = "black-23.11.0.tar.gz", hash = "sha256:4c68855825ff432d197229846f971bc4d6666ce90492e5b02013bcaca4d9ab05"}, + {file = "black-23.12.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e0aaf6041986767a5e0ce663c7a2f0e9eaf21e6ff87a5f95cbf3675bfd4c41d2"}, + {file = "black-23.12.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c88b3711d12905b74206227109272673edce0cb29f27e1385f33b0163c414bba"}, + {file = "black-23.12.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a920b569dc6b3472513ba6ddea21f440d4b4c699494d2e972a1753cdc25df7b0"}, + {file = "black-23.12.1-cp310-cp310-win_amd64.whl", hash = "sha256:3fa4be75ef2a6b96ea8d92b1587dd8cb3a35c7e3d51f0738ced0781c3aa3a5a3"}, + {file = "black-23.12.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:8d4df77958a622f9b5a4c96edb4b8c0034f8434032ab11077ec6c56ae9f384ba"}, + {file = "black-23.12.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:602cfb1196dc692424c70b6507593a2b29aac0547c1be9a1d1365f0d964c353b"}, + {file = "black-23.12.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9c4352800f14be5b4864016882cdba10755bd50805c95f728011bcb47a4afd59"}, + {file = "black-23.12.1-cp311-cp311-win_amd64.whl", hash = "sha256:0808494f2b2df923ffc5723ed3c7b096bd76341f6213989759287611e9837d50"}, + {file = "black-23.12.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:25e57fd232a6d6ff3f4478a6fd0580838e47c93c83eaf1ccc92d4faf27112c4e"}, + {file = "black-23.12.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2d9e13db441c509a3763a7a3d9a49ccc1b4e974a47be4e08ade2a228876500ec"}, + {file = "black-23.12.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6d1bd9c210f8b109b1762ec9fd36592fdd528485aadb3f5849b2740ef17e674e"}, + {file = "black-23.12.1-cp312-cp312-win_amd64.whl", hash = "sha256:ae76c22bde5cbb6bfd211ec343ded2163bba7883c7bc77f6b756a1049436fbb9"}, + {file = "black-23.12.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1fa88a0f74e50e4487477bc0bb900c6781dbddfdfa32691e780bf854c3b4a47f"}, + {file = "black-23.12.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:a4d6a9668e45ad99d2f8ec70d5c8c04ef4f32f648ef39048d010b0689832ec6d"}, + {file = "black-23.12.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b18fb2ae6c4bb63eebe5be6bd869ba2f14fd0259bda7d18a46b764d8fb86298a"}, + {file = "black-23.12.1-cp38-cp38-win_amd64.whl", hash = "sha256:c04b6d9d20e9c13f43eee8ea87d44156b8505ca8a3c878773f68b4e4812a421e"}, + {file = "black-23.12.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:3e1b38b3135fd4c025c28c55ddfc236b05af657828a8a6abe5deec419a0b7055"}, + {file = "black-23.12.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:4f0031eaa7b921db76decd73636ef3a12c942ed367d8c3841a0739412b260a54"}, + {file = "black-23.12.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:97e56155c6b737854e60a9ab1c598ff2533d57e7506d97af5481141671abf3ea"}, + {file = "black-23.12.1-cp39-cp39-win_amd64.whl", hash = "sha256:dd15245c8b68fe2b6bd0f32c1556509d11bb33aec9b5d0866dd8e2ed3dba09c2"}, + {file = "black-23.12.1-py3-none-any.whl", hash = "sha256:78baad24af0f033958cad29731e27363183e140962595def56423e626f4bee3e"}, + {file = "black-23.12.1.tar.gz", hash = "sha256:4ce3ef14ebe8d9509188014d96af1c456a910d5b5cbf434a09fef7e024b3d0d5"}, ] [package.dependencies] @@ -528,7 +519,7 @@ typing-extensions = {version = ">=4.0.1", markers = "python_version < \"3.11\""} [package.extras] colorama = ["colorama (>=0.4.3)"] -d = ["aiohttp (>=3.7.4)"] +d = ["aiohttp (>=3.7.4)", "aiohttp (>=3.7.4,!=3.9.0)"] jupyter = ["ipython (>=7.8.0)", "tokenize-rt (>=3.2.0)"] uvloop = ["uvloop (>=0.15.2)"] @@ -773,13 +764,13 @@ files = [ [[package]] name = "comm" -version = "0.2.0" +version = "0.2.1" description = "Jupyter Python Comm implementation, for usage in ipykernel, xeus-python etc." optional = true python-versions = ">=3.8" files = [ - {file = "comm-0.2.0-py3-none-any.whl", hash = "sha256:2da8d9ebb8dd7bfc247adaff99f24dce705638a8042b85cb995066793e391001"}, - {file = "comm-0.2.0.tar.gz", hash = "sha256:a517ea2ca28931c7007a7a99c562a0fa5883cfb48963140cf642c41c948498be"}, + {file = "comm-0.2.1-py3-none-any.whl", hash = "sha256:87928485c0dfc0e7976fd89fc1e187023cf587e7c353e4a9b417555b44adf021"}, + {file = "comm-0.2.1.tar.gz", hash = "sha256:0bc91edae1344d39d3661dcbc36937181fdaddb304790458f8b044dbc064b89a"}, ] [package.dependencies] @@ -1036,13 +1027,13 @@ files = [ [[package]] name = "eth-abi" -version = "4.2.1" +version = "5.0.0" description = "eth_abi: Python utilities for working with Ethereum ABI definitions, especially encoding and decoding" optional = false -python-versions = ">=3.7.2, <4" +python-versions = ">=3.8, <4" files = [ - {file = "eth_abi-4.2.1-py3-none-any.whl", hash = "sha256:abd83410a5326145bf178675c276de0ed154f6dc695dcad1beafaa44d97f44ae"}, - {file = "eth_abi-4.2.1.tar.gz", hash = "sha256:60d88788d53725794cdb07c0f0bb0df2a31a6e1ad19644313fe6117ac24eeeb0"}, + {file = "eth_abi-5.0.0-py3-none-any.whl", hash = "sha256:936a715d7366ac13cac665cbdaf01cc4aabbe8c2d810d716287a9634f9665e01"}, + {file = "eth_abi-5.0.0.tar.gz", hash = "sha256:89c4454d794d9ed92ad5cb2794698c5cee6b7b3ca6009187d0e282adc7f9b6dc"}, ] [package.dependencies] @@ -1051,9 +1042,8 @@ eth-utils = ">=2.0.0" parsimonious = ">=0.9.0,<0.10.0" [package.extras] -dev = ["black (>=23)", "build (>=0.9.0)", "bumpversion (>=0.5.3)", "eth-hash[pycryptodome]", "flake8 (==6.0.0)", "flake8-bugbear (==23.3.23)", "hypothesis (>=4.18.2,<5.0.0)", "ipython", "isort (>=5.10.1)", "mypy (==0.971)", "pydocstyle (>=6.0.0)", "pytest (>=7.0.0)", "pytest-pythonpath (>=0.7.1)", "pytest-watch (>=4.1.0)", "pytest-xdist (>=2.4.0)", "sphinx (>=5.0.0)", "sphinx-rtd-theme (>=1.0.0)", "towncrier (>=21,<22)", "tox (>=4.0.0)", "twine", "wheel"] -doc = ["sphinx (>=5.0.0)", "sphinx-rtd-theme (>=1.0.0)", "towncrier (>=21,<22)"] -lint = ["black (>=23)", "flake8 (==6.0.0)", "flake8-bugbear (==23.3.23)", "isort (>=5.10.1)", "mypy (==0.971)", "pydocstyle (>=6.0.0)"] +dev = ["build (>=0.9.0)", "bumpversion (>=0.5.3)", "eth-hash[pycryptodome]", "hypothesis (>=4.18.2,<5.0.0)", "ipython", "pre-commit (>=3.4.0)", "pytest (>=7.0.0)", "pytest-pythonpath (>=0.7.1)", "pytest-xdist (>=2.4.0)", "sphinx (>=6.0.0)", "sphinx-rtd-theme (>=1.0.0)", "towncrier (>=21,<22)", "tox (>=4.0.0)", "twine", "wheel"] +docs = ["sphinx (>=6.0.0)", "sphinx-rtd-theme (>=1.0.0)", "towncrier (>=21,<22)"] test = ["eth-hash[pycryptodome]", "hypothesis (>=4.18.2,<5.0.0)", "pytest (>=7.0.0)", "pytest-pythonpath (>=0.7.1)", "pytest-xdist (>=2.4.0)"] tools = ["hypothesis (>=4.18.2,<5.0.0)"] @@ -1106,13 +1096,13 @@ test = ["hypothesis (>=3.31.2)", "pytest (>=6.2.5)", "tox (>=2.6.0)"] [[package]] name = "eth-hash" -version = "0.5.2" +version = "0.6.0" description = "eth-hash: The Ethereum hashing function, keccak256, sometimes (erroneously) called sha3" optional = false -python-versions = ">=3.7, <4" +python-versions = ">=3.8, <4" files = [ - {file = "eth-hash-0.5.2.tar.gz", hash = "sha256:1b5f10eca7765cc385e1430eefc5ced6e2e463bb18d1365510e2e539c1a6fe4e"}, - {file = "eth_hash-0.5.2-py3-none-any.whl", hash = "sha256:251f62f6579a1e247561679d78df37548bd5f59908da0b159982bf8293ad32f0"}, + {file = "eth-hash-0.6.0.tar.gz", hash = "sha256:ae72889e60db6acbb3872c288cfa02ed157f4c27630fcd7f9c8442302c31e478"}, + {file = "eth_hash-0.6.0-py3-none-any.whl", hash = "sha256:9f8daaa345764f8871dc461855049ac54ae4291d780279bce6fce7f24e3f17d3"}, ] [package.dependencies] @@ -1120,34 +1110,32 @@ pycryptodome = {version = ">=3.6.6,<4", optional = true, markers = "extra == \"p safe-pysha3 = {version = ">=1.0.0", optional = true, markers = "python_version >= \"3.9\" and extra == \"pysha3\""} [package.extras] -dev = ["black (>=23)", "build (>=0.9.0)", "bumpversion (>=0.5.3)", "flake8 (==6.0.0)", "flake8-bugbear (==23.3.23)", "ipython", "isort (>=5.10.1)", "mypy (==0.971)", "pydocstyle (>=6.0.0)", "pytest (>=7.0.0)", "pytest-watch (>=4.1.0)", "pytest-xdist (>=2.4.0)", "sphinx (>=6.0.0)", "sphinx-rtd-theme (>=1.0.0)", "towncrier (>=21,<22)", "tox (>=4.0.0)", "twine", "wheel"] -doc = ["sphinx (>=6.0.0)", "sphinx-rtd-theme (>=1.0.0)", "towncrier (>=21,<22)"] -lint = ["black (>=23)", "flake8 (==6.0.0)", "flake8-bugbear (==23.3.23)", "isort (>=5.10.1)", "mypy (==0.971)", "pydocstyle (>=6.0.0)"] +dev = ["build (>=0.9.0)", "bumpversion (>=0.5.3)", "ipython", "pre-commit (>=3.4.0)", "pytest (>=7.0.0)", "pytest-xdist (>=2.4.0)", "sphinx (>=6.0.0)", "sphinx-rtd-theme (>=1.0.0)", "towncrier (>=21,<22)", "tox (>=4.0.0)", "twine", "wheel"] +docs = ["sphinx (>=6.0.0)", "sphinx-rtd-theme (>=1.0.0)", "towncrier (>=21,<22)"] pycryptodome = ["pycryptodome (>=3.6.6,<4)"] pysha3 = ["pysha3 (>=1.0.0,<2.0.0)", "safe-pysha3 (>=1.0.0)"] test = ["pytest (>=7.0.0)", "pytest-xdist (>=2.4.0)"] [[package]] name = "eth-keyfile" -version = "0.6.1" -description = "A library for handling the encrypted keyfiles used to store ethereum private keys." +version = "0.7.0" +description = "eth-keyfile: A library for handling the encrypted keyfiles used to store ethereum private keys" optional = false -python-versions = "*" +python-versions = ">=3.8, <4" files = [ - {file = "eth-keyfile-0.6.1.tar.gz", hash = "sha256:471be6e5386fce7b22556b3d4bde5558dbce46d2674f00848027cb0a20abdc8c"}, - {file = "eth_keyfile-0.6.1-py3-none-any.whl", hash = "sha256:609773a1ad5956944a33348413cad366ec6986c53357a806528c8f61c4961560"}, + {file = "eth-keyfile-0.7.0.tar.gz", hash = "sha256:6bdb8110c3a50439deb68a04c93c9d5ddd5402353bfae1bf4cfca1d6dff14fcf"}, + {file = "eth_keyfile-0.7.0-py3-none-any.whl", hash = "sha256:6a89b231a2fe250c3a8f924f2695bb9cce33ddd0d6f7ebbcdacd183d7f83d537"}, ] [package.dependencies] -eth-keys = ">=0.4.0,<0.5.0" -eth-utils = ">=2,<3" +eth-keys = ">=0.4.0" +eth-utils = ">=2" pycryptodome = ">=3.6.6,<4" [package.extras] -dev = ["bumpversion (>=0.5.3,<1)", "eth-keys (>=0.4.0,<0.5.0)", "eth-utils (>=2,<3)", "flake8 (==4.0.1)", "idna (==2.7)", "pluggy (>=1.0.0,<2)", "pycryptodome (>=3.6.6,<4)", "pytest (>=6.2.5,<7)", "requests (>=2.20,<3)", "setuptools (>=38.6.0)", "tox (>=2.7.0)", "twine", "wheel"] -keyfile = ["eth-keys (>=0.4.0,<0.5.0)", "eth-utils (>=2,<3)", "pycryptodome (>=3.6.6,<4)"] -lint = ["flake8 (==4.0.1)"] -test = ["pytest (>=6.2.5,<7)"] +dev = ["build (>=0.9.0)", "bumpversion (>=0.5.3)", "ipython", "pre-commit (>=3.4.0)", "pytest (>=7.0.0)", "pytest-xdist (>=2.4.0)", "towncrier (>=21,<22)", "tox (>=4.0.0)", "twine", "wheel"] +docs = ["towncrier (>=21,<22)"] +test = ["pytest (>=7.0.0)", "pytest-xdist (>=2.4.0)"] [[package]] name = "eth-keys" @@ -1171,27 +1159,52 @@ eth-keys = ["eth-typing (>=3.0.0,<4)", "eth-utils (>=2.0.0,<3.0.0)"] lint = ["flake8 (==3.0.4)", "mypy (==0.782)"] test = ["asn1tools (>=0.146.2,<0.147)", "eth-hash[pycryptodome]", "eth-hash[pysha3]", "factory-boy (>=3.0.1,<3.1)", "hypothesis (>=5.10.3,<6.0.0)", "pyasn1 (>=0.4.5,<0.5)", "pytest (==6.2.5)"] +[[package]] +name = "eth-pydantic-types" +version = "0.1.0a5" +description = "eth-pydantic-types: Pydantic Types for Ethereum" +optional = false +python-versions = ">=3.8,<4" +files = [ + {file = "eth-pydantic-types-0.1.0a5.tar.gz", hash = "sha256:4392ab016b4d3a5831517b17082a122268b4425f45ea2faf25d275a7cf79b927"}, + {file = "eth_pydantic_types-0.1.0a5-py3-none-any.whl", hash = "sha256:3a2f37a19a13e4660071c9d3f7931aa139d36af94b0a4aaf340d44c44ae9e577"}, +] + +[package.dependencies] +eth-hash = {version = ">=0.5.2,<1", extras = ["pycryptodome"]} +eth-typing = ">=3.5.0,<4" +eth-utils = ">=2.2.0,<3" +hexbytes = ">=0.3.0,<1" +pydantic = ">=2.4.2,<3" +typing-extensions = ">=4.8.0,<5" + +[package.extras] +dev = ["Sphinx (>=6.1.3,<7)", "black (>=23.11.0,<24)", "commitizen (>=2.40,<2.41)", "flake8 (>=6.1.0,<7)", "flake8-breakpoint (>=1.1.0,<2)", "flake8-print (>=5.0.0,<6)", "hypothesis (>=6.2.0,<7.0)", "hypothesis-jsonschema (==0.19.0)", "ipdb", "isort (>=5.10.1,<6)", "mdformat (>=0.7.17)", "mdformat-frontmatter (>=0.4.1)", "mdformat-gfm (>=0.3.5)", "mdformat-pyproject (>=0.0.1)", "mypy (>=1.7.1,<2)", "myst-parser (>=1.0.0,<2)", "packaging (>=23.1,<24)", "pre-commit", "pytest-cov (>=4.0.0,<5)", "pytest-mock", "pytest-watch", "pytest-xdist", "setuptools", "sphinx-rtd-theme (>=1.2.0,<2)", "sphinxcontrib-napoleon (>=0.7)", "twine (==3.8.0)", "types-setuptools", "wheel"] +doc = ["Sphinx (>=6.1.3,<7)", "myst-parser (>=1.0.0,<2)", "packaging (>=23.1,<24)", "sphinx-rtd-theme (>=1.2.0,<2)", "sphinxcontrib-napoleon (>=0.7)"] +lint = ["black (>=23.11.0,<24)", "flake8 (>=6.1.0,<7)", "flake8-breakpoint (>=1.1.0,<2)", "flake8-print (>=5.0.0,<6)", "isort (>=5.10.1,<6)", "mdformat (>=0.7.17)", "mdformat-frontmatter (>=0.4.1)", "mdformat-gfm (>=0.3.5)", "mdformat-pyproject (>=0.0.1)", "mypy (>=1.7.1,<2)", "types-setuptools"] +release = ["packaging (>=23.1,<24)", "setuptools", "twine (==3.8.0)", "wheel"] +test = ["hypothesis (>=6.2.0,<7.0)", "hypothesis-jsonschema (==0.19.0)", "pytest-cov (>=4.0.0,<5)", "pytest-mock", "pytest-xdist"] + [[package]] name = "eth-rlp" -version = "0.3.0" +version = "1.0.0" description = "eth-rlp: RLP definitions for common Ethereum objects in Python" optional = false -python-versions = ">=3.7, <4" +python-versions = ">=3.8, <4" files = [ - {file = "eth-rlp-0.3.0.tar.gz", hash = "sha256:f3263b548df718855d9a8dbd754473f383c0efc82914b0b849572ce3e06e71a6"}, - {file = "eth_rlp-0.3.0-py3-none-any.whl", hash = "sha256:e88e949a533def85c69fa94224618bbbd6de00061f4cff645c44621dab11cf33"}, + {file = "eth-rlp-1.0.0.tar.gz", hash = "sha256:a988d713a36452e7c6da71186798343f687eaf3aeb7f99266750dd9e1f754c7b"}, + {file = "eth_rlp-1.0.0-py3-none-any.whl", hash = "sha256:5029b90334bf21d4b728278b42d4672700c34e65ef34a70610b8fffcc8255fc8"}, ] [package.dependencies] -eth-utils = ">=2.0.0,<3" +eth-utils = ">=2.0.0" hexbytes = ">=0.1.0,<1" -rlp = ">=0.6.0,<4" +rlp = ">=0.6.0" [package.extras] -dev = ["Sphinx (>=1.6.5,<2)", "bumpversion (>=0.5.3,<1)", "eth-hash[pycryptodome]", "flake8 (==3.7.9)", "ipython", "isort (>=4.2.15,<5)", "mypy (==0.770)", "pydocstyle (>=3.0.0,<4)", "pytest (>=6.2.5,<7)", "pytest-watch (>=4.1.0,<5)", "pytest-xdist", "sphinx-rtd-theme (>=0.1.9)", "towncrier (>=19.2.0,<20)", "tox (==3.14.6)", "twine", "wheel"] -doc = ["Sphinx (>=1.6.5,<2)", "sphinx-rtd-theme (>=0.1.9)", "towncrier (>=19.2.0,<20)"] -lint = ["flake8 (==3.7.9)", "isort (>=4.2.15,<5)", "mypy (==0.770)", "pydocstyle (>=3.0.0,<4)"] -test = ["eth-hash[pycryptodome]", "pytest (>=6.2.5,<7)", "pytest-xdist", "tox (==3.14.6)"] +dev = ["build (>=0.9.0)", "bumpversion (>=0.5.3)", "eth-hash[pycryptodome]", "ipython", "pre-commit (>=3.4.0)", "pytest (>=7.0.0)", "pytest-xdist (>=2.4.0)", "sphinx (>=6.0.0)", "sphinx-rtd-theme (>=1.0.0)", "towncrier (>=21,<22)", "tox (>=4.0.0)", "twine", "wheel"] +docs = ["sphinx (>=6.0.0)", "sphinx-rtd-theme (>=1.0.0)", "towncrier (>=21,<22)"] +test = ["eth-hash[pycryptodome]", "pytest (>=7.0.0)", "pytest-xdist (>=2.4.0)"] [[package]] name = "eth-tester" @@ -1268,52 +1281,27 @@ docs = ["sphinx (>=5.0.0)", "sphinx-rtd-theme (>=1.0.0)", "towncrier (>=21,<22)" lint = ["black (>=23)", "flake8 (==3.8.3)", "isort (>=5.11.0)", "mypy (==0.971)", "pydocstyle (>=5.0.0)", "types-setuptools"] test = ["hypothesis (>=4.43.0)", "mypy (==0.971)", "pytest (>=7.0.0)", "pytest-xdist (>=2.4.0)", "types-setuptools"] -[[package]] -name = "ethpm-types" -version = "0.5.11" -description = "ethpm_types: Implementation of EIP-2678" -optional = false -python-versions = ">=3.8,<4" -files = [ - {file = "ethpm-types-0.5.11.tar.gz", hash = "sha256:df6b0f06ab6ced834ec1c2858c30817095846739747313b41a681b0eb20b9251"}, - {file = "ethpm_types-0.5.11-py3-none-any.whl", hash = "sha256:2a3b39cbf46bc8248f1c98bb56584c65496b63d1200a30f8d5daa74c4e4c7fd8"}, -] - -[package.dependencies] -eth-utils = ">=2.1.0,<3" -hexbytes = ">=0.3.0,<1" -py-cid = ">=0.3.0,<0.4" -pydantic = ">=1.10.7,<2.0.dev0 || >=2.3.dev0,<3" -requests = ">=2.29.0,<3" - -[package.extras] -dev = ["IPython", "PyGithub (>=1.54,<2.0)", "black (>=23.11.0,<24)", "commitizen (>=2.40,<2.41)", "flake8 (>=6.1.0,<7)", "flake8-breakpoint (>=1.1.0)", "flake8-print (>=4.0.0)", "hypothesis (>=6.2.0,<7.0)", "hypothesis-jsonschema (==0.19.0)", "ipdb", "isort (>=5.10.1,<5.11)", "mypy (>=1.5.1,<2)", "pre-commit", "pysha3 (>=1.0.2,<2.0.0)", "pytest (>=6.0)", "pytest-cov", "pytest-watch", "pytest-xdist", "setuptools", "twine", "types-requests", "types-setuptools", "wheel"] -doc = ["Sphinx (>=4.4.0,<5.0)", "myst-parser (>=0.17.0,<0.18)", "sphinx-click (>=3.1.0,<4.0)", "sphinx-rtd-theme (>=1.0.0,<2)", "sphinxcontrib-napoleon (>=0.7)"] -lint = ["black (>=23.11.0,<24)", "flake8 (>=6.1.0,<7)", "flake8-breakpoint (>=1.1.0)", "flake8-print (>=4.0.0)", "isort (>=5.10.1,<5.11)", "mypy (>=1.5.1,<2)", "types-requests", "types-setuptools"] -release = ["setuptools", "twine", "wheel"] -test = ["PyGithub (>=1.54,<2.0)", "hypothesis (>=6.2.0,<7.0)", "hypothesis-jsonschema (==0.19.0)", "pysha3 (>=1.0.2,<2.0.0)", "pytest (>=6.0)", "pytest-cov", "pytest-xdist"] - [[package]] name = "evm-trace" -version = "0.1.0a25" +version = "0.1.2" description = "evm-trace: Ethereum Virtual Machine transaction tracing tool" optional = false python-versions = ">=3.8,<4" files = [ - {file = "evm-trace-0.1.0a25.tar.gz", hash = "sha256:0e5b6d6977bf42c3a5157ee3c5cdc5e57bd23827855283b516fa4e68d09e32e2"}, - {file = "evm_trace-0.1.0a25-py3-none-any.whl", hash = "sha256:5cd30ba28dcb2c7ba2461c124ad9059629c78bd0781f5c3f2a9939427f50cb47"}, + {file = "evm-trace-0.1.2.tar.gz", hash = "sha256:ddc73cf38eac187bee7c3d55992f9d74986a82350d8d78da105c4e3ec8130649"}, + {file = "evm_trace-0.1.2-py3-none-any.whl", hash = "sha256:ed0cac773005dd4913feb61aca71d6eee059c1b4e3b150c45d32fffeace217ec"}, ] [package.dependencies] -eth-utils = ">=2.1,<3" -ethpm-types = ">=0.5.0,<0.6" +eth-pydantic-types = ">=0.1.0a5" +eth-utils = ">=2.3.1,<3" msgspec = ">=0.8" -py-evm = ">=0.7.0a3,<0.8" -pydantic = ">=1.10.1,<3" +py-evm = ">=0.7.0a4,<0.9" +pydantic = ">=2.5.2,<3" [package.extras] -dev = ["IPython", "black (>=23.9.1,<24)", "commitizen", "eth-hash[pysha3]", "flake8 (>=6.1.0,<7)", "hypothesis (>=6.2.0,<7.0)", "ipdb", "isort (>=5.10.1,<6)", "mdformat (>=0.7.17)", "mdformat-frontmatter (>=0.4.1)", "mdformat-gfm (>=0.3.5)", "mypy (>=1.5.1,<2)", "pre-commit", "pytest (>=6.0)", "pytest-cov", "pytest-watch", "pytest-xdist", "setuptools", "twine", "types-setuptools", "wheel"] -lint = ["black (>=23.9.1,<24)", "flake8 (>=6.1.0,<7)", "isort (>=5.10.1,<6)", "mdformat (>=0.7.17)", "mdformat-frontmatter (>=0.4.1)", "mdformat-gfm (>=0.3.5)", "mypy (>=1.5.1,<2)", "types-setuptools"] +dev = ["IPython", "black (>=23.11.0,<24)", "commitizen", "eth-hash[pysha3]", "flake8 (>=6.1.0,<7)", "flake8-breakpoint (>=1.1.0,<2)", "flake8-print (>=5.0.0,<6)", "hypothesis (>=6.2.0,<7.0)", "ipdb", "isort (>=5.10.1,<6)", "mdformat (>=0.7.17)", "mdformat-frontmatter (>=0.4.1)", "mdformat-gfm (>=0.3.5)", "mdformat-pyproject (>=0.0.1)", "mypy (>=1.7.1,<2)", "pre-commit", "pytest (>=6.0)", "pytest-cov", "pytest-watch", "pytest-xdist", "setuptools", "twine", "types-setuptools", "wheel"] +lint = ["black (>=23.11.0,<24)", "flake8 (>=6.1.0,<7)", "flake8-breakpoint (>=1.1.0,<2)", "flake8-print (>=5.0.0,<6)", "isort (>=5.10.1,<6)", "mdformat (>=0.7.17)", "mdformat-frontmatter (>=0.4.1)", "mdformat-gfm (>=0.3.5)", "mdformat-pyproject (>=0.0.1)", "mypy (>=1.7.1,<2)", "types-setuptools"] release = ["setuptools", "twine", "wheel"] test = ["eth-hash[pysha3]", "hypothesis (>=6.2.0,<7.0)", "pytest (>=6.0)", "pytest-cov", "pytest-xdist"] @@ -1361,13 +1349,13 @@ tests = ["asttokens (>=2.1.0)", "coverage", "coverage-enable-subprocess", "ipyth [[package]] name = "fastjsonschema" -version = "2.19.0" +version = "2.19.1" description = "Fastest Python implementation of JSON schema" optional = true python-versions = "*" files = [ - {file = "fastjsonschema-2.19.0-py3-none-any.whl", hash = "sha256:b9fd1a2dd6971dbc7fee280a95bd199ae0dd9ce22beb91cc75e9c1c528a5170e"}, - {file = "fastjsonschema-2.19.0.tar.gz", hash = "sha256:e25df6647e1bc4a26070b700897b07b542ec898dd4f1f6ea013e7f6a88417225"}, + {file = "fastjsonschema-2.19.1-py3-none-any.whl", hash = "sha256:3672b47bc94178c9f23dbb654bf47440155d4db9df5f7bc47643315f9c405cd0"}, + {file = "fastjsonschema-2.19.1.tar.gz", hash = "sha256:e3126a94bdc4623d3de4485f8d468a12f02a67921315ddc87836d6e456dc789d"}, ] [package.extras] @@ -1402,59 +1390,59 @@ files = [ [[package]] name = "fonttools" -version = "4.45.1" +version = "4.47.2" description = "Tools to manipulate font files" optional = true python-versions = ">=3.8" files = [ - {file = "fonttools-4.45.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:45fa321c458ea29224067700954ec44493ae869b47e7c5485a350a149a19fb53"}, - {file = "fonttools-4.45.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0dc7617d96b1e668eea9250e1c1fe62d0c78c3f69573ce7e3332cc40e6d84356"}, - {file = "fonttools-4.45.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:03ed3bda541e86725f6b4e1b94213f13ed1ae51a5a1f167028534cedea38c010"}, - {file = "fonttools-4.45.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c4f4a5870e3b56788fb196da8cf30d0dfd51a76dc3b907861d018165f76ae4c2"}, - {file = "fonttools-4.45.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:a3c11d9687479f01eddef729aa737abcdea0a44fdaffb62a930a18892f186c9b"}, - {file = "fonttools-4.45.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:316cec50581e844c3ab69d7c82455b54c7cf18236b2f09e722faf665fbfcac58"}, - {file = "fonttools-4.45.1-cp310-cp310-win32.whl", hash = "sha256:e2277cba9f0b525e30de2a9ad3cb4219aa4bc697230c1645666b0deee9f914f0"}, - {file = "fonttools-4.45.1-cp310-cp310-win_amd64.whl", hash = "sha256:1b9e9ad2bcded9a1431afaa57c8d3c39143ac1f050862d66bddd863c515464a2"}, - {file = "fonttools-4.45.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:ff6a698bdd435d24c379f6e8a54908cd9bb7dda23719084d56bf8c87709bf3bd"}, - {file = "fonttools-4.45.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:2c980d60cd6ec1376206fe55013d166e5627ad0b149b5c81e74eaa913ab6134f"}, - {file = "fonttools-4.45.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a12dee6523c02ca78aeedd0a5e12bfa9b7b29896350edd5241542897b072ae23"}, - {file = "fonttools-4.45.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:37cd1ced6efb3dd6fe82e9f9bf92fd74ac58a5aefc284045f59ecd517a5fb9ab"}, - {file = "fonttools-4.45.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e3d24248221bd7151dfff0d88b1b5da02dccd7134bd576ce8888199827bbaa19"}, - {file = "fonttools-4.45.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:ba6c23591427844dfb0a13658f1718489de75de6a46b64234584c0d17573162d"}, - {file = "fonttools-4.45.1-cp311-cp311-win32.whl", hash = "sha256:cebcddbe9351b67166292b4f71ffdbfcce01ba4b07d4267824eb46b277aeb19a"}, - {file = "fonttools-4.45.1-cp311-cp311-win_amd64.whl", hash = "sha256:f22eb69996a0bd49f76bdefb30be54ce8dbb89a0d1246874d610f05c2aa2e69e"}, - {file = "fonttools-4.45.1-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:794de93e83297db7b4943f2431e206d8b1ea69cb3ae14638a49cc50332bf0db8"}, - {file = "fonttools-4.45.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:4ba17822a6681d06849078daaf6e03eccc9f467efe7c4c60280e28a78e8e5df9"}, - {file = "fonttools-4.45.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e50f794d09df0675da8d9dbd7c66bfcab2f74a708343aabcad41936d26556891"}, - {file = "fonttools-4.45.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8b07b857d4f9de3199a8c3d1b1bf2078c0f37447891ca1a8d9234106b9a27aff"}, - {file = "fonttools-4.45.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:777ba42b94a27bb7fb2b4082522fccfd345667c32a56011e1c3e105979af5b79"}, - {file = "fonttools-4.45.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:21e96b99878348c74aa58059b8578d7586f9519cbcdadacf56486737038aa043"}, - {file = "fonttools-4.45.1-cp312-cp312-win32.whl", hash = "sha256:5cbf02cda8465b69769d07385f5d11e7bba19954e7787792f46fe679ec755ebb"}, - {file = "fonttools-4.45.1-cp312-cp312-win_amd64.whl", hash = "sha256:800e354e0c3afaeb8d9552769773d02f228e98c37b8cb03041157c3d0687cffc"}, - {file = "fonttools-4.45.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:6eb2c54f7a07c92108daabcf02caf31df97825738db02a28270633946bcda4d0"}, - {file = "fonttools-4.45.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:43a3d267334109ff849c37cf3629476b5feb392ef1d2e464a167b83de8cd599c"}, - {file = "fonttools-4.45.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8e1aefc2bf3c43e0f33f995f828a7bbeff4adc9393a7760b11456dbcf14388f6"}, - {file = "fonttools-4.45.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1f53a19dcdd5737440839b8394eeebb35da9ec8109f7926cb6456639b5b58e47"}, - {file = "fonttools-4.45.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:5a17706b9cc24b27721613fe5773d93331ab7f0ecaca9955aead89c6b843d3a7"}, - {file = "fonttools-4.45.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:fb36e5f40191274a95938b40c0a1fa7f895e36935aea8709e1d6deff0b2d0d4f"}, - {file = "fonttools-4.45.1-cp38-cp38-win32.whl", hash = "sha256:46eabddec12066829b8a1efe45ae552ba2f1796981ecf538d5f68284c354c589"}, - {file = "fonttools-4.45.1-cp38-cp38-win_amd64.whl", hash = "sha256:b6de2f0fcd3302fb82f94801002cb473959e998c14c24ec28234adb674aed345"}, - {file = "fonttools-4.45.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:392d0e3cc23daee910193625f7cf1b387aff9dd5b6f1a5f4a925680acb6dcbc2"}, - {file = "fonttools-4.45.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:4b9544b1346d99848ac0e9b05b5d45ee703d7562fc4c9c48cf4b781de9632e57"}, - {file = "fonttools-4.45.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8717db3e4895e4820ade64ea379187738827ee60748223cb0438ef044ee208c6"}, - {file = "fonttools-4.45.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e29d5f298d616a93a4c5963682dc6cc8cc09f6d89cad2c29019fc5fb3b4d9472"}, - {file = "fonttools-4.45.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:cb472905da3049960e80fc1cf808231880d79727a8410e156bf3e5063a1c574f"}, - {file = "fonttools-4.45.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:ba299f1fbaa2a1e33210aaaf6fa816d4059e4d3cfe2ae9871368d4ab548c1c6a"}, - {file = "fonttools-4.45.1-cp39-cp39-win32.whl", hash = "sha256:105099968b58a5b4cef6f3eb409db8ea8578b302a9d05e23fecba1b8b0177b5f"}, - {file = "fonttools-4.45.1-cp39-cp39-win_amd64.whl", hash = "sha256:847f3f49dd3423e5a678c098e2ba92c7f4955d4aab3044f6a507b0bb0ecb07e0"}, - {file = "fonttools-4.45.1-py3-none-any.whl", hash = "sha256:3bdd7dfca8f6c9f4779384064027e8477ad6a037d6a327b09381f43e0247c6f3"}, - {file = "fonttools-4.45.1.tar.gz", hash = "sha256:6e441286d55fe7ec7c4fb36812bf914924813776ff514b744b510680fc2733f2"}, + {file = "fonttools-4.47.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:3b629108351d25512d4ea1a8393a2dba325b7b7d7308116b605ea3f8e1be88df"}, + {file = "fonttools-4.47.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c19044256c44fe299d9a73456aabee4b4d06c6b930287be93b533b4737d70aa1"}, + {file = "fonttools-4.47.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b8be28c036b9f186e8c7eaf8a11b42373e7e4949f9e9f370202b9da4c4c3f56c"}, + {file = "fonttools-4.47.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f83a4daef6d2a202acb9bf572958f91cfde5b10c8ee7fb1d09a4c81e5d851fd8"}, + {file = "fonttools-4.47.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:4a5a5318ba5365d992666ac4fe35365f93004109d18858a3e18ae46f67907670"}, + {file = "fonttools-4.47.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:8f57ecd742545362a0f7186774b2d1c53423ed9ece67689c93a1055b236f638c"}, + {file = "fonttools-4.47.2-cp310-cp310-win32.whl", hash = "sha256:a1c154bb85dc9a4cf145250c88d112d88eb414bad81d4cb524d06258dea1bdc0"}, + {file = "fonttools-4.47.2-cp310-cp310-win_amd64.whl", hash = "sha256:3e2b95dce2ead58fb12524d0ca7d63a63459dd489e7e5838c3cd53557f8933e1"}, + {file = "fonttools-4.47.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:29495d6d109cdbabe73cfb6f419ce67080c3ef9ea1e08d5750240fd4b0c4763b"}, + {file = "fonttools-4.47.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:0a1d313a415eaaba2b35d6cd33536560deeebd2ed758b9bfb89ab5d97dc5deac"}, + {file = "fonttools-4.47.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:90f898cdd67f52f18049250a6474185ef6544c91f27a7bee70d87d77a8daf89c"}, + {file = "fonttools-4.47.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3480eeb52770ff75140fe7d9a2ec33fb67b07efea0ab5129c7e0c6a639c40c70"}, + {file = "fonttools-4.47.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:0255dbc128fee75fb9be364806b940ed450dd6838672a150d501ee86523ac61e"}, + {file = "fonttools-4.47.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:f791446ff297fd5f1e2247c188de53c1bfb9dd7f0549eba55b73a3c2087a2703"}, + {file = "fonttools-4.47.2-cp311-cp311-win32.whl", hash = "sha256:740947906590a878a4bde7dd748e85fefa4d470a268b964748403b3ab2aeed6c"}, + {file = "fonttools-4.47.2-cp311-cp311-win_amd64.whl", hash = "sha256:63fbed184979f09a65aa9c88b395ca539c94287ba3a364517698462e13e457c9"}, + {file = "fonttools-4.47.2-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:4ec558c543609e71b2275c4894e93493f65d2f41c15fe1d089080c1d0bb4d635"}, + {file = "fonttools-4.47.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:e040f905d542362e07e72e03612a6270c33d38281fd573160e1003e43718d68d"}, + {file = "fonttools-4.47.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6dd58cc03016b281bd2c74c84cdaa6bd3ce54c5a7f47478b7657b930ac3ed8eb"}, + {file = "fonttools-4.47.2-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:32ab2e9702dff0dd4510c7bb958f265a8d3dd5c0e2547e7b5f7a3df4979abb07"}, + {file = "fonttools-4.47.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:3a808f3c1d1df1f5bf39be869b6e0c263570cdafb5bdb2df66087733f566ea71"}, + {file = "fonttools-4.47.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:ac71e2e201df041a2891067dc36256755b1229ae167edbdc419b16da78732c2f"}, + {file = "fonttools-4.47.2-cp312-cp312-win32.whl", hash = "sha256:69731e8bea0578b3c28fdb43dbf95b9386e2d49a399e9a4ad736b8e479b08085"}, + {file = "fonttools-4.47.2-cp312-cp312-win_amd64.whl", hash = "sha256:b3e1304e5f19ca861d86a72218ecce68f391646d85c851742d265787f55457a4"}, + {file = "fonttools-4.47.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:254d9a6f7be00212bf0c3159e0a420eb19c63793b2c05e049eb337f3023c5ecc"}, + {file = "fonttools-4.47.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:eabae77a07c41ae0b35184894202305c3ad211a93b2eb53837c2a1143c8bc952"}, + {file = "fonttools-4.47.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a86a5ab2873ed2575d0fcdf1828143cfc6b977ac448e3dc616bb1e3d20efbafa"}, + {file = "fonttools-4.47.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:13819db8445a0cec8c3ff5f243af6418ab19175072a9a92f6cc8ca7d1452754b"}, + {file = "fonttools-4.47.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:4e743935139aa485fe3253fc33fe467eab6ea42583fa681223ea3f1a93dd01e6"}, + {file = "fonttools-4.47.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:d49ce3ea7b7173faebc5664872243b40cf88814ca3eb135c4a3cdff66af71946"}, + {file = "fonttools-4.47.2-cp38-cp38-win32.whl", hash = "sha256:94208ea750e3f96e267f394d5588579bb64cc628e321dbb1d4243ffbc291b18b"}, + {file = "fonttools-4.47.2-cp38-cp38-win_amd64.whl", hash = "sha256:0f750037e02beb8b3569fbff701a572e62a685d2a0e840d75816592280e5feae"}, + {file = "fonttools-4.47.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:3d71606c9321f6701642bd4746f99b6089e53d7e9817fc6b964e90d9c5f0ecc6"}, + {file = "fonttools-4.47.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:86e0427864c6c91cf77f16d1fb9bf1bbf7453e824589e8fb8461b6ee1144f506"}, + {file = "fonttools-4.47.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0a00bd0e68e88987dcc047ea31c26d40a3c61185153b03457956a87e39d43c37"}, + {file = "fonttools-4.47.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a5d77479fb885ef38a16a253a2f4096bc3d14e63a56d6246bfdb56365a12b20c"}, + {file = "fonttools-4.47.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:5465df494f20a7d01712b072ae3ee9ad2887004701b95cb2cc6dcb9c2c97a899"}, + {file = "fonttools-4.47.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:4c811d3c73b6abac275babb8aa439206288f56fdb2c6f8835e3d7b70de8937a7"}, + {file = "fonttools-4.47.2-cp39-cp39-win32.whl", hash = "sha256:5b60e3afa9635e3dfd3ace2757039593e3bd3cf128be0ddb7a1ff4ac45fa5a50"}, + {file = "fonttools-4.47.2-cp39-cp39-win_amd64.whl", hash = "sha256:7ee48bd9d6b7e8f66866c9090807e3a4a56cf43ffad48962725a190e0dd774c8"}, + {file = "fonttools-4.47.2-py3-none-any.whl", hash = "sha256:7eb7ad665258fba68fd22228a09f347469d95a97fb88198e133595947a20a184"}, + {file = "fonttools-4.47.2.tar.gz", hash = "sha256:7df26dd3650e98ca45f1e29883c96a0b9f5bb6af8d632a6a108bc744fa0bd9b3"}, ] [package.extras] -all = ["brotli (>=1.0.1)", "brotlicffi (>=0.8.0)", "fs (>=2.2.0,<3)", "lxml (>=4.0,<5)", "lz4 (>=1.7.4.2)", "matplotlib", "munkres", "scipy", "skia-pathops (>=0.5.0)", "sympy", "uharfbuzz (>=0.23.0)", "unicodedata2 (>=15.1.0)", "xattr", "zopfli (>=0.1.4)"] +all = ["brotli (>=1.0.1)", "brotlicffi (>=0.8.0)", "fs (>=2.2.0,<3)", "lxml (>=4.0,<5)", "lz4 (>=1.7.4.2)", "matplotlib", "munkres", "pycairo", "scipy", "skia-pathops (>=0.5.0)", "sympy", "uharfbuzz (>=0.23.0)", "unicodedata2 (>=15.1.0)", "xattr", "zopfli (>=0.1.4)"] graphite = ["lz4 (>=1.7.4.2)"] -interpolatable = ["munkres", "scipy"] +interpolatable = ["munkres", "pycairo", "scipy"] lxml = ["lxml (>=4.0,<5)"] pathops = ["skia-pathops (>=0.5.0)"] plot = ["matplotlib"] @@ -1478,72 +1466,88 @@ files = [ [[package]] name = "frozenlist" -version = "1.4.0" +version = "1.4.1" description = "A list-like structure which implements collections.abc.MutableSequence" optional = false python-versions = ">=3.8" files = [ - {file = "frozenlist-1.4.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:764226ceef3125e53ea2cb275000e309c0aa5464d43bd72abd661e27fffc26ab"}, - {file = "frozenlist-1.4.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d6484756b12f40003c6128bfcc3fa9f0d49a687e171186c2d85ec82e3758c559"}, - {file = "frozenlist-1.4.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9ac08e601308e41eb533f232dbf6b7e4cea762f9f84f6357136eed926c15d12c"}, - {file = "frozenlist-1.4.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d081f13b095d74b67d550de04df1c756831f3b83dc9881c38985834387487f1b"}, - {file = "frozenlist-1.4.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:71932b597f9895f011f47f17d6428252fc728ba2ae6024e13c3398a087c2cdea"}, - {file = "frozenlist-1.4.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:981b9ab5a0a3178ff413bca62526bb784249421c24ad7381e39d67981be2c326"}, - {file = "frozenlist-1.4.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e41f3de4df3e80de75845d3e743b3f1c4c8613c3997a912dbf0229fc61a8b963"}, - {file = "frozenlist-1.4.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6918d49b1f90821e93069682c06ffde41829c346c66b721e65a5c62b4bab0300"}, - {file = "frozenlist-1.4.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:0e5c8764c7829343d919cc2dfc587a8db01c4f70a4ebbc49abde5d4b158b007b"}, - {file = "frozenlist-1.4.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:8d0edd6b1c7fb94922bf569c9b092ee187a83f03fb1a63076e7774b60f9481a8"}, - {file = "frozenlist-1.4.0-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:e29cda763f752553fa14c68fb2195150bfab22b352572cb36c43c47bedba70eb"}, - {file = "frozenlist-1.4.0-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:0c7c1b47859ee2cac3846fde1c1dc0f15da6cec5a0e5c72d101e0f83dcb67ff9"}, - {file = "frozenlist-1.4.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:901289d524fdd571be1c7be054f48b1f88ce8dddcbdf1ec698b27d4b8b9e5d62"}, - {file = "frozenlist-1.4.0-cp310-cp310-win32.whl", hash = "sha256:1a0848b52815006ea6596c395f87449f693dc419061cc21e970f139d466dc0a0"}, - {file = "frozenlist-1.4.0-cp310-cp310-win_amd64.whl", hash = "sha256:b206646d176a007466358aa21d85cd8600a415c67c9bd15403336c331a10d956"}, - {file = "frozenlist-1.4.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:de343e75f40e972bae1ef6090267f8260c1446a1695e77096db6cfa25e759a95"}, - {file = "frozenlist-1.4.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ad2a9eb6d9839ae241701d0918f54c51365a51407fd80f6b8289e2dfca977cc3"}, - {file = "frozenlist-1.4.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:bd7bd3b3830247580de99c99ea2a01416dfc3c34471ca1298bccabf86d0ff4dc"}, - {file = "frozenlist-1.4.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bdf1847068c362f16b353163391210269e4f0569a3c166bc6a9f74ccbfc7e839"}, - {file = "frozenlist-1.4.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:38461d02d66de17455072c9ba981d35f1d2a73024bee7790ac2f9e361ef1cd0c"}, - {file = "frozenlist-1.4.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d5a32087d720c608f42caed0ef36d2b3ea61a9d09ee59a5142d6070da9041b8f"}, - {file = "frozenlist-1.4.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dd65632acaf0d47608190a71bfe46b209719bf2beb59507db08ccdbe712f969b"}, - {file = "frozenlist-1.4.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:261b9f5d17cac914531331ff1b1d452125bf5daa05faf73b71d935485b0c510b"}, - {file = "frozenlist-1.4.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:b89ac9768b82205936771f8d2eb3ce88503b1556324c9f903e7156669f521472"}, - {file = "frozenlist-1.4.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:008eb8b31b3ea6896da16c38c1b136cb9fec9e249e77f6211d479db79a4eaf01"}, - {file = "frozenlist-1.4.0-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:e74b0506fa5aa5598ac6a975a12aa8928cbb58e1f5ac8360792ef15de1aa848f"}, - {file = "frozenlist-1.4.0-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:490132667476f6781b4c9458298b0c1cddf237488abd228b0b3650e5ecba7467"}, - {file = "frozenlist-1.4.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:76d4711f6f6d08551a7e9ef28c722f4a50dd0fc204c56b4bcd95c6cc05ce6fbb"}, - {file = "frozenlist-1.4.0-cp311-cp311-win32.whl", hash = "sha256:a02eb8ab2b8f200179b5f62b59757685ae9987996ae549ccf30f983f40602431"}, - {file = "frozenlist-1.4.0-cp311-cp311-win_amd64.whl", hash = "sha256:515e1abc578dd3b275d6a5114030b1330ba044ffba03f94091842852f806f1c1"}, - {file = "frozenlist-1.4.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:f0ed05f5079c708fe74bf9027e95125334b6978bf07fd5ab923e9e55e5fbb9d3"}, - {file = "frozenlist-1.4.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:ca265542ca427bf97aed183c1676e2a9c66942e822b14dc6e5f42e038f92a503"}, - {file = "frozenlist-1.4.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:491e014f5c43656da08958808588cc6c016847b4360e327a62cb308c791bd2d9"}, - {file = "frozenlist-1.4.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:17ae5cd0f333f94f2e03aaf140bb762c64783935cc764ff9c82dff626089bebf"}, - {file = "frozenlist-1.4.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1e78fb68cf9c1a6aa4a9a12e960a5c9dfbdb89b3695197aa7064705662515de2"}, - {file = "frozenlist-1.4.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d5655a942f5f5d2c9ed93d72148226d75369b4f6952680211972a33e59b1dfdc"}, - {file = "frozenlist-1.4.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c11b0746f5d946fecf750428a95f3e9ebe792c1ee3b1e96eeba145dc631a9672"}, - {file = "frozenlist-1.4.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e66d2a64d44d50d2543405fb183a21f76b3b5fd16f130f5c99187c3fb4e64919"}, - {file = "frozenlist-1.4.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:88f7bc0fcca81f985f78dd0fa68d2c75abf8272b1f5c323ea4a01a4d7a614efc"}, - {file = "frozenlist-1.4.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:5833593c25ac59ede40ed4de6d67eb42928cca97f26feea219f21d0ed0959b79"}, - {file = "frozenlist-1.4.0-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:fec520865f42e5c7f050c2a79038897b1c7d1595e907a9e08e3353293ffc948e"}, - {file = "frozenlist-1.4.0-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:b826d97e4276750beca7c8f0f1a4938892697a6bcd8ec8217b3312dad6982781"}, - {file = "frozenlist-1.4.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:ceb6ec0a10c65540421e20ebd29083c50e6d1143278746a4ef6bcf6153171eb8"}, - {file = "frozenlist-1.4.0-cp38-cp38-win32.whl", hash = "sha256:2b8bcf994563466db019fab287ff390fffbfdb4f905fc77bc1c1d604b1c689cc"}, - {file = "frozenlist-1.4.0-cp38-cp38-win_amd64.whl", hash = "sha256:a6c8097e01886188e5be3e6b14e94ab365f384736aa1fca6a0b9e35bd4a30bc7"}, - {file = "frozenlist-1.4.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:6c38721585f285203e4b4132a352eb3daa19121a035f3182e08e437cface44bf"}, - {file = "frozenlist-1.4.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:a0c6da9aee33ff0b1a451e867da0c1f47408112b3391dd43133838339e410963"}, - {file = "frozenlist-1.4.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:93ea75c050c5bb3d98016b4ba2497851eadf0ac154d88a67d7a6816206f6fa7f"}, - {file = "frozenlist-1.4.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f61e2dc5ad442c52b4887f1fdc112f97caeff4d9e6ebe78879364ac59f1663e1"}, - {file = "frozenlist-1.4.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:aa384489fefeb62321b238e64c07ef48398fe80f9e1e6afeff22e140e0850eef"}, - {file = "frozenlist-1.4.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:10ff5faaa22786315ef57097a279b833ecab1a0bfb07d604c9cbb1c4cdc2ed87"}, - {file = "frozenlist-1.4.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:007df07a6e3eb3e33e9a1fe6a9db7af152bbd8a185f9aaa6ece10a3529e3e1c6"}, - {file = "frozenlist-1.4.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7f4f399d28478d1f604c2ff9119907af9726aed73680e5ed1ca634d377abb087"}, - {file = "frozenlist-1.4.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:c5374b80521d3d3f2ec5572e05adc94601985cc526fb276d0c8574a6d749f1b3"}, - {file = "frozenlist-1.4.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:ce31ae3e19f3c902de379cf1323d90c649425b86de7bbdf82871b8a2a0615f3d"}, - {file = "frozenlist-1.4.0-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:7211ef110a9194b6042449431e08c4d80c0481e5891e58d429df5899690511c2"}, - {file = "frozenlist-1.4.0-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:556de4430ce324c836789fa4560ca62d1591d2538b8ceb0b4f68fb7b2384a27a"}, - {file = "frozenlist-1.4.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:7645a8e814a3ee34a89c4a372011dcd817964ce8cb273c8ed6119d706e9613e3"}, - {file = "frozenlist-1.4.0-cp39-cp39-win32.whl", hash = "sha256:19488c57c12d4e8095a922f328df3f179c820c212940a498623ed39160bc3c2f"}, - {file = "frozenlist-1.4.0-cp39-cp39-win_amd64.whl", hash = "sha256:6221d84d463fb110bdd7619b69cb43878a11d51cbb9394ae3105d082d5199167"}, - {file = "frozenlist-1.4.0.tar.gz", hash = "sha256:09163bdf0b2907454042edb19f887c6d33806adc71fbd54afc14908bfdc22251"}, + {file = "frozenlist-1.4.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:f9aa1878d1083b276b0196f2dfbe00c9b7e752475ed3b682025ff20c1c1f51ac"}, + {file = "frozenlist-1.4.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:29acab3f66f0f24674b7dc4736477bcd4bc3ad4b896f5f45379a67bce8b96868"}, + {file = "frozenlist-1.4.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:74fb4bee6880b529a0c6560885fce4dc95936920f9f20f53d99a213f7bf66776"}, + {file = "frozenlist-1.4.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:590344787a90ae57d62511dd7c736ed56b428f04cd8c161fcc5e7232c130c69a"}, + {file = "frozenlist-1.4.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:068b63f23b17df8569b7fdca5517edef76171cf3897eb68beb01341131fbd2ad"}, + {file = "frozenlist-1.4.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5c849d495bf5154cd8da18a9eb15db127d4dba2968d88831aff6f0331ea9bd4c"}, + {file = "frozenlist-1.4.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9750cc7fe1ae3b1611bb8cfc3f9ec11d532244235d75901fb6b8e42ce9229dfe"}, + {file = "frozenlist-1.4.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a9b2de4cf0cdd5bd2dee4c4f63a653c61d2408055ab77b151c1957f221cabf2a"}, + {file = "frozenlist-1.4.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:0633c8d5337cb5c77acbccc6357ac49a1770b8c487e5b3505c57b949b4b82e98"}, + {file = "frozenlist-1.4.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:27657df69e8801be6c3638054e202a135c7f299267f1a55ed3a598934f6c0d75"}, + {file = "frozenlist-1.4.1-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:f9a3ea26252bd92f570600098783d1371354d89d5f6b7dfd87359d669f2109b5"}, + {file = "frozenlist-1.4.1-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:4f57dab5fe3407b6c0c1cc907ac98e8a189f9e418f3b6e54d65a718aaafe3950"}, + {file = "frozenlist-1.4.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:e02a0e11cf6597299b9f3bbd3f93d79217cb90cfd1411aec33848b13f5c656cc"}, + {file = "frozenlist-1.4.1-cp310-cp310-win32.whl", hash = "sha256:a828c57f00f729620a442881cc60e57cfcec6842ba38e1b19fd3e47ac0ff8dc1"}, + {file = "frozenlist-1.4.1-cp310-cp310-win_amd64.whl", hash = "sha256:f56e2333dda1fe0f909e7cc59f021eba0d2307bc6f012a1ccf2beca6ba362439"}, + {file = "frozenlist-1.4.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:a0cb6f11204443f27a1628b0e460f37fb30f624be6051d490fa7d7e26d4af3d0"}, + {file = "frozenlist-1.4.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b46c8ae3a8f1f41a0d2ef350c0b6e65822d80772fe46b653ab6b6274f61d4a49"}, + {file = "frozenlist-1.4.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:fde5bd59ab5357e3853313127f4d3565fc7dad314a74d7b5d43c22c6a5ed2ced"}, + {file = "frozenlist-1.4.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:722e1124aec435320ae01ee3ac7bec11a5d47f25d0ed6328f2273d287bc3abb0"}, + {file = "frozenlist-1.4.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2471c201b70d58a0f0c1f91261542a03d9a5e088ed3dc6c160d614c01649c106"}, + {file = "frozenlist-1.4.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c757a9dd70d72b076d6f68efdbb9bc943665ae954dad2801b874c8c69e185068"}, + {file = "frozenlist-1.4.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f146e0911cb2f1da549fc58fc7bcd2b836a44b79ef871980d605ec392ff6b0d2"}, + {file = "frozenlist-1.4.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4f9c515e7914626b2a2e1e311794b4c35720a0be87af52b79ff8e1429fc25f19"}, + {file = "frozenlist-1.4.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:c302220494f5c1ebeb0912ea782bcd5e2f8308037b3c7553fad0e48ebad6ad82"}, + {file = "frozenlist-1.4.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:442acde1e068288a4ba7acfe05f5f343e19fac87bfc96d89eb886b0363e977ec"}, + {file = "frozenlist-1.4.1-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:1b280e6507ea8a4fa0c0a7150b4e526a8d113989e28eaaef946cc77ffd7efc0a"}, + {file = "frozenlist-1.4.1-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:fe1a06da377e3a1062ae5fe0926e12b84eceb8a50b350ddca72dc85015873f74"}, + {file = "frozenlist-1.4.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:db9e724bebd621d9beca794f2a4ff1d26eed5965b004a97f1f1685a173b869c2"}, + {file = "frozenlist-1.4.1-cp311-cp311-win32.whl", hash = "sha256:e774d53b1a477a67838a904131c4b0eef6b3d8a651f8b138b04f748fccfefe17"}, + {file = "frozenlist-1.4.1-cp311-cp311-win_amd64.whl", hash = "sha256:fb3c2db03683b5767dedb5769b8a40ebb47d6f7f45b1b3e3b4b51ec8ad9d9825"}, + {file = "frozenlist-1.4.1-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:1979bc0aeb89b33b588c51c54ab0161791149f2461ea7c7c946d95d5f93b56ae"}, + {file = "frozenlist-1.4.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:cc7b01b3754ea68a62bd77ce6020afaffb44a590c2289089289363472d13aedb"}, + {file = "frozenlist-1.4.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:c9c92be9fd329ac801cc420e08452b70e7aeab94ea4233a4804f0915c14eba9b"}, + {file = "frozenlist-1.4.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5c3894db91f5a489fc8fa6a9991820f368f0b3cbdb9cd8849547ccfab3392d86"}, + {file = "frozenlist-1.4.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ba60bb19387e13597fb059f32cd4d59445d7b18b69a745b8f8e5db0346f33480"}, + {file = "frozenlist-1.4.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8aefbba5f69d42246543407ed2461db31006b0f76c4e32dfd6f42215a2c41d09"}, + {file = "frozenlist-1.4.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:780d3a35680ced9ce682fbcf4cb9c2bad3136eeff760ab33707b71db84664e3a"}, + {file = "frozenlist-1.4.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9acbb16f06fe7f52f441bb6f413ebae6c37baa6ef9edd49cdd567216da8600cd"}, + {file = "frozenlist-1.4.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:23b701e65c7b36e4bf15546a89279bd4d8675faabc287d06bbcfac7d3c33e1e6"}, + {file = "frozenlist-1.4.1-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:3e0153a805a98f5ada7e09826255ba99fb4f7524bb81bf6b47fb702666484ae1"}, + {file = "frozenlist-1.4.1-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:dd9b1baec094d91bf36ec729445f7769d0d0cf6b64d04d86e45baf89e2b9059b"}, + {file = "frozenlist-1.4.1-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:1a4471094e146b6790f61b98616ab8e44f72661879cc63fa1049d13ef711e71e"}, + {file = "frozenlist-1.4.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:5667ed53d68d91920defdf4035d1cdaa3c3121dc0b113255124bcfada1cfa1b8"}, + {file = "frozenlist-1.4.1-cp312-cp312-win32.whl", hash = "sha256:beee944ae828747fd7cb216a70f120767fc9f4f00bacae8543c14a6831673f89"}, + {file = "frozenlist-1.4.1-cp312-cp312-win_amd64.whl", hash = "sha256:64536573d0a2cb6e625cf309984e2d873979709f2cf22839bf2d61790b448ad5"}, + {file = "frozenlist-1.4.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:20b51fa3f588ff2fe658663db52a41a4f7aa6c04f6201449c6c7c476bd255c0d"}, + {file = "frozenlist-1.4.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:410478a0c562d1a5bcc2f7ea448359fcb050ed48b3c6f6f4f18c313a9bdb1826"}, + {file = "frozenlist-1.4.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:c6321c9efe29975232da3bd0af0ad216800a47e93d763ce64f291917a381b8eb"}, + {file = "frozenlist-1.4.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:48f6a4533887e189dae092f1cf981f2e3885175f7a0f33c91fb5b7b682b6bab6"}, + {file = "frozenlist-1.4.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6eb73fa5426ea69ee0e012fb59cdc76a15b1283d6e32e4f8dc4482ec67d1194d"}, + {file = "frozenlist-1.4.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fbeb989b5cc29e8daf7f976b421c220f1b8c731cbf22b9130d8815418ea45887"}, + {file = "frozenlist-1.4.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:32453c1de775c889eb4e22f1197fe3bdfe457d16476ea407472b9442e6295f7a"}, + {file = "frozenlist-1.4.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:693945278a31f2086d9bf3df0fe8254bbeaef1fe71e1351c3bd730aa7d31c41b"}, + {file = "frozenlist-1.4.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:1d0ce09d36d53bbbe566fe296965b23b961764c0bcf3ce2fa45f463745c04701"}, + {file = "frozenlist-1.4.1-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:3a670dc61eb0d0eb7080890c13de3066790f9049b47b0de04007090807c776b0"}, + {file = "frozenlist-1.4.1-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:dca69045298ce5c11fd539682cff879cc1e664c245d1c64da929813e54241d11"}, + {file = "frozenlist-1.4.1-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:a06339f38e9ed3a64e4c4e43aec7f59084033647f908e4259d279a52d3757d09"}, + {file = "frozenlist-1.4.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:b7f2f9f912dca3934c1baec2e4585a674ef16fe00218d833856408c48d5beee7"}, + {file = "frozenlist-1.4.1-cp38-cp38-win32.whl", hash = "sha256:e7004be74cbb7d9f34553a5ce5fb08be14fb33bc86f332fb71cbe5216362a497"}, + {file = "frozenlist-1.4.1-cp38-cp38-win_amd64.whl", hash = "sha256:5a7d70357e7cee13f470c7883a063aae5fe209a493c57d86eb7f5a6f910fae09"}, + {file = "frozenlist-1.4.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:bfa4a17e17ce9abf47a74ae02f32d014c5e9404b6d9ac7f729e01562bbee601e"}, + {file = "frozenlist-1.4.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:b7e3ed87d4138356775346e6845cccbe66cd9e207f3cd11d2f0b9fd13681359d"}, + {file = "frozenlist-1.4.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:c99169d4ff810155ca50b4da3b075cbde79752443117d89429595c2e8e37fed8"}, + {file = "frozenlist-1.4.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:edb678da49d9f72c9f6c609fbe41a5dfb9a9282f9e6a2253d5a91e0fc382d7c0"}, + {file = "frozenlist-1.4.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6db4667b187a6742b33afbbaf05a7bc551ffcf1ced0000a571aedbb4aa42fc7b"}, + {file = "frozenlist-1.4.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:55fdc093b5a3cb41d420884cdaf37a1e74c3c37a31f46e66286d9145d2063bd0"}, + {file = "frozenlist-1.4.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:82e8211d69a4f4bc360ea22cd6555f8e61a1bd211d1d5d39d3d228b48c83a897"}, + {file = "frozenlist-1.4.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:89aa2c2eeb20957be2d950b85974b30a01a762f3308cd02bb15e1ad632e22dc7"}, + {file = "frozenlist-1.4.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:9d3e0c25a2350080e9319724dede4f31f43a6c9779be48021a7f4ebde8b2d742"}, + {file = "frozenlist-1.4.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:7268252af60904bf52c26173cbadc3a071cece75f873705419c8681f24d3edea"}, + {file = "frozenlist-1.4.1-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:0c250a29735d4f15321007fb02865f0e6b6a41a6b88f1f523ca1596ab5f50bd5"}, + {file = "frozenlist-1.4.1-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:96ec70beabbd3b10e8bfe52616a13561e58fe84c0101dd031dc78f250d5128b9"}, + {file = "frozenlist-1.4.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:23b2d7679b73fe0e5a4560b672a39f98dfc6f60df63823b0a9970525325b95f6"}, + {file = "frozenlist-1.4.1-cp39-cp39-win32.whl", hash = "sha256:a7496bfe1da7fb1a4e1cc23bb67c58fab69311cc7d32b5a99c2007b4b2a0e932"}, + {file = "frozenlist-1.4.1-cp39-cp39-win_amd64.whl", hash = "sha256:e6a20a581f9ce92d389a8c7d7c3dd47c81fd5d6e655c8dddf341e14aa48659d0"}, + {file = "frozenlist-1.4.1-py3-none-any.whl", hash = "sha256:04ced3e6a46b4cfffe20f9ae482818e34eba9b5fb0ce4056e4cc9b6e212d09b7"}, + {file = "frozenlist-1.4.1.tar.gz", hash = "sha256:c037a86e8513059a2613aaba4d817bb90b9d9b6b69aace3ce9c877e8c8ed402b"}, ] [[package]] @@ -1584,32 +1588,33 @@ tests = ["coverage", "pytest-mock", "pytest-timeout"] [[package]] name = "gql" -version = "3.4.1" +version = "3.5.0" description = "GraphQL client for Python" optional = true python-versions = "*" files = [ - {file = "gql-3.4.1-py2.py3-none-any.whl", hash = "sha256:315624ca0f4d571ef149d455033ebd35e45c1a13f18a059596aeddcea99135cf"}, - {file = "gql-3.4.1.tar.gz", hash = "sha256:11dc5d8715a827f2c2899593439a4f36449db4f0eafa5b1ea63948f8a2f8c545"}, + {file = "gql-3.5.0-py2.py3-none-any.whl", hash = "sha256:70dda5694a5b194a8441f077aa5fb70cc94e4ec08016117523f013680901ecb7"}, + {file = "gql-3.5.0.tar.gz", hash = "sha256:ccb9c5db543682b28f577069950488218ed65d4ac70bb03b6929aaadaf636de9"}, ] [package.dependencies] +anyio = ">=3.0,<5" backoff = ">=1.11.1,<3.0" graphql-core = ">=3.2,<3.3" requests = {version = ">=2.26,<3", optional = true, markers = "extra == \"requests\""} -requests-toolbelt = {version = ">=0.9.1,<1", optional = true, markers = "extra == \"requests\""} -urllib3 = {version = ">=1.26,<2", optional = true, markers = "extra == \"requests\""} +requests-toolbelt = {version = ">=1.0.0,<2", optional = true, markers = "extra == \"requests\""} yarl = ">=1.6,<2.0" [package.extras] -aiohttp = ["aiohttp (>=3.7.1,<3.9.0)"] -all = ["aiohttp (>=3.7.1,<3.9.0)", "botocore (>=1.21,<2)", "requests (>=2.26,<3)", "requests-toolbelt (>=0.9.1,<1)", "urllib3 (>=1.26,<2)", "websockets (>=10,<11)", "websockets (>=9,<10)"] +aiohttp = ["aiohttp (>=3.8.0,<4)", "aiohttp (>=3.9.0b0,<4)"] +all = ["aiohttp (>=3.8.0,<4)", "aiohttp (>=3.9.0b0,<4)", "botocore (>=1.21,<2)", "httpx (>=0.23.1,<1)", "requests (>=2.26,<3)", "requests-toolbelt (>=1.0.0,<2)", "websockets (>=10,<12)"] botocore = ["botocore (>=1.21,<2)"] -dev = ["aiofiles", "aiohttp (>=3.7.1,<3.9.0)", "black (==22.3.0)", "botocore (>=1.21,<2)", "check-manifest (>=0.42,<1)", "flake8 (==3.8.1)", "isort (==4.3.21)", "mock (==4.0.2)", "mypy (==0.910)", "parse (==1.15.0)", "pytest (==6.2.5)", "pytest-asyncio (==0.16.0)", "pytest-console-scripts (==1.3.1)", "pytest-cov (==3.0.0)", "requests (>=2.26,<3)", "requests-toolbelt (>=0.9.1,<1)", "sphinx (>=3.0.0,<4)", "sphinx-argparse (==0.2.5)", "sphinx-rtd-theme (>=0.4,<1)", "types-aiofiles", "types-mock", "types-requests", "urllib3 (>=1.26,<2)", "vcrpy (==4.0.2)", "websockets (>=10,<11)", "websockets (>=9,<10)"] -requests = ["requests (>=2.26,<3)", "requests-toolbelt (>=0.9.1,<1)", "urllib3 (>=1.26,<2)"] -test = ["aiofiles", "aiohttp (>=3.7.1,<3.9.0)", "botocore (>=1.21,<2)", "mock (==4.0.2)", "parse (==1.15.0)", "pytest (==6.2.5)", "pytest-asyncio (==0.16.0)", "pytest-console-scripts (==1.3.1)", "pytest-cov (==3.0.0)", "requests (>=2.26,<3)", "requests-toolbelt (>=0.9.1,<1)", "urllib3 (>=1.26,<2)", "vcrpy (==4.0.2)", "websockets (>=10,<11)", "websockets (>=9,<10)"] -test-no-transport = ["aiofiles", "mock (==4.0.2)", "parse (==1.15.0)", "pytest (==6.2.5)", "pytest-asyncio (==0.16.0)", "pytest-console-scripts (==1.3.1)", "pytest-cov (==3.0.0)", "vcrpy (==4.0.2)"] -websockets = ["websockets (>=10,<11)", "websockets (>=9,<10)"] +dev = ["aiofiles", "aiohttp (>=3.8.0,<4)", "aiohttp (>=3.9.0b0,<4)", "black (==22.3.0)", "botocore (>=1.21,<2)", "check-manifest (>=0.42,<1)", "flake8 (==3.8.1)", "httpx (>=0.23.1,<1)", "isort (==4.3.21)", "mock (==4.0.2)", "mypy (==0.910)", "parse (==1.15.0)", "pytest (==7.4.2)", "pytest-asyncio (==0.21.1)", "pytest-console-scripts (==1.3.1)", "pytest-cov (==3.0.0)", "requests (>=2.26,<3)", "requests-toolbelt (>=1.0.0,<2)", "sphinx (>=5.3.0,<6)", "sphinx-argparse (==0.2.5)", "sphinx-rtd-theme (>=0.4,<1)", "types-aiofiles", "types-mock", "types-requests", "vcrpy (==4.4.0)", "websockets (>=10,<12)"] +httpx = ["httpx (>=0.23.1,<1)"] +requests = ["requests (>=2.26,<3)", "requests-toolbelt (>=1.0.0,<2)"] +test = ["aiofiles", "aiohttp (>=3.8.0,<4)", "aiohttp (>=3.9.0b0,<4)", "botocore (>=1.21,<2)", "httpx (>=0.23.1,<1)", "mock (==4.0.2)", "parse (==1.15.0)", "pytest (==7.4.2)", "pytest-asyncio (==0.21.1)", "pytest-console-scripts (==1.3.1)", "pytest-cov (==3.0.0)", "requests (>=2.26,<3)", "requests-toolbelt (>=1.0.0,<2)", "vcrpy (==4.4.0)", "websockets (>=10,<12)"] +test-no-transport = ["aiofiles", "mock (==4.0.2)", "parse (==1.15.0)", "pytest (==7.4.2)", "pytest-asyncio (==0.21.1)", "pytest-console-scripts (==1.3.1)", "pytest-cov (==3.0.0)", "vcrpy (==4.4.0)"] +websockets = ["websockets (>=10,<12)"] [[package]] name = "graphql-core" @@ -1690,13 +1695,13 @@ tomli = {version = "*", markers = "python_version > \"3.6\" and python_version < [[package]] name = "ipykernel" -version = "6.27.1" +version = "6.28.0" description = "IPython Kernel for Jupyter" optional = true python-versions = ">=3.8" files = [ - {file = "ipykernel-6.27.1-py3-none-any.whl", hash = "sha256:dab88b47f112f9f7df62236511023c9bdeef67abc73af7c652e4ce4441601686"}, - {file = "ipykernel-6.27.1.tar.gz", hash = "sha256:7d5d594b6690654b4d299edba5e872dc17bb7396a8d0609c97cb7b8a1c605de6"}, + {file = "ipykernel-6.28.0-py3-none-any.whl", hash = "sha256:c6e9a9c63a7f4095c0a22a79f765f079f9ec7be4f2430a898ddea889e8665661"}, + {file = "ipykernel-6.28.0.tar.gz", hash = "sha256:69c11403d26de69df02225916f916b37ea4b9af417da0a8c827f84328d88e5f3"}, ] [package.dependencies] @@ -1710,7 +1715,7 @@ matplotlib-inline = ">=0.1" nest-asyncio = "*" packaging = "*" psutil = "*" -pyzmq = ">=20" +pyzmq = ">=24" tornado = ">=6.1" traitlets = ">=5.4.0" @@ -1723,13 +1728,13 @@ test = ["flaky", "ipyparallel", "pre-commit", "pytest (>=7.0)", "pytest-asyncio" [[package]] name = "ipython" -version = "8.18.1" +version = "8.20.0" description = "IPython: Productive Interactive Computing" optional = false -python-versions = ">=3.9" +python-versions = ">=3.10" files = [ - {file = "ipython-8.18.1-py3-none-any.whl", hash = "sha256:e8267419d72d81955ec1177f8a29aaa90ac80ad647499201119e2f05e99aa397"}, - {file = "ipython-8.18.1.tar.gz", hash = "sha256:ca6f079bb33457c66e233e4580ebfc4128855b4cf6370dddd73842a9563e8a27"}, + {file = "ipython-8.20.0-py3-none-any.whl", hash = "sha256:bc9716aad6f29f36c449e30821c9dd0c1c1a7b59ddcc26931685b87b4c569619"}, + {file = "ipython-8.20.0.tar.gz", hash = "sha256:2f21bd3fc1d51550c89ee3944ae04bbc7bc79e129ea0937da6e6c68bfdbf117a"}, ] [package.dependencies] @@ -1745,17 +1750,17 @@ stack-data = "*" traitlets = ">=5" [package.extras] -all = ["black", "curio", "docrepr", "exceptiongroup", "ipykernel", "ipyparallel", "ipywidgets", "matplotlib", "matplotlib (!=3.2.0)", "nbconvert", "nbformat", "notebook", "numpy (>=1.22)", "pandas", "pickleshare", "pytest (<7)", "pytest (<7.1)", "pytest-asyncio (<0.22)", "qtconsole", "setuptools (>=18.5)", "sphinx (>=1.3)", "sphinx-rtd-theme", "stack-data", "testpath", "trio", "typing-extensions"] +all = ["black", "curio", "docrepr", "exceptiongroup", "ipykernel", "ipyparallel", "ipywidgets", "matplotlib", "matplotlib (!=3.2.0)", "nbconvert", "nbformat", "notebook", "numpy (>=1.23)", "pandas", "pickleshare", "pytest", "pytest-asyncio (<0.22)", "qtconsole", "setuptools (>=18.5)", "sphinx (>=1.3)", "sphinx-rtd-theme", "stack-data", "testpath", "trio", "typing-extensions"] black = ["black"] -doc = ["docrepr", "exceptiongroup", "ipykernel", "matplotlib", "pickleshare", "pytest (<7)", "pytest (<7.1)", "pytest-asyncio (<0.22)", "setuptools (>=18.5)", "sphinx (>=1.3)", "sphinx-rtd-theme", "stack-data", "testpath", "typing-extensions"] +doc = ["docrepr", "exceptiongroup", "ipykernel", "matplotlib", "pickleshare", "pytest", "pytest-asyncio (<0.22)", "setuptools (>=18.5)", "sphinx (>=1.3)", "sphinx-rtd-theme", "stack-data", "testpath", "typing-extensions"] kernel = ["ipykernel"] nbconvert = ["nbconvert"] nbformat = ["nbformat"] notebook = ["ipywidgets", "notebook"] parallel = ["ipyparallel"] qtconsole = ["qtconsole"] -test = ["pickleshare", "pytest (<7.1)", "pytest-asyncio (<0.22)", "testpath"] -test-extra = ["curio", "matplotlib (!=3.2.0)", "nbformat", "numpy (>=1.22)", "pandas", "pickleshare", "pytest (<7.1)", "pytest-asyncio (<0.22)", "testpath", "trio"] +test = ["pickleshare", "pytest", "pytest-asyncio (<0.22)", "testpath"] +test-extra = ["curio", "matplotlib (!=3.2.0)", "nbformat", "numpy (>=1.23)", "pandas", "pickleshare", "pytest", "pytest-asyncio (<0.22)", "testpath", "trio"] [[package]] name = "ipywidgets" @@ -1813,13 +1818,13 @@ testing = ["Django", "attrs", "colorama", "docopt", "pytest (<7.0.0)"] [[package]] name = "jinja2" -version = "3.1.2" +version = "3.1.3" description = "A very fast and expressive template engine." optional = false python-versions = ">=3.7" files = [ - {file = "Jinja2-3.1.2-py3-none-any.whl", hash = "sha256:6088930bfe239f0e6710546ab9c19c9ef35e29792895fed6e6e31a023a182a61"}, - {file = "Jinja2-3.1.2.tar.gz", hash = "sha256:31351a702a408a9e7595a8fc6150fc3f43bb6bf7e319770cbc0db9df9437e852"}, + {file = "Jinja2-3.1.3-py3-none-any.whl", hash = "sha256:7d6d50dd97d52cbc355597bd845fabfbac3f551e1f99619e39a35ce8c370b5fa"}, + {file = "Jinja2-3.1.3.tar.gz", hash = "sha256:ac8bd6544d4bb2c9792bf3a159e80bba8fda7f07e81bc3aed565432d5925ba90"}, ] [package.dependencies] @@ -1884,13 +1889,13 @@ format-nongpl = ["fqdn", "idna", "isoduration", "jsonpointer (>1.13)", "rfc3339- [[package]] name = "jsonschema-specifications" -version = "2023.11.2" +version = "2023.12.1" description = "The JSON Schema meta-schemas and vocabularies, exposed as a Registry" optional = false python-versions = ">=3.8" files = [ - {file = "jsonschema_specifications-2023.11.2-py3-none-any.whl", hash = "sha256:e74ba7c0a65e8cb49dc26837d6cfe576557084a8b423ed16a420984228104f93"}, - {file = "jsonschema_specifications-2023.11.2.tar.gz", hash = "sha256:9472fc4fea474cd74bea4a2b190daeccb5a9e4db2ea80efcf7a1b582fc9a81b8"}, + {file = "jsonschema_specifications-2023.12.1-py3-none-any.whl", hash = "sha256:87e4fdf3a94858b8a2ba2778d9ba57d8a9cafca7c7489c46ba0d30a8bc6a9c3c"}, + {file = "jsonschema_specifications-2023.12.1.tar.gz", hash = "sha256:48a76787b3e70f5ed53f1160d2b81f586e4ca6d1548c5de7085d1682674764cc"}, ] [package.dependencies] @@ -1964,13 +1969,13 @@ test = ["flaky", "pexpect", "pytest"] [[package]] name = "jupyter-core" -version = "5.5.0" +version = "5.7.1" description = "Jupyter core package. A base package on which Jupyter projects rely." optional = true python-versions = ">=3.8" files = [ - {file = "jupyter_core-5.5.0-py3-none-any.whl", hash = "sha256:e11e02cd8ae0a9de5c6c44abf5727df9f2581055afe00b22183f621ba3585805"}, - {file = "jupyter_core-5.5.0.tar.gz", hash = "sha256:880b86053bf298a8724994f95e99b99130659022a4f7f45f563084b6223861d3"}, + {file = "jupyter_core-5.7.1-py3-none-any.whl", hash = "sha256:c65c82126453a723a2804aa52409930434598fd9d35091d63dfb919d2b765bb7"}, + {file = "jupyter_core-5.7.1.tar.gz", hash = "sha256:de61a9d7fc71240f688b2fb5ab659fbb56979458dc66a71decd098e03c79e218"}, ] [package.dependencies] @@ -2023,13 +2028,13 @@ jupyter-server = ">=1.1.2" [[package]] name = "jupyter-server" -version = "2.11.1" +version = "2.12.4" description = "The backend—i.e. core services, APIs, and REST endpoints—to Jupyter web applications." optional = true python-versions = ">=3.8" files = [ - {file = "jupyter_server-2.11.1-py3-none-any.whl", hash = "sha256:4b3a16e3ed16fd202588890f10b8ca589bd3e29405d128beb95935f059441373"}, - {file = "jupyter_server-2.11.1.tar.gz", hash = "sha256:fe80bab96493acf5f7d6cd9a1575af8fbd253dc2591aa4d015131a1e03b5799a"}, + {file = "jupyter_server-2.12.4-py3-none-any.whl", hash = "sha256:a125ae18a60de568f78f55c84dd58759901a18ef279abf0418ac220653ca1320"}, + {file = "jupyter_server-2.12.4.tar.gz", hash = "sha256:41f4a1e6b912cc24a7c6c694851b37d3d8412b180f43d72315fe422cb2b85cc2"}, ] [package.dependencies] @@ -2059,13 +2064,13 @@ test = ["flaky", "ipykernel", "pre-commit", "pytest (>=7.0)", "pytest-console-sc [[package]] name = "jupyter-server-terminals" -version = "0.4.4" +version = "0.5.1" description = "A Jupyter Server Extension Providing Terminals." optional = true python-versions = ">=3.8" files = [ - {file = "jupyter_server_terminals-0.4.4-py3-none-any.whl", hash = "sha256:75779164661cec02a8758a5311e18bb8eb70c4e86c6b699403100f1585a12a36"}, - {file = "jupyter_server_terminals-0.4.4.tar.gz", hash = "sha256:57ab779797c25a7ba68e97bcfb5d7740f2b5e8a83b5e8102b10438041a7eac5d"}, + {file = "jupyter_server_terminals-0.5.1-py3-none-any.whl", hash = "sha256:5e63e947ddd97bb2832db5ef837a258d9ccd4192cd608c1270850ad947ae5dd7"}, + {file = "jupyter_server_terminals-0.5.1.tar.gz", hash = "sha256:16d3be9cf48be6a1f943f3a6c93c033be259cf4779184c66421709cf63dccfea"}, ] [package.dependencies] @@ -2073,18 +2078,18 @@ pywinpty = {version = ">=2.0.3", markers = "os_name == \"nt\""} terminado = ">=0.8.3" [package.extras] -docs = ["jinja2", "jupyter-server", "mistune (<3.0)", "myst-parser", "nbformat", "packaging", "pydata-sphinx-theme", "sphinxcontrib-github-alt", "sphinxcontrib-openapi", "sphinxcontrib-spelling", "sphinxemoji", "tornado"] -test = ["coverage", "jupyter-server (>=2.0.0)", "pytest (>=7.0)", "pytest-cov", "pytest-jupyter[server] (>=0.5.3)", "pytest-timeout"] +docs = ["jinja2", "jupyter-server", "mistune (<4.0)", "myst-parser", "nbformat", "packaging", "pydata-sphinx-theme", "sphinxcontrib-github-alt", "sphinxcontrib-openapi", "sphinxcontrib-spelling", "sphinxemoji", "tornado"] +test = ["jupyter-server (>=2.0.0)", "pytest (>=7.0)", "pytest-jupyter[server] (>=0.5.3)", "pytest-timeout"] [[package]] name = "jupyterlab" -version = "4.0.9" +version = "4.0.10" description = "JupyterLab computational environment" optional = true python-versions = ">=3.8" files = [ - {file = "jupyterlab-4.0.9-py3-none-any.whl", hash = "sha256:9f6f8e36d543fdbcc3df961a1d6a3f524b4a4001be0327a398f68fa4e534107c"}, - {file = "jupyterlab-4.0.9.tar.gz", hash = "sha256:9ebada41d52651f623c0c9f069ddb8a21d6848e4c887d8e5ddc0613166ed5c0b"}, + {file = "jupyterlab-4.0.10-py3-none-any.whl", hash = "sha256:fe010ad9e37017488b468632ef2ead255fc7c671c5b64d9ca13e1f7b7e665c37"}, + {file = "jupyterlab-4.0.10.tar.gz", hash = "sha256:46177eb8ede70dc73be922ac99f8ef943bdc2dfbc6a31b353c4bde848a35dee1"}, ] [package.dependencies] @@ -2102,7 +2107,7 @@ tornado = ">=6.2.0" traitlets = "*" [package.extras] -dev = ["black[jupyter] (==23.10.1)", "build", "bump2version", "coverage", "hatch", "pre-commit", "pytest-cov", "ruff (==0.1.4)"] +dev = ["build", "bump2version", "coverage", "hatch", "pre-commit", "pytest-cov", "ruff (==0.1.6)"] docs = ["jsx-lexer", "myst-parser", "pydata-sphinx-theme (>=0.13.0)", "pytest", "pytest-check-links", "pytest-tornasync", "sphinx (>=1.8,<7.2.0)", "sphinx-copybutton"] docs-screenshots = ["altair (==5.0.1)", "ipython (==8.14.0)", "ipywidgets (==8.0.6)", "jupyterlab-geojson (==3.4.0)", "jupyterlab-language-pack-zh-cn (==4.0.post0)", "matplotlib (==3.7.1)", "nbconvert (>=7.0.0)", "pandas (==2.0.2)", "scipy (==1.10.1)", "vega-datasets (==0.9.0)"] test = ["coverage", "pytest (>=7.0)", "pytest-check-links (>=0.7)", "pytest-console-scripts", "pytest-cov", "pytest-jupyter (>=0.5.3)", "pytest-timeout", "pytest-tornasync", "requests", "requests-cache", "virtualenv"] @@ -2514,59 +2519,49 @@ files = [ {file = "mistune-3.0.2.tar.gz", hash = "sha256:fc7f93ded930c92394ef2cb6f04a8aabab4117a91449e72dcc8dfa646a508be8"}, ] -[[package]] -name = "morphys" -version = "1.0" -description = "Smart conversions between unicode and bytes types for common cases" -optional = false -python-versions = "*" -files = [ - {file = "morphys-1.0-py2.py3-none-any.whl", hash = "sha256:76d6dbaa4d65f597e59d332c81da786d83e4669387b9b2a750cfec74e7beec20"}, -] - [[package]] name = "msgspec" -version = "0.18.4" +version = "0.18.5" description = "A fast serialization and validation library, with builtin support for JSON, MessagePack, YAML, and TOML." optional = false python-versions = ">=3.8" files = [ - {file = "msgspec-0.18.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:4d24a291a3c94a7f5e26e8f5ef93e72bf26c10dfeed4d6ae8fc87ead02f4e265"}, - {file = "msgspec-0.18.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9714b78965047638c01c818b4b418133d77e849017de17b0655ee37b714b47a6"}, - {file = "msgspec-0.18.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:241277eed9fd91037372519fca62aecf823f7229c1d351030d0be5e3302580c1"}, - {file = "msgspec-0.18.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d08175cbb55c1a87dd258645dce6cd00705d6088bf88e7cf510a9d5c24b0720b"}, - {file = "msgspec-0.18.4-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:da13a06e77d683204eee3b134b08ecd5e4759a79014027b1bcd7a12c614b466d"}, - {file = "msgspec-0.18.4-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:73e70217ff5e4ac244c8f1b0769215cbc81e1c904e135597a5b71162857e6c27"}, - {file = "msgspec-0.18.4-cp310-cp310-win_amd64.whl", hash = "sha256:dc25e6100026f5e1ecb5120150f4e78beb909cbeb0eb724b9982361b75c86c6b"}, - {file = "msgspec-0.18.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:e14287c3405093645b3812e3436598edd383b9ed724c686852e65d569f39f953"}, - {file = "msgspec-0.18.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:acdcef2fccfff02f80ac8673dbeab205c288b680d81e05bfb5ae0be6b1502a7e"}, - {file = "msgspec-0.18.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b052fd7d25a8aa2ffde10126ee1d97b4c6f3d81f3f3ab1258ff759a2bd794874"}, - {file = "msgspec-0.18.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:826dcb0dfaac0abbcf3a3ae991749900671796eb688b017a69a82bde1e624662"}, - {file = "msgspec-0.18.4-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:86800265f87f192a0daefe668e0a9634c35bf8af94b1f297e1352ac62d2e26da"}, - {file = "msgspec-0.18.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:227fee75a25080a8b3677cdd95b9c0c3652e27869004a084886c65eb558b3dd6"}, - {file = "msgspec-0.18.4-cp311-cp311-win_amd64.whl", hash = "sha256:828ef92f6654915c36ef6c7d8fec92404a13be48f9ff85f060e73b30299bafe1"}, - {file = "msgspec-0.18.4-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:8476848f4937da8faec53700891694df2e412453cb7445991f0664cdd1e2dd16"}, - {file = "msgspec-0.18.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:f668102958841c5bbd3ba7cf569a65d17aa3bdcf22124f394dfcfcf53cc5a9b9"}, - {file = "msgspec-0.18.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cc2405dba5af6478dedd3512bb92197b6f9d1bc0095655afbe9b54d7a426f19f"}, - {file = "msgspec-0.18.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d99f3c13569a5add0980b0d8c6e0bd94a656f6363b26107435b3091df979d228"}, - {file = "msgspec-0.18.4-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:8a198409f672f93534c9c36bdc9eea9fb536827bd63ea846882365516a961356"}, - {file = "msgspec-0.18.4-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:e21bc5aae6b80dfe4eb75dc1bb29af65483f967d5522e9e3812115a0ba285cac"}, - {file = "msgspec-0.18.4-cp312-cp312-win_amd64.whl", hash = "sha256:44d551aee1ec8aa2d7b64762557c266bcbf7d5109f2246955718d05becc509d6"}, - {file = "msgspec-0.18.4-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:bbbc08d59f74de5791bda63569f26a35ae1dd6bd20c55c3ceba5567b0e5a8ef1"}, - {file = "msgspec-0.18.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:87bc01949a35970398f5267df8ed4189c340727bb6feec99efdb9969dd05cf30"}, - {file = "msgspec-0.18.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:96ccaef83adc0ce96d95328a03289cd5aead4fe400aac21fbe2008855a124a01"}, - {file = "msgspec-0.18.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f6229dd49438d81ed7a3470e3cbc9646b1cc1b120d415a1786df880dabb1d1c4"}, - {file = "msgspec-0.18.4-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:55e578fd921c88de0d3a209fe5fd392bb66623924c6525b42cea37c72bf8d558"}, - {file = "msgspec-0.18.4-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:e95bd0a946b5b7206f27c0f654f490231c9ad5e5a4ff65af8c986f5114dfaf0e"}, - {file = "msgspec-0.18.4-cp38-cp38-win_amd64.whl", hash = "sha256:7e95817021db96c43fd81244228e185b13b085cca3d5169af4e2dfe3ff412954"}, - {file = "msgspec-0.18.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:847d79f6f0b698671ff390aa5a66e207108f2c23b077ef9314ca4fe7819fa4ec"}, - {file = "msgspec-0.18.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e4294158c233884f3b3220f0e96a30d3e916a4781f9502ae6d477bd57bbc80ad"}, - {file = "msgspec-0.18.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:deb11ba2709019192636042df5c8db8738e45946735627021b7e7934714526e4"}, - {file = "msgspec-0.18.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b01efbf80a987a99e9079257c893c026dc661d4cd05caa1f7eabf4accc7f1fbc"}, - {file = "msgspec-0.18.4-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:991aa3c76d1b1ec84e840d0b3c96692af834e1f8a1e1a3974cbd189eaf0f2276"}, - {file = "msgspec-0.18.4-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:8064908ddb3d95d3261aaca48fd38abb16ccf59dc3f2d01eb4e04591fc1e9bd4"}, - {file = "msgspec-0.18.4-cp39-cp39-win_amd64.whl", hash = "sha256:5f446f16ea57d70cceec29b7cb85ec0b3bea032e3dec316806e38575ea3a69b4"}, - {file = "msgspec-0.18.4.tar.gz", hash = "sha256:cb62030bd6b1a00b01a2fcb09735016011696304e6b1d3321e58022548268d3e"}, + {file = "msgspec-0.18.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:50479d88f3c4e9c73b55fbe84dc14b1cee8cec753e9170bbeafe3f9837e9f7af"}, + {file = "msgspec-0.18.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:cf885edac512e464c70a5f4f93b6f778c83ea4b91d646b6d72f6f5ac950f268e"}, + {file = "msgspec-0.18.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:773a38ead7832d171d1b9406bf42448a218245584af36e42c31f26d9f48a493a"}, + {file = "msgspec-0.18.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d5999eb65646b131f439ebb07c22446e8976b7fd8a312dca09ce6fa2c21162bb"}, + {file = "msgspec-0.18.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:a0ec78bd93684db61dfccf7a421b2e1a525b1a0546b4d8c4e339151be57d58a6"}, + {file = "msgspec-0.18.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:b547c7ad9786a79b0090a811d95d2d04063625a66fd96ed767cdfbabd8087c67"}, + {file = "msgspec-0.18.5-cp310-cp310-win_amd64.whl", hash = "sha256:e4c2fc93a98afefd1a78e957ca63363a8e5fd1b58bf70a8d66413c8f2a4723a2"}, + {file = "msgspec-0.18.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ee1f9414523d9a53744d21a6a2b6a636d9008be016963148a2646b38132e11dd"}, + {file = "msgspec-0.18.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:0017f6af35a3959002df4c82af60c1df2160701529dd89b17df971fde5945257"}, + {file = "msgspec-0.18.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:13da9df61745b7757070dae6e3476ab4e13bb9dd3e3d11b050dfcae540058bd1"}, + {file = "msgspec-0.18.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:01ed3472a0508f88a25a9d3bccafb840110f0fc5eb493b4baa43646e4e7c75c2"}, + {file = "msgspec-0.18.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:f55c4610cb0514aef8b35bfd0682f4cc2d7efd5e9b58acf30abd90b2a2376b5d"}, + {file = "msgspec-0.18.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:8f7c0460aefdc8f01ea35f26e38c62b574bbf0b138ade860f557bbf9e9dac50c"}, + {file = "msgspec-0.18.5-cp311-cp311-win_amd64.whl", hash = "sha256:024f880df7d2f8cfdb9f9904efa0f386d3692457159bd58f850c20f11c07d16f"}, + {file = "msgspec-0.18.5-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:b3d206af4280172948d014d20b2cea7939784a99ea9a7ac943ce71100dbe8f98"}, + {file = "msgspec-0.18.5-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:261cc6e3a687e6f31b80056ab12f6adff3255f9b68b86d92b0b497f8b289c84c"}, + {file = "msgspec-0.18.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b6af133ba491a09ef8dcbc2d9904bcec220247e2067bb75d5d6daa12e0739d6c"}, + {file = "msgspec-0.18.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d318593e0ddc11b600552a470ec27baeb0b86a8e37903ac5ce7472ba0d6f7bf8"}, + {file = "msgspec-0.18.5-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:9a7b682cca3ba251a19cc769d38615ddd9551e086858decd950c156c2e79ecc1"}, + {file = "msgspec-0.18.5-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:b491b2549d22e11d7cfe34a231f9bd006cb6b71adefa070a070075d2f601e75c"}, + {file = "msgspec-0.18.5-cp312-cp312-win_amd64.whl", hash = "sha256:c79e7115f0143688c5d866359e7b6b76dd1581a81c9aeac7805a9d6320e9f2ca"}, + {file = "msgspec-0.18.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:c13e0a510bbd00cb29d193fceff55d1e17a99c9f97284cdbe61c15496c2f7803"}, + {file = "msgspec-0.18.5-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:f4eeb22921ca6cdfbf17ca874eccbe23eb010c89ffb3017b628940c37d53ce4a"}, + {file = "msgspec-0.18.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9420750f19c311e490db3edff9d153621c4989c582cf1be40c307c86d6cc2c1e"}, + {file = "msgspec-0.18.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6431305c645fb2a88a6da1fcec53dbaac61697f1219000b9589f9286532aabc0"}, + {file = "msgspec-0.18.5-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:b7b49cba0577edc8ac166263b5fec3619fe5a267805cfc041bccaf8a0c58ef05"}, + {file = "msgspec-0.18.5-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:3f387cabddf2dc26d6fa7f1a8158deefc8db9e0626eacebbe4875f421c66d574"}, + {file = "msgspec-0.18.5-cp38-cp38-win_amd64.whl", hash = "sha256:482bdf77f3892dd603061b2b21ac6a4492bb797a552c92e833a41fe157162257"}, + {file = "msgspec-0.18.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:f290bfe7e21e8069890d101d8a060500b22a3aeb7860274644c4ec9240ddbedc"}, + {file = "msgspec-0.18.5-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:0027fba5362a3cb1bdd5503709aa2dbffad22dffd50f415086ed5f74f229ead9"}, + {file = "msgspec-0.18.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bd8a64da668b4eeef4b21dcecc640ed6950db661e2ea42ae52bbac5a2dbffb3a"}, + {file = "msgspec-0.18.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:be2440fa5699e1b3062d17fdfd8c6a459d72bb4edbce403353af6f39c8c5a6fa"}, + {file = "msgspec-0.18.5-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:eccba21248f90f332335b109e89685e79940367974812cd13975313f480f3dd8"}, + {file = "msgspec-0.18.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:c30fadc1a1118097920dd868e42469fed32c7078ca2feff2fc19e7c017065322"}, + {file = "msgspec-0.18.5-cp39-cp39-win_amd64.whl", hash = "sha256:fae28faef5fd61847930d8e86fd83c18f991a338efd8fbf69c1d35d42c652f41"}, + {file = "msgspec-0.18.5.tar.gz", hash = "sha256:8e545651531f2d01b983d0ac0c7f3b6d99674267ff261b5f344f5016160b5608"}, ] [package.extras] @@ -2694,13 +2689,13 @@ test = ["flaky", "ipykernel (>=6.19.3)", "ipython", "ipywidgets", "nbconvert (>= [[package]] name = "nbconvert" -version = "7.11.0" +version = "7.14.1" description = "Converting Jupyter Notebooks" optional = true python-versions = ">=3.8" files = [ - {file = "nbconvert-7.11.0-py3-none-any.whl", hash = "sha256:d1d417b7f34a4e38887f8da5bdfd12372adf3b80f995d57556cb0972c68909fe"}, - {file = "nbconvert-7.11.0.tar.gz", hash = "sha256:abedc01cf543177ffde0bfc2a69726d5a478f6af10a332fc1bf29fcb4f0cf000"}, + {file = "nbconvert-7.14.1-py3-none-any.whl", hash = "sha256:aa83e3dd27ea38d0c1d908e3ce9518d15fa908dd30521b6d5040bd23f33fffb0"}, + {file = "nbconvert-7.14.1.tar.gz", hash = "sha256:20cba10e0448dc76b3bebfe1adf923663e3b98338daf77b97b42511ef5a88618"}, ] [package.dependencies] @@ -2726,7 +2721,7 @@ docs = ["ipykernel", "ipython", "myst-parser", "nbsphinx (>=0.2.12)", "pydata-sp qtpdf = ["nbconvert[qtpng]"] qtpng = ["pyqtwebengine (>=5.15)"] serve = ["tornado (>=6.1)"] -test = ["flaky", "ipykernel", "ipywidgets (>=7)", "pytest"] +test = ["flaky", "ipykernel", "ipywidgets (>=7.5)", "pytest"] webpdf = ["playwright"] [[package]] @@ -2822,47 +2817,47 @@ test = ["pytest", "pytest-console-scripts", "pytest-jupyter", "pytest-tornasync" [[package]] name = "numpy" -version = "1.26.2" +version = "1.26.3" description = "Fundamental package for array computing in Python" optional = true python-versions = ">=3.9" files = [ - {file = "numpy-1.26.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:3703fc9258a4a122d17043e57b35e5ef1c5a5837c3db8be396c82e04c1cf9b0f"}, - {file = "numpy-1.26.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:cc392fdcbd21d4be6ae1bb4475a03ce3b025cd49a9be5345d76d7585aea69440"}, - {file = "numpy-1.26.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:36340109af8da8805d8851ef1d74761b3b88e81a9bd80b290bbfed61bd2b4f75"}, - {file = "numpy-1.26.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bcc008217145b3d77abd3e4d5ef586e3bdfba8fe17940769f8aa09b99e856c00"}, - {file = "numpy-1.26.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:3ced40d4e9e18242f70dd02d739e44698df3dcb010d31f495ff00a31ef6014fe"}, - {file = "numpy-1.26.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:b272d4cecc32c9e19911891446b72e986157e6a1809b7b56518b4f3755267523"}, - {file = "numpy-1.26.2-cp310-cp310-win32.whl", hash = "sha256:22f8fc02fdbc829e7a8c578dd8d2e15a9074b630d4da29cda483337e300e3ee9"}, - {file = "numpy-1.26.2-cp310-cp310-win_amd64.whl", hash = "sha256:26c9d33f8e8b846d5a65dd068c14e04018d05533b348d9eaeef6c1bd787f9919"}, - {file = "numpy-1.26.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b96e7b9c624ef3ae2ae0e04fa9b460f6b9f17ad8b4bec6d7756510f1f6c0c841"}, - {file = "numpy-1.26.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:aa18428111fb9a591d7a9cc1b48150097ba6a7e8299fb56bdf574df650e7d1f1"}, - {file = "numpy-1.26.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:06fa1ed84aa60ea6ef9f91ba57b5ed963c3729534e6e54055fc151fad0423f0a"}, - {file = "numpy-1.26.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:96ca5482c3dbdd051bcd1fce8034603d6ebfc125a7bd59f55b40d8f5d246832b"}, - {file = "numpy-1.26.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:854ab91a2906ef29dc3925a064fcd365c7b4da743f84b123002f6139bcb3f8a7"}, - {file = "numpy-1.26.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:f43740ab089277d403aa07567be138fc2a89d4d9892d113b76153e0e412409f8"}, - {file = "numpy-1.26.2-cp311-cp311-win32.whl", hash = "sha256:a2bbc29fcb1771cd7b7425f98b05307776a6baf43035d3b80c4b0f29e9545186"}, - {file = "numpy-1.26.2-cp311-cp311-win_amd64.whl", hash = "sha256:2b3fca8a5b00184828d12b073af4d0fc5fdd94b1632c2477526f6bd7842d700d"}, - {file = "numpy-1.26.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:a4cd6ed4a339c21f1d1b0fdf13426cb3b284555c27ac2f156dfdaaa7e16bfab0"}, - {file = "numpy-1.26.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:5d5244aabd6ed7f312268b9247be47343a654ebea52a60f002dc70c769048e75"}, - {file = "numpy-1.26.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6a3cdb4d9c70e6b8c0814239ead47da00934666f668426fc6e94cce869e13fd7"}, - {file = "numpy-1.26.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:aa317b2325f7aa0a9471663e6093c210cb2ae9c0ad824732b307d2c51983d5b6"}, - {file = "numpy-1.26.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:174a8880739c16c925799c018f3f55b8130c1f7c8e75ab0a6fa9d41cab092fd6"}, - {file = "numpy-1.26.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:f79b231bf5c16b1f39c7f4875e1ded36abee1591e98742b05d8a0fb55d8a3eec"}, - {file = "numpy-1.26.2-cp312-cp312-win32.whl", hash = "sha256:4a06263321dfd3598cacb252f51e521a8cb4b6df471bb12a7ee5cbab20ea9167"}, - {file = "numpy-1.26.2-cp312-cp312-win_amd64.whl", hash = "sha256:b04f5dc6b3efdaab541f7857351aac359e6ae3c126e2edb376929bd3b7f92d7e"}, - {file = "numpy-1.26.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:4eb8df4bf8d3d90d091e0146f6c28492b0be84da3e409ebef54349f71ed271ef"}, - {file = "numpy-1.26.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:1a13860fdcd95de7cf58bd6f8bc5a5ef81c0b0625eb2c9a783948847abbef2c2"}, - {file = "numpy-1.26.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:64308ebc366a8ed63fd0bf426b6a9468060962f1a4339ab1074c228fa6ade8e3"}, - {file = "numpy-1.26.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:baf8aab04a2c0e859da118f0b38617e5ee65d75b83795055fb66c0d5e9e9b818"}, - {file = "numpy-1.26.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:d73a3abcac238250091b11caef9ad12413dab01669511779bc9b29261dd50210"}, - {file = "numpy-1.26.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:b361d369fc7e5e1714cf827b731ca32bff8d411212fccd29ad98ad622449cc36"}, - {file = "numpy-1.26.2-cp39-cp39-win32.whl", hash = "sha256:bd3f0091e845164a20bd5a326860c840fe2af79fa12e0469a12768a3ec578d80"}, - {file = "numpy-1.26.2-cp39-cp39-win_amd64.whl", hash = "sha256:2beef57fb031dcc0dc8fa4fe297a742027b954949cabb52a2a376c144e5e6060"}, - {file = "numpy-1.26.2-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:1cc3d5029a30fb5f06704ad6b23b35e11309491c999838c31f124fee32107c79"}, - {file = "numpy-1.26.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:94cc3c222bb9fb5a12e334d0479b97bb2df446fbe622b470928f5284ffca3f8d"}, - {file = "numpy-1.26.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:fe6b44fb8fcdf7eda4ef4461b97b3f63c466b27ab151bec2366db8b197387841"}, - {file = "numpy-1.26.2.tar.gz", hash = "sha256:f65738447676ab5777f11e6bbbdb8ce11b785e105f690bc45966574816b6d3ea"}, + {file = "numpy-1.26.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:806dd64230dbbfaca8a27faa64e2f414bf1c6622ab78cc4264f7f5f028fee3bf"}, + {file = "numpy-1.26.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:02f98011ba4ab17f46f80f7f8f1c291ee7d855fcef0a5a98db80767a468c85cd"}, + {file = "numpy-1.26.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6d45b3ec2faed4baca41c76617fcdcfa4f684ff7a151ce6fc78ad3b6e85af0a6"}, + {file = "numpy-1.26.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bdd2b45bf079d9ad90377048e2747a0c82351989a2165821f0c96831b4a2a54b"}, + {file = "numpy-1.26.3-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:211ddd1e94817ed2d175b60b6374120244a4dd2287f4ece45d49228b4d529178"}, + {file = "numpy-1.26.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:b1240f767f69d7c4c8a29adde2310b871153df9b26b5cb2b54a561ac85146485"}, + {file = "numpy-1.26.3-cp310-cp310-win32.whl", hash = "sha256:21a9484e75ad018974a2fdaa216524d64ed4212e418e0a551a2d83403b0531d3"}, + {file = "numpy-1.26.3-cp310-cp310-win_amd64.whl", hash = "sha256:9e1591f6ae98bcfac2a4bbf9221c0b92ab49762228f38287f6eeb5f3f55905ce"}, + {file = "numpy-1.26.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b831295e5472954104ecb46cd98c08b98b49c69fdb7040483aff799a755a7374"}, + {file = "numpy-1.26.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:9e87562b91f68dd8b1c39149d0323b42e0082db7ddb8e934ab4c292094d575d6"}, + {file = "numpy-1.26.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8c66d6fec467e8c0f975818c1796d25c53521124b7cfb760114be0abad53a0a2"}, + {file = "numpy-1.26.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f25e2811a9c932e43943a2615e65fc487a0b6b49218899e62e426e7f0a57eeda"}, + {file = "numpy-1.26.3-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:af36e0aa45e25c9f57bf684b1175e59ea05d9a7d3e8e87b7ae1a1da246f2767e"}, + {file = "numpy-1.26.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:51c7f1b344f302067b02e0f5b5d2daa9ed4a721cf49f070280ac202738ea7f00"}, + {file = "numpy-1.26.3-cp311-cp311-win32.whl", hash = "sha256:7ca4f24341df071877849eb2034948459ce3a07915c2734f1abb4018d9c49d7b"}, + {file = "numpy-1.26.3-cp311-cp311-win_amd64.whl", hash = "sha256:39763aee6dfdd4878032361b30b2b12593fb445ddb66bbac802e2113eb8a6ac4"}, + {file = "numpy-1.26.3-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:a7081fd19a6d573e1a05e600c82a1c421011db7935ed0d5c483e9dd96b99cf13"}, + {file = "numpy-1.26.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:12c70ac274b32bc00c7f61b515126c9205323703abb99cd41836e8125ea0043e"}, + {file = "numpy-1.26.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7f784e13e598e9594750b2ef6729bcd5a47f6cfe4a12cca13def35e06d8163e3"}, + {file = "numpy-1.26.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5f24750ef94d56ce6e33e4019a8a4d68cfdb1ef661a52cdaee628a56d2437419"}, + {file = "numpy-1.26.3-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:77810ef29e0fb1d289d225cabb9ee6cf4d11978a00bb99f7f8ec2132a84e0166"}, + {file = "numpy-1.26.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8ed07a90f5450d99dad60d3799f9c03c6566709bd53b497eb9ccad9a55867f36"}, + {file = "numpy-1.26.3-cp312-cp312-win32.whl", hash = "sha256:f73497e8c38295aaa4741bdfa4fda1a5aedda5473074369eca10626835445511"}, + {file = "numpy-1.26.3-cp312-cp312-win_amd64.whl", hash = "sha256:da4b0c6c699a0ad73c810736303f7fbae483bcb012e38d7eb06a5e3b432c981b"}, + {file = "numpy-1.26.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:1666f634cb3c80ccbd77ec97bc17337718f56d6658acf5d3b906ca03e90ce87f"}, + {file = "numpy-1.26.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:18c3319a7d39b2c6a9e3bb75aab2304ab79a811ac0168a671a62e6346c29b03f"}, + {file = "numpy-1.26.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0b7e807d6888da0db6e7e75838444d62495e2b588b99e90dd80c3459594e857b"}, + {file = "numpy-1.26.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b4d362e17bcb0011738c2d83e0a65ea8ce627057b2fdda37678f4374a382a137"}, + {file = "numpy-1.26.3-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:b8c275f0ae90069496068c714387b4a0eba5d531aace269559ff2b43655edd58"}, + {file = "numpy-1.26.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:cc0743f0302b94f397a4a65a660d4cd24267439eb16493fb3caad2e4389bccbb"}, + {file = "numpy-1.26.3-cp39-cp39-win32.whl", hash = "sha256:9bc6d1a7f8cedd519c4b7b1156d98e051b726bf160715b769106661d567b3f03"}, + {file = "numpy-1.26.3-cp39-cp39-win_amd64.whl", hash = "sha256:867e3644e208c8922a3be26fc6bbf112a035f50f0a86497f98f228c50c607bb2"}, + {file = "numpy-1.26.3-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:3c67423b3703f8fbd90f5adaa37f85b5794d3366948efe9a5190a5f3a83fc34e"}, + {file = "numpy-1.26.3-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:46f47ee566d98849323f01b349d58f2557f02167ee301e5e28809a8c0e27a2d0"}, + {file = "numpy-1.26.3-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:a8474703bffc65ca15853d5fd4d06b18138ae90c17c8d12169968e998e448bb5"}, + {file = "numpy-1.26.3.tar.gz", hash = "sha256:697df43e2b6310ecc9d95f05d5ef20eacc09c7c4ecc9da3f235d39e71b7da1e4"}, ] [[package]] @@ -2889,36 +2884,36 @@ files = [ [[package]] name = "pandas" -version = "2.1.3" +version = "2.1.4" description = "Powerful data structures for data analysis, time series, and statistics" optional = true python-versions = ">=3.9" files = [ - {file = "pandas-2.1.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:acf08a73b5022b479c1be155d4988b72f3020f308f7a87c527702c5f8966d34f"}, - {file = "pandas-2.1.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:3cc4469ff0cf9aa3a005870cb49ab8969942b7156e0a46cc3f5abd6b11051dfb"}, - {file = "pandas-2.1.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:35172bff95f598cc5866c047f43c7f4df2c893acd8e10e6653a4b792ed7f19bb"}, - {file = "pandas-2.1.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:59dfe0e65a2f3988e940224e2a70932edc964df79f3356e5f2997c7d63e758b4"}, - {file = "pandas-2.1.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:0296a66200dee556850d99b24c54c7dfa53a3264b1ca6f440e42bad424caea03"}, - {file = "pandas-2.1.3-cp310-cp310-win_amd64.whl", hash = "sha256:465571472267a2d6e00657900afadbe6097c8e1dc43746917db4dfc862e8863e"}, - {file = "pandas-2.1.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:04d4c58e1f112a74689da707be31cf689db086949c71828ef5da86727cfe3f82"}, - {file = "pandas-2.1.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:7fa2ad4ff196768ae63a33f8062e6838efed3a319cf938fdf8b95e956c813042"}, - {file = "pandas-2.1.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4441ac94a2a2613e3982e502ccec3bdedefe871e8cea54b8775992485c5660ef"}, - {file = "pandas-2.1.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d5ded6ff28abbf0ea7689f251754d3789e1edb0c4d0d91028f0b980598418a58"}, - {file = "pandas-2.1.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:fca5680368a5139d4920ae3dc993eb5106d49f814ff24018b64d8850a52c6ed2"}, - {file = "pandas-2.1.3-cp311-cp311-win_amd64.whl", hash = "sha256:de21e12bf1511190fc1e9ebc067f14ca09fccfb189a813b38d63211d54832f5f"}, - {file = "pandas-2.1.3-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:a5d53c725832e5f1645e7674989f4c106e4b7249c1d57549023ed5462d73b140"}, - {file = "pandas-2.1.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:7cf4cf26042476e39394f1f86868d25b265ff787c9b2f0d367280f11afbdee6d"}, - {file = "pandas-2.1.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:72c84ec1b1d8e5efcbff5312abe92bfb9d5b558f11e0cf077f5496c4f4a3c99e"}, - {file = "pandas-2.1.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1f539e113739a3e0cc15176bf1231a553db0239bfa47a2c870283fd93ba4f683"}, - {file = "pandas-2.1.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:fc77309da3b55732059e484a1efc0897f6149183c522390772d3561f9bf96c00"}, - {file = "pandas-2.1.3-cp312-cp312-win_amd64.whl", hash = "sha256:08637041279b8981a062899da0ef47828df52a1838204d2b3761fbd3e9fcb549"}, - {file = "pandas-2.1.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:b99c4e51ef2ed98f69099c72c75ec904dd610eb41a32847c4fcbc1a975f2d2b8"}, - {file = "pandas-2.1.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f7ea8ae8004de0381a2376662c0505bb0a4f679f4c61fbfd122aa3d1b0e5f09d"}, - {file = "pandas-2.1.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fcd76d67ca2d48f56e2db45833cf9d58f548f97f61eecd3fdc74268417632b8a"}, - {file = "pandas-2.1.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1329dbe93a880a3d7893149979caa82d6ba64a25e471682637f846d9dbc10dd2"}, - {file = "pandas-2.1.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:321ecdb117bf0f16c339cc6d5c9a06063854f12d4d9bc422a84bb2ed3207380a"}, - {file = "pandas-2.1.3-cp39-cp39-win_amd64.whl", hash = "sha256:11a771450f36cebf2a4c9dbd3a19dfa8c46c4b905a3ea09dc8e556626060fe71"}, - {file = "pandas-2.1.3.tar.gz", hash = "sha256:22929f84bca106921917eb73c1521317ddd0a4c71b395bcf767a106e3494209f"}, + {file = "pandas-2.1.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:bdec823dc6ec53f7a6339a0e34c68b144a7a1fd28d80c260534c39c62c5bf8c9"}, + {file = "pandas-2.1.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:294d96cfaf28d688f30c918a765ea2ae2e0e71d3536754f4b6de0ea4a496d034"}, + {file = "pandas-2.1.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6b728fb8deba8905b319f96447a27033969f3ea1fea09d07d296c9030ab2ed1d"}, + {file = "pandas-2.1.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:00028e6737c594feac3c2df15636d73ace46b8314d236100b57ed7e4b9ebe8d9"}, + {file = "pandas-2.1.4-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:426dc0f1b187523c4db06f96fb5c8d1a845e259c99bda74f7de97bd8a3bb3139"}, + {file = "pandas-2.1.4-cp310-cp310-win_amd64.whl", hash = "sha256:f237e6ca6421265643608813ce9793610ad09b40154a3344a088159590469e46"}, + {file = "pandas-2.1.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b7d852d16c270e4331f6f59b3e9aa23f935f5c4b0ed2d0bc77637a8890a5d092"}, + {file = "pandas-2.1.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:bd7d5f2f54f78164b3d7a40f33bf79a74cdee72c31affec86bfcabe7e0789821"}, + {file = "pandas-2.1.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0aa6e92e639da0d6e2017d9ccff563222f4eb31e4b2c3cf32a2a392fc3103c0d"}, + {file = "pandas-2.1.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d797591b6846b9db79e65dc2d0d48e61f7db8d10b2a9480b4e3faaddc421a171"}, + {file = "pandas-2.1.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:d2d3e7b00f703aea3945995ee63375c61b2e6aa5aa7871c5d622870e5e137623"}, + {file = "pandas-2.1.4-cp311-cp311-win_amd64.whl", hash = "sha256:dc9bf7ade01143cddc0074aa6995edd05323974e6e40d9dbde081021ded8510e"}, + {file = "pandas-2.1.4-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:482d5076e1791777e1571f2e2d789e940dedd927325cc3cb6d0800c6304082f6"}, + {file = "pandas-2.1.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8a706cfe7955c4ca59af8c7a0517370eafbd98593155b48f10f9811da440248b"}, + {file = "pandas-2.1.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b0513a132a15977b4a5b89aabd304647919bc2169eac4c8536afb29c07c23540"}, + {file = "pandas-2.1.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e9f17f2b6fc076b2a0078862547595d66244db0f41bf79fc5f64a5c4d635bead"}, + {file = "pandas-2.1.4-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:45d63d2a9b1b37fa6c84a68ba2422dc9ed018bdaa668c7f47566a01188ceeec1"}, + {file = "pandas-2.1.4-cp312-cp312-win_amd64.whl", hash = "sha256:f69b0c9bb174a2342818d3e2778584e18c740d56857fc5cdb944ec8bbe4082cf"}, + {file = "pandas-2.1.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:3f06bda01a143020bad20f7a85dd5f4a1600112145f126bc9e3e42077c24ef34"}, + {file = "pandas-2.1.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ab5796839eb1fd62a39eec2916d3e979ec3130509930fea17fe6f81e18108f6a"}, + {file = "pandas-2.1.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:edbaf9e8d3a63a9276d707b4d25930a262341bca9874fcb22eff5e3da5394732"}, + {file = "pandas-2.1.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1ebfd771110b50055712b3b711b51bee5d50135429364d0498e1213a7adc2be8"}, + {file = "pandas-2.1.4-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:8ea107e0be2aba1da619cc6ba3f999b2bfc9669a83554b1904ce3dd9507f0860"}, + {file = "pandas-2.1.4-cp39-cp39-win_amd64.whl", hash = "sha256:d65148b14788b3758daf57bf42725caa536575da2b64df9964c563b015230984"}, + {file = "pandas-2.1.4.tar.gz", hash = "sha256:fcb68203c833cc735321512e13861358079a96c174a61f5116a1de89c58c0ef7"}, ] [package.dependencies] @@ -2996,13 +2991,13 @@ testing = ["docopt", "pytest (<6.0.0)"] [[package]] name = "pathspec" -version = "0.11.2" +version = "0.12.1" description = "Utility library for gitignore style pattern matching of file paths." optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "pathspec-0.11.2-py3-none-any.whl", hash = "sha256:1d6ed233af05e679efb96b1851550ea95bbb64b7c490b0f5aa52996c11e92a20"}, - {file = "pathspec-0.11.2.tar.gz", hash = "sha256:e0d8d0ac2f12da61956eb2306b69f9469b42f4deb0f3cb6ed47b9cce9996ced3"}, + {file = "pathspec-0.12.1-py3-none-any.whl", hash = "sha256:a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08"}, + {file = "pathspec-0.12.1.tar.gz", hash = "sha256:a482d51503a1ab33b1c67a6c3813a26953dbdc71c31dacaef9a838c4e29f5712"}, ] [[package]] @@ -3021,80 +3016,98 @@ ptyprocess = ">=0.5" [[package]] name = "pillow" -version = "10.1.0" +version = "10.2.0" description = "Python Imaging Library (Fork)" optional = true python-versions = ">=3.8" files = [ - {file = "Pillow-10.1.0-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:1ab05f3db77e98f93964697c8efc49c7954b08dd61cff526b7f2531a22410106"}, - {file = "Pillow-10.1.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:6932a7652464746fcb484f7fc3618e6503d2066d853f68a4bd97193a3996e273"}, - {file = "Pillow-10.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a5f63b5a68daedc54c7c3464508d8c12075e56dcfbd42f8c1bf40169061ae666"}, - {file = "Pillow-10.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c0949b55eb607898e28eaccb525ab104b2d86542a85c74baf3a6dc24002edec2"}, - {file = "Pillow-10.1.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:ae88931f93214777c7a3aa0a8f92a683f83ecde27f65a45f95f22d289a69e593"}, - {file = "Pillow-10.1.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:b0eb01ca85b2361b09480784a7931fc648ed8b7836f01fb9241141b968feb1db"}, - {file = "Pillow-10.1.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:d27b5997bdd2eb9fb199982bb7eb6164db0426904020dc38c10203187ae2ff2f"}, - {file = "Pillow-10.1.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:7df5608bc38bd37ef585ae9c38c9cd46d7c81498f086915b0f97255ea60c2818"}, - {file = "Pillow-10.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:41f67248d92a5e0a2076d3517d8d4b1e41a97e2df10eb8f93106c89107f38b57"}, - {file = "Pillow-10.1.0-cp311-cp311-macosx_10_10_x86_64.whl", hash = "sha256:1fb29c07478e6c06a46b867e43b0bcdb241b44cc52be9bc25ce5944eed4648e7"}, - {file = "Pillow-10.1.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:2cdc65a46e74514ce742c2013cd4a2d12e8553e3a2563c64879f7c7e4d28bce7"}, - {file = "Pillow-10.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:50d08cd0a2ecd2a8657bd3d82c71efd5a58edb04d9308185d66c3a5a5bed9610"}, - {file = "Pillow-10.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:062a1610e3bc258bff2328ec43f34244fcec972ee0717200cb1425214fe5b839"}, - {file = "Pillow-10.1.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:61f1a9d247317fa08a308daaa8ee7b3f760ab1809ca2da14ecc88ae4257d6172"}, - {file = "Pillow-10.1.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:a646e48de237d860c36e0db37ecaecaa3619e6f3e9d5319e527ccbc8151df061"}, - {file = "Pillow-10.1.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:47e5bf85b80abc03be7455c95b6d6e4896a62f6541c1f2ce77a7d2bb832af262"}, - {file = "Pillow-10.1.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:a92386125e9ee90381c3369f57a2a50fa9e6aa8b1cf1d9c4b200d41a7dd8e992"}, - {file = "Pillow-10.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:0f7c276c05a9767e877a0b4c5050c8bee6a6d960d7f0c11ebda6b99746068c2a"}, - {file = "Pillow-10.1.0-cp312-cp312-macosx_10_10_x86_64.whl", hash = "sha256:a89b8312d51715b510a4fe9fc13686283f376cfd5abca8cd1c65e4c76e21081b"}, - {file = "Pillow-10.1.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:00f438bb841382b15d7deb9a05cc946ee0f2c352653c7aa659e75e592f6fa17d"}, - {file = "Pillow-10.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3d929a19f5469b3f4df33a3df2983db070ebb2088a1e145e18facbc28cae5b27"}, - {file = "Pillow-10.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9a92109192b360634a4489c0c756364c0c3a2992906752165ecb50544c251312"}, - {file = "Pillow-10.1.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:0248f86b3ea061e67817c47ecbe82c23f9dd5d5226200eb9090b3873d3ca32de"}, - {file = "Pillow-10.1.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:9882a7451c680c12f232a422730f986a1fcd808da0fd428f08b671237237d651"}, - {file = "Pillow-10.1.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:1c3ac5423c8c1da5928aa12c6e258921956757d976405e9467c5f39d1d577a4b"}, - {file = "Pillow-10.1.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:806abdd8249ba3953c33742506fe414880bad78ac25cc9a9b1c6ae97bedd573f"}, - {file = "Pillow-10.1.0-cp312-cp312-win_amd64.whl", hash = "sha256:eaed6977fa73408b7b8a24e8b14e59e1668cfc0f4c40193ea7ced8e210adf996"}, - {file = "Pillow-10.1.0-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:fe1e26e1ffc38be097f0ba1d0d07fcade2bcfd1d023cda5b29935ae8052bd793"}, - {file = "Pillow-10.1.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:7a7e3daa202beb61821c06d2517428e8e7c1aab08943e92ec9e5755c2fc9ba5e"}, - {file = "Pillow-10.1.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:24fadc71218ad2b8ffe437b54876c9382b4a29e030a05a9879f615091f42ffc2"}, - {file = "Pillow-10.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fa1d323703cfdac2036af05191b969b910d8f115cf53093125e4058f62012c9a"}, - {file = "Pillow-10.1.0-cp38-cp38-manylinux_2_28_aarch64.whl", hash = "sha256:912e3812a1dbbc834da2b32299b124b5ddcb664ed354916fd1ed6f193f0e2d01"}, - {file = "Pillow-10.1.0-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:7dbaa3c7de82ef37e7708521be41db5565004258ca76945ad74a8e998c30af8d"}, - {file = "Pillow-10.1.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:9d7bc666bd8c5a4225e7ac71f2f9d12466ec555e89092728ea0f5c0c2422ea80"}, - {file = "Pillow-10.1.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:baada14941c83079bf84c037e2d8b7506ce201e92e3d2fa0d1303507a8538212"}, - {file = "Pillow-10.1.0-cp38-cp38-win_amd64.whl", hash = "sha256:2ef6721c97894a7aa77723740a09547197533146fba8355e86d6d9a4a1056b14"}, - {file = "Pillow-10.1.0-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:0a026c188be3b443916179f5d04548092e253beb0c3e2ee0a4e2cdad72f66099"}, - {file = "Pillow-10.1.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:04f6f6149f266a100374ca3cc368b67fb27c4af9f1cc8cb6306d849dcdf12616"}, - {file = "Pillow-10.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bb40c011447712d2e19cc261c82655f75f32cb724788df315ed992a4d65696bb"}, - {file = "Pillow-10.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1a8413794b4ad9719346cd9306118450b7b00d9a15846451549314a58ac42219"}, - {file = "Pillow-10.1.0-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:c9aeea7b63edb7884b031a35305629a7593272b54f429a9869a4f63a1bf04c34"}, - {file = "Pillow-10.1.0-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:b4005fee46ed9be0b8fb42be0c20e79411533d1fd58edabebc0dd24626882cfd"}, - {file = "Pillow-10.1.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:4d0152565c6aa6ebbfb1e5d8624140a440f2b99bf7afaafbdbf6430426497f28"}, - {file = "Pillow-10.1.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:d921bc90b1defa55c9917ca6b6b71430e4286fc9e44c55ead78ca1a9f9eba5f2"}, - {file = "Pillow-10.1.0-cp39-cp39-win_amd64.whl", hash = "sha256:cfe96560c6ce2f4c07d6647af2d0f3c54cc33289894ebd88cfbb3bcd5391e256"}, - {file = "Pillow-10.1.0-pp310-pypy310_pp73-macosx_10_10_x86_64.whl", hash = "sha256:937bdc5a7f5343d1c97dc98149a0be7eb9704e937fe3dc7140e229ae4fc572a7"}, - {file = "Pillow-10.1.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b1c25762197144e211efb5f4e8ad656f36c8d214d390585d1d21281f46d556ba"}, - {file = "Pillow-10.1.0-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:afc8eef765d948543a4775f00b7b8c079b3321d6b675dde0d02afa2ee23000b4"}, - {file = "Pillow-10.1.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:883f216eac8712b83a63f41b76ddfb7b2afab1b74abbb413c5df6680f071a6b9"}, - {file = "Pillow-10.1.0-pp39-pypy39_pp73-macosx_10_10_x86_64.whl", hash = "sha256:b920e4d028f6442bea9a75b7491c063f0b9a3972520731ed26c83e254302eb1e"}, - {file = "Pillow-10.1.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1c41d960babf951e01a49c9746f92c5a7e0d939d1652d7ba30f6b3090f27e412"}, - {file = "Pillow-10.1.0-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:1fafabe50a6977ac70dfe829b2d5735fd54e190ab55259ec8aea4aaea412fa0b"}, - {file = "Pillow-10.1.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:3b834f4b16173e5b92ab6566f0473bfb09f939ba14b23b8da1f54fa63e4b623f"}, - {file = "Pillow-10.1.0.tar.gz", hash = "sha256:e6bf8de6c36ed96c86ea3b6e1d5273c53f46ef518a062464cd7ef5dd2cf92e38"}, + {file = "pillow-10.2.0-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:7823bdd049099efa16e4246bdf15e5a13dbb18a51b68fa06d6c1d4d8b99a796e"}, + {file = "pillow-10.2.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:83b2021f2ade7d1ed556bc50a399127d7fb245e725aa0113ebd05cfe88aaf588"}, + {file = "pillow-10.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6fad5ff2f13d69b7e74ce5b4ecd12cc0ec530fcee76356cac6742785ff71c452"}, + {file = "pillow-10.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:da2b52b37dad6d9ec64e653637a096905b258d2fc2b984c41ae7d08b938a67e4"}, + {file = "pillow-10.2.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:47c0995fc4e7f79b5cfcab1fc437ff2890b770440f7696a3ba065ee0fd496563"}, + {file = "pillow-10.2.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:322bdf3c9b556e9ffb18f93462e5f749d3444ce081290352c6070d014c93feb2"}, + {file = "pillow-10.2.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:51f1a1bffc50e2e9492e87d8e09a17c5eea8409cda8d3f277eb6edc82813c17c"}, + {file = "pillow-10.2.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:69ffdd6120a4737710a9eee73e1d2e37db89b620f702754b8f6e62594471dee0"}, + {file = "pillow-10.2.0-cp310-cp310-win32.whl", hash = "sha256:c6dafac9e0f2b3c78df97e79af707cdc5ef8e88208d686a4847bab8266870023"}, + {file = "pillow-10.2.0-cp310-cp310-win_amd64.whl", hash = "sha256:aebb6044806f2e16ecc07b2a2637ee1ef67a11840a66752751714a0d924adf72"}, + {file = "pillow-10.2.0-cp310-cp310-win_arm64.whl", hash = "sha256:7049e301399273a0136ff39b84c3678e314f2158f50f517bc50285fb5ec847ad"}, + {file = "pillow-10.2.0-cp311-cp311-macosx_10_10_x86_64.whl", hash = "sha256:35bb52c37f256f662abdfa49d2dfa6ce5d93281d323a9af377a120e89a9eafb5"}, + {file = "pillow-10.2.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:9c23f307202661071d94b5e384e1e1dc7dfb972a28a2310e4ee16103e66ddb67"}, + {file = "pillow-10.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:773efe0603db30c281521a7c0214cad7836c03b8ccff897beae9b47c0b657d61"}, + {file = "pillow-10.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:11fa2e5984b949b0dd6d7a94d967743d87c577ff0b83392f17cb3990d0d2fd6e"}, + {file = "pillow-10.2.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:716d30ed977be8b37d3ef185fecb9e5a1d62d110dfbdcd1e2a122ab46fddb03f"}, + {file = "pillow-10.2.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:a086c2af425c5f62a65e12fbf385f7c9fcb8f107d0849dba5839461a129cf311"}, + {file = "pillow-10.2.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:c8de2789052ed501dd829e9cae8d3dcce7acb4777ea4a479c14521c942d395b1"}, + {file = "pillow-10.2.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:609448742444d9290fd687940ac0b57fb35e6fd92bdb65386e08e99af60bf757"}, + {file = "pillow-10.2.0-cp311-cp311-win32.whl", hash = "sha256:823ef7a27cf86df6597fa0671066c1b596f69eba53efa3d1e1cb8b30f3533068"}, + {file = "pillow-10.2.0-cp311-cp311-win_amd64.whl", hash = "sha256:1da3b2703afd040cf65ec97efea81cfba59cdbed9c11d8efc5ab09df9509fc56"}, + {file = "pillow-10.2.0-cp311-cp311-win_arm64.whl", hash = "sha256:edca80cbfb2b68d7b56930b84a0e45ae1694aeba0541f798e908a49d66b837f1"}, + {file = "pillow-10.2.0-cp312-cp312-macosx_10_10_x86_64.whl", hash = "sha256:1b5e1b74d1bd1b78bc3477528919414874748dd363e6272efd5abf7654e68bef"}, + {file = "pillow-10.2.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:0eae2073305f451d8ecacb5474997c08569fb4eb4ac231ffa4ad7d342fdc25ac"}, + {file = "pillow-10.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b7c2286c23cd350b80d2fc9d424fc797575fb16f854b831d16fd47ceec078f2c"}, + {file = "pillow-10.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1e23412b5c41e58cec602f1135c57dfcf15482013ce6e5f093a86db69646a5aa"}, + {file = "pillow-10.2.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:52a50aa3fb3acb9cf7213573ef55d31d6eca37f5709c69e6858fe3bc04a5c2a2"}, + {file = "pillow-10.2.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:127cee571038f252a552760076407f9cff79761c3d436a12af6000cd182a9d04"}, + {file = "pillow-10.2.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:8d12251f02d69d8310b046e82572ed486685c38f02176bd08baf216746eb947f"}, + {file = "pillow-10.2.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:54f1852cd531aa981bc0965b7d609f5f6cc8ce8c41b1139f6ed6b3c54ab82bfb"}, + {file = "pillow-10.2.0-cp312-cp312-win32.whl", hash = "sha256:257d8788df5ca62c980314053197f4d46eefedf4e6175bc9412f14412ec4ea2f"}, + {file = "pillow-10.2.0-cp312-cp312-win_amd64.whl", hash = "sha256:154e939c5f0053a383de4fd3d3da48d9427a7e985f58af8e94d0b3c9fcfcf4f9"}, + {file = "pillow-10.2.0-cp312-cp312-win_arm64.whl", hash = "sha256:f379abd2f1e3dddb2b61bc67977a6b5a0a3f7485538bcc6f39ec76163891ee48"}, + {file = "pillow-10.2.0-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:8373c6c251f7ef8bda6675dd6d2b3a0fcc31edf1201266b5cf608b62a37407f9"}, + {file = "pillow-10.2.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:870ea1ada0899fd0b79643990809323b389d4d1d46c192f97342eeb6ee0b8483"}, + {file = "pillow-10.2.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b4b6b1e20608493548b1f32bce8cca185bf0480983890403d3b8753e44077129"}, + {file = "pillow-10.2.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3031709084b6e7852d00479fd1d310b07d0ba82765f973b543c8af5061cf990e"}, + {file = "pillow-10.2.0-cp38-cp38-manylinux_2_28_aarch64.whl", hash = "sha256:3ff074fc97dd4e80543a3e91f69d58889baf2002b6be64347ea8cf5533188213"}, + {file = "pillow-10.2.0-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:cb4c38abeef13c61d6916f264d4845fab99d7b711be96c326b84df9e3e0ff62d"}, + {file = "pillow-10.2.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:b1b3020d90c2d8e1dae29cf3ce54f8094f7938460fb5ce8bc5c01450b01fbaf6"}, + {file = "pillow-10.2.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:170aeb00224ab3dc54230c797f8404507240dd868cf52066f66a41b33169bdbe"}, + {file = "pillow-10.2.0-cp38-cp38-win32.whl", hash = "sha256:c4225f5220f46b2fde568c74fca27ae9771536c2e29d7c04f4fb62c83275ac4e"}, + {file = "pillow-10.2.0-cp38-cp38-win_amd64.whl", hash = "sha256:0689b5a8c5288bc0504d9fcee48f61a6a586b9b98514d7d29b840143d6734f39"}, + {file = "pillow-10.2.0-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:b792a349405fbc0163190fde0dc7b3fef3c9268292586cf5645598b48e63dc67"}, + {file = "pillow-10.2.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:c570f24be1e468e3f0ce7ef56a89a60f0e05b30a3669a459e419c6eac2c35364"}, + {file = "pillow-10.2.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d8ecd059fdaf60c1963c58ceb8997b32e9dc1b911f5da5307aab614f1ce5c2fb"}, + {file = "pillow-10.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c365fd1703040de1ec284b176d6af5abe21b427cb3a5ff68e0759e1e313a5e7e"}, + {file = "pillow-10.2.0-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:70c61d4c475835a19b3a5aa42492409878bbca7438554a1f89d20d58a7c75c01"}, + {file = "pillow-10.2.0-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:b6f491cdf80ae540738859d9766783e3b3c8e5bd37f5dfa0b76abdecc5081f13"}, + {file = "pillow-10.2.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:9d189550615b4948f45252d7f005e53c2040cea1af5b60d6f79491a6e147eef7"}, + {file = "pillow-10.2.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:49d9ba1ed0ef3e061088cd1e7538a0759aab559e2e0a80a36f9fd9d8c0c21591"}, + {file = "pillow-10.2.0-cp39-cp39-win32.whl", hash = "sha256:babf5acfede515f176833ed6028754cbcd0d206f7f614ea3447d67c33be12516"}, + {file = "pillow-10.2.0-cp39-cp39-win_amd64.whl", hash = "sha256:0304004f8067386b477d20a518b50f3fa658a28d44e4116970abfcd94fac34a8"}, + {file = "pillow-10.2.0-cp39-cp39-win_arm64.whl", hash = "sha256:0fb3e7fc88a14eacd303e90481ad983fd5b69c761e9e6ef94c983f91025da869"}, + {file = "pillow-10.2.0-pp310-pypy310_pp73-macosx_10_10_x86_64.whl", hash = "sha256:322209c642aabdd6207517e9739c704dc9f9db943015535783239022002f054a"}, + {file = "pillow-10.2.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3eedd52442c0a5ff4f887fab0c1c0bb164d8635b32c894bc1faf4c618dd89df2"}, + {file = "pillow-10.2.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cb28c753fd5eb3dd859b4ee95de66cc62af91bcff5db5f2571d32a520baf1f04"}, + {file = "pillow-10.2.0-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:33870dc4653c5017bf4c8873e5488d8f8d5f8935e2f1fb9a2208c47cdd66efd2"}, + {file = "pillow-10.2.0-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:3c31822339516fb3c82d03f30e22b1d038da87ef27b6a78c9549888f8ceda39a"}, + {file = "pillow-10.2.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:a2b56ba36e05f973d450582fb015594aaa78834fefe8dfb8fcd79b93e64ba4c6"}, + {file = "pillow-10.2.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:d8e6aeb9201e655354b3ad049cb77d19813ad4ece0df1249d3c793de3774f8c7"}, + {file = "pillow-10.2.0-pp39-pypy39_pp73-macosx_10_10_x86_64.whl", hash = "sha256:2247178effb34a77c11c0e8ac355c7a741ceca0a732b27bf11e747bbc950722f"}, + {file = "pillow-10.2.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:15587643b9e5eb26c48e49a7b33659790d28f190fc514a322d55da2fb5c2950e"}, + {file = "pillow-10.2.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:753cd8f2086b2b80180d9b3010dd4ed147efc167c90d3bf593fe2af21265e5a5"}, + {file = "pillow-10.2.0-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:7c8f97e8e7a9009bcacbe3766a36175056c12f9a44e6e6f2d5caad06dcfbf03b"}, + {file = "pillow-10.2.0-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:d1b35bcd6c5543b9cb547dee3150c93008f8dd0f1fef78fc0cd2b141c5baf58a"}, + {file = "pillow-10.2.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:fe4c15f6c9285dc54ce6553a3ce908ed37c8f3825b5a51a15c91442bb955b868"}, + {file = "pillow-10.2.0.tar.gz", hash = "sha256:e87f0b2c78157e12d7686b27d63c070fd65d994e8ddae6f328e0dcf4a0cd007e"}, ] [package.extras] docs = ["furo", "olefile", "sphinx (>=2.4)", "sphinx-copybutton", "sphinx-inline-tabs", "sphinx-removed-in", "sphinxext-opengraph"] +fpx = ["olefile"] +mic = ["olefile"] tests = ["check-manifest", "coverage", "defusedxml", "markdown2", "olefile", "packaging", "pyroma", "pytest", "pytest-cov", "pytest-timeout"] +typing = ["typing-extensions"] +xmp = ["defusedxml"] [[package]] name = "platformdirs" -version = "4.0.0" +version = "4.1.0" description = "A small Python package for determining appropriate platform-specific dirs, e.g. a \"user data dir\"." optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "platformdirs-4.0.0-py3-none-any.whl", hash = "sha256:118c954d7e949b35437270383a3f2531e99dd93cf7ce4dc8340d3356d30f173b"}, - {file = "platformdirs-4.0.0.tar.gz", hash = "sha256:cb633b2bcf10c51af60beb0ab06d2f1d69064b43abf4c185ca6b28865f3f9731"}, + {file = "platformdirs-4.1.0-py3-none-any.whl", hash = "sha256:11c8f37bcca40db96d8144522d925583bdb7a31f7b0e37e3ed4318400a8e2380"}, + {file = "platformdirs-4.1.0.tar.gz", hash = "sha256:906d548203468492d432bcb294d4bc2fff751bf84971fbb2c10918cc206ee420"}, ] [package.extras] @@ -3147,13 +3160,13 @@ twisted = ["twisted"] [[package]] name = "prompt-toolkit" -version = "3.0.41" +version = "3.0.43" description = "Library for building powerful interactive command lines in Python" optional = false python-versions = ">=3.7.0" files = [ - {file = "prompt_toolkit-3.0.41-py3-none-any.whl", hash = "sha256:f36fe301fafb7470e86aaf90f036eef600a3210be4decf461a5b1ca8403d3cb2"}, - {file = "prompt_toolkit-3.0.41.tar.gz", hash = "sha256:941367d97fc815548822aa26c2a269fdc4eb21e9ec05fc5d447cf09bad5d75f0"}, + {file = "prompt_toolkit-3.0.43-py3-none-any.whl", hash = "sha256:a11a29cb3bf0a28a387fe5122cdb649816a957cd9261dcedf8c9f1fef33eacf6"}, + {file = "prompt_toolkit-3.0.43.tar.gz", hash = "sha256:3527b7af26106cbc65a040bcc84839a3566ec1b051bb0bfe953631e704b0ff7d"}, ] [package.dependencies] @@ -3161,47 +3174,47 @@ wcwidth = "*" [[package]] name = "protobuf" -version = "4.25.1" +version = "4.25.2" description = "" optional = false python-versions = ">=3.8" files = [ - {file = "protobuf-4.25.1-cp310-abi3-win32.whl", hash = "sha256:193f50a6ab78a970c9b4f148e7c750cfde64f59815e86f686c22e26b4fe01ce7"}, - {file = "protobuf-4.25.1-cp310-abi3-win_amd64.whl", hash = "sha256:3497c1af9f2526962f09329fd61a36566305e6c72da2590ae0d7d1322818843b"}, - {file = "protobuf-4.25.1-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:0bf384e75b92c42830c0a679b0cd4d6e2b36ae0cf3dbb1e1dfdda48a244f4bcd"}, - {file = "protobuf-4.25.1-cp37-abi3-manylinux2014_aarch64.whl", hash = "sha256:0f881b589ff449bf0b931a711926e9ddaad3b35089cc039ce1af50b21a4ae8cb"}, - {file = "protobuf-4.25.1-cp37-abi3-manylinux2014_x86_64.whl", hash = "sha256:ca37bf6a6d0046272c152eea90d2e4ef34593aaa32e8873fc14c16440f22d4b7"}, - {file = "protobuf-4.25.1-cp38-cp38-win32.whl", hash = "sha256:abc0525ae2689a8000837729eef7883b9391cd6aa7950249dcf5a4ede230d5dd"}, - {file = "protobuf-4.25.1-cp38-cp38-win_amd64.whl", hash = "sha256:1484f9e692091450e7edf418c939e15bfc8fc68856e36ce399aed6889dae8bb0"}, - {file = "protobuf-4.25.1-cp39-cp39-win32.whl", hash = "sha256:8bdbeaddaac52d15c6dce38c71b03038ef7772b977847eb6d374fc86636fa510"}, - {file = "protobuf-4.25.1-cp39-cp39-win_amd64.whl", hash = "sha256:becc576b7e6b553d22cbdf418686ee4daa443d7217999125c045ad56322dda10"}, - {file = "protobuf-4.25.1-py3-none-any.whl", hash = "sha256:a19731d5e83ae4737bb2a089605e636077ac001d18781b3cf489b9546c7c80d6"}, - {file = "protobuf-4.25.1.tar.gz", hash = "sha256:57d65074b4f5baa4ab5da1605c02be90ac20c8b40fb137d6a8df9f416b0d0ce2"}, + {file = "protobuf-4.25.2-cp310-abi3-win32.whl", hash = "sha256:b50c949608682b12efb0b2717f53256f03636af5f60ac0c1d900df6213910fd6"}, + {file = "protobuf-4.25.2-cp310-abi3-win_amd64.whl", hash = "sha256:8f62574857ee1de9f770baf04dde4165e30b15ad97ba03ceac65f760ff018ac9"}, + {file = "protobuf-4.25.2-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:2db9f8fa64fbdcdc93767d3cf81e0f2aef176284071507e3ede160811502fd3d"}, + {file = "protobuf-4.25.2-cp37-abi3-manylinux2014_aarch64.whl", hash = "sha256:10894a2885b7175d3984f2be8d9850712c57d5e7587a2410720af8be56cdaf62"}, + {file = "protobuf-4.25.2-cp37-abi3-manylinux2014_x86_64.whl", hash = "sha256:fc381d1dd0516343f1440019cedf08a7405f791cd49eef4ae1ea06520bc1c020"}, + {file = "protobuf-4.25.2-cp38-cp38-win32.whl", hash = "sha256:33a1aeef4b1927431d1be780e87b641e322b88d654203a9e9d93f218ee359e61"}, + {file = "protobuf-4.25.2-cp38-cp38-win_amd64.whl", hash = "sha256:47f3de503fe7c1245f6f03bea7e8d3ec11c6c4a2ea9ef910e3221c8a15516d62"}, + {file = "protobuf-4.25.2-cp39-cp39-win32.whl", hash = "sha256:5e5c933b4c30a988b52e0b7c02641760a5ba046edc5e43d3b94a74c9fc57c1b3"}, + {file = "protobuf-4.25.2-cp39-cp39-win_amd64.whl", hash = "sha256:d66a769b8d687df9024f2985d5137a337f957a0916cf5464d1513eee96a63ff0"}, + {file = "protobuf-4.25.2-py3-none-any.whl", hash = "sha256:a8b7a98d4ce823303145bf3c1a8bdb0f2f4642a414b196f04ad9853ed0c8f830"}, + {file = "protobuf-4.25.2.tar.gz", hash = "sha256:fe599e175cb347efc8ee524bcd4b902d11f7262c0e569ececcb89995c15f0a5e"}, ] [[package]] name = "psutil" -version = "5.9.6" +version = "5.9.7" description = "Cross-platform lib for process and system monitoring in Python." optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*" files = [ - {file = "psutil-5.9.6-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:fb8a697f11b0f5994550555fcfe3e69799e5b060c8ecf9e2f75c69302cc35c0d"}, - {file = "psutil-5.9.6-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:91ecd2d9c00db9817a4b4192107cf6954addb5d9d67a969a4f436dbc9200f88c"}, - {file = "psutil-5.9.6-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:10e8c17b4f898d64b121149afb136c53ea8b68c7531155147867b7b1ac9e7e28"}, - {file = "psutil-5.9.6-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:18cd22c5db486f33998f37e2bb054cc62fd06646995285e02a51b1e08da97017"}, - {file = "psutil-5.9.6-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:ca2780f5e038379e520281e4c032dddd086906ddff9ef0d1b9dcf00710e5071c"}, - {file = "psutil-5.9.6-cp27-none-win32.whl", hash = "sha256:70cb3beb98bc3fd5ac9ac617a327af7e7f826373ee64c80efd4eb2856e5051e9"}, - {file = "psutil-5.9.6-cp27-none-win_amd64.whl", hash = "sha256:51dc3d54607c73148f63732c727856f5febec1c7c336f8f41fcbd6315cce76ac"}, - {file = "psutil-5.9.6-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:c69596f9fc2f8acd574a12d5f8b7b1ba3765a641ea5d60fb4736bf3c08a8214a"}, - {file = "psutil-5.9.6-cp36-abi3-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:92e0cc43c524834af53e9d3369245e6cc3b130e78e26100d1f63cdb0abeb3d3c"}, - {file = "psutil-5.9.6-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:748c9dd2583ed86347ed65d0035f45fa8c851e8d90354c122ab72319b5f366f4"}, - {file = "psutil-5.9.6-cp36-cp36m-win32.whl", hash = "sha256:3ebf2158c16cc69db777e3c7decb3c0f43a7af94a60d72e87b2823aebac3d602"}, - {file = "psutil-5.9.6-cp36-cp36m-win_amd64.whl", hash = "sha256:ff18b8d1a784b810df0b0fff3bcb50ab941c3b8e2c8de5726f9c71c601c611aa"}, - {file = "psutil-5.9.6-cp37-abi3-win32.whl", hash = "sha256:a6f01f03bf1843280f4ad16f4bde26b817847b4c1a0db59bf6419807bc5ce05c"}, - {file = "psutil-5.9.6-cp37-abi3-win_amd64.whl", hash = "sha256:6e5fb8dc711a514da83098bc5234264e551ad980cec5f85dabf4d38ed6f15e9a"}, - {file = "psutil-5.9.6-cp38-abi3-macosx_11_0_arm64.whl", hash = "sha256:daecbcbd29b289aac14ece28eca6a3e60aa361754cf6da3dfb20d4d32b6c7f57"}, - {file = "psutil-5.9.6.tar.gz", hash = "sha256:e4b92ddcd7dd4cdd3f900180ea1e104932c7bce234fb88976e2a3b296441225a"}, + {file = "psutil-5.9.7-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:0bd41bf2d1463dfa535942b2a8f0e958acf6607ac0be52265ab31f7923bcd5e6"}, + {file = "psutil-5.9.7-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:5794944462509e49d4d458f4dbfb92c47539e7d8d15c796f141f474010084056"}, + {file = "psutil-5.9.7-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:fe361f743cb3389b8efda21980d93eb55c1f1e3898269bc9a2a1d0bb7b1f6508"}, + {file = "psutil-5.9.7-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:e469990e28f1ad738f65a42dcfc17adaed9d0f325d55047593cb9033a0ab63df"}, + {file = "psutil-5.9.7-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:3c4747a3e2ead1589e647e64aad601981f01b68f9398ddf94d01e3dc0d1e57c7"}, + {file = "psutil-5.9.7-cp27-none-win32.whl", hash = "sha256:1d4bc4a0148fdd7fd8f38e0498639ae128e64538faa507df25a20f8f7fb2341c"}, + {file = "psutil-5.9.7-cp27-none-win_amd64.whl", hash = "sha256:4c03362e280d06bbbfcd52f29acd79c733e0af33d707c54255d21029b8b32ba6"}, + {file = "psutil-5.9.7-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:ea36cc62e69a13ec52b2f625c27527f6e4479bca2b340b7a452af55b34fcbe2e"}, + {file = "psutil-5.9.7-cp36-abi3-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1132704b876e58d277168cd729d64750633d5ff0183acf5b3c986b8466cd0284"}, + {file = "psutil-5.9.7-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fe8b7f07948f1304497ce4f4684881250cd859b16d06a1dc4d7941eeb6233bfe"}, + {file = "psutil-5.9.7-cp36-cp36m-win32.whl", hash = "sha256:b27f8fdb190c8c03914f908a4555159327d7481dac2f01008d483137ef3311a9"}, + {file = "psutil-5.9.7-cp36-cp36m-win_amd64.whl", hash = "sha256:44969859757f4d8f2a9bd5b76eba8c3099a2c8cf3992ff62144061e39ba8568e"}, + {file = "psutil-5.9.7-cp37-abi3-win32.whl", hash = "sha256:c727ca5a9b2dd5193b8644b9f0c883d54f1248310023b5ad3e92036c5e2ada68"}, + {file = "psutil-5.9.7-cp37-abi3-win_amd64.whl", hash = "sha256:f37f87e4d73b79e6c5e749440c3113b81d1ee7d26f21c19c47371ddea834f414"}, + {file = "psutil-5.9.7-cp38-abi3-macosx_11_0_arm64.whl", hash = "sha256:032f4f2c909818c86cea4fe2cc407f1c0f0cde8e6c6d702b28b8ce0c0d143340"}, + {file = "psutil-5.9.7.tar.gz", hash = "sha256:3f02134e82cfb5d089fddf20bb2e03fd5cd52395321d1c8458a9e58500ff417c"}, ] [package.extras] @@ -3232,24 +3245,6 @@ files = [ [package.extras] tests = ["pytest"] -[[package]] -name = "py-cid" -version = "0.3.0" -description = "Self-describing content-addressed identifiers for distributed systems" -optional = false -python-versions = "*" -files = [ - {file = "py-cid-0.3.0.tar.gz", hash = "sha256:22f432cc6fb68d12a9c35dbdc92c95484fc49e31dfcb9e0efb0082233c5394e3"}, - {file = "py_cid-0.3.0-py2.py3-none-any.whl", hash = "sha256:7c48a6ee0bc50fd114d4b24849cd689a31d3ad5bdf8fa073bf68f846fd58c5da"}, -] - -[package.dependencies] -base58 = ">=1.0.2,<2.0" -morphys = ">=1.0,<2.0" -py-multibase = ">=1.0.0,<2.0.0" -py-multicodec = "<0.3.0" -py-multihash = ">=0.2.0,<1.0.0" - [[package]] name = "py-ecc" version = "6.0.0" @@ -3307,13 +3302,13 @@ test = ["factory-boy (==2.11.1)", "hypothesis (>=5,<6)", "importlib-metadata (<5 [[package]] name = "py-geth" -version = "4.0.0" +version = "4.1.0" description = "py-geth: Run Go-Ethereum as a subprocess" optional = false python-versions = ">=3.8, <4" files = [ - {file = "py-geth-4.0.0.tar.gz", hash = "sha256:69f86369c8ee4eb17908ac8c893e537dc1465bd41becf88e5dffbfac921fd8ed"}, - {file = "py_geth-4.0.0-py3-none-any.whl", hash = "sha256:ce5d3747403a16ee0facc4645210a0d0b7d1b37aa0fb40079f2104c360bd29f9"}, + {file = "py-geth-4.1.0.tar.gz", hash = "sha256:156fa475e4a28ba2686e986de288da2b9771837f07c81c2333e20ab3249c9eae"}, + {file = "py_geth-4.1.0-py3-none-any.whl", hash = "sha256:f6cb6cde196ad902635fa082a21303c8cb889819fcf278a422a13797b97e28b6"}, ] [package.dependencies] @@ -3324,98 +3319,49 @@ dev = ["build (>=0.9.0)", "bumpversion (>=0.5.3)", "flaky (>=3.2.0)", "ipython", docs = ["towncrier (>=21,<22)"] test = ["flaky (>=3.2.0)", "pytest (>=7.0.0)", "pytest-xdist (>=2.4.0)"] -[[package]] -name = "py-multibase" -version = "1.0.3" -description = "Multibase implementation for Python" -optional = false -python-versions = "*" -files = [ - {file = "py-multibase-1.0.3.tar.gz", hash = "sha256:d28a20efcbb61eec28f55827a0bf329c7cea80fffd933aecaea6ae8431267fe4"}, - {file = "py_multibase-1.0.3-py2.py3-none-any.whl", hash = "sha256:2677c1fafcc0ae15ddb9c7f444c5becc2530b3889124fd4fa2959ddfefb8c15b"}, -] - -[package.dependencies] -morphys = ">=1.0,<2.0" -python-baseconv = ">=1.2.0,<2.0" -six = ">=1.10.0,<2.0" - -[[package]] -name = "py-multicodec" -version = "0.2.1" -description = "Multicodec implementation in Python" -optional = false -python-versions = "*" -files = [ - {file = "py-multicodec-0.2.1.tar.gz", hash = "sha256:83021ffe8c0e272d19b5b86bc5b39efa67c8e9f4735ce6cafdbc1ace767ec647"}, - {file = "py_multicodec-0.2.1-py2.py3-none-any.whl", hash = "sha256:55b6bb53088a63e56c434cb11b29795e8805652bac43d50a8f2a9bcf5ca84e1f"}, -] - -[package.dependencies] -morphys = ">=1.0,<2.0" -six = ">=1.10.0,<2.0" -varint = ">=1.0.2,<2.0.0" - -[[package]] -name = "py-multihash" -version = "0.2.3" -description = "Multihash implementation in Python" -optional = false -python-versions = "*" -files = [ - {file = "py-multihash-0.2.3.tar.gz", hash = "sha256:f0ade4de820afdc4b4aaa40464ec86c9da5cae3a4578cda2daab4b0eb7e5b18d"}, - {file = "py_multihash-0.2.3-py2.py3-none-any.whl", hash = "sha256:a0602c99093587dfbf1634e2e8c7726de39374b0d68587a36093b4c237af6969"}, -] - -[package.dependencies] -base58 = ">=1.0.2,<2.0" -morphys = ">=1.0,<2.0" -six = ">=1.10.0,<2.0" -varint = ">=1.0.2,<2.0" - [[package]] name = "pyarrow" -version = "14.0.1" +version = "14.0.2" description = "Python library for Apache Arrow" optional = true python-versions = ">=3.8" files = [ - {file = "pyarrow-14.0.1-cp310-cp310-macosx_10_14_x86_64.whl", hash = "sha256:96d64e5ba7dceb519a955e5eeb5c9adcfd63f73a56aea4722e2cc81364fc567a"}, - {file = "pyarrow-14.0.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:1a8ae88c0038d1bc362a682320112ee6774f006134cd5afc291591ee4bc06505"}, - {file = "pyarrow-14.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0f6f053cb66dc24091f5511e5920e45c83107f954a21032feadc7b9e3a8e7851"}, - {file = "pyarrow-14.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:906b0dc25f2be12e95975722f1e60e162437023f490dbd80d0deb7375baf3171"}, - {file = "pyarrow-14.0.1-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:78d4a77a46a7de9388b653af1c4ce539350726cd9af62e0831e4f2bd0c95a2f4"}, - {file = "pyarrow-14.0.1-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:06ca79080ef89d6529bb8e5074d4b4f6086143b2520494fcb7cf8a99079cde93"}, - {file = "pyarrow-14.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:32542164d905002c42dff896efdac79b3bdd7291b1b74aa292fac8450d0e4dcd"}, - {file = "pyarrow-14.0.1-cp311-cp311-macosx_10_14_x86_64.whl", hash = "sha256:c7331b4ed3401b7ee56f22c980608cf273f0380f77d0f73dd3c185f78f5a6220"}, - {file = "pyarrow-14.0.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:922e8b49b88da8633d6cac0e1b5a690311b6758d6f5d7c2be71acb0f1e14cd61"}, - {file = "pyarrow-14.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:58c889851ca33f992ea916b48b8540735055201b177cb0dcf0596a495a667b00"}, - {file = "pyarrow-14.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:30d8494870d9916bb53b2a4384948491444741cb9a38253c590e21f836b01222"}, - {file = "pyarrow-14.0.1-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:be28e1a07f20391bb0b15ea03dcac3aade29fc773c5eb4bee2838e9b2cdde0cb"}, - {file = "pyarrow-14.0.1-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:981670b4ce0110d8dcb3246410a4aabf5714db5d8ea63b15686bce1c914b1f83"}, - {file = "pyarrow-14.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:4756a2b373a28f6166c42711240643fb8bd6322467e9aacabd26b488fa41ec23"}, - {file = "pyarrow-14.0.1-cp312-cp312-macosx_10_14_x86_64.whl", hash = "sha256:cf87e2cec65dd5cf1aa4aba918d523ef56ef95597b545bbaad01e6433851aa10"}, - {file = "pyarrow-14.0.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:470ae0194fbfdfbf4a6b65b4f9e0f6e1fa0ea5b90c1ee6b65b38aecee53508c8"}, - {file = "pyarrow-14.0.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6263cffd0c3721c1e348062997babdf0151301f7353010c9c9a8ed47448f82ab"}, - {file = "pyarrow-14.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7a8089d7e77d1455d529dbd7cff08898bbb2666ee48bc4085203af1d826a33cc"}, - {file = "pyarrow-14.0.1-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:fada8396bc739d958d0b81d291cfd201126ed5e7913cb73de6bc606befc30226"}, - {file = "pyarrow-14.0.1-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:2a145dab9ed7849fc1101bf03bcdc69913547f10513fdf70fc3ab6c0a50c7eee"}, - {file = "pyarrow-14.0.1-cp312-cp312-win_amd64.whl", hash = "sha256:05fe7994745b634c5fb16ce5717e39a1ac1fac3e2b0795232841660aa76647cd"}, - {file = "pyarrow-14.0.1-cp38-cp38-macosx_10_14_x86_64.whl", hash = "sha256:a8eeef015ae69d104c4c3117a6011e7e3ecd1abec79dc87fd2fac6e442f666ee"}, - {file = "pyarrow-14.0.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:3c76807540989fe8fcd02285dd15e4f2a3da0b09d27781abec3adc265ddbeba1"}, - {file = "pyarrow-14.0.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:450e4605e3c20e558485f9161a79280a61c55efe585d51513c014de9ae8d393f"}, - {file = "pyarrow-14.0.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:323cbe60210173ffd7db78bfd50b80bdd792c4c9daca8843ef3cd70b186649db"}, - {file = "pyarrow-14.0.1-cp38-cp38-manylinux_2_28_aarch64.whl", hash = "sha256:0140c7e2b740e08c5a459439d87acd26b747fc408bde0a8806096ee0baaa0c15"}, - {file = "pyarrow-14.0.1-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:e592e482edd9f1ab32f18cd6a716c45b2c0f2403dc2af782f4e9674952e6dd27"}, - {file = "pyarrow-14.0.1-cp38-cp38-win_amd64.whl", hash = "sha256:d264ad13605b61959f2ae7c1d25b1a5b8505b112715c961418c8396433f213ad"}, - {file = "pyarrow-14.0.1-cp39-cp39-macosx_10_14_x86_64.whl", hash = "sha256:01e44de9749cddc486169cb632f3c99962318e9dacac7778315a110f4bf8a450"}, - {file = "pyarrow-14.0.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:d0351fecf0e26e152542bc164c22ea2a8e8c682726fce160ce4d459ea802d69c"}, - {file = "pyarrow-14.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:33c1f6110c386464fd2e5e4ea3624466055bbe681ff185fd6c9daa98f30a3f9a"}, - {file = "pyarrow-14.0.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:11e045dfa09855b6d3e7705a37c42e2dc2c71d608fab34d3c23df2e02df9aec3"}, - {file = "pyarrow-14.0.1-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:097828b55321897db0e1dbfc606e3ff8101ae5725673498cbfa7754ee0da80e4"}, - {file = "pyarrow-14.0.1-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:1daab52050a1c48506c029e6fa0944a7b2436334d7e44221c16f6f1b2cc9c510"}, - {file = "pyarrow-14.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:3f6d5faf4f1b0d5a7f97be987cf9e9f8cd39902611e818fe134588ee99bf0283"}, - {file = "pyarrow-14.0.1.tar.gz", hash = "sha256:b8b3f4fe8d4ec15e1ef9b599b94683c5216adaed78d5cb4c606180546d1e2ee1"}, + {file = "pyarrow-14.0.2-cp310-cp310-macosx_10_14_x86_64.whl", hash = "sha256:ba9fe808596c5dbd08b3aeffe901e5f81095baaa28e7d5118e01354c64f22807"}, + {file = "pyarrow-14.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:22a768987a16bb46220cef490c56c671993fbee8fd0475febac0b3e16b00a10e"}, + {file = "pyarrow-14.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2dbba05e98f247f17e64303eb876f4a80fcd32f73c7e9ad975a83834d81f3fda"}, + {file = "pyarrow-14.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a898d134d00b1eca04998e9d286e19653f9d0fcb99587310cd10270907452a6b"}, + {file = "pyarrow-14.0.2-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:87e879323f256cb04267bb365add7208f302df942eb943c93a9dfeb8f44840b1"}, + {file = "pyarrow-14.0.2-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:76fc257559404ea5f1306ea9a3ff0541bf996ff3f7b9209fc517b5e83811fa8e"}, + {file = "pyarrow-14.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:b0c4a18e00f3a32398a7f31da47fefcd7a927545b396e1f15d0c85c2f2c778cd"}, + {file = "pyarrow-14.0.2-cp311-cp311-macosx_10_14_x86_64.whl", hash = "sha256:87482af32e5a0c0cce2d12eb3c039dd1d853bd905b04f3f953f147c7a196915b"}, + {file = "pyarrow-14.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:059bd8f12a70519e46cd64e1ba40e97eae55e0cbe1695edd95384653d7626b23"}, + {file = "pyarrow-14.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3f16111f9ab27e60b391c5f6d197510e3ad6654e73857b4e394861fc79c37200"}, + {file = "pyarrow-14.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:06ff1264fe4448e8d02073f5ce45a9f934c0f3db0a04460d0b01ff28befc3696"}, + {file = "pyarrow-14.0.2-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:6dd4f4b472ccf4042f1eab77e6c8bce574543f54d2135c7e396f413046397d5a"}, + {file = "pyarrow-14.0.2-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:32356bfb58b36059773f49e4e214996888eeea3a08893e7dbde44753799b2a02"}, + {file = "pyarrow-14.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:52809ee69d4dbf2241c0e4366d949ba035cbcf48409bf404f071f624ed313a2b"}, + {file = "pyarrow-14.0.2-cp312-cp312-macosx_10_14_x86_64.whl", hash = "sha256:c87824a5ac52be210d32906c715f4ed7053d0180c1060ae3ff9b7e560f53f944"}, + {file = "pyarrow-14.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:a25eb2421a58e861f6ca91f43339d215476f4fe159eca603c55950c14f378cc5"}, + {file = "pyarrow-14.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5c1da70d668af5620b8ba0a23f229030a4cd6c5f24a616a146f30d2386fec422"}, + {file = "pyarrow-14.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2cc61593c8e66194c7cdfae594503e91b926a228fba40b5cf25cc593563bcd07"}, + {file = "pyarrow-14.0.2-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:78ea56f62fb7c0ae8ecb9afdd7893e3a7dbeb0b04106f5c08dbb23f9c0157591"}, + {file = "pyarrow-14.0.2-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:37c233ddbce0c67a76c0985612fef27c0c92aef9413cf5aa56952f359fcb7379"}, + {file = "pyarrow-14.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:e4b123ad0f6add92de898214d404e488167b87b5dd86e9a434126bc2b7a5578d"}, + {file = "pyarrow-14.0.2-cp38-cp38-macosx_10_14_x86_64.whl", hash = "sha256:e354fba8490de258be7687f341bc04aba181fc8aa1f71e4584f9890d9cb2dec2"}, + {file = "pyarrow-14.0.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:20e003a23a13da963f43e2b432483fdd8c38dc8882cd145f09f21792e1cf22a1"}, + {file = "pyarrow-14.0.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fc0de7575e841f1595ac07e5bc631084fd06ca8b03c0f2ecece733d23cd5102a"}, + {file = "pyarrow-14.0.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:66e986dc859712acb0bd45601229021f3ffcdfc49044b64c6d071aaf4fa49e98"}, + {file = "pyarrow-14.0.2-cp38-cp38-manylinux_2_28_aarch64.whl", hash = "sha256:f7d029f20ef56673a9730766023459ece397a05001f4e4d13805111d7c2108c0"}, + {file = "pyarrow-14.0.2-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:209bac546942b0d8edc8debda248364f7f668e4aad4741bae58e67d40e5fcf75"}, + {file = "pyarrow-14.0.2-cp38-cp38-win_amd64.whl", hash = "sha256:1e6987c5274fb87d66bb36816afb6f65707546b3c45c44c28e3c4133c010a881"}, + {file = "pyarrow-14.0.2-cp39-cp39-macosx_10_14_x86_64.whl", hash = "sha256:a01d0052d2a294a5f56cc1862933014e696aa08cc7b620e8c0cce5a5d362e976"}, + {file = "pyarrow-14.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a51fee3a7db4d37f8cda3ea96f32530620d43b0489d169b285d774da48ca9785"}, + {file = "pyarrow-14.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:64df2bf1ef2ef14cee531e2dfe03dd924017650ffaa6f9513d7a1bb291e59c15"}, + {file = "pyarrow-14.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3c0fa3bfdb0305ffe09810f9d3e2e50a2787e3a07063001dcd7adae0cee3601a"}, + {file = "pyarrow-14.0.2-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:c65bf4fd06584f058420238bc47a316e80dda01ec0dfb3044594128a6c2db794"}, + {file = "pyarrow-14.0.2-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:63ac901baec9369d6aae1cbe6cca11178fb018a8d45068aaf5bb54f94804a866"}, + {file = "pyarrow-14.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:75ee0efe7a87a687ae303d63037d08a48ef9ea0127064df18267252cfe2e9541"}, + {file = "pyarrow-14.0.2.tar.gz", hash = "sha256:36cef6ba12b499d864d1def3e990f97949e0b79400d08b7cf74504ffbd3eb025"}, ] [package.dependencies] @@ -3445,59 +3391,59 @@ files = [ [[package]] name = "pycryptodome" -version = "3.19.0" +version = "3.20.0" description = "Cryptographic library for Python" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" files = [ - {file = "pycryptodome-3.19.0-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:3006c44c4946583b6de24fe0632091c2653d6256b99a02a3db71ca06472ea1e4"}, - {file = "pycryptodome-3.19.0-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:7c760c8a0479a4042111a8dd2f067d3ae4573da286c53f13cf6f5c53a5c1f631"}, - {file = "pycryptodome-3.19.0-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:08ce3558af5106c632baf6d331d261f02367a6bc3733086ae43c0f988fe042db"}, - {file = "pycryptodome-3.19.0-cp27-cp27m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:45430dfaf1f421cf462c0dd824984378bef32b22669f2635cb809357dbaab405"}, - {file = "pycryptodome-3.19.0-cp27-cp27m-musllinux_1_1_aarch64.whl", hash = "sha256:a9bcd5f3794879e91970f2bbd7d899780541d3ff439d8f2112441769c9f2ccea"}, - {file = "pycryptodome-3.19.0-cp27-cp27m-win32.whl", hash = "sha256:190c53f51e988dceb60472baddce3f289fa52b0ec38fbe5fd20dd1d0f795c551"}, - {file = "pycryptodome-3.19.0-cp27-cp27m-win_amd64.whl", hash = "sha256:22e0ae7c3a7f87dcdcf302db06ab76f20e83f09a6993c160b248d58274473bfa"}, - {file = "pycryptodome-3.19.0-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:7822f36d683f9ad7bc2145b2c2045014afdbbd1d9922a6d4ce1cbd6add79a01e"}, - {file = "pycryptodome-3.19.0-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:05e33267394aad6db6595c0ce9d427fe21552f5425e116a925455e099fdf759a"}, - {file = "pycryptodome-3.19.0-cp27-cp27mu-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:829b813b8ee00d9c8aba417621b94bc0b5efd18c928923802ad5ba4cf1ec709c"}, - {file = "pycryptodome-3.19.0-cp27-cp27mu-musllinux_1_1_aarch64.whl", hash = "sha256:fc7a79590e2b5d08530175823a242de6790abc73638cc6dc9d2684e7be2f5e49"}, - {file = "pycryptodome-3.19.0-cp35-abi3-macosx_10_9_universal2.whl", hash = "sha256:542f99d5026ac5f0ef391ba0602f3d11beef8e65aae135fa5b762f5ebd9d3bfb"}, - {file = "pycryptodome-3.19.0-cp35-abi3-macosx_10_9_x86_64.whl", hash = "sha256:61bb3ccbf4bf32ad9af32da8badc24e888ae5231c617947e0f5401077f8b091f"}, - {file = "pycryptodome-3.19.0-cp35-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d49a6c715d8cceffedabb6adb7e0cbf41ae1a2ff4adaeec9432074a80627dea1"}, - {file = "pycryptodome-3.19.0-cp35-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e249a784cc98a29c77cea9df54284a44b40cafbfae57636dd2f8775b48af2434"}, - {file = "pycryptodome-3.19.0-cp35-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d033947e7fd3e2ba9a031cb2d267251620964705a013c5a461fa5233cc025270"}, - {file = "pycryptodome-3.19.0-cp35-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:84c3e4fffad0c4988aef0d5591be3cad4e10aa7db264c65fadbc633318d20bde"}, - {file = "pycryptodome-3.19.0-cp35-abi3-musllinux_1_1_i686.whl", hash = "sha256:139ae2c6161b9dd5d829c9645d781509a810ef50ea8b657e2257c25ca20efe33"}, - {file = "pycryptodome-3.19.0-cp35-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:5b1986c761258a5b4332a7f94a83f631c1ffca8747d75ab8395bf2e1b93283d9"}, - {file = "pycryptodome-3.19.0-cp35-abi3-win32.whl", hash = "sha256:536f676963662603f1f2e6ab01080c54d8cd20f34ec333dcb195306fa7826997"}, - {file = "pycryptodome-3.19.0-cp35-abi3-win_amd64.whl", hash = "sha256:04dd31d3b33a6b22ac4d432b3274588917dcf850cc0c51c84eca1d8ed6933810"}, - {file = "pycryptodome-3.19.0-pp27-pypy_73-manylinux2010_x86_64.whl", hash = "sha256:8999316e57abcbd8085c91bc0ef75292c8618f41ca6d2b6132250a863a77d1e7"}, - {file = "pycryptodome-3.19.0-pp27-pypy_73-win32.whl", hash = "sha256:a0ab84755f4539db086db9ba9e9f3868d2e3610a3948cbd2a55e332ad83b01b0"}, - {file = "pycryptodome-3.19.0-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:0101f647d11a1aae5a8ce4f5fad6644ae1b22bb65d05accc7d322943c69a74a6"}, - {file = "pycryptodome-3.19.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8c1601e04d32087591d78e0b81e1e520e57a92796089864b20e5f18c9564b3fa"}, - {file = "pycryptodome-3.19.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:506c686a1eee6c00df70010be3b8e9e78f406af4f21b23162bbb6e9bdf5427bc"}, - {file = "pycryptodome-3.19.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:7919ccd096584b911f2a303c593280869ce1af9bf5d36214511f5e5a1bed8c34"}, - {file = "pycryptodome-3.19.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:560591c0777f74a5da86718f70dfc8d781734cf559773b64072bbdda44b3fc3e"}, - {file = "pycryptodome-3.19.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c1cc2f2ae451a676def1a73c1ae9120cd31af25db3f381893d45f75e77be2400"}, - {file = "pycryptodome-3.19.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:17940dcf274fcae4a54ec6117a9ecfe52907ed5e2e438fe712fe7ca502672ed5"}, - {file = "pycryptodome-3.19.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:d04f5f623a280fbd0ab1c1d8ecbd753193ab7154f09b6161b0f857a1a676c15f"}, - {file = "pycryptodome-3.19.0.tar.gz", hash = "sha256:bc35d463222cdb4dbebd35e0784155c81e161b9284e567e7e933d722e533331e"}, + {file = "pycryptodome-3.20.0-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:f0e6d631bae3f231d3634f91ae4da7a960f7ff87f2865b2d2b831af1dfb04e9a"}, + {file = "pycryptodome-3.20.0-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:baee115a9ba6c5d2709a1e88ffe62b73ecc044852a925dcb67713a288c4ec70f"}, + {file = "pycryptodome-3.20.0-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:417a276aaa9cb3be91f9014e9d18d10e840a7a9b9a9be64a42f553c5b50b4d1d"}, + {file = "pycryptodome-3.20.0-cp27-cp27m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2a1250b7ea809f752b68e3e6f3fd946b5939a52eaeea18c73bdab53e9ba3c2dd"}, + {file = "pycryptodome-3.20.0-cp27-cp27m-musllinux_1_1_aarch64.whl", hash = "sha256:d5954acfe9e00bc83ed9f5cb082ed22c592fbbef86dc48b907238be64ead5c33"}, + {file = "pycryptodome-3.20.0-cp27-cp27m-win32.whl", hash = "sha256:06d6de87c19f967f03b4cf9b34e538ef46e99a337e9a61a77dbe44b2cbcf0690"}, + {file = "pycryptodome-3.20.0-cp27-cp27m-win_amd64.whl", hash = "sha256:ec0bb1188c1d13426039af8ffcb4dbe3aad1d7680c35a62d8eaf2a529b5d3d4f"}, + {file = "pycryptodome-3.20.0-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:5601c934c498cd267640b57569e73793cb9a83506f7c73a8ec57a516f5b0b091"}, + {file = "pycryptodome-3.20.0-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:d29daa681517f4bc318cd8a23af87e1f2a7bad2fe361e8aa29c77d652a065de4"}, + {file = "pycryptodome-3.20.0-cp27-cp27mu-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3427d9e5310af6680678f4cce149f54e0bb4af60101c7f2c16fdf878b39ccccc"}, + {file = "pycryptodome-3.20.0-cp27-cp27mu-musllinux_1_1_aarch64.whl", hash = "sha256:3cd3ef3aee1079ae44afaeee13393cf68b1058f70576b11439483e34f93cf818"}, + {file = "pycryptodome-3.20.0-cp35-abi3-macosx_10_9_universal2.whl", hash = "sha256:ac1c7c0624a862f2e53438a15c9259d1655325fc2ec4392e66dc46cdae24d044"}, + {file = "pycryptodome-3.20.0-cp35-abi3-macosx_10_9_x86_64.whl", hash = "sha256:76658f0d942051d12a9bd08ca1b6b34fd762a8ee4240984f7c06ddfb55eaf15a"}, + {file = "pycryptodome-3.20.0-cp35-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f35d6cee81fa145333137009d9c8ba90951d7d77b67c79cbe5f03c7eb74d8fe2"}, + {file = "pycryptodome-3.20.0-cp35-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:76cb39afede7055127e35a444c1c041d2e8d2f1f9c121ecef573757ba4cd2c3c"}, + {file = "pycryptodome-3.20.0-cp35-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:49a4c4dc60b78ec41d2afa392491d788c2e06edf48580fbfb0dd0f828af49d25"}, + {file = "pycryptodome-3.20.0-cp35-abi3-musllinux_1_1_aarch64.whl", hash = "sha256:fb3b87461fa35afa19c971b0a2b7456a7b1db7b4eba9a8424666104925b78128"}, + {file = "pycryptodome-3.20.0-cp35-abi3-musllinux_1_1_i686.whl", hash = "sha256:acc2614e2e5346a4a4eab6e199203034924313626f9620b7b4b38e9ad74b7e0c"}, + {file = "pycryptodome-3.20.0-cp35-abi3-musllinux_1_1_x86_64.whl", hash = "sha256:210ba1b647837bfc42dd5a813cdecb5b86193ae11a3f5d972b9a0ae2c7e9e4b4"}, + {file = "pycryptodome-3.20.0-cp35-abi3-win32.whl", hash = "sha256:8d6b98d0d83d21fb757a182d52940d028564efe8147baa9ce0f38d057104ae72"}, + {file = "pycryptodome-3.20.0-cp35-abi3-win_amd64.whl", hash = "sha256:9b3ae153c89a480a0ec402e23db8d8d84a3833b65fa4b15b81b83be9d637aab9"}, + {file = "pycryptodome-3.20.0-pp27-pypy_73-manylinux2010_x86_64.whl", hash = "sha256:4401564ebf37dfde45d096974c7a159b52eeabd9969135f0426907db367a652a"}, + {file = "pycryptodome-3.20.0-pp27-pypy_73-win32.whl", hash = "sha256:ec1f93feb3bb93380ab0ebf8b859e8e5678c0f010d2d78367cf6bc30bfeb148e"}, + {file = "pycryptodome-3.20.0-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:acae12b9ede49f38eb0ef76fdec2df2e94aad85ae46ec85be3648a57f0a7db04"}, + {file = "pycryptodome-3.20.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f47888542a0633baff535a04726948e876bf1ed880fddb7c10a736fa99146ab3"}, + {file = "pycryptodome-3.20.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6e0e4a987d38cfc2e71b4a1b591bae4891eeabe5fa0f56154f576e26287bfdea"}, + {file = "pycryptodome-3.20.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:c18b381553638414b38705f07d1ef0a7cf301bc78a5f9bc17a957eb19446834b"}, + {file = "pycryptodome-3.20.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:a60fedd2b37b4cb11ccb5d0399efe26db9e0dd149016c1cc6c8161974ceac2d6"}, + {file = "pycryptodome-3.20.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:405002eafad114a2f9a930f5db65feef7b53c4784495dd8758069b89baf68eab"}, + {file = "pycryptodome-3.20.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2ab6ab0cb755154ad14e507d1df72de9897e99fd2d4922851a276ccc14f4f1a5"}, + {file = "pycryptodome-3.20.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:acf6e43fa75aca2d33e93409f2dafe386fe051818ee79ee8a3e21de9caa2ac9e"}, + {file = "pycryptodome-3.20.0.tar.gz", hash = "sha256:09609209ed7de61c2b560cc5c8c4fbf892f8b15b1faf7e4cbffac97db1fffda7"}, ] [[package]] name = "pydantic" -version = "2.5.2" +version = "2.5.3" description = "Data validation using Python type hints" optional = false python-versions = ">=3.7" files = [ - {file = "pydantic-2.5.2-py3-none-any.whl", hash = "sha256:80c50fb8e3dcecfddae1adbcc00ec5822918490c99ab31f6cf6140ca1c1429f0"}, - {file = "pydantic-2.5.2.tar.gz", hash = "sha256:ff177ba64c6faf73d7afa2e8cad38fd456c0dbe01c9954e71038001cd15a6edd"}, + {file = "pydantic-2.5.3-py3-none-any.whl", hash = "sha256:d0caf5954bee831b6bfe7e338c32b9e30c85dfe080c843680783ac2b631673b4"}, + {file = "pydantic-2.5.3.tar.gz", hash = "sha256:b3ef57c62535b0941697cce638c08900d87fcb67e29cfa99e8a68f747f393f7a"}, ] [package.dependencies] annotated-types = ">=0.4.0" -pydantic-core = "2.14.5" +pydantic-core = "2.14.6" typing-extensions = ">=4.6.1" [package.extras] @@ -3505,116 +3451,116 @@ email = ["email-validator (>=2.0.0)"] [[package]] name = "pydantic-core" -version = "2.14.5" +version = "2.14.6" description = "" optional = false python-versions = ">=3.7" files = [ - {file = "pydantic_core-2.14.5-cp310-cp310-macosx_10_7_x86_64.whl", hash = "sha256:7e88f5696153dc516ba6e79f82cc4747e87027205f0e02390c21f7cb3bd8abfd"}, - {file = "pydantic_core-2.14.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:4641e8ad4efb697f38a9b64ca0523b557c7931c5f84e0fd377a9a3b05121f0de"}, - {file = "pydantic_core-2.14.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:774de879d212db5ce02dfbf5b0da9a0ea386aeba12b0b95674a4ce0593df3d07"}, - {file = "pydantic_core-2.14.5-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ebb4e035e28f49b6f1a7032920bb9a0c064aedbbabe52c543343d39341a5b2a3"}, - {file = "pydantic_core-2.14.5-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b53e9ad053cd064f7e473a5f29b37fc4cc9dc6d35f341e6afc0155ea257fc911"}, - {file = "pydantic_core-2.14.5-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8aa1768c151cf562a9992462239dfc356b3d1037cc5a3ac829bb7f3bda7cc1f9"}, - {file = "pydantic_core-2.14.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eac5c82fc632c599f4639a5886f96867ffced74458c7db61bc9a66ccb8ee3113"}, - {file = "pydantic_core-2.14.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d2ae91f50ccc5810b2f1b6b858257c9ad2e08da70bf890dee02de1775a387c66"}, - {file = "pydantic_core-2.14.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:6b9ff467ffbab9110e80e8c8de3bcfce8e8b0fd5661ac44a09ae5901668ba997"}, - {file = "pydantic_core-2.14.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:61ea96a78378e3bd5a0be99b0e5ed00057b71f66115f5404d0dae4819f495093"}, - {file = "pydantic_core-2.14.5-cp310-none-win32.whl", hash = "sha256:bb4c2eda937a5e74c38a41b33d8c77220380a388d689bcdb9b187cf6224c9720"}, - {file = "pydantic_core-2.14.5-cp310-none-win_amd64.whl", hash = "sha256:b7851992faf25eac90bfcb7bfd19e1f5ffa00afd57daec8a0042e63c74a4551b"}, - {file = "pydantic_core-2.14.5-cp311-cp311-macosx_10_7_x86_64.whl", hash = "sha256:4e40f2bd0d57dac3feb3a3aed50f17d83436c9e6b09b16af271b6230a2915459"}, - {file = "pydantic_core-2.14.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ab1cdb0f14dc161ebc268c09db04d2c9e6f70027f3b42446fa11c153521c0e88"}, - {file = "pydantic_core-2.14.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aae7ea3a1c5bb40c93cad361b3e869b180ac174656120c42b9fadebf685d121b"}, - {file = "pydantic_core-2.14.5-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:60b7607753ba62cf0739177913b858140f11b8af72f22860c28eabb2f0a61937"}, - {file = "pydantic_core-2.14.5-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2248485b0322c75aee7565d95ad0e16f1c67403a470d02f94da7344184be770f"}, - {file = "pydantic_core-2.14.5-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:823fcc638f67035137a5cd3f1584a4542d35a951c3cc68c6ead1df7dac825c26"}, - {file = "pydantic_core-2.14.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:96581cfefa9123accc465a5fd0cc833ac4d75d55cc30b633b402e00e7ced00a6"}, - {file = "pydantic_core-2.14.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:a33324437018bf6ba1bb0f921788788641439e0ed654b233285b9c69704c27b4"}, - {file = "pydantic_core-2.14.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:9bd18fee0923ca10f9a3ff67d4851c9d3e22b7bc63d1eddc12f439f436f2aada"}, - {file = "pydantic_core-2.14.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:853a2295c00f1d4429db4c0fb9475958543ee80cfd310814b5c0ef502de24dda"}, - {file = "pydantic_core-2.14.5-cp311-none-win32.whl", hash = "sha256:cb774298da62aea5c80a89bd58c40205ab4c2abf4834453b5de207d59d2e1651"}, - {file = "pydantic_core-2.14.5-cp311-none-win_amd64.whl", hash = "sha256:e87fc540c6cac7f29ede02e0f989d4233f88ad439c5cdee56f693cc9c1c78077"}, - {file = "pydantic_core-2.14.5-cp311-none-win_arm64.whl", hash = "sha256:57d52fa717ff445cb0a5ab5237db502e6be50809b43a596fb569630c665abddf"}, - {file = "pydantic_core-2.14.5-cp312-cp312-macosx_10_7_x86_64.whl", hash = "sha256:e60f112ac88db9261ad3a52032ea46388378034f3279c643499edb982536a093"}, - {file = "pydantic_core-2.14.5-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:6e227c40c02fd873c2a73a98c1280c10315cbebe26734c196ef4514776120aeb"}, - {file = "pydantic_core-2.14.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f0cbc7fff06a90bbd875cc201f94ef0ee3929dfbd5c55a06674b60857b8b85ed"}, - {file = "pydantic_core-2.14.5-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:103ef8d5b58596a731b690112819501ba1db7a36f4ee99f7892c40da02c3e189"}, - {file = "pydantic_core-2.14.5-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c949f04ecad823f81b1ba94e7d189d9dfb81edbb94ed3f8acfce41e682e48cef"}, - {file = "pydantic_core-2.14.5-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c1452a1acdf914d194159439eb21e56b89aa903f2e1c65c60b9d874f9b950e5d"}, - {file = "pydantic_core-2.14.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cb4679d4c2b089e5ef89756bc73e1926745e995d76e11925e3e96a76d5fa51fc"}, - {file = "pydantic_core-2.14.5-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:cf9d3fe53b1ee360e2421be95e62ca9b3296bf3f2fb2d3b83ca49ad3f925835e"}, - {file = "pydantic_core-2.14.5-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:70f4b4851dbb500129681d04cc955be2a90b2248d69273a787dda120d5cf1f69"}, - {file = "pydantic_core-2.14.5-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:59986de5710ad9613ff61dd9b02bdd2f615f1a7052304b79cc8fa2eb4e336d2d"}, - {file = "pydantic_core-2.14.5-cp312-none-win32.whl", hash = "sha256:699156034181e2ce106c89ddb4b6504c30db8caa86e0c30de47b3e0654543260"}, - {file = "pydantic_core-2.14.5-cp312-none-win_amd64.whl", hash = "sha256:5baab5455c7a538ac7e8bf1feec4278a66436197592a9bed538160a2e7d11e36"}, - {file = "pydantic_core-2.14.5-cp312-none-win_arm64.whl", hash = "sha256:e47e9a08bcc04d20975b6434cc50bf82665fbc751bcce739d04a3120428f3e27"}, - {file = "pydantic_core-2.14.5-cp37-cp37m-macosx_10_7_x86_64.whl", hash = "sha256:af36f36538418f3806048f3b242a1777e2540ff9efaa667c27da63d2749dbce0"}, - {file = "pydantic_core-2.14.5-cp37-cp37m-macosx_11_0_arm64.whl", hash = "sha256:45e95333b8418ded64745f14574aa9bfc212cb4fbeed7a687b0c6e53b5e188cd"}, - {file = "pydantic_core-2.14.5-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4e47a76848f92529879ecfc417ff88a2806438f57be4a6a8bf2961e8f9ca9ec7"}, - {file = "pydantic_core-2.14.5-cp37-cp37m-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d81e6987b27bc7d101c8597e1cd2bcaa2fee5e8e0f356735c7ed34368c471550"}, - {file = "pydantic_core-2.14.5-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:34708cc82c330e303f4ce87758828ef6e457681b58ce0e921b6e97937dd1e2a3"}, - {file = "pydantic_core-2.14.5-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:652c1988019752138b974c28f43751528116bcceadad85f33a258869e641d753"}, - {file = "pydantic_core-2.14.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6e4d090e73e0725b2904fdbdd8d73b8802ddd691ef9254577b708d413bf3006e"}, - {file = "pydantic_core-2.14.5-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:5c7d5b5005f177764e96bd584d7bf28d6e26e96f2a541fdddb934c486e36fd59"}, - {file = "pydantic_core-2.14.5-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:a71891847f0a73b1b9eb86d089baee301477abef45f7eaf303495cd1473613e4"}, - {file = "pydantic_core-2.14.5-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:a717aef6971208f0851a2420b075338e33083111d92041157bbe0e2713b37325"}, - {file = "pydantic_core-2.14.5-cp37-none-win32.whl", hash = "sha256:de790a3b5aa2124b8b78ae5faa033937a72da8efe74b9231698b5a1dd9be3405"}, - {file = "pydantic_core-2.14.5-cp37-none-win_amd64.whl", hash = "sha256:6c327e9cd849b564b234da821236e6bcbe4f359a42ee05050dc79d8ed2a91588"}, - {file = "pydantic_core-2.14.5-cp38-cp38-macosx_10_7_x86_64.whl", hash = "sha256:ef98ca7d5995a82f43ec0ab39c4caf6a9b994cb0b53648ff61716370eadc43cf"}, - {file = "pydantic_core-2.14.5-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:c6eae413494a1c3f89055da7a5515f32e05ebc1a234c27674a6956755fb2236f"}, - {file = "pydantic_core-2.14.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dcf4e6d85614f7a4956c2de5a56531f44efb973d2fe4a444d7251df5d5c4dcfd"}, - {file = "pydantic_core-2.14.5-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:6637560562134b0e17de333d18e69e312e0458ee4455bdad12c37100b7cad706"}, - {file = "pydantic_core-2.14.5-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:77fa384d8e118b3077cccfcaf91bf83c31fe4dc850b5e6ee3dc14dc3d61bdba1"}, - {file = "pydantic_core-2.14.5-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:16e29bad40bcf97aac682a58861249ca9dcc57c3f6be22f506501833ddb8939c"}, - {file = "pydantic_core-2.14.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:531f4b4252fac6ca476fbe0e6f60f16f5b65d3e6b583bc4d87645e4e5ddde331"}, - {file = "pydantic_core-2.14.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:074f3d86f081ce61414d2dc44901f4f83617329c6f3ab49d2bc6c96948b2c26b"}, - {file = "pydantic_core-2.14.5-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:c2adbe22ab4babbca99c75c5d07aaf74f43c3195384ec07ccbd2f9e3bddaecec"}, - {file = "pydantic_core-2.14.5-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:0f6116a558fd06d1b7c2902d1c4cf64a5bd49d67c3540e61eccca93f41418124"}, - {file = "pydantic_core-2.14.5-cp38-none-win32.whl", hash = "sha256:fe0a5a1025eb797752136ac8b4fa21aa891e3d74fd340f864ff982d649691867"}, - {file = "pydantic_core-2.14.5-cp38-none-win_amd64.whl", hash = "sha256:079206491c435b60778cf2b0ee5fd645e61ffd6e70c47806c9ed51fc75af078d"}, - {file = "pydantic_core-2.14.5-cp39-cp39-macosx_10_7_x86_64.whl", hash = "sha256:a6a16f4a527aae4f49c875da3cdc9508ac7eef26e7977952608610104244e1b7"}, - {file = "pydantic_core-2.14.5-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:abf058be9517dc877227ec3223f0300034bd0e9f53aebd63cf4456c8cb1e0863"}, - {file = "pydantic_core-2.14.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:49b08aae5013640a3bfa25a8eebbd95638ec3f4b2eaf6ed82cf0c7047133f03b"}, - {file = "pydantic_core-2.14.5-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:c2d97e906b4ff36eb464d52a3bc7d720bd6261f64bc4bcdbcd2c557c02081ed2"}, - {file = "pydantic_core-2.14.5-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3128e0bbc8c091ec4375a1828d6118bc20404883169ac95ffa8d983b293611e6"}, - {file = "pydantic_core-2.14.5-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:88e74ab0cdd84ad0614e2750f903bb0d610cc8af2cc17f72c28163acfcf372a4"}, - {file = "pydantic_core-2.14.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c339dabd8ee15f8259ee0f202679b6324926e5bc9e9a40bf981ce77c038553db"}, - {file = "pydantic_core-2.14.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:3387277f1bf659caf1724e1afe8ee7dbc9952a82d90f858ebb931880216ea955"}, - {file = "pydantic_core-2.14.5-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:ba6b6b3846cfc10fdb4c971980a954e49d447cd215ed5a77ec8190bc93dd7bc5"}, - {file = "pydantic_core-2.14.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:ca61d858e4107ce5e1330a74724fe757fc7135190eb5ce5c9d0191729f033209"}, - {file = "pydantic_core-2.14.5-cp39-none-win32.whl", hash = "sha256:ec1e72d6412f7126eb7b2e3bfca42b15e6e389e1bc88ea0069d0cc1742f477c6"}, - {file = "pydantic_core-2.14.5-cp39-none-win_amd64.whl", hash = "sha256:c0b97ec434041827935044bbbe52b03d6018c2897349670ff8fe11ed24d1d4ab"}, - {file = "pydantic_core-2.14.5-pp310-pypy310_pp73-macosx_10_7_x86_64.whl", hash = "sha256:79e0a2cdbdc7af3f4aee3210b1172ab53d7ddb6a2d8c24119b5706e622b346d0"}, - {file = "pydantic_core-2.14.5-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:678265f7b14e138d9a541ddabbe033012a2953315739f8cfa6d754cc8063e8ca"}, - {file = "pydantic_core-2.14.5-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:95b15e855ae44f0c6341ceb74df61b606e11f1087e87dcb7482377374aac6abe"}, - {file = "pydantic_core-2.14.5-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:09b0e985fbaf13e6b06a56d21694d12ebca6ce5414b9211edf6f17738d82b0f8"}, - {file = "pydantic_core-2.14.5-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:3ad873900297bb36e4b6b3f7029d88ff9829ecdc15d5cf20161775ce12306f8a"}, - {file = "pydantic_core-2.14.5-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:2d0ae0d8670164e10accbeb31d5ad45adb71292032d0fdb9079912907f0085f4"}, - {file = "pydantic_core-2.14.5-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:d37f8ec982ead9ba0a22a996129594938138a1503237b87318392a48882d50b7"}, - {file = "pydantic_core-2.14.5-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:35613015f0ba7e14c29ac6c2483a657ec740e5ac5758d993fdd5870b07a61d8b"}, - {file = "pydantic_core-2.14.5-pp37-pypy37_pp73-macosx_10_7_x86_64.whl", hash = "sha256:ab4ea451082e684198636565224bbb179575efc1658c48281b2c866bfd4ddf04"}, - {file = "pydantic_core-2.14.5-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4ce601907e99ea5b4adb807ded3570ea62186b17f88e271569144e8cca4409c7"}, - {file = "pydantic_core-2.14.5-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fb2ed8b3fe4bf4506d6dab3b93b83bbc22237e230cba03866d561c3577517d18"}, - {file = "pydantic_core-2.14.5-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:70f947628e074bb2526ba1b151cee10e4c3b9670af4dbb4d73bc8a89445916b5"}, - {file = "pydantic_core-2.14.5-pp37-pypy37_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:4bc536201426451f06f044dfbf341c09f540b4ebdb9fd8d2c6164d733de5e634"}, - {file = "pydantic_core-2.14.5-pp37-pypy37_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:f4791cf0f8c3104ac668797d8c514afb3431bc3305f5638add0ba1a5a37e0d88"}, - {file = "pydantic_core-2.14.5-pp38-pypy38_pp73-macosx_10_7_x86_64.whl", hash = "sha256:038c9f763e650712b899f983076ce783175397c848da04985658e7628cbe873b"}, - {file = "pydantic_core-2.14.5-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:27548e16c79702f1e03f5628589c6057c9ae17c95b4c449de3c66b589ead0520"}, - {file = "pydantic_core-2.14.5-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c97bee68898f3f4344eb02fec316db93d9700fb1e6a5b760ffa20d71d9a46ce3"}, - {file = "pydantic_core-2.14.5-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b9b759b77f5337b4ea024f03abc6464c9f35d9718de01cfe6bae9f2e139c397e"}, - {file = "pydantic_core-2.14.5-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:439c9afe34638ace43a49bf72d201e0ffc1a800295bed8420c2a9ca8d5e3dbb3"}, - {file = "pydantic_core-2.14.5-pp38-pypy38_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:ba39688799094c75ea8a16a6b544eb57b5b0f3328697084f3f2790892510d144"}, - {file = "pydantic_core-2.14.5-pp38-pypy38_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:ccd4d5702bb90b84df13bd491be8d900b92016c5a455b7e14630ad7449eb03f8"}, - {file = "pydantic_core-2.14.5-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:81982d78a45d1e5396819bbb4ece1fadfe5f079335dd28c4ab3427cd95389944"}, - {file = "pydantic_core-2.14.5-pp39-pypy39_pp73-macosx_10_7_x86_64.whl", hash = "sha256:7f8210297b04e53bc3da35db08b7302a6a1f4889c79173af69b72ec9754796b8"}, - {file = "pydantic_core-2.14.5-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:8c8a8812fe6f43a3a5b054af6ac2d7b8605c7bcab2804a8a7d68b53f3cd86e00"}, - {file = "pydantic_core-2.14.5-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:206ed23aecd67c71daf5c02c3cd19c0501b01ef3cbf7782db9e4e051426b3d0d"}, - {file = "pydantic_core-2.14.5-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c2027d05c8aebe61d898d4cffd774840a9cb82ed356ba47a90d99ad768f39789"}, - {file = "pydantic_core-2.14.5-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:40180930807ce806aa71eda5a5a5447abb6b6a3c0b4b3b1b1962651906484d68"}, - {file = "pydantic_core-2.14.5-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:615a0a4bff11c45eb3c1996ceed5bdaa2f7b432425253a7c2eed33bb86d80abc"}, - {file = "pydantic_core-2.14.5-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:f5e412d717366e0677ef767eac93566582518fe8be923361a5c204c1a62eaafe"}, - {file = "pydantic_core-2.14.5-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:513b07e99c0a267b1d954243845d8a833758a6726a3b5d8948306e3fe14675e3"}, - {file = "pydantic_core-2.14.5.tar.gz", hash = "sha256:6d30226dfc816dd0fdf120cae611dd2215117e4f9b124af8c60ab9093b6e8e71"}, + {file = "pydantic_core-2.14.6-cp310-cp310-macosx_10_7_x86_64.whl", hash = "sha256:72f9a942d739f09cd42fffe5dc759928217649f070056f03c70df14f5770acf9"}, + {file = "pydantic_core-2.14.6-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:6a31d98c0d69776c2576dda4b77b8e0c69ad08e8b539c25c7d0ca0dc19a50d6c"}, + {file = "pydantic_core-2.14.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5aa90562bc079c6c290f0512b21768967f9968e4cfea84ea4ff5af5d917016e4"}, + {file = "pydantic_core-2.14.6-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:370ffecb5316ed23b667d99ce4debe53ea664b99cc37bfa2af47bc769056d534"}, + {file = "pydantic_core-2.14.6-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f85f3843bdb1fe80e8c206fe6eed7a1caeae897e496542cee499c374a85c6e08"}, + {file = "pydantic_core-2.14.6-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9862bf828112e19685b76ca499b379338fd4c5c269d897e218b2ae8fcb80139d"}, + {file = "pydantic_core-2.14.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:036137b5ad0cb0004c75b579445a1efccd072387a36c7f217bb8efd1afbe5245"}, + {file = "pydantic_core-2.14.6-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:92879bce89f91f4b2416eba4429c7b5ca22c45ef4a499c39f0c5c69257522c7c"}, + {file = "pydantic_core-2.14.6-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:0c08de15d50fa190d577e8591f0329a643eeaed696d7771760295998aca6bc66"}, + {file = "pydantic_core-2.14.6-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:36099c69f6b14fc2c49d7996cbf4f87ec4f0e66d1c74aa05228583225a07b590"}, + {file = "pydantic_core-2.14.6-cp310-none-win32.whl", hash = "sha256:7be719e4d2ae6c314f72844ba9d69e38dff342bc360379f7c8537c48e23034b7"}, + {file = "pydantic_core-2.14.6-cp310-none-win_amd64.whl", hash = "sha256:36fa402dcdc8ea7f1b0ddcf0df4254cc6b2e08f8cd80e7010d4c4ae6e86b2a87"}, + {file = "pydantic_core-2.14.6-cp311-cp311-macosx_10_7_x86_64.whl", hash = "sha256:dea7fcd62915fb150cdc373212141a30037e11b761fbced340e9db3379b892d4"}, + {file = "pydantic_core-2.14.6-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ffff855100bc066ff2cd3aa4a60bc9534661816b110f0243e59503ec2df38421"}, + {file = "pydantic_core-2.14.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1b027c86c66b8627eb90e57aee1f526df77dc6d8b354ec498be9a757d513b92b"}, + {file = "pydantic_core-2.14.6-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:00b1087dabcee0b0ffd104f9f53d7d3eaddfaa314cdd6726143af6bc713aa27e"}, + {file = "pydantic_core-2.14.6-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:75ec284328b60a4e91010c1acade0c30584f28a1f345bc8f72fe8b9e46ec6a96"}, + {file = "pydantic_core-2.14.6-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7e1f4744eea1501404b20b0ac059ff7e3f96a97d3e3f48ce27a139e053bb370b"}, + {file = "pydantic_core-2.14.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b2602177668f89b38b9f84b7b3435d0a72511ddef45dc14446811759b82235a1"}, + {file = "pydantic_core-2.14.6-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:6c8edaea3089bf908dd27da8f5d9e395c5b4dc092dbcce9b65e7156099b4b937"}, + {file = "pydantic_core-2.14.6-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:478e9e7b360dfec451daafe286998d4a1eeaecf6d69c427b834ae771cad4b622"}, + {file = "pydantic_core-2.14.6-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:b6ca36c12a5120bad343eef193cc0122928c5c7466121da7c20f41160ba00ba2"}, + {file = "pydantic_core-2.14.6-cp311-none-win32.whl", hash = "sha256:2b8719037e570639e6b665a4050add43134d80b687288ba3ade18b22bbb29dd2"}, + {file = "pydantic_core-2.14.6-cp311-none-win_amd64.whl", hash = "sha256:78ee52ecc088c61cce32b2d30a826f929e1708f7b9247dc3b921aec367dc1b23"}, + {file = "pydantic_core-2.14.6-cp311-none-win_arm64.whl", hash = "sha256:a19b794f8fe6569472ff77602437ec4430f9b2b9ec7a1105cfd2232f9ba355e6"}, + {file = "pydantic_core-2.14.6-cp312-cp312-macosx_10_7_x86_64.whl", hash = "sha256:667aa2eac9cd0700af1ddb38b7b1ef246d8cf94c85637cbb03d7757ca4c3fdec"}, + {file = "pydantic_core-2.14.6-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:cdee837710ef6b56ebd20245b83799fce40b265b3b406e51e8ccc5b85b9099b7"}, + {file = "pydantic_core-2.14.6-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2c5bcf3414367e29f83fd66f7de64509a8fd2368b1edf4351e862910727d3e51"}, + {file = "pydantic_core-2.14.6-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:26a92ae76f75d1915806b77cf459811e772d8f71fd1e4339c99750f0e7f6324f"}, + {file = "pydantic_core-2.14.6-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a983cca5ed1dd9a35e9e42ebf9f278d344603bfcb174ff99a5815f953925140a"}, + {file = "pydantic_core-2.14.6-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cb92f9061657287eded380d7dc455bbf115430b3aa4741bdc662d02977e7d0af"}, + {file = "pydantic_core-2.14.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e4ace1e220b078c8e48e82c081e35002038657e4b37d403ce940fa679e57113b"}, + {file = "pydantic_core-2.14.6-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:ef633add81832f4b56d3b4c9408b43d530dfca29e68fb1b797dcb861a2c734cd"}, + {file = "pydantic_core-2.14.6-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:7e90d6cc4aad2cc1f5e16ed56e46cebf4877c62403a311af20459c15da76fd91"}, + {file = "pydantic_core-2.14.6-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:e8a5ac97ea521d7bde7621d86c30e86b798cdecd985723c4ed737a2aa9e77d0c"}, + {file = "pydantic_core-2.14.6-cp312-none-win32.whl", hash = "sha256:f27207e8ca3e5e021e2402ba942e5b4c629718e665c81b8b306f3c8b1ddbb786"}, + {file = "pydantic_core-2.14.6-cp312-none-win_amd64.whl", hash = "sha256:b3e5fe4538001bb82e2295b8d2a39356a84694c97cb73a566dc36328b9f83b40"}, + {file = "pydantic_core-2.14.6-cp312-none-win_arm64.whl", hash = "sha256:64634ccf9d671c6be242a664a33c4acf12882670b09b3f163cd00a24cffbd74e"}, + {file = "pydantic_core-2.14.6-cp37-cp37m-macosx_10_7_x86_64.whl", hash = "sha256:24368e31be2c88bd69340fbfe741b405302993242ccb476c5c3ff48aeee1afe0"}, + {file = "pydantic_core-2.14.6-cp37-cp37m-macosx_11_0_arm64.whl", hash = "sha256:e33b0834f1cf779aa839975f9d8755a7c2420510c0fa1e9fa0497de77cd35d2c"}, + {file = "pydantic_core-2.14.6-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6af4b3f52cc65f8a0bc8b1cd9676f8c21ef3e9132f21fed250f6958bd7223bed"}, + {file = "pydantic_core-2.14.6-cp37-cp37m-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d15687d7d7f40333bd8266f3814c591c2e2cd263fa2116e314f60d82086e353a"}, + {file = "pydantic_core-2.14.6-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:095b707bb287bfd534044166ab767bec70a9bba3175dcdc3371782175c14e43c"}, + {file = "pydantic_core-2.14.6-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:94fc0e6621e07d1e91c44e016cc0b189b48db053061cc22d6298a611de8071bb"}, + {file = "pydantic_core-2.14.6-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1ce830e480f6774608dedfd4a90c42aac4a7af0a711f1b52f807130c2e434c06"}, + {file = "pydantic_core-2.14.6-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:a306cdd2ad3a7d795d8e617a58c3a2ed0f76c8496fb7621b6cd514eb1532cae8"}, + {file = "pydantic_core-2.14.6-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:2f5fa187bde8524b1e37ba894db13aadd64faa884657473b03a019f625cee9a8"}, + {file = "pydantic_core-2.14.6-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:438027a975cc213a47c5d70672e0d29776082155cfae540c4e225716586be75e"}, + {file = "pydantic_core-2.14.6-cp37-none-win32.whl", hash = "sha256:f96ae96a060a8072ceff4cfde89d261837b4294a4f28b84a28765470d502ccc6"}, + {file = "pydantic_core-2.14.6-cp37-none-win_amd64.whl", hash = "sha256:e646c0e282e960345314f42f2cea5e0b5f56938c093541ea6dbf11aec2862391"}, + {file = "pydantic_core-2.14.6-cp38-cp38-macosx_10_7_x86_64.whl", hash = "sha256:db453f2da3f59a348f514cfbfeb042393b68720787bbef2b4c6068ea362c8149"}, + {file = "pydantic_core-2.14.6-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:3860c62057acd95cc84044e758e47b18dcd8871a328ebc8ccdefd18b0d26a21b"}, + {file = "pydantic_core-2.14.6-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:36026d8f99c58d7044413e1b819a67ca0e0b8ebe0f25e775e6c3d1fabb3c38fb"}, + {file = "pydantic_core-2.14.6-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:8ed1af8692bd8d2a29d702f1a2e6065416d76897d726e45a1775b1444f5928a7"}, + {file = "pydantic_core-2.14.6-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:314ccc4264ce7d854941231cf71b592e30d8d368a71e50197c905874feacc8a8"}, + {file = "pydantic_core-2.14.6-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:982487f8931067a32e72d40ab6b47b1628a9c5d344be7f1a4e668fb462d2da42"}, + {file = "pydantic_core-2.14.6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2dbe357bc4ddda078f79d2a36fc1dd0494a7f2fad83a0a684465b6f24b46fe80"}, + {file = "pydantic_core-2.14.6-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2f6ffc6701a0eb28648c845f4945a194dc7ab3c651f535b81793251e1185ac3d"}, + {file = "pydantic_core-2.14.6-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:7f5025db12fc6de7bc1104d826d5aee1d172f9ba6ca936bf6474c2148ac336c1"}, + {file = "pydantic_core-2.14.6-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:dab03ed811ed1c71d700ed08bde8431cf429bbe59e423394f0f4055f1ca0ea60"}, + {file = "pydantic_core-2.14.6-cp38-none-win32.whl", hash = "sha256:dfcbebdb3c4b6f739a91769aea5ed615023f3c88cb70df812849aef634c25fbe"}, + {file = "pydantic_core-2.14.6-cp38-none-win_amd64.whl", hash = "sha256:99b14dbea2fdb563d8b5a57c9badfcd72083f6006caf8e126b491519c7d64ca8"}, + {file = "pydantic_core-2.14.6-cp39-cp39-macosx_10_7_x86_64.whl", hash = "sha256:4ce8299b481bcb68e5c82002b96e411796b844d72b3e92a3fbedfe8e19813eab"}, + {file = "pydantic_core-2.14.6-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:b9a9d92f10772d2a181b5ca339dee066ab7d1c9a34ae2421b2a52556e719756f"}, + {file = "pydantic_core-2.14.6-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fd9e98b408384989ea4ab60206b8e100d8687da18b5c813c11e92fd8212a98e0"}, + {file = "pydantic_core-2.14.6-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:4f86f1f318e56f5cbb282fe61eb84767aee743ebe32c7c0834690ebea50c0a6b"}, + {file = "pydantic_core-2.14.6-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:86ce5fcfc3accf3a07a729779d0b86c5d0309a4764c897d86c11089be61da160"}, + {file = "pydantic_core-2.14.6-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3dcf1978be02153c6a31692d4fbcc2a3f1db9da36039ead23173bc256ee3b91b"}, + {file = "pydantic_core-2.14.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eedf97be7bc3dbc8addcef4142f4b4164066df0c6f36397ae4aaed3eb187d8ab"}, + {file = "pydantic_core-2.14.6-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d5f916acf8afbcab6bacbb376ba7dc61f845367901ecd5e328fc4d4aef2fcab0"}, + {file = "pydantic_core-2.14.6-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:8a14c192c1d724c3acbfb3f10a958c55a2638391319ce8078cb36c02283959b9"}, + {file = "pydantic_core-2.14.6-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:0348b1dc6b76041516e8a854ff95b21c55f5a411c3297d2ca52f5528e49d8411"}, + {file = "pydantic_core-2.14.6-cp39-none-win32.whl", hash = "sha256:de2a0645a923ba57c5527497daf8ec5df69c6eadf869e9cd46e86349146e5975"}, + {file = "pydantic_core-2.14.6-cp39-none-win_amd64.whl", hash = "sha256:aca48506a9c20f68ee61c87f2008f81f8ee99f8d7f0104bff3c47e2d148f89d9"}, + {file = "pydantic_core-2.14.6-pp310-pypy310_pp73-macosx_10_7_x86_64.whl", hash = "sha256:d5c28525c19f5bb1e09511669bb57353d22b94cf8b65f3a8d141c389a55dec95"}, + {file = "pydantic_core-2.14.6-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:78d0768ee59baa3de0f4adac9e3748b4b1fffc52143caebddfd5ea2961595277"}, + {file = "pydantic_core-2.14.6-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8b93785eadaef932e4fe9c6e12ba67beb1b3f1e5495631419c784ab87e975670"}, + {file = "pydantic_core-2.14.6-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a874f21f87c485310944b2b2734cd6d318765bcbb7515eead33af9641816506e"}, + {file = "pydantic_core-2.14.6-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:b89f4477d915ea43b4ceea6756f63f0288941b6443a2b28c69004fe07fde0d0d"}, + {file = "pydantic_core-2.14.6-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:172de779e2a153d36ee690dbc49c6db568d7b33b18dc56b69a7514aecbcf380d"}, + {file = "pydantic_core-2.14.6-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:dfcebb950aa7e667ec226a442722134539e77c575f6cfaa423f24371bb8d2e94"}, + {file = "pydantic_core-2.14.6-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:55a23dcd98c858c0db44fc5c04fc7ed81c4b4d33c653a7c45ddaebf6563a2f66"}, + {file = "pydantic_core-2.14.6-pp37-pypy37_pp73-macosx_10_7_x86_64.whl", hash = "sha256:4241204e4b36ab5ae466ecec5c4c16527a054c69f99bba20f6f75232a6a534e2"}, + {file = "pydantic_core-2.14.6-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e574de99d735b3fc8364cba9912c2bec2da78775eba95cbb225ef7dda6acea24"}, + {file = "pydantic_core-2.14.6-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1302a54f87b5cd8528e4d6d1bf2133b6aa7c6122ff8e9dc5220fbc1e07bffebd"}, + {file = "pydantic_core-2.14.6-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:f8e81e4b55930e5ffab4a68db1af431629cf2e4066dbdbfef65348b8ab804ea8"}, + {file = "pydantic_core-2.14.6-pp37-pypy37_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:c99462ffc538717b3e60151dfaf91125f637e801f5ab008f81c402f1dff0cd0f"}, + {file = "pydantic_core-2.14.6-pp37-pypy37_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:e4cf2d5829f6963a5483ec01578ee76d329eb5caf330ecd05b3edd697e7d768a"}, + {file = "pydantic_core-2.14.6-pp38-pypy38_pp73-macosx_10_7_x86_64.whl", hash = "sha256:cf10b7d58ae4a1f07fccbf4a0a956d705356fea05fb4c70608bb6fa81d103cda"}, + {file = "pydantic_core-2.14.6-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:399ac0891c284fa8eb998bcfa323f2234858f5d2efca3950ae58c8f88830f145"}, + {file = "pydantic_core-2.14.6-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9c6a5c79b28003543db3ba67d1df336f253a87d3112dac3a51b94f7d48e4c0e1"}, + {file = "pydantic_core-2.14.6-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:599c87d79cab2a6a2a9df4aefe0455e61e7d2aeede2f8577c1b7c0aec643ee8e"}, + {file = "pydantic_core-2.14.6-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:43e166ad47ba900f2542a80d83f9fc65fe99eb63ceec4debec160ae729824052"}, + {file = "pydantic_core-2.14.6-pp38-pypy38_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:3a0b5db001b98e1c649dd55afa928e75aa4087e587b9524a4992316fa23c9fba"}, + {file = "pydantic_core-2.14.6-pp38-pypy38_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:747265448cb57a9f37572a488a57d873fd96bf51e5bb7edb52cfb37124516da4"}, + {file = "pydantic_core-2.14.6-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:7ebe3416785f65c28f4f9441e916bfc8a54179c8dea73c23023f7086fa601c5d"}, + {file = "pydantic_core-2.14.6-pp39-pypy39_pp73-macosx_10_7_x86_64.whl", hash = "sha256:86c963186ca5e50d5c8287b1d1c9d3f8f024cbe343d048c5bd282aec2d8641f2"}, + {file = "pydantic_core-2.14.6-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:e0641b506486f0b4cd1500a2a65740243e8670a2549bb02bc4556a83af84ae03"}, + {file = "pydantic_core-2.14.6-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:71d72ca5eaaa8d38c8df16b7deb1a2da4f650c41b58bb142f3fb75d5ad4a611f"}, + {file = "pydantic_core-2.14.6-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:27e524624eace5c59af499cd97dc18bb201dc6a7a2da24bfc66ef151c69a5f2a"}, + {file = "pydantic_core-2.14.6-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:a3dde6cac75e0b0902778978d3b1646ca9f438654395a362cb21d9ad34b24acf"}, + {file = "pydantic_core-2.14.6-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:00646784f6cd993b1e1c0e7b0fdcbccc375d539db95555477771c27555e3c556"}, + {file = "pydantic_core-2.14.6-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:23598acb8ccaa3d1d875ef3b35cb6376535095e9405d91a3d57a8c7db5d29341"}, + {file = "pydantic_core-2.14.6-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:7f41533d7e3cf9520065f610b41ac1c76bc2161415955fbcead4981b22c7611e"}, + {file = "pydantic_core-2.14.6.tar.gz", hash = "sha256:1fd0c1d395372843fba13a51c28e3bb9d59bd7aebfeb17358ffaaa1e4dbbe948"}, ] [package.dependencies] @@ -3672,13 +3618,13 @@ diagrams = ["jinja2", "railroad-diagrams"] [[package]] name = "pytest" -version = "7.4.3" +version = "7.4.4" description = "pytest: simple powerful testing with Python" optional = false python-versions = ">=3.7" files = [ - {file = "pytest-7.4.3-py3-none-any.whl", hash = "sha256:0d009c083ea859a71b76adf7c1d502e4bc170b80a8ef002da5806527b9591fac"}, - {file = "pytest-7.4.3.tar.gz", hash = "sha256:d989d136982de4e3b29dabcc838ad581c64e8ed52c11fbe86ddebd9da0818cd5"}, + {file = "pytest-7.4.4-py3-none-any.whl", hash = "sha256:b090cdf5ed60bf4c45261be03239c2c1c22df034fbffe691abe93cd80cea01d8"}, + {file = "pytest-7.4.4.tar.gz", hash = "sha256:2cf0005922c6ace4a3e2ec8b4080eb0d9753fdc93107415332f50ce9e7994280"}, ] [package.dependencies] @@ -3729,16 +3675,6 @@ psutil = ["psutil (>=3.0)"] setproctitle = ["setproctitle"] testing = ["filelock"] -[[package]] -name = "python-baseconv" -version = "1.2.2" -description = "Convert numbers from base 10 integers to base X strings and back again." -optional = false -python-versions = "*" -files = [ - {file = "python-baseconv-1.2.2.tar.gz", hash = "sha256:0539f8bd0464013b05ad62e0a1673f0ac9086c76b43ebf9f833053527cd9931b"}, -] - [[package]] name = "python-dateutil" version = "2.8.2" @@ -3884,104 +3820,104 @@ files = [ [[package]] name = "pyzmq" -version = "25.1.1" +version = "25.1.2" description = "Python bindings for 0MQ" optional = true python-versions = ">=3.6" files = [ - {file = "pyzmq-25.1.1-cp310-cp310-macosx_10_15_universal2.whl", hash = "sha256:381469297409c5adf9a0e884c5eb5186ed33137badcbbb0560b86e910a2f1e76"}, - {file = "pyzmq-25.1.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:955215ed0604dac5b01907424dfa28b40f2b2292d6493445dd34d0dfa72586a8"}, - {file = "pyzmq-25.1.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:985bbb1316192b98f32e25e7b9958088431d853ac63aca1d2c236f40afb17c83"}, - {file = "pyzmq-25.1.1-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:afea96f64efa98df4da6958bae37f1cbea7932c35878b185e5982821bc883369"}, - {file = "pyzmq-25.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:76705c9325d72a81155bb6ab48d4312e0032bf045fb0754889133200f7a0d849"}, - {file = "pyzmq-25.1.1-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:77a41c26205d2353a4c94d02be51d6cbdf63c06fbc1295ea57dad7e2d3381b71"}, - {file = "pyzmq-25.1.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:12720a53e61c3b99d87262294e2b375c915fea93c31fc2336898c26d7aed34cd"}, - {file = "pyzmq-25.1.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:57459b68e5cd85b0be8184382cefd91959cafe79ae019e6b1ae6e2ba8a12cda7"}, - {file = "pyzmq-25.1.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:292fe3fc5ad4a75bc8df0dfaee7d0babe8b1f4ceb596437213821f761b4589f9"}, - {file = "pyzmq-25.1.1-cp310-cp310-win32.whl", hash = "sha256:35b5ab8c28978fbbb86ea54958cd89f5176ce747c1fb3d87356cf698048a7790"}, - {file = "pyzmq-25.1.1-cp310-cp310-win_amd64.whl", hash = "sha256:11baebdd5fc5b475d484195e49bae2dc64b94a5208f7c89954e9e354fc609d8f"}, - {file = "pyzmq-25.1.1-cp311-cp311-macosx_10_15_universal2.whl", hash = "sha256:d20a0ddb3e989e8807d83225a27e5c2eb2260eaa851532086e9e0fa0d5287d83"}, - {file = "pyzmq-25.1.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:e1c1be77bc5fb77d923850f82e55a928f8638f64a61f00ff18a67c7404faf008"}, - {file = "pyzmq-25.1.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d89528b4943d27029a2818f847c10c2cecc79fa9590f3cb1860459a5be7933eb"}, - {file = "pyzmq-25.1.1-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:90f26dc6d5f241ba358bef79be9ce06de58d477ca8485e3291675436d3827cf8"}, - {file = "pyzmq-25.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c2b92812bd214018e50b6380ea3ac0c8bb01ac07fcc14c5f86a5bb25e74026e9"}, - {file = "pyzmq-25.1.1-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:2f957ce63d13c28730f7fd6b72333814221c84ca2421298f66e5143f81c9f91f"}, - {file = "pyzmq-25.1.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:047a640f5c9c6ade7b1cc6680a0e28c9dd5a0825135acbd3569cc96ea00b2505"}, - {file = "pyzmq-25.1.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:7f7e58effd14b641c5e4dec8c7dab02fb67a13df90329e61c869b9cc607ef752"}, - {file = "pyzmq-25.1.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:c2910967e6ab16bf6fbeb1f771c89a7050947221ae12a5b0b60f3bca2ee19bca"}, - {file = "pyzmq-25.1.1-cp311-cp311-win32.whl", hash = "sha256:76c1c8efb3ca3a1818b837aea423ff8a07bbf7aafe9f2f6582b61a0458b1a329"}, - {file = "pyzmq-25.1.1-cp311-cp311-win_amd64.whl", hash = "sha256:44e58a0554b21fc662f2712814a746635ed668d0fbc98b7cb9d74cb798d202e6"}, - {file = "pyzmq-25.1.1-cp312-cp312-macosx_10_15_universal2.whl", hash = "sha256:e1ffa1c924e8c72778b9ccd386a7067cddf626884fd8277f503c48bb5f51c762"}, - {file = "pyzmq-25.1.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:1af379b33ef33757224da93e9da62e6471cf4a66d10078cf32bae8127d3d0d4a"}, - {file = "pyzmq-25.1.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cff084c6933680d1f8b2f3b4ff5bbb88538a4aac00d199ac13f49d0698727ecb"}, - {file = "pyzmq-25.1.1-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e2400a94f7dd9cb20cd012951a0cbf8249e3d554c63a9c0cdfd5cbb6c01d2dec"}, - {file = "pyzmq-25.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2d81f1ddae3858b8299d1da72dd7d19dd36aab654c19671aa8a7e7fb02f6638a"}, - {file = "pyzmq-25.1.1-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:255ca2b219f9e5a3a9ef3081512e1358bd4760ce77828e1028b818ff5610b87b"}, - {file = "pyzmq-25.1.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:a882ac0a351288dd18ecae3326b8a49d10c61a68b01419f3a0b9a306190baf69"}, - {file = "pyzmq-25.1.1-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:724c292bb26365659fc434e9567b3f1adbdb5e8d640c936ed901f49e03e5d32e"}, - {file = "pyzmq-25.1.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:4ca1ed0bb2d850aa8471387882247c68f1e62a4af0ce9c8a1dbe0d2bf69e41fb"}, - {file = "pyzmq-25.1.1-cp312-cp312-win32.whl", hash = "sha256:b3451108ab861040754fa5208bca4a5496c65875710f76789a9ad27c801a0075"}, - {file = "pyzmq-25.1.1-cp312-cp312-win_amd64.whl", hash = "sha256:eadbefd5e92ef8a345f0525b5cfd01cf4e4cc651a2cffb8f23c0dd184975d787"}, - {file = "pyzmq-25.1.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:db0b2af416ba735c6304c47f75d348f498b92952f5e3e8bff449336d2728795d"}, - {file = "pyzmq-25.1.1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c7c133e93b405eb0d36fa430c94185bdd13c36204a8635470cccc200723c13bb"}, - {file = "pyzmq-25.1.1-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:273bc3959bcbff3f48606b28229b4721716598d76b5aaea2b4a9d0ab454ec062"}, - {file = "pyzmq-25.1.1-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:cbc8df5c6a88ba5ae385d8930da02201165408dde8d8322072e3e5ddd4f68e22"}, - {file = "pyzmq-25.1.1-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:18d43df3f2302d836f2a56f17e5663e398416e9dd74b205b179065e61f1a6edf"}, - {file = "pyzmq-25.1.1-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:73461eed88a88c866656e08f89299720a38cb4e9d34ae6bf5df6f71102570f2e"}, - {file = "pyzmq-25.1.1-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:34c850ce7976d19ebe7b9d4b9bb8c9dfc7aac336c0958e2651b88cbd46682123"}, - {file = "pyzmq-25.1.1-cp36-cp36m-win32.whl", hash = "sha256:d2045d6d9439a0078f2a34b57c7b18c4a6aef0bee37f22e4ec9f32456c852c71"}, - {file = "pyzmq-25.1.1-cp36-cp36m-win_amd64.whl", hash = "sha256:458dea649f2f02a0b244ae6aef8dc29325a2810aa26b07af8374dc2a9faf57e3"}, - {file = "pyzmq-25.1.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:7cff25c5b315e63b07a36f0c2bab32c58eafbe57d0dce61b614ef4c76058c115"}, - {file = "pyzmq-25.1.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b1579413ae492b05de5a6174574f8c44c2b9b122a42015c5292afa4be2507f28"}, - {file = "pyzmq-25.1.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:3d0a409d3b28607cc427aa5c30a6f1e4452cc44e311f843e05edb28ab5e36da0"}, - {file = "pyzmq-25.1.1-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:21eb4e609a154a57c520e3d5bfa0d97e49b6872ea057b7c85257b11e78068222"}, - {file = "pyzmq-25.1.1-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:034239843541ef7a1aee0c7b2cb7f6aafffb005ede965ae9cbd49d5ff4ff73cf"}, - {file = "pyzmq-25.1.1-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:f8115e303280ba09f3898194791a153862cbf9eef722ad8f7f741987ee2a97c7"}, - {file = "pyzmq-25.1.1-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:1a5d26fe8f32f137e784f768143728438877d69a586ddeaad898558dc971a5ae"}, - {file = "pyzmq-25.1.1-cp37-cp37m-win32.whl", hash = "sha256:f32260e556a983bc5c7ed588d04c942c9a8f9c2e99213fec11a031e316874c7e"}, - {file = "pyzmq-25.1.1-cp37-cp37m-win_amd64.whl", hash = "sha256:abf34e43c531bbb510ae7e8f5b2b1f2a8ab93219510e2b287a944432fad135f3"}, - {file = "pyzmq-25.1.1-cp38-cp38-macosx_10_15_universal2.whl", hash = "sha256:87e34f31ca8f168c56d6fbf99692cc8d3b445abb5bfd08c229ae992d7547a92a"}, - {file = "pyzmq-25.1.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:c9c6c9b2c2f80747a98f34ef491c4d7b1a8d4853937bb1492774992a120f475d"}, - {file = "pyzmq-25.1.1-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:5619f3f5a4db5dbb572b095ea3cb5cc035335159d9da950830c9c4db2fbb6995"}, - {file = "pyzmq-25.1.1-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:5a34d2395073ef862b4032343cf0c32a712f3ab49d7ec4f42c9661e0294d106f"}, - {file = "pyzmq-25.1.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:25f0e6b78220aba09815cd1f3a32b9c7cb3e02cb846d1cfc526b6595f6046618"}, - {file = "pyzmq-25.1.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:3669cf8ee3520c2f13b2e0351c41fea919852b220988d2049249db10046a7afb"}, - {file = "pyzmq-25.1.1-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:2d163a18819277e49911f7461567bda923461c50b19d169a062536fffe7cd9d2"}, - {file = "pyzmq-25.1.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:df27ffddff4190667d40de7beba4a950b5ce78fe28a7dcc41d6f8a700a80a3c0"}, - {file = "pyzmq-25.1.1-cp38-cp38-win32.whl", hash = "sha256:a382372898a07479bd34bda781008e4a954ed8750f17891e794521c3e21c2e1c"}, - {file = "pyzmq-25.1.1-cp38-cp38-win_amd64.whl", hash = "sha256:52533489f28d62eb1258a965f2aba28a82aa747202c8fa5a1c7a43b5db0e85c1"}, - {file = "pyzmq-25.1.1-cp39-cp39-macosx_10_15_universal2.whl", hash = "sha256:03b3f49b57264909aacd0741892f2aecf2f51fb053e7d8ac6767f6c700832f45"}, - {file = "pyzmq-25.1.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:330f9e188d0d89080cde66dc7470f57d1926ff2fb5576227f14d5be7ab30b9fa"}, - {file = "pyzmq-25.1.1-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:2ca57a5be0389f2a65e6d3bb2962a971688cbdd30b4c0bd188c99e39c234f414"}, - {file = "pyzmq-25.1.1-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:d457aed310f2670f59cc5b57dcfced452aeeed77f9da2b9763616bd57e4dbaae"}, - {file = "pyzmq-25.1.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c56d748ea50215abef7030c72b60dd723ed5b5c7e65e7bc2504e77843631c1a6"}, - {file = "pyzmq-25.1.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:8f03d3f0d01cb5a018debeb412441996a517b11c5c17ab2001aa0597c6d6882c"}, - {file = "pyzmq-25.1.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:820c4a08195a681252f46926de10e29b6bbf3e17b30037bd4250d72dd3ddaab8"}, - {file = "pyzmq-25.1.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:17ef5f01d25b67ca8f98120d5fa1d21efe9611604e8eb03a5147360f517dd1e2"}, - {file = "pyzmq-25.1.1-cp39-cp39-win32.whl", hash = "sha256:04ccbed567171579ec2cebb9c8a3e30801723c575601f9a990ab25bcac6b51e2"}, - {file = "pyzmq-25.1.1-cp39-cp39-win_amd64.whl", hash = "sha256:e61f091c3ba0c3578411ef505992d356a812fb200643eab27f4f70eed34a29ef"}, - {file = "pyzmq-25.1.1-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:ade6d25bb29c4555d718ac6d1443a7386595528c33d6b133b258f65f963bb0f6"}, - {file = "pyzmq-25.1.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e0c95ddd4f6e9fca4e9e3afaa4f9df8552f0ba5d1004e89ef0a68e1f1f9807c7"}, - {file = "pyzmq-25.1.1-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:48e466162a24daf86f6b5ca72444d2bf39a5e58da5f96370078be67c67adc978"}, - {file = "pyzmq-25.1.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:abc719161780932c4e11aaebb203be3d6acc6b38d2f26c0f523b5b59d2fc1996"}, - {file = "pyzmq-25.1.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:1ccf825981640b8c34ae54231b7ed00271822ea1c6d8ba1090ebd4943759abf5"}, - {file = "pyzmq-25.1.1-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:c2f20ce161ebdb0091a10c9ca0372e023ce24980d0e1f810f519da6f79c60800"}, - {file = "pyzmq-25.1.1-pp37-pypy37_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:deee9ca4727f53464daf089536e68b13e6104e84a37820a88b0a057b97bba2d2"}, - {file = "pyzmq-25.1.1-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:aa8d6cdc8b8aa19ceb319aaa2b660cdaccc533ec477eeb1309e2a291eaacc43a"}, - {file = "pyzmq-25.1.1-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:019e59ef5c5256a2c7378f2fb8560fc2a9ff1d315755204295b2eab96b254d0a"}, - {file = "pyzmq-25.1.1-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:b9af3757495c1ee3b5c4e945c1df7be95562277c6e5bccc20a39aec50f826cd0"}, - {file = "pyzmq-25.1.1-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:548d6482dc8aadbe7e79d1b5806585c8120bafa1ef841167bc9090522b610fa6"}, - {file = "pyzmq-25.1.1-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:057e824b2aae50accc0f9a0570998adc021b372478a921506fddd6c02e60308e"}, - {file = "pyzmq-25.1.1-pp38-pypy38_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:2243700cc5548cff20963f0ca92d3e5e436394375ab8a354bbea2b12911b20b0"}, - {file = "pyzmq-25.1.1-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:79986f3b4af059777111409ee517da24a529bdbd46da578b33f25580adcff728"}, - {file = "pyzmq-25.1.1-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:11d58723d44d6ed4dd677c5615b2ffb19d5c426636345567d6af82be4dff8a55"}, - {file = "pyzmq-25.1.1-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:49d238cf4b69652257db66d0c623cd3e09b5d2e9576b56bc067a396133a00d4a"}, - {file = "pyzmq-25.1.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fedbdc753827cf014c01dbbee9c3be17e5a208dcd1bf8641ce2cd29580d1f0d4"}, - {file = "pyzmq-25.1.1-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bc16ac425cc927d0a57d242589f87ee093884ea4804c05a13834d07c20db203c"}, - {file = "pyzmq-25.1.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:11c1d2aed9079c6b0c9550a7257a836b4a637feb334904610f06d70eb44c56d2"}, - {file = "pyzmq-25.1.1-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:e8a701123029cc240cea61dd2d16ad57cab4691804143ce80ecd9286b464d180"}, - {file = "pyzmq-25.1.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:61706a6b6c24bdece85ff177fec393545a3191eeda35b07aaa1458a027ad1304"}, - {file = "pyzmq-25.1.1.tar.gz", hash = "sha256:259c22485b71abacdfa8bf79720cd7bcf4b9d128b30ea554f01ae71fdbfdaa23"}, + {file = "pyzmq-25.1.2-cp310-cp310-macosx_10_15_universal2.whl", hash = "sha256:e624c789359f1a16f83f35e2c705d07663ff2b4d4479bad35621178d8f0f6ea4"}, + {file = "pyzmq-25.1.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:49151b0efece79f6a79d41a461d78535356136ee70084a1c22532fc6383f4ad0"}, + {file = "pyzmq-25.1.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d9a5f194cf730f2b24d6af1f833c14c10f41023da46a7f736f48b6d35061e76e"}, + {file = "pyzmq-25.1.2-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:faf79a302f834d9e8304fafdc11d0d042266667ac45209afa57e5efc998e3872"}, + {file = "pyzmq-25.1.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7f51a7b4ead28d3fca8dda53216314a553b0f7a91ee8fc46a72b402a78c3e43d"}, + {file = "pyzmq-25.1.2-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:0ddd6d71d4ef17ba5a87becf7ddf01b371eaba553c603477679ae817a8d84d75"}, + {file = "pyzmq-25.1.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:246747b88917e4867e2367b005fc8eefbb4a54b7db363d6c92f89d69abfff4b6"}, + {file = "pyzmq-25.1.2-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:00c48ae2fd81e2a50c3485de1b9d5c7c57cd85dc8ec55683eac16846e57ac979"}, + {file = "pyzmq-25.1.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:5a68d491fc20762b630e5db2191dd07ff89834086740f70e978bb2ef2668be08"}, + {file = "pyzmq-25.1.2-cp310-cp310-win32.whl", hash = "sha256:09dfe949e83087da88c4a76767df04b22304a682d6154de2c572625c62ad6886"}, + {file = "pyzmq-25.1.2-cp310-cp310-win_amd64.whl", hash = "sha256:fa99973d2ed20417744fca0073390ad65ce225b546febb0580358e36aa90dba6"}, + {file = "pyzmq-25.1.2-cp311-cp311-macosx_10_15_universal2.whl", hash = "sha256:82544e0e2d0c1811482d37eef297020a040c32e0687c1f6fc23a75b75db8062c"}, + {file = "pyzmq-25.1.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:01171fc48542348cd1a360a4b6c3e7d8f46cdcf53a8d40f84db6707a6768acc1"}, + {file = "pyzmq-25.1.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bc69c96735ab501419c432110016329bf0dea8898ce16fab97c6d9106dc0b348"}, + {file = "pyzmq-25.1.2-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3e124e6b1dd3dfbeb695435dff0e383256655bb18082e094a8dd1f6293114642"}, + {file = "pyzmq-25.1.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7598d2ba821caa37a0f9d54c25164a4fa351ce019d64d0b44b45540950458840"}, + {file = "pyzmq-25.1.2-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:d1299d7e964c13607efd148ca1f07dcbf27c3ab9e125d1d0ae1d580a1682399d"}, + {file = "pyzmq-25.1.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:4e6f689880d5ad87918430957297c975203a082d9a036cc426648fcbedae769b"}, + {file = "pyzmq-25.1.2-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:cc69949484171cc961e6ecd4a8911b9ce7a0d1f738fcae717177c231bf77437b"}, + {file = "pyzmq-25.1.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:9880078f683466b7f567b8624bfc16cad65077be046b6e8abb53bed4eeb82dd3"}, + {file = "pyzmq-25.1.2-cp311-cp311-win32.whl", hash = "sha256:4e5837af3e5aaa99a091302df5ee001149baff06ad22b722d34e30df5f0d9097"}, + {file = "pyzmq-25.1.2-cp311-cp311-win_amd64.whl", hash = "sha256:25c2dbb97d38b5ac9fd15586e048ec5eb1e38f3d47fe7d92167b0c77bb3584e9"}, + {file = "pyzmq-25.1.2-cp312-cp312-macosx_10_15_universal2.whl", hash = "sha256:11e70516688190e9c2db14fcf93c04192b02d457b582a1f6190b154691b4c93a"}, + {file = "pyzmq-25.1.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:313c3794d650d1fccaaab2df942af9f2c01d6217c846177cfcbc693c7410839e"}, + {file = "pyzmq-25.1.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1b3cbba2f47062b85fe0ef9de5b987612140a9ba3a9c6d2543c6dec9f7c2ab27"}, + {file = "pyzmq-25.1.2-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fc31baa0c32a2ca660784d5af3b9487e13b61b3032cb01a115fce6588e1bed30"}, + {file = "pyzmq-25.1.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:02c9087b109070c5ab0b383079fa1b5f797f8d43e9a66c07a4b8b8bdecfd88ee"}, + {file = "pyzmq-25.1.2-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:f8429b17cbb746c3e043cb986328da023657e79d5ed258b711c06a70c2ea7537"}, + {file = "pyzmq-25.1.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:5074adeacede5f810b7ef39607ee59d94e948b4fd954495bdb072f8c54558181"}, + {file = "pyzmq-25.1.2-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:7ae8f354b895cbd85212da245f1a5ad8159e7840e37d78b476bb4f4c3f32a9fe"}, + {file = "pyzmq-25.1.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:b264bf2cc96b5bc43ce0e852be995e400376bd87ceb363822e2cb1964fcdc737"}, + {file = "pyzmq-25.1.2-cp312-cp312-win32.whl", hash = "sha256:02bbc1a87b76e04fd780b45e7f695471ae6de747769e540da909173d50ff8e2d"}, + {file = "pyzmq-25.1.2-cp312-cp312-win_amd64.whl", hash = "sha256:ced111c2e81506abd1dc142e6cd7b68dd53747b3b7ae5edbea4578c5eeff96b7"}, + {file = "pyzmq-25.1.2-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:7b6d09a8962a91151f0976008eb7b29b433a560fde056ec7a3db9ec8f1075438"}, + {file = "pyzmq-25.1.2-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:967668420f36878a3c9ecb5ab33c9d0ff8d054f9c0233d995a6d25b0e95e1b6b"}, + {file = "pyzmq-25.1.2-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:5edac3f57c7ddaacdb4d40f6ef2f9e299471fc38d112f4bc6d60ab9365445fb0"}, + {file = "pyzmq-25.1.2-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:0dabfb10ef897f3b7e101cacba1437bd3a5032ee667b7ead32bbcdd1a8422fe7"}, + {file = "pyzmq-25.1.2-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:2c6441e0398c2baacfe5ba30c937d274cfc2dc5b55e82e3749e333aabffde561"}, + {file = "pyzmq-25.1.2-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:16b726c1f6c2e7625706549f9dbe9b06004dfbec30dbed4bf50cbdfc73e5b32a"}, + {file = "pyzmq-25.1.2-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:a86c2dd76ef71a773e70551a07318b8e52379f58dafa7ae1e0a4be78efd1ff16"}, + {file = "pyzmq-25.1.2-cp36-cp36m-win32.whl", hash = "sha256:359f7f74b5d3c65dae137f33eb2bcfa7ad9ebefd1cab85c935f063f1dbb245cc"}, + {file = "pyzmq-25.1.2-cp36-cp36m-win_amd64.whl", hash = "sha256:55875492f820d0eb3417b51d96fea549cde77893ae3790fd25491c5754ea2f68"}, + {file = "pyzmq-25.1.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:b8c8a419dfb02e91b453615c69568442e897aaf77561ee0064d789705ff37a92"}, + {file = "pyzmq-25.1.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8807c87fa893527ae8a524c15fc505d9950d5e856f03dae5921b5e9aa3b8783b"}, + {file = "pyzmq-25.1.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:5e319ed7d6b8f5fad9b76daa0a68497bc6f129858ad956331a5835785761e003"}, + {file = "pyzmq-25.1.2-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:3c53687dde4d9d473c587ae80cc328e5b102b517447456184b485587ebd18b62"}, + {file = "pyzmq-25.1.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:9add2e5b33d2cd765ad96d5eb734a5e795a0755f7fc49aa04f76d7ddda73fd70"}, + {file = "pyzmq-25.1.2-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:e690145a8c0c273c28d3b89d6fb32c45e0d9605b2293c10e650265bf5c11cfec"}, + {file = "pyzmq-25.1.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:00a06faa7165634f0cac1abb27e54d7a0b3b44eb9994530b8ec73cf52e15353b"}, + {file = "pyzmq-25.1.2-cp37-cp37m-win32.whl", hash = "sha256:0f97bc2f1f13cb16905a5f3e1fbdf100e712d841482b2237484360f8bc4cb3d7"}, + {file = "pyzmq-25.1.2-cp37-cp37m-win_amd64.whl", hash = "sha256:6cc0020b74b2e410287e5942e1e10886ff81ac77789eb20bec13f7ae681f0fdd"}, + {file = "pyzmq-25.1.2-cp38-cp38-macosx_10_15_universal2.whl", hash = "sha256:bef02cfcbded83473bdd86dd8d3729cd82b2e569b75844fb4ea08fee3c26ae41"}, + {file = "pyzmq-25.1.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:e10a4b5a4b1192d74853cc71a5e9fd022594573926c2a3a4802020360aa719d8"}, + {file = "pyzmq-25.1.2-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:8c5f80e578427d4695adac6fdf4370c14a2feafdc8cb35549c219b90652536ae"}, + {file = "pyzmq-25.1.2-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:5dde6751e857910c1339890f3524de74007958557593b9e7e8c5f01cd919f8a7"}, + {file = "pyzmq-25.1.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ea1608dd169da230a0ad602d5b1ebd39807ac96cae1845c3ceed39af08a5c6df"}, + {file = "pyzmq-25.1.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:0f513130c4c361201da9bc69df25a086487250e16b5571ead521b31ff6b02220"}, + {file = "pyzmq-25.1.2-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:019744b99da30330798bb37df33549d59d380c78e516e3bab9c9b84f87a9592f"}, + {file = "pyzmq-25.1.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:2e2713ef44be5d52dd8b8e2023d706bf66cb22072e97fc71b168e01d25192755"}, + {file = "pyzmq-25.1.2-cp38-cp38-win32.whl", hash = "sha256:07cd61a20a535524906595e09344505a9bd46f1da7a07e504b315d41cd42eb07"}, + {file = "pyzmq-25.1.2-cp38-cp38-win_amd64.whl", hash = "sha256:eb7e49a17fb8c77d3119d41a4523e432eb0c6932187c37deb6fbb00cc3028088"}, + {file = "pyzmq-25.1.2-cp39-cp39-macosx_10_15_universal2.whl", hash = "sha256:94504ff66f278ab4b7e03e4cba7e7e400cb73bfa9d3d71f58d8972a8dc67e7a6"}, + {file = "pyzmq-25.1.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6dd0d50bbf9dca1d0bdea219ae6b40f713a3fb477c06ca3714f208fd69e16fd8"}, + {file = "pyzmq-25.1.2-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:004ff469d21e86f0ef0369717351073e0e577428e514c47c8480770d5e24a565"}, + {file = "pyzmq-25.1.2-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:c0b5ca88a8928147b7b1e2dfa09f3b6c256bc1135a1338536cbc9ea13d3b7add"}, + {file = "pyzmq-25.1.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2c9a79f1d2495b167119d02be7448bfba57fad2a4207c4f68abc0bab4b92925b"}, + {file = "pyzmq-25.1.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:518efd91c3d8ac9f9b4f7dd0e2b7b8bf1a4fe82a308009016b07eaa48681af82"}, + {file = "pyzmq-25.1.2-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:1ec23bd7b3a893ae676d0e54ad47d18064e6c5ae1fadc2f195143fb27373f7f6"}, + {file = "pyzmq-25.1.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:db36c27baed588a5a8346b971477b718fdc66cf5b80cbfbd914b4d6d355e44e2"}, + {file = "pyzmq-25.1.2-cp39-cp39-win32.whl", hash = "sha256:39b1067f13aba39d794a24761e385e2eddc26295826530a8c7b6c6c341584289"}, + {file = "pyzmq-25.1.2-cp39-cp39-win_amd64.whl", hash = "sha256:8e9f3fabc445d0ce320ea2c59a75fe3ea591fdbdeebec5db6de530dd4b09412e"}, + {file = "pyzmq-25.1.2-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:a8c1d566344aee826b74e472e16edae0a02e2a044f14f7c24e123002dcff1c05"}, + {file = "pyzmq-25.1.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:759cfd391a0996345ba94b6a5110fca9c557ad4166d86a6e81ea526c376a01e8"}, + {file = "pyzmq-25.1.2-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7c61e346ac34b74028ede1c6b4bcecf649d69b707b3ff9dc0fab453821b04d1e"}, + {file = "pyzmq-25.1.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4cb8fc1f8d69b411b8ec0b5f1ffbcaf14c1db95b6bccea21d83610987435f1a4"}, + {file = "pyzmq-25.1.2-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:3c00c9b7d1ca8165c610437ca0c92e7b5607b2f9076f4eb4b095c85d6e680a1d"}, + {file = "pyzmq-25.1.2-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:df0c7a16ebb94452d2909b9a7b3337940e9a87a824c4fc1c7c36bb4404cb0cde"}, + {file = "pyzmq-25.1.2-pp37-pypy37_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:45999e7f7ed5c390f2e87ece7f6c56bf979fb213550229e711e45ecc7d42ccb8"}, + {file = "pyzmq-25.1.2-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:ac170e9e048b40c605358667aca3d94e98f604a18c44bdb4c102e67070f3ac9b"}, + {file = "pyzmq-25.1.2-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d1b604734bec94f05f81b360a272fc824334267426ae9905ff32dc2be433ab96"}, + {file = "pyzmq-25.1.2-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:a793ac733e3d895d96f865f1806f160696422554e46d30105807fdc9841b9f7d"}, + {file = "pyzmq-25.1.2-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:0806175f2ae5ad4b835ecd87f5f85583316b69f17e97786f7443baaf54b9bb98"}, + {file = "pyzmq-25.1.2-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:ef12e259e7bc317c7597d4f6ef59b97b913e162d83b421dd0db3d6410f17a244"}, + {file = "pyzmq-25.1.2-pp38-pypy38_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:ea253b368eb41116011add00f8d5726762320b1bda892f744c91997b65754d73"}, + {file = "pyzmq-25.1.2-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1b9b1f2ad6498445a941d9a4fee096d387fee436e45cc660e72e768d3d8ee611"}, + {file = "pyzmq-25.1.2-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:8b14c75979ce932c53b79976a395cb2a8cd3aaf14aef75e8c2cb55a330b9b49d"}, + {file = "pyzmq-25.1.2-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:889370d5174a741a62566c003ee8ddba4b04c3f09a97b8000092b7ca83ec9c49"}, + {file = "pyzmq-25.1.2-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9a18fff090441a40ffda8a7f4f18f03dc56ae73f148f1832e109f9bffa85df15"}, + {file = "pyzmq-25.1.2-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:99a6b36f95c98839ad98f8c553d8507644c880cf1e0a57fe5e3a3f3969040882"}, + {file = "pyzmq-25.1.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4345c9a27f4310afbb9c01750e9461ff33d6fb74cd2456b107525bbeebcb5be3"}, + {file = "pyzmq-25.1.2-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:3516e0b6224cf6e43e341d56da15fd33bdc37fa0c06af4f029f7d7dfceceabbc"}, + {file = "pyzmq-25.1.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:146b9b1f29ead41255387fb07be56dc29639262c0f7344f570eecdcd8d683314"}, + {file = "pyzmq-25.1.2.tar.gz", hash = "sha256:93f1aa311e8bb912e34f004cf186407a4e90eec4f0ecc0efd26056bf7eda0226"}, ] [package.dependencies] @@ -4031,13 +3967,13 @@ test = ["pytest (>=6,!=7.0.0,!=7.0.1)", "pytest-cov (>=3.0.0)", "pytest-qt"] [[package]] name = "referencing" -version = "0.31.1" +version = "0.32.1" description = "JSON Referencing + Python" optional = false python-versions = ">=3.8" files = [ - {file = "referencing-0.31.1-py3-none-any.whl", hash = "sha256:c19c4d006f1757e3dd75c4f784d38f8698d87b649c54f9ace14e5e8c9667c01d"}, - {file = "referencing-0.31.1.tar.gz", hash = "sha256:81a1471c68c9d5e3831c30ad1dd9815c45b558e596653db751a2bfdd17b3b9ec"}, + {file = "referencing-0.32.1-py3-none-any.whl", hash = "sha256:7e4dc12271d8e15612bfe35792f5ea1c40970dadf8624602e33db2758f7ee554"}, + {file = "referencing-0.32.1.tar.gz", hash = "sha256:3c57da0513e9563eb7e203ebe9bb3a1b509b042016433bd1e45a2853466c3dd3"}, ] [package.dependencies] @@ -4046,99 +3982,104 @@ rpds-py = ">=0.7.0" [[package]] name = "regex" -version = "2023.10.3" +version = "2023.12.25" description = "Alternative regular expression module, to replace re." optional = false python-versions = ">=3.7" files = [ - {file = "regex-2023.10.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:4c34d4f73ea738223a094d8e0ffd6d2c1a1b4c175da34d6b0de3d8d69bee6bcc"}, - {file = "regex-2023.10.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a8f4e49fc3ce020f65411432183e6775f24e02dff617281094ba6ab079ef0915"}, - {file = "regex-2023.10.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4cd1bccf99d3ef1ab6ba835308ad85be040e6a11b0977ef7ea8c8005f01a3c29"}, - {file = "regex-2023.10.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:81dce2ddc9f6e8f543d94b05d56e70d03a0774d32f6cca53e978dc01e4fc75b8"}, - {file = "regex-2023.10.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9c6b4d23c04831e3ab61717a707a5d763b300213db49ca680edf8bf13ab5d91b"}, - {file = "regex-2023.10.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c15ad0aee158a15e17e0495e1e18741573d04eb6da06d8b84af726cfc1ed02ee"}, - {file = "regex-2023.10.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6239d4e2e0b52c8bd38c51b760cd870069f0bdf99700a62cd509d7a031749a55"}, - {file = "regex-2023.10.3-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:4a8bf76e3182797c6b1afa5b822d1d5802ff30284abe4599e1247be4fd6b03be"}, - {file = "regex-2023.10.3-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:d9c727bbcf0065cbb20f39d2b4f932f8fa1631c3e01fcedc979bd4f51fe051c5"}, - {file = "regex-2023.10.3-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:3ccf2716add72f80714b9a63899b67fa711b654be3fcdd34fa391d2d274ce767"}, - {file = "regex-2023.10.3-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:107ac60d1bfdc3edb53be75e2a52aff7481b92817cfdddd9b4519ccf0e54a6ff"}, - {file = "regex-2023.10.3-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:00ba3c9818e33f1fa974693fb55d24cdc8ebafcb2e4207680669d8f8d7cca79a"}, - {file = "regex-2023.10.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:f0a47efb1dbef13af9c9a54a94a0b814902e547b7f21acb29434504d18f36e3a"}, - {file = "regex-2023.10.3-cp310-cp310-win32.whl", hash = "sha256:36362386b813fa6c9146da6149a001b7bd063dabc4d49522a1f7aa65b725c7ec"}, - {file = "regex-2023.10.3-cp310-cp310-win_amd64.whl", hash = "sha256:c65a3b5330b54103e7d21cac3f6bf3900d46f6d50138d73343d9e5b2900b2353"}, - {file = "regex-2023.10.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:90a79bce019c442604662d17bf69df99090e24cdc6ad95b18b6725c2988a490e"}, - {file = "regex-2023.10.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c7964c2183c3e6cce3f497e3a9f49d182e969f2dc3aeeadfa18945ff7bdd7051"}, - {file = "regex-2023.10.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4ef80829117a8061f974b2fda8ec799717242353bff55f8a29411794d635d964"}, - {file = "regex-2023.10.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5addc9d0209a9afca5fc070f93b726bf7003bd63a427f65ef797a931782e7edc"}, - {file = "regex-2023.10.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c148bec483cc4b421562b4bcedb8e28a3b84fcc8f0aa4418e10898f3c2c0eb9b"}, - {file = "regex-2023.10.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8d1f21af4c1539051049796a0f50aa342f9a27cde57318f2fc41ed50b0dbc4ac"}, - {file = "regex-2023.10.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0b9ac09853b2a3e0d0082104036579809679e7715671cfbf89d83c1cb2a30f58"}, - {file = "regex-2023.10.3-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:ebedc192abbc7fd13c5ee800e83a6df252bec691eb2c4bedc9f8b2e2903f5e2a"}, - {file = "regex-2023.10.3-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:d8a993c0a0ffd5f2d3bda23d0cd75e7086736f8f8268de8a82fbc4bd0ac6791e"}, - {file = "regex-2023.10.3-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:be6b7b8d42d3090b6c80793524fa66c57ad7ee3fe9722b258aec6d0672543fd0"}, - {file = "regex-2023.10.3-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:4023e2efc35a30e66e938de5aef42b520c20e7eda7bb5fb12c35e5d09a4c43f6"}, - {file = "regex-2023.10.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:0d47840dc05e0ba04fe2e26f15126de7c755496d5a8aae4a08bda4dd8d646c54"}, - {file = "regex-2023.10.3-cp311-cp311-win32.whl", hash = "sha256:9145f092b5d1977ec8c0ab46e7b3381b2fd069957b9862a43bd383e5c01d18c2"}, - {file = "regex-2023.10.3-cp311-cp311-win_amd64.whl", hash = "sha256:b6104f9a46bd8743e4f738afef69b153c4b8b592d35ae46db07fc28ae3d5fb7c"}, - {file = "regex-2023.10.3-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:bff507ae210371d4b1fe316d03433ac099f184d570a1a611e541923f78f05037"}, - {file = "regex-2023.10.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:be5e22bbb67924dea15039c3282fa4cc6cdfbe0cbbd1c0515f9223186fc2ec5f"}, - {file = "regex-2023.10.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4a992f702c9be9c72fa46f01ca6e18d131906a7180950958f766c2aa294d4b41"}, - {file = "regex-2023.10.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7434a61b158be563c1362d9071358f8ab91b8d928728cd2882af060481244c9e"}, - {file = "regex-2023.10.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c2169b2dcabf4e608416f7f9468737583ce5f0a6e8677c4efbf795ce81109d7c"}, - {file = "regex-2023.10.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a9e908ef5889cda4de038892b9accc36d33d72fb3e12c747e2799a0e806ec841"}, - {file = "regex-2023.10.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:12bd4bc2c632742c7ce20db48e0d99afdc05e03f0b4c1af90542e05b809a03d9"}, - {file = "regex-2023.10.3-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:bc72c231f5449d86d6c7d9cc7cd819b6eb30134bb770b8cfdc0765e48ef9c420"}, - {file = "regex-2023.10.3-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:bce8814b076f0ce5766dc87d5a056b0e9437b8e0cd351b9a6c4e1134a7dfbda9"}, - {file = "regex-2023.10.3-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:ba7cd6dc4d585ea544c1412019921570ebd8a597fabf475acc4528210d7c4a6f"}, - {file = "regex-2023.10.3-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:b0c7d2f698e83f15228ba41c135501cfe7d5740181d5903e250e47f617eb4292"}, - {file = "regex-2023.10.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:5a8f91c64f390ecee09ff793319f30a0f32492e99f5dc1c72bc361f23ccd0a9a"}, - {file = "regex-2023.10.3-cp312-cp312-win32.whl", hash = "sha256:ad08a69728ff3c79866d729b095872afe1e0557251da4abb2c5faff15a91d19a"}, - {file = "regex-2023.10.3-cp312-cp312-win_amd64.whl", hash = "sha256:39cdf8d141d6d44e8d5a12a8569d5a227f645c87df4f92179bd06e2e2705e76b"}, - {file = "regex-2023.10.3-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:4a3ee019a9befe84fa3e917a2dd378807e423d013377a884c1970a3c2792d293"}, - {file = "regex-2023.10.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:76066d7ff61ba6bf3cb5efe2428fc82aac91802844c022d849a1f0f53820502d"}, - {file = "regex-2023.10.3-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bfe50b61bab1b1ec260fa7cd91106fa9fece57e6beba05630afe27c71259c59b"}, - {file = "regex-2023.10.3-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9fd88f373cb71e6b59b7fa597e47e518282455c2734fd4306a05ca219a1991b0"}, - {file = "regex-2023.10.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b3ab05a182c7937fb374f7e946f04fb23a0c0699c0450e9fb02ef567412d2fa3"}, - {file = "regex-2023.10.3-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dac37cf08fcf2094159922edc7a2784cfcc5c70f8354469f79ed085f0328ebdf"}, - {file = "regex-2023.10.3-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:e54ddd0bb8fb626aa1f9ba7b36629564544954fff9669b15da3610c22b9a0991"}, - {file = "regex-2023.10.3-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:3367007ad1951fde612bf65b0dffc8fd681a4ab98ac86957d16491400d661302"}, - {file = "regex-2023.10.3-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:16f8740eb6dbacc7113e3097b0a36065a02e37b47c936b551805d40340fb9971"}, - {file = "regex-2023.10.3-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:f4f2ca6df64cbdd27f27b34f35adb640b5d2d77264228554e68deda54456eb11"}, - {file = "regex-2023.10.3-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:39807cbcbe406efca2a233884e169d056c35aa7e9f343d4e78665246a332f597"}, - {file = "regex-2023.10.3-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:7eece6fbd3eae4a92d7c748ae825cbc1ee41a89bb1c3db05b5578ed3cfcfd7cb"}, - {file = "regex-2023.10.3-cp37-cp37m-win32.whl", hash = "sha256:ce615c92d90df8373d9e13acddd154152645c0dc060871abf6bd43809673d20a"}, - {file = "regex-2023.10.3-cp37-cp37m-win_amd64.whl", hash = "sha256:0f649fa32fe734c4abdfd4edbb8381c74abf5f34bc0b3271ce687b23729299ed"}, - {file = "regex-2023.10.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:9b98b7681a9437262947f41c7fac567c7e1f6eddd94b0483596d320092004533"}, - {file = "regex-2023.10.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:91dc1d531f80c862441d7b66c4505cd6ea9d312f01fb2f4654f40c6fdf5cc37a"}, - {file = "regex-2023.10.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:82fcc1f1cc3ff1ab8a57ba619b149b907072e750815c5ba63e7aa2e1163384a4"}, - {file = "regex-2023.10.3-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7979b834ec7a33aafae34a90aad9f914c41fd6eaa8474e66953f3f6f7cbd4368"}, - {file = "regex-2023.10.3-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ef71561f82a89af6cfcbee47f0fabfdb6e63788a9258e913955d89fdd96902ab"}, - {file = "regex-2023.10.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd829712de97753367153ed84f2de752b86cd1f7a88b55a3a775eb52eafe8a94"}, - {file = "regex-2023.10.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:00e871d83a45eee2f8688d7e6849609c2ca2a04a6d48fba3dff4deef35d14f07"}, - {file = "regex-2023.10.3-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:706e7b739fdd17cb89e1fbf712d9dc21311fc2333f6d435eac2d4ee81985098c"}, - {file = "regex-2023.10.3-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:cc3f1c053b73f20c7ad88b0d1d23be7e7b3901229ce89f5000a8399746a6e039"}, - {file = "regex-2023.10.3-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:6f85739e80d13644b981a88f529d79c5bdf646b460ba190bffcaf6d57b2a9863"}, - {file = "regex-2023.10.3-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:741ba2f511cc9626b7561a440f87d658aabb3d6b744a86a3c025f866b4d19e7f"}, - {file = "regex-2023.10.3-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:e77c90ab5997e85901da85131fd36acd0ed2221368199b65f0d11bca44549711"}, - {file = "regex-2023.10.3-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:979c24cbefaf2420c4e377ecd1f165ea08cc3d1fbb44bdc51bccbbf7c66a2cb4"}, - {file = "regex-2023.10.3-cp38-cp38-win32.whl", hash = "sha256:58837f9d221744d4c92d2cf7201c6acd19623b50c643b56992cbd2b745485d3d"}, - {file = "regex-2023.10.3-cp38-cp38-win_amd64.whl", hash = "sha256:c55853684fe08d4897c37dfc5faeff70607a5f1806c8be148f1695be4a63414b"}, - {file = "regex-2023.10.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:2c54e23836650bdf2c18222c87f6f840d4943944146ca479858404fedeb9f9af"}, - {file = "regex-2023.10.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:69c0771ca5653c7d4b65203cbfc5e66db9375f1078689459fe196fe08b7b4930"}, - {file = "regex-2023.10.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6ac965a998e1388e6ff2e9781f499ad1eaa41e962a40d11c7823c9952c77123e"}, - {file = "regex-2023.10.3-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1c0e8fae5b27caa34177bdfa5a960c46ff2f78ee2d45c6db15ae3f64ecadde14"}, - {file = "regex-2023.10.3-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6c56c3d47da04f921b73ff9415fbaa939f684d47293f071aa9cbb13c94afc17d"}, - {file = "regex-2023.10.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7ef1e014eed78ab650bef9a6a9cbe50b052c0aebe553fb2881e0453717573f52"}, - {file = "regex-2023.10.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d29338556a59423d9ff7b6eb0cb89ead2b0875e08fe522f3e068b955c3e7b59b"}, - {file = "regex-2023.10.3-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:9c6d0ced3c06d0f183b73d3c5920727268d2201aa0fe6d55c60d68c792ff3588"}, - {file = "regex-2023.10.3-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:994645a46c6a740ee8ce8df7911d4aee458d9b1bc5639bc968226763d07f00fa"}, - {file = "regex-2023.10.3-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:66e2fe786ef28da2b28e222c89502b2af984858091675044d93cb50e6f46d7af"}, - {file = "regex-2023.10.3-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:11175910f62b2b8c055f2b089e0fedd694fe2be3941b3e2633653bc51064c528"}, - {file = "regex-2023.10.3-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:06e9abc0e4c9ab4779c74ad99c3fc10d3967d03114449acc2c2762ad4472b8ca"}, - {file = "regex-2023.10.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:fb02e4257376ae25c6dd95a5aec377f9b18c09be6ebdefa7ad209b9137b73d48"}, - {file = "regex-2023.10.3-cp39-cp39-win32.whl", hash = "sha256:3b2c3502603fab52d7619b882c25a6850b766ebd1b18de3df23b2f939360e1bd"}, - {file = "regex-2023.10.3-cp39-cp39-win_amd64.whl", hash = "sha256:adbccd17dcaff65704c856bd29951c58a1bd4b2b0f8ad6b826dbd543fe740988"}, - {file = "regex-2023.10.3.tar.gz", hash = "sha256:3fef4f844d2290ee0ba57addcec17eec9e3df73f10a2748485dfd6a3a188cc0f"}, + {file = "regex-2023.12.25-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:0694219a1d54336fd0445ea382d49d36882415c0134ee1e8332afd1529f0baa5"}, + {file = "regex-2023.12.25-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:b014333bd0217ad3d54c143de9d4b9a3ca1c5a29a6d0d554952ea071cff0f1f8"}, + {file = "regex-2023.12.25-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d865984b3f71f6d0af64d0d88f5733521698f6c16f445bb09ce746c92c97c586"}, + {file = "regex-2023.12.25-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1e0eabac536b4cc7f57a5f3d095bfa557860ab912f25965e08fe1545e2ed8b4c"}, + {file = "regex-2023.12.25-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c25a8ad70e716f96e13a637802813f65d8a6760ef48672aa3502f4c24ea8b400"}, + {file = "regex-2023.12.25-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a9b6d73353f777630626f403b0652055ebfe8ff142a44ec2cf18ae470395766e"}, + {file = "regex-2023.12.25-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a9cc99d6946d750eb75827cb53c4371b8b0fe89c733a94b1573c9dd16ea6c9e4"}, + {file = "regex-2023.12.25-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:88d1f7bef20c721359d8675f7d9f8e414ec5003d8f642fdfd8087777ff7f94b5"}, + {file = "regex-2023.12.25-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:cb3fe77aec8f1995611f966d0c656fdce398317f850d0e6e7aebdfe61f40e1cd"}, + {file = "regex-2023.12.25-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:7aa47c2e9ea33a4a2a05f40fcd3ea36d73853a2aae7b4feab6fc85f8bf2c9704"}, + {file = "regex-2023.12.25-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:df26481f0c7a3f8739fecb3e81bc9da3fcfae34d6c094563b9d4670b047312e1"}, + {file = "regex-2023.12.25-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:c40281f7d70baf6e0db0c2f7472b31609f5bc2748fe7275ea65a0b4601d9b392"}, + {file = "regex-2023.12.25-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:d94a1db462d5690ebf6ae86d11c5e420042b9898af5dcf278bd97d6bda065423"}, + {file = "regex-2023.12.25-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:ba1b30765a55acf15dce3f364e4928b80858fa8f979ad41f862358939bdd1f2f"}, + {file = "regex-2023.12.25-cp310-cp310-win32.whl", hash = "sha256:150c39f5b964e4d7dba46a7962a088fbc91f06e606f023ce57bb347a3b2d4630"}, + {file = "regex-2023.12.25-cp310-cp310-win_amd64.whl", hash = "sha256:09da66917262d9481c719599116c7dc0c321ffcec4b1f510c4f8a066f8768105"}, + {file = "regex-2023.12.25-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:1b9d811f72210fa9306aeb88385b8f8bcef0dfbf3873410413c00aa94c56c2b6"}, + {file = "regex-2023.12.25-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:d902a43085a308cef32c0d3aea962524b725403fd9373dea18110904003bac97"}, + {file = "regex-2023.12.25-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:d166eafc19f4718df38887b2bbe1467a4f74a9830e8605089ea7a30dd4da8887"}, + {file = "regex-2023.12.25-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c7ad32824b7f02bb3c9f80306d405a1d9b7bb89362d68b3c5a9be53836caebdb"}, + {file = "regex-2023.12.25-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:636ba0a77de609d6510235b7f0e77ec494d2657108f777e8765efc060094c98c"}, + {file = "regex-2023.12.25-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0fda75704357805eb953a3ee15a2b240694a9a514548cd49b3c5124b4e2ad01b"}, + {file = "regex-2023.12.25-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f72cbae7f6b01591f90814250e636065850c5926751af02bb48da94dfced7baa"}, + {file = "regex-2023.12.25-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:db2a0b1857f18b11e3b0e54ddfefc96af46b0896fb678c85f63fb8c37518b3e7"}, + {file = "regex-2023.12.25-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:7502534e55c7c36c0978c91ba6f61703faf7ce733715ca48f499d3dbbd7657e0"}, + {file = "regex-2023.12.25-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:e8c7e08bb566de4faaf11984af13f6bcf6a08f327b13631d41d62592681d24fe"}, + {file = "regex-2023.12.25-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:283fc8eed679758de38fe493b7d7d84a198b558942b03f017b1f94dda8efae80"}, + {file = "regex-2023.12.25-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:f44dd4d68697559d007462b0a3a1d9acd61d97072b71f6d1968daef26bc744bd"}, + {file = "regex-2023.12.25-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:67d3ccfc590e5e7197750fcb3a2915b416a53e2de847a728cfa60141054123d4"}, + {file = "regex-2023.12.25-cp311-cp311-win32.whl", hash = "sha256:68191f80a9bad283432385961d9efe09d783bcd36ed35a60fb1ff3f1ec2efe87"}, + {file = "regex-2023.12.25-cp311-cp311-win_amd64.whl", hash = "sha256:7d2af3f6b8419661a0c421584cfe8aaec1c0e435ce7e47ee2a97e344b98f794f"}, + {file = "regex-2023.12.25-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:8a0ccf52bb37d1a700375a6b395bff5dd15c50acb745f7db30415bae3c2b0715"}, + {file = "regex-2023.12.25-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:c3c4a78615b7762740531c27cf46e2f388d8d727d0c0c739e72048beb26c8a9d"}, + {file = "regex-2023.12.25-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ad83e7545b4ab69216cef4cc47e344d19622e28aabec61574b20257c65466d6a"}, + {file = "regex-2023.12.25-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b7a635871143661feccce3979e1727c4e094f2bdfd3ec4b90dfd4f16f571a87a"}, + {file = "regex-2023.12.25-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d498eea3f581fbe1b34b59c697512a8baef88212f92e4c7830fcc1499f5b45a5"}, + {file = "regex-2023.12.25-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:43f7cd5754d02a56ae4ebb91b33461dc67be8e3e0153f593c509e21d219c5060"}, + {file = "regex-2023.12.25-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:51f4b32f793812714fd5307222a7f77e739b9bc566dc94a18126aba3b92b98a3"}, + {file = "regex-2023.12.25-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ba99d8077424501b9616b43a2d208095746fb1284fc5ba490139651f971d39d9"}, + {file = "regex-2023.12.25-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:4bfc2b16e3ba8850e0e262467275dd4d62f0d045e0e9eda2bc65078c0110a11f"}, + {file = "regex-2023.12.25-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:8c2c19dae8a3eb0ea45a8448356ed561be843b13cbc34b840922ddf565498c1c"}, + {file = "regex-2023.12.25-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:60080bb3d8617d96f0fb7e19796384cc2467447ef1c491694850ebd3670bc457"}, + {file = "regex-2023.12.25-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:b77e27b79448e34c2c51c09836033056a0547aa360c45eeeb67803da7b0eedaf"}, + {file = "regex-2023.12.25-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:518440c991f514331f4850a63560321f833979d145d7d81186dbe2f19e27ae3d"}, + {file = "regex-2023.12.25-cp312-cp312-win32.whl", hash = "sha256:e2610e9406d3b0073636a3a2e80db05a02f0c3169b5632022b4e81c0364bcda5"}, + {file = "regex-2023.12.25-cp312-cp312-win_amd64.whl", hash = "sha256:cc37b9aeebab425f11f27e5e9e6cf580be7206c6582a64467a14dda211abc232"}, + {file = "regex-2023.12.25-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:da695d75ac97cb1cd725adac136d25ca687da4536154cdc2815f576e4da11c69"}, + {file = "regex-2023.12.25-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d126361607b33c4eb7b36debc173bf25d7805847346dd4d99b5499e1fef52bc7"}, + {file = "regex-2023.12.25-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4719bb05094d7d8563a450cf8738d2e1061420f79cfcc1fa7f0a44744c4d8f73"}, + {file = "regex-2023.12.25-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5dd58946bce44b53b06d94aa95560d0b243eb2fe64227cba50017a8d8b3cd3e2"}, + {file = "regex-2023.12.25-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:22a86d9fff2009302c440b9d799ef2fe322416d2d58fc124b926aa89365ec482"}, + {file = "regex-2023.12.25-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2aae8101919e8aa05ecfe6322b278f41ce2994c4a430303c4cd163fef746e04f"}, + {file = "regex-2023.12.25-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:e692296c4cc2873967771345a876bcfc1c547e8dd695c6b89342488b0ea55cd8"}, + {file = "regex-2023.12.25-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:263ef5cc10979837f243950637fffb06e8daed7f1ac1e39d5910fd29929e489a"}, + {file = "regex-2023.12.25-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:d6f7e255e5fa94642a0724e35406e6cb7001c09d476ab5fce002f652b36d0c39"}, + {file = "regex-2023.12.25-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:88ad44e220e22b63b0f8f81f007e8abbb92874d8ced66f32571ef8beb0643b2b"}, + {file = "regex-2023.12.25-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:3a17d3ede18f9cedcbe23d2daa8a2cd6f59fe2bf082c567e43083bba3fb00347"}, + {file = "regex-2023.12.25-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:d15b274f9e15b1a0b7a45d2ac86d1f634d983ca40d6b886721626c47a400bf39"}, + {file = "regex-2023.12.25-cp37-cp37m-win32.whl", hash = "sha256:ed19b3a05ae0c97dd8f75a5d8f21f7723a8c33bbc555da6bbe1f96c470139d3c"}, + {file = "regex-2023.12.25-cp37-cp37m-win_amd64.whl", hash = "sha256:a6d1047952c0b8104a1d371f88f4ab62e6275567d4458c1e26e9627ad489b445"}, + {file = "regex-2023.12.25-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:b43523d7bc2abd757119dbfb38af91b5735eea45537ec6ec3a5ec3f9562a1c53"}, + {file = "regex-2023.12.25-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:efb2d82f33b2212898f1659fb1c2e9ac30493ac41e4d53123da374c3b5541e64"}, + {file = "regex-2023.12.25-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:b7fca9205b59c1a3d5031f7e64ed627a1074730a51c2a80e97653e3e9fa0d415"}, + {file = "regex-2023.12.25-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:086dd15e9435b393ae06f96ab69ab2d333f5d65cbe65ca5a3ef0ec9564dfe770"}, + {file = "regex-2023.12.25-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e81469f7d01efed9b53740aedd26085f20d49da65f9c1f41e822a33992cb1590"}, + {file = "regex-2023.12.25-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:34e4af5b27232f68042aa40a91c3b9bb4da0eeb31b7632e0091afc4310afe6cb"}, + {file = "regex-2023.12.25-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9852b76ab558e45b20bf1893b59af64a28bd3820b0c2efc80e0a70a4a3ea51c1"}, + {file = "regex-2023.12.25-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ff100b203092af77d1a5a7abe085b3506b7eaaf9abf65b73b7d6905b6cb76988"}, + {file = "regex-2023.12.25-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:cc038b2d8b1470364b1888a98fd22d616fba2b6309c5b5f181ad4483e0017861"}, + {file = "regex-2023.12.25-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:094ba386bb5c01e54e14434d4caabf6583334090865b23ef58e0424a6286d3dc"}, + {file = "regex-2023.12.25-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:5cd05d0f57846d8ba4b71d9c00f6f37d6b97d5e5ef8b3c3840426a475c8f70f4"}, + {file = "regex-2023.12.25-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:9aa1a67bbf0f957bbe096375887b2505f5d8ae16bf04488e8b0f334c36e31360"}, + {file = "regex-2023.12.25-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:98a2636994f943b871786c9e82bfe7883ecdaba2ef5df54e1450fa9869d1f756"}, + {file = "regex-2023.12.25-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:37f8e93a81fc5e5bd8db7e10e62dc64261bcd88f8d7e6640aaebe9bc180d9ce2"}, + {file = "regex-2023.12.25-cp38-cp38-win32.whl", hash = "sha256:d78bd484930c1da2b9679290a41cdb25cc127d783768a0369d6b449e72f88beb"}, + {file = "regex-2023.12.25-cp38-cp38-win_amd64.whl", hash = "sha256:b521dcecebc5b978b447f0f69b5b7f3840eac454862270406a39837ffae4e697"}, + {file = "regex-2023.12.25-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:f7bc09bc9c29ebead055bcba136a67378f03d66bf359e87d0f7c759d6d4ffa31"}, + {file = "regex-2023.12.25-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:e14b73607d6231f3cc4622809c196b540a6a44e903bcfad940779c80dffa7be7"}, + {file = "regex-2023.12.25-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:9eda5f7a50141291beda3edd00abc2d4a5b16c29c92daf8d5bd76934150f3edc"}, + {file = "regex-2023.12.25-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cc6bb9aa69aacf0f6032c307da718f61a40cf970849e471254e0e91c56ffca95"}, + {file = "regex-2023.12.25-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:298dc6354d414bc921581be85695d18912bea163a8b23cac9a2562bbcd5088b1"}, + {file = "regex-2023.12.25-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2f4e475a80ecbd15896a976aa0b386c5525d0ed34d5c600b6d3ebac0a67c7ddf"}, + {file = "regex-2023.12.25-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:531ac6cf22b53e0696f8e1d56ce2396311254eb806111ddd3922c9d937151dae"}, + {file = "regex-2023.12.25-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:22f3470f7524b6da61e2020672df2f3063676aff444db1daa283c2ea4ed259d6"}, + {file = "regex-2023.12.25-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:89723d2112697feaa320c9d351e5f5e7b841e83f8b143dba8e2d2b5f04e10923"}, + {file = "regex-2023.12.25-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:0ecf44ddf9171cd7566ef1768047f6e66975788258b1c6c6ca78098b95cf9a3d"}, + {file = "regex-2023.12.25-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:905466ad1702ed4acfd67a902af50b8db1feeb9781436372261808df7a2a7bca"}, + {file = "regex-2023.12.25-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:4558410b7a5607a645e9804a3e9dd509af12fb72b9825b13791a37cd417d73a5"}, + {file = "regex-2023.12.25-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:7e316026cc1095f2a3e8cc012822c99f413b702eaa2ca5408a513609488cb62f"}, + {file = "regex-2023.12.25-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:3b1de218d5375cd6ac4b5493e0b9f3df2be331e86520f23382f216c137913d20"}, + {file = "regex-2023.12.25-cp39-cp39-win32.whl", hash = "sha256:11a963f8e25ab5c61348d090bf1b07f1953929c13bd2309a0662e9ff680763c9"}, + {file = "regex-2023.12.25-cp39-cp39-win_amd64.whl", hash = "sha256:e693e233ac92ba83a87024e1d32b5f9ab15ca55ddd916d878146f4e3406b5c91"}, + {file = "regex-2023.12.25.tar.gz", hash = "sha256:29171aa128da69afdf4bde412d5bedc335f2ca8fcfe4489038577d05f16181e5"}, ] [[package]] @@ -4164,13 +4105,13 @@ use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"] [[package]] name = "requests-toolbelt" -version = "0.10.1" +version = "1.0.0" description = "A utility belt for advanced users of python-requests" optional = true python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" files = [ - {file = "requests-toolbelt-0.10.1.tar.gz", hash = "sha256:62e09f7ff5ccbda92772a29f394a49c3ad6cb181d568b1337626b2abb628a63d"}, - {file = "requests_toolbelt-0.10.1-py2.py3-none-any.whl", hash = "sha256:18565aa58116d9951ac39baa288d3adb5b3ff975c4f25eee78555d89e8f247f7"}, + {file = "requests-toolbelt-1.0.0.tar.gz", hash = "sha256:7681a0a3d047012b5bdc0ee37d7f8f07ebe76ab08caeccfc3921ce23c88d5bc6"}, + {file = "requests_toolbelt-1.0.0-py2.py3-none-any.whl", hash = "sha256:cccfdd665f0a24fcf4726e690f65639d272bb0637b9b92dfd91a5568ccf6bd06"}, ] [package.dependencies] @@ -4224,110 +4165,110 @@ test = ["hypothesis (==5.19.0)", "pytest (>=6.2.5,<7)", "tox (>=2.9.1,<3)"] [[package]] name = "rpds-py" -version = "0.13.2" +version = "0.17.1" description = "Python bindings to Rust's persistent data structures (rpds)" optional = false python-versions = ">=3.8" files = [ - {file = "rpds_py-0.13.2-cp310-cp310-macosx_10_7_x86_64.whl", hash = "sha256:1ceebd0ae4f3e9b2b6b553b51971921853ae4eebf3f54086be0565d59291e53d"}, - {file = "rpds_py-0.13.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:46e1ed994a0920f350a4547a38471217eb86f57377e9314fbaaa329b71b7dfe3"}, - {file = "rpds_py-0.13.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ee353bb51f648924926ed05e0122b6a0b1ae709396a80eb583449d5d477fcdf7"}, - {file = "rpds_py-0.13.2-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:530190eb0cd778363bbb7596612ded0bb9fef662daa98e9d92a0419ab27ae914"}, - {file = "rpds_py-0.13.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:29d311e44dd16d2434d5506d57ef4d7036544fc3c25c14b6992ef41f541b10fb"}, - {file = "rpds_py-0.13.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2e72f750048b32d39e87fc85c225c50b2a6715034848dbb196bf3348aa761fa1"}, - {file = "rpds_py-0.13.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:db09b98c7540df69d4b47218da3fbd7cb466db0fb932e971c321f1c76f155266"}, - {file = "rpds_py-0.13.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2ac26f50736324beb0282c819668328d53fc38543fa61eeea2c32ea8ea6eab8d"}, - {file = "rpds_py-0.13.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:12ecf89bd54734c3c2c79898ae2021dca42750c7bcfb67f8fb3315453738ac8f"}, - {file = "rpds_py-0.13.2-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:3a44c8440183b43167fd1a0819e8356692bf5db1ad14ce140dbd40a1485f2dea"}, - {file = "rpds_py-0.13.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:bcef4f2d3dc603150421de85c916da19471f24d838c3c62a4f04c1eb511642c1"}, - {file = "rpds_py-0.13.2-cp310-none-win32.whl", hash = "sha256:ee6faebb265e28920a6f23a7d4c362414b3f4bb30607141d718b991669e49ddc"}, - {file = "rpds_py-0.13.2-cp310-none-win_amd64.whl", hash = "sha256:ac96d67b37f28e4b6ecf507c3405f52a40658c0a806dffde624a8fcb0314d5fd"}, - {file = "rpds_py-0.13.2-cp311-cp311-macosx_10_7_x86_64.whl", hash = "sha256:b5f6328e8e2ae8238fc767703ab7b95785521c42bb2b8790984e3477d7fa71ad"}, - {file = "rpds_py-0.13.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:729408136ef8d45a28ee9a7411917c9e3459cf266c7e23c2f7d4bb8ef9e0da42"}, - {file = "rpds_py-0.13.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:65cfed9c807c27dee76407e8bb29e6f4e391e436774bcc769a037ff25ad8646e"}, - {file = "rpds_py-0.13.2-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:aefbdc934115d2f9278f153952003ac52cd2650e7313750390b334518c589568"}, - {file = "rpds_py-0.13.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d48db29bd47814671afdd76c7652aefacc25cf96aad6daefa82d738ee87461e2"}, - {file = "rpds_py-0.13.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3c55d7f2d817183d43220738270efd3ce4e7a7b7cbdaefa6d551ed3d6ed89190"}, - {file = "rpds_py-0.13.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6aadae3042f8e6db3376d9e91f194c606c9a45273c170621d46128f35aef7cd0"}, - {file = "rpds_py-0.13.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:5feae2f9aa7270e2c071f488fab256d768e88e01b958f123a690f1cc3061a09c"}, - {file = "rpds_py-0.13.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:51967a67ea0d7b9b5cd86036878e2d82c0b6183616961c26d825b8c994d4f2c8"}, - {file = "rpds_py-0.13.2-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:4d0c10d803549427f427085ed7aebc39832f6e818a011dcd8785e9c6a1ba9b3e"}, - {file = "rpds_py-0.13.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:603d5868f7419081d616dab7ac3cfa285296735e7350f7b1e4f548f6f953ee7d"}, - {file = "rpds_py-0.13.2-cp311-none-win32.whl", hash = "sha256:b8996ffb60c69f677245f5abdbcc623e9442bcc91ed81b6cd6187129ad1fa3e7"}, - {file = "rpds_py-0.13.2-cp311-none-win_amd64.whl", hash = "sha256:5379e49d7e80dca9811b36894493d1c1ecb4c57de05c36f5d0dd09982af20211"}, - {file = "rpds_py-0.13.2-cp312-cp312-macosx_10_7_x86_64.whl", hash = "sha256:8a776a29b77fe0cc28fedfd87277b0d0f7aa930174b7e504d764e0b43a05f381"}, - {file = "rpds_py-0.13.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2a1472956c5bcc49fb0252b965239bffe801acc9394f8b7c1014ae9258e4572b"}, - {file = "rpds_py-0.13.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f252dfb4852a527987a9156cbcae3022a30f86c9d26f4f17b8c967d7580d65d2"}, - {file = "rpds_py-0.13.2-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:f0d320e70b6b2300ff6029e234e79fe44e9dbbfc7b98597ba28e054bd6606a57"}, - {file = "rpds_py-0.13.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ade2ccb937060c299ab0dfb2dea3d2ddf7e098ed63ee3d651ebfc2c8d1e8632a"}, - {file = "rpds_py-0.13.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b9d121be0217787a7d59a5c6195b0842d3f701007333426e5154bf72346aa658"}, - {file = "rpds_py-0.13.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8fa6bd071ec6d90f6e7baa66ae25820d57a8ab1b0a3c6d3edf1834d4b26fafa2"}, - {file = "rpds_py-0.13.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:c918621ee0a3d1fe61c313f2489464f2ae3d13633e60f520a8002a5e910982ee"}, - {file = "rpds_py-0.13.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:25b28b3d33ec0a78e944aaaed7e5e2a94ac811bcd68b557ca48a0c30f87497d2"}, - {file = "rpds_py-0.13.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:31e220a040b89a01505128c2f8a59ee74732f666439a03e65ccbf3824cdddae7"}, - {file = "rpds_py-0.13.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:15253fff410873ebf3cfba1cc686a37711efcd9b8cb30ea21bb14a973e393f60"}, - {file = "rpds_py-0.13.2-cp312-none-win32.whl", hash = "sha256:b981a370f8f41c4024c170b42fbe9e691ae2dbc19d1d99151a69e2c84a0d194d"}, - {file = "rpds_py-0.13.2-cp312-none-win_amd64.whl", hash = "sha256:4c4e314d36d4f31236a545696a480aa04ea170a0b021e9a59ab1ed94d4c3ef27"}, - {file = "rpds_py-0.13.2-cp38-cp38-macosx_10_7_x86_64.whl", hash = "sha256:80e5acb81cb49fd9f2d5c08f8b74ffff14ee73b10ca88297ab4619e946bcb1e1"}, - {file = "rpds_py-0.13.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:efe093acc43e869348f6f2224df7f452eab63a2c60a6c6cd6b50fd35c4e075ba"}, - {file = "rpds_py-0.13.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8c2a61c0e4811012b0ba9f6cdcb4437865df5d29eab5d6018ba13cee1c3064a0"}, - {file = "rpds_py-0.13.2-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:751758d9dd04d548ec679224cc00e3591f5ebf1ff159ed0d4aba6a0746352452"}, - {file = "rpds_py-0.13.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6ba8858933f0c1a979781272a5f65646fca8c18c93c99c6ddb5513ad96fa54b1"}, - {file = "rpds_py-0.13.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:bfdfbe6a36bc3059fff845d64c42f2644cf875c65f5005db54f90cdfdf1df815"}, - {file = "rpds_py-0.13.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:aa0379c1935c44053c98826bc99ac95f3a5355675a297ac9ce0dfad0ce2d50ca"}, - {file = "rpds_py-0.13.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d5593855b5b2b73dd8413c3fdfa5d95b99d657658f947ba2c4318591e745d083"}, - {file = "rpds_py-0.13.2-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:2a7bef6977043673750a88da064fd513f89505111014b4e00fbdd13329cd4e9a"}, - {file = "rpds_py-0.13.2-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:3ab96754d23372009638a402a1ed12a27711598dd49d8316a22597141962fe66"}, - {file = "rpds_py-0.13.2-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:e06cfea0ece444571d24c18ed465bc93afb8c8d8d74422eb7026662f3d3f779b"}, - {file = "rpds_py-0.13.2-cp38-none-win32.whl", hash = "sha256:5493569f861fb7b05af6d048d00d773c6162415ae521b7010197c98810a14cab"}, - {file = "rpds_py-0.13.2-cp38-none-win_amd64.whl", hash = "sha256:b07501b720cf060c5856f7b5626e75b8e353b5f98b9b354a21eb4bfa47e421b1"}, - {file = "rpds_py-0.13.2-cp39-cp39-macosx_10_7_x86_64.whl", hash = "sha256:881df98f0a8404d32b6de0fd33e91c1b90ed1516a80d4d6dc69d414b8850474c"}, - {file = "rpds_py-0.13.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:d79c159adea0f1f4617f54aa156568ac69968f9ef4d1e5fefffc0a180830308e"}, - {file = "rpds_py-0.13.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:38d4f822ee2f338febcc85aaa2547eb5ba31ba6ff68d10b8ec988929d23bb6b4"}, - {file = "rpds_py-0.13.2-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5d75d6d220d55cdced2f32cc22f599475dbe881229aeddba6c79c2e9df35a2b3"}, - {file = "rpds_py-0.13.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5d97e9ae94fb96df1ee3cb09ca376c34e8a122f36927230f4c8a97f469994bff"}, - {file = "rpds_py-0.13.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:67a429520e97621a763cf9b3ba27574779c4e96e49a27ff8a1aa99ee70beb28a"}, - {file = "rpds_py-0.13.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:188435794405c7f0573311747c85a96b63c954a5f2111b1df8018979eca0f2f0"}, - {file = "rpds_py-0.13.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:38f9bf2ad754b4a45b8210a6c732fe876b8a14e14d5992a8c4b7c1ef78740f53"}, - {file = "rpds_py-0.13.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:a6ba2cb7d676e9415b9e9ac7e2aae401dc1b1e666943d1f7bc66223d3d73467b"}, - {file = "rpds_py-0.13.2-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:eaffbd8814bb1b5dc3ea156a4c5928081ba50419f9175f4fc95269e040eff8f0"}, - {file = "rpds_py-0.13.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:5a4c1058cdae6237d97af272b326e5f78ee7ee3bbffa6b24b09db4d828810468"}, - {file = "rpds_py-0.13.2-cp39-none-win32.whl", hash = "sha256:b5267feb19070bef34b8dea27e2b504ebd9d31748e3ecacb3a4101da6fcb255c"}, - {file = "rpds_py-0.13.2-cp39-none-win_amd64.whl", hash = "sha256:ddf23960cb42b69bce13045d5bc66f18c7d53774c66c13f24cf1b9c144ba3141"}, - {file = "rpds_py-0.13.2-pp310-pypy310_pp73-macosx_10_7_x86_64.whl", hash = "sha256:97163a1ab265a1073a6372eca9f4eeb9f8c6327457a0b22ddfc4a17dcd613e74"}, - {file = "rpds_py-0.13.2-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:25ea41635d22b2eb6326f58e608550e55d01df51b8a580ea7e75396bafbb28e9"}, - {file = "rpds_py-0.13.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:76d59d4d451ba77f08cb4cd9268dec07be5bc65f73666302dbb5061989b17198"}, - {file = "rpds_py-0.13.2-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e7c564c58cf8f248fe859a4f0fe501b050663f3d7fbc342172f259124fb59933"}, - {file = "rpds_py-0.13.2-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:61dbc1e01dc0c5875da2f7ae36d6e918dc1b8d2ce04e871793976594aad8a57a"}, - {file = "rpds_py-0.13.2-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fdb82eb60d31b0c033a8e8ee9f3fc7dfbaa042211131c29da29aea8531b4f18f"}, - {file = "rpds_py-0.13.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d204957169f0b3511fb95395a9da7d4490fb361763a9f8b32b345a7fe119cb45"}, - {file = "rpds_py-0.13.2-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:c45008ca79bad237cbc03c72bc5205e8c6f66403773929b1b50f7d84ef9e4d07"}, - {file = "rpds_py-0.13.2-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:79bf58c08f0756adba691d480b5a20e4ad23f33e1ae121584cf3a21717c36dfa"}, - {file = "rpds_py-0.13.2-pp310-pypy310_pp73-musllinux_1_2_i686.whl", hash = "sha256:e86593bf8637659e6a6ed58854b6c87ec4e9e45ee8a4adfd936831cef55c2d21"}, - {file = "rpds_py-0.13.2-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:d329896c40d9e1e5c7715c98529e4a188a1f2df51212fd65102b32465612b5dc"}, - {file = "rpds_py-0.13.2-pp38-pypy38_pp73-macosx_10_7_x86_64.whl", hash = "sha256:4a5375c5fff13f209527cd886dc75394f040c7d1ecad0a2cb0627f13ebe78a12"}, - {file = "rpds_py-0.13.2-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:06d218e4464d31301e943b65b2c6919318ea6f69703a351961e1baaf60347276"}, - {file = "rpds_py-0.13.2-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c1f41d32a2ddc5a94df4b829b395916a4b7f103350fa76ba6de625fcb9e773ac"}, - {file = "rpds_py-0.13.2-pp38-pypy38_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:6bc568b05e02cd612be53900c88aaa55012e744930ba2eeb56279db4c6676eb3"}, - {file = "rpds_py-0.13.2-pp38-pypy38_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9d94d78418203904730585efa71002286ac4c8ac0689d0eb61e3c465f9e608ff"}, - {file = "rpds_py-0.13.2-pp38-pypy38_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:bed0252c85e21cf73d2d033643c945b460d6a02fc4a7d644e3b2d6f5f2956c64"}, - {file = "rpds_py-0.13.2-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:244e173bb6d8f3b2f0c4d7370a1aa341f35da3e57ffd1798e5b2917b91731fd3"}, - {file = "rpds_py-0.13.2-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:7f55cd9cf1564b7b03f238e4c017ca4794c05b01a783e9291065cb2858d86ce4"}, - {file = "rpds_py-0.13.2-pp38-pypy38_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:f03a1b3a4c03e3e0161642ac5367f08479ab29972ea0ffcd4fa18f729cd2be0a"}, - {file = "rpds_py-0.13.2-pp38-pypy38_pp73-musllinux_1_2_i686.whl", hash = "sha256:f5f4424cb87a20b016bfdc157ff48757b89d2cc426256961643d443c6c277007"}, - {file = "rpds_py-0.13.2-pp38-pypy38_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:c82bbf7e03748417c3a88c1b0b291288ce3e4887a795a3addaa7a1cfd9e7153e"}, - {file = "rpds_py-0.13.2-pp39-pypy39_pp73-macosx_10_7_x86_64.whl", hash = "sha256:c0095b8aa3e432e32d372e9a7737e65b58d5ed23b9620fea7cb81f17672f1fa1"}, - {file = "rpds_py-0.13.2-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:4c2d26aa03d877c9730bf005621c92da263523a1e99247590abbbe252ccb7824"}, - {file = "rpds_py-0.13.2-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:96f2975fb14f39c5fe75203f33dd3010fe37d1c4e33177feef1107b5ced750e3"}, - {file = "rpds_py-0.13.2-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:4dcc5ee1d0275cb78d443fdebd0241e58772a354a6d518b1d7af1580bbd2c4e8"}, - {file = "rpds_py-0.13.2-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:61d42d2b08430854485135504f672c14d4fc644dd243a9c17e7c4e0faf5ed07e"}, - {file = "rpds_py-0.13.2-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d3a61e928feddc458a55110f42f626a2a20bea942ccedb6fb4cee70b4830ed41"}, - {file = "rpds_py-0.13.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7de12b69d95072394998c622cfd7e8cea8f560db5fca6a62a148f902a1029f8b"}, - {file = "rpds_py-0.13.2-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:87a90f5545fd61f6964e65eebde4dc3fa8660bb7d87adb01d4cf17e0a2b484ad"}, - {file = "rpds_py-0.13.2-pp39-pypy39_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:9c95a1a290f9acf7a8f2ebbdd183e99215d491beea52d61aa2a7a7d2c618ddc6"}, - {file = "rpds_py-0.13.2-pp39-pypy39_pp73-musllinux_1_2_i686.whl", hash = "sha256:35f53c76a712e323c779ca39b9a81b13f219a8e3bc15f106ed1e1462d56fcfe9"}, - {file = "rpds_py-0.13.2-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:96fb0899bb2ab353f42e5374c8f0789f54e0a94ef2f02b9ac7149c56622eaf31"}, - {file = "rpds_py-0.13.2.tar.gz", hash = "sha256:f8eae66a1304de7368932b42d801c67969fd090ddb1a7a24f27b435ed4bed68f"}, + {file = "rpds_py-0.17.1-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:4128980a14ed805e1b91a7ed551250282a8ddf8201a4e9f8f5b7e6225f54170d"}, + {file = "rpds_py-0.17.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ff1dcb8e8bc2261a088821b2595ef031c91d499a0c1b031c152d43fe0a6ecec8"}, + {file = "rpds_py-0.17.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d65e6b4f1443048eb7e833c2accb4fa7ee67cc7d54f31b4f0555b474758bee55"}, + {file = "rpds_py-0.17.1-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:a71169d505af63bb4d20d23a8fbd4c6ce272e7bce6cc31f617152aa784436f29"}, + {file = "rpds_py-0.17.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:436474f17733c7dca0fbf096d36ae65277e8645039df12a0fa52445ca494729d"}, + {file = "rpds_py-0.17.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:10162fe3f5f47c37ebf6d8ff5a2368508fe22007e3077bf25b9c7d803454d921"}, + {file = "rpds_py-0.17.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:720215373a280f78a1814becb1312d4e4d1077b1202a56d2b0815e95ccb99ce9"}, + {file = "rpds_py-0.17.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:70fcc6c2906cfa5c6a552ba7ae2ce64b6c32f437d8f3f8eea49925b278a61453"}, + {file = "rpds_py-0.17.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:91e5a8200e65aaac342a791272c564dffcf1281abd635d304d6c4e6b495f29dc"}, + {file = "rpds_py-0.17.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:99f567dae93e10be2daaa896e07513dd4bf9c2ecf0576e0533ac36ba3b1d5394"}, + {file = "rpds_py-0.17.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:24e4900a6643f87058a27320f81336d527ccfe503984528edde4bb660c8c8d59"}, + {file = "rpds_py-0.17.1-cp310-none-win32.whl", hash = "sha256:0bfb09bf41fe7c51413f563373e5f537eaa653d7adc4830399d4e9bdc199959d"}, + {file = "rpds_py-0.17.1-cp310-none-win_amd64.whl", hash = "sha256:20de7b7179e2031a04042e85dc463a93a82bc177eeba5ddd13ff746325558aa6"}, + {file = "rpds_py-0.17.1-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:65dcf105c1943cba45d19207ef51b8bc46d232a381e94dd38719d52d3980015b"}, + {file = "rpds_py-0.17.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:01f58a7306b64e0a4fe042047dd2b7d411ee82e54240284bab63e325762c1147"}, + {file = "rpds_py-0.17.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:071bc28c589b86bc6351a339114fb7a029f5cddbaca34103aa573eba7b482382"}, + {file = "rpds_py-0.17.1-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ae35e8e6801c5ab071b992cb2da958eee76340e6926ec693b5ff7d6381441745"}, + {file = "rpds_py-0.17.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:149c5cd24f729e3567b56e1795f74577aa3126c14c11e457bec1b1c90d212e38"}, + {file = "rpds_py-0.17.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e796051f2070f47230c745d0a77a91088fbee2cc0502e9b796b9c6471983718c"}, + {file = "rpds_py-0.17.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:60e820ee1004327609b28db8307acc27f5f2e9a0b185b2064c5f23e815f248f8"}, + {file = "rpds_py-0.17.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1957a2ab607f9added64478a6982742eb29f109d89d065fa44e01691a20fc20a"}, + {file = "rpds_py-0.17.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:8587fd64c2a91c33cdc39d0cebdaf30e79491cc029a37fcd458ba863f8815383"}, + {file = "rpds_py-0.17.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:4dc889a9d8a34758d0fcc9ac86adb97bab3fb7f0c4d29794357eb147536483fd"}, + {file = "rpds_py-0.17.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:2953937f83820376b5979318840f3ee47477d94c17b940fe31d9458d79ae7eea"}, + {file = "rpds_py-0.17.1-cp311-none-win32.whl", hash = "sha256:1bfcad3109c1e5ba3cbe2f421614e70439f72897515a96c462ea657261b96518"}, + {file = "rpds_py-0.17.1-cp311-none-win_amd64.whl", hash = "sha256:99da0a4686ada4ed0f778120a0ea8d066de1a0a92ab0d13ae68492a437db78bf"}, + {file = "rpds_py-0.17.1-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:1dc29db3900cb1bb40353772417800f29c3d078dbc8024fd64655a04ee3c4bdf"}, + {file = "rpds_py-0.17.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:82ada4a8ed9e82e443fcef87e22a3eed3654dd3adf6e3b3a0deb70f03e86142a"}, + {file = "rpds_py-0.17.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1d36b2b59e8cc6e576f8f7b671e32f2ff43153f0ad6d0201250a7c07f25d570e"}, + {file = "rpds_py-0.17.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:3677fcca7fb728c86a78660c7fb1b07b69b281964673f486ae72860e13f512ad"}, + {file = "rpds_py-0.17.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:516fb8c77805159e97a689e2f1c80655c7658f5af601c34ffdb916605598cda2"}, + {file = "rpds_py-0.17.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:df3b6f45ba4515632c5064e35ca7f31d51d13d1479673185ba8f9fefbbed58b9"}, + {file = "rpds_py-0.17.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a967dd6afda7715d911c25a6ba1517975acd8d1092b2f326718725461a3d33f9"}, + {file = "rpds_py-0.17.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:dbbb95e6fc91ea3102505d111b327004d1c4ce98d56a4a02e82cd451f9f57140"}, + {file = "rpds_py-0.17.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:02866e060219514940342a1f84303a1ef7a1dad0ac311792fbbe19b521b489d2"}, + {file = "rpds_py-0.17.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:2528ff96d09f12e638695f3a2e0c609c7b84c6df7c5ae9bfeb9252b6fa686253"}, + {file = "rpds_py-0.17.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:bd345a13ce06e94c753dab52f8e71e5252aec1e4f8022d24d56decd31e1b9b23"}, + {file = "rpds_py-0.17.1-cp312-none-win32.whl", hash = "sha256:2a792b2e1d3038daa83fa474d559acfd6dc1e3650ee93b2662ddc17dbff20ad1"}, + {file = "rpds_py-0.17.1-cp312-none-win_amd64.whl", hash = "sha256:292f7344a3301802e7c25c53792fae7d1593cb0e50964e7bcdcc5cf533d634e3"}, + {file = "rpds_py-0.17.1-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:8ffe53e1d8ef2520ebcf0c9fec15bb721da59e8ef283b6ff3079613b1e30513d"}, + {file = "rpds_py-0.17.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:4341bd7579611cf50e7b20bb8c2e23512a3dc79de987a1f411cb458ab670eb90"}, + {file = "rpds_py-0.17.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2f4eb548daf4836e3b2c662033bfbfc551db58d30fd8fe660314f86bf8510b93"}, + {file = "rpds_py-0.17.1-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:b686f25377f9c006acbac63f61614416a6317133ab7fafe5de5f7dc8a06d42eb"}, + {file = "rpds_py-0.17.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4e21b76075c01d65d0f0f34302b5a7457d95721d5e0667aea65e5bb3ab415c25"}, + {file = "rpds_py-0.17.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b86b21b348f7e5485fae740d845c65a880f5d1eda1e063bc59bef92d1f7d0c55"}, + {file = "rpds_py-0.17.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f175e95a197f6a4059b50757a3dca33b32b61691bdbd22c29e8a8d21d3914cae"}, + {file = "rpds_py-0.17.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1701fc54460ae2e5efc1dd6350eafd7a760f516df8dbe51d4a1c79d69472fbd4"}, + {file = "rpds_py-0.17.1-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:9051e3d2af8f55b42061603e29e744724cb5f65b128a491446cc029b3e2ea896"}, + {file = "rpds_py-0.17.1-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:7450dbd659fed6dd41d1a7d47ed767e893ba402af8ae664c157c255ec6067fde"}, + {file = "rpds_py-0.17.1-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:5a024fa96d541fd7edaa0e9d904601c6445e95a729a2900c5aec6555fe921ed6"}, + {file = "rpds_py-0.17.1-cp38-none-win32.whl", hash = "sha256:da1ead63368c04a9bded7904757dfcae01eba0e0f9bc41d3d7f57ebf1c04015a"}, + {file = "rpds_py-0.17.1-cp38-none-win_amd64.whl", hash = "sha256:841320e1841bb53fada91c9725e766bb25009cfd4144e92298db296fb6c894fb"}, + {file = "rpds_py-0.17.1-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:f6c43b6f97209e370124baf2bf40bb1e8edc25311a158867eb1c3a5d449ebc7a"}, + {file = "rpds_py-0.17.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:5e7d63ec01fe7c76c2dbb7e972fece45acbb8836e72682bde138e7e039906e2c"}, + {file = "rpds_py-0.17.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:81038ff87a4e04c22e1d81f947c6ac46f122e0c80460b9006e6517c4d842a6ec"}, + {file = "rpds_py-0.17.1-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:810685321f4a304b2b55577c915bece4c4a06dfe38f6e62d9cc1d6ca8ee86b99"}, + {file = "rpds_py-0.17.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:25f071737dae674ca8937a73d0f43f5a52e92c2d178330b4c0bb6ab05586ffa6"}, + {file = "rpds_py-0.17.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:aa5bfb13f1e89151ade0eb812f7b0d7a4d643406caaad65ce1cbabe0a66d695f"}, + {file = "rpds_py-0.17.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dfe07308b311a8293a0d5ef4e61411c5c20f682db6b5e73de6c7c8824272c256"}, + {file = "rpds_py-0.17.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:a000133a90eea274a6f28adc3084643263b1e7c1a5a66eb0a0a7a36aa757ed74"}, + {file = "rpds_py-0.17.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:5d0e8a6434a3fbf77d11448c9c25b2f25244226cfbec1a5159947cac5b8c5fa4"}, + {file = "rpds_py-0.17.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:efa767c220d94aa4ac3a6dd3aeb986e9f229eaf5bce92d8b1b3018d06bed3772"}, + {file = "rpds_py-0.17.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:dbc56680ecf585a384fbd93cd42bc82668b77cb525343170a2d86dafaed2a84b"}, + {file = "rpds_py-0.17.1-cp39-none-win32.whl", hash = "sha256:270987bc22e7e5a962b1094953ae901395e8c1e1e83ad016c5cfcfff75a15a3f"}, + {file = "rpds_py-0.17.1-cp39-none-win_amd64.whl", hash = "sha256:2a7b2f2f56a16a6d62e55354dd329d929560442bd92e87397b7a9586a32e3e76"}, + {file = "rpds_py-0.17.1-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:a3264e3e858de4fc601741498215835ff324ff2482fd4e4af61b46512dd7fc83"}, + {file = "rpds_py-0.17.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:f2f3b28b40fddcb6c1f1f6c88c6f3769cd933fa493ceb79da45968a21dccc920"}, + {file = "rpds_py-0.17.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9584f8f52010295a4a417221861df9bea4c72d9632562b6e59b3c7b87a1522b7"}, + {file = "rpds_py-0.17.1-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:c64602e8be701c6cfe42064b71c84ce62ce66ddc6422c15463fd8127db3d8066"}, + {file = "rpds_py-0.17.1-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:060f412230d5f19fc8c8b75f315931b408d8ebf56aec33ef4168d1b9e54200b1"}, + {file = "rpds_py-0.17.1-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b9412abdf0ba70faa6e2ee6c0cc62a8defb772e78860cef419865917d86c7342"}, + {file = "rpds_py-0.17.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9737bdaa0ad33d34c0efc718741abaafce62fadae72c8b251df9b0c823c63b22"}, + {file = "rpds_py-0.17.1-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:9f0e4dc0f17dcea4ab9d13ac5c666b6b5337042b4d8f27e01b70fae41dd65c57"}, + {file = "rpds_py-0.17.1-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:1db228102ab9d1ff4c64148c96320d0be7044fa28bd865a9ce628ce98da5973d"}, + {file = "rpds_py-0.17.1-pp310-pypy310_pp73-musllinux_1_2_i686.whl", hash = "sha256:d8bbd8e56f3ba25a7d0cf980fc42b34028848a53a0e36c9918550e0280b9d0b6"}, + {file = "rpds_py-0.17.1-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:be22ae34d68544df293152b7e50895ba70d2a833ad9566932d750d3625918b82"}, + {file = "rpds_py-0.17.1-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:bf046179d011e6114daf12a534d874958b039342b347348a78b7cdf0dd9d6041"}, + {file = "rpds_py-0.17.1-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:1a746a6d49665058a5896000e8d9d2f1a6acba8a03b389c1e4c06e11e0b7f40d"}, + {file = "rpds_py-0.17.1-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f0b8bf5b8db49d8fd40f54772a1dcf262e8be0ad2ab0206b5a2ec109c176c0a4"}, + {file = "rpds_py-0.17.1-pp38-pypy38_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:f7f4cb1f173385e8a39c29510dd11a78bf44e360fb75610594973f5ea141028b"}, + {file = "rpds_py-0.17.1-pp38-pypy38_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7fbd70cb8b54fe745301921b0816c08b6d917593429dfc437fd024b5ba713c58"}, + {file = "rpds_py-0.17.1-pp38-pypy38_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9bdf1303df671179eaf2cb41e8515a07fc78d9d00f111eadbe3e14262f59c3d0"}, + {file = "rpds_py-0.17.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fad059a4bd14c45776600d223ec194e77db6c20255578bb5bcdd7c18fd169361"}, + {file = "rpds_py-0.17.1-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:3664d126d3388a887db44c2e293f87d500c4184ec43d5d14d2d2babdb4c64cad"}, + {file = "rpds_py-0.17.1-pp38-pypy38_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:698ea95a60c8b16b58be9d854c9f993c639f5c214cf9ba782eca53a8789d6b19"}, + {file = "rpds_py-0.17.1-pp38-pypy38_pp73-musllinux_1_2_i686.whl", hash = "sha256:c3d2010656999b63e628a3c694f23020322b4178c450dc478558a2b6ef3cb9bb"}, + {file = "rpds_py-0.17.1-pp38-pypy38_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:938eab7323a736533f015e6069a7d53ef2dcc841e4e533b782c2bfb9fb12d84b"}, + {file = "rpds_py-0.17.1-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:1e626b365293a2142a62b9a614e1f8e331b28f3ca57b9f05ebbf4cf2a0f0bdc5"}, + {file = "rpds_py-0.17.1-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:380e0df2e9d5d5d339803cfc6d183a5442ad7ab3c63c2a0982e8c824566c5ccc"}, + {file = "rpds_py-0.17.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b760a56e080a826c2e5af09002c1a037382ed21d03134eb6294812dda268c811"}, + {file = "rpds_py-0.17.1-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5576ee2f3a309d2bb403ec292d5958ce03953b0e57a11d224c1f134feaf8c40f"}, + {file = "rpds_py-0.17.1-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1f3c3461ebb4c4f1bbc70b15d20b565759f97a5aaf13af811fcefc892e9197ba"}, + {file = "rpds_py-0.17.1-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:637b802f3f069a64436d432117a7e58fab414b4e27a7e81049817ae94de45d8d"}, + {file = "rpds_py-0.17.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ffee088ea9b593cc6160518ba9bd319b5475e5f3e578e4552d63818773c6f56a"}, + {file = "rpds_py-0.17.1-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:3ac732390d529d8469b831949c78085b034bff67f584559340008d0f6041a049"}, + {file = "rpds_py-0.17.1-pp39-pypy39_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:93432e747fb07fa567ad9cc7aaadd6e29710e515aabf939dfbed8046041346c6"}, + {file = "rpds_py-0.17.1-pp39-pypy39_pp73-musllinux_1_2_i686.whl", hash = "sha256:7b7d9ca34542099b4e185b3c2a2b2eda2e318a7dbde0b0d83357a6d4421b5296"}, + {file = "rpds_py-0.17.1-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:0387ce69ba06e43df54e43968090f3626e231e4bc9150e4c3246947567695f68"}, + {file = "rpds_py-0.17.1.tar.gz", hash = "sha256:0210b2668f24c078307260bf88bdac9d6f1093635df5123789bfee4d8d7fc8e7"}, ] [[package]] @@ -4373,13 +4314,13 @@ win32 = ["pywin32"] [[package]] name = "setuptools" -version = "69.0.2" +version = "69.0.3" description = "Easily download, build, install, upgrade, and uninstall Python packages" optional = false python-versions = ">=3.8" files = [ - {file = "setuptools-69.0.2-py3-none-any.whl", hash = "sha256:1e8fdff6797d3865f37397be788a4e3cba233608e9b509382a2777d25ebde7f2"}, - {file = "setuptools-69.0.2.tar.gz", hash = "sha256:735896e78a4742605974de002ac60562d286fa8051a7e2299445e8e8fbb01aa6"}, + {file = "setuptools-69.0.3-py3-none-any.whl", hash = "sha256:385eb4edd9c9d5c17540511303e39a147ce2fc04bc55289c322b9e5904fe2c05"}, + {file = "setuptools-69.0.3.tar.gz", hash = "sha256:be1af57fc409f93647f2e8e4573a142ed38724b8cdd389706a867bb4efcf1e78"}, ] [package.extras] @@ -4560,47 +4501,50 @@ sphinx = ">=1.2" [[package]] name = "sphinxcontrib-applehelp" -version = "1.0.4" +version = "1.0.8" description = "sphinxcontrib-applehelp is a Sphinx extension which outputs Apple help books" optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" files = [ - {file = "sphinxcontrib-applehelp-1.0.4.tar.gz", hash = "sha256:828f867945bbe39817c210a1abfd1bc4895c8b73fcaade56d45357a348a07d7e"}, - {file = "sphinxcontrib_applehelp-1.0.4-py3-none-any.whl", hash = "sha256:29d341f67fb0f6f586b23ad80e072c8e6ad0b48417db2bde114a4c9746feb228"}, + {file = "sphinxcontrib_applehelp-1.0.8-py3-none-any.whl", hash = "sha256:cb61eb0ec1b61f349e5cc36b2028e9e7ca765be05e49641c97241274753067b4"}, + {file = "sphinxcontrib_applehelp-1.0.8.tar.gz", hash = "sha256:c40a4f96f3776c4393d933412053962fac2b84f4c99a7982ba42e09576a70619"}, ] [package.extras] lint = ["docutils-stubs", "flake8", "mypy"] +standalone = ["Sphinx (>=5)"] test = ["pytest"] [[package]] name = "sphinxcontrib-devhelp" -version = "1.0.2" -description = "sphinxcontrib-devhelp is a sphinx extension which outputs Devhelp document." +version = "1.0.6" +description = "sphinxcontrib-devhelp is a sphinx extension which outputs Devhelp documents" optional = false -python-versions = ">=3.5" +python-versions = ">=3.9" files = [ - {file = "sphinxcontrib-devhelp-1.0.2.tar.gz", hash = "sha256:ff7f1afa7b9642e7060379360a67e9c41e8f3121f2ce9164266f61b9f4b338e4"}, - {file = "sphinxcontrib_devhelp-1.0.2-py2.py3-none-any.whl", hash = "sha256:8165223f9a335cc1af7ffe1ed31d2871f325254c0423bc0c4c7cd1c1e4734a2e"}, + {file = "sphinxcontrib_devhelp-1.0.6-py3-none-any.whl", hash = "sha256:6485d09629944511c893fa11355bda18b742b83a2b181f9a009f7e500595c90f"}, + {file = "sphinxcontrib_devhelp-1.0.6.tar.gz", hash = "sha256:9893fd3f90506bc4b97bdb977ceb8fbd823989f4316b28c3841ec128544372d3"}, ] [package.extras] lint = ["docutils-stubs", "flake8", "mypy"] +standalone = ["Sphinx (>=5)"] test = ["pytest"] [[package]] name = "sphinxcontrib-htmlhelp" -version = "2.0.1" +version = "2.0.5" description = "sphinxcontrib-htmlhelp is a sphinx extension which renders HTML help files" optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" files = [ - {file = "sphinxcontrib-htmlhelp-2.0.1.tar.gz", hash = "sha256:0cbdd302815330058422b98a113195c9249825d681e18f11e8b1f78a2f11efff"}, - {file = "sphinxcontrib_htmlhelp-2.0.1-py3-none-any.whl", hash = "sha256:c38cb46dccf316c79de6e5515e1770414b797162b23cd3d06e67020e1d2a6903"}, + {file = "sphinxcontrib_htmlhelp-2.0.5-py3-none-any.whl", hash = "sha256:393f04f112b4d2f53d93448d4bce35842f62b307ccdc549ec1585e950bc35e04"}, + {file = "sphinxcontrib_htmlhelp-2.0.5.tar.gz", hash = "sha256:0dc87637d5de53dd5eec3a6a01753b1ccf99494bd756aafecd74b4fa9e729015"}, ] [package.extras] lint = ["docutils-stubs", "flake8", "mypy"] +standalone = ["Sphinx (>=5)"] test = ["html5lib", "pytest"] [[package]] @@ -4633,32 +4577,34 @@ test = ["flake8", "mypy", "pytest"] [[package]] name = "sphinxcontrib-qthelp" -version = "1.0.3" -description = "sphinxcontrib-qthelp is a sphinx extension which outputs QtHelp document." +version = "1.0.7" +description = "sphinxcontrib-qthelp is a sphinx extension which outputs QtHelp documents" optional = false -python-versions = ">=3.5" +python-versions = ">=3.9" files = [ - {file = "sphinxcontrib-qthelp-1.0.3.tar.gz", hash = "sha256:4c33767ee058b70dba89a6fc5c1892c0d57a54be67ddd3e7875a18d14cba5a72"}, - {file = "sphinxcontrib_qthelp-1.0.3-py2.py3-none-any.whl", hash = "sha256:bd9fc24bcb748a8d51fd4ecaade681350aa63009a347a8c14e637895444dfab6"}, + {file = "sphinxcontrib_qthelp-1.0.7-py3-none-any.whl", hash = "sha256:e2ae3b5c492d58fcbd73281fbd27e34b8393ec34a073c792642cd8e529288182"}, + {file = "sphinxcontrib_qthelp-1.0.7.tar.gz", hash = "sha256:053dedc38823a80a7209a80860b16b722e9e0209e32fea98c90e4e6624588ed6"}, ] [package.extras] lint = ["docutils-stubs", "flake8", "mypy"] +standalone = ["Sphinx (>=5)"] test = ["pytest"] [[package]] name = "sphinxcontrib-serializinghtml" -version = "1.1.5" -description = "sphinxcontrib-serializinghtml is a sphinx extension which outputs \"serialized\" HTML files (json and pickle)." +version = "1.1.10" +description = "sphinxcontrib-serializinghtml is a sphinx extension which outputs \"serialized\" HTML files (json and pickle)" optional = false -python-versions = ">=3.5" +python-versions = ">=3.9" files = [ - {file = "sphinxcontrib-serializinghtml-1.1.5.tar.gz", hash = "sha256:aa5f6de5dfdf809ef505c4895e51ef5c9eac17d0f287933eb49ec495280b6952"}, - {file = "sphinxcontrib_serializinghtml-1.1.5-py2.py3-none-any.whl", hash = "sha256:352a9a00ae864471d3a7ead8d7d79f5fc0b57e8b3f95e9867eb9eb28999b92fd"}, + {file = "sphinxcontrib_serializinghtml-1.1.10-py3-none-any.whl", hash = "sha256:326369b8df80a7d2d8d7f99aa5ac577f51ea51556ed974e7716cfd4fca3f6cb7"}, + {file = "sphinxcontrib_serializinghtml-1.1.10.tar.gz", hash = "sha256:93f3f5dc458b91b192fe10c397e324f262cf163d79f3282c158e8436a2c4511f"}, ] [package.extras] lint = ["docutils-stubs", "flake8", "mypy"] +standalone = ["Sphinx (>=5)"] test = ["pytest"] [[package]] @@ -4715,6 +4661,23 @@ docs = ["myst-parser", "pydata-sphinx-theme", "sphinx"] test = ["pre-commit", "pytest (>=7.0)", "pytest-timeout"] typing = ["mypy (>=1.6,<2.0)", "traitlets (>=5.11.1)"] +[[package]] +name = "terms-of-service" +version = "0.1.0" +description = "Solidity Terms of Service acceptance manager" +optional = false +python-versions = "^3.10" +files = [] +develop = true + +[package.dependencies] +setuptools = "^69.0.3" +web3 = "*" + +[package.source] +type = "directory" +url = "contracts/terms-of-service" + [[package]] name = "tinycss2" version = "1.2.1" @@ -4811,13 +4774,13 @@ tqdm = ">4.64" [[package]] name = "traitlets" -version = "5.14.0" +version = "5.14.1" description = "Traitlets Python configuration system" optional = false python-versions = ">=3.8" files = [ - {file = "traitlets-5.14.0-py3-none-any.whl", hash = "sha256:f14949d23829023013c47df20b4a76ccd1a85effb786dc060f34de7948361b33"}, - {file = "traitlets-5.14.0.tar.gz", hash = "sha256:fcdaa8ac49c04dfa0ed3ee3384ef6dfdb5d6f3741502be247279407679296772"}, + {file = "traitlets-5.14.1-py3-none-any.whl", hash = "sha256:2e5a030e6eff91737c643231bfcf04a65b0132078dad75e4936700b213652e74"}, + {file = "traitlets-5.14.1.tar.gz", hash = "sha256:8585105b371a04b8316a43d5ce29c098575c2e477850b62b848b964f1444527e"}, ] [package.extras] @@ -4849,105 +4812,109 @@ test = ["hypothesis (>=6.56.4,<7)", "pycryptodome", "pytest (>=7.0.0)", "pytest- [[package]] name = "types-python-dateutil" -version = "2.8.19.14" +version = "2.8.19.20240106" description = "Typing stubs for python-dateutil" optional = true -python-versions = "*" +python-versions = ">=3.8" files = [ - {file = "types-python-dateutil-2.8.19.14.tar.gz", hash = "sha256:1f4f10ac98bb8b16ade9dbee3518d9ace017821d94b057a425b069f834737f4b"}, - {file = "types_python_dateutil-2.8.19.14-py3-none-any.whl", hash = "sha256:f977b8de27787639986b4e28963263fd0e5158942b3ecef91b9335c130cb1ce9"}, + {file = "types-python-dateutil-2.8.19.20240106.tar.gz", hash = "sha256:1f8db221c3b98e6ca02ea83a58371b22c374f42ae5bbdf186db9c9a76581459f"}, + {file = "types_python_dateutil-2.8.19.20240106-py3-none-any.whl", hash = "sha256:efbbdc54590d0f16152fa103c9879c7d4a00e82078f6e2cf01769042165acaa2"}, ] [[package]] name = "typing-extensions" -version = "4.8.0" +version = "4.9.0" description = "Backported and Experimental Type Hints for Python 3.8+" optional = false python-versions = ">=3.8" files = [ - {file = "typing_extensions-4.8.0-py3-none-any.whl", hash = "sha256:8f92fc8806f9a6b641eaa5318da32b44d401efaac0f6678c9bc448ba3605faa0"}, - {file = "typing_extensions-4.8.0.tar.gz", hash = "sha256:df8e4339e9cb77357558cbdbceca33c303714cf861d1eef15e1070055ae8b7ef"}, + {file = "typing_extensions-4.9.0-py3-none-any.whl", hash = "sha256:af72aea155e91adfc61c3ae9e0e342dbc0cba726d6cba4b6c72c1f34e47291cd"}, + {file = "typing_extensions-4.9.0.tar.gz", hash = "sha256:23478f88c37f27d76ac8aee6c905017a143b0b1b886c3c9f66bc2fd94f9f5783"}, ] [[package]] name = "tzdata" -version = "2023.3" +version = "2023.4" description = "Provider of IANA time zone data" optional = true python-versions = ">=2" files = [ - {file = "tzdata-2023.3-py2.py3-none-any.whl", hash = "sha256:7e65763eef3120314099b6939b5546db7adce1e7d6f2e179e3df563c70511eda"}, - {file = "tzdata-2023.3.tar.gz", hash = "sha256:11ef1e08e54acb0d4f95bdb1be05da659673de4acbd21bf9c69e94cc5e907a3a"}, + {file = "tzdata-2023.4-py2.py3-none-any.whl", hash = "sha256:aa3ace4329eeacda5b7beb7ea08ece826c28d761cda36e747cfbf97996d39bf3"}, + {file = "tzdata-2023.4.tar.gz", hash = "sha256:dd54c94f294765522c77399649b4fefd95522479a664a0cec87f41bebc6148c9"}, ] [[package]] name = "ujson" -version = "5.8.0" +version = "5.9.0" description = "Ultra fast JSON encoder and decoder for Python" optional = false python-versions = ">=3.8" files = [ - {file = "ujson-5.8.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:f4511560d75b15ecb367eef561554959b9d49b6ec3b8d5634212f9fed74a6df1"}, - {file = "ujson-5.8.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9399eaa5d1931a0ead49dce3ffacbea63f3177978588b956036bfe53cdf6af75"}, - {file = "ujson-5.8.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c4e7bb7eba0e1963f8b768f9c458ecb193e5bf6977090182e2b4f4408f35ac76"}, - {file = "ujson-5.8.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:40931d7c08c4ce99adc4b409ddb1bbb01635a950e81239c2382cfe24251b127a"}, - {file = "ujson-5.8.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d53039d39de65360e924b511c7ca1a67b0975c34c015dd468fca492b11caa8f7"}, - {file = "ujson-5.8.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:bdf04c6af3852161be9613e458a1fb67327910391de8ffedb8332e60800147a2"}, - {file = "ujson-5.8.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:a70f776bda2e5072a086c02792c7863ba5833d565189e09fabbd04c8b4c3abba"}, - {file = "ujson-5.8.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:f26629ac531d712f93192c233a74888bc8b8212558bd7d04c349125f10199fcf"}, - {file = "ujson-5.8.0-cp310-cp310-win32.whl", hash = "sha256:7ecc33b107ae88405aebdb8d82c13d6944be2331ebb04399134c03171509371a"}, - {file = "ujson-5.8.0-cp310-cp310-win_amd64.whl", hash = "sha256:3b27a8da7a080add559a3b73ec9ebd52e82cc4419f7c6fb7266e62439a055ed0"}, - {file = "ujson-5.8.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:193349a998cd821483a25f5df30b44e8f495423840ee11b3b28df092ddfd0f7f"}, - {file = "ujson-5.8.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:4ddeabbc78b2aed531f167d1e70387b151900bc856d61e9325fcdfefb2a51ad8"}, - {file = "ujson-5.8.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5ce24909a9c25062e60653073dd6d5e6ec9d6ad7ed6e0069450d5b673c854405"}, - {file = "ujson-5.8.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:27a2a3c7620ebe43641e926a1062bc04e92dbe90d3501687957d71b4bdddaec4"}, - {file = "ujson-5.8.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2b852bdf920fe9f84e2a2c210cc45f1b64f763b4f7d01468b33f7791698e455e"}, - {file = "ujson-5.8.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:20768961a6a706170497129960762ded9c89fb1c10db2989c56956b162e2a8a3"}, - {file = "ujson-5.8.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:e0147d41e9fb5cd174207c4a2895c5e24813204499fd0839951d4c8784a23bf5"}, - {file = "ujson-5.8.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:e3673053b036fd161ae7a5a33358ccae6793ee89fd499000204676baafd7b3aa"}, - {file = "ujson-5.8.0-cp311-cp311-win32.whl", hash = "sha256:a89cf3cd8bf33a37600431b7024a7ccf499db25f9f0b332947fbc79043aad879"}, - {file = "ujson-5.8.0-cp311-cp311-win_amd64.whl", hash = "sha256:3659deec9ab9eb19e8646932bfe6fe22730757c4addbe9d7d5544e879dc1b721"}, - {file = "ujson-5.8.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:102bf31c56f59538cccdfec45649780ae00657e86247c07edac434cb14d5388c"}, - {file = "ujson-5.8.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:299a312c3e85edee1178cb6453645217ba23b4e3186412677fa48e9a7f986de6"}, - {file = "ujson-5.8.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f2e385a7679b9088d7bc43a64811a7713cc7c33d032d020f757c54e7d41931ae"}, - {file = "ujson-5.8.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ad24ec130855d4430a682c7a60ca0bc158f8253ec81feed4073801f6b6cb681b"}, - {file = "ujson-5.8.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:16fde596d5e45bdf0d7de615346a102510ac8c405098e5595625015b0d4b5296"}, - {file = "ujson-5.8.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:6d230d870d1ce03df915e694dcfa3f4e8714369cce2346686dbe0bc8e3f135e7"}, - {file = "ujson-5.8.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:9571de0c53db5cbc265945e08f093f093af2c5a11e14772c72d8e37fceeedd08"}, - {file = "ujson-5.8.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:7cba16b26efe774c096a5e822e4f27097b7c81ed6fb5264a2b3f5fd8784bab30"}, - {file = "ujson-5.8.0-cp312-cp312-win32.whl", hash = "sha256:48c7d373ff22366eecfa36a52b9b55b0ee5bd44c2b50e16084aa88b9de038916"}, - {file = "ujson-5.8.0-cp312-cp312-win_amd64.whl", hash = "sha256:5ac97b1e182d81cf395ded620528c59f4177eee024b4b39a50cdd7b720fdeec6"}, - {file = "ujson-5.8.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:2a64cc32bb4a436e5813b83f5aab0889927e5ea1788bf99b930fad853c5625cb"}, - {file = "ujson-5.8.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:e54578fa8838ddc722539a752adfce9372474114f8c127bb316db5392d942f8b"}, - {file = "ujson-5.8.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9721cd112b5e4687cb4ade12a7b8af8b048d4991227ae8066d9c4b3a6642a582"}, - {file = "ujson-5.8.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9d9707e5aacf63fb919f6237d6490c4e0244c7f8d3dc2a0f84d7dec5db7cb54c"}, - {file = "ujson-5.8.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0be81bae295f65a6896b0c9030b55a106fb2dec69ef877253a87bc7c9c5308f7"}, - {file = "ujson-5.8.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:ae7f4725c344bf437e9b881019c558416fe84ad9c6b67426416c131ad577df67"}, - {file = "ujson-5.8.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:9ab282d67ef3097105552bf151438b551cc4bedb3f24d80fada830f2e132aeb9"}, - {file = "ujson-5.8.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:94c7bd9880fa33fcf7f6d7f4cc032e2371adee3c5dba2922b918987141d1bf07"}, - {file = "ujson-5.8.0-cp38-cp38-win32.whl", hash = "sha256:bf5737dbcfe0fa0ac8fa599eceafae86b376492c8f1e4b84e3adf765f03fb564"}, - {file = "ujson-5.8.0-cp38-cp38-win_amd64.whl", hash = "sha256:11da6bed916f9bfacf13f4fc6a9594abd62b2bb115acfb17a77b0f03bee4cfd5"}, - {file = "ujson-5.8.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:69b3104a2603bab510497ceabc186ba40fef38ec731c0ccaa662e01ff94a985c"}, - {file = "ujson-5.8.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:9249fdefeb021e00b46025e77feed89cd91ffe9b3a49415239103fc1d5d9c29a"}, - {file = "ujson-5.8.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2873d196725a8193f56dde527b322c4bc79ed97cd60f1d087826ac3290cf9207"}, - {file = "ujson-5.8.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6a4dafa9010c366589f55afb0fd67084acd8added1a51251008f9ff2c3e44042"}, - {file = "ujson-5.8.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7a42baa647a50fa8bed53d4e242be61023bd37b93577f27f90ffe521ac9dc7a3"}, - {file = "ujson-5.8.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:f3554eaadffe416c6f543af442066afa6549edbc34fe6a7719818c3e72ebfe95"}, - {file = "ujson-5.8.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:fb87decf38cc82bcdea1d7511e73629e651bdec3a43ab40985167ab8449b769c"}, - {file = "ujson-5.8.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:407d60eb942c318482bbfb1e66be093308bb11617d41c613e33b4ce5be789adc"}, - {file = "ujson-5.8.0-cp39-cp39-win32.whl", hash = "sha256:0fe1b7edaf560ca6ab023f81cbeaf9946a240876a993b8c5a21a1c539171d903"}, - {file = "ujson-5.8.0-cp39-cp39-win_amd64.whl", hash = "sha256:3f9b63530a5392eb687baff3989d0fb5f45194ae5b1ca8276282fb647f8dcdb3"}, - {file = "ujson-5.8.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:efeddf950fb15a832376c0c01d8d7713479fbeceaed1eaecb2665aa62c305aec"}, - {file = "ujson-5.8.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7d8283ac5d03e65f488530c43d6610134309085b71db4f675e9cf5dff96a8282"}, - {file = "ujson-5.8.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eb0142f6f10f57598655340a3b2c70ed4646cbe674191da195eb0985a9813b83"}, - {file = "ujson-5.8.0-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:07d459aca895eb17eb463b00441986b021b9312c6c8cc1d06880925c7f51009c"}, - {file = "ujson-5.8.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:d524a8c15cfc863705991d70bbec998456a42c405c291d0f84a74ad7f35c5109"}, - {file = "ujson-5.8.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:d6f84a7a175c75beecde53a624881ff618e9433045a69fcfb5e154b73cdaa377"}, - {file = "ujson-5.8.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b748797131ac7b29826d1524db1cc366d2722ab7afacc2ce1287cdafccddbf1f"}, - {file = "ujson-5.8.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2e72ba76313d48a1a3a42e7dc9d1db32ea93fac782ad8dde6f8b13e35c229130"}, - {file = "ujson-5.8.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f504117a39cb98abba4153bf0b46b4954cc5d62f6351a14660201500ba31fe7f"}, - {file = "ujson-5.8.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:a8c91b6f4bf23f274af9002b128d133b735141e867109487d17e344d38b87d94"}, - {file = "ujson-5.8.0.tar.gz", hash = "sha256:78e318def4ade898a461b3d92a79f9441e7e0e4d2ad5419abed4336d702c7425"}, + {file = "ujson-5.9.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:ab71bf27b002eaf7d047c54a68e60230fbd5cd9da60de7ca0aa87d0bccead8fa"}, + {file = "ujson-5.9.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:7a365eac66f5aa7a7fdf57e5066ada6226700884fc7dce2ba5483538bc16c8c5"}, + {file = "ujson-5.9.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e015122b337858dba5a3dc3533af2a8fc0410ee9e2374092f6a5b88b182e9fcc"}, + {file = "ujson-5.9.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:779a2a88c53039bebfbccca934430dabb5c62cc179e09a9c27a322023f363e0d"}, + {file = "ujson-5.9.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:10ca3c41e80509fd9805f7c149068fa8dbee18872bbdc03d7cca928926a358d5"}, + {file = "ujson-5.9.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:4a566e465cb2fcfdf040c2447b7dd9718799d0d90134b37a20dff1e27c0e9096"}, + {file = "ujson-5.9.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:f833c529e922577226a05bc25b6a8b3eb6c4fb155b72dd88d33de99d53113124"}, + {file = "ujson-5.9.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:b68a0caab33f359b4cbbc10065c88e3758c9f73a11a65a91f024b2e7a1257106"}, + {file = "ujson-5.9.0-cp310-cp310-win32.whl", hash = "sha256:7cc7e605d2aa6ae6b7321c3ae250d2e050f06082e71ab1a4200b4ae64d25863c"}, + {file = "ujson-5.9.0-cp310-cp310-win_amd64.whl", hash = "sha256:a6d3f10eb8ccba4316a6b5465b705ed70a06011c6f82418b59278fbc919bef6f"}, + {file = "ujson-5.9.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3b23bbb46334ce51ddb5dded60c662fbf7bb74a37b8f87221c5b0fec1ec6454b"}, + {file = "ujson-5.9.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:6974b3a7c17bbf829e6c3bfdc5823c67922e44ff169851a755eab79a3dd31ec0"}, + {file = "ujson-5.9.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b5964ea916edfe24af1f4cc68488448fbb1ec27a3ddcddc2b236da575c12c8ae"}, + {file = "ujson-5.9.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8ba7cac47dd65ff88571eceeff48bf30ed5eb9c67b34b88cb22869b7aa19600d"}, + {file = "ujson-5.9.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6bbd91a151a8f3358c29355a491e915eb203f607267a25e6ab10531b3b157c5e"}, + {file = "ujson-5.9.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:829a69d451a49c0de14a9fecb2a2d544a9b2c884c2b542adb243b683a6f15908"}, + {file = "ujson-5.9.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:a807ae73c46ad5db161a7e883eec0fbe1bebc6a54890152ccc63072c4884823b"}, + {file = "ujson-5.9.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:8fc2aa18b13d97b3c8ccecdf1a3c405f411a6e96adeee94233058c44ff92617d"}, + {file = "ujson-5.9.0-cp311-cp311-win32.whl", hash = "sha256:70e06849dfeb2548be48fdd3ceb53300640bc8100c379d6e19d78045e9c26120"}, + {file = "ujson-5.9.0-cp311-cp311-win_amd64.whl", hash = "sha256:7309d063cd392811acc49b5016728a5e1b46ab9907d321ebbe1c2156bc3c0b99"}, + {file = "ujson-5.9.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:20509a8c9f775b3a511e308bbe0b72897ba6b800767a7c90c5cca59d20d7c42c"}, + {file = "ujson-5.9.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:b28407cfe315bd1b34f1ebe65d3bd735d6b36d409b334100be8cdffae2177b2f"}, + {file = "ujson-5.9.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9d302bd17989b6bd90d49bade66943c78f9e3670407dbc53ebcf61271cadc399"}, + {file = "ujson-5.9.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9f21315f51e0db8ee245e33a649dd2d9dce0594522de6f278d62f15f998e050e"}, + {file = "ujson-5.9.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5635b78b636a54a86fdbf6f027e461aa6c6b948363bdf8d4fbb56a42b7388320"}, + {file = "ujson-5.9.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:82b5a56609f1235d72835ee109163c7041b30920d70fe7dac9176c64df87c164"}, + {file = "ujson-5.9.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:5ca35f484622fd208f55041b042d9d94f3b2c9c5add4e9af5ee9946d2d30db01"}, + {file = "ujson-5.9.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:829b824953ebad76d46e4ae709e940bb229e8999e40881338b3cc94c771b876c"}, + {file = "ujson-5.9.0-cp312-cp312-win32.whl", hash = "sha256:25fa46e4ff0a2deecbcf7100af3a5d70090b461906f2299506485ff31d9ec437"}, + {file = "ujson-5.9.0-cp312-cp312-win_amd64.whl", hash = "sha256:60718f1720a61560618eff3b56fd517d107518d3c0160ca7a5a66ac949c6cf1c"}, + {file = "ujson-5.9.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:d581db9db9e41d8ea0b2705c90518ba623cbdc74f8d644d7eb0d107be0d85d9c"}, + {file = "ujson-5.9.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:ff741a5b4be2d08fceaab681c9d4bc89abf3c9db600ab435e20b9b6d4dfef12e"}, + {file = "ujson-5.9.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cdcb02cabcb1e44381221840a7af04433c1dc3297af76fde924a50c3054c708c"}, + {file = "ujson-5.9.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e208d3bf02c6963e6ef7324dadf1d73239fb7008491fdf523208f60be6437402"}, + {file = "ujson-5.9.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f4b3917296630a075e04d3d07601ce2a176479c23af838b6cf90a2d6b39b0d95"}, + {file = "ujson-5.9.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:0c4d6adb2c7bb9eb7c71ad6f6f612e13b264942e841f8cc3314a21a289a76c4e"}, + {file = "ujson-5.9.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:0b159efece9ab5c01f70b9d10bbb77241ce111a45bc8d21a44c219a2aec8ddfd"}, + {file = "ujson-5.9.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:f0cb4a7814940ddd6619bdce6be637a4b37a8c4760de9373bac54bb7b229698b"}, + {file = "ujson-5.9.0-cp38-cp38-win32.whl", hash = "sha256:dc80f0f5abf33bd7099f7ac94ab1206730a3c0a2d17549911ed2cb6b7aa36d2d"}, + {file = "ujson-5.9.0-cp38-cp38-win_amd64.whl", hash = "sha256:506a45e5fcbb2d46f1a51fead991c39529fc3737c0f5d47c9b4a1d762578fc30"}, + {file = "ujson-5.9.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:d0fd2eba664a22447102062814bd13e63c6130540222c0aa620701dd01f4be81"}, + {file = "ujson-5.9.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:bdf7fc21a03bafe4ba208dafa84ae38e04e5d36c0e1c746726edf5392e9f9f36"}, + {file = "ujson-5.9.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e2f909bc08ce01f122fd9c24bc6f9876aa087188dfaf3c4116fe6e4daf7e194f"}, + {file = "ujson-5.9.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bd4ea86c2afd41429751d22a3ccd03311c067bd6aeee2d054f83f97e41e11d8f"}, + {file = "ujson-5.9.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:63fb2e6599d96fdffdb553af0ed3f76b85fda63281063f1cb5b1141a6fcd0617"}, + {file = "ujson-5.9.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:32bba5870c8fa2a97f4a68f6401038d3f1922e66c34280d710af00b14a3ca562"}, + {file = "ujson-5.9.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:37ef92e42535a81bf72179d0e252c9af42a4ed966dc6be6967ebfb929a87bc60"}, + {file = "ujson-5.9.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:f69f16b8f1c69da00e38dc5f2d08a86b0e781d0ad3e4cc6a13ea033a439c4844"}, + {file = "ujson-5.9.0-cp39-cp39-win32.whl", hash = "sha256:3382a3ce0ccc0558b1c1668950008cece9bf463ebb17463ebf6a8bfc060dae34"}, + {file = "ujson-5.9.0-cp39-cp39-win_amd64.whl", hash = "sha256:6adef377ed583477cf005b58c3025051b5faa6b8cc25876e594afbb772578f21"}, + {file = "ujson-5.9.0-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:ffdfebd819f492e48e4f31c97cb593b9c1a8251933d8f8972e81697f00326ff1"}, + {file = "ujson-5.9.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c4eec2ddc046360d087cf35659c7ba0cbd101f32035e19047013162274e71fcf"}, + {file = "ujson-5.9.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2fbb90aa5c23cb3d4b803c12aa220d26778c31b6e4b7a13a1f49971f6c7d088e"}, + {file = "ujson-5.9.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ba0823cb70866f0d6a4ad48d998dd338dce7314598721bc1b7986d054d782dfd"}, + {file = "ujson-5.9.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:4e35d7885ed612feb6b3dd1b7de28e89baaba4011ecdf995e88be9ac614765e9"}, + {file = "ujson-5.9.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:b048aa93eace8571eedbd67b3766623e7f0acbf08ee291bef7d8106210432427"}, + {file = "ujson-5.9.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:323279e68c195110ef85cbe5edce885219e3d4a48705448720ad925d88c9f851"}, + {file = "ujson-5.9.0-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9ac92d86ff34296f881e12aa955f7014d276895e0e4e868ba7fddebbde38e378"}, + {file = "ujson-5.9.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:6eecbd09b316cea1fd929b1e25f70382917542ab11b692cb46ec9b0a26c7427f"}, + {file = "ujson-5.9.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:473fb8dff1d58f49912323d7cb0859df5585cfc932e4b9c053bf8cf7f2d7c5c4"}, + {file = "ujson-5.9.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f91719c6abafe429c1a144cfe27883eace9fb1c09a9c5ef1bcb3ae80a3076a4e"}, + {file = "ujson-5.9.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7b1c0991c4fe256f5fdb19758f7eac7f47caac29a6c57d0de16a19048eb86bad"}, + {file = "ujson-5.9.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2a8ea0f55a1396708e564595aaa6696c0d8af532340f477162ff6927ecc46e21"}, + {file = "ujson-5.9.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:07e0cfdde5fd91f54cd2d7ffb3482c8ff1bf558abf32a8b953a5d169575ae1cd"}, + {file = "ujson-5.9.0.tar.gz", hash = "sha256:89cc92e73d5501b8a7f48575eeb14ad27156ad092c2e9fc7e3cf949f07e75532"}, ] [[package]] @@ -4980,36 +4947,26 @@ brotli = ["brotli (==1.0.9)", "brotli (>=1.0.9)", "brotlicffi (>=0.8.0)", "brotl secure = ["certifi", "cryptography (>=1.3.4)", "idna (>=2.0.0)", "ipaddress", "pyOpenSSL (>=0.14)", "urllib3-secure-extra"] socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"] -[[package]] -name = "varint" -version = "1.0.2" -description = "Simple python varint implementation" -optional = false -python-versions = "*" -files = [ - {file = "varint-1.0.2.tar.gz", hash = "sha256:a6ecc02377ac5ee9d65a6a8ad45c9ff1dac8ccee19400a5950fb51d594214ca5"}, -] - [[package]] name = "wcwidth" -version = "0.2.12" +version = "0.2.13" description = "Measures the displayed width of unicode strings in a terminal" optional = false python-versions = "*" files = [ - {file = "wcwidth-0.2.12-py2.py3-none-any.whl", hash = "sha256:f26ec43d96c8cbfed76a5075dac87680124fa84e0855195a6184da9c187f133c"}, - {file = "wcwidth-0.2.12.tar.gz", hash = "sha256:f01c104efdf57971bcb756f054dd58ddec5204dd15fa31d6503ea57947d97c02"}, + {file = "wcwidth-0.2.13-py2.py3-none-any.whl", hash = "sha256:3da69048e4540d84af32131829ff948f1e022c1c6bdb8d6102117aac784f6859"}, + {file = "wcwidth-0.2.13.tar.gz", hash = "sha256:72ea0c06399eb286d978fdedb6923a9eb47e1c486ce63e9b4e64fc18303972b5"}, ] [[package]] name = "web3" -version = "6.11.3" +version = "6.14.0" description = "web3.py" optional = false python-versions = ">=3.7.2" files = [ - {file = "web3-6.11.3-py3-none-any.whl", hash = "sha256:2b8e44961ba216e63f4846f3f130745bf431d42e6371109542706335b141d27a"}, - {file = "web3-6.11.3.tar.gz", hash = "sha256:f9bec9d2339bf649fe25293435a5c897a4b035aa96d6c33670ed467acf59dbe7"}, + {file = "web3-6.14.0-py3-none-any.whl", hash = "sha256:e7023669ea05d6c9675d25e14342638da25d9b1a512d8a6472b860ed97914aec"}, + {file = "web3-6.14.0.tar.gz", hash = "sha256:a3726289da9eff2ce30f9b1b49ec59e9245216f7aecbfa2007f73dbe94999717"}, ] [package.dependencies] @@ -5032,7 +4989,7 @@ typing-extensions = ">=4.0.1" websockets = ">=10.0.0" [package.extras] -dev = ["black (>=22.1.0)", "build (>=0.9.0)", "bumpversion", "eth-tester[py-evm] (==v0.9.1-b.1)", "flake8 (==3.8.3)", "flaky (>=3.7.0)", "hypothesis (>=3.31.2)", "importlib-metadata (<5.0)", "ipfshttpclient (==0.8.0a2)", "isort (>=5.11.0)", "mypy (==1.4.1)", "py-geth (>=3.11.0)", "pytest (>=7.0.0)", "pytest-asyncio (>=0.18.1)", "pytest-mock (>=1.10)", "pytest-watch (>=4.2)", "pytest-xdist (>=1.29)", "setuptools (>=38.6.0)", "sphinx (>=5.3.0)", "sphinx-rtd-theme (>=1.0.0)", "towncrier (>=21,<22)", "tox (>=3.18.0)", "tqdm (>4.32)", "twine (>=1.13)", "types-protobuf (==3.19.13)", "types-requests (>=2.26.1)", "types-setuptools (>=57.4.4)", "when-changed (>=0.3.0)"] +dev = ["black (>=22.1.0)", "build (>=0.9.0)", "bumpversion", "eth-tester[py-evm] (==v0.9.1-b.1)", "flake8 (==3.8.3)", "flaky (>=3.7.0)", "hypothesis (>=3.31.2)", "importlib-metadata (<5.0)", "ipfshttpclient (==0.8.0a2)", "isort (>=5.11.0)", "mypy (==1.4.1)", "py-geth (>=3.11.0)", "pytest (>=7.0.0)", "pytest-asyncio (>=0.18.1,<0.23)", "pytest-mock (>=1.10)", "pytest-watch (>=4.2)", "pytest-xdist (>=1.29)", "setuptools (>=38.6.0)", "sphinx (>=5.3.0)", "sphinx-rtd-theme (>=1.0.0)", "towncrier (>=21,<22)", "tox (>=3.18.0)", "tqdm (>4.32)", "twine (>=1.13)", "types-protobuf (==3.19.13)", "types-requests (>=2.26.1)", "types-setuptools (>=57.4.4)", "when-changed (>=0.3.0)"] docs = ["sphinx (>=5.3.0)", "sphinx-rtd-theme (>=1.0.0)", "towncrier (>=21,<22)"] ipfs = ["ipfshttpclient (==0.8.0a2)"] linter = ["black (>=22.1.0)", "flake8 (==3.8.3)", "isort (>=5.11.0)", "mypy (==1.4.1)", "types-protobuf (==3.19.13)", "types-requests (>=2.26.1)", "types-setuptools (>=57.4.4)"] @@ -5066,13 +5023,13 @@ files = [ [[package]] name = "websocket-client" -version = "1.6.4" +version = "1.7.0" description = "WebSocket client for Python with low level API options" optional = true python-versions = ">=3.8" files = [ - {file = "websocket-client-1.6.4.tar.gz", hash = "sha256:b3324019b3c28572086c4a319f91d1dcd44e6e11cd340232978c684a7650d0df"}, - {file = "websocket_client-1.6.4-py3-none-any.whl", hash = "sha256:084072e0a7f5f347ef2ac3d8698a5e0b4ffbfcab607628cadabc650fc9a83a24"}, + {file = "websocket-client-1.7.0.tar.gz", hash = "sha256:10e511ea3a8c744631d3bd77e61eb17ed09304c413ad42cf6ddfa4c7787e8fe6"}, + {file = "websocket_client-1.7.0-py3-none-any.whl", hash = "sha256:f4c3d22fec12a2461427a29957ff07d35098ee2d976d3ba244e688b8b4057588"}, ] [package.extras] @@ -5174,101 +5131,101 @@ files = [ [[package]] name = "yarl" -version = "1.9.3" +version = "1.9.4" description = "Yet another URL library" optional = false python-versions = ">=3.7" files = [ - {file = "yarl-1.9.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:32435d134414e01d937cd9d6cc56e8413a8d4741dea36af5840c7750f04d16ab"}, - {file = "yarl-1.9.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:9a5211de242754b5e612557bca701f39f8b1a9408dff73c6db623f22d20f470e"}, - {file = "yarl-1.9.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:525cd69eff44833b01f8ef39aa33a9cc53a99ff7f9d76a6ef6a9fb758f54d0ff"}, - {file = "yarl-1.9.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fc94441bcf9cb8c59f51f23193316afefbf3ff858460cb47b5758bf66a14d130"}, - {file = "yarl-1.9.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e36021db54b8a0475805acc1d6c4bca5d9f52c3825ad29ae2d398a9d530ddb88"}, - {file = "yarl-1.9.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e0f17d1df951336a02afc8270c03c0c6e60d1f9996fcbd43a4ce6be81de0bd9d"}, - {file = "yarl-1.9.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c5f3faeb8100a43adf3e7925d556801d14b5816a0ac9e75e22948e787feec642"}, - {file = "yarl-1.9.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:aed37db837ecb5962469fad448aaae0f0ee94ffce2062cf2eb9aed13328b5196"}, - {file = "yarl-1.9.3-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:721ee3fc292f0d069a04016ef2c3a25595d48c5b8ddc6029be46f6158d129c92"}, - {file = "yarl-1.9.3-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:b8bc5b87a65a4e64bc83385c05145ea901b613d0d3a434d434b55511b6ab0067"}, - {file = "yarl-1.9.3-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:dd952b9c64f3b21aedd09b8fe958e4931864dba69926d8a90c90d36ac4e28c9a"}, - {file = "yarl-1.9.3-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:c405d482c320a88ab53dcbd98d6d6f32ada074f2d965d6e9bf2d823158fa97de"}, - {file = "yarl-1.9.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:9df9a0d4c5624790a0dea2e02e3b1b3c69aed14bcb8650e19606d9df3719e87d"}, - {file = "yarl-1.9.3-cp310-cp310-win32.whl", hash = "sha256:d34c4f80956227f2686ddea5b3585e109c2733e2d4ef12eb1b8b4e84f09a2ab6"}, - {file = "yarl-1.9.3-cp310-cp310-win_amd64.whl", hash = "sha256:cf7a4e8de7f1092829caef66fd90eaf3710bc5efd322a816d5677b7664893c93"}, - {file = "yarl-1.9.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:d61a0ca95503867d4d627517bcfdc28a8468c3f1b0b06c626f30dd759d3999fd"}, - {file = "yarl-1.9.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:73cc83f918b69110813a7d95024266072d987b903a623ecae673d1e71579d566"}, - {file = "yarl-1.9.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:d81657b23e0edb84b37167e98aefb04ae16cbc5352770057893bd222cdc6e45f"}, - {file = "yarl-1.9.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:26a1a8443091c7fbc17b84a0d9f38de34b8423b459fb853e6c8cdfab0eacf613"}, - {file = "yarl-1.9.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fe34befb8c765b8ce562f0200afda3578f8abb159c76de3ab354c80b72244c41"}, - {file = "yarl-1.9.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2c757f64afe53a422e45e3e399e1e3cf82b7a2f244796ce80d8ca53e16a49b9f"}, - {file = "yarl-1.9.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:72a57b41a0920b9a220125081c1e191b88a4cdec13bf9d0649e382a822705c65"}, - {file = "yarl-1.9.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:632c7aeb99df718765adf58eacb9acb9cbc555e075da849c1378ef4d18bf536a"}, - {file = "yarl-1.9.3-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:b0b8c06afcf2bac5a50b37f64efbde978b7f9dc88842ce9729c020dc71fae4ce"}, - {file = "yarl-1.9.3-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:1d93461e2cf76c4796355494f15ffcb50a3c198cc2d601ad8d6a96219a10c363"}, - {file = "yarl-1.9.3-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:4003f380dac50328c85e85416aca6985536812c082387255c35292cb4b41707e"}, - {file = "yarl-1.9.3-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:4d6d74a97e898c1c2df80339aa423234ad9ea2052f66366cef1e80448798c13d"}, - {file = "yarl-1.9.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:b61e64b06c3640feab73fa4ff9cb64bd8182de52e5dc13038e01cfe674ebc321"}, - {file = "yarl-1.9.3-cp311-cp311-win32.whl", hash = "sha256:29beac86f33d6c7ab1d79bd0213aa7aed2d2f555386856bb3056d5fdd9dab279"}, - {file = "yarl-1.9.3-cp311-cp311-win_amd64.whl", hash = "sha256:f7271d6bd8838c49ba8ae647fc06469137e1c161a7ef97d778b72904d9b68696"}, - {file = "yarl-1.9.3-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:dd318e6b75ca80bff0b22b302f83a8ee41c62b8ac662ddb49f67ec97e799885d"}, - {file = "yarl-1.9.3-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:c4b1efb11a8acd13246ffb0bee888dd0e8eb057f8bf30112e3e21e421eb82d4a"}, - {file = "yarl-1.9.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:c6f034386e5550b5dc8ded90b5e2ff7db21f0f5c7de37b6efc5dac046eb19c10"}, - {file = "yarl-1.9.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cd49a908cb6d387fc26acee8b7d9fcc9bbf8e1aca890c0b2fdfd706057546080"}, - {file = "yarl-1.9.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:aa4643635f26052401750bd54db911b6342eb1a9ac3e74f0f8b58a25d61dfe41"}, - {file = "yarl-1.9.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e741bd48e6a417bdfbae02e088f60018286d6c141639359fb8df017a3b69415a"}, - {file = "yarl-1.9.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7c86d0d0919952d05df880a1889a4f0aeb6868e98961c090e335671dea5c0361"}, - {file = "yarl-1.9.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3d5434b34100b504aabae75f0622ebb85defffe7b64ad8f52b8b30ec6ef6e4b9"}, - {file = "yarl-1.9.3-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:79e1df60f7c2b148722fb6cafebffe1acd95fd8b5fd77795f56247edaf326752"}, - {file = "yarl-1.9.3-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:44e91a669c43f03964f672c5a234ae0d7a4d49c9b85d1baa93dec28afa28ffbd"}, - {file = "yarl-1.9.3-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:3cfa4dbe17b2e6fca1414e9c3bcc216f6930cb18ea7646e7d0d52792ac196808"}, - {file = "yarl-1.9.3-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:88d2c3cc4b2f46d1ba73d81c51ec0e486f59cc51165ea4f789677f91a303a9a7"}, - {file = "yarl-1.9.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:cccdc02e46d2bd7cb5f38f8cc3d9db0d24951abd082b2f242c9e9f59c0ab2af3"}, - {file = "yarl-1.9.3-cp312-cp312-win32.whl", hash = "sha256:96758e56dceb8a70f8a5cff1e452daaeff07d1cc9f11e9b0c951330f0a2396a7"}, - {file = "yarl-1.9.3-cp312-cp312-win_amd64.whl", hash = "sha256:c4472fe53ebf541113e533971bd8c32728debc4c6d8cc177f2bff31d011ec17e"}, - {file = "yarl-1.9.3-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:126638ab961633f0940a06e1c9d59919003ef212a15869708dcb7305f91a6732"}, - {file = "yarl-1.9.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c99ddaddb2fbe04953b84d1651149a0d85214780e4d0ee824e610ab549d98d92"}, - {file = "yarl-1.9.3-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8dab30b21bd6fb17c3f4684868c7e6a9e8468078db00f599fb1c14e324b10fca"}, - {file = "yarl-1.9.3-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:828235a2a169160ee73a2fcfb8a000709edf09d7511fccf203465c3d5acc59e4"}, - {file = "yarl-1.9.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fc391e3941045fd0987c77484b2799adffd08e4b6735c4ee5f054366a2e1551d"}, - {file = "yarl-1.9.3-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:51382c72dd5377861b573bd55dcf680df54cea84147c8648b15ac507fbef984d"}, - {file = "yarl-1.9.3-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:28a108cb92ce6cf867690a962372996ca332d8cda0210c5ad487fe996e76b8bb"}, - {file = "yarl-1.9.3-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:8f18a7832ff85dfcd77871fe677b169b1bc60c021978c90c3bb14f727596e0ae"}, - {file = "yarl-1.9.3-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:7eaf13af79950142ab2bbb8362f8d8d935be9aaf8df1df89c86c3231e4ff238a"}, - {file = "yarl-1.9.3-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:66a6dbf6ca7d2db03cc61cafe1ee6be838ce0fbc97781881a22a58a7c5efef42"}, - {file = "yarl-1.9.3-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:1a0a4f3aaa18580038cfa52a7183c8ffbbe7d727fe581300817efc1e96d1b0e9"}, - {file = "yarl-1.9.3-cp37-cp37m-win32.whl", hash = "sha256:946db4511b2d815979d733ac6a961f47e20a29c297be0d55b6d4b77ee4b298f6"}, - {file = "yarl-1.9.3-cp37-cp37m-win_amd64.whl", hash = "sha256:2dad8166d41ebd1f76ce107cf6a31e39801aee3844a54a90af23278b072f1ccf"}, - {file = "yarl-1.9.3-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:bb72d2a94481e7dc7a0c522673db288f31849800d6ce2435317376a345728225"}, - {file = "yarl-1.9.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:9a172c3d5447b7da1680a1a2d6ecdf6f87a319d21d52729f45ec938a7006d5d8"}, - {file = "yarl-1.9.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:2dc72e891672343b99db6d497024bf8b985537ad6c393359dc5227ef653b2f17"}, - {file = "yarl-1.9.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b8d51817cf4b8d545963ec65ff06c1b92e5765aa98831678d0e2240b6e9fd281"}, - {file = "yarl-1.9.3-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:53ec65f7eee8655bebb1f6f1607760d123c3c115a324b443df4f916383482a67"}, - {file = "yarl-1.9.3-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cfd77e8e5cafba3fb584e0f4b935a59216f352b73d4987be3af51f43a862c403"}, - {file = "yarl-1.9.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e73db54c967eb75037c178a54445c5a4e7461b5203b27c45ef656a81787c0c1b"}, - {file = "yarl-1.9.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:09c19e5f4404574fcfb736efecf75844ffe8610606f3fccc35a1515b8b6712c4"}, - {file = "yarl-1.9.3-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:6280353940f7e5e2efaaabd686193e61351e966cc02f401761c4d87f48c89ea4"}, - {file = "yarl-1.9.3-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:c25ec06e4241e162f5d1f57c370f4078797ade95c9208bd0c60f484834f09c96"}, - {file = "yarl-1.9.3-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:7217234b10c64b52cc39a8d82550342ae2e45be34f5bff02b890b8c452eb48d7"}, - {file = "yarl-1.9.3-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:4ce77d289f8d40905c054b63f29851ecbfd026ef4ba5c371a158cfe6f623663e"}, - {file = "yarl-1.9.3-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:5f74b015c99a5eac5ae589de27a1201418a5d9d460e89ccb3366015c6153e60a"}, - {file = "yarl-1.9.3-cp38-cp38-win32.whl", hash = "sha256:8a2538806be846ea25e90c28786136932ec385c7ff3bc1148e45125984783dc6"}, - {file = "yarl-1.9.3-cp38-cp38-win_amd64.whl", hash = "sha256:6465d36381af057d0fab4e0f24ef0e80ba61f03fe43e6eeccbe0056e74aadc70"}, - {file = "yarl-1.9.3-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:2f3c8822bc8fb4a347a192dd6a28a25d7f0ea3262e826d7d4ef9cc99cd06d07e"}, - {file = "yarl-1.9.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:b7831566595fe88ba17ea80e4b61c0eb599f84c85acaa14bf04dd90319a45b90"}, - {file = "yarl-1.9.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ff34cb09a332832d1cf38acd0f604c068665192c6107a439a92abfd8acf90fe2"}, - {file = "yarl-1.9.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fe8080b4f25dfc44a86bedd14bc4f9d469dfc6456e6f3c5d9077e81a5fedfba7"}, - {file = "yarl-1.9.3-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8535e111a064f3bdd94c0ed443105934d6f005adad68dd13ce50a488a0ad1bf3"}, - {file = "yarl-1.9.3-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0d155a092bf0ebf4a9f6f3b7a650dc5d9a5bbb585ef83a52ed36ba46f55cc39d"}, - {file = "yarl-1.9.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:778df71c8d0c8c9f1b378624b26431ca80041660d7be7c3f724b2c7a6e65d0d6"}, - {file = "yarl-1.9.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b9f9cafaf031c34d95c1528c16b2fa07b710e6056b3c4e2e34e9317072da5d1a"}, - {file = "yarl-1.9.3-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:ca6b66f69e30f6e180d52f14d91ac854b8119553b524e0e28d5291a724f0f423"}, - {file = "yarl-1.9.3-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:e0e7e83f31e23c5d00ff618045ddc5e916f9e613d33c5a5823bc0b0a0feb522f"}, - {file = "yarl-1.9.3-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:af52725c7c39b0ee655befbbab5b9a1b209e01bb39128dce0db226a10014aacc"}, - {file = "yarl-1.9.3-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:0ab5baaea8450f4a3e241ef17e3d129b2143e38a685036b075976b9c415ea3eb"}, - {file = "yarl-1.9.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:6d350388ba1129bc867c6af1cd17da2b197dff0d2801036d2d7d83c2d771a682"}, - {file = "yarl-1.9.3-cp39-cp39-win32.whl", hash = "sha256:e2a16ef5fa2382af83bef4a18c1b3bcb4284c4732906aa69422cf09df9c59f1f"}, - {file = "yarl-1.9.3-cp39-cp39-win_amd64.whl", hash = "sha256:d92d897cb4b4bf915fbeb5e604c7911021a8456f0964f3b8ebbe7f9188b9eabb"}, - {file = "yarl-1.9.3-py3-none-any.whl", hash = "sha256:271d63396460b6607b588555ea27a1a02b717ca2e3f2cf53bdde4013d7790929"}, - {file = "yarl-1.9.3.tar.gz", hash = "sha256:4a14907b597ec55740f63e52d7fee0e9ee09d5b9d57a4f399a7423268e457b57"}, + {file = "yarl-1.9.4-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a8c1df72eb746f4136fe9a2e72b0c9dc1da1cbd23b5372f94b5820ff8ae30e0e"}, + {file = "yarl-1.9.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:a3a6ed1d525bfb91b3fc9b690c5a21bb52de28c018530ad85093cc488bee2dd2"}, + {file = "yarl-1.9.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c38c9ddb6103ceae4e4498f9c08fac9b590c5c71b0370f98714768e22ac6fa66"}, + {file = "yarl-1.9.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d9e09c9d74f4566e905a0b8fa668c58109f7624db96a2171f21747abc7524234"}, + {file = "yarl-1.9.4-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b8477c1ee4bd47c57d49621a062121c3023609f7a13b8a46953eb6c9716ca392"}, + {file = "yarl-1.9.4-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d5ff2c858f5f6a42c2a8e751100f237c5e869cbde669a724f2062d4c4ef93551"}, + {file = "yarl-1.9.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:357495293086c5b6d34ca9616a43d329317feab7917518bc97a08f9e55648455"}, + {file = "yarl-1.9.4-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:54525ae423d7b7a8ee81ba189f131054defdb122cde31ff17477951464c1691c"}, + {file = "yarl-1.9.4-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:801e9264d19643548651b9db361ce3287176671fb0117f96b5ac0ee1c3530d53"}, + {file = "yarl-1.9.4-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:e516dc8baf7b380e6c1c26792610230f37147bb754d6426462ab115a02944385"}, + {file = "yarl-1.9.4-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:7d5aaac37d19b2904bb9dfe12cdb08c8443e7ba7d2852894ad448d4b8f442863"}, + {file = "yarl-1.9.4-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:54beabb809ffcacbd9d28ac57b0db46e42a6e341a030293fb3185c409e626b8b"}, + {file = "yarl-1.9.4-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:bac8d525a8dbc2a1507ec731d2867025d11ceadcb4dd421423a5d42c56818541"}, + {file = "yarl-1.9.4-cp310-cp310-win32.whl", hash = "sha256:7855426dfbddac81896b6e533ebefc0af2f132d4a47340cee6d22cac7190022d"}, + {file = "yarl-1.9.4-cp310-cp310-win_amd64.whl", hash = "sha256:848cd2a1df56ddbffeb375535fb62c9d1645dde33ca4d51341378b3f5954429b"}, + {file = "yarl-1.9.4-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:35a2b9396879ce32754bd457d31a51ff0a9d426fd9e0e3c33394bf4b9036b099"}, + {file = "yarl-1.9.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:4c7d56b293cc071e82532f70adcbd8b61909eec973ae9d2d1f9b233f3d943f2c"}, + {file = "yarl-1.9.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:d8a1c6c0be645c745a081c192e747c5de06e944a0d21245f4cf7c05e457c36e0"}, + {file = "yarl-1.9.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4b3c1ffe10069f655ea2d731808e76e0f452fc6c749bea04781daf18e6039525"}, + {file = "yarl-1.9.4-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:549d19c84c55d11687ddbd47eeb348a89df9cb30e1993f1b128f4685cd0ebbf8"}, + {file = "yarl-1.9.4-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a7409f968456111140c1c95301cadf071bd30a81cbd7ab829169fb9e3d72eae9"}, + {file = "yarl-1.9.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e23a6d84d9d1738dbc6e38167776107e63307dfc8ad108e580548d1f2c587f42"}, + {file = "yarl-1.9.4-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d8b889777de69897406c9fb0b76cdf2fd0f31267861ae7501d93003d55f54fbe"}, + {file = "yarl-1.9.4-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:03caa9507d3d3c83bca08650678e25364e1843b484f19986a527630ca376ecce"}, + {file = "yarl-1.9.4-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:4e9035df8d0880b2f1c7f5031f33f69e071dfe72ee9310cfc76f7b605958ceb9"}, + {file = "yarl-1.9.4-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:c0ec0ed476f77db9fb29bca17f0a8fcc7bc97ad4c6c1d8959c507decb22e8572"}, + {file = "yarl-1.9.4-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:ee04010f26d5102399bd17f8df8bc38dc7ccd7701dc77f4a68c5b8d733406958"}, + {file = "yarl-1.9.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:49a180c2e0743d5d6e0b4d1a9e5f633c62eca3f8a86ba5dd3c471060e352ca98"}, + {file = "yarl-1.9.4-cp311-cp311-win32.whl", hash = "sha256:81eb57278deb6098a5b62e88ad8281b2ba09f2f1147c4767522353eaa6260b31"}, + {file = "yarl-1.9.4-cp311-cp311-win_amd64.whl", hash = "sha256:d1d2532b340b692880261c15aee4dc94dd22ca5d61b9db9a8a361953d36410b1"}, + {file = "yarl-1.9.4-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:0d2454f0aef65ea81037759be5ca9947539667eecebca092733b2eb43c965a81"}, + {file = "yarl-1.9.4-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:44d8ffbb9c06e5a7f529f38f53eda23e50d1ed33c6c869e01481d3fafa6b8142"}, + {file = "yarl-1.9.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:aaaea1e536f98754a6e5c56091baa1b6ce2f2700cc4a00b0d49eca8dea471074"}, + {file = "yarl-1.9.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3777ce5536d17989c91696db1d459574e9a9bd37660ea7ee4d3344579bb6f129"}, + {file = "yarl-1.9.4-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9fc5fc1eeb029757349ad26bbc5880557389a03fa6ada41703db5e068881e5f2"}, + {file = "yarl-1.9.4-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ea65804b5dc88dacd4a40279af0cdadcfe74b3e5b4c897aa0d81cf86927fee78"}, + {file = "yarl-1.9.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:aa102d6d280a5455ad6a0f9e6d769989638718e938a6a0a2ff3f4a7ff8c62cc4"}, + {file = "yarl-1.9.4-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:09efe4615ada057ba2d30df871d2f668af661e971dfeedf0c159927d48bbeff0"}, + {file = "yarl-1.9.4-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:008d3e808d03ef28542372d01057fd09168419cdc8f848efe2804f894ae03e51"}, + {file = "yarl-1.9.4-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:6f5cb257bc2ec58f437da2b37a8cd48f666db96d47b8a3115c29f316313654ff"}, + {file = "yarl-1.9.4-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:992f18e0ea248ee03b5a6e8b3b4738850ae7dbb172cc41c966462801cbf62cf7"}, + {file = "yarl-1.9.4-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:0e9d124c191d5b881060a9e5060627694c3bdd1fe24c5eecc8d5d7d0eb6faabc"}, + {file = "yarl-1.9.4-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:3986b6f41ad22988e53d5778f91855dc0399b043fc8946d4f2e68af22ee9ff10"}, + {file = "yarl-1.9.4-cp312-cp312-win32.whl", hash = "sha256:4b21516d181cd77ebd06ce160ef8cc2a5e9ad35fb1c5930882baff5ac865eee7"}, + {file = "yarl-1.9.4-cp312-cp312-win_amd64.whl", hash = "sha256:a9bd00dc3bc395a662900f33f74feb3e757429e545d831eef5bb280252631984"}, + {file = "yarl-1.9.4-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:63b20738b5aac74e239622d2fe30df4fca4942a86e31bf47a81a0e94c14df94f"}, + {file = "yarl-1.9.4-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d7d7f7de27b8944f1fee2c26a88b4dabc2409d2fea7a9ed3df79b67277644e17"}, + {file = "yarl-1.9.4-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c74018551e31269d56fab81a728f683667e7c28c04e807ba08f8c9e3bba32f14"}, + {file = "yarl-1.9.4-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ca06675212f94e7a610e85ca36948bb8fc023e458dd6c63ef71abfd482481aa5"}, + {file = "yarl-1.9.4-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5aef935237d60a51a62b86249839b51345f47564208c6ee615ed2a40878dccdd"}, + {file = "yarl-1.9.4-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2b134fd795e2322b7684155b7855cc99409d10b2e408056db2b93b51a52accc7"}, + {file = "yarl-1.9.4-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:d25039a474c4c72a5ad4b52495056f843a7ff07b632c1b92ea9043a3d9950f6e"}, + {file = "yarl-1.9.4-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:f7d6b36dd2e029b6bcb8a13cf19664c7b8e19ab3a58e0fefbb5b8461447ed5ec"}, + {file = "yarl-1.9.4-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:957b4774373cf6f709359e5c8c4a0af9f6d7875db657adb0feaf8d6cb3c3964c"}, + {file = "yarl-1.9.4-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:d7eeb6d22331e2fd42fce928a81c697c9ee2d51400bd1a28803965883e13cead"}, + {file = "yarl-1.9.4-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:6a962e04b8f91f8c4e5917e518d17958e3bdee71fd1d8b88cdce74dd0ebbf434"}, + {file = "yarl-1.9.4-cp37-cp37m-win32.whl", hash = "sha256:f3bc6af6e2b8f92eced34ef6a96ffb248e863af20ef4fde9448cc8c9b858b749"}, + {file = "yarl-1.9.4-cp37-cp37m-win_amd64.whl", hash = "sha256:ad4d7a90a92e528aadf4965d685c17dacff3df282db1121136c382dc0b6014d2"}, + {file = "yarl-1.9.4-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:ec61d826d80fc293ed46c9dd26995921e3a82146feacd952ef0757236fc137be"}, + {file = "yarl-1.9.4-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:8be9e837ea9113676e5754b43b940b50cce76d9ed7d2461df1af39a8ee674d9f"}, + {file = "yarl-1.9.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:bef596fdaa8f26e3d66af846bbe77057237cb6e8efff8cd7cc8dff9a62278bbf"}, + {file = "yarl-1.9.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2d47552b6e52c3319fede1b60b3de120fe83bde9b7bddad11a69fb0af7db32f1"}, + {file = "yarl-1.9.4-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:84fc30f71689d7fc9168b92788abc977dc8cefa806909565fc2951d02f6b7d57"}, + {file = "yarl-1.9.4-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4aa9741085f635934f3a2583e16fcf62ba835719a8b2b28fb2917bb0537c1dfa"}, + {file = "yarl-1.9.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:206a55215e6d05dbc6c98ce598a59e6fbd0c493e2de4ea6cc2f4934d5a18d130"}, + {file = "yarl-1.9.4-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:07574b007ee20e5c375a8fe4a0789fad26db905f9813be0f9fef5a68080de559"}, + {file = "yarl-1.9.4-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:5a2e2433eb9344a163aced6a5f6c9222c0786e5a9e9cac2c89f0b28433f56e23"}, + {file = "yarl-1.9.4-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:6ad6d10ed9b67a382b45f29ea028f92d25bc0bc1daf6c5b801b90b5aa70fb9ec"}, + {file = "yarl-1.9.4-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:6fe79f998a4052d79e1c30eeb7d6c1c1056ad33300f682465e1b4e9b5a188b78"}, + {file = "yarl-1.9.4-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:a825ec844298c791fd28ed14ed1bffc56a98d15b8c58a20e0e08c1f5f2bea1be"}, + {file = "yarl-1.9.4-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:8619d6915b3b0b34420cf9b2bb6d81ef59d984cb0fde7544e9ece32b4b3043c3"}, + {file = "yarl-1.9.4-cp38-cp38-win32.whl", hash = "sha256:686a0c2f85f83463272ddffd4deb5e591c98aac1897d65e92319f729c320eece"}, + {file = "yarl-1.9.4-cp38-cp38-win_amd64.whl", hash = "sha256:a00862fb23195b6b8322f7d781b0dc1d82cb3bcac346d1e38689370cc1cc398b"}, + {file = "yarl-1.9.4-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:604f31d97fa493083ea21bd9b92c419012531c4e17ea6da0f65cacdcf5d0bd27"}, + {file = "yarl-1.9.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:8a854227cf581330ffa2c4824d96e52ee621dd571078a252c25e3a3b3d94a1b1"}, + {file = "yarl-1.9.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ba6f52cbc7809cd8d74604cce9c14868306ae4aa0282016b641c661f981a6e91"}, + {file = "yarl-1.9.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a6327976c7c2f4ee6816eff196e25385ccc02cb81427952414a64811037bbc8b"}, + {file = "yarl-1.9.4-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8397a3817d7dcdd14bb266283cd1d6fc7264a48c186b986f32e86d86d35fbac5"}, + {file = "yarl-1.9.4-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e0381b4ce23ff92f8170080c97678040fc5b08da85e9e292292aba67fdac6c34"}, + {file = "yarl-1.9.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:23d32a2594cb5d565d358a92e151315d1b2268bc10f4610d098f96b147370136"}, + {file = "yarl-1.9.4-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ddb2a5c08a4eaaba605340fdee8fc08e406c56617566d9643ad8bf6852778fc7"}, + {file = "yarl-1.9.4-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:26a1dc6285e03f3cc9e839a2da83bcbf31dcb0d004c72d0730e755b33466c30e"}, + {file = "yarl-1.9.4-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:18580f672e44ce1238b82f7fb87d727c4a131f3a9d33a5e0e82b793362bf18b4"}, + {file = "yarl-1.9.4-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:29e0f83f37610f173eb7e7b5562dd71467993495e568e708d99e9d1944f561ec"}, + {file = "yarl-1.9.4-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:1f23e4fe1e8794f74b6027d7cf19dc25f8b63af1483d91d595d4a07eca1fb26c"}, + {file = "yarl-1.9.4-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:db8e58b9d79200c76956cefd14d5c90af54416ff5353c5bfd7cbe58818e26ef0"}, + {file = "yarl-1.9.4-cp39-cp39-win32.whl", hash = "sha256:c7224cab95645c7ab53791022ae77a4509472613e839dab722a72abe5a684575"}, + {file = "yarl-1.9.4-cp39-cp39-win_amd64.whl", hash = "sha256:824d6c50492add5da9374875ce72db7a0733b29c2394890aef23d533106e2b15"}, + {file = "yarl-1.9.4-py3-none-any.whl", hash = "sha256:928cecb0ef9d5a7946eb6ff58417ad2fe9375762382f1bf5c55e61645f2c43ad"}, + {file = "yarl-1.9.4.tar.gz", hash = "sha256:566db86717cf8080b99b58b083b773a908ae40f06681e87e589a976faf8246bf"}, ] [package.dependencies] @@ -5299,5 +5256,5 @@ test = ["pytest-xdist"] [metadata] lock-version = "2.0" -python-versions = ">=3.10,<=3.12" -content-hash = "e103134ea571689c861d4a33c862caf100fde97e5de5124b635b9f87b9fd0e92" +python-versions = ">=3.10,<3.13" +content-hash = "b8ebc1e6f595b2ccb06b7add7f31923ebee2a26dc93644a8d084233ee52bd8c9" diff --git a/pyproject.toml b/pyproject.toml index 3041e8f7..c2d0f8ab 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -26,6 +26,7 @@ Sponsor = "https://tradingstrategy.ai" [tool.poetry.dependencies] python = ">=3.10,<3.13" +terms-of-service = {path = "contracts/terms-of-service", develop = true} Sphinx = {version = "^4.5.0", optional = true} sphinx-rtd-theme = {version = "^1.0.0", optional = true} sphinx-sitemap = {version = "^2.2.0", optional = true} @@ -37,7 +38,7 @@ futureproof = "^0.3.1" setuptools = {version = "^69.0.2"} eth-bloom = "^2.0.0" evm-trace = "^0.1.0a17" -web3 = {version = "6.11.3", extras = ["tester"]} +web3 = {version = "6.14.0", extras = ["tester"]} tqdm-loggable = ">=0.1.3" sigfig = "^1.3.2" tqdm = {version = ">=4.66.1", optional = true} @@ -52,6 +53,7 @@ pyarrow = {version = "*", optional = true} zope-dottedname = {version = "^6.0", optional = true} pytest-xdist = {version = "^3.3.1", optional = true} + # https://github.com/apache/arrow/pull/35412 # Last checked 2023-07, still broken urllib3 = "<2" @@ -84,6 +86,12 @@ build-backend = "poetry.core.masonry.api" [tool.pytest.ini_options] addopts = "--capture=no" +# Do not let pytest to crawl into contracts/ subprojects +# that contain tests and are independent from us +# https://stackoverflow.com/a/58306308/315168 +norecursedirs="contracts/*" + + # We hate arbitrary line lengths [tool.black] line-length = 999 diff --git a/scripts/clean-enzyme-abi.sh b/scripts/clean-enzyme-abi.sh new file mode 100755 index 00000000..13cfa3f8 --- /dev/null +++ b/scripts/clean-enzyme-abi.sh @@ -0,0 +1,9 @@ +#!/bin/bash +# +# Clean Enzyme from AST data, because otherwise our package upload to PyPi would be too large. +# +# Called from Makefile. +# +# Had to move this to shell scripts, as Makefile one liner stopped working, maybe a shell incompatibility issue. +# +for abi_file in eth_defi/abi/enzyme/*.json ; do cat <<< $(jq 'del(.ast)' $abi_file) > $abi_file ; done \ No newline at end of file diff --git a/tests/enzyme/conftest.py b/tests/enzyme/conftest.py index ae095af1..8a7909b8 100644 --- a/tests/enzyme/conftest.py +++ b/tests/enzyme/conftest.py @@ -19,10 +19,10 @@ from eth_defi.chain import install_chain_middleware from eth_defi.deploy import deploy_contract from eth_defi.provider.multi_provider import create_multi_provider_web3 -from eth_defi.token import create_token +from eth_defi.token import create_token, TokenDetails, fetch_erc20_details from eth_defi.trace import assert_transaction_success_with_explanation from eth_defi.uniswap_v2.deployment import deploy_uniswap_v2_like, UniswapV2Deployment, deploy_trading_pair - +from eth_defi.usdc.deployment import deploy_fiat_token logger = logging.getLogger(__name__) @@ -127,15 +127,32 @@ def weth(uniswap_v2): @pytest.fixture() -def usdc(web3, deployer) -> Contract: - """Mock USDC token. +def usdc_token(web3, deployer) -> TokenDetails: + return deploy_fiat_token(web3, deployer) - All initial start goes to `deployer` - """ - token = create_token(web3, deployer, "USD Coin", "USDC", 100_000_000 * 10**6, decimals=6) + +@pytest.fixture() +def usdc(usdc_token) -> Contract: + return usdc_token.contract + + +@pytest.fixture() +def weth_token(web3, weth) -> TokenDetails: + return fetch_erc20_details(web3, weth.address) + + +@pytest.fixture() +def mln(web3, deployer) -> Contract: + """Mock MLN token.""" + token = create_token(web3, deployer, "Melon", "MLN", 5_000_000 * 10**18) return token +@pytest.fixture() +def mln_token(web3, mln) -> TokenDetails: + return fetch_erc20_details(web3, mln.address) + + @pytest.fixture() def weth_usdc_pair(web3, deployer, uniswap_v2, usdc, weth) -> Contract: """Create Uniswap v2 pool for WETH-USDC. @@ -159,10 +176,19 @@ def weth_usdc_pair(web3, deployer, uniswap_v2, usdc, weth) -> Contract: @pytest.fixture() -def mln(web3, deployer) -> Contract: - """Mock MLN token.""" - token = create_token(web3, deployer, "Melon", "MLN", 5_000_000 * 10**18) - return token +def mln_usdc_pair(web3, deployer, uniswap_v2, usdc, mln) -> Contract: + """mln-usd for 200k USD at $200 per token""" + deposit = 200_000 # USD + pair = deploy_trading_pair( + web3, + deployer, + uniswap_v2, + usdc, + mln, + deposit * 10**6, + (deposit // 200) * 10**18, + ) + return pair @pytest.fixture() @@ -195,3 +221,19 @@ def usdc_usd_mock_chainlink_aggregator(web3, deployer) -> Contract: tx_hash = aggregator.functions.setValue(1 * 10**8).transact({"from": deployer}) assert_transaction_success_with_explanation(web3, tx_hash) return aggregator + + +@pytest.fixture() +def mln_usd_mock_chainlink_aggregator(web3, deployer) -> Contract: + """Fake ETH/USDC Chainlink price feed. + + Start with 1 ETH = 1600 USD. + """ + aggregator = deploy_contract( + web3, + "MockChainlinkAggregator.json", + deployer, + ) + tx_hash = aggregator.functions.setValue(200 * 10**8).transact({"from": deployer}) + assert_transaction_success_with_explanation(web3, tx_hash) + return aggregator diff --git a/tests/enzyme/test_guard_enzyme_uniswap_v2.py b/tests/enzyme/test_guard_enzyme_uniswap_v2.py new file mode 100644 index 00000000..acea1977 --- /dev/null +++ b/tests/enzyme/test_guard_enzyme_uniswap_v2.py @@ -0,0 +1,427 @@ +"""Enzyme integration tests for guard, + +- Check Uniswap v2 access rights + +- Check some negative cases for unauthroised transactions +""" +import datetime +import random + +from eth_defi.abi import get_deployed_contract +from eth_defi.enzyme.erc20 import prepare_transfer, prepare_approve +from eth_defi.enzyme.uniswap_v2 import prepare_swap +from eth_defi.uniswap_v2.deployment import UniswapV2Deployment +from terms_of_service.acceptance_message import get_signing_hash, generate_acceptance_message, sign_terms_of_service + +"""Enzyme USDC EIP-3009 payment forwarder. + +- transferWithAuthorization() and receiveWithAuthorization() integration tests for Enzyme protocol +""" +import flaky +import pytest +from eth_account import Account +from eth_account.signers.local import LocalAccount +from eth_typing import HexAddress, ChecksumAddress +from web3 import Web3 +from web3.contract import Contract + +from eth_defi.deploy import deploy_contract +from eth_defi.enzyme.deployment import EnzymeDeployment, RateAsset +from eth_defi.enzyme.vault import Vault +from eth_defi.middleware import construct_sign_and_send_raw_middleware_anvil +from eth_defi.token import TokenDetails +from eth_defi.trace import assert_transaction_success_with_explanation, TransactionAssertionError +from eth_defi.usdc.deployment import deploy_fiat_token +from eth_defi.usdc.eip_3009 import make_eip_3009_transfer, EIP3009AuthorizationType + + +@pytest.fixture +def vault_owner(web3, deployer) -> Account: + return web3.eth.accounts[1] + + +@pytest.fixture +def asset_manager(web3, deployer) -> Account: + """Create a LocalAccount user. + + See limitations in `transfer_with_authorization`. + """ + return web3.eth.accounts[2] + + +@pytest.fixture +def vault_investor(web3, deployer, usdc: Contract) -> LocalAccount: + """Create a LocalAccount user. + + See limitations in `transfer_with_authorization`. + """ + account = Account.create() + stash = web3.eth.get_balance(deployer) + tx_hash = web3.eth.send_transaction({"from": deployer, "to": account.address, "value": stash // 2}) + assert_transaction_success_with_explanation(web3, tx_hash) + usdc.functions.transfer( + account.address, + 500 * 10**6, + ).transact({"from": deployer}) + web3.middleware_onion.add(construct_sign_and_send_raw_middleware_anvil(account)) + return account + + +@pytest.fixture() +def acceptance_message(web3: Web3) -> str: + """The message user needs to sign in order to deposit.""" + + # Generate the message user needs to sign in their wallet + signing_content = generate_acceptance_message( + 1, + datetime.datetime.utcnow(), + "https://example.com/terms-of-service", + random.randbytes(32), + ) + + return signing_content + + +@pytest.fixture() +def terms_of_service( + web3: Web3, + deployer: str, + acceptance_message: str, +) -> Contract: + """Deploy Terms of Service contract.""" + + tos = deploy_contract( + web3, + "terms-of-service/TermsOfService.json", + deployer, + ) + + new_version = 1 + new_hash = get_signing_hash(acceptance_message) + tx_hash = tos.functions.updateTermsOfService(new_version, new_hash).transact({"from": deployer}) + assert_transaction_success_with_explanation(web3, tx_hash) + return tos + + +@pytest.fixture() +def enzyme( + web3, + deployer, + mln, + weth, + usdc, + usdc_usd_mock_chainlink_aggregator, + mln_usd_mock_chainlink_aggregator +) -> EnzymeDeployment: + + deployment = EnzymeDeployment.deploy_core( + web3, + deployer, + mln, + weth, + ) + + deployment.add_primitive( + usdc, + usdc_usd_mock_chainlink_aggregator, + RateAsset.USD, + ) + + deployment.add_primitive( + mln, + mln_usd_mock_chainlink_aggregator, + RateAsset.USD, + ) + return deployment + + +@pytest.fixture() +def vault( + web3: Web3, + deployer: HexAddress, + asset_manager: HexAddress, + enzyme: EnzymeDeployment, + weth: Contract, + mln: Contract, + usdc: Contract, + terms_of_service: Contract, +) -> Vault: + """Deploy an Enzyme vault. + + - GuardV0 + - GuardedGenericAdapter + - TermsOfService + - TermedVaultUSDCPaymentForwarder + """ + + deployment = enzyme + + comptroller, vault = deployment.create_new_vault( + deployer, + usdc, + ) + + assert comptroller.functions.getDenominationAsset().call() == usdc.address + assert vault.functions.getTrackedAssets().call() == [usdc.address] + + # asset manager role is the trade executor + vault.functions.addAssetManagers([asset_manager]).transact({"from": deployer}) + + payment_forwarder = deploy_contract( + web3, + "TermedVaultUSDCPaymentForwarder.json", + deployer, + usdc.address, + comptroller.address, + terms_of_service.address, + ) + + guard = deploy_contract( + web3, + f"guard/GuardV0.json", + deployer, + ) + assert guard.functions.getInternalVersion().call() == 1 + + generic_adapter = deploy_contract( + web3, + f"GuardedGenericAdapter.json", + deployer, + deployment.contracts.integration_manager.address, + vault.address, + guard.address, + ) + + # When swap is performed, the tokens will land on the integration contract + # and this contract must be listed as the receiver. + # Enzyme will then internally move tokens to its vault from here. + guard.functions.allowReceiver(generic_adapter.address, "").transact({"from": deployer}) + + # Because Enzyme does not pass the asset manager address to through integration manager, + # we set the vault address itself as asset manager for the guard + tx_hash = guard.functions.allowSender(vault.address, "").transact({"from": deployer}) + assert_transaction_success_with_explanation(web3, tx_hash) + + assert generic_adapter.functions.getIntegrationManager().call() == deployment.contracts.integration_manager.address + assert comptroller.functions.getDenominationAsset().call() == usdc.address + assert vault.functions.getTrackedAssets().call() == [usdc.address] + assert vault.functions.canManageAssets(asset_manager).call() + assert guard.functions.isAllowedSender(vault.address).call() # vault = asset manager for the guard + + vault = Vault.fetch( + web3, + vault_address=vault.address, + payment_forwarder=payment_forwarder.address, + generic_adapter_address=generic_adapter.address, + ) + assert vault.guard_contract.address == guard.address + return vault + + +@pytest.fixture() +def payment_forwarder(vault: Vault) -> Contract: + return vault.payment_forwarder + + +@pytest.fixture() +def uniswap_v2_whitelisted( + vault: Vault, + uniswap_v2: UniswapV2Deployment, + weth: Contract, + usdc: Contract, + deployer: str, +) -> UniswapV2Deployment: + """Whitelist uniswap deployment and WETH-USDC pair on the guard.""" + guard = vault.guard_contract + guard.functions.whitelistUniswapV2Router(uniswap_v2.router.address, "").transact({"from": deployer}) + guard.functions.whitelistToken(usdc.address, "").transact({"from": deployer}) + guard.functions.whitelistToken(weth.address, "").transact({"from": deployer}) + return uniswap_v2 + + +def test_enzyme_usdc_payment_forwarder_transfer_with_authorization_and_terms( + web3: Web3, + deployer: HexAddress, + vault: Vault, + vault_investor: LocalAccount, + weth: Contract, + mln: Contract, + usdc_token: TokenDetails, + usdc_usd_mock_chainlink_aggregator: Contract, + payment_forwarder: Contract, + acceptance_message: str, + terms_of_service: Contract, +): + """Buy shares using USDC payment forwader.""" + + assert usdc_token.symbol == "USDC" + + assert payment_forwarder.functions.isTermsOfServiceEnabled().call() + + # Pre-check the terms of service offers us the terms to be + # signed as we expect + terms_of_service_2 = get_deployed_contract( + web3, + "terms-of-service/TermsOfService.json", + payment_forwarder.functions.termsOfService().call(), + ) + assert terms_of_service_2.functions.latestTermsOfServiceVersion().call() == 1 + message_hash = get_signing_hash(acceptance_message) + assert terms_of_service_2.functions.latestAcceptanceMessageHash().call() == message_hash + + # Sign terms of service + acceptance_hash, signature = sign_terms_of_service(vault_investor, acceptance_message) + assert len(acceptance_hash) == 32 + assert len(signature) == 65 + + # The transfer will expire in one hour + # in the test EVM timeline + block = web3.eth.get_block("latest") + valid_before = block["timestamp"] + 3600 + + # Construct bounded ContractFunction instance + # that will transact with MockEIP3009Receiver.deposit() + # smart contract function. + bound_func = make_eip_3009_transfer( + token=usdc_token, + from_=vault_investor, + to=payment_forwarder.address, + func=payment_forwarder.functions.buySharesOnBehalfUsingTransferWithAuthorizationAndTermsOfService, + value=500 * 10**6, # 500 USD, + valid_before=valid_before, + # uint256 minSharesQuantity, + # bytes32 termsOfServiceHash, + # bytes32 termsOfServiceSignature + extra_args=(1, acceptance_hash, signature), + authorization_type=EIP3009AuthorizationType.TransferWithAuthorization, + ) + + # Sign and broadcast the tx + tx_hash = bound_func.transact( + { + "from": vault_investor.address, + } + ) + + # Print out Solidity stack trace if this fails + assert_transaction_success_with_explanation(web3, tx_hash) + + assert payment_forwarder.functions.amountProxied().call() == 500 * 10**6 # Got sharesarder.address) + assert vault.get_gross_asset_value() == 500 * 10**6 # Vault has been funded + assert vault.vault.functions.balanceOf(vault_investor.address).call() == 500 * 10**18 # Got shares + assert vault.payment_forwarder.address == payment_forwarder.address + assert vault.payment_forwarder.functions.amountProxied().call() == 500 * 10**6 + assert terms_of_service.functions.canAddressProceed(vault_investor.address).call() + + +def test_enzyme_guarded_trade_uniswap_v2( + web3: Web3, + deployer: HexAddress, + asset_manager: HexAddress, + enzyme: EnzymeDeployment, + vault: Vault, + vault_investor: LocalAccount, + weth_token: TokenDetails, + mln: Contract, + usdc_token: TokenDetails, + usdc_usd_mock_chainlink_aggregator: Contract, + payment_forwarder: Contract, + acceptance_message: str, + terms_of_service: Contract, + uniswap_v2_whitelisted: UniswapV2Deployment, + weth_usdc_pair: Contract, +): + """Make a swap that goes through the call guard.""" + + # Sign terms of service + acceptance_hash, signature = sign_terms_of_service(vault_investor, acceptance_message) + + # The transfer will expire in one hour + # in the test EVM timeline + block = web3.eth.get_block("latest") + valid_before = block["timestamp"] + 3600 + + # Construct bounded ContractFunction instance + # that will transact with MockEIP3009Receiver.deposit() + # smart contract function. + bound_func = make_eip_3009_transfer( + token=usdc_token, + from_=vault_investor, + to=payment_forwarder.address, + func=payment_forwarder.functions.buySharesOnBehalfUsingTransferWithAuthorizationAndTermsOfService, + value=500 * 10**6, # 500 USD, + valid_before=valid_before, + extra_args=(1, acceptance_hash, signature), + authorization_type=EIP3009AuthorizationType.TransferWithAuthorization, + ) + + # Sign and broadcast the tx + tx_hash = bound_func.transact( + { + "from": vault_investor.address, + } + ) + + # Print out Solidity stack trace if this fails + assert_transaction_success_with_explanation(web3, tx_hash) + + assert payment_forwarder.functions.amountProxied().call() == 500 * 10**6 # Got shares + + assert vault.get_gross_asset_value() == 500 * 10**6 # Vault has been funded + + # Vault swaps USDC->ETH for both users + # Buy ETH worth of 200 USD + prepared_tx = prepare_swap( + enzyme, + vault, + uniswap_v2_whitelisted, + vault.generic_adapter, + usdc_token.contract, + weth_token.contract, + 200 * 10**6, # 200 USD + ) + + tx_hash = prepared_tx.transact({"from": asset_manager}) + assert_transaction_success_with_explanation(web3, tx_hash) + + # Bought ETH landed in the vault + assert weth_token.contract.functions.balanceOf(vault.address).call() == pytest.approx(0.12450087262998791 * 10**18) + + +def test_enzyme_guarded_unauthorised_approve( + web3: Web3, + deployer: HexAddress, + asset_manager: HexAddress, + enzyme: EnzymeDeployment, + vault: Vault, + usdc_token: TokenDetails, + usdc_usd_mock_chainlink_aggregator: Contract, + uniswap_v2_whitelisted: UniswapV2Deployment, +): + """Asset manager tries to initiate the transfer using GenericAdapter. + + - This is blocked by guard + + - transfer() call site is blocked by default, but we need to test for approve() + + """ + usdc_token.contract.functions.approve(vault.comptroller.address, 500 * 10**6).transact({"from": deployer}) + tx_hash = vault.comptroller.functions.buyShares(500 * 10**6, 1).transact({"from": deployer}) + assert_transaction_success_with_explanation(web3, tx_hash) + + # fmt: off + prepared_tx = prepare_approve( + enzyme, + vault, + vault.generic_adapter, + usdc_token.contract, + asset_manager, + 500 * 10**6, + ) + + with pytest.raises(TransactionAssertionError) as exc_info: + tx_hash = prepared_tx.transact({"from": asset_manager, "gas": 1_000_000}) + assert_transaction_success_with_explanation(web3, tx_hash) + + revert_reason = exc_info.value.revert_reason + assert "Approve address does not match" in revert_reason diff --git a/tests/guard/README.md b/tests/guard/README.md new file mode 100644 index 00000000..cb41bcd6 --- /dev/null +++ b/tests/guard/README.md @@ -0,0 +1,7 @@ +Tests for GuardV0 and SimpleVaultV0 prototype smart contracts. + +Integratio testse check that the vault correctly guards against trade execution faults (bad trades) on + +- Uniswap v2 +- Uniswap v3 +- 1delta \ No newline at end of file diff --git a/tests/guard/conftest.py b/tests/guard/conftest.py new file mode 100644 index 00000000..5871ed8e --- /dev/null +++ b/tests/guard/conftest.py @@ -0,0 +1 @@ +import pytest diff --git a/tests/guard/test_guard_simple_vault_uniswap_v2.py b/tests/guard/test_guard_simple_vault_uniswap_v2.py new file mode 100644 index 00000000..db8d27c2 --- /dev/null +++ b/tests/guard/test_guard_simple_vault_uniswap_v2.py @@ -0,0 +1,441 @@ +"""Check guard against Uniswap v2 trades. + +- Check Uniswap v2 access rights + +- Check general access rights on vaults and guards +""" + +import pytest +from eth_tester.exceptions import TransactionFailed +from web3 import Web3, EthereumTesterProvider +from web3._utils.events import EventLogErrorFlags +from web3.contract import Contract + +from eth_defi.abi import get_contract, get_deployed_contract, get_function_selector +from eth_defi.deploy import deploy_contract +from eth_defi.simple_vault.transact import encode_simple_vault_transaction +from eth_defi.token import create_token +from eth_defi.uniswap_v2.deployment import deploy_uniswap_v2_like, deploy_trading_pair, UniswapV2Deployment, FOREVER_DEADLINE +from eth_defi.uniswap_v2.pair import fetch_pair_details, PairDetails + + +@pytest.fixture +def tester_provider(): + return EthereumTesterProvider() + + +@pytest.fixture +def web3(tester_provider): + """Set up a local unit testing blockchain.""" + # https://web3py.readthedocs.io/en/stable/examples.html#contract-unit-tests-in-python + return Web3(tester_provider) + + +@pytest.fixture() +def deployer(web3) -> str: + """Deploy account. + + Do some account allocation for tests. + """ + return web3.eth.accounts[0] + + +@pytest.fixture() +def owner(web3) -> str: + return web3.eth.accounts[1] + + +@pytest.fixture() +def asset_manager(web3) -> str: + return web3.eth.accounts[2] + + +@pytest.fixture() +def third_party(web3) -> str: + return web3.eth.accounts[3] + + +@pytest.fixture() +def usdc(web3, deployer) -> Contract: + """Mock USDC token. + + Note that this token has 18 decimals instead of 6 of real USDC. + """ + token = create_token(web3, deployer, "USD Coin", "USDC", 100_000_000 * 10**6) + return token + + +@pytest.fixture() +def shitcoin(web3, deployer) -> Contract: + """Mock USDC token. + + Note that this token has 18 decimals instead of 6 of real USDC. + """ + token = create_token(web3, deployer, "Shitcoin", "SCAM", 1_000_000_000 * 10**18) + return token + + +@pytest.fixture() +def uniswap_v2(web3: Web3, usdc: Contract, deployer: str) -> UniswapV2Deployment: + """Deploy mock Uniswap v2.""" + return deploy_uniswap_v2_like(web3, deployer) + + +@pytest.fixture() +def vault( + web3: Web3, + usdc: Contract, + deployer: str, + owner: str, + asset_manager: str, + uniswap_v2: UniswapV2Deployment, +) -> Contract: + """Deploy mock Uniswap v2.""" + weth = uniswap_v2.weth + vault = deploy_contract(web3, "guard/SimpleVaultV0.json", deployer, asset_manager) + + assert vault.functions.owner().call() == deployer + vault.functions.initialiseOwnership(owner).transact({"from": deployer}) + assert vault.functions.owner().call() == owner + assert vault.functions.assetManager().call() == asset_manager + + guard = get_deployed_contract(web3, "guard/GuardV0.json", vault.functions.guard().call()) + assert guard.functions.owner().call() == owner + tx_hash = guard.functions.whitelistUniswapV2Router(uniswap_v2.router.address, "Allow Uniswap v2").transact({"from": owner}) + receipt = web3.eth.get_transaction_receipt(tx_hash) + + assert len(receipt["logs"]) == 2 + + # Check Uniswap router call sites was enabled in the receipt + call_site_events = guard.events.CallSiteApproved().process_receipt(receipt, errors=EventLogErrorFlags.Ignore) + router_selector = get_function_selector(uniswap_v2.router.functions.swapExactTokensForTokens) + assert call_site_events[0]["args"]["notes"] == "Allow Uniswap v2" + assert call_site_events[0]["args"]["selector"].hex() == router_selector.hex() + assert call_site_events[0]["args"]["target"] == uniswap_v2.router.address + + assert guard.functions.isAllowedCallSite(uniswap_v2.router.address, get_function_selector(uniswap_v2.router.functions.swapExactTokensForTokens)).call() + guard.functions.whitelistToken(usdc.address, "Allow USDC").transact({"from": owner}) + guard.functions.whitelistToken(weth.address, "Allow WETH").transact({"from": owner}) + assert guard.functions.callSiteCount().call() == 5 + return vault + + +@pytest.fixture() +def guard(web3: Web3, vault: Contract, uniswap_v2) -> Contract: + guard = get_deployed_contract(web3, "guard/GuardV0.json", vault.functions.guard().call()) + assert guard.functions.isAllowedCallSite(uniswap_v2.router.address, get_function_selector(uniswap_v2.router.functions.swapExactTokensForTokens)).call() + return guard + + +@pytest.fixture() +def weth(uniswap_v2) -> Contract: + return uniswap_v2.weth + + +@pytest.fixture() +def weth_usdc_pair(web3, uniswap_v2, weth, usdc, deployer) -> PairDetails: + pair_address = deploy_trading_pair( + web3, + deployer, + uniswap_v2, + weth, + usdc, + 10 * 10**18, # 10 ETH liquidity + 17_000 * 10**6, # 17000 USDC liquidity + ) + return fetch_pair_details(web3, pair_address) + + +@pytest.fixture() +def shitcoin_usdc_pair( + web3, + uniswap_v2, + shitcoin: Contract, + usdc: Contract, + deployer: str, +) -> PairDetails: + pair_address = deploy_trading_pair( + web3, + deployer, + uniswap_v2, + shitcoin, + usdc, + 5 * 10**18, + 10 * 10**6, + ) + return fetch_pair_details(web3, pair_address) + + +def test_vault_initialised( + owner: str, + asset_manager: str, + vault: Contract, + guard: Contract, + uniswap_v2: UniswapV2Deployment, + usdc: Contract, + weth: Contract, +): + """Vault and guard are initialised for the owner.""" + assert guard.functions.owner().call() == owner + assert vault.functions.assetManager().call() == asset_manager + assert guard.functions.isAllowedSender(asset_manager).call() is True + assert guard.functions.isAllowedWithdrawDestination(owner).call() is True + assert guard.functions.isAllowedWithdrawDestination(asset_manager).call() is False + assert guard.functions.isAllowedReceiver(vault.address).call() is True + + # We have accessed needed for a swap + assert guard.functions.callSiteCount().call() == 5 + assert guard.functions.isAllowedApprovalDestination(uniswap_v2.router.address) + assert guard.functions.isAllowedCallSite(uniswap_v2.router.address, get_function_selector(uniswap_v2.router.functions.swapExactTokensForTokens)).call() + assert guard.functions.isAllowedCallSite(usdc.address, get_function_selector(usdc.functions.approve)).call() + assert guard.functions.isAllowedCallSite(usdc.address, get_function_selector(usdc.functions.transfer)).call() + assert guard.functions.isAllowedAsset(usdc.address).call() + assert guard.functions.isAllowedAsset(weth.address).call() + + +def test_guard_can_trade_uniswap_v2( + uniswap_v2: UniswapV2Deployment, + weth_usdc_pair: PairDetails, + owner: str, + asset_manager: str, + deployer: str, + weth: Contract, + usdc: Contract, + vault: Contract, + guard: Contract, +): + """Asset manager can perform a swap.""" + usdc_amount = 10_000 * 10**6 + usdc.functions.transfer(vault.address, usdc_amount).transact({"from": deployer}) + + path = [usdc.address, weth.address] + + approve_call = usdc.functions.approve( + uniswap_v2.router.address, + usdc_amount, + ) + + target, call_data = encode_simple_vault_transaction(approve_call) + vault.functions.performCall(target, call_data).transact({"from": asset_manager}) + + trade_call = uniswap_v2.router.functions.swapExactTokensForTokens( + usdc_amount, + 0, + path, + vault.address, + FOREVER_DEADLINE, + ) + + target, call_data = encode_simple_vault_transaction(trade_call) + vault.functions.performCall(target, call_data).transact({"from": asset_manager}) + + assert weth.functions.balanceOf(vault.address).call() == 3696700037078235076 + + +def test_guard_token_in_not_approved( + uniswap_v2: UniswapV2Deployment, + weth_usdc_pair: PairDetails, + owner: str, + asset_manager: str, + deployer: str, + weth: Contract, + usdc: Contract, + vault: Contract, + guard: Contract, +): + """USDC not approved for the swap.""" + usdc_amount = 10_000 * 10**6 + usdc.functions.transfer(vault.address, usdc_amount).transact({"from": deployer}) + + path = [usdc.address, weth.address] + + trade_call = uniswap_v2.router.functions.swapExactTokensForTokens( + usdc_amount, + 0, + path, + vault.address, + FOREVER_DEADLINE, + ) + + with pytest.raises(TransactionFailed, match="execution reverted: TransferHelper: TRANSFER_FROM_FAILED"): + target, call_data = encode_simple_vault_transaction(trade_call) + vault.functions.performCall(target, call_data).transact({"from": asset_manager}) + + +def test_guard_token_in_not_approved( + uniswap_v2: UniswapV2Deployment, + weth_usdc_pair: PairDetails, + owner: str, + asset_manager: str, + deployer: str, + weth: Contract, + usdc: Contract, + vault: Contract, + guard: Contract, +): + """USDC not approved for the swap.""" + usdc_amount = 10_000 * 10**6 + usdc.functions.transfer(vault.address, usdc_amount).transact({"from": deployer}) + + path = [usdc.address, weth.address] + + trade_call = uniswap_v2.router.functions.swapExactTokensForTokens( + usdc_amount, + 0, + path, + vault.address, + FOREVER_DEADLINE, + ) + + with pytest.raises(TransactionFailed, match="execution reverted: TransferHelper: TRANSFER_FROM_FAILED"): + target, call_data = encode_simple_vault_transaction(trade_call) + vault.functions.performCall(target, call_data).transact({"from": asset_manager}) + + +def test_guard_pair_not_approved( + uniswap_v2: UniswapV2Deployment, + shitcoin_usdc_pair: PairDetails, + owner: str, + asset_manager: str, + deployer: str, + usdc: Contract, + shitcoin: Contract, + vault: Contract, + guard: Contract, +): + """Don't allow trading in scam token. + + - Prevent exit scam through non-liquid token + """ + + usdc_amount = 10_000 * 10**6 + usdc.functions.transfer(vault.address, usdc_amount).transact({"from": deployer}) + + path = [usdc.address, shitcoin.address] + + approve_call = usdc.functions.approve( + uniswap_v2.router.address, + usdc_amount, + ) + + target, call_data = encode_simple_vault_transaction(approve_call) + vault.functions.performCall(target, call_data).transact({"from": asset_manager}) + + trade_call = uniswap_v2.router.functions.swapExactTokensForTokens( + usdc_amount, + 0, + path, + vault.address, + FOREVER_DEADLINE, + ) + + with pytest.raises(TransactionFailed, match="execution reverted: Token out not allowed"): + target, call_data = encode_simple_vault_transaction(trade_call) + vault.functions.performCall(target, call_data).transact({"from": asset_manager}) + + +def test_owner_can_withdraw( + owner: str, + asset_manager: str, + deployer: str, + weth: Contract, + usdc: Contract, + vault: Contract, + guard: Contract, +): + """Owner can withdraw.""" + usdc_amount = 10_000 * 10**6 + usdc.functions.transfer(vault.address, usdc_amount).transact({"from": deployer}) + + transfer_call = usdc.functions.transfer( + owner, + usdc_amount, + ) + + target, call_data = encode_simple_vault_transaction(transfer_call) + vault.functions.performCall(target, call_data).transact({"from": asset_manager}) + + +def test_guard_unauthorized_withdraw( + owner: str, + asset_manager: str, + deployer: str, + weth: Contract, + usdc: Contract, + vault: Contract, + guard: Contract, +): + """Others cannot withdraw.""" + usdc_amount = 10_000 * 10**6 + usdc.functions.transfer(vault.address, usdc_amount).transact({"from": deployer}) + + transfer_call = usdc.functions.transfer( + asset_manager, + usdc_amount, + ) + + with pytest.raises(TransactionFailed, match="execution reverted: Receiver address does not match"): + target, call_data = encode_simple_vault_transaction(transfer_call) + vault.functions.performCall(target, call_data).transact({"from": asset_manager}) + + +def test_guard_unauthorized_approve( + owner: str, + asset_manager: str, + deployer: str, + weth: Contract, + usdc: Contract, + vault: Contract, + guard: Contract, +): + """Cannot approve unauthorized destination.""" + usdc_amount = 10_000 * 10**6 + usdc.functions.transfer(vault.address, usdc_amount).transact({"from": deployer}) + + transfer_call = usdc.functions.approve( + asset_manager, + usdc_amount, + ) + + with pytest.raises(TransactionFailed, match="execution reverted: Approve address does not match"): + target, call_data = encode_simple_vault_transaction(transfer_call) + vault.functions.performCall(target, call_data).transact({"from": asset_manager}) + + +def test_guard_third_party_trade( + uniswap_v2: UniswapV2Deployment, + weth_usdc_pair: PairDetails, + owner: str, + asset_manager: str, + third_party: str, + deployer: str, + weth: Contract, + usdc: Contract, + vault: Contract, + guard: Contract, +): + """Third party cannot initiate a trade.""" + usdc_amount = 10_000 * 10**6 + usdc.functions.transfer(vault.address, usdc_amount).transact({"from": deployer}) + + path = [usdc.address, weth.address] + + approve_call = usdc.functions.approve( + uniswap_v2.router.address, + usdc_amount, + ) + + target, call_data = encode_simple_vault_transaction(approve_call) + vault.functions.performCall(target, call_data).transact({"from": asset_manager}) + + trade_call = uniswap_v2.router.functions.swapExactTokensForTokens( + usdc_amount, + 0, + path, + vault.address, + FOREVER_DEADLINE, + ) + + with pytest.raises(TransactionFailed, match="execution reverted: Sender not allowed"): + target, call_data = encode_simple_vault_transaction(trade_call) + vault.functions.performCall(target, call_data).transact({"from": third_party}) diff --git a/tests/test_trace.py b/tests/test_trace.py index 521f6910..0aea081c 100644 --- a/tests/test_trace.py +++ b/tests/test_trace.py @@ -82,7 +82,7 @@ def test_trace_transaction_simple(web3, deployer): # use ABI data from deployed contracts to enrich the output trace_output = print_symbolic_trace(get_or_create_contract_registry(web3), trace_data) - assert "CALL: RevertTest" in trace_output + assert "revert1()" in trace_output def test_trace_transaction_nested(web3, deployer):